Index: .reviewboardrc
===================================================================
--- /branch/mouse_project/YJX_Project/.reviewboardrc	(nonexistent)
+++ /branch/mouse_project/YJX_Project/.reviewboardrc	(working copy)
@@ -0,0 +1 @@
+REVIEWBOARD_URL = "http://47.102.118.39/reviews"
REPOSITORY = "YC1021S"
REPOSITORY_TYPE = "svn"
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/Data Rom list.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data Rom list.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data Rom list.dat	(working copy)
@@ -0,0 +1,3015 @@
+04 
+00
+11 
+01
+00 
+10
+02 
+11
+24
+00 
+01 
+00 
+00
+36 
+01 
+61
+09
+00
+00
+0a
+00
+01
+00
+09
+09
+00
+01
+35
+03
+19
+11
+24
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+11
+35
+03
+19
+00
+11
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+00
+09
+35
+08
+35
+06
+19
+11
+24
+09
+01
+00
+09
+00
+0d
+35
+0f
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+13
+35
+03
+19
+00
+11
+09
+01
+00
+25
+16
+59 
+69 
+43 
+68 
+69 
+70
+20 
+42 
+6c 
+75 
+65 
+74 
+6f 
+6f 
+74 
+68 
+20 
+4d 
+6f 
+75 
+73 
+65
+09
+01
+01
+25
+05
+4d
+6f
+75
+73
+65
+09
+01
+02
+25
+06
+59 
+69 
+43 
+68 
+69 
+70
+09
+02
+00
+09
+01
+00
+09
+02
+01
+09
+01
+11
+09
+02
+02
+08
+80
+09
+02
+03
+08
+21
+09
+02
+04
+28
+01
+09
+02
+05
+28
+01
+09
+02
+06
+35
+81
+35
+7f
+08
+22
+25
+7b
+05
+01
+09
+02
+a1
+01
+85
+02
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+08
+15
+00
+25
+01
+75
+01
+95
+08
+81
+02
+05
+01
+09
+30
+09
+31
+16
+01
+f8
+26
+ff
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+75
+08
+95
+01
+81
+06
+c0
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+75
+10
+95
+02
+15
+01
+26
+8c
+02
+19
+01
+2a
+8c
+02
+81
+60
+c0
+06
+00
+ff
+09
+01
+a1
+01
+85
+10
+75
+08
+95
+06
+15
+00
+26
+ff
+00
+09
+01
+81
+00
+09
+01
+91
+00
+c0
+09
+02
+07
+35
+08
+35
+06
+09
+04
+09
+09
+01
+00
+09
+02
+08
+28
+00
+09
+02
+09
+28
+01
+09
+02
+0a
+28
+01
+09
+02
+0b
+09
+01
+00
+09
+02
+0c
+09
+0c
+80
+09
+02
+0d
+28
+00
+09
+02
+0e
+28
+01
+04 
+10
+02 
+12
+00 
+01
+00 
+00
+01
+00 
+01 
+00 
+01
+36 
+00 
+5a
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02 
+00
+09 
+01 
+03
+09 
+02 
+01
+09 
+0a 
+5c
+09 
+02 
+02
+09 
+00 
+01
+09 
+02 
+03
+09 
+01 
+29
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+00
+00
+01 
+00 
+01
+00 
+01 
+00 
+01
+36 
+00 
+5a
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+00
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+00
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03 
+11
+01 
+00
+03 
+01
+00 
+00 
+01 
+00 
+02
+36 
+00 
+2f
+09
+00
+00
+0a
+00
+01
+00
+02
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+01
+00
+25
+09
+53
+50
+50
+20
+73
+01
+00
+02
+00
+28
+02
+00
+18 
+02
+00
+02
+03
+28
+01
+0a
+03
+00
+02
+00
+2a
+14
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00 
+04
+00
+02
+03
+28
+01
+02
+05
+00
+02
+01
+2a
+02
+c2
+03
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+08
+00
+02
+00
+28
+02
+01
+18
+09
+00
+02
+03
+28
+01
+20
+0a
+00
+02
+05
+2a
+00
+0b
+00
+02
+02
+29
+02
+00
+00
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+29
+2a
+06
+59
+69
+43
+68
+69
+70
+0f
+00
+02
+03
+28
+01
+02
+10
+00
+02
+50
+2a
+07
+02
+35
+12
+22
+aa
+01
+00
+11
+00
+02
+00
+28
+02
+0f
+18
+12
+00
+02
+03
+28
+01
+02
+13
+00
+02
+19
+2a
+01
+33
+14
+00
+02
+02
+29
+02
+00
+00
+15
+00
+02
+00
+28
+02
+12
+18
+16
+00
+02
+03
+28
+01
+06
+17
+00
+02
+4e
+2a
+01
+01
+18
+00
+02
+03
+28
+01
+1a
+19
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+1a
+00
+02
+02
+29
+02
+00
+00
+1b
+00
+02
+08
+29
+02
+01
+01
+1c
+00
+02
+03
+28
+01
+0a
+1d
+00
+02
+4b
+2a
+45
+05
+01
+09
+02
+a1
+01
+85
+01
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+08
+15
+00
+25
+01
+75
+01
+95
+08
+81
+02
+05
+01
+09
+30
+09
+31
+16
+01
+f8
+26
+ff
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+1e
+00
+02
+03
+28
+01
+1a
+1f
+00
+02
+33
+2a
+08
+00
+00
+00
+00
+00
+00
+00
+00
+20
+00
+02
+02
+29
+02
+00
+00
+21
+00
+02
+03
+28
+01
+02
+22
+00
+02
+4a
+2a
+04
+01
+01
+00
+03
+23
+00
+02
+03
+28
+01
+04
+24
+00
+02
+4c
+2a
+00
+00
+00
+3f
+05
+01
+09
+06
+a1
+01
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+75
+01
+95
+08
+81
+02
+95
+01
+75
+08
+81
+01
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+01
+95
+06
+75
+08
+15
+00
+25
+68
+05
+07
+19
+00
+29
+68
+81
+00
+c0
+c3
+05
+01
+09
+02
+a1
+01
+85
+01
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+05
+15
+00
+25
+01
+95
+05
+75
+01
+81
+02
+95
+01
+75
+03
+81
+01
+05
+01
+09
+30
+09
+31
+16
+01
+F8
+26
+FF
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+05
+01
+09
+80
+a1
+01
+85
+02
+05
+01
+19
+81
+29
+83
+15
+00
+25
+01
+95
+03
+75
+01
+81
+06
+95
+01
+75
+05
+81
+01
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+26
+80
+03
+19
+00
+2a
+80
+03
+75
+10
+95
+01
+81
+00
+c0
+06
+bc
+ff
+09
+88
+a1
+01
+85
+04
+19
+00
+2a
+ff
+00
+15
+00
+26
+ff
+00
+75
+08
+95
+01
+81
+00
+c0
+06
+00
+ff
+09
+0e
+a1
+01
+85
+BA
+95
+1f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+91
+02
+85
+BA
+95
+1f
+75
+08
+26
+ff
+00
+15
+00
+09
+01
+81
+02
+C0
+3b
+09
+02
+3b
+00
+02
+01
+00
+a0
+32
+09
+04
+00
+00
+01
+03
+01
+01
+00
+09
+21
+00
+02
+00
+01
+22
+3f
+00
+07
+05
+81
+03
+40
+00
+02
+09
+04
+01
+00
+01
+03
+01
+02
+00
+09
+21
+00
+02
+00
+01
+22
+c3
+00
+07
+05
+82
+03
+40
+00
+02
+01
+00
+02
+00
+28
+02
+01
+18
+02
+00
+02
+03
+28
+01
+20
+03
+00
+02
+05
+2a
+01
+00
+04
+00
+02
+02
+29
+02
+00
+00
+05
+00
+02
+00
+28
+02
+00
+18
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+00
+2a
+13
+43
+68
+69
+70
+73
+65
+61
+2d
+42
+4c
+45
+20
+20
+20
+20
+20
+20
+20
+20
+08
+00
+02
+03
+28
+01
+02
+09
+00
+02
+01
+2a
+02
+c1
+03
+0a
+00
+02
+03
+28
+01
+02
+0b
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+50
+2a
+07
+02
+8a
+24
+66
+82
+01
+00
+0f
+00
+02
+00
+28
+02
+12
+18
+10
+00
+02
+03
+28
+01
+06
+11
+00
+02
+4e
+2a
+01
+01
+12
+00
+02
+03
+28
+01
+12
+13
+00
+02
+4d
+2a
+02
+00
+00
+14
+00
+02
+02
+29
+02
+00
+00
+15
+00
+02
+08
+29
+02
+02
+01
+16
+00
+02
+03
+28
+01
+12
+17
+00
+02
+4d
+2a
+02
+00
+00
+18
+00
+02
+02
+29
+02
+00
+00
+19
+00
+02
+08
+29
+02
+03
+01
+1a
+00
+02
+03
+28
+01
+02
+1b
+00
+02
+4b
+2a
+58
+05
+0c
+09
+01
+a1
+01
+85
+02
+15
+00
+25
+01
+75
+01
+95
+0b
+09
+ea
+09
+e9
+0a
+ae
+01
+09
+30
+09
+e2
+0a
+23
+02
+0a
+21
+02
+0a
+b1
+01
+09
+b8
+09
+b6
+09
+cd
+09
+b5
+81
+02
+c0
+05
+01
+09
+06
+a1
+01
+85
+03
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+75
+01
+95
+08
+81
+02
+75
+08
+95
+01
+15
+00
+25
+f4
+05
+07
+19
+00
+29
+f4
+81
+00
+c0
+1c
+00
+02
+03
+28
+01
+02
+1d
+00
+02
+4a
+2a
+04
+11
+01
+00
+01
+1e
+00
+02
+03
+28
+01
+04
+1f
+00
+02
+4c
+2a
+01
+00
+20
+00
+02
+00
+28
+02
+0f
+18
+21
+00
+02
+03
+28
+01
+12
+22
+00
+02
+19
+2a
+01
+63
+23
+00
+02
+02
+29
+02
+00
+00
+00
+00
+04
+00
+11
+01
+00
+10
+02
+11
+24
+00
+01
+00
+00
+36
+01
+6c
+09
+00
+00
+0a
+00
+01
+00
+00
+09
+00
+01
+35
+03
+19
+11
+24
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+11
+35
+03
+19
+00
+11
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+00
+09
+35
+08
+35
+06
+19
+11
+24
+09
+01
+00
+09
+00
+0d
+35
+0f
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+13
+35
+03
+19
+00
+11
+09
+01
+00
+25
+12
+59
+69
+43
+68
+69
+70
+20
+42
+54
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+09
+01
+01
+25
+0c
+42
+6c
+75
+65
+74
+6f
+6f
+74
+68
+20
+4b
+42
+09
+01
+02
+25
+06
+59
+69
+43
+68
+69
+70
+09
+02
+00
+09
+01
+00
+09
+02
+01
+09
+01
+11
+09
+02
+02
+08
+40
+09
+02
+03
+08
+00
+09
+02
+04
+28
+01
+09
+02
+05
+28
+01
+09
+02
+06
+35
+7D
+35
+7B
+08
+22
+25
+77
+05
+01
+09
+06
+a1
+01
+85
+01
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+26
+ff
+00
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+25
+01
+75
+01
+95
+0b
+0a
+23
+02
+0a
+21
+02
+0a
+b1
+01
+09
+b8
+09
+b6
+09
+cd
+09
+b5
+09
+e2
+09
+ea
+09
+e9
+09
+30
+0a
+ae
+01
+81
+02
+95
+01
+75
+0d
+81
+03
+c0
+09
+02
+07
+35
+08
+35
+06
+09
+04
+09
+09
+01
+00
+09
+02
+08
+28
+00
+09
+02
+09
+28
+01
+09
+02
+0a
+28
+01
+09
+02
+0b
+09
+01
+00
+09
+02
+0c
+09
+0c
+80
+09
+02
+0d
+28
+01
+09
+02
+0e
+28
+01
+09
+02
+0f
+09
+06
+40
+09
+02
+10
+09
+03
+20
+04
+10
+02
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+5A
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+2c
+09
+02
+03
+09
+01
+1b
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+00
+02 
+13
+00 
+02
+00 
+02 
+13
+00 
+01
+00 
+02 
+13
+00 
+04
+00 
+02 
+13
+00 
+06
+00 
+02 
+13
+00 
+05
+00 
+02 
+13
+00 
+00
+00 
+02 
+17
+00 
+00
+28 
+02 
+17
+00 
+00
+00
+05 
+03 
+00
+02
+00 
+05 
+03 
+00
+01
+00 
+05 
+03 
+00
+08
+00 
+05 
+03 
+00
+0a
+00 
+05 
+03 
+00
+09
+00 
+05 
+03 
+00
+00
+00 
+0a 
+01 
+00
+00
+28 
+0a 
+01 
+00
+00
+00 
+03
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+52
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+06
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03
+11
+01
+00
+03
+01
+00
+00
+01
+00
+03
+36
+00
+46
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+02
+0a
+00
+00
+00
+00
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+01
+00
+25
+0a
+53
+50
+50
+20
+73
+6c
+61
+76
+65
+00
+00
+00
+01
+00
+04
+00
+11
+01
+00
+10
+02
+11
+24
+00
+01
+00
+02
+36
+01
+97
+09
+00
+00
+0a
+00
+01
+00
+02
+09
+00
+01
+35
+03
+19
+11
+24
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+11
+35
+03
+19
+00
+11
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+00
+09
+35
+08
+35
+06
+19
+11
+24
+09
+01
+00
+09
+00
+0d
+35
+0f
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+13
+35
+03
+19
+00
+11
+09
+01
+00
+25
+05
+42
+54
+20
+4b
+42
+09
+01
+01
+25
+05
+42
+54
+20
+4b
+42
+09
+01
+02
+25
+06
+59
+69
+43
+68
+69
+70
+09
+02
+00
+09
+01
+00
+09
+02
+01
+09
+01
+11
+09
+02
+02
+08
+00
+09
+02
+03
+08
+21
+09
+02
+04
+28
+01
+09
+02
+05
+28
+01
+09
+02
+06
+35
+bc
+35
+ba
+08
+22
+25
+b6
+05
+01
+09
+02
+a1
+01
+85
+02
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+05
+15
+00
+25
+01
+95
+05
+75
+01
+81
+02
+95
+01
+75
+03
+81
+01
+05
+01
+09
+30
+09
+31
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+03
+81
+06
+c0
+c0
+05
+01
+09
+06
+a1
+01
+85
+01
+05
+07
+75
+08
+95
+02
+81
+03
+15
+00
+26
+ff
+00
+75
+08
+95
+06
+19
+00
+29
+ff
+81
+00
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+26
+80
+03
+19
+00
+2a
+80
+03
+75
+10
+95
+01
+81
+00
+c0
+05
+01
+09
+05
+a1
+01
+85
+04
+05
+01
+26
+ff
+00
+46
+ff
+00
+09
+30
+09
+31
+09
+32
+09
+35
+75
+08
+95
+04
+81
+02
+05
+09
+19
+01
+29
+10
+95
+10
+75
+01
+81
+02
+05
+01
+09
+39
+15
+01
+25
+08
+35
+00
+46
+3b
+10
+66
+0e
+00
+75
+04
+95
+01
+81
+42
+75
+0c
+95
+01
+81
+03
+c0
+09
+02
+07
+35
+08
+35
+06
+09
+04
+09
+09
+01
+00
+09
+02
+08
+28
+00
+09
+02
+09
+28
+01
+09
+02
+0a
+28
+00
+09
+02
+0b
+09
+01
+00
+09
+02
+0c
+09
+1f
+40
+09
+02
+0d
+28
+01
+09
+02
+0e
+28
+00
+09
+02
+0f
+09
+06
+40
+09
+02
+10
+09
+03
+20
+04
+10
+02
+12
+00
+01
+00
+00
+01
+00
+01
+00
+03
+36
+00
+68
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+00
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+32
+32
+09
+02
+03
+09
+00
+01
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+00
Index: YJX_Only24g/FCC_1021S/Data/Ble shutter ATT list.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/Ble shutter ATT list.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/Ble shutter ATT list.txt	(working copy)
@@ -0,0 +1,382 @@
+01
+00
+02
+00
+28
+02
+01
+18
+02
+00
+02
+03
+28
+01
+20
+03
+00
+02
+05
+2a
+01
+00
+04
+00
+02
+02
+29
+02
+00
+00
+05
+00
+02
+00
+28
+02
+00
+18
+06
+00
+02
+03
+28
+01
+02
+07
+00
+02
+00
+2a
+13
+43
+68
+69
+70
+73
+65
+61
+2d
+42
+4c
+45
+20
+20
+20
+20
+20
+20
+20
+20
+08
+00
+02
+03
+28
+01
+02
+09
+00
+02
+01
+2a
+02
+c8
+00
+0a
+00
+02
+03
+28
+01
+02
+0b
+00
+02
+04
+2a
+08
+06
+00
+06
+00
+64
+00
+2c
+01
+0c
+00
+02
+00
+28
+02
+0a
+18
+0d
+00
+02
+03
+28
+01
+02
+0e
+00
+02
+50
+2a
+07
+02
+8a
+24
+66
+82
+01
+00
+0f
+00
+02
+00
+28
+02
+12
+18
+10
+00
+02
+03
+28
+01
+06
+11
+00
+02
+4e
+2a
+01
+01
+12
+00
+02
+03
+28
+01
+12
+13
+00
+02
+4d
+2a
+02
+00
+00
+14
+00
+02
+02
+29
+02
+00
+00
+15
+00
+02
+08
+29
+02
+02
+01
+16
+00
+02
+03
+28
+01
+12
+17
+00
+02
+4d
+2a
+02
+00
+00
+18
+00
+02
+02
+29
+02
+00
+00
+19
+00
+02
+08
+29
+02
+03
+01
+1a
+00
+02
+03
+28
+01
+02
+1b
+00
+02
+4b
+2a
+58
+05
+0c
+09
+01
+a1
+01
+85
+02
+15
+00
+25
+01
+75
+01
+95
+0b
+09
+ea
+09
+e9
+0a
+ae
+01
+09
+30
+09
+e2
+0a
+23
+02
+0a
+21
+02
+0a
+b1
+01
+09
+b8
+09
+b6
+09
+cd
+09
+b5
+81
+02
+c0
+05
+01
+09
+06
+a1
+01
+85
+03
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+75
+01
+95
+08
+81
+02
+75
+08
+95
+01
+15
+00
+25
+f4
+05
+07
+19
+00
+29
+f4
+81
+00
+c0
+1c
+00
+02
+03
+28
+01
+02
+1d
+00
+02
+4a
+2a
+04
+11
+01
+00
+01
+1e
+00
+02
+03
+28
+01
+04
+1f
+00
+02
+4c
+2a
+01
+00
+20
+00
+02
+00
+28
+02
+0f
+18
+21
+00
+02
+03
+28
+01
+12
+22
+00
+02
+19
+2a
+01
+00
+23
+00
+02
+02
+29
+02
+00
+00
+00
+00
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/Data/DeleteNote.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/DeleteNote.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/DeleteNote.pl	(working copy)
@@ -0,0 +1,27 @@
+
+#print "输入注释的标志:";
+
+#chomp ($text = <STDIN>);
+
+#print $text;
+
+###########################
+#该脚本的功能为删除，#为注释的注释代码。
+
+$Sched_path=$ARGV[0];
+
+open(Sched,$Sched_path)||die("Cannot open files\n");
+@sched=<Sched>;
+close(Sched);
+
+foreach $sched(@sched)
+{
+	$sched_begin = $sched;
+	@Sched = split(/[#]+/, $sched);
+	chomp @Sched[0];
+	$sched = @Sched[0]."\n";
+}
+
+open(Sched,">$Sched_path")||die("Cannot open files\n");
+print Sched @sched;
+close(Sched);
Index: YJX_Only24g/FCC_1021S/Data/GATT SHUTTER.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/GATT SHUTTER.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/GATT SHUTTER.txt	(working copy)
@@ -0,0 +1,114 @@
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_shutter_le_att_list:
+
+#Primary service: GATT
+01 00 02 00 28 02 01 18
+#Characteristic: Service changed
+02 00 02 03 28 01 20
+03 00 02 05 2a 01 00
+#Client Characteristic Configuration
+04 00 02 02 29 02 00 00
+
+#Primary Service: GAP
+05 00 02 00 28 02 00 18 
+#Characteristic: Device Name
+06 00 02 03 28 01 02 
+07 00 02 00 2a 13 43 68 69 70 73 65 61 2d 42 4c 45 20 20 20 20 20 20 20 20
+#Characteristic: Appearance
+08 00 02 03 28 01 02 
+09 00 02 01 2a 02 c8 00 
+#Characteristic: Peripheral Preferred Connection Parameters
+0a 00 02 03 28 01 02
+0b 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary Service: Device Information
+0c 00 02 00 28 02 0a 18 
+#Characteristic: pnp id
+0d 00 02 03 28 01 02
+0e 00 02 50 2a 07 02 8a 24 66 82 01 00
+
+#Primary service: HID
+0f 00 02 00 28 02 12 18
+#Characteristic:Protocol mode
+10 00 02 03 28 01 06
+11 00 02 4e 2a 01 01
+#Characteristic: hid report
+12 00 02 03 28 01 12   
+13 00 02 4d 2a 02 00	00	#hid report	led handle write
+14 00 02 02 29 02 00 00	
+15 00 02 08 29 02 02 01	#Report ID: 1	Report Type: Input
+#Characteristic:hid report
+16 00 02 03 28 01 12   
+17 00 02 4d 2a 02 00	00	#hid report	led handle write
+18 00 02 02 29 02 00 00	
+19 00 02 08 29 02 03 01	#Report ID: 1	Report Type: Input
+#Characteristic:Report map
+1a 00 02 03 28 01 02
+1b 00 02 4b 2a 58
+
+05 0c	#USAGE_PAGE 
+09 01	#USAGE (Consumer Control)
+a1 01	#COLLECTION (Application (mouse, keyboard))
+
+85 02	#REPORT_ID 
+15 00 	#LOGICAL_MINIMUM (0)                 
+25 01     	#LOGICAL_MAXIMUM (1)                 
+75 01     	#REPORT_SIZE (1)                     
+95 0b     	#REPORT_COUNT (11)
+09 ea     	#USAGE (Volume Down)                 
+09 e9     	#USAGE (Volume Up)                   
+0a ae 01	#VIRTUAL KEYBOARD
+09 30  	#USAGE (Power)                      
+09 e2     	#USAGE (Mute)                        
+0a 23 02  	#USAGE (AC Home)                     
+0a 21 02  	#USAGE (AC Search)                   
+0a b1 01  	#USAGE (433)                         
+09 b8     	#USAGE (Eject)                       
+09 b6     	#USAGE (Scan Previous Track)         
+09 cd     	#USAGE (205)                         
+09 b5     	#USAGE (Scan Next Track)             
+81 02     	#INPUT (Data, Variable, Absolute)   
+c0        	#END_COLLECTION                      
+
+
+05 01 	#USAGE_PAGE 
+09 06 	#USAGE
+a1 01 	#COLLECTION (Application (mouse, keyboard))
+85 03 
+05 07 
+19 e0 
+29 e7 
+15 00 
+25 01 
+75 01 
+95 08 
+81 02 
+75 08 
+95 01 
+15 00 
+25 f4 
+05 07 
+19 00 
+29 f4 
+81 00 
+c0		#END_COLLECTION
+
+
+#Characteristic:Hid information
+1c 00 02 03 28 01 02
+1d 00 02 4a 2a 04 11 01 00 01        
+#Characteristic:
+1e 00 02 03 28 01 04
+1f 00 02 4c 2a 01 00
+
+#Primary Service: BAS
+20 00 02 00 28 02 0f 18 
+#Characteristic: Battery Level
+21 00 02 03 28 01 12 
+22 00 02 19 2a 01 00 
+#Client Characteristic Configuration
+23 00 02 02 29 02 00 00 
+
+#End of Attribute list
+00 00
+
Index: YJX_Only24g/FCC_1021S/Data/classic shutter SDP.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/classic shutter SDP.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/classic shutter SDP.txt	(working copy)
@@ -0,0 +1,487 @@
+04
+00
+11
+01
+00
+10
+02
+11
+24
+00
+01
+00
+00
+36
+01
+6c
+09
+00
+00
+0a
+00
+01
+00
+00
+09
+00
+01
+35
+03
+19
+11
+24
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+11
+35
+03
+19
+00
+11
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+00
+09
+35
+08
+35
+06
+19
+11
+24
+09
+01
+00
+09
+00
+0d
+35
+0f
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+13
+35
+03
+19
+00
+11
+09
+01
+00
+25
+12
+59
+69
+43
+68
+69
+70
+20
+42
+54
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+09
+01
+01
+25
+0c
+42
+6c
+75
+65
+74
+6f
+6f
+74
+68
+20
+4b
+42
+09
+01
+02
+25
+06
+59
+69
+43
+68
+69
+70
+09
+02
+00
+09
+01
+00
+09
+02
+01
+09
+01
+11
+09
+02
+02
+08
+40
+09
+02
+03
+08
+00
+09
+02
+04
+28
+01
+09
+02
+05
+28
+01
+09
+02
+06
+35
+7D
+35
+7B
+08
+22
+25
+77
+05
+01
+09
+06
+a1
+01
+85
+01
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+26
+ff
+00
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+25
+01
+75
+01
+95
+0b
+0a
+23
+02
+0a
+21
+02
+0a
+b1
+01
+09
+b8
+09
+b6
+09
+cd
+09
+b5
+09
+e2
+09
+ea
+09
+e9
+09
+30
+0a
+ae
+01
+81
+02
+95
+01
+75
+0d
+81
+03
+c0
+09
+02
+07
+35
+08
+35
+06
+09
+04
+09
+09
+01
+00
+09
+02
+08
+28
+00
+09
+02
+09
+28
+01
+09
+02
+0a
+28
+01
+09
+02
+0b
+09
+01
+00
+09
+02
+0c
+09
+0c
+80
+09
+02
+0d
+28
+01
+09
+02
+0e
+28
+01
+09
+02
+0f
+09
+06
+40
+09
+02
+10
+09
+03
+20
+04
+10
+02
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+5A
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+2c
+09
+02
+03
+09
+01
+1b
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+00
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/Data/hci command.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/hci command.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/hci command.txt	(working copy)
@@ -0,0 +1,77 @@
+
+uart HCI boot 指令格式
+加密芯片：
+
+load bt code:code length is N,code offset is M
+0x15	:	1byte
+01	:	1byte
+12	:	1byte
+FC	:	1byte
+0x11	:	1byte
+iv	:	16byte
+check sum:	1byte
+
+
+load bt code:code length is N,code offset is M
+N+8	:	1byte
+01	:	1byte
+13	:	1byte
+FC	:	1byte
+N+4	:	1byte
+M-6	:	2byte low/high
+N	:	1byte
+code	:	Nbyte
+check sum:	1byte
+
+load memory config:memory size is N
+N+7	:	1byte
+01	:	1byte
+10	:	1byte
+FC	:	1byte
+N+3	:	1byte
+N	:	1byte
+ADDR	:	2byte high/low
+config data:	Nbyte
+
+END
+25	:	1byte
+01	:	1byte
+04	:	1byte
+FC	:	1byte
+21	:	1byte
+4000-4020:	20byte
+check sum:	1byte
+
+
+
+uart HCI boot 指令格式
+不加密芯片：
+load bt code:code length is N,code offset is M
+N+8	:	1byte
+01	:	1byte
+03	:	1byte
+FC	:	1byte
+N+4	:	1byte
+M-6	:	2byte low/high
+N	:	1byte
+code	:	Nbyte
+check sum:	1byte
+
+load memory config:memory size is N
+N+7	:	1byte
+01	:	1byte
+10	:	1byte
+FC	:	1byte
+N+3	:	1byte
+N	:	1byte
+ADDR	:	2byte high/low
+config data:	Nbyte
+
+END
+25	:	1byte
+01	:	1byte
+04	:	1byte
+FC	:	1byte
+21	:	1byte
+4000-4020:	20byte
+check sum:	1byte
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/Data/sdp SHUTTER.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/sdp SHUTTER.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/sdp SHUTTER.txt	(working copy)
@@ -0,0 +1,474 @@
+mem_shutter_uuid_list:
+#uuids
+04 0011 0100 1002 1124
+
+
+#handle
+00010000
+
+#total length
+36
+01
+6c
+
+09
+00
+00
+0a
+00
+01
+00
+00
+09
+00
+01
+35
+03
+19
+11
+24
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+11
+35
+03
+19
+00
+11
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+00
+09
+35
+08
+35
+06
+19
+11
+24
+09
+01
+00
+09
+00
+0d
+35
+0f
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+13
+35
+03
+19
+00
+11
+09
+01
+00
+25
+12
+59 69 43 68 69 70#YiChip
+20
+42
+54
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+09
+01
+01
+25
+0c
+42
+6c
+75
+65
+74
+6f
+6f
+74
+68
+20
+4b
+42
+09
+01
+02
+25
+06
+59 69 43 68 69 70#YiChip
+09
+02
+00
+09
+01
+00
+09
+02
+01
+09
+01
+11
+09
+02
+02
+08
+40
+09
+02
+03
+08
+00
+09
+02
+04
+28
+01
+09
+02
+05
+28
+01
+09
+02
+06
+35
+7D
+35
+7B
+08
+22
+25
+77
+05
+01
+09
+06
+a1
+01
+85
+01
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+26
+ff
+00
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+25
+01
+75
+01
+95
+0b
+0a
+23
+02
+0a
+21
+02
+0a
+b1
+01
+09
+b8
+09
+b6
+09
+cd
+09
+b5
+09
+e2
+09
+ea
+09
+e9
+09
+30
+0a ae 01
+81
+02
+95
+01
+75
+0d
+81
+03
+c0
+09
+02
+07
+35
+08
+35
+06
+09
+04
+09
+09
+01
+00
+09
+02
+08
+28
+00
+09
+02
+09
+28
+01
+09
+02
+0a
+28
+01
+09
+02
+0b
+09
+01
+00
+09
+02
+0c
+09
+0c
+80
+09
+02
+0d
+28
+01
+09
+02
+0e
+28
+01
+09
+02
+0f
+09
+06
+40
+09
+02
+10
+09
+03
+20
+
+#attribute end
+
+#uuids for pnpInformation	
+04 1002 1200 0100 0001
+
+
+#handle
+00010001
+
+
+36
+00
+#4e#
+5A#total length 90 bytes(5A)
+
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09#vendor ID
+02
+01
+09
+05
+ac
+09#porduct ID
+02
+02
+09
+02
+2c
+09
+02
+03
+09
+01
+1b
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+#attribute end
+00 #uuid list end
+
Index: YJX_Only24g/FCC_1021S/Data/shutter ble.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/shutter ble.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/shutter ble.txt	(working copy)
@@ -0,0 +1,40 @@
+05 
+03 
+00
+02
+00 
+05 
+03 
+00
+01
+00 
+05 
+03 
+00
+08
+00 
+05 
+03 
+00
+0a
+00 
+05 
+03 
+00
+09
+00 
+05 
+03 
+00
+00
+00 
+0a 
+01 
+00
+00
+28 
+0a 
+01 
+00
+00
+00 
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/Data/shutter init.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/shutter init.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/shutter init.txt	(working copy)
@@ -0,0 +1,39 @@
+自拍器文件规定
+01	音量加
+02	音量减
+03	虚拟键盘
+04	音量加 + 虚拟键盘
+05	音量减 + 虚拟键盘
+06	功能键 按键释放
+07	enter 键按下
+08	enter 键释放
+
+05 0c	#USAGE_PAGE 
+09 01	#USAGE (Consumer Control)
+a1 01	#COLLECTION (Application (mouse, keyboard))
+
+85 02	#REPORT_ID 
+
+15 00 	#LOGICAL_MINIMUM (0)                 
+25 01     	#LOGICAL_MAXIMUM (1)                 
+75 01     	#REPORT_SIZE (1)                     
+95 0b     	#REPORT_COUNT (11)
+09 ea     	#USAGE (Volume Down)                 
+09 e9     	#USAGE (Volume Up)                   
+0a ae 01	#VIRTUAL KEYBOARD
+09 30  	#USAGE (Power)                      
+09 e2     	#USAGE (Mute)                        
+0a 23 02  	#USAGE (AC Home)                     
+0a 21 02  	#USAGE (AC Search)                   
+0a b1 01  	#USAGE (433)                         
+09 b8     	#USAGE (Eject)                       
+09 b6     	#USAGE (Scan Previous Track)         
+09 cd     	#USAGE (205)                         
+09 b5     	#USAGE (Scan Next Track)             
+
+81 02     	#INPUT (Data, Variable, Absolute)    
+95 01     	#REPORT_COUNT (1)                    
+75 0d     	#REPORT_SIZE (13)                    
+81 03     	#INPUT (Constant, Variable, Absolute)
+c0        	#END_COLLECTION                      
+
Index: YJX_Only24g/FCC_1021S/Data/shutter list.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/shutter list.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Data/shutter list.txt	(working copy)
@@ -0,0 +1,5 @@
+852行
+
+剩余710行
+
+差142行
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/Shutter OTP data.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Shutter OTP data.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Shutter OTP data.dat	(working copy)
@@ -0,0 +1,2048 @@
+80
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+31
+01
+f0
+4f
+05
+01
+02
+03
+04
+0f
+02
+4f
+06
+01
+02
+03
+08
+09
+04
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+31
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+32
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+33
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+34
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+35
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+36
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+37
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+38
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+a3
+1b
+d3
+29
+c3
+a9
+12
+d6
+8c
+b8
+35
+a5
+79
+dc
+a7
+54
Index: YJX_Only24g/FCC_1021S/Shutter OTP data.dat.bak
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Shutter OTP data.dat.bak	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/Shutter OTP data.dat.bak	(working copy)
@@ -0,0 +1,2043 @@
+80
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+31
+01
+f0
+4f
+05
+01
+02
+03
+04
+0f
+02
+4f
+06
+01
+02
+03
+08
+09
+04
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+31
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+32
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+33
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+34
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+35
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+36
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+37
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+38
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+a3
+1b
+d3
+29
+c3
+a9
+12
+d6
+8c
+b8
+35
+a5
+79
+dc
+a7
+54
Index: YJX_Only24g/FCC_1021S/YC1021 bug/YC 1021 iic DMA bug.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/YC1021 bug/YC 1021 iic DMA bug.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/YC1021 bug/YC 1021 iic DMA bug.txt	(working copy)
@@ -0,0 +1,33 @@
+p_iic_dma_test:
+	call p_iic_start_dma
+	fetch 1,0x4a00
+	fetcht 1,0x4a00
+	isub temp,null
+	ncall ice_break,zero
+	branch p_iic_dma_test
+
+p_iic_start_dma:
+	hfetch 1,core_dma_status
+	rtnbit0 iicd_done
+	fetch 9,0x4a01
+	pincrease 1
+	store 9,0x4a01
+	arg 0x4c00,rega
+	arg 0x400,temp
+	setarg 0x55
+	branch p_iic_test
+
+p_iic_test:
+	store 1,mem_iicd_tbuf
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	setarg 1
+	hstore 2,core_iicd_txlen
+	hstoret 2,core_iicd_rxlen
+	deposit rega
+	hstore 2,core_iicd_rxaddr
+	hjam 1,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+//	call wait_iicd_done
+	rtn
+
Index: YJX_Only24g/FCC_1021S/d.bat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/d.bat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/d.bat	(working copy)
@@ -0,0 +1,5 @@
+call do.bat eep
+e pu
+e 8081 10
+e ep
+e ku
Index: YJX_Only24g/FCC_1021S/do.bat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/do.bat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/do.bat	(working copy)
@@ -0,0 +1,158 @@
+@set FPGA_PATH=fpgajic\fpga
+@set ROM_PATH=.
+@set MV_PATCH=mv\src\yichip
+@set YC_PATCH_FILE=yc_patch_yc1021.h
+@set enc=1
+@set enckey=0000000000000000
+@ set device_option=shutter
+@rem set device_option=antilost
+@rem set device_option=hci
+@rem set device_option=kb
+@rem set device_option=mouse
+@rem set device_option=le_kb
+@rem set device_option=dongle
+@rem set device_option=module
+@rem set device_option=prcp
+@rem set device_option=car
+@rem set device_option=remote_car
+@echo off
+
+setlocal enabledelayedexpansion
+for /f %%f in ('dir /b /o program\*.prog') do @if not %%f==bt.prog if not %%f==patch.prog if not %%f==sim.prog set progs=!progs! program\%%f
+type program\bt.prog %progs% > output\bt_program23.meta
+for /f %%f in ('dir /b /o format\*.format') do @if not %%f==bt.format if not %%f==command.format set fmts=!fmts! format\%%f
+type format\bt.format %fmts% format\command.format > output\bt_format.meta
+perl util/mergepatch.pl output/bt_program23.meta
+perl util/memalloc.pl output/bt_format.meta
+
+cd output
+osiuasm bt_program23 -O-W
+
+if "%device_option%" equ "hci" (
+  copy ..\sched\hci_boot.dat ..\output\sched.rom
+) else if "%device_option%" equ "kb" (
+copy ..\sched\ssp.dat + ..\sched\kb.dat +  ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "le_kb" (
+  copy ..\sched\le_kb.dat + ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "mouse" (
+  copy ..\sched\mouse.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "module" (
+  copy ..\sched\DM_module.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "shutter" (
+  copy ..\sched\shutter.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "antilost" (
+  copy ..\sched\antilost.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "dongle" (
+  copy ..\sched\usb.dat+ ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "prcp" (
+  copy ..\sched\Le_prcp.dat + ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "test" (
+  copy ..\sched\test.dat + ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "car" (
+  copy ..\sched\car.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "remote_car" (
+  copy ..\sched\remote_car.dat + ..\sched\109x.dat ..\output\sched.rom
+) else (
+
+cd ..
+echo **********************************
+echo Error: illegal device_option !
+echo **********************************
+goto end
+) 
+
+if "%1" equ "eep" (
+	goto genromrevc
+)else (
+  goto downloadram
+)
+
+:geneeprom
+@rem echo on
+@echo Start to generate EEPROM code
+copy ..\sched\mouse.dat ..\output\sched.rom
+
+..\util\geneep ramcode.rom fwram.rom sched.rom %enc% %enckey% a
+perl ..\util\a1bugfix.pl
+osiuasm bt_program23 -O-W
+..\util\geneep ramcode.rom fwram.rom sched.rom %enc% %enckey% a
+goto gen_eep_end
+
+
+
+
+:genromrevb
+echo off
+@echo Start to generate EEPROM code
+..\..\regedr\geneep ramcode.rom fwram.rom sched.rom %enc% %enckey% b
+goto gen_eep_end
+
+
+:genromrevc
+echo off
+@echo Start to generate EEPROM code
+
+geneep -n ramcode.rom sched.rom 0 %enckey% c
+
+ rem geneep -n -k key.txt
+
+cd ..\output
+
+echo eeprom.dat Generated......
+@ perl eeprom2hciimage.pl
+@ echo bt_patch.bin Generated......
+@rem perl bin2array.pl > bt_patch.h
+@rem echo bt_patch.h Generated......
+
+echo **********define info*************
+cd ..\program
+perl ..\util\define_info.pl
+
+
+:gen_eep_end
+cd ..
+echo **********************************
+echo EEPROM Generated.
+echo The Device is %device_option%. 
+echo Use command "e ep" to download EEPROM.
+echo **********************************
+goto end
+
+
+
+
+:genrom
+@rem echo on
+perl ..\util\rom2mif.pl romcode
+del ..\..\%FPGA_PATH%\romcode.mif
+copy .\romcode.mif ..\..\%FPGA_PATH%\romcode.mif
+perl ..\util\gen_patch_h.pl >%YC_PATCH_FILE%
+copy .\%YC_PATCH_FILE% ..\..\%MV_PATCH%\%YC_PATCH_FILE%
+copy .\%YC_PATCH_FILE% D:\work\yichip\mv_proj\src\inc\%YC_PATCH_FILE%
+cd ..\..\%FPGA_PATH%
+quartus_cdb btspi -c btspi --update_mif
+quartus_asm --read_settings_files=off --write_settings_files=off btspi -c btspi
+quartus_pgm -c USB-Blaster[USB-0] -m jtag -o "p;.\output\btspi.sof" 
+@echo bitstream_compression=on >1
+@echo memory_map_file=on >> 1
+quartus_cpf -c -o 1 -s EP3C55 -d EPCS16 output\btspi.sof output\btspi.jic  
+@rem quartus_pgm -c USB-Blaster[USB-0] -m jtag -o "pi;.\output\btspi.jic"   
+@del 1
+goto end
+
+
+
+:downloadram
+echo on
+@echo Start to download ram code
+e ku
+e hu
+e su sched.rom
+@echo **********************************
+@echo RAM CODE has been downloaded.
+@echo The Device is %device_option%. 
+@echo **********************************
+cd ..
+
+
+:end
Index: YJX_Only24g/FCC_1021S/down.bat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/down.bat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/down.bat	(working copy)
@@ -0,0 +1,7 @@
+
+e pu
+e hu output/romcode.rom 2000
+mshta "javascript:document.write();setTimeout('close()',100);"
+e pu
+e fp
+e ku
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/fcc.IAB
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.IAB
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/fcc.IAD
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.IAD
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/fcc.IMB
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.IMB
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/fcc.IMD
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.IMD
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/fcc.PFI
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.PFI
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/fcc.PO
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.PO
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/fcc.PR
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.PR
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/fcc.PRI
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.PRI
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/fcc.PS
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.PS
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/fcc.SearchResults
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/fcc.SearchResults	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/fcc.SearchResults	(working copy)
@@ -0,0 +1,3 @@
+---- mem_ban_check_flag_count Matches (2 in 1 files) ----
+Patch.prog (program):	jam 0,mem_ban_check_flag_count
+Patch.prog (program):	jam 0,mem_ban_check_flag_count
Index: YJX_Only24g/FCC_1021S/fcc.WK3
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/fcc.WK3
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: YJX_Only24g/FCC_1021S/format/24g.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/24g.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/24g.format	(working copy)
@@ -0,0 +1,305 @@
+
+xmemalloc(
+
+)
+
+(
+//add
+0   offset_24g_rxbuf
+1   offset_24g_rxbuf_add1
+2   offset_24g_rxbuf_add2
+34  offset_24g_txbuf
+66  offset_24g_txpayload
+100 offset_24g_rxpayload
+102 offset_24g_rxpayload_add2
+132 offset_24g_rxdata_length
+133 offset_24g_pid
+134 offset_24g_datalen
+135 offset_24g_data_type
+136 offset_24g_txlen
+137 offset_24g_rx_window
+139 offset_24g_ensure
+140 offset_24g_txfail_cnt
+141 offset_24g_get_ack_fail
+142 offset_24g_tx_without_int
+143 offset_24g_retry
+144 offset_24g_ch
+145 offset_24g_current_ch_number
+146 offset_24g_paring_addr
+150 offset_24g_pairing_sm
+151 offset_24g_ch_map1
+155 offset_24g_ch_map2
+159 offset_24g_ch_map3
+163 offset_24g_ch_map4
+167 offset_24g_tx_btclk
+171 offset_24g_interval
+172 offset_24g_interval_min
+173 offset_24g_interval_max
+174 offset_24g_addr
+178 offset_24g_abort_pac
+179 offset_24g_sync_pac
+180 offset_24g_hop_pac
+181 offset_24g_check_dongle_times
+182 offset_24g_enter_hibernate
+190 offset_24g_device_addr
+194 offset_24g_pac_index
+195 offset_24g_no_ack
+196 offset_24g_sta_crc
+199 offset_24g_last_crc
+202 offset_24g_sta_pid
+203 offset_24g_last_pid
+204 offset_24g_max_retry
+205 offset_24g_mode
+206 offset_24g_rf_last_sta
+207 offset_24g_rf_hop_ch
+208 offset_24g_sync_cnt
+209 offset_24g_hop_pac_retry
+210 offset_24g_rf_work_stage
+211 offset_24g_hop_fastly_cnt
+212 offset_24g_short_sleep_timer
+216 offset_24g_cb_data
+218 offset_24g_cb_lpm_prepare
+220 offset_24g_cb_lpm_before
+222 offset_24g_cb_rxdata_type1
+224 offset_rssi_signal_index
+225 offset_rssi_signal_avg
+226 offset_rssi_signal_buf
+234 offset_rssi_noise_index
+235 offset_rssi_noise_avg
+236 offset_rssi_noise_buf
+244 offset_rssi_ctrl_threshold_down
+245 offset_rssi_noise_dg_index
+246 offset_rssi_noise_kb_index
+247 offset_rssi_noise_ms_index
+248 offset_rssi_noise_dg_avg
+249 offset_rssi_noise_kb_avg
+250 offset_rssi_noise_ms_avg
+251 offset_tx_power_temp
+252 offset_power_ctrl_packet_cnt
+253 offset_power_ctrl_ack_cnt
+254 offset_power_ctrl_level
+255 offset_power_ctrl_txpwr_level2
+//iadd
+256 offset_power_ctrl_txpwr_level1
+257 offset_power_ctrl_txpwr_level0
+258 offset_power_ctrl_threshold_up
+259 offset_power_ctrl_threshold_down
+260 offset_dongle_mode_init
+261 offset_dongle_work_mode
+262 offset_dongle_ms_bind_step
+263 offset_dongle_kb_bind_step
+264 offset_dongle_bind_device_status
+265 offset_24g_rxdata_temp
+267 offset_24g_rxdata_temp_add2
+268 offset_24g_rxdata_temp_add3
+269 offset_24g_rxdata_temp_add4
+299 offset_24g_rx_addr
+303 offset_24g_bind_payload
+304 offset_24g_bind_payload_add1
+305 offset_24g_bind_payload_add2
+309 offset_24g_rf_laststa
+310 offset_24g_hop_btclk
+314 offset_24g_hop_interval
+315 offset_24g_ackpayload_enable
+316 offset_24g_ackpayload
+348 offset_24g_mode_switch
+349 offset_24g_pair_mode
+350 offset_24g_nodata_timer_enable
+351 offset_24g_time_slice
+352 offset_24g_mouse_addr
+356 offset_24g_kb_addr
+360 offset_24g_kb_data_sta_data
+368 offset_24g_kb_data_last_data
+376 offset_24g_kb_multikey_sta_data
+379 offset_24g_kb_multikey_last_data
+382 offset_24g_kb_blank_data_enable
+383 offset_24g_kb_mul_blank_data_enable
+384 offset_24g_ms_blank_data_enable
+385 offset_24g_dg_last_ch
+386 offset_24g_dg_ch_number
+387 offset_24g_dg_config_ch_once
+388 offset_24g_kb_last_ch
+389 offset_24g_kb_ch_number
+390 offset_24g_kb_config_ch_once
+391 offset_24g_ms_last_ch
+392 offset_24g_ms_ch_number
+393 offset_24g_ms_config_ch_once
+394 offset_24g_pair_txpower
+395 offset_24g_auto_pair_switch
+)
+
+(
+1 NO_ACK_24G
+0 WITH_ACK_24G
+
+0 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+
+0x4e G24_PAIR_CH
+)
+
+(
+0 disable_24g
+1 tx_24g
+2 rx_24g
+
+0 bit_ack_24g
+)
+
+//mem_24g_interrupt
+(
+0 rx_dr
+1 rx_sync
+4 tx_ds
+5 tx_fail
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+
+
+//mem_24g_pairing_sm
+(
+0 STATE_24G_PAIRING_NULL
+1 STATE_24G_PAIRING_1
+2 STATE_24G_PAIRING_2
+3 STATE_24G_PAIRING_3
+0X11 STATE_24G_PAIRING_1_WAITING_ACK
+0X12 STATE_24G_PAIRING_2_WAITING_ACK
+0X13 STATE_24G_PAIRING_3_WAITING_ACK
+0XFF STATE_24G_PAIRING_SUCCESS
+)
+
+(
+0 DONGLE_WORK	   		//connect mode normal
+1 DONGLE_BIND			//code pair mode
+2 DONGLE_TEST			//test mode
+3 DONGLE_CODE			//PC_application
+4 DONGLE_PCBA			//PCBA_TEST
+5 DONGLE_DEBUG
+6 DONGLE_MODE_MAX
+7 DONGLE_SEARCH
+0 CLEAR_INIT
+)
+
+(
+0x01 DATATYPE_MOUSE	//mouse
+0x02 DATATYPE_KEYBOARD	//keyboard
+0xAA DATATYPE_BIND		//bind step 1
+0x55 DATATYPE_CONFIG	//bind step 2
+0x22 DATATYPE_OK	//bind step 3
+
+0x01 BIND_MOUSE
+0x02 BIND_KEYBOARD
+)
+
+(
+112 G24_DONGLE_ADDR
+)
+
+(
+0xa0 COMMAND_MODE     //BYTE 0
+0X81 COM_MODE_BIND	//BYTE 1
+0X82 COM_MODE_TEST	//BYTE 1
+)
+(
+0xa1 COMMAND_BIND		//BYTE 0
+0X01 COM_BIND_GET		//1
+0X84 COM_BIND_EXIT		//1
+0XA7 COM_READ_MODE	//1
+)
+(
+0xa2 COMMAND_TEST	//BYTE 0
+0X81 COM_TEST_SC		//	进入单载波
+0x82 COM_TEST_CD		// fcc测试
+0x83 COM_TEST_DAT		// 数据测试
+0X84 COM_TEST_LOW_CH  //低频点
+0X85 COM_TEST_MID_CH	//中频点
+0X86 COM_TEST_HIG_CH	//高频点
+0X87 COM_TEST_SW_HIG	//自动切换频点为高 1mhz
+0X88 COIM_TEST_SW_LOW	//自动切换频点为低 1mhz
+0X89 COM_TEST_SW_STOP	//停止自动切换频点
+0X8A COM_TEST_POW_5		//设置输出功率5dbm
+0X8B COM_TEST_POW_0		//0dbm
+0X8C COM_TEST_POW_N5		//-5dbm
+0X8D COM_TEST_POW_N10		//-10dbm
+0X8E COM_TEST_EXIT			//退出测试模式
+)
+(
+0xa6 COMMAND_CURRENT_PROJECT
+0xa7 COMMAND_CURRENT_MODE
+0xa9 COMMAND_CURRENT_FW_VERSION
+)
+
+//user defined cmd
+(
+0xb0 COMMAND_USER_DEFINED
+)
+
+(
+0x15 PRODUCT_ID
+0 FW_VERSION0
+0 FW_VERSION1
+1 FW_VERSION2
+)
+
+
+(
+8 TIMER_NODATA
+640 TIMER_NODATA_DELAY	//200ms
+
+11 TIMER_MS_BLANK
+320 TIMER_MS_BLANK_DELAY
+
+12 TIMER_KB_MUL_BLANK
+320 TIMER_KB_MUL_BLANK_DELAY
+
+14 TIMER_KB_BLANK
+320 TIMER_KB_BLANK_DELAY
+)
+
+(
+0 KB_NORMAL_REPORT_ID
+1 MS_REPORT_ID
+3 KB_MULTIKEY_REPORT_ID
+)
+
+(
+7 RSSI_BUF_LEN_SIGNAL
+255 RSSI_BUF_LEN_NOISE
+0x50 RSSI_THRESH_NOISE
+)
+(
+//power control
+0x01 TXPWR_0DB
+0x02 TXPWR_3DB
+0x04 TXPWR_5DB
+0x10 TXPWR_f5DB
+
+124 POWER_CTRL_MAX_PACKET_CNT
+
+2 POWER_CTRL_LOSSPAC_THRESH_UP0
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN0
+0x20 POWER_CTRL_RSSI_THRESH_DOWN0
+
+5 POWER_CTRL_LOSSPAC_THRESH_UP1
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN1
+0x60 POWER_CTRL_RSSI_THRESH_DOWN1
+
+10 POWER_CTRL_LOSSPAC_THRESH_UP2
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN2
+0x80 POWER_CTRL_RSSI_THRESH_DOWN2
+)
+
+
+
+
+
Index: YJX_Only24g/FCC_1021S/format/Hid.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/Hid.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/Hid.format	(working copy)
@@ -0,0 +1,21 @@
+
+(
+/*HID TYPE*/
+0x01 HID_TYPE_CONTROL
+0x04 HID_TYPE_GET_REPORT
+0x05 HID_TYPE_SET_REPORT
+0x07 HID_TYPE_SET_PROTOCOL
+0x09 HID_TYPE_SET_IDLE
+0x0a HID_TYPE_DATA
+/*HID REPORT ID*/
+0x01 HID_REPORT_ID_KB
+
+0x00 HID_CONTROL_P_NOOPERATION
+0x01 HID_CONTROL_P_HARDRESET
+0x02 HID_CONTROL_P_SOFTRESET
+0x03 HID_CONTROL_P_SUSPEND
+0x04 HID_CONTROL_P_EXITSUSPEND
+0x05 HID_CONTROL_P_VIRTUALCABLEUNPLUG
+)
+
+
Index: YJX_Only24g/FCC_1021S/format/app.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app.format	(working copy)
@@ -0,0 +1,324 @@
+
+memalloc(
+
+/* load code */
+1 mem_ucode_status
+2 mem_otp_ucode_flag
+1 mem_spid_tbuf				/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0 mem_iicd_tbuf				/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+1 mem_addr_hi
+1 mem_addr_mi
+1 mem_addr_lo
+1 mem_iicd_addr
+4 mem_spid_rbuf
+2 mem_ucode_buf
+2 mem_ucode_len
+2 mem_sched_addr
+2 mem_ucode_ptr
+16 mem_ucode_keybuf
+18 mem_check_plap_temp
+
+
+1 mem_reconnect_flag
+1 mem_switch_fail_master_count
+1 mem_app_evt_timer_count
+
+)
+
+xmemalloc(
+1 mem_app_handshake_flag
+2 mem_sniff_param_interval
+2 mem_sniff_param_attempt
+2 mem_sniff_param_timeout
+
+/*App Callback Functons*/
+2 mem_cb_check_wakelock
+2 mem_cb_before_hibernate
+2 mem_cb_before_lpm
+2 mem_cb_le_process
+2 mem_cb_bt_process
+2 mem_cb_idle_process
+2 mem_cb_bb_event_process
+2 mem_cb_discovry_timeout
+2 mem_cb_att_write
+2 mem_cb_ble_transmit
+2 mem_cb_event_timer
+2 mem_cb_bt_set_mult
+2 mem_cb_spi_flash_write_complate
+
+
+
+
+2 mem_eeprom_base
+
+1 mem_unsniff2sniff_timer_count
+//lpm mode
+1 mem_wake_up_delay_timer
+
+1 mem_app_connection_options
+
+//
+2 mem_app_disconn_reason
+2 mem_app_disconn_reason_flag
+4 mem_lpm_delay_after_sniff
+1 mem_xrecord_mode
+
+1 mem_eeprom_block_size
+1 mem_spi_init_clk
+1 mem_spi_init_delay_time
+1 mem_spi_ncs_gpio
+
+2 mem_nv_data_ptr
+1 mem_nv_data_number
+
+2 mem_queue_ptr
+
+1 mem_ui_led_struct_num
+2 mem_ui_led_struct_ptr
+
+//adc
+2 mem_0_5_adc_io_data
+2 mem_1v_adc_hvin_data
+2 mem_2v_adc_vinlpm_data
+2 mem_1v_adc_io_data
+2 mem_5v_adc_hvin_data
+2 mem_3v_adc_vinlpm_data
+2 mem_otp_adc_flag
+2 mem_reference_voltage
+1 mem_adc_config_flag
+1 mem_adc_channel
+2 mem_adc_current_value
+1 mem_adc_power_flag	//bit0:low power falg ; bit1:no power flag
+
+3 mem_spi_write_addr
+2 mem_spi_write_ptr
+2 mem_spi_write_len
+1 mem_spi_write_flash_sm
+1 mem_eeprom_wp_gpio
+2 mem_kscan_ptr
+ifdef SPI_SIMULATE
+//spi gpio config
+0 mem_spi_simulate_struct
+1 mem_spi_simulate_cs_gpio
+1 mem_spi_simulate_sclk_gpio
+1 mem_spi_simulate_mosi_gpio
+1 mem_spi_simulate_miso_gpio
+1 mem_spi_simulate_motion_gpio
+//spi slave read byte
+50 mem_spi_simulate_read_byte_slave
+1 mem_spi_simulate_read_byte_slave_temp
+1 mem_spi_simulate_read_length_slave
+1 mem_spi_simulate_read_length_slave_temp
+//spi slave write byte
+50 mem_spi_simulate_write_byte_slave
+1 mem_spi_simulate_write_byte_slave_temp
+1 mem_spi_simulate_write_byte_slave_temp_temp
+1 mem_spi_simulate_write_length_slave
+1 mem_spi_simulate_write_length_slave_temp
+endif
+
+0 mem_key_num_ptr
+2 mem_keyscan_ptr
+
+2 mem_power_param_ptr
+2 mem_24g_head_ptr
+)
+//adc read
+(
+0 ADC_CONFIG_VINLPM
+1 ADC_CONFIG_HVIN
+2 ADC_CONFIG_GPIO
+)
+
+
+(
+0 QUEUE_OFFSET_EACH_SIZE
+1 QUEUE_OFFSET_LENGTH
+2 QUEUE_OFFSET_CURR_NUM
+3 QUEUE_OFFSET_READ_PTR
+4 QUEUE_OFFSET_WRITE_PTR
+5 QUEUE_OFFSET_ELE_INIT_ADDR
+)
+(
+//Flash Register
+0x05 FLASH_READ_SATUS
+
+// Flash Status Register
+0x00 FLASH_STATUS_WIP
+0X01 FLASH_STATUS_WEL
+0X02 FLASH_STATUS_BP0
+0X03 FLASH_STATUS_BP1
+
+//Flash Write Sm
+0X00 FLASH_SM_NO_BUYS
+0X01 FLASH_SM_START
+0X02 FLASH_SM_ERASE_SECTOR
+0X03 FLASH_SM_WAIT_ERASE_SECTOR
+0X04 FLASH_SM_WRITE_DATA
+0X05 FLASH_SM_WAIT_WRITE_DATA
+
+
+//Flash Command
+0x02 FLASH_COMMAND_WRITE_DATA
+0x03 FLASH_COMMAND_READ_DATA
+0x20 FLASH_COMMAND_SECTOR_ERASE
+)
+
+0x0000 otp_ucode_flag
+0x07f0 otp_ucode_aeskey
+
+/* adc data addr and flag */
+(
+0x07e0 OTP_CHIP_FUNCTIONS
+0x07e2 otp_adc_io_0_5V_addr
+0x07e4 otp_adc_hvin_1V_addr
+0x07e6 otp_adc_vinlpm_2V_addr
+0x07e8 otp_adc_io_1V_addr
+0x07ea otp_adc_hvin_5V_addr
+0x07ec otp_adc_vinlpm_3V_addr
+0x07ee otp_adc_flag_addr
+0xaa55 OTP_ADC_FLAG
+)
+
+/* data stored in eeprom */
+(
+0	eeprom_nv_ram
+
+195	eeprom_module_init_flag//2
+
+)
+
+/*mem_app_handshake_flag*/
+(
+0 APP_HANDSHAKE_NULL
+1 APP_HANDSHAKE_DONE
+
+)
+/*mem_device_option*/
+(
+1 dvc_op_hci
+4 dvc_op_dongle
+5 dvc_op_spp
+6 dvc_op_ukey
+7 dvc_op_ir
+
+9 dvc_op_shutter
+10 dvc_op_module
+11 dvc_op_ble_mouse
+12 dvc_op_ble_kb
+13 dvc_op_ble_prcp
+14 dvc_op_car
+15 dvc_op_AntiLost
+16 dvc_op_remote_car
+255 dvc_op_test
+//device option hight 4
+6 dvc_op_mouse
+7 dvc_op_keyboard
+//device option low 2
+(
+0 MODE_3_MOUSE
+1 MODE_4_MOUSE
+)
+)
+
+(
+3 twspi_sclk
+4 twspi_sdio
+)
+
+(
+4 pan_clk_bit
+5 pan_dat_bit
+6 pan_mov_bit
+)
+
+(
+7 otp_uflag_aes
+6 otp_uflag_skip_eep
+5 otp_uflag_skip_flash
+4 otp_uflag_hci
+)
+
+/* ir command */
+(
+1 ircmd_record
+2 ircmd_play
+3 ircmd_write_pulse
+4 ircmd_write_seq
+5 ircmd_write_next
+
+8 ircmd_test_play
+9 ircmd_test_rec
+
+10 ircmd_report_pulse
+11 ircmd_report_seq
+12 ircmd_report_raw
+
+20 ircmd_screen_on
+21 ircmd_screen_off
+)
+
+(
+7 gpio_active_bit
+)
+(
+2 HID_HANDSHAKE_TIMEOUT
+
+)
+
+(
+1 APP_FLAG_RECONNECT
+)
+(
+5 LPM_WAKE_UP_DELAY_TIMER
+)
+
+
+//mem_app_disconn_reason
+//mem_app_disconn_reason_flag
+//bit map
+(
+2 APP_DISC_RSN_SIZE
+)
+(
+0 APP_DISC_BY_BUTTON
+1 APP_DISC_AFTER_PAIRING
+2 APP_DISC_AFTER_RECONN
+3 APP_DISC_AFTER_SNIFF
+4 APP_DISC_AFTER_SETUP_DONE
+5 APP_DISC_AFTER_HANDSHAKE
+6 APP_DISC_BT
+7 APP_DISC_BLE
+8 APP_DISC_L2CAP_REFUSED
+9 APP_DISC_SWITCH_FAIL
+)
+//eeprom init flag
+(
+	0xaa55 EEPROM_INIT_FLAG
+)
+
+(
+1 KEY_CONF_STRUCT_LEN
+0 KEY_PIN_OFFSET
+)
+
+(
+12000000 PWM_12MHZ
+)
+(
+0 POWER_OFF
+1 POWER_STARTING
+2 POWER_STANDBY
+)
+//power parameter offset(8 byte)
+(
+0 power_state_offset
+1 power_timer_offset
+2 power_off_timeout_offset
+3 power_starting_timeout_offset
+4 power_off_cb_offset
+6 power_starting_cb_offset
+8 power_standby_cb_offset
+10 ui_butten_up_cb_offset
+)
+
Index: YJX_Only24g/FCC_1021S/format/app_antiLost.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_antiLost.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_antiLost.format	(working copy)
@@ -0,0 +1,202 @@
+omemalloc(
+// memblock for cover the variables portion at shutter.format
+2 mem_antl_lpm_interval
+2 mem_antl_adv_interval
+2 mem_antl_slow_adv_lpm_interval
+2 mem_antl_slow_adv_adv_interval
+0 mem_antl_led_style
+1 mem_antl_led_type
+1 mem_antl_led_blink_count
+1 mem_antl_led_gpio
+2 mem_antl_led_on_time
+2 mem_antl_led_off_time
+2 mem_antl_led_cb_on
+2 mem_antl_led_cb_off
+
+0 mem_antl_buzzer_style
+1 mem_antl_buzzer_type
+1 mem_antl_buzzer_blink_count
+1 mem_antl_buzzer_gpio
+2 mem_antl_buzzer_on_time
+2 mem_antl_buzzer_off_time
+2 mem_antl_buzzer_cb_on
+2 mem_antl_buzzer_cb_off
+
+0 mem_antl_fast_adv_led_style
+1 mem_antl_fast_adv_led_type
+1 mem_antl_fast_adv_led_blink_count
+1 mem_antl_fast_adv_led_gpio
+2 mem_antl_fast_adv_led_on_time
+2 mem_antl_fast_adv_led_off_time
+
+0 mem_antl_slow_adv_led_style
+1 mem_antl_slow_adv_led_type
+1 mem_antl_slow_adv_led_blink_count
+1 mem_antl_slow_adv_led_gpio
+2 mem_antl_slow_adv_led_on_time
+2 mem_antl_slow_adv_led_off_time
+
+0 mem_antl_power_starting_led_style
+1 mem_antl_power_starting_led_type
+1 mem_antl_power_starting_led_blink_count
+1 mem_antl_power_starting_led_gpio
+2 mem_antl_power_starting_led_on_time
+2 mem_antl_power_starting_led_off_time
+
+7 mem_antl_power_starting_buzzer_style
+
+0 mem_antl_power_off_led_style
+1 mem_antl_power_off_led_type
+1 mem_antl_power_off_led_link_count
+1 mem_antl_power_off_led_gpio
+2 mem_antl_power_off_led_on_time
+2 mem_antl_power_off_led_off_time
+
+0 mem_antl_power_off_buzzer_style
+1 mem_antl_power_off_buzzer_type
+1 mem_antl_power_off_buzzer_link_count
+1 mem_antl_power_off_buzzer_gpio
+2 mem_antl_power_off_buzzer_on_time
+2 mem_antl_power_off_buzzer_off_time
+
+7 mem_antl_alert_led_stlye
+
+0 mem_antl_alert_buzzer_stlye
+1 mem_antl_alert_buzzer_type
+1 mem_antl_alert_buzzer_blink_count
+1 mem_antl_alert_buzzer_gpio
+2 mem_antl_alert_buzzer_on_time
+2 mem_antl_alert_buzzer_off_time
+
+0 mem_antl_key_led_style
+1 mem_antl_key_led_type
+1 mem_antl_key_led_blink_count
+1 mem_antl_key_led_gpio
+2 mem_antl_key_led_on_time
+2 mem_antl_key_led_off_time
+
+7 mem_antl_key_buzzer_style
+
+1 mem_antl_queue_width
+1 mem_antl_queue_depth
+1 mem_antl_queue_curr_num
+1 mem_antl_queue_read_ptr
+1 mem_antl_queue_write_ptr
+80 mem_antl_queue_buff
+
+1 mem_antl_key_scan_enable
+1 mem_antl_led_num
+4 mem_antl_led_gpio_map
+
+0 mem_antl_power_param
+1 mem_antl_power_state
+1 mem_antl_power_timer
+1 mem_antl_power_off_timeout
+1 mem_antl_power_starting_timeout
+2 mem_antl_power_off_cb
+2 mem_antl_power_starting_cb
+2 mem_antl_power_standby_cb
+2 mem_event_button_up_cb
+
+1 mem_antl_key_num
+2 mem_cb_antl_key
+4 mem_antl_key_conf0
+
+15 mem_antl_key0_press
+15 mem_antl_key0_release
+
+///////
+1 mem_antl_conn_updata_procedure_state
+2 mem_client_characteristic_configuration_descriptor
+///////
+
+
+//100ms timer
+2 mem_adc_timer
+1 mem_antl_conn_update_timer
+1 mem_antl_send_updata_le_param_timer
+////
+
+2 mem_antl_le_sleep_timer
+2 mem_antl_fast_adv_timer
+2 mem_antl_fast_adv_timeout
+2 mem_antl_le_sleep_timeout
+1 mem_double_click_timer
+1 mem_butten_click_cnt
+
+//1 mem_dvc_seq
+/////////anti lost alarm state/////
+1 mem_antl_led_state
+1 mem_antl_buzzer_state
+1 mem_antl_key_state
+1 mem_antl_lost_mode
+1 mem_alarm_config
+1 mem_alarm_config_notfy_cnt
+
+6 mem_buzzer_pwm_conf
+
+
+/////////anti lost battery adc read////////
+2 mem_adc_timeout
+1 mem_voltage_remain_percent
+
+0 mem_battery_calculate_set
+2 mem_battery_full_voltage
+2 mem_battery_empty_voltage
+2 mem_battery_low_voltage
+2 mem_battery_current_voltage
+
+
+2 mem_rx_window_sniff_inc
+2 mem_interval_increment
+
+2 mem_antl_le_interval_min
+2 mem_antl_le_interval_max
+2 mem_antl_le_latency
+2 mem_antl_le_timeout
+2 mem_antl_le_unnormal_interval_min
+2 mem_antl_le_unnormal_interval_max
+2 mem_antl_le_unnormal_latency
+2 mem_antl_le_unnormal_timeout
+
+400 mem_AntiLost_le_att_list
+)
+
+//app new specific
+(
+0 CONN_PARAM_UPDATA_PROCEDURE_NO_INIT
+1 CONN_PARAM_UPDATA_PROCEDURE_STARTING
+2 CONN_PARAM_UPDATA_PROCEDURE_COMPLETE
+3 CONN_PARAM_UPDATA_PROCEDURE_FAILD
+)
+(
+0 NEW_SPEC_HEADER_OFFSET
+2 NEW_SPEC_OPCODE_OFFSET
+3 NEW_SPEC_DLEGTH_OFFSET  //data length offset
+5 NEW_SPEC_DADDR_OFFSET   //data address offset
+)
+(
+1 OPCODE1_BUTTEN_CLICK_ONCE
+2 OPCODE2_BUTTEN_DOUBLE_CLICK
+3 OPCODE3_ANTL_START_ALRAM
+4 OPCODE4_CURRENT_ALARM_STATE
+5 OPCODE5_BATTER_INFORMATION
+7 OPCODE7_ANTL_CONFIG_ALRAM
+)
+(
+0x0a NEW_SPEC_NOTIFY_HANDLE
+0x0b NEW_SPEC_NOTIFICATION_ENABLE_HANDLE
+0x0d NEW_SPEC_WRITE_HANDLE
+)
+//app new specific end
+
+//mem_anti_lost_mode
+(
+0x01 ANTI_LE_ALARM_ON
+0x00 ANTI_LE_ALARM_OFF
+)
+(
+0 NOTIFICATION_ENABLE_BIT
+1 INDICATION_ENABLE_BIT
+)
+
Index: YJX_Only24g/FCC_1021S/format/app_car.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_car.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_car.format	(working copy)
@@ -0,0 +1,287 @@
+
+
+omemalloc(
+1 mem_car_hard_soft_switch
+1 mem_car_queue_each_size
+1 mem_car__queue_length
+
+1 mem_car_queue_curr_num
+1 mem_car_queue_read_ptr
+1 mem_car_queue_write_ptr
+120 mem_car_queue_ele
+
+20 mem_car_pop_queue_buff
+
+1 mem_car_led_num
+10 mem_car_led_map
+
+1 mem_car_style1_led_type
+1 mem_car_style1_blink_count
+1 mem_car_style1_struct_led_gpio
+2 mem_car_style1_on_time
+2 mem_car_style1_off_time
+2 mem_car_style1_cb_ledon
+2 mem_car_style1_cb_ledoff
+
+1 mem_car_style2_led_type
+1 mem_car_style2_blink_count
+1 mem_car_style2_struct_led_gpio
+2 mem_car_style2_on_time
+2 mem_car_style2_off_time
+2 mem_car_style2_cb_ledon
+2 mem_car_style2_cb_ledoff
+
+//////motor
+0 mem_le_receive_data
+2 mem_le_receive_packet_head
+1 mem_le_receive_cmd
+2 mem_le_receive_length
+10 mem_le_receive_payload
+1 mem_le_receive_checksum
+1 mem_motor1_status
+1 mem_motor1_speed
+1 mem_motor2_status
+1 mem_motor2_speed
+1 mem_motor3_status
+1 mem_motor3_speed
+
+0 mem_motor1_pwm_set
+1 mem_motor1_pwm_pin1_set
+1 mem_motor1_pwm_pin2_set
+1 mem_motor1_pwm_pin_set
+1 mem_motor1_pwm_channel_set
+3 mem_motor1_pwm_freq_set
+1 mem_motor1_pwm_dute_set
+0 mem_motor2_pwm_set
+1 mem_motor2_pwm_pin1_set
+1 mem_motor2_pwm_pin2_set
+1 mem_motor2_pwm_pin_set
+1 mem_motor2_pwm_channel_set
+3 mem_motor2_pwm_freq_set
+1 mem_motor2_pwm_dute_set
+0 mem_motor3_pwm_set
+1 mem_motor3_pwm_pin1_set
+1 mem_motor3_pwm_pin2_set
+1 mem_motor3_pwm_pin_set
+1 mem_motor3_pwm_channel_set
+3 mem_motor3_pwm_freq_set
+1 mem_motor3_pwm_dute_set
+
+1 mem_motor_select_p_n
+1 mem_car_motor_status
+1 mem_car_motor_speed
+0 mem_motor_pwm_set
+1 mem_motor_pwm_pin1_set
+1 mem_motor_pwm_pin2_set
+1 mem_motor_pwm_pin_set
+1 mem_motor_pwm_channel_set
+3 mem_motor_pwm_freq_set
+1 mem_motor_pwm_dute_set
+
+1 mem_ir_rx_gpio
+2 mem_ir_data
+2 mem_ir_rx_buf
+4 mem_ir_receive_clkn
+
+3 mem_ir_notify_data
+5 mem_ir_notify_data_head
+2 mem_ir_notify_data_payload
+1 mem_ir_notify_data_check_sum
+1 mem_car_ir_breakdown_check_timer
+1 mem_car_ir_breakdown_flag
+
+0 mem_car_led_control
+1 mem_car_led1_status
+1 mem_car_led2_status
+1 mem_car_led3_status
+1 mem_car_led4_status
+1 mem_car_led5_status
+1 mem_car_led6_status
+1 mem_car_led7_status
+1 mem_car_led8_status
+1 mem_car_led_control_timer
+1 mem_car_led_blink_status
+1 mem_car_led_no
+
+3 mem_car_info_request
+5 mem_car_info_request_head
+8 mem_car_info_request_payload
+1 mem_car_info_request_checksum
+
+0 mem_car_config_param
+1 mem_car_config_setting_flag
+1 mem_car_config_device_select
+1 mem_car_config_motor_layout
+1 mem_car_config_ir_enable
+1 mem_car_config_ir_rx_gpio
+1 mem_car_config_pairing_led_conn_status
+1 mem_car_config_pairing_led_gpio
+1 mem_car_config_led_num
+0 mem_car_config_blood_led_gpio
+1 mem_car_config_blood_led1_gpio
+1 mem_car_config_blood_led2_gpio
+1 mem_car_config_blood_led3_gpio
+1 mem_car_config_blood_led4_gpio
+1 mem_car_config_blood_led5_gpio
+1 mem_car_config_blood_led6_gpio
+1 mem_car_config_blood_led7_gpio
+1 mem_car_config_blood_led8_gpio
+1 mem_car_config_bat_notify_enable
+1 mem_car_config_low_voltage_led_gpio
+1 mem_car_config_low_voltage_percent
+1 mem_car_config_soft_switch_enable
+1 mem_car_config_soft_switch_gpio
+
+1 mem_car_notify_vdd_count
+1 mem_car_notify_vdd_timer
+1 mem_car_notify_vdd_value_last
+1 mem_car_notify_vdd_percent
+1 mem_car_working_flag
+1 mem_low_bat_flag
+
+3 mem_notify_bat_packet
+5 mem_notify_bat_head
+1 mem_notify_bat_payload
+1 mem_notify_bat_check_sum
+
+1 mem_vdd_notify_flag
+2 mem_car_current_vdd_value_temp
+2 mem_car_last_vdd_value
+
+0 mem_vdd_calculate_set
+2 mem_vdd_full_vol
+2 mem_vdd_empty_vol
+2 mem_vdd_low_vol
+2 mem_vdd_now_vol
+
+
+1 mem_car_24g_status
+2 mem_car_24g_no_data_timeout_count
+2 mem_car_24g_no_data_timeout_timer
+
+1 mem_car_24g_ir_receive_attack_count
+1 mem_car_24g_go_die_flag
+1 mem_car_attack_shake_timer
+1 mem_car_attack_shake_flag
+
+0 mem_car_soft_power
+1 mem_car_power_state
+1 mem_car_power_timer
+1 mem_car_power_off_timeout
+1 mem_car_power_starting_timeout
+2 mem_car_power_off_cb
+2 mem_car_power_starting_cb
+2 mem_car_power_standby_cb
+2 mem_car_ui_button_up_cb
+
+
+500 mem_car_le_att_list
+
+1 mem_car_moto1_blank_timer
+1 mem_car_moto2_blank_timer
+1 mem_car_moto3_blank_timer
+1 mem_car_24g_received_pac
+400 mem_24g_car_head_ptr
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE_CAR
+)
+
+(
+0x14 ATT_CAR_CONTROL_HANDLE
+0x14 ATT_SPEED_SET_HANDLE
+)
+
+
+(
+0 TURN_FRONT
+1 TURN_LEFT
+2 TURN_RIGHT
+0 MOTOR_STOP
+1 GO_FRONT
+2 GO_BACK
+0x6b5a LE_RECEIVE_PACKET_HEAD
+)
+
+(
+0 FLAG_IR_DISABLE
+1 FLAG_IR_ENABLE
+)
+
+(
+0 DEVICE_CAR
+1 DEVICE_TANK
+2 DEVICE_BATTLE_CAR
+3 DEVICE_BATTLE_TANK
+4 DEVICE_REMOTE
+)
+
+(
+0 F_B_MOTOR
+1 L_R_MOTOR
+2 F_B_BATTERY
+3 L_R_BATTERY
+)
+
+
+
+(
+1 SPEED_LEVEL_1
+2 SPEED_LEVEL_2
+3 SPEED_LEVEL_3
+4 SPEED_LEVEL_4
+5 SPEED_LEVEL_5
+6 SPEED_LEVEL_6
+7 SPEED_LEVEL_7
+8 SPEED_LEVEL_8
+9 SPEED_LEVEL_9
+10 SPEED_LEVEL_10
+)
+
+(
+0 PWM0_DUTY_SETTING
+1 PWM1_DUTY_SETTING
+2 PWM2_DUTY_SETTING
+)
+
+(
+1 CAR_CMD_BATTERY
+2 CAR_CMD_OLD_CAR_CONTROL
+3 CAR_CMD_OLD_SPEED_CONTROL
+4 CAR_CMD_L_R_MOTOR_CONTROL
+5 CAR_CMD_F_B_MOTOR_CONTROL
+6 CAR_CMD_IR_CONTROL
+7 CAR_CMD_LED_CONTROL
+8 CAR_CMD_DEVICE_INFO
+)
+
+(
+0 CAR_REMOTE_CHECK_BUTTON
+1 CAR_REMOTE_CHECK_ROCKER
+)
+
+(
+0x11 CAR_NOTIFY_HANDLE
+)
+
+(
+0 LED_OFF
+1 LED_ON
+2 LED_BLINK
+0xFF LED_INVALID
+)
+
+(
+0xFF INVALID_PIN_NUM
+)
+
+
+(
+0 POWER_ON
+1 WORK_PAIRED
+2 WORK_SEARCH
+)
+
+
Index: YJX_Only24g/FCC_1021S/format/app_light.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_light.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_light.format	(working copy)
@@ -0,0 +1,34 @@
+omemalloc(
+1 mem_light_pwm0
+1 mem_light_pwm1
+1 mem_light_pwm2
+1 mem_light_pwm3
+1 mem_light_pwm4
+1 mem_light_pwm5
+
+1 mem_light_pairing_enable
+2 mem_light_pairing_timer
+1 mem_light_cnum
+1 mem_light_next_record
+80 mem_light_clist
+
+
+1 mem_light_crr_cmd_count
+1 mem_curr_packet_num
+)
+
+(
+0 LIGHT_GROUP0
+)
+
+(
+0 LIGHT_CMD_PWM0
+1 LIGHT_CMD_PWM1
+2 LIGHT_CMD_PWM2
+3 LIGHT_CMD_PWM3
+4 LIGHT_CMD_PWM4
+5 LIGHT_CMD_PWM5
+6 LIGHT_CMD_AUTO_MODE
+0xff LIGHT_CMD_PAIRING
+
+)
Index: YJX_Only24g/FCC_1021S/format/app_lightc.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_lightc.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_lightc.format	(working copy)
@@ -0,0 +1,30 @@
+omemalloc(
+1 mem_lightc_led_gpio
+6 mem_lightc_row
+6 mem_lightc_col
+
+1 mem_adv_time
+
+20 mem_cmd0_string
+20 mem_cmd1_string
+20 mem_cmd2_string
+20 mem_cmd3_string
+20 mem_cmd4_string
+20 mem_cmd5_string
+20 mem_cmd6_string
+20 mem_cmd7_string
+20 mem_cmd8_string
+20 mem_cmd9_string
+20 mem_cmd10_string
+20 mem_cmd11_string
+20 mem_cmd12_string
+20 mem_cmd13_string
+20 mem_cmd14_string
+20 mem_cmd15_string
+20 mem_cmd16_string
+20 mem_cmd17_string
+20 mem_cmd18_string
+20 mem_cmd19_string
+20 mem_cmd20_string
+)
+
Index: YJX_Only24g/FCC_1021S/format/app_module.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_module.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_module.format	(working copy)
@@ -0,0 +1,249 @@
+memalloc(
+)
+omemalloc(	
+	2 mem_soft_version_num
+	1 mem_module_wake_up_gpio
+	1 mem_module_state_gpio
+	1 mem_module_connect_state_gpio
+
+	2 mem_current_packet_length
+	1 mem_module_state
+	
+	1 mem_module_mcu_wake_pin
+	4 mem_module_mcu_wake_delay_us
+
+	1 mem_module_spp_lpm_mult
+	1 mem_module_le_lpm_mult	
+	1 mem_module_bluetooth_stauts_by_command
+
+	//uart
+	2 mem_module_uart_rx_buffer
+	2 mem_module_uart_rx_buffer_end
+	2 mem_module_uart_tx_buffer
+	2 mem_module_uart_tx_buffer_end
+
+	//ADC
+	1 mem_module_read_vdd_flag
+	1 mem_module_read_vdd_count
+	1 mem_module_vdd_quotient
+	1 mem_module_vdd_remainder
+
+	//ble
+	1 mem_module_le_rx_data_len
+	2 mem_module_le_rx_data_address
+	2 mem_module_le_rx_data_handle
+	//ble write handle
+	2 mem_module_data_write_handle
+	2 mem_module_data_write_handle2
+	//flag
+	1 mem_module_flag
+
+	1 mem_module_hci_notify_len
+	2 mem_module_hci_notify_handle
+	2 mem_module_hci_nofiy_addr
+
+	4 mem_last_transmite_clock
+	
+	300 mem_module_uuid_list
+	0 mem_module_uuid_list_end
+	600 mem_module_le_att_list
+	0 mem_module_le_att_list_end
+	0 mem_module_nv_data
+	34 mem_module_nv_data0
+	34 mem_module_nv_data1
+	34 mem_module_nv_data2
+	34 mem_module_nv_data3
+	34 mem_module_nv_data4
+
+	0 mem_fcc_param_new
+	
+	1 mem_fcc_ch_new
+	1 mem_fcc_mod_new
+	1 mem_fcc_data_new
+	1 mem_fcc_send_mode_new
+
+	
+	0 mem_fcc_param
+	
+	1 mem_fcc_ch
+	1 mem_fcc_mod
+	1 mem_fcc_data
+	1 mem_fcc_send_mode
+
+1 mem_fcc_btble
+1 mem_fcc_hop
+1 mem_fcc_data_length
+	256 mem_log
+	2 mem_wptr
+	2 mem_rptr
+	#6 mem_100us_clk
+	1 mem_random_ch
+	256 mem_pn9
+	1 mem_fcc_pack
+
+)
+
+
+(//mem_module_flag
+//bit0~bit3 config module function
+0 MODULE_FLAG_UART_FLOW_CONTROL
+1 MODULE_FLAG_BLE_SEND_MTU23
+2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+//bit4~bit7 module states change
+4 MODULE_FLAG_BLE_DATA_FINISH
+5 MOUDLE_TASK_UNSNIFF
+6 MOUDLE_TASK_SNIFF
+
+)
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x26 HCI_CMD_SET_NVRAM_REQ
+0x27 HCI_CMD_SLEEP
+0x28 HCI_CMD_CONFIRM_GKEY
+0x29 HCI_CMD_SET_CREDIT_GIVEN
+0x2a HCI_CMD_AUTO_ADV_SCAN
+0x2b HCI_CMD_POWER_REQ
+0x2c HCI_CMD_POWER_SET
+0x30 HCI_CMD_PASSKEY_ENTRY
+0x31 HCI_CMD_SET_GPIO
+0x32 HCI_CMD_READ_GPIO
+0x33 HCI_CMD_LE_SET_PAIRING
+0x34 HCI_CMD_LE_SET_ADV_DATA
+0x35 HCI_CMD_LE_SET_SCAN_DATA
+0x36 HCI_CMD_LE_SEND_CONN_UPDATE_REQ
+0x37 HCI_CMD_LE_SET_ADV_PARM
+0x38 HCI_CMD_LE_START_PAIRING
+0x40 HCI_CMD_SET_WAKE_GPIO
+0x42 HCI_CMD_SET_TX_POWER
+0x43 HCI_CMD_BOOT_VERSION_REQ
+0x48 HCI_CMD_LE_CONFIRM_GKEY
+0x49 HCI_CMD_REJECT_JUSTWORK
+0x51 HCI_CMD_RESET_CHIP_REQ
+
+0x61 HCI_CMD_LE_SET_FIXED_PASSKEY
+
+0xff HCI_TEST_CMD_CLOSE_LPM
+)
+
+(//event
+0x00 HCI_EVENT_SPP_CONN_REP
+0x01 HCI_EVENT_HID_CONN_REP
+0x02 HCI_EVENT_LE_CONN_REP
+0x03 HCI_EVENT_SPP_DIS_REP
+0x04 HCI_EVENT_HID_DIS_REP
+0x05 HCI_EVENT_LE_DIS_REP
+0x06 HCI_EVENT_CMD_RES
+0x07 HCI_EVENT_SPP_DATA_REP
+0x08 HCI_EVENT_LE_DATA_REP
+0x09 HCI_EVENT_STANDBY_REP
+0x0a HCI_EVENT_STATUS_RES
+0x0b HCI_EVENT_FINISH_PACK_NUM
+0X0C HCI_EVENT_SNIFF_MD_CHANGE
+0x0D HCI_EVENT_NVRAM_REP
+0x0e HCI_EVENT_GKEY
+0x0F HCI_EVENT_INVALID_PACKET
+0x10 HCI_EVENT_GET_PASSKEY
+0x11 HCI_EVENT_LE_TK
+0x12 HCI_EVENT_REMOTE_MTU
+0x14 HCI_EVENT_LE_PAIRING_STATE
+0X15 HCI_EVENT_LE_ENCRYPTION_STATE
+0x17 HCI_EVENT_LE_CONNECTION_UPDATE
+0x1d HCI_EVENT_LE_GKEY
+
+)
+
+
+(//command HCI_CMD_SET_GPIO
+//byte 0
+0x00 HCI_CMD_CONFIG_GPIO_INPUT
+0x01 HCI_CMD_CONFIG_GPIO_OUTPUT
+//byte 1 input state
+0x00 GPIO_INPUT_PULLUP
+0x01 GPIO_INPUT_PULLDOWN
+0x02 GPIO_INPUT_HIGH_IMPEDANCE
+)
+
+
+
+(
+0x7e0 OTP_ADDR_RF_PARAM_FIX
+//struct of RF_PARAM_FIX
+// uint8       //length = param_pair_count * 2 
+// uint16     //param-pair-1
+// uint16     //param-pair-2
+// uint16     //param-pair-3
+// uint16     //param-pair-4
+// uint16     //param-pair-5
+// uint16     //param-pair-6
+// uint16     //param-pair-7
+)
+
+(
+0	PAIRING_PINCODE
+1	PAIRING_JUSTWORK
+2	PAIRING_PASSKEY
+3	PAIRING_CONFIRM
+)
+
+
+(
+0x0001	FLAG_BT_PAIRING_SUCCESS
+0x0101	FLAG_BT_PAIRING_FAIL
+0x0080	FLAG_BLE_PAIRING_SUCCESS
+0x0180	FLAG_BLE_PAIRING_FAIL
+)
+
+
+(
+1	FLAG_EVENT_START_ENC
+0	FLAG_EVENT_PAUSE_ENC
+)
+
+(
+	0 MOUDLE_STATE_BT_BIT
+	1 MOUDLE_STATE_BLE_BIT
+)
+
Index: YJX_Only24g/FCC_1021S/format/app_mouse.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_mouse.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_mouse.format	(working copy)
@@ -0,0 +1,334 @@
+
+memalloc(
+2 mem_init_cnt
+)
+//dpi eeprom addr
+
+
+omemalloc(
+// Mouse Work Area
+1 mem_mouse_key
+2 mem_mouse_x
+2 mem_mouse_y
+1 mem_mouse_z
+1 mem_mouse_tz
+1 mem_mouse_xy_h
+1 mem_sensor_shutter_hi
+1 mem_sensor_shutter_lo
+1 mem_sensor_smart_flag
+1 mem_sensor_squal_reg
+1 mem_sensor_iqc
+1 mem_mouse_move_flag
+2 mem_mouse_direct_timeout
+2 mem_mouse_no_data_timeout
+2 mem_mouse_discovery_timer
+2 mem_mouse_direct_timer
+2 mem_mouse_no_data_timer
+2 mem_mouse_blank_data_timer
+1 mem_mouse_send_blank_timer
+
+1 mem_mouse_cpi_count
+1 mem_mouse_dpi_button_state
+
+
+//mouse T wheel
+1 mem_wheel_tb_old_pinlevel
+1 mem_wheel_tb_new_pinlevel
+1 mem_wheel_tog 
+1 mem_mouse_tz_data
+1 mem_mouse_tz_data_count
+1 mem_mouse_tz_data_count1
+
+
+1 mem_mwheel_b_old_pinlevel
+1 mem_mwheel_b_new_pinlevel
+1 mem_mwheel_tog 
+1 mem_mouse_z_data
+1 mem_mouse_z_data_count
+1 mem_mouse_z_data_count1
+
+1 mem_reconn_mode
+1 mem_mouse_statue_led_timer  
+1 mem_le_connect_statue_flag
+1 mem_le_start_encrypt_timer
+
+7 mem_device_addr_temp
+
+1 mem_adc_read_timer
+1 mem_adc_low_volatage_led_timer_count
+2 mem_adc_reference_voltage
+1 mem_device_number
+2 mem_mouse_flag
+2 mem_mouse_function_enable
+1 mem_combination_select_device_timer_init
+1 mem_combination_select_device_count
+1 mem_select_device_button_statue
+
+1 mem_combination_ui_button_count
+1 mem_bt_discovey_button_statue
+1 mem_sensor_reset_gpio	
+
+1 mem_sensor_id1
+1 mem_sensor_id2
+//eeprom config param
+1 mem_mouse_dpi_led_delay_count
+1 mem_config_sensor_type
+1 mem_config_sensor_motion
+1 mem_lbutton_gpio
+1 mem_rbutton_gpio
+1 mem_mbutton_gpio
+1 mem_bk_button_gpio
+1 mem_fw_button_gpio
+1 mem_dpi_button_gpio
+1 mem_whee_a_data_gpio
+1 mem_whee_b_data_gpio
+1 mem_whee_ta_data_gpio
+1 mem_whee_tb_data_gpio
+1 mem_config_bt_button_gpio
+1 mem_config_select_device_button_gpio
+1 mem_config_paraing_led_gpio
+1 mem_config_low_voltage_alarm_gpio
+1 mem_config_device1_led_gpio
+1 mem_config_device2_led_gpio
+1 mem_config_device3_led_gpio	
+1 mem_sensor_data_gpio
+1 mem_dpi_led_gpio
+1 mem_config_function_enable
+1 mem_config_sensor_angle
+1 mem_select_sensor_angle_gpio
+1 mem_select_adc_gpio
+0 mem_config_end
+//max length 1f								
+4 mem_btclk_sensor
+1 mem_wire_usb_interval
+1 mem_mouse_mode_flag
+1 mem_usb_addr
+3 mem_flash_base
+1 mem_24g_device_number
+1 mem_24g_enter_lpm_timer
+1 mem_mouse_1step_up_count
+1 mem_mouse_2step_up_count
+2 mem_24g_pairing_timer_count
+
+//adc struct
+0 mem_mouse_vdd_calculate_set
+2 mem_mouse_vdd_full_vol
+2 mem_mouse_vdd_empty_vol
+2 mem_mouse_vdd_low_vol
+2 mem_mouse_vdd_now_vol
+// sensor led 
+1 mem_mouse_sensor_timer_count
+1 mem_sensor_led_style
+
+//led struct
+1 mem_mouse_led_type
+1 mem_mouse_blink_count
+1 mem_mouse_struct_led_gpio
+2 mem_mouse_on_time
+2 mem_mouse_off_time
+2 mem_mouse_cb_ledon
+2 mem_mouse_cb_ledoff
+
+//three devices param
+1 mem_reconn_times
+1 mem_reconn_times_init
+0 mem_mouse_information_start
+1 mem_device_flag
+1 mem_device1_type
+6 mem_device1_addr
+16 mem_device1_link_key
+6 mem_device1_locall_addr
+
+1 mem_device2_type
+6 mem_device2_addr
+16 mem_device2_link_key
+6 mem_device2_locall_addr
+
+1 mem_device3_type
+6 mem_device3_addr
+16 mem_device3_link_key
+6 mem_device3_locall_addr
+2 mem_store_flag
+1 mem_mouse_dpi
+4 mem_mouse_24g_addr
+0 mem_mouse_information_end
+
+0 mem_mouse_dpi_seting
+1 mem_320x_dpi_1
+1 mem_320x_dpi_2
+1 mem_320x_dpi_3
+1 mem_320x_dpi_4
+
+1 mem_3212_dpi_1
+1 mem_3212_dpi_2
+1 mem_3212_dpi_3
+1 mem_3212_dpi_4
+
+1 mem_3610_dpi_1
+1 mem_3610_dpi_2
+1 mem_3610_dpi_3
+1 mem_3610_dpi_4
+
+1 mem_mouse_24g_enter_lpm_enable
+
+400 mem_24g_ms_head_ptr
+)
+(
+//SPI GPIO 
+0x19 MOUSE_SPI1_CLK_GPIO
+0x1A MOUSE_SPI1_SDIO_GPIO
+0X1E MOUSE_SPI2_CLK_GPIO
+0X1F MOUSE_SPI2_SDIO_GPIO
+//combination
+0x01 MOUSE_L_BUTTON
+0X02 MOUSE_R_BUTTON
+0X04 MOUSE_M_BUTTON
+0X06 MOUSE_RM_BUTTON
+0X07 MOUSE_LMR_BUTTON
+//mouse default gpio
+0x1B MOUSE_DEFAULT_XA_GPIO
+0x1C MOUSE_DEFAULT_XB_GPIO
+
+//ui led blink
+0X00C8  LED_RECONNECT_BLINK //200
+0X0190  LED_DPI_BLINK //400
+0X03E8  LED_DISCOVERY_BLINK    //1000
+0XFF    LED_LONG_BLINK
+0x05	LED_SENSOR_BLINK_CNT
+//bt mode device number
+0x01 MODE_BT_DEVICE1
+0x02 MODE_BT_DEVICE2
+0x03 MODE_BT_DEVICE3
+0x02 MODE_24G_DEVICE
+//mouse  flag
+0X00 WRITE_REQ_ENABLE_FLAG
+0X01 LL_START_ENC_FLAG
+0X02 LL_PAIRING_SUCCESS_FLAG
+
+
+//mouse_function_flag
+0X04 MOUSE_FLAG_LEN
+//1byte
+0X00 MOUSE_SELECT_DEVICE_FLAG
+0X01 MOUSE_CPI_FLAG
+0X02 MOUSE_BT_CANNEL_RECONN_FLAG
+0X03 MOSUE_24G_PAIRING_FLAG
+0X04 MOUSE_LOW_VOLTAGE_FLAG
+0X05 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+0X06 MOUSE_LONG_BT_BUTTON_FLAG
+0X07 MOUSE_STORE_EEPROM_FLAG
+0x08 MOUSE_STATUE_UP_FLAG
+
+//3byte
+0X10 MOUSE_ENABLE_USB
+0X11 MOUSE_ENABLE_24G
+0X12 MOUSE_ENABLE_SPI2
+0X13 MOUSE_ENABLE_FLASH
+0X14 MOUSE_ENABLE_EEPROM
+0X15 MOUSE_ENABLE_STATUE_UP_THREE_LED
+0X16 MOUSE_ENABLE_STATUE_UP
+0X17 MOUSE_ENABLE_DPI_LED_BLINK
+//4byte
+0X18 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+0X19 MOUSE_ENABLE_2K_EEPROM
+0X1A MOUSE_ENABLE_ADC
+0X1B MOUSE_ENABLE_INIT_DELAY
+0X1C MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+0X1D MOUSE_ENABLE_AUTO_24G_PARING
+0X1E MOUSE_ENABLE_WAKEUP_FROM_POWER
+0X1F MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+
+
+
+//mouse dpi level
+0x00 MOUSE_DPI_LEVEL1
+0x01 MOUSE_DPI_LEVEL2
+0x02 MOUSE_DPI_LEVEL3
+0x03 MOUSE_DPI_LEVEL4
+
+
+//mouse sensor angle
+0x00 MOUSE_6CLK_ANGLE
+0X01 MOUSE_9CLK_ANGLE
+0X02 MOUSE_12CLK_ANGLE
+0X03 MOUSE_3CLK_ANGLE
+
+
+//mem_config_function_enable
+0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+1 ENABLE_MODE_LED
+2 ENABLE_LOW_VOLTAGE_LED
+3 ENABLE_DEVICE_LED
+4 ENABLE_BT_BUTTON
+5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+6 ENABLE_SELECT_DEVICE_BY_SWITCH
+
+0xFF GPIO_DISABLE
+
+
+//DPI button state 
+0x00 DPI_BUTTON_STATE_DOWN
+0x01 DPI_BUTTON_STATE_UP
+
+
+//eeprom address offect
+0X00 MOUSE_INFO_EEPROM_OFFECT
+0X5A MOUSE_DPI_EEPROM_OFFECT
+0X5B MOUSE_G24_ADDR_EEPROM_OFFECT
+
+// Sensor id number
+0x30 P32XX_ID1
+0x31 P3065_ID1
+0x3E P3610_ID1
+0x02 P3212_ID2
+0xD1 P3205_TJ3T_ID2
+0XD2 P3204_TJ3L_ID2
+0x54 PKA8_ID2
+0x70 P3065_XY_ID2
+
+
+//Sensor type
+0X00 P3205
+0X01 P3065
+0X02 KA8
+0X03 P3204
+0X04 P3212
+0X05 P3610
+0X06 P3065_XY
+
+
+//p3610 smart enable flag
+0X00 P3610_SMART_ENABLE
+0X01 P3610_SMART_DISABLE
+
+
+//SENSOR REG
+0x00 PAN_REG_PID_L
+0x01 PAN_REG_PID_H
+0x02 PAN_REG_MOTION_STAUS
+0x03 PAN_REG_DELTA_X
+0x04 PAN_REG_DELTA_Y
+0x05 PAN_REG_OPRATION_MODE
+0x06 PAN_REG_CONFIG
+0x07 PAN_REG_IMAGE_QUALITY
+0x08 PAN_REG_OPRATION_STATE
+0x09 PAN_REG_WRITE_PROTECT
+0x0A PAN_REG_SLEEP_1
+0x0B PAN_REG_ENTER_TIME
+0x0C PAN_REG_SLEEP_2
+0x0D PAN_REG_IMAGE_THRESHOLD
+0x0E PAN_REG_IMAGE_RECGNITION
+
+
+0x06 MOUSE_DPI_ADDRESS
+0x05 MOUSE_P3610_DPI_ADDRESS
+0x0D MOUSE_P3212_DPI_XADDRESS
+0x0E MOUSE_P3212_DPI_YADDRESS
+
+
+0x06 MOUSE_FPGA_RF_WORK_DEBUG_GPIO
+0x02 MOUSE_FPGA_DEBUG_GPIO
+
+)
+
+
Index: YJX_Only24g/FCC_1021S/format/app_remote_car.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_remote_car.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_remote_car.format	(working copy)
@@ -0,0 +1,150 @@
+
+omemalloc(
+1 mem_remote_car_hard_soft_switch
+
+1 mem_remote_car_queue_each_size
+1 mem_remote_car_queue_length
+
+1 mem_remote_car_queue_curr_num
+1 mem_remote_car_queue_read_ptr
+1 mem_remote_car_queue_write_ptr
+90 mem_remote_car_queue_ele
+
+1 mem_remote_style_led_type
+1 mem_remote_style_blink_count
+1 mem_remote_style_struct_led_gpio
+2 mem_remote_style_on_time
+2 mem_remote_style_off_time
+2 mem_remote_style_cb_ledon
+2 mem_remote_style_cb_ledoff
+
+
+1 mem_remote_car_led_num
+8 mem_remote_car_led_map
+
+0 mem_remote_car_keyscan
+1 mem_remote_car_key_num
+2 mem_cb_remote_car_keyscan
+
+0 mem_remote_car_key_conf0
+1 mem_remote_car_key_conf0_pin
+0 mem_remote_car_key_conf1
+1 mem_remote_car_key_conf1_pin
+0 mem_remote_car_key_conf2
+1 mem_remote_car_key_conf2_pin
+0 mem_remote_car_key_conf3
+1 mem_remote_car_key_conf3_pin
+0 mem_remote_car_key_conf4
+1 mem_remote_car_key_conf4_pin
+0 mem_remote_car_key_conf5
+1 mem_remote_car_key_conf5_pin
+0 mem_remote_car_key_conf6
+1 mem_remote_car_key_conf6_pin
+
+
+//rocker
+1 mem_rocker_negative_flag
+1 mem_rocker_work_status
+2 mem_current_vdd_value_default_mid_x
+2 mem_current_vdd_value_default_mid_y
+2 mem_current_vdd_value_default_mid_temp
+2 mem_current_vdd_default_range
+2 mem_rocker_last_status
+0 mem_rocker_status
+1 mem_rocker_x_status
+1 mem_rocker_y_status
+
+0 mem_remote_car_config_param
+1 mem_remote_car_config_setting_flag
+1 mem_remote_car_config_key_map
+1 mem_remote_car_config_layout
+1 mem_remote_car_config_connect_led_gpio
+1 mem_remote_car_config_check_way
+1 mem_remote_car_config_soft_switch_enable
+1 mem_remote_car_config_soft_switch_gpio
+1 mem_remote_car_config_timeout_shutdown_enable
+
+0 mem_remote_car_24g_motor_packet
+1 mem_remote_car_24g_motor_packet_lenght
+2 mem_remote_car_24g_motor_send_packet_head
+1 mem_remote_car_24g_motor_send_cmd
+2 mem_remote_car_24g_motor_send_length
+0 mem_remote_car_24g_motor_send_payload
+2 mem_remote_car_24g_motor1_payload
+2 mem_remote_car_24g_motor2_payload
+2 mem_remote_car_24g_motor3_payload
+1 mem_remote_car_24g_motor_send_checksum
+
+0 mem_remote_car_24g_fire_packet
+1 mem_remote_car_24g_fire_packet_lenght
+2 mem_remote_car_24g_fire_send_packet_head
+1 mem_remote_car_24g_fire_send_cmd
+2 mem_remote_car_24g_fire_send_length
+2 mem_remote_car_24g_fire_send_payload
+1 mem_remote_car_24g_fire_send_checksum
+
+15 mem_remote_car_24g_tx_temp
+
+2 mem_remote_car_no_data_timeout
+2 mem_remote_car_no_data_timer
+
+0 mem_remote_car_soft_power
+1 mem_remote_car_power_state
+1 mem_remote_car_power_timer
+1 mem_remote_car_power_off_timeout
+1 mem_remote_car_power_starting_timeout
+2 mem_remote_car_power_off_cb
+2 mem_remote_car_power_starting_cb
+2 mem_remote_car_power_standby_cb
+
+1 mem_remote_key_status
+1 mem_remote_car_24g_status
+
+1 mem_remote_car_24g_auto_work_step
+1 mem_remote_car_24g_pair_success_flag
+1 mem_remote_car_24g_enter_lpm_enable
+1 mem_remote_car_empty_packet
+400 mem_24g_RC_head_ptr
+)
+
+
+(
+// eeprom config
+0xb0 REMOTE_PARAM_EEPROM_CONFIG_ADDR
+
+)
+
+
+(
+0x00 CONTROL_F_B_MOTOR
+0x02 CONTROL_L_R_MOTOR
+)
+
+(
+0x00 KEY_MAP_TEN
+0x01 KEY_MAP_LR
+)
+
+(
+0x00 CONTROL_F_B_TEN
+0x02 CONTROL_L_R_TEN
+0x03 CONTROL_L_R_LR
+)
+
+(
+0 KEY_CHECK
+1 ROCKER_CHECK
+)
+
+(
+1 MOTOR_POSITIVE
+2 MOTOR_NEGATIVE
+)
+
+(
+0 ROCKER_MIDDLE_KEY
+1 ROCKER_POSITIVE_KEY
+2 ROCKER_NEGATIVE_KEY
+)
+
+
Index: YJX_Only24g/FCC_1021S/format/app_shutter.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_shutter.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_shutter.format	(working copy)
@@ -0,0 +1,252 @@
+
+
+omemalloc(
+
+////////////////////////////////////
+//shutter common config
+1 mem_shutter_bluetooth_type
+////////////////////////////////////
+
+//shutter config name by GPIO
+1 mem_shutter_config_enable
+2 mem_shutter_config_otp_base_address
+1 mem_shutter_config_size
+1 mem_shutter_config_select_gpio1
+1 mem_shutter_config_select_gpio2
+1 mem_shutter_config_select_gpio3
+
+2 mem_shutter_config_user_otp_address
+2 mem_shutter_config_eeprom_offset_addr
+
+////////
+2 mem_shutter_config_eeprom_start_flag
+1 mem_shutter_config_user_size
+///////
+1 mem_shutter_config_label
+2 mem_shutter_config_otp_addr
+///////////////////////////////////
+
+////////////////////////////////////
+//classic shutter config
+1 mem_classic_shutter_cable_unplug_conut
+1 mem_classic_shutter_hid_disconn_count
+2 mem_classic_shutter_random_mac_offset_addr
+////////////////////////////////////
+
+////////////////////////////////////
+//ble shutter config
+1 mem_ble_shutter_enable_notify
+2 mem_ble_shutter_reconn_dav_interval
+2 mem_ble_shutter_discovery_adv_interval
+2 mem_ble_shutter_reconn_timeout
+2 mem_ble_shutter_reconn_timer
+2 mem_ble_shutter_reconn_blink_on_time
+2 mem_ble_shutter_reconn_blink_off_time
+2 mem_ble_shutter_discovery_blink_on_time
+2 mem_ble_shutter_discovery_blink_off_time
+
+2 mem_ble_shutter_interval_min
+2 mem_ble_shutter_interval_max
+2 mem_ble_shutter_latency
+2 mem_ble_shutter_timeout
+
+2 mem_ble_shutter_interval_min_new
+2 mem_ble_shutter_interval_max_new
+2 mem_ble_shutter_latency_new
+2 mem_ble_shutter_timeout_new
+
+//////////////////shutter sleep timeout//////////////////
+2 mem_classic_shutter_discovery_timeout
+2 mem_classic_shutter_connect_timeout
+2 mem_ble_shutter_discovery_timeout
+2 mem_ble_shutter_connect_timeout
+2 mem_shutter_sleep_timeout
+2 mem_shutter_sleep_timer
+
+/////////////////////////////////////////////////////////////////
+1 mem_shutter_hard_soft_switch_case
+1 mem_shutter_soft_switch_button_gpio
+1 mem_shutter_soft_switch_power_state
+1 mem_shutter_soft_switch_poweron_time
+1 mem_shutter_soft_switch_poweroff_time
+2 mem_shutter_soft_switch_poweron_callback_function
+2 mem_shutter_soft_switch_poweroff_callback_function
+
+
+0 mem_shutter_keyscan
+1 mem_shutter_key_num
+2 mem_cb_shutter_keycan
+1 mem_shutter_key_conf0
+1 mem_shutter_key_conf1
+1 mem_shutter_key_conf2
+1 mem_shutter_key_conf3
+1 mem_shutter_key_conf4
+1 mem_shutter_key_conf5
+1 mem_shutter_key_conf6
+1 mem_shutter_key_conf7
+
+
+5 mem_key0_press
+5 mem_key1_press
+5 mem_key2_press
+5 mem_key3_press
+5 mem_key4_press
+5 mem_key5_press
+5 mem_key6_press
+5 mem_key7_press
+
+5 mem_key0_release	
+5 mem_key1_release
+5 mem_key2_release
+5 mem_key3_release
+5 mem_key4_release
+5 mem_key5_release
+5 mem_key6_release
+5 mem_key7_release
+
+5 mem_ble_data_buffer1
+5 mem_ble_data_buffer2
+5 mem_ble_data_buffer3
+5 mem_ble_data_buffer4
+5 mem_ble_data_buffer5
+5 mem_ble_data_buffer6
+5 mem_ble_data_buffer7
+5 mem_ble_data_buffer8
+50 mem_ble_data_buffer9_58
+
+5 mem_classic_data_buffer
+
+5 mem_classic_data_buffer1
+5 mem_classic_data_buffer2
+5 mem_classic_data_buffer3
+5 mem_classic_data_buffer4
+5 mem_classic_data_buffer5
+5 mem_classic_data_buffer6
+5 mem_classic_data_buffer7
+5 mem_classic_data_buffer8
+50 mem_classic_data_buffer9_58
+
+1 mem_queue_each_size
+1 mem_queue_length
+1 mem_queue_curr_num
+1 mem_queue_read_ptr
+1 mem_queue_write_ptr
+32 mem_queue_ele
+
+
+170 mem_shutter_nv_data
+
+0 mem_shutter_led_struct_app_led
+1 mem_shutter_led_struct_app_led_type
+1 mem_shutter_led_struct_app_led_blink_count
+1 mem_shutter_led_struct_app_led_gpio
+2 mem_shutter_led_struct_app_led_on_time
+2 mem_shutter_led_struct_app_led_off_time
+2 mem_shutter_led_struct_app_led_on_callback
+2 mem_shutter_led_struct_app_led_off_callback
+
+0 mem_shutter_power_off_led_style
+1 mem_shutter_power_off_led_style_type
+1 mem_shutter_power_off_led_style_blink_count
+1 mem_shutter_power_off_led_style_gpio
+2 mem_shutter_power_off_led_style_on_time
+2 mem_shutter_power_off_led_style_off_time
+2 mem_shutter_power_off_led_style_on_callback
+2 mem_shutter_power_off_led_style_off_callback
+
+1 mem_shutter_soft_swtich_botton_down
+11 mem_shutter_soft_swtich_led_struct_temp
+1 mem_shutter_power_off_timeout
+1 mem_shutter_power_off_timer
+
+)
+
+
+
+
+(
+0 BLE_SHUTTER
+1 CLASSIC_SHUTTER
+)
+
+(
+0x0000 NVRAM_EEPROM_OFFSET
+)
+
+(
+0x1b3a SHUTTER_EEPROM_CONFIG_CRC
+)
+
+(
+5 MAX_QUEUE_NUM
+5 SHUTTER_BLE_DATA_BUFFER
+5 SHUTTER_CLASSIC_DATA_BUFFER
+)
+
+
+(
+0x13	GATT_CONSUMER_NOTIFY_HANDLE
+0x14	GATT_CONSUMER_WRITE_HANDLE
+0x17	GATT_KEYBOARD_NOTIFY_HANDLE
+0x18	GATT_KEYBOARD_WRITE_HANDLE
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE
+//100ms
+0x00a0	SLOW_ADV_INTERVAL_VALUE
+)
+
+
+(
+0 ATT_BIT_NOTIFICATION
+1 ATT_BIT_INDICATION
+)
+///////////////////////////////////////////////////////////////////////////////////////
+
+(
+0 HARD_SWITCH
+1 SOFT_SWITCH
+)
+
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(//Data Rom Buffer Addr
+382		BLE_GATT_LIST_SIZE
+487		BT_SDP_LIST_SIZE
+40		BLE_KEY_VALUE_LIST_SIZE
+40		BT_KEY_VALUE_LIST_SIZE
+0x913A	BLE_SHUTTER_GATT_LIST
+0x92B8	CLASSIC_SHUTTER_SDP_LIST
+0x949F	BLE_SHUTTER_KEY_VALUE_LIST
+0x94C7	CLASSIC_SHUTTER_KEY_VALUE_LIST
+)
+
+
+(//soft switch power state
+0		SS_STATE_POWER_UP
+1		SS_STATE_POWER_ON
+2		SS_STATE_POWER_OFF
+)
+
+(
+0		SS_POWER_STATE_OFFSET
+1		SS_POWER_ON_TIME
+2		SS_POWER_OFF_TIME
+3		SS_POWER_ON_CB
+5		SS_POWER_OFF_CB
+
+)
+
+(
+
+0x4FFE SIM_IIC_SCL_GPIO_NUM
+0x4FFF SIM_IIC_SDA_GPIO_NUM
+
+)
+
Index: YJX_Only24g/FCC_1021S/format/app_usb.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_usb.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/app_usb.format	(working copy)
@@ -0,0 +1,179 @@
+
+omemalloc(
+500 mem_24g_dongle_head_ptr
+)
+
+
+
+//class type
+(
+0x00 STANDARD_REQ
+0x01 CLASS_REQ
+0x02 MANUFACTURER_REQ
+)
+//Standard Request Codes
+(
+0x00 GET_STATUS                // Code for Get Status
+0x01 CLEAR_FEATURE             // Code for Clear Feature
+0x03 SET_FEATURE              // Code for Set Feature
+0x05 SET_ADDRESS              // Code for Set Address
+0x06 GET_DESCRIPTOR           // Code for Get Descriptor
+0x07 SET_DESCRIPTOR           // Code for Set Descriptor(not used)
+0x08 GET_CONFIGURATION        // Code for Get Configuration
+0x09 SET_CONFIGURATION        // Code for Set Configuration
+0x0A GET_INTERFACE            // Code for Get Interface
+0x0B SET_INTERFACE            // Code for Set Interface
+0x0C SYNCH_FRAME              // Code for Synch Frame(not used)
+)
+//Standard Descriptor Types
+(
+0x01 DSC_DEVICE               // Device Descriptor
+0x02 DSC_CONFIG               // Configuration Descriptor
+0x03 DSC_STRING               // String Descriptor
+0x04 DSC_INTERFACE            // Interface Descriptor
+0x05 DSC_ENDPOINT             // Endpoint Descriptor
+)
+//HID Descriptor Types
+(
+0x21 DSC_HID			      // HID Class Descriptor
+0x22 DSC_HID_REPORT			  // HID Report Descriptor
+)
+//Define bmRequestType bitmaps
+(
+0x80 IN_DEVICE                // Request made to device,
+                              // direction is IN
+0x00 OUT_DEVICE               // Request made to device,
+                              // direction is OUT
+0x81 IN_INTERFACE             // Request made to interface,
+                              // direction is IN
+0x01 OUT_INTERFACE            // Request made to interface,
+                              // direction is OUT
+0x82 IN_ENDPOINT              // Request made to endpoint,
+                              // direction is IN
+0x02 OUT_ENDPOINT             // Request made to endpoint,
+)
+//HID Request Codes
+(
+0x01 GET_REPORT 		       // Code for Get Report
+0x02 GET_IDLE				   // Code for Get Idle
+0x03 GET_PROTOCOL			   // Code for Get Protocol
+0x09 SET_REPORT				   // Code for Set Report
+0x0A SET_IDLE				   // Code for Set Idle
+0x0B SET_PROTOCOL			   // Code for Set Protocol
+0xF2 HID_REPORT_ID           
+64 EP0_PACKET_SIZE         
+6 EP1_PACKET_SIZE         
+16 HID_REPORT_SIZE         
+0x001B HID_REPORT_DESCRIPTOR_SIZE    
+)
+//math cordic
+(
+0 TYPE_SIN		
+1 TYPE_ATAN	
+2 TYPE_MULT	
+3 TYPE_DIV		
+4 TYPE_ASIN	
+5 TYPE_SQRT	
+6 TYPE_COS		
+7 TYPE_TAN		 
+)
+   
+(
+0 DFIFO0_IN_EMPTY
+1 DFIFO1_IN_EMPTY
+2 DFIFO2_IN_EMPTY
+3 DFIFO3_IN_EMPTY
+4 DFIFO0_OUT_EMPTY
+5 DFIFO1_OUT_EMPTY
+6 DFIFO2_OUT_EMPTY
+7 DFIFO3_OUT_EMPTY
+)
+
+(
+4 USB_STATUS_SETUP
+6 USB_STATUS_NAK
+)
+
+(
+1 USB_GOT_REPORT_REQ
+2 USB_CONNECTED
+3 USB_SLEEP
+4 USB_RESUME
+5 USB_SETIDLE_1
+)
+
+(
+0x10 USB_EP1_KB
+0x20 USB_EP2_MS
+0x21 USB_EP2_MULTIKEY
+0x01 MAC_BOOT_MODE
+0x02 R_KEY
+0x03 LR_KEY
+)
+
+(
+0x8ffa	HID_KBDATA_ADDR
+0x903a	HID_MSDATA_ADDR
+0x90fe	HID_CONFDATA_ADDR
+)
+
+
+(
+0x01ba PC_GET_REPORT
+0x02ba PC_SET_REPORT
+0x0200 PC_SET_REPORT_bValue
+0x0000 PC_SET_REPORT_wIndex
+0x0001 PC_SET_REPORT_bLength
+0xba PC_REPORT_ID
+
+0x01 PC_GET_DATA
+0x00 PC_GET_NONDATA
+)
+
+(
+//--------------------------------------------------
+// Define device states
+0x00 DEV_ATTACHED	// Device is in Attached State
+0x01 DEV_POWERED	// Device is in Powered State
+0x02 DEV_DEFAULT		// Device is in Default State
+0x03 DEV_ADDRESS	// Device is in Addressed State
+0x04 DEV_CONFIGURED	// Device is in Configured State
+0x05 DEV_SUSPENDED	// Device is in Suspended State
+)
+
+(
+// Define wIndex bitmaps
+0x81 IN_EP1                    // Index values used by Set and Clear
+0x01 OUT_EP1                   // commands for Endpoint_Halt
+0x82 IN_EP2              
+0x02 OUT_EP2             
+0x83 IN_EP3              
+0x03 OUT_EP3             
+)
+
+(
+0 EP0_STALL
+1 EP1_IN_STALL
+2 EP1_OUT_STALL
+3 EP2_IN_STALL
+4 EP2_OUT_STALL
+5 EP3_IN_STALL
+6 EP3_OUT_STALL
+)
+
+(
+// Define wValue bitmaps for Standard Feature Selectors
+0x00 ENDPOINT_HALT             // Endpoint_Halt feature selector
+0x01 DEVICE_REMOTE_WAKEUP      // Remote wakeup feature(not used)
+0x00 BOOT_PROTOCOL
+0x01 REPORT_PROTOCOL
+0x01 USB_MAX_NUM_CFG
+)
+
+(
+0 TIMER_NAK
+640 TIMER_NAK_DELAY
+15 TIMER_WAKEUP
+5000 TIMER_WAKEUP_DELAY
+)
+
Index: YJX_Only24g/FCC_1021S/format/bt.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/bt.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/bt.format	(working copy)
@@ -0,0 +1,1025 @@
+
+	width = 32
+	const length = 12000
+
+	/* ========= memory ============== */
+memalloc(
+/* 00-0f most frequently used area  */
+1 mem_le_adv_transmit
+1 mem_le_adv_waitcnt
+1 mem_le_adv_rcv
+1 mem_le_req_rcv
+1 mem_le_scanrsp_rcv
+1 mem_le_conn_rcv
+
+1 mem_inquiryscan_waitcnt
+1 mem_inquiryscan_rcvcnt
+1 mem_pagescan_waitcnt
+1 mem_pagescan_rcvcnt
+1 mem_pagescan_rcvfhscnt
+1 mem_slave_rcvcnt
+1 mem_page_transmit
+1 mem_page_rcv
+1 mem_page_rcv_fhs
+1 mem_master_rcvcnt
+
+/* 10-1f debug area */
+1 mem_fhs_wait_counter
+1 mem_newconnto_counter
+1 mem_inquiry_transmit
+1 mem_inquiry_rcv
+1 mem_fw_ver
+1 mem_current_context
+1 mem_le_ch_mapped
+1 mem_last_freq
+1 mem_rssi
+1 mem_rx_type
+2 mem_rx_hec_err
+2 mem_rx_crc_err
+2 mem_context_ptr
+8 mem_display
+8 mem_bcd
+
+		/* context swappable area */
+1 mem_state
+1 mem_mode
+2 mem_tsniff
+4 mem_sniff_anchor
+6 mem_clk_offset
+2 mem_rx_window
+3 mem_plap
+1 mem_puap
+2 mem_pnap
+1 mem_conn_handle
+1 mem_arq
+1 mem_lmp_to_send
+1 mem_lmi_opcode
+1 mem_lmo_reason
+1 mem_op
+1 mem_state_map
+4 mem_supervision_timer
+2 mem_supervision_to
+1 mem_name_offset
+1 mem_key_size
+1 mem_conn_sm
+12 mem_aco
+16 mem_kc
+1 mem_conn_timer
+1 mem_sniff_attempt
+1 mem_sniff_timeout
+2 mem_dsniff
+1 mem_amaddr
+1 mem_lmo_opcode1
+1 mem_lmi_opcode1
+1 mem_lmo_reason1
+1 mem_lmo_tid1
+1 mem_lmo_opcode2
+1 mem_lmi_opcode2
+1 mem_lmo_reason2
+1 mem_lmo_tid2
+
+3 mem_hci_version
+2 mem_acl_pktlen
+1 mem_sco_pktlen
+2 mem_acl_pktcnt
+2 mem_sco_pktcnt
+
+1 mem_current_sniff_attempt
+1 mem_current_sniff_timeout
+1 mem_sniff_timeout_temp
+1 mem_nfreq_index_inq
+1 mem_nfreq_index_page
+1 mem_ninqy_index
+1 mem_fhs_misc
+
+
+
+/* lpo related */
+4 mem_subsniff_instant
+1 mem_subsniff_rate
+2 mem_subsniff_tcmax
+1 mem_subsniff_tsniff
+1 mem_lpm_adjust
+6 mem_sync_clke
+1 mem_lpm_current_mult
+4 mem_gpio_wakeup_low
+4 mem_gpio_wakeup_high
+	
+
+/* sco & esco */
+1 mem_air_mode
+1 mem_sco_asso_handle
+2 mem_sco_handle
+1 mem_esco_desco
+1 mem_esco_type
+1 mem_neogotiation_state
+1 mem_saved_amaddr
+1 mem_esco_arq
+1 mem_esco_saved_arq
+30 mem_sco_obuf
+30 mem_sco_ibuf
+1 mem_sco_poll
+
+
+
+//page
+1 mem_npage_index
+1 mem_page_mode
+4 mem_page_clk
+
+
+/* test related */
+2 mem_tst_pktcnt_sync
+2 mem_tst_pktcnt_hec
+2 mem_tst_pktcnt_crc
+2 mem_tst_pktcnt_dmh
+3 mem_tmp_buffer_head
+80 mem_tmp_buffer
+
+
+1 mem_tester_emulate
+0 mem_temp_payload
+1 test_mode_scenario
+1 test_mode_hopping_mode
+1 test_mode_tx_freq
+1 test_mode_rx_freq
+1 test_mode_power_mode
+1 test_mode_poll_period
+1 test_mode_packet_type
+2 test_mode_data_length
+1 mem_test_mode_old_debug_config
+1 mem_tester_cnt
+
+
+/*temp mem*/
+1 mem_temp_am_addr
+1 mem_temp_arq
+
+//
+2 mem_len
+4 mem_clkn_bt
+4 mem_clke_bt
+4 mem_dpll_clkn
+1 mem_connection_options
+
+1 mem_nameres_cnt
+2 mem_txptr
+2 mem_slot_offset
+
+//extm
+1 extm_fhs_misc
+1 extm_newconn_am_addr
+3 extm_class
+3 extm_lap
+1 extm_uap
+3 extm_nap
+
+
+//debug
+1 mem_debug_config
+1 mem_lch_code
+1 mem_fhs_am_addr
+2 mem_dpll_error
+1 mem_select_list_item
+0 mem_temp_reconn_record
+1 mem_record_bt_mode
+6 mem_temp_lap
+2 mem_list_item_ptr
+
+100 mem_eir
+)
+
+
+xmemalloc(
+/* patch enable 0x4000-0x403f  */
+
+1 mem_patch00
+1 mem_patch01
+1 mem_patch02
+1 mem_patch03
+1 mem_patch04
+1 mem_patch05
+1 mem_patch06
+1 mem_patch07
+1 mem_patch08
+1 mem_patch09
+1 mem_patch0a
+1 mem_patch0b
+1 mem_patch0c
+1 mem_patch0d
+1 mem_patch0e
+1 mem_patch0f
+1 mem_patch10
+1 mem_patch11
+1 mem_patch12
+1 mem_patch13
+1 mem_patch14
+1 mem_patch15
+1 mem_patch16
+1 mem_patch17
+1 mem_patch18
+1 mem_patch19
+1 mem_patch1a
+1 mem_patch1b
+1 mem_patch1c
+1 mem_patch1d
+1 mem_patch1e
+1 mem_patch1f
+1 mem_patch20
+1 mem_patch21
+1 mem_patch22
+1 mem_patch23
+1 mem_patch24
+1 mem_patch25
+1 mem_patch26
+1 mem_patch27
+1 mem_patch28
+1 mem_patch29
+1 mem_patch2a
+1 mem_patch2b
+1 mem_patch2c
+1 mem_patch2d
+1 mem_patch2e
+1 mem_patch2f
+1 mem_patch30
+1 mem_patch31
+1 mem_patch32
+1 mem_patch33
+1 mem_patch34
+1 mem_patch35
+1 mem_patch36
+1 mem_patch37
+1 mem_patch38
+1 mem_patch39
+1 mem_patch3a
+1 mem_patch3b
+1 mem_patch3c
+1 mem_patch3d
+1 mem_patch3e
+1 mem_patch3f
+
+	/* 3 device contexts  */
+80 mem_context
+1 mem_current_amaddr
+1 mem_lpm_mode
+1 mem_device_option
+1 mem_scan_mode
+4 mem_last_clkn
+
+	/* parameters */
+8 mem_features
+3 mem_lap
+1 mem_uap
+2 mem_nap
+1 mem_npage
+3 mem_glap
+3 mem_class
+2 mem_iscan_window
+2 mem_iscan_interval
+2 mem_pscan_window
+2 mem_pscan_interval
+2 mem_page_interval
+2 mem_page_window
+2 mem_page_to
+2 mem_inq_window
+1 mem_fcomp_mul
+1 mem_fcomp_div
+2 mem_rx_window_init
+2 mem_rx_window_sniff
+2 mem_rf_init_ptr
+
+	/* connection related */
+1 mem_last_type
+1 mem_last_type_esco
+1 mem_last_type_saved
+2 mem_retransmission_cnt
+4 mem_next_btclk
+
+1 mem_rf_rccal
+1 mem_handle_num
+1 mem_max_slot
+1 mem_eir_enable
+
+/* AFH related */
+4 mem_afh_instant
+2 mem_afh_error_total
+1 mem_afh_cfg
+1 mem_afh_new_mod
+5 mem_afh_map_lo
+5 mem_afh_map_hi
+1 mem_afh_used
+2 mem_afh_index
+11 mem_afh_map_new
+80 mem_afh_map
+4 mem_afh_timer
+10 mem_afh_classify_channel_map
+
+
+	/* lpm related */
+2 mem_chip_functions
+2 mem_lpm_wake_lock
+2 mem_lpm_interval
+1 mem_lpm_overhead
+1 mem_lpm_hibernate_switch
+1 mem_esco_addr
+1 mem_sniff_unint_lost
+1 mem_ptt
+4 mem_sleep_counter   //should be 0x41fc in REVC
+4 mem_sleep_counter_all
+6 mem_sleep_clkn
+3 mem_sniff_rcv
+3 mem_sniff_lost
+3 mem_clks_per_lpo
+
+1 mem_lpm_mult
+1 mem_lpm_mult_timeout
+1 mem_lpm_mult_cnt
+
+/* 8139-813b lpm_ctrl[31:12] */
+3 mem_lpm_config				
+
+1 mem_lpm_xtalcnt
+1 mem_lpm_buckcnt
+1 mem_lpm_ldocnt
+1 mem_lpm_isogate
+1 mem_lpm_isogate_final
+16 mem_saved_gpio	// should be 0x421e in REVC
+3 mem_saved_gsel
+8 mem_saved_mark
+1 mem_saved_spidctrl
+2 mem_patch_ptr
+2 mem_patch_len
+
+32 mem_timers
+
+/*LINK KEY*/
+1 mem_link_key_exists
+16 mem_link_key
+
+
+/* HCI */
+1 mem_hci_cmd
+1 mem_hci_conn_handle
+3 mem_hci_plap
+1 mem_hci_puap
+2 mem_hci_pnap
+
+/*Peripherals*/
+1 mem_uartd_rxitems_got_data
+1 mem_uartd_rxitems_threshold
+2 mem_uartd_rx_timeout
+
+1 mem_loadcode_times
+
+1 mem_tx_lch
+2 mem_tx_len
+
+1 mem_tx_power
+
+1 mem_context_number
+
+1 mem_250k_freq_enable
+
+ifdef DEBUG_RF_INIT
+1 mem_rf_init_data
+endif
+)
+
+(//bluetooth tx power
+0 TX_POWER_0DB
+1 TX_POWER_3DB
+2 TX_POWER_5DB
+3 TX_POWER_f3DB
+4 TX_POWER_f5DB
+
+0x20 TX_POWER_PAIR
+)
+
+
+ifdef RAM_VERSION
+0x4b17 rom_lpm_sleep
+0x4b1d rom_lpm_enter_sleep
+0x4b16 rom_lpm_write_ctrl
+0x6b1a rom_otpd_read_data
+0x6ada rom_otp_write
+else
+0x3b17 rom_lpm_sleep
+0x59e0 rom_save_ucode
+
+0x4219 rom_mem_lpm_xtalcnt
+0x423b rom_mem_patch_ptr
+0x423d rom_mem_patch_len
+
+0x5b1a rom_otpd_read_data
+0x5ada rom_otp_write
+endif
+	/* context */
+(
+0x01 coffset_mode
+0x02 coffset_tsniff
+0x04 coffset_sniff_anchor
+0x08 coffset_clk_offset
+0x0e coffset_rx_window
+0x10 coffset_plap
+0x16 coffset_conn_handle
+0x17 coffset_arq
+	/* 3.0 only */
+0x18 coffset_lmp_to_send
+0x1b coffset_op
+0x1c coffset_state_map
+	/* le only */
+0x18 coffset_le_ch
+0x19 coffset_le_hop
+0x1a coffset_le_event_cnt
+
+80 context_size
+1 context_num
+)
+
+(
+0 lpm_flag_wake
+1 lpm_flag_loadcode
+)
+
+/* ========= parameters ============== */
+(
+0x0050 param_newconn_arq
+0x0007 param_esco_addr
+0x0010 param_conn_handle
+0x01f0 param_conn_handle_comp
+0x0020 param_newconnto
+0x0008 param_pagerespto
+0x0a00 param_snooze_setup_orig
+0x5353 param_snooze_ahead_orig
+0x00ff param_ninquiry
+0x2000 param_page_to
+0x0005 param_max_slot
+0x0010 param_sco_poll
+
+/* 6Mhz clock setting */
+ifdef CLK6M
+0x0721 param_tx_setup
+0x06e8 param_rx_setup
+0x04e8 param_rx_setup_earlier
+0x0300 param_rf_setup
+0x01d8 param_clke_cal
+0x0500 param_conn_access 
+0x0400 param_conn_access_wider
+200 param_pll_setup
+else
+/* 12Mhz clock setting */
+0x0e43 param_tx_setup
+0x09d0 param_rx_setup_earlier
+0x0600 param_rf_setup
+0x03bb param_clke_cal
+0x0600 param_conn_access 
+0x0800 param_conn_access_wider
+0x0500 param_pll_setup		// 120 is minimum
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+endif
+
+110 param_lpm_fix
+10 param_lpo_extra
+200 param_lpm_adjmax
+
+ifdef SIM
+20 param_hibernate_clks
+3 param_chgpump_delay
+else
+-1 param_hibernate_clks
+3000 param_chgpump_delay
+endif
+
+3 param_featrue_ssp
+0x0101 param_lmpext_ssp_enable
+339 param_acl_pktlen
+30   param_sco_pktlen
+1     param_acl_pktcnt		/*buffer acl pkt cnt*/
+7     param_sco_pktcnt
+
+
+0x8fffff param_features0
+0x9d83fe param_features1  // not support afh
+0x8359     param_features2
+0x000033 param_unap
+0x001177 param_lap
+0x9e8b33 param_glap
+0x002540 param_class//0x180208 //0x002580//402500//240404
+0x12e904 param_hci_version
+0x000a04 param_lmp_version//0x0a04
+0x000a06 param_lmp_version0
+0x12e9 param_lmp_subversion
+0x0012 param_tisw
+0x0012 param_tpsw
+0x1000 param_tisi
+0x0800 param_tpsi
+0x0020 param_page_window
+0x0020 param_inq_window
+0x1c80 param_supervision_to
+39 param_fcomp_div
+2 param_fcomp_mul
+6     param_name_len
+0x535442 param_name
+0x344950 param_name1
+
+
+)
+
+/* ======= packet types  ========= */
+(
+0x0      type_null    
+0x1      type_poll   
+0x2      type_fhs    
+0x3      type_dm1    
+0x4      type_dh1    
+0x5      type_hv1    
+0x6      type_hv2    
+0x7      type_hv3    
+0x8      type_3dh1     
+0x9      type_aux1   
+0xa      type_dm3    
+0xb      type_dh3    
+0xe      type_dm5    
+0xf      type_dh5    
+0x10     type_id
+0x11     type_shutdown
+0x13     type_lmp
+)
+
+/* ========== flag[6] =============== */
+(
+0        always        /* always 1 */
+1        true          /* set/rstn by verify,compare,icompare (true) */
+2        positive      /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output >= 0 */
+3        timeout       /* read only, the timeout from timers */
+5        zero          /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output == 0 */
+6        crc_failed    /* level, cleared by hop_start */
+7        enable_white  /* outside mux decide whether to load bt_clk or response_X */
+8        enable_parity /* level */
+9        enable_crc    /* level */
+10       enable_hec    /* level */
+11       decode_fec1   /* level */
+12       decode_fec2   /* level */
+13       decode_fec0   /* level */
+14       encrypt       /* level */
+15       crc16       /* for caculate ccitt crc16 */
+16       swfine	/* =0 stop_watch count based on oneslot =1 on 1 clock */
+20       rqst_freq    /* pulse, to start calculating frequency */
+21       recalc        /* pulse, to recalculate the fhs_parity */
+22       init_encrypt  /* pulse, issued to initialize encrption */
+23       mhalfbnd    /* half slot boundary of clke_rt, or when clke_bt[0] toggles */
+24       sync          /* sync found as a result of correlation,set/rstn by correlate opcode */
+25       user10    /* user10 */
+26       kc_p_activate  /* pulse to recalc the kc_p */
+27       encode_fec1   /* level */
+28       encode_fec2   /* level */
+29       encode_fec0   /* level */
+30       packet_end    /* pulse */
+32       is_tx         /* level */
+33       is_rx         /* level */
+34       halfslot     /* pulse, read only, when clkn_bt[0] toggles */
+35       oneslot      /* pulse, read only, when clkn_bt[1] toggles */
+36       mslotbnd     /* pulse, read only, when clke_bt[1] toggles */
+37       expire       /* level, read only, when selected clock source exceed timeup value */
+38       meet         /* level, read only, when selected clock source meet timeup value */
+39       tx_clear     /* level, read only, indicate tx pipe is cleared */
+40       user         /* user0 */
+41       master        /* user1 */
+42       slave2         /* user2 */
+43       wake           /* user3 */
+44       user2        /* user4 */
+45       match         /* user5 */
+46       attempt        /* user6 */
+47       user3          /* user7 */
+48       clknt         /* user8 */
+49	   user7 	/* user9 */
+50       synchronize   /* synchronize lpo and regular version of the clock */
+51       lpo_edge  /* read only, 3 clocks after risling edge of lpo clock */
+52       blank         /* C0 only, means pdata == 0 */
+53       modone          /* set divide operation is done */
+54       le		/* bluetooth 4.0 LE enable */
+55       aes_ready	/* set when aes is ok */
+63       never         /* read only, always 0 */
+)
+
+default flag = always
+
+/* ========== reg[6] =============== */
+(
+0        mark   /* for keeping strobes, more permanent */
+1        type   /* save and verify during rx */     /* rw */
+2        temp   /* general purpose register, 64 bits */
+3        contru  /* contr uart */
+4        am_addr      /* verify during rx, read and send during tx */ /* ro */
+5        contw        /* last mem_addr during write */
+6        contr        /* last mem_addr during read */
+7        queue    /* the index of qset*,qisolate* commands, ie, if queue = 3, qset/qisolate operate on bit3 */
+8        debug    /* can be wired out for observation */
+9        access   /* the 72 bit access word */
+10       contwu   /* contw uart */
+11       timeup        /* when does certain counter expire */
+12       pwindow       /* bit 71-61 of pdata; because on rx, bits shifts in from 71 down */
+13       fhs_parity    /* re-gernated based on bt_adr( {nap,uap,lap} ) when recalc flag is pulsed */
+14       white_init    /* init value of the whitening */
+15       crc24_init        /* init crc24 lfsr, 24 bits */
+16       interrupts    /* set interrupts, 40 bits */
+17       rega          /* general purpose register, 32 bits */
+18       regb          /* general purpose register, 32 bits */
+19       regc          /* general purpose register, 17 bits */
+20       regab         /* concat of {rega,regb}, thus 64 bits */
+21       radio_ctrl   /* radio i/f direct i/o ctrl, check following "radio_ctrl" section */
+21       ctrl_reg     /* 2023 and after */
+22       jtag_addr    /* load jtag address field, lsb */
+23       freq_index   /* 7 bit read only */
+24       jtag_data    /* wdata to and rdata from jtag */
+25       clkn              /* {clkn_bt, clkn_rt} */
+26       clke              /* {clke_bt, clke_rt} */
+27       stop_watch
+28       fhs_misc   /* SR, SP, pscan mode */
+29       fhs_class  /* class field in fhs */
+30       fhs0   /* read only, bit 0-71 of fhs word */
+31       fhs1   /* read only, bit 72-142 of fhs word */
+32       bt_adr /* r/w, the bt_addr to access gen and freq hopping, contain only lap and uap */
+33       bt_clk /* r/w, the bt_clk for freq hopping */
+34       clkn_bt  /* read only, native bluetooth clock, free running 3.2KHz  or controlled by RTHALFSLOT register */
+35       clkn_rt  /* read only, native realtime clock, free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+36       freq_mode
+/* wire even_train    = freq_mode[4];    // odd even train                            */
+/* wire conn_mode     = 3;    // connection                                           */
+/* wire iqpgscan_mode = 2;    // slave in inquiry and page (not response)             */
+/* wire iqpgresp_mode = 1;    // slave in inquriy and page (response only)            */
+/* wire inqypage_mode = 0;    // master in inquiry and page(response or not response) */
+37       xin   /* x parameter, read only */
+38       N_tx_slot /* the N factor in equations for Xi,Xp,Xprm,Xprs */
+39 	   auxcnt
+40       clke_bt  /* r/w,  external bluetooth clock , free running 3.2KHz or controlled by RTHALFSLOT register */
+41       clke_rt  /* r/w,  external realtime clock, , free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+43       host_mode         /* generic stuff for kick starts */
+44       lap
+45       uap
+46       nap         
+47       regext		/* r/w extended 12x32bit registers,  indexed by regext_index */
+48       alarm             /* r/w, lpo wake up time, this is also how lpo and current clock keep sync */
+49       lpo_time          /* read only, this is the value to be copied back to clkn/clke after wakeup */
+50       kc_ls             /* secret key,                71: 0 */
+51       kc_ms             /* secret key,               127:72 */
+52       g1l               /* encryption length                */
+53		mask3ff		/* for mask 0x3ff operation */
+54       aes_ctrl		
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+61         pc /* direct goto */
+62       null              /* to nowhere */
+63       pdata /* the shift register */
+)
+default reg = pdata
+
+/* regext_index */
+(
+0 regidx_data
+4 regidx_key
+8 regidx_xor
+12 regidx_result
+)
+/* ========== radio_ctrl========= */
+(
+0 TXGFSK
+1 PSK
+2 PSK3M
+3 RESET
+)
+/* assign BPWR = radio_ctrl[0]; */
+/* assign PARAMP = radio_ctrl[1]; */
+/* assign XTALPU = radio_ctrl[2]; */
+/* assign SYNTHPU = radio_ctrl[3]; */
+/* assign TXPU = radio_ctrl[4]; */
+/* assign RXPU = radio_ctrl[5]; */
+/* assign SLCTRL = radio_ctrl[6]; */
+/* assign XTALSEL_MUX_SEL = radio_ctrl[7] */
+
+
+/* =========== destination[4] ============== */
+(
+0 bucket
+1 rxf
+2 back
+3 mod
+)
+default dest = bucket
+
+/* =========== source[4] ============= */
+(
+1 txf
+3 demod
+)
+default source = 0
+
+
+/* ============== mark ============= *//*0 - 47 */
+(
+
+0  mark_fhs_eir  
+1  mark_rxbuf_inuse
+2  mark_tx_l2cap
+3  mark_switch_initiated
+4  mark_accept_switch
+5  mark_loopback
+7  mark_esco
+8  mark_esco_rxok
+9  mark_context
+10 mark_am_addr_broadcast
+11 mark_fhs_already_good
+12 mark_page_trainb
+13 mark_lpm_mult_enable
+14 mark_usb_flag
+15 mark_old_packet
+16 mark_longpacket
+17 mark_testmode
+18 mark_ar2
+19 mark_h5tx_rp
+20 mark_h5tx_crc	
+21 mark_h5tx_retransmit
+22 mark_h5rx_pstart
+23 mark_h5_sync
+24 mark_h5_reinit
+28 mark_inquiry_on
+29 mark_inquiry_state
+30 mark_inquiry_trainb
+31 mark_periodical_diac
+32 mark_all_diac
+33 mark_slave_in_rand_accepted
+34 mark_reconn_recieve_switch
+35 mark_isstr
+36 mark_loadcode
+37 mark_ext_patch
+38 mark_24g
+39 mark_24g_conext
+40 mark_eeprom_size
+// REVAB:max 35, REVC:max 63
+41 mark_ble_tx_md
+42 mark_ble_rx_md
+43 mark_otp_encrypt
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer 可扩展
+12  ui_led_blink1
+13 ui_led_blink2
+ 
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+5 wake_lock_uart_tx
+6 wake_lock_uart_rx
+7 wake_lock_button
+8 wake_lock_cmd
+9 wake_lock_app
+10 wake_lock_lmp_tx
+11 wake_lock_lmp_rx
+12 wake_lock_l2cap_tx
+13 wake_lock_l2cap_rx
+14 wake_lock_ipc_c512bt
+15 wake_lock_ipc_bt2c51
+
+)
+
+(
+0 bt_disabled
+1 ble_disabled
+2 module_disable
+
+)
+
+(
+0x33  REC_3_MODE
+0x34  REC_4_MODE
+0x35  REC_4_MODE_STATIC_ADDRESS
+0x36  REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS
+0x37  REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS
+)
+
+
+//sniff UART_TX UART_RX
+(
+6 UART_WAKEUP_TX
+7 UART_WAKEUP_RX
+)
+
+
Index: YJX_Only24g/FCC_1021S/format/command.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/command.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/command.format	(working copy)
@@ -0,0 +1,1396 @@
+
+/* Parse Command:
+TX: take bits from tx fifo, jam it into shift and a destination (rf,bucket)
+RX: take bits from demod,  jam it into shift and a destination (acl,sco,bucket) */
+
+/* Inject Command:
+TX: 0 into shift, send tail of shift into a destination (rf,bucket)
+RX: 0 into shift, send tail of shift into a destination (acl,sco,bucket) */
+
+format
+  ! 15 romdat
+  % d0
+  % d1
+  % d2
+  % d3
+  [8] d0
+  [8] d1
+  [8] d2
+  [8] d3
+end
+
+format
+  ! 15 enable   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+ /* High 5 bytes of channel map */
+format
+  ! 15 pulse   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 disable   /* set flag to 0 */
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 set0  /* set selected bit of reg to 0 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 set1  /* set selected bit of reg to 1 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9          /* alu op demux */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflag  /* set selected bit of the reg to the polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 nsetflag  /* set the selected bit of the reg to the opposite polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflip    /* invert the selected bit of the reg */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 10            /* this is alu op */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 0x1f qset1      /* demux the lowest 4 bit of queue and OR it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 1 */
+  [5] opcode
+  [6] 9
+  [6] always
+  [6] reg
+  [9] 0
+end
+  
+format
+  ! 0x1f qset0      /* demux the lowest 4 bit of queue and AND it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 0 */
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f qsetflag   /* set the bit in reg index by queue to same as flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f nqsetflag   /* set the bit in the reg index by queue to opposite of flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 0x1f qsetflip      /* flip the bit in reg index by queue */
+  % reg
+  [5] opcode
+  [6] 10
+  [6] always
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 1 parse       /* take bits out of source (sco_tx,tx_buffer,rx-elas) into pdata and dest (sco_rx,rx_fifo,tx-elas) */
+  % source
+  % dest
+  % immediate
+  [5] opcode
+  [4] source      /* voice, data, demod */
+  [2] 0
+  [6] 0    
+  [2] 0           /* parse or inject */ 
+  [4] dest        /* acl, sco, mod, bucket */
+  [9] immediate   /* number of bits to parse off */
+end
+
+format
+  ! 1 inject      /* shift data from pdata into destination (tx-elas,rx_fifo,sco_rx) */
+  % destination
+  % immediate
+  [5] opcode
+  [4] 0
+  [2] 0
+  [6] 1
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] immediate   /* number of bits to be injected */
+end
+
+format
+  ! 1 iinject
+  % destination
+  % regr
+  [5] opcode
+  [6] regr       /* contain the number of bits to inject */
+  [6] 3
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] 0 
+end
+
+format
+  ! 1 stuff  /* automatic parse, stuff_counter decrement on every bit until hits zero */
+  % source
+  % destination
+  [5] opcode
+  [4] source
+  [2] 0
+  [6] 2
+  [2] 0
+  [4] destination
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 force
+  % immediate
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] immediate
+end
+
+format    /* force whatever is on shift_reg to regsiters */
+  ! 0x13 iforce
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 increase
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 1    /* alu operation add */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 pincrease
+  % immediate
+  [5] opcode
+  [6] -1  /* pdata */
+  [6] 1   /* alu add */
+  [6] -1  /* back to pdata */
+  [9] immediate
+end
+
+format    /* force immediate value into registers */
+  ! 3 and_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 and
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] immediate
+end
+  
+format
+  ! 0x13 iand    /* pdata & regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] 0
+end
+  
+
+format    /* and whatever is in shiftreg with reg */
+  ! 0x13 iand_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 or_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 or
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 ior
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 ior_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 skip_to   /* jump to location stored in reg */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] rom_addr
+  [9] 0
+end
+
+format
+  ! 3 copy
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 4   /* alu operation copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 deposit   /* copy the register content thru alu to shift register, not prealigned like preload */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] -1  /* pdata */
+  [9] 0
+end
+
+format
+  ! 3 icopy     /* copy the shift register lsb content directly to register, not aligned */
+  % regw
+  [5] opcode
+  [6] -1  /* pdata */
+  [6]  4  /* alu copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 add
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 iadd       /* regr + pdata -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 sub          /* immediate - regr -> regw */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 isub       /* pdata - regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 flip
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 iflip  /* use shift register as immediate to do xor */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 xor
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 3 xor_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 ixor  /* pdata xor regr and store result in regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 invert
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 8
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 pinvert    /* invert pdata into itself */
+  [5] opcode
+  [6] -1
+  [6] 8
+  [6] -1
+  [9] 0
+end
+
+format
+  ! 3 div                 /* regr div immediate div */
+  % reg
+  % immediate
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 idiv           /* pdata div regr data ready at most after 41 nops */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 remainder            /* harvest div remainder */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 14
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 quotient             /* harvest div quotient */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 15
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 6
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 22
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 18
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 35
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 25
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 34
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift32
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 30
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 7
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 23
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 26
+  [6] regw
+  [9] 0
+end
+
+  
+format
+  ! 3 lshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 19
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 36
+  [6] regw
+  [9] 0
+end
+  
+
+format
+  ! 3 lshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 32
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 random               /* random number into regw */
+  % reg
+  [5] opcode
+  [6] 0
+  [6] 20
+  [6] reg
+  [9] 0
+end
+
+format                     /* bit reverse within a byte */
+  ! 3 reverse
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 27
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 priority    /* priority encode reg into regw, lsb is the top priority, ie, priority(8'b00010000) = 4 */
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 21
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 7 setsect   /* set a section of pdata */
+  % section    /* 0 sets 17:0 of pdata with set_data, 1 sets 35:18, 2 sets 53:36, 3 sets 71:54 */
+  % set_data
+  [5] opcode
+  [7] 0
+  [2] section
+  [18] set_data
+end
+
+format
+  ! 10 preload   /* load stuff into pdata according to fhs format, check us.v */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 0
+  [6] -1
+  [9] 0
+end
+
+format  /* load register with pdata content, according to fhs format, check us.v */
+  ! 10 ialigned   /* all bits are in position */
+  % regw
+  [5] opcode
+  [6] -1
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format  /* load register to another according to fhs format */
+  ! 10 aligned
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 4 branch
+  % addr
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 call
+  % addr
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 rtn
+  % flag
+  [5] opcode
+  [6] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 0x0c store          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istore        /* write to memory, data from pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] addr
+end
+
+format
+  ! 0x1d icrc         /* read from memory, address from reg, count from loopcnt, put crc result into pdata */
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] 0
+end
+
+
+format
+  ! 0x1d ifetch         /* read from memory, data into pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0c storet          /* write to memory, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istoret        /* write to memory, data from temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetcht          /* read from memory, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetcht         /* read from memory, data into temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [1] 0   /* msb */
+  [15] addr
+  [8] immediate
+end
+
+format
+  ! 0x0e hjam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [1] 1   /* msb */
+  [15] addr
+  [8] immediate
+end
+
+format			/* 0x242... */
+  ! 4 nbranch
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 ncall
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 nrtn
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 4 nop
+  % addr  /* no-op for addr+2 clocks */
+  [5] opcode
+  [6] 0     
+  [6] 0     /* always */ 
+  [15] addr
+end
+
+format
+  ! 4 clear_stack
+  [5] opcode
+  [6] 4
+  [6] 0    /* always */
+  [15] 0
+end
+
+format
+  ! 6 until
+  % reg
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 1
+  [9] 0
+end
+  
+format
+  ! 6 correlate   /* quit if 1. flag is true 2, regr time up 3, found sync,(cond_true) */
+  % reg          /* expire counter to check against */
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 2           /* correlate */
+  [9] 0           
+end
+
+format
+  ! 5 compare   /* sets cond flag,  if reg equals immediate */
+  % immediate
+  % reg
+  % mask
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] immediate
+end
+
+format
+  ! 0x15 icompare   /* sets cond flag,  if reg equals pdata */
+  % mask
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] 0
+end
+
+format   /* sets cond. flag, if reg equals LS half of shift reg with MS half of reg being mask */
+  ! 5 iverify
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 2
+  [18] 0
+end
+
+format
+  ! 0x15 qisolate1
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] -1
+end
+
+format
+  ! 0x15 qisolate0
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] 0
+end
+
+	/* REVAB bug: cannot access bit above 35 */
+format
+  ! 5 isolate1
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] -1
+  [9] addr
+end
+
+format
+  ! 5 isolate0
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] 0
+  [9] addr
+end
+
+format
+  ! 11 setarg
+  % immediate
+  [5] opcode
+  [27] immediate
+end
+
+format
+  ! 0x1b arg
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [21] immediate
+end
+
+  
+format
+  ! 0 sleep
+  [5] opcode
+  [27] 0
+end
+
+format
+  ! 0 snooze
+  [5] opcode
+  [6] -1
+  [21] 0
+end
+
+format
+  ! 0 revision
+  % rev_num
+  [5] opcode
+  [27] rev_num
+end
+
+format
+  ! 0x18 loop   /* branch when loopcnt is NOT zero, and decrease loopcnt */
+  % addr
+  [5] opcode
+  [4] 4
+  [8] 0
+  [15] addr
+end
+
+format
+  ! 0x18 beq   /* branch when pdata is equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 0
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bne   /* branch when pdata is NOT equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 1
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtneq   /* return when pdata is equal to immediate */
+  % imme
+  [5] opcode
+  [4] 2
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnne   /* return when pdata is NOT equal to immediate */
+  % imme
+  [5] opcode
+  [4] 3
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 bbit1   /* branch when pdata's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 5
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bbit0   /* branch when pdata's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 6
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnbit1   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 7
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnbit0   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 8
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 8	bpatch
+  % imme
+  % addr
+  [5] opcode
+  [4] 9
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 8	bpatchx
+  % imme
+  % addr
+  [5] opcode
+  [4] 14
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark1   /* branch when mark's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 10
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark0   /* branch when mark's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 11
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnmark1   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 12
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnmark0   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 13
+  [8] imme
+  [15] 0
+end
+
+
+format
+  ! 3 mult                  /* immediate mult regr */  /* the product will be ready 17 clks later */
+  % immediate                                   /* use "product" instruction to get the result */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 imult           /* pdata mult regr */  /* the product will be ready after 15 nops */
+  % reg                                         /* use product opcode to get the result */
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate mult pulse to multiplier */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 mul32                  /* immediate mult regr */ 
+  % regr
+  % immediate                                  
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31           
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 imul32           /* pdata mult regr 32x32=64bit */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31                   
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 product              /* harvest mult product */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 17
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 byteswap
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 33
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 shasx          /* SHA256 Sx operation, immediate is Sx */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 28
+  [6] regw
+  [9] immediate
+end
+
+
+format
+  ! 0x13 regexrot 	/* regext[0] <- regext[7], regext[1] <- regext[0], regext[2] <- regext[1] ... */
+  [5] opcode
+  [6] 0
+  [6] 29
+  [6] null
+  [9] 0
+end
+
Index: YJX_Only24g/FCC_1021S/format/hci.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/hci.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/hci.format	(working copy)
@@ -0,0 +1,570 @@
+
+
+memalloc(
+1 mem_h5rx_ackcnt
+1 mem_check_err_acl_cont
+
+1 mem_rp_packets
+2 mem_packet_type
+
+2 mem_hci_sniff_conn_handle
+2 mem_hci_sniff_max_interval
+2 mem_hci_sniff_min_interval
+2 mem_hci_sniff_attempt
+2 mem_hci_sniff_timeout
+2 mem_voice_setting
+1 mem_retransmission_effort
+2 mem_sco_ptype
+3 mem_extm_uap_restore
+
+2 mem_h5rx_rptr
+1 mem_h5rx_ack
+1 mem_h5tx_ack
+2 mem_h5tx_rptr
+2 mem_h5tx_wptr
+2 mem_h5tx_free
+1 mem_h5rx_tmp
+1 mem_h5tx_seq
+
+2 mem_hci_acl_queue_wptr
+2 mem_hci_acl_queue_rptr
+2 mem_hci_acl_queue_end
+1 mem_hci_acl_queue_wcnt
+1 mem_hci_acl_cnt
+
+2 mem_hci_acl_tx_trigger_wptr //tx via uart
+
+
+1 mem_hci_curr_len
+2 mem_hci_curr_target 
+) 
+
+xmemalloc(
+
+2 mem_baud
+1 mem_hci_lt_rx_state
+)
+
+15 hci_flag_rp
+//mem_hci_options bit map
+(
+1 hci_option_h4
+2 hci_option_protocol2
+3 hci_option_protocol3
+4 hci_option_uart
+5 hci_option_usb
+6 hci_option_phy2
+7 hci_option_phy3
+)
+// UART baud rate @6MHz
+(
+0 uart_ctrl_bit_enable
+3 uart_ctrl_bit_slip_protocol
+
+)
+
+//bit map of core_uart_ctrl
+(
+
+)
+//bit map of core_uart_status
+(
+0 uart_status_tx_fifo_full
+1 uart_status_tx_fifo_empty
+2 uart_status_tx_busy
+3 uart_status_rx_fifo_empty
+
+)
+//HCI H4 LOG related
+(
+0x4850 mem_hci_log
+8 hci_log_size
+100 hci_log_cnt
+
+)
+//HCI H4 Packet TYPE
+(
+0x01 HCI_H4_TYPE_CMD
+0x02 HCI_H4_TYPE_ACL
+0x04 HCI_H4_TYPE_EVENT
+
+)
+// HCI command opcode group field values
+(
+0x01 HCI_OGF_LINK_CONTROL
+0x02 HCI_OGF_LINK_POLICY
+0x03 HCI_OGF_BASEBAND
+0x04 HCI_OGF_INFO
+0x05 HCI_OGF_STATUS
+0x06 HCI_OGF_TEST
+0x08 HCI_OGF_LOW_ENERGY
+0x3e HCI_OGF_LOGO_TESTING
+0x3f HCI_OGF_VENDOR_SPECIFIC
+)
+
+// HCI link control opcode command field values, OGF=1
+(
+0x01 HCI_INQUIRY 
+0x02 HCI_INQUIRY_CANCEL 
+0x03 HCI_PERIODIC_INQUIRY_MODE 
+0x04 HCI_EXIT_PERIODIC_INQUIRY_MODE 
+0x05 HCI_CREATE_CONNECTION 
+0x06 HCI_DISCONNECT 
+0x07 HCI_ADD_SCO_CONNECTION 
+0x08 HCI_CREATE_CONNECTION_CANCEL
+0x09 HCI_ACCEPT_CONNECTION 
+0x0A HCI_REJECT_CONNECTION 
+0x0B HCI_LINK_KEY_REQUEST_REPLY 
+0x0C HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY 
+0x0D HCI_PIN_CODE_REQUEST_REPLY 
+0x0E HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY 
+0x0F HCI_CHANGE_CONNECTION_PACKET_TYPE 
+0x11 HCI_AUTHENTICATION_REQUESTED 
+0x13 HCI_SET_CONNECTION_ENCRYPTION 
+0x15 HCI_CHANGE_CONNECTION_LINK_KEY 
+0x17 HCI_MASTER_LINK_KEY 
+0x19 HCI_REMOTE_NAME_REQUEST 
+0x1A HCI_REMOTE_NAME_REQUEST_CANCEL
+0x1B HCI_READ_REMOTE_SUPPORTED_FEATURES 
+0x1C HCI_READ_REMOTE_EXT_FEATURES 
+0x1D HCI_READ_REMOTE_VERSION_INFORMATION 
+0x1F HCI_READ_CLOCK_OFFSET 
+0x20 HCI_READ_LMP_HANDLE
+0x28 HCI_SETUP_SCO_CONNECTION
+0x29 HCI_ACCEPT_SCO_CONNECTION
+0x2A HCI_REJECT_SCO_CONNECTION
+0x2B HCI_IO_CAP_REQUEST_REPLY
+0x2C HCI_USER_CONFIRMATION_REQUEST_REPLY
+0x2D HCI_USER_CONFIRMATION_REQUEST_NEGATIVE_REPLY
+0x2E HCI_USER_PASSKEY_REQUEST_REPLY
+0x2F HCI_USER_PASSKEY_REQUEST_NEGATIVE_REPLY
+0x30 HCI_REMOTE_OOB_DATA_REQUEST_REPLY
+0x33 HCI_REMOTE_OOB_DATA_REQUEST_NEGATIVE_REPLY
+0x34 HCI_IO_CAPABILITY_REQUEST_NEGATIVE_REPLY
+0x35 HCI_CREATE_PHYSICAL_LINK
+0x36 HCI_ACCEPT_PHYSICAL_LINK
+0x37 HCI_DISCONNECT_PHYSICAL_LINK
+0x38 HCI_CREATE_LOGICAL_LINK
+0x39 HCI_ACCEPT_LOGICAL_LINK
+0x3A HCI_DISCONNECT_LOGICAL_LINK
+0x3B HCI_LOGICAL_LINK_CANCEL
+0x3C HCI_FLOW_SPEC_MODIFY
+0x3D HCI_ENHANCED_SETUP_SYNCHRONOUS_CONNECTION
+0x3E HCI_ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST
+0x3F HCI_TRUNCATED_PAGE
+0x40 HCI_TRUNCATED_PAGE_CANCEL
+0x41 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST
+0x42 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x43 HCI_START_SYNCHRONIZATION_TRAIN
+0x44 HCI_RECEIVE_SYNCHRONIZATION_TRAIN
+0x45 HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY
+)
+
+
+// HCI link policy commands OCF value, OGF=2
+(
+0x01 HCI_HOLD_MODE 
+0x03 HCI_SNIFF_MODE 
+0x04 HCI_EXIT_SNIFF_MODE 
+0x05 HCI_PARK_MODE 
+0x06 HCI_EXIT_PARK_MODE 
+0x07 HCI_QOS_SETUP 
+0x09 HCI_ROLE_DISCOVERY 
+0x0B HCI_SWITCH_ROLE 
+0x0C HCI_READ_LINK_POLICY_SETTINGS 
+0x0D HCI_WRITE_LINK_POLICY_SETTINGS 
+0x0e HCI_READ_DEFAULT_LINK_POLICY_SETTINGS
+0x0f HCI_WRITE_DEFAULT_LINK_POLICY_SETTINGS
+0x10 HCI_FLOW_SPECIFICATION
+0x11 HCI_SNIFF_SUBRATING
+)
+
+// HCI host controller and baseband commands OCF values, OGF=3
+(
+0x01 HCI_SET_EVENT_MASK 
+0x03 HCI_RESET 
+0x05 HCI_SET_EVENT_FILTER 
+0x08 HCI_FLUSH 
+0x09 HCI_READ_PIN_TYPE 
+0x0A HCI_WRITE_PIN_TYPE 
+0x0B HCI_CREATE_NEW_UNIT_KEY 
+0x0D HCI_READ_STORED_LINK_KEY 
+0x11 HCI_WRITE_STORED_LINK_KEY 
+0x12 HCI_DELETE_STORED_LINK_KEY 
+0x13 HCI_WRITE_LOCAL_NAME 
+0x14 HCI_READ_LOCAL_NAME 
+0x15 HCI_READ_CONN_ACCEPT_TIMEOUT 
+0x16 HCI_WRITE_CONN_ACCEPT_TIMEOUT 
+0x17 HCI_READ_PAGE_TIMEOUT 
+0x18 HCI_WRITE_PAGE_TIMEOUT 
+0x19 HCI_READ_SCAN_ENABLE 
+0x1A HCI_WRITE_SCAN_ENABLE 
+0x1B HCI_READ_PAGE_SCAN_ACTIVITY 
+0x1C HCI_WRITE_PAGE_SCAN_ACTIVITY 
+0x1D HCI_READ_INQUIRY_SCAN_ACTIVITY 
+0x1E HCI_WRITE_INQUIRY_SCAN_ACTIVITY 
+0x1F HCI_READ_AUTHENTICATION_ENABLE 
+0x20 HCI_WRITE_AUTHENTICATION_ENABLE 
+0x21 HCI_READ_ENCRYPTION_MODE 
+0x22 HCI_WRITE_ENCRYPTION_MODE 
+0x23 HCI_READ_CLASS_OF_DEVICE 
+0x24 HCI_WRITE_CLASS_OF_DEVICE 
+0x25 HCI_READ_VOICE_SETTING 
+0x26 HCI_WRITE_VOICE_SETTING 
+0x27 HCI_READ_AUTOMATIC_FLUSH_TIMEOUT 
+0x28 HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT 
+0x29 HCI_READ_NUM_BROADCAST_RETRANSMISSIONS 
+0x2A HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS 
+0x2B HCI_READ_HOLD_MODE_ACTIVITY 
+0x2C HCI_WRITE_HOLD_MODE_ACTIVITY 
+0x2D HCI_READ_TRANSMIT_POWER_LEVEL 
+0x2E HCI_READ_SCO_FLOW_CONTROL_ENABLE 
+0x2F HCI_WRITE_SCO_FLOW_CONTROL_ENABLE 
+0x31 HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 
+0x33 HCI_HOST_BUFFER_SIZE 
+0x35 HCI_HOST_NUM_COMPLETED_PACKETS 
+0x36 HCI_READ_LINK_SUPERVISION_TIMEOUT 
+0x37 HCI_WRITE_LINK_SUPERVISION_TIMEOUT 
+0x38 HCI_READ_NUMBER_OF_SUPPORTED_IAC 
+0x39 HCI_READ_CURRENT_IAC_LAP 
+0x3A HCI_WRITE_CURRENT_IAC_LAP 
+0x3B HCI_READ_PAGE_SCAN_PERIOD_MODE 
+0x3C HCI_WRITE_PAGE_SCAN_PERIOD_MODE 
+0x3D HCI_READ_PAGE_SCAN_MODE 
+0x3E HCI_WRITE_PAGE_SCAN_MODE 
+0x3F HCI_SET_AFH_CHANNEL_CLASSIFICATION 
+
+
+0x42 HCI_READ_INQUIRY_SCAN_TYPE 
+0x43 HCI_WRITE_INQUIRY_SCAN_TYPE 
+0x44 HCI_READ_INQUIRY_MODE 
+0x45 HCI_WRITE_INQUIRY_MODE 
+0x46 HCI_READ_PAGE_SCAN_TYPE 
+0x47 HCI_WRITE_PAGE_SCAN_TYPE 
+
+0x48 HCI_READ_AFH_CHANNEL_ACCESSMENT_MODE 
+0x49 HCI_WRITE_AFH_CHANNEL_ACCESSMENT_MODE 
+0x51 HCI_READ_EXTENDED_INQUIRY_RESPONSE
+0x52 HCI_WRITE_EXTENDED_INQUIRY_RESPONSE
+0x53 HCI_REFRESH_ENCRYPTION_KEY
+0x55 HCI_READ_SIMPLE_PAIRING_MODE
+0x56 HCI_WRITE_SIMPLE_PAIRING_MODE
+0x57 HCI_READ_LOCAL_OOB_DATA
+0x58 HCI_READ_INQUIRY_RESPONSE_TRANSMIT_POWER_LEVEL
+0x59 HCI_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL
+0x60 HCI_SEND_KEYPRESS_NOTIFICATION
+0x5A HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5B HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5F HCI_ENHANCED_FLUSH
+0x61 HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x62 HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x63 HCI_SET_EVENT_MASK_PAGE_2
+0x64 HCI_READ_LOCATION_DATA
+0x65 HCI_WRITE_LOCATION_DATA
+0x66 HCI_READ_FLOW_CONTROL_MODE
+0x67 HCI_WRITE_FLOW_CONTROL_MODE
+0x68 HCI_READ_ENHANCE_TRANSMIT_POWER_LEVEL
+0x69 HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT
+0x6A HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT
+0x6B HCI_SHORT_RANGE_MODE
+0x6C HCI_READ_LE_HOST_SUPPORT
+0x6D HCI_WRITE_LE_HOST_SUPPORT
+0x6E HCI_SET_MWS_CHANNEL_PARAMETERS
+0x6F HCI_SET_EXTERNAL_FRAME_CONFIGURATION
+0x70 HCI_SET_MWS_SIGNALING
+0x71 HCI_SET_MWS_TRANSPORT_LAYER
+0x72 HCI_SET_MWS_SCAN_FREQUENCY_TABLE
+0x73 HCI_SET_MWS_PATTERN_CONFIGURATION
+0x74 HCI_SET_RESERVED_LT_ADDR
+0x75 HCI_DELETE_RESERVED_LT_ADDR
+0x76 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_DATA
+0x77 HCI_READ_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x78 HCI_WRITE_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x79 HCI_READ_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7A HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7B HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7C HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7D HCI_READ_LOCAL_OOB_EXTENDED_DATA
+0x7E HCI_READ_EXTENDED_PAGE_TIMEOUT
+0x7F HCI_WRITE_EXTENDED_PAGE_TIMEOUT
+0x80 HCI_READ_EXTENDED_INQUIRY_LENGTH
+0x81 HCI_WRITE_EXTENDED_INQUIRY_LENGTH
+)
+
+
+// HCI informational parameters OCF values, OGF=4
+(
+0x01 HCI_READ_LOCAL_VERSION_INFORMATION 
+0x02 HCI_READ_LOCAL_SUPPORTED_COMMANDS
+0x03 HCI_READ_LOCAL_SUPPORTED_FEATURES 
+0x04 HCI_READ_LOCAL_EXT_FEATURES 
+0x05 HCI_READ_BUFFER_SIZE 
+0x07 HCI_READ_COUNTRY_CODE 
+0x09 HCI_READ_BD_ADDR 
+0x0A HCI_REJECT_CONNECTION_REQUEST
+0x0B HCI_READ_LOCAL_SUPPORTED_CODECS
+)
+
+// HCI status parameters OCF values, OGF=5
+(
+0x01 HCI_READ_FAILED_CONTACT_COUNTER 
+0x02 HCI_RESET_FAILED_CONTACT_COUNTER 
+0x03 HCI_GET_LINK_QUALITY 
+0x05 HCI_READ_RSSI 
+0x06 HCI_READ_AFH_CHANNEL_MAP
+0x07 HCI_READ_BD_CLOCK
+0x08 HCI_READ_ENCRYPTION_KEY_SIZE
+0x09 HCI_READ_LOCAL_AMP_INFO
+0x0A HCI_READ_LOCAL_AMP_ASSOC
+0x0B HCI_WRITE_REMOTE_AMP_ASSOC
+0x0C HCI_GET_MWS_TRANSPORT_LAYER_CONFIGURATION
+0x0D HCI_SET_TRIGGERED_CLOCK_CAPTURE
+)
+
+// HCI testing command OCF values, OGF=6
+(
+0x01 HCI_READ_LOOPBACK_MODE 
+0x02 HCI_WRITE_LOOPBACK_MODE 
+0x03 HCI_ENABLE_DEVICE_UNDER_TEST_MODE 
+0x04 HCI_WRITE_SIMPLE_PAIRING_DEBUG_MODE
+0x07 HCI_ENABLE_AMP_RECEIVER_REPORTS
+0x08 HCI_AMP_TEST_END
+0x09 HCI_AMP_TEST
+0x0A HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE
+)
+
+// HCI vendor specific command OCF values -OGF=3F
+(
+0x01 HCI_WRITE_BD_ADDR 
+0x02 HCI_READ_INQUIRY_RESPONSE_TIMEOUT 
+0x03 HCI_WRITE_INQUIRY_RESPONSE_TIMEOUT 
+0x04 HCI_READ_PAGE_SCAN_REPETITION_MODE 
+0x05 HCI_WRITE_PAGE_SCAN_REPETITION_MODE 
+0x06 HCI_READ_PAGE_RESPONSE_TIMEOUT 
+0x07 HCI_WRITE_PAGE_RESPONSE_TIMEOUT 
+0x08 HCI_READ_NEW_CONNECTION_TIMEOUT 
+0x09 HCI_WRITE_NEW_CONNECTION_TIMEOUT 
+0x0a HCI_INITIALIZE_BASEBAND 
+0x0b HCI_WRITE_LOCAL_SUPPORTED_FEATURES 
+0x0c HCI_WRITE_PARK_PARAMETERS 
+0x0d HCI_READ_PARK_PARAMETERS 
+0x0e HCI_WRITE_QUALITY_OF_SERVICE 
+0x0f HCI_NOT_USED 
+0x10 HCI_MODIFY_BEACON_PARAMETERS 
+0x11 HCI_UNPARK_USING_PM_ADDR 
+0x12 HCI_WRITE_HOPPING_CHANNELS 
+0x13 HCI_SLEEP_FOREVER_MODE 
+0x14 HCI_WRITE_AUTO_PAGE_SCAN_ENABLE 
+0x15 HCI_READ_AUTO_PAGE_SCAN_ENABLE 
+0x16 HCI_SET_ENCRYPTION_KEY_SIZE 
+0x17 HCI_INVALIDATE_FLASH_AND_REBOOT 
+0x18 HCI_UPDATE_UART_BAUD_RATE 
+0x19 HCI_WRITE_GPIO_1_4_AS_OUTPUT 
+0x1A HCI_WRITE_GPIO_2_LED 
+0x1B HCI_SET_TESTMODE_TYPE 
+0x1C HCI_WRITE_SCO_PCM_INT_PARAM 
+0x1D HCI_READ_SCO_PCM_INT_PARAM 
+0x1E HCI_WRITE_PCM_DATA_FORMAT_PARAM 
+0x1F HCI_READ_PCM_DATA_FORMAT_PARAM 
+0x20 HCI_WRITE_COMFORT_NOISE_PARAM 
+0x21 HCI_READ_COMFORT_NOISE_PARAM 
+0x22 HCI_WRITE_SCO_TS 
+0x23 HCI_READ_SCO_TS 
+0x24 HCI_WRITE_PCM_LOOPBACK_MODE 
+0x25 HCI_READ_PCM_LOOPBACK_MODE 
+0x26 HCI_SET_TRANSMIT_POWER 
+0x27 HCI_SET_SLEEPMODE_PARAM 
+0x28 HCI_READ_SLEEPMODE_PARAM 
+0x29 HCI_SLEEPMODE_CMD 
+0x2A HCI_DELAY_PERIPHERAL_SCO_STARTUP 
+0x2B HCI_WRITE_RECEIVE_ONLY 
+0x2C HCI_WRITE_RATE_CONTROL 
+0x2D HCI_TX_UNMOD_CARRIER 
+0x2E HCI_DOWNLOAD_MINIDRIVER 
+0x2F HCI_CRYSTAL_PPM 
+0x30 HCI_SET_POWER_AMP_BIAS 
+0x31 HCI_SET_HAM_BEHAVIOR 
+0x32 HCI_SET_AFH_BEHAVIOR 
+0x33 HCI_READ_USER_DEFINED_NVRAM 
+0x34 HCI_ENABLE_RADIO 
+0x35 HCI_READ_DIAGNOSTIC_INFO 
+0x36 HCI_GET_HID_DEVICE_LIST 
+0x37 HCI_ADD_HID_DEVICE 
+0x38 HCI_READ_APP_FW_CONFIG_VERSION 
+0x39 HCI_DELETE_HID_DEVICE 
+0x3B HCI_ENABLE_USB_HID_EMULATION 
+// 0x3A available
+// 0x3B available
+0x3C HCI_SEND_LMPDU 
+0x3D HCI_AUTO_PAIR_REQ 
+0x3E HCI_READ_VS_EXTENSION 
+0x3F HCI_WRITE_VS_EXTENSION 
+
+0x77 HCI_OPCODE_FC77
+0x79 HCI_OPCODE_FC79
+0xC4 HCI_DOWNLOAD_PATCH
+0xCC HCI_OPCODE_FCCC
+
+0x00 HCI_VENDOR_CMD_RESET
+0x01 HCI_VENDOR_CMD_CHIPID
+0x02 HCI_VENDOR_CMD_BAUD
+0x03 HCI_VENDOR_CMD_PATCH
+0x04 HCI_VENDOR_CMD_PATCH_DONE
+0x05 HCI_VENDOR_CMD_ECHO
+0x06 HCI_VENDOR_CMD_BDADDR
+
+0x07 HCI_VENDOR_CMD_ENTER_LPM
+0x08 HCI_VENDOR_CMD_COMMU_READY
+
+0x10 HCI_VENDOR_CMD_MEM
+0x11 HCI_VENDOR_CMD_EEP
+
+0X12 HCI_VENDOR_CMD_PATCH_SEC_INIT
+0X13 HCI_VENDOR_CMD_PATCH_SEC
+)
+
+//HCI LE controller command OCF values, OGF=8
+(
+0x01 HCI_LE_SET_EVENT_MASK
+0x02 HCI_LE_READ_BUFFER_SIZE
+0x03 HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
+0x05 HCI_LE_SET_RANDOM_ADDRESS
+0x06 HCI_LE_SET_ADVERTISING_PARAMETERS
+0x07 HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER
+0x08 HCI_LE_SET_ADVERTISING_DATA
+0x09 HCI_LE_SET_SCAN_RESPONSE_DATA
+0x0A HCI_LE_SET_ADVERTISE_ENABLE
+0x0B HCI_LE_SET_SCAN_PARAMETERS
+0x0C HCI_LE_SET_SCAN_ENABLE
+0x0D HCI_LE_CREATE_CONNECTION
+0x0E HCI_LE_CREATE_CONNECTION_CANCEL
+0x0F HCI_LE_READ_WHITE_LIST_SIZE
+0x10 HCI_LE_CLEAR_WHITE_LIST
+0x11 HCI_LE_ADD_DEVICE_TO_WHITE_LIST
+0x12 HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST
+0x13 HCI_LE_CONNECTION_UPDATE
+0x14 HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
+0x15 HCI_LE_READ_CHANNEL_MAP
+0x16 HCI_LE_READ_REMOTE_USED_FEATURES
+0x17 HCI_LE_ENCRYPT
+0x18 HCI_LE_RAND
+0x19 HCI_LE_START_ENCRYPTION
+0x1A HCI_LE_LONG_TERM_KEY_REQUEST_REPLY
+0x1B HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY
+0x1C HCI_LE_READ_SUPPORTED_STATES
+0x1D HCI_LE_RECEIVER_TEST
+0x1E HCI_LE_TRANSMITTER_TEST
+0x1F HCI_LE_TEST_END
+0x20 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY
+0x21 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY
+)
+// HCI event code
+(
+0x01 HCI_EVENT_INQUIRY_COMPLETE
+0x02 HCI_EVENT_INQUIRY_RESULT
+0x03 HCI_EVENT_CONNECTION_COMPLETE
+0x04 HCI_EVENT_CONNECTION_REQUEST
+0x05 HCI_EVENT_DISCONNECTION_COMPLETE
+0x06 HCI_EVENT_AUTHENTICATION_COMPLETE
+0x07 HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
+0x08 HCI_EVENT_ENCRYPTION_CHANGE_COMPLETE
+0x09 HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
+0x0A HCI_EVENT_MASTER_LINK_KEY_COMPLETE
+0x0B HCI_EVENT_READ_REMOTE_FEATURES_COMPLETE
+0x0C HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
+0x0D HCI_EVENT_QOS_SETUP_COMPLETE
+0x0E HCI_EVENT_COMMAND_COMPLETE
+0x0F HCI_EVENT_COMMAND_STATUS
+0x10 HCI_EVENT_HARDWARE_ERROR
+0x11 HCI_EVENT_FLUSH_OCCURRED
+0x12 HCI_EVENT_ROLE_CHANGE
+0x13 HCI_EVENT_NUM_COMPLETED_PACKETS
+0x14 HCI_EVENT_MODE_CHANGE
+0x15 HCI_EVENT_RETURN_LINK_KEYS
+0x16 HCI_EVENT_PIN_CODE_REQUEST
+0x17 HCI_EVENT_LINK_KEY_REQUEST
+0x18 HCI_EVENT_LINK_KEY_NOTIFICATION
+0x19 HCI_EVENT_LOOPBACK_COMMAND
+0x1A HCI_EVENT_DATA_BUFFER_OVERFLOW
+0x1B HCI_EVENT_MAX_SLOTS_CHANGE
+0x1C HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
+0x1D HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
+0x1E HCI_EVENT_QOS_VIOLATION
+0x1F HCI_EVENT_PAGE_SCAN_MODE_CHANGE
+0x20 HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE
+0x21 HCI_EVENT_FLOW_SPECIFICATION_COMPLETE
+0x22 HCI_EVENT_INQUIRY_RESULT_WITHRSSI
+0x23 HCI_EVENT_READ_REMOTE_EXT_FEATURES_COMPLETE
+0x2C HCI_EVENT_SCO_CONNECTION_COMPLETE
+0x2D HCI_EVENT_SCO_CONNECTION_CHANGED
+0x2E HCI_EVENT_SNIFF_SUBRATING
+0x2F HCI_EVENT_EXT_INQUIRY_RESULT
+0x30 HCI_EVENT_ENCRYPT_KEY_REFRESH_COMPLETE
+0x31 HCI_EVENT_IO_CAP_REQ
+0x32 HCI_EVENT_IO_CAP_RESPONSE
+0x33 HCI_EVENT_USER_CONFIRMATION_REQUEST
+0x34 HCI_EVENT_UESR_PASSKEY_REQUEST
+0x35 HCI_EVENT_REMOTE_OOB_DATA_REQUEST
+0x36 HCI_EVENT_SIMPLE_PAIRING_COMPLETE
+0x38 HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED
+0x39 HCI_EVENT_ENHANCED_FLUSH_COMPLETE
+0x3B HCI_EVENT_USER_PASSKEY_NOTIFICATION
+0x3C HCI_EVENT_KEYPRESS_NOTIFICATION
+0x3D HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTIFICATION 
+0x3E HCI_EVENT_LE_META_EVENT
+0x40 HCI_EVENT_PHYSICAL_LINK_COMPLETE
+0x41 HCI_EVENT_CHANNEL_SELECTED
+0x42 HCI_EVENT_DISCONNECTION_PHYSICAL_LINK_COMPLETE
+0x43 HCI_EVENT_PHYSICAL_LINK_LOSS_EARLY_WARNING
+0x44 HCI_EVENT_PHYSICAL_LINK_RECOVERY
+0x45 HCI_EVENT_LOGICAL_LINK_COMPLETE
+0x46 HCI_EVENT_DISCONNECTION_LOGICAL_LINK_COMPLETE
+0x47 HCI_EVENT_FLOW_SPEC_MODIFY_COMPLETE
+0x48 HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS
+0x49 HCI_EVENT_AMP_START_TEST
+0x4A HCI_EVENT_AMP_TEST_END
+0x4B HCI_EVENT_AMP_RECEIVER_REPORT
+0x4C HCI_EVENT_SHORT_RANGE_MODE_CHANGE_COMPLETE
+0x4D HCI_EVENT_AMP_STATUS_CHANGE
+0x4E HCI_EVENT_TRIGGERED_CLOCK_CAPTURE
+0x4F HCI_EVENT_SYNCHRONIZATION_TRAIN_COMPLETE
+0x50 HCI_EVENT_SYNCHRONIZATION_TRAIN_RECEIVED
+0x51 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x52 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_TIMEOUT
+0x53 HCI_EVENT_TRUNCATED_PAGE_COMPLETE
+0x54 HCI_EVENT_SLAVE_PAGE_RESPONSE_TIMEOUT
+0x55 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_CHANNEL_MAP_CHANGE
+0x56 HCI_EVENT_INQUIRY_RESPONSE_NOTIFICATION
+0x57 HCI_EVENT_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED
+
+0xFE HCI_EVENT_LOGO_TESTING
+0xFF HCI_EVENT_VENDOR_SPECIFIC
+)
+(
+0x01 HCI_VENDOR_EVENT_COMMU_READY
+)
+//HCI LE SUBEVENT CODE
+(
+0x01 HCI_LE_SUBEVENT_CONN_COMPLETE
+0x02 HCI_LE_SUBEVENT_ADV_REPORT
+0x03 HCI_LE_SUBEVENT_CONN_UPDATE_COMPLETE
+0x04 HCI_LE_SUBEVENT_REMOTE_FEATURE_COMPLETE
+0x05 HCI_LE_SUBEVENT_LTK_REQUEST
+0x06 HCI_LE_SUBEVENT_REMOTE_CONN_PARAM_REQ
+)
+
+(
+0x00 HCI_LPM_OFF
+0x01 HCI_LPM_ON
+)
+
+
+(
+33 HOST_WAKE_TIME
+)
+
+(
+1 HCI_RX_WAKE
+0 HCI_RX_READY
+)
+
Index: YJX_Only24g/FCC_1021S/format/kscan_peipherals.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/kscan_peipherals.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/kscan_peipherals.format	(working copy)
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+//0 mem_kscan_head_ptr
+//1 mem_col_num
+//1 mem_row_num
+//4 mem_col_conf_pin
+//4 mem_row_conf_pin
+//1 mem_row_count
+//1 mem_count_shift
+//2 mem_kscan_value_temp
+//2 mem_kscan_lastvalue
+//2 mem_kscan_value
+//4 mem_btclk_kscan
+//1 mem_btclk_kscan_interval
+
+
+0x00 KEYSCAN_OFFECT_COL_NUM
+0x01 KEYSCAN_OFFECT_ROW_NUM
+0x02 KEYSCAN_OFFECT_COL_CONF_PIN
+0x06 KEYSCAN_OFFECT_ROW_CONF_PIN
+
+0x0a KEYSCAN_OFFECT_ROW_COUNT
+0x0b KEYSCAN_OFFECT_SHIFT_COUNT
+
+0X0C KEYSCAN_OFFECT_VALUE_TEMP
+0X0E KEYSCAN_OFFECT_LASVALUE
+0X10 KEYSCAN_OFFECT_VALUE
+0x12 KEYSCAN_OFFECT_BTCLK
+0x16 KEYSCAN_OFFECT_BTCLK_INTERVAL
+
+
Index: YJX_Only24g/FCC_1021S/format/l2cap.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/l2cap.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/l2cap.format	(working copy)
@@ -0,0 +1,442 @@
+
+memalloc(
+0 mem_l2cap_mem_start
+// L2CAP RX 
+2 mem_l2cap_rxbuff1_len
+2 mem_l2cap_rxbuff2_len
+2 mem_l2cap_rxbuff_new
+1 mem_l2cap_rxbuff_inuse
+2 mem_l2cap_payload_ptr
+2 mem_l2cap_rx_pkt_length
+2 mem_l2cap_rx_cid
+1 mem_l2cap_rx_done
+
+
+
+// L2CAP TX Signal channel
+2 mem_l2cap_signal_tx_buff_ptr
+2 mem_l2cap_signal_tx_payload_ptr
+2 mem_l2cap_signal_tx_length
+// L2CAP TX SDP channel
+2 mem_sdp_tx_buff_ptr
+2 mem_sdp_tx_payload_ptr
+2 mem_sdp_tx_pkt_length
+// L2CAP TX RFCOMM channel
+2 mem_rfcomm_tx_buff_ptr
+2 mem_rfcomm_tx_payload_ptr
+2 mem_rfcomm_tx_pkt_length
+
+
+
+//L2CAP Util
+
+2 memL2CAP_T1
+
+1 mem_CONTROL_tasks
+1 mem_send_config_req
+
+
+1 mem_config_identifier
+2 mem_config_req_dest_CID
+1 mem_rfcomm_malloc_fail_flag
+
+//L2CAP STATE MACHINE
+1 mem_message_to_uppersm
+1 mem_upper_sm_remote_page
+1 mem_upper_sm_reconn
+1 mem_upper_sm_ss
+
+
+64 mem_tx_malloc_log
+0 mem_l2cap_mem_end
+
+
+2 mem_scid
+2 mem_cmd_length
+2 mem_tt2
+2 mem_tt3
+2 mem_id
+2 mem_psm
+
+
+4 mem_l2cap_sdpres_delay_time
+)
+
+xmemalloc(
+0 mem_l2cap_xmem_start
+//*******************L2CAP TX MULTI-PACKET*********************//
+2 mem_l2cap_tx_multi_offset //0 means single packet
+
+//*******************CHANNEL ID*********************//
+2 mem_sdp_remote_cid
+2 mem_rfcomm_remote_cid
+2 mem_hid_ctrl_remote_cid
+2 mem_hid_int_remote_cid
+//*******************CHANNEL STATE*********************//
+1 mem_sdp_state
+1 mem_rfcomm_state
+1 mem_hid_control_state
+1 mem_hid_interrupt_state
+1 mem_spp_state
+1 mem_ML2CAP_comm_id
+
+//*******************L2CAP malloc********************//
+1 mem_used_map
+0 mem_tx_fifo0
+1 mem_tx_fifo0_map
+2 mem_tx_fifo0_ptr
+0 mem_tx_fifo1
+1 mem_tx_fifo1_map
+2 mem_tx_fifo1_ptr
+0 mem_tx_fifo2
+1 mem_tx_fifo2_map
+2 mem_tx_fifo2_ptr
+0 mem_tx_fifo3
+1 mem_tx_fifo3_map
+2 mem_tx_fifo3_ptr
+0 mem_tx_fifo_end
+256 mem_l2cap_lpm_txbuf
+//*******************MISC*********************//
+1 mem_l2cap_flow_ctrl_flag
+1 mem_l2cap_pending_item
+0 mem_l2cap_xmem_end
+
+)
+
+
+//mem_l2cap_lpm_txbuf
+(
+256 l2cap_lpm_txbuf_len
+)
+
+(
+4 L2CAP_TX_FIFO_SIZE
+8 L2CAP_TX_BUFF_CNT
+
+)
+(
+0x0002 L2CAP_SIG_EXT_FEATRUE
+0x0003 L2CAP_SIG_FIX_FEATRUE
+)
+
+
+(
+0 HS_IDLE
+1 AG_INIT_CALL
+2 HS_INIT_CALL
+)
+(
+0 M_ACL_LINK_ABSENT
+1 M_ACL_LINK_EXIST
+)
+
+(
+0 L2CAP_INUSE_BUFF1
+1 L2CAP_INUSE_BUFF2
+)
+/* upper layer interface w/ lower layer */
+(
+1 MAX_NUM_LINKS_ALLOWED
+1 MAX_NUM_SCO_ALLOWED
+1 ACL_LINK_PRESENT
+0 ACL_LINK_ABSENT
+)
+(
+1 L2CAP_RX_DONE 
+0 L2CAP_RX_CLEAR
+)
+/* Scheduler */
+(
+0 L2CAP_DISCONNECT_INTERRUPT
+1 RFCOMM_wants_service
+2 L2CAP_sig_Tx_buff_full
+3 RFCOMM_Tx_buff_full
+4 SDP_Tx_buff_full
+5 got_complete_L2CAP_pkt	
+6 L2CAP_init_Config_Req
+7 L2CAP_DISCONNECT_CONTROL
+)
+
+/* mem_CONTROL_tasks2 */
+(
+0 UI_NEED_SERVICE
+)
+/* L2CAP logic channel identifiers (2 bytes) p.261 */
+(
+0x0001 L2CAP_signal_channel
+0x0050 L2CAP_SDP_channel
+0x0051 L2CAP_RFCOMM_channel
+0x0052 L2CAP_HID_Control_channel   
+0x0053 L2CAP_HID_Interrupt_channel
+0x0077 L2CAP_AVDTP_signal_channel		//------avdtp
+0x0078 L2CAP_AVDTP_media_channel
+0x0079 L2CAP_AVDTP_report_channel
+0x0080 L2CAP_AVDTP_recovery_channel
+0x00dd L2CAP_AVCTP_Control_channel
+)
+/* L2CAP signalling command codes (1 byte) p.284 */
+(
+0x00 reserved
+0x01 signal_cmd_reject
+0x02 signal_connect_req
+0x03 signal_connect_rsp
+0x04 signal_config_req
+0x05 signal_config_rsp
+0x06 signal_disconnect_req
+0x07 signal_disconnect_rsp
+0x08 signal_echo_req
+0x09 signal_echo_rsp
+0x0a signal_info_req
+0x0b signal_info_rsp
+)
+/* L2CAP signal_command_reject reason code (2 bytes), p.285 */
+(
+0x0000 cmd_not_understood
+0x0001 signalling_MTU_exceeded
+0x0002 invalid_CID_in_req
+)
+/* L2CAP PSM values used in signal_connect_req (2 bytes), p.286 */
+(
+0x0001 PSM_SDP
+0x0003 PSM_RFCOMM
+0x0005 PSM_TCS
+0x0011 PSM_HID_control
+0x0013 PSM_HID_interrupt
+0x0017 PSM_AVCTP
+0x0019 PSM_AVDTP
+)
+/* L2CAP connection response result code (2 bytes), p.288 */
+(
+0x0000 L2CAP_connect_successful
+0x0001 L2CAP_connect_pending
+0x0002 L2CAP_connect_refused_PSM_unsupported
+0x0003 L2CAP_connect_refused_security_block
+0x0004 L2CAP_connect_refused_no_resources
+)
+/* L2CAP connection status values (2 bytes), p.288 */
+(
+0x0000 L2CAP_no_info_available
+0x0001 L2CAP_authentication_pending
+0x0002 L2CAP_authorization_pending
+)
+/* L2CAP configuration response result code (2 bytes), p.292 */
+(
+0x0000 L2CAP_config_success
+0x0001 L2CAP_config_failure_bad_parameters
+0x0002 L2CAP_config_failure_no_reason
+0x0003 L2CAP_config_failure_unknown_options
+)
+/* L2CAP constant definitions */
+(
+128 L2CAP_Rx_buff_size
+48  L2CAP_signal_Tx_buff_size
+128 SDP_Tx_buff_size
+128 RFCOMM_Tx_buff_size
+1 AM_ADDRESS
+3 DM1TYPE
+4 DH1TYPE
+11 DH3TYPE
+8 DVTYPE
+0 channel_state_closed
+1 channel_state_config
+2 channel_state_open
+0x0030 L2CAP_config_MTU_SDP
+0xffff L2CAP_config_ftimeout_SDP
+0x03e3 L2CAP_config_MTU_RFCOMM
+0xffff L2CAP_config_ftimeout_RFCOMM
+260 l2cap_max_pkt_len
+)
+
+(
+0 FAILURE
+1 SUCCESS
+2 IN_PROGRESS
+)
+(
+0x00	IDLE
+0x01	WAIT_4_BB_PAGE
+0x02	WAIT_4_LMP_CONN
+0x03	WAIT_4_SCO_CONN
+0x04	WAIT_4_SCO_KILLED
+)
+
+/*mem_master_mss*/
+(
+0 STOP_ENC
+1 SEND_SWITCH_REQ
+)
+(
+0 HF_HS_READY
+1 HF_AG_READY
+)
+/* mem_hf_state */
+(
+0 HF_STATE_WAITING_RFCOMM_CONN
+1 HF_STATE_HF_SEND_FEATURE
+2 HF_STATE_WAITING_AG_FEATURE_OK
+3 HF_STATE_HF_SEND_INDICATORS
+4 HF_STATE_WAITING_AG_INDICATORS_OK
+5 HF_STATE_HF_SEND_CURR_STATUS
+6 HF_STATE_WAITING_AG_STATUS_OK
+7 HF_STATE_HF_SEND_UPDATE_STATUS
+8 HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+9 HF_STATE_CONNECTED
+0x0a HF_STATE_HF_SEND_RECEIVE_INFO
+0x0b HF_STATE_WAITING_AG_INFO
+0x0c HF_STATE_HF_SEND_AT_CLIP
+0x0d HF_STATE_WAITING_AT_CLIP
+0x0e HF_STATE_HF_SEND_AT_CCWA
+0x0f HF_STATE_WAITING_AT_CCWA
+)
+/*mem_hf_call_state*/
+(
+0 HF_CALL_STATE_INACTIVE
+1 HF_CALL_STATE_SETUP
+2 HF_CALL_STATE_ACTIVE 
+)
+/* mem_pairing_state bit definition */
+(
+0 PAIR_INQUIRY_START
+1 PAIR_INQUIRY_TIME_OUT
+2 PAIR_INQUIRY_FAILED
+3 PAIR_INQUIRY_SUCCESS
+4 PAIR_READY_CONN
+5 PAIR_WAIT_CANCEL_RESPONSE
+6 PAIR_CONN_SUCCESS
+7 PAIR_WAIT_DETACH
+)  
+
+/* mem_pairing_mode bit definition */
+(
+0 FORCE_AUTHENTICATION
+)
+/* mem_hid_protecol_type */
+(
+0 PROTECOL_BOOT /*default*/
+1 PROTECOL_REPORT
+)
+
+/* mem_upper_sm_reconn */
+(
+1 UPPERSM_SEND_SDP_CONN_REQ
+2 UPPERSM_SEND_SDP_CFG_REQ
+3 UPPERSM_SEND_SDP_HF_SS
+4 UPPERSM_SEND_SDP_DISC_REQ
+5 UPPERSM_SEND_RFCOMM_CONN_REQ
+6 UPPERSM_SEND_RFCOMM_CFG_REQ
+7 UPPERSM_SEND_SABM_CMD
+8 UPPERSM_SEND_DISC
+9 UPPERSM_SEND_WAIT
+10 UPPERSM_SEND_HID_CONTROL_CONN_REQ
+11 UPPERSM_SEND_HID_CONTROL_CFG_REQ
+12 UPPERSM_SEND_HID_INTERRUPT_CONN_REQ
+13 UPPERSM_SEND_HID_INTERRUPT_CFG_REQ
+14 UPPERSM_SEND_SDP_HS_SS
+15 UPPERSM_SEND_SDP_PBAP_SS
+16 UPPERSM_SEND_SDP_AVTARG_SS
+)
+/* mem_upper_sm_remote_page */
+(
+1 UPPERSM_RP_SEND_SDP_CONN_REQ
+2 UPPERSM_RP_SEND_SDP_CFG_REQ
+3 UPPERSM_RP_SEND_SDP_HF_SS
+4 UPPERSM_RP_SEND_SDP_HS_SS
+5 UPPERSM_RP_SEND_SDP_PBAP_SS
+6 UPPERSM_RP_SEND_SDP_AVTARG_SS
+7 UPPERSM_RP_SEND_SDP_DISC_REQ
+8 UPPERSM_RP_SEND_AVCTP_CONN_REQ
+9 UPPERSM_RP_SEND_AVCTP_CFG_REQ
+)
+
+/* mem_ML2CAP_flag */
+(
+0 MSCHEDULER_HID_CONTROL_CONN_DONE
+1 MSCHEDULER_HID_INTERRUPT_CONN_DONE
+2 MSCHEDULER_HID_CONTROL_CFG_REQ_DONE
+3 MSCHEDULER_HID_CONTROL_CFG_RSP_DONE
+4 MSCHEDULER_HID_INTERRUPT_CFG_REQ_DONE
+5 MSCHEDULER_HID_INTERRUPT_CFG_RSP_DONE
+6 MSCHEDULER_HID_CONTROL_DISC_DONE
+7 MSCHEDULER_HID_INTERRUPT_DISC_DONE
+)
+/*    ui event    --add by lj*/
+(
+0x00 UI_DATA_EVNET_NONE
+0x01 UI_DATA_EVNET_HID
+0x02 UI_DATA_EVNET_AVDTP_S
+0x03 UI_DATA_EVNET_AVDTP_M
+0x04 UI_DATA_EVNET_AVCTP
+0x05 UI_DATA_EVNET_HS
+0x06 UI_DATA_EVNET_HF
+0x07 UI_DATA_EVNET_SPP
+0x08 UI_DATA_EVNET_OBEX
+)
+/*    ui ack --add by lj*/
+(
+0x00 UI_DATA_TX_NONE
+0x01 UI_DATA_TX_HID
+0x02 UI_DATA_TX_AVDTP_S
+0x03 UI_DATA_TX_AVDTP_M
+0x04 UI_DATA_TX_AVCTP
+0x05 UI_DATA_TX_HS
+0x06 UI_DATA_TX_HF
+0x07 UI_DATA_TX_SPP
+0x08 UI_DATA_TX_OBEX
+0x10 ACL_TX_L2CAP_SIGNAL
+0x11 ACL_TX_SDP
+0x12 ACL_TX_RFCOMM
+
+)
+
+(
+0 L2CAP_SDP_interface_conn
+1 L2CAP_SDP_interface_cfg
+)
+
+(                                   
+0 L2CAP_CHANNEL_STATE_CONN_REQ      
+1 L2CAP_CHANNEL_STATE_CONN_RES      
+2 L2CAP_CHANNEL_STATE_SND_CFG_REQ   
+3 L2CAP_CHANNEL_STATE_SND_CFG_RES   
+4 L2CAP_CHANNEL_STATE_RCV_CFG_REQ   
+5 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+6 L2CAP_CHANNEL_RFCOMM_ONLY_SABM
+7 L2CAP_CHANNEL_RFCOMM_ONLY_UA
+6 L2CAP_CHANNEL_AVDTP_SIGNAL_INIT //set avdtp init complete
+6 L2CAP_CHANNEL_HID_HANDSHAKE_DONE
+0x3f L2CAP_CHANNEL_SETUP_COMPLETE
+0x7f L2CAP_CHANNEL_AVDTP_SIGNAL_COMPLETE
+0xff L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+)                                     
+
+/*  AVDTP---lj*/
+(
+0 L2CAP_AVDTP_SIGNAL_CONNECT
+1 L2CAP_AVDTP_SIGNAL_CONFIG
+2 L2CAP_AVDTP_MEDIA_CONNECT
+3 L2CAP_AVDTP_MEDIA_CONFIG
+4 L2CAP_AVDTP_REPORT_CONNECT
+5 L2CAP_AVDTP_REPORT_CONFIG
+6 L2CAP_AVDTP_RECOVERY_CONNECT
+7 L2CAP_AVDTP_RECOVERY_CONFIG
+)
+/*  AVCTP---lj*/
+(
+0 L2CAP_AVCTP_SIGNAL_CONNECT
+1 L2CAP_AVCTP_SIGNAL_CONFIG
+)
+
+127 L2CAP_SIGNAL_MALLOC_SIZE
+
+//1 mem_rfcomm_malloc_fail_flag
+(
+0 RFCOMM_MALLOC_SUCCEED
+1 RFCOMM_MALLOC_FAIL
+)
+
+//mem_l2cap_flow_ctrl_flag
+(
+0 L2CAP_FLOW_CTRL_DISABLE
+1 L2CAP_FLOW_CTRL_ENABLE
+)
+
Index: YJX_Only24g/FCC_1021S/format/le.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/le.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/le.format	(working copy)
@@ -0,0 +1,722 @@
+
+memalloc(
+56 mem_le_rxbuf
+262 mem_le_l2capbuf
+
+
+/* security temp */
+4 mem_le_mic
+4 mem_le_peer_mic
+//8 mem_le_skdm
+//8 mem_le_skds
+16 mem_le_peer_ltk
+16 mem_le_mrand
+
+
+/* ========= le context =========== */
+1 mem_le_state
+1 mem_le_mode
+2 mem_le_tsniff
+4 mem_le_anchor
+6 mem_le_clk_offset
+2 mem_le_receive_window
+6 mem_le_plap
+1 mem_le_conn_handle
+1 mem_le_arq
+1 mem_le_ch
+1 mem_le_hop
+2 mem_le_event_count
+4 mem_le_supervision_timer
+2 mem_le_instant
+1 mem_le_channels
+1 mem_le_op
+
+	/* these 3 should NOT be seperated */
+4 mem_le_access
+3 mem_le_crcinit
+1 mem_le_window_size
+
+	/* these 3 should NOT be seperated */
+2 mem_le_slave_latency
+2 mem_le_superto
+5 mem_le_channel_map
+
+2 mem_le_no_using
+1 mem_le_peer_sca
+
+/* should be together */
+1 mem_le_att_opcode
+2 mem_le_att_handle
+
+1 mem_le_err_code
+1 mem_le_ll_pairing_fail_reason
+
+16 mem_le_sk
+
+/* test */
+1 mem_le_testtype
+2 mem_le_test_sync
+2 mem_le_test_pcnt
+
+6 mem_le_rxon_ts
+
+1 mem_le_rx_ll_opcode
+
+2 mem_le_notify_attr_start
+1 mem_le_notify_len
+
+1 mem_cmd_le_create_conn
+
+2 mem_le_cur_attlist_start_ptr
+2 mem_le_cur_handle_start
+2 mem_le_cur_handle_end
+1 mem_le_cur_uuid_length
+16 mem_le_cur_uuid
+
+1 mem_le_curr_att_len
+1 mem_le_search_res
+
+1 mem_le_continue_type
+
+)
+
+
+xmemalloc(
+2 mem_le_dsniff
+
+// parameters
+2 mem_le_conn_interval
+1 mem_le_scan_enable
+2 mem_le_scan_interval
+2 mem_le_scan_window
+
+1 mem_le_adv_enable
+1 mem_le_adv_data_len
+31 mem_le_adv_data
+1 mem_le_scan_data_len
+31 mem_le_scan_data
+
+//modified name
+1 mem_le_name_len
+30 mem_le_name
+
+
+5 mem_le_new_map
+0 mem_le_new_param
+1 mem_le_new_transmitwindowsize
+2 mem_le_new_transmitwindowoffset
+2 mem_le_new_conninterval
+2 mem_le_new_connslavelatency
+2 mem_le_new_connsupervisiontimeout
+
+1 mem_le_txheader
+1 mem_le_txlen
+2 mem_le_txpayload
+2 mem_le_txcid
+1 mem_le_l2cap
+1 mem_le_l2cap_response
+31 mem_le_txbdy
+
+/* smp related */
+5 mem_le_pcnt_tx
+5 mem_le_pcnt_rx
+4 mem_le_last_mic
+4 mem_le_ivm
+4 mem_le_ivs
+16 mem_le_ltk
+1 mem_ltk_exists
+16 mem_le_rconfirm
+16 mem_le_srand
+1 mem_le_iat
+1 mem_le_rat
+1 mem_le_preq
+1 mem_le_preq_iocap
+1 mem_le_preq_oob
+1 mem_le_preq_auth
+1 mem_le_preq_max_keysize
+1 mem_le_preq_init_key_distribution
+1 mem_le_preq_resp_key_distribution
+1 mem_le_pres
+1 mem_le_pres_iocap
+1 mem_le_pres_oob
+1 mem_le_pres_auth
+1 mem_le_pres_max_keysize
+1 mem_le_pres_init_key_distribution
+1 mem_le_pres_resp_key_distribution
+
+/* att related */
+2 mem_le_search_handle_start
+2 mem_le_search_handle_end
+0 mem_le_att_offset
+1 mem_le_search_att_type_length
+16 mem_le_search_att_type
+2 mem_le_notify_handle
+1 mem_le_search_uuid_length
+16 mem_le_search_uuid
+
+
+//START of LE adv parameter structure
+0 mem_le_adv_param
+2 mem_le_adv_interval
+1 mem_le_adv_type
+1 mem_le_adv_own_addr_type
+1 mem_le_adv_direct_addr_type
+6 mem_le_adv_direct_addr
+1 mem_le_adv_channel_map
+//END of LE adv parameter structure
+
+//START of LE conn parameter structure
+0 mem_le_conn_param
+1 mem_le_conn_peer_addr_type
+6 mem_le_conn_peer_addr
+1 mem_le_conn_own_addr_type
+2 mem_le_interval_min
+2 mem_le_interval_max
+2 mem_le_latency
+2 mem_le_timeout
+//START of LE conn parameter structure
+
+//START of LE scan parameter structure
+0 mem_le_scan_params
+1 mem_le_scan_type
+1 mem_le_scan_own_addr_type
+//END of LE scan parameter structure
+
+3 mem_le_lap
+1 mem_le_uap
+2 mem_le_nap
+
+
+2 mem_le_local_mtu
+2 mem_le_remote_mtu
+
+8 mem_le_skdm
+8 mem_le_skds
+
+2 mem_le_init_superto
+2 mem_ui_le_uuid_table
+
+1 mem_le_secure_connect_enable
+1 mem_le_secure_connect_flag
+1 mem_le_sc_calc
+1 mem_le_secure_connect_state
+1 mem_le_sc_confirm_gkey_flag
+1 mem_le_sc_local_key_invalid
+
+
+1 mem_le_pairing_state
+1 mem_le_enc_state
+1 mem_le_pairing_mode
+4 mem_le_tk
+2 mem_le_ediv
+8 mem_le_rand
+16 mem_le_irk
+
+//LE attribute list
+4 mem_le_transmit_window
+
+//ble General configuration 
+1 mem_le_configuration
+16 mem_le_fixed_ltk
+2 mem_le_pairing_handle
+
+//for continue
+2 mem_le_l2cap_size
+1 mem_le_packet_len_recved
+
+//for fifo
+1 mem_le_tx_buff_used
+2 mem_le_tx_ptr0
+2 mem_le_tx_ptr1
+2 mem_le_tx_ptr2
+2 mem_le_tx_ptr3
+
+//ble gatt signaling
+1 mem_le_signaling_identifier
+2 mem_le_l2cap_signaling_conn_param_update_rsp_result
+
+1 mem_le_packet_size
+1 mem_le_packet_llid
+2 mem_le_payload_ptr
+
+1 mem_le_md_count
+
+)
+
+
+(
+0x000001 param_le_features
+
+1636 param_sifs
+0x1e0 param_clke_cal_le
+0xa0 param_le_sca
+)
+
+(
+0 DEFAULT_STATES
+1 IPHONE_LOST_LTK
+2 MODULE_LOST_LTK
+3 LTK_NOT_LOST
+)
+
+
+(
+27 LE_MAX_PAKET_LEN
+)
+
+/* advertising channel PDU type */
+(
+0 ADV_IND
+1 ADV_DIRECT_IND
+2 ADV_NONCONN_IND
+3 SCAN_REQ
+4 SCAN_RSP
+5 CONNECT_REQ
+6 ADV_SCAN_IND
+)
+
+(
+0x01	GAP_ADTYPE_FLAGS
+0x02	GAP_ADTYPE_16BIT_MORE
+0x03	GAP_ADTYPE_16BIT_COMPLETE
+0x04	GAP_ADTYPE_32BIT_MORE
+0x05	GAP_ADTYPE_32BIT_COMPLETE
+0x06	GAP_ADTYPE_128BIT_MORE
+0x07	GAP_ADTYPE_128BIT_COMPLETE
+0x08	GAP_ADTYPE_LOCAL_NAME_SHORT
+0x09	GAP_ADTYPE_LOCAL_NAME_COMPLETE
+0x0a	GAP_ADTYPE_POWER_LEVEL
+0xff	GAP_ADTYPE_MANUFACTURER_SPECIFIC
+)
+
+
+	/* LE control packet type */
+	(
+	0x00 LL_CONNECTION_UPDATE_REQ
+	0x01 LL_CHANNEL_MAP_REQ
+	0x02 LL_TERMINATE_IND
+	0x03 LL_ENC_REQ
+	0x04 LL_ENC_RSP
+	0x05 LL_START_ENC_REQ
+	0x06 LL_START_ENC_RSP
+	0x07 LL_UNKNOWN_RSP
+	0x08 LL_FEATURE_REQ
+	0x09 LL_FEATURE_RSP
+	0x0A LL_PAUSE_ENC_REQ
+	0x0B LL_PAUSE_ENC_RSP
+	0x0C LL_VERSION_IND
+	0x0D LL_REJECT_IND
+	0x0E LL_SLAVE_FEATURE_REQ
+	0x0F LL_CONNECTION_PARAM_REQ
+	0x10 LL_CONNECTION_PARAM_RSP
+	0x11 LL_REJECT_IND_EXT
+	0x12 LL_PING_REQ
+	0x13 LL_PING_RSP
+	)
+
+	/* Security Manager Protocol Code */
+	(
+	0x01 SMP_PAIRING_REQUEST
+	0x02 SMP_PAIRING_RESPONSE
+	0x03 SMP_PAIRING_CONFIRM
+	0x04 SMP_PAIRING_RANDOM
+	0x05 SMP_PAIRING_FAILED
+	0x06 SMP_ENCRYPTION_INFORMATION
+	0x07 SMP_MASTER_IDENTIFICATION
+	0x08 SMP_IDENTITY_INFORMATION
+	0x09 SMP_IDENTITY_ADDRESS_INFORMATION
+	0x0A SMP_SIGNING_INFORMATION
+	0x0B SMP_SECURITY_REQUEST
+	0x0c SMP_PAIRING_PUBLIC_KEY
+	0x0d SMP_PAIRING_DHKEY_CHECK
+	)
+
+	/* L2CAP Signaling OPCODE */
+	(
+	0x12 L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST
+	0x13 L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE
+	)
+
+	/* ATT OPCODE */
+	(
+	0x01 ATTOP_ERROR_RESPONSE
+	0x02 ATTOP_EXCHANGE_MTU_REQUEST
+	0x03 ATTOP_EXCHANGE_MTU_RESPONSE
+	0x04 ATTOP_FIND_INFORMATION_REQUEST
+	0x05 ATTOP_FIND_INFORMATION_RESPONSE
+	0x06 ATTOP_FIND_BY_TYPE_VALUE_REQUEST
+	0x07 ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	0x08 ATTOP_READ_BY_TYPE_REQUEST
+	0x09 ATTOP_READ_BY_TYPE_RESPONSE
+	0x0A ATTOP_READ_REQUEST
+	0x0B ATTOP_READ_RESPONSE
+	0x0C ATTOP_READ_BLOB_REQUEST
+	0x0D ATTOP_READ_BLOB_RESPONSE
+	0x0E ATTOP_READ_MULTIPLE_REQUEST
+	0x0F ATTOP_READ_MULTIPLE_RESPONSE
+	0x10 ATTOP_READ_BY_GROUP_TYPE_REQUEST
+	0x11 ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	0x12 ATTOP_WRITE_REQUEST
+	0x13 ATTOP_WRITE_RESPONSE
+	0x16 ATTOP_PREPARE_WRITE_REQUEST
+	0x17 ATTOP_PREPARE_WRITE_RESPONSE
+	0x18 ATTOP_EXECUTE_WRITE_REQUEST
+	0x19 ATTOP_EXECUTE_WRITE_RESPONSE
+	0x1B ATTOP_HANDLE_VALUE_NOTIFICATION
+	0x1D ATTOP_HANDLE_VALUE_INDICATION
+	0x1E ATTOP_HANDLE_VALUE_CONFIRMATION
+	0x52 ATTOP_WRITE_COMMAND
+	0xD2 ATTOP_SIGNED_WRITE_COMMAND
+	0x1f ATTOP_CONTINUE
+	0x9e EMPTY_LE_DATA_PRE
+	0x9f EMPTY_LE_DATA
+	)
+
+	/* ATT error code */
+	(
+	0x01 ATT_ERR_INVALID_HANDLE
+	0x02 ATT_ERR_READ_NOT_PERMITTED
+	0x03 ATT_ERR_WRITE_NOT_PERMITTED
+	0x04 ATT_ERR_INVALID_PDU
+	0x05 ATT_ERR_INSUFFICIENT_AUTHENTICATION
+	0x06 ATT_ERR_REQUEST_NOT_SUPPORTED
+	0x07 ATT_ERR_INVALID_OFFSET
+	0x08 ATT_ERR_INSUFFICIENT_AUTHORIZATION
+	0x09 ATT_ERR_PREPARE_QUEUE_FULL
+	0x0A ATT_ERR_ATTRIBUTE_NOT_FOUND
+	0x0B ATT_ERR_ATTRIBUTE_NOT_LONG
+	0x0C ATT_ERR_INSUFFICIENT_ENCRYPTION_KEY_SIZE
+	0x0D ATT_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH
+	0x0E ATT_ERR_UNLIKELY_ERROR
+	0x0F ATT_ERR_INSUFFICIENT_ENCRYPTION
+	0x10 ATT_ERR_UNSUPPORTED_GROUP_TYPE
+	0x11 ATT_ERR_INSUFFICIENT_RESOURCES
+	)
+	/*	SERVICE UUID	*/
+	(
+	0x1800 UUID_SERVICE_GENERIC_ACC
+	0x1801 UUID_SERVICE_GENERIC_ATT
+	0x180a UUID_SERVICE_DEVICE_INFO
+	0x180f UUID_SERVICE_BATTERY
+	0x1812 UUID_SERVICE_HIDS
+	0x2800 UUID_GATT_PRIMARY_SERVICE
+	0x2801 UUID_GATT_SECONDARY_SERVICE
+	0X2802 UUID_GATT_INCLUDE
+	0X2803 UUID_GATT_CHARACTERISTIC
+	0X2A00 UUID_CHRCTR_DEVICE_NAME
+	0X2A19 UUID_CHRCTR_BATTERY_LEVEL
+	0X2A22 UUID_CHRCTR_KEYBOARD_INPUT
+	0X2A23 UUID_CHRCTR_SYSTEM_ID 
+	0X2A25 UUID_CHRCTR_SERIAL_NUMBER
+	0X2A26 UUID_CHRCTR_FIRMWARE
+	0X2A32 UUID_CHRCTR_KEYBOARD_OUTPUT
+	0X2A33 UUID_CHRCTR_MOUSE_INPUT
+	0X2A4A UUID_CHRCTR_HID_INFO
+	0X2A4B UUID_CHRCTR_REPORT_MAP
+	0X2A4C UUID_CHRCTR_HID_CTRL_POINT
+	0X2A4D UUID_CHRCTR_REPORT
+	0X2A4E UUID_CHRCTR_PROTOCOL_MODE
+	)
+
+	(// pairing failed reason
+	0x00 PAIRING_FAILED_RESERVED
+	0X01 PAIRING_FAILED_PASSKEY_ENTRY_FAILED
+	0X02 PAIRING_FAILED_OOB_NOT_AVAILABLE
+	0X03 PAIRING_FAILED_AUTHENTICATION_REQUIRE
+	0X04 PAIRING_FAILED_CONFIRM_VALUE_FAILED
+	0X05 PAIRING_FAILED_PAIRING_NOT_SUPPORTED
+	0X06 PAIRING_FAILED_ENCRYPTION_KEY_SIZE
+	0X07 PAIRING_FAILED_COMMAND_NOT_SUPPORTED
+	0X08 PAIRING_FAILED_UNSPECIFIED_REASON
+	0X09 PAIRING_FAILED_REPEATED_ATTEMPTS
+	0X0A PAIRING_FAILED_INVALID_PARAMETERS
+	0X0B PAIRING_FAILED_DHKEY_CHECK_FAILED
+	0X0C PAIRING_FAILED_NUMERIC_COMPARISON_FAILED
+	0X0D PAIRING_FAILED_BR_EDR_PAIRING_IN_PROGRESS
+	0X0E PAIRING_FAILED_KEY_DERIVATION_GENERATION_NOT_ALLOWED
+	)
+
+
+	//BLE ErrorCodes
+	(    
+	0x01 ERROR_UNKNOWN_HCI_COMMAND
+	0x02 ERROR_NO_CONNECTION
+	0x03 ERROR_HARDWARE_FAILURE
+	0x04 ERROR_PAGE_TIMEOUT
+	0x05 ERROR_AUTHENTICATION_FAILURE
+	0x06 ERROR_KEY_MISSING
+	0x07 ERROR_MEMORY_FULL
+	0x08 ERROR_CONNECTION_TIMEOUT
+	0x09 ERROR_MAX_CONNECTIONS
+	0x0A ERROR_MAX_SCO_CONNECTIONS
+	0x0B ERROR_MAX_ACL_CONNECTIONS
+	0x0C ERROR_COMMAND_DISALLOWED
+	0x0D ERROR_HOST_REJECT_LIMITED_RESOURCES
+	0x0E ERROR_HOST_REJECT_SECURITY_REASONS
+	0x0F ERROR_HOST_REJECT_REMOTE_IS_ONLY_PERSONAL
+	0x10 ERROR_HOST_TIMEOUT
+	0x11 ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
+	0x12 ERROR_INVALID_HCI_COMMAND_PARAMETERS
+	0x13 ERROR_REMOTE_USER_TERMINATED_CONNECTION
+	0x14 ERROR_REMOTE_LOW_RESOURCES
+	0x15 ERROR_REMOTE_POWERING_OFF
+	0x16 ERROR_CONNECTION_TERMINATED_BY_LOCAL_HOST
+	0x17 ERROR_REPEATED_ATTEMPTS
+	0x18 ERROR_PAIRING_NOT_ALLOWED
+	0x19 ERROR_UNKNOWN_LMP_PDU
+	0x1A ERROR_UNSUPPORTED_REMOTE_FEATURE
+	0x1B ERROR_SCO_OFFSET_REJECTED
+	0x1C ERROR_SCO_INTERVAL_REJECTED
+	0x1D ERROR_SCO_AIR_MODE_REJECTED
+	0x1E ERROR_INVALID_LMP_PARAMETER
+	0x1F ERROR_UNSPECIFIED_ERROR
+	0x20 ERROR_UNSUPPORTED_LMP_PARAMETER_VALUE
+	0x21 ERROR_ROLE_CHANGE_NOT_ALLOWD
+	0x22 ERROR_LMP_RESPONSE_TIMEOUT
+	0x23 ERROR_ERROR_TRANSACTION_COLLISION
+	0x24 ERROR_LMP_PDU_NOT_ALLOWED
+	0x25 ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x26 ERROR_UNIT_KEY_USED
+	0x27 ERROR_QOS_NOT_SUPPORTED
+	0x28 ERROR_INSTANT_PASSED
+	0x29 ERROR_PAIRING_W_UNIT_KEY_NOT_SUPPORTED
+	0x2a ERROR_DIFFERENT_TRANSACTION_COLLISION
+	0x2c ERROR_QOS_UNACCEPTABLE_PARAMETER
+	0x2d ERROR_QOS_REJECTED
+	0x2e ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED
+	0x2f ERROR_INSUFFICIENT_SECURITY
+	0x30 ERROR_PARAMETER_OUT_OF_MANDATORY_PANGE
+	0x32 ERROR_ROLE_SWITCH_PENDING
+	0x34 ERROR_RESERVED_SLOT_VIOLATION
+	0x35 ERROR_ROLE_SWITCH_FAILED
+	0x36 ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE
+	0x37 ERROR_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
+	0x38 ERROR_HOST_BUSY_PAIRING
+	)
+
+
+	//modified_name
+	(
+	0x14 MAX_NAME_LEN
+	0x16 ADV_DATA_NAME_LEN
+	0X20 SPACE
+	
+	)
+	/* GATT Specifications*/
+	(
+	0X2900 CHARACTERTIC_EXTENDED_PROPERTIES
+	0X2901 CHARACTERTIC_USER_DESCRIPTION
+	0X2902 CLIENT_CHARACTERTIC_CONFIGURATION
+	0X2903 SERVER_CHARACTERTIC_CONFIGURATION
+	0X2904 CHARACTERTIC_PRESENTATION_FORMAT
+	0X2905 CHARACTERTIC_AGGREGATE
+	0X2906 VALID_RANGE
+	0X2907 EXTERNAL_REPORT_REFERENCE
+	0X2908 REPORT_REFERENCE
+	0X290B ENVIR_SENSING_CONFIGURATION
+	0X290C ENVIR_SENSING_MEASUREMENT
+	0X290D ENVIR_SENSING_TRIGGER_SETTING
+	)
+	/* LE L2CAP CID */
+	(
+	0x0004 LE_L2CAP_CID_ATT
+	0x0005 LE_L2CAP_CID_SIGNAL
+	0x0006 LE_L2CAP_CID_SMP
+	)
+
+	//LE address type
+	(
+	0 LE_ADDR_TYPE_PUBLIC
+	1 LE_ADDR_TYPE_RANDOM
+	)
+	//LE address type bitmap
+	(
+	7 LE_RECEIVER_ADDR_BIT
+	6 LE_SENDER_ADDR_BIT
+	)
+	//LE SCAN TYPE
+	(
+	0x00 LE_SCAN_TYPE_PASSIVE //no SCAN_REQ shall be sent
+	0x01 LE_SCAN_TYPE_ACTIVE
+	)
+
+	//LE SCAN ENABLE
+	(
+	0x00 LE_SCAN_DISABLE
+	0x01 LE_SCAN_ENABLE
+	0x0101 LE_ACTIVE_SCAN_ENABLE
+	)
+
+	//LE FIND INFORMATION RESPONSE
+	//THE FORMAT OF THE INFORMATION DATA
+	(
+	0x01 UUID_SIZE_16BIT
+	0x02 UUID_SIZE_128BIT
+	)
+
+	(
+	0x0000 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	0x0001 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED
+	)
+
+//	le_state_map 0-2 is reserved for state_inconn,state_insniff and state_sco
+(
+3 lestate_got_first_packet
+4 lestate_encryption
+5 lestate_update_param
+6 lestate_update_map
+)
+
+// 	le mode
+(
+0 lemode_idle
+1 lemode_slave
+3 lemode_master
+)
+
+
+(
+0x01 LLID_CONTINUE
+0x02 LLID_START
+0x03 LLID_LE_LL
+0x01 LLID_EMPTY
+)
+
+(
+4 LE_TX_BUFF_COUNT
+3 LE_TX_BUFF_UPDATE_LOOPCNT //LE_TX_BUFF_COUNT-1
+
+12 LE_MD_MAX_COUNT
+)
+
+
+(
+0 LE_INITATOR_LTK_BIT
+1 LE_INITATOR_IRK_BIT
+2 LE_INITATOR_CSRK_BIT
+)
+
+(
+0x00 LE_PAIRING_MODE_NONE
+0x01 LE_PAIRING_MODE_LAGACY_JUSTWORK
+0x02 LE_PAIRING_MODE_LAGACY_PASSKEY
+0x81 LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK
+0x82 LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+0x83 LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+
+7 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+)
+
+
+(
+0 FLAG_IOCAP_DISPLAYONLY
+1 FLAG_IOCAP_DISPLAYYESNO
+2 FLAG_IOCAP_KEYBOARDONLY
+3 FLAG_IOCAP_NOINPUTNOOUTPUT
+4 FLAG_IOCAP_KEYBOARDDISPLAY
+
+0x00 FLAG_OOB_DATA_FLAG_NO
+)
+
+(
+0x00 FLAG_LE_NO_BONDING_NO_MITM
+0x01 FLAG_LE_BONDING_NO_MITM
+0x04 FLAG_LE_NO_BONDING_MITM
+0x05 FLAG_LE_BONDING_MITM
+0x09 FLAG_LE_BONDING_NO_MITM_SECURE
+0x0D FLAG_LE_BONDING_MITM_SECURE
+
+2 LE_AUTH_MITM_BIT
+3 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+)
+
+(
+0  LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND
+1  LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE
+2  LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE
+
+)
+
+(
+0 MASTER_PUBLIC_ADDR
+1 MASTER_RANDOM_ADDR
+)
+
+(
+0x06 LE_ERR_PIN_OR_KEY_MISSING
+)
+
+
+(
+96000 TIMER_SMP_PAIRING_TIMEOUT //30S
+)
+//mem_le_pairing_state
+(
+0 FLAG_LE_PAIRING_NULL
+1 FLAG_LE_PAIRING_START
+2 FLAG_LE_PAIRING_SEND_RECURITY_REQ
+3 FLAG_LE_PAIRING_RCV_PAIRING_REQ
+4 FLAG_LE_PAIRING_AUTH
+5 FLAG_LE_PAIRING_AFTER_AUTH
+6 FLAG_LE_PAIRING_SEND_START_ENC_RSP
+7 FLAG_LE_PARING_SEND_ENC_INFORMATION
+8 FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION 
+9 FLAG_LE_PARING_SEND_INDENTITY_INFORMATION
+0xff FLAG_LE_PAIRING_END
+)
+
+
+
+/*LE secure connect state */
+(
+0x00 LE_SC_STAT_NULL
+0x01 LE_SC_STAT_RECEIVE_PUBLIC_KEY
+0x02 LE_SC_STAT_WAIT_SEND_PUBLIC_KEY
+0x03 LE_SC_STAT_SEND_PUBLIC_KEY
+0x04 LE_SC_STAT_RECEIVE_RANDOM
+0x05 LE_SC_STAT_SEND_RANDOM
+0x06 LE_SC_STAT_RECEIVE_DHKEY
+0x07 LE_SC_STAT_WAIT_CONFIRM_GKEY
+0x08 LE_SC_STAT_PASSKEY_WAIT_CONFIRM
+)
+
+
+(
+0 FLAG_LE_SC_CONFRIM_NULL
+1 FLAG_LE_SC_CONFRIM_GKEY_OK
+)
+
+//mem_le_enc_state
+(
+0 FLAG_LE_ENC_NULL
+1 FLAG_LE_RCV_ENC_START
+2 FLAG_LE_ENC_PAUSE
+3 FLAG_LE_RCV_START_ENC_RSP
+4 FLAG_LE_SEND_START_ENC_RSP
+0xff FLAG_LE_ENC_END
+)
+
+(//mem_le_configuration
+//bit0:use fixed key , ble passkey pairing
+0 BIT_BLE_PASSKEY_FIXED_KEY
+//bit1:ble pairing use fixed long term key
+1 BIT_BLE_PAIRING_FIXED_LTK
+//bit2:ble transmit packet will set more data flag
+2 BIT_BLE_TRANSMIT_PACKET_BY_MD
+//bit3:master read handle, with requires an authenticated link
+3 BIT_BLE_READ_AUTH
+//bit4:master write handle, with requires an authenticated link
+4 BIT_BLE_WRITE_AUTH
+//bit5:cannot enter long sleep
+5 BIT_BLE_SHORT_MULT
+
+)
+
+(
+0 BIT_ADV_CHANNEL_MAP_37
+1 BIT_ADV_CHANNEL_MAP_38
+2 BIT_ADV_CHANNEL_MAP_39
+)
+
+
+
Index: YJX_Only24g/FCC_1021S/format/lmp.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/lmp.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/lmp.format	(working copy)
@@ -0,0 +1,224 @@
+
+memalloc(
+
+1 mem_lmo_header_length
+1 mem_lmo_header_opcode
+17 mem_lmo_payload
+1 mem_lmi_accepted_opcode
+1 mem_disconn_reason_send
+1 mem_tx_fixed_freq
+1 mem_rx_fixed_freq
+1 mem_ext_features_page
+2 mem_lmpext_ssp_enable
+1 mem_remote_sppcap
+
+1 mem_lmp_conn_state
+2 mem_soft_timer
+1 mem_pincode_state
+
+1 mem_sres_tid
+1 mem_accptsco_tid
+
+1 mem_auth_enable
+1 mem_wait_encryption
+
+16 mem_sniff_payload
+4 mem_aurand_send_delay_time
+)
+
+xmemalloc(
+3 mem_lmp_version
+2 mem_lmp_subversion
+1 mem_local_name_length
+3 mem_local_name
+64 mem_local_name2
+1 mem_local_name_end
+1 mem_unsniff2sniff_timer
+1 mem_switch_flag
+1 mem_classic_bt_flag
+)
+
+	(
+	//bit flag:mem_classic_bt_flag
+	0 FLAG_SSP_REJECT_JUSTWORK
+	1 SHORT_MULT_FLAG
+	)
+	
+	(
+	//bit map
+	0 pair_state_inrand
+	1 pair_state_inrand_acpt
+	2 pair_state_send_comb
+	3 pair_state_recv_comb
+	4 pair_state_send_aurand
+	5 pair_state_recv_sres
+	6 pair_state_recv_aurand
+	7 pair_state_send_sres	
+	)
+	/* LMP opcodes */
+	(
+	1 LMP_NAME_REQ 
+	2 LMP_NAME_RES 
+	3 LMP_ACCEPTED 
+	4 LMP_NOT_ACCEPTED 
+	5 LMP_CLKOFFSET_REQ 
+	6 LMP_CLKOFFSET_RES 
+	7 LMP_DETACH 
+	8 LMP_IN_RAND 
+	9 LMP_COMB_KEY 
+	10 LMP_UNIT_KEY 
+	11 LMP_AU_RAND 
+	12 LMP_SRES 
+	13 LMP_TEMP_RAND 
+	14 LMP_TEMP_KEY 
+	15 LMP_ENCRYPTION_MODE_REQ 
+	16 LMP_ENCRYPTION_KEY_SIZE_REQ 
+	17 LMP_START_ENCRYPTION_REQ 
+	18 LMP_STOP_ENCRYPTION_REQ 
+	19 LMP_SWITCH_REQ 
+	20 LMP_HOLD
+	21 LMP_HOLD_REQ
+	23 LMP_SNIFF_REQ 
+	24 LMP_UNSNIFF_REQ 
+	26 LMP_PARK_REQ 
+	27 LMP_SET_BROADCAST_SCAN_WINDOW 
+	28 LMP_MODIFY_BEACON 
+	29 LMP_UNPARK_BD_ADDR_REQ 
+	30 LMP_UNPARK_PM_ADDR_REQ 
+	31 LMP_INCR_POWER_REQ 
+	32 LMP_DECR_POWER_REQ 
+	33 LMP_MAX_POWER 
+	34 LMP_MIN_POWER 
+	35 LMP_AUTO_RATE 
+	36 LMP_PREFERRED_RATE 
+	37 LMP_VERSION_REQ 
+	38 LMP_VERSION_RES 
+	39 LMP_FEATURES_REQ 
+	40 LMP_FEATURES_RES 
+	41 LMP_QUALITY_OF_SERVICE 
+	42 LMP_QUALITY_OF_SERVICE_REQ 
+	43 LMP_SCO_LINK_REQ 
+	44 LMP_REMOVE_SCO_LINK_REQ 
+	45 LMP_MAX_SLOT 
+	46 LMP_MAX_SLOT_REQ 
+	47 LMP_TIMING_ACCURACY_REQ 
+	48 LMP_TIMING_ACCURACY_RES 
+	49 LMP_SETUP_COMPLETE 
+	50 LMP_USE_SEMI_PERMANENT_KEY 
+	51 LMP_HOST_CONNECTION_REQ 
+	52 LMP_SLOT_OFFSET 
+	53 LMP_PAGE_MODE_REQ 
+	54 LMP_PAGE_SCAN_MODE_REQ 
+	55 LMP_SUPERVISION_TIMEOUT 
+	56 LMP_TEST_ACTIVATE
+	57 LMP_TEST_CONTROL
+	58 LMP_ENC_KEY_SIZE_MASK_REQ
+	59 LMP_ENC_KEY_SIZE_MASK_RES
+	60 LMP_SET_AFH
+
+	/* simple pairing support */
+	61 LMP_ENCAPSULATED_HEADER
+	62 LMP_ENCAPSULATED_PAYLOAD
+	63 LMP_SIMPLE_PAIRING_CONFIRM
+	64 LMP_SIMPLE_PAIRING_NUMBER
+	65 LMP_DHKEY_CHECK
+	127 LMP_ESCAPE
+	127 LMP_ESCAPE_4   /* add 2bytes LMP header support  */   
+	)
+	/* LMP EXT opcodes, ORed with bit 7 to make difference to nonEXT */
+	(
+	129 LMP_EXT_ACCEPTED
+	130 LMP_NOT_ACCEPTED_EXT
+	131 LMP_EXT_FEATURES_REQ
+	132 LMP_EXT_FEATURES_RES
+	139 LMP_PACKET_TYPE_TABLE_REQ
+	140 LMP_EXT_ESCO_LINK_REQ
+	141 LMP_EXT_REMOVE_ESCO_REQ
+	144 LMP_EXT_CHN_CLASSIFICATION_REQ
+	145 LMP_EXT_CHN_CLASSIFICATION
+	149 LMP_SNIFF_SUBRATING_REQ
+	150 LMP_SNIFF_SUBRATING_RES
+	151 LMP_PAUSE_ENCRYPTION_REQ
+	152 LMP_RESUME_ENCRYPTION_REQ
+	153 LMP_IO_CAP_REQ
+	154 LMP_IO_CAP_RES
+	)
+	/* LMP reason codes */
+	(
+	0x05 AUTHENTICATION_FAILURE_ERROR
+	0x06 KEY_MISSING
+	0x0b ACL_CONNECTION_ALREADY_EXISTS
+	0x13 OTHER_END_TERMINATED
+	0x15 ABOUT_TO_POEWR_OFF
+	0x16 LOCAL_HOST
+	0x18 PAIRING_NOT_ALLOWED
+	0x19 UNKNOWN_LMP_PDU
+	0x1A UNSUPPORTED_LMP_FEATURE 
+	0x1F UNSPECIFIED_ERROR
+	0x20 UNSUPPORTED_PARAMETERS
+	0x21 SWITCH_NOT_ALLOWED
+	0x23 TRANSACTION_COLLISION
+	0x24 PDU_NOT_ALLOWED
+	0x25 ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x2e NOT_SUPPORT_CHN_CLASSIFICATION
+	0x37 NOT_SUPPORT_SSP
+	)
+
+	/* test mode scenarios */
+	(
+	0 PAUSE_TEST_MODE
+	1 ZERO_PATTERN
+	2 ONE_PATTERN
+	3 ALT_PATTERN
+	4 PSEUDORANDOM
+	5 CLOSED_LOOP_BACK_ACL
+	6 CLOSED_LOOP_BACK_SCO
+	7 ACL_WITHOUT_WHITENING
+	8 SCO_WITHOUT_WHITENING
+	9 ALT2_PATTERN
+	255 EXIT_TEST_MODE
+	)
+	/* test mode hoppig modes */
+	(
+	0 FIXED_FREQ
+	1 NORMAL_HOP
+	)
+
+	/* mem_lmp_tid indicates which type of LMP will be sent */
+	(
+	0 TID_NORM_REPLY
+	1 TID_NORM_SEND
+	2 TID_ONE
+	3 TID_ZERO
+	4 TID_PAIRING
+	5 TID_ENCRYPTION
+	6 TID_VARIABLE
+	7 TID_RX
+	)
+
+	/* ============== lmp status ==========*/
+	(
+	0 lmp_incoming
+	1 lmp_outgoing
+	2 lmp_reject_msg
+	3 lmp_clear_msg
+	4 upper_reject_msg
+	5 upper_clear_msg
+	)
+
+(
+0x2ee00 TIMER_ONE_MINUTE //96000*2
+80 TIMER_SWITCH_WAITE
+12 TIMER_ENPT_WAITE
+)
+
+(
+0 SWITCH_FLAG_INIT
+1 SWITCH_FLAG_ACCEPT
+2 SWITCH_FLAG_NOT_ACCEPT
+)
+(
+0 NULL_ENCRYP
+1 DONE_ENCRYP
+)
+
Index: YJX_Only24g/FCC_1021S/format/memblocks.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/memblocks.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/memblocks.format	(working copy)
@@ -0,0 +1,71 @@
+//
+//
+//Large memory blocks defined in this file.
+//Blocks Shall be defined with absolute address.
+//Blocks' length Shall be specified in comment following Blocks' names.
+//Different blocks MAY be overlap.
+//Blocks defined in this file Shall NOT be overlap with variable in memmap.format.
+
+// USB C51 exchange area
+(
+0xff0 mem_mcmd
+0xff1 mem_mouse_data
+)
+
+//l2cap RX buffers
+(
+0x1000 mem_l2cap_rxbuff1		//0x400
+0x1400 mem_l2cap_rxbuff2		//0x400
+//end address:0x17ff
+)
+//l2cap TX buffers
+(
+0x1800 mem_tx_buff0		//128
+0x1880 mem_tx_buff1		//128
+0x1900 mem_tx_buff2		//128
+0x1980 mem_tx_buff3		//128
+0x1a00 mem_tx_buff4		//128
+0x1a80 mem_tx_buff5		//128
+0x1b00 mem_tx_buff6		//128
+0x1b80 mem_tx_buff7		//128
+//end address: 0x1bff
+)
+
+(
+0x1800 mem_le_tx_buffer0
+0x1900 mem_le_tx_buffer1
+0x1a00 mem_le_tx_buffer2
+0x1b00 mem_le_tx_buffer3
+//end addr:0x1dff
+)
+
+
+//uart buffer
+(
+0x1800 mem_h5rx_buf//0x400
+0x1bff mem_h5rx_buf_end
+0x1c00 mem_h5tx_buf
+0x1fff mem_h5tx_buf_end
+)
+
+(
+0x4c00 mem_module_rx_buf//0x400
+0x4c00 mem_module_rx_buf_little
+0x4fff mem_module_rx_buf_end
+0x1c00 mem_module_tx_buf
+0x1fff mem_module_tx_buf_end
+)
+
+(
+0x1800 mem_ir_record
+0x1c      mem_ir_record_max
+)
+
+ifndef REVD 
+(
+0x4b00 memk
+)
+
+
+endif
+
Index: YJX_Only24g/FCC_1021S/format/patch.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/patch.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/patch.format	(working copy)
@@ -0,0 +1,516 @@
+
+(
+	  0 patch00_0
+	  1 patch00_1
+	  2 patch00_2
+	  3 patch00_3
+	  4 patch00_4
+	  5 patch00_5
+	  6 patch00_6
+	  7 patch00_7
+	  8 patch01_0
+	  9 patch01_1
+	 10 patch01_2
+	 11 patch01_3
+	 12 patch01_4
+	 13 patch01_5
+	 14 patch01_6
+	 15 patch01_7
+	 16 patch02_0
+	 17 patch02_1
+	 18 patch02_2
+	 19 patch02_3
+	 20 patch02_4
+	 21 patch02_5
+	 22 patch02_6
+	 23 patch02_7
+	 24 patch03_0
+	 25 patch03_1
+	 26 patch03_2
+	 27 patch03_3
+	 28 patch03_4
+	 29 patch03_5
+	 30 patch03_6
+	 31 patch03_7
+	 32 patch04_0
+	 33 patch04_1
+	 34 patch04_2
+	 35 patch04_3
+	 36 patch04_4
+	 37 patch04_5
+	 38 patch04_6
+	 39 patch04_7
+	 40 patch05_0
+	 41 patch05_1
+	 42 patch05_2
+	 43 patch05_3
+	 44 patch05_4
+	 45 patch05_5
+	 46 patch05_6
+	 47 patch05_7
+	 48 patch06_0
+	 49 patch06_1
+	 50 patch06_2
+	 51 patch06_3
+	 52 patch06_4
+	 53 patch06_5
+	 54 patch06_6
+	 55 patch06_7
+	 56 patch07_0
+	 57 patch07_1
+	 58 patch07_2
+	 59 patch07_3
+	 60 patch07_4
+	 61 patch07_5
+	 62 patch07_6
+	 63 patch07_7
+	 64 patch08_0
+	 65 patch08_1
+	 66 patch08_2
+	 67 patch08_3
+	 68 patch08_4
+	 69 patch08_5
+	 70 patch08_6
+	 71 patch08_7
+	 72 patch09_0
+	 73 patch09_1
+	 74 patch09_2
+	 75 patch09_3
+	 76 patch09_4
+	 77 patch09_5
+	 78 patch09_6
+	 79 patch09_7
+	 80 patch0a_0
+	 81 patch0a_1
+	 82 patch0a_2
+	 83 patch0a_3
+	 84 patch0a_4
+	 85 patch0a_5
+	 86 patch0a_6
+	 87 patch0a_7
+	 88 patch0b_0
+	 89 patch0b_1
+	 90 patch0b_2
+	 91 patch0b_3
+	 92 patch0b_4
+	 93 patch0b_5
+	 94 patch0b_6
+	 95 patch0b_7
+	 96 patch0c_0
+	 97 patch0c_1
+	 98 patch0c_2
+	 99 patch0c_3
+	100 patch0c_4
+	101 patch0c_5
+	102 patch0c_6
+	103 patch0c_7
+	104 patch0d_0
+	105 patch0d_1
+	106 patch0d_2
+	107 patch0d_3
+	108 patch0d_4
+	109 patch0d_5
+	110 patch0d_6
+	111 patch0d_7
+	112 patch0e_0
+	113 patch0e_1
+	114 patch0e_2
+	115 patch0e_3
+	116 patch0e_4
+	117 patch0e_5
+	118 patch0e_6
+	119 patch0e_7
+	120 patch0f_0
+	121 patch0f_1
+	122 patch0f_2
+	123 patch0f_3
+	124 patch0f_4
+	125 patch0f_5
+	126 patch0f_6
+	127 patch0f_7
+	128 patch10_0
+	129 patch10_1
+	130 patch10_2
+	131 patch10_3
+	132 patch10_4
+	133 patch10_5
+	134 patch10_6
+	135 patch10_7
+	136 patch11_0
+	137 patch11_1
+	138 patch11_2
+	139 patch11_3
+	140 patch11_4
+	141 patch11_5
+	142 patch11_6
+	143 patch11_7
+	144 patch12_0
+	145 patch12_1
+	146 patch12_2
+	147 patch12_3
+	148 patch12_4
+	149 patch12_5
+	150 patch12_6
+	151 patch12_7
+	152 patch13_0
+	153 patch13_1
+	154 patch13_2
+	155 patch13_3
+	156 patch13_4
+	157 patch13_5
+	158 patch13_6
+	159 patch13_7
+	160 patch14_0
+	161 patch14_1
+	162 patch14_2
+	163 patch14_3
+	164 patch14_4
+	165 patch14_5
+	166 patch14_6
+	167 patch14_7
+	168 patch15_0
+	169 patch15_1
+	170 patch15_2
+	171 patch15_3
+	172 patch15_4
+	173 patch15_5
+	174 patch15_6
+	175 patch15_7
+	176 patch16_0
+	177 patch16_1
+	178 patch16_2
+	179 patch16_3
+	180 patch16_4
+	181 patch16_5
+	182 patch16_6
+	183 patch16_7
+	184 patch17_0
+	185 patch17_1
+	186 patch17_2
+	187 patch17_3
+	188 patch17_4
+	189 patch17_5
+	190 patch17_6
+	191 patch17_7
+	192 patch18_0
+	193 patch18_1
+	194 patch18_2
+	195 patch18_3
+	196 patch18_4
+	197 patch18_5
+	198 patch18_6
+	199 patch18_7
+	200 patch19_0
+	201 patch19_1
+	202 patch19_2
+	203 patch19_3
+	204 patch19_4
+	205 patch19_5
+	206 patch19_6
+	207 patch19_7
+	208 patch1a_0
+	209 patch1a_1
+	210 patch1a_2
+	211 patch1a_3
+	212 patch1a_4
+	213 patch1a_5
+	214 patch1a_6
+	215 patch1a_7
+	216 patch1b_0
+	217 patch1b_1
+	218 patch1b_2
+	219 patch1b_3
+	220 patch1b_4
+	221 patch1b_5
+	222 patch1b_6
+	223 patch1b_7
+	224 patch1c_0
+	225 patch1c_1
+	226 patch1c_2
+	227 patch1c_3
+	228 patch1c_4
+	229 patch1c_5
+	230 patch1c_6
+	231 patch1c_7
+	232 patch1d_0
+	233 patch1d_1
+	234 patch1d_2
+	235 patch1d_3
+	236 patch1d_4
+	237 patch1d_5
+	238 patch1d_6
+	239 patch1d_7
+	240 patch1e_0
+	241 patch1e_1
+	242 patch1e_2
+	243 patch1e_3
+	244 patch1e_4
+	245 patch1e_5
+	246 patch1e_6
+	247 patch1e_7
+	248 patch1f_0
+	249 patch1f_1
+	250 patch1f_2
+	251 patch1f_3
+	252 patch1f_4
+	253 patch1f_5
+	254 patch1f_6
+	255 patch1f_7
+	  0 patch20_0
+	  1 patch20_1
+	  2 patch20_2
+	  3 patch20_3
+	  4 patch20_4
+	  5 patch20_5
+	  6 patch20_6
+	  7 patch20_7
+	  8 patch21_0
+	  9 patch21_1
+	 10 patch21_2
+	 11 patch21_3
+	 12 patch21_4
+	 13 patch21_5
+	 14 patch21_6
+	 15 patch21_7
+	 16 patch22_0
+	 17 patch22_1
+	 18 patch22_2
+	 19 patch22_3
+	 20 patch22_4
+	 21 patch22_5
+	 22 patch22_6
+	 23 patch22_7
+	 24 patch23_0
+	 25 patch23_1
+	 26 patch23_2
+	 27 patch23_3
+	 28 patch23_4
+	 29 patch23_5
+	 30 patch23_6
+	 31 patch23_7
+	 32 patch24_0
+	 33 patch24_1
+	 34 patch24_2
+	 35 patch24_3
+	 36 patch24_4
+	 37 patch24_5
+	 38 patch24_6
+	 39 patch24_7
+	 40 patch25_0
+	 41 patch25_1
+	 42 patch25_2
+	 43 patch25_3
+	 44 patch25_4
+	 45 patch25_5
+	 46 patch25_6
+	 47 patch25_7
+	 48 patch26_0
+	 49 patch26_1
+	 50 patch26_2
+	 51 patch26_3
+	 52 patch26_4
+	 53 patch26_5
+	 54 patch26_6
+	 55 patch26_7
+	 56 patch27_0
+	 57 patch27_1
+	 58 patch27_2
+	 59 patch27_3
+	 60 patch27_4
+	 61 patch27_5
+	 62 patch27_6
+	 63 patch27_7
+	 64 patch28_0
+	 65 patch28_1
+	 66 patch28_2
+	 67 patch28_3
+	 68 patch28_4
+	 69 patch28_5
+	 70 patch28_6
+	 71 patch28_7
+	 72 patch29_0
+	 73 patch29_1
+	 74 patch29_2
+	 75 patch29_3
+	 76 patch29_4
+	 77 patch29_5
+	 78 patch29_6
+	 79 patch29_7
+	 80 patch2a_0
+	 81 patch2a_1
+	 82 patch2a_2
+	 83 patch2a_3
+	 84 patch2a_4
+	 85 patch2a_5
+	 86 patch2a_6
+	 87 patch2a_7
+	 88 patch2b_0
+	 89 patch2b_1
+	 90 patch2b_2
+	 91 patch2b_3
+	 92 patch2b_4
+	 93 patch2b_5
+	 94 patch2b_6
+	 95 patch2b_7
+	 96 patch2c_0
+	 97 patch2c_1
+	 98 patch2c_2
+	 99 patch2c_3
+	100 patch2c_4
+	101 patch2c_5
+	102 patch2c_6
+	103 patch2c_7
+	104 patch2d_0
+	105 patch2d_1
+	106 patch2d_2
+	107 patch2d_3
+	108 patch2d_4
+	109 patch2d_5
+	110 patch2d_6
+	111 patch2d_7
+	112 patch2e_0
+	113 patch2e_1
+	114 patch2e_2
+	115 patch2e_3
+	116 patch2e_4
+	117 patch2e_5
+	118 patch2e_6
+	119 patch2e_7
+	120 patch2f_0
+	121 patch2f_1
+	122 patch2f_2
+	123 patch2f_3
+	124 patch2f_4
+	125 patch2f_5
+	126 patch2f_6
+	127 patch2f_7
+	128 patch30_0
+	129 patch30_1
+	130 patch30_2
+	131 patch30_3
+	132 patch30_4
+	133 patch30_5
+	134 patch30_6
+	135 patch30_7
+	136 patch31_0
+	137 patch31_1
+	138 patch31_2
+	139 patch31_3
+	140 patch31_4
+	141 patch31_5
+	142 patch31_6
+	143 patch31_7
+	144 patch32_0
+	145 patch32_1
+	146 patch32_2
+	147 patch32_3
+	148 patch32_4
+	149 patch32_5
+	150 patch32_6
+	151 patch32_7
+	152 patch33_0
+	153 patch33_1
+	154 patch33_2
+	155 patch33_3
+	156 patch33_4
+	157 patch33_5
+	158 patch33_6
+	159 patch33_7
+	160 patch34_0
+	161 patch34_1
+	162 patch34_2
+	163 patch34_3
+	164 patch34_4
+	165 patch34_5
+	166 patch34_6
+	167 patch34_7
+	168 patch35_0
+	169 patch35_1
+	170 patch35_2
+	171 patch35_3
+	172 patch35_4
+	173 patch35_5
+	174 patch35_6
+	175 patch35_7
+	176 patch36_0
+	177 patch36_1
+	178 patch36_2
+	179 patch36_3
+	180 patch36_4
+	181 patch36_5
+	182 patch36_6
+	183 patch36_7
+	184 patch37_0
+	185 patch37_1
+	186 patch37_2
+	187 patch37_3
+	188 patch37_4
+	189 patch37_5
+	190 patch37_6
+	191 patch37_7
+	192 patch38_0
+	193 patch38_1
+	194 patch38_2
+	195 patch38_3
+	196 patch38_4
+	197 patch38_5
+	198 patch38_6
+	199 patch38_7
+	200 patch39_0
+	201 patch39_1
+	202 patch39_2
+	203 patch39_3
+	204 patch39_4
+	205 patch39_5
+	206 patch39_6
+	207 patch39_7
+	208 patch3a_0
+	209 patch3a_1
+	210 patch3a_2
+	211 patch3a_3
+	212 patch3a_4
+	213 patch3a_5
+	214 patch3a_6
+	215 patch3a_7
+	216 patch3b_0
+	217 patch3b_1
+	218 patch3b_2
+	219 patch3b_3
+	220 patch3b_4
+	221 patch3b_5
+	222 patch3b_6
+	223 patch3b_7
+	224 patch3c_0
+	225 patch3c_1
+	226 patch3c_2
+	227 patch3c_3
+	228 patch3c_4
+	229 patch3c_5
+	230 patch3c_6
+	231 patch3c_7
+	232 patch3d_0
+	233 patch3d_1
+	234 patch3d_2
+	235 patch3d_3
+	236 patch3d_4
+	237 patch3d_5
+	238 patch3d_6
+	239 patch3d_7
+	240 patch3e_0
+	241 patch3e_1
+	242 patch3e_2
+	243 patch3e_3
+	244 patch3e_4
+	245 patch3e_5
+	246 patch3e_6
+	247 patch3e_7
+	248 patch3f_0
+	249 patch3f_1
+	250 patch3f_2
+	251 patch3f_3
+	252 patch3f_4
+	253 patch3f_5
+	254 patch3f_6
+	255 patch3f_7
+
+)
Index: YJX_Only24g/FCC_1021S/format/regs.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/regs.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/regs.format	(working copy)
@@ -0,0 +1,298 @@
+(
+  0x8000 core_chipid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x8009 core_pcmoutfifo
+  0x8010 core_reset
+  0x8011 core_encrypt
+  0x8015 core_uart_txd
+  0x8022 core_ucode_hi
+  0x8023 core_ucode_ctrl
+  0x8024 core_ucode_low
+  0x8025 core_ucode_data
+  0x8040 core_halfslot
+  0x8042 core_clksel
+  0x8043 core_uart_clksel
+  0x8043 core_config 
+  0x8044 core_xtal_stable_time
+  0x8045 core_otp_addr
+  0x8046 core_otp_din
+  0x8047 core_otp_ctrl
+  0x8048 core_otpd_addr
+  0x804a core_otpd_len
+  0x804b core_otpd_ctrl
+  0x804c core_lpm_reg
+  0x804f core_lpm_isogate
+  0x8050 core_clkoff
+  0x8052 core_uart_baud
+  0x8054 core_uart_rsaddr
+  0x8056 core_uart_readdr
+  0x8058 core_uart_rrptr
+  0x805a core_uart_tsaddr
+  0x805c core_uart_teaddr
+  0x805e core_uart_twptr
+  0x8060 core_uart_trptrp
+  0x8062 core_uart_ctrl
+  0x8063 core_bist_ctrl
+  0x8064 core_pwm_pcnt3
+  0x8066 core_pwm_ncnt3 
+  0x8068 core_pwm_pcnt4
+  0x806a core_pwm_ncnt4
+  0x806c core_pwm_pcnt5
+  0x806e core_pwm_ncnt5
+  0x8070 core_gpio_oe0
+  0x8071 core_gpio_oe1
+  0x8072 core_gpio_oe2
+  0x8073 core_gpio_oe3
+  0x8074 core_gpio_out0
+  0x8075 core_gpio_out1
+  0x8076 core_gpio_out2
+  0x8077 core_gpio_out3
+  0x8078 core_gpio_pu0
+  0x8079 core_gpio_pu1
+  0x807a core_gpio_pu2
+  0x807b core_gpio_pu3
+  0x807c core_gpio_pd0
+  0x807d core_gpio_pd1
+  0x807e core_gpio_pd2
+  0x807f core_gpio_pd3
+  0x8080 core_gpio_sel
+  0x8081 core_gpio_sel1
+  0x8082 core_gpio_sel2
+  0x8083 core_gpio_key0
+  0x8084 core_gpio_key1
+  0x8085 core_gpio_key2
+  0x8086 core_spid_ctrl
+  0x8087 core_spid_delay
+  0x8088 core_spid_txlen
+  0x808a core_spid_txaddr
+  0x808c core_spid_rxaddr
+  0x808e core_spid_rxlen
+  0x8090 core_iicd_ctrl
+  0x8091 core_iicd_scl_low
+  0x8092 core_iicd_scl_high
+  0x8093 core_iicd_start_setup
+  0x8094 core_iicd_start_hold
+  0x8095 core_iicd_stop_setup
+  0x8096 core_iicd_data_setup
+  0x8097 core_iicd_data_hold
+  0x8098 core_iicd_txlen
+  0x809a core_iicd_txaddr
+  0x809c core_iicd_rxaddr
+  0x809e core_iicd_rxlen
+  0x80a0 core_pwm_pcnt0
+  0x80a2 core_pwm_ncnt0
+  0x80a4 core_pwm_pcnt1
+  0x80a6 core_pwm_ncnt1
+  0x80a8 core_pwm_pcnt2
+  0x80aa core_pwm_ncnt2
+  0x80b0 core_enc_ctrl
+  0x80b1 core_cvsd_ctrl
+  0x80b2 core_codec_ctrl
+  0x80b3 core_dec_ctrl
+
+
+
+
+  
+  0x8108 core_misc_status
+  0x8109 core_qdec_cntx
+  0x810a core_qdec_cnty
+  0x810b core_qdec_cntz
+  0x810c core_uart_status
+  0x810d core_uart_rbaud
+  0x810e core_uart_txitems
+  0x8110 core_uart_trptr
+  0x8112 core_uart_rxitems
+  0x8114 core_uart_rdptr
+  0x8116 core_uart_rwptr
+  0x8119 core_kscn_kstat
+  0x811a core_kscn_event
+  0x811b core_kscn_event_num
+  0x811c core_gpio_in
+  0x811d core_gpio_in1
+  0x8124 core_current_otp_addr
+  0x8126 core_otpd_remain
+  0x8128 core_spid_remain
+  0x812a core_iicd_remain
+  0x812c core_dma_status
+  0x812d core_perf_status
+  0x812e core_adc_in
+  0x8134 core_pcminfifo
+  0x8135 core_pcminfifo_remain
+  0x8136 core_pcmoutfifo_remain
+  0x8138 core_lpm_ctrl
+  0x813c core_lpm_xtalcnt
+  0x813d core_lpm_buckcnt
+  0x813e core_lpm_ldocnt
+  0x813f core_lpm_latch
+  0x8140 core_gpio_wakeup_low
+  0x8144 core_gpio_wakeup_high
+  0x8149 core_clk_counter
+  0x8150 core_adc_sum
+// dummy regs  
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  0x8280 core_docd_ctrl
+  0x8288 core_docd_paddr
+  0x828a core_docd_pdata
+
+  0x8300 iic_prer_low		
+  0x8301 iic_slave_addr	
+  0x8302 iic_ctr					
+  0x8303 iic_cr					
+  0x8304 iic_rxr					
+  0x8305 iic_txr					
+  0x8306 iic_sr					
+  0x8307 iic_fifo				
+
+  0x8400   mem_b_box          /* entire bank */
+  0x8500   mem_e_box          /* entire bank */
+  0x8600   mem_l_box          /* entire bank */
+
+ifdef REVD
+  0x8700 memk
+endif
+
+  0x8900 rfen_rx
+  0x8901 rfen_tx
+  0x8902 rfen_mdm
+  0x8903 rfen_sn
+  0x8904 rfen_msc
+  0x8905 rfen_ck
+  0x8906 rfen_adc
+  0x8912 rf_agc_ctrl
+  0x8914 rfen_ulp
+  0x8973 rfen_chgpump
+  0x894b rf_rx_vctrl_reg1
+  0x894c rf_rx_vctrl_reg2
+  0x894d rf_rx_ib_lna
+  0x894e rf_rx_lna_ctrim
+
+  0x8950 rf_bpf_ctrim
+  0x8951 rf_bpf_ib
+  0x8952 rf_adc_rccal
+  0x8952 rf_rccal_ctrl
+  0x8953 rf_rccal_sel
+  0x8955 rf_tx_pa
+  0x895f rf_pll_rstn
+  0x8964 rf_sdm_en
+  0x8960 rf_pll_intg
+  0x8961 rf_pll_frac
+  0x8963 rf_pll_frachi
+  0x896c rf_afc_cap
+  0x8967 rf_clkpll_bias
+  0x896f rf_clkpll_en
+  0x8968 rf_clkpll_int
+  0x8969 rf_clkpll_frac
+  0x896d rf_balun_ctrim
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+  0x8980 rf_rccal_result
+  0x8981 rf_afc_d2a
+  0x8982 rf_rssi
+
+
+0x8a00 core_usb_config		
+0x8a01 core_usb_int_mask	
+0x8a04 core_usb_addr
+0x8a10 core_usb_trig	
+0x8a11 core_usb_stall		
+0x8a12 core_usb_clear		
+0x8a18 core_usb_ep
+0x8a18 core_usb_dfifo0 
+0x8a19 core_usb_dfifo1  
+0x8a1a core_usb_dfifo2 
+0x8a20 core_usb_ep_len
+0x8a26 core_usb_status		
+0x8a27 core_usb_fifo_empty
+0x8a28 core_usb_fifo_full
+
+
+4 rx_freq_offset
+1 tx_freq_offset
+
+/* bit difinitions */
+  4 whiteoff_bit
+  6 clksel_rc
+  5 clksel_dpll
+  4 clksel_xtal
+  5 adc_rccal
+  0 bpf_rccal
+  1 demod_clkoff
+
+(
+  2 reload_code
+  3 gpio_latch
+  4 enable_retmem
+  7 cold_wake
+  0xef isogate_mask
+  0xe0 cs_mask
+)
+
+// misc ctrl
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+// dma status bit
+(
+  0 otpd_crcok
+  1 otpd_done
+  2 spid_crcok
+  3 spid_done
+  4 iicd_crcok
+  5 iicd_done
+  6 iicd_ack
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x91 uart_ctrl_5line
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x00 uartclk_crystal
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x34 uart_baud_921600
+0x9c4 uart_baud_9600
+0x2dc6c00 uart_clk
+0x16E3600 uart_clk_24
+
+//core_clkoff
+(
+	0 CLOCK_OFF_AUTH_ROM
+	1 CLOCK_OFF_UC_ROM
+	2 CLOCK_OFF_DEBUG_UART
+	3 CLOCK_OFF_SCHED_RAM
+	4 CLOCK_OFF_TRANCE_FIFO
+	5 CLOCK_OFF_CORDIC
+	6 CLOCK_OFF_OTPD
+	7 CLOCK_OFF_I2C
+	8 CLICK_OFF_8051
+	9 CLOCK_OFF_KEYSCAN
+	0x0a CLOCK_OFF_USB
+	0x0b CLOCK_OFF_QDECODER
+	0x0c CLOCK_OFF_SPI
+	0x0d CLOCK_OFF_PWM
+	0x0e CLOCK_OFF_CODEC
+	0x0f CLOCK_OFF_UART
+)
+
+
Index: YJX_Only24g/FCC_1021S/format/rfcomm.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/rfcomm.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/rfcomm.format	(working copy)
@@ -0,0 +1,391 @@
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_rfcomm_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $ */
+/* Orisil Technology                                                      */
+/*****************************************************************************/
+
+/**********/
+/* memory */
+/**********/
+
+memalloc(
+1 memRemoteRPNBitRate
+1 memRemotePRNDataBits
+1 memRemotePRNStopBit
+1 memRemotePRNParity
+1 memRemotePRNFlowControl
+1 memRemotePRNXon
+1 memRemotePRNXoff
+
+
+3 mem_mod2div_temp
+2 mem_contw_temp
+2 mem_attrib_list
+
+//rfcomm head
+1 mem_current_adss
+1 mem_current_channel
+1 mem_current_frame_type
+1 mem_current_fcs
+2 mem_current_length
+2 mem_rfcomm_uih_payload_ptr
+
+//rfcomm uih
+1 mem_uih_cmd_type
+2 mem_uih_length
+2 mem_param_payload_ptr
+
+
+//rfcomm modem status
+1 mem_ms_param
+
+//rfcomm pn
+1 mem_pn_credit_flow_type_info
+1 mem_pn_priority
+1 mem_pn_acknowledg_timer
+1 mem_pn_max_retrans
+
+1 mem_rfcomm_send_adss
+1 mem_rfcomm_send_frame_type
+1 mem_rfcomm_send_fcs
+1 mem_rfcomm_send_offset
+
+)
+
+xmemalloc(
+1 mem_pn_dlci
+2 mem_pn_max_frame_size
+
+1 memFCStemp1
+1 memFCStemp2
+1 memFCStemp3
+
+1 mem_rfcomm_initiator
+
+1 mem_remote_spp_channel
+
+1 mem_HIUfcs_SPP
+1 mem_HIUfcs_SPP_WCredits
+
+1 mem_rfcomm_send_more_pkt
+
+1 mem_remote_credits
+1 mem_credit_given
+
+//rfcomm modem status
+1 mem_ms_channel
+
+1 mem_credit_flag
+
+2 mem_rfcomm_max_frame_size
+1 mem_rfcomm_credit_init_data
+
+2 mem_cb_receive_spp_data
+
+2 mem_nl_rx_data_src
+2 mem_nl_rx_len_all
+)
+
+
+(
+0 CREDIT_DISABLE
+1 CREDIT_ENABLE
+)
+
+
+/************************************************************************/
+  
+
+ 
+/************/
+/* constant */
+/************/
+
+/* RFCOMM state for Headset (memRFCOMM_State) */ 
+  (
+    0 RFCOMM_IDLE           /* before the responsor HS receive SABM            */
+    1 RFCOMM_W4_DLCI0_OPEN
+    2 RFCOMM_W4_DLCI0_CLOSE
+    3 RFCOMM_START_DLCI0    /* After respond SABM frame (DLCI=0)               */
+    4 RFCOMM_W4_DLCI_OPEN
+    5 RFCOMM_W4_DLCI_CLOSE
+    6 RFCOMM_DLCI_OPENED    
+   
+  )
+  
+/* RFCOMM timer constants   */
+  (
+    1000  RFCOMM_T1         /* Used by SABM and DISC frames,100*20ms = 20s     */     
+    1000  RFCOMM_T2         /* Used by commands send in UIH on DLCI0,          */
+    300   RFCOMM_T3_RINGON  /* 6s for ring fade time                           */
+  
+  )
+
+/* Command Type */
+  (
+    0x3F RSP_RX_SABM        /*responsor expect SABM from initiator             */
+    0x3F INI_TX_SABM
+	
+    0x73 RSP_TX_UA          /*responsor send out UA command                    */
+    0x73 UA_WFBIT_SET	    /* UA control field with F bit set                 */
+	
+    0xEF RSP_RX_UIH         /*responsor expect UIH from initiator              */
+
+    0xEF RSP_TX_UIH         /*responsor send UIH to initiator                  */
+     
+    0x1F RSP_TX_DM          /*responsor send DM to initiator                   */
+    0x1F DM_WFBIT_SET       /* DM control field with F bit set                 */
+    0x0F DM_WFBIT_CLEAR     /* DM control field with F bit clear               */
+
+    0x53 RSP_RX_DISC        /*responsor expect DISC from initiator             */
+    0x53 INI_TX_DISC	    /*initiator send DISC control type command         */
+     
+    0xFF RSP_RX_UIH_WDATA   /*UIH data with credit flow control info           */
+    
+    
+  )
+
+/* Multiplexor commands and responses frames */
+  (
+    0x83 PN_COMMAND           /* Bit 0 EA C/R Type = 000001         */
+    0x81 PN_RESPONSOR         /* Bit 0 EA C/R Type = 000001         */
+    
+    0xE3 MSC_COMMAND          /* Bit 0 EA C/R Type = 000111         */
+    0xE1 MSC_RESPONSOR
+ 
+    0x13 NSC_COMMAND          /* Bit 0 EA C/R Type = 001000         */
+    0x11 NSC_RESPONSOR        /* Bit 0 EA C/R Type = 001000         */
+
+    0x23 TEST_COMMAND         /* Bit 0 EA C/R Type = 000111         */
+    0x21 TEST_RESPONSOR 
+    
+    0x93 RPN_COMMAND          /* Bit 0 EA C/R Type = 001001         */
+    0x91 RPN_RESPONSOR 
+    
+    0x53 RLS_COMMAND          /* Bit 0 EA C/R Type = 001010         */
+    0x51 RLS_RESPONSOR 
+
+    0xA3 FCON_COMMAND         /* Bit 0 EA C/R Type = 000101         */
+    0xA1 FCON_RESPONSOR 
+    
+    0x63 FCOFF_COMMAND        /* Bit 0 EA C/R Type = 000110         */
+    0x61 FCOFF_RESPONSOR 
+    	
+    0x03 RLS_OVERRUN
+    0x05 RLS_PARITY_ERROR
+    0x09 RLS_FRAMING_ERROR
+  )
+
+/* memLocalCredit */
+  (
+    0x01 RFCOMM_CREDIT
+  )
+
+  (
+  	0x007f RFCOMM_MAX_FRAME_SIZE
+  )
+
+/* UIH received Data length */
+  (
+    0  LENGTH_ZERO
+    
+    6  LENGTH_OK
+    7  LENGTH_HOT
+    8  LENGTH_RING
+    9  LENGTH_ERROR
+    9  LENGTH_AGVOL_ONEBYTE
+    10 LENGTH_AGVOL_TWOBYTE
+    10 LENGTH_VOL_ONEBYTE
+    11 LENGTH_VOL_TWOBYTE
+    12 LENGTH_BRSF
+    13 LENGTH_PLUS_CIEV
+    15 LENGTH_INBANDRING
+    14 LENGTH_CIEV_CALL
+    17 LENGTH_CRING
+    20 LENGTH_BRSF_OK
+    24 LENGTH_CIND0
+    28 LENGTH_CIEV_TWO
+    32 LENGTH_CIND_OK
+    59 LENGTH_CIND_OK2
+    100 LENGTH_DISCARD
+  )
+  
+/************/
+/* flags    */
+/************/
+  
+/* memRFCOMM_L2CAP_Interface */
+  (
+    0 RFCOMM_TX_W4BUF_FLAG    /* Wait for Tx buffer empty flag */
+    1 RFCOMM_CLOSE_LINK_FLAG
+  )
+  
+
+    
+/* memRemoteMSC		*/
+  (
+    0 MSC_EA_BIT
+    1 MSC_FC_BIT
+    2 MSC_RTC_BIT
+    3 MSC_RTR_BIT
+    6 MSC_IC_BIT
+    7 MSC_DV_BIT
+  )
+
+/* memRemoteRLS         */
+  (
+    0x0C OVERRUN_ERROR
+    0x0A PARITY_ERROR
+    0x09 FRAMING_RERROR
+  )
+  
+/* memRemoteRPNBitRate  */
+  (
+    0x00 BITS2400
+    0x01 BITS4800
+    0x02 BITS7200
+    0x03 BITS9600
+    0x04 BITS19200
+    0x05 BITS38400
+    0x06 BITS57600
+    0x07 BITS115200
+    0x08 BITS230400
+  )
+  
+/* memRemotePRNDataBits	*/
+  (
+    0x00 DATABITS5
+    0x01 DATABITS6
+    0x02 DATABITS7
+    0x03 DATABITS8
+  )
+  
+/* memRemotePRNStopBit	*/
+  (
+    0    ONESTOP
+    1    ONEHALFSTOP
+  )
+  
+/* memRemotePRNParity   */
+  (
+    0    ODDPARITY
+    1    EVENPARITY
+    2    MARKPARITY
+    3    SPACEPARITY
+    
+    7    PARITY_ENABLE_BIT
+  )
+
+/* RPN bit mask(in)     */
+  (
+     0   BIT_RATE_MASK_BIT
+     1   DATA_BITS_MASK_BIT
+     2   STOP_BITS_MASK_BIT
+     3   PARITY_MASK_BIT
+     4   PARITY_TYPE_MASK_BIT
+     5   XON_CHAR_MASK_BIT
+     6   XOFF_CHAR_MASK_BIT
+  )
+  
+/* RPN bit mask(in) 2    */
+  (
+     0   XON_XOFF_INPUT_MASK_BIT
+     1   XON_XOFF_OUTPUT_MASK_BIT
+     2	 RTR_INPUT_MASK_BIT
+     3   RTR_OUTPUT_MASK_BIT
+     4   RTC_INPUT_MASK_BIT
+     5   RTC_OUTPUT_MASK_BIT
+
+  )
+
+/* memRFCOMM_Request	*/
+  (
+    0 SEND_MSC_CMD_REQ_FLAG
+    1 SEND_AT_CKPD_REQ_FLAG
+    2 SEND_RING_REQ_FLAG
+    3 SEND_SABM_CMD
+  )
+  
+/* memRFCOMM_Misc_Flag  */
+  (
+    0 MSC_CDM_ALREADY_SEND_FLAG
+    1 CREDIT_FLOW_USED_FLAG
+    2 DONT_EMBEDDED_CREDIT_FLAG 
+    3 MSC_EXCHANGE_DONE_FLAG
+    4 FLOW_CONTROL_FCOFF_BIT            /* set when receive FCoff, clear when FCon   */
+  )
+  
+/* memRemoteMSC		*/
+  (
+    1 FLOW_CONTROL_FC_BIT		/* received MSC FC bits                      */
+  
+  )
+/* Address filed        */
+  (
+    0 ADDR_EA_BIT
+    1 ADDR_CR_BIT
+    2 ADDR_D_BIT
+  )
+//should be same as descripted in SDP
+(
+    1 SPP_SLAVE_CHANNEL
+    7 OBEX_SERVER_CHANNEL
+    8 HF_SERVER_CHANNEL 
+    9 HS_SERVER_CHANNEL
+)
+/* memRFCOMM_Flag */
+(
+	0 USING_HF_PROFILE
+	1 USING_HS_PROFILE
+	2 USING_SPP_PROFILE
+)
+/*RFCOMM Frame Type*/
+(
+	0x3f RFCOMM_FRAME_TYPE_SABM
+	0x73 RFCOMM_FRAME_TYPE_UA
+	0xEF RFCOMM_FRAME_TYPE_UIH
+	0xFF RFCOMM_FRAME_TYPE_UIH_CREDITS
+	0x53 RFCOMM_FRAME_TYPE_DISCONN
+)
+/*RFCOMM UIH CMD TYPE*/
+(
+	0x41 UIH_PARAM_NEG_CMD
+	0x40 UIH_PARAM_NEG_RES
+	0x49 UIH_PARAM_CMD_REMOVE_PORT
+	0x71 UIH_MODEM_STATUS_CMD
+	0x70 UIH_MODEM_STATUS_RES
+)
+
+/*bits in rfcomm address*/
+(
+	0 RFCOMM_ADDRESS_EXT_LEN
+	1 RFCOMM_ADDRESS_CR
+	2 RFCOMM_ADDRESS_DERECTION
+
+
+)
+
+	(                                   
+	0 RFCOMM_CHANNEL_STATE_PN_CMD
+	1 RFCOMM_CHANNEL_STATE_PN_RES
+	2 RFCOMM_CHANNEL_STATE_SABM
+	3 RFCOMM_CHANNEL_STATE_UA
+	4 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	5 RFCOMM_CHANNEL_STATE_RCV_MS_CMD
+	6 RFCOMM_CHANNEL_STATE_SND_MS_RES
+	7 RFCOMM_CHANNEL_STATE_RCV_MS_RES
+	0xff RFCOMM_CHANNEL_SETUP_COMPLETE
+	) 
+
+	/*mem_rfcomm_send_more_pkt*/
+	(
+	1 MORE_PKT_MSC_CMD_HF
+	2 MORE_PKT_MSC_CMD_HS
+	3 MORE_PKT_MSC_CMD_SPP
+	4 MORE_PKT_MSC_CMD_OBEX
+	)
+
+	(
+	127 RFCOMM_MALLOC_SIZE
+	)
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/format/sdp.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/sdp.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/sdp.format	(working copy)
@@ -0,0 +1,70 @@
+
+memalloc(
+0 mem_sdp_mem_start
+8 mem_sdp_uuid_search_ptr
+2 mem_sdp_continue_byte
+1 mem_sdp_pduid
+2 mem_sdp_transactionid
+2 mem_sdp_transactionid_local
+2 mem_sdp_attribute_maxbyte
+2 mem_sdp_record_maxcnt
+4 mem_sdp_record_handle
+1 mem_sdp_LACAP_found
+1 mem_sdp_RFCOMM_found
+0 mem_sdp_handle_list
+32 mem_sdp_attrib_list
+2 mem_sdp_error_code
+2 mem_sdp_all_length
+1 mem_handle_humber
+2 mem_search_uuid
+0 mem_sdp_mem_end
+)
+xmemalloc(
+2 mem_ui_uuid_table
+22 mem_all_uuid_16bits
+34 mem_all_uuid_128bits
+2 mem_sdp_l2capch_ptr
+)
+(
+0 AGORHS_SERVICE
+1 GENAUDIO_SERVICE
+2 HANDSFREE_SERVICE
+)
+(
+0 ATTRIBUTEID_0000
+1 ATTRIBUTEID_0001
+2 ATTRIBUTEID_0004
+3 ATTRIBUTEID_0009
+4 ATTRIBUTEID_0100
+5 ATTRIBUTEID_0302
+6 ATTRIBUTEID_0006
+7 ATTRIBUTEID_0311
+)
+
+(
+0x01 SDP_ERROR_RES
+0x02 SDP_SEARCH_REQ
+0x03 SDP_SEARCH_RES
+0x04 SDP_ATTRIBUTE_REQ
+0x05 SDP_ATTRIBUTE_RES
+0x06 SDP_SEARCHATTRIB_REQ
+0x07 SDP_SEARCHATTRIB_RES
+)
+0x2600 sdp_max_amount
+250 SDP_MALLOC_SIZE
+0x6e sdp_tid_spp //any number
+
+(
+0x1f11 SDP_UUID_HS_AUDIO_GATEWAY
+)
+
+(
+0X09 SDP_ATTRIBUTE_ID
+0x0a SDP_ATTRIBUTE_RANGE
+)
+
+(//mem_sdp_handle_list
+7 SDP_MAX_HANDLE_NUMBER
+)
+
+ 
Index: YJX_Only24g/FCC_1021S/format/security.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/security.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/security.format	(working copy)
@@ -0,0 +1,141 @@
+
+memalloc(
+/* moved from bt.format for 3dh5 1021bytes packet buffer */
+17 mem_rxbuf
+
+16 mem_random_number
+16 mem_round_key
+16 mem_kinit
+
+16 mem_input_store
+16 mem_x
+15 mem_y
+1 mem_y15
+17 mem_key_store
+1 mem_key_store_end
+2 memp_ar_key
+2 memp_ar_input
+10 mem_ar_hround
+
+
+1 mem_ec_infinite
+2 mem_ec_loopc
+1 mem_aes_cmac_data_length
+
+0 memdat
+/* ecc calculation */
+
+24 mem_ax
+24  mem_ay
+24  mem_az
+24 mem_bx
+0 mem_ax_256 //32 bytes
+24 mem_by
+8 mem_bz
+16 mem_ay_256 // 32 bytes
+16 mem_cx
+8 mem_az_256 // 32 bytes
+23 mem_cy
+1 mem_cy5
+0 mem_bx_256 // 32 bytes
+24 mem_cz
+8  mem_k
+16 mem_by_256 // 31 bytes
+16 mem_align
+
+0 mem_bz_256  //32 bytes
+0 mem_tmp1
+24 memahbak
+8 mem_tmp5
+0 mem_cx_256  //32 bytes
+16 memahsave
+16  mem_tmp2
+0 mem_cy_256  // 32 bytes
+0  memahsave_end 
+1  mem_addr_padding 
+7   mem_addr_value         /* 12 bytes     */ 
+0 mem_tmp3
+5 mem_t1
+3  mem_addr_value_end   
+15 mem_addr_iocap_end
+1 mem_cy5_256 // 1 byte
+0 mem_cz_256 // 32 bytes
+0 mem_tmp0
+8 mem_t0
+16 mem_tmp0a
+8  mem_t2
+16 mem_k_256 //32 bytes
+16 mem_t3
+8  mem_tmp1_256 //32 bytes
+24 mem_t7
+
+
+32 mem_tmp5_256
+32  mem_tmp2_256
+0 mem_tmp3_256
+32 mem_t1_256
+0 mem_tmp0_256
+32 mem_t0_256
+32 mem_t2_256
+32 mem_t3_256
+32 mem_t7_256
+
+24 mem_p		
+24 mem_a
+24 mem_b
+24 mem_gx
+24 mem_gy
+32 memh0
+
+//p256
+//2 mem_ec_loopc_256
+//32 mem_ax_256
+//32 mem_ay_256
+//32 mem_az_256
+//32 mem_bx_256
+//32 mem_by_256
+//32 mem_bz_256
+//32 mem_cx_256
+//31 mem_cy_256
+//1 mem_cy5_256
+//32 mem_cz_256
+//32 mem_k_256
+
+
+//32 mem_tmp1_256
+//32 mem_tmp5_256
+//32  mem_tmp2_256
+
+//0 mem_tmp3_256
+//32 mem_t1_256
+//0 mem_tmp0_256
+//32 mem_t0_256
+//32 mem_t2_256
+//32 mem_t3_256
+//32 mem_t7_256
+
+32 mem_p_256		
+32 mem_a_256
+32 mem_gx_256
+32 mem_gy_256
+//4 mem_le_keyid
+16 mem_le_slat
+
+
+//64 mem_regext
+//1 mem_regext_index
+
+//16 mem_le_mackey
+
+
+//1 mem_AES_CMAC_flag
+//16 mem_AES_CMAC_temp
+//16 mem_AES_CMAC_M_last
+
+//4 mem_le_gkey
+
+//16 mem_le_r
+
+)
+
+
Index: YJX_Only24g/FCC_1021S/format/simple_pairing.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/simple_pairing.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/simple_pairing.format	(working copy)
@@ -0,0 +1,188 @@
+/* simple pairing page */
+
+memalloc(
+
+//4 mem_hci_ssp_mode
+0 mem_sp_state_start
+1 mem_sp_state
+1 mem_master_sp_state
+1 mem_sp_flag
+1 mem_master_sp_flag
+1 mem_sp_calc
+1 mem_sp_dh_ready
+1 mem_sp_localsm
+1 mem_pairing_auth
+
+0 mem_sp_flag_start
+1 mem_sp_local_key_send_count
+1 mem_sp_remote_key_recv_count
+1 mem_sp_remote_key_invalid
+1 mem_sp_dhkey_invalid
+
+
+4 mem_gkey
+
+
+8 mem_le_pubkey_remote_x_256
+0 mem_sp_pubkey_remote
+24 mem_sp_pubkey_remote_x
+0 mem_sp_pubkey_remote_x_end
+8 mem_le_pubkey_remote_y_256
+24 mem_sp_pubkey_remote_y
+
+8 mem_le_dhkey_256
+24 mem_sp_dhkey
+0 mem_sp_dhkey_end
+
+16 mem_sp_random_local
+0 mem_sp_random_local_end
+16 mem_sp_random_remote
+0 mem_sp_random_remote_end
+0 memresult
+0 mem_sp_calc_result
+4 memh
+4 memg
+4 memf
+4 meme
+0 mem_sp_calc_result_high
+4 memd
+4 memc
+4 memb
+4 mema
+16 mem_sp_check_result
+16 mem_sp_confirm_remote
+16 mem_sp_prarm_stack
+)
+
+xmemalloc(
+1 mem_sp_local_key_invalid
+
+
+32 mem_le_private_key_256
+32 mem_le_pubkey_local_x_256
+32 mem_le_pubkey_local_y_256
+
+24 mem_sp_private_key
+0 mem_sp_pubkey_local
+24 mem_sp_pubkey_local_x
+0 mem_sp_pubkey_local_x_end
+24 mem_sp_pubkey_local_y
+
+1 mem_ssp_enable
+3 mem_sp_iocap_local
+3 mem_sp_iocap_remote
+
+1 mem_flag_mode_ssp_pin
+1 mem_ssp_mode_flag
+1 mem_authentication_passkey_times
+1 mem_passkey_1bit
+1 mem_flag_pairing_state
+
+)
+/* simple pairing status flag */
+(
+  0x00   SP_FLAG_STANDBY
+  0x01   SP_FLAG_COMMIT
+  0x02   LE_SP_FLAG_COMMIT_256
+
+)
+
+/* simple pairing calc flag */
+(
+  0x00   SP_CALC_STANDBY
+  0x01   SP_CALC_PUBKEY
+  0x02   SP_CALC_DHKEY
+  0x03   SP_CALC_PUBKEY_256
+  0x04   SP_CALC_DHKEY_256
+)
+
+/* simple pairing state */
+(
+  0x00   SP_STAT_NULL
+  0x01   SP_STAT_KEY_RECV
+  0x02   SP_STAT_KEY_GENERATE
+  0x03   SP_STAT_KEY_SEND
+  0x04   SP_STAT_COMMIT_CALC
+  0x05   SP_STAT_COMMIT_SEND
+  0x06   SP_STAT_RANDOM_RECV
+  0x07   SP_STAT_RANDOM_SEND
+  0x08   SP_STAT_CONFIRM_RECV
+  0x09   SP_STAT_CONFIRM_CHECK
+  0x0A   SP_STAT_CONFIRM_CALC
+  0x0B   SP_STAT_CONFIRM_SEND
+  0x0C   SP_STAT_LINK_KEY_CALC
+  0x0F   SP_STAT_DONE
+  0x10   SP_STAT_FEATURE_EXT_SEND
+  0x11   SP_STAT_GKEY_CALC
+  /*simple pairing master only*/
+  0x12   SP_MASTER_STAT_START_SKIP
+  0x13   SP_MASTER_STAT_START_DONE
+  0x14   SP_STAT_COMMITMENT_COMPARE
+  0x15   SP_STATE_END
+)
+
+
+/* simple paring invalid flag */
+(
+  0x00   SP_KEY_INVALID
+  0x01   SP_KEY_VALID
+  0x03   SP_KEY_VALID_256
+
+)
+
+/* encapsulated defination for P-192 key */
+(
+  0x01  ENCAPSULATED_MAJOR_TYPE_P192
+  0x01  ENCAPSULATED_MINOR_TYPE_P192
+  0x30  ENCAPSULATED_LEN_P192
+)
+
+/* bluetooth 2.1 support flag */
+(
+  0x00  SIMPLE_PAIRING_ENABLE
+  0x01  ENCRYPTION_PAUSE_ENABLE
+  0x02  EXTENDED_INQUIRY_RESPOSE_ENABLE
+  0x03  SNIFF_SUBRATING_ENABLE
+)
+
+/*mem_sp_localsm*/
+(
+  0x00 DEFAULT_STATEMACHINE
+  0x01 LOCAL_STATEMACHINE
+)
+
+(
+ 0x00 DEFALT_PAIRING_AUTH
+ 0x01 PAIRING_AUTH
+)
+
+(
+1 SSP_MODE_SSP_PIN_FLAG
+2 SSP_MODE_PASSKEY_ENTRY_FLAG
+3 SSP_MODE_JUST_WORK_FLAG
+)
+
+(//ssp mode
+0x040003 SSP_MODE_JUST_WORK_IO_CAP_DATA
+0X040001 SSP_MODE_SSP_PIN_IO_CAP_DATA
+0X040002 SSP_MODE_PASSKEY_IO_CAP_DATA
+)
+
+(
+0x00 DISPLAY_ONLY
+0x01 DISPLAY_YESNO
+0x02 KEYBOARD_ONLY
+0x03 NO_INPUT_NO_OUTPUT
+)
+
+(
+7 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT
+6 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT
+0 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT
+)
+(
+1 FLAG_PAIRING_STATE_PAIRING
+0 FLAG_PAIRING_STATE_NOT_PAIRING
+)
+
+  
Index: YJX_Only24g/FCC_1021S/format/ui.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/ui.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/ui.format	(working copy)
@@ -0,0 +1,448 @@
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_ui_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $     */
+/************************************************************************/
+
+
+	/* ========= memory ============== */
+memalloc(
+2 mem_UI_data_txbuff_length
+
+1 mem_ipc_skip_continue_proc
+0 mem_ui_timer_temp  //length 4
+4 mem_ipc_rega_temp
+) 
+
+xmemalloc(
+//UI Work area
+1 mem_ipc_lock_bt
+1 mem_ipc_lock_c51
+8 mem_ipc_fifo_bt2c51
+8 mem_ipc_fifo_c512bt
+
+1 mem_ui_button_timer
+1 mem_ui_button_last_state
+4 mem_ui_timer_last_btclk
+2 mem_discovery_timeout_timer_count
+1 mem_hid_handshake_timer_count
+1 memui_reconnect_mode
+2 mem_ui_state_map
+
+//UI Config area
+1 mem_ui_profile_supported
+1 mem_ui_button_timeout
+1 mem_ui_button_gpio
+2 mem_discovery_timeout
+1 mem_pin_length
+16 mem_pin
+
+)
+/************/
+/* constant */
+/************/
+
+//mem_ui_state_map
+(
+0 UI_STATE_BT_CONNECTED
+1 UI_STATE_BT_SETUP_COMPLETE
+2 UI_STATE_BT_HID_CONN
+3 UI_STATE_BT_HID_HANDSHAKE
+4 UI_STATE_BT_SPP_CONN
+5 UI_STATE_BT_SNIFF
+6 UI_STATE_BT_DISCOVERY
+7 UI_STATE_BT_RECONNECT
+8 UI_STATE_BT_SLAVE_ROLE
+9 UI_STATE_BLE_CONNECTED
+10 UI_STATE_BLE_WRITE_RCV
+11 UI_STATE_BLE_ADV
+12 UI_STATE_BTN_DOWN
+)
+
+(
+1 UI_STATE_SPP_NL_AUTO_DISCOVER
+
+)
+
+/* UI state for Headset (memui_HS_State) */ 
+   (
+    0 UI_HEADSET_DISCONNECT
+    1 UI_HEADSET_IDLE                   /* before the responsor HS receive SABM      */
+    2 UI_HEADSET_W4CONNECT
+    3 UI_HEADSET_RINGING
+    4 UI_HEADSET_CONNECTED
+    5 UI_HEADSET_PARING
+  )
+/* memui_BB_State */
+(
+  0 UI_BB_OFF
+  1 UI_BB_IDLE
+  2 UI_BB_DISCOVERY
+  3 UI_BB_CONNECTED_ACTIVE_NO_SCO
+  4 UI_BB_CONNECTED_ACTIVE_WITH_SCO
+  5 UI_BB_CONNECTED_ACTIVE_WAIT_SNIFF
+  6 UI_BB_CONNECTED_SNIFF
+  7 UI_BB_RECONNECT
+  8 UI_BB_CONNECTED_SNIFF_WITH_SCO
+)
+
+/************/
+/* flags    */
+/************/
+  
+/* memui_Misc_Flags */
+  (
+    5 NO_IDLE_TURN_OFF
+    7 ANSWER_RING_FLAG               /* 1 Answer,0 no*/
+  )
+
+/* mem_UI_SCH_Interface */
+  (
+    0  UI_HS_PAIRING 
+    2  UI_REQ_CLOSE_RFCOMM
+    3  UI_LINK_LOST
+    4  UI_REQ_OPEN_SCO
+    6  UI_REQ_CLOSE_SCO
+  )
+  
+/* memui_PassOverKey */
+  (
+    0  ANSWER_RING_BIT
+    0  AG_SEND_RING_BIT
+    1  VOL_UP_BIT
+    2  VOL_DOWN_BIT
+    3  INI_CALL_BIT
+    4  DAIL_LAST_CALL
+    5  END_CALL_BIT
+    6  NOKIA_VOICE_ACTIVE 
+    7  REJECT_CALL_BIT
+  )
+  
+/* memui_reconnect_mode */
+(
+  0 NO_RECONNECTION
+  1 RECONNECT_HID
+  2 RECONNECT_HF
+  3 RECONNECT_HS
+  4 RECONNECT_HID_HF
+  5 RECONNECT_HID_HS
+)
+/* memui_Commands */
+(
+0 BT_CMD_STANDBY
+1 BT_CMD_START_DISCOVERY
+2 BT_CMD_STOP_DISCOVERY
+3 BT_CMD_RECONNECT
+4 BT_CMD_DISCONNECT
+5 BT_CMD_ENTER_SNIFF
+6 BT_CMD_EXIT_SNIFF
+7 BT_CMD_ENTER_SNIFF_SUBRATING
+8 BT_CMD_EXIT_SNIFF_SUBRATING
+9 BT_CMD_SNIFF_TEST
+10 BT_CMD_SET_PIN_CODE
+11 BT_CMD_START_INQUIRY
+12 BT_CMD_STOP_INQUIRY
+13 BT_CMD_START_ADV
+14 BT_CMD_STOP_ADV
+15 BT_CMD_START_DIRECT_ADV
+16 BT_CMD_STOP_DIRECT_ADV
+17 BT_CMD_LE_DISCONNECT
+18 BT_CMD_LE_UPDATE_CONN
+19 BT_CMD_LED_OFF
+20 BT_CMD_LED_ON
+21 BT_CMD_LED_BLINK
+22 BT_CMD_LE_START_CONN
+23 BT_CMD_LE_START_SCAN
+24 BT_CMD_LE_STOP_SCAN
+25 BT_CMD_ENTER_HIBERNATE
+27 BT_CMD_LE_SMP_SECURITY_REQUEST
+29 BT_CMD_ROLE_SWITCH
+30 BT_CMD_BB_RECONN_CANCEL
+31 BT_CMD_STORE_RECONN_INFO_LE
+32 BT_CMD_STORE_RECONN_INFO_BT
+33 BT_CMD_DHKEY_NOT_ACCEPT
+34 BT_CMD_START_24G
+35 BT_CMD_STOP_24G
+36 BT_CMD_PAIR_24G
+37 BT_CMD_STORE_RECONN_INFO
+)
+
+(
+0x00 BT_EVT_NULL
+0x01 BT_EVT_BB_CONNECTED
+0x02 BT_EVT_BB_DISCONNECTED
+0x03 BT_EVT_RECONN_STARTED
+0x04 BT_EVT_RECONN_FAILED
+0x05 BT_EVT_SETUP_COMPLETE
+0x06 BT_EVT_HID_CONNECTED
+0x07 BT_EVT_HID_DISCONNECTED
+0x08 BT_EVT_SPP_CONNECTED
+0x09 BT_EVT_SPP_DISCONNECTED
+0x0A BT_EVT_PINCODE_REQ
+0x0B BT_EVT_ENTER_SNIFF
+0x0C BT_EVT_EXIT_SNIFF
+0x0D BT_EVT_ENTER_SNIFF_SUB
+0x0E BT_EVT_EXIT_SNIFF_SUB
+0x0F BT_EVT_DISCOVERY_STOPED
+0x10 BT_EVT_BUTTON_LONG_PRESSED
+0x12 BT_EVT_HID_HANDSHAKE
+0X13 BT_EVT_RECONN_PAGE_TIMEOUT
+0x14 BT_EVT_LE_CONNECTED
+0X15 BT_EVT_LE_DISCONNECTED
+0x16 BT_EVT_ML2CAP_CONN_REFUSED
+0x17 BT_EVT_BUTTON_ENTER_HIBERNATE
+0x18 BT_EVT_LINKKEY_GENERATE
+0x19 BT_EVT_SWITCH_NOT_ACCEPT
+0x20 BT_EVT_SWITCH_ACCEPT
+0x21 BT_EVT_SNIFF_NOT_ACCEPT
+0x22 BT_EVT_SNIFF_ACCEPT
+0x23 BT_EVT_UNSNIFF_ACCEPT
+0x24 BT_EVT_UNSNIFF_NOT_ACCEPT
+0x25 BT_EVT_BUTTON_ADJUST_DPI
+0x26 BT_EVT_SEND_UNSNIFF_ACCEPT
+0x27 BT_EVT_VIRTUAL_CABLE_UNPLUG
+0x28 BT_EVT_LE_WRITE_REQUEST
+0x29 BT_EVT_LE_ENC_INFO
+0x2a BT_EVT_SWITCH_FAIL_MASTER
+0x2b BT_EVT_SWITCH_SUCCESS_MASTER
+0x2c BT_EVT_BUTTON_DOWN
+0x2d BT_EVT_BUTTON_UP
+0x2e BT_EVT_REMOTE_UNSNIFF
+0x30 BT_EVT_LE_PAIRING_FAIL
+0x31 BT_EVT_LE_PAIRING_SUCCESS
+0x32 BT_EVT_LE_START_ENC
+0X33 BT_EVT_LE_PAUSE_ENC
+0X34 BT_EVT_LE_TK_GENERATE
+0x35 BT_EVT_BT_GKEY_GENERATE
+0x36 BT_EVT_BT_GET_PASSKEY
+0x37 BT_EVT_BT_PAIRING_FAIL
+0x38 BT_EVT_BT_PAIRING_SUCCESS
+0x39 BT_EVT_24G_PAIRING_COMPLETE
+0x3a BT_EVT_24G_ATTEMPT_FAIL
+0x3b BT_EVT_LE_GKEY_GENERATE
+0x3c BT_EVT_24G_ATTEMPT_SUCCESS
+0x3d BT_EVT_STORE_NVRAM
+0x3e BT_EVT_LE_PAIRING_COMPLETE
+0x3F BT_EVT_LE_RECONNECT_COMPLETE
+0x40 BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP
+0x41 BT_EVT_LE_LTK_LOST
+)
+//switch
+(
+0 OFF
+1 ON
+)
+/* memui_mem_lock */
+(
+    0 MEM_UNLOCK
+    1 MEM_LOCK
+)
+/* memui_flag0 */
+(
+    0 UI_USER_DATA_FLAG
+    1 UI_WII_WAITING_SLEEP
+    2 UI_KEYBOARD_SNIFF_SKIP
+)
+/* mem_master_type */
+(
+    0 MTYPE_HID_DEFAULT
+    1 MTYPE_HID_SSP
+    2 MTYPE_SPP
+)
+
+	(	
+	0x01 RECIEVE_SDP_CONN_RES
+	0x02 RECIEVE_SDP_CFG_REQ
+	0x03 RECIEVE_SDP_CFG_RES
+	0x04 RECIEVE_RFCOMM_CONN_RES
+	0x05 RECIEVE_RFCOMM_CFG_REQ
+	0x06 RECIEVE_RFCOMM_CFG_RES
+	0x07 RECIEVE_HID_CTRL_CONN_RES
+	0x08 RECIEVE_HID_CTRL_CFG_REQ
+	0x09 RECIEVE_HID_CTRL_CFG_RES
+	0x0A RECIEVE_HID_INT_CONN_RES
+	0x0B RECIEVE_HID_INT_CFG_REQ
+	0x0C RECIEVE_HID_INT_CFG_RES
+	0x0D RECIEVE_AVCTP_CONN_RES
+	0x0E RECIEVE_AVCTP_CFG_REQ
+	0x0F RECIEVE_AVCTP_CFG_RES
+	0x10 RECIEVE_AVDTP_SIGNAL_CONN_RES
+	0x11 RECIEVE_AVDTP_SIGNAL_CFG_REQ
+	0x12 RECIEVE_AVDTP_SIGNAL_CFG_RES
+	0x13 RECIEVE_AVDTP_MEDIA_CONN_RES
+	0x14 RECIEVE_AVDTP_MEDIA_CFG_REQ
+	0x15 RECIEVE_AVDTP_MEDIA_CFG_RES
+	0x16 RECIEVE_SS_REASULT_HS                  
+	0x17 RECIEVE_SS_REASULT_HF                  
+	0x18 RECIEVE_SS_REASULT_AVTARG		          
+	0x19 RECIEVE_SS_REASULT_OBEX		            
+	0x1A RECIEVE_DLCI0_UA
+	0x1B RECIEVE_HS_PARAM_NEG_RES
+	0x1C RECIEVE_HS_UA
+	0x1D RECIEVE_HS_MODEM_STATUS_RES
+	0x1E RECIEVE_HS_MODEm_STATUS_CMD
+	0x1F RECIEVE_HF_PARAM_NEG_RES   
+	0x20 RECIEVE_HF_UA              
+	0x21 RECIEVE_HF_MODEM_STATUS_RES
+	0x22 RECIEVE_HF_MODEm_STATUS_CMD 
+	0x23 RECIEVE_OBEX_PARAM_NEG_RES     
+	0x24 RECIEVE_OBEX_UA              
+	0x25 RECIEVE_OBEX_MODEM_STATUS_RES
+	0x26 RECIEVE_OBEX_MODEm_STATUS_CMD    
+	0x27 RECIEVE_SPP_PARAM_NEG_RES   
+	0x28 RECIEVE_SPP_UA              
+	0x29 RECIEVE_SPP_MODEM_STATUS_RES
+	0x2A RECIEVE_SPP_MODEm_STATUS_CMD
+	0x2b RECIEVE_SDP_DISCONN_RES
+	)
+
+
+
+	(
+	0 UPPERSM_RP_IDLE
+	1 UPPERSM_RP_SDP_CONN
+	2 UPPERSM_RP_SDP_CONN_WAIT
+	3 UPPERSM_RP_SDP_CFG
+	4 UPPERSM_RP_SDP_CFG_WAIT
+	5 UPPERSM_RP_SS_AVTARG
+	6 UPPERSM_RP_SS_AVTARG_WAIT
+	7 UPPERSM_RP_SS_OBEX
+	8 UPPERSM_RP_SS_OBEX_WAIT
+	9 UPPERSM_RP_SDP_DISCONN
+	10 UPPERSM_RP_SDP_DISCONN_WAIT
+	11 UPPERSM_RP_AVDTP_CONN_WAIT
+	12 UPPERSM_RP_AVCTP_CONN
+	13 UPPERSM_RP_AVCTP_CONN_WAIT
+	14 UPPERSM_RP_AVCTP_CFG
+	15 UPPERSM_RP_AVCTP_CFG_WAIT
+	16 UPPERSM_RP_OBEX_CMD_PN
+	17 UPPERSM_RP_OBEX_CMD_PN_WAIT
+	18 UPPERSM_RP_OBEX_SABM
+	19 UPPERSM_RP_OBEX_SABM_WAIT
+	20 UPPERSM_RP_OBEX_CMD_MS
+	21 UPPERSM_RP_OBEX_CMD_MS_WAIT
+	)
+	(		/*mem_upper_sm_reconn*/
+	0 UPPERSM_RECONN_IDLE		
+	1 UPPERSM_RECONN_SDP_CONN		
+	2 UPPERSM_RECONN_SDP_CONN_WAIT		
+	3 UPPERSM_RECONN_SDP_CFG		
+	4 UPPERSM_RECONN_SDP_CFG_WAIT		
+	5 UPPERSM_RECONN_SS_HS
+	6 UPPERSM_RECONN_SS_HS_WAIT
+	7 UPPERSM_RECONN_SS_HF
+	8 UPPERSM_RECONN_SS_HF_WAIT
+	9 UPPERSM_RECONN_SS_AVTARG		
+	10 UPPERSM_RECONN_SS_AVTARG_WAIT		    
+	11 UPPERSM_RECONN_SS_OBEX		            
+	12 UPPERSM_RECONN_SS_OBEX_WAIT		      
+	13 UPPERSM_RECONN_SDP_DISCONN		        
+	14 UPPERSM_RECONN_SDP_DISCONN_WAIT      
+	15 UPPERSM_RECONN_HID_CTRL_CONN		      
+	16 UPPERSM_RECONN_HID_CTRL_CONN_WAIT		
+	17 UPPERSM_RECONN_HID_CTRL_CFG		      
+	18 UPPERSM_RECONN_HID_CTRL_CFG_WAIT     
+	19 UPPERSM_RECONN_HID_INT_CONN		      
+	20 UPPERSM_RECONN_HID_INT_CONN_WAIT		  
+	21 UPPERSM_RECONN_HID_INT_CFG		        
+	22 UPPERSM_RECONN_HID_INT_CFG_WAIT      
+	23 UPPERSM_RECONN_RFCOMM_CONN		        
+	24 UPPERSM_RECONN_RFCOMM_CONN_WAIT		  
+	25 UPPERSM_RECONN_RFCOMM_CFG		        
+	26 UPPERSM_RECONN_RFCOMM_CFG_WAIT       
+	27 UPPERSM_RECONN_RFCOMM_SABM		        
+	28 UPPERSM_RECONN_RFCOMM_SABM_WAIT		  
+	29 UPPERSM_RECONN_SPP_CMD_PN		        
+	30 UPPERSM_RECONN_SPP_CMD_PN_WAIT		    
+	31 UPPERSM_RECONN_SPP_SABM		          
+	32 UPPERSM_RECONN_SPP_SABM_WAIT		      
+	33 UPPERSM_RECONN_SPP_CMD_MS		        
+	34 UPPERSM_RECONN_SPP_CMD_MS_WAIT       
+	35 UPPERSM_RECONN_HF_CMD_PN		          
+	36 UPPERSM_RECONN_HF_CMD_PN_WAIT		    
+	37 UPPERSM_RECONN_HF_SABM		            
+	38 UPPERSM_RECONN_HF_SABM_WAIT		      
+	39 UPPERSM_RECONN_HF_CMD_MS		          
+	40 UPPERSM_RECONN_HF_CMD_MS_WAIT        
+	41 UPPERSM_RECONN_AVDTPs_CONN		        
+	42 UPPERSM_RECONN_AVDTPs_CONN_WAIT		  
+	43 UPPERSM_RECONN_AVDTPs_CFG		        
+	44 UPPERSM_RECONN_AVDTPs_CFG_WAIT       
+	45 UPPERSM_RECONN_AVDTPm_CONN		        
+	46 UPPERSM_RECONN_AVDTPm_CONN_WAIT		  
+	47 UPPERSM_RECONN_AVDTPm_CFG		        
+	48 UPPERSM_RECONN_AVDTPm_CFG_WAIT       
+	49 UPPERSM_RECONN_AVCTP_CONN		        
+	50 UPPERSM_RECONN_AVCTP_CONN_WAIT		    
+	51 UPPERSM_RECONN_AVCTP_CFG		          
+	52 UPPERSM_RECONN_AVCTP_CFG_WAIT		    
+	53 UPPERSM_RECONN_OBEX_CMD_PN		        
+	54 UPPERSM_RECONN_OBEX_CMD_PN_WAIT		  
+	55 UPPERSM_RECONN_OBEX_SABM		          
+	56 UPPERSM_RECONN_OBEX_SABM_WAIT		    
+	57 UPPERSM_RECONN_OBEX_CMD_MS		        
+	58 UPPERSM_RECONN_OBEX_CMD_MS_WAIT     
+	59 UPPERSM_RECONN_SS_SPP
+	60 UPPERSM_RECONN_SS_SPP_WAIT
+	)
+	(/*mem_UI_profile_supported*/
+	0 support_HID
+	1 support_A2DP
+	2 support_AVRCP
+	3 support_HF
+	4 support_HS
+	5 support_PBAP
+	6 support_SPP
+	)
+	/*mem_upper_sm_ss*/
+	(
+	0 UPPERSM_SS_HS
+	1 UPPERSM_SS_HF
+	2 UPPERSM_SS_AVTARG
+	3 UPPERSM_SS_OBEX
+	)
+
+	(
+	160 UI_HUNDRED_MILLISECOND_TIME
+	0XFF UI_BUTTON_GPIO_DISABLE
+	)
+	(
+	0x01 UI_BB_INCONNECT
+	0x10 UI_BB_DISCONNECT
+	)
+(
+0x00 UI_BUTTON_STATE_DOWN
+0x01 UI_BUTTON_STATE_UP
+)
+
+//mem_ipc_skip_continue_proc
+(
+	0 IPC_CONTINUE_PROCESS
+	1 IPC_SKIP_CONTINUE_PROCESS
+)
+
+
+(//led style struct 
+0 		LED_OFFSET_LED_TYPE
+1 		LED_OFFSET_BLINK_COUNT
+2		LED_OFFSET_LED_GPIO
+3		LED_OFFSET_ON_TIME
+5		LED_OFFSET_OFF_TIME
+7 		LED_OFFSET_CB_LEDON
+9		LED_OFFSET_CB_LEDOFF
+11		LED_OFFSET_LENGTH
+)
+
+(//LED state
+0 UI_LED_STATE_BLINK_STOP
+1 UI_LED_STATE_BLINK_START
+2 UI_LED_STATE_LIGHTING
+3 UI_LED_STATE_DARKING
+4 UI_LED_STATE_BLINK_LIGHTING
+5 UI_LED_STATE_BLINK_DARKING
+
+0xFF LED_INFINITE_FLASH_NUM
+
+)
+
+
Index: YJX_Only24g/FCC_1021S/format/utility.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/utility.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/utility.format	(working copy)
@@ -0,0 +1,180 @@
+/**
+*  @file:bt_utility_format.upper
+*  @author: lei.zhu
+*  utility header file. inlcude timer
+*  Copyright:  (C)Hanlynn Technology    
+*/
+
+memalloc(
+
+/*
+    temp parameter
+*/
+2 mem_hold_contr
+2 mem_hold_contw
+1 mem_fifo_temp
+
+8 mem_pdatatemp
+8 mem_temp //8 bytes
+4 mem_timeup // 4 bytes
+4 mem_rega //4 bytes
+4 mem_regb //4 bytes
+3 mem_regc //3 bytes
+2 mem_contr //2 bytes
+2 mem_contw //2 bytes
+
+1 mem_wakup_from_power_flag
+4 mem_saved_gpio_in
+
+0 mem_shutter_random_mac_data_temp
+0 mem_shutter_config_data_temp
+0 mem_le_adv_channel_map_temp
+0 mem_le_data_len_temp	//1byte
+0 mem_tx_fifo_map_temp
+0 mem_rpn_dlci		//1byte
+0 mem_event_cmd_response_content	//2byte
+0 mem_le_prand		//16byte
+0 mem_AES_CMAC_k	 //16 bytes
+0 mem_regext_index 	//1 bytes
+1 mem_temp_block0
+0 mem_le_data_temp	//15bytes
+15 mem_temp_block1
+0 mem_le_aes_128	//16byte
+0 mem_regext   //64 bytes
+0 mem_AES_CMAC_k1  //16 bytes
+16 mem_temp_block2
+0 mem_AES_CMAC_k2  //16 bytes
+16 mem_temp_block3
+0 mem_AES_CMAC_temp  // 16 bytes
+16 mem_temp_block4
+0 mem_AES_CMAC_M_last // 16 bytes
+1 mem_module_uart_cmd
+1 mem_module_uart_opcode
+1 mem_module_uart_len
+1 mem_module_temp_nl_discard_packet
+12 mem_temp_block5
+0 mem_le_mackey //16 bytes
+0 mem_app_receive_temp
+2 mem_key_value_temp
+2 mem_key_value
+1 mem_key_value_temp1
+1 mem_key_value_temp2
+1 mem_key_value_temp3
+1 mem_key_value_temp4
+1 mem_key_value_temp5
+1 mem_key_value_temp6
+6 mem_temp_block6
+
+
+1 mem_usb_status
+1 mem_usb_fifo_empty
+1 mem_usb_read_len
+64 mem_usb_rxbuf
+2 mem_bufptr
+1 mem_remain
+20 mem_devicedesc
+2 mem_hidreportdesc_kb
+2 mem_hidreportdesc_m
+100 mem_confdesc
+5 mem_string0
+30 mem_string1
+64 mem_string2
+30 mem_string3
+2 mem_usb_zero_packet
+2 mem_usb_ones_packet
+2 mem_usb_two_packet
+1 mem_usb0_state
+
+1 mem_usb_offline_check_gpio
+1 mem_usb_tx_interval
+
+0 mem_usb_clear_mem_start
+0 mem_usb_setup
+1 mem_usb_setup_bmRequestType
+1 mem_usb_setup_bRequest
+1 mem_usb_setup_bValue
+1 mem_usb_setup_bValueH
+2 mem_usb_setup_wIndex
+1 mem_usb_setup_bLength
+1 mem_usb_setup_bLengthH
+64 mem_usb0_setup
+64 mem_usb0_set_report_data
+64 mem_usb0_get_report_data
+1 mem_usb_state
+1 mem_usb_tx_wait
+1 mem_usb_tx_enable
+1 mem_usb_remote_wakeup
+1 mem_usb_clear_remote_wakeup
+1 mem_usb_ep0_stall_status
+1 mem_usb_ep1_stall_status
+1 mem_usb_ep2_stall_status
+1 mem_usb_ep3_stall_status
+2 mem_dsc_info_data_pointer
+1 mem_dsc_info_len
+1 mem_usb0_data_ready_report
+1 mem_usb_tx_win_enable
+1 mem_usb_tx_mac_enable
+1 mem_usb_device_enumeration_endflag
+1 mem_usb_wakestate_onetime_flag
+1 mem_usb_mac_wakeup_trig
+1 mem_usb_set_high_addr_flag
+1 mem_usb_set_protocol_value
+1 mem_usb_set_protocol_status
+1 mem_usb_get_protocol_flag
+1 mem_usb_idle_flag
+1 mem_usb_idle_rate
+2 mem_usb_setup_bValue_temp
+1 mem_usb0_get_set_report
+1 mem_usb_ep1_data
+1 mem_usb_ep2_data
+1 mem_usb_clear_halt
+16 mem_usb_mouse_data
+16 mem_usb_kb_data
+16 mem_usb_kb_multikey
+8 mem_usb_kb_data_sta_data
+8 mem_usb_kb_data_last_data
+3 mem_usb_kb_multikey_sta_data
+3 mem_usb_kb_multikey_last_data
+1 mem_usb_kb_blank_data_enable
+1 mem_usb_kb_mul_blank_data_enable
+1 mem_usb_test_cnt
+0 mem_usb_clear_mem_end
+1 mem_usb_test_kb
+
+256 mem_rssi_noise_buffer
+256 mem_rssi_noise_dg_buffer
+256 mem_rssi_noise_ms_buffer
+256 mem_rssi_noise_kb_buffer
+32 mem_24g_common_temp
+
+)
+
+
+(
+/*mem_util_timer_flag0_7*/
+    0   UTIL_TIMER_0_USED
+    1   UTIL_TIMER_1_USED
+    2   UTIL_TIMER_2_USED
+    3   UTIL_TIMER_3_USED
+    4   UTIL_TIMER_4_USED
+    5   UTIL_TIMER_5_USED
+    6   UTIL_TIMER_6_USED
+    7   UTIL_TIMER_7_USED
+/*mem_util_timer_flag8_15*/
+    0   UTIL_TIMER_8_USED
+    1   UTIL_TIMER_9_USED
+    2   UTIL_TIMER_10_USED
+    3   UTIL_TIMER_11_USED
+    4   UTIL_TIMER_12_USED
+    5   UTIL_TIMER_13_USED
+    6   UTIL_TIMER_14_USED
+    7   UTIL_TIMER_15_USED
+)
+
+//util fifo param
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+
Index: YJX_Only24g/FCC_1021S/format/var.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/var.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/format/var.format	(working copy)
@@ -0,0 +1,442 @@
+/************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                           */
+/* $Author: Administrator $                                                     */
+/* $Id: bt_var.osi,v 1.1 2009-09-28 04:06:18 Administrator Exp $   */
+/* Orisil Technology                                                 */
+/************************************************************************/
+
+
+/* packet types */
+(
+  0x02 FHS_PACKET 
+  0x03 DM1_PACKET 
+  0x03 DM1_LMP_PACKET 
+  0x04 DH1_PACKET 
+  0x05 HV1_PACKET 
+  0x06 HV2_PACKET 
+  0x07 HV3_PACKET 
+  0x08 DV_PACKET 
+  0x09 AUX1_PACKET 
+  0x0a DM3_PACKET 
+  0x0b DH3_PACKET 
+  0x0e DM5_PACKET 
+  0x0f DH5_PACKET 
+)
+
+
+/* mem_lmp_respond */
+(
+  0 RESPOND_TO_ALL
+  1 PASS_EVERYTHING
+  2 PASS_ONLY_UNKNOWNS
+  3 RESPOND_TO_LMPS
+)
+/* SCO algorithm defines */
+(
+  0 ULAW
+  1 ALAW
+  2 CVSD
+)
+/* encryption modes */
+(
+  0 NO_ENCRYPTION
+  1 PT_PT_ENCRYPTION
+  2 PT_BROADCAST_ENCRYPTION
+)
+
+/* bits used in mem_lmp_state1 variable */
+(
+  0 LMP_STATE_DETACH
+  1 LMP_STATE_HOLD
+  2 LMP_STATE_SNIFF
+  3 LMP_STATE_PARK
+  4 LMP_STATE_WAIT_SCO_CREATE
+  5 LMP_STATE_WAIT_SCO_KILL
+  6 LMP_STATE_SCO3
+  7 LMP_STATE_WAIT_SCO_START
+)
+/* mem_lmp_state2 */
+(
+  0 LMP_WAIT_FOR_SNIFF_ACCEPT
+  1 LMP_WAIT_FOR_PARK_ACCEPT
+  2 LMP_SEND_UNPARK_ACCEPTED
+  3 LMP_SEND_ENCRYPTION_START
+  4 LMP_SEND_ENCRYPTION_STOP
+  5 MESSAGE_QUEUE
+  7 LMP_STATE_WAIT_BEACON
+)
+/* mem_lmp_state3 */
+(
+ 0 INQUIRY_STATE_CHECK
+ 1 HOST_DELAY_MESSAGE
+ 2 VARIABLE_DELAY
+ 3 TEST_MODE_START_LOOPBACK
+ 4 TEST_MODE_START_PATTERN
+ 5 PARSE_TEST_CONTROL_MESSAGE
+ 6 H_AUTH_SEND_COMB_KEY
+)
+/* mem_rx_status */
+(
+  0 FROM_MASTER
+)
+/* mem_ms_flag */
+(
+  0 MS_RECEIVE_SWITCH_REQ
+  1 MS_SEND_SETUP_COMPLATE
+)
+/* mem_conn_sm */
+(
+  0 CONN_SM_STANDBY
+  1 CONN_SM_WAIT_PAGE
+  2 CONN_SM_SEND_FEATURES
+  3 CONN_SM_WAIT_FEATURES_RES
+  4 CONN_SM_SEND_CONN_REQ
+  5 CONN_SM_WAIT_CONN_ACCEPT
+  6 CONN_SM_AUTH_PAIR
+  7 CONN_SM_AUTH_PAIR_WAIT
+  8 CONN_SM_WAIT_MUTAL_AUTH
+  9 CONN_SM_ENCRYPT
+  0xa CONN_SM_ENCRYPT_WAIT
+  0xb CONN_SM_ENCRYPT_WAIT_CLEAR
+  0xc CONN_SM_SEND_SETUP_COMPLETE
+  0xd CONN_SM_WAIT_SETUP_COMPLETE 
+  0xe CONN_SM_SEND_SWITCH
+  0xf CONN_SM_DETACH_DELAY
+  0x10 CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION
+  0x11 CONN_SM_DELAY_RESTART_CONNECTION
+  0x12 CONN_SM_SEND_VERSION
+  0X13 CONN_SM_WAIT_VERSION
+  0x14 CONN_SM_SEND_FEATURES_EXT
+  0x15 CONN_SM_WAIT_FEATURES_EXT
+  0x16 CONN_SM_PAIRING
+  0x17 CONN_SM_AUTH
+  0x18 CONN_SM_PAIRING_WAIT
+  0x19 CONN_SM_AUTH_WAIT
+  0x1a CONN_SM_DONE
+  0x1b CONN_SM_WAIT_DONE
+)
+
+/* btStateConn1 */
+(
+  0 CONN_STANDBY
+  1 CONN_MASTER_SEND_CONN_REQ
+  2 CONN_MASTER_WAIT_FOR_CONN_ACCEPTED
+  3 CONN_MASTER_AUTH
+  4 CONN_MASTER_WAIT_FOR_FEATURES
+  5 CONN_MASTER_WAIT_FOR_SETUP_COMPLETE
+  6 CONN_MASTER_WAIT_FOR_MAX_SLOT
+  7 CONN_SLAVE_CONN_REQUESTED
+  8 CONN_SLAVE_WAIT_FOR_SETUP_COMPLETE
+  9 CONN_SLAVE_AUTH
+  10 CONN_USING_HOST_OPCODE
+  11 CONN_SLAVE_AUTH_WAIT
+  12 CONN_SLAVE_ENCRYPT_WAIT
+)
+
+/* mem_lmp_conn_state */
+(
+  0 RECEIVED_CONN_REQ
+  1 SENT_CONN_REQ
+  2 RECEIVED_SETUP_COMPLETE
+  3 SENT_SETUP_COMPLETE
+  4 HOST_CONNECTION_MADE
+  6 INIT_COMPLETE
+  7 SNIFF_NEGOTIATE
+)
+/* btStateAuth1 */
+(
+  0 WAIT_FOR_KINIT
+  1 WAIT_FOR_LKA
+  2 WAIT_FOR_LKB
+  3 WAIT_FOR_SRES
+  4 EXAMINE_RECEIVED_SRES
+  5 SEND_AU_RAND
+  6 WAIT_FOR_KC
+  7 DELAYED_ENCRYPT_RESPONSE
+)
+/* btStateAuth2 */
+(
+  0 SENT_SRES
+  1 RECEIVED_IN_RAND
+  2 SENT_AU_RAND
+  3 AUTHENTICATION_FAILED
+  4 AUTHENTICATION_PASSED
+  5 STARTED_AUTH
+  6 SENT_COMB_KEY
+  7 SENT_IN_RAND
+)
+/* btStateAuth3 */
+(
+  0 RECEIVED_AU_RAND
+  1 RECEIVED_SRES
+  2 MUTUALLY_AUTHENTICATE
+)
+/* btStateHost */
+(
+  0 H_AUTH_STARTED
+  2 H_ENCRYPTION_MODE_REQ_PT
+  3 H_ENCRYPTION_KEY_SIZE
+  4 H_ENCRYPTION_START
+  5 H_ENCRYPTION_STOP
+  6 H_AUTH_SECOND_TRY
+)
+/* btStateEncrypt2 */
+(
+  0 RECEIVED_ENCRYPT_MODE_REQ_PT
+  1 RECEIVED_ENCRYPT_KEY_SIZE
+  2 RECEIVED_ENCRYPT_START
+  3 RECEIVED_ENCRYPT_STOP
+  4 STARTED_ENCRYPT_START
+)
+/* mem_ms_state */
+(
+  0x00 MS_STANDBY
+  0x11 M_MINIT_1
+  0x12 M_MINIT_2
+  0x20 M_SINIT_0
+  0x30 S_MINIT_0
+  0x31 S_MINIT_1
+  0x32 S_MINIT_2
+  0x41 S_SINIT_1
+  0x42 S_SINIT_2
+  0x43 S_SINIT_3
+)
+/* mem_test_mode */
+(
+  0 TEST_MODE_ALLOWED
+  1 TEST_MODE_ACTIVE
+)
+/* values for mem_tester_emulate */
+(
+  0x00 NO_TEST_MODE
+  0x00 CONTINUOUS_TRANSMIT
+  0x10 TRANSMIT_TEST
+  0x08 LOOPBACK
+)
+
+/* mem_tx_misc */
+(
+  1 SEND_TX_ADDR
+)
+/* BBHWREG_page_stat */
+(
+  5 PAGE_MODE_END
+)
+/* host_return_parameters_status codes */
+(
+  0x00 HOST_RETURN_SUCCESS
+  0x01 HOST_RETURN_SLAVE_CANT_ISSUE
+  0x02 HOST_RETURN_NO_CONNECTION
+  0x04 HOST_RETURN_PAGE_TIMEOUT
+  0x05 HOST_RETURN_INQUIRY_TIMEOUT
+  0x08 HOST_RETURN_CONNECTION_TIMEOUT
+  0x09 HOST_RETURN_MAX_NUM_CONNECTIONS
+  0x0a HOST_RETURN_MAX_NUM_SCO
+  0x0b HOST_RETURN_MAX_NUM_ACL
+  0x0c HOST_RETURN_SECURITY_REASONS
+  0x10 HOST_RETURN_HOST_TIMEOUT
+  0x11 HOST_RETURN_UNSUPPORTED_FEATURE_PARAMETER
+  0x13 HOST_RETURN_OTHER_END_USER
+  0x14 HOST_RETURN_OTHER_END_LOW_RESOURCE
+  0x15 HOST_RETURN_OTHER_END_POWER_OFF
+  0x16 HOST_RETURN_LOCAL_HOST
+  0x18 HOST_RETURN_PAIRING_NOT_ALLOWED
+  0x19 HOST_RETURN_UNKNOWN_PDU
+  0x1a HOST_RETURN_UNSUPPORTED_REMOTE_FEATURE
+  0x1d HOST_RETURN_SCO_AIR_MODE_REJECTED
+  0x20 HOST_RETURN_UNSUPPORTED_LMP_VALUE
+  0x21 HOST_RETURN_AUTHENTICATION_FAILURE
+  0x22 HOST_RETURN_CHANGED_EXISTING_SCO
+  0x23 HOST_RETURN_HOST_REJECTED
+  0x24 HOST_RETURN_UNSPECIFIED_ERROR
+  0x25 HOST_RESET
+  0x26 HOST_RETURN_BAD_HANDLE
+
+  0x00 HOST_RETURN_ACCEPT_COMMAND
+  0x01 HOST_RETURN_REJECT_COMMAND
+)
+/* host_present */
+(
+  0 HOST_IS_PRESENT
+  1 BCI_IS_PRESENT
+  2 DONT_INIT_RADIO
+)
+/* mem_master_state */
+(
+  0 MASTER_STATE_STANDBY
+  1 MASTER_INQUIRY
+)
+/* misc */
+(
+  92 SECOND_SWITCH_REQ
+  93 SLAVE_DELAY_DETACH
+  94 MASTER_DELAY_DETACH
+  95 UNSNIFF_DELAY_DETACH
+  0 WE_STARTED_AS_MASTER
+  1 WE_STARTED_AS_SLAVE
+)
+/* mem_host_commands */
+(
+  0x01 HOST_INQUIRY
+  0x02 HOST_INQUIRY_CANCEL
+  0x03 HOST_CREATE_CONNECTION
+  0x04 HOST_DISCONNECT_CONNECTION
+  0x05 HOST_ADD_SCO_REQUEST
+  0x06 HOST_REMOTE_NAME_REQUEST
+  0x07 HOST_WRITE_SUPPORTED_FEATURES
+  0x08 HOST_SET_TX_LEVEL
+  0x09 HOST_SET_RX_LEVEL
+  0x0a HOST_SNIFF_REQUEST
+  0x0b HOST_UNSNIFF_REQUEST
+  0x0c HOST_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0e HOST_WRITE_SCAN_ENABLE
+  0x0f HOST_READ_AUDIO_QUALITY
+  0x10 HOST_ENABLE_DEVICE_UNDER_TEST
+  0x14 HOST_BUTTON_CONFIGURE
+  0x15 HOST_SET_LOW_BATTERY_LEVEL
+  0x16 HOST_WRITE_LOCAL_NAME
+  0x17 HOST_WRITE_LOCAL_PIN
+  0x18 HOST_KILL_SCO_REQUEST
+  0x19 HOST_QOS_REQ
+
+  0x1a HOST_FEATURES_REQUEST
+  0x1b HOST_VERSION_REQUEST
+  0x1c HOST_TIMING_REQUEST
+  0x1d HOST_CLK_OFFSET_REQUEST
+  0x1e HOST_AUTHENTICATE
+  0x1f HOST_START_ENCRYPTION
+  0x20 HOST_STOP_ENCRYPTION
+  0x21 HOST_HOLD_REQUEST
+  0x22 HOST_HOLD_FORCE
+  0x23 HOST_PARK_REQUEST
+  0x24 HOST_MOD_BEACON
+  0x25 HOST_SET_BROADCAST_SCAN_WINDOW
+  0x26 HOST_UNPARK_PM_REQUEST
+  0x27 HOST_UNPARK_BD_REQUEST
+  0x28 HOST_SLAVE_REQUEST_UNPARK
+  0x29 HOST_DECREASE_POWER_REQUEST
+  0x2a HOST_INCREASE_POWER_REQUEST
+  0x2b HOST_SEND_PREFERRED_RATE
+  0x2c HOST_MAX_SLOT_REQ
+  0x2d HOST_MAX_SLOT_FORCE
+  0x2e HOST_PAGE_MODE_REQUEST
+  0x2f HOST_PAGE_SCAN_MODE_REQUEST
+  0x30 HOST_MASTER_SLAVE_SWITCH
+  0x31 HOST_SEND_AUTO_RATE
+  0x32 HOST_PAGE_CANCEL
+  0x33 HOST_CHANGE_LINK_KEY
+  0x34 HOST_RADIO_READ
+  0x35 HOST_RADIO_WRITE
+  0x36 HOST_REMOTE_SLAVE_INIT_UNPARK_REQUESTED
+
+  0x40 HOST_REMOTE_CONNECTION_REQUESTED
+  0x41 HOST_REMOTE_DETACH
+  0x42 HOST_REMOTE_SCO_CREATE_REQUESTED
+  0x43 HOST_REMOTE_SCO_KILL_REQUESTED
+  0x44 HOST_REMOTE_PARK_REQUESTED
+  0x45 HOST_REMOTE_UNPARK_REQUESTED
+  0x46 HOST_REMOTE_SNIFF_REQUESTED
+  0x47 HOST_REMOTE_UNSNIFF_REQUESTED
+  0x48 HOST_REMOTE_HOLD_REQUESTED
+  0x49 HOST_REMOTE_AUTHENTICATION
+  0x4a HOST_REMOTE_START_ENCRYPTION_REQUESTED
+  0x4b HOST_REMOTE_STOP_ENCRYPTION_REQUESTED
+  0x4c HOST_MODE_CHANGE_EVENT
+  0x4d HOST_REMOTE_TEST_ACTIVATE
+  0x4e HOST_REMOTE_TEST_CONTROL
+  0x4f HOST_REMOTE_TIMING_REQUEST
+)
+/* BCI interface (not used if not compiled in ) */
+(
+  0x01 BCI_INQUIRY
+  0x02 BCI_INQUIRY_CANCEL
+  0x03 BCI_CREATE_CONNECTION
+  0x04 BCI_DISCONNECT
+  0x05 BCI_ADD_SCO_CONNECTION
+  0x06 BCI_REMOTE_NAME_REQUEST
+  0x07 BCI_WRITE_SUPPORTED_FEATURES
+  0x08 BCI_SET_TX_POWER_LEVEL
+  0x09 BCI_SET_RX_POWER_LEVEL
+  0x0a BCI_SNIFF_MODE
+  0x0b BCI_EXIT_SNIFF_MODE
+  0x0c BCI_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0d BCI_WRITE_PAGE_TIMEOUT
+  0x0e BCI_WRITE_SCAN_ENABLE
+  0x0f BCI_GET_AUDIO_QUALITY
+  0x10 BCI_ENABLE_DEVICE_UNDER_TEST
+  0x11 BCI_SEND_DATA
+  0x12 BCI_REGISTER_SERVICE_RECORD
+  0x13 BCI_SERVICE_SEARCH_ATTRIB_REQ
+  0x14 BCI_BUTTON_CONFIGURE
+  0x15 BCI_SET_LOW_BATTERY_LEVEL
+  0x16 BCI_WRITE_LOCAL_NAME
+  0x17 BCI_WRITE_LOCAL_PIN
+  0x18 BCI_REMOVE_SCO_CONNECTION
+  0x19 BCI_QUALITY_OF_SERVICE
+  0x40 BCI_REMOTE_CONNECTION_REQUEST
+  0x41 BCI_REMOTE_DETACH
+  0x42 BCI_REMOTE_ADD_SCO_REQUEST
+  0x43 BCI_REMOTE_REMOVE_SCO_REQUEST
+  0x44 BCI_REMOTE_PARK_REQUEST
+  0x45 BCI_REMOTE_UNPARK_REQUEST
+  0x46 BCI_REMOTE_SNIFF_REQUEST
+  0x47 BCI_REMOTE_UNSNIFF_REQUEST
+  0x48 BCI_REMOTE_HOLD_REQUEST
+  0x49 BCI_REMOTE_AUTHENTICATION_PAIRING_REQUEST
+  0x4a BCI_REMOTE_START_ENCRYPTION_REQUEST
+  0x4b BCI_REMOTE_STOP_ENCRYPTION_REQUEST
+  0x4c BCI_MODE_CHANGE_EVENT
+)
+/* mode changes */
+(
+  0 MODE_CHANGE_ACTIVE
+  1 MODE_CHANGE_SNIFFING
+  2 MODE_CHANGE_PARKED
+  3 MODE_CHANGE_HOLDING
+  4 MODE_CHANGE_SCO_ADDED
+  5 MODE_CHANGE_SCO_REMOVED
+  6 MODE_CHANGE_ACL_CONNECTION
+  7 MODE_CHANGE_DISCONNECT
+  8 MODE_CHANGE_SCO_CHANGED
+  9 MODE_CHANGE_ENCRYPTING
+  10 MODE_CHANGE_NOT_ENCRYPTING
+  11 MODE_CHANGE_BUTTON_UP
+  12 MODE_CHANGE_BUTTON_DOWN
+  13 MODE_CHANGE_BATTERY_LOW
+  14 MODE_CHANGE_RESET
+  15 MODE_CHANGE_INQUIRY_CANCELED_RMTCMD
+  16 MODE_ACTIVE_MSSWITCH_PASSED
+  17 MODE_ACTIVE_MSSWITCH_FAILED
+)
+/* mem_battery - low nibble is level information, upper nibble is status info */
+(
+  6 BATTERY_CHECK_LEVEL
+  7 BATTERY_SENT_STATUS
+)
+/* mem_radio_version */
+(
+  0x02 RADIO_2001
+  0x12 RADIO_2002
+  0x32 RADIO_2002_DDM
+  0x42 RADIO_1008A1
+  0x52 RADIO_1018A0
+)
+/* mem_slave_initiated_conn */
+(
+  0 SLAVE_INIT_AUTHENTICATION
+  1 SLAVE_INIT_ENCRYPTION
+  2 SLAVE_INIT_MASTER_SLAVE_SWITCH
+)
+/* connection_options */
+(
+  0 CONNECTION_AUTH
+  1 CONNECTION_ENCRYPT
+  2 CONNECTION_SWITCH
+  3 CONNECTION_ACL
+  4 CONNECTION_FEATURE_EXT
+)
+/* mem_debug_config */
+(
+  7 AA_INSERTION
+)
+
Index: YJX_Only24g/FCC_1021S/output/bt_format.meta
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_format.meta	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_format.meta	(working copy)
@@ -0,0 +1,8904 @@
+0x4000 mem_patch00
+0x4001 mem_patch01
+0x4002 mem_patch02
+0x4003 mem_patch03
+0x4004 mem_patch04
+0x4005 mem_patch05
+0x4006 mem_patch06
+0x4007 mem_patch07
+0x4008 mem_patch08
+0x4009 mem_patch09
+0x400a mem_patch0a
+0x400b mem_patch0b
+0x400c mem_patch0c
+0x400d mem_patch0d
+0x400e mem_patch0e
+0x400f mem_patch0f
+0x4010 mem_patch10
+0x4011 mem_patch11
+0x4012 mem_patch12
+0x4013 mem_patch13
+0x4014 mem_patch14
+0x4015 mem_patch15
+0x4016 mem_patch16
+0x4017 mem_patch17
+0x4018 mem_patch18
+0x4019 mem_patch19
+0x401a mem_patch1a
+0x401b mem_patch1b
+0x401c mem_patch1c
+0x401d mem_patch1d
+0x401e mem_patch1e
+0x401f mem_patch1f
+0x4020 mem_patch20
+0x4021 mem_patch21
+0x4022 mem_patch22
+0x4023 mem_patch23
+0x4024 mem_patch24
+0x4025 mem_patch25
+0x4026 mem_patch26
+0x4027 mem_patch27
+0x4028 mem_patch28
+0x4029 mem_patch29
+0x402a mem_patch2a
+0x402b mem_patch2b
+0x402c mem_patch2c
+0x402d mem_patch2d
+0x402e mem_patch2e
+0x402f mem_patch2f
+0x4030 mem_patch30
+0x4031 mem_patch31
+0x4032 mem_patch32
+0x4033 mem_patch33
+0x4034 mem_patch34
+0x4035 mem_patch35
+0x4036 mem_patch36
+0x4037 mem_patch37
+0x4038 mem_patch38
+0x4039 mem_patch39
+0x403a mem_patch3a
+0x403b mem_patch3b
+0x403c mem_patch3c
+0x403d mem_patch3d
+0x403e mem_patch3e
+0x403f mem_patch3f
+0x4040 mem_context
+0x4090 mem_current_amaddr
+0x4091 mem_lpm_mode
+0x4092 mem_device_option
+0x4093 mem_scan_mode
+0x4094 mem_last_clkn
+0x4098 mem_features
+0x40a0 mem_lap
+0x40a3 mem_uap
+0x40a4 mem_nap
+0x40a6 mem_npage
+0x40a7 mem_glap
+0x40aa mem_class
+0x40ad mem_iscan_window
+0x40af mem_iscan_interval
+0x40b1 mem_pscan_window
+0x40b3 mem_pscan_interval
+0x40b5 mem_page_interval
+0x40b7 mem_page_window
+0x40b9 mem_page_to
+0x40bb mem_inq_window
+0x40bd mem_fcomp_mul
+0x40be mem_fcomp_div
+0x40bf mem_rx_window_init
+0x40c1 mem_rx_window_sniff
+0x40c3 mem_rf_init_ptr
+0x40c5 mem_last_type
+0x40c6 mem_last_type_esco
+0x40c7 mem_last_type_saved
+0x40c8 mem_retransmission_cnt
+0x40ca mem_next_btclk
+0x40ce mem_rf_rccal
+0x40cf mem_handle_num
+0x40d0 mem_max_slot
+0x40d1 mem_eir_enable
+0x40d2 mem_afh_instant
+0x40d6 mem_afh_error_total
+0x40d8 mem_afh_cfg
+0x40d9 mem_afh_new_mod
+0x40da mem_afh_map_lo
+0x40df mem_afh_map_hi
+0x40e4 mem_afh_used
+0x40e5 mem_afh_index
+0x40e7 mem_afh_map_new
+0x40f2 mem_afh_map
+0x4142 mem_afh_timer
+0x4146 mem_afh_classify_channel_map
+0x4150 mem_chip_functions
+0x4152 mem_lpm_wake_lock
+0x4154 mem_lpm_interval
+0x4156 mem_lpm_overhead
+0x4157 mem_lpm_hibernate_switch
+0x4158 mem_esco_addr
+0x4159 mem_sniff_unint_lost
+0x415a mem_ptt
+0x415b mem_sleep_counter//should be 0x41fc in REVC
+0x415f mem_sleep_counter_all
+0x4163 mem_sleep_clkn
+0x4169 mem_sniff_rcv
+0x416c mem_sniff_lost
+0x416f mem_clks_per_lpo
+0x4172 mem_lpm_mult
+0x4173 mem_lpm_mult_timeout
+0x4174 mem_lpm_mult_cnt
+0x4175 mem_lpm_config
+0x4178 mem_lpm_xtalcnt
+0x4179 mem_lpm_buckcnt
+0x417a mem_lpm_ldocnt
+0x417b mem_lpm_isogate
+0x417c mem_lpm_isogate_final
+0x417d mem_saved_gpio// should be 0x421e in REVC
+0x418d mem_saved_gsel
+0x4190 mem_saved_mark
+0x4198 mem_saved_spidctrl
+0x4199 mem_patch_ptr
+0x419b mem_patch_len
+0x419d mem_timers
+0x41bd mem_link_key_exists
+0x41be mem_link_key
+0x41ce mem_hci_cmd
+0x41cf mem_hci_conn_handle
+0x41d0 mem_hci_plap
+0x41d3 mem_hci_puap
+0x41d4 mem_hci_pnap
+0x41d6 mem_uartd_rxitems_got_data
+0x41d7 mem_uartd_rxitems_threshold
+0x41d8 mem_uartd_rx_timeout
+0x41da mem_loadcode_times
+0x41db mem_tx_lch
+0x41dc mem_tx_len
+0x41de mem_tx_power
+0x41df mem_context_number
+0x41e0 mem_250k_freq_enable
+0x41e1 mem_rf_init_data
+0x41e2 mem_app_handshake_flag
+0x41e3 mem_sniff_param_interval
+0x41e5 mem_sniff_param_attempt
+0x41e7 mem_sniff_param_timeout
+0x41e9 mem_cb_check_wakelock
+0x41eb mem_cb_before_hibernate
+0x41ed mem_cb_before_lpm
+0x41ef mem_cb_le_process
+0x41f1 mem_cb_bt_process
+0x41f3 mem_cb_idle_process
+0x41f5 mem_cb_bb_event_process
+0x41f7 mem_cb_discovry_timeout
+0x41f9 mem_cb_att_write
+0x41fb mem_cb_ble_transmit
+0x41fd mem_cb_event_timer
+0x41ff mem_cb_bt_set_mult
+0x4201 mem_cb_spi_flash_write_complate
+0x4203 mem_eeprom_base
+0x4205 mem_unsniff2sniff_timer_count
+0x4206 mem_wake_up_delay_timer
+0x4207 mem_app_connection_options
+0x4208 mem_app_disconn_reason
+0x420a mem_app_disconn_reason_flag
+0x420c mem_lpm_delay_after_sniff
+0x4210 mem_xrecord_mode
+0x4211 mem_eeprom_block_size
+0x4212 mem_spi_init_clk
+0x4213 mem_spi_init_delay_time
+0x4214 mem_spi_ncs_gpio
+0x4215 mem_nv_data_ptr
+0x4217 mem_nv_data_number
+0x4218 mem_queue_ptr
+0x421a mem_ui_led_struct_num
+0x421b mem_ui_led_struct_ptr
+0x421d mem_0_5_adc_io_data
+0x421f mem_1v_adc_hvin_data
+0x4221 mem_2v_adc_vinlpm_data
+0x4223 mem_1v_adc_io_data
+0x4225 mem_5v_adc_hvin_data
+0x4227 mem_3v_adc_vinlpm_data
+0x4229 mem_otp_adc_flag
+0x422b mem_reference_voltage
+0x422d mem_adc_config_flag
+0x422e mem_adc_channel
+0x422f mem_adc_current_value
+0x4231 mem_adc_power_flag//bit0:low power falg ; bit1:no power flag
+0x4232 mem_spi_write_addr
+0x4235 mem_spi_write_ptr
+0x4237 mem_spi_write_len
+0x4239 mem_spi_write_flash_sm
+0x423a mem_eeprom_wp_gpio
+0x423b mem_kscan_ptr
+0x423d mem_key_num_ptr
+0x423d mem_keyscan_ptr
+0x423f mem_power_param_ptr
+0x4241 mem_24g_head_ptr
+0x4243 mem_baud
+0x4245 mem_hci_lt_rx_state
+0x4246 mem_l2cap_xmem_start
+0x4246 mem_l2cap_tx_multi_offset//0 means single packet
+0x4248 mem_sdp_remote_cid
+0x424a mem_rfcomm_remote_cid
+0x424c mem_hid_ctrl_remote_cid
+0x424e mem_hid_int_remote_cid
+0x4250 mem_sdp_state
+0x4251 mem_rfcomm_state
+0x4252 mem_hid_control_state
+0x4253 mem_hid_interrupt_state
+0x4254 mem_spp_state
+0x4255 mem_ML2CAP_comm_id
+0x4256 mem_used_map
+0x4257 mem_tx_fifo0
+0x4257 mem_tx_fifo0_map
+0x4258 mem_tx_fifo0_ptr
+0x425a mem_tx_fifo1
+0x425a mem_tx_fifo1_map
+0x425b mem_tx_fifo1_ptr
+0x425d mem_tx_fifo2
+0x425d mem_tx_fifo2_map
+0x425e mem_tx_fifo2_ptr
+0x4260 mem_tx_fifo3
+0x4260 mem_tx_fifo3_map
+0x4261 mem_tx_fifo3_ptr
+0x4263 mem_tx_fifo_end
+0x4263 mem_l2cap_lpm_txbuf
+0x4363 mem_l2cap_flow_ctrl_flag
+0x4364 mem_l2cap_pending_item
+0x4365 mem_l2cap_xmem_end
+0x4365 mem_le_dsniff
+0x4367 mem_le_conn_interval
+0x4369 mem_le_scan_enable
+0x436a mem_le_scan_interval
+0x436c mem_le_scan_window
+0x436e mem_le_adv_enable
+0x436f mem_le_adv_data_len
+0x4370 mem_le_adv_data
+0x438f mem_le_scan_data_len
+0x4390 mem_le_scan_data
+0x43af mem_le_name_len
+0x43b0 mem_le_name
+0x43ce mem_le_new_map
+0x43d3 mem_le_new_param
+0x43d3 mem_le_new_transmitwindowsize
+0x43d4 mem_le_new_transmitwindowoffset
+0x43d6 mem_le_new_conninterval
+0x43d8 mem_le_new_connslavelatency
+0x43da mem_le_new_connsupervisiontimeout
+0x43dc mem_le_txheader
+0x43dd mem_le_txlen
+0x43de mem_le_txpayload
+0x43e0 mem_le_txcid
+0x43e2 mem_le_l2cap
+0x43e3 mem_le_l2cap_response
+0x43e4 mem_le_txbdy
+0x4403 mem_le_pcnt_tx
+0x4408 mem_le_pcnt_rx
+0x440d mem_le_last_mic
+0x4411 mem_le_ivm
+0x4415 mem_le_ivs
+0x4419 mem_le_ltk
+0x4429 mem_ltk_exists
+0x442a mem_le_rconfirm
+0x443a mem_le_srand
+0x444a mem_le_iat
+0x444b mem_le_rat
+0x444c mem_le_preq
+0x444d mem_le_preq_iocap
+0x444e mem_le_preq_oob
+0x444f mem_le_preq_auth
+0x4450 mem_le_preq_max_keysize
+0x4451 mem_le_preq_init_key_distribution
+0x4452 mem_le_preq_resp_key_distribution
+0x4453 mem_le_pres
+0x4454 mem_le_pres_iocap
+0x4455 mem_le_pres_oob
+0x4456 mem_le_pres_auth
+0x4457 mem_le_pres_max_keysize
+0x4458 mem_le_pres_init_key_distribution
+0x4459 mem_le_pres_resp_key_distribution
+0x445a mem_le_search_handle_start
+0x445c mem_le_search_handle_end
+0x445e mem_le_att_offset
+0x445e mem_le_search_att_type_length
+0x445f mem_le_search_att_type
+0x446f mem_le_notify_handle
+0x4471 mem_le_search_uuid_length
+0x4472 mem_le_search_uuid
+0x4482 mem_le_adv_param
+0x4482 mem_le_adv_interval
+0x4484 mem_le_adv_type
+0x4485 mem_le_adv_own_addr_type
+0x4486 mem_le_adv_direct_addr_type
+0x4487 mem_le_adv_direct_addr
+0x448d mem_le_adv_channel_map
+0x448e mem_le_conn_param
+0x448e mem_le_conn_peer_addr_type
+0x448f mem_le_conn_peer_addr
+0x4495 mem_le_conn_own_addr_type
+0x4496 mem_le_interval_min
+0x4498 mem_le_interval_max
+0x449a mem_le_latency
+0x449c mem_le_timeout
+0x449e mem_le_scan_params
+0x449e mem_le_scan_type
+0x449f mem_le_scan_own_addr_type
+0x44a0 mem_le_lap
+0x44a3 mem_le_uap
+0x44a4 mem_le_nap
+0x44a6 mem_le_local_mtu
+0x44a8 mem_le_remote_mtu
+0x44aa mem_le_skdm
+0x44b2 mem_le_skds
+0x44ba mem_le_init_superto
+0x44bc mem_ui_le_uuid_table
+0x44be mem_le_secure_connect_enable
+0x44bf mem_le_secure_connect_flag
+0x44c0 mem_le_sc_calc
+0x44c1 mem_le_secure_connect_state
+0x44c2 mem_le_sc_confirm_gkey_flag
+0x44c3 mem_le_sc_local_key_invalid
+0x44c4 mem_le_pairing_state
+0x44c5 mem_le_enc_state
+0x44c6 mem_le_pairing_mode
+0x44c7 mem_le_tk
+0x44cb mem_le_ediv
+0x44cd mem_le_rand
+0x44d5 mem_le_irk
+0x44e5 mem_le_transmit_window
+0x44e9 mem_le_configuration
+0x44ea mem_le_fixed_ltk
+0x44fa mem_le_pairing_handle
+0x44fc mem_le_l2cap_size
+0x44fe mem_le_packet_len_recved
+0x44ff mem_le_tx_buff_used
+0x4500 mem_le_tx_ptr0
+0x4502 mem_le_tx_ptr1
+0x4504 mem_le_tx_ptr2
+0x4506 mem_le_tx_ptr3
+0x4508 mem_le_signaling_identifier
+0x4509 mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x450b mem_le_packet_size
+0x450c mem_le_packet_llid
+0x450d mem_le_payload_ptr
+0x450f mem_le_md_count
+0x4510 mem_lmp_version
+0x4513 mem_lmp_subversion
+0x4515 mem_local_name_length
+0x4516 mem_local_name
+0x4519 mem_local_name2
+0x4559 mem_local_name_end
+0x455a mem_unsniff2sniff_timer
+0x455b mem_switch_flag
+0x455c mem_classic_bt_flag
+0x455d mem_pn_dlci
+0x455e mem_pn_max_frame_size
+0x4560 memFCStemp1
+0x4561 memFCStemp2
+0x4562 memFCStemp3
+0x4563 mem_rfcomm_initiator
+0x4564 mem_remote_spp_channel
+0x4565 mem_HIUfcs_SPP
+0x4566 mem_HIUfcs_SPP_WCredits
+0x4567 mem_rfcomm_send_more_pkt
+0x4568 mem_remote_credits
+0x4569 mem_credit_given
+0x456a mem_ms_channel
+0x456b mem_credit_flag
+0x456c mem_rfcomm_max_frame_size
+0x456e mem_rfcomm_credit_init_data
+0x456f mem_cb_receive_spp_data
+0x4571 mem_nl_rx_data_src
+0x4573 mem_nl_rx_len_all
+0x4575 mem_ui_uuid_table
+0x4577 mem_all_uuid_16bits
+0x458d mem_all_uuid_128bits
+0x45af mem_sdp_l2capch_ptr
+0x45b1 mem_sp_local_key_invalid
+0x45b2 mem_le_private_key_256
+0x45d2 mem_le_pubkey_local_x_256
+0x45f2 mem_le_pubkey_local_y_256
+0x4612 mem_sp_private_key
+0x462a mem_sp_pubkey_local
+0x462a mem_sp_pubkey_local_x
+0x4642 mem_sp_pubkey_local_x_end
+0x4642 mem_sp_pubkey_local_y
+0x465a mem_ssp_enable
+0x465b mem_sp_iocap_local
+0x465e mem_sp_iocap_remote
+0x4661 mem_flag_mode_ssp_pin
+0x4662 mem_ssp_mode_flag
+0x4663 mem_authentication_passkey_times
+0x4664 mem_passkey_1bit
+0x4665 mem_flag_pairing_state
+0x4666 mem_ipc_lock_bt
+0x4667 mem_ipc_lock_c51
+0x4668 mem_ipc_fifo_bt2c51
+0x4670 mem_ipc_fifo_c512bt
+0x4678 mem_ui_button_timer
+0x4679 mem_ui_button_last_state
+0x467a mem_ui_timer_last_btclk
+0x467e mem_discovery_timeout_timer_count
+0x4680 mem_hid_handshake_timer_count
+0x4681 memui_reconnect_mode
+0x4682 mem_ui_state_map
+0x4684 mem_ui_profile_supported
+0x4685 mem_ui_button_timeout
+0x4686 mem_ui_button_gpio
+0x4687 mem_discovery_timeout
+0x4689 mem_pin_length
+0x468a mem_pin
+0x469a mem_antl_lpm_interval
+0x469c mem_antl_adv_interval
+0x469e mem_antl_slow_adv_lpm_interval
+0x46a0 mem_antl_slow_adv_adv_interval
+0x46a2 mem_antl_led_style
+0x46a2 mem_antl_led_type
+0x46a3 mem_antl_led_blink_count
+0x46a4 mem_antl_led_gpio
+0x46a5 mem_antl_led_on_time
+0x46a7 mem_antl_led_off_time
+0x46a9 mem_antl_led_cb_on
+0x46ab mem_antl_led_cb_off
+0x46ad mem_antl_buzzer_style
+0x46ad mem_antl_buzzer_type
+0x46ae mem_antl_buzzer_blink_count
+0x46af mem_antl_buzzer_gpio
+0x46b0 mem_antl_buzzer_on_time
+0x46b2 mem_antl_buzzer_off_time
+0x46b4 mem_antl_buzzer_cb_on
+0x46b6 mem_antl_buzzer_cb_off
+0x46b8 mem_antl_fast_adv_led_style
+0x46b8 mem_antl_fast_adv_led_type
+0x46b9 mem_antl_fast_adv_led_blink_count
+0x46ba mem_antl_fast_adv_led_gpio
+0x46bb mem_antl_fast_adv_led_on_time
+0x46bd mem_antl_fast_adv_led_off_time
+0x46bf mem_antl_slow_adv_led_style
+0x46bf mem_antl_slow_adv_led_type
+0x46c0 mem_antl_slow_adv_led_blink_count
+0x46c1 mem_antl_slow_adv_led_gpio
+0x46c2 mem_antl_slow_adv_led_on_time
+0x46c4 mem_antl_slow_adv_led_off_time
+0x46c6 mem_antl_power_starting_led_style
+0x46c6 mem_antl_power_starting_led_type
+0x46c7 mem_antl_power_starting_led_blink_count
+0x46c8 mem_antl_power_starting_led_gpio
+0x46c9 mem_antl_power_starting_led_on_time
+0x46cb mem_antl_power_starting_led_off_time
+0x46cd mem_antl_power_starting_buzzer_style
+0x46d4 mem_antl_power_off_led_style
+0x46d4 mem_antl_power_off_led_type
+0x46d5 mem_antl_power_off_led_link_count
+0x46d6 mem_antl_power_off_led_gpio
+0x46d7 mem_antl_power_off_led_on_time
+0x46d9 mem_antl_power_off_led_off_time
+0x46db mem_antl_power_off_buzzer_style
+0x46db mem_antl_power_off_buzzer_type
+0x46dc mem_antl_power_off_buzzer_link_count
+0x46dd mem_antl_power_off_buzzer_gpio
+0x46de mem_antl_power_off_buzzer_on_time
+0x46e0 mem_antl_power_off_buzzer_off_time
+0x46e2 mem_antl_alert_led_stlye
+0x46e9 mem_antl_alert_buzzer_stlye
+0x46e9 mem_antl_alert_buzzer_type
+0x46ea mem_antl_alert_buzzer_blink_count
+0x46eb mem_antl_alert_buzzer_gpio
+0x46ec mem_antl_alert_buzzer_on_time
+0x46ee mem_antl_alert_buzzer_off_time
+0x46f0 mem_antl_key_led_style
+0x46f0 mem_antl_key_led_type
+0x46f1 mem_antl_key_led_blink_count
+0x46f2 mem_antl_key_led_gpio
+0x46f3 mem_antl_key_led_on_time
+0x46f5 mem_antl_key_led_off_time
+0x46f7 mem_antl_key_buzzer_style
+0x46fe mem_antl_queue_width
+0x46ff mem_antl_queue_depth
+0x4700 mem_antl_queue_curr_num
+0x4701 mem_antl_queue_read_ptr
+0x4702 mem_antl_queue_write_ptr
+0x4703 mem_antl_queue_buff
+0x4753 mem_antl_key_scan_enable
+0x4754 mem_antl_led_num
+0x4755 mem_antl_led_gpio_map
+0x4759 mem_antl_power_param
+0x4759 mem_antl_power_state
+0x475a mem_antl_power_timer
+0x475b mem_antl_power_off_timeout
+0x475c mem_antl_power_starting_timeout
+0x475d mem_antl_power_off_cb
+0x475f mem_antl_power_starting_cb
+0x4761 mem_antl_power_standby_cb
+0x4763 mem_event_button_up_cb
+0x4765 mem_antl_key_num
+0x4766 mem_cb_antl_key
+0x4768 mem_antl_key_conf0
+0x476c mem_antl_key0_press
+0x477b mem_antl_key0_release
+0x478a mem_antl_conn_updata_procedure_state
+0x478b mem_client_characteristic_configuration_descriptor
+0x478d mem_adc_timer
+0x478f mem_antl_conn_update_timer
+0x4790 mem_antl_send_updata_le_param_timer
+0x4791 mem_antl_le_sleep_timer
+0x4793 mem_antl_fast_adv_timer
+0x4795 mem_antl_fast_adv_timeout
+0x4797 mem_antl_le_sleep_timeout
+0x4799 mem_double_click_timer
+0x479a mem_butten_click_cnt
+0x479b mem_antl_led_state
+0x479c mem_antl_buzzer_state
+0x479d mem_antl_key_state
+0x479e mem_antl_lost_mode
+0x479f mem_alarm_config
+0x47a0 mem_alarm_config_notfy_cnt
+0x47a1 mem_buzzer_pwm_conf
+0x47a7 mem_adc_timeout
+0x47a9 mem_voltage_remain_percent
+0x47aa mem_battery_calculate_set
+0x47aa mem_battery_full_voltage
+0x47ac mem_battery_empty_voltage
+0x47ae mem_battery_low_voltage
+0x47b0 mem_battery_current_voltage
+0x47b2 mem_rx_window_sniff_inc
+0x47b4 mem_interval_increment
+0x47b6 mem_antl_le_interval_min
+0x47b8 mem_antl_le_interval_max
+0x47ba mem_antl_le_latency
+0x47bc mem_antl_le_timeout
+0x47be mem_antl_le_unnormal_interval_min
+0x47c0 mem_antl_le_unnormal_interval_max
+0x47c2 mem_antl_le_unnormal_latency
+0x47c4 mem_antl_le_unnormal_timeout
+0x47c6 mem_AntiLost_le_att_list
+0x469a mem_car_hard_soft_switch
+0x469b mem_car_queue_each_size
+0x469c mem_car__queue_length
+0x469d mem_car_queue_curr_num
+0x469e mem_car_queue_read_ptr
+0x469f mem_car_queue_write_ptr
+0x46a0 mem_car_queue_ele
+0x4718 mem_car_pop_queue_buff
+0x472c mem_car_led_num
+0x472d mem_car_led_map
+0x4737 mem_car_style1_led_type
+0x4738 mem_car_style1_blink_count
+0x4739 mem_car_style1_struct_led_gpio
+0x473a mem_car_style1_on_time
+0x473c mem_car_style1_off_time
+0x473e mem_car_style1_cb_ledon
+0x4740 mem_car_style1_cb_ledoff
+0x4742 mem_car_style2_led_type
+0x4743 mem_car_style2_blink_count
+0x4744 mem_car_style2_struct_led_gpio
+0x4745 mem_car_style2_on_time
+0x4747 mem_car_style2_off_time
+0x4749 mem_car_style2_cb_ledon
+0x474b mem_car_style2_cb_ledoff
+0x474d mem_le_receive_data
+0x474d mem_le_receive_packet_head
+0x474f mem_le_receive_cmd
+0x4750 mem_le_receive_length
+0x4752 mem_le_receive_payload
+0x475c mem_le_receive_checksum
+0x475d mem_motor1_status
+0x475e mem_motor1_speed
+0x475f mem_motor2_status
+0x4760 mem_motor2_speed
+0x4761 mem_motor3_status
+0x4762 mem_motor3_speed
+0x4763 mem_motor1_pwm_set
+0x4763 mem_motor1_pwm_pin1_set
+0x4764 mem_motor1_pwm_pin2_set
+0x4765 mem_motor1_pwm_pin_set
+0x4766 mem_motor1_pwm_channel_set
+0x4767 mem_motor1_pwm_freq_set
+0x476a mem_motor1_pwm_dute_set
+0x476b mem_motor2_pwm_set
+0x476b mem_motor2_pwm_pin1_set
+0x476c mem_motor2_pwm_pin2_set
+0x476d mem_motor2_pwm_pin_set
+0x476e mem_motor2_pwm_channel_set
+0x476f mem_motor2_pwm_freq_set
+0x4772 mem_motor2_pwm_dute_set
+0x4773 mem_motor3_pwm_set
+0x4773 mem_motor3_pwm_pin1_set
+0x4774 mem_motor3_pwm_pin2_set
+0x4775 mem_motor3_pwm_pin_set
+0x4776 mem_motor3_pwm_channel_set
+0x4777 mem_motor3_pwm_freq_set
+0x477a mem_motor3_pwm_dute_set
+0x477b mem_motor_select_p_n
+0x477c mem_car_motor_status
+0x477d mem_car_motor_speed
+0x477e mem_motor_pwm_set
+0x477e mem_motor_pwm_pin1_set
+0x477f mem_motor_pwm_pin2_set
+0x4780 mem_motor_pwm_pin_set
+0x4781 mem_motor_pwm_channel_set
+0x4782 mem_motor_pwm_freq_set
+0x4785 mem_motor_pwm_dute_set
+0x4786 mem_ir_rx_gpio
+0x4787 mem_ir_data
+0x4789 mem_ir_rx_buf
+0x478b mem_ir_receive_clkn
+0x478f mem_ir_notify_data
+0x4792 mem_ir_notify_data_head
+0x4797 mem_ir_notify_data_payload
+0x4799 mem_ir_notify_data_check_sum
+0x479a mem_car_ir_breakdown_check_timer
+0x479b mem_car_ir_breakdown_flag
+0x479c mem_car_led_control
+0x479c mem_car_led1_status
+0x479d mem_car_led2_status
+0x479e mem_car_led3_status
+0x479f mem_car_led4_status
+0x47a0 mem_car_led5_status
+0x47a1 mem_car_led6_status
+0x47a2 mem_car_led7_status
+0x47a3 mem_car_led8_status
+0x47a4 mem_car_led_control_timer
+0x47a5 mem_car_led_blink_status
+0x47a6 mem_car_led_no
+0x47a7 mem_car_info_request
+0x47aa mem_car_info_request_head
+0x47af mem_car_info_request_payload
+0x47b7 mem_car_info_request_checksum
+0x47b8 mem_car_config_param
+0x47b8 mem_car_config_setting_flag
+0x47b9 mem_car_config_device_select
+0x47ba mem_car_config_motor_layout
+0x47bb mem_car_config_ir_enable
+0x47bc mem_car_config_ir_rx_gpio
+0x47bd mem_car_config_pairing_led_conn_status
+0x47be mem_car_config_pairing_led_gpio
+0x47bf mem_car_config_led_num
+0x47c0 mem_car_config_blood_led_gpio
+0x47c0 mem_car_config_blood_led1_gpio
+0x47c1 mem_car_config_blood_led2_gpio
+0x47c2 mem_car_config_blood_led3_gpio
+0x47c3 mem_car_config_blood_led4_gpio
+0x47c4 mem_car_config_blood_led5_gpio
+0x47c5 mem_car_config_blood_led6_gpio
+0x47c6 mem_car_config_blood_led7_gpio
+0x47c7 mem_car_config_blood_led8_gpio
+0x47c8 mem_car_config_bat_notify_enable
+0x47c9 mem_car_config_low_voltage_led_gpio
+0x47ca mem_car_config_low_voltage_percent
+0x47cb mem_car_config_soft_switch_enable
+0x47cc mem_car_config_soft_switch_gpio
+0x47cd mem_car_notify_vdd_count
+0x47ce mem_car_notify_vdd_timer
+0x47cf mem_car_notify_vdd_value_last
+0x47d0 mem_car_notify_vdd_percent
+0x47d1 mem_car_working_flag
+0x47d2 mem_low_bat_flag
+0x47d3 mem_notify_bat_packet
+0x47d6 mem_notify_bat_head
+0x47db mem_notify_bat_payload
+0x47dc mem_notify_bat_check_sum
+0x47dd mem_vdd_notify_flag
+0x47de mem_car_current_vdd_value_temp
+0x47e0 mem_car_last_vdd_value
+0x47e2 mem_vdd_calculate_set
+0x47e2 mem_vdd_full_vol
+0x47e4 mem_vdd_empty_vol
+0x47e6 mem_vdd_low_vol
+0x47e8 mem_vdd_now_vol
+0x47ea mem_car_24g_status
+0x47eb mem_car_24g_no_data_timeout_count
+0x47ed mem_car_24g_no_data_timeout_timer
+0x47ef mem_car_24g_ir_receive_attack_count
+0x47f0 mem_car_24g_go_die_flag
+0x47f1 mem_car_attack_shake_timer
+0x47f2 mem_car_attack_shake_flag
+0x47f3 mem_car_soft_power
+0x47f3 mem_car_power_state
+0x47f4 mem_car_power_timer
+0x47f5 mem_car_power_off_timeout
+0x47f6 mem_car_power_starting_timeout
+0x47f7 mem_car_power_off_cb
+0x47f9 mem_car_power_starting_cb
+0x47fb mem_car_power_standby_cb
+0x47fd mem_car_ui_button_up_cb
+0x47ff mem_car_le_att_list
+0x49f3 mem_car_moto1_blank_timer
+0x49f4 mem_car_moto2_blank_timer
+0x49f5 mem_car_moto3_blank_timer
+0x49f6 mem_car_24g_received_pac
+0x49f7 mem_24g_car_head_ptr
+0x469a mem_light_pwm0
+0x469b mem_light_pwm1
+0x469c mem_light_pwm2
+0x469d mem_light_pwm3
+0x469e mem_light_pwm4
+0x469f mem_light_pwm5
+0x46a0 mem_light_pairing_enable
+0x46a1 mem_light_pairing_timer
+0x46a3 mem_light_cnum
+0x46a4 mem_light_next_record
+0x46a5 mem_light_clist
+0x46f5 mem_light_crr_cmd_count
+0x46f6 mem_curr_packet_num
+0x469a mem_lightc_led_gpio
+0x469b mem_lightc_row
+0x46a1 mem_lightc_col
+0x46a7 mem_adv_time
+0x46a8 mem_cmd0_string
+0x46bc mem_cmd1_string
+0x46d0 mem_cmd2_string
+0x46e4 mem_cmd3_string
+0x46f8 mem_cmd4_string
+0x470c mem_cmd5_string
+0x4720 mem_cmd6_string
+0x4734 mem_cmd7_string
+0x4748 mem_cmd8_string
+0x475c mem_cmd9_string
+0x4770 mem_cmd10_string
+0x4784 mem_cmd11_string
+0x4798 mem_cmd12_string
+0x47ac mem_cmd13_string
+0x47c0 mem_cmd14_string
+0x47d4 mem_cmd15_string
+0x47e8 mem_cmd16_string
+0x47fc mem_cmd17_string
+0x4810 mem_cmd18_string
+0x4824 mem_cmd19_string
+0x4838 mem_cmd20_string
+0x469a mem_soft_version_num
+0x469c mem_module_wake_up_gpio
+0x469d mem_module_state_gpio
+0x469e mem_module_connect_state_gpio
+0x469f mem_current_packet_length
+0x46a1 mem_module_state
+0x46a2 mem_module_mcu_wake_pin
+0x46a3 mem_module_mcu_wake_delay_us
+0x46a7 mem_module_spp_lpm_mult
+0x46a8 mem_module_le_lpm_mult
+0x46a9 mem_module_bluetooth_stauts_by_command
+0x46aa mem_module_uart_rx_buffer
+0x46ac mem_module_uart_rx_buffer_end
+0x46ae mem_module_uart_tx_buffer
+0x46b0 mem_module_uart_tx_buffer_end
+0x46b2 mem_module_read_vdd_flag
+0x46b3 mem_module_read_vdd_count
+0x46b4 mem_module_vdd_quotient
+0x46b5 mem_module_vdd_remainder
+0x46b6 mem_module_le_rx_data_len
+0x46b7 mem_module_le_rx_data_address
+0x46b9 mem_module_le_rx_data_handle
+0x46bb mem_module_data_write_handle
+0x46bd mem_module_data_write_handle2
+0x46bf mem_module_flag
+0x46c0 mem_module_hci_notify_len
+0x46c1 mem_module_hci_notify_handle
+0x46c3 mem_module_hci_nofiy_addr
+0x46c5 mem_last_transmite_clock
+0x46c9 mem_module_uuid_list
+0x47f5 mem_module_uuid_list_end
+0x47f5 mem_module_le_att_list
+0x4a4d mem_module_le_att_list_end
+0x4a4d mem_module_nv_data
+0x4a4d mem_module_nv_data0
+0x4a6f mem_module_nv_data1
+0x4a91 mem_module_nv_data2
+0x4ab3 mem_module_nv_data3
+0x4ad5 mem_module_nv_data4
+0x4af7 mem_fcc_param_new
+0x4af7 mem_fcc_ch_new
+0x4af8 mem_fcc_mod_new
+0x4af9 mem_fcc_data_new
+0x4afa mem_fcc_send_mode_new
+0x4afb mem_fcc_param
+0x4afb mem_fcc_ch
+0x4afc mem_fcc_mod
+0x4afd mem_fcc_data
+0x4afe mem_fcc_send_mode
+0x4aff mem_fcc_btble
+0x4b00 mem_fcc_hop
+0x4b01 mem_fcc_data_length
+0x4b02 mem_log
+0x4c02 mem_wptr
+0x4c04 mem_rptr
+0x4c06 mem_random_ch
+0x4c07 mem_pn9
+0x4d07 mem_fcc_pack
+0x469a mem_mouse_key
+0x469b mem_mouse_x
+0x469d mem_mouse_y
+0x469f mem_mouse_z
+0x46a0 mem_mouse_tz
+0x46a1 mem_mouse_xy_h
+0x46a2 mem_sensor_shutter_hi
+0x46a3 mem_sensor_shutter_lo
+0x46a4 mem_sensor_smart_flag
+0x46a5 mem_sensor_squal_reg
+0x46a6 mem_sensor_iqc
+0x46a7 mem_mouse_move_flag
+0x46a8 mem_mouse_direct_timeout
+0x46aa mem_mouse_no_data_timeout
+0x46ac mem_mouse_discovery_timer
+0x46ae mem_mouse_direct_timer
+0x46b0 mem_mouse_no_data_timer
+0x46b2 mem_mouse_blank_data_timer
+0x46b4 mem_mouse_send_blank_timer
+0x46b5 mem_mouse_cpi_count
+0x46b6 mem_mouse_dpi_button_state
+0x46b7 mem_wheel_tb_old_pinlevel
+0x46b8 mem_wheel_tb_new_pinlevel
+0x46b9 mem_wheel_tog
+0x46ba mem_mouse_tz_data
+0x46bb mem_mouse_tz_data_count
+0x46bc mem_mouse_tz_data_count1
+0x46bd mem_mwheel_b_old_pinlevel
+0x46be mem_mwheel_b_new_pinlevel
+0x46bf mem_mwheel_tog
+0x46c0 mem_mouse_z_data
+0x46c1 mem_mouse_z_data_count
+0x46c2 mem_mouse_z_data_count1
+0x46c3 mem_reconn_mode
+0x46c4 mem_mouse_statue_led_timer
+0x46c5 mem_le_connect_statue_flag
+0x46c6 mem_le_start_encrypt_timer
+0x46c7 mem_device_addr_temp
+0x46ce mem_adc_read_timer
+0x46cf mem_adc_low_volatage_led_timer_count
+0x46d0 mem_adc_reference_voltage
+0x46d2 mem_device_number
+0x46d3 mem_mouse_flag
+0x46d5 mem_mouse_function_enable
+0x46d7 mem_combination_select_device_timer_init
+0x46d8 mem_combination_select_device_count
+0x46d9 mem_select_device_button_statue
+0x46da mem_combination_ui_button_count
+0x46db mem_bt_discovey_button_statue
+0x46dc mem_sensor_reset_gpio
+0x46dd mem_sensor_id1
+0x46de mem_sensor_id2
+0x46df mem_mouse_dpi_led_delay_count
+0x46e0 mem_config_sensor_type
+0x46e1 mem_config_sensor_motion
+0x46e2 mem_lbutton_gpio
+0x46e3 mem_rbutton_gpio
+0x46e4 mem_mbutton_gpio
+0x46e5 mem_bk_button_gpio
+0x46e6 mem_fw_button_gpio
+0x46e7 mem_dpi_button_gpio
+0x46e8 mem_whee_a_data_gpio
+0x46e9 mem_whee_b_data_gpio
+0x46ea mem_whee_ta_data_gpio
+0x46eb mem_whee_tb_data_gpio
+0x46ec mem_config_bt_button_gpio
+0x46ed mem_config_select_device_button_gpio
+0x46ee mem_config_paraing_led_gpio
+0x46ef mem_config_low_voltage_alarm_gpio
+0x46f0 mem_config_device1_led_gpio
+0x46f1 mem_config_device2_led_gpio
+0x46f2 mem_config_device3_led_gpio
+0x46f3 mem_sensor_data_gpio
+0x46f4 mem_dpi_led_gpio
+0x46f5 mem_config_function_enable
+0x46f6 mem_config_sensor_angle
+0x46f7 mem_select_sensor_angle_gpio
+0x46f8 mem_select_adc_gpio
+0x46f9 mem_config_end
+0x46f9 mem_btclk_sensor
+0x46fd mem_wire_usb_interval
+0x46fe mem_mouse_mode_flag
+0x46ff mem_usb_addr
+0x4700 mem_flash_base
+0x4703 mem_24g_device_number
+0x4704 mem_24g_enter_lpm_timer
+0x4705 mem_mouse_1step_up_count
+0x4706 mem_mouse_2step_up_count
+0x4707 mem_24g_pairing_timer_count
+0x4709 mem_mouse_vdd_calculate_set
+0x4709 mem_mouse_vdd_full_vol
+0x470b mem_mouse_vdd_empty_vol
+0x470d mem_mouse_vdd_low_vol
+0x470f mem_mouse_vdd_now_vol
+0x4711 mem_mouse_sensor_timer_count
+0x4712 mem_sensor_led_style
+0x4713 mem_mouse_led_type
+0x4714 mem_mouse_blink_count
+0x4715 mem_mouse_struct_led_gpio
+0x4716 mem_mouse_on_time
+0x4718 mem_mouse_off_time
+0x471a mem_mouse_cb_ledon
+0x471c mem_mouse_cb_ledoff
+0x471e mem_reconn_times
+0x471f mem_reconn_times_init
+0x4720 mem_mouse_information_start
+0x4720 mem_device_flag
+0x4721 mem_device1_type
+0x4722 mem_device1_addr
+0x4728 mem_device1_link_key
+0x4738 mem_device1_locall_addr
+0x473e mem_device2_type
+0x473f mem_device2_addr
+0x4745 mem_device2_link_key
+0x4755 mem_device2_locall_addr
+0x475b mem_device3_type
+0x475c mem_device3_addr
+0x4762 mem_device3_link_key
+0x4772 mem_device3_locall_addr
+0x4778 mem_store_flag
+0x477a mem_mouse_dpi
+0x477b mem_mouse_24g_addr
+0x477f mem_mouse_information_end
+0x477f mem_mouse_dpi_seting
+0x477f mem_320x_dpi_1
+0x4780 mem_320x_dpi_2
+0x4781 mem_320x_dpi_3
+0x4782 mem_320x_dpi_4
+0x4783 mem_3212_dpi_1
+0x4784 mem_3212_dpi_2
+0x4785 mem_3212_dpi_3
+0x4786 mem_3212_dpi_4
+0x4787 mem_3610_dpi_1
+0x4788 mem_3610_dpi_2
+0x4789 mem_3610_dpi_3
+0x478a mem_3610_dpi_4
+0x478b mem_mouse_24g_enter_lpm_enable
+0x478c mem_24g_ms_head_ptr
+0x469a mem_remote_car_hard_soft_switch
+0x469b mem_remote_car_queue_each_size
+0x469c mem_remote_car_queue_length
+0x469d mem_remote_car_queue_curr_num
+0x469e mem_remote_car_queue_read_ptr
+0x469f mem_remote_car_queue_write_ptr
+0x46a0 mem_remote_car_queue_ele
+0x46fa mem_remote_style_led_type
+0x46fb mem_remote_style_blink_count
+0x46fc mem_remote_style_struct_led_gpio
+0x46fd mem_remote_style_on_time
+0x46ff mem_remote_style_off_time
+0x4701 mem_remote_style_cb_ledon
+0x4703 mem_remote_style_cb_ledoff
+0x4705 mem_remote_car_led_num
+0x4706 mem_remote_car_led_map
+0x470e mem_remote_car_keyscan
+0x470e mem_remote_car_key_num
+0x470f mem_cb_remote_car_keyscan
+0x4711 mem_remote_car_key_conf0
+0x4711 mem_remote_car_key_conf0_pin
+0x4712 mem_remote_car_key_conf1
+0x4712 mem_remote_car_key_conf1_pin
+0x4713 mem_remote_car_key_conf2
+0x4713 mem_remote_car_key_conf2_pin
+0x4714 mem_remote_car_key_conf3
+0x4714 mem_remote_car_key_conf3_pin
+0x4715 mem_remote_car_key_conf4
+0x4715 mem_remote_car_key_conf4_pin
+0x4716 mem_remote_car_key_conf5
+0x4716 mem_remote_car_key_conf5_pin
+0x4717 mem_remote_car_key_conf6
+0x4717 mem_remote_car_key_conf6_pin
+0x4718 mem_rocker_negative_flag
+0x4719 mem_rocker_work_status
+0x471a mem_current_vdd_value_default_mid_x
+0x471c mem_current_vdd_value_default_mid_y
+0x471e mem_current_vdd_value_default_mid_temp
+0x4720 mem_current_vdd_default_range
+0x4722 mem_rocker_last_status
+0x4724 mem_rocker_status
+0x4724 mem_rocker_x_status
+0x4725 mem_rocker_y_status
+0x4726 mem_remote_car_config_param
+0x4726 mem_remote_car_config_setting_flag
+0x4727 mem_remote_car_config_key_map
+0x4728 mem_remote_car_config_layout
+0x4729 mem_remote_car_config_connect_led_gpio
+0x472a mem_remote_car_config_check_way
+0x472b mem_remote_car_config_soft_switch_enable
+0x472c mem_remote_car_config_soft_switch_gpio
+0x472d mem_remote_car_config_timeout_shutdown_enable
+0x472e mem_remote_car_24g_motor_packet
+0x472e mem_remote_car_24g_motor_packet_lenght
+0x472f mem_remote_car_24g_motor_send_packet_head
+0x4731 mem_remote_car_24g_motor_send_cmd
+0x4732 mem_remote_car_24g_motor_send_length
+0x4734 mem_remote_car_24g_motor_send_payload
+0x4734 mem_remote_car_24g_motor1_payload
+0x4736 mem_remote_car_24g_motor2_payload
+0x4738 mem_remote_car_24g_motor3_payload
+0x473a mem_remote_car_24g_motor_send_checksum
+0x473b mem_remote_car_24g_fire_packet
+0x473b mem_remote_car_24g_fire_packet_lenght
+0x473c mem_remote_car_24g_fire_send_packet_head
+0x473e mem_remote_car_24g_fire_send_cmd
+0x473f mem_remote_car_24g_fire_send_length
+0x4741 mem_remote_car_24g_fire_send_payload
+0x4743 mem_remote_car_24g_fire_send_checksum
+0x4744 mem_remote_car_24g_tx_temp
+0x4753 mem_remote_car_no_data_timeout
+0x4755 mem_remote_car_no_data_timer
+0x4757 mem_remote_car_soft_power
+0x4757 mem_remote_car_power_state
+0x4758 mem_remote_car_power_timer
+0x4759 mem_remote_car_power_off_timeout
+0x475a mem_remote_car_power_starting_timeout
+0x475b mem_remote_car_power_off_cb
+0x475d mem_remote_car_power_starting_cb
+0x475f mem_remote_car_power_standby_cb
+0x4761 mem_remote_key_status
+0x4762 mem_remote_car_24g_status
+0x4763 mem_remote_car_24g_auto_work_step
+0x4764 mem_remote_car_24g_pair_success_flag
+0x4765 mem_remote_car_24g_enter_lpm_enable
+0x4766 mem_remote_car_empty_packet
+0x4767 mem_24g_RC_head_ptr
+0x469a mem_shutter_bluetooth_type
+0x469b mem_shutter_config_enable
+0x469c mem_shutter_config_otp_base_address
+0x469e mem_shutter_config_size
+0x469f mem_shutter_config_select_gpio1
+0x46a0 mem_shutter_config_select_gpio2
+0x46a1 mem_shutter_config_select_gpio3
+0x46a2 mem_shutter_config_user_otp_address
+0x46a4 mem_shutter_config_eeprom_offset_addr
+0x46a6 mem_shutter_config_eeprom_start_flag
+0x46a8 mem_shutter_config_user_size
+0x46a9 mem_shutter_config_label
+0x46aa mem_shutter_config_otp_addr
+0x46ac mem_classic_shutter_cable_unplug_conut
+0x46ad mem_classic_shutter_hid_disconn_count
+0x46ae mem_classic_shutter_random_mac_offset_addr
+0x46b0 mem_ble_shutter_enable_notify
+0x46b1 mem_ble_shutter_reconn_dav_interval
+0x46b3 mem_ble_shutter_discovery_adv_interval
+0x46b5 mem_ble_shutter_reconn_timeout
+0x46b7 mem_ble_shutter_reconn_timer
+0x46b9 mem_ble_shutter_reconn_blink_on_time
+0x46bb mem_ble_shutter_reconn_blink_off_time
+0x46bd mem_ble_shutter_discovery_blink_on_time
+0x46bf mem_ble_shutter_discovery_blink_off_time
+0x46c1 mem_ble_shutter_interval_min
+0x46c3 mem_ble_shutter_interval_max
+0x46c5 mem_ble_shutter_latency
+0x46c7 mem_ble_shutter_timeout
+0x46c9 mem_ble_shutter_interval_min_new
+0x46cb mem_ble_shutter_interval_max_new
+0x46cd mem_ble_shutter_latency_new
+0x46cf mem_ble_shutter_timeout_new
+0x46d1 mem_classic_shutter_discovery_timeout
+0x46d3 mem_classic_shutter_connect_timeout
+0x46d5 mem_ble_shutter_discovery_timeout
+0x46d7 mem_ble_shutter_connect_timeout
+0x46d9 mem_shutter_sleep_timeout
+0x46db mem_shutter_sleep_timer
+0x46dd mem_shutter_hard_soft_switch_case
+0x46de mem_shutter_soft_switch_button_gpio
+0x46df mem_shutter_soft_switch_power_state
+0x46e0 mem_shutter_soft_switch_poweron_time
+0x46e1 mem_shutter_soft_switch_poweroff_time
+0x46e2 mem_shutter_soft_switch_poweron_callback_function
+0x46e4 mem_shutter_soft_switch_poweroff_callback_function
+0x46e6 mem_shutter_keyscan
+0x46e6 mem_shutter_key_num
+0x46e7 mem_cb_shutter_keycan
+0x46e9 mem_shutter_key_conf0
+0x46ea mem_shutter_key_conf1
+0x46eb mem_shutter_key_conf2
+0x46ec mem_shutter_key_conf3
+0x46ed mem_shutter_key_conf4
+0x46ee mem_shutter_key_conf5
+0x46ef mem_shutter_key_conf6
+0x46f0 mem_shutter_key_conf7
+0x46f1 mem_key0_press
+0x46f6 mem_key1_press
+0x46fb mem_key2_press
+0x4700 mem_key3_press
+0x4705 mem_key4_press
+0x470a mem_key5_press
+0x470f mem_key6_press
+0x4714 mem_key7_press
+0x4719 mem_key0_release
+0x471e mem_key1_release
+0x4723 mem_key2_release
+0x4728 mem_key3_release
+0x472d mem_key4_release
+0x4732 mem_key5_release
+0x4737 mem_key6_release
+0x473c mem_key7_release
+0x4741 mem_ble_data_buffer1
+0x4746 mem_ble_data_buffer2
+0x474b mem_ble_data_buffer3
+0x4750 mem_ble_data_buffer4
+0x4755 mem_ble_data_buffer5
+0x475a mem_ble_data_buffer6
+0x475f mem_ble_data_buffer7
+0x4764 mem_ble_data_buffer8
+0x4769 mem_ble_data_buffer9_58
+0x479b mem_classic_data_buffer
+0x47a0 mem_classic_data_buffer1
+0x47a5 mem_classic_data_buffer2
+0x47aa mem_classic_data_buffer3
+0x47af mem_classic_data_buffer4
+0x47b4 mem_classic_data_buffer5
+0x47b9 mem_classic_data_buffer6
+0x47be mem_classic_data_buffer7
+0x47c3 mem_classic_data_buffer8
+0x47c8 mem_classic_data_buffer9_58
+0x47fa mem_queue_each_size
+0x47fb mem_queue_length
+0x47fc mem_queue_curr_num
+0x47fd mem_queue_read_ptr
+0x47fe mem_queue_write_ptr
+0x47ff mem_queue_ele
+0x481f mem_shutter_nv_data
+0x48c9 mem_shutter_led_struct_app_led
+0x48c9 mem_shutter_led_struct_app_led_type
+0x48ca mem_shutter_led_struct_app_led_blink_count
+0x48cb mem_shutter_led_struct_app_led_gpio
+0x48cc mem_shutter_led_struct_app_led_on_time
+0x48ce mem_shutter_led_struct_app_led_off_time
+0x48d0 mem_shutter_led_struct_app_led_on_callback
+0x48d2 mem_shutter_led_struct_app_led_off_callback
+0x48d4 mem_shutter_power_off_led_style
+0x48d4 mem_shutter_power_off_led_style_type
+0x48d5 mem_shutter_power_off_led_style_blink_count
+0x48d6 mem_shutter_power_off_led_style_gpio
+0x48d7 mem_shutter_power_off_led_style_on_time
+0x48d9 mem_shutter_power_off_led_style_off_time
+0x48db mem_shutter_power_off_led_style_on_callback
+0x48dd mem_shutter_power_off_led_style_off_callback
+0x48df mem_shutter_soft_swtich_botton_down
+0x48e0 mem_shutter_soft_swtich_led_struct_temp
+0x48eb mem_shutter_power_off_timeout
+0x48ec mem_shutter_power_off_timer
+0x469a mem_24g_dongle_head_ptr
+
+	width = 32
+	const length = 12000
+
+	/* ========= memory ============== */
+0x0000 mem_le_adv_transmit
+0x0001 mem_le_adv_waitcnt
+0x0002 mem_le_adv_rcv
+0x0003 mem_le_req_rcv
+0x0004 mem_le_scanrsp_rcv
+0x0005 mem_le_conn_rcv
+0x0006 mem_inquiryscan_waitcnt
+0x0007 mem_inquiryscan_rcvcnt
+0x0008 mem_pagescan_waitcnt
+0x0009 mem_pagescan_rcvcnt
+0x000a mem_pagescan_rcvfhscnt
+0x000b mem_slave_rcvcnt
+0x000c mem_page_transmit
+0x000d mem_page_rcv
+0x000e mem_page_rcv_fhs
+0x000f mem_master_rcvcnt
+0x0010 mem_fhs_wait_counter
+0x0011 mem_newconnto_counter
+0x0012 mem_inquiry_transmit
+0x0013 mem_inquiry_rcv
+0x0014 mem_fw_ver
+0x0015 mem_current_context
+0x0016 mem_le_ch_mapped
+0x0017 mem_last_freq
+0x0018 mem_rssi
+0x0019 mem_rx_type
+0x001a mem_rx_hec_err
+0x001c mem_rx_crc_err
+0x001e mem_context_ptr
+0x0020 mem_display
+0x0028 mem_bcd
+0x0030 mem_state
+0x0031 mem_mode
+0x0032 mem_tsniff
+0x0034 mem_sniff_anchor
+0x0038 mem_clk_offset
+0x003e mem_rx_window
+0x0040 mem_plap
+0x0043 mem_puap
+0x0044 mem_pnap
+0x0046 mem_conn_handle
+0x0047 mem_arq
+0x0048 mem_lmp_to_send
+0x0049 mem_lmi_opcode
+0x004a mem_lmo_reason
+0x004b mem_op
+0x004c mem_state_map
+0x004d mem_supervision_timer
+0x0051 mem_supervision_to
+0x0053 mem_name_offset
+0x0054 mem_key_size
+0x0055 mem_conn_sm
+0x0056 mem_aco
+0x0062 mem_kc
+0x0072 mem_conn_timer
+0x0073 mem_sniff_attempt
+0x0074 mem_sniff_timeout
+0x0075 mem_dsniff
+0x0077 mem_amaddr
+0x0078 mem_lmo_opcode1
+0x0079 mem_lmi_opcode1
+0x007a mem_lmo_reason1
+0x007b mem_lmo_tid1
+0x007c mem_lmo_opcode2
+0x007d mem_lmi_opcode2
+0x007e mem_lmo_reason2
+0x007f mem_lmo_tid2
+0x0080 mem_hci_version
+0x0083 mem_acl_pktlen
+0x0085 mem_sco_pktlen
+0x0086 mem_acl_pktcnt
+0x0088 mem_sco_pktcnt
+0x008a mem_current_sniff_attempt
+0x008b mem_current_sniff_timeout
+0x008c mem_sniff_timeout_temp
+0x008d mem_nfreq_index_inq
+0x008e mem_nfreq_index_page
+0x008f mem_ninqy_index
+0x0090 mem_fhs_misc
+0x0091 mem_subsniff_instant
+0x0095 mem_subsniff_rate
+0x0096 mem_subsniff_tcmax
+0x0098 mem_subsniff_tsniff
+0x0099 mem_lpm_adjust
+0x009a mem_sync_clke
+0x00a0 mem_lpm_current_mult
+0x00a1 mem_gpio_wakeup_low
+0x00a5 mem_gpio_wakeup_high
+0x00a9 mem_air_mode
+0x00aa mem_sco_asso_handle
+0x00ab mem_sco_handle
+0x00ad mem_esco_desco
+0x00ae mem_esco_type
+0x00af mem_neogotiation_state
+0x00b0 mem_saved_amaddr
+0x00b1 mem_esco_arq
+0x00b2 mem_esco_saved_arq
+0x00b3 mem_sco_obuf
+0x00d1 mem_sco_ibuf
+0x00ef mem_sco_poll
+0x00f0 mem_npage_index
+0x00f1 mem_page_mode
+0x00f2 mem_page_clk
+0x00f6 mem_tst_pktcnt_sync
+0x00f8 mem_tst_pktcnt_hec
+0x00fa mem_tst_pktcnt_crc
+0x00fc mem_tst_pktcnt_dmh
+0x00fe mem_tmp_buffer_head
+0x0101 mem_tmp_buffer
+0x0151 mem_tester_emulate
+0x0152 mem_temp_payload
+0x0152 test_mode_scenario
+0x0153 test_mode_hopping_mode
+0x0154 test_mode_tx_freq
+0x0155 test_mode_rx_freq
+0x0156 test_mode_power_mode
+0x0157 test_mode_poll_period
+0x0158 test_mode_packet_type
+0x0159 test_mode_data_length
+0x015b mem_test_mode_old_debug_config
+0x015c mem_tester_cnt
+0x015d mem_temp_am_addr
+0x015e mem_temp_arq
+0x015f mem_len
+0x0161 mem_clkn_bt
+0x0165 mem_clke_bt
+0x0169 mem_dpll_clkn
+0x016d mem_connection_options
+0x016e mem_nameres_cnt
+0x016f mem_txptr
+0x0171 mem_slot_offset
+0x0173 extm_fhs_misc
+0x0174 extm_newconn_am_addr
+0x0175 extm_class
+0x0178 extm_lap
+0x017b extm_uap
+0x017c extm_nap
+0x017f mem_debug_config
+0x0180 mem_lch_code
+0x0181 mem_fhs_am_addr
+0x0182 mem_dpll_error
+0x0184 mem_select_list_item
+0x0185 mem_temp_reconn_record
+0x0185 mem_record_bt_mode
+0x0186 mem_temp_lap
+0x018c mem_list_item_ptr
+0x018e mem_eir
+
+
+
+(//bluetooth tx power
+0 TX_POWER_0DB
+1 TX_POWER_3DB
+2 TX_POWER_5DB
+3 TX_POWER_f3DB
+4 TX_POWER_f5DB
+
+0x20 TX_POWER_PAIR
+)
+
+
+0x3b17 rom_lpm_sleep
+0x59e0 rom_save_ucode
+
+0x4219 rom_mem_lpm_xtalcnt
+0x423b rom_mem_patch_ptr
+0x423d rom_mem_patch_len
+
+0x5b1a rom_otpd_read_data
+0x5ada rom_otp_write
+	/* context */
+(
+0x01 coffset_mode
+0x02 coffset_tsniff
+0x04 coffset_sniff_anchor
+0x08 coffset_clk_offset
+0x0e coffset_rx_window
+0x10 coffset_plap
+0x16 coffset_conn_handle
+0x17 coffset_arq
+	/* 3.0 only */
+0x18 coffset_lmp_to_send
+0x1b coffset_op
+0x1c coffset_state_map
+	/* le only */
+0x18 coffset_le_ch
+0x19 coffset_le_hop
+0x1a coffset_le_event_cnt
+
+80 context_size
+1 context_num
+)
+
+(
+0 lpm_flag_wake
+1 lpm_flag_loadcode
+)
+
+/* ========= parameters ============== */
+(
+0x0050 param_newconn_arq
+0x0007 param_esco_addr
+0x0010 param_conn_handle
+0x01f0 param_conn_handle_comp
+0x0020 param_newconnto
+0x0008 param_pagerespto
+0x0a00 param_snooze_setup_orig
+0x5353 param_snooze_ahead_orig
+0x00ff param_ninquiry
+0x2000 param_page_to
+0x0005 param_max_slot
+0x0010 param_sco_poll
+
+/* 6Mhz clock setting */
+/* 12Mhz clock setting */
+0x0e43 param_tx_setup
+0x09d0 param_rx_setup_earlier
+0x0600 param_rf_setup
+0x03bb param_clke_cal
+0x0600 param_conn_access 
+0x0800 param_conn_access_wider
+0x0500 param_pll_setup		// 120 is minimum
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+
+110 param_lpm_fix
+10 param_lpo_extra
+200 param_lpm_adjmax
+
+-1 param_hibernate_clks
+3000 param_chgpump_delay
+
+3 param_featrue_ssp
+0x0101 param_lmpext_ssp_enable
+339 param_acl_pktlen
+30   param_sco_pktlen
+1     param_acl_pktcnt		/*buffer acl pkt cnt*/
+7     param_sco_pktcnt
+
+
+0x8fffff param_features0
+0x9d83fe param_features1  // not support afh
+0x8359     param_features2
+0x000033 param_unap
+0x001177 param_lap
+0x9e8b33 param_glap
+0x002540 param_class//0x180208 //0x002580//402500//240404
+0x12e904 param_hci_version
+0x000a04 param_lmp_version//0x0a04
+0x000a06 param_lmp_version0
+0x12e9 param_lmp_subversion
+0x0012 param_tisw
+0x0012 param_tpsw
+0x1000 param_tisi
+0x0800 param_tpsi
+0x0020 param_page_window
+0x0020 param_inq_window
+0x1c80 param_supervision_to
+39 param_fcomp_div
+2 param_fcomp_mul
+6     param_name_len
+0x535442 param_name
+0x344950 param_name1
+
+
+)
+
+/* ======= packet types  ========= */
+(
+0x0      type_null    
+0x1      type_poll   
+0x2      type_fhs    
+0x3      type_dm1    
+0x4      type_dh1    
+0x5      type_hv1    
+0x6      type_hv2    
+0x7      type_hv3    
+0x8      type_3dh1     
+0x9      type_aux1   
+0xa      type_dm3    
+0xb      type_dh3    
+0xe      type_dm5    
+0xf      type_dh5    
+0x10     type_id
+0x11     type_shutdown
+0x13     type_lmp
+)
+
+/* ========== flag[6] =============== */
+(
+0        always        /* always 1 */
+1        true          /* set/rstn by verify,compare,icompare (true) */
+2        positive      /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output >= 0 */
+3        timeout       /* read only, the timeout from timers */
+5        zero          /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output == 0 */
+6        crc_failed    /* level, cleared by hop_start */
+7        enable_white  /* outside mux decide whether to load bt_clk or response_X */
+8        enable_parity /* level */
+9        enable_crc    /* level */
+10       enable_hec    /* level */
+11       decode_fec1   /* level */
+12       decode_fec2   /* level */
+13       decode_fec0   /* level */
+14       encrypt       /* level */
+15       crc16       /* for caculate ccitt crc16 */
+16       swfine	/* =0 stop_watch count based on oneslot =1 on 1 clock */
+20       rqst_freq    /* pulse, to start calculating frequency */
+21       recalc        /* pulse, to recalculate the fhs_parity */
+22       init_encrypt  /* pulse, issued to initialize encrption */
+23       mhalfbnd    /* half slot boundary of clke_rt, or when clke_bt[0] toggles */
+24       sync          /* sync found as a result of correlation,set/rstn by correlate opcode */
+25       user10    /* user10 */
+26       kc_p_activate  /* pulse to recalc the kc_p */
+27       encode_fec1   /* level */
+28       encode_fec2   /* level */
+29       encode_fec0   /* level */
+30       packet_end    /* pulse */
+32       is_tx         /* level */
+33       is_rx         /* level */
+34       halfslot     /* pulse, read only, when clkn_bt[0] toggles */
+35       oneslot      /* pulse, read only, when clkn_bt[1] toggles */
+36       mslotbnd     /* pulse, read only, when clke_bt[1] toggles */
+37       expire       /* level, read only, when selected clock source exceed timeup value */
+38       meet         /* level, read only, when selected clock source meet timeup value */
+39       tx_clear     /* level, read only, indicate tx pipe is cleared */
+40       user         /* user0 */
+41       master        /* user1 */
+42       slave2         /* user2 */
+43       wake           /* user3 */
+44       user2        /* user4 */
+45       match         /* user5 */
+46       attempt        /* user6 */
+47       user3          /* user7 */
+48       clknt         /* user8 */
+49	   user7 	/* user9 */
+50       synchronize   /* synchronize lpo and regular version of the clock */
+51       lpo_edge  /* read only, 3 clocks after risling edge of lpo clock */
+52       blank         /* C0 only, means pdata == 0 */
+53       modone          /* set divide operation is done */
+54       le		/* bluetooth 4.0 LE enable */
+55       aes_ready	/* set when aes is ok */
+63       never         /* read only, always 0 */
+)
+
+default flag = always
+
+/* ========== reg[6] =============== */
+(
+0        mark   /* for keeping strobes, more permanent */
+1        type   /* save and verify during rx */     /* rw */
+2        temp   /* general purpose register, 64 bits */
+3        contru  /* contr uart */
+4        am_addr      /* verify during rx, read and send during tx */ /* ro */
+5        contw        /* last mem_addr during write */
+6        contr        /* last mem_addr during read */
+7        queue    /* the index of qset*,qisolate* commands, ie, if queue = 3, qset/qisolate operate on bit3 */
+8        debug    /* can be wired out for observation */
+9        access   /* the 72 bit access word */
+10       contwu   /* contw uart */
+11       timeup        /* when does certain counter expire */
+12       pwindow       /* bit 71-61 of pdata; because on rx, bits shifts in from 71 down */
+13       fhs_parity    /* re-gernated based on bt_adr( {nap,uap,lap} ) when recalc flag is pulsed */
+14       white_init    /* init value of the whitening */
+15       crc24_init        /* init crc24 lfsr, 24 bits */
+16       interrupts    /* set interrupts, 40 bits */
+17       rega          /* general purpose register, 32 bits */
+18       regb          /* general purpose register, 32 bits */
+19       regc          /* general purpose register, 17 bits */
+20       regab         /* concat of {rega,regb}, thus 64 bits */
+21       radio_ctrl   /* radio i/f direct i/o ctrl, check following "radio_ctrl" section */
+21       ctrl_reg     /* 2023 and after */
+22       jtag_addr    /* load jtag address field, lsb */
+23       freq_index   /* 7 bit read only */
+24       jtag_data    /* wdata to and rdata from jtag */
+25       clkn              /* {clkn_bt, clkn_rt} */
+26       clke              /* {clke_bt, clke_rt} */
+27       stop_watch
+28       fhs_misc   /* SR, SP, pscan mode */
+29       fhs_class  /* class field in fhs */
+30       fhs0   /* read only, bit 0-71 of fhs word */
+31       fhs1   /* read only, bit 72-142 of fhs word */
+32       bt_adr /* r/w, the bt_addr to access gen and freq hopping, contain only lap and uap */
+33       bt_clk /* r/w, the bt_clk for freq hopping */
+34       clkn_bt  /* read only, native bluetooth clock, free running 3.2KHz  or controlled by RTHALFSLOT register */
+35       clkn_rt  /* read only, native realtime clock, free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+36       freq_mode
+/* wire even_train    = freq_mode[4];    // odd even train                            */
+/* wire conn_mode     = 3;    // connection                                           */
+/* wire iqpgscan_mode = 2;    // slave in inquiry and page (not response)             */
+/* wire iqpgresp_mode = 1;    // slave in inquriy and page (response only)            */
+/* wire inqypage_mode = 0;    // master in inquiry and page(response or not response) */
+37       xin   /* x parameter, read only */
+38       N_tx_slot /* the N factor in equations for Xi,Xp,Xprm,Xprs */
+39 	   auxcnt
+40       clke_bt  /* r/w,  external bluetooth clock , free running 3.2KHz or controlled by RTHALFSLOT register */
+41       clke_rt  /* r/w,  external realtime clock, , free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+43       host_mode         /* generic stuff for kick starts */
+44       lap
+45       uap
+46       nap         
+47       regext		/* r/w extended 12x32bit registers,  indexed by regext_index */
+48       alarm             /* r/w, lpo wake up time, this is also how lpo and current clock keep sync */
+49       lpo_time          /* read only, this is the value to be copied back to clkn/clke after wakeup */
+50       kc_ls             /* secret key,                71: 0 */
+51       kc_ms             /* secret key,               127:72 */
+52       g1l               /* encryption length                */
+53		mask3ff		/* for mask 0x3ff operation */
+54       aes_ctrl		
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+61         pc /* direct goto */
+62       null              /* to nowhere */
+63       pdata /* the shift register */
+)
+default reg = pdata
+
+/* regext_index */
+(
+0 regidx_data
+4 regidx_key
+8 regidx_xor
+12 regidx_result
+)
+/* ========== radio_ctrl========= */
+(
+0 TXGFSK
+1 PSK
+2 PSK3M
+3 RESET
+)
+/* assign BPWR = radio_ctrl[0]; */
+/* assign PARAMP = radio_ctrl[1]; */
+/* assign XTALPU = radio_ctrl[2]; */
+/* assign SYNTHPU = radio_ctrl[3]; */
+/* assign TXPU = radio_ctrl[4]; */
+/* assign RXPU = radio_ctrl[5]; */
+/* assign SLCTRL = radio_ctrl[6]; */
+/* assign XTALSEL_MUX_SEL = radio_ctrl[7] */
+
+
+/* =========== destination[4] ============== */
+(
+0 bucket
+1 rxf
+2 back
+3 mod
+)
+default dest = bucket
+
+/* =========== source[4] ============= */
+(
+1 txf
+3 demod
+)
+default source = 0
+
+
+/* ============== mark ============= *//*0 - 47 */
+(
+
+0  mark_fhs_eir  
+1  mark_rxbuf_inuse
+2  mark_tx_l2cap
+3  mark_switch_initiated
+4  mark_accept_switch
+5  mark_loopback
+7  mark_esco
+8  mark_esco_rxok
+9  mark_context
+10 mark_am_addr_broadcast
+11 mark_fhs_already_good
+12 mark_page_trainb
+13 mark_lpm_mult_enable
+14 mark_usb_flag
+15 mark_old_packet
+16 mark_longpacket
+17 mark_testmode
+18 mark_ar2
+19 mark_h5tx_rp
+20 mark_h5tx_crc	
+21 mark_h5tx_retransmit
+22 mark_h5rx_pstart
+23 mark_h5_sync
+24 mark_h5_reinit
+28 mark_inquiry_on
+29 mark_inquiry_state
+30 mark_inquiry_trainb
+31 mark_periodical_diac
+32 mark_all_diac
+33 mark_slave_in_rand_accepted
+34 mark_reconn_recieve_switch
+35 mark_isstr
+36 mark_loadcode
+37 mark_ext_patch
+38 mark_24g
+39 mark_24g_conext
+40 mark_eeprom_size
+// REVAB:max 35, REVC:max 63
+41 mark_ble_tx_md
+42 mark_ble_rx_md
+43 mark_otp_encrypt
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer 可扩展
+12  ui_led_blink1
+13 ui_led_blink2
+ 
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+5 wake_lock_uart_tx
+6 wake_lock_uart_rx
+7 wake_lock_button
+8 wake_lock_cmd
+9 wake_lock_app
+10 wake_lock_lmp_tx
+11 wake_lock_lmp_rx
+12 wake_lock_l2cap_tx
+13 wake_lock_l2cap_rx
+14 wake_lock_ipc_c512bt
+15 wake_lock_ipc_bt2c51
+
+)
+
+(
+0 bt_disabled
+1 ble_disabled
+2 module_disable
+
+)
+
+(
+0x33  REC_3_MODE
+0x34  REC_4_MODE
+0x35  REC_4_MODE_STATIC_ADDRESS
+0x36  REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS
+0x37  REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS
+)
+
+
+//sniff UART_TX UART_RX
+(
+6 UART_WAKEUP_TX
+7 UART_WAKEUP_RX
+)
+
+
+
+
+(
+//add
+0   offset_24g_rxbuf
+1   offset_24g_rxbuf_add1
+2   offset_24g_rxbuf_add2
+34  offset_24g_txbuf
+66  offset_24g_txpayload
+100 offset_24g_rxpayload
+102 offset_24g_rxpayload_add2
+132 offset_24g_rxdata_length
+133 offset_24g_pid
+134 offset_24g_datalen
+135 offset_24g_data_type
+136 offset_24g_txlen
+137 offset_24g_rx_window
+139 offset_24g_ensure
+140 offset_24g_txfail_cnt
+141 offset_24g_get_ack_fail
+142 offset_24g_tx_without_int
+143 offset_24g_retry
+144 offset_24g_ch
+145 offset_24g_current_ch_number
+146 offset_24g_paring_addr
+150 offset_24g_pairing_sm
+151 offset_24g_ch_map1
+155 offset_24g_ch_map2
+159 offset_24g_ch_map3
+163 offset_24g_ch_map4
+167 offset_24g_tx_btclk
+171 offset_24g_interval
+172 offset_24g_interval_min
+173 offset_24g_interval_max
+174 offset_24g_addr
+178 offset_24g_abort_pac
+179 offset_24g_sync_pac
+180 offset_24g_hop_pac
+181 offset_24g_check_dongle_times
+182 offset_24g_enter_hibernate
+190 offset_24g_device_addr
+194 offset_24g_pac_index
+195 offset_24g_no_ack
+196 offset_24g_sta_crc
+199 offset_24g_last_crc
+202 offset_24g_sta_pid
+203 offset_24g_last_pid
+204 offset_24g_max_retry
+205 offset_24g_mode
+206 offset_24g_rf_last_sta
+207 offset_24g_rf_hop_ch
+208 offset_24g_sync_cnt
+209 offset_24g_hop_pac_retry
+210 offset_24g_rf_work_stage
+211 offset_24g_hop_fastly_cnt
+212 offset_24g_short_sleep_timer
+216 offset_24g_cb_data
+218 offset_24g_cb_lpm_prepare
+220 offset_24g_cb_lpm_before
+222 offset_24g_cb_rxdata_type1
+224 offset_rssi_signal_index
+225 offset_rssi_signal_avg
+226 offset_rssi_signal_buf
+234 offset_rssi_noise_index
+235 offset_rssi_noise_avg
+236 offset_rssi_noise_buf
+244 offset_rssi_ctrl_threshold_down
+245 offset_rssi_noise_dg_index
+246 offset_rssi_noise_kb_index
+247 offset_rssi_noise_ms_index
+248 offset_rssi_noise_dg_avg
+249 offset_rssi_noise_kb_avg
+250 offset_rssi_noise_ms_avg
+251 offset_tx_power_temp
+252 offset_power_ctrl_packet_cnt
+253 offset_power_ctrl_ack_cnt
+254 offset_power_ctrl_level
+255 offset_power_ctrl_txpwr_level2
+//iadd
+256 offset_power_ctrl_txpwr_level1
+257 offset_power_ctrl_txpwr_level0
+258 offset_power_ctrl_threshold_up
+259 offset_power_ctrl_threshold_down
+260 offset_dongle_mode_init
+261 offset_dongle_work_mode
+262 offset_dongle_ms_bind_step
+263 offset_dongle_kb_bind_step
+264 offset_dongle_bind_device_status
+265 offset_24g_rxdata_temp
+267 offset_24g_rxdata_temp_add2
+268 offset_24g_rxdata_temp_add3
+269 offset_24g_rxdata_temp_add4
+299 offset_24g_rx_addr
+303 offset_24g_bind_payload
+304 offset_24g_bind_payload_add1
+305 offset_24g_bind_payload_add2
+309 offset_24g_rf_laststa
+310 offset_24g_hop_btclk
+314 offset_24g_hop_interval
+315 offset_24g_ackpayload_enable
+316 offset_24g_ackpayload
+348 offset_24g_mode_switch
+349 offset_24g_pair_mode
+350 offset_24g_nodata_timer_enable
+351 offset_24g_time_slice
+352 offset_24g_mouse_addr
+356 offset_24g_kb_addr
+360 offset_24g_kb_data_sta_data
+368 offset_24g_kb_data_last_data
+376 offset_24g_kb_multikey_sta_data
+379 offset_24g_kb_multikey_last_data
+382 offset_24g_kb_blank_data_enable
+383 offset_24g_kb_mul_blank_data_enable
+384 offset_24g_ms_blank_data_enable
+385 offset_24g_dg_last_ch
+386 offset_24g_dg_ch_number
+387 offset_24g_dg_config_ch_once
+388 offset_24g_kb_last_ch
+389 offset_24g_kb_ch_number
+390 offset_24g_kb_config_ch_once
+391 offset_24g_ms_last_ch
+392 offset_24g_ms_ch_number
+393 offset_24g_ms_config_ch_once
+394 offset_24g_pair_txpower
+395 offset_24g_auto_pair_switch
+)
+
+(
+1 NO_ACK_24G
+0 WITH_ACK_24G
+
+0 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+
+0x4e G24_PAIR_CH
+)
+
+(
+0 disable_24g
+1 tx_24g
+2 rx_24g
+
+0 bit_ack_24g
+)
+
+//mem_24g_interrupt
+(
+0 rx_dr
+1 rx_sync
+4 tx_ds
+5 tx_fail
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+
+
+//mem_24g_pairing_sm
+(
+0 STATE_24G_PAIRING_NULL
+1 STATE_24G_PAIRING_1
+2 STATE_24G_PAIRING_2
+3 STATE_24G_PAIRING_3
+0X11 STATE_24G_PAIRING_1_WAITING_ACK
+0X12 STATE_24G_PAIRING_2_WAITING_ACK
+0X13 STATE_24G_PAIRING_3_WAITING_ACK
+0XFF STATE_24G_PAIRING_SUCCESS
+)
+
+(
+0 DONGLE_WORK	   		//connect mode normal
+1 DONGLE_BIND			//code pair mode
+2 DONGLE_TEST			//test mode
+3 DONGLE_CODE			//PC_application
+4 DONGLE_PCBA			//PCBA_TEST
+5 DONGLE_DEBUG
+6 DONGLE_MODE_MAX
+7 DONGLE_SEARCH
+0 CLEAR_INIT
+)
+
+(
+0x01 DATATYPE_MOUSE	//mouse
+0x02 DATATYPE_KEYBOARD	//keyboard
+0xAA DATATYPE_BIND		//bind step 1
+0x55 DATATYPE_CONFIG	//bind step 2
+0x22 DATATYPE_OK	//bind step 3
+
+0x01 BIND_MOUSE
+0x02 BIND_KEYBOARD
+)
+
+(
+112 G24_DONGLE_ADDR
+)
+
+(
+0xa0 COMMAND_MODE     //BYTE 0
+0X81 COM_MODE_BIND	//BYTE 1
+0X82 COM_MODE_TEST	//BYTE 1
+)
+(
+0xa1 COMMAND_BIND		//BYTE 0
+0X01 COM_BIND_GET		//1
+0X84 COM_BIND_EXIT		//1
+0XA7 COM_READ_MODE	//1
+)
+(
+0xa2 COMMAND_TEST	//BYTE 0
+0X81 COM_TEST_SC		//	进入单载波
+0x82 COM_TEST_CD		// fcc测试
+0x83 COM_TEST_DAT		// 数据测试
+0X84 COM_TEST_LOW_CH  //低频点
+0X85 COM_TEST_MID_CH	//中频点
+0X86 COM_TEST_HIG_CH	//高频点
+0X87 COM_TEST_SW_HIG	//自动切换频点为高 1mhz
+0X88 COIM_TEST_SW_LOW	//自动切换频点为低 1mhz
+0X89 COM_TEST_SW_STOP	//停止自动切换频点
+0X8A COM_TEST_POW_5		//设置输出功率5dbm
+0X8B COM_TEST_POW_0		//0dbm
+0X8C COM_TEST_POW_N5		//-5dbm
+0X8D COM_TEST_POW_N10		//-10dbm
+0X8E COM_TEST_EXIT			//退出测试模式
+)
+(
+0xa6 COMMAND_CURRENT_PROJECT
+0xa7 COMMAND_CURRENT_MODE
+0xa9 COMMAND_CURRENT_FW_VERSION
+)
+
+//user defined cmd
+(
+0xb0 COMMAND_USER_DEFINED
+)
+
+(
+0x15 PRODUCT_ID
+0 FW_VERSION0
+0 FW_VERSION1
+1 FW_VERSION2
+)
+
+
+(
+8 TIMER_NODATA
+640 TIMER_NODATA_DELAY	//200ms
+
+11 TIMER_MS_BLANK
+320 TIMER_MS_BLANK_DELAY
+
+12 TIMER_KB_MUL_BLANK
+320 TIMER_KB_MUL_BLANK_DELAY
+
+14 TIMER_KB_BLANK
+320 TIMER_KB_BLANK_DELAY
+)
+
+(
+0 KB_NORMAL_REPORT_ID
+1 MS_REPORT_ID
+3 KB_MULTIKEY_REPORT_ID
+)
+
+(
+7 RSSI_BUF_LEN_SIGNAL
+255 RSSI_BUF_LEN_NOISE
+0x50 RSSI_THRESH_NOISE
+)
+(
+//power control
+0x01 TXPWR_0DB
+0x02 TXPWR_3DB
+0x04 TXPWR_5DB
+0x10 TXPWR_f5DB
+
+124 POWER_CTRL_MAX_PACKET_CNT
+
+2 POWER_CTRL_LOSSPAC_THRESH_UP0
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN0
+0x20 POWER_CTRL_RSSI_THRESH_DOWN0
+
+5 POWER_CTRL_LOSSPAC_THRESH_UP1
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN1
+0x60 POWER_CTRL_RSSI_THRESH_DOWN1
+
+10 POWER_CTRL_LOSSPAC_THRESH_UP2
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN2
+0x80 POWER_CTRL_RSSI_THRESH_DOWN2
+)
+
+
+
+
+
+
+0x01f2 mem_ucode_status
+0x01f3 mem_otp_ucode_flag
+0x01f5 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f6 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f6 mem_addr_hi
+0x01f7 mem_addr_mi
+0x01f8 mem_addr_lo
+0x01f9 mem_iicd_addr
+0x01fa mem_spid_rbuf
+0x01fe mem_ucode_buf
+0x0200 mem_ucode_len
+0x0202 mem_sched_addr
+0x0204 mem_ucode_ptr
+0x0206 mem_ucode_keybuf
+0x0216 mem_check_plap_temp
+0x0228 mem_reconnect_flag
+0x0229 mem_switch_fail_master_count
+0x022a mem_app_evt_timer_count
+
+//adc read
+(
+0 ADC_CONFIG_VINLPM
+1 ADC_CONFIG_HVIN
+2 ADC_CONFIG_GPIO
+)
+
+
+(
+0 QUEUE_OFFSET_EACH_SIZE
+1 QUEUE_OFFSET_LENGTH
+2 QUEUE_OFFSET_CURR_NUM
+3 QUEUE_OFFSET_READ_PTR
+4 QUEUE_OFFSET_WRITE_PTR
+5 QUEUE_OFFSET_ELE_INIT_ADDR
+)
+(
+//Flash Register
+0x05 FLASH_READ_SATUS
+
+// Flash Status Register
+0x00 FLASH_STATUS_WIP
+0X01 FLASH_STATUS_WEL
+0X02 FLASH_STATUS_BP0
+0X03 FLASH_STATUS_BP1
+
+//Flash Write Sm
+0X00 FLASH_SM_NO_BUYS
+0X01 FLASH_SM_START
+0X02 FLASH_SM_ERASE_SECTOR
+0X03 FLASH_SM_WAIT_ERASE_SECTOR
+0X04 FLASH_SM_WRITE_DATA
+0X05 FLASH_SM_WAIT_WRITE_DATA
+
+
+//Flash Command
+0x02 FLASH_COMMAND_WRITE_DATA
+0x03 FLASH_COMMAND_READ_DATA
+0x20 FLASH_COMMAND_SECTOR_ERASE
+)
+
+0x0000 otp_ucode_flag
+0x07f0 otp_ucode_aeskey
+
+/* adc data addr and flag */
+(
+0x07e0 OTP_CHIP_FUNCTIONS
+0x07e2 otp_adc_io_0_5V_addr
+0x07e4 otp_adc_hvin_1V_addr
+0x07e6 otp_adc_vinlpm_2V_addr
+0x07e8 otp_adc_io_1V_addr
+0x07ea otp_adc_hvin_5V_addr
+0x07ec otp_adc_vinlpm_3V_addr
+0x07ee otp_adc_flag_addr
+0xaa55 OTP_ADC_FLAG
+)
+
+/* data stored in eeprom */
+(
+0	eeprom_nv_ram
+
+195	eeprom_module_init_flag//2
+
+)
+
+/*mem_app_handshake_flag*/
+(
+0 APP_HANDSHAKE_NULL
+1 APP_HANDSHAKE_DONE
+
+)
+/*mem_device_option*/
+(
+1 dvc_op_hci
+4 dvc_op_dongle
+5 dvc_op_spp
+6 dvc_op_ukey
+7 dvc_op_ir
+
+9 dvc_op_shutter
+10 dvc_op_module
+11 dvc_op_ble_mouse
+12 dvc_op_ble_kb
+13 dvc_op_ble_prcp
+14 dvc_op_car
+15 dvc_op_AntiLost
+16 dvc_op_remote_car
+255 dvc_op_test
+//device option hight 4
+6 dvc_op_mouse
+7 dvc_op_keyboard
+//device option low 2
+(
+0 MODE_3_MOUSE
+1 MODE_4_MOUSE
+)
+)
+
+(
+3 twspi_sclk
+4 twspi_sdio
+)
+
+(
+4 pan_clk_bit
+5 pan_dat_bit
+6 pan_mov_bit
+)
+
+(
+7 otp_uflag_aes
+6 otp_uflag_skip_eep
+5 otp_uflag_skip_flash
+4 otp_uflag_hci
+)
+
+/* ir command */
+(
+1 ircmd_record
+2 ircmd_play
+3 ircmd_write_pulse
+4 ircmd_write_seq
+5 ircmd_write_next
+
+8 ircmd_test_play
+9 ircmd_test_rec
+
+10 ircmd_report_pulse
+11 ircmd_report_seq
+12 ircmd_report_raw
+
+20 ircmd_screen_on
+21 ircmd_screen_off
+)
+
+(
+7 gpio_active_bit
+)
+(
+2 HID_HANDSHAKE_TIMEOUT
+
+)
+
+(
+1 APP_FLAG_RECONNECT
+)
+(
+5 LPM_WAKE_UP_DELAY_TIMER
+)
+
+
+//mem_app_disconn_reason
+//mem_app_disconn_reason_flag
+//bit map
+(
+2 APP_DISC_RSN_SIZE
+)
+(
+0 APP_DISC_BY_BUTTON
+1 APP_DISC_AFTER_PAIRING
+2 APP_DISC_AFTER_RECONN
+3 APP_DISC_AFTER_SNIFF
+4 APP_DISC_AFTER_SETUP_DONE
+5 APP_DISC_AFTER_HANDSHAKE
+6 APP_DISC_BT
+7 APP_DISC_BLE
+8 APP_DISC_L2CAP_REFUSED
+9 APP_DISC_SWITCH_FAIL
+)
+//eeprom init flag
+(
+	0xaa55 EEPROM_INIT_FLAG
+)
+
+(
+1 KEY_CONF_STRUCT_LEN
+0 KEY_PIN_OFFSET
+)
+
+(
+12000000 PWM_12MHZ
+)
+(
+0 POWER_OFF
+1 POWER_STARTING
+2 POWER_STANDBY
+)
+//power parameter offset(8 byte)
+(
+0 power_state_offset
+1 power_timer_offset
+2 power_off_timeout_offset
+3 power_starting_timeout_offset
+4 power_off_cb_offset
+6 power_starting_cb_offset
+8 power_standby_cb_offset
+10 ui_butten_up_cb_offset
+)
+
+
+//app new specific
+(
+0 CONN_PARAM_UPDATA_PROCEDURE_NO_INIT
+1 CONN_PARAM_UPDATA_PROCEDURE_STARTING
+2 CONN_PARAM_UPDATA_PROCEDURE_COMPLETE
+3 CONN_PARAM_UPDATA_PROCEDURE_FAILD
+)
+(
+0 NEW_SPEC_HEADER_OFFSET
+2 NEW_SPEC_OPCODE_OFFSET
+3 NEW_SPEC_DLEGTH_OFFSET  //data length offset
+5 NEW_SPEC_DADDR_OFFSET   //data address offset
+)
+(
+1 OPCODE1_BUTTEN_CLICK_ONCE
+2 OPCODE2_BUTTEN_DOUBLE_CLICK
+3 OPCODE3_ANTL_START_ALRAM
+4 OPCODE4_CURRENT_ALARM_STATE
+5 OPCODE5_BATTER_INFORMATION
+7 OPCODE7_ANTL_CONFIG_ALRAM
+)
+(
+0x0a NEW_SPEC_NOTIFY_HANDLE
+0x0b NEW_SPEC_NOTIFICATION_ENABLE_HANDLE
+0x0d NEW_SPEC_WRITE_HANDLE
+)
+//app new specific end
+
+//mem_anti_lost_mode
+(
+0x01 ANTI_LE_ALARM_ON
+0x00 ANTI_LE_ALARM_OFF
+)
+(
+0 NOTIFICATION_ENABLE_BIT
+1 INDICATION_ENABLE_BIT
+)
+
+
+
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE_CAR
+)
+
+(
+0x14 ATT_CAR_CONTROL_HANDLE
+0x14 ATT_SPEED_SET_HANDLE
+)
+
+
+(
+0 TURN_FRONT
+1 TURN_LEFT
+2 TURN_RIGHT
+0 MOTOR_STOP
+1 GO_FRONT
+2 GO_BACK
+0x6b5a LE_RECEIVE_PACKET_HEAD
+)
+
+(
+0 FLAG_IR_DISABLE
+1 FLAG_IR_ENABLE
+)
+
+(
+0 DEVICE_CAR
+1 DEVICE_TANK
+2 DEVICE_BATTLE_CAR
+3 DEVICE_BATTLE_TANK
+4 DEVICE_REMOTE
+)
+
+(
+0 F_B_MOTOR
+1 L_R_MOTOR
+2 F_B_BATTERY
+3 L_R_BATTERY
+)
+
+
+
+(
+1 SPEED_LEVEL_1
+2 SPEED_LEVEL_2
+3 SPEED_LEVEL_3
+4 SPEED_LEVEL_4
+5 SPEED_LEVEL_5
+6 SPEED_LEVEL_6
+7 SPEED_LEVEL_7
+8 SPEED_LEVEL_8
+9 SPEED_LEVEL_9
+10 SPEED_LEVEL_10
+)
+
+(
+0 PWM0_DUTY_SETTING
+1 PWM1_DUTY_SETTING
+2 PWM2_DUTY_SETTING
+)
+
+(
+1 CAR_CMD_BATTERY
+2 CAR_CMD_OLD_CAR_CONTROL
+3 CAR_CMD_OLD_SPEED_CONTROL
+4 CAR_CMD_L_R_MOTOR_CONTROL
+5 CAR_CMD_F_B_MOTOR_CONTROL
+6 CAR_CMD_IR_CONTROL
+7 CAR_CMD_LED_CONTROL
+8 CAR_CMD_DEVICE_INFO
+)
+
+(
+0 CAR_REMOTE_CHECK_BUTTON
+1 CAR_REMOTE_CHECK_ROCKER
+)
+
+(
+0x11 CAR_NOTIFY_HANDLE
+)
+
+(
+0 LED_OFF
+1 LED_ON
+2 LED_BLINK
+0xFF LED_INVALID
+)
+
+(
+0xFF INVALID_PIN_NUM
+)
+
+
+(
+0 POWER_ON
+1 WORK_PAIRED
+2 WORK_SEARCH
+)
+
+
+
+(
+0 LIGHT_GROUP0
+)
+
+(
+0 LIGHT_CMD_PWM0
+1 LIGHT_CMD_PWM1
+2 LIGHT_CMD_PWM2
+3 LIGHT_CMD_PWM3
+4 LIGHT_CMD_PWM4
+5 LIGHT_CMD_PWM5
+6 LIGHT_CMD_AUTO_MODE
+0xff LIGHT_CMD_PAIRING
+
+)
+
+
+
+(//mem_module_flag
+//bit0~bit3 config module function
+0 MODULE_FLAG_UART_FLOW_CONTROL
+1 MODULE_FLAG_BLE_SEND_MTU23
+2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+//bit4~bit7 module states change
+4 MODULE_FLAG_BLE_DATA_FINISH
+5 MOUDLE_TASK_UNSNIFF
+6 MOUDLE_TASK_SNIFF
+
+)
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x26 HCI_CMD_SET_NVRAM_REQ
+0x27 HCI_CMD_SLEEP
+0x28 HCI_CMD_CONFIRM_GKEY
+0x29 HCI_CMD_SET_CREDIT_GIVEN
+0x2a HCI_CMD_AUTO_ADV_SCAN
+0x2b HCI_CMD_POWER_REQ
+0x2c HCI_CMD_POWER_SET
+0x30 HCI_CMD_PASSKEY_ENTRY
+0x31 HCI_CMD_SET_GPIO
+0x32 HCI_CMD_READ_GPIO
+0x33 HCI_CMD_LE_SET_PAIRING
+0x34 HCI_CMD_LE_SET_ADV_DATA
+0x35 HCI_CMD_LE_SET_SCAN_DATA
+0x36 HCI_CMD_LE_SEND_CONN_UPDATE_REQ
+0x37 HCI_CMD_LE_SET_ADV_PARM
+0x38 HCI_CMD_LE_START_PAIRING
+0x40 HCI_CMD_SET_WAKE_GPIO
+0x42 HCI_CMD_SET_TX_POWER
+0x43 HCI_CMD_BOOT_VERSION_REQ
+0x48 HCI_CMD_LE_CONFIRM_GKEY
+0x49 HCI_CMD_REJECT_JUSTWORK
+0x51 HCI_CMD_RESET_CHIP_REQ
+
+0x61 HCI_CMD_LE_SET_FIXED_PASSKEY
+
+0xff HCI_TEST_CMD_CLOSE_LPM
+)
+
+(//event
+0x00 HCI_EVENT_SPP_CONN_REP
+0x01 HCI_EVENT_HID_CONN_REP
+0x02 HCI_EVENT_LE_CONN_REP
+0x03 HCI_EVENT_SPP_DIS_REP
+0x04 HCI_EVENT_HID_DIS_REP
+0x05 HCI_EVENT_LE_DIS_REP
+0x06 HCI_EVENT_CMD_RES
+0x07 HCI_EVENT_SPP_DATA_REP
+0x08 HCI_EVENT_LE_DATA_REP
+0x09 HCI_EVENT_STANDBY_REP
+0x0a HCI_EVENT_STATUS_RES
+0x0b HCI_EVENT_FINISH_PACK_NUM
+0X0C HCI_EVENT_SNIFF_MD_CHANGE
+0x0D HCI_EVENT_NVRAM_REP
+0x0e HCI_EVENT_GKEY
+0x0F HCI_EVENT_INVALID_PACKET
+0x10 HCI_EVENT_GET_PASSKEY
+0x11 HCI_EVENT_LE_TK
+0x12 HCI_EVENT_REMOTE_MTU
+0x14 HCI_EVENT_LE_PAIRING_STATE
+0X15 HCI_EVENT_LE_ENCRYPTION_STATE
+0x17 HCI_EVENT_LE_CONNECTION_UPDATE
+0x1d HCI_EVENT_LE_GKEY
+
+)
+
+
+(//command HCI_CMD_SET_GPIO
+//byte 0
+0x00 HCI_CMD_CONFIG_GPIO_INPUT
+0x01 HCI_CMD_CONFIG_GPIO_OUTPUT
+//byte 1 input state
+0x00 GPIO_INPUT_PULLUP
+0x01 GPIO_INPUT_PULLDOWN
+0x02 GPIO_INPUT_HIGH_IMPEDANCE
+)
+
+
+
+(
+0x7e0 OTP_ADDR_RF_PARAM_FIX
+//struct of RF_PARAM_FIX
+// uint8       //length = param_pair_count * 2 
+// uint16     //param-pair-1
+// uint16     //param-pair-2
+// uint16     //param-pair-3
+// uint16     //param-pair-4
+// uint16     //param-pair-5
+// uint16     //param-pair-6
+// uint16     //param-pair-7
+)
+
+(
+0	PAIRING_PINCODE
+1	PAIRING_JUSTWORK
+2	PAIRING_PASSKEY
+3	PAIRING_CONFIRM
+)
+
+
+(
+0x0001	FLAG_BT_PAIRING_SUCCESS
+0x0101	FLAG_BT_PAIRING_FAIL
+0x0080	FLAG_BLE_PAIRING_SUCCESS
+0x0180	FLAG_BLE_PAIRING_FAIL
+)
+
+
+(
+1	FLAG_EVENT_START_ENC
+0	FLAG_EVENT_PAUSE_ENC
+)
+
+(
+	0 MOUDLE_STATE_BT_BIT
+	1 MOUDLE_STATE_BLE_BIT
+)
+
+
+0x022b mem_init_cnt
+//dpi eeprom addr
+
+
+(
+//SPI GPIO 
+0x19 MOUSE_SPI1_CLK_GPIO
+0x1A MOUSE_SPI1_SDIO_GPIO
+0X1E MOUSE_SPI2_CLK_GPIO
+0X1F MOUSE_SPI2_SDIO_GPIO
+//combination
+0x01 MOUSE_L_BUTTON
+0X02 MOUSE_R_BUTTON
+0X04 MOUSE_M_BUTTON
+0X06 MOUSE_RM_BUTTON
+0X07 MOUSE_LMR_BUTTON
+//mouse default gpio
+0x1B MOUSE_DEFAULT_XA_GPIO
+0x1C MOUSE_DEFAULT_XB_GPIO
+
+//ui led blink
+0X00C8  LED_RECONNECT_BLINK //200
+0X0190  LED_DPI_BLINK //400
+0X03E8  LED_DISCOVERY_BLINK    //1000
+0XFF    LED_LONG_BLINK
+0x05	LED_SENSOR_BLINK_CNT
+//bt mode device number
+0x01 MODE_BT_DEVICE1
+0x02 MODE_BT_DEVICE2
+0x03 MODE_BT_DEVICE3
+0x02 MODE_24G_DEVICE
+//mouse  flag
+0X00 WRITE_REQ_ENABLE_FLAG
+0X01 LL_START_ENC_FLAG
+0X02 LL_PAIRING_SUCCESS_FLAG
+
+
+//mouse_function_flag
+0X04 MOUSE_FLAG_LEN
+//1byte
+0X00 MOUSE_SELECT_DEVICE_FLAG
+0X01 MOUSE_CPI_FLAG
+0X02 MOUSE_BT_CANNEL_RECONN_FLAG
+0X03 MOSUE_24G_PAIRING_FLAG
+0X04 MOUSE_LOW_VOLTAGE_FLAG
+0X05 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+0X06 MOUSE_LONG_BT_BUTTON_FLAG
+0X07 MOUSE_STORE_EEPROM_FLAG
+0x08 MOUSE_STATUE_UP_FLAG
+
+//3byte
+0X10 MOUSE_ENABLE_USB
+0X11 MOUSE_ENABLE_24G
+0X12 MOUSE_ENABLE_SPI2
+0X13 MOUSE_ENABLE_FLASH
+0X14 MOUSE_ENABLE_EEPROM
+0X15 MOUSE_ENABLE_STATUE_UP_THREE_LED
+0X16 MOUSE_ENABLE_STATUE_UP
+0X17 MOUSE_ENABLE_DPI_LED_BLINK
+//4byte
+0X18 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+0X19 MOUSE_ENABLE_2K_EEPROM
+0X1A MOUSE_ENABLE_ADC
+0X1B MOUSE_ENABLE_INIT_DELAY
+0X1C MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+0X1D MOUSE_ENABLE_AUTO_24G_PARING
+0X1E MOUSE_ENABLE_WAKEUP_FROM_POWER
+0X1F MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+
+
+
+//mouse dpi level
+0x00 MOUSE_DPI_LEVEL1
+0x01 MOUSE_DPI_LEVEL2
+0x02 MOUSE_DPI_LEVEL3
+0x03 MOUSE_DPI_LEVEL4
+
+
+//mouse sensor angle
+0x00 MOUSE_6CLK_ANGLE
+0X01 MOUSE_9CLK_ANGLE
+0X02 MOUSE_12CLK_ANGLE
+0X03 MOUSE_3CLK_ANGLE
+
+
+//mem_config_function_enable
+0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+1 ENABLE_MODE_LED
+2 ENABLE_LOW_VOLTAGE_LED
+3 ENABLE_DEVICE_LED
+4 ENABLE_BT_BUTTON
+5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+6 ENABLE_SELECT_DEVICE_BY_SWITCH
+
+0xFF GPIO_DISABLE
+
+
+//DPI button state 
+0x00 DPI_BUTTON_STATE_DOWN
+0x01 DPI_BUTTON_STATE_UP
+
+
+//eeprom address offect
+0X00 MOUSE_INFO_EEPROM_OFFECT
+0X5A MOUSE_DPI_EEPROM_OFFECT
+0X5B MOUSE_G24_ADDR_EEPROM_OFFECT
+
+// Sensor id number
+0x30 P32XX_ID1
+0x31 P3065_ID1
+0x3E P3610_ID1
+0x02 P3212_ID2
+0xD1 P3205_TJ3T_ID2
+0XD2 P3204_TJ3L_ID2
+0x54 PKA8_ID2
+0x70 P3065_XY_ID2
+
+
+//Sensor type
+0X00 P3205
+0X01 P3065
+0X02 KA8
+0X03 P3204
+0X04 P3212
+0X05 P3610
+0X06 P3065_XY
+
+
+//p3610 smart enable flag
+0X00 P3610_SMART_ENABLE
+0X01 P3610_SMART_DISABLE
+
+
+//SENSOR REG
+0x00 PAN_REG_PID_L
+0x01 PAN_REG_PID_H
+0x02 PAN_REG_MOTION_STAUS
+0x03 PAN_REG_DELTA_X
+0x04 PAN_REG_DELTA_Y
+0x05 PAN_REG_OPRATION_MODE
+0x06 PAN_REG_CONFIG
+0x07 PAN_REG_IMAGE_QUALITY
+0x08 PAN_REG_OPRATION_STATE
+0x09 PAN_REG_WRITE_PROTECT
+0x0A PAN_REG_SLEEP_1
+0x0B PAN_REG_ENTER_TIME
+0x0C PAN_REG_SLEEP_2
+0x0D PAN_REG_IMAGE_THRESHOLD
+0x0E PAN_REG_IMAGE_RECGNITION
+
+
+0x06 MOUSE_DPI_ADDRESS
+0x05 MOUSE_P3610_DPI_ADDRESS
+0x0D MOUSE_P3212_DPI_XADDRESS
+0x0E MOUSE_P3212_DPI_YADDRESS
+
+
+0x06 MOUSE_FPGA_RF_WORK_DEBUG_GPIO
+0x02 MOUSE_FPGA_DEBUG_GPIO
+
+)
+
+
+
+
+
+(
+// eeprom config
+0xb0 REMOTE_PARAM_EEPROM_CONFIG_ADDR
+
+)
+
+
+(
+0x00 CONTROL_F_B_MOTOR
+0x02 CONTROL_L_R_MOTOR
+)
+
+(
+0x00 KEY_MAP_TEN
+0x01 KEY_MAP_LR
+)
+
+(
+0x00 CONTROL_F_B_TEN
+0x02 CONTROL_L_R_TEN
+0x03 CONTROL_L_R_LR
+)
+
+(
+0 KEY_CHECK
+1 ROCKER_CHECK
+)
+
+(
+1 MOTOR_POSITIVE
+2 MOTOR_NEGATIVE
+)
+
+(
+0 ROCKER_MIDDLE_KEY
+1 ROCKER_POSITIVE_KEY
+2 ROCKER_NEGATIVE_KEY
+)
+
+
+
+
+
+
+
+
+(
+0 BLE_SHUTTER
+1 CLASSIC_SHUTTER
+)
+
+(
+0x0000 NVRAM_EEPROM_OFFSET
+)
+
+(
+0x1b3a SHUTTER_EEPROM_CONFIG_CRC
+)
+
+(
+5 MAX_QUEUE_NUM
+5 SHUTTER_BLE_DATA_BUFFER
+5 SHUTTER_CLASSIC_DATA_BUFFER
+)
+
+
+(
+0x13	GATT_CONSUMER_NOTIFY_HANDLE
+0x14	GATT_CONSUMER_WRITE_HANDLE
+0x17	GATT_KEYBOARD_NOTIFY_HANDLE
+0x18	GATT_KEYBOARD_WRITE_HANDLE
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE
+//100ms
+0x00a0	SLOW_ADV_INTERVAL_VALUE
+)
+
+
+(
+0 ATT_BIT_NOTIFICATION
+1 ATT_BIT_INDICATION
+)
+///////////////////////////////////////////////////////////////////////////////////////
+
+(
+0 HARD_SWITCH
+1 SOFT_SWITCH
+)
+
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(//Data Rom Buffer Addr
+382		BLE_GATT_LIST_SIZE
+487		BT_SDP_LIST_SIZE
+40		BLE_KEY_VALUE_LIST_SIZE
+40		BT_KEY_VALUE_LIST_SIZE
+0x913A	BLE_SHUTTER_GATT_LIST
+0x92B8	CLASSIC_SHUTTER_SDP_LIST
+0x949F	BLE_SHUTTER_KEY_VALUE_LIST
+0x94C7	CLASSIC_SHUTTER_KEY_VALUE_LIST
+)
+
+
+(//soft switch power state
+0		SS_STATE_POWER_UP
+1		SS_STATE_POWER_ON
+2		SS_STATE_POWER_OFF
+)
+
+(
+0		SS_POWER_STATE_OFFSET
+1		SS_POWER_ON_TIME
+2		SS_POWER_OFF_TIME
+3		SS_POWER_ON_CB
+5		SS_POWER_OFF_CB
+
+)
+
+(
+
+0x4FFE SIM_IIC_SCL_GPIO_NUM
+0x4FFF SIM_IIC_SDA_GPIO_NUM
+
+)
+
+
+
+
+
+//class type
+(
+0x00 STANDARD_REQ
+0x01 CLASS_REQ
+0x02 MANUFACTURER_REQ
+)
+//Standard Request Codes
+(
+0x00 GET_STATUS                // Code for Get Status
+0x01 CLEAR_FEATURE             // Code for Clear Feature
+0x03 SET_FEATURE              // Code for Set Feature
+0x05 SET_ADDRESS              // Code for Set Address
+0x06 GET_DESCRIPTOR           // Code for Get Descriptor
+0x07 SET_DESCRIPTOR           // Code for Set Descriptor(not used)
+0x08 GET_CONFIGURATION        // Code for Get Configuration
+0x09 SET_CONFIGURATION        // Code for Set Configuration
+0x0A GET_INTERFACE            // Code for Get Interface
+0x0B SET_INTERFACE            // Code for Set Interface
+0x0C SYNCH_FRAME              // Code for Synch Frame(not used)
+)
+//Standard Descriptor Types
+(
+0x01 DSC_DEVICE               // Device Descriptor
+0x02 DSC_CONFIG               // Configuration Descriptor
+0x03 DSC_STRING               // String Descriptor
+0x04 DSC_INTERFACE            // Interface Descriptor
+0x05 DSC_ENDPOINT             // Endpoint Descriptor
+)
+//HID Descriptor Types
+(
+0x21 DSC_HID			      // HID Class Descriptor
+0x22 DSC_HID_REPORT			  // HID Report Descriptor
+)
+//Define bmRequestType bitmaps
+(
+0x80 IN_DEVICE                // Request made to device,
+                              // direction is IN
+0x00 OUT_DEVICE               // Request made to device,
+                              // direction is OUT
+0x81 IN_INTERFACE             // Request made to interface,
+                              // direction is IN
+0x01 OUT_INTERFACE            // Request made to interface,
+                              // direction is OUT
+0x82 IN_ENDPOINT              // Request made to endpoint,
+                              // direction is IN
+0x02 OUT_ENDPOINT             // Request made to endpoint,
+)
+//HID Request Codes
+(
+0x01 GET_REPORT 		       // Code for Get Report
+0x02 GET_IDLE				   // Code for Get Idle
+0x03 GET_PROTOCOL			   // Code for Get Protocol
+0x09 SET_REPORT				   // Code for Set Report
+0x0A SET_IDLE				   // Code for Set Idle
+0x0B SET_PROTOCOL			   // Code for Set Protocol
+0xF2 HID_REPORT_ID           
+64 EP0_PACKET_SIZE         
+6 EP1_PACKET_SIZE         
+16 HID_REPORT_SIZE         
+0x001B HID_REPORT_DESCRIPTOR_SIZE    
+)
+//math cordic
+(
+0 TYPE_SIN		
+1 TYPE_ATAN	
+2 TYPE_MULT	
+3 TYPE_DIV		
+4 TYPE_ASIN	
+5 TYPE_SQRT	
+6 TYPE_COS		
+7 TYPE_TAN		 
+)
+   
+(
+0 DFIFO0_IN_EMPTY
+1 DFIFO1_IN_EMPTY
+2 DFIFO2_IN_EMPTY
+3 DFIFO3_IN_EMPTY
+4 DFIFO0_OUT_EMPTY
+5 DFIFO1_OUT_EMPTY
+6 DFIFO2_OUT_EMPTY
+7 DFIFO3_OUT_EMPTY
+)
+
+(
+4 USB_STATUS_SETUP
+6 USB_STATUS_NAK
+)
+
+(
+1 USB_GOT_REPORT_REQ
+2 USB_CONNECTED
+3 USB_SLEEP
+4 USB_RESUME
+5 USB_SETIDLE_1
+)
+
+(
+0x10 USB_EP1_KB
+0x20 USB_EP2_MS
+0x21 USB_EP2_MULTIKEY
+0x01 MAC_BOOT_MODE
+0x02 R_KEY
+0x03 LR_KEY
+)
+
+(
+0x8ffa	HID_KBDATA_ADDR
+0x903a	HID_MSDATA_ADDR
+0x90fe	HID_CONFDATA_ADDR
+)
+
+
+(
+0x01ba PC_GET_REPORT
+0x02ba PC_SET_REPORT
+0x0200 PC_SET_REPORT_bValue
+0x0000 PC_SET_REPORT_wIndex
+0x0001 PC_SET_REPORT_bLength
+0xba PC_REPORT_ID
+
+0x01 PC_GET_DATA
+0x00 PC_GET_NONDATA
+)
+
+(
+//--------------------------------------------------
+// Define device states
+0x00 DEV_ATTACHED	// Device is in Attached State
+0x01 DEV_POWERED	// Device is in Powered State
+0x02 DEV_DEFAULT		// Device is in Default State
+0x03 DEV_ADDRESS	// Device is in Addressed State
+0x04 DEV_CONFIGURED	// Device is in Configured State
+0x05 DEV_SUSPENDED	// Device is in Suspended State
+)
+
+(
+// Define wIndex bitmaps
+0x81 IN_EP1                    // Index values used by Set and Clear
+0x01 OUT_EP1                   // commands for Endpoint_Halt
+0x82 IN_EP2              
+0x02 OUT_EP2             
+0x83 IN_EP3              
+0x03 OUT_EP3             
+)
+
+(
+0 EP0_STALL
+1 EP1_IN_STALL
+2 EP1_OUT_STALL
+3 EP2_IN_STALL
+4 EP2_OUT_STALL
+5 EP3_IN_STALL
+6 EP3_OUT_STALL
+)
+
+(
+// Define wValue bitmaps for Standard Feature Selectors
+0x00 ENDPOINT_HALT             // Endpoint_Halt feature selector
+0x01 DEVICE_REMOTE_WAKEUP      // Remote wakeup feature(not used)
+0x00 BOOT_PROTOCOL
+0x01 REPORT_PROTOCOL
+0x01 USB_MAX_NUM_CFG
+)
+
+(
+0 TIMER_NAK
+640 TIMER_NAK_DELAY
+15 TIMER_WAKEUP
+5000 TIMER_WAKEUP_DELAY
+)
+
+
+
+0x022d mem_h5rx_ackcnt
+0x022e mem_check_err_acl_cont
+0x022f mem_rp_packets
+0x0230 mem_packet_type
+0x0232 mem_hci_sniff_conn_handle
+0x0234 mem_hci_sniff_max_interval
+0x0236 mem_hci_sniff_min_interval
+0x0238 mem_hci_sniff_attempt
+0x023a mem_hci_sniff_timeout
+0x023c mem_voice_setting
+0x023e mem_retransmission_effort
+0x023f mem_sco_ptype
+0x0241 mem_extm_uap_restore
+0x0244 mem_h5rx_rptr
+0x0246 mem_h5rx_ack
+0x0247 mem_h5tx_ack
+0x0248 mem_h5tx_rptr
+0x024a mem_h5tx_wptr
+0x024c mem_h5tx_free
+0x024e mem_h5rx_tmp
+0x024f mem_h5tx_seq
+0x0250 mem_hci_acl_queue_wptr
+0x0252 mem_hci_acl_queue_rptr
+0x0254 mem_hci_acl_queue_end
+0x0256 mem_hci_acl_queue_wcnt
+0x0257 mem_hci_acl_cnt
+0x0258 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x025a mem_hci_curr_len
+0x025b mem_hci_curr_target
+
+
+15 hci_flag_rp
+//mem_hci_options bit map
+(
+1 hci_option_h4
+2 hci_option_protocol2
+3 hci_option_protocol3
+4 hci_option_uart
+5 hci_option_usb
+6 hci_option_phy2
+7 hci_option_phy3
+)
+// UART baud rate @6MHz
+(
+0 uart_ctrl_bit_enable
+3 uart_ctrl_bit_slip_protocol
+
+)
+
+//bit map of core_uart_ctrl
+(
+
+)
+//bit map of core_uart_status
+(
+0 uart_status_tx_fifo_full
+1 uart_status_tx_fifo_empty
+2 uart_status_tx_busy
+3 uart_status_rx_fifo_empty
+
+)
+//HCI H4 LOG related
+(
+0x4850 mem_hci_log
+8 hci_log_size
+100 hci_log_cnt
+
+)
+//HCI H4 Packet TYPE
+(
+0x01 HCI_H4_TYPE_CMD
+0x02 HCI_H4_TYPE_ACL
+0x04 HCI_H4_TYPE_EVENT
+
+)
+// HCI command opcode group field values
+(
+0x01 HCI_OGF_LINK_CONTROL
+0x02 HCI_OGF_LINK_POLICY
+0x03 HCI_OGF_BASEBAND
+0x04 HCI_OGF_INFO
+0x05 HCI_OGF_STATUS
+0x06 HCI_OGF_TEST
+0x08 HCI_OGF_LOW_ENERGY
+0x3e HCI_OGF_LOGO_TESTING
+0x3f HCI_OGF_VENDOR_SPECIFIC
+)
+
+// HCI link control opcode command field values, OGF=1
+(
+0x01 HCI_INQUIRY 
+0x02 HCI_INQUIRY_CANCEL 
+0x03 HCI_PERIODIC_INQUIRY_MODE 
+0x04 HCI_EXIT_PERIODIC_INQUIRY_MODE 
+0x05 HCI_CREATE_CONNECTION 
+0x06 HCI_DISCONNECT 
+0x07 HCI_ADD_SCO_CONNECTION 
+0x08 HCI_CREATE_CONNECTION_CANCEL
+0x09 HCI_ACCEPT_CONNECTION 
+0x0A HCI_REJECT_CONNECTION 
+0x0B HCI_LINK_KEY_REQUEST_REPLY 
+0x0C HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY 
+0x0D HCI_PIN_CODE_REQUEST_REPLY 
+0x0E HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY 
+0x0F HCI_CHANGE_CONNECTION_PACKET_TYPE 
+0x11 HCI_AUTHENTICATION_REQUESTED 
+0x13 HCI_SET_CONNECTION_ENCRYPTION 
+0x15 HCI_CHANGE_CONNECTION_LINK_KEY 
+0x17 HCI_MASTER_LINK_KEY 
+0x19 HCI_REMOTE_NAME_REQUEST 
+0x1A HCI_REMOTE_NAME_REQUEST_CANCEL
+0x1B HCI_READ_REMOTE_SUPPORTED_FEATURES 
+0x1C HCI_READ_REMOTE_EXT_FEATURES 
+0x1D HCI_READ_REMOTE_VERSION_INFORMATION 
+0x1F HCI_READ_CLOCK_OFFSET 
+0x20 HCI_READ_LMP_HANDLE
+0x28 HCI_SETUP_SCO_CONNECTION
+0x29 HCI_ACCEPT_SCO_CONNECTION
+0x2A HCI_REJECT_SCO_CONNECTION
+0x2B HCI_IO_CAP_REQUEST_REPLY
+0x2C HCI_USER_CONFIRMATION_REQUEST_REPLY
+0x2D HCI_USER_CONFIRMATION_REQUEST_NEGATIVE_REPLY
+0x2E HCI_USER_PASSKEY_REQUEST_REPLY
+0x2F HCI_USER_PASSKEY_REQUEST_NEGATIVE_REPLY
+0x30 HCI_REMOTE_OOB_DATA_REQUEST_REPLY
+0x33 HCI_REMOTE_OOB_DATA_REQUEST_NEGATIVE_REPLY
+0x34 HCI_IO_CAPABILITY_REQUEST_NEGATIVE_REPLY
+0x35 HCI_CREATE_PHYSICAL_LINK
+0x36 HCI_ACCEPT_PHYSICAL_LINK
+0x37 HCI_DISCONNECT_PHYSICAL_LINK
+0x38 HCI_CREATE_LOGICAL_LINK
+0x39 HCI_ACCEPT_LOGICAL_LINK
+0x3A HCI_DISCONNECT_LOGICAL_LINK
+0x3B HCI_LOGICAL_LINK_CANCEL
+0x3C HCI_FLOW_SPEC_MODIFY
+0x3D HCI_ENHANCED_SETUP_SYNCHRONOUS_CONNECTION
+0x3E HCI_ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST
+0x3F HCI_TRUNCATED_PAGE
+0x40 HCI_TRUNCATED_PAGE_CANCEL
+0x41 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST
+0x42 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x43 HCI_START_SYNCHRONIZATION_TRAIN
+0x44 HCI_RECEIVE_SYNCHRONIZATION_TRAIN
+0x45 HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY
+)
+
+
+// HCI link policy commands OCF value, OGF=2
+(
+0x01 HCI_HOLD_MODE 
+0x03 HCI_SNIFF_MODE 
+0x04 HCI_EXIT_SNIFF_MODE 
+0x05 HCI_PARK_MODE 
+0x06 HCI_EXIT_PARK_MODE 
+0x07 HCI_QOS_SETUP 
+0x09 HCI_ROLE_DISCOVERY 
+0x0B HCI_SWITCH_ROLE 
+0x0C HCI_READ_LINK_POLICY_SETTINGS 
+0x0D HCI_WRITE_LINK_POLICY_SETTINGS 
+0x0e HCI_READ_DEFAULT_LINK_POLICY_SETTINGS
+0x0f HCI_WRITE_DEFAULT_LINK_POLICY_SETTINGS
+0x10 HCI_FLOW_SPECIFICATION
+0x11 HCI_SNIFF_SUBRATING
+)
+
+// HCI host controller and baseband commands OCF values, OGF=3
+(
+0x01 HCI_SET_EVENT_MASK 
+0x03 HCI_RESET 
+0x05 HCI_SET_EVENT_FILTER 
+0x08 HCI_FLUSH 
+0x09 HCI_READ_PIN_TYPE 
+0x0A HCI_WRITE_PIN_TYPE 
+0x0B HCI_CREATE_NEW_UNIT_KEY 
+0x0D HCI_READ_STORED_LINK_KEY 
+0x11 HCI_WRITE_STORED_LINK_KEY 
+0x12 HCI_DELETE_STORED_LINK_KEY 
+0x13 HCI_WRITE_LOCAL_NAME 
+0x14 HCI_READ_LOCAL_NAME 
+0x15 HCI_READ_CONN_ACCEPT_TIMEOUT 
+0x16 HCI_WRITE_CONN_ACCEPT_TIMEOUT 
+0x17 HCI_READ_PAGE_TIMEOUT 
+0x18 HCI_WRITE_PAGE_TIMEOUT 
+0x19 HCI_READ_SCAN_ENABLE 
+0x1A HCI_WRITE_SCAN_ENABLE 
+0x1B HCI_READ_PAGE_SCAN_ACTIVITY 
+0x1C HCI_WRITE_PAGE_SCAN_ACTIVITY 
+0x1D HCI_READ_INQUIRY_SCAN_ACTIVITY 
+0x1E HCI_WRITE_INQUIRY_SCAN_ACTIVITY 
+0x1F HCI_READ_AUTHENTICATION_ENABLE 
+0x20 HCI_WRITE_AUTHENTICATION_ENABLE 
+0x21 HCI_READ_ENCRYPTION_MODE 
+0x22 HCI_WRITE_ENCRYPTION_MODE 
+0x23 HCI_READ_CLASS_OF_DEVICE 
+0x24 HCI_WRITE_CLASS_OF_DEVICE 
+0x25 HCI_READ_VOICE_SETTING 
+0x26 HCI_WRITE_VOICE_SETTING 
+0x27 HCI_READ_AUTOMATIC_FLUSH_TIMEOUT 
+0x28 HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT 
+0x29 HCI_READ_NUM_BROADCAST_RETRANSMISSIONS 
+0x2A HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS 
+0x2B HCI_READ_HOLD_MODE_ACTIVITY 
+0x2C HCI_WRITE_HOLD_MODE_ACTIVITY 
+0x2D HCI_READ_TRANSMIT_POWER_LEVEL 
+0x2E HCI_READ_SCO_FLOW_CONTROL_ENABLE 
+0x2F HCI_WRITE_SCO_FLOW_CONTROL_ENABLE 
+0x31 HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 
+0x33 HCI_HOST_BUFFER_SIZE 
+0x35 HCI_HOST_NUM_COMPLETED_PACKETS 
+0x36 HCI_READ_LINK_SUPERVISION_TIMEOUT 
+0x37 HCI_WRITE_LINK_SUPERVISION_TIMEOUT 
+0x38 HCI_READ_NUMBER_OF_SUPPORTED_IAC 
+0x39 HCI_READ_CURRENT_IAC_LAP 
+0x3A HCI_WRITE_CURRENT_IAC_LAP 
+0x3B HCI_READ_PAGE_SCAN_PERIOD_MODE 
+0x3C HCI_WRITE_PAGE_SCAN_PERIOD_MODE 
+0x3D HCI_READ_PAGE_SCAN_MODE 
+0x3E HCI_WRITE_PAGE_SCAN_MODE 
+0x3F HCI_SET_AFH_CHANNEL_CLASSIFICATION 
+
+
+0x42 HCI_READ_INQUIRY_SCAN_TYPE 
+0x43 HCI_WRITE_INQUIRY_SCAN_TYPE 
+0x44 HCI_READ_INQUIRY_MODE 
+0x45 HCI_WRITE_INQUIRY_MODE 
+0x46 HCI_READ_PAGE_SCAN_TYPE 
+0x47 HCI_WRITE_PAGE_SCAN_TYPE 
+
+0x48 HCI_READ_AFH_CHANNEL_ACCESSMENT_MODE 
+0x49 HCI_WRITE_AFH_CHANNEL_ACCESSMENT_MODE 
+0x51 HCI_READ_EXTENDED_INQUIRY_RESPONSE
+0x52 HCI_WRITE_EXTENDED_INQUIRY_RESPONSE
+0x53 HCI_REFRESH_ENCRYPTION_KEY
+0x55 HCI_READ_SIMPLE_PAIRING_MODE
+0x56 HCI_WRITE_SIMPLE_PAIRING_MODE
+0x57 HCI_READ_LOCAL_OOB_DATA
+0x58 HCI_READ_INQUIRY_RESPONSE_TRANSMIT_POWER_LEVEL
+0x59 HCI_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL
+0x60 HCI_SEND_KEYPRESS_NOTIFICATION
+0x5A HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5B HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5F HCI_ENHANCED_FLUSH
+0x61 HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x62 HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x63 HCI_SET_EVENT_MASK_PAGE_2
+0x64 HCI_READ_LOCATION_DATA
+0x65 HCI_WRITE_LOCATION_DATA
+0x66 HCI_READ_FLOW_CONTROL_MODE
+0x67 HCI_WRITE_FLOW_CONTROL_MODE
+0x68 HCI_READ_ENHANCE_TRANSMIT_POWER_LEVEL
+0x69 HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT
+0x6A HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT
+0x6B HCI_SHORT_RANGE_MODE
+0x6C HCI_READ_LE_HOST_SUPPORT
+0x6D HCI_WRITE_LE_HOST_SUPPORT
+0x6E HCI_SET_MWS_CHANNEL_PARAMETERS
+0x6F HCI_SET_EXTERNAL_FRAME_CONFIGURATION
+0x70 HCI_SET_MWS_SIGNALING
+0x71 HCI_SET_MWS_TRANSPORT_LAYER
+0x72 HCI_SET_MWS_SCAN_FREQUENCY_TABLE
+0x73 HCI_SET_MWS_PATTERN_CONFIGURATION
+0x74 HCI_SET_RESERVED_LT_ADDR
+0x75 HCI_DELETE_RESERVED_LT_ADDR
+0x76 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_DATA
+0x77 HCI_READ_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x78 HCI_WRITE_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x79 HCI_READ_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7A HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7B HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7C HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7D HCI_READ_LOCAL_OOB_EXTENDED_DATA
+0x7E HCI_READ_EXTENDED_PAGE_TIMEOUT
+0x7F HCI_WRITE_EXTENDED_PAGE_TIMEOUT
+0x80 HCI_READ_EXTENDED_INQUIRY_LENGTH
+0x81 HCI_WRITE_EXTENDED_INQUIRY_LENGTH
+)
+
+
+// HCI informational parameters OCF values, OGF=4
+(
+0x01 HCI_READ_LOCAL_VERSION_INFORMATION 
+0x02 HCI_READ_LOCAL_SUPPORTED_COMMANDS
+0x03 HCI_READ_LOCAL_SUPPORTED_FEATURES 
+0x04 HCI_READ_LOCAL_EXT_FEATURES 
+0x05 HCI_READ_BUFFER_SIZE 
+0x07 HCI_READ_COUNTRY_CODE 
+0x09 HCI_READ_BD_ADDR 
+0x0A HCI_REJECT_CONNECTION_REQUEST
+0x0B HCI_READ_LOCAL_SUPPORTED_CODECS
+)
+
+// HCI status parameters OCF values, OGF=5
+(
+0x01 HCI_READ_FAILED_CONTACT_COUNTER 
+0x02 HCI_RESET_FAILED_CONTACT_COUNTER 
+0x03 HCI_GET_LINK_QUALITY 
+0x05 HCI_READ_RSSI 
+0x06 HCI_READ_AFH_CHANNEL_MAP
+0x07 HCI_READ_BD_CLOCK
+0x08 HCI_READ_ENCRYPTION_KEY_SIZE
+0x09 HCI_READ_LOCAL_AMP_INFO
+0x0A HCI_READ_LOCAL_AMP_ASSOC
+0x0B HCI_WRITE_REMOTE_AMP_ASSOC
+0x0C HCI_GET_MWS_TRANSPORT_LAYER_CONFIGURATION
+0x0D HCI_SET_TRIGGERED_CLOCK_CAPTURE
+)
+
+// HCI testing command OCF values, OGF=6
+(
+0x01 HCI_READ_LOOPBACK_MODE 
+0x02 HCI_WRITE_LOOPBACK_MODE 
+0x03 HCI_ENABLE_DEVICE_UNDER_TEST_MODE 
+0x04 HCI_WRITE_SIMPLE_PAIRING_DEBUG_MODE
+0x07 HCI_ENABLE_AMP_RECEIVER_REPORTS
+0x08 HCI_AMP_TEST_END
+0x09 HCI_AMP_TEST
+0x0A HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE
+)
+
+// HCI vendor specific command OCF values -OGF=3F
+(
+0x01 HCI_WRITE_BD_ADDR 
+0x02 HCI_READ_INQUIRY_RESPONSE_TIMEOUT 
+0x03 HCI_WRITE_INQUIRY_RESPONSE_TIMEOUT 
+0x04 HCI_READ_PAGE_SCAN_REPETITION_MODE 
+0x05 HCI_WRITE_PAGE_SCAN_REPETITION_MODE 
+0x06 HCI_READ_PAGE_RESPONSE_TIMEOUT 
+0x07 HCI_WRITE_PAGE_RESPONSE_TIMEOUT 
+0x08 HCI_READ_NEW_CONNECTION_TIMEOUT 
+0x09 HCI_WRITE_NEW_CONNECTION_TIMEOUT 
+0x0a HCI_INITIALIZE_BASEBAND 
+0x0b HCI_WRITE_LOCAL_SUPPORTED_FEATURES 
+0x0c HCI_WRITE_PARK_PARAMETERS 
+0x0d HCI_READ_PARK_PARAMETERS 
+0x0e HCI_WRITE_QUALITY_OF_SERVICE 
+0x0f HCI_NOT_USED 
+0x10 HCI_MODIFY_BEACON_PARAMETERS 
+0x11 HCI_UNPARK_USING_PM_ADDR 
+0x12 HCI_WRITE_HOPPING_CHANNELS 
+0x13 HCI_SLEEP_FOREVER_MODE 
+0x14 HCI_WRITE_AUTO_PAGE_SCAN_ENABLE 
+0x15 HCI_READ_AUTO_PAGE_SCAN_ENABLE 
+0x16 HCI_SET_ENCRYPTION_KEY_SIZE 
+0x17 HCI_INVALIDATE_FLASH_AND_REBOOT 
+0x18 HCI_UPDATE_UART_BAUD_RATE 
+0x19 HCI_WRITE_GPIO_1_4_AS_OUTPUT 
+0x1A HCI_WRITE_GPIO_2_LED 
+0x1B HCI_SET_TESTMODE_TYPE 
+0x1C HCI_WRITE_SCO_PCM_INT_PARAM 
+0x1D HCI_READ_SCO_PCM_INT_PARAM 
+0x1E HCI_WRITE_PCM_DATA_FORMAT_PARAM 
+0x1F HCI_READ_PCM_DATA_FORMAT_PARAM 
+0x20 HCI_WRITE_COMFORT_NOISE_PARAM 
+0x21 HCI_READ_COMFORT_NOISE_PARAM 
+0x22 HCI_WRITE_SCO_TS 
+0x23 HCI_READ_SCO_TS 
+0x24 HCI_WRITE_PCM_LOOPBACK_MODE 
+0x25 HCI_READ_PCM_LOOPBACK_MODE 
+0x26 HCI_SET_TRANSMIT_POWER 
+0x27 HCI_SET_SLEEPMODE_PARAM 
+0x28 HCI_READ_SLEEPMODE_PARAM 
+0x29 HCI_SLEEPMODE_CMD 
+0x2A HCI_DELAY_PERIPHERAL_SCO_STARTUP 
+0x2B HCI_WRITE_RECEIVE_ONLY 
+0x2C HCI_WRITE_RATE_CONTROL 
+0x2D HCI_TX_UNMOD_CARRIER 
+0x2E HCI_DOWNLOAD_MINIDRIVER 
+0x2F HCI_CRYSTAL_PPM 
+0x30 HCI_SET_POWER_AMP_BIAS 
+0x31 HCI_SET_HAM_BEHAVIOR 
+0x32 HCI_SET_AFH_BEHAVIOR 
+0x33 HCI_READ_USER_DEFINED_NVRAM 
+0x34 HCI_ENABLE_RADIO 
+0x35 HCI_READ_DIAGNOSTIC_INFO 
+0x36 HCI_GET_HID_DEVICE_LIST 
+0x37 HCI_ADD_HID_DEVICE 
+0x38 HCI_READ_APP_FW_CONFIG_VERSION 
+0x39 HCI_DELETE_HID_DEVICE 
+0x3B HCI_ENABLE_USB_HID_EMULATION 
+// 0x3A available
+// 0x3B available
+0x3C HCI_SEND_LMPDU 
+0x3D HCI_AUTO_PAIR_REQ 
+0x3E HCI_READ_VS_EXTENSION 
+0x3F HCI_WRITE_VS_EXTENSION 
+
+0x77 HCI_OPCODE_FC77
+0x79 HCI_OPCODE_FC79
+0xC4 HCI_DOWNLOAD_PATCH
+0xCC HCI_OPCODE_FCCC
+
+0x00 HCI_VENDOR_CMD_RESET
+0x01 HCI_VENDOR_CMD_CHIPID
+0x02 HCI_VENDOR_CMD_BAUD
+0x03 HCI_VENDOR_CMD_PATCH
+0x04 HCI_VENDOR_CMD_PATCH_DONE
+0x05 HCI_VENDOR_CMD_ECHO
+0x06 HCI_VENDOR_CMD_BDADDR
+
+0x07 HCI_VENDOR_CMD_ENTER_LPM
+0x08 HCI_VENDOR_CMD_COMMU_READY
+
+0x10 HCI_VENDOR_CMD_MEM
+0x11 HCI_VENDOR_CMD_EEP
+
+0X12 HCI_VENDOR_CMD_PATCH_SEC_INIT
+0X13 HCI_VENDOR_CMD_PATCH_SEC
+)
+
+//HCI LE controller command OCF values, OGF=8
+(
+0x01 HCI_LE_SET_EVENT_MASK
+0x02 HCI_LE_READ_BUFFER_SIZE
+0x03 HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
+0x05 HCI_LE_SET_RANDOM_ADDRESS
+0x06 HCI_LE_SET_ADVERTISING_PARAMETERS
+0x07 HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER
+0x08 HCI_LE_SET_ADVERTISING_DATA
+0x09 HCI_LE_SET_SCAN_RESPONSE_DATA
+0x0A HCI_LE_SET_ADVERTISE_ENABLE
+0x0B HCI_LE_SET_SCAN_PARAMETERS
+0x0C HCI_LE_SET_SCAN_ENABLE
+0x0D HCI_LE_CREATE_CONNECTION
+0x0E HCI_LE_CREATE_CONNECTION_CANCEL
+0x0F HCI_LE_READ_WHITE_LIST_SIZE
+0x10 HCI_LE_CLEAR_WHITE_LIST
+0x11 HCI_LE_ADD_DEVICE_TO_WHITE_LIST
+0x12 HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST
+0x13 HCI_LE_CONNECTION_UPDATE
+0x14 HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
+0x15 HCI_LE_READ_CHANNEL_MAP
+0x16 HCI_LE_READ_REMOTE_USED_FEATURES
+0x17 HCI_LE_ENCRYPT
+0x18 HCI_LE_RAND
+0x19 HCI_LE_START_ENCRYPTION
+0x1A HCI_LE_LONG_TERM_KEY_REQUEST_REPLY
+0x1B HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY
+0x1C HCI_LE_READ_SUPPORTED_STATES
+0x1D HCI_LE_RECEIVER_TEST
+0x1E HCI_LE_TRANSMITTER_TEST
+0x1F HCI_LE_TEST_END
+0x20 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY
+0x21 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY
+)
+// HCI event code
+(
+0x01 HCI_EVENT_INQUIRY_COMPLETE
+0x02 HCI_EVENT_INQUIRY_RESULT
+0x03 HCI_EVENT_CONNECTION_COMPLETE
+0x04 HCI_EVENT_CONNECTION_REQUEST
+0x05 HCI_EVENT_DISCONNECTION_COMPLETE
+0x06 HCI_EVENT_AUTHENTICATION_COMPLETE
+0x07 HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
+0x08 HCI_EVENT_ENCRYPTION_CHANGE_COMPLETE
+0x09 HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
+0x0A HCI_EVENT_MASTER_LINK_KEY_COMPLETE
+0x0B HCI_EVENT_READ_REMOTE_FEATURES_COMPLETE
+0x0C HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
+0x0D HCI_EVENT_QOS_SETUP_COMPLETE
+0x0E HCI_EVENT_COMMAND_COMPLETE
+0x0F HCI_EVENT_COMMAND_STATUS
+0x10 HCI_EVENT_HARDWARE_ERROR
+0x11 HCI_EVENT_FLUSH_OCCURRED
+0x12 HCI_EVENT_ROLE_CHANGE
+0x13 HCI_EVENT_NUM_COMPLETED_PACKETS
+0x14 HCI_EVENT_MODE_CHANGE
+0x15 HCI_EVENT_RETURN_LINK_KEYS
+0x16 HCI_EVENT_PIN_CODE_REQUEST
+0x17 HCI_EVENT_LINK_KEY_REQUEST
+0x18 HCI_EVENT_LINK_KEY_NOTIFICATION
+0x19 HCI_EVENT_LOOPBACK_COMMAND
+0x1A HCI_EVENT_DATA_BUFFER_OVERFLOW
+0x1B HCI_EVENT_MAX_SLOTS_CHANGE
+0x1C HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
+0x1D HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
+0x1E HCI_EVENT_QOS_VIOLATION
+0x1F HCI_EVENT_PAGE_SCAN_MODE_CHANGE
+0x20 HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE
+0x21 HCI_EVENT_FLOW_SPECIFICATION_COMPLETE
+0x22 HCI_EVENT_INQUIRY_RESULT_WITHRSSI
+0x23 HCI_EVENT_READ_REMOTE_EXT_FEATURES_COMPLETE
+0x2C HCI_EVENT_SCO_CONNECTION_COMPLETE
+0x2D HCI_EVENT_SCO_CONNECTION_CHANGED
+0x2E HCI_EVENT_SNIFF_SUBRATING
+0x2F HCI_EVENT_EXT_INQUIRY_RESULT
+0x30 HCI_EVENT_ENCRYPT_KEY_REFRESH_COMPLETE
+0x31 HCI_EVENT_IO_CAP_REQ
+0x32 HCI_EVENT_IO_CAP_RESPONSE
+0x33 HCI_EVENT_USER_CONFIRMATION_REQUEST
+0x34 HCI_EVENT_UESR_PASSKEY_REQUEST
+0x35 HCI_EVENT_REMOTE_OOB_DATA_REQUEST
+0x36 HCI_EVENT_SIMPLE_PAIRING_COMPLETE
+0x38 HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED
+0x39 HCI_EVENT_ENHANCED_FLUSH_COMPLETE
+0x3B HCI_EVENT_USER_PASSKEY_NOTIFICATION
+0x3C HCI_EVENT_KEYPRESS_NOTIFICATION
+0x3D HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTIFICATION 
+0x3E HCI_EVENT_LE_META_EVENT
+0x40 HCI_EVENT_PHYSICAL_LINK_COMPLETE
+0x41 HCI_EVENT_CHANNEL_SELECTED
+0x42 HCI_EVENT_DISCONNECTION_PHYSICAL_LINK_COMPLETE
+0x43 HCI_EVENT_PHYSICAL_LINK_LOSS_EARLY_WARNING
+0x44 HCI_EVENT_PHYSICAL_LINK_RECOVERY
+0x45 HCI_EVENT_LOGICAL_LINK_COMPLETE
+0x46 HCI_EVENT_DISCONNECTION_LOGICAL_LINK_COMPLETE
+0x47 HCI_EVENT_FLOW_SPEC_MODIFY_COMPLETE
+0x48 HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS
+0x49 HCI_EVENT_AMP_START_TEST
+0x4A HCI_EVENT_AMP_TEST_END
+0x4B HCI_EVENT_AMP_RECEIVER_REPORT
+0x4C HCI_EVENT_SHORT_RANGE_MODE_CHANGE_COMPLETE
+0x4D HCI_EVENT_AMP_STATUS_CHANGE
+0x4E HCI_EVENT_TRIGGERED_CLOCK_CAPTURE
+0x4F HCI_EVENT_SYNCHRONIZATION_TRAIN_COMPLETE
+0x50 HCI_EVENT_SYNCHRONIZATION_TRAIN_RECEIVED
+0x51 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x52 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_TIMEOUT
+0x53 HCI_EVENT_TRUNCATED_PAGE_COMPLETE
+0x54 HCI_EVENT_SLAVE_PAGE_RESPONSE_TIMEOUT
+0x55 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_CHANNEL_MAP_CHANGE
+0x56 HCI_EVENT_INQUIRY_RESPONSE_NOTIFICATION
+0x57 HCI_EVENT_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED
+
+0xFE HCI_EVENT_LOGO_TESTING
+0xFF HCI_EVENT_VENDOR_SPECIFIC
+)
+(
+0x01 HCI_VENDOR_EVENT_COMMU_READY
+)
+//HCI LE SUBEVENT CODE
+(
+0x01 HCI_LE_SUBEVENT_CONN_COMPLETE
+0x02 HCI_LE_SUBEVENT_ADV_REPORT
+0x03 HCI_LE_SUBEVENT_CONN_UPDATE_COMPLETE
+0x04 HCI_LE_SUBEVENT_REMOTE_FEATURE_COMPLETE
+0x05 HCI_LE_SUBEVENT_LTK_REQUEST
+0x06 HCI_LE_SUBEVENT_REMOTE_CONN_PARAM_REQ
+)
+
+(
+0x00 HCI_LPM_OFF
+0x01 HCI_LPM_ON
+)
+
+
+(
+33 HOST_WAKE_TIME
+)
+
+(
+1 HCI_RX_WAKE
+0 HCI_RX_READY
+)
+
+
+(
+/*HID TYPE*/
+0x01 HID_TYPE_CONTROL
+0x04 HID_TYPE_GET_REPORT
+0x05 HID_TYPE_SET_REPORT
+0x07 HID_TYPE_SET_PROTOCOL
+0x09 HID_TYPE_SET_IDLE
+0x0a HID_TYPE_DATA
+/*HID REPORT ID*/
+0x01 HID_REPORT_ID_KB
+
+0x00 HID_CONTROL_P_NOOPERATION
+0x01 HID_CONTROL_P_HARDRESET
+0x02 HID_CONTROL_P_SOFTRESET
+0x03 HID_CONTROL_P_SUSPEND
+0x04 HID_CONTROL_P_EXITSUSPEND
+0x05 HID_CONTROL_P_VIRTUALCABLEUNPLUG
+)
+
+
+
+
+
+
+
+
+//0 mem_kscan_head_ptr
+//1 mem_col_num
+//1 mem_row_num
+//4 mem_col_conf_pin
+//4 mem_row_conf_pin
+//1 mem_row_count
+//1 mem_count_shift
+//2 mem_kscan_value_temp
+//2 mem_kscan_lastvalue
+//2 mem_kscan_value
+//4 mem_btclk_kscan
+//1 mem_btclk_kscan_interval
+
+
+0x00 KEYSCAN_OFFECT_COL_NUM
+0x01 KEYSCAN_OFFECT_ROW_NUM
+0x02 KEYSCAN_OFFECT_COL_CONF_PIN
+0x06 KEYSCAN_OFFECT_ROW_CONF_PIN
+
+0x0a KEYSCAN_OFFECT_ROW_COUNT
+0x0b KEYSCAN_OFFECT_SHIFT_COUNT
+
+0X0C KEYSCAN_OFFECT_VALUE_TEMP
+0X0E KEYSCAN_OFFECT_LASVALUE
+0X10 KEYSCAN_OFFECT_VALUE
+0x12 KEYSCAN_OFFECT_BTCLK
+0x16 KEYSCAN_OFFECT_BTCLK_INTERVAL
+
+
+
+0x025d mem_l2cap_mem_start
+0x025d mem_l2cap_rxbuff1_len
+0x025f mem_l2cap_rxbuff2_len
+0x0261 mem_l2cap_rxbuff_new
+0x0263 mem_l2cap_rxbuff_inuse
+0x0264 mem_l2cap_payload_ptr
+0x0266 mem_l2cap_rx_pkt_length
+0x0268 mem_l2cap_rx_cid
+0x026a mem_l2cap_rx_done
+0x026b mem_l2cap_signal_tx_buff_ptr
+0x026d mem_l2cap_signal_tx_payload_ptr
+0x026f mem_l2cap_signal_tx_length
+0x0271 mem_sdp_tx_buff_ptr
+0x0273 mem_sdp_tx_payload_ptr
+0x0275 mem_sdp_tx_pkt_length
+0x0277 mem_rfcomm_tx_buff_ptr
+0x0279 mem_rfcomm_tx_payload_ptr
+0x027b mem_rfcomm_tx_pkt_length
+0x027d memL2CAP_T1
+0x027f mem_CONTROL_tasks
+0x0280 mem_send_config_req
+0x0281 mem_config_identifier
+0x0282 mem_config_req_dest_CID
+0x0284 mem_rfcomm_malloc_fail_flag
+0x0285 mem_message_to_uppersm
+0x0286 mem_upper_sm_remote_page
+0x0287 mem_upper_sm_reconn
+0x0288 mem_upper_sm_ss
+0x0289 mem_tx_malloc_log
+0x02c9 mem_l2cap_mem_end
+0x02c9 mem_scid
+0x02cb mem_cmd_length
+0x02cd mem_tt2
+0x02cf mem_tt3
+0x02d1 mem_id
+0x02d3 mem_psm
+0x02d5 mem_l2cap_sdpres_delay_time
+
+
+
+//mem_l2cap_lpm_txbuf
+(
+256 l2cap_lpm_txbuf_len
+)
+
+(
+4 L2CAP_TX_FIFO_SIZE
+8 L2CAP_TX_BUFF_CNT
+
+)
+(
+0x0002 L2CAP_SIG_EXT_FEATRUE
+0x0003 L2CAP_SIG_FIX_FEATRUE
+)
+
+
+(
+0 HS_IDLE
+1 AG_INIT_CALL
+2 HS_INIT_CALL
+)
+(
+0 M_ACL_LINK_ABSENT
+1 M_ACL_LINK_EXIST
+)
+
+(
+0 L2CAP_INUSE_BUFF1
+1 L2CAP_INUSE_BUFF2
+)
+/* upper layer interface w/ lower layer */
+(
+1 MAX_NUM_LINKS_ALLOWED
+1 MAX_NUM_SCO_ALLOWED
+1 ACL_LINK_PRESENT
+0 ACL_LINK_ABSENT
+)
+(
+1 L2CAP_RX_DONE 
+0 L2CAP_RX_CLEAR
+)
+/* Scheduler */
+(
+0 L2CAP_DISCONNECT_INTERRUPT
+1 RFCOMM_wants_service
+2 L2CAP_sig_Tx_buff_full
+3 RFCOMM_Tx_buff_full
+4 SDP_Tx_buff_full
+5 got_complete_L2CAP_pkt	
+6 L2CAP_init_Config_Req
+7 L2CAP_DISCONNECT_CONTROL
+)
+
+/* mem_CONTROL_tasks2 */
+(
+0 UI_NEED_SERVICE
+)
+/* L2CAP logic channel identifiers (2 bytes) p.261 */
+(
+0x0001 L2CAP_signal_channel
+0x0050 L2CAP_SDP_channel
+0x0051 L2CAP_RFCOMM_channel
+0x0052 L2CAP_HID_Control_channel   
+0x0053 L2CAP_HID_Interrupt_channel
+0x0077 L2CAP_AVDTP_signal_channel		//------avdtp
+0x0078 L2CAP_AVDTP_media_channel
+0x0079 L2CAP_AVDTP_report_channel
+0x0080 L2CAP_AVDTP_recovery_channel
+0x00dd L2CAP_AVCTP_Control_channel
+)
+/* L2CAP signalling command codes (1 byte) p.284 */
+(
+0x00 reserved
+0x01 signal_cmd_reject
+0x02 signal_connect_req
+0x03 signal_connect_rsp
+0x04 signal_config_req
+0x05 signal_config_rsp
+0x06 signal_disconnect_req
+0x07 signal_disconnect_rsp
+0x08 signal_echo_req
+0x09 signal_echo_rsp
+0x0a signal_info_req
+0x0b signal_info_rsp
+)
+/* L2CAP signal_command_reject reason code (2 bytes), p.285 */
+(
+0x0000 cmd_not_understood
+0x0001 signalling_MTU_exceeded
+0x0002 invalid_CID_in_req
+)
+/* L2CAP PSM values used in signal_connect_req (2 bytes), p.286 */
+(
+0x0001 PSM_SDP
+0x0003 PSM_RFCOMM
+0x0005 PSM_TCS
+0x0011 PSM_HID_control
+0x0013 PSM_HID_interrupt
+0x0017 PSM_AVCTP
+0x0019 PSM_AVDTP
+)
+/* L2CAP connection response result code (2 bytes), p.288 */
+(
+0x0000 L2CAP_connect_successful
+0x0001 L2CAP_connect_pending
+0x0002 L2CAP_connect_refused_PSM_unsupported
+0x0003 L2CAP_connect_refused_security_block
+0x0004 L2CAP_connect_refused_no_resources
+)
+/* L2CAP connection status values (2 bytes), p.288 */
+(
+0x0000 L2CAP_no_info_available
+0x0001 L2CAP_authentication_pending
+0x0002 L2CAP_authorization_pending
+)
+/* L2CAP configuration response result code (2 bytes), p.292 */
+(
+0x0000 L2CAP_config_success
+0x0001 L2CAP_config_failure_bad_parameters
+0x0002 L2CAP_config_failure_no_reason
+0x0003 L2CAP_config_failure_unknown_options
+)
+/* L2CAP constant definitions */
+(
+128 L2CAP_Rx_buff_size
+48  L2CAP_signal_Tx_buff_size
+128 SDP_Tx_buff_size
+128 RFCOMM_Tx_buff_size
+1 AM_ADDRESS
+3 DM1TYPE
+4 DH1TYPE
+11 DH3TYPE
+8 DVTYPE
+0 channel_state_closed
+1 channel_state_config
+2 channel_state_open
+0x0030 L2CAP_config_MTU_SDP
+0xffff L2CAP_config_ftimeout_SDP
+0x03e3 L2CAP_config_MTU_RFCOMM
+0xffff L2CAP_config_ftimeout_RFCOMM
+260 l2cap_max_pkt_len
+)
+
+(
+0 FAILURE
+1 SUCCESS
+2 IN_PROGRESS
+)
+(
+0x00	IDLE
+0x01	WAIT_4_BB_PAGE
+0x02	WAIT_4_LMP_CONN
+0x03	WAIT_4_SCO_CONN
+0x04	WAIT_4_SCO_KILLED
+)
+
+/*mem_master_mss*/
+(
+0 STOP_ENC
+1 SEND_SWITCH_REQ
+)
+(
+0 HF_HS_READY
+1 HF_AG_READY
+)
+/* mem_hf_state */
+(
+0 HF_STATE_WAITING_RFCOMM_CONN
+1 HF_STATE_HF_SEND_FEATURE
+2 HF_STATE_WAITING_AG_FEATURE_OK
+3 HF_STATE_HF_SEND_INDICATORS
+4 HF_STATE_WAITING_AG_INDICATORS_OK
+5 HF_STATE_HF_SEND_CURR_STATUS
+6 HF_STATE_WAITING_AG_STATUS_OK
+7 HF_STATE_HF_SEND_UPDATE_STATUS
+8 HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+9 HF_STATE_CONNECTED
+0x0a HF_STATE_HF_SEND_RECEIVE_INFO
+0x0b HF_STATE_WAITING_AG_INFO
+0x0c HF_STATE_HF_SEND_AT_CLIP
+0x0d HF_STATE_WAITING_AT_CLIP
+0x0e HF_STATE_HF_SEND_AT_CCWA
+0x0f HF_STATE_WAITING_AT_CCWA
+)
+/*mem_hf_call_state*/
+(
+0 HF_CALL_STATE_INACTIVE
+1 HF_CALL_STATE_SETUP
+2 HF_CALL_STATE_ACTIVE 
+)
+/* mem_pairing_state bit definition */
+(
+0 PAIR_INQUIRY_START
+1 PAIR_INQUIRY_TIME_OUT
+2 PAIR_INQUIRY_FAILED
+3 PAIR_INQUIRY_SUCCESS
+4 PAIR_READY_CONN
+5 PAIR_WAIT_CANCEL_RESPONSE
+6 PAIR_CONN_SUCCESS
+7 PAIR_WAIT_DETACH
+)  
+
+/* mem_pairing_mode bit definition */
+(
+0 FORCE_AUTHENTICATION
+)
+/* mem_hid_protecol_type */
+(
+0 PROTECOL_BOOT /*default*/
+1 PROTECOL_REPORT
+)
+
+/* mem_upper_sm_reconn */
+(
+1 UPPERSM_SEND_SDP_CONN_REQ
+2 UPPERSM_SEND_SDP_CFG_REQ
+3 UPPERSM_SEND_SDP_HF_SS
+4 UPPERSM_SEND_SDP_DISC_REQ
+5 UPPERSM_SEND_RFCOMM_CONN_REQ
+6 UPPERSM_SEND_RFCOMM_CFG_REQ
+7 UPPERSM_SEND_SABM_CMD
+8 UPPERSM_SEND_DISC
+9 UPPERSM_SEND_WAIT
+10 UPPERSM_SEND_HID_CONTROL_CONN_REQ
+11 UPPERSM_SEND_HID_CONTROL_CFG_REQ
+12 UPPERSM_SEND_HID_INTERRUPT_CONN_REQ
+13 UPPERSM_SEND_HID_INTERRUPT_CFG_REQ
+14 UPPERSM_SEND_SDP_HS_SS
+15 UPPERSM_SEND_SDP_PBAP_SS
+16 UPPERSM_SEND_SDP_AVTARG_SS
+)
+/* mem_upper_sm_remote_page */
+(
+1 UPPERSM_RP_SEND_SDP_CONN_REQ
+2 UPPERSM_RP_SEND_SDP_CFG_REQ
+3 UPPERSM_RP_SEND_SDP_HF_SS
+4 UPPERSM_RP_SEND_SDP_HS_SS
+5 UPPERSM_RP_SEND_SDP_PBAP_SS
+6 UPPERSM_RP_SEND_SDP_AVTARG_SS
+7 UPPERSM_RP_SEND_SDP_DISC_REQ
+8 UPPERSM_RP_SEND_AVCTP_CONN_REQ
+9 UPPERSM_RP_SEND_AVCTP_CFG_REQ
+)
+
+/* mem_ML2CAP_flag */
+(
+0 MSCHEDULER_HID_CONTROL_CONN_DONE
+1 MSCHEDULER_HID_INTERRUPT_CONN_DONE
+2 MSCHEDULER_HID_CONTROL_CFG_REQ_DONE
+3 MSCHEDULER_HID_CONTROL_CFG_RSP_DONE
+4 MSCHEDULER_HID_INTERRUPT_CFG_REQ_DONE
+5 MSCHEDULER_HID_INTERRUPT_CFG_RSP_DONE
+6 MSCHEDULER_HID_CONTROL_DISC_DONE
+7 MSCHEDULER_HID_INTERRUPT_DISC_DONE
+)
+/*    ui event    --add by lj*/
+(
+0x00 UI_DATA_EVNET_NONE
+0x01 UI_DATA_EVNET_HID
+0x02 UI_DATA_EVNET_AVDTP_S
+0x03 UI_DATA_EVNET_AVDTP_M
+0x04 UI_DATA_EVNET_AVCTP
+0x05 UI_DATA_EVNET_HS
+0x06 UI_DATA_EVNET_HF
+0x07 UI_DATA_EVNET_SPP
+0x08 UI_DATA_EVNET_OBEX
+)
+/*    ui ack --add by lj*/
+(
+0x00 UI_DATA_TX_NONE
+0x01 UI_DATA_TX_HID
+0x02 UI_DATA_TX_AVDTP_S
+0x03 UI_DATA_TX_AVDTP_M
+0x04 UI_DATA_TX_AVCTP
+0x05 UI_DATA_TX_HS
+0x06 UI_DATA_TX_HF
+0x07 UI_DATA_TX_SPP
+0x08 UI_DATA_TX_OBEX
+0x10 ACL_TX_L2CAP_SIGNAL
+0x11 ACL_TX_SDP
+0x12 ACL_TX_RFCOMM
+
+)
+
+(
+0 L2CAP_SDP_interface_conn
+1 L2CAP_SDP_interface_cfg
+)
+
+(                                   
+0 L2CAP_CHANNEL_STATE_CONN_REQ      
+1 L2CAP_CHANNEL_STATE_CONN_RES      
+2 L2CAP_CHANNEL_STATE_SND_CFG_REQ   
+3 L2CAP_CHANNEL_STATE_SND_CFG_RES   
+4 L2CAP_CHANNEL_STATE_RCV_CFG_REQ   
+5 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+6 L2CAP_CHANNEL_RFCOMM_ONLY_SABM
+7 L2CAP_CHANNEL_RFCOMM_ONLY_UA
+6 L2CAP_CHANNEL_AVDTP_SIGNAL_INIT //set avdtp init complete
+6 L2CAP_CHANNEL_HID_HANDSHAKE_DONE
+0x3f L2CAP_CHANNEL_SETUP_COMPLETE
+0x7f L2CAP_CHANNEL_AVDTP_SIGNAL_COMPLETE
+0xff L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+)                                     
+
+/*  AVDTP---lj*/
+(
+0 L2CAP_AVDTP_SIGNAL_CONNECT
+1 L2CAP_AVDTP_SIGNAL_CONFIG
+2 L2CAP_AVDTP_MEDIA_CONNECT
+3 L2CAP_AVDTP_MEDIA_CONFIG
+4 L2CAP_AVDTP_REPORT_CONNECT
+5 L2CAP_AVDTP_REPORT_CONFIG
+6 L2CAP_AVDTP_RECOVERY_CONNECT
+7 L2CAP_AVDTP_RECOVERY_CONFIG
+)
+/*  AVCTP---lj*/
+(
+0 L2CAP_AVCTP_SIGNAL_CONNECT
+1 L2CAP_AVCTP_SIGNAL_CONFIG
+)
+
+127 L2CAP_SIGNAL_MALLOC_SIZE
+
+//1 mem_rfcomm_malloc_fail_flag
+(
+0 RFCOMM_MALLOC_SUCCEED
+1 RFCOMM_MALLOC_FAIL
+)
+
+//mem_l2cap_flow_ctrl_flag
+(
+0 L2CAP_FLOW_CTRL_DISABLE
+1 L2CAP_FLOW_CTRL_ENABLE
+)
+
+
+0x02d9 mem_le_rxbuf
+0x0311 mem_le_l2capbuf
+0x0417 mem_le_mic
+0x041b mem_le_peer_mic
+0x041f mem_le_peer_ltk
+0x042f mem_le_mrand
+0x043f mem_le_state
+0x0440 mem_le_mode
+0x0441 mem_le_tsniff
+0x0443 mem_le_anchor
+0x0447 mem_le_clk_offset
+0x044d mem_le_receive_window
+0x044f mem_le_plap
+0x0455 mem_le_conn_handle
+0x0456 mem_le_arq
+0x0457 mem_le_ch
+0x0458 mem_le_hop
+0x0459 mem_le_event_count
+0x045b mem_le_supervision_timer
+0x045f mem_le_instant
+0x0461 mem_le_channels
+0x0462 mem_le_op
+0x0463 mem_le_access
+0x0467 mem_le_crcinit
+0x046a mem_le_window_size
+0x046b mem_le_slave_latency
+0x046d mem_le_superto
+0x046f mem_le_channel_map
+0x0474 mem_le_no_using
+0x0476 mem_le_peer_sca
+0x0477 mem_le_att_opcode
+0x0478 mem_le_att_handle
+0x047a mem_le_err_code
+0x047b mem_le_ll_pairing_fail_reason
+0x047c mem_le_sk
+0x048c mem_le_testtype
+0x048d mem_le_test_sync
+0x048f mem_le_test_pcnt
+0x0491 mem_le_rxon_ts
+0x0497 mem_le_rx_ll_opcode
+0x0498 mem_le_notify_attr_start
+0x049a mem_le_notify_len
+0x049b mem_cmd_le_create_conn
+0x049c mem_le_cur_attlist_start_ptr
+0x049e mem_le_cur_handle_start
+0x04a0 mem_le_cur_handle_end
+0x04a2 mem_le_cur_uuid_length
+0x04a3 mem_le_cur_uuid
+0x04b3 mem_le_curr_att_len
+0x04b4 mem_le_search_res
+0x04b5 mem_le_continue_type
+
+
+
+
+(
+0x000001 param_le_features
+
+1636 param_sifs
+0x1e0 param_clke_cal_le
+0xa0 param_le_sca
+)
+
+(
+0 DEFAULT_STATES
+1 IPHONE_LOST_LTK
+2 MODULE_LOST_LTK
+3 LTK_NOT_LOST
+)
+
+
+(
+27 LE_MAX_PAKET_LEN
+)
+
+/* advertising channel PDU type */
+(
+0 ADV_IND
+1 ADV_DIRECT_IND
+2 ADV_NONCONN_IND
+3 SCAN_REQ
+4 SCAN_RSP
+5 CONNECT_REQ
+6 ADV_SCAN_IND
+)
+
+(
+0x01	GAP_ADTYPE_FLAGS
+0x02	GAP_ADTYPE_16BIT_MORE
+0x03	GAP_ADTYPE_16BIT_COMPLETE
+0x04	GAP_ADTYPE_32BIT_MORE
+0x05	GAP_ADTYPE_32BIT_COMPLETE
+0x06	GAP_ADTYPE_128BIT_MORE
+0x07	GAP_ADTYPE_128BIT_COMPLETE
+0x08	GAP_ADTYPE_LOCAL_NAME_SHORT
+0x09	GAP_ADTYPE_LOCAL_NAME_COMPLETE
+0x0a	GAP_ADTYPE_POWER_LEVEL
+0xff	GAP_ADTYPE_MANUFACTURER_SPECIFIC
+)
+
+
+	/* LE control packet type */
+	(
+	0x00 LL_CONNECTION_UPDATE_REQ
+	0x01 LL_CHANNEL_MAP_REQ
+	0x02 LL_TERMINATE_IND
+	0x03 LL_ENC_REQ
+	0x04 LL_ENC_RSP
+	0x05 LL_START_ENC_REQ
+	0x06 LL_START_ENC_RSP
+	0x07 LL_UNKNOWN_RSP
+	0x08 LL_FEATURE_REQ
+	0x09 LL_FEATURE_RSP
+	0x0A LL_PAUSE_ENC_REQ
+	0x0B LL_PAUSE_ENC_RSP
+	0x0C LL_VERSION_IND
+	0x0D LL_REJECT_IND
+	0x0E LL_SLAVE_FEATURE_REQ
+	0x0F LL_CONNECTION_PARAM_REQ
+	0x10 LL_CONNECTION_PARAM_RSP
+	0x11 LL_REJECT_IND_EXT
+	0x12 LL_PING_REQ
+	0x13 LL_PING_RSP
+	)
+
+	/* Security Manager Protocol Code */
+	(
+	0x01 SMP_PAIRING_REQUEST
+	0x02 SMP_PAIRING_RESPONSE
+	0x03 SMP_PAIRING_CONFIRM
+	0x04 SMP_PAIRING_RANDOM
+	0x05 SMP_PAIRING_FAILED
+	0x06 SMP_ENCRYPTION_INFORMATION
+	0x07 SMP_MASTER_IDENTIFICATION
+	0x08 SMP_IDENTITY_INFORMATION
+	0x09 SMP_IDENTITY_ADDRESS_INFORMATION
+	0x0A SMP_SIGNING_INFORMATION
+	0x0B SMP_SECURITY_REQUEST
+	0x0c SMP_PAIRING_PUBLIC_KEY
+	0x0d SMP_PAIRING_DHKEY_CHECK
+	)
+
+	/* L2CAP Signaling OPCODE */
+	(
+	0x12 L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST
+	0x13 L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE
+	)
+
+	/* ATT OPCODE */
+	(
+	0x01 ATTOP_ERROR_RESPONSE
+	0x02 ATTOP_EXCHANGE_MTU_REQUEST
+	0x03 ATTOP_EXCHANGE_MTU_RESPONSE
+	0x04 ATTOP_FIND_INFORMATION_REQUEST
+	0x05 ATTOP_FIND_INFORMATION_RESPONSE
+	0x06 ATTOP_FIND_BY_TYPE_VALUE_REQUEST
+	0x07 ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	0x08 ATTOP_READ_BY_TYPE_REQUEST
+	0x09 ATTOP_READ_BY_TYPE_RESPONSE
+	0x0A ATTOP_READ_REQUEST
+	0x0B ATTOP_READ_RESPONSE
+	0x0C ATTOP_READ_BLOB_REQUEST
+	0x0D ATTOP_READ_BLOB_RESPONSE
+	0x0E ATTOP_READ_MULTIPLE_REQUEST
+	0x0F ATTOP_READ_MULTIPLE_RESPONSE
+	0x10 ATTOP_READ_BY_GROUP_TYPE_REQUEST
+	0x11 ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	0x12 ATTOP_WRITE_REQUEST
+	0x13 ATTOP_WRITE_RESPONSE
+	0x16 ATTOP_PREPARE_WRITE_REQUEST
+	0x17 ATTOP_PREPARE_WRITE_RESPONSE
+	0x18 ATTOP_EXECUTE_WRITE_REQUEST
+	0x19 ATTOP_EXECUTE_WRITE_RESPONSE
+	0x1B ATTOP_HANDLE_VALUE_NOTIFICATION
+	0x1D ATTOP_HANDLE_VALUE_INDICATION
+	0x1E ATTOP_HANDLE_VALUE_CONFIRMATION
+	0x52 ATTOP_WRITE_COMMAND
+	0xD2 ATTOP_SIGNED_WRITE_COMMAND
+	0x1f ATTOP_CONTINUE
+	0x9e EMPTY_LE_DATA_PRE
+	0x9f EMPTY_LE_DATA
+	)
+
+	/* ATT error code */
+	(
+	0x01 ATT_ERR_INVALID_HANDLE
+	0x02 ATT_ERR_READ_NOT_PERMITTED
+	0x03 ATT_ERR_WRITE_NOT_PERMITTED
+	0x04 ATT_ERR_INVALID_PDU
+	0x05 ATT_ERR_INSUFFICIENT_AUTHENTICATION
+	0x06 ATT_ERR_REQUEST_NOT_SUPPORTED
+	0x07 ATT_ERR_INVALID_OFFSET
+	0x08 ATT_ERR_INSUFFICIENT_AUTHORIZATION
+	0x09 ATT_ERR_PREPARE_QUEUE_FULL
+	0x0A ATT_ERR_ATTRIBUTE_NOT_FOUND
+	0x0B ATT_ERR_ATTRIBUTE_NOT_LONG
+	0x0C ATT_ERR_INSUFFICIENT_ENCRYPTION_KEY_SIZE
+	0x0D ATT_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH
+	0x0E ATT_ERR_UNLIKELY_ERROR
+	0x0F ATT_ERR_INSUFFICIENT_ENCRYPTION
+	0x10 ATT_ERR_UNSUPPORTED_GROUP_TYPE
+	0x11 ATT_ERR_INSUFFICIENT_RESOURCES
+	)
+	/*	SERVICE UUID	*/
+	(
+	0x1800 UUID_SERVICE_GENERIC_ACC
+	0x1801 UUID_SERVICE_GENERIC_ATT
+	0x180a UUID_SERVICE_DEVICE_INFO
+	0x180f UUID_SERVICE_BATTERY
+	0x1812 UUID_SERVICE_HIDS
+	0x2800 UUID_GATT_PRIMARY_SERVICE
+	0x2801 UUID_GATT_SECONDARY_SERVICE
+	0X2802 UUID_GATT_INCLUDE
+	0X2803 UUID_GATT_CHARACTERISTIC
+	0X2A00 UUID_CHRCTR_DEVICE_NAME
+	0X2A19 UUID_CHRCTR_BATTERY_LEVEL
+	0X2A22 UUID_CHRCTR_KEYBOARD_INPUT
+	0X2A23 UUID_CHRCTR_SYSTEM_ID 
+	0X2A25 UUID_CHRCTR_SERIAL_NUMBER
+	0X2A26 UUID_CHRCTR_FIRMWARE
+	0X2A32 UUID_CHRCTR_KEYBOARD_OUTPUT
+	0X2A33 UUID_CHRCTR_MOUSE_INPUT
+	0X2A4A UUID_CHRCTR_HID_INFO
+	0X2A4B UUID_CHRCTR_REPORT_MAP
+	0X2A4C UUID_CHRCTR_HID_CTRL_POINT
+	0X2A4D UUID_CHRCTR_REPORT
+	0X2A4E UUID_CHRCTR_PROTOCOL_MODE
+	)
+
+	(// pairing failed reason
+	0x00 PAIRING_FAILED_RESERVED
+	0X01 PAIRING_FAILED_PASSKEY_ENTRY_FAILED
+	0X02 PAIRING_FAILED_OOB_NOT_AVAILABLE
+	0X03 PAIRING_FAILED_AUTHENTICATION_REQUIRE
+	0X04 PAIRING_FAILED_CONFIRM_VALUE_FAILED
+	0X05 PAIRING_FAILED_PAIRING_NOT_SUPPORTED
+	0X06 PAIRING_FAILED_ENCRYPTION_KEY_SIZE
+	0X07 PAIRING_FAILED_COMMAND_NOT_SUPPORTED
+	0X08 PAIRING_FAILED_UNSPECIFIED_REASON
+	0X09 PAIRING_FAILED_REPEATED_ATTEMPTS
+	0X0A PAIRING_FAILED_INVALID_PARAMETERS
+	0X0B PAIRING_FAILED_DHKEY_CHECK_FAILED
+	0X0C PAIRING_FAILED_NUMERIC_COMPARISON_FAILED
+	0X0D PAIRING_FAILED_BR_EDR_PAIRING_IN_PROGRESS
+	0X0E PAIRING_FAILED_KEY_DERIVATION_GENERATION_NOT_ALLOWED
+	)
+
+
+	//BLE ErrorCodes
+	(    
+	0x01 ERROR_UNKNOWN_HCI_COMMAND
+	0x02 ERROR_NO_CONNECTION
+	0x03 ERROR_HARDWARE_FAILURE
+	0x04 ERROR_PAGE_TIMEOUT
+	0x05 ERROR_AUTHENTICATION_FAILURE
+	0x06 ERROR_KEY_MISSING
+	0x07 ERROR_MEMORY_FULL
+	0x08 ERROR_CONNECTION_TIMEOUT
+	0x09 ERROR_MAX_CONNECTIONS
+	0x0A ERROR_MAX_SCO_CONNECTIONS
+	0x0B ERROR_MAX_ACL_CONNECTIONS
+	0x0C ERROR_COMMAND_DISALLOWED
+	0x0D ERROR_HOST_REJECT_LIMITED_RESOURCES
+	0x0E ERROR_HOST_REJECT_SECURITY_REASONS
+	0x0F ERROR_HOST_REJECT_REMOTE_IS_ONLY_PERSONAL
+	0x10 ERROR_HOST_TIMEOUT
+	0x11 ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
+	0x12 ERROR_INVALID_HCI_COMMAND_PARAMETERS
+	0x13 ERROR_REMOTE_USER_TERMINATED_CONNECTION
+	0x14 ERROR_REMOTE_LOW_RESOURCES
+	0x15 ERROR_REMOTE_POWERING_OFF
+	0x16 ERROR_CONNECTION_TERMINATED_BY_LOCAL_HOST
+	0x17 ERROR_REPEATED_ATTEMPTS
+	0x18 ERROR_PAIRING_NOT_ALLOWED
+	0x19 ERROR_UNKNOWN_LMP_PDU
+	0x1A ERROR_UNSUPPORTED_REMOTE_FEATURE
+	0x1B ERROR_SCO_OFFSET_REJECTED
+	0x1C ERROR_SCO_INTERVAL_REJECTED
+	0x1D ERROR_SCO_AIR_MODE_REJECTED
+	0x1E ERROR_INVALID_LMP_PARAMETER
+	0x1F ERROR_UNSPECIFIED_ERROR
+	0x20 ERROR_UNSUPPORTED_LMP_PARAMETER_VALUE
+	0x21 ERROR_ROLE_CHANGE_NOT_ALLOWD
+	0x22 ERROR_LMP_RESPONSE_TIMEOUT
+	0x23 ERROR_ERROR_TRANSACTION_COLLISION
+	0x24 ERROR_LMP_PDU_NOT_ALLOWED
+	0x25 ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x26 ERROR_UNIT_KEY_USED
+	0x27 ERROR_QOS_NOT_SUPPORTED
+	0x28 ERROR_INSTANT_PASSED
+	0x29 ERROR_PAIRING_W_UNIT_KEY_NOT_SUPPORTED
+	0x2a ERROR_DIFFERENT_TRANSACTION_COLLISION
+	0x2c ERROR_QOS_UNACCEPTABLE_PARAMETER
+	0x2d ERROR_QOS_REJECTED
+	0x2e ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED
+	0x2f ERROR_INSUFFICIENT_SECURITY
+	0x30 ERROR_PARAMETER_OUT_OF_MANDATORY_PANGE
+	0x32 ERROR_ROLE_SWITCH_PENDING
+	0x34 ERROR_RESERVED_SLOT_VIOLATION
+	0x35 ERROR_ROLE_SWITCH_FAILED
+	0x36 ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE
+	0x37 ERROR_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
+	0x38 ERROR_HOST_BUSY_PAIRING
+	)
+
+
+	//modified_name
+	(
+	0x14 MAX_NAME_LEN
+	0x16 ADV_DATA_NAME_LEN
+	0X20 SPACE
+	
+	)
+	/* GATT Specifications*/
+	(
+	0X2900 CHARACTERTIC_EXTENDED_PROPERTIES
+	0X2901 CHARACTERTIC_USER_DESCRIPTION
+	0X2902 CLIENT_CHARACTERTIC_CONFIGURATION
+	0X2903 SERVER_CHARACTERTIC_CONFIGURATION
+	0X2904 CHARACTERTIC_PRESENTATION_FORMAT
+	0X2905 CHARACTERTIC_AGGREGATE
+	0X2906 VALID_RANGE
+	0X2907 EXTERNAL_REPORT_REFERENCE
+	0X2908 REPORT_REFERENCE
+	0X290B ENVIR_SENSING_CONFIGURATION
+	0X290C ENVIR_SENSING_MEASUREMENT
+	0X290D ENVIR_SENSING_TRIGGER_SETTING
+	)
+	/* LE L2CAP CID */
+	(
+	0x0004 LE_L2CAP_CID_ATT
+	0x0005 LE_L2CAP_CID_SIGNAL
+	0x0006 LE_L2CAP_CID_SMP
+	)
+
+	//LE address type
+	(
+	0 LE_ADDR_TYPE_PUBLIC
+	1 LE_ADDR_TYPE_RANDOM
+	)
+	//LE address type bitmap
+	(
+	7 LE_RECEIVER_ADDR_BIT
+	6 LE_SENDER_ADDR_BIT
+	)
+	//LE SCAN TYPE
+	(
+	0x00 LE_SCAN_TYPE_PASSIVE //no SCAN_REQ shall be sent
+	0x01 LE_SCAN_TYPE_ACTIVE
+	)
+
+	//LE SCAN ENABLE
+	(
+	0x00 LE_SCAN_DISABLE
+	0x01 LE_SCAN_ENABLE
+	0x0101 LE_ACTIVE_SCAN_ENABLE
+	)
+
+	//LE FIND INFORMATION RESPONSE
+	//THE FORMAT OF THE INFORMATION DATA
+	(
+	0x01 UUID_SIZE_16BIT
+	0x02 UUID_SIZE_128BIT
+	)
+
+	(
+	0x0000 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	0x0001 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED
+	)
+
+//	le_state_map 0-2 is reserved for state_inconn,state_insniff and state_sco
+(
+3 lestate_got_first_packet
+4 lestate_encryption
+5 lestate_update_param
+6 lestate_update_map
+)
+
+// 	le mode
+(
+0 lemode_idle
+1 lemode_slave
+3 lemode_master
+)
+
+
+(
+0x01 LLID_CONTINUE
+0x02 LLID_START
+0x03 LLID_LE_LL
+0x01 LLID_EMPTY
+)
+
+(
+4 LE_TX_BUFF_COUNT
+3 LE_TX_BUFF_UPDATE_LOOPCNT //LE_TX_BUFF_COUNT-1
+
+12 LE_MD_MAX_COUNT
+)
+
+
+(
+0 LE_INITATOR_LTK_BIT
+1 LE_INITATOR_IRK_BIT
+2 LE_INITATOR_CSRK_BIT
+)
+
+(
+0x00 LE_PAIRING_MODE_NONE
+0x01 LE_PAIRING_MODE_LAGACY_JUSTWORK
+0x02 LE_PAIRING_MODE_LAGACY_PASSKEY
+0x81 LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK
+0x82 LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+0x83 LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+
+7 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+)
+
+
+(
+0 FLAG_IOCAP_DISPLAYONLY
+1 FLAG_IOCAP_DISPLAYYESNO
+2 FLAG_IOCAP_KEYBOARDONLY
+3 FLAG_IOCAP_NOINPUTNOOUTPUT
+4 FLAG_IOCAP_KEYBOARDDISPLAY
+
+0x00 FLAG_OOB_DATA_FLAG_NO
+)
+
+(
+0x00 FLAG_LE_NO_BONDING_NO_MITM
+0x01 FLAG_LE_BONDING_NO_MITM
+0x04 FLAG_LE_NO_BONDING_MITM
+0x05 FLAG_LE_BONDING_MITM
+0x09 FLAG_LE_BONDING_NO_MITM_SECURE
+0x0D FLAG_LE_BONDING_MITM_SECURE
+
+2 LE_AUTH_MITM_BIT
+3 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+)
+
+(
+0  LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND
+1  LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE
+2  LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE
+
+)
+
+(
+0 MASTER_PUBLIC_ADDR
+1 MASTER_RANDOM_ADDR
+)
+
+(
+0x06 LE_ERR_PIN_OR_KEY_MISSING
+)
+
+
+(
+96000 TIMER_SMP_PAIRING_TIMEOUT //30S
+)
+//mem_le_pairing_state
+(
+0 FLAG_LE_PAIRING_NULL
+1 FLAG_LE_PAIRING_START
+2 FLAG_LE_PAIRING_SEND_RECURITY_REQ
+3 FLAG_LE_PAIRING_RCV_PAIRING_REQ
+4 FLAG_LE_PAIRING_AUTH
+5 FLAG_LE_PAIRING_AFTER_AUTH
+6 FLAG_LE_PAIRING_SEND_START_ENC_RSP
+7 FLAG_LE_PARING_SEND_ENC_INFORMATION
+8 FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION 
+9 FLAG_LE_PARING_SEND_INDENTITY_INFORMATION
+0xff FLAG_LE_PAIRING_END
+)
+
+
+
+/*LE secure connect state */
+(
+0x00 LE_SC_STAT_NULL
+0x01 LE_SC_STAT_RECEIVE_PUBLIC_KEY
+0x02 LE_SC_STAT_WAIT_SEND_PUBLIC_KEY
+0x03 LE_SC_STAT_SEND_PUBLIC_KEY
+0x04 LE_SC_STAT_RECEIVE_RANDOM
+0x05 LE_SC_STAT_SEND_RANDOM
+0x06 LE_SC_STAT_RECEIVE_DHKEY
+0x07 LE_SC_STAT_WAIT_CONFIRM_GKEY
+0x08 LE_SC_STAT_PASSKEY_WAIT_CONFIRM
+)
+
+
+(
+0 FLAG_LE_SC_CONFRIM_NULL
+1 FLAG_LE_SC_CONFRIM_GKEY_OK
+)
+
+//mem_le_enc_state
+(
+0 FLAG_LE_ENC_NULL
+1 FLAG_LE_RCV_ENC_START
+2 FLAG_LE_ENC_PAUSE
+3 FLAG_LE_RCV_START_ENC_RSP
+4 FLAG_LE_SEND_START_ENC_RSP
+0xff FLAG_LE_ENC_END
+)
+
+(//mem_le_configuration
+//bit0:use fixed key , ble passkey pairing
+0 BIT_BLE_PASSKEY_FIXED_KEY
+//bit1:ble pairing use fixed long term key
+1 BIT_BLE_PAIRING_FIXED_LTK
+//bit2:ble transmit packet will set more data flag
+2 BIT_BLE_TRANSMIT_PACKET_BY_MD
+//bit3:master read handle, with requires an authenticated link
+3 BIT_BLE_READ_AUTH
+//bit4:master write handle, with requires an authenticated link
+4 BIT_BLE_WRITE_AUTH
+//bit5:cannot enter long sleep
+5 BIT_BLE_SHORT_MULT
+
+)
+
+(
+0 BIT_ADV_CHANNEL_MAP_37
+1 BIT_ADV_CHANNEL_MAP_38
+2 BIT_ADV_CHANNEL_MAP_39
+)
+
+
+
+
+0x04b6 mem_lmo_header_length
+0x04b7 mem_lmo_header_opcode
+0x04b8 mem_lmo_payload
+0x04c9 mem_lmi_accepted_opcode
+0x04ca mem_disconn_reason_send
+0x04cb mem_tx_fixed_freq
+0x04cc mem_rx_fixed_freq
+0x04cd mem_ext_features_page
+0x04ce mem_lmpext_ssp_enable
+0x04d0 mem_remote_sppcap
+0x04d1 mem_lmp_conn_state
+0x04d2 mem_soft_timer
+0x04d4 mem_pincode_state
+0x04d5 mem_sres_tid
+0x04d6 mem_accptsco_tid
+0x04d7 mem_auth_enable
+0x04d8 mem_wait_encryption
+0x04d9 mem_sniff_payload
+0x04e9 mem_aurand_send_delay_time
+
+
+	(
+	//bit flag:mem_classic_bt_flag
+	0 FLAG_SSP_REJECT_JUSTWORK
+	1 SHORT_MULT_FLAG
+	)
+	
+	(
+	//bit map
+	0 pair_state_inrand
+	1 pair_state_inrand_acpt
+	2 pair_state_send_comb
+	3 pair_state_recv_comb
+	4 pair_state_send_aurand
+	5 pair_state_recv_sres
+	6 pair_state_recv_aurand
+	7 pair_state_send_sres	
+	)
+	/* LMP opcodes */
+	(
+	1 LMP_NAME_REQ 
+	2 LMP_NAME_RES 
+	3 LMP_ACCEPTED 
+	4 LMP_NOT_ACCEPTED 
+	5 LMP_CLKOFFSET_REQ 
+	6 LMP_CLKOFFSET_RES 
+	7 LMP_DETACH 
+	8 LMP_IN_RAND 
+	9 LMP_COMB_KEY 
+	10 LMP_UNIT_KEY 
+	11 LMP_AU_RAND 
+	12 LMP_SRES 
+	13 LMP_TEMP_RAND 
+	14 LMP_TEMP_KEY 
+	15 LMP_ENCRYPTION_MODE_REQ 
+	16 LMP_ENCRYPTION_KEY_SIZE_REQ 
+	17 LMP_START_ENCRYPTION_REQ 
+	18 LMP_STOP_ENCRYPTION_REQ 
+	19 LMP_SWITCH_REQ 
+	20 LMP_HOLD
+	21 LMP_HOLD_REQ
+	23 LMP_SNIFF_REQ 
+	24 LMP_UNSNIFF_REQ 
+	26 LMP_PARK_REQ 
+	27 LMP_SET_BROADCAST_SCAN_WINDOW 
+	28 LMP_MODIFY_BEACON 
+	29 LMP_UNPARK_BD_ADDR_REQ 
+	30 LMP_UNPARK_PM_ADDR_REQ 
+	31 LMP_INCR_POWER_REQ 
+	32 LMP_DECR_POWER_REQ 
+	33 LMP_MAX_POWER 
+	34 LMP_MIN_POWER 
+	35 LMP_AUTO_RATE 
+	36 LMP_PREFERRED_RATE 
+	37 LMP_VERSION_REQ 
+	38 LMP_VERSION_RES 
+	39 LMP_FEATURES_REQ 
+	40 LMP_FEATURES_RES 
+	41 LMP_QUALITY_OF_SERVICE 
+	42 LMP_QUALITY_OF_SERVICE_REQ 
+	43 LMP_SCO_LINK_REQ 
+	44 LMP_REMOVE_SCO_LINK_REQ 
+	45 LMP_MAX_SLOT 
+	46 LMP_MAX_SLOT_REQ 
+	47 LMP_TIMING_ACCURACY_REQ 
+	48 LMP_TIMING_ACCURACY_RES 
+	49 LMP_SETUP_COMPLETE 
+	50 LMP_USE_SEMI_PERMANENT_KEY 
+	51 LMP_HOST_CONNECTION_REQ 
+	52 LMP_SLOT_OFFSET 
+	53 LMP_PAGE_MODE_REQ 
+	54 LMP_PAGE_SCAN_MODE_REQ 
+	55 LMP_SUPERVISION_TIMEOUT 
+	56 LMP_TEST_ACTIVATE
+	57 LMP_TEST_CONTROL
+	58 LMP_ENC_KEY_SIZE_MASK_REQ
+	59 LMP_ENC_KEY_SIZE_MASK_RES
+	60 LMP_SET_AFH
+
+	/* simple pairing support */
+	61 LMP_ENCAPSULATED_HEADER
+	62 LMP_ENCAPSULATED_PAYLOAD
+	63 LMP_SIMPLE_PAIRING_CONFIRM
+	64 LMP_SIMPLE_PAIRING_NUMBER
+	65 LMP_DHKEY_CHECK
+	127 LMP_ESCAPE
+	127 LMP_ESCAPE_4   /* add 2bytes LMP header support  */   
+	)
+	/* LMP EXT opcodes, ORed with bit 7 to make difference to nonEXT */
+	(
+	129 LMP_EXT_ACCEPTED
+	130 LMP_NOT_ACCEPTED_EXT
+	131 LMP_EXT_FEATURES_REQ
+	132 LMP_EXT_FEATURES_RES
+	139 LMP_PACKET_TYPE_TABLE_REQ
+	140 LMP_EXT_ESCO_LINK_REQ
+	141 LMP_EXT_REMOVE_ESCO_REQ
+	144 LMP_EXT_CHN_CLASSIFICATION_REQ
+	145 LMP_EXT_CHN_CLASSIFICATION
+	149 LMP_SNIFF_SUBRATING_REQ
+	150 LMP_SNIFF_SUBRATING_RES
+	151 LMP_PAUSE_ENCRYPTION_REQ
+	152 LMP_RESUME_ENCRYPTION_REQ
+	153 LMP_IO_CAP_REQ
+	154 LMP_IO_CAP_RES
+	)
+	/* LMP reason codes */
+	(
+	0x05 AUTHENTICATION_FAILURE_ERROR
+	0x06 KEY_MISSING
+	0x0b ACL_CONNECTION_ALREADY_EXISTS
+	0x13 OTHER_END_TERMINATED
+	0x15 ABOUT_TO_POEWR_OFF
+	0x16 LOCAL_HOST
+	0x18 PAIRING_NOT_ALLOWED
+	0x19 UNKNOWN_LMP_PDU
+	0x1A UNSUPPORTED_LMP_FEATURE 
+	0x1F UNSPECIFIED_ERROR
+	0x20 UNSUPPORTED_PARAMETERS
+	0x21 SWITCH_NOT_ALLOWED
+	0x23 TRANSACTION_COLLISION
+	0x24 PDU_NOT_ALLOWED
+	0x25 ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x2e NOT_SUPPORT_CHN_CLASSIFICATION
+	0x37 NOT_SUPPORT_SSP
+	)
+
+	/* test mode scenarios */
+	(
+	0 PAUSE_TEST_MODE
+	1 ZERO_PATTERN
+	2 ONE_PATTERN
+	3 ALT_PATTERN
+	4 PSEUDORANDOM
+	5 CLOSED_LOOP_BACK_ACL
+	6 CLOSED_LOOP_BACK_SCO
+	7 ACL_WITHOUT_WHITENING
+	8 SCO_WITHOUT_WHITENING
+	9 ALT2_PATTERN
+	255 EXIT_TEST_MODE
+	)
+	/* test mode hoppig modes */
+	(
+	0 FIXED_FREQ
+	1 NORMAL_HOP
+	)
+
+	/* mem_lmp_tid indicates which type of LMP will be sent */
+	(
+	0 TID_NORM_REPLY
+	1 TID_NORM_SEND
+	2 TID_ONE
+	3 TID_ZERO
+	4 TID_PAIRING
+	5 TID_ENCRYPTION
+	6 TID_VARIABLE
+	7 TID_RX
+	)
+
+	/* ============== lmp status ==========*/
+	(
+	0 lmp_incoming
+	1 lmp_outgoing
+	2 lmp_reject_msg
+	3 lmp_clear_msg
+	4 upper_reject_msg
+	5 upper_clear_msg
+	)
+
+(
+0x2ee00 TIMER_ONE_MINUTE //96000*2
+80 TIMER_SWITCH_WAITE
+12 TIMER_ENPT_WAITE
+)
+
+(
+0 SWITCH_FLAG_INIT
+1 SWITCH_FLAG_ACCEPT
+2 SWITCH_FLAG_NOT_ACCEPT
+)
+(
+0 NULL_ENCRYP
+1 DONE_ENCRYP
+)
+
+//
+//
+//Large memory blocks defined in this file.
+//Blocks Shall be defined with absolute address.
+//Blocks' length Shall be specified in comment following Blocks' names.
+//Different blocks MAY be overlap.
+//Blocks defined in this file Shall NOT be overlap with variable in memmap.format.
+
+// USB C51 exchange area
+(
+0xff0 mem_mcmd
+0xff1 mem_mouse_data
+)
+
+//l2cap RX buffers
+(
+0x1000 mem_l2cap_rxbuff1		//0x400
+0x1400 mem_l2cap_rxbuff2		//0x400
+//end address:0x17ff
+)
+//l2cap TX buffers
+(
+0x1800 mem_tx_buff0		//128
+0x1880 mem_tx_buff1		//128
+0x1900 mem_tx_buff2		//128
+0x1980 mem_tx_buff3		//128
+0x1a00 mem_tx_buff4		//128
+0x1a80 mem_tx_buff5		//128
+0x1b00 mem_tx_buff6		//128
+0x1b80 mem_tx_buff7		//128
+//end address: 0x1bff
+)
+
+(
+0x1800 mem_le_tx_buffer0
+0x1900 mem_le_tx_buffer1
+0x1a00 mem_le_tx_buffer2
+0x1b00 mem_le_tx_buffer3
+//end addr:0x1dff
+)
+
+
+//uart buffer
+(
+0x1800 mem_h5rx_buf//0x400
+0x1bff mem_h5rx_buf_end
+0x1c00 mem_h5tx_buf
+0x1fff mem_h5tx_buf_end
+)
+
+(
+0x4c00 mem_module_rx_buf//0x400
+0x4c00 mem_module_rx_buf_little
+0x4fff mem_module_rx_buf_end
+0x1c00 mem_module_tx_buf
+0x1fff mem_module_tx_buf_end
+)
+
+(
+0x1800 mem_ir_record
+0x1c      mem_ir_record_max
+)
+
+
+
+(
+	  0 patch00_0
+	  1 patch00_1
+	  2 patch00_2
+	  3 patch00_3
+	  4 patch00_4
+	  5 patch00_5
+	  6 patch00_6
+	  7 patch00_7
+	  8 patch01_0
+	  9 patch01_1
+	 10 patch01_2
+	 11 patch01_3
+	 12 patch01_4
+	 13 patch01_5
+	 14 patch01_6
+	 15 patch01_7
+	 16 patch02_0
+	 17 patch02_1
+	 18 patch02_2
+	 19 patch02_3
+	 20 patch02_4
+	 21 patch02_5
+	 22 patch02_6
+	 23 patch02_7
+	 24 patch03_0
+	 25 patch03_1
+	 26 patch03_2
+	 27 patch03_3
+	 28 patch03_4
+	 29 patch03_5
+	 30 patch03_6
+	 31 patch03_7
+	 32 patch04_0
+	 33 patch04_1
+	 34 patch04_2
+	 35 patch04_3
+	 36 patch04_4
+	 37 patch04_5
+	 38 patch04_6
+	 39 patch04_7
+	 40 patch05_0
+	 41 patch05_1
+	 42 patch05_2
+	 43 patch05_3
+	 44 patch05_4
+	 45 patch05_5
+	 46 patch05_6
+	 47 patch05_7
+	 48 patch06_0
+	 49 patch06_1
+	 50 patch06_2
+	 51 patch06_3
+	 52 patch06_4
+	 53 patch06_5
+	 54 patch06_6
+	 55 patch06_7
+	 56 patch07_0
+	 57 patch07_1
+	 58 patch07_2
+	 59 patch07_3
+	 60 patch07_4
+	 61 patch07_5
+	 62 patch07_6
+	 63 patch07_7
+	 64 patch08_0
+	 65 patch08_1
+	 66 patch08_2
+	 67 patch08_3
+	 68 patch08_4
+	 69 patch08_5
+	 70 patch08_6
+	 71 patch08_7
+	 72 patch09_0
+	 73 patch09_1
+	 74 patch09_2
+	 75 patch09_3
+	 76 patch09_4
+	 77 patch09_5
+	 78 patch09_6
+	 79 patch09_7
+	 80 patch0a_0
+	 81 patch0a_1
+	 82 patch0a_2
+	 83 patch0a_3
+	 84 patch0a_4
+	 85 patch0a_5
+	 86 patch0a_6
+	 87 patch0a_7
+	 88 patch0b_0
+	 89 patch0b_1
+	 90 patch0b_2
+	 91 patch0b_3
+	 92 patch0b_4
+	 93 patch0b_5
+	 94 patch0b_6
+	 95 patch0b_7
+	 96 patch0c_0
+	 97 patch0c_1
+	 98 patch0c_2
+	 99 patch0c_3
+	100 patch0c_4
+	101 patch0c_5
+	102 patch0c_6
+	103 patch0c_7
+	104 patch0d_0
+	105 patch0d_1
+	106 patch0d_2
+	107 patch0d_3
+	108 patch0d_4
+	109 patch0d_5
+	110 patch0d_6
+	111 patch0d_7
+	112 patch0e_0
+	113 patch0e_1
+	114 patch0e_2
+	115 patch0e_3
+	116 patch0e_4
+	117 patch0e_5
+	118 patch0e_6
+	119 patch0e_7
+	120 patch0f_0
+	121 patch0f_1
+	122 patch0f_2
+	123 patch0f_3
+	124 patch0f_4
+	125 patch0f_5
+	126 patch0f_6
+	127 patch0f_7
+	128 patch10_0
+	129 patch10_1
+	130 patch10_2
+	131 patch10_3
+	132 patch10_4
+	133 patch10_5
+	134 patch10_6
+	135 patch10_7
+	136 patch11_0
+	137 patch11_1
+	138 patch11_2
+	139 patch11_3
+	140 patch11_4
+	141 patch11_5
+	142 patch11_6
+	143 patch11_7
+	144 patch12_0
+	145 patch12_1
+	146 patch12_2
+	147 patch12_3
+	148 patch12_4
+	149 patch12_5
+	150 patch12_6
+	151 patch12_7
+	152 patch13_0
+	153 patch13_1
+	154 patch13_2
+	155 patch13_3
+	156 patch13_4
+	157 patch13_5
+	158 patch13_6
+	159 patch13_7
+	160 patch14_0
+	161 patch14_1
+	162 patch14_2
+	163 patch14_3
+	164 patch14_4
+	165 patch14_5
+	166 patch14_6
+	167 patch14_7
+	168 patch15_0
+	169 patch15_1
+	170 patch15_2
+	171 patch15_3
+	172 patch15_4
+	173 patch15_5
+	174 patch15_6
+	175 patch15_7
+	176 patch16_0
+	177 patch16_1
+	178 patch16_2
+	179 patch16_3
+	180 patch16_4
+	181 patch16_5
+	182 patch16_6
+	183 patch16_7
+	184 patch17_0
+	185 patch17_1
+	186 patch17_2
+	187 patch17_3
+	188 patch17_4
+	189 patch17_5
+	190 patch17_6
+	191 patch17_7
+	192 patch18_0
+	193 patch18_1
+	194 patch18_2
+	195 patch18_3
+	196 patch18_4
+	197 patch18_5
+	198 patch18_6
+	199 patch18_7
+	200 patch19_0
+	201 patch19_1
+	202 patch19_2
+	203 patch19_3
+	204 patch19_4
+	205 patch19_5
+	206 patch19_6
+	207 patch19_7
+	208 patch1a_0
+	209 patch1a_1
+	210 patch1a_2
+	211 patch1a_3
+	212 patch1a_4
+	213 patch1a_5
+	214 patch1a_6
+	215 patch1a_7
+	216 patch1b_0
+	217 patch1b_1
+	218 patch1b_2
+	219 patch1b_3
+	220 patch1b_4
+	221 patch1b_5
+	222 patch1b_6
+	223 patch1b_7
+	224 patch1c_0
+	225 patch1c_1
+	226 patch1c_2
+	227 patch1c_3
+	228 patch1c_4
+	229 patch1c_5
+	230 patch1c_6
+	231 patch1c_7
+	232 patch1d_0
+	233 patch1d_1
+	234 patch1d_2
+	235 patch1d_3
+	236 patch1d_4
+	237 patch1d_5
+	238 patch1d_6
+	239 patch1d_7
+	240 patch1e_0
+	241 patch1e_1
+	242 patch1e_2
+	243 patch1e_3
+	244 patch1e_4
+	245 patch1e_5
+	246 patch1e_6
+	247 patch1e_7
+	248 patch1f_0
+	249 patch1f_1
+	250 patch1f_2
+	251 patch1f_3
+	252 patch1f_4
+	253 patch1f_5
+	254 patch1f_6
+	255 patch1f_7
+	  0 patch20_0
+	  1 patch20_1
+	  2 patch20_2
+	  3 patch20_3
+	  4 patch20_4
+	  5 patch20_5
+	  6 patch20_6
+	  7 patch20_7
+	  8 patch21_0
+	  9 patch21_1
+	 10 patch21_2
+	 11 patch21_3
+	 12 patch21_4
+	 13 patch21_5
+	 14 patch21_6
+	 15 patch21_7
+	 16 patch22_0
+	 17 patch22_1
+	 18 patch22_2
+	 19 patch22_3
+	 20 patch22_4
+	 21 patch22_5
+	 22 patch22_6
+	 23 patch22_7
+	 24 patch23_0
+	 25 patch23_1
+	 26 patch23_2
+	 27 patch23_3
+	 28 patch23_4
+	 29 patch23_5
+	 30 patch23_6
+	 31 patch23_7
+	 32 patch24_0
+	 33 patch24_1
+	 34 patch24_2
+	 35 patch24_3
+	 36 patch24_4
+	 37 patch24_5
+	 38 patch24_6
+	 39 patch24_7
+	 40 patch25_0
+	 41 patch25_1
+	 42 patch25_2
+	 43 patch25_3
+	 44 patch25_4
+	 45 patch25_5
+	 46 patch25_6
+	 47 patch25_7
+	 48 patch26_0
+	 49 patch26_1
+	 50 patch26_2
+	 51 patch26_3
+	 52 patch26_4
+	 53 patch26_5
+	 54 patch26_6
+	 55 patch26_7
+	 56 patch27_0
+	 57 patch27_1
+	 58 patch27_2
+	 59 patch27_3
+	 60 patch27_4
+	 61 patch27_5
+	 62 patch27_6
+	 63 patch27_7
+	 64 patch28_0
+	 65 patch28_1
+	 66 patch28_2
+	 67 patch28_3
+	 68 patch28_4
+	 69 patch28_5
+	 70 patch28_6
+	 71 patch28_7
+	 72 patch29_0
+	 73 patch29_1
+	 74 patch29_2
+	 75 patch29_3
+	 76 patch29_4
+	 77 patch29_5
+	 78 patch29_6
+	 79 patch29_7
+	 80 patch2a_0
+	 81 patch2a_1
+	 82 patch2a_2
+	 83 patch2a_3
+	 84 patch2a_4
+	 85 patch2a_5
+	 86 patch2a_6
+	 87 patch2a_7
+	 88 patch2b_0
+	 89 patch2b_1
+	 90 patch2b_2
+	 91 patch2b_3
+	 92 patch2b_4
+	 93 patch2b_5
+	 94 patch2b_6
+	 95 patch2b_7
+	 96 patch2c_0
+	 97 patch2c_1
+	 98 patch2c_2
+	 99 patch2c_3
+	100 patch2c_4
+	101 patch2c_5
+	102 patch2c_6
+	103 patch2c_7
+	104 patch2d_0
+	105 patch2d_1
+	106 patch2d_2
+	107 patch2d_3
+	108 patch2d_4
+	109 patch2d_5
+	110 patch2d_6
+	111 patch2d_7
+	112 patch2e_0
+	113 patch2e_1
+	114 patch2e_2
+	115 patch2e_3
+	116 patch2e_4
+	117 patch2e_5
+	118 patch2e_6
+	119 patch2e_7
+	120 patch2f_0
+	121 patch2f_1
+	122 patch2f_2
+	123 patch2f_3
+	124 patch2f_4
+	125 patch2f_5
+	126 patch2f_6
+	127 patch2f_7
+	128 patch30_0
+	129 patch30_1
+	130 patch30_2
+	131 patch30_3
+	132 patch30_4
+	133 patch30_5
+	134 patch30_6
+	135 patch30_7
+	136 patch31_0
+	137 patch31_1
+	138 patch31_2
+	139 patch31_3
+	140 patch31_4
+	141 patch31_5
+	142 patch31_6
+	143 patch31_7
+	144 patch32_0
+	145 patch32_1
+	146 patch32_2
+	147 patch32_3
+	148 patch32_4
+	149 patch32_5
+	150 patch32_6
+	151 patch32_7
+	152 patch33_0
+	153 patch33_1
+	154 patch33_2
+	155 patch33_3
+	156 patch33_4
+	157 patch33_5
+	158 patch33_6
+	159 patch33_7
+	160 patch34_0
+	161 patch34_1
+	162 patch34_2
+	163 patch34_3
+	164 patch34_4
+	165 patch34_5
+	166 patch34_6
+	167 patch34_7
+	168 patch35_0
+	169 patch35_1
+	170 patch35_2
+	171 patch35_3
+	172 patch35_4
+	173 patch35_5
+	174 patch35_6
+	175 patch35_7
+	176 patch36_0
+	177 patch36_1
+	178 patch36_2
+	179 patch36_3
+	180 patch36_4
+	181 patch36_5
+	182 patch36_6
+	183 patch36_7
+	184 patch37_0
+	185 patch37_1
+	186 patch37_2
+	187 patch37_3
+	188 patch37_4
+	189 patch37_5
+	190 patch37_6
+	191 patch37_7
+	192 patch38_0
+	193 patch38_1
+	194 patch38_2
+	195 patch38_3
+	196 patch38_4
+	197 patch38_5
+	198 patch38_6
+	199 patch38_7
+	200 patch39_0
+	201 patch39_1
+	202 patch39_2
+	203 patch39_3
+	204 patch39_4
+	205 patch39_5
+	206 patch39_6
+	207 patch39_7
+	208 patch3a_0
+	209 patch3a_1
+	210 patch3a_2
+	211 patch3a_3
+	212 patch3a_4
+	213 patch3a_5
+	214 patch3a_6
+	215 patch3a_7
+	216 patch3b_0
+	217 patch3b_1
+	218 patch3b_2
+	219 patch3b_3
+	220 patch3b_4
+	221 patch3b_5
+	222 patch3b_6
+	223 patch3b_7
+	224 patch3c_0
+	225 patch3c_1
+	226 patch3c_2
+	227 patch3c_3
+	228 patch3c_4
+	229 patch3c_5
+	230 patch3c_6
+	231 patch3c_7
+	232 patch3d_0
+	233 patch3d_1
+	234 patch3d_2
+	235 patch3d_3
+	236 patch3d_4
+	237 patch3d_5
+	238 patch3d_6
+	239 patch3d_7
+	240 patch3e_0
+	241 patch3e_1
+	242 patch3e_2
+	243 patch3e_3
+	244 patch3e_4
+	245 patch3e_5
+	246 patch3e_6
+	247 patch3e_7
+	248 patch3f_0
+	249 patch3f_1
+	250 patch3f_2
+	251 patch3f_3
+	252 patch3f_4
+	253 patch3f_5
+	254 patch3f_6
+	255 patch3f_7
+
+)
+(
+  0x8000 core_chipid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x8009 core_pcmoutfifo
+  0x8010 core_reset
+  0x8011 core_encrypt
+  0x8015 core_uart_txd
+  0x8022 core_ucode_hi
+  0x8023 core_ucode_ctrl
+  0x8024 core_ucode_low
+  0x8025 core_ucode_data
+  0x8040 core_halfslot
+  0x8042 core_clksel
+  0x8043 core_uart_clksel
+  0x8043 core_config 
+  0x8044 core_xtal_stable_time
+  0x8045 core_otp_addr
+  0x8046 core_otp_din
+  0x8047 core_otp_ctrl
+  0x8048 core_otpd_addr
+  0x804a core_otpd_len
+  0x804b core_otpd_ctrl
+  0x804c core_lpm_reg
+  0x804f core_lpm_isogate
+  0x8050 core_clkoff
+  0x8052 core_uart_baud
+  0x8054 core_uart_rsaddr
+  0x8056 core_uart_readdr
+  0x8058 core_uart_rrptr
+  0x805a core_uart_tsaddr
+  0x805c core_uart_teaddr
+  0x805e core_uart_twptr
+  0x8060 core_uart_trptrp
+  0x8062 core_uart_ctrl
+  0x8063 core_bist_ctrl
+  0x8064 core_pwm_pcnt3
+  0x8066 core_pwm_ncnt3 
+  0x8068 core_pwm_pcnt4
+  0x806a core_pwm_ncnt4
+  0x806c core_pwm_pcnt5
+  0x806e core_pwm_ncnt5
+  0x8070 core_gpio_oe0
+  0x8071 core_gpio_oe1
+  0x8072 core_gpio_oe2
+  0x8073 core_gpio_oe3
+  0x8074 core_gpio_out0
+  0x8075 core_gpio_out1
+  0x8076 core_gpio_out2
+  0x8077 core_gpio_out3
+  0x8078 core_gpio_pu0
+  0x8079 core_gpio_pu1
+  0x807a core_gpio_pu2
+  0x807b core_gpio_pu3
+  0x807c core_gpio_pd0
+  0x807d core_gpio_pd1
+  0x807e core_gpio_pd2
+  0x807f core_gpio_pd3
+  0x8080 core_gpio_sel
+  0x8081 core_gpio_sel1
+  0x8082 core_gpio_sel2
+  0x8083 core_gpio_key0
+  0x8084 core_gpio_key1
+  0x8085 core_gpio_key2
+  0x8086 core_spid_ctrl
+  0x8087 core_spid_delay
+  0x8088 core_spid_txlen
+  0x808a core_spid_txaddr
+  0x808c core_spid_rxaddr
+  0x808e core_spid_rxlen
+  0x8090 core_iicd_ctrl
+  0x8091 core_iicd_scl_low
+  0x8092 core_iicd_scl_high
+  0x8093 core_iicd_start_setup
+  0x8094 core_iicd_start_hold
+  0x8095 core_iicd_stop_setup
+  0x8096 core_iicd_data_setup
+  0x8097 core_iicd_data_hold
+  0x8098 core_iicd_txlen
+  0x809a core_iicd_txaddr
+  0x809c core_iicd_rxaddr
+  0x809e core_iicd_rxlen
+  0x80a0 core_pwm_pcnt0
+  0x80a2 core_pwm_ncnt0
+  0x80a4 core_pwm_pcnt1
+  0x80a6 core_pwm_ncnt1
+  0x80a8 core_pwm_pcnt2
+  0x80aa core_pwm_ncnt2
+  0x80b0 core_enc_ctrl
+  0x80b1 core_cvsd_ctrl
+  0x80b2 core_codec_ctrl
+  0x80b3 core_dec_ctrl
+
+
+
+
+  
+  0x8108 core_misc_status
+  0x8109 core_qdec_cntx
+  0x810a core_qdec_cnty
+  0x810b core_qdec_cntz
+  0x810c core_uart_status
+  0x810d core_uart_rbaud
+  0x810e core_uart_txitems
+  0x8110 core_uart_trptr
+  0x8112 core_uart_rxitems
+  0x8114 core_uart_rdptr
+  0x8116 core_uart_rwptr
+  0x8119 core_kscn_kstat
+  0x811a core_kscn_event
+  0x811b core_kscn_event_num
+  0x811c core_gpio_in
+  0x811d core_gpio_in1
+  0x8124 core_current_otp_addr
+  0x8126 core_otpd_remain
+  0x8128 core_spid_remain
+  0x812a core_iicd_remain
+  0x812c core_dma_status
+  0x812d core_perf_status
+  0x812e core_adc_in
+  0x8134 core_pcminfifo
+  0x8135 core_pcminfifo_remain
+  0x8136 core_pcmoutfifo_remain
+  0x8138 core_lpm_ctrl
+  0x813c core_lpm_xtalcnt
+  0x813d core_lpm_buckcnt
+  0x813e core_lpm_ldocnt
+  0x813f core_lpm_latch
+  0x8140 core_gpio_wakeup_low
+  0x8144 core_gpio_wakeup_high
+  0x8149 core_clk_counter
+  0x8150 core_adc_sum
+// dummy regs  
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  0x8280 core_docd_ctrl
+  0x8288 core_docd_paddr
+  0x828a core_docd_pdata
+
+  0x8300 iic_prer_low		
+  0x8301 iic_slave_addr	
+  0x8302 iic_ctr					
+  0x8303 iic_cr					
+  0x8304 iic_rxr					
+  0x8305 iic_txr					
+  0x8306 iic_sr					
+  0x8307 iic_fifo				
+
+  0x8400   mem_b_box          /* entire bank */
+  0x8500   mem_e_box          /* entire bank */
+  0x8600   mem_l_box          /* entire bank */
+
+  0x8700 memk
+
+  0x8900 rfen_rx
+  0x8901 rfen_tx
+  0x8902 rfen_mdm
+  0x8903 rfen_sn
+  0x8904 rfen_msc
+  0x8905 rfen_ck
+  0x8906 rfen_adc
+  0x8912 rf_agc_ctrl
+  0x8914 rfen_ulp
+  0x8973 rfen_chgpump
+  0x894b rf_rx_vctrl_reg1
+  0x894c rf_rx_vctrl_reg2
+  0x894d rf_rx_ib_lna
+  0x894e rf_rx_lna_ctrim
+
+  0x8950 rf_bpf_ctrim
+  0x8951 rf_bpf_ib
+  0x8952 rf_adc_rccal
+  0x8952 rf_rccal_ctrl
+  0x8953 rf_rccal_sel
+  0x8955 rf_tx_pa
+  0x895f rf_pll_rstn
+  0x8964 rf_sdm_en
+  0x8960 rf_pll_intg
+  0x8961 rf_pll_frac
+  0x8963 rf_pll_frachi
+  0x896c rf_afc_cap
+  0x8967 rf_clkpll_bias
+  0x896f rf_clkpll_en
+  0x8968 rf_clkpll_int
+  0x8969 rf_clkpll_frac
+  0x896d rf_balun_ctrim
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+  0x8980 rf_rccal_result
+  0x8981 rf_afc_d2a
+  0x8982 rf_rssi
+
+
+0x8a00 core_usb_config		
+0x8a01 core_usb_int_mask	
+0x8a04 core_usb_addr
+0x8a10 core_usb_trig	
+0x8a11 core_usb_stall		
+0x8a12 core_usb_clear		
+0x8a18 core_usb_ep
+0x8a18 core_usb_dfifo0 
+0x8a19 core_usb_dfifo1  
+0x8a1a core_usb_dfifo2 
+0x8a20 core_usb_ep_len
+0x8a26 core_usb_status		
+0x8a27 core_usb_fifo_empty
+0x8a28 core_usb_fifo_full
+
+
+4 rx_freq_offset
+1 tx_freq_offset
+
+/* bit difinitions */
+  4 whiteoff_bit
+  6 clksel_rc
+  5 clksel_dpll
+  4 clksel_xtal
+  5 adc_rccal
+  0 bpf_rccal
+  1 demod_clkoff
+
+(
+  2 reload_code
+  3 gpio_latch
+  4 enable_retmem
+  7 cold_wake
+  0xef isogate_mask
+  0xe0 cs_mask
+)
+
+// misc ctrl
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+// dma status bit
+(
+  0 otpd_crcok
+  1 otpd_done
+  2 spid_crcok
+  3 spid_done
+  4 iicd_crcok
+  5 iicd_done
+  6 iicd_ack
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x91 uart_ctrl_5line
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x00 uartclk_crystal
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x34 uart_baud_921600
+0x9c4 uart_baud_9600
+0x2dc6c00 uart_clk
+0x16E3600 uart_clk_24
+
+//core_clkoff
+(
+	0 CLOCK_OFF_AUTH_ROM
+	1 CLOCK_OFF_UC_ROM
+	2 CLOCK_OFF_DEBUG_UART
+	3 CLOCK_OFF_SCHED_RAM
+	4 CLOCK_OFF_TRANCE_FIFO
+	5 CLOCK_OFF_CORDIC
+	6 CLOCK_OFF_OTPD
+	7 CLOCK_OFF_I2C
+	8 CLICK_OFF_8051
+	9 CLOCK_OFF_KEYSCAN
+	0x0a CLOCK_OFF_USB
+	0x0b CLOCK_OFF_QDECODER
+	0x0c CLOCK_OFF_SPI
+	0x0d CLOCK_OFF_PWM
+	0x0e CLOCK_OFF_CODEC
+	0x0f CLOCK_OFF_UART
+)
+
+
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_rfcomm_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $ */
+/* Orisil Technology                                                      */
+/*****************************************************************************/
+
+/**********/
+/* memory */
+/**********/
+
+0x04ed memRemoteRPNBitRate
+0x04ee memRemotePRNDataBits
+0x04ef memRemotePRNStopBit
+0x04f0 memRemotePRNParity
+0x04f1 memRemotePRNFlowControl
+0x04f2 memRemotePRNXon
+0x04f3 memRemotePRNXoff
+0x04f4 mem_mod2div_temp
+0x04f7 mem_contw_temp
+0x04f9 mem_attrib_list
+0x04fb mem_current_adss
+0x04fc mem_current_channel
+0x04fd mem_current_frame_type
+0x04fe mem_current_fcs
+0x04ff mem_current_length
+0x0501 mem_rfcomm_uih_payload_ptr
+0x0503 mem_uih_cmd_type
+0x0504 mem_uih_length
+0x0506 mem_param_payload_ptr
+0x0508 mem_ms_param
+0x0509 mem_pn_credit_flow_type_info
+0x050a mem_pn_priority
+0x050b mem_pn_acknowledg_timer
+0x050c mem_pn_max_retrans
+0x050d mem_rfcomm_send_adss
+0x050e mem_rfcomm_send_frame_type
+0x050f mem_rfcomm_send_fcs
+0x0510 mem_rfcomm_send_offset
+
+
+
+(
+0 CREDIT_DISABLE
+1 CREDIT_ENABLE
+)
+
+
+/************************************************************************/
+  
+
+ 
+/************/
+/* constant */
+/************/
+
+/* RFCOMM state for Headset (memRFCOMM_State) */ 
+  (
+    0 RFCOMM_IDLE           /* before the responsor HS receive SABM            */
+    1 RFCOMM_W4_DLCI0_OPEN
+    2 RFCOMM_W4_DLCI0_CLOSE
+    3 RFCOMM_START_DLCI0    /* After respond SABM frame (DLCI=0)               */
+    4 RFCOMM_W4_DLCI_OPEN
+    5 RFCOMM_W4_DLCI_CLOSE
+    6 RFCOMM_DLCI_OPENED    
+   
+  )
+  
+/* RFCOMM timer constants   */
+  (
+    1000  RFCOMM_T1         /* Used by SABM and DISC frames,100*20ms = 20s     */     
+    1000  RFCOMM_T2         /* Used by commands send in UIH on DLCI0,          */
+    300   RFCOMM_T3_RINGON  /* 6s for ring fade time                           */
+  
+  )
+
+/* Command Type */
+  (
+    0x3F RSP_RX_SABM        /*responsor expect SABM from initiator             */
+    0x3F INI_TX_SABM
+	
+    0x73 RSP_TX_UA          /*responsor send out UA command                    */
+    0x73 UA_WFBIT_SET	    /* UA control field with F bit set                 */
+	
+    0xEF RSP_RX_UIH         /*responsor expect UIH from initiator              */
+
+    0xEF RSP_TX_UIH         /*responsor send UIH to initiator                  */
+     
+    0x1F RSP_TX_DM          /*responsor send DM to initiator                   */
+    0x1F DM_WFBIT_SET       /* DM control field with F bit set                 */
+    0x0F DM_WFBIT_CLEAR     /* DM control field with F bit clear               */
+
+    0x53 RSP_RX_DISC        /*responsor expect DISC from initiator             */
+    0x53 INI_TX_DISC	    /*initiator send DISC control type command         */
+     
+    0xFF RSP_RX_UIH_WDATA   /*UIH data with credit flow control info           */
+    
+    
+  )
+
+/* Multiplexor commands and responses frames */
+  (
+    0x83 PN_COMMAND           /* Bit 0 EA C/R Type = 000001         */
+    0x81 PN_RESPONSOR         /* Bit 0 EA C/R Type = 000001         */
+    
+    0xE3 MSC_COMMAND          /* Bit 0 EA C/R Type = 000111         */
+    0xE1 MSC_RESPONSOR
+ 
+    0x13 NSC_COMMAND          /* Bit 0 EA C/R Type = 001000         */
+    0x11 NSC_RESPONSOR        /* Bit 0 EA C/R Type = 001000         */
+
+    0x23 TEST_COMMAND         /* Bit 0 EA C/R Type = 000111         */
+    0x21 TEST_RESPONSOR 
+    
+    0x93 RPN_COMMAND          /* Bit 0 EA C/R Type = 001001         */
+    0x91 RPN_RESPONSOR 
+    
+    0x53 RLS_COMMAND          /* Bit 0 EA C/R Type = 001010         */
+    0x51 RLS_RESPONSOR 
+
+    0xA3 FCON_COMMAND         /* Bit 0 EA C/R Type = 000101         */
+    0xA1 FCON_RESPONSOR 
+    
+    0x63 FCOFF_COMMAND        /* Bit 0 EA C/R Type = 000110         */
+    0x61 FCOFF_RESPONSOR 
+    	
+    0x03 RLS_OVERRUN
+    0x05 RLS_PARITY_ERROR
+    0x09 RLS_FRAMING_ERROR
+  )
+
+/* memLocalCredit */
+  (
+    0x01 RFCOMM_CREDIT
+  )
+
+  (
+  	0x007f RFCOMM_MAX_FRAME_SIZE
+  )
+
+/* UIH received Data length */
+  (
+    0  LENGTH_ZERO
+    
+    6  LENGTH_OK
+    7  LENGTH_HOT
+    8  LENGTH_RING
+    9  LENGTH_ERROR
+    9  LENGTH_AGVOL_ONEBYTE
+    10 LENGTH_AGVOL_TWOBYTE
+    10 LENGTH_VOL_ONEBYTE
+    11 LENGTH_VOL_TWOBYTE
+    12 LENGTH_BRSF
+    13 LENGTH_PLUS_CIEV
+    15 LENGTH_INBANDRING
+    14 LENGTH_CIEV_CALL
+    17 LENGTH_CRING
+    20 LENGTH_BRSF_OK
+    24 LENGTH_CIND0
+    28 LENGTH_CIEV_TWO
+    32 LENGTH_CIND_OK
+    59 LENGTH_CIND_OK2
+    100 LENGTH_DISCARD
+  )
+  
+/************/
+/* flags    */
+/************/
+  
+/* memRFCOMM_L2CAP_Interface */
+  (
+    0 RFCOMM_TX_W4BUF_FLAG    /* Wait for Tx buffer empty flag */
+    1 RFCOMM_CLOSE_LINK_FLAG
+  )
+  
+
+    
+/* memRemoteMSC		*/
+  (
+    0 MSC_EA_BIT
+    1 MSC_FC_BIT
+    2 MSC_RTC_BIT
+    3 MSC_RTR_BIT
+    6 MSC_IC_BIT
+    7 MSC_DV_BIT
+  )
+
+/* memRemoteRLS         */
+  (
+    0x0C OVERRUN_ERROR
+    0x0A PARITY_ERROR
+    0x09 FRAMING_RERROR
+  )
+  
+/* memRemoteRPNBitRate  */
+  (
+    0x00 BITS2400
+    0x01 BITS4800
+    0x02 BITS7200
+    0x03 BITS9600
+    0x04 BITS19200
+    0x05 BITS38400
+    0x06 BITS57600
+    0x07 BITS115200
+    0x08 BITS230400
+  )
+  
+/* memRemotePRNDataBits	*/
+  (
+    0x00 DATABITS5
+    0x01 DATABITS6
+    0x02 DATABITS7
+    0x03 DATABITS8
+  )
+  
+/* memRemotePRNStopBit	*/
+  (
+    0    ONESTOP
+    1    ONEHALFSTOP
+  )
+  
+/* memRemotePRNParity   */
+  (
+    0    ODDPARITY
+    1    EVENPARITY
+    2    MARKPARITY
+    3    SPACEPARITY
+    
+    7    PARITY_ENABLE_BIT
+  )
+
+/* RPN bit mask(in)     */
+  (
+     0   BIT_RATE_MASK_BIT
+     1   DATA_BITS_MASK_BIT
+     2   STOP_BITS_MASK_BIT
+     3   PARITY_MASK_BIT
+     4   PARITY_TYPE_MASK_BIT
+     5   XON_CHAR_MASK_BIT
+     6   XOFF_CHAR_MASK_BIT
+  )
+  
+/* RPN bit mask(in) 2    */
+  (
+     0   XON_XOFF_INPUT_MASK_BIT
+     1   XON_XOFF_OUTPUT_MASK_BIT
+     2	 RTR_INPUT_MASK_BIT
+     3   RTR_OUTPUT_MASK_BIT
+     4   RTC_INPUT_MASK_BIT
+     5   RTC_OUTPUT_MASK_BIT
+
+  )
+
+/* memRFCOMM_Request	*/
+  (
+    0 SEND_MSC_CMD_REQ_FLAG
+    1 SEND_AT_CKPD_REQ_FLAG
+    2 SEND_RING_REQ_FLAG
+    3 SEND_SABM_CMD
+  )
+  
+/* memRFCOMM_Misc_Flag  */
+  (
+    0 MSC_CDM_ALREADY_SEND_FLAG
+    1 CREDIT_FLOW_USED_FLAG
+    2 DONT_EMBEDDED_CREDIT_FLAG 
+    3 MSC_EXCHANGE_DONE_FLAG
+    4 FLOW_CONTROL_FCOFF_BIT            /* set when receive FCoff, clear when FCon   */
+  )
+  
+/* memRemoteMSC		*/
+  (
+    1 FLOW_CONTROL_FC_BIT		/* received MSC FC bits                      */
+  
+  )
+/* Address filed        */
+  (
+    0 ADDR_EA_BIT
+    1 ADDR_CR_BIT
+    2 ADDR_D_BIT
+  )
+//should be same as descripted in SDP
+(
+    1 SPP_SLAVE_CHANNEL
+    7 OBEX_SERVER_CHANNEL
+    8 HF_SERVER_CHANNEL 
+    9 HS_SERVER_CHANNEL
+)
+/* memRFCOMM_Flag */
+(
+	0 USING_HF_PROFILE
+	1 USING_HS_PROFILE
+	2 USING_SPP_PROFILE
+)
+/*RFCOMM Frame Type*/
+(
+	0x3f RFCOMM_FRAME_TYPE_SABM
+	0x73 RFCOMM_FRAME_TYPE_UA
+	0xEF RFCOMM_FRAME_TYPE_UIH
+	0xFF RFCOMM_FRAME_TYPE_UIH_CREDITS
+	0x53 RFCOMM_FRAME_TYPE_DISCONN
+)
+/*RFCOMM UIH CMD TYPE*/
+(
+	0x41 UIH_PARAM_NEG_CMD
+	0x40 UIH_PARAM_NEG_RES
+	0x49 UIH_PARAM_CMD_REMOVE_PORT
+	0x71 UIH_MODEM_STATUS_CMD
+	0x70 UIH_MODEM_STATUS_RES
+)
+
+/*bits in rfcomm address*/
+(
+	0 RFCOMM_ADDRESS_EXT_LEN
+	1 RFCOMM_ADDRESS_CR
+	2 RFCOMM_ADDRESS_DERECTION
+
+
+)
+
+	(                                   
+	0 RFCOMM_CHANNEL_STATE_PN_CMD
+	1 RFCOMM_CHANNEL_STATE_PN_RES
+	2 RFCOMM_CHANNEL_STATE_SABM
+	3 RFCOMM_CHANNEL_STATE_UA
+	4 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	5 RFCOMM_CHANNEL_STATE_RCV_MS_CMD
+	6 RFCOMM_CHANNEL_STATE_SND_MS_RES
+	7 RFCOMM_CHANNEL_STATE_RCV_MS_RES
+	0xff RFCOMM_CHANNEL_SETUP_COMPLETE
+	) 
+
+	/*mem_rfcomm_send_more_pkt*/
+	(
+	1 MORE_PKT_MSC_CMD_HF
+	2 MORE_PKT_MSC_CMD_HS
+	3 MORE_PKT_MSC_CMD_SPP
+	4 MORE_PKT_MSC_CMD_OBEX
+	)
+
+	(
+	127 RFCOMM_MALLOC_SIZE
+	)
+0x0511 mem_sdp_mem_start
+0x0511 mem_sdp_uuid_search_ptr
+0x0519 mem_sdp_continue_byte
+0x051b mem_sdp_pduid
+0x051c mem_sdp_transactionid
+0x051e mem_sdp_transactionid_local
+0x0520 mem_sdp_attribute_maxbyte
+0x0522 mem_sdp_record_maxcnt
+0x0524 mem_sdp_record_handle
+0x0528 mem_sdp_LACAP_found
+0x0529 mem_sdp_RFCOMM_found
+0x052a mem_sdp_handle_list
+0x052a mem_sdp_attrib_list
+0x054a mem_sdp_error_code
+0x054c mem_sdp_all_length
+0x054e mem_handle_humber
+0x054f mem_search_uuid
+0x0551 mem_sdp_mem_end
+(
+0 AGORHS_SERVICE
+1 GENAUDIO_SERVICE
+2 HANDSFREE_SERVICE
+)
+(
+0 ATTRIBUTEID_0000
+1 ATTRIBUTEID_0001
+2 ATTRIBUTEID_0004
+3 ATTRIBUTEID_0009
+4 ATTRIBUTEID_0100
+5 ATTRIBUTEID_0302
+6 ATTRIBUTEID_0006
+7 ATTRIBUTEID_0311
+)
+
+(
+0x01 SDP_ERROR_RES
+0x02 SDP_SEARCH_REQ
+0x03 SDP_SEARCH_RES
+0x04 SDP_ATTRIBUTE_REQ
+0x05 SDP_ATTRIBUTE_RES
+0x06 SDP_SEARCHATTRIB_REQ
+0x07 SDP_SEARCHATTRIB_RES
+)
+0x2600 sdp_max_amount
+250 SDP_MALLOC_SIZE
+0x6e sdp_tid_spp //any number
+
+(
+0x1f11 SDP_UUID_HS_AUDIO_GATEWAY
+)
+
+(
+0X09 SDP_ATTRIBUTE_ID
+0x0a SDP_ATTRIBUTE_RANGE
+)
+
+(//mem_sdp_handle_list
+7 SDP_MAX_HANDLE_NUMBER
+)
+
+ 
+
+0x0551 mem_rxbuf
+0x0562 mem_random_number
+0x0572 mem_round_key
+0x0582 mem_kinit
+0x0592 mem_input_store
+0x05a2 mem_x
+0x05b2 mem_y
+0x05c1 mem_y15
+0x05c2 mem_key_store
+0x05d3 mem_key_store_end
+0x05d4 memp_ar_key
+0x05d6 memp_ar_input
+0x05d8 mem_ar_hround
+0x05e2 mem_ec_infinite
+0x05e3 mem_ec_loopc
+0x05e5 mem_aes_cmac_data_length
+0x05e6 memdat
+0x05e6 mem_ax
+0x05fe mem_ay
+0x0616 mem_az
+0x062e mem_bx
+0x0646 mem_ax_256//32 bytes
+0x0646 mem_by
+0x065e mem_bz
+0x0666 mem_ay_256// 32 bytes
+0x0676 mem_cx
+0x0686 mem_az_256// 32 bytes
+0x068e mem_cy
+0x06a5 mem_cy5
+0x06a6 mem_bx_256// 32 bytes
+0x06a6 mem_cz
+0x06be mem_k
+0x06c6 mem_by_256// 31 bytes
+0x06d6 mem_align
+0x06e6 mem_bz_256//32 bytes
+0x06e6 mem_tmp1
+0x06e6 memahbak
+0x06fe mem_tmp5
+0x0706 mem_cx_256//32 bytes
+0x0706 memahsave
+0x0716 mem_tmp2
+0x0726 mem_cy_256// 32 bytes
+0x0726 memahsave_end
+0x0726 mem_addr_padding
+0x0727 mem_addr_value/* 12 bytes     */ 
+0x072e mem_tmp3
+0x072e mem_t1
+0x0733 mem_addr_value_end
+0x0736 mem_addr_iocap_end
+0x0745 mem_cy5_256// 1 byte
+0x0746 mem_cz_256// 32 bytes
+0x0746 mem_tmp0
+0x0746 mem_t0
+0x074e mem_tmp0a
+0x075e mem_t2
+0x0766 mem_k_256//32 bytes
+0x0776 mem_t3
+0x0786 mem_tmp1_256//32 bytes
+0x078e mem_t7
+0x07a6 mem_tmp5_256
+0x07c6 mem_tmp2_256
+0x07e6 mem_tmp3_256
+0x07e6 mem_t1_256
+0x0806 mem_tmp0_256
+0x0806 mem_t0_256
+0x0826 mem_t2_256
+0x0846 mem_t3_256
+0x0866 mem_t7_256
+0x0886 mem_p
+0x089e mem_a
+0x08b6 mem_b
+0x08ce mem_gx
+0x08e6 mem_gy
+0x08fe memh0
+0x091e mem_p_256
+0x093e mem_a_256
+0x095e mem_gx_256
+0x097e mem_gy_256
+0x099e mem_le_slat
+
+
+/* simple pairing page */
+
+0x09ae mem_sp_state_start
+0x09ae mem_sp_state
+0x09af mem_master_sp_state
+0x09b0 mem_sp_flag
+0x09b1 mem_master_sp_flag
+0x09b2 mem_sp_calc
+0x09b3 mem_sp_dh_ready
+0x09b4 mem_sp_localsm
+0x09b5 mem_pairing_auth
+0x09b6 mem_sp_flag_start
+0x09b6 mem_sp_local_key_send_count
+0x09b7 mem_sp_remote_key_recv_count
+0x09b8 mem_sp_remote_key_invalid
+0x09b9 mem_sp_dhkey_invalid
+0x09ba mem_gkey
+0x09be mem_le_pubkey_remote_x_256
+0x09c6 mem_sp_pubkey_remote
+0x09c6 mem_sp_pubkey_remote_x
+0x09de mem_sp_pubkey_remote_x_end
+0x09de mem_le_pubkey_remote_y_256
+0x09e6 mem_sp_pubkey_remote_y
+0x09fe mem_le_dhkey_256
+0x0a06 mem_sp_dhkey
+0x0a1e mem_sp_dhkey_end
+0x0a1e mem_sp_random_local
+0x0a2e mem_sp_random_local_end
+0x0a2e mem_sp_random_remote
+0x0a3e mem_sp_random_remote_end
+0x0a3e memresult
+0x0a3e mem_sp_calc_result
+0x0a3e memh
+0x0a42 memg
+0x0a46 memf
+0x0a4a meme
+0x0a4e mem_sp_calc_result_high
+0x0a4e memd
+0x0a52 memc
+0x0a56 memb
+0x0a5a mema
+0x0a5e mem_sp_check_result
+0x0a6e mem_sp_confirm_remote
+0x0a7e mem_sp_prarm_stack
+
+/* simple pairing status flag */
+(
+  0x00   SP_FLAG_STANDBY
+  0x01   SP_FLAG_COMMIT
+  0x02   LE_SP_FLAG_COMMIT_256
+
+)
+
+/* simple pairing calc flag */
+(
+  0x00   SP_CALC_STANDBY
+  0x01   SP_CALC_PUBKEY
+  0x02   SP_CALC_DHKEY
+  0x03   SP_CALC_PUBKEY_256
+  0x04   SP_CALC_DHKEY_256
+)
+
+/* simple pairing state */
+(
+  0x00   SP_STAT_NULL
+  0x01   SP_STAT_KEY_RECV
+  0x02   SP_STAT_KEY_GENERATE
+  0x03   SP_STAT_KEY_SEND
+  0x04   SP_STAT_COMMIT_CALC
+  0x05   SP_STAT_COMMIT_SEND
+  0x06   SP_STAT_RANDOM_RECV
+  0x07   SP_STAT_RANDOM_SEND
+  0x08   SP_STAT_CONFIRM_RECV
+  0x09   SP_STAT_CONFIRM_CHECK
+  0x0A   SP_STAT_CONFIRM_CALC
+  0x0B   SP_STAT_CONFIRM_SEND
+  0x0C   SP_STAT_LINK_KEY_CALC
+  0x0F   SP_STAT_DONE
+  0x10   SP_STAT_FEATURE_EXT_SEND
+  0x11   SP_STAT_GKEY_CALC
+  /*simple pairing master only*/
+  0x12   SP_MASTER_STAT_START_SKIP
+  0x13   SP_MASTER_STAT_START_DONE
+  0x14   SP_STAT_COMMITMENT_COMPARE
+  0x15   SP_STATE_END
+)
+
+
+/* simple paring invalid flag */
+(
+  0x00   SP_KEY_INVALID
+  0x01   SP_KEY_VALID
+  0x03   SP_KEY_VALID_256
+
+)
+
+/* encapsulated defination for P-192 key */
+(
+  0x01  ENCAPSULATED_MAJOR_TYPE_P192
+  0x01  ENCAPSULATED_MINOR_TYPE_P192
+  0x30  ENCAPSULATED_LEN_P192
+)
+
+/* bluetooth 2.1 support flag */
+(
+  0x00  SIMPLE_PAIRING_ENABLE
+  0x01  ENCRYPTION_PAUSE_ENABLE
+  0x02  EXTENDED_INQUIRY_RESPOSE_ENABLE
+  0x03  SNIFF_SUBRATING_ENABLE
+)
+
+/*mem_sp_localsm*/
+(
+  0x00 DEFAULT_STATEMACHINE
+  0x01 LOCAL_STATEMACHINE
+)
+
+(
+ 0x00 DEFALT_PAIRING_AUTH
+ 0x01 PAIRING_AUTH
+)
+
+(
+1 SSP_MODE_SSP_PIN_FLAG
+2 SSP_MODE_PASSKEY_ENTRY_FLAG
+3 SSP_MODE_JUST_WORK_FLAG
+)
+
+(//ssp mode
+0x040003 SSP_MODE_JUST_WORK_IO_CAP_DATA
+0X040001 SSP_MODE_SSP_PIN_IO_CAP_DATA
+0X040002 SSP_MODE_PASSKEY_IO_CAP_DATA
+)
+
+(
+0x00 DISPLAY_ONLY
+0x01 DISPLAY_YESNO
+0x02 KEYBOARD_ONLY
+0x03 NO_INPUT_NO_OUTPUT
+)
+
+(
+7 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT
+6 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT
+0 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT
+)
+(
+1 FLAG_PAIRING_STATE_PAIRING
+0 FLAG_PAIRING_STATE_NOT_PAIRING
+)
+
+  
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_ui_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $     */
+/************************************************************************/
+
+
+	/* ========= memory ============== */
+0x0a8e mem_UI_data_txbuff_length
+0x0a90 mem_ipc_skip_continue_proc
+0x0a91 mem_ui_timer_temp//length 4
+0x0a91 mem_ipc_rega_temp
+
+/************/
+/* constant */
+/************/
+
+//mem_ui_state_map
+(
+0 UI_STATE_BT_CONNECTED
+1 UI_STATE_BT_SETUP_COMPLETE
+2 UI_STATE_BT_HID_CONN
+3 UI_STATE_BT_HID_HANDSHAKE
+4 UI_STATE_BT_SPP_CONN
+5 UI_STATE_BT_SNIFF
+6 UI_STATE_BT_DISCOVERY
+7 UI_STATE_BT_RECONNECT
+8 UI_STATE_BT_SLAVE_ROLE
+9 UI_STATE_BLE_CONNECTED
+10 UI_STATE_BLE_WRITE_RCV
+11 UI_STATE_BLE_ADV
+12 UI_STATE_BTN_DOWN
+)
+
+(
+1 UI_STATE_SPP_NL_AUTO_DISCOVER
+
+)
+
+/* UI state for Headset (memui_HS_State) */ 
+   (
+    0 UI_HEADSET_DISCONNECT
+    1 UI_HEADSET_IDLE                   /* before the responsor HS receive SABM      */
+    2 UI_HEADSET_W4CONNECT
+    3 UI_HEADSET_RINGING
+    4 UI_HEADSET_CONNECTED
+    5 UI_HEADSET_PARING
+  )
+/* memui_BB_State */
+(
+  0 UI_BB_OFF
+  1 UI_BB_IDLE
+  2 UI_BB_DISCOVERY
+  3 UI_BB_CONNECTED_ACTIVE_NO_SCO
+  4 UI_BB_CONNECTED_ACTIVE_WITH_SCO
+  5 UI_BB_CONNECTED_ACTIVE_WAIT_SNIFF
+  6 UI_BB_CONNECTED_SNIFF
+  7 UI_BB_RECONNECT
+  8 UI_BB_CONNECTED_SNIFF_WITH_SCO
+)
+
+/************/
+/* flags    */
+/************/
+  
+/* memui_Misc_Flags */
+  (
+    5 NO_IDLE_TURN_OFF
+    7 ANSWER_RING_FLAG               /* 1 Answer,0 no*/
+  )
+
+/* mem_UI_SCH_Interface */
+  (
+    0  UI_HS_PAIRING 
+    2  UI_REQ_CLOSE_RFCOMM
+    3  UI_LINK_LOST
+    4  UI_REQ_OPEN_SCO
+    6  UI_REQ_CLOSE_SCO
+  )
+  
+/* memui_PassOverKey */
+  (
+    0  ANSWER_RING_BIT
+    0  AG_SEND_RING_BIT
+    1  VOL_UP_BIT
+    2  VOL_DOWN_BIT
+    3  INI_CALL_BIT
+    4  DAIL_LAST_CALL
+    5  END_CALL_BIT
+    6  NOKIA_VOICE_ACTIVE 
+    7  REJECT_CALL_BIT
+  )
+  
+/* memui_reconnect_mode */
+(
+  0 NO_RECONNECTION
+  1 RECONNECT_HID
+  2 RECONNECT_HF
+  3 RECONNECT_HS
+  4 RECONNECT_HID_HF
+  5 RECONNECT_HID_HS
+)
+/* memui_Commands */
+(
+0 BT_CMD_STANDBY
+1 BT_CMD_START_DISCOVERY
+2 BT_CMD_STOP_DISCOVERY
+3 BT_CMD_RECONNECT
+4 BT_CMD_DISCONNECT
+5 BT_CMD_ENTER_SNIFF
+6 BT_CMD_EXIT_SNIFF
+7 BT_CMD_ENTER_SNIFF_SUBRATING
+8 BT_CMD_EXIT_SNIFF_SUBRATING
+9 BT_CMD_SNIFF_TEST
+10 BT_CMD_SET_PIN_CODE
+11 BT_CMD_START_INQUIRY
+12 BT_CMD_STOP_INQUIRY
+13 BT_CMD_START_ADV
+14 BT_CMD_STOP_ADV
+15 BT_CMD_START_DIRECT_ADV
+16 BT_CMD_STOP_DIRECT_ADV
+17 BT_CMD_LE_DISCONNECT
+18 BT_CMD_LE_UPDATE_CONN
+19 BT_CMD_LED_OFF
+20 BT_CMD_LED_ON
+21 BT_CMD_LED_BLINK
+22 BT_CMD_LE_START_CONN
+23 BT_CMD_LE_START_SCAN
+24 BT_CMD_LE_STOP_SCAN
+25 BT_CMD_ENTER_HIBERNATE
+27 BT_CMD_LE_SMP_SECURITY_REQUEST
+29 BT_CMD_ROLE_SWITCH
+30 BT_CMD_BB_RECONN_CANCEL
+31 BT_CMD_STORE_RECONN_INFO_LE
+32 BT_CMD_STORE_RECONN_INFO_BT
+33 BT_CMD_DHKEY_NOT_ACCEPT
+34 BT_CMD_START_24G
+35 BT_CMD_STOP_24G
+36 BT_CMD_PAIR_24G
+37 BT_CMD_STORE_RECONN_INFO
+)
+
+(
+0x00 BT_EVT_NULL
+0x01 BT_EVT_BB_CONNECTED
+0x02 BT_EVT_BB_DISCONNECTED
+0x03 BT_EVT_RECONN_STARTED
+0x04 BT_EVT_RECONN_FAILED
+0x05 BT_EVT_SETUP_COMPLETE
+0x06 BT_EVT_HID_CONNECTED
+0x07 BT_EVT_HID_DISCONNECTED
+0x08 BT_EVT_SPP_CONNECTED
+0x09 BT_EVT_SPP_DISCONNECTED
+0x0A BT_EVT_PINCODE_REQ
+0x0B BT_EVT_ENTER_SNIFF
+0x0C BT_EVT_EXIT_SNIFF
+0x0D BT_EVT_ENTER_SNIFF_SUB
+0x0E BT_EVT_EXIT_SNIFF_SUB
+0x0F BT_EVT_DISCOVERY_STOPED
+0x10 BT_EVT_BUTTON_LONG_PRESSED
+0x12 BT_EVT_HID_HANDSHAKE
+0X13 BT_EVT_RECONN_PAGE_TIMEOUT
+0x14 BT_EVT_LE_CONNECTED
+0X15 BT_EVT_LE_DISCONNECTED
+0x16 BT_EVT_ML2CAP_CONN_REFUSED
+0x17 BT_EVT_BUTTON_ENTER_HIBERNATE
+0x18 BT_EVT_LINKKEY_GENERATE
+0x19 BT_EVT_SWITCH_NOT_ACCEPT
+0x20 BT_EVT_SWITCH_ACCEPT
+0x21 BT_EVT_SNIFF_NOT_ACCEPT
+0x22 BT_EVT_SNIFF_ACCEPT
+0x23 BT_EVT_UNSNIFF_ACCEPT
+0x24 BT_EVT_UNSNIFF_NOT_ACCEPT
+0x25 BT_EVT_BUTTON_ADJUST_DPI
+0x26 BT_EVT_SEND_UNSNIFF_ACCEPT
+0x27 BT_EVT_VIRTUAL_CABLE_UNPLUG
+0x28 BT_EVT_LE_WRITE_REQUEST
+0x29 BT_EVT_LE_ENC_INFO
+0x2a BT_EVT_SWITCH_FAIL_MASTER
+0x2b BT_EVT_SWITCH_SUCCESS_MASTER
+0x2c BT_EVT_BUTTON_DOWN
+0x2d BT_EVT_BUTTON_UP
+0x2e BT_EVT_REMOTE_UNSNIFF
+0x30 BT_EVT_LE_PAIRING_FAIL
+0x31 BT_EVT_LE_PAIRING_SUCCESS
+0x32 BT_EVT_LE_START_ENC
+0X33 BT_EVT_LE_PAUSE_ENC
+0X34 BT_EVT_LE_TK_GENERATE
+0x35 BT_EVT_BT_GKEY_GENERATE
+0x36 BT_EVT_BT_GET_PASSKEY
+0x37 BT_EVT_BT_PAIRING_FAIL
+0x38 BT_EVT_BT_PAIRING_SUCCESS
+0x39 BT_EVT_24G_PAIRING_COMPLETE
+0x3a BT_EVT_24G_ATTEMPT_FAIL
+0x3b BT_EVT_LE_GKEY_GENERATE
+0x3c BT_EVT_24G_ATTEMPT_SUCCESS
+0x3d BT_EVT_STORE_NVRAM
+0x3e BT_EVT_LE_PAIRING_COMPLETE
+0x3F BT_EVT_LE_RECONNECT_COMPLETE
+0x40 BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP
+0x41 BT_EVT_LE_LTK_LOST
+)
+//switch
+(
+0 OFF
+1 ON
+)
+/* memui_mem_lock */
+(
+    0 MEM_UNLOCK
+    1 MEM_LOCK
+)
+/* memui_flag0 */
+(
+    0 UI_USER_DATA_FLAG
+    1 UI_WII_WAITING_SLEEP
+    2 UI_KEYBOARD_SNIFF_SKIP
+)
+/* mem_master_type */
+(
+    0 MTYPE_HID_DEFAULT
+    1 MTYPE_HID_SSP
+    2 MTYPE_SPP
+)
+
+	(	
+	0x01 RECIEVE_SDP_CONN_RES
+	0x02 RECIEVE_SDP_CFG_REQ
+	0x03 RECIEVE_SDP_CFG_RES
+	0x04 RECIEVE_RFCOMM_CONN_RES
+	0x05 RECIEVE_RFCOMM_CFG_REQ
+	0x06 RECIEVE_RFCOMM_CFG_RES
+	0x07 RECIEVE_HID_CTRL_CONN_RES
+	0x08 RECIEVE_HID_CTRL_CFG_REQ
+	0x09 RECIEVE_HID_CTRL_CFG_RES
+	0x0A RECIEVE_HID_INT_CONN_RES
+	0x0B RECIEVE_HID_INT_CFG_REQ
+	0x0C RECIEVE_HID_INT_CFG_RES
+	0x0D RECIEVE_AVCTP_CONN_RES
+	0x0E RECIEVE_AVCTP_CFG_REQ
+	0x0F RECIEVE_AVCTP_CFG_RES
+	0x10 RECIEVE_AVDTP_SIGNAL_CONN_RES
+	0x11 RECIEVE_AVDTP_SIGNAL_CFG_REQ
+	0x12 RECIEVE_AVDTP_SIGNAL_CFG_RES
+	0x13 RECIEVE_AVDTP_MEDIA_CONN_RES
+	0x14 RECIEVE_AVDTP_MEDIA_CFG_REQ
+	0x15 RECIEVE_AVDTP_MEDIA_CFG_RES
+	0x16 RECIEVE_SS_REASULT_HS                  
+	0x17 RECIEVE_SS_REASULT_HF                  
+	0x18 RECIEVE_SS_REASULT_AVTARG		          
+	0x19 RECIEVE_SS_REASULT_OBEX		            
+	0x1A RECIEVE_DLCI0_UA
+	0x1B RECIEVE_HS_PARAM_NEG_RES
+	0x1C RECIEVE_HS_UA
+	0x1D RECIEVE_HS_MODEM_STATUS_RES
+	0x1E RECIEVE_HS_MODEm_STATUS_CMD
+	0x1F RECIEVE_HF_PARAM_NEG_RES   
+	0x20 RECIEVE_HF_UA              
+	0x21 RECIEVE_HF_MODEM_STATUS_RES
+	0x22 RECIEVE_HF_MODEm_STATUS_CMD 
+	0x23 RECIEVE_OBEX_PARAM_NEG_RES     
+	0x24 RECIEVE_OBEX_UA              
+	0x25 RECIEVE_OBEX_MODEM_STATUS_RES
+	0x26 RECIEVE_OBEX_MODEm_STATUS_CMD    
+	0x27 RECIEVE_SPP_PARAM_NEG_RES   
+	0x28 RECIEVE_SPP_UA              
+	0x29 RECIEVE_SPP_MODEM_STATUS_RES
+	0x2A RECIEVE_SPP_MODEm_STATUS_CMD
+	0x2b RECIEVE_SDP_DISCONN_RES
+	)
+
+
+
+	(
+	0 UPPERSM_RP_IDLE
+	1 UPPERSM_RP_SDP_CONN
+	2 UPPERSM_RP_SDP_CONN_WAIT
+	3 UPPERSM_RP_SDP_CFG
+	4 UPPERSM_RP_SDP_CFG_WAIT
+	5 UPPERSM_RP_SS_AVTARG
+	6 UPPERSM_RP_SS_AVTARG_WAIT
+	7 UPPERSM_RP_SS_OBEX
+	8 UPPERSM_RP_SS_OBEX_WAIT
+	9 UPPERSM_RP_SDP_DISCONN
+	10 UPPERSM_RP_SDP_DISCONN_WAIT
+	11 UPPERSM_RP_AVDTP_CONN_WAIT
+	12 UPPERSM_RP_AVCTP_CONN
+	13 UPPERSM_RP_AVCTP_CONN_WAIT
+	14 UPPERSM_RP_AVCTP_CFG
+	15 UPPERSM_RP_AVCTP_CFG_WAIT
+	16 UPPERSM_RP_OBEX_CMD_PN
+	17 UPPERSM_RP_OBEX_CMD_PN_WAIT
+	18 UPPERSM_RP_OBEX_SABM
+	19 UPPERSM_RP_OBEX_SABM_WAIT
+	20 UPPERSM_RP_OBEX_CMD_MS
+	21 UPPERSM_RP_OBEX_CMD_MS_WAIT
+	)
+	(		/*mem_upper_sm_reconn*/
+	0 UPPERSM_RECONN_IDLE		
+	1 UPPERSM_RECONN_SDP_CONN		
+	2 UPPERSM_RECONN_SDP_CONN_WAIT		
+	3 UPPERSM_RECONN_SDP_CFG		
+	4 UPPERSM_RECONN_SDP_CFG_WAIT		
+	5 UPPERSM_RECONN_SS_HS
+	6 UPPERSM_RECONN_SS_HS_WAIT
+	7 UPPERSM_RECONN_SS_HF
+	8 UPPERSM_RECONN_SS_HF_WAIT
+	9 UPPERSM_RECONN_SS_AVTARG		
+	10 UPPERSM_RECONN_SS_AVTARG_WAIT		    
+	11 UPPERSM_RECONN_SS_OBEX		            
+	12 UPPERSM_RECONN_SS_OBEX_WAIT		      
+	13 UPPERSM_RECONN_SDP_DISCONN		        
+	14 UPPERSM_RECONN_SDP_DISCONN_WAIT      
+	15 UPPERSM_RECONN_HID_CTRL_CONN		      
+	16 UPPERSM_RECONN_HID_CTRL_CONN_WAIT		
+	17 UPPERSM_RECONN_HID_CTRL_CFG		      
+	18 UPPERSM_RECONN_HID_CTRL_CFG_WAIT     
+	19 UPPERSM_RECONN_HID_INT_CONN		      
+	20 UPPERSM_RECONN_HID_INT_CONN_WAIT		  
+	21 UPPERSM_RECONN_HID_INT_CFG		        
+	22 UPPERSM_RECONN_HID_INT_CFG_WAIT      
+	23 UPPERSM_RECONN_RFCOMM_CONN		        
+	24 UPPERSM_RECONN_RFCOMM_CONN_WAIT		  
+	25 UPPERSM_RECONN_RFCOMM_CFG		        
+	26 UPPERSM_RECONN_RFCOMM_CFG_WAIT       
+	27 UPPERSM_RECONN_RFCOMM_SABM		        
+	28 UPPERSM_RECONN_RFCOMM_SABM_WAIT		  
+	29 UPPERSM_RECONN_SPP_CMD_PN		        
+	30 UPPERSM_RECONN_SPP_CMD_PN_WAIT		    
+	31 UPPERSM_RECONN_SPP_SABM		          
+	32 UPPERSM_RECONN_SPP_SABM_WAIT		      
+	33 UPPERSM_RECONN_SPP_CMD_MS		        
+	34 UPPERSM_RECONN_SPP_CMD_MS_WAIT       
+	35 UPPERSM_RECONN_HF_CMD_PN		          
+	36 UPPERSM_RECONN_HF_CMD_PN_WAIT		    
+	37 UPPERSM_RECONN_HF_SABM		            
+	38 UPPERSM_RECONN_HF_SABM_WAIT		      
+	39 UPPERSM_RECONN_HF_CMD_MS		          
+	40 UPPERSM_RECONN_HF_CMD_MS_WAIT        
+	41 UPPERSM_RECONN_AVDTPs_CONN		        
+	42 UPPERSM_RECONN_AVDTPs_CONN_WAIT		  
+	43 UPPERSM_RECONN_AVDTPs_CFG		        
+	44 UPPERSM_RECONN_AVDTPs_CFG_WAIT       
+	45 UPPERSM_RECONN_AVDTPm_CONN		        
+	46 UPPERSM_RECONN_AVDTPm_CONN_WAIT		  
+	47 UPPERSM_RECONN_AVDTPm_CFG		        
+	48 UPPERSM_RECONN_AVDTPm_CFG_WAIT       
+	49 UPPERSM_RECONN_AVCTP_CONN		        
+	50 UPPERSM_RECONN_AVCTP_CONN_WAIT		    
+	51 UPPERSM_RECONN_AVCTP_CFG		          
+	52 UPPERSM_RECONN_AVCTP_CFG_WAIT		    
+	53 UPPERSM_RECONN_OBEX_CMD_PN		        
+	54 UPPERSM_RECONN_OBEX_CMD_PN_WAIT		  
+	55 UPPERSM_RECONN_OBEX_SABM		          
+	56 UPPERSM_RECONN_OBEX_SABM_WAIT		    
+	57 UPPERSM_RECONN_OBEX_CMD_MS		        
+	58 UPPERSM_RECONN_OBEX_CMD_MS_WAIT     
+	59 UPPERSM_RECONN_SS_SPP
+	60 UPPERSM_RECONN_SS_SPP_WAIT
+	)
+	(/*mem_UI_profile_supported*/
+	0 support_HID
+	1 support_A2DP
+	2 support_AVRCP
+	3 support_HF
+	4 support_HS
+	5 support_PBAP
+	6 support_SPP
+	)
+	/*mem_upper_sm_ss*/
+	(
+	0 UPPERSM_SS_HS
+	1 UPPERSM_SS_HF
+	2 UPPERSM_SS_AVTARG
+	3 UPPERSM_SS_OBEX
+	)
+
+	(
+	160 UI_HUNDRED_MILLISECOND_TIME
+	0XFF UI_BUTTON_GPIO_DISABLE
+	)
+	(
+	0x01 UI_BB_INCONNECT
+	0x10 UI_BB_DISCONNECT
+	)
+(
+0x00 UI_BUTTON_STATE_DOWN
+0x01 UI_BUTTON_STATE_UP
+)
+
+//mem_ipc_skip_continue_proc
+(
+	0 IPC_CONTINUE_PROCESS
+	1 IPC_SKIP_CONTINUE_PROCESS
+)
+
+
+(//led style struct 
+0 		LED_OFFSET_LED_TYPE
+1 		LED_OFFSET_BLINK_COUNT
+2		LED_OFFSET_LED_GPIO
+3		LED_OFFSET_ON_TIME
+5		LED_OFFSET_OFF_TIME
+7 		LED_OFFSET_CB_LEDON
+9		LED_OFFSET_CB_LEDOFF
+11		LED_OFFSET_LENGTH
+)
+
+(//LED state
+0 UI_LED_STATE_BLINK_STOP
+1 UI_LED_STATE_BLINK_START
+2 UI_LED_STATE_LIGHTING
+3 UI_LED_STATE_DARKING
+4 UI_LED_STATE_BLINK_LIGHTING
+5 UI_LED_STATE_BLINK_DARKING
+
+0xFF LED_INFINITE_FLASH_NUM
+
+)
+
+
+/**
+*  @file:bt_utility_format.upper
+*  @author: lei.zhu
+*  utility header file. inlcude timer
+*  Copyright:  (C)Hanlynn Technology    
+*/
+
+0x0a95 mem_hold_contr
+0x0a97 mem_hold_contw
+0x0a99 mem_fifo_temp
+0x0a9a mem_pdatatemp
+0x0aa2 mem_temp//8 bytes
+0x0aaa mem_timeup// 4 bytes
+0x0aae mem_rega//4 bytes
+0x0ab2 mem_regb//4 bytes
+0x0ab6 mem_regc//3 bytes
+0x0ab9 mem_contr//2 bytes
+0x0abb mem_contw//2 bytes
+0x0abd mem_wakup_from_power_flag
+0x0abe mem_saved_gpio_in
+0x0ac2 mem_shutter_random_mac_data_temp
+0x0ac2 mem_shutter_config_data_temp
+0x0ac2 mem_le_adv_channel_map_temp
+0x0ac2 mem_le_data_len_temp//1byte
+0x0ac2 mem_tx_fifo_map_temp
+0x0ac2 mem_rpn_dlci//1byte
+0x0ac2 mem_event_cmd_response_content//2byte
+0x0ac2 mem_le_prand//16byte
+0x0ac2 mem_AES_CMAC_k//16 bytes
+0x0ac2 mem_regext_index//1 bytes
+0x0ac2 mem_temp_block0
+0x0ac3 mem_le_data_temp//15bytes
+0x0ac3 mem_temp_block1
+0x0ad2 mem_le_aes_128//16byte
+0x0ad2 mem_regext//64 bytes
+0x0ad2 mem_AES_CMAC_k1//16 bytes
+0x0ad2 mem_temp_block2
+0x0ae2 mem_AES_CMAC_k2//16 bytes
+0x0ae2 mem_temp_block3
+0x0af2 mem_AES_CMAC_temp// 16 bytes
+0x0af2 mem_temp_block4
+0x0b02 mem_AES_CMAC_M_last// 16 bytes
+0x0b02 mem_module_uart_cmd
+0x0b03 mem_module_uart_opcode
+0x0b04 mem_module_uart_len
+0x0b05 mem_module_temp_nl_discard_packet
+0x0b06 mem_temp_block5
+0x0b12 mem_le_mackey//16 bytes
+0x0b12 mem_app_receive_temp
+0x0b12 mem_key_value_temp
+0x0b14 mem_key_value
+0x0b16 mem_key_value_temp1
+0x0b17 mem_key_value_temp2
+0x0b18 mem_key_value_temp3
+0x0b19 mem_key_value_temp4
+0x0b1a mem_key_value_temp5
+0x0b1b mem_key_value_temp6
+0x0b1c mem_temp_block6
+0x0b22 mem_usb_status
+0x0b23 mem_usb_fifo_empty
+0x0b24 mem_usb_read_len
+0x0b25 mem_usb_rxbuf
+0x0b65 mem_bufptr
+0x0b67 mem_remain
+0x0b68 mem_devicedesc
+0x0b7c mem_hidreportdesc_kb
+0x0b7e mem_hidreportdesc_m
+0x0b80 mem_confdesc
+0x0be4 mem_string0
+0x0be9 mem_string1
+0x0c07 mem_string2
+0x0c47 mem_string3
+0x0c65 mem_usb_zero_packet
+0x0c67 mem_usb_ones_packet
+0x0c69 mem_usb_two_packet
+0x0c6b mem_usb0_state
+0x0c6c mem_usb_offline_check_gpio
+0x0c6d mem_usb_tx_interval
+0x0c6e mem_usb_clear_mem_start
+0x0c6e mem_usb_setup
+0x0c6e mem_usb_setup_bmRequestType
+0x0c6f mem_usb_setup_bRequest
+0x0c70 mem_usb_setup_bValue
+0x0c71 mem_usb_setup_bValueH
+0x0c72 mem_usb_setup_wIndex
+0x0c74 mem_usb_setup_bLength
+0x0c75 mem_usb_setup_bLengthH
+0x0c76 mem_usb0_setup
+0x0cb6 mem_usb0_set_report_data
+0x0cf6 mem_usb0_get_report_data
+0x0d36 mem_usb_state
+0x0d37 mem_usb_tx_wait
+0x0d38 mem_usb_tx_enable
+0x0d39 mem_usb_remote_wakeup
+0x0d3a mem_usb_clear_remote_wakeup
+0x0d3b mem_usb_ep0_stall_status
+0x0d3c mem_usb_ep1_stall_status
+0x0d3d mem_usb_ep2_stall_status
+0x0d3e mem_usb_ep3_stall_status
+0x0d3f mem_dsc_info_data_pointer
+0x0d41 mem_dsc_info_len
+0x0d42 mem_usb0_data_ready_report
+0x0d43 mem_usb_tx_win_enable
+0x0d44 mem_usb_tx_mac_enable
+0x0d45 mem_usb_device_enumeration_endflag
+0x0d46 mem_usb_wakestate_onetime_flag
+0x0d47 mem_usb_mac_wakeup_trig
+0x0d48 mem_usb_set_high_addr_flag
+0x0d49 mem_usb_set_protocol_value
+0x0d4a mem_usb_set_protocol_status
+0x0d4b mem_usb_get_protocol_flag
+0x0d4c mem_usb_idle_flag
+0x0d4d mem_usb_idle_rate
+0x0d4e mem_usb_setup_bValue_temp
+0x0d50 mem_usb0_get_set_report
+0x0d51 mem_usb_ep1_data
+0x0d52 mem_usb_ep2_data
+0x0d53 mem_usb_clear_halt
+0x0d54 mem_usb_mouse_data
+0x0d64 mem_usb_kb_data
+0x0d74 mem_usb_kb_multikey
+0x0d84 mem_usb_kb_data_sta_data
+0x0d8c mem_usb_kb_data_last_data
+0x0d94 mem_usb_kb_multikey_sta_data
+0x0d97 mem_usb_kb_multikey_last_data
+0x0d9a mem_usb_kb_blank_data_enable
+0x0d9b mem_usb_kb_mul_blank_data_enable
+0x0d9c mem_usb_test_cnt
+0x0d9d mem_usb_clear_mem_end
+0x0d9d mem_usb_test_kb
+0x0d9e mem_rssi_noise_buffer
+0x0e9e mem_rssi_noise_dg_buffer
+0x0f9e mem_rssi_noise_ms_buffer
+0x109e mem_rssi_noise_kb_buffer
+0x119e mem_24g_common_temp
+
+
+(
+/*mem_util_timer_flag0_7*/
+    0   UTIL_TIMER_0_USED
+    1   UTIL_TIMER_1_USED
+    2   UTIL_TIMER_2_USED
+    3   UTIL_TIMER_3_USED
+    4   UTIL_TIMER_4_USED
+    5   UTIL_TIMER_5_USED
+    6   UTIL_TIMER_6_USED
+    7   UTIL_TIMER_7_USED
+/*mem_util_timer_flag8_15*/
+    0   UTIL_TIMER_8_USED
+    1   UTIL_TIMER_9_USED
+    2   UTIL_TIMER_10_USED
+    3   UTIL_TIMER_11_USED
+    4   UTIL_TIMER_12_USED
+    5   UTIL_TIMER_13_USED
+    6   UTIL_TIMER_14_USED
+    7   UTIL_TIMER_15_USED
+)
+
+//util fifo param
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+
+/************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                           */
+/* $Author: Administrator $                                                     */
+/* $Id: bt_var.osi,v 1.1 2009-09-28 04:06:18 Administrator Exp $   */
+/* Orisil Technology                                                 */
+/************************************************************************/
+
+
+/* packet types */
+(
+  0x02 FHS_PACKET 
+  0x03 DM1_PACKET 
+  0x03 DM1_LMP_PACKET 
+  0x04 DH1_PACKET 
+  0x05 HV1_PACKET 
+  0x06 HV2_PACKET 
+  0x07 HV3_PACKET 
+  0x08 DV_PACKET 
+  0x09 AUX1_PACKET 
+  0x0a DM3_PACKET 
+  0x0b DH3_PACKET 
+  0x0e DM5_PACKET 
+  0x0f DH5_PACKET 
+)
+
+
+/* mem_lmp_respond */
+(
+  0 RESPOND_TO_ALL
+  1 PASS_EVERYTHING
+  2 PASS_ONLY_UNKNOWNS
+  3 RESPOND_TO_LMPS
+)
+/* SCO algorithm defines */
+(
+  0 ULAW
+  1 ALAW
+  2 CVSD
+)
+/* encryption modes */
+(
+  0 NO_ENCRYPTION
+  1 PT_PT_ENCRYPTION
+  2 PT_BROADCAST_ENCRYPTION
+)
+
+/* bits used in mem_lmp_state1 variable */
+(
+  0 LMP_STATE_DETACH
+  1 LMP_STATE_HOLD
+  2 LMP_STATE_SNIFF
+  3 LMP_STATE_PARK
+  4 LMP_STATE_WAIT_SCO_CREATE
+  5 LMP_STATE_WAIT_SCO_KILL
+  6 LMP_STATE_SCO3
+  7 LMP_STATE_WAIT_SCO_START
+)
+/* mem_lmp_state2 */
+(
+  0 LMP_WAIT_FOR_SNIFF_ACCEPT
+  1 LMP_WAIT_FOR_PARK_ACCEPT
+  2 LMP_SEND_UNPARK_ACCEPTED
+  3 LMP_SEND_ENCRYPTION_START
+  4 LMP_SEND_ENCRYPTION_STOP
+  5 MESSAGE_QUEUE
+  7 LMP_STATE_WAIT_BEACON
+)
+/* mem_lmp_state3 */
+(
+ 0 INQUIRY_STATE_CHECK
+ 1 HOST_DELAY_MESSAGE
+ 2 VARIABLE_DELAY
+ 3 TEST_MODE_START_LOOPBACK
+ 4 TEST_MODE_START_PATTERN
+ 5 PARSE_TEST_CONTROL_MESSAGE
+ 6 H_AUTH_SEND_COMB_KEY
+)
+/* mem_rx_status */
+(
+  0 FROM_MASTER
+)
+/* mem_ms_flag */
+(
+  0 MS_RECEIVE_SWITCH_REQ
+  1 MS_SEND_SETUP_COMPLATE
+)
+/* mem_conn_sm */
+(
+  0 CONN_SM_STANDBY
+  1 CONN_SM_WAIT_PAGE
+  2 CONN_SM_SEND_FEATURES
+  3 CONN_SM_WAIT_FEATURES_RES
+  4 CONN_SM_SEND_CONN_REQ
+  5 CONN_SM_WAIT_CONN_ACCEPT
+  6 CONN_SM_AUTH_PAIR
+  7 CONN_SM_AUTH_PAIR_WAIT
+  8 CONN_SM_WAIT_MUTAL_AUTH
+  9 CONN_SM_ENCRYPT
+  0xa CONN_SM_ENCRYPT_WAIT
+  0xb CONN_SM_ENCRYPT_WAIT_CLEAR
+  0xc CONN_SM_SEND_SETUP_COMPLETE
+  0xd CONN_SM_WAIT_SETUP_COMPLETE 
+  0xe CONN_SM_SEND_SWITCH
+  0xf CONN_SM_DETACH_DELAY
+  0x10 CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION
+  0x11 CONN_SM_DELAY_RESTART_CONNECTION
+  0x12 CONN_SM_SEND_VERSION
+  0X13 CONN_SM_WAIT_VERSION
+  0x14 CONN_SM_SEND_FEATURES_EXT
+  0x15 CONN_SM_WAIT_FEATURES_EXT
+  0x16 CONN_SM_PAIRING
+  0x17 CONN_SM_AUTH
+  0x18 CONN_SM_PAIRING_WAIT
+  0x19 CONN_SM_AUTH_WAIT
+  0x1a CONN_SM_DONE
+  0x1b CONN_SM_WAIT_DONE
+)
+
+/* btStateConn1 */
+(
+  0 CONN_STANDBY
+  1 CONN_MASTER_SEND_CONN_REQ
+  2 CONN_MASTER_WAIT_FOR_CONN_ACCEPTED
+  3 CONN_MASTER_AUTH
+  4 CONN_MASTER_WAIT_FOR_FEATURES
+  5 CONN_MASTER_WAIT_FOR_SETUP_COMPLETE
+  6 CONN_MASTER_WAIT_FOR_MAX_SLOT
+  7 CONN_SLAVE_CONN_REQUESTED
+  8 CONN_SLAVE_WAIT_FOR_SETUP_COMPLETE
+  9 CONN_SLAVE_AUTH
+  10 CONN_USING_HOST_OPCODE
+  11 CONN_SLAVE_AUTH_WAIT
+  12 CONN_SLAVE_ENCRYPT_WAIT
+)
+
+/* mem_lmp_conn_state */
+(
+  0 RECEIVED_CONN_REQ
+  1 SENT_CONN_REQ
+  2 RECEIVED_SETUP_COMPLETE
+  3 SENT_SETUP_COMPLETE
+  4 HOST_CONNECTION_MADE
+  6 INIT_COMPLETE
+  7 SNIFF_NEGOTIATE
+)
+/* btStateAuth1 */
+(
+  0 WAIT_FOR_KINIT
+  1 WAIT_FOR_LKA
+  2 WAIT_FOR_LKB
+  3 WAIT_FOR_SRES
+  4 EXAMINE_RECEIVED_SRES
+  5 SEND_AU_RAND
+  6 WAIT_FOR_KC
+  7 DELAYED_ENCRYPT_RESPONSE
+)
+/* btStateAuth2 */
+(
+  0 SENT_SRES
+  1 RECEIVED_IN_RAND
+  2 SENT_AU_RAND
+  3 AUTHENTICATION_FAILED
+  4 AUTHENTICATION_PASSED
+  5 STARTED_AUTH
+  6 SENT_COMB_KEY
+  7 SENT_IN_RAND
+)
+/* btStateAuth3 */
+(
+  0 RECEIVED_AU_RAND
+  1 RECEIVED_SRES
+  2 MUTUALLY_AUTHENTICATE
+)
+/* btStateHost */
+(
+  0 H_AUTH_STARTED
+  2 H_ENCRYPTION_MODE_REQ_PT
+  3 H_ENCRYPTION_KEY_SIZE
+  4 H_ENCRYPTION_START
+  5 H_ENCRYPTION_STOP
+  6 H_AUTH_SECOND_TRY
+)
+/* btStateEncrypt2 */
+(
+  0 RECEIVED_ENCRYPT_MODE_REQ_PT
+  1 RECEIVED_ENCRYPT_KEY_SIZE
+  2 RECEIVED_ENCRYPT_START
+  3 RECEIVED_ENCRYPT_STOP
+  4 STARTED_ENCRYPT_START
+)
+/* mem_ms_state */
+(
+  0x00 MS_STANDBY
+  0x11 M_MINIT_1
+  0x12 M_MINIT_2
+  0x20 M_SINIT_0
+  0x30 S_MINIT_0
+  0x31 S_MINIT_1
+  0x32 S_MINIT_2
+  0x41 S_SINIT_1
+  0x42 S_SINIT_2
+  0x43 S_SINIT_3
+)
+/* mem_test_mode */
+(
+  0 TEST_MODE_ALLOWED
+  1 TEST_MODE_ACTIVE
+)
+/* values for mem_tester_emulate */
+(
+  0x00 NO_TEST_MODE
+  0x00 CONTINUOUS_TRANSMIT
+  0x10 TRANSMIT_TEST
+  0x08 LOOPBACK
+)
+
+/* mem_tx_misc */
+(
+  1 SEND_TX_ADDR
+)
+/* BBHWREG_page_stat */
+(
+  5 PAGE_MODE_END
+)
+/* host_return_parameters_status codes */
+(
+  0x00 HOST_RETURN_SUCCESS
+  0x01 HOST_RETURN_SLAVE_CANT_ISSUE
+  0x02 HOST_RETURN_NO_CONNECTION
+  0x04 HOST_RETURN_PAGE_TIMEOUT
+  0x05 HOST_RETURN_INQUIRY_TIMEOUT
+  0x08 HOST_RETURN_CONNECTION_TIMEOUT
+  0x09 HOST_RETURN_MAX_NUM_CONNECTIONS
+  0x0a HOST_RETURN_MAX_NUM_SCO
+  0x0b HOST_RETURN_MAX_NUM_ACL
+  0x0c HOST_RETURN_SECURITY_REASONS
+  0x10 HOST_RETURN_HOST_TIMEOUT
+  0x11 HOST_RETURN_UNSUPPORTED_FEATURE_PARAMETER
+  0x13 HOST_RETURN_OTHER_END_USER
+  0x14 HOST_RETURN_OTHER_END_LOW_RESOURCE
+  0x15 HOST_RETURN_OTHER_END_POWER_OFF
+  0x16 HOST_RETURN_LOCAL_HOST
+  0x18 HOST_RETURN_PAIRING_NOT_ALLOWED
+  0x19 HOST_RETURN_UNKNOWN_PDU
+  0x1a HOST_RETURN_UNSUPPORTED_REMOTE_FEATURE
+  0x1d HOST_RETURN_SCO_AIR_MODE_REJECTED
+  0x20 HOST_RETURN_UNSUPPORTED_LMP_VALUE
+  0x21 HOST_RETURN_AUTHENTICATION_FAILURE
+  0x22 HOST_RETURN_CHANGED_EXISTING_SCO
+  0x23 HOST_RETURN_HOST_REJECTED
+  0x24 HOST_RETURN_UNSPECIFIED_ERROR
+  0x25 HOST_RESET
+  0x26 HOST_RETURN_BAD_HANDLE
+
+  0x00 HOST_RETURN_ACCEPT_COMMAND
+  0x01 HOST_RETURN_REJECT_COMMAND
+)
+/* host_present */
+(
+  0 HOST_IS_PRESENT
+  1 BCI_IS_PRESENT
+  2 DONT_INIT_RADIO
+)
+/* mem_master_state */
+(
+  0 MASTER_STATE_STANDBY
+  1 MASTER_INQUIRY
+)
+/* misc */
+(
+  92 SECOND_SWITCH_REQ
+  93 SLAVE_DELAY_DETACH
+  94 MASTER_DELAY_DETACH
+  95 UNSNIFF_DELAY_DETACH
+  0 WE_STARTED_AS_MASTER
+  1 WE_STARTED_AS_SLAVE
+)
+/* mem_host_commands */
+(
+  0x01 HOST_INQUIRY
+  0x02 HOST_INQUIRY_CANCEL
+  0x03 HOST_CREATE_CONNECTION
+  0x04 HOST_DISCONNECT_CONNECTION
+  0x05 HOST_ADD_SCO_REQUEST
+  0x06 HOST_REMOTE_NAME_REQUEST
+  0x07 HOST_WRITE_SUPPORTED_FEATURES
+  0x08 HOST_SET_TX_LEVEL
+  0x09 HOST_SET_RX_LEVEL
+  0x0a HOST_SNIFF_REQUEST
+  0x0b HOST_UNSNIFF_REQUEST
+  0x0c HOST_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0e HOST_WRITE_SCAN_ENABLE
+  0x0f HOST_READ_AUDIO_QUALITY
+  0x10 HOST_ENABLE_DEVICE_UNDER_TEST
+  0x14 HOST_BUTTON_CONFIGURE
+  0x15 HOST_SET_LOW_BATTERY_LEVEL
+  0x16 HOST_WRITE_LOCAL_NAME
+  0x17 HOST_WRITE_LOCAL_PIN
+  0x18 HOST_KILL_SCO_REQUEST
+  0x19 HOST_QOS_REQ
+
+  0x1a HOST_FEATURES_REQUEST
+  0x1b HOST_VERSION_REQUEST
+  0x1c HOST_TIMING_REQUEST
+  0x1d HOST_CLK_OFFSET_REQUEST
+  0x1e HOST_AUTHENTICATE
+  0x1f HOST_START_ENCRYPTION
+  0x20 HOST_STOP_ENCRYPTION
+  0x21 HOST_HOLD_REQUEST
+  0x22 HOST_HOLD_FORCE
+  0x23 HOST_PARK_REQUEST
+  0x24 HOST_MOD_BEACON
+  0x25 HOST_SET_BROADCAST_SCAN_WINDOW
+  0x26 HOST_UNPARK_PM_REQUEST
+  0x27 HOST_UNPARK_BD_REQUEST
+  0x28 HOST_SLAVE_REQUEST_UNPARK
+  0x29 HOST_DECREASE_POWER_REQUEST
+  0x2a HOST_INCREASE_POWER_REQUEST
+  0x2b HOST_SEND_PREFERRED_RATE
+  0x2c HOST_MAX_SLOT_REQ
+  0x2d HOST_MAX_SLOT_FORCE
+  0x2e HOST_PAGE_MODE_REQUEST
+  0x2f HOST_PAGE_SCAN_MODE_REQUEST
+  0x30 HOST_MASTER_SLAVE_SWITCH
+  0x31 HOST_SEND_AUTO_RATE
+  0x32 HOST_PAGE_CANCEL
+  0x33 HOST_CHANGE_LINK_KEY
+  0x34 HOST_RADIO_READ
+  0x35 HOST_RADIO_WRITE
+  0x36 HOST_REMOTE_SLAVE_INIT_UNPARK_REQUESTED
+
+  0x40 HOST_REMOTE_CONNECTION_REQUESTED
+  0x41 HOST_REMOTE_DETACH
+  0x42 HOST_REMOTE_SCO_CREATE_REQUESTED
+  0x43 HOST_REMOTE_SCO_KILL_REQUESTED
+  0x44 HOST_REMOTE_PARK_REQUESTED
+  0x45 HOST_REMOTE_UNPARK_REQUESTED
+  0x46 HOST_REMOTE_SNIFF_REQUESTED
+  0x47 HOST_REMOTE_UNSNIFF_REQUESTED
+  0x48 HOST_REMOTE_HOLD_REQUESTED
+  0x49 HOST_REMOTE_AUTHENTICATION
+  0x4a HOST_REMOTE_START_ENCRYPTION_REQUESTED
+  0x4b HOST_REMOTE_STOP_ENCRYPTION_REQUESTED
+  0x4c HOST_MODE_CHANGE_EVENT
+  0x4d HOST_REMOTE_TEST_ACTIVATE
+  0x4e HOST_REMOTE_TEST_CONTROL
+  0x4f HOST_REMOTE_TIMING_REQUEST
+)
+/* BCI interface (not used if not compiled in ) */
+(
+  0x01 BCI_INQUIRY
+  0x02 BCI_INQUIRY_CANCEL
+  0x03 BCI_CREATE_CONNECTION
+  0x04 BCI_DISCONNECT
+  0x05 BCI_ADD_SCO_CONNECTION
+  0x06 BCI_REMOTE_NAME_REQUEST
+  0x07 BCI_WRITE_SUPPORTED_FEATURES
+  0x08 BCI_SET_TX_POWER_LEVEL
+  0x09 BCI_SET_RX_POWER_LEVEL
+  0x0a BCI_SNIFF_MODE
+  0x0b BCI_EXIT_SNIFF_MODE
+  0x0c BCI_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0d BCI_WRITE_PAGE_TIMEOUT
+  0x0e BCI_WRITE_SCAN_ENABLE
+  0x0f BCI_GET_AUDIO_QUALITY
+  0x10 BCI_ENABLE_DEVICE_UNDER_TEST
+  0x11 BCI_SEND_DATA
+  0x12 BCI_REGISTER_SERVICE_RECORD
+  0x13 BCI_SERVICE_SEARCH_ATTRIB_REQ
+  0x14 BCI_BUTTON_CONFIGURE
+  0x15 BCI_SET_LOW_BATTERY_LEVEL
+  0x16 BCI_WRITE_LOCAL_NAME
+  0x17 BCI_WRITE_LOCAL_PIN
+  0x18 BCI_REMOVE_SCO_CONNECTION
+  0x19 BCI_QUALITY_OF_SERVICE
+  0x40 BCI_REMOTE_CONNECTION_REQUEST
+  0x41 BCI_REMOTE_DETACH
+  0x42 BCI_REMOTE_ADD_SCO_REQUEST
+  0x43 BCI_REMOTE_REMOVE_SCO_REQUEST
+  0x44 BCI_REMOTE_PARK_REQUEST
+  0x45 BCI_REMOTE_UNPARK_REQUEST
+  0x46 BCI_REMOTE_SNIFF_REQUEST
+  0x47 BCI_REMOTE_UNSNIFF_REQUEST
+  0x48 BCI_REMOTE_HOLD_REQUEST
+  0x49 BCI_REMOTE_AUTHENTICATION_PAIRING_REQUEST
+  0x4a BCI_REMOTE_START_ENCRYPTION_REQUEST
+  0x4b BCI_REMOTE_STOP_ENCRYPTION_REQUEST
+  0x4c BCI_MODE_CHANGE_EVENT
+)
+/* mode changes */
+(
+  0 MODE_CHANGE_ACTIVE
+  1 MODE_CHANGE_SNIFFING
+  2 MODE_CHANGE_PARKED
+  3 MODE_CHANGE_HOLDING
+  4 MODE_CHANGE_SCO_ADDED
+  5 MODE_CHANGE_SCO_REMOVED
+  6 MODE_CHANGE_ACL_CONNECTION
+  7 MODE_CHANGE_DISCONNECT
+  8 MODE_CHANGE_SCO_CHANGED
+  9 MODE_CHANGE_ENCRYPTING
+  10 MODE_CHANGE_NOT_ENCRYPTING
+  11 MODE_CHANGE_BUTTON_UP
+  12 MODE_CHANGE_BUTTON_DOWN
+  13 MODE_CHANGE_BATTERY_LOW
+  14 MODE_CHANGE_RESET
+  15 MODE_CHANGE_INQUIRY_CANCELED_RMTCMD
+  16 MODE_ACTIVE_MSSWITCH_PASSED
+  17 MODE_ACTIVE_MSSWITCH_FAILED
+)
+/* mem_battery - low nibble is level information, upper nibble is status info */
+(
+  6 BATTERY_CHECK_LEVEL
+  7 BATTERY_SENT_STATUS
+)
+/* mem_radio_version */
+(
+  0x02 RADIO_2001
+  0x12 RADIO_2002
+  0x32 RADIO_2002_DDM
+  0x42 RADIO_1008A1
+  0x52 RADIO_1018A0
+)
+/* mem_slave_initiated_conn */
+(
+  0 SLAVE_INIT_AUTHENTICATION
+  1 SLAVE_INIT_ENCRYPTION
+  2 SLAVE_INIT_MASTER_SLAVE_SWITCH
+)
+/* connection_options */
+(
+  0 CONNECTION_AUTH
+  1 CONNECTION_ENCRYPT
+  2 CONNECTION_SWITCH
+  3 CONNECTION_ACL
+  4 CONNECTION_FEATURE_EXT
+)
+/* mem_debug_config */
+(
+  7 AA_INSERTION
+)
+
+
+/* Parse Command:
+TX: take bits from tx fifo, jam it into shift and a destination (rf,bucket)
+RX: take bits from demod,  jam it into shift and a destination (acl,sco,bucket) */
+
+/* Inject Command:
+TX: 0 into shift, send tail of shift into a destination (rf,bucket)
+RX: 0 into shift, send tail of shift into a destination (acl,sco,bucket) */
+
+format
+  ! 15 romdat
+  % d0
+  % d1
+  % d2
+  % d3
+  [8] d0
+  [8] d1
+  [8] d2
+  [8] d3
+end
+
+format
+  ! 15 enable   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+ /* High 5 bytes of channel map */
+format
+  ! 15 pulse   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 disable   /* set flag to 0 */
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 set0  /* set selected bit of reg to 0 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 set1  /* set selected bit of reg to 1 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9          /* alu op demux */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflag  /* set selected bit of the reg to the polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 nsetflag  /* set the selected bit of the reg to the opposite polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflip    /* invert the selected bit of the reg */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 10            /* this is alu op */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 0x1f qset1      /* demux the lowest 4 bit of queue and OR it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 1 */
+  [5] opcode
+  [6] 9
+  [6] always
+  [6] reg
+  [9] 0
+end
+  
+format
+  ! 0x1f qset0      /* demux the lowest 4 bit of queue and AND it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 0 */
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f qsetflag   /* set the bit in reg index by queue to same as flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f nqsetflag   /* set the bit in the reg index by queue to opposite of flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 0x1f qsetflip      /* flip the bit in reg index by queue */
+  % reg
+  [5] opcode
+  [6] 10
+  [6] always
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 1 parse       /* take bits out of source (sco_tx,tx_buffer,rx-elas) into pdata and dest (sco_rx,rx_fifo,tx-elas) */
+  % source
+  % dest
+  % immediate
+  [5] opcode
+  [4] source      /* voice, data, demod */
+  [2] 0
+  [6] 0    
+  [2] 0           /* parse or inject */ 
+  [4] dest        /* acl, sco, mod, bucket */
+  [9] immediate   /* number of bits to parse off */
+end
+
+format
+  ! 1 inject      /* shift data from pdata into destination (tx-elas,rx_fifo,sco_rx) */
+  % destination
+  % immediate
+  [5] opcode
+  [4] 0
+  [2] 0
+  [6] 1
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] immediate   /* number of bits to be injected */
+end
+
+format
+  ! 1 iinject
+  % destination
+  % regr
+  [5] opcode
+  [6] regr       /* contain the number of bits to inject */
+  [6] 3
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] 0 
+end
+
+format
+  ! 1 stuff  /* automatic parse, stuff_counter decrement on every bit until hits zero */
+  % source
+  % destination
+  [5] opcode
+  [4] source
+  [2] 0
+  [6] 2
+  [2] 0
+  [4] destination
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 force
+  % immediate
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] immediate
+end
+
+format    /* force whatever is on shift_reg to regsiters */
+  ! 0x13 iforce
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 increase
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 1    /* alu operation add */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 pincrease
+  % immediate
+  [5] opcode
+  [6] -1  /* pdata */
+  [6] 1   /* alu add */
+  [6] -1  /* back to pdata */
+  [9] immediate
+end
+
+format    /* force immediate value into registers */
+  ! 3 and_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 and
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] immediate
+end
+  
+format
+  ! 0x13 iand    /* pdata & regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] 0
+end
+  
+
+format    /* and whatever is in shiftreg with reg */
+  ! 0x13 iand_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 or_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 or
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 ior
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 ior_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 skip_to   /* jump to location stored in reg */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] rom_addr
+  [9] 0
+end
+
+format
+  ! 3 copy
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 4   /* alu operation copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 deposit   /* copy the register content thru alu to shift register, not prealigned like preload */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] -1  /* pdata */
+  [9] 0
+end
+
+format
+  ! 3 icopy     /* copy the shift register lsb content directly to register, not aligned */
+  % regw
+  [5] opcode
+  [6] -1  /* pdata */
+  [6]  4  /* alu copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 add
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 iadd       /* regr + pdata -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 sub          /* immediate - regr -> regw */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 isub       /* pdata - regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 flip
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 iflip  /* use shift register as immediate to do xor */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 xor
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 3 xor_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 ixor  /* pdata xor regr and store result in regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 invert
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 8
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 pinvert    /* invert pdata into itself */
+  [5] opcode
+  [6] -1
+  [6] 8
+  [6] -1
+  [9] 0
+end
+
+format
+  ! 3 div                 /* regr div immediate div */
+  % reg
+  % immediate
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 idiv           /* pdata div regr data ready at most after 41 nops */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 remainder            /* harvest div remainder */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 14
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 quotient             /* harvest div quotient */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 15
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 6
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 22
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 18
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 35
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 25
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 34
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift32
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 30
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 7
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 23
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 26
+  [6] regw
+  [9] 0
+end
+
+  
+format
+  ! 3 lshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 19
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 36
+  [6] regw
+  [9] 0
+end
+  
+
+format
+  ! 3 lshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 32
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 random               /* random number into regw */
+  % reg
+  [5] opcode
+  [6] 0
+  [6] 20
+  [6] reg
+  [9] 0
+end
+
+format                     /* bit reverse within a byte */
+  ! 3 reverse
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 27
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 priority    /* priority encode reg into regw, lsb is the top priority, ie, priority(8'b00010000) = 4 */
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 21
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 7 setsect   /* set a section of pdata */
+  % section    /* 0 sets 17:0 of pdata with set_data, 1 sets 35:18, 2 sets 53:36, 3 sets 71:54 */
+  % set_data
+  [5] opcode
+  [7] 0
+  [2] section
+  [18] set_data
+end
+
+format
+  ! 10 preload   /* load stuff into pdata according to fhs format, check us.v */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 0
+  [6] -1
+  [9] 0
+end
+
+format  /* load register with pdata content, according to fhs format, check us.v */
+  ! 10 ialigned   /* all bits are in position */
+  % regw
+  [5] opcode
+  [6] -1
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format  /* load register to another according to fhs format */
+  ! 10 aligned
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 4 branch
+  % addr
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 call
+  % addr
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 rtn
+  % flag
+  [5] opcode
+  [6] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 0x0c store          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istore        /* write to memory, data from pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] addr
+end
+
+format
+  ! 0x1d icrc         /* read from memory, address from reg, count from loopcnt, put crc result into pdata */
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] 0
+end
+
+
+format
+  ! 0x1d ifetch         /* read from memory, data into pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0c storet          /* write to memory, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istoret        /* write to memory, data from temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetcht          /* read from memory, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetcht         /* read from memory, data into temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [1] 0   /* msb */
+  [15] addr
+  [8] immediate
+end
+
+format
+  ! 0x0e hjam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [1] 1   /* msb */
+  [15] addr
+  [8] immediate
+end
+
+format			/* 0x242... */
+  ! 4 nbranch
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 ncall
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 nrtn
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 4 nop
+  % addr  /* no-op for addr+2 clocks */
+  [5] opcode
+  [6] 0     
+  [6] 0     /* always */ 
+  [15] addr
+end
+
+format
+  ! 4 clear_stack
+  [5] opcode
+  [6] 4
+  [6] 0    /* always */
+  [15] 0
+end
+
+format
+  ! 6 until
+  % reg
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 1
+  [9] 0
+end
+  
+format
+  ! 6 correlate   /* quit if 1. flag is true 2, regr time up 3, found sync,(cond_true) */
+  % reg          /* expire counter to check against */
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 2           /* correlate */
+  [9] 0           
+end
+
+format
+  ! 5 compare   /* sets cond flag,  if reg equals immediate */
+  % immediate
+  % reg
+  % mask
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] immediate
+end
+
+format
+  ! 0x15 icompare   /* sets cond flag,  if reg equals pdata */
+  % mask
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] 0
+end
+
+format   /* sets cond. flag, if reg equals LS half of shift reg with MS half of reg being mask */
+  ! 5 iverify
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 2
+  [18] 0
+end
+
+format
+  ! 0x15 qisolate1
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] -1
+end
+
+format
+  ! 0x15 qisolate0
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] 0
+end
+
+	/* REVAB bug: cannot access bit above 35 */
+format
+  ! 5 isolate1
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] -1
+  [9] addr
+end
+
+format
+  ! 5 isolate0
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] 0
+  [9] addr
+end
+
+format
+  ! 11 setarg
+  % immediate
+  [5] opcode
+  [27] immediate
+end
+
+format
+  ! 0x1b arg
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [21] immediate
+end
+
+  
+format
+  ! 0 sleep
+  [5] opcode
+  [27] 0
+end
+
+format
+  ! 0 snooze
+  [5] opcode
+  [6] -1
+  [21] 0
+end
+
+format
+  ! 0 revision
+  % rev_num
+  [5] opcode
+  [27] rev_num
+end
+
+format
+  ! 0x18 loop   /* branch when loopcnt is NOT zero, and decrease loopcnt */
+  % addr
+  [5] opcode
+  [4] 4
+  [8] 0
+  [15] addr
+end
+
+format
+  ! 0x18 beq   /* branch when pdata is equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 0
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bne   /* branch when pdata is NOT equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 1
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtneq   /* return when pdata is equal to immediate */
+  % imme
+  [5] opcode
+  [4] 2
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnne   /* return when pdata is NOT equal to immediate */
+  % imme
+  [5] opcode
+  [4] 3
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 bbit1   /* branch when pdata's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 5
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bbit0   /* branch when pdata's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 6
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnbit1   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 7
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnbit0   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 8
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 8	bpatch
+  % imme
+  % addr
+  [5] opcode
+  [4] 9
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 8	bpatchx
+  % imme
+  % addr
+  [5] opcode
+  [4] 14
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark1   /* branch when mark's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 10
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark0   /* branch when mark's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 11
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnmark1   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 12
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnmark0   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 13
+  [8] imme
+  [15] 0
+end
+
+
+format
+  ! 3 mult                  /* immediate mult regr */  /* the product will be ready 17 clks later */
+  % immediate                                   /* use "product" instruction to get the result */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 imult           /* pdata mult regr */  /* the product will be ready after 15 nops */
+  % reg                                         /* use product opcode to get the result */
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate mult pulse to multiplier */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 mul32                  /* immediate mult regr */ 
+  % regr
+  % immediate                                  
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31           
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 imul32           /* pdata mult regr 32x32=64bit */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31                   
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 product              /* harvest mult product */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 17
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 byteswap
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 33
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 shasx          /* SHA256 Sx operation, immediate is Sx */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 28
+  [6] regw
+  [9] immediate
+end
+
+
+format
+  ! 0x13 regexrot 	/* regext[0] <- regext[7], regext[1] <- regext[0], regext[2] <- regext[1] ... */
+  [5] opcode
+  [6] 0
+  [6] 29
+  [6] null
+  [9] 0
+end
+
Index: YJX_Only24g/FCC_1021S/output/bt_patch.bin
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: YJX_Only24g/FCC_1021S/output/bt_patch.bin
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_patch.h	(added)
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_patch.h	(revision 0)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_patch.h	(revision 0)
Index: YJX_Only24g/FCC_1021S/output/bt_program23.icode
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_program23.icode	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_program23.icode	(working copy)
@@ -0,0 +1,25239 @@
+ 00000000  0x0000003a call  0x0000028f 
+ 00000001  0x0000003c call  0x0000003f 
+ 00000002  0x0000003d call  0x0000004c 
+ 00000003  0x0000003e call  0x00000075 
+ 00000004  0x0000003f call  0x0000003b 
+ 00000005  0x00000040 hjam  0x00000021 , 0x00008050 
+ 00000006  0x00000042 fetcht  0x00000001 , 0x000046e2 
+ 00000007  0x00000043 call  0x000067fb 
+ 00000008  0x00000044 fetcht  0x00000001 , 0x000046e3 
+ 00000009  0x00000045 call  0x000067fb 
+ 00000010  0x00000046 fetcht  0x00000001 , 0x000046e4 
+ 00000011  0x00000047 call  0x000067fb 
+ 00000012  0x0000004d call  0x0000659c 
+ 00000013  0x0000004f setarg  0x00000200 
+ 00000014  0x00000050 store  0x00000002 , 0x00004720 
+ 00000015  0x00000051 arg  0x00000002 , 0x00000002 
+ 00000016  0x00000052 arg  0x00004720 , 0x00000011 
+ 00000017  0x00000053 setarg  0x00000000 
+ 00000018  0x00000054 call  0x0000663d 
+ 00000019  0x00000056 call  0x00000274 
+ 00000020  0x00000057 branch  0x0000012c 
+ 00000021  0x0000005a arg  0x00000000 , 0x00000011 
+ 00000022  0x0000005b call  0x00000027 
+ 00000023  0x0000005c call  0x0000001b 
+ 00000024  0x0000005d call  0x00000021 
+ 00000025  0x0000005e copy  0x00000011 , 0x0000003f 
+ 00000026  0x0000005f rtn 
+ 00000027  0x00000061 fetcht  0x00000001 , 0x000046e3 
+ 00000028  0x00000062 call  0x00000036 
+ 00000029  0x00000063 fetcht  0x00000001 , 0x000046e3 
+ 00000030  0x00000064 call  0x0000681d 
+ 00000031  0x00000065 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00000032  0x00000066 rtn 
+ 00000033  0x00000068 fetcht  0x00000001 , 0x000046e4 
+ 00000034  0x00000069 call  0x00000036 
+ 00000035  0x0000006a fetcht  0x00000001 , 0x000046e4 
+ 00000036  0x0000006b call  0x0000681d 
+ 00000037  0x0000006c setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00000038  0x0000006d rtn 
+ 00000039  0x00000070 fetcht  0x00000001 , 0x000046e2 
+ 00000040  0x00000071 call  0x00000036 
+ 00000041  0x00000072 fetcht  0x00000001 , 0x000046e2 
+ 00000042  0x00000073 call  0x0000681d 
+ 00000043  0x00000074 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00000044  0x00000075 rtn 
+ 00000045  0x00000078 set0  0x00000007 , 0x00000002 
+ 00000046  0x00000079 arg  0x00008078 , 0x00000005 
+ 00000047  0x0000007a call  0x00006830 
+ 00000048  0x0000007b set1  0x00000007 , 0x00000002 
+ 00000049  0x0000007c arg  0x0000807c , 0x00000005 
+ 00000050  0x0000007d call  0x00006830 
+ 00000051  0x0000007e set0  0x00000007 , 0x00000002 
+ 00000052  0x0000007f arg  0x00008070 , 0x00000005 
+ 00000053  0x00000080 branch  0x00006830 
+ 00000054  0x00000082 set1  0x00000007 , 0x00000002 
+ 00000055  0x00000083 arg  0x00008078 , 0x00000005 
+ 00000056  0x00000084 call  0x00006830 
+ 00000057  0x00000085 set0  0x00000007 , 0x00000002 
+ 00000058  0x00000086 branch  0x00000031 
+ 00000059  0x0000008b jam  0x0000008f , 0x00004175 
+ 00000060  0x0000008c jam  0x00000010 , 0x00004176 
+ 00000061  0x0000008d jam  0x000000ca , 0x00004177 
+ 00000062  0x0000008e branch  0x000029e9 
+ 00000063  0x00000091 arg  0x00000000 , 0x00000005 
+ 00000064  0x00000092 arg  0x00000400 , 0x00000039 
+ 00000065  0x00000093 call  0x00000048 
+ 00000066  0x00000094 hfetch  0x00000001 , 0x00008108 
+ 00000067  0x00000095 rtnbit0  0x00000002 
+ 00000068  0x00000096 arg  0x00004000 , 0x00000005 
+ 00000069  0x00000097 arg  0x00000200 , 0x00000039 
+ 00000070  0x00000098 call  0x00000048 
+ 00000071  0x00000099 rtn 
+ 00000072  0x0000009c force  0x00000000 , 0x0000003f 
+ 00000073  0x0000009e istore  0x00000008 , 0x00000005 
+ 00000074  0x0000009f loop  0x00000049 
+ 00000075  0x000000a0 rtn 
+ 00000076  0x000000a2 setarg  0x008fffff 
+ 00000077  0x000000a3 store  0x00000003 , 0x00004098 
+ 00000078  0x000000a4 setarg  0x009d83fe 
+ 00000079  0x000000a5 set0  0x00000002 , 0x0000003f 
+ 00000080  0x000000a6 istore  0x00000003 , 0x00000005 
+ 00000081  0x000000a7 setarg  0x00008359 
+ 00000082  0x000000a8 istore  0x00000002 , 0x00000005 
+ 00000083  0x000000a9 setarg  0x00001177 
+ 00000084  0x000000aa store  0x00000003 , 0x000040a0 
+ 00000085  0x000000ab setarg  0x00000033 
+ 00000086  0x000000ac store  0x00000003 , 0x000040a3 
+ 00000087  0x000000ad setarg  0x009e8b33 
+ 00000088  0x000000ae store  0x00000003 , 0x000040a7 
+ 00000089  0x000000af setarg  0x00000012 
+ 00000090  0x000000b0 store  0x00000002 , 0x000040ad 
+ 00000091  0x000000b1 setarg  0x00001000 
+ 00000092  0x000000b2 store  0x00000002 , 0x000040af 
+ 00000093  0x000000b3 setarg  0x00000200 
+ 00000094  0x000000b4 store  0x00000002 , 0x000040b1 
+ 00000095  0x000000b5 setarg  0x00000800 
+ 00000096  0x000000b6 store  0x00000002 , 0x000040b3 
+ 00000097  0x000000b7 setarg  0x00000020 
+ 00000098  0x000000b8 store  0x00000002 , 0x000040bb 
+ 00000099  0x000000b9 setarg  0x00000020 
+ 00000100  0x000000ba store  0x00000002 , 0x000040b7 
+ 00000101  0x000000bb setarg  0x00002000 
+ 00000102  0x000000bc store  0x00000002 , 0x000040b9 
+ 00000103  0x000000bd setarg  0x00000a04 
+ 00000104  0x000000be store  0x00000003 , 0x00004510 
+ 00000105  0x000000bf setarg  0x000012e9 
+ 00000106  0x000000c0 store  0x00000002 , 0x00004513 
+ 00000107  0x000000c1 jam  0x00000006 , 0x00004515 
+ 00000108  0x000000c2 setarg  0x00535442 
+ 00000109  0x000000c3 store  0x00000003 , 0x00004516 
+ 00000110  0x000000c4 setarg  0x00344950 
+ 00000111  0x000000c5 store  0x00000003 , 0x00004519 
+ 00000112  0x000000c6 jam  0x00000002 , 0x000040bd 
+ 00000113  0x000000c7 jam  0x00000060 , 0x00000090 
+ 00000114  0x000000c8 jam  0x00000005 , 0x000040d0 
+ 00000115  0x000000ca jam  0x00000003 , 0x00004093 
+ 00000116  0x000000cb rtn 
+ 00000117  0x000000ce hjam  0x00000006 , 0x00008042 
+ 00000118  0x000000db hjam  0x00000000 , 0x00000907 
+ 00000119  0x000000dc hjam  0x00000000 , 0x00000908 
+ 00000120  0x000000dd hjam  0x00000000 , 0x00000909 
+ 00000121  0x000000de hjam  0x000000ff , 0x0000090a 
+ 00000122  0x000000df hjam  0x000000ff , 0x0000090b 
+ 00000123  0x000000f3 hjam  0x0000002e , 0x0000090f 
+ 00000124  0x000000f5 hjam  0x00000047 , 0x00008912 
+ 00000125  0x000000fa hjam  0x000000ba , 0x0000094b 
+ 00000126  0x000000fb hjam  0x000000fb , 0x0000094c 
+ 00000127  0x000000fc hjam  0x000000ef , 0x0000094d 
+ 00000128  0x000000fd hjam  0x000000ec , 0x0000094e 
+ 00000129  0x000000fe hjam  0x0000005e , 0x0000094f 
+ 00000130  0x00000100 hjam  0x00000088 , 0x0000096f 
+ 00000131  0x00000101 hjam  0x00000000 , 0x00000973 
+ 00000132  0x00000103 hjam  0x0000004a , 0x0000895a 
+ 00000133  0x00000105 hjam  0x00000080 , 0x0000895c 
+ 00000134  0x00000107 jam  0x00000020 , 0x00004af9 
+ 00000135  0x00000108 jam  0x00000001 , 0x00004af7 
+ 00000136  0x000001e6 hjam  0x000000a9 , 0x00000930 
+ 00000137  0x000001e7 hjam  0x000000ad , 0x0000092f 
+ 00000138  0x000001e8 hjam  0x000000b1 , 0x0000092e 
+ 00000139  0x000001e9 hjam  0x000000b5 , 0x0000092d 
+ 00000140  0x000001ea hjam  0x000000b9 , 0x0000092c 
+ 00000141  0x000001eb hjam  0x000000bd , 0x0000092b 
+ 00000142  0x000001ec hjam  0x000000c2 , 0x0000092a 
+ 00000143  0x000001ed hjam  0x000000c6 , 0x00000929 
+ 00000144  0x000001ee hjam  0x000000ca , 0x00000928 
+ 00000145  0x000001ef hjam  0x000000ce , 0x00000927 
+ 00000146  0x000001f0 hjam  0x000000d2 , 0x00000926 
+ 00000147  0x000001f1 hjam  0x000000d6 , 0x00000925 
+ 00000148  0x000001f2 hjam  0x000000da , 0x00000924 
+ 00000149  0x000001f3 hjam  0x000000de , 0x00000923 
+ 00000150  0x000001f4 hjam  0x000000e2 , 0x00000922 
+ 00000151  0x000001f5 hjam  0x000000e6 , 0x00000921 
+ 00000152  0x000001f6 hjam  0x000000ea , 0x00000920 
+ 00000153  0x000001f7 hjam  0x000000ee , 0x0000091f 
+ 00000154  0x000001f8 hjam  0x000000f2 , 0x0000091e 
+ 00000155  0x000001f9 hjam  0x000000f6 , 0x0000091d 
+ 00000156  0x000001fa hjam  0x000000fb , 0x0000091c 
+ 00000157  0x000001fb hjam  0x000000fb , 0x0000091b 
+ 00000158  0x000001fc hjam  0x000000fb , 0x0000091a 
+ 00000159  0x000001fe hjam  0x000000f5 , 0x00000947 
+ 00000160  0x000001ff hjam  0x000000e6 , 0x00000946 
+ 00000161  0x00000200 hjam  0x000000d7 , 0x00000945 
+ 00000162  0x00000201 hjam  0x000000d6 , 0x00000944 
+ 00000163  0x00000202 hjam  0x000000c7 , 0x00000943 
+ 00000164  0x00000203 hjam  0x000000c6 , 0x00000942 
+ 00000165  0x00000204 hjam  0x00000087 , 0x00000941 
+ 00000166  0x00000205 hjam  0x00000086 , 0x00000940 
+ 00000167  0x00000206 hjam  0x00000085 , 0x0000093f 
+ 00000168  0x00000207 hjam  0x00000046 , 0x0000093e 
+ 00000169  0x00000208 hjam  0x00000007 , 0x0000093d 
+ 00000170  0x00000209 hjam  0x00000006 , 0x0000093c 
+ 00000171  0x0000020a hjam  0x000000c7 , 0x0000093b 
+ 00000172  0x0000020b hjam  0x000000c6 , 0x0000093a 
+ 00000173  0x0000020c hjam  0x000000c5 , 0x00000939 
+ 00000174  0x0000020d hjam  0x000000c4 , 0x00000938 
+ 00000175  0x0000020e hjam  0x000000c3 , 0x00000937 
+ 00000176  0x0000020f hjam  0x000000c2 , 0x00000936 
+ 00000177  0x00000210 hjam  0x000000c1 , 0x00000935 
+ 00000178  0x00000211 hjam  0x000000c0 , 0x00000934 
+ 00000179  0x00000212 hjam  0x00000080 , 0x00000933 
+ 00000180  0x00000213 hjam  0x00000080 , 0x00000932 
+ 00000181  0x00000214 hjam  0x00000080 , 0x00000931 
+ 00000182  0x00000216 hjam  0x0000007f , 0x0000094a 
+ 00000183  0x00000217 hjam  0x000000f8 , 0x00000949 
+ 00000184  0x00000218 hjam  0x00000000 , 0x00000948 
+ 00000185  0x00000226 hjam  0x000000d0 , 0x00000955 
+ 00000186  0x00000227 hjam  0x000000e0 , 0x00000956 
+ 00000187  0x00000228 hjam  0x00000088 , 0x00000957 
+ 00000188  0x00000229 hjam  0x0000003c , 0x00000958 
+ 00000189  0x0000022a hjam  0x00000010 , 0x00000959 
+ 00000190  0x0000023b setarg  0x00300000 
+ 00000191  0x0000023c hstore  0x00000003 , 0x00008969 
+ 00000192  0x0000023d hjam  0x00000064 , 0x00008968 
+ 00000193  0x0000023e jam  0x00000024 , 0x000040be 
+ 00000194  0x0000023f call  0x000000ea 
+ 00000195  0x00000240 hjam  0x000000e4 , 0x00008968 
+ 00000196  0x00000241 set1  0x00000003 , 0x00000015 
+ 00000197  0x00000242 force  0x00000000 , 0x00000015 
+ 00000198  0x00000243 call  0x000000c9 
+ 00000199  0x00000244 call  0x000000db 
+ 00000200  0x00000245 rtn 
+ 00000201  0x00000247 hjam  0x00000002 , 0x00008906 
+ 00000202  0x00000248 setarg  0x002625a0 
+ 00000203  0x00000249 call  0x0000011f 
+ 00000204  0x0000024a hjam  0x0000007f , 0x00008900 
+ 00000205  0x0000024b nop  0x00000082 
+ 00000206  0x0000024c hjam  0x00000010 , 0x00008901 
+ 00000207  0x0000024d hjam  0x00000030 , 0x00008952 
+ 00000208  0x0000024e nop  0x000000c8 
+ 00000209  0x0000024f hjam  0x000000f0 , 0x00008952 
+ 00000210  0x00000250 force  0x00000032 , 0x00000039 
+ 00000211  0x00000252 hfetch  0x00000001 , 0x00008980 
+ 00000212  0x00000253 bbit1  0x00000005 , 0x000000d6 
+ 00000213  0x00000254 loop  0x000000d3 
+ 00000214  0x00000256 store  0x00000001 , 0x000040ce 
+ 00000215  0x00000257 hjam  0x00000000 , 0x00008901 
+ 00000216  0x00000258 hjam  0x00000000 , 0x00008900 
+ 00000217  0x00000259 hjam  0x00000000 , 0x00008906 
+ 00000218  0x0000025a rtn 
+ 00000219  0x0000025d fetch  0x00000001 , 0x000040ce 
+ 00000220  0x0000025e set1  0x00000005 , 0x0000003f 
+ 00000221  0x0000025f hstore  0x00000001 , 0x00008952 
+ 00000222  0x00000260 hfetcht  0x00000001 , 0x00008950 
+ 00000223  0x00000261 and_into  0x00000007 , 0x00000002 
+ 00000224  0x00000262 lshift3  0x0000003f , 0x0000003f 
+ 00000225  0x00000263 ior  0x00000002 , 0x0000003f 
+ 00000226  0x00000264 hstore  0x00000001 , 0x00008950 
+ 00000227  0x00000265 hfetch  0x00000001 , 0x00008951 
+ 00000228  0x00000266 set0  0x00000000 , 0x0000003f 
+ 00000229  0x00000267 hstore  0x00000001 , 0x00008951 
+ 00000230  0x00000268 hfetch  0x00000001 , 0x00008952 
+ 00000231  0x00000269 set0  0x00000005 , 0x0000003f 
+ 00000232  0x0000026a hstore  0x00000001 , 0x00008952 
+ 00000233  0x0000026b rtn 
+ 00000234  0x0000026e hfetch  0x00000001 , 0x0000896b 
+ 00000235  0x0000026f set0  0x00000004 , 0x0000003f 
+ 00000236  0x00000270 set0  0x00000005 , 0x0000003f 
+ 00000237  0x00000271 hstore  0x00000001 , 0x0000896b 
+ 00000238  0x00000272 hjam  0x00000000 , 0x00008905 
+ 00000239  0x00000273 hjam  0x00000070 , 0x00008904 
+ 00000240  0x00000274 hjam  0x000000ff , 0x00008905 
+ 00000241  0x00000275 hfetch  0x00000001 , 0x0000896b 
+ 00000242  0x00000276 set1  0x00000004 , 0x0000003f 
+ 00000243  0x00000277 set1  0x00000005 , 0x0000003f 
+ 00000244  0x00000278 hstore  0x00000001 , 0x0000896b 
+ 00000245  0x00000279 call  0x000000fc 
+ 00000246  0x0000027a hjam  0x00000005 , 0x00008042 
+ 00000247  0x0000027b rtn 
+ 00000248  0x0000027e hjam  0x00000008 , 0x00008042 
+ 00000249  0x0000027f hjam  0x00000000 , 0x00008905 
+ 00000250  0x00000280 hjam  0x00000070 , 0x00008904 
+ 00000251  0x00000281 rtn 
+ 00000252  0x00000284 hfetcht  0x00000003 , 0x00008138 
+ 00000253  0x00000285 setarg  0x00100f0f 
+ 00000254  0x00000286 isub  0x00000002 , 0x0000003e 
+ 00000255  0x00000287 rtn  0x00000005 
+ 00000256  0x00000288 hstore  0x00000003 , 0x0000804c 
+ 00000257  0x00000289 hjam  0x000000ca , 0x0000804f 
+ 00000258  0x0000028a call  0x00000105 
+ 00000259  0x0000028b hjam  0x00000000 , 0x00008074 
+ 00000260  0x0000028c rtn 
+ 00000261  0x0000028e setarg  0x00000001 
+ 00000262  0x00000290 until  0x0000003e , 0x00000033 
+ 00000263  0x00000291 hstore  0x00000001 , 0x00008005 
+ 00000264  0x00000292 until  0x0000003e , 0x00000033 
+ 00000265  0x00000293 until  0x0000003e , 0x00000033 
+ 00000266  0x00000294 rtn 
+ 00000267  0x00000296 nop  0x00000064 
+ 00000268  0x0000029b hjam  0x000000d8 , 0x00000955 
+ 00000269  0x0000029c nop  0x00000028 
+ 00000270  0x0000029d hjam  0x000000d2 , 0x00000955 
+ 00000271  0x0000029e nop  0x00000028 
+ 00000272  0x000002a0 hjam  0x000000d1 , 0x00000955 
+ 00000273  0x000002a1 nop  0x00000028 
+ 00000274  0x000002a6 hjam  0x000000d0 , 0x00000955 
+ 00000275  0x000002a7 hjam  0x000000e0 , 0x00000956 
+ 00000276  0x000002a8 force  0x00000000 , 0x00000015 
+ 00000277  0x000002a9 disable  0x00000021 
+ 00000278  0x000002aa disable  0x00000020 
+ 00000279  0x000002ab pulse  0x0000001e 
+ 00000280  0x000002ac hjam  0x00000000 , 0x00008906 
+ 00000281  0x000002ad hjam  0x00000000 , 0x00008903 
+ 00000282  0x000002ae hjam  0x00000070 , 0x00008904 
+ 00000283  0x000002af hjam  0x00000000 , 0x00008902 
+ 00000284  0x000002b0 hjam  0x00000000 , 0x00008901 
+ 00000285  0x000002b1 hjam  0x00000000 , 0x00008900 
+ 00000286  0x000002b2 rtn 
+ 00000287  0x000002b5 rshift  0x0000003f , 0x0000003f 
+ 00000288  0x000002b6 increase  0xfffffffd , 0x0000003f 
+ 00000289  0x000002b8 increase  0xffffffff , 0x0000003f 
+ 00000290  0x000002b9 nbranch  0x00000121 , 0x00000005 
+ 00000291  0x000002ba force  0x00000000 , 0x0000003f 
+ 00000292  0x000002bb rtn 
+ 00000293  0x000002be hjam  0x00000077 , 0x00008904 
+ 00000294  0x000002bf hjam  0x00000003 , 0x00008903 
+ 00000295  0x000002c0 nop  0x0000000a 
+ 00000296  0x000002c1 hjam  0x00000083 , 0x00008903 
+ 00000297  0x000002c2 hjam  0x0000007f , 0x00008904 
+ 00000298  0x000002c3 hjam  0x000000a7 , 0x00008903 
+ 00000299  0x000002c4 rtn 
+ 00000300  0x000002c6 jam  0x00000001 , 0x00004af8 
+ 00000301  0x000002c7 jam  0x00000001 , 0x00004afa 
+ 00000302  0x000002c9 jam  0x0000004f , 0x00004af7 
+ 00000303  0x000002cb fetch  0x00000004 , 0x00004af7 
+ 00000304  0x000002cc store  0x00000004 , 0x00004afb 
+ 00000305  0x000002d0 fetcht  0x00000001 , 0x00004afb 
+ 00000306  0x000002d1 increase  0xffffffff , 0x00000002 
+ 00000307  0x000002d4 fetch  0x00000001 , 0x00004afe 
+ 00000308  0x000002d5 beq  0x00000000 , 0x00000141 
+ 00000309  0x000002d7 call  0x00000125 
+ 00000310  0x000002d8 call  0x00000242 
+ 00000311  0x000002d9 disable  0x00000007 
+ 00000312  0x000002da enable  0x0000001d 
+ 00000313  0x000002db enable  0x00000020 
+ 00000314  0x000002dc fetcht  0x00000001 , 0x00004afc 
+ 00000315  0x000002dd copy  0x00000002 , 0x00000015 
+ 00000316  0x000002de hfetch  0x00000001 , 0x00008908 
+ 00000317  0x000002df isolate1  0x00000003 , 0x00000002 
+ 00000318  0x000002e0 setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00000319  0x000002e1 hstore  0x00000001 , 0x00008908 
+ 00000320  0x000002e2 branch  0x000001a1 
+ 00000321  0x000002e5 call  0x00000125 
+ 00000322  0x000002e6 call  0x00000242 
+ 00000323  0x000002e8 call  0x00000293 
+ 00000324  0x000002e9 set1  0x00000000 , 0x00000015 
+ 00000325  0x000002ea enable  0x0000001d 
+ 00000326  0x000002eb enable  0x00000020 
+ 00000327  0x000002ec disable  0x00000021 
+ 00000328  0x000002ed call  0x0000547f 
+ 00000329  0x000002ee hfetch  0x00000001 , 0x00008908 
+ 00000330  0x000002ef isolate1  0x00000003 , 0x00000002 
+ 00000331  0x000002f0 setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00000332  0x000002f1 hstore  0x00000001 , 0x00008908 
+ 00000333  0x000002f3 arg  0x0000119e , 0x00000005 
+ 00000334  0x000002f4 setarg  0x00cccccc 
+ 00000335  0x000002f5 store  0x00000003 , 0x0000119e 
+ 00000336  0x000002f6 istore  0x00000003 , 0x00000005 
+ 00000337  0x000002f7 istore  0x00000003 , 0x00000005 
+ 00000338  0x000002f8 istore  0x00000003 , 0x00000005 
+ 00000339  0x000002f9 istore  0x00000003 , 0x00000005 
+ 00000340  0x000002fa istore  0x00000003 , 0x00000005 
+ 00000341  0x000002fb istore  0x00000003 , 0x00000005 
+ 00000342  0x000002fc istore  0x00000003 , 0x00000005 
+ 00000343  0x000002fd arg  0x00000018 , 0x00000039 
+ 00000344  0x000002fe arg  0x0000119e , 0x00000006 
+ 00000345  0x000002ff branch  0x0000015a 
+ 00000346  0x00000302 ifetch  0x00000001 , 0x00000006 
+ 00000347  0x00000303 inject  0x00000003 , 0x00000008 
+ 00000348  0x00000304 loop  0x0000015a 
+ 00000349  0x00000305 call  0x00000178 
+ 00000350  0x00000306 setarg  0x00002ee0 
+ 00000351  0x00000307 call  0x00002a8f 
+ 00000352  0x00000309 call  0x000001ad 
+ 00000353  0x0000030b fetch  0x00000004 , 0x00004afb 
+ 00000354  0x0000030c fetcht  0x00000004 , 0x00004af7 
+ 00000355  0x0000030d isub  0x00000002 , 0x0000003e 
+ 00000356  0x0000030e ncall  0x00000166 , 0x00000005 
+ 00000357  0x00000310 branch  0x0000012f 
+ 00000358  0x00000313 setarg  0x00124f80 
+ 00000359  0x00000314 call  0x00002a8f 
+ 00000360  0x00000315 setarg  0x00124f80 
+ 00000361  0x00000316 call  0x00002a8f 
+ 00000362  0x00000317 setarg  0x00124f80 
+ 00000363  0x00000318 call  0x00002a8f 
+ 00000364  0x00000319 branch  0x00000015 
+ 00000365  0x0000031e call  0x00000125 
+ 00000366  0x0000031f call  0x00000242 
+ 00000367  0x00000321 call  0x00000293 
+ 00000368  0x00000322 set1  0x00000000 , 0x00000015 
+ 00000369  0x00000323 enable  0x0000001d 
+ 00000370  0x00000324 enable  0x00000020 
+ 00000371  0x00000325 disable  0x00000021 
+ 00000372  0x00000326 call  0x0000547f 
+ 00000373  0x00000327 fetch  0x00000001 , 0x00004afd 
+ 00000374  0x00000328 hstore  0x00000001 , 0x00008908 
+ 00000375  0x00000329 branch  0x000001c2 
+ 00000376  0x0000032c branch  0x0000010b 
+ 00000377  0x00000330 fetcht  0x00000001 , 0x00004afb 
+ 00000378  0x00000331 increase  0xffffffff , 0x00000002 
+ 00000379  0x00000332 fetch  0x00000001 , 0x00004aff 
+ 00000380  0x00000333 compare  0x00000001 , 0x0000003f , 0x00000001 
+ 00000381  0x00000334 call  0x00000192 , 0x00000001 
+ 00000382  0x00000335 ncall  0x00000185 , 0x00000001 
+ 00000383  0x00000337 call  0x00004c2e 
+ 00000384  0x00000338 fetch  0x00000007 , 0x00004afb 
+ 00000385  0x00000339 fetcht  0x00000007 , 0x00004af7 
+ 00000386  0x0000033a isub  0x00000002 , 0x0000003e 
+ 00000387  0x0000033b branch  0x0000017f , 0x00000005 
+ 00000388  0x0000033c branch  0x0000012c 
+ 00000389  0x00000340 call  0x00000178 
+ 00000390  0x00000341 call  0x00000296 
+ 00000391  0x00000342 setarg  0x00000500 
+ 00000392  0x00000343 call  0x00002a8f 
+ 00000393  0x00000344 branch  0x00002924 
+ 00000394  0x00000347 disable  0x0000001d 
+ 00000395  0x00000348 disable  0x0000001c 
+ 00000396  0x00000349 disable  0x0000000d 
+ 00000397  0x0000034a disable  0x0000000c 
+ 00000398  0x0000034b disable  0x00000009 
+ 00000399  0x0000034c disable  0x0000000e 
+ 00000400  0x0000034d disable  0x00000007 
+ 00000401  0x0000034e branch  0x0000010b 
+ 00000402  0x00000351 call  0x00000178 
+ 00000403  0x00000352 call  0x00000296 
+ 00000404  0x00000353 fetcht  0x00000001 , 0x00004afc 
+ 00000405  0x00000354 and  0x00000002 , 0x00000007 , 0x00000015 
+ 00000406  0x00000355 branch  0x000029eb 
+ 00000407  0x0000035b call  0x00000125 
+ 00000408  0x0000035c call  0x00000242 
+ 00000409  0x0000035d disable  0x00000007 
+ 00000410  0x0000035e enable  0x0000001d 
+ 00000411  0x0000035f enable  0x00000020 
+ 00000412  0x00000360 fetcht  0x00000001 , 0x00004afc 
+ 00000413  0x00000361 copy  0x00000002 , 0x00000015 
+ 00000414  0x00000362 fetch  0x00000001 , 0x00004afd 
+ 00000415  0x00000363 hstore  0x00000001 , 0x00008908 
+ 00000416  0x00000364 beq  0x00000000 , 0x000001c0 
+ 00000417  0x00000366 arg  0x0000001e , 0x00000039 
+ 00000418  0x00000367 arg  0x00004c07 , 0x00000006 
+ 00000419  0x00000369 ifetch  0x00000001 , 0x00000006 
+ 00000420  0x0000036a inject  0x00000003 , 0x00000008 
+ 00000421  0x0000036b loop  0x000001a3 
+ 00000422  0x0000036c call  0x000001ad 
+ 00000423  0x0000036d fetch  0x00000004 , 0x00004afb 
+ 00000424  0x0000036e fetcht  0x00000004 , 0x00004af7 
+ 00000425  0x0000036f isub  0x00000002 , 0x0000003e 
+ 00000426  0x00000370 branch  0x000001a1 , 0x00000005 
+ 00000427  0x00000371 call  0x00000166 
+ 00000428  0x00000372 branch  0x0000012f 
+ 00000429  0x00000374 call  0x00000015 
+ 00000430  0x00000375 beq  0x00000004 , 0x000001ba 
+ 00000431  0x00000376 beq  0x00000001 , 0x000001b1 
+ 00000432  0x00000377 rtn 
+ 00000433  0x00000379 fetch  0x00000001 , 0x00004af7 
+ 00000434  0x0000037a beq  0x0000004f , 0x000001b6 
+ 00000435  0x0000037b beq  0x0000002e , 0x000001b8 
+ 00000436  0x0000037c jam  0x0000004f , 0x00004af7 
+ 00000437  0x0000037d rtn 
+ 00000438  0x0000037f jam  0x0000002e , 0x00004af7 
+ 00000439  0x00000380 rtn 
+ 00000440  0x00000382 jam  0x00000002 , 0x00004af7 
+ 00000441  0x00000383 rtn 
+ 00000442  0x00000385 fetch  0x00000001 , 0x00004afe 
+ 00000443  0x00000386 beq  0x00000000 , 0x000001be 
+ 00000444  0x00000387 jam  0x00000000 , 0x00004afa 
+ 00000445  0x00000388 rtn 
+ 00000446  0x0000038a jam  0x00000001 , 0x00004afa 
+ 00000447  0x0000038b rtn 
+ 00000448  0x0000038f fetch  0x00000001 , 0x00004b00 
+ 00000449  0x00000390 beq  0x00000001 , 0x00000208 
+ 00000450  0x00000397 fetch  0x00000001 , 0x00004afc 
+ 00000451  0x00000398 beq  0x00000001 , 0x000001c7 
+ 00000452  0x00000399 beq  0x00000003 , 0x000001d4 
+ 00000453  0x0000039a beq  0x00000007 , 0x000001e1 
+ 00000454  0x0000039b rtn 
+ 00000455  0x0000039d fetch  0x00000001 , 0x00004b01 
+ 00000456  0x0000039e beq  0x00000019 , 0x000001cb 
+ 00000457  0x0000039f beq  0x00000078 , 0x000001ce 
+ 00000458  0x000003a0 beq  0x000000f0 , 0x000001d1 
+ 00000459  0x000003a2 arg  0x00000037 , 0x00000039 
+ 00000460  0x000003a3 arg  0x00004c07 , 0x00000006 
+ 00000461  0x000003a4 branch  0x0000015a 
+ 00000462  0x000003a6 arg  0x000000cd , 0x00000039 
+ 00000463  0x000003a7 arg  0x00004c07 , 0x00000006 
+ 00000464  0x000003a8 branch  0x0000015a 
+ 00000465  0x000003aa arg  0x00000163 , 0x00000039 
+ 00000466  0x000003ab arg  0x00004c07 , 0x00000006 
+ 00000467  0x000003ac branch  0x0000015a 
+ 00000468  0x000003b1 fetch  0x00000001 , 0x00004b01 
+ 00000469  0x000003b2 beq  0x00000019 , 0x000001d8 
+ 00000470  0x000003b3 beq  0x00000078 , 0x000001db 
+ 00000471  0x000003b4 beq  0x000000f0 , 0x000001de 
+ 00000472  0x000003b7 arg  0x00000069 , 0x00000039 
+ 00000473  0x000003b8 arg  0x00004c07 , 0x00000006 
+ 00000474  0x000003b9 branch  0x0000015a 
+ 00000475  0x000003bb arg  0x00000195 , 0x00000039 
+ 00000476  0x000003bc arg  0x00004c07 , 0x00000006 
+ 00000477  0x000003bd branch  0x0000015a 
+ 00000478  0x000003bf arg  0x000002c1 , 0x00000039 
+ 00000479  0x000003c0 arg  0x00004c07 , 0x00000006 
+ 00000480  0x000003c1 branch  0x0000015a 
+ 00000481  0x000003c3 fetch  0x00000001 , 0x00004b01 
+ 00000482  0x000003c4 beq  0x00000019 , 0x000001e5 
+ 00000483  0x000003c5 beq  0x00000078 , 0x000001e8 
+ 00000484  0x000003c6 beq  0x000000f0 , 0x000001eb 
+ 00000485  0x000003c9 arg  0x00000078 , 0x00000039 
+ 00000486  0x000003ca arg  0x00004c07 , 0x00000006 
+ 00000487  0x000003cb branch  0x0000015a 
+ 00000488  0x000003cd arg  0x0000024e , 0x00000039 
+ 00000489  0x000003ce arg  0x00004c07 , 0x00000006 
+ 00000490  0x000003cf branch  0x0000015a 
+ 00000491  0x000003d1 arg  0x000003e8 , 0x00000039 
+ 00000492  0x000003d2 arg  0x00004c07 , 0x00000006 
+ 00000493  0x000003d3 branch  0x0000015a 
+ 00000494  0x000003d5 fetch  0x00000001 , 0x00004b01 
+ 00000495  0x000003d6 beq  0x00000019 , 0x000001f2 
+ 00000496  0x000003d7 beq  0x00000078 , 0x000001f5 
+ 00000497  0x000003d8 beq  0x000000f0 , 0x000001f8 
+ 00000498  0x000003db arg  0x00000069 , 0x00000039 
+ 00000499  0x000003dc arg  0x00004c07 , 0x00000006 
+ 00000500  0x000003dd branch  0x0000021a 
+ 00000501  0x000003df arg  0x00000195 , 0x00000039 
+ 00000502  0x000003e0 arg  0x00004c07 , 0x00000006 
+ 00000503  0x000003e1 branch  0x0000021a 
+ 00000504  0x000003e3 arg  0x000002c1 , 0x00000039 
+ 00000505  0x000003e4 arg  0x00004c07 , 0x00000006 
+ 00000506  0x000003e5 branch  0x0000021a 
+ 00000507  0x000003e7 fetch  0x00000001 , 0x00004b01 
+ 00000508  0x000003e8 beq  0x00000019 , 0x000001ff 
+ 00000509  0x000003e9 beq  0x00000078 , 0x00000202 
+ 00000510  0x000003ea beq  0x000000f0 , 0x00000205 
+ 00000511  0x000003ed arg  0x00000078 , 0x00000039 
+ 00000512  0x000003ee arg  0x00004c07 , 0x00000006 
+ 00000513  0x000003ef branch  0x0000021a 
+ 00000514  0x000003f1 arg  0x0000024e , 0x00000039 
+ 00000515  0x000003f2 arg  0x00004c07 , 0x00000006 
+ 00000516  0x000003f3 branch  0x0000021a 
+ 00000517  0x000003f5 arg  0x000003e8 , 0x00000039 
+ 00000518  0x000003f6 arg  0x00004c07 , 0x00000006 
+ 00000519  0x000003f7 branch  0x0000021a 
+ 00000520  0x000003f9 fetch  0x00000001 , 0x00004afc 
+ 00000521  0x000003fa beq  0x00000001 , 0x0000020d 
+ 00000522  0x000003fb beq  0x00000003 , 0x000001ee 
+ 00000523  0x000003fc beq  0x00000007 , 0x000001fb 
+ 00000524  0x000003fd rtn 
+ 00000525  0x000003ff fetch  0x00000001 , 0x00004b01 
+ 00000526  0x00000400 beq  0x00000019 , 0x00000211 
+ 00000527  0x00000401 beq  0x00000078 , 0x00000214 
+ 00000528  0x00000402 beq  0x000000f0 , 0x00000217 
+ 00000529  0x00000405 arg  0x00000037 , 0x00000039 
+ 00000530  0x00000406 arg  0x00004c07 , 0x00000006 
+ 00000531  0x00000407 branch  0x0000021a 
+ 00000532  0x00000409 arg  0x000000cd , 0x00000039 
+ 00000533  0x0000040a arg  0x00004c07 , 0x00000006 
+ 00000534  0x0000040b branch  0x0000021a 
+ 00000535  0x0000040d arg  0x00000163 , 0x00000039 
+ 00000536  0x0000040e arg  0x00004c07 , 0x00000006 
+ 00000537  0x0000040f branch  0x0000021a 
+ 00000538  0x00000411 ifetch  0x00000001 , 0x00000006 
+ 00000539  0x00000412 inject  0x00000003 , 0x00000008 
+ 00000540  0x00000413 loop  0x0000021a 
+ 00000541  0x00000414 branch  0x00000225 
+ 00000542  0x00000415 call  0x00004c2e 
+ 00000543  0x00000416 fetch  0x00000007 , 0x00004afb 
+ 00000544  0x00000417 fetcht  0x00000007 , 0x00004af7 
+ 00000545  0x00000418 isub  0x00000002 , 0x0000003e 
+ 00000546  0x00000419 branch  0x000001c2 , 0x00000005 
+ 00000547  0x0000041a call  0x00000178 
+ 00000548  0x0000041b branch  0x0000012c 
+ 00000549  0x0000041f call  0x00000178 
+ 00000550  0x00000420 call  0x00007f16 
+ 00000551  0x00000421 arg  0x0000000f , 0x00000007 
+ 00000552  0x00000422 setarg  0x0000000c 
+ 00000553  0x00000423 call  0x00007f08 
+ 00000554  0x00000425 arg  0x0000000f , 0x00000007 
+ 00000555  0x00000426 call  0x00007f16 
+ 00000556  0x00000427 branch  0x00000233 , 0x00000034 
+ 00000557  0x00000428 call  0x00004c2e 
+ 00000558  0x00000429 fetch  0x00000007 , 0x00004afb 
+ 00000559  0x0000042a fetcht  0x00000007 , 0x00004af7 
+ 00000560  0x0000042b isub  0x00000002 , 0x0000003e 
+ 00000561  0x0000042c branch  0x0000022a , 0x00000005 
+ 00000562  0x0000042d branch  0x0000012c 
+ 00000563  0x0000042f random  0x0000003f 
+ 00000564  0x00000430 store  0x00000001 , 0x00004c06 
+ 00000565  0x00000433 fetch  0x00000001 , 0x00004c06 
+ 00000566  0x00000434 sub  0x0000003f , 0x00000050 , 0x0000003e 
+ 00000567  0x00000435 branch  0x0000023b , 0x00000002 
+ 00000568  0x00000436 increase  0xffffffb0 , 0x0000003f 
+ 00000569  0x00000437 store  0x00000001 , 0x00004c06 
+ 00000570  0x00000438 branch  0x00000235 
+ 00000571  0x0000043a fetch  0x00000001 , 0x00004c06 
+ 00000572  0x0000043b beq  0x00000000 , 0x00000240 
+ 00000573  0x0000043c beq  0x00000001 , 0x00000240 
+ 00000574  0x0000043d store  0x00000001 , 0x00004af7 
+ 00000575  0x0000043f branch  0x0000012c 
+ 00000576  0x00000441 jam  0x00000002 , 0x00004af7 
+ 00000577  0x00000443 branch  0x0000012c 
+ 00000578  0x00000446 storet  0x00000001 , 0x00000017 
+ 00000579  0x00000448 add  0x00000002 , 0x00000001 , 0x00000011 
+ 00000580  0x00000449 call  0x0000025c 
+ 00000581  0x0000044a setarg  0x00000500 
+ 00000582  0x0000044b call  0x0000011f 
+ 00000583  0x00000451 hjam  0x00000001 , 0x00008906 
+ 00000584  0x00000459 hjam  0x0000003c , 0x00008900 
+ 00000585  0x0000045a hjam  0x000000e0 , 0x00008901 
+ 00000586  0x0000045b hjam  0x00000012 , 0x0000096d 
+ 00000587  0x0000045c nop  0x0000000a 
+ 00000588  0x0000045d hjam  0x00000001 , 0x00008902 
+ 00000589  0x0000045e hjam  0x0000003d , 0x00008902 
+ 00000590  0x0000045f nop  0x0000000a 
+ 00000591  0x00000460 hjam  0x000000b7 , 0x00008903 
+ 00000592  0x00000461 nop  0x0000000a 
+ 00000593  0x00000462 hjam  0x0000007d , 0x00008902 
+ 00000594  0x0000046d hjam  0x000000ff , 0x00000956 
+ 00000595  0x0000046e nop  0x00000004 
+ 00000596  0x00000471 hjam  0x000000d1 , 0x00000955 
+ 00000597  0x00000472 nop  0x00000004 
+ 00000598  0x00000473 hjam  0x000000d2 , 0x00000955 
+ 00000599  0x00000474 nop  0x00000004 
+ 00000600  0x00000475 hjam  0x000000d8 , 0x00000955 
+ 00000601  0x00000476 nop  0x00000004 
+ 00000602  0x0000047b hjam  0x000000df , 0x00000955 
+ 00000603  0x0000047c rtn 
+ 00000604  0x00000499 setarg  0x00000960 
+ 00000605  0x0000049a iadd  0x00000011 , 0x00000002 
+ 00000606  0x0000049b fetch  0x00000001 , 0x000040bd 
+ 00000607  0x0000049c hjam  0x00000004 , 0x0000895f 
+ 00000608  0x0000049d imul32  0x00000002 , 0x0000003f 
+ 00000609  0x0000049e fetcht  0x00000001 , 0x000040be 
+ 00000610  0x0000049f idiv  0x00000002 
+ 00000611  0x000004a0 call  0x00000272 
+ 00000612  0x000004a1 quotient  0x00000011 
+ 00000613  0x000004a2 remainder  0x0000003f 
+ 00000614  0x000004a3 lshift16  0x0000003f , 0x0000003f 
+ 00000615  0x000004a4 lshift4  0x0000003f , 0x0000003f 
+ 00000616  0x000004a5 idiv  0x00000002 
+ 00000617  0x000004a6 call  0x00000272 
+ 00000618  0x000004a7 quotient  0x0000003f 
+ 00000619  0x000004a8 lshift8  0x0000003f , 0x0000003f 
+ 00000620  0x000004a9 lshift  0x0000003f , 0x0000003f 
+ 00000621  0x000004aa ior  0x00000011 , 0x0000003f 
+ 00000622  0x000004ad hstore  0x00000004 , 0x00008960 
+ 00000623  0x000004b2 hjam  0x00000044 , 0x0000895f 
+ 00000624  0x000004b4 hjam  0x000000c4 , 0x0000895f 
+ 00000625  0x000004c2 rtn 
+ 00000626  0x000004c5 rtn  0x00000035 
+ 00000627  0x000004c6 branch  0x00000272 
+ 00000628  0x000004c8 arg  0x000000ff , 0x00000039 
+ 00000629  0x000004c9 arg  0x00004c07 , 0x00000005 
+ 00000630  0x000004ca setarg  0x000001ff 
+ 00000631  0x000004cb force  0x00000000 , 0x00000012 
+ 00000632  0x000004cd rshift3  0x0000003f , 0x00000011 
+ 00000633  0x000004ce rshift  0x00000011 , 0x00000011 
+ 00000634  0x000004cf ixor  0x00000011 , 0x00000011 
+ 00000635  0x000004d0 isolate1  0x00000000 , 0x00000011 
+ 00000636  0x000004d1 setflag  0x00000001 , 0x00000009 , 0x0000003f 
+ 00000637  0x000004d2 rshift  0x00000002 , 0x00000002 
+ 00000638  0x000004d3 isolate1  0x00000000 , 0x0000003f 
+ 00000639  0x000004d4 setflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00000640  0x000004d5 rshift  0x0000003f , 0x0000003f 
+ 00000641  0x000004d6 increase  0x00000001 , 0x00000012 
+ 00000642  0x000004d7 compare  0x00000000 , 0x00000012 , 0x00000007 
+ 00000643  0x000004d8 nbranch  0x00000278 , 0x00000001 
+ 00000644  0x000004da istoret  0x00000001 , 0x00000005 
+ 00000645  0x000004dc loop  0x00000278 
+ 00000646  0x000004dd rtn 
+ 00000647  0x000004e2 hfetch  0x00000004 , 0x00008078 
+ 00000648  0x000004e3 hfetcht  0x00000004 , 0x0000807c 
+ 00000649  0x000004e4 ior  0x00000002 , 0x0000003f 
+ 00000650  0x000004e5 pinvert 
+ 00000651  0x000004e6 hfetcht  0x00000004 , 0x00008070 
+ 00000652  0x000004e7 ior  0x00000002 , 0x0000003f 
+ 00000653  0x000004e8 hstore  0x00000004 , 0x00008070 
+ 00000654  0x000004e9 rtn 
+ 00000655  0x000004ec hjam  0x00000005 , 0x00008280 
+ 00000656  0x000004ed rtn 
+ 00000657  0x000004f0 branch  0x00000291 
+ 00000658  0x000004f3 branch  0x00000292 
+ 00000659  0x000004f6 enable  0x00000036 
+ 00000660  0x000004f7 hjam  0x00000007 , 0x00008914 
+ 00000661  0x000004f8 rtn 
+ 00000662  0x000004fb storet  0x00000001 , 0x00000017 
+ 00000663  0x000004fc add  0x00000002 , 0x00000004 , 0x00000011 
+ 00000664  0x000004fd branch  0x0000025c 
+ 00008192  0x00000505 call  0x00002abc 
+ 00008193  0x00000508 bpatch  0x00000000 , 0x00004000 
+ 00008194  0x00000509 clear_stack 
+ 00008195  0x0000050a call  0x0000640d 
+ 00008196  0x0000050b call  0x0000296c 
+ 00008197  0x0000050c call  0x000065a3 
+ 00008198  0x0000050d call  0x00002a96 
+ 00008199  0x0000050e call  0x00004d6a 
+ 00008200  0x0000050f bpatch  0x00000001 , 0x00004000 
+ 00008201  0x00000510 call  0x00006a03 
+ 00008202  0x00000511 call  0x00005cf6 
+ 00008203  0x00000512 call  0x00007ccc 
+ 00008204  0x00000513 call  0x000032d8 
+ 00008205  0x00000514 ncall  0x0000689c , 0x0000002b 
+ 00008206  0x00000515 bpatch  0x00000002 , 0x00004000 
+ 00008207  0x00000516 call  0x000032e3 , 0x0000002b 
+ 00008208  0x00000517 call  0x0000756a 
+ 00008209  0x00000518 call  0x00002b41 , 0x0000002b 
+ 00008210  0x0000051a bpatch  0x00000003 , 0x00004000 
+ 00008211  0x0000051b call  0x000076dc 
+ 00008212  0x0000051c call  0x00007aaf 
+ 00008213  0x0000051d call  0x0000756d 
+ 00008214  0x0000051e call  0x0000535c 
+ 00008215  0x0000051f bpatch  0x00000004 , 0x00004000 
+ 00008216  0x00000520 call  0x00002038 
+ 00008217  0x00000521 call  0x000032ed 
+ 00008218  0x00000522 call  0x0000208f 
+ 00008219  0x00000523 call  0x000022f8 
+ 00008220  0x00000524 call  0x0000236a 
+ 00008221  0x00000525 call  0x00002021 
+ 00008222  0x00000526 call  0x00002b6a 
+ 00008223  0x00000527 call  0x00002c72 
+ 00008224  0x00000528 branch  0x00002012 
+ 00008225  0x0000052b call  0x00002026 
+ 00008226  0x0000052c rtnmark0  0x00000009 
+ 00008227  0x0000052d set0  0x00000009 , 0x00000000 
+ 00008228  0x0000052e call  0x00002223 
+ 00008229  0x0000052f branch  0x000053ce 
+ 00008230  0x00000532 bpatch  0x00000005 , 0x00004000 
+ 00008231  0x00000533 call  0x0000225e 
+ 00008232  0x00000534 nbranch  0x0000202f , 0x00000005 
+ 00008233  0x00000535 call  0x0000220a 
+ 00008234  0x00000536 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008235  0x00000537 ifetch  0x00000001 , 0x00000006 
+ 00008236  0x00000538 bbit1  0x00000000 , 0x00005360 
+ 00008237  0x00000539 bbit1  0x00000001 , 0x00002166 
+ 00008238  0x0000053a branch  0x000023cf 
+ 00008239  0x0000053c call  0x0000222b 
+ 00008240  0x0000053d copy  0x00000039 , 0x0000003e 
+ 00008241  0x0000053e rtn  0x00000005 
+ 00008242  0x0000053f call  0x0000220a 
+ 00008243  0x00000540 fetch  0x00000001 , 0x00000030 
+ 00008244  0x00000541 bbit1  0x00000003 , 0x000020d3 
+ 00008245  0x00000542 fetch  0x00000001 , 0x00000031 
+ 00008246  0x00000543 bbit1  0x00000001 , 0x00002166 
+ 00008247  0x00000544 branch  0x000023cf 
+ 00008248  0x0000054d fetch  0x00000001 , 0x000041ce 
+ 00008249  0x0000054e rtn  0x00000034 
+ 00008250  0x0000054f beq  0x00000001 , 0x00002048 
+ 00008251  0x00000550 beq  0x00000002 , 0x0000204d 
+ 00008252  0x00000551 beq  0x00000003 , 0x00002050 
+ 00008253  0x00000552 beq  0x00000005 , 0x00002055 
+ 00008254  0x00000553 beq  0x0000001b , 0x00002045 
+ 00008255  0x00000554 call  0x00002257 
+ 00008256  0x00000555 rtn  0x00000005 
+ 00008257  0x00000556 call  0x0000225a 
+ 00008258  0x00000557 rtn  0x00000005 
+ 00008259  0x00000559 jam  0x00000000 , 0x000041ce 
+ 00008260  0x0000055a rtn 
+ 00008261  0x0000055d jam  0x0000001b , 0x0000049b 
+ 00008262  0x0000055e jam  0x00000000 , 0x000041ce 
+ 00008263  0x0000055f rtn 
+ 00008264  0x00000562 set1  0x0000001c , 0x00000000 
+ 00008265  0x00000563 set0  0x0000001e , 0x00000000 
+ 00008266  0x00000564 jam  0x000000ff , 0x0000008f 
+ 00008267  0x00000565 jam  0x0000001f , 0x0000008d 
+ 00008268  0x00000566 branch  0x00002043 
+ 00008269  0x00000569 set0  0x0000001c , 0x00000000 
+ 00008270  0x0000056a force  0x00000000 , 0x0000001b 
+ 00008271  0x0000056b branch  0x00002043 
+ 00008272  0x0000056e call  0x0000225a 
+ 00008273  0x0000056f rtn  0x00000005 
+ 00008274  0x00000570 force  0x00000001 , 0x00000002 
+ 00008275  0x00000571 jam  0x00000005 , 0x0000016e 
+ 00008276  0x00000572 branch  0x0000205c 
+ 00008277  0x00000575 bpatch  0x00000006 , 0x00004000 
+ 00008278  0x00000577 fetch  0x00000006 , 0x000041d0 
+ 00008279  0x00000578 branch  0x00002043 , 0x00000034 
+ 00008280  0x00000579 jam  0x00000001 , 0x00004681 
+ 00008281  0x0000057b jam  0x00000003 , 0x00000055 
+ 00008282  0x0000057c branch  0x0000205b 
+ 00008283  0x0000057f force  0x00000025 , 0x00000002 
+ 00008284  0x00000581 bpatch  0x00000007 , 0x00004000 
+ 00008285  0x00000582 fetch  0x00000001 , 0x000000f1 
+ 00008286  0x00000583 branch  0x00002062 , 0x00000034 
+ 00008287  0x00000584 lshift3  0x0000003f , 0x0000003f 
+ 00008288  0x00000585 lshift4  0x0000003f , 0x0000003f 
+ 00008289  0x00000586 increase  0xffffffff , 0x0000003f 
+ 00008290  0x00000588 store  0x00000001 , 0x000040a6 
+ 00008291  0x00000589 store  0x00000001 , 0x000000f0 
+ 00008292  0x0000058a jam  0x0000001f , 0x0000008e 
+ 00008293  0x0000058b set0  0x0000000c , 0x00000000 
+ 00008294  0x0000058c call  0x0000223b 
+ 00008295  0x0000058d nbranch  0x00002083 , 0x00000005 
+ 00008296  0x0000058e call  0x00002a6f 
+ 00008297  0x0000058f store  0x00000001 , 0x00000077 
+ 00008298  0x00000590 storet  0x00000001 , 0x0000007c 
+ 00008299  0x00000591 fetch  0x00000006 , 0x000041d0 
+ 00008300  0x00000592 store  0x00000006 , 0x00000040 
+ 00008301  0x00000593 bpatch  0x00000008 , 0x00004001 
+ 00008302  0x00000594 call  0x00007f15 
+ 00008303  0x00000595 force  0x00000000 , 0x0000003f 
+ 00008304  0x00000596 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008305  0x00000597 nsetflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00008306  0x00000598 set1  0x00000003 , 0x0000003f 
+ 00008307  0x00000599 store  0x00000001 , 0x00000030 
+ 00008308  0x0000059a jam  0x00000003 , 0x00000a99 
+ 00008309  0x0000059b call  0x00007d86 
+ 00008310  0x0000059c force  0x00000000 , 0x0000003f 
+ 00008311  0x0000059d setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00008312  0x0000059e store  0x00000001 , 0x0000004c 
+ 00008313  0x0000059f setarg  0x00000000 
+ 00008314  0x000005a0 set1  0x00000001 , 0x0000003f 
+ 00008315  0x000005a1 store  0x00000001 , 0x00000031 
+ 00008316  0x000005a2 enable  0x00000029 
+ 00008317  0x000005a3 call  0x00002223 
+ 00008318  0x000005a4 disable  0x00000029 
+ 00008319  0x000005a5 force  0x00000003 , 0x00000007 
+ 00008320  0x000005a6 fetch  0x00000002 , 0x000040b9 
+ 00008321  0x000005a7 call  0x00007f08 
+ 00008322  0x000005a8 branch  0x00002043 
+ 00008323  0x000005aa bpatch  0x00000009 , 0x00004001 
+ 00008324  0x000005ab fetch  0x00000006 , 0x000041d0 
+ 00008325  0x000005ac store  0x00000006 , 0x00000040 
+ 00008326  0x000005ad compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008327  0x000005ae branch  0x00002089 , 0x00000001 
+ 00008328  0x000005af branch  0x00002043 
+ 00008329  0x000005b1 arg  0x00000101 , 0x00000005 
+ 00008330  0x000005b2 arg  0x00000008 , 0x00000039 
+ 00008331  0x000005b3 call  0x00007ec6 
+ 00008332  0x000005b4 jam  0x00000004 , 0x00000a99 
+ 00008333  0x000005b5 call  0x00007d86 
+ 00008334  0x000005b6 branch  0x00002043 
+ 00008335  0x000005be rtnmark0  0x0000001c 
+ 00008336  0x000005bf force  0x00000001 , 0x00000007 
+ 00008337  0x000005c0 call  0x00007f16 
+ 00008338  0x000005c1 nsetflag  0x00000034 , 0x0000001c , 0x00000000 
+ 00008339  0x000005c2 nbranch  0x00002095 , 0x00000034 
+ 00008340  0x000005c3 rtn 
+ 00008341  0x000005c8 bpatch  0x0000000a , 0x00004001 
+ 00008342  0x000005c9 fetcht  0x00000002 , 0x000040bb 
+ 00008343  0x000005ca force  0x00000004 , 0x00000007 
+ 00008344  0x000005cb call  0x0000271c 
+ 00008345  0x000005cc rtn  0x00000028 
+ 00008346  0x000005cd call  0x000028a4 
+ 00008347  0x000005ce force  0x00000000 , 0x00000024 
+ 00008348  0x000005d0 rtn  0x00000003 
+ 00008349  0x000005d1 set0  0x0000000b , 0x00000000 
+ 00008350  0x000005d2 set0  0x00000000 , 0x00000000 
+ 00008351  0x000005d4 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008352  0x000005d5 isolate1  0x0000001e , 0x00000000 
+ 00008353  0x000005d6 setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00008354  0x000005d7 compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00008355  0x000005d8 nbranch  0x000020be , 0x00000001 
+ 00008356  0x000005db bpatch  0x0000000b , 0x00004001 
+ 00008357  0x000005dc fetch  0x00000001 , 0x00000012 
+ 00008358  0x000005dd increase  0x00000001 , 0x0000003f 
+ 00008359  0x000005de store  0x00000001 , 0x00000012 
+ 00008360  0x000005df call  0x000028d8 
+ 00008361  0x000005e0 call  0x000028d2 
+ 00008362  0x000005e1 call  0x000028f2 
+ 00008363  0x000005e2 call  0x00002a51 
+ 00008364  0x000005e3 call  0x00002a56 
+ 00008365  0x000005e4 call  0x00002a64 
+ 00008366  0x000005e5 call  0x0000264d 
+ 00008367  0x000005e6 call  0x000020b1 
+ 00008368  0x000005e7 branch  0x0000209c 
+ 00008369  0x000005ea bpatch  0x0000000c , 0x00004001 
+ 00008370  0x000005eb fetch  0x00000001 , 0x0000008d 
+ 00008371  0x000005ec increase  0xffffffff , 0x0000003f 
+ 00008372  0x000005ed store  0x00000001 , 0x0000008d 
+ 00008373  0x000005ee rtn  0x00000002 
+ 00008374  0x000005ef jam  0x0000001f , 0x0000008d 
+ 00008375  0x000005f0 fetch  0x00000001 , 0x0000008f 
+ 00008376  0x000005f1 increase  0xffffffff , 0x0000003f 
+ 00008377  0x000005f2 store  0x00000001 , 0x0000008f 
+ 00008378  0x000005f3 rtn  0x00000002 
+ 00008379  0x000005f4 setflip  0x0000001e , 0x00000000 
+ 00008380  0x000005f5 jam  0x000000ff , 0x0000008f 
+ 00008381  0x000005f6 rtn 
+ 00008382  0x000005f9 bpatch  0x0000000d , 0x00004001 
+ 00008383  0x000005fa call  0x000028d8 
+ 00008384  0x000005fb call  0x000028cc 
+ 00008385  0x000005fc call  0x000028f2 
+ 00008386  0x000005fd call  0x00002a5b 
+ 00008387  0x000005fe call  0x000029eb 
+ 00008388  0x000005ff call  0x00002a0d 
+ 00008389  0x00000600 branch  0x000020c8 , 0x00000018 
+ 00008390  0x00000601 call  0x000020b1 
+ 00008391  0x00000602 branch  0x0000209f 
+ 00008392  0x00000604 bpatch  0x0000000e , 0x00004001 
+ 00008393  0x00000605 call  0x000029bb 
+ 00008394  0x00000606 call  0x00002a6b 
+ 00008395  0x00000607 call  0x0000251e 
+ 00008396  0x00000608 set0  0x00000001 , 0x00000000 
+ 00008397  0x00000609 rtnmark0  0x0000000b 
+ 00008398  0x0000060b bpatch  0x0000000f , 0x00004001 
+ 00008399  0x0000060d fetch  0x00000001 , 0x00000013 
+ 00008400  0x0000060e increase  0x00000001 , 0x0000003f 
+ 00008401  0x0000060f store  0x00000001 , 0x00000013 
+ 00008402  0x00000610 rtn 
+ 00008403  0x00000619 bpatch  0x00000010 , 0x00004002 
+ 00008404  0x0000061a enable  0x00000029 
+ 00008405  0x0000061b enable  0x00000030 
+ 00008406  0x0000061c fetch  0x00000002 , 0x000040b5 
+ 00008407  0x0000061d branch  0x000020db , 0x00000034 
+ 00008408  0x0000061e force  0x00000008 , 0x00000007 
+ 00008409  0x0000061f call  0x00007f16 
+ 00008410  0x00000620 nrtn  0x00000034 
+ 00008411  0x00000622 bpatch  0x00000011 , 0x00004002 
+ 00008412  0x00000623 fetcht  0x00000002 , 0x000040b7 
+ 00008413  0x00000624 force  0x00000028 , 0x00000007 
+ 00008414  0x00000625 call  0x0000271c 
+ 00008415  0x00000626 branch  0x00002114 , 0x00000028 
+ 00008416  0x00000627 force  0x00000003 , 0x00000007 
+ 00008417  0x00000628 call  0x00007f16 
+ 00008418  0x00000629 nbranch  0x000020f0 , 0x00000034 
+ 00008419  0x0000062a fetch  0x00000001 , 0x0000004c 
+ 00008420  0x0000062b bbit1  0x00000004 , 0x000020e6 
+ 00008421  0x0000062c branch  0x000020e9 
+ 00008422  0x0000062e arg  0x00000101 , 0x00000005 
+ 00008423  0x0000062f arg  0x00000008 , 0x00000039 
+ 00008424  0x00000630 call  0x00007ec6 
+ 00008425  0x00000632 bpatch  0x00000012 , 0x00004002 
+ 00008426  0x00000633 jam  0x00000000 , 0x00000030 
+ 00008427  0x00000634 call  0x00005cf7 
+ 00008428  0x00000635 jam  0x00000000 , 0x00004681 
+ 00008429  0x00000636 jam  0x00000013 , 0x00000a99 
+ 00008430  0x00000637 call  0x00007d86 
+ 00008431  0x00000638 branch  0x00002114 
+ 00008432  0x0000063b bpatch  0x00000013 , 0x00004002 
+ 00008433  0x0000063c force  0x00000000 , 0x0000000b 
+ 00008434  0x0000063d until  0x00000023 , 0x00000026 
+ 00008435  0x0000063e fetch  0x00000001 , 0x000000f2 
+ 00008436  0x0000063f increase  0xffffffff , 0x0000003f 
+ 00008437  0x00000640 ixor  0x00000022 , 0x0000003f 
+ 00008438  0x00000641 compare  0x00000000 , 0x0000003f , 0x00000003 
+ 00008439  0x00000642 nbranch  0x000020f0 , 0x00000001 
+ 00008440  0x00000643 deposit  0x00000004 
+ 00008441  0x00000644 store  0x00000001 , 0x00000181 
+ 00008442  0x00000645 force  0x00000000 , 0x00000026 
+ 00008443  0x00000646 force  0x00000000 , 0x00000024 
+ 00008444  0x00000649 bpatch  0x00000014 , 0x00004002 
+ 00008445  0x0000064a branch  0x00002114 , 0x00000003 
+ 00008446  0x0000064b call  0x000028dc 
+ 00008447  0x0000064c arg  0x00000600 , 0x0000000b 
+ 00008448  0x0000064d until  0x00000023 , 0x00000026 
+ 00008449  0x0000064f bpatch  0x00000015 , 0x00004002 
+ 00008450  0x00000650 fetch  0x00000004 , 0x000000f2 
+ 00008451  0x00000651 iforce  0x00000021 
+ 00008452  0x00000652 increase  0x00000001 , 0x0000003f 
+ 00008453  0x00000653 store  0x00000004 , 0x000000f2 
+ 00008454  0x00000654 isolate1  0x0000000c , 0x00000000 
+ 00008455  0x00000655 setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00008456  0x00000656 compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00008457  0x00000657 nbranch  0x00002128 , 0x00000001 
+ 00008458  0x00000658 fetch  0x00000001 , 0x0000000c 
+ 00008459  0x00000659 increase  0x00000001 , 0x0000003f 
+ 00008460  0x0000065a store  0x00000001 , 0x0000000c 
+ 00008461  0x0000065b call  0x000028d2 
+ 00008462  0x0000065c call  0x00002a51 
+ 00008463  0x0000065d call  0x00002a56 
+ 00008464  0x0000065e call  0x00002a64 
+ 00008465  0x0000065f call  0x0000264d 
+ 00008466  0x00000660 call  0x0000211a 
+ 00008467  0x00000661 branch  0x000020fc 
+ 00008468  0x00000663 bpatch  0x00000016 , 0x00004002 
+ 00008469  0x00000664 disable  0x00000029 
+ 00008470  0x00000665 fetch  0x00000002 , 0x000040b5 
+ 00008471  0x00000666 rtn  0x00000034 
+ 00008472  0x00000667 force  0x00000008 , 0x00000007 
+ 00008473  0x00000668 branch  0x00007f08 
+ 00008474  0x0000066b bpatch  0x00000017 , 0x00004002 
+ 00008475  0x0000066c fetch  0x00000001 , 0x0000008e 
+ 00008476  0x0000066d increase  0xffffffff , 0x0000003f 
+ 00008477  0x0000066e store  0x00000001 , 0x0000008e 
+ 00008478  0x0000066f rtn  0x00000002 
+ 00008479  0x00000670 jam  0x0000001f , 0x0000008e 
+ 00008480  0x00000671 fetch  0x00000001 , 0x000000f0 
+ 00008481  0x00000672 increase  0xffffffff , 0x0000003f 
+ 00008482  0x00000673 store  0x00000001 , 0x000000f0 
+ 00008483  0x00000674 rtn  0x00000002 
+ 00008484  0x00000675 setflip  0x0000000c , 0x00000000 
+ 00008485  0x00000676 fetch  0x00000001 , 0x000040a6 
+ 00008486  0x00000677 store  0x00000001 , 0x000000f0 
+ 00008487  0x00000678 rtn 
+ 00008488  0x0000067b bpatch  0x00000018 , 0x00004003 
+ 00008489  0x0000067c call  0x000028cc 
+ 00008490  0x0000067d call  0x00002a5b 
+ 00008491  0x0000067e call  0x000029eb 
+ 00008492  0x0000067f call  0x00002a0d 
+ 00008493  0x00000680 branch  0x00002130 , 0x00000018 
+ 00008494  0x00000681 call  0x0000211a 
+ 00008495  0x00000682 branch  0x00002101 
+ 00008496  0x00000684 call  0x0000264d 
+ 00008497  0x00000685 fetch  0x00000001 , 0x0000000d 
+ 00008498  0x00000686 increase  0x00000001 , 0x0000003f 
+ 00008499  0x00000687 store  0x00000001 , 0x0000000d 
+ 00008500  0x00000688 force  0x00000000 , 0x0000001b 
+ 00008501  0x00000689 fetch  0x00000004 , 0x000000f2 
+ 00008502  0x0000068b bpatch  0x00000019 , 0x00004003 
+ 00008503  0x0000068c call  0x00002a4f 
+ 00008504  0x0000068d call  0x000028dc 
+ 00008505  0x0000068e increase  0x00000001 , 0x00000026 
+ 00008506  0x00000690 and_into  0x000001fd , 0x00000021 
+ 00008507  0x00000691 and_into  0x000001fc , 0x00000024 
+ 00008508  0x00000692 call  0x000028d2 
+ 00008509  0x00000693 call  0x00002a51 
+ 00008510  0x00000694 call  0x00002a56 
+ 00008511  0x00000695 call  0x00002a64 
+ 00008512  0x00000696 deposit  0x00000022 
+ 00008513  0x00000697 store  0x00000004 , 0x00000161 
+ 00008514  0x00000698 force  0x00000000 , 0x00000004 
+ 00008515  0x00000699 force  0x00000002 , 0x00000001 
+ 00008516  0x0000069a call  0x00002a6b 
+ 00008517  0x0000069b call  0x00002766 
+ 00008518  0x0000069d bpatch  0x0000001a , 0x00004003 
+ 00008519  0x0000069e call  0x00002a4d 
+ 00008520  0x0000069f or_into  0x00000002 , 0x00000021 
+ 00008521  0x000006a0 and_into  0x000001fc , 0x00000024 
+ 00008522  0x000006a1 call  0x000028cc 
+ 00008523  0x000006a2 call  0x00002a5b 
+ 00008524  0x000006a3 call  0x000029eb 
+ 00008525  0x000006a4 call  0x00002a0d 
+ 00008526  0x000006a5 call  0x0000264d , 0x00000018 
+ 00008527  0x000006a6 branch  0x00002155 , 0x00000018 
+ 00008528  0x000006a7 fetch  0x00000001 , 0x00000010 
+ 00008529  0x000006a8 branch  0x000020fc , 0x00000034 
+ 00008530  0x000006a9 increase  0xffffffff , 0x0000003f 
+ 00008531  0x000006aa store  0x00000001 , 0x00000010 
+ 00008532  0x000006ab branch  0x00002136 
+ 00008533  0x000006ae bpatch  0x0000001b , 0x00004003 
+ 00008534  0x000006af fetch  0x00000001 , 0x0000000e 
+ 00008535  0x000006b0 increase  0x00000001 , 0x0000003f 
+ 00008536  0x000006b1 store  0x00000001 , 0x0000000e 
+ 00008537  0x000006b2 call  0x00002435 
+ 00008538  0x000006b4 call  0x000022f2 
+ 00008539  0x000006b5 branch  0x0000215f , 0x00000018 
+ 00008540  0x000006b6 call  0x00002455 
+ 00008541  0x000006b7 nbranch  0x0000215a , 0x00000034 
+ 00008542  0x000006b8 branch  0x000020fc 
+ 00008543  0x000006bb bpatch  0x0000001c , 0x00004003 
+ 00008544  0x000006bc fetch  0x00000001 , 0x00000030 
+ 00008545  0x000006bd set0  0x00000003 , 0x0000003f 
+ 00008546  0x000006be store  0x00000001 , 0x00000030 
+ 00008547  0x000006bf call  0x00002440 
+ 00008548  0x000006c0 disable  0x00000029 
+ 00008549  0x000006c1 rtn 
+ 00008550  0x000006c5 bpatch  0x0000001d , 0x00004003 
+ 00008551  0x000006c6 enable  0x00000029 
+ 00008552  0x000006c7 enable  0x00000030 
+ 00008553  0x000006c8 call  0x000021e1 
+ 00008554  0x000006c9 rtn  0x00000028 
+ 00008555  0x000006ca call  0x00002c69 
+ 00008556  0x000006cb call  0x00002a4f 
+ 00008557  0x000006cc add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008558  0x000006cd call  0x000028e2 
+ 00008559  0x000006ce force  0x00000003 , 0x00000024 
+ 00008560  0x000006cf call  0x00006cc2 
+ 00008561  0x000006d0 call  0x00002489 
+ 00008562  0x000006d1 call  0x000028d2 
+ 00008563  0x000006d2 call  0x00002a51 
+ 00008564  0x000006d3 call  0x00002a56 
+ 00008565  0x000006d4 call  0x00002a64 
+ 00008566  0x000006d5 call  0x00002762 
+ 00008567  0x000006d7 bpatch  0x0000001e , 0x00004003 
+ 00008568  0x000006d8 call  0x00005d08 
+ 00008569  0x000006d9 call  0x000022e4 
+ 00008570  0x000006da nbranch  0x00002180 , 0x0000002d 
+ 00008571  0x000006db call  0x00002a88 
+ 00008572  0x000006dc call  0x00002728 
+ 00008573  0x000006dd fetch  0x00000001 , 0x0000000f 
+ 00008574  0x000006de increase  0x00000001 , 0x0000003f 
+ 00008575  0x000006df store  0x00000001 , 0x0000000f 
+ 00008576  0x000006e1 bpatch  0x0000001f , 0x00004003 
+ 00008577  0x000006e2 call  0x00006caa 
+ 00008578  0x000006e3 call  0x0000218b 
+ 00008579  0x000006e4 nrtn  0x00000029 
+ 00008580  0x000006e5 call  0x000026f3 
+ 00008581  0x000006e6 nbranch  0x00002188 , 0x00000034 
+ 00008582  0x000006e8 disable  0x00000029 
+ 00008583  0x000006e9 rtn 
+ 00008584  0x000006ec call  0x00002489 
+ 00008585  0x000006ed call  0x000022da 
+ 00008586  0x000006ee branch  0x00002177 
+ 00008587  0x000006f2 branch  0x0000218e , 0x0000002d 
+ 00008588  0x000006f3 call  0x00002a7f 
+ 00008589  0x000006f4 branch  0x0000219c , 0x00000002 
+ 00008590  0x000006f6 call  0x000021a7 
+ 00008591  0x000006f7 nbranch  0x0000219c , 0x00000028 
+ 00008592  0x000006f8 fetch  0x00000001 , 0x0000004c 
+ 00008593  0x000006f9 rtnbit0  0x00000004 
+ 00008594  0x000006fa rtnbit1  0x00000003 
+ 00008595  0x000006fb fetch  0x00000001 , 0x0000004b 
+ 00008596  0x000006fc rtnbit1  0x00000003 
+ 00008597  0x000006fd call  0x000021ae 
+ 00008598  0x000006fe nrtn  0x00000034 
+ 00008599  0x000006ff fetch  0x00000001 , 0x0000016e 
+ 00008600  0x00000700 increase  0xffffffff , 0x0000003f 
+ 00008601  0x00000701 store  0x00000001 , 0x0000016e 
+ 00008602  0x00000702 nrtn  0x00000034 
+ 00008603  0x00000703 branch  0x00006006 
+ 00008604  0x00000706 bpatch  0x00000020 , 0x00004004 
+ 00008605  0x00000707 call  0x0000245d 
+ 00008606  0x00000708 disable  0x00000029 
+ 00008607  0x00000709 fetch  0x00000001 , 0x0000004c 
+ 00008608  0x0000070a bbit1  0x00000004 , 0x000021a2 
+ 00008609  0x0000070b rtn 
+ 00008610  0x0000070e fetch  0x00000001 , 0x0000004c 
+ 00008611  0x0000070f rtnbit1  0x00000003 
+ 00008612  0x00000711 arg  0x00000101 , 0x00000005 
+ 00008613  0x00000712 arg  0x00000008 , 0x00000039 
+ 00008614  0x00000713 branch  0x00007ec6 
+ 00008615  0x00000716 bpatch  0x00000021 , 0x00004004 
+ 00008616  0x00000717 enable  0x00000028 
+ 00008617  0x00000718 fetch  0x00000001 , 0x0000004b 
+ 00008618  0x00000719 rtnbit0  0x00000003 
+ 00008619  0x0000071a call  0x000021ae 
+ 00008620  0x0000071b nrtn  0x00000034 
+ 00008621  0x0000071c branch  0x00007fe9 
+ 00008622  0x0000071f fetch  0x00000001 , 0x00000072 
+ 00008623  0x00000720 increase  0xffffffff , 0x0000003f 
+ 00008624  0x00000721 store  0x00000001 , 0x00000072 
+ 00008625  0x00000722 rtn 
+ 00008626  0x00000725 bpatch  0x00000022 , 0x00004004 
+ 00008627  0x00000726 fetch  0x00000001 , 0x00000030 
+ 00008628  0x00000727 bbit1  0x00000007 , 0x000021bb 
+ 00008629  0x00000728 fetch  0x00000001 , 0x000009b5 
+ 00008630  0x00000729 branch  0x000021bb , 0x00000034 
+ 00008631  0x0000072a jam  0x00000000 , 0x000009b5 
+ 00008632  0x0000072b jam  0x00000018 , 0x00000a99 
+ 00008633  0x0000072c call  0x00007d86 
+ 00008634  0x0000072d branch  0x000021bb 
+ 00008635  0x0000072f bpatch  0x00000023 , 0x00004004 
+ 00008636  0x00000730 call  0x00002254 
+ 00008637  0x00000731 fetch  0x00000001 , 0x00000030 
+ 00008638  0x00000732 set1  0x00000007 , 0x0000003f 
+ 00008639  0x00000733 store  0x00000001 , 0x00000030 
+ 00008640  0x00000734 jam  0x00000001 , 0x000041bd 
+ 00008641  0x00000735 fetch  0x00000001 , 0x00000055 
+ 00008642  0x00000736 bne  0x00000016 , 0x000021c3 
+ 00008643  0x00000738 rtn 
+ 00008644  0x0000073b jam  0x00000001 , 0x000009b5 
+ 00008645  0x0000073d fetch  0x00000001 , 0x00000030 
+ 00008646  0x0000073e set0  0x00000007 , 0x0000003f 
+ 00008647  0x0000073f store  0x00000001 , 0x00000030 
+ 00008648  0x00000740 rtn 
+ 00008649  0x00000745 bpatch  0x00000024 , 0x00004004 
+ 00008650  0x00000746 disable  0x00000028 
+ 00008651  0x00000747 fetch  0x00000002 , 0x00000032 
+ 00008652  0x00000748 arg  0x0000ffff , 0x00000002 
+ 00008653  0x00000749 isub  0x00000002 , 0x0000003e 
+ 00008654  0x0000074a nrtn  0x00000005 
+ 00008655  0x0000074b fetch  0x00000004 , 0x00000034 
+ 00008656  0x0000074c branch  0x000021d3 , 0x00000030 
+ 00008657  0x0000074d isub  0x00000028 , 0x0000003f 
+ 00008658  0x0000074e branch  0x000021d4 
+ 00008659  0x00000750 isub  0x00000022 , 0x0000003f 
+ 00008660  0x00000752 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00008661  0x00000753 nrtn  0x00000002 
+ 00008662  0x00000754 force  0x00000000 , 0x0000003f 
+ 00008663  0x00000755 store  0x00000002 , 0x00000032 
+ 00008664  0x00000756 branch  0x00007fe7 
+ 00008665  0x0000075b copy  0x0000003f , 0x00000002 
+ 00008666  0x0000075c bpatch  0x00000025 , 0x00004004 
+ 00008667  0x0000075d storet  0x00000004 , 0x00000034 
+ 00008668  0x0000075f jam  0x00000001 , 0x0000455b 
+ 00008669  0x00000760 setarg  0x0000ffff 
+ 00008670  0x00000761 store  0x00000002 , 0x00000032 
+ 00008671  0x00000762 jam  0x00000001 , 0x00000073 
+ 00008672  0x00000763 rtn 
+ 00008673  0x00000767 bpatch  0x00000026 , 0x00004004 
+ 00008674  0x00000768 call  0x000021c9 
+ 00008675  0x00000769 nrtn  0x00000028 
+ 00008676  0x0000076a disable  0x00000028 
+ 00008677  0x0000076b jam  0x00000020 , 0x00000011 
+ 00008678  0x0000076c set0  0x0000000b , 0x00000000 
+ 00008679  0x0000076e call  0x00002a4f 
+ 00008680  0x0000076f call  0x000022e6 
+ 00008681  0x00000770 bmark1  0x0000000b , 0x000021f4 
+ 00008682  0x00000771 call  0x00002455 
+ 00008683  0x00000772 nbranch  0x000021e7 , 0x00000034 
+ 00008684  0x00000774 bpatch  0x00000027 , 0x00004004 
+ 00008685  0x00000775 disable  0x00000028 
+ 00008686  0x00000776 deposit  0x00000022 
+ 00008687  0x00000777 store  0x00000004 , 0x000040ca 
+ 00008688  0x00000778 enable  0x00000030 
+ 00008689  0x00000779 enable  0x00000029 
+ 00008690  0x0000077a jam  0x0000002a , 0x00000a99 
+ 00008691  0x0000077b branch  0x00007d86 
+ 00008692  0x0000077e bpatch  0x00000028 , 0x00004005 
+ 00008693  0x0000077f call  0x00002a4d 
+ 00008694  0x00000780 arg  0x00000010 , 0x00000001 
+ 00008695  0x00000781 call  0x000022dc 
+ 00008696  0x00000782 disable  0x00000030 
+ 00008697  0x00000783 disable  0x00000029 
+ 00008698  0x00000784 call  0x00002818 
+ 00008699  0x00000785 call  0x00002435 
+ 00008700  0x00000787 bpatch  0x00000029 , 0x00004005 
+ 00008701  0x00000788 call  0x0000247c 
+ 00008702  0x00000789 branch  0x00002202 , 0x0000002d 
+ 00008703  0x0000078a call  0x00002455 
+ 00008704  0x0000078b nbranch  0x000021fc , 0x00000034 
+ 00008705  0x0000078c branch  0x000021ec 
+ 00008706  0x0000078e fetch  0x00000001 , 0x00000031 
+ 00008707  0x0000078f set0  0x00000001 , 0x0000003f 
+ 00008708  0x00000790 store  0x00000001 , 0x00000031 
+ 00008709  0x00000791 call  0x00002a88 
+ 00008710  0x00000792 call  0x00002841 
+ 00008711  0x00000793 enable  0x00000028 
+ 00008712  0x00000794 jam  0x0000002b , 0x00000a99 
+ 00008713  0x00000795 branch  0x00007d86 
+ 00008714  0x0000079b bpatch  0x0000002a , 0x00004005 
+ 00008715  0x0000079c set1  0x00000009 , 0x00000000 
+ 00008716  0x0000079d deposit  0x00000011 
+ 00008717  0x0000079e store  0x00000002 , 0x0000001e 
+ 00008718  0x0000079f force  0x00000050 , 0x00000039 
+ 00008719  0x000007a0 arg  0x0000043f , 0x00000005 
+ 00008720  0x000007a1 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008721  0x000007a2 ifetch  0x00000001 , 0x00000006 
+ 00008722  0x000007a3 copy  0x00000011 , 0x00000006 
+ 00008723  0x000007a4 bbit1  0x00000000 , 0x00007f01 
+ 00008724  0x000007a5 arg  0x00000030 , 0x00000005 
+ 00008725  0x000007a6 call  0x00007f01 
+ 00008726  0x000007a7 disable  0x0000002e 
+ 00008727  0x000007a8 fetch  0x00000001 , 0x00000077 
+ 00008728  0x000007a9 iforce  0x00000004 
+ 00008729  0x000007aa jam  0x00000001 , 0x0000008a 
+ 00008730  0x000007ab branch  0x0000221c , 0x00000029 
+ 00008731  0x000007ac jam  0x00000001 , 0x0000008a 
+ 00008732  0x000007ae fetch  0x00000001 , 0x00000030 
+ 00008733  0x000007af rtnbit0  0x00000001 
+ 00008734  0x000007b0 fetch  0x00000001 , 0x00000073 
+ 00008735  0x000007b1 store  0x00000001 , 0x0000008a 
+ 00008736  0x000007b2 fetch  0x00000001 , 0x00000074 
+ 00008737  0x000007b3 store  0x00000001 , 0x0000008b 
+ 00008738  0x000007b4 rtn 
+ 00008739  0x000007b7 bpatch  0x0000002b , 0x00004005 
+ 00008740  0x000007b8 fetch  0x00000002 , 0x0000001e 
+ 00008741  0x000007b9 iforce  0x00000005 
+ 00008742  0x000007ba force  0x00000050 , 0x00000039 
+ 00008743  0x000007bb arg  0x0000043f , 0x00000006 
+ 00008744  0x000007bc branch  0x00007f01 , 0x00000036 
+ 00008745  0x000007bd arg  0x00000030 , 0x00000006 
+ 00008746  0x000007be branch  0x00007f01 
+ 00008747  0x000007c3 arg  0x00000001 , 0x00000039 
+ 00008748  0x000007c4 fetcht  0x00000001 , 0x00000015 
+ 00008749  0x000007c6 increase  0x00000001 , 0x00000002 
+ 00008750  0x000007c7 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008751  0x000007c8 nbranch  0x00002231 , 0x00000001 
+ 00008752  0x000007c9 arg  0x00000000 , 0x00000002 
+ 00008753  0x000007cb storet  0x00000001 , 0x00000015 
+ 00008754  0x000007cc mul32  0x00000002 , 0x00000050 , 0x0000003f 
+ 00008755  0x000007cd arg  0x00004040 , 0x00000011 
+ 00008756  0x000007ce iadd  0x00000011 , 0x00000011 
+ 00008757  0x000007cf ifetch  0x00000001 , 0x00000011 
+ 00008758  0x000007d0 bbit1  0x00000001 , 0x00002239 
+ 00008759  0x000007d1 rtnbit1  0x00000000 
+ 00008760  0x000007d2 rtnbit1  0x00000003 
+ 00008761  0x000007d4 loop  0x0000222d 
+ 00008762  0x000007d5 rtn 
+ 00008763  0x000007d8 bpatch  0x0000002c , 0x00004005 
+ 00008764  0x000007d9 arg  0x0000226a , 0x00000013 
+ 00008765  0x000007da call  0x00002261 
+ 00008766  0x000007db nrtn  0x00000005 
+ 00008767  0x000007dc deposit  0x00000011 
+ 00008768  0x000007dd store  0x00000002 , 0x0000001e 
+ 00008769  0x000007de force  0x00000000 , 0x0000003e 
+ 00008770  0x000007df rtn 
+ 00008771  0x000007e4 call  0x00002725 
+ 00008772  0x000007e5 branch  0x0000224b , 0x00000001 
+ 00008773  0x000007e6 fetch  0x00000002 , 0x0000001e 
+ 00008774  0x000007e7 add  0x0000003f , 0x00000017 , 0x00000005 
+ 00008775  0x000007e8 fetch  0x00000001 , 0x00000047 
+ 00008776  0x000007e9 istore  0x00000001 , 0x00000005 
+ 00008777  0x000007ea arg  0x000022aa , 0x00000013 
+ 00008778  0x000007eb branch  0x00002261 
+ 00008779  0x000007ee fetch  0x00000001 , 0x00000047 
+ 00008780  0x000007ef isolate1  0x00000003 , 0x0000003f 
+ 00008781  0x000007f0 branch  0x00002250 , 0x00000001 
+ 00008782  0x000007f1 force  0x00000001 , 0x0000003e 
+ 00008783  0x000007f2 rtn 
+ 00008784  0x000007f4 force  0x00000000 , 0x0000003e 
+ 00008785  0x000007f5 rtn 
+ 00008786  0x000007f9 arg  0x000022a7 , 0x00000013 
+ 00008787  0x000007fa branch  0x00002261 
+ 00008788  0x000007fd fetcht  0x00000002 , 0x0000001e 
+ 00008789  0x000007fe arg  0x000022cf , 0x00000013 
+ 00008790  0x000007ff branch  0x00002261 
+ 00008791  0x00000804 fetcht  0x00000001 , 0x000041cf 
+ 00008792  0x00000806 arg  0x00002275 , 0x00000013 
+ 00008793  0x00000807 branch  0x00002261 
+ 00008794  0x0000080a bpatch  0x0000002d , 0x00004005 
+ 00008795  0x0000080b fetcht  0x00000006 , 0x000041d0 
+ 00008796  0x0000080d arg  0x0000226e , 0x00000013 
+ 00008797  0x0000080e branch  0x00002261 
+ 00008798  0x00000811 arg  0x0000227b , 0x00000013 
+ 00008799  0x00000812 branch  0x00002261 
+ 00008800  0x00000815 arg  0x000022c6 , 0x00000013 
+ 00008801  0x00000817 bpatch  0x0000002e , 0x00004005 
+ 00008802  0x00000818 arg  0x00004040 , 0x00000011 
+ 00008803  0x00000819 arg  0x00000001 , 0x00000039 
+ 00008804  0x0000081b ifetch  0x00000001 , 0x00000011 
+ 00008805  0x0000081c copy  0x00000013 , 0x0000003d 
+ 00008806  0x0000081e increase  0x00000050 , 0x00000011 
+ 00008807  0x0000081f loop  0x00002264 
+ 00008808  0x00000820 force  0x00000001 , 0x0000003e 
+ 00008809  0x00000821 rtn 
+ 00008810  0x00000824 bbit1  0x00000000 , 0x00002266 
+ 00008811  0x00000825 bbit1  0x00000003 , 0x00002266 
+ 00008812  0x00000826 force  0x00000000 , 0x0000003e 
+ 00008813  0x00000827 rtn 
+ 00008814  0x0000082a bbit1  0x00000003 , 0x00002270 
+ 00008815  0x0000082b bbit0  0x00000000 , 0x00002266 
+ 00008816  0x0000082d add  0x00000011 , 0x00000010 , 0x00000006 
+ 00008817  0x0000082e ifetch  0x00000006 , 0x00000006 
+ 00008818  0x0000082f isub  0x00000002 , 0x0000003e 
+ 00008819  0x00000830 rtn  0x00000005 
+ 00008820  0x00000831 branch  0x00002266 
+ 00008821  0x00000834 bbit0  0x00000000 , 0x00002266 
+ 00008822  0x00000835 add  0x00000011 , 0x00000016 , 0x00000006 
+ 00008823  0x00000836 ifetch  0x00000001 , 0x00000006 
+ 00008824  0x00000837 isub  0x00000002 , 0x0000003e 
+ 00008825  0x00000838 rtn  0x00000005 
+ 00008826  0x00000839 branch  0x00002266 
+ 00008827  0x0000083c bbit0  0x00000001 , 0x00002266 
+ 00008828  0x0000083e call  0x000022b3 
+ 00008829  0x0000083f call  0x00002297 
+ 00008830  0x00000840 isub  0x00000002 , 0x0000003f 
+ 00008831  0x00000841 increase  0x00000001 , 0x0000003f 
+ 00008832  0x00000842 branch  0x00002291 , 0x00000002 
+ 00008833  0x00000843 copy  0x00000006 , 0x00000012 
+ 00008834  0x00000844 store  0x00000009 , 0x00000aa2 
+ 00008835  0x00000845 fetch  0x00000001 , 0x000044c0 
+ 00008836  0x00000846 nbranch  0x00002289 , 0x00000034 
+ 00008837  0x00000847 fetch  0x00000009 , 0x00000aa2 
+ 00008838  0x00000848 copy  0x00000012 , 0x00000006 
+ 00008839  0x00000849 increase  0x00000005 , 0x0000003f 
+ 00008840  0x0000084a branch  0x0000228c 
+ 00008841  0x0000084c fetch  0x00000009 , 0x00000aa2 
+ 00008842  0x0000084d copy  0x00000012 , 0x00000006 
+ 00008843  0x0000084e increase  0x00000014 , 0x0000003f 
+ 00008844  0x00000850 nbranch  0x00002266 , 0x00000002 
+ 00008845  0x00000852 copy  0x00000002 , 0x00000021 
+ 00008846  0x00000853 call  0x000022bf 
+ 00008847  0x00000854 force  0x00000000 , 0x0000003e 
+ 00008848  0x00000855 rtn 
+ 00008849  0x00000859 iforce  0x00000012 
+ 00008850  0x0000085a add  0x00000011 , 0x00000002 , 0x00000006 
+ 00008851  0x0000085b ifetch  0x00000002 , 0x00000006 
+ 00008852  0x0000085c branch  0x0000228d , 0x00000034 
+ 00008853  0x0000085d call  0x000022bf 
+ 00008854  0x0000085e branch  0x0000227c 
+ 00008855  0x00000861 rshift16  0x0000003f , 0x0000000b 
+ 00008856  0x00000862 rshift8  0x0000000b , 0x0000000b 
+ 00008857  0x00000863 branch  0x000022a1 , 0x00000005 
+ 00008858  0x00000864 compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00008859  0x00000865 nrtn  0x00000001 
+ 00008860  0x00000866 rshift16  0x00000002 , 0x0000000b 
+ 00008861  0x00000867 rshift8  0x0000000b , 0x0000000b 
+ 00008862  0x00000868 nrtn  0x00000005 
+ 00008863  0x00000869 set1  0x0000001c , 0x00000002 
+ 00008864  0x0000086a rtn 
+ 00008865  0x0000086c rshift16  0x00000002 , 0x0000000b 
+ 00008866  0x0000086d rshift8  0x0000000b , 0x0000000b 
+ 00008867  0x0000086e compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00008868  0x0000086f nrtn  0x00000001 
+ 00008869  0x00000870 set1  0x0000001c , 0x0000003f 
+ 00008870  0x00000871 rtn 
+ 00008871  0x00000874 bbit0  0x00000000 , 0x00002266 
+ 00008872  0x00000875 force  0x00000000 , 0x0000003e 
+ 00008873  0x00000876 rtn 
+ 00008874  0x00000879 bbit0  0x00000000 , 0x00002266 
+ 00008875  0x0000087a add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008876  0x0000087b ifetch  0x00000001 , 0x00000006 
+ 00008877  0x0000087c bbit1  0x00000000 , 0x00002266 
+ 00008878  0x0000087d add  0x00000011 , 0x00000017 , 0x00000006 
+ 00008879  0x0000087e ifetch  0x00000001 , 0x00000006 
+ 00008880  0x0000087f bbit0  0x00000003 , 0x00002266 
+ 00008881  0x00000880 force  0x00000000 , 0x0000003e 
+ 00008882  0x00000881 rtn 
+ 00008883  0x00000884 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008884  0x00000885 ifetcht  0x00000001 , 0x00000006 
+ 00008885  0x00000886 deposit  0x00000022 
+ 00008886  0x00000887 isolate1  0x00000001 , 0x00000002 
+ 00008887  0x00000888 add  0x00000011 , 0x00000004 , 0x00000006 
+ 00008888  0x00000889 ifetcht  0x00000004 , 0x00000006 
+ 00008889  0x0000088a rtn  0x00000001 
+ 00008890  0x0000088b add  0x00000011 , 0x00000008 , 0x00000006 
+ 00008891  0x0000088c ifetch  0x00000006 , 0x00000006 
+ 00008892  0x0000088d call  0x00002854 
+ 00008893  0x0000088e deposit  0x00000028 
+ 00008894  0x0000088f rtn 
+ 00008895  0x00000892 add  0x00000011 , 0x00000002 , 0x00000006 
+ 00008896  0x00000893 add  0x00000011 , 0x00000004 , 0x00000005 
+ 00008897  0x00000894 ifetch  0x00000002 , 0x00000006 
+ 00008898  0x00000895 iadd  0x00000002 , 0x0000000b 
+ 00008899  0x00000896 deposit  0x0000000b 
+ 00008900  0x00000897 istore  0x00000004 , 0x00000005 
+ 00008901  0x00000898 branch  0x00005449 
+ 00008902  0x0000089c bbit0  0x00000001 , 0x00002266 
+ 00008903  0x0000089d call  0x000022b3 
+ 00008904  0x0000089e iadd  0x0000001b , 0x0000003f 
+ 00008905  0x0000089f iadd  0x0000001b , 0x0000003f 
+ 00008906  0x000008a0 iadd  0x00000007 , 0x0000003f 
+ 00008907  0x000008a1 isub  0x00000002 , 0x0000003e 
+ 00008908  0x000008a2 nbranch  0x00002266 , 0x00000002 
+ 00008909  0x000008a3 force  0x00000000 , 0x0000003e 
+ 00008910  0x000008a4 rtn 
+ 00008911  0x000008a7 bbit0  0x00000000 , 0x00002266 
+ 00008912  0x000008a8 deposit  0x00000002 
+ 00008913  0x000008a9 isub  0x00000011 , 0x0000003e 
+ 00008914  0x000008aa branch  0x00002266 , 0x0000003e 
+ 00008915  0x000008ab add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008916  0x000008ac ifetch  0x00000001 , 0x00000006 
+ 00008917  0x000008ad bbit1  0x00000000 , 0x00002266 
+ 00008918  0x000008ae ifetch  0x00000001 , 0x00000011 
+ 00008919  0x000008af set0  0x00000007 , 0x0000003f 
+ 00008920  0x000008b0 istore  0x00000001 , 0x00000011 
+ 00008921  0x000008b1 branch  0x00002266 
+ 00008922  0x000008b5 bpatch  0x0000002f , 0x00004005 
+ 00008923  0x000008b6 call  0x00002a4f 
+ 00008924  0x000008b8 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008925  0x000008b9 call  0x000028e2 
+ 00008926  0x000008ba force  0x00000003 , 0x00000024 
+ 00008927  0x000008bb call  0x000028d2 
+ 00008928  0x000008bc call  0x00002a51 
+ 00008929  0x000008bd call  0x00002a56 
+ 00008930  0x000008be call  0x00002a64 
+ 00008931  0x000008bf branch  0x00002762 
+ 00008932  0x000008c2 bpatch  0x00000030 , 0x00004006 
+ 00008933  0x000008c3 call  0x00002a4d 
+ 00008934  0x000008c5 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008935  0x000008c6 call  0x000028e2 
+ 00008936  0x000008c7 force  0x00000003 , 0x00000024 
+ 00008937  0x000008c8 call  0x000028cc 
+ 00008938  0x000008c9 call  0x0000242a 
+ 00008939  0x000008ca call  0x000029f1 
+ 00008940  0x000008cb call  0x00002a5b 
+ 00008941  0x000008cc call  0x000029eb 
+ 00008942  0x000008ce call  0x00002a0d 
+ 00008943  0x000008cf nrtn  0x00000018 
+ 00008944  0x000008d0 call  0x000029bb 
+ 00008945  0x000008d1 branch  0x0000251c 
+ 00008946  0x000008d6 bpatch  0x00000031 , 0x00004006 
+ 00008947  0x000008d7 fetch  0x00000001 , 0x00000181 
+ 00008948  0x000008d8 iforce  0x00000004 
+ 00008949  0x000008d9 force  0x00000001 , 0x00000001 
+ 00008950  0x000008da call  0x000022da 
+ 00008951  0x000008db branch  0x000022e4 
+ 00008952  0x000008e7 fetch  0x00000001 , 0x00004093 
+ 00008953  0x000008e8 rtnbit0  0x00000000 
+ 00008954  0x000008e9 force  0x00000004 , 0x00000007 
+ 00008955  0x000008ea call  0x00007f16 
+ 00008956  0x000008eb nrtn  0x00000034 
+ 00008957  0x000008ec fetcht  0x00000002 , 0x000040ad 
+ 00008958  0x000008ed force  0x00000004 , 0x00000007 
+ 00008959  0x000008ee call  0x0000271c 
+ 00008960  0x000008ef rtn  0x00000028 
+ 00008961  0x000008f0 call  0x00002308 
+ 00008962  0x000008f1 force  0x00000004 , 0x00000007 
+ 00008963  0x000008f2 fetch  0x00000002 , 0x000040af 
+ 00008964  0x000008f3 nbranch  0x00007f08 , 0x00000018 
+ 00008965  0x000008f4 random  0x0000003f 
+ 00008966  0x000008f5 iand  0x00000035 , 0x0000003f 
+ 00008967  0x000008f6 branch  0x00007f08 
+ 00008968  0x000008fa bpatch  0x00000032 , 0x00004006 
+ 00008969  0x000008fb jam  0x00000000 , 0x00000181 
+ 00008970  0x000008fc disable  0x00000030 
+ 00008971  0x000008fd disable  0x0000002e 
+ 00008972  0x000008fe call  0x000028a4 
+ 00008973  0x000008ff and  0x00000022 , 0x000001fc , 0x00000021 
+ 00008974  0x00000900 force  0x00000001 , 0x00000024 
+ 00008975  0x00000901 call  0x000028d8 
+ 00008976  0x00000902 call  0x000028cc 
+ 00008977  0x00000903 setflip  0x0000001d , 0x00000000 
+ 00008978  0x00000904 fetch  0x00000001 , 0x00000006 
+ 00008979  0x00000905 increase  0x00000001 , 0x0000003f 
+ 00008980  0x00000906 store  0x00000001 , 0x00000006 
+ 00008981  0x00000907 call  0x000028f2 
+ 00008982  0x00000908 call  0x000029eb 
+ 00008983  0x00000909 call  0x00002a14 
+ 00008984  0x0000090a nrtn  0x00000018 
+ 00008985  0x0000090b bpatch  0x00000033 , 0x00004006 
+ 00008986  0x0000090c force  0x00000000 , 0x0000001b 
+ 00008987  0x0000090d call  0x000028f9 
+ 00008988  0x0000090e fetch  0x00000001 , 0x00000007 
+ 00008989  0x0000090f increase  0x00000001 , 0x0000003f 
+ 00008990  0x00000910 store  0x00000001 , 0x00000007 
+ 00008991  0x00000911 call  0x000028d8 
+ 00008992  0x00000912 call  0x00002a4d 
+ 00008993  0x00000913 or_into  0x00000002 , 0x00000021 
+ 00008994  0x00000914 force  0x00000001 , 0x00000024 
+ 00008995  0x00000915 call  0x000028d2 
+ 00008996  0x00000916 call  0x000028f2 
+ 00008997  0x00000917 call  0x00002a51 
+ 00008998  0x00000918 call  0x00002a5f 
+ 00008999  0x00000919 deposit  0x00000022 
+ 00009000  0x0000091a store  0x00000004 , 0x00000161 
+ 00009001  0x0000091b call  0x00002a64 
+ 00009002  0x0000091c force  0x00000002 , 0x00000001 
+ 00009003  0x0000091d force  0x00000000 , 0x00000004 
+ 00009004  0x0000091e call  0x00002a6b 
+ 00009005  0x0000091f call  0x00002766 
+ 00009006  0x00000920 call  0x00002332 
+ 00009007  0x00000921 and_into  0x000001fd , 0x00000021 
+ 00009008  0x00000922 increase  0x00000001 , 0x00000026 
+ 00009009  0x00000923 rtn 
+ 00009010  0x00000926 bpatch  0x00000034 , 0x00004006 
+ 00009011  0x00000927 fetch  0x00000001 , 0x000040d1 
+ 00009012  0x00000928 rtn  0x00000034 
+ 00009013  0x00000929 arg  0x0000018e , 0x00000005 
+ 00009014  0x0000092a fetch  0x00000001 , 0x00004515 
+ 00009015  0x0000092b copy  0x0000003f , 0x00000039 
+ 00009016  0x0000092c increase  0x00000001 , 0x0000003f 
+ 00009017  0x0000092d istore  0x00000001 , 0x00000005 
+ 00009018  0x0000092e copy  0x00000005 , 0x00000002 
+ 00009019  0x0000092f increase  0x00000001 , 0x0000003f 
+ 00009020  0x00000930 store  0x00000002 , 0x000041dc 
+ 00009021  0x00000931 copy  0x00000002 , 0x00000005 
+ 00009022  0x00000932 setarg  0x00000009 
+ 00009023  0x00000933 istore  0x00000001 , 0x00000005 
+ 00009024  0x00000934 arg  0x00004516 , 0x00000006 
+ 00009025  0x00000935 call  0x00007f01 
+ 00009026  0x00000937 arg  0x0000458d , 0x00000013 
+ 00009027  0x00000938 arg  0x00000004 , 0x00000039 
+ 00009028  0x00000939 call  0x00002354 
+ 00009029  0x0000093a arg  0x00004577 , 0x00000013 
+ 00009030  0x0000093b arg  0x00000001 , 0x00000039 
+ 00009031  0x0000093c call  0x00002354 
+ 00009032  0x0000093e force  0x0000000a , 0x00000001 
+ 00009033  0x0000093f jam  0x00000002 , 0x000041db 
+ 00009034  0x00000940 setarg  0x0000018e 
+ 00009035  0x00000941 store  0x00000002 , 0x0000016f 
+ 00009036  0x00000942 call  0x00002a4d 
+ 00009037  0x00000943 call  0x000028d2 
+ 00009038  0x00000944 call  0x00002a51 
+ 00009039  0x00000945 call  0x00002a5f 
+ 00009040  0x00000946 call  0x00002a64 
+ 00009041  0x00000947 call  0x00002a6b 
+ 00009042  0x00000948 call  0x00002766 
+ 00009043  0x00000949 rtn 
+ 00009044  0x0000094d copy  0x00000005 , 0x00000002 
+ 00009045  0x0000094e copy  0x00000013 , 0x00000006 
+ 00009046  0x0000094f ifetch  0x00000001 , 0x00000006 
+ 00009047  0x00000950 rtn  0x00000034 
+ 00009048  0x00000952 lshift  0x0000003f , 0x0000003f 
+ 00009049  0x00000953 loop  0x00002358 
+ 00009050  0x00000954 copy  0x0000003f , 0x00000011 
+ 00009051  0x00000955 increase  0x00000002 , 0x0000003f 
+ 00009052  0x00000956 copy  0x0000003f , 0x00000007 
+ 00009053  0x00000957 fetch  0x00000002 , 0x000041dc 
+ 00009054  0x00000958 iadd  0x00000007 , 0x0000003f 
+ 00009055  0x00000959 store  0x00000002 , 0x000041dc 
+ 00009056  0x0000095a copy  0x00000002 , 0x00000005 
+ 00009057  0x0000095b copy  0x00000011 , 0x0000003f 
+ 00009058  0x0000095c increase  0x00000001 , 0x0000003f 
+ 00009059  0x0000095d istore  0x00000001 , 0x00000005 
+ 00009060  0x0000095e copy  0x00000013 , 0x00000006 
+ 00009061  0x0000095f ifetch  0x00000001 , 0x00000006 
+ 00009062  0x00000960 ifetch  0x00000001 , 0x00000006 
+ 00009063  0x00000961 istore  0x00000001 , 0x00000005 
+ 00009064  0x00000962 copy  0x00000011 , 0x00000039 
+ 00009065  0x00000963 branch  0x00007f01 
+ 00009066  0x0000096a fetch  0x00000001 , 0x00004093 
+ 00009067  0x0000096b rtnbit0  0x00000001 
+ 00009068  0x0000096c force  0x00000005 , 0x00000007 
+ 00009069  0x0000096d call  0x00007f16 
+ 00009070  0x0000096e nrtn  0x00000034 
+ 00009071  0x0000096f fetcht  0x00000002 , 0x000040b1 
+ 00009072  0x00000970 force  0x00000028 , 0x00000007 
+ 00009073  0x00000971 call  0x0000271c 
+ 00009074  0x00000972 rtn  0x00000028 
+ 00009075  0x00000973 force  0x00000000 , 0x00000004 
+ 00009076  0x00000974 jam  0x00000008 , 0x00000010 
+ 00009077  0x00000975 set0  0x0000000b , 0x00000000 
+ 00009078  0x00000976 call  0x0000237a 
+ 00009079  0x00000977 force  0x00000005 , 0x00000007 
+ 00009080  0x00000978 fetch  0x00000002 , 0x000040b3 
+ 00009081  0x00000979 branch  0x00007f08 
+ 00009082  0x0000097d bpatch  0x00000035 , 0x00004006 
+ 00009083  0x0000097e disable  0x00000030 
+ 00009084  0x0000097f call  0x000028a4 
+ 00009085  0x00000980 fetch  0x00000001 , 0x00000008 
+ 00009086  0x00000981 increase  0x00000001 , 0x0000003f 
+ 00009087  0x00000982 store  0x00000001 , 0x00000008 
+ 00009088  0x00000983 force  0x00000000 , 0x00000026 
+ 00009089  0x00000984 call  0x000028e2 
+ 00009090  0x00000985 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00009091  0x00000986 force  0x00000002 , 0x00000024 
+ 00009092  0x00000987 bpatch  0x00000036 , 0x00004006 
+ 00009093  0x00000988 call  0x000028cc 
+ 00009094  0x00000989 call  0x000029eb 
+ 00009095  0x0000098a call  0x00002a14 
+ 00009096  0x0000098b nrtn  0x00000018 
+ 00009097  0x0000098c call  0x000028f9 
+ 00009098  0x0000098d fetch  0x00000001 , 0x00000009 
+ 00009099  0x0000098e increase  0x00000001 , 0x0000003f 
+ 00009100  0x0000098f store  0x00000001 , 0x00000009 
+ 00009101  0x00000990 force  0x00000000 , 0x0000001b 
+ 00009102  0x00000991 call  0x00002a4d 
+ 00009103  0x00000992 or_into  0x00000002 , 0x00000021 
+ 00009104  0x00000993 force  0x00000001 , 0x00000024 
+ 00009105  0x00000994 call  0x000028d2 
+ 00009106  0x00000995 call  0x00002a51 
+ 00009107  0x00000996 call  0x00002a5f 
+ 00009108  0x00000997 call  0x00002a64 
+ 00009109  0x00000998 call  0x0000264d 
+ 00009110  0x00000999 force  0x00000000 , 0x00000004 
+ 00009111  0x0000099a arg  0x00000600 , 0x0000000b 
+ 00009112  0x0000099b until  0x00000029 , 0x00000026 
+ 00009113  0x0000099c or_into  0x00000003 , 0x00000028 
+ 00009114  0x0000099d and_into  0x000001fd , 0x00000021 
+ 00009115  0x0000099f bpatch  0x00000037 , 0x00004006 
+ 00009116  0x000009a0 increase  0x00000001 , 0x00000026 
+ 00009117  0x000009a1 call  0x000028cc 
+ 00009118  0x000009a2 call  0x000029eb 
+ 00009119  0x000009a3 call  0x00002a07 
+ 00009120  0x000009a4 nbranch  0x000023a4 , 0x00000018 
+ 00009121  0x000009a5 call  0x00002a6b 
+ 00009122  0x000009a6 call  0x0000251e 
+ 00009123  0x000009a7 bmark1  0x0000000b , 0x000023ab 
+ 00009124  0x000009a9 bpatch  0x00000038 , 0x00004007 
+ 00009125  0x000009aa fetch  0x00000001 , 0x00000010 
+ 00009126  0x000009ab rtn  0x00000034 
+ 00009127  0x000009ac increase  0xffffffff , 0x0000003f 
+ 00009128  0x000009ad store  0x00000001 , 0x00000010 
+ 00009129  0x000009ae call  0x00002a4f 
+ 00009130  0x000009af branch  0x0000239b 
+ 00009131  0x000009b3 bpatch  0x00000039 , 0x00004007 
+ 00009132  0x000009b4 set0  0x00000001 , 0x00000028 
+ 00009133  0x000009b5 set1  0x00000000 , 0x00000028 
+ 00009134  0x000009b6 fetch  0x00000001 , 0x0000000a 
+ 00009135  0x000009b7 increase  0x00000001 , 0x0000003f 
+ 00009136  0x000009b8 store  0x00000001 , 0x0000000a 
+ 00009137  0x000009b9 call  0x00002a4d 
+ 00009138  0x000009ba or_into  0x00000002 , 0x00000021 
+ 00009139  0x000009bb call  0x000028d2 
+ 00009140  0x000009bc call  0x00002a51 
+ 00009141  0x000009bd call  0x00002a5f 
+ 00009142  0x000009be call  0x00002a64 
+ 00009143  0x000009bf call  0x0000264d 
+ 00009144  0x000009c1 compare  0x00000003 , 0x00000028 , 0x00000003 
+ 00009145  0x000009c2 branch  0x000023bc , 0x00000001 
+ 00009146  0x000009c3 until  0x0000003e , 0x00000017 
+ 00009147  0x000009c4 branch  0x000023b8 
+ 00009148  0x000009c6 fetch  0x00000004 , 0x00000165 
+ 00009149  0x000009c7 or_into  0x00000003 , 0x0000003f 
+ 00009150  0x000009c8 icopy  0x00000028 
+ 00009151  0x000009cb bpatch  0x0000003a , 0x00004007 
+ 00009152  0x000009cc fetch  0x00000006 , 0x00000178 
+ 00009153  0x000009cd store  0x00000006 , 0x00000040 
+ 00009154  0x000009ce call  0x00002435 
+ 00009155  0x000009d0 call  0x0000247c 
+ 00009156  0x000009d1 branch  0x000023c8 , 0x0000002d 
+ 00009157  0x000009d2 call  0x00002455 
+ 00009158  0x000009d3 nbranch  0x000023c3 , 0x00000034 
+ 00009159  0x000009d4 rtn 
+ 00009160  0x000009d8 bpatch  0x0000003b , 0x00004007 
+ 00009161  0x000009d9 call  0x00002440 
+ 00009162  0x000009da call  0x0000223b 
+ 00009163  0x000009db nrtn  0x00000005 
+ 00009164  0x000009dc jam  0x00000000 , 0x00000031 
+ 00009165  0x000009dd call  0x00002841 
+ 00009166  0x000009de branch  0x00002223 
+ 00009167  0x000009e4 bpatch  0x0000003c , 0x00004007 
+ 00009168  0x000009e5 call  0x00002850 
+ 00009169  0x000009e6 call  0x000023f3 
+ 00009170  0x000009e7 rtn  0x00000028 
+ 00009171  0x000009e9 bpatch  0x0000003d , 0x00004007 
+ 00009172  0x000009ea call  0x00002c69 
+ 00009173  0x000009eb call  0x00006caa 
+ 00009174  0x000009ec call  0x00002514 
+ 00009175  0x000009ed nbranch  0x000023e2 , 0x0000002d 
+ 00009176  0x000009ee call  0x00002a88 
+ 00009177  0x000009ef call  0x00006cc2 
+ 00009178  0x000009f0 call  0x00002489 
+ 00009179  0x000009f1 call  0x00002757 
+ 00009180  0x000009f2 call  0x00002728 
+ 00009181  0x000009f3 call  0x00005d08 
+ 00009182  0x000009f4 fetch  0x00000001 , 0x0000000b 
+ 00009183  0x000009f5 increase  0x00000001 , 0x0000003f 
+ 00009184  0x000009f6 store  0x00000001 , 0x0000000b 
+ 00009185  0x000009f7 call  0x00002841 
+ 00009186  0x000009f9 bpatch  0x0000003e , 0x00004007 
+ 00009187  0x000009fa call  0x00002bb1 
+ 00009188  0x000009fb call  0x00002a7f 
+ 00009189  0x000009fc branch  0x000023eb , 0x00000002 
+ 00009190  0x000009fd call  0x000021a7 
+ 00009191  0x000009fe nbranch  0x000023eb , 0x00000028 
+ 00009192  0x000009ff call  0x000026f3 
+ 00009193  0x00000a00 nbranch  0x000023d3 , 0x00000034 
+ 00009194  0x00000a01 rtn 
+ 00009195  0x00000a04 bpatch  0x0000003f , 0x00004007 
+ 00009196  0x00000a05 jam  0x00000000 , 0x00000151 
+ 00009197  0x00000a06 jam  0x00000000 , 0x0000017f 
+ 00009198  0x00000a07 call  0x0000245d 
+ 00009199  0x00000a08 set0  0x00000011 , 0x00000000 
+ 00009200  0x00000a09 call  0x00007fb0 
+ 00009201  0x00000a0a fetch  0x00000001 , 0x00000030 
+ 00009202  0x00000a0b rtn 
+ 00009203  0x00000a0f bpatch  0x00000040 , 0x00004008 
+ 00009204  0x00000a10 call  0x000021c9 
+ 00009205  0x00000a11 nrtn  0x00000028 
+ 00009206  0x00000a12 copy  0x00000004 , 0x00000002 
+ 00009207  0x00000a13 call  0x00002a6f 
+ 00009208  0x00000a14 store  0x00000001 , 0x00000181 
+ 00009209  0x00000a15 copy  0x00000002 , 0x00000004 
+ 00009210  0x00000a16 jam  0x00000020 , 0x00000011 
+ 00009211  0x00000a18 bpatch  0x00000041 , 0x00004008 
+ 00009212  0x00000a19 call  0x00002a4f 
+ 00009213  0x00000a1a force  0x00000002 , 0x00000001 
+ 00009214  0x00000a1b call  0x0000274f 
+ 00009215  0x00000a1c deposit  0x00000022 
+ 00009216  0x00000a1d store  0x00000004 , 0x00000161 
+ 00009217  0x00000a1e call  0x00002762 
+ 00009218  0x00000a1f call  0x00002a4d 
+ 00009219  0x00000a20 enable  0x0000002f 
+ 00009220  0x00000a21 call  0x000024f6 
+ 00009221  0x00000a22 branch  0x0000240d , 0x00000018 
+ 00009222  0x00000a23 call  0x000028f9 
+ 00009223  0x00000a24 call  0x00002455 
+ 00009224  0x00000a25 nbranch  0x000023fb , 0x00000034 
+ 00009225  0x00000a26 rtnmark0  0x00000004 
+ 00009226  0x00000a27 jam  0x00000034 , 0x0000007c 
+ 00009227  0x00000a28 set1  0x00000003 , 0x00000000 
+ 00009228  0x00000a29 rtn 
+ 00009229  0x00000a2b enable  0x00000030 
+ 00009230  0x00000a2c call  0x00002435 
+ 00009231  0x00000a2d call  0x000028a4 
+ 00009232  0x00000a2f bpatch  0x00000042 , 0x00004008 
+ 00009233  0x00000a30 call  0x000022f2 
+ 00009234  0x00000a31 branch  0x00002419 , 0x00000018 
+ 00009235  0x00000a32 call  0x00002455 
+ 00009236  0x00000a33 nbranch  0x00002410 , 0x00000034 
+ 00009237  0x00000a34 disable  0x00000030 
+ 00009238  0x00000a35 deposit  0x00000028 
+ 00009239  0x00000a36 store  0x00000004 , 0x000040ca 
+ 00009240  0x00000a37 rtn 
+ 00009241  0x00000a39 enable  0x00000029 
+ 00009242  0x00000a3a bmark0  0x00000004 , 0x0000241f 
+ 00009243  0x00000a3b set0  0x00000004 , 0x00000000 
+ 00009244  0x00000a3c jam  0x00000003 , 0x0000007c 
+ 00009245  0x00000a3d jam  0x00000033 , 0x0000007d 
+ 00009246  0x00000a3e call  0x000062f8 
+ 00009247  0x00000a40 deposit  0x00000004 
+ 00009248  0x00000a41 store  0x00000001 , 0x00000077 
+ 00009249  0x00000a42 force  0x00000000 , 0x0000003f 
+ 00009250  0x00000a43 store  0x00000006 , 0x00000038 
+ 00009251  0x00000a44 fetch  0x00000001 , 0x00000031 
+ 00009252  0x00000a45 set1  0x00000001 , 0x0000003f 
+ 00009253  0x00000a46 store  0x00000001 , 0x00000031 
+ 00009254  0x00000a47 call  0x00002a88 
+ 00009255  0x00000a48 disable  0x00000029 
+ 00009256  0x00000a49 enable  0x00000028 
+ 00009257  0x00000a4a rtn 
+ 00009258  0x00000a4f bpatch  0x00000043 , 0x00004008 
+ 00009259  0x00000a50 disable  0x0000002d 
+ 00009260  0x00000a51 set0  0x00000005 , 0x00000000 
+ 00009261  0x00000a52 set0  0x0000000a , 0x00000000 
+ 00009262  0x00000a53 set0  0x00000010 , 0x00000000 
+ 00009263  0x00000a54 set0  0x0000000f , 0x00000000 
+ 00009264  0x00000a55 fetch  0x00000001 , 0x00000047 
+ 00009265  0x00000a56 set0  0x00000005 , 0x0000003f 
+ 00009266  0x00000a57 set1  0x00000004 , 0x0000003f 
+ 00009267  0x00000a58 store  0x00000001 , 0x00000047 
+ 00009268  0x00000a59 rtn 
+ 00009269  0x00000a5c bpatch  0x00000044 , 0x00004008 
+ 00009270  0x00000a5d jam  0x00000020 , 0x00000011 
+ 00009271  0x00000a5e jam  0x00000050 , 0x00000047 
+ 00009272  0x00000a5f fetch  0x00000002 , 0x000040bf 
+ 00009273  0x00000a60 store  0x00000002 , 0x0000003e 
+ 00009274  0x00000a61 deposit  0x00000022 
+ 00009275  0x00000a62 store  0x00000004 , 0x000040ca 
+ 00009276  0x00000a63 rtn  0x00000030 
+ 00009277  0x00000a64 deposit  0x00000028 
+ 00009278  0x00000a65 store  0x00000004 , 0x000040ca 
+ 00009279  0x00000a66 rtn 
+ 00009280  0x00000a69 bpatch  0x00000045 , 0x00004008 
+ 00009281  0x00000a6a call  0x00005d04 
+ 00009282  0x00000a6b call  0x00002459 
+ 00009283  0x00000a6c store  0x00000001 , 0x00000046 
+ 00009284  0x00000a6d setarg  0x00000000 
+ 00009285  0x00000a6e store  0x00000002 , 0x0000025d 
+ 00009286  0x00000a6f setarg  0x00001c80 
+ 00009287  0x00000a70 store  0x00000002 , 0x00000051 
+ 00009288  0x00000a71 fetch  0x00000001 , 0x00000030 
+ 00009289  0x00000a72 set1  0x00000000 , 0x0000003f 
+ 00009290  0x00000a73 store  0x00000001 , 0x00000030 
+ 00009291  0x00000a74 jam  0x00000000 , 0x0000004b 
+ 00009292  0x00000a75 jam  0x00000000 , 0x0000004c 
+ 00009293  0x00000a76 jam  0x00000000 , 0x000000a0 
+ 00009294  0x00000a77 branch  0x00002a88 
+ 00009295  0x00000a7b bpatch  0x00000046 , 0x00004008 
+ 00009296  0x00000a7c force  0x00000000 , 0x0000003f 
+ 00009297  0x00000a7d store  0x00000008 , 0x000041be 
+ 00009298  0x00000a7e istore  0x00000008 , 0x00000005 
+ 00009299  0x00000a7f call  0x000021c5 
+ 00009300  0x00000a80 branch  0x00002254 
+ 00009301  0x00000a83 fetch  0x00000001 , 0x00000011 
+ 00009302  0x00000a84 increase  0xffffffff , 0x0000003f 
+ 00009303  0x00000a85 store  0x00000001 , 0x00000011 
+ 00009304  0x00000a86 rtn 
+ 00009305  0x00000a89 fetch  0x00000001 , 0x000040cf 
+ 00009306  0x00000a8a increase  0x00000001 , 0x0000003f 
+ 00009307  0x00000a8b store  0x00000001 , 0x000040cf 
+ 00009308  0x00000a8c rtn 
+ 00009309  0x00000a90 bpatch  0x00000047 , 0x00004008 
+ 00009310  0x00000a91 fetch  0x00000001 , 0x000041ce 
+ 00009311  0x00000a92 beq  0x00000003 , 0x00002462 
+ 00009312  0x00000a93 fetch  0x00000001 , 0x00000048 
+ 00009313  0x00000a94 bne  0x00000001 , 0x00002466 
+ 00009314  0x00000a96 call  0x00004d06 
+ 00009315  0x00000a97 nbranch  0x00002466 , 0x00000005 
+ 00009316  0x00000a98 call  0x000021a4 
+ 00009317  0x00000a99 jam  0x00000000 , 0x000041ce 
+ 00009318  0x00000a9b bpatch  0x00000048 , 0x00004009 
+ 00009319  0x00000a9c call  0x000033af 
+ 00009320  0x00000a9d call  0x000026e9 
+ 00009321  0x00000a9e jam  0x00000002 , 0x00000a99 
+ 00009322  0x00000a9f call  0x00007d86 
+ 00009323  0x00000aa0 call  0x00005cf7 
+ 00009324  0x00000aa1 call  0x00004d6b 
+ 00009325  0x00000aa2 call  0x0000757d 
+ 00009326  0x00000aa3 fetch  0x00000001 , 0x00000030 
+ 00009327  0x00000aa4 set0  0x00000000 
+ 00009328  0x00000aa5 store  0x00000001 , 0x00000030 
+ 00009329  0x00000aa6 jam  0x00000000 , 0x00004681 
+ 00009330  0x00000aa8 fetch  0x00000001 , 0x0000004c 
+ 00009331  0x00000aa9 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00009332  0x00000aaa branch  0x00002476 , 0x00000001 
+ 00009333  0x00000aab set0  0x00000001 , 0x00000000 
+ 00009334  0x00000aad fetch  0x00000001 , 0x00000047 
+ 00009335  0x00000aae bbit0  0x00000003 , 0x00002478 
+ 00009336  0x00000ab0 fetch  0x00000001 , 0x0000004b 
+ 00009337  0x00000ab1 rtnbit0  0x00000006 
+ 00009338  0x00000ab2 set0  0x00000002 , 0x00000000 
+ 00009339  0x00000ab3 rtn 
+ 00009340  0x00000ab6 bpatch  0x00000049 , 0x00004009 
+ 00009341  0x00000ab7 fetch  0x00000001 , 0x00000174 
+ 00009342  0x00000ab8 rtn  0x00000034 
+ 00009343  0x00000ab9 icopy  0x00000004 
+ 00009344  0x00000aba call  0x00002514 
+ 00009345  0x00000abb nrtn  0x0000002d 
+ 00009346  0x00000abc force  0x00000000 , 0x00000001 
+ 00009347  0x00000abd call  0x00002757 
+ 00009348  0x00000abe deposit  0x00000004 
+ 00009349  0x00000abf store  0x00000001 , 0x00000077 
+ 00009350  0x00000ac0 force  0x00000000 , 0x0000003f 
+ 00009351  0x00000ac1 store  0x00000001 , 0x00000174 
+ 00009352  0x00000ac2 rtn 
+ 00009353  0x00000ac9 bpatch  0x0000004a , 0x00004009 
+ 00009354  0x00000aca fetch  0x00000001 , 0x00000030 
+ 00009355  0x00000acb bbit0  0x00000002 , 0x00002496 
+ 00009356  0x00000acc force  0x00000007 , 0x00000001 
+ 00009357  0x00000acd bmark0  0x00000007 , 0x00002495 
+ 00009358  0x00000ace call  0x00002725 
+ 00009359  0x00000acf nbranch  0x00002496 , 0x00000001 
+ 00009360  0x00000ad0 branch  0x00002496 , 0x0000002e 
+ 00009361  0x00000ad1 call  0x000024c1 
+ 00009362  0x00000ad2 setarg  0x00000002 
+ 00009363  0x00000ad3 store  0x00000002 , 0x000040c8 
+ 00009364  0x00000ad4 rtn 
+ 00009365  0x00000ad6 nrtn  0x0000002e 
+ 00009366  0x00000ad8 bpatch  0x0000004b , 0x00004009 
+ 00009367  0x00000ad9 call  0x00002243 
+ 00009368  0x00000ada nbranch  0x000024a7 , 0x00000005 
+ 00009369  0x00000adb fetch  0x00000001 , 0x00000047 
+ 00009370  0x00000adc bbit0  0x00000003 , 0x000024b0 
+ 00009371  0x00000ade bmark1  0x00000005 , 0x000024b4 
+ 00009372  0x00000adf fetch  0x00000001 , 0x0000017f 
+ 00009373  0x00000ae0 bbit1  0x00000006 , 0x000024ba 
+ 00009374  0x00000ae1 fetch  0x00000002 , 0x000040c8 
+ 00009375  0x00000ae2 increase  0xffffffff , 0x0000003f 
+ 00009376  0x00000ae3 store  0x00000002 , 0x000040c8 
+ 00009377  0x00000ae4 branch  0x000024a5 , 0x00000034 
+ 00009378  0x00000ae5 fetch  0x00000001 , 0x000040c5 
+ 00009379  0x00000ae6 iforce  0x00000001 
+ 00009380  0x00000ae7 rtn 
+ 00009381  0x00000aea bpatch  0x0000004c , 0x00004009 
+ 00009382  0x00000aeb call  0x00002687 
+ 00009383  0x00000aed call  0x00002725 
+ 00009384  0x00000aee branch  0x000024b0 , 0x00000001 
+ 00009385  0x00000aef call  0x0000600a 
+ 00009386  0x00000af0 branch  0x000024be , 0x00000028 
+ 00009387  0x00000af1 fetch  0x00000001 , 0x0000004b 
+ 00009388  0x00000af2 bbit1  0x00000006 , 0x000024c0 
+ 00009389  0x00000af3 bmark1  0x00000005 , 0x000024b4 
+ 00009390  0x00000af4 fetch  0x00000001 , 0x0000017f 
+ 00009391  0x00000af5 bbit1  0x00000006 , 0x000024ba 
+ 00009392  0x00000af7 force  0x00000001 , 0x00000001 
+ 00009393  0x00000af8 rtn  0x00000029 
+ 00009394  0x00000af9 force  0x00000000 , 0x00000001 
+ 00009395  0x00000afa rtn 
+ 00009396  0x00000afc bpatch  0x0000004d , 0x00004009 
+ 00009397  0x00000afd fetch  0x00000001 , 0x00000019 
+ 00009398  0x00000afe iforce  0x00000001 
+ 00009399  0x00000aff rtnne  0x00000001 
+ 00009400  0x00000b00 force  0x00000000 , 0x00000001 
+ 00009401  0x00000b01 rtn 
+ 00009402  0x00000b03 fetch  0x00000001 , 0x00000158 
+ 00009403  0x00000b04 and  0x0000003f , 0x0000000f , 0x00000001 
+ 00009404  0x00000b05 set1  0x00000005 , 0x00000000 
+ 00009405  0x00000b06 rtn 
+ 00009406  0x00000b08 force  0x00000013 , 0x00000001 
+ 00009407  0x00000b09 branch  0x000024c1 
+ 00009408  0x00000b0b call  0x000024ca 
+ 00009409  0x00000b0e bpatch  0x0000004e , 0x00004009 
+ 00009410  0x00000b0f fetcht  0x00000001 , 0x00000047 
+ 00009411  0x00000b10 set1  0x00000003 , 0x00000002 
+ 00009412  0x00000b11 storet  0x00000001 , 0x00000047 
+ 00009413  0x00000b12 deposit  0x00000001 
+ 00009414  0x00000b13 store  0x00000001 , 0x000040c5 
+ 00009415  0x00000b14 setarg  0x0000ffff 
+ 00009416  0x00000b15 store  0x00000002 , 0x000040c8 
+ 00009417  0x00000b16 rtn 
+ 00009418  0x00000b19 bpatch  0x0000004f , 0x00004009 
+ 00009419  0x00000b1a fetch  0x00000001 , 0x0000004c 
+ 00009420  0x00000b1b isolate1  0x00000005 , 0x0000003f 
+ 00009421  0x00000b1c fetch  0x00000002 , 0x000041dc 
+ 00009422  0x00000b1d branch  0x000024e0 , 0x00000001 
+ 00009423  0x00000b1e force  0x00000003 , 0x00000001 
+ 00009424  0x00000b1f sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00009425  0x00000b20 rtn  0x00000002 
+ 00009426  0x00000b21 force  0x00000004 , 0x00000001 
+ 00009427  0x00000b22 sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00009428  0x00000b23 rtn  0x00000002 
+ 00009429  0x00000b24 force  0x0000000a , 0x00000001 
+ 00009430  0x00000b25 sub  0x0000003f , 0x00000079 , 0x0000003e 
+ 00009431  0x00000b26 rtn  0x00000002 
+ 00009432  0x00000b27 force  0x0000000b , 0x00000001 
+ 00009433  0x00000b28 sub  0x0000003f , 0x000000b7 , 0x0000003e 
+ 00009434  0x00000b29 rtn  0x00000002 
+ 00009435  0x00000b2a force  0x0000000e , 0x00000001 
+ 00009436  0x00000b2b sub  0x0000003f , 0x000000e0 , 0x0000003e 
+ 00009437  0x00000b2c rtn  0x00000002 
+ 00009438  0x00000b2d force  0x0000000f , 0x00000001 
+ 00009439  0x00000b2e rtn 
+ 00009440  0x00000b30 force  0x00000003 , 0x00000001 
+ 00009441  0x00000b31 sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00009442  0x00000b32 rtn  0x00000002 
+ 00009443  0x00000b33 force  0x00000004 , 0x00000001 
+ 00009444  0x00000b34 sub  0x0000003f , 0x00000036 , 0x0000003e 
+ 00009445  0x00000b35 rtn  0x00000002 
+ 00009446  0x00000b36 force  0x0000000a , 0x00000001 
+ 00009447  0x00000b37 arg  0x0000016f , 0x00000002 
+ 00009448  0x00000b38 isub  0x00000002 , 0x0000003e 
+ 00009449  0x00000b39 nrtn  0x00000002 
+ 00009450  0x00000b3a force  0x0000000e , 0x00000001 
+ 00009451  0x00000b3b arg  0x000002a7 , 0x00000002 
+ 00009452  0x00000b3c isub  0x00000002 , 0x0000003e 
+ 00009453  0x00000b3d nrtn  0x00000002 
+ 00009454  0x00000b3e force  0x0000000f , 0x00000001 
+ 00009455  0x00000b3f rtn 
+ 00009456  0x00000b49 fetch  0x00000001 , 0x00000030 
+ 00009457  0x00000b4a bbit0  0x00000001 , 0x000024f5 
+ 00009458  0x00000b4b fetch  0x00000002 , 0x00000032 
+ 00009459  0x00000b4c branch  0x000024f5 , 0x00000034 
+ 00009460  0x00000b4d nbranch  0x000024f7 , 0x0000002e 
+ 00009461  0x00000b4f call  0x00002a4f 
+ 00009462  0x00000b51 add  0x00000028 , 0x00000001 , 0x00000021 
+ 00009463  0x00000b53 enable  0x00000010 
+ 00009464  0x00000b54 fetch  0x00000002 , 0x0000003e 
+ 00009465  0x00000b55 rshift  0x0000003f , 0x0000003f 
+ 00009466  0x00000b56 arg  0x00000500 , 0x00000002 
+ 00009467  0x00000b57 iadd  0x00000002 , 0x0000003f 
+ 00009468  0x00000b58 call  0x00002a24 
+ 00009469  0x00000b59 call  0x000028ea 
+ 00009470  0x00000b5a force  0x00000003 , 0x00000024 
+ 00009471  0x00000b5b call  0x000028cc 
+ 00009472  0x00000b5c call  0x0000242a 
+ 00009473  0x00000b5d call  0x000029f1 
+ 00009474  0x00000b5e bpatch  0x00000050 , 0x0000400a 
+ 00009475  0x00000b5f fetch  0x00000002 , 0x0000003e 
+ 00009476  0x00000b60 rshift  0x0000003f , 0x0000003f 
+ 00009477  0x00000b61 call  0x00002a24 
+ 00009478  0x00000b62 call  0x000029eb 
+ 00009479  0x00000b63 enable  0x0000000d 
+ 00009480  0x00000b64 fetch  0x00000002 , 0x0000003e 
+ 00009481  0x00000b65 arg  0x000003bb , 0x00000002 
+ 00009482  0x00000b66 iadd  0x00000002 , 0x0000001b 
+ 00009483  0x00000b67 correlate  0x0000003e , 0x00000003 
+ 00009484  0x00000b68 copy  0x0000001a , 0x00000002 
+ 00009485  0x00000b69 storet  0x00000006 , 0x0000009a 
+ 00009486  0x00000b6a disable  0x0000000d 
+ 00009487  0x00000b6b nrtn  0x00000018 
+ 00009488  0x00000b6c arg  0x000003bb , 0x00000029 
+ 00009489  0x00000b6d copy  0x00000021 , 0x00000028 
+ 00009490  0x00000b6e branch  0x00002b05 , 0x0000002b 
+ 00009491  0x00000b6f rtn 
+ 00009492  0x00000b73 bpatch  0x00000051 , 0x0000400a 
+ 00009493  0x00000b74 call  0x000024f0 
+ 00009494  0x00000b75 nbranch  0x000028f9 , 0x00000018 
+ 00009495  0x00000b76 call  0x000029bb 
+ 00009496  0x00000b77 bmark0  0x00000011 , 0x0000251c 
+ 00009497  0x00000b78 fetch  0x00000002 , 0x000000f6 
+ 00009498  0x00000b79 increase  0x00000001 , 0x0000003f 
+ 00009499  0x00000b7a store  0x00000002 , 0x000000f6 
+ 00009500  0x00000b7c rshift  0x00000021 , 0x00000002 
+ 00009501  0x00000b7d or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00009502  0x00000b7f bpatch  0x00000052 , 0x0000400a 
+ 00009503  0x00000b80 enable  0x00000007 
+ 00009504  0x00000b81 enable  0x0000000a 
+ 00009505  0x00000b82 enable  0x0000000b 
+ 00009506  0x00000b83 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009507  0x00000b84 rshift8  0x0000000c , 0x0000003f 
+ 00009508  0x00000b85 store  0x00000001 , 0x0000015d 
+ 00009509  0x00000b86 parse  0x00000003 , 0x00000000 , 0x00000004 
+ 00009510  0x00000b87 inject  0x00000000 , 0x00000007 
+ 00009511  0x00000b88 copy  0x0000000c , 0x0000003f 
+ 00009512  0x00000b89 store  0x00000001 , 0x00000019 
+ 00009513  0x00000b8a parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009514  0x00000b8b rshift8  0x0000000c , 0x0000003f 
+ 00009515  0x00000b8c store  0x00000001 , 0x0000015e 
+ 00009516  0x00000b8d fetch  0x00000001 , 0x00000019 
+ 00009517  0x00000b8e sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00009518  0x00000b8f branch  0x00002533 , 0x00000002 
+ 00009519  0x00000b90 beq  0x00000007 , 0x00002533 
+ 00009520  0x00000b91 fetch  0x00000001 , 0x0000004c 
+ 00009521  0x00000b92 isolate1  0x00000005 , 0x0000003f 
+ 00009522  0x00000b93 setflag  0x00000001 , 0x00000001 , 0x00000015 
+ 00009523  0x00000b95 bpatch  0x00000053 , 0x0000400a 
+ 00009524  0x00000b96 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009525  0x00000b97 disable  0x0000000b 
+ 00009526  0x00000b98 disable  0x0000000a 
+ 00009527  0x00000b99 branch  0x00002631 , 0x00000006 
+ 00009528  0x00000b9a bmark0  0x00000011 , 0x0000253c 
+ 00009529  0x00000b9b fetch  0x00000002 , 0x000000f8 
+ 00009530  0x00000b9c increase  0x00000001 , 0x0000003f 
+ 00009531  0x00000b9d store  0x00000002 , 0x000000f8 
+ 00009532  0x00000b9f bpatch  0x00000054 , 0x0000400a 
+ 00009533  0x00000ba0 fetch  0x00000001 , 0x0000015d 
+ 00009534  0x00000ba1 compare  0x00000000 , 0x0000003f , 0x00000007 
+ 00009535  0x00000ba2 setflag  0x00000001 , 0x0000000a , 0x00000000 
+ 00009536  0x00000ba3 branch  0x0000254c , 0x00000001 
+ 00009537  0x00000ba4 icompare  0x00000007 , 0x00000004 
+ 00009538  0x00000ba5 branch  0x0000254b , 0x00000001 
+ 00009539  0x00000ba6 bmark0  0x00000007 , 0x0000264d 
+ 00009540  0x00000ba7 fetcht  0x00000001 , 0x000000b0 
+ 00009541  0x00000ba8 icompare  0x00000007 , 0x00000002 
+ 00009542  0x00000ba9 nbranch  0x0000264d , 0x00000001 
+ 00009543  0x00000baa fetch  0x00000001 , 0x00000047 
+ 00009544  0x00000bab set0  0x00000005 , 0x0000003f 
+ 00009545  0x00000bac set1  0x00000004 , 0x0000003f 
+ 00009546  0x00000bad store  0x00000001 , 0x00000047 
+ 00009547  0x00000baf enable  0x0000002d 
+ 00009548  0x00000bb1 bpatch  0x00000055 , 0x0000400a 
+ 00009549  0x00000bb2 fetch  0x00000001 , 0x00000019 
+ 00009550  0x00000bb3 icopy  0x00000001 
+ 00009551  0x00000bb4 bmark1  0x0000000a , 0x0000255b 
+ 00009552  0x00000bb5 fetcht  0x00000001 , 0x0000015e 
+ 00009553  0x00000bb6 fetch  0x00000001 , 0x00000047 
+ 00009554  0x00000bb7 set0  0x00000000 , 0x0000003f 
+ 00009555  0x00000bb8 isolate1  0x00000000 , 0x00000002 
+ 00009556  0x00000bb9 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00009557  0x00000bba isolate1  0x00000001 , 0x00000002 
+ 00009558  0x00000bbb setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00009559  0x00000bbc store  0x00000001 , 0x00000047 
+ 00009560  0x00000bbd isolate0  0x00000001 , 0x00000002 
+ 00009561  0x00000bbe branch  0x0000255b , 0x00000001 
+ 00009562  0x00000bbf call  0x00002687 
+ 00009563  0x00000bc1 bpatch  0x00000056 , 0x0000400a 
+ 00009564  0x00000bc2 arg  0x00000000 , 0x00000002 
+ 00009565  0x00000bc3 call  0x00002a1c 
+ 00009566  0x00000bc4 and  0x00000001 , 0x0000000f , 0x0000003f 
+ 00009567  0x00000bc5 beq  0x00000001 , 0x00002587 
+ 00009568  0x00000bc6 beq  0x00000000 , 0x0000264d 
+ 00009569  0x00000bc7 beq  0x00000002 , 0x00002659 
+ 00009570  0x00000bc8 fetcht  0x00000001 , 0x0000015e 
+ 00009571  0x00000bc9 fetch  0x00000001 , 0x00000047 
+ 00009572  0x00000bca icompare  0x00000004 , 0x00000002 
+ 00009573  0x00000bcb nbranch  0x00002569 , 0x00000001 
+ 00009574  0x00000bcc bmark0  0x0000000a , 0x00002568 
+ 00009575  0x00000bcd bbit0  0x00000007 , 0x00002569 
+ 00009576  0x00000bcf set1  0x0000000f , 0x00000000 
+ 00009577  0x00000bd1 bpatch  0x00000057 , 0x0000400a 
+ 00009578  0x00000bd2 deposit  0x00000001 
+ 00009579  0x00000bd3 beq  0x00000003 , 0x00002589 
+ 00009580  0x00000bd4 beq  0x00000004 , 0x0000258d 
+ 00009581  0x00000bd5 beq  0x00000007 , 0x00002578 
+ 00009582  0x00000bd6 beq  0x00000008 , 0x0000258c 
+ 00009583  0x00000bd7 arg  0x00000004 , 0x00000002 
+ 00009584  0x00000bd8 call  0x00002a1c 
+ 00009585  0x00000bd9 beq  0x0000000a , 0x00002588 
+ 00009586  0x00000bda beq  0x0000000b , 0x0000258b 
+ 00009587  0x00000bdb arg  0x00000008 , 0x00000002 
+ 00009588  0x00000bdc call  0x00002a1c 
+ 00009589  0x00000bdd beq  0x0000000e , 0x00002588 
+ 00009590  0x00000bde beq  0x0000000f , 0x0000258b 
+ 00009591  0x00000bdf rtn 
+ 00009592  0x00000be3 bpatch  0x00000058 , 0x0000400b 
+ 00009593  0x00000be4 enable  0x0000000d 
+ 00009594  0x00000be5 enable  0x00000009 
+ 00009595  0x00000be6 enable  0x0000000e 
+ 00009596  0x00000be7 arg  0x000000d1 , 0x00000005 
+ 00009597  0x00000be8 force  0x0000001e , 0x00000039 
+ 00009598  0x00000bea parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009599  0x00000beb rshift3  0x0000000c , 0x0000003f 
+ 00009600  0x00000bec istore  0x00000001 , 0x00000005 
+ 00009601  0x00000bed loop  0x0000257e 
+ 00009602  0x00000bee bmark0  0x00000007 , 0x0000264d 
+ 00009603  0x00000bef parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009604  0x00000bf0 nsetflag  0x00000006 , 0x00000008 , 0x00000000 
+ 00009605  0x00000bf1 branch  0x0000263d , 0x00000006 
+ 00009606  0x00000bf2 branch  0x00002620 
+ 00009607  0x00000bf6 branch  0x0000264d 
+ 00009608  0x00000bfa set1  0x00000010 , 0x00000000 
+ 00009609  0x00000bfc enable  0x0000000c 
+ 00009610  0x00000bfd branch  0x0000258e 
+ 00009611  0x00000c01 set1  0x00000010 , 0x00000000 
+ 00009612  0x00000c03 set1  0x00000002 , 0x00000015 
+ 00009613  0x00000c05 enable  0x0000000d 
+ 00009614  0x00000c07 bpatch  0x00000059 , 0x0000400b 
+ 00009615  0x00000c08 bmark1  0x00000001 , 0x0000264d 
+ 00009616  0x00000c09 isolate0  0x00000001 , 0x00000015 
+ 00009617  0x00000c0a branch  0x0000259a , 0x00000001 
+ 00009618  0x00000c0b disable  0x00000007 
+ 00009619  0x00000c0c enable  0x0000000d 
+ 00009620  0x00000c0d disable  0x0000000c 
+ 00009621  0x00000c0e add  0x00000022 , 0x00000002 , 0x0000000b 
+ 00009622  0x00000c0f correlate  0x00000022 , 0x00000026 
+ 00009623  0x00000c10 nbranch  0x0000263d , 0x00000018 
+ 00009624  0x00000c11 set1  0x00000010 , 0x00000000 
+ 00009625  0x00000c12 enable  0x00000007 
+ 00009626  0x00000c14 bpatch  0x0000005a , 0x0000400b 
+ 00009627  0x00000c15 enable  0x0000000e 
+ 00009628  0x00000c16 enable  0x00000009 
+ 00009629  0x00000c17 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009630  0x00000c18 rshift8  0x0000000c , 0x0000003f 
+ 00009631  0x00000c19 store  0x00000001 , 0x00000180 
+ 00009632  0x00000c1a parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00009633  0x00000c1b bmark1  0x00000010 , 0x000025a5 
+ 00009634  0x00000c1c rshift3  0x0000000c , 0x00000039 
+ 00009635  0x00000c1d rshift3  0x00000039 , 0x00000039 
+ 00009636  0x00000c1e branch  0x000025a8 
+ 00009637  0x00000c20 parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00009638  0x00000c21 rshift  0x0000000c , 0x00000039 
+ 00009639  0x00000c22 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009640  0x00000c24 bpatch  0x0000005b , 0x0000400b 
+ 00009641  0x00000c25 deposit  0x00000039 
+ 00009642  0x00000c26 store  0x00000002 , 0x0000015f 
+ 00009643  0x00000c27 branch  0x000025e8 , 0x00000034 
+ 00009644  0x00000c28 isub  0x00000035 , 0x0000003e 
+ 00009645  0x00000c29 branch  0x0000263d , 0x00000002 
+ 00009646  0x00000c2a bpatch  0x0000005c , 0x0000400b 
+ 00009647  0x00000c2b set0  0x00000000 , 0x00000000 
+ 00009648  0x00000c2c fetch  0x00000001 , 0x00000180 
+ 00009649  0x00000c2d and_into  0x00000003 , 0x0000003f 
+ 00009650  0x00000c2e arg  0x00000551 , 0x00000005 
+ 00009651  0x00000c2f beq  0x00000003 , 0x000025ba 
+ 00009652  0x00000c30 bmark1  0x00000011 , 0x000025e4 
+ 00009653  0x00000c32 fetch  0x00000001 , 0x00000180 
+ 00009654  0x00000c33 and_into  0x00000003 , 0x0000003f 
+ 00009655  0x00000c34 beq  0x00000002 , 0x000025bf 
+ 00009656  0x00000c35 beq  0x00000001 , 0x000025d3 
+ 00009657  0x00000c36 branch  0x0000263d 
+ 00009658  0x00000c39 fetch  0x00000002 , 0x0000015f 
+ 00009659  0x00000c3a sub  0x0000003f , 0x00000070 , 0x0000003e 
+ 00009660  0x00000c3b nbranch  0x0000263d , 0x00000002 
+ 00009661  0x00000c3c bmark1  0x0000000f , 0x00002620 
+ 00009662  0x00000c3d branch  0x000025e4 
+ 00009663  0x00000c41 bpatch  0x0000005d , 0x0000400b 
+ 00009664  0x00000c42 bmark1  0x0000000f , 0x00002620 
+ 00009665  0x00000c43 fetch  0x00000002 , 0x0000015f 
+ 00009666  0x00000c44 arg  0x000002e0 , 0x00000002 
+ 00009667  0x00000c45 isub  0x00000002 , 0x0000003e 
+ 00009668  0x00000c46 branch  0x0000263d , 0x00000002 
+ 00009669  0x00000c47 fetch  0x00000001 , 0x00000263 
+ 00009670  0x00000c48 bbit0  0x00000000 , 0x000025c9 
+ 00009671  0x00000c49 bbit0  0x00000001 , 0x000025ce 
+ 00009672  0x00000c4a branch  0x0000264d 
+ 00009673  0x00000c4c jam  0x00000001 , 0x00000261 
+ 00009674  0x00000c4d fetch  0x00000002 , 0x0000025d 
+ 00009675  0x00000c4e bne  0x00000000 , 0x0000264d 
+ 00009676  0x00000c4f arg  0x00001000 , 0x00000005 
+ 00009677  0x00000c50 branch  0x000025e4 
+ 00009678  0x00000c52 jam  0x00000002 , 0x00000261 
+ 00009679  0x00000c53 fetch  0x00000002 , 0x0000025f 
+ 00009680  0x00000c54 bne  0x00000000 , 0x0000264d 
+ 00009681  0x00000c55 arg  0x00001400 , 0x00000005 
+ 00009682  0x00000c56 branch  0x000025e4 
+ 00009683  0x00000c59 bpatch  0x0000005e , 0x0000400b 
+ 00009684  0x00000c5a bmark1  0x0000000f , 0x00002620 
+ 00009685  0x00000c5b fetch  0x00000002 , 0x0000015f 
+ 00009686  0x00000c5c arg  0x000002e0 , 0x00000002 
+ 00009687  0x00000c5d isub  0x00000002 , 0x0000003e 
+ 00009688  0x00000c5e branch  0x0000263d , 0x00000002 
+ 00009689  0x00000c5f fetch  0x00000001 , 0x00000261 
+ 00009690  0x00000c60 beq  0x00000001 , 0x000025dd 
+ 00009691  0x00000c61 beq  0x00000002 , 0x000025e1 
+ 00009692  0x00000c62 branch  0x0000264d 
+ 00009693  0x00000c64 arg  0x00001000 , 0x00000005 
+ 00009694  0x00000c65 fetch  0x00000002 , 0x0000025d 
+ 00009695  0x00000c66 iadd  0x00000005 , 0x00000005 
+ 00009696  0x00000c67 branch  0x000025e4 
+ 00009697  0x00000c69 arg  0x00001400 , 0x00000005 
+ 00009698  0x00000c6a fetch  0x00000002 , 0x0000025f 
+ 00009699  0x00000c6b iadd  0x00000005 , 0x00000005 
+ 00009700  0x00000c6d parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009701  0x00000c6e rshift3  0x0000000c , 0x0000003f 
+ 00009702  0x00000c6f istore  0x00000001 , 0x00000005 
+ 00009703  0x00000c70 loop  0x000025e4 
+ 00009704  0x00000c72 bpatch  0x0000005f , 0x0000400b 
+ 00009705  0x00000c73 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009706  0x00000c74 branch  0x00002637 , 0x00000006 
+ 00009707  0x00000c75 fetch  0x00000001 , 0x00004363 
+ 00009708  0x00000c76 beq  0x00000001 , 0x0000264d 
+ 00009709  0x00000c77 bmark1  0x00000011 , 0x0000260d 
+ 00009710  0x00000c78 bmark1  0x0000000f , 0x0000264a 
+ 00009711  0x00000c79 fetch  0x00000001 , 0x00000180 
+ 00009712  0x00000c7a compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009713  0x00000c7b branch  0x0000260d , 0x00000001 
+ 00009714  0x00000c7c fetch  0x00000002 , 0x0000015f 
+ 00009715  0x00000c7d branch  0x0000260d , 0x00000034 
+ 00009716  0x00000c7e bpatch  0x00000060 , 0x0000400c 
+ 00009717  0x00000c7f fetch  0x00000001 , 0x00000261 
+ 00009718  0x00000c80 beq  0x00000001 , 0x000025f9 
+ 00009719  0x00000c81 beq  0x00000002 , 0x00002603 
+ 00009720  0x00000c82 branch  0x00002a8c 
+ 00009721  0x00000c84 fetch  0x00000002 , 0x0000025d 
+ 00009722  0x00000c85 fetcht  0x00000002 , 0x0000015f 
+ 00009723  0x00000c86 iadd  0x00000002 , 0x0000003f 
+ 00009724  0x00000c87 store  0x00000002 , 0x0000025d 
+ 00009725  0x00000c88 beq  0x00000000 , 0x00002a8c 
+ 00009726  0x00000c89 fetcht  0x00000002 , 0x00001000 
+ 00009727  0x00000c8a increase  0x00000004 , 0x00000002 
+ 00009728  0x00000c8b isub  0x00000002 , 0x0000003e 
+ 00009729  0x00000c8c call  0x00002747 , 0x00000005 
+ 00009730  0x00000c8d branch  0x0000260d 
+ 00009731  0x00000c8f fetch  0x00000002 , 0x0000025f 
+ 00009732  0x00000c90 fetcht  0x00000002 , 0x0000015f 
+ 00009733  0x00000c91 iadd  0x00000002 , 0x0000003f 
+ 00009734  0x00000c92 store  0x00000002 , 0x0000025f 
+ 00009735  0x00000c93 beq  0x00000000 , 0x00002a8c 
+ 00009736  0x00000c94 fetcht  0x00000002 , 0x00001400 
+ 00009737  0x00000c95 add  0x00000002 , 0x00000004 , 0x00000002 
+ 00009738  0x00000c96 isub  0x00000002 , 0x0000003e 
+ 00009739  0x00000c97 call  0x0000274b , 0x00000005 
+ 00009740  0x00000c98 branch  0x0000260d 
+ 00009741  0x00000c9a bpatch  0x00000061 , 0x0000400c 
+ 00009742  0x00000c9b fetcht  0x00000001 , 0x0000004c 
+ 00009743  0x00000c9c fetch  0x00000001 , 0x00000180 
+ 00009744  0x00000c9d compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009745  0x00000c9e setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00009746  0x00000c9f nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00009747  0x00000ca0 storet  0x00000001 , 0x0000004c 
+ 00009748  0x00000ca1 nbranch  0x00002616 , 0x00000001 
+ 00009749  0x00000ca2 set1  0x00000001 , 0x00000000 
+ 00009750  0x00000ca4 bmark0  0x00000011 , 0x00002620 
+ 00009751  0x00000ca5 isolate1  0x00000006 , 0x00000002 
+ 00009752  0x00000ca6 branch  0x00002620 , 0x00000001 
+ 00009753  0x00000ca7 fetch  0x00000002 , 0x000000fa 
+ 00009754  0x00000ca8 increase  0x00000001 , 0x0000003f 
+ 00009755  0x00000ca9 store  0x00000002 , 0x000000fa 
+ 00009756  0x00000caa set1  0x00000005 , 0x00000000 
+ 00009757  0x00000cab set0  0x00000007 , 0x00000002 
+ 00009758  0x00000cac set0  0x00000001 , 0x00000000 
+ 00009759  0x00000cad storet  0x00000001 , 0x0000004c 
+ 00009760  0x00000caf bpatch  0x00000062 , 0x0000400c 
+ 00009761  0x00000cb0 fetcht  0x00000001 , 0x0000015e 
+ 00009762  0x00000cb1 fetch  0x00000001 , 0x00000047 
+ 00009763  0x00000cb2 set1  0x00000005 , 0x0000003f 
+ 00009764  0x00000cb3 isolate1  0x00000002 , 0x00000002 
+ 00009765  0x00000cb4 setflag  0x00000001 , 0x00000002 , 0x0000003f 
+ 00009766  0x00000cb5 isolate1  0x0000000a , 0x00000000 
+ 00009767  0x00000cb6 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00009768  0x00000cb7 store  0x00000001 , 0x00000047 
+ 00009769  0x00000cb8 fetch  0x00000002 , 0x0000015f 
+ 00009770  0x00000cb9 nbranch  0x0000264d , 0x00000034 
+ 00009771  0x00000cba fetch  0x00000001 , 0x0000004c 
+ 00009772  0x00000cbb set0  0x00000007 , 0x0000003f 
+ 00009773  0x00000cbc store  0x00000001 , 0x0000004c 
+ 00009774  0x00000cbd fetch  0x00000001 , 0x00000180 
+ 00009775  0x00000cbe compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00009776  0x00000cc0 branch  0x0000264d 
+ 00009777  0x00000cc3 bpatch  0x00000063 , 0x0000400c 
+ 00009778  0x00000cc4 disable  0x0000002d 
+ 00009779  0x00000cc5 fetch  0x00000002 , 0x0000001a 
+ 00009780  0x00000cc6 increase  0x00000001 , 0x0000003f 
+ 00009781  0x00000cc7 store  0x00000002 , 0x0000001a 
+ 00009782  0x00000cc8 branch  0x0000264d 
+ 00009783  0x00000cca fetch  0x00000002 , 0x0000001c 
+ 00009784  0x00000ccb increase  0x00000001 , 0x0000003f 
+ 00009785  0x00000ccc store  0x00000002 , 0x0000001c 
+ 00009786  0x00000ccd call  0x0000263e 
+ 00009787  0x00000cce bmark0  0x00000011 , 0x0000263d 
+ 00009788  0x00000ccf set1  0x00000005 , 0x00000000 
+ 00009789  0x00000cd1 branch  0x0000264d 
+ 00009790  0x00000cd4 bpatch  0x00000064 , 0x0000400c 
+ 00009791  0x00000cd5 fetch  0x00000001 , 0x00000180 
+ 00009792  0x00000cd6 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009793  0x00000cd7 nbranch  0x00002646 , 0x00000001 
+ 00009794  0x00000cd9 fetcht  0x00000001 , 0x0000004c 
+ 00009795  0x00000cda set0  0x00000006 , 0x00000002 
+ 00009796  0x00000cdb storet  0x00000001 , 0x0000004c 
+ 00009797  0x00000cdc rtn 
+ 00009798  0x00000ce0 fetcht  0x00000001 , 0x0000004c 
+ 00009799  0x00000ce1 set0  0x00000007 , 0x00000002 
+ 00009800  0x00000ce2 storet  0x00000001 , 0x0000004c 
+ 00009801  0x00000ce3 branch  0x00004c0b 
+ 00009802  0x00000ce6 fetch  0x00000001 , 0x00000047 
+ 00009803  0x00000ce7 set1  0x00000005 , 0x0000003f 
+ 00009804  0x00000ce8 store  0x00000001 , 0x00000047 
+ 00009805  0x00000cea bpatch  0x00000065 , 0x0000400c 
+ 00009806  0x00000ceb disable  0x0000001d 
+ 00009807  0x00000cec disable  0x0000001c 
+ 00009808  0x00000ced disable  0x0000000d 
+ 00009809  0x00000cee disable  0x0000000c 
+ 00009810  0x00000cef disable  0x00000009 
+ 00009811  0x00000cf0 disable  0x0000000e 
+ 00009812  0x00000cf1 disable  0x00000007 
+ 00009813  0x00000cf2 branch  0x000028f9 , 0x00000021 
+ 00009814  0x00000cf3 until  0x0000003e , 0x00000027 
+ 00009815  0x00000cf4 nop  0x00000064 
+ 00009816  0x00000cf5 branch  0x000028f9 
+ 00009817  0x00000cf8 bpatch  0x00000066 , 0x0000400c 
+ 00009818  0x00000cf9 enable  0x00000009 
+ 00009819  0x00000cfa enable  0x0000000c 
+ 00009820  0x00000cfb parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00009821  0x00000cfc isolate1  0x0000003a , 0x0000003f 
+ 00009822  0x00000cfd setflag  0x00000001 , 0x00000000 , 0x00000000 
+ 00009823  0x00000cfe copy  0x00000020 , 0x00000002 
+ 00009824  0x00000cff ialigned  0x00000020 
+ 00009825  0x00000d00 ialigned  0x0000001e 
+ 00009826  0x00000d01 pulse  0x00000015 
+ 00009827  0x00000d02 setsect  0x00000002 , 0x000fffff 
+ 00009828  0x00000d03 setsect  0x00000003 , 0x0000ffff 
+ 00009829  0x00000d04 nop  0x00000020 
+ 00009830  0x00000d05 iverify  0x0000000d 
+ 00009831  0x00000d06 deposit  0x0000002c 
+ 00009832  0x00000d07 store  0x00000003 , 0x00000178 
+ 00009833  0x00000d08 deposit  0x0000002d 
+ 00009834  0x00000d09 store  0x00000001 , 0x0000017b 
+ 00009835  0x00000d0a copy  0x00000002 , 0x00000020 
+ 00009836  0x00000d0b branch  0x0000266e , 0x00000001 
+ 00009837  0x00000d0c branch  0x0000263d 
+ 00009838  0x00000d0e bpatch  0x00000067 , 0x0000400c 
+ 00009839  0x00000d0f parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00009840  0x00000d10 ialigned  0x0000001f 
+ 00009841  0x00000d11 ialigned  0x00000004 
+ 00009842  0x00000d12 ialigned  0x0000002e 
+ 00009843  0x00000d13 ialigned  0x00000012 
+ 00009844  0x00000d14 force  0x00000000 , 0x0000003f 
+ 00009845  0x00000d15 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009846  0x00000d16 branch  0x0000263d , 0x00000006 
+ 00009847  0x00000d17 setarg  0x0ffffffc 
+ 00009848  0x00000d18 iand  0x00000012 , 0x0000003f 
+ 00009849  0x00000d19 store  0x00000004 , 0x00000165 
+ 00009850  0x00000d1a deposit  0x0000001d 
+ 00009851  0x00000d1b store  0x00000003 , 0x00000175 
+ 00009852  0x00000d1c deposit  0x0000001c 
+ 00009853  0x00000d1d store  0x00000001 , 0x00000173 
+ 00009854  0x00000d1e deposit  0x00000004 
+ 00009855  0x00000d1f store  0x00000001 , 0x00000174 
+ 00009856  0x00000d20 deposit  0x0000002e 
+ 00009857  0x00000d21 store  0x00000002 , 0x0000017c 
+ 00009858  0x00000d22 deposit  0x00000021 
+ 00009859  0x00000d23 inject  0x00000001 , 0x00000020 
+ 00009860  0x00000d24 compare  0x00000002 , 0x00000001 , 0x0000000f 
+ 00009861  0x00000d25 setflag  0x00000001 , 0x0000000b , 0x00000000 
+ 00009862  0x00000d26 branch  0x0000264d 
+ 00009863  0x00000d29 bpatch  0x00000068 , 0x0000400d 
+ 00009864  0x00000d2a fetch  0x00000001 , 0x00000047 
+ 00009865  0x00000d2b rtnbit0  0x00000003 
+ 00009866  0x00000d2c set0  0x00000003 , 0x0000003f 
+ 00009867  0x00000d2d setflip  0x00000006 , 0x0000003f 
+ 00009868  0x00000d2e store  0x00000001 , 0x00000047 
+ 00009869  0x00000d2f fetch  0x00000001 , 0x000040c5 
+ 00009870  0x00000d30 beq  0x00000013 , 0x0000269c 
+ 00009871  0x00000d31 rtneq  0x00000007 
+ 00009872  0x00000d32 fetch  0x00000001 , 0x0000004b 
+ 00009873  0x00000d33 rtnbit0  0x00000006 , 0x0000003f 
+ 00009874  0x00000d34 set0  0x00000006 , 0x0000003f 
+ 00009875  0x00000d35 set1  0x00000007 , 0x0000003f 
+ 00009876  0x00000d36 store  0x00000001 , 0x0000004b 
+ 00009877  0x00000d37 set0  0x00000002 , 0x00000000 
+ 00009878  0x00000d38 fetch  0x00000002 , 0x00004246 
+ 00009879  0x00000d39 nrtn  0x00000034 
+ 00009880  0x00000d3a fetch  0x00000001 , 0x0000004b 
+ 00009881  0x00000d3b set0  0x00000007 , 0x0000003f 
+ 00009882  0x00000d3c store  0x00000001 , 0x0000004b 
+ 00009883  0x00000d3d branch  0x0000525d 
+ 00009884  0x00000d40 bpatch  0x00000069 , 0x0000400d 
+ 00009885  0x00000d41 fetch  0x00000001 , 0x000004b7 
+ 00009886  0x00000d42 rshift  0x0000003f , 0x0000003f 
+ 00009887  0x00000d43 beq  0x00000011 , 0x000026b8 
+ 00009888  0x00000d44 beq  0x00000012 , 0x000026c0 
+ 00009889  0x00000d45 beq  0x00000018 , 0x000026e9 
+ 00009890  0x00000d46 beq  0x0000007f , 0x000026a8 
+ 00009891  0x00000d47 rtnne  0x00000003 
+ 00009892  0x00000d48 fetch  0x00000001 , 0x000004b8 
+ 00009893  0x00000d49 beq  0x0000002b , 0x000026b0 
+ 00009894  0x00000d4a beq  0x00000011 , 0x000026ab 
+ 00009895  0x00000d4b rtn 
+ 00009896  0x00000d4e fetch  0x00000001 , 0x000004b8 
+ 00009897  0x00000d4f set1  0x00000007 , 0x0000003f 
+ 00009898  0x00000d50 rtn 
+ 00009899  0x00000d52 rtn  0x00000029 
+ 00009900  0x00000d53 fetch  0x00000001 , 0x00000030 
+ 00009901  0x00000d54 rtnbit1  0x00000004 
+ 00009902  0x00000d55 jam  0x00000031 , 0x0000007c 
+ 00009903  0x00000d56 rtn 
+ 00009904  0x00000d5a rtn  0x00000029 
+ 00009905  0x00000d5b fetch  0x00000001 , 0x00000031 
+ 00009906  0x00000d5c isolate1  0x00000004 , 0x0000003f 
+ 00009907  0x00000d5d branch  0x000026b5 , 0x00000001 
+ 00009908  0x00000d5f rtn 
+ 00009909  0x00000d61 set0  0x00000004 , 0x0000003f 
+ 00009910  0x00000d62 store  0x00000001 , 0x00000031 
+ 00009911  0x00000d63 rtn 
+ 00009912  0x00000d66 bpatch  0x0000006a , 0x0000400d 
+ 00009913  0x00000d67 fetch  0x00000001 , 0x0000004c 
+ 00009914  0x00000d68 set1  0x00000002 , 0x0000003f 
+ 00009915  0x00000d69 store  0x00000001 , 0x0000004c 
+ 00009916  0x00000d6a hjam  0x00000001 , 0x00008011 
+ 00009917  0x00000d6b fetch  0x00000001 , 0x00000030 
+ 00009918  0x00000d6c isolate1  0x00000004 , 0x0000003f 
+ 00009919  0x00000d6d rtn 
+ 00009920  0x00000d70 bpatch  0x0000006b , 0x0000400d 
+ 00009921  0x00000d71 fetch  0x00000001 , 0x0000004c 
+ 00009922  0x00000d72 set0  0x00000002 , 0x0000003f 
+ 00009923  0x00000d73 store  0x00000001 , 0x0000004c 
+ 00009924  0x00000d74 hjam  0x00000000 , 0x00008011 
+ 00009925  0x00000d75 rtn 
+ 00009926  0x00000d79 bpatch  0x0000006c , 0x0000400d 
+ 00009927  0x00000d7a copy  0x00000022 , 0x0000003f 
+ 00009928  0x00000d7b store  0x00000004 , 0x0000420c 
+ 00009929  0x00000d7c add  0x00000022 , 0x00000003 , 0x00000011 
+ 00009930  0x00000d7d branch  0x000026cc , 0x00000029 
+ 00009931  0x00000d7e add  0x00000028 , 0x00000003 , 0x00000011 
+ 00009932  0x00000d80 fetcht  0x00000002 , 0x00000032 
+ 00009933  0x00000d81 deposit  0x00000011 
+ 00009934  0x00000d82 set0  0x0000001b , 0x0000003f 
+ 00009935  0x00000d83 idiv  0x00000002 
+ 00009936  0x00000d84 fetch  0x00000002 , 0x00000075 
+ 00009937  0x00000d85 call  0x00007f86 
+ 00009938  0x00000d86 remainder  0x00000013 
+ 00009939  0x00000d87 isub  0x00000013 , 0x0000003f 
+ 00009940  0x00000d88 branch  0x000026d6 , 0x00000002 
+ 00009941  0x00000d89 iadd  0x00000002 , 0x0000003f 
+ 00009942  0x00000d8b iadd  0x00000011 , 0x0000003f 
+ 00009943  0x00000d8c store  0x00000004 , 0x00000034 
+ 00009944  0x00000d8d jam  0x00000000 , 0x0000455b 
+ 00009945  0x00000d8e fetch  0x00000001 , 0x00000030 
+ 00009946  0x00000d8f set1  0x00000001 , 0x0000003f 
+ 00009947  0x00000d90 store  0x00000001 , 0x00000030 
+ 00009948  0x00000d91 fetch  0x00000001 , 0x00000073 
+ 00009949  0x00000d92 store  0x00000001 , 0x0000008a 
+ 00009950  0x00000d93 setarg  0x00000000 
+ 00009951  0x00000d94 store  0x00000003 , 0x00004169 
+ 00009952  0x00000d95 store  0x00000003 , 0x0000416c 
+ 00009953  0x00000d96 store  0x00000001 , 0x00004159 
+ 00009954  0x00000d97 jam  0x0000000b , 0x00000a99 
+ 00009955  0x00000d98 call  0x00007d86 
+ 00009956  0x00000d99 fetch  0x00000002 , 0x000040c1 
+ 00009957  0x00000d9a store  0x00000002 , 0x0000003e 
+ 00009958  0x00000d9b nrtn  0x00000029 
+ 00009959  0x00000d9c add  0x00000004 , 0xffffffff , 0x00000007 
+ 00009960  0x00000d9d rtn 
+ 00009961  0x00000da0 bpatch  0x0000006d , 0x0000400d 
+ 00009962  0x00000da1 fetch  0x00000001 , 0x00000030 
+ 00009963  0x00000da2 rtnbit0  0x00000001 
+ 00009964  0x00000da3 set0  0x00000001 , 0x0000003f 
+ 00009965  0x00000da4 store  0x00000001 , 0x00000030 
+ 00009966  0x00000da5 fetch  0x00000002 , 0x000040bf 
+ 00009967  0x00000da6 store  0x00000002 , 0x0000003e 
+ 00009968  0x00000da7 disable  0x0000002b 
+ 00009969  0x00000da8 jam  0x0000000c , 0x00000a99 
+ 00009970  0x00000da9 branch  0x00007d86 
+ 00009971  0x00000dad bpatch  0x0000006e , 0x0000400d 
+ 00009972  0x00000dae enable  0x0000002e 
+ 00009973  0x00000daf fetch  0x00000001 , 0x00000030 
+ 00009974  0x00000db0 bbit1  0x00000001 , 0x00002700 
+ 00009975  0x00000db1 rtnmark1  0x00000011 
+ 00009976  0x00000db2 fetch  0x00000001 , 0x00000047 
+ 00009977  0x00000db3 rtnbit1  0x00000003 
+ 00009978  0x00000db4 fetch  0x00000001 , 0x00000048 
+ 00009979  0x00000db5 nrtn  0x00000034 
+ 00009980  0x00000db6 fetch  0x00000001 , 0x0000004b 
+ 00009981  0x00000db7 rtnbit1  0x00000006 
+ 00009982  0x00000db9 force  0x00000000 , 0x0000003f 
+ 00009983  0x00000dba rtn 
+ 00009984  0x00000dbd bbit0  0x00000002 , 0x0000270f 
+ 00009985  0x00000dbe fetch  0x00000001 , 0x0000008a 
+ 00009986  0x00000dbf beq  0x00000002 , 0x00002706 
+ 00009987  0x00000dc0 fetch  0x00000001 , 0x00000047 
+ 00009988  0x00000dc1 bbit1  0x00000003 , 0x00002718 
+ 00009989  0x00000dc2 bmark0  0x00000008 , 0x00002718 
+ 00009990  0x00000dc4 nbranch  0x00002718 , 0x00000029 
+ 00009991  0x00000dc5 fetch  0x00000001 , 0x00000048 
+ 00009992  0x00000dc6 nbranch  0x00002718 , 0x00000034 
+ 00009993  0x00000dc8 fetch  0x00000001 , 0x000000ef 
+ 00009994  0x00000dc9 increase  0xffffffff , 0x0000003f 
+ 00009995  0x00000dca store  0x00000001 , 0x000000ef 
+ 00009996  0x00000dcb nbranch  0x000026fe , 0x00000034 
+ 00009997  0x00000dcc jam  0x00000010 , 0x000000ef 
+ 00009998  0x00000dcd branch  0x00002718 
+ 00009999  0x00000dd5 fetch  0x00000001 , 0x0000008a 
+ 00010000  0x00000dd6 bne  0x00000001 , 0x00002718 
+ 00010001  0x00000dd7 fetch  0x00000001 , 0x0000008b 
+ 00010002  0x00000dd8 branch  0x00002718 , 0x00000034 
+ 00010003  0x00000dd9 increase  0xffffffff , 0x0000003f 
+ 00010004  0x00000dda store  0x00000001 , 0x0000008b 
+ 00010005  0x00000ddb fetch  0x00000001 , 0x00000047 
+ 00010006  0x00000ddc rtnbit1  0x00000003 
+ 00010007  0x00000ddd nrtn  0x0000002d 
+ 00010008  0x00000ddf fetch  0x00000001 , 0x0000008a 
+ 00010009  0x00000de0 increase  0xffffffff , 0x0000003f 
+ 00010010  0x00000de1 store  0x00000001 , 0x0000008a 
+ 00010011  0x00000de2 rtn 
+ 00010012  0x00000dee bpatch  0x0000006f , 0x0000400d 
+ 00010013  0x00000def disable  0x00000010 
+ 00010014  0x00000df0 copy  0x00000002 , 0x0000001b 
+ 00010015  0x00000df1 call  0x00002260 
+ 00010016  0x00000df2 disable  0x00000028 
+ 00010017  0x00000df3 nrtn  0x00000005 
+ 00010018  0x00000df4 force  0x00000000 , 0x0000001b 
+ 00010019  0x00000df5 enable  0x00000028 
+ 00010020  0x00000df6 rtn 
+ 00010021  0x00000dfa fetch  0x00000001 , 0x00004158 
+ 00010022  0x00000dfb icompare  0x000000ff , 0x00000004 
+ 00010023  0x00000dfc rtn 
+ 00010024  0x00000e00 bpatch  0x00000070 , 0x0000400e 
+ 00010025  0x00000e01 set0  0x00000001 , 0x00000000 
+ 00010026  0x00000e03 jam  0x00000000 , 0x0000026a 
+ 00010027  0x00000e04 fetch  0x00000001 , 0x00000263 
+ 00010028  0x00000e05 rtn  0x00000034 
+ 00010029  0x00000e06 isolate1  0x00000000 , 0x0000003f 
+ 00010030  0x00000e07 arg  0x00001000 , 0x00000006 
+ 00010031  0x00000e08 call  0x00004d79 , 0x00000001 
+ 00010032  0x00000e09 bpatch  0x00000071 , 0x0000400e 
+ 00010033  0x00000e0a fetch  0x00000001 , 0x0000026a 
+ 00010034  0x00000e0b beq  0x00000001 , 0x0000273b 
+ 00010035  0x00000e0d jam  0x00000000 , 0x0000026a 
+ 00010036  0x00000e0e fetch  0x00000001 , 0x00000263 
+ 00010037  0x00000e0f rtnbit0  0x00000001 
+ 00010038  0x00000e10 arg  0x00001400 , 0x00000006 
+ 00010039  0x00000e11 call  0x00004d79 
+ 00010040  0x00000e12 fetch  0x00000001 , 0x0000026a 
+ 00010041  0x00000e13 beq  0x00000001 , 0x00002741 
+ 00010042  0x00000e14 rtn 
+ 00010043  0x00000e17 fetch  0x00000001 , 0x00000263 
+ 00010044  0x00000e18 set0  0x00000000 , 0x0000003f 
+ 00010045  0x00000e19 store  0x00000001 , 0x00000263 
+ 00010046  0x00000e1a setarg  0x00000000 
+ 00010047  0x00000e1b store  0x00000002 , 0x0000025d 
+ 00010048  0x00000e1c rtn 
+ 00010049  0x00000e1e fetch  0x00000001 , 0x00000263 
+ 00010050  0x00000e1f set0  0x00000001 , 0x0000003f 
+ 00010051  0x00000e20 store  0x00000001 , 0x00000263 
+ 00010052  0x00000e21 setarg  0x00000000 
+ 00010053  0x00000e22 store  0x00000002 , 0x0000025f 
+ 00010054  0x00000e23 rtn 
+ 00010055  0x00000e26 fetch  0x00000001 , 0x00000263 
+ 00010056  0x00000e27 set1  0x00000000 , 0x0000003f 
+ 00010057  0x00000e28 store  0x00000001 , 0x00000263 
+ 00010058  0x00000e29 rtn 
+ 00010059  0x00000e2c fetch  0x00000001 , 0x00000263 
+ 00010060  0x00000e2d set1  0x00000001 , 0x0000003f 
+ 00010061  0x00000e2e store  0x00000001 , 0x00000263 
+ 00010062  0x00000e2f rtn 
+ 00010063  0x00000e36 bpatch  0x00000072 , 0x0000400e 
+ 00010064  0x00000e37 add  0x00000028 , 0x00000001 , 0x00000021 
+ 00010065  0x00000e38 call  0x000028ea 
+ 00010066  0x00000e39 force  0x00000003 , 0x00000024 
+ 00010067  0x00000e3a call  0x000028d2 
+ 00010068  0x00000e3b call  0x00002a51 
+ 00010069  0x00000e3c call  0x00002a5f 
+ 00010070  0x00000e3d branch  0x00002a64 
+ 00010071  0x00000e41 bpatch  0x00000073 , 0x0000400e 
+ 00010072  0x00000e42 call  0x00002a4d 
+ 00010073  0x00000e43 deposit  0x00000028 
+ 00010074  0x00000e44 fetcht  0x00000004 , 0x000040ca 
+ 00010075  0x00000e45 isub  0x00000002 , 0x0000003f 
+ 00010076  0x00000e46 rtnne  0x00000001 
+ 00010077  0x00000e47 compare  0x00000000 , 0x00000001 , 0x0000001f 
+ 00010078  0x00000e48 nbranch  0x00002761 , 0x00000001 
+ 00010079  0x00000e49 fetch  0x00000001 , 0x00000019 
+ 00010080  0x00000e4a rtn  0x00000034 
+ 00010081  0x00000e4c call  0x0000274f 
+ 00010082  0x00000e4e compare  0x00000010 , 0x00000001 , 0x0000001f 
+ 00010083  0x00000e4f branch  0x0000264d , 0x00000001 
+ 00010084  0x00000e50 rshift  0x00000021 , 0x00000002 
+ 00010085  0x00000e51 or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00010086  0x00000e53 bpatch  0x00000074 , 0x0000400e 
+ 00010087  0x00000e54 enable  0x00000007 
+ 00010088  0x00000e55 enable  0x0000000a 
+ 00010089  0x00000e56 enable  0x0000001b 
+ 00010090  0x00000e57 set0  0x00000010 , 0x00000000 
+ 00010091  0x00000e58 deposit  0x00000004 
+ 00010092  0x00000e59 inject  0x00000003 , 0x00000003 
+ 00010093  0x00000e5a deposit  0x00000001 
+ 00010094  0x00000e5b inject  0x00000003 , 0x00000004 
+ 00010095  0x00000e5c fetch  0x00000001 , 0x00000047 
+ 00010096  0x00000e5d inject  0x00000000 , 0x00000004 
+ 00010097  0x00000e5e inject  0x00000003 , 0x00000003 
+ 00010098  0x00000e5f enable  0x00000008 
+ 00010099  0x00000e60 inject  0x00000003 , 0x00000008 
+ 00010100  0x00000e61 disable  0x0000001b 
+ 00010101  0x00000e62 disable  0x00000008 
+ 00010102  0x00000e63 disable  0x0000000a 
+ 00010103  0x00000e64 set0  0x00000002 , 0x00000015 
+ 00010104  0x00000e65 arg  0x00000000 , 0x00000002 
+ 00010105  0x00000e66 call  0x00002a1c 
+ 00010106  0x00000e67 bpatch  0x00000075 , 0x0000400e 
+ 00010107  0x00000e68 and  0x00000001 , 0x0000001f , 0x0000003f 
+ 00010108  0x00000e69 beq  0x00000013 , 0x000027b4 
+ 00010109  0x00000e6a beq  0x00000000 , 0x0000264d 
+ 00010110  0x00000e6b beq  0x00000001 , 0x0000264d 
+ 00010111  0x00000e6c beq  0x00000002 , 0x00002797 
+ 00010112  0x00000e6d beq  0x00000003 , 0x000027c5 
+ 00010113  0x00000e6e beq  0x00000004 , 0x000027cb 
+ 00010114  0x00000e6f beq  0x00000007 , 0x0000278c 
+ 00010115  0x00000e70 beq  0x00000008 , 0x000027ca 
+ 00010116  0x00000e71 arg  0x00000004 , 0x00000002 
+ 00010117  0x00000e72 call  0x00002a1c 
+ 00010118  0x00000e73 beq  0x0000000a , 0x000027c7 
+ 00010119  0x00000e74 beq  0x0000000b , 0x000027cd 
+ 00010120  0x00000e75 arg  0x00000008 , 0x00000002 
+ 00010121  0x00000e76 call  0x00002a1c 
+ 00010122  0x00000e77 beq  0x0000000f , 0x000027cd 
+ 00010123  0x00000e78 branch  0x000027c7 
+ 00010124  0x00000e7c bpatch  0x00000076 , 0x0000400e 
+ 00010125  0x00000e7d enable  0x0000001d 
+ 00010126  0x00000e7e enable  0x00000009 
+ 00010127  0x00000e7f enable  0x0000000e 
+ 00010128  0x00000e80 force  0x0000001e , 0x00000039 
+ 00010129  0x00000e81 arg  0x000000b3 , 0x00000006 
+ 00010130  0x00000e83 ifetch  0x00000001 , 0x00000006 
+ 00010131  0x00000e84 inject  0x00000003 , 0x00000008 
+ 00010132  0x00000e85 loop  0x00002792 
+ 00010133  0x00000e86 bmark1  0x00000007 , 0x000027f7 
+ 00010134  0x00000e87 branch  0x0000264d 
+ 00010135  0x00000e8a bpatch  0x00000077 , 0x0000400e 
+ 00010136  0x00000e8b fetch  0x00000001 , 0x00000181 
+ 00010137  0x00000e8c icopy  0x00000004 
+ 00010138  0x00000e8d fetch  0x00000001 , 0x00000090 
+ 00010139  0x00000e8e icopy  0x0000001c 
+ 00010140  0x00000e8f fetch  0x00000003 , 0x000040aa 
+ 00010141  0x00000e90 icopy  0x0000001d 
+ 00010142  0x00000e91 fetch  0x00000002 , 0x000040a4 
+ 00010143  0x00000e92 icopy  0x0000002e 
+ 00010144  0x00000e93 enable  0x00000009 
+ 00010145  0x00000e94 enable  0x0000001c 
+ 00010146  0x00000e95 copy  0x00000020 , 0x00000011 
+ 00010147  0x00000e96 call  0x000028e2 
+ 00010148  0x00000e97 pulse  0x00000015 
+ 00010149  0x00000e98 nop  0x00000020 
+ 00010150  0x00000e99 copy  0x00000021 , 0x0000000b 
+ 00010151  0x00000e9a fetch  0x00000004 , 0x00000161 
+ 00010152  0x00000e9b icopy  0x00000021 
+ 00010153  0x00000e9c preload  0x0000001e 
+ 00010154  0x00000e9d set1  0x0000003a , 0x0000003f 
+ 00010155  0x00000e9e inject  0x00000003 , 0x00000048 
+ 00010156  0x00000e9f preload  0x0000001f 
+ 00010157  0x00000ea0 inject  0x00000003 , 0x00000048 
+ 00010158  0x00000ea1 copy  0x0000000b , 0x00000021 
+ 00010159  0x00000ea2 copy  0x00000011 , 0x00000020 
+ 00010160  0x00000ea3 enable  0x00000008 
+ 00010161  0x00000ea4 inject  0x00000003 , 0x00000010 
+ 00010162  0x00000ea5 disable  0x00000008 
+ 00010163  0x00000ea6 branch  0x0000264d 
+ 00010164  0x00000ea9 bpatch  0x00000078 , 0x0000400f 
+ 00010165  0x00000eaa enable  0x0000000e 
+ 00010166  0x00000eab enable  0x00000009 
+ 00010167  0x00000eac enable  0x0000001c 
+ 00010168  0x00000ead fetch  0x00000001 , 0x000004b6 
+ 00010169  0x00000eae and  0x0000003f , 0x000001f8 , 0x00000002 
+ 00010170  0x00000eaf arg  0x000004b6 , 0x00000006 
+ 00010171  0x00000eb0 increase  0x00000008 , 0x00000002 
+ 00010172  0x00000eb2 add  0x00000002 , 0xffffffb8 , 0x00000013 
+ 00010173  0x00000eb3 nbranch  0x000027c2 , 0x00000002 
+ 00010174  0x00000eb4 ifetch  0x00000009 , 0x00000006 
+ 00010175  0x00000eb5 inject  0x00000003 , 0x00000048 
+ 00010176  0x00000eb6 copy  0x00000013 , 0x00000002 
+ 00010177  0x00000eb7 branch  0x000027bc 
+ 00010178  0x00000eb9 ifetch  0x00000009 , 0x00000006 
+ 00010179  0x00000eba iinject  0x00000003 , 0x00000002 
+ 00010180  0x00000ebb branch  0x000027f7 
+ 00010181  0x00000ebe enable  0x0000001c 
+ 00010182  0x00000ebf branch  0x000027d0 
+ 00010183  0x00000ec2 enable  0x0000001c 
+ 00010184  0x00000ec3 set1  0x00000010 , 0x00000000 
+ 00010185  0x00000ec4 branch  0x000027d0 
+ 00010186  0x00000ec7 set1  0x00000002 , 0x00000015 
+ 00010187  0x00000ec9 enable  0x0000001d 
+ 00010188  0x00000eca branch  0x000027d0 
+ 00010189  0x00000ece set1  0x00000002 , 0x00000015 
+ 00010190  0x00000ecf enable  0x0000001d 
+ 00010191  0x00000ed0 set1  0x00000010 , 0x00000000 
+ 00010192  0x00000ed3 bpatch  0x00000079 , 0x0000400f 
+ 00010193  0x00000ed4 fetch  0x00000001 , 0x0000004c 
+ 00010194  0x00000ed5 bbit0  0x00000005 , 0x000027e5 
+ 00010195  0x00000ed6 sub  0x00000001 , 0x00000003 , 0x0000003e 
+ 00010196  0x00000ed7 branch  0x000027e5 , 0x00000002 
+ 00010197  0x00000ed8 disable  0x0000000e 
+ 00010198  0x00000ed9 disable  0x0000001c 
+ 00010199  0x00000eda enable  0x0000001d 
+ 00010200  0x00000edb disable  0x00000007 
+ 00010201  0x00000edc set1  0x00000001 , 0x00000015 
+ 00010202  0x00000edd isolate1  0x00000002 , 0x00000015 
+ 00010203  0x00000ede branch  0x000027df , 0x00000001 
+ 00010204  0x00000edf setarg  0x000abeee 
+ 00010205  0x00000ee0 inject  0x00000003 , 0x00000014 
+ 00010206  0x00000ee1 branch  0x000027e3 
+ 00010207  0x00000ee3 setarg  0x005faeba 
+ 00010208  0x00000ee4 inject  0x00000003 , 0x00000018 
+ 00010209  0x00000ee5 setarg  0x00000012 
+ 00010210  0x00000ee6 inject  0x00000003 , 0x00000006 
+ 00010211  0x00000ee8 enable  0x00000007 
+ 00010212  0x00000ee9 set1  0x00000010 , 0x00000000 
+ 00010213  0x00000eeb enable  0x0000000e 
+ 00010214  0x00000eec enable  0x00000009 
+ 00010215  0x00000eed bmark1  0x00000005 , 0x00002800 
+ 00010216  0x00000eee fetch  0x00000001 , 0x000041db 
+ 00010217  0x00000eef inject  0x00000003 , 0x00000003 
+ 00010218  0x00000ef0 fetch  0x00000002 , 0x000041dc 
+ 00010219  0x00000ef1 iforce  0x00000039 
+ 00010220  0x00000ef2 bmark1  0x00000010 , 0x000027ef 
+ 00010221  0x00000ef3 inject  0x00000003 , 0x00000005 
+ 00010222  0x00000ef4 branch  0x000027f0 
+ 00010223  0x00000ef6 inject  0x00000003 , 0x0000000d 
+ 00010224  0x00000ef8 deposit  0x00000039 
+ 00010225  0x00000ef9 branch  0x000027f7 , 0x00000034 
+ 00010226  0x00000efa fetch  0x00000002 , 0x0000016f 
+ 00010227  0x00000efb iforce  0x00000006 
+ 00010228  0x00000efd ifetch  0x00000001 , 0x00000006 
+ 00010229  0x00000efe inject  0x00000003 , 0x00000008 
+ 00010230  0x00000eff loop  0x000027f4 
+ 00010231  0x00000f03 enable  0x00000008 
+ 00010232  0x00000f04 inject  0x00000003 , 0x00000010 
+ 00010233  0x00000f05 disable  0x00000008 
+ 00010234  0x00000f06 call  0x000024c1 
+ 00010235  0x00000f07 fetch  0x00000001 , 0x0000004c 
+ 00010236  0x00000f08 bbit0  0x00000005 , 0x0000264d 
+ 00010237  0x00000f09 force  0x00000000 , 0x0000003f 
+ 00010238  0x00000f0a inject  0x00000003 , 0x00000006 
+ 00010239  0x00000f0b branch  0x0000264d 
+ 00010240  0x00000f0f bpatch  0x0000007a , 0x0000400f 
+ 00010241  0x00000f10 bmark1  0x00000010 , 0x00002808 
+ 00010242  0x00000f12 fetch  0x00000001 , 0x00000180 
+ 00010243  0x00000f13 inject  0x00000003 , 0x00000003 
+ 00010244  0x00000f14 fetch  0x00000001 , 0x0000015f 
+ 00010245  0x00000f15 iforce  0x00000013 
+ 00010246  0x00000f16 inject  0x00000003 , 0x00000005 
+ 00010247  0x00000f17 branch  0x0000280d 
+ 00010248  0x00000f19 fetch  0x00000001 , 0x00000180 
+ 00010249  0x00000f1a inject  0x00000003 , 0x00000003 
+ 00010250  0x00000f1b fetch  0x00000002 , 0x0000015f 
+ 00010251  0x00000f1c iforce  0x00000013 
+ 00010252  0x00000f1d inject  0x00000003 , 0x0000000d 
+ 00010253  0x00000f1f arg  0x00000551 , 0x00000006 
+ 00010254  0x00000f21 copy  0x00000013 , 0x0000003e 
+ 00010255  0x00000f22 branch  0x00002814 , 0x00000005 
+ 00010256  0x00000f23 ifetch  0x00000001 , 0x00000006 
+ 00010257  0x00000f24 inject  0x00000003 , 0x00000008 
+ 00010258  0x00000f25 increase  0xffffffff , 0x00000013 
+ 00010259  0x00000f26 branch  0x0000280e 
+ 00010260  0x00000f28 fetch  0x00000002 , 0x000000fc 
+ 00010261  0x00000f29 increase  0x00000001 , 0x0000003f 
+ 00010262  0x00000f2a store  0x00000002 , 0x000000fc 
+ 00010263  0x00000f2b branch  0x000027f7 
+ 00010264  0x00000f2f fetch  0x00000004 , 0x00000165 
+ 00010265  0x00000f30 add  0x0000003f , 0x00000007 , 0x00000011 
+ 00010266  0x00000f31 fetch  0x00000002 , 0x00000171 
+ 00010267  0x00000f32 nbranch  0x0000281e , 0x00000034 
+ 00010268  0x00000f33 increase  0xfffffffd , 0x00000011 
+ 00010269  0x00000f34 branch  0x00002826 
+ 00010270  0x00000f36 mul32  0x0000003f , 0x0000000c , 0x0000003f 
+ 00010271  0x00000f37 hfetcht  0x00000002 , 0x00008040 
+ 00010272  0x00000f38 increase  0x00000001 , 0x00000002 
+ 00010273  0x00000f3a isub  0x00000002 , 0x0000003f 
+ 00010274  0x00000f3b nbranch  0x00002825 , 0x00000002 
+ 00010275  0x00000f3c increase  0xffffffff , 0x00000011 
+ 00010276  0x00000f3d branch  0x00002821 
+ 00010277  0x00000f3f sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00010278  0x00000f41 until  0x0000003e , 0x00000023 
+ 00010279  0x00000f42 compare  0x00000000 , 0x00000022 , 0x00000003 
+ 00010280  0x00000f43 nbranch  0x00002826 , 0x00000001 
+ 00010281  0x00000f44 iforce  0x00000029 
+ 00010282  0x00000f45 copy  0x00000011 , 0x00000028 
+ 00010283  0x00000f46 iforce  0x00000029 
+ 00010284  0x00000f47 rtn 
+ 00010285  0x00000f4b bpatch  0x0000007b , 0x0000400f 
+ 00010286  0x00000f4c until  0x0000003e , 0x00000022 
+ 00010287  0x00000f4d deposit  0x0000001a 
+ 00010288  0x00000f4e iforce  0x00000006 
+ 00010289  0x00000f4f rshift16 , 0x0000003f , 0x0000003f 
+ 00010290  0x00000f50 isub  0x00000022 , 0x00000039 
+ 00010291  0x00000f51 and_into  0x00000003 , 0x00000039 
+ 00010292  0x00000f52 nbranch  0x00002837 , 0x00000005 
+ 00010293  0x00000f53 force  0x00000000 , 0x0000003f 
+ 00010294  0x00000f54 branch  0x0000283b 
+ 00010295  0x00000f56 arg  0x00000ea6 , 0x00000002 
+ 00010296  0x00000f57 force  0x00000000 , 0x0000003f 
+ 00010297  0x00000f59 iadd  0x00000002 , 0x0000003f 
+ 00010298  0x00000f5a loop  0x00002839 
+ 00010299  0x00000f5c iadd  0x00000006 , 0x0000003f 
+ 00010300  0x00000f5d div  0x0000003f , 0x0000000c 
+ 00010301  0x00000f5e call  0x00007f86 
+ 00010302  0x00000f5f quotient  0x0000003f 
+ 00010303  0x00000f60 store  0x00000002 , 0x00000171 
+ 00010304  0x00000f61 rtn 
+ 00010305  0x00000f64 bpatch  0x0000007c , 0x0000400f 
+ 00010306  0x00000f65 deposit  0x0000001a 
+ 00010307  0x00000f66 copy  0x00000019 , 0x00000002 
+ 00010308  0x00000f67 isub  0x00000002 , 0x0000003e 
+ 00010309  0x00000f68 nsetflag  0x00000002 , 0x0000002c , 0x0000003f 
+ 00010310  0x00000f69 isub  0x00000002 , 0x00000002 
+ 00010311  0x00000f6a setarg  0x00000ea6 
+ 00010312  0x00000f6b isolate0  0x0000000f , 0x00000002 
+ 00010313  0x00000f6c branch  0x0000284c , 0x00000001 
+ 00010314  0x00000f6d setarg  0xffff0ea6 
+ 00010315  0x00000f6e iadd  0x00000002 , 0x00000002 
+ 00010316  0x00000f70 storet  0x00000006 , 0x00000447 
+ 00010317  0x00000f71 rtn  0x00000036 
+ 00010318  0x00000f72 storet  0x00000006 , 0x00000038 
+ 00010319  0x00000f73 rtn 
+ 00010320  0x00000f76 disable  0x00000030 
+ 00010321  0x00000f77 fetch  0x00000006 , 0x00000447 
+ 00010322  0x00000f78 branch  0x00002854 , 0x00000036 
+ 00010323  0x00000f79 fetch  0x00000006 , 0x00000038 
+ 00010324  0x00000f7b iadd  0x00000019 , 0x00000030 
+ 00010325  0x00000f7c increase  0x0000000a , 0x00000030 
+ 00010326  0x00000f7d setarg  0x00000ea6 
+ 00010327  0x00000f7e isub  0x00000030 , 0x0000003f 
+ 00010328  0x00000f7f isolate0  0x0000000f , 0x0000003f 
+ 00010329  0x00000f80 branch  0x0000285e , 0x00000001 
+ 00010330  0x00000f81 setarg  0x0000f15a 
+ 00010331  0x00000f82 iadd  0x00000030 , 0x00000030 
+ 00010332  0x00000f84 copy  0x00000030 , 0x0000001a 
+ 00010333  0x00000f85 rtn 
+ 00010334  0x00000f87 force  0x00000000 , 0x0000003e 
+ 00010335  0x00000f88 branch  0x0000285c 
+ 00010336  0x00000f90 bpatch  0x0000007d , 0x0000400f 
+ 00010337  0x00000f91 call  0x00002918 
+ 00010338  0x00000f92 copy  0x00000021 , 0x0000003f 
+ 00010339  0x00000f93 and_into  0x00000180 , 0x0000003f 
+ 00010340  0x00000f94 compare  0x00000003 , 0x00000024 , 0x00000007 
+ 00010341  0x00000f95 nbranch  0x00002869 , 0x00000001 
+ 00010342  0x00000f96 rshift3  0x0000003f , 0x0000003f 
+ 00010343  0x00000f97 iadd  0x00000017 , 0x0000003f 
+ 00010344  0x00000f98 branch  0x0000286a 
+ 00010345  0x00000f9a copy  0x00000017 , 0x0000003f 
+ 00010346  0x00000f9c div  0x0000003f , 0x0000004f 
+ 00010347  0x00000f9d pulse  0x00000015 
+ 00010348  0x00000f9e call  0x00007f86 
+ 00010349  0x00000f9f remainder  0x00000011 
+ 00010350  0x00000fa0 add  0x00000011 , 0xffffffd8 , 0x00000002 
+ 00010351  0x00000fa1 branch  0x00002872 , 0x00000002 
+ 00010352  0x00000fa2 lshift  0x00000011 , 0x00000002 
+ 00010353  0x00000fa3 branch  0x00002874 
+ 00010354  0x00000fa5 lshift  0x00000002 , 0x00000002 
+ 00010355  0x00000fa6 increase  0x00000001 , 0x00000002 
+ 00010356  0x00000fa8 bpatch  0x0000007e , 0x0000400f 
+ 00010357  0x00000fa9 fetch  0x00000001 , 0x00000031 
+ 00010358  0x00000faa bbit0  0x00000003 , 0x00002885 
+ 00010359  0x00000fac fetch  0x00000004 , 0x000040d2 
+ 00010360  0x00000fad isub  0x00000021 , 0x0000003e 
+ 00010361  0x00000fae branch  0x00002885 , 0x00000002 
+ 00010362  0x00000faf call  0x000028a4 
+ 00010363  0x00000fb0 fetch  0x00000001 , 0x000040d9 
+ 00010364  0x00000fb1 rtn  0x00000034 
+ 00010365  0x00000fb2 fetch  0x00000001 , 0x00000031 
+ 00010366  0x00000fb3 set1  0x00000002 , 0x0000003f 
+ 00010367  0x00000fb4 store  0x00000001 , 0x00000031 
+ 00010368  0x00000fb5 fetch  0x00000005 , 0x000040e7 
+ 00010369  0x00000fb6 store  0x00000005 , 0x000040da 
+ 00010370  0x00000fb7 ifetch  0x00000005 , 0x00000006 
+ 00010371  0x00000fb8 store  0x00000005 , 0x000040df 
+ 00010372  0x00000fb9 call  0x000028a9 
+ 00010373  0x00000fbb fetch  0x00000001 , 0x00000031 
+ 00010374  0x00000fbc rtnbit0  0x00000002 
+ 00010375  0x00000fbd isolate1  0x00000001 , 0x00000021 
+ 00010376  0x00000fbe branch  0x000028a1 , 0x00000001 
+ 00010377  0x00000fbf rshift3  0x00000002 , 0x00000011 
+ 00010378  0x00000fc0 and  0x00000002 , 0x00000007 , 0x00000007 
+ 00010379  0x00000fc1 setarg  0x000040da 
+ 00010380  0x00000fc2 iadd  0x00000011 , 0x00000011 
+ 00010381  0x00000fc3 ifetch  0x00000001 , 0x00000011 
+ 00010382  0x00000fc4 qisolate0  0x0000003f 
+ 00010383  0x00000fc5 branch  0x00002892 , 0x00000001 
+ 00010384  0x00000fc6 deposit  0x00000002 
+ 00010385  0x00000fc7 branch  0x0000289e 
+ 00010386  0x00000fc9 fetch  0x00000001 , 0x000040e4 
+ 00010387  0x00000fca iforce  0x00000012 
+ 00010388  0x00000fcb deposit  0x00000021 
+ 00010389  0x00000fcc and_into  0x00000180 , 0x0000003f 
+ 00010390  0x00000fcd rshift3  0x0000003f , 0x0000003f 
+ 00010391  0x00000fce iadd  0x00000017 , 0x0000003f 
+ 00010392  0x00000fcf idiv  0x00000012 
+ 00010393  0x00000fd0 setarg  0x000040f2 
+ 00010394  0x00000fd1 call  0x00007f86 
+ 00010395  0x00000fd2 remainder  0x00000011 
+ 00010396  0x00000fd3 iadd  0x00000011 , 0x00000006 
+ 00010397  0x00000fd4 ifetch  0x00000001 , 0x00000006 
+ 00010398  0x00000fd6 store  0x00000001 , 0x000040e5 
+ 00010399  0x00000fd7 iforce  0x00000002 
+ 00010400  0x00000fd8 rtn 
+ 00010401  0x00000fdb fetch  0x00000001 , 0x000040e5 
+ 00010402  0x00000fdc iforce  0x00000002 
+ 00010403  0x00000fdd rtn 
+ 00010404  0x00000fe0 fetch  0x00000001 , 0x00000031 
+ 00010405  0x00000fe1 set0  0x00000002 , 0x0000003f 
+ 00010406  0x00000fe2 set0  0x00000003 , 0x0000003f 
+ 00010407  0x00000fe3 store  0x00000001 , 0x00000031 
+ 00010408  0x00000fe4 rtn 
+ 00010409  0x00000feb bpatch  0x0000007f , 0x0000400f 
+ 00010410  0x00000fec arg  0x000040f2 , 0x00000005 
+ 00010411  0x00000fed force  0x0000000a , 0x00000039 
+ 00010412  0x00000fee call  0x00007ec6 
+ 00010413  0x00000fef arg  0x000040f2 , 0x00000005 
+ 00010414  0x00000ff0 force  0x00000000 , 0x00000013 
+ 00010415  0x00000ff1 force  0x00000002 , 0x00000007 
+ 00010416  0x00000ff3 fetch  0x00000005 , 0x000040da 
+ 00010417  0x00000ff4 iforce  0x00000002 
+ 00010418  0x00000ff5 compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00010419  0x00000ff6 branch  0x000028b5 , 0x00000001 
+ 00010420  0x00000ff7 rshift  0x00000002 , 0x00000002 
+ 00010421  0x00000ff9 isolate0  0x00000000 , 0x00000002 
+ 00010422  0x00000ffa branch  0x000028b9 , 0x00000001 
+ 00010423  0x00000ffb deposit  0x00000013 
+ 00010424  0x00000ffc istore  0x00000001 , 0x00000005 
+ 00010425  0x00000ffe rshift2  0x00000002 , 0x00000002 
+ 00010426  0x00000fff increase  0x00000002 , 0x00000013 
+ 00010427  0x00001000 compare  0x00000028 , 0x00000013 , 0x000000fe 
+ 00010428  0x00001001 nbranch  0x000028c2 , 0x00000001 
+ 00010429  0x00001002 fetch  0x00000005 , 0x000040df 
+ 00010430  0x00001003 iforce  0x00000002 
+ 00010431  0x00001004 compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00010432  0x00001005 branch  0x000028c2 , 0x00000001 
+ 00010433  0x00001006 rshift  0x00000002 , 0x00000002 
+ 00010434  0x00001008 sub  0x00000013 , 0x0000004e , 0x0000003e 
+ 00010435  0x00001009 branch  0x000028b5 , 0x00000002 
+ 00010436  0x0000100a force  0x00000001 , 0x00000013 
+ 00010437  0x0000100b increase  0xffffffff , 0x00000007 
+ 00010438  0x0000100c nbranch  0x000028b0 , 0x00000005 
+ 00010439  0x0000100d arg  0x000040f2 , 0x00000011 
+ 00010440  0x0000100e deposit  0x00000005 
+ 00010441  0x0000100f isub  0x00000011 , 0x0000003f 
+ 00010442  0x00001010 store  0x00000001 , 0x000040e4 
+ 00010443  0x00001011 rtn 
+ 00010444  0x00001014 bpatch  0x00000080 , 0x00004010 
+ 00010445  0x00001015 call  0x00002860 
+ 00010446  0x00001016 fetch  0x00000001 , 0x0000017f 
+ 00010447  0x00001017 bbit0  0x00000005 , 0x000028d1 
+ 00010448  0x00001018 fetcht  0x00000001 , 0x000004cc 
+ 00010449  0x0000101a branch  0x0000291f 
+ 00010450  0x0000101e bpatch  0x00000081 , 0x00004010 
+ 00010451  0x0000101f call  0x00002860 
+ 00010452  0x00001020 fetch  0x00000001 , 0x0000017f 
+ 00010453  0x00001021 bbit0  0x00000004 , 0x000028d7 
+ 00010454  0x00001022 fetcht  0x00000001 , 0x000004cb 
+ 00010455  0x00001024 branch  0x00002933 
+ 00010456  0x00001028 force  0x00000000 , 0x0000002d 
+ 00010457  0x00001029 fetch  0x00000003 , 0x000040a7 
+ 00010458  0x0000102a iforce  0x0000002c 
+ 00010459  0x0000102b rtn 
+ 00010460  0x0000102e bpatch  0x00000082 , 0x00004010 
+ 00010461  0x0000102f fetch  0x00000001 , 0x000041d3 
+ 00010462  0x00001030 icopy  0x0000002d 
+ 00010463  0x00001031 fetch  0x00000003 , 0x000041d0 
+ 00010464  0x00001032 icopy  0x0000002c 
+ 00010465  0x00001033 rtn 
+ 00010466  0x00001036 bpatch  0x00000083 , 0x00004010 
+ 00010467  0x00001037 fetch  0x00000002 , 0x000040a4 
+ 00010468  0x00001038 icopy  0x0000002e 
+ 00010469  0x00001039 fetch  0x00000001 , 0x000040a3 
+ 00010470  0x0000103a icopy  0x0000002d 
+ 00010471  0x0000103b fetch  0x00000003 , 0x000040a0 
+ 00010472  0x0000103c icopy  0x0000002c 
+ 00010473  0x0000103d rtn 
+ 00010474  0x00001040 bpatch  0x00000084 , 0x00004010 
+ 00010475  0x00001041 fetch  0x00000002 , 0x00000044 
+ 00010476  0x00001042 icopy  0x0000002e 
+ 00010477  0x00001043 fetch  0x00000001 , 0x00000043 
+ 00010478  0x00001044 icopy  0x0000002d 
+ 00010479  0x00001045 fetch  0x00000003 , 0x00000040 
+ 00010480  0x00001046 icopy  0x0000002c 
+ 00010481  0x00001047 rtn 
+ 00010482  0x0000104b bmark1  0x00000020 , 0x000028f5 
+ 00010483  0x0000104c rtnmark0  0x0000001d 
+ 00010484  0x0000104d rtnmark0  0x0000001f 
+ 00010485  0x0000104f and_into  0xffffff00 , 0x0000002c 
+ 00010486  0x00001050 pulse  0x00000015 
+ 00010487  0x00001051 nop  0x00000020 
+ 00010488  0x00001052 rtn 
+ 00010489  0x00001056 bpatch  0x00000085 , 0x00004010 
+ 00010490  0x00001057 branch  0x0000290a , 0x00000021 
+ 00010491  0x00001058 hjam  0x000000d4 , 0x00000955 
+ 00010492  0x00001059 nop  0x00000004 
+ 00010493  0x0000105a hjam  0x000000d2 , 0x00000955 
+ 00010494  0x0000105b nop  0x00000004 
+ 00010495  0x0000105c hjam  0x000000d1 , 0x00000955 
+ 00010496  0x0000105d nop  0x00000004 
+ 00010497  0x0000105e fetch  0x00000001 , 0x000041de 
+ 00010498  0x0000105f beq  0x00000000 , 0x00002908 
+ 00010499  0x00001060 beq  0x00000001 , 0x00002915 
+ 00010500  0x00001061 beq  0x00000002 , 0x00002908 
+ 00010501  0x00001062 beq  0x00000003 , 0x00002915 
+ 00010502  0x00001063 beq  0x00000004 , 0x00002915 
+ 00010503  0x00001064 beq  0x00000020 , 0x00002915 
+ 00010504  0x00001067 hjam  0x000000d0 , 0x00000955 
+ 00010505  0x00001068 hjam  0x000000e0 , 0x00000956 
+ 00010506  0x0000106a force  0x00000000 , 0x00000015 
+ 00010507  0x0000106b disable  0x00000021 
+ 00010508  0x0000106c disable  0x00000020 
+ 00010509  0x0000106d pulse  0x0000001e 
+ 00010510  0x0000106e hjam  0x00000000 , 0x00008902 
+ 00010511  0x0000106f hjam  0x00000000 , 0x00008901 
+ 00010512  0x00001070 hjam  0x00000000 , 0x00008900 
+ 00010513  0x00001071 hjam  0x00000000 , 0x00008903 
+ 00010514  0x00001072 hjam  0x00000070 , 0x00008904 
+ 00010515  0x00001073 hjam  0x00000000 , 0x00008906 
+ 00010516  0x00001074 rtn 
+ 00010517  0x0000107a hjam  0x000000d0 , 0x00000955 
+ 00010518  0x0000107b hjam  0x000000c0 , 0x00000956 
+ 00010519  0x0000107c branch  0x0000290a 
+ 00010520  0x0000107f bpatch  0x00000086 , 0x00004010 
+ 00010521  0x00001080 hjam  0x00000000 , 0x00008902 
+ 00010522  0x00001081 hjam  0x00000000 , 0x00008901 
+ 00010523  0x00001082 hjam  0x00000018 , 0x00008900 
+ 00010524  0x00001083 hjam  0x000000a7 , 0x00008903 
+ 00010525  0x00001084 hjam  0x0000007f , 0x00008904 
+ 00010526  0x00001085 rtn 
+ 00010527  0x00001088 bpatch  0x00000087 , 0x00004010 
+ 00010528  0x0000108a storet  0x00000001 , 0x00000017 
+ 00010529  0x0000108b add  0x00000002 , 0x00000004 , 0x00000011 
+ 00010530  0x0000108c hjam  0x00000007 , 0x0000096d 
+ 00010531  0x0000108d branch  0x00002981 
+ 00010532  0x0000108f bpatch  0x00000088 , 0x00004011 
+ 00010533  0x00001090 hjam  0x000000cf , 0x00008901 
+ 00010534  0x00001091 nop  0x0000000a 
+ 00010535  0x00001092 hjam  0x000000ff , 0x00008900 
+ 00010536  0x00001093 hjam  0x000000af , 0x00008903 
+ 00010537  0x00001094 hjam  0x000000ff , 0x00008904 
+ 00010538  0x00001095 nop  0x0000000a 
+ 00010539  0x00001096 hjam  0x000000a0 , 0x00008902 
+ 00010540  0x00001097 rtn 
+ 00010541  0x0000109a fetch  0x00000001 , 0x000041e0 
+ 00010542  0x0000109b branch  0x00002931 , 0x00000034 
+ 00010543  0x0000109d add  0x00000002 , 0x00000002 , 0x00000011 
+ 00010544  0x0000109e rtn 
+ 00010545  0x000010a0 add  0x00000002 , 0x00000000 , 0x00000011 
+ 00010546  0x000010a1 rtn 
+ 00010547  0x000010a4 bpatch  0x00000089 , 0x00004011 
+ 00010548  0x000010a5 storet  0x00000001 , 0x00000017 
+ 00010549  0x000010a6 call  0x0000292d 
+ 00010550  0x000010a7 call  0x00002981 
+ 00010551  0x000010a8 setarg  0x00000500 
+ 00010552  0x000010a9 call  0x00002a8f 
+ 00010553  0x000010ab hjam  0x00000001 , 0x00008906 
+ 00010554  0x000010ac hjam  0x0000003c , 0x00008900 
+ 00010555  0x000010ad hjam  0x000000e0 , 0x00008901 
+ 00010556  0x000010ae hjam  0x00000012 , 0x0000096d 
+ 00010557  0x000010af nop  0x0000000a 
+ 00010558  0x000010b0 hjam  0x00000001 , 0x00008902 
+ 00010559  0x000010b1 hjam  0x0000003d , 0x00008902 
+ 00010560  0x000010b2 nop  0x0000000a 
+ 00010561  0x000010b3 hjam  0x000000b7 , 0x00008903 
+ 00010562  0x000010b4 nop  0x0000000a 
+ 00010563  0x000010b5 hjam  0x0000007f , 0x00008902 
+ 00010564  0x000010b6 fetch  0x00000001 , 0x000041de 
+ 00010565  0x000010b7 beq  0x00000000 , 0x0000294b 
+ 00010566  0x000010b8 beq  0x00000001 , 0x0000294f 
+ 00010567  0x000010b9 beq  0x00000002 , 0x00002953 
+ 00010568  0x000010ba beq  0x00000003 , 0x00002957 
+ 00010569  0x000010bb beq  0x00000004 , 0x0000295b 
+ 00010570  0x000010bc beq  0x00000020 , 0x0000295f 
+ 00010571  0x000010be hjam  0x000000f0 , 0x00000956 
+ 00010572  0x000010bf call  0x00002965 
+ 00010573  0x000010c0 hjam  0x000000d8 , 0x00000955 
+ 00010574  0x000010c1 rtn 
+ 00010575  0x000010c4 hjam  0x000000df , 0x00000956 
+ 00010576  0x000010c5 call  0x00002965 
+ 00010577  0x000010c6 hjam  0x000000df , 0x00000955 
+ 00010578  0x000010c7 rtn 
+ 00010579  0x000010ca hjam  0x000000ff , 0x00000956 
+ 00010580  0x000010cb call  0x00002965 
+ 00010581  0x000010cc hjam  0x000000df , 0x00000955 
+ 00010582  0x000010cd rtn 
+ 00010583  0x000010cf hjam  0x000000ce , 0x00000956 
+ 00010584  0x000010d0 call  0x00002965 
+ 00010585  0x000010d1 hjam  0x000000d8 , 0x00000955 
+ 00010586  0x000010d2 rtn 
+ 00010587  0x000010d5 hjam  0x000000cb , 0x00000956 
+ 00010588  0x000010d6 call  0x00002965 
+ 00010589  0x000010d7 hjam  0x000000d8 , 0x00000955 
+ 00010590  0x000010d8 rtn 
+ 00010591  0x000010db hjam  0x000000d0 , 0x00000955 
+ 00010592  0x000010dc hjam  0x000000c0 , 0x00000956 
+ 00010593  0x000010dd hjam  0x0000004c , 0x00000957 
+ 00010594  0x000010de hjam  0x0000006c , 0x00000958 
+ 00010595  0x000010df hjam  0x00000050 , 0x00000959 
+ 00010596  0x000010e0 rtn 
+ 00010597  0x000010e3 nop  0x00000004 
+ 00010598  0x000010e4 hjam  0x000000d1 , 0x00000955 
+ 00010599  0x000010e5 nop  0x00000004 
+ 00010600  0x000010e6 hjam  0x000000d2 , 0x00000955 
+ 00010601  0x000010e7 nop  0x00000004 
+ 00010602  0x000010e8 hjam  0x000000d4 , 0x00000955 
+ 00010603  0x000010e9 rtn 
+ 00010604  0x000010ed hjam  0x00000006 , 0x00008042 
+ 00010605  0x000010ef fetch  0x00000002 , 0x000040c3 
+ 00010606  0x000010f0 bbit0  0x0000000e , 0x0000296d 
+ 00010607  0x000010f1 iforce  0x00000006 
+ 00010608  0x000010f2 arg  0x00008900 , 0x00000002 
+ 00010609  0x000010f4 ifetch  0x00000001 , 0x00000006 
+ 00010610  0x000010f5 beq  0x000000ff , 0x00002977 
+ 00010611  0x000010f6 ior  0x00000002 , 0x00000005 
+ 00010612  0x000010f7 ifetch  0x00000001 , 0x00000006 
+ 00010613  0x000010f8 istore  0x00000001 , 0x00000005 
+ 00010614  0x000010f9 branch  0x00002971 
+ 00010615  0x000010fb bpatch  0x0000008a , 0x00004011 
+ 00010616  0x000010fc call  0x00002be5 
+ 00010617  0x000010fd call  0x000029c9 
+ 00010618  0x000010ff setarg  0x000007d0 
+ 00010619  0x00001100 iadd  0x00000022 , 0x0000003f 
+ 00010620  0x00001101 store  0x00000004 , 0x00000169 
+ 00010621  0x00001102 set1  0x00000003 , 0x00000015 
+ 00010622  0x00001103 force  0x00000000 , 0x00000015 
+ 00010623  0x00001104 ncall  0x00002998 , 0x0000002b 
+ 00010624  0x00001105 branch  0x000029ab 
+ 00010625  0x00001109 bpatch  0x0000008b , 0x00004011 
+ 00010626  0x0000110a setarg  0x00000960 
+ 00010627  0x0000110b iadd  0x00000011 , 0x00000002 
+ 00010628  0x0000110c fetch  0x00000001 , 0x000040bd 
+ 00010629  0x0000110d hjam  0x00000004 , 0x0000895f 
+ 00010630  0x0000110e imul32  0x00000002 , 0x0000003f 
+ 00010631  0x0000110f fetcht  0x00000001 , 0x000040be 
+ 00010632  0x00001110 idiv  0x00000002 
+ 00010633  0x00001111 call  0x00007f86 
+ 00010634  0x00001112 quotient  0x00000011 
+ 00010635  0x00001113 remainder  0x0000003f 
+ 00010636  0x00001114 lshift16  0x0000003f , 0x0000003f 
+ 00010637  0x00001115 lshift4  0x0000003f , 0x0000003f 
+ 00010638  0x00001116 idiv  0x00000002 
+ 00010639  0x00001117 call  0x00007f86 
+ 00010640  0x00001118 quotient  0x0000003f 
+ 00010641  0x00001119 lshift8  0x0000003f , 0x0000003f 
+ 00010642  0x0000111a lshift  0x0000003f , 0x0000003f 
+ 00010643  0x0000111b ior  0x00000011 , 0x0000003f 
+ 00010644  0x0000111c hstore  0x00000004 , 0x00008960 
+ 00010645  0x0000111d hjam  0x00000044 , 0x0000895f 
+ 00010646  0x0000111e hjam  0x000000c4 , 0x0000895f 
+ 00010647  0x0000111f rtn 
+ 00010648  0x00001123 bpatch  0x0000008c , 0x00004011 
+ 00010649  0x00001124 hjam  0x00000002 , 0x00008906 
+ 00010650  0x00001125 setarg  0x0003d090 
+ 00010651  0x00001126 call  0x00002a8f 
+ 00010652  0x00001127 hjam  0x0000007f , 0x00008900 
+ 00010653  0x00001128 nop  0x00000082 
+ 00010654  0x00001129 hjam  0x00000030 , 0x00008952 
+ 00010655  0x0000112a hjam  0x000000d0 , 0x00008901 
+ 00010656  0x0000112b hjam  0x00000070 , 0x00008952 
+ 00010657  0x0000112c hjam  0x000000f0 , 0x00008952 
+ 00010658  0x0000112d force  0x00000032 , 0x00000039 
+ 00010659  0x0000112f hfetch  0x00000001 , 0x00008980 
+ 00010660  0x00001130 bbit1  0x00000005 , 0x000029a6 
+ 00010661  0x00001131 loop  0x000029a3 
+ 00010662  0x00001133 store  0x00000001 , 0x000040ce 
+ 00010663  0x00001134 hjam  0x00000000 , 0x00008901 
+ 00010664  0x00001135 hjam  0x00000000 , 0x00008900 
+ 00010665  0x00001136 hjam  0x00000000 , 0x00008906 
+ 00010666  0x00001137 rtn 
+ 00010667  0x0000113a bpatch  0x0000008d , 0x00004011 
+ 00010668  0x0000113b fetch  0x00000001 , 0x000040ce 
+ 00010669  0x0000113c set1  0x00000005 , 0x0000003f 
+ 00010670  0x0000113d hstore  0x00000001 , 0x00008952 
+ 00010671  0x0000113e hfetcht  0x00000001 , 0x00008950 
+ 00010672  0x0000113f and_into  0x00000007 , 0x00000002 
+ 00010673  0x00001140 lshift3  0x0000003f , 0x0000003f 
+ 00010674  0x00001141 ior  0x00000002 , 0x0000003f 
+ 00010675  0x00001142 hstore  0x00000001 , 0x00008950 
+ 00010676  0x00001143 hfetch  0x00000001 , 0x00008951 
+ 00010677  0x00001144 set0  0x00000000 , 0x0000003f 
+ 00010678  0x00001145 hstore  0x00000001 , 0x00008951 
+ 00010679  0x00001146 hfetch  0x00000001 , 0x00008952 
+ 00010680  0x00001147 set0  0x00000005 , 0x0000003f 
+ 00010681  0x00001148 hstore  0x00000001 , 0x00008952 
+ 00010682  0x00001149 rtn 
+ 00010683  0x0000114c bpatch  0x0000008e , 0x00004011 
+ 00010684  0x0000114d hfetch  0x00000002 , 0x00008981 
+ 00010685  0x0000114e rshift4  0x0000003f , 0x0000003f 
+ 00010686  0x0000114f rshift3  0x0000003f , 0x0000003f 
+ 00010687  0x00001150 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00010688  0x00001151 and_into  0x000000ff , 0x0000003f 
+ 00010689  0x00001152 div  0x0000003f , 0x0000000a 
+ 00010690  0x00001153 call  0x00007f86 
+ 00010691  0x00001154 quotient  0x0000003f 
+ 00010692  0x00001155 lshift4  0x0000003f , 0x0000003f 
+ 00010693  0x00001156 remainder  0x00000002 
+ 00010694  0x00001157 ior  0x00000002 , 0x0000003f 
+ 00010695  0x00001158 store  0x00000001 , 0x00000018 
+ 00010696  0x00001159 rtn 
+ 00010697  0x0000115d hjam  0x00000006 , 0x00008042 
+ 00010698  0x0000115e hfetch  0x00000001 , 0x0000896b 
+ 00010699  0x0000115f set0  0x00000004 , 0x0000003f 
+ 00010700  0x00001160 set0  0x00000005 , 0x0000003f 
+ 00010701  0x00001161 hstore  0x00000001 , 0x0000896b 
+ 00010702  0x00001162 hjam  0x00000000 , 0x00008905 
+ 00010703  0x00001163 hjam  0x00000000 , 0x00008904 
+ 00010704  0x00001164 hjam  0x00000070 , 0x00008904 
+ 00010705  0x00001165 hjam  0x000000ff , 0x00008905 
+ 00010706  0x00001166 hfetch  0x00000001 , 0x0000896b 
+ 00010707  0x00001167 set1  0x00000004 , 0x0000003f 
+ 00010708  0x00001168 set1  0x00000005 , 0x0000003f 
+ 00010709  0x00001169 hstore  0x00000001 , 0x0000896b 
+ 00010710  0x0000116a call  0x000029e9 
+ 00010711  0x0000116b hfetch  0x00000001 , 0x00008968 
+ 00010712  0x0000116c set1  0x00000007 , 0x0000003f 
+ 00010713  0x0000116d hstore  0x00000001 , 0x00008968 
+ 00010714  0x0000116e set0  0x00000007 , 0x0000003f 
+ 00010715  0x0000116f hstore  0x00000001 , 0x00008968 
+ 00010716  0x00001170 set1  0x00000007 , 0x0000003f 
+ 00010717  0x00001171 hstore  0x00000001 , 0x00008968 
+ 00010718  0x00001172 hjam  0x00000005 , 0x00008042 
+ 00010719  0x00001173 nop  0x00000001 
+ 00010720  0x00001174 hjam  0x00000004 , 0x00008042 
+ 00010721  0x00001175 hfetch  0x00000001 , 0x0000896b 
+ 00010722  0x00001176 and_into  0x000000cf , 0x0000003f 
+ 00010723  0x00001177 hstore  0x00000001 , 0x0000896b 
+ 00010724  0x00001178 or_into  0x00000030 , 0x0000003f 
+ 00010725  0x00001179 hstore  0x00000001 , 0x0000896b 
+ 00010726  0x0000117a rtn 
+ 00010727  0x0000117e setarg  0x00000f0f 
+ 00010728  0x0000117f branch  0x00002c18 
+ 00010729  0x00001182 setarg  0x0000080f 
+ 00010730  0x00001183 branch  0x00002c18 
+ 00010731  0x00001188 bpatch  0x0000008f , 0x00004011 
+ 00010732  0x00001189 call  0x00002924 
+ 00010733  0x0000118a disable  0x00000020 
+ 00010734  0x0000118b enable  0x00000021 
+ 00010735  0x0000118c pulse  0x00000016 
+ 00010736  0x0000118d rtn 
+ 00010737  0x00001190 bpatch  0x00000090 , 0x00004012 
+ 00010738  0x00001191 fetch  0x00000001 , 0x0000004c 
+ 00010739  0x00001192 isolate1  0x00000002 , 0x0000003f 
+ 00010740  0x00001193 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00010741  0x00001194 hstore  0x00000001 , 0x00008011 
+ 00010742  0x00001195 arg  0x00000062 , 0x00000006 
+ 00010743  0x00001196 ifetch  0x00000009 , 0x00000006 
+ 00010744  0x00001197 iforce  0x00000032 
+ 00010745  0x00001198 ifetch  0x00000007 , 0x00000006 
+ 00010746  0x00001199 iforce  0x00000033 
+ 00010747  0x0000119a fetch  0x00000001 , 0x00000054 
+ 00010748  0x0000119b add  0x0000003f , 0xffffffff , 0x00000034 
+ 00010749  0x0000119c pulse  0x0000001a 
+ 00010750  0x0000119d rtn 
+ 00010751  0x000011a0 deposit  0x0000001a 
+ 00010752  0x000011a1 store  0x00000006 , 0x0000009a 
+ 00010753  0x000011a2 disable  0x0000000d 
+ 00010754  0x000011a3 nbranch  0x000028f9 , 0x00000018 
+ 00010755  0x000011a4 arg  0x000003bb , 0x00000029 
+ 00010756  0x000011a5 increase  0x00000001 , 0x00000028 
+ 00010757  0x000011a6 and_into  0x000001fc , 0x00000028 
+ 00010758  0x000011a7 rtn 
+ 00010759  0x000011ac enable  0x0000000d 
+ 00010760  0x000011ae correlate  0x0000003e , 0x00000017 
+ 00010761  0x000011af branch  0x000029ff , 0x00000018 
+ 00010762  0x000011b0 compare  0x00000002 , 0x00000028 , 0x00000002 
+ 00010763  0x000011b1 nbranch  0x00002a08 , 0x00000001 
+ 00010764  0x000011b2 branch  0x000029ff 
+ 00010765  0x000011b5 bpatch  0x00000091 , 0x00004012 
+ 00010766  0x000011b6 arg  0x00000600 , 0x0000000b 
+ 00010767  0x000011b7 enable  0x0000000d 
+ 00010768  0x000011b8 correlate  0x00000023 , 0x00000026 
+ 00010769  0x000011b9 disable  0x0000000d 
+ 00010770  0x000011ba nbranch  0x000028f9 , 0x00000018 
+ 00010771  0x000011bb rtn 
+ 00010772  0x000011be bpatch  0x00000092 , 0x00004012 
+ 00010773  0x000011bf enable  0x0000000d 
+ 00010774  0x000011c0 correlate  0x0000003e , 0x00000003 
+ 00010775  0x000011c1 disable  0x0000000d 
+ 00010776  0x000011c2 nbranch  0x000028f9 , 0x00000018 
+ 00010777  0x000011c3 arg  0x000003bb , 0x00000029 
+ 00010778  0x000011c4 and_into  0x000001fc , 0x00000028 
+ 00010779  0x000011c5 rtn 
+ 00010780  0x000011c9 bpatch  0x00000093 , 0x00004012 
+ 00010781  0x000011ca iforce  0x00000011 
+ 00010782  0x000011cb deposit  0x00000021 
+ 00010783  0x000011cc iadd  0x00000002 , 0x0000000b 
+ 00010784  0x000011cd copy  0x0000000b , 0x0000003f 
+ 00010785  0x000011ce store  0x00000004 , 0x000040ca 
+ 00010786  0x000011cf deposit  0x00000011 
+ 00010787  0x000011d0 rtn 
+ 00010788  0x000011d4 copy  0x0000003f , 0x00000002 
+ 00010789  0x000011d5 bpatch  0x00000094 , 0x00004012 
+ 00010790  0x000011d6 copy  0x00000002 , 0x0000003f 
+ 00010791  0x000011d7 call  0x00007f50 
+ 00010792  0x000011d8 lshift16  0x00000021 , 0x0000003f 
+ 00010793  0x000011d9 set1  0x0000002c , 0x0000003f 
+ 00010794  0x000011da call  0x00007f39 
+ 00010795  0x000011db set0  0x0000002c , 0x0000003f 
+ 00010796  0x000011dc call  0x00002a77 
+ 00010797  0x000011dd call  0x00007f39 
+ 00010798  0x000011de rtn  0x00000028 
+ 00010799  0x000011df call  0x00007f43 
+ 00010800  0x000011e0 iforce  0x0000001b 
+ 00010801  0x000011e1 until  0x0000003e , 0x00000003 
+ 00010802  0x000011e2 rtn 
+ 00010803  0x000011e6 bpatch  0x00000095 , 0x00004012 
+ 00010804  0x000011e7 branch  0x00002a38 , 0x00000030 
+ 00010805  0x000011e8 until  0x00000029 , 0x00000026 
+ 00010806  0x000011ea copy  0x00000028 , 0x00000002 
+ 00010807  0x000011eb branch  0x00002a3b 
+ 00010808  0x000011ed branch  0x00002a3a , 0x0000002e 
+ 00010809  0x000011ee until  0x00000023 , 0x00000026 
+ 00010810  0x000011f0 copy  0x00000022 , 0x00000002 
+ 00010811  0x000011f2 branch  0x00002a47 , 0x00000028 
+ 00010812  0x000011f3 compare  0x00000001 , 0x00000002 , 0x00000003 
+ 00010813  0x000011f4 nbranch  0x00002a33 , 0x00000001 
+ 00010814  0x000011f6 bpatch  0x00000096 , 0x00004012 
+ 00010815  0x000011f7 fetch  0x00000001 , 0x00000030 
+ 00010816  0x000011f8 rtnbit0  0x00000000 
+ 00010817  0x000011f9 fetch  0x00000004 , 0x000040ca 
+ 00010818  0x000011fa isub  0x00000002 , 0x0000003f 
+ 00010819  0x000011fb nrtn  0x00000002 
+ 00010820  0x000011fc sub  0x0000003f , 0x000000ff , 0x0000003e 
+ 00010821  0x000011fd branch  0x00002a33 , 0x00000002 
+ 00010822  0x000011fe rtn 
+ 00010823  0x00001200 compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00010824  0x00001201 nbranch  0x00002a33 , 0x00000001 
+ 00010825  0x00001202 branch  0x00002a3e 
+ 00010826  0x00001205 bpatch  0x00000097 , 0x00004012 
+ 00010827  0x00001206 arg  0x00000600 , 0x0000000b 
+ 00010828  0x00001207 branch  0x00002a33 
+ 00010829  0x0000120a disable  0x00000028 
+ 00010830  0x0000120b branch  0x00002a4a 
+ 00010831  0x0000120e enable  0x00000028 
+ 00010832  0x0000120f branch  0x00002a4a 
+ 00010833  0x00001212 bpatch  0x00000098 , 0x00004013 
+ 00010834  0x00001213 call  0x000029f1 
+ 00010835  0x00001214 disable  0x00000021 
+ 00010836  0x00001215 enable  0x00000020 
+ 00010837  0x00001216 rtn 
+ 00010838  0x0000121b bpatch  0x00000099 , 0x00004013 
+ 00010839  0x0000121c arg  0x00000e43 , 0x0000000b 
+ 00010840  0x0000121d until  0x00000023 , 0x00000026 
+ 00010841  0x0000121e pulse  0x00000016 
+ 00010842  0x0000121f rtn 
+ 00010843  0x00001222 bpatch  0x0000009a , 0x00004013 
+ 00010844  0x00001223 arg  0x00000d00 , 0x0000000b 
+ 00010845  0x00001224 until  0x00000023 , 0x00000026 
+ 00010846  0x00001225 rtn 
+ 00010847  0x00001229 bpatch  0x0000009b , 0x00004013 
+ 00010848  0x0000122a arg  0x00000e43 , 0x0000000b 
+ 00010849  0x0000122b until  0x00000029 , 0x00000026 
+ 00010850  0x0000122c pulse  0x00000016 
+ 00010851  0x0000122d rtn 
+ 00010852  0x00001230 bpatch  0x0000009c , 0x00004013 
+ 00010853  0x00001231 preload  0x00000009 
+ 00010854  0x00001232 enable  0x0000001d 
+ 00010855  0x00001233 set1  0x00000000 , 0x00000015 
+ 00010856  0x00001234 inject  0x00000003 , 0x00000048 
+ 00010857  0x00001235 disable  0x0000001d 
+ 00010858  0x00001236 rtn 
+ 00010859  0x0000123a copy  0x00000025 , 0x00000002 
+ 00010860  0x0000123b or_into  0x00000060 , 0x00000002 
+ 00010861  0x0000123c copy  0x00000002 , 0x0000000e 
+ 00010862  0x0000123d rtn 
+ 00010863  0x00001243 bpatch  0x0000009d , 0x00004013 
+ 00010864  0x00001244 fetch  0x00000001 , 0x00004090 
+ 00010865  0x00001245 increase  0x00000001 , 0x0000003f 
+ 00010866  0x00001246 bne  0x00000007 , 0x00002a74 
+ 00010867  0x00001247 force  0x00000001 , 0x0000003f 
+ 00010868  0x00001249 store  0x00000001 , 0x00004090 
+ 00010869  0x0000124a iforce  0x00000004 
+ 00010870  0x0000124b rtn 
+ 00010871  0x0000124e copy  0x00000019 , 0x00000002 
+ 00010872  0x0000124f rtn  0x00000029 
+ 00010873  0x00001250 copy  0x0000001a , 0x00000002 
+ 00010874  0x00001251 rtn 
+ 00010875  0x00001254 deposit  0x00000022 
+ 00010876  0x00001255 rtn  0x00000029 
+ 00010877  0x00001256 deposit  0x00000028 
+ 00010878  0x00001257 rtn 
+ 00010879  0x0000125b bpatch  0x0000009e , 0x00004013 
+ 00010880  0x0000125c fetcht  0x00000004 , 0x0000004d 
+ 00010881  0x0000125d call  0x00002a7b 
+ 00010882  0x0000125e isub  0x00000002 , 0x0000000b 
+ 00010883  0x0000125f deposit  0x0000000b 
+ 00010884  0x00001260 fetcht  0x00000002 , 0x00000051 
+ 00010885  0x00001261 lshift  0x00000002 , 0x00000002 
+ 00010886  0x00001262 isub  0x00000002 , 0x0000003f 
+ 00010887  0x00001263 rtn 
+ 00010888  0x00001266 bpatch  0x0000009f , 0x00004013 
+ 00010889  0x00001267 call  0x00002a7b 
+ 00010890  0x00001268 store  0x00000004 , 0x0000004d 
+ 00010891  0x00001269 rtn 
+ 00010892  0x0000126c bpatch  0x000000a0 , 0x00004014 
+ 00010893  0x0000126d branch  0x00002a8c 
+ 00010894  0x00001270 branch  0x00002a8e 
+ 00010895  0x00001273 rtn  0x00000034 
+ 00010896  0x00001275 rshift  0x0000003f , 0x0000003f 
+ 00010897  0x00001276 increase  0xfffffffd , 0x0000003f 
+ 00010898  0x00001278 increase  0xffffffff , 0x0000003f 
+ 00010899  0x00001279 nbranch  0x00002a92 , 0x00000005 
+ 00010900  0x0000127a force  0x00000000 , 0x0000003f 
+ 00010901  0x0000127b rtn 
+ 00010902  0x00001281 arg  0x00000010 , 0x00000039 
+ 00010903  0x00001282 arg  0x00000000 , 0x00000005 
+ 00010904  0x00001283 call  0x00007ec6 
+ 00010905  0x00001284 arg  0x0000043f , 0x00000005 
+ 00010906  0x00001285 arg  0x0000000a , 0x00000039 
+ 00010907  0x00001286 call  0x00007ec6 
+ 00010908  0x00001287 jam  0x00000000 , 0x000009b2 
+ 00010909  0x00001288 jam  0x00000000 , 0x00000a99 
+ 00010910  0x00001289 jam  0x00000000 , 0x0000048c 
+ 00010911  0x0000128a jam  0x00000000 , 0x0000017f 
+ 00010912  0x0000128b jam  0x00000000 , 0x000004d1 
+ 00010913  0x0000128c bpatch  0x000000a1 , 0x00004014 
+ 00010914  0x0000128d jam  0x00000000 , 0x0000016d 
+ 00010915  0x0000128e jam  0x00000000 , 0x00000151 
+ 00010916  0x0000128f jam  0x00000000 , 0x0000015c 
+ 00010917  0x00001290 setarg  0x009e8b33 
+ 00010918  0x00001291 store  0x00000003 , 0x000040a7 
+ 00010919  0x00001292 setarg  0x00000153 
+ 00010920  0x00001293 store  0x00000002 , 0x00000083 
+ 00010921  0x00001294 jam  0x0000001e , 0x00000085 
+ 00010922  0x00001295 jam  0x00000001 , 0x00000086 
+ 00010923  0x00001296 jam  0x00000007 , 0x00000088 
+ 00010924  0x00001297 setarg  0x0012e904 
+ 00010925  0x00001298 store  0x00000003 , 0x00000080 
+ 00010926  0x0000129d jam  0x00000060 , 0x00000090 
+ 00010927  0x0000129e jam  0x00000005 , 0x000040d0 
+ 00010928  0x0000129f jam  0x00000002 , 0x00000014 
+ 00010929  0x000012a0 fetch  0x00000001 , 0x0000465a 
+ 00010930  0x000012a1 ncall  0x000074c1 , 0x00000034 
+ 00010931  0x000012a2 fetch  0x00000001 , 0x000044be 
+ 00010932  0x000012a3 ncall  0x00007518 , 0x00000034 
+ 00010933  0x000012a4 bpatch  0x000000a2 , 0x00004014 
+ 00010934  0x000012a5 rtn  0x0000002b 
+ 00010935  0x000012a6 setarg  0x00000000 
+ 00010936  0x000012a7 store  0x00000002 , 0x000041dc 
+ 00010937  0x000012a8 rshift  0x00000022 , 0x0000003f 
+ 00010938  0x000012a9 store  0x00000004 , 0x00004094 
+ 00010939  0x000012aa rtn 
+ 00010940  0x000012b2 setarg  0x0000ee21 
+ 00010941  0x000012b3 hstore  0x00000002 , 0x00008050 
+ 00010942  0x000012b4 hfetch  0x00000004 , 0x0000811c 
+ 00010943  0x000012b5 store  0x00000004 , 0x00000abe 
+ 00010944  0x000012b6 hfetch  0x00000001 , 0x0000813e 
+ 00010945  0x000012b7 store  0x00000001 , 0x00000abd 
+ 00010946  0x000012b8 bbit0  0x00000003 , 0x0000645b 
+ 00010947  0x000012b9 enable  0x0000002b 
+ 00010948  0x000012ba bbit0  0x00000007 , 0x00002acc 
+ 00010949  0x000012bb disable  0x0000002b 
+ 00010950  0x000012bc deposit  0x00000027 
+ 00010951  0x000012bd nbranch  0x00002acc , 0x00000034 
+ 00010952  0x000012be hfetch  0x00000001 , 0x0000813b 
+ 00010953  0x000012bf bbit1  0x00000002 , 0x00002acc 
+ 00010954  0x000012c0 arg  0xffffffff , 0x00000002 
+ 00010955  0x000012c1 branch  0x00002b3c 
+ 00010956  0x000012c3 hfetch  0x00000003 , 0x0000813c 
+ 00010957  0x000012c4 hstore  0x00000003 , 0x0000804c 
+ 00010958  0x000012c5 ifetch  0x00000001 , 0x00000006 
+ 00010959  0x000012c6 or_into  0x000000ef , 0x0000003f 
+ 00010960  0x000012c7 istore  0x00000001 , 0x00000005 
+ 00010961  0x000012c8 call  0x00002c23 
+ 00010962  0x000012c9 hfetch  0x00000001 , 0x0000804f 
+ 00010963  0x000012ca set1  0x00000004 , 0x0000003f 
+ 00010964  0x000012cb hstore  0x00000001 , 0x0000804f 
+ 00010965  0x000012cc call  0x00002c23 
+ 00010966  0x000012cd call  0x00002adf , 0x0000002b 
+ 00010967  0x000012ce hfetch  0x00000001 , 0x0000804e 
+ 00010968  0x000012cf set0  0x00000003 , 0x0000003f 
+ 00010969  0x000012d0 hstore  0x00000001 , 0x0000804e 
+ 00010970  0x000012d1 call  0x00002c23 
+ 00010971  0x000012d2 nbranch  0x0000645b , 0x0000002b 
+ 00010972  0x000012d3 rtnmark0  0x0000002b 
+ 00010973  0x000012d4 hjam  0x00000008 , 0x00008006 
+ 00010974  0x000012d5 rtn 
+ 00010975  0x000012d8 fetch  0x00000001 , 0x00004198 
+ 00010976  0x000012d9 hstore  0x00000001 , 0x00008086 
+ 00010977  0x000012da fetch  0x00000003 , 0x0000418d 
+ 00010978  0x000012db hstore  0x00000003 , 0x00008080 
+ 00010979  0x000012dc fetch  0x00000004 , 0x00004181 
+ 00010980  0x000012dd hstore  0x00000004 , 0x00008074 
+ 00010981  0x000012de fetch  0x00000004 , 0x0000417d 
+ 00010982  0x000012df hstore  0x00000004 , 0x00008070 
+ 00010983  0x000012e0 fetch  0x00000008 , 0x00004185 
+ 00010984  0x000012e1 hstore  0x00000008 , 0x00008078 
+ 00010985  0x000012e2 fetch  0x00000008 , 0x00004190 
+ 00010986  0x000012e3 iforce  0x00000000 
+ 00010987  0x000012e4 hfetch  0x00000008 , 0x00008140 
+ 00010988  0x000012e5 store  0x00000008 , 0x000000a1 
+ 00010989  0x000012e6 call  0x000064ca 
+ 00010990  0x000012e7 rtn 
+ 00010991  0x000012ea deposit  0x00000000 
+ 00010992  0x000012eb store  0x00000008 , 0x00004190 
+ 00010993  0x000012ec hfetch  0x00000008 , 0x00008070 
+ 00010994  0x000012ed store  0x00000008 , 0x0000417d 
+ 00010995  0x000012ee ifetch  0x00000008 , 0x00000006 
+ 00010996  0x000012ef istore  0x00000008 , 0x00000005 
+ 00010997  0x000012f0 hfetch  0x00000003 , 0x00008080 
+ 00010998  0x000012f1 store  0x00000003 , 0x0000418d 
+ 00010999  0x000012f2 hfetch  0x00000001 , 0x00008086 
+ 00011000  0x000012f3 store  0x00000001 , 0x00004198 
+ 00011001  0x000012f4 branch  0x00002c29 
+ 00011002  0x000012f7 hfetch  0x00000001 , 0x00008063 
+ 00011003  0x000012f8 nbranch  0x00002b00 , 0x00000034 
+ 00011004  0x000012f9 fetch  0x00000003 , 0x0000416f 
+ 00011005  0x000012fa nrtn  0x00000034 
+ 00011006  0x000012fb hjam  0x000000c0 , 0x00008063 
+ 00011007  0x000012fc hjam  0x00000080 , 0x00008006 
+ 00011008  0x000012fe hfetch  0x00000001 , 0x0000812d 
+ 00011009  0x000012ff rtnbit0  0x00000001 
+ 00011010  0x00001300 hfetch  0x00000003 , 0x00008149 
+ 00011011  0x00001301 store  0x00000003 , 0x0000416f 
+ 00011012  0x00001302 rtn 
+ 00011013  0x00001307 bpatch  0x000000a3 , 0x00004014 
+ 00011014  0x00001308 deposit  0x0000001a 
+ 00011015  0x00001309 call  0x00007f37 
+ 00011016  0x0000130a fetcht  0x00000004 , 0x0000415f 
+ 00011017  0x0000130b sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00011018  0x0000130c rtn  0x00000002 
+ 00011019  0x0000130d lshift8  0x0000003f , 0x0000003f 
+ 00011020  0x0000130e lshift4  0x0000003f , 0x0000003f 
+ 00011021  0x0000130f idiv  0x00000002 
+ 00011022  0x00001310 call  0x00007f86 
+ 00011023  0x00001311 quotient  0x0000003f 
+ 00011024  0x00001312 arg  0x000000c8 , 0x00000002 
+ 00011025  0x00001313 call  0x00007f91 
+ 00011026  0x00001314 store  0x00000001 , 0x00000099 
+ 00011027  0x00001315 nbranch  0x00002b15 , 0x00000028 
+ 00011028  0x00001316 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00011029  0x00001318 fetcht  0x00000003 , 0x0000416f 
+ 00011030  0x00001319 iadd  0x00000002 , 0x0000003f 
+ 00011031  0x0000131a store  0x00000003 , 0x0000416f 
+ 00011032  0x0000131c setarg  0x00000000 
+ 00011033  0x0000131d store  0x00000004 , 0x0000415f 
+ 00011034  0x0000131e rtn 
+ 00011035  0x00001323 fetch  0x00000001 , 0x00004177 
+ 00011036  0x00001324 set1  0x00000002 , 0x0000003f 
+ 00011037  0x00001325 store  0x00000001 , 0x00004177 
+ 00011038  0x00001326 branch  0x00002b23 
+ 00011039  0x0000132b arg  0xffffffff , 0x00000002 
+ 00011040  0x0000132c fetch  0x00000001 , 0x00004176 
+ 00011041  0x0000132d set0  0x00000007 , 0x0000003f 
+ 00011042  0x0000132e store  0x00000001 , 0x00004176 
+ 00011043  0x00001330 bpatch  0x000000a4 , 0x00004014 
+ 00011044  0x00001331 call  0x00002c29 
+ 00011045  0x00001332 fetch  0x00000001 , 0x00004157 
+ 00011046  0x00001333 store  0x00000001 , 0x0000417c 
+ 00011047  0x00001334 fetch  0x00000001 , 0x0000417a 
+ 00011048  0x00001335 set1  0x00000007 , 0x0000003f 
+ 00011049  0x00001336 store  0x00000001 , 0x0000417a 
+ 00011050  0x0000133a bpatch  0x000000a5 , 0x00004014 
+ 00011051  0x0000133b call  0x000029e7 
+ 00011052  0x0000133c fetch  0x00000004 , 0x0000415f 
+ 00011053  0x0000133d iadd  0x00000002 , 0x0000003f 
+ 00011054  0x0000133e store  0x00000004 , 0x0000415f 
+ 00011055  0x0000133f call  0x00002aef 
+ 00011056  0x00001340 fetch  0x00000005 , 0x00004178 
+ 00011057  0x00001341 hstore  0x00000004 , 0x0000804c 
+ 00011058  0x00001342 rshift32  0x0000003f , 0x00000011 
+ 00011059  0x00001343 until  0x0000003e , 0x00000033 
+ 00011060  0x00001344 deposit  0x00000019 
+ 00011061  0x00001345 store  0x00000006 , 0x00004163 
+ 00011062  0x00001346 hjam  0x00000002 , 0x00008005 
+ 00011063  0x00001347 until  0x0000003e , 0x00000033 
+ 00011064  0x00001348 until  0x0000003e , 0x00000033 
+ 00011065  0x00001349 deposit  0x00000011 
+ 00011066  0x0000134a hstore  0x00000001 , 0x0000804f 
+ 00011067  0x0000134b hjam  0x00000002 , 0x00008005 
+ 00011068  0x0000134d until  0x0000003e , 0x00000033 
+ 00011069  0x0000134e until  0x0000003e , 0x00000033 
+ 00011070  0x0000134f hstoret  0x00000004 , 0x0000804c 
+ 00011071  0x00001350 hjam  0x00000010 , 0x00008005 
+ 00011072  0x00001351 until  0x0000003e , 0x0000003f 
+ 00011073  0x00001357 bpatch  0x000000a6 , 0x00004014 
+ 00011074  0x00001358 setarg  0x00000000 
+ 00011075  0x00001359 copy  0x00000027 , 0x0000003e 
+ 00011076  0x0000135a branch  0x00002b4c , 0x00000005 
+ 00011077  0x0000135b hfetch  0x00000001 , 0x0000813c 
+ 00011078  0x0000135c hfetcht  0x00000001 , 0x0000813d 
+ 00011079  0x0000135d isub  0x00000002 , 0x0000003e 
+ 00011080  0x0000135e branch  0x00002b4a , 0x00000002 
+ 00011081  0x0000135f deposit  0x00000002 
+ 00011082  0x00001361 isub  0x00000027 , 0x0000003f 
+ 00011083  0x00001362 increase  0x00000001 , 0x0000003f 
+ 00011084  0x00001364 increase  0x00000008 , 0x0000003f 
+ 00011085  0x00001365 until  0x0000003e , 0x00000033 
+ 00011086  0x00001366 iadd  0x00000031 , 0x0000003f 
+ 00011087  0x00001367 fetcht  0x00000004 , 0x0000415b 
+ 00011088  0x00001368 iadd  0x00000002 , 0x0000003f 
+ 00011089  0x00001369 fetcht  0x00000003 , 0x0000416f 
+ 00011090  0x0000136a imul32  0x00000002 , 0x0000003f 
+ 00011091  0x0000136b rshift8  0x0000003f , 0x0000003f 
+ 00011092  0x0000136c rshift4  0x0000003f , 0x0000003f 
+ 00011093  0x0000136d increase  0x0000006e , 0x0000003f 
+ 00011094  0x0000136e arg  0x00000ea6 , 0x00000002 
+ 00011095  0x0000136f idiv  0x00000002 
+ 00011096  0x00001370 call  0x00007f86 
+ 00011097  0x00001371 quotient  0x0000003f 
+ 00011098  0x00001372 lshift16  0x0000003f , 0x0000003f 
+ 00011099  0x00001373 remainder  0x00000002 
+ 00011100  0x00001374 ior  0x00000002 , 0x0000003f 
+ 00011101  0x00001375 fetcht  0x00000006 , 0x00004163 
+ 00011102  0x00001376 call  0x00007f2c 
+ 00011103  0x00001377 copy  0x00000002 , 0x00000019 
+ 00011104  0x00001378 fetch  0x00000006 , 0x00004048 
+ 00011105  0x00001379 call  0x00002854 
+ 00011106  0x0000137a deposit  0x0000001a 
+ 00011107  0x0000137b store  0x00000006 , 0x00000a9a 
+ 00011108  0x0000137c deposit  0x00000027 
+ 00011109  0x0000137d istore  0x00000001 , 0x00000005 
+ 00011110  0x0000137e hfetch  0x00000001 , 0x0000811d 
+ 00011111  0x0000137f or_into  0x000000f0 , 0x0000003f 
+ 00011112  0x00001380 istore  0x00000001 , 0x00000005 
+ 00011113  0x00001381 rtn 
+ 00011114  0x00001384 bpatch  0x000000a7 , 0x00004014 
+ 00011115  0x00001385 call  0x00002afa 
+ 00011116  0x00001386 fetch  0x00000003 , 0x0000416f 
+ 00011117  0x00001387 rtn  0x00000034 
+ 00011118  0x00001388 fetch  0x00000001 , 0x00004091 
+ 00011119  0x00001389 rtn  0x00000034 
+ 00011120  0x0000138a fetch  0x00000001 , 0x0000465a 
+ 00011121  0x0000138b branch  0x00002b74 , 0x00000034 
+ 00011122  0x0000138c fetch  0x00000001 , 0x000045b1 
+ 00011123  0x0000138d rtn  0x00000034 
+ 00011124  0x0000138f fetch  0x00000001 , 0x000044c0 
+ 00011125  0x00001390 nrtn  0x00000034 
+ 00011126  0x00001391 call  0x00002c3a 
+ 00011127  0x00001392 nrtn  0x00000034 
+ 00011128  0x00001393 fetch  0x00000001 , 0x00004040 
+ 00011129  0x00001394 compare  0x00000003 , 0x0000003f , 0x00000007 
+ 00011130  0x00001395 nbranch  0x00002b9d , 0x00000001 
+ 00011131  0x00001396 fetch  0x00000002 , 0x00004042 
+ 00011132  0x00001397 rtn  0x00000034 
+ 00011133  0x00001398 rtn  0x0000002b 
+ 00011134  0x00001399 bpatch  0x000000a8 , 0x00004015 
+ 00011135  0x0000139a fetcht  0x00000001 , 0x000000a0 
+ 00011136  0x0000139b fetch  0x00000002 , 0x00004042 
+ 00011137  0x0000139c imul32  0x00000002 , 0x0000003f 
+ 00011138  0x0000139d rshift4  0x00000002 , 0x00000002 
+ 00011139  0x0000139e rshift2  0x00000002 , 0x00000002 
+ 00011140  0x0000139f isub  0x00000002 , 0x0000003f 
+ 00011141  0x000013a0 fetcht  0x00000004 , 0x00004044 
+ 00011142  0x000013a1 iadd  0x00000002 , 0x0000003f 
+ 00011143  0x000013a2 fetcht  0x00000001 , 0x00004156 
+ 00011144  0x000013a3 isub  0x00000002 , 0x0000003f 
+ 00011145  0x000013a4 lshift16  0x0000003f , 0x00000030 
+ 00011146  0x000013a5 bpatch  0x000000a9 , 0x00004015 
+ 00011147  0x000013a6 fetch  0x00000002 , 0x0000404e 
+ 00011148  0x000013a7 rshift  0x0000003f , 0x0000003f 
+ 00011149  0x000013a8 call  0x00007f50 
+ 00011150  0x000013a9 deposit  0x00000030 
+ 00011151  0x000013aa call  0x00007f39 
+ 00011152  0x000013ab copy  0x0000001a , 0x00000002 
+ 00011153  0x000013ac call  0x00007f37 
+ 00011154  0x000013ad rtn  0x00000028 
+ 00011155  0x000013af call  0x00007f49 
+ 00011156  0x000013b1 bpatch  0x000000aa , 0x00004015 
+ 00011157  0x000013b2 fetch  0x00000001 , 0x00004178 
+ 00011158  0x000013b3 isub  0x00000002 , 0x0000003e 
+ 00011159  0x000013b4 branch  0x00002b18 , 0x00000002 
+ 00011160  0x000013b5 storet  0x00000004 , 0x0000415b 
+ 00011161  0x000013b6 call  0x00003328 
+ 00011162  0x000013b7 call  0x000052fb 
+ 00011163  0x000013b8 fetcht  0x00000004 , 0x0000415b 
+ 00011164  0x000013b9 branch  0x00002b2a 
+ 00011165  0x000013bc bpatch  0x000000ab , 0x00004015 
+ 00011166  0x000013bd fetch  0x00000001 , 0x00004040 
+ 00011167  0x000013be rtnbit1  0x00000000 
+ 00011168  0x000013bf rtnbit1  0x00000003 
+ 00011169  0x000013c0 fetch  0x00000001 , 0x0000465a 
+ 00011170  0x000013c1 branch  0x00002ba5 , 0x00000034 
+ 00011171  0x000013c2 fetch  0x00000001 , 0x000045b1 
+ 00011172  0x000013c3 rtn  0x00000034 
+ 00011173  0x000013c5 bpatch  0x000000ac , 0x00004015 
+ 00011174  0x000013c6 fetch  0x00000001 , 0x0000436e 
+ 00011175  0x000013c7 nbranch  0x00002baa , 0x00000034 
+ 00011176  0x000013c8 fetch  0x00000001 , 0x00004093 
+ 00011177  0x000013c9 rtn  0x00000034 
+ 00011178  0x000013cb fetch  0x00000002 , 0x00004154 
+ 00011179  0x000013cc rtn  0x00000034 
+ 00011180  0x000013ce fetcht  0x00000001 , 0x00004156 
+ 00011181  0x000013cf isub  0x00000002 , 0x0000003f 
+ 00011182  0x000013d0 arg  0x00001d4c , 0x00000002 
+ 00011183  0x000013d1 imul32  0x00000002 , 0x0000003f 
+ 00011184  0x000013d2 branch  0x00002b93 
+ 00011185  0x000013d5 bpatch  0x000000ad , 0x00004015 
+ 00011186  0x000013d6 disable  0x0000002b 
+ 00011187  0x000013d7 fetch  0x00000001 , 0x00000030 
+ 00011188  0x000013d8 rtnbit0  0x00000001 
+ 00011189  0x000013d9 nbranch  0x00002bd0 , 0x0000002d 
+ 00011190  0x000013da call  0x00002bcb 
+ 00011191  0x000013db fetch  0x00000002 , 0x000040c1 
+ 00011192  0x000013dc store  0x00000002 , 0x0000003e 
+ 00011193  0x000013dd fetch  0x00000001 , 0x00000047 
+ 00011194  0x000013de bbit1  0x00000003 , 0x00002bde 
+ 00011195  0x000013df bmark0  0x0000000d , 0x00002bde 
+ 00011196  0x000013e0 call  0x00005274 
+ 00011197  0x000013e1 nbranch  0x00002bde , 0x00000034 
+ 00011198  0x000013e2 fetch  0x00000001 , 0x0000455c 
+ 00011199  0x000013e3 bbit1  0x00000001 , 0x00002bde 
+ 00011200  0x000013e5 jam  0x00000000 , 0x000000a0 
+ 00011201  0x000013e6 bmark0  0x0000000d , 0x00002bde 
+ 00011202  0x000013e7 fetch  0x00000001 , 0x00004174 
+ 00011203  0x000013e8 branch  0x00002be2 , 0x00000034 
+ 00011204  0x000013e9 increase  0xffffffff , 0x0000003f 
+ 00011205  0x000013ea store  0x00000001 , 0x00004174 
+ 00011206  0x000013eb rtn 
+ 00011207  0x000013ef arg  0x00000001 , 0x00000007 
+ 00011208  0x000013f0 branch  0x000060cd 
+ 00011209  0x000013f3 arg  0x00000001 , 0x00000007 
+ 00011210  0x000013f4 branch  0x000060d1 
+ 00011211  0x000013f9 jam  0x00000000 , 0x00004159 
+ 00011212  0x000013fa fetch  0x00000003 , 0x00004169 
+ 00011213  0x000013fb increase  0x00000001 , 0x0000003f 
+ 00011214  0x000013fc store  0x00000003 , 0x00004169 
+ 00011215  0x000013fd rtn 
+ 00011216  0x00001400 bpatch  0x000000ae , 0x00004015 
+ 00011217  0x00001401 fetcht  0x00000002 , 0x000040c1 
+ 00011218  0x00001402 rshift  0x00000002 , 0x00000002 
+ 00011219  0x00001403 fetch  0x00000002 , 0x0000003e 
+ 00011220  0x00001404 iadd  0x00000002 , 0x0000003f 
+ 00011221  0x00001405 store  0x00000002 , 0x0000003e 
+ 00011222  0x00001407 jam  0x00000000 , 0x000000a0 
+ 00011223  0x00001408 fetch  0x00000003 , 0x0000416c 
+ 00011224  0x00001409 increase  0x00000001 , 0x0000003f 
+ 00011225  0x0000140a store  0x00000003 , 0x0000416c 
+ 00011226  0x0000140b fetch  0x00000001 , 0x00004159 
+ 00011227  0x0000140c increase  0x00000001 , 0x0000003f 
+ 00011228  0x0000140d store  0x00000001 , 0x00004159 
+ 00011229  0x0000140e rtn 
+ 00011230  0x00001411 jam  0x00000000 , 0x000000a0 
+ 00011231  0x00001412 fetch  0x00000001 , 0x00004173 
+ 00011232  0x00001413 store  0x00000001 , 0x00004174 
+ 00011233  0x00001414 rtn 
+ 00011234  0x00001417 fetcht  0x00000001 , 0x00004172 
+ 00011235  0x00001418 storet  0x00000001 , 0x000000a0 
+ 00011236  0x00001419 rtn 
+ 00011237  0x0000141c bpatch  0x000000af , 0x00004015 
+ 00011238  0x0000141d fetch  0x00000001 , 0x00004178 
+ 00011239  0x0000141e nrtn  0x00000034 
+ 00011240  0x0000141f hjam  0x00000006 , 0x00008042 
+ 00011241  0x00001420 setarg  0x00000f0c 
+ 00011242  0x00001421 call  0x00002c18 
+ 00011243  0x00001422 setarg  0x00030d40 
+ 00011244  0x00001423 call  0x00002a8f 
+ 00011245  0x00001424 until  0x0000003e , 0x00000033 
+ 00011246  0x00001425 copy  0x00000031 , 0x00000030 
+ 00011247  0x00001426 call  0x000029e7 
+ 00011248  0x00001427 hjam  0x00000004 , 0x00008042 
+ 00011249  0x00001428 nop  0x0000000a 
+ 00011250  0x00001429 until  0x0000003e , 0x00000033 
+ 00011251  0x0000142a deposit  0x00000031 
+ 00011252  0x0000142b isub  0x00000030 , 0x0000003f 
+ 00011253  0x0000142c increase  0x00000030 , 0x0000003f 
+ 00011254  0x0000142d arg  0x000000ff , 0x00000002 
+ 00011255  0x0000142e call  0x00007f91 
+ 00011256  0x0000142f store  0x00000001 , 0x00004178 
+ 00011257  0x00001430 nop  0x00007530 
+ 00011258  0x00001431 nop  0x00007530 
+ 00011259  0x00001432 nop  0x00007530 
+ 00011260  0x00001433 rtn 
+ 00011261  0x00001436 fetch  0x00000001 , 0x00004178 
+ 00011262  0x00001437 nrtn  0x00000034 
+ 00011263  0x00001438 hjam  0x000000ff , 0x00008044 
+ 00011264  0x00001439 hjam  0x00000006 , 0x00008042 
+ 00011265  0x0000143a call  0x000029e7 
+ 00011266  0x0000143b setarg  0x000003e8 
+ 00011267  0x0000143c iadd  0x00000031 , 0x00000030 
+ 00011268  0x0000143d snooze 
+ 00011269  0x0000143e deposit  0x00000031 
+ 00011270  0x0000143f nop  0x00002ee0 
+ 00011271  0x00001440 nop  0x00002ee0 
+ 00011272  0x00001441 nop  0x00002ee0 
+ 00011273  0x00001442 nop  0x00002ee0 
+ 00011274  0x00001443 nop  0x00002ee0 
+ 00011275  0x00001444 nop  0x00002ee0 
+ 00011276  0x00001445 nop  0x00002ee0 
+ 00011277  0x00001446 nop  0x00002ee0 
+ 00011278  0x00001447 nop  0x00002ee0 
+ 00011279  0x00001448 isub  0x00000030 , 0x0000003f 
+ 00011280  0x00001449 add  0x0000003f , 0x00000030 , 0x0000003f 
+ 00011281  0x0000144a arg  0x000000ff , 0x00000002 
+ 00011282  0x0000144b call  0x00007f91 
+ 00011283  0x0000144c store  0x00000001 , 0x00004178 
+ 00011284  0x0000144d nop  0x00007530 
+ 00011285  0x0000144e nop  0x00007530 
+ 00011286  0x0000144f nop  0x00007530 
+ 00011287  0x00001450 rtn 
+ 00011288  0x00001456 arg  0x00000fff , 0x00000005 
+ 00011289  0x00001457 iand  0x00000005 , 0x00000005 
+ 00011290  0x00001458 fetch  0x00000001 , 0x00004175 
+ 00011291  0x00001459 and_into  0x000000f0 , 0x0000003f 
+ 00011292  0x0000145a lshift8  0x0000003f , 0x0000003f 
+ 00011293  0x0000145b ior  0x00000005 , 0x0000003f 
+ 00011294  0x0000145c hstore  0x00000002 , 0x0000804c 
+ 00011295  0x0000145d ifetch  0x00000002 , 0x00000006 
+ 00011296  0x0000145e istore  0x00000002 , 0x00000005 
+ 00011297  0x00001461 setarg  0x00000001 
+ 00011298  0x00001462 branch  0x00002c24 
+ 00011299  0x00001465 setarg  0x00000002 
+ 00011300  0x00001467 until  0x0000003e , 0x00000033 
+ 00011301  0x00001468 hstore  0x00000001 , 0x00008005 
+ 00011302  0x00001469 until  0x0000003e , 0x00000033 
+ 00011303  0x0000146a until  0x0000003e , 0x00000033 
+ 00011304  0x0000146b rtn 
+ 00011305  0x0000146f bpatch  0x000000b0 , 0x00004016 
+ 00011306  0x00001470 fetch  0x00000004 , 0x000000a1 
+ 00011307  0x00001471 hstore  0x00000004 , 0x0000804c 
+ 00011308  0x00001472 setarg  0x00000004 
+ 00011309  0x00001473 call  0x00002c24 
+ 00011310  0x00001474 fetch  0x00000004 , 0x000000a5 
+ 00011311  0x00001475 hstore  0x00000004 , 0x0000804c 
+ 00011312  0x00001476 setarg  0x00000008 
+ 00011313  0x00001477 branch  0x00002c24 
+ 00011314  0x0000147a fetch  0x00000002 , 0x00004152 
+ 00011315  0x0000147b qset1  0x0000003f 
+ 00011316  0x0000147c store  0x00000002 , 0x00004152 
+ 00011317  0x0000147d rtn 
+ 00011318  0x00001480 fetch  0x00000002 , 0x00004152 
+ 00011319  0x00001481 qset0  0x0000003f 
+ 00011320  0x00001482 store  0x00000002 , 0x00004152 
+ 00011321  0x00001483 rtn 
+ 00011322  0x00001488 bpatch  0x000000b1 , 0x00004016 
+ 00011323  0x00001489 call  0x00003326 
+ 00011324  0x0000148a fetch  0x00000002 , 0x00004152 
+ 00011325  0x0000148b copy  0x0000003f , 0x00000011 
+ 00011326  0x0000148c fetch  0x00000001 , 0x0000004c 
+ 00011327  0x0000148d isolate1  0x00000006 , 0x0000003f 
+ 00011328  0x0000148e setflag  0x00000001 , 0x0000000b , 0x00000011 
+ 00011329  0x0000148f fetch  0x00000001 , 0x00000078 
+ 00011330  0x00001490 fetcht  0x00000001 , 0x0000007c 
+ 00011331  0x00001491 iadd  0x00000002 , 0x0000003f 
+ 00011332  0x00001492 fetcht  0x00000001 , 0x00000048 
+ 00011333  0x00001493 iadd  0x00000002 , 0x0000003f 
+ 00011334  0x00001494 nsetflag  0x00000034 , 0x0000000a , 0x00000011 
+ 00011335  0x00001495 fetch  0x00000001 , 0x000044ff 
+ 00011336  0x00001496 nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00011337  0x00001497 fetch  0x00000002 , 0x0000025d 
+ 00011338  0x00001498 fetcht  0x00000002 , 0x0000025f 
+ 00011339  0x00001499 iadd  0x00000002 , 0x0000003f 
+ 00011340  0x0000149a nsetflag  0x00000034 , 0x0000000d , 0x00000011 
+ 00011341  0x0000149b fetch  0x00000008 , 0x00004668 
+ 00011342  0x0000149c nsetflag  0x00000034 , 0x0000000f , 0x00000011 
+ 00011343  0x0000149d fetch  0x00000008 , 0x00004670 
+ 00011344  0x0000149e nsetflag  0x00000034 , 0x0000000e , 0x00000011 
+ 00011345  0x0000149f fetch  0x00000001 , 0x000041ce 
+ 00011346  0x000014a0 nsetflag  0x00000034 , 0x00000008 , 0x00000011 
+ 00011347  0x000014a1 fetch  0x00000001 , 0x00004092 
+ 00011348  0x000014a2 compare  0x0000000a , 0x0000003f , 0x000000ff 
+ 00011349  0x000014a3 call  0x00002c5b , 0x00000001 
+ 00011350  0x000014a4 setarg  0xfffffff8 
+ 00011351  0x000014a5 iand  0x00000011 , 0x00000011 
+ 00011352  0x000014a6 copy  0x00000011 , 0x0000003f 
+ 00011353  0x000014a7 store  0x00000002 , 0x00004152 
+ 00011354  0x000014a8 rtn 
+ 00011355  0x000014ab hfetch  0x00000002 , 0x00008112 
+ 00011356  0x000014ac nsetflag  0x00000034 , 0x00000006 , 0x00000011 
+ 00011357  0x000014ad hfetch  0x00000002 , 0x0000810e 
+ 00011358  0x000014ae nsetflag  0x00000034 , 0x00000005 , 0x00000011 
+ 00011359  0x000014af rtn 
+ 00011360  0x000014b2 hfetch  0x00000004 , 0x00008138 
+ 00011361  0x000014b3 set0  0x0000001b , 0x0000003f 
+ 00011362  0x000014b4 hstore  0x00000004 , 0x0000804c 
+ 00011363  0x000014b5 call  0x00002c21 
+ 00011364  0x000014b6 branch  0x00002a8c 
+ 00011365  0x000014b9 hfetch  0x00000004 , 0x0000813c 
+ 00011366  0x000014ba set0  0x00000014 , 0x0000003f 
+ 00011367  0x000014bb hstore  0x00000004 , 0x0000804c 
+ 00011368  0x000014bc branch  0x00002c23 
+ 00011369  0x000014bf fetch  0x00000002 , 0x00004150 
+ 00011370  0x000014c0 bbit1  0x00000000 , 0x00002a8c 
+ 00011371  0x000014c1 rtn 
+ 00011372  0x000014c3 fetch  0x00000002 , 0x00004150 
+ 00011373  0x000014c4 bbit1  0x00000001 , 0x00002a8c 
+ 00011374  0x000014c5 rtn 
+ 00011375  0x000014c7 fetch  0x00000002 , 0x00004150 
+ 00011376  0x000014c8 bbit1  0x00000002 , 0x00002a8c 
+ 00011377  0x000014c9 rtn 
+ 00011378  0x00001507 bpatch  0x000000b2 , 0x00004016 
+ 00011379  0x00001508 call  0x00002c7a 
+ 00011380  0x00001509 add  0x00000013 , 0x000000cd , 0x00000012 
+ 00011381  0x0000150a ifetch  0x00000001 , 0x00000012 
+ 00011382  0x0000150c rtneq  0x00000000 
+ 00011383  0x0000150d beq  0x00000001 , 0x00002d06 
+ 00011384  0x0000150e beq  0x00000002 , 0x00002c7f 
+ 00011385  0x0000150f rtn 
+ 00011386  0x00001512 fetcht  0x00000002 , 0x00004241 
+ 00011387  0x00001513 copy  0x00000002 , 0x00000013 
+ 00011388  0x00001514 rtn 
+ 00011389  0x00001517 call  0x00002f3d 
+ 00011390  0x00001518 branch  0x0000307d 
+ 00011391  0x0000151b call  0x00003084 
+ 00011392  0x0000151c call  0x0000305a 
+ 00011393  0x0000151d call  0x0000305e 
+ 00011394  0x0000151e branch  0x000030a2 
+ 00011395  0x00001524 call  0x00003231 
+ 00011396  0x00001525 setarg  0x0000004e 
+ 00011397  0x00001526 call  0x0000322f 
+ 00011398  0x00001527 call  0x000032ba 
+ 00011399  0x0000152a add  0x00000013 , 0x00000092 , 0x00000011 
+ 00011400  0x0000152b ifetch  0x00000004 , 0x00000011 
+ 00011401  0x0000152c branch  0x0000322c 
+ 00011402  0x0000152f call  0x00002c7a 
+ 00011403  0x00001530 add  0x00000013 , 0x00000091 , 0x00000012 
+ 00011404  0x00001531 ifetcht  0x00000001 , 0x00000012 
+ 00011405  0x00001533 call  0x00002c90 
+ 00011406  0x00001534 add  0x00000013 , 0x00000091 , 0x00000005 
+ 00011407  0x00001536 branch  0x00002e56 
+ 00011408  0x00001539 call  0x00002c94 
+ 00011409  0x0000153a increase  0x00000001 , 0x00000002 
+ 00011410  0x0000153b and_into  0x00000003 , 0x00000002 
+ 00011411  0x0000153c rtn 
+ 00011412  0x0000153f add  0x00000013 , 0x000000ae , 0x00000012 
+ 00011413  0x00001540 ifetch  0x00000001 , 0x00000012 
+ 00011414  0x00001542 and_into  0x00000003 , 0x0000003f 
+ 00011415  0x00001543 mul32  0x0000003f , 0x00000004 , 0x00000011 
+ 00011416  0x00001544 add  0x00000013 , 0x00000097 , 0x0000003f 
+ 00011417  0x00001546 iadd  0x00000011 , 0x0000003f 
+ 00011418  0x00001547 iadd  0x00000002 , 0x00000006 
+ 00011419  0x00001548 ifetch  0x00000001 , 0x00000006 
+ 00011420  0x0000154a branch  0x0000322f 
+ 00011421  0x0000154d call  0x0000326c 
+ 00011422  0x0000154e call  0x0000666a 
+ 00011423  0x0000154f setarg  0x000007e2 
+ 00011424  0x00001550 arg  0x00000aa2 , 0x00000011 
+ 00011425  0x00001551 arg  0x00000004 , 0x00000002 
+ 00011426  0x00001552 call  0x000066b3 
+ 00011427  0x00001553 call  0x0000666d 
+ 00011428  0x00001554 fetch  0x00000004 , 0x00000aa2 
+ 00011429  0x00001555 call  0x00003227 
+ 00011430  0x00001557 nrtn  0x00000034 
+ 00011431  0x00001558 fetch  0x00000004 , 0x000040a0 
+ 00011432  0x0000155a branch  0x00003227 
+ 00011433  0x0000155d call  0x00003241 
+ 00011434  0x0000155f setarg  0x00000000 
+ 00011435  0x00001560 call  0x0000323f 
+ 00011436  0x00001563 call  0x0000323a 
+ 00011437  0x00001565 and_into  0x00000007 , 0x0000003f 
+ 00011438  0x00001567 branch  0x0000323c 
+ 00011439  0x0000156a call  0x0000323a 
+ 00011440  0x0000156c set1  0x00000004 , 0x0000003f 
+ 00011441  0x0000156d call  0x0000323c 
+ 00011442  0x00001570 branch  0x00003235 
+ 00011443  0x00001573 call  0x0000325d 
+ 00011444  0x00001575 beq  0x00000001 , 0x00002cb7 
+ 00011445  0x00001576 beq  0x00000002 , 0x00002cbc 
+ 00011446  0x00001577 rtn 
+ 00011447  0x0000157a call  0x0000323e 
+ 00011448  0x0000157d add  0x00000013 , 0x000000d1 , 0x00000005 
+ 00011449  0x0000157e call  0x000032d6 
+ 00011450  0x00001580 call  0x00003242 
+ 00011451  0x00001582 branch  0x00002cac 
+ 00011452  0x00001585 call  0x0000325a 
+ 00011453  0x00001587 branch  0x00002cb8 
+ 00011454  0x0000158a add  0x00000013 , 0x0000008c , 0x00000011 
+ 00011455  0x0000158b ifetch  0x00000001 , 0x00000011 
+ 00011456  0x0000158d increase  0x00000001 , 0x0000003f 
+ 00011457  0x0000158e add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011458  0x0000158f istore  0x00000001 , 0x00000005 
+ 00011459  0x00001591 beq  0x00000020 , 0x00002dd2 
+ 00011460  0x00001592 call  0x00003258 
+ 00011461  0x00001594 beq  0x00000001 , 0x00002cca 
+ 00011462  0x00001595 setarg  0x00000001 
+ 00011463  0x00001596 call  0x0000325b 
+ 00011464  0x00001599 call  0x00003258 
+ 00011465  0x0000159b bne  0x00000001 , 0x00002cac 
+ 00011466  0x0000159d add  0x00000013 , 0x000000d3 , 0x00000011 
+ 00011467  0x0000159e ifetch  0x00000001 , 0x00000011 
+ 00011468  0x000015a0 increase  0x00000001 , 0x0000003f 
+ 00011469  0x000015a1 call  0x00002cd5 
+ 00011470  0x000015a3 beq  0x00000004 , 0x00002cd2 
+ 00011471  0x000015a4 call  0x00002c8a 
+ 00011472  0x000015a5 call  0x00002d04 
+ 00011473  0x000015a7 branch  0x00002d8f 
+ 00011474  0x000015aa call  0x00002cd4 
+ 00011475  0x000015ac branch  0x00002cac 
+ 00011476  0x000015af setarg  0x00000000 
+ 00011477  0x000015b1 add  0x00000013 , 0x000000d3 , 0x00000005 
+ 00011478  0x000015b2 branch  0x000032b4 
+ 00011479  0x000015b5 call  0x0000323e 
+ 00011480  0x000015b8 call  0x0000325a 
+ 00011481  0x000015ba call  0x00003241 
+ 00011482  0x000015bc branch  0x00002cac 
+ 00011483  0x000015bf call  0x0000325d 
+ 00011484  0x000015c1 beq  0x00000003 , 0x00002cd8 
+ 00011485  0x000015c2 call  0x0000323a 
+ 00011486  0x000015c4 isolate0  0x00000004 , 0x0000003f 
+ 00011487  0x000015c5 branch  0x00002ca9 , 0x00000001 
+ 00011488  0x000015c6 call  0x0000325d 
+ 00011489  0x000015c8 beq  0x00000001 , 0x00002cd7 
+ 00011490  0x000015c9 beq  0x00000002 , 0x00002cd8 
+ 00011491  0x000015ca rtn 
+ 00011492  0x000015cd call  0x00003253 
+ 00011493  0x000015cf rtnne  0x000000ff 
+ 00011494  0x000015d0 call  0x00002ce9 
+ 00011495  0x000015d1 ncall  0x00002cf4 , 0x0000002c 
+ 00011496  0x000015d2 rtn 
+ 00011497  0x000015d5 disable  0x0000002c 
+ 00011498  0x000015d6 add  0x00000013 , 0x000000ce , 0x00000011 
+ 00011499  0x000015d7 ifetch  0x00000001 , 0x00000011 
+ 00011500  0x000015d9 rtnne  0x00000001 
+ 00011501  0x000015da add  0x00000013 , 0x000000d0 , 0x00000011 
+ 00011502  0x000015db ifetch  0x00000001 , 0x00000011 
+ 00011503  0x000015dd rtnne  0x00000000 
+ 00011504  0x000015de setarg  0x00000001 
+ 00011505  0x000015df call  0x00002cfd 
+ 00011506  0x000015e1 call  0x00003237 
+ 00011507  0x000015e3 branch  0x00007feb 
+ 00011508  0x000015e6 add  0x00000013 , 0x000000d0 , 0x00000011 
+ 00011509  0x000015e7 ifetch  0x00000001 , 0x00000011 
+ 00011510  0x000015e9 branch  0x00002cff , 0x00000034 
+ 00011511  0x000015ea increase  0xffffffff , 0x0000003f 
+ 00011512  0x000015eb call  0x0000323f 
+ 00011513  0x000015ed setarg  0x00000002 
+ 00011514  0x000015ee call  0x00002cfd 
+ 00011515  0x000015f0 call  0x00002c8a 
+ 00011516  0x000015f2 branch  0x00003237 
+ 00011517  0x000015f5 add  0x00000013 , 0x000000d2 , 0x00000005 
+ 00011518  0x000015f6 branch  0x000032b4 
+ 00011519  0x000015fa setarg  0x00000003 
+ 00011520  0x000015fb call  0x00002cfd 
+ 00011521  0x000015fd call  0x00003258 
+ 00011522  0x000015ff nbranch  0x00002cc8 , 0x00000034 
+ 00011523  0x00001600 call  0x00002c8a 
+ 00011524  0x00001603 setarg  0x00000002 
+ 00011525  0x00001604 branch  0x00003238 
+ 00011526  0x00001607 rtnmark0  0x00000026 
+ 00011527  0x00001608 set1  0x00000027 , 0x00000000 
+ 00011528  0x00001609 bpatch  0x000000b3 , 0x00004016 
+ 00011529  0x0000160a add  0x00000013 , 0x0000008e , 0x00000011 
+ 00011530  0x0000160b ifetch  0x00000001 , 0x00000011 
+ 00011531  0x0000160d beq  0x00000001 , 0x00002d0f 
+ 00011532  0x0000160e call  0x0000306a 
+ 00011533  0x0000160f nbranch  0x00002d16 , 0x00000028 
+ 00011534  0x00001610 call  0x00002d1b 
+ 00011535  0x00001612 add  0x00000013 , 0x0000008e , 0x00000005 
+ 00011536  0x00001613 call  0x000032d6 
+ 00011537  0x00001615 call  0x00002d2c 
+ 00011538  0x00001616 nbranch  0x00002d7d , 0x00000028 
+ 00011539  0x00001617 call  0x00002ce4 
+ 00011540  0x00001619 call  0x00002d8f 
+ 00011541  0x0000161a call  0x00002e7a 
+ 00011542  0x0000161c set0  0x00000027 , 0x00000000 
+ 00011543  0x0000161d rtn 
+ 00011544  0x00001620 rtn  0x00000005 
+ 00011545  0x00001621 set1  0x0000001c , 0x0000003f 
+ 00011546  0x00001622 rtn 
+ 00011547  0x00001625 add  0x00000013 , 0x000000c2 , 0x00000011 
+ 00011548  0x00001626 ifetch  0x00000001 , 0x00000011 
+ 00011549  0x00001628 increase  0x00000001 , 0x0000003f 
+ 00011550  0x00001629 add  0x00000013 , 0x000000c2 , 0x00000005 
+ 00011551  0x0000162a istore  0x00000001 , 0x00000005 
+ 00011552  0x0000162c beq  0x00000004 , 0x00002d23 
+ 00011553  0x0000162d beq  0x00000005 , 0x00002d27 
+ 00011554  0x0000162e rtn 
+ 00011555  0x00001630 add  0x00000013 , 0x000000ad , 0x00000011 
+ 00011556  0x00001631 ifetch  0x00000001 , 0x00000011 
+ 00011557  0x00001635 add  0x00000013 , 0x000000ab , 0x00000005 
+ 00011558  0x00001636 branch  0x000032b4 
+ 00011559  0x00001639 add  0x00000013 , 0x000000c2 , 0x00000005 
+ 00011560  0x0000163a call  0x000032d6 
+ 00011561  0x0000163c add  0x00000013 , 0x000000ac , 0x00000011 
+ 00011562  0x0000163d ifetch  0x00000001 , 0x00000011 
+ 00011563  0x0000163f branch  0x00002d25 
+ 00011564  0x00001642 call  0x00003253 
+ 00011565  0x00001644 bne  0x000000ff , 0x00002eb1 
+ 00011566  0x00001645 bpatch  0x000000b4 , 0x00004016 
+ 00011567  0x00001646 call  0x00002d3a 
+ 00011568  0x00001647 nbranch  0x00002d36 , 0x00000028 
+ 00011569  0x00001648 call  0x00002d53 
+ 00011570  0x00001649 call  0x00002e71 
+ 00011571  0x0000164c setarg  0x00000001 
+ 00011572  0x0000164e add  0x00000013 , 0x0000008b , 0x00000005 
+ 00011573  0x0000164f branch  0x000032b4 
+ 00011574  0x00001652 add  0x00000013 , 0x0000008b , 0x00000011 
+ 00011575  0x00001653 ifetch  0x00000001 , 0x00000011 
+ 00011576  0x00001655 beq  0x00000001 , 0x00007fe7 
+ 00011577  0x00001656 rtn 
+ 00011578  0x0000165a add  0x00000013 , 0x000000d8 , 0x00000002 
+ 00011579  0x0000165b ifetch  0x00000002 , 0x00000002 
+ 00011580  0x0000165d call  0x00007f9c 
+ 00011581  0x0000165e nrtn  0x00000028 
+ 00011582  0x0000165f copy  0x00000011 , 0x0000003f 
+ 00011583  0x00001660 store  0x00000001 , 0x00000aae 
+ 00011584  0x00001661 add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00011585  0x00001662 call  0x000032d6 
+ 00011586  0x00001664 call  0x00002cac 
+ 00011587  0x00001665 store  0x00000001 , 0x0000119e 
+ 00011588  0x00001666 fetch  0x00000001 , 0x00000aae 
+ 00011589  0x00001667 copy  0x0000003f , 0x00000011 
+ 00011590  0x00001668 add  0x00000011 , 0x00000001 , 0x00000002 
+ 00011591  0x00001669 arg  0x0000119f , 0x00000005 
+ 00011592  0x0000166a copy  0x00000011 , 0x00000039 
+ 00011593  0x0000166b copy  0x00000012 , 0x00000006 
+ 00011594  0x0000166c call  0x00007f01 
+ 00011595  0x0000166d arg  0x0000119e , 0x00000011 
+ 00011596  0x0000166f rtnmark0  0x00000027 
+ 00011597  0x00001670 add  0x00000013 , 0x00000086 , 0x00000005 
+ 00011598  0x00001671 istoret  0x00000001 , 0x00000005 
+ 00011599  0x00001673 copy  0x00000002 , 0x00000039 
+ 00011600  0x00001674 add  0x00000013 , 0x00000022 , 0x00000005 
+ 00011601  0x00001676 copy  0x00000011 , 0x00000006 
+ 00011602  0x00001677 branch  0x00007f01 
+ 00011603  0x0000167b add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011604  0x0000167c ifetch  0x00000001 , 0x00000011 
+ 00011605  0x0000167e increase  0x00000002 , 0x0000003f 
+ 00011606  0x0000167f add  0x00000013 , 0x00000088 , 0x00000005 
+ 00011607  0x00001680 istore  0x00000001 , 0x00000005 
+ 00011608  0x00001683 call  0x0000323a 
+ 00011609  0x00001685 call  0x00003235 
+ 00011610  0x00001688 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011611  0x00001689 ifetch  0x00000001 , 0x00000011 
+ 00011612  0x0000168b lshift3  0x0000003f , 0x0000003f 
+ 00011613  0x0000168c add  0x00000013 , 0x00000085 , 0x00000011 
+ 00011614  0x0000168d ifetcht  0x00000001 , 0x00000011 
+ 00011615  0x0000168f and  0x00000002 , 0x00000003 , 0x00000002 
+ 00011616  0x00001690 lshift  0x00000002 , 0x00000002 
+ 00011617  0x00001691 ior  0x00000002 , 0x0000003f 
+ 00011618  0x00001692 add  0x00000013 , 0x000000c3 , 0x00000011 
+ 00011619  0x00001693 ifetcht  0x00000001 , 0x00000011 
+ 00011620  0x00001695 iadd  0x00000002 , 0x0000003f 
+ 00011621  0x00001696 istore  0x00000001 , 0x00000005 
+ 00011622  0x00001698 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011623  0x00001699 ifetch  0x00000001 , 0x00000011 
+ 00011624  0x0000169b iforce  0x00000039 
+ 00011625  0x0000169c add  0x00000013 , 0x00000022 , 0x00000006 
+ 00011626  0x0000169e branch  0x00007f01 
+ 00011627  0x000016a1 call  0x0000324f 
+ 00011628  0x000016a3 call  0x0000325a 
+ 00011629  0x000016a5 call  0x00002e6d 
+ 00011630  0x000016a6 call  0x00002cac 
+ 00011631  0x000016a7 store  0x00000001 , 0x0000119e 
+ 00011632  0x000016a8 call  0x00002d77 
+ 00011633  0x000016a9 call  0x0000323a 
+ 00011634  0x000016ab set1  0x00000003 , 0x0000003f 
+ 00011635  0x000016ac call  0x0000323c 
+ 00011636  0x000016ae call  0x00002d53 
+ 00011637  0x000016af call  0x00002d33 
+ 00011638  0x000016b0 branch  0x00002d14 
+ 00011639  0x000016b3 store  0x00000001 , 0x0000119f 
+ 00011640  0x000016b4 call  0x00003224 
+ 00011641  0x000016b6 store  0x00000004 , 0x000011a0 
+ 00011642  0x000016b7 arg  0x00000006 , 0x00000002 
+ 00011643  0x000016b8 arg  0x0000119e , 0x00000011 
+ 00011644  0x000016b9 branch  0x00002d4c 
+ 00011645  0x000016bc add  0x00000013 , 0x000000b2 , 0x00000011 
+ 00011646  0x000016bd ifetch  0x00000001 , 0x00000011 
+ 00011647  0x000016bf branch  0x00002d6b , 0x00000034 
+ 00011648  0x000016c2 add  0x00000013 , 0x000000da , 0x00000011 
+ 00011649  0x000016c3 ifetch  0x00000002 , 0x00000011 
+ 00011650  0x000016c5 branch  0x00007f9c 
+ 00011651  0x000016c8 call  0x00002c7a 
+ 00011652  0x000016ca call  0x00002afa 
+ 00011653  0x000016cb fetch  0x00000003 , 0x0000416f 
+ 00011654  0x000016cc rtn  0x00000034 
+ 00011655  0x000016cd add  0x00000013 , 0x000000dc , 0x00000002 
+ 00011656  0x000016ce ifetch  0x00000002 , 0x00000002 
+ 00011657  0x000016d0 call  0x00007f9c 
+ 00011658  0x000016d1 add  0x00000013 , 0x000000b6 , 0x00000002 
+ 00011659  0x000016d2 ifetch  0x00000008 , 0x00000002 
+ 00011660  0x000016d3 call  0x00007f49 
+ 00011661  0x000016d4 storet  0x00000004 , 0x0000415b 
+ 00011662  0x000016d5 branch  0x00002b2a 
+ 00011663  0x000016d8 call  0x00002c7a 
+ 00011664  0x000016d9 add  0x00000013 , 0x0000008f , 0x00000005 
+ 00011665  0x000016da call  0x000032d6 
+ 00011666  0x000016dd call  0x00002da4 
+ 00011667  0x000016de nbranch  0x00002dae , 0x00000018 
+ 00011668  0x000016df nbranch  0x00002dae , 0x0000002f 
+ 00011669  0x000016e0 call  0x00002dd6 
+ 00011670  0x000016e1 call  0x00002e75 
+ 00011671  0x000016e3 call  0x00002c7a 
+ 00011672  0x000016e4 add  0x00000013 , 0x00000085 , 0x00000011 
+ 00011673  0x000016e5 ifetch  0x00000001 , 0x00000011 
+ 00011674  0x000016e7 increase  0x00000001 , 0x0000003f 
+ 00011675  0x000016e8 call  0x00003232 
+ 00011676  0x000016ea call  0x00003253 
+ 00011677  0x000016ec bne  0x000000ff , 0x00002ed0 
+ 00011678  0x000016ed call  0x00002cdb 
+ 00011679  0x000016ef setarg  0x00000000 
+ 00011680  0x000016f0 add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011681  0x000016f1 istore  0x00000002 , 0x00000005 
+ 00011682  0x000016f5 setarg  0x00000000 
+ 00011683  0x000016f6 branch  0x00002d34 
+ 00011684  0x000016fa disable  0x0000002f 
+ 00011685  0x000016fb call  0x00002df7 
+ 00011686  0x000016fc call  0x00002c7a 
+ 00011687  0x000016fd add  0x00000013 , 0x000000c3 , 0x00000011 
+ 00011688  0x000016fe ifetch  0x00000001 , 0x00000011 
+ 00011689  0x00001700 beq  0x00000001 , 0x00002dac 
+ 00011690  0x00001701 call  0x00002e11 
+ 00011691  0x00001702 branch  0x00002e45 
+ 00011692  0x00001704 call  0x00002e45 
+ 00011693  0x00001705 branch  0x00002d97 
+ 00011694  0x00001709 bpatch  0x000000b5 , 0x00004016 
+ 00011695  0x0000170a add  0x00000013 , 0x0000008d , 0x00000011 
+ 00011696  0x0000170b ifetch  0x00000001 , 0x00000011 
+ 00011697  0x0000170d increase  0x00000001 , 0x0000003f 
+ 00011698  0x0000170e add  0x00000013 , 0x0000008d , 0x00000005 
+ 00011699  0x0000170f istore  0x00000001 , 0x00000005 
+ 00011700  0x00001711 call  0x00003253 
+ 00011701  0x00001713 bne  0x000000ff , 0x00002dcc 
+ 00011702  0x00001714 add  0x00000013 , 0x0000008f , 0x00000011 
+ 00011703  0x00001715 ifetcht  0x00000001 , 0x00000011 
+ 00011704  0x00001717 increase  0x00000001 , 0x00000002 
+ 00011705  0x00001718 add  0x00000013 , 0x0000008f , 0x00000005 
+ 00011706  0x00001719 istoret  0x00000001 , 0x00000005 
+ 00011707  0x0000171b add  0x00000013 , 0x000000cc , 0x00000011 
+ 00011708  0x0000171c ifetch  0x00000001 , 0x00000011 
+ 00011709  0x0000171e isub  0x00000002 , 0x0000003f 
+ 00011710  0x0000171f nbranch  0x00002d92 , 0x00000034 
+ 00011711  0x00001720 bpatch  0x000000b6 , 0x00004016 
+ 00011712  0x00001721 call  0x0000325d 
+ 00011713  0x00001723 beq  0x00000003 , 0x00002cbe 
+ 00011714  0x00001724 add  0x00000013 , 0x000000d1 , 0x00000011 
+ 00011715  0x00001725 ifetch  0x00000001 , 0x00000011 
+ 00011716  0x00001727 increase  0x00000001 , 0x0000003f 
+ 00011717  0x00001728 add  0x00000013 , 0x000000d1 , 0x00000005 
+ 00011718  0x00001729 istore  0x00000001 , 0x00000005 
+ 00011719  0x0000172b beq  0x00000002 , 0x00002cb3 
+ 00011720  0x0000172c call  0x00002caf 
+ 00011721  0x0000172d setarg  0x00000001 
+ 00011722  0x0000172e call  0x00003238 
+ 00011723  0x00001730 branch  0x00002d8f 
+ 00011724  0x00001733 add  0x00000013 , 0x0000008d , 0x00000011 
+ 00011725  0x00001734 ifetch  0x00000001 , 0x00000011 
+ 00011726  0x00001736 rtnne  0x000000ff 
+ 00011727  0x00001737 add  0x00000013 , 0x0000008d , 0x00000005 
+ 00011728  0x00001738 call  0x000032d6 
+ 00011729  0x0000173a branch  0x00002dd4 
+ 00011730  0x0000173d add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011731  0x0000173e call  0x000032d6 
+ 00011732  0x00001741 jam  0x0000003a , 0x00000a99 
+ 00011733  0x00001742 branch  0x00007d86 
+ 00011734  0x00001745 call  0x00002dde 
+ 00011735  0x00001746 add  0x00000013 , 0x00000084 , 0x00000011 
+ 00011736  0x00001747 ifetch  0x00000001 , 0x00000011 
+ 00011737  0x00001749 rtn  0x00000034 
+ 00011738  0x0000174a iforce  0x00000039 
+ 00011739  0x0000174b add  0x00000013 , 0x00000002 , 0x00000006 
+ 00011740  0x0000174d add  0x00000013 , 0x00000064 , 0x00000005 
+ 00011741  0x0000174f branch  0x00007f01 
+ 00011742  0x00001754 call  0x0000325f 
+ 00011743  0x00001756 rshift3  0x0000003f , 0x0000003f 
+ 00011744  0x00001757 add  0x00000013 , 0x00000084 , 0x00000005 
+ 00011745  0x00001758 istore  0x00000001 , 0x00000005 
+ 00011746  0x0000175b increase  0x00000001 , 0x0000003f 
+ 00011747  0x0000175c add  0x00000013 , 0x00000001 , 0x00000006 
+ 00011748  0x0000175e iadd  0x00000006 , 0x00000006 
+ 00011749  0x0000175f ifetch  0x00000003 , 0x00000006 
+ 00011750  0x00001760 add  0x00000013 , 0x000000c4 , 0x00000005 
+ 00011751  0x00001761 istore  0x00000003 , 0x00000005 
+ 00011752  0x00001764 call  0x0000325f 
+ 00011753  0x00001766 rshift  0x0000003f , 0x0000003f 
+ 00011754  0x00001767 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00011755  0x00001768 add  0x00000013 , 0x000000ca , 0x00000005 
+ 00011756  0x00001769 istore  0x00000001 , 0x00000005 
+ 00011757  0x0000176b rtn 
+ 00011758  0x0000176e disable  0x00000009 
+ 00011759  0x0000176f disable  0x00000007 
+ 00011760  0x00001770 setarg  0x00555555 
+ 00011761  0x00001771 iforce  0x0000000f 
+ 00011762  0x00001772 rtn 
+ 00011763  0x00001775 call  0x00002918 
+ 00011764  0x00001776 add  0x00000013 , 0x00000090 , 0x00000011 
+ 00011765  0x00001777 ifetcht  0x00000001 , 0x00000011 
+ 00011766  0x00001779 branch  0x00002933 
+ 00011767  0x0000177c call  0x00002dee 
+ 00011768  0x0000177d call  0x00002df3 
+ 00011769  0x0000177e set1  0x00000000 , 0x00000015 
+ 00011770  0x0000177f enable  0x0000001d 
+ 00011771  0x00001780 enable  0x00000020 
+ 00011772  0x00001781 disable  0x00000021 
+ 00011773  0x00001782 call  0x000053c4 
+ 00011774  0x00001783 call  0x0000322a 
+ 00011775  0x00001785 iforce  0x00000009 
+ 00011776  0x00001786 inject  0x00000003 , 0x00000020 
+ 00011777  0x00001787 enable  0x00000009 
+ 00011778  0x00001788 add  0x00000013 , 0x00000088 , 0x00000011 
+ 00011779  0x00001789 ifetch  0x00000001 , 0x00000011 
+ 00011780  0x0000178b iforce  0x00000039 
+ 00011781  0x0000178c add  0x00000013 , 0x00000042 , 0x00000006 
+ 00011782  0x0000178f ifetch  0x00000001 , 0x00000006 
+ 00011783  0x00001790 inject  0x00000003 , 0x00000008 
+ 00011784  0x00001791 loop  0x00002e06 
+ 00011785  0x00001792 enable  0x00000008 
+ 00011786  0x00001793 inject  0x00000003 , 0x00000018 
+ 00011787  0x00001794 disable  0x00000008 
+ 00011788  0x00001795 until  0x0000003e , 0x00000027 
+ 00011789  0x00001796 bpatch  0x000000b7 , 0x00004016 
+ 00011790  0x00001797 nop  0x00000064 
+ 00011791  0x00001798 disable  0x0000001d 
+ 00011792  0x00001799 rtn 
+ 00011793  0x0000179c disable  0x0000002f 
+ 00011794  0x0000179d force  0x00000000 , 0x00000015 
+ 00011795  0x0000179e add  0x00000013 , 0x00000090 , 0x00000011 
+ 00011796  0x0000179f ifetcht  0x00000001 , 0x00000011 
+ 00011797  0x000017a1 call  0x0000291f 
+ 00011798  0x000017a2 call  0x00002924 
+ 00011799  0x000017a4 call  0x00002dee 
+ 00011800  0x000017a5 enable  0x0000000d 
+ 00011801  0x000017a6 enable  0x00000021 
+ 00011802  0x000017a7 disable  0x00000020 
+ 00011803  0x000017a8 call  0x000053c4 
+ 00011804  0x000017a9 call  0x0000322a 
+ 00011805  0x000017ab iforce  0x00000009 
+ 00011806  0x000017ac enable  0x00000010 
+ 00011807  0x000017ad add  0x00000013 , 0x00000089 , 0x00000011 
+ 00011808  0x000017ae ifetch  0x00000002 , 0x00000011 
+ 00011809  0x000017b0 iforce  0x0000001b 
+ 00011810  0x000017b1 correlate  0x0000003e , 0x00000003 
+ 00011811  0x000017b2 nbranch  0x00002e4d , 0x00000018 
+ 00011812  0x000017b3 enable  0x00000009 
+ 00011813  0x000017b4 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011814  0x000017b5 rshift3  0x0000000c , 0x0000003f 
+ 00011815  0x000017b6 add  0x00000013 , 0x00000000 , 0x00000005 
+ 00011816  0x000017b7 istore  0x00000001 , 0x00000005 
+ 00011817  0x000017b9 add  0x00000013 , 0x000000cd , 0x00000011 
+ 00011818  0x000017ba ifetch  0x00000001 , 0x00000011 
+ 00011819  0x000017bc beq  0x00000002 , 0x00002e33 
+ 00011820  0x000017bd bpatch  0x000000b8 , 0x00004017 
+ 00011821  0x000017be add  0x00000013 , 0x00000000 , 0x00000011 
+ 00011822  0x000017bf ifetch  0x00000001 , 0x00000011 
+ 00011823  0x000017c1 add  0x00000013 , 0x00000087 , 0x00000011 
+ 00011824  0x000017c2 ifetcht  0x00000001 , 0x00000011 
+ 00011825  0x000017c4 icompare  0x00000007 , 0x00000002 
+ 00011826  0x000017c5 nbranch  0x00002e45 , 0x00000001 
+ 00011827  0x000017c7 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011828  0x000017c8 rshift3  0x0000000c , 0x0000003f 
+ 00011829  0x000017c9 istore  0x00000001 , 0x00000005 
+ 00011830  0x000017ca rshift3  0x0000003f , 0x0000003f 
+ 00011831  0x000017cb and  0x0000003f , 0x0000001f , 0x00000039 
+ 00011832  0x000017cc branch  0x00002e3d , 0x00000005 
+ 00011833  0x000017ce parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011834  0x000017cf rshift3  0x0000000c , 0x0000003f 
+ 00011835  0x000017d0 istore  0x00000001 , 0x00000005 
+ 00011836  0x000017d1 loop  0x00002e39 
+ 00011837  0x000017d3 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00011838  0x000017d4 rshift32  0x0000003f , 0x0000003f 
+ 00011839  0x000017d5 rshift16  0x0000003f , 0x0000003f 
+ 00011840  0x000017d6 istore  0x00000003 , 0x00000005 
+ 00011841  0x000017d7 branch  0x00002e45 , 0x00000006 
+ 00011842  0x000017d8 enable  0x0000002f 
+ 00011843  0x000017d9 disable  0x0000000d 
+ 00011844  0x000017da rtn 
+ 00011845  0x000017de disable  0x0000001d 
+ 00011846  0x000017df disable  0x0000000d 
+ 00011847  0x000017e0 disable  0x00000009 
+ 00011848  0x000017e1 disable  0x00000007 
+ 00011849  0x000017e2 branch  0x000028f9 , 0x00000021 
+ 00011850  0x000017e3 until  0x0000003e , 0x00000027 
+ 00011851  0x000017e4 nop  0x00000064 
+ 00011852  0x000017e5 branch  0x000028f9 
+ 00011853  0x000017e8 call  0x00002e4f 
+ 00011854  0x000017e9 branch  0x00002e45 
+ 00011855  0x000017ec call  0x000029bb 
+ 00011856  0x000017ed rtn  0x00000034 
+ 00011857  0x000017ee add  0x00000013 , 0x000000ea , 0x00000011 
+ 00011858  0x000017ef ifetcht  0x00000001 , 0x00000011 
+ 00011859  0x000017f1 arg  0x00000d9e , 0x00000011 
+ 00011860  0x000017f3 call  0x00002e58 
+ 00011861  0x000017f4 add  0x00000013 , 0x000000ea , 0x00000005 
+ 00011862  0x000017f7 istoret  0x00000001 , 0x00000005 
+ 00011863  0x000017f8 rtn 
+ 00011864  0x000017fb arg  0x000000ff , 0x00000012 
+ 00011865  0x000017fc branch  0x00002e5a 
+ 00011866  0x0000180f copy  0x00000011 , 0x0000003f 
+ 00011867  0x00001810 iadd  0x00000002 , 0x00000005 
+ 00011868  0x00001811 fetch  0x00000001 , 0x00000018 
+ 00011869  0x00001812 istore  0x00000001 , 0x00000005 
+ 00011870  0x00001813 increase  0x00000001 , 0x00000002 
+ 00011871  0x00001814 copy  0x00000012 , 0x0000003f 
+ 00011872  0x00001815 iand_into  0x00000002 
+ 00011873  0x00001816 rtn 
+ 00011874  0x00001819 arg  0x00000000 , 0x00000002 
+ 00011875  0x0000181a copy  0x00000011 , 0x00000006 
+ 00011876  0x0000181c ifetch  0x00000001 , 0x00000006 
+ 00011877  0x0000181d iadd  0x00000002 , 0x00000002 
+ 00011878  0x0000181e loop  0x00002e64 
+ 00011879  0x0000181f rshift8  0x00000002 , 0x00000002 
+ 00011880  0x00001820 rtn 
+ 00011881  0x00001823 call  0x00002c7a 
+ 00011882  0x00001824 call  0x00002e9f 
+ 00011883  0x00001825 setarg  0x00000001 
+ 00011884  0x00001826 call  0x00003272 
+ 00011885  0x00001829 setarg  0x00000000 
+ 00011886  0x0000182a call  0x00002e73 
+ 00011887  0x0000182c istore  0x00000001 , 0x00000005 
+ 00011888  0x0000182e rtn 
+ 00011889  0x00001831 call  0x00003270 
+ 00011890  0x00001833 increase  0x00000001 , 0x0000003f 
+ 00011891  0x00001836 add  0x00000013 , 0x000000fc , 0x00000005 
+ 00011892  0x00001837 branch  0x000032b4 
+ 00011893  0x0000183c add  0x00000013 , 0x000000fd , 0x00000011 
+ 00011894  0x0000183d ifetch  0x00000001 , 0x00000011 
+ 00011895  0x0000183e increase  0x00000001 , 0x0000003f 
+ 00011896  0x0000183f add  0x00000013 , 0x000000fd , 0x00000005 
+ 00011897  0x00001840 branch  0x000032b4 
+ 00011898  0x00001843 bpatch  0x000000b9 , 0x00004017 
+ 00011899  0x00001844 call  0x00003270 
+ 00011900  0x00001846 sub  0x0000003f , 0x0000007c , 0x0000003e 
+ 00011901  0x00001847 rtn  0x00000002 
+ 00011902  0x00001848 add  0x00000013 , 0x000000fd , 0x00000011 
+ 00011903  0x00001849 ifetcht  0x00000001 , 0x00000011 
+ 00011904  0x0000184b isub  0x00000002 , 0x00000002 
+ 00011905  0x0000184c call  0x00002e6d 
+ 00011906  0x0000184d setarg  0x00000102 
+ 00011907  0x0000184e iadd  0x00000013 , 0x00000011 
+ 00011908  0x0000184f ifetch  0x00000001 , 0x00000011 
+ 00011909  0x00001851 isub  0x00000002 , 0x0000003e 
+ 00011910  0x00001852 nbranch  0x00002e8d , 0x00000002 
+ 00011911  0x00001853 setarg  0x00000103 
+ 00011912  0x00001854 iadd  0x00000013 , 0x00000011 
+ 00011913  0x00001855 ifetch  0x00000001 , 0x00000011 
+ 00011914  0x00001857 isub  0x00000002 , 0x0000003e 
+ 00011915  0x00001858 branch  0x00002e99 , 0x00000002 
+ 00011916  0x00001859 rtn 
+ 00011917  0x0000185c add  0x00000013 , 0x000000fe , 0x00000011 
+ 00011918  0x0000185d ifetch  0x00000001 , 0x00000011 
+ 00011919  0x0000185f beq  0x00000002 , 0x00002e93 
+ 00011920  0x00001860 increase  0x00000001 , 0x0000003f 
+ 00011921  0x00001861 call  0x00003272 
+ 00011922  0x00001863 beq  0x00000001 , 0x00002e9f 
+ 00011923  0x00001865 setarg  0x0000000a 
+ 00011924  0x00001866 call  0x000032b0 
+ 00011925  0x00001868 setarg  0x00000000 
+ 00011926  0x00001869 call  0x000032b2 
+ 00011927  0x0000186c add  0x00000013 , 0x000000ff , 0x00000011 
+ 00011928  0x0000186e branch  0x00002ea5 
+ 00011929  0x00001871 add  0x00000013 , 0x000000fe , 0x00000011 
+ 00011930  0x00001872 ifetch  0x00000001 , 0x00000011 
+ 00011931  0x00001874 beq  0x00000000 , 0x00002ea7 
+ 00011932  0x00001875 increase  0xffffffff , 0x0000003f 
+ 00011933  0x00001876 call  0x00003272 
+ 00011934  0x00001878 beq  0x00000000 , 0x00002ea7 
+ 00011935  0x0000187d setarg  0x00000005 
+ 00011936  0x0000187e call  0x000032b0 
+ 00011937  0x00001880 setarg  0x00000000 
+ 00011938  0x00001881 call  0x000032b2 
+ 00011939  0x00001884 setarg  0x00000100 
+ 00011940  0x00001886 iadd  0x00000013 , 0x00000011 
+ 00011941  0x00001888 ifetch  0x00000001 , 0x00000011 
+ 00011942  0x0000188a branch  0x0000326a 
+ 00011943  0x0000188f setarg  0x00000002 
+ 00011944  0x00001890 call  0x000032b0 
+ 00011945  0x00001892 setarg  0x00000000 
+ 00011946  0x00001893 call  0x000032b2 
+ 00011947  0x00001896 setarg  0x00000101 
+ 00011948  0x00001898 branch  0x00002ea4 
+ 00011949  0x000018a7 set1  0x00000026 , 0x00000000 
+ 00011950  0x000018a8 call  0x00002c83 
+ 00011951  0x000018ab setarg  0x00000001 
+ 00011952  0x000018ac branch  0x00003256 
+ 00011953  0x000018af add  0x00000013 , 0x0000008b , 0x00000011 
+ 00011954  0x000018b0 ifetch  0x00000001 , 0x00000011 
+ 00011955  0x000018b2 beq  0x00000001 , 0x00007fe7 
+ 00011956  0x000018b3 call  0x00003253 
+ 00011957  0x000018b5 beq  0x00000001 , 0x00002eb9 
+ 00011958  0x000018b6 beq  0x00000002 , 0x00002ebd 
+ 00011959  0x000018b7 beq  0x00000003 , 0x00002ec1 
+ 00011960  0x000018b8 branch  0x00002a8c 
+ 00011961  0x000018bb setarg  0x00000011 
+ 00011962  0x000018bc call  0x00003256 
+ 00011963  0x000018be jam  0x000000aa , 0x0000119e 
+ 00011964  0x000018bf branch  0x00002ec4 
+ 00011965  0x000018c1 setarg  0x00000012 
+ 00011966  0x000018c2 call  0x00003256 
+ 00011967  0x000018c4 jam  0x00000055 , 0x0000119e 
+ 00011968  0x000018c5 branch  0x00002ec4 
+ 00011969  0x000018c7 setarg  0x00000013 
+ 00011970  0x000018c8 call  0x00003256 
+ 00011971  0x000018ca jam  0x00000022 , 0x0000119e 
+ 00011972  0x000018cc call  0x0000323a 
+ 00011973  0x000018ce and_into  0x00000007 , 0x0000003f 
+ 00011974  0x000018cf store  0x00000001 , 0x0000119f 
+ 00011975  0x000018d0 call  0x00003224 
+ 00011976  0x000018d2 store  0x00000004 , 0x000011a0 
+ 00011977  0x000018d4 jam  0x00000000 , 0x000011a4 
+ 00011978  0x000018d5 arg  0x0000119e , 0x00000011 
+ 00011979  0x000018d6 arg  0x00000007 , 0x00000002 
+ 00011980  0x000018d7 call  0x00002d4c 
+ 00011981  0x000018d8 call  0x00002d53 
+ 00011982  0x000018d9 call  0x00002d33 
+ 00011983  0x000018da branch  0x00007fe7 
+ 00011984  0x000018dd call  0x00003253 
+ 00011985  0x000018df rtneq  0x000000ff 
+ 00011986  0x000018e0 beq  0x00000011 , 0x00002ed6 
+ 00011987  0x000018e1 beq  0x00000012 , 0x00002ed9 
+ 00011988  0x000018e2 beq  0x00000013 , 0x00002edc 
+ 00011989  0x000018e3 rtn 
+ 00011990  0x000018e6 setarg  0x00000002 
+ 00011991  0x000018e7 call  0x00003256 
+ 00011992  0x000018e9 branch  0x00002d9f 
+ 00011993  0x000018eb setarg  0x00000003 
+ 00011994  0x000018ec call  0x00003256 
+ 00011995  0x000018ee branch  0x00002d9f 
+ 00011996  0x000018f0 setarg  0x000000ff 
+ 00011997  0x000018f1 call  0x00003256 
+ 00011998  0x000018f3 jam  0x00000039 , 0x00000a99 
+ 00011999  0x000018f4 call  0x00007d86 
+ 00012000  0x000018f5 add  0x00000013 , 0x00000066 , 0x00000011 
+ 00012001  0x000018f6 ifetch  0x00000004 , 0x00000011 
+ 00012002  0x000018f8 call  0x0000322c 
+ 00012003  0x000018fa branch  0x00002d9f 
+ 00012004  0x000018fd set0  0x00000026 , 0x00000000 
+ 00012005  0x000018fe call  0x00002f08 
+ 00012006  0x000018ff call  0x00002f22 
+ 00012007  0x00001901 call  0x00003263 
+ 00012008  0x00001903 nop  0x000007d0 
+ 00012009  0x00001904 call  0x00003261 
+ 00012010  0x00001905 beq  0x000000ff , 0x00002dd4 
+ 00012011  0x00001906 call  0x00002da4 
+ 00012012  0x00001907 nbranch  0x00002efa , 0x00000018 
+ 00012013  0x00001908 nbranch  0x00002efa , 0x0000002f 
+ 00012014  0x00001909 call  0x00002dd6 
+ 00012015  0x0000190a call  0x00002c7a 
+ 00012016  0x0000190b add  0x00000013 , 0x00000092 , 0x00000011 
+ 00012017  0x0000190c ifetcht  0x00000004 , 0x00000011 
+ 00012018  0x0000190d call  0x000030be 
+ 00012019  0x0000190e branch  0x00002ead , 0x00000005 
+ 00012020  0x0000190f call  0x00002c7a 
+ 00012021  0x00001910 add  0x00000013 , 0x00000066 , 0x00000011 
+ 00012022  0x00001911 ifetch  0x00000004 , 0x00000011 
+ 00012023  0x00001912 beq  0x00000000 , 0x00002ee7 
+ 00012024  0x00001913 call  0x0000322c 
+ 00012025  0x00001914 branch  0x00002f1c 
+ 00012026  0x00001917 call  0x00003261 
+ 00012027  0x00001918 increase  0x00000001 , 0x0000003f 
+ 00012028  0x00001919 call  0x00003264 
+ 00012029  0x0000191b call  0x00002f04 
+ 00012030  0x0000191c increase  0x00000001 , 0x0000003f 
+ 00012031  0x0000191d and_into  0x00000001 , 0x0000003f 
+ 00012032  0x0000191e call  0x00002f06 
+ 00012033  0x0000191f beq  0x00000000 , 0x00002f0c 
+ 00012034  0x00001920 beq  0x00000001 , 0x00002f0e 
+ 00012035  0x00001921 rtn 
+ 00012036  0x00001924 setarg  0x0000018b 
+ 00012037  0x00001925 branch  0x000032d0 
+ 00012038  0x00001927 arg  0x0000018b , 0x00000011 
+ 00012039  0x00001928 branch  0x000032b3 
+ 00012040  0x0000192b call  0x00003267 
+ 00012041  0x0000192c call  0x00003224 
+ 00012042  0x0000192d call  0x0000322c 
+ 00012043  0x0000192e branch  0x00002c8a 
+ 00012044  0x00001931 call  0x00002f08 
+ 00012045  0x00001932 branch  0x00002ee8 
+ 00012046  0x00001935 call  0x00002c83 
+ 00012047  0x00001936 branch  0x00002ee8 
+ 00012048  0x0000193a set0  0x00000026 , 0x00000000 
+ 00012049  0x0000193b call  0x00002c8a 
+ 00012050  0x0000193c call  0x00003253 
+ 00012051  0x0000193e rtnne  0x000000ff 
+ 00012052  0x0000193f call  0x00002f22 
+ 00012053  0x00001940 call  0x00003263 
+ 00012054  0x00001943 nop  0x000007d0 
+ 00012055  0x00001944 call  0x00003261 
+ 00012056  0x00001946 beq  0x000000ff , 0x00002dd4 
+ 00012057  0x00001947 call  0x00002da4 
+ 00012058  0x00001948 nbranch  0x00002f27 , 0x00000018 
+ 00012059  0x00001949 nbranch  0x00002f27 , 0x0000002f 
+ 00012060  0x0000194b set1  0x00000026 , 0x00000000 
+ 00012061  0x0000194c call  0x00003263 
+ 00012062  0x0000194d setarg  0x000000ff 
+ 00012063  0x0000194e call  0x00003256 
+ 00012064  0x00001950 jam  0x0000003c , 0x00000a99 
+ 00012065  0x00001951 branch  0x00007d86 
+ 00012066  0x00001954 set1  0x00000027 , 0x00000000 
+ 00012067  0x00001955 jam  0x000000ff , 0x0000119e 
+ 00012068  0x00001956 call  0x0000323a 
+ 00012069  0x00001958 call  0x00002d77 
+ 00012070  0x00001959 branch  0x00002d53 
+ 00012071  0x0000195c call  0x00003261 
+ 00012072  0x0000195e increase  0x00000001 , 0x0000003f 
+ 00012073  0x0000195f call  0x00003264 
+ 00012074  0x00001961 call  0x00002c8a 
+ 00012075  0x00001962 branch  0x00002f16 
+ 00012076  0x00001965 call  0x00003267 
+ 00012077  0x00001968 setarg  0x000000ff 
+ 00012078  0x00001969 call  0x00003256 
+ 00012079  0x0000196b branch  0x00002f10 
+ 00012080  0x00001975 bpatch  0x000000ba , 0x00004017 
+ 00012081  0x00001976 call  0x00002c7a 
+ 00012082  0x00001977 setarg  0x000031b0 
+ 00012083  0x00001978 add  0x00000013 , 0x000000de , 0x00000005 
+ 00012084  0x00001979 istore  0x00000002 , 0x00000005 
+ 00012085  0x0000197b call  0x00002f3d 
+ 00012086  0x0000197c call  0x000048ea 
+ 00012087  0x0000197d call  0x000032b6 
+ 00012088  0x0000197f bpatch  0x000000bb , 0x00004017 
+ 00012089  0x00001980 beq  0x00000000 , 0x00003055 
+ 00012090  0x00001981 beq  0x00000001 , 0x00002f45 
+ 00012091  0x00001982 beq  0x0000000f , 0x00002f41 
+ 00012092  0x00001983 branch  0x00002a8c 
+ 00012093  0x00001986 call  0x0000326c 
+ 00012094  0x00001987 arg  0x00000080 , 0x00000039 
+ 00012095  0x00001988 arg  0x00000d9e , 0x00000005 
+ 00012096  0x00001989 branch  0x00007ec6 
+ 00012097  0x0000198c call  0x00002f4c 
+ 00012098  0x0000198e call  0x00002f4f 
+ 00012099  0x0000198f call  0x000048d3 
+ 00012100  0x00001990 branch  0x00002f42 
+ 00012101  0x00001993 bpatch  0x000000bc , 0x00004017 
+ 00012102  0x00001994 call  0x00002f4c 
+ 00012103  0x00001996 call  0x00002f4f 
+ 00012104  0x00001997 call  0x00002fbd 
+ 00012105  0x00001998 call  0x000048d3 
+ 00012106  0x00001999 call  0x00003019 
+ 00012107  0x0000199a branch  0x00002f47 
+ 00012108  0x000019a0 call  0x00003291 
+ 00012109  0x000019a1 call  0x00003296 
+ 00012110  0x000019a2 branch  0x00003299 
+ 00012111  0x000019a5 call  0x0000328f 
+ 00012112  0x000019a7 rtnne  0x00000000 
+ 00012113  0x000019a9 call  0x00002f55 
+ 00012114  0x000019aa call  0x00002f65 
+ 00012115  0x000019ab call  0x0000316b 
+ 00012116  0x000019ac branch  0x00002f96 
+ 00012117  0x000019af call  0x00003294 
+ 00012118  0x000019b1 rtnbit1  0x00000000 
+ 00012119  0x000019b2 set1  0x00000000 , 0x0000003f 
+ 00012120  0x000019b3 call  0x00003297 
+ 00012121  0x000019b5 call  0x00003267 
+ 00012122  0x000019b8 call  0x00003299 
+ 00012123  0x000019ba jam  0x00000000 , 0x00000d38 
+ 00012124  0x000019bb call  0x0000324f 
+ 00012125  0x000019bd call  0x00002f61 
+ 00012126  0x000019bf add  0x00000013 , 0x00000000 , 0x00000005 
+ 00012127  0x000019c1 arg  0x00000042 , 0x00000039 
+ 00012128  0x000019c2 branch  0x00007ed4 
+ 00012129  0x000019c5 call  0x00003231 
+ 00012130  0x000019c7 call  0x0000327d 
+ 00012131  0x000019c9 call  0x0000322c 
+ 00012132  0x000019cb branch  0x00002c8a 
+ 00012133  0x000019ce bpatch  0x000000bd , 0x00004017 
+ 00012134  0x000019cf call  0x0000324c 
+ 00012135  0x000019d1 beq  0x00000001 , 0x00002f8d 
+ 00012136  0x000019d2 call  0x00003245 
+ 00012137  0x000019d4 beq  0x00000001 , 0x00002c8a 
+ 00012138  0x000019d5 setarg  0x00000136 
+ 00012139  0x000019d6 iadd  0x00000013 , 0x00000011 
+ 00012140  0x000019d7 ifetcht  0x00000004 , 0x00000011 
+ 00012141  0x000019d9 copy  0x00000022 , 0x0000003f 
+ 00012142  0x000019da isub  0x00000002 , 0x0000003e 
+ 00012143  0x000019db ncall  0x00002d18 , 0x00000002 
+ 00012144  0x000019dc copy  0x0000003f , 0x00000012 
+ 00012145  0x000019dd setarg  0x00000136 
+ 00012146  0x000019de iadd  0x00000013 , 0x00000011 
+ 00012147  0x000019df ifetch  0x00000004 , 0x00000011 
+ 00012148  0x000019e0 copy  0x0000003f , 0x00000002 
+ 00012149  0x000019e2 setarg  0x0000013a 
+ 00012150  0x000019e3 iadd  0x00000013 , 0x00000011 
+ 00012151  0x000019e4 copy  0x00000002 , 0x0000003f 
+ 00012152  0x000019e5 ifetcht  0x00000001 , 0x00000011 
+ 00012153  0x000019e7 iadd  0x00000002 , 0x00000002 
+ 00012154  0x000019e8 copy  0x00000012 , 0x0000003f 
+ 00012155  0x000019e9 isub  0x00000002 , 0x0000003e 
+ 00012156  0x000019ea nrtn  0x00000002 
+ 00012157  0x000019eb set0  0x0000001c , 0x0000003f 
+ 00012158  0x000019ec setarg  0x00000136 
+ 00012159  0x000019ed iadd  0x00000013 , 0x00000005 
+ 00012160  0x000019ee istore  0x00000004 , 0x00000005 
+ 00012161  0x000019f1 call  0x00002c8a 
+ 00012162  0x000019f2 call  0x00003278 
+ 00012163  0x000019f4 increase  0x00000001 , 0x0000003f 
+ 00012164  0x000019f5 call  0x0000327b 
+ 00012165  0x000019f7 rtnne  0x00000002 
+ 00012166  0x000019f8 call  0x0000327a 
+ 00012167  0x000019fc branch  0x0000324f 
+ 00012168  0x000019ff copy  0x00000022 , 0x0000003f 
+ 00012169  0x00001a00 arg  0x00000136 , 0x00000011 
+ 00012170  0x00001a01 call  0x000032bf 
+ 00012171  0x00001a02 istore  0x00000004 , 0x00000005 
+ 00012172  0x00001a06 branch  0x0000327a 
+ 00012173  0x00001a09 arg  0x00000d9e , 0x00000011 
+ 00012174  0x00001a0a call  0x00002f94 
+ 00012175  0x00001a0b add  0x00000013 , 0x000000eb , 0x00000005 
+ 00012176  0x00001a0c istoret  0x00000001 , 0x00000005 
+ 00012177  0x00001a0e sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012178  0x00001a0f nrtn  0x00000002 
+ 00012179  0x00001a10 branch  0x00002c8a 
+ 00012180  0x00001a13 arg  0x00000100 , 0x00000039 
+ 00012181  0x00001a14 branch  0x00002e62 
+ 00012182  0x00001a17 call  0x00002f99 
+ 00012183  0x00001a18 call  0x00002fa5 
+ 00012184  0x00001a19 branch  0x00002fb1 
+ 00012185  0x00001a1c setarg  0x00000180 
+ 00012186  0x00001a1d call  0x000032d0 
+ 00012187  0x00001a1f rtn  0x00000034 
+ 00012188  0x00001a20 arg  0x0000000b , 0x00000007 
+ 00012189  0x00001a21 call  0x00007f16 
+ 00012190  0x00001a22 nrtn  0x00000034 
+ 00012191  0x00001a23 call  0x000032a7 
+ 00012192  0x00001a25 setarg  0x00000001 
+ 00012193  0x00001a26 store  0x00000001 , 0x00000d54 
+ 00012194  0x00001a27 setarg  0x00000000 
+ 00012195  0x00001a28 istore  0x00000007 , 0x00000005 
+ 00012196  0x00001a29 branch  0x000031b8 
+ 00012197  0x00001a2c setarg  0x0000017e 
+ 00012198  0x00001a2d call  0x000032d0 
+ 00012199  0x00001a2f rtn  0x00000034 
+ 00012200  0x00001a30 arg  0x0000000e , 0x00000007 
+ 00012201  0x00001a31 call  0x00007f16 
+ 00012202  0x00001a32 nrtn  0x00000034 
+ 00012203  0x00001a33 call  0x000032aa 
+ 00012204  0x00001a35 arg  0x00000d64 , 0x00000005 
+ 00012205  0x00001a36 arg  0x00000002 , 0x00000039 
+ 00012206  0x00001a37 call  0x00007ec6 
+ 00012207  0x00001a38 jam  0x00000000 , 0x00000d64 
+ 00012208  0x00001a39 branch  0x000031ed 
+ 00012209  0x00001a3c setarg  0x0000017f 
+ 00012210  0x00001a3d call  0x000032d0 
+ 00012211  0x00001a3f rtn  0x00000034 
+ 00012212  0x00001a40 arg  0x0000000c , 0x00000007 
+ 00012213  0x00001a41 call  0x00007f16 
+ 00012214  0x00001a42 nrtn  0x00000034 
+ 00012215  0x00001a43 call  0x000032ad 
+ 00012216  0x00001a45 arg  0x00000d74 , 0x00000005 
+ 00012217  0x00001a46 arg  0x00000002 , 0x00000039 
+ 00012218  0x00001a47 call  0x00007ec6 
+ 00012219  0x00001a48 jam  0x00000003 , 0x00000d74 
+ 00012220  0x00001a49 branch  0x00003207 
+ 00012221  0x00001a4c call  0x0000328f 
+ 00012222  0x00001a4e rtnne  0x00000001 
+ 00012223  0x00001a4f call  0x00002fc1 
+ 00012224  0x00001a50 branch  0x00002fcb 
+ 00012225  0x00001a53 call  0x00003294 
+ 00012226  0x00001a55 rtnbit1  0x00000001 
+ 00012227  0x00001a56 set1  0x00000001 , 0x0000003f 
+ 00012228  0x00001a57 call  0x00003297 
+ 00012229  0x00001a59 call  0x0000329c 
+ 00012230  0x00001a5b call  0x00002c83 
+ 00012231  0x00001a5c setarg  0x00000000 
+ 00012232  0x00001a5d arg  0x00000106 , 0x00000011 
+ 00012233  0x00001a5e call  0x000032bf 
+ 00012234  0x00001a60 branch  0x000032c5 
+ 00012235  0x00001a63 call  0x0000316e 
+ 00012236  0x00001a64 nbranch  0x00002f5e , 0x0000002f 
+ 00012237  0x00001a65 add  0x00000013 , 0x00000000 , 0x00000006 
+ 00012238  0x00001a66 setarg  0x00000109 
+ 00012239  0x00001a67 iadd  0x00000013 , 0x00000005 
+ 00012240  0x00001a68 arg  0x00000008 , 0x00000039 
+ 00012241  0x00001a69 call  0x00007f01 
+ 00012242  0x00001a6a setarg  0x0000010b 
+ 00012243  0x00001a6b call  0x000032d0 
+ 00012244  0x00001a6c beq  0x000000aa , 0x00002fd9 
+ 00012245  0x00001a6d beq  0x00000055 , 0x00002fed 
+ 00012246  0x00001a6e beq  0x00000022 , 0x00003001 
+ 00012247  0x00001a6f beq  0x000000ff , 0x00003212 
+ 00012248  0x00001a70 branch  0x00002f5e 
+ 00012249  0x00001a73 call  0x000032bd 
+ 00012250  0x00001a74 beq  0x00000001 , 0x00002fdd 
+ 00012251  0x00001a75 beq  0x00000002 , 0x00002fe8 
+ 00012252  0x00001a76 rtn 
+ 00012253  0x00001a78 setarg  0x00000001 
+ 00012254  0x00001a79 call  0x00002ff7 
+ 00012255  0x00001a7c setarg  0x00000001 
+ 00012256  0x00001a7d call  0x00003289 
+ 00012257  0x00001a80 setarg  0x00000080 
+ 00012258  0x00001a81 arg  0x00000130 , 0x00000011 
+ 00012259  0x00001a82 call  0x000032b3 
+ 00012260  0x00001a84 call  0x0000327d 
+ 00012261  0x00001a86 arg  0x00000131 , 0x00000011 
+ 00012262  0x00001a87 call  0x000032bf 
+ 00012263  0x00001a89 branch  0x0000322d 
+ 00012264  0x00001a8c setarg  0x00000001 
+ 00012265  0x00001a8d call  0x00002fff 
+ 00012266  0x00001a90 setarg  0x00000002 
+ 00012267  0x00001a91 call  0x00003289 
+ 00012268  0x00001a93 branch  0x00002fe1 
+ 00012269  0x00001a96 call  0x000032bd 
+ 00012270  0x00001a97 beq  0x00000001 , 0x00002ff1 
+ 00012271  0x00001a98 beq  0x00000002 , 0x00002ff9 
+ 00012272  0x00001a99 rtn 
+ 00012273  0x00001a9b call  0x00002fdf 
+ 00012274  0x00001a9c setarg  0x00000106 
+ 00012275  0x00001a9d call  0x000032d0 
+ 00012276  0x00001a9f beq  0x00000001 , 0x00002ff6 
+ 00012277  0x00001aa0 rtn 
+ 00012278  0x00001aa2 setarg  0x00000002 
+ 00012279  0x00001aa5 arg  0x00000106 , 0x00000011 
+ 00012280  0x00001aa6 branch  0x000032b3 
+ 00012281  0x00001aa9 call  0x00002fea 
+ 00012282  0x00001aaa setarg  0x00000107 
+ 00012283  0x00001aab call  0x000032d0 
+ 00012284  0x00001aad beq  0x00000001 , 0x00002ffe 
+ 00012285  0x00001aae rtn 
+ 00012286  0x00001ab0 setarg  0x00000002 
+ 00012287  0x00001ab3 arg  0x00000107 , 0x00000011 
+ 00012288  0x00001ab4 branch  0x000032b3 
+ 00012289  0x00001ab7 call  0x000032bd 
+ 00012290  0x00001ab8 beq  0x00000001 , 0x00003005 
+ 00012291  0x00001ab9 beq  0x00000002 , 0x00003011 
+ 00012292  0x00001aba rtn 
+ 00012293  0x00001abc setarg  0x00000106 
+ 00012294  0x00001abd call  0x000032d0 
+ 00012295  0x00001abf beq  0x00000002 , 0x00003009 
+ 00012296  0x00001ac0 rtn 
+ 00012297  0x00001ac2 call  0x0000328b 
+ 00012298  0x00001ac4 or_into  0x00000001 , 0x0000003f 
+ 00012299  0x00001ac5 call  0x0000328d 
+ 00012300  0x00001ac8 setarg  0x00000000 
+ 00012301  0x00001ac9 setarg  0x00000106 
+ 00012302  0x00001aca iadd  0x00000013 , 0x00000005 
+ 00012303  0x00001acb istore  0x00000002 , 0x00000005 
+ 00012304  0x00001acc branch  0x00002f5e 
+ 00012305  0x00001acf setarg  0x00000107 
+ 00012306  0x00001ad0 call  0x000032d0 
+ 00012307  0x00001ad2 bne  0x00000000 , 0x00003015 
+ 00012308  0x00001ad3 rtn 
+ 00012309  0x00001ad5 call  0x0000328b 
+ 00012310  0x00001ad7 or_into  0x00000002 , 0x0000003f 
+ 00012311  0x00001ad8 call  0x0000328d 
+ 00012312  0x00001ada branch  0x0000300c 
+ 00012313  0x00001ade fetch  0x00000001 , 0x00000d50 
+ 00012314  0x00001adf rtn  0x00000034 
+ 00012315  0x00001ae0 jam  0x00000000 , 0x00000d50 
+ 00012316  0x00001ae1 fetch  0x00000002 , 0x00000d4e 
+ 00012317  0x00001ae2 arg  0x000002ba , 0x00000002 
+ 00012318  0x00001ae3 isub  0x00000002 , 0x0000003e 
+ 00012319  0x00001ae4 nrtn  0x00000005 
+ 00012320  0x00001ae6 fetch  0x00000001 , 0x00000cb6 
+ 00012321  0x00001ae7 rtnne  0x000000ba 
+ 00012322  0x00001ae8 fetch  0x00000001 , 0x00000cb7 
+ 00012323  0x00001ae9 bpatch  0x000000be , 0x00004017 
+ 00012324  0x00001aea beq  0x000000a0 , 0x0000303b 
+ 00012325  0x00001aeb beq  0x000000a1 , 0x0000302c 
+ 00012326  0x00001aec beq  0x000000a6 , 0x00003041 
+ 00012327  0x00001aed beq  0x000000a7 , 0x00003043 
+ 00012328  0x00001aee beq  0x000000a9 , 0x00003049 
+ 00012329  0x00001aef beq  0x000000b0 , 0x0000304d 
+ 00012330  0x00001af1 jam  0x00000000 , 0x00000d42 
+ 00012331  0x00001af2 rtn 
+ 00012332  0x00001af4 fetch  0x00000001 , 0x00000cb8 
+ 00012333  0x00001af5 beq  0x00000001 , 0x00003031 
+ 00012334  0x00001af6 beq  0x00000084 , 0x00003034 
+ 00012335  0x00001af7 beq  0x000000a7 , 0x00003039 
+ 00012336  0x00001af8 branch  0x0000302a 
+ 00012337  0x00001afa call  0x0000328b 
+ 00012338  0x00001afc store  0x00000001 , 0x00000cf7 
+ 00012339  0x00001afd branch  0x0000303f 
+ 00012340  0x00001aff call  0x00003291 
+ 00012341  0x00001b01 call  0x00003296 
+ 00012342  0x00001b03 call  0x0000328b 
+ 00012343  0x00001b05 store  0x00000001 , 0x00000cf7 
+ 00012344  0x00001b06 branch  0x0000303f 
+ 00012345  0x00001b0a jam  0x000000a1 , 0x00000cf7 
+ 00012346  0x00001b0b branch  0x0000303f 
+ 00012347  0x00001b0e fetch  0x00000001 , 0x00000cb8 
+ 00012348  0x00001b0f beq  0x00000081 , 0x0000303e 
+ 00012349  0x00001b11 branch  0x0000302a 
+ 00012350  0x00001b15 call  0x00003090 
+ 00012351  0x00001b17 jam  0x00000001 , 0x00000d42 
+ 00012352  0x00001b18 rtn 
+ 00012353  0x00001b1e jam  0x00000015 , 0x00000cf7 
+ 00012354  0x00001b1f branch  0x0000303f 
+ 00012355  0x00001b22 call  0x0000328f 
+ 00012356  0x00001b24 beq  0x00000000 , 0x00003047 
+ 00012357  0x00001b25 beq  0x00000001 , 0x00003039 
+ 00012358  0x00001b27 rtn 
+ 00012359  0x00001b29 jam  0x000000a0 , 0x00000cf7 
+ 00012360  0x00001b2a branch  0x0000303f 
+ 00012361  0x00001b30 jam  0x00000000 , 0x00000cf7 
+ 00012362  0x00001b31 jam  0x00000000 , 0x00000cf8 
+ 00012363  0x00001b32 jam  0x00000001 , 0x00000cf9 
+ 00012364  0x00001b33 branch  0x0000303f 
+ 00012365  0x00001b37 call  0x0000329c 
+ 00012366  0x00001b38 fetch  0x00000001 , 0x00000cb8 
+ 00012367  0x00001b39 increase  0x00000002 , 0x0000003f 
+ 00012368  0x00001b3a copy  0x0000003f , 0x00000039 
+ 00012369  0x00001b3b arg  0x00000cb6 , 0x00000006 
+ 00012370  0x00001b3c setarg  0x0000013c 
+ 00012371  0x00001b3d iadd  0x00000013 , 0x00000005 
+ 00012372  0x00001b3e branch  0x00007f01 
+ 00012373  0x00001b42 bpatch  0x000000bf , 0x00004017 
+ 00012374  0x00001b43 call  0x0000307d 
+ 00012375  0x00001b45 call  0x00002c7f 
+ 00012376  0x00001b46 call  0x000048d3 
+ 00012377  0x00001b47 branch  0x00003057 
+ 00012378  0x00001b4a call  0x0000328f 
+ 00012379  0x00001b4c rtnne  0x00000000 
+ 00012380  0x00001b4d call  0x00002f51 
+ 00012381  0x00001b4e branch  0x00003098 
+ 00012382  0x00001b51 call  0x0000328f 
+ 00012383  0x00001b53 rtnne  0x00000001 
+ 00012384  0x00001b54 call  0x00002fc1 
+ 00012385  0x00001b55 call  0x00002fcb 
+ 00012386  0x00001b56 call  0x0000328b 
+ 00012387  0x00001b58 rtn  0x00000034 
+ 00012388  0x00001b59 call  0x00003286 
+ 00012389  0x00001b5b call  0x00002f4c 
+ 00012390  0x00001b5c call  0x00003093 
+ 00012391  0x00001b5e setarg  0x00000000 
+ 00012392  0x00001b5f add  0x00000013 , 0x000000a7 , 0x00000005 
+ 00012393  0x00001b61 branch  0x0000322d 
+ 00012394  0x00001b64 call  0x00007fe9 
+ 00012395  0x00001b65 add  0x00000013 , 0x000000a7 , 0x00000011 
+ 00012396  0x00001b66 ifetcht  0x00000004 , 0x00000011 
+ 00012397  0x00001b68 copy  0x00000022 , 0x0000003f 
+ 00012398  0x00001b69 isub  0x00000002 , 0x0000003e 
+ 00012399  0x00001b6a ncall  0x00002d18 , 0x00000002 
+ 00012400  0x00001b6b copy  0x0000003f , 0x00000012 
+ 00012401  0x00001b6c add  0x00000013 , 0x000000a7 , 0x00000011 
+ 00012402  0x00001b6d ifetch  0x00000004 , 0x00000011 
+ 00012403  0x00001b6f add  0x00000013 , 0x000000ab , 0x00000011 
+ 00012404  0x00001b70 ifetcht  0x00000001 , 0x00000011 
+ 00012405  0x00001b72 iadd  0x00000002 , 0x00000002 
+ 00012406  0x00001b73 copy  0x00000012 , 0x0000003f 
+ 00012407  0x00001b74 isub  0x00000002 , 0x0000003e 
+ 00012408  0x00001b75 nrtn  0x00000002 
+ 00012409  0x00001b76 set0  0x0000001c , 0x0000003f 
+ 00012410  0x00001b77 add  0x00000013 , 0x000000a7 , 0x00000005 
+ 00012411  0x00001b78 istore  0x00000004 , 0x00000005 
+ 00012412  0x00001b7a branch  0x00007fe7 
+ 00012413  0x00001b7d setarg  0x00000001 
+ 00012414  0x00001b7e call  0x00003287 
+ 00012415  0x00001b80 call  0x00003283 
+ 00012416  0x00001b82 setarg  0x000000ff 
+ 00012417  0x00001b83 add  0x00000013 , 0x000000ab , 0x00000005 
+ 00012418  0x00001b84 istore  0x00000001 , 0x00000005 
+ 00012419  0x00001b86 branch  0x00003067 
+ 00012420  0x00001b89 setarg  0x0000015c 
+ 00012421  0x00001b8a call  0x000032d0 
+ 00012422  0x00001b8c rtn  0x00000034 
+ 00012423  0x00001b8d call  0x0000306a 
+ 00012424  0x00001b8e nrtn  0x00000028 
+ 00012425  0x00001b8f call  0x00003281 
+ 00012426  0x00001b91 increase  0x00000001 , 0x0000003f 
+ 00012427  0x00001b92 and_into  0x00000001 , 0x0000003f 
+ 00012428  0x00001b93 call  0x00003284 
+ 00012429  0x00001b95 beq  0x00000000 , 0x00002f4c 
+ 00012430  0x00001b96 beq  0x00000001 , 0x00003090 
+ 00012431  0x00001b97 rtn 
+ 00012432  0x00001b9d setarg  0x00000001 
+ 00012433  0x00001b9e call  0x00003292 
+ 00012434  0x00001b9f branch  0x00003296 
+ 00012435  0x00001ba2 setarg  0x00000001 
+ 00012436  0x00001ba3 call  0x000032a5 
+ 00012437  0x00001ba5 setarg  0x00000280 
+ 00012438  0x00001ba6 arg  0x00000008 , 0x00000007 
+ 00012439  0x00001ba7 branch  0x00007f08 
+ 00012440  0x00001baa call  0x000032a2 
+ 00012441  0x00001bac rtn  0x00000034 
+ 00012442  0x00001bad arg  0x00000008 , 0x00000007 
+ 00012443  0x00001bae call  0x00007f16 
+ 00012444  0x00001baf nrtn  0x00000034 
+ 00012445  0x00001bb0 call  0x000032a4 
+ 00012446  0x00001bb3 setarg  0x00000007 
+ 00012447  0x00001bb4 call  0x00003292 
+ 00012448  0x00001bb6 call  0x00003296 
+ 00012449  0x00001bb8 branch  0x00002f5e 
+ 00012450  0x00001bbb bpatch  0x000000c0 , 0x00004018 
+ 00012451  0x00001bbc call  0x0000328f 
+ 00012452  0x00001bbe rtnne  0x00000007 
+ 00012453  0x00001bbf call  0x000030cb 
+ 00012454  0x00001bc0 call  0x000030e0 
+ 00012455  0x00001bc1 call  0x0000316e 
+ 00012456  0x00001bc2 nbranch  0x00002f5e , 0x0000002f 
+ 00012457  0x00001bc4 call  0x000030bc 
+ 00012458  0x00001bc5 call  0x00003172 , 0x00000005 
+ 00012459  0x00001bc9 call  0x00002f4c 
+ 00012460  0x00001bca call  0x00003294 
+ 00012461  0x00001bcc set1  0x00000000 , 0x0000003f 
+ 00012462  0x00001bcd call  0x00003297 
+ 00012463  0x00001bcf call  0x00002f5e 
+ 00012464  0x00001bd0 call  0x00003093 
+ 00012465  0x00001bd1 call  0x000030bc 
+ 00012466  0x00001bd2 branch  0x000030c1 , 0x00000005 
+ 00012467  0x00001bd3 setarg  0x00000164 
+ 00012468  0x00001bd4 call  0x000032d3 
+ 00012469  0x00001bd6 call  0x000030be 
+ 00012470  0x00001bd7 branch  0x000030c5 , 0x00000005 
+ 00012471  0x00001bd8 setarg  0x00000160 
+ 00012472  0x00001bd9 call  0x000032d3 
+ 00012473  0x00001bdb call  0x000030be 
+ 00012474  0x00001bdc branch  0x000030c8 , 0x00000005 
+ 00012475  0x00001bdd rtn 
+ 00012476  0x00001be0 setarg  0x0000012b 
+ 00012477  0x00001be1 call  0x000032d3 
+ 00012478  0x00001be4 call  0x0000322a 
+ 00012479  0x00001be6 isub  0x00000002 , 0x0000003e 
+ 00012480  0x00001be7 rtn 
+ 00012481  0x00001bea setarg  0x00000182 
+ 00012482  0x00001beb call  0x000032d0 
+ 00012483  0x00001bef add  0x00000013 , 0x00000091 , 0x00000005 
+ 00012484  0x00001bf0 branch  0x000032b4 
+ 00012485  0x00001bf3 setarg  0x00000185 
+ 00012486  0x00001bf4 call  0x000032d0 
+ 00012487  0x00001bf6 branch  0x000030c3 
+ 00012488  0x00001bf8 setarg  0x00000188 
+ 00012489  0x00001bf9 call  0x000032d0 
+ 00012490  0x00001bfb branch  0x000030c3 
+ 00012491  0x00001bfe call  0x00003294 
+ 00012492  0x00001c00 rtnbit1  0x00000007 
+ 00012493  0x00001c01 set1  0x00000007 , 0x0000003f 
+ 00012494  0x00001c02 call  0x00003297 
+ 00012495  0x00001c04 call  0x00003283 
+ 00012496  0x00001c06 call  0x0000329c 
+ 00012497  0x00001c08 setarg  0x00000000 
+ 00012498  0x00001c09 add  0x00000013 , 0x000000f5 , 0x00000005 
+ 00012499  0x00001c0a istore  0x00000003 , 0x00000005 
+ 00012500  0x00001c0c arg  0x00000183 , 0x00000011 
+ 00012501  0x00001c0d call  0x000032bf 
+ 00012502  0x00001c0e istore  0x00000007 , 0x00000005 
+ 00012503  0x00001c11 call  0x000030bc 
+ 00012504  0x00001c12 nrtn  0x00000005 
+ 00012505  0x00001c13 add  0x00000013 , 0x00000091 , 0x00000011 
+ 00012506  0x00001c14 ifetch  0x00000001 , 0x00000011 
+ 00012507  0x00001c16 arg  0x00000182 , 0x00000011 
+ 00012508  0x00001c17 call  0x000032b3 
+ 00012509  0x00001c19 add  0x00000013 , 0x00000090 , 0x00000011 
+ 00012510  0x00001c1a ifetch  0x00000001 , 0x00000011 
+ 00012511  0x00001c1d branch  0x0000314a 
+ 00012512  0x00001c20 bpatch  0x000000c1 , 0x00004018 
+ 00012513  0x00001c21 call  0x00003281 
+ 00012514  0x00001c23 increase  0x00000001 , 0x0000003f 
+ 00012515  0x00001c24 and_into  0x00000003 , 0x0000003f 
+ 00012516  0x00001c25 call  0x00003284 
+ 00012517  0x00001c28 beq  0x00000000 , 0x0000310e 
+ 00012518  0x00001c29 beq  0x00000001 , 0x00003132 
+ 00012519  0x00001c2a beq  0x00000002 , 0x000030ea 
+ 00012520  0x00001c2b beq  0x00000003 , 0x00003132 
+ 00012521  0x00001c2c rtn 
+ 00012522  0x00001c2f call  0x00002fdf 
+ 00012523  0x00001c30 setarg  0x00000160 
+ 00012524  0x00001c31 call  0x0000327e 
+ 00012525  0x00001c33 branch  0x000030e0 , 0x00000034 
+ 00012526  0x00001c34 call  0x0000322c 
+ 00012527  0x00001c36 setarg  0x00000189 
+ 00012528  0x00001c37 call  0x000032d0 
+ 00012529  0x00001c39 call  0x00003108 , 0x00000034 
+ 00012530  0x00001c3a setarg  0x00000187 
+ 00012531  0x00001c3b call  0x000032d0 
+ 00012532  0x00001c3d call  0x0000322f 
+ 00012533  0x00001c3f add  0x00000013 , 0x000000f7 , 0x00000011 
+ 00012534  0x00001c40 ifetcht  0x00000001 , 0x00000011 
+ 00012535  0x00001c42 arg  0x00000f9e , 0x00000011 
+ 00012536  0x00001c43 call  0x00002e58 
+ 00012537  0x00001c44 add  0x00000013 , 0x000000f7 , 0x00000005 
+ 00012538  0x00001c45 istoret  0x00000001 , 0x00000005 
+ 00012539  0x00001c47 call  0x00002f94 
+ 00012540  0x00001c48 add  0x00000013 , 0x000000fa , 0x00000005 
+ 00012541  0x00001c49 istoret  0x00000001 , 0x00000005 
+ 00012542  0x00001c4b sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012543  0x00001c4c nrtn  0x00000002 
+ 00012544  0x00001c4d setarg  0x00000188 
+ 00012545  0x00001c4e call  0x00003275 
+ 00012546  0x00001c50 call  0x00002c90 
+ 00012547  0x00001c51 arg  0x00000188 , 0x00000011 
+ 00012548  0x00001c52 call  0x000032c8 
+ 00012549  0x00001c53 istoret  0x00000001 , 0x00000005 
+ 00012550  0x00001c57 arg  0x00000187 , 0x00000011 
+ 00012551  0x00001c58 branch  0x000032b3 
+ 00012552  0x00001c5b setarg  0x00000001 
+ 00012553  0x00001c5c arg  0x00000189 , 0x00000011 
+ 00012554  0x00001c5d call  0x000032b3 
+ 00012555  0x00001c5f arg  0x00000000 , 0x00000002 
+ 00012556  0x00001c60 call  0x00002c94 
+ 00012557  0x00001c63 branch  0x00003106 
+ 00012558  0x00001c66 call  0x00002fea 
+ 00012559  0x00001c67 setarg  0x00000164 
+ 00012560  0x00001c68 call  0x0000327e 
+ 00012561  0x00001c6a branch  0x000030e0 , 0x00000034 
+ 00012562  0x00001c6b call  0x0000322c 
+ 00012563  0x00001c6d setarg  0x00000186 
+ 00012564  0x00001c6e call  0x000032d0 
+ 00012565  0x00001c70 call  0x0000312c , 0x00000034 
+ 00012566  0x00001c71 setarg  0x00000184 
+ 00012567  0x00001c72 call  0x000032d0 
+ 00012568  0x00001c74 call  0x0000322f 
+ 00012569  0x00001c76 add  0x00000013 , 0x000000f6 , 0x00000011 
+ 00012570  0x00001c77 ifetcht  0x00000001 , 0x00000011 
+ 00012571  0x00001c79 arg  0x0000109e , 0x00000011 
+ 00012572  0x00001c7a call  0x00002e58 
+ 00012573  0x00001c7b add  0x00000013 , 0x000000f6 , 0x00000005 
+ 00012574  0x00001c7c istoret  0x00000001 , 0x00000005 
+ 00012575  0x00001c7e call  0x00002f94 
+ 00012576  0x00001c7f add  0x00000013 , 0x000000f9 , 0x00000005 
+ 00012577  0x00001c80 istoret  0x00000001 , 0x00000005 
+ 00012578  0x00001c82 sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012579  0x00001c83 nrtn  0x00000002 
+ 00012580  0x00001c84 setarg  0x00000185 
+ 00012581  0x00001c85 call  0x00003275 
+ 00012582  0x00001c87 call  0x00002c90 
+ 00012583  0x00001c88 arg  0x00000185 , 0x00000011 
+ 00012584  0x00001c89 call  0x000032c8 
+ 00012585  0x00001c8a istoret  0x00000001 , 0x00000005 
+ 00012586  0x00001c8e arg  0x00000184 , 0x00000011 
+ 00012587  0x00001c8f branch  0x000032b3 
+ 00012588  0x00001c92 setarg  0x00000001 
+ 00012589  0x00001c93 arg  0x00000186 , 0x00000011 
+ 00012590  0x00001c94 call  0x000032b3 
+ 00012591  0x00001c96 arg  0x00000000 , 0x00000002 
+ 00012592  0x00001c97 call  0x00002c94 
+ 00012593  0x00001c9a branch  0x0000312a 
+ 00012594  0x00001c9d call  0x00002fdf 
+ 00012595  0x00001c9e call  0x0000327d 
+ 00012596  0x00001ca0 call  0x0000322c 
+ 00012597  0x00001ca2 setarg  0x00000183 
+ 00012598  0x00001ca3 call  0x000032d0 
+ 00012599  0x00001ca5 call  0x0000314c , 0x00000034 
+ 00012600  0x00001ca6 call  0x0000314f 
+ 00012601  0x00001ca7 add  0x00000013 , 0x000000f5 , 0x00000011 
+ 00012602  0x00001ca8 ifetcht  0x00000001 , 0x00000011 
+ 00012603  0x00001caa arg  0x00000e9e , 0x00000011 
+ 00012604  0x00001cab call  0x00002e58 
+ 00012605  0x00001cac add  0x00000013 , 0x000000f5 , 0x00000005 
+ 00012606  0x00001cad istoret  0x00000001 , 0x00000005 
+ 00012607  0x00001caf call  0x00002f94 
+ 00012608  0x00001cb0 add  0x00000013 , 0x000000f8 , 0x00000005 
+ 00012609  0x00001cb1 istoret  0x00000001 , 0x00000005 
+ 00012610  0x00001cb3 sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012611  0x00001cb4 nrtn  0x00000002 
+ 00012612  0x00001cb5 setarg  0x00000182 
+ 00012613  0x00001cb6 call  0x00003275 
+ 00012614  0x00001cb8 call  0x00002c90 
+ 00012615  0x00001cb9 arg  0x00000182 , 0x00000011 
+ 00012616  0x00001cba call  0x000032c8 
+ 00012617  0x00001cbb istoret  0x00000001 , 0x00000005 
+ 00012618  0x00001cc0 arg  0x00000181 , 0x00000011 
+ 00012619  0x00001cc1 branch  0x000032b3 
+ 00012620  0x00001cc9 setarg  0x00000001 
+ 00012621  0x00001cca arg  0x00000183 , 0x00000011 
+ 00012622  0x00001ccb call  0x000032b3 
+ 00012623  0x00001ccd setarg  0x00000181 
+ 00012624  0x00001cce call  0x000032d0 
+ 00012625  0x00001ccf branch  0x0000322f 
+ 00012626  0x00001cd4 add  0x00000013 , 0x00000000 , 0x00000011 
+ 00012627  0x00001cd5 ifetch  0x00000001 , 0x00000011 
+ 00012628  0x00001cd7 call  0x0000323c 
+ 00012629  0x00001cda call  0x00002dde 
+ 00012630  0x00001cdc call  0x0000325f 
+ 00012631  0x00001cde isolate1  0x00000000 , 0x0000003f 
+ 00012632  0x00001cdf branch  0x0000315c , 0x00000001 
+ 00012633  0x00001ce1 call  0x0000315d 
+ 00012634  0x00001ce2 call  0x00002d53 
+ 00012635  0x00001ce3 call  0x00002df7 
+ 00012636  0x00001ce5 branch  0x00002e45 
+ 00012637  0x00001ce8 bpatch  0x000000c2 , 0x00004018 
+ 00012638  0x00001ce9 add  0x00000013 , 0x00000086 , 0x00000005 
+ 00012639  0x00001cea call  0x000032d6 
+ 00012640  0x00001cec setarg  0x0000013b 
+ 00012641  0x00001ced call  0x000032d0 
+ 00012642  0x00001cef rtn  0x00000034 
+ 00012643  0x00001cf0 setarg  0x00000006 
+ 00012644  0x00001cf1 add  0x00000013 , 0x00000086 , 0x00000005 
+ 00012645  0x00001cf2 istore  0x00000001 , 0x00000005 
+ 00012646  0x00001cf4 arg  0x00000006 , 0x00000039 
+ 00012647  0x00001cf5 setarg  0x0000012f 
+ 00012648  0x00001cf6 iadd  0x00000013 , 0x00000006 
+ 00012649  0x00001cf8 add  0x00000013 , 0x00000022 , 0x00000005 
+ 00012650  0x00001cfa branch  0x00007f01 
+ 00012651  0x00001cfe call  0x0000316e 
+ 00012652  0x00001cff nbranch  0x00002f5e , 0x0000002f 
+ 00012653  0x00001d00 branch  0x00003172 
+ 00012654  0x00001d03 call  0x00002f5e 
+ 00012655  0x00001d04 call  0x00002e11 
+ 00012656  0x00001d05 nrtn  0x0000002f 
+ 00012657  0x00001d06 branch  0x00003152 
+ 00012658  0x00001d09 bpatch  0x000000c3 , 0x00004018 
+ 00012659  0x00001d0a call  0x00003188 
+ 00012660  0x00001d0b nbranch  0x00002f5e , 0x00000028 
+ 00012661  0x00001d0c add  0x00000013 , 0x00000084 , 0x00000011 
+ 00012662  0x00001d0d ifetch  0x00000001 , 0x00000011 
+ 00012663  0x00001d0f branch  0x00002f5e , 0x00000034 
+ 00012664  0x00001d10 increase  0x00000002 , 0x0000003f 
+ 00012665  0x00001d11 iforce  0x00000039 
+ 00012666  0x00001d12 add  0x00000013 , 0x00000000 , 0x00000006 
+ 00012667  0x00001d14 setarg  0x00000109 
+ 00012668  0x00001d15 iadd  0x00000013 , 0x00000005 
+ 00012669  0x00001d17 call  0x00007f01 
+ 00012670  0x00001d18 call  0x00003286 
+ 00012671  0x00001d1a call  0x000032b6 
+ 00012672  0x00001d1c call  0x00003093 , 0x00000034 
+ 00012673  0x00001d1d setarg  0x0000010b 
+ 00012674  0x00001d1e call  0x000032d0 
+ 00012675  0x00001d20 beq  0x00000001 , 0x0000319e 
+ 00012676  0x00001d21 beq  0x00000002 , 0x000031c6 
+ 00012677  0x00001d22 beq  0x00000003 , 0x000031f2 
+ 00012678  0x00001d23 beq  0x000000ff , 0x00003212 
+ 00012679  0x00001d24 branch  0x00002f5e 
+ 00012680  0x00001d27 call  0x00002c7a 
+ 00012681  0x00001d28 call  0x00007fe9 
+ 00012682  0x00001d29 add  0x00000013 , 0x000000ca , 0x00000011 
+ 00012683  0x00001d2a ifetch  0x00000001 , 0x00000011 
+ 00012684  0x00001d2c add  0x00000013 , 0x000000cb , 0x00000011 
+ 00012685  0x00001d2d ifetcht  0x00000001 , 0x00000011 
+ 00012686  0x00001d2f isub  0x00000002 , 0x0000003e 
+ 00012687  0x00001d30 ncall  0x00007fe7 , 0x00000005 
+ 00012688  0x00001d31 add  0x00000013 , 0x000000ca , 0x00000011 
+ 00012689  0x00001d32 ifetch  0x00000001 , 0x00000011 
+ 00012690  0x00001d34 add  0x00000013 , 0x000000cb , 0x00000005 
+ 00012691  0x00001d35 istore  0x00000001 , 0x00000005 
+ 00012692  0x00001d37 add  0x00000013 , 0x000000c4 , 0x00000011 
+ 00012693  0x00001d38 ifetch  0x00000003 , 0x00000011 
+ 00012694  0x00001d3a add  0x00000013 , 0x000000c7 , 0x00000011 
+ 00012695  0x00001d3b ifetcht  0x00000003 , 0x00000011 
+ 00012696  0x00001d3d isub  0x00000002 , 0x0000003e 
+ 00012697  0x00001d3e ncall  0x00007fe7 , 0x00000005 
+ 00012698  0x00001d3f add  0x00000013 , 0x000000c4 , 0x00000011 
+ 00012699  0x00001d40 ifetch  0x00000003 , 0x00000011 
+ 00012700  0x00001d42 add  0x00000013 , 0x000000c7 , 0x00000005 
+ 00012701  0x00001d44 branch  0x000032c5 
+ 00012702  0x00001d47 call  0x00002f88 
+ 00012703  0x00001d48 call  0x0000324c 
+ 00012704  0x00001d49 store  0x00000001 , 0x00000aa2 
+ 00012705  0x00001d4b call  0x00003274 
+ 00012706  0x00001d4c fetch  0x00000001 , 0x00000aa2 
+ 00012707  0x00001d4e isolate1  0x00000003 , 0x00000002 
+ 00012708  0x00001d4f setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00012709  0x00001d50 add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00012710  0x00001d51 istore  0x00000001 , 0x00000005 
+ 00012711  0x00001d53 beq  0x00000001 , 0x00003216 
+ 00012712  0x00001d54 call  0x00003245 
+ 00012713  0x00001d56 call  0x00003274 
+ 00012714  0x00001d58 isolate1  0x00000004 , 0x00000002 
+ 00012715  0x00001d59 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00012716  0x00001d5a call  0x00003249 
+ 00012717  0x00001d5c add  0x00000013 , 0x000000de , 0x00000011 
+ 00012718  0x00001d5d ifetch  0x00000002 , 0x00000011 
+ 00012719  0x00001d5f branch  0x00007f9c 
+ 00012720  0x00001d62 setarg  0x00000001 
+ 00012721  0x00001d63 store  0x00000001 , 0x00000d54 
+ 00012722  0x00001d64 call  0x0000329e 
+ 00012723  0x00001d66 istore  0x00000007 , 0x00000005 
+ 00012724  0x00001d67 call  0x0000329e 
+ 00012725  0x00001d69 ncall  0x000031bd , 0x00000034 
+ 00012726  0x00001d6a call  0x0000329e 
+ 00012727  0x00001d6c call  0x000031c2 , 0x00000034 
+ 00012728  0x00001d6e jam  0x00000020 , 0x00000d52 
+ 00012729  0x00001d70 fetch  0x00000001 , 0x00000d38 
+ 00012730  0x00001d71 set1  0x00000002 , 0x0000003f 
+ 00012731  0x00001d72 store  0x00000001 , 0x00000d38 
+ 00012732  0x00001d73 rtn 
+ 00012733  0x00001d76 setarg  0x00000001 
+ 00012734  0x00001d77 call  0x000032a8 
+ 00012735  0x00001d79 setarg  0x00000140 
+ 00012736  0x00001d7a arg  0x0000000b , 0x00000007 
+ 00012737  0x00001d7b branch  0x00007f08 
+ 00012738  0x00001d7d call  0x000032a7 
+ 00012739  0x00001d7f setarg  0x00000000 
+ 00012740  0x00001d80 arg  0x0000000b , 0x00000007 
+ 00012741  0x00001d81 branch  0x00007f08 
+ 00012742  0x00001d84 call  0x00003274 
+ 00012743  0x00001d86 isolate1  0x00000003 , 0x00000002 
+ 00012744  0x00001d87 branch  0x0000321b , 0x00000001 
+ 00012745  0x00001d88 arg  0x00000d64 , 0x00000005 
+ 00012746  0x00001d89 call  0x000031e0 
+ 00012747  0x00001d8a fetch  0x00000008 , 0x00000d64 
+ 00012748  0x00001d8b ncall  0x000031e4 , 0x00000034 
+ 00012749  0x00001d8c fetch  0x00000008 , 0x00000d64 
+ 00012750  0x00001d8d call  0x000031e9 , 0x00000034 
+ 00012751  0x00001d8e call  0x00002c7a 
+ 00012752  0x00001d8f fetch  0x00000008 , 0x00000d64 
+ 00012753  0x00001d90 arg  0x00000168 , 0x00000011 
+ 00012754  0x00001d91 call  0x000032bf 
+ 00012755  0x00001d92 istore  0x00000008 , 0x00000005 
+ 00012756  0x00001d94 setarg  0x00000170 
+ 00012757  0x00001d95 iadd  0x00000013 , 0x00000011 
+ 00012758  0x00001d96 ifetcht  0x00000008 , 0x00000011 
+ 00012759  0x00001d98 isub  0x00000002 , 0x0000003e 
+ 00012760  0x00001d99 ncall  0x000031ed , 0x00000005 
+ 00012761  0x00001d9a setarg  0x00000168 
+ 00012762  0x00001d9b iadd  0x00000013 , 0x00000011 
+ 00012763  0x00001d9c ifetch  0x00000008 , 0x00000011 
+ 00012764  0x00001d9e arg  0x00000170 , 0x00000011 
+ 00012765  0x00001d9f call  0x000032bf 
+ 00012766  0x00001da0 istore  0x00000008 , 0x00000005 
+ 00012767  0x00001da2 branch  0x00002f5e 
+ 00012768  0x00001da5 setarg  0x0000010b 
+ 00012769  0x00001da6 iadd  0x00000013 , 0x00000006 
+ 00012770  0x00001da8 arg  0x00000009 , 0x00000039 
+ 00012771  0x00001da9 branch  0x00007ff3 
+ 00012772  0x00001dac setarg  0x00000001 
+ 00012773  0x00001dad call  0x000032ab 
+ 00012774  0x00001daf setarg  0x00000140 
+ 00012775  0x00001db0 arg  0x0000000e , 0x00000007 
+ 00012776  0x00001db1 branch  0x00007f08 
+ 00012777  0x00001db4 call  0x000032aa 
+ 00012778  0x00001db6 setarg  0x00000000 
+ 00012779  0x00001db7 arg  0x0000000e , 0x00000007 
+ 00012780  0x00001db8 branch  0x00007f08 
+ 00012781  0x00001dbc jam  0x00000010 , 0x00000d51 
+ 00012782  0x00001dbd fetch  0x00000001 , 0x00000d38 
+ 00012783  0x00001dbe set1  0x00000001 , 0x0000003f 
+ 00012784  0x00001dbf store  0x00000001 , 0x00000d38 
+ 00012785  0x00001dc0 rtn 
+ 00012786  0x00001dc3 arg  0x00000d74 , 0x00000005 
+ 00012787  0x00001dc4 call  0x000031e0 
+ 00012788  0x00001dc5 fetch  0x00000002 , 0x00000d75 
+ 00012789  0x00001dc6 ncall  0x00003209 , 0x00000034 
+ 00012790  0x00001dc7 fetch  0x00000002 , 0x00000d75 
+ 00012791  0x00001dc8 call  0x0000320e , 0x00000034 
+ 00012792  0x00001dc9 call  0x00002c7a 
+ 00012793  0x00001dca fetch  0x00000003 , 0x00000d74 
+ 00012794  0x00001dcb arg  0x00000178 , 0x00000011 
+ 00012795  0x00001dcc call  0x000032c4 
+ 00012796  0x00001dce setarg  0x0000017b 
+ 00012797  0x00001dcf iadd  0x00000013 , 0x00000011 
+ 00012798  0x00001dd0 ifetcht  0x00000003 , 0x00000011 
+ 00012799  0x00001dd2 isub  0x00000002 , 0x0000003e 
+ 00012800  0x00001dd3 ncall  0x00003207 , 0x00000005 
+ 00012801  0x00001dd4 setarg  0x00000178 
+ 00012802  0x00001dd5 iadd  0x00000013 , 0x00000011 
+ 00012803  0x00001dd6 ifetch  0x00000003 , 0x00000011 
+ 00012804  0x00001dd8 arg  0x0000017b , 0x00000011 
+ 00012805  0x00001dd9 call  0x000032c4 
+ 00012806  0x00001ddb branch  0x00002f5e 
+ 00012807  0x00001dde jam  0x00000021 , 0x00000d52 
+ 00012808  0x00001ddf branch  0x000031b9 
+ 00012809  0x00001de2 setarg  0x00000001 
+ 00012810  0x00001de3 call  0x000032ae 
+ 00012811  0x00001de5 setarg  0x00000140 
+ 00012812  0x00001de6 arg  0x0000000c , 0x00000007 
+ 00012813  0x00001de7 branch  0x00007f08 
+ 00012814  0x00001dea call  0x000032ad 
+ 00012815  0x00001dec setarg  0x00000000 
+ 00012816  0x00001ded arg  0x0000000c , 0x00000007 
+ 00012817  0x00001dee branch  0x00007f08 
+ 00012818  0x00001df1 call  0x000032bd 
+ 00012819  0x00001df3 beq  0x00000001 , 0x00003216 
+ 00012820  0x00001df4 beq  0x00000002 , 0x0000321b 
+ 00012821  0x00001df5 rtn 
+ 00012822  0x00001df7 setarg  0x0000010d 
+ 00012823  0x00001df8 call  0x0000327e 
+ 00012824  0x00001df9 arg  0x00000160 , 0x00000011 
+ 00012825  0x00001dfa call  0x000032bf 
+ 00012826  0x00001dfd branch  0x0000322d 
+ 00012827  0x00001e00 setarg  0x0000010d 
+ 00012828  0x00001e01 call  0x0000327e 
+ 00012829  0x00001e02 arg  0x00000164 , 0x00000011 
+ 00012830  0x00001e03 call  0x000032bf 
+ 00012831  0x00001e06 branch  0x0000322d 
+ 00012832  0x00001e09 call  0x00002c7a 
+ 00012833  0x00001e0a add  0x00000013 , 0x000000cd , 0x00000005 
+ 00012834  0x00001e0b istore  0x00000001 , 0x00000005 
+ 00012835  0x00001e0c rtn 
+ 00012836  0x00001e0f call  0x00002c7a 
+ 00012837  0x00001e10 add  0x00000013 , 0x000000be , 0x00000011 
+ 00012838  0x00001e11 branch  0x0000327f 
+ 00012839  0x00001e13 call  0x00002c7a 
+ 00012840  0x00001e14 add  0x00000013 , 0x000000be , 0x00000005 
+ 00012841  0x00001e15 branch  0x0000322d 
+ 00012842  0x00001e18 add  0x00000013 , 0x000000ae , 0x00000011 
+ 00012843  0x00001e19 branch  0x0000327f 
+ 00012844  0x00001e1b add  0x00000013 , 0x000000ae , 0x00000005 
+ 00012845  0x00001e1d istore  0x00000004 , 0x00000005 
+ 00012846  0x00001e1e rtn 
+ 00012847  0x00001e21 add  0x00000013 , 0x00000090 , 0x00000005 
+ 00012848  0x00001e22 branch  0x000032b4 
+ 00012849  0x00001e25 setarg  0x00000000 
+ 00012850  0x00001e27 call  0x00002c7a 
+ 00012851  0x00001e28 add  0x00000013 , 0x00000085 , 0x00000005 
+ 00012852  0x00001e29 branch  0x000032b4 
+ 00012853  0x00001e2c add  0x00000013 , 0x00000042 , 0x00000005 
+ 00012854  0x00001e2d branch  0x000032b4 
+ 00012855  0x00001e30 setarg  0x00000004 
+ 00012856  0x00001e32 add  0x00000013 , 0x000000cc , 0x00000005 
+ 00012857  0x00001e33 branch  0x000032b4 
+ 00012858  0x00001e36 add  0x00000013 , 0x00000087 , 0x00000011 
+ 00012859  0x00001e37 branch  0x000032d1 
+ 00012860  0x00001e39 add  0x00000013 , 0x00000087 , 0x00000005 
+ 00012861  0x00001e3a branch  0x000032b4 
+ 00012862  0x00001e3d setarg  0x00000002 
+ 00012863  0x00001e3f add  0x00000013 , 0x000000d0 , 0x00000005 
+ 00012864  0x00001e40 branch  0x000032b4 
+ 00012865  0x00001e43 setarg  0x00000001 
+ 00012866  0x00001e45 call  0x00002c7a 
+ 00012867  0x00001e46 add  0x00000013 , 0x000000ce , 0x00000005 
+ 00012868  0x00001e47 branch  0x000032b4 
+ 00012869  0x00001e4a call  0x00002c7a 
+ 00012870  0x00001e4b add  0x00000013 , 0x000000b4 , 0x00000011 
+ 00012871  0x00001e4c branch  0x000032d1 
+ 00012872  0x00001e4e setarg  0x00000001 
+ 00012873  0x00001e50 call  0x00002c7a 
+ 00012874  0x00001e51 add  0x00000013 , 0x000000b4 , 0x00000005 
+ 00012875  0x00001e52 branch  0x000032b4 
+ 00012876  0x00001e55 call  0x00002c7a 
+ 00012877  0x00001e56 add  0x00000013 , 0x000000b2 , 0x00000011 
+ 00012878  0x00001e57 branch  0x000032d1 
+ 00012879  0x00001e59 setarg  0x00000001 
+ 00012880  0x00001e5b call  0x00002c7a 
+ 00012881  0x00001e5c add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00012882  0x00001e5d branch  0x000032b4 
+ 00012883  0x00001e60 call  0x00002c7a 
+ 00012884  0x00001e61 add  0x00000013 , 0x00000096 , 0x00000011 
+ 00012885  0x00001e62 branch  0x000032d1 
+ 00012886  0x00001e64 add  0x00000013 , 0x00000096 , 0x00000005 
+ 00012887  0x00001e65 branch  0x000032b4 
+ 00012888  0x00001e68 add  0x00000013 , 0x000000cf , 0x00000011 
+ 00012889  0x00001e69 branch  0x000032d1 
+ 00012890  0x00001e6b setarg  0x00000000 
+ 00012891  0x00001e6d add  0x00000013 , 0x000000cf , 0x00000005 
+ 00012892  0x00001e6e branch  0x000032b4 
+ 00012893  0x00001e71 add  0x00000013 , 0x000000d2 , 0x00000011 
+ 00012894  0x00001e72 branch  0x000032d1 
+ 00012895  0x00001e75 add  0x00000013 , 0x00000001 , 0x00000011 
+ 00012896  0x00001e76 branch  0x000032d1 
+ 00012897  0x00001e79 add  0x00000013 , 0x000000b5 , 0x00000011 
+ 00012898  0x00001e7a branch  0x000032d1 
+ 00012899  0x00001e7c setarg  0x00000000 
+ 00012900  0x00001e7e call  0x00002c7a 
+ 00012901  0x00001e7f add  0x00000013 , 0x000000b5 , 0x00000005 
+ 00012902  0x00001e80 branch  0x000032b4 
+ 00012903  0x00001e83 call  0x00002c7a 
+ 00012904  0x00001e84 add  0x00000013 , 0x000000fb , 0x00000011 
+ 00012905  0x00001e85 ifetch  0x00000001 , 0x00000011 
+ 00012906  0x00001e87 store  0x00000001 , 0x000041de 
+ 00012907  0x00001e88 rtn 
+ 00012908  0x00001e8b call  0x00002c7a 
+ 00012909  0x00001e8c fetch  0x00000001 , 0x000041de 
+ 00012910  0x00001e8e add  0x00000013 , 0x000000fb , 0x00000005 
+ 00012911  0x00001e8f branch  0x000032b4 
+ 00012912  0x00001e92 add  0x00000013 , 0x000000fc , 0x00000011 
+ 00012913  0x00001e93 branch  0x000032d1 
+ 00012914  0x00001e96 add  0x00000013 , 0x000000fe , 0x00000005 
+ 00012915  0x00001e97 branch  0x000032b4 
+ 00012916  0x00001e9a setarg  0x00000109 
+ 00012917  0x00001e9c iadd  0x00000013 , 0x00000011 
+ 00012918  0x00001e9d ifetcht  0x00000001 , 0x00000011 
+ 00012919  0x00001e9e rtn 
+ 00012920  0x00001ea1 setarg  0x00000135 
+ 00012921  0x00001ea2 branch  0x000032d0 
+ 00012922  0x00001ea4 setarg  0x00000000 
+ 00012923  0x00001ea6 arg  0x00000135 , 0x00000011 
+ 00012924  0x00001ea7 branch  0x000032b3 
+ 00012925  0x00001eaa setarg  0x0000012b 
+ 00012926  0x00001eac call  0x000032cd 
+ 00012927  0x00001eae ifetch  0x00000004 , 0x00000011 
+ 00012928  0x00001eaf rtn 
+ 00012929  0x00001eb2 setarg  0x0000015f 
+ 00012930  0x00001eb3 branch  0x000032d0 
+ 00012931  0x00001eb5 setarg  0x00000000 
+ 00012932  0x00001eb7 arg  0x0000015f , 0x00000011 
+ 00012933  0x00001eb8 branch  0x000032b3 
+ 00012934  0x00001ebb setarg  0x00000000 
+ 00012935  0x00001ebd arg  0x0000015c , 0x00000011 
+ 00012936  0x00001ebe branch  0x000032b3 
+ 00012937  0x00001ec1 arg  0x0000012f , 0x00000011 
+ 00012938  0x00001ec2 branch  0x000032b3 
+ 00012939  0x00001ec5 setarg  0x00000108 
+ 00012940  0x00001ec6 branch  0x000032d0 
+ 00012941  0x00001ec8 arg  0x00000108 , 0x00000011 
+ 00012942  0x00001ec9 branch  0x000032b3 
+ 00012943  0x00001ecc setarg  0x00000105 
+ 00012944  0x00001ecd branch  0x000032d0 
+ 00012945  0x00001ecf setarg  0x00000000 
+ 00012946  0x00001ed1 arg  0x00000105 , 0x00000011 
+ 00012947  0x00001ed2 branch  0x000032b3 
+ 00012948  0x00001ed5 setarg  0x00000104 
+ 00012949  0x00001ed6 branch  0x000032d0 
+ 00012950  0x00001ed8 setarg  0x00000000 
+ 00012951  0x00001eda arg  0x00000104 , 0x00000011 
+ 00012952  0x00001edb branch  0x000032b3 
+ 00012953  0x00001ede setarg  0x00000000 
+ 00012954  0x00001ee0 arg  0x0000013b , 0x00000011 
+ 00012955  0x00001ee1 branch  0x000032b3 
+ 00012956  0x00001ee3 setarg  0x00000001 
+ 00012957  0x00001ee4 branch  0x0000329a 
+ 00012958  0x00001ee7 setarg  0x0000010c 
+ 00012959  0x00001ee8 call  0x000032cd 
+ 00012960  0x00001ee9 ifetch  0x00000007 , 0x00000011 
+ 00012961  0x00001eea rtn 
+ 00012962  0x00001eed setarg  0x0000015e 
+ 00012963  0x00001eee branch  0x000032d0 
+ 00012964  0x00001ef0 setarg  0x00000000 
+ 00012965  0x00001ef2 arg  0x0000015e , 0x00000011 
+ 00012966  0x00001ef3 branch  0x000032b3 
+ 00012967  0x00001ef6 setarg  0x00000000 
+ 00012968  0x00001ef8 arg  0x00000180 , 0x00000011 
+ 00012969  0x00001ef9 branch  0x000032b3 
+ 00012970  0x00001efc setarg  0x00000000 
+ 00012971  0x00001efe arg  0x0000017e , 0x00000011 
+ 00012972  0x00001eff branch  0x000032b3 
+ 00012973  0x00001f02 setarg  0x00000000 
+ 00012974  0x00001f04 arg  0x0000017f , 0x00000011 
+ 00012975  0x00001f05 branch  0x000032b3 
+ 00012976  0x00001f08 arg  0x00000102 , 0x00000011 
+ 00012977  0x00001f09 branch  0x000032b3 
+ 00012978  0x00001f0c arg  0x00000103 , 0x00000011 
+ 00012979  0x00001f0e call  0x000032c7 
+ 00012980  0x00001f10 istore  0x00000001 , 0x00000005 
+ 00012981  0x00001f11 rtn 
+ 00012982  0x00001f14 setarg  0x0000015d 
+ 00012983  0x00001f15 branch  0x000032d0 
+ 00012984  0x00001f18 arg  0x0000015d , 0x00000011 
+ 00012985  0x00001f19 branch  0x000032b3 
+ 00012986  0x00001f1c setarg  0x0000018a 
+ 00012987  0x00001f1d call  0x000032d0 
+ 00012988  0x00001f1e branch  0x0000326a 
+ 00012989  0x00001f21 setarg  0x0000010c 
+ 00012990  0x00001f22 branch  0x000032d0 
+ 00012991  0x00001f25 copy  0x0000003f , 0x00000002 
+ 00012992  0x00001f26 copy  0x00000011 , 0x0000003f 
+ 00012993  0x00001f27 iadd  0x00000013 , 0x00000005 
+ 00012994  0x00001f28 copy  0x00000002 , 0x0000003f 
+ 00012995  0x00001f29 rtn 
+ 00012996  0x00001f2c call  0x000032bf 
+ 00012997  0x00001f2e istore  0x00000003 , 0x00000005 
+ 00012998  0x00001f2f rtn 
+ 00012999  0x00001f32 call  0x00002c7a 
+ 00013000  0x00001f34 copy  0x0000003f , 0x00000012 
+ 00013001  0x00001f35 copy  0x00000011 , 0x0000003f 
+ 00013002  0x00001f36 iadd  0x00000013 , 0x00000005 
+ 00013003  0x00001f37 copy  0x00000012 , 0x0000003f 
+ 00013004  0x00001f38 rtn 
+ 00013005  0x00001f3b call  0x00002c7a 
+ 00013006  0x00001f3c iadd  0x00000013 , 0x00000011 
+ 00013007  0x00001f3d rtn 
+ 00013008  0x00001f40 call  0x000032cd 
+ 00013009  0x00001f42 ifetch  0x00000001 , 0x00000011 
+ 00013010  0x00001f43 rtn 
+ 00013011  0x00001f46 call  0x000032cd 
+ 00013012  0x00001f47 ifetcht  0x00000004 , 0x00000011 
+ 00013013  0x00001f48 rtn 
+ 00013014  0x00001f4b setarg  0x00000000 
+ 00013015  0x00001f4c branch  0x000032b4 
+ 00013016  0x00001f51 bpatch  0x000000c4 , 0x00004018 
+ 00013017  0x00001f52 fetch  0x00000001 , 0x00004092 
+ 00013018  0x00001f53 branch  0x000032d8 , 0x00000034 
+ 00013019  0x00001f55 beq  0x00000004 , 0x00002f30 
+ 00013020  0x00001f56 beq  0x0000000f , 0x00003436 
+ 00013021  0x00001f57 beq  0x00000009 , 0x000045de 
+ 00013022  0x00001f58 beq  0x0000000a , 0x0000392a 
+ 00013023  0x00001f59 beq  0x0000000e , 0x000035bf 
+ 00013024  0x00001f5a beq  0x00000010 , 0x000044a4 
+ 00013025  0x00001f5b bbit1  0x00000006 , 0x00003d00 
+ 00013026  0x00001f5c rtn 
+ 00013027  0x00001f5f bpatch  0x000000c5 , 0x00004018 
+ 00013028  0x00001f60 jam  0x00000000 , 0x00000151 
+ 00013029  0x00001f61 jam  0x00000000 , 0x0000017f 
+ 00013030  0x00001f62 jam  0x00000000 , 0x00000180 
+ 00013031  0x00001f63 setarg  0x00000000 
+ 00013032  0x00001f64 store  0x00000005 , 0x000009ae 
+ 00013033  0x00001f65 fetch  0x00000001 , 0x00004092 
+ 00013034  0x00001f66 branch  0x000032e3 , 0x00000034 
+ 00013035  0x00001f67 beq  0x0000000a , 0x00003962 
+ 00013036  0x00001f69 rtn 
+ 00013037  0x00001f6d call  0x00007cd1 
+ 00013038  0x00001f6e call  0x00007d9c 
+ 00013039  0x00001f6f call  0x000032f6 
+ 00013040  0x00001f70 fetch  0x00000002 , 0x000041f3 
+ 00013041  0x00001f71 branch  0x00007f9c 
+ 00013042  0x00001f74 fetch  0x00000002 , 0x000041f1 
+ 00013043  0x00001f75 branch  0x00007f9c 
+ 00013044  0x00001f78 fetch  0x00000002 , 0x000041ef 
+ 00013045  0x00001f79 branch  0x00007f9c 
+ 00013046  0x00001f7c bpatch  0x000000c6 , 0x00004018 
+ 00013047  0x00001f7e arg  0x00004668 , 0x00000011 
+ 00013048  0x00001f7f call  0x00007fc4 
+ 00013049  0x00001f80 rtn  0x00000034 
+ 00013050  0x00001f82 copy  0x0000003f , 0x00000013 
+ 00013051  0x00001f83 call  0x000032ff 
+ 00013052  0x00001f84 branch  0x00003324 
+ 00013053  0x00001f87 arg  0x00000000 , 0x00000013 
+ 00013054  0x00001f88 rtn 
+ 00013055  0x00001f8e beq  0x00000001 , 0x00003311 
+ 00013056  0x00001f8f beq  0x00000010 , 0x00003357 
+ 00013057  0x00001f90 beq  0x00000005 , 0x00003335 
+ 00013058  0x00001f91 beq  0x00000012 , 0x0000333c 
+ 00013059  0x00001f92 beq  0x00000006 , 0x00003353 
+ 00013060  0x00001f93 beq  0x00000004 , 0x00003394 
+ 00013061  0x00001f94 beq  0x00000002 , 0x00003399 
+ 00013062  0x00001f95 beq  0x00000013 , 0x00003394 
+ 00013063  0x00001f96 beq  0x00000014 , 0x0000334b 
+ 00013064  0x00001f97 beq  0x00000015 , 0x0000334f 
+ 00013065  0x00001f98 beq  0x00000003 , 0x0000332e 
+ 00013066  0x00001f99 beq  0x0000000b , 0x00003340 
+ 00013067  0x00001f9a beq  0x0000000c , 0x00003347 
+ 00013068  0x00001f9c beq  0x00000016 , 0x0000335b 
+ 00013069  0x00001f9d beq  0x00000018 , 0x0000332a 
+ 00013070  0x00001f9e beq  0x0000002a , 0x0000331a 
+ 00013071  0x00001f9f beq  0x0000002b , 0x00003318 
+ 00013072  0x00001fa0 rtn 
+ 00013073  0x00001fa4 fetch  0x00000002 , 0x00004682 
+ 00013074  0x00001fa5 set1  0x00000000 , 0x0000003f 
+ 00013075  0x00001fa6 store  0x00000002 , 0x00004682 
+ 00013076  0x00001fa7 fetch  0x00000002 , 0x0000420a 
+ 00013077  0x00001fa8 set0  0x00000000 , 0x0000003f 
+ 00013078  0x00001fa9 store  0x00000002 , 0x0000420a 
+ 00013079  0x00001faa rtn 
+ 00013080  0x00001fad jam  0x00000000 , 0x00000229 
+ 00013081  0x00001fae rtn 
+ 00013082  0x00001fb1 fetch  0x00000001 , 0x00000229 
+ 00013083  0x00001fb2 increase  0x00000001 , 0x0000003f 
+ 00013084  0x00001fb3 store  0x00000001 , 0x00000229 
+ 00013085  0x00001fb4 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00013086  0x00001fb5 branch  0x000033df , 0x00000002 
+ 00013087  0x00001fb6 jam  0x00000000 , 0x00000229 
+ 00013088  0x00001fb7 fetch  0x00000002 , 0x0000420a 
+ 00013089  0x00001fb8 set1  0x00000009 , 0x0000003f 
+ 00013090  0x00001fb9 store  0x00000002 , 0x0000420a 
+ 00013091  0x00001fba branch  0x000033e9 
+ 00013092  0x00001fbd fetch  0x00000002 , 0x000041f5 
+ 00013093  0x00001fbe branch  0x00007f9c 
+ 00013094  0x00001fc1 fetch  0x00000002 , 0x000041e9 
+ 00013095  0x00001fc2 branch  0x00007f9c 
+ 00013096  0x00001fc5 fetch  0x00000002 , 0x000041ed 
+ 00013097  0x00001fc6 branch  0x00007f9c 
+ 00013098  0x00001fc9 fetch  0x00000002 , 0x0000420a 
+ 00013099  0x00001fca set1  0x00000001 , 0x0000003f 
+ 00013100  0x00001fcb store  0x00000002 , 0x0000420a 
+ 00013101  0x00001fcc branch  0x00003412 
+ 00013102  0x00001fcf fetch  0x00000002 , 0x00004682 
+ 00013103  0x00001fd0 set1  0x00000007 , 0x0000003f 
+ 00013104  0x00001fd1 store  0x00000002 , 0x00004682 
+ 00013105  0x00001fd2 fetch  0x00000002 , 0x0000420a 
+ 00013106  0x00001fd3 set1  0x00000002 , 0x0000003f 
+ 00013107  0x00001fd4 store  0x00000002 , 0x0000420a 
+ 00013108  0x00001fd5 rtn 
+ 00013109  0x00001fd8 fetch  0x00000002 , 0x00004682 
+ 00013110  0x00001fd9 set1  0x00000001 , 0x0000003f 
+ 00013111  0x00001fda store  0x00000002 , 0x00004682 
+ 00013112  0x00001fdb fetch  0x00000002 , 0x0000420a 
+ 00013113  0x00001fdc set1  0x00000004 , 0x0000003f 
+ 00013114  0x00001fdd store  0x00000002 , 0x0000420a 
+ 00013115  0x00001fde rtn 
+ 00013116  0x00001fe1 fetch  0x00000002 , 0x00004682 
+ 00013117  0x00001fe2 set1  0x00000003 , 0x0000003f 
+ 00013118  0x00001fe3 store  0x00000002 , 0x00004682 
+ 00013119  0x00001fe4 rtn 
+ 00013120  0x00001fe7 fetch  0x00000002 , 0x00004682 
+ 00013121  0x00001fe8 set1  0x00000005 , 0x0000003f 
+ 00013122  0x00001fe9 store  0x00000002 , 0x00004682 
+ 00013123  0x00001fea fetch  0x00000002 , 0x0000420a 
+ 00013124  0x00001feb set1  0x00000003 , 0x0000003f 
+ 00013125  0x00001fec store  0x00000002 , 0x0000420a 
+ 00013126  0x00001fed rtn 
+ 00013127  0x00001ff0 fetch  0x00000002 , 0x00004682 
+ 00013128  0x00001ff1 set0  0x00000005 , 0x0000003f 
+ 00013129  0x00001ff2 store  0x00000002 , 0x00004682 
+ 00013130  0x00001ff3 rtn 
+ 00013131  0x00001ff6 fetch  0x00000002 , 0x00004682 
+ 00013132  0x00001ff7 set1  0x00000009 , 0x0000003f 
+ 00013133  0x00001ff8 store  0x00000002 , 0x00004682 
+ 00013134  0x00001ff9 rtn 
+ 00013135  0x00001ffc fetch  0x00000002 , 0x00004682 
+ 00013136  0x00001ffd set0  0x00000009 , 0x0000003f 
+ 00013137  0x00001ffe store  0x00000002 , 0x00004682 
+ 00013138  0x00001fff branch  0x00003418 
+ 00013139  0x00002002 fetch  0x00000002 , 0x00004682 
+ 00013140  0x00002003 set1  0x00000002 , 0x0000003f 
+ 00013141  0x00002004 store  0x00000002 , 0x00004682 
+ 00013142  0x00002005 rtn 
+ 00013143  0x00002008 fetch  0x00000002 , 0x0000420a 
+ 00013144  0x00002009 set1  0x00000000 , 0x0000003f 
+ 00013145  0x0000200a store  0x00000002 , 0x0000420a 
+ 00013146  0x0000200b rtn 
+ 00013147  0x0000200e fetch  0x00000002 , 0x0000420a 
+ 00013148  0x0000200f set1  0x00000008 , 0x0000003f 
+ 00013149  0x00002010 store  0x00000002 , 0x0000420a 
+ 00013150  0x00002011 branch  0x000033e9 
+ 00013151  0x00002015 bpatch  0x000000c7 , 0x00004018 
+ 00013152  0x00002016 store  0x00000001 , 0x0000022a 
+ 00013153  0x00002018 fetch  0x00000001 , 0x0000022a 
+ 00013154  0x00002019 rtn  0x00000034 
+ 00013155  0x0000201a increase  0xffffffff , 0x0000003f 
+ 00013156  0x0000201b store  0x00000001 , 0x0000022a 
+ 00013157  0x0000201c call  0x00007cdd 
+ 00013158  0x0000201d call  0x000033d6 
+ 00013159  0x0000201e call  0x00003387 
+ 00013160  0x0000201f call  0x0000338d 
+ 00013161  0x00002020 call  0x0000651b 
+ 00013162  0x00002021 fetch  0x00000002 , 0x000041fd 
+ 00013163  0x00002022 call  0x00007f9c 
+ 00013164  0x00002023 branch  0x00003361 
+ 00013165  0x00002029 ifetch  0x00000001 , 0x00000013 
+ 00013166  0x0000202a rtn  0x00000034 
+ 00013167  0x0000202b pincrease  0xffffffff 
+ 00013168  0x0000202c istore  0x00000001 , 0x00000013 
+ 00013169  0x0000202d nrtn  0x00000034 
+ 00013170  0x0000202e copy  0x00000012 , 0x0000003f 
+ 00013171  0x0000202f branch  0x00007f9c 
+ 00013172  0x00002034 ifetch  0x00000002 , 0x00000013 
+ 00013173  0x00002035 rtn  0x00000034 
+ 00013174  0x00002036 pincrease  0xffffffff 
+ 00013175  0x00002037 istore  0x00000002 , 0x00000013 
+ 00013176  0x00002038 nrtn  0x00000034 
+ 00013177  0x00002039 copy  0x00000012 , 0x0000003f 
+ 00013178  0x0000203a branch  0x00007f9c 
+ 00013179  0x0000203d fetcht  0x00000002 , 0x0000423f 
+ 00013180  0x0000203e add  0x00000002 , 0x00000001 , 0x00000013 
+ 00013181  0x0000203f arg  0x0000337f , 0x00000012 
+ 00013182  0x00002040 branch  0x0000336d 
+ 00013183  0x00002043 call  0x0000342d 
+ 00013184  0x00002044 beq  0x00000001 , 0x00003382 
+ 00013185  0x00002046 branch  0x0000340a 
+ 00013186  0x00002048 setarg  0x00000002 
+ 00013187  0x00002049 istore  0x00000001 , 0x00000013 
+ 00013188  0x0000204a add  0x00000002 , 0x00000008 , 0x00000012 
+ 00013189  0x0000204c ifetch  0x00000002 , 0x00000012 
+ 00013190  0x0000204d branch  0x00007f9c 
+ 00013191  0x00002050 arg  0x00004205 , 0x00000013 
+ 00013192  0x00002051 arg  0x0000338a , 0x00000012 
+ 00013193  0x00002052 branch  0x0000336d 
+ 00013194  0x00002055 call  0x00002252 
+ 00013195  0x00002056 branch  0x0000340e , 0x00000005 
+ 00013196  0x00002057 rtn 
+ 00013197  0x0000205b arg  0x0000467e , 0x00000013 
+ 00013198  0x0000205c arg  0x00003390 , 0x00000012 
+ 00013199  0x0000205d branch  0x00003374 
+ 00013200  0x00002060 call  0x000033f0 
+ 00013201  0x00002061 call  0x00003408 
+ 00013202  0x00002062 fetch  0x00000002 , 0x000041f7 
+ 00013203  0x00002063 branch  0x00007f9c 
+ 00013204  0x00002067 call  0x000033ac 
+ 00013205  0x00002069 fetch  0x00000002 , 0x00004682 
+ 00013206  0x0000206a set0  0x00000007 , 0x0000003f 
+ 00013207  0x0000206b store  0x00000002 , 0x00004682 
+ 00013208  0x0000206c rtn 
+ 00013209  0x0000206f jam  0x00000000 , 0x00004205 
+ 00013210  0x00002070 fetch  0x00000002 , 0x00004682 
+ 00013211  0x00002071 bbit1  0x00000007 , 0x0000339e 
+ 00013212  0x00002072 isolate0  0x00000001 , 0x0000003f 
+ 00013213  0x00002073 call  0x000032fd , 0x00000001 
+ 00013214  0x00002075 bpatch  0x000000c8 , 0x00004019 
+ 00013215  0x00002076 fetch  0x00000002 , 0x00004682 
+ 00013216  0x00002077 set0  0x00000000 , 0x0000003f 
+ 00013217  0x00002078 set0  0x00000001 , 0x0000003f 
+ 00013218  0x00002079 set0  0x00000002 , 0x0000003f 
+ 00013219  0x0000207a set0  0x00000003 , 0x0000003f 
+ 00013220  0x0000207b set0  0x00000007 , 0x0000003f 
+ 00013221  0x0000207c store  0x00000002 , 0x00004682 
+ 00013222  0x0000207d branch  0x00003418 
+ 00013223  0x00002080 call  0x000033a9 
+ 00013224  0x00002081 branch  0x0000340a 
+ 00013225  0x00002085 setarg  0x00000000 
+ 00013226  0x00002086 store  0x00000002 , 0x00004208 
+ 00013227  0x00002087 rtn 
+ 00013228  0x00002089 setarg  0x00000000 
+ 00013229  0x0000208a store  0x00000002 , 0x0000420a 
+ 00013230  0x0000208b rtn 
+ 00013231  0x0000208e fetch  0x00000002 , 0x0000420a 
+ 00013232  0x0000208f store  0x00000002 , 0x00004208 
+ 00013233  0x00002090 setarg  0x00000000 
+ 00013234  0x00002091 store  0x00000002 , 0x0000420a 
+ 00013235  0x00002092 rtn 
+ 00013236  0x00002095 fetch  0x00000002 , 0x0000420a 
+ 00013237  0x00002096 set1  0x00000007 , 0x0000003f 
+ 00013238  0x00002097 store  0x00000002 , 0x00004208 
+ 00013239  0x00002098 setarg  0x00000000 
+ 00013240  0x00002099 store  0x00000002 , 0x0000420a 
+ 00013241  0x0000209a rtn 
+ 00013242  0x000020a3 fetch  0x00000001 , 0x00004682 
+ 00013243  0x000020a4 isolate1  0x00000005 , 0x0000003f 
+ 00013244  0x000020a5 rtn 
+ 00013245  0x000020ae setarg  0x0000aa55 
+ 00013246  0x000020b0 store  0x00000002 , 0x00000aaa 
+ 00013247  0x000020b1 bpatch  0x000000c9 , 0x00004019 
+ 00013248  0x000020b2 arg  0x00000002 , 0x00000002 
+ 00013249  0x000020b3 arg  0x00000aaa , 0x00000011 
+ 00013250  0x000020b4 arg  0x000000c3 , 0x00000012 
+ 00013251  0x000020b5 branch  0x00006606 
+ 00013252  0x000020b9 bpatch  0x000000ca , 0x00004019 
+ 00013253  0x000020ba arg  0x00000002 , 0x00000002 
+ 00013254  0x000020bb arg  0x00000a9a , 0x00000011 
+ 00013255  0x000020bc arg  0x000000c3 , 0x00000012 
+ 00013256  0x000020bd call  0x000065df 
+ 00013257  0x000020be fetch  0x00000002 , 0x00000a9a 
+ 00013258  0x000020bf arg  0x0000aa55 , 0x00000002 
+ 00013259  0x000020c0 isub  0x00000002 , 0x0000003e 
+ 00013260  0x000020c1 rtn 
+ 00013261  0x000020c5 fetch  0x00000001 , 0x0000455a 
+ 00013262  0x000020c6 store  0x00000001 , 0x00004205 
+ 00013263  0x000020c7 rtn 
+ 00013264  0x000020ca arg  0x00000009 , 0x00000007 
+ 00013265  0x000020cb branch  0x00002c32 
+ 00013266  0x000020ce arg  0x00000009 , 0x00000007 
+ 00013267  0x000020cf branch  0x00002c36 
+ 00013268  0x000020d2 jam  0x00000005 , 0x00004206 
+ 00013269  0x000020d3 branch  0x000033d0 
+ 00013270  0x000020d6 arg  0x00004206 , 0x00000013 
+ 00013271  0x000020d7 arg  0x000033d2 , 0x00000012 
+ 00013272  0x000020d8 branch  0x0000336d 
+ 00013273  0x000020db jam  0x00000001 , 0x00004363 
+ 00013274  0x000020dc rtn 
+ 00013275  0x000020df jam  0x00000000 , 0x00004363 
+ 00013276  0x000020e0 rtn 
+ 00013277  0x000020e3 jam  0x0000000a , 0x00000a99 
+ 00013278  0x000020e4 branch  0x00007d8f 
+ 00013279  0x000020e7 jam  0x0000001d , 0x00000a99 
+ 00013280  0x000020e8 branch  0x00007d8f 
+ 00013281  0x000020eb bpatch  0x000000cb , 0x00004019 
+ 00013282  0x000020ec fetch  0x00000001 , 0x00004207 
+ 00013283  0x000020ed store  0x00000001 , 0x0000016d 
+ 00013284  0x000020ee jam  0x00000001 , 0x00000228 
+ 00013285  0x000020ef jam  0x00000003 , 0x00000a99 
+ 00013286  0x000020f0 branch  0x00007d8f 
+ 00013287  0x000020f3 jam  0x0000001e , 0x00000a99 
+ 00013288  0x000020f4 branch  0x00007d8f 
+ 00013289  0x000020f7 jam  0x00000004 , 0x00000a99 
+ 00013290  0x000020f8 branch  0x00007d8f 
+ 00013291  0x000020fb fetch  0x00000002 , 0x00004687 
+ 00013292  0x000020fc store  0x00000002 , 0x0000467e 
+ 00013293  0x000020fe call  0x00003404 
+ 00013294  0x00002100 jam  0x00000001 , 0x00000a99 
+ 00013295  0x00002101 branch  0x00007d8f 
+ 00013296  0x00002104 setarg  0x00000000 
+ 00013297  0x00002105 store  0x00000002 , 0x0000467e 
+ 00013298  0x00002106 jam  0x00000002 , 0x00000a99 
+ 00013299  0x00002107 branch  0x00007d8f 
+ 00013300  0x0000210a jam  0x0000000f , 0x00000a99 
+ 00013301  0x0000210b branch  0x00007d8f 
+ 00013302  0x0000210e jam  0x00000010 , 0x00000a99 
+ 00013303  0x0000210f branch  0x00007d8f 
+ 00013304  0x00002112 jam  0x0000000e , 0x00000a99 
+ 00013305  0x00002113 branch  0x00007d8f 
+ 00013306  0x00002116 jam  0x0000000d , 0x00000a99 
+ 00013307  0x00002117 branch  0x00007d8f 
+ 00013308  0x0000211a jam  0x00000017 , 0x00000a99 
+ 00013309  0x0000211b branch  0x00007d8f 
+ 00013310  0x0000211e jam  0x00000018 , 0x00000a99 
+ 00013311  0x0000211f branch  0x00007d8f 
+ 00013312  0x00002122 jam  0x00000016 , 0x00000a99 
+ 00013313  0x00002123 branch  0x00007d8f 
+ 00013314  0x00002126 jam  0x00000011 , 0x00000a99 
+ 00013315  0x00002127 branch  0x00007d8f 
+ 00013316  0x0000212a jam  0x00000015 , 0x00000a99 
+ 00013317  0x0000212b branch  0x00007d8f 
+ 00013318  0x0000212e jam  0x00000014 , 0x00000a99 
+ 00013319  0x0000212f branch  0x00007d8f 
+ 00013320  0x00002133 jam  0x00000013 , 0x00000a99 
+ 00013321  0x00002134 branch  0x00007d8f 
+ 00013322  0x00002137 jam  0x00000019 , 0x00000a99 
+ 00013323  0x00002138 branch  0x00007d8f 
+ 00013324  0x0000213b jam  0x00000006 , 0x00000a99 
+ 00013325  0x0000213c branch  0x00007d8f 
+ 00013326  0x0000213f jam  0x00000005 , 0x00000a99 
+ 00013327  0x00002140 branch  0x00007d8f 
+ 00013328  0x00002143 jam  0x0000001f , 0x00000a99 
+ 00013329  0x00002144 branch  0x00007d8f 
+ 00013330  0x00002147 jam  0x00000020 , 0x00000a99 
+ 00013331  0x00002148 branch  0x00007d8f 
+ 00013332  0x0000214b jam  0x00000025 , 0x00000a99 
+ 00013333  0x0000214c branch  0x00007d8f 
+ 00013334  0x0000214f set1  0x0000000d , 0x00000000 
+ 00013335  0x00002150 rtn 
+ 00013336  0x00002153 set0  0x0000000d , 0x00000000 
+ 00013337  0x00002154 rtn 
+ 00013338  0x00002169 call  0x0000342d 
+ 00013339  0x0000216a beq  0x00000002 , 0x00003424 
+ 00013340  0x0000216c setarg  0x00000001 
+ 00013341  0x0000216d istore  0x00000001 , 0x00000013 
+ 00013342  0x0000216e add  0x00000002 , 0x00000003 , 0x00000011 
+ 00013343  0x0000216f add  0x00000002 , 0x00000006 , 0x00000012 
+ 00013344  0x00002171 ifetcht  0x00000001 , 0x00000011 
+ 00013345  0x00002172 increase  0x00000001 , 0x00000013 
+ 00013346  0x00002173 istoret  0x00000001 , 0x00000013 
+ 00013347  0x00002174 branch  0x00003385 
+ 00013348  0x00002177 setarg  0x00000000 
+ 00013349  0x00002178 istore  0x00000001 , 0x00000013 
+ 00013350  0x00002179 fetch  0x00000002 , 0x00004682 
+ 00013351  0x0000217a bbit0  0x00000009 , 0x00003429 
+ 00013352  0x0000217b call  0x00003402 
+ 00013353  0x0000217d fetcht  0x00000002 , 0x0000423f 
+ 00013354  0x0000217e add  0x00000002 , 0x00000002 , 0x00000011 
+ 00013355  0x0000217f add  0x00000002 , 0x00000004 , 0x00000012 
+ 00013356  0x00002180 branch  0x00003420 
+ 00013357  0x00002183 fetcht  0x00000002 , 0x0000423f 
+ 00013358  0x00002184 add  0x00000002 , 0x00000000 , 0x00000013 
+ 00013359  0x00002185 ifetch  0x00000001 , 0x00000013 
+ 00013360  0x00002186 rtn 
+ 00013361  0x00002189 call  0x0000342d 
+ 00013362  0x0000218a bne  0x00000000 , 0x00003434 
+ 00013363  0x0000218b branch  0x0000340a 
+ 00013364  0x0000218d add  0x00000002 , 0x0000000a , 0x00000012 
+ 00013365  0x0000218e branch  0x00003385 
+ 00013366  0x00002191 rtn  0x0000002b 
+ 00013367  0x00002192 hjam  0x00000000 , 0x00008081 
+ 00013368  0x00002193 setarg  0x00003463 
+ 00013369  0x00002194 store  0x00000002 , 0x000041eb 
+ 00013370  0x00002195 setarg  0x0000696c 
+ 00013371  0x00002196 store  0x00000002 , 0x000041ed 
+ 00013372  0x00002197 setarg  0x000034f5 
+ 00013373  0x00002198 store  0x00000002 , 0x000041f3 
+ 00013374  0x00002199 setarg  0x000034f4 
+ 00013375  0x0000219a store  0x00000002 , 0x000041ef 
+ 00013376  0x0000219b setarg  0x0000347e 
+ 00013377  0x0000219c store  0x00000002 , 0x000041f5 
+ 00013378  0x0000219d setarg  0x000034b2 
+ 00013379  0x0000219e store  0x00000002 , 0x000041fd 
+ 00013380  0x0000219f setarg  0x00003465 
+ 00013381  0x000021a0 store  0x00000002 , 0x000041fb 
+ 00013382  0x000021a1 setarg  0x00003470 
+ 00013383  0x000021a2 store  0x00000002 , 0x000041e9 
+ 00013384  0x000021a3 setarg  0x00003501 
+ 00013385  0x000021a4 store  0x00000002 , 0x000041f9 
+ 00013386  0x000021a5 bpatch  0x000000cc , 0x00004019 
+ 00013387  0x000021a6 call  0x0000359b 
+ 00013388  0x000021a7 call  0x00006948 
+ 00013389  0x000021a8 call  0x000035ad 
+ 00013390  0x000021a9 call  0x00007d08 
+ 00013391  0x000021aa call  0x00007cd3 
+ 00013392  0x000021ab setarg  0x0000350b 
+ 00013393  0x000021ac store  0x00000002 , 0x00004766 
+ 00013394  0x000021ad setarg  0x000034fc 
+ 00013395  0x000021ae store  0x00000002 , 0x0000475d 
+ 00013396  0x000021af setarg  0x000034f8 
+ 00013397  0x000021b0 store  0x00000002 , 0x0000475f 
+ 00013398  0x000021b1 setarg  0x0000346c 
+ 00013399  0x000021b2 store  0x00000002 , 0x00004761 
+ 00013400  0x000021b3 setarg  0x000035a2 
+ 00013401  0x000021b4 store  0x00000002 , 0x000046a9 
+ 00013402  0x000021b5 setarg  0x000035a4 
+ 00013403  0x000021b6 store  0x00000002 , 0x000046ab 
+ 00013404  0x000021b7 setarg  0x000035a9 
+ 00013405  0x000021b8 store  0x00000002 , 0x000046b4 
+ 00013406  0x000021b9 setarg  0x000035a6 
+ 00013407  0x000021ba store  0x00000002 , 0x000046b6 
+ 00013408  0x000021bb fetch  0x00000002 , 0x00004682 
+ 00013409  0x000021bc rtnbit1  0x0000000c 
+ 00013410  0x000021bd branch  0x0000340a 
+ 00013411  0x000021c0 call  0x00003586 
+ 00013412  0x000021c1 branch  0x0000340a 
+ 00013413  0x000021c4 call  0x00005892 
+ 00013414  0x000021c5 nrtn  0x00000034 
+ 00013415  0x000021c6 arg  0x00000b06 , 0x00000011 
+ 00013416  0x000021c7 call  0x00007e54 
+ 00013417  0x000021c8 nrtn  0x00000028 
+ 00013418  0x000021c9 arg  0x00000b06 , 0x00000006 
+ 00013419  0x000021ca branch  0x00004746 
+ 00013420  0x000021cd fetch  0x00000002 , 0x00004797 
+ 00013421  0x000021ce store  0x00000002 , 0x00004791 
+ 00013422  0x000021cf jam  0x00000001 , 0x00004753 
+ 00013423  0x000021d0 branch  0x0000358f 
+ 00013424  0x000021d3 fetch  0x00000001 , 0x0000479d 
+ 00013425  0x000021d4 beq  0x00000001 , 0x00003479 
+ 00013426  0x000021d5 fetch  0x00000002 , 0x00004682 
+ 00013427  0x000021d6 bbit0  0x00000009 , 0x00003479 
+ 00013428  0x000021d7 fetch  0x00000001 , 0x0000479e 
+ 00013429  0x000021d8 beq  0x00000001 , 0x000033d0 
+ 00013430  0x000021d9 fetch  0x00000001 , 0x00004700 
+ 00013431  0x000021da nbranch  0x000033d0 , 0x00000034 
+ 00013432  0x000021db branch  0x000033d2 
+ 00013433  0x000021de fetch  0x00000001 , 0x0000479b 
+ 00013434  0x000021df fetcht  0x00000001 , 0x0000479c 
+ 00013435  0x000021e0 ior  0x00000002 , 0x0000003f 
+ 00013436  0x000021e1 beq  0x00000001 , 0x000033d0 
+ 00013437  0x000021e2 branch  0x000033d2 
+ 00013438  0x000021e5 copy  0x00000013 , 0x0000003f 
+ 00013439  0x000021e6 beq  0x0000002d , 0x00003431 
+ 00013440  0x000021e7 beq  0x00000010 , 0x0000341a 
+ 00013441  0x000021e8 beq  0x00000014 , 0x000034df 
+ 00013442  0x000021e9 beq  0x00000015 , 0x000034e8 
+ 00013443  0x000021ea beq  0x00000040 , 0x00003485 
+ 00013444  0x000021eb rtn 
+ 00013445  0x000021ed fetch  0x00000002 , 0x00004509 
+ 00013446  0x000021ee beq  0x00000001 , 0x0000348c 
+ 00013447  0x000021f0 fetch  0x00000002 , 0x000043d8 
+ 00013448  0x000021f1 branch  0x000034a2 , 0x00000034 
+ 00013449  0x000021f3 jam  0x00000002 , 0x0000478a 
+ 00013450  0x000021f4 jam  0x0000003c , 0x0000478f 
+ 00013451  0x000021f5 rtn 
+ 00013452  0x000021f8 fetch  0x00000002 , 0x0000449a 
+ 00013453  0x000021f9 branch  0x000034a0 , 0x00000034 
+ 00013454  0x000021fb jam  0x00000001 , 0x0000478a 
+ 00013455  0x000021fc fetcht  0x00000002 , 0x000047b4 
+ 00013456  0x000021fd fetch  0x00000002 , 0x00004496 
+ 00013457  0x000021fe iadd  0x00000002 , 0x0000003f 
+ 00013458  0x000021ff store  0x00000002 , 0x00004496 
+ 00013459  0x00002200 copy  0x0000003f , 0x00000011 
+ 00013460  0x00002201 fetch  0x00000002 , 0x00004498 
+ 00013461  0x00002202 iadd  0x00000002 , 0x0000003f 
+ 00013462  0x00002203 store  0x00000002 , 0x00004498 
+ 00013463  0x00002204 iadd  0x00000011 , 0x0000003f 
+ 00013464  0x00002205 rshift  0x0000003f , 0x00000002 
+ 00013465  0x00002206 fetch  0x00000002 , 0x000047c0 
+ 00013466  0x00002207 idiv  0x00000002 
+ 00013467  0x00002208 call  0x00007f86 
+ 00013468  0x00002209 quotient  0x0000003f 
+ 00013469  0x0000220a store  0x00000002 , 0x0000449a 
+ 00013470  0x0000220b jam  0x00000001 , 0x00004790 
+ 00013471  0x0000220c rtn 
+ 00013472  0x0000220e jam  0x00000003 , 0x0000478a 
+ 00013473  0x0000220f rtn 
+ 00013474  0x00002212 jam  0x00000000 , 0x00004172 
+ 00013475  0x00002213 jam  0x00000000 , 0x00004790 
+ 00013476  0x00002214 fetch  0x00000002 , 0x000043d6 
+ 00013477  0x00002215 fetcht  0x00000002 , 0x000047be 
+ 00013478  0x00002216 isub  0x00000002 , 0x0000003e 
+ 00013479  0x00002217 setflag  0x00000002 , 0x00000000 , 0x00000011 
+ 00013480  0x00002218 fetch  0x00000002 , 0x000047c0 
+ 00013481  0x00002219 fetcht  0x00000002 , 0x000043d6 
+ 00013482  0x0000221a isub  0x00000002 , 0x0000003f 
+ 00013483  0x0000221b setflag  0x00000002 , 0x00000001 , 0x00000011 
+ 00013484  0x0000221c compare  0x00000003 , 0x00000011 , 0x00000003 
+ 00013485  0x0000221d rtn  0x00000001 
+ 00013486  0x0000221e fetch  0x00000008 , 0x000047be 
+ 00013487  0x0000221f store  0x00000008 , 0x00004496 
+ 00013488  0x00002220 jam  0x00000001 , 0x00004790 
+ 00013489  0x00002221 rtn 
+ 00013490  0x00002226 call  0x0000337b 
+ 00013491  0x00002227 call  0x000034b9 
+ 00013492  0x00002228 call  0x000034be 
+ 00013493  0x00002229 call  0x000034d5 
+ 00013494  0x0000222a call  0x000034ca 
+ 00013495  0x0000222b call  0x000034c4 
+ 00013496  0x0000222c branch  0x000034d9 
+ 00013497  0x00002230 arg  0x00004799 , 0x00000013 
+ 00013498  0x00002231 arg  0x000034bc , 0x00000012 
+ 00013499  0x00002232 branch  0x0000336d 
+ 00013500  0x00002234 jam  0x00000000 , 0x0000479a 
+ 00013501  0x00002235 rtn 
+ 00013502  0x00002237 arg  0x00004793 , 0x00000013 
+ 00013503  0x00002238 arg  0x000034c1 , 0x00000012 
+ 00013504  0x00002239 branch  0x00003374 
+ 00013505  0x0000223b arg  0x000046bf , 0x00000013 
+ 00013506  0x0000223c arg  0x0000469e , 0x00000012 
+ 00013507  0x0000223d branch  0x00003591 
+ 00013508  0x00002241 arg  0x0000478f , 0x00000013 
+ 00013509  0x00002242 arg  0x000034c7 , 0x00000012 
+ 00013510  0x00002243 branch  0x0000336d 
+ 00013511  0x00002246 fetch  0x00000002 , 0x0000449a 
+ 00013512  0x00002247 store  0x00000001 , 0x00004172 
+ 00013513  0x00002248 rtn 
+ 00013514  0x0000224a arg  0x00004790 , 0x00000013 
+ 00013515  0x0000224b arg  0x000034cd , 0x00000012 
+ 00013516  0x0000224c branch  0x0000336d 
+ 00013517  0x0000224e fetch  0x00000001 , 0x0000043f 
+ 00013518  0x0000224f compare  0x00000000 , 0x0000003f , 0x00000060 
+ 00013519  0x00002250 nbranch  0x000034d3 , 0x00000001 
+ 00013520  0x00002251 jam  0x00000001 , 0x0000478a 
+ 00013521  0x00002252 call  0x00003416 
+ 00013522  0x00002253 branch  0x00005abf 
+ 00013523  0x00002255 jam  0x00000001 , 0x00004790 
+ 00013524  0x00002256 rtn 
+ 00013525  0x00002259 arg  0x00004791 , 0x00000013 
+ 00013526  0x0000225a arg  0x000034d8 , 0x00000012 
+ 00013527  0x0000225b branch  0x00003374 
+ 00013528  0x0000225f branch  0x0000341a 
+ 00013529  0x00002264 arg  0x0000478d , 0x00000013 
+ 00013530  0x00002265 arg  0x000034dc , 0x00000012 
+ 00013531  0x00002266 branch  0x00003374 
+ 00013532  0x00002268 fetch  0x00000002 , 0x000047a7 
+ 00013533  0x00002269 store  0x00000002 , 0x0000478d 
+ 00013534  0x0000226a branch  0x000035af 
+ 00013535  0x0000226e fetch  0x00000002 , 0x000047a7 
+ 00013536  0x0000226f store  0x00000002 , 0x0000478d 
+ 00013537  0x00002270 setarg  0x00000000 
+ 00013538  0x00002271 store  0x00000002 , 0x00004793 
+ 00013539  0x00002272 store  0x00000002 , 0x00004791 
+ 00013540  0x00002273 call  0x0000355c 
+ 00013541  0x00002274 call  0x00003586 
+ 00013542  0x00002275 jam  0x00000000 , 0x00004172 
+ 00013543  0x00002276 branch  0x000033f8 
+ 00013544  0x0000227c setarg  0x00000000 
+ 00013545  0x0000227d store  0x00000004 , 0x0000478d 
+ 00013546  0x0000227e store  0x00000003 , 0x0000478a 
+ 00013547  0x0000227f store  0x00000002 , 0x00004509 
+ 00013548  0x00002281 jam  0x00000001 , 0x000047a0 
+ 00013549  0x00002282 fetch  0x00000002 , 0x00004797 
+ 00013550  0x00002283 store  0x00000002 , 0x00004791 
+ 00013551  0x00002284 call  0x00007e38 
+ 00013552  0x00002285 fetch  0x00000001 , 0x00004759 
+ 00013553  0x00002286 rtneq  0x00000000 
+ 00013554  0x00002287 call  0x0000358f 
+ 00013555  0x00002288 branch  0x0000356e 
+ 00013556  0x0000228d branch  0x00003508 
+ 00013557  0x00002291 fetch  0x00000001 , 0x00004759 
+ 00013558  0x00002292 rtnne  0x00000002 
+ 00013559  0x00002293 branch  0x00003508 
+ 00013560  0x00002299 arg  0x000046cd , 0x00000013 
+ 00013561  0x0000229a call  0x00003582 
+ 00013562  0x0000229b arg  0x000046c6 , 0x00000013 
+ 00013563  0x0000229d branch  0x00003584 
+ 00013564  0x000022a0 jam  0x00000000 , 0x0000436e 
+ 00013565  0x000022a1 arg  0x000046db , 0x00000013 
+ 00013566  0x000022a2 call  0x00003582 
+ 00013567  0x000022a3 arg  0x000046d4 , 0x00000013 
+ 00013568  0x000022a4 branch  0x000034fb 
+ 00013569  0x000022a7 fetch  0x00000001 , 0x00000477 
+ 00013570  0x000022a8 beq  0x00000012 , 0x00003504 
+ 00013571  0x000022a9 rtn 
+ 00013572  0x000022ab fetch  0x00000002 , 0x00000478 
+ 00013573  0x000022ad beq  0x0000000d , 0x00003536 
+ 00013574  0x000022ae beq  0x0000000b , 0x00003571 
+ 00013575  0x000022af rtn 
+ 00013576  0x000022b5 fetch  0x00000001 , 0x00004753 
+ 00013577  0x000022b6 rtn  0x00000034 
+ 00013578  0x000022b7 branch  0x00006978 
+ 00013579  0x000022bc copy  0x00000011 , 0x0000003f 
+ 00013580  0x000022bd branch  0x00003510 , 0x00000034 
+ 00013581  0x000022bf copy  0x00000007 , 0x0000003f 
+ 00013582  0x000022c0 beq  0x00000000 , 0x00003513 
+ 00013583  0x000022c1 rtn 
+ 00013584  0x000022c3 copy  0x00000007 , 0x0000003f 
+ 00013585  0x000022c4 beq  0x00000000 , 0x0000351b 
+ 00013586  0x000022c5 rtn 
+ 00013587  0x000022c8 jam  0x00000001 , 0x0000479d 
+ 00013588  0x000022c9 arg  0x000046f7 , 0x00000013 
+ 00013589  0x000022ca call  0x00003582 
+ 00013590  0x000022cb arg  0x000046f0 , 0x00000013 
+ 00013591  0x000022cc call  0x00003584 
+ 00013592  0x000022cd fetch  0x00000002 , 0x00004682 
+ 00013593  0x000022ce bbit0  0x00000009 , 0x00003532 
+ 00013594  0x000022cf branch  0x00003521 
+ 00013595  0x000022d2 jam  0x00000000 , 0x0000479d 
+ 00013596  0x000022d3 branch  0x0000351d 
+ 00013597  0x000022d8 fetch  0x00000001 , 0x0000479a 
+ 00013598  0x000022d9 rtnne  0x00000001 
+ 00013599  0x000022da jam  0x00000005 , 0x00004799 
+ 00013600  0x000022db rtn 
+ 00013601  0x000022de fetch  0x00000001 , 0x0000479a 
+ 00013602  0x000022df pincrease  0x00000001 
+ 00013603  0x000022e0 store  0x00000001 , 0x0000479a 
+ 00013604  0x000022e1 beq  0x00000001 , 0x00003527 
+ 00013605  0x000022e2 beq  0x00000002 , 0x0000352b 
+ 00013606  0x000022e3 rtn 
+ 00013607  0x000022e5 call  0x0000355c 
+ 00013608  0x000022e6 jam  0x00000001 , 0x00004771 
+ 00013609  0x000022e7 arg  0x0000476c , 0x00000013 
+ 00013610  0x000022e8 branch  0x00003544 
+ 00013611  0x000022ea jam  0x00000000 , 0x0000479a 
+ 00013612  0x000022eb jam  0x00000002 , 0x00004771 
+ 00013613  0x000022ec arg  0x0000476c , 0x00000013 
+ 00013614  0x000022ed call  0x00003544 
+ 00013615  0x000022ee fetch  0x00000001 , 0x0000479e 
+ 00013616  0x000022ef beq  0x00000001 , 0x00003551 
+ 00013617  0x000022f0 rtn 
+ 00013618  0x000022f3 fetch  0x00000002 , 0x00004797 
+ 00013619  0x000022f4 store  0x00000002 , 0x00004791 
+ 00013620  0x000022f5 call  0x0000355c 
+ 00013621  0x000022f6 branch  0x0000358f 
+ 00013622  0x000022fa bpatch  0x000000cd , 0x00004019 
+ 00013623  0x000022fb call  0x000036fc 
+ 00013624  0x000022fc ifetch  0x00000001 , 0x00000011 
+ 00013625  0x000022fd beq  0x00000003 , 0x0000353c 
+ 00013626  0x000022fe beq  0x00000007 , 0x00003540 
+ 00013627  0x000022ff rtn 
+ 00013628  0x00002302 fetch  0x00000001 , 0x0000479e 
+ 00013629  0x00002303 beq  0x00000000 , 0x00003551 
+ 00013630  0x00002304 beq  0x00000001 , 0x0000355c 
+ 00013631  0x00002305 rtn 
+ 00013632  0x00002308 ifetch  0x00000001 , 0x00000012 
+ 00013633  0x00002309 beq  0x00000001 , 0x00003564 
+ 00013634  0x0000230a beq  0x00000000 , 0x00003569 
+ 00013635  0x0000230b rtn 
+ 00013636  0x00002313 bpatch  0x000000ce , 0x00004019 
+ 00013637  0x00002314 fetch  0x00000001 , 0x0000478b 
+ 00013638  0x00002315 isolate1  0x00000000 , 0x0000003f 
+ 00013639  0x00002316 nrtn  0x00000001 
+ 00013640  0x00002317 add  0x00000013 , 0x00000006 , 0x00000006 
+ 00013641  0x00002318 ifetch  0x00000002 , 0x00000006 
+ 00013642  0x00002319 byteswap  0x0000003f , 0x0000003f 
+ 00013643  0x0000231a add  0x0000003f , 0x00000005 , 0x00000039 
+ 00013644  0x0000231b add  0x00000013 , 0x00000003 , 0x00000006 
+ 00013645  0x0000231c call  0x000036f0 
+ 00013646  0x0000231d istore  0x00000001 , 0x00000006 
+ 00013647  0x0000231e copy  0x00000013 , 0x00000011 
+ 00013648  0x0000231f branch  0x00007e3d 
+ 00013649  0x00002326 fetch  0x00000001 , 0x00004759 
+ 00013650  0x00002327 rtn  0x00000034 
+ 00013651  0x00002328 jam  0x00000001 , 0x0000479e 
+ 00013652  0x00002329 arg  0x000046e9 , 0x00000013 
+ 00013653  0x0000232a call  0x00003582 
+ 00013654  0x0000232b arg  0x000046e2 , 0x00000013 
+ 00013655  0x0000232c call  0x00003584 
+ 00013656  0x0000232d jam  0x00000004 , 0x00004780 
+ 00013657  0x0000232e jam  0x00000001 , 0x00004783 
+ 00013658  0x0000232f arg  0x0000477b , 0x00000013 
+ 00013659  0x00002330 branch  0x00003544 
+ 00013660  0x00002332 fetch  0x00000001 , 0x0000479e 
+ 00013661  0x00002333 rtn  0x00000034 
+ 00013662  0x00002334 jam  0x00000000 , 0x0000479e 
+ 00013663  0x00002335 call  0x00003586 
+ 00013664  0x00002336 jam  0x00000004 , 0x00004780 
+ 00013665  0x00002337 jam  0x00000000 , 0x00004783 
+ 00013666  0x00002338 arg  0x0000477b , 0x00000013 
+ 00013667  0x00002339 branch  0x00003544 
+ 00013668  0x0000233c jam  0x00000001 , 0x0000479f 
+ 00013669  0x0000233d jam  0x00000007 , 0x00004780 
+ 00013670  0x0000233e jam  0x00000001 , 0x00004783 
+ 00013671  0x0000233f arg  0x0000477b , 0x00000013 
+ 00013672  0x00002340 branch  0x00003544 
+ 00013673  0x00002342 jam  0x00000000 , 0x0000479f 
+ 00013674  0x00002343 jam  0x00000007 , 0x00004780 
+ 00013675  0x00002344 jam  0x00000000 , 0x00004783 
+ 00013676  0x00002345 arg  0x0000477b , 0x00000013 
+ 00013677  0x00002346 branch  0x00003544 
+ 00013678  0x00002348 fetch  0x00000001 , 0x0000479f 
+ 00013679  0x00002349 rtn  0x00000034 
+ 00013680  0x0000234a branch  0x00003551 
+ 00013681  0x0000234d ifetch  0x00000002 , 0x00000011 
+ 00013682  0x0000234e store  0x00000002 , 0x0000478b 
+ 00013683  0x0000234f isolate1  0x00000000 , 0x0000003f 
+ 00013684  0x00002350 nrtn  0x00000001 
+ 00013685  0x00002351 fetch  0x00000001 , 0x000047a0 
+ 00013686  0x00002352 rtn  0x00000034 
+ 00013687  0x00002353 jam  0x00000000 , 0x000047a0 
+ 00013688  0x00002354 fetch  0x00000008 , 0x000047b6 
+ 00013689  0x00002355 store  0x00000008 , 0x00004496 
+ 00013690  0x00002356 jam  0x00000002 , 0x00004790 
+ 00013691  0x00002357 call  0x000035af 
+ 00013692  0x00002358 call  0x000035b9 
+ 00013693  0x00002359 jam  0x00000007 , 0x00004780 
+ 00013694  0x0000235a fetch  0x00000001 , 0x0000479f 
+ 00013695  0x0000235b store  0x00000001 , 0x00004783 
+ 00013696  0x0000235c arg  0x0000477b , 0x00000013 
+ 00013697  0x0000235d branch  0x00003544 
+ 00013698  0x00002362 arg  0x00000001 , 0x00000011 
+ 00013699  0x00002363 branch  0x00003585 
+ 00013700  0x00002365 arg  0x00000000 , 0x00000011 
+ 00013701  0x00002367 branch  0x0000358c 
+ 00013702  0x0000236a arg  0x00000000 , 0x00000011 
+ 00013703  0x0000236b call  0x00007d19 
+ 00013704  0x0000236c arg  0x00000001 , 0x00000011 
+ 00013705  0x0000236d call  0x00007d19 
+ 00013706  0x0000236e fetch  0x00000001 , 0x000047a1 
+ 00013707  0x0000236f branch  0x000069d7 
+ 00013708  0x00002372 call  0x00007d04 
+ 00013709  0x00002373 arg  0x00000007 , 0x00000039 
+ 00013710  0x00002374 branch  0x00007d26 
+ 00013711  0x00002379 arg  0x000046b8 , 0x00000013 
+ 00013712  0x0000237a arg  0x0000469a , 0x00000012 
+ 00013713  0x0000237c call  0x00003596 
+ 00013714  0x0000237d call  0x00003584 
+ 00013715  0x0000237e fetch  0x00000002 , 0x00004795 
+ 00013716  0x0000237f store  0x00000002 , 0x00004793 
+ 00013717  0x00002380 branch  0x000033fa 
+ 00013718  0x00002383 ifetch  0x00000002 , 0x00000012 
+ 00013719  0x00002384 store  0x00000002 , 0x00004154 
+ 00013720  0x00002385 ifetch  0x00000002 , 0x00000006 
+ 00013721  0x00002386 store  0x00000002 , 0x00004482 
+ 00013722  0x00002387 rtn 
+ 00013723  0x0000238a arg  0x00000000 , 0x00000011 
+ 00013724  0x0000238b call  0x000069a6 
+ 00013725  0x0000238c fetch  0x00000006 , 0x000047a1 
+ 00013726  0x0000238d store  0x00000006 , 0x00000a9a 
+ 00013727  0x0000238e call  0x000069ae 
+ 00013728  0x0000238f fetch  0x00000001 , 0x000047a1 
+ 00013729  0x00002390 branch  0x000069d7 
+ 00013730  0x00002393 jam  0x00000001 , 0x0000479b 
+ 00013731  0x00002394 rtn 
+ 00013732  0x00002396 jam  0x00000000 , 0x0000479b 
+ 00013733  0x00002397 rtn 
+ 00013734  0x0000239c jam  0x00000000 , 0x0000479c 
+ 00013735  0x0000239d fetch  0x00000001 , 0x000047a1 
+ 00013736  0x0000239e branch  0x000069d7 
+ 00013737  0x000023a1 jam  0x00000001 , 0x0000479c 
+ 00013738  0x000023a2 fetch  0x00000006 , 0x000047a1 
+ 00013739  0x000023a3 store  0x00000006 , 0x00000a9a 
+ 00013740  0x000023a4 branch  0x000069ae 
+ 00013741  0x000023a9 jam  0x00000000 , 0x0000422d 
+ 00013742  0x000023aa branch  0x000068a8 
+ 00013743  0x000023ad call  0x000068eb 
+ 00013744  0x000023ae call  0x00006908 
+ 00013745  0x000023af store  0x00000002 , 0x000047b0 
+ 00013746  0x000023b0 arg  0x000047aa , 0x00000011 
+ 00013747  0x000023b1 call  0x00006930 
+ 00013748  0x000023b2 store  0x00000001 , 0x000047a9 
+ 00013749  0x000023b3 beq  0x00000000 , 0x000035be 
+ 00013750  0x000023b4 sub  0x0000003f , 0x00000064 , 0x0000003e 
+ 00013751  0x000023b5 nbranch  0x000035bc , 0x00000002 
+ 00013752  0x000023b6 store  0x00000001 , 0x00004783 
+ 00013753  0x000023b8 jam  0x00000005 , 0x00004780 
+ 00013754  0x000023b9 arg  0x0000477b , 0x00000013 
+ 00013755  0x000023ba branch  0x00003544 
+ 00013756  0x000023bc jam  0x00000064 , 0x00004783 
+ 00013757  0x000023bd branch  0x000035b9 
+ 00013758  0x000023c0 branch  0x0000341a 
+ 00013759  0x000023c5 rtn  0x0000002b 
+ 00013760  0x000023c6 hfetch  0x00000001 , 0x00008081 
+ 00013761  0x000023c7 and_into  0x000000f0 , 0x0000003f 
+ 00013762  0x000023c8 hstore  0x00000001 , 0x00008081 
+ 00013763  0x000023c9 setarg  0x00003631 
+ 00013764  0x000023ca store  0x00000002 , 0x000041eb 
+ 00013765  0x000023cc setarg  0x00003633 
+ 00013766  0x000023cd store  0x00000002 , 0x000041ed 
+ 00013767  0x000023cf setarg  0x0000340a 
+ 00013768  0x000023d0 store  0x00000002 , 0x000041f7 
+ 00013769  0x000023d2 setarg  0x00003635 
+ 00013770  0x000023d3 store  0x00000002 , 0x000041f3 
+ 00013771  0x000023d5 setarg  0x0000364b 
+ 00013772  0x000023d6 store  0x00000002 , 0x000041f5 
+ 00013773  0x000023d8 setarg  0x000033d0 
+ 00013774  0x000023d9 store  0x00000002 , 0x000041e9 
+ 00013775  0x000023db setarg  0x000036f6 
+ 00013776  0x000023dc store  0x00000002 , 0x000041f9 
+ 00013777  0x000023de setarg  0x0000367a 
+ 00013778  0x000023df store  0x00000002 , 0x000041fd 
+ 00013779  0x000023e1 call  0x00002c7a 
+ 00013780  0x000023e2 setarg  0x00003722 
+ 00013781  0x000023e3 add  0x00000013 , 0x000000de , 0x00000005 
+ 00013782  0x000023e4 istore  0x00000002 , 0x00000005 
+ 00013783  0x000023e6 setarg  0x000035ed 
+ 00013784  0x000023e7 store  0x00000002 , 0x0000475b 
+ 00013785  0x000023e9 setarg  0x000035ef 
+ 00013786  0x000023ea store  0x00000002 , 0x0000475f 
+ 00013787  0x000023ec bpatch  0x000000cf , 0x00004019 
+ 00013788  0x000023ed call  0x00003628 
+ 00013789  0x000023ee call  0x00007e38 
+ 00013790  0x000023ef jam  0x00000002 , 0x00004172 
+ 00013791  0x000023f0 jam  0x00000000 , 0x000049f6 
+ 00013792  0x000023f1 fetch  0x00000001 , 0x000047cb 
+ 00013793  0x000023f2 store  0x00000001 , 0x0000469a 
+ 00013794  0x000023f3 beq  0x00000000 , 0x000035ee 
+ 00013795  0x000023f4 fetch  0x00000001 , 0x000047cc 
+ 00013796  0x000023f5 store  0x00000001 , 0x00004686 
+ 00013797  0x000023f6 jam  0x00000000 , 0x0000436e 
+ 00013798  0x000023f8 call  0x0000360f 
+ 00013799  0x000023f9 call  0x00007cd3 
+ 00013800  0x000023fa call  0x00007cdd 
+ 00013801  0x000023fb jam  0x00000001 , 0x000047f3 
+ 00013802  0x000023fc fetch  0x00000002 , 0x00004682 
+ 00013803  0x000023fd rtnbit1  0x0000000c 
+ 00013804  0x000023fe branch  0x0000340a 
+ 00013805  0x00002401 branch  0x0000360f 
+ 00013806  0x00002404 jam  0x00000002 , 0x000047f3 
+ 00013807  0x00002406 jam  0x00000001 , 0x0000436e 
+ 00013808  0x00002407 call  0x0000360f 
+ 00013809  0x00002408 arg  0x00000000 , 0x00000011 
+ 00013810  0x00002409 call  0x00007d1e 
+ 00013811  0x0000240b setarg  0x00000020 
+ 00013812  0x0000240c call  0x000046f0 
+ 00013813  0x0000240e arg  0x000043b7 , 0x00000005 
+ 00013814  0x0000240f fetch  0x00000001 , 0x000044a0 
+ 00013815  0x00002411 and  0x0000003f , 0x000000f0 , 0x00000002 
+ 00013816  0x00002412 rshift4  0x00000002 , 0x00000002 
+ 00013817  0x00002413 call  0x00003609 
+ 00013818  0x00002414 istoret  0x00000001 , 0x00000005 
+ 00013819  0x00002415 and  0x0000003f , 0x0000000f , 0x00000002 
+ 00013820  0x00002416 call  0x00003609 
+ 00013821  0x00002417 istoret  0x00000001 , 0x00000005 
+ 00013822  0x00002418 call  0x000057a6 
+ 00013823  0x00002419 fetcht  0x00000001 , 0x000043af 
+ 00013824  0x0000241a copy  0x00000002 , 0x00000039 
+ 00013825  0x0000241b arg  0x00004372 , 0x00000005 
+ 00013826  0x0000241c arg  0x000043b0 , 0x00000006 
+ 00013827  0x0000241d call  0x00007f01 
+ 00013828  0x0000241f fetcht  0x00000001 , 0x000043af 
+ 00013829  0x00002420 copy  0x00000002 , 0x00000039 
+ 00013830  0x00002421 arg  0x00004392 , 0x00000005 
+ 00013831  0x00002422 arg  0x000043b0 , 0x00000006 
+ 00013832  0x00002423 branch  0x00007f01 
+ 00013833  0x00002425 sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00013834  0x00002426 branch  0x0000360d , 0x00000002 
+ 00013835  0x00002427 add  0x00000002 , 0x00000037 , 0x00000002 
+ 00013836  0x00002428 rtn 
+ 00013837  0x0000242a add  0x00000002 , 0x00000030 , 0x00000002 
+ 00013838  0x0000242b rtn 
+ 00013839  0x0000242e fetch  0x00000001 , 0x000047c0 
+ 00013840  0x0000242f bne  0x000000ff , 0x00003621 
+ 00013841  0x00002431 fetch  0x00000001 , 0x000047be 
+ 00013842  0x00002432 bne  0x000000ff , 0x00003624 
+ 00013843  0x00002434 fetch  0x00000001 , 0x000047c9 
+ 00013844  0x00002435 bne  0x000000ff , 0x00003626 
+ 00013845  0x00002437 fetch  0x00000001 , 0x0000472c 
+ 00013846  0x00002438 copy  0x0000003f , 0x00000039 
+ 00013847  0x00002439 setarg  0x0000472d 
+ 00013848  0x0000243a copy  0x0000003f , 0x00000011 
+ 00013849  0x0000243c copy  0x00000011 , 0x00000006 
+ 00013850  0x0000243d ifetch  0x00000001 , 0x00000006 
+ 00013851  0x0000243e copy  0x00000006 , 0x00000011 
+ 00013852  0x0000243f beq  0x000000ff , 0x0000361f 
+ 00013853  0x00002440 copy  0x0000003f , 0x00000002 
+ 00013854  0x00002441 call  0x0000680e 
+ 00013855  0x00002443 loop  0x00003619 
+ 00013856  0x00002445 rtn 
+ 00013857  0x00002447 fetch  0x00000008 , 0x000047c0 
+ 00013858  0x00002448 store  0x00000008 , 0x0000472f 
+ 00013859  0x00002449 branch  0x00003611 
+ 00013860  0x0000244b store  0x00000001 , 0x0000472d 
+ 00013861  0x0000244c branch  0x00003613 
+ 00013862  0x0000244e store  0x00000001 , 0x0000472e 
+ 00013863  0x0000244f branch  0x00003615 
+ 00013864  0x00002453 arg  0x00000000 , 0x00000011 
+ 00013865  0x00002454 call  0x000069a6 
+ 00013866  0x00002455 call  0x000037e4 
+ 00013867  0x00002456 call  0x00002c7d 
+ 00013868  0x00002457 branch  0x0000362d 
+ 00013869  0x0000245a jam  0x00000064 , 0x000047cf 
+ 00013870  0x0000245b fetch  0x00000001 , 0x000047c9 
+ 00013871  0x0000245c store  0x00000001 , 0x00004744 
+ 00013872  0x0000245d branch  0x000068a8 
+ 00013873  0x00002460 call  0x00006835 
+ 00013874  0x00002461 branch  0x0000696c 
+ 00013875  0x00002464 branch  0x0000696c 
+ 00013876  0x00002469 branch  0x00006978 
+ 00013877  0x0000246c call  0x00003642 
+ 00013878  0x0000246d call  0x000037ee 
+ 00013879  0x0000246e call  0x00003639 
+ 00013880  0x0000246f branch  0x00003634 
+ 00013881  0x00002472 fetch  0x00000002 , 0x00004682 
+ 00013882  0x00002473 rtnbit1  0x00000009 
+ 00013883  0x00002474 fetch  0x00000001 , 0x000049f6 
+ 00013884  0x00002475 beq  0x00000001 , 0x0000363e 
+ 00013885  0x00002476 rtn 
+ 00013886  0x00002478 fetch  0x00000001 , 0x000047ea 
+ 00013887  0x00002479 rtneq  0x00000001 
+ 00013888  0x0000247a jam  0x00000001 , 0x000047ea 
+ 00013889  0x0000247b branch  0x00003654 
+ 00013890  0x0000247e fetch  0x00000002 , 0x00004682 
+ 00013891  0x0000247f rtnbit0  0x00000009 
+ 00013892  0x00002480 call  0x00005892 
+ 00013893  0x00002481 nrtn  0x00000034 
+ 00013894  0x00002482 arg  0x00004718 , 0x00000011 
+ 00013895  0x00002483 call  0x00007e54 
+ 00013896  0x00002484 nrtn  0x00000028 
+ 00013897  0x00002485 arg  0x00004718 , 0x00000006 
+ 00013898  0x00002486 branch  0x00004746 
+ 00013899  0x00002489 copy  0x00000013 , 0x0000003f 
+ 00013900  0x0000248a beq  0x0000002d , 0x00003431 
+ 00013901  0x0000248b beq  0x00000010 , 0x0000341a 
+ 00013902  0x0000248c beq  0x00000014 , 0x00003651 
+ 00013903  0x0000248d beq  0x00000015 , 0x00003660 
+ 00013904  0x0000248e rtn 
+ 00013905  0x00002491 setarg  0x00000000 
+ 00013906  0x00002492 call  0x00003220 
+ 00013907  0x00002493 branch  0x00003656 
+ 00013908  0x00002495 fetch  0x00000002 , 0x000047eb 
+ 00013909  0x00002496 store  0x00000002 , 0x000047ed 
+ 00013910  0x00002498 jam  0x00000014 , 0x000047ce 
+ 00013911  0x00002499 jam  0x00000000 , 0x00004091 
+ 00013912  0x0000249a call  0x000033f8 
+ 00013913  0x0000249b call  0x00003416 
+ 00013914  0x0000249c fetch  0x00000001 , 0x000047bd 
+ 00013915  0x0000249d beq  0x00000001 , 0x0000365e 
+ 00013916  0x0000249f arg  0x00000000 , 0x00000011 
+ 00013917  0x000024a0 branch  0x00007d14 
+ 00013918  0x000024a2 arg  0x00000000 , 0x00000011 
+ 00013919  0x000024a3 branch  0x00007d19 
+ 00013920  0x000024a6 setarg  0x00000002 
+ 00013921  0x000024a7 call  0x00003220 
+ 00013922  0x000024a9 setarg  0x00000000 
+ 00013923  0x000024aa store  0x00000005 , 0x0000479c 
+ 00013924  0x000024ab setarg  0x00000004 
+ 00013925  0x000024ac call  0x000069d7 
+ 00013926  0x000024ad setarg  0x00000005 
+ 00013927  0x000024ae call  0x000069d7 
+ 00013928  0x000024af setarg  0x00000014 
+ 00013929  0x000024b0 call  0x000069d7 
+ 00013930  0x000024b1 setarg  0x00000015 
+ 00013931  0x000024b2 call  0x000069d7 
+ 00013932  0x000024b3 setarg  0x00000016 
+ 00013933  0x000024b4 call  0x000069d7 
+ 00013934  0x000024b5 setarg  0x00000007 
+ 00013935  0x000024b6 call  0x000069d7 
+ 00013936  0x000024b7 call  0x00007e38 
+ 00013937  0x000024b8 jam  0x0000000a , 0x0000475e 
+ 00013938  0x000024b9 jam  0x0000000a , 0x00004760 
+ 00013939  0x000024ba jam  0x0000000a , 0x00004762 
+ 00013940  0x000024bc jam  0x00000002 , 0x00004172 
+ 00013941  0x000024bd arg  0x00000000 , 0x00000011 
+ 00013942  0x000024be call  0x00007d1e 
+ 00013943  0x000024c0 setarg  0x00000020 
+ 00013944  0x000024c1 call  0x000046f0 
+ 00013945  0x000024c2 branch  0x000033fa 
+ 00013946  0x000024c6 call  0x0000373b 
+ 00013947  0x000024c7 call  0x0000373e 
+ 00013948  0x000024c8 call  0x00003741 
+ 00013949  0x000024c9 call  0x0000337b 
+ 00013950  0x000024ca call  0x000036c8 
+ 00013951  0x000024cb call  0x000036a1 
+ 00013952  0x000024cc call  0x0000368a 
+ 00013953  0x000024cd call  0x00003683 
+ 00013954  0x000024ce branch  0x0000368f 
+ 00013955  0x000024d1 arg  0x0000479a , 0x00000013 
+ 00013956  0x000024d2 arg  0x00003686 , 0x00000012 
+ 00013957  0x000024d3 branch  0x0000336d 
+ 00013958  0x000024d5 call  0x00003847 
+ 00013959  0x000024d6 nrtn  0x00000001 
+ 00013960  0x000024d7 jam  0x00000001 , 0x0000479b 
+ 00013961  0x000024d8 rtn 
+ 00013962  0x000024db arg  0x000047ed , 0x00000013 
+ 00013963  0x000024dc arg  0x0000368d , 0x00000012 
+ 00013964  0x000024dd branch  0x00003374 
+ 00013965  0x000024df jam  0x00000002 , 0x000047ea 
+ 00013966  0x000024e0 branch  0x00003662 
+ 00013967  0x000024e3 arg  0x000047f1 , 0x00000013 
+ 00013968  0x000024e4 arg  0x00003692 , 0x00000012 
+ 00013969  0x000024e5 branch  0x0000336d 
+ 00013970  0x000024e7 fetch  0x00000001 , 0x000047f2 
+ 00013971  0x000024e8 branch  0x0000369e , 0x00000034 
+ 00013972  0x000024e9 jam  0x00000002 , 0x000047f1 
+ 00013973  0x000024ea jam  0x00000000 , 0x000047f2 
+ 00013974  0x000024eb setarg  0x00000a02 
+ 00013975  0x000024ec store  0x00000002 , 0x00004752 
+ 00013976  0x000024ed fetch  0x00000001 , 0x000047b9 
+ 00013977  0x000024ee beq  0x00000003 , 0x0000369b 
+ 00013978  0x000024f0 branch  0x00003762 
+ 00013979  0x000024f2 setarg  0x00000a02 
+ 00013980  0x000024f3 store  0x00000002 , 0x00004754 
+ 00013981  0x000024f4 branch  0x00003762 
+ 00013982  0x000024f6 setarg  0x00000000 
+ 00013983  0x000024f7 store  0x00000004 , 0x00004752 
+ 00013984  0x000024f8 branch  0x00003762 
+ 00013985  0x000024fb fetch  0x00000001 , 0x000047c8 
+ 00013986  0x000024fc rtn  0x00000034 
+ 00013987  0x000024fd fetch  0x00000002 , 0x00004682 
+ 00013988  0x000024fe bbit0  0x00000009 , 0x000036c6 
+ 00013989  0x000024ff arg  0x000047ce , 0x00000013 
+ 00013990  0x00002500 arg  0x000036a8 , 0x00000012 
+ 00013991  0x00002501 branch  0x0000336d 
+ 00013992  0x00002503 fetch  0x00000001 , 0x000047cd 
+ 00013993  0x00002504 store  0x00000001 , 0x000047ce 
+ 00013994  0x00002505 fetch  0x00000001 , 0x000047d1 
+ 00013995  0x00002506 nrtn  0x00000034 
+ 00013996  0x00002508 call  0x000068eb 
+ 00013997  0x00002509 call  0x00006908 
+ 00013998  0x0000250a store  0x00000002 , 0x000047e8 
+ 00013999  0x0000250b arg  0x000047e2 , 0x00000011 
+ 00014000  0x0000250c call  0x00006930 
+ 00014001  0x0000250d fetcht  0x00000001 , 0x000047cf 
+ 00014002  0x0000250e isub  0x00000002 , 0x0000003e 
+ 00014003  0x0000250f branch  0x000036b6 , 0x00000002 
+ 00014004  0x00002510 store  0x00000001 , 0x000047cf 
+ 00014005  0x00002511 copy  0x0000003f , 0x00000002 
+ 00014006  0x00002513 storet  0x00000001 , 0x000047d0 
+ 00014007  0x00002514 fetch  0x00000001 , 0x000047ca 
+ 00014008  0x00002515 isub  0x00000002 , 0x0000003e 
+ 00014009  0x00002516 call  0x000036c1 , 0x00000002 
+ 00014010  0x00002517 storet  0x00000001 , 0x000047db 
+ 00014011  0x00002518 arg  0x00000006 , 0x00000039 
+ 00014012  0x00002519 arg  0x000047d6 , 0x00000006 
+ 00014013  0x0000251a call  0x000036f0 
+ 00014014  0x0000251b store  0x00000001 , 0x000047dc 
+ 00014015  0x0000251c arg  0x000047d3 , 0x00000011 
+ 00014016  0x0000251d branch  0x00007e3d 
+ 00014017  0x0000251f fetch  0x00000001 , 0x000047d2 
+ 00014018  0x00002520 nrtn  0x00000034 
+ 00014019  0x00002521 jam  0x00000001 , 0x000047d2 
+ 00014020  0x00002522 arg  0x00000001 , 0x00000011 
+ 00014021  0x00002523 branch  0x00007d1e 
+ 00014022  0x00002525 arg  0x00000001 , 0x00000011 
+ 00014023  0x00002526 branch  0x00007d19 
+ 00014024  0x00002529 arg  0x000047a4 , 0x00000013 
+ 00014025  0x0000252a arg  0x000036cb , 0x00000012 
+ 00014026  0x0000252b branch  0x0000336d 
+ 00014027  0x0000252d jam  0x00000005 , 0x000047a4 
+ 00014028  0x0000252e jam  0x00000000 , 0x000047a6 
+ 00014029  0x0000252f fetch  0x00000001 , 0x000047a5 
+ 00014030  0x00002530 beq  0x00000001 , 0x000036ee 
+ 00014031  0x00002531 beq  0x00000000 , 0x000036ec 
+ 00014032  0x00002533 arg  0x0000479c , 0x00000006 
+ 00014033  0x00002534 copy  0x00000006 , 0x00000011 
+ 00014034  0x00002535 arg  0x00000008 , 0x00000039 
+ 00014035  0x00002537 copy  0x00000011 , 0x00000006 
+ 00014036  0x00002538 ifetch  0x00000001 , 0x00000006 
+ 00014037  0x00002539 copy  0x00000006 , 0x00000011 
+ 00014038  0x0000253a beq  0x00000000 , 0x000036e3 
+ 00014039  0x0000253b beq  0x00000001 , 0x000036e6 
+ 00014040  0x0000253c beq  0x00000002 , 0x000036e9 
+ 00014041  0x0000253e fetch  0x00000001 , 0x000047a6 
+ 00014042  0x0000253f increase  0x00000001 , 0x0000003f 
+ 00014043  0x00002540 store  0x00000001 , 0x000047a6 
+ 00014044  0x00002541 loop  0x000036d3 
+ 00014045  0x00002542 rtn 
+ 00014046  0x00002544 fetch  0x00000001 , 0x000047a6 
+ 00014047  0x00002545 arg  0x000047c0 , 0x00000012 
+ 00014048  0x00002546 iadd  0x00000012 , 0x00000012 
+ 00014049  0x00002547 ifetcht  0x00000001 , 0x00000012 
+ 00014050  0x00002548 rtn 
+ 00014051  0x0000254a call  0x000036de 
+ 00014052  0x0000254b call  0x00006825 
+ 00014053  0x0000254c branch  0x000036d9 
+ 00014054  0x0000254e call  0x000036de 
+ 00014055  0x0000254f call  0x00006829 
+ 00014056  0x00002550 branch  0x000036d9 
+ 00014057  0x00002552 fetch  0x00000001 , 0x000047a5 
+ 00014058  0x00002553 beq  0x00000001 , 0x000036e3 
+ 00014059  0x00002554 branch  0x000036e6 
+ 00014060  0x00002556 jam  0x00000001 , 0x000047a5 
+ 00014061  0x00002557 branch  0x000036d0 
+ 00014062  0x00002559 jam  0x00000000 , 0x000047a5 
+ 00014063  0x0000255a branch  0x000036d0 
+ 00014064  0x0000255f arg  0x00000000 , 0x00000011 
+ 00014065  0x00002561 ifetch  0x00000001 , 0x00000006 
+ 00014066  0x00002562 iadd  0x00000011 , 0x00000011 
+ 00014067  0x00002563 loop  0x000036f1 
+ 00014068  0x00002565 and  0x00000011 , 0x000000ff , 0x0000003f 
+ 00014069  0x00002566 rtn 
+ 00014070  0x00002569 fetch  0x00000001 , 0x00000477 
+ 00014071  0x0000256a beq  0x00000012 , 0x000036f9 
+ 00014072  0x0000256b rtn 
+ 00014073  0x0000256d fetch  0x00000002 , 0x00000478 
+ 00014074  0x0000256e beq  0x00000014 , 0x00003710 
+ 00014075  0x0000256f rtn 
+ 00014076  0x0000257c bpatch  0x000000d0 , 0x0000401a 
+ 00014077  0x0000257d ifetch  0x00000005 , 0x00000011 
+ 00014078  0x0000257e store  0x00000005 , 0x00000b12 
+ 00014079  0x0000257f fetch  0x00000002 , 0x00000b12 
+ 00014080  0x00002580 arg  0x00006b5a , 0x00000002 
+ 00014081  0x00002581 isub  0x00000002 , 0x0000003e 
+ 00014082  0x00002582 nrtn  0x00000005 
+ 00014083  0x00002583 fetch  0x00000002 , 0x00000b15 
+ 00014084  0x00002584 byteswap  0x0000003f , 0x0000003f 
+ 00014085  0x00002585 store  0x00000002 , 0x00000b15 
+ 00014086  0x00002586 copy  0x0000003f , 0x00000039 
+ 00014087  0x00002587 increase  0x00000005 , 0x00000011 
+ 00014088  0x00002588 copy  0x00000011 , 0x00000006 
+ 00014089  0x00002589 arg  0x00000b17 , 0x00000005 
+ 00014090  0x0000258a call  0x00007f01 
+ 00014091  0x0000258b ifetch  0x00000001 , 0x00000006 
+ 00014092  0x0000258c store  0x00000001 , 0x00000b21 
+ 00014093  0x0000258d arg  0x00000b14 , 0x00000011 
+ 00014094  0x0000258e arg  0x00000b17 , 0x00000012 
+ 00014095  0x0000258f rtn 
+ 00014096  0x00002592 setarg  0x00000000 
+ 00014097  0x00002593 store  0x00000005 , 0x00004752 
+ 00014098  0x00002594 store  0x00000005 , 0x00004757 
+ 00014099  0x00002595 call  0x000036fc 
+ 00014100  0x00002596 copy  0x00000012 , 0x00000006 
+ 00014101  0x00002597 arg  0x00004752 , 0x00000005 
+ 00014102  0x00002598 arg  0x0000000a , 0x00000039 
+ 00014103  0x00002599 call  0x00007f01 
+ 00014104  0x0000259b bpatch  0x000000d1 , 0x0000401a 
+ 00014105  0x0000259c ifetch  0x00000001 , 0x00000011 
+ 00014106  0x0000259d beq  0x00000002 , 0x0000374a 
+ 00014107  0x0000259e beq  0x00000003 , 0x0000375c 
+ 00014108  0x0000259f beq  0x00000004 , 0x00003762 
+ 00014109  0x000025a0 beq  0x00000005 , 0x00003762 
+ 00014110  0x000025a1 beq  0x00000006 , 0x000037b1 
+ 00014111  0x000025a2 beq  0x00000007 , 0x00003849 
+ 00014112  0x000025a3 beq  0x00000008 , 0x0000384c 
+ 00014113  0x000025a4 rtn 
+ 00014114  0x000025a7 fetch  0x00000002 , 0x00004682 
+ 00014115  0x000025a8 rtnbit1  0x00000009 
+ 00014116  0x000025aa fetch  0x00000002 , 0x000047eb 
+ 00014117  0x000025ab store  0x00000002 , 0x000047ed 
+ 00014118  0x000025ad jam  0x00000001 , 0x000049f6 
+ 00014119  0x000025af setarg  0x0000010c 
+ 00014120  0x000025b0 call  0x000032cd 
+ 00014121  0x000025b1 call  0x00003710 
+ 00014122  0x000025b3 fetch  0x00000001 , 0x00000b14 
+ 00014123  0x000025b4 beq  0x00000004 , 0x0000372e 
+ 00014124  0x000025b5 beq  0x00000005 , 0x0000372e 
+ 00014125  0x000025b6 rtn 
+ 00014126  0x000025b8 fetch  0x00000001 , 0x00004752 
+ 00014127  0x000025b9 ncall  0x00003735 , 0x00000034 
+ 00014128  0x000025ba fetch  0x00000001 , 0x00004754 
+ 00014129  0x000025bb ncall  0x00003737 , 0x00000034 
+ 00014130  0x000025bc fetch  0x00000001 , 0x00004756 
+ 00014131  0x000025bd ncall  0x00003739 , 0x00000034 
+ 00014132  0x000025be rtn 
+ 00014133  0x000025c1 jam  0x00000005 , 0x000049f3 
+ 00014134  0x000025c2 rtn 
+ 00014135  0x000025c4 jam  0x00000005 , 0x000049f4 
+ 00014136  0x000025c5 rtn 
+ 00014137  0x000025c7 jam  0x00000005 , 0x000049f5 
+ 00014138  0x000025c8 rtn 
+ 00014139  0x000025cb arg  0x000049f3 , 0x00000013 
+ 00014140  0x000025cc arg  0x00003744 , 0x00000012 
+ 00014141  0x000025cd branch  0x0000336d 
+ 00014142  0x000025cf arg  0x000049f4 , 0x00000013 
+ 00014143  0x000025d0 arg  0x00003746 , 0x00000012 
+ 00014144  0x000025d1 branch  0x0000336d 
+ 00014145  0x000025d3 arg  0x000049f5 , 0x00000013 
+ 00014146  0x000025d4 arg  0x00003748 , 0x00000012 
+ 00014147  0x000025d5 branch  0x0000336d 
+ 00014148  0x000025d8 jam  0x00000000 , 0x00004752 
+ 00014149  0x000025d9 branch  0x00003762 
+ 00014150  0x000025db jam  0x00000000 , 0x00004754 
+ 00014151  0x000025dc branch  0x00003762 
+ 00014152  0x000025de jam  0x00000000 , 0x00004756 
+ 00014153  0x000025df branch  0x00003762 
+ 00014154  0x000025e5 call  0x0000374c 
+ 00014155  0x000025e6 branch  0x0000374f 
+ 00014156  0x000025e8 fetch  0x00000001 , 0x00004752 
+ 00014157  0x000025e9 store  0x00000001 , 0x0000475f 
+ 00014158  0x000025ea branch  0x00003773 
+ 00014159  0x000025ec fetch  0x00000001 , 0x0000475e 
+ 00014160  0x000025ed call  0x00003754 
+ 00014161  0x000025ee fetch  0x00000001 , 0x00004753 
+ 00014162  0x000025ef store  0x00000001 , 0x0000475d 
+ 00014163  0x000025f0 branch  0x00003770 
+ 00014164  0x000025f2 beq  0x00000002 , 0x00003758 
+ 00014165  0x000025f3 beq  0x00000003 , 0x0000375a 
+ 00014166  0x000025f4 store  0x00000001 , 0x0000475e 
+ 00014167  0x000025f5 rtn 
+ 00014168  0x000025f7 jam  0x00000005 , 0x0000475e 
+ 00014169  0x000025f8 rtn 
+ 00014170  0x000025fa jam  0x0000000a , 0x0000475e 
+ 00014171  0x000025fb rtn 
+ 00014172  0x000025fd fetch  0x00000001 , 0x00004752 
+ 00014173  0x000025fe call  0x00003754 
+ 00014174  0x000025ff fetch  0x00000001 , 0x0000475e 
+ 00014175  0x00002600 call  0x0000379e 
+ 00014176  0x00002601 call  0x000037a1 
+ 00014177  0x00002602 branch  0x000069c4 
+ 00014178  0x00002605 fetch  0x00000001 , 0x000047f0 
+ 00014179  0x00002606 nrtn  0x00000034 
+ 00014180  0x00002607 fetch  0x00000006 , 0x00004752 
+ 00014181  0x00002608 store  0x00000006 , 0x0000475d 
+ 00014182  0x00002609 fetch  0x00000001 , 0x0000475e 
+ 00014183  0x0000260a fetcht  0x00000001 , 0x00004760 
+ 00014184  0x0000260b iand  0x00000002 , 0x0000003f 
+ 00014185  0x0000260c fetcht  0x00000001 , 0x00004762 
+ 00014186  0x0000260d iand  0x00000002 , 0x0000003f 
+ 00014187  0x0000260e call  0x00003779 , 0x00000034 
+ 00014188  0x0000260f bpatch  0x000000d2 , 0x0000401a 
+ 00014189  0x00002610 call  0x00003770 
+ 00014190  0x00002611 call  0x00003773 
+ 00014191  0x00002612 branch  0x00003776 
+ 00014192  0x00002614 arg  0x00004763 , 0x00000012 
+ 00014193  0x00002615 arg  0x0000475d , 0x00000006 
+ 00014194  0x00002616 branch  0x0000377b 
+ 00014195  0x00002618 arg  0x0000476b , 0x00000012 
+ 00014196  0x00002619 arg  0x0000475f , 0x00000006 
+ 00014197  0x0000261a branch  0x0000377b 
+ 00014198  0x0000261c arg  0x00004773 , 0x00000012 
+ 00014199  0x0000261d arg  0x00004761 , 0x00000006 
+ 00014200  0x0000261e branch  0x0000377b 
+ 00014201  0x00002620 jam  0x00000000 , 0x000047d1 
+ 00014202  0x00002621 rtn 
+ 00014203  0x00002624 ifetch  0x00000001 , 0x00000006 
+ 00014204  0x00002625 beq  0x00000000 , 0x00003787 
+ 00014205  0x00002626 beq  0x00000001 , 0x00003780 
+ 00014206  0x00002627 beq  0x00000002 , 0x00003782 
+ 00014207  0x00002628 rtn 
+ 00014208  0x0000262a jam  0x00000000 , 0x0000477b 
+ 00014209  0x0000262b branch  0x00003783 
+ 00014210  0x0000262d jam  0x00000001 , 0x0000477b 
+ 00014211  0x0000262e ifetch  0x00000001 , 0x00000006 
+ 00014212  0x0000262f store  0x00000001 , 0x0000477d 
+ 00014213  0x00002630 ifetch  0x00000008 , 0x00000012 
+ 00014214  0x00002631 branch  0x0000378c 
+ 00014215  0x00002634 ifetch  0x00000001 , 0x00000012 
+ 00014216  0x00002635 call  0x000069d7 
+ 00014217  0x00002636 increase  0x00000001 , 0x00000012 
+ 00014218  0x00002637 ifetch  0x00000001 , 0x00000012 
+ 00014219  0x00002638 branch  0x000069d7 
+ 00014220  0x0000263a store  0x00000008 , 0x0000477e 
+ 00014221  0x0000263b jam  0x00000001 , 0x000047d1 
+ 00014222  0x0000263c fetch  0x00000001 , 0x0000477b 
+ 00014223  0x0000263d beq  0x00000000 , 0x0000379a 
+ 00014224  0x0000263f fetch  0x00000001 , 0x0000477f 
+ 00014225  0x00002640 store  0x00000001 , 0x00004780 
+ 00014226  0x00002641 fetch  0x00000001 , 0x0000477e 
+ 00014227  0x00002643 call  0x000069d7 
+ 00014228  0x00002644 fetch  0x00000001 , 0x0000477d 
+ 00014229  0x00002645 call  0x0000379e 
+ 00014230  0x00002646 store  0x00000001 , 0x00004785 
+ 00014231  0x00002647 fetch  0x00000006 , 0x00004780 
+ 00014232  0x00002648 store  0x00000006 , 0x00000a9a 
+ 00014233  0x00002649 branch  0x000069ae 
+ 00014234  0x0000264b fetch  0x00000001 , 0x0000477e 
+ 00014235  0x0000264c store  0x00000001 , 0x00004780 
+ 00014236  0x0000264d fetch  0x00000001 , 0x0000477f 
+ 00014237  0x0000264e branch  0x00003793 
+ 00014238  0x00002651 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00014239  0x00002652 add  0x0000003f , 0x00000032 , 0x0000003f 
+ 00014240  0x00002653 rtn 
+ 00014241  0x00002655 arg  0x00002ee0 , 0x00000002 
+ 00014242  0x00002656 imul32  0x00000002 , 0x0000003f 
+ 00014243  0x00002657 div  0x0000003f , 0x00000064 
+ 00014244  0x00002658 call  0x00007f86 
+ 00014245  0x00002659 quotient  0x00000002 
+ 00014246  0x0000265a copy  0x00000002 , 0x00000011 
+ 00014247  0x0000265b setarg  0x00002ee0 
+ 00014248  0x0000265c isub  0x00000002 , 0x00000012 
+ 00014249  0x0000265d rtn 
+ 00014250  0x00002661 hfetch  0x00000001 , 0x00008082 
+ 00014251  0x00002662 set1  0x00000002 , 0x0000003f 
+ 00014252  0x00002663 hstore  0x00000001 , 0x00008082 
+ 00014253  0x00002664 setarg  0x0000009e 
+ 00014254  0x00002665 hstore  0x00000002 , 0x00008068 
+ 00014255  0x00002666 hstore  0x00000002 , 0x0000806a 
+ 00014256  0x00002667 rtn 
+ 00014257  0x0000266a fetch  0x00000001 , 0x000047f0 
+ 00014258  0x0000266b nrtn  0x00000034 
+ 00014259  0x0000266c fetch  0x00000002 , 0x00004752 
+ 00014260  0x0000266d store  0x00000002 , 0x00004787 
+ 00014261  0x0000266e fetch  0x00000001 , 0x000047ea 
+ 00014262  0x0000266f bne  0x00000001 , 0x000037b9 
+ 00014263  0x00002670 fetch  0x00000002 , 0x000044a0 
+ 00014264  0x00002671 store  0x00000002 , 0x00004787 
+ 00014265  0x00002673 bpatch  0x000000d3 , 0x0000401a 
+ 00014266  0x00002674 call  0x000037aa 
+ 00014267  0x00002675 call  0x000037dc 
+ 00014268  0x00002676 setarg  0x0000bb80 
+ 00014269  0x00002677 call  0x00002a8f 
+ 00014270  0x00002678 call  0x000037e0 
+ 00014271  0x00002679 setarg  0x00001c20 
+ 00014272  0x0000267a call  0x00002a8f 
+ 00014273  0x0000267b arg  0x00000010 , 0x00000039 
+ 00014274  0x0000267d call  0x000037dc 
+ 00014275  0x0000267e fetch  0x00000002 , 0x00004787 
+ 00014276  0x0000267f bbit1  0x00000000 , 0x000037c9 
+ 00014277  0x00002680 setarg  0x00001c20 
+ 00014278  0x00002681 call  0x00002a8f 
+ 00014279  0x00002682 call  0x000037e0 
+ 00014280  0x00002683 branch  0x000037cc 
+ 00014281  0x00002686 setarg  0x00003840 
+ 00014282  0x00002687 call  0x00002a8f 
+ 00014283  0x00002688 call  0x000037e0 
+ 00014284  0x0000268a setarg  0x00001c20 
+ 00014285  0x0000268b call  0x00002a8f 
+ 00014286  0x0000268c fetch  0x00000002 , 0x00004787 
+ 00014287  0x0000268d rshift  0x0000003f , 0x0000003f 
+ 00014288  0x0000268e store  0x00000002 , 0x00004787 
+ 00014289  0x0000268f loop  0x000037c2 
+ 00014290  0x00002691 jam  0x00000002 , 0x000047f1 
+ 00014291  0x00002692 jam  0x00000001 , 0x000047f2 
+ 00014292  0x00002693 setarg  0x00000a01 
+ 00014293  0x00002694 store  0x00000002 , 0x00004752 
+ 00014294  0x00002695 fetch  0x00000001 , 0x000047b9 
+ 00014295  0x00002696 beq  0x00000003 , 0x000037d9 
+ 00014296  0x00002698 branch  0x00003762 
+ 00014297  0x0000269a setarg  0x00000a01 
+ 00014298  0x0000269b store  0x00000002 , 0x00004754 
+ 00014299  0x0000269c branch  0x00003762 
+ 00014300  0x0000269f hfetch  0x00000001 , 0x00008085 
+ 00014301  0x000026a0 or_into  0x00000040 , 0x0000003f 
+ 00014302  0x000026a1 hstore  0x00000001 , 0x00008085 
+ 00014303  0x000026a2 rtn 
+ 00014304  0x000026a4 hfetch  0x00000001 , 0x00008085 
+ 00014305  0x000026a5 and_into  0x000000bf , 0x0000003f 
+ 00014306  0x000026a6 hstore  0x00000001 , 0x00008085 
+ 00014307  0x000026a7 rtn 
+ 00014308  0x000026aa fetch  0x00000001 , 0x000047bb 
+ 00014309  0x000026ab rtneq  0x00000000 
+ 00014310  0x000026ac call  0x00002c65 
+ 00014311  0x000026ad fetcht  0x00000001 , 0x000047bc 
+ 00014312  0x000026ae storet  0x00000001 , 0x00004786 
+ 00014313  0x000026af call  0x000067fb 
+ 00014314  0x000026b0 call  0x00003847 
+ 00014315  0x000026b1 nrtn  0x00000001 
+ 00014316  0x000026b2 jam  0x00000001 , 0x0000479a 
+ 00014317  0x000026b3 rtn 
+ 00014318  0x000026b6 fetch  0x00000001 , 0x000047bb 
+ 00014319  0x000026b7 rtneq  0x00000000 
+ 00014320  0x000026b8 fetch  0x00000001 , 0x0000479b 
+ 00014321  0x000026b9 nrtn  0x00000034 
+ 00014322  0x000026ba fetch  0x00000002 , 0x00004682 
+ 00014323  0x000026bb bbit1  0x00000009 , 0x000037f6 
+ 00014324  0x000026bc fetch  0x00000001 , 0x000047ea 
+ 00014325  0x000026bd rtnne  0x00000001 
+ 00014326  0x000026bf bpatch  0x000000d4 , 0x0000401a 
+ 00014327  0x000026c0 call  0x00003847 
+ 00014328  0x000026c1 nrtn  0x00000001 
+ 00014329  0x000026c2 setarg  0x00008ca0 
+ 00014330  0x000026c3 call  0x00002a8f 
+ 00014331  0x000026c4 call  0x00003847 
+ 00014332  0x000026c5 nrtn  0x00000001 
+ 00014333  0x000026c6 call  0x0000383f 
+ 00014334  0x000026c8 call  0x00003842 
+ 00014335  0x000026c9 nrtn  0x00000002 
+ 00014336  0x000026ca call  0x00003847 
+ 00014337  0x000026cb branch  0x000037fe , 0x00000001 
+ 00014338  0x000026cc arg  0x00000000 , 0x00000011 
+ 00014339  0x000026cd arg  0x00000010 , 0x00000039 
+ 00014340  0x000026ce call  0x0000383f 
+ 00014341  0x000026d0 call  0x00003842 
+ 00014342  0x000026d1 nrtn  0x00000002 
+ 00014343  0x000026d2 call  0x00003847 
+ 00014344  0x000026d3 nbranch  0x00003805 , 0x00000001 
+ 00014345  0x000026d4 setarg  0x00002a30 
+ 00014346  0x000026d5 call  0x00002a8f 
+ 00014347  0x000026d6 call  0x00003847 
+ 00014348  0x000026d7 branch  0x00003812 , 0x00000001 
+ 00014349  0x000026d9 setarg  0x00000000 
+ 00014350  0x000026da rshift  0x00000011 , 0x00000011 
+ 00014351  0x000026db ior  0x00000011 , 0x00000011 
+ 00014352  0x000026dc loop  0x00003805 
+ 00014353  0x000026dd branch  0x0000381b 
+ 00014354  0x000026df setarg  0x00008000 
+ 00014355  0x000026e0 rshift  0x00000011 , 0x00000011 
+ 00014356  0x000026e1 ior  0x00000011 , 0x00000011 
+ 00014357  0x000026e2 call  0x0000383f 
+ 00014358  0x000026e4 call  0x00003842 
+ 00014359  0x000026e5 nrtn  0x00000002 
+ 00014360  0x000026e6 call  0x00003847 
+ 00014361  0x000026e7 branch  0x00003816 , 0x00000001 
+ 00014362  0x000026e8 loop  0x00003805 
+ 00014363  0x000026ea bpatch  0x000000d5 , 0x0000401a 
+ 00014364  0x000026eb copy  0x00000011 , 0x0000003f 
+ 00014365  0x000026ec store  0x00000002 , 0x00004789 
+ 00014366  0x000026ed store  0x00000002 , 0x00004797 
+ 00014367  0x000026ee fetch  0x00000001 , 0x000047ea 
+ 00014368  0x000026ef beq  0x00000001 , 0x00003827 
+ 00014369  0x000026f1 arg  0x00000007 , 0x00000039 
+ 00014370  0x000026f2 arg  0x00004792 , 0x00000006 
+ 00014371  0x000026f3 call  0x000036f0 
+ 00014372  0x000026f4 store  0x00000001 , 0x00004799 
+ 00014373  0x000026f5 arg  0x0000478f , 0x00000011 
+ 00014374  0x000026f6 branch  0x00007e3d 
+ 00014375  0x000026f9 fetch  0x00000001 , 0x000047ef 
+ 00014376  0x000026fa increase  0x00000001 , 0x0000003f 
+ 00014377  0x000026fb store  0x00000001 , 0x000047ef 
+ 00014378  0x000026fc div  0x0000003f , 0x00000002 
+ 00014379  0x000026fd call  0x00007f86 
+ 00014380  0x000026fe quotient  0x00000002 
+ 00014381  0x000026ff remainder  0x0000003f 
+ 00014382  0x00002700 nbranch  0x00003838 , 0x00000034 
+ 00014383  0x00002702 fetch  0x00000001 , 0x000047bf 
+ 00014384  0x00002703 isub  0x00000002 , 0x0000003e 
+ 00014385  0x00002704 call  0x0000383d , 0x00000005 
+ 00014386  0x00002705 arg  0x0000479c , 0x0000003f 
+ 00014387  0x00002706 increase  0xffffffff , 0x00000002 
+ 00014388  0x00002707 iadd  0x00000002 , 0x00000011 
+ 00014389  0x00002708 arg  0x00000000 , 0x0000003f 
+ 00014390  0x00002709 istore  0x00000001 , 0x00000011 
+ 00014391  0x0000270a rtn 
+ 00014392  0x0000270c arg  0x0000479c , 0x0000003f 
+ 00014393  0x0000270d iadd  0x00000002 , 0x00000011 
+ 00014394  0x0000270e arg  0x00000002 , 0x0000003f 
+ 00014395  0x0000270f istore  0x00000001 , 0x00000011 
+ 00014396  0x00002710 rtn 
+ 00014397  0x00002712 jam  0x00000001 , 0x000047f0 
+ 00014398  0x00002713 rtn 
+ 00014399  0x00002715 copy  0x00000022 , 0x0000003f 
+ 00014400  0x00002716 store  0x00000004 , 0x0000478b 
+ 00014401  0x00002717 rtn 
+ 00014402  0x00002719 copy  0x00000022 , 0x0000003f 
+ 00014403  0x0000271a fetcht  0x00000004 , 0x0000478b 
+ 00014404  0x0000271b isub  0x00000002 , 0x0000003f 
+ 00014405  0x0000271c sub  0x0000003f , 0x000000c8 , 0x0000003e 
+ 00014406  0x0000271d rtn 
+ 00014407  0x00002720 fetcht  0x00000001 , 0x00004786 
+ 00014408  0x00002721 branch  0x0000681d 
+ 00014409  0x00002724 fetch  0x00000008 , 0x00004752 
+ 00014410  0x00002725 store  0x00000008 , 0x0000479c 
+ 00014411  0x00002726 rtn 
+ 00014412  0x00002729 fetch  0x00000001 , 0x000047b9 
+ 00014413  0x0000272a store  0x00000001 , 0x000047af 
+ 00014414  0x0000272b fetch  0x00000001 , 0x000047ba 
+ 00014415  0x0000272c store  0x00000001 , 0x000047b0 
+ 00014416  0x0000272d fetch  0x00000001 , 0x000047bb 
+ 00014417  0x0000272e store  0x00000001 , 0x000047b1 
+ 00014418  0x0000272f arg  0x0000000d , 0x00000039 
+ 00014419  0x00002730 arg  0x000047aa , 0x00000006 
+ 00014420  0x00002731 call  0x000036f0 
+ 00014421  0x00002732 store  0x00000001 , 0x000047b7 
+ 00014422  0x00002733 arg  0x000047a7 , 0x00000011 
+ 00014423  0x00002734 branch  0x00007e3d 
+ 00014424  0x0000273b call  0x000065c2 
+ 00014425  0x0000273c jam  0x0000007a , 0x000046f6 
+ 00014426  0x0000273d call  0x0000386d 
+ 00014427  0x0000273e call  0x00003867 
+ 00014428  0x0000273f setarg  0x00003860 
+ 00014429  0x00002740 store  0x00000002 , 0x000041fd 
+ 00014430  0x00002741 arg  0x00000000 , 0x00000011 
+ 00014431  0x00002742 branch  0x000069a6 
+ 00014432  0x00002745 fetch  0x00000002 , 0x000046a1 
+ 00014433  0x00002746 rtn  0x00000034 
+ 00014434  0x00002747 increase  0xffffffff , 0x0000003f 
+ 00014435  0x00002748 store  0x00000002 , 0x000046a1 
+ 00014436  0x00002749 rtnne  0x00000000 
+ 00014437  0x0000274a jam  0x00000000 , 0x000046a0 
+ 00014438  0x0000274b rtn 
+ 00014439  0x0000274e bpatch  0x000000d6 , 0x0000401a 
+ 00014440  0x0000274f fetch  0x00000001 , 0x000046a4 
+ 00014441  0x00002750 sub  0x0000003f , 0x00000028 , 0x0000003e 
+ 00014442  0x00002751 rtn  0x00000002 
+ 00014443  0x00002752 jam  0x00000000 , 0x000046a4 
+ 00014444  0x00002753 rtn 
+ 00014445  0x00002756 arg  0x000046a4 , 0x00000011 
+ 00014446  0x00002757 arg  0x00000000 , 0x00000012 
+ 00014447  0x00002758 arg  0x00000051 , 0x00000002 
+ 00014448  0x00002759 branch  0x000065df 
+ 00014449  0x0000275d disable  0x00000028 
+ 00014450  0x0000275e fetch  0x00000001 , 0x000046a3 
+ 00014451  0x0000275f copy  0x0000003f , 0x00000039 
+ 00014452  0x00002761 arg  0x000046a5 , 0x00000011 
+ 00014453  0x00002762 copy  0x00000013 , 0x00000012 
+ 00014454  0x00002764 bpatch  0x000000d7 , 0x0000401a 
+ 00014455  0x00002765 call  0x0000387c 
+ 00014456  0x00002766 branch  0x00007fe7 , 0x00000005 
+ 00014457  0x00002768 increase  0x00000004 , 0x00000011 
+ 00014458  0x00002769 loop  0x00003876 
+ 00014459  0x0000276a rtn 
+ 00014460  0x0000276e bpatch  0x000000d8 , 0x0000401b 
+ 00014461  0x0000276f ifetch  0x00000003 , 0x00000011 
+ 00014462  0x00002770 ifetcht  0x00000003 , 0x00000012 
+ 00014463  0x00002771 isub  0x00000002 , 0x0000003e 
+ 00014464  0x00002772 rtn 
+ 00014465  0x00002775 bpatch  0x000000d9 , 0x0000401b 
+ 00014466  0x00002776 ifetch  0x00000003 , 0x00000011 
+ 00014467  0x00002777 ifetcht  0x00000003 , 0x00000012 
+ 00014468  0x00002778 isub  0x00000002 , 0x0000003e 
+ 00014469  0x00002779 nrtn  0x00000005 
+ 00014470  0x0000277a ifetch  0x00000001 , 0x00000006 
+ 00014471  0x0000277b sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00014472  0x0000277c rtn  0x00000005 
+ 00014473  0x0000277d add  0x00000011 , 0x00000003 , 0x00000006 
+ 00014474  0x0000277e ifetcht  0x00000001 , 0x00000006 
+ 00014475  0x0000277f isub  0x00000002 , 0x0000003e 
+ 00014476  0x00002780 rtn 
+ 00014477  0x00002784 bpatch  0x000000da , 0x0000401b 
+ 00014478  0x00002785 disable  0x00000028 
+ 00014479  0x00002786 fetch  0x00000001 , 0x000046a3 
+ 00014480  0x00002787 copy  0x0000003f , 0x00000039 
+ 00014481  0x00002789 arg  0x000046a5 , 0x00000011 
+ 00014482  0x0000278a copy  0x00000013 , 0x00000012 
+ 00014483  0x0000278c call  0x00003881 
+ 00014484  0x0000278d branch  0x00007fe7 , 0x00000005 
+ 00014485  0x0000278e increase  0x00000004 , 0x00000011 
+ 00014486  0x0000278f loop  0x00003893 
+ 00014487  0x00002790 rtn 
+ 00014488  0x00002794 fetch  0x00000001 , 0x00000004 
+ 00014489  0x00002795 increase  0x00000001 , 0x0000003f 
+ 00014490  0x00002796 store  0x00000001 , 0x00000004 
+ 00014491  0x00002797 arg  0x000002e5 , 0x00000013 
+ 00014492  0x0000279a ifetch  0x00000002 , 0x00000013 
+ 00014493  0x0000279b arg  0x000055aa , 0x00000002 
+ 00014494  0x0000279c isub  0x00000002 , 0x0000003e 
+ 00014495  0x0000279d nrtn  0x00000005 
+ 00014496  0x0000279e copy  0x00000006 , 0x00000013 
+ 00014497  0x0000279f ifetcht  0x00000003 , 0x00000013 
+ 00014498  0x000027a0 setarg  0x00ffffff 
+ 00014499  0x000027a1 isub  0x00000002 , 0x0000003e 
+ 00014500  0x000027a2 branch  0x000038a8 , 0x00000005 
+ 00014501  0x000027a3 call  0x0000388d 
+ 00014502  0x000027a4 branch  0x000038a8 , 0x00000028 
+ 00014503  0x000027a5 rtn 
+ 00014504  0x000027a8 bpatch  0x000000db , 0x0000401b 
+ 00014505  0x000027a9 increase  0x00000004 , 0x00000013 
+ 00014506  0x000027aa ifetch  0x00000001 , 0x00000013 
+ 00014507  0x000027ab fetcht  0x00000001 , 0x000046f6 
+ 00014508  0x000027ac isub  0x00000002 , 0x0000003e 
+ 00014509  0x000027ad rtn  0x00000005 
+ 00014510  0x000027ae store  0x00000001 , 0x000046f6 
+ 00014511  0x000027af fetch  0x00000001 , 0x00000003 
+ 00014512  0x000027b0 increase  0x00000001 , 0x0000003f 
+ 00014513  0x000027b1 store  0x00000001 , 0x00000003 
+ 00014514  0x000027b3 increase  0x00000001 , 0x00000013 
+ 00014515  0x000027b4 ifetch  0x00000001 , 0x00000013 
+ 00014516  0x000027b5 store  0x00000001 , 0x000046f5 
+ 00014517  0x000027b6 copy  0x0000003f , 0x00000039 
+ 00014518  0x000027b7 rtn  0x00000034 
+ 00014519  0x000027b9 ifetch  0x00000001 , 0x00000006 
+ 00014520  0x000027ba beq  0x00000000 , 0x000038c2 
+ 00014521  0x000027bb beq  0x00000001 , 0x000038cf 
+ 00014522  0x000027bc beq  0x00000002 , 0x000038d4 
+ 00014523  0x000027bd beq  0x00000003 , 0x000038d9 
+ 00014524  0x000027be beq  0x00000004 , 0x000038de 
+ 00014525  0x000027bf beq  0x00000005 , 0x000038e3 
+ 00014526  0x000027c0 beq  0x00000006 , 0x000038e8 
+ 00014527  0x000027c1 beq  0x000000ff , 0x000038ea 
+ 00014528  0x000027c2 loop  0x000038b7 
+ 00014529  0x000027c3 rtn 
+ 00014530  0x000027c6 copy  0x00000006 , 0x00000013 
+ 00014531  0x000027c7 fetch  0x00000001 , 0x0000469a 
+ 00014532  0x000027c8 store  0x00000001 , 0x00000a9a 
+ 00014533  0x000027c9 arg  0x00000000 , 0x00000002 
+ 00014534  0x000027cb storet  0x00000001 , 0x00000a9b 
+ 00014535  0x000027cc setarg  0x00002710 
+ 00014536  0x000027cd store  0x00000003 , 0x00000a9c 
+ 00014537  0x000027ce ifetch  0x00000001 , 0x00000013 
+ 00014538  0x000027cf store  0x00000001 , 0x00000a9f 
+ 00014539  0x000027d0 call  0x000069ae 
+ 00014540  0x000027d1 and  0x00000013 , 0x00000001 , 0x00000006 
+ 00014541  0x000027d2 loop  0x000038b7 
+ 00014542  0x000027d3 rtn 
+ 00014543  0x000027d5 copy  0x00000013 , 0x00000006 
+ 00014544  0x000027d6 fetch  0x00000001 , 0x0000469b 
+ 00014545  0x000027d7 store  0x00000001 , 0x00000a9a 
+ 00014546  0x000027d8 arg  0x00000001 , 0x00000002 
+ 00014547  0x000027d9 branch  0x000038c6 
+ 00014548  0x000027db copy  0x00000013 , 0x00000006 
+ 00014549  0x000027dc fetch  0x00000001 , 0x0000469c 
+ 00014550  0x000027dd store  0x00000001 , 0x00000a9a 
+ 00014551  0x000027de arg  0x00000002 , 0x00000002 
+ 00014552  0x000027df branch  0x000038c6 
+ 00014553  0x000027e1 copy  0x00000013 , 0x00000006 
+ 00014554  0x000027e2 fetch  0x00000001 , 0x0000469d 
+ 00014555  0x000027e3 store  0x00000001 , 0x00000a9a 
+ 00014556  0x000027e4 arg  0x00000003 , 0x00000002 
+ 00014557  0x000027e5 branch  0x000038c6 
+ 00014558  0x000027e7 copy  0x00000013 , 0x00000006 
+ 00014559  0x000027e8 fetch  0x00000001 , 0x0000469e 
+ 00014560  0x000027e9 store  0x00000001 , 0x00000a9a 
+ 00014561  0x000027ea arg  0x00000004 , 0x00000002 
+ 00014562  0x000027eb branch  0x000038c6 
+ 00014563  0x000027ed copy  0x00000013 , 0x00000006 
+ 00014564  0x000027ee fetch  0x00000001 , 0x0000469f 
+ 00014565  0x000027ef store  0x00000001 , 0x00000a9a 
+ 00014566  0x000027f0 arg  0x00000005 , 0x00000002 
+ 00014567  0x000027f1 branch  0x000038c6 
+ 00014568  0x000027f4 ifetch  0x00000001 , 0x00000006 
+ 00014569  0x000027f5 rtn 
+ 00014570  0x000027f8 copy  0x00000006 , 0x00000013 
+ 00014571  0x000027f9 fetch  0x00000001 , 0x000046a0 
+ 00014572  0x000027fa bne  0x00000001 , 0x000038ee 
+ 00014573  0x000027fb call  0x000038f0 
+ 00014574  0x000027fd and  0x00000013 , 0x00000004 , 0x00000006 
+ 00014575  0x000027fe rtn 
+ 00014576  0x00002800 bpatch  0x000000dc , 0x0000401b 
+ 00014577  0x00002801 call  0x00003871 
+ 00014578  0x00002802 branch  0x000038fe , 0x00000028 
+ 00014579  0x00002803 fetch  0x00000001 , 0x000046a4 
+ 00014580  0x00002804 copy  0x0000003f , 0x00000002 
+ 00014581  0x00002805 increase  0x00000001 , 0x0000003f 
+ 00014582  0x00002806 store  0x00000001 , 0x000046a4 
+ 00014583  0x00002807 call  0x00003867 
+ 00014584  0x00002808 lshift2  0x00000002 , 0x00000002 
+ 00014585  0x00002809 setarg  0x000046a5 
+ 00014586  0x0000280a iadd  0x00000002 , 0x00000005 
+ 00014587  0x0000280b ifetch  0x00000004 , 0x00000013 
+ 00014588  0x0000280c istore  0x00000004 , 0x00000005 
+ 00014589  0x0000280d branch  0x00003903 
+ 00014590  0x0000280f add  0x00000013 , 0x00000003 , 0x00000006 
+ 00014591  0x00002810 ifetch  0x00000001 , 0x00000006 
+ 00014592  0x00002811 rtn  0x00000034 
+ 00014593  0x00002812 ifetch  0x00000004 , 0x00000013 
+ 00014594  0x00002813 istore  0x00000004 , 0x00000011 
+ 00014595  0x00002815 arg  0x000046a4 , 0x00000011 
+ 00014596  0x00002816 arg  0x00000000 , 0x00000012 
+ 00014597  0x00002817 arg  0x00000051 , 0x00000002 
+ 00014598  0x00002818 branch  0x00006606 
+ 00014599  0x00002820 fetcht  0x00000001 , 0x0000469a 
+ 00014600  0x00002821 call  0x00006825 
+ 00014601  0x00002822 rtn 
+ 00014602  0x00002828 fetcht  0x00000001 , 0x0000469a 
+ 00014603  0x00002829 call  0x00006829 
+ 00014604  0x0000282c fetcht  0x00000001 , 0x0000469a 
+ 00014605  0x0000282d call  0x00006825 
+ 00014606  0x00002830 call  0x0000391d 
+ 00014607  0x00002832 fetch  0x00000001 , 0x000046a7 
+ 00014608  0x00002833 nrtn  0x00000034 
+ 00014609  0x00002835 call  0x00002c29 
+ 00014610  0x00002836 hfetch  0x00000004 , 0x00008138 
+ 00014611  0x00002837 set0  0x0000000f , 0x0000003f 
+ 00014612  0x00002838 hstore  0x00000004 , 0x0000804c 
+ 00014613  0x00002839 call  0x00002c21 
+ 00014614  0x0000283a arg  0xffffffff , 0x00000002 
+ 00014615  0x0000283b branch  0x00002b2a 
+ 00014616  0x0000283e fetch  0x00000001 , 0x000046a7 
+ 00014617  0x0000283f branch  0x000056f9 , 0x00000034 
+ 00014618  0x00002840 increase  0xffffffff , 0x0000003f 
+ 00014619  0x00002841 store  0x00000001 , 0x000046a7 
+ 00014620  0x00002842 branch  0x000056f9 
+ 00014621  0x00002845 mul32  0x0000003f , 0x00000014 , 0x0000003f 
+ 00014622  0x00002846 arg  0x000046a8 , 0x00000006 
+ 00014623  0x00002847 iadd  0x00000006 , 0x00000006 
+ 00014624  0x00002848 ifetch  0x00000001 , 0x00000006 
+ 00014625  0x00002849 rtn  0x00000034 
+ 00014626  0x0000284a copy  0x0000003f , 0x00000011 
+ 00014627  0x0000284b copy  0x00000011 , 0x00000039 
+ 00014628  0x0000284c arg  0x00004372 , 0x00000005 
+ 00014629  0x0000284d call  0x00007f01 
+ 00014630  0x0000284e copy  0x00000011 , 0x0000003f 
+ 00014631  0x0000284f increase  0x00000002 , 0x0000003f 
+ 00014632  0x00002850 store  0x00000001 , 0x0000436f 
+ 00014633  0x00002851 rtn 
+ 00014634  0x0000285a rtn  0x0000002b 
+ 00014635  0x0000285b call  0x000057a3 
+ 00014636  0x0000285c call  0x000068a8 
+ 00014637  0x0000285d setarg  0x00003982 
+ 00014638  0x0000285e store  0x00000002 , 0x000041f3 
+ 00014639  0x0000285f setarg  0x0000396e 
+ 00014640  0x00002860 store  0x00000002 , 0x000041f1 
+ 00014641  0x00002861 setarg  0x00003986 
+ 00014642  0x00002862 store  0x00000002 , 0x000041f5 
+ 00014643  0x00002863 setarg  0x0000396d 
+ 00014644  0x00002864 store  0x00000002 , 0x000041ef 
+ 00014645  0x00002865 setarg  0x00003969 
+ 00014646  0x00002866 store  0x00000002 , 0x000041e9 
+ 00014647  0x00002867 setarg  0x00003ab7 
+ 00014648  0x00002868 store  0x00000002 , 0x000041fb 
+ 00014649  0x00002869 setarg  0x00003c32 
+ 00014650  0x0000286a store  0x00000002 , 0x0000456f 
+ 00014651  0x0000286b setarg  0x00003cc2 
+ 00014652  0x0000286c store  0x00000002 , 0x000041f9 
+ 00014653  0x0000286d setarg  0x00003cd7 
+ 00014654  0x0000286e store  0x00000002 , 0x000041fd 
+ 00014655  0x00002870 call  0x0000397f 
+ 00014656  0x00002871 bpatch  0x000000dd , 0x0000401b 
+ 00014657  0x00002872 call  0x00003945 
+ 00014658  0x00002873 call  0x00003964 
+ 00014659  0x00002874 call  0x00002c6f 
+ 00014660  0x00002875 branch  0x00003c48 
+ 00014661  0x00002879 fetch  0x00000004 , 0x000046aa 
+ 00014662  0x0000287a hstore  0x00000004 , 0x00008054 
+ 00014663  0x0000287c fetch  0x00000004 , 0x000046ae 
+ 00014664  0x0000287d hstore  0x00000004 , 0x0000805a 
+ 00014665  0x0000287f hfetch  0x00000001 , 0x00008081 
+ 00014666  0x00002880 or_into  0x00000004 , 0x0000003f 
+ 00014667  0x00002881 and_into  0x000000fc , 0x0000003f 
+ 00014668  0x00002882 hstore  0x00000001 , 0x00008081 
+ 00014669  0x00002883 hjam  0x00000000 , 0x00008062 
+ 00014670  0x00002885 fetch  0x00000002 , 0x000046aa 
+ 00014671  0x00002886 hstore  0x00000002 , 0x00008058 
+ 00014672  0x00002887 fetch  0x00000002 , 0x000046ae 
+ 00014673  0x00002888 hstore  0x00000002 , 0x0000805e 
+ 00014674  0x00002889 hstore  0x00000002 , 0x00008060 
+ 00014675  0x0000288b hfetch  0x00000004 , 0x00008078 
+ 00014676  0x0000288c set1  0x00000007 , 0x0000003f 
+ 00014677  0x0000288d hstore  0x00000004 , 0x00008078 
+ 00014678  0x0000288f hfetch  0x00000002 , 0x00008050 
+ 00014679  0x00002890 set0  0x0000000f , 0x0000003f 
+ 00014680  0x00002891 hstore  0x00000002 , 0x00008050 
+ 00014681  0x00002892 call  0x000066ce 
+ 00014682  0x00002893 hjam  0x00000000 , 0x00008043 
+ 00014683  0x00002894 hjam  0x00000081 , 0x00008062 
+ 00014684  0x00002896 fetch  0x00000001 , 0x000046bf 
+ 00014685  0x00002897 isolate1  0x00000000 , 0x0000003f 
+ 00014686  0x00002898 hfetcht  0x00000001 , 0x00008062 
+ 00014687  0x00002899 setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00014688  0x0000289a hstoret  0x00000001 , 0x00008062 
+ 00014689  0x0000289b rtn 
+ 00014690  0x000028a0 call  0x0000397f 
+ 00014691  0x000028a1 branch  0x00003945 
+ 00014692  0x000028a9 fetcht  0x00000001 , 0x0000469e 
+ 00014693  0x000028aa call  0x0000680e 
+ 00014694  0x000028ab call  0x000039e6 
+ 00014695  0x000028ad fetcht  0x00000001 , 0x0000469c 
+ 00014696  0x000028ae branch  0x000067fb 
+ 00014697  0x000028b1 fetcht  0x00000001 , 0x0000469c 
+ 00014698  0x000028b2 call  0x0000681d 
+ 00014699  0x000028b3 nbranch  0x000033d2 , 0x00000001 
+ 00014700  0x000028b4 branch  0x000033d0 
+ 00014701  0x000028b8 rtn 
+ 00014702  0x000028bb call  0x00003970 
+ 00014703  0x000028bc branch  0x00003ce9 
+ 00014704  0x000028bf fetch  0x00000001 , 0x00004682 
+ 00014705  0x000028c0 bbit0  0x00000004 , 0x0000397f 
+ 00014706  0x000028c1 bpatch  0x000000de , 0x0000401b 
+ 00014707  0x000028c2 setarg  0x00003eff 
+ 00014708  0x000028c3 fetcht  0x00000004 , 0x000046c5 
+ 00014709  0x000028c4 iadd  0x00000002 , 0x00000002 
+ 00014710  0x000028c5 copy  0x00000022 , 0x0000003f 
+ 00014711  0x000028c6 isub  0x00000002 , 0x0000003e 
+ 00014712  0x000028c7 nrtn  0x00000002 
+ 00014713  0x000028c8 fetch  0x00000002 , 0x00004682 
+ 00014714  0x000028c9 bbit1  0x00000005 , 0x0000397f 
+ 00014715  0x000028ca fetch  0x00000001 , 0x000046bf 
+ 00014716  0x000028cb rtnbit1  0x00000006 
+ 00014717  0x000028cc call  0x00003cec 
+ 00014718  0x000028cd call  0x0000340e 
+ 00014719  0x000028cf copy  0x00000022 , 0x0000003f 
+ 00014720  0x000028d0 store  0x00000004 , 0x000046c5 
+ 00014721  0x000028d1 rtn 
+ 00014722  0x000028d5 call  0x00003ce9 
+ 00014723  0x000028d6 call  0x0000526e 
+ 00014724  0x000028d7 nrtn  0x00000034 
+ 00014725  0x000028d8 branch  0x000039eb 
+ 00014726  0x000028dc copy  0x00000013 , 0x0000003f 
+ 00014727  0x000028dd beq  0x00000001 , 0x000039d4 
+ 00014728  0x000028de beq  0x00000002 , 0x000039a3 
+ 00014729  0x000028df beq  0x00000004 , 0x000039d7 
+ 00014730  0x000028e0 beq  0x00000005 , 0x000039c4 
+ 00014731  0x000028e1 beq  0x00000008 , 0x000039aa 
+ 00014732  0x000028e2 beq  0x00000009 , 0x000039b1 
+ 00014733  0x000028e3 beq  0x0000000a , 0x000039c9 
+ 00014734  0x000028e4 beq  0x0000000b , 0x000039b6 
+ 00014735  0x000028e5 beq  0x0000000c , 0x000039c2 
+ 00014736  0x000028e6 beq  0x00000013 , 0x000039d7 
+ 00014737  0x000028e7 beq  0x00000014 , 0x000039cf 
+ 00014738  0x000028e8 beq  0x00000015 , 0x000039c6 
+ 00014739  0x000028e9 beq  0x00000021 , 0x000039ca 
+ 00014740  0x000028ea beq  0x00000023 , 0x000039cb 
+ 00014741  0x000028eb beq  0x00000024 , 0x000039ce 
+ 00014742  0x000028ec beq  0x00000030 , 0x00003c8a 
+ 00014743  0x000028ed beq  0x00000031 , 0x00003c8c 
+ 00014744  0x000028ee beq  0x00000032 , 0x00003c9a 
+ 00014745  0x000028ef beq  0x00000033 , 0x00003c98 
+ 00014746  0x000028f0 beq  0x00000034 , 0x00003c84 
+ 00014747  0x000028f1 beq  0x00000035 , 0x00003c73 
+ 00014748  0x000028f2 beq  0x00000036 , 0x00003c82 
+ 00014749  0x000028f3 beq  0x00000037 , 0x00003c8e 
+ 00014750  0x000028f4 beq  0x00000038 , 0x00003c90 
+ 00014751  0x000028f5 beq  0x0000003b , 0x00003ca1 
+ 00014752  0x000028f6 beq  0x0000003d , 0x00003c6a 
+ 00014753  0x000028f7 beq  0x00000041 , 0x000039d9 
+ 00014754  0x000028f8 rtn 
+ 00014755  0x000028fc call  0x0000397f 
+ 00014756  0x000028fd fetch  0x00000001 , 0x00004665 
+ 00014757  0x000028fe ncall  0x00003c8e , 0x00000034 
+ 00014758  0x000028ff call  0x000039d7 
+ 00014759  0x00002900 fetch  0x00000002 , 0x00004682 
+ 00014760  0x00002901 rtnbit0  0x00000004 
+ 00014761  0x00002902 branch  0x000039b1 
+ 00014762  0x00002905 fetch  0x00000002 , 0x00004682 
+ 00014763  0x00002906 set1  0x00000004 , 0x0000003f 
+ 00014764  0x00002907 store  0x00000002 , 0x00004682 
+ 00014765  0x00002908 fetch  0x00000001 , 0x000046a7 
+ 00014766  0x00002909 store  0x00000001 , 0x00004172 
+ 00014767  0x0000290a call  0x000039e6 
+ 00014768  0x0000290b branch  0x00003c1d 
+ 00014769  0x00002910 fetch  0x00000002 , 0x00004682 
+ 00014770  0x00002911 rtnbit0  0x00000004 
+ 00014771  0x00002912 set0  0x00000004 , 0x0000003f 
+ 00014772  0x00002913 store  0x00000002 , 0x00004682 
+ 00014773  0x00002914 branch  0x00003c21 
+ 00014774  0x0000291a call  0x0000397f 
+ 00014775  0x0000291d fetch  0x00000002 , 0x00004042 
+ 00014776  0x0000291e rshift  0x0000003f , 0x0000003f 
+ 00014777  0x0000291f fetcht  0x00000002 , 0x000041e3 
+ 00014778  0x00002920 isub  0x00000002 , 0x0000003e 
+ 00014779  0x00002921 nbranch  0x000039bd , 0x00000005 
+ 00014780  0x00002922 branch  0x00003416 
+ 00014781  0x00002924 fetch  0x00000001 , 0x000046bf 
+ 00014782  0x00002925 rtnbit1  0x00000005 
+ 00014783  0x00002926 hfetch  0x00000002 , 0x00008112 
+ 00014784  0x00002927 ncall  0x00003cf0 , 0x00000034 
+ 00014785  0x00002928 branch  0x0000340c 
+ 00014786  0x0000292b call  0x00003cee 
+ 00014787  0x0000292c branch  0x00003418 
+ 00014788  0x0000292f call  0x0000397f 
+ 00014789  0x00002930 branch  0x000039dd 
+ 00014790  0x00002933 call  0x00005816 
+ 00014791  0x00002934 call  0x000039d7 
+ 00014792  0x00002935 branch  0x00003c23 
+ 00014793  0x00002938 branch  0x000033dd 
+ 00014794  0x0000293c branch  0x00003cee 
+ 00014795  0x00002940 fetch  0x00000001 , 0x000046bf 
+ 00014796  0x00002941 bbit0  0x00000005 , 0x0000340e 
+ 00014797  0x00002942 branch  0x00003cf2 
+ 00014798  0x00002946 branch  0x00003cf2 
+ 00014799  0x0000294a call  0x000058ba 
+ 00014800  0x0000294b call  0x000039dd 
+ 00014801  0x0000294c fetch  0x00000001 , 0x000046a8 
+ 00014802  0x0000294d store  0x00000001 , 0x00004172 
+ 00014803  0x0000294e branch  0x00003c1f 
+ 00014804  0x00002952 jam  0x00000000 , 0x00004661 
+ 00014805  0x00002953 call  0x00003cee 
+ 00014806  0x00002954 branch  0x00003cf2 
+ 00014807  0x00002959 call  0x00003a52 
+ 00014808  0x0000295a branch  0x000039db 
+ 00014809  0x0000295e call  0x00005cc9 
+ 00014810  0x0000295f branch  0x00005b02 
+ 00014811  0x00002963 fetcht  0x00000001 , 0x0000469e 
+ 00014812  0x00002964 branch  0x00006829 
+ 00014813  0x00002967 call  0x000039df 
+ 00014814  0x00002968 branch  0x000039e6 
+ 00014815  0x0000296b fetch  0x00000001 , 0x000046a1 
+ 00014816  0x0000296c isolate1  0x00000000 , 0x0000003f 
+ 00014817  0x0000296d call  0x000033f0 , 0x00000001 
+ 00014818  0x0000296e fetch  0x00000001 , 0x000046a1 
+ 00014819  0x0000296f isolate1  0x00000001 , 0x0000003f 
+ 00014820  0x00002970 call  0x000033f8 , 0x00000001 
+ 00014821  0x00002971 rtn 
+ 00014822  0x00002973 fetcht  0x00000001 , 0x0000469e 
+ 00014823  0x00002974 branch  0x00006825 
+ 00014824  0x00002977 fetch  0x00000001 , 0x0000456b 
+ 00014825  0x00002978 rtneq  0x00000000 
+ 00014826  0x00002979 branch  0x00006c28 
+ 00014827  0x0000297c hfetch  0x00000001 , 0x0000810c 
+ 00014828  0x0000297d bbit1  0x00000003 , 0x000039e8 
+ 00014829  0x0000297e call  0x000066cb 
+ 00014830  0x0000297f ifetch  0x00000001 , 0x00000003 
+ 00014831  0x00002980 bne  0x00000001 , 0x00003a01 
+ 00014832  0x00002981 hfetch  0x00000002 , 0x00008112 
+ 00014833  0x00002982 sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00014834  0x00002983 rtn  0x00000002 
+ 00014835  0x00002984 ifetch  0x00000001 , 0x00000003 
+ 00014836  0x00002985 store  0x00000001 , 0x00000b03 
+ 00014837  0x00002986 ifetcht  0x00000001 , 0x00000003 
+ 00014838  0x00002987 copy  0x00000003 , 0x00000011 
+ 00014839  0x00002988 storet  0x00000001 , 0x00000b04 
+ 00014840  0x00002989 add  0x00000002 , 0x00000003 , 0x00000002 
+ 00014841  0x0000298a hfetch  0x00000002 , 0x00008112 
+ 00014842  0x0000298b isub  0x00000002 , 0x00000002 
+ 00014843  0x0000298c nrtn  0x00000002 
+ 00014844  0x0000298d jam  0x00000001 , 0x00000b05 
+ 00014845  0x0000298e call  0x00003a17 
+ 00014846  0x0000298f fetch  0x00000001 , 0x00000b05 
+ 00014847  0x00002990 rtneq  0x00000000 
+ 00014848  0x00002991 branch  0x00003a12 
+ 00014849  0x00002994 call  0x00007ec1 
+ 00014850  0x00002995 call  0x00003c79 
+ 00014851  0x00002996 branch  0x00003a04 
+ 00014852  0x0000299a bpatch  0x000000df , 0x0000401b 
+ 00014853  0x0000299b hfetch  0x00000002 , 0x00008112 
+ 00014854  0x0000299c rtn  0x00000034 
+ 00014855  0x0000299d call  0x000066cb 
+ 00014856  0x0000299e ifetch  0x00000001 , 0x00000003 
+ 00014857  0x0000299f sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00014858  0x000029a0 ncall  0x00003a16 , 0x00000005 
+ 00014859  0x000029a1 nbranch  0x00003a04 , 0x00000005 
+ 00014860  0x000029a2 ifetch  0x00000001 , 0x00000003 
+ 00014861  0x000029a3 rtneq  0x00000005 
+ 00014862  0x000029a4 rtneq  0x00000029 
+ 00014863  0x000029a5 increase  0xffffffff , 0x00000003 
+ 00014864  0x000029a6 call  0x00003a16 
+ 00014865  0x000029a7 branch  0x00003a04 
+ 00014866  0x000029aa call  0x000066cb 
+ 00014867  0x000029ab increase  0x00000002 , 0x00000003 
+ 00014868  0x000029ac ifetch  0x00000001 , 0x00000003 
+ 00014869  0x000029ad iadd  0x00000003 , 0x00000003 
+ 00014870  0x000029af branch  0x000066c8 
+ 00014871  0x000029b3 bpatch  0x000000e0 , 0x0000401c 
+ 00014872  0x000029b4 fetch  0x00000001 , 0x00000b03 
+ 00014873  0x000029b5 beq  0x00000000 , 0x00003a3f 
+ 00014874  0x000029b6 beq  0x00000001 , 0x00003a44 
+ 00014875  0x000029b7 beq  0x00000002 , 0x00003a49 
+ 00014876  0x000029b8 beq  0x00000003 , 0x00003a5f 
+ 00014877  0x000029b9 beq  0x00000004 , 0x00003a6b 
+ 00014878  0x000029ba beq  0x00000005 , 0x00003a75 
+ 00014879  0x000029bb beq  0x00000009 , 0x00003a9a 
+ 00014880  0x000029bc beq  0x0000000b , 0x00003ad7 
+ 00014881  0x000029bd beq  0x0000000c , 0x00003ad8 
+ 00014882  0x000029be beq  0x0000000d , 0x00003aec 
+ 00014883  0x000029bf beq  0x0000000e , 0x00003af4 
+ 00014884  0x000029c0 beq  0x0000000f , 0x00003afa 
+ 00014885  0x000029c1 beq  0x00000010 , 0x00003b06 
+ 00014886  0x000029c2 beq  0x00000011 , 0x00003b0e 
+ 00014887  0x000029c3 beq  0x00000012 , 0x00003b12 
+ 00014888  0x000029c4 beq  0x00000026 , 0x00003b16 
+ 00014889  0x000029c5 beq  0x00000028 , 0x00003b1d 
+ 00014890  0x000029c6 beq  0x00000029 , 0x00003b2d 
+ 00014891  0x000029c7 beq  0x0000002a , 0x00003b36 
+ 00014892  0x000029c8 beq  0x0000002b , 0x00003b69 
+ 00014893  0x000029c9 beq  0x0000002c , 0x00003b6f 
+ 00014894  0x000029ca beq  0x00000030 , 0x00003b76 
+ 00014895  0x000029cb beq  0x00000031 , 0x00003b7c 
+ 00014896  0x000029cc beq  0x00000032 , 0x00003b90 
+ 00014897  0x000029cd beq  0x00000033 , 0x00003b98 
+ 00014898  0x000029ce beq  0x00000034 , 0x00003bbb 
+ 00014899  0x000029cf beq  0x00000035 , 0x00003bc4 
+ 00014900  0x000029d0 beq  0x00000036 , 0x00003bcd 
+ 00014901  0x000029d1 beq  0x00000037 , 0x00003bd7 
+ 00014902  0x000029d2 beq  0x00000038 , 0x00003bda 
+ 00014903  0x000029d3 beq  0x00000040 , 0x00003be2 
+ 00014904  0x000029d4 beq  0x00000042 , 0x00003bec 
+ 00014905  0x000029d5 beq  0x00000048 , 0x00003bf1 
+ 00014906  0x000029d6 beq  0x00000049 , 0x00003bfc 
+ 00014907  0x000029d7 beq  0x00000051 , 0x00003c02 
+ 00014908  0x000029d8 beq  0x00000061 , 0x00003c06 
+ 00014909  0x000029d9 beq  0x000000ff , 0x00003c15 
+ 00014910  0x000029da branch  0x00003c17 
+ 00014911  0x000029e0 fetch  0x00000001 , 0x00000b04 
+ 00014912  0x000029e1 bne  0x00000006 , 0x00003c17 
+ 00014913  0x000029e2 ifetch  0x00000006 , 0x00000003 
+ 00014914  0x000029e3 store  0x00000006 , 0x000040a0 
+ 00014915  0x000029e4 branch  0x00003c1a 
+ 00014916  0x000029e8 fetch  0x00000001 , 0x00000b04 
+ 00014917  0x000029e9 bne  0x00000006 , 0x00003c17 
+ 00014918  0x000029ea ifetch  0x00000006 , 0x00000003 
+ 00014919  0x000029eb store  0x00000006 , 0x000044a0 
+ 00014920  0x000029ec branch  0x00003c1a 
+ 00014921  0x000029f1 fetch  0x00000001 , 0x00000b04 
+ 00014922  0x000029f2 bne  0x00000001 , 0x00003c17 
+ 00014923  0x000029f3 copy  0x00000011 , 0x00000003 
+ 00014924  0x000029f4 call  0x00003c1a 
+ 00014925  0x000029f5 ifetcht  0x00000001 , 0x00000003 
+ 00014926  0x000029f6 storet  0x00000001 , 0x000046a9 
+ 00014927  0x000029f7 fetch  0x00000002 , 0x00004682 
+ 00014928  0x000029f8 rtnbit1  0x00000009 
+ 00014929  0x000029f9 rtnbit1  0x00000000 
+ 00014930  0x000029fb fetch  0x00000001 , 0x000046a1 
+ 00014931  0x000029fc isolate1  0x00000000 , 0x0000003f 
+ 00014932  0x000029fd nbranch  0x00003a58 , 0x00000001 
+ 00014933  0x000029fe fetcht  0x00000001 , 0x000046a9 
+ 00014934  0x000029ff and  0x00000002 , 0x00000003 , 0x0000003f 
+ 00014935  0x00002a00 store  0x00000001 , 0x00004093 
+ 00014936  0x00002a02 fetch  0x00000001 , 0x000046a1 
+ 00014937  0x00002a03 isolate1  0x00000001 , 0x0000003f 
+ 00014938  0x00002a04 nrtn  0x00000001 
+ 00014939  0x00002a05 fetcht  0x00000001 , 0x000046a9 
+ 00014940  0x00002a06 isolate1  0x00000002 , 0x00000002 
+ 00014941  0x00002a07 branch  0x000033fa , 0x00000001 
+ 00014942  0x00002a08 branch  0x000033f8 
+ 00014943  0x00002a0d fetch  0x00000001 , 0x00000b04 
+ 00014944  0x00002a0e sub  0x0000003f , 0x00000043 , 0x0000003e 
+ 00014945  0x00002a0f nbranch  0x00003c17 , 0x00000002 
+ 00014946  0x00002a10 store  0x00000001 , 0x00004515 
+ 00014947  0x00002a11 arg  0x00000008 , 0x00000039 
+ 00014948  0x00002a12 call  0x00007ec6 
+ 00014949  0x00002a13 fetch  0x00000001 , 0x00000b04 
+ 00014950  0x00002a14 copy  0x0000003f , 0x00000039 
+ 00014951  0x00002a15 copy  0x00000011 , 0x00000003 
+ 00014952  0x00002a16 arg  0x00004516 , 0x00000005 
+ 00014953  0x00002a17 call  0x000066ea 
+ 00014954  0x00002a18 branch  0x00003c1a 
+ 00014955  0x00002a1d fetch  0x00000001 , 0x00000b04 
+ 00014956  0x00002a1e sub  0x0000003f , 0x0000001d , 0x0000003e 
+ 00014957  0x00002a1f nbranch  0x00003c17 , 0x00000002 
+ 00014958  0x00002a20 store  0x00000001 , 0x000043af 
+ 00014959  0x00002a21 copy  0x0000003f , 0x00000039 
+ 00014960  0x00002a22 copy  0x00000011 , 0x00000003 
+ 00014961  0x00002a23 arg  0x000043b0 , 0x00000005 
+ 00014962  0x00002a24 call  0x000066ea 
+ 00014963  0x00002a25 call  0x000057a3 
+ 00014964  0x00002a26 branch  0x00003c1a 
+ 00014965  0x00002a2b fetch  0x00000001 , 0x00004682 
+ 00014966  0x00002a2c bbit0  0x00000004 , 0x00003c17 
+ 00014967  0x00002a2d call  0x000033ba 
+ 00014968  0x00002a2e branch  0x00003a86 , 0x00000001 
+ 00014969  0x00002a2f jam  0x00000000 , 0x00000b05 
+ 00014970  0x00002a31 call  0x0000397f 
+ 00014971  0x00002a32 fetch  0x00000001 , 0x00004568 
+ 00014972  0x00002a33 rtn  0x00000034 
+ 00014973  0x00002a34 fetch  0x00000002 , 0x00004573 
+ 00014974  0x00002a35 bne  0x00000000 , 0x00003a84 
+ 00014975  0x00002a36 fetch  0x00000001 , 0x00000b04 
+ 00014976  0x00002a37 store  0x00000002 , 0x00004573 
+ 00014977  0x00002a39 copy  0x00000011 , 0x00000003 
+ 00014978  0x00002a3c copy  0x00000003 , 0x0000003f 
+ 00014979  0x00002a3d store  0x00000002 , 0x00004571 
+ 00014980  0x00002a3f call  0x00003a88 
+ 00014981  0x00002a40 branch  0x00006c4d 
+ 00014982  0x00002a43 jam  0x00000000 , 0x00000b05 
+ 00014983  0x00002a44 branch  0x00003cd1 
+ 00014984  0x00002a47 call  0x00003a8e 
+ 00014985  0x00002a48 fetch  0x00000002 , 0x00004573 
+ 00014986  0x00002a49 fetcht  0x00000002 , 0x0000469f 
+ 00014987  0x00002a4a isub  0x00000002 , 0x0000003f 
+ 00014988  0x00002a4b store  0x00000002 , 0x00004573 
+ 00014989  0x00002a4c rtn 
+ 00014990  0x00002a4f fetch  0x00000002 , 0x00004573 
+ 00014991  0x00002a50 arg  0x0000006e , 0x00000002 
+ 00014992  0x00002a51 call  0x00007fdd 
+ 00014993  0x00002a52 fetcht  0x00000002 , 0x0000456c 
+ 00014994  0x00002a53 call  0x00007fdd 
+ 00014995  0x00002a54 fetcht  0x00000002 , 0x0000455e 
+ 00014996  0x00002a55 call  0x00007fdd 
+ 00014997  0x00002a56 store  0x00000002 , 0x0000469f 
+ 00014998  0x00002a57 rtn 
+ 00014999  0x00002a5a jam  0x00000001 , 0x00000b05 
+ 00015000  0x00002a5b jam  0x00000005 , 0x00000b03 
+ 00015001  0x00002a5c branch  0x00003c1a 
+ 00015002  0x00002a61 fetch  0x00000002 , 0x00004682 
+ 00015003  0x00002a62 bbit0  0x00000009 , 0x00003c17 
+ 00015004  0x00002a63 call  0x00003ad4 
+ 00015005  0x00002a64 branch  0x00003c17 , 0x00000028 
+ 00015006  0x00002a65 jam  0x00000000 , 0x00000b05 
+ 00015007  0x00002a66 fetch  0x00000001 , 0x000046bf 
+ 00015008  0x00002a67 bbit1  0x00000004 , 0x00003ab4 
+ 00015009  0x00002a68 fetch  0x00000001 , 0x000046c0 
+ 00015010  0x00002a69 nrtn  0x00000034 
+ 00015011  0x00002a6a jam  0x00000001 , 0x00000b05 
+ 00015012  0x00002a6b ifetch  0x00000002 , 0x00000003 
+ 00015013  0x00002a6c store  0x00000002 , 0x000046c1 
+ 00015014  0x00002a6d copy  0x00000003 , 0x0000003f 
+ 00015015  0x00002a6e store  0x00000002 , 0x000046c3 
+ 00015016  0x00002a6f fetch  0x00000001 , 0x00000b04 
+ 00015017  0x00002a70 pincrease  0xfffffffe 
+ 00015018  0x00002a71 nbranch  0x00003c17 , 0x00000002 
+ 00015019  0x00002a72 branch  0x00003c17 , 0x00000005 
+ 00015020  0x00002a73 store  0x00000001 , 0x000046c0 
+ 00015021  0x00002a74 jam  0x00000000 , 0x00000b05 
+ 00015022  0x00002a75 call  0x00005814 
+ 00015023  0x00002a76 call  0x00003ab7 
+ 00015024  0x00002a77 call  0x00003ab7 
+ 00015025  0x00002a78 call  0x00003ab7 
+ 00015026  0x00002a79 fetch  0x00000001 , 0x000046bf 
+ 00015027  0x00002a7a rtnbit0  0x00000004 
+ 00015028  0x00002a7c jam  0x00000001 , 0x00000b05 
+ 00015029  0x00002a7d call  0x00003cf6 
+ 00015030  0x00002a7e branch  0x00003c1a 
+ 00015031  0x00002a81 fetch  0x00000001 , 0x000046c0 
+ 00015032  0x00002a82 rtn  0x00000034 
+ 00015033  0x00002a83 call  0x00005892 
+ 00015034  0x00002a84 nrtn  0x00000034 
+ 00015035  0x00002a85 call  0x00003acf 
+ 00015036  0x00002a86 bpatch  0x000000e1 , 0x0000401c 
+ 00015037  0x00002a87 add  0x00000002 , 0xfffffffd , 0x0000003f 
+ 00015038  0x00002a88 fetcht  0x00000001 , 0x000046c0 
+ 00015039  0x00002a89 call  0x00007fdd 
+ 00015040  0x00002a8a copy  0x0000003f , 0x00000011 
+ 00015041  0x00002a8b copy  0x00000002 , 0x0000003f 
+ 00015042  0x00002a8c isub  0x00000011 , 0x0000003f 
+ 00015043  0x00002a8d store  0x00000001 , 0x000046c0 
+ 00015044  0x00002a8e fetcht  0x00000002 , 0x000046c1 
+ 00015045  0x00002a8f call  0x00005a64 
+ 00015046  0x00002a90 fetch  0x00000002 , 0x000046c3 
+ 00015047  0x00002a91 copy  0x0000003f , 0x00000003 
+ 00015048  0x00002a92 copy  0x00000011 , 0x00000039 
+ 00015049  0x00002a93 call  0x000066ea 
+ 00015050  0x00002a94 copy  0x00000003 , 0x0000003f 
+ 00015051  0x00002a95 store  0x00000002 , 0x000046c3 
+ 00015052  0x00002a96 fetch  0x00000001 , 0x000046c0 
+ 00015053  0x00002a97 nrtn  0x00000034 
+ 00015054  0x00002a98 branch  0x00003cf4 
+ 00015055  0x00002a9d arg  0x00000017 , 0x00000002 
+ 00015056  0x00002a9e fetch  0x00000001 , 0x000046bf 
+ 00015057  0x00002a9f rtnbit1  0x00000001 
+ 00015058  0x00002aa0 fetcht  0x00000002 , 0x000044a8 
+ 00015059  0x00002aa1 rtn 
+ 00015060  0x00002aa4 fetch  0x00000001 , 0x000046bf 
+ 00015061  0x00002aa5 bbit1  0x00000002 , 0x00005a42 
+ 00015062  0x00002aa6 branch  0x00007fe9 
+ 00015063  0x00002aab branch  0x00003c4c 
+ 00015064  0x00002ab0 copy  0x00000011 , 0x00000003 
+ 00015065  0x00002ab1 ifetch  0x00000001 , 0x00000003 
+ 00015066  0x00002ab2 beq  0x00000000 , 0x00003adf 
+ 00015067  0x00002ab3 beq  0x00000001 , 0x00003ae2 
+ 00015068  0x00002ab4 beq  0x00000002 , 0x00003ae8 
+ 00015069  0x00002ab5 beq  0x00000003 , 0x00003aea 
+ 00015070  0x00002ab6 branch  0x00003c17 
+ 00015071  0x00002ab8 call  0x0000612b 
+ 00015072  0x00002ab9 jam  0x00000000 , 0x0000465a 
+ 00015073  0x00002aba branch  0x00003c1a 
+ 00015074  0x00002abc setarg  0x00040003 
+ 00015075  0x00002abe store  0x00000003 , 0x0000465b 
+ 00015076  0x00002abf store  0x00000001 , 0x00004662 
+ 00015077  0x00002ac0 call  0x00006124 
+ 00015078  0x00002ac1 jam  0x00000001 , 0x0000465a 
+ 00015079  0x00002ac2 branch  0x00003c1a 
+ 00015080  0x00002ac4 setarg  0x00040002 
+ 00015081  0x00002ac5 branch  0x00003ae3 
+ 00015082  0x00002ac8 setarg  0x00040001 
+ 00015083  0x00002ac9 branch  0x00003ae3 
+ 00015084  0x00002acd fetch  0x00000001 , 0x00000b04 
+ 00015085  0x00002ace sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00015086  0x00002acf nbranch  0x00003c17 , 0x00000002 
+ 00015087  0x00002ad0 store  0x00000001 , 0x00004689 
+ 00015088  0x00002ad1 copy  0x0000003f , 0x00000039 
+ 00015089  0x00002ad2 arg  0x0000468a , 0x00000005 
+ 00015090  0x00002ad3 call  0x000066fd 
+ 00015091  0x00002ad4 branch  0x00003c1a 
+ 00015092  0x00002ad9 copy  0x00000011 , 0x00000003 
+ 00015093  0x00002ada ifetch  0x00000001 , 0x00000003 
+ 00015094  0x00002adb hfetcht  0x00000001 , 0x00008062 
+ 00015095  0x00002adc nsetflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00015096  0x00002add hstoret  0x00000001 , 0x00008062 
+ 00015097  0x00002ade branch  0x00003c1a 
+ 00015098  0x00002ae3 fetch  0x00000001 , 0x00000b04 
+ 00015099  0x00002ae4 copy  0x0000003f , 0x00000039 
+ 00015100  0x00002ae5 copy  0x00000011 , 0x00000003 
+ 00015101  0x00002ae6 call  0x00007f58 
+ 00015102  0x00002ae7 setarg  0x016e3600 
+ 00015103  0x00002ae8 idiv  0x00000002 
+ 00015104  0x00002ae9 call  0x00007f86 
+ 00015105  0x00002aea quotient  0x0000003f 
+ 00015106  0x00002aec store  0x00000002 , 0x00004243 
+ 00015107  0x00002aed call  0x00003c1a 
+ 00015108  0x00002aee call  0x00007f9e 
+ 00015109  0x00002aef branch  0x000066ce 
+ 00015110  0x00002af4 arg  0x00000002 , 0x00000011 
+ 00015111  0x00002af5 arg  0x0000469a , 0x00000012 
+ 00015112  0x00002af6 arg  0x00000000 , 0x00000002 
+ 00015113  0x00002af7 branch  0x00003c25 
+ 00015114  0x00002af9 store  0x00000002 , 0x00000ac2 
+ 00015115  0x00002afa arg  0x00000ac2 , 0x00000012 
+ 00015116  0x00002afb arg  0x00000000 , 0x00000002 
+ 00015117  0x00002afc branch  0x00003c25 
+ 00015118  0x00002b01 fetch  0x00000002 , 0x00004682 
+ 00015119  0x00002b02 bbit0  0x00000000 , 0x00003c17 
+ 00015120  0x00002b04 call  0x00003c1a 
+ 00015121  0x00002b05 branch  0x000033e9 
+ 00015122  0x00002b0a fetch  0x00000002 , 0x00004682 
+ 00015123  0x00002b0b bbit0  0x00000009 , 0x00003c17 
+ 00015124  0x00002b0d call  0x00003c1a 
+ 00015125  0x00002b0e branch  0x00003402 
+ 00015126  0x00002b15 fetch  0x00000001 , 0x00000b04 
+ 00015127  0x00002b16 copy  0x0000003f , 0x00000039 
+ 00015128  0x00002b17 copy  0x00000011 , 0x00000003 
+ 00015129  0x00002b18 fetch  0x00000002 , 0x00004215 
+ 00015130  0x00002b19 icopy  0x00000005 
+ 00015131  0x00002b1a call  0x000066ea 
+ 00015132  0x00002b1b branch  0x00003c1a 
+ 00015133  0x00002b20 fetch  0x00000001 , 0x00004682 
+ 00015134  0x00002b21 bbit0  0x00000000 , 0x00003c17 
+ 00015135  0x00002b22 ifetch  0x00000001 , 0x00000003 
+ 00015136  0x00002b23 fetcht  0x00000001 , 0x00004661 
+ 00015137  0x00002b24 setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00015138  0x00002b25 set1  0x00000007 , 0x00000002 
+ 00015139  0x00002b26 storet  0x00000001 , 0x00004661 
+ 00015140  0x00002b28 call  0x00003c1a 
+ 00015141  0x00002b2a fetch  0x00000001 , 0x00004661 
+ 00015142  0x00002b2b bbit1  0x00000006 , 0x00003b2b 
+ 00015143  0x00002b2c rtn 
+ 00015144  0x00002b2f jam  0x00000000 , 0x00004661 
+ 00015145  0x00002b30 jam  0x00000021 , 0x00000a99 
+ 00015146  0x00002b31 branch  0x00007d8f 
+ 00015147  0x00002b35 bbit1  0x00000000 , 0x00005f95 
+ 00015148  0x00002b36 branch  0x00003b28 
+ 00015149  0x00002b3b fetch  0x00000001 , 0x00004682 
+ 00015150  0x00002b3c rtnbit0  0x00000004 
+ 00015151  0x00002b3d fetch  0x00000001 , 0x0000456b 
+ 00015152  0x00002b3e rtneq  0x00000000 
+ 00015153  0x00002b3f ifetch  0x00000001 , 0x00000003 
+ 00015154  0x00002b40 fetcht  0x00000001 , 0x00004569 
+ 00015155  0x00002b41 iadd  0x00000002 , 0x00000002 
+ 00015156  0x00002b42 storet  0x00000001 , 0x00004569 
+ 00015157  0x00002b43 rtn 
+ 00015158  0x00002b48 arg  0x00000040 , 0x00000039 
+ 00015159  0x00002b49 arg  0x0000436f , 0x00000005 
+ 00015160  0x00002b4a call  0x00007ed4 
+ 00015161  0x00002b4b setarg  0x00000000 
+ 00015162  0x00002b4c store  0x00000001 , 0x00000ab2 
+ 00015163  0x00002b4d copy  0x00000011 , 0x00000003 
+ 00015164  0x00002b4f copy  0x00000003 , 0x0000003f 
+ 00015165  0x00002b50 store  0x00000002 , 0x00000ab6 
+ 00015166  0x00002b51 call  0x00003b64 
+ 00015167  0x00002b53 fetch  0x00000001 , 0x00000ab2 
+ 00015168  0x00002b54 fetcht  0x00000001 , 0x00000aa2 
+ 00015169  0x00002b55 increase  0x00000001 , 0x00000002 
+ 00015170  0x00002b56 iadd  0x00000002 , 0x0000003f 
+ 00015171  0x00002b57 store  0x00000001 , 0x00000ab2 
+ 00015172  0x00002b59 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015173  0x00002b5a nbranch  0x00003b50 , 0x00000002 
+ 00015174  0x00002b5c fetcht  0x00000001 , 0x0000436f 
+ 00015175  0x00002b5d setarg  0x00004370 
+ 00015176  0x00002b5e iadd  0x00000002 , 0x0000003f 
+ 00015177  0x00002b5f store  0x00000002 , 0x00000abb 
+ 00015178  0x00002b60 fetcht  0x00000001 , 0x00000aa2 
+ 00015179  0x00002b61 increase  0x00000001 , 0x00000002 
+ 00015180  0x00002b62 fetch  0x00000001 , 0x0000436f 
+ 00015181  0x00002b63 iadd  0x00000002 , 0x0000003f 
+ 00015182  0x00002b64 store  0x00000001 , 0x0000436f 
+ 00015183  0x00002b65 branch  0x00003b59 
+ 00015184  0x00002b67 fetcht  0x00000001 , 0x0000438f 
+ 00015185  0x00002b68 setarg  0x00004390 
+ 00015186  0x00002b69 iadd  0x00000002 , 0x0000003f 
+ 00015187  0x00002b6a store  0x00000002 , 0x00000abb 
+ 00015188  0x00002b6b fetcht  0x00000001 , 0x00000aa2 
+ 00015189  0x00002b6c increase  0x00000001 , 0x00000002 
+ 00015190  0x00002b6d fetch  0x00000001 , 0x0000438f 
+ 00015191  0x00002b6e iadd  0x00000002 , 0x0000003f 
+ 00015192  0x00002b6f store  0x00000001 , 0x0000438f 
+ 00015193  0x00002b71 fetch  0x00000002 , 0x00000abb 
+ 00015194  0x00002b72 copy  0x0000003f , 0x00000005 
+ 00015195  0x00002b73 fetch  0x00000002 , 0x00000ab6 
+ 00015196  0x00002b74 copy  0x0000003f , 0x00000003 
+ 00015197  0x00002b76 copy  0x00000002 , 0x00000039 
+ 00015198  0x00002b77 call  0x000066ea 
+ 00015199  0x00002b79 fetch  0x00000001 , 0x00000b04 
+ 00015200  0x00002b7a fetcht  0x00000001 , 0x00000ab2 
+ 00015201  0x00002b7b isub  0x00000002 , 0x0000003e 
+ 00015202  0x00002b7c nbranch  0x00003b3c , 0x00000005 
+ 00015203  0x00002b7d branch  0x00003c1a 
+ 00015204  0x00002b81 ifetch  0x00000001 , 0x00000003 
+ 00015205  0x00002b82 store  0x00000001 , 0x00000aa2 
+ 00015206  0x00002b83 ifetch  0x00000001 , 0x00000003 
+ 00015207  0x00002b84 store  0x00000001 , 0x00000aae 
+ 00015208  0x00002b85 rtn 
+ 00015209  0x00002b8a arg  0x00000000 , 0x00000002 
+ 00015210  0x00002b8b arg  0x00000002 , 0x00000011 
+ 00015211  0x00002b8c fetch  0x00000002 , 0x000046b4 
+ 00015212  0x00002b8d store  0x00000002 , 0x00000ac2 
+ 00015213  0x00002b8e arg  0x00000ac2 , 0x00000012 
+ 00015214  0x00002b8f branch  0x00003c25 
+ 00015215  0x00002b94 fetch  0x00000001 , 0x00000b04 
+ 00015216  0x00002b95 bne  0x00000001 , 0x00003c17 
+ 00015217  0x00002b96 ifetch  0x00000001 , 0x00000003 
+ 00015218  0x00002b97 store  0x00000001 , 0x000046b2 
+ 00015219  0x00002b98 setarg  0x00000000 
+ 00015220  0x00002b99 store  0x00000002 , 0x000046b4 
+ 00015221  0x00002b9a branch  0x00003c1a 
+ 00015222  0x00002b9f ifetch  0x00000004 , 0x00000003 
+ 00015223  0x00002ba0 store  0x00000004 , 0x0000468a 
+ 00015224  0x00002ba1 jam  0x00000004 , 0x00004689 
+ 00015225  0x00002ba2 jam  0x00000000 , 0x00004663 
+ 00015226  0x00002ba3 call  0x00003c1a 
+ 00015227  0x00002ba4 branch  0x00005f31 
+ 00015228  0x00002ba9 fetch  0x00000001 , 0x00000b04 
+ 00015229  0x00002baa bne  0x00000003 , 0x00003c17 
+ 00015230  0x00002bab ifetch  0x00000001 , 0x00000003 
+ 00015231  0x00002bac beq  0x00000000 , 0x00003b82 
+ 00015232  0x00002bad beq  0x00000001 , 0x00003b8a 
+ 00015233  0x00002bae branch  0x00003c17 
+ 00015234  0x00002bb1 ifetcht  0x00000001 , 0x00000003 
+ 00015235  0x00002bb2 ifetch  0x00000001 , 0x00000003 
+ 00015236  0x00002bb3 beq  0x00000002 , 0x00003b88 
+ 00015237  0x00002bb4 nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00015238  0x00002bb5 call  0x000067fb 
+ 00015239  0x00002bb6 branch  0x00003c1a 
+ 00015240  0x00002bb9 call  0x00006806 
+ 00015241  0x00002bba branch  0x00003c1a 
+ 00015242  0x00002bbd ifetcht  0x00000001 , 0x00000003 
+ 00015243  0x00002bbe call  0x00006812 
+ 00015244  0x00002bbf ifetch  0x00000001 , 0x00000003 
+ 00015245  0x00002bc0 isolate1  0x00000000 , 0x0000003f 
+ 00015246  0x00002bc1 call  0x0000682c 
+ 00015247  0x00002bc2 branch  0x00003c1a 
+ 00015248  0x00002bc7 fetch  0x00000001 , 0x00000b04 
+ 00015249  0x00002bc8 bne  0x00000001 , 0x00003c17 
+ 00015250  0x00002bc9 ifetcht  0x00000001 , 0x00000003 
+ 00015251  0x00002bca call  0x0000681d 
+ 00015252  0x00002bcb setarg  0x00000000 
+ 00015253  0x00002bcc nsetflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00015254  0x00002bcd arg  0x00000001 , 0x00000011 
+ 00015255  0x00002bce branch  0x00003b0a 
+ 00015256  0x00002bd3 copy  0x00000011 , 0x00000003 
+ 00015257  0x00002bd4 ifetch  0x00000001 , 0x00000003 
+ 00015258  0x00002bd5 copy  0x0000003f , 0x00000002 
+ 00015259  0x00002bd6 beq  0x00000081 , 0x00003ba3 
+ 00015260  0x00002bd7 beq  0x00000082 , 0x00003ba8 
+ 00015261  0x00002bd8 beq  0x00000083 , 0x00003bae 
+ 00015262  0x00002bd9 store  0x00000001 , 0x000044c6 
+ 00015263  0x00002bda beq  0x00000000 , 0x00003bb3 
+ 00015264  0x00002bdb beq  0x00000001 , 0x00003bb6 
+ 00015265  0x00002bdc beq  0x00000002 , 0x00003bb8 
+ 00015266  0x00002bdd branch  0x00003c17 
+ 00015267  0x00002be0 fetch  0x00000001 , 0x000044be 
+ 00015268  0x00002be1 branch  0x00003c17 , 0x00000034 
+ 00015269  0x00002be2 storet  0x00000001 , 0x000044c6 
+ 00015270  0x00002be3 jam  0x0000000d , 0x00004456 
+ 00015271  0x00002be4 branch  0x00003bb4 
+ 00015272  0x00002be6 fetch  0x00000001 , 0x000044be 
+ 00015273  0x00002be7 branch  0x00003c17 , 0x00000034 
+ 00015274  0x00002be8 storet  0x00000001 , 0x000044c6 
+ 00015275  0x00002be9 jam  0x0000000d , 0x00004456 
+ 00015276  0x00002bea jam  0x00000001 , 0x00004454 
+ 00015277  0x00002beb branch  0x00003c1a 
+ 00015278  0x00002bed fetch  0x00000001 , 0x000044be 
+ 00015279  0x00002bee branch  0x00003c17 , 0x00000034 
+ 00015280  0x00002bef storet  0x00000001 , 0x000044c6 
+ 00015281  0x00002bf0 jam  0x0000000d , 0x00004456 
+ 00015282  0x00002bf1 branch  0x00003bb9 
+ 00015283  0x00002bf3 jam  0x00000000 , 0x00004456 
+ 00015284  0x00002bf5 jam  0x00000003 , 0x00004454 
+ 00015285  0x00002bf6 branch  0x00003c1a 
+ 00015286  0x00002bf8 jam  0x00000005 , 0x00004456 
+ 00015287  0x00002bf9 branch  0x00003bb4 
+ 00015288  0x00002bfb jam  0x00000005 , 0x00004456 
+ 00015289  0x00002bfd jam  0x00000000 , 0x00004454 
+ 00015290  0x00002bfe branch  0x00003c1a 
+ 00015291  0x00002c03 fetch  0x00000001 , 0x00000b04 
+ 00015292  0x00002c04 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015293  0x00002c05 nbranch  0x00003c17 , 0x00000002 
+ 00015294  0x00002c06 store  0x00000001 , 0x0000436f 
+ 00015295  0x00002c07 copy  0x0000003f , 0x00000039 
+ 00015296  0x00002c08 copy  0x00000011 , 0x00000003 
+ 00015297  0x00002c09 arg  0x00004370 , 0x00000005 
+ 00015298  0x00002c0a call  0x000066ea 
+ 00015299  0x00002c0b branch  0x00003c1a 
+ 00015300  0x00002c10 fetch  0x00000001 , 0x00000b04 
+ 00015301  0x00002c11 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015302  0x00002c12 nbranch  0x00003c17 , 0x00000002 
+ 00015303  0x00002c13 store  0x00000001 , 0x0000438f 
+ 00015304  0x00002c14 copy  0x0000003f , 0x00000039 
+ 00015305  0x00002c15 copy  0x00000011 , 0x00000003 
+ 00015306  0x00002c16 arg  0x00004390 , 0x00000005 
+ 00015307  0x00002c17 call  0x000066ea 
+ 00015308  0x00002c18 branch  0x00003c1a 
+ 00015309  0x00002c1d fetch  0x00000002 , 0x00004682 
+ 00015310  0x00002c1e bbit0  0x00000009 , 0x00003c17 
+ 00015311  0x00002c1f fetch  0x00000001 , 0x00000b04 
+ 00015312  0x00002c20 bne  0x00000008 , 0x00003c17 
+ 00015313  0x00002c21 copy  0x00000011 , 0x00000003 
+ 00015314  0x00002c22 ifetch  0x00000008 , 0x00000003 
+ 00015315  0x00002c23 store  0x00000008 , 0x00004496 
+ 00015316  0x00002c24 jam  0x00000012 , 0x00000a99 
+ 00015317  0x00002c25 call  0x00007d8f 
+ 00015318  0x00002c26 branch  0x00003c1a 
+ 00015319  0x00002c2b ifetch  0x00000002 , 0x00000003 
+ 00015320  0x00002c2c store  0x00000002 , 0x00004482 
+ 00015321  0x00002c2d branch  0x00003c1a 
+ 00015322  0x00002c32 fetch  0x00000001 , 0x000044c6 
+ 00015323  0x00002c33 branch  0x00003c17 , 0x00000034 
+ 00015324  0x00002c34 fetch  0x00000001 , 0x000044c4 
+ 00015325  0x00002c35 bne  0x00000000 , 0x00003c17 
+ 00015326  0x00002c36 fetch  0x00000001 , 0x000044c5 
+ 00015327  0x00002c37 bne  0x00000000 , 0x00003c17 
+ 00015328  0x00002c38 call  0x00007e25 
+ 00015329  0x00002c39 branch  0x00003c1a 
+ 00015330  0x00002c3e fetch  0x00000001 , 0x00000b04 
+ 00015331  0x00002c3f bne  0x00000005 , 0x00003c17 
+ 00015332  0x00002c40 ifetch  0x00000001 , 0x00000003 
+ 00015333  0x00002c41 store  0x00000001 , 0x000046a2 
+ 00015334  0x00002c42 ifetch  0x00000004 , 0x00000003 
+ 00015335  0x00002c43 store  0x00000004 , 0x000046a3 
+ 00015336  0x00002c44 fetcht  0x00000001 , 0x000046a2 
+ 00015337  0x00002c45 call  0x0000680e 
+ 00015338  0x00002c46 call  0x00003cbc 
+ 00015339  0x00002c47 branch  0x00003c1a 
+ 00015340  0x00002c4c fetch  0x00000001 , 0x00000b04 
+ 00015341  0x00002c4d bne  0x00000001 , 0x00003c17 
+ 00015342  0x00002c4e ifetch  0x00000001 , 0x00000003 
+ 00015343  0x00002c4f store  0x00000001 , 0x000041de 
+ 00015344  0x00002c50 branch  0x00003c1a 
+ 00015345  0x00002c55 ifetch  0x00000001 , 0x00000003 
+ 00015346  0x00002c56 beq  0x00000001 , 0x00003bfa 
+ 00015347  0x00002c57 fetch  0x00000001 , 0x000044c1 
+ 00015348  0x00002c58 beq  0x00000003 , 0x00003bf8 
+ 00015349  0x00002c59 beq  0x00000006 , 0x00003bf8 
+ 00015350  0x00002c5a beq  0x00000007 , 0x00003bf8 
+ 00015351  0x00002c5b branch  0x00003c17 
+ 00015352  0x00002c5d jam  0x00000001 , 0x000044c2 
+ 00015353  0x00002c5e branch  0x00003c1a 
+ 00015354  0x00002c61 call  0x00005b53 
+ 00015355  0x00002c62 branch  0x00003c1a 
+ 00015356  0x00002c67 fetch  0x00000001 , 0x00000b04 
+ 00015357  0x00002c68 bne  0x00000001 , 0x00003c17 
+ 00015358  0x00002c69 call  0x00003c1a 
+ 00015359  0x00002c6a ifetch  0x00000001 , 0x00000003 
+ 00015360  0x00002c6b branch  0x000060cb , 0x00000034 
+ 00015361  0x00002c6c branch  0x000060c9 
+ 00015362  0x00002c71 call  0x00003c1a 
+ 00015363  0x00002c72 call  0x00007f9e 
+ 00015364  0x00002c73 hjam  0x00000001 , 0x00008010 
+ 00015365  0x00002c74 branch  0x00002a8e 
+ 00015366  0x00002c79 fetch  0x00000001 , 0x00000b04 
+ 00015367  0x00002c7a beq  0x00000000 , 0x00003c17 
+ 00015368  0x00002c7b ifetch  0x00000001 , 0x00000003 
+ 00015369  0x00002c7c branch  0x00003c13 , 0x00000034 
+ 00015370  0x00002c7d fetch  0x00000001 , 0x00000b04 
+ 00015371  0x00002c7e bne  0x00000005 , 0x00003c17 
+ 00015372  0x00002c7f ifetch  0x00000004 , 0x00000003 
+ 00015373  0x00002c80 arg  0x000f4240 , 0x00000002 
+ 00015374  0x00002c81 isub  0x00000002 , 0x0000003e 
+ 00015375  0x00002c82 branch  0x00003c17 , 0x00000002 
+ 00015376  0x00002c83 store  0x00000004 , 0x000044c7 
+ 00015377  0x00002c84 call  0x0000580c 
+ 00015378  0x00002c85 branch  0x00003c1a 
+ 00015379  0x00002c88 call  0x0000580e 
+ 00015380  0x00002c89 branch  0x00003c1a 
+ 00015381  0x00002c8e jam  0x00000000 , 0x00004091 
+ 00015382  0x00002c8f branch  0x00003c1a 
+ 00015383  0x00002c95 arg  0x00000001 , 0x00000002 
+ 00015384  0x00002c96 arg  0x00000000 , 0x00000011 
+ 00015385  0x00002c97 branch  0x00003c25 
+ 00015386  0x00002c9b arg  0x00000000 , 0x00000002 
+ 00015387  0x00002c9c arg  0x00000000 , 0x00000011 
+ 00015388  0x00002c9d branch  0x00003c25 
+ 00015389  0x00002ca2 jam  0x00000000 , 0x00000b03 
+ 00015390  0x00002ca3 branch  0x00003c49 
+ 00015391  0x00002ca8 jam  0x00000002 , 0x00000b03 
+ 00015392  0x00002ca9 branch  0x00003c49 
+ 00015393  0x00002cae jam  0x00000003 , 0x00000b03 
+ 00015394  0x00002caf branch  0x00003c49 
+ 00015395  0x00002cb4 jam  0x00000005 , 0x00000b03 
+ 00015396  0x00002cb5 branch  0x00003c49 
+ 00015397  0x00002cbe fetch  0x00000001 , 0x00000b03 
+ 00015398  0x00002cbf copy  0x0000003f , 0x00000013 
+ 00015399  0x00002cc0 jam  0x00000006 , 0x00000b03 
+ 00015400  0x00002cc1 setarg  0x00000002 
+ 00015401  0x00002cc2 iadd  0x00000011 , 0x0000003f 
+ 00015402  0x00002cc3 call  0x00003ca7 
+ 00015403  0x00002cc4 copy  0x00000013 , 0x0000003f 
+ 00015404  0x00002cc5 istore  0x00000001 , 0x0000000a 
+ 00015405  0x00002cc6 istoret  0x00000001 , 0x0000000a 
+ 00015406  0x00002cc7 copy  0x00000011 , 0x00000039 
+ 00015407  0x00002cc8 copy  0x00000012 , 0x00000006 
+ 00015408  0x00002cc9 call  0x000066e4 
+ 00015409  0x00002cca branch  0x000066c5 
+ 00015410  0x00002cd0 call  0x0000397f 
+ 00015411  0x00002cd1 jam  0x00000007 , 0x00000b03 
+ 00015412  0x00002cd2 fetch  0x00000001 , 0x000004ff 
+ 00015413  0x00002cd3 rtn  0x00000034 
+ 00015414  0x00002cd4 call  0x00003ca7 
+ 00015415  0x00002cd5 fetch  0x00000001 , 0x000004ff 
+ 00015416  0x00002cd6 copy  0x0000003f , 0x00000039 
+ 00015417  0x00002cd7 fetch  0x00000002 , 0x00000501 
+ 00015418  0x00002cd8 copy  0x0000003f , 0x00000006 
+ 00015419  0x00002cd9 call  0x000066d1 
+ 00015420  0x00002cda branch  0x000066c5 
+ 00015421  0x00002cdf jam  0x00000008 , 0x00000b03 
+ 00015422  0x00002ce0 fetch  0x00000001 , 0x000046b6 
+ 00015423  0x00002ce1 icopy  0x00000039 
+ 00015424  0x00002ce2 increase  0x00000002 , 0x0000003f 
+ 00015425  0x00002ce3 call  0x00003ca7 
+ 00015426  0x00002ce4 fetch  0x00000002 , 0x000046b9 
+ 00015427  0x00002ce5 istore  0x00000002 , 0x0000000a 
+ 00015428  0x00002ce6 fetch  0x00000002 , 0x000046b7 
+ 00015429  0x00002ce7 icopy  0x00000006 
+ 00015430  0x00002ce8 call  0x000066d1 
+ 00015431  0x00002ce9 branch  0x000066c5 
+ 00015432  0x00002cee jam  0x00000009 , 0x00000b03 
+ 00015433  0x00002cf0 setarg  0x00000000 
+ 00015434  0x00002cf1 call  0x00003ca7 
+ 00015435  0x00002cf2 branch  0x000066c5 
+ 00015436  0x00002cf7 jam  0x0000000a , 0x00000b03 
+ 00015437  0x00002cf8 setarg  0x00000001 
+ 00015438  0x00002cf9 call  0x00003ca7 
+ 00015439  0x00002cfb call  0x00003c5d 
+ 00015440  0x00002cfd fetch  0x00000002 , 0x00004682 
+ 00015441  0x00002cfe arg  0x00000002 , 0x00000007 
+ 00015442  0x00002cff qisolate1  0x0000003f 
+ 00015443  0x00002d00 setflag  0x00000001 , 0x00000003 , 0x00000002 
+ 00015444  0x00002d02 arg  0x00000009 , 0x00000007 
+ 00015445  0x00002d03 qisolate1  0x0000003f 
+ 00015446  0x00002d04 setflag  0x00000001 , 0x00000005 , 0x00000002 
+ 00015447  0x00002d06 fetch  0x00000001 , 0x00004682 
+ 00015448  0x00002d07 arg  0x00000004 , 0x00000007 
+ 00015449  0x00002d08 qisolate1  0x0000003f 
+ 00015450  0x00002d09 setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00015451  0x00002d0b istoret  0x00000001 , 0x0000000a 
+ 00015452  0x00002d0c branch  0x000066c5 
+ 00015453  0x00002d11 arg  0x00000000 , 0x00000002 
+ 00015454  0x00002d12 fetch  0x00000001 , 0x00004093 
+ 00015455  0x00002d13 arg  0x00000000 , 0x00000007 
+ 00015456  0x00002d14 qisolate1  0x0000003f 
+ 00015457  0x00002d15 setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00015458  0x00002d16 arg  0x00000001 , 0x00000007 
+ 00015459  0x00002d17 qisolate1  0x0000003f 
+ 00015460  0x00002d18 setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00015461  0x00002d1a fetch  0x00000001 , 0x0000436e 
+ 00015462  0x00002d1b arg  0x00000000 , 0x00000007 
+ 00015463  0x00002d1c qisolate1  0x0000003f 
+ 00015464  0x00002d1d setflag  0x00000001 , 0x00000002 , 0x00000002 
+ 00015465  0x00002d1e rtn 
+ 00015466  0x00002d23 jam  0x0000000d , 0x00000b03 
+ 00015467  0x00002d24 fetch  0x00000001 , 0x00004217 
+ 00015468  0x00002d25 mul32  0x0000003f , 0x00000022 , 0x0000003f 
+ 00015469  0x00002d26 icopy  0x00000039 
+ 00015470  0x00002d27 call  0x00003ca7 
+ 00015471  0x00002d28 fetch  0x00000002 , 0x00004215 
+ 00015472  0x00002d29 icopy  0x00000006 
+ 00015473  0x00002d2a call  0x000066d1 
+ 00015474  0x00002d2b branch  0x000066c5 
+ 00015475  0x00002d30 jam  0x0000000e , 0x00000b03 
+ 00015476  0x00002d31 setarg  0x00000004 
+ 00015477  0x00002d32 call  0x00003ca7 
+ 00015478  0x00002d33 fetch  0x00000004 , 0x000009ba 
+ 00015479  0x00002d34 istore  0x00000004 , 0x0000000a 
+ 00015480  0x00002d35 branch  0x000066c5 
+ 00015481  0x00002d3a jam  0x0000000f , 0x00000b03 
+ 00015482  0x00002d3b hfetch  0x00000002 , 0x00008112 
+ 00015483  0x00002d3c arg  0x000000ff , 0x00000002 
+ 00015484  0x00002d3d call  0x00007fdd 
+ 00015485  0x00002d3e copy  0x0000003f , 0x00000039 
+ 00015486  0x00002d3f call  0x00003ca7 
+ 00015487  0x00002d40 call  0x000066cb 
+ 00015488  0x00002d41 call  0x00006703 
+ 00015489  0x00002d42 branch  0x000066c5 
+ 00015490  0x00002d47 jam  0x00000010 , 0x00000b03 
+ 00015491  0x00002d48 branch  0x00003c49 
+ 00015492  0x00002d4d jam  0x00000011 , 0x00000b03 
+ 00015493  0x00002d4e setarg  0x00000004 
+ 00015494  0x00002d4f call  0x00003ca7 
+ 00015495  0x00002d50 fetch  0x00000004 , 0x000044c7 
+ 00015496  0x00002d51 istore  0x00000004 , 0x0000000a 
+ 00015497  0x00002d52 branch  0x000066c5 
+ 00015498  0x00002d57 arg  0x00000180 , 0x00000011 
+ 00015499  0x00002d58 branch  0x00003c91 
+ 00015500  0x00002d5b arg  0x00000080 , 0x00000011 
+ 00015501  0x00002d5c branch  0x00003c91 
+ 00015502  0x00002d5f arg  0x00000101 , 0x00000011 
+ 00015503  0x00002d60 branch  0x00003c91 
+ 00015504  0x00002d63 arg  0x00000001 , 0x00000011 
+ 00015505  0x00002d66 jam  0x00000000 , 0x00004661 
+ 00015506  0x00002d67 jam  0x00000014 , 0x00000b03 
+ 00015507  0x00002d68 setarg  0x00000002 
+ 00015508  0x00002d69 call  0x00003ca7 
+ 00015509  0x00002d6a copy  0x00000011 , 0x0000003f 
+ 00015510  0x00002d6b istore  0x00000002 , 0x0000000a 
+ 00015511  0x00002d6c branch  0x000066c5 
+ 00015512  0x00002d71 arg  0x00000000 , 0x00000013 
+ 00015513  0x00002d72 branch  0x00003c9b 
+ 00015514  0x00002d75 arg  0x00000001 , 0x00000013 
+ 00015515  0x00002d78 jam  0x00000015 , 0x00000b03 
+ 00015516  0x00002d79 setarg  0x00000001 
+ 00015517  0x00002d7a call  0x00003ca7 
+ 00015518  0x00002d7b copy  0x00000013 , 0x0000003f 
+ 00015519  0x00002d7c istore  0x00000001 , 0x0000000a 
+ 00015520  0x00002d7d branch  0x000066c5 
+ 00015521  0x00002d82 jam  0x0000001d , 0x00000b03 
+ 00015522  0x00002d83 setarg  0x00000004 
+ 00015523  0x00002d84 call  0x00003ca7 
+ 00015524  0x00002d85 fetch  0x00000004 , 0x000009ba 
+ 00015525  0x00002d86 istore  0x00000004 , 0x0000000a 
+ 00015526  0x00002d87 branch  0x000066c5 
+ 00015527  0x00002d93 jam  0x00000002 , 0x00000b02 
+ 00015528  0x00002d94 store  0x00000001 , 0x00000b04 
+ 00015529  0x00002d95 storet  0x00000008 , 0x00000aa2 
+ 00015530  0x00002d96 bpatch  0x000000e2 , 0x0000401c 
+ 00015531  0x00002d97 call  0x00003cb1 
+ 00015532  0x00002d98 fetcht  0x00000008 , 0x00000aa2 
+ 00015533  0x00002d99 call  0x000066c2 
+ 00015534  0x00002d9a fetch  0x00000003 , 0x00000b02 
+ 00015535  0x00002d9b istore  0x00000003 , 0x0000000a 
+ 00015536  0x00002d9c rtn 
+ 00015537  0x00002da0 call  0x00003cba 
+ 00015538  0x00002da1 rtn  0x00000001 
+ 00015539  0x00002da3 call  0x00003cb8 
+ 00015540  0x00002da4 fetch  0x00000004 , 0x000046a3 
+ 00015541  0x00002da5 rshift2  0x0000003f , 0x0000003f 
+ 00015542  0x00002da6 rtn  0x00000034 
+ 00015543  0x00002da7 branch  0x00003cbe 
+ 00015544  0x00002dab fetcht  0x00000001 , 0x000046a2 
+ 00015545  0x00002dac branch  0x00006829 
+ 00015546  0x00002daf fetcht  0x00000001 , 0x000046a2 
+ 00015547  0x00002db0 branch  0x0000681b 
+ 00015548  0x00002db3 fetcht  0x00000001 , 0x000046a2 
+ 00015549  0x00002db4 branch  0x00006825 
+ 00015550  0x00002db8 increase  0xffffffff , 0x0000003f 
+ 00015551  0x00002db9 nop  0x00000026 
+ 00015552  0x00002dba nbranch  0x00003cbe , 0x00000034 
+ 00015553  0x00002dbb rtn 
+ 00015554  0x00002dc5 call  0x00003ad4 
+ 00015555  0x00002dc6 rtn  0x00000028 
+ 00015556  0x00002dc7 copy  0x00000011 , 0x0000003f 
+ 00015557  0x00002dc8 store  0x00000002 , 0x000046b7 
+ 00015558  0x00002dc9 copy  0x00000012 , 0x0000003f 
+ 00015559  0x00002dca store  0x00000001 , 0x000046b6 
+ 00015560  0x00002dcb fetch  0x00000002 , 0x00000478 
+ 00015561  0x00002dcc fetcht  0x00000002 , 0x000046bb 
+ 00015562  0x00002dcd isub  0x00000002 , 0x0000003e 
+ 00015563  0x00002dce branch  0x00003ccf , 0x00000005 
+ 00015564  0x00002dcf fetcht  0x00000002 , 0x000046bd 
+ 00015565  0x00002dd0 isub  0x00000002 , 0x0000003e 
+ 00015566  0x00002dd1 nrtn  0x00000005 
+ 00015567  0x00002dd3 store  0x00000002 , 0x000046b9 
+ 00015568  0x00002dd4 branch  0x00003c3d 
+ 00015569  0x00002dda fetch  0x00000001 , 0x000046bf 
+ 00015570  0x00002ddb rtnbit1  0x00000005 
+ 00015571  0x00002ddc call  0x00003cf0 
+ 00015572  0x00002ddd branch  0x0000340c 
+ 00015573  0x00002de1 jam  0x00000002 , 0x00004172 
+ 00015574  0x00002de2 rtn 
+ 00015575  0x00002de7 branch  0x00003cd8 
+ 00015576  0x00002dea fetch  0x00000001 , 0x000046b2 
+ 00015577  0x00002deb rtn  0x00000034 
+ 00015578  0x00002dec fetch  0x00000001 , 0x000046b3 
+ 00015579  0x00002ded rtn  0x00000034 
+ 00015580  0x00002dee increase  0xffffffff , 0x0000003f 
+ 00015581  0x00002def store  0x00000001 , 0x000046b3 
+ 00015582  0x00002df0 nrtn  0x00000034 
+ 00015583  0x00002df1 jam  0x0000000a , 0x000046b3 
+ 00015584  0x00002df2 call  0x000068eb 
+ 00015585  0x00002df3 call  0x00006908 
+ 00015586  0x00002df4 div  0x0000003f , 0x00000064 
+ 00015587  0x00002df5 call  0x00007f86 
+ 00015588  0x00002df6 quotient  0x0000003f 
+ 00015589  0x00002df7 remainder  0x00000002 
+ 00015590  0x00002df8 store  0x00000001 , 0x000046b4 
+ 00015591  0x00002df9 storet  0x00000001 , 0x000046b5 
+ 00015592  0x00002dfa rtn 
+ 00015593  0x00002dfe call  0x00007fb4 
+ 00015594  0x00002dff branch  0x000033d9 , 0x00000002 
+ 00015595  0x00002e00 branch  0x000033db 
+ 00015596  0x00002e05 arg  0x00000006 , 0x00000007 
+ 00015597  0x00002e06 branch  0x00003cfc 
+ 00015598  0x00002e09 arg  0x00000006 , 0x00000007 
+ 00015599  0x00002e0a branch  0x00003cf8 
+ 00015600  0x00002e0d arg  0x00000005 , 0x00000007 
+ 00015601  0x00002e0e branch  0x00003cfc 
+ 00015602  0x00002e11 arg  0x00000005 , 0x00000007 
+ 00015603  0x00002e12 branch  0x00003cf8 
+ 00015604  0x00002e15 arg  0x00000004 , 0x00000007 
+ 00015605  0x00002e16 branch  0x00003cfc 
+ 00015606  0x00002e19 arg  0x00000004 , 0x00000007 
+ 00015607  0x00002e1a branch  0x00003cf8 
+ 00015608  0x00002e1d fetch  0x00000001 , 0x000046bf 
+ 00015609  0x00002e1e qset0  0x0000003f 
+ 00015610  0x00002e1f store  0x00000001 , 0x000046bf 
+ 00015611  0x00002e20 rtn 
+ 00015612  0x00002e23 fetch  0x00000001 , 0x000046bf 
+ 00015613  0x00002e24 qset1  0x0000003f 
+ 00015614  0x00002e25 store  0x00000001 , 0x000046bf 
+ 00015615  0x00002e26 rtn 
+ 00015616  0x00002e31 call  0x00003d39 
+ 00015617  0x00002e32 call  0x0000640f 
+ 00015618  0x00002e33 call  0x000040c6 
+ 00015619  0x00002e34 call  0x00003d66 
+ 00015620  0x00002e35 call  0x00006411 
+ 00015621  0x00002e36 rtn  0x0000002b 
+ 00015622  0x00002e37 call  0x00003d16 
+ 00015623  0x00002e38 call  0x00003d19 
+ 00015624  0x00002e3b fetch  0x00000004 , 0x000046d3 
+ 00015625  0x00002e3c rtnbit1  0x00000010 
+ 00015626  0x00002e3d call  0x00003d4e 
+ 00015627  0x00002e3e rtnmark1  0x00000026 
+ 00015628  0x00002e3f fetch  0x00000002 , 0x00004682 
+ 00015629  0x00002e40 bbit1  0x0000000c , 0x000042b0 
+ 00015630  0x00002e41 branch  0x000042a2 
+ 00015631  0x00002e45 fetch  0x00000004 , 0x000046d3 
+ 00015632  0x00002e46 rtnbit0  0x0000001b 
+ 00015633  0x00002e47 arg  0x00000014 , 0x00000039 
+ 00015634  0x00002e49 setarg  0x00030d40 
+ 00015635  0x00002e4a call  0x00002a8f 
+ 00015636  0x00002e4b loop  0x00007ec1 
+ 00015637  0x00002e4c rtn 
+ 00015638  0x00002e50 fetch  0x00000004 , 0x000046d3 
+ 00015639  0x00002e51 rtnbit0  0x00000010 
+ 00015640  0x00002e52 branch  0x000048ea 
+ 00015641  0x00002e56 setarg  0x0000416d 
+ 00015642  0x00002e57 store  0x00000002 , 0x000041ef 
+ 00015643  0x00002e58 setarg  0x00003f77 
+ 00015644  0x00002e59 store  0x00000002 , 0x000041f1 
+ 00015645  0x00002e5a setarg  0x00003ebb 
+ 00015646  0x00002e5b store  0x00000002 , 0x000041ed 
+ 00015647  0x00002e5c setarg  0x0000417c 
+ 00015648  0x00002e5d store  0x00000002 , 0x000041f5 
+ 00015649  0x00002e5e setarg  0x00003de3 
+ 00015650  0x00002e5f store  0x00000002 , 0x000041f3 
+ 00015651  0x00002e60 setarg  0x00003eb3 
+ 00015652  0x00002e61 store  0x00000002 , 0x000041eb 
+ 00015653  0x00002e62 setarg  0x00003d5b 
+ 00015654  0x00002e63 store  0x00000002 , 0x000041f9 
+ 00015655  0x00002e65 call  0x00002c7a 
+ 00015656  0x00002e66 setarg  0x00004401 
+ 00015657  0x00002e67 add  0x00000013 , 0x000000d8 , 0x00000005 
+ 00015658  0x00002e68 istore  0x00000002 , 0x00000005 
+ 00015659  0x00002e69 setarg  0x00004406 
+ 00015660  0x00002e6a add  0x00000013 , 0x000000da , 0x00000005 
+ 00015661  0x00002e6b istore  0x00000002 , 0x00000005 
+ 00015662  0x00002e6c setarg  0x00003ebf 
+ 00015663  0x00002e6d add  0x00000013 , 0x000000dc , 0x00000005 
+ 00015664  0x00002e6e istore  0x00000002 , 0x00000005 
+ 00015665  0x00002e70 setarg  0x000041f9 
+ 00015666  0x00002e71 store  0x00000002 , 0x000041fd 
+ 00015667  0x00002e72 setarg  0x00003d36 
+ 00015668  0x00002e73 store  0x00000002 , 0x00004201 
+ 00015669  0x00002e74 rtn 
+ 00015670  0x00002e77 fetch  0x00000004 , 0x000046d3 
+ 00015671  0x00002e78 bbit0  0x00000012 , 0x000064d7 
+ 00015672  0x00002e79 branch  0x000064da 
+ 00015673  0x00002e7c rtn  0x0000002b 
+ 00015674  0x00002e7d call  0x00002c9d 
+ 00015675  0x00002e7e call  0x00003e6e 
+ 00015676  0x00002e7f call  0x00003e1e 
+ 00015677  0x00002e80 call  0x00003e54 
+ 00015678  0x00002e81 call  0x00005810 
+ 00015679  0x00002e82 call  0x00005839 
+ 00015680  0x00002e83 call  0x0000582c 
+ 00015681  0x00002e84 call  0x00005818 
+ 00015682  0x00002e85 fetch  0x00000004 , 0x000046d3 
+ 00015683  0x00002e86 bbit1  0x00000014 , 0x00003d46 
+ 00015684  0x00002e87 bbit1  0x00000013 , 0x00004414 
+ 00015685  0x00002e88 rtn 
+ 00015686  0x00002e8b call  0x0000659c 
+ 00015687  0x00002e8c fetch  0x00000004 , 0x000046d3 
+ 00015688  0x00002e8d isolate1  0x00000019 , 0x0000003f 
+ 00015689  0x00002e8e ncall  0x000065c2 , 0x00000001 
+ 00015690  0x00002e8f call  0x0000443f 
+ 00015691  0x00002e90 call  0x00003dc9 
+ 00015692  0x00002e91 call  0x000041aa 
+ 00015693  0x00002e92 branch  0x000065df 
+ 00015694  0x00002e95 fetch  0x00000004 , 0x000046d3 
+ 00015695  0x00002e96 bbit0  0x0000001e , 0x00003d53 
+ 00015696  0x00002e97 fetch  0x00000001 , 0x00000abd 
+ 00015697  0x00002e98 isolate0  0x00000003 , 0x0000003f 
+ 00015698  0x00002e99 nrtn  0x00000001 
+ 00015699  0x00002e9b fetch  0x00000001 , 0x0000471f 
+ 00015700  0x00002e9c store  0x00000001 , 0x0000471e 
+ 00015701  0x00002e9d fetch  0x00000001 , 0x000046f5 
+ 00015702  0x00002e9e rtnbit1  0x00000006 
+ 00015703  0x00002ea0 fetch  0x00000004 , 0x000046d3 
+ 00015704  0x00002ea1 rtnbit0  0x00000011 
+ 00015705  0x00002ea2 bbit1  0x0000001d , 0x00002ee4 
+ 00015706  0x00002ea3 branch  0x00002f2c 
+ 00015707  0x00002ea5 fetch  0x00000001 , 0x00000478 
+ 00015708  0x00002ea6 sub  0x0000003f , 0x0000001a , 0x0000003f 
+ 00015709  0x00002ea7 nrtn  0x00000005 
+ 00015710  0x00002ea8 jam  0x00000012 , 0x00000a99 
+ 00015711  0x00002ea9 call  0x00007d8f 
+ 00015712  0x00002eaa arg  0x00000000 , 0x00000007 
+ 00015713  0x00002eab branch  0x000041b9 
+ 00015714  0x00002eae fetch  0x00000001 , 0x000046b6 
+ 00015715  0x00002eaf rtneq  0x00000001 
+ 00015716  0x00002eb0 jam  0x00000001 , 0x000046b6 
+ 00015717  0x00002eb1 rtn 
+ 00015718  0x00002eb3 fetch  0x00000001 , 0x000046e1 
+ 00015719  0x00002eb4 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00015720  0x00002eb5 store  0x00000001 , 0x0000477a 
+ 00015721  0x00002eb6 branch  0x00003d80 
+ 00015722  0x00002eba fetcht  0x00000001 , 0x000046e7 
+ 00015723  0x00002ebb call  0x0000681d 
+ 00015724  0x00002ebc nbranch  0x00003d62 , 0x00000001 
+ 00015725  0x00002ebe fetch  0x00000001 , 0x000046b6 
+ 00015726  0x00002ebf rtneq  0x00000000 
+ 00015727  0x00002ec0 jam  0x00000000 , 0x000046b6 
+ 00015728  0x00002ec1 fetch  0x00000001 , 0x0000477a 
+ 00015729  0x00002ec2 increase  0x00000001 , 0x0000003f 
+ 00015730  0x00002ec3 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00015731  0x00002ec4 store  0x00000001 , 0x0000477a 
+ 00015732  0x00002ec5 call  0x00003d7e 
+ 00015733  0x00002ec6 fetch  0x00000004 , 0x000046d3 
+ 00015734  0x00002ec7 bbit1  0x00000014 , 0x0000443b 
+ 00015735  0x00002ec8 bbit1  0x00000013 , 0x00003d79 
+ 00015736  0x00002ec9 rtn 
+ 00015737  0x00002ecb arg  0x0000001e , 0x00000002 
+ 00015738  0x00002ecc call  0x0000680e 
+ 00015739  0x00002ecd arg  0x0000001f , 0x00000002 
+ 00015740  0x00002ece call  0x0000680e 
+ 00015741  0x00002ecf branch  0x00004435 
+ 00015742  0x00002ed2 bpatch  0x000000e3 , 0x0000401c 
+ 00015743  0x00002ed3 call  0x0000424a 
+ 00015744  0x00002ed4 fetch  0x00000001 , 0x000046e0 
+ 00015745  0x00002ed5 beq  0x00000005 , 0x00003daa 
+ 00015746  0x00002ed6 beq  0x00000004 , 0x00003d96 
+ 00015747  0x00002ed7 fetch  0x00000001 , 0x0000477a 
+ 00015748  0x00002ed8 beq  0x00000000 , 0x00003d8a 
+ 00015749  0x00002ed9 beq  0x00000001 , 0x00003d88 
+ 00015750  0x00002eda beq  0x00000002 , 0x00003d8c 
+ 00015751  0x00002edb beq  0x00000003 , 0x00003d8e 
+ 00015752  0x00002edd fetch  0x00000001 , 0x00004780 
+ 00015753  0x00002ede branch  0x00003dbe 
+ 00015754  0x00002ee0 fetch  0x00000001 , 0x0000477f 
+ 00015755  0x00002ee1 branch  0x00003dbe 
+ 00015756  0x00002ee3 fetch  0x00000001 , 0x00004781 
+ 00015757  0x00002ee4 branch  0x00003dbe 
+ 00015758  0x00002ee6 fetch  0x00000001 , 0x00004782 
+ 00015759  0x00002ee7 branch  0x00003dbe 
+ 00015760  0x00002ee9 fetch  0x00000001 , 0x000046e0 
+ 00015761  0x00002eea rtneq  0x00000006 
+ 00015762  0x00002eeb fetch  0x00000001 , 0x000046b5 
+ 00015763  0x00002eec increase  0x00000001 , 0x0000003f 
+ 00015764  0x00002eed store  0x00000001 , 0x000046b5 
+ 00015765  0x00002eee rtn 
+ 00015766  0x00002ef1 fetch  0x00000001 , 0x0000477a 
+ 00015767  0x00002ef2 beq  0x00000000 , 0x00003d9d 
+ 00015768  0x00002ef3 beq  0x00000001 , 0x00003d9b 
+ 00015769  0x00002ef4 beq  0x00000002 , 0x00003d9f 
+ 00015770  0x00002ef5 beq  0x00000003 , 0x00003da1 
+ 00015771  0x00002ef7 fetch  0x00000001 , 0x00004784 
+ 00015772  0x00002ef8 branch  0x00003da2 
+ 00015773  0x00002efa fetch  0x00000001 , 0x00004783 
+ 00015774  0x00002efb branch  0x00003da2 
+ 00015775  0x00002efd fetch  0x00000001 , 0x00004785 
+ 00015776  0x00002efe branch  0x00003da2 
+ 00015777  0x00002f00 fetch  0x00000001 , 0x00004786 
+ 00015778  0x00002f02 store  0x00000001 , 0x000046b5 
+ 00015779  0x00002f03 lshift8  0x0000003f , 0x0000003f 
+ 00015780  0x00002f04 copy  0x0000003f , 0x00000011 
+ 00015781  0x00002f05 add  0x0000003f , 0x0000000d , 0x0000003f 
+ 00015782  0x00002f06 call  0x00006413 
+ 00015783  0x00002f07 copy  0x00000011 , 0x0000003f 
+ 00015784  0x00002f08 add  0x0000003f , 0x0000000e , 0x0000003f 
+ 00015785  0x00002f09 branch  0x00006413 
+ 00015786  0x00002f0c fetch  0x00000001 , 0x0000477a 
+ 00015787  0x00002f0d beq  0x00000000 , 0x00003db1 
+ 00015788  0x00002f0e beq  0x00000001 , 0x00003daf 
+ 00015789  0x00002f0f beq  0x00000002 , 0x00003db3 
+ 00015790  0x00002f10 beq  0x00000003 , 0x00003db5 
+ 00015791  0x00002f12 fetch  0x00000001 , 0x00004788 
+ 00015792  0x00002f13 branch  0x00003db6 
+ 00015793  0x00002f15 fetch  0x00000001 , 0x00004787 
+ 00015794  0x00002f16 branch  0x00003db6 
+ 00015795  0x00002f18 fetch  0x00000001 , 0x00004789 
+ 00015796  0x00002f19 branch  0x00003db6 
+ 00015797  0x00002f1b fetch  0x00000001 , 0x0000478a 
+ 00015798  0x00002f1d store  0x00000001 , 0x000046b5 
+ 00015799  0x00002f1e call  0x000040c0 
+ 00015800  0x00002f1f fetch  0x00000001 , 0x000046b5 
+ 00015801  0x00002f21 add  0x0000003f , 0x00000080 , 0x0000003f 
+ 00015802  0x00002f22 lshift8  0x0000003f , 0x0000003f 
+ 00015803  0x00002f23 add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00015804  0x00002f24 copy  0x0000003f , 0x00000011 
+ 00015805  0x00002f25 branch  0x0000415a 
+ 00015806  0x00002f28 store  0x00000001 , 0x000046b5 
+ 00015807  0x00002f29 call  0x00003d90 
+ 00015808  0x00002f2a fetch  0x00000001 , 0x000046b5 
+ 00015809  0x00002f2b setarg  0x00000006 
+ 00015810  0x00002f2c call  0x00006414 
+ 00015811  0x00002f2d and  0x0000003f , 0x000000f8 , 0x00000002 
+ 00015812  0x00002f2e fetch  0x00000001 , 0x000046b5 
+ 00015813  0x00002f2f iadd  0x00000002 , 0x0000003f 
+ 00015814  0x00002f30 lshift8  0x0000003f , 0x0000003f 
+ 00015815  0x00002f31 add  0x0000003f , 0x00000006 , 0x0000003f 
+ 00015816  0x00002f32 branch  0x00006413 
+ 00015817  0x00002f36 call  0x000033c4 
+ 00015818  0x00002f37 branch  0x00004316 , 0x00000005 
+ 00015819  0x00002f38 call  0x0000441c 
+ 00015820  0x00002f39 call  0x000042e4 
+ 00015821  0x00002f3a branch  0x000033bd 
+ 00015822  0x00002f3e fetch  0x00000002 , 0x00004707 
+ 00015823  0x00002f3f rtn  0x00000034 
+ 00015824  0x00002f40 fetch  0x00000004 , 0x000046d3 
+ 00015825  0x00002f41 rtnbit0  0x00000011 
+ 00015826  0x00002f42 rtnbit1  0x00000003 
+ 00015827  0x00002f43 rtnmark1  0x00000026 
+ 00015828  0x00002f44 call  0x00004083 
+ 00015829  0x00002f45 rtnne  0x00000007 
+ 00015830  0x00002f46 call  0x00004482 
+ 00015831  0x00002f47 arg  0x00000003 , 0x00000007 
+ 00015832  0x00002f48 call  0x000043ce 
+ 00015833  0x00002f49 setarg  0x00000000 
+ 00015834  0x00002f4a store  0x00000002 , 0x000046ae 
+ 00015835  0x00002f4b store  0x00000001 , 0x000046b4 
+ 00015836  0x00002f4c call  0x00003263 
+ 00015837  0x00002f4e fetch  0x00000002 , 0x00004682 
+ 00015838  0x00002f4f bbit1  0x00000007 , 0x00004392 
+ 00015839  0x00002f50 bbit1  0x00000009 , 0x00003402 
+ 00015840  0x00002f51 bbit1  0x00000000 , 0x000033e9 
+ 00015841  0x00002f52 call  0x000042ca 
+ 00015842  0x00002f53 branch  0x00002ead 
+ 00015843  0x00002f57 call  0x00003dce 
+ 00015844  0x00002f58 call  0x00007e34 
+ 00015845  0x00002f59 call  0x00003d6a 
+ 00015846  0x00002f5a call  0x00003de9 
+ 00015847  0x00002f5b call  0x00003ee0 
+ 00015848  0x00002f5c branch  0x00003df7 
+ 00015849  0x00002f5e fetch  0x00000004 , 0x000046d3 
+ 00015850  0x00002f5f rtnbit0  0x00000010 
+ 00015851  0x00002f60 call  0x000048d3 
+ 00015852  0x00002f61 branch  0x000048fd 
+ 00015853  0x00002f64 hfetch  0x00000001 , 0x00008a04 
+ 00015854  0x00002f65 bbit0  0x00000007 , 0x00003df1 
+ 00015855  0x00002f66 bbit1  0x00000007 , 0x00003df4 
+ 00015856  0x00002f67 rtn 
+ 00015857  0x00002f69 fetch  0x00000001 , 0x000046ff 
+ 00015858  0x00002f6a rtnbit0  0x00000007 
+ 00015859  0x00002f6b branch  0x0000659a 
+ 00015860  0x00002f6d fetch  0x00000001 , 0x000046ff 
+ 00015861  0x00002f6e rtnbit1  0x00000007 
+ 00015862  0x00002f6f branch  0x00004381 
+ 00015863  0x00002f72 call  0x00003ded 
+ 00015864  0x00002f73 hfetch  0x00000001 , 0x00008a04 
+ 00015865  0x00002f74 store  0x00000001 , 0x000046ff 
+ 00015866  0x00002f75 rtnbit0  0x00000007 
+ 00015867  0x00002f76 call  0x00003e07 
+ 00015868  0x00002f77 fetch  0x00000004 , 0x000046f9 
+ 00015869  0x00002f78 fetcht  0x00000001 , 0x000046fd 
+ 00015870  0x00002f79 iadd  0x00000002 , 0x00000002 
+ 00015871  0x00002f7a copy  0x00000022 , 0x0000003f 
+ 00015872  0x00002f7b isub  0x00000002 , 0x0000003e 
+ 00015873  0x00002f7c nrtn  0x00000002 
+ 00015874  0x00002f7d store  0x00000004 , 0x000046f9 
+ 00015875  0x00002f7e call  0x00003f97 
+ 00015876  0x00002f7f nrtn  0x00000028 
+ 00015877  0x00002f80 jam  0x00000004 , 0x00000d38 
+ 00015878  0x00002f81 branch  0x00003e0f 
+ 00015879  0x00002f84 fetcht  0x00000004 , 0x000046f9 
+ 00015880  0x00002f85 copy  0x00000022 , 0x0000003f 
+ 00015881  0x00002f86 isub  0x00000002 , 0x0000003e 
+ 00015882  0x00002f87 ncall  0x00003e0c , 0x00000002 
+ 00015883  0x00002f88 rtn 
+ 00015884  0x00002f8a setarg  0x00000000 
+ 00015885  0x00002f8b store  0x00000004 , 0x000046f9 
+ 00015886  0x00002f8c rtn 
+ 00015887  0x00002f91 fetch  0x00000001 , 0x00000d38 
+ 00015888  0x00002f92 rtnbit0  0x00000002 
+ 00015889  0x00002f93 branch  0x00003e12 
+ 00015890  0x00002f95 hfetch  0x00000001 , 0x00008a04 
+ 00015891  0x00002f96 rtnbit0  0x00000007 
+ 00015892  0x00002f97 jam  0x00000020 , 0x00000d52 
+ 00015893  0x00002f98 setarg  0x00000001 
+ 00015894  0x00002f99 store  0x00000001 , 0x00000d54 
+ 00015895  0x00002f9a fetch  0x00000007 , 0x0000469a 
+ 00015896  0x00002f9b istore  0x00000007 , 0x00000005 
+ 00015897  0x00002f9c rtn 
+ 00015898  0x00002fa0 hfetch  0x00000002 , 0x00008050 
+ 00015899  0x00002fa1 set0  0x0000000b , 0x0000003f 
+ 00015900  0x00002fa2 hstore  0x00000002 , 0x00008050 
+ 00015901  0x00002fa3 rtn 
+ 00015902  0x00002fa6 setarg  0x00008c00 
+ 00015903  0x00002fa7 store  0x00000002 , 0x00004575 
+ 00015904  0x00002fa8 setarg  0x00008e7a 
+ 00015905  0x00002fa9 store  0x00000002 , 0x000044bc 
+ 00015906  0x00002faa setarg  0x00002402 
+ 00015907  0x00002fab store  0x00000002 , 0x000040bd 
+ 00015908  0x00002fac setarg  0x00002580 
+ 00015909  0x00002fad store  0x00000003 , 0x000040aa 
+ 00015910  0x00002fae jam  0x00000003 , 0x00004173 
+ 00015911  0x00002faf jam  0x00000008 , 0x00004156 
+ 00015912  0x00002fb0 jam  0x00000001 , 0x000046d9 
+ 00015913  0x00002fb1 setarg  0x00000200 
+ 00015914  0x00002fb2 store  0x00000002 , 0x00004154 
+ 00015915  0x00002fb3 jam  0x00000017 , 0x000044a6 
+ 00015916  0x00002fb4 jam  0x00000017 , 0x000044a8 
+ 00015917  0x00002fb6 setarg  0x00000a77 
+ 00015918  0x00002fb7 store  0x00000002 , 0x00004212 
+ 00015919  0x00002fc7 setsect  0x00000000 , 0x00000306 
+ 00015920  0x00002fc8 setsect  0x00000001 , 0x00004440 
+ 00015921  0x00002fc9 setsect  0x00000002 , 0x00010000 
+ 00015922  0x00002fca setsect  0x00000003 , 0x00004408 
+ 00015923  0x00002fcb store  0x00000009 , 0x00004577 
+ 00015924  0x00002fcc setsect  0x00000000 , 0x00001224 
+ 00015925  0x00002fcd setsect  0x00000001 , 0x00004000 
+ 00015926  0x00002fce setsect  0x00000002 , 0x00000000 
+ 00015927  0x00002fcf istore  0x00000005 , 0x00000005 
+ 00015928  0x00002fd1 setsect  0x00000000 , 0x0003ffff 
+ 00015929  0x00002fd2 setsect  0x00000001 , 0x0002fe23 
+ 00015930  0x00002fd3 setsect  0x00000002 , 0x000199d9 
+ 00015931  0x00002fd4 setsect  0x00000003 , 0x0000020d 
+ 00015932  0x00002fd5 store  0x00000008 , 0x00004098 
+ 00015933  0x00002fd7 setarg  0x0000012c 
+ 00015934  0x00002fd8 store  0x00000002 , 0x00004707 
+ 00015935  0x00002fd9 call  0x000057a3 
+ 00015936  0x00002fda fetch  0x00000004 , 0x000046d3 
+ 00015937  0x00002fdb rtnbit0  0x0000001f 
+ 00015938  0x00002fdc call  0x00003e44 
+ 00015939  0x00002fdd branch  0x00003e4c 
+ 00015940  0x00002fe0 fetcht  0x00000001 , 0x000046f7 
+ 00015941  0x00002fe1 call  0x000067fb 
+ 00015942  0x00002fe2 fetcht  0x00000001 , 0x000046f7 
+ 00015943  0x00002fe3 call  0x0000681d 
+ 00015944  0x00002fe4 jam  0x00000003 , 0x000046f6 
+ 00015945  0x00002fe5 rtn  0x00000001 
+ 00015946  0x00002fe6 jam  0x00000002 , 0x000046f6 
+ 00015947  0x00002fe7 rtn 
+ 00015948  0x00002fea fetcht  0x00000001 , 0x000046f8 
+ 00015949  0x00002feb call  0x000067fb 
+ 00015950  0x00002fec fetcht  0x00000001 , 0x000046f8 
+ 00015951  0x00002fed call  0x0000681d 
+ 00015952  0x00002fee jam  0x00000000 , 0x0000422d 
+ 00015953  0x00002fef rtn  0x00000001 
+ 00015954  0x00002ff0 jam  0x00000002 , 0x0000422d 
+ 00015955  0x00002ff1 rtn 
+ 00015956  0x00002ff5 fetch  0x00000001 , 0x0000422d 
+ 00015957  0x00002ff6 beq  0x00000000 , 0x00003e59 
+ 00015958  0x00002ff7 beq  0x00000001 , 0x00003e62 
+ 00015959  0x00002ff8 beq  0x00000002 , 0x00003e6b 
+ 00015960  0x00002ff9 branch  0x00003e59 
+ 00015961  0x00002ffc fetcht  0x00000002 , 0x00004221 
+ 00015962  0x00002ffd fetch  0x00000002 , 0x00004227 
+ 00015963  0x00002ffe isub  0x00000002 , 0x0000003f 
+ 00015964  0x00002fff mul32  0x0000003f , 0x00000014 , 0x0000003f 
+ 00015965  0x00003000 div  0x0000003f , 0x00000064 
+ 00015966  0x00003001 call  0x00007f86 
+ 00015967  0x00003002 quotient  0x0000003f 
+ 00015968  0x00003003 store  0x00000002 , 0x000046d0 
+ 00015969  0x00003004 rtn 
+ 00015970  0x00003006 fetcht  0x00000002 , 0x0000421f 
+ 00015971  0x00003007 fetch  0x00000002 , 0x00004225 
+ 00015972  0x00003008 isub  0x00000002 , 0x0000003f 
+ 00015973  0x00003009 mul32  0x0000003f , 0x000000e6 , 0x0000003f 
+ 00015974  0x0000300a div  0x0000003f , 0x00000190 
+ 00015975  0x0000300b call  0x00007f86 
+ 00015976  0x0000300c quotient  0x0000003f 
+ 00015977  0x0000300d store  0x00000002 , 0x000046d0 
+ 00015978  0x0000300e rtn 
+ 00015979  0x00003010 fetch  0x00000002 , 0x00004223 
+ 00015980  0x00003011 store  0x00000002 , 0x000046d0 
+ 00015981  0x00003012 rtn 
+ 00015982  0x00003014 fetcht  0x00000001 , 0x0000423a 
+ 00015983  0x00003015 call  0x0000680e 
+ 00015984  0x00003016 call  0x000048fb 
+ 00015985  0x00003017 fetcht  0x00000001 , 0x000046e2 
+ 00015986  0x00003018 call  0x000067fb 
+ 00015987  0x00003019 fetcht  0x00000001 , 0x000046e3 
+ 00015988  0x0000301a call  0x000067fb 
+ 00015989  0x0000301b fetcht  0x00000001 , 0x000046e4 
+ 00015990  0x0000301c call  0x000067fb 
+ 00015991  0x0000301d fetcht  0x00000001 , 0x000046f3 
+ 00015992  0x0000301e call  0x000067fb 
+ 00015993  0x00003020 fetcht  0x00000001 , 0x000046dc 
+ 00015994  0x00003021 call  0x0000680e 
+ 00015995  0x00003023 fetcht  0x00000001 , 0x000046e8 
+ 00015996  0x00003024 call  0x000067fb 
+ 00015997  0x00003026 fetcht  0x00000001 , 0x000046e9 
+ 00015998  0x00003027 call  0x000067fb 
+ 00015999  0x00003029 fetcht  0x00000001 , 0x000046ea 
+ 00016000  0x0000302a call  0x000067fb 
+ 00016001  0x0000302b fetcht  0x00000001 , 0x000046eb 
+ 00016002  0x0000302c call  0x000067fb 
+ 00016003  0x0000302e fetcht  0x00000001 , 0x000046e5 
+ 00016004  0x0000302f call  0x000067fb 
+ 00016005  0x00003030 fetcht  0x00000001 , 0x000046e6 
+ 00016006  0x00003031 call  0x000067fb 
+ 00016007  0x00003033 fetcht  0x00000001 , 0x000046ef 
+ 00016008  0x00003034 call  0x0000680e 
+ 00016009  0x00003036 fetcht  0x00000001 , 0x000046f0 
+ 00016010  0x00003037 call  0x0000680e 
+ 00016011  0x00003039 fetcht  0x00000001 , 0x000046f1 
+ 00016012  0x0000303a call  0x0000680e 
+ 00016013  0x0000303c fetcht  0x00000001 , 0x000046f2 
+ 00016014  0x0000303d call  0x0000680e 
+ 00016015  0x0000303f fetcht  0x00000001 , 0x000046f4 
+ 00016016  0x00003040 call  0x0000680e 
+ 00016017  0x00003042 fetcht  0x00000001 , 0x000046ed 
+ 00016018  0x00003043 call  0x000067fb 
+ 00016019  0x00003045 fetcht  0x00000001 , 0x000046ec 
+ 00016020  0x00003046 call  0x000067fb 
+ 00016021  0x00003048 fetcht  0x00000001 , 0x000046e7 
+ 00016022  0x00003049 branch  0x000067fb 
+ 00016023  0x0000304c fetcht  0x00000001 , 0x000046e8 
+ 00016024  0x0000304d call  0x000067dd 
+ 00016025  0x0000304e fetcht  0x00000001 , 0x000046e9 
+ 00016026  0x0000304f call  0x000067dd 
+ 00016027  0x00003050 fetcht  0x00000001 , 0x000046ea 
+ 00016028  0x00003051 call  0x000067dd 
+ 00016029  0x00003052 fetcht  0x00000001 , 0x000046eb 
+ 00016030  0x00003053 branch  0x000067dd 
+ 00016031  0x00003056 fetcht  0x00000001 , 0x000046e8 
+ 00016032  0x00003057 call  0x00003ea7 
+ 00016033  0x00003058 fetcht  0x00000001 , 0x000046e9 
+ 00016034  0x00003059 call  0x00003ea7 
+ 00016035  0x0000305a fetcht  0x00000001 , 0x000046ea 
+ 00016036  0x0000305b call  0x00003ea7 
+ 00016037  0x0000305c fetcht  0x00000001 , 0x000046eb 
+ 00016038  0x0000305d branch  0x00003ea7 
+ 00016039  0x00003060 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00016040  0x00003061 rtn  0x00000005 
+ 00016041  0x00003062 and  0x00000002 , 0x0000007f , 0x00000007 
+ 00016042  0x00003063 hfetch  0x00000004 , 0x0000811c 
+ 00016043  0x00003064 qisolate1  0x0000003f 
+ 00016044  0x00003065 hfetch  0x00000004 , 0x00008078 
+ 00016045  0x00003066 qsetflag  0x00000001 , 0x0000003f 
+ 00016046  0x00003067 hstore  0x00000004 , 0x00008078 
+ 00016047  0x00003068 hfetch  0x00000004 , 0x0000807c 
+ 00016048  0x00003069 nqsetflag  0x00000001 , 0x0000003f 
+ 00016049  0x0000306a hstore  0x00000004 , 0x0000807c 
+ 00016050  0x0000306b rtn 
+ 00016051  0x0000306e enable  0x00000028 
+ 00016052  0x0000306f hfetch  0x00000004 , 0x00008138 
+ 00016053  0x00003070 setflag  0x00000028 , 0x0000001a , 0x0000003f 
+ 00016054  0x00003071 hstore  0x00000004 , 0x0000804c 
+ 00016055  0x00003072 call  0x00002c21 
+ 00016056  0x00003073 call  0x00004482 
+ 00016057  0x00003074 call  0x00003e9f 
+ 00016058  0x00003076 branch  0x00003ebf 
+ 00016059  0x0000307b call  0x00003ebf 
+ 00016060  0x0000307c fetch  0x00000001 , 0x000000a0 
+ 00016061  0x0000307d nrtn  0x00000034 
+ 00016062  0x0000307e branch  0x000067ed 
+ 00016063  0x00003081 call  0x00003ee0 
+ 00016064  0x00003082 arg  0x00000019 , 0x00000002 
+ 00016065  0x00003083 fetch  0x00000004 , 0x000046d3 
+ 00016066  0x00003084 isolate1  0x00000012 , 0x0000003f 
+ 00016067  0x00003085 call  0x00003ede , 0x00000001 
+ 00016068  0x00003086 call  0x0000680e 
+ 00016069  0x00003087 call  0x000063ee 
+ 00016070  0x0000308b fetcht  0x00000001 , 0x000046e2 
+ 00016071  0x0000308c call  0x000067dd 
+ 00016072  0x0000308d fetcht  0x00000001 , 0x000046e3 
+ 00016073  0x0000308e call  0x000067dd 
+ 00016074  0x0000308f fetcht  0x00000001 , 0x000046e4 
+ 00016075  0x00003090 call  0x000067dd 
+ 00016076  0x00003092 fetcht  0x00000001 , 0x000046e5 
+ 00016077  0x00003093 call  0x000067dd 
+ 00016078  0x00003094 fetcht  0x00000001 , 0x000046e6 
+ 00016079  0x00003095 call  0x000067dd 
+ 00016080  0x00003096 fetcht  0x00000001 , 0x000046e7 
+ 00016081  0x00003097 call  0x000067dd 
+ 00016082  0x00003098 fetcht  0x00000001 , 0x000046ed 
+ 00016083  0x00003099 call  0x000067dd 
+ 00016084  0x0000309a fetcht  0x00000001 , 0x000046e8 
+ 00016085  0x0000309b call  0x000067dd 
+ 00016086  0x0000309c fetcht  0x00000001 , 0x000046e9 
+ 00016087  0x0000309d call  0x000067dd 
+ 00016088  0x0000309e fetcht  0x00000001 , 0x000046ea 
+ 00016089  0x0000309f call  0x000067dd 
+ 00016090  0x000030a0 fetcht  0x00000001 , 0x000046eb 
+ 00016091  0x000030a1 call  0x000067dd 
+ 00016092  0x000030a2 fetcht  0x00000001 , 0x000046f3 
+ 00016093  0x000030a3 branch  0x000067e1 
+ 00016094  0x000030a8 arg  0x0000001e , 0x00000002 
+ 00016095  0x000030a9 rtn 
+ 00016096  0x000030ac bpatch  0x000000e4 , 0x0000401c 
+ 00016097  0x000030ad call  0x00003eee 
+ 00016098  0x000030ae call  0x00003f36 
+ 00016099  0x000030af fetch  0x00000001 , 0x000046b8 
+ 00016100  0x000030b0 fetcht  0x00000001 , 0x000046b7 
+ 00016101  0x000030b1 store  0x00000001 , 0x000046b7 
+ 00016102  0x000030b2 isub  0x00000002 , 0x0000003e 
+ 00016103  0x000030b3 nbranch  0x000033d4 , 0x00000005 
+ 00016104  0x000030b4 fetch  0x00000001 , 0x000046be 
+ 00016105  0x000030b5 fetcht  0x00000001 , 0x000046bd 
+ 00016106  0x000030b6 store  0x00000001 , 0x000046bd 
+ 00016107  0x000030b7 isub  0x00000002 , 0x0000003e 
+ 00016108  0x000030b8 nbranch  0x000033d4 , 0x00000005 
+ 00016109  0x000030b9 rtn 
+ 00016110  0x000030bb fetch  0x00000001 , 0x000046ea 
+ 00016111  0x000030bc rtneq  0x000000ff 
+ 00016112  0x000030bd arg  0x00000000 , 0x00000011 
+ 00016113  0x000030be fetcht  0x00000001 , 0x000046ea 
+ 00016114  0x000030bf call  0x0000681d 
+ 00016115  0x000030c0 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016116  0x000030c1 fetcht  0x00000001 , 0x000046eb 
+ 00016117  0x000030c2 call  0x0000681d 
+ 00016118  0x000030c3 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016119  0x000030c4 copy  0x00000011 , 0x0000003f 
+ 00016120  0x000030c5 store  0x00000001 , 0x000046b8 
+ 00016121  0x000030c6 beq  0x00000001 , 0x00003efe 
+ 00016122  0x000030c7 beq  0x00000002 , 0x00003f02 
+ 00016123  0x000030c8 fetch  0x00000001 , 0x000046b9 
+ 00016124  0x000030c9 bbit1  0x00000007 , 0x00003f0e 
+ 00016125  0x000030ca rtn 
+ 00016126  0x000030cd fetch  0x00000001 , 0x000046b7 
+ 00016127  0x000030ce beq  0x00000000 , 0x00003f06 
+ 00016128  0x000030cf beq  0x00000003 , 0x00003f08 
+ 00016129  0x000030d0 rtn 
+ 00016130  0x000030d2 fetch  0x00000001 , 0x000046b7 
+ 00016131  0x000030d3 beq  0x00000000 , 0x00003f0a 
+ 00016132  0x000030d4 beq  0x00000003 , 0x00003f0c 
+ 00016133  0x000030d5 rtn 
+ 00016134  0x000030d7 jam  0x00000082 , 0x000046b9 
+ 00016135  0x000030d8 rtn 
+ 00016136  0x000030da jam  0x00000081 , 0x000046b9 
+ 00016137  0x000030db rtn 
+ 00016138  0x000030dd jam  0x00000080 , 0x000046b9 
+ 00016139  0x000030de rtn 
+ 00016140  0x000030e0 jam  0x00000083 , 0x000046b9 
+ 00016141  0x000030e1 rtn 
+ 00016142  0x000030e3 fetch  0x00000001 , 0x000046b9 
+ 00016143  0x000030e4 set0  0x00000007 , 0x0000003f 
+ 00016144  0x000030e5 store  0x00000001 , 0x000046b9 
+ 00016145  0x000030e6 beq  0x00000000 , 0x00003f16 
+ 00016146  0x000030e7 beq  0x00000001 , 0x00003f19 
+ 00016147  0x000030e8 beq  0x00000002 , 0x00003f1c 
+ 00016148  0x000030e9 beq  0x00000003 , 0x00003f1f 
+ 00016149  0x000030ea rtn 
+ 00016150  0x000030ec fetch  0x00000001 , 0x000046b8 
+ 00016151  0x000030ed beq  0x00000003 , 0x00003f22 
+ 00016152  0x000030ee rtn 
+ 00016153  0x000030f0 fetch  0x00000001 , 0x000046b8 
+ 00016154  0x000030f1 beq  0x00000000 , 0x00003f22 
+ 00016155  0x000030f2 rtn 
+ 00016156  0x000030f4 fetch  0x00000001 , 0x000046b8 
+ 00016157  0x000030f5 beq  0x00000003 , 0x00003f2c 
+ 00016158  0x000030f6 rtn 
+ 00016159  0x000030f8 fetch  0x00000001 , 0x000046b8 
+ 00016160  0x000030f9 beq  0x00000000 , 0x00003f2c 
+ 00016161  0x000030fa rtn 
+ 00016162  0x000030fc fetch  0x00000001 , 0x000046bc 
+ 00016163  0x000030fd increase  0x00000001 , 0x0000003f 
+ 00016164  0x000030fe store  0x00000001 , 0x000046bc 
+ 00016165  0x000030ff sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00016166  0x00003100 rtn  0x00000002 
+ 00016167  0x00003101 jam  0x00000000 , 0x000046bc 
+ 00016168  0x00003102 fetch  0x00000001 , 0x000046ba 
+ 00016169  0x00003103 increase  0x00000001 , 0x0000003f 
+ 00016170  0x00003104 store  0x00000001 , 0x000046ba 
+ 00016171  0x00003105 rtn 
+ 00016172  0x00003107 fetch  0x00000001 , 0x000046bb 
+ 00016173  0x00003108 increase  0x00000001 , 0x0000003f 
+ 00016174  0x00003109 store  0x00000001 , 0x000046bb 
+ 00016175  0x0000310a sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00016176  0x0000310b rtn  0x00000002 
+ 00016177  0x0000310c jam  0x00000000 , 0x000046bb 
+ 00016178  0x0000310d fetch  0x00000001 , 0x000046ba 
+ 00016179  0x0000310e increase  0xffffffff , 0x0000003f 
+ 00016180  0x0000310f store  0x00000001 , 0x000046ba 
+ 00016181  0x00003110 rtn 
+ 00016182  0x00003114 fetch  0x00000001 , 0x000046e8 
+ 00016183  0x00003115 rtneq  0x000000ff 
+ 00016184  0x00003116 arg  0x00000000 , 0x00000011 
+ 00016185  0x00003117 fetcht  0x00000001 , 0x000046e8 
+ 00016186  0x00003118 call  0x0000681d 
+ 00016187  0x00003119 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016188  0x0000311a fetcht  0x00000001 , 0x000046e9 
+ 00016189  0x0000311b call  0x0000681d 
+ 00016190  0x0000311c setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016191  0x0000311d copy  0x00000011 , 0x0000003f 
+ 00016192  0x0000311e store  0x00000001 , 0x000046be 
+ 00016193  0x0000311f beq  0x00000001 , 0x00003f46 
+ 00016194  0x00003120 beq  0x00000002 , 0x00003f4a 
+ 00016195  0x00003121 fetch  0x00000001 , 0x000046bf 
+ 00016196  0x00003122 bbit1  0x00000007 , 0x00003f56 
+ 00016197  0x00003123 rtn 
+ 00016198  0x00003126 fetch  0x00000001 , 0x000046bd 
+ 00016199  0x00003127 beq  0x00000000 , 0x00003f4e 
+ 00016200  0x00003128 beq  0x00000003 , 0x00003f50 
+ 00016201  0x00003129 rtn 
+ 00016202  0x0000312b fetch  0x00000001 , 0x000046bd 
+ 00016203  0x0000312c beq  0x00000000 , 0x00003f52 
+ 00016204  0x0000312d beq  0x00000003 , 0x00003f54 
+ 00016205  0x0000312e rtn 
+ 00016206  0x00003130 jam  0x00000082 , 0x000046bf 
+ 00016207  0x00003131 rtn 
+ 00016208  0x00003133 jam  0x00000081 , 0x000046bf 
+ 00016209  0x00003134 rtn 
+ 00016210  0x00003136 jam  0x00000080 , 0x000046bf 
+ 00016211  0x00003137 rtn 
+ 00016212  0x00003139 jam  0x00000083 , 0x000046bf 
+ 00016213  0x0000313a rtn 
+ 00016214  0x0000313c fetch  0x00000001 , 0x000046bf 
+ 00016215  0x0000313d set0  0x00000007 , 0x0000003f 
+ 00016216  0x0000313e store  0x00000001 , 0x000046bf 
+ 00016217  0x0000313f beq  0x00000000 , 0x00003f5e 
+ 00016218  0x00003140 beq  0x00000001 , 0x00003f61 
+ 00016219  0x00003141 beq  0x00000002 , 0x00003f64 
+ 00016220  0x00003142 beq  0x00000003 , 0x00003f67 
+ 00016221  0x00003143 rtn 
+ 00016222  0x00003145 fetch  0x00000001 , 0x000046be 
+ 00016223  0x00003146 beq  0x00000003 , 0x00003f6a 
+ 00016224  0x00003147 rtn 
+ 00016225  0x00003149 fetch  0x00000001 , 0x000046be 
+ 00016226  0x0000314a beq  0x00000000 , 0x00003f6a 
+ 00016227  0x0000314b rtn 
+ 00016228  0x0000314d fetch  0x00000001 , 0x000046be 
+ 00016229  0x0000314e beq  0x00000003 , 0x00003f6f 
+ 00016230  0x0000314f rtn 
+ 00016231  0x00003151 fetch  0x00000001 , 0x000046be 
+ 00016232  0x00003152 beq  0x00000000 , 0x00003f6f 
+ 00016233  0x00003153 rtn 
+ 00016234  0x00003155 jam  0x00000000 , 0x000046c2 
+ 00016235  0x00003156 fetch  0x00000001 , 0x000046c0 
+ 00016236  0x00003157 increase  0x00000001 , 0x0000003f 
+ 00016237  0x00003158 store  0x00000001 , 0x000046c0 
+ 00016238  0x00003159 rtn 
+ 00016239  0x0000315b jam  0x00000000 , 0x000046c1 
+ 00016240  0x0000315c fetch  0x00000001 , 0x000046c0 
+ 00016241  0x0000315d increase  0xffffffff , 0x0000003f 
+ 00016242  0x0000315e store  0x00000001 , 0x000046c0 
+ 00016243  0x0000315f rtn 
+ 00016244  0x00003163 setarg  0x00000002 
+ 00016245  0x00003164 store  0x00000001 , 0x00004680 
+ 00016246  0x00003165 rtn 
+ 00016247  0x00003168 fetch  0x00000001 , 0x000041e2 
+ 00016248  0x00003169 rtn  0x00000034 
+ 00016249  0x0000316a call  0x00005271 
+ 00016250  0x0000316b nrtn  0x00000034 
+ 00016251  0x0000316c fetch  0x00000004 , 0x000046d3 
+ 00016252  0x0000316d bbit1  0x00000003 , 0x00003f8a 
+ 00016253  0x0000316e bbit1  0x00000000 , 0x00003f8a 
+ 00016254  0x0000316f bbit1  0x00000005 , 0x00003f8a 
+ 00016255  0x00003170 call  0x00003f97 
+ 00016256  0x00003171 nrtn  0x00000028 
+ 00016257  0x00003173 arg  0x00000009 , 0x00000011 
+ 00016258  0x00003174 call  0x00004d63 
+ 00016259  0x00003175 fetch  0x00000002 , 0x0000424e 
+ 00016260  0x00003176 istore  0x00000002 , 0x00000005 
+ 00016261  0x00003177 setarg  0x000002a1 
+ 00016262  0x00003178 istore  0x00000002 , 0x00000005 
+ 00016263  0x00003179 fetch  0x00000007 , 0x0000469a 
+ 00016264  0x0000317a istore  0x00000007 , 0x00000005 
+ 00016265  0x0000317b rtn 
+ 00016266  0x0000317f setarg  0x00000000 
+ 00016267  0x00003180 store  0x00000007 , 0x0000469a 
+ 00016268  0x00003181 branch  0x00003f81 
+ 00016269  0x00003185 fetch  0x00000002 , 0x000046aa 
+ 00016270  0x00003186 store  0x00000002 , 0x000046b0 
+ 00016271  0x00003187 rtn 
+ 00016272  0x0000318b bpatch  0x000000e5 , 0x0000401c 
+ 00016273  0x0000318c arg  0x00000007 , 0x00000011 
+ 00016274  0x0000318d fetcht  0x00000002 , 0x0000446f 
+ 00016275  0x0000318e call  0x00005a64 
+ 00016276  0x0000318f fetch  0x00000007 , 0x0000469a 
+ 00016277  0x00003190 istore  0x00000007 , 0x00000005 
+ 00016278  0x00003191 rtn 
+ 00016279  0x00003194 bpatch  0x000000e6 , 0x0000401c 
+ 00016280  0x00003195 disable  0x00000028 
+ 00016281  0x00003196 setarg  0x00000000 
+ 00016282  0x00003197 store  0x00000006 , 0x0000469b 
+ 00016283  0x00003198 call  0x00003fb5 
+ 00016284  0x00003199 call  0x00004079 
+ 00016285  0x0000319a call  0x0000407e 
+ 00016286  0x0000319b call  0x00004099 
+ 00016287  0x0000319c nrtn  0x00000028 
+ 00016288  0x0000319d call  0x00003f8d 
+ 00016289  0x0000319e arg  0x00000008 , 0x00000007 
+ 00016290  0x0000319f branch  0x000043ce 
+ 00016291  0x000031a2 fetch  0x00000002 , 0x0000469b 
+ 00016292  0x000031a3 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016293  0x000031a4 store  0x00000002 , 0x0000469b 
+ 00016294  0x000031a5 branch  0x00007fe7 
+ 00016295  0x000031a7 fetch  0x00000002 , 0x0000469d 
+ 00016296  0x000031a8 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016297  0x000031a9 store  0x00000002 , 0x0000469d 
+ 00016298  0x000031aa branch  0x00007fe7 
+ 00016299  0x000031ac fetch  0x00000002 , 0x0000469d 
+ 00016300  0x000031ad sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016301  0x000031ae store  0x00000002 , 0x0000469d 
+ 00016302  0x000031af fetch  0x00000002 , 0x0000469b 
+ 00016303  0x000031b0 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016304  0x000031b1 store  0x00000002 , 0x0000469b 
+ 00016305  0x000031b2 call  0x00004002 
+ 00016306  0x000031b3 branch  0x00007fe7 
+ 00016307  0x000031b5 call  0x00004002 
+ 00016308  0x000031b6 branch  0x00007fe7 
+ 00016309  0x000031b8 fetch  0x00000001 , 0x00004239 
+ 00016310  0x000031b9 rtnne  0x00000000 
+ 00016311  0x000031ba fetch  0x00000001 , 0x000046e0 
+ 00016312  0x000031bb beq  0x00000000 , 0x00003fe2 
+ 00016313  0x000031bc beq  0x00000001 , 0x00003fe2 
+ 00016314  0x000031bd beq  0x00000002 , 0x00003fe2 
+ 00016315  0x000031be beq  0x00000003 , 0x00003fe2 
+ 00016316  0x000031bf beq  0x00000004 , 0x00003fc4 
+ 00016317  0x000031c0 beq  0x00000005 , 0x00004010 
+ 00016318  0x000031c1 beq  0x00000006 , 0x00003fe2 
+ 00016319  0x000031c2 branch  0x00003fe2 
+ 00016320  0x000031c5 fetch  0x00000001 , 0x000046a7 
+ 00016321  0x000031c6 call  0x0000405d , 0x00000034 
+ 00016322  0x000031c7 jam  0x00000001 , 0x000046a7 
+ 00016323  0x000031c8 rtn 
+ 00016324  0x000031cc call  0x00003fc0 
+ 00016325  0x000031cd fetcht  0x00000001 , 0x000046f3 
+ 00016326  0x000031ce call  0x0000681d 
+ 00016327  0x000031cf nrtn  0x00000001 
+ 00016328  0x000031d0 setarg  0x00000000 
+ 00016329  0x000031d1 call  0x00006414 
+ 00016330  0x000031d2 bne  0x00000030 , 0x000040d1 
+ 00016331  0x000031d3 setarg  0x00000002 
+ 00016332  0x000031d4 call  0x00006414 
+ 00016333  0x000031d5 rtnbit0  0x00000007 
+ 00016334  0x000031d6 call  0x0000405d 
+ 00016335  0x000031d7 call  0x00003fde 
+ 00016336  0x000031d8 store  0x00000001 , 0x000046a1 
+ 00016337  0x000031d9 rshift4  0x0000003f , 0x0000003f 
+ 00016338  0x000031da call  0x00004169 
+ 00016339  0x000031db store  0x00000001 , 0x0000469c 
+ 00016340  0x000031dc fetch  0x00000001 , 0x000046a1 
+ 00016341  0x000031dd and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00016342  0x000031de call  0x00004169 
+ 00016343  0x000031df store  0x00000001 , 0x0000469e 
+ 00016344  0x000031e0 fetch  0x00000001 , 0x000046f6 
+ 00016345  0x000031e1 beq  0x00000000 , 0x00003fa3 
+ 00016346  0x000031e2 beq  0x00000001 , 0x00003fab 
+ 00016347  0x000031e3 beq  0x00000002 , 0x00003fa7 
+ 00016348  0x000031e4 beq  0x00000003 , 0x00003fb3 
+ 00016349  0x000031e5 rtn 
+ 00016350  0x000031e8 setarg  0x00000012 
+ 00016351  0x000031e9 branch  0x00006414 
+ 00016352  0x000031ec beq  0x00000031 , 0x00003fea 
+ 00016353  0x000031ed branch  0x000040d1 
+ 00016354  0x000031f0 call  0x00003fc0 
+ 00016355  0x000031f1 disable  0x00000028 
+ 00016356  0x000031f2 fetcht  0x00000001 , 0x000046f3 
+ 00016357  0x000031f3 call  0x0000681d 
+ 00016358  0x000031f4 nrtn  0x00000001 
+ 00016359  0x000031f5 setarg  0x00000000 
+ 00016360  0x000031f6 call  0x00006414 
+ 00016361  0x000031f7 bne  0x00000030 , 0x00003fe0 
+ 00016362  0x000031f9 setarg  0x00000002 
+ 00016363  0x000031fa call  0x00006414 
+ 00016364  0x000031fb rtnbit0  0x00000007 
+ 00016365  0x000031fc call  0x0000405d 
+ 00016366  0x000031fd fetch  0x00000001 , 0x0000469b 
+ 00016367  0x000031fe call  0x00004165 
+ 00016368  0x000031ff store  0x00000002 , 0x0000469b 
+ 00016369  0x00003200 fetch  0x00000001 , 0x0000469d 
+ 00016370  0x00003201 call  0x00004165 
+ 00016371  0x00003202 store  0x00000002 , 0x0000469d 
+ 00016372  0x00003203 fetch  0x00000001 , 0x000046f6 
+ 00016373  0x00003204 beq  0x00000000 , 0x00003ffa 
+ 00016374  0x00003205 beq  0x00000001 , 0x00003ffc 
+ 00016375  0x00003206 beq  0x00000002 , 0x00003ffe 
+ 00016376  0x00003207 beq  0x00000003 , 0x00004000 
+ 00016377  0x00003208 rtn 
+ 00016378  0x0000320b call  0x00003fa3 
+ 00016379  0x0000320c branch  0x000040b3 
+ 00016380  0x0000320e call  0x00003fab 
+ 00016381  0x0000320f branch  0x000040b3 
+ 00016382  0x00003211 call  0x00003fa7 
+ 00016383  0x00003212 branch  0x000040b3 
+ 00016384  0x00003214 call  0x00003fb3 
+ 00016385  0x00003215 branch  0x000040b3 
+ 00016386  0x00003218 fetch  0x00000002 , 0x0000469d 
+ 00016387  0x00003219 fetcht  0x00000002 , 0x0000469b 
+ 00016388  0x0000321a store  0x00000002 , 0x0000469b 
+ 00016389  0x0000321b storet  0x00000002 , 0x0000469d 
+ 00016390  0x0000321c rtn 
+ 00016391  0x0000321f call  0x0000640f 
+ 00016392  0x00003220 nop  0x00000064 
+ 00016393  0x00003221 copy  0x00000012 , 0x0000003f 
+ 00016394  0x00003222 call  0x00006414 
+ 00016395  0x00003223 copy  0x0000003f , 0x00000012 
+ 00016396  0x00003224 call  0x00006411 
+ 00016397  0x00003225 nop  0x00000064 
+ 00016398  0x00003226 copy  0x00000012 , 0x0000003f 
+ 00016399  0x00003227 rtn 
+ 00016400  0x00003229 disable  0x00000028 
+ 00016401  0x0000322a fetcht  0x00000001 , 0x000046f3 
+ 00016402  0x0000322b call  0x0000681d 
+ 00016403  0x0000322c nrtn  0x00000001 
+ 00016404  0x0000322d arg  0x00000002 , 0x00000012 
+ 00016405  0x0000322e call  0x00004007 
+ 00016406  0x0000322f rtnbit0  0x00000007 
+ 00016407  0x00003230 arg  0x00000000 , 0x00000012 
+ 00016408  0x00003231 call  0x00004007 
+ 00016409  0x00003232 store  0x00000001 , 0x000046dd 
+ 00016410  0x00003233 bne  0x0000003e , 0x00004145 
+ 00016411  0x00003234 fetch  0x00000001 , 0x000046a7 
+ 00016412  0x00003235 call  0x00004039 , 0x00000034 
+ 00016413  0x00003236 jam  0x00000001 , 0x000046a7 
+ 00016414  0x00003237 call  0x00004039 
+ 00016415  0x00003238 fetch  0x00000001 , 0x000046a1 
+ 00016416  0x00003239 rshift4  0x0000003f , 0x0000003f 
+ 00016417  0x0000323a call  0x00004169 
+ 00016418  0x0000323b store  0x00000001 , 0x0000469c 
+ 00016419  0x0000323c fetch  0x00000001 , 0x000046a1 
+ 00016420  0x0000323d and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00016421  0x0000323e call  0x00004169 
+ 00016422  0x0000323f store  0x00000001 , 0x0000469e 
+ 00016423  0x00003240 fetch  0x00000001 , 0x000046f6 
+ 00016424  0x00003241 beq  0x00000000 , 0x00004031 
+ 00016425  0x00003242 beq  0x00000001 , 0x00004035 
+ 00016426  0x00003243 beq  0x00000002 , 0x00004033 
+ 00016427  0x00003244 beq  0x00000003 , 0x00004037 
+ 00016428  0x00003245 rtn 
+ 00016429  0x00003248 fetch  0x00000001 , 0x000046a4 
+ 00016430  0x00003249 beq  0x00000000 , 0x00004051 
+ 00016431  0x0000324a beq  0x00000001 , 0x00004045 
+ 00016432  0x0000324b rtn 
+ 00016433  0x0000324f call  0x00003fa3 
+ 00016434  0x00003250 branch  0x0000402d 
+ 00016435  0x00003253 call  0x00003fa7 
+ 00016436  0x00003254 branch  0x0000402d 
+ 00016437  0x00003257 call  0x00003fab 
+ 00016438  0x00003258 branch  0x0000402d 
+ 00016439  0x0000325b call  0x00003fb3 
+ 00016440  0x0000325c branch  0x0000402d 
+ 00016441  0x0000325f call  0x0000640f 
+ 00016442  0x00003260 call  0x0000405d 
+ 00016443  0x00003261 arg  0x00000005 , 0x0000003f 
+ 00016444  0x00003262 call  0x00006414 
+ 00016445  0x00003263 store  0x00000001 , 0x000046a1 
+ 00016446  0x00003264 arg  0x00000007 , 0x0000003f 
+ 00016447  0x00003265 call  0x00006414 
+ 00016448  0x00003266 store  0x00000001 , 0x000046a2 
+ 00016449  0x00003267 arg  0x00000008 , 0x0000003f 
+ 00016450  0x00003268 call  0x00006414 
+ 00016451  0x00003269 store  0x00000001 , 0x000046a3 
+ 00016452  0x0000326a branch  0x00006411 
+ 00016453  0x0000326e fetch  0x00000001 , 0x000046a2 
+ 00016454  0x0000326f rtnne  0x00000000 
+ 00016455  0x00003270 fetch  0x00000001 , 0x000046a3 
+ 00016456  0x00003271 sub  0x0000003f , 0x0000002d , 0x0000003e 
+ 00016457  0x00003272 rtn  0x00000002 
+ 00016458  0x00003273 jam  0x00000000 , 0x000046a4 
+ 00016459  0x00003274 setarg  0x0000ba41 
+ 00016460  0x00003275 call  0x00006405 
+ 00016461  0x00003276 setarg  0x00000032 
+ 00016462  0x00003277 call  0x00006405 
+ 00016463  0x00003278 setarg  0x0000b541 
+ 00016464  0x00003279 branch  0x00006405 
+ 00016465  0x0000327b fetch  0x00000001 , 0x000046a2 
+ 00016466  0x0000327c rtnne  0x00000000 
+ 00016467  0x0000327d fetch  0x00000001 , 0x000046a3 
+ 00016468  0x0000327e sub  0x0000003f , 0x0000002d , 0x0000003e 
+ 00016469  0x0000327f nrtn  0x00000002 
+ 00016470  0x00003280 jam  0x00000001 , 0x000046a4 
+ 00016471  0x00003281 setarg  0x0000ba41 
+ 00016472  0x00003282 call  0x00006405 
+ 00016473  0x00003283 setarg  0x00008032 
+ 00016474  0x00003284 call  0x00006405 
+ 00016475  0x00003285 setarg  0x0000b541 
+ 00016476  0x00003286 branch  0x00006405 
+ 00016477  0x0000328b arg  0x00000003 , 0x0000003f 
+ 00016478  0x0000328c call  0x00006414 
+ 00016479  0x0000328d store  0x00000002 , 0x0000469b 
+ 00016480  0x0000328e arg  0x00000004 , 0x0000003f 
+ 00016481  0x0000328f call  0x00006414 
+ 00016482  0x00003290 store  0x00000002 , 0x0000469d 
+ 00016483  0x00003291 rtn 
+ 00016484  0x00003294 arg  0x0000001b , 0x00000002 
+ 00016485  0x00003295 call  0x000067fb 
+ 00016486  0x00003296 arg  0x0000001b , 0x00000002 
+ 00016487  0x00003297 call  0x0000681d 
+ 00016488  0x00003298 rtn  0x00000001 
+ 00016489  0x00003299 hfetch  0x00000001 , 0x00008109 
+ 00016490  0x0000329a set1  0x00000004 , 0x0000003f 
+ 00016491  0x0000329b hstore  0x00000001 , 0x00008109 
+ 00016492  0x0000329c rtn 
+ 00016493  0x0000329f fetcht  0x00000001 , 0x000046c0 
+ 00016494  0x000032a0 hfetch  0x00000001 , 0x00008109 
+ 00016495  0x000032a1 iadd  0x00000002 , 0x0000003f 
+ 00016496  0x000032a2 rtn  0x00000034 
+ 00016497  0x000032a3 store  0x00000001 , 0x0000469f 
+ 00016498  0x000032a4 jam  0x00000000 , 0x000046c0 
+ 00016499  0x000032a5 branch  0x00007fe7 
+ 00016500  0x000032a7 fetcht  0x00000001 , 0x000046c0 
+ 00016501  0x000032a8 hfetch  0x00000001 , 0x00008109 
+ 00016502  0x000032a9 iadd  0x00000002 , 0x0000003f 
+ 00016503  0x000032aa store  0x00000001 , 0x000046c0 
+ 00016504  0x000032ab rtn 
+ 00016505  0x000032ad fetch  0x00000001 , 0x000046c0 
+ 00016506  0x000032ae rtn  0x00000034 
+ 00016507  0x000032af store  0x00000001 , 0x0000469f 
+ 00016508  0x000032b0 jam  0x00000000 , 0x000046c0 
+ 00016509  0x000032b1 branch  0x00007fe7 
+ 00016510  0x000032b4 fetch  0x00000001 , 0x000046ba 
+ 00016511  0x000032b5 rtn  0x00000034 
+ 00016512  0x000032b6 store  0x00000001 , 0x000046a0 
+ 00016513  0x000032b7 jam  0x00000000 , 0x000046ba 
+ 00016514  0x000032b8 branch  0x00007fe7 
+ 00016515  0x000032bb arg  0x00000000 , 0x00000011 
+ 00016516  0x000032bc fetcht  0x00000001 , 0x000046e2 
+ 00016517  0x000032bd call  0x0000681d 
+ 00016518  0x000032be setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016519  0x000032bf fetcht  0x00000001 , 0x000046e3 
+ 00016520  0x000032c0 call  0x0000681d 
+ 00016521  0x000032c1 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016522  0x000032c2 fetcht  0x00000001 , 0x000046e4 
+ 00016523  0x000032c3 call  0x0000681d 
+ 00016524  0x000032c4 setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00016525  0x000032c5 call  0x00004090 
+ 00016526  0x000032c6 copy  0x00000011 , 0x0000003f 
+ 00016527  0x000032c7 rtn 
+ 00016528  0x000032c9 fetch  0x00000001 , 0x000046e5 
+ 00016529  0x000032ca rtneq  0x000000ff 
+ 00016530  0x000032cb fetcht  0x00000001 , 0x000046e5 
+ 00016531  0x000032cc call  0x0000681d 
+ 00016532  0x000032cd setflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00016533  0x000032ce fetcht  0x00000001 , 0x000046e6 
+ 00016534  0x000032cf call  0x0000681d 
+ 00016535  0x000032d0 setflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00016536  0x000032d1 rtn 
+ 00016537  0x000032d4 call  0x00004083 
+ 00016538  0x000032d5 call  0x000040a8 
+ 00016539  0x000032d6 call  0x000040a3 
+ 00016540  0x000032d7 copy  0x00000011 , 0x0000003f 
+ 00016541  0x000032d8 fetcht  0x00000001 , 0x0000469a 
+ 00016542  0x000032d9 store  0x00000001 , 0x0000469a 
+ 00016543  0x000032da ixor  0x00000002 , 0x0000003f 
+ 00016544  0x000032db sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00016545  0x000032dc rtn  0x00000005 
+ 00016546  0x000032dd branch  0x00007fe7 
+ 00016547  0x000032e0 rtnmark0  0x00000026 
+ 00016548  0x000032e1 copy  0x00000011 , 0x0000003f 
+ 00016549  0x000032e2 rtn  0x00000034 
+ 00016550  0x000032e3 store  0x00000001 , 0x0000469a 
+ 00016551  0x000032e4 branch  0x00007fe7 
+ 00016552  0x000032e8 fetch  0x00000002 , 0x00004682 
+ 00016553  0x000032e9 bbit1  0x00000009 , 0x000040ad 
+ 00016554  0x000032ea fetch  0x00000002 , 0x00004682 
+ 00016555  0x000032eb bbit1  0x00000000 , 0x000040b0 
+ 00016556  0x000032ec rtn 
+ 00016557  0x000032ee copy  0x00000011 , 0x0000003f 
+ 00016558  0x000032ef nbranch  0x00005820 , 0x00000034 
+ 00016559  0x000032f0 branch  0x00005822 
+ 00016560  0x000032f2 copy  0x00000011 , 0x0000003f 
+ 00016561  0x000032f3 nbranch  0x00002bc7 , 0x00000034 
+ 00016562  0x000032f4 branch  0x00002bc9 
+ 00016563  0x000032f8 bpatch  0x000000e7 , 0x0000401c 
+ 00016564  0x000032f9 arg  0x0000001a , 0x00000002 
+ 00016565  0x000032fa fetch  0x00000004 , 0x000046d3 
+ 00016566  0x000032fb isolate1  0x00000012 , 0x0000003f 
+ 00016567  0x000032fc call  0x000040be , 0x00000001 
+ 00016568  0x000032fd call  0x0000681d 
+ 00016569  0x000032fe rtn  0x00000001 
+ 00016570  0x000032ff setarg  0x0000000a 
+ 00016571  0x00003300 call  0x00006414 
+ 00016572  0x00003301 nop  0x000003e8 
+ 00016573  0x00003302 branch  0x000040b3 
+ 00016574  0x00003304 arg  0x0000001f , 0x00000002 
+ 00016575  0x00003305 rtn 
+ 00016576  0x00003308 fetch  0x00000004 , 0x000046d3 
+ 00016577  0x00003309 bbit1  0x00000012 , 0x000040c4 
+ 00016578  0x0000330b arg  0x0000001a , 0x00000002 
+ 00016579  0x0000330c branch  0x000067fe 
+ 00016580  0x0000330e arg  0x0000001f , 0x00000002 
+ 00016581  0x0000330f branch  0x000067fe 
+ 00016582  0x00003313 call  0x00003d36 
+ 00016583  0x00003314 rtn  0x0000002b 
+ 00016584  0x00003315 call  0x000040c0 
+ 00016585  0x00003316 fetch  0x00000001 , 0x000046e0 
+ 00016586  0x00003317 beq  0x00000005 , 0x000040d5 
+ 00016587  0x00003319 call  0x000040d9 
+ 00016588  0x0000331a beq  0x00000030 , 0x000040e0 
+ 00016589  0x0000331b beq  0x00000031 , 0x000040ea 
+ 00016590  0x0000331c call  0x000040d1 
+ 00016591  0x0000331d nop  0x000003e8 
+ 00016592  0x0000331e branch  0x000040cb 
+ 00016593  0x00003320 bpatch  0x000000e8 , 0x0000401d 
+ 00016594  0x00003321 fetch  0x00000004 , 0x000046d3 
+ 00016595  0x00003322 bbit1  0x00000012 , 0x000063e0 
+ 00016596  0x00003323 branch  0x000063d1 
+ 00016597  0x00003326 call  0x000040d9 
+ 00016598  0x00003327 beq  0x0000003e , 0x0000414b 
+ 00016599  0x00003328 call  0x00004145 
+ 00016600  0x00003329 branch  0x000040d5 
+ 00016601  0x0000332c setarg  0x00000001 
+ 00016602  0x0000332d call  0x00006414 
+ 00016603  0x0000332e store  0x00000001 , 0x000046de 
+ 00016604  0x0000332f setarg  0x00000000 
+ 00016605  0x00003330 call  0x00006414 
+ 00016606  0x00003331 store  0x00000001 , 0x000046dd 
+ 00016607  0x00003332 rtn 
+ 00016608  0x00003334 fetch  0x00000001 , 0x000046de 
+ 00016609  0x00003335 beq  0x000000d1 , 0x00004139 
+ 00016610  0x00003336 beq  0x000000d2 , 0x000040f8 
+ 00016611  0x00003337 beq  0x00000002 , 0x000040ee 
+ 00016612  0x00003338 beq  0x00000054 , 0x000040e6 
+ 00016613  0x00003339 rtn 
+ 00016614  0x0000333b jam  0x00000002 , 0x000046e0 
+ 00016615  0x0000333c rtn 
+ 00016616  0x0000333e jam  0x00000006 , 0x000046e0 
+ 00016617  0x0000333f rtn 
+ 00016618  0x00003341 fetch  0x00000001 , 0x000046de 
+ 00016619  0x00003342 beq  0x00000070 , 0x000040e8 
+ 00016620  0x00003343 jam  0x00000001 , 0x000046e0 
+ 00016621  0x00003344 rtn 
+ 00016622  0x00003346 jam  0x00000004 , 0x000046e0 
+ 00016623  0x00003347 call  0x000040f6 
+ 00016624  0x00003348 setarg  0x00003426 
+ 00016625  0x00003349 call  0x00006413 
+ 00016626  0x0000334a setarg  0x00000419 
+ 00016627  0x0000334b call  0x00006413 
+ 00016628  0x0000334d setarg  0x00000009 
+ 00016629  0x0000334e branch  0x00006413 
+ 00016630  0x00003350 setarg  0x00005a09 
+ 00016631  0x00003351 branch  0x00006413 
+ 00016632  0x00003354 jam  0x00000003 , 0x000046e0 
+ 00016633  0x00003355 call  0x000040f6 
+ 00016634  0x00003356 setarg  0x00000f0d 
+ 00016635  0x00003357 call  0x00006413 
+ 00016636  0x00003358 setarg  0x0000e31d 
+ 00016637  0x00003359 call  0x00006413 
+ 00016638  0x0000335a setarg  0x0000d27d 
+ 00016639  0x0000335b call  0x00006413 
+ 00016640  0x0000335c call  0x00004102 
+ 00016641  0x0000335d branch  0x0000411a 
+ 00016642  0x00003360 setarg  0x0000351b 
+ 00016643  0x00003361 call  0x00006413 
+ 00016644  0x00003362 setarg  0x0000b428 
+ 00016645  0x00003363 call  0x00006413 
+ 00016646  0x00003364 setarg  0x00004629 
+ 00016647  0x00003365 call  0x00006413 
+ 00016648  0x00003366 setarg  0x0000962a 
+ 00016649  0x00003367 call  0x00006413 
+ 00016650  0x00003368 setarg  0x00008c2b 
+ 00016651  0x00003369 call  0x00006413 
+ 00016652  0x0000336a setarg  0x00006e2c 
+ 00016653  0x0000336b call  0x00006413 
+ 00016654  0x0000336c setarg  0x0000642d 
+ 00016655  0x0000336d call  0x00006413 
+ 00016656  0x0000336e setarg  0x00005f38 
+ 00016657  0x0000336f call  0x00006413 
+ 00016658  0x00003370 setarg  0x00000f39 
+ 00016659  0x00003371 call  0x00006413 
+ 00016660  0x00003372 setarg  0x0000323a 
+ 00016661  0x00003373 call  0x00006413 
+ 00016662  0x00003374 setarg  0x0000473b 
+ 00016663  0x00003375 call  0x00006413 
+ 00016664  0x00003376 setarg  0x00001042 
+ 00016665  0x00003377 branch  0x00006413 
+ 00016666  0x00003379 setarg  0x00002e54 
+ 00016667  0x0000337a call  0x00006413 
+ 00016668  0x0000337b setarg  0x0000f255 
+ 00016669  0x0000337c call  0x00006413 
+ 00016670  0x0000337d setarg  0x0000f461 
+ 00016671  0x0000337e call  0x00006413 
+ 00016672  0x0000337f setarg  0x00007063 
+ 00016673  0x00003380 call  0x00006413 
+ 00016674  0x00003381 setarg  0x00005275 
+ 00016675  0x00003382 call  0x00006413 
+ 00016676  0x00003383 setarg  0x00004176 
+ 00016677  0x00003384 call  0x00006413 
+ 00016678  0x00003385 setarg  0x0000ed77 
+ 00016679  0x00003386 call  0x00006413 
+ 00016680  0x00003387 setarg  0x00002378 
+ 00016681  0x00003388 call  0x00006413 
+ 00016682  0x00003389 setarg  0x00004679 
+ 00016683  0x0000338a call  0x00006413 
+ 00016684  0x0000338b setarg  0x0000e57a 
+ 00016685  0x0000338c call  0x00006413 
+ 00016686  0x0000338d setarg  0x0000487c 
+ 00016687  0x0000338e call  0x00006413 
+ 00016688  0x0000338f setarg  0x0000777e 
+ 00016689  0x00003390 call  0x00006413 
+ 00016690  0x00003391 setarg  0x0000017f 
+ 00016691  0x00003392 call  0x00006413 
+ 00016692  0x00003393 setarg  0x0000000b 
+ 00016693  0x00003394 call  0x00006413 
+ 00016694  0x00003395 setarg  0x0000007f 
+ 00016695  0x00003396 call  0x00006413 
+ 00016696  0x00003397 branch  0x000040f4 
+ 00016697  0x0000339b jam  0x00000000 , 0x000046e0 
+ 00016698  0x0000339c call  0x000040f6 
+ 00016699  0x0000339d setarg  0x0000100d 
+ 00016700  0x0000339e call  0x00006413 
+ 00016701  0x0000339f setarg  0x0000ed1d 
+ 00016702  0x000033a0 call  0x00006413 
+ 00016703  0x000033a1 setarg  0x0000807d 
+ 00016704  0x000033a2 call  0x00006413 
+ 00016705  0x000033a3 call  0x00004102 
+ 00016706  0x000033a4 setarg  0x00000943 
+ 00016707  0x000033a5 call  0x00006413 
+ 00016708  0x000033a6 branch  0x0000411a 
+ 00016709  0x000033aa fetcht  0x00000001 , 0x000046dc 
+ 00016710  0x000033ab call  0x00006829 
+ 00016711  0x000033ac call  0x00007ec1 
+ 00016712  0x000033ad fetcht  0x00000001 , 0x000046dc 
+ 00016713  0x000033ae call  0x00006825 
+ 00016714  0x000033af branch  0x00007ec1 
+ 00016715  0x000033b2 jam  0x00000005 , 0x000046e0 
+ 00016716  0x000033b3 setarg  0x0000ba41 
+ 00016717  0x000033b4 call  0x00006405 
+ 00016718  0x000033b5 setarg  0x00000d11 
+ 00016719  0x000033b6 call  0x00006405 
+ 00016720  0x000033b7 setarg  0x0000041b 
+ 00016721  0x000033b8 call  0x00006405 
+ 00016722  0x000033b9 setarg  0x0000041c 
+ 00016723  0x000033ba call  0x00006405 
+ 00016724  0x000033bb setarg  0x00000f1d 
+ 00016725  0x000033bc call  0x00006405 
+ 00016726  0x000033bd setarg  0x00000032 
+ 00016727  0x000033be call  0x00006405 
+ 00016728  0x000033bf setarg  0x0000b541 
+ 00016729  0x000033c0 branch  0x00006405 
+ 00016730  0x000033c5 setarg  0x0000ba41 
+ 00016731  0x000033c6 call  0x00006405 
+ 00016732  0x000033c7 nop  0x00000fa0 
+ 00016733  0x000033c8 setarg  0x0000ff7f 
+ 00016734  0x000033c9 call  0x00006405 
+ 00016735  0x000033ca copy  0x00000011 , 0x0000003f 
+ 00016736  0x000033cb call  0x00006405 
+ 00016737  0x000033cc setarg  0x0000007f 
+ 00016738  0x000033cd call  0x00006405 
+ 00016739  0x000033ce setarg  0x0000b541 
+ 00016740  0x000033cf branch  0x00006405 
+ 00016741  0x000033d2 rtnbit0  0x00000007 
+ 00016742  0x000033d3 arg  0x0000ff00 , 0x00000002 
+ 00016743  0x000033d4 ior  0x00000002 , 0x0000003f 
+ 00016744  0x000033d5 rtn 
+ 00016745  0x000033d8 rtnbit0  0x00000003 
+ 00016746  0x000033d9 arg  0x000000f0 , 0x00000002 
+ 00016747  0x000033da ior  0x00000002 , 0x0000003f 
+ 00016748  0x000033db rtn 
+ 00016749  0x000033df call  0x00005892 
+ 00016750  0x000033e0 nrtn  0x00000034 
+ 00016751  0x000033e1 fetch  0x00000001 , 0x000046c5 
+ 00016752  0x000033e2 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00016753  0x000033e3 rtnne  0x00000003 
+ 00016754  0x000033e4 fetch  0x00000004 , 0x000046d3 
+ 00016755  0x000033e5 bbit1  0x00000003 , 0x00004179 
+ 00016756  0x000033e6 bbit1  0x00000000 , 0x00004179 
+ 00016757  0x000033e7 bbit1  0x00000005 , 0x00004179 
+ 00016758  0x000033e8 call  0x00003f97 
+ 00016759  0x000033e9 nrtn  0x00000028 
+ 00016760  0x000033ea branch  0x00003f90 
+ 00016761  0x000033ed setarg  0x00000000 
+ 00016762  0x000033ee store  0x00000007 , 0x0000469a 
+ 00016763  0x000033ef branch  0x00003f90 
+ 00016764  0x000033f2 copy  0x00000013 , 0x0000003f 
+ 00016765  0x000033f3 beq  0x00000014 , 0x000041c3 
+ 00016766  0x000033f4 beq  0x00000001 , 0x000042ca 
+ 00016767  0x000033f5 beq  0x00000015 , 0x000041d9 
+ 00016768  0x000033f6 beq  0x00000002 , 0x000041d9 
+ 00016769  0x000033f7 beq  0x00000005 , 0x000041d6 
+ 00016770  0x000033f8 beq  0x00000010 , 0x0000426c 
+ 00016771  0x000033f9 beq  0x00000012 , 0x0000429b 
+ 00016772  0x000033fa beq  0x00000006 , 0x000041d5 
+ 00016773  0x000033fb beq  0x00000004 , 0x000041cc 
+ 00016774  0x000033fc beq  0x00000013 , 0x000041cc 
+ 00016775  0x000033fd beq  0x0000000a , 0x000041ca 
+ 00016776  0x000033fe beq  0x0000002e , 0x000033cd 
+ 00016777  0x000033ff beq  0x00000031 , 0x000041b4 
+ 00016778  0x00003400 beq  0x00000032 , 0x000041b6 
+ 00016779  0x00003401 beq  0x0000003e , 0x00004191 
+ 00016780  0x00003402 beq  0x00000027 , 0x0000438e 
+ 00016781  0x00003403 beq  0x00000039 , 0x0000419c 
+ 00016782  0x00003404 beq  0x0000003a , 0x00004192 
+ 00016783  0x00003405 beq  0x0000003c , 0x0000419a 
+ 00016784  0x00003406 rtn 
+ 00016785  0x0000340a branch  0x00003410 
+ 00016786  0x0000340d jam  0x00000001 , 0x0000478b 
+ 00016787  0x0000340e fetch  0x00000001 , 0x0000471e 
+ 00016788  0x0000340f nbranch  0x00004492 , 0x00000034 
+ 00016789  0x00003410 fetch  0x00000001 , 0x00004720 
+ 00016790  0x00003411 fetcht  0x00000001 , 0x00004703 
+ 00016791  0x00003412 isub  0x00000002 , 0x0000003e 
+ 00016792  0x00003413 branch  0x0000340a , 0x00000005 
+ 00016793  0x00003414 rtn 
+ 00016794  0x00003416 jam  0x00000001 , 0x0000478b 
+ 00016795  0x00003417 rtn 
+ 00016796  0x00003419 jam  0x00000001 , 0x0000478b 
+ 00016797  0x0000341a arg  0x00000003 , 0x00000007 
+ 00016798  0x0000341b call  0x000043d2 
+ 00016799  0x0000341c setarg  0x00000000 
+ 00016800  0x0000341d store  0x00000002 , 0x00004707 
+ 00016801  0x0000341e jam  0x00000000 , 0x000046a7 
+ 00016802  0x00003420 fetch  0x00000001 , 0x000046e0 
+ 00016803  0x00003421 sub  0x0000003f , 0x00000005 , 0x0000003e 
+ 00016804  0x00003422 call  0x00004039 , 0x00000005 
+ 00016805  0x00003423 ncall  0x0000405d , 0x00000005 
+ 00016806  0x00003425 fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00016807  0x00003426 bbit1  0x00000013 , 0x000041af 
+ 00016808  0x00003427 call  0x000041aa 
+ 00016809  0x00003428 branch  0x000065d1 
+ 00016810  0x0000342b call  0x00002c7a 
+ 00016811  0x0000342c add  0x00000013 , 0x000000ae , 0x00000011 
+ 00016812  0x0000342d arg  0x0000005b , 0x00000012 
+ 00016813  0x0000342e arg  0x00000004 , 0x00000002 
+ 00016814  0x0000342f rtn 
+ 00016815  0x00003432 call  0x00002c7a 
+ 00016816  0x00003433 add  0x00000013 , 0x000000ae , 0x00000012 
+ 00016817  0x00003434 ifetch  0x00000001 , 0x00000012 
+ 00016818  0x00003435 store  0x00000001 , 0x0000477b 
+ 00016819  0x00003436 branch  0x00004435 
+ 00016820  0x0000343a arg  0x00000002 , 0x00000007 
+ 00016821  0x0000343b branch  0x000041b9 
+ 00016822  0x0000343d jam  0x00000002 , 0x000046c6 
+ 00016823  0x0000343e arg  0x00000001 , 0x00000007 
+ 00016824  0x0000343f branch  0x000041b9 
+ 00016825  0x00003443 fetch  0x00000001 , 0x000046c5 
+ 00016826  0x00003444 qset1  0x0000003f 
+ 00016827  0x00003445 store  0x00000001 , 0x000046c5 
+ 00016828  0x00003446 rtn 
+ 00016829  0x00003449 fetch  0x00000001 , 0x000046c5 
+ 00016830  0x0000344a qset0  0x0000003f 
+ 00016831  0x0000344b store  0x00000001 , 0x000046c5 
+ 00016832  0x0000344c rtn 
+ 00016833  0x0000344e jam  0x00000000 , 0x000046c5 
+ 00016834  0x0000344f rtn 
+ 00016835  0x00003452 fetch  0x00000002 , 0x0000420a 
+ 00016836  0x00003453 set0  0x00000000 , 0x0000003f 
+ 00016837  0x00003454 store  0x00000002 , 0x0000420a 
+ 00016838  0x00003455 setarg  0x00000000 
+ 00016839  0x00003456 store  0x00000002 , 0x000046ae 
+ 00016840  0x00003457 call  0x00003f8d 
+ 00016841  0x00003458 branch  0x000042ca 
+ 00016842  0x0000345b call  0x000063cb 
+ 00016843  0x0000345c branch  0x000033dd 
+ 00016844  0x0000345f fetch  0x00000001 , 0x0000471e 
+ 00016845  0x00003460 nbranch  0x00004492 , 0x00000034 
+ 00016846  0x00003461 fetch  0x00000002 , 0x00004682 
+ 00016847  0x00003462 bbit1  0x0000000c , 0x000042b0 
+ 00016848  0x00003463 fetch  0x00000004 , 0x000046d3 
+ 00016849  0x00003464 bbit1  0x00000000 , 0x000041d7 
+ 00016850  0x00003465 bbit1  0x00000005 , 0x000042b0 
+ 00016851  0x00003466 bbit1  0x00000003 , 0x00002ead 
+ 00016852  0x00003467 branch  0x000033a7 
+ 00016853  0x0000346b branch  0x00003f74 
+ 00016854  0x0000346e rtn 
+ 00016855  0x00003471 call  0x000043c0 
+ 00016856  0x00003472 branch  0x0000659a 
+ 00016857  0x00003475 bpatch  0x000000e9 , 0x0000401d 
+ 00016858  0x00003476 call  0x000041e7 
+ 00016859  0x00003477 fetch  0x00000004 , 0x000046d3 
+ 00016860  0x00003478 bbit1  0x00000000 , 0x000041d7 
+ 00016861  0x00003479 bbit1  0x00000003 , 0x00002ead 
+ 00016862  0x0000347a fetch  0x00000001 , 0x0000471e 
+ 00016863  0x0000347b nbranch  0x00004492 , 0x00000034 
+ 00016864  0x0000347c fetch  0x00000002 , 0x00004208 
+ 00016865  0x0000347d bbit1  0x00000007 , 0x000041f5 
+ 00016866  0x0000347e bbit1  0x00000000 , 0x000033a9 
+ 00016867  0x0000347f bbit1  0x00000001 , 0x000041ef 
+ 00016868  0x00003480 bbit1  0x00000002 , 0x000041f2 
+ 00016869  0x00003481 bbit1  0x00000003 , 0x000041f2 
+ 00016870  0x00003482 branch  0x000042b0 
+ 00016871  0x00003484 setarg  0x00000000 
+ 00016872  0x00003485 store  0x00000008 , 0x000046b7 
+ 00016873  0x00003486 istore  0x00000004 , 0x00000005 
+ 00016874  0x00003487 jam  0x00000000 , 0x000046b4 
+ 00016875  0x00003488 jam  0x00000000 , 0x000046a7 
+ 00016876  0x00003489 jam  0x00000000 , 0x000041e2 
+ 00016877  0x0000348a jam  0x00000000 , 0x00004429 
+ 00016878  0x0000348b rtn 
+ 00016879  0x0000348e bbit1  0x00000005 , 0x000041f2 
+ 00016880  0x0000348f bbit1  0x00000003 , 0x000041f2 
+ 00016881  0x00003490 branch  0x000042b0 
+ 00016882  0x00003492 fetch  0x00000002 , 0x00004682 
+ 00016883  0x00003493 bbit1  0x0000000c , 0x000042b0 
+ 00016884  0x00003494 branch  0x000033a7 
+ 00016885  0x00003497 call  0x000041c1 
+ 00016886  0x00003498 fetch  0x00000002 , 0x00004208 
+ 00016887  0x00003499 bbit1  0x00000000 , 0x000033a9 
+ 00016888  0x0000349a branch  0x000033a7 
+ 00016889  0x0000349d call  0x000043d6 
+ 00016890  0x0000349e call  0x00004243 
+ 00016891  0x0000349f call  0x00004246 
+ 00016892  0x000034a0 call  0x00004250 
+ 00016893  0x000034a1 call  0x0000445d 
+ 00016894  0x000034a3 call  0x00004443 
+ 00016895  0x000034a4 call  0x00004333 
+ 00016896  0x000034a5 call  0x000043a5 
+ 00016897  0x000034a6 call  0x000043eb 
+ 00016898  0x000034a7 call  0x00004209 
+ 00016899  0x000034a8 call  0x00004231 
+ 00016900  0x000034a9 call  0x00004234 
+ 00016901  0x000034aa call  0x00004237 
+ 00016902  0x000034ab call  0x0000423a 
+ 00016903  0x000034ac call  0x0000423d 
+ 00016904  0x000034ad branch  0x00004240 
+ 00016905  0x000034b2 fetch  0x00000001 , 0x00004711 
+ 00016906  0x000034b3 rtn  0x00000034 
+ 00016907  0x000034b4 increase  0xffffffff , 0x0000003f 
+ 00016908  0x000034b5 store  0x00000001 , 0x00004711 
+ 00016909  0x000034b6 nrtn  0x00000034 
+ 00016910  0x000034b7 branch  0x0000420f 
+ 00016911  0x000034b9 fetch  0x00000001 , 0x00004712 
+ 00016912  0x000034ba rtneq  0x00000000 
+ 00016913  0x000034bb beq  0x00000005 , 0x00004216 
+ 00016914  0x000034bd call  0x00004225 
+ 00016915  0x000034be jam  0x00000005 , 0x00004712 
+ 00016916  0x000034bf jam  0x00000005 , 0x00004711 
+ 00016917  0x000034c0 rtn 
+ 00016918  0x000034c2 call  0x0000422c 
+ 00016919  0x000034c3 jam  0x00000004 , 0x00004712 
+ 00016920  0x000034c4 jam  0x00000005 , 0x00004711 
+ 00016921  0x000034c5 rtn 
+ 00016922  0x000034c9 setarg  0x00008006 
+ 00016923  0x000034ca call  0x00006413 
+ 00016924  0x000034cb nop  0x000003e8 
+ 00016925  0x000034cc jam  0x00000000 , 0x00004711 
+ 00016926  0x000034cd jam  0x00000000 , 0x00004712 
+ 00016927  0x000034ce branch  0x000040e0 
+ 00016928  0x000034d1 setarg  0x0000a006 
+ 00016929  0x000034d2 call  0x00006413 
+ 00016930  0x000034d3 setarg  0x0000a005 
+ 00016931  0x000034d4 branch  0x00006413 
+ 00016932  0x000034d6 jam  0x00000000 , 0x00004711 
+ 00016933  0x000034d8 fetch  0x00000001 , 0x000046e0 
+ 00016934  0x000034d9 beq  0x00000004 , 0x00004220 
+ 00016935  0x000034da setarg  0x00000106 
+ 00016936  0x000034db call  0x00006413 
+ 00016937  0x000034dc setarg  0x0000a105 
+ 00016938  0x000034dd branch  0x00006413 
+ 00016939  0x000034e0 jam  0x00000000 , 0x00004711 
+ 00016940  0x000034e2 setarg  0x00000906 
+ 00016941  0x000034e3 branch  0x00006413 
+ 00016942  0x000034e5 jam  0x00000005 , 0x00004711 
+ 00016943  0x000034e6 jam  0x00000001 , 0x00004712 
+ 00016944  0x000034e7 rtn 
+ 00016945  0x000034ea arg  0x00004680 , 0x00000013 
+ 00016946  0x000034eb arg  0x0000429b , 0x00000012 
+ 00016947  0x000034ec branch  0x0000336d 
+ 00016948  0x000034ef arg  0x000046ac , 0x00000013 
+ 00016949  0x000034f0 arg  0x00004264 , 0x00000012 
+ 00016950  0x000034f1 branch  0x00003374 
+ 00016951  0x000034f4 arg  0x000046ae , 0x00000013 
+ 00016952  0x000034f5 arg  0x00004266 , 0x00000012 
+ 00016953  0x000034f6 branch  0x00003374 
+ 00016954  0x000034f9 arg  0x000046b0 , 0x00000013 
+ 00016955  0x000034fa arg  0x0000426a , 0x00000012 
+ 00016956  0x000034fb branch  0x00003374 
+ 00016957  0x000034fe arg  0x000046c4 , 0x00000013 
+ 00016958  0x000034ff arg  0x00004478 , 0x00000012 
+ 00016959  0x00003500 branch  0x0000336d 
+ 00016960  0x00003505 arg  0x000046c6 , 0x00000013 
+ 00016961  0x00003506 arg  0x0000425e , 0x00000012 
+ 00016962  0x00003507 branch  0x0000336d 
+ 00016963  0x0000350a arg  0x00004704 , 0x00000013 
+ 00016964  0x0000350b arg  0x00004249 , 0x00000012 
+ 00016965  0x0000350c branch  0x0000336d 
+ 00016966  0x0000350f arg  0x00004707 , 0x00000013 
+ 00016967  0x00003510 arg  0x00004249 , 0x00000012 
+ 00016968  0x00003511 branch  0x00003374 
+ 00016969  0x00003514 rtn 
+ 00016970  0x00003518 fetch  0x00000004 , 0x000046d3 
+ 00016971  0x00003519 rtnbit0  0x00000017 
+ 00016972  0x0000351a jam  0x0000000a , 0x000046df 
+ 00016973  0x0000351b fetch  0x00000001 , 0x000046f4 
+ 00016974  0x0000351c store  0x00000001 , 0x00004715 
+ 00016975  0x0000351d rtn 
+ 00016976  0x00003521 arg  0x000046df , 0x00000013 
+ 00016977  0x00003522 arg  0x00004253 , 0x00000012 
+ 00016978  0x00003523 branch  0x0000336d 
+ 00016979  0x00003525 fetch  0x00000001 , 0x000046f4 
+ 00016980  0x00003526 store  0x00000001 , 0x00004715 
+ 00016981  0x00003527 setarg  0x00000190 
+ 00016982  0x00003528 store  0x00000002 , 0x00004716 
+ 00016983  0x00003529 store  0x00000002 , 0x00004718 
+ 00016984  0x0000352a arg  0x00000000 , 0x00000011 
+ 00016985  0x0000352b fetcht  0x00000001 , 0x0000477a 
+ 00016986  0x0000352c increase  0x00000001 , 0x00000002 
+ 00016987  0x0000352d storet  0x00000001 , 0x00004714 
+ 00016988  0x0000352e jam  0x00000001 , 0x00004713 
+ 00016989  0x0000352f rtn 
+ 00016990  0x00003532 fetch  0x00000001 , 0x000046c5 
+ 00016991  0x00003533 rtnbit1  0x00000002 
+ 00016992  0x00003534 jam  0x00000012 , 0x00000a99 
+ 00016993  0x00003535 call  0x00007d8f 
+ 00016994  0x00003536 arg  0x00000000 , 0x00000007 
+ 00016995  0x00003537 branch  0x000041b9 
+ 00016996  0x0000353b call  0x000042ca 
+ 00016997  0x0000353c branch  0x0000340a 
+ 00016998  0x0000353f call  0x000033f6 
+ 00016999  0x00003540 fetch  0x00000001 , 0x0000471e 
+ 00017000  0x00003541 nbranch  0x00004492 , 0x00000034 
+ 00017001  0x00003542 branch  0x0000340a 
+ 00017002  0x00003545 bmark1  0x00000026 , 0x00007e1d 
+ 00017003  0x00003546 branch  0x00004386 
+ 00017004  0x0000354b bpatch  0x000000ea , 0x0000401d 
+ 00017005  0x0000354c jam  0x00000000 , 0x000046b4 
+ 00017006  0x0000354d call  0x00004386 
+ 00017007  0x0000354e call  0x000041c1 
+ 00017008  0x0000354f branch  0x000042b0 
+ 00017009  0x00003554 fetch  0x00000006 , 0x000041d0 
+ 00017010  0x00003555 branch  0x000033eb , 0x00000034 
+ 00017011  0x00003556 call  0x0000427e 
+ 00017012  0x00003557 jam  0x00000017 , 0x0000016d 
+ 00017013  0x00003558 fetch  0x00000001 , 0x0000465a 
+ 00017014  0x00003559 nbranch  0x000033e1 , 0x00000034 
+ 00017015  0x0000355a jam  0x00000004 , 0x0000016d 
+ 00017016  0x0000355b branch  0x000033e1 
+ 00017017  0x0000355e fetch  0x00000002 , 0x000046a8 
+ 00017018  0x0000355f store  0x00000002 , 0x000046ae 
+ 00017019  0x00003560 call  0x0000427e 
+ 00017020  0x00003561 call  0x00003418 
+ 00017021  0x00003562 branch  0x00007df4 
+ 00017022  0x00003565 setarg  0x000000c8 
+ 00017023  0x00003566 store  0x00000002 , 0x00004716 
+ 00017024  0x00003567 store  0x00000002 , 0x00004718 
+ 00017025  0x00003568 branch  0x00004285 
+ 00017026  0x0000356b setarg  0x000003e8 
+ 00017027  0x0000356c store  0x00000002 , 0x00004716 
+ 00017028  0x0000356d store  0x00000002 , 0x00004718 
+ 00017029  0x0000356f fetch  0x00000001 , 0x00004720 
+ 00017030  0x00003570 beq  0x00000001 , 0x0000428a 
+ 00017031  0x00003571 beq  0x00000002 , 0x0000428c 
+ 00017032  0x00003572 beq  0x00000003 , 0x0000428e 
+ 00017033  0x00003573 rtn 
+ 00017034  0x00003575 fetch  0x00000001 , 0x000046f0 
+ 00017035  0x00003576 branch  0x0000428f 
+ 00017036  0x00003578 fetch  0x00000001 , 0x000046f1 
+ 00017037  0x00003579 branch  0x0000428f 
+ 00017038  0x0000357b fetch  0x00000001 , 0x000046f2 
+ 00017039  0x0000357d store  0x00000001 , 0x00000aa2 
+ 00017040  0x0000357e call  0x00004482 
+ 00017041  0x0000357f fetch  0x00000001 , 0x00000aa2 
+ 00017042  0x00003580 store  0x00000001 , 0x00004715 
+ 00017043  0x00003581 arg  0x00000000 , 0x00000011 
+ 00017044  0x00003582 jam  0x00000001 , 0x00004713 
+ 00017045  0x00003583 branch  0x00007d1e 
+ 00017046  0x00003586 arg  0x00000000 , 0x00000011 
+ 00017047  0x00003587 branch  0x00007d19 
+ 00017048  0x00003589 arg  0x00000000 , 0x00000011 
+ 00017049  0x0000358a branch  0x00007d14 
+ 00017050  0x0000358d branch  0x000041c1 
+ 00017051  0x00003590 jam  0x00000001 , 0x000041e2 
+ 00017052  0x00003591 call  0x00003416 
+ 00017053  0x00003592 call  0x00003412 
+ 00017054  0x00003593 setarg  0x00000000 
+ 00017055  0x00003594 store  0x00000002 , 0x0000467e 
+ 00017056  0x00003595 store  0x00000001 , 0x00004680 
+ 00017057  0x00003596 branch  0x0000340e 
+ 00017058  0x00003599 call  0x0000435f 
+ 00017059  0x0000359a fetch  0x00000001 , 0x00004720 
+ 00017060  0x0000359b fetcht  0x00000001 , 0x00004703 
+ 00017061  0x0000359c isub  0x00000002 , 0x0000003e 
+ 00017062  0x0000359d branch  0x000042ab , 0x00000005 
+ 00017063  0x0000359e fetch  0x00000001 , 0x00004210 
+ 00017064  0x0000359f beq  0x00000033 , 0x00004271 
+ 00017065  0x000035a0 beq  0x00000034 , 0x00004279 
+ 00017066  0x000035a1 branch  0x000042b0 
+ 00017067  0x000035a3 call  0x00003d57 
+ 00017068  0x000035a4 rtnmark1  0x00000026 
+ 00017069  0x000035a5 fetch  0x00000001 , 0x0000471e 
+ 00017070  0x000035a6 nbranch  0x00004492 , 0x00000034 
+ 00017071  0x000035a7 rtn 
+ 00017072  0x000035aa bpatch  0x000000eb , 0x0000401d 
+ 00017073  0x000035ab fetch  0x00000002 , 0x00004682 
+ 00017074  0x000035ac bbit1  0x0000000b , 0x000042b7 
+ 00017075  0x000035ad fetch  0x00000004 , 0x000046d3 
+ 00017076  0x000035ae bbit0  0x00000018 , 0x000042b7 
+ 00017077  0x000035af random  0x0000003f 
+ 00017078  0x000035b0 store  0x00000001 , 0x000044a1 
+ 00017079  0x000035b2 call  0x00003418 
+ 00017080  0x000035b3 fetch  0x00000002 , 0x00004687 
+ 00017081  0x000035b4 store  0x00000002 , 0x000046ac 
+ 00017082  0x000035b5 jam  0x00000006 , 0x0000016d 
+ 00017083  0x000035b6 setarg  0x00000000 
+ 00017084  0x000035b7 store  0x00000002 , 0x000046b0 
+ 00017085  0x000035b8 store  0x00000002 , 0x000046ae 
+ 00017086  0x000035b9 arg  0x00000007 , 0x00000007 
+ 00017087  0x000035ba call  0x000043ce 
+ 00017088  0x000035bb call  0x000043ca 
+ 00017089  0x000035bc fetch  0x00000001 , 0x00004092 
+ 00017090  0x000035bd isolate1  0x00000001 , 0x0000003f 
+ 00017091  0x000035be call  0x00007df4 , 0x00000001 
+ 00017092  0x000035bf fetch  0x00000001 , 0x00004092 
+ 00017093  0x000035c0 isolate1  0x00000000 , 0x0000003f 
+ 00017094  0x000035c1 call  0x00007ddd , 0x00000001 
+ 00017095  0x000035c2 fetch  0x00000004 , 0x000046d3 
+ 00017096  0x000035c3 bbit1  0x0000001c , 0x0000422e 
+ 00017097  0x000035c4 branch  0x00004282 
+ 00017098  0x000035c7 bpatch  0x000000ec , 0x0000401d 
+ 00017099  0x000035c8 fetch  0x00000001 , 0x00004092 
+ 00017100  0x000035c9 isolate1  0x00000001 , 0x0000003f 
+ 00017101  0x000035ca call  0x000042d4 , 0x00000001 
+ 00017102  0x000035cb fetch  0x00000001 , 0x00004092 
+ 00017103  0x000035cc isolate1  0x00000000 , 0x0000003f 
+ 00017104  0x000035cd call  0x000042d7 , 0x00000001 
+ 00017105  0x000035ce fetch  0x00000004 , 0x000046d3 
+ 00017106  0x000035cf bbit1  0x0000001c , 0x0000421a 
+ 00017107  0x000035d0 branch  0x00004482 
+ 00017108  0x000035d2 setarg  0x00000000 
+ 00017109  0x000035d3 store  0x00000002 , 0x000046ae 
+ 00017110  0x000035d4 branch  0x00007dfa 
+ 00017111  0x000035d6 setarg  0x00000000 
+ 00017112  0x000035d7 store  0x00000002 , 0x000046ac 
+ 00017113  0x000035d8 branch  0x00007de2 
+ 00017114  0x000035df fetch  0x00000004 , 0x000046d3 
+ 00017115  0x000035e0 rtnbit0  0x00000007 
+ 00017116  0x000035e1 arg  0x00000007 , 0x00000007 
+ 00017117  0x000035e2 call  0x000043d2 
+ 00017118  0x000035e3 call  0x000042e8 
+ 00017119  0x000035e5 call  0x000042fb 
+ 00017120  0x000035e6 fetch  0x00000004 , 0x000046d3 
+ 00017121  0x000035e7 bbit1  0x00000013 , 0x00004435 
+ 00017122  0x000035e8 bbit1  0x00000014 , 0x000042e4 
+ 00017123  0x000035e9 rtn 
+ 00017124  0x000035eb arg  0x00000058 , 0x00000002 
+ 00017125  0x000035ec arg  0x00004720 , 0x00000011 
+ 00017126  0x000035ed arg  0x00000000 , 0x00000012 
+ 00017127  0x000035ee branch  0x000065d1 
+ 00017128  0x000035f1 fetch  0x00000001 , 0x00000185 
+ 00017129  0x000035f2 beq  0x00000034 , 0x000042ec 
+ 00017130  0x000035f3 beq  0x00000033 , 0x000042ef 
+ 00017131  0x000035f4 rtn 
+ 00017132  0x000035f6 store  0x00000001 , 0x000046c7 
+ 00017133  0x000035f7 fetch  0x00000006 , 0x0000044f 
+ 00017134  0x000035f8 branch  0x000042f1 
+ 00017135  0x000035fa store  0x00000001 , 0x000046c7 
+ 00017136  0x000035fb fetch  0x00000006 , 0x00000040 
+ 00017137  0x000035fd store  0x00000006 , 0x000046c8 
+ 00017138  0x000035fe fetch  0x00000007 , 0x000046c7 
+ 00017139  0x000035ff arg  0x00004721 , 0x00000006 
+ 00017140  0x00003600 arg  0x00000003 , 0x00000039 
+ 00017141  0x00003602 ifetcht  0x00000007 , 0x00000006 
+ 00017142  0x00003603 isub  0x00000002 , 0x0000003e 
+ 00017143  0x00003604 branch  0x00004310 , 0x00000005 
+ 00017144  0x00003605 increase  0x00000016 , 0x00000006 
+ 00017145  0x00003606 loop  0x000042f5 
+ 00017146  0x00003607 rtn 
+ 00017147  0x00003609 arg  0x00004721 , 0x00000011 
+ 00017148  0x0000360a fetch  0x00000001 , 0x00004720 
+ 00017149  0x0000360b increase  0xffffffff , 0x0000003f 
+ 00017150  0x0000360c mul32  0x0000003f , 0x0000001d , 0x0000003f 
+ 00017151  0x0000360d iadd  0x00000011 , 0x00000011 
+ 00017152  0x0000360e fetch  0x00000001 , 0x00000185 
+ 00017153  0x0000360f istore  0x00000001 , 0x00000011 
+ 00017154  0x00003610 beq  0x00000034 , 0x00004305 
+ 00017155  0x00003611 beq  0x00000033 , 0x0000430c 
+ 00017156  0x00003612 rtn 
+ 00017157  0x00003615 fetch  0x00000006 , 0x0000044f 
+ 00017158  0x00003616 istore  0x00000006 , 0x00000005 
+ 00017159  0x00003617 arg  0x00004419 , 0x00000006 
+ 00017160  0x00003618 call  0x00007ebf 
+ 00017161  0x00003619 fetch  0x00000006 , 0x000044a0 
+ 00017162  0x0000361a istore  0x00000006 , 0x00000005 
+ 00017163  0x0000361b rtn 
+ 00017164  0x0000361d fetch  0x00000006 , 0x00000040 
+ 00017165  0x0000361e istore  0x00000006 , 0x00000005 
+ 00017166  0x0000361f arg  0x000041be , 0x00000006 
+ 00017167  0x00003620 branch  0x00007ebf 
+ 00017168  0x00003623 increase  0xfffffffa , 0x00000006 
+ 00017169  0x00003624 copy  0x00000006 , 0x00000005 
+ 00017170  0x00003625 fetcht  0x00000006 , 0x000046c8 
+ 00017171  0x00003626 increase  0x00000003 , 0x00000002 
+ 00017172  0x00003627 istoret  0x00000006 , 0x00000005 
+ 00017173  0x00003628 rtn 
+ 00017174  0x0000362d arg  0x00000058 , 0x00000002 
+ 00017175  0x0000362e arg  0x00004720 , 0x00000011 
+ 00017176  0x0000362f arg  0x00000000 , 0x00000012 
+ 00017177  0x00003630 call  0x000065df 
+ 00017178  0x00003632 arg  0x00004721 , 0x00000011 
+ 00017179  0x00003633 fetch  0x00000001 , 0x00004720 
+ 00017180  0x00003634 fetcht  0x00000001 , 0x00004703 
+ 00017181  0x00003635 isub  0x00000002 , 0x0000003e 
+ 00017182  0x00003636 rtn  0x00000005 
+ 00017183  0x00003637 increase  0xffffffff , 0x0000003f 
+ 00017184  0x00003638 mul32  0x0000003f , 0x0000001d , 0x0000003f 
+ 00017185  0x00003639 iadd  0x00000011 , 0x00000011 
+ 00017186  0x0000363a ifetch  0x00000001 , 0x00000011 
+ 00017187  0x0000363b store  0x00000001 , 0x00004210 
+ 00017188  0x0000363c beq  0x00000033 , 0x00004327 
+ 00017189  0x0000363d beq  0x00000034 , 0x0000432c 
+ 00017190  0x0000363e rtn 
+ 00017191  0x00003641 ifetch  0x00000006 , 0x00000006 
+ 00017192  0x00003643 store  0x00000006 , 0x000041d0 
+ 00017193  0x00003644 arg  0x000041be , 0x00000005 
+ 00017194  0x00003645 call  0x00007ebf 
+ 00017195  0x00003646 branch  0x000067d7 
+ 00017196  0x00003649 ifetch  0x00000006 , 0x00000006 
+ 00017197  0x0000364b store  0x00000006 , 0x000041d0 
+ 00017198  0x0000364c arg  0x00004419 , 0x00000005 
+ 00017199  0x0000364d call  0x00007ebf 
+ 00017200  0x0000364e ifetch  0x00000006 , 0x00000006 
+ 00017201  0x0000364f store  0x00000006 , 0x000044a0 
+ 00017202  0x00003650 rtn 
+ 00017203  0x00003654 fetch  0x00000001 , 0x000046f5 
+ 00017204  0x00003655 bbit1  0x00000005 , 0x00004349 
+ 00017205  0x00003656 bbit1  0x00000006 , 0x00004359 
+ 00017206  0x00003657 branch  0x00004337 
+ 00017207  0x0000365a call  0x00004083 
+ 00017208  0x0000365b beq  0x00000006 , 0x0000433e 
+ 00017209  0x0000365d jam  0x0000001e , 0x000046d8 
+ 00017210  0x0000365e fetch  0x00000001 , 0x000046d9 
+ 00017211  0x0000365f rtneq  0x00000001 
+ 00017212  0x00003660 jam  0x00000001 , 0x000046d9 
+ 00017213  0x00003661 rtn 
+ 00017214  0x00003664 call  0x00004343 
+ 00017215  0x00003665 fetch  0x00000001 , 0x000046d9 
+ 00017216  0x00003666 rtneq  0x00000000 
+ 00017217  0x00003667 jam  0x00000000 , 0x000046d9 
+ 00017218  0x00003668 branch  0x000043c0 
+ 00017219  0x0000366b fetch  0x00000001 , 0x000046d8 
+ 00017220  0x0000366c rtn  0x00000034 
+ 00017221  0x0000366d pincrease  0xffffffff 
+ 00017222  0x0000366e store  0x00000001 , 0x000046d8 
+ 00017223  0x0000366f nrtn  0x00000034 
+ 00017224  0x00003670 branch  0x00004370 
+ 00017225  0x00003673 fetch  0x00000001 , 0x000046ed 
+ 00017226  0x00003674 rtneq  0x000000ff 
+ 00017227  0x00003675 fetcht  0x00000001 , 0x000046ed 
+ 00017228  0x00003676 call  0x0000681d 
+ 00017229  0x00003677 branch  0x00004354 , 0x00000001 
+ 00017230  0x00003679 fetch  0x00000001 , 0x000046d9 
+ 00017231  0x0000367a rtneq  0x00000001 
+ 00017232  0x0000367b jam  0x00000001 , 0x000046d9 
+ 00017233  0x0000367c fetch  0x00000004 , 0x000046d3 
+ 00017234  0x0000367d rtnbit1  0x00000006 
+ 00017235  0x0000367e branch  0x00004370 
+ 00017236  0x00003681 fetch  0x00000001 , 0x000046d9 
+ 00017237  0x00003682 rtneq  0x00000000 
+ 00017238  0x00003683 jam  0x00000000 , 0x000046d9 
+ 00017239  0x00003684 arg  0x00000006 , 0x00000007 
+ 00017240  0x00003685 branch  0x000043d2 
+ 00017241  0x0000368a fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00017242  0x0000368b rtnbit0  0x00000006 
+ 00017243  0x0000368c fetch  0x00000001 , 0x00004720 
+ 00017244  0x0000368d beq  0x00000001 , 0x00004369 
+ 00017245  0x0000368e beq  0x00000002 , 0x0000436c 
+ 00017246  0x0000368f rtn 
+ 00017247  0x00003691 fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00017248  0x00003692 rtnbit0  0x00000006 
+ 00017249  0x00003693 fetcht  0x00000001 , 0x000046ed 
+ 00017250  0x00003694 call  0x0000681d 
+ 00017251  0x00003695 branch  0x00004366 , 0x00000001 
+ 00017252  0x00003697 jam  0x00000001 , 0x00004720 
+ 00017253  0x00003698 rtn 
+ 00017254  0x0000369a fetch  0x00000001 , 0x00004703 
+ 00017255  0x0000369b store  0x00000001 , 0x00004720 
+ 00017256  0x0000369c rtn 
+ 00017257  0x0000369e fetcht  0x00000001 , 0x000046ed 
+ 00017258  0x0000369f nbranch  0x00004370 , 0x00000001 
+ 00017259  0x000036a0 rtn 
+ 00017260  0x000036a2 fetcht  0x00000001 , 0x000046ed 
+ 00017261  0x000036a3 call  0x0000681d 
+ 00017262  0x000036a4 branch  0x00004354 , 0x00000001 
+ 00017263  0x000036a5 rtn 
+ 00017264  0x000036ab fetcht  0x00000001 , 0x00004720 
+ 00017265  0x000036ac increase  0x00000001 , 0x00000002 
+ 00017266  0x000036ad fetch  0x00000001 , 0x000046d2 
+ 00017267  0x000036ae isub  0x00000002 , 0x0000003e 
+ 00017268  0x000036af ncall  0x000043cc , 0x00000002 
+ 00017269  0x000036b0 storet  0x00000001 , 0x00004720 
+ 00017270  0x000036b1 jam  0x00000000 , 0x000041bd 
+ 00017271  0x000036b2 call  0x0000437a 
+ 00017272  0x000036b3 call  0x000043c0 
+ 00017273  0x000036b5 branch  0x0000437e 
+ 00017274  0x000036b8 arg  0x00000001 , 0x00000002 
+ 00017275  0x000036b9 arg  0x00004720 , 0x00000011 
+ 00017276  0x000036ba arg  0x00000000 , 0x00000012 
+ 00017277  0x000036bb branch  0x00006606 
+ 00017278  0x000036be call  0x00004381 
+ 00017279  0x000036bf call  0x000043c2 
+ 00017280  0x000036c0 branch  0x000041d7 
+ 00017281  0x000036c2 fetch  0x00000002 , 0x00004682 
+ 00017282  0x000036c3 bbit1  0x00000007 , 0x00004392 
+ 00017283  0x000036c4 bbit1  0x00000009 , 0x00003402 
+ 00017284  0x000036c5 bbit1  0x00000000 , 0x000033e9 
+ 00017285  0x000036c6 branch  0x000042ca 
+ 00017286  0x000036c9 bpatch  0x000000ed , 0x0000401d 
+ 00017287  0x000036ca setarg  0x00000000 
+ 00017288  0x000036cb store  0x00000002 , 0x000046b0 
+ 00017289  0x000036cc fetch  0x00000002 , 0x00004682 
+ 00017290  0x000036cd bbit1  0x00000009 , 0x00003402 
+ 00017291  0x000036ce fetch  0x00000002 , 0x00004682 
+ 00017292  0x000036cf bbit1  0x00000000 , 0x000033e9 
+ 00017293  0x000036d0 rtn 
+ 00017294  0x000036d3 setarg  0x00000001 
+ 00017295  0x000036d4 store  0x00000006 , 0x00000040 
+ 00017296  0x000036d5 jam  0x00000033 , 0x00000185 
+ 00017297  0x000036d6 branch  0x000042df 
+ 00017298  0x000036da call  0x000043c4 
+ 00017299  0x000036db branch  0x00007e2f 
+ 00017300  0x000036de fetch  0x00000001 , 0x000046ec 
+ 00017301  0x000036df rtneq  0x000000ff 
+ 00017302  0x000036e0 fetcht  0x00000001 , 0x000046ec 
+ 00017303  0x000036e1 call  0x0000681d 
+ 00017304  0x000036e2 branch  0x0000439f , 0x00000001 
+ 00017305  0x000036e4 fetch  0x00000001 , 0x00004685 
+ 00017306  0x000036e5 store  0x00000001 , 0x000046da 
+ 00017307  0x000036e6 fetch  0x00000001 , 0x000046db 
+ 00017308  0x000036e7 rtneq  0x00000001 
+ 00017309  0x000036e8 jam  0x00000001 , 0x000046db 
+ 00017310  0x000036e9 branch  0x000043ca 
+ 00017311  0x000036eb call  0x000043b5 
+ 00017312  0x000036ec fetch  0x00000001 , 0x000046db 
+ 00017313  0x000036ed rtneq  0x00000000 
+ 00017314  0x000036ee jam  0x00000000 , 0x000046db 
+ 00017315  0x000036ef call  0x00007e2f 
+ 00017316  0x000036f0 branch  0x000043c8 
+ 00017317  0x000036f4 fetch  0x00000001 , 0x000046f5 
+ 00017318  0x000036f5 bbit1  0x00000004 , 0x00004394 
+ 00017319  0x000036f7 call  0x00004083 
+ 00017320  0x000036f8 beq  0x00000007 , 0x000043af 
+ 00017321  0x000036fa fetch  0x00000001 , 0x00004685 
+ 00017322  0x000036fb store  0x00000001 , 0x000046da 
+ 00017323  0x000036fc fetch  0x00000001 , 0x000046db 
+ 00017324  0x000036fd rtneq  0x00000001 
+ 00017325  0x000036fe jam  0x00000001 , 0x000046db 
+ 00017326  0x000036ff branch  0x000043ca 
+ 00017327  0x00003703 call  0x000043b5 
+ 00017328  0x00003704 fetch  0x00000001 , 0x000046db 
+ 00017329  0x00003705 rtneq  0x00000000 
+ 00017330  0x00003706 jam  0x00000000 , 0x000046db 
+ 00017331  0x00003707 call  0x00007e2f 
+ 00017332  0x00003708 branch  0x000043c8 
+ 00017333  0x0000370b arg  0x000046da , 0x00000013 
+ 00017334  0x0000370c arg  0x000043b8 , 0x00000012 
+ 00017335  0x0000370d branch  0x0000336d 
+ 00017336  0x00003710 arg  0x00000006 , 0x00000007 
+ 00017337  0x00003711 call  0x000043ce 
+ 00017338  0x00003712 call  0x00003357 
+ 00017339  0x00003713 branch  0x0000426c 
+ 00017340  0x00003717 arg  0x00000001 , 0x00000007 
+ 00017341  0x00003718 branch  0x000043ce 
+ 00017342  0x0000371a arg  0x00000001 , 0x00000007 
+ 00017343  0x0000371b branch  0x000043d2 
+ 00017344  0x0000371d arg  0x00000000 , 0x00000007 
+ 00017345  0x0000371e branch  0x000043ce 
+ 00017346  0x00003720 arg  0x00000000 , 0x00000007 
+ 00017347  0x00003721 branch  0x000043d2 
+ 00017348  0x00003723 arg  0x00000002 , 0x00000007 
+ 00017349  0x00003724 branch  0x000043ce 
+ 00017350  0x00003726 arg  0x00000002 , 0x00000007 
+ 00017351  0x00003727 branch  0x000043d2 
+ 00017352  0x00003729 arg  0x00000005 , 0x00000007 
+ 00017353  0x0000372a branch  0x000043ce 
+ 00017354  0x0000372c arg  0x00000005 , 0x00000007 
+ 00017355  0x0000372d branch  0x000043d2 
+ 00017356  0x00003732 arg  0x00000001 , 0x00000002 
+ 00017357  0x00003733 rtn 
+ 00017358  0x00003736 fetch  0x00000004 , 0x000046d3 
+ 00017359  0x00003737 qset1  0x0000003f 
+ 00017360  0x00003738 store  0x00000004 , 0x000046d3 
+ 00017361  0x00003739 rtn 
+ 00017362  0x0000373c fetch  0x00000004 , 0x000046d3 
+ 00017363  0x0000373d qset0  0x0000003f 
+ 00017364  0x0000373e store  0x00000004 , 0x000046d3 
+ 00017365  0x0000373f rtn 
+ 00017366  0x00003742 fetch  0x00000004 , 0x000046d3 
+ 00017367  0x00003743 rtnbit0  0x0000001a 
+ 00017368  0x00003744 fetch  0x00000001 , 0x000046ce 
+ 00017369  0x00003745 increase  0x00000001 , 0x0000003f 
+ 00017370  0x00003746 store  0x00000001 , 0x000046ce 
+ 00017371  0x00003747 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00017372  0x00003748 rtn  0x00000002 
+ 00017373  0x00003749 jam  0x00000000 , 0x000046ce 
+ 00017374  0x0000374a call  0x000068eb 
+ 00017375  0x0000374b call  0x00006908 
+ 00017376  0x0000374c store  0x00000002 , 0x0000470f 
+ 00017377  0x0000374d arg  0x00004709 , 0x00000011 
+ 00017378  0x0000374e call  0x00006930 
+ 00017379  0x0000374f fetch  0x00000001 , 0x00004231 
+ 00017380  0x00003750 bbit1  0x00000001 , 0x000044a0 
+ 00017381  0x00003751 bbit0  0x00000000 , 0x000043e9 
+ 00017382  0x00003752 branch  0x000043e7 
+ 00017383  0x00003754 arg  0x00000004 , 0x00000007 
+ 00017384  0x00003755 branch  0x000043ce 
+ 00017385  0x00003757 arg  0x00000004 , 0x00000007 
+ 00017386  0x00003758 branch  0x000043d2 
+ 00017387  0x0000375b fetch  0x00000004 , 0x000046d3 
+ 00017388  0x0000375c rtnbit0  0x00000004 
+ 00017389  0x0000375d fetch  0x00000001 , 0x000046ef 
+ 00017390  0x0000375e store  0x00000001 , 0x00004715 
+ 00017391  0x0000375f fetch  0x00000001 , 0x000046cf 
+ 00017392  0x00003760 pincrease  0x00000001 
+ 00017393  0x00003761 store  0x00000001 , 0x000046cf 
+ 00017394  0x00003762 sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00017395  0x00003763 ncall  0x000043f9 , 0x00000002 
+ 00017396  0x00003764 beq  0x00000002 , 0x000043fb 
+ 00017397  0x00003765 beq  0x00000004 , 0x000043fe 
+ 00017398  0x00003766 beq  0x00000006 , 0x000043fb 
+ 00017399  0x00003767 beq  0x00000008 , 0x000043fe 
+ 00017400  0x00003768 rtn 
+ 00017401  0x0000376a jam  0x00000001 , 0x000046cf 
+ 00017402  0x0000376b branch  0x000043fe 
+ 00017403  0x0000376d arg  0x00000000 , 0x00000011 
+ 00017404  0x0000376e jam  0x00000002 , 0x00004713 
+ 00017405  0x0000376f branch  0x00007d14 
+ 00017406  0x00003771 arg  0x00000000 , 0x00000011 
+ 00017407  0x00003772 jam  0x00000002 , 0x00004713 
+ 00017408  0x00003773 branch  0x00007d19 
+ 00017409  0x00003776 call  0x00003f97 
+ 00017410  0x00003777 nrtn  0x00000028 
+ 00017411  0x00003778 arg  0x00000007 , 0x00000011 
+ 00017412  0x00003779 arg  0x0000469a , 0x00000012 
+ 00017413  0x0000377a rtn 
+ 00017414  0x0000377d fetch  0x00000001 , 0x0000478b 
+ 00017415  0x0000377e rtn  0x00000034 
+ 00017416  0x00003780 fetcht  0x00000001 , 0x000046e7 
+ 00017417  0x00003781 call  0x0000681d 
+ 00017418  0x00003782 call  0x00004410 , 0x00000001 
+ 00017419  0x00003783 fetch  0x00000001 , 0x00004704 
+ 00017420  0x00003784 nrtn  0x00000034 
+ 00017421  0x00003785 call  0x00004083 
+ 00017422  0x00003786 nrtn  0x00000034 
+ 00017423  0x00003787 branch  0x00002d83 
+ 00017424  0x0000378a fetch  0x00000001 , 0x000046e7 
+ 00017425  0x0000378b rtneq  0x000000ff 
+ 00017426  0x0000378c jam  0x0000000a , 0x00004704 
+ 00017427  0x0000378d rtn 
+ 00017428  0x00003791 call  0x00004423 
+ 00017429  0x00003792 fetch  0x00000002 , 0x00004778 
+ 00017430  0x00003793 arg  0x0000aa55 , 0x00000002 
+ 00017431  0x00003794 isub  0x00000002 , 0x0000003e 
+ 00017432  0x00003795 branch  0x0000442b , 0x00000005 
+ 00017433  0x00003796 storet  0x00000002 , 0x00004778 
+ 00017434  0x00003797 call  0x0000441c 
+ 00017435  0x00003798 branch  0x00004435 
+ 00017436  0x0000379a fetch  0x00000006 , 0x000044a0 
+ 00017437  0x0000379b store  0x00000006 , 0x00004738 
+ 00017438  0x0000379c add  0x0000003f , 0x00000100 , 0x0000003f 
+ 00017439  0x0000379d store  0x00000006 , 0x00004755 
+ 00017440  0x0000379e add  0x0000003f , 0x00000100 , 0x0000003f 
+ 00017441  0x0000379f store  0x00000006 , 0x00004772 
+ 00017442  0x000037a0 rtn 
+ 00017443  0x000037a4 setarg  0x00004778 
+ 00017444  0x000037a5 arg  0x00004720 , 0x00000002 
+ 00017445  0x000037a6 isub  0x00000002 , 0x00000002 
+ 00017446  0x000037a7 fetch  0x00000003 , 0x00004700 
+ 00017447  0x000037a8 iadd  0x00000002 , 0x0000003f 
+ 00017448  0x000037a9 arg  0x00000002 , 0x00000002 
+ 00017449  0x000037aa arg  0x00004778 , 0x00000011 
+ 00017450  0x000037ab branch  0x00006562 
+ 00017451  0x000037af setarg  0x0000477f 
+ 00017452  0x000037b0 arg  0x00004720 , 0x00000002 
+ 00017453  0x000037b1 isub  0x00000002 , 0x00000002 
+ 00017454  0x000037b2 fetch  0x00000003 , 0x00004700 
+ 00017455  0x000037b3 arg  0x00004720 , 0x00000011 
+ 00017456  0x000037b4 call  0x00006562 
+ 00017457  0x000037b5 call  0x0000431a 
+ 00017458  0x000037b6 fetch  0x00000004 , 0x0000477b 
+ 00017459  0x000037b7 call  0x00002c7a 
+ 00017460  0x000037b8 branch  0x0000322c 
+ 00017461  0x000037bb setarg  0x0000477f 
+ 00017462  0x000037bc arg  0x00004720 , 0x00000002 
+ 00017463  0x000037bd isub  0x00000002 , 0x00000002 
+ 00017464  0x000037be arg  0x00004720 , 0x00000011 
+ 00017465  0x000037bf fetch  0x00000003 , 0x00004700 
+ 00017466  0x000037c0 branch  0x00006514 
+ 00017467  0x000037c3 arg  0x00000001 , 0x00000002 
+ 00017468  0x000037c4 arg  0x0000477a , 0x00000011 
+ 00017469  0x000037c5 arg  0x0000005a , 0x00000012 
+ 00017470  0x000037c6 branch  0x000065d1 
+ 00017471  0x000037c9 arg  0x00000001 , 0x00000002 
+ 00017472  0x000037ca arg  0x0000477a , 0x00000011 
+ 00017473  0x000037cb arg  0x0000005a , 0x00000012 
+ 00017474  0x000037cc branch  0x000065df 
+ 00017475  0x000037cf rtnmark1  0x00000026 
+ 00017476  0x000037d0 fetch  0x00000004 , 0x000046d3 
+ 00017477  0x000037d1 rtnbit0  0x00000016 
+ 00017478  0x000037d2 fetch  0x00000001 , 0x00004705 
+ 00017479  0x000037d3 pincrease  0x00000001 
+ 00017480  0x000037d4 and  0x0000003f , 0x00000007 , 0x0000003f 
+ 00017481  0x000037d5 store  0x00000001 , 0x00004705 
+ 00017482  0x000037d6 rtnne  0x00000007 
+ 00017483  0x000037d7 fetch  0x00000002 , 0x00004682 
+ 00017484  0x000037d8 bbit1  0x00000000 , 0x0000444f 
+ 00017485  0x000037d9 bbit1  0x00000009 , 0x0000444f 
+ 00017486  0x000037da rtn 
+ 00017487  0x000037e0 bpatch  0x000000ee , 0x0000401d 
+ 00017488  0x000037e1 fetch  0x00000001 , 0x00004706 
+ 00017489  0x000037e2 nrtn  0x00000034 
+ 00017490  0x000037e3 fetch  0x00000004 , 0x000046d3 
+ 00017491  0x000037e4 rtnbit0  0x00000008 
+ 00017492  0x000037e5 fetch  0x00000001 , 0x000046a5 
+ 00017493  0x000037e6 call  0x000063fb 
+ 00017494  0x000037e7 store  0x00000001 , 0x000046a6 
+ 00017495  0x000037e8 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00017496  0x000037e9 branch  0x0000445b , 0x00000002 
+ 00017497  0x000037ea jam  0x00000000 , 0x00004706 
+ 00017498  0x000037eb rtn 
+ 00017499  0x000037ee jam  0x0000001e , 0x00004706 
+ 00017500  0x000037ef rtn 
+ 00017501  0x000037f1 arg  0x00004706 , 0x00000013 
+ 00017502  0x000037f2 arg  0x00004460 , 0x00000012 
+ 00017503  0x000037f3 branch  0x0000336d 
+ 00017504  0x000037f6 fetch  0x00000001 , 0x000046a5 
+ 00017505  0x000037f7 call  0x00006414 
+ 00017506  0x000037f8 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00017507  0x000037f9 nrtn  0x00000002 
+ 00017508  0x000037fa fetch  0x00000004 , 0x000046d3 
+ 00017509  0x000037fb rtnbit0  0x00000008 
+ 00017510  0x000037fc arg  0x00000008 , 0x00000007 
+ 00017511  0x000037fd call  0x000043d2 
+ 00017512  0x000037fe jam  0x00000000 , 0x00004172 
+ 00017513  0x000037ff jam  0x0000001e , 0x000046c4 
+ 00017514  0x00003800 call  0x00004482 
+ 00017515  0x00003801 fetch  0x00000004 , 0x000046d3 
+ 00017516  0x00003802 bbit1  0x00000015 , 0x00004471 
+ 00017517  0x00003804 fetch  0x00000001 , 0x00004720 
+ 00017518  0x00003805 beq  0x00000001 , 0x00004489 
+ 00017519  0x00003806 beq  0x00000002 , 0x00004476 
+ 00017520  0x00003807 rtn 
+ 00017521  0x00003809 fetch  0x00000001 , 0x00004720 
+ 00017522  0x0000380a beq  0x00000001 , 0x00004489 
+ 00017523  0x0000380b beq  0x00000002 , 0x0000448c 
+ 00017524  0x0000380c beq  0x00000003 , 0x0000448f 
+ 00017525  0x0000380d rtn 
+ 00017526  0x00003810 fetch  0x00000001 , 0x000046f0 
+ 00017527  0x00003811 branch  0x0000428f 
+ 00017528  0x00003816 jam  0x00000020 , 0x00004172 
+ 00017529  0x00003817 branch  0x00004482 
+ 00017530  0x0000381c fetch  0x00000001 , 0x000046f0 
+ 00017531  0x0000381d rtneq  0x000000ff 
+ 00017532  0x0000381e store  0x00000001 , 0x00004715 
+ 00017533  0x0000381f branch  0x00004296 
+ 00017534  0x00003822 fetch  0x00000001 , 0x000046f1 
+ 00017535  0x00003823 rtneq  0x000000ff 
+ 00017536  0x00003824 store  0x00000001 , 0x00004715 
+ 00017537  0x00003825 branch  0x00004296 
+ 00017538  0x00003828 call  0x00004296 
+ 00017539  0x00003829 call  0x0000447a 
+ 00017540  0x0000382a call  0x0000447e 
+ 00017541  0x0000382c fetch  0x00000001 , 0x000046f2 
+ 00017542  0x0000382d rtneq  0x000000ff 
+ 00017543  0x0000382e store  0x00000001 , 0x00004715 
+ 00017544  0x0000382f branch  0x00004296 
+ 00017545  0x00003832 fetch  0x00000001 , 0x000046f0 
+ 00017546  0x00003833 store  0x00000001 , 0x00004715 
+ 00017547  0x00003834 branch  0x00004298 
+ 00017548  0x00003836 fetch  0x00000001 , 0x000046f1 
+ 00017549  0x00003837 store  0x00000001 , 0x00004715 
+ 00017550  0x00003838 branch  0x00004298 
+ 00017551  0x0000383a fetch  0x00000001 , 0x000046f2 
+ 00017552  0x0000383b store  0x00000001 , 0x00004715 
+ 00017553  0x0000383c branch  0x00004298 
+ 00017554  0x00003841 bpatch  0x000000ef , 0x0000401d 
+ 00017555  0x00003842 fetch  0x00000001 , 0x0000471e 
+ 00017556  0x00003843 increase  0xffffffff , 0x0000003f 
+ 00017557  0x00003844 store  0x00000001 , 0x0000471e 
+ 00017558  0x00003845 fetcht  0x00000001 , 0x00004720 
+ 00017559  0x00003846 increase  0x00000001 , 0x00000002 
+ 00017560  0x00003847 fetch  0x00000001 , 0x000046d2 
+ 00017561  0x00003848 isub  0x00000002 , 0x0000003e 
+ 00017562  0x00003849 ncall  0x000043cc , 0x00000002 
+ 00017563  0x0000384a storet  0x00000001 , 0x00004720 
+ 00017564  0x0000384b jam  0x00000000 , 0x000041bd 
+ 00017565  0x0000384c call  0x0000437a 
+ 00017566  0x0000384d call  0x000042fb 
+ 00017567  0x0000384e branch  0x000042a2 
+ 00017568  0x00003851 call  0x00004482 
+ 00017569  0x00003852 setarg  0x00000000 
+ 00017570  0x00003853 store  0x00000008 , 0x000000a1 
+ 00017571  0x00003854 branch  0x00002b1f 
+ 00017572  0x00003860 rtn  0x0000002b 
+ 00017573  0x00003861 hfetch  0x00000001 , 0x00008081 
+ 00017574  0x00003862 and_into  0x000000f0 , 0x0000003f 
+ 00017575  0x00003863 hstore  0x00000001 , 0x00008081 
+ 00017576  0x00003864 call  0x00006948 
+ 00017577  0x00003865 setarg  0x000044e6 
+ 00017578  0x00003866 store  0x00000002 , 0x000041eb 
+ 00017579  0x00003868 setarg  0x000044e9 
+ 00017580  0x00003869 store  0x00000002 , 0x000041ed 
+ 00017581  0x0000386b setarg  0x000044ef 
+ 00017582  0x0000386c store  0x00000002 , 0x000041f3 
+ 00017583  0x0000386e setarg  0x000044f2 
+ 00017584  0x0000386f store  0x00000002 , 0x000041f5 
+ 00017585  0x00003871 setarg  0x000033d0 
+ 00017586  0x00003872 store  0x00000002 , 0x000041e9 
+ 00017587  0x00003874 call  0x00002c7a 
+ 00017588  0x00003875 setarg  0x000045c2 
+ 00017589  0x00003876 add  0x00000013 , 0x000000d8 , 0x00000005 
+ 00017590  0x00003877 istore  0x00000002 , 0x00000005 
+ 00017591  0x00003879 setarg  0x000044ea 
+ 00017592  0x0000387a add  0x00000013 , 0x000000da , 0x00000005 
+ 00017593  0x0000387b istore  0x00000002 , 0x00000005 
+ 00017594  0x0000387d setarg  0x000044e9 
+ 00017595  0x0000387e add  0x00000013 , 0x000000dc , 0x00000005 
+ 00017596  0x0000387f istore  0x00000002 , 0x00000005 
+ 00017597  0x00003881 setarg  0x0000450e 
+ 00017598  0x00003882 store  0x00000002 , 0x000041fd 
+ 00017599  0x00003884 setarg  0x000044da 
+ 00017600  0x00003885 store  0x00000002 , 0x0000475b 
+ 00017601  0x00003887 setarg  0x000044d6 
+ 00017602  0x00003888 store  0x00000002 , 0x0000475f 
+ 00017603  0x0000388a setarg  0x00004560 
+ 00017604  0x0000388b store  0x00000002 , 0x0000470f 
+ 00017605  0x0000388d bpatch  0x000000f0 , 0x0000401e 
+ 00017606  0x0000388e call  0x000044e2 
+ 00017607  0x0000388f call  0x00007e38 
+ 00017608  0x00003890 jam  0x00000002 , 0x00004172 
+ 00017609  0x00003891 fetch  0x00000001 , 0x0000472b 
+ 00017610  0x00003892 store  0x00000001 , 0x0000469a 
+ 00017611  0x00003893 beq  0x00000000 , 0x000044d5 
+ 00017612  0x00003894 fetch  0x00000001 , 0x0000472c 
+ 00017613  0x00003895 store  0x00000001 , 0x00004686 
+ 00017614  0x00003897 call  0x000044db 
+ 00017615  0x00003898 call  0x00007cd3 
+ 00017616  0x00003899 call  0x00007cdd 
+ 00017617  0x0000389a jam  0x00000001 , 0x00004757 
+ 00017618  0x0000389b fetch  0x00000002 , 0x00004682 
+ 00017619  0x0000389c rtnbit1  0x0000000c 
+ 00017620  0x0000389d branch  0x0000340a 
+ 00017621  0x000038a2 jam  0x00000002 , 0x00004757 
+ 00017622  0x000038a4 call  0x000044db 
+ 00017623  0x000038a6 arg  0x00000000 , 0x00000011 
+ 00017624  0x000038a7 call  0x00007d1e 
+ 00017625  0x000038a9 branch  0x00002ee4 
+ 00017626  0x000038ac branch  0x000044db 
+ 00017627  0x000038af bpatch  0x000000f1 , 0x0000401e 
+ 00017628  0x000038b0 fetch  0x00000001 , 0x00004729 
+ 00017629  0x000038b1 bne  0x000000ff , 0x000044e0 
+ 00017630  0x000038b3 fetcht  0x00000001 , 0x00004706 
+ 00017631  0x000038b4 branch  0x0000680e 
+ 00017632  0x000038b6 store  0x00000001 , 0x00004706 
+ 00017633  0x000038b7 branch  0x000044de 
+ 00017634  0x000038bb call  0x00002c9d 
+ 00017635  0x000038bc fetch  0x00000002 , 0x00004753 
+ 00017636  0x000038bd store  0x00000002 , 0x00004755 
+ 00017637  0x000038be branch  0x00004515 
+ 00017638  0x000038c6 call  0x00006835 
+ 00017639  0x000038c7 call  0x000044e9 
+ 00017640  0x000038c8 branch  0x0000340a 
+ 00017641  0x000038cb branch  0x0000696c 
+ 00017642  0x000038ce fetch  0x00000001 , 0x00004765 
+ 00017643  0x000038cf rtn  0x00000034 
+ 00017644  0x000038d1 branch  0x00002d83 
+ 00017645  0x000038d4 rtn 
+ 00017646  0x000038d7 branch  0x00006978 
+ 00017647  0x000038da call  0x00004544 
+ 00017648  0x000038db call  0x00004503 
+ 00017649  0x000038dc branch  0x000044ee 
+ 00017650  0x000038df copy  0x00000013 , 0x0000003f 
+ 00017651  0x000038e0 beq  0x0000002d , 0x00003431 
+ 00017652  0x000038e1 beq  0x00000010 , 0x0000341a 
+ 00017653  0x000038e2 beq  0x00000039 , 0x000044fb 
+ 00017654  0x000038e3 beq  0x0000003c , 0x000044ff 
+ 00017655  0x000038e4 beq  0x0000003a , 0x000044f9 
+ 00017656  0x000038e5 rtn 
+ 00017657  0x000038e8 jam  0x00000001 , 0x00004765 
+ 00017658  0x000038e9 rtn 
+ 00017659  0x000038ec jam  0x00000001 , 0x00004765 
+ 00017660  0x000038ed jam  0x00000001 , 0x00004763 
+ 00017661  0x000038ee jam  0x00000001 , 0x00004764 
+ 00017662  0x000038ef rtn 
+ 00017663  0x000038f2 jam  0x00000001 , 0x00004765 
+ 00017664  0x000038f3 jam  0x00000001 , 0x00004763 
+ 00017665  0x000038f4 jam  0x00000001 , 0x00004764 
+ 00017666  0x000038f5 rtn 
+ 00017667  0x000038f8 fetch  0x00000001 , 0x00004763 
+ 00017668  0x000038f9 rtneq  0x00000000 
+ 00017669  0x000038fa fetch  0x00000001 , 0x00004762 
+ 00017670  0x000038fb rtneq  0x00000001 
+ 00017671  0x000038fc jam  0x00000001 , 0x00004762 
+ 00017672  0x000038fe arg  0x00000000 , 0x00000011 
+ 00017673  0x000038ff branch  0x00007d19 
+ 00017674  0x00003901 arg  0x00000000 , 0x00000011 
+ 00017675  0x00003902 call  0x00007d19 
+ 00017676  0x00003903 call  0x000044db 
+ 00017677  0x00003904 branch  0x0000340a 
+ 00017678  0x00003907 call  0x0000337b 
+ 00017679  0x00003908 branch  0x00004510 
+ 00017680  0x0000390b fetch  0x00000001 , 0x0000472d 
+ 00017681  0x0000390c rtn  0x00000034 
+ 00017682  0x0000390d arg  0x00004755 , 0x00000013 
+ 00017683  0x0000390e arg  0x0000450a , 0x00000012 
+ 00017684  0x0000390f branch  0x00003374 
+ 00017685  0x00003913 call  0x0000451a 
+ 00017686  0x00003914 storet  0x00000002 , 0x0000471a 
+ 00017687  0x00003915 call  0x0000451f 
+ 00017688  0x00003916 storet  0x00000002 , 0x0000471c 
+ 00017689  0x00003917 rtn 
+ 00017690  0x0000391a fetch  0x00000002 , 0x0000471a 
+ 00017691  0x0000391b store  0x00000002 , 0x0000471e 
+ 00017692  0x0000391c call  0x00004540 
+ 00017693  0x0000391d call  0x00004525 
+ 00017694  0x0000391e store  0x00000001 , 0x00004724 
+ 00017695  0x00003920 fetch  0x00000002 , 0x0000471c 
+ 00017696  0x00003921 store  0x00000002 , 0x0000471e 
+ 00017697  0x00003922 call  0x00004542 
+ 00017698  0x00003923 call  0x00004525 
+ 00017699  0x00003924 store  0x00000001 , 0x00004725 
+ 00017700  0x00003925 rtn 
+ 00017701  0x00003927 fetch  0x00000002 , 0x00004720 
+ 00017702  0x00003928 copy  0x0000003f , 0x00000011 
+ 00017703  0x00003929 fetch  0x00000002 , 0x0000471e 
+ 00017704  0x0000392a call  0x0000452e 
+ 00017705  0x0000392b fetch  0x00000001 , 0x00004719 
+ 00017706  0x0000392c nbranch  0x00004537 , 0x00000034 
+ 00017707  0x0000392d nrtn  0x00000002 
+ 00017708  0x0000392e fetcht  0x00000002 , 0x0000471e 
+ 00017709  0x0000392f rtn 
+ 00017710  0x00003931 isub  0x00000002 , 0x0000003f 
+ 00017711  0x00003932 branch  0x00004534 , 0x00000002 
+ 00017712  0x00003933 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00017713  0x00003934 jam  0x00000001 , 0x00004718 
+ 00017714  0x00003935 isub  0x00000011 , 0x0000003e 
+ 00017715  0x00003936 rtn 
+ 00017716  0x00003938 jam  0x00000000 , 0x00004718 
+ 00017717  0x00003939 isub  0x00000011 , 0x0000003e 
+ 00017718  0x0000393a rtn 
+ 00017719  0x0000393c nbranch  0x0000453e , 0x00000002 
+ 00017720  0x0000393d fetch  0x00000001 , 0x00004718 
+ 00017721  0x0000393e nbranch  0x0000453c , 0x00000034 
+ 00017722  0x00003940 setarg  0x00000001 
+ 00017723  0x00003941 rtn 
+ 00017724  0x00003943 setarg  0x00000002 
+ 00017725  0x00003944 rtn 
+ 00017726  0x00003946 setarg  0x00000000 
+ 00017727  0x00003947 rtn 
+ 00017728  0x00003949 jam  0x00000033 , 0x0000422e 
+ 00017729  0x0000394a branch  0x000068eb 
+ 00017730  0x0000394c jam  0x00000034 , 0x0000422e 
+ 00017731  0x0000394d branch  0x000068eb 
+ 00017732  0x00003951 fetch  0x00000001 , 0x0000472a 
+ 00017733  0x00003952 rtnne  0x00000001 
+ 00017734  0x00003954 bpatch  0x000000f2 , 0x0000401e 
+ 00017735  0x00003955 jam  0x00000001 , 0x00004719 
+ 00017736  0x00003956 call  0x0000451a 
+ 00017737  0x00003957 fetch  0x00000002 , 0x00004724 
+ 00017738  0x00003958 fetcht  0x00000002 , 0x00004722 
+ 00017739  0x00003959 isub  0x00000002 , 0x0000003e 
+ 00017740  0x0000395a rtn  0x00000005 
+ 00017741  0x0000395b store  0x00000002 , 0x00004722 
+ 00017742  0x0000395c call  0x00004550 
+ 00017743  0x0000395d branch  0x00004554 
+ 00017744  0x00003960 fetch  0x00000001 , 0x00004724 
+ 00017745  0x00003961 branch  0x0000455a , 0x00000034 
+ 00017746  0x00003962 increase  0xffffffff , 0x0000003f 
+ 00017747  0x00003963 branch  0x00004557 
+ 00017748  0x00003965 fetch  0x00000001 , 0x00004725 
+ 00017749  0x00003966 branch  0x0000455d , 0x00000034 
+ 00017750  0x00003967 increase  0x00000001 , 0x0000003f 
+ 00017751  0x00003969 copy  0x0000003f , 0x00000007 
+ 00017752  0x0000396a arg  0x00000001 , 0x00000011 
+ 00017753  0x0000396b branch  0x00004560 
+ 00017754  0x0000396e arg  0x00000000 , 0x00000007 
+ 00017755  0x0000396f arg  0x00000000 , 0x00000011 
+ 00017756  0x00003970 branch  0x00004560 
+ 00017757  0x00003972 arg  0x00000002 , 0x00000007 
+ 00017758  0x00003973 arg  0x00000000 , 0x00000011 
+ 00017759  0x00003974 branch  0x00004560 
+ 00017760  0x00003977 copy  0x00000011 , 0x0000003f 
+ 00017761  0x00003978 store  0x00000001 , 0x00004761 
+ 00017762  0x00003979 fetch  0x00000001 , 0x00004763 
+ 00017763  0x0000397a beq  0x00000000 , 0x00002ee4 
+ 00017764  0x0000397b fetch  0x00000002 , 0x00004753 
+ 00017765  0x0000397c store  0x00000002 , 0x00004755 
+ 00017766  0x0000397d fetch  0x00000001 , 0x00004761 
+ 00017767  0x0000397e branch  0x00004580 , 0x00000034 
+ 00017768  0x00003980 bpatch  0x000000f3 , 0x0000401e 
+ 00017769  0x00003981 arg  0x00000000 , 0x00000011 
+ 00017770  0x00003982 call  0x00007d14 
+ 00017771  0x00003984 copy  0x00000007 , 0x0000003f 
+ 00017772  0x00003985 beq  0x00000004 , 0x000045a3 
+ 00017773  0x00003986 beq  0x00000005 , 0x000045a5 
+ 00017774  0x00003987 beq  0x00000006 , 0x000045a7 
+ 00017775  0x0000398b call  0x0000458b 
+ 00017776  0x0000398c beq  0x00000000 , 0x00004574 
+ 00017777  0x0000398d beq  0x00000002 , 0x0000457a 
+ 00017778  0x0000398e beq  0x00000003 , 0x00004574 
+ 00017779  0x0000398f rtn 
+ 00017780  0x00003992 copy  0x00000007 , 0x0000003f 
+ 00017781  0x00003993 beq  0x00000000 , 0x0000458f 
+ 00017782  0x00003994 beq  0x00000001 , 0x00004591 
+ 00017783  0x00003995 beq  0x00000002 , 0x00004593 
+ 00017784  0x00003996 beq  0x00000003 , 0x00004595 
+ 00017785  0x00003997 rtn 
+ 00017786  0x0000399a copy  0x00000007 , 0x0000003f 
+ 00017787  0x0000399b beq  0x00000000 , 0x00004597 
+ 00017788  0x0000399c beq  0x00000001 , 0x0000459a 
+ 00017789  0x0000399d beq  0x00000002 , 0x0000459d 
+ 00017790  0x0000399e beq  0x00000003 , 0x000045a0 
+ 00017791  0x0000399f rtn 
+ 00017792  0x000039a2 bpatch  0x000000f4 , 0x0000401e 
+ 00017793  0x000039a3 arg  0x00000000 , 0x00000011 
+ 00017794  0x000039a4 call  0x00007d19 
+ 00017795  0x000039a6 copy  0x00000007 , 0x0000003f 
+ 00017796  0x000039a7 beq  0x00000004 , 0x000045bc 
+ 00017797  0x000039a8 beq  0x00000005 , 0x000045bc 
+ 00017798  0x000039ac call  0x0000458b 
+ 00017799  0x000039ad beq  0x00000000 , 0x000045a9 
+ 00017800  0x000039ae beq  0x00000002 , 0x000045af 
+ 00017801  0x000039af beq  0x00000003 , 0x000045a9 
+ 00017802  0x000039b0 rtn 
+ 00017803  0x000039b3 fetch  0x00000001 , 0x00004728 
+ 00017804  0x000039b4 fetcht  0x00000001 , 0x00004727 
+ 00017805  0x000039b5 ior  0x00000002 , 0x0000003f 
+ 00017806  0x000039b6 rtn 
+ 00017807  0x000039ba jam  0x00000001 , 0x00004734 
+ 00017808  0x000039bb branch  0x000045be 
+ 00017809  0x000039bd jam  0x00000002 , 0x00004734 
+ 00017810  0x000039be branch  0x000045be 
+ 00017811  0x000039c0 jam  0x00000001 , 0x00004736 
+ 00017812  0x000039c1 branch  0x000045be 
+ 00017813  0x000039c3 jam  0x00000002 , 0x00004736 
+ 00017814  0x000039c4 branch  0x000045be 
+ 00017815  0x000039c8 jam  0x00000001 , 0x00004734 
+ 00017816  0x000039c9 jam  0x00000001 , 0x00004736 
+ 00017817  0x000039ca branch  0x000045be 
+ 00017818  0x000039cc jam  0x00000002 , 0x00004734 
+ 00017819  0x000039cd jam  0x00000002 , 0x00004736 
+ 00017820  0x000039ce branch  0x000045be 
+ 00017821  0x000039d0 jam  0x00000002 , 0x00004734 
+ 00017822  0x000039d1 jam  0x00000001 , 0x00004736 
+ 00017823  0x000039d2 branch  0x000045be 
+ 00017824  0x000039d4 jam  0x00000001 , 0x00004734 
+ 00017825  0x000039d5 jam  0x00000002 , 0x00004736 
+ 00017826  0x000039d6 branch  0x000045be 
+ 00017827  0x000039da jam  0x00000001 , 0x00004738 
+ 00017828  0x000039db branch  0x000045be 
+ 00017829  0x000039dd jam  0x00000002 , 0x00004738 
+ 00017830  0x000039de branch  0x000045be 
+ 00017831  0x000039e1 jam  0x00000001 , 0x00004741 
+ 00017832  0x000039e2 branch  0x000045c0 
+ 00017833  0x000039e5 copy  0x00000007 , 0x0000003f 
+ 00017834  0x000039e6 beq  0x00000000 , 0x000045b5 
+ 00017835  0x000039e7 beq  0x00000001 , 0x000045b5 
+ 00017836  0x000039e8 beq  0x00000002 , 0x000045b7 
+ 00017837  0x000039e9 beq  0x00000003 , 0x000045b7 
+ 00017838  0x000039ea rtn 
+ 00017839  0x000039ed copy  0x00000007 , 0x0000003f 
+ 00017840  0x000039ee beq  0x00000000 , 0x000045b9 
+ 00017841  0x000039ef beq  0x00000001 , 0x000045b9 
+ 00017842  0x000039f0 beq  0x00000002 , 0x000045b9 
+ 00017843  0x000039f1 beq  0x00000003 , 0x000045b9 
+ 00017844  0x000039f2 rtn 
+ 00017845  0x000039f6 jam  0x00000000 , 0x00004734 
+ 00017846  0x000039f7 branch  0x000045be 
+ 00017847  0x000039fa jam  0x00000000 , 0x00004736 
+ 00017848  0x000039fb branch  0x000045be 
+ 00017849  0x00003a01 jam  0x00000000 , 0x00004734 
+ 00017850  0x00003a02 jam  0x00000000 , 0x00004736 
+ 00017851  0x00003a03 branch  0x000045be 
+ 00017852  0x00003a07 jam  0x00000000 , 0x00004738 
+ 00017853  0x00003a08 branch  0x000045be 
+ 00017854  0x00003a0b arg  0x0000472e , 0x00000011 
+ 00017855  0x00003a0c branch  0x00007e3d 
+ 00017856  0x00003a0e arg  0x0000473b , 0x00000011 
+ 00017857  0x00003a0f branch  0x00007e3d 
+ 00017858  0x00003a12 fetch  0x00000001 , 0x00004764 
+ 00017859  0x00003a13 beq  0x00000001 , 0x000045cc 
+ 00017860  0x00003a14 arg  0x00004744 , 0x00000011 
+ 00017861  0x00003a15 call  0x00007e54 
+ 00017862  0x00003a16 nbranch  0x000045d1 , 0x00000028 
+ 00017863  0x00003a18 arg  0x00004744 , 0x00000006 
+ 00017864  0x00003a19 ifetch  0x00000001 , 0x00000006 
+ 00017865  0x00003a1a copy  0x0000003f , 0x00000011 
+ 00017866  0x00003a1b arg  0x00004745 , 0x00000012 
+ 00017867  0x00003a1e rtn 
+ 00017868  0x00003a21 jam  0x00000000 , 0x00004764 
+ 00017869  0x00003a22 enable  0x00000028 
+ 00017870  0x00003a23 arg  0x00000001 , 0x00000011 
+ 00017871  0x00003a24 arg  0x00004766 , 0x00000012 
+ 00017872  0x00003a25 rtn 
+ 00017873  0x00003a28 fetch  0x00000001 , 0x00004747 
+ 00017874  0x00003a29 beq  0x00000004 , 0x000045d5 
+ 00017875  0x00003a2a beq  0x00000005 , 0x000045d5 
+ 00017876  0x00003a2b rtn 
+ 00017877  0x00003a2d fetch  0x00000001 , 0x0000474a 
+ 00017878  0x00003a2e nbranch  0x000045dc , 0x00000034 
+ 00017879  0x00003a2f fetch  0x00000001 , 0x0000474c 
+ 00017880  0x00003a30 nbranch  0x000045dc , 0x00000034 
+ 00017881  0x00003a31 fetch  0x00000001 , 0x0000474e 
+ 00017882  0x00003a32 nbranch  0x000045dc , 0x00000034 
+ 00017883  0x00003a33 rtn 
+ 00017884  0x00003a35 enable  0x00000028 
+ 00017885  0x00003a36 branch  0x000045c7 
+ 00017886  0x00003a3f rtn  0x0000002b 
+ 00017887  0x00003a40 hfetch  0x00000001 , 0x00008081 
+ 00017888  0x00003a41 and_into  0x000000fc , 0x0000003f 
+ 00017889  0x00003a42 hstore  0x00000001 , 0x00008081 
+ 00017890  0x00003a43 setarg  0x000046b4 
+ 00017891  0x00003a44 store  0x00000002 , 0x000041eb 
+ 00017892  0x00003a46 setarg  0x000046b3 
+ 00017893  0x00003a47 store  0x00000002 , 0x000041ed 
+ 00017894  0x00003a49 setarg  0x0000340a 
+ 00017895  0x00003a4a store  0x00000002 , 0x000041f7 
+ 00017896  0x00003a4c setarg  0x000046b1 
+ 00017897  0x00003a4d store  0x00000002 , 0x000041f3 
+ 00017898  0x00003a4f setarg  0x00004612 
+ 00017899  0x00003a50 store  0x00000002 , 0x000041f5 
+ 00017900  0x00003a52 setarg  0x0000460c 
+ 00017901  0x00003a53 store  0x00000002 , 0x000041e9 
+ 00017902  0x00003a55 setarg  0x0000476a 
+ 00017903  0x00003a56 store  0x00000002 , 0x000041f9 
+ 00017904  0x00003a58 setarg  0x00004686 
+ 00017905  0x00003a59 store  0x00000002 , 0x000041fd 
+ 00017906  0x00003a5b setarg  0x00004729 
+ 00017907  0x00003a5c store  0x00000002 , 0x000046e7 
+ 00017908  0x00003a5e setarg  0x00004806 
+ 00017909  0x00003a5f store  0x00000002 , 0x000046e2 
+ 00017910  0x00003a60 setarg  0x00004807 
+ 00017911  0x00003a61 store  0x00000002 , 0x000046e4 
+ 00017912  0x00003a63 call  0x000057a3 
+ 00017913  0x00003a64 call  0x000047da 
+ 00017914  0x00003a65 call  0x00004788 
+ 00017915  0x00003a66 call  0x0000476d 
+ 00017916  0x00003a67 call  0x00006948 
+ 00017917  0x00003a68 call  0x0000477a 
+ 00017918  0x00003a69 call  0x00007e38 
+ 00017919  0x00003a6a call  0x00007d08 
+ 00017920  0x00003a6b call  0x00004793 
+ 00017921  0x00003a6c call  0x000047c7 
+ 00017922  0x00003a6e bpatch  0x000000f5 , 0x0000401e 
+ 00017923  0x00003a6f call  0x0000464f 
+ 00017924  0x00003a70 fetch  0x00000001 , 0x000046dd 
+ 00017925  0x00003a71 beq  0x00000000 , 0x00004609 
+ 00017926  0x00003a72 fetch  0x00000001 , 0x000046de 
+ 00017927  0x00003a73 store  0x00000001 , 0x00004686 
+ 00017928  0x00003a74 branch  0x0000480e 
+ 00017929  0x00003a78 jam  0x000000ff , 0x00004686 
+ 00017930  0x00003a79 jam  0x00000001 , 0x000046df 
+ 00017931  0x00003a7a branch  0x000046d9 
+ 00017932  0x00003a7f fetch  0x00000001 , 0x000046df 
+ 00017933  0x00003a80 beq  0x00000002 , 0x000033d0 
+ 00017934  0x00003a81 call  0x0000527e 
+ 00017935  0x00003a82 fetch  0x00000001 , 0x00004256 
+ 00017936  0x00003a83 nbranch  0x000033d0 , 0x00000034 
+ 00017937  0x00003a84 branch  0x000033d2 
+ 00017938  0x00003a89 copy  0x00000013 , 0x0000003f 
+ 00017939  0x00003a8b beq  0x00000001 , 0x00004626 
+ 00017940  0x00003a8c beq  0x00000002 , 0x00004629 
+ 00017941  0x00003a8d beq  0x00000004 , 0x00004631 
+ 00017942  0x00003a8e beq  0x00000005 , 0x00004633 
+ 00017943  0x00003a8f beq  0x00000006 , 0x00004635 
+ 00017944  0x00003a90 beq  0x00000007 , 0x00004638 
+ 00017945  0x00003a91 beq  0x00000012 , 0x0000463c 
+ 00017946  0x00003a92 beq  0x00000013 , 0x00004644 
+ 00017947  0x00003a93 beq  0x00000027 , 0x00004645 
+ 00017948  0x00003a94 beq  0x0000002e , 0x00004648 
+ 00017949  0x00003a95 beq  0x0000003d , 0x00004649 
+ 00017950  0x00003a97 beq  0x00000014 , 0x00004658 
+ 00017951  0x00003a98 beq  0x00000015 , 0x0000465c 
+ 00017952  0x00003a99 beq  0x0000003f , 0x0000465f 
+ 00017953  0x00003a9a beq  0x00000040 , 0x00004665 
+ 00017954  0x00003a9c beq  0x00000010 , 0x0000466b 
+ 00017955  0x00003a9d beq  0x0000002c , 0x0000466c 
+ 00017956  0x00003a9e beq  0x0000002d , 0x00004677 
+ 00017957  0x00003a9f rtn 
+ 00017958  0x00003aa5 jam  0x00000000 , 0x000046ad 
+ 00017959  0x00003aa6 jam  0x00000000 , 0x000046ac 
+ 00017960  0x00003aa7 rtn 
+ 00017961  0x00003aab call  0x0000462b 
+ 00017962  0x00003aac branch  0x00004631 
+ 00017963  0x00003aaf jam  0x00000000 , 0x000041e2 
+ 00017964  0x00003ab0 jam  0x00000000 , 0x00004680 
+ 00017965  0x00003ab1 jam  0x00000000 , 0x00004205 
+ 00017966  0x00003ab2 jam  0x00000000 , 0x000046ac 
+ 00017967  0x00003ab3 jam  0x00000000 , 0x000046ad 
+ 00017968  0x00003ab4 branch  0x00007e38 
+ 00017969  0x00003ab8 call  0x000033a9 
+ 00017970  0x00003ab9 branch  0x000046c2 
+ 00017971  0x00003abd call  0x000046b6 
+ 00017972  0x00003abe branch  0x00003408 
+ 00017973  0x00003ac2 setarg  0x00000002 
+ 00017974  0x00003ac3 store  0x00000001 , 0x00004680 
+ 00017975  0x00003ac4 rtn 
+ 00017976  0x00003ac8 jam  0x00000000 , 0x000046ac 
+ 00017977  0x00003ac9 setarg  0x00000001 
+ 00017978  0x00003aca store  0x00000001 , 0x000046ad 
+ 00017979  0x00003acb rtn 
+ 00017980  0x00003acf fetch  0x00000001 , 0x000041e2 
+ 00017981  0x00003ad0 rtneq  0x00000001 
+ 00017982  0x00003ad1 jam  0x00000001 , 0x000041e2 
+ 00017983  0x00003ad2 call  0x00003416 
+ 00017984  0x00003ad3 call  0x00003414 
+ 00017985  0x00003ad4 call  0x000046b6 
+ 00017986  0x00003ad5 call  0x00003408 
+ 00017987  0x00003ad6 branch  0x0000340e 
+ 00017988  0x00003ada branch  0x00004631 
+ 00017989  0x00003ade setarg  0x00000005 
+ 00017990  0x00003adf store  0x00000001 , 0x000046ac 
+ 00017991  0x00003ae0 rtn 
+ 00017992  0x00003ae4 branch  0x000033cd 
+ 00017993  0x00003ae9 arg  0x00000000 , 0x00000012 
+ 00017994  0x00003aea fetch  0x00000001 , 0x00004217 
+ 00017995  0x00003aeb mul32  0x0000003f , 0x00000022 , 0x00000002 
+ 00017996  0x00003aec fetch  0x00000002 , 0x00004215 
+ 00017997  0x00003aed copy  0x0000003f , 0x00000011 
+ 00017998  0x00003aee branch  0x00006606 
+ 00017999  0x00003af1 arg  0x00000000 , 0x00000012 
+ 00018000  0x00003af2 fetch  0x00000001 , 0x0000469a 
+ 00018001  0x00003af3 rtnbit0  0x00000001 
+ 00018002  0x00003af4 fetch  0x00000001 , 0x00004217 
+ 00018003  0x00003af5 rtn  0x00000034 
+ 00018004  0x00003af6 mul32  0x0000003f , 0x00000022 , 0x00000002 
+ 00018005  0x00003af7 fetch  0x00000002 , 0x00004215 
+ 00018006  0x00003af8 copy  0x0000003f , 0x00000011 
+ 00018007  0x00003af9 branch  0x000065df 
+ 00018008  0x00003afe call  0x000046b6 
+ 00018009  0x00003aff setarg  0x00000000 
+ 00018010  0x00003b00 store  0x00000002 , 0x000046b7 
+ 00018011  0x00003b01 branch  0x00003408 
+ 00018012  0x00003b05 call  0x00007e38 
+ 00018013  0x00003b06 jam  0x00000000 , 0x000046b0 
+ 00018014  0x00003b07 branch  0x000046d9 
+ 00018015  0x00003b0b call  0x00007e38 
+ 00018016  0x00003b0c jam  0x00000001 , 0x000046b0 
+ 00018017  0x00003b0d fetch  0x00000008 , 0x000046c1 
+ 00018018  0x00003b0e store  0x00000008 , 0x00004496 
+ 00018019  0x00003b0f call  0x00003416 
+ 00018020  0x00003b10 branch  0x00005abf 
+ 00018021  0x00003b14 fetch  0x00000002 , 0x00004509 
+ 00018022  0x00003b15 rtneq  0x00000000 
+ 00018023  0x00003b16 fetch  0x00000008 , 0x000046c9 
+ 00018024  0x00003b17 rtn  0x00000034 
+ 00018025  0x00003b18 store  0x00000008 , 0x00004496 
+ 00018026  0x00003b19 branch  0x00005abf 
+ 00018027  0x00003b1e branch  0x0000481f 
+ 00018028  0x00003b21 fetch  0x00000001 , 0x000046dd 
+ 00018029  0x00003b22 rtneq  0x00000000 
+ 00018030  0x00003b23 fetch  0x00000001 , 0x000046df 
+ 00018031  0x00003b24 rtnne  0x00000001 
+ 00018032  0x00003b25 call  0x00004672 
+ 00018033  0x00003b26 branch  0x00003406 
+ 00018034  0x00003b29 jam  0x00000001 , 0x000048df 
+ 00018035  0x00003b2a arg  0x0000000b , 0x00000039 
+ 00018036  0x00003b2b arg  0x000048e0 , 0x00000005 
+ 00018037  0x00003b2c arg  0x000048c9 , 0x00000006 
+ 00018038  0x00003b2d branch  0x00007f01 
+ 00018039  0x00003b30 fetch  0x00000001 , 0x000046dd 
+ 00018040  0x00003b31 rtneq  0x00000000 
+ 00018041  0x00003b32 fetch  0x00000001 , 0x000046df 
+ 00018042  0x00003b33 beq  0x00000001 , 0x0000467c 
+ 00018043  0x00003b34 branch  0x0000481b 
+ 00018044  0x00003b37 fetch  0x00000001 , 0x000048df 
+ 00018045  0x00003b38 rtnne  0x00000001 
+ 00018046  0x00003b39 jam  0x00000000 , 0x000048df 
+ 00018047  0x00003b3a fetch  0x00000002 , 0x00004682 
+ 00018048  0x00003b3b bbit1  0x00000000 , 0x00003408 
+ 00018049  0x00003b3c bbit1  0x00000009 , 0x00003408 
+ 00018050  0x00003b3d arg  0x0000000b , 0x00000039 
+ 00018051  0x00003b3e arg  0x000048e0 , 0x00000006 
+ 00018052  0x00003b3f arg  0x000048c9 , 0x00000005 
+ 00018053  0x00003b40 branch  0x00007f01 
+ 00018054  0x00003b47 call  0x0000468c 
+ 00018055  0x00003b4a call  0x00004693 
+ 00018056  0x00003b4d call  0x0000469e 
+ 00018057  0x00003b4e call  0x000046a6 
+ 00018058  0x00003b4f call  0x000046a9 
+ 00018059  0x00003b52 branch  0x000046ac 
+ 00018060  0x00003b57 arg  0x000046db , 0x00000013 
+ 00018061  0x00003b58 arg  0x0000468f , 0x00000012 
+ 00018062  0x00003b59 branch  0x00003374 
+ 00018063  0x00003b5b jam  0x00000002 , 0x000046df 
+ 00018064  0x00003b5c call  0x00003408 
+ 00018065  0x00003b5d call  0x000046f4 
+ 00018066  0x00003b5e branch  0x0000480b 
+ 00018067  0x00003b62 arg  0x000048ec , 0x00000013 
+ 00018068  0x00003b63 arg  0x00004696 , 0x00000012 
+ 00018069  0x00003b64 branch  0x0000336d 
+ 00018070  0x00003b67 fetch  0x00000002 , 0x00004682 
+ 00018071  0x00003b68 bbit1  0x00000009 , 0x0000480b 
+ 00018072  0x00003b69 bbit1  0x00000000 , 0x0000480b 
+ 00018073  0x00003b6a fetch  0x00000001 , 0x000048c9 
+ 00018074  0x00003b6b beq  0x00000001 , 0x0000480b 
+ 00018075  0x00003b6c beq  0x00000004 , 0x0000480b 
+ 00018076  0x00003b6d beq  0x00000005 , 0x0000480b 
+ 00018077  0x00003b6e branch  0x0000340a 
+ 00018078  0x00003b73 arg  0x000046ac , 0x00000013 
+ 00018079  0x00003b74 arg  0x000046a1 , 0x00000012 
+ 00018080  0x00003b75 branch  0x0000336d 
+ 00018081  0x00003b78 fetch  0x00000001 , 0x0000027f 
+ 00018082  0x00003b79 set1  0x00000000 , 0x0000003f 
+ 00018083  0x00003b7a set1  0x00000007 , 0x0000003f 
+ 00018084  0x00003b7b store  0x00000001 , 0x0000027f 
+ 00018085  0x00003b7c rtn 
+ 00018086  0x00003b7f arg  0x00004680 , 0x00000013 
+ 00018087  0x00003b80 arg  0x0000463c , 0x00000012 
+ 00018088  0x00003b81 branch  0x0000336d 
+ 00018089  0x00003b84 arg  0x000046ad , 0x00000013 
+ 00018090  0x00003b85 arg  0x000033e9 , 0x00000012 
+ 00018091  0x00003b86 branch  0x0000336d 
+ 00018092  0x00003b8c fetch  0x00000001 , 0x000046df 
+ 00018093  0x00003b8d rtnne  0x00000001 
+ 00018094  0x00003b8e arg  0x000046b7 , 0x00000013 
+ 00018095  0x00003b8f arg  0x000046c2 , 0x00000012 
+ 00018096  0x00003b90 branch  0x00003374 
+ 00018097  0x00003b94 call  0x0000473a 
+ 00018098  0x00003b95 branch  0x00006978 
+ 00018099  0x00003b99 branch  0x0000696c 
+ 00018100  0x00003b9c call  0x00006835 
+ 00018101  0x00003b9d branch  0x000046b3 
+ 00018102  0x00003ba4 fetch  0x00000001 , 0x0000469a 
+ 00018103  0x00003ba5 bbit1  0x00000001 , 0x000046be 
+ 00018104  0x00003ba6 bbit1  0x00000000 , 0x000046ba 
+ 00018105  0x00003ba7 rtn 
+ 00018106  0x00003baa fetch  0x00000002 , 0x000046d7 
+ 00018107  0x00003bab store  0x00000002 , 0x000046d9 
+ 00018108  0x00003bac store  0x00000002 , 0x000046db 
+ 00018109  0x00003bad branch  0x000033f8 
+ 00018110  0x00003bb0 fetch  0x00000002 , 0x000046d3 
+ 00018111  0x00003bb1 store  0x00000002 , 0x000046d9 
+ 00018112  0x00003bb2 store  0x00000002 , 0x000046db 
+ 00018113  0x00003bb3 branch  0x000033f0 
+ 00018114  0x00003bb6 fetch  0x00000001 , 0x000046df 
+ 00018115  0x00003bb7 rtnne  0x00000001 
+ 00018116  0x00003bb8 fetch  0x00000001 , 0x0000469a 
+ 00018117  0x00003bb9 bbit1  0x00000001 , 0x000046c8 
+ 00018118  0x00003bba bbit1  0x00000000 , 0x000046cc 
+ 00018119  0x00003bbb rtn 
+ 00018120  0x00003bbe fetch  0x00000002 , 0x000046d1 ,
+ 00018121  0x00003bbf store  0x00000002 , 0x000046d9 
+ 00018122  0x00003bc0 store  0x00000002 , 0x000046db 
+ 00018123  0x00003bc1 branch  0x000033eb 
+ 00018124  0x00003bc4 fetch  0x00000002 , 0x00004682 
+ 00018125  0x00003bc5 rtnbit1  0x00000009 
+ 00018126  0x00003bc6 fetch  0x00000002 , 0x000046d5 
+ 00018127  0x00003bc7 store  0x00000002 , 0x000046d9 
+ 00018128  0x00003bc8 store  0x00000002 , 0x000046db 
+ 00018129  0x00003bc9 fetch  0x00000002 , 0x000046b3 
+ 00018130  0x00003bca call  0x000046f0 
+ 00018131  0x00003bcb call  0x00003404 
+ 00018132  0x00003bcc fetch  0x00000004 , 0x000046bd 
+ 00018133  0x00003bcd store  0x00000004 , 0x000048cc 
+ 00018134  0x00003bce fetch  0x00000002 , 0x00004682 
+ 00018135  0x00003bcf rtnbit1  0x0000000b 
+ 00018136  0x00003bd0 branch  0x000033fa 
+ 00018137  0x00003bd4 fetch  0x00000001 , 0x000046df 
+ 00018138  0x00003bd5 rtnne  0x00000001 
+ 00018139  0x00003bd6 fetch  0x00000001 , 0x0000469a 
+ 00018140  0x00003bd7 bbit1  0x00000001 , 0x000046df 
+ 00018141  0x00003bd8 bbit1  0x00000000 , 0x000046e4 
+ 00018142  0x00003bd9 rtn 
+ 00018143  0x00003bdc call  0x000046f8 
+ 00018144  0x00003bdd branch  0x000046c2 , 0x00000034 
+ 00018145  0x00003bde call  0x00003406 
+ 00018146  0x00003bdf call  0x000033f0 
+ 00018147  0x00003be0 branch  0x000033e1 
+ 00018148  0x00003be3 fetch  0x00000002 , 0x000046b7 
+ 00018149  0x00003be4 fetcht  0x00000002 , 0x000046b5 
+ 00018150  0x00003be5 storet  0x00000002 , 0x000046b7 
+ 00018151  0x00003be6 nrtn  0x00000034 
+ 00018152  0x00003be7 fetch  0x00000002 , 0x000046b1 
+ 00018153  0x00003be8 call  0x000046f0 
+ 00018154  0x00003be9 call  0x00003404 
+ 00018155  0x00003bea fetch  0x00000004 , 0x000046b9 
+ 00018156  0x00003beb store  0x00000004 , 0x000048cc 
+ 00018157  0x00003bec fetch  0x00000002 , 0x00004682 
+ 00018158  0x00003bed rtnbit1  0x0000000b 
+ 00018159  0x00003bee branch  0x000033fa 
+ 00018160  0x00003bf2 store  0x00000002 , 0x00004154 
+ 00018161  0x00003bf3 increase  0xfffffffc , 0x0000003f 
+ 00018162  0x00003bf4 store  0x00000002 , 0x00004482 
+ 00018163  0x00003bf5 rtn 
+ 00018164  0x00003bf9 fetch  0x00000002 , 0x00004682 
+ 00018165  0x00003bfa bbit1  0x00000009 , 0x00003402 
+ 00018166  0x00003bfb bbit1  0x00000000 , 0x000033e9 
+ 00018167  0x00003bfc branch  0x000046b6 
+ 00018168  0x00003c01 fetch  0x00000001 , 0x00004217 
+ 00018169  0x00003c02 copy  0x0000003f , 0x00000039 
+ 00018170  0x00003c03 fetch  0x00000002 , 0x00004215 
+ 00018171  0x00003c04 copy  0x0000003f , 0x00000011 
+ 00018172  0x00003c06 ifetch  0x00000002 , 0x00000011 
+ 00018173  0x00003c07 beq  0x00000000 , 0x00004701 
+ 00018174  0x00003c08 increase  0x00000022 , 0x00000011 
+ 00018175  0x00003c09 loop  0x000046fc 
+ 00018176  0x00003c0a branch  0x00007ff1 
+ 00018177  0x00003c0d ifetch  0x00000006 , 0x00000006 
+ 00018178  0x00003c0e store  0x00000006 , 0x000041d0 
+ 00018179  0x00003c0f increase  0x0000000a , 0x00000006 
+ 00018180  0x00003c10 arg  0x000041be , 0x00000005 
+ 00018181  0x00003c11 call  0x00007ebf 
+ 00018182  0x00003c12 call  0x000067d7 
+ 00018183  0x00003c13 branch  0x00007fef 
+ 00018184  0x00003c1a call  0x00007fe9 
+ 00018185  0x00003c1b fetch  0x00000002 , 0x00004682 
+ 00018186  0x00003c1c bbit1  0x00000000 , 0x0000470d 
+ 00018187  0x00003c1d bbit1  0x00000009 , 0x00004710 
+ 00018188  0x00003c1e rtn 
+ 00018189  0x00003c21 fetch  0x00000001 , 0x00004253 
+ 00018190  0x00003c22 rtnne  0x0000003f 
+ 00018191  0x00003c23 branch  0x00007fe7 
+ 00018192  0x00003c26 fetch  0x00000001 , 0x000046b0 
+ 00018193  0x00003c27 rtn  0x00000034 
+ 00018194  0x00003c28 branch  0x00007fe7 
+ 00018195  0x00003c2e call  0x00007fe9 
+ 00018196  0x00003c2f fetch  0x00000002 , 0x00004682 
+ 00018197  0x00003c30 rtnbit1  0x00000000 
+ 00018198  0x00003c31 rtnbit1  0x00000009 
+ 00018199  0x00003c32 branch  0x00007fe7 
+ 00018200  0x00003c37 fetch  0x00000001 , 0x0000469a 
+ 00018201  0x00003c38 bbit1  0x00000001 , 0x0000471c 
+ 00018202  0x00003c39 bbit1  0x00000000 , 0x0000471f 
+ 00018203  0x00003c3a rtn 
+ 00018204  0x00003c3d fetch  0x00000001 , 0x00004093 
+ 00018205  0x00003c3e rtnne  0x00000003 
+ 00018206  0x00003c3f branch  0x000046d9 
+ 00018207  0x00003c42 branch  0x000046d9 
+ 00018208  0x00003c46 disable  0x0000002c 
+ 00018209  0x00003c47 fetch  0x00000002 , 0x000046d9 
+ 00018210  0x00003c48 store  0x00000002 , 0x000046db 
+ 00018211  0x00003c4a call  0x00004713 
+ 00018212  0x00003c4b branch  0x00004718 , 0x00000028 
+ 00018213  0x00003c4d call  0x00004708 
+ 00018214  0x00003c4e nrtn  0x00000028 
+ 00018215  0x00003c4f enable  0x0000002c 
+ 00018216  0x00003c50 rtn 
+ 00018217  0x00003c55 call  0x00004720 
+ 00018218  0x00003c56 nrtn  0x0000002c 
+ 00018219  0x00003c57 deposit  0x00000011 
+ 00018220  0x00003c58 branch  0x00004730 , 0x00000034 
+ 00018221  0x00003c5a call  0x00003406 
+ 00018222  0x00003c5b arg  0x000046f1 , 0x00000013 
+ 00018223  0x00003c5c branch  0x00004732 
+ 00018224  0x00003c5f call  0x00003408 
+ 00018225  0x00003c60 arg  0x00004719 , 0x00000013 
+ 00018226  0x00003c63 arg  0x00000005 , 0x0000003f 
+ 00018227  0x00003c64 imul32  0x00000007 , 0x0000003f 
+ 00018228  0x00003c65 iadd  0x00000013 , 0x00000013 
+ 00018229  0x00003c69 ifetch  0x00000001 , 0x00000013 
+ 00018230  0x00003c6a rtn  0x00000034 
+ 00018231  0x00003c6b call  0x00004762 
+ 00018232  0x00003c6c increase  0x00000001 , 0x00000013 
+ 00018233  0x00003c6d branch  0x00004735 
+ 00018234  0x00003c71 fetch  0x00000002 , 0x00004682 
+ 00018235  0x00003c72 bbit1  0x00000009 , 0x0000473e 
+ 00018236  0x00003c73 bbit1  0x00000000 , 0x0000474e 
+ 00018237  0x00003c74 rtn 
+ 00018238  0x00003c77 call  0x00005892 
+ 00018239  0x00003c78 nrtn  0x00000034 
+ 00018240  0x00003c79 call  0x00004765 
+ 00018241  0x00003c7a nrtn  0x00000028 
+ 00018242  0x00003c7b pincrease  0xffffffff 
+ 00018243  0x00003c7c mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00018244  0x00003c7d arg  0x00004741 , 0x00000002 
+ 00018245  0x00003c7e iadd  0x00000002 , 0x00000006 
+ 00018246  0x00003c80 ifetch  0x00000001 , 0x00000006 
+ 00018247  0x00003c81 copy  0x0000003f , 0x00000011 
+ 00018248  0x00003c82 ifetcht  0x00000002 , 0x00000006 
+ 00018249  0x00003c83 call  0x00007ea5 
+ 00018250  0x00003c84 call  0x00005a64 
+ 00018251  0x00003c85 copy  0x00000011 , 0x00000039 
+ 00018252  0x00003c86 call  0x00007e9f 
+ 00018253  0x00003c87 branch  0x00007f01 
+ 00018254  0x00003c8b call  0x00005271 
+ 00018255  0x00003c8c nrtn  0x00000034 
+ 00018256  0x00003c8d call  0x00004765 
+ 00018257  0x00003c8e nrtn  0x00000028 
+ 00018258  0x00003c8f pincrease  0xffffffff 
+ 00018259  0x00003c90 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00018260  0x00003c91 arg  0x000047a0 , 0x00000002 
+ 00018261  0x00003c92 iadd  0x00000002 , 0x00000006 
+ 00018262  0x00003c93 ifetch  0x00000005 , 0x00000006 
+ 00018263  0x00003c94 store  0x00000005 , 0x0000479b 
+ 00018264  0x00003c96 fetch  0x00000001 , 0x0000479b 
+ 00018265  0x00003c97 copy  0x0000003f , 0x00000011 
+ 00018266  0x00003c98 call  0x00004d63 
+ 00018267  0x00003c99 fetch  0x00000002 , 0x0000424e 
+ 00018268  0x00003c9a istore  0x00000002 , 0x00000005 
+ 00018269  0x00003c9b setarg  0x000000a1 
+ 00018270  0x00003c9c istore  0x00000001 , 0x00000005 
+ 00018271  0x00003c9d fetch  0x00000004 , 0x0000479c 
+ 00018272  0x00003c9e istore  0x00000009 , 0x00000005 
+ 00018273  0x00003c9f rtn 
+ 00018274  0x00003ca4 store  0x00000001 , 0x00000a9a 
+ 00018275  0x00003ca5 arg  0x00000a9a , 0x00000011 
+ 00018276  0x00003ca6 branch  0x00007e3d 
+ 00018277  0x00003ca9 arg  0x00000a9a , 0x00000011 
+ 00018278  0x00003caa call  0x00007e54 
+ 00018279  0x00003cab nrtn  0x00000028 
+ 00018280  0x00003cac fetch  0x00000001 , 0x00000a9a 
+ 00018281  0x00003cad rtn 
+ 00018282  0x00003cb1 fetch  0x00000002 , 0x00000478 
+ 00018283  0x00003cb2 beq  0x00000018 , 0x0000465f 
+ 00018284  0x00003cb3 rtn 
+ 00018285  0x00003cb6 setarg  0x00000002 
+ 00018286  0x00003cb7 store  0x00000001 , 0x000048eb 
+ 00018287  0x00003cb9 setarg  0x00200008 
+ 00018288  0x00003cba store  0x00000004 , 0x000046c1 
+ 00018289  0x00003cbb setarg  0x012c0005 
+ 00018290  0x00003cbc istore  0x00000004 , 0x00000005 
+ 00018291  0x00003cbf jam  0x00000017 , 0x000044a6 
+ 00018292  0x00003cc2 setarg  0x0000001b 
+ 00018293  0x00003cc3 store  0x00000002 , 0x000044fa 
+ 00018294  0x00003cc4 call  0x00005810 
+ 00018295  0x00003cc5 call  0x0000582c 
+ 00018296  0x00003cc6 call  0x00005839 
+ 00018297  0x00003cc7 branch  0x00005818 
+ 00018298  0x00003ccc arg  0x00000028 , 0x00000039 
+ 00018299  0x00003ccd arg  0x00004741 , 0x00000005 
+ 00018300  0x00003cce arg  0x0000949f , 0x00000006 
+ 00018301  0x00003ccf call  0x00007ef4 
+ 00018302  0x00003cd0 arg  0x00000028 , 0x00000039 
+ 00018303  0x00003cd1 arg  0x000047a0 , 0x00000005 
+ 00018304  0x00003cd2 arg  0x000094c7 , 0x00000006 
+ 00018305  0x00003cd3 branch  0x00007ef4 
+ 00018306  0x00003cd7 arg  0x0000017e , 0x00000039 
+ 00018307  0x00003cd8 arg  0x0000913a , 0x00000006 
+ 00018308  0x00003cd9 branch  0x00007ef4 
+ 00018309  0x00003cdd arg  0x000001e7 , 0x00000039 
+ 00018310  0x00003cde arg  0x000092b8 , 0x00000006 
+ 00018311  0x00003cdf branch  0x00007ef4 
+ 00018312  0x00003ce4 call  0x000047ae 
+ 00018313  0x00003ce5 nrtn  0x00000028 
+ 00018314  0x00003ce6 fetch  0x00000001 , 0x0000469f 
+ 00018315  0x00003ce7 call  0x00004790 
+ 00018316  0x00003ce8 fetch  0x00000001 , 0x000046a0 
+ 00018317  0x00003ce9 call  0x00004790 
+ 00018318  0x00003cea fetch  0x00000001 , 0x000046a1 
+ 00018319  0x00003ceb branch  0x00004790 
+ 00018320  0x00003cee rtn  0x00000034 
+ 00018321  0x00003cef or  0x0000003f , 0x00000080 , 0x00000002 
+ 00018322  0x00003cf0 branch  0x000067f9 
+ 00018323  0x00003cf4 call  0x000047ae 
+ 00018324  0x00003cf5 nrtn  0x00000028 
+ 00018325  0x00003cf6 call  0x00004797 
+ 00018326  0x00003cf7 branch  0x000047b4 
+ 00018327  0x00003cfa arg  0x00000000 , 0x00000011 
+ 00018328  0x00003cfb fetch  0x00000001 , 0x0000469f 
+ 00018329  0x00003cfc call  0x000047a9 
+ 00018330  0x00003cfd nsetflag  0x00000034 , 0x00000000 , 0x00000011 
+ 00018331  0x00003cfe fetch  0x00000001 , 0x000046a0 
+ 00018332  0x00003cff call  0x000047a9 
+ 00018333  0x00003d00 nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00018334  0x00003d01 fetch  0x00000001 , 0x000046a1 
+ 00018335  0x00003d02 call  0x000047a9 
+ 00018336  0x00003d03 nsetflag  0x00000034 , 0x00000002 , 0x00000011 
+ 00018337  0x00003d04 copy  0x00000011 , 0x0000003f 
+ 00018338  0x00003d05 store  0x00000001 , 0x000046a9 
+ 00018339  0x00003d06 fetch  0x00000001 , 0x0000469e 
+ 00018340  0x00003d07 imul32  0x00000011 , 0x0000003f 
+ 00018341  0x00003d08 fetcht  0x00000002 , 0x0000469c 
+ 00018342  0x00003d09 iadd  0x00000002 , 0x0000003f 
+ 00018343  0x00003d0a store  0x00000002 , 0x000046aa 
+ 00018344  0x00003d0b rtn 
+ 00018345  0x00003d0e rtn  0x00000034 
+ 00018346  0x00003d0f or  0x0000003f , 0x00000080 , 0x00000002 
+ 00018347  0x00003d10 call  0x0000681d 
+ 00018348  0x00003d11 nbranch  0x00007ff1 , 0x00000001 
+ 00018349  0x00003d12 branch  0x00007fef 
+ 00018350  0x00003d16 call  0x00007fe9 
+ 00018351  0x00003d17 fetch  0x00000001 , 0x000046a8 
+ 00018352  0x00003d18 nrtn  0x00000034 
+ 00018353  0x00003d19 fetch  0x00000001 , 0x0000469b 
+ 00018354  0x00003d1a rtn  0x00000034 
+ 00018355  0x00003d1b branch  0x00007fe7 
+ 00018356  0x00003d1f call  0x0000666a 
+ 00018357  0x00003d20 fetch  0x00000002 , 0x000046aa 
+ 00018358  0x00003d21 arg  0x00000ac2 , 0x00000011 
+ 00018359  0x00003d22 fetcht  0x00000001 , 0x0000469e 
+ 00018360  0x00003d23 call  0x000066b3 
+ 00018361  0x00003d24 call  0x0000666d 
+ 00018362  0x00003d26 fetch  0x00000001 , 0x00000ac2 
+ 00018363  0x00003d27 copy  0x0000003f , 0x00000039 
+ 00018364  0x00003d28 store  0x00000001 , 0x000043af 
+ 00018365  0x00003d29 call  0x00007ef4 
+ 00018366  0x00003d2a fetch  0x00000001 , 0x00000ac2 
+ 00018367  0x00003d2b copy  0x0000003f , 0x00000039 
+ 00018368  0x00003d2c store  0x00000001 , 0x00004515 
+ 00018369  0x00003d2d call  0x00007ef4 
+ 00018370  0x00003d2e ifetch  0x00000001 , 0x00000006 
+ 00018371  0x00003d2f store  0x00000001 , 0x000046e6 
+ 00018372  0x00003d30 ifetch  0x00000001 , 0x00000006 
+ 00018373  0x00003d31 store  0x00000001 , 0x000046dd 
+ 00018374  0x00003d32 rtn 
+ 00018375  0x00003d36 fetch  0x00000001 , 0x0000469a 
+ 00018376  0x00003d37 rtnbit0  0x00000001 
+ 00018377  0x00003d38 arg  0x00000003 , 0x00000002 
+ 00018378  0x00003d39 fetch  0x00000002 , 0x000046a4 
+ 00018379  0x00003d3a copy  0x0000003f , 0x00000012 
+ 00018380  0x00003d3b arg  0x000046a6 , 0x00000011 
+ 00018381  0x00003d3c call  0x000065df 
+ 00018382  0x00003d3d fetcht  0x00000002 , 0x000046a6 
+ 00018383  0x00003d3e setarg  0x00001b3a 
+ 00018384  0x00003d3f isub  0x00000002 , 0x0000003e 
+ 00018385  0x00003d40 nrtn  0x00000005 
+ 00018386  0x00003d41 fetch  0x00000001 , 0x000046a8 
+ 00018387  0x00003d42 rtn  0x00000034 
+ 00018388  0x00003d43 copy  0x0000003f , 0x00000002 
+ 00018389  0x00003d44 fetch  0x00000002 , 0x000046a4 
+ 00018390  0x00003d45 add  0x0000003f , 0x00000003 , 0x00000012 
+ 00018391  0x00003d46 arg  0x00000ac2 , 0x00000011 
+ 00018392  0x00003d47 call  0x000065df 
+ 00018393  0x00003d48 branch  0x000047e8 
+ 00018394  0x00003d4b fetch  0x00000002 , 0x000046a2 
+ 00018395  0x00003d4c rtn  0x00000034 
+ 00018396  0x00003d4d call  0x0000666a 
+ 00018397  0x00003d4e arg  0x00000001 , 0x00000002 
+ 00018398  0x00003d4f arg  0x000046a8 , 0x00000011 
+ 00018399  0x00003d50 call  0x000066b3 
+ 00018400  0x00003d52 fetch  0x00000001 , 0x000046a8 
+ 00018401  0x00003d53 rtn  0x00000034 
+ 00018402  0x00003d55 fetch  0x00000002 , 0x000046a2 
+ 00018403  0x00003d56 pincrease  0x00000001 
+ 00018404  0x00003d57 arg  0x00000ac2 , 0x00000011 
+ 00018405  0x00003d58 fetcht  0x00000001 , 0x000046a8 
+ 00018406  0x00003d59 call  0x000066b3 
+ 00018407  0x00003d5a call  0x0000666d 
+ 00018408  0x00003d5c call  0x000047ba 
+ 00018409  0x00003d5e ifetch  0x00000002 , 0x00000006 
+ 00018410  0x00003d5f rtn  0x00000034 
+ 00018411  0x00003d60 copy  0x0000003f , 0x00000005 
+ 00018412  0x00003d61 ifetcht  0x00000001 , 0x00000006 
+ 00018413  0x00003d62 copy  0x00000002 , 0x00000039 
+ 00018414  0x00003d63 call  0x00007f01 
+ 00018415  0x00003d64 branch  0x000047e9 
+ 00018416  0x00003d69 fetch  0x00000001 , 0x0000469a 
+ 00018417  0x00003d6a rtnbit0  0x00000001 
+ 00018418  0x00003d6b fetch  0x00000002 , 0x000046ae 
+ 00018419  0x00003d6c copy  0x0000003f , 0x00000012 
+ 00018420  0x00003d6d arg  0x00000004 , 0x00000002 
+ 00018421  0x00003d6e arg  0x00000ac2 , 0x00000011 
+ 00018422  0x00003d6f call  0x000065df 
+ 00018423  0x00003d70 fetch  0x00000001 , 0x00000ac2 
+ 00018424  0x00003d71 bne  0x00000001 , 0x000047f9 
+ 00018425  0x00003d73 setarg  0x00000001 
+ 00018426  0x00003d74 store  0x00000001 , 0x00000ac2 
+ 00018427  0x00003d75 force  0x00000003 , 0x00000039 
+ 00018428  0x00003d76 call  0x0000630d 
+ 00018429  0x00003d77 fetch  0x00000002 , 0x000046ae 
+ 00018430  0x00003d78 copy  0x0000003f , 0x00000012 
+ 00018431  0x00003d79 arg  0x00000004 , 0x00000002 
+ 00018432  0x00003d7a arg  0x00000ac2 , 0x00000011 
+ 00018433  0x00003d7b call  0x00006606 
+ 00018434  0x00003d7d fetch  0x00000003 , 0x00000ac3 
+ 00018435  0x00003d7e store  0x00000003 , 0x000040a0 
+ 00018436  0x00003d7f store  0x00000003 , 0x000044a0 
+ 00018437  0x00003d80 rtn 
+ 00018438  0x00003d84 branch  0x000046d9 
+ 00018439  0x00003d88 arg  0x00000000 , 0x00000011 
+ 00018440  0x00003d89 arg  0x000048d4 , 0x00000013 
+ 00018441  0x00003d8a call  0x00007d24 
+ 00018442  0x00003d8b call  0x000046f4 
+ 00018443  0x00003d8d fetch  0x00000001 , 0x000048eb 
+ 00018444  0x00003d8e store  0x00000001 , 0x000048ec 
+ 00018445  0x00003d8f rtn 
+ 00018446  0x00003d94 setarg  0x00000000 
+ 00018447  0x00003d95 call  0x00004816 
+ 00018448  0x00003d96 jam  0x00000001 , 0x00004679 
+ 00018449  0x00003d97 call  0x00007cd3 
+ 00018450  0x00003d98 call  0x00007cdd 
+ 00018451  0x00003d99 fetch  0x00000002 , 0x00004682 
+ 00018452  0x00003d9a rtnbit1  0x0000000c 
+ 00018453  0x00003d9b branch  0x0000340a 
+ 00018454  0x00003d9e fetcht  0x00000002 , 0x0000423f 
+ 00018455  0x00003d9f istore  0x00000001 , 0x00000002 
+ 00018456  0x00003da0 ifetch  0x00000001 , 0x00000005 
+ 00018457  0x00003da1 store  0x00000001 , 0x00004685 
+ 00018458  0x00003da2 rtn 
+ 00018459  0x00003da6 fetch  0x00000002 , 0x0000423f 
+ 00018460  0x00003da7 ifetch  0x00000001 , 0x0000003f 
+ 00018461  0x00003da8 rtnne  0x00000000 
+ 00018462  0x00003da9 branch  0x0000340a 
+ 00018463  0x00003dad fetcht  0x00000002 , 0x0000423f 
+ 00018464  0x00003dae ifetch  0x00000001 , 0x00000002 
+ 00018465  0x00003daf beq  0x00000001 , 0x0000482a 
+ 00018466  0x00003db1 setarg  0x00000001 
+ 00018467  0x00003db2 fetcht  0x00000002 , 0x0000423f 
+ 00018468  0x00003db3 istore  0x00000001 , 0x00000002 
+ 00018469  0x00003db4 add  0x00000002 , 0x00000002 , 0x00000006 
+ 00018470  0x00003db5 ifetch  0x00000001 , 0x00000006 
+ 00018471  0x00003db6 istore  0x00000001 , 0x00004685 
+ 00018472  0x00003db7 ifetch  0x00000002 , 0x00000006 
+ 00018473  0x00003db8 branch  0x00007f9c 
+ 00018474  0x00003dbb setarg  0x00000002 
+ 00018475  0x00003dbc call  0x00004816 
+ 00018476  0x00003dbd add  0x00000002 , 0x00000005 , 0x00000006 
+ 00018477  0x00003dbe ifetch  0x00000002 , 0x00000006 
+ 00018478  0x00003dbf branch  0x0000340a , 0x00000034 
+ 00018479  0x00003dc0 branch  0x00007f9c 
+ 00018480  0x00003dc7 store  0x00000006 , 0x00000101 
+ 00018481  0x00003dc8 fetch  0x00000001 , 0x00000101 
+ 00018482  0x00003dc9 store  0x00000001 , 0x0000010c 
+ 00018483  0x00003dca ifetch  0x00000001 , 0x00000006 
+ 00018484  0x00003dcb store  0x00000001 , 0x0000010b 
+ 00018485  0x00003dcc ifetch  0x00000001 , 0x00000006 
+ 00018486  0x00003dcd store  0x00000001 , 0x0000010a 
+ 00018487  0x00003dce ifetch  0x00000001 , 0x00000006 
+ 00018488  0x00003dcf store  0x00000001 , 0x00000109 
+ 00018489  0x00003dd0 ifetch  0x00000001 , 0x00000006 
+ 00018490  0x00003dd1 store  0x00000001 , 0x00000108 
+ 00018491  0x00003dd2 ifetch  0x00000001 , 0x00000006 
+ 00018492  0x00003dd3 store  0x00000001 , 0x00000107 
+ 00018493  0x00003dd4 fetch  0x00000006 , 0x00000107 
+ 00018494  0x00003dd5 rtn 
+ 00018495  0x00003dd8 call  0x000068a2 
+ 00018496  0x00003dd9 fetch  0x00000001 , 0x00004223 
+ 00018497  0x00003dda store  0x00000001 , 0x000044a0 
+ 00018498  0x00003ddb fetch  0x00000001 , 0x00004225 
+ 00018499  0x00003ddc istore  0x00000001 , 0x00000005 
+ 00018500  0x00003ddd fetch  0x00000001 , 0x00004227 
+ 00018501  0x00003dde istore  0x00000001 , 0x00000005 
+ 00018502  0x00003ddf fetch  0x00000003 , 0x000044a0 
+ 00018503  0x00003de0 store  0x00000003 , 0x000040a0 
+ 00018504  0x00003de1 rtn 
+ 00018505  0x00003dee fetch  0x00000002 , 0x00004203 
+ 00018506  0x00003def iadd  0x00000012 , 0x0000003f 
+ 00018507  0x00003df0 byteswap  0x0000003f , 0x0000003f 
+ 00018508  0x00003df1 store  0x00000002 , 0x000001f7 
+ 00018509  0x00003df2 copy  0x00000002 , 0x00000012 
+ 00018510  0x00003df4 call  0x0000489b 
+ 00018511  0x00003df5 setarg  0x000000a0 
+ 00018512  0x00003df6 call  0x0000488d 
+ 00018513  0x00003df7 fetch  0x00000001 , 0x000001f7 
+ 00018514  0x00003df8 call  0x0000488d 
+ 00018515  0x00003df9 bmark1  0x00000028 , 0x00004856 
+ 00018516  0x00003dfa fetch  0x00000001 , 0x000001f8 
+ 00018517  0x00003dfb call  0x0000488d 
+ 00018518  0x00003dfd call  0x000048a1 
+ 00018519  0x00003dff call  0x0000489b 
+ 00018520  0x00003e00 setarg  0x000000a1 
+ 00018521  0x00003e01 call  0x0000488d 
+ 00018522  0x00003e04 call  0x0000487f 
+ 00018523  0x00003e05 istore  0x00000001 , 0x00000011 
+ 00018524  0x00003e06 increase  0x00000001 , 0x00000011 
+ 00018525  0x00003e07 increase  0xffffffff , 0x00000012 
+ 00018526  0x00003e08 nbranch  0x0000485a , 0x00000005 
+ 00018527  0x00003e09 branch  0x000048a1 
+ 00018528  0x00003e15 byteswap  0x00000012 , 0x0000003f 
+ 00018529  0x00003e16 store  0x00000002 , 0x000001f7 
+ 00018530  0x00003e17 copy  0x00000002 , 0x00000012 
+ 00018531  0x00003e19 call  0x0000489b 
+ 00018532  0x00003e1a setarg  0x000000a0 
+ 00018533  0x00003e1b call  0x0000488d 
+ 00018534  0x00003e1d fetch  0x00000001 , 0x000001f7 
+ 00018535  0x00003e1e call  0x0000488d 
+ 00018536  0x00003e1f bmark1  0x00000028 , 0x0000486b 
+ 00018537  0x00003e20 fetch  0x00000001 , 0x000001f8 
+ 00018538  0x00003e21 call  0x0000488d 
+ 00018539  0x00003e23 ifetch  0x00000001 , 0x00000011 
+ 00018540  0x00003e24 call  0x0000488d 
+ 00018541  0x00003e25 increase  0x00000001 , 0x00000011 
+ 00018542  0x00003e26 increase  0xffffffff , 0x00000012 
+ 00018543  0x00003e27 nbranch  0x0000486b , 0x00000005 
+ 00018544  0x00003e28 branch  0x000048a1 
+ 00018545  0x00003e2d arg  0x0000000a , 0x00000039 
+ 00018546  0x00003e2e call  0x000048be 
+ 00018547  0x00003e2f call  0x000048a6 
+ 00018548  0x00003e30 call  0x000048d2 
+ 00018549  0x00003e32 call  0x000048c7 
+ 00018550  0x00003e33 branch  0x000048a9 , 0x00000034 
+ 00018551  0x00003e34 loop  0x00004875 
+ 00018552  0x00003e35 branch  0x000048a9 
+ 00018553  0x00003e3a call  0x000048a9 
+ 00018554  0x00003e3b call  0x000048af 
+ 00018555  0x00003e3c call  0x000048d2 
+ 00018556  0x00003e3d call  0x000048a6 
+ 00018557  0x00003e3e call  0x000048d2 
+ 00018558  0x00003e3f branch  0x000048a9 
+ 00018559  0x00003e45 arg  0x00000008 , 0x00000039 
+ 00018560  0x00003e46 arg  0x00000000 , 0x00000013 
+ 00018561  0x00003e47 call  0x000048be 
+ 00018562  0x00003e49 call  0x000048a6 
+ 00018563  0x00003e4a call  0x000048d2 
+ 00018564  0x00003e4b lshift  0x00000013 , 0x00000013 
+ 00018565  0x00003e4c call  0x000048c7 
+ 00018566  0x00003e4d iadd  0x00000013 , 0x00000013 
+ 00018567  0x00003e4e call  0x000048d2 
+ 00018568  0x00003e4f call  0x000048a9 
+ 00018569  0x00003e50 loop  0x00004882 
+ 00018570  0x00003e51 call  0x00004879 
+ 00018571  0x00003e52 copy  0x00000013 , 0x0000003f 
+ 00018572  0x00003e53 rtn 
+ 00018573  0x00003e58 arg  0x00000008 , 0x00000039 
+ 00018574  0x00003e59 copy  0x0000003f , 0x00000013 
+ 00018575  0x00003e5a call  0x000048a9 
+ 00018576  0x00003e5c isolate1  0x00000007 , 0x00000013 
+ 00018577  0x00003e5d call  0x000048ac , 0x00000001 
+ 00018578  0x00003e5e ncall  0x000048af , 0x00000001 
+ 00018579  0x00003e5f lshift  0x00000013 , 0x00000013 
+ 00018580  0x00003e60 call  0x000048d2 
+ 00018581  0x00003e61 call  0x000048a6 
+ 00018582  0x00003e62 call  0x000048d2 
+ 00018583  0x00003e63 call  0x000048a9 
+ 00018584  0x00003e64 call  0x000048d2 
+ 00018585  0x00003e65 loop  0x00004890 
+ 00018586  0x00003e66 branch  0x00004871 
+ 00018587  0x00003e6b call  0x000048ac 
+ 00018588  0x00003e6c call  0x000048a6 
+ 00018589  0x00003e6d call  0x000048d2 
+ 00018590  0x00003e6e call  0x000048af 
+ 00018591  0x00003e6f call  0x000048d2 
+ 00018592  0x00003e70 branch  0x000048a9 
+ 00018593  0x00003e75 call  0x000048af 
+ 00018594  0x00003e76 call  0x000048a6 
+ 00018595  0x00003e77 call  0x000048d2 
+ 00018596  0x00003e78 call  0x000048ac 
+ 00018597  0x00003e79 branch  0x000048d2 
+ 00018598  0x00003e7e enable  0x00000028 
+ 00018599  0x00003e7f fetch  0x00000001 , 0x00004ffe 
+ 00018600  0x00003e80 branch  0x000048b2 
+ 00018601  0x00003e84 disable  0x00000028 
+ 00018602  0x00003e85 fetch  0x00000001 , 0x00004ffe 
+ 00018603  0x00003e86 branch  0x000048b2 
+ 00018604  0x00003e8a enable  0x00000028 
+ 00018605  0x00003e8b fetch  0x00000001 , 0x00004fff 
+ 00018606  0x00003e8c branch  0x000048b2 
+ 00018607  0x00003e90 disable  0x00000028 
+ 00018608  0x00003e91 fetch  0x00000001 , 0x00004fff 
+ 00018609  0x00003e92 branch  0x000048b2 
+ 00018610  0x00003e98 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018611  0x00003e99 rshift3  0x0000003f , 0x0000003f 
+ 00018612  0x00003e9a arg  0x00008070 , 0x00000002 
+ 00018613  0x00003e9b iadd  0x00000002 , 0x00000002 
+ 00018614  0x00003e9c ifetch  0x00000001 , 0x00000002 
+ 00018615  0x00003e9d qset1  0x0000003f 
+ 00018616  0x00003e9e istore  0x00000001 , 0x00000002 
+ 00018617  0x00003e9f increase  0x00000004 , 0x00000002 
+ 00018618  0x00003ea0 ifetch  0x00000001 , 0x00000002 
+ 00018619  0x00003ea1 qsetflag  0x00000028 , 0x0000003f 
+ 00018620  0x00003ea2 istore  0x00000001 , 0x00000002 
+ 00018621  0x00003ea3 rtn 
+ 00018622  0x00003ea7 fetch  0x00000001 , 0x00004fff 
+ 00018623  0x00003ea8 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018624  0x00003ea9 rshift3  0x0000003f , 0x0000003f 
+ 00018625  0x00003eaa arg  0x00008070 , 0x00000002 
+ 00018626  0x00003eab iadd  0x00000002 , 0x00000002 
+ 00018627  0x00003eac ifetch  0x00000001 , 0x00000002 
+ 00018628  0x00003ead qset0  0x0000003f 
+ 00018629  0x00003eae istore  0x00000001 , 0x00000002 
+ 00018630  0x00003eaf rtn 
+ 00018631  0x00003eb5 nop  0x00000004 
+ 00018632  0x00003eb6 fetch  0x00000001 , 0x00004fff 
+ 00018633  0x00003eb7 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018634  0x00003eb8 rshift3  0x0000003f , 0x0000003f 
+ 00018635  0x00003eb9 arg  0x0000811c , 0x00000002 
+ 00018636  0x00003eba iadd  0x00000002 , 0x00000002 
+ 00018637  0x00003ebb setarg  0x00000000 
+ 00018638  0x00003ebc ifetcht  0x00000001 , 0x00000002 
+ 00018639  0x00003ebd qisolate1  0x00000002 
+ 00018640  0x00003ebe setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00018641  0x00003ebf rtn 
+ 00018642  0x00003ec4 rtn 
+ 00018643  0x00003ecb bpatch  0x000000f6 , 0x0000401e 
+ 00018644  0x00003ecc hfetch  0x00000001 , 0x00008a26 
+ 00018645  0x00003ecd isolate1  0x00000007 , 0x0000003f 
+ 00018646  0x00003ece call  0x000048ea , 0x00000001 
+ 00018647  0x00003ecf call  0x0000492e 
+ 00018648  0x00003ed0 hfetch  0x00000001 , 0x00008a26 
+ 00018649  0x00003ed1 store  0x00000001 , 0x00000b22 
+ 00018650  0x00003ed2 hfetch  0x00000001 , 0x00008a27 
+ 00018651  0x00003ed3 store  0x00000001 , 0x00000b23 
+ 00018652  0x00003ed4 hstore  0x00000001 , 0x00008a27 
+ 00018653  0x00003ed5 pinvert 
+ 00018654  0x00003ed6 fetcht  0x00000001 , 0x00000d37 
+ 00018655  0x00003ed7 iand  0x00000002 , 0x0000003f 
+ 00018656  0x00003ed8 store  0x00000001 , 0x00000d37 
+ 00018657  0x00003ed9 hjam  0x000000e0 , 0x00008a26 
+ 00018658  0x00003eda fetch  0x00000001 , 0x00000b23 
+ 00018659  0x00003edb compare  0x00000001 , 0x0000003f , 0x00000001 
+ 00018660  0x00003edc call  0x00004941 , 0x00000001 
+ 00018661  0x00003edd fetch  0x00000001 , 0x00000b22 
+ 00018662  0x00003ede compare  0x00000001 , 0x0000003f , 0x00000001 
+ 00018663  0x00003edf call  0x0000494a , 0x00000001 
+ 00018664  0x00003ee0 call  0x00004b61 
+ 00018665  0x00003ee1 branch  0x00004903 
+ 00018666  0x00003ee4 bpatch  0x000000f7 , 0x0000401e 
+ 00018667  0x00003ee5 call  0x00004919 
+ 00018668  0x00003ee6 hjam  0x00000000 , 0x00008a00 
+ 00018669  0x00003ee7 nop  0x00002710 
+ 00018670  0x00003ee8 hjam  0x000000c0 , 0x00008a10 
+ 00018671  0x00003ee9 hfetch  0x00000002 , 0x00008050 
+ 00018672  0x00003eea set0  0x0000000a , 0x0000003f 
+ 00018673  0x00003eeb hstore  0x00000002 , 0x00008050 
+ 00018674  0x00003eec hjam  0x0000003c , 0x00008a00 
+ 00018675  0x00003eed hjam  0x000000ff , 0x00008a26 
+ 00018676  0x00003eee hjam  0x000000ff , 0x00008a27 
+ 00018677  0x00003eef hjam  0x00000000 , 0x00008a04 
+ 00018678  0x00003ef0 jam  0x00000002 , 0x00000c6b 
+ 00018679  0x00003ef1 setarg  0x00000d9d 
+ 00018680  0x00003ef2 arg  0x00000c6e , 0x00000005 
+ 00018681  0x00003ef3 isub  0x00000005 , 0x00000039 
+ 00018682  0x00003ef4 branch  0x00007ed4 
+ 00018683  0x00003ef7 fetcht  0x00000001 , 0x00000c6c 
+ 00018684  0x00003ef8 branch  0x000067fb 
+ 00018685  0x00003efa fetch  0x00000001 , 0x00000d45 
+ 00018686  0x00003efb rtn  0x00000034 
+ 00018687  0x00003efc fetcht  0x00000001 , 0x00000c6c 
+ 00018688  0x00003efd call  0x0000681d 
+ 00018689  0x00003efe branch  0x000048ea , 0x00000001 
+ 00018690  0x00003eff rtn 
+ 00018691  0x00003f03 arg  0x00000000 , 0x00000007 
+ 00018692  0x00003f04 call  0x00007f16 
+ 00018693  0x00003f05 nrtn  0x00000034 
+ 00018694  0x00003f06 fetch  0x00000001 , 0x00000d46 
+ 00018695  0x00003f07 nrtn  0x00000034 
+ 00018696  0x00003f08 fetch  0x00000001 , 0x00000d45 
+ 00018697  0x00003f09 ncall  0x00004bb7 , 0x00000034 
+ 00018698  0x00003f0a rtn 
+ 00018699  0x00003f0d arg  0x00000b68 , 0x00000005 
+ 00018700  0x00003f0e setsect  0x00000000 , 0x00011212 
+ 00018701  0x00003f0f setsect  0x00000001 , 0x00008000 
+ 00018702  0x00003f10 setsect  0x00000002 , 0x00000000 
+ 00018703  0x00003f11 setsect  0x00000003 , 0x00010000 
+ 00018704  0x00003f12 istore  0x00000009 , 0x00000005 
+ 00018705  0x00003f13 setsect  0x00000000 , 0x00022412 
+ 00018706  0x00003f14 setsect  0x00000001 , 0x00008604 
+ 00018707  0x00003f15 setsect  0x00000002 , 0x00001000 
+ 00018708  0x00003f16 setsect  0x00000003 , 0x00000008 
+ 00018709  0x00003f17 istore  0x00000009 , 0x00000005 
+ 00018710  0x00003f18 setsect  0x00000000 , 0x00000001 
+ 00018711  0x00003f19 istore  0x00000001 , 0x00000005 
+ 00018712  0x00003f1a rtn 
+ 00018713  0x00003f1d jam  0x00000002 , 0x00000c6b 
+ 00018714  0x00003f1e setarg  0x00000000 
+ 00018715  0x00003f1f store  0x00000001 , 0x00000b67 
+ 00018716  0x00003f20 store  0x00000002 , 0x00000c65 
+ 00018717  0x00003f21 pincrease  0x00000001 
+ 00018718  0x00003f22 store  0x00000002 , 0x00000c67 
+ 00018719  0x00003f23 pincrease  0x00000001 
+ 00018720  0x00003f24 store  0x00000002 , 0x00000c69 
+ 00018721  0x00003f25 setarg  0x00008ffa 
+ 00018722  0x00003f26 store  0x00000002 , 0x00000b7c 
+ 00018723  0x00003f27 setarg  0x0000903a 
+ 00018724  0x00003f28 store  0x00000002 , 0x00000b7e 
+ 00018725  0x00003f29 arg  0x00000b80 , 0x00000005 
+ 00018726  0x00003f2a arg  0x000090fe , 0x00000006 
+ 00018727  0x00003f2b call  0x00007eb3 
+ 00018728  0x00003f2c fetch  0x00000001 , 0x00000c6d 
+ 00018729  0x00003f2d ncall  0x0000492b , 0x00000034 
+ 00018730  0x00003f2e branch  0x0000490b 
+ 00018731  0x00003f31 store  0x00000001 , 0x00000ba2 
+ 00018732  0x00003f32 store  0x00000001 , 0x00000bbb 
+ 00018733  0x00003f33 rtn 
+ 00018734  0x00003f35 hfetch  0x00000001 , 0x00008a26 
+ 00018735  0x00003f36 bbit1  0x00000006 , 0x00004931 
+ 00018736  0x00003f37 rtn 
+ 00018737  0x00003f3a call  0x00004936 
+ 00018738  0x00003f3b call  0x00007f15 
+ 00018739  0x00003f3c setarg  0x00000280 
+ 00018740  0x00003f3d arg  0x00000000 , 0x00000007 
+ 00018741  0x00003f3e branch  0x00007f08 
+ 00018742  0x00003f41 fetch  0x00000001 , 0x00000d36 
+ 00018743  0x00003f42 bne  0x00000002 , 0x0000493b 
+ 00018744  0x00003f43 jam  0x00000000 , 0x00000d46 
+ 00018745  0x00003f44 jam  0x00000000 , 0x00000d47 
+ 00018746  0x00003f45 rtn 
+ 00018747  0x00003f47 fetch  0x00000001 , 0x00000d53 
+ 00018748  0x00003f48 rtn  0x00000034 
+ 00018749  0x00003f49 jam  0x00000000 , 0x00000d53 
+ 00018750  0x00003f4a jam  0x00000002 , 0x00000d36 
+ 00018751  0x00003f4b jam  0x00000001 , 0x00000d45 
+ 00018752  0x00003f4c rtn 
+ 00018753  0x00003f4f hjam  0x00000001 , 0x00008a27 
+ 00018754  0x00003f50 branch  0x00004b37 
+ 00018755  0x00003f53 fetch  0x00000001 , 0x00000b22 
+ 00018756  0x00003f54 bbit1  0x00000004 , 0x00004955 
+ 00018757  0x00003f55 rtn 
+ 00018758  0x00003f58 hfetch  0x00000001 , 0x00008a18 
+ 00018759  0x00003f59 istore  0x00000001 , 0x00000005 
+ 00018760  0x00003f5a loop  0x00004946 
+ 00018761  0x00003f5b rtn 
+ 00018762  0x00003f5e bpatch  0x000000f8 , 0x0000401f 
+ 00018763  0x00003f5f hjam  0x00000011 , 0x00008a26 
+ 00018764  0x00003f60 hfetch  0x00000001 , 0x00008a20 
+ 00018765  0x00003f61 store  0x00000001 , 0x00000b24 
+ 00018766  0x00003f62 copy  0x0000003f , 0x00000039 
+ 00018767  0x00003f63 branch  0x00004943 , 0x00000034 
+ 00018768  0x00003f64 arg  0x00000c6e , 0x00000005 
+ 00018769  0x00003f65 call  0x00004946 
+ 00018770  0x00003f66 fetch  0x00000001 , 0x00000b24 
+ 00018771  0x00003f67 sub  0x0000003f , 0x00000007 , 0x0000003e 
+ 00018772  0x00003f68 rtn  0x00000002 
+ 00018773  0x00003f6a fetch  0x00000001 , 0x00000c6e 
+ 00018774  0x00003f6b and_into  0x00000080 , 0x0000003f 
+ 00018775  0x00003f6c beq  0x00000080 , 0x0000495a 
+ 00018776  0x00003f6d beq  0x00000000 , 0x00004962 
+ 00018777  0x00003f6e branch  0x00002a8c 
+ 00018778  0x00003f71 fetch  0x00000001 , 0x00000c6e 
+ 00018779  0x00003f72 rshift4  0x0000003f , 0x0000003f 
+ 00018780  0x00003f73 rshift  0x0000003f , 0x0000003f 
+ 00018781  0x00003f74 and_into  0x00000003 , 0x0000003f 
+ 00018782  0x00003f75 beq  0x00000000 , 0x0000496a 
+ 00018783  0x00003f76 beq  0x00000001 , 0x00004970 
+ 00018784  0x00003f77 beq  0x00000002 , 0x00004975 
+ 00018785  0x00003f78 branch  0x00002a8c 
+ 00018786  0x00003f7b fetch  0x00000001 , 0x00000c6e 
+ 00018787  0x00003f7c rshift4  0x0000003f , 0x0000003f 
+ 00018788  0x00003f7d rshift  0x0000003f , 0x0000003f 
+ 00018789  0x00003f7e and_into  0x00000003 , 0x0000003f 
+ 00018790  0x00003f7f beq  0x00000000 , 0x00004976 
+ 00018791  0x00003f80 beq  0x00000001 , 0x0000497e 
+ 00018792  0x00003f81 beq  0x00000002 , 0x00004983 
+ 00018793  0x00003f82 branch  0x00002a8c 
+ 00018794  0x00003f85 fetch  0x00000001 , 0x00000c6f 
+ 00018795  0x00003f86 beq  0x00000008 , 0x0000498a 
+ 00018796  0x00003f87 beq  0x00000006 , 0x000049a0 
+ 00018797  0x00003f88 beq  0x0000000a , 0x000049ea 
+ 00018798  0x00003f89 beq  0x00000000 , 0x000049fc 
+ 00018799  0x00003f8a branch  0x00004984 
+ 00018800  0x00003f8d fetch  0x00000001 , 0x00000c6f 
+ 00018801  0x00003f8e beq  0x00000002 , 0x00004a2f 
+ 00018802  0x00003f8f beq  0x00000001 , 0x00004a33 
+ 00018803  0x00003f90 beq  0x00000003 , 0x00004a45 
+ 00018804  0x00003f91 branch  0x00004984 
+ 00018805  0x00003f94 branch  0x00004984 
+ 00018806  0x00003f97 fetch  0x00000001 , 0x00000c6f 
+ 00018807  0x00003f98 beq  0x00000001 , 0x00004a4f 
+ 00018808  0x00003f99 beq  0x00000003 , 0x00004a79 
+ 00018809  0x00003f9a beq  0x00000005 , 0x00004aa3 
+ 00018810  0x00003f9b beq  0x00000009 , 0x00004abc 
+ 00018811  0x00003f9c beq  0x0000000b , 0x00004ad7 
+ 00018812  0x00003f9d beq  0x00000007 , 0x00004984 
+ 00018813  0x00003f9e branch  0x00004984 
+ 00018814  0x00003fa1 fetch  0x00000001 , 0x00000c6f 
+ 00018815  0x00003fa2 beq  0x0000000a , 0x00004ae8 
+ 00018816  0x00003fa3 beq  0x00000009 , 0x00004af9 
+ 00018817  0x00003fa4 beq  0x0000000b , 0x00004b11 
+ 00018818  0x00003fa5 branch  0x00004984 
+ 00018819  0x00003fa8 branch  0x00004984 
+ 00018820  0x00003fab hfetch  0x00000001 , 0x00008a11 
+ 00018821  0x00003fac set1  0x00000000 , 0x0000003f 
+ 00018822  0x00003fad hstore  0x00000001 , 0x00008a11 
+ 00018823  0x00003fae branch  0x00004988 
+ 00018824  0x00003fb1 hjam  0x00000040 , 0x00008a12 
+ 00018825  0x00003fb2 rtn 
+ 00018826  0x00003fb5 fetch  0x00000001 , 0x00000c6e 
+ 00018827  0x00003fb6 bne  0x00000080 , 0x00004984 
+ 00018828  0x00003fb7 fetch  0x00000001 , 0x00000c72 
+ 00018829  0x00003fb8 bne  0x00000000 , 0x00004984 
+ 00018830  0x00003fb9 fetch  0x00000001 , 0x00000c73 
+ 00018831  0x00003fba bne  0x00000000 , 0x00004984 
+ 00018832  0x00003fbb fetch  0x00000001 , 0x00000c74 
+ 00018833  0x00003fbc bne  0x00000001 , 0x00004984 
+ 00018834  0x00003fbd fetch  0x00000001 , 0x00000c75 
+ 00018835  0x00003fbe bne  0x00000000 , 0x00004984 
+ 00018836  0x00003fbf fetch  0x00000001 , 0x00000c70 
+ 00018837  0x00003fc0 bne  0x00000000 , 0x00004984 
+ 00018838  0x00003fc1 fetch  0x00000001 , 0x00000c71 
+ 00018839  0x00003fc2 bne  0x00000000 , 0x00004984 
+ 00018840  0x00003fc3 fetch  0x00000001 , 0x00000c6b 
+ 00018841  0x00003fc4 beq  0x00000004 , 0x0000499c 
+ 00018842  0x00003fc5 beq  0x00000003 , 0x0000499e 
+ 00018843  0x00003fc6 branch  0x00004984 
+ 00018844  0x00003fc9 arg  0x00000001 , 0x00000012 
+ 00018845  0x00003fca branch  0x00004a14 
+ 00018846  0x00003fcd arg  0x00000001 , 0x00000012 
+ 00018847  0x00003fce branch  0x00004a12 
+ 00018848  0x00003fd1 bpatch  0x000000f9 , 0x0000401f 
+ 00018849  0x00003fd2 set0  0x00000023 , 0x00000000 
+ 00018850  0x00003fd3 fetch  0x00000001 , 0x00000c71 
+ 00018851  0x00003fd4 beq  0x00000001 , 0x000049b6 
+ 00018852  0x00003fd5 beq  0x00000002 , 0x000049cf 
+ 00018853  0x00003fd6 beq  0x00000003 , 0x000049d2 
+ 00018854  0x00003fd7 beq  0x00000021 , 0x000049a9 
+ 00018855  0x00003fd8 beq  0x00000022 , 0x000049e0 
+ 00018856  0x00003fd9 branch  0x00004984 
+ 00018857  0x00003fdc jam  0x00000000 , 0x00000d4b 
+ 00018858  0x00003fdd fetch  0x00000001 , 0x00000c72 
+ 00018859  0x00003fde beq  0x00000000 , 0x000049ae 
+ 00018860  0x00003fdf beq  0x00000001 , 0x000049b2 
+ 00018861  0x00003fe0 branch  0x00004984 
+ 00018862  0x00003fe3 arg  0x00000b93 , 0x00000011 
+ 00018863  0x00003fe4 ifetch  0x00000001 , 0x00000011 
+ 00018864  0x00003fe5 iforce  0x00000012 
+ 00018865  0x00003fe6 branch  0x00004b21 
+ 00018866  0x00003fe9 arg  0x00000bac , 0x00000011 
+ 00018867  0x00003fea ifetch  0x00000001 , 0x00000011 
+ 00018868  0x00003feb iforce  0x00000012 
+ 00018869  0x00003fec branch  0x00004b21 
+ 00018870  0x00003ff2 fetch  0x00000001 , 0x00000d48 
+ 00018871  0x00003ff3 ncall  0x000049c7 , 0x00000034 
+ 00018872  0x00003ff4 setarg  0x00000b68 
+ 00018873  0x00003ff5 fetcht  0x00000001 , 0x00000b68 
+ 00018874  0x00003ff7 store  0x00000002 , 0x00000d3f 
+ 00018875  0x00003ff8 storet  0x00000001 , 0x00000d41 
+ 00018876  0x00003ff9 fetch  0x00000001 , 0x00000c74 
+ 00018877  0x00003ffa isub  0x00000002 , 0x0000003e 
+ 00018878  0x00003ffb nbranch  0x000049c5 , 0x00000002 
+ 00018879  0x00003ffd fetch  0x00000001 , 0x00000d41 
+ 00018880  0x00003fff iforce  0x00000012 
+ 00018881  0x00004000 fetch  0x00000002 , 0x00000d3f 
+ 00018882  0x00004001 add  0x0000003f , 0x00000001 , 0x0000003f 
+ 00018883  0x00004002 iforce  0x00000011 
+ 00018884  0x00004003 branch  0x00004b21 
+ 00018885  0x00004005 fetch  0x00000001 , 0x00000c74 
+ 00018886  0x00004006 branch  0x000049c0 
+ 00018887  0x00004009 hfetch  0x00000001 , 0x00008a04 
+ 00018888  0x0000400a ncall  0x000049cb , 0x00000034 
+ 00018889  0x0000400b jam  0x00000000 , 0x00000d48 
+ 00018890  0x0000400c rtn 
+ 00018891  0x0000400e hfetch  0x00000001 , 0x00008a04 
+ 00018892  0x0000400f set1  0x00000007 , 0x0000003f 
+ 00018893  0x00004010 hstore  0x00000001 , 0x00008a04 
+ 00018894  0x00004011 rtn 
+ 00018895  0x00004014 setarg  0x00000b80 
+ 00018896  0x00004015 fetcht  0x00000001 , 0x00000b80 
+ 00018897  0x00004016 branch  0x000049ba 
+ 00018898  0x00004019 fetch  0x00000001 , 0x00000c70 
+ 00018899  0x0000401a sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00018900  0x0000401b nbranch  0x00004984 , 0x00000002 
+ 00018901  0x0000401c fetch  0x00000001 , 0x00000c70 
+ 00018902  0x0000401d arg  0x00000be4 , 0x00000011 
+ 00018903  0x0000401e beq  0x00000000 , 0x00004b1e 
+ 00018904  0x0000401f set1  0x00000023 , 0x00000000 
+ 00018905  0x00004020 arg  0x00000be9 , 0x00000011 
+ 00018906  0x00004021 beq  0x00000001 , 0x00004b1e 
+ 00018907  0x00004022 arg  0x00000c07 , 0x00000011 
+ 00018908  0x00004023 beq  0x00000002 , 0x00004b1e 
+ 00018909  0x00004024 arg  0x00000c47 , 0x00000011 
+ 00018910  0x00004025 beq  0x00000003 , 0x00004b1e 
+ 00018911  0x00004026 rtn 
+ 00018912  0x00004029 fetch  0x00000002 , 0x00000c72 
+ 00018913  0x0000402a beq  0x00000001 , 0x000049e5 
+ 00018914  0x0000402b fetch  0x00000002 , 0x00000b7c 
+ 00018915  0x0000402c copy  0x0000003f , 0x00000011 
+ 00018916  0x0000402e branch  0x00004b1e 
+ 00018917  0x00004030 jam  0x00000001 , 0x00000d45 
+ 00018918  0x00004031 jam  0x00000001 , 0x00000d36 
+ 00018919  0x00004032 fetch  0x00000002 , 0x00000b7e 
+ 00018920  0x00004033 copy  0x0000003f , 0x00000011 
+ 00018921  0x00004035 branch  0x00004b1e 
+ 00018922  0x00004039 fetch  0x00000001 , 0x00000c6b 
+ 00018923  0x0000403a bne  0x00000004 , 0x00004984 
+ 00018924  0x0000403b fetch  0x00000001 , 0x00000c6e 
+ 00018925  0x0000403c bne  0x00000081 , 0x00004984 
+ 00018926  0x0000403d fetch  0x00000001 , 0x00000c70 
+ 00018927  0x0000403e bne  0x00000000 , 0x00004984 
+ 00018928  0x0000403f fetch  0x00000001 , 0x00000c71 
+ 00018929  0x00004040 bne  0x00000000 , 0x00004984 
+ 00018930  0x00004041 fetch  0x00000001 , 0x00000c74 
+ 00018931  0x00004042 bne  0x00000001 , 0x00004984 
+ 00018932  0x00004043 fetch  0x00000001 , 0x00000c75 
+ 00018933  0x00004044 bne  0x00000000 , 0x00004984 
+ 00018934  0x00004045 fetch  0x00000001 , 0x00000c72 
+ 00018935  0x00004046 bne  0x00000000 , 0x00004984 
+ 00018936  0x00004047 fetch  0x00000001 , 0x00000c73 
+ 00018937  0x00004048 bne  0x00000000 , 0x00004984 
+ 00018938  0x00004049 arg  0x00000001 , 0x00000012 
+ 00018939  0x0000404a branch  0x00004a12 
+ 00018940  0x0000404e fetch  0x00000001 , 0x00000c6b 
+ 00018941  0x0000404f beq  0x00000002 , 0x00004984 
+ 00018942  0x00004050 fetch  0x00000001 , 0x00000c70 
+ 00018943  0x00004051 bne  0x00000000 , 0x00004984 
+ 00018944  0x00004052 fetch  0x00000001 , 0x00000c71 
+ 00018945  0x00004053 bne  0x00000000 , 0x00004984 
+ 00018946  0x00004054 fetch  0x00000001 , 0x00000c74 
+ 00018947  0x00004055 bne  0x00000002 , 0x00004984 
+ 00018948  0x00004056 fetch  0x00000001 , 0x00000c75 
+ 00018949  0x00004057 bne  0x00000000 , 0x00004984 
+ 00018950  0x00004058 fetch  0x00000001 , 0x00000c73 
+ 00018951  0x00004059 bne  0x00000000 , 0x00004984 
+ 00018952  0x0000405a fetch  0x00000001 , 0x00000c6e 
+ 00018953  0x0000405b beq  0x00000080 , 0x00004a0d 
+ 00018954  0x0000405c beq  0x00000081 , 0x00004a18 
+ 00018955  0x0000405d beq  0x00000082 , 0x00004a1c 
+ 00018956  0x0000405e branch  0x00004984 
+ 00018957  0x00004061 fetch  0x00000001 , 0x00000c72 
+ 00018958  0x00004062 bne  0x00000000 , 0x00004984 
+ 00018959  0x00004063 arg  0x00000002 , 0x00000012 
+ 00018960  0x00004064 fetch  0x00000001 , 0x00000d39 
+ 00018961  0x00004065 beq  0x00000001 , 0x00004a16 
+ 00018962  0x00004068 arg  0x00000c65 , 0x00000011 
+ 00018963  0x00004069 branch  0x00004b21 
+ 00018964  0x0000406b arg  0x00000c67 , 0x00000011 
+ 00018965  0x0000406c branch  0x00004b21 
+ 00018966  0x0000406e arg  0x00000c69 , 0x00000011 
+ 00018967  0x0000406f branch  0x00004b21 
+ 00018968  0x00004072 fetch  0x00000001 , 0x00000c6b 
+ 00018969  0x00004073 bne  0x00000004 , 0x00004984 
+ 00018970  0x00004074 arg  0x00000002 , 0x00000012 
+ 00018971  0x00004075 branch  0x00004a12 
+ 00018972  0x00004078 fetch  0x00000001 , 0x00000c6b 
+ 00018973  0x00004079 bne  0x00000004 , 0x00004984 
+ 00018974  0x0000407a fetch  0x00000001 , 0x00000c72 
+ 00018975  0x0000407b beq  0x00000081 , 0x00004a29 
+ 00018976  0x0000407c beq  0x00000082 , 0x00004a2b 
+ 00018977  0x0000407d beq  0x00000083 , 0x00004a2d 
+ 00018978  0x0000407e and_into  0x0000007f , 0x0000003f 
+ 00018979  0x0000407f beq  0x00000000 , 0x00004a25 
+ 00018980  0x00004080 branch  0x00004984 
+ 00018981  0x00004083 fetch  0x00000001 , 0x00000d3b 
+ 00018982  0x00004085 arg  0x00000002 , 0x00000012 
+ 00018983  0x00004086 beq  0x00000001 , 0x00004a14 
+ 00018984  0x00004087 branch  0x00004a12 
+ 00018985  0x00004089 fetch  0x00000001 , 0x00000d3c 
+ 00018986  0x0000408a branch  0x00004a26 
+ 00018987  0x0000408c fetch  0x00000001 , 0x00000d3d 
+ 00018988  0x0000408d branch  0x00004a26 
+ 00018989  0x0000408f fetch  0x00000001 , 0x00000d3e 
+ 00018990  0x00004090 branch  0x00004a26 
+ 00018991  0x00004093 jam  0x00000001 , 0x00000d4c 
+ 00018992  0x00004094 arg  0x00000d4d , 0x00000011 
+ 00018993  0x00004095 arg  0x00000001 , 0x00000012 
+ 00018994  0x00004096 branch  0x00004b21 
+ 00018995  0x00004099 fetch  0x00000002 , 0x00000c70 
+ 00018996  0x0000409a arg  0x000001ba , 0x00000002 
+ 00018997  0x0000409b isub  0x00000002 , 0x0000003e 
+ 00018998  0x0000409c nbranch  0x00004984 , 0x00000005 
+ 00018999  0x0000409d set0  0x00000023 , 0x00000000 
+ 00019000  0x0000409f fetch  0x00000001 , 0x00000d42 
+ 00019001  0x000040a0 nbranch  0x00004a42 , 0x00000034 
+ 00019002  0x000040a1 jam  0x00000000 , 0x00000cf6 
+ 00019003  0x000040a3 fetch  0x00000001 , 0x00000c74 
+ 00019004  0x000040a4 iforce  0x00000012 
+ 00019005  0x000040a5 arg  0x00000cf6 , 0x00000011 
+ 00019006  0x000040a6 call  0x00004b21 
+ 00019007  0x000040a8 arg  0x00000cf6 , 0x00000005 
+ 00019008  0x000040a9 arg  0x00000008 , 0x00000039 
+ 00019009  0x000040aa branch  0x00007ec6 
+ 00019010  0x000040ac jam  0x00000000 , 0x00000d42 
+ 00019011  0x000040ad jam  0x00000001 , 0x00000cf6 
+ 00019012  0x000040ae branch  0x00004a3b 
+ 00019013  0x000040b1 fetch  0x00000001 , 0x00000c74 
+ 00019014  0x000040b2 bne  0x00000001 , 0x00004984 
+ 00019015  0x000040b3 jam  0x00000001 , 0x00000d4b 
+ 00019016  0x000040b4 arg  0x00000001 , 0x00000012 
+ 00019017  0x000040b5 fetch  0x00000001 , 0x00000d49 
+ 00019018  0x000040b6 beq  0x00000000 , 0x00004a4d 
+ 00019019  0x000040b7 beq  0x00000001 , 0x00004a4e 
+ 00019020  0x000040b8 branch  0x00004a12 
+ 00019021  0x000040ba branch  0x00004a14 
+ 00019022  0x000040bc branch  0x00004a12 
+ 00019023  0x000040c2 fetch  0x00000001 , 0x00000c6b 
+ 00019024  0x000040c3 bne  0x00000004 , 0x00004984 
+ 00019025  0x000040c4 fetch  0x00000001 , 0x00000c74 
+ 00019026  0x000040c5 bne  0x00000000 , 0x00004984 
+ 00019027  0x000040c6 fetch  0x00000001 , 0x00000c75 
+ 00019028  0x000040c7 bne  0x00000000 , 0x00004984 
+ 00019029  0x000040c8 fetch  0x00000001 , 0x00000c71 
+ 00019030  0x000040c9 bne  0x00000000 , 0x00004984 
+ 00019031  0x000040ca fetch  0x00000001 , 0x00000c73 
+ 00019032  0x000040cb bne  0x00000000 , 0x00004984 
+ 00019033  0x000040cc fetch  0x00000001 , 0x00000c6e 
+ 00019034  0x000040cd beq  0x00000000 , 0x00004a5e 
+ 00019035  0x000040ce beq  0x00000001 , 0x00004a66 
+ 00019036  0x000040cf beq  0x00000002 , 0x00004a67 
+ 00019037  0x000040d0 branch  0x00004984 
+ 00019038  0x000040d3 fetch  0x00000001 , 0x00000c70 
+ 00019039  0x000040d4 bne  0x00000001 , 0x00004984 
+ 00019040  0x000040d5 hfetch  0x00000001 , 0x00008a00 
+ 00019041  0x000040d6 set0  0x00000007 , 0x0000003f 
+ 00019042  0x000040d7 hstore  0x00000001 , 0x00008a00 
+ 00019043  0x000040d8 jam  0x00000000 , 0x00000d39 
+ 00019044  0x000040d9 jam  0x00000001 , 0x00000d3a 
+ 00019045  0x000040da branch  0x00004988 
+ 00019046  0x000040dd branch  0x00004984 
+ 00019047  0x000040e0 fetch  0x00000001 , 0x00000c70 
+ 00019048  0x000040e1 bne  0x00000000 , 0x00004984 
+ 00019049  0x000040e2 fetch  0x00000001 , 0x00000c72 
+ 00019050  0x000040e3 beq  0x00000081 , 0x00004a72 
+ 00019051  0x000040e4 beq  0x00000082 , 0x00004a75 
+ 00019052  0x000040e5 beq  0x00000083 , 0x00004a77 
+ 00019053  0x000040e6 and_into  0x0000007f , 0x0000003f 
+ 00019054  0x000040e7 beq  0x00000000 , 0x00004a70 
+ 00019055  0x000040e8 branch  0x00004984 
+ 00019056  0x000040eb jam  0x00000000 , 0x00000d3b 
+ 00019057  0x000040ec branch  0x00004988 
+ 00019058  0x000040ee jam  0x00000000 , 0x00000d3c 
+ 00019059  0x000040f0 jam  0x00000001 , 0x00000d53 
+ 00019060  0x000040f1 branch  0x00004988 
+ 00019061  0x000040f3 jam  0x00000000 , 0x00000d3d 
+ 00019062  0x000040f4 branch  0x00004a73 
+ 00019063  0x000040f6 jam  0x00000000 , 0x00000d3e 
+ 00019064  0x000040f7 branch  0x00004a73 
+ 00019065  0x000040fb fetch  0x00000001 , 0x00000c74 
+ 00019066  0x000040fc bne  0x00000000 , 0x00004984 
+ 00019067  0x000040fd fetch  0x00000001 , 0x00000c75 
+ 00019068  0x000040fe bne  0x00000000 , 0x00004984 
+ 00019069  0x000040ff fetch  0x00000001 , 0x00000c6e 
+ 00019070  0x00004100 beq  0x00000000 , 0x00004a82 
+ 00019071  0x00004101 beq  0x00000001 , 0x00004a8f 
+ 00019072  0x00004102 beq  0x00000002 , 0x00004a90 
+ 00019073  0x00004103 branch  0x00004984 
+ 00019074  0x00004106 fetch  0x00000001 , 0x00000c70 
+ 00019075  0x00004107 bne  0x00000001 , 0x00004984 
+ 00019076  0x00004108 hfetch  0x00000001 , 0x00008a00 
+ 00019077  0x00004109 set1  0x00000007 , 0x0000003f 
+ 00019078  0x0000410a hstore  0x00000001 , 0x00008a00 
+ 00019079  0x0000410b jam  0x00000001 , 0x00000d39 
+ 00019080  0x0000410c jam  0x00000003 , 0x00000d36 
+ 00019081  0x0000410d jam  0x00000000 , 0x00000d43 
+ 00019082  0x0000410e call  0x00004988 
+ 00019083  0x00004110 call  0x00007f15 
+ 00019084  0x00004111 setarg  0x00001388 
+ 00019085  0x00004112 arg  0x0000000f , 0x00000007 
+ 00019086  0x00004113 branch  0x00007f08 
+ 00019087  0x00004116 branch  0x00004984 
+ 00019088  0x00004119 fetch  0x00000001 , 0x00000c70 
+ 00019089  0x0000411a bne  0x00000000 , 0x00004984 
+ 00019090  0x0000411b fetch  0x00000001 , 0x00000c71 
+ 00019091  0x0000411c bne  0x00000000 , 0x00004984 
+ 00019092  0x0000411d fetch  0x00000001 , 0x00000c72 
+ 00019093  0x0000411e beq  0x00000081 , 0x00004a9d 
+ 00019094  0x0000411f beq  0x00000082 , 0x00004a9f 
+ 00019095  0x00004120 beq  0x00000083 , 0x00004aa1 
+ 00019096  0x00004121 and_into  0x0000007f , 0x0000003f 
+ 00019097  0x00004122 beq  0x00000000 , 0x00004a9b 
+ 00019098  0x00004123 branch  0x00004984 
+ 00019099  0x00004126 jam  0x00000001 , 0x00000d3b 
+ 00019100  0x00004127 branch  0x00004988 
+ 00019101  0x00004129 jam  0x00000001 , 0x00000d3c 
+ 00019102  0x0000412a branch  0x00004988 
+ 00019103  0x0000412c jam  0x00000001 , 0x00000d3d 
+ 00019104  0x0000412d branch  0x00004988 
+ 00019105  0x0000412f jam  0x00000001 , 0x00000d3e 
+ 00019106  0x00004130 branch  0x00004988 
+ 00019107  0x00004134 fetch  0x00000001 , 0x00000c6e 
+ 00019108  0x00004135 bne  0x00000000 , 0x00004984 
+ 00019109  0x00004136 fetch  0x00000001 , 0x00000c72 
+ 00019110  0x00004137 bne  0x00000000 , 0x00004984 
+ 00019111  0x00004138 fetch  0x00000001 , 0x00000c73 
+ 00019112  0x00004139 bne  0x00000000 , 0x00004984 
+ 00019113  0x0000413a fetch  0x00000001 , 0x00000c74 
+ 00019114  0x0000413b bne  0x00000000 , 0x00004984 
+ 00019115  0x0000413c fetch  0x00000001 , 0x00000c75 
+ 00019116  0x0000413d bne  0x00000000 , 0x00004984 
+ 00019117  0x0000413e fetch  0x00000001 , 0x00000c71 
+ 00019118  0x0000413f bne  0x00000000 , 0x00004984 
+ 00019119  0x00004140 fetch  0x00000001 , 0x00000c70 
+ 00019120  0x00004141 and_into  0x00000080 , 0x0000003f 
+ 00019121  0x00004142 bne  0x00000000 , 0x00004984 
+ 00019122  0x00004143 fetch  0x00000001 , 0x00000c70 
+ 00019123  0x00004144 bne  0x00000000 , 0x00004aba 
+ 00019124  0x00004146 jam  0x00000002 , 0x00000c6b 
+ 00019125  0x00004148 fetch  0x00000001 , 0x00000c70 
+ 00019126  0x00004149 hstore  0x00000001 , 0x00008a04 
+ 00019127  0x0000414a call  0x00004988 
+ 00019128  0x0000414b jam  0x00000001 , 0x00000d48 
+ 00019129  0x0000414c rtn 
+ 00019130  0x0000414e jam  0x00000003 , 0x00000c6b 
+ 00019131  0x0000414f branch  0x00004ab5 
+ 00019132  0x00004153 fetch  0x00000001 , 0x00000c6b 
+ 00019133  0x00004154 beq  0x00000002 , 0x00004984 
+ 00019134  0x00004155 fetch  0x00000001 , 0x00000c6e 
+ 00019135  0x00004156 bne  0x00000000 , 0x00004984 
+ 00019136  0x00004157 fetch  0x00000001 , 0x00000c72 
+ 00019137  0x00004158 bne  0x00000000 , 0x00004984 
+ 00019138  0x00004159 fetch  0x00000001 , 0x00000c73 
+ 00019139  0x0000415a bne  0x00000000 , 0x00004984 
+ 00019140  0x0000415b fetch  0x00000001 , 0x00000c74 
+ 00019141  0x0000415c bne  0x00000000 , 0x00004984 
+ 00019142  0x0000415d fetch  0x00000001 , 0x00000c75 
+ 00019143  0x0000415e bne  0x00000000 , 0x00004984 
+ 00019144  0x0000415f fetch  0x00000001 , 0x00000c71 
+ 00019145  0x00004160 bne  0x00000000 , 0x00004984 
+ 00019146  0x00004161 fetch  0x00000001 , 0x00000c70 
+ 00019147  0x00004162 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019148  0x00004163 nbranch  0x00004984 , 0x00000002 
+ 00019149  0x00004164 fetch  0x00000001 , 0x00000c6b 
+ 00019150  0x00004165 beq  0x00000003 , 0x00004ad1 
+ 00019151  0x00004166 beq  0x00000004 , 0x00004ad1 
+ 00019152  0x00004167 branch  0x00004984 
+ 00019153  0x0000416b fetch  0x00000001 , 0x00000c70 
+ 00019154  0x0000416c beq  0x00000000 , 0x00004ad5 
+ 00019155  0x0000416d jam  0x00000004 , 0x00000c6b 
+ 00019156  0x0000416e branch  0x00004988 
+ 00019157  0x00004170 jam  0x00000003 , 0x00000c6b 
+ 00019158  0x00004171 branch  0x00004988 
+ 00019159  0x00004175 fetch  0x00000001 , 0x00000c6b 
+ 00019160  0x00004176 bne  0x00000004 , 0x00004984 
+ 00019161  0x00004177 fetch  0x00000001 , 0x00000c6e 
+ 00019162  0x00004178 bne  0x00000001 , 0x00004984 
+ 00019163  0x00004179 fetch  0x00000001 , 0x00000c70 
+ 00019164  0x0000417a bne  0x00000000 , 0x00004984 
+ 00019165  0x0000417b fetch  0x00000001 , 0x00000c71 
+ 00019166  0x0000417c bne  0x00000000 , 0x00004984 
+ 00019167  0x0000417d fetch  0x00000001 , 0x00000c74 
+ 00019168  0x0000417e bne  0x00000000 , 0x00004984 
+ 00019169  0x0000417f fetch  0x00000001 , 0x00000c75 
+ 00019170  0x00004180 bne  0x00000000 , 0x00004984 
+ 00019171  0x00004181 fetch  0x00000001 , 0x00000c72 
+ 00019172  0x00004182 bne  0x00000000 , 0x00004984 
+ 00019173  0x00004183 fetch  0x00000001 , 0x00000c73 
+ 00019174  0x00004184 bne  0x00000000 , 0x00004984 
+ 00019175  0x00004185 branch  0x00004988 
+ 00019176  0x00004189 jam  0x00000001 , 0x00000d4c 
+ 00019177  0x0000418a fetch  0x00000001 , 0x00000c71 
+ 00019178  0x0000418b store  0x00000001 , 0x00000d4d 
+ 00019179  0x0000418c fetch  0x00000001 , 0x00000c72 
+ 00019180  0x0000418d sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019181  0x0000418e call  0x00004af5 , 0x00000005 
+ 00019182  0x0000418f fetch  0x00000001 , 0x00000d36 
+ 00019183  0x00004190 bne  0x00000004 , 0x00004988 
+ 00019184  0x00004191 jam  0x00000002 , 0x00000d36 
+ 00019185  0x00004192 call  0x00004988 
+ 00019186  0x00004193 nop  0x00007530 
+ 00019187  0x00004194 nop  0x00007530 
+ 00019188  0x00004195 rtn 
+ 00019189  0x00004197 jam  0x00000001 , 0x00000d45 
+ 00019190  0x00004198 jam  0x00000000 , 0x00000d3a 
+ 00019191  0x00004199 jam  0x00000004 , 0x00000d36 
+ 00019192  0x0000419a rtn 
+ 00019193  0x0000419e jam  0x00000001 , 0x00000d50 
+ 00019194  0x0000419f call  0x00004b03 
+ 00019195  0x000041a0 fetch  0x00000002 , 0x00000c70 
+ 00019196  0x000041a1 store  0x00000002 , 0x00000d4e 
+ 00019197  0x000041a2 fetch  0x00000001 , 0x00000c74 
+ 00019198  0x000041a3 iforce  0x00000039 
+ 00019199  0x000041a4 arg  0x00000c76 , 0x00000006 
+ 00019200  0x000041a5 arg  0x00000cb6 , 0x00000005 
+ 00019201  0x000041a6 call  0x00007f01 
+ 00019202  0x000041a7 branch  0x00004988 
+ 00019203  0x000041aa fetch  0x00000002 , 0x00000c70 
+ 00019204  0x000041ab arg  0x00000200 , 0x00000002 
+ 00019205  0x000041ac isub  0x00000002 , 0x0000003e 
+ 00019206  0x000041ad nrtn  0x00000005 
+ 00019207  0x000041ae fetch  0x00000002 , 0x00000c72 
+ 00019208  0x000041af arg  0x00000000 , 0x00000002 
+ 00019209  0x000041b0 isub  0x00000002 , 0x0000003e 
+ 00019210  0x000041b1 nrtn  0x00000005 
+ 00019211  0x000041b2 fetch  0x00000002 , 0x00000c74 
+ 00019212  0x000041b3 arg  0x00000001 , 0x00000002 
+ 00019213  0x000041b4 isub  0x00000002 , 0x0000003e 
+ 00019214  0x000041b5 nrtn  0x00000005 
+ 00019215  0x000041b6 jam  0x00000001 , 0x00000d43 
+ 00019216  0x000041b7 rtn 
+ 00019217  0x000041bb fetch  0x00000001 , 0x00000c74 
+ 00019218  0x000041bc bne  0x00000000 , 0x00004984 
+ 00019219  0x000041bd fetch  0x00000001 , 0x00000c70 
+ 00019220  0x000041be beq  0x00000000 , 0x00004b17 
+ 00019221  0x000041bf beq  0x00000001 , 0x00004b1a 
+ 00019222  0x000041c0 branch  0x00004984 
+ 00019223  0x000041c2 jam  0x00000000 , 0x00000d4a 
+ 00019224  0x000041c3 jam  0x00000001 , 0x00000d49 
+ 00019225  0x000041c4 branch  0x00004988 
+ 00019226  0x000041c6 jam  0x00000001 , 0x00000d44 
+ 00019227  0x000041c7 jam  0x00000001 , 0x00000d4a 
+ 00019228  0x000041c8 jam  0x00000000 , 0x00000d49 
+ 00019229  0x000041c9 branch  0x00004988 
+ 00019230  0x000041cd ifetch  0x00000001 , 0x00000011 
+ 00019231  0x000041ce iforce  0x00000012 
+ 00019232  0x000041cf increase  0x00000001 , 0x00000011 
+ 00019233  0x000041d2 bpatch  0x000000fa , 0x0000401f 
+ 00019234  0x000041d3 bmark0  0x00000023 , 0x00004b2c 
+ 00019235  0x000041d4 add  0x00000012 , 0x00000001 , 0x0000003f 
+ 00019236  0x000041d5 lshift  0x0000003f , 0x0000003f 
+ 00019237  0x000041d6 hstore  0x00000001 , 0x00008a18 
+ 00019238  0x000041d7 hjam  0x00000003 , 0x00008a18 
+ 00019239  0x000041d8 fetch  0x00000001 , 0x00000c74 
+ 00019240  0x000041d9 increase  0xfffffffe , 0x0000003f 
+ 00019241  0x000041da rshift  0x0000003f , 0x0000003f 
+ 00019242  0x000041db store  0x00000001 , 0x00000c74 
+ 00019243  0x000041dc beq  0x00000000 , 0x00004b35 
+ 00019244  0x000041de fetch  0x00000002 , 0x00000c74 
+ 00019245  0x000041df isub  0x00000012 , 0x0000003e 
+ 00019246  0x000041e0 branch  0x00004b30 , 0x00000002 
+ 00019247  0x000041e1 copy  0x0000003f , 0x00000012 
+ 00019248  0x000041e3 deposit  0x00000011 
+ 00019249  0x000041e4 store  0x00000002 , 0x00000b65 
+ 00019250  0x000041e5 deposit  0x00000012 
+ 00019251  0x000041e6 store  0x00000001 , 0x00000b67 
+ 00019252  0x000041e7 branch  0x00004b37 
+ 00019253  0x000041ea arg  0x00000000 , 0x00000007 
+ 00019254  0x000041eb branch  0x00004b57 
+ 00019255  0x000041ef bpatch  0x000000fb , 0x0000401f 
+ 00019256  0x000041f0 fetch  0x00000001 , 0x00000b67 
+ 00019257  0x000041f1 rtn  0x00000034 
+ 00019258  0x000041f2 copy  0x0000003f , 0x00000039 
+ 00019259  0x000041f3 sub  0x0000003f , 0x00000040 , 0x0000003e 
+ 00019260  0x000041f4 branch  0x00004b3e , 0x00000002 
+ 00019261  0x000041f5 arg  0x00000040 , 0x00000039 
+ 00019262  0x000041f7 fetch  0x00000001 , 0x00000b67 
+ 00019263  0x000041f8 isub  0x00000039 , 0x0000003f 
+ 00019264  0x000041f9 store  0x00000001 , 0x00000b67 
+ 00019265  0x000041fa fetch  0x00000002 , 0x00000b65 
+ 00019266  0x000041fb copy  0x0000003f , 0x00000006 
+ 00019267  0x000041fd ifetch  0x00000001 , 0x00000006 
+ 00019268  0x000041fe hstore  0x00000001 , 0x00008a18 
+ 00019269  0x000041ff bmark0  0x00000023 , 0x00004b47 
+ 00019270  0x00004200 hjam  0x00000000 , 0x00008a18 
+ 00019271  0x00004202 loop  0x00004b43 
+ 00019272  0x00004203 copy  0x00000006 , 0x0000003f 
+ 00019273  0x00004204 store  0x00000002 , 0x00000b65 
+ 00019274  0x00004205 arg  0x00000000 , 0x00000007 
+ 00019275  0x00004206 call  0x00004b57 
+ 00019276  0x00004207 fetch  0x00000001 , 0x00000b67 
+ 00019277  0x00004208 nrtn  0x00000034 
+ 00019278  0x00004209 fetch  0x00000001 , 0x00000d36 
+ 00019279  0x0000420a rtnne  0x00000001 
+ 00019280  0x0000420b jam  0x00000002 , 0x00000d36 
+ 00019281  0x0000420c rtn 
+ 00019282  0x00004210 arg  0x00008a19 , 0x00000011 
+ 00019283  0x00004211 arg  0x00000001 , 0x00000007 
+ 00019284  0x00004213 ifetch  0x00000001 , 0x00000006 
+ 00019285  0x00004214 istore  0x00000001 , 0x00000011 
+ 00019286  0x00004215 loop  0x00004b54 
+ 00019287  0x00004217 setarg  0x00000000 
+ 00019288  0x00004218 qset1  0x0000003f 
+ 00019289  0x00004219 hstore  0x00000001 , 0x00008a10 
+ 00019290  0x0000421a fetcht  0x00000001 , 0x00000d37 
+ 00019291  0x0000421b ior  0x00000002 , 0x0000003f 
+ 00019292  0x0000421c store  0x00000001 , 0x00000d37 
+ 00019293  0x0000421d rtn 
+ 00019294  0x00004220 arg  0x00000002 , 0x00000007 
+ 00019295  0x00004221 arg  0x00008a1a , 0x00000011 
+ 00019296  0x00004222 branch  0x00004b54 
+ 00019297  0x00004225 bpatch  0x000000fc , 0x0000401f 
+ 00019298  0x00004226 fetch  0x00000001 , 0x00000d38 
+ 00019299  0x00004227 rtn  0x00000034 
+ 00019300  0x00004228 fetch  0x00000001 , 0x00000d37 
+ 00019301  0x00004229 nbranch  0x00004bac , 0x00000034 
+ 00019302  0x0000422a fetch  0x00000001 , 0x00000d45 
+ 00019303  0x0000422b branch  0x00004b86 , 0x00000034 
+ 00019304  0x0000422c fetch  0x00000001 , 0x00000d36 
+ 00019305  0x0000422d beq  0x00000003 , 0x00004bbf 
+ 00019306  0x0000422e bne  0x00000002 , 0x00004b86 
+ 00019307  0x0000422f fetch  0x00000001 , 0x00000d3a 
+ 00019308  0x00004230 nbranch  0x00004b86 , 0x00000034 
+ 00019309  0x00004231 call  0x00004b6f 
+ 00019310  0x00004232 branch  0x00004b7a 
+ 00019311  0x00004235 fetch  0x00000001 , 0x00000d38 
+ 00019312  0x00004236 rtnbit0  0x00000001 
+ 00019313  0x00004237 fetch  0x00000001 , 0x00000d37 
+ 00019314  0x00004238 rtnbit1  0x00000001 
+ 00019315  0x00004239 fetch  0x00000001 , 0x00000d38 
+ 00019316  0x0000423a set0  0x00000001 , 0x0000003f 
+ 00019317  0x0000423b store  0x00000001 , 0x00000d38 
+ 00019318  0x0000423c fetch  0x00000001 , 0x00000d51 
+ 00019319  0x0000423d rtn  0x00000034 
+ 00019320  0x0000423e beq  0x00000010 , 0x00004ba8 
+ 00019321  0x0000423f branch  0x00002a8c 
+ 00019322  0x00004242 fetch  0x00000001 , 0x00000d38 
+ 00019323  0x00004243 rtnbit0  0x00000002 
+ 00019324  0x00004244 fetch  0x00000001 , 0x00000d37 
+ 00019325  0x00004245 rtnbit1  0x00000002 
+ 00019326  0x00004246 fetch  0x00000001 , 0x00000d38 
+ 00019327  0x00004247 set0  0x00000002 , 0x0000003f 
+ 00019328  0x00004248 store  0x00000001 , 0x00000d38 
+ 00019329  0x00004249 fetch  0x00000001 , 0x00000d52 
+ 00019330  0x0000424a rtn  0x00000034 
+ 00019331  0x0000424b beq  0x00000020 , 0x00004b89 
+ 00019332  0x0000424c beq  0x00000021 , 0x00004ba4 
+ 00019333  0x0000424d branch  0x00002a8c 
+ 00019334  0x00004251 arg  0x00000d54 , 0x00000005 
+ 00019335  0x00004252 arg  0x00000006 , 0x00000039 
+ 00019336  0x00004253 branch  0x00007ec6 
+ 00019337  0x00004256 fetch  0x00000001 , 0x00000d4c 
+ 00019338  0x00004257 fetcht  0x00000001 , 0x00000d4b 
+ 00019339  0x00004258 iand  0x00000002 , 0x0000003f 
+ 00019340  0x00004259 branch  0x00004ba0 , 0x00000034 
+ 00019341  0x0000425a fetcht  0x00000001 , 0x00000d4a 
+ 00019342  0x0000425b iadd  0x00000002 , 0x0000003f 
+ 00019343  0x0000425c beq  0x00000001 , 0x00004b91 
+ 00019344  0x0000425d branch  0x00004ba0 
+ 00019345  0x00004260 jam  0x00000000 , 0x00000d52 
+ 00019346  0x00004262 fetch  0x00000001 , 0x00000d55 
+ 00019347  0x00004263 beq  0x00000002 , 0x00004ba1 
+ 00019348  0x00004264 beq  0x00000003 , 0x00004ba1 
+ 00019349  0x00004265 fetch  0x00000001 , 0x00000d55 
+ 00019350  0x00004266 store  0x00000001 , 0x00000d54 
+ 00019351  0x00004267 fetch  0x00000001 , 0x00000d56 
+ 00019352  0x00004268 istore  0x00000001 , 0x00000005 
+ 00019353  0x00004269 fetch  0x00000001 , 0x00000d58 
+ 00019354  0x0000426a istore  0x00000001 , 0x00000005 
+ 00019355  0x0000426b fetch  0x00000001 , 0x00000d5a 
+ 00019356  0x0000426c istore  0x00000001 , 0x00000005 
+ 00019357  0x0000426d arg  0x00000004 , 0x00000039 
+ 00019358  0x0000426e arg  0x00000d54 , 0x00000006 
+ 00019359  0x0000426f branch  0x00004b5e 
+ 00019360  0x00004272 jam  0x00000000 , 0x00000d52 
+ 00019361  0x00004274 arg  0x00000008 , 0x00000039 
+ 00019362  0x00004275 arg  0x00000d54 , 0x00000006 
+ 00019363  0x00004276 branch  0x00004b5e 
+ 00019364  0x00004279 jam  0x00000000 , 0x00000d52 
+ 00019365  0x0000427a arg  0x00000003 , 0x00000039 
+ 00019366  0x0000427b arg  0x00000d74 , 0x00000006 
+ 00019367  0x0000427c branch  0x00004b5e 
+ 00019368  0x0000427f jam  0x00000000 , 0x00000d51 
+ 00019369  0x00004280 arg  0x00000008 , 0x00000039 
+ 00019370  0x00004281 arg  0x00000d64 , 0x00000006 
+ 00019371  0x00004282 branch  0x00004b52 
+ 00019372  0x00004285 fetch  0x00000001 , 0x00000d36 
+ 00019373  0x00004286 beq  0x00000003 , 0x00004bb0 
+ 00019374  0x00004287 beq  0x00000002 , 0x00004bb2 
+ 00019375  0x00004288 rtn 
+ 00019376  0x0000428a jam  0x00000000 , 0x00000d37 
+ 00019377  0x0000428b rtn 
+ 00019378  0x0000428d hfetch  0x00000001 , 0x00008a00 
+ 00019379  0x0000428e set1  0x00000007 , 0x0000003f 
+ 00019380  0x0000428f hstore  0x00000001 , 0x00008a00 
+ 00019381  0x00004290 jam  0x00000001 , 0x00000d47 
+ 00019382  0x00004291 rtn 
+ 00019383  0x00004294 fetch  0x00000001 , 0x00000d36 
+ 00019384  0x00004295 rtneq  0x00000003 
+ 00019385  0x00004296 beq  0x00000002 , 0x00004bbb 
+ 00019386  0x00004297 rtn 
+ 00019387  0x00004299 fetch  0x00000001 , 0x00000d47 
+ 00019388  0x0000429a rtn  0x00000034 
+ 00019389  0x0000429b jam  0x00000001 , 0x00000d46 
+ 00019390  0x0000429c branch  0x00004bc2 
+ 00019391  0x0000429f arg  0x0000000f , 0x00000007 
+ 00019392  0x000042a0 call  0x00007f16 
+ 00019393  0x000042a1 nrtn  0x00000034 
+ 00019394  0x000042a3 hfetch  0x00000001 , 0x00008a00 
+ 00019395  0x000042a4 rtnbit0  0x00000007 
+ 00019396  0x000042a5 hjam  0x000000fc , 0x00008a00 
+ 00019397  0x000042a6 nop  0x00007530 
+ 00019398  0x000042a7 hjam  0x0000003c , 0x00008a00 
+ 00019399  0x000042a8 rtn 
+ 00019400  0x000042b0 bpatch  0x000000fd , 0x0000401f 
+ 00019401  0x000042b1 fetch  0x00000001 , 0x000041ce 
+ 00019402  0x000042b2 nrtn  0x00000034 
+ 00019403  0x000042b4 call  0x00004bce 
+ 00019404  0x000042b5 ncall  0x00004be6 , 0x00000028 
+ 00019405  0x000042b6 rtn 
+ 00019406  0x000042b9 bpatch  0x000000fe , 0x0000401f 
+ 00019407  0x000042ba copy  0x00000003 , 0x00000011 
+ 00019408  0x000042bb arg  0x00000004 , 0x00000002 
+ 00019409  0x000042bc ifetch  0x00000001 , 0x00000003 
+ 00019410  0x000042bd beq  0x00000001 , 0x00004bd8 
+ 00019411  0x000042be increase  0x00000001 , 0x00000002 
+ 00019412  0x000042bf beq  0x00000002 , 0x00004bd8 
+ 00019413  0x000042c0 copy  0x00000003 , 0x0000003f 
+ 00019414  0x000042c1 hstore  0x00000002 , 0x00008058 
+ 00019415  0x000042c2 rtn 
+ 00019416  0x000042c4 hfetch  0x00000002 , 0x00008112 
+ 00019417  0x000042c5 isub  0x00000002 , 0x0000003e 
+ 00019418  0x000042c6 nbranch  0x00004bd8 , 0x00000002 
+ 00019419  0x000042c8 disable  0x00000028 
+ 00019420  0x000042c9 copy  0x00000011 , 0x00000003 
+ 00019421  0x000042ca call  0x00004bee 
+ 00019422  0x000042cb iadd  0x00000002 , 0x00000002 
+ 00019423  0x000042cd hfetch  0x00000002 , 0x00008112 
+ 00019424  0x000042ce isub  0x00000002 , 0x0000003e 
+ 00019425  0x000042cf nbranch  0x00004bdf , 0x00000002 
+ 00019426  0x000042d0 copy  0x00000011 , 0x00000003 
+ 00019427  0x000042d1 ifetch  0x00000001 , 0x00000003 
+ 00019428  0x000042d2 beq  0x00000001 , 0x00004c3f 
+ 00019429  0x000042d3 branch  0x00002a8c 
+ 00019430  0x000042d6 bpatch  0x000000ff , 0x0000401f 
+ 00019431  0x000042d7 hfetch  0x00000002 , 0x00008058 
+ 00019432  0x000042d8 iforce  0x00000003 
+ 00019433  0x000042d9 call  0x00004bee 
+ 00019434  0x000042da iadd  0x00000003 , 0x00000003 
+ 00019435  0x000042db deposit  0x00000003 
+ 00019436  0x000042dc hstore  0x00000002 , 0x00008058 
+ 00019437  0x000042dd rtn 
+ 00019438  0x000042e3 ifetch  0x00000001 , 0x00000003 
+ 00019439  0x000042e4 increase  0x00000002 , 0x00000003 
+ 00019440  0x000042e5 beq  0x00000002 , 0x00004bf3 
+ 00019441  0x000042e6 ifetch  0x00000001 , 0x00000003 
+ 00019442  0x000042e7 rtn 
+ 00019443  0x000042e9 ifetch  0x00000002 , 0x00000003 
+ 00019444  0x000042ea rtn 
+ 00019445  0x000042ed hfetch  0x00000002 , 0x0000805e 
+ 00019446  0x000042ee increase  0xfffffffb , 0x0000000a 
+ 00019447  0x000042ef iadd  0x0000000a , 0x0000000a 
+ 00019448  0x000042f0 rtn 
+ 00019449  0x000042f3 arg  0x00000004 , 0x00000002 
+ 00019450  0x000042f4 branch  0x00004bfc 
+ 00019451  0x000042f6 arg  0x00000002 , 0x00000002 
+ 00019452  0x000042f8 bpatchx  0x00000000 , 0x00004020 
+ 00019453  0x000042f9 increase  0x00000001 , 0x00000039 
+ 00019454  0x000042fa hfetch  0x00000002 , 0x0000805e 
+ 00019455  0x000042fb copy  0x0000003f , 0x0000000a 
+ 00019456  0x000042fc copy  0x00000039 , 0x0000003f 
+ 00019457  0x000042fd istoret  0x00000001 , 0x0000000a 
+ 00019458  0x000042fe increase  0xffffffff , 0x0000003f 
+ 00019459  0x000042ff iadd  0x0000000a , 0x0000000a 
+ 00019460  0x00004300 copy  0x0000000a , 0x0000003f 
+ 00019461  0x00004301 store  0x00000002 , 0x00000258 
+ 00019462  0x00004302 copy  0x00000002 , 0x0000003f 
+ 00019463  0x00004303 rtneq  0x00000002 
+ 00019464  0x00004304 fetch  0x00000002 , 0x00000258 
+ 00019465  0x00004305 hstore  0x00000002 , 0x0000805e 
+ 00019466  0x00004306 branch  0x00004c0b 
+ 00019467  0x0000430a setarg  0x00000000 
+ 00019468  0x0000430b store  0x00000002 , 0x00000258 
+ 00019469  0x0000430c rtn 
+ 00019470  0x00004314 rtn  0x0000002b 
+ 00019471  0x00004315 setarg  0x00004d28 
+ 00019472  0x00004316 store  0x00000002 , 0x000041f3 
+ 00019473  0x00004318 setarg  0x000001a0 
+ 00019474  0x00004319 store  0x00000002 , 0x00004243 
+ 00019475  0x0000431b setarg  0x00001800 
+ 00019476  0x0000431c hstore  0x00000002 , 0x00008054 
+ 00019477  0x0000431d setarg  0x00001bff 
+ 00019478  0x0000431e hstore  0x00000002 , 0x00008056 
+ 00019479  0x0000431f setarg  0x00001c00 
+ 00019480  0x00004320 hstore  0x00000002 , 0x0000805a 
+ 00019481  0x00004321 call  0x00004c28 
+ 00019482  0x00004323 hjam  0x00000000 , 0x00008062 
+ 00019483  0x00004324 setarg  0x00001c00 
+ 00019484  0x00004325 hstore  0x00000002 , 0x0000805e 
+ 00019485  0x00004326 hstore  0x00000002 , 0x00008060 
+ 00019486  0x00004327 setarg  0x00001800 
+ 00019487  0x00004328 hstore  0x00000002 , 0x00008058 
+ 00019488  0x00004329 store  0x00000002 , 0x00000244 
+ 00019489  0x0000432b hfetch  0x00000002 , 0x00008050 
+ 00019490  0x0000432c set0  0x0000000f , 0x0000003f 
+ 00019491  0x0000432d hstore  0x00000002 , 0x00008050 
+ 00019492  0x0000432e call  0x000066ce 
+ 00019493  0x0000432f hjam  0x00000001 , 0x00008043 
+ 00019494  0x00004330 hjam  0x00000081 , 0x00008062 
+ 00019495  0x00004331 rtn 
+ 00019496  0x00004334 setarg  0x00001fff 
+ 00019497  0x00004335 hstore  0x00000002 , 0x0000805c 
+ 00019498  0x00004336 hfetch  0x00000001 , 0x00008081 
+ 00019499  0x00004337 or_into  0x00000007 , 0x0000003f 
+ 00019500  0x00004338 hstore  0x00000001 , 0x00008081 
+ 00019501  0x00004339 rtn 
+ 00019502  0x0000433d bpatchx  0x00000001 , 0x00004020 
+ 00019503  0x0000433e hfetch  0x00000001 , 0x0000810c 
+ 00019504  0x0000433f iforce  0x00000012 
+ 00019505  0x00004340 bbit0  0x00000003 , 0x00004c37 
+ 00019506  0x00004341 hfetch  0x00000002 , 0x00008112 
+ 00019507  0x00004342 iforce  0x00000013 
+ 00019508  0x00004343 arg  0x0000044f , 0x00000002 
+ 00019509  0x00004344 isub  0x00000002 , 0x0000003e 
+ 00019510  0x00004345 nrtn  0x00000005 
+ 00019511  0x00004347 hfetch  0x00000002 , 0x00008058 
+ 00019512  0x00004348 iforce  0x00000003 
+ 00019513  0x00004349 branch  0x00004bc8 
+ 00019514  0x0000434c hfetcht  0x00000001 , 0x0000810c 
+ 00019515  0x0000434d isolate1  0x00000006 , 0x00000002 
+ 00019516  0x0000434e branch  0x00004c3a , 0x00000001 
+ 00019517  0x0000434f hstore  0x00000001 , 0x00008015 
+ 00019518  0x00004350 rtn 
+ 00019519  0x00004353 bpatchx  0x00000002 , 0x00004020 
+ 00019520  0x00004354 fetch  0x00000001 , 0x000041ce 
+ 00019521  0x00004355 branch  0x00004c44 , 0x00000034 
+ 00019522  0x00004356 enable  0x00000028 
+ 00019523  0x00004357 rtn 
+ 00019524  0x00004359 ifetch  0x00000002 , 0x00000003 
+ 00019525  0x0000435a iforce  0x00000030 
+ 00019526  0x0000435b iforce  0x00000007 
+ 00019527  0x0000435c ifetch  0x00000001 , 0x00000003 
+ 00019528  0x0000435d iforce  0x00000002 
+ 00019529  0x0000435e rshift2  0x00000030 , 0x0000003f 
+ 00019530  0x0000435f rshift8  0x0000003f , 0x0000003f 
+ 00019531  0x00004360 beq  0x0000003f , 0x00004c4d 
+ 00019532  0x00004361 rtn 
+ 00019533  0x00004365 bpatchx  0x00000003 , 0x00004020 
+ 00019534  0x00004366 deposit  0x00000007 
+ 00019535  0x00004367 beq  0x00000000 , 0x00004cdc 
+ 00019536  0x00004368 beq  0x00000001 , 0x00004c66 
+ 00019537  0x00004369 beq  0x00000002 , 0x00004c6b 
+ 00019538  0x0000436a beq  0x00000003 , 0x00004c7a 
+ 00019539  0x0000436b beq  0x00000004 , 0x00004cb3 
+ 00019540  0x0000436c beq  0x00000005 , 0x00004cdc 
+ 00019541  0x0000436d beq  0x00000006 , 0x00004cc6 
+ 00019542  0x0000436e beq  0x00000007 , 0x00004c5c 
+ 00019543  0x00004370 beq  0x00000010 , 0x00004cc9 
+ 00019544  0x00004371 beq  0x00000011 , 0x00004cd1 
+ 00019545  0x00004372 beq  0x00000012 , 0x00004ca5 
+ 00019546  0x00004373 beq  0x00000013 , 0x00004c85 
+ 00019547  0x00004374 branch  0x00004cdc 
+ 00019548  0x00004377 call  0x00004cdc 
+ 00019549  0x00004378 call  0x00007f9e 
+ 00019550  0x00004379 call  0x0000688c 
+ 00019551  0x0000437b call  0x000033d2 
+ 00019552  0x0000437c call  0x000033d9 
+ 00019553  0x0000437d branch  0x0000688f 
+ 00019554  0x00004380 jam  0x00000000 , 0x00004245 
+ 00019555  0x00004381 call  0x000033d0 
+ 00019556  0x00004382 call  0x00004c13 
+ 00019557  0x00004383 branch  0x000033db 
+ 00019558  0x00004386 call  0x00004cf2 
+ 00019559  0x00004387 hfetch  0x00000002 , 0x00008000 
+ 00019560  0x00004388 istore  0x00000002 , 0x0000000a 
+ 00019561  0x00004389 force  0x00000006 , 0x00000039 
+ 00019562  0x0000438a branch  0x00004cdd 
+ 00019563  0x0000438d ifetch  0x00000002 , 0x00000003 
+ 00019564  0x0000438e store  0x00000002 , 0x00004243 
+ 00019565  0x0000438f hstore  0x00000002 , 0x00008052 
+ 00019566  0x00004390 rtn 
+ 00019567  0x00004395 ifetch  0x00000001 , 0x00000003 
+ 00019568  0x00004396 copy  0x0000003f , 0x00000002 
+ 00019569  0x00004397 hstore  0x00000001 , 0x00008024 
+ 00019570  0x00004398 ifetch  0x00000001 , 0x00000003 
+ 00019571  0x00004399 iadd  0x00000002 , 0x00000002 
+ 00019572  0x0000439a set1  0x00000007 , 0x0000003f 
+ 00019573  0x0000439b hstore  0x00000001 , 0x00008023 
+ 00019574  0x0000439c ifetch  0x00000001 , 0x00000003 
+ 00019575  0x0000439d iadd  0x00000002 , 0x00000002 
+ 00019576  0x0000439e copy  0x0000003f , 0x00000039 
+ 00019577  0x0000439f rtn 
+ 00019578  0x000043a2 bmark1  0x0000002b , 0x00004cc4 
+ 00019579  0x000043a3 call  0x00004c6f 
+ 00019580  0x000043a5 ifetch  0x00000001 , 0x00000003 
+ 00019581  0x000043a6 hstore  0x00000001 , 0x00008025 
+ 00019582  0x000043a7 iadd  0x00000002 , 0x00000002 
+ 00019583  0x000043a8 loop  0x00004c7c 
+ 00019584  0x000043aa and  0x00000002 , 0x000000ff , 0x00000002 
+ 00019585  0x000043ab ifetch  0x00000001 , 0x00000003 
+ 00019586  0x000043ac isub  0x00000002 , 0x0000003e 
+ 00019587  0x000043ad nbranch  0x00004cc4 , 0x00000005 
+ 00019588  0x000043ae branch  0x00004cdc 
+ 00019589  0x000043b2 bmark0  0x0000002b , 0x00004cc4 
+ 00019590  0x000043b3 call  0x00004c6f 
+ 00019591  0x000043b4 store  0x00000008 , 0x00000a9a 
+ 00019592  0x000043b6 call  0x00007422 
+ 00019593  0x000043b7 arg  0x00000010 , 0x00000039 
+ 00019594  0x000043b8 arg  0x00000ac2 , 0x00000005 
+ 00019595  0x000043b9 call  0x00004ca0 
+ 00019596  0x000043ba storet  0x00000008 , 0x00000aa2 
+ 00019597  0x000043bb arg  0x00000ad2 , 0x00000005 
+ 00019598  0x000043bc call  0x00007497 
+ 00019599  0x000043bd arg  0x00000ad2 , 0x00000011 
+ 00019600  0x000043be arg  0x00000ac2 , 0x00000012 
+ 00019601  0x000043bf arg  0x00000ae2 , 0x00000005 
+ 00019602  0x000043c0 call  0x00007352 
+ 00019603  0x000043c1 arg  0x00000010 , 0x00000039 
+ 00019604  0x000043c2 arg  0x00000ae2 , 0x00000006 
+ 00019605  0x000043c3 call  0x00004c9c 
+ 00019606  0x000043c4 fetcht  0x00000008 , 0x00000aa2 
+ 00019607  0x000043c5 fetch  0x00000008 , 0x00000a9a 
+ 00019608  0x000043c6 increase  0xfffffff0 , 0x0000003f 
+ 00019609  0x000043c7 store  0x00000008 , 0x00000a9a 
+ 00019610  0x000043c8 nbranch  0x00004c88 , 0x00000034 
+ 00019611  0x000043c9 branch  0x00004c80 
+ 00019612  0x000043cc ifetch  0x00000001 , 0x00000006 
+ 00019613  0x000043cd hstore  0x00000001 , 0x00008025 
+ 00019614  0x000043ce loop  0x00004c9c 
+ 00019615  0x000043cf rtn 
+ 00019616  0x000043d2 ifetch  0x00000001 , 0x00000003 
+ 00019617  0x000043d3 istore  0x00000001 , 0x00000005 
+ 00019618  0x000043d4 iadd  0x00000002 , 0x00000002 
+ 00019619  0x000043d5 loop  0x00004ca0 
+ 00019620  0x000043d6 rtn 
+ 00019621  0x000043d9 bmark0  0x0000002b , 0x00004cc4 
+ 00019622  0x000043da arg  0x00000000 , 0x00000002 
+ 00019623  0x000043db arg  0x00000010 , 0x00000039 
+ 00019624  0x000043dc arg  0x00000ac2 , 0x00000005 
+ 00019625  0x000043dd call  0x00004ca0 
+ 00019626  0x000043de hfetch  0x00000001 , 0x00008085 
+ 00019627  0x000043df and_into  0x000000fd , 0x0000003f 
+ 00019628  0x000043e0 hstore  0x00000001 , 0x00008085 
+ 00019629  0x000043e1 arg  0x00000ac2 , 0x00000006 
+ 00019630  0x000043e2 arg  0x00000010 , 0x00000039 
+ 00019631  0x000043e3 call  0x00007478 
+ 00019632  0x000043e4 call  0x00007428 
+ 00019633  0x000043e5 call  0x00007491 
+ 00019634  0x000043e6 branch  0x00004c80 
+ 00019635  0x000043ea arg  0x00000020 , 0x00000039 
+ 00019636  0x000043eb arg  0x00004000 , 0x00000005 
+ 00019637  0x000043ec arg  0x00000000 , 0x00000002 
+ 00019638  0x000043ee ifetch  0x00000001 , 0x00000003 
+ 00019639  0x000043ef istore  0x00000001 , 0x00000005 
+ 00019640  0x000043f0 iadd  0x00000002 , 0x00000002 
+ 00019641  0x000043f1 loop  0x00004cb6 
+ 00019642  0x000043f2 and  0x00000002 , 0x000000ff , 0x00000002 
+ 00019643  0x000043f3 ifetch  0x00000001 , 0x00000003 
+ 00019644  0x000043f4 isub  0x00000002 , 0x0000003e 
+ 00019645  0x000043f5 nbranch  0x00004cc4 , 0x00000005 
+ 00019646  0x000043f6 hjam  0x00000000 , 0x00008023 
+ 00019647  0x000043f7 call  0x00004cdc 
+ 00019648  0x000043f8 call  0x00004be6 
+ 00019649  0x000043f9 call  0x000064a3 
+ 00019650  0x000043fa call  0x00007f9e 
+ 00019651  0x000043fb branch  0x00002001 
+ 00019652  0x000043fe hjam  0x00000000 , 0x00008023 
+ 00019653  0x000043ff branch  0x00002000 
+ 00019654  0x00004402 ifetch  0x00000006 , 0x00000003 
+ 00019655  0x00004403 store  0x00000006 , 0x000040a0 
+ 00019656  0x00004404 branch  0x00004cdc 
+ 00019657  0x00004408 ifetch  0x00000001 , 0x00000003 
+ 00019658  0x00004409 store  0x00000001 , 0x0000025a 
+ 00019659  0x0000440a copy  0x0000003f , 0x00000039 
+ 00019660  0x0000440b ifetch  0x00000002 , 0x00000003 
+ 00019661  0x0000440c store  0x00000002 , 0x0000025b 
+ 00019662  0x0000440d copy  0x0000003f , 0x00000005 
+ 00019663  0x0000440e call  0x000066fd 
+ 00019664  0x0000440f branch  0x00004cdc 
+ 00019665  0x00004413 ifetch  0x00000001 , 0x00000003 
+ 00019666  0x00004414 store  0x00000001 , 0x0000025a 
+ 00019667  0x00004415 copy  0x0000003f , 0x00000039 
+ 00019668  0x00004416 ifetch  0x00000002 , 0x00000003 
+ 00019669  0x00004417 store  0x00000002 , 0x0000025b 
+ 00019670  0x00004418 arg  0x00001000 , 0x00000005 
+ 00019671  0x00004419 call  0x000066fd 
+ 00019672  0x0000441a fetcht  0x00000001 , 0x0000025a 
+ 00019673  0x0000441b arg  0x00001000 , 0x00000011 
+ 00019674  0x0000441c fetch  0x00000002 , 0x0000025b 
+ 00019675  0x0000441d branch  0x00006608 
+ 00019676  0x00004423 force  0x00000004 , 0x00000039 
+ 00019677  0x00004425 call  0x00004cf4 
+ 00019678  0x00004426 force  0x00000001 , 0x0000003f 
+ 00019679  0x00004427 istore  0x00000001 , 0x0000000a 
+ 00019680  0x00004428 deposit  0x00000030 
+ 00019681  0x00004429 istore  0x00000003 , 0x0000000a 
+ 00019682  0x0000442a force  0x0000000e , 0x00000007 
+ 00019683  0x0000442c bpatchx  0x00000004 , 0x00004020 
+ 00019684  0x0000442d call  0x00004cf6 
+ 00019685  0x0000442e deposit  0x00000007 
+ 00019686  0x0000442f istore  0x00000001 , 0x0000000a 
+ 00019687  0x00004430 deposit  0x00000039 
+ 00019688  0x00004431 istore  0x00000001 , 0x0000000a 
+ 00019689  0x00004433 force  0x00000005 , 0x00000007 
+ 00019690  0x00004434 increase  0x00000002 , 0x00000039 
+ 00019691  0x00004436 branch  0x00004bf9 
+ 00019692  0x00004439 force  0x000000ff , 0x00000007 
+ 00019693  0x0000443a call  0x00004cf4 
+ 00019694  0x0000443b setarg  0x00000001 
+ 00019695  0x0000443c istore  0x00000001 , 0x0000000a 
+ 00019696  0x0000443d force  0x00000001 , 0x00000039 
+ 00019697  0x0000443e branch  0x00004ce3 
+ 00019698  0x00004441 force  0x0000000c , 0x0000000a 
+ 00019699  0x00004442 branch  0x00004cf7 
+ 00019700  0x00004445 force  0x00000008 , 0x0000000a 
+ 00019701  0x00004446 branch  0x00004cf7 
+ 00019702  0x00004449 force  0x00000006 , 0x0000000a 
+ 00019703  0x0000444b branch  0x00004bf5 
+ 00019704  0x00004450 pulse  0x0000000f 
+ 00019705  0x00004451 enable  0x00000009 
+ 00019706  0x00004453 ifetch  0x00000001 , 0x0000000a 
+ 00019707  0x00004454 inject  0x00000000 , 0x00000008 
+ 00019708  0x00004455 loop  0x00004cfa 
+ 00019709  0x00004456 enable  0x00000008 
+ 00019710  0x00004457 inject  0x00000000 , 0x00000010 
+ 00019711  0x00004458 disable  0x00000008 
+ 00019712  0x00004459 disable  0x00000009 
+ 00019713  0x0000445a disable  0x0000000f 
+ 00019714  0x0000445b byteswap  0x0000003f , 0x0000003f 
+ 00019715  0x0000445c rtn 
+ 00019716  0x00004461 jam  0x00000000 , 0x000041ce 
+ 00019717  0x00004462 rtn 
+ 00019718  0x00004464 fetch  0x00000006 , 0x000041d0 
+ 00019719  0x00004465 fetcht  0x00000006 , 0x00000040 
+ 00019720  0x00004466 isub  0x00000002 , 0x0000003e 
+ 00019721  0x00004467 rtn 
+ 00019722  0x0000446d fetch  0x00000001 , 0x0000004b 
+ 00019723  0x0000446e bbit1  0x00000002 , 0x00004d0f 
+ 00019724  0x0000446f call  0x000062ef 
+ 00019725  0x00004470 jam  0x00000008 , 0x0000007c 
+ 00019726  0x00004471 branch  0x00004d04 
+ 00019727  0x00004473 set0  0x00000002 , 0x0000003f 
+ 00019728  0x00004474 store  0x00000001 , 0x0000004b 
+ 00019729  0x00004475 call  0x00006001 
+ 00019730  0x00004476 setarg  0x00000000 
+ 00019731  0x00004477 setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00019732  0x00004478 store  0x00000001 , 0x0000007f 
+ 00019733  0x00004479 branch  0x00004d04 
+ 00019734  0x0000447a rtn 
+ 00019735  0x0000447c jam  0x00000017 , 0x0000007c 
+ 00019736  0x0000447d arg  0x000004d9 , 0x00000005 
+ 00019737  0x0000447e setarg  0x00000000 
+ 00019738  0x0000447f isolate1  0x0000001b , 0x00000028 
+ 00019739  0x00004480 setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00019740  0x00004481 istore  0x00000001 , 0x00000005 
+ 00019741  0x00004482 setarg  0x00000000 
+ 00019742  0x00004483 istore  0x00000002 , 0x00000005 
+ 00019743  0x00004484 fetch  0x00000002 , 0x000041e3 
+ 00019744  0x00004485 istore  0x00000002 , 0x00000005 
+ 00019745  0x00004486 fetch  0x00000001 , 0x000041e5 
+ 00019746  0x00004487 istore  0x00000002 , 0x00000005 
+ 00019747  0x00004488 fetch  0x00000001 , 0x000041e7 
+ 00019748  0x00004489 istore  0x00000002 , 0x00000005 
+ 00019749  0x0000448a branch  0x00004d04 
+ 00019750  0x0000448d jam  0x00000018 , 0x0000007c 
+ 00019751  0x0000448e branch  0x00004d04 
+ 00019752  0x00004491 call  0x00006899 
+ 00019753  0x00004492 rtn  0x00000001 
+ 00019754  0x00004493 arg  0x00000007 , 0x00000002 
+ 00019755  0x00004494 call  0x0000681d 
+ 00019756  0x00004495 nbranch  0x00004d2f , 0x00000001 
+ 00019757  0x00004496 jam  0x00000001 , 0x00004245 
+ 00019758  0x00004497 rtn 
+ 00019759  0x00004499 fetch  0x00000001 , 0x00004245 
+ 00019760  0x0000449a rtnne  0x00000001 
+ 00019761  0x0000449b call  0x00004c62 
+ 00019762  0x0000449c branch  0x00004cec 
+ 00019763  0x000044ab bpatchx  0x00000005 , 0x00004020 
+ 00019764  0x000044ac fetch  0x00000002 , 0x00000264 
+ 00019765  0x000044ad copy  0x0000003f , 0x00000006 
+ 00019766  0x000044ae ifetch  0x00000001 , 0x00000006 
+ 00019767  0x000044af and  0x0000003f , 0x0000000f , 0x00000002 
+ 00019768  0x000044b0 rshift4  0x0000003f , 0x0000003f 
+ 00019769  0x000044b1 beq  0x00000009 , 0x00004d53 
+ 00019770  0x000044b2 beq  0x00000007 , 0x00004d53 
+ 00019771  0x000044b3 beq  0x0000000a , 0x00004d5f 
+ 00019772  0x000044b4 beq  0x00000005 , 0x00004d4b 
+ 00019773  0x000044b5 beq  0x00000001 , 0x00004d3f 
+ 00019774  0x000044b6 rtn 
+ 00019775  0x000044b9 copy  0x00000002 , 0x0000003f 
+ 00019776  0x000044ba beq  0x00000005 , 0x00004d43 
+ 00019777  0x000044bb beq  0x00000003 , 0x00004d4a 
+ 00019778  0x000044bc rtn 
+ 00019779  0x000044bf jam  0x00000027 , 0x00000a99 
+ 00019780  0x000044c0 call  0x00007d86 
+ 00019781  0x000044c1 fetch  0x00000001 , 0x00004092 
+ 00019782  0x000044c2 rtnbit0  0x00000006 
+ 00019783  0x000044c3 copy  0x00000002 , 0x0000003f 
+ 00019784  0x000044c4 beq  0x00000005 , 0x0000438e 
+ 00019785  0x000044c5 rtn 
+ 00019786  0x000044c7 rtn 
+ 00019787  0x000044ca call  0x00004d5f 
+ 00019788  0x000044cb arg  0x00000001 , 0x00000011 
+ 00019789  0x000044cc call  0x00004d63 
+ 00019790  0x000044cd fetch  0x00000002 , 0x0000424c 
+ 00019791  0x000044ce istore  0x00000002 , 0x00000005 
+ 00019792  0x000044cf setarg  0x00000000 
+ 00019793  0x000044d0 istore  0x00000001 , 0x00000005 
+ 00019794  0x000044d1 rtn 
+ 00019795  0x000044d4 arg  0x00000001 , 0x00000011 
+ 00019796  0x000044d5 call  0x00004d63 
+ 00019797  0x000044d6 fetch  0x00000002 , 0x0000424c 
+ 00019798  0x000044d7 istore  0x00000002 , 0x00000005 
+ 00019799  0x000044d8 setarg  0x00000000 
+ 00019800  0x000044d9 istore  0x00000001 , 0x00000005 
+ 00019801  0x000044da jam  0x00000001 , 0x00000a8e 
+ 00019802  0x000044db fetch  0x00000001 , 0x00004252 
+ 00019803  0x000044dc set1  0x00000006 
+ 00019804  0x000044dd store  0x00000001 , 0x00004252 
+ 00019805  0x000044de jam  0x00000012 , 0x00000a99 
+ 00019806  0x000044df branch  0x00007d86 
+ 00019807  0x000044e2 ifetch  0x00000001 , 0x00000006 
+ 00019808  0x000044e3 beq  0x00000001 , 0x00004d62 
+ 00019809  0x000044e4 rtn 
+ 00019810  0x000044e7 rtn 
+ 00019811  0x000044eb call  0x00005240 
+ 00019812  0x000044ec copy  0x00000011 , 0x00000002 
+ 00019813  0x000044ed storet  0x00000001 , 0x00000a8e 
+ 00019814  0x000044ee copy  0x0000003f , 0x00000005 
+ 00019815  0x000044ef copy  0x00000011 , 0x0000003f 
+ 00019816  0x000044f0 istore  0x00000002 , 0x00000005 
+ 00019817  0x000044f1 rtn 
+ 00019818  0x00004503 branch  0x00004d6f , 0x0000002b 
+ 00019819  0x00004505 setarg  0x00004365 
+ 00019820  0x00004506 arg  0x00004246 , 0x00000005 
+ 00019821  0x00004507 isub  0x00000005 , 0x00000039 
+ 00019822  0x00004508 call  0x00007ed4 
+ 00019823  0x0000450a bpatchx  0x00000006 , 0x00004020 
+ 00019824  0x0000450b setarg  0x00000551 
+ 00019825  0x0000450c arg  0x00000511 , 0x00000005 
+ 00019826  0x0000450d isub  0x00000005 , 0x00000039 
+ 00019827  0x0000450e call  0x00007ed4 
+ 00019828  0x0000450f setarg  0x000002c9 
+ 00019829  0x00004510 arg  0x0000025d , 0x00000005 
+ 00019830  0x00004511 isub  0x00000005 , 0x00000039 
+ 00019831  0x00004512 call  0x00007ed4 
+ 00019832  0x00004513 branch  0x00005318 
+ 00019833  0x00004516 bpatchx  0x00000007 , 0x00004020 
+ 00019834  0x00004517 copy  0x00000006 , 0x00000002 
+ 00019835  0x0000451a copy  0x00000002 , 0x00000006 
+ 00019836  0x0000451b ifetch  0x00000002 , 0x00000006 
+ 00019837  0x0000451c store  0x00000002 , 0x00000266 
+ 00019838  0x0000451d ifetch  0x00000002 , 0x00000006 
+ 00019839  0x0000451e store  0x00000002 , 0x00000268 
+ 00019840  0x0000451f deposit  0x00000006 
+ 00019841  0x00004520 store  0x00000002 , 0x00000264 
+ 00019842  0x00004521 fetch  0x00000001 , 0x00004681 
+ 00019843  0x00004522 beq  0x00000000 , 0x00004d85 
+ 00019844  0x00004523 branch  0x000050ef 
+ 00019845  0x00004526 fetch  0x00000002 , 0x00000266 
+ 00019846  0x00004527 branch  0x00004dfc , 0x00000034 
+ 00019847  0x00004528 bpatchx  0x00000008 , 0x00004021 
+ 00019848  0x00004529 fetch  0x00000001 , 0x00000268 
+ 00019849  0x0000452a beq  0x00000001 , 0x00004d9d 
+ 00019850  0x0000452c beq  0x00000050 , 0x00004de0 
+ 00019851  0x0000452d beq  0x00000051 , 0x00004df5 
+ 00019852  0x0000452e beq  0x00000052 , 0x00004df3 
+ 00019853  0x0000452f beq  0x00000053 , 0x00004df3 
+ 00019854  0x00004530 branch  0x00004dfc 
+ 00019855  0x00004535 bpatchx  0x00000009 , 0x00004021 
+ 00019856  0x00004536 call  0x0000527e 
+ 00019857  0x00004537 fetch  0x00000001 , 0x00004256 
+ 00019858  0x00004538 beq  0x00000000 , 0x00004d9b 
+ 00019859  0x00004539 beq  0x00000001 , 0x00004d9b 
+ 00019860  0x0000453a beq  0x00000002 , 0x00004d9b 
+ 00019861  0x0000453b beq  0x00000003 , 0x00004d9b 
+ 00019862  0x0000453c beq  0x00000081 , 0x00004d9b 
+ 00019863  0x0000453d beq  0x000000c0 , 0x00004d9b 
+ 00019864  0x0000453e beq  0x00000080 , 0x00004d9b 
+ 00019865  0x0000453f beq  0x00000040 , 0x00004d9b 
+ 00019866  0x00004540 rtn 
+ 00019867  0x00004543 setarg  0x00000000 
+ 00019868  0x00004544 rtn 
+ 00019869  0x00004548 call  0x00004d8f 
+ 00019870  0x00004549 nrtn  0x00000034 
+ 00019871  0x0000454b call  0x000052b8 
+ 00019872  0x0000454c call  0x00004e01 
+ 00019873  0x0000454d fetcht  0x00000002 , 0x0000026f 
+ 00019874  0x0000454e branch  0x00004dfb , 0x00000034 
+ 00019875  0x0000454f call  0x000052c1 
+ 00019876  0x00004550 fetch  0x00000002 , 0x0000026f 
+ 00019877  0x00004551 istore  0x00000002 , 0x00000005 
+ 00019878  0x00004552 force  0x00000001 , 0x0000003f 
+ 00019879  0x00004553 istore  0x00000002 , 0x00000005 
+ 00019880  0x00004554 branch  0x00004dfc 
+ 00019881  0x00004557 fetch  0x00000001 , 0x00004364 
+ 00019882  0x00004558 rtn  0x00000034 
+ 00019883  0x00004559 copy  0x0000003f , 0x00000011 
+ 00019884  0x0000455a bpatchx  0x0000000a , 0x00004021 
+ 00019885  0x0000455b fetch  0x00000004 , 0x000002d5 
+ 00019886  0x0000455c arg  0x00000100 , 0x00000002 
+ 00019887  0x0000455d iadd  0x00000002 , 0x00000002 
+ 00019888  0x0000455e copy  0x00000022 , 0x0000003f 
+ 00019889  0x0000455f isub  0x00000002 , 0x0000003e 
+ 00019890  0x00004560 nrtn  0x00000002 
+ 00019891  0x00004561 jam  0x00000000 , 0x00004364 
+ 00019892  0x00004562 copy  0x00000011 , 0x0000003f 
+ 00019893  0x00004563 beq  0x00000050 , 0x00004db7 
+ 00019894  0x00004564 branch  0x00002a8c 
+ 00019895  0x00004566 arg  0x00000000 , 0x00000008 
+ 00019896  0x00004567 call  0x000052b8 
+ 00019897  0x00004568 call  0x00004e7a 
+ 00019898  0x00004569 call  0x000052c3 
+ 00019899  0x0000456a call  0x00007ea8 
+ 00019900  0x0000456b call  0x00004ead 
+ 00019901  0x0000456c call  0x000052c1 
+ 00019902  0x0000456e setarg  0x0000000c 
+ 00019903  0x0000456f istore  0x00000002 , 0x00000005 
+ 00019904  0x00004570 force  0x00000001 , 0x0000003f 
+ 00019905  0x00004571 istore  0x00000002 , 0x00000005 
+ 00019906  0x00004572 branch  0x00004dfc 
+ 00019907  0x00004577 bpatchx  0x0000000b , 0x00004021 
+ 00019908  0x00004578 fetch  0x00000002 , 0x00000275 
+ 00019909  0x00004579 increase  0x00000004 , 0x0000003f 
+ 00019910  0x0000457a rshift4  0x0000003f , 0x0000003f 
+ 00019911  0x0000457b rshift3  0x0000003f , 0x0000003f 
+ 00019912  0x0000457c add  0x0000003f , 0x00000001 , 0x00000002 
+ 00019913  0x0000457d arg  0x00004260 , 0x00000006 
+ 00019914  0x0000457e ifetch  0x00000003 , 0x00000006 
+ 00019915  0x0000457f rtn  0x00000034 
+ 00019916  0x00004580 store  0x00000003 , 0x00000ac2 
+ 00019917  0x00004581 fetch  0x00000001 , 0x00000ac2 
+ 00019918  0x00004582 copy  0x0000003f , 0x00000011 
+ 00019919  0x00004583 call  0x00004dd3 
+ 00019920  0x00004584 copy  0x00000012 , 0x0000003f 
+ 00019921  0x00004585 store  0x00000001 , 0x00004260 
+ 00019922  0x00004586 rtn 
+ 00019923  0x00004589 arg  0x00000000 , 0x00000007 
+ 00019924  0x0000458a arg  0x00000000 , 0x00000012 
+ 00019925  0x0000458d sub  0x00000007 , 0x00000007 , 0x0000003e 
+ 00019926  0x0000458e nrtn  0x00000002 
+ 00019927  0x0000458f qisolate1  0x00000011 
+ 00019928  0x00004590 branch  0x00004dda , 0x00000001 
+ 00019929  0x00004591 branch  0x00004dde 
+ 00019930  0x00004594 copy  0x00000002 , 0x0000003f 
+ 00019931  0x00004595 branch  0x00004dde , 0x00000034 
+ 00019932  0x00004596 qset1  0x00000012 
+ 00019933  0x00004597 increase  0xffffffff , 0x00000002 
+ 00019934  0x0000459a increase  0x00000001 , 0x00000007 
+ 00019935  0x0000459b branch  0x00004dd5 
+ 00019936  0x0000459e call  0x00005274 
+ 00019937  0x0000459f nrtn  0x00000034 
+ 00019938  0x000045a0 call  0x00004d8f 
+ 00019939  0x000045a1 nrtn  0x00000034 
+ 00019940  0x000045a2 call  0x000052c5 
+ 00019941  0x000045a3 call  0x00006e11 
+ 00019942  0x000045a4 call  0x00004dc3 
+ 00019943  0x000045a5 branch  0x00004dec 
+ 00019944  0x000045a9 call  0x00005274 
+ 00019945  0x000045aa nrtn  0x00000034 
+ 00019946  0x000045ab call  0x000052c5 
+ 00019947  0x000045ac call  0x00006e11 
+ 00019948  0x000045ae call  0x000052ce 
+ 00019949  0x000045af fetch  0x00000002 , 0x00000275 
+ 00019950  0x000045b0 branch  0x00004dfb , 0x00000034 
+ 00019951  0x000045b1 istore  0x00000002 , 0x00000005 
+ 00019952  0x000045b2 fetch  0x00000002 , 0x00004248 
+ 00019953  0x000045b3 istore  0x00000002 , 0x00000005 
+ 00019954  0x000045b4 branch  0x00004dfc 
+ 00019955  0x000045b7 call  0x00004d33 
+ 00019956  0x000045b8 branch  0x00004dfc 
+ 00019957  0x000045bb bpatchx  0x0000000c , 0x00004021 
+ 00019958  0x000045bc jam  0x00000000 , 0x00000284 
+ 00019959  0x000045bd call  0x00006a8a 
+ 00019960  0x000045be fetch  0x00000001 , 0x00000284 
+ 00019961  0x000045bf rtneq  0x00000001 
+ 00019962  0x000045c0 branch  0x00004dfc 
+ 00019963  0x000045c2 call  0x00005264 
+ 00019964  0x000045c5 setarg  0x00000000 
+ 00019965  0x000045c6 store  0x00000002 , 0x00000266 
+ 00019966  0x000045c7 store  0x00000002 , 0x00000268 
+ 00019967  0x000045c8 jam  0x00000001 , 0x0000026a 
+ 00019968  0x000045c9 rtn 
+ 00019969  0x000045cc bpatchx  0x0000000d , 0x00004021 
+ 00019970  0x000045cd call  0x000052c3 
+ 00019971  0x000045ce force  0x00000000 , 0x00000012 
+ 00019972  0x000045cf fetch  0x00000002 , 0x00000266 
+ 00019973  0x000045d0 copy  0x0000003f , 0x00000013 
+ 00019974  0x000045d1 fetch  0x00000002 , 0x00000264 
+ 00019975  0x000045d2 iforce  0x00000006 
+ 00019976  0x000045d4 call  0x00004e10 
+ 00019977  0x000045d5 deposit  0x00000013 
+ 00019978  0x000045d6 increase  0xfffffffc , 0x00000013 
+ 00019979  0x000045d7 increase  0xfffffffc , 0x0000003f 
+ 00019980  0x000045d8 nbranch  0x00004e08 , 0x00000034 
+ 00019981  0x000045d9 copy  0x00000012 , 0x0000003f 
+ 00019982  0x000045da store  0x00000002 , 0x0000026f 
+ 00019983  0x000045db rtn 
+ 00019984  0x000045de bpatchx  0x0000000e , 0x00004021 
+ 00019985  0x000045df ifetch  0x00000001 , 0x00000006 
+ 00019986  0x000045e0 beq  0x00000001 , 0x00004e49 
+ 00019987  0x000045e1 beq  0x00000002 , 0x00004e51 
+ 00019988  0x000045e2 beq  0x00000003 , 0x00004ed5 
+ 00019989  0x000045e3 beq  0x00000004 , 0x00004f05 
+ 00019990  0x000045e4 beq  0x00000005 , 0x00004fa2 
+ 00019991  0x000045e5 beq  0x00000006 , 0x00004fcb 
+ 00019992  0x000045e6 beq  0x00000007 , 0x0000501b 
+ 00019993  0x000045e7 beq  0x00000008 , 0x00005050 
+ 00019994  0x000045e8 beq  0x00000009 , 0x00005060 
+ 00019995  0x000045e9 beq  0x0000000a , 0x00004e1f 
+ 00019996  0x000045ea beq  0x0000000b , 0x00005061 
+ 00019997  0x000045eb call  0x00005062 
+ 00019998  0x000045ed rtn 
+ 00019999  0x000045f0 ifetch  0x00000001 , 0x00000006 
+ 00020000  0x000045f1 copy  0x0000003f , 0x00000007 
+ 00020001  0x000045f2 ifetch  0x00000002 , 0x00000006 
+ 00020002  0x000045f3 copy  0x0000003f , 0x00000011 
+ 00020003  0x000045f4 copy  0x00000013 , 0x0000003f 
+ 00020004  0x000045f5 isub  0x00000011 , 0x00000013 
+ 00020005  0x000045f6 setarg  0x0000000b 
+ 00020006  0x000045f7 istore  0x00000001 , 0x00000005 
+ 00020007  0x000045f8 copy  0x00000007 , 0x0000003f 
+ 00020008  0x000045f9 istore  0x00000001 , 0x00000005 
+ 00020009  0x000045fa ifetch  0x00000002 , 0x00000006 
+ 00020010  0x000045fc beq  0x00000002 , 0x00004e2d 
+ 00020011  0x000045fd beq  0x00000003 , 0x00004e33 
+ 00020012  0x000045fe rtn 
+ 00020013  0x00004600 setarg  0x00020008 
+ 00020014  0x00004601 istore  0x00000006 , 0x00000005 
+ 00020015  0x00004602 setarg  0x00000280 
+ 00020016  0x00004603 istore  0x00000004 , 0x00000005 
+ 00020017  0x00004604 force  0x0000000c , 0x0000003f 
+ 00020018  0x00004605 branch  0x00004e38 
+ 00020019  0x00004607 setarg  0x0003000c 
+ 00020020  0x00004608 istore  0x00000006 , 0x00000005 
+ 00020021  0x00004609 setarg  0x00000006 
+ 00020022  0x0000460a istore  0x00000008 , 0x00000005 
+ 00020023  0x0000460b force  0x00000010 , 0x0000003f 
+ 00020024  0x0000460d iadd  0x00000012 , 0x00000012 
+ 00020025  0x0000460e branch  0x00004e1e 
+ 00020026  0x00004611 ifetch  0x00000001 , 0x00000006 
+ 00020027  0x00004612 copy  0x0000003f , 0x00000007 
+ 00020028  0x00004613 ifetch  0x00000002 , 0x00000006 
+ 00020029  0x00004614 copy  0x0000003f , 0x00000011 
+ 00020030  0x00004615 ifetch  0x00000002 , 0x00000006 
+ 00020031  0x00004616 store  0x00000002 , 0x00000aa2 
+ 00020032  0x00004617 copy  0x00000013 , 0x0000003f 
+ 00020033  0x00004618 isub  0x00000011 , 0x00000013 
+ 00020034  0x00004619 call  0x000052c3 
+ 00020035  0x0000461a setarg  0x0000000b 
+ 00020036  0x0000461b istore  0x00000001 , 0x00000005 
+ 00020037  0x0000461c copy  0x00000007 , 0x0000003f 
+ 00020038  0x0000461d istore  0x00000001 , 0x00000005 
+ 00020039  0x0000461e fetch  0x00000002 , 0x00000aa2 
+ 00020040  0x0000461f branch  0x00004e2a 
+ 00020041  0x00004624 ifetch  0x00000001 , 0x00000006 
+ 00020042  0x00004625 copy  0x0000003f , 0x00000007 
+ 00020043  0x00004626 ifetch  0x00000002 , 0x00000006 
+ 00020044  0x00004627 copy  0x0000003f , 0x00000011 
+ 00020045  0x00004628 iadd  0x00000006 , 0x00000006 
+ 00020046  0x00004629 copy  0x00000013 , 0x0000003f 
+ 00020047  0x0000462a isub  0x00000011 , 0x00000013 
+ 00020048  0x0000462c branch  0x00004e1e 
+ 00020049  0x0000462f call  0x00007ea8 
+ 00020050  0x00004632 call  0x00007ead 
+ 00020051  0x00004633 arg  0x00000000 , 0x00000008 
+ 00020052  0x00004634 ifetch  0x00000001 , 0x00000006 
+ 00020053  0x00004635 copy  0x0000003f , 0x00000007 
+ 00020054  0x00004636 ifetch  0x00000002 , 0x00000006 
+ 00020055  0x00004637 copy  0x0000003f , 0x00000011 
+ 00020056  0x00004638 ifetch  0x00000002 , 0x00000006 
+ 00020057  0x00004639 copy  0x0000003f , 0x00000002 
+ 00020058  0x0000463a ifetch  0x00000002 , 0x00000006 
+ 00020059  0x0000463b copy  0x0000003f , 0x0000000b 
+ 00020060  0x0000463c bpatchx  0x0000000f , 0x00004021 
+ 00020061  0x0000463d copy  0x00000002 , 0x0000003f 
+ 00020062  0x0000463e beq  0x00000001 , 0x00004e64 
+ 00020063  0x0000463f beq  0x00000003 , 0x00004e86 
+ 00020064  0x00004640 beq  0x00000011 , 0x00004e92 
+ 00020065  0x00004641 beq  0x00000013 , 0x00004e9d 
+ 00020066  0x00004642 call  0x00005062 
+ 00020067  0x00004643 branch  0x00004ed4 
+ 00020068  0x00004646 call  0x00007ea8 
+ 00020069  0x00004647 arg  0x00000050 , 0x00000002 
+ 00020070  0x00004648 fetch  0x00000002 , 0x00004248 
+ 00020071  0x00004649 nbranch  0x00004ece , 0x00000034 
+ 00020072  0x0000464a copy  0x0000000b , 0x0000003f 
+ 00020073  0x0000464b store  0x00000002 , 0x00004248 
+ 00020074  0x0000464c copy  0x00000022 , 0x0000003f 
+ 00020075  0x0000464d store  0x00000004 , 0x000002d5 
+ 00020076  0x0000464e call  0x00004e6e 
+ 00020077  0x0000464f branch  0x00004ea9 
+ 00020078  0x00004652 storet  0x00000002 , 0x000002d3 
+ 00020079  0x00004653 deposit  0x0000000b 
+ 00020080  0x00004654 store  0x00000002 , 0x000002c9 
+ 00020081  0x00004655 deposit  0x00000011 
+ 00020082  0x00004656 store  0x00000002 , 0x000002cb 
+ 00020083  0x00004657 deposit  0x00000012 
+ 00020084  0x00004658 store  0x00000002 , 0x000002cd 
+ 00020085  0x00004659 deposit  0x00000013 
+ 00020086  0x0000465a store  0x00000002 , 0x000002cf 
+ 00020087  0x0000465b deposit  0x00000007 
+ 00020088  0x0000465c store  0x00000002 , 0x000002d1 
+ 00020089  0x0000465d rtn 
+ 00020090  0x00004660 fetcht  0x00000002 , 0x000002d3 
+ 00020091  0x00004661 fetch  0x00000002 , 0x000002c9 
+ 00020092  0x00004662 copy  0x0000003f , 0x0000000b 
+ 00020093  0x00004663 fetch  0x00000002 , 0x000002cb 
+ 00020094  0x00004664 copy  0x0000003f , 0x00000011 
+ 00020095  0x00004665 fetch  0x00000002 , 0x000002cd 
+ 00020096  0x00004666 copy  0x0000003f , 0x00000012 
+ 00020097  0x00004667 fetch  0x00000002 , 0x000002cf 
+ 00020098  0x00004668 copy  0x0000003f , 0x00000013 
+ 00020099  0x00004669 fetch  0x00000002 , 0x000002d1 
+ 00020100  0x0000466a copy  0x0000003f , 0x00000007 
+ 00020101  0x0000466b rtn 
+ 00020102  0x0000466e call  0x00007ea8 
+ 00020103  0x0000466f setarg  0x00000051 
+ 00020104  0x00004670 arg  0x00000051 , 0x00000002 
+ 00020105  0x00004671 fetch  0x00000002 , 0x0000424a 
+ 00020106  0x00004672 nbranch  0x00004ece , 0x00000034 
+ 00020107  0x00004673 copy  0x0000000b , 0x0000003f 
+ 00020108  0x00004674 store  0x00000002 , 0x0000424a 
+ 00020109  0x00004675 fetch  0x00000001 , 0x00004251 
+ 00020110  0x00004676 set1  0x00000000 , 0x0000003f 
+ 00020111  0x00004677 set1  0x00000001 , 0x0000003f 
+ 00020112  0x00004678 store  0x00000001 , 0x00004251 
+ 00020113  0x00004679 branch  0x00004eb1 
+ 00020114  0x0000467b call  0x00007ea8 
+ 00020115  0x0000467c arg  0x00000052 , 0x00000002 
+ 00020116  0x0000467d fetch  0x00000002 , 0x0000424c 
+ 00020117  0x0000467e nbranch  0x00004ece , 0x00000034 
+ 00020118  0x0000467f copy  0x0000000b , 0x0000003f 
+ 00020119  0x00004680 store  0x00000002 , 0x0000424c 
+ 00020120  0x00004681 fetch  0x00000001 , 0x00004252 
+ 00020121  0x00004682 set1  0x00000000 , 0x0000003f 
+ 00020122  0x00004683 set1  0x00000001 , 0x0000003f 
+ 00020123  0x00004684 store  0x00000001 , 0x00004252 
+ 00020124  0x00004685 branch  0x00004eb1 
+ 00020125  0x00004687 call  0x00007ea8 
+ 00020126  0x00004688 deposit  0x0000001a 
+ 00020127  0x00004689 arg  0x00000053 , 0x00000002 
+ 00020128  0x0000468a fetch  0x00000002 , 0x0000424e 
+ 00020129  0x0000468b nbranch  0x00004ece , 0x00000034 
+ 00020130  0x0000468c copy  0x0000000b , 0x0000003f 
+ 00020131  0x0000468d store  0x00000002 , 0x0000424e 
+ 00020132  0x0000468e fetch  0x00000001 , 0x00004253 
+ 00020133  0x0000468f set1  0x00000000 , 0x0000003f 
+ 00020134  0x00004690 set1  0x00000001 , 0x0000003f 
+ 00020135  0x00004691 store  0x00000001 , 0x00004253 
+ 00020136  0x00004692 branch  0x00004eb1 
+ 00020137  0x00004695 setarg  0x00000001 
+ 00020138  0x00004696 store  0x00000002 , 0x0000027d 
+ 00020139  0x00004697 jam  0x00000050 , 0x00004364 
+ 00020140  0x00004698 branch  0x00004eb3 
+ 00020141  0x0000469a fetch  0x00000001 , 0x00004250 
+ 00020142  0x0000469b set1  0x00000000 , 0x0000003f 
+ 00020143  0x0000469c set1  0x00000001 , 0x0000003f 
+ 00020144  0x0000469d store  0x00000001 , 0x00004250 
+ 00020145  0x0000469f setarg  0x00000000 
+ 00020146  0x000046a0 store  0x00000002 , 0x0000027d 
+ 00020147  0x000046a2 bpatchx  0x00000010 , 0x00004022 
+ 00020148  0x000046a3 call  0x00007ead 
+ 00020149  0x000046a4 setarg  0x00000003 
+ 00020150  0x000046a5 istore  0x00000001 , 0x00000005 
+ 00020151  0x000046a6 copy  0x00000007 , 0x0000003f 
+ 00020152  0x000046a7 istore  0x00000001 , 0x00000005 
+ 00020153  0x000046a8 setarg  0x00000008 
+ 00020154  0x000046a9 istore  0x00000002 , 0x00000005 
+ 00020155  0x000046aa copy  0x00000002 , 0x0000003f 
+ 00020156  0x000046ab istore  0x00000002 , 0x00000005 
+ 00020157  0x000046ac copy  0x0000000b , 0x0000003f 
+ 00020158  0x000046ad istore  0x00000002 , 0x00000005 
+ 00020159  0x000046ae fetch  0x00000002 , 0x0000027d 
+ 00020160  0x000046af beq  0x00000001 , 0x00004ec9 
+ 00020161  0x000046b0 isolate0  0x00000000 , 0x00000008 
+ 00020162  0x000046b1 branch  0x00004ec4 , 0x00000001 
+ 00020163  0x000046b2 setarg  0x00000004 
+ 00020164  0x000046b4 istore  0x00000002 , 0x00000005 
+ 00020165  0x000046b5 force  0x00000000 , 0x0000003f 
+ 00020166  0x000046b6 istore  0x00000002 , 0x00000005 
+ 00020167  0x000046b7 setarg  0x0000000c 
+ 00020168  0x000046b8 branch  0x00004ed0 
+ 00020169  0x000046ba istore  0x00000002 , 0x00000005 
+ 00020170  0x000046bb force  0x00000002 , 0x0000003f 
+ 00020171  0x000046bc istore  0x00000002 , 0x00000005 
+ 00020172  0x000046bd setarg  0x0000000c 
+ 00020173  0x000046be branch  0x00004ed0 
+ 00020174  0x000046c1 set1  0x00000000 , 0x00000008 
+ 00020175  0x000046c2 branch  0x00004eb1 
+ 00020176  0x000046c4 iadd  0x00000012 , 0x00000012 
+ 00020177  0x000046c5 copy  0x00000013 , 0x0000003f 
+ 00020178  0x000046c6 isub  0x00000011 , 0x00000013 
+ 00020179  0x000046c7 branch  0x00004ed4 
+ 00020180  0x000046c9 branch  0x00004e1e 
+ 00020181  0x000046cc ifetch  0x00000001 , 0x00000006 
+ 00020182  0x000046cd copy  0x0000003f , 0x00000007 
+ 00020183  0x000046ce ifetch  0x00000002 , 0x00000006 
+ 00020184  0x000046cf copy  0x0000003f , 0x00000011 
+ 00020185  0x000046d0 copy  0x00000013 , 0x0000003f 
+ 00020186  0x000046d1 isub  0x00000011 , 0x00000013 
+ 00020187  0x000046d2 ifetch  0x00000002 , 0x00000006 
+ 00020188  0x000046d3 copy  0x0000003f , 0x0000000b 
+ 00020189  0x000046d4 ifetch  0x00000002 , 0x00000006 
+ 00020190  0x000046d5 copy  0x0000003f , 0x00000002 
+ 00020191  0x000046d6 bpatchx  0x00000011 , 0x00004022 
+ 00020192  0x000046d7 setarg  0x00000050 
+ 00020193  0x000046d8 isub  0x00000002 , 0x0000003e 
+ 00020194  0x000046d9 branch  0x00004eed , 0x00000005 
+ 00020195  0x000046da setarg  0x00000051 
+ 00020196  0x000046db isub  0x00000002 , 0x0000003e 
+ 00020197  0x000046dc branch  0x00004ef3 , 0x00000005 
+ 00020198  0x000046dd setarg  0x00000052 
+ 00020199  0x000046de isub  0x00000002 , 0x0000003e 
+ 00020200  0x000046df branch  0x00004eff , 0x00000005 
+ 00020201  0x000046e0 setarg  0x00000053 
+ 00020202  0x000046e1 isub  0x00000002 , 0x0000003e 
+ 00020203  0x000046e2 branch  0x00004ef9 , 0x00000005 
+ 00020204  0x000046e3 rtn 
+ 00020205  0x000046e6 copy  0x0000000b , 0x0000003f 
+ 00020206  0x000046e7 store  0x00000002 , 0x00004248 
+ 00020207  0x000046e8 fetch  0x00000001 , 0x00004250 
+ 00020208  0x000046e9 set1  0x00000001 , 0x0000003f 
+ 00020209  0x000046ea store  0x00000001 , 0x00004250 
+ 00020210  0x000046eb branch  0x00004e1e 
+ 00020211  0x000046ed copy  0x0000000b , 0x0000003f 
+ 00020212  0x000046ee store  0x00000002 , 0x0000424a 
+ 00020213  0x000046ef fetch  0x00000001 , 0x00004251 
+ 00020214  0x000046f0 set1  0x00000001 , 0x0000003f 
+ 00020215  0x000046f1 store  0x00000001 , 0x00004251 
+ 00020216  0x000046f2 rtn 
+ 00020217  0x000046f4 copy  0x0000000b , 0x0000003f 
+ 00020218  0x000046f5 store  0x00000002 , 0x0000424c 
+ 00020219  0x000046f6 fetch  0x00000001 , 0x00004253 
+ 00020220  0x000046f7 set1  0x00000001 , 0x0000003f 
+ 00020221  0x000046f8 store  0x00000001 , 0x00004253 
+ 00020222  0x000046f9 rtn 
+ 00020223  0x000046fb copy  0x0000000b , 0x0000003f 
+ 00020224  0x000046fc store  0x00000002 , 0x0000424e 
+ 00020225  0x000046fd fetch  0x00000001 , 0x00004252 
+ 00020226  0x000046fe set1  0x00000001 , 0x0000003f 
+ 00020227  0x000046ff store  0x00000001 , 0x00004252 
+ 00020228  0x00004700 rtn 
+ 00020229  0x00004703 ifetch  0x00000001 , 0x00000006 
+ 00020230  0x00004704 copy  0x0000003f , 0x00000007 
+ 00020231  0x00004705 ifetch  0x00000002 , 0x00000006 
+ 00020232  0x00004706 copy  0x0000003f , 0x00000011 
+ 00020233  0x00004707 copy  0x00000013 , 0x0000003f 
+ 00020234  0x00004708 isub  0x00000011 , 0x00000013 
+ 00020235  0x00004709 ifetch  0x00000002 , 0x00000006 
+ 00020236  0x0000470a copy  0x0000003f , 0x00000002 
+ 00020237  0x0000470b copy  0x00000002 , 0x00000011 
+ 00020238  0x0000470c bpatchx  0x00000012 , 0x00004022 
+ 00020239  0x0000470d setarg  0x00000050 
+ 00020240  0x0000470e isub  0x00000002 , 0x0000003e 
+ 00020241  0x0000470f branch  0x00004f1c , 0x00000005 
+ 00020242  0x00004710 setarg  0x00000051 
+ 00020243  0x00004711 isub  0x00000002 , 0x0000003e 
+ 00020244  0x00004712 branch  0x00004f3a , 0x00000005 
+ 00020245  0x00004713 setarg  0x00000052 
+ 00020246  0x00004714 isub  0x00000002 , 0x0000003e 
+ 00020247  0x00004715 branch  0x00004f26 , 0x00000005 
+ 00020248  0x00004716 setarg  0x00000053 
+ 00020249  0x00004717 isub  0x00000002 , 0x0000003e 
+ 00020250  0x00004718 branch  0x00004f30 , 0x00000005 
+ 00020251  0x00004719 branch  0x00005062 
+ 00020252  0x0000471c copy  0x00000005 , 0x0000000b 
+ 00020253  0x0000471d fetch  0x00000001 , 0x00004250 
+ 00020254  0x0000471e set1  0x00000004 , 0x0000003f 
+ 00020255  0x0000471f set1  0x00000003 , 0x0000003f 
+ 00020256  0x00004721 store  0x00000001 , 0x00004250 
+ 00020257  0x00004722 copy  0x0000000b , 0x00000005 
+ 00020258  0x00004723 arg  0x00000050 , 0x0000000b 
+ 00020259  0x00004724 fetch  0x00000002 , 0x00004248 
+ 00020260  0x00004725 copy  0x0000003f , 0x00000002 
+ 00020261  0x00004726 branch  0x00004f43 
+ 00020262  0x00004728 copy  0x00000005 , 0x0000000b 
+ 00020263  0x00004729 fetch  0x00000001 , 0x00004252 
+ 00020264  0x0000472a set1  0x00000004 , 0x0000003f 
+ 00020265  0x0000472b set1  0x00000003 , 0x0000003f 
+ 00020266  0x0000472d store  0x00000001 , 0x00004252 
+ 00020267  0x0000472e copy  0x0000000b , 0x00000005 
+ 00020268  0x0000472f arg  0x00000052 , 0x0000000b 
+ 00020269  0x00004730 fetch  0x00000002 , 0x0000424c 
+ 00020270  0x00004731 copy  0x0000003f , 0x00000002 
+ 00020271  0x00004732 branch  0x00004f43 
+ 00020272  0x00004734 copy  0x00000005 , 0x0000000b 
+ 00020273  0x00004735 fetch  0x00000001 , 0x00004253 
+ 00020274  0x00004736 set1  0x00000004 , 0x0000003f 
+ 00020275  0x00004737 set1  0x00000003 , 0x0000003f 
+ 00020276  0x00004739 store  0x00000001 , 0x00004253 
+ 00020277  0x0000473a copy  0x0000000b , 0x00000005 
+ 00020278  0x0000473b arg  0x00000053 , 0x0000000b 
+ 00020279  0x0000473c fetch  0x00000002 , 0x0000424e 
+ 00020280  0x0000473d copy  0x0000003f , 0x00000002 
+ 00020281  0x0000473e branch  0x00004f43 
+ 00020282  0x00004740 copy  0x00000005 , 0x0000000b 
+ 00020283  0x00004741 fetch  0x00000001 , 0x00004251 
+ 00020284  0x00004742 set1  0x00000004 , 0x0000003f 
+ 00020285  0x00004743 set1  0x00000003 , 0x0000003f 
+ 00020286  0x00004745 store  0x00000001 , 0x00004251 
+ 00020287  0x00004747 copy  0x0000000b , 0x00000005 
+ 00020288  0x00004748 arg  0x00000051 , 0x0000000b 
+ 00020289  0x00004749 fetch  0x00000002 , 0x0000424a 
+ 00020290  0x0000474a copy  0x0000003f , 0x00000002 
+ 00020291  0x0000474c bpatchx  0x00000013 , 0x00004022 
+ 00020292  0x0000474d setarg  0x00000005 
+ 00020293  0x0000474e istore  0x00000001 , 0x00000005 
+ 00020294  0x0000474f copy  0x00000007 , 0x0000003f 
+ 00020295  0x00004750 istore  0x00000001 , 0x00000005 
+ 00020296  0x00004751 setarg  0x00000006 
+ 00020297  0x00004752 istore  0x00000002 , 0x00000005 
+ 00020298  0x00004753 copy  0x00000002 , 0x0000003f 
+ 00020299  0x00004754 istore  0x00000002 , 0x00000005 
+ 00020300  0x00004755 force  0x00000000 , 0x0000003f 
+ 00020301  0x00004756 istore  0x00000002 , 0x00000005 
+ 00020302  0x00004757 force  0x00000000 , 0x0000003f 
+ 00020303  0x00004758 istore  0x00000002 , 0x00000005 
+ 00020304  0x00004759 force  0x0000000a , 0x0000003f 
+ 00020305  0x0000475a iadd  0x00000012 , 0x00000012 
+ 00020306  0x0000475c storet  0x00000002 , 0x00000282 
+ 00020307  0x0000475d copy  0x00000007 , 0x0000003f 
+ 00020308  0x0000475e store  0x00000001 , 0x00000281 
+ 00020309  0x0000475f force  0x00000050 , 0x0000003f 
+ 00020310  0x00004760 icompare  0x000000ff , 0x0000000b 
+ 00020311  0x00004761 branch  0x00004f59 , 0x00000001 
+ 00020312  0x00004762 increase  0x00000001 , 0x0000003f 
+ 00020313  0x00004765 rtn 
+ 00020314  0x00004767 disable  0x00000028 
+ 00020315  0x00004768 rtnbit1  0x00000002 , 0x0000003f 
+ 00020316  0x00004769 rtnbit0  0x00000000 , 0x0000003f 
+ 00020317  0x0000476a rtnbit0  0x00000001 , 0x0000003f 
+ 00020318  0x0000476b set1  0x00000002 , 0x0000003f 
+ 00020319  0x0000476c copy  0x00000006 , 0x00000005 
+ 00020320  0x0000476d increase  0xffffffff , 0x00000005 
+ 00020321  0x0000476e istore  0x00000001 , 0x00000005 
+ 00020322  0x0000476f enable  0x00000028 
+ 00020323  0x00004770 rtn 
+ 00020324  0x00004773 fetch  0x00000001 , 0x00004250 
+ 00020325  0x00004774 call  0x00004f5a 
+ 00020326  0x00004775 nbranch  0x00004f6b , 0x00000028 
+ 00020327  0x00004776 jam  0x00000050 , 0x00000280 
+ 00020328  0x00004777 fetch  0x00000002 , 0x00004248 
+ 00020329  0x00004778 store  0x00000002 , 0x00000282 
+ 00020330  0x00004779 branch  0x00004f7f 
+ 00020331  0x0000477b fetch  0x00000001 , 0x00004251 
+ 00020332  0x0000477c call  0x00004f5a 
+ 00020333  0x0000477d nbranch  0x00004f72 , 0x00000028 
+ 00020334  0x0000477e jam  0x00000051 , 0x00000280 
+ 00020335  0x0000477f fetch  0x00000002 , 0x0000424a 
+ 00020336  0x00004780 store  0x00000002 , 0x00000282 
+ 00020337  0x00004781 branch  0x00004f7f 
+ 00020338  0x00004783 fetch  0x00000001 , 0x00004252 
+ 00020339  0x00004784 call  0x00004f5a 
+ 00020340  0x00004785 nbranch  0x00004f79 , 0x00000028 
+ 00020341  0x00004786 jam  0x00000052 , 0x00000280 
+ 00020342  0x00004787 fetch  0x00000002 , 0x0000424c 
+ 00020343  0x00004788 store  0x00000002 , 0x00000282 
+ 00020344  0x00004789 branch  0x00004f7f 
+ 00020345  0x0000478b fetch  0x00000001 , 0x00004253 
+ 00020346  0x0000478c call  0x00004f5a 
+ 00020347  0x0000478d nrtn  0x00000028 
+ 00020348  0x0000478e jam  0x00000053 , 0x00000280 
+ 00020349  0x0000478f fetch  0x00000002 , 0x0000424e 
+ 00020350  0x00004790 store  0x00000002 , 0x00000282 
+ 00020351  0x00004794 bpatchx  0x00000014 , 0x00004022 
+ 00020352  0x00004795 call  0x0000523a 
+ 00020353  0x00004796 call  0x000052b8 
+ 00020354  0x00004797 force  0x00000000 , 0x00000012 
+ 00020355  0x00004798 call  0x000052c3 
+ 00020356  0x00004799 force  0x00000004 , 0x0000003f 
+ 00020357  0x0000479a istore  0x00000001 , 0x00000005 
+ 00020358  0x0000479b fetch  0x00000001 , 0x00004255 
+ 00020359  0x0000479c istore  0x00000001 , 0x00000005 
+ 00020360  0x0000479d setarg  0x00000008 
+ 00020361  0x0000479e istore  0x00000002 , 0x00000005 
+ 00020362  0x0000479f fetch  0x00000002 , 0x00000282 
+ 00020363  0x000047a0 istore  0x00000002 , 0x00000005 
+ 00020364  0x000047a1 setarg  0x00000000 
+ 00020365  0x000047a2 istore  0x00000002 , 0x00000005 
+ 00020366  0x000047a3 force  0x00000001 , 0x0000003f 
+ 00020367  0x000047a4 istore  0x00000001 , 0x00000005 
+ 00020368  0x000047a5 force  0x00000002 , 0x0000003f 
+ 00020369  0x000047a6 istore  0x00000001 , 0x00000005 
+ 00020370  0x000047a7 fetch  0x00000001 , 0x00000280 
+ 00020371  0x000047a8 beq  0x00000051 , 0x00004f97 
+ 00020372  0x000047a9 setarg  0x00000030 
+ 00020373  0x000047aa istore  0x00000002 , 0x00000005 
+ 00020374  0x000047ab branch  0x00004f99 
+ 00020375  0x000047ad setarg  0x000003e3 
+ 00020376  0x000047ae istore  0x00000002 , 0x00000005 
+ 00020377  0x000047b0 arg  0x0000000c , 0x00000002 
+ 00020378  0x000047b1 storet  0x00000002 , 0x0000026f 
+ 00020379  0x000047b2 call  0x000052c1 
+ 00020380  0x000047b3 fetch  0x00000002 , 0x0000026f 
+ 00020381  0x000047b4 istore  0x00000002 , 0x00000005 
+ 00020382  0x000047b5 force  0x00000001 , 0x0000003f 
+ 00020383  0x000047b6 istore  0x00000002 , 0x00000005 
+ 00020384  0x000047b7 jam  0x00000000 , 0x00000280 
+ 00020385  0x000047b9 branch  0x00004e1e 
+ 00020386  0x000047bc increase  0x00000001 , 0x00000006 
+ 00020387  0x000047bd ifetch  0x00000002 , 0x00000006 
+ 00020388  0x000047be copy  0x0000003f , 0x00000011 
+ 00020389  0x000047bf copy  0x00000013 , 0x0000003f 
+ 00020390  0x000047c0 isub  0x00000011 , 0x00000013 
+ 00020391  0x000047c1 ifetch  0x00000002 , 0x00000006 
+ 00020392  0x000047c2 copy  0x0000003f , 0x00000011 
+ 00020393  0x000047c3 bpatchx  0x00000015 , 0x00004022 
+ 00020394  0x000047c4 setarg  0x00000050 
+ 00020395  0x000047c5 isub  0x00000011 , 0x0000003e 
+ 00020396  0x000047c6 branch  0x00004fba , 0x00000005 
+ 00020397  0x000047c7 setarg  0x00000051 
+ 00020398  0x000047c8 isub  0x00000011 , 0x0000003e 
+ 00020399  0x000047c9 branch  0x00004fbe , 0x00000005 
+ 00020400  0x000047ca setarg  0x00000052 
+ 00020401  0x000047cb isub  0x00000011 , 0x0000003e 
+ 00020402  0x000047cc branch  0x00004fc2 , 0x00000005 
+ 00020403  0x000047cd setarg  0x00000053 
+ 00020404  0x000047ce isub  0x00000011 , 0x0000003e 
+ 00020405  0x000047cf branch  0x00004fc6 , 0x00000005 
+ 00020406  0x000047d0 increase  0x00000002 , 0x00000006 
+ 00020407  0x000047d1 ifetch  0x00000002 , 0x00000006 
+ 00020408  0x000047d2 iforce  0x0000003e 
+ 00020409  0x000047d3 branch  0x00004e1e 
+ 00020410  0x000047d5 fetch  0x00000001 , 0x00004250 
+ 00020411  0x000047d6 set1  0x00000005 , 0x0000003f 
+ 00020412  0x000047d7 store  0x00000001 , 0x00004250 
+ 00020413  0x000047d8 branch  0x00004e1e 
+ 00020414  0x000047da fetch  0x00000001 , 0x00004251 
+ 00020415  0x000047db set1  0x00000005 , 0x0000003f 
+ 00020416  0x000047dc store  0x00000001 , 0x00004251 
+ 00020417  0x000047dd branch  0x00004e1e 
+ 00020418  0x000047df fetch  0x00000001 , 0x00004252 
+ 00020419  0x000047e0 set1  0x00000005 , 0x0000003f 
+ 00020420  0x000047e1 store  0x00000001 , 0x00004252 
+ 00020421  0x000047e2 branch  0x00004e1e 
+ 00020422  0x000047e4 fetch  0x00000001 , 0x00004253 
+ 00020423  0x000047e5 set1  0x00000005 , 0x0000003f 
+ 00020424  0x000047e6 store  0x00000001 , 0x00004253 
+ 00020425  0x000047e7 jam  0x00000006 , 0x00000a99 
+ 00020426  0x000047e8 branch  0x00007d86 
+ 00020427  0x000047ed ifetch  0x00000001 , 0x00000006 
+ 00020428  0x000047ee copy  0x0000003f , 0x00000007 
+ 00020429  0x000047ef ifetch  0x00000002 , 0x00000006 
+ 00020430  0x000047f0 copy  0x0000003f , 0x00000011 
+ 00020431  0x000047f1 copy  0x00000013 , 0x0000003f 
+ 00020432  0x000047f2 isub  0x00000011 , 0x00000013 
+ 00020433  0x000047f3 ifetch  0x00000002 , 0x00000006 
+ 00020434  0x000047f4 copy  0x0000003f , 0x00000011 
+ 00020435  0x000047f5 ifetch  0x00000002 , 0x00000006 
+ 00020436  0x000047f6 copy  0x0000003f , 0x0000000b 
+ 00020437  0x000047f7 copy  0x00000011 , 0x00000002 
+ 00020438  0x000047f8 call  0x00007ea8 
+ 00020439  0x000047f9 bpatchx  0x00000016 , 0x00004022 
+ 00020440  0x000047fa setarg  0x00000050 
+ 00020441  0x000047fb isub  0x00000002 , 0x0000003e 
+ 00020442  0x000047fc branch  0x00004ff2 , 0x00000005 
+ 00020443  0x000047fd setarg  0x00000051 
+ 00020444  0x000047fe isub  0x00000002 , 0x0000003e 
+ 00020445  0x000047ff branch  0x00005002 , 0x00000005 
+ 00020446  0x00004800 setarg  0x00000052 
+ 00020447  0x00004801 isub  0x00000002 , 0x0000003e 
+ 00020448  0x00004802 branch  0x00004fe6 , 0x00000005 
+ 00020449  0x00004803 setarg  0x00000053 
+ 00020450  0x00004804 isub  0x00000002 , 0x0000003e 
+ 00020451  0x00004805 branch  0x00004fec , 0x00000005 
+ 00020452  0x00004806 call  0x00005062 
+ 00020453  0x00004807 branch  0x00005017 
+ 00020454  0x00004809 copy  0x0000000b , 0x00000002 
+ 00020455  0x0000480a fetch  0x00000002 , 0x0000424c 
+ 00020456  0x0000480b isub  0x00000002 , 0x0000003e 
+ 00020457  0x0000480c branch  0x00004ff8 , 0x00000005 
+ 00020458  0x0000480d call  0x00005062 
+ 00020459  0x0000480e branch  0x00005017 
+ 00020460  0x00004810 copy  0x0000000b , 0x00000002 
+ 00020461  0x00004811 fetch  0x00000002 , 0x0000424e 
+ 00020462  0x00004812 isub  0x00000002 , 0x0000003e 
+ 00020463  0x00004813 branch  0x00004ffa , 0x00000005 
+ 00020464  0x00004814 call  0x00005062 
+ 00020465  0x00004815 branch  0x00005017 
+ 00020466  0x00004818 copy  0x0000000b , 0x00000002 
+ 00020467  0x00004819 fetch  0x00000002 , 0x00004248 
+ 00020468  0x0000481a isub  0x00000002 , 0x0000003e 
+ 00020469  0x0000481b branch  0x00004ffe , 0x00000005 
+ 00020470  0x0000481c call  0x00005062 
+ 00020471  0x0000481d branch  0x00005017 
+ 00020472  0x0000481f call  0x00005079 
+ 00020473  0x00004820 branch  0x0000500a 
+ 00020474  0x00004822 call  0x0000507f 
+ 00020475  0x00004823 fetch  0x00000002 , 0x0000424c 
+ 00020476  0x00004824 branch  0x0000500a , 0x00000034 
+ 00020477  0x0000482c branch  0x0000500a 
+ 00020478  0x0000482f call  0x00005074 
+ 00020479  0x00004830 fetch  0x00000001 , 0x00000288 
+ 00020480  0x00004831 nbranch  0x0000500a , 0x00000034 
+ 00020481  0x00004834 branch  0x0000500a 
+ 00020482  0x00004836 copy  0x0000000b , 0x00000002 
+ 00020483  0x00004837 fetch  0x00000002 , 0x0000424a 
+ 00020484  0x00004838 isub  0x00000002 , 0x0000003e 
+ 00020485  0x00004839 branch  0x00005008 , 0x00000005 
+ 00020486  0x0000483a call  0x00005062 
+ 00020487  0x0000483b branch  0x00005017 
+ 00020488  0x0000483d call  0x0000506f 
+ 00020489  0x0000483e branch  0x0000500a 
+ 00020490  0x00004840 call  0x00007ead 
+ 00020491  0x00004841 setarg  0x00000007 
+ 00020492  0x00004842 istore  0x00000001 , 0x00000005 
+ 00020493  0x00004843 copy  0x00000007 , 0x0000003f 
+ 00020494  0x00004844 istore  0x00000001 , 0x00000005 
+ 00020495  0x00004845 setarg  0x00000004 
+ 00020496  0x00004846 istore  0x00000002 , 0x00000005 
+ 00020497  0x00004847 copy  0x00000011 , 0x0000003f 
+ 00020498  0x00004848 istore  0x00000002 , 0x00000005 
+ 00020499  0x00004849 copy  0x0000000b , 0x0000003f 
+ 00020500  0x0000484a istore  0x00000002 , 0x00000005 
+ 00020501  0x0000484b force  0x00000008 , 0x0000003f 
+ 00020502  0x0000484c branch  0x00005019 
+ 00020503  0x0000484e call  0x00007ead 
+ 00020504  0x0000484f branch  0x00005019 
+ 00020505  0x00004851 iadd  0x00000012 , 0x00000012 
+ 00020506  0x00004852 branch  0x00004e1e 
+ 00020507  0x00004854 ifetch  0x00000001 , 0x00000006 
+ 00020508  0x00004855 copy  0x0000003f , 0x00000007 
+ 00020509  0x00004856 ifetch  0x00000002 , 0x00000006 
+ 00020510  0x00004857 copy  0x0000003f , 0x00000011 
+ 00020511  0x00004858 copy  0x00000013 , 0x0000003f 
+ 00020512  0x00004859 isub  0x00000011 , 0x00000013 
+ 00020513  0x0000485a ifetch  0x00000002 , 0x00000006 
+ 00020514  0x0000485b copy  0x0000003f , 0x0000000b 
+ 00020515  0x0000485c ifetch  0x00000002 , 0x00000006 
+ 00020516  0x0000485d copy  0x0000003f , 0x00000002 
+ 00020517  0x0000485e call  0x00007ea8 
+ 00020518  0x0000485f bpatchx  0x00000017 , 0x00004022 
+ 00020519  0x00004860 setarg  0x00000050 
+ 00020520  0x00004861 isub  0x00000002 , 0x0000003e 
+ 00020521  0x00004862 branch  0x00005035 , 0x00000005 
+ 00020522  0x00004863 setarg  0x00000051 
+ 00020523  0x00004864 isub  0x00000002 , 0x0000003e 
+ 00020524  0x00004865 branch  0x0000503b , 0x00000005 
+ 00020525  0x00004866 setarg  0x00000052 
+ 00020526  0x00004867 isub  0x00000002 , 0x0000003e 
+ 00020527  0x00004868 branch  0x00005041 , 0x00000005 
+ 00020528  0x00004869 setarg  0x00000053 
+ 00020529  0x0000486a isub  0x00000002 , 0x0000003e 
+ 00020530  0x0000486b branch  0x00005047 , 0x00000005 
+ 00020531  0x0000486c call  0x00005062 
+ 00020532  0x0000486d branch  0x0000504f 
+ 00020533  0x0000486f copy  0x00000002 , 0x00000011 
+ 00020534  0x00004870 copy  0x0000000b , 0x00000002 
+ 00020535  0x00004871 fetch  0x00000002 , 0x00004248 
+ 00020536  0x00004872 isub  0x00000002 , 0x0000003e 
+ 00020537  0x00004873 call  0x00005074 , 0x00000005 
+ 00020538  0x00004874 branch  0x0000504d 
+ 00020539  0x00004876 copy  0x00000002 , 0x00000011 
+ 00020540  0x00004877 copy  0x0000000b , 0x00000002 
+ 00020541  0x00004878 fetch  0x00000002 , 0x0000424a 
+ 00020542  0x00004879 isub  0x00000002 , 0x0000003e 
+ 00020543  0x0000487a call  0x0000506f , 0x00000005 
+ 00020544  0x0000487b branch  0x0000504d 
+ 00020545  0x0000487d copy  0x00000002 , 0x00000011 
+ 00020546  0x0000487e copy  0x0000000b , 0x00000002 
+ 00020547  0x0000487f fetch  0x00000002 , 0x0000424c 
+ 00020548  0x00004880 isub  0x00000002 , 0x0000003e 
+ 00020549  0x00004881 call  0x00005079 , 0x00000005 
+ 00020550  0x00004882 branch  0x0000504d 
+ 00020551  0x00004884 copy  0x00000002 , 0x00000011 
+ 00020552  0x00004885 copy  0x0000000b , 0x00000002 
+ 00020553  0x00004886 fetch  0x00000002 , 0x0000424e 
+ 00020554  0x00004887 isub  0x00000002 , 0x0000003e 
+ 00020555  0x00004888 call  0x0000507f , 0x00000005 
+ 00020556  0x00004889 branch  0x0000504d 
+ 00020557  0x0000488b call  0x00007ead 
+ 00020558  0x0000488c branch  0x00004e1e 
+ 00020559  0x0000488e branch  0x00004e1e 
+ 00020560  0x00004892 ifetch  0x00000001 , 0x00000006 
+ 00020561  0x00004893 copy  0x0000003f , 0x00000007 
+ 00020562  0x00004894 ifetch  0x00000002 , 0x00000006 
+ 00020563  0x00004895 copy  0x0000003f , 0x00000011 
+ 00020564  0x00004896 iadd  0x00000006 , 0x00000006 
+ 00020565  0x00004897 setarg  0x00000009 
+ 00020566  0x00004898 istore  0x00000001 , 0x00000005 
+ 00020567  0x00004899 copy  0x00000007 , 0x0000003f 
+ 00020568  0x0000489a istore  0x00000001 , 0x00000005 
+ 00020569  0x0000489b force  0x00000000 , 0x0000003f 
+ 00020570  0x0000489c istore  0x00000002 , 0x00000005 
+ 00020571  0x0000489d force  0x00000004 , 0x0000003f 
+ 00020572  0x0000489e iadd  0x00000012 , 0x00000012 
+ 00020573  0x0000489f copy  0x00000013 , 0x0000003f 
+ 00020574  0x000048a0 isub  0x00000011 , 0x00000013 
+ 00020575  0x000048a1 branch  0x00004e1e 
+ 00020576  0x000048a3 branch  0x00004e1e 
+ 00020577  0x000048a6 branch  0x00004e1e 
+ 00020578  0x000048a8 force  0x00000000 , 0x00000012 
+ 00020579  0x000048a9 call  0x000052c3 
+ 00020580  0x000048aa setarg  0x00000001 
+ 00020581  0x000048ab istore  0x00000001 , 0x00000005 
+ 00020582  0x000048ac copy  0x00000007 , 0x0000003f 
+ 00020583  0x000048ad istore  0x00000001 , 0x00000005 
+ 00020584  0x000048ae setarg  0x00000002 
+ 00020585  0x000048af istore  0x00000002 , 0x00000005 
+ 00020586  0x000048b0 setarg  0x00000000 
+ 00020587  0x000048b1 istore  0x00000002 , 0x00000005 
+ 00020588  0x000048b2 increase  0x00000006 , 0x00000012 
+ 00020589  0x000048b3 arg  0x00000004 , 0x00000013 
+ 00020590  0x000048b4 branch  0x00004e1e 
+ 00020591  0x000048b9 setarg  0x00000000 
+ 00020592  0x000048ba store  0x00000002 , 0x0000027b 
+ 00020593  0x000048bb store  0x00000002 , 0x0000424a 
+ 00020594  0x000048bc jam  0x00000000 , 0x00004251 
+ 00020595  0x000048bd rtn 
+ 00020596  0x000048bf setarg  0x00000000 
+ 00020597  0x000048c0 store  0x00000002 , 0x00000275 
+ 00020598  0x000048c1 store  0x00000002 , 0x00004248 
+ 00020599  0x000048c2 jam  0x00000000 , 0x00004250 
+ 00020600  0x000048c3 rtn 
+ 00020601  0x000048c5 setarg  0x00000000 
+ 00020602  0x000048c6 store  0x00000002 , 0x0000424c 
+ 00020603  0x000048c7 jam  0x00000000 , 0x00004252 
+ 00020604  0x000048c8 fetch  0x00000001 , 0x00004253 
+ 00020605  0x000048c9 beq  0x00000000 , 0x00005085 
+ 00020606  0x000048ca rtn 
+ 00020607  0x000048cd setarg  0x00000000 
+ 00020608  0x000048ce store  0x00000002 , 0x0000424e 
+ 00020609  0x000048cf jam  0x00000000 , 0x00004253 
+ 00020610  0x000048d0 fetch  0x00000001 , 0x00004252 
+ 00020611  0x000048d1 beq  0x00000000 , 0x00005085 
+ 00020612  0x000048d2 rtn 
+ 00020613  0x000048d5 jam  0x00000007 , 0x00000a99 
+ 00020614  0x000048d6 branch  0x00007d86 
+ 00020615  0x000048d9 fetch  0x00000001 , 0x0000027f 
+ 00020616  0x000048da set0  0x00000000 , 0x0000003f 
+ 00020617  0x000048db store  0x00000001 , 0x0000027f 
+ 00020618  0x000048dc fetch  0x00000002 , 0x0000424e 
+ 00020619  0x000048dd rtn  0x00000034 
+ 00020620  0x000048de call  0x000052b8 
+ 00020621  0x000048df fetch  0x00000002 , 0x0000424e 
+ 00020622  0x000048e0 copy  0x0000003f , 0x00000011 
+ 00020623  0x000048e1 force  0x00000053 , 0x00000012 
+ 00020624  0x000048e2 branch  0x0000509a 
+ 00020625  0x000048e4 fetch  0x00000001 , 0x0000027f 
+ 00020626  0x000048e5 set0  0x00000007 , 0x0000003f 
+ 00020627  0x000048e6 store  0x00000001 , 0x0000027f 
+ 00020628  0x000048e7 fetch  0x00000002 , 0x0000424c 
+ 00020629  0x000048e8 rtn  0x00000034 
+ 00020630  0x000048e9 call  0x000052b8 
+ 00020631  0x000048ea fetch  0x00000002 , 0x0000424c 
+ 00020632  0x000048eb copy  0x0000003f , 0x00000011 
+ 00020633  0x000048ec force  0x00000052 , 0x00000012 
+ 00020634  0x000048ee call  0x0000523a 
+ 00020635  0x000048ef call  0x000052c3 
+ 00020636  0x000048f0 force  0x00000006 , 0x0000003f 
+ 00020637  0x000048f1 istore  0x00000001 , 0x00000005 
+ 00020638  0x000048f2 fetch  0x00000001 , 0x00004255 
+ 00020639  0x000048f3 istore  0x00000001 , 0x00000005 
+ 00020640  0x000048f4 setarg  0x00000004 
+ 00020641  0x000048f5 istore  0x00000002 , 0x00000005 
+ 00020642  0x000048f6 copy  0x00000011 , 0x0000003f 
+ 00020643  0x000048f7 istore  0x00000002 , 0x00000005 
+ 00020644  0x000048f8 copy  0x00000012 , 0x0000003f 
+ 00020645  0x000048f9 istore  0x00000002 , 0x00000005 
+ 00020646  0x000048fa force  0x00000008 , 0x00000002 
+ 00020647  0x000048fb branch  0x000050de 
+ 00020648  0x000048fe bpatchx  0x00000018 , 0x00004023 
+ 00020649  0x000048ff call  0x0000523a 
+ 00020650  0x00004900 call  0x000052c3 
+ 00020651  0x00004901 setarg  0x00000002 
+ 00020652  0x00004902 istore  0x00000001 , 0x00000005 
+ 00020653  0x00004903 fetch  0x00000001 , 0x00004255 
+ 00020654  0x00004904 istore  0x00000001 , 0x00000005 
+ 00020655  0x00004905 setarg  0x00000004 
+ 00020656  0x00004906 istore  0x00000002 , 0x00000005 
+ 00020657  0x00004907 copy  0x00000002 , 0x0000003f 
+ 00020658  0x00004908 istore  0x00000002 , 0x00000005 
+ 00020659  0x00004909 copy  0x0000000b , 0x0000003f 
+ 00020660  0x0000490a istore  0x00000002 , 0x00000005 
+ 00020661  0x0000490b arg  0x00000008 , 0x00000002 
+ 00020662  0x0000490c branch  0x000050de 
+ 00020663  0x0000490e bpatchx  0x00000019 , 0x00004023 
+ 00020664  0x0000490f call  0x0000523a 
+ 00020665  0x00004910 call  0x000052c3 
+ 00020666  0x00004911 setarg  0x00000004 
+ 00020667  0x00004912 istore  0x00000001 , 0x00000005 
+ 00020668  0x00004913 fetch  0x00000001 , 0x00004255 
+ 00020669  0x00004914 istore  0x00000001 , 0x00000005 
+ 00020670  0x00004915 setarg  0x00000008 
+ 00020671  0x00004916 istore  0x00000002 , 0x00000005 
+ 00020672  0x00004918 copy  0x00000002 , 0x0000003f 
+ 00020673  0x0000491a istore  0x00000002 , 0x00000005 
+ 00020674  0x0000491b setarg  0x00000000 
+ 00020675  0x0000491c istore  0x00000002 , 0x00000005 
+ 00020676  0x0000491d setarg  0x00000001 
+ 00020677  0x0000491e istore  0x00000001 , 0x00000005 
+ 00020678  0x0000491f setarg  0x00000002 
+ 00020679  0x00004920 istore  0x00000001 , 0x00000005 
+ 00020680  0x00004921 setarg  0x000003e3 
+ 00020681  0x00004922 istore  0x00000002 , 0x00000005 
+ 00020682  0x00004923 arg  0x0000000c , 0x00000002 
+ 00020683  0x00004924 branch  0x000050de 
+ 00020684  0x00004926 bpatchx  0x0000001a , 0x00004023 
+ 00020685  0x00004927 call  0x0000523a 
+ 00020686  0x00004928 call  0x000052c3 
+ 00020687  0x00004929 setarg  0x00000006 
+ 00020688  0x0000492a istore  0x00000001 , 0x00000005 
+ 00020689  0x0000492b fetch  0x00000001 , 0x00004255 
+ 00020690  0x0000492c increase  0x00000001 , 0x0000003f 
+ 00020691  0x0000492d copy  0x00000005 , 0x00000011 
+ 00020692  0x0000492e store  0x00000001 , 0x00004255 
+ 00020693  0x0000492f copy  0x00000011 , 0x00000005 
+ 00020694  0x00004930 istore  0x00000001 , 0x00000005 
+ 00020695  0x00004931 setarg  0x00000004 
+ 00020696  0x00004932 istore  0x00000002 , 0x00000005 
+ 00020697  0x00004933 copy  0x00000002 , 0x0000003f 
+ 00020698  0x00004934 istore  0x00000002 , 0x00000005 
+ 00020699  0x00004935 copy  0x0000000b , 0x0000003f 
+ 00020700  0x00004936 istore  0x00000002 , 0x00000005 
+ 00020701  0x00004937 arg  0x00000008 , 0x00000002 
+ 00020702  0x0000493b storet  0x00000002 , 0x0000026f 
+ 00020703  0x0000493c copy  0x00000002 , 0x0000003f 
+ 00020704  0x0000493d branch  0x00005264 , 0x00000034 
+ 00020705  0x0000493e call  0x000052c1 
+ 00020706  0x0000493f fetch  0x00000002 , 0x0000026f 
+ 00020707  0x00004940 istore  0x00000002 , 0x00000005 
+ 00020708  0x00004941 force  0x00000001 , 0x0000003f 
+ 00020709  0x00004942 istore  0x00000002 , 0x00000005 
+ 00020710  0x00004943 rtn 
+ 00020711  0x00004946 fetch  0x00000002 , 0x00000275 
+ 00020712  0x00004947 branch  0x00002a8c , 0x00000034 
+ 00020713  0x00004948 call  0x000052ce 
+ 00020714  0x00004949 fetch  0x00000002 , 0x00000275 
+ 00020715  0x0000494a istore  0x00000002 , 0x00000005 
+ 00020716  0x0000494b fetch  0x00000002 , 0x00004248 
+ 00020717  0x0000494c istore  0x00000002 , 0x00000005 
+ 00020718  0x0000494d rtn 
+ 00020719  0x0000494f fetch  0x00000002 , 0x00000266 
+ 00020720  0x00004950 branch  0x00004dfc , 0x00000034 
+ 00020721  0x00004951 bpatchx  0x0000001b , 0x00004023 
+ 00020722  0x00004952 fetch  0x00000001 , 0x00000268 
+ 00020723  0x00004953 beq  0x00000001 , 0x000050f9 
+ 00020724  0x00004954 beq  0x00000050 , 0x00004de8 
+ 00020725  0x00004955 beq  0x00000051 , 0x00004df5 
+ 00020726  0x00004956 beq  0x00000052 , 0x00004df3 
+ 00020727  0x00004957 beq  0x00000053 , 0x00004df3 
+ 00020728  0x00004958 branch  0x00004dfc 
+ 00020729  0x0000495b bpatchx  0x0000001c , 0x00004023 
+ 00020730  0x0000495c call  0x000052b8 
+ 00020731  0x0000495d force  0x00000000 , 0x00000012 
+ 00020732  0x0000495e call  0x000052c3 
+ 00020733  0x0000495f copy  0x0000003f , 0x00000005 
+ 00020734  0x00004960 fetch  0x00000002 , 0x00000266 
+ 00020735  0x00004961 copy  0x0000003f , 0x00000013 
+ 00020736  0x00004962 fetch  0x00000002 , 0x00000264 
+ 00020737  0x00004963 iforce  0x00000006 
+ 00020738  0x00004965 call  0x00005108 
+ 00020739  0x00004966 increase  0xfffffffc , 0x00000013 
+ 00020740  0x00004967 nbranch  0x00005102 , 0x00000005 
+ 00020741  0x00004968 copy  0x00000012 , 0x00000002 
+ 00020742  0x00004969 call  0x000050de 
+ 00020743  0x0000496a branch  0x00004dfc 
+ 00020744  0x0000496d ifetch  0x00000001 , 0x00000006 
+ 00020745  0x0000496e beq  0x00000002 , 0x00005113 
+ 00020746  0x0000496f beq  0x00000001 , 0x00005116 
+ 00020747  0x00004970 beq  0x00000003 , 0x00005120 
+ 00020748  0x00004971 beq  0x00000005 , 0x0000515c 
+ 00020749  0x00004972 beq  0x00000004 , 0x0000518e 
+ 00020750  0x00004973 beq  0x00000007 , 0x00005213 
+ 00020751  0x00004974 beq  0x00000006 , 0x000051e1 
+ 00020752  0x00004975 beq  0x00000008 , 0x00005050 
+ 00020753  0x00004976 beq  0x0000000a , 0x00004e3a 
+ 00020754  0x00004977 branch  0x0000522e 
+ 00020755  0x0000497a call  0x00007ea8 
+ 00020756  0x0000497c call  0x00007ead 
+ 00020757  0x0000497d branch  0x00004e51 
+ 00020758  0x0000497f ifetch  0x00000001 , 0x00000006 
+ 00020759  0x00004980 copy  0x0000003f , 0x00000007 
+ 00020760  0x00004981 ifetch  0x00000002 , 0x00000006 
+ 00020761  0x00004982 copy  0x0000003f , 0x00000011 
+ 00020762  0x00004983 copy  0x00000013 , 0x0000003f 
+ 00020763  0x00004984 isub  0x00000011 , 0x00000013 
+ 00020764  0x00004986 ifetch  0x00000001 , 0x00000006 
+ 00020765  0x00004987 increase  0xffffffff , 0x00000011 
+ 00020766  0x00004988 nbranch  0x0000511c , 0x00000005 
+ 00020767  0x00004989 rtn 
+ 00020768  0x0000498b ifetch  0x00000001 , 0x00000006 
+ 00020769  0x0000498c copy  0x0000003f , 0x00000007 
+ 00020770  0x0000498d ifetch  0x00000002 , 0x00000006 
+ 00020771  0x0000498e copy  0x0000003f , 0x00000011 
+ 00020772  0x0000498f ifetch  0x00000002 , 0x00000006 
+ 00020773  0x00004990 copy  0x0000003f , 0x0000000b 
+ 00020774  0x00004991 ifetch  0x00000002 , 0x00000006 
+ 00020775  0x00004992 copy  0x0000003f , 0x00000002 
+ 00020776  0x00004993 ifetch  0x00000002 , 0x00000006 
+ 00020777  0x00004994 sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00020778  0x00004995 branch  0x00005132 , 0x00000005 
+ 00020779  0x00004996 beq  0x00000002 , 0x0000512e 
+ 00020780  0x00004997 beq  0x00000004 , 0x0000512e 
+ 00020781  0x00004998 branch  0x00005130 
+ 00020782  0x0000499a jam  0x00000016 , 0x00000a99 
+ 00020783  0x0000499b call  0x00007d86 
+ 00020784  0x0000499d ifetch  0x00000002 , 0x00000006 
+ 00020785  0x0000499e branch  0x00005159 
+ 00020786  0x000049a0 call  0x00007ea8 
+ 00020787  0x000049a4 bpatchx  0x0000001d , 0x00004023 
+ 00020788  0x000049a5 setarg  0x00000050 
+ 00020789  0x000049a6 isub  0x00000002 , 0x0000003e 
+ 00020790  0x000049a7 branch  0x00005141 , 0x00000005 
+ 00020791  0x000049a8 setarg  0x00000051 
+ 00020792  0x000049a9 isub  0x00000002 , 0x0000003e 
+ 00020793  0x000049aa branch  0x00005147 , 0x00000005 
+ 00020794  0x000049ab setarg  0x00000053 
+ 00020795  0x000049ac isub  0x00000002 , 0x0000003e 
+ 00020796  0x000049ad branch  0x00005153 , 0x00000005 
+ 00020797  0x000049ae setarg  0x00000052 
+ 00020798  0x000049af isub  0x00000002 , 0x0000003e 
+ 00020799  0x000049b0 branch  0x0000514d , 0x00000005 
+ 00020800  0x000049b1 branch  0x00005159 
+ 00020801  0x000049b3 copy  0x0000000b , 0x0000003f 
+ 00020802  0x000049b4 store  0x00000002 , 0x00004248 
+ 00020803  0x000049b5 fetch  0x00000001 , 0x00004250 
+ 00020804  0x000049b6 set1  0x00000001 
+ 00020805  0x000049b7 store  0x00000001 , 0x00004250 
+ 00020806  0x000049b8 branch  0x00005158 
+ 00020807  0x000049ba copy  0x0000000b , 0x0000003f 
+ 00020808  0x000049bb store  0x00000002 , 0x0000424a 
+ 00020809  0x000049bc fetch  0x00000001 , 0x00004251 
+ 00020810  0x000049bd set1  0x00000001 
+ 00020811  0x000049be store  0x00000001 , 0x00004251 
+ 00020812  0x000049bf branch  0x00005158 
+ 00020813  0x000049c1 copy  0x0000000b , 0x0000003f 
+ 00020814  0x000049c2 store  0x00000002 , 0x0000424c 
+ 00020815  0x000049c3 fetch  0x00000001 , 0x00004252 
+ 00020816  0x000049c4 set1  0x00000001 
+ 00020817  0x000049c5 store  0x00000001 , 0x00004252 
+ 00020818  0x000049c6 branch  0x00005158 
+ 00020819  0x000049c8 copy  0x0000000b , 0x0000003f 
+ 00020820  0x000049c9 store  0x00000002 , 0x0000424e 
+ 00020821  0x000049ca fetch  0x00000001 , 0x00004253 
+ 00020822  0x000049cb set1  0x00000001 
+ 00020823  0x000049cc store  0x00000001 , 0x00004253 
+ 00020824  0x000049d0 call  0x00007ead 
+ 00020825  0x000049d2 copy  0x00000013 , 0x0000003f 
+ 00020826  0x000049d3 isub  0x00000011 , 0x00000013 
+ 00020827  0x000049d4 rtn 
+ 00020828  0x000049d7 ifetch  0x00000001 , 0x00000006 
+ 00020829  0x000049d8 copy  0x0000003f , 0x00000007 
+ 00020830  0x000049d9 ifetch  0x00000002 , 0x00000006 
+ 00020831  0x000049da copy  0x0000003f , 0x00000011 
+ 00020832  0x000049db copy  0x00000013 , 0x0000003f 
+ 00020833  0x000049dc isub  0x00000011 , 0x00000013 
+ 00020834  0x000049dd ifetch  0x00000002 , 0x00000006 
+ 00020835  0x000049de copy  0x0000003f , 0x0000000b 
+ 00020836  0x000049df ifetch  0x00000002 , 0x00000006 
+ 00020837  0x000049e0 ifetch  0x00000002 , 0x00000006 
+ 00020838  0x000049e1 nbranch  0x00005188 , 0x00000034 
+ 00020839  0x000049e2 call  0x00007ea8 
+ 00020840  0x000049e6 copy  0x0000000b , 0x00000002 
+ 00020841  0x000049e7 bpatchx  0x0000001e , 0x00004023 
+ 00020842  0x000049e8 setarg  0x00000050 
+ 00020843  0x000049e9 isub  0x00000002 , 0x0000003e 
+ 00020844  0x000049ea branch  0x00005176 , 0x00000005 
+ 00020845  0x000049eb setarg  0x00000051 
+ 00020846  0x000049ec isub  0x00000002 , 0x0000003e 
+ 00020847  0x000049ed branch  0x0000517a , 0x00000005 
+ 00020848  0x000049ee setarg  0x00000052 
+ 00020849  0x000049ef isub  0x00000002 , 0x0000003e 
+ 00020850  0x000049f0 branch  0x0000517e , 0x00000005 
+ 00020851  0x000049f1 setarg  0x00000053 
+ 00020852  0x000049f2 isub  0x00000002 , 0x0000003e 
+ 00020853  0x000049f3 branch  0x00005182 , 0x00000005 
+ 00020854  0x000049f5 fetch  0x00000001 , 0x00004250 
+ 00020855  0x000049f6 set1  0x00000005 
+ 00020856  0x000049f7 store  0x00000001 , 0x00004250 
+ 00020857  0x000049f8 rtn 
+ 00020858  0x000049fa fetch  0x00000001 , 0x00004251 
+ 00020859  0x000049fb set1  0x00000005 
+ 00020860  0x000049fc store  0x00000001 , 0x00004251 
+ 00020861  0x000049fd rtn 
+ 00020862  0x000049ff fetch  0x00000001 , 0x00004252 
+ 00020863  0x00004a00 set1  0x00000005 
+ 00020864  0x00004a01 store  0x00000001 , 0x00004252 
+ 00020865  0x00004a02 rtn 
+ 00020866  0x00004a04 fetch  0x00000001 , 0x00004253 
+ 00020867  0x00004a05 set1  0x00000005 
+ 00020868  0x00004a06 store  0x00000001 , 0x00004253 
+ 00020869  0x00004a07 jam  0x00000006 , 0x00000a99 
+ 00020870  0x00004a08 branch  0x00007d86 
+ 00020871  0x00004a0c call  0x00007ead 
+ 00020872  0x00004a0e increase  0xfffffffa , 0x00000011 
+ 00020873  0x00004a10 branch  0x0000518d , 0x00000005 
+ 00020874  0x00004a11 increase  0x00000001 , 0x00000006 
+ 00020875  0x00004a12 increase  0xffffffff , 0x00000011 
+ 00020876  0x00004a13 branch  0x00005189 
+ 00020877  0x00004a15 rtn 
+ 00020878  0x00004a17 ifetch  0x00000001 , 0x00000006 
+ 00020879  0x00004a18 copy  0x0000003f , 0x00000007 
+ 00020880  0x00004a19 ifetch  0x00000002 , 0x00000006 
+ 00020881  0x00004a1a copy  0x0000003f , 0x00000011 
+ 00020882  0x00004a1b copy  0x00000013 , 0x0000003f 
+ 00020883  0x00004a1c isub  0x00000011 , 0x00000013 
+ 00020884  0x00004a1d ifetch  0x00000002 , 0x00000006 
+ 00020885  0x00004a1e increase  0x00000002 , 0x00000006 
+ 00020886  0x00004a1f copy  0x0000003f , 0x00000002 
+ 00020887  0x00004a20 setarg  0x00000005 
+ 00020888  0x00004a21 istore  0x00000001 , 0x00000005 
+ 00020889  0x00004a22 copy  0x00000007 , 0x0000003f 
+ 00020890  0x00004a23 istore  0x00000001 , 0x00000005 
+ 00020891  0x00004a24 increase  0x00000002 , 0x00000011 
+ 00020892  0x00004a25 copy  0x00000011 , 0x0000003f 
+ 00020893  0x00004a26 istore  0x00000002 , 0x00000005 
+ 00020894  0x00004a27 call  0x00007ea8 
+ 00020895  0x00004a28 bpatchx  0x0000001f , 0x00004023 
+ 00020896  0x00004a29 setarg  0x00000050 
+ 00020897  0x00004a2a isub  0x00000002 , 0x0000003e 
+ 00020898  0x00004a2b branch  0x000051ad , 0x00000005 
+ 00020899  0x00004a2c setarg  0x00000051 
+ 00020900  0x00004a2d isub  0x00000002 , 0x0000003e 
+ 00020901  0x00004a2e branch  0x000051be , 0x00000005 
+ 00020902  0x00004a2f setarg  0x00000052 
+ 00020903  0x00004a30 isub  0x00000002 , 0x0000003e 
+ 00020904  0x00004a31 branch  0x000051c4 , 0x00000005 
+ 00020905  0x00004a32 setarg  0x00000053 
+ 00020906  0x00004a33 isub  0x00000002 , 0x0000003e 
+ 00020907  0x00004a34 branch  0x000051ca , 0x00000005 
+ 00020908  0x00004a35 branch  0x000051cf 
+ 00020909  0x00004a37 fetch  0x00000001 , 0x00004250 
+ 00020910  0x00004a38 set1  0x00000004 , 0x0000003f 
+ 00020911  0x00004a39 set1  0x00000003 , 0x0000003f 
+ 00020912  0x00004a3a store  0x00000001 , 0x00004250 
+ 00020913  0x00004a3b bbit1  0x00000002 , 0x000051bb 
+ 00020914  0x00004a3c fetcht  0x00000001 , 0x0000027f 
+ 00020915  0x00004a3d set1  0x00000006 , 0x00000002 
+ 00020916  0x00004a3e storet  0x00000001 , 0x0000027f 
+ 00020917  0x00004a3f copy  0x00000007 , 0x0000003f 
+ 00020918  0x00004a40 increase  0x00000001 , 0x0000003f 
+ 00020919  0x00004a41 store  0x00000001 , 0x00000281 
+ 00020920  0x00004a42 fetch  0x00000001 , 0x00004250 
+ 00020921  0x00004a43 set1  0x00000002 , 0x0000003f 
+ 00020922  0x00004a44 store  0x00000001 , 0x00004250 
+ 00020923  0x00004a46 fetch  0x00000002 , 0x00004248 
+ 00020924  0x00004a47 store  0x00000002 , 0x00000282 
+ 00020925  0x00004a48 branch  0x000051cf 
+ 00020926  0x00004a4a fetch  0x00000001 , 0x00004251 
+ 00020927  0x00004a4b set1  0x00000004 , 0x0000003f 
+ 00020928  0x00004a4c set1  0x00000003 , 0x0000003f 
+ 00020929  0x00004a4d store  0x00000001 , 0x00004251 
+ 00020930  0x00004a4e fetch  0x00000002 , 0x0000424a 
+ 00020931  0x00004a4f branch  0x000051cf 
+ 00020932  0x00004a51 fetch  0x00000001 , 0x00004252 
+ 00020933  0x00004a52 set1  0x00000004 , 0x0000003f 
+ 00020934  0x00004a53 set1  0x00000003 , 0x0000003f 
+ 00020935  0x00004a54 store  0x00000001 , 0x00004252 
+ 00020936  0x00004a55 fetch  0x00000002 , 0x0000424c 
+ 00020937  0x00004a56 branch  0x000051cf 
+ 00020938  0x00004a58 fetch  0x00000001 , 0x00004253 
+ 00020939  0x00004a59 set1  0x00000004 , 0x0000003f 
+ 00020940  0x00004a5a set1  0x00000003 , 0x0000003f 
+ 00020941  0x00004a5b store  0x00000001 , 0x00004253 
+ 00020942  0x00004a5c fetch  0x00000002 , 0x0000424e 
+ 00020943  0x00004a60 copy  0x0000003f , 0x0000000b 
+ 00020944  0x00004a61 call  0x00007ead 
+ 00020945  0x00004a63 copy  0x0000000b , 0x0000003f 
+ 00020946  0x00004a65 istore  0x00000002 , 0x00000005 
+ 00020947  0x00004a66 force  0x00000000 , 0x0000003f 
+ 00020948  0x00004a67 istore  0x00000002 , 0x00000005 
+ 00020949  0x00004a68 force  0x00000000 , 0x0000003f 
+ 00020950  0x00004a69 istore  0x00000002 , 0x00000005 
+ 00020951  0x00004a6a force  0x0000000a , 0x0000003f 
+ 00020952  0x00004a6b iadd  0x00000012 , 0x00000012 
+ 00020953  0x00004a6c increase  0xfffffffa , 0x00000011 
+ 00020954  0x00004a6e branch  0x000051e0 , 0x00000005 
+ 00020955  0x00004a6f ifetch  0x00000001 , 0x00000006 
+ 00020956  0x00004a70 istore  0x00000001 , 0x00000005 
+ 00020957  0x00004a71 increase  0x00000001 , 0x00000012 
+ 00020958  0x00004a72 increase  0xffffffff , 0x00000011 
+ 00020959  0x00004a73 branch  0x000051da 
+ 00020960  0x00004a75 rtn 
+ 00020961  0x00004a77 ifetch  0x00000001 , 0x00000006 
+ 00020962  0x00004a78 copy  0x0000003f , 0x00000007 
+ 00020963  0x00004a79 ifetch  0x00000002 , 0x00000006 
+ 00020964  0x00004a7a copy  0x0000003f , 0x00000011 
+ 00020965  0x00004a7b copy  0x00000013 , 0x0000003f 
+ 00020966  0x00004a7c isub  0x00000011 , 0x00000013 
+ 00020967  0x00004a7e ifetch  0x00000002 , 0x00000006 
+ 00020968  0x00004a7f copy  0x0000003f , 0x00000011 
+ 00020969  0x00004a80 ifetch  0x00000002 , 0x00000006 
+ 00020970  0x00004a81 copy  0x0000003f , 0x0000000b 
+ 00020971  0x00004a82 call  0x00007ea8 
+ 00020972  0x00004a83 bpatchx  0x00000020 , 0x00004024 
+ 00020973  0x00004a84 setarg  0x00000050 
+ 00020974  0x00004a85 copy  0x00000011 , 0x00000002 
+ 00020975  0x00004a86 isub  0x00000002 , 0x0000003e 
+ 00020976  0x00004a87 branch  0x000051fa , 0x00000005 
+ 00020977  0x00004a88 setarg  0x00000052 
+ 00020978  0x00004a89 copy  0x00000011 , 0x00000002 
+ 00020979  0x00004a8a isub  0x00000002 , 0x0000003e 
+ 00020980  0x00004a8b branch  0x000051ff , 0x00000005 
+ 00020981  0x00004a8c setarg  0x00000053 
+ 00020982  0x00004a8d copy  0x00000011 , 0x00000002 
+ 00020983  0x00004a8e isub  0x00000002 , 0x0000003e 
+ 00020984  0x00004a8f branch  0x00005201 , 0x00000005 
+ 00020985  0x00004a90 branch  0x00005203 
+ 00020986  0x00004a92 setarg  0x00000000 
+ 00020987  0x00004a93 store  0x00000002 , 0x00000275 
+ 00020988  0x00004a94 store  0x00000002 , 0x00004248 
+ 00020989  0x00004a95 store  0x00000001 , 0x00004250 
+ 00020990  0x00004a96 branch  0x00005205 
+ 00020991  0x00004a98 call  0x00005079 
+ 00020992  0x00004a99 branch  0x00005205 
+ 00020993  0x00004a9b call  0x0000507f 
+ 00020994  0x00004aa1 branch  0x00005205 
+ 00020995  0x00004aa3 setarg  0x00000000 
+ 00020996  0x00004aa4 store  0x00000002 , 0x0000027b 
+ 00020997  0x00004aa6 call  0x00007ead 
+ 00020998  0x00004aa7 setarg  0x00000007 
+ 00020999  0x00004aa8 istore  0x00000001 , 0x00000005 
+ 00021000  0x00004aa9 copy  0x00000007 , 0x0000003f 
+ 00021001  0x00004aaa istore  0x00000001 , 0x00000005 
+ 00021002  0x00004aab setarg  0x00000004 
+ 00021003  0x00004aac istore  0x00000002 , 0x00000005 
+ 00021004  0x00004aad copy  0x00000011 , 0x0000003f 
+ 00021005  0x00004aae istore  0x00000002 , 0x00000005 
+ 00021006  0x00004aaf copy  0x0000000b , 0x0000003f 
+ 00021007  0x00004ab0 istore  0x00000002 , 0x00000005 
+ 00021008  0x00004ab1 force  0x00000008 , 0x0000003f 
+ 00021009  0x00004ab2 iadd  0x00000012 , 0x00000012 
+ 00021010  0x00004ab3 rtn 
+ 00021011  0x00004ab6 ifetch  0x00000001 , 0x00000006 
+ 00021012  0x00004ab7 copy  0x0000003f , 0x00000007 
+ 00021013  0x00004ab8 ifetch  0x00000002 , 0x00000006 
+ 00021014  0x00004ab9 copy  0x0000003f , 0x00000011 
+ 00021015  0x00004aba ifetch  0x00000002 , 0x00000006 
+ 00021016  0x00004abb copy  0x0000003f , 0x0000000b 
+ 00021017  0x00004abc ifetch  0x00000002 , 0x00000006 
+ 00021018  0x00004abd copy  0x0000003f , 0x00000002 
+ 00021019  0x00004abe call  0x00007ea8 
+ 00021020  0x00004abf bpatchx  0x00000021 , 0x00004024 
+ 00021021  0x00004ac0 fetch  0x00000001 , 0x00004255 
+ 00021022  0x00004ac1 icompare  0x000000ff , 0x00000007 
+ 00021023  0x00004ac2 nbranch  0x0000522a , 0x00000001 
+ 00021024  0x00004ac3 setarg  0x00000050 
+ 00021025  0x00004ac4 isub  0x00000002 , 0x0000003e 
+ 00021026  0x00004ac5 branch  0x00005227 , 0x00000005 
+ 00021027  0x00004ac6 setarg  0x00000051 
+ 00021028  0x00004ac7 isub  0x00000002 , 0x0000003e 
+ 00021029  0x00004ac8 branch  0x0000522a , 0x00000005 
+ 00021030  0x00004ac9 branch  0x0000522a 
+ 00021031  0x00004acb jam  0x00000000 , 0x00004248 
+ 00021032  0x00004acc jam  0x00000000 , 0x00004250 
+ 00021033  0x00004acd branch  0x0000522a 
+ 00021034  0x00004ad2 call  0x00007ead 
+ 00021035  0x00004ad3 copy  0x00000013 , 0x0000003f 
+ 00021036  0x00004ad4 isub  0x00000011 , 0x00000013 
+ 00021037  0x00004ad5 rtn 
+ 00021038  0x00004ad8 setarg  0x00000001 
+ 00021039  0x00004ad9 istore  0x00000001 , 0x00000005 
+ 00021040  0x00004ada ifetch  0x00000001 , 0x00000006 
+ 00021041  0x00004adb istore  0x00000001 , 0x00000005 
+ 00021042  0x00004adc setarg  0x00000002 
+ 00021043  0x00004add istore  0x00000002 , 0x00000005 
+ 00021044  0x00004ade setarg  0x00000000 
+ 00021045  0x00004adf istore  0x00000002 , 0x00000005 
+ 00021046  0x00004ae0 setarg  0x00000006 
+ 00021047  0x00004ae1 iadd  0x00000012 , 0x00000012 
+ 00021048  0x00004ae2 force  0x00000004 , 0x00000013 
+ 00021049  0x00004ae3 rtn 
+ 00021050  0x00004ae7 fetch  0x00000001 , 0x00004255 
+ 00021051  0x00004ae8 increase  0x00000001 , 0x0000003f 
+ 00021052  0x00004ae9 bne  0x00000000 , 0x0000523e 
+ 00021053  0x00004aea increase  0x00000001 , 0x0000003f 
+ 00021054  0x00004aec store  0x00000001 , 0x00004255 
+ 00021055  0x00004aed rtn 
+ 00021056  0x00004af8 bpatchx  0x00000022 , 0x00004024 
+ 00021057  0x00004af9 arg  0x00000000 , 0x00000012 
+ 00021058  0x00004afa call  0x0000526e 
+ 00021059  0x00004afb nbranch  0x00002a8c , 0x00000034 
+ 00021060  0x00004afc call  0x0000527e 
+ 00021061  0x00004afd arg  0x00001800 , 0x00000012 
+ 00021062  0x00004afe arg  0x00000000 , 0x00000007 
+ 00021063  0x00004b00 fetcht  0x00000001 , 0x00004256 
+ 00021064  0x00004b01 qisolate1  0x00000002 
+ 00021065  0x00004b02 branch  0x0000524f , 0x00000001 
+ 00021066  0x00004b03 call  0x000052a0 
+ 00021067  0x00004b04 sub  0x0000000b , 0x00000000 , 0x0000003e 
+ 00021068  0x00004b05 branch  0x0000524f , 0x00000002 
+ 00021069  0x00004b06 call  0x00005288 
+ 00021070  0x00004b07 branch  0x00005255 
+ 00021071  0x00004b09 increase  0x00000080 , 0x00000012 
+ 00021072  0x00004b0a increase  0x00000001 , 0x00000007 
+ 00021073  0x00004b0b setarg  0x00000008 
+ 00021074  0x00004b0c isub  0x00000007 , 0x0000003e 
+ 00021075  0x00004b0d branch  0x00005247 , 0x00000002 
+ 00021076  0x00004b0e arg  0x00000000 , 0x00000012 
+ 00021077  0x00004b10 copy  0x00000012 , 0x0000003f 
+ 00021078  0x00004b11 branch  0x00002a8c , 0x00000034 
+ 00021079  0x00004b12 rtn 
+ 00021080  0x00004b1b bpatchx  0x00000023 , 0x00004024 
+ 00021081  0x00004b1c call  0x00005277 
+ 00021082  0x00004b1d increase  0x00000001 , 0x00000006 
+ 00021083  0x00004b1e ifetch  0x00000002 , 0x00000006 
+ 00021084  0x00004b1f rtn 
+ 00021085  0x00004b26 bpatchx  0x00000024 , 0x00004024 
+ 00021086  0x00004b27 call  0x00005277 
+ 00021087  0x00004b28 copy  0x00000006 , 0x00000005 
+ 00021088  0x00004b29 copy  0x00000006 , 0x00000002 
+ 00021089  0x00004b2a setarg  0x00000000 
+ 00021090  0x00004b2b istore  0x00000003 , 0x00000005 
+ 00021091  0x00004b2c rtn 
+ 00021092  0x00004b32 bpatchx  0x00000025 , 0x00004024 
+ 00021093  0x00004b33 call  0x00005274 
+ 00021094  0x00004b34 branch  0x00002a8c , 0x00000034 
+ 00021095  0x00004b35 fetch  0x00000003 , 0x0000425d 
+ 00021096  0x00004b36 store  0x00000003 , 0x00004260 
+ 00021097  0x00004b37 fetch  0x00000003 , 0x0000425a 
+ 00021098  0x00004b38 store  0x00000003 , 0x0000425d 
+ 00021099  0x00004b39 fetch  0x00000003 , 0x00004257 
+ 00021100  0x00004b3a store  0x00000003 , 0x0000425a 
+ 00021101  0x00004b3b rtn 
+ 00021102  0x00004b42 bpatchx  0x00000026 , 0x00004024 
+ 00021103  0x00004b43 fetch  0x00000003 , 0x00004257 
+ 00021104  0x00004b44 rtn 
+ 00021105  0x00004b4b bpatchx  0x00000027 , 0x00004024 
+ 00021106  0x00004b4c fetch  0x00000003 , 0x0000425a 
+ 00021107  0x00004b4d rtn 
+ 00021108  0x00004b54 bpatchx  0x00000028 , 0x00004025 
+ 00021109  0x00004b55 fetch  0x00000003 , 0x00004260 
+ 00021110  0x00004b56 rtn 
+ 00021111  0x00004b5c call  0x00005274 
+ 00021112  0x00004b5d branch  0x00002a8c , 0x00000034 
+ 00021113  0x00004b5e arg  0x00004257 , 0x00000006 
+ 00021114  0x00004b60 ifetch  0x00000003 , 0x00000006 
+ 00021115  0x00004b61 branch  0x0000527a , 0x00000034 
+ 00021116  0x00004b62 increase  0xfffffffd , 0x00000006 
+ 00021117  0x00004b63 rtn 
+ 00021118  0x00004b6b bpatchx  0x00000029 , 0x00004025 
+ 00021119  0x00004b6c arg  0x00000004 , 0x00000039 
+ 00021120  0x00004b6d arg  0x00004257 , 0x00000006 
+ 00021121  0x00004b6e arg  0x00000000 , 0x00000002 
+ 00021122  0x00004b70 ifetch  0x00000003 , 0x00000006 
+ 00021123  0x00004b71 and  0x0000003f , 0x000000ff , 0x0000003f 
+ 00021124  0x00004b72 ior  0x00000002 , 0x00000002 
+ 00021125  0x00004b73 loop  0x00005282 
+ 00021126  0x00004b74 storet  0x00000001 , 0x00004256 
+ 00021127  0x00004b75 rtn 
+ 00021128  0x00004b7e bpatchx  0x0000002a , 0x00004025 
+ 00021129  0x00004b7f call  0x0000526e 
+ 00021130  0x00004b80 nbranch  0x00002a8c , 0x00000034 
+ 00021131  0x00004b81 call  0x00005274 
+ 00021132  0x00004b82 branch  0x00005295 , 0x00000034 
+ 00021133  0x00004b83 fetch  0x00000003 , 0x0000425a 
+ 00021134  0x00004b84 store  0x00000003 , 0x00004257 
+ 00021135  0x00004b85 ifetch  0x00000003 , 0x00000006 
+ 00021136  0x00004b86 istore  0x00000003 , 0x00000005 
+ 00021137  0x00004b87 ifetch  0x00000003 , 0x00000006 
+ 00021138  0x00004b88 istore  0x00000003 , 0x00000005 
+ 00021139  0x00004b89 setarg  0x00000000 
+ 00021140  0x00004b8a istore  0x00000003 , 0x00000005 
+ 00021141  0x00004b8c arg  0x00000000 , 0x00000002 
+ 00021142  0x00004b8d copy  0x0000000b , 0x0000003f 
+ 00021143  0x00004b8e iadd  0x00000007 , 0x0000003f 
+ 00021144  0x00004b90 qset1  0x00000002 
+ 00021145  0x00004b91 increase  0x00000001 , 0x00000007 
+ 00021146  0x00004b92 isub  0x00000007 , 0x0000003e 
+ 00021147  0x00004b93 nbranch  0x00005298 , 0x00000005 
+ 00021148  0x00004b95 lshift8  0x00000012 , 0x0000003f 
+ 00021149  0x00004b96 ior  0x00000002 , 0x0000003f 
+ 00021150  0x00004b97 store  0x00000003 , 0x00004260 
+ 00021151  0x00004b98 rtn 
+ 00021152  0x00004ba3 bpatchx  0x0000002b , 0x00004025 
+ 00021153  0x00004ba4 call  0x0000527e 
+ 00021154  0x00004ba5 copy  0x00000007 , 0x00000013 
+ 00021155  0x00004ba6 arg  0x00000000 , 0x00000002 
+ 00021156  0x00004ba7 arg  0x00000000 , 0x0000000b 
+ 00021157  0x00004baa copy  0x00000007 , 0x0000003f 
+ 00021158  0x00004bab beq  0x00000008 , 0x000052b0 
+ 00021159  0x00004bac fetch  0x00000001 , 0x00004256 
+ 00021160  0x00004bad qisolate1  0x0000003f 
+ 00021161  0x00004bae branch  0x000052b0 , 0x00000001 
+ 00021162  0x00004baf increase  0x00000080 , 0x00000002 
+ 00021163  0x00004bb0 increase  0x00000001 , 0x00000007 
+ 00021164  0x00004bb1 copy  0x00000011 , 0x0000003f 
+ 00021165  0x00004bb2 isub  0x00000002 , 0x0000003e 
+ 00021166  0x00004bb3 branch  0x000052b0 , 0x00000005 
+ 00021167  0x00004bb4 branch  0x000052a5 , 0x00000002 
+ 00021168  0x00004bb6 copy  0x00000002 , 0x0000003f 
+ 00021169  0x00004bb7 isub  0x00000011 , 0x0000003e 
+ 00021170  0x00004bb8 nbranch  0x000052b6 , 0x00000002 
+ 00021171  0x00004bb9 copy  0x00000007 , 0x0000003f 
+ 00021172  0x00004bba copy  0x00000013 , 0x00000002 
+ 00021173  0x00004bbb isub  0x00000002 , 0x0000000b 
+ 00021174  0x00004bbd copy  0x00000013 , 0x00000007 
+ 00021175  0x00004bbe rtn 
+ 00021176  0x00004bc2 bpatchx  0x0000002c , 0x00004025 
+ 00021177  0x00004bc3 arg  0x0000007f , 0x00000011 
+ 00021178  0x00004bc4 call  0x00005240 
+ 00021179  0x00004bc5 store  0x00000002 , 0x0000026b 
+ 00021180  0x00004bc6 increase  0x00000004 , 0x0000003f 
+ 00021181  0x00004bc7 store  0x00000002 , 0x0000026d 
+ 00021182  0x00004bc8 setarg  0x00000000 
+ 00021183  0x00004bc9 store  0x00000002 , 0x0000026f 
+ 00021184  0x00004bca rtn 
+ 00021185  0x00004bcd fetch  0x00000002 , 0x0000026b 
+ 00021186  0x00004bce branch  0x000052e2 
+ 00021187  0x00004bd1 fetch  0x00000002 , 0x0000026d 
+ 00021188  0x00004bd2 branch  0x000052e2 
+ 00021189  0x00004bd6 bpatchx  0x0000002d , 0x00004025 
+ 00021190  0x00004bd7 arg  0x000000fa , 0x00000011 
+ 00021191  0x00004bd8 call  0x00005240 
+ 00021192  0x00004bd9 store  0x00000002 , 0x00000271 
+ 00021193  0x00004bda increase  0x00000004 , 0x0000003f 
+ 00021194  0x00004bdb store  0x00000002 , 0x00000273 
+ 00021195  0x00004bdc setarg  0x00000000 
+ 00021196  0x00004bdd store  0x00000002 , 0x00000275 
+ 00021197  0x00004bde rtn 
+ 00021198  0x00004be1 fetch  0x00000002 , 0x00000271 
+ 00021199  0x00004be2 branch  0x000052e2 
+ 00021200  0x00004be5 fetch  0x00000002 , 0x00000273 
+ 00021201  0x00004be6 branch  0x000052e2 
+ 00021202  0x00004bea bpatchx  0x0000002e , 0x00004025 
+ 00021203  0x00004beb call  0x00007e7c 
+ 00021204  0x00004bec jam  0x00000001 , 0x00000284 
+ 00021205  0x00004bed call  0x0000526e 
+ 00021206  0x00004bee nrtn  0x00000034 
+ 00021207  0x00004bef arg  0x0000007f , 0x00000011 
+ 00021208  0x00004bf0 call  0x00005240 
+ 00021209  0x00004bf1 store  0x00000002 , 0x00000277 
+ 00021210  0x00004bf2 increase  0x00000004 , 0x0000003f 
+ 00021211  0x00004bf3 store  0x00000002 , 0x00000279 
+ 00021212  0x00004bf4 setarg  0x00000000 
+ 00021213  0x00004bf5 store  0x00000002 , 0x0000027b 
+ 00021214  0x00004bf6 jam  0x00000000 , 0x00000284 
+ 00021215  0x00004bf7 branch  0x00007e8c 
+ 00021216  0x00004bfa fetch  0x00000002 , 0x00000277 
+ 00021217  0x00004bfb branch  0x000052e2 
+ 00021218  0x00004bfe branch  0x00002a8c , 0x00000034 
+ 00021219  0x00004bff copy  0x0000003f , 0x00000005 
+ 00021220  0x00004c00 rtn 
+ 00021221  0x00004c04 bpatchx  0x0000002f , 0x00004025 
+ 00021222  0x00004c05 arg  0x00000000 , 0x00000012 
+ 00021223  0x00004c06 arg  0x00004257 , 0x00000011 
+ 00021224  0x00004c07 increase  0xfffffffe , 0x00000011 
+ 00021225  0x00004c09 increase  0x00000002 , 0x00000011 
+ 00021226  0x00004c0a setarg  0x00004263 
+ 00021227  0x00004c0b isub  0x00000011 , 0x0000003e 
+ 00021228  0x00004c0c branch  0x000052f5 , 0x00000005 
+ 00021229  0x00004c0d ifetch  0x00000001 , 0x00000011 
+ 00021230  0x00004c0e increase  0x00000001 , 0x00000011 
+ 00021231  0x00004c0f branch  0x000052e9 , 0x00000034 
+ 00021232  0x00004c10 ifetcht  0x00000002 , 0x00000011 
+ 00021233  0x00004c11 ifetch  0x00000002 , 0x00000002 
+ 00021234  0x00004c12 iadd  0x00000012 , 0x00000012 
+ 00021235  0x00004c13 increase  0x00000004 , 0x00000012 
+ 00021236  0x00004c14 branch  0x000052e9 
+ 00021237  0x00004c16 copy  0x00000012 , 0x0000003f 
+ 00021238  0x00004c17 rtn 
+ 00021239  0x00004c1b arg  0x0000000c , 0x00000007 
+ 00021240  0x00004c1c branch  0x00002c32 
+ 00021241  0x00004c1f arg  0x0000000c , 0x00000007 
+ 00021242  0x00004c20 branch  0x00002c36 
+ 00021243  0x00004c23 bpatchx  0x00000030 , 0x00004026 
+ 00021244  0x00004c24 call  0x0000527e 
+ 00021245  0x00004c25 fetch  0x00000001 , 0x00004256 
+ 00021246  0x00004c26 rtn  0x00000034 
+ 00021247  0x00004c27 call  0x000052e5 
+ 00021248  0x00004c28 arg  0x00000100 , 0x00000002 
+ 00021249  0x00004c29 isub  0x00000002 , 0x0000003e 
+ 00021250  0x00004c2a branch  0x000052f7 , 0x00000002 
+ 00021251  0x00004c2b call  0x000052f9 
+ 00021252  0x00004c2c arg  0x00004263 , 0x00000005 
+ 00021253  0x00004c2d arg  0x00004257 , 0x00000011 
+ 00021254  0x00004c2f setarg  0x00004263 
+ 00021255  0x00004c30 isub  0x00000011 , 0x0000003e 
+ 00021256  0x00004c31 rtn  0x00000005 
+ 00021257  0x00004c32 ifetch  0x00000001 , 0x00000011 
+ 00021258  0x00004c33 increase  0x00000001 , 0x00000011 
+ 00021259  0x00004c34 nbranch  0x0000530f , 0x00000034 
+ 00021260  0x00004c35 istore  0x00000002 , 0x00000005 
+ 00021261  0x00004c36 increase  0x00000002 , 0x00000011 
+ 00021262  0x00004c37 branch  0x00005306 
+ 00021263  0x00004c39 ifetch  0x00000002 , 0x00000011 
+ 00021264  0x00004c3a increase  0x00000002 , 0x00000011 
+ 00021265  0x00004c3b copy  0x0000003f , 0x00000006 
+ 00021266  0x00004c3c ifetch  0x00000002 , 0x00000006 
+ 00021267  0x00004c3d istore  0x00000002 , 0x00000005 
+ 00021268  0x00004c3e copy  0x0000003f , 0x00000039 
+ 00021269  0x00004c3f increase  0x00000002 , 0x00000039 
+ 00021270  0x00004c40 call  0x00007f01 
+ 00021271  0x00004c41 branch  0x00005306 
+ 00021272  0x00004c44 bpatchx  0x00000031 , 0x00004026 
+ 00021273  0x00004c45 call  0x0000527e 
+ 00021274  0x00004c46 fetch  0x00000001 , 0x00004256 
+ 00021275  0x00004c47 rtn  0x00000034 
+ 00021276  0x00004c48 arg  0x00004258 , 0x00000011 
+ 00021277  0x00004c49 increase  0xfffffffd , 0x00000011 
+ 00021278  0x00004c4a arg  0x00004263 , 0x00000006 
+ 00021279  0x00004c4c increase  0x00000003 , 0x00000011 
+ 00021280  0x00004c4d setarg  0x00004264 
+ 00021281  0x00004c4e isub  0x00000011 , 0x0000003e 
+ 00021282  0x00004c4f rtn  0x00000005 
+ 00021283  0x00004c50 ifetch  0x00000002 , 0x00000006 
+ 00021284  0x00004c51 branch  0x0000531f , 0x00000034 
+ 00021285  0x00004c52 increase  0x00000004 , 0x0000003f 
+ 00021286  0x00004c53 copy  0x0000003f , 0x00000039 
+ 00021287  0x00004c54 copy  0x00000006 , 0x00000012 
+ 00021288  0x00004c55 ifetch  0x00000002 , 0x00000011 
+ 00021289  0x00004c56 copy  0x0000003f , 0x00000005 
+ 00021290  0x00004c57 copy  0x00000012 , 0x00000006 
+ 00021291  0x00004c58 increase  0xfffffffe , 0x00000006 
+ 00021292  0x00004c59 call  0x00007f01 
+ 00021293  0x00004c5a branch  0x0000531f 
+ 00021294  0x00004c65 bpatchx  0x00000032 , 0x00004026 
+ 00021295  0x00004c66 disable  0x0000002b 
+ 00021296  0x00004c67 jam  0x00000001 , 0x00000455 
+ 00021297  0x00004c68 jam  0x00000003 , 0x0000043f 
+ 00021298  0x00004c69 jam  0x00000001 , 0x00000456 
+ 00021299  0x00004c6a setarg  0xffffffff 
+ 00021300  0x00004c6b store  0x00000002 , 0x00000459 
+ 00021301  0x00004c6c force  0x00000000 , 0x0000003f 
+ 00021302  0x00004c6d store  0x00000001 , 0x00000457 
+ 00021303  0x00004c6e store  0x00000001 , 0x00000462 
+ 00021304  0x00004c6f store  0x00000003 , 0x00004169 
+ 00021305  0x00004c70 store  0x00000003 , 0x0000416c 
+ 00021306  0x00004c71 store  0x00000005 , 0x00004403 
+ 00021307  0x00004c72 set1  0x00000027 , 0x0000003f 
+ 00021308  0x00004c73 store  0x00000005 , 0x00004408 
+ 00021309  0x00004c74 jam  0x00000001 , 0x000043dc 
+ 00021310  0x00004c75 jam  0x00000000 , 0x000043dd 
+ 00021311  0x00004c76 branch  0x000056ed 
+ 00021312  0x00004c79 bpatchx  0x00000033 , 0x00004026 
+ 00021313  0x00004c7a enable  0x00000029 
+ 00021314  0x00004c7b jam  0x00000003 , 0x00000440 
+ 00021315  0x00004c7c jam  0x00000001 , 0x00000478 
+ 00021316  0x00004c7d jam  0x00000001 , 0x0000445a 
+ 00021317  0x00004c7e setarg  0x0000ffff 
+ 00021318  0x00004c7f store  0x00000002 , 0x0000445c 
+ 00021319  0x00004c80 force  0x00000000 , 0x0000003f 
+ 00021320  0x00004c81 store  0x00000005 , 0x00004408 
+ 00021321  0x00004c82 set1  0x00000027 , 0x0000003f 
+ 00021322  0x00004c83 store  0x00000005 , 0x00004403 
+ 00021323  0x00004c84 branch  0x0000532e 
+ 00021324  0x00004c88 bpatchx  0x00000034 , 0x00004026 
+ 00021325  0x00004c89 disable  0x00000029 
+ 00021326  0x00004c8a setarg  0x00000017 
+ 00021327  0x00004c8b store  0x00000002 , 0x000044a8 
+ 00021328  0x00004c8c jam  0x00000001 , 0x00000440 
+ 00021329  0x00004c8d jam  0x00000000 , 0x0000436e 
+ 00021330  0x00004c8e jam  0x00000000 , 0x000000a0 
+ 00021331  0x00004c8f jam  0x00000000 , 0x000044c4 
+ 00021332  0x00004c90 jam  0x00000000 , 0x000044c5 
+ 00021333  0x00004c91 fetch  0x00000002 , 0x0000046d 
+ 00021334  0x00004c92 store  0x00000002 , 0x000044ba 
+ 00021335  0x00004c93 fetch  0x00000002 , 0x00000441 
+ 00021336  0x00004c94 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00021337  0x00004c95 rshift4  0x0000003f , 0x0000003f 
+ 00021338  0x00004c96 store  0x00000002 , 0x0000046d 
+ 00021339  0x00004c97 branch  0x0000532e 
+ 00021340  0x00004c9e call  0x000053c4 
+ 00021341  0x00004c9f call  0x000055e8 
+ 00021342  0x00004ca0 call  0x000056f0 
+ 00021343  0x00004ca1 branch  0x000053ce 
+ 00021344  0x00004ca4 bpatchx  0x00000035 , 0x00004026 
+ 00021345  0x00004ca5 call  0x000053c4 
+ 00021346  0x00004ca6 call  0x000032f4 
+ 00021347  0x00004ca7 fetch  0x00000001 , 0x00000440 
+ 00021348  0x00004ca8 beq  0x00000003 , 0x00005366 
+ 00021349  0x00004ca9 branch  0x0000537a 
+ 00021350  0x00004cb0 bpatchx  0x00000036 , 0x00004026 
+ 00021351  0x00004cb1 enable  0x00000029 
+ 00021352  0x00004cb2 call  0x000056e4 
+ 00021353  0x00004cb3 branch  0x00005377 , 0x00000002 
+ 00021354  0x00004cb4 call  0x00002c6c 
+ 00021355  0x00004cb5 call  0x00005413 
+ 00021356  0x00004cb6 call  0x0000561e 
+ 00021357  0x00004cb7 disable  0x0000002d 
+ 00021358  0x00004cb8 call  0x000054bf 
+ 00021359  0x00004cb9 nrtn  0x0000002d 
+ 00021360  0x00004cba bpatchx  0x00000037 , 0x00004026 
+ 00021361  0x00004cbb fetch  0x00000001 , 0x00000005 
+ 00021362  0x00004cbc increase  0x00000001 , 0x0000003f 
+ 00021363  0x00004cbd store  0x00000001 , 0x00000005 
+ 00021364  0x00004cbe call  0x000055aa 
+ 00021365  0x00004cbf disable  0x00000029 
+ 00021366  0x00004cc0 rtn 
+ 00021367  0x00004cc3 call  0x000053a9 
+ 00021368  0x00004cc4 disable  0x00000029 
+ 00021369  0x00004cc5 rtn 
+ 00021370  0x00004ccb bpatchx  0x00000038 , 0x00004027 
+ 00021371  0x00004ccc jam  0x00000000 , 0x0000450f 
+ 00021372  0x00004ccd call  0x00007aaf 
+ 00021373  0x00004cce call  0x00005c18 
+ 00021374  0x00004ccf disable  0x0000002e 
+ 00021375  0x00004cd0 call  0x000056e4 
+ 00021376  0x00004cd1 branch  0x000053a9 , 0x00000002 
+ 00021377  0x00004cd2 call  0x00002c6c 
+ 00021378  0x00004cd3 call  0x00005413 
+ 00021379  0x00004cd4 call  0x00005489 
+ 00021380  0x00004cd5 nbranch  0x0000539b , 0x00000018 
+ 00021381  0x00004cd6 call  0x000053b7 
+ 00021382  0x00004cd7 branch  0x00005388 , 0x0000002d 
+ 00021383  0x00004cd8 branch  0x00005395 
+ 00021384  0x00004cdc bpatchx  0x00000039 , 0x00004027 
+ 00021385  0x00004cdd fetch  0x00000001 , 0x0000450f 
+ 00021386  0x00004cde pincrease  0x00000001 
+ 00021387  0x00004cdf store  0x00000001 , 0x0000450f 
+ 00021388  0x00004ce0 beq  0x0000000c , 0x00005395 
+ 00021389  0x00004ce1 call  0x000055aa 
+ 00021390  0x00004ce2 call  0x0000561e 
+ 00021391  0x00004ce3 call  0x000054c7 
+ 00021392  0x00004ce4 call  0x0000567e 
+ 00021393  0x00004ce5 fetch  0x00000002 , 0x000041fb 
+ 00021394  0x00004ce6 call  0x00007f9c 
+ 00021395  0x00004ce7 call  0x000053a0 
+ 00021396  0x00004ce8 branch  0x000053a4 , 0x00000028 
+ 00021397  0x00004cea bpatchx  0x0000003a , 0x00004027 
+ 00021398  0x00004ceb call  0x00005be4 
+ 00021399  0x00004cec call  0x00005bdb 
+ 00021400  0x00004ced call  0x00007d9c 
+ 00021401  0x00004cee fetch  0x00000001 , 0x00000462 
+ 00021402  0x00004cef bbit1  0x00000003 , 0x000053a9 
+ 00021403  0x00004cf1 bpatchx  0x0000003b , 0x00004027 
+ 00021404  0x00004cf2 call  0x000057f4 
+ 00021405  0x00004cf3 call  0x0000559d 
+ 00021406  0x00004cf4 call  0x00005575 
+ 00021407  0x00004cf5 branch  0x00002841 
+ 00021408  0x00004cf9 disable  0x00000028 
+ 00021409  0x00004cfa bmark1  0x0000002a , 0x00007fe7 
+ 00021410  0x00004cfb bmark1  0x00000029 , 0x00007fe7 
+ 00021411  0x00004cfc rtn 
+ 00021412  0x00004d00 bpatchx  0x0000003c , 0x00004027 
+ 00021413  0x00004d01 enable  0x0000002e 
+ 00021414  0x00004d02 call  0x000054c1 
+ 00021415  0x00004d03 branch  0x00005388 , 0x0000002d 
+ 00021416  0x00004d04 branch  0x00005395 
+ 00021417  0x00004d0a bpatchx  0x0000003d , 0x00004027 
+ 00021418  0x00004d0b call  0x000053af 
+ 00021419  0x00004d0c call  0x000033b4 
+ 00021420  0x00004d0d call  0x00007a77 
+ 00021421  0x00004d0e jam  0x00000015 , 0x00000a99 
+ 00021422  0x00004d0f branch  0x00007d86 
+ 00021423  0x00004d12 setarg  0x00000000 
+ 00021424  0x00004d13 store  0x00000009 , 0x000044ff 
+ 00021425  0x00004d14 jam  0x00000000 , 0x00000455 
+ 00021426  0x00004d15 jam  0x00000000 , 0x00000440 
+ 00021427  0x00004d16 jam  0x00000000 , 0x0000043f 
+ 00021428  0x00004d17 jam  0x00000000 , 0x000044c5 
+ 00021429  0x00004d18 jam  0x00000000 , 0x000044c4 
+ 00021430  0x00004d19 rtn 
+ 00021431  0x00004d1c bpatchx  0x0000003e , 0x00004027 
+ 00021432  0x00004d1d fetch  0x00000001 , 0x00000005 
+ 00021433  0x00004d1e increase  0x00000001 , 0x0000003f 
+ 00021434  0x00004d1f store  0x00000001 , 0x00000005 
+ 00021435  0x00004d20 fetch  0x00000001 , 0x0000043f 
+ 00021436  0x00004d21 rtnbit1  0x00000003 
+ 00021437  0x00004d22 set1  0x00000003 
+ 00021438  0x00004d23 store  0x00000001 , 0x0000043f 
+ 00021439  0x00004d24 fetch  0x00000002 , 0x000044ba 
+ 00021440  0x00004d25 store  0x00000002 , 0x0000046d 
+ 00021441  0x00004d26 setarg  0x00000000 
+ 00021442  0x00004d27 store  0x00000004 , 0x000044e5 
+ 00021443  0x00004d28 rtn 
+ 00021444  0x00004d2c bpatchx  0x0000003f , 0x00004027 
+ 00021445  0x00004d2d hjam  0x00000036 , 0x0000090f 
+ 00021446  0x00004d2e hjam  0x0000005f , 0x0000090b 
+ 00021447  0x00004d2f enable  0x00000036 
+ 00021448  0x00004d30 hjam  0x00000007 , 0x00008914 
+ 00021449  0x00004d31 call  0x00002c6c 
+ 00021450  0x00004d32 fetch  0x00000001 , 0x000041e0 
+ 00021451  0x00004d33 rtn  0x00000034 
+ 00021452  0x00004d34 hjam  0x000000b8 , 0x0000090a 
+ 00021453  0x00004d35 rtn 
+ 00021454  0x00004d38 bpatchx  0x00000040 , 0x00004028 
+ 00021455  0x00004d39 hjam  0x0000002e , 0x0000090f 
+ 00021456  0x00004d3a hjam  0x000000ff , 0x0000090b 
+ 00021457  0x00004d3b disable  0x00000036 
+ 00021458  0x00004d3c hjam  0x00000003 , 0x00008914 
+ 00021459  0x00004d3d arg  0x00000000 , 0x0000001b 
+ 00021460  0x00004d3e rtn 
+ 00021461  0x00004d41 disable  0x00000009 
+ 00021462  0x00004d42 disable  0x00000007 
+ 00021463  0x00004d43 fetch  0x00000003 , 0x00000467 
+ 00021464  0x00004d44 iforce  0x0000000f 
+ 00021465  0x00004d45 fetch  0x00000001 , 0x00000016 
+ 00021466  0x00004d46 reverse  0x0000003f , 0x00000002 
+ 00021467  0x00004d47 set1  0x00000001 , 0x00000002 
+ 00021468  0x00004d48 rshift  0x00000002 , 0x0000000e 
+ 00021469  0x00004d49 rtn 
+ 00021470  0x00004d4d call  0x000053e6 
+ 00021471  0x00004d4e call  0x0000291f 
+ 00021472  0x00004d4f setarg  0x00000500 
+ 00021473  0x00004d50 call  0x00002a8f 
+ 00021474  0x00004d51 branch  0x00002924 
+ 00021475  0x00004d54 branch  0x00002939 , 0x0000002d 
+ 00021476  0x00004d56 call  0x000053e6 
+ 00021477  0x00004d57 branch  0x00002933 
+ 00021478  0x00004d59 bpatchx  0x00000041 , 0x00004028 
+ 00021479  0x00004d5a call  0x00002918 
+ 00021480  0x00004d5b fetch  0x00000001 , 0x0000048c 
+ 00021481  0x00004d5c nbranch  0x000053f9 , 0x00000034 
+ 00021482  0x00004d5d fetch  0x00000001 , 0x00000016 
+ 00021483  0x00004d5e sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00021484  0x00004d5f branch  0x000053f3 , 0x00000002 
+ 00021485  0x00004d60 force  0x00000000 , 0x00000002 
+ 00021486  0x00004d61 rtneq  0x00000025 
+ 00021487  0x00004d62 force  0x00000018 , 0x00000002 
+ 00021488  0x00004d63 rtneq  0x00000026 
+ 00021489  0x00004d64 force  0x0000004e , 0x00000002 
+ 00021490  0x00004d65 rtn 
+ 00021491  0x00004d68 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00021492  0x00004d69 branch  0x000053f6 , 0x00000002 
+ 00021493  0x00004d6a increase  0x00000001 , 0x0000003f 
+ 00021494  0x00004d6d lshift  0x0000003f , 0x0000003f 
+ 00021495  0x00004d6e add  0x0000003f , 0x00000002 , 0x00000002 
+ 00021496  0x00004d6f rtn 
+ 00021497  0x00004d72 fetch  0x00000001 , 0x00000016 
+ 00021498  0x00004d73 lshift  0x0000003f , 0x00000002 
+ 00021499  0x00004d74 rtn 
+ 00021500  0x00004d77 arg  0x000001f4 , 0x00000002 
+ 00021501  0x00004d78 rtn  0x00000034 
+ 00021502  0x00004d79 arg  0x000000fa , 0x00000002 
+ 00021503  0x00004d7a rtneq  0x00000001 
+ 00021504  0x00004d7b arg  0x00000096 , 0x00000002 
+ 00021505  0x00004d7c rtneq  0x00000002 
+ 00021506  0x00004d7d arg  0x00000064 , 0x00000002 
+ 00021507  0x00004d7e rtneq  0x00000003 
+ 00021508  0x00004d7f arg  0x0000004b , 0x00000002 
+ 00021509  0x00004d80 rtneq  0x00000004 
+ 00021510  0x00004d81 arg  0x00000032 , 0x00000002 
+ 00021511  0x00004d82 rtneq  0x00000005 
+ 00021512  0x00004d83 arg  0x00000028 , 0x00000002 
+ 00021513  0x00004d84 rtneq  0x00000006 
+ 00021514  0x00004d85 arg  0x00000014 , 0x00000002 
+ 00021515  0x00004d86 rtn 
+ 00021516  0x00004d8b setarg  0x008e89be 
+ 00021517  0x00004d8c lshift8  0x0000003f , 0x0000003f 
+ 00021518  0x00004d8d or_into  0x000000d6 , 0x0000003f 
+ 00021519  0x00004d8e iforce  0x00000009 
+ 00021520  0x00004d8f setarg  0x00555555 
+ 00021521  0x00004d90 store  0x00000003 , 0x00000467 
+ 00021522  0x00004d91 rtn 
+ 00021523  0x00004d94 bpatchx  0x00000042 , 0x00004028 
+ 00021524  0x00004d95 enable  0x00000010 
+ 00021525  0x00004d96 fetch  0x00000004 , 0x00000463 
+ 00021526  0x00004d97 iforce  0x00000009 
+ 00021527  0x00004d98 call  0x00005466 
+ 00021528  0x00004d99 setarg  0x00000200 
+ 00021529  0x00004d9a branch  0x0000541c , 0x00000029 
+ 00021530  0x00004d9b fetch  0x00000002 , 0x0000044d 
+ 00021531  0x00004d9c rshift  0x0000003f , 0x0000003f 
+ 00021532  0x00004d9e arg  0x00000500 , 0x00000002 
+ 00021533  0x00004d9f iadd  0x00000002 , 0x0000003f 
+ 00021534  0x00004da0 call  0x00002a24 
+ 00021535  0x00004da1 deposit  0x0000001a 
+ 00021536  0x00004da2 store  0x00000006 , 0x00000491 
+ 00021537  0x00004da3 rtn 
+ 00021538  0x00004da6 bpatchx  0x00000043 , 0x00004028 
+ 00021539  0x00004da7 fetch  0x00000001 , 0x00000016 
+ 00021540  0x00004da8 beq  0x00000025 , 0x00005428 
+ 00021541  0x00004da9 beq  0x00000026 , 0x0000542e 
+ 00021542  0x00004daa beq  0x00000027 , 0x00005434 
+ 00021543  0x00004dab branch  0x00005434 
+ 00021544  0x00004dae fetcht  0x00000001 , 0x0000448d 
+ 00021545  0x00004daf isolate1  0x00000001 , 0x00000002 
+ 00021546  0x00004db0 branch  0x0000543f , 0x00000001 
+ 00021547  0x00004db1 isolate1  0x00000002 , 0x00000002 
+ 00021548  0x00004db2 branch  0x00005444 , 0x00000001 
+ 00021549  0x00004db3 branch  0x0000543a 
+ 00021550  0x00004db7 fetcht  0x00000001 , 0x0000448d 
+ 00021551  0x00004db8 isolate1  0x00000002 , 0x00000002 
+ 00021552  0x00004db9 branch  0x00005444 , 0x00000001 
+ 00021553  0x00004dba isolate1  0x00000000 , 0x00000002 
+ 00021554  0x00004dbb branch  0x0000543a , 0x00000001 
+ 00021555  0x00004dbc branch  0x0000543f 
+ 00021556  0x00004dc0 fetcht  0x00000001 , 0x0000448d 
+ 00021557  0x00004dc1 isolate1  0x00000000 , 0x00000002 
+ 00021558  0x00004dc2 branch  0x0000543a , 0x00000001 
+ 00021559  0x00004dc3 isolate1  0x00000001 , 0x00000002 
+ 00021560  0x00004dc4 branch  0x0000543f , 0x00000001 
+ 00021561  0x00004dc5 branch  0x00005444 
+ 00021562  0x00004dca jam  0x00000025 , 0x00000016 
+ 00021563  0x00004dcb fetch  0x00000001 , 0x00000ac2 
+ 00021564  0x00004dcc set1  0x00000000 , 0x0000003f 
+ 00021565  0x00004dcd store  0x00000001 , 0x00000ac2 
+ 00021566  0x00004dce rtn 
+ 00021567  0x00004dd1 jam  0x00000026 , 0x00000016 
+ 00021568  0x00004dd2 fetch  0x00000001 , 0x00000ac2 
+ 00021569  0x00004dd3 set1  0x00000001 , 0x0000003f 
+ 00021570  0x00004dd4 store  0x00000001 , 0x00000ac2 
+ 00021571  0x00004dd5 rtn 
+ 00021572  0x00004dd8 jam  0x00000027 , 0x00000016 
+ 00021573  0x00004dd9 fetch  0x00000001 , 0x00000ac2 
+ 00021574  0x00004dda set1  0x00000002 , 0x0000003f 
+ 00021575  0x00004ddb store  0x00000001 , 0x00000ac2 
+ 00021576  0x00004ddc rtn 
+ 00021577  0x00004de1 bpatchx  0x00000044 , 0x00004028 
+ 00021578  0x00004de2 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00021579  0x00004de3 ifetch  0x00000001 , 0x00000006 
+ 00021580  0x00004de4 rtnbit0  0x00000000 
+ 00021581  0x00004de5 add  0x00000011 , 0x0000001a , 0x00000005 
+ 00021582  0x00004de6 ifetch  0x00000002 , 0x00000005 
+ 00021583  0x00004de7 increase  0x00000001 , 0x0000003f 
+ 00021584  0x00004de8 istore  0x00000002 , 0x00000005 
+ 00021585  0x00004de9 add  0x00000011 , 0x00000019 , 0x00000006 
+ 00021586  0x00004dea ifetch  0x00000001 , 0x00000006 
+ 00021587  0x00004deb add  0x00000011 , 0x00000018 , 0x00000005 
+ 00021588  0x00004dec ifetcht  0x00000001 , 0x00000005 
+ 00021589  0x00004ded iadd  0x00000002 , 0x0000003f 
+ 00021590  0x00004dee sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00021591  0x00004def branch  0x00005459 , 0x00000002 
+ 00021592  0x00004df0 increase  0xffffffdb , 0x0000003f 
+ 00021593  0x00004df2 istore  0x00000001 , 0x00000005 
+ 00021594  0x00004df3 rtn 
+ 00021595  0x00004df7 bpatchx  0x00000045 , 0x00004028 
+ 00021596  0x00004df8 fetch  0x00000005 , 0x0000046f 
+ 00021597  0x00004df9 force  0x00000000 , 0x00000002 
+ 00021598  0x00004dfa force  0x00000025 , 0x00000039 
+ 00021599  0x00004dfc bbit0  0x00000000 , 0x00005461 
+ 00021600  0x00004dfd increase  0x00000001 , 0x00000002 
+ 00021601  0x00004dff rshift  0x0000003f , 0x0000003f 
+ 00021602  0x00004e00 loop  0x0000545f 
+ 00021603  0x00004e01 add  0x00000002 , 0xffffffff , 0x0000003f 
+ 00021604  0x00004e02 store  0x00000001 , 0x00000461 
+ 00021605  0x00004e03 rtn 
+ 00021606  0x00004e06 bpatchx  0x00000046 , 0x00004028 
+ 00021607  0x00004e07 fetch  0x00000001 , 0x00000457 
+ 00021608  0x00004e08 iforce  0x00000007 
+ 00021609  0x00004e09 fetcht  0x00000005 , 0x0000046f 
+ 00021610  0x00004e0a qisolate1  0x00000002 
+ 00021611  0x00004e0b branch  0x0000547c , 0x00000001 
+ 00021612  0x00004e0d bpatchx  0x00000047 , 0x00004028 
+ 00021613  0x00004e0e fetch  0x00000001 , 0x00000461 
+ 00021614  0x00004e0f isub  0x00000007 , 0x0000003f 
+ 00021615  0x00004e10 branch  0x00005472 , 0x00000002 
+ 00021616  0x00004e11 sub  0x0000003f , 0xffffffff , 0x00000007 
+ 00021617  0x00004e12 branch  0x0000546c 
+ 00021618  0x00004e14 copy  0x00000007 , 0x00000039 
+ 00021619  0x00004e15 force  0x00000000 , 0x00000007 
+ 00021620  0x00004e17 qisolate1  0x00000002 
+ 00021621  0x00004e18 branch  0x00005477 , 0x00000001 
+ 00021622  0x00004e19 increase  0x00000001 , 0x00000039 
+ 00021623  0x00004e1b deposit  0x00000039 
+ 00021624  0x00004e1c branch  0x0000547c , 0x00000034 
+ 00021625  0x00004e1d increase  0x00000001 , 0x00000007 
+ 00021626  0x00004e1e increase  0xffffffff , 0x00000039 
+ 00021627  0x00004e1f branch  0x00005474 
+ 00021628  0x00004e21 deposit  0x00000007 
+ 00021629  0x00004e22 store  0x00000001 , 0x00000016 
+ 00021630  0x00004e23 rtn 
+ 00021631  0x00004e27 branch  0x00005482 , 0x00000029 
+ 00021632  0x00004e28 until  0x0000003e , 0x00000003 
+ 00021633  0x00004e29 rtn 
+ 00021634  0x00004e2c arg  0x00000ea0 , 0x0000000b 
+ 00021635  0x00004e2d until  0x00000023 , 0x00000026 
+ 00021636  0x00004e2e rtn 
+ 00021637  0x00004e31 disable  0x00000010 
+ 00021638  0x00004e32 fetch  0x00000002 , 0x0000436c 
+ 00021639  0x00004e33 copy  0x0000003f , 0x0000000b 
+ 00021640  0x00004e34 branch  0x0000548e 
+ 00021641  0x00004e38 bpatchx  0x00000048 , 0x00004029 
+ 00021642  0x00004e39 enable  0x00000010 
+ 00021643  0x00004e3a fetch  0x00000002 , 0x0000044d 
+ 00021644  0x00004e3b fetcht  0x00000004 , 0x000044e5 
+ 00021645  0x00004e3c iadd  0x00000002 , 0x0000000b 
+ 00021646  0x00004e3e call  0x000053de 
+ 00021647  0x00004e40 bpatchx  0x00000049 , 0x00004029 
+ 00021648  0x00004e41 call  0x000053d5 
+ 00021649  0x00004e42 disable  0x0000002d 
+ 00021650  0x00004e43 enable  0x0000000d 
+ 00021651  0x00004e44 enable  0x00000021 
+ 00021652  0x00004e45 disable  0x00000020 
+ 00021653  0x00004e46 copy  0x0000000b , 0x0000001b 
+ 00021654  0x00004e47 correlate  0x0000003e , 0x00000003 
+ 00021655  0x00004e48 branch  0x0000549a , 0x0000002e 
+ 00021656  0x00004e49 copy  0x0000001a , 0x00000002 
+ 00021657  0x00004e4a storet  0x00000006 , 0x0000009a 
+ 00021658  0x00004e4c nbranch  0x0000264d , 0x00000018 
+ 00021659  0x00004e4d branch  0x000054a1 , 0x0000002e 
+ 00021660  0x00004e4e arg  0x000001e0 , 0x00000029 
+ 00021661  0x00004e4f copy  0x00000021 , 0x00000028 
+ 00021662  0x00004e50 fetch  0x00000001 , 0x0000043f 
+ 00021663  0x00004e51 bbit0  0x00000003 , 0x000054a1 
+ 00021664  0x00004e52 call  0x00002b05 , 0x0000002b 
+ 00021665  0x00004e54 bpatchx  0x0000004a , 0x00004029 
+ 00021666  0x00004e55 call  0x000029bb 
+ 00021667  0x00004e56 enable  0x00000007 
+ 00021668  0x00004e57 enable  0x00000009 
+ 00021669  0x00004e58 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021670  0x00004e59 rshift3  0x0000000c , 0x0000003f 
+ 00021671  0x00004e5a store  0x00000001 , 0x000002d9 
+ 00021672  0x00004e5b parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021673  0x00004e5c rshift3  0x0000000c , 0x0000003f 
+ 00021674  0x00004e5d istore  0x00000001 , 0x00000005 
+ 00021675  0x00004e5e and  0x0000003f , 0x0000003f , 0x00000039 
+ 00021676  0x00004e5f branch  0x000054b1 , 0x00000005 
+ 00021677  0x00004e62 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021678  0x00004e63 rshift3  0x0000000c , 0x0000003f 
+ 00021679  0x00004e64 istore  0x00000001 , 0x00000005 
+ 00021680  0x00004e65 loop  0x000054ad 
+ 00021681  0x00004e68 bpatchx  0x0000004b , 0x00004029 
+ 00021682  0x00004e69 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00021683  0x00004e6a enable  0x00000010 
+ 00021684  0x00004e6b arg  0x00000664 , 0x0000001b 
+ 00021685  0x00004e6c rshift32  0x0000003f , 0x0000003f 
+ 00021686  0x00004e6d rshift16  0x0000003f , 0x0000003f 
+ 00021687  0x00004e6e istore  0x00000003 , 0x00000005 
+ 00021688  0x00004e6f branch  0x0000264d , 0x00000006 
+ 00021689  0x00004e70 enable  0x0000002d 
+ 00021690  0x00004e71 fetch  0x00000001 , 0x00000017 
+ 00021691  0x00004e72 add  0x0000003f , 0x00000000 , 0x00000011 
+ 00021692  0x00004e73 call  0x00002981 
+ 00021693  0x00004e74 disable  0x0000000d 
+ 00021694  0x00004e75 branch  0x00002918 
+ 00021695  0x00004e78 bpatchx  0x0000004c , 0x00004029 
+ 00021696  0x00004e79 call  0x000054c9 
+ 00021697  0x00004e7b fetcht  0x00000001 , 0x00000017 
+ 00021698  0x00004e7c call  0x0000291f 
+ 00021699  0x00004e7d call  0x00002924 
+ 00021700  0x00004e7e enable  0x00000010 
+ 00021701  0x00004e7f arg  0x0000157c , 0x0000000b 
+ 00021702  0x00004e80 branch  0x0000548f 
+ 00021703  0x00004e83 call  0x000054c9 
+ 00021704  0x00004e84 branch  0x0000264d 
+ 00021705  0x00004e87 bpatchx  0x0000004d , 0x00004029 
+ 00021706  0x00004e88 call  0x000053d5 
+ 00021707  0x00004e89 call  0x000053e3 
+ 00021708  0x00004e8a branch  0x000054cd 
+ 00021709  0x00004e8d set1  0x00000000 , 0x00000015 
+ 00021710  0x00004e8e enable  0x0000001d 
+ 00021711  0x00004e8f enable  0x00000020 
+ 00021712  0x00004e90 disable  0x00000021 
+ 00021713  0x00004e91 call  0x0000547f 
+ 00021714  0x00004e92 rshift16  0x00000009 , 0x0000003f 
+ 00021715  0x00004e93 rshift8  0x0000003f , 0x0000003f 
+ 00021716  0x00004e94 rshift4  0x0000003f , 0x0000003f 
+ 00021717  0x00004e95 inject  0x00000003 , 0x00000028 
+ 00021718  0x00004e96 enable  0x00000007 
+ 00021719  0x00004e97 enable  0x00000009 
+ 00021720  0x00004e98 bpatchx  0x0000004e , 0x00004029 
+ 00021721  0x00004e99 fetch  0x00000001 , 0x000043dc 
+ 00021722  0x00004e9a inject  0x00000003 , 0x00000008 
+ 00021723  0x00004e9b ifetch  0x00000001 , 0x00000006 
+ 00021724  0x00004e9c and  0x0000003f , 0x0000003f , 0x00000039 
+ 00021725  0x00004e9d inject  0x00000003 , 0x00000008 
+ 00021726  0x00004e9e branch  0x000054e2 , 0x00000005 
+ 00021727  0x00004ea0 ifetch  0x00000001 , 0x00000006 
+ 00021728  0x00004ea1 inject  0x00000003 , 0x00000008 
+ 00021729  0x00004ea2 loop  0x000054df 
+ 00021730  0x00004ea5 enable  0x00000008 
+ 00021731  0x00004ea6 inject  0x00000003 , 0x00000018 
+ 00021732  0x00004ea7 disable  0x00000008 
+ 00021733  0x00004ea8 until  0x0000003e , 0x00000027 
+ 00021734  0x00004ea9 nop  0x00000064 
+ 00021735  0x00004eaa disable  0x0000001d 
+ 00021736  0x00004eab rtn 
+ 00021737  0x00004eae bpatchx  0x0000004f , 0x00004029 
+ 00021738  0x00004eaf fetch  0x00000001 , 0x00004484 
+ 00021739  0x00004eb0 beq  0x00000001 , 0x000054f9 
+ 00021740  0x00004eb1 fetch  0x00000001 , 0x00004485 
+ 00021741  0x00004eb2 lshift4  0x0000003f , 0x0000003f 
+ 00021742  0x00004eb3 lshift2  0x0000003f , 0x0000003f 
+ 00021743  0x00004eb4 store  0x00000001 , 0x000043dc 
+ 00021744  0x00004eb5 fetcht  0x00000001 , 0x0000436f 
+ 00021745  0x00004eb6 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00021746  0x00004eb7 store  0x00000001 , 0x000043dd 
+ 00021747  0x00004eb8 fetch  0x00000006 , 0x000044a0 
+ 00021748  0x00004eb9 store  0x00000006 , 0x000043de 
+ 00021749  0x00004eba copy  0x00000002 , 0x00000039 
+ 00021750  0x00004ebb arg  0x00004370 , 0x00000006 
+ 00021751  0x00004ebc call  0x00007ef4 
+ 00021752  0x00004ebd branch  0x00005504 
+ 00021753  0x00004ebf fetch  0x00000001 , 0x00004486 
+ 00021754  0x00004ec0 lshift4  0x0000003f , 0x0000003f 
+ 00021755  0x00004ec1 lshift2  0x0000003f , 0x0000003f 
+ 00021756  0x00004ec2 increase  0x00000001 , 0x0000003f 
+ 00021757  0x00004ec3 store  0x00000001 , 0x000043dc 
+ 00021758  0x00004ec4 setarg  0x0000000c 
+ 00021759  0x00004ec5 store  0x00000001 , 0x000043dd 
+ 00021760  0x00004ec6 fetch  0x00000006 , 0x000044a0 
+ 00021761  0x00004ec7 store  0x00000006 , 0x000043de 
+ 00021762  0x00004ec8 fetch  0x00000006 , 0x000041d0 
+ 00021763  0x00004ec9 istore  0x00000006 , 0x00000005 
+ 00021764  0x00004ecb bpatchx  0x00000050 , 0x0000402a 
+ 00021765  0x00004ecc fetch  0x00000001 , 0x00000000 
+ 00021766  0x00004ecd increase  0x00000001 , 0x0000003f 
+ 00021767  0x00004ece store  0x00000001 , 0x00000000 
+ 00021768  0x00004ecf arg  0x00000708 , 0x0000001b 
+ 00021769  0x00004ed0 disable  0x0000002d 
+ 00021770  0x00004ed1 branch  0x000054bf 
+ 00021771  0x00004ed4 bpatchx  0x00000051 , 0x0000402a 
+ 00021772  0x00004ed5 fetch  0x00000001 , 0x0000449e 
+ 00021773  0x00004ed6 rtnne  0x00000001 
+ 00021774  0x00004ed7 fetch  0x00000001 , 0x00000000 
+ 00021775  0x00004ed8 increase  0x00000001 , 0x0000003f 
+ 00021776  0x00004ed9 store  0x00000001 , 0x00000000 
+ 00021777  0x00004eda arg  0x00000c03 , 0x00000002 
+ 00021778  0x00004edb fetch  0x00000001 , 0x0000449f 
+ 00021779  0x00004edc nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00021780  0x00004edd copy  0x00000011 , 0x0000003f 
+ 00021781  0x00004ede nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00021782  0x00004edf storet  0x00000002 , 0x000043dc 
+ 00021783  0x00004ee0 fetch  0x00000006 , 0x000044a0 
+ 00021784  0x00004ee1 istore  0x00000006 , 0x00000005 
+ 00021785  0x00004ee2 fetch  0x00000006 , 0x0000044f 
+ 00021786  0x00004ee3 istore  0x00000006 , 0x00000005 
+ 00021787  0x00004ee4 branch  0x000054bf 
+ 00021788  0x00004ee8 bpatchx  0x00000052 , 0x0000402a 
+ 00021789  0x00004ee9 arg  0x00000004 , 0x00000002 
+ 00021790  0x00004eea fetch  0x00000001 , 0x00004485 
+ 00021791  0x00004eeb nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00021792  0x00004eec storet  0x00000001 , 0x000043dc 
+ 00021793  0x00004eed fetcht  0x00000001 , 0x0000438f 
+ 00021794  0x00004eee add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00021795  0x00004eef store  0x00000001 , 0x000043dd 
+ 00021796  0x00004ef0 fetch  0x00000006 , 0x000044a0 
+ 00021797  0x00004ef1 store  0x00000006 , 0x000043de 
+ 00021798  0x00004ef2 arg  0x00004390 , 0x00000006 
+ 00021799  0x00004ef3 copy  0x00000002 , 0x00000039 
+ 00021800  0x00004ef4 call  0x00007ef4 
+ 00021801  0x00004ef5 call  0x000054c7 
+ 00021802  0x00004ef6 branch  0x00005706 
+ 00021803  0x00004ef9 bpatchx  0x00000053 , 0x0000402a 
+ 00021804  0x00004efa force  0xffffffff , 0x0000003f 
+ 00021805  0x00004efb setsect  0x00000002 , 0x00000001 
+ 00021806  0x00004efc store  0x00000005 , 0x0000046f 
+ 00021807  0x00004efd call  0x0000545b 
+ 00021808  0x00004efe force  0x00000004 , 0x00000039 
+ 00021809  0x00004eff arg  0x00000463 , 0x00000005 
+ 00021810  0x00004f00 call  0x0000630d 
+ 00021811  0x00004f01 fetch  0x00000002 , 0x0000449c 
+ 00021812  0x00004f02 store  0x00000002 , 0x0000046d 
+ 00021813  0x00004f04 random  0x0000003f 
+ 00021814  0x00004f05 and_into  0x0000000f , 0x0000003f 
+ 00021815  0x00004f06 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00021816  0x00004f07 branch  0x00005535 , 0x00000002 
+ 00021817  0x00004f08 store  0x00000001 , 0x00000458 
+ 00021818  0x00004f09 store  0x00000001 , 0x000006e6 
+ 00021819  0x00004f0a bpatchx  0x00000054 , 0x0000402a 
+ 00021820  0x00004f0b fetcht  0x00000002 , 0x00004367 
+ 00021821  0x00004f0c storet  0x00000002 , 0x00000441 
+ 00021822  0x00004f0d copy  0x00000002 , 0x00000013 
+ 00021823  0x00004f0e add  0x00000022 , 0x00000007 , 0x0000003f 
+ 00021824  0x00004f0f idiv  0x00000013 
+ 00021825  0x00004f10 call  0x00007f86 
+ 00021826  0x00004f11 remainder  0x00000011 
+ 00021827  0x00004f12 isub  0x00000011 , 0x0000003f 
+ 00021828  0x00004f13 iadd  0x00000013 , 0x0000003f 
+ 00021829  0x00004f14 fetcht  0x00000002 , 0x00004365 
+ 00021830  0x00004f15 iadd  0x00000002 , 0x0000003f 
+ 00021831  0x00004f16 store  0x00000004 , 0x00000443 
+ 00021832  0x00004f17 isub  0x00000022 , 0x00000011 
+ 00021833  0x00004f18 increase  0xfffffffa , 0x00000011 
+ 00021834  0x00004f19 arg  0x00002205 , 0x00000012 
+ 00021835  0x00004f1a fetch  0x00000001 , 0x00004495 
+ 00021836  0x00004f1b nsetflag  0x00000034 , 0x00000006 , 0x00000012 
+ 00021837  0x00004f1c fetch  0x00000001 , 0x0000448e 
+ 00021838  0x00004f1d nsetflag  0x00000034 , 0x00000007 , 0x00000012 
+ 00021839  0x00004f1e copy  0x00000012 , 0x0000003f 
+ 00021840  0x00004f1f store  0x00000002 , 0x000043dc 
+ 00021841  0x00004f20 fetch  0x00000006 , 0x000044a0 
+ 00021842  0x00004f21 istore  0x00000006 , 0x00000005 
+ 00021843  0x00004f22 fetch  0x00000006 , 0x0000044f 
+ 00021844  0x00004f23 istore  0x00000006 , 0x00000005 
+ 00021845  0x00004f24 fetch  0x00000004 , 0x00000463 
+ 00021846  0x00004f25 istore  0x00000004 , 0x00000005 
+ 00021847  0x00004f26 random  0x0000003f 
+ 00021848  0x00004f27 istore  0x00000002 , 0x00000005 
+ 00021849  0x00004f28 random  0x0000003f 
+ 00021850  0x00004f29 istore  0x00000001 , 0x00000005 
+ 00021851  0x00004f2a force  0x00000002 , 0x0000003f 
+ 00021852  0x00004f2b istore  0x00000001 , 0x00000005 
+ 00021853  0x00004f2c rshift2  0x00000011 , 0x0000003f 
+ 00021854  0x00004f2d istore  0x00000002 , 0x00000005 
+ 00021855  0x00004f2e rshift2  0x00000013 , 0x0000003f 
+ 00021856  0x00004f2f istore  0x00000002 , 0x00000005 
+ 00021857  0x00004f30 bpatchx  0x00000055 , 0x0000402a 
+ 00021858  0x00004f31 setarg  0x00000000 
+ 00021859  0x00004f32 istore  0x00000002 , 0x00000005 
+ 00021860  0x00004f33 fetch  0x00000002 , 0x0000449c 
+ 00021861  0x00004f34 istore  0x00000002 , 0x00000005 
+ 00021862  0x00004f35 fetch  0x00000005 , 0x0000046f 
+ 00021863  0x00004f36 istore  0x00000005 , 0x00000005 
+ 00021864  0x00004f37 fetch  0x00000001 , 0x00000458 
+ 00021865  0x00004f38 arg  0x000000a0 , 0x00000002 
+ 00021866  0x00004f39 ior  0x00000002 , 0x0000003f 
+ 00021867  0x00004f3a istore  0x00000001 , 0x00000005 
+ 00021868  0x00004f3b call  0x000054c7 
+ 00021869  0x00004f3c setarg  0x000043dc 
+ 00021870  0x00004f3d add  0x0000003f , 0x00000012 , 0x00000006 
+ 00021871  0x00004f3e ifetch  0x00000003 , 0x00000006 
+ 00021872  0x00004f3f store  0x00000003 , 0x00000467 
+ 00021873  0x00004f40 rtn 
+ 00021874  0x00004f43 bpatchx  0x00000056 , 0x0000402a 
+ 00021875  0x00004f44 disable  0x00000029 
+ 00021876  0x00004f45 branch  0x0000540c 
+ 00021877  0x00004f4a fetch  0x00000001 , 0x0000043f 
+ 00021878  0x00004f4b rtnbit0  0x00000005 
+ 00021879  0x00004f4c fetch  0x00000002 , 0x00000459 
+ 00021880  0x00004f4d fetcht  0x00000002 , 0x0000045f 
+ 00021881  0x00004f4e isub  0x00000002 , 0x0000003f 
+ 00021882  0x00004f4f nrtn  0x00000002 
+ 00021883  0x00004f50 store  0x00000002 , 0x00000a9a 
+ 00021884  0x00004f51 bpatchx  0x00000057 , 0x0000402a 
+ 00021885  0x00004f52 fetch  0x00000001 , 0x0000043f 
+ 00021886  0x00004f53 set0  0x00000005 , 0x0000003f 
+ 00021887  0x00004f54 set0  0x00000003 , 0x0000003f 
+ 00021888  0x00004f55 store  0x00000001 , 0x0000043f 
+ 00021889  0x00004f56 fetch  0x00000004 , 0x00000443 
+ 00021890  0x00004f57 fetcht  0x00000002 , 0x00000441 
+ 00021891  0x00004f58 storet  0x00000002 , 0x00000aa2 
+ 00021892  0x00004f59 isub  0x00000002 , 0x00000011 
+ 00021893  0x00004f5a bpatchx  0x00000058 , 0x0000402b 
+ 00021894  0x00004f5b fetch  0x00000001 , 0x000043d3 
+ 00021895  0x00004f5c store  0x00000001 , 0x0000046a 
+ 00021896  0x00004f5d ifetcht  0x00000002 , 0x00000006 
+ 00021897  0x00004f5e ifetch  0x00000002 , 0x00000006 
+ 00021898  0x00004f5f lshift2  0x0000003f , 0x0000003f 
+ 00021899  0x00004f60 store  0x00000002 , 0x00000441 
+ 00021900  0x00004f61 lshift2  0x00000002 , 0x00000002 
+ 00021901  0x00004f62 iadd  0x00000002 , 0x0000003f 
+ 00021902  0x00004f63 ifetcht  0x00000004 , 0x00000006 
+ 00021903  0x00004f64 storet  0x00000004 , 0x0000046b 
+ 00021904  0x00004f65 iadd  0x00000011 , 0x0000003f 
+ 00021905  0x00004f66 copy  0x0000003f , 0x00000014 
+ 00021906  0x00004f67 fetch  0x00000002 , 0x00000441 
+ 00021907  0x00004f68 fetcht  0x00000002 , 0x00000aa2 
+ 00021908  0x00004f69 isub  0x00000002 , 0x0000003f 
+ 00021909  0x00004f6a fetcht  0x00000002 , 0x00000a9a 
+ 00021910  0x00004f6b imul32  0x00000002 , 0x0000003f 
+ 00021911  0x00004f6c iadd  0x00000014 , 0x0000003f 
+ 00021912  0x00004f6d store  0x00000004 , 0x00000443 
+ 00021913  0x00004f6e call  0x00005713 
+ 00021914  0x00004f6f fetch  0x00000002 , 0x0000046d 
+ 00021915  0x00004f70 store  0x00000002 , 0x000044ba 
+ 00021916  0x00004f71 rtn 
+ 00021917  0x00004f75 bpatchx  0x00000059 , 0x0000402b 
+ 00021918  0x00004f76 fetch  0x00000001 , 0x0000043f 
+ 00021919  0x00004f77 rtnbit0  0x00000006 
+ 00021920  0x00004f78 fetch  0x00000002 , 0x00000459 
+ 00021921  0x00004f79 fetcht  0x00000002 , 0x0000045f 
+ 00021922  0x00004f7a isub  0x00000002 , 0x0000003f 
+ 00021923  0x00004f7b nrtn  0x00000002 
+ 00021924  0x00004f7c fetch  0x00000001 , 0x0000043f 
+ 00021925  0x00004f7d set0  0x00000006 , 0x0000003f 
+ 00021926  0x00004f7e store  0x00000001 , 0x0000043f 
+ 00021927  0x00004f7f fetch  0x00000005 , 0x000043ce 
+ 00021928  0x00004f80 store  0x00000005 , 0x0000046f 
+ 00021929  0x00004f81 branch  0x0000545b 
+ 00021930  0x00004f85 bpatchx  0x0000005a , 0x0000402b 
+ 00021931  0x00004f86 call  0x000056ed 
+ 00021932  0x00004f87 call  0x000055c0 
+ 00021933  0x00004f88 fetch  0x00000001 , 0x000002d9 
+ 00021934  0x00004f89 isolate1  0x00000004 , 0x0000003f 
+ 00021935  0x00004f8a setflag  0x00000001 , 0x0000002a , 0x00000000 
+ 00021936  0x00004f8b rshift  0x0000003f , 0x0000003f 
+ 00021937  0x00004f8c ixor  0x00000002 , 0x0000003f 
+ 00021938  0x00004f8d isolate1  0x00000002 , 0x0000003f 
+ 00021939  0x00004f8e setflag  0x00000001 , 0x0000000f , 0x00000000 
+ 00021940  0x00004f8f rtnmark1  0x0000000f 
+ 00021941  0x00004f90 fetch  0x00000001 , 0x000002da 
+ 00021942  0x00004f91 branch  0x000055bc , 0x00000034 
+ 00021943  0x00004f92 fetch  0x00000001 , 0x0000043f 
+ 00021944  0x00004f93 bbit0  0x00000004 , 0x000055bc 
+ 00021945  0x00004f94 call  0x0000748d 
+ 00021946  0x00004f95 call  0x000073fb 
+ 00021947  0x00004f96 nrtn  0x00000034 
+ 00021948  0x00004f98 fetcht  0x00000001 , 0x00000456 
+ 00021949  0x00004f99 setflip  0x00000002 , 0x00000002 
+ 00021950  0x00004f9a storet  0x00000001 , 0x00000456 
+ 00021951  0x00004f9b rtn 
+ 00021952  0x00004f9f bpatchx  0x0000005b , 0x0000402b 
+ 00021953  0x00004fa0 fetcht  0x00000001 , 0x00000456 
+ 00021954  0x00004fa1 isolate0  0x00000005 , 0x00000002 
+ 00021955  0x00004fa2 rtn  0x00000001 
+ 00021956  0x00004fa3 fetch  0x00000001 , 0x000002d9 
+ 00021957  0x00004fa4 lshift  0x0000003f , 0x0000003f 
+ 00021958  0x00004fa5 ixor  0x00000002 , 0x0000003f 
+ 00021959  0x00004fa6 rtnbit0  0x00000003 
+ 00021960  0x00004fa7 set0  0x00000005 , 0x00000002 
+ 00021961  0x00004fa8 setflip  0x00000003 , 0x00000002 
+ 00021962  0x00004fa9 storet  0x00000001 , 0x00000456 
+ 00021963  0x00004faa compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00021964  0x00004fab nrtn  0x00000001 
+ 00021965  0x00004fac fetch  0x00000001 , 0x000043de 
+ 00021966  0x00004fad beq  0x00000005 , 0x000055d2 
+ 00021967  0x00004fae fetch  0x00000001 , 0x000044c5 
+ 00021968  0x00004faf beq  0x00000002 , 0x000055d6 
+ 00021969  0x00004fb0 rtn 
+ 00021970  0x00004fb4 fetch  0x00000001 , 0x0000043f 
+ 00021971  0x00004fb5 set1  0x00000004 , 0x0000003f 
+ 00021972  0x00004fb6 store  0x00000001 , 0x0000043f 
+ 00021973  0x00004fb7 rtn 
+ 00021974  0x00004fba bpatchx  0x0000005c , 0x0000402b 
+ 00021975  0x00004fbb jam  0x00000000 , 0x000044c5 
+ 00021976  0x00004fbc arg  0x00000000 , 0x0000003f 
+ 00021977  0x00004fbd store  0x00000004 , 0x0000440d 
+ 00021978  0x00004fbe store  0x00000005 , 0x00004403 
+ 00021979  0x00004fbf set1  0x00000027 , 0x0000003f 
+ 00021980  0x00004fc0 store  0x00000005 , 0x00004408 
+ 00021981  0x00004fc1 fetch  0x00000001 , 0x0000043f 
+ 00021982  0x00004fc2 set0  0x00000004 , 0x0000003f 
+ 00021983  0x00004fc3 store  0x00000001 , 0x0000043f 
+ 00021984  0x00004fc4 rtn 
+ 00021985  0x00004fc8 bpatchx  0x0000005d , 0x0000402b 
+ 00021986  0x00004fc9 call  0x00005422 
+ 00021987  0x00004fca call  0x00005485 
+ 00021988  0x00004fcb fetch  0x00000001 , 0x00000001 
+ 00021989  0x00004fcc increase  0x00000001 , 0x0000003f 
+ 00021990  0x00004fcd store  0x00000001 , 0x00000001 
+ 00021991  0x00004fce rtn 
+ 00021992  0x00004fd2 bpatchx  0x0000005e , 0x0000402b 
+ 00021993  0x00004fd3 fetch  0x00000001 , 0x00004369 
+ 00021994  0x00004fd4 rtnne  0x00000001 
+ 00021995  0x00004fd5 arg  0x00000002 , 0x00000007 
+ 00021996  0x00004fd6 call  0x00007f16 
+ 00021997  0x00004fd7 nrtn  0x00000034 
+ 00021998  0x00004fd8 fetch  0x00000002 , 0x0000436a 
+ 00021999  0x00004fd9 fetcht  0x00000002 , 0x0000436c 
+ 00022000  0x00004fda isub  0x00000002 , 0x0000003f 
+ 00022001  0x00004fdb arg  0x00000002 , 0x00000007 
+ 00022002  0x00004fdc call  0x00007f08 
+ 00022003  0x00004fdd disable  0x00000029 
+ 00022004  0x00004fde call  0x00005572 
+ 00022005  0x00004fdf call  0x000055e1 
+ 00022006  0x00004fe0 nrtn  0x0000002d 
+ 00022007  0x00004fe1 bpatchx  0x0000005f , 0x0000402b 
+ 00022008  0x00004fe2 fetch  0x00000006 , 0x000002db 
+ 00022009  0x00004fe3 store  0x00000006 , 0x0000044f 
+ 00022010  0x00004fe6 fetch  0x00000001 , 0x00000002 
+ 00022011  0x00004fe7 increase  0x00000001 , 0x0000003f 
+ 00022012  0x00004fe8 store  0x00000001 , 0x00000002 
+ 00022013  0x00004fe9 call  0x00005608 
+ 00022014  0x00004fea rtn  0x00000029 
+ 00022015  0x00004feb call  0x0000550b 
+ 00022016  0x00004fec nrtn  0x0000002d 
+ 00022017  0x00004fed bpatchx  0x00000060 , 0x0000402c 
+ 00022018  0x00004fee fetch  0x00000001 , 0x00000004 
+ 00022019  0x00004fef increase  0x00000001 , 0x0000003f 
+ 00022020  0x00004ff0 store  0x00000001 , 0x00000004 
+ 00022021  0x00004ff1 fetch  0x00000009 , 0x000002e1 
+ 00022022  0x00004ff2 store  0x00000009 , 0x00000101 
+ 00022023  0x00004ff3 rtn 
+ 00022024  0x00004ff6 bpatchx  0x00000061 , 0x0000402c 
+ 00022025  0x00004ff7 fetch  0x00000001 , 0x0000049b 
+ 00022026  0x00004ff8 rtnne  0x0000001b 
+ 00022027  0x00004ff9 fetch  0x00000006 , 0x0000044f 
+ 00022028  0x00004ffa fetcht  0x00000006 , 0x0000448f 
+ 00022029  0x00004ffb isub  0x00000002 , 0x0000003e 
+ 00022030  0x00004ffc nrtn  0x00000005 
+ 00022031  0x00004ffd call  0x0000223b 
+ 00022032  0x00004ffe nrtn  0x00000005 
+ 00022033  0x00004fff call  0x0000552b 
+ 00022034  0x00005000 call  0x00005340 
+ 00022035  0x00005001 bpatchx  0x00000062 , 0x0000402c 
+ 00022036  0x00005002 jam  0x00000000 , 0x000041ce 
+ 00022037  0x00005003 jam  0x00000000 , 0x00000476 
+ 00022038  0x00005004 jam  0x00000000 , 0x00004369 
+ 00022039  0x00005005 jam  0x00000000 , 0x0000049b 
+ 00022040  0x00005006 branch  0x00002223 
+ 00022041  0x00005009 arg  0x00000001 , 0x00000011 
+ 00022042  0x0000500a fetch  0x00000001 , 0x000002d9 
+ 00022043  0x0000500b rtnbit1  0x00000006 
+ 00022044  0x0000500c arg  0x00000000 , 0x00000011 
+ 00022045  0x0000500d rtn 
+ 00022046  0x00005012 bpatchx  0x00000063 , 0x0000402c 
+ 00022047  0x00005013 fetch  0x00000001 , 0x00000456 
+ 00022048  0x00005014 rtnbit1  0x00000005 
+ 00022049  0x00005015 call  0x00005642 
+ 00022050  0x00005016 call  0x00005873 
+ 00022051  0x00005017 branch  0x00005664 , 0x00000034 
+ 00022052  0x00005018 ifetch  0x00000001 , 0x00000006 
+ 00022053  0x00005019 ifetcht  0x00000001 , 0x00000006 
+ 00022054  0x0000501a copy  0x00000002 , 0x00000011 
+ 00022055  0x0000501b isub  0x00000011 , 0x0000003f 
+ 00022056  0x0000501c arg  0x0000001b , 0x00000002 
+ 00022057  0x0000501d call  0x00007fdd 
+ 00022058  0x0000501e copy  0x0000003f , 0x00000002 
+ 00022059  0x0000501f ifetch  0x00000001 , 0x00000006 
+ 00022060  0x00005020 copy  0x0000003f , 0x00000001 
+ 00022061  0x00005021 copy  0x00000011 , 0x0000003f 
+ 00022062  0x00005022 iadd  0x00000006 , 0x00000006 
+ 00022063  0x00005023 arg  0x000043de , 0x00000005 
+ 00022064  0x00005024 copy  0x00000002 , 0x00000039 
+ 00022065  0x00005025 call  0x00007f01 
+ 00022066  0x00005026 call  0x00005654 
+ 00022067  0x00005027 call  0x00005666 
+ 00022068  0x00005029 call  0x00005873 
+ 00022069  0x0000502a ifetch  0x00000001 , 0x00000006 
+ 00022070  0x0000502b copy  0x0000003f , 0x00000011 
+ 00022071  0x0000502c copy  0x00000006 , 0x00000013 
+ 00022072  0x0000502d ifetcht  0x00000001 , 0x00000006 
+ 00022073  0x0000502e copy  0x00000002 , 0x00000012 
+ 00022074  0x0000502f isub  0x00000012 , 0x0000003f 
+ 00022075  0x00005030 arg  0x0000001b , 0x00000002 
+ 00022076  0x00005031 call  0x00007fdd 
+ 00022077  0x00005032 iadd  0x00000012 , 0x0000003f 
+ 00022078  0x00005033 istore  0x00000001 , 0x00000013 
+ 00022079  0x00005034 isub  0x00000011 , 0x0000003e 
+ 00022080  0x00005035 nrtn  0x00000005 
+ 00022081  0x00005036 branch  0x00005896 
+ 00022082  0x0000503a call  0x00005649 
+ 00022083  0x0000503b rtnmark1  0x00000029 
+ 00022084  0x0000503c fetch  0x00000001 , 0x000044e9 
+ 00022085  0x0000503d bbit0  0x00000002 , 0x00005652 
+ 00022086  0x0000503e call  0x00005876 
+ 00022087  0x0000503f branch  0x00005652 , 0x00000034 
+ 00022088  0x00005040 branch  0x00005650 
+ 00022089  0x00005044 call  0x00005873 
+ 00022090  0x00005045 branch  0x00005652 , 0x00000034 
+ 00022091  0x00005046 ifetch  0x00000001 , 0x00000006 
+ 00022092  0x00005047 ifetcht  0x00000001 , 0x00000006 
+ 00022093  0x00005048 isub  0x00000002 , 0x0000003f 
+ 00022094  0x00005049 sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00022095  0x0000504a branch  0x00005652 , 0x00000002 
+ 00022096  0x0000504c set1  0x00000029 , 0x00000000 
+ 00022097  0x0000504d rtn 
+ 00022098  0x00005050 set0  0x00000029 , 0x00000000 
+ 00022099  0x00005051 rtn 
+ 00022100  0x00005054 copy  0x00000011 , 0x0000003f 
+ 00022101  0x00005055 rtn  0x00000034 
+ 00022102  0x00005056 arg  0x00000001 , 0x00000001 
+ 00022103  0x00005057 rtn 
+ 00022104  0x0000505b bpatchx  0x00000064 , 0x0000402c 
+ 00022105  0x0000505c increase  0x00000001 , 0x00000002 
+ 00022106  0x0000505d call  0x0000576a 
+ 00022107  0x0000505e increase  0xfffffffe , 0x00000006 
+ 00022108  0x0000505f ifetch  0x00000002 , 0x00000006 
+ 00022109  0x00005060 arg  0x00002902 , 0x00000002 
+ 00022110  0x00005061 isub  0x00000002 , 0x0000003e 
+ 00022111  0x00005062 nrtn  0x00000005 
+ 00022112  0x00005063 increase  0x00000001 , 0x00000006 
+ 00022113  0x00005064 copy  0x00000006 , 0x00000011 
+ 00022114  0x00005065 ifetch  0x00000001 , 0x00000006 
+ 00022115  0x00005066 rtn 
+ 00022116  0x0000506a force  0x00000000 , 0x00000002 
+ 00022117  0x0000506b force  0x00000001 , 0x00000001 
+ 00022118  0x0000506e bpatchx  0x00000065 , 0x0000402c 
+ 00022119  0x0000506f storet  0x00000001 , 0x000043dd 
+ 00022120  0x00005070 fetcht  0x00000001 , 0x00000456 
+ 00022121  0x00005071 set1  0x00000005 , 0x00000002 
+ 00022122  0x00005072 and  0x00000002 , 0x000000fc , 0x0000003f 
+ 00022123  0x00005073 ior  0x00000001 , 0x0000003f 
+ 00022124  0x00005074 store  0x00000001 , 0x00000456 
+ 00022125  0x00005075 and_into  0x0000001f , 0x0000003f 
+ 00022126  0x00005076 isolate1  0x00000029 , 0x00000000 
+ 00022127  0x00005077 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00022128  0x00005078 store  0x00000001 , 0x000043dc 
+ 00022129  0x0000507a fetch  0x00000001 , 0x000043dc 
+ 00022130  0x0000507b compare  0x00000001 , 0x00000001 , 0x00000003 
+ 00022131  0x0000507c nbranch  0x00005676 , 0x00000001 
+ 00022132  0x0000507d fetch  0x00000001 , 0x000043dd 
+ 00022133  0x0000507e rtn  0x00000034 
+ 00022134  0x00005080 fetch  0x00000001 , 0x0000043f 
+ 00022135  0x00005081 rtnbit0  0x00000004 
+ 00022136  0x00005082 call  0x0000748d 
+ 00022137  0x00005083 branch  0x000073e3 
+ 00022138  0x00005087 arg  0x00000000 , 0x00000007 
+ 00022139  0x00005088 branch  0x00002c32 
+ 00022140  0x0000508b arg  0x00000000 , 0x00000007 
+ 00022141  0x0000508c branch  0x00002c36 
+ 00022142  0x00005090 bpatchx  0x00000066 , 0x0000402c 
+ 00022143  0x00005091 rtnmark1  0x0000000f 
+ 00022144  0x00005092 call  0x00005890 
+ 00022145  0x00005093 nrtn  0x00000034 
+ 00022146  0x00005094 fetch  0x00000001 , 0x000002d9 
+ 00022147  0x00005095 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00022148  0x00005096 store  0x00000001 , 0x0000450c 
+ 00022149  0x00005097 ifetch  0x00000001 , 0x00000006 
+ 00022150  0x00005098 and  0x0000003f , 0x0000001f , 0x0000003f 
+ 00022151  0x00005099 store  0x00000001 , 0x0000450b 
+ 00022152  0x0000509a rtn  0x00000034 
+ 00022153  0x0000509b copy  0x00000006 , 0x0000003f 
+ 00022154  0x0000509c store  0x00000002 , 0x0000450d 
+ 00022155  0x0000509d fetch  0x00000001 , 0x0000450c 
+ 00022156  0x0000509e beq  0x00000003 , 0x00005c64 
+ 00022157  0x000050a0 call  0x0000569a 
+ 00022158  0x000050a1 nbranch  0x0000567a , 0x00000028 
+ 00022159  0x000050a2 call  0x0000567c 
+ 00022160  0x000050a3 fetch  0x00000002 , 0x0000450d 
+ 00022161  0x000050a4 copy  0x0000003f , 0x00000006 
+ 00022162  0x000050a5 ifetch  0x00000002 , 0x00000006 
+ 00022163  0x000050a6 store  0x00000002 , 0x000044fc 
+ 00022164  0x000050a7 bpatchx  0x00000067 , 0x0000402c 
+ 00022165  0x000050a8 ifetch  0x00000002 , 0x00000006 
+ 00022166  0x000050a9 beq  0x00000004 , 0x000058ab 
+ 00022167  0x000050aa beq  0x00000006 , 0x00005af4 
+ 00022168  0x000050ab beq  0x00000005 , 0x00005ab6 
+ 00022169  0x000050ac rtn 
+ 00022170  0x000050b0 fetch  0x00000001 , 0x0000450c 
+ 00022171  0x000050b1 beq  0x00000002 , 0x000056a9 
+ 00022172  0x000050b2 beq  0x00000001 , 0x000056c1 
+ 00022173  0x000050b3 rtn 
+ 00022174  0x000050b9 call  0x00007fe7 
+ 00022175  0x000050ba arg  0x00000004 , 0x00000002 
+ 00022176  0x000050bb isub  0x0000003f , 0x0000003e 
+ 00022177  0x000050bc rtn  0x00000005 
+ 00022178  0x000050bd arg  0x00000005 , 0x00000002 
+ 00022179  0x000050be isub  0x0000003f , 0x0000003e 
+ 00022180  0x000050bf rtn  0x00000005 
+ 00022181  0x000050c0 arg  0x00000006 , 0x00000002 
+ 00022182  0x000050c1 isub  0x0000003f , 0x0000003e 
+ 00022183  0x000050c2 rtn  0x00000005 
+ 00022184  0x000050c3 branch  0x00007fe9 
+ 00022185  0x000050c7 fetch  0x00000002 , 0x0000450d 
+ 00022186  0x000050c8 copy  0x0000003f , 0x00000006 
+ 00022187  0x000050c9 ifetch  0x00000002 , 0x00000006 
+ 00022188  0x000050ca store  0x00000002 , 0x000044fc 
+ 00022189  0x000050cb ifetch  0x00000002 , 0x00000006 
+ 00022190  0x000050cc call  0x0000569e 
+ 00022191  0x000050cd nrtn  0x00000028 
+ 00022192  0x000050ce fetcht  0x00000001 , 0x0000450b 
+ 00022193  0x000050cf storet  0x00000001 , 0x000044fe 
+ 00022194  0x000050d0 fetch  0x00000002 , 0x000044fc 
+ 00022195  0x000050d1 increase  0x00000004 , 0x0000003f 
+ 00022196  0x000050d2 isub  0x00000002 , 0x0000003e 
+ 00022197  0x000050d3 branch  0x00007fe7 , 0x00000005 
+ 00022198  0x000050d4 fetch  0x00000001 , 0x0000450b 
+ 00022199  0x000050d5 copy  0x0000003f , 0x00000039 
+ 00022200  0x000050d6 arg  0x00000311 , 0x00000005 
+ 00022201  0x000050d7 fetch  0x00000002 , 0x0000450d 
+ 00022202  0x000050d8 copy  0x0000003f , 0x00000006 
+ 00022203  0x000050d9 call  0x00007f01 
+ 00022204  0x000050da branch  0x00007fe9 
+ 00022205  0x000050e0 call  0x00007fe7 
+ 00022206  0x000050e1 fetch  0x00000001 , 0x000044fe 
+ 00022207  0x000050e2 nrtn  0x00000034 
+ 00022208  0x000050e3 branch  0x00007fe9 
+ 00022209  0x000050e6 call  0x000056bd 
+ 00022210  0x000050e7 nrtn  0x00000028 
+ 00022211  0x000050e8 fetch  0x00000001 , 0x000044fe 
+ 00022212  0x000050e9 arg  0x00000311 , 0x00000005 
+ 00022213  0x000050ea iadd  0x00000005 , 0x00000011 
+ 00022214  0x000050eb fetcht  0x00000001 , 0x0000450b 
+ 00022215  0x000050ec iadd  0x00000002 , 0x0000003f 
+ 00022216  0x000050ed store  0x00000001 , 0x000044fe 
+ 00022217  0x000050ee fetch  0x00000001 , 0x0000450b 
+ 00022218  0x000050ef copy  0x0000003f , 0x00000039 
+ 00022219  0x000050f0 copy  0x00000011 , 0x00000005 
+ 00022220  0x000050f1 fetch  0x00000002 , 0x0000450d 
+ 00022221  0x000050f2 copy  0x0000003f , 0x00000006 
+ 00022222  0x000050f3 call  0x00007ef4 
+ 00022223  0x000050f4 setarg  0x00000311 
+ 00022224  0x000050f5 store  0x00000002 , 0x0000450d 
+ 00022225  0x000050f6 fetch  0x00000002 , 0x000044fc 
+ 00022226  0x000050f7 increase  0x00000004 , 0x0000003f 
+ 00022227  0x000050f8 fetcht  0x00000001 , 0x000044fe 
+ 00022228  0x000050f9 isub  0x00000002 , 0x0000003e 
+ 00022229  0x000050fa branch  0x00007fe7 , 0x00000005 
+ 00022230  0x000050fb branch  0x00007fe9 
+ 00022231  0x00005102 call  0x00007ea5 
+ 00022232  0x00005103 arg  0x0000445e , 0x00000005 
+ 00022233  0x00005105 fetch  0x00000002 , 0x000044fc 
+ 00022234  0x00005106 increase  0xfffffffb , 0x0000003f 
+ 00022235  0x00005108 istore  0x00000001 , 0x00000005 
+ 00022236  0x00005109 copy  0x0000003f , 0x00000039 
+ 00022237  0x0000510a call  0x00007e9f 
+ 00022238  0x0000510b branch  0x00007ef4 
+ 00022239  0x0000510e call  0x00007ea5 
+ 00022240  0x0000510f arg  0x00004471 , 0x00000005 
+ 00022241  0x00005110 branch  0x000056d9 
+ 00022242  0x00005115 fetch  0x00000002 , 0x000041f9 
+ 00022243  0x00005116 branch  0x00007f9c 
+ 00022244  0x00005119 fetcht  0x00000004 , 0x0000045b 
+ 00022245  0x0000511a call  0x00002a7b 
+ 00022246  0x0000511b isub  0x00000002 , 0x0000000b 
+ 00022247  0x0000511c deposit  0x0000000b 
+ 00022248  0x0000511d fetcht  0x00000002 , 0x0000046d 
+ 00022249  0x0000511e lshift4  0x00000002 , 0x00000002 
+ 00022250  0x0000511f lshift  0x00000002 , 0x00000002 
+ 00022251  0x00005120 isub  0x00000002 , 0x0000003f 
+ 00022252  0x00005121 rtn 
+ 00022253  0x00005124 call  0x00002a7b 
+ 00022254  0x00005125 store  0x00000004 , 0x0000045b 
+ 00022255  0x00005126 rtn 
+ 00022256  0x0000512a jam  0x00000024 , 0x00000016 
+ 00022257  0x0000512b jam  0x00000000 , 0x00000ac2 
+ 00022258  0x0000512d bpatchx  0x00000068 , 0x0000402d 
+ 00022259  0x0000512e fetch  0x00000001 , 0x0000436e 
+ 00022260  0x0000512f rtn  0x00000034 
+ 00022261  0x00005130 arg  0x00000000 , 0x00000007 
+ 00022262  0x00005131 call  0x00007f16 
+ 00022263  0x00005132 nrtn  0x00000034 
+ 00022264  0x00005133 bpatchx  0x00000069 , 0x0000402d 
+ 00022265  0x00005135 disable  0x00000029 
+ 00022266  0x00005136 enable  0x00000010 
+ 00022267  0x00005137 call  0x00005572 
+ 00022268  0x00005138 call  0x00005422 
+ 00022269  0x00005139 call  0x000054e9 
+ 00022270  0x0000513a nbranch  0x00005706 , 0x0000002d 
+ 00022271  0x0000513b fetch  0x00000001 , 0x00000003 
+ 00022272  0x0000513c increase  0x00000001 , 0x0000003f 
+ 00022273  0x0000513d store  0x00000001 , 0x00000003 
+ 00022274  0x0000513e fetch  0x00000001 , 0x000002d9 
+ 00022275  0x0000513f and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00022276  0x00005140 beq  0x00000003 , 0x0000551c 
+ 00022277  0x00005141 beq  0x00000005 , 0x00005728 
+ 00022278  0x00005143 bpatchx  0x0000006a , 0x0000402d 
+ 00022279  0x00005144 random  0x0000003f 
+ 00022280  0x00005145 arg  0x000001ff , 0x00000002 
+ 00022281  0x00005146 iand  0x00000002 , 0x0000003f 
+ 00022282  0x00005147 add  0x0000003f , 0x000000fa , 0x0000003f 
+ 00022283  0x00005148 call  0x00003cbe 
+ 00022284  0x00005149 fetch  0x00000001 , 0x00000ac2 
+ 00022285  0x0000514a fetcht  0x00000001 , 0x0000448d 
+ 00022286  0x0000514b isub  0x00000002 , 0x0000003e 
+ 00022287  0x0000514c nbranch  0x000056f2 , 0x00000005 
+ 00022288  0x0000514d arg  0x00000000 , 0x00000007 
+ 00022289  0x0000514e fetch  0x00000002 , 0x00004482 
+ 00022290  0x0000514f branch  0x00007f08 
+ 00022291  0x00005153 bpatchx  0x0000006b , 0x0000402d 
+ 00022292  0x00005154 fetch  0x00000001 , 0x00000476 
+ 00022293  0x00005155 call  0x000053fc 
+ 00022294  0x00005156 fetch  0x00000002 , 0x00000441 
+ 00022295  0x00005157 imul32  0x00000002 , 0x0000003f 
+ 00022296  0x00005158 arg  0x00000177 , 0x00000002 
+ 00022297  0x00005159 imul32  0x00000002 , 0x0000003f 
+ 00022298  0x0000515a arg  0x000186a0 , 0x00000002 
+ 00022299  0x0000515b idiv  0x00000002 
+ 00022300  0x0000515c fetch  0x00000001 , 0x0000046a 
+ 00022301  0x0000515d arg  0x00004e20 , 0x00000002 
+ 00022302  0x0000515e imul32  0x00000002 , 0x0000003f 
+ 00022303  0x0000515f iadd  0x00000002 , 0x0000003f 
+ 00022304  0x00005160 store  0x00000004 , 0x000044e5 
+ 00022305  0x00005161 bpatchx  0x0000006c , 0x0000402d 
+ 00022306  0x00005162 fetch  0x00000002 , 0x000040c1 
+ 00022307  0x00005163 call  0x00007f86 
+ 00022308  0x00005164 quotient  0x00000002 
+ 00022309  0x00005165 iadd  0x00000002 , 0x0000003f 
+ 00022310  0x00005166 store  0x00000002 , 0x0000044d 
+ 00022311  0x00005167 rtn 
+ 00022312  0x0000516a bpatchx  0x0000006d , 0x0000402d 
+ 00022313  0x0000516b fetch  0x00000006 , 0x000002e1 
+ 00022314  0x0000516c fetcht  0x00000006 , 0x000044a0 
+ 00022315  0x0000516d isub  0x00000002 , 0x0000003e 
+ 00022316  0x0000516e nrtn  0x00000005 
+ 00022317  0x0000516f call  0x00005619 
+ 00022318  0x00005170 copy  0x00000011 , 0x0000003f 
+ 00022319  0x00005171 store  0x00000001 , 0x0000448e 
+ 00022320  0x00005172 fetch  0x00000007 , 0x000002ee 
+ 00022321  0x00005173 store  0x00000007 , 0x00000101 
+ 00022322  0x00005174 ifetch  0x00000008 , 0x00000006 
+ 00022323  0x00005175 istore  0x00000008 , 0x00000005 
+ 00022324  0x00005176 fetch  0x00000006 , 0x000002db 
+ 00022325  0x00005177 store  0x00000006 , 0x0000044f 
+ 00022326  0x00005178 increase  0x00000006 , 0x00000006 
+ 00022327  0x00005179 ifetch  0x00000008 , 0x00000006 
+ 00022328  0x0000517a store  0x00000008 , 0x00000463 
+ 00022329  0x0000517b ifetcht  0x00000002 , 0x00000006 
+ 00022330  0x0000517c bpatchx  0x0000006e , 0x0000402d 
+ 00022331  0x0000517e lshift2  0x00000002 , 0x00000002 
+ 00022332  0x0000517f ifetch  0x00000002 , 0x00000006 
+ 00022333  0x00005180 lshift2  0x0000003f , 0x0000003f 
+ 00022334  0x00005181 store  0x00000002 , 0x00000441 
+ 00022335  0x00005182 store  0x00000004 , 0x00000443 
+ 00022336  0x00005183 isub  0x00000002 , 0x0000003f 
+ 00022337  0x00005184 add  0x0000003f , 0xfffffffe , 0x00000028 
+ 00022338  0x00005185 ifetch  0x00000009 , 0x00000006 
+ 00022339  0x00005186 store  0x00000009 , 0x0000046b 
+ 00022340  0x00005187 bpatchx  0x0000006f , 0x0000402d 
+ 00022341  0x00005188 ifetch  0x00000001 , 0x00000006 
+ 00022342  0x00005189 rshift4  0x0000003f , 0x00000002 
+ 00022343  0x0000518a rshift  0x00000002 , 0x00000002 
+ 00022344  0x0000518b storet  0x00000001 , 0x00000476 
+ 00022345  0x0000518c and_into  0x0000001f , 0x0000003f 
+ 00022346  0x0000518d store  0x00000001 , 0x00000458 
+ 00022347  0x0000518e call  0x00005713 
+ 00022348  0x0000518f call  0x0000545b 
+ 00022349  0x00005190 call  0x0000534c 
+ 00022350  0x00005191 call  0x0000223b 
+ 00022351  0x00005192 nrtn  0x00000005 
+ 00022352  0x00005193 bpatchx  0x00000070 , 0x0000402e 
+ 00022353  0x00005194 call  0x00002841 
+ 00022354  0x00005195 call  0x00005ad3 
+ 00022355  0x00005196 jam  0x00000014 , 0x00000a99 
+ 00022356  0x00005197 call  0x00007d86 
+ 00022357  0x00005199 branch  0x00002223 
+ 00022358  0x0000519d bpatchx  0x00000071 , 0x0000402e 
+ 00022359  0x0000519e fetch  0x00000002 , 0x0000445a 
+ 00022360  0x0000519f iforce  0x00000012 
+ 00022361  0x000051a0 fetch  0x00000002 , 0x0000445c 
+ 00022362  0x000051a1 iforce  0x00000013 
+ 00022363  0x000051a2 fetch  0x00000002 , 0x000044bc 
+ 00022364  0x000051a3 iforce  0x00000006 
+ 00022365  0x000051a4 enable  0x00000028 
+ 00022366  0x000051a5 rtn 
+ 00022367  0x000051a9 ifetch  0x00000002 , 0x00000006 
+ 00022368  0x000051aa rtn  0x00000034 
+ 00022369  0x000051ab isub  0x00000012 , 0x0000003e 
+ 00022370  0x000051ac nrtn  0x00000002 
+ 00022371  0x000051ad isub  0x00000013 , 0x0000003e 
+ 00022372  0x000051ae rtn  0x00000005 
+ 00022373  0x000051af branch  0x00005768 , 0x00000002 
+ 00022374  0x000051b0 force  0x00000001 , 0x0000003e 
+ 00022375  0x000051b1 rtn 
+ 00022376  0x000051b3 force  0x00000000 , 0x0000003f 
+ 00022377  0x000051b4 rtn 
+ 00022378  0x000051b9 call  0x0000576d 
+ 00022379  0x000051ba branch  0x00005779 , 0x00000005 
+ 00022380  0x000051bb rtn 
+ 00022381  0x000051be bpatchx  0x00000072 , 0x0000402e 
+ 00022382  0x000051bf fetch  0x00000002 , 0x000044bc 
+ 00022383  0x000051c0 iforce  0x00000006 
+ 00022384  0x000051c2 ifetch  0x00000002 , 0x00000006 
+ 00022385  0x000051c3 rtn  0x00000034 
+ 00022386  0x000051c4 isub  0x00000002 , 0x0000003e 
+ 00022387  0x000051c5 rtn  0x00000005 
+ 00022388  0x000051c6 ifetch  0x00000001 , 0x00000006 
+ 00022389  0x000051c7 iadd  0x00000006 , 0x00000006 
+ 00022390  0x000051c8 ifetch  0x00000001 , 0x00000006 
+ 00022391  0x000051c9 iadd  0x00000006 , 0x00000006 
+ 00022392  0x000051ca branch  0x00005770 
+ 00022393  0x000051cc ifetch  0x00000001 , 0x00000006 
+ 00022394  0x000051cd iadd  0x00000006 , 0x00000006 
+ 00022395  0x000051ce rtn 
+ 00022396  0x000051d3 bpatchx  0x00000073 , 0x0000402e 
+ 00022397  0x000051d4 fetch  0x00000002 , 0x000044bc 
+ 00022398  0x000051d5 iforce  0x00000006 
+ 00022399  0x000051d7 ifetch  0x00000002 , 0x00000006 
+ 00022400  0x000051d8 rtn  0x00000034 
+ 00022401  0x000051d9 ifetch  0x00000001 , 0x00000006 
+ 00022402  0x000051da iadd  0x00000006 , 0x00000006 
+ 00022403  0x000051db increase  0xfffffffe , 0x00000006 
+ 00022404  0x000051dc ifetch  0x00000002 , 0x00000006 
+ 00022405  0x000051dd isub  0x00000002 , 0x0000003e 
+ 00022406  0x000051de rtn  0x00000005 
+ 00022407  0x000051df ifetch  0x00000001 , 0x00000006 
+ 00022408  0x000051e0 iadd  0x00000006 , 0x00000006 
+ 00022409  0x000051e1 branch  0x0000577f 
+ 00022410  0x000051e6 fetch  0x00000002 , 0x0000049c 
+ 00022411  0x000051e7 branch  0x0000578e 
+ 00022412  0x000051ea bpatchx  0x00000074 , 0x0000402e 
+ 00022413  0x000051eb fetch  0x00000002 , 0x000044bc 
+ 00022414  0x000051ed iforce  0x00000006 
+ 00022415  0x000051ee copy  0x00000002 , 0x00000011 
+ 00022416  0x000051f0 ifetch  0x00000002 , 0x00000006 
+ 00022417  0x000051f1 branch  0x00005799 , 0x00000034 
+ 00022418  0x000051f2 isub  0x00000011 , 0x0000003e 
+ 00022419  0x000051f3 branch  0x0000579a , 0x00000005 
+ 00022420  0x000051f4 ifetch  0x00000001 , 0x00000006 
+ 00022421  0x000051f5 iadd  0x00000006 , 0x00000006 
+ 00022422  0x000051f6 ifetch  0x00000001 , 0x00000006 
+ 00022423  0x000051f7 iadd  0x00000006 , 0x00000006 
+ 00022424  0x000051f8 branch  0x00005790 
+ 00022425  0x000051fa branch  0x00007fef 
+ 00022426  0x000051fd ifetch  0x00000001 , 0x00000006 
+ 00022427  0x000051fe store  0x00000001 , 0x000004a2 
+ 00022428  0x000051ff copy  0x0000003f , 0x00000039 
+ 00022429  0x00005200 arg  0x000004a3 , 0x00000005 
+ 00022430  0x00005201 call  0x00007ef4 
+ 00022431  0x00005202 ifetch  0x00000001 , 0x00000006 
+ 00022432  0x00005203 store  0x00000001 , 0x000004b3 
+ 00022433  0x00005204 call  0x00007ea5 
+ 00022434  0x00005205 branch  0x00007ff1 
+ 00022435  0x00005209 bpatchx  0x00000075 , 0x0000402e 
+ 00022436  0x0000520a call  0x000057a6 
+ 00022437  0x0000520b branch  0x000057b8 
+ 00022438  0x0000520e arg  0x00002a00 , 0x00000002 
+ 00022439  0x0000520f call  0x0000577c 
+ 00022440  0x00005210 rtn  0x00000034 
+ 00022441  0x00005211 ifetch  0x00000001 , 0x00000006 
+ 00022442  0x00005212 copy  0x00000006 , 0x00000005 
+ 00022443  0x00005213 fetcht  0x00000001 , 0x000043af 
+ 00022444  0x00005214 copy  0x00000002 , 0x00000039 
+ 00022445  0x00005215 isub  0x00000002 , 0x0000003e 
+ 00022446  0x00005216 nbranch  0x000057b5 , 0x00000002 
+ 00022447  0x00005217 isub  0x00000002 , 0x00000002 
+ 00022448  0x00005218 arg  0x000043b0 , 0x00000006 
+ 00022449  0x00005219 call  0x00007f01 
+ 00022450  0x0000521a copy  0x00000002 , 0x00000039 
+ 00022451  0x0000521b ncall  0x000057f0 , 0x00000005 
+ 00022452  0x0000521c rtn 
+ 00022453  0x0000521e copy  0x0000003f , 0x00000039 
+ 00022454  0x0000521f arg  0x000043b0 , 0x00000006 
+ 00022455  0x00005220 branch  0x00007ef4 
+ 00022456  0x00005224 arg  0x0000438f , 0x00000013 
+ 00022457  0x00005225 arg  0x00004370 , 0x00000011 
+ 00022458  0x00005226 call  0x000057c5 
+ 00022459  0x00005227 setarg  0x00000000 
+ 00022460  0x00005228 setflag  0x00000028 , 0x00000000 , 0x0000003f 
+ 00022461  0x00005229 store  0x00000001 , 0x00000a9a 
+ 00022462  0x0000522a arg  0x000043af , 0x00000013 
+ 00022463  0x0000522b arg  0x00004390 , 0x00000011 
+ 00022464  0x0000522c call  0x000057c5 
+ 00022465  0x0000522d rtn  0x00000028 
+ 00022466  0x0000522e fetch  0x00000001 , 0x00000a9a 
+ 00022467  0x0000522f branch  0x00002a8c , 0x00000034 
+ 00022468  0x00005230 rtn 
+ 00022469  0x00005234 bpatchx  0x00000076 , 0x0000402e 
+ 00022470  0x00005235 call  0x00007fe7 
+ 00022471  0x00005236 call  0x00007eda 
+ 00022472  0x00005237 arg  0x00000000 , 0x00000012 
+ 00022473  0x00005238 arg  0x00000ac3 , 0x00000005 
+ 00022474  0x00005239 call  0x000057df 
+ 00022475  0x0000523a fetch  0x00000001 , 0x000043af 
+ 00022476  0x0000523b add  0x0000003f , 0x00000001 , 0x00000002 
+ 00022477  0x0000523c iadd  0x00000012 , 0x00000011 
+ 00022478  0x0000523d increase  0x00000002 , 0x00000011 
+ 00022479  0x0000523e sub  0x00000011 , 0x0000001f , 0x0000003e 
+ 00022480  0x0000523f nbranch  0x000057dd , 0x00000002 
+ 00022481  0x00005240 istoret  0x00000001 , 0x00000005 
+ 00022482  0x00005241 arg  0x00000009 , 0x00000002 
+ 00022483  0x00005242 istoret  0x00000001 , 0x00000005 
+ 00022484  0x00005243 iforce  0x00000039 
+ 00022485  0x00005244 call  0x00007ef4 
+ 00022486  0x00005245 copy  0x00000011 , 0x00000012 
+ 00022487  0x00005247 deposit  0x00000012 
+ 00022488  0x00005248 store  0x00000001 , 0x00000ac2 
+ 00022489  0x00005249 arg  0x00000ac2 , 0x00000006 
+ 00022490  0x0000524a setarg  0xffffffe0 
+ 00022491  0x0000524b iadd  0x00000013 , 0x00000005 
+ 00022492  0x0000524c branch  0x00007ebd 
+ 00022493  0x0000524f call  0x00007fe9 
+ 00022494  0x00005250 branch  0x000057d7 
+ 00022495  0x00005253 ifetch  0x00000001 , 0x00000011 
+ 00022496  0x00005254 rtn  0x00000034 
+ 00022497  0x00005255 pincrease  0x00000001 
+ 00022498  0x00005256 ifetcht  0x00000001 , 0x00000006 
+ 00022499  0x00005257 sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00022500  0x00005258 branch  0x000057ee , 0x00000005 
+ 00022501  0x00005259 iadd  0x00000012 , 0x00000012 
+ 00022502  0x0000525a copy  0x00000011 , 0x00000006 
+ 00022503  0x0000525b iforce  0x00000039 
+ 00022504  0x0000525c call  0x00007ef4 
+ 00022505  0x0000525d copy  0x00000006 , 0x00000011 
+ 00022506  0x0000525f deposit  0x00000011 
+ 00022507  0x00005260 isub  0x00000013 , 0x0000003e 
+ 00022508  0x00005261 rtn  0x00000002 
+ 00022509  0x00005262 branch  0x000057df 
+ 00022510  0x00005265 iadd  0x00000011 , 0x00000011 
+ 00022511  0x00005266 branch  0x000057ea 
+ 00022512  0x0000526a setarg  0x00000020 
+ 00022513  0x0000526b istore  0x00000001 , 0x00000005 
+ 00022514  0x0000526c loop  0x000057f0 
+ 00022515  0x0000526d rtn 
+ 00022516  0x00005271 bpatchx  0x00000077 , 0x0000402e 
+ 00022517  0x00005272 disable  0x0000002b 
+ 00022518  0x00005273 branch  0x000057f8 , 0x0000002e 
+ 00022519  0x00005274 nbranch  0x00005806 , 0x0000002d 
+ 00022520  0x00005276 call  0x00002bcb 
+ 00022521  0x00005277 fetch  0x00000002 , 0x000040c1 
+ 00022522  0x00005278 store  0x00000002 , 0x0000044d 
+ 00022523  0x0000527a nbranch  0x00002bde , 0x0000002d 
+ 00022524  0x0000527b bmark1  0x0000000f , 0x00002bde 
+ 00022525  0x0000527d fetch  0x00000001 , 0x0000450b 
+ 00022526  0x0000527e nbranch  0x00002bde , 0x00000034 
+ 00022527  0x0000527f fetch  0x00000001 , 0x000043dd 
+ 00022528  0x00005280 nbranch  0x00002bde , 0x00000034 
+ 00022529  0x00005282 fetch  0x00000001 , 0x000044e9 
+ 00022530  0x00005283 bbit1  0x00000005 , 0x00002bde 
+ 00022531  0x00005285 fetch  0x00000001 , 0x0000043f 
+ 00022532  0x00005286 bbit1  0x00000005 , 0x00002bde 
+ 00022533  0x00005287 branch  0x00002bc0 
+ 00022534  0x0000528a fetcht  0x00000002 , 0x000040c1 
+ 00022535  0x0000528b rshift  0x00000002 , 0x00000002 
+ 00022536  0x0000528c fetch  0x00000002 , 0x0000044d 
+ 00022537  0x0000528d iadd  0x00000002 , 0x0000003f 
+ 00022538  0x0000528e store  0x00000002 , 0x0000044d 
+ 00022539  0x0000528f branch  0x00002bd6 
+ 00022540  0x00005293 arg  0x00000000 , 0x00000007 
+ 00022541  0x00005294 branch  0x00005824 
+ 00022542  0x00005297 arg  0x00000000 , 0x00000007 
+ 00022543  0x00005298 branch  0x00005828 
+ 00022544  0x0000529b arg  0x00000001 , 0x00000007 
+ 00022545  0x0000529c branch  0x00005824 
+ 00022546  0x0000529f arg  0x00000001 , 0x00000007 
+ 00022547  0x000052a0 branch  0x00005828 
+ 00022548  0x000052a3 arg  0x00000002 , 0x00000007 
+ 00022549  0x000052a4 branch  0x00005824 
+ 00022550  0x000052a7 arg  0x00000002 , 0x00000007 
+ 00022551  0x000052a8 branch  0x00005828 
+ 00022552  0x000052ab arg  0x00000003 , 0x00000007 
+ 00022553  0x000052ac branch  0x00005824 
+ 00022554  0x000052af arg  0x00000003 , 0x00000007 
+ 00022555  0x000052b0 branch  0x00005828 
+ 00022556  0x000052b3 arg  0x00000004 , 0x00000007 
+ 00022557  0x000052b4 branch  0x00005824 
+ 00022558  0x000052b7 arg  0x00000004 , 0x00000007 
+ 00022559  0x000052b8 branch  0x00005828 
+ 00022560  0x000052bb arg  0x00000005 , 0x00000007 
+ 00022561  0x000052bc branch  0x00005824 
+ 00022562  0x000052bf arg  0x00000005 , 0x00000007 
+ 00022563  0x000052c0 branch  0x00005828 
+ 00022564  0x000052c4 fetch  0x00000001 , 0x000044e9 
+ 00022565  0x000052c5 qset1  0x0000003f 
+ 00022566  0x000052c6 store  0x00000001 , 0x000044e9 
+ 00022567  0x000052c7 rtn 
+ 00022568  0x000052ca fetch  0x00000001 , 0x000044e9 
+ 00022569  0x000052cb qset0  0x0000003f 
+ 00022570  0x000052cc store  0x00000001 , 0x000044e9 
+ 00022571  0x000052cd rtn 
+ 00022572  0x000052d0 setarg  0x00112233 
+ 00022573  0x000052d1 store  0x00000003 , 0x000044ea 
+ 00022574  0x000052d2 setarg  0x00445566 
+ 00022575  0x000052d3 istore  0x00000003 , 0x00000005 
+ 00022576  0x000052d4 setarg  0x00778899 
+ 00022577  0x000052d5 istore  0x00000003 , 0x00000005 
+ 00022578  0x000052d6 setarg  0x00001122 
+ 00022579  0x000052d7 istore  0x00000003 , 0x00000005 
+ 00022580  0x000052d8 setarg  0x00334455 
+ 00022581  0x000052d9 istore  0x00000003 , 0x00000005 
+ 00022582  0x000052da setarg  0x00000066 
+ 00022583  0x000052db istore  0x00000001 , 0x00000005 
+ 00022584  0x000052dc rtn 
+ 00022585  0x000052e0 setarg  0x01000302 
+ 00022586  0x000052e1 store  0x00000004 , 0x00004453 
+ 00022587  0x000052e2 setarg  0x00010010 
+ 00022588  0x000052e3 store  0x00000003 , 0x00004457 
+ 00022589  0x000052e4 jam  0x00000001 , 0x000044c6 
+ 00022590  0x000052e5 rtn 
+ 00022591  0x000052ea arg  0x00000000 , 0x00000011 
+ 00022592  0x000052eb arg  0x00000001 , 0x00000001 
+ 00022593  0x000052ec branch  0x00005850 
+ 00022594  0x000052f1 arg  0x00000003 , 0x00000001 
+ 00022595  0x000052f2 call  0x00005850 
+ 00022596  0x000052f3 copy  0x00000012 , 0x0000003f 
+ 00022597  0x000052f4 istore  0x00000001 , 0x00000005 
+ 00022598  0x000052f5 rtn 
+ 00022599  0x000052fa force  0x00000002 , 0x00000001 
+ 00022600  0x000052fb increase  0x00000004 , 0x00000011 
+ 00022601  0x000052fc call  0x00005850 
+ 00022602  0x000052fd increase  0xfffffffc , 0x00000011 
+ 00022603  0x000052fe copy  0x00000011 , 0x0000003f 
+ 00022604  0x000052ff istore  0x00000002 , 0x00000005 
+ 00022605  0x00005300 copy  0x00000012 , 0x0000003f 
+ 00022606  0x00005301 istore  0x00000002 , 0x00000005 
+ 00022607  0x00005302 rtn 
+ 00022608  0x00005307 sub  0x00000011 , 0x000000f0 , 0x0000003e 
+ 00022609  0x00005308 nbranch  0x00002a8c , 0x00000002 
+ 00022610  0x00005309 fetch  0x00000001 , 0x000044ff 
+ 00022611  0x0000530a arg  0x00000001 , 0x00000002 
+ 00022612  0x0000530b arg  0x00000004 , 0x00000039 
+ 00022613  0x0000530d iand  0x00000002 , 0x0000003e 
+ 00022614  0x0000530e branch  0x0000585a , 0x00000005 
+ 00022615  0x0000530f lshift  0x00000002 , 0x00000002 
+ 00022616  0x00005310 loop  0x00005855 
+ 00022617  0x00005311 branch  0x00002a8c 
+ 00022618  0x00005313 ixor  0x00000002 , 0x0000003f 
+ 00022619  0x00005314 store  0x00000001 , 0x000044ff 
+ 00022620  0x00005315 sub  0x00000039 , 0x00000004 , 0x0000003f 
+ 00022621  0x00005316 lshift4  0x0000003f , 0x0000003f 
+ 00022622  0x00005317 lshift4  0x0000003f , 0x0000003f 
+ 00022623  0x00005318 arg  0x00001800 , 0x00000002 
+ 00022624  0x00005319 iadd  0x00000002 , 0x00000002 
+ 00022625  0x0000531b arg  0x00000000 , 0x00000039 
+ 00022626  0x0000531c arg  0x00004500 , 0x00000006 
+ 00022627  0x0000531e ifetch  0x00000002 , 0x00000006 
+ 00022628  0x0000531f branch  0x00005869 , 0x00000034 
+ 00022629  0x00005320 copy  0x00000039 , 0x0000003f 
+ 00022630  0x00005321 increase  0x00000001 , 0x00000039 
+ 00022631  0x00005322 bne  0x00000004 , 0x00005863 
+ 00022632  0x00005323 branch  0x00002a8c 
+ 00022633  0x00005327 increase  0xfffffffe , 0x00000006 
+ 00022634  0x00005328 istoret  0x00000002 , 0x00000006 
+ 00022635  0x00005329 copy  0x00000002 , 0x00000005 
+ 00022636  0x0000532a copy  0x00000011 , 0x0000003f 
+ 00022637  0x0000532b istore  0x00000001 , 0x00000005 
+ 00022638  0x0000532c setarg  0x00000000 
+ 00022639  0x0000532d istore  0x00000001 , 0x00000005 
+ 00022640  0x0000532e copy  0x00000001 , 0x0000003f 
+ 00022641  0x0000532f istore  0x00000001 , 0x00000005 
+ 00022642  0x00005330 rtn 
+ 00022643  0x00005335 fetch  0x00000002 , 0x00004500 
+ 00022644  0x00005336 copy  0x0000003f , 0x00000006 
+ 00022645  0x00005337 rtn 
+ 00022646  0x0000533a fetch  0x00000002 , 0x00004502 
+ 00022647  0x0000533b copy  0x0000003f , 0x00000006 
+ 00022648  0x0000533c rtn 
+ 00022649  0x0000533f call  0x0000587c 
+ 00022650  0x00005340 copy  0x0000003f , 0x00000006 
+ 00022651  0x00005341 rtn 
+ 00022652  0x00005343 fetch  0x00000002 , 0x00004506 
+ 00022653  0x00005344 nrtn  0x00000034 
+ 00022654  0x00005345 fetch  0x00000002 , 0x00004504 
+ 00022655  0x00005346 nrtn  0x00000034 
+ 00022656  0x00005347 fetch  0x00000002 , 0x00004502 
+ 00022657  0x00005348 nrtn  0x00000034 
+ 00022658  0x00005349 fetch  0x00000002 , 0x00004500 
+ 00022659  0x0000534a rtn 
+ 00022660  0x0000534d call  0x00005873 
+ 00022661  0x0000534e increase  0x00000003 , 0x00000006 
+ 00022662  0x0000534f rtn 
+ 00022663  0x00005352 call  0x00005873 
+ 00022664  0x00005353 increase  0x00000007 , 0x00000006 
+ 00022665  0x00005354 rtn 
+ 00022666  0x00005357 call  0x00005879 
+ 00022667  0x00005358 increase  0x00000007 , 0x00000006 
+ 00022668  0x00005359 rtn 
+ 00022669  0x0000535c call  0x00005879 
+ 00022670  0x0000535d increase  0x00000003 , 0x00000006 
+ 00022671  0x0000535e rtn 
+ 00022672  0x00005363 fetch  0x00000002 , 0x00004506 
+ 00022673  0x00005364 rtn 
+ 00022674  0x00005368 fetch  0x00000002 , 0x00004504 
+ 00022675  0x00005369 rtn 
+ 00022676  0x0000536d fetch  0x00000002 , 0x00004500 
+ 00022677  0x0000536e rtn 
+ 00022678  0x00005372 fetch  0x00000002 , 0x00004500 
+ 00022679  0x00005373 arg  0x00001800 , 0x00000002 
+ 00022680  0x00005374 isub  0x00000002 , 0x0000003f 
+ 00022681  0x00005375 rshift4  0x0000003f , 0x0000003f 
+ 00022682  0x00005376 rshift4  0x0000003f , 0x00000007 
+ 00022683  0x00005377 fetch  0x00000001 , 0x000044ff 
+ 00022684  0x00005378 qset0  0x0000003f 
+ 00022685  0x00005379 store  0x00000001 , 0x000044ff 
+ 00022686  0x0000537a arg  0x00000000 , 0x00000039 
+ 00022687  0x0000537c lshift  0x00000039 , 0x0000003f 
+ 00022688  0x0000537d arg  0x00004502 , 0x00000002 
+ 00022689  0x0000537e iadd  0x00000002 , 0x00000002 
+ 00022690  0x0000537f ifetch  0x00000002 , 0x00000002 
+ 00022691  0x00005380 increase  0xfffffffe , 0x00000002 
+ 00022692  0x00005381 istore  0x00000002 , 0x00000002 
+ 00022693  0x00005382 copy  0x00000039 , 0x0000003f 
+ 00022694  0x00005383 increase  0x00000001 , 0x00000039 
+ 00022695  0x00005384 bne  0x00000003 , 0x0000589f 
+ 00022696  0x00005385 setarg  0x00000000 
+ 00022697  0x00005386 istore  0x00000002 , 0x00000002 
+ 00022698  0x00005387 rtn 
+ 00022699  0x0000538e ifetch  0x00000003 , 0x00000006 
+ 00022700  0x0000538f store  0x00000003 , 0x00000477 
+ 00022701  0x00005390 beq  0x00000002 , 0x000058c1 
+ 00022702  0x00005391 beq  0x00000003 , 0x000058c9 
+ 00022703  0x00005392 beq  0x00000004 , 0x000058cc 
+ 00022704  0x00005393 beq  0x00000006 , 0x000058f2 
+ 00022705  0x00005394 beq  0x00000008 , 0x0000593f 
+ 00022706  0x00005395 beq  0x0000000a , 0x000059bc 
+ 00022707  0x00005396 beq  0x0000000c , 0x000059e4 
+ 00022708  0x00005397 beq  0x00000010 , 0x000059fa 
+ 00022709  0x00005398 beq  0x00000012 , 0x00005a2f 
+ 00022710  0x00005399 beq  0x00000016 , 0x00005a48 
+ 00022711  0x0000539a beq  0x00000018 , 0x00005a5b 
+ 00022712  0x0000539b beq  0x00000052 , 0x00005a60 
+ 00022713  0x0000539c rtn 
+ 00022714  0x000053a0 force  0x00000003 , 0x00000011 
+ 00022715  0x000053a1 call  0x00005a82 
+ 00022716  0x000053a2 setarg  0x00000002 
+ 00022717  0x000053a3 istore  0x00000001 , 0x00000005 
+ 00022718  0x000053a4 fetch  0x00000002 , 0x000044a6 
+ 00022719  0x000053a5 istore  0x00000002 , 0x00000005 
+ 00022720  0x000053a6 rtn 
+ 00022721  0x000053aa call  0x000058c9 
+ 00022722  0x000053ac force  0x00000003 , 0x00000011 
+ 00022723  0x000053ad call  0x00005a82 
+ 00022724  0x000053ae setarg  0x00000003 
+ 00022725  0x000053af istore  0x00000001 , 0x00000005 
+ 00022726  0x000053b0 fetch  0x00000002 , 0x000044a6 
+ 00022727  0x000053b1 istore  0x00000002 , 0x00000005 
+ 00022728  0x000053b2 rtn 
+ 00022729  0x000053b5 rshift8  0x0000003f , 0x0000003f 
+ 00022730  0x000053b6 store  0x00000002 , 0x000044a8 
+ 00022731  0x000053b7 rtn 
+ 00022732  0x000053ba call  0x00005ab1 
+ 00022733  0x000053bb call  0x00007fe7 
+ 00022734  0x000053bc branch  0x000058cf 
+ 00022735  0x000053bf arg  0x00000003 , 0x0000000b 
+ 00022736  0x000053c0 call  0x00005756 
+ 00022737  0x000053c2 call  0x0000575f 
+ 00022738  0x000053c3 branch  0x000058f0 , 0x00000034 
+ 00022739  0x000053c4 nbranch  0x000058ed , 0x00000002 
+ 00022740  0x000053c5 increase  0xfffffffe , 0x00000006 
+ 00022741  0x000053c6 call  0x00007ea5 
+ 00022742  0x000053c7 call  0x00007e9c 
+ 00022743  0x000053c8 nbranch  0x000058e1 , 0x00000028 
+ 00022744  0x000053c9 call  0x00007e85 
+ 00022745  0x000053ca call  0x00007fe9 
+ 00022746  0x000053cb force  0x00000014 , 0x00000011 
+ 00022747  0x000053cc call  0x00005a82 
+ 00022748  0x000053cd call  0x00007e95 
+ 00022749  0x000053ce setarg  0x00000005 
+ 00022750  0x000053cf istore  0x00000001 , 0x00000005 
+ 00022751  0x000053d0 setarg  0x00000001 
+ 00022752  0x000053d1 istore  0x00000001 , 0x00000005 
+ 00022753  0x000053d3 call  0x00007e9f 
+ 00022754  0x000053d4 ifetch  0x00000002 , 0x00000006 
+ 00022755  0x000053d5 istore  0x00000002 , 0x00000005 
+ 00022756  0x000053d6 ifetch  0x00000001 , 0x00000006 
+ 00022757  0x000053d7 copy  0x0000003f , 0x00000039 
+ 00022758  0x000053d8 call  0x00007f01 
+ 00022759  0x000053d9 call  0x00007ea2 
+ 00022760  0x000053da increase  0xffffffff , 0x0000000b 
+ 00022761  0x000053db branch  0x000058f0 , 0x00000005 
+ 00022762  0x000053dd ifetch  0x00000001 , 0x00000006 
+ 00022763  0x000053de iadd  0x00000006 , 0x00000006 
+ 00022764  0x000053df branch  0x000058d1 
+ 00022765  0x000053e1 ifetch  0x00000001 , 0x00000006 
+ 00022766  0x000053e2 iadd  0x00000006 , 0x00000006 
+ 00022767  0x000053e3 branch  0x000058ea 
+ 00022768  0x000053e5 branch  0x00005a76 , 0x00000028 
+ 00022769  0x000053e6 branch  0x00005aa5 
+ 00022770  0x000053ea call  0x00005ab1 
+ 00022771  0x000053eb ifetch  0x00000002 , 0x00000006 
+ 00022772  0x000053ec store  0x00000002 , 0x00004472 
+ 00022773  0x000053ed call  0x00007ea5 
+ 00022774  0x000053ee arg  0x0000445e , 0x00000005 
+ 00022775  0x000053ef fetch  0x00000002 , 0x000044fc 
+ 00022776  0x000053f0 increase  0xfffffff9 , 0x0000003f 
+ 00022777  0x000053f1 call  0x000056db 
+ 00022778  0x000053f2 branch  0x00005905 
+ 00022779  0x000053f6 disable  0x00000028 
+ 00022780  0x000053f7 fetcht  0x00000002 , 0x0000445a 
+ 00022781  0x000053f8 fetch  0x00000002 , 0x0000445c 
+ 00022782  0x000053f9 isub  0x00000002 , 0x0000003e 
+ 00022783  0x000053fa nbranch  0x00005902 , 0x00000002 
+ 00022784  0x000053fb deposit  0x00000002 
+ 00022785  0x000053fc rtnne  0x00000000 
+ 00022786  0x000053fe enable  0x00000028 
+ 00022787  0x000053ff jam  0x00000001 , 0x0000047a 
+ 00022788  0x00005400 branch  0x00005a77 
+ 00022789  0x00005404 call  0x000058fb 
+ 00022790  0x00005405 rtn  0x00000028 
+ 00022791  0x00005406 fetcht  0x00000002 , 0x00004472 
+ 00022792  0x00005407 setarg  0x00002800 
+ 00022793  0x00005408 isub  0x00000002 , 0x0000003e 
+ 00022794  0x00005409 branch  0x0000590c , 0x00000005 
+ 00022795  0x0000540a branch  0x00005a76 
+ 00022796  0x0000540e jam  0x00000000 , 0x000004b4 
+ 00022797  0x0000540f fetcht  0x00000002 , 0x0000445a 
+ 00022798  0x00005410 storet  0x00000002 , 0x00000aa2 
+ 00022799  0x00005411 call  0x0000578c 
+ 00022800  0x00005412 nbranch  0x00005a76 , 0x00000034 
+ 00022801  0x00005414 fetcht  0x00000002 , 0x00000aa2 
+ 00022802  0x00005415 call  0x0000578c 
+ 00022803  0x00005416 nbranch  0x00005925 , 0x00000034 
+ 00022804  0x00005417 copy  0x00000006 , 0x00000011 
+ 00022805  0x00005418 fetch  0x00000001 , 0x000004b3 
+ 00022806  0x00005419 copy  0x0000003f , 0x00000039 
+ 00022807  0x0000541a fetcht  0x00000001 , 0x0000445e 
+ 00022808  0x0000541b isub  0x00000002 , 0x0000003e 
+ 00022809  0x0000541c nbranch  0x00005921 , 0x00000005 
+ 00022810  0x0000541d arg  0x0000445f , 0x00000012 
+ 00022811  0x0000541e call  0x00007f88 
+ 00022812  0x00005420 branch  0x00005928 , 0x00000005 
+ 00022813  0x00005422 fetch  0x00000002 , 0x000004a3 
+ 00022814  0x00005423 fetcht  0x00000002 , 0x00004472 
+ 00022815  0x00005424 isub  0x00000002 , 0x0000003e 
+ 00022816  0x00005425 branch  0x00005930 , 0x00000005 
+ 00022817  0x00005427 fetch  0x00000002 , 0x00000aa2 
+ 00022818  0x00005428 increase  0x00000001 , 0x0000003f 
+ 00022819  0x00005429 store  0x00000002 , 0x00000aa2 
+ 00022820  0x0000542a branch  0x00005911 
+ 00022821  0x0000542d fetch  0x00000001 , 0x000004b4 
+ 00022822  0x0000542e beq  0x00000001 , 0x00005930 
+ 00022823  0x0000542f branch  0x00005a76 
+ 00022824  0x00005433 fetch  0x00000002 , 0x000004a3 
+ 00022825  0x00005434 fetcht  0x00000002 , 0x00004472 
+ 00022826  0x00005435 isub  0x00000002 , 0x0000003e 
+ 00022827  0x00005436 nbranch  0x00005921 , 0x00000005 
+ 00022828  0x00005437 jam  0x00000001 , 0x000004b4 
+ 00022829  0x00005439 fetcht  0x00000002 , 0x00000aa2 
+ 00022830  0x0000543a storet  0x00000002 , 0x0000049e 
+ 00022831  0x0000543b branch  0x00005921 
+ 00022832  0x0000543e fetch  0x00000001 , 0x000004b4 
+ 00022833  0x0000543f beq  0x00000000 , 0x00005921 
+ 00022834  0x00005440 jam  0x00000002 , 0x000004b4 
+ 00022835  0x00005441 fetcht  0x00000002 , 0x00000aa2 
+ 00022836  0x00005442 increase  0xffffffff , 0x00000002 
+ 00022837  0x00005443 storet  0x00000002 , 0x000004a0 
+ 00022838  0x00005446 arg  0x00000005 , 0x00000011 
+ 00022839  0x00005447 call  0x00005a82 
+ 00022840  0x00005448 setarg  0x00000007 
+ 00022841  0x00005449 istore  0x00000001 , 0x00000005 
+ 00022842  0x0000544a fetch  0x00000002 , 0x0000049e 
+ 00022843  0x0000544b istore  0x00000002 , 0x00000005 
+ 00022844  0x0000544c fetch  0x00000002 , 0x000004a0 
+ 00022845  0x0000544d istore  0x00000002 , 0x00000005 
+ 00022846  0x0000544e rtn 
+ 00022847  0x00005453 call  0x00005ab1 
+ 00022848  0x00005454 call  0x000056df 
+ 00022849  0x00005455 branch  0x00005942 
+ 00022850  0x00005458 fetcht  0x00000002 , 0x0000445a 
+ 00022851  0x00005459 storet  0x00000002 , 0x00000aa2 
+ 00022852  0x0000545a call  0x00005756 
+ 00022853  0x0000545b call  0x0000576d 
+ 00022854  0x0000545c increase  0xfffffffe , 0x00000006 
+ 00022855  0x0000545d copy  0x00000006 , 0x0000003f 
+ 00022856  0x0000545e store  0x00000002 , 0x0000049c 
+ 00022857  0x00005460 fetcht  0x00000002 , 0x00004472 
+ 00022858  0x00005461 setarg  0x00002a00 
+ 00022859  0x00005462 isub  0x00000002 , 0x0000003e 
+ 00022860  0x00005463 branch  0x000059a8 , 0x00000005 
+ 00022861  0x00005464 setarg  0x00002803 
+ 00022862  0x00005465 isub  0x00000002 , 0x0000003e 
+ 00022863  0x00005466 nbranch  0x00005990 , 0x00000005 
+ 00022864  0x00005467 arg  0x00000002 , 0x0000000b 
+ 00022865  0x00005469 call  0x00005a88 
+ 00022866  0x0000546a nbranch  0x0000596d , 0x00000002 
+ 00022867  0x0000546b fetcht  0x00000002 , 0x00000aa2 
+ 00022868  0x0000546c call  0x0000578a 
+ 00022869  0x0000546d beq  0x00000001 , 0x0000596d 
+ 00022870  0x0000546e call  0x00005a94 
+ 00022871  0x0000546f nbranch  0x0000596b , 0x00000005 
+ 00022872  0x00005470 nbranch  0x0000596f , 0x00000028 
+ 00022873  0x00005471 disable  0x00000028 
+ 00022874  0x00005472 arg  0x00000014 , 0x00000011 
+ 00022875  0x00005473 call  0x00005a82 
+ 00022876  0x00005474 setarg  0x00000009 
+ 00022877  0x00005475 istore  0x00000001 , 0x00000005 
+ 00022878  0x00005476 copy  0x00000005 , 0x00000030 
+ 00022879  0x00005477 increase  0x00000001 , 0x00000005 
+ 00022880  0x00005479 call  0x0000597d 
+ 00022881  0x0000547a call  0x00005a84 
+ 00022882  0x0000547b call  0x0000578a 
+ 00022883  0x0000547c call  0x00005984 
+ 00022884  0x0000547d fetch  0x00000001 , 0x000004a2 
+ 00022885  0x0000547e increase  0x00000005 , 0x0000003f 
+ 00022886  0x0000547f istore  0x00000001 , 0x00000030 
+ 00022887  0x00005480 fetch  0x00000001 , 0x000004a2 
+ 00022888  0x00005481 beq  0x00000010 , 0x0000596d 
+ 00022889  0x00005482 increase  0xffffffff , 0x0000000b 
+ 00022890  0x00005483 branch  0x0000596d , 0x00000005 
+ 00022891  0x00005485 call  0x00005a84 
+ 00022892  0x00005486 branch  0x00005951 
+ 00022893  0x00005488 branch  0x00005a76 , 0x00000028 
+ 00022894  0x00005489 branch  0x00005aa5 
+ 00022895  0x0000548c call  0x00005a97 
+ 00022896  0x0000548d call  0x00005a84 
+ 00022897  0x0000548e call  0x0000578a 
+ 00022898  0x0000548f fetch  0x00000001 , 0x000004a2 
+ 00022899  0x00005490 beq  0x00000010 , 0x0000596d 
+ 00022900  0x00005492 call  0x00007e9c 
+ 00022901  0x00005493 fetch  0x00000002 , 0x00000aa2 
+ 00022902  0x00005494 increase  0xffffffff , 0x0000003f 
+ 00022903  0x00005495 istore  0x00000002 , 0x00000005 
+ 00022904  0x00005496 call  0x00005aa1 
+ 00022905  0x00005497 call  0x00005984 
+ 00022906  0x00005498 increase  0xffffffff , 0x0000000b 
+ 00022907  0x00005499 branch  0x0000596d , 0x00000005 
+ 00022908  0x0000549a branch  0x0000596b 
+ 00022909  0x0000549e fetch  0x00000002 , 0x00000aa2 
+ 00022910  0x0000549f istore  0x00000002 , 0x00000005 
+ 00022911  0x000054a1 fetch  0x00000001 , 0x000004b3 
+ 00022912  0x000054a2 copy  0x0000003f , 0x00000039 
+ 00022913  0x000054a3 call  0x00007e9f 
+ 00022914  0x000054a4 call  0x00007ef4 
+ 00022915  0x000054a5 branch  0x00007ea2 
+ 00022916  0x000054a7 call  0x00007e9c 
+ 00022917  0x000054a8 fetch  0x00000002 , 0x00000aa2 
+ 00022918  0x000054a9 istore  0x00000002 , 0x00000005 
+ 00022919  0x000054aa call  0x00007ea2 
+ 00022920  0x000054ab fetch  0x00000001 , 0x000004a2 
+ 00022921  0x000054ac copy  0x0000003f , 0x00000039 
+ 00022922  0x000054ad call  0x00007e9c 
+ 00022923  0x000054ae call  0x00007e9f 
+ 00022924  0x000054af isub  0x00000039 , 0x00000006 
+ 00022925  0x000054b0 increase  0xffffffff , 0x00000006 
+ 00022926  0x000054b1 call  0x00007ef4 
+ 00022927  0x000054b2 branch  0x00007ea2 
+ 00022928  0x000054b7 fetcht  0x00000002 , 0x0000445a 
+ 00022929  0x000054b8 storet  0x00000002 , 0x00000aa2 
+ 00022930  0x000054ba call  0x00005a88 
+ 00022931  0x000054bb nbranch  0x00005a76 , 0x00000002 
+ 00022932  0x000054bc call  0x0000578a 
+ 00022933  0x000054bd beq  0x00000001 , 0x00005a76 
+ 00022934  0x000054be call  0x00005a94 
+ 00022935  0x000054bf nbranch  0x000059a6 , 0x00000005 
+ 00022936  0x000054c2 arg  0x00000014 , 0x00000011 
+ 00022937  0x000054c3 call  0x00005a82 
+ 00022938  0x000054c4 setarg  0x00000009 
+ 00022939  0x000054c5 istore  0x00000001 , 0x00000005 
+ 00022940  0x000054c6 fetch  0x00000001 , 0x000004b3 
+ 00022941  0x000054c7 copy  0x0000003f , 0x00000039 
+ 00022942  0x000054c8 increase  0x00000002 , 0x0000003f 
+ 00022943  0x000054c9 istore  0x00000001 , 0x00000005 
+ 00022944  0x000054ca fetch  0x00000002 , 0x00000aa2 
+ 00022945  0x000054cb istore  0x00000002 , 0x00000005 
+ 00022946  0x000054cc call  0x00007e9f 
+ 00022947  0x000054cd call  0x00007ef4 
+ 00022948  0x000054ce call  0x00007ea2 
+ 00022949  0x000054cf branch  0x00005aa5 
+ 00022950  0x000054d2 call  0x00005a84 
+ 00022951  0x000054d3 branch  0x00005992 
+ 00022952  0x000054d7 arg  0x00002a00 , 0x00000002 
+ 00022953  0x000054d8 call  0x0000577c 
+ 00022954  0x000054d9 rtn  0x00000034 
+ 00022955  0x000054da increase  0xfffffffb , 0x00000006 
+ 00022956  0x000054db ifetch  0x00000002 , 0x00000006 
+ 00022957  0x000054dc store  0x00000002 , 0x00000aa2 
+ 00022958  0x000054dd arg  0x00000014 , 0x00000011 
+ 00022959  0x000054de call  0x00005a82 
+ 00022960  0x000054df setarg  0x00000009 
+ 00022961  0x000054e0 istore  0x00000001 , 0x00000005 
+ 00022962  0x000054e1 fetch  0x00000001 , 0x000043af 
+ 00022963  0x000054e2 copy  0x0000003f , 0x00000039 
+ 00022964  0x000054e3 increase  0x00000002 , 0x0000003f 
+ 00022965  0x000054e4 istore  0x00000001 , 0x00000005 
+ 00022966  0x000054e5 fetch  0x00000002 , 0x00000aa2 
+ 00022967  0x000054e6 istore  0x00000002 , 0x00000005 
+ 00022968  0x000054e7 arg  0x000043b0 , 0x00000006 
+ 00022969  0x000054e8 call  0x00007ef4 
+ 00022970  0x000054e9 call  0x00007ea2 
+ 00022971  0x000054ea branch  0x00005aa5 
+ 00022972  0x000054ef fetcht  0x00000002 , 0x00000478 
+ 00022973  0x000054f0 fetch  0x00000001 , 0x000044e9 
+ 00022974  0x000054f1 bbit1  0x00000003 , 0x000059dd 
+ 00022975  0x000054f4 call  0x0000576a 
+ 00022976  0x000054f5 branch  0x00005a76 , 0x00000034 
+ 00022977  0x000054f6 increase  0xfffffffe , 0x00000006 
+ 00022978  0x000054f7 ifetch  0x00000002 , 0x00000006 
+ 00022979  0x000054f8 arg  0x00002a00 , 0x00000002 
+ 00022980  0x000054f9 isub  0x00000002 , 0x0000003e 
+ 00022981  0x000054fa branch  0x000059d3 , 0x00000005 
+ 00022982  0x000054fb ifetch  0x00000001 , 0x00000006 
+ 00022983  0x000054fc sub  0x0000003f , 0x00000016 , 0x0000003e 
+ 00022984  0x000054fd branch  0x000059ca , 0x00000002 
+ 00022985  0x000054fe force  0x00000016 , 0x0000003f 
+ 00022986  0x00005500 copy  0x0000003f , 0x00000013 
+ 00022987  0x00005501 call  0x00007ea5 
+ 00022988  0x00005502 add  0x00000013 , 0x00000001 , 0x00000011 
+ 00022989  0x00005503 call  0x00005a82 
+ 00022990  0x00005504 setarg  0x0000000b 
+ 00022991  0x00005505 istore  0x00000001 , 0x00000005 
+ 00022992  0x00005506 copy  0x00000013 , 0x00000039 
+ 00022993  0x00005507 call  0x00007e9f 
+ 00022994  0x00005508 branch  0x00007f01 
+ 00022995  0x0000550b call  0x00007ea5 
+ 00022996  0x0000550c fetch  0x00000001 , 0x000043af 
+ 00022997  0x0000550d add  0x0000003f , 0x00000001 , 0x00000011 
+ 00022998  0x0000550e call  0x00005a82 
+ 00022999  0x0000550f setarg  0x0000000b 
+ 00023000  0x00005510 istore  0x00000001 , 0x00000005 
+ 00023001  0x00005511 fetch  0x00000001 , 0x000043af 
+ 00023002  0x00005512 copy  0x0000003f , 0x00000039 
+ 00023003  0x00005513 arg  0x000043b0 , 0x00000006 
+ 00023004  0x00005514 branch  0x00007f01 
+ 00023005  0x00005518 fetch  0x00000002 , 0x000044fa 
+ 00023006  0x00005519 isub  0x00000002 , 0x0000003e 
+ 00023007  0x0000551a nbranch  0x000059bf , 0x00000005 
+ 00023008  0x0000551c call  0x00005a42 
+ 00023009  0x0000551d nbranch  0x000059bf , 0x00000028 
+ 00023010  0x0000551e jam  0x00000005 , 0x0000047a 
+ 00023011  0x0000551f branch  0x00005a77 
+ 00023012  0x00005523 ifetch  0x00000002 , 0x00000006 
+ 00023013  0x00005524 store  0x00000002 , 0x0000445e 
+ 00023014  0x00005526 arg  0x00000014 , 0x00000011 
+ 00023015  0x00005527 call  0x00005a82 
+ 00023016  0x00005528 setarg  0x0000000d 
+ 00023017  0x00005529 istore  0x00000001 , 0x00000005 
+ 00023018  0x0000552a fetch  0x00000002 , 0x0000445e 
+ 00023019  0x0000552b iforce  0x00000011 
+ 00023020  0x0000552c fetcht  0x00000002 , 0x00000478 
+ 00023021  0x0000552d call  0x0000576a 
+ 00023022  0x0000552e branch  0x00005a76 , 0x00000034 
+ 00023023  0x0000552f ifetch  0x00000001 , 0x00000006 
+ 00023024  0x00005530 isub  0x00000011 , 0x00000039 
+ 00023025  0x00005531 nbranch  0x00005a76 , 0x00000002 
+ 00023026  0x00005532 sub  0x00000039 , 0x00000016 , 0x0000003e 
+ 00023027  0x00005533 branch  0x000059f5 , 0x00000002 
+ 00023028  0x00005534 force  0x00000016 , 0x00000039 
+ 00023029  0x00005536 deposit  0x00000011 
+ 00023030  0x00005537 iadd  0x00000006 , 0x00000006 
+ 00023031  0x00005538 call  0x00007ef4 
+ 00023032  0x00005539 call  0x00007ea2 
+ 00023033  0x0000553a branch  0x00005aa5 
+ 00023034  0x0000553e call  0x00005ab1 
+ 00023035  0x0000553f call  0x000056d7 
+ 00023036  0x00005540 branch  0x000059fd 
+ 00023037  0x00005546 arg  0x00000002 , 0x0000000b 
+ 00023038  0x00005547 fetcht  0x00000002 , 0x0000445a 
+ 00023039  0x0000554b storet  0x00000002 , 0x00000aa2 
+ 00023040  0x0000554c call  0x00005756 
+ 00023041  0x0000554d call  0x0000576d 
+ 00023042  0x0000554e increase  0xfffffffe , 0x00000006 
+ 00023043  0x0000554f copy  0x00000006 , 0x0000003f 
+ 00023044  0x00005550 store  0x00000002 , 0x0000049c 
+ 00023045  0x00005552 call  0x00005a88 
+ 00023046  0x00005553 nbranch  0x00005a25 , 0x00000002 
+ 00023047  0x00005554 fetcht  0x00000002 , 0x00000aa2 
+ 00023048  0x00005555 call  0x0000578a 
+ 00023049  0x00005556 beq  0x00000001 , 0x00005a28 
+ 00023050  0x00005558 call  0x00005a8c 
+ 00023051  0x00005559 nbranch  0x00005a23 , 0x00000005 
+ 00023052  0x0000555a copy  0x0000000b , 0x0000003f 
+ 00023053  0x0000555b beq  0x00000000 , 0x00005a28 
+ 00023054  0x0000555c nbranch  0x00005a19 , 0x00000028 
+ 00023055  0x0000555d disable  0x00000028 
+ 00023056  0x0000555f arg  0x00000014 , 0x00000011 
+ 00023057  0x00005560 call  0x00005a82 
+ 00023058  0x00005561 setarg  0x00000011 
+ 00023059  0x00005562 istore  0x00000001 , 0x00000005 
+ 00023060  0x00005563 fetch  0x00000001 , 0x000004b3 
+ 00023061  0x00005564 increase  0x00000004 , 0x0000003f 
+ 00023062  0x00005565 istore  0x00000001 , 0x00000005 
+ 00023063  0x00005566 call  0x00007ea2 
+ 00023064  0x00005567 branch  0x00005a1f 
+ 00023065  0x00005569 fetch  0x00000001 , 0x000004b3 
+ 00023066  0x0000556a beq  0x00000010 , 0x00005a28 
+ 00023067  0x0000556b fetch  0x00000002 , 0x00000aa2 
+ 00023068  0x0000556c increase  0xffffffff , 0x0000003f 
+ 00023069  0x0000556d store  0x00000002 , 0x000004a0 
+ 00023070  0x0000556e call  0x00005a9c 
+ 00023071  0x00005570 fetch  0x00000002 , 0x00000aa2 
+ 00023072  0x00005571 store  0x00000002 , 0x0000049e 
+ 00023073  0x00005572 call  0x00005a97 
+ 00023074  0x00005573 increase  0xffffffff , 0x0000000b 
+ 00023075  0x00005576 call  0x00005a84 
+ 00023076  0x00005577 branch  0x00005a05 
+ 00023077  0x0000557a fetch  0x00000002 , 0x00000aa2 
+ 00023078  0x0000557b store  0x00000002 , 0x000004a0 
+ 00023079  0x0000557c branch  0x00005a2c 
+ 00023080  0x0000557e fetch  0x00000002 , 0x00000aa2 
+ 00023081  0x0000557f increase  0xffffffff , 0x0000003f 
+ 00023082  0x00005580 store  0x00000002 , 0x000004a0 
+ 00023083  0x00005581 branch  0x00005a2c 
+ 00023084  0x00005583 branch  0x00005a76 , 0x00000028 
+ 00023085  0x00005584 call  0x00005a9c 
+ 00023086  0x00005585 branch  0x00005aa5 
+ 00023087  0x0000558b copy  0x00000006 , 0x00000011 
+ 00023088  0x0000558c fetch  0x00000002 , 0x000044fc 
+ 00023089  0x0000558d add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00023090  0x0000558e call  0x000056e2 
+ 00023091  0x00005590 fetch  0x00000001 , 0x000044e9 
+ 00023092  0x00005591 bbit0  0x00000004 , 0x00005a3d 
+ 00023093  0x00005593 fetcht  0x00000002 , 0x00000478 
+ 00023094  0x00005594 fetch  0x00000002 , 0x000044fa 
+ 00023095  0x00005595 isub  0x00000002 , 0x0000003e 
+ 00023096  0x00005596 nbranch  0x00005a3d , 0x00000005 
+ 00023097  0x00005597 call  0x00005a42 
+ 00023098  0x00005598 nbranch  0x00005a3d , 0x00000028 
+ 00023099  0x00005599 jam  0x00000005 , 0x0000047a 
+ 00023100  0x0000559a branch  0x00005a77 
+ 00023101  0x0000559d force  0x00000001 , 0x00000011 
+ 00023102  0x0000559e call  0x00005a82 
+ 00023103  0x0000559f setarg  0x00000013 
+ 00023104  0x000055a0 istore  0x00000001 , 0x00000005 
+ 00023105  0x000055a1 rtn 
+ 00023106  0x000055a4 call  0x00007fe9 
+ 00023107  0x000055a5 fetch  0x00000001 , 0x000044c6 
+ 00023108  0x000055a6 rtneq  0x00000000 
+ 00023109  0x000055a7 fetch  0x00000001 , 0x00004040 
+ 00023110  0x000055a8 rtnbit1  0x00000004 
+ 00023111  0x000055a9 branch  0x00007fe7 
+ 00023112  0x000055ad add  0x00000006 , 0x00000002 , 0x00000011 
+ 00023113  0x000055ae fetch  0x00000002 , 0x000044fc 
+ 00023114  0x000055af add  0x0000003f , 0xfffffffb , 0x00000012 
+ 00023115  0x000055b0 call  0x000056e2 
+ 00023116  0x000055b1 branch  0x00005a4d 
+ 00023117  0x000055b5 fetch  0x00000002 , 0x000044fc 
+ 00023118  0x000055b6 copy  0x0000003f , 0x00000011 
+ 00023119  0x000055b7 call  0x00005a82 
+ 00023120  0x000055b8 setarg  0x00000017 
+ 00023121  0x000055b9 istore  0x00000001 , 0x00000005 
+ 00023122  0x000055ba fetch  0x00000002 , 0x00000478 
+ 00023123  0x000055bb istore  0x00000002 , 0x00000005 
+ 00023124  0x000055bc fetch  0x00000002 , 0x000044fc 
+ 00023125  0x000055bd add  0x0000003f , 0xfffffffb , 0x00000039 
+ 00023126  0x000055be fetch  0x00000002 , 0x0000450d 
+ 00023127  0x000055bf add  0x0000003f , 0x00000007 , 0x00000006 
+ 00023128  0x000055c0 ifetch  0x00000002 , 0x00000006 
+ 00023129  0x000055c1 istore  0x00000002 , 0x00000005 
+ 00023130  0x000055c2 branch  0x00007ef4 
+ 00023131  0x000055c9 force  0x00000001 , 0x00000011 
+ 00023132  0x000055ca call  0x00005a82 
+ 00023133  0x000055cb setarg  0x00000019 
+ 00023134  0x000055cc istore  0x00000001 , 0x00000005 
+ 00023135  0x000055cd rtn 
+ 00023136  0x000055d2 copy  0x00000006 , 0x00000011 
+ 00023137  0x000055d3 fetch  0x00000002 , 0x000044fc 
+ 00023138  0x000055d4 add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00023139  0x000055d5 branch  0x000056e2 
+ 00023140  0x000055db copy  0x00000002 , 0x00000013 
+ 00023141  0x000055dc increase  0x00000003 , 0x00000011 
+ 00023142  0x000055dd call  0x00005a82 
+ 00023143  0x000055de increase  0xfffffffd , 0x00000011 
+ 00023144  0x000055df setarg  0x0000001b 
+ 00023145  0x000055e0 istore  0x00000001 , 0x00000005 
+ 00023146  0x000055e1 copy  0x00000013 , 0x00000002 
+ 00023147  0x000055e2 istoret  0x00000002 , 0x00000005 
+ 00023148  0x000055e3 rtn 
+ 00023149  0x000055e7 copy  0x00000002 , 0x00000013 
+ 00023150  0x000055e8 increase  0x00000003 , 0x00000011 
+ 00023151  0x000055e9 call  0x00005a82 
+ 00023152  0x000055ea increase  0xfffffffd , 0x00000011 
+ 00023153  0x000055eb setarg  0x0000001d 
+ 00023154  0x000055ec istore  0x00000001 , 0x00000005 
+ 00023155  0x000055ed copy  0x00000013 , 0x00000002 
+ 00023156  0x000055ee istoret  0x00000002 , 0x00000005 
+ 00023157  0x000055ef rtn 
+ 00023158  0x000055f5 jam  0x0000000a , 0x0000047a 
+ 00023159  0x000055f7 force  0x00000005 , 0x00000011 
+ 00023160  0x000055f8 call  0x00005a82 
+ 00023161  0x000055f9 setarg  0x00000001 
+ 00023162  0x000055fa istore  0x00000001 , 0x00000005 
+ 00023163  0x000055fb fetch  0x00000001 , 0x00000477 
+ 00023164  0x000055fc istore  0x00000001 , 0x00000005 
+ 00023165  0x000055fd fetch  0x00000002 , 0x00000478 
+ 00023166  0x000055fe istore  0x00000002 , 0x00000005 
+ 00023167  0x000055ff fetch  0x00000001 , 0x0000047a 
+ 00023168  0x00005600 istore  0x00000001 , 0x00000005 
+ 00023169  0x00005601 rtn 
+ 00023170  0x00005605 force  0x00000004 , 0x00000012 
+ 00023171  0x00005606 branch  0x00005847 
+ 00023172  0x0000560a fetcht  0x00000002 , 0x00000aa2 
+ 00023173  0x0000560b increase  0x00000001 , 0x00000002 
+ 00023174  0x0000560c storet  0x00000002 , 0x00000aa2 
+ 00023175  0x0000560d rtn 
+ 00023176  0x00005610 fetcht  0x00000002 , 0x00000aa2 
+ 00023177  0x00005611 fetch  0x00000002 , 0x0000445c 
+ 00023178  0x00005612 isub  0x00000002 , 0x0000003e 
+ 00023179  0x00005613 rtn 
+ 00023180  0x00005617 fetcht  0x00000001 , 0x0000445e 
+ 00023181  0x00005618 arg  0x0000445f , 0x00000011 
+ 00023182  0x0000561a fetch  0x00000001 , 0x000004a2 
+ 00023183  0x0000561b copy  0x0000003f , 0x00000039 
+ 00023184  0x0000561c isub  0x00000002 , 0x0000003e 
+ 00023185  0x0000561d nrtn  0x00000005 
+ 00023186  0x0000561e arg  0x000004a3 , 0x00000012 
+ 00023187  0x0000561f branch  0x00007f88 
+ 00023188  0x00005622 fetcht  0x00000001 , 0x00004471 
+ 00023189  0x00005623 arg  0x00004472 , 0x00000011 
+ 00023190  0x00005624 branch  0x00005a8e 
+ 00023191  0x00005628 fetch  0x00000001 , 0x000004b3 
+ 00023192  0x00005629 store  0x00000001 , 0x00000101 
+ 00023193  0x0000562a copy  0x0000003f , 0x00000039 
+ 00023194  0x0000562b call  0x00007e9f 
+ 00023195  0x0000562c branch  0x00007ef4 
+ 00023196  0x00005630 call  0x00007e9c 
+ 00023197  0x00005631 fetch  0x00000002 , 0x0000049e 
+ 00023198  0x00005632 istore  0x00000002 , 0x00000005 
+ 00023199  0x00005633 fetch  0x00000002 , 0x000004a0 
+ 00023200  0x00005634 istore  0x00000002 , 0x00000005 
+ 00023201  0x00005636 fetch  0x00000001 , 0x00000101 
+ 00023202  0x00005637 copy  0x0000003f , 0x00000039 
+ 00023203  0x00005638 call  0x00007ef4 
+ 00023204  0x00005639 branch  0x00007ea2 
+ 00023205  0x0000563e call  0x00007e9c 
+ 00023206  0x0000563f call  0x0000588a 
+ 00023207  0x00005640 copy  0x00000005 , 0x0000003f 
+ 00023208  0x00005641 isub  0x00000006 , 0x00000011 
+ 00023209  0x00005642 call  0x0000588d 
+ 00023210  0x00005643 copy  0x00000011 , 0x0000003f 
+ 00023211  0x00005644 istore  0x00000002 , 0x00000006 
+ 00023212  0x00005645 increase  0x00000004 , 0x00000011 
+ 00023213  0x00005646 call  0x00005879 
+ 00023214  0x00005647 copy  0x00000011 , 0x0000003f 
+ 00023215  0x00005648 istore  0x00000001 , 0x00000006 
+ 00023216  0x00005649 rtn 
+ 00023217  0x0000564d rshift8  0x0000003f , 0x0000003f 
+ 00023218  0x0000564e store  0x00000002 , 0x0000445a 
+ 00023219  0x0000564f ifetch  0x00000002 , 0x00000006 
+ 00023220  0x00005650 store  0x00000002 , 0x0000445c 
+ 00023221  0x00005651 rtn 
+ 00023222  0x00005657 ifetch  0x00000001 , 0x00000006 
+ 00023223  0x00005658 ifetcht  0x00000001 , 0x00000006 
+ 00023224  0x00005659 ifetcht  0x00000002 , 0x00000006 
+ 00023225  0x0000565a beq  0x00000013 , 0x00005abb 
+ 00023226  0x0000565b rtn 
+ 00023227  0x0000565d ifetch  0x00000002 , 0x00000006 
+ 00023228  0x0000565e store  0x00000002 , 0x00004509 
+ 00023229  0x0000565f jam  0x00000040 , 0x00000a99 
+ 00023230  0x00005660 branch  0x00007d86 
+ 00023231  0x00005667 arg  0x0000000c , 0x00000011 
+ 00023232  0x00005668 arg  0x00000012 , 0x00000013 
+ 00023233  0x00005669 call  0x00005ac7 
+ 00023234  0x0000566a setarg  0x00000008 
+ 00023235  0x0000566b istore  0x00000002 , 0x00000005 
+ 00023236  0x0000566c fetch  0x00000008 , 0x00004496 
+ 00023237  0x0000566d istore  0x00000008 , 0x00000005 
+ 00023238  0x0000566e rtn 
+ 00023239  0x00005673 call  0x00005acf 
+ 00023240  0x00005674 arg  0x00000005 , 0x00000012 
+ 00023241  0x00005675 call  0x00005847 
+ 00023242  0x00005676 copy  0x00000013 , 0x0000003f 
+ 00023243  0x00005677 istore  0x00000001 , 0x00000005 
+ 00023244  0x00005678 fetch  0x00000001 , 0x00004508 
+ 00023245  0x00005679 istore  0x00000001 , 0x00000005 
+ 00023246  0x0000567a rtn 
+ 00023247  0x0000567e fetch  0x00000001 , 0x00004508 
+ 00023248  0x00005680 pincrease  0x00000001 
+ 00023249  0x00005681 store  0x00000001 , 0x00004508 
+ 00023250  0x00005682 rtnne  0x00000000 
+ 00023251  0x00005685 jam  0x00000001 , 0x00004508 
+ 00023252  0x00005686 rtn 
+ 00023253  0x0000568c fetch  0x00000001 , 0x000044c6 
+ 00023254  0x0000568d beq  0x00000000 , 0x00005ae4 
+ 00023255  0x0000568e beq  0x00000001 , 0x00005ae7 
+ 00023256  0x0000568f beq  0x00000002 , 0x00005ae9 
+ 00023257  0x00005690 beq  0x00000081 , 0x00005add 
+ 00023258  0x00005691 beq  0x00000082 , 0x00005adf 
+ 00023259  0x00005692 beq  0x00000083 , 0x00005ae2 
+ 00023260  0x00005693 rtn 
+ 00023261  0x00005696 jam  0x0000000d , 0x00004456 
+ 00023262  0x00005697 branch  0x00005ae5 
+ 00023263  0x00005699 jam  0x0000000d , 0x00004456 
+ 00023264  0x0000569a jam  0x00000001 , 0x00004454 
+ 00023265  0x0000569b rtn 
+ 00023266  0x0000569d jam  0x0000000d , 0x00004456 
+ 00023267  0x0000569e branch  0x00005aea 
+ 00023268  0x000056a0 jam  0x00000000 , 0x00004456 
+ 00023269  0x000056a2 jam  0x00000003 , 0x00004454 
+ 00023270  0x000056a3 rtn 
+ 00023271  0x000056a5 jam  0x00000005 , 0x00004456 
+ 00023272  0x000056a6 branch  0x00005ae5 
+ 00023273  0x000056a8 jam  0x00000005 , 0x00004456 
+ 00023274  0x000056aa jam  0x00000000 , 0x00004454 
+ 00023275  0x000056ab rtn 
+ 00023276  0x000056af fetch  0x00000001 , 0x00004456 
+ 00023277  0x000056b0 set1  0x00000003 , 0x0000003f 
+ 00023278  0x000056b1 store  0x00000001 , 0x00004456 
+ 00023279  0x000056b2 rtn 
+ 00023280  0x000056b4 fetch  0x00000001 , 0x00004456 
+ 00023281  0x000056b5 set0  0x00000003 , 0x0000003f 
+ 00023282  0x000056b6 store  0x00000001 , 0x00004456 
+ 00023283  0x000056b7 rtn 
+ 00023284  0x000056ba ifetch  0x00000001 , 0x00000006 
+ 00023285  0x000056bb beq  0x00000001 , 0x00005b09 
+ 00023286  0x000056bd beq  0x00000003 , 0x00005b30 
+ 00023287  0x000056be beq  0x00000004 , 0x00005b4d 
+ 00023288  0x000056bf beq  0x00000005 , 0x00005b5a 
+ 00023289  0x000056c0 beq  0x00000006 , 0x00005b80 
+ 00023290  0x000056c1 beq  0x00000007 , 0x00005bc4 
+ 00023291  0x000056c2 beq  0x00000008 , 0x00005baf 
+ 00023292  0x000056c3 beq  0x00000009 , 0x00005bc0 
+ 00023293  0x000056c4 beq  0x0000000a , 0x00005bc4 
+ 00023294  0x000056c5 beq  0x0000000b , 0x00005bc4 
+ 00023295  0x000056c6 beq  0x0000000c , 0x00005bc5 
+ 00023296  0x000056c7 beq  0x0000000d , 0x00005bca 
+ 00023297  0x000056c8 rtn 
+ 00023298  0x000056cd force  0x00000002 , 0x00000011 
+ 00023299  0x000056ce call  0x00005c62 
+ 00023300  0x000056cf setarg  0x0000000b 
+ 00023301  0x000056d0 istore  0x00000001 , 0x00000005 
+ 00023302  0x000056d1 fetch  0x00000001 , 0x00004456 
+ 00023303  0x000056d2 istore  0x00000001 , 0x00000005 
+ 00023304  0x000056d3 rtn 
+ 00023305  0x000056d6 store  0x00000001 , 0x0000444c 
+ 00023306  0x000056d7 ifetch  0x00000006 , 0x00000006 
+ 00023307  0x000056d8 istore  0x00000006 , 0x00000005 
+ 00023308  0x000056d9 fetch  0x00000001 , 0x000044c6 
+ 00023309  0x000056da beq  0x00000000 , 0x00005b5f 
+ 00023310  0x000056db call  0x00005b2b 
+ 00023311  0x000056dc call  0x00005b26 
+ 00023312  0x000056dd jam  0x00000003 , 0x000044c4 
+ 00023313  0x000056de fetch  0x00000001 , 0x0000444d 
+ 00023314  0x000056df beq  0x00000000 , 0x00005b18 
+ 00023315  0x000056e0 beq  0x00000001 , 0x00005b18 
+ 00023316  0x000056e1 beq  0x00000003 , 0x00005b18 
+ 00023317  0x000056e2 fetch  0x00000001 , 0x000044c6 
+ 00023318  0x000056e3 beq  0x00000002 , 0x00005b1b 
+ 00023319  0x000056e4 rtneq  0x00000083 
+ 00023320  0x000056e6 arg  0x00000000 , 0x0000003f 
+ 00023321  0x000056e7 store  0x00000004 , 0x000044c7 
+ 00023322  0x000056e8 rtn 
+ 00023323  0x000056eb fetch  0x00000001 , 0x000044e9 
+ 00023324  0x000056ec bbit1  0x00000000 , 0x00005b24 
+ 00023325  0x000056ee arg  0x000044c7 , 0x00000011 
+ 00023326  0x000056ef copy  0x00000011 , 0x00000005 
+ 00023327  0x000056f0 arg  0x00000003 , 0x00000039 
+ 00023328  0x000056f1 call  0x0000630d 
+ 00023329  0x000056f2 fetch  0x00000002 , 0x000044c9 
+ 00023330  0x000056f3 and_into  0x00000007 , 0x0000003f 
+ 00023331  0x000056f4 store  0x00000002 , 0x000044c9 
+ 00023332  0x000056f6 jam  0x00000034 , 0x00000a99 
+ 00023333  0x000056f7 branch  0x00007d86 
+ 00023334  0x000056fa fetch  0x00000001 , 0x0000444f 
+ 00023335  0x000056fb rtnbit1  0x00000003 
+ 00023336  0x000056fc fetch  0x00000001 , 0x000044c6 
+ 00023337  0x000056fd rtnbit0  0x00000007 
+ 00023338  0x000056fe branch  0x00003402 
+ 00023339  0x00005701 force  0x00000007 , 0x00000011 
+ 00023340  0x00005702 call  0x00005c62 
+ 00023341  0x00005703 fetch  0x00000007 , 0x00004453 
+ 00023342  0x00005704 istore  0x00000007 , 0x00000005 
+ 00023343  0x00005705 rtn 
+ 00023344  0x00005709 copy  0x00000006 , 0x00000011 
+ 00023345  0x0000570a fetch  0x00000001 , 0x000044c6 
+ 00023346  0x0000570b beq  0x00000083 , 0x00005b37 
+ 00023347  0x0000570c copy  0x00000011 , 0x00000006 
+ 00023348  0x0000570d arg  0x0000442a , 0x00000005 
+ 00023349  0x0000570e call  0x00007ebf 
+ 00023350  0x0000570f branch  0x00005b3d 
+ 00023351  0x00005711 copy  0x00000011 , 0x00000006 
+ 00023352  0x00005712 arg  0x0000442a , 0x00000005 
+ 00023353  0x00005713 call  0x00007ebf 
+ 00023354  0x00005714 jam  0x00000002 , 0x000044bf 
+ 00023355  0x00005715 jam  0x00000008 , 0x000044c1 
+ 00023356  0x00005716 rtn 
+ 00023357  0x0000571a fetch  0x00000001 , 0x000044c6 
+ 00023358  0x0000571b bbit1  0x00000007 , 0x00005b45 
+ 00023359  0x0000571c call  0x0000739c 
+ 00023360  0x0000571d force  0x00000011 , 0x00000011 
+ 00023361  0x0000571e call  0x00005c62 
+ 00023362  0x0000571f setarg  0x00000003 
+ 00023363  0x00005720 istore  0x00000001 , 0x00000005 
+ 00023364  0x00005721 branch  0x00007497 
+ 00023365  0x00005725 arg  0x0000443a , 0x00000005 
+ 00023366  0x00005726 call  0x0000630c 
+ 00023367  0x00005727 call  0x000071c5 
+ 00023368  0x00005728 force  0x00000011 , 0x00000011 
+ 00023369  0x00005729 call  0x00005c62 
+ 00023370  0x0000572a setarg  0x00000003 
+ 00023371  0x0000572b istore  0x00000001 , 0x00000005 
+ 00023372  0x0000572c branch  0x00007201 
+ 00023373  0x00005731 copy  0x00000006 , 0x00000011 
+ 00023374  0x00005732 fetch  0x00000001 , 0x000044c6 
+ 00023375  0x00005733 bbit1  0x00000007 , 0x00005b61 
+ 00023376  0x00005734 copy  0x00000011 , 0x00000006 
+ 00023377  0x00005735 call  0x00007394 
+ 00023378  0x00005736 branch  0x00005b75 , 0x00000005 
+ 00023379  0x00005738 jam  0x00000004 , 0x0000047b 
+ 00023380  0x0000573a force  0x00000002 , 0x00000011 
+ 00023381  0x0000573b call  0x00005c62 
+ 00023382  0x0000573c setarg  0x00000005 
+ 00023383  0x0000573d istore  0x00000001 , 0x00000005 
+ 00023384  0x0000573e fetch  0x00000001 , 0x0000047b 
+ 00023385  0x0000573f istore  0x00000001 , 0x00000005 
+ 00023386  0x00005741 force  0x0000000a , 0x00000007 
+ 00023387  0x00005742 call  0x00007f07 
+ 00023388  0x00005743 jam  0x00000000 , 0x000044c4 
+ 00023389  0x00005744 jam  0x00000030 , 0x00000a99 
+ 00023390  0x00005745 branch  0x00007d86 
+ 00023391  0x00005748 jam  0x00000005 , 0x0000047b 
+ 00023392  0x00005749 branch  0x00005b54 
+ 00023393  0x0000574d arg  0x0000042f , 0x00000005 
+ 00023394  0x0000574e copy  0x00000011 , 0x00000006 
+ 00023395  0x0000574f call  0x00007ebf 
+ 00023396  0x00005750 fetch  0x00000001 , 0x000044c6 
+ 00023397  0x00005751 beq  0x00000083 , 0x00005b6c 
+ 00023398  0x00005752 call  0x0000714f 
+ 00023399  0x00005755 call  0x00005b7a 
+ 00023400  0x00005756 fetch  0x00000001 , 0x000044c6 
+ 00023401  0x00005757 rtnne  0x00000082 
+ 00023402  0x00005758 jam  0x0000003b , 0x00000a99 
+ 00023403  0x00005759 branch  0x00007d86 
+ 00023404  0x0000575c call  0x000071ba 
+ 00023405  0x0000575d arg  0x00000af2 , 0x00000005 
+ 00023406  0x0000575e call  0x00007201 
+ 00023407  0x0000575f arg  0x00000af2 , 0x00000011 
+ 00023408  0x00005760 arg  0x0000442a , 0x00000012 
+ 00023409  0x00005761 arg  0x00000010 , 0x00000039 
+ 00023410  0x00005762 call  0x00007f88 
+ 00023411  0x00005763 nbranch  0x00005b53 , 0x00000005 
+ 00023412  0x00005764 branch  0x00005b7a 
+ 00023413  0x00005767 call  0x00007390 
+ 00023414  0x00005768 jam  0x00000031 , 0x00000a99 
+ 00023415  0x00005769 call  0x00007d86 
+ 00023416  0x0000576a jam  0x00000001 , 0x00004429 
+ 00023417  0x0000576b jam  0x00000005 , 0x000044c4 
+ 00023418  0x0000576e force  0x00000011 , 0x00000011 
+ 00023419  0x0000576f call  0x00005c62 
+ 00023420  0x00005770 setarg  0x00000004 
+ 00023421  0x00005771 istore  0x00000001 , 0x00000005 
+ 00023422  0x00005772 arg  0x0000443a , 0x00000006 
+ 00023423  0x00005773 branch  0x00007ebf 
+ 00023424  0x00005776 arg  0x0000041f , 0x00000005 
+ 00023425  0x00005777 branch  0x00007ebf 
+ 00023426  0x0000577a force  0x00000011 , 0x00000011 
+ 00023427  0x0000577b call  0x00005c62 
+ 00023428  0x0000577c setarg  0x00000006 
+ 00023429  0x0000577d istore  0x00000001 , 0x00000005 
+ 00023430  0x0000577e fetch  0x00000001 , 0x000044e9 
+ 00023431  0x0000577f bbit1  0x00000001 , 0x00005b8a 
+ 00023432  0x00005780 arg  0x00004419 , 0x00000006 
+ 00023433  0x00005781 branch  0x00007ebf 
+ 00023434  0x00005784 arg  0x000044ea , 0x00000006 
+ 00023435  0x00005785 branch  0x00007ebf 
+ 00023436  0x00005789 arg  0x000044cb , 0x00000005 
+ 00023437  0x0000578a force  0x0000000a , 0x00000039 
+ 00023438  0x0000578b call  0x0000630d 
+ 00023439  0x0000578c force  0x0000000b , 0x00000011 
+ 00023440  0x0000578d call  0x00005c62 
+ 00023441  0x0000578e setarg  0x00000007 
+ 00023442  0x0000578f istore  0x00000001 , 0x00000005 
+ 00023443  0x00005790 fetch  0x00000002 , 0x000044cb 
+ 00023444  0x00005791 istore  0x00000002 , 0x00000005 
+ 00023445  0x00005792 fetch  0x00000008 , 0x000044cd 
+ 00023446  0x00005793 istore  0x00000008 , 0x00000005 
+ 00023447  0x00005794 rtn 
+ 00023448  0x00005797 force  0x00000011 , 0x00000011 
+ 00023449  0x00005798 call  0x00005c62 
+ 00023450  0x00005799 setarg  0x00000008 
+ 00023451  0x0000579a istore  0x00000001 , 0x00000005 
+ 00023452  0x0000579b setarg  0x00000000 
+ 00023453  0x0000579c istore  0x00000008 , 0x00000005 
+ 00023454  0x0000579d istore  0x00000008 , 0x00000005 
+ 00023455  0x0000579e rtn 
+ 00023456  0x000057a2 force  0x00000008 , 0x00000011 
+ 00023457  0x000057a3 call  0x00005c62 
+ 00023458  0x000057a4 setarg  0x00000009 
+ 00023459  0x000057a5 istore  0x00000001 , 0x00000005 
+ 00023460  0x000057a6 fetch  0x00000001 , 0x00004495 
+ 00023461  0x000057a7 istore  0x00000001 , 0x00000005 
+ 00023462  0x000057a8 fetch  0x00000006 , 0x000044a0 
+ 00023463  0x000057a9 istore  0x00000006 , 0x00000005 
+ 00023464  0x000057aa rtn 
+ 00023465  0x000057ae jam  0x00000008 , 0x0000047b 
+ 00023466  0x000057af branch  0x00005b54 
+ 00023467  0x000057b2 fetch  0x00000001 , 0x00004458 
+ 00023468  0x000057b3 fetcht  0x00000001 , 0x00004458 
+ 00023469  0x000057b4 iand  0x00000002 , 0x0000003f 
+ 00023470  0x000057b5 rtn 
+ 00023471  0x000057b8 arg  0x000044d5 , 0x00000005 
+ 00023472  0x000057b9 call  0x00007ebf 
+ 00023473  0x000057ba call  0x00005bab 
+ 00023474  0x000057bb isolate0  0x00000001 , 0x0000003f 
+ 00023475  0x000057bc branch  0x00005ba9 , 0x00000001 
+ 00023476  0x000057bd fetch  0x00000001 , 0x00004092 
+ 00023477  0x000057be rtnne  0x0000000a 
+ 00023478  0x000057bf call  0x00005bb9 
+ 00023479  0x000057c0 nrtn  0x00000028 
+ 00023480  0x000057c1 branch  0x00003410 
+ 00023481  0x000057c5 call  0x00007fe9 
+ 00023482  0x000057c6 fetch  0x00000001 , 0x0000448e 
+ 00023483  0x000057c7 rtneq  0x00000000 
+ 00023484  0x000057c8 fetch  0x00000001 , 0x00000454 
+ 00023485  0x000057c9 compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00023486  0x000057ca rtn  0x00000001 
+ 00023487  0x000057cb branch  0x00007fe7 
+ 00023488  0x000057ce call  0x00005bab 
+ 00023489  0x000057cf isolate0  0x00000001 , 0x0000003f 
+ 00023490  0x000057d0 branch  0x00005ba9 , 0x00000001 
+ 00023491  0x000057d1 rtn 
+ 00023492  0x000057d6 rtn 
+ 00023493  0x000057d9 arg  0x000009be , 0x00000005 
+ 00023494  0x000057da call  0x00007eb3 
+ 00023495  0x000057db jam  0x00000002 , 0x000044bf 
+ 00023496  0x000057dc jam  0x00000001 , 0x000044c1 
+ 00023497  0x000057dd rtn 
+ 00023498  0x000057e0 arg  0x00000a6e , 0x00000005 
+ 00023499  0x000057e1 call  0x00007ebf 
+ 00023500  0x000057e2 jam  0x00000006 , 0x000044c1 
+ 00023501  0x000057e3 jam  0x00000002 , 0x000044bf 
+ 00023502  0x000057e4 rtn 
+ 00023503  0x000057e7 force  0x00000041 , 0x00000011 
+ 00023504  0x000057e8 call  0x00005c62 
+ 00023505  0x000057e9 setarg  0x0000000c 
+ 00023506  0x000057ea istore  0x00000001 , 0x00000005 
+ 00023507  0x000057eb arg  0x000045d2 , 0x00000006 
+ 00023508  0x000057ec branch  0x00007eb3 
+ 00023509  0x000057ef call  0x00007166 
+ 00023510  0x000057f0 force  0x00000011 , 0x00000011 
+ 00023511  0x000057f1 call  0x00005c62 
+ 00023512  0x000057f2 setarg  0x0000000d 
+ 00023513  0x000057f3 istore  0x00000001 , 0x00000005 
+ 00023514  0x000057f4 branch  0x00007201 
+ 00023515  0x000057f8 fetch  0x00000001 , 0x000044c4 
+ 00023516  0x000057f9 rtneq  0x000000ff 
+ 00023517  0x000057fa arg  0x00000003 , 0x00000002 
+ 00023518  0x000057fb isub  0x00000002 , 0x0000003e 
+ 00023519  0x000057fc nrtn  0x00000002 
+ 00023520  0x000057fd arg  0x0000000a , 0x00000007 
+ 00023521  0x000057fe call  0x00007f16 
+ 00023522  0x000057ff nrtn  0x00000034 
+ 00023523  0x00005800 branch  0x00005ba9 
+ 00023524  0x00005803 bpatchx  0x00000078 , 0x0000402f 
+ 00023525  0x00005804 fetch  0x00000001 , 0x000044c4 
+ 00023526  0x00005805 beq  0x00000000 , 0x00005bef 
+ 00023527  0x00005806 beq  0x00000001 , 0x00005bf5 
+ 00023528  0x00005807 beq  0x00000002 , 0x00005bef 
+ 00023529  0x00005808 beq  0x00000003 , 0x00005bf7 
+ 00023530  0x00005809 beq  0x00000005 , 0x00005bfb 
+ 00023531  0x0000580a beq  0x00000007 , 0x00005c07 
+ 00023532  0x0000580b beq  0x00000008 , 0x00005c09 
+ 00023533  0x0000580c beq  0x00000009 , 0x00005c10 
+ 00023534  0x0000580d rtn 
+ 00023535  0x00005811 fetch  0x00000001 , 0x000044c5 
+ 00023536  0x00005812 rtnne  0x00000004 
+ 00023537  0x00005813 jam  0x000000ff , 0x000044c5 
+ 00023538  0x00005814 jam  0x000000ff , 0x000044c4 
+ 00023539  0x00005815 jam  0x0000003f , 0x00000a99 
+ 00023540  0x00005816 branch  0x00007d86 
+ 00023541  0x0000581a jam  0x00000002 , 0x000044c4 
+ 00023542  0x0000581b branch  0x00005b02 
+ 00023543  0x0000581e jam  0x00000004 , 0x000044c4 
+ 00023544  0x0000581f setarg  0x00017700 
+ 00023545  0x00005820 arg  0x0000000a , 0x00000007 
+ 00023546  0x00005821 branch  0x00007f08 
+ 00023547  0x00005824 fetch  0x00000001 , 0x000044c5 
+ 00023548  0x00005825 beq  0x00000004 , 0x00005bfe 
+ 00023549  0x00005826 rtn 
+ 00023550  0x00005829 jam  0x00000007 , 0x000044c4 
+ 00023551  0x0000582a jam  0x00000029 , 0x00000a99 
+ 00023552  0x0000582b call  0x00007d86 
+ 00023553  0x0000582c call  0x00005b82 
+ 00023554  0x0000582d fetch  0x00000001 , 0x00004092 
+ 00023555  0x0000582e rtnne  0x0000000a 
+ 00023556  0x0000582f call  0x00005bb9 
+ 00023557  0x00005830 rtn  0x00000028 
+ 00023558  0x00005831 branch  0x00003410 
+ 00023559  0x00005835 jam  0x00000008 , 0x000044c4 
+ 00023560  0x00005836 branch  0x00005b8c 
+ 00023561  0x00005839 fetch  0x00000001 , 0x00004452 
+ 00023562  0x0000583a fetcht  0x00000001 , 0x00004459 
+ 00023563  0x0000583b iand  0x00000002 , 0x0000003f 
+ 00023564  0x0000583c isolate0  0x00000001 , 0x0000003f 
+ 00023565  0x0000583d branch  0x00005c12 , 0x00000001 
+ 00023566  0x0000583e jam  0x00000009 , 0x000044c4 
+ 00023567  0x0000583f branch  0x00005b98 
+ 00023568  0x00005842 call  0x00005ba0 
+ 00023569  0x00005843 branch  0x00005c12 
+ 00023570  0x00005847 force  0x0000000a , 0x00000007 
+ 00023571  0x00005848 call  0x00007f07 
+ 00023572  0x00005849 jam  0x000000ff , 0x000044c5 
+ 00023573  0x0000584a jam  0x000000ff , 0x000044c4 
+ 00023574  0x0000584b jam  0x0000003e , 0x00000a99 
+ 00023575  0x0000584c branch  0x00007d86 
+ 00023576  0x00005851 bpatchx  0x00000079 , 0x0000402f 
+ 00023577  0x00005852 fetch  0x00000001 , 0x000044c6 
+ 00023578  0x00005853 rtnbit0  0x00000007 
+ 00023579  0x00005854 fetch  0x00000001 , 0x000044bf 
+ 00023580  0x00005855 rtnne  0x00000002 
+ 00023581  0x00005856 jam  0x00000000 , 0x000044bf 
+ 00023582  0x00005857 fetch  0x00000001 , 0x000044c1 
+ 00023583  0x00005858 beq  0x00000001 , 0x00005c58 
+ 00023584  0x00005859 beq  0x00000002 , 0x00005c5f 
+ 00023585  0x0000585a beq  0x00000003 , 0x00005c52 
+ 00023586  0x0000585b beq  0x00000006 , 0x00005c39 
+ 00023587  0x0000585c beq  0x00000007 , 0x00005c30 
+ 00023588  0x0000585d beq  0x00000008 , 0x00005c26 
+ 00023589  0x0000585e rtn 
+ 00023590  0x00005862 fetch  0x00000001 , 0x00004663 
+ 00023591  0x00005863 copy  0x0000003f , 0x00000007 
+ 00023592  0x00005864 increase  0x00000001 , 0x0000003f 
+ 00023593  0x00005865 store  0x00000001 , 0x00004663 
+ 00023594  0x00005866 fetch  0x00000004 , 0x000044c7 
+ 00023595  0x00005867 qisolate1  0x0000003f 
+ 00023596  0x00005868 setarg  0x00000080 
+ 00023597  0x00005869 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00023598  0x0000586a store  0x00000001 , 0x00004664 
+ 00023599  0x0000586b branch  0x00005c55 
+ 00023600  0x0000586e fetch  0x00000001 , 0x000044c2 
+ 00023601  0x0000586f jam  0x00000000 , 0x000044c2 
+ 00023602  0x00005870 beq  0x00000001 , 0x00005c35 
+ 00023603  0x00005871 jam  0x00000002 , 0x000044bf 
+ 00023604  0x00005872 rtn 
+ 00023605  0x00005875 jam  0x00000031 , 0x00000a99 
+ 00023606  0x00005876 call  0x00007d86 
+ 00023607  0x00005877 jam  0x00000005 , 0x000044c4 
+ 00023608  0x00005878 branch  0x00005bd5 
+ 00023609  0x0000587b fetch  0x00000001 , 0x000009b9 
+ 00023610  0x0000587c beq  0x00000003 , 0x00005c3d 
+ 00023611  0x0000587d jam  0x00000002 , 0x000044bf 
+ 00023612  0x0000587e rtn 
+ 00023613  0x00005881 call  0x0000718d 
+ 00023614  0x00005885 fetch  0x00000001 , 0x000044c6 
+ 00023615  0x00005886 beq  0x00000083 , 0x00005c41 
+ 00023616  0x00005887 call  0x00005b18 
+ 00023617  0x00005889 call  0x0000717a 
+ 00023618  0x0000588a arg  0x00000af2 , 0x00000011 
+ 00023619  0x0000588b arg  0x00000a6e , 0x00000012 
+ 00023620  0x0000588c arg  0x00000010 , 0x00000039 
+ 00023621  0x0000588d call  0x00007f88 
+ 00023622  0x0000588e branch  0x00005c49 , 0x00000005 
+ 00023623  0x00005890 jam  0x0000000b , 0x0000047b 
+ 00023624  0x00005891 branch  0x00005b54 
+ 00023625  0x00005895 call  0x00007595 
+ 00023626  0x00005896 nbranch  0x00005c47 , 0x00000005 
+ 00023627  0x00005897 jam  0x00000001 , 0x00004429 
+ 00023628  0x00005898 fetch  0x00000001 , 0x000044c6 
+ 00023629  0x00005899 beq  0x00000081 , 0x00005c35 
+ 00023630  0x0000589a beq  0x00000083 , 0x00005c35 
+ 00023631  0x0000589b jam  0x00000002 , 0x000044bf 
+ 00023632  0x0000589c jam  0x00000007 , 0x000044c1 
+ 00023633  0x0000589d rtn 
+ 00023634  0x000058a0 fetch  0x00000001 , 0x000044c6 
+ 00023635  0x000058a1 beq  0x00000083 , 0x00005c56 
+ 00023636  0x000058a2 jam  0x00000000 , 0x00004664 
+ 00023637  0x000058a4 branch  0x00005b3d 
+ 00023638  0x000058aa jam  0x00000000 , 0x00004663 
+ 00023639  0x000058ab branch  0x00005b1b 
+ 00023640  0x000058af jam  0x00000002 , 0x000044bf 
+ 00023641  0x000058b0 fetch  0x00000001 , 0x000044c3 
+ 00023642  0x000058b1 beq  0x00000003 , 0x00005c5c 
+ 00023643  0x000058b3 rtn 
+ 00023644  0x000058b6 jam  0x00000002 , 0x000044c1 
+ 00023645  0x000058b7 jam  0x00000000 , 0x000009b9 
+ 00023646  0x000058b8 branch  0x00007a99 
+ 00023647  0x000058bb jam  0x00000002 , 0x000044bf 
+ 00023648  0x000058bc jam  0x00000003 , 0x000044c1 
+ 00023649  0x000058bd branch  0x00005bcf 
+ 00023650  0x000058c2 force  0x00000006 , 0x00000012 
+ 00023651  0x000058c3 branch  0x00005847 
+ 00023652  0x000058c8 fetch  0x00000001 , 0x000002db 
+ 00023653  0x000058c9 beq  0x00000000 , 0x00005c7b 
+ 00023654  0x000058ca beq  0x00000001 , 0x00005c83 
+ 00023655  0x000058cb beq  0x00000002 , 0x00005c8e 
+ 00023656  0x000058cc beq  0x00000003 , 0x00005caa 
+ 00023657  0x000058cd beq  0x00000004 , 0x00005ce1 
+ 00023658  0x000058ce beq  0x00000005 , 0x00005ce6 
+ 00023659  0x000058cf beq  0x00000006 , 0x00005cea 
+ 00023660  0x000058d0 beq  0x00000007 , 0x00005cf5 
+ 00023661  0x000058d1 beq  0x00000008 , 0x00005c99 
+ 00023662  0x000058d2 beq  0x00000009 , 0x00005cf5 
+ 00023663  0x000058d3 beq  0x0000000a , 0x00005cef 
+ 00023664  0x000058d4 beq  0x0000000b , 0x00005cf5 
+ 00023665  0x000058d5 beq  0x0000000c , 0x00005c9f 
+ 00023666  0x000058d6 beq  0x0000000d , 0x00005cf5 
+ 00023667  0x000058d7 beq  0x00000012 , 0x00005ca6 
+ 00023668  0x000058d8 beq  0x00000013 , 0x00005cf5 
+ 00023669  0x000058d9 arg  0x00000002 , 0x00000011 
+ 00023670  0x000058da arg  0x00000007 , 0x00000012 
+ 00023671  0x000058db call  0x00005842 
+ 00023672  0x000058dc fetch  0x00000001 , 0x000002db 
+ 00023673  0x000058dd istore  0x00000001 , 0x00000005 
+ 00023674  0x000058de rtn 
+ 00023675  0x000058e2 ifetch  0x00000009 , 0x00000006 
+ 00023676  0x000058e3 store  0x00000009 , 0x000043d3 
+ 00023677  0x000058e4 ifetch  0x00000002 , 0x00000006 
+ 00023678  0x000058e5 store  0x00000002 , 0x0000045f 
+ 00023679  0x000058e6 fetch  0x00000001 , 0x0000043f 
+ 00023680  0x000058e7 set1  0x00000005 , 0x0000003f 
+ 00023681  0x000058e8 store  0x00000001 , 0x0000043f 
+ 00023682  0x000058e9 rtn 
+ 00023683  0x000058ec ifetch  0x00000005 , 0x00000006 
+ 00023684  0x000058ed store  0x00000005 , 0x000043ce 
+ 00023685  0x000058ee ifetch  0x00000002 , 0x00000006 
+ 00023686  0x000058ef store  0x00000002 , 0x0000045f 
+ 00023687  0x000058f0 fetcht  0x00000002 , 0x00000459 
+ 00023688  0x000058f1 isub  0x00000002 , 0x0000003e 
+ 00023689  0x000058f2 nbranch  0x00005c8e , 0x00000002 
+ 00023690  0x000058f3 fetch  0x00000001 , 0x0000043f 
+ 00023691  0x000058f4 set1  0x00000006 , 0x0000003f 
+ 00023692  0x000058f5 store  0x00000001 , 0x0000043f 
+ 00023693  0x000058f6 rtn 
+ 00023694  0x000058fa setarg  0x00000014 
+ 00023695  0x000058fb store  0x00000002 , 0x0000046d 
+ 00023696  0x000058fc store  0x00000002 , 0x000044ba 
+ 00023697  0x000058fd rtn 
+ 00023698  0x00005900 arg  0x00000013 , 0x00000013 
+ 00023699  0x00005904 arg  0x00000002 , 0x00000011 
+ 00023700  0x00005905 arg  0x00000002 , 0x00000012 
+ 00023701  0x00005906 call  0x00005842 
+ 00023702  0x00005907 copy  0x00000013 , 0x0000003f 
+ 00023703  0x00005908 istore  0x00000001 , 0x00000005 
+ 00023704  0x00005909 rtn 
+ 00023705  0x0000590e arg  0x00000009 , 0x00000011 
+ 00023706  0x0000590f arg  0x00000009 , 0x00000012 
+ 00023707  0x00005910 call  0x00005842 
+ 00023708  0x00005911 setarg  0x00000001 
+ 00023709  0x00005912 istore  0x00000008 , 0x00000005 
+ 00023710  0x00005913 rtn 
+ 00023711  0x00005917 rtn  0x00000029 
+ 00023712  0x00005919 arg  0x00000006 , 0x00000011 
+ 00023713  0x0000591a arg  0x0000000c , 0x00000012 
+ 00023714  0x0000591b call  0x00005842 
+ 00023715  0x0000591c fetch  0x00000005 , 0x00004510 
+ 00023716  0x0000591d istore  0x00000005 , 0x00000005 
+ 00023717  0x0000591e rtn 
+ 00023718  0x00005922 arg  0x00000013 , 0x00000012 
+ 00023719  0x00005923 branch  0x00005ca8 
+ 00023720  0x00005927 arg  0x00000001 , 0x00000011 
+ 00023721  0x00005928 branch  0x00005842 
+ 00023722  0x0000592c ifetch  0x00000008 , 0x00000006 
+ 00023723  0x0000592d store  0x00000008 , 0x000044cd 
+ 00023724  0x0000592e ifetch  0x00000002 , 0x00000006 
+ 00023725  0x0000592f store  0x00000002 , 0x000044cb 
+ 00023726  0x00005930 ifetch  0x00000008 , 0x00000006 
+ 00023727  0x00005931 store  0x00000008 , 0x000044aa 
+ 00023728  0x00005932 ifetch  0x00000004 , 0x00000006 
+ 00023729  0x00005933 store  0x00000004 , 0x00004411 
+ 00023730  0x00005934 call  0x00005ccf 
+ 00023731  0x00005935 bpatchx  0x0000007a , 0x0000402f 
+ 00023732  0x00005936 fetch  0x00000001 , 0x000044c4 
+ 00023733  0x00005937 beq  0x00000005 , 0x00005cbc 
+ 00023734  0x00005938 fetch  0x00000001 , 0x000044e9 
+ 00023735  0x00005939 bbit1  0x00000001 , 0x00005cbf 
+ 00023736  0x0000593a fetch  0x00000001 , 0x00004217 
+ 00023737  0x0000593b ncall  0x000067be , 0x00000034 
+ 00023738  0x0000593c fetch  0x00000001 , 0x00004429 
+ 00023739  0x0000593d beq  0x00000000 , 0x00005cc4 
+ 00023740  0x0000593f jam  0x00000001 , 0x000044c5 
+ 00023741  0x00005940 call  0x00005cdd 
+ 00023742  0x00005941 branch  0x000073a2 
+ 00023743  0x00005944 jam  0x00000001 , 0x00004429 
+ 00023744  0x00005945 arg  0x000044ea , 0x00000006 
+ 00023745  0x00005946 arg  0x00004419 , 0x00000005 
+ 00023746  0x00005947 call  0x00007ebf 
+ 00023747  0x00005948 branch  0x00005cbc 
+ 00023748  0x0000594c bpatchx  0x0000007b , 0x0000402f 
+ 00023749  0x0000594d jam  0x00000000 , 0x000044c5 
+ 00023750  0x0000594e jam  0x00000000 , 0x000044c4 
+ 00023751  0x0000594f jam  0x00000041 , 0x00000a99 
+ 00023752  0x00005950 branch  0x00007d86 
+ 00023753  0x00005953 arg  0x00000002 , 0x00000011 
+ 00023754  0x00005954 arg  0x0000000d , 0x00000012 
+ 00023755  0x00005955 call  0x00005842 
+ 00023756  0x00005956 setarg  0x00000006 
+ 00023757  0x00005957 istore  0x00000001 , 0x00000005 
+ 00023758  0x00005958 rtn 
+ 00023759  0x0000595b arg  0x000044b2 , 0x00000005 
+ 00023760  0x0000595c force  0x00000008 , 0x00000039 
+ 00023761  0x0000595d call  0x0000630d 
+ 00023762  0x0000595e arg  0x00004415 , 0x00000005 
+ 00023763  0x0000595f force  0x00000004 , 0x00000039 
+ 00023764  0x00005960 call  0x0000630d 
+ 00023765  0x00005961 arg  0x0000000d , 0x00000011 
+ 00023766  0x00005962 arg  0x00000004 , 0x00000012 
+ 00023767  0x00005963 call  0x00005842 
+ 00023768  0x00005964 fetch  0x00000008 , 0x000044b2 
+ 00023769  0x00005965 istore  0x00000008 , 0x00000005 
+ 00023770  0x00005966 fetch  0x00000004 , 0x00004415 
+ 00023771  0x00005967 istore  0x00000004 , 0x00000005 
+ 00023772  0x00005968 rtn 
+ 00023773  0x0000596b arg  0x00000005 , 0x00000012 
+ 00023774  0x0000596c branch  0x00005ca8 
+ 00023775  0x0000596f arg  0x00000006 , 0x00000012 
+ 00023776  0x00005970 branch  0x00005ca8 
+ 00023777  0x00005974 ifetch  0x00000008 , 0x00000006 
+ 00023778  0x00005975 store  0x00000008 , 0x000044b2 
+ 00023779  0x00005976 ifetch  0x00000004 , 0x00000006 
+ 00023780  0x00005977 store  0x00000004 , 0x00004415 
+ 00023781  0x00005978 branch  0x000073a2 
+ 00023782  0x0000597b fetch  0x00000001 , 0x0000043f 
+ 00023783  0x0000597c set1  0x00000004 , 0x0000003f 
+ 00023784  0x0000597d store  0x00000001 , 0x0000043f 
+ 00023785  0x0000597e rtn 
+ 00023786  0x00005981 rtn  0x00000029 
+ 00023787  0x00005982 jam  0x00000032 , 0x00000a99 
+ 00023788  0x00005983 call  0x00007d86 
+ 00023789  0x00005984 jam  0x00000004 , 0x000044c5 
+ 00023790  0x00005985 branch  0x00005cdf 
+ 00023791  0x00005988 jam  0x00000002 , 0x000044c5 
+ 00023792  0x00005989 call  0x00005cf3 
+ 00023793  0x0000598a jam  0x00000033 , 0x00000a99 
+ 00023794  0x0000598b branch  0x00007d86 
+ 00023795  0x0000598e arg  0x0000000b , 0x00000012 
+ 00023796  0x0000598f branch  0x00005ca8 
+ 00023797  0x00005997 rtn 
+ 00023798  0x0000599f rtn  0x0000002b 
+ 00023799  0x000059a1 bpatchx  0x0000007c , 0x0000402f 
+ 00023800  0x000059a2 setarg  0x00000000 
+ 00023801  0x000059a3 store  0x00000001 , 0x00000048 
+ 00023802  0x000059a4 store  0x00000001 , 0x00000055 
+ 00023803  0x000059a5 store  0x00000001 , 0x00000078 
+ 00023804  0x000059a6 store  0x00000001 , 0x0000007c 
+ 00023805  0x000059a7 store  0x00000001 , 0x00004158 
+ 00023806  0x000059a8 store  0x00000001 , 0x000004d7 
+ 00023807  0x000059a9 store  0x00000001 , 0x0000016d 
+ 00023808  0x000059aa store  0x00000001 , 0x000009b5 
+ 00023809  0x000059ab jam  0x00000000 , 0x0000455b 
+ 00023810  0x000059ac jam  0x00000000 , 0x00000229 
+ 00023811  0x000059ad jam  0x00000000 , 0x000004d8 
+ 00023812  0x000059af jam  0x00000000 , 0x000009b5 
+ 00023813  0x000059b0 jam  0x00000000 , 0x000009b4 
+ 00023814  0x000059b1 jam  0x00000000 , 0x000004d1 
+ 00023815  0x000059b4 rtn 
+ 00023816  0x000059b7 bpatchx  0x0000007d , 0x0000402f 
+ 00023817  0x000059b8 call  0x000062ff , 0x00000029 
+ 00023818  0x000059b9 ncall  0x00006303 , 0x00000029 
+ 00023819  0x000059ba call  0x000062bc 
+ 00023820  0x000059bb nrtn  0x00000034 
+ 00023821  0x000059bc fetch  0x00000001 , 0x0000004c 
+ 00023822  0x000059bd rtnbit0  0x00000006 
+ 00023823  0x000059be set0  0x00000006 , 0x0000003f 
+ 00023824  0x000059bf set0  0x00000001 , 0x00000000 
+ 00023825  0x000059c0 store  0x00000001 , 0x0000004c 
+ 00023826  0x000059c1 fetch  0x00000001 , 0x00000551 
+ 00023827  0x000059c2 fetcht  0x00000001 , 0x0000004c 
+ 00023828  0x000059c3 isolate1  0x00000000 , 0x0000003f 
+ 00023829  0x000059c4 setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00023830  0x000059c5 storet  0x00000001 , 0x0000004c 
+ 00023831  0x000059c6 and_into  0x00000002 , 0x00000002 
+ 00023832  0x000059c7 storet  0x00000001 , 0x0000007f 
+ 00023833  0x000059c8 fetcht  0x00000001 , 0x0000004c 
+ 00023834  0x000059c9 rshift  0x0000003f , 0x0000003f 
+ 00023835  0x000059ca store  0x00000001 , 0x0000007d 
+ 00023836  0x000059cb bpatchx  0x0000007e , 0x0000402f 
+ 00023837  0x000059cc fetch  0x00000001 , 0x0000007d 
+ 00023838  0x000059cd beq  0x0000007f , 0x00005d66 
+ 00023839  0x000059ce beq  0x00000003 , 0x00005db1 
+ 00023840  0x000059cf beq  0x00000004 , 0x00005dc2 
+ 00023841  0x000059d0 beq  0x0000003c , 0x00005d59 
+ 00023842  0x000059d1 beq  0x00000005 , 0x00005d55 
+ 00023843  0x000059d2 beq  0x0000000f , 0x00005fa8 
+ 00023844  0x000059d3 beq  0x00000010 , 0x00005e24 
+ 00023845  0x000059d4 beq  0x00000023 , 0x00005e42 
+ 00023846  0x000059d5 beq  0x00000039 , 0x00005fc1 
+ 00023847  0x000059d6 beq  0x00000038 , 0x00005fbc 
+ 00023848  0x000059d7 beq  0x00000031 , 0x00005e27 
+ 00023849  0x000059d8 beq  0x00000037 , 0x00005eb0 
+ 00023850  0x000059d9 beq  0x00000027 , 0x00005eac 
+ 00023851  0x000059da beq  0x00000033 , 0x00005ea9 
+ 00023852  0x000059db beq  0x00000025 , 0x00005eae 
+ 00023853  0x000059dc beq  0x00000026 , 0x00005e3e 
+ 00023854  0x000059dd beq  0x00000007 , 0x00005e36 
+ 00023855  0x000059de beq  0x0000002d , 0x00005e2d 
+ 00023856  0x000059df beq  0x0000002e , 0x00005e2e 
+ 00023857  0x000059e0 beq  0x00000001 , 0x00005ea5 
+ 00023858  0x000059e1 beq  0x00000002 , 0x00005e90 
+ 00023859  0x000059e2 beq  0x00000028 , 0x00005fb3 
+ 00023860  0x000059e3 beq  0x00000009 , 0x00005e86 
+ 00023861  0x000059e4 beq  0x0000000b , 0x00005e5f 
+ 00023862  0x000059e5 beq  0x00000008 , 0x00005e43 
+ 00023863  0x000059e6 beq  0x0000000c , 0x00005e6a 
+ 00023864  0x000059e7 beq  0x0000001f , 0x00005e3a 
+ 00023865  0x000059e8 beq  0x00000020 , 0x00005e3c 
+ 00023866  0x000059e9 beq  0x00000021 , 0x00005eca 
+ 00023867  0x000059ea beq  0x00000022 , 0x00005eca 
+ 00023868  0x000059eb beq  0x00000035 , 0x00005ecb 
+ 00023869  0x000059ec beq  0x00000036 , 0x00005ecc 
+ 00023870  0x000059ed beq  0x00000024 , 0x00005eca 
+ 00023871  0x000059ee beq  0x00000034 , 0x00005ecd 
+ 00023872  0x000059ef beq  0x00000017 , 0x00005ed6 
+ 00023873  0x000059f0 beq  0x00000011 , 0x00005ef2 
+ 00023874  0x000059f1 beq  0x00000012 , 0x00005ef6 
+ 00023875  0x000059f2 beq  0x00000013 , 0x00005ef8 
+ 00023876  0x000059f3 beq  0x0000000d , 0x00005f0a 
+ 00023877  0x000059f4 beq  0x0000000e , 0x00005f0a 
+ 00023878  0x000059f5 beq  0x0000002f , 0x00005eaa 
+ 00023879  0x000059f6 beq  0x00000030 , 0x00005f0a 
+ 00023880  0x000059f7 beq  0x0000000a , 0x00005f0a 
+ 00023881  0x000059f8 beq  0x00000018 , 0x00005f0b 
+ 00023882  0x000059f9 beq  0x00000032 , 0x00005f0a 
+ 00023883  0x000059fa beq  0x0000003d , 0x00005f10 
+ 00023884  0x000059fb beq  0x0000003e , 0x00005f51 
+ 00023885  0x000059fc beq  0x0000003f , 0x00005f4b 
+ 00023886  0x000059fd beq  0x00000040 , 0x00005f78 
+ 00023887  0x000059fe beq  0x00000041 , 0x00005f8a 
+ 00023888  0x000059ff beq  0x00000006 , 0x00005fa7 
+ 00023889  0x00005a00 beq  0x0000003a , 0x00005d57 
+ 00023890  0x00005a04 jam  0x00000019 , 0x0000007e 
+ 00023891  0x00005a06 jam  0x00000004 , 0x0000007c 
+ 00023892  0x00005a07 rtn 
+ 00023893  0x00005a0a jam  0x00000006 , 0x0000007c 
+ 00023894  0x00005a0b rtn 
+ 00023895  0x00005a0e jam  0x0000003b , 0x0000007c 
+ 00023896  0x00005a0f rtn 
+ 00023897  0x00005a12 fetch  0x00000004 , 0x00000552 
+ 00023898  0x00005a13 lshift  0x0000003f , 0x0000003f 
+ 00023899  0x00005a14 store  0x00000004 , 0x000040d2 
+ 00023900  0x00005a15 fetch  0x00000001 , 0x00000556 
+ 00023901  0x00005a16 store  0x00000001 , 0x000040d9 
+ 00023902  0x00005a17 fetch  0x00000005 , 0x00000557 
+ 00023903  0x00005a18 store  0x00000005 , 0x000040e7 
+ 00023904  0x00005a19 fetch  0x00000005 , 0x0000055c 
+ 00023905  0x00005a1a istore  0x00000005 , 0x00000005 
+ 00023906  0x00005a1b fetch  0x00000001 , 0x00000031 
+ 00023907  0x00005a1c set1  0x00000003 , 0x0000003f 
+ 00023908  0x00005a1d store  0x00000001 , 0x00000031 
+ 00023909  0x00005a1e rtn 
+ 00023910  0x00005a20 bpatchx  0x0000007f , 0x0000402f 
+ 00023911  0x00005a21 fetch  0x00000001 , 0x00000552 
+ 00023912  0x00005a22 set1  0x00000007 , 0x0000003f 
+ 00023913  0x00005a23 store  0x00000001 , 0x0000007d 
+ 00023914  0x00005a24 beq  0x00000081 , 0x00005d88 
+ 00023915  0x00005a25 beq  0x00000082 , 0x00005d8d 
+ 00023916  0x00005a26 beq  0x00000095 , 0x00005eb1 
+ 00023917  0x00005a27 beq  0x00000096 , 0x00005eca 
+ 00023918  0x00005a28 beq  0x0000008b , 0x00005ebf 
+ 00023919  0x00005a29 beq  0x00000083 , 0x00005da5 
+ 00023920  0x00005a2a beq  0x00000084 , 0x00005da7 
+ 00023921  0x00005a2b beq  0x00000090 , 0x00005d7a 
+ 00023922  0x00005a2c beq  0x00000097 , 0x00005d9e 
+ 00023923  0x00005a2d beq  0x00000098 , 0x00005da3 
+ 00023924  0x00005a2e beq  0x00000099 , 0x00005d7d 
+ 00023925  0x00005a2f beq  0x0000009a , 0x00005d80 
+ 00023926  0x00005a30 rtneq  0x00000084 
+ 00023927  0x00005a34 jam  0x00000082 , 0x0000007c 
+ 00023928  0x00005a35 jam  0x00000019 , 0x0000007e 
+ 00023929  0x00005a37 rtn 
+ 00023930  0x00005a39 jam  0x00000082 , 0x0000007c 
+ 00023931  0x00005a3a jam  0x0000002e , 0x0000007e 
+ 00023932  0x00005a3b rtn 
+ 00023933  0x00005a3e call  0x00005d82 
+ 00023934  0x00005a3f jam  0x0000009a , 0x0000007c 
+ 00023935  0x00005a40 rtn 
+ 00023936  0x00005a43 call  0x00005d82 
+ 00023937  0x00005a44 branch  0x00005d86 
+ 00023938  0x00005a47 arg  0x0000465e , 0x00000005 
+ 00023939  0x00005a48 fetch  0x00000003 , 0x00000553 
+ 00023940  0x00005a49 istore  0x00000003 , 0x00000005 
+ 00023941  0x00005a4a rtn 
+ 00023942  0x00005a4d branch  0x000076d8 , 0x00000001 
+ 00023943  0x00005a4e rtn 
+ 00023944  0x00005a50 fetch  0x00000001 , 0x00000554 
+ 00023945  0x00005a51 set1  0x00000007 , 0x0000003f 
+ 00023946  0x00005a52 store  0x00000001 , 0x000004c9 
+ 00023947  0x00005a53 beq  0x0000008b , 0x00005d92 
+ 00023948  0x00005a54 rtn 
+ 00023949  0x00005a58 fetch  0x00000001 , 0x00000554 
+ 00023950  0x00005a59 set1  0x00000007 , 0x0000003f 
+ 00023951  0x00005a5a store  0x00000001 , 0x000004c9 
+ 00023952  0x00005a5b beq  0x0000008b , 0x00005d96 
+ 00023953  0x00005a5c rtn 
+ 00023954  0x00005a5f fetch  0x00000001 , 0x0000415a 
+ 00023955  0x00005a60 fetcht  0x00000001 , 0x0000004c 
+ 00023956  0x00005a61 nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00023957  0x00005a62 storet  0x00000001 , 0x0000004c 
+ 00023958  0x00005a64 fetch  0x00000001 , 0x00000030 
+ 00023959  0x00005a65 rtnbit0  0x00000005 
+ 00023960  0x00005a66 set0  0x00000005 , 0x0000003f 
+ 00023961  0x00005a67 store  0x00000001 , 0x00000030 
+ 00023962  0x00005a68 fetch  0x00000001 , 0x000004d7 
+ 00023963  0x00005a69 nrtn  0x00000034 
+ 00023964  0x00005a6a jam  0x00000031 , 0x0000007c 
+ 00023965  0x00005a6b rtn 
+ 00023966  0x00005a6e nbranch  0x00005da1 , 0x00000029 
+ 00023967  0x00005a6f jam  0x00000012 , 0x0000007c 
+ 00023968  0x00005a70 branch  0x000062eb 
+ 00023969  0x00005a73 jam  0x00000097 , 0x0000007c 
+ 00023970  0x00005a74 rtn 
+ 00023971  0x00005a79 call  0x000062eb 
+ 00023972  0x00005a7a branch  0x00005ffe 
+ 00023973  0x00005a7d jam  0x00000084 , 0x0000007c 
+ 00023974  0x00005a7e rtn 
+ 00023975  0x00005a81 fetcht  0x00000001 , 0x00000555 
+ 00023976  0x00005a82 and  0x00000002 , 0x00000001 , 0x00000002 
+ 00023977  0x00005a83 storet  0x00000001 , 0x000004d0 
+ 00023978  0x00005a84 fetch  0x00000001 , 0x000041ce 
+ 00023979  0x00005a85 bne  0x00000051 , 0x00005dad 
+ 00023980  0x00005a86 jam  0x00000000 , 0x000041ce 
+ 00023981  0x00005a88 fetch  0x00000001 , 0x00000055 
+ 00023982  0x00005a89 rtnne  0x00000015 
+ 00023983  0x00005a8a jam  0x00000004 , 0x00000055 
+ 00023984  0x00005a8b branch  0x0000631b 
+ 00023985  0x00005a8e bpatchx  0x00000080 , 0x00004030 
+ 00023986  0x00005a8f fetch  0x00000001 , 0x00000552 
+ 00023987  0x00005a90 store  0x00000001 , 0x000004c9 
+ 00023988  0x00005a91 beq  0x00000033 , 0x00005dd8 
+ 00023989  0x00005a92 beq  0x00000008 , 0x00005de7 
+ 00023990  0x00005a93 beq  0x0000000f , 0x00005dee 
+ 00023991  0x00005a94 beq  0x00000010 , 0x00005df4 
+ 00023992  0x00005a95 beq  0x00000011 , 0x00005df5 
+ 00023993  0x00005a96 beq  0x00000012 , 0x00005dfd 
+ 00023994  0x00005a97 beq  0x00000018 , 0x00005e13 
+ 00023995  0x00005a98 beq  0x00000017 , 0x00005e16 
+ 00023996  0x00005a99 beq  0x00000013 , 0x00005dcf 
+ 00023997  0x00005a9b beq  0x0000003d , 0x00005f1e 
+ 00023998  0x00005a9c beq  0x0000003e , 0x00005f6a 
+ 00023999  0x00005a9d beq  0x00000040 , 0x00005f20 
+ 00024000  0x00005a9e beq  0x00000041 , 0x00005f3d 
+ 00024001  0x00005a9f rtn 
+ 00024002  0x00005aa2 bpatchx  0x00000081 , 0x00004030 
+ 00024003  0x00005aa3 fetch  0x00000001 , 0x00000552 
+ 00024004  0x00005aa4 store  0x00000001 , 0x000004c9 
+ 00024005  0x00005aa5 beq  0x00000001 , 0x00005e0a 
+ 00024006  0x00005aa6 beq  0x00000033 , 0x00005de2 
+ 00024007  0x00005aa7 beq  0x0000000b , 0x00005dfe 
+ 00024008  0x00005aa8 beq  0x00000008 , 0x00005e01 
+ 00024009  0x00005aa9 beq  0x00000013 , 0x00005dd2 
+ 00024010  0x00005aab beq  0x00000040 , 0x00005e0b 
+ 00024011  0x00005aac beq  0x00000041 , 0x00005e0e 
+ 00024012  0x00005aad beq  0x00000018 , 0x00005e11 
+ 00024013  0x00005aae beq  0x00000017 , 0x00005e22 
+ 00024014  0x00005aaf rtn 
+ 00024015  0x00005ab2 jam  0x00000020 , 0x00000a99 
+ 00024016  0x00005ab3 call  0x00007d86 
+ 00024017  0x00005ab4 branch  0x000021dc 
+ 00024018  0x00005ab6 jam  0x00000019 , 0x00000a99 
+ 00024019  0x00005ab7 call  0x00007d86 
+ 00024020  0x00005ab8 jam  0x00000002 , 0x0000455b 
+ 00024021  0x00005ab9 setarg  0x00000050 
+ 00024022  0x00005aba arg  0x00000006 , 0x00000007 
+ 00024023  0x00005abb branch  0x00007f08 
+ 00024024  0x00005ac1 fetch  0x00000001 , 0x000004d1 
+ 00024025  0x00005ac2 set1  0x00000000 , 0x0000003f 
+ 00024026  0x00005ac3 store  0x00000001 , 0x000004d1 
+ 00024027  0x00005ac4 jam  0x00000001 , 0x00000a99 
+ 00024028  0x00005ac5 call  0x00007d86 
+ 00024029  0x00005ac6 jam  0x0000008b , 0x0000007c 
+ 00024030  0x00005aca fetch  0x00000001 , 0x00000055 
+ 00024031  0x00005acb bne  0x00000005 , 0x00005d07 
+ 00024032  0x00005ace jam  0x00000006 , 0x00000055 
+ 00024033  0x00005acf rtn 
+ 00024034  0x00005ad8 jam  0x0000000b , 0x000004ca 
+ 00024035  0x00005ad9 jam  0x00000007 , 0x0000007c 
+ 00024036  0x00005adb jam  0x00000000 , 0x00000055 
+ 00024037  0x00005add branch  0x00005d07 , 0x00000001 
+ 00024038  0x00005ade rtn 
+ 00024039  0x00005ae1 fetch  0x00000001 , 0x000041bd 
+ 00024040  0x00005ae2 nrtn  0x00000034 
+ 00024041  0x00005ae3 call  0x0000244f 
+ 00024042  0x00005ae4 call  0x00005ffc 
+ 00024043  0x00005ae5 rtn  0x00000029 
+ 00024044  0x00005ae6 set1  0x00000021 , 0x00000000 
+ 00024045  0x00005ae7 rtn 
+ 00024046  0x00005aea nrtn  0x00000029 
+ 00024047  0x00005aeb jam  0x00000010 , 0x0000007c 
+ 00024048  0x00005aec fetch  0x00000001 , 0x0000004c 
+ 00024049  0x00005aed rtnbit0  0x00000002 
+ 00024050  0x00005aee jam  0x00000012 , 0x0000007c 
+ 00024051  0x00005aef rtn 
+ 00024052  0x00005af2 branch  0x00005ffe 
+ 00024053  0x00005af5 call  0x00006059 
+ 00024054  0x00005af6 fetch  0x00000001 , 0x00000030 
+ 00024055  0x00005af7 rtnbit1  0x00000004 
+ 00024056  0x00005af8 jam  0x00000031 , 0x0000007c 
+ 00024057  0x00005af9 fetch  0x00000001 , 0x00000055 
+ 00024058  0x00005afa rtnne  0x0000000a 
+ 00024059  0x00005afb jam  0x0000000b , 0x00000055 
+ 00024060  0x00005afc rtn 
+ 00024061  0x00005b06 rtn 
+ 00024062  0x00005b0a jam  0x00000007 , 0x0000007c 
+ 00024063  0x00005b0b jam  0x00000013 , 0x000004ca 
+ 00024064  0x00005b0c rtn 
+ 00024065  0x00005b0f fetch  0x00000001 , 0x00000553 
+ 00024066  0x00005b10 beq  0x00000006 , 0x00005e07 
+ 00024067  0x00005b11 rtnne  0x00000018 
+ 00024068  0x00005b12 jam  0x00000018 , 0x000004ca 
+ 00024069  0x00005b13 jam  0x00000007 , 0x0000007c 
+ 00024070  0x00005b14 rtn 
+ 00024071  0x00005b16 jam  0x00000006 , 0x000004ca 
+ 00024072  0x00005b17 jam  0x00000007 , 0x0000007c 
+ 00024073  0x00005b18 rtn 
+ 00024074  0x00005b1b rtn 
+ 00024075  0x00005b1e jam  0x00000000 , 0x000009ae 
+ 00024076  0x00005b1f jam  0x00000007 , 0x0000007c 
+ 00024077  0x00005b20 branch  0x00005d07 
+ 00024078  0x00005b23 jam  0x00000000 , 0x000009ae 
+ 00024079  0x00005b24 jam  0x00000007 , 0x0000007c 
+ 00024080  0x00005b25 branch  0x00005d07 
+ 00024081  0x00005b27 jam  0x00000024 , 0x00000a99 
+ 00024082  0x00005b28 branch  0x00007d86 
+ 00024083  0x00005b2b jam  0x00000023 , 0x00000a99 
+ 00024084  0x00005b2c call  0x00007d86 
+ 00024085  0x00005b2d branch  0x000026e9 
+ 00024086  0x00005b30 jam  0x00000022 , 0x00000a99 
+ 00024087  0x00005b31 call  0x00007d86 
+ 00024088  0x00005b32 setarg  0x00000000 
+ 00024089  0x00005b33 store  0x00000002 , 0x00000075 
+ 00024090  0x00005b34 fetch  0x00000002 , 0x000041e3 
+ 00024091  0x00005b35 lshift  0x0000003f , 0x0000003f 
+ 00024092  0x00005b36 store  0x00000002 , 0x00000032 
+ 00024093  0x00005b37 fetch  0x00000001 , 0x000041e5 
+ 00024094  0x00005b38 store  0x00000001 , 0x00000073 
+ 00024095  0x00005b39 fetch  0x00000001 , 0x000041e7 
+ 00024096  0x00005b3a store  0x00000001 , 0x00000074 
+ 00024097  0x00005b3b branch  0x000026c6 
+ 00024098  0x00005b3e jam  0x00000021 , 0x00000a99 
+ 00024099  0x00005b3f branch  0x00007d86 
+ 00024100  0x00005b42 fetcht  0x00000001 , 0x00000552 
+ 00024101  0x00005b43 storet  0x00000001 , 0x00000054 
+ 00024102  0x00005b44 branch  0x00005e38 
+ 00024103  0x00005b47 fetch  0x00000001 , 0x000004d1 
+ 00024104  0x00005b48 set1  0x00000002 , 0x0000003f 
+ 00024105  0x00005b49 store  0x00000001 , 0x000004d1 
+ 00024106  0x00005b4a rtnbit1  0x00000003 
+ 00024107  0x00005b4b jam  0x00000031 , 0x0000007c 
+ 00024108  0x00005b4c branch  0x00005d07 
+ 00024109  0x00005b51 rtn 
+ 00024110  0x00005b54 fetch  0x00000001 , 0x000040d0 
+ 00024111  0x00005b55 fetcht  0x00000001 , 0x00000552 
+ 00024112  0x00005b56 isub  0x00000002 , 0x0000003e 
+ 00024113  0x00005b58 branch  0x00005e38 , 0x00000002 
+ 00024114  0x00005b59 jam  0x00000004 , 0x0000007c 
+ 00024115  0x00005b5a jam  0x0000001f , 0x0000007e 
+ 00024116  0x00005b5b jam  0x0000002e , 0x0000007d 
+ 00024117  0x00005b5c rtn 
+ 00024118  0x00005b5f call  0x00006157 
+ 00024119  0x00005b60 branch  0x00005e38 
+ 00024120  0x00005b63 jam  0x00000003 , 0x0000007c 
+ 00024121  0x00005b64 rtn 
+ 00024122  0x00005b67 jam  0x00000021 , 0x0000007c 
+ 00024123  0x00005b68 rtn 
+ 00024124  0x00005b6b jam  0x00000022 , 0x0000007c 
+ 00024125  0x00005b6c rtn 
+ 00024126  0x00005b6f fetch  0x00000001 , 0x00000055 
+ 00024127  0x00005b70 rtneq  0x00000013 
+ 00024128  0x00005b72 jam  0x00000002 , 0x00000055 
+ 00024129  0x00005b74 rtn 
+ 00024130  0x00005b78 rtn 
+ 00024131  0x00005b7b call  0x00005ff9 
+ 00024132  0x00005b7c jam  0x00000001 , 0x000004d4 
+ 00024133  0x00005b7d jam  0x0000000a , 0x00000a99 
+ 00024134  0x00005b7e call  0x00007d86 
+ 00024135  0x00005b80 call  0x000062f3 
+ 00024136  0x00005b81 nbranch  0x00006001 , 0x00000001 
+ 00024137  0x00005b83 nbranch  0x00005e4e , 0x00000029 
+ 00024138  0x00005b84 jam  0x00000004 , 0x0000007c 
+ 00024139  0x00005b85 jam  0x00000008 , 0x0000007d 
+ 00024140  0x00005b86 jam  0x00000023 , 0x0000007e 
+ 00024141  0x00005b87 rtn 
+ 00024142  0x00005b89 fetch  0x00000001 , 0x0000004b 
+ 00024143  0x00005b8a set1  0x00000002 , 0x0000003f 
+ 00024144  0x00005b8b store  0x00000001 , 0x0000004b 
+ 00024145  0x00005b8c rtn 
+ 00024146  0x00005b90 fetcht  0x00000001 , 0x0000004c 
+ 00024147  0x00005b91 nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00024148  0x00005b92 storet  0x00000001 , 0x0000004c 
+ 00024149  0x00005b93 rtn 
+ 00024150  0x00005b97 fetch  0x00000001 , 0x0000007f 
+ 00024151  0x00005b98 rshift  0x0000003f , 0x0000003f 
+ 00024152  0x00005b99 and_into  0x00000001 , 0x0000003f 
+ 00024153  0x00005b9a rtn 
+ 00024154  0x00005b9d fetch  0x00000001 , 0x00004217 
+ 00024155  0x00005b9e rtn  0x00000034 
+ 00024156  0x00005b9f fetch  0x00000001 , 0x000009b5 
+ 00024157  0x00005ba0 call  0x000067b2 , 0x00000034 
+ 00024158  0x00005ba1 rtn 
+ 00024159  0x00005ba4 call  0x00005e5a 
+ 00024160  0x00005ba5 call  0x00005e56 
+ 00024161  0x00005ba6 store  0x00000001 , 0x000004d5 
+ 00024162  0x00005ba7 call  0x00005ff9 
+ 00024163  0x00005ba8 jam  0x0000000c , 0x0000007c 
+ 00024164  0x00005ba9 fetch  0x00000001 , 0x000041bd 
+ 00024165  0x00005baa nrtn  0x00000034 
+ 00024166  0x00005bab fetch  0x00000001 , 0x00000030 
+ 00024167  0x00005bac rtnbit1  0x00000006 
+ 00024168  0x00005bad jam  0x00000006 , 0x0000007e 
+ 00024169  0x00005bae branch  0x00005d53 
+ 00024170  0x00005bb1 arg  0x00000040 , 0x00000011 
+ 00024171  0x00005bb2 call  0x00007288 
+ 00024172  0x00005bb3 fetch  0x00000004 , 0x00000552 
+ 00024173  0x00005bb4 fetcht  0x00000004 , 0x00000592 
+ 00024174  0x00005bb5 isub  0x00000002 , 0x0000003e 
+ 00024175  0x00005bb6 branch  0x00005e73 , 0x00000005 
+ 00024176  0x00005bb7 jam  0x00000007 , 0x0000007c 
+ 00024177  0x00005bb8 jam  0x00000005 , 0x000004ca 
+ 00024178  0x00005bb9 rtn 
+ 00024179  0x00005bbb call  0x00005e77 
+ 00024180  0x00005bbc fetch  0x00000001 , 0x0000465a 
+ 00024181  0x00005bbd branch  0x00005f3e , 0x00000034 
+ 00024182  0x00005bbe rtn 
+ 00024183  0x00005bc2 call  0x00007386 
+ 00024184  0x00005bc3 call  0x000021b2 
+ 00024185  0x00005bc4 fetch  0x00000001 , 0x0000004b 
+ 00024186  0x00005bc5 isolate1  0x00000001 , 0x0000003f 
+ 00024187  0x00005bc6 set0  0x00000001 , 0x0000003f 
+ 00024188  0x00005bc7 store  0x00000001 , 0x0000004b 
+ 00024189  0x00005bc8 fetch  0x00000001 , 0x00000055 
+ 00024190  0x00005bc9 beq  0x00000019 , 0x00005e81 
+ 00024191  0x00005bca beq  0x00000018 , 0x00005e81 
+ 00024192  0x00005bcb rtn 
+ 00024193  0x00005bcd fetch  0x00000001 , 0x000009b5 
+ 00024194  0x00005bce rtnne  0x00000000 
+ 00024195  0x00005bcf fetch  0x00000001 , 0x0000004c 
+ 00024196  0x00005bd0 rtnbit1  0x00000002 
+ 00024197  0x00005bd1 branch  0x000063b1 
+ 00024198  0x00005bd4 arg  0x00000552 , 0x00000011 
+ 00024199  0x00005bd5 arg  0x00000582 , 0x00000012 
+ 00024200  0x00005bd6 arg  0x00000562 , 0x00000005 
+ 00024201  0x00005bd7 call  0x00007352 
+ 00024202  0x00005bd8 arg  0x00000040 , 0x00000011 
+ 00024203  0x00005bd9 call  0x00006311 
+ 00024204  0x00005bda jam  0x0000000b , 0x0000007c 
+ 00024205  0x00005bdb fetch  0x00000001 , 0x00000030 
+ 00024206  0x00005bdc bbit0  0x00000006 , 0x00005ffc 
+ 00024207  0x00005bdd rtn 
+ 00024208  0x00005be0 fetch  0x00000002 , 0x0000015f 
+ 00024209  0x00005be1 add  0x0000003f , 0xfffffffd , 0x00000039 
+ 00024210  0x00005be2 fetcht  0x00000001 , 0x00000552 
+ 00024211  0x00005be3 setarg  0x00000101 
+ 00024212  0x00005be4 iadd  0x00000002 , 0x00000005 
+ 00024213  0x00005be5 arg  0x00000554 , 0x00000006 
+ 00024214  0x00005be6 call  0x00007f01 
+ 00024215  0x00005be7 fetcht  0x00000001 , 0x00000053 
+ 00024216  0x00005be8 fetch  0x00000001 , 0x00000553 
+ 00024217  0x00005be9 isub  0x00000002 , 0x0000003f 
+ 00024218  0x00005bea sub  0x0000003f , 0x0000000e , 0x0000003e 
+ 00024219  0x00005beb branch  0x00005ea0 , 0x00000002 
+ 00024220  0x00005bec add  0x00000002 , 0x0000000e , 0x0000003f 
+ 00024221  0x00005bed store  0x00000001 , 0x00000053 
+ 00024222  0x00005bee jam  0x00000001 , 0x0000007c 
+ 00024223  0x00005bef rtn 
+ 00024224  0x00005bf1 fetch  0x00000001 , 0x0000004c 
+ 00024225  0x00005bf2 set1  0x00000003 , 0x0000003f 
+ 00024226  0x00005bf3 store  0x00000001 , 0x0000004c 
+ 00024227  0x00005bf4 bbit1  0x00000004 , 0x00006006 
+ 00024228  0x00005bf5 rtn 
+ 00024229  0x00005bf7 fetch  0x00000001 , 0x00000552 
+ 00024230  0x00005bf8 store  0x00000001 , 0x0000007d 
+ 00024231  0x00005bf9 jam  0x00000002 , 0x0000007c 
+ 00024232  0x00005bfa rtn 
+ 00024233  0x00005bfd branch  0x00005e38 
+ 00024234  0x00005c00 jam  0x00000030 , 0x0000007c 
+ 00024235  0x00005c01 rtn 
+ 00024236  0x00005c04 jam  0x00000028 , 0x0000007c 
+ 00024237  0x00005c05 rtn 
+ 00024238  0x00005c08 jam  0x00000026 , 0x0000007c 
+ 00024239  0x00005c09 rtn 
+ 00024240  0x00005c0e rtn 
+ 00024241  0x00005c13 fetch  0x00000002 , 0x00000032 
+ 00024242  0x00005c14 iforce  0x00000002 
+ 00024243  0x00005c15 fetch  0x00000001 , 0x00000553 
+ 00024244  0x00005c16 store  0x00000001 , 0x00000095 
+ 00024245  0x00005c17 imul32  0x00000002 , 0x00000002 
+ 00024246  0x00005c18 fetch  0x00000002 , 0x00000554 
+ 00024247  0x00005c19 lshift  0x0000003f , 0x0000003f 
+ 00024248  0x00005c1a store  0x00000002 , 0x00000096 
+ 00024249  0x00005c1b fetch  0x00000004 , 0x00000556 
+ 00024250  0x00005c1c lshift  0x0000003f , 0x0000003f 
+ 00024251  0x00005c1d store  0x00000004 , 0x00000091 
+ 00024252  0x00005c1f deposit  0x00000002 
+ 00024253  0x00005c20 store  0x00000002 , 0x00000098 
+ 00024254  0x00005c21 rtn 
+ 00024255  0x00005c23 fetcht  0x00000001 , 0x0000415a 
+ 00024256  0x00005c24 fetch  0x00000001 , 0x00000553 
+ 00024257  0x00005c25 ixor  0x00000002 , 0x0000003e 
+ 00024258  0x00005c26 nbranch  0x00005d77 , 0x00000005 
+ 00024259  0x00005c27 isolate1  0x00000000 , 0x0000003f 
+ 00024260  0x00005c28 fetch  0x00000001 , 0x0000004c 
+ 00024261  0x00005c29 setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00024262  0x00005c2a store  0x00000001 , 0x0000004c 
+ 00024263  0x00005c2b jam  0x00000081 , 0x0000007c 
+ 00024264  0x00005c2c jam  0x0000008b , 0x0000007d 
+ 00024265  0x00005c2d rtn 
+ 00024266  0x00005c34 rtn 
+ 00024267  0x00005c37 branch  0x00005e38 
+ 00024268  0x00005c3b branch  0x00005e38 
+ 00024269  0x00005c40 fetch  0x00000002 , 0x00000552 
+ 00024270  0x00005c41 store  0x00000002 , 0x00000171 
+ 00024271  0x00005c42 rtn 
+ 00024272  0x00005c45 fetch  0x00000002 , 0x00000555 
+ 00024273  0x00005c46 fetcht  0x00000001 , 0x00004172 
+ 00024274  0x00005c47 imul32  0x00000002 , 0x0000003f 
+ 00024275  0x00005c48 arg  0x00000640 , 0x00000002 
+ 00024276  0x00005c49 isub  0x00000002 , 0x0000003e 
+ 00024277  0x00005c4b rtn 
+ 00024278  0x00005c4e fetch  0x00000002 , 0x00000557 
+ 00024279  0x00005c4f branch  0x00005ef0 , 0x00000034 
+ 00024280  0x00005c50 call  0x00005ed0 
+ 00024281  0x00005c51 branch  0x00005ef0 , 0x00000002 
+ 00024282  0x00005c52 fetch  0x00000001 , 0x00004092 
+ 00024283  0x00005c53 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00024284  0x00005c54 call  0x00003cd5 , 0x00000005 
+ 00024285  0x00005c55 fetch  0x00000001 , 0x00000030 
+ 00024286  0x00005c56 bbit1  0x00000001 , 0x00005ef0 
+ 00024287  0x00005c57 fetch  0x00000002 , 0x00000553 
+ 00024288  0x00005c58 lshift  0x0000003f , 0x0000003f 
+ 00024289  0x00005c59 store  0x00000002 , 0x00000075 
+ 00024290  0x00005c5a fetch  0x00000002 , 0x00000555 
+ 00024291  0x00005c5b lshift  0x0000003f , 0x0000003f 
+ 00024292  0x00005c5c store  0x00000002 , 0x00000032 
+ 00024293  0x00005c5d fetch  0x00000002 , 0x00000557 
+ 00024294  0x00005c5e store  0x00000001 , 0x00000073 
+ 00024295  0x00005c5f iforce  0x00000002 
+ 00024296  0x00005c60 fetch  0x00000002 , 0x00000559 
+ 00024297  0x00005c61 store  0x00000001 , 0x00000074 
+ 00024298  0x00005c62 isub  0x00000002 , 0x0000003e 
+ 00024299  0x00005c63 nbranch  0x00005eed , 0x00000002 
+ 00024300  0x00005c64 store  0x00000001 , 0x00000073 
+ 00024301  0x00005c67 jam  0x00000003 , 0x0000007c 
+ 00024302  0x00005c68 jam  0x00000017 , 0x0000007d 
+ 00024303  0x00005c69 rtn 
+ 00024304  0x00005c6c jam  0x00000024 , 0x0000007e 
+ 00024305  0x00005c6d branch  0x00005d53 
+ 00024306  0x00005c70 call  0x00005e38 
+ 00024307  0x00005c71 call  0x00005ff9 
+ 00024308  0x00005c72 call  0x0000728b 
+ 00024309  0x00005c73 branch  0x000026b8 
+ 00024310  0x00005c76 call  0x00005e38 
+ 00024311  0x00005c77 branch  0x000026c0 
+ 00024312  0x00005c7b fetch  0x00000004 , 0x00000552 
+ 00024313  0x00005c7c lshift  0x0000003f , 0x0000003f 
+ 00024314  0x00005c7e branch  0x00005f04 , 0x00000029 
+ 00024315  0x00005c7f fetcht  0x00000001 , 0x000041bd 
+ 00024316  0x00005c80 nbranch  0x00005f01 , 0x00000034 
+ 00024317  0x00005c82 jam  0x00000004 , 0x0000007c 
+ 00024318  0x00005c83 jam  0x00000013 , 0x0000007d 
+ 00024319  0x00005c84 jam  0x00000024 , 0x0000007e 
+ 00024320  0x00005c85 rtn 
+ 00024321  0x00005c87 jam  0x00000034 , 0x0000007c 
+ 00024322  0x00005c88 jam  0x00000000 , 0x00000055 
+ 00024323  0x00005c89 branch  0x000021d9 
+ 00024324  0x00005c8c call  0x000021d9 
+ 00024325  0x00005c8d set1  0x00000022 , 0x00000000 
+ 00024326  0x00005c8e fetch  0x00000001 , 0x0000016d 
+ 00024327  0x00005c8f set0  0x00000002 , 0x0000003f 
+ 00024328  0x00005c90 store  0x00000001 , 0x0000016d 
+ 00024329  0x00005c91 branch  0x00005e38 
+ 00024330  0x00005c9a rtn 
+ 00024331  0x00005c9e jam  0x00000003 , 0x0000007c 
+ 00024332  0x00005c9f jam  0x00000018 , 0x0000007d 
+ 00024333  0x00005ca0 jam  0x0000002e , 0x00000a99 
+ 00024334  0x00005ca1 call  0x00007d86 
+ 00024335  0x00005ca2 branch  0x000026e9 
+ 00024336  0x00005ca5 fetch  0x00000001 , 0x00000552 
+ 00024337  0x00005ca6 bne  0x00000001 , 0x00005f1c 
+ 00024338  0x00005ca7 fetch  0x00000001 , 0x00000553 
+ 00024339  0x00005ca8 bne  0x00000001 , 0x00005f1c 
+ 00024340  0x00005ca9 fetch  0x00000001 , 0x00000554 
+ 00024341  0x00005caa bne  0x00000030 , 0x00005f1c 
+ 00024342  0x00005cab call  0x000062fc 
+ 00024343  0x00005cac branch  0x00005f19 , 0x00000001 
+ 00024344  0x00005cad jam  0x00000001 , 0x000009ae 
+ 00024345  0x00005caf jam  0x00000003 , 0x0000007c 
+ 00024346  0x00005cb0 jam  0x0000003d , 0x0000007d 
+ 00024347  0x00005cb1 branch  0x00005d07 
+ 00024348  0x00005cb4 jam  0x00000024 , 0x0000007e 
+ 00024349  0x00005cb5 branch  0x00005d53 
+ 00024350  0x00005cba jam  0x0000003e , 0x0000007c 
+ 00024351  0x00005cbc rtn 
+ 00024352  0x00005cbe fetch  0x00000001 , 0x00004662 
+ 00024353  0x00005cbf beq  0x00000001 , 0x00005f27 
+ 00024354  0x00005cc0 beq  0x00000002 , 0x00005f2b 
+ 00024355  0x00005cc2 call  0x000062fc 
+ 00024356  0x00005cc3 rtn  0x00000001 
+ 00024357  0x00005cc4 jam  0x00000008 , 0x000009ae 
+ 00024358  0x00005cc5 rtn 
+ 00024359  0x00005cc8 call  0x00007962 
+ 00024360  0x00005cc9 jam  0x00000035 , 0x00000a99 
+ 00024361  0x00005cca call  0x00007d86 
+ 00024362  0x00005ccb branch  0x00005f23 
+ 00024363  0x00005ccf call  0x000062fc 
+ 00024364  0x00005cd0 rtn  0x00000001 
+ 00024365  0x00005cd1 fetch  0x00000001 , 0x00004663 
+ 00024366  0x00005cd2 beq  0x00000013 , 0x00005f3b 
+ 00024367  0x00005cd3 increase  0x00000001 , 0x0000003f 
+ 00024368  0x00005cd4 store  0x00000001 , 0x00004663 
+ 00024369  0x00005cd8 jam  0x00000001 , 0x000009b0 
+ 00024370  0x00005cd9 jam  0x00000004 , 0x000009ae 
+ 00024371  0x00005cda fetch  0x00000001 , 0x00004663 
+ 00024372  0x00005cdb copy  0x0000003f , 0x00000007 
+ 00024373  0x00005cdc fetch  0x00000006 , 0x0000468a 
+ 00024374  0x00005cdd qisolate1  0x0000003f 
+ 00024375  0x00005cde setarg  0x00000080 
+ 00024376  0x00005cdf setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024377  0x00005ce0 store  0x00000001 , 0x00004664 
+ 00024378  0x00005ce1 rtn 
+ 00024379  0x00005ce4 jam  0x00000008 , 0x000009ae 
+ 00024380  0x00005ce5 rtn 
+ 00024381  0x00005ce8 call  0x00005f43 
+ 00024382  0x00005cea fetch  0x00000001 , 0x00004665 
+ 00024383  0x00005ceb rtn  0x00000034 
+ 00024384  0x00005cec jam  0x00000000 , 0x00004665 
+ 00024385  0x00005ced jam  0x00000038 , 0x00000a99 
+ 00024386  0x00005cee branch  0x00007d86 
+ 00024387  0x00005cf3 call  0x000062fc 
+ 00024388  0x00005cf4 ncall  0x00007965 , 0x00000001 
+ 00024389  0x00005cf5 call  0x00007975 , 0x00000001 
+ 00024390  0x00005cf6 call  0x000062fc 
+ 00024391  0x00005cf7 rtn  0x00000001 
+ 00024392  0x00005cf8 jam  0x0000000c , 0x000009ae 
+ 00024393  0x00005cf9 jam  0x00000001 , 0x000009b0 
+ 00024394  0x00005cfa rtn 
+ 00024395  0x00005cfd arg  0x00000a6e , 0x00000005 
+ 00024396  0x00005cfe arg  0x00000552 , 0x00000006 
+ 00024397  0x00005cff call  0x00007ebf 
+ 00024398  0x00005d00 fetch  0x00000001 , 0x00004662 
+ 00024399  0x00005d01 rtneq  0x00000002 
+ 00024400  0x00005d02 branch  0x000076d8 
+ 00024401  0x00005d05 fetch  0x00000001 , 0x000009af 
+ 00024402  0x00005d06 beq  0x00000007 , 0x00005f55 
+ 00024403  0x00005d07 fetch  0x00000001 , 0x000009ae 
+ 00024404  0x00005d08 bne  0x00000001 , 0x00005f68 
+ 00024405  0x00005d0a fetch  0x00000001 , 0x000009b7 
+ 00024406  0x00005d0b sub  0x0000003f , 0x00000020 , 0x00000005 
+ 00024407  0x00005d0c nbranch  0x00005f68 , 0x00000002 
+ 00024408  0x00005d0d arg  0x000009c6 , 0x00000005 
+ 00024409  0x00005d0e iadd  0x00000005 , 0x00000005 
+ 00024410  0x00005d0f fetch  0x00000008 , 0x00000552 
+ 00024411  0x00005d10 istore  0x00000008 , 0x00000005 
+ 00024412  0x00005d11 fetch  0x00000008 , 0x0000055a 
+ 00024413  0x00005d12 istore  0x00000008 , 0x00000005 
+ 00024414  0x00005d13 fetch  0x00000001 , 0x000009b7 
+ 00024415  0x00005d14 increase  0x00000010 , 0x0000003f 
+ 00024416  0x00005d15 store  0x00000001 , 0x000009b7 
+ 00024417  0x00005d16 bne  0x00000030 , 0x00005e38 
+ 00024418  0x00005d18 call  0x000062fc 
+ 00024419  0x00005d19 branch  0x00005e38 , 0x00000001 
+ 00024420  0x00005d1a jam  0x00000001 , 0x000009b8 
+ 00024421  0x00005d1b jam  0x00000002 , 0x000009ae 
+ 00024422  0x00005d1c jam  0x00000001 , 0x000009b0 
+ 00024423  0x00005d1d branch  0x00005e38 
+ 00024424  0x00005d1f jam  0x00000024 , 0x0000007e 
+ 00024425  0x00005d20 branch  0x00005d53 
+ 00024426  0x00005d22 fetch  0x00000001 , 0x000009b6 
+ 00024427  0x00005d23 beq  0x00000030 , 0x00005f6e 
+ 00024428  0x00005d24 jam  0x0000003e , 0x0000007c 
+ 00024429  0x00005d25 branch  0x00005d07 
+ 00024430  0x00005d28 call  0x000062fc 
+ 00024431  0x00005d29 branch  0x00005f77 , 0x00000001 
+ 00024432  0x00005d2a fetch  0x00000001 , 0x00004662 
+ 00024433  0x00005d2b beq  0x00000002 , 0x00005f75 
+ 00024434  0x00005d2c jam  0x00000001 , 0x000009b0 
+ 00024435  0x00005d2d jam  0x00000004 , 0x000009ae 
+ 00024436  0x00005d2e branch  0x00005d07 
+ 00024437  0x00005d31 jam  0x00000036 , 0x00000a99 
+ 00024438  0x00005d32 branch  0x00007d86 
+ 00024439  0x00005d37 branch  0x00005d07 
+ 00024440  0x00005d3a fetch  0x00000001 , 0x000009af 
+ 00024441  0x00005d3b beq  0x00000007 , 0x00005f7c 
+ 00024442  0x00005d3c fetch  0x00000001 , 0x000009ae 
+ 00024443  0x00005d3d bne  0x00000006 , 0x00005f88 
+ 00024444  0x00005d3f arg  0x00000a2e , 0x00000005 
+ 00024445  0x00005d40 fetch  0x00000008 , 0x00000552 
+ 00024446  0x00005d41 istore  0x00000008 , 0x00000005 
+ 00024447  0x00005d42 fetch  0x00000008 , 0x0000055a 
+ 00024448  0x00005d43 istore  0x00000008 , 0x00000005 
+ 00024449  0x00005d44 call  0x000062fc 
+ 00024450  0x00005d45 branch  0x00005f86 , 0x00000001 
+ 00024451  0x00005d46 jam  0x00000007 , 0x000009ae 
+ 00024452  0x00005d47 jam  0x00000001 , 0x000009b0 
+ 00024453  0x00005d48 branch  0x00005e38 
+ 00024454  0x00005d4a jam  0x00000004 , 0x000009af 
+ 00024455  0x00005d4b branch  0x000076d8 
+ 00024456  0x00005d4f jam  0x00000024 , 0x0000007e 
+ 00024457  0x00005d50 branch  0x00005d53 
+ 00024458  0x00005d53 fetch  0x00000001 , 0x000009af 
+ 00024459  0x00005d54 beq  0x0000000b , 0x00005f8e 
+ 00024460  0x00005d55 fetch  0x00000001 , 0x000009ae 
+ 00024461  0x00005d56 bne  0x00000008 , 0x00005f9d 
+ 00024462  0x00005d58 arg  0x00000a5e , 0x00000005 
+ 00024463  0x00005d59 arg  0x00000552 , 0x00000006 
+ 00024464  0x00005d5a call  0x00007ebf 
+ 00024465  0x00005d5b call  0x000062fc 
+ 00024466  0x00005d5c branch  0x00005f9a , 0x00000001 
+ 00024467  0x00005d5d fetch  0x00000001 , 0x00004662 
+ 00024468  0x00005d5e beq  0x00000001 , 0x00005f9f 
+ 00024469  0x00005d60 jam  0x00000000 , 0x00004661 
+ 00024470  0x00005d61 jam  0x00000009 , 0x000009ae 
+ 00024471  0x00005d62 jam  0x00000001 , 0x000009b0 
+ 00024472  0x00005d63 jam  0x00000041 , 0x0000007d 
+ 00024473  0x00005d64 branch  0x00005d07 
+ 00024474  0x00005d67 jam  0x00000009 , 0x000009af 
+ 00024475  0x00005d68 jam  0x00000001 , 0x000009b1 
+ 00024476  0x00005d69 branch  0x00005d07 
+ 00024477  0x00005d6b jam  0x00000024 , 0x0000007e 
+ 00024478  0x00005d6c branch  0x00005d53 
+ 00024479  0x00005d6f fetch  0x00000001 , 0x00004661 
+ 00024480  0x00005d70 bbit1  0x00000007 , 0x00005fa4 
+ 00024481  0x00005d71 set1  0x00000006 , 0x0000003f 
+ 00024482  0x00005d72 store  0x00000001 , 0x00004661 
+ 00024483  0x00005d73 rtn 
+ 00024484  0x00005d76 bbit1  0x00000000 , 0x00005f95 
+ 00024485  0x00005d77 jam  0x00000000 , 0x00004661 
+ 00024486  0x00005d78 branch  0x00005f9d 
+ 00024487  0x00005d7c branch  0x00005d07 
+ 00024488  0x00005d7f fetch  0x00000001 , 0x0000016d 
+ 00024489  0x00005d80 set0  0x00000001 
+ 00024490  0x00005d81 store  0x00000001 , 0x0000016d 
+ 00024491  0x00005d82 call  0x00005e38 
+ 00024492  0x00005d83 nrtn  0x00000029 
+ 00024493  0x00005d84 fetch  0x00000001 , 0x00000552 
+ 00024494  0x00005d85 fetcht  0x00000001 , 0x0000004b 
+ 00024495  0x00005d86 setflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00024496  0x00005d87 nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00024497  0x00005d88 storet  0x00000001 , 0x0000004b 
+ 00024498  0x00005d89 rtn 
+ 00024499  0x00005d8c fetcht  0x00000008 , 0x00000552 
+ 00024500  0x00005d8e fetch  0x00000001 , 0x00000055 
+ 00024501  0x00005d8f rtnne  0x00000003 
+ 00024502  0x00005d91 fetch  0x00000001 , 0x0000016d 
+ 00024503  0x00005d92 bbit0  0x00000004 , 0x00005fba 
+ 00024504  0x00005d94 jam  0x00000014 , 0x00000055 
+ 00024505  0x00005d95 rtn 
+ 00024506  0x00005d97 jam  0x00000004 , 0x00000055 
+ 00024507  0x00005d98 rtn 
+ 00024508  0x00005d9a fetch  0x00000001 , 0x0000017f 
+ 00024509  0x00005d9b store  0x00000001 , 0x0000015b 
+ 00024510  0x00005d9c jam  0x00000003 , 0x0000007c 
+ 00024511  0x00005d9d jam  0x00000038 , 0x0000007d 
+ 00024512  0x00005d9e rtn 
+ 00024513  0x00005da2 jam  0x00000003 , 0x0000007c 
+ 00024514  0x00005da3 jam  0x00000039 , 0x0000007d 
+ 00024515  0x00005da4 force  0x00000009 , 0x00000039 
+ 00024516  0x00005da5 arg  0x00000552 , 0x00000006 
+ 00024517  0x00005da6 arg  0x00000152 , 0x00000005 
+ 00024518  0x00005da8 ifetch  0x00000001 , 0x00000006 
+ 00024519  0x00005da9 xor_into  0x00000055 , 0x0000003f 
+ 00024520  0x00005daa istore  0x00000001 , 0x00000005 
+ 00024521  0x00005dab loop  0x00005fc6 
+ 00024522  0x00005dac fetch  0x00000001 , 0x00000152 
+ 00024523  0x00005dad fetcht  0x00000001 , 0x00000151 
+ 00024524  0x00005dae set0  0x00000007 , 0x00000002 
+ 00024525  0x00005daf set0  0x00000004 , 0x00000002 
+ 00024526  0x00005db0 beq  0x000000ff , 0x00005fda 
+ 00024527  0x00005db1 beq  0x00000000 , 0x00005ff3 
+ 00024528  0x00005db2 beq  0x00000005 , 0x00005fe7 
+ 00024529  0x00005db3 beq  0x00000007 , 0x00005fe6 
+ 00024530  0x00005db4 beq  0x00000006 , 0x00005fe7 
+ 00024531  0x00005db5 beq  0x00000008 , 0x00005fe6 
+ 00024532  0x00005db6 beq  0x00000001 , 0x00005fdf 
+ 00024533  0x00005db7 beq  0x00000002 , 0x00005fdf 
+ 00024534  0x00005db8 beq  0x00000003 , 0x00005fdf 
+ 00024535  0x00005db9 beq  0x00000009 , 0x00005fdf 
+ 00024536  0x00005dba beq  0x00000004 , 0x00005fdf 
+ 00024537  0x00005dbb rtn 
+ 00024538  0x00005dbe fetch  0x00000001 , 0x00000151 
+ 00024539  0x00005dbf set1  0x00000003 , 0x0000003f 
+ 00024540  0x00005dc0 set1  0x00000002 , 0x0000003f 
+ 00024541  0x00005dc1 store  0x00000001 , 0x00000151 
+ 00024542  0x00005dc2 rtn 
+ 00024543  0x00005dc4 set1  0x00000004 , 0x00000002 
+ 00024544  0x00005dc5 jam  0x00000005 , 0x00000180 
+ 00024545  0x00005dc6 fetch  0x00000002 , 0x00000159 
+ 00024546  0x00005dc7 iforce  0x00000039 
+ 00024547  0x00005dc8 store  0x00000002 , 0x0000015f 
+ 00024548  0x00005dc9 arg  0x00000551 , 0x00000005 
+ 00024549  0x00005dca call  0x00007f73 
+ 00024550  0x00005dcc set1  0x00000007 , 0x00000002 
+ 00024551  0x00005dce set1  0x00000002 , 0x00000002 
+ 00024552  0x00005dcf force  0x00000000 , 0x0000003f 
+ 00024553  0x00005dd0 store  0x00000001 , 0x0000000b 
+ 00024554  0x00005dd1 store  0x00000002 , 0x000000fa 
+ 00024555  0x00005dd2 store  0x00000002 , 0x000000fc 
+ 00024556  0x00005dd3 store  0x00000002 , 0x000000f8 
+ 00024557  0x00005dd4 store  0x00000002 , 0x000000f6 
+ 00024558  0x00005dd5 fetch  0x00000001 , 0x00000153 
+ 00024559  0x00005dd6 compare  0x00000000 , 0x0000003f , 0x000000ff 
+ 00024560  0x00005dd7 setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00024561  0x00005dd8 storet  0x00000001 , 0x00000151 
+ 00024562  0x00005dd9 rtn 
+ 00024563  0x00005ddc set0  0x00000011 , 0x00000000 
+ 00024564  0x00005ddd jam  0x00000000 , 0x00000151 
+ 00024565  0x00005dde fetch  0x00000001 , 0x0000017f 
+ 00024566  0x00005ddf set0  0x00000006 , 0x0000003f 
+ 00024567  0x00005de0 store  0x00000001 , 0x0000017f 
+ 00024568  0x00005de1 rtn 
+ 00024569  0x00005de8 arg  0x00000552 , 0x00000006 
+ 00024570  0x00005de9 arg  0x00000562 , 0x00000005 
+ 00024571  0x00005dea branch  0x00007ebf 
+ 00024572  0x00005ded jam  0x00000009 , 0x0000007c 
+ 00024573  0x00005dee rtn 
+ 00024574  0x00005df1 nrtn  0x00000029 
+ 00024575  0x00005df2 jam  0x00000011 , 0x0000007c 
+ 00024576  0x00005df3 rtn 
+ 00024577  0x00005df6 arg  0x000040a0 , 0x00000011 
+ 00024578  0x00005df7 call  0x00007255 
+ 00024579  0x00005df8 jam  0x00000003 , 0x0000007c 
+ 00024580  0x00005df9 jam  0x00000008 , 0x0000007d 
+ 00024581  0x00005dfa rtn 
+ 00024582  0x00005dfd jam  0x0000000a , 0x00000072 
+ 00024583  0x00005dfe jam  0x00000007 , 0x0000007c 
+ 00024584  0x00005dff jam  0x00000016 , 0x000004ca 
+ 00024585  0x00005e00 rtn 
+ 00024586  0x00005e07 bpatchx  0x00000082 , 0x00004030 
+ 00024587  0x00005e08 disable  0x00000028 
+ 00024588  0x00005e09 call  0x000062c1 
+ 00024589  0x00005e0a fetch  0x00000001 , 0x00000048 
+ 00024590  0x00005e0b rtn  0x00000034 
+ 00024591  0x00005e10 bbit1  0x00000007 , 0x0000603f 
+ 00024592  0x00005e12 beq  0x00000001 , 0x0000616f 
+ 00024593  0x00005e13 beq  0x00000002 , 0x000060e4 
+ 00024594  0x00005e14 beq  0x00000003 , 0x0000604a 
+ 00024595  0x00005e15 beq  0x00000004 , 0x00006060 
+ 00024596  0x00005e16 beq  0x00000027 , 0x000061db 
+ 00024597  0x00005e17 beq  0x00000028 , 0x00006108 
+ 00024598  0x00005e18 beq  0x00000030 , 0x000060f4 
+ 00024599  0x00005e19 beq  0x00000025 , 0x000061d6 
+ 00024600  0x00005e1a beq  0x00000026 , 0x00006103 
+ 00024601  0x00005e1b beq  0x00000031 , 0x000061c3 
+ 00024602  0x00005e1c beq  0x00000037 , 0x0000616a 
+ 00024603  0x00005e1d beq  0x00000033 , 0x0000615c 
+ 00024604  0x00005e1e beq  0x00000008 , 0x00006259 
+ 00024605  0x00005e1f beq  0x00000009 , 0x0000624f 
+ 00024606  0x00005e20 beq  0x0000000b , 0x00006264 
+ 00024607  0x00005e21 beq  0x0000000c , 0x0000626d 
+ 00024608  0x00005e22 beq  0x0000000f , 0x00006162 
+ 00024609  0x00005e23 beq  0x00000010 , 0x00006292 
+ 00024610  0x00005e24 beq  0x00000011 , 0x00006288 
+ 00024611  0x00005e25 beq  0x00000007 , 0x00006152 
+ 00024612  0x00005e26 beq  0x0000002a , 0x0000617e 
+ 00024613  0x00005e27 beq  0x0000000a , 0x0000617f 
+ 00024614  0x00005e29 beq  0x0000001f , 0x000061bc 
+ 00024615  0x00005e2a beq  0x00000006 , 0x000060f9 
+ 00024616  0x00005e2b beq  0x00000021 , 0x0000615f 
+ 00024617  0x00005e2c beq  0x0000002d , 0x000061b2 
+ 00024618  0x00005e2d beq  0x0000002e , 0x000061b7 
+ 00024619  0x00005e2e beq  0x00000022 , 0x0000615f 
+ 00024620  0x00005e2f beq  0x00000034 , 0x00006180 
+ 00024621  0x00005e30 beq  0x00000013 , 0x00006195 
+ 00024622  0x00005e31 beq  0x00000017 , 0x000061a4 
+ 00024623  0x00005e32 beq  0x00000012 , 0x0000628f 
+ 00024624  0x00005e33 beq  0x0000002f , 0x000061aa 
+ 00024625  0x00005e34 beq  0x00000018 , 0x000061af 
+ 00024626  0x00005e35 beq  0x0000003d , 0x000061ff 
+ 00024627  0x00005e36 beq  0x0000003e , 0x0000620b 
+ 00024628  0x00005e37 beq  0x0000003f , 0x0000621d 
+ 00024629  0x00005e38 beq  0x00000040 , 0x00006227 
+ 00024630  0x00005e39 beq  0x00000041 , 0x0000623c 
+ 00024631  0x00005e3a beq  0x00000023 , 0x0000624b 
+ 00024632  0x00005e3b beq  0x0000003b , 0x00006246 
+ 00024633  0x00005e3d beq  0x00000005 , 0x0000624c 
+ 00024634  0x00005e3e beq  0x00000029 , 0x0000624d 
+ 00024635  0x00005e3f beq  0x00000038 , 0x0000624e 
+ 00024636  0x00005e40 beq  0x00000039 , 0x00006175 
+ 00024637  0x00005e42 branch  0x00002a8c 
+ 00024638  0x00005e43 rtn 
+ 00024639  0x00005e45 beq  0x00000081 , 0x0000606d 
+ 00024640  0x00005e46 beq  0x00000084 , 0x00006099 
+ 00024641  0x00005e47 beq  0x00000082 , 0x00006076 
+ 00024642  0x00005e48 beq  0x00000083 , 0x0000610d 
+ 00024643  0x00005e49 beq  0x0000008b , 0x00006118 
+ 00024644  0x00005e4a beq  0x00000097 , 0x0000614e 
+ 00024645  0x00005e4b beq  0x00000099 , 0x000060d5 
+ 00024646  0x00005e4c beq  0x0000009a , 0x000060a4 
+ 00024647  0x00005e4d beq  0x00000095 , 0x000060da 
+ 00024648  0x00005e4e beq  0x00000096 , 0x000060db 
+ 00024649  0x00005e4f branch  0x00002a8c 
+ 00024650  0x00005e56 force  0x00000002 , 0x0000003f 
+ 00024651  0x00005e57 call  0x00006298 
+ 00024652  0x00005e58 fetch  0x00000001 , 0x00000049 
+ 00024653  0x00005e59 istore  0x00000001 , 0x00000005 
+ 00024654  0x00005e5a call  0x000062a7 
+ 00024655  0x00005e5b bpatchx  0x00000083 , 0x00004030 
+ 00024656  0x00005e5c fetch  0x00000001 , 0x00000049 
+ 00024657  0x00005e5d beq  0x00000008 , 0x00006080 
+ 00024658  0x00005e5e beq  0x0000000f , 0x00006084 
+ 00024659  0x00005e5f beq  0x00000010 , 0x0000608f 
+ 00024660  0x00005e60 beq  0x00000017 , 0x0000605f 
+ 00024661  0x00005e61 beq  0x00000033 , 0x00006092 
+ 00024662  0x00005e62 beq  0x00000041 , 0x00006098 
+ 00024663  0x00005e63 beq  0x00000011 , 0x00006059 
+ 00024664  0x00005e64 rtn 
+ 00024665  0x00005e67 fetch  0x00000001 , 0x00000055 
+ 00024666  0x00005e68 rtn  0x00000034 
+ 00024667  0x00005e69 jam  0x0000001b , 0x00000055 
+ 00024668  0x00005e6a setarg  0x0000000c 
+ 00024669  0x00005e6b arg  0x00000007 , 0x00000007 
+ 00024670  0x00005e6c branch  0x00007f08 
+ 00024671  0x00005e6f branch  0x000026c6 
+ 00024672  0x00005e71 force  0x00000003 , 0x0000003f 
+ 00024673  0x00005e72 call  0x00006298 
+ 00024674  0x00005e73 fetch  0x00000001 , 0x00000049 
+ 00024675  0x00005e74 beq  0x0000000b , 0x00006068 
+ 00024676  0x00005e75 istore  0x00000001 , 0x00000005 
+ 00024677  0x00005e76 fetch  0x00000001 , 0x0000004a 
+ 00024678  0x00005e77 istore  0x00000001 , 0x00000005 
+ 00024679  0x00005e78 branch  0x000062a7 
+ 00024680  0x00005e7b istore  0x00000001 , 0x00000005 
+ 00024681  0x00005e7c fetch  0x00000001 , 0x0000004a 
+ 00024682  0x00005e7d istore  0x00000001 , 0x00000005 
+ 00024683  0x00005e7e arg  0x000004d5 , 0x00000002 
+ 00024684  0x00005e7f branch  0x000062e2 
+ 00024685  0x00005e82 force  0x00000004 , 0x00000007 
+ 00024686  0x00005e83 call  0x000062a0 
+ 00024687  0x00005e84 setarg  0x0000007f 
+ 00024688  0x00005e85 istore  0x00000001 , 0x00000005 
+ 00024689  0x00005e86 fetch  0x00000001 , 0x00000049 
+ 00024690  0x00005e87 set0  0x00000007 , 0x0000003f 
+ 00024691  0x00005e88 istore  0x00000001 , 0x00000005 
+ 00024692  0x00005e89 fetch  0x00000001 , 0x00000049 
+ 00024693  0x00005e8a branch  0x000062a7 
+ 00024694  0x00005e8d force  0x00000005 , 0x00000007 
+ 00024695  0x00005e8e call  0x000062a0 
+ 00024696  0x00005e8f setarg  0x0000007f 
+ 00024697  0x00005e90 istore  0x00000001 , 0x00000005 
+ 00024698  0x00005e91 fetch  0x00000001 , 0x00000049 
+ 00024699  0x00005e92 set0  0x00000007 , 0x0000003f 
+ 00024700  0x00005e93 istore  0x00000001 , 0x00000005 
+ 00024701  0x00005e94 fetch  0x00000001 , 0x0000004a 
+ 00024702  0x00005e95 istore  0x00000001 , 0x00000005 
+ 00024703  0x00005e96 branch  0x000062a7 
+ 00024704  0x00005e9a call  0x0000244f 
+ 00024705  0x00005e9b call  0x000062f3 
+ 00024706  0x00005e9c rtn  0x00000001 
+ 00024707  0x00005e9d branch  0x00005ffc 
+ 00024708  0x00005ea0 fetch  0x00000001 , 0x0000004b 
+ 00024709  0x00005ea1 bbit1  0x00000005 , 0x0000608b 
+ 00024710  0x00005ea2 rtnbit0  0x00000004 
+ 00024711  0x00005ea3 jam  0x00000012 , 0x0000007c 
+ 00024712  0x00005ea4 set0  0x00000004 , 0x0000003f 
+ 00024713  0x00005ea5 call  0x000062eb 
+ 00024714  0x00005ea6 branch  0x0000608d 
+ 00024715  0x00005ea8 jam  0x00000010 , 0x0000007c 
+ 00024716  0x00005ea9 set0  0x00000005 , 0x0000003f 
+ 00024717  0x00005eab store  0x00000001 , 0x0000004b 
+ 00024718  0x00005eac rtn 
+ 00024719  0x00005eaf call  0x000062fc 
+ 00024720  0x00005eb0 branch  0x00005ffe , 0x00000001 
+ 00024721  0x00005eb1 rtn 
+ 00024722  0x00005eb4 jam  0x0000008b , 0x0000007c 
+ 00024723  0x00005eb6 fetch  0x00000001 , 0x000004d1 
+ 00024724  0x00005eb7 set1  0x00000000 , 0x0000003f 
+ 00024725  0x00005eb8 store  0x00000001 , 0x000004d1 
+ 00024726  0x00005eb9 jam  0x00000001 , 0x00000a99 
+ 00024727  0x00005eba branch  0x00007d86 
+ 00024728  0x00005ebe rtn 
+ 00024729  0x00005ec3 force  0x0000000c , 0x00000007 
+ 00024730  0x00005ec4 call  0x000062a0 
+ 00024731  0x00005ec5 setarg  0x00000001 
+ 00024732  0x00005ec6 istore  0x00000001 , 0x00000005 
+ 00024733  0x00005ec7 fetch  0x00000002 , 0x000004ce 
+ 00024734  0x00005ec8 istore  0x00000002 , 0x00000005 
+ 00024735  0x00005ec9 setarg  0x00000000 
+ 00024736  0x00005eca istore  0x00000003 , 0x00000005 
+ 00024737  0x00005ecb setarg  0x00000000 
+ 00024738  0x00005ecc istore  0x00000004 , 0x00000005 
+ 00024739  0x00005ecd branch  0x000062b0 
+ 00024740  0x00005ecf force  0x00000005 , 0x00000007 
+ 00024741  0x00005ed0 call  0x000062a0 
+ 00024742  0x00005ed1 fetch  0x00000003 , 0x0000465b 
+ 00024743  0x00005ed2 istore  0x00000003 , 0x00000005 
+ 00024744  0x00005ed3 call  0x000062b0 
+ 00024745  0x00005ed4 jam  0x00000001 , 0x00004665 
+ 00024746  0x00005ed5 fetch  0x00000001 , 0x0000465b 
+ 00024747  0x00005ed6 beq  0x00000001 , 0x000060b5 
+ 00024748  0x00005ed7 beq  0x00000002 , 0x000060af 
+ 00024749  0x00005ed8 beq  0x00000003 , 0x000060bb 
+ 00024750  0x00005ed9 rtn 
+ 00024751  0x00005edc fetch  0x00000001 , 0x0000465e 
+ 00024752  0x00005edd beq  0x00000000 , 0x000060c7 
+ 00024753  0x00005ede beq  0x00000001 , 0x000060c7 
+ 00024754  0x00005edf beq  0x00000002 , 0x000060c7 
+ 00024755  0x00005ee0 beq  0x00000003 , 0x000060c1 
+ 00024756  0x00005ee1 rtn 
+ 00024757  0x00005ee5 fetch  0x00000001 , 0x0000465e 
+ 00024758  0x00005ee6 beq  0x00000000 , 0x000060c1 
+ 00024759  0x00005ee7 beq  0x00000001 , 0x000060c5 
+ 00024760  0x00005ee8 beq  0x00000002 , 0x000060c7 
+ 00024761  0x00005ee9 beq  0x00000003 , 0x000060c1 
+ 00024762  0x00005eea rtn 
+ 00024763  0x00005eee fetch  0x00000001 , 0x0000465e 
+ 00024764  0x00005eef beq  0x00000000 , 0x000060c1 
+ 00024765  0x00005ef0 beq  0x00000001 , 0x000060c1 
+ 00024766  0x00005ef1 beq  0x00000002 , 0x000060c1 
+ 00024767  0x00005ef2 beq  0x00000003 , 0x000060c1 
+ 00024768  0x00005ef3 rtn 
+ 00024769  0x00005efd jam  0x00000003 , 0x00004662 
+ 00024770  0x00005efe fetch  0x00000001 , 0x0000455c 
+ 00024771  0x00005eff bbit1  0x00000000 , 0x000033e9 
+ 00024772  0x00005f00 rtn 
+ 00024773  0x00005f04 jam  0x00000001 , 0x00004662 
+ 00024774  0x00005f05 rtn 
+ 00024775  0x00005f0c jam  0x00000002 , 0x00004662 
+ 00024776  0x00005f0d rtn 
+ 00024777  0x00005f11 arg  0x00000000 , 0x00000007 
+ 00024778  0x00005f12 branch  0x000060cd 
+ 00024779  0x00005f15 arg  0x00000000 , 0x00000007 
+ 00024780  0x00005f16 branch  0x000060d1 
+ 00024781  0x00005f19 fetch  0x00000001 , 0x0000455c 
+ 00024782  0x00005f1a qset1  0x0000003f 
+ 00024783  0x00005f1b store  0x00000001 , 0x0000455c 
+ 00024784  0x00005f1c rtn 
+ 00024785  0x00005f1f fetch  0x00000001 , 0x0000455c 
+ 00024786  0x00005f20 qset0  0x0000003f 
+ 00024787  0x00005f21 store  0x00000001 , 0x0000455c 
+ 00024788  0x00005f22 rtn 
+ 00024789  0x00005f26 force  0x00000005 , 0x00000007 
+ 00024790  0x00005f27 call  0x000062a0 
+ 00024791  0x00005f28 fetch  0x00000003 , 0x0000465b 
+ 00024792  0x00005f29 istore  0x00000003 , 0x00000005 
+ 00024793  0x00005f2a branch  0x000062b2 
+ 00024794  0x00005f2f rtn 
+ 00024795  0x00005f31 force  0x00000009 , 0x00000007 
+ 00024796  0x00005f32 call  0x000062a0 
+ 00024797  0x00005f33 fetch  0x00000001 , 0x00000095 
+ 00024798  0x00005f34 istore  0x00000001 , 0x00000005 
+ 00024799  0x00005f35 fetch  0x00000002 , 0x00000096 
+ 00024800  0x00005f36 istore  0x00000002 , 0x00000005 
+ 00024801  0x00005f37 fetch  0x00000004 , 0x00000091 
+ 00024802  0x00005f38 istore  0x00000004 , 0x00000005 
+ 00024803  0x00005f39 branch  0x000062b0 
+ 00024804  0x00005f3c force  0x00000011 , 0x0000003f 
+ 00024805  0x00005f3d call  0x00006298 
+ 00024806  0x00005f3e fetch  0x00000001 , 0x00000049 
+ 00024807  0x00005f3f copy  0x0000003f , 0x00000002 
+ 00024808  0x00005f40 beq  0x00000000 , 0x000060ec 
+ 00024809  0x00005f41 beq  0x0000000e , 0x000060ec 
+ 00024810  0x00005f42 beq  0x0000001c , 0x000060ec 
+ 00024811  0x00005f43 rtn 
+ 00024812  0x00005f45 istore  0x00000001 , 0x00000005 
+ 00024813  0x00005f46 fetch  0x00000001 , 0x00004515 
+ 00024814  0x00005f47 istore  0x00000001 , 0x00000005 
+ 00024815  0x00005f48 arg  0x0000000e , 0x00000039 
+ 00024816  0x00005f49 setarg  0x00004516 
+ 00024817  0x00005f4a iadd  0x00000002 , 0x00000006 
+ 00024818  0x00005f4b call  0x00007f01 
+ 00024819  0x00005f4c branch  0x000062b0 
+ 00024820  0x00005f50 force  0x00000003 , 0x0000003f 
+ 00024821  0x00005f51 call  0x00006298 
+ 00024822  0x00005f52 setarg  0x00000114 
+ 00024823  0x00005f53 istore  0x00000002 , 0x00000005 
+ 00024824  0x00005f54 branch  0x000062b0 
+ 00024825  0x00005f58 force  0x00000003 , 0x0000003f 
+ 00024826  0x00005f59 call  0x00006298 
+ 00024827  0x00005f5a fetch  0x00000004 , 0x00000165 
+ 00024828  0x00005f5b isub  0x00000022 , 0x0000003f 
+ 00024829  0x00005f5c branch  0x000060ff , 0x00000029 
+ 00024830  0x00005f5d sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00024831  0x00005f60 rshift2  0x0000003f , 0x0000003f 
+ 00024832  0x00005f61 set0  0x0000000f , 0x0000003f 
+ 00024833  0x00005f62 istore  0x00000002 , 0x00000005 
+ 00024834  0x00005f63 branch  0x000062b0 
+ 00024835  0x00005f66 force  0x00000006 , 0x0000003f 
+ 00024836  0x00005f67 call  0x00006298 
+ 00024837  0x00005f68 fetch  0x00000005 , 0x00004510 
+ 00024838  0x00005f69 istore  0x00000005 , 0x00000005 
+ 00024839  0x00005f6a branch  0x000062b0 
+ 00024840  0x00005f6d force  0x00000009 , 0x0000003f 
+ 00024841  0x00005f6e call  0x00006298 
+ 00024842  0x00005f6f fetch  0x00000008 , 0x00004098 
+ 00024843  0x00005f70 istore  0x00000008 , 0x00000005 
+ 00024844  0x00005f71 branch  0x000062b0 
+ 00024845  0x00005f79 force  0x0000000c , 0x00000007 
+ 00024846  0x00005f7a call  0x000062a0 
+ 00024847  0x00005f7b setarg  0x00000001 
+ 00024848  0x00005f7c istore  0x00000001 , 0x00000005 
+ 00024849  0x00005f7d fetch  0x00000002 , 0x000004ce 
+ 00024850  0x00005f7e istore  0x00000002 , 0x00000005 
+ 00024851  0x00005f7f setarg  0x00000000 
+ 00024852  0x00005f80 istore  0x00000003 , 0x00000005 
+ 00024853  0x00005f81 setarg  0x00000000 
+ 00024854  0x00005f82 istore  0x00000004 , 0x00000005 
+ 00024855  0x00005f83 branch  0x000062b2 
+ 00024856  0x00005f86 force  0x00000003 , 0x00000007 
+ 00024857  0x00005f87 call  0x000062a0 
+ 00024858  0x00005f88 fetch  0x00000001 , 0x0000415a 
+ 00024859  0x00005f89 istore  0x00000001 , 0x00000005 
+ 00024860  0x00005f8a disable  0x00000028 
+ 00024861  0x00005f8b call  0x000062b2 
+ 00024862  0x00005f8c nrtn  0x00000028 
+ 00024863  0x00005f8d nrtn  0x00000029 
+ 00024864  0x00005f8e fetch  0x00000001 , 0x000040d8 
+ 00024865  0x00005f8f rtnbit0  0x00000000 
+ 00024866  0x00005f90 call  0x00006132 
+ 00024867  0x00005f91 branch  0x0000613c 
+ 00024868  0x00005f95 bpatchx  0x00000084 , 0x00004030 
+ 00024869  0x00005f96 fetch  0x00000001 , 0x0000409e 
+ 00024870  0x00005f97 set1  0x00000003 , 0x0000003f 
+ 00024871  0x00005f98 store  0x00000001 , 0x0000409e 
+ 00024872  0x00005f99 setarg  0x00000101 
+ 00024873  0x00005f9a store  0x00000002 , 0x000004ce 
+ 00024874  0x00005f9b rtn 
+ 00024875  0x00005f9e bpatchx  0x00000085 , 0x00004030 
+ 00024876  0x00005f9f fetch  0x00000001 , 0x0000409e 
+ 00024877  0x00005fa0 set0  0x00000003 , 0x0000003f 
+ 00024878  0x00005fa1 store  0x00000001 , 0x0000409e 
+ 00024879  0x00005fa2 setarg  0x00000000 
+ 00024880  0x00005fa3 store  0x00000002 , 0x000004ce 
+ 00024881  0x00005fa4 rtn 
+ 00024882  0x00005fa7 jam  0x00000003 , 0x000040d8 
+ 00024883  0x00005fa8 setarg  0x00000000 
+ 00024884  0x00005fa9 store  0x00000004 , 0x00004142 
+ 00024885  0x00005faa arg  0x000040da , 0x00000005 
+ 00024886  0x00005fab call  0x00006140 
+ 00024887  0x00005fac arg  0x000040e7 , 0x00000005 
+ 00024888  0x00005fad call  0x00006140 
+ 00024889  0x00005fae arg  0x00004146 , 0x00000005 
+ 00024890  0x00005faf call  0x00006140 
+ 00024891  0x00005fb0 branch  0x00006147 
+ 00024892  0x00005fb2 arg  0x000040e7 , 0x00000005 
+ 00024893  0x00005fb3 call  0x00006140 
+ 00024894  0x00005fb4 call  0x00006147 
+ 00024895  0x00005fb5 branch  0x0000614a 
+ 00024896  0x00005fb9 setarg  0x00ffffff 
+ 00024897  0x00005fba istore  0x00000003 , 0x00000005 
+ 00024898  0x00005fbb istore  0x00000003 , 0x00000005 
+ 00024899  0x00005fbc istore  0x00000003 , 0x00000005 
+ 00024900  0x00005fbd setarg  0x0000007f 
+ 00024901  0x00005fbe istore  0x00000001 , 0x00000005 
+ 00024902  0x00005fbf rtn 
+ 00024903  0x00005fc1 setarg  0x00000000 
+ 00024904  0x00005fc2 store  0x00000002 , 0x000040d6 
+ 00024905  0x00005fc3 rtn 
+ 00024906  0x00005fc5 fetch  0x00000001 , 0x000040d8 
+ 00024907  0x00005fc6 set1  0x00000002 , 0x0000003f 
+ 00024908  0x00005fc7 store  0x00000001 , 0x000040d8 
+ 00024909  0x00005fc8 rtn 
+ 00024910  0x00005fcc force  0x00000002 , 0x00000007 
+ 00024911  0x00005fcd call  0x000062a0 
+ 00024912  0x00005fce nbranch  0x000062b0 , 0x00000029 
+ 00024913  0x00005fd0 branch  0x000062b2 
+ 00024914  0x00005fd5 force  0x00000002 , 0x0000003f 
+ 00024915  0x00005fd6 call  0x00006298 
+ 00024916  0x00005fd7 fetch  0x00000001 , 0x000004ca 
+ 00024917  0x00005fd8 istore  0x00000001 , 0x00000005 
+ 00024918  0x00005fd9 call  0x000062b2 
+ 00024919  0x00005fdb fetch  0x00000001 , 0x0000004b 
+ 00024920  0x00005fdc set1  0x00000003 , 0x0000003f 
+ 00024921  0x00005fdd store  0x00000001 , 0x0000004b 
+ 00024922  0x00005fde jam  0x00000032 , 0x00000072 
+ 00024923  0x00005fdf rtn 
+ 00024924  0x00005fe3 force  0x00000001 , 0x0000003f 
+ 00024925  0x00005fe4 call  0x00006298 
+ 00024926  0x00005fe5 branch  0x000062b2 
+ 00024927  0x00005fe7 force  0x00000001 , 0x0000003f 
+ 00024928  0x00005fe8 call  0x00006298 
+ 00024929  0x00005fe9 branch  0x000062b0 
+ 00024930  0x00005fed force  0x00000002 , 0x0000003f 
+ 00024931  0x00005fee call  0x00006298 
+ 00024932  0x00005fef fetch  0x00000001 , 0x0000004c 
+ 00024933  0x00005ff0 isolate0  0x00000002 , 0x0000003f 
+ 00024934  0x00005ff1 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024935  0x00005ff2 and_into  0x00000001 , 0x0000003f 
+ 00024936  0x00005ff3 istore  0x00000001 , 0x00000005 
+ 00024937  0x00005ff4 branch  0x000062b2 
+ 00024938  0x00005ff8 force  0x00000003 , 0x0000003f 
+ 00024939  0x00005ff9 call  0x00006298 
+ 00024940  0x00005ffa fetch  0x00000002 , 0x00000051 
+ 00024941  0x00005ffb istore  0x00000002 , 0x00000005 
+ 00024942  0x00005ffc branch  0x000062b2 
+ 00024943  0x00005fff jam  0x000000fa , 0x00000072 
+ 00024944  0x00006000 force  0x00000002 , 0x0000003f 
+ 00024945  0x00006001 call  0x00006298 
+ 00024946  0x00006002 fetch  0x00000001 , 0x00000053 
+ 00024947  0x00006003 istore  0x00000001 , 0x00000005 
+ 00024948  0x00006004 branch  0x000062b2 
+ 00024949  0x00006007 force  0x0000000a , 0x0000003f 
+ 00024950  0x00006008 call  0x00006298 
+ 00024951  0x00006009 arg  0x00000152 , 0x00000006 
+ 00024952  0x0000600a force  0x00000009 , 0x00000039 
+ 00024953  0x0000600c ifetch  0x00000001 , 0x00000006 
+ 00024954  0x0000600d xor_into  0x00000055 , 0x0000003f 
+ 00024955  0x0000600e istore  0x00000001 , 0x00000005 
+ 00024956  0x0000600f loop  0x00006179 
+ 00024957  0x00006010 branch  0x000062b2 
+ 00024958  0x00006013 branch  0x000062b2 
+ 00024959  0x00006015 branch  0x000062b2 
+ 00024960  0x00006018 rtn  0x00000029 
+ 00024961  0x00006019 call  0x0000282d 
+ 00024962  0x0000601a force  0x00000009 , 0x0000003f 
+ 00024963  0x0000601b call  0x00006298 
+ 00024964  0x0000601c fetch  0x00000002 , 0x00000171 
+ 00024965  0x0000601d istore  0x00000002 , 0x00000005 
+ 00024966  0x0000601e fetch  0x00000003 , 0x000040a0 
+ 00024967  0x0000601f istore  0x00000003 , 0x00000005 
+ 00024968  0x00006020 fetch  0x00000001 , 0x000040a3 
+ 00024969  0x00006021 istore  0x00000001 , 0x00000005 
+ 00024970  0x00006022 fetch  0x00000002 , 0x000040a4 
+ 00024971  0x00006023 istore  0x00000002 , 0x00000005 
+ 00024972  0x00006024 bmark0  0x00000003 , 0x00006191 
+ 00024973  0x00006025 set0  0x00000003 , 0x00000000 
+ 00024974  0x00006026 call  0x000062b2 
+ 00024975  0x00006027 jam  0x00000013 , 0x0000007c 
+ 00024976  0x00006028 rtn 
+ 00024977  0x0000602a call  0x000062b0 
+ 00024978  0x0000602b jam  0x00000003 , 0x0000007c 
+ 00024979  0x0000602c jam  0x00000013 , 0x0000007d 
+ 00024980  0x0000602d rtn 
+ 00024981  0x00006030 arg  0x00000200 , 0x00000002 
+ 00024982  0x00006031 branch  0x00006199 , 0x00000029 
+ 00024983  0x00006032 deposit  0x00000028 
+ 00024984  0x00006033 branch  0x0000619a 
+ 00024985  0x00006035 deposit  0x00000022 
+ 00024986  0x00006037 deposit  0x00000021 
+ 00024987  0x00006038 iadd  0x00000002 , 0x0000003f 
+ 00024988  0x00006039 and_into  0x000001fc , 0x0000003f 
+ 00024989  0x0000603a store  0x00000004 , 0x00000034 
+ 00024990  0x0000603b force  0x00000005 , 0x0000003f 
+ 00024991  0x0000603c call  0x00006298 
+ 00024992  0x0000603d fetch  0x00000004 , 0x00000034 
+ 00024993  0x0000603e rshift  0x0000003f , 0x0000003f 
+ 00024994  0x0000603f istore  0x00000004 , 0x00000005 
+ 00024995  0x00006040 branch  0x000062b2 
+ 00024996  0x00006043 force  0x0000000a , 0x0000003f 
+ 00024997  0x00006044 call  0x00006298 
+ 00024998  0x00006045 arg  0x000004d9 , 0x00000006 
+ 00024999  0x00006046 ifetch  0x00000009 , 0x00000006 
+ 00025000  0x00006047 istore  0x00000009 , 0x00000005 
+ 00025001  0x00006048 branch  0x000062b2 
+ 00025002  0x0000604d force  0x00000003 , 0x0000003f 
+ 00025003  0x0000604e call  0x00006298 
+ 00025004  0x0000604f setarg  0x00000114 
+ 00025005  0x00006050 istore  0x00000002 , 0x00000005 
+ 00025006  0x00006051 branch  0x000062b2 
+ 00025007  0x00006055 force  0x00000001 , 0x0000003f 
+ 00025008  0x00006056 call  0x00006298 
+ 00025009  0x0000605f branch  0x000062b2 
+ 00025010  0x00006063 force  0x00000002 , 0x0000003f 
+ 00025011  0x00006064 call  0x00006298 
+ 00025012  0x00006065 fetch  0x00000001 , 0x000040d0 
+ 00025013  0x00006066 istore  0x00000001 , 0x00000005 
+ 00025014  0x00006067 branch  0x000062b2 
+ 00025015  0x0000606b force  0x00000002 , 0x0000003f 
+ 00025016  0x0000606c call  0x00006298 
+ 00025017  0x0000606d setarg  0x00000005 
+ 00025018  0x0000606e istore  0x00000001 , 0x00000005 
+ 00025019  0x0000606f branch  0x000062b2 
+ 00025020  0x00006073 force  0x00000002 , 0x0000003f 
+ 00025021  0x00006074 call  0x00006298 
+ 00025022  0x00006075 setarg  0x00000000 
+ 00025023  0x00006076 istore  0x00000001 , 0x00000005 
+ 00025024  0x00006077 branch  0x000062b2 
+ 00025025  0x0000607b jam  0x0000002e , 0x0000007c 
+ 00025026  0x0000607c rtn 
+ 00025027  0x0000607e fetch  0x00000001 , 0x00004092 
+ 00025028  0x0000607f sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00025029  0x00006080 call  0x000061c1 , 0x00000005 
+ 00025030  0x00006081 fetch  0x00000001 , 0x00000030 
+ 00025031  0x00006082 set1  0x00000004 , 0x0000003f 
+ 00025032  0x00006083 store  0x00000001 , 0x00000030 
+ 00025033  0x00006084 copy  0x00000022 , 0x0000003f 
+ 00025034  0x00006085 store  0x00000004 , 0x000004e9 
+ 00025035  0x00006086 fetch  0x00000001 , 0x000004d1 
+ 00025036  0x00006087 bbit1  0x00000003 , 0x000061d4 
+ 00025037  0x00006088 set1  0x00000003 , 0x0000003f 
+ 00025038  0x00006089 store  0x00000001 , 0x000004d1 
+ 00025039  0x0000608a jam  0x00000005 , 0x00000a99 
+ 00025040  0x0000608b call  0x00007d86 
+ 00025041  0x0000608c force  0x00000001 , 0x0000003f 
+ 00025042  0x0000608d call  0x00006298 
+ 00025043  0x0000608e branch  0x000062b2 
+ 00025044  0x00006090 jam  0x00000000 , 0x00000048 
+ 00025045  0x00006091 rtn 
+ 00025046  0x00006094 force  0x00000006 , 0x0000003f 
+ 00025047  0x00006095 call  0x00006298 
+ 00025048  0x00006096 fetch  0x00000005 , 0x00004510 
+ 00025049  0x00006097 istore  0x00000005 , 0x00000005 
+ 00025050  0x00006098 branch  0x000062b2 
+ 00025051  0x0000609b force  0x00000009 , 0x0000003f 
+ 00025052  0x0000609c call  0x00006298 
+ 00025053  0x0000609d fetch  0x00000008 , 0x00004098 
+ 00025054  0x0000609e istore  0x00000008 , 0x00000005 
+ 00025055  0x0000609f branch  0x000062b2 
+ 00025056  0x000060a2 jam  0x00000001 , 0x000009b1 
+ 00025057  0x000060a3 fetch  0x00000001 , 0x000045b1 
+ 00025058  0x000060a4 rtnne  0x00000001 
+ 00025059  0x000060a5 jam  0x00000013 , 0x000009af 
+ 00025060  0x000060a6 rtn 
+ 00025061  0x000060a9 call  0x000062ef 
+ 00025062  0x000060aa jam  0x00000099 , 0x0000007c 
+ 00025063  0x000060ab jam  0x00000003 , 0x000009af 
+ 00025064  0x000060ac rtn 
+ 00025065  0x000060b0 call  0x000062ef 
+ 00025066  0x000060b1 jam  0x0000003d , 0x0000007c 
+ 00025067  0x000060b2 jam  0x00000007 , 0x000009af 
+ 00025068  0x000060b3 rtn 
+ 00025069  0x000060b6 arg  0x00000a4e , 0x00000011 
+ 00025070  0x000060b7 arg  0x00000a6e , 0x00000012 
+ 00025071  0x000060b8 arg  0x00000010 , 0x00000039 
+ 00025072  0x000060b9 call  0x00007f88 
+ 00025073  0x000060ba branch  0x000061f7 , 0x00000005 
+ 00025074  0x000060bb jam  0x00000000 , 0x000009af 
+ 00025075  0x000060bc call  0x000076da 
+ 00025076  0x000060bd jam  0x00000024 , 0x0000007e 
+ 00025077  0x000060be jam  0x00000040 , 0x0000007d 
+ 00025078  0x000060bf branch  0x00005d53 
+ 00025079  0x000060c1 jam  0x0000000a , 0x000009af 
+ 00025080  0x000060c2 call  0x000076d8 
+ 00025081  0x000060c3 jam  0x00000040 , 0x0000007d 
+ 00025082  0x000060c4 branch  0x00005e38 
+ 00025083  0x000060c9 jam  0x00000040 , 0x0000007c 
+ 00025084  0x000060ca rtn 
+ 00025085  0x000060d1 jam  0x0000003d , 0x0000007c 
+ 00025086  0x000060d3 rtn 
+ 00025087  0x000060da jam  0x00000000 , 0x000009b6 
+ 00025088  0x000060db force  0x00000004 , 0x0000003f 
+ 00025089  0x000060dc call  0x00006298 
+ 00025090  0x000060dd force  0x00000001 , 0x0000003f 
+ 00025091  0x000060de istore  0x00000001 , 0x00000005 
+ 00025092  0x000060df force  0x00000001 , 0x0000003f 
+ 00025093  0x000060e0 istore  0x00000001 , 0x00000005 
+ 00025094  0x000060e1 force  0x00000030 , 0x0000003f 
+ 00025095  0x000060e2 istore  0x00000001 , 0x00000005 
+ 00025096  0x000060e3 call  0x000062fc 
+ 00025097  0x000060e4 branch  0x000062b2 , 0x00000001 
+ 00025098  0x000060e5 branch  0x000062b0 
+ 00025099  0x000060e9 force  0x00000011 , 0x0000003f 
+ 00025100  0x000060ea call  0x00006298 
+ 00025101  0x000060eb fetch  0x00000001 , 0x000009b6 
+ 00025102  0x000060ec arg  0x0000462a , 0x00000006 
+ 00025103  0x000060ed iadd  0x00000006 , 0x00000006 
+ 00025104  0x000060ee ifetch  0x00000008 , 0x00000006 
+ 00025105  0x000060ef istore  0x00000008 , 0x00000005 
+ 00025106  0x000060f0 ifetch  0x00000008 , 0x00000006 
+ 00025107  0x000060f1 istore  0x00000008 , 0x00000005 
+ 00025108  0x000060f2 fetch  0x00000001 , 0x000009b6 
+ 00025109  0x000060f3 increase  0x00000010 , 0x0000003f 
+ 00025110  0x000060f4 store  0x00000001 , 0x000009b6 
+ 00025111  0x000060f5 call  0x000062fc 
+ 00025112  0x000060f6 branch  0x000062b2 , 0x00000001 
+ 00025113  0x000060f7 branch  0x000062b0 
+ 00025114  0x000060fb jam  0x00000006 , 0x000009ae 
+ 00025115  0x000060fc jam  0x0000003f , 0x0000007c 
+ 00025116  0x000060fd rtn 
+ 00025117  0x00006101 force  0x00000011 , 0x0000003f 
+ 00025118  0x00006102 call  0x00006298 
+ 00025119  0x00006103 arg  0x00000a4e , 0x00000006 
+ 00025120  0x00006104 ifetch  0x00000008 , 0x00000006 
+ 00025121  0x00006105 istore  0x00000008 , 0x00000005 
+ 00025122  0x00006106 ifetch  0x00000008 , 0x00000006 
+ 00025123  0x00006107 istore  0x00000008 , 0x00000005 
+ 00025124  0x00006108 branch  0x000062b0 
+ 00025125  0x0000610b jam  0x00000040 , 0x0000007c 
+ 00025126  0x0000610c rtn 
+ 00025127  0x00006110 call  0x000062fc 
+ 00025128  0x00006111 call  0x00007612 , 0x00000001 
+ 00025129  0x00006112 force  0x00000011 , 0x0000003f 
+ 00025130  0x00006113 call  0x00006298 
+ 00025131  0x00006114 arg  0x00000a1e , 0x00000006 
+ 00025132  0x00006115 ifetch  0x00000008 , 0x00000006 
+ 00025133  0x00006116 istore  0x00000008 , 0x00000005 
+ 00025134  0x00006117 ifetch  0x00000008 , 0x00000006 
+ 00025135  0x00006118 istore  0x00000008 , 0x00000005 
+ 00025136  0x00006119 call  0x000062fc 
+ 00025137  0x0000611a nbranch  0x000062b0 , 0x00000001 
+ 00025138  0x0000611b branch  0x000062b2 , 0x00000001 
+ 00025139  0x0000611f jam  0x0000000f , 0x000009af 
+ 00025140  0x00006121 call  0x000062ef 
+ 00025141  0x00006122 jam  0x0000000b , 0x0000007c 
+ 00025142  0x00006123 call  0x00006307 
+ 00025143  0x00006124 branch  0x0000764e , 0x00000001 
+ 00025144  0x00006125 branch  0x00007658 
+ 00025145  0x00006127 call  0x000062eb 
+ 00025146  0x00006129 jam  0x00000041 , 0x0000007c 
+ 00025147  0x0000612a rtn 
+ 00025148  0x0000612d force  0x00000011 , 0x0000003f 
+ 00025149  0x0000612e call  0x00006298 
+ 00025150  0x0000612f arg  0x00000a4e , 0x00000006 
+ 00025151  0x00006130 ifetch  0x00000008 , 0x00000006 
+ 00025152  0x00006131 istore  0x00000008 , 0x00000005 
+ 00025153  0x00006132 ifetch  0x00000008 , 0x00000006 
+ 00025154  0x00006133 istore  0x00000008 , 0x00000005 
+ 00025155  0x00006134 call  0x000062fc 
+ 00025156  0x00006135 nbranch  0x000062b0 , 0x00000001 
+ 00025157  0x00006136 branch  0x000062b2 , 0x00000001 
+ 00025158  0x00006139 force  0x00000003 , 0x0000003f 
+ 00025159  0x0000613a call  0x00006298 
+ 00025160  0x0000613b setarg  0x0000fffe 
+ 00025161  0x0000613c istore  0x00000002 , 0x00000005 
+ 00025162  0x0000613d branch  0x000062b0 
+ 00025163  0x00006140 branch  0x000062b2 
+ 00025164  0x00006142 branch  0x000062b2 
+ 00025165  0x00006144 branch  0x000062b2 
+ 00025166  0x00006146 branch  0x000062b2 
+ 00025167  0x0000614c call  0x0000630b 
+ 00025168  0x0000614d arg  0x000040a0 , 0x00000011 
+ 00025169  0x0000614e call  0x00006311 
+ 00025170  0x0000614f force  0x00000011 , 0x0000003f 
+ 00025171  0x00006150 call  0x00006298 
+ 00025172  0x00006151 arg  0x00000582 , 0x00000011 
+ 00025173  0x00006152 arg  0x00000562 , 0x00000012 
+ 00025174  0x00006153 call  0x00007352 
+ 00025175  0x00006154 nbranch  0x000062a7 , 0x00000029 
+ 00025176  0x00006155 branch  0x000062ad 
+ 00025177  0x00006158 call  0x0000630b 
+ 00025178  0x00006159 arg  0x00000040 , 0x00000011 
+ 00025179  0x0000615a call  0x00007255 
+ 00025180  0x0000615c force  0x00000011 , 0x0000003f 
+ 00025181  0x0000615d call  0x00006298 
+ 00025182  0x0000615e arg  0x00000562 , 0x00000006 
+ 00025183  0x0000615f call  0x00007ebf 
+ 00025184  0x00006160 fetch  0x00000001 , 0x00000055 
+ 00025185  0x00006161 beq  0x00000019 , 0x000062b2 
+ 00025186  0x00006162 beq  0x00000018 , 0x000062b2 
+ 00025187  0x00006163 branch  0x000062ad 
+ 00025188  0x00006166 fetch  0x00000001 , 0x000009b5 
+ 00025189  0x00006167 branch  0x0000626a , 0x00000034 
+ 00025190  0x00006168 call  0x000062fc 
+ 00025191  0x00006169 call  0x000062ef , 0x00000001 
+ 00025192  0x0000616a ncall  0x000062eb , 0x00000001 
+ 00025193  0x0000616b branch  0x0000626b 
+ 00025194  0x0000616d call  0x000062ef 
+ 00025195  0x0000616f call  0x0000630b 
+ 00025196  0x00006170 branch  0x0000625c 
+ 00025197  0x00006173 arg  0x000040a0 , 0x00000011 
+ 00025198  0x00006174 call  0x00007288 
+ 00025199  0x00006175 force  0x00000005 , 0x0000003f 
+ 00025200  0x00006176 call  0x00006298 
+ 00025201  0x00006177 fetch  0x00000004 , 0x00000592 
+ 00025202  0x00006178 istore  0x00000004 , 0x00000005 
+ 00025203  0x00006179 arg  0x000004d5 , 0x00000002 
+ 00025204  0x0000617a call  0x000062e2 
+ 00025205  0x0000617b call  0x00007386 
+ 00025206  0x0000617c call  0x000062fc 
+ 00025207  0x0000617d branch  0x0000627c , 0x00000001 
+ 00025208  0x0000617e jam  0x00000001 , 0x000004d8 
+ 00025209  0x0000617f fetch  0x00000001 , 0x000009b5 
+ 00025210  0x00006180 rtn  0x00000034 
+ 00025211  0x00006181 jam  0x0000000b , 0x0000007c 
+ 00025212  0x00006183 fetch  0x00000001 , 0x000041bd 
+ 00025213  0x00006184 rtn  0x00000034 
+ 00025214  0x00006186 call  0x000062fc 
+ 00025215  0x00006187 nbranch  0x00006284 , 0x00000001 
+ 00025216  0x00006188 fetch  0x00000001 , 0x000004d7 
+ 00025217  0x00006189 rtn  0x00000034 
+ 00025218  0x0000618a jam  0x0000000f , 0x0000007c 
+ 00025219  0x0000618b rtn 
+ 00025220  0x0000618d rtnmark0  0x00000021 
+ 00025221  0x0000618e set0  0x00000021 , 0x00000000 
+ 00025222  0x0000618f jam  0x0000000f , 0x0000007c 
+ 00025223  0x00006190 rtn 
+ 00025224  0x00006195 call  0x0000630b 
+ 00025225  0x00006196 call  0x0000728b 
+ 00025226  0x00006197 force  0x00000011 , 0x0000003f 
+ 00025227  0x00006198 call  0x00006298 
+ 00025228  0x00006199 arg  0x00000562 , 0x00000006 
+ 00025229  0x0000619a call  0x00007ebf 
+ 00025230  0x0000619b branch  0x000062ad 
+ 00025231  0x0000619e force  0x00000001 , 0x0000003f 
+ 00025232  0x0000619f call  0x00006298 
+ 00025233  0x000061a0 branch  0x000062ad 
+ 00025234  0x000061a3 force  0x00000002 , 0x0000003f 
+ 00025235  0x000061a4 call  0x00006298 
+ 00025236  0x000061a5 force  0x00000010 , 0x0000003f 
+ 00025237  0x000061a6 istore  0x00000001 , 0x00000005 
+ 00025238  0x000061a7 store  0x00000001 , 0x00000054 
+ 00025239  0x000061a8 branch  0x000062ad 
+ 00025240  0x000061ac lshift3  0x0000003f , 0x0000003f 
+ 00025241  0x000061ad or_into  0x00000007 , 0x0000003f 
+ 00025242  0x000061ae store  0x00000001 , 0x000004b6 
+ 00025243  0x000061af arg  0x00000011 , 0x00000039 
+ 00025244  0x000061b0 arg  0x000004b8 , 0x00000005 
+ 00025245  0x000061b1 call  0x00007ed4 
+ 00025246  0x000061b2 arg  0x000004b8 , 0x00000005 
+ 00025247  0x000061b3 rtn 
+ 00025248  0x000061b6 and  0x0000003f , 0x0000007f , 0x00000011 
+ 00025249  0x000061b7 jam  0x0000007f , 0x00000048 
+ 00025250  0x000061b8 deposit  0x00000007 
+ 00025251  0x000061b9 call  0x00006298 
+ 00025252  0x000061ba deposit  0x00000011 
+ 00025253  0x000061bb istore  0x00000001 , 0x00000005 
+ 00025254  0x000061bc rtn 
+ 00025255  0x000061bf fetch  0x00000001 , 0x00000048 
+ 00025256  0x000061c0 lshift  0x0000003f , 0x0000003f 
+ 00025257  0x000061c1 fetcht  0x00000001 , 0x0000004c 
+ 00025258  0x000061c2 isolate1  0x00000001 , 0x00000002 
+ 00025259  0x000061c3 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025260  0x000061c4 branch  0x000062b7 
+ 00025261  0x000061c8 fetcht  0x00000001 , 0x0000004c 
+ 00025262  0x000061c9 and_into  0x00000001 , 0x00000002 
+ 00025263  0x000061ca branch  0x000062b3 
+ 00025264  0x000061cd force  0x00000000 , 0x00000002 
+ 00025265  0x000061ce branch  0x000062b3 
+ 00025266  0x000061d1 force  0x00000001 , 0x00000002 
+ 00025267  0x000061d3 fetch  0x00000001 , 0x00000048 
+ 00025268  0x000061d4 lshift  0x0000003f , 0x0000003f 
+ 00025269  0x000061d5 setflag  0x00000029 , 0x00000000 , 0x0000003f 
+ 00025270  0x000061d6 ixor  0x00000002 , 0x0000003f 
+ 00025271  0x000061d8 store  0x00000001 , 0x000004b7 
+ 00025272  0x000061d9 jam  0x00000000 , 0x00000048 
+ 00025273  0x000061da call  0x000062c7 
+ 00025274  0x000061db enable  0x00000028 
+ 00025275  0x000061dc rtn 
+ 00025276  0x000061e0 fetch  0x00000001 , 0x0000007c 
+ 00025277  0x000061e1 rtn  0x00000034 
+ 00025278  0x000061e2 call  0x000062c1 
+ 00025279  0x000061e3 fetch  0x00000001 , 0x0000007c 
+ 00025280  0x000061e4 rtn 
+ 00025281  0x000061e7 bpatchx  0x00000086 , 0x00004030 
+ 00025282  0x000061e8 fetch  0x00000001 , 0x00000048 
+ 00025283  0x000061e9 branch  0x000062c7 , 0x00000034 
+ 00025284  0x000061ea fetch  0x00000001 , 0x00000078 
+ 00025285  0x000061eb nrtn  0x00000034 
+ 00025286  0x000061ec branch  0x000062d1 
+ 00025287  0x000061ee fetch  0x00000001 , 0x00000078 
+ 00025288  0x000061ef branch  0x000062d7 , 0x00000034 
+ 00025289  0x000061f0 fetch  0x00000003 , 0x00000078 
+ 00025290  0x000061f1 store  0x00000003 , 0x00000048 
+ 00025291  0x000061f2 fetcht  0x00000001 , 0x0000007b 
+ 00025292  0x000061f3 fetch  0x00000001 , 0x0000004c 
+ 00025293  0x000061f4 set0  0x00000001 , 0x0000003f 
+ 00025294  0x000061f5 ior  0x00000002 , 0x0000003f 
+ 00025295  0x000061f6 store  0x00000001 , 0x0000004c 
+ 00025296  0x000061f7 jam  0x00000000 , 0x00000078 
+ 00025297  0x000061f9 fetch  0x00000001 , 0x0000007c 
+ 00025298  0x000061fa rtn  0x00000034 
+ 00025299  0x000061fb fetch  0x00000004 , 0x0000007c 
+ 00025300  0x000061fc store  0x00000004 , 0x00000078 
+ 00025301  0x000061fd jam  0x00000000 , 0x0000007c 
+ 00025302  0x000061fe rtn 
+ 00025303  0x00006200 fetch  0x00000001 , 0x0000007c 
+ 00025304  0x00006201 rtn  0x00000034 
+ 00025305  0x00006202 fetch  0x00000003 , 0x0000007c 
+ 00025306  0x00006203 store  0x00000003 , 0x00000048 
+ 00025307  0x00006204 fetcht  0x00000001 , 0x0000007f 
+ 00025308  0x00006205 fetch  0x00000001 , 0x0000004c 
+ 00025309  0x00006206 set0  0x00000001 , 0x0000003f 
+ 00025310  0x00006207 ior  0x00000002 , 0x0000003f 
+ 00025311  0x00006208 store  0x00000001 , 0x0000004c 
+ 00025312  0x00006209 jam  0x00000000 , 0x0000007c 
+ 00025313  0x0000620a rtn 
+ 00025314  0x0000620e bpatchx  0x00000087 , 0x00004030 
+ 00025315  0x0000620f fetch  0x00000001 , 0x0000004c 
+ 00025316  0x00006210 copy  0x0000003f , 0x00000013 
+ 00025317  0x00006211 ifetch  0x00000001 , 0x00000002 
+ 00025318  0x00006212 call  0x00005e52 
+ 00025319  0x00006213 call  0x000062a7 
+ 00025320  0x00006214 copy  0x00000013 , 0x0000003f 
+ 00025321  0x00006215 store  0x00000001 , 0x0000004c 
+ 00025322  0x00006216 rtn 
+ 00025323  0x00006219 fetcht  0x00000001 , 0x0000004c 
+ 00025324  0x0000621a set0  0x00000000 , 0x00000002 
+ 00025325  0x0000621b storet  0x00000001 , 0x0000004c 
+ 00025326  0x0000621c rtn 
+ 00025327  0x0000621f fetcht  0x00000001 , 0x0000004c 
+ 00025328  0x00006220 set1  0x00000000 , 0x00000002 
+ 00025329  0x00006221 storet  0x00000001 , 0x0000004c 
+ 00025330  0x00006222 rtn 
+ 00025331  0x00006226 nsetflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00025332  0x00006227 fetcht  0x00000001 , 0x0000004c 
+ 00025333  0x00006228 ixor  0x00000002 , 0x0000003f 
+ 00025334  0x00006229 isolate1  0x00000001 , 0x0000003f 
+ 00025335  0x0000622a rtn 
+ 00025336  0x0000622e fetch  0x00000001 , 0x0000004c 
+ 00025337  0x0000622f setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00025338  0x00006230 store  0x00000001 , 0x0000004c 
+ 00025339  0x00006231 rtn 
+ 00025340  0x00006235 fetch  0x00000001 , 0x000009b4 
+ 00025341  0x00006236 compare  0x00000001 , 0x0000003f , 0x0000007f 
+ 00025342  0x00006237 rtn 
+ 00025343  0x00006239 fetch  0x00000001 , 0x000009b4 
+ 00025344  0x0000623a set1  0x00000007 , 0x0000003f 
+ 00025345  0x0000623b store  0x00000001 , 0x000009b4 
+ 00025346  0x0000623c rtn 
+ 00025347  0x0000623e fetch  0x00000001 , 0x000009b4 
+ 00025348  0x0000623f set0  0x00000007 , 0x0000003f 
+ 00025349  0x00006240 store  0x00000001 , 0x000009b4 
+ 00025350  0x00006241 rtn 
+ 00025351  0x00006243 fetch  0x00000001 , 0x000009b4 
+ 00025352  0x00006244 isolate1  0x00000007 , 0x0000003f 
+ 00025353  0x00006245 store  0x00000001 , 0x000009b4 
+ 00025354  0x00006246 rtn 
+ 00025355  0x0000624a arg  0x00000562 , 0x00000005 
+ 00025356  0x0000624c force  0x00000010 , 0x00000039 
+ 00025357  0x0000624f random  0x0000003f 
+ 00025358  0x00006250 istore  0x00000001 , 0x00000005 
+ 00025359  0x00006251 loop  0x0000630d 
+ 00025360  0x00006252 rtn 
+ 00025361  0x00006255 call  0x00007259 
+ 00025362  0x00006256 arg  0x000041be , 0x00000011 
+ 00025363  0x00006257 arg  0x00000592 , 0x00000012 
+ 00025364  0x00006258 ifetch  0x00000008 , 0x00000011 
+ 00025365  0x00006259 fetcht  0x00000001 , 0x00000030 
+ 00025366  0x0000625a nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00025367  0x0000625b storet  0x00000001 , 0x00000030 
+ 00025368  0x0000625c copy  0x00000011 , 0x00000005 
+ 00025369  0x0000625d call  0x00007352 
+ 00025370  0x0000625e branch  0x000021c4 
+ 00025371  0x00006266 bpatchx  0x00000088 , 0x00004031 
+ 00025372  0x00006268 call  0x000062bc 
+ 00025373  0x00006269 nrtn  0x00000034 
+ 00025374  0x0000626b fetch  0x00000001 , 0x00000055 
+ 00025375  0x0000626c rtn  0x00000034 
+ 00025376  0x00006270 beq  0x00000004 , 0x0000636f 
+ 00025377  0x00006271 beq  0x00000005 , 0x00006374 
+ 00025378  0x00006272 beq  0x00000002 , 0x00006366 
+ 00025379  0x00006273 beq  0x00000003 , 0x0000637c 
+ 00025380  0x00006274 beq  0x0000000e , 0x00006369 
+ 00025381  0x00006275 beq  0x00000006 , 0x00006398 
+ 00025382  0x00006276 beq  0x00000007 , 0x000063b0 
+ 00025383  0x00006277 beq  0x00000009 , 0x000063b1 
+ 00025384  0x00006278 beq  0x0000000a , 0x000063ba 
+ 00025385  0x00006279 beq  0x0000000b , 0x000063be 
+ 00025386  0x0000627a beq  0x0000000c , 0x00006386 
+ 00025387  0x0000627b beq  0x0000000d , 0x00006389 
+ 00025388  0x0000627c beq  0x0000000f , 0x0000638f 
+ 00025389  0x0000627d beq  0x00000012 , 0x00006359 
+ 00025390  0x0000627e beq  0x00000013 , 0x0000637c 
+ 00025391  0x0000627f beq  0x00000010 , 0x0000635c 
+ 00025392  0x00006280 beq  0x00000014 , 0x00006356 
+ 00025393  0x00006281 beq  0x00000015 , 0x0000637c 
+ 00025394  0x00006282 beq  0x00000016 , 0x00006350 
+ 00025395  0x00006283 beq  0x00000018 , 0x00006355 
+ 00025396  0x00006284 beq  0x00000017 , 0x00006349 
+ 00025397  0x00006285 beq  0x00000019 , 0x0000634f 
+ 00025398  0x00006286 beq  0x0000001a , 0x0000633a 
+ 00025399  0x00006287 beq  0x0000001b , 0x00006344 
+ 00025400  0x00006288 jam  0x00000000 , 0x00000055 
+ 00025401  0x0000628a rtn 
+ 00025402  0x0000628c fetch  0x00000001 , 0x000004d1 
+ 00025403  0x0000628d rtnbit0  0x00000002 
+ 00025404  0x0000628e rtnbit0  0x00000003 
+ 00025405  0x0000628f jam  0x00000000 , 0x00000055 
+ 00025406  0x00006290 call  0x00006340 
+ 00025407  0x00006291 branch  0x00006cef 
+ 00025408  0x00006294 fetch  0x00000001 , 0x0000016d 
+ 00025409  0x00006295 rtnbit0  0x00000001 
+ 00025410  0x00006296 jam  0x0000000a , 0x00000055 
+ 00025411  0x00006297 rtn 
+ 00025412  0x0000629a arg  0x00000007 , 0x00000007 
+ 00025413  0x0000629b call  0x00007f16 
+ 00025414  0x0000629c nrtn  0x00000034 
+ 00025415  0x0000629d jam  0x0000001a , 0x00000055 
+ 00025416  0x0000629e rtn 
+ 00025417  0x000062a1 fetch  0x00000001 , 0x0000016d 
+ 00025418  0x000062a2 set0  0x00000000 , 0x0000003f 
+ 00025419  0x000062a3 store  0x00000001 , 0x0000016d 
+ 00025420  0x000062a4 jam  0x00000019 , 0x00000055 
+ 00025421  0x000062a5 jam  0x0000000b , 0x0000007c 
+ 00025422  0x000062a6 rtn 
+ 00025423  0x000062a8 rtn 
+ 00025424  0x000062aa fetch  0x00000001 , 0x000004d4 
+ 00025425  0x000062ab rtnne  0x00000002 
+ 00025426  0x000062ac call  0x000063c0 
+ 00025427  0x000062ad jam  0x00000018 , 0x00000055 
+ 00025428  0x000062ae rtn 
+ 00025429  0x000062b1 rtn 
+ 00025430  0x000062b3 jam  0x00000015 , 0x00000055 
+ 00025431  0x000062b4 jam  0x00000083 , 0x0000007c 
+ 00025432  0x000062b5 rtn 
+ 00025433  0x000062b7 jam  0x00000013 , 0x00000055 
+ 00025434  0x000062b8 jam  0x00000025 , 0x0000007c 
+ 00025435  0x000062b9 rtn 
+ 00025436  0x000062bc fetch  0x00000001 , 0x0000455b 
+ 00025437  0x000062bd rtneq  0x00000000 
+ 00025438  0x000062be beq  0x00000001 , 0x00006364 
+ 00025439  0x000062bf arg  0x00000006 , 0x00000007 
+ 00025440  0x000062c0 call  0x00007f16 
+ 00025441  0x000062c1 nrtn  0x00000034 
+ 00025442  0x000062c2 jam  0x00000000 , 0x0000455b 
+ 00025443  0x000062c3 branch  0x0000637d 
+ 00025444  0x000062c5 rtn  0x00000029 
+ 00025445  0x000062c6 branch  0x00006398 
+ 00025446  0x000062c9 jam  0x00000003 , 0x00000055 
+ 00025447  0x000062ca jam  0x00000027 , 0x0000007c 
+ 00025448  0x000062cb rtn 
+ 00025449  0x000062cd jam  0x00000013 , 0x0000007c 
+ 00025450  0x000062ce set1  0x00000003 , 0x00000000 
+ 00025451  0x000062cf jam  0x00000005 , 0x00000055 
+ 00025452  0x000062d0 setarg  0x000001ff 
+ 00025453  0x000062d1 store  0x00000002 , 0x000004d2 
+ 00025454  0x000062d2 rtn 
+ 00025455  0x000062d4 jam  0x00000005 , 0x00000055 
+ 00025456  0x000062d5 jam  0x000000ff , 0x000004d2 
+ 00025457  0x000062d6 set0  0x00000022 , 0x00000000 
+ 00025458  0x000062d7 jam  0x00000033 , 0x0000007c 
+ 00025459  0x000062d8 branch  0x00005d04 
+ 00025460  0x000062da rtnmark1  0x00000022 
+ 00025461  0x000062db fetch  0x00000002 , 0x000004d2 
+ 00025462  0x000062dc sub  0x0000003f , 0x00000001 , 0x0000003f 
+ 00025463  0x000062dd branch  0x0000637a , 0x00000005 
+ 00025464  0x000062de store  0x00000002 , 0x000004d2 
+ 00025465  0x000062df rtn 
+ 00025466  0x000062e1 jam  0x0000000e , 0x00000055 
+ 00025467  0x000062e2 rtn 
+ 00025468  0x000062e5 rtn 
+ 00025469  0x000062e8 fetch  0x00000001 , 0x000004d1 
+ 00025470  0x000062e9 rtnbit0  0x00000003 
+ 00025471  0x000062ea rtnbit0  0x00000002 
+ 00025472  0x000062eb fetch  0x00000001 , 0x0000016d 
+ 00025473  0x000062ec set0  0x00000002 , 0x0000003f 
+ 00025474  0x000062ed store  0x00000001 , 0x0000016d 
+ 00025475  0x000062ee jam  0x00000013 , 0x0000007c 
+ 00025476  0x000062ef jam  0x00000010 , 0x00000055 
+ 00025477  0x000062f0 rtn 
+ 00025478  0x000062f3 jam  0x0000000d , 0x00000055 
+ 00025479  0x000062f4 jam  0x00000031 , 0x0000007c 
+ 00025480  0x000062f5 rtn 
+ 00025481  0x000062f8 fetch  0x00000001 , 0x000004d1 
+ 00025482  0x000062f9 rtnbit0  0x00000002 
+ 00025483  0x000062fa jam  0x00000000 , 0x00000055 
+ 00025484  0x000062fc rtn 
+ 00025485  0x000062fe jam  0x00000006 , 0x00000055 
+ 00025486  0x000062ff rtn 
+ 00025487  0x00006302 fetch  0x00000001 , 0x000004d2 
+ 00025488  0x00006303 increase  0xffffffff , 0x0000003f 
+ 00025489  0x00006304 branch  0x00006394 , 0x00000034 
+ 00025490  0x00006305 store  0x00000001 , 0x000004d2 
+ 00025491  0x00006306 rtn 
+ 00025492  0x00006308 jam  0x00000007 , 0x0000007c 
+ 00025493  0x00006309 jam  0x00000016 , 0x000004ca 
+ 00025494  0x0000630a jam  0x00000000 , 0x00000055 
+ 00025495  0x0000630b rtn 
+ 00025496  0x0000630e fetch  0x00000001 , 0x0000016d 
+ 00025497  0x0000630f bbit1  0x00000002 , 0x0000637d 
+ 00025498  0x00006310 bbit1  0x00000000 , 0x0000639d 
+ 00025499  0x00006312 jam  0x0000001a , 0x00000055 
+ 00025500  0x00006313 rtn 
+ 00025501  0x00006315 fetch  0x00000001 , 0x000041bd 
+ 00025502  0x00006316 branch  0x000063a9 , 0x00000034 
+ 00025503  0x00006317 fetch  0x00000001 , 0x000004d1 
+ 00025504  0x00006318 rtnbit0  0x00000003 
+ 00025505  0x00006319 rtnbit0  0x00000002 
+ 00025506  0x0000631a fetch  0x00000004 , 0x000004e9 
+ 00025507  0x0000631b arg  0x00000064 , 0x00000002 
+ 00025508  0x0000631c iadd  0x00000002 , 0x00000002 
+ 00025509  0x0000631d copy  0x00000022 , 0x0000003f 
+ 00025510  0x0000631e isub  0x00000002 , 0x0000003e 
+ 00025511  0x0000631f nrtn  0x00000002 
+ 00025512  0x00006320 branch  0x00006349 
+ 00025513  0x00006325 jam  0x00000016 , 0x00000055 
+ 00025514  0x00006326 jam  0x00000004 , 0x00004689 
+ 00025515  0x00006327 setarg  0x00003030 
+ 00025516  0x00006328 store  0x00000002 , 0x0000468a 
+ 00025517  0x00006329 istore  0x00000002 , 0x00000005 
+ 00025518  0x0000632a jam  0x00000002 , 0x000004d4 
+ 00025519  0x0000632b branch  0x00006350 
+ 00025520  0x0000632e rtn 
+ 00025521  0x00006330 fetch  0x00000001 , 0x0000016d 
+ 00025522  0x00006331 bbit1  0x00000001 , 0x000063b5 
+ 00025523  0x00006332 jam  0x0000001a , 0x00000055 
+ 00025524  0x00006333 rtn 
+ 00025525  0x00006336 fetch  0x00000001 , 0x0000016d 
+ 00025526  0x00006337 set0  0x00000001 , 0x0000003f 
+ 00025527  0x00006338 store  0x00000001 , 0x0000016d 
+ 00025528  0x00006339 jam  0x0000000f , 0x0000007c 
+ 00025529  0x0000633a rtn 
+ 00025530  0x0000633d fetch  0x00000001 , 0x000004d8 
+ 00025531  0x0000633e rtn  0x00000034 
+ 00025532  0x0000633f jam  0x00000000 , 0x00000055 
+ 00025533  0x00006340 branch  0x000063b5 
+ 00025534  0x00006343 jam  0x0000000c , 0x00000055 
+ 00025535  0x00006344 rtn 
+ 00025536  0x00006347 fetch  0x00000001 , 0x0000004b 
+ 00025537  0x00006348 bbit1  0x00000002 , 0x000063c5 
+ 00025538  0x00006349 call  0x000062ef 
+ 00025539  0x0000634a jam  0x00000008 , 0x0000007c 
+ 00025540  0x0000634b branch  0x00004d04 
+ 00025541  0x0000634d fetch  0x00000001 , 0x0000004b 
+ 00025542  0x0000634e set0  0x00000002 , 0x0000003f 
+ 00025543  0x0000634f store  0x00000001 , 0x0000004b 
+ 00025544  0x00006350 call  0x00006001 
+ 00025545  0x00006351 call  0x000062f8 
+ 00025546  0x00006352 branch  0x00004d04 
+ 00025547  0x00006355 setarg  0x00000004 
+ 00025548  0x00006356 store  0x00000001 , 0x00004689 
+ 00025549  0x00006357 setarg  0x00003030 
+ 00025550  0x00006358 istore  0x00000002 , 0x00000005 
+ 00025551  0x00006359 istore  0x00000002 , 0x00000005 
+ 00025552  0x0000635a rtn 
+ 00025553  0x00006361 bpatchx  0x0000008c , 0x00004031 
+ 00025554  0x00006362 hfetch  0x00000001 , 0x00008073 
+ 00025555  0x00006363 arg  0x00000006 , 0x00000002 
+ 00025556  0x00006364 ior  0x00000002 , 0x0000003f 
+ 00025557  0x00006365 hstore  0x00000001 , 0x00008073 
+ 00025558  0x00006366 hfetch  0x00000001 , 0x00008077 
+ 00025559  0x00006367 ior  0x00000002 , 0x0000003f 
+ 00025560  0x00006368 hstore  0x00000001 , 0x00008077 
+ 00025561  0x00006369 call  0x000063ee 
+ 00025562  0x0000636a hfetch  0x00000001 , 0x00008077 
+ 00025563  0x0000636b set0  0x00000001 , 0x0000003f 
+ 00025564  0x0000636c set0  0x00000002 , 0x0000003f 
+ 00025565  0x0000636d hstore  0x00000001 , 0x00008077 
+ 00025566  0x0000636e nop  0x0000001e 
+ 00025567  0x0000636f branch  0x000063f2 
+ 00025568  0x00006372 hfetch  0x00000001 , 0x00008073 
+ 00025569  0x00006373 arg  0x000000c0 , 0x00000002 
+ 00025570  0x00006374 ior  0x00000002 , 0x0000003f 
+ 00025571  0x00006375 hstore  0x00000001 , 0x00008073 
+ 00025572  0x00006376 hfetch  0x00000001 , 0x00008077 
+ 00025573  0x00006377 ior  0x00000002 , 0x0000003f 
+ 00025574  0x00006378 hstore  0x00000001 , 0x00008077 
+ 00025575  0x00006379 call  0x000063ee 
+ 00025576  0x0000637a hfetch  0x00000001 , 0x00008077 
+ 00025577  0x0000637b set0  0x00000006 , 0x0000003f 
+ 00025578  0x0000637c set0  0x00000007 , 0x0000003f 
+ 00025579  0x0000637d hstore  0x00000001 , 0x00008077 
+ 00025580  0x0000637e nop  0x0000001e 
+ 00025581  0x0000637f branch  0x000063f6 
+ 00025582  0x00006382 hfetch  0x00000001 , 0x00008081 
+ 00025583  0x00006383 and  0x0000003f , 0x000000fc , 0x0000003f 
+ 00025584  0x00006384 hstore  0x00000001 , 0x00008081 
+ 00025585  0x00006385 rtn 
+ 00025586  0x00006387 hfetch  0x00000001 , 0x00008081 
+ 00025587  0x00006388 or  0x0000003f , 0x00000001 , 0x0000003f 
+ 00025588  0x00006389 hstore  0x00000001 , 0x00008081 
+ 00025589  0x0000638a rtn 
+ 00025590  0x0000638c hfetch  0x00000001 , 0x00008081 
+ 00025591  0x0000638d or  0x0000003f , 0x00000003 , 0x0000003f 
+ 00025592  0x0000638e set0  0x00000004 , 0x0000003f 
+ 00025593  0x0000638f hstore  0x00000001 , 0x00008081 
+ 00025594  0x00006390 rtn 
+ 00025595  0x00006395 copy  0x0000003f , 0x00000012 
+ 00025596  0x00006396 call  0x0000640f 
+ 00025597  0x00006397 nop  0x00000064 
+ 00025598  0x00006398 copy  0x00000012 , 0x0000003f 
+ 00025599  0x00006399 call  0x00006414 
+ 00025600  0x0000639a copy  0x0000003f , 0x00000012 
+ 00025601  0x0000639b call  0x00006411 
+ 00025602  0x0000639c nop  0x00000064 
+ 00025603  0x0000639d copy  0x00000012 , 0x0000003f 
+ 00025604  0x0000639e rtn 
+ 00025605  0x000063a1 copy  0x0000003f , 0x00000012 
+ 00025606  0x000063a2 call  0x0000640f 
+ 00025607  0x000063a3 nop  0x00000064 
+ 00025608  0x000063a4 copy  0x00000012 , 0x0000003f 
+ 00025609  0x000063a5 call  0x00006413 
+ 00025610  0x000063a6 call  0x00006411 
+ 00025611  0x000063a7 nop  0x00000064 
+ 00025612  0x000063a8 rtn 
+ 00025613  0x000063ac fetcht  0x00000001 , 0x00004214 
+ 00025614  0x000063ad branch  0x0000680e 
+ 00025615  0x000063b1 fetcht  0x00000001 , 0x00004214 
+ 00025616  0x000063b2 branch  0x00006829 
+ 00025617  0x000063b6 fetcht  0x00000001 , 0x00004214 
+ 00025618  0x000063b7 branch  0x00006825 
+ 00025619  0x000063bb branch  0x000064ec 
+ 00025620  0x000063be branch  0x000064f3 
+ 00025621  0x000063c6 nbranch  0x00006419 , 0x00000028 
+ 00025622  0x000063c7 hfetch  0x00000001 , 0x00008085 
+ 00025623  0x000063c8 or_into  0x00000002 , 0x0000003f 
+ 00025624  0x000063c9 hstore  0x00000001 , 0x00008085 
+ 00025625  0x000063cb copy  0x00000002 , 0x0000003e 
+ 00025626  0x000063cc branch  0x0000641c , 0x00000005 
+ 00025627  0x000063cd copy  0x00000013 , 0x0000003d 
+ 00025628  0x000063cf isolate0  0x00000000 , 0x0000003e 
+ 00025629  0x000063d0 branch  0x000064b9 
+ 00025630  0x000063d4 force  0x00000004 , 0x00000002 
+ 00025631  0x000063d6 arg  0x000001fe , 0x00000011 
+ 00025632  0x000063d7 hfetch  0x00000001 , 0x00008085 
+ 00025633  0x000063d8 and_into  0x000000fd , 0x0000003f 
+ 00025634  0x000063d9 hstore  0x00000001 , 0x00008085 
+ 00025635  0x000063da call  0x00006419 
+ 00025636  0x000063db arg  0x000055aa , 0x00000011 
+ 00025637  0x000063dc fetch  0x00000002 , 0x000001fe 
+ 00025638  0x000063dd ifetcht  0x00000002 , 0x00000006 
+ 00025639  0x000063de isub  0x00000011 , 0x0000003e 
+ 00025640  0x000063df rtn 
+ 00025641  0x000063e2 arg  0x00000002 , 0x00000002 
+ 00025642  0x000063e3 arg  0x00000204 , 0x00000011 
+ 00025643  0x000063e4 call  0x00006419 
+ 00025644  0x000063e5 fetch  0x00000002 , 0x00000204 
+ 00025645  0x000063e6 store  0x00000002 , 0x000001f7 
+ 00025646  0x000063e7 call  0x00006430 , 0x00000028 
+ 00025647  0x000063e8 rtn 
+ 00025648  0x000063eb arg  0x00000010 , 0x00000002 
+ 00025649  0x000063ec arg  0x00000206 , 0x00000011 
+ 00025650  0x000063ed hfetch  0x00000001 , 0x00008085 
+ 00025651  0x000063ee and_into  0x000000fd , 0x0000003f 
+ 00025652  0x000063ef hstore  0x00000001 , 0x00008085 
+ 00025653  0x000063f0 call  0x00006419 
+ 00025654  0x000063f1 arg  0x00000206 , 0x00000006 
+ 00025655  0x000063f2 arg  0x00000010 , 0x00000039 
+ 00025656  0x000063f3 call  0x00007478 
+ 00025657  0x000063f4 call  0x00007428 
+ 00025658  0x000063f5 call  0x00007491 
+ 00025659  0x000063f6 branch  0x00007422 
+ 00025660  0x000063f9 disable  0x0000002d 
+ 00025661  0x000063fa call  0x0000641e 
+ 00025662  0x000063fb nrtn  0x00000005 
+ 00025663  0x000063fc enable  0x0000002d 
+ 00025664  0x000063fd hjam  0x00000080 , 0x00008023 
+ 00025665  0x000063fe hjam  0x00000000 , 0x00008022 
+ 00025666  0x000063ff hjam  0x00000000 , 0x00008024 
+ 00025667  0x00006400 arg  0x00008025 , 0x00000011 
+ 00025668  0x00006401 call  0x00006415 
+ 00025669  0x00006402 hjam  0x00000000 , 0x00008023 
+ 00025670  0x00006404 arg  0x00000006 , 0x00000002 
+ 00025671  0x00006405 call  0x0000641f 
+ 00025672  0x00006406 nrtn  0x00000005 
+ 00025673  0x00006407 ifetch  0x00000002 , 0x00000006 
+ 00025674  0x00006408 iforce  0x00000011 
+ 00025675  0x00006409 call  0x00006419 
+ 00025676  0x0000640a branch  0x00006446 
+ 00025677  0x0000640f call  0x00007f99 
+ 00025678  0x00006410 setarg  0x00001000 
+ 00025679  0x00006411 store  0x00000002 , 0x000001f7 
+ 00025680  0x00006412 arg  0x000065e5 , 0x00000013 
+ 00025681  0x00006413 arg  0x00000002 , 0x00000039 
+ 00025682  0x00006415 call  0x0000641e 
+ 00025683  0x00006416 nrtn  0x00000005 
+ 00025684  0x00006417 fetch  0x00000002 , 0x000001f7 
+ 00025685  0x00006418 byteswap  0x0000003f , 0x0000003f 
+ 00025686  0x00006419 iadd  0x00000002 , 0x0000003f 
+ 00025687  0x0000641a byteswap  0x0000003f , 0x0000003f 
+ 00025688  0x0000641b store  0x00000002 , 0x000001f7 
+ 00025689  0x0000641c loop  0x00006452 
+ 00025690  0x0000641d branch  0x00006446 
+ 00025691  0x00006420 call  0x00007f99 
+ 00025692  0x00006421 disable  0x00000028 
+ 00025693  0x00006422 call  0x0000666a 
+ 00025694  0x00006423 setarg  0x00000000 
+ 00025695  0x00006424 arg  0x000001f3 , 0x00000011 
+ 00025696  0x00006425 arg  0x00000002 , 0x00000002 
+ 00025697  0x00006426 call  0x000066b3 
+ 00025698  0x00006427 fetch  0x00000002 , 0x000001f3 
+ 00025699  0x00006428 bbit0  0x00000007 , 0x0000646e 
+ 00025700  0x00006429 hjam  0x00000025 , 0x00008050 
+ 00025701  0x0000642a setarg  0x000007f0 
+ 00025702  0x0000642b arg  0x00000206 , 0x00000011 
+ 00025703  0x0000642c arg  0x00000010 , 0x00000002 
+ 00025704  0x0000642d call  0x000066b3 
+ 00025705  0x0000642e hjam  0x00000008 , 0x00008006 
+ 00025706  0x0000642f set1  0x0000002b , 0x00000000 
+ 00025707  0x00006430 arg  0x00000206 , 0x00000006 
+ 00025708  0x00006431 call  0x00007484 
+ 00025709  0x00006432 enable  0x00000028 
+ 00025710  0x00006434 jam  0x00000000 , 0x000041da 
+ 00025711  0x00006436 call  0x000064b0 
+ 00025712  0x00006437 fetch  0x00000002 , 0x000001f3 
+ 00025713  0x00006438 byteswap  0x0000003f , 0x0000003f 
+ 00025714  0x00006439 arg  0x000007ff , 0x00000002 
+ 00025715  0x0000643a iand  0x00000002 , 0x0000003f 
+ 00025716  0x0000643b branch  0x0000647b , 0x00000005 
+ 00025717  0x0000643c call  0x0000666f 
+ 00025718  0x0000643d arg  0x000066b8 , 0x00000013 
+ 00025719  0x0000643e call  0x00006430 , 0x00000028 
+ 00025720  0x0000643f call  0x0000643c 
+ 00025721  0x00006440 fetch  0x00000001 , 0x000001f2 
+ 00025722  0x00006441 bbit0  0x00000000 , 0x0000646f 
+ 00025723  0x00006444 call  0x0000666d 
+ 00025724  0x00006445 jam  0x00000000 , 0x000041da 
+ 00025725  0x00006447 call  0x000064b0 
+ 00025726  0x00006448 call  0x000065c2 
+ 00025727  0x00006449 fetch  0x00000001 , 0x000001f3 
+ 00025728  0x0000644a bbit1  0x00000006 , 0x0000648e 
+ 00025729  0x0000644b call  0x000064aa 
+ 00025730  0x0000644c nbranch  0x00006486 , 0x0000002d 
+ 00025731  0x0000644d fetch  0x00000001 , 0x000001f2 
+ 00025732  0x0000644e bbit0  0x00000000 , 0x0000647d 
+ 00025733  0x0000644f branch  0x0000649b 
+ 00025734  0x00006451 call  0x000065bf 
+ 00025735  0x00006452 fetch  0x00000001 , 0x000001f3 
+ 00025736  0x00006453 bbit1  0x00000006 , 0x0000648e 
+ 00025737  0x00006454 call  0x000064aa 
+ 00025738  0x00006455 nbranch  0x0000648e , 0x0000002d 
+ 00025739  0x00006456 fetch  0x00000001 , 0x000001f2 
+ 00025740  0x00006457 bbit0  0x00000000 , 0x0000647d 
+ 00025741  0x00006458 branch  0x0000649b 
+ 00025742  0x0000645b jam  0x00000000 , 0x000041da 
+ 00025743  0x0000645d call  0x000064b0 
+ 00025744  0x0000645e fetch  0x00000001 , 0x000001f3 
+ 00025745  0x0000645f bbit1  0x00000005 , 0x0000649b 
+ 00025746  0x00006460 setarg  0x00000000 
+ 00025747  0x00006461 store  0x00000003 , 0x000001f6 
+ 00025748  0x00006462 call  0x00006502 
+ 00025749  0x00006463 arg  0x00006578 , 0x00000013 
+ 00025750  0x00006464 call  0x00006429 
+ 00025751  0x00006465 call  0x0000643c 
+ 00025752  0x00006466 nbranch  0x0000649b , 0x0000002d 
+ 00025753  0x00006467 fetch  0x00000001 , 0x000001f2 
+ 00025754  0x00006468 bbit0  0x00000000 , 0x0000648f 
+ 00025755  0x0000646b bmark1  0x0000002b , 0x0000649d 
+ 00025756  0x0000646c call  0x000064a3 
+ 00025757  0x0000646e fetch  0x00000001 , 0x000001f3 
+ 00025758  0x0000646f bbit0  0x00000004 , 0x000064a3 
+ 00025759  0x00006470 hjam  0x00000021 , 0x00008050 
+ 00025760  0x00006471 call  0x00004c0e 
+ 00025761  0x00006473 call  0x00004c2e 
+ 00025762  0x00006474 branch  0x000064a1 
+ 00025763  0x00006477 setarg  0x00000000 
+ 00025764  0x00006478 store  0x00000008 , 0x00000206 
+ 00025765  0x00006479 store  0x00000008 , 0x0000020e 
+ 00025766  0x0000647a force  0x00000004 , 0x00000038 
+ 00025767  0x0000647b call  0x00007492 
+ 00025768  0x0000647c hjam  0x00000021 , 0x00008050 
+ 00025769  0x0000647d rtn 
+ 00025770  0x00006481 setarg  0x00000000 
+ 00025771  0x00006482 store  0x00000002 , 0x000001f7 
+ 00025772  0x00006483 arg  0x000065e5 , 0x00000013 
+ 00025773  0x00006484 call  0x000065a3 
+ 00025774  0x00006485 call  0x00006429 
+ 00025775  0x00006486 branch  0x0000643c 
+ 00025776  0x0000648a fetch  0x00000001 , 0x000041da 
+ 00025777  0x0000648b increase  0x00000001 , 0x0000003f 
+ 00025778  0x0000648c sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00025779  0x0000648d nbranch  0x000064b6 , 0x00000002 
+ 00025780  0x0000648e store  0x00000001 , 0x000041da 
+ 00025781  0x0000648f rtn 
+ 00025782  0x00006492 call  0x000064a3 
+ 00025783  0x00006493 call  0x00007fa1 
+ 00025784  0x00006494 rtn 
+ 00025785  0x00006499 fetch  0x00000001 , 0x000001f2 
+ 00025786  0x0000649a lshift  0x0000003f , 0x0000003f 
+ 00025787  0x0000649b setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025788  0x0000649c isolate0  0x0000000f , 0x00000011 
+ 00025789  0x0000649d rtn  0x00000001 
+ 00025790  0x0000649e store  0x00000001 , 0x000001f2 
+ 00025791  0x0000649f rtn 
+ 00025792  0x000064a3 hfetch  0x00000001 , 0x00008085 
+ 00025793  0x000064a4 rtnbit0  0x00000001 
+ 00025794  0x000064a5 branch  0x000064c6 
+ 00025795  0x000064a7 hfetch  0x00000001 , 0x0000812c 
+ 00025796  0x000064a8 qisolate1  0x0000003f 
+ 00025797  0x000064a9 rtn  0x00000001 
+ 00025798  0x000064ab hfetch  0x00000001 , 0x00008108 
+ 00025799  0x000064ac bbit0  0x00000001 , 0x000064c3 
+ 00025800  0x000064ad call  0x00007422 
+ 00025801  0x000064ae branch  0x000064c3 
+ 00025802  0x000064b3 fetch  0x00000002 , 0x00004199 
+ 00025803  0x000064b4 rtn  0x00000034 
+ 00025804  0x000064b5 hjam  0x00000080 , 0x00008023 
+ 00025805  0x000064b6 hjam  0x00000000 , 0x00008022 
+ 00025806  0x000064b7 hjam  0x00000000 , 0x00008024 
+ 00025807  0x000064b8 fetcht  0x00000002 , 0x0000419b 
+ 00025808  0x000064b9 lshift2  0x00000002 , 0x00000039 
+ 00025809  0x000064ba iforce  0x00000006 
+ 00025810  0x000064bc ifetch  0x00000001 , 0x00000006 
+ 00025811  0x000064bd hstore  0x00000001 , 0x00008025 
+ 00025812  0x000064be loop  0x000064d2 
+ 00025813  0x000064bf hjam  0x00000000 , 0x00008023 
+ 00025814  0x000064c0 rtn 
+ 00025815  0x000064c6 bpatchx  0x0000008d , 0x00004031 
+ 00025816  0x000064c7 call  0x000064dd 
+ 00025817  0x000064c8 branch  0x000063f2 
+ 00025818  0x000064cb call  0x000064dd 
+ 00025819  0x000064cc call  0x000063ee 
+ 00025820  0x000064cd branch  0x000063f6 
+ 00025821  0x000064d0 fetch  0x00000001 , 0x00004212 
+ 00025822  0x000064d1 hstore  0x00000001 , 0x00008086 
+ 00025823  0x000064d2 fetch  0x00000001 , 0x00004213 
+ 00025824  0x000064d3 hstore  0x00000001 , 0x00008087 
+ 00025825  0x000064d4 setarg  0x000001f5 
+ 00025826  0x000064d5 hstore  0x00000002 , 0x0000808a 
+ 00025827  0x000064d6 setarg  0x000001fa 
+ 00025828  0x000064d7 hstore  0x00000002 , 0x0000808c 
+ 00025829  0x000064d8 branch  0x000063ee 
+ 00025830  0x000064db hfetch  0x00000001 , 0x00008086 
+ 00025831  0x000064dc set1  0x00000007 , 0x0000003f 
+ 00025832  0x000064dd hstore  0x00000001 , 0x00008086 
+ 00025833  0x000064de set0  0x00000007 , 0x0000003f 
+ 00025834  0x000064df hstore  0x00000001 , 0x00008086 
+ 00025835  0x000064e0 rtn 
+ 00025836  0x000064e5 set1  0x00000007 , 0x0000003f 
+ 00025837  0x000064e6 store  0x00000002 , 0x000001f5 
+ 00025838  0x000064e7 bpatchx  0x0000008e , 0x00004031 
+ 00025839  0x000064e8 hjam  0x00000002 , 0x00008088 
+ 00025840  0x000064e9 hjam  0x00000000 , 0x0000808e 
+ 00025841  0x000064ea hjam  0x00000002 , 0x00008006 
+ 00025842  0x000064eb branch  0x000064fc 
+ 00025843  0x000064ef force  0x00000001 , 0x00000002 
+ 00025844  0x000064f3 store  0x00000001 , 0x000001f5 
+ 00025845  0x000064f4 bpatchx  0x0000008f , 0x00004031 
+ 00025846  0x000064f5 hjam  0x00000001 , 0x00008088 
+ 00025847  0x000064f6 hstoret  0x00000002 , 0x0000808e 
+ 00025848  0x000064f7 hjam  0x00000002 , 0x00008006 
+ 00025849  0x000064f8 call  0x000064fc 
+ 00025850  0x000064f9 fetch  0x00000001 , 0x000001fa 
+ 00025851  0x000064fa rtn 
+ 00025852  0x000064fd fetch  0x00000002 , 0x000040d6 
+ 00025853  0x000064fe increase  0x00000001 , 0x0000003f 
+ 00025854  0x000064ff store  0x00000002 , 0x000040d6 
+ 00025855  0x00006500 hfetch  0x00000001 , 0x0000812c 
+ 00025856  0x00006501 bbit0  0x00000003 , 0x000064fc 
+ 00025857  0x00006502 rtn 
+ 00025858  0x00006505 hjam  0x00000040 , 0x00008086 
+ 00025859  0x00006506 hjam  0x00000000 , 0x00008087 
+ 00025860  0x00006507 hfetch  0x00000001 , 0x00008081 
+ 00025861  0x00006508 set0  0x00000000 , 0x0000003f 
+ 00025862  0x00006509 set1  0x00000001 , 0x0000003f 
+ 00025863  0x0000650a hstore  0x00000001 , 0x00008081 
+ 00025864  0x0000650b setarg  0x00000000 
+ 00025865  0x0000650c store  0x00000004 , 0x000001f5 
+ 00025866  0x0000650d rtn 
+ 00025867  0x00006511 setarg  0x00000000 
+ 00025868  0x00006512 hstore  0x00000002 , 0x0000808e 
+ 00025869  0x00006513 setarg  0x00000001 
+ 00025870  0x00006514 hstore  0x00000002 , 0x00008088 
+ 00025871  0x00006515 setarg  0x000001f5 
+ 00025872  0x00006516 hstore  0x00000002 , 0x0000808a 
+ 00025873  0x00006517 jam  0x00000006 , 0x000001f5 
+ 00025874  0x00006518 hjam  0x00000002 , 0x00008006 
+ 00025875  0x00006519 branch  0x000064fc 
+ 00025876  0x00006529 disable  0x00000028 
+ 00025877  0x0000652a copy  0x0000003f , 0x00000012 
+ 00025878  0x0000652b fetch  0x00000001 , 0x00004239 
+ 00025879  0x0000652c rtnne  0x00000000 
+ 00025880  0x0000652d enable  0x00000028 
+ 00025881  0x0000652e copy  0x00000012 , 0x0000003f 
+ 00025882  0x0000652f branch  0x00006522 
+ 00025883  0x00006533 fetch  0x00000001 , 0x00004239 
+ 00025884  0x00006534 beq  0x00000001 , 0x00006522 
+ 00025885  0x00006535 beq  0x00000002 , 0x00006528 
+ 00025886  0x00006536 beq  0x00000003 , 0x00006530 
+ 00025887  0x00006537 beq  0x00000004 , 0x00006537 
+ 00025888  0x00006538 beq  0x00000005 , 0x0000653d 
+ 00025889  0x00006539 rtn 
+ 00025890  0x0000653c store  0x00000003 , 0x00004232 
+ 00025891  0x0000653d copy  0x00000011 , 0x0000003f 
+ 00025892  0x0000653e store  0x00000002 , 0x00004235 
+ 00025893  0x0000653f storet  0x00000002 , 0x00004237 
+ 00025894  0x00006540 jam  0x00000002 , 0x00004239 
+ 00025895  0x00006541 branch  0x00006502 
+ 00025896  0x00006543 call  0x00006502 
+ 00025897  0x00006544 jam  0x00000003 , 0x00004239 
+ 00025898  0x00006545 call  0x0000650b 
+ 00025899  0x00006546 arg  0x000001f5 , 0x00000011 
+ 00025900  0x00006547 fetch  0x00000003 , 0x00004232 
+ 00025901  0x00006548 hjam  0x00000004 , 0x00008088 
+ 00025902  0x00006549 arg  0x00000020 , 0x00000002 
+ 00025903  0x0000654a branch  0x00006556 
+ 00025904  0x0000654d call  0x00006502 
+ 00025905  0x0000654e call  0x0000650b 
+ 00025906  0x0000654f setarg  0x00000005 
+ 00025907  0x00006550 call  0x000064f3 
+ 00025908  0x00006551 rtnbit1  0x00000000 
+ 00025909  0x00006552 jam  0x00000004 , 0x00004239 
+ 00025910  0x00006553 rtn 
+ 00025911  0x00006555 call  0x00006502 
+ 00025912  0x00006556 jam  0x00000005 , 0x00004239 
+ 00025913  0x00006557 call  0x0000650b 
+ 00025914  0x00006558 call  0x0000654a 
+ 00025915  0x00006559 call  0x00006552 
+ 00025916  0x0000655a branch  0x00006545 
+ 00025917  0x0000655c call  0x00006502 
+ 00025918  0x0000655d call  0x0000650b 
+ 00025919  0x0000655e setarg  0x00000005 
+ 00025920  0x0000655f call  0x000064f3 
+ 00025921  0x00006560 rtnbit1  0x00000000 
+ 00025922  0x00006561 jam  0x00000000 , 0x00004239 
+ 00025923  0x00006562 fetch  0x00000002 , 0x00004201 
+ 00025924  0x00006563 branch  0x00007f9c 
+ 00025925  0x00006565 fetch  0x00000004 , 0x00000aa2 
+ 00025926  0x00006566 fetcht  0x00000002 , 0x00004235 
+ 00025927  0x00006567 increase  0xfffffffc , 0x00000002 
+ 00025928  0x00006568 istore  0x00000004 , 0x00000002 
+ 00025929  0x00006569 rtn 
+ 00025930  0x0000656b fetcht  0x00000002 , 0x00004235 
+ 00025931  0x0000656c copy  0x00000002 , 0x00000011 
+ 00025932  0x0000656d increase  0xfffffffc , 0x00000002 
+ 00025933  0x0000656e ifetch  0x00000004 , 0x00000002 
+ 00025934  0x0000656f store  0x00000004 , 0x00000aa2 
+ 00025935  0x00006570 fetcht  0x00000002 , 0x00004237 
+ 00025936  0x00006571 fetch  0x00000003 , 0x00004232 
+ 00025937  0x00006572 rtn 
+ 00025938  0x00006577 increase  0x00000004 , 0x00000002 
+ 00025939  0x00006578 hstoret  0x00000002 , 0x00008088 
+ 00025940  0x00006579 arg  0x00000002 , 0x00000002 
+ 00025941  0x0000657a increase  0xfffffffc , 0x00000011 
+ 00025942  0x0000657d istoret  0x00000001 , 0x00000011 
+ 00025943  0x0000657e rshift16  0x0000003f , 0x00000002 
+ 00025944  0x0000657f istoret  0x00000001 , 0x00000005 
+ 00025945  0x00006580 rshift8  0x0000003f , 0x00000002 
+ 00025946  0x00006581 istoret  0x00000001 , 0x00000005 
+ 00025947  0x00006582 istore  0x00000001 , 0x00000005 
+ 00025948  0x00006583 deposit  0x00000011 
+ 00025949  0x00006584 hstore  0x00000002 , 0x0000808a 
+ 00025950  0x00006585 setarg  0x00000000 
+ 00025951  0x00006586 hstore  0x00000002 , 0x0000808e 
+ 00025952  0x00006587 hjam  0x00000002 , 0x00008006 
+ 00025953  0x00006588 branch  0x000064fc 
+ 00025954  0x0000658d hstoret  0x00000002 , 0x0000808e 
+ 00025955  0x0000658e rshift16  0x0000003f , 0x00000002 
+ 00025956  0x0000658f storet  0x00000001 , 0x000001f6 
+ 00025957  0x00006590 rshift8  0x0000003f , 0x00000002 
+ 00025958  0x00006591 storet  0x00000001 , 0x000001f7 
+ 00025959  0x00006592 store  0x00000001 , 0x000001f8 
+ 00025960  0x00006593 setarg  0x00000004 
+ 00025961  0x00006594 hstore  0x00000002 , 0x00008088 
+ 00025962  0x00006595 jam  0x00000003 , 0x000001f5 
+ 00025963  0x00006596 setarg  0x000001f5 
+ 00025964  0x00006597 hstore  0x00000002 , 0x0000808a 
+ 00025965  0x00006598 deposit  0x00000011 
+ 00025966  0x00006599 hstore  0x00000002 , 0x0000808c 
+ 00025967  0x0000659a hfetch  0x00000001 , 0x00008086 
+ 00025968  0x0000659b isolate0  0x0000000f , 0x00000011 
+ 00025969  0x0000659c setflag  0x00000001 , 0x00000006 , 0x0000003f 
+ 00025970  0x0000659d hstore  0x00000001 , 0x00008086 
+ 00025971  0x0000659e hjam  0x00000002 , 0x00008006 
+ 00025972  0x000065a0 hfetch  0x00000001 , 0x0000812c 
+ 00025973  0x000065a1 bbit1  0x00000007 , 0x00006574 
+ 00025974  0x000065a2 arg  0x00000003 , 0x00000007 
+ 00025975  0x000065a3 branch  0x000064fc 
+ 00025976  0x000065a8 hstoret  0x00000002 , 0x0000808e 
+ 00025977  0x000065a9 setarg  0x00000004 
+ 00025978  0x000065aa hstore  0x00000002 , 0x00008088 
+ 00025979  0x000065ab jam  0x00000003 , 0x000001f5 
+ 00025980  0x000065ac setarg  0x000001f5 
+ 00025981  0x000065ad hstore  0x00000002 , 0x0000808a 
+ 00025982  0x000065ae deposit  0x00000011 
+ 00025983  0x000065af hstore  0x00000002 , 0x0000808c 
+ 00025984  0x000065b0 hfetch  0x00000001 , 0x00008086 
+ 00025985  0x000065b1 isolate0  0x0000000f , 0x00000011 
+ 00025986  0x000065b2 setflag  0x00000001 , 0x00000006 , 0x0000003f 
+ 00025987  0x000065b3 hstore  0x00000001 , 0x00008086 
+ 00025988  0x000065b4 hjam  0x00000002 , 0x00008006 
+ 00025989  0x000065b6 hfetch  0x00000001 , 0x0000812c 
+ 00025990  0x000065b7 bbit1  0x00000007 , 0x00006585 
+ 00025991  0x000065b8 arg  0x00000003 , 0x00000007 
+ 00025992  0x000065b9 call  0x000064c0 
+ 00025993  0x000065ba call  0x000064fc 
+ 00025994  0x000065bb isolate1  0x00000002 , 0x0000003f 
+ 00025995  0x000065bc call  0x000064b9 
+ 00025996  0x000065bd fetch  0x00000001 , 0x000001f6 
+ 00025997  0x000065be lshift16  0x0000003f , 0x00000012 
+ 00025998  0x000065bf fetch  0x00000001 , 0x000001f7 
+ 00025999  0x000065c0 lshift8  0x0000003f , 0x0000003f 
+ 00026000  0x000065c1 ior  0x00000012 , 0x00000012 
+ 00026001  0x000065c2 fetch  0x00000001 , 0x000001f8 
+ 00026002  0x000065c3 ior  0x00000012 , 0x0000003f 
+ 00026003  0x000065c4 iadd  0x00000002 , 0x0000003f 
+ 00026004  0x000065c5 store  0x00000001 , 0x000001f8 
+ 00026005  0x000065c6 rshift8  0x0000003f , 0x0000003f 
+ 00026006  0x000065c7 store  0x00000001 , 0x000001f7 
+ 00026007  0x000065c8 rshift8  0x0000003f , 0x0000003f 
+ 00026008  0x000065c9 store  0x00000001 , 0x000001f6 
+ 00026009  0x000065ca rtn 
+ 00026010  0x000065d0 hjam  0x00000001 , 0x00008010 
+ 00026011  0x000065d1 rtn 
+ 00026012  0x000065d8 hjam  0x0000000c , 0x00008091 
+ 00026013  0x000065d9 hjam  0x0000000d , 0x00008092 
+ 00026014  0x000065da hjam  0x0000000d , 0x00008093 
+ 00026015  0x000065db hjam  0x0000000d , 0x00008094 
+ 00026016  0x000065dc hjam  0x0000000d , 0x00008095 
+ 00026017  0x000065dd hjam  0x0000000c , 0x00008096 
+ 00026018  0x000065de branch  0x000065a9 
+ 00026019  0x000065e2 hjam  0x00000005 , 0x00008091 
+ 00026020  0x000065e3 hjam  0x00000007 , 0x00008092 
+ 00026021  0x000065e4 hjam  0x00000007 , 0x00008093 
+ 00026022  0x000065e5 hjam  0x00000007 , 0x00008094 
+ 00026023  0x000065e6 hjam  0x00000007 , 0x00008095 
+ 00026024  0x000065e7 hjam  0x00000005 , 0x00008096 
+ 00026025  0x000065e9 hfetch  0x00000001 , 0x0000807b 
+ 00026026  0x000065ea or_into  0x000000c0 , 0x0000003f 
+ 00026027  0x000065eb hstore  0x00000001 , 0x0000807b 
+ 00026028  0x000065ec hfetch  0x00000001 , 0x00008081 
+ 00026029  0x000065ed or_into  0x00000010 , 0x0000003f 
+ 00026030  0x000065ee hstore  0x00000001 , 0x00008081 
+ 00026031  0x000065ef rtn 
+ 00026032  0x000065f4 hfetch  0x00000001 , 0x0000812c 
+ 00026033  0x000065f5 bbit0  0x00000005 , 0x000065b0 
+ 00026034  0x000065f6 rtn 
+ 00026035  0x000065ff hstore  0x00000002 , 0x00008098 
+ 00026036  0x00006600 deposit  0x00000011 
+ 00026037  0x00006601 hstore  0x00000002 , 0x0000809a 
+ 00026038  0x00006602 deposit  0x00000012 
+ 00026039  0x00006603 hstore  0x00000002 , 0x0000809c 
+ 00026040  0x00006604 deposit  0x00000002 
+ 00026041  0x00006605 hstore  0x00000002 , 0x0000809e 
+ 00026042  0x00006606 arg  0x00000001 , 0x00000002 
+ 00026043  0x00006607 nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00026044  0x00006608 hstore  0x00000001 , 0x00008090 
+ 00026045  0x00006609 hjam  0x00000004 , 0x00008006 
+ 00026046  0x0000660a branch  0x000065b0 
+ 00026047  0x0000660e set1  0x00000028 , 0x00000000 
+ 00026048  0x0000660f jam  0x00000008 , 0x00004211 
+ 00026049  0x00006610 rtn 
+ 00026050  0x00006613 set0  0x00000028 , 0x00000000 
+ 00026051  0x00006614 jam  0x00000020 , 0x00004211 
+ 00026052  0x00006615 rtn 
+ 00026053  0x00006619 fetch  0x00000001 , 0x00004203 
+ 00026054  0x0000661a iadd  0x00000012 , 0x0000003f 
+ 00026055  0x0000661b store  0x00000001 , 0x000001f7 
+ 00026056  0x0000661c branch  0x000065cc 
+ 00026057  0x0000661f fetch  0x00000002 , 0x000001f7 
+ 00026058  0x00006620 byteswap  0x0000003f , 0x0000003f 
+ 00026059  0x00006621 store  0x00000001 , 0x000001f7 
+ 00026060  0x00006627 setarg  0x00000003 
+ 00026061  0x00006628 hstore  0x00000002 , 0x00008098 
+ 00026062  0x00006629 jam  0x000000a0 , 0x000001f6 
+ 00026063  0x0000662a jam  0x000000a1 , 0x000001f8 
+ 00026064  0x0000662b branch  0x000065eb 
+ 00026065  0x00006632 storet  0x00000002 , 0x00000aa2 
+ 00026066  0x00006633 call  0x000065d6 
+ 00026067  0x00006634 fetcht  0x00000002 , 0x00000aa2 
+ 00026068  0x00006635 call  0x00006606 
+ 00026069  0x00006636 branch  0x000065dd 
+ 00026070  0x00006639 fetch  0x00000001 , 0x0000423a 
+ 00026071  0x0000663a rtneq  0x000000ff 
+ 00026072  0x0000663b bbit0  0x00000006 , 0x000065db 
+ 00026073  0x0000663c setarg  0x000249f0 
+ 00026074  0x0000663d call  0x00002a8f 
+ 00026075  0x0000663f fetcht  0x00000001 , 0x0000423a 
+ 00026076  0x00006640 branch  0x00006829 
+ 00026077  0x00006643 fetcht  0x00000001 , 0x0000423a 
+ 00026078  0x00006644 branch  0x00006825 
+ 00026079  0x0000664a bpatchx  0x00000090 , 0x00004032 
+ 00026080  0x0000664b bmark1  0x00000028 , 0x000065c5 
+ 00026081  0x0000664c fetch  0x00000002 , 0x00004203 
+ 00026082  0x0000664d iadd  0x00000012 , 0x0000003f 
+ 00026083  0x0000664e byteswap  0x0000003f , 0x0000003f 
+ 00026084  0x0000664f store  0x00000002 , 0x000001f7 
+ 00026085  0x00006653 bpatchx  0x00000091 , 0x00004032 
+ 00026086  0x00006654 bmark1  0x00000028 , 0x000065c9 
+ 00026087  0x00006655 setarg  0x00000004 
+ 00026088  0x00006656 hstore  0x00000002 , 0x00008098 
+ 00026089  0x00006657 jam  0x000000a0 , 0x000001f6 
+ 00026090  0x00006658 jam  0x000000a1 , 0x000001f9 
+ 00026091  0x0000665a setarg  0x000001f6 
+ 00026092  0x0000665b hstore  0x00000002 , 0x0000809a 
+ 00026093  0x0000665c hstoret  0x00000002 , 0x0000809e 
+ 00026094  0x0000665d deposit  0x00000011 
+ 00026095  0x0000665e hstore  0x00000002 , 0x0000809c 
+ 00026096  0x0000665f setarg  0x00000002 
+ 00026097  0x00006660 isolate0  0x0000000f , 0x00000011 
+ 00026098  0x00006661 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00026099  0x00006662 hstore  0x00000001 , 0x00008090 
+ 00026100  0x00006663 hjam  0x00000004 , 0x00008006 
+ 00026101  0x00006664 arg  0x00000005 , 0x00000007 
+ 00026102  0x00006665 call  0x000064c0 
+ 00026103  0x00006666 call  0x000065b0 
+ 00026104  0x00006667 isolate1  0x00000004 , 0x0000003f 
+ 00026105  0x00006668 call  0x000064b9 
+ 00026106  0x00006669 bmark1  0x00000028 , 0x00006601 
+ 00026107  0x0000666a fetch  0x00000002 , 0x000001f7 
+ 00026108  0x0000666b byteswap  0x0000003f , 0x0000003f 
+ 00026109  0x0000666c iadd  0x00000002 , 0x0000003f 
+ 00026110  0x0000666d byteswap  0x0000003f , 0x0000003f 
+ 00026111  0x0000666e store  0x00000002 , 0x000001f7 
+ 00026112  0x0000666f rtn 
+ 00026113  0x00006672 fetch  0x00000001 , 0x000001f7 
+ 00026114  0x00006673 iadd  0x00000002 , 0x0000003f 
+ 00026115  0x00006674 byteswap  0x0000003f , 0x0000003f 
+ 00026116  0x00006675 store  0x00000002 , 0x000001f7 
+ 00026117  0x00006676 rtn 
+ 00026118  0x0000667d fetch  0x00000002 , 0x00004203 
+ 00026119  0x0000667e iadd  0x00000012 , 0x0000003f 
+ 00026120  0x00006682 store  0x00000002 , 0x00000a9a 
+ 00026121  0x00006683 bpatchx  0x00000092 , 0x00004032 
+ 00026122  0x00006684 storet  0x00000002 , 0x00000aa2 
+ 00026123  0x00006685 copy  0x00000011 , 0x0000003f 
+ 00026124  0x00006686 store  0x00000002 , 0x00000ab9 
+ 00026125  0x00006688 call  0x0000661d 
+ 00026126  0x0000668a fetcht  0x00000002 , 0x00000ab2 
+ 00026127  0x0000668b fetch  0x00000002 , 0x00000ab9 
+ 00026128  0x0000668c copy  0x0000003f , 0x00000011 
+ 00026129  0x0000668d fetch  0x00000002 , 0x00000a9a 
+ 00026130  0x0000668f call  0x0000663d 
+ 00026131  0x00006691 fetch  0x00000002 , 0x00000ab2 
+ 00026132  0x00006692 fetcht  0x00000002 , 0x00000ab9 
+ 00026133  0x00006693 iadd  0x00000002 , 0x00000002 
+ 00026134  0x00006694 storet  0x00000002 , 0x00000ab9 
+ 00026135  0x00006695 fetcht  0x00000002 , 0x00000a9a 
+ 00026136  0x00006696 iadd  0x00000002 , 0x00000002 
+ 00026137  0x00006697 storet  0x00000002 , 0x00000a9a 
+ 00026138  0x00006698 fetch  0x00000002 , 0x00000aa2 
+ 00026139  0x00006699 nbranch  0x0000660d , 0x00000034 
+ 00026140  0x0000669a rtn 
+ 00026141  0x000066a3 bpatchx  0x00000093 , 0x00004032 
+ 00026142  0x000066a4 fetch  0x00000001 , 0x00004211 
+ 00026143  0x000066a5 increase  0xffffffff , 0x0000003f 
+ 00026144  0x000066a6 fetcht  0x00000002 , 0x00000a9a 
+ 00026145  0x000066a7 ior  0x00000002 , 0x0000003f 
+ 00026146  0x000066a8 increase  0x00000001 , 0x0000003f 
+ 00026147  0x000066a9 store  0x00000003 , 0x00000ab6 
+ 00026148  0x000066ab fetch  0x00000002 , 0x00000aa2 
+ 00026149  0x000066ac iadd  0x00000002 , 0x0000003f 
+ 00026150  0x000066ae fetcht  0x00000003 , 0x00000ab6 
+ 00026151  0x000066af isub  0x00000002 , 0x0000003f 
+ 00026152  0x000066b0 nbranch  0x0000662f , 0x00000002 
+ 00026153  0x000066b1 store  0x00000002 , 0x00000aa2 
+ 00026154  0x000066b2 fetch  0x00000003 , 0x00000ab6 
+ 00026155  0x000066b3 fetcht  0x00000002 , 0x00000a9a 
+ 00026156  0x000066b4 isub  0x00000002 , 0x0000003f 
+ 00026157  0x000066b5 store  0x00000002 , 0x00000ab2 
+ 00026158  0x000066b6 rtn 
+ 00026159  0x000066b8 fetch  0x00000002 , 0x00000aa2 
+ 00026160  0x000066b9 store  0x00000002 , 0x00000ab2 
+ 00026161  0x000066ba setarg  0x00000000 
+ 00026162  0x000066bb store  0x00000002 , 0x00000aa2 
+ 00026163  0x000066bc rtn 
+ 00026164  0x000066bf increase  0x00000002 , 0x00000002 
+ 00026165  0x000066c0 hstoret  0x00000002 , 0x00008098 
+ 00026166  0x000066c1 increase  0xfffffffe , 0x00000011 
+ 00026167  0x000066c2 ifetcht  0x00000003 , 0x00000011 
+ 00026168  0x000066c3 copy  0x00000002 , 0x00000012 
+ 00026169  0x000066c4 arg  0x000000a0 , 0x00000002 
+ 00026170  0x000066c5 istoret  0x00000001 , 0x00000011 
+ 00026171  0x000066c7 istore  0x00000001 , 0x00000005 
+ 00026172  0x000066c8 branch  0x0000664a 
+ 00026173  0x000066cc copy  0x0000003f , 0x00000012 
+ 00026174  0x000066cd bpatchx  0x00000094 , 0x00004032 
+ 00026175  0x000066ce bmark1  0x00000028 , 0x00006634 
+ 00026176  0x000066cf copy  0x00000012 , 0x0000003f 
+ 00026177  0x000066d0 increase  0x00000003 , 0x00000002 
+ 00026178  0x000066d1 hstoret  0x00000002 , 0x00008098 
+ 00026179  0x000066d2 increase  0xfffffffd , 0x00000011 
+ 00026180  0x000066d3 ifetcht  0x00000003 , 0x00000011 
+ 00026181  0x000066d4 copy  0x00000002 , 0x00000012 
+ 00026182  0x000066d5 arg  0x000000a0 , 0x00000002 
+ 00026183  0x000066d6 istoret  0x00000001 , 0x00000011 
+ 00026184  0x000066d7 byteswap  0x0000003f , 0x0000003f 
+ 00026185  0x000066d8 istore  0x00000002 , 0x00000005 
+ 00026186  0x000066da deposit  0x00000011 
+ 00026187  0x000066db hstore  0x00000002 , 0x0000809a 
+ 00026188  0x000066dc setarg  0x00000000 
+ 00026189  0x000066dd hstore  0x00000002 , 0x0000809e 
+ 00026190  0x000066de hjam  0x00000001 , 0x00008090 
+ 00026191  0x000066df hjam  0x00000004 , 0x00008006 
+ 00026192  0x000066e0 call  0x000065b0 
+ 00026193  0x000066e1 copy  0x00000012 , 0x0000003f 
+ 00026194  0x000066e2 istore  0x00000003 , 0x00000011 
+ 00026195  0x000066e5 bpatchx  0x00000095 , 0x00004032 
+ 00026196  0x000066e6 jam  0x00000000 , 0x000001f9 
+ 00026197  0x000066e8 setarg  0x00000001 
+ 00026198  0x000066e9 hstore  0x00000002 , 0x00008098 
+ 00026199  0x000066ea jam  0x000000a0 , 0x000001f6 
+ 00026200  0x000066eb setarg  0x000001f6 
+ 00026201  0x000066ec hstore  0x00000002 , 0x0000809a 
+ 00026202  0x000066ed setarg  0x00000000 
+ 00026203  0x000066ee hstore  0x00000002 , 0x0000809e 
+ 00026204  0x000066ef hstore  0x00000002 , 0x0000809c 
+ 00026205  0x000066f0 setarg  0x00000003 
+ 00026206  0x000066f1 hstore  0x00000001 , 0x00008090 
+ 00026207  0x000066f2 hjam  0x00000004 , 0x00008006 
+ 00026208  0x000066f3 call  0x000065b0 
+ 00026209  0x000066f4 hfetch  0x00000001 , 0x0000812c 
+ 00026210  0x000066f5 rtnbit0  0x00000006 
+ 00026211  0x000066f6 nop  0x000005dc 
+ 00026212  0x000066f7 fetch  0x00000001 , 0x000001f9 
+ 00026213  0x000066f8 increase  0x00000001 , 0x0000003f 
+ 00026214  0x000066f9 store  0x00000001 , 0x000001f9 
+ 00026215  0x000066fa sub  0x0000003f , 0x00000028 , 0x0000003e 
+ 00026216  0x000066fb nrtn  0x00000002 
+ 00026217  0x000066fc branch  0x00006655 
+ 00026218  0x00006701 hjam  0x00000070 , 0x00008973 
+ 00026219  0x00006702 nop  0x00000bb8 
+ 00026220  0x00006703 rtn 
+ 00026221  0x00006706 hjam  0x00000030 , 0x00008973 
+ 00026222  0x00006707 rtn 
+ 00026223  0x0000670a lshift3  0x0000003f , 0x0000003f 
+ 00026224  0x0000670b hstore  0x00000002 , 0x00008045 
+ 00026225  0x0000670c hjam  0x00000000 , 0x0000804b 
+ 00026226  0x0000670d rtn 
+ 00026227  0x00006711 call  0x0000666f 
+ 00026228  0x00006712 call  0x000066a0 
+ 00026229  0x00006714 ifetcht  0x00000001 , 0x00000011 
+ 00026230  0x00006715 increase  0x00000001 , 0x00000011 
+ 00026231  0x00006716 force  0x00000000 , 0x00000007 
+ 00026232  0x00006718 qisolate0  0x00000002 
+ 00026233  0x00006719 branch  0x00006697 , 0x00000001 
+ 00026234  0x0000671a hfetch  0x00000001 , 0x00008046 
+ 00026235  0x0000671b set1  0x00000006 , 0x0000003f 
+ 00026236  0x0000671c set1  0x00000007 , 0x0000003f 
+ 00026237  0x0000671d hstore  0x00000001 , 0x00008046 
+ 00026238  0x0000671e hjam  0x00000002 , 0x00008047 
+ 00026239  0x0000671f hjam  0x00000082 , 0x00008047 
+ 00026240  0x00006720 set0  0x00000007 , 0x0000003f 
+ 00026241  0x00006721 hstore  0x00000001 , 0x00008046 
+ 00026242  0x00006722 hjam  0x0000008a , 0x00008047 
+ 00026243  0x00006723 nop  0x0000000b 
+ 00026244  0x00006724 hjam  0x000000ca , 0x00008047 
+ 00026245  0x00006725 nop  0x00000021 
+ 00026246  0x00006726 hjam  0x0000004a , 0x00008047 
+ 00026247  0x00006727 nop  0x0000002c 
+ 00026248  0x00006728 hjam  0x000000ca , 0x00008047 
+ 00026249  0x00006729 nop  0x00000016 
+ 00026250  0x0000672a hjam  0x0000008a , 0x00008047 
+ 00026251  0x0000672b nop  0x00000021 
+ 00026252  0x0000672c hjam  0x00000082 , 0x00008047 
+ 00026253  0x0000672d nop  0x00000001 
+ 00026254  0x0000672e hjam  0x00000092 , 0x00008047 
+ 00026255  0x0000672f nop  0x0000000a 
+ 00026256  0x00006730 hjam  0x000000b2 , 0x00008047 
+ 00026257  0x00006731 hfetch  0x00000001 , 0x00008007 
+ 00026258  0x00006732 hjam  0x00000092 , 0x00008047 
+ 00026259  0x00006733 nop  0x00000001 
+ 00026260  0x00006734 hjam  0x00000082 , 0x00008047 
+ 00026261  0x00006735 qisolate0  0x0000003f 
+ 00026262  0x00006736 branch  0x00006678 , 0x00000001 
+ 00026263  0x00006738 hfetch  0x00000002 , 0x00008045 
+ 00026264  0x00006739 increase  0x00000001 , 0x0000003f 
+ 00026265  0x0000673a hstore  0x00000002 , 0x00008045 
+ 00026266  0x0000673b increase  0x00000001 , 0x00000007 
+ 00026267  0x0000673c compare  0x00000008 , 0x00000007 , 0x0000000f 
+ 00026268  0x0000673d nbranch  0x00006678 , 0x00000001 
+ 00026269  0x0000673e loop  0x00006675 
+ 00026270  0x0000673f hjam  0x00000083 , 0x00008047 
+ 00026271  0x00006740 rtn 
+ 00026272  0x00006743 hjam  0x00000082 , 0x00008047 
+ 00026273  0x00006744 nop  0x0000000c 
+ 00026274  0x00006745 hjam  0x00000080 , 0x00008047 
+ 00026275  0x00006746 hjam  0x00000082 , 0x00008047 
+ 00026276  0x00006747 nop  0x00000096 
+ 00026277  0x00006748 rtn 
+ 00026278  0x0000674c call  0x000066a0 
+ 00026279  0x0000674d hjam  0x000000a2 , 0x00008047 
+ 00026280  0x0000674e deposit  0x00000011 
+ 00026281  0x0000674f hstore  0x00000002 , 0x00008048 
+ 00026282  0x00006750 set1  0x0000000b , 0x00000002 
+ 00026283  0x00006751 isolate0  0x0000000f , 0x0000003f 
+ 00026284  0x00006752 setflag  0x00000001 , 0x0000000f , 0x00000002 
+ 00026285  0x00006753 hstoret  0x00000002 , 0x0000804a 
+ 00026286  0x00006754 hjam  0x00000001 , 0x00008006 
+ 00026287  0x00006755 rtn 
+ 00026288  0x00006758 hfetch  0x00000001 , 0x0000812c 
+ 00026289  0x00006759 bbit0  0x00000001 , 0x000066b0 
+ 00026290  0x0000675a rtn 
+ 00026291  0x0000675e call  0x0000666f 
+ 00026292  0x0000675f call  0x000066a6 
+ 00026293  0x00006760 call  0x000066b0 
+ 00026294  0x00006761 hjam  0x00000083 , 0x00008047 
+ 00026295  0x00006762 rtn 
+ 00026296  0x00006768 hfetch  0x00000002 , 0x00008124 
+ 00026297  0x00006769 hstore  0x00000002 , 0x00008045 
+ 00026298  0x0000676a call  0x000066a6 
+ 00026299  0x0000676b arg  0x00000001 , 0x00000007 
+ 00026300  0x0000676c call  0x000064c0 
+ 00026301  0x0000676d call  0x000066b0 
+ 00026302  0x0000676e isolate1  0x00000000 , 0x0000003f 
+ 00026303  0x0000676f call  0x000064b9 
+ 00026304  0x00006770 hjam  0x00000083 , 0x00008047 
+ 00026305  0x00006771 rtn 
+ 00026306  0x00006775 hfetch  0x00000002 , 0x0000805e 
+ 00026307  0x00006776 iforce  0x0000000a 
+ 00026308  0x00006777 rtn 
+ 00026309  0x0000677a deposit  0x0000000a 
+ 00026310  0x0000677b hstore  0x00000002 , 0x0000805e 
+ 00026311  0x0000677c rtn 
+ 00026312  0x0000677f deposit  0x00000003 
+ 00026313  0x00006780 hstore  0x00000002 , 0x00008058 
+ 00026314  0x00006781 rtn 
+ 00026315  0x00006784 hfetch  0x00000002 , 0x00008058 
+ 00026316  0x00006785 copy  0x0000003f , 0x00000003 
+ 00026317  0x00006786 rtn 
+ 00026318  0x00006789 fetch  0x00000002 , 0x00004243 
+ 00026319  0x0000678a hstore  0x00000002 , 0x00008052 
+ 00026320  0x0000678b rtn 
+ 00026321  0x0000678e deposit  0x00000039 
+ 00026322  0x0000678f rtn  0x00000034 
+ 00026323  0x00006791 increase  0xfffffff8 , 0x00000039 
+ 00026324  0x00006792 call  0x000066de , 0x00000002 
+ 00026325  0x00006793 rtn  0x00000005 
+ 00026326  0x00006794 branch  0x000066d3 , 0x00000002 
+ 00026327  0x00006795 increase  0x00000008 , 0x00000039 
+ 00026328  0x00006797 increase  0xfffffffc , 0x00000039 
+ 00026329  0x00006798 call  0x000066e1 , 0x00000002 
+ 00026330  0x00006799 rtn  0x00000005 
+ 00026331  0x0000679a branch  0x000066d8 , 0x00000002 
+ 00026332  0x0000679b increase  0x00000004 , 0x00000039 
+ 00026333  0x0000679c branch  0x000066e4 
+ 00026334  0x0000679f ifetch  0x00000008 , 0x00000006 
+ 00026335  0x000067a0 istore  0x00000008 , 0x0000000a 
+ 00026336  0x000067a1 rtn 
+ 00026337  0x000067a4 ifetch  0x00000004 , 0x00000006 
+ 00026338  0x000067a5 istore  0x00000004 , 0x0000000a 
+ 00026339  0x000067a6 rtn 
+ 00026340  0x000067a9 deposit  0x00000039 
+ 00026341  0x000067aa rtn  0x00000034 
+ 00026342  0x000067ac ifetch  0x00000001 , 0x00000006 
+ 00026343  0x000067ad istore  0x00000001 , 0x0000000a 
+ 00026344  0x000067ae loop  0x000066e6 
+ 00026345  0x000067af rtn 
+ 00026346  0x000067b2 deposit  0x00000039 
+ 00026347  0x000067b3 rtn  0x00000034 
+ 00026348  0x000067b5 increase  0xfffffff8 , 0x00000039 
+ 00026349  0x000067b6 call  0x000066f7 , 0x00000002 
+ 00026350  0x000067b7 rtn  0x00000005 
+ 00026351  0x000067b8 branch  0x000066ec , 0x00000002 
+ 00026352  0x000067b9 increase  0x00000008 , 0x00000039 
+ 00026353  0x000067bb increase  0xfffffffc , 0x00000039 
+ 00026354  0x000067bc call  0x000066fa , 0x00000002 
+ 00026355  0x000067bd rtn  0x00000005 
+ 00026356  0x000067be branch  0x000066f1 , 0x00000002 
+ 00026357  0x000067bf increase  0x00000004 , 0x00000039 
+ 00026358  0x000067c0 branch  0x000066fd 
+ 00026359  0x000067c3 ifetch  0x00000008 , 0x00000003 
+ 00026360  0x000067c4 istore  0x00000008 , 0x00000005 
+ 00026361  0x000067c5 rtn 
+ 00026362  0x000067c8 ifetch  0x00000004 , 0x00000003 
+ 00026363  0x000067c9 istore  0x00000004 , 0x00000005 
+ 00026364  0x000067ca rtn 
+ 00026365  0x000067ce deposit  0x00000039 
+ 00026366  0x000067cf rtn  0x00000034 
+ 00026367  0x000067d1 ifetch  0x00000001 , 0x00000003 
+ 00026368  0x000067d2 istore  0x00000001 , 0x00000005 
+ 00026369  0x000067d3 loop  0x000066ff 
+ 00026370  0x000067d4 rtn 
+ 00026371  0x000067d8 deposit  0x00000039 
+ 00026372  0x000067d9 rtn  0x00000034 
+ 00026373  0x000067db ifetch  0x00000001 , 0x00000003 
+ 00026374  0x000067dc istore  0x00000001 , 0x0000000a 
+ 00026375  0x000067dd loop  0x00006705 
+ 00026376  0x000067de rtn 
+ 00026377  0x000067e4 jam  0x0000003d , 0x00000a99 
+ 00026378  0x000067e5 branch  0x00007d86 
+ 00026379  0x000067e9 bpatchx  0x00000096 , 0x00004032 
+ 00026380  0x000067ea fetch  0x00000001 , 0x00004217 
+ 00026381  0x000067eb rtn  0x00000034 
+ 00026382  0x000067ec call  0x000067a3 
+ 00026383  0x000067ed call  0x000067a9 , 0x00000005 
+ 00026384  0x000067ee call  0x0000673e 
+ 00026385  0x000067f0 fetch  0x00000001 , 0x00004217 
+ 00026386  0x000067f1 icopy  0x00000013 
+ 00026387  0x000067f2 fetcht  0x00000002 , 0x00004215 
+ 00026388  0x000067f3 storet  0x00000002 , 0x0000018c 
+ 00026389  0x000067f5 copy  0x00000013 , 0x0000003f 
+ 00026390  0x000067f6 branch  0x00006709 , 0x00000034 
+ 00026391  0x000067f7 increase  0xffffffff , 0x00000013 
+ 00026392  0x000067f8 copy  0x00000002 , 0x00000011 
+ 00026393  0x000067f9 ifetch  0x00000001 , 0x00000011 
+ 00026394  0x000067fa fetcht  0x00000001 , 0x00000184 
+ 00026395  0x000067fb isub  0x00000002 , 0x0000003e 
+ 00026396  0x000067fc call  0x00006725 , 0x00000005 
+ 00026397  0x000067fd branch  0x00006721 , 0x00000002 
+ 00026398  0x000067fe ifetch  0x00000001 , 0x00000011 
+ 00026399  0x000067ff increase  0x00000001 , 0x0000003f 
+ 00026400  0x00006800 istore  0x00000001 , 0x00000011 
+ 00026401  0x00006802 fetcht  0x00000002 , 0x0000018c 
+ 00026402  0x00006803 increase  0x00000022 , 0x00000002 
+ 00026403  0x00006804 storet  0x00000002 , 0x0000018c 
+ 00026404  0x00006805 branch  0x00006715 
+ 00026405  0x00006808 setarg  0x00000000 
+ 00026406  0x00006809 istore  0x00000001 , 0x00000011 
+ 00026407  0x0000680a fetch  0x00000001 , 0x00000185 
+ 00026408  0x0000680b istore  0x00000001 , 0x00000005 
+ 00026409  0x0000680c bne  0x00000033 , 0x00006733 
+ 00026410  0x0000680d arg  0x000041be , 0x00000012 
+ 00026411  0x0000680f ifetch  0x00000006 , 0x00000006 
+ 00026412  0x00006810 istore  0x00000008 , 0x00000005 
+ 00026413  0x00006811 setarg  0x00000000 
+ 00026414  0x00006812 istore  0x00000008 , 0x00000005 
+ 00026415  0x00006813 copy  0x00000012 , 0x00000006 
+ 00026416  0x00006815 call  0x00007ebf 
+ 00026417  0x00006816 force  0x00000001 , 0x0000003e 
+ 00026418  0x00006817 rtn 
+ 00026419  0x0000681a beq  0x00000036 , 0x00006737 
+ 00026420  0x0000681b beq  0x00000037 , 0x0000673b 
+ 00026421  0x0000681c arg  0x00004419 , 0x00000012 
+ 00026422  0x0000681d branch  0x0000672b 
+ 00026423  0x00006820 arg  0x000044d5 , 0x00000006 
+ 00026424  0x00006821 call  0x00007ebf 
+ 00026425  0x00006823 arg  0x00004419 , 0x00000006 
+ 00026426  0x00006824 branch  0x00006730 
+ 00026427  0x00006827 arg  0x000044cd , 0x00000006 
+ 00026428  0x00006828 call  0x00007ebf 
+ 00026429  0x00006829 branch  0x00006739 
+ 00026430  0x0000682d call  0x00007fe9 
+ 00026431  0x0000682e fetch  0x00000001 , 0x00004217 
+ 00026432  0x0000682f rtn  0x00000034 
+ 00026433  0x00006830 fetch  0x00000002 , 0x00004682 
+ 00026434  0x00006831 bbit1  0x00000000 , 0x00006754 
+ 00026435  0x00006833 bpatchx  0x00000097 , 0x00004032 
+ 00026436  0x00006834 fetch  0x00000001 , 0x0000448e 
+ 00026437  0x00006835 beq  0x00000000 , 0x0000674d 
+ 00026438  0x00006836 fetch  0x00000001 , 0x00000454 
+ 00026439  0x00006837 compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00026440  0x00006838 branch  0x0000674d , 0x00000001 
+ 00026441  0x00006839 compare  0x00000040 , 0x0000003f , 0x000000c0 
+ 00026442  0x0000683a branch  0x00006752 , 0x00000001 
+ 00026443  0x0000683b compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00026444  0x0000683c branch  0x00006750 , 0x00000001 
+ 00026445  0x0000683e jam  0x00000035 , 0x00000185 
+ 00026446  0x0000683f fetch  0x00000006 , 0x0000044f 
+ 00026447  0x00006840 branch  0x00006757 
+ 00026448  0x00006843 jam  0x00000037 , 0x00000185 
+ 00026449  0x00006844 branch  0x00006757 
+ 00026450  0x00006848 jam  0x00000036 , 0x00000185 
+ 00026451  0x00006849 branch  0x00006757 
+ 00026452  0x0000684d bpatchx  0x00000098 , 0x00004033 
+ 00026453  0x0000684e jam  0x00000033 , 0x00000185 
+ 00026454  0x0000684f fetch  0x00000006 , 0x00000040 
+ 00026455  0x00006851 store  0x00000006 , 0x00000186 
+ 00026456  0x00006852 fetch  0x00000002 , 0x00004215 
+ 00026457  0x00006853 ifetcht  0x00000001 , 0x0000003f 
+ 00026458  0x00006854 pincrease  0x00000001 
+ 00026459  0x00006855 store  0x00000002 , 0x0000018c 
+ 00026460  0x00006856 storet  0x00000001 , 0x00000184 
+ 00026461  0x00006857 fetch  0x00000001 , 0x00004217 
+ 00026462  0x00006858 icopy  0x00000013 
+ 00026463  0x0000685a fetch  0x00000002 , 0x0000018c 
+ 00026464  0x0000685b copy  0x0000003f , 0x00000011 
+ 00026465  0x0000685c call  0x0000676f 
+ 00026466  0x0000685d rtn  0x00000028 
+ 00026467  0x0000685e fetcht  0x00000002 , 0x0000018c 
+ 00026468  0x0000685f increase  0x00000022 , 0x00000002 
+ 00026469  0x00006860 storet  0x00000002 , 0x0000018c 
+ 00026470  0x00006861 increase  0xffffffff , 0x00000002 
+ 00026471  0x00006862 ifetch  0x00000001 , 0x00000002 
+ 00026472  0x00006863 store  0x00000001 , 0x00000184 
+ 00026473  0x00006864 increase  0xffffffff , 0x00000013 
+ 00026474  0x00006865 nbranch  0x0000675f , 0x00000005 
+ 00026475  0x00006866 fetch  0x00000001 , 0x00004217 
+ 00026476  0x00006867 pincrease  0xffffffff 
+ 00026477  0x00006868 store  0x00000001 , 0x00000184 
+ 00026478  0x00006869 rtn 
+ 00026479  0x0000686b fetch  0x00000001 , 0x00000185 
+ 00026480  0x0000686c bne  0x00000033 , 0x00006776 
+ 00026481  0x0000686e arg  0x00000185 , 0x00000012 
+ 00026482  0x0000686f arg  0x00000007 , 0x00000039 
+ 00026483  0x00006870 call  0x00007f88 
+ 00026484  0x00006871 branch  0x00007fe7 , 0x00000005 
+ 00026485  0x00006872 rtn 
+ 00026486  0x00006875 beq  0x00000036 , 0x00006779 
+ 00026487  0x00006876 beq  0x00000037 , 0x00006794 
+ 00026488  0x00006877 branch  0x00006771 
+ 00026489  0x0000687a ifetcht  0x00000001 , 0x00000011 
+ 00026490  0x0000687b isub  0x00000002 , 0x0000003e 
+ 00026491  0x0000687c nrtn  0x00000005 
+ 00026492  0x0000687d arg  0x00000ac2 , 0x00000005 
+ 00026493  0x0000687e arg  0x00000010 , 0x00000039 
+ 00026494  0x0000687f call  0x00007ed4 
+ 00026495  0x00006880 fetch  0x00000003 , 0x00000452 
+ 00026496  0x00006881 store  0x00000003 , 0x00000ac2 
+ 00026497  0x00006882 call  0x0000678b 
+ 00026498  0x00006883 fetch  0x00000002 , 0x00000adf 
+ 00026499  0x00006884 byteswap  0x0000003f , 0x0000003f 
+ 00026500  0x00006885 lshift8  0x0000003f , 0x00000002 
+ 00026501  0x00006886 ifetch  0x00000001 , 0x00000006 
+ 00026502  0x00006887 iadd  0x00000002 , 0x0000003f 
+ 00026503  0x00006888 fetcht  0x00000003 , 0x0000044f 
+ 00026504  0x00006889 isub  0x00000002 , 0x0000003e 
+ 00026505  0x0000688a branch  0x00007fe7 , 0x00000005 
+ 00026506  0x0000688b rtn 
+ 00026507  0x0000688f arg  0x00000ac2 , 0x00000006 
+ 00026508  0x00006890 call  0x00007486 
+ 00026509  0x00006892 ifetch  0x00000001 , 0x00000011 
+ 00026510  0x00006893 call  0x00007487 
+ 00026511  0x00006894 force  0x00000038 , 0x00000036 
+ 00026512  0x00006895 force  0x00000000 , 0x00000036 
+ 00026513  0x00006896 call  0x0000741d 
+ 00026514  0x00006897 arg  0x00000ad2 , 0x00000005 
+ 00026515  0x00006898 branch  0x00007497 
+ 00026516  0x0000689b ifetcht  0x00000001 , 0x00000011 
+ 00026517  0x0000689c isub  0x00000002 , 0x0000003e 
+ 00026518  0x0000689d nrtn  0x00000005 
+ 00026519  0x0000689e copy  0x00000006 , 0x00000011 
+ 00026520  0x0000689f add  0x00000006 , 0x00000008 , 0x00000013 
+ 00026521  0x000068a0 arg  0x000044cd , 0x00000012 
+ 00026522  0x000068a1 arg  0x00000008 , 0x00000039 
+ 00026523  0x000068a2 call  0x00007f88 
+ 00026524  0x000068a3 branch  0x00007fe7 , 0x00000005 
+ 00026525  0x000068a4 copy  0x00000013 , 0x00000011 
+ 00026526  0x000068a5 arg  0x000044d5 , 0x00000012 
+ 00026527  0x000068a6 arg  0x00000008 , 0x00000039 
+ 00026528  0x000068a7 call  0x00007f88 
+ 00026529  0x000068a8 branch  0x00007fe7 , 0x00000005 
+ 00026530  0x000068a9 rtn 
+ 00026531  0x000068ac fetch  0x00000002 , 0x00004215 
+ 00026532  0x000068ad ifetcht  0x00000001 , 0x0000003f 
+ 00026533  0x000068ae pincrease  0x00000022 
+ 00026534  0x000068af ifetch  0x00000001 , 0x0000003f 
+ 00026535  0x000068b0 isub  0x00000002 , 0x0000003e 
+ 00026536  0x000068b1 rtn 
+ 00026537  0x000068b4 fetch  0x00000001 , 0x00004217 
+ 00026538  0x000068b5 icopy  0x00000039 
+ 00026539  0x000068b6 fetcht  0x00000002 , 0x00004215 
+ 00026540  0x000068b7 setarg  0x00000000 
+ 00026541  0x000068b9 istore  0x00000001 , 0x00000002 
+ 00026542  0x000068ba increase  0x00000022 , 0x00000002 
+ 00026543  0x000068bb pincrease  0x00000001 
+ 00026544  0x000068bc loop  0x000067ad 
+ 00026545  0x000068bd rtn 
+ 00026546  0x000068c0 bpatchx  0x00000099 , 0x00004033 
+ 00026547  0x000068c1 call  0x0000673e 
+ 00026548  0x000068c2 fetch  0x00000001 , 0x00000030 
+ 00026549  0x000068c3 setflag  0x00000028 , 0x00000006 , 0x0000003f 
+ 00026550  0x000068c4 store  0x00000001 , 0x00000030 
+ 00026551  0x000068c5 nbranch  0x000067bc , 0x00000028 
+ 00026552  0x000068c6 add  0x00000011 , 0x0000000a , 0x00000006 
+ 00026553  0x000068c8 arg  0x000041be , 0x00000005 
+ 00026554  0x000068c9 call  0x00007ebf 
+ 00026555  0x000068ca branch  0x000067d7 
+ 00026556  0x000068cc jam  0x00000000 , 0x000041bd 
+ 00026557  0x000068cd rtn 
+ 00026558  0x000068d0 fetch  0x00000009 , 0x000044cb 
+ 00026559  0x000068d1 branch  0x000067ca , 0x00000034 
+ 00026560  0x000068d2 call  0x0000673e 
+ 00026561  0x000068d3 nbranch  0x000067ca , 0x00000028 
+ 00026562  0x000068d4 fetch  0x00000002 , 0x0000018c 
+ 00026563  0x000068d5 add  0x0000003f , 0x00000001 , 0x00000006 
+ 00026564  0x000068d6 arg  0x000044d5 , 0x00000005 
+ 00026565  0x000068d7 call  0x00007ebf 
+ 00026566  0x000068d8 arg  0x00004419 , 0x00000005 
+ 00026567  0x000068d9 call  0x00007ebf 
+ 00026568  0x000068da jam  0x00000001 , 0x00004429 
+ 00026569  0x000068db rtn 
+ 00026570  0x000068de jam  0x00000000 , 0x00004429 
+ 00026571  0x000068df rtn 
+ 00026572  0x000068e3 fetch  0x00000006 , 0x0000044f 
+ 00026573  0x000068e4 store  0x00000006 , 0x00000186 
+ 00026574  0x000068e5 jam  0x00000034 , 0x00000185 
+ 00026575  0x000068e6 branch  0x000067d3 
+ 00026576  0x000068e8 fetch  0x00000006 , 0x00000040 
+ 00026577  0x000068e9 store  0x00000006 , 0x00000186 
+ 00026578  0x000068ea jam  0x00000033 , 0x00000185 
+ 00026579  0x000068ec fetch  0x00000001 , 0x00004092 
+ 00026580  0x000068ed beq  0x0000000a , 0x0000670b 
+ 00026581  0x000068ee bbit1  0x00000006 , 0x000042da 
+ 00026582  0x000068ef rtn 
+ 00026583  0x000068f3 fetch  0x00000008 , 0x000041be 
+ 00026584  0x000068f4 fetcht  0x00000008 , 0x000041c6 
+ 00026585  0x000068f5 ior  0x00000002 , 0x0000003f 
+ 00026586  0x000068f6 rtn  0x00000034 
+ 00026587  0x000068f7 jam  0x00000001 , 0x000041bd 
+ 00026588  0x000068f8 rtn 
+ 00026589  0x00006900 bpatchx  0x0000009a , 0x00004033 
+ 00026590  0x00006901 set1  0x00000007 , 0x00000002 
+ 00026591  0x00006902 call  0x0000681d 
+ 00026592  0x00006903 nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00026593  0x00006909 bpatchx  0x0000009b , 0x00004033 
+ 00026594  0x0000690a sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026595  0x0000690b rtn  0x00000005 
+ 00026596  0x0000690c isolate0  0x00000007 , 0x00000002 
+ 00026597  0x0000690d and  0x00000002 , 0x0000001f , 0x00000007 
+ 00026598  0x0000690e fetch  0x00000004 , 0x000000a1 
+ 00026599  0x0000690f qsetflag  0x00000001 , 0x0000003f 
+ 00026600  0x00006910 store  0x00000004 , 0x000000a1 
+ 00026601  0x00006911 fetch  0x00000004 , 0x000000a5 
+ 00026602  0x00006912 nqsetflag  0x00000001 , 0x0000003f 
+ 00026603  0x00006913 store  0x00000004 , 0x000000a5 
+ 00026604  0x00006914 rtn 
+ 00026605  0x00006918 bpatchx  0x0000009c , 0x00004033 
+ 00026606  0x00006919 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026607  0x0000691a rtn  0x00000005 
+ 00026608  0x0000691b isolate0  0x00000007 , 0x00000002 
+ 00026609  0x0000691c and  0x00000002 , 0x0000001f , 0x00000007 
+ 00026610  0x0000691d fetch  0x00000004 , 0x000000a1 
+ 00026611  0x0000691e qset0  0x0000003f 
+ 00026612  0x0000691f store  0x00000004 , 0x000000a1 
+ 00026613  0x00006920 fetch  0x00000004 , 0x000000a5 
+ 00026614  0x00006921 qset0  0x0000003f 
+ 00026615  0x00006922 store  0x00000004 , 0x000000a5 
+ 00026616  0x00006923 rtn 
+ 00026617  0x00006927 call  0x000067ed 
+ 00026618  0x00006928 branch  0x000067fe 
+ 00026619  0x0000692c sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026620  0x0000692d rtn  0x00000005 
+ 00026621  0x0000692e ncall  0x000067e1 , 0x0000002b 
+ 00026622  0x00006931 arg  0x0000807c , 0x00000005 
+ 00026623  0x00006932 call  0x00006830 
+ 00026624  0x00006933 setflip  0x00000007 , 0x00000002 
+ 00026625  0x00006934 arg  0x00008078 , 0x00000005 
+ 00026626  0x00006935 call  0x00006830 
+ 00026627  0x00006936 set0  0x00000007 , 0x00000002 
+ 00026628  0x00006937 arg  0x00008070 , 0x00000005 
+ 00026629  0x00006938 branch  0x00006830 
+ 00026630  0x0000693c arg  0x0000807c , 0x00000005 
+ 00026631  0x0000693d call  0x00006830 
+ 00026632  0x0000693e set0  0x00000007 , 0x00000002 
+ 00026633  0x0000693f arg  0x00008078 , 0x00000005 
+ 00026634  0x00006940 call  0x00006830 
+ 00026635  0x00006941 set0  0x00000007 , 0x00000002 
+ 00026636  0x00006942 arg  0x00008070 , 0x00000005 
+ 00026637  0x00006943 branch  0x00006830 
+ 00026638  0x00006948 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026639  0x00006949 rtn  0x00000005 
+ 00026640  0x0000694a setflip  0x00000007 , 0x00000002 
+ 00026641  0x0000694b call  0x0000682f 
+ 00026642  0x0000694d set1  0x00000007 , 0x00000002 
+ 00026643  0x0000694e arg  0x00008070 , 0x00000005 
+ 00026644  0x0000694f branch  0x00006830 
+ 00026645  0x00006952 and  0x00000002 , 0x00000007 , 0x00000007 
+ 00026646  0x00006953 rshift3  0x00000002 , 0x0000003f 
+ 00026647  0x00006954 and_into  0x00000003 , 0x0000003f 
+ 00026648  0x00006955 iadd  0x00000005 , 0x00000005 
+ 00026649  0x00006956 ifetch  0x00000001 , 0x00000005 
+ 00026650  0x00006957 rtn 
+ 00026651  0x0000695a arg  0x00008074 , 0x00000005 
+ 00026652  0x0000695b branch  0x0000681e 
+ 00026653  0x00006960 arg  0x0000811c , 0x00000005 
+ 00026654  0x00006962 call  0x00006815 
+ 00026655  0x00006963 isolate1  0x00000007 , 0x00000002 
+ 00026656  0x00006964 branch  0x00006823 , 0x00000001 
+ 00026657  0x00006965 qisolate0  0x0000003f 
+ 00026658  0x00006966 rtn 
+ 00026659  0x00006968 qisolate1  0x0000003f 
+ 00026660  0x00006969 rtn 
+ 00026661  0x0000696c sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026662  0x0000696d rtn  0x00000005 
+ 00026663  0x0000696e isolate1  0x00000007 , 0x0000003e 
+ 00026664  0x0000696f branch  0x0000682c 
+ 00026665  0x00006972 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026666  0x00006973 rtn  0x00000005 
+ 00026667  0x00006974 isolate0  0x00000007 , 0x0000003e 
+ 00026668  0x00006978 setarg  0x00000000 
+ 00026669  0x00006979 nsetflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00026670  0x0000697a ixor  0x00000002 , 0x00000002 
+ 00026671  0x0000697e arg  0x00008074 , 0x00000005 
+ 00026672  0x00006982 call  0x00006815 
+ 00026673  0x00006983 isolate1  0x00000007 , 0x00000002 
+ 00026674  0x00006984 qsetflag  0x00000001 , 0x0000003f 
+ 00026675  0x00006985 istore  0x00000001 , 0x00000005 
+ 00026676  0x00006986 rtn 
+ 00026677  0x00006989 arg  0xffffffff , 0x00000011 
+ 00026678  0x0000698a hfetch  0x00000001 , 0x00008081 
+ 00026679  0x0000698b compare  0x00000002 , 0x0000003f , 0x00000003 
+ 00026680  0x0000698c call  0x00006878 , 0x00000001 
+ 00026681  0x0000698e compare  0x00000001 , 0x0000003f , 0x00000003 
+ 00026682  0x0000698f call  0x0000687a , 0x00000001 
+ 00026683  0x00006991 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00026684  0x00006992 call  0x0000687a , 0x00000001 
+ 00026685  0x00006994 isolate1  0x00000002 , 0x0000003f 
+ 00026686  0x00006995 call  0x00006874 , 0x00000001 
+ 00026687  0x00006997 isolate1  0x00000003 , 0x0000003f 
+ 00026688  0x00006998 call  0x00006876 , 0x00000001 
+ 00026689  0x0000699a isolate1  0x00000004 , 0x0000003f 
+ 00026690  0x0000699b call  0x0000687c , 0x00000001 
+ 00026691  0x0000699d isolate1  0x00000006 , 0x0000003f 
+ 00026692  0x0000699e nsetflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00026693  0x000069a0 isolate1  0x00000007 , 0x0000003f 
+ 00026694  0x000069a1 nsetflag  0x00000001 , 0x00000005 , 0x00000011 
+ 00026695  0x000069a3 hfetch  0x00000001 , 0x00008082 
+ 00026696  0x000069a4 isolate1  0x00000000 , 0x0000003f 
+ 00026697  0x000069a5 nsetflag  0x00000001 , 0x0000001b , 0x00000011 
+ 00026698  0x000069a6 isolate1  0x00000001 , 0x0000003f 
+ 00026699  0x000069a7 nsetflag  0x00000001 , 0x0000001c , 0x00000011 
+ 00026700  0x000069a8 isolate1  0x00000002 , 0x0000003f 
+ 00026701  0x000069a9 nsetflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00026702  0x000069aa isolate1  0x00000003 , 0x0000003f 
+ 00026703  0x000069ab nsetflag  0x00000001 , 0x00000008 , 0x00000011 
+ 00026704  0x000069ac isolate1  0x00000004 , 0x0000003f 
+ 00026705  0x000069ad nsetflag  0x00000001 , 0x00000014 , 0x00000011 
+ 00026706  0x000069ae isolate1  0x00000005 , 0x0000003f 
+ 00026707  0x000069af nsetflag  0x00000001 , 0x00000015 , 0x00000011 
+ 00026708  0x000069b0 isolate1  0x00000006 , 0x0000003f 
+ 00026709  0x000069b1 nsetflag  0x00000001 , 0x00000016 , 0x00000011 
+ 00026710  0x000069b2 isolate1  0x00000007 , 0x0000003f 
+ 00026711  0x000069b3 nsetflag  0x00000001 , 0x00000017 , 0x00000011 
+ 00026712  0x000069b5 hfetch  0x00000001 , 0x00008080 
+ 00026713  0x000069b6 isolate1  0x00000000 , 0x0000003f 
+ 00026714  0x000069b7 nsetflag  0x00000001 , 0x00000005 , 0x00000011 
+ 00026715  0x000069b8 isolate1  0x00000001 , 0x0000003f 
+ 00026716  0x000069b9 nsetflag  0x00000001 , 0x00000006 , 0x00000011 
+ 00026717  0x000069ba isolate1  0x00000002 , 0x0000003f 
+ 00026718  0x000069bb nsetflag  0x00000001 , 0x00000007 , 0x00000011 
+ 00026719  0x000069bc isolate1  0x00000003 , 0x0000003f 
+ 00026720  0x000069bd nsetflag  0x00000001 , 0x00000012 , 0x00000011 
+ 00026721  0x000069be isolate1  0x00000004 , 0x0000003f 
+ 00026722  0x000069bf nsetflag  0x00000001 , 0x00000013 , 0x00000011 
+ 00026723  0x000069c0 isolate1  0x00000005 , 0x0000003f 
+ 00026724  0x000069c1 nsetflag  0x00000001 , 0x00000014 , 0x00000011 
+ 00026725  0x000069c2 isolate1  0x00000006 , 0x0000003f 
+ 00026726  0x000069c3 nsetflag  0x00000001 , 0x00000015 , 0x00000011 
+ 00026727  0x000069c4 isolate1  0x00000007 , 0x0000003f 
+ 00026728  0x000069c5 nsetflag  0x00000001 , 0x00000016 , 0x00000011 
+ 00026729  0x000069c7 hfetch  0x00000001 , 0x00008062 
+ 00026730  0x000069c8 isolate1  0x00000004 , 0x0000003f 
+ 00026731  0x000069c9 call  0x0000687e , 0x00000001 
+ 00026732  0x000069ca bpatchx  0x0000009d , 0x00004033 
+ 00026733  0x000069cc hfetch  0x00000004 , 0x00008078 
+ 00026734  0x000069cd hfetcht  0x00000004 , 0x0000807c 
+ 00026735  0x000069ce ior  0x00000002 , 0x0000003f 
+ 00026736  0x000069cf invert  0x0000003f , 0x0000003f 
+ 00026737  0x000069d0 iand  0x00000011 , 0x0000003f 
+ 00026738  0x000069d2 hstore  0x00000004 , 0x00008070 
+ 00026739  0x000069d3 rtn 
+ 00026740  0x000069d7 arg  0x00000006 , 0x00000007 
+ 00026741  0x000069d8 branch  0x00006884 
+ 00026742  0x000069da arg  0x00000009 , 0x00000007 
+ 00026743  0x000069db branch  0x00006882 
+ 00026744  0x000069dd arg  0x00000017 , 0x00000007 
+ 00026745  0x000069de branch  0x00006882 
+ 00026746  0x000069e0 arg  0x00000019 , 0x00000007 
+ 00026747  0x000069e1 branch  0x00006884 
+ 00026748  0x000069e3 arg  0x0000001e , 0x00000007 
+ 00026749  0x000069e4 branch  0x00006884 
+ 00026750  0x000069e6 arg  0x00000002 , 0x00000007 
+ 00026751  0x000069e7 branch  0x00006884 
+ 00026752  0x000069e9 arg  0x00000001 , 0x00000039 
+ 00026753  0x000069ea branch  0x00006885 
+ 00026754  0x000069ec arg  0x00000004 , 0x00000039 
+ 00026755  0x000069ed branch  0x00006885 
+ 00026756  0x000069ef arg  0x00000002 , 0x00000039 
+ 00026757  0x000069f1 qset0  0x00000011 
+ 00026758  0x000069f2 increase  0x00000001 , 0x00000007 
+ 00026759  0x000069f3 loop  0x00006885 
+ 00026760  0x000069f4 rtn 
+ 00026761  0x000069fd call  0x00006895 
+ 00026762  0x000069fe arg  0x00000006 , 0x00000002 
+ 00026763  0x000069ff branch  0x0000680e 
+ 00026764  0x00006a02 call  0x00006889 
+ 00026765  0x00006a03 arg  0x00000006 , 0x00000002 
+ 00026766  0x00006a04 branch  0x00006825 
+ 00026767  0x00006a09 call  0x00006895 
+ 00026768  0x00006a0a hfetch  0x00000001 , 0x00008078 
+ 00026769  0x00006a0b set1  0x00000007 , 0x0000003f 
+ 00026770  0x00006a0c hstore  0x00000001 , 0x00008078 
+ 00026771  0x00006a0d arg  0x00000007 , 0x00000002 
+ 00026772  0x00006a0e branch  0x000067fb 
+ 00026773  0x00006a11 hfetch  0x00000001 , 0x00008081 
+ 00026774  0x00006a12 and_into  0x000000fb , 0x0000003f 
+ 00026775  0x00006a13 hstore  0x00000001 , 0x00008081 
+ 00026776  0x00006a14 rtn 
+ 00026777  0x00006a17 hfetch  0x00000001 , 0x00008081 
+ 00026778  0x00006a18 isolate1  0x00000002 , 0x0000003f 
+ 00026779  0x00006a19 rtn 
+ 00026780  0x00006a1c call  0x0000666a 
+ 00026781  0x00006a1d setarg  0x000007e0 
+ 00026782  0x00006a1e arg  0x00004150 , 0x00000011 
+ 00026783  0x00006a1f arg  0x00000002 , 0x00000002 
+ 00026784  0x00006a20 call  0x000066b3 
+ 00026785  0x00006a21 branch  0x0000666d 
+ 00026786  0x00006a25 call  0x0000666a 
+ 00026787  0x00006a26 setarg  0x000007e2 
+ 00026788  0x00006a27 arg  0x0000421d , 0x00000011 
+ 00026789  0x00006a28 arg  0x0000000e , 0x00000002 
+ 00026790  0x00006a29 call  0x000066b3 
+ 00026791  0x00006a2a branch  0x0000666d 
+ 00026792  0x00006a2f bpatchx  0x0000009e , 0x00004033 
+ 00026793  0x00006a31 call  0x000068a2 
+ 00026794  0x00006a33 fetch  0x00000001 , 0x0000422d 
+ 00026795  0x00006a34 beq  0x00000000 , 0x000068af 
+ 00026796  0x00006a35 beq  0x00000001 , 0x000068c3 
+ 00026797  0x00006a36 beq  0x00000002 , 0x000068d7 
+ 00026798  0x00006a37 rtn 
+ 00026799  0x00006a3a fetcht  0x00000002 , 0x00004229 
+ 00026800  0x00006a3b setarg  0x0000aa55 
+ 00026801  0x00006a3c isub  0x00000002 , 0x0000003e 
+ 00026802  0x00006a3d branch  0x000068b8 , 0x00000005 
+ 00026803  0x00006a3e setarg  0x00004dfa 
+ 00026804  0x00006a3f store  0x00000002 , 0x00004227 
+ 00026805  0x00006a40 setarg  0x00004894 
+ 00026806  0x00006a41 store  0x00000002 , 0x00004221 
+ 00026807  0x00006a42 branch  0x000068c0 
+ 00026808  0x00006a45 fetch  0x00000002 , 0x00004227 
+ 00026809  0x00006a46 nbranch  0x000068bc , 0x00000034 
+ 00026810  0x00006a47 setarg  0x00004dfa 
+ 00026811  0x00006a48 store  0x00000002 , 0x00004227 
+ 00026812  0x00006a4a fetch  0x00000002 , 0x00004221 
+ 00026813  0x00006a4b nbranch  0x000068c0 , 0x00000034 
+ 00026814  0x00006a4c setarg  0x00004894 
+ 00026815  0x00006a4d store  0x00000002 , 0x00004221 
+ 00026816  0x00006a4f setarg  0x00000064 
+ 00026817  0x00006a50 store  0x00000002 , 0x0000422b 
+ 00026818  0x00006a51 rtn 
+ 00026819  0x00006a54 fetcht  0x00000002 , 0x00004229 
+ 00026820  0x00006a55 setarg  0x0000aa55 
+ 00026821  0x00006a56 isub  0x00000002 , 0x0000003e 
+ 00026822  0x00006a57 branch  0x000068cc , 0x00000005 
+ 00026823  0x00006a58 setarg  0x00005932 
+ 00026824  0x00006a59 store  0x00000002 , 0x00004225 
+ 00026825  0x00006a5a setarg  0x00004323 
+ 00026826  0x00006a5b store  0x00000002 , 0x0000421f 
+ 00026827  0x00006a5c branch  0x000068d4 
+ 00026828  0x00006a5f fetch  0x00000002 , 0x00004225 
+ 00026829  0x00006a60 nbranch  0x000068d0 , 0x00000034 
+ 00026830  0x00006a61 setarg  0x00005932 
+ 00026831  0x00006a62 store  0x00000002 , 0x00004225 
+ 00026832  0x00006a64 fetch  0x00000002 , 0x0000421f 
+ 00026833  0x00006a65 nbranch  0x000068d4 , 0x00000034 
+ 00026834  0x00006a66 setarg  0x00004323 
+ 00026835  0x00006a67 store  0x00000002 , 0x0000421f 
+ 00026836  0x00006a69 setarg  0x00000190 
+ 00026837  0x00006a6a store  0x00000002 , 0x0000422b 
+ 00026838  0x00006a6b rtn 
+ 00026839  0x00006a6e fetcht  0x00000002 , 0x00004229 
+ 00026840  0x00006a6f setarg  0x0000aa55 
+ 00026841  0x00006a70 isub  0x00000002 , 0x0000003e 
+ 00026842  0x00006a71 branch  0x000068e0 , 0x00000005 
+ 00026843  0x00006a72 setarg  0x00006946 
+ 00026844  0x00006a73 store  0x00000002 , 0x00004223 
+ 00026845  0x00006a74 setarg  0x00005377 
+ 00026846  0x00006a75 store  0x00000002 , 0x0000421d 
+ 00026847  0x00006a76 branch  0x000068e8 
+ 00026848  0x00006a79 fetch  0x00000002 , 0x00004223 
+ 00026849  0x00006a7a nbranch  0x000068e4 , 0x00000034 
+ 00026850  0x00006a7b setarg  0x00006946 
+ 00026851  0x00006a7c store  0x00000002 , 0x00004223 
+ 00026852  0x00006a7e fetch  0x00000002 , 0x0000421d 
+ 00026853  0x00006a7f nbranch  0x000068e8 , 0x00000034 
+ 00026854  0x00006a80 setarg  0x00005377 
+ 00026855  0x00006a81 store  0x00000002 , 0x0000421d 
+ 00026856  0x00006a83 setarg  0x00000032 
+ 00026857  0x00006a84 store  0x00000002 , 0x0000422b 
+ 00026858  0x00006a85 rtn 
+ 00026859  0x00006a89 fetch  0x00000001 , 0x0000422d 
+ 00026860  0x00006a8a beq  0x00000000 , 0x000068f0 
+ 00026861  0x00006a8b beq  0x00000001 , 0x000068f2 
+ 00026862  0x00006a8c beq  0x00000002 , 0x000068f4 
+ 00026863  0x00006a8d rtn 
+ 00026864  0x00006a8f hjam  0x000000bf , 0x00008971 
+ 00026865  0x00006a90 branch  0x000068f8 
+ 00026866  0x00006a92 hjam  0x000000af , 0x00008971 
+ 00026867  0x00006a93 branch  0x000068f8 
+ 00026868  0x00006a95 hjam  0x0000008f , 0x00008971 
+ 00026869  0x00006a96 fetch  0x00000001 , 0x0000422e 
+ 00026870  0x00006a97 hstore  0x00000001 , 0x00008973 
+ 00026871  0x00006a98 branch  0x000068f8 
+ 00026872  0x00006a9a bpatchx  0x0000009f , 0x00004033 
+ 00026873  0x00006a9b hfetch  0x00000001 , 0x00008053 
+ 00026874  0x00006a9c set1  0x00000007 , 0x0000003f 
+ 00026875  0x00006a9d hstore  0x00000001 , 0x00008053 
+ 00026876  0x00006a9e hfetch  0x00000001 , 0x00008973 
+ 00026877  0x00006a9f or_into  0x00000030 , 0x0000003f 
+ 00026878  0x00006aa0 hstore  0x00000001 , 0x00008973 
+ 00026879  0x00006aa1 hjam  0x0000007c , 0x00008906 
+ 00026880  0x00006aa2 hjam  0x000000aa , 0x00008972 
+ 00026881  0x00006aa3 nop  0x00001388 
+ 00026882  0x00006aa4 hfetcht  0x00000002 , 0x00008150 
+ 00026883  0x00006aa5 hfetch  0x00000001 , 0x00008053 
+ 00026884  0x00006aa6 set0  0x00000007 , 0x0000003f 
+ 00026885  0x00006aa7 hstore  0x00000001 , 0x00008053 
+ 00026886  0x00006aa8 storet  0x00000002 , 0x0000422f 
+ 00026887  0x00006aa9 rtn 
+ 00026888  0x00006aac bpatchx  0x000000a0 , 0x00004034 
+ 00026889  0x00006aad fetch  0x00000001 , 0x0000422d 
+ 00026890  0x00006aae beq  0x00000000 , 0x0000690e 
+ 00026891  0x00006aaf beq  0x00000001 , 0x00006912 
+ 00026892  0x00006ab0 beq  0x00000002 , 0x00006916 
+ 00026893  0x00006ab1 rtn 
+ 00026894  0x00006ab4 fetch  0x00000002 , 0x00004227 
+ 00026895  0x00006ab5 fetcht  0x00000002 , 0x00004221 
+ 00026896  0x00006ab6 arg  0x000000c8 , 0x00000013 
+ 00026897  0x00006ab7 branch  0x0000691a 
+ 00026898  0x00006aba fetch  0x00000002 , 0x00004225 
+ 00026899  0x00006abb fetcht  0x00000002 , 0x0000421f 
+ 00026900  0x00006abc arg  0x00000064 , 0x00000013 
+ 00026901  0x00006abd branch  0x0000691a 
+ 00026902  0x00006ac0 fetch  0x00000002 , 0x00004223 
+ 00026903  0x00006ac1 fetcht  0x00000002 , 0x0000421d 
+ 00026904  0x00006ac2 arg  0x00000032 , 0x00000013 
+ 00026905  0x00006ac3 branch  0x0000691a 
+ 00026906  0x00006ac6 isub  0x00000002 , 0x00000011 
+ 00026907  0x00006ac7 fetch  0x00000002 , 0x0000422f 
+ 00026908  0x00006ac8 isub  0x00000002 , 0x0000003f 
+ 00026909  0x00006ac9 nbranch  0x00006927 , 0x00000002 
+ 00026910  0x00006aca fetcht  0x00000002 , 0x0000422b 
+ 00026911  0x00006acb imul32  0x00000002 , 0x00000012 
+ 00026912  0x00006acc copy  0x00000013 , 0x0000003f 
+ 00026913  0x00006acd imul32  0x00000011 , 0x0000003f 
+ 00026914  0x00006ace iadd  0x00000012 , 0x0000003f 
+ 00026915  0x00006ad0 idiv  0x00000011 
+ 00026916  0x00006ad1 call  0x00007f86 
+ 00026917  0x00006ad2 quotient  0x0000003f 
+ 00026918  0x00006ad3 rtn 
+ 00026919  0x00006ad6 copy  0x00000002 , 0x0000003f 
+ 00026920  0x00006ad7 fetcht  0x00000002 , 0x0000422f 
+ 00026921  0x00006ad8 isub  0x00000002 , 0x0000003f 
+ 00026922  0x00006ad9 fetcht  0x00000002 , 0x0000422b 
+ 00026923  0x00006ada imul32  0x00000002 , 0x00000012 
+ 00026924  0x00006adb copy  0x00000013 , 0x0000003f 
+ 00026925  0x00006adc imul32  0x00000011 , 0x0000003f 
+ 00026926  0x00006add isub  0x00000012 , 0x0000003f 
+ 00026927  0x00006ade branch  0x00006923 
+ 00026928  0x00006aea ifetch  0x00000008 , 0x00000011 
+ 00026929  0x00006aeb store  0x00000008 , 0x00000a9a 
+ 00026930  0x00006aec fetch  0x00000002 , 0x00000a9a 
+ 00026931  0x00006aed fetcht  0x00000002 , 0x00000a9c 
+ 00026932  0x00006aee isub  0x00000002 , 0x00000011 
+ 00026933  0x00006aef fetch  0x00000002 , 0x00000aa0 
+ 00026934  0x00006af0 isub  0x00000002 , 0x00000012 
+ 00026935  0x00006af1 fetcht  0x00000002 , 0x00000a9e 
+ 00026936  0x00006af2 isub  0x00000002 , 0x0000003e 
+ 00026937  0x00006af3 ncall  0x00006940 , 0x00000002 
+ 00026938  0x00006af4 mul32  0x00000012 , 0x00000064 , 0x0000003f 
+ 00026939  0x00006af5 idiv  0x00000011 
+ 00026940  0x00006af6 call  0x00007f86 
+ 00026941  0x00006af7 quotient  0x0000003f 
+ 00026942  0x00006af8 call  0x00006944 , 0x00000034 
+ 00026943  0x00006af9 rtn 
+ 00026944  0x00006afb fetch  0x00000001 , 0x00004231 
+ 00026945  0x00006afc set1  0x00000000 , 0x0000003f 
+ 00026946  0x00006afd store  0x00000001 , 0x00004231 
+ 00026947  0x00006afe rtn 
+ 00026948  0x00006b00 fetcht  0x00000001 , 0x00004231 
+ 00026949  0x00006b01 set1  0x00000001 , 0x00000002 
+ 00026950  0x00006b02 storet  0x00000001 , 0x00004231 
+ 00026951  0x00006b03 rtn 
+ 00026952  0x00006b09 fetch  0x00000002 , 0x0000423d 
+ 00026953  0x00006b0a ifetch  0x00000001 , 0x0000003f 
+ 00026954  0x00006b0c rtn  0x00000034 
+ 00026955  0x00006b0d copy  0x0000003f , 0x00000039 
+ 00026956  0x00006b0f fetch  0x00000002 , 0x0000423d 
+ 00026957  0x00006b10 increase  0x00000003 , 0x0000003f 
+ 00026958  0x00006b11 copy  0x0000003f , 0x00000011 
+ 00026959  0x00006b13 ifetcht  0x00000001 , 0x00000011 
+ 00026960  0x00006b14 call  0x000067fb 
+ 00026961  0x00006b15 increase  0x00000001 , 0x00000011 
+ 00026962  0x00006b16 loop  0x0000694f 
+ 00026963  0x00006b18 rtn 
+ 00026964  0x00006b1b fetch  0x00000002 , 0x0000423d 
+ 00026965  0x00006b1c increase  0x00000003 , 0x0000003f 
+ 00026966  0x00006b1d copy  0x0000003f , 0x00000011 
+ 00026967  0x00006b1f force  0x00000000 , 0x00000012 
+ 00026968  0x00006b20 jam  0x00000000 , 0x00000b12 
+ 00026969  0x00006b22 ifetcht  0x00000001 , 0x00000011 
+ 00026970  0x00006b23 call  0x0000681d 
+ 00026971  0x00006b24 bpatchx  0x000000a1 , 0x00004034 
+ 00026972  0x00006b25 fetch  0x00000002 , 0x00000b12 
+ 00026973  0x00006b26 copy  0x00000012 , 0x00000007 
+ 00026974  0x00006b27 qsetflag  0x00000001 , 0x0000003f 
+ 00026975  0x00006b28 store  0x00000002 , 0x00000b12 
+ 00026976  0x00006b29 increase  0x00000001 , 0x00000011 
+ 00026977  0x00006b2a increase  0x00000001 , 0x00000012 
+ 00026978  0x00006b2b fetch  0x00000002 , 0x0000423d 
+ 00026979  0x00006b2c ifetch  0x00000001 , 0x0000003f 
+ 00026980  0x00006b2e ixor  0x00000012 , 0x0000003e 
+ 00026981  0x00006b2f nbranch  0x00006959 , 0x00000005 
+ 00026982  0x00006b30 fetch  0x00000002 , 0x00000b12 
+ 00026983  0x00006b31 fetcht  0x00000002 , 0x00000b14 
+ 00026984  0x00006b32 ixor  0x00000002 , 0x0000003e 
+ 00026985  0x00006b33 rtn  0x00000005 
+ 00026986  0x00006b34 enable  0x00000028 
+ 00026987  0x00006b35 rtn 
+ 00026988  0x00006b38 fetch  0x00000002 , 0x0000423d 
+ 00026989  0x00006b39 ifetch  0x00000001 , 0x0000003f 
+ 00026990  0x00006b3b rtn  0x00000034 
+ 00026991  0x00006b3c copy  0x0000003f , 0x00000039 
+ 00026992  0x00006b3d fetch  0x00000002 , 0x0000423d 
+ 00026993  0x00006b3e increase  0x00000003 , 0x0000003f 
+ 00026994  0x00006b3f copy  0x0000003f , 0x00000011 
+ 00026995  0x00006b41 ifetcht  0x00000001 , 0x00000011 
+ 00026996  0x00006b42 call  0x000067dd 
+ 00026997  0x00006b43 increase  0x00000001 , 0x00000011 
+ 00026998  0x00006b44 loop  0x00006973 
+ 00026999  0x00006b46 rtn 
+ 00027000  0x00006b49 arg  0x00000009 , 0x00000007 
+ 00027001  0x00006b4a call  0x00007f16 
+ 00027002  0x00006b4b nrtn  0x00000034 
+ 00027003  0x00006b4c setarg  0x00000020 
+ 00027004  0x00006b4d arg  0x00000009 , 0x00000007 
+ 00027005  0x00006b4e call  0x00007f08 
+ 00027006  0x00006b4f disable  0x00000028 
+ 00027007  0x00006b50 call  0x0000696c 
+ 00027008  0x00006b51 bpatchx  0x000000a2 , 0x00004034 
+ 00027009  0x00006b52 fetch  0x00000002 , 0x0000423d 
+ 00027010  0x00006b53 ifetch  0x00000001 , 0x0000003f 
+ 00027011  0x00006b55 rtn  0x00000034 
+ 00027012  0x00006b56 call  0x00006954 
+ 00027013  0x00006b57 nbranch  0x00007d02 , 0x00000028 
+ 00027014  0x00006b58 call  0x00007d00 
+ 00027015  0x00006b59 disable  0x00000028 
+ 00027016  0x00006b5a fetch  0x00000002 , 0x00000b12 
+ 00027017  0x00006b5b store  0x00000002 , 0x00000b19 
+ 00027018  0x00006b5c jam  0x00000000 , 0x00000b1b 
+ 00027019  0x00006b5d force  0x00000000 , 0x00000007 
+ 00027020  0x00006b5f fetch  0x00000002 , 0x00000b14 
+ 00027021  0x00006b60 rshift  0x0000003f , 0x00000002 
+ 00027022  0x00006b61 storet  0x00000002 , 0x00000b14 
+ 00027023  0x00006b62 and  0x0000003f , 0x00000001 , 0x0000003f 
+ 00027024  0x00006b63 fetcht  0x00000002 , 0x00000b19 
+ 00027025  0x00006b64 and  0x00000002 , 0x00000001 , 0x00000011 
+ 00027026  0x00006b65 rshift  0x00000002 , 0x00000002 
+ 00027027  0x00006b66 storet  0x00000002 , 0x00000b19 
+ 00027028  0x00006b67 ixor  0x00000011 , 0x0000003e 
+ 00027029  0x00006b68 ncall  0x000069a1 , 0x00000005 
+ 00027030  0x00006b69 fetch  0x00000002 , 0x0000423d 
+ 00027031  0x00006b6a ifetch  0x00000001 , 0x0000003f 
+ 00027032  0x00006b6c fetcht  0x00000001 , 0x00000b1b 
+ 00027033  0x00006b6d increase  0x00000001 , 0x00000002 
+ 00027034  0x00006b6e storet  0x00000001 , 0x00000b1b 
+ 00027035  0x00006b6f copy  0x00000002 , 0x00000007 
+ 00027036  0x00006b70 ixor  0x00000007 , 0x0000003e 
+ 00027037  0x00006b71 nbranch  0x0000698c , 0x00000005 
+ 00027038  0x00006b72 fetch  0x00000002 , 0x00000b12 
+ 00027039  0x00006b73 store  0x00000002 , 0x00000b14 
+ 00027040  0x00006b74 rtn 
+ 00027041  0x00006b76 bpatchx  0x000000a3 , 0x00004034 
+ 00027042  0x00006b77 fetch  0x00000002 , 0x0000423d 
+ 00027043  0x00006b78 increase  0x00000001 , 0x0000003f 
+ 00027044  0x00006b79 ifetch  0x00000002 , 0x0000003f 
+ 00027045  0x00006b7a branch  0x00007f9c 
+ 00027046  0x00006b86 hfetch  0x00000001 , 0x00008042 
+ 00027047  0x00006b87 ior  0x00000011 , 0x0000003f 
+ 00027048  0x00006b88 hstore  0x00000001 , 0x00008042 
+ 00027049  0x00006b89 hfetch  0x00000002 , 0x00008050 
+ 00027050  0x00006b8a set0  0x0000000d , 0x0000003f 
+ 00027051  0x00006b8b hstore  0x00000002 , 0x00008050 
+ 00027052  0x00006b8c nop  0x00000064 
+ 00027053  0x00006b8d rtn 
+ 00027054  0x00006b99 fetcht  0x00000003 , 0x00000a9c 
+ 00027055  0x00006b9a setarg  0x00b71b00 
+ 00027056  0x00006b9b idiv  0x00000002 
+ 00027057  0x00006b9c call  0x00007f86 
+ 00027058  0x00006b9d quotient  0x00000002 
+ 00027059  0x00006b9e fetch  0x00000001 , 0x00000a9f 
+ 00027060  0x00006b9f imul32  0x00000002 , 0x0000003f 
+ 00027061  0x00006ba0 div  0x0000003f , 0x00000064 
+ 00027062  0x00006ba1 call  0x00007f86 
+ 00027063  0x00006ba2 quotient  0x00000011 
+ 00027064  0x00006ba3 copy  0x00000002 , 0x0000003f 
+ 00027065  0x00006ba4 isub  0x00000011 , 0x00000012 
+ 00027066  0x00006ba5 fetch  0x00000001 , 0x00000a9b 
+ 00027067  0x00006ba6 call  0x000069be 
+ 00027068  0x00006ba7 fetch  0x00000001 , 0x00000a9a 
+ 00027069  0x00006ba8 branch  0x000069d5 
+ 00027070  0x00006bac beq  0x00000000 , 0x000069c4 
+ 00027071  0x00006bad beq  0x00000001 , 0x000069c6 
+ 00027072  0x00006bae beq  0x00000002 , 0x000069c8 
+ 00027073  0x00006baf beq  0x00000003 , 0x000069ca 
+ 00027074  0x00006bb0 beq  0x00000004 , 0x000069cc 
+ 00027075  0x00006bb1 beq  0x00000005 , 0x000069ce 
+ 00027076  0x00006bb3 arg  0x000080a0 , 0x00000005 
+ 00027077  0x00006bb4 branch  0x000069d0 
+ 00027078  0x00006bb6 arg  0x000080a4 , 0x00000005 
+ 00027079  0x00006bb7 branch  0x000069d0 
+ 00027080  0x00006bb9 arg  0x000080a8 , 0x00000005 
+ 00027081  0x00006bba branch  0x000069d0 
+ 00027082  0x00006bbc arg  0x00008064 , 0x00000005 
+ 00027083  0x00006bbd branch  0x000069d0 
+ 00027084  0x00006bbf arg  0x00008068 , 0x00000005 
+ 00027085  0x00006bc0 branch  0x000069d0 
+ 00027086  0x00006bc2 arg  0x0000806c , 0x00000005 
+ 00027087  0x00006bc3 branch  0x000069d0 
+ 00027088  0x00006bc5 copy  0x00000011 , 0x0000003f 
+ 00027089  0x00006bc6 istore  0x00000002 , 0x00000005 
+ 00027090  0x00006bc7 copy  0x00000012 , 0x0000003f 
+ 00027091  0x00006bc8 istore  0x00000002 , 0x00000005 
+ 00027092  0x00006bc9 rtn 
+ 00027093  0x00006bce enable  0x00000028 
+ 00027094  0x00006bcf branch  0x000069d8 
+ 00027095  0x00006bd1 disable  0x00000028 
+ 00027096  0x00006bd3 beq  0x00000004 , 0x000069e3 
+ 00027097  0x00006bd4 beq  0x00000005 , 0x000069e5 
+ 00027098  0x00006bd5 beq  0x0000001b , 0x000069e7 
+ 00027099  0x00006bd6 beq  0x0000001c , 0x000069e9 
+ 00027100  0x00006bd7 beq  0x00000003 , 0x000069eb 
+ 00027101  0x00006bd8 beq  0x00000008 , 0x000069ed 
+ 00027102  0x00006bd9 beq  0x00000014 , 0x000069ef 
+ 00027103  0x00006bda beq  0x00000015 , 0x000069f1 
+ 00027104  0x00006bdb beq  0x00000016 , 0x000069f3 
+ 00027105  0x00006bdc beq  0x00000017 , 0x000069f5 
+ 00027106  0x00006bdd rtn 
+ 00027107  0x00006be1 arg  0x00000006 , 0x00000007 
+ 00027108  0x00006be2 branch  0x000069ff 
+ 00027109  0x00006be4 arg  0x00000007 , 0x00000007 
+ 00027110  0x00006be5 branch  0x000069ff 
+ 00027111  0x00006be7 arg  0x00000008 , 0x00000007 
+ 00027112  0x00006be8 branch  0x000069ff 
+ 00027113  0x00006bea arg  0x00000009 , 0x00000007 
+ 00027114  0x00006beb branch  0x000069ff 
+ 00027115  0x00006bed arg  0x0000000a , 0x00000007 
+ 00027116  0x00006bee branch  0x000069ff 
+ 00027117  0x00006bf0 arg  0x0000000b , 0x00000007 
+ 00027118  0x00006bf1 branch  0x000069ff 
+ 00027119  0x00006bf3 arg  0x0000000c , 0x00000007 
+ 00027120  0x00006bf4 branch  0x00006a01 
+ 00027121  0x00006bf6 arg  0x0000000d , 0x00000007 
+ 00027122  0x00006bf7 branch  0x00006a01 
+ 00027123  0x00006bf9 arg  0x0000000e , 0x00000007 
+ 00027124  0x00006bfa branch  0x00006a01 
+ 00027125  0x00006bfc arg  0x0000000f , 0x00000007 
+ 00027126  0x00006bfd branch  0x00006a01 
+ 00027127  0x00006c00 hfetch  0x00000002 , 0x00008081 
+ 00027128  0x00006c01 qsetflag  0x00000028 , 0x0000003f 
+ 00027129  0x00006c02 hstore  0x00000002 , 0x00008081 
+ 00027130  0x00006c03 copy  0x00000011 , 0x00000007 
+ 00027131  0x00006c04 hfetch  0x00000001 , 0x00008085 
+ 00027132  0x00006c05 qsetflag  0x00000028 , 0x0000003f 
+ 00027133  0x00006c06 hstore  0x00000001 , 0x00008085 
+ 00027134  0x00006c07 rtn 
+ 00027135  0x00006c0a add  0x00000007 , 0xfffffffc , 0x00000011 
+ 00027136  0x00006c0b branch  0x000069f7 
+ 00027137  0x00006c0e add  0x00000007 , 0xfffffff6 , 0x00000011 
+ 00027138  0x00006c0f branch  0x000069f7 
+ 00027139  0x00006c15 rtn  0x0000002b 
+ 00027140  0x00006c16 jam  0x00000000 , 0x00004567 
+ 00027141  0x00006c17 jam  0x00000003 , 0x000004ed 
+ 00027142  0x00006c18 jam  0x00000003 , 0x000004ee 
+ 00027143  0x00006c19 jam  0x00000011 , 0x000004f2 
+ 00027144  0x00006c1a jam  0x00000013 , 0x000004f3 
+ 00027145  0x00006c1b setarg  0x00000000 
+ 00027146  0x00006c1c store  0x00000003 , 0x000004ef 
+ 00027147  0x00006c1d store  0x00000001 , 0x00004254 
+ 00027148  0x00006c1e jam  0x00000000 , 0x00004681 
+ 00027149  0x00006c21 bpatchx  0x000000a4 , 0x00004034 
+ 00027150  0x00006c22 setarg  0x00000000 
+ 00027151  0x00006c23 store  0x00000001 , 0x00004254 
+ 00027152  0x00006c24 store  0x00000001 , 0x00004564 
+ 00027153  0x00006c25 store  0x00000001 , 0x0000455d 
+ 00027154  0x00006c26 fetch  0x00000001 , 0x0000456b 
+ 00027155  0x00006c27 beq  0x00000001 , 0x00006a16 
+ 00027156  0x00006c28 jam  0x00000050 , 0x00004569 
+ 00027157  0x00006c29 rtn 
+ 00027158  0x00006c2c jam  0x00000000 , 0x00004569 
+ 00027159  0x00006c2d rtn 
+ 00027160  0x00006c30 or_into  0x00000002 , 0x00000002 
+ 00027161  0x00006c31 rtn 
+ 00027162  0x00006c3e copy  0x00000002 , 0x0000003f 
+ 00027163  0x00006c3f reverse  0x0000003f , 0x0000003f 
+ 00027164  0x00006c40 store  0x00000001 , 0x00004562 
+ 00027165  0x00006c41 force  0x0000003f , 0x0000003f 
+ 00027166  0x00006c42 reverse  0x0000003f , 0x0000003f 
+ 00027167  0x00006c43 store  0x00000001 , 0x00004561 
+ 00027168  0x00006c44 force  0x00000001 , 0x0000003f 
+ 00027169  0x00006c45 reverse  0x0000003f , 0x0000003f 
+ 00027170  0x00006c46 store  0x00000001 , 0x00004560 
+ 00027171  0x00006c47 call  0x00006a50 
+ 00027172  0x00006c48 copy  0x00000002 , 0x0000003f 
+ 00027173  0x00006c49 rtn 
+ 00027174  0x00006c4b reverse  0x0000003f , 0x0000003f 
+ 00027175  0x00006c4c store  0x00000001 , 0x00004562 
+ 00027176  0x00006c4d force  0x00000073 , 0x0000003f 
+ 00027177  0x00006c4e reverse  0x0000003f , 0x0000003f 
+ 00027178  0x00006c4f store  0x00000001 , 0x00004561 
+ 00027179  0x00006c50 force  0x00000001 , 0x0000003f 
+ 00027180  0x00006c51 reverse  0x0000003f , 0x0000003f 
+ 00027181  0x00006c52 store  0x00000001 , 0x00004560 
+ 00027182  0x00006c53 branch  0x00006a50 
+ 00027183  0x00006c56 fetch  0x00000001 , 0x00004563 
+ 00027184  0x00006c57 branch  0x00006a33 , 0x00000034 
+ 00027185  0x00006c58 setarg  0x00000070 
+ 00027186  0x00006c59 rtn 
+ 00027187  0x00006c5b setarg  0x000000aa 
+ 00027188  0x00006c5c rtn 
+ 00027189  0x00006c5f reverse  0x0000003f , 0x0000003f 
+ 00027190  0x00006c60 store  0x00000001 , 0x00004562 
+ 00027191  0x00006c61 force  0x000000ef , 0x0000003f 
+ 00027192  0x00006c62 call  0x00006a44 
+ 00027193  0x00006c63 fetcht  0x00000002 , 0x000004f7 
+ 00027194  0x00006c64 copy  0x00000002 , 0x00000005 
+ 00027195  0x00006c65 istore  0x00000001 , 0x00000005 
+ 00027196  0x00006c66 copy  0x00000005 , 0x00000002 
+ 00027197  0x00006c67 storet  0x00000002 , 0x000004f7 
+ 00027198  0x00006c68 force  0x000000ff , 0x0000003f 
+ 00027199  0x00006c69 call  0x00006a44 
+ 00027200  0x00006c6a fetcht  0x00000002 , 0x000004f7 
+ 00027201  0x00006c6b copy  0x00000002 , 0x00000005 
+ 00027202  0x00006c6c istore  0x00000001 , 0x00000005 
+ 00027203  0x00006c6d rtn 
+ 00027204  0x00006c77 reverse  0x0000003f , 0x0000003f 
+ 00027205  0x00006c78 store  0x00000001 , 0x00004561 
+ 00027206  0x00006c79 fetch  0x00000002 , 0x00004561 
+ 00027207  0x00006c7a lshift8  0x0000003f , 0x0000003f 
+ 00027208  0x00006c7b store  0x00000003 , 0x000004f4 
+ 00027209  0x00006c7c arg  0x00000107 , 0x00000011 
+ 00027210  0x00006c7d arg  0x0000000f , 0x00000012 
+ 00027211  0x00006c7e call  0x00006a5d 
+ 00027212  0x00006c7f xor_into  0x000000d7 , 0x0000003f 
+ 00027213  0x00006c80 invert  0x0000003f , 0x0000003f 
+ 00027214  0x00006c81 reverse  0x0000003f , 0x0000003f 
+ 00027215  0x00006c82 rtn 
+ 00027216  0x00006c8d fetch  0x00000003 , 0x00004560 
+ 00027217  0x00006c8e store  0x00000003 , 0x000004f4 
+ 00027218  0x00006c8f arg  0x00000107 , 0x00000011 
+ 00027219  0x00006c90 arg  0x0000000f , 0x00000012 
+ 00027220  0x00006c91 call  0x00006a5d 
+ 00027221  0x00006c92 lshift8  0x0000003f , 0x0000003f 
+ 00027222  0x00006c93 arg  0x00000007 , 0x00000012 
+ 00027223  0x00006c94 call  0x00006a5d 
+ 00027224  0x00006c95 xor_into  0x0000002b , 0x0000003f 
+ 00027225  0x00006c96 invert  0x0000003f , 0x0000003f 
+ 00027226  0x00006c97 reverse  0x0000003f , 0x0000003f 
+ 00027227  0x00006c98 copy  0x0000003f , 0x00000002 
+ 00027228  0x00006c99 rtn 
+ 00027229  0x00006c9c arg  0x00000000 , 0x00000013 
+ 00027230  0x00006c9d copy  0x00000012 , 0x00000039 
+ 00027231  0x00006c9e call  0x00007e71 
+ 00027232  0x00006c9f icopy  0x00000002 
+ 00027233  0x00006ca5 copy  0x00000002 , 0x0000003f 
+ 00027234  0x00006ca6 lshift  0x00000013 , 0x00000013 
+ 00027235  0x00006ca7 bbit0  0x00000008 , 0x00006a66 
+ 00027236  0x00006ca8 ixor  0x00000011 , 0x00000002 
+ 00027237  0x00006ca9 increase  0x00000001 , 0x00000013 
+ 00027238  0x00006cab lshift  0x00000002 , 0x00000002 
+ 00027239  0x00006cac fetch  0x00000003 , 0x000004f4 
+ 00027240  0x00006cad increase  0xffffffff , 0x00000012 
+ 00027241  0x00006cae compare  0x000000ff , 0x00000012 , 0x000000ff 
+ 00027242  0x00006caf branch  0x00006a70 , 0x00000001 
+ 00027243  0x00006cb0 copy  0x00000012 , 0x00000039 
+ 00027244  0x00006cb1 call  0x00007e71 
+ 00027245  0x00006cb2 isolate1  0x00000000 , 0x0000003f 
+ 00027246  0x00006cb3 setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00027247  0x00006cb4 branch  0x00006a61 
+ 00027248  0x00006cb7 rshift  0x00000002 , 0x0000003f 
+ 00027249  0x00006cb8 rtn 
+ 00027250  0x00006cbb fetcht  0x00000001 , 0x0000455d 
+ 00027251  0x00006cbe lshift2  0x00000002 , 0x00000002 
+ 00027252  0x00006cbf set1  0x00000000 , 0x00000002 
+ 00027253  0x00006cc0 fetch  0x00000001 , 0x00004563 
+ 00027254  0x00006cc1 ncall  0x00006a18 , 0x00000034 
+ 00027255  0x00006cc2 storet  0x00000001 , 0x0000050d 
+ 00027256  0x00006cc3 rtn 
+ 00027257  0x00006cc7 lshift  0x00000002 , 0x00000002 
+ 00027258  0x00006cc8 fetch  0x00000001 , 0x00004563 
+ 00027259  0x00006cc9 setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00027260  0x00006ccb rtn 
+ 00027261  0x00006ccd fetcht  0x00000001 , 0x000004fc 
+ 00027262  0x00006cce jam  0x000000d7 , 0x000004fe 
+ 00027263  0x00006ccf call  0x00006bb6 
+ 00027264  0x00006cd0 fetch  0x00000001 , 0x00004251 
+ 00027265  0x00006cd1 set1  0x00000006 , 0x0000003f 
+ 00027266  0x00006cd2 set1  0x00000007 , 0x0000003f 
+ 00027267  0x00006cd3 store  0x00000001 , 0x00004251 
+ 00027268  0x00006cd4 jam  0x00000000 , 0x00004563 
+ 00027269  0x00006cd5 branch  0x00006b97 
+ 00027270  0x00006cd7 fetch  0x00000001 , 0x00004251 
+ 00027271  0x00006cd8 set1  0x00000007 , 0x0000003f 
+ 00027272  0x00006cd9 store  0x00000001 , 0x00004251 
+ 00027273  0x00006cda branch  0x00006b97 
+ 00027274  0x00006cde bpatchx  0x000000a5 , 0x00004034 
+ 00027275  0x00006cdf fetch  0x00000001 , 0x00004681 
+ 00027276  0x00006ce0 beq  0x00000000 , 0x00006a8e 
+ 00027277  0x00006ce1 branch  0x00006b4c 
+ 00027278  0x00006ce4 fetch  0x00000002 , 0x00000264 
+ 00027279  0x00006ce5 copy  0x0000003f , 0x00000006 
+ 00027280  0x00006ce6 call  0x00006ab8 
+ 00027281  0x00006ce7 fetch  0x00000001 , 0x000004fc 
+ 00027282  0x00006ce8 beq  0x00000000 , 0x00006a94 
+ 00027283  0x00006ce9 branch  0x00006b18 
+ 00027284  0x00006ceb bpatchx  0x000000a6 , 0x00004034 
+ 00027285  0x00006cec fetch  0x00000001 , 0x000004fd 
+ 00027286  0x00006ced beq  0x0000003f , 0x00006a7d 
+ 00027287  0x00006cee beq  0x00000073 , 0x00006a86 
+ 00027288  0x00006cef beq  0x000000ef , 0x00006a9b 
+ 00027289  0x00006cf0 beq  0x00000053 , 0x00006b44 
+ 00027290  0x00006cf1 rtn 
+ 00027291  0x00006cf5 fetch  0x00000002 , 0x00000501 
+ 00027292  0x00006cf6 copy  0x0000003f , 0x00000006 
+ 00027293  0x00006cf7 call  0x00006ac3 
+ 00027294  0x00006cf8 fetch  0x00000001 , 0x00000503 
+ 00027295  0x00006cf9 beq  0x00000041 , 0x00006aa5 
+ 00027296  0x00006cfa beq  0x00000040 , 0x00006aad 
+ 00027297  0x00006cfb beq  0x00000071 , 0x00006ae6 
+ 00027298  0x00006cfc beq  0x00000070 , 0x00006af2 
+ 00027299  0x00006cfd beq  0x00000049 , 0x00006afd 
+ 00027300  0x00006cfe branch  0x00006b97 
+ 00027301  0x00006d01 call  0x00006aaf 
+ 00027302  0x00006d03 branch  0x00006aa7 
+ 00027303  0x00006d06 fetch  0x00000001 , 0x00004254 
+ 00027304  0x00006d07 set1  0x00000000 , 0x0000003f 
+ 00027305  0x00006d08 set1  0x00000001 , 0x0000003f 
+ 00027306  0x00006d09 store  0x00000001 , 0x00004254 
+ 00027307  0x00006d0a call  0x00006be0 
+ 00027308  0x00006d0b branch  0x00006b97 
+ 00027309  0x00006d0e call  0x00006aaf 
+ 00027310  0x00006d0f branch  0x00006b97 
+ 00027311  0x00006d12 call  0x00006acb 
+ 00027312  0x00006d13 branch  0x00006ad7 
+ 00027313  0x00006d16 call  0x00006acb 
+ 00027314  0x00006d17 ifetch  0x00000001 , 0x00000006 
+ 00027315  0x00006d18 rshift3  0x0000003f , 0x0000003f 
+ 00027316  0x00006d19 store  0x00000001 , 0x0000456a 
+ 00027317  0x00006d1a ifetch  0x00000001 , 0x00000006 
+ 00027318  0x00006d1b store  0x00000001 , 0x00000508 
+ 00027319  0x00006d1c rtn 
+ 00027320  0x00006d20 ifetch  0x00000001 , 0x00000006 
+ 00027321  0x00006d21 store  0x00000001 , 0x000004fb 
+ 00027322  0x00006d22 rshift3  0x0000003f , 0x0000003f 
+ 00027323  0x00006d23 store  0x00000001 , 0x000004fc 
+ 00027324  0x00006d24 ifetch  0x00000001 , 0x00000006 
+ 00027325  0x00006d25 store  0x00000001 , 0x000004fd 
+ 00027326  0x00006d27 call  0x00006ace 
+ 00027327  0x00006d28 storet  0x00000002 , 0x000004ff 
+ 00027328  0x00006d29 copy  0x00000006 , 0x0000003f 
+ 00027329  0x00006d2a store  0x00000002 , 0x00000501 
+ 00027330  0x00006d2b rtn 
+ 00027331  0x00006d2e ifetch  0x00000001 , 0x00000006 
+ 00027332  0x00006d2f rshift  0x0000003f , 0x0000003f 
+ 00027333  0x00006d30 store  0x00000001 , 0x00000503 
+ 00027334  0x00006d31 call  0x00006ace 
+ 00027335  0x00006d32 storet  0x00000002 , 0x00000504 
+ 00027336  0x00006d33 copy  0x00000006 , 0x0000003f 
+ 00027337  0x00006d34 store  0x00000002 , 0x00000506 
+ 00027338  0x00006d35 rtn 
+ 00027339  0x00006d39 fetch  0x00000002 , 0x00000506 
+ 00027340  0x00006d3a copy  0x0000003f , 0x00000006 
+ 00027341  0x00006d3b rtn 
+ 00027342  0x00006d3e ifetch  0x00000001 , 0x00000006 
+ 00027343  0x00006d3f copy  0x0000003f , 0x00000002 
+ 00027344  0x00006d40 rshift  0x00000002 , 0x00000002 
+ 00027345  0x00006d41 rtnbit1  0x00000000 
+ 00027346  0x00006d42 ifetch  0x00000001 , 0x00000006 
+ 00027347  0x00006d43 lshift3  0x0000003f , 0x0000003f 
+ 00027348  0x00006d44 lshift4  0x0000003f , 0x0000003f 
+ 00027349  0x00006d45 iadd  0x00000002 , 0x00000002 
+ 00027350  0x00006d46 rtn 
+ 00027351  0x00006d49 ifetch  0x00000001 , 0x00000006 
+ 00027352  0x00006d4a store  0x00000001 , 0x0000455d 
+ 00027353  0x00006d4b ifetch  0x00000001 , 0x00000006 
+ 00027354  0x00006d4c store  0x00000001 , 0x00000509 
+ 00027355  0x00006d4d ifetch  0x00000001 , 0x00000006 
+ 00027356  0x00006d4e store  0x00000001 , 0x0000050a 
+ 00027357  0x00006d4f ifetch  0x00000001 , 0x00000006 
+ 00027358  0x00006d50 store  0x00000001 , 0x0000050b 
+ 00027359  0x00006d51 ifetch  0x00000002 , 0x00000006 
+ 00027360  0x00006d52 store  0x00000002 , 0x0000455e 
+ 00027361  0x00006d53 ifetch  0x00000001 , 0x00000006 
+ 00027362  0x00006d54 store  0x00000001 , 0x0000050c 
+ 00027363  0x00006d55 ifetch  0x00000001 , 0x00000006 
+ 00027364  0x00006d56 store  0x00000001 , 0x00004568 
+ 00027365  0x00006d57 rtn 
+ 00027366  0x00006d5b call  0x00006ab1 
+ 00027367  0x00006d5d branch  0x00006ae8 
+ 00027368  0x00006d60 fetch  0x00000001 , 0x00004254 
+ 00027369  0x00006d61 set1  0x00000005 , 0x0000003f 
+ 00027370  0x00006d62 set1  0x00000006 , 0x0000003f 
+ 00027371  0x00006d63 store  0x00000001 , 0x00004254 
+ 00027372  0x00006d64 fetcht  0x00000001 , 0x0000455d 
+ 00027373  0x00006d65 lshift2  0x00000002 , 0x00000002 
+ 00027374  0x00006d66 or_into  0x00000003 , 0x00000002 
+ 00027375  0x00006d67 call  0x00006c11 
+ 00027376  0x00006d68 jam  0x00000003 , 0x00004567 
+ 00027377  0x00006d69 branch  0x00006b97 
+ 00027378  0x00006d6c jam  0x00000008 , 0x00000a99 
+ 00027379  0x00006d6d call  0x00007d86 
+ 00027380  0x00006d6e call  0x00006ab1 
+ 00027381  0x00006d6f fetch  0x00000001 , 0x0000456a 
+ 00027382  0x00006d70 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00027383  0x00006d71 branch  0x00006af9 , 0x00000005 
+ 00027384  0x00006d72 branch  0x00002a8c 
+ 00027385  0x00006d74 fetch  0x00000001 , 0x00004254 
+ 00027386  0x00006d75 set1  0x00000007 , 0x0000003f 
+ 00027387  0x00006d76 store  0x00000001 , 0x00004254 
+ 00027388  0x00006d77 branch  0x00006b97 
+ 00027389  0x00006d7a call  0x00006acb 
+ 00027390  0x00006d7b ifetch  0x00000001 , 0x00000006 
+ 00027391  0x00006d7c store  0x00000001 , 0x00000ac2 
+ 00027392  0x00006d7d call  0x000052d2 
+ 00027393  0x00006d7e call  0x000052e0 
+ 00027394  0x00006d7f setarg  0x0000000e 
+ 00027395  0x00006d80 istore  0x00000002 , 0x00000005 
+ 00027396  0x00006d81 fetch  0x00000002 , 0x0000424a 
+ 00027397  0x00006d82 istore  0x00000002 , 0x00000005 
+ 00027398  0x00006d83 fetch  0x00000001 , 0x00004563 
+ 00027399  0x00006d85 lshift  0x0000003f , 0x0000003f 
+ 00027400  0x00006d86 set1  0x00000000 , 0x0000003f 
+ 00027401  0x00006d87 istore  0x00000001 , 0x00000005 
+ 00027402  0x00006d88 bpatchx  0x000000a7 , 0x00004034 
+ 00027403  0x00006d89 setarg  0x000015ef 
+ 00027404  0x00006d8a istore  0x00000002 , 0x00000005 
+ 00027405  0x00006d8b setarg  0x00001191 
+ 00027406  0x00006d8c istore  0x00000002 , 0x00000005 
+ 00027407  0x00006d8f fetch  0x00000001 , 0x00000ac2 
+ 00027408  0x00006d90 istore  0x00000001 , 0x00000005 
+ 00027409  0x00006d91 setarg  0x00000007 
+ 00027410  0x00006d92 istore  0x00000005 , 0x00000005 
+ 00027411  0x00006d95 setarg  0x00000001 
+ 00027412  0x00006d96 istore  0x00000002 , 0x00000005 
+ 00027413  0x00006d99 call  0x00006a2f 
+ 00027414  0x00006d9a istore  0x00000001 , 0x00000005 
+ 00027415  0x00006d9b rtn 
+ 00027416  0x00006da0 branch  0x00006b19 
+ 00027417  0x00006da3 bpatchx  0x000000a8 , 0x00004035 
+ 00027418  0x00006da4 fetch  0x00000001 , 0x000004fd 
+ 00027419  0x00006da5 beq  0x00000073 , 0x00006b21 
+ 00027420  0x00006da6 beq  0x0000003f , 0x00006b25 
+ 00027421  0x00006da7 beq  0x000000ef , 0x00006b3f 
+ 00027422  0x00006da8 beq  0x000000ff , 0x00006b37 
+ 00027423  0x00006da9 beq  0x00000053 , 0x00006b46 
+ 00027424  0x00006daa rtn 
+ 00027425  0x00006dac fetch  0x00000001 , 0x00004254 
+ 00027426  0x00006dad set1  0x00000003 , 0x0000003f 
+ 00027427  0x00006dae store  0x00000001 , 0x00004254 
+ 00027428  0x00006daf branch  0x00006b97 
+ 00027429  0x00006db1 fetch  0x00000001 , 0x00004254 
+ 00027430  0x00006db2 set1  0x00000003 , 0x0000003f 
+ 00027431  0x00006db3 set1  0x00000002 , 0x0000003f 
+ 00027432  0x00006db4 store  0x00000001 , 0x00004254 
+ 00027433  0x00006db5 fetch  0x00000001 , 0x000004fb 
+ 00027434  0x00006db6 call  0x00006a26 
+ 00027435  0x00006db7 store  0x00000001 , 0x000004fe 
+ 00027436  0x00006db8 call  0x00006bb6 
+ 00027437  0x00006db9 fetch  0x00000001 , 0x000004fb 
+ 00027438  0x00006dba rshift2  0x0000003f , 0x0000003f 
+ 00027439  0x00006dbb store  0x00000001 , 0x0000455d 
+ 00027440  0x00006dbc lshift2  0x0000003f , 0x0000003f 
+ 00027441  0x00006dbd set0  0x00000001 , 0x0000003f 
+ 00027442  0x00006dbe set1  0x00000000 , 0x0000003f 
+ 00027443  0x00006dbf arg  0x00004565 , 0x00000002 
+ 00027444  0x00006dc0 storet  0x00000002 , 0x000004f7 
+ 00027445  0x00006dc1 call  0x00006a35 
+ 00027446  0x00006dc2 branch  0x00006b97 
+ 00027447  0x00006dc5 fetch  0x00000002 , 0x00000501 
+ 00027448  0x00006dc6 copy  0x0000003f , 0x00000006 
+ 00027449  0x00006dc7 increase  0x00000001 , 0x0000003f 
+ 00027450  0x00006dc8 store  0x00000002 , 0x00000501 
+ 00027451  0x00006dc9 ifetch  0x00000001 , 0x00000006 
+ 00027452  0x00006dca fetcht  0x00000001 , 0x00004568 
+ 00027453  0x00006dcb iadd  0x00000002 , 0x0000003f 
+ 00027454  0x00006dcc store  0x00000001 , 0x00004568 
+ 00027455  0x00006dce call  0x00006c42 
+ 00027456  0x00006dd0 call  0x00006a72 
+ 00027457  0x00006dd1 call  0x00006c28 
+ 00027458  0x00006dd2 call  0x00006c4b 
+ 00027459  0x00006dd3 branch  0x00006b97 
+ 00027460  0x00006dd6 jam  0x00000009 , 0x00000a99 
+ 00027461  0x00006dd7 call  0x00007d86 
+ 00027462  0x00006dd9 call  0x00006a0d 
+ 00027463  0x00006dda fetch  0x00000001 , 0x000004fb 
+ 00027464  0x00006ddb call  0x00006a26 
+ 00027465  0x00006ddc store  0x00000001 , 0x000004fe 
+ 00027466  0x00006ddd call  0x00006bb6 
+ 00027467  0x00006dde branch  0x00006b97 
+ 00027468  0x00006de4 fetch  0x00000002 , 0x00000264 
+ 00027469  0x00006de5 copy  0x0000003f , 0x00000006 
+ 00027470  0x00006de6 call  0x00006ab8 
+ 00027471  0x00006de7 fetch  0x00000001 , 0x000004fc 
+ 00027472  0x00006de8 beq  0x00000000 , 0x00006b52 
+ 00027473  0x00006de9 branch  0x00006b86 
+ 00027474  0x00006dec bpatchx  0x000000a9 , 0x00004035 
+ 00027475  0x00006ded fetch  0x00000001 , 0x000004fd 
+ 00027476  0x00006dee beq  0x0000003f , 0x00006a7d 
+ 00027477  0x00006def beq  0x00000073 , 0x00006a86 
+ 00027478  0x00006df0 beq  0x000000ef , 0x00006b58 
+ 00027479  0x00006df1 branch  0x00006b97 
+ 00027480  0x00006df3 fetch  0x00000002 , 0x00000501 
+ 00027481  0x00006df4 copy  0x0000003f , 0x00000006 
+ 00027482  0x00006df5 call  0x00006ac3 
+ 00027483  0x00006df6 fetch  0x00000001 , 0x00000503 
+ 00027484  0x00006df7 beq  0x00000041 , 0x00006b61 
+ 00027485  0x00006df8 beq  0x00000040 , 0x00006b61 
+ 00027486  0x00006df9 beq  0x00000071 , 0x00006b6c 
+ 00027487  0x00006dfa beq  0x00000070 , 0x00006b7c 
+ 00027488  0x00006dfb branch  0x00006b97 
+ 00027489  0x00006dfe call  0x00006aaf 
+ 00027490  0x00006dff fetch  0x00000001 , 0x0000455d 
+ 00027491  0x00006e00 rshift  0x0000003f , 0x0000003f 
+ 00027492  0x00006e01 fetcht  0x00000001 , 0x00004564 
+ 00027493  0x00006e02 isub  0x00000002 , 0x0000003e 
+ 00027494  0x00006e03 branch  0x00006b68 , 0x00000005 
+ 00027495  0x00006e04 branch  0x00002a8c 
+ 00027496  0x00006e06 fetch  0x00000001 , 0x00004254 
+ 00027497  0x00006e07 set1  0x00000001 , 0x0000003f 
+ 00027498  0x00006e08 store  0x00000001 , 0x00004254 
+ 00027499  0x00006e09 branch  0x00006b97 
+ 00027500  0x00006e0c call  0x00006ab1 
+ 00027501  0x00006e0d fetch  0x00000001 , 0x0000456a 
+ 00027502  0x00006e0e fetcht  0x00000001 , 0x00004564 
+ 00027503  0x00006e0f isub  0x00000002 , 0x0000003e 
+ 00027504  0x00006e10 branch  0x00006b73 , 0x00000005 
+ 00027505  0x00006e11 branch  0x00002a8c 
+ 00027506  0x00006e12 branch  0x00006b97 
+ 00027507  0x00006e14 fetch  0x00000001 , 0x00004254 
+ 00027508  0x00006e15 set1  0x00000005 , 0x0000003f 
+ 00027509  0x00006e16 set1  0x00000006 , 0x0000003f 
+ 00027510  0x00006e17 store  0x00000001 , 0x00004254 
+ 00027511  0x00006e18 fetcht  0x00000001 , 0x0000455d 
+ 00027512  0x00006e19 lshift2  0x00000002 , 0x00000002 
+ 00027513  0x00006e1a or_into  0x00000003 , 0x00000002 
+ 00027514  0x00006e1b call  0x00006c11 
+ 00027515  0x00006e1c branch  0x00006b97 
+ 00027516  0x00006e1f call  0x00006ab1 
+ 00027517  0x00006e20 fetch  0x00000001 , 0x0000456a 
+ 00027518  0x00006e21 fetcht  0x00000001 , 0x00004564 
+ 00027519  0x00006e22 isub  0x00000002 , 0x0000003e 
+ 00027520  0x00006e23 branch  0x00006b82 , 0x00000005 
+ 00027521  0x00006e24 branch  0x00002a8c 
+ 00027522  0x00006e26 fetch  0x00000001 , 0x00004254 
+ 00027523  0x00006e27 set1  0x00000007 , 0x0000003f 
+ 00027524  0x00006e28 store  0x00000001 , 0x00004254 
+ 00027525  0x00006e29 branch  0x00006b97 
+ 00027526  0x00006e2c fetch  0x00000001 , 0x000004fc 
+ 00027527  0x00006e2d fetcht  0x00000001 , 0x00004564 
+ 00027528  0x00006e2e isub  0x00000002 , 0x0000003e 
+ 00027529  0x00006e2f branch  0x00006b8c , 0x00000005 
+ 00027530  0x00006e30 branch  0x00002a8c 
+ 00027531  0x00006e31 branch  0x00006b97 
+ 00027532  0x00006e34 fetch  0x00000001 , 0x000004fd 
+ 00027533  0x00006e35 beq  0x00000073 , 0x00006b91 
+ 00027534  0x00006e36 beq  0x000000ef , 0x00006b3f 
+ 00027535  0x00006e37 beq  0x000000ff , 0x00006b37 
+ 00027536  0x00006e38 beq  0x00000053 , 0x00006b96 
+ 00027537  0x00006e3a fetch  0x00000001 , 0x00004254 
+ 00027538  0x00006e3b set1  0x00000003 , 0x0000003f 
+ 00027539  0x00006e3c store  0x00000001 , 0x00004254 
+ 00027540  0x00006e3d branch  0x00006b97 
+ 00027541  0x00006e3f branch  0x00006b95 
+ 00027542  0x00006e41 branch  0x00006b46 
+ 00027543  0x00006e43 rtn 
+ 00027544  0x00006e46 fetch  0x00000001 , 0x00004567 
+ 00027545  0x00006e47 rtn  0x00000034 
+ 00027546  0x00006e48 beq  0x00000003 , 0x00006b9c 
+ 00027547  0x00006e49 branch  0x00002a8c 
+ 00027548  0x00006e4c jam  0x00000000 , 0x00004567 
+ 00027549  0x00006e4d call  0x000052d2 
+ 00027550  0x00006e4e arg  0x00000001 , 0x00000002 
+ 00027551  0x00006e4f fetcht  0x00000001 , 0x0000455d 
+ 00027552  0x00006e50 lshift2  0x00000002 , 0x00000002 
+ 00027553  0x00006e52 or_into  0x00000003 , 0x00000002 
+ 00027554  0x00006e53 arg  0x000000aa , 0x00000011 
+ 00027555  0x00006e54 call  0x00006bfc 
+ 00027556  0x00006e55 call  0x000052e0 
+ 00027557  0x00006e56 copy  0x00000005 , 0x00000006 
+ 00027558  0x00006e57 ifetch  0x00000002 , 0x00000006 
+ 00027559  0x00006e58 branch  0x00002a8c , 0x00000034 
+ 00027560  0x00006e59 rtn 
+ 00027561  0x00006e5c call  0x000052e0 
+ 00027562  0x00006e5d setarg  0x00000004 
+ 00027563  0x00006e5e istore  0x00000002 , 0x00000005 
+ 00027564  0x00006e5f fetch  0x00000002 , 0x0000424a 
+ 00027565  0x00006e60 istore  0x00000002 , 0x00000005 
+ 00027566  0x00006e61 fetch  0x00000001 , 0x000004fb 
+ 00027567  0x00006e62 istore  0x00000001 , 0x00000005 
+ 00027568  0x00006e63 bpatchx  0x000000aa , 0x00004035 
+ 00027569  0x00006e64 setarg  0x0000013f 
+ 00027570  0x00006e65 istore  0x00000002 , 0x00000005 
+ 00027571  0x00006e66 fetch  0x00000001 , 0x000004fe 
+ 00027572  0x00006e67 istore  0x00000001 , 0x00000005 
+ 00027573  0x00006e68 rtn 
+ 00027574  0x00006e6a call  0x000052d2 
+ 00027575  0x00006e6b call  0x000052e0 
+ 00027576  0x00006e6c setarg  0x00000004 
+ 00027577  0x00006e6d istore  0x00000002 , 0x00000005 
+ 00027578  0x00006e6e fetch  0x00000002 , 0x0000424a 
+ 00027579  0x00006e6f istore  0x00000002 , 0x00000005 
+ 00027580  0x00006e70 fetch  0x00000001 , 0x000004fb 
+ 00027581  0x00006e71 istore  0x00000001 , 0x00000005 
+ 00027582  0x00006e72 bpatchx  0x000000ab , 0x00004035 
+ 00027583  0x00006e73 setarg  0x00000173 
+ 00027584  0x00006e74 istore  0x00000002 , 0x00000005 
+ 00027585  0x00006e75 fetch  0x00000001 , 0x000004fe 
+ 00027586  0x00006e76 istore  0x00000001 , 0x00000005 
+ 00027587  0x00006e77 rtn 
+ 00027588  0x00006e79 call  0x000052e0 
+ 00027589  0x00006e7a setarg  0x0000000e 
+ 00027590  0x00006e7b istore  0x00000002 , 0x00000005 
+ 00027591  0x00006e7c fetch  0x00000002 , 0x0000424a 
+ 00027592  0x00006e7d istore  0x00000002 , 0x00000005 
+ 00027593  0x00006e7e fetch  0x00000001 , 0x00004563 
+ 00027594  0x00006e7f lshift  0x0000003f , 0x0000003f 
+ 00027595  0x00006e80 set1  0x00000000 , 0x0000003f 
+ 00027596  0x00006e81 istore  0x00000001 , 0x00000005 
+ 00027597  0x00006e82 bpatchx  0x000000ac , 0x00004035 
+ 00027598  0x00006e83 setarg  0x000015ef 
+ 00027599  0x00006e84 istore  0x00000002 , 0x00000005 
+ 00027600  0x00006e85 setarg  0x00001183 
+ 00027601  0x00006e86 istore  0x00000002 , 0x00000005 
+ 00027602  0x00006e87 copy  0x00000002 , 0x0000003f 
+ 00027603  0x00006e88 istore  0x00000001 , 0x00000005 
+ 00027604  0x00006e89 setarg  0x000000f0 
+ 00027605  0x00006e8a istore  0x00000003 , 0x00000005 
+ 00027606  0x00006e8b setarg  0x0000007f 
+ 00027607  0x00006e8c istore  0x00000002 , 0x00000005 
+ 00027608  0x00006e8d setarg  0x00000000 
+ 00027609  0x00006e8e istore  0x00000001 , 0x00000005 
+ 00027610  0x00006e8f setarg  0x00000001 
+ 00027611  0x00006e90 istore  0x00000001 , 0x00000005 
+ 00027612  0x00006e91 call  0x00006a2f 
+ 00027613  0x00006e92 istore  0x00000001 , 0x00000005 
+ 00027614  0x00006e93 jam  0x00000010 , 0x00004569 
+ 00027615  0x00006e94 rtn 
+ 00027616  0x00006e96 call  0x000052d2 
+ 00027617  0x00006e97 call  0x000052e0 
+ 00027618  0x00006e98 setarg  0x0000000e 
+ 00027619  0x00006e99 istore  0x00000002 , 0x00000005 
+ 00027620  0x00006e9a fetch  0x00000002 , 0x0000424a 
+ 00027621  0x00006e9b istore  0x00000002 , 0x00000005 
+ 00027622  0x00006e9c fetch  0x00000001 , 0x00004563 
+ 00027623  0x00006e9d lshift  0x0000003f , 0x0000003f 
+ 00027624  0x00006e9e set1  0x00000000 , 0x0000003f 
+ 00027625  0x00006e9f istore  0x00000001 , 0x00000005 
+ 00027626  0x00006ea0 bpatchx  0x000000ad , 0x00004035 
+ 00027627  0x00006ea1 setarg  0x000015ef 
+ 00027628  0x00006ea2 istore  0x00000002 , 0x00000005 
+ 00027629  0x00006ea3 setarg  0x00001181 
+ 00027630  0x00006ea4 istore  0x00000002 , 0x00000005 
+ 00027631  0x00006ea5 fetch  0x00000001 , 0x0000455d 
+ 00027632  0x00006ea6 istore  0x00000001 , 0x00000005 
+ 00027633  0x00006ea7 setarg  0x000000e0 
+ 00027634  0x00006ea8 istore  0x00000003 , 0x00000005 
+ 00027635  0x00006ea9 fetch  0x00000002 , 0x0000456c 
+ 00027636  0x00006eaa istore  0x00000002 , 0x00000005 
+ 00027637  0x00006eab setarg  0x00000000 
+ 00027638  0x00006eac istore  0x00000001 , 0x00000005 
+ 00027639  0x00006ead fetch  0x00000001 , 0x0000456e 
+ 00027640  0x00006eae istore  0x00000001 , 0x00000005 
+ 00027641  0x00006eaf call  0x00006a2f 
+ 00027642  0x00006eb0 istore  0x00000001 , 0x00000005 
+ 00027643  0x00006eb1 rtn 
+ 00027644  0x00006eb3 call  0x000052e0 
+ 00027645  0x00006eb4 setarg  0x00000008 
+ 00027646  0x00006eb5 istore  0x00000002 , 0x00000005 
+ 00027647  0x00006eb6 fetch  0x00000002 , 0x0000424a 
+ 00027648  0x00006eb7 istore  0x00000002 , 0x00000005 
+ 00027649  0x00006eb8 fetch  0x00000001 , 0x00004563 
+ 00027650  0x00006eb9 lshift  0x0000003f , 0x0000003f 
+ 00027651  0x00006eba set1  0x00000000 , 0x0000003f 
+ 00027652  0x00006ebb istore  0x00000001 , 0x00000005 
+ 00027653  0x00006ebc bpatchx  0x000000ae , 0x00004035 
+ 00027654  0x00006ebd setarg  0x000009ef 
+ 00027655  0x00006ebe istore  0x00000002 , 0x00000005 
+ 00027656  0x00006ebf setarg  0x000005e3 
+ 00027657  0x00006ec0 istore  0x00000002 , 0x00000005 
+ 00027658  0x00006ec1 copy  0x00000002 , 0x0000003f 
+ 00027659  0x00006ec2 istore  0x00000001 , 0x00000005 
+ 00027660  0x00006ec3 setarg  0x0000008d 
+ 00027661  0x00006ec4 istore  0x00000001 , 0x00000005 
+ 00027662  0x00006ec5 call  0x00006a2f 
+ 00027663  0x00006ec6 istore  0x00000001 , 0x00000005 
+ 00027664  0x00006ec7 rtn 
+ 00027665  0x00006eca call  0x000052d2 
+ 00027666  0x00006ecb call  0x000052e0 
+ 00027667  0x00006ecc setarg  0x00000008 
+ 00027668  0x00006ecd istore  0x00000002 , 0x00000005 
+ 00027669  0x00006ece fetch  0x00000002 , 0x0000424a 
+ 00027670  0x00006ecf istore  0x00000002 , 0x00000005 
+ 00027671  0x00006ed0 copy  0x00000002 , 0x0000000b 
+ 00027672  0x00006ed1 fetch  0x00000001 , 0x00004563 
+ 00027673  0x00006ed2 lshift  0x0000003f , 0x0000003f 
+ 00027674  0x00006ed3 set1  0x00000000 , 0x0000003f 
+ 00027675  0x00006ed4 istore  0x00000001 , 0x00000005 
+ 00027676  0x00006ed5 bpatchx  0x000000af , 0x00004035 
+ 00027677  0x00006ed6 setarg  0x000009ef 
+ 00027678  0x00006ed7 istore  0x00000002 , 0x00000005 
+ 00027679  0x00006ed8 setarg  0x000005e1 
+ 00027680  0x00006ed9 istore  0x00000002 , 0x00000005 
+ 00027681  0x00006eda copy  0x0000000b , 0x0000003f 
+ 00027682  0x00006edb istore  0x00000001 , 0x00000005 
+ 00027683  0x00006edc setarg  0x0000008d 
+ 00027684  0x00006edd istore  0x00000001 , 0x00000005 
+ 00027685  0x00006ede call  0x00006a2f 
+ 00027686  0x00006edf istore  0x00000001 , 0x00000005 
+ 00027687  0x00006ee0 rtn 
+ 00027688  0x00006ee3 bpatchx  0x000000b0 , 0x00004036 
+ 00027689  0x00006ee4 fetch  0x00000001 , 0x00004569 
+ 00027690  0x00006ee5 rtn  0x00000034 
+ 00027691  0x00006ee6 hfetch  0x00000002 , 0x00008112 
+ 00027692  0x00006ee7 nrtn  0x00000034 
+ 00027693  0x00006ee8 copy  0x00000011 , 0x0000003f 
+ 00027694  0x00006ee9 store  0x00000001 , 0x00000a9b 
+ 00027695  0x00006eea storet  0x00000001 , 0x00000a9a 
+ 00027696  0x00006eeb call  0x0000526e 
+ 00027697  0x00006eec nrtn  0x00000034 
+ 00027698  0x00006eed call  0x000052d2 
+ 00027699  0x00006eee call  0x000052e0 
+ 00027700  0x00006eef setarg  0x00000005 
+ 00027701  0x00006ef0 istore  0x00000002 , 0x00000005 
+ 00027702  0x00006ef1 fetch  0x00000002 , 0x0000424a 
+ 00027703  0x00006ef2 istore  0x00000002 , 0x00000005 
+ 00027704  0x00006ef3 fetch  0x00000001 , 0x0000050d 
+ 00027705  0x00006ef4 istore  0x00000001 , 0x00000005 
+ 00027706  0x00006ef5 setarg  0x000001ff 
+ 00027707  0x00006ef6 istore  0x00000002 , 0x00000005 
+ 00027708  0x00006ef7 fetch  0x00000001 , 0x00004569 
+ 00027709  0x00006ef8 istore  0x00000001 , 0x00000005 
+ 00027710  0x00006ef9 fetch  0x00000001 , 0x00004566 
+ 00027711  0x00006efa istore  0x00000001 , 0x00000005 
+ 00027712  0x00006efb jam  0x00000000 , 0x00004569 
+ 00027713  0x00006efc rtn 
+ 00027714  0x00006eff bpatchx  0x000000b1 , 0x00004036 
+ 00027715  0x00006f00 fetch  0x00000001 , 0x0000456b 
+ 00027716  0x00006f01 rtneq  0x00000001 
+ 00027717  0x00006f02 fetch  0x00000002 , 0x000004ff 
+ 00027718  0x00006f03 rtn  0x00000034 
+ 00027719  0x00006f04 fetch  0x00000001 , 0x00004569 
+ 00027720  0x00006f05 increase  0x00000001 , 0x0000003f 
+ 00027721  0x00006f06 store  0x00000001 , 0x00004569 
+ 00027722  0x00006f07 rtn 
+ 00027723  0x00006f0a fetch  0x00000002 , 0x0000456f 
+ 00027724  0x00006f0b branch  0x00007f9c 
+ 00027725  0x00006f0e bpatchx  0x000000b2 , 0x00004036 
+ 00027726  0x00006f10 fetch  0x00000001 , 0x00004568 
+ 00027727  0x00006f11 rtn  0x00000034 
+ 00027728  0x00006f12 increase  0xffffffff , 0x0000003f 
+ 00027729  0x00006f13 store  0x00000001 , 0x00004568 
+ 00027730  0x00006f14 fetch  0x00000002 , 0x0000455e 
+ 00027731  0x00006f15 fetcht  0x00000002 , 0x0000469f 
+ 00027732  0x00006f16 isub  0x00000002 , 0x0000003e 
+ 00027733  0x00006f17 branch  0x00006c57 , 0x00000002 
+ 00027734  0x00006f18 store  0x00000002 , 0x0000469f 
+ 00027735  0x00006f1a fetch  0x00000001 , 0x00004569 
+ 00027736  0x00006f1b branch  0x00006c5f , 0x00000034 
+ 00027737  0x00006f1c jam  0x00000001 , 0x00000510 
+ 00027738  0x00006f1d fetch  0x00000001 , 0x00004566 
+ 00027739  0x00006f1e store  0x00000001 , 0x0000050f 
+ 00027740  0x00006f1f setarg  0x000000ff 
+ 00027741  0x00006f20 store  0x00000001 , 0x0000050e 
+ 00027742  0x00006f21 branch  0x00006c64 
+ 00027743  0x00006f23 jam  0x00000000 , 0x00000510 
+ 00027744  0x00006f24 fetch  0x00000001 , 0x00004565 
+ 00027745  0x00006f25 store  0x00000001 , 0x0000050f 
+ 00027746  0x00006f26 setarg  0x000000ef 
+ 00027747  0x00006f27 store  0x00000001 , 0x0000050e 
+ 00027748  0x00006f29 bpatchx  0x000000b3 , 0x00004036 
+ 00027749  0x00006f2a fetch  0x00000002 , 0x0000469f 
+ 00027750  0x00006f2b sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027751  0x00006f2c branch  0x00006c6b , 0x00000002 
+ 00027752  0x00006f2d fetch  0x00000001 , 0x00000510 
+ 00027753  0x00006f2e increase  0x00000001 , 0x0000003f 
+ 00027754  0x00006f2f store  0x00000001 , 0x00000510 
+ 00027755  0x00006f31 call  0x00006a72 
+ 00027756  0x00006f32 fetch  0x00000002 , 0x0000469f 
+ 00027757  0x00006f33 increase  0x00000008 , 0x0000003f 
+ 00027758  0x00006f34 fetcht  0x00000001 , 0x00000510 
+ 00027759  0x00006f35 iadd  0x00000002 , 0x00000011 
+ 00027760  0x00006f37 call  0x00005240 
+ 00027761  0x00006f38 store  0x00000002 , 0x00000277 
+ 00027762  0x00006f39 increase  0x00000004 , 0x0000003f 
+ 00027763  0x00006f3a store  0x00000002 , 0x00000279 
+ 00027764  0x00006f3b copy  0x0000003f , 0x00000005 
+ 00027765  0x00006f3c fetch  0x00000001 , 0x0000050d 
+ 00027766  0x00006f3d istore  0x00000001 , 0x00000005 
+ 00027767  0x00006f3e fetch  0x00000001 , 0x0000050e 
+ 00027768  0x00006f3f istore  0x00000001 , 0x00000005 
+ 00027769  0x00006f40 call  0x00006c95 
+ 00027770  0x00006f41 call  0x00006ca6 
+ 00027771  0x00006f42 bpatchx  0x000000b4 , 0x00004036 
+ 00027772  0x00006f43 fetch  0x00000002 , 0x00004571 
+ 00027773  0x00006f44 copy  0x0000003f , 0x00000003 
+ 00027774  0x00006f45 fetch  0x00000002 , 0x0000469f 
+ 00027775  0x00006f46 copy  0x0000003f , 0x00000039 
+ 00027776  0x00006f47 call  0x000066ea 
+ 00027777  0x00006f48 copy  0x00000005 , 0x00000002 
+ 00027778  0x00006f49 copy  0x00000003 , 0x0000003f 
+ 00027779  0x00006f4a store  0x00000002 , 0x00004571 
+ 00027780  0x00006f4b copy  0x00000002 , 0x00000005 
+ 00027781  0x00006f4c fetch  0x00000001 , 0x0000050f 
+ 00027782  0x00006f4d istore  0x00000001 , 0x00000005 
+ 00027783  0x00006f4e fetch  0x00000002 , 0x00000277 
+ 00027784  0x00006f4f copy  0x0000003f , 0x00000005 
+ 00027785  0x00006f50 fetch  0x00000002 , 0x0000469f 
+ 00027786  0x00006f51 fetcht  0x00000001 , 0x00000510 
+ 00027787  0x00006f52 iadd  0x00000002 , 0x0000003f 
+ 00027788  0x00006f53 increase  0x00000004 , 0x0000003f 
+ 00027789  0x00006f54 istore  0x00000002 , 0x00000005 
+ 00027790  0x00006f55 fetch  0x00000002 , 0x0000424a 
+ 00027791  0x00006f56 istore  0x00000002 , 0x00000005 
+ 00027792  0x00006f57 jam  0x00000000 , 0x00004569 
+ 00027793  0x00006f58 fetch  0x00000002 , 0x00004573 
+ 00027794  0x00006f59 beq  0x00000000 , 0x00003a97 
+ 00027795  0x00006f5a jam  0x00000000 , 0x00000b05 
+ 00027796  0x00006f5b rtn 
+ 00027797  0x00006f5e bpatchx  0x000000b5 , 0x00004036 
+ 00027798  0x00006f5f fetch  0x00000002 , 0x0000469f 
+ 00027799  0x00006f60 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027800  0x00006f61 nbranch  0x00006c9d , 0x00000002 
+ 00027801  0x00006f62 lshift  0x0000003f , 0x0000003f 
+ 00027802  0x00006f63 set1  0x00000000 , 0x0000003f 
+ 00027803  0x00006f64 istore  0x00000001 , 0x00000005 
+ 00027804  0x00006f65 rtn 
+ 00027805  0x00006f67 fetch  0x00000002 , 0x0000469f 
+ 00027806  0x00006f68 rshift3  0x0000003f , 0x0000003f 
+ 00027807  0x00006f69 rshift4  0x0000003f , 0x00000002 
+ 00027808  0x00006f6a and_into  0x0000007f , 0x0000003f 
+ 00027809  0x00006f6b lshift  0x0000003f , 0x0000003f 
+ 00027810  0x00006f6c set0  0x00000000 , 0x0000003f 
+ 00027811  0x00006f6d istore  0x00000001 , 0x00000005 
+ 00027812  0x00006f6e istoret  0x00000001 , 0x00000005 
+ 00027813  0x00006f6f rtn 
+ 00027814  0x00006f71 fetch  0x00000001 , 0x00004569 
+ 00027815  0x00006f72 rtn  0x00000034 
+ 00027816  0x00006f73 istore  0x00000001 , 0x00000005 
+ 00027817  0x00006f74 rtn 
+ 00027818  0x00006f7a bpatchx  0x000000b6 , 0x00004036 
+ 00027819  0x00006f7b call  0x00007d9c 
+ 00027820  0x00006f7c call  0x000032f6 
+ 00027821  0x00006f7d call  0x0000631b 
+ 00027822  0x00006f7f bpatchx  0x000000b7 , 0x00004036 
+ 00027823  0x00006f80 call  0x000076dc 
+ 00027824  0x00006f81 call  0x000076b5 
+ 00027825  0x00006f82 call  0x000076c6 
+ 00027826  0x00006f85 call  0x0000526e 
+ 00027827  0x00006f86 nrtn  0x00000034 
+ 00027828  0x00006f88 call  0x00004da9 
+ 00027829  0x00006f89 call  0x0000526e 
+ 00027830  0x00006f8a nrtn  0x00000034 
+ 00027831  0x00006f8b bpatchx  0x000000b8 , 0x00004037 
+ 00027832  0x00006f8d call  0x00006cf5 
+ 00027833  0x00006f8e call  0x00004f64 
+ 00027834  0x00006f8f call  0x00006b98 
+ 00027835  0x00006f91 call  0x00006cbe 
+ 00027836  0x00006f92 bpatchx  0x000000b9 , 0x00004037 
+ 00027837  0x00006f95 branch  0x000032f2 
+ 00027838  0x00006f98 fetch  0x00000001 , 0x0000027f 
+ 00027839  0x00006f99 bbit1  0x00000000 , 0x00005087 
+ 00027840  0x00006f9a bbit1  0x00000007 , 0x00005091 
+ 00027841  0x00006f9b rtn 
+ 00027842  0x00006f9e bpatchx  0x000000ba , 0x00004037 
+ 00027843  0x00006f9f call  0x00005274 
+ 00027844  0x00006fa0 rtn  0x00000034 
+ 00027845  0x00006fa1 fetch  0x00000001 , 0x0000004b 
+ 00027846  0x00006fa2 rtnbit1  0x00000006 
+ 00027847  0x00006fa3 call  0x00005258 
+ 00027848  0x00006fa4 store  0x00000002 , 0x0000016f 
+ 00027849  0x00006fa5 copy  0x0000003f , 0x00000006 
+ 00027850  0x00006fa6 ifetch  0x00000002 , 0x00000006 
+ 00027851  0x00006fa7 increase  0x00000004 , 0x0000003f 
+ 00027852  0x00006fa8 store  0x00000002 , 0x000041dc 
+ 00027853  0x00006fa9 jam  0x00000006 , 0x000041db 
+ 00027854  0x00006faa bpatchx  0x000000bb , 0x00004037 
+ 00027855  0x00006fab fetch  0x00000002 , 0x00004246 
+ 00027856  0x00006fac branch  0x00006cdd , 0x00000034 
+ 00027857  0x00006fad fetch  0x00000001 , 0x0000004b 
+ 00027858  0x00006fae rtnbit0  0x00000007 
+ 00027859  0x00006faf set0  0x00000007 , 0x0000003f 
+ 00027860  0x00006fb0 store  0x00000001 , 0x0000004b 
+ 00027861  0x00006fb1 jam  0x00000005 , 0x000041db 
+ 00027862  0x00006fb2 fetcht  0x00000002 , 0x00004246 
+ 00027863  0x00006fb3 fetch  0x00000002 , 0x0000016f 
+ 00027864  0x00006fb4 iadd  0x00000002 , 0x0000003f 
+ 00027865  0x00006fb5 store  0x00000002 , 0x0000016f 
+ 00027866  0x00006fb6 fetch  0x00000002 , 0x000041dc 
+ 00027867  0x00006fb7 isub  0x00000002 , 0x0000003f 
+ 00027868  0x00006fb8 store  0x00000002 , 0x000041dc 
+ 00027869  0x00006fba bpatchx  0x000000bc , 0x00004037 
+ 00027870  0x00006fbb fetch  0x00000002 , 0x000041dc 
+ 00027871  0x00006fbc branch  0x00002a8c , 0x00000034 
+ 00027872  0x00006fbd arg  0x00000104 , 0x00000002 
+ 00027873  0x00006fbe isub  0x00000002 , 0x0000003f 
+ 00027874  0x00006fbf nbranch  0x00006ce9 , 0x00000002 
+ 00027875  0x00006fc0 bpatchx  0x000000bd , 0x00004037 
+ 00027876  0x00006fc1 storet  0x00000002 , 0x000041dc 
+ 00027877  0x00006fc2 fetch  0x00000002 , 0x00004246 
+ 00027878  0x00006fc3 iadd  0x00000002 , 0x0000003f 
+ 00027879  0x00006fc4 store  0x00000002 , 0x00004246 
+ 00027880  0x00006fc5 branch  0x00006ceb 
+ 00027881  0x00006fc7 setarg  0x00000000 
+ 00027882  0x00006fc8 store  0x00000002 , 0x00004246 
+ 00027883  0x00006fca fetch  0x00000001 , 0x0000004b 
+ 00027884  0x00006fcb set1  0x00000006 , 0x0000003f 
+ 00027885  0x00006fcc store  0x00000001 , 0x0000004b 
+ 00027886  0x00006fcd rtn 
+ 00027887  0x00006fd0 fetch  0x00000001 , 0x00004684 
+ 00027888  0x00006fd1 bbit1  0x00000000 , 0x00006cf3 
+ 00027889  0x00006fd2 jam  0x00000001 , 0x00000287 
+ 00027890  0x00006fd3 rtn 
+ 00027891  0x00006fd5 jam  0x0000000f , 0x00000287 
+ 00027892  0x00006fd6 rtn 
+ 00027893  0x00006fd9 fetch  0x00000001 , 0x00004681 
+ 00027894  0x00006fda nbranch  0x00006cfb , 0x00000034 
+ 00027895  0x00006fdc fetch  0x00000001 , 0x00000286 
+ 00027896  0x00006fde rtn  0x00000034 
+ 00027897  0x00006fe0 jam  0x00000000 , 0x00000286 
+ 00027898  0x00006fe2 rtn 
+ 00027899  0x00006fe6 bpatchx  0x000000be , 0x00004037 
+ 00027900  0x00006fe7 fetch  0x00000001 , 0x00000287 
+ 00027901  0x00006fe8 rtn  0x00000034 
+ 00027902  0x00006fe9 beq  0x00000001 , 0x00006d1b 
+ 00027903  0x00006fea beq  0x00000002 , 0x00006d74 
+ 00027904  0x00006feb beq  0x00000003 , 0x00006d21 
+ 00027905  0x00006fec beq  0x00000004 , 0x00006d78 
+ 00027906  0x00006fed beq  0x0000003b , 0x00006d2b 
+ 00027907  0x00006fee beq  0x0000003c , 0x00006d7b 
+ 00027908  0x00006fef beq  0x0000000d , 0x00006d30 
+ 00027909  0x00006ff0 beq  0x0000000e , 0x00006d80 
+ 00027910  0x00006ff1 beq  0x0000000f , 0x00006d33 
+ 00027911  0x00006ff2 beq  0x00000010 , 0x00006d86 
+ 00027912  0x00006ff3 beq  0x00000011 , 0x00006d39 
+ 00027913  0x00006ff4 beq  0x00000012 , 0x00006d8a 
+ 00027914  0x00006ff5 beq  0x00000013 , 0x00006d3f 
+ 00027915  0x00006ff6 beq  0x00000014 , 0x00006d8e 
+ 00027916  0x00006ff7 beq  0x00000015 , 0x00006d45 
+ 00027917  0x00006ff8 beq  0x00000016 , 0x00006d92 
+ 00027918  0x00006ff9 beq  0x00000017 , 0x00006d4b 
+ 00027919  0x00006ffa beq  0x00000018 , 0x00006d97 
+ 00027920  0x00006ffb beq  0x00000019 , 0x00006d51 
+ 00027921  0x00006ffc beq  0x0000001a , 0x00006d9b 
+ 00027922  0x00006ffd beq  0x0000001b , 0x00006d57 
+ 00027923  0x00006ffe beq  0x0000001c , 0x00006d9f 
+ 00027924  0x00006fff beq  0x0000001d , 0x00006d5d 
+ 00027925  0x00007000 beq  0x0000001e , 0x00006da4 
+ 00027926  0x00007001 beq  0x0000001f , 0x00006d63 
+ 00027927  0x00007002 beq  0x00000020 , 0x00006da8 
+ 00027928  0x00007003 beq  0x00000021 , 0x00006d6e 
+ 00027929  0x00007004 beq  0x00000022 , 0x00006dac 
+ 00027930  0x00007006 rtn 
+ 00027931  0x00007008 call  0x00006db7 
+ 00027932  0x00007009 jam  0x00000002 , 0x00000287 
+ 00027933  0x0000700a fetch  0x00000001 , 0x00004250 
+ 00027934  0x0000700b set1  0x00000000 , 0x0000003f 
+ 00027935  0x0000700c store  0x00000001 , 0x00004250 
+ 00027936  0x0000700d rtn 
+ 00027937  0x0000700f jam  0x00000004 , 0x00000287 
+ 00027938  0x00007010 fetch  0x00000001 , 0x00004250 
+ 00027939  0x00007011 rtnbit1  0x00000002 
+ 00027940  0x00007012 jam  0x00000003 , 0x00000287 
+ 00027941  0x00007013 call  0x00006dbe 
+ 00027942  0x00007014 jam  0x00000004 , 0x00000287 
+ 00027943  0x00007015 fetch  0x00000001 , 0x00004250 
+ 00027944  0x00007016 set1  0x00000002 , 0x0000003f 
+ 00027945  0x00007017 store  0x00000001 , 0x00004250 
+ 00027946  0x00007018 rtn 
+ 00027947  0x0000701a call  0x00005274 
+ 00027948  0x0000701b nrtn  0x00000034 
+ 00027949  0x0000701c call  0x00006dcd 
+ 00027950  0x0000701d jam  0x0000003c , 0x00000287 
+ 00027951  0x0000701e rtn 
+ 00027952  0x00007020 call  0x00006dc3 
+ 00027953  0x00007021 jam  0x0000000e , 0x00000287 
+ 00027954  0x00007022 rtn 
+ 00027955  0x00007024 call  0x00006ddd 
+ 00027956  0x00007025 jam  0x00000010 , 0x00000287 
+ 00027957  0x00007026 fetch  0x00000001 , 0x00004252 
+ 00027958  0x00007027 set1  0x00000000 , 0x0000003f 
+ 00027959  0x00007028 store  0x00000001 , 0x00004252 
+ 00027960  0x00007029 rtn 
+ 00027961  0x0000702b call  0x00006de4 
+ 00027962  0x0000702c jam  0x00000012 , 0x00000287 
+ 00027963  0x0000702d fetch  0x00000001 , 0x00004252 
+ 00027964  0x0000702e set1  0x00000002 , 0x0000003f 
+ 00027965  0x0000702f store  0x00000001 , 0x00004252 
+ 00027966  0x00007030 rtn 
+ 00027967  0x00007032 call  0x00006de9 
+ 00027968  0x00007033 jam  0x00000014 , 0x00000287 
+ 00027969  0x00007034 fetch  0x00000001 , 0x00004253 
+ 00027970  0x00007035 set1  0x00000000 , 0x0000003f 
+ 00027971  0x00007036 store  0x00000001 , 0x00004253 
+ 00027972  0x00007037 rtn 
+ 00027973  0x00007039 call  0x00006df0 
+ 00027974  0x0000703a jam  0x00000016 , 0x00000287 
+ 00027975  0x0000703b fetch  0x00000001 , 0x00004253 
+ 00027976  0x0000703c set1  0x00000002 , 0x0000003f 
+ 00027977  0x0000703d store  0x00000001 , 0x00004253 
+ 00027978  0x0000703e rtn 
+ 00027979  0x00007040 call  0x00006dd1 
+ 00027980  0x00007041 jam  0x00000018 , 0x00000287 
+ 00027981  0x00007042 fetch  0x00000001 , 0x00004251 
+ 00027982  0x00007043 set1  0x00000000 , 0x0000003f 
+ 00027983  0x00007044 store  0x00000001 , 0x00004251 
+ 00027984  0x00007045 rtn 
+ 00027985  0x00007047 call  0x00006dd8 
+ 00027986  0x00007048 jam  0x0000001a , 0x00000287 
+ 00027987  0x00007049 fetch  0x00000001 , 0x00004251 
+ 00027988  0x0000704a set1  0x00000002 , 0x0000003f 
+ 00027989  0x0000704b store  0x00000001 , 0x00004251 
+ 00027990  0x0000704c rtn 
+ 00027991  0x0000704e call  0x00006df5 
+ 00027992  0x0000704f jam  0x0000001c , 0x00000287 
+ 00027993  0x00007050 fetch  0x00000001 , 0x00004251 
+ 00027994  0x00007051 set1  0x00000006 , 0x0000003f 
+ 00027995  0x00007052 store  0x00000001 , 0x00004251 
+ 00027996  0x00007053 rtn 
+ 00027997  0x00007055 call  0x00006dfc 
+ 00027998  0x00007056 fetch  0x00000001 , 0x00004254 
+ 00027999  0x00007057 set1  0x00000000 
+ 00028000  0x00007058 store  0x00000001 , 0x00004254 
+ 00028001  0x00007059 jam  0x0000001e , 0x00000287 
+ 00028002  0x0000705a rtn 
+ 00028003  0x0000705c call  0x00006e02 
+ 00028004  0x0000705d fetch  0x00000001 , 0x00004254 
+ 00028005  0x0000705e set1  0x00000002 
+ 00028006  0x0000705f store  0x00000001 , 0x00004254 
+ 00028007  0x00007060 jam  0x00000020 , 0x00000287 
+ 00028008  0x00007061 fetch  0x00000001 , 0x00004564 
+ 00028009  0x00007062 lshift3  0x0000003f , 0x0000003f 
+ 00028010  0x00007063 or_into  0x00000003 , 0x0000003f 
+ 00028011  0x00007064 arg  0x00004565 , 0x00000002 
+ 00028012  0x00007065 storet  0x00000002 , 0x000004f7 
+ 00028013  0x00007066 branch  0x00006a35 
+ 00028014  0x00007068 call  0x00006e0c 
+ 00028015  0x00007069 fetch  0x00000001 , 0x00004254 
+ 00028016  0x0000706a set1  0x00000004 
+ 00028017  0x0000706b store  0x00000001 , 0x00004254 
+ 00028018  0x0000706c jam  0x00000022 , 0x00000287 
+ 00028019  0x0000706d rtn 
+ 00028020  0x00007070 fetch  0x00000001 , 0x00004250 
+ 00028021  0x00007071 rtnbit0  0x00000001 
+ 00028022  0x00007072 jam  0x00000003 , 0x00000287 
+ 00028023  0x00007073 branch  0x00006cfb 
+ 00028024  0x00007075 fetch  0x00000001 , 0x00004250 
+ 00028025  0x00007076 rtnne  0x0000003f 
+ 00028026  0x00007077 jam  0x0000003b , 0x00000287 
+ 00028027  0x00007079 fetch  0x00000001 , 0x00000285 
+ 00028028  0x0000707a rtnne  0x00000017 
+ 00028029  0x0000707b jam  0x00000000 , 0x00000285 
+ 00028030  0x0000707c jam  0x0000000d , 0x00000287 
+ 00028031  0x0000707d branch  0x00006cfb 
+ 00028032  0x0000707f fetch  0x00000001 , 0x00004250 
+ 00028033  0x00007080 nrtn  0x00000034 
+ 00028034  0x00007081 fetch  0x00000001 , 0x00004684 
+ 00028035  0x00007082 bbit1  0x00000000 , 0x00006daf 
+ 00028036  0x00007083 bbit1  0x00000006 , 0x00006db1 
+ 00028037  0x00007084 branch  0x00006db5 
+ 00028038  0x00007086 fetch  0x00000001 , 0x00004252 
+ 00028039  0x00007087 rtnbit0  0x00000001 
+ 00028040  0x00007088 jam  0x00000011 , 0x00000287 
+ 00028041  0x00007089 branch  0x00006cfb 
+ 00028042  0x0000708b fetch  0x00000001 , 0x00004252 
+ 00028043  0x0000708c rtnne  0x0000003f 
+ 00028044  0x0000708d jam  0x00000013 , 0x00000287 
+ 00028045  0x0000708e branch  0x00006cfb 
+ 00028046  0x00007090 fetch  0x00000001 , 0x00004253 
+ 00028047  0x00007091 rtnbit0  0x00000001 
+ 00028048  0x00007092 jam  0x00000015 , 0x00000287 
+ 00028049  0x00007093 branch  0x00006cfb 
+ 00028050  0x00007095 fetch  0x00000001 , 0x00004253 
+ 00028051  0x00007096 rtnne  0x0000003f 
+ 00028052  0x00007097 fetch  0x00000001 , 0x00004684 
+ 00028053  0x00007098 bbit1  0x00000006 , 0x00006db1 
+ 00028054  0x00007099 branch  0x00006db5 
+ 00028055  0x0000709b fetch  0x00000001 , 0x00004251 
+ 00028056  0x0000709c rtnbit0  0x00000001 
+ 00028057  0x0000709d jam  0x00000019 , 0x00000287 
+ 00028058  0x0000709e branch  0x00006cfb 
+ 00028059  0x000070a0 fetch  0x00000001 , 0x00004251 
+ 00028060  0x000070a1 rtnne  0x0000003f 
+ 00028061  0x000070a2 jam  0x0000001b , 0x00000287 
+ 00028062  0x000070a3 branch  0x00006cfb 
+ 00028063  0x000070a5 fetch  0x00000001 , 0x00004251 
+ 00028064  0x000070a6 rtnne  0x000000ff 
+ 00028065  0x000070a7 fetch  0x00000001 , 0x00004684 
+ 00028066  0x000070a8 bbit1  0x00000006 , 0x00006db3 
+ 00028067  0x000070a9 branch  0x00006db5 
+ 00028068  0x000070ab fetch  0x00000001 , 0x00004254 
+ 00028069  0x000070ac rtnbit0  0x00000001 
+ 00028070  0x000070ad jam  0x0000001f , 0x00000287 
+ 00028071  0x000070ae branch  0x00006cfb 
+ 00028072  0x000070b0 fetch  0x00000001 , 0x00004254 
+ 00028073  0x000070b1 rtnbit0  0x00000003 
+ 00028074  0x000070b2 jam  0x00000021 , 0x00000287 
+ 00028075  0x000070b3 branch  0x00006cfb 
+ 00028076  0x000070b5 fetch  0x00000001 , 0x00004254 
+ 00028077  0x000070b6 rtnne  0x000000ff 
+ 00028078  0x000070b7 branch  0x00006db5 
+ 00028079  0x000070ba jam  0x0000000f , 0x00000287 
+ 00028080  0x000070bb branch  0x00006cfb 
+ 00028081  0x000070be jam  0x00000017 , 0x00000287 
+ 00028082  0x000070bf branch  0x00006cfb 
+ 00028083  0x000070c1 jam  0x0000001d , 0x00000287 
+ 00028084  0x000070c2 branch  0x00006cfb 
+ 00028085  0x000070c7 jam  0x00000000 , 0x00000287 
+ 00028086  0x000070c8 rtn 
+ 00028087  0x000070ca bpatchx  0x000000bf , 0x00004037 
+ 00028088  0x000070cb call  0x000052b8 
+ 00028089  0x000070cc setarg  0x00000001 
+ 00028090  0x000070cd copy  0x0000003f , 0x00000002 
+ 00028091  0x000070ce setarg  0x00000050 
+ 00028092  0x000070cf copy  0x0000003f , 0x0000000b 
+ 00028093  0x000070d0 branch  0x000050a8 
+ 00028094  0x000070d3 bpatchx  0x000000c0 , 0x00004038 
+ 00028095  0x000070d4 call  0x000052b8 
+ 00028096  0x000070d5 fetch  0x00000002 , 0x00004248 
+ 00028097  0x000070d6 copy  0x0000003f , 0x00000002 
+ 00028098  0x000070d7 branch  0x000050b7 
+ 00028099  0x000070da bpatchx  0x000000c1 , 0x00004038 
+ 00028100  0x000070db call  0x000052b8 
+ 00028101  0x000070dc fetch  0x00000002 , 0x00004248 
+ 00028102  0x000070dd copy  0x0000003f , 0x00000002 
+ 00028103  0x000070de arg  0x00000050 , 0x0000000b 
+ 00028104  0x000070df call  0x000050cc 
+ 00028105  0x000070e0 fetch  0x00000001 , 0x00004250 
+ 00028106  0x000070e1 set0  0x00000005 , 0x0000003f 
+ 00028107  0x000070e2 store  0x00000001 , 0x00004250 
+ 00028108  0x000070e3 rtn 
+ 00028109  0x000070e6 bpatchx  0x000000c2 , 0x00004038 
+ 00028110  0x000070e7 call  0x000052c5 
+ 00028111  0x000070e8 call  0x00007138 
+ 00028112  0x000070e9 branch  0x000050e7 
+ 00028113  0x000070ec bpatchx  0x000000c3 , 0x00004038 
+ 00028114  0x000070ed call  0x000052b8 
+ 00028115  0x000070ee setarg  0x00000003 
+ 00028116  0x000070ef copy  0x0000003f , 0x00000002 
+ 00028117  0x000070f0 setarg  0x00000051 
+ 00028118  0x000070f1 copy  0x0000003f , 0x0000000b 
+ 00028119  0x000070f2 branch  0x000050a8 
+ 00028120  0x000070f5 bpatchx  0x000000c4 , 0x00004038 
+ 00028121  0x000070f6 call  0x000052b8 
+ 00028122  0x000070f7 fetch  0x00000002 , 0x0000424a 
+ 00028123  0x000070f8 copy  0x0000003f , 0x00000002 
+ 00028124  0x000070f9 branch  0x000050b7 
+ 00028125  0x000070fc bpatchx  0x000000c5 , 0x00004038 
+ 00028126  0x000070fd call  0x000052b8 
+ 00028127  0x000070fe setarg  0x00000011 
+ 00028128  0x000070ff copy  0x0000003f , 0x00000002 
+ 00028129  0x00007100 setarg  0x00000052 
+ 00028130  0x00007101 copy  0x0000003f , 0x0000000b 
+ 00028131  0x00007102 branch  0x000050a8 
+ 00028132  0x00007105 bpatchx  0x000000c6 , 0x00004038 
+ 00028133  0x00007106 call  0x000052b8 
+ 00028134  0x00007107 fetch  0x00000002 , 0x0000424c 
+ 00028135  0x00007108 copy  0x0000003f , 0x00000002 
+ 00028136  0x00007109 branch  0x000050b7 
+ 00028137  0x0000710c bpatchx  0x000000c7 , 0x00004038 
+ 00028138  0x0000710d call  0x000052b8 
+ 00028139  0x0000710e setarg  0x00000013 
+ 00028140  0x0000710f copy  0x0000003f , 0x00000002 
+ 00028141  0x00007110 setarg  0x00000053 
+ 00028142  0x00007111 copy  0x0000003f , 0x0000000b 
+ 00028143  0x00007112 branch  0x000050a8 
+ 00028144  0x00007115 bpatchx  0x000000c8 , 0x00004039 
+ 00028145  0x00007116 call  0x000052b8 
+ 00028146  0x00007117 fetch  0x00000002 , 0x0000424e 
+ 00028147  0x00007118 copy  0x0000003f , 0x00000002 
+ 00028148  0x00007119 branch  0x000050b7 
+ 00028149  0x0000711c bpatchx  0x000000c9 , 0x00004039 
+ 00028150  0x0000711d call  0x000052d2 
+ 00028151  0x0000711f jam  0x00000003 , 0x000004fb 
+ 00028152  0x00007120 jam  0x0000001c , 0x000004fe 
+ 00028153  0x00007121 call  0x00006ba9 
+ 00028154  0x00007122 jam  0x00000001 , 0x00004563 
+ 00028155  0x00007123 rtn 
+ 00028156  0x00007126 bpatchx  0x000000ca , 0x00004039 
+ 00028157  0x00007127 call  0x000052d2 
+ 00028158  0x00007128 fetcht  0x00000001 , 0x00004564 
+ 00028159  0x00007129 call  0x00006a79 
+ 00028160  0x0000712a storet  0x00000001 , 0x0000455d 
+ 00028161  0x0000712b branch  0x00006bc4 
+ 00028162  0x0000712e bpatchx  0x000000cb , 0x00004039 
+ 00028163  0x0000712f call  0x000052d2 
+ 00028164  0x00007130 fetcht  0x00000001 , 0x0000455d 
+ 00028165  0x00007131 call  0x00006a73 
+ 00028166  0x00007132 call  0x00006a1a 
+ 00028167  0x00007133 store  0x00000001 , 0x000004fe 
+ 00028168  0x00007134 fetcht  0x00000001 , 0x0000455d 
+ 00028169  0x00007135 call  0x00006a73 
+ 00028170  0x00007136 storet  0x00000001 , 0x000004fb 
+ 00028171  0x00007137 branch  0x00006ba9 
+ 00028172  0x0000713a bpatchx  0x000000cc , 0x00004039 
+ 00028173  0x0000713b call  0x000052d2 
+ 00028174  0x0000713c fetcht  0x00000001 , 0x0000455d 
+ 00028175  0x0000713d call  0x00006a73 
+ 00028176  0x0000713e branch  0x00006bfc 
+ 00028177  0x0000714c bpatchx  0x000000cd , 0x00004039 
+ 00028178  0x0000714d fetch  0x00000002 , 0x00000264 
+ 00028179  0x0000714e iforce  0x00000006 
+ 00028180  0x00007151 ifetch  0x00000001 , 0x00000006 
+ 00028181  0x00007152 copy  0x0000003f , 0x00000012 
+ 00028182  0x00007153 store  0x00000001 , 0x0000051b 
+ 00028183  0x00007154 ifetch  0x00000002 , 0x00000006 
+ 00028184  0x00007155 store  0x00000002 , 0x0000051c 
+ 00028185  0x00007156 ifetch  0x00000001 , 0x00000006 
+ 00028186  0x00007157 lshift8  0x0000003f , 0x0000000b 
+ 00028187  0x00007158 ifetch  0x00000001 , 0x00000006 
+ 00028188  0x00007159 iadd  0x0000000b , 0x0000000b 
+ 00028189  0x0000715a bpatchx  0x000000ce , 0x00004039 
+ 00028190  0x0000715b copy  0x00000006 , 0x00000002 
+ 00028191  0x0000715c arg  0x00000004 , 0x00000039 
+ 00028192  0x0000715d arg  0x0000052a , 0x00000005 
+ 00028193  0x0000715e call  0x00007ec6 
+ 00028194  0x0000715f copy  0x00000002 , 0x00000006 
+ 00028195  0x00007160 deposit  0x00000012 
+ 00028196  0x00007161 beq  0x00000001 , 0x00006fba 
+ 00028197  0x00007162 beq  0x00000002 , 0x00006e2c 
+ 00028198  0x00007163 beq  0x00000003 , 0x00006fba 
+ 00028199  0x00007164 beq  0x00000004 , 0x00006e54 
+ 00028200  0x00007165 beq  0x00000005 , 0x00006fba 
+ 00028201  0x00007166 beq  0x00000006 , 0x00006f02 
+ 00028202  0x00007167 beq  0x00000007 , 0x00006fba 
+ 00028203  0x00007168 branch  0x00006fc1 
+ 00028204  0x00007174 bpatchx  0x000000cf , 0x00004039 
+ 00028205  0x00007175 call  0x00006fd0 
+ 00028206  0x00007176 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00028207  0x00007177 branch  0x00007040 , 0x00000001 
+ 00028208  0x00007178 compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028209  0x00007179 branch  0x00006fc4 , 0x00000001 
+ 00028210  0x0000717b ifetch  0x00000002 , 0x00000006 
+ 00028211  0x0000717c store  0x00000002 , 0x00000522 
+ 00028212  0x0000717d increase  0xfffffffe , 0x0000000b 
+ 00028213  0x0000717f increase  0xffffffff , 0x0000000b 
+ 00028214  0x00007180 nbranch  0x00006fbe , 0x00000005 
+ 00028215  0x00007181 arg  0x00000511 , 0x0000000b 
+ 00028216  0x00007182 ifetch  0x00000002 , 0x0000000b 
+ 00028217  0x00007183 rtn  0x00000034 
+ 00028218  0x00007184 call  0x00007082 
+ 00028219  0x00007185 call  0x000052d0 
+ 00028220  0x00007186 force  0x00000003 , 0x0000003f 
+ 00028221  0x00007187 istore  0x00000001 , 0x00000005 
+ 00028222  0x00007188 fetch  0x00000002 , 0x0000051c 
+ 00028223  0x00007189 istore  0x00000002 , 0x00000005 
+ 00028224  0x0000718a lshift2  0x00000007 , 0x0000003f 
+ 00028225  0x0000718b add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00028226  0x0000718c add  0x0000003f , 0x00000005 , 0x00000013 
+ 00028227  0x0000718d byteswap  0x0000003f , 0x0000003f 
+ 00028228  0x0000718e istore  0x00000002 , 0x00000005 
+ 00028229  0x0000718f deposit  0x00000007 
+ 00028230  0x00007190 byteswap  0x0000003f , 0x0000003f 
+ 00028231  0x00007191 istore  0x00000002 , 0x00000005 
+ 00028232  0x00007192 istore  0x00000002 , 0x00000005 
+ 00028233  0x00007193 arg  0x0000052a , 0x00000006 
+ 00028234  0x00007194 copy  0x00000007 , 0x00000039 
+ 00028235  0x00007195 branch  0x00006e4f , 0x00000005 
+ 00028236  0x00007197 ifetch  0x00000004 , 0x00000006 
+ 00028237  0x00007198 istore  0x00000004 , 0x00000005 
+ 00028238  0x00007199 loop  0x00006e4c 
+ 00028239  0x0000719b force  0x00000000 , 0x0000003f 
+ 00028240  0x0000719c istore  0x00000001 , 0x00000005 
+ 00028241  0x0000719d deposit  0x00000013 
+ 00028242  0x0000719e store  0x00000002 , 0x00000275 
+ 00028243  0x000071a0 rtn 
+ 00028244  0x000071ac bpatchx  0x000000d0 , 0x0000403a 
+ 00028245  0x000071ad ifetch  0x00000004 , 0x00000006 
+ 00028246  0x000071ae store  0x00000004 , 0x00000524 
+ 00028247  0x000071af increase  0xfffffffc , 0x0000000b 
+ 00028248  0x000071b0 call  0x00006f2e 
+ 00028249  0x000071b1 store  0x00000002 , 0x00000520 
+ 00028250  0x000071b2 increase  0xfffffffe , 0x0000000b 
+ 00028251  0x000071b3 call  0x00007028 
+ 00028252  0x000071b4 branch  0x00006fc4 , 0x00000005 
+ 00028253  0x000071b5 compare  0x00000005 , 0x00000011 , 0x000000ff 
+ 00028254  0x000071b7 branch  0x00006e62 , 0x00000001 
+ 00028255  0x000071b9 arg  0x0000052a , 0x00000005 
+ 00028256  0x000071ba force  0x00000000 , 0x00000007 
+ 00028257  0x000071bb branch  0x00006e71 
+ 00028258  0x000071bd ifetch  0x00000001 , 0x00000006 
+ 00028259  0x000071be bne  0x0000000a , 0x00006fc4 
+ 00028260  0x000071bf ifetch  0x00000002 , 0x00000006 
+ 00028261  0x000071c0 nbranch  0x00006e6f , 0x00000034 
+ 00028262  0x000071c1 ifetch  0x00000001 , 0x00000006 
+ 00028263  0x000071c2 bne  0x000000ff , 0x00006e6d 
+ 00028264  0x000071c3 ifetch  0x00000001 , 0x00000006 
+ 00028265  0x000071c4 bne  0x000000ff , 0x00006e6b 
+ 00028266  0x000071c5 branch  0x00006eb8 
+ 00028267  0x000071c7 increase  0xfffffffb , 0x00000006 
+ 00028268  0x000071c8 branch  0x00006e5f 
+ 00028269  0x000071ca increase  0xfffffffc , 0x00000006 
+ 00028270  0x000071cb branch  0x00006e5f 
+ 00028271  0x000071cd increase  0xfffffffd , 0x00000006 
+ 00028272  0x000071ce branch  0x00006e5f 
+ 00028273  0x000071d0 ifetch  0x00000001 , 0x00000006 
+ 00028274  0x000071d1 beq  0x00000009 , 0x00006e86 
+ 00028275  0x000071d2 beq  0x0000000a , 0x00006e74 
+ 00028276  0x000071d4 ifetch  0x00000002 , 0x00000006 
+ 00028277  0x000071d5 istore  0x00000002 , 0x00000005 
+ 00028278  0x000071d6 increase  0x00000001 , 0x00000007 
+ 00028279  0x000071d7 byteswap  0x0000003f , 0x00000012 
+ 00028280  0x000071d8 ifetch  0x00000002 , 0x00000006 
+ 00028281  0x000071d9 byteswap  0x0000003f , 0x0000003f 
+ 00028282  0x000071db increase  0x00000001 , 0x00000012 
+ 00028283  0x000071dc isub  0x00000012 , 0x0000003e 
+ 00028284  0x000071dd nbranch  0x00006e83 , 0x00000002 
+ 00028285  0x000071de copy  0x0000003f , 0x00000013 
+ 00028286  0x000071df byteswap  0x00000012 , 0x0000003f 
+ 00028287  0x000071e0 istore  0x00000002 , 0x00000005 
+ 00028288  0x000071e1 increase  0x00000001 , 0x00000007 
+ 00028289  0x000071e2 copy  0x00000013 , 0x0000003f 
+ 00028290  0x000071e3 branch  0x00006e7a 
+ 00028291  0x000071e5 increase  0xfffffffb , 0x0000000b 
+ 00028292  0x000071e6 increase  0xfffffffb , 0x00000011 
+ 00028293  0x000071e7 branch  0x00006e8b 
+ 00028294  0x000071e9 ifetch  0x00000002 , 0x00000006 
+ 00028295  0x000071ea istore  0x00000002 , 0x00000005 
+ 00028296  0x000071eb increase  0x00000001 , 0x00000007 
+ 00028297  0x000071ec increase  0xfffffffd , 0x0000000b 
+ 00028298  0x000071ed increase  0xfffffffd , 0x00000011 
+ 00028299  0x000071ef nbranch  0x00006fc4 , 0x00000002 
+ 00028300  0x000071f0 nbranch  0x00006e71 , 0x00000005 
+ 00028301  0x000071f1 increase  0xffffffff , 0x0000000b 
+ 00028302  0x000071f2 nbranch  0x00006fc4 , 0x00000005 
+ 00028303  0x000071f4 call  0x000052d0 
+ 00028304  0x000071f5 increase  0x0000000a , 0x00000005 
+ 00028305  0x000071f6 arg  0x0000052a , 0x00000011 
+ 00028306  0x000071f8 copy  0x00000007 , 0x0000003f 
+ 00028307  0x000071f9 branch  0x00006ea5 , 0x00000034 
+ 00028308  0x000071fa ifetch  0x00000002 , 0x00000011 
+ 00028309  0x000071fb branch  0x00006ea5 , 0x00000034 
+ 00028310  0x000071fc iforce  0x00000012 
+ 00028311  0x000071fd fetch  0x00000004 , 0x00000524 
+ 00028312  0x000071fe iforce  0x00000002 
+ 00028313  0x000071ff call  0x000070e7 
+ 00028314  0x00007200 copy  0x00000006 , 0x0000003f 
+ 00028315  0x00007201 branch  0x00006ea2 , 0x00000034 
+ 00028316  0x00007202 increase  0xfffffffd , 0x00000006 
+ 00028317  0x00007203 ifetch  0x00000003 , 0x00000006 
+ 00028318  0x00007204 istore  0x00000003 , 0x00000005 
+ 00028319  0x00007205 call  0x0000705b 
+ 00028320  0x00007206 iforce  0x00000039 
+ 00028321  0x00007207 call  0x00007f01 
+ 00028322  0x00007209 increase  0x00000002 , 0x00000011 
+ 00028323  0x0000720a increase  0xffffffff , 0x00000007 
+ 00028324  0x0000720b branch  0x00006e92 
+ 00028325  0x0000720e arg  0x00000005 , 0x00000011 
+ 00028326  0x0000720f call  0x00006f84 
+ 00028327  0x00007210 fetch  0x00000002 , 0x00000275 
+ 00028328  0x00007211 beq  0x0000000b , 0x00007043 
+ 00028329  0x00007212 branch  0x00006f9a 
+ 00028330  0x00007216 ifetch  0x00000001 , 0x00000006 
+ 00028331  0x00007217 beq  0x00000000 , 0x00006eae 
+ 00028332  0x00007218 beq  0x00000001 , 0x00006eb0 
+ 00028333  0x00007219 beq  0x00000002 , 0x00006eb3 
+ 00028334  0x0000721b increase  0xffffffff , 0x0000000b 
+ 00028335  0x0000721c branch  0x00006eb6 
+ 00028336  0x0000721e ifetch  0x00000001 , 0x00000006 
+ 00028337  0x0000721f increase  0xfffffffe , 0x0000000b 
+ 00028338  0x00007220 branch  0x00006eb6 
+ 00028339  0x00007222 ifetch  0x00000002 , 0x00000006 
+ 00028340  0x00007223 byteswap  0x0000003f , 0x0000003f 
+ 00028341  0x00007224 increase  0xfffffffd , 0x0000000b 
+ 00028342  0x00007226 store  0x00000002 , 0x00000519 
+ 00028343  0x00007227 rtn 
+ 00028344  0x0000722a increase  0xfffffffb , 0x0000000b 
+ 00028345  0x0000722b call  0x00006eaa 
+ 00028346  0x0000722c nbranch  0x00006fbe , 0x00000005 
+ 00028347  0x0000722d fetcht  0x00000004 , 0x00000524 
+ 00028348  0x0000722e call  0x000070b1 
+ 00028349  0x0000722f nbranch  0x00006fbb , 0x00000005 
+ 00028350  0x00007230 copy  0x00000006 , 0x00000011 
+ 00028351  0x00007231 call  0x000052d0 
+ 00028352  0x00007232 copy  0x00000011 , 0x00000006 
+ 00028353  0x00007233 increase  0x00000003 , 0x00000005 
+ 00028354  0x00007234 copy  0x00000006 , 0x0000000b 
+ 00028355  0x00007235 call  0x00007062 
+ 00028356  0x00007236 copy  0x0000003f , 0x00000011 
+ 00028357  0x00007238 fetch  0x00000002 , 0x00000519 
+ 00028358  0x00007239 copy  0x0000003f , 0x00000012 
+ 00028359  0x0000723a copy  0x00000011 , 0x0000003f 
+ 00028360  0x0000723b isub  0x00000012 , 0x00000012 
+ 00028361  0x0000723c fetch  0x00000002 , 0x00000520 
+ 00028362  0x0000723d isub  0x00000012 , 0x0000003e 
+ 00028363  0x0000723e nbranch  0x00006ee7 , 0x00000002 
+ 00028364  0x00007240 disable  0x00000028 
+ 00028365  0x00007241 fetch  0x00000002 , 0x00000519 
+ 00028366  0x00007242 branch  0x00006eda , 0x00000034 
+ 00028367  0x00007243 iadd  0x0000000b , 0x00000006 
+ 00028368  0x00007244 increase  0x00000003 , 0x00000012 
+ 00028369  0x00007245 copy  0x00000012 , 0x00000039 
+ 00028370  0x00007246 copy  0x00000039 , 0x0000003f 
+ 00028371  0x00007247 increase  0x00000003 , 0x0000003f 
+ 00028372  0x00007248 byteswap  0x0000003f , 0x0000003f 
+ 00028373  0x00007249 istore  0x00000002 , 0x00000005 
+ 00028374  0x0000724a copy  0x00000039 , 0x0000003f 
+ 00028375  0x0000724b byteswap  0x0000003f , 0x0000003f 
+ 00028376  0x0000724c istore  0x00000002 , 0x00000005 
+ 00028377  0x0000724d branch  0x00006ef5 
+ 00028378  0x0000724f add  0x00000011 , 0x00000006 , 0x00000039 
+ 00028379  0x00007250 branch  0x00006ede , 0x00000028 
+ 00028380  0x00007251 byteswap  0x00000039 , 0x0000003f 
+ 00028381  0x00007252 branch  0x00006ee1 
+ 00028382  0x00007254 copy  0x00000039 , 0x0000003f 
+ 00028383  0x00007255 increase  0x00000002 , 0x0000003f 
+ 00028384  0x00007256 byteswap  0x0000003f , 0x0000003f 
+ 00028385  0x00007258 istore  0x00000002 , 0x00000005 
+ 00028386  0x00007259 increase  0xfffffffd , 0x00000039 
+ 00028387  0x0000725a byteswap  0x00000039 , 0x0000003f 
+ 00028388  0x0000725b istore  0x00000002 , 0x00000005 
+ 00028389  0x0000725c copy  0x0000000b , 0x00000006 
+ 00028390  0x0000725d branch  0x00006ef5 
+ 00028391  0x0000725f enable  0x00000028 
+ 00028392  0x00007261 fetch  0x00000002 , 0x00000520 
+ 00028393  0x00007262 copy  0x0000003f , 0x00000011 
+ 00028394  0x00007263 copy  0x00000011 , 0x00000039 
+ 00028395  0x00007264 fetch  0x00000002 , 0x00000519 
+ 00028396  0x00007265 branch  0x00006eda , 0x00000034 
+ 00028397  0x00007266 iadd  0x0000000b , 0x00000006 
+ 00028398  0x00007267 copy  0x00000011 , 0x0000003f 
+ 00028399  0x00007268 increase  0x00000005 , 0x0000003f 
+ 00028400  0x00007269 byteswap  0x0000003f , 0x0000003f 
+ 00028401  0x0000726a istore  0x00000002 , 0x00000005 
+ 00028402  0x0000726b copy  0x00000011 , 0x0000003f 
+ 00028403  0x0000726c byteswap  0x0000003f , 0x0000003f 
+ 00028404  0x0000726d istore  0x00000002 , 0x00000005 
+ 00028405  0x0000726f call  0x00007f01 
+ 00028406  0x00007270 nbranch  0x00006efe , 0x00000028 
+ 00028407  0x00007271 force  0x00000002 , 0x0000003f 
+ 00028408  0x00007272 istore  0x00000001 , 0x00000005 
+ 00028409  0x00007273 copy  0x00000006 , 0x0000003f 
+ 00028410  0x00007274 isub  0x0000000b , 0x0000003f 
+ 00028411  0x00007275 byteswap  0x0000003f , 0x0000003f 
+ 00028412  0x00007276 istore  0x00000002 , 0x00000005 
+ 00028413  0x00007277 branch  0x00006f00 
+ 00028414  0x00007279 force  0x00000000 , 0x0000003f 
+ 00028415  0x0000727a istore  0x00000001 , 0x00000005 
+ 00028416  0x0000727c arg  0x00000005 , 0x00000011 
+ 00028417  0x0000727d branch  0x00006fb0 
+ 00028418  0x00007289 bpatchx  0x000000d1 , 0x0000403a 
+ 00028419  0x0000728a call  0x00006fd0 
+ 00028420  0x0000728b compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028421  0x0000728c branch  0x00006fc4 , 0x00000001 
+ 00028422  0x0000728d call  0x00006f2e 
+ 00028423  0x0000728e store  0x00000002 , 0x00000520 
+ 00028424  0x0000728f increase  0xfffffffe , 0x0000000b 
+ 00028425  0x00007290 call  0x00007028 
+ 00028426  0x00007291 arg  0x0000052a , 0x00000005 
+ 00028427  0x00007292 force  0x00000000 , 0x00000007 
+ 00028428  0x00007294 ifetch  0x00000001 , 0x00000006 
+ 00028429  0x00007295 beq  0x0000000a , 0x00006f36 
+ 00028430  0x00007296 ifetch  0x00000002 , 0x00000006 
+ 00028431  0x00007297 istore  0x00000002 , 0x00000005 
+ 00028432  0x00007298 increase  0x00000001 , 0x00000007 
+ 00028433  0x00007299 increase  0xfffffffd , 0x0000000b 
+ 00028434  0x0000729a increase  0xfffffffd , 0x00000011 
+ 00028435  0x0000729b nbranch  0x00006fc4 , 0x00000002 
+ 00028436  0x0000729c nbranch  0x00006f0c , 0x00000005 
+ 00028437  0x0000729d increase  0xffffffff , 0x0000000b 
+ 00028438  0x0000729e nbranch  0x00006fc4 , 0x00000005 
+ 00028439  0x0000729f call  0x000052d0 
+ 00028440  0x000072a0 increase  0x0000000d , 0x00000005 
+ 00028441  0x000072a1 fetch  0x00000002 , 0x00000511 
+ 00028442  0x000072a2 iforce  0x00000013 
+ 00028443  0x000072a3 arg  0x0000052a , 0x00000011 
+ 00028444  0x000072a5 ifetch  0x00000002 , 0x00000011 
+ 00028445  0x000072a6 branch  0x00006f29 , 0x00000034 
+ 00028446  0x000072a7 iforce  0x00000012 
+ 00028447  0x000072a8 call  0x000070c6 
+ 00028448  0x000072a9 branch  0x00006f27 , 0x00000034 
+ 00028449  0x000072aa increase  0xfffffffd , 0x00000006 
+ 00028450  0x000072ab ifetch  0x00000003 , 0x00000006 
+ 00028451  0x000072ac istore  0x00000003 , 0x00000005 
+ 00028452  0x000072ad call  0x0000705b 
+ 00028453  0x000072ae iforce  0x00000039 
+ 00028454  0x000072af call  0x00007f01 
+ 00028455  0x000072b1 increase  0x00000002 , 0x00000011 
+ 00028456  0x000072b2 branch  0x00006f1c 
+ 00028457  0x000072b5 call  0x00006f83 
+ 00028458  0x000072b6 fetch  0x00000002 , 0x00000275 
+ 00028459  0x000072b7 beq  0x0000000e , 0x00007046 
+ 00028460  0x000072b8 call  0x00006f9a 
+ 00028461  0x000072b9 branch  0x00006f9a 
+ 00028462  0x000072bd ifetch  0x00000002 , 0x00000006 
+ 00028463  0x000072be byteswap  0x0000003f , 0x0000003f 
+ 00028464  0x000072bf increase  0xfffffffd , 0x0000003f 
+ 00028465  0x000072c0 arg  0x000000c8 , 0x00000002 
+ 00028466  0x000072c1 isub  0x00000002 , 0x0000003e 
+ 00028467  0x000072c2 nrtn  0x00000002 
+ 00028468  0x000072c3 setarg  0x000000c8 
+ 00028469  0x000072c4 rtn 
+ 00028470  0x000072c8 increase  0x00000004 , 0x00000006 
+ 00028471  0x000072c9 increase  0xfffffffb , 0x0000000b 
+ 00028472  0x000072ca increase  0xfffffffb , 0x00000011 
+ 00028473  0x000072cb nbranch  0x00006fc4 , 0x00000005 
+ 00028474  0x000072cc call  0x00006eaa 
+ 00028475  0x000072cd nbranch  0x00006fbe , 0x00000005 
+ 00028476  0x000072ce arg  0x00000511 , 0x0000000b 
+ 00028477  0x000072cf call  0x00007082 
+ 00028478  0x000072d0 deposit  0x00000007 
+ 00028479  0x000072d1 branch  0x00007046 , 0x00000034 
+ 00028480  0x000072d2 store  0x00000001 , 0x0000054e 
+ 00028481  0x000072d4 copy  0x00000012 , 0x0000003f 
+ 00028482  0x000072d5 store  0x00000002 , 0x0000054c 
+ 00028483  0x000072d6 arg  0x00000000 , 0x00000007 
+ 00028484  0x000072d7 arg  0x00000000 , 0x00000011 
+ 00028485  0x000072d8 call  0x000052d0 
+ 00028486  0x000072d9 increase  0x0000000a , 0x00000005 
+ 00028487  0x000072db call  0x00006f6c 
+ 00028488  0x000072dc nbranch  0x00002a8c , 0x00000028 
+ 00028489  0x000072dd copy  0x00000006 , 0x0000000b 
+ 00028490  0x000072de copy  0x0000003f , 0x00000013 
+ 00028491  0x000072df iadd  0x00000011 , 0x00000011 
+ 00028492  0x000072e2 fetch  0x00000002 , 0x00000519 
+ 00028493  0x000072e3 copy  0x0000003f , 0x00000012 
+ 00028494  0x000072e4 branch  0x00006f75 , 0x00000034 
+ 00028495  0x000072e6 copy  0x00000011 , 0x0000003f 
+ 00028496  0x000072e7 isub  0x00000012 , 0x00000012 
+ 00028497  0x000072e8 branch  0x00006f67 , 0x00000005 
+ 00028498  0x000072e9 nbranch  0x00006f67 , 0x00000002 
+ 00028499  0x000072ea fetch  0x00000002 , 0x00000520 
+ 00028500  0x000072eb isub  0x00000012 , 0x0000003e 
+ 00028501  0x000072ec branch  0x00006f5e , 0x00000005 
+ 00028502  0x000072ed nbranch  0x00006f5e , 0x00000002 
+ 00028503  0x000072f1 copy  0x00000012 , 0x00000039 
+ 00028504  0x000072f2 call  0x00006f61 
+ 00028505  0x000072f3 fetch  0x00000001 , 0x0000054e 
+ 00028506  0x000072f4 increase  0x00000001 , 0x00000007 
+ 00028507  0x000072f5 isub  0x00000007 , 0x0000003e 
+ 00028508  0x000072f6 branch  0x00006f83 , 0x00000005 
+ 00028509  0x000072f7 branch  0x00006fa0 
+ 00028510  0x000072fa copy  0x0000003f , 0x00000039 
+ 00028511  0x000072fb call  0x00006f61 
+ 00028512  0x000072fc branch  0x00006fa0 
+ 00028513  0x000072ff increase  0xfffffffd , 0x00000005 
+ 00028514  0x00007300 copy  0x00000039 , 0x00000002 
+ 00028515  0x00007301 copy  0x00000013 , 0x0000003f 
+ 00028516  0x00007302 isub  0x00000012 , 0x0000003f 
+ 00028517  0x00007303 iadd  0x0000000b , 0x00000006 
+ 00028518  0x00007304 branch  0x00007f01 
+ 00028519  0x00007307 fetch  0x00000001 , 0x0000054e 
+ 00028520  0x00007308 increase  0x00000001 , 0x00000007 
+ 00028521  0x00007309 isub  0x00000007 , 0x0000003e 
+ 00028522  0x0000730a rtn  0x00000005 
+ 00028523  0x0000730b branch  0x00006f47 
+ 00028524  0x0000730e call  0x00007fe9 
+ 00028525  0x0000730f arg  0x0000052a , 0x00000006 
+ 00028526  0x00007310 lshift2  0x00000007 , 0x0000003f 
+ 00028527  0x00007311 iadd  0x00000006 , 0x00000006 
+ 00028528  0x00007312 ifetcht  0x00000004 , 0x00000006 
+ 00028529  0x00007313 call  0x000070b1 
+ 00028530  0x00007314 nrtn  0x00000005 
+ 00028531  0x00007315 call  0x0000705b 
+ 00028532  0x00007316 branch  0x00007fe7 
+ 00028533  0x00007319 fetch  0x00000002 , 0x00000520 
+ 00028534  0x0000731a isub  0x00000011 , 0x0000003e 
+ 00028535  0x0000731b nbranch  0x00006f8f , 0x00000002 
+ 00028536  0x0000731c copy  0x00000011 , 0x00000039 
+ 00028537  0x0000731d copy  0x00000039 , 0x00000002 
+ 00028538  0x0000731e copy  0x0000000b , 0x00000006 
+ 00028539  0x0000731f call  0x00007f01 
+ 00028540  0x00007320 fetch  0x00000002 , 0x0000054c 
+ 00028541  0x00007321 isub  0x00000011 , 0x0000003e 
+ 00028542  0x00007322 branch  0x00006f81 , 0x00000005 
+ 00028543  0x00007324 call  0x00006fa0 
+ 00028544  0x00007325 branch  0x00006f94 
+ 00028545  0x00007328 call  0x00006f83 
+ 00028546  0x00007329 branch  0x00006f94 
+ 00028547  0x0000732c arg  0x00000007 , 0x00000011 
+ 00028548  0x0000732e force  0x00000000 , 0x0000003f 
+ 00028549  0x0000732f istore  0x00000001 , 0x00000005 
+ 00028550  0x00007330 call  0x00006fb0 
+ 00028551  0x00007331 fetcht  0x00000002 , 0x00000275 
+ 00028552  0x00007332 increase  0xfffffffb , 0x00000002 
+ 00028553  0x00007333 byteswap  0x00000002 , 0x0000003f 
+ 00028554  0x00007334 istore  0x00000002 , 0x00000005 
+ 00028555  0x00007335 increase  0xfffffffd , 0x00000002 
+ 00028556  0x00007336 byteswap  0x00000002 , 0x0000003f 
+ 00028557  0x00007337 istore  0x00000002 , 0x00000005 
+ 00028558  0x00007338 rtn 
+ 00028559  0x0000733b copy  0x0000003f , 0x00000039 
+ 00028560  0x0000733c copy  0x00000039 , 0x00000002 
+ 00028561  0x0000733d copy  0x0000000b , 0x00000006 
+ 00028562  0x0000733e call  0x00007f01 
+ 00028563  0x0000733f call  0x00006fa0 
+ 00028564  0x00007341 setarg  0x00000036 
+ 00028565  0x00007342 istore  0x00000001 , 0x00000005 
+ 00028566  0x00007343 fetch  0x00000002 , 0x0000054c 
+ 00028567  0x00007344 byteswap  0x0000003f , 0x0000003f 
+ 00028568  0x00007345 istore  0x00000002 , 0x00000005 
+ 00028569  0x00007346 rtn 
+ 00028570  0x00007349 setarg  0x00000036 
+ 00028571  0x0000734a istore  0x00000001 , 0x00000005 
+ 00028572  0x0000734b increase  0xfffffffd , 0x00000002 
+ 00028573  0x0000734c byteswap  0x00000002 , 0x0000003f 
+ 00028574  0x0000734d istore  0x00000002 , 0x00000005 
+ 00028575  0x0000734e rtn 
+ 00028576  0x00007351 arg  0x00000007 , 0x00000011 
+ 00028577  0x00007352 setarg  0x00000002 
+ 00028578  0x00007353 istore  0x00000001 , 0x00000005 
+ 00028579  0x00007354 fetch  0x00000002 , 0x00000519 
+ 00028580  0x00007355 iadd  0x00000002 , 0x00000002 
+ 00028581  0x00007356 byteswap  0x00000002 , 0x0000003f 
+ 00028582  0x00007357 istore  0x00000002 , 0x00000005 
+ 00028583  0x00007358 call  0x00006fb0 
+ 00028584  0x00007359 fetcht  0x00000002 , 0x00000275 
+ 00028585  0x0000735a increase  0xfffffffb , 0x00000002 
+ 00028586  0x0000735b byteswap  0x00000002 , 0x0000003f 
+ 00028587  0x0000735c istore  0x00000002 , 0x00000005 
+ 00028588  0x0000735d increase  0xfffffffb , 0x00000002 
+ 00028589  0x0000735e byteswap  0x00000002 , 0x0000003f 
+ 00028590  0x0000735f istore  0x00000002 , 0x00000005 
+ 00028591  0x00007360 rtn 
+ 00028592  0x00007363 fetch  0x00000002 , 0x00000273 
+ 00028593  0x00007364 isub  0x00000005 , 0x0000003f 
+ 00028594  0x00007365 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00028595  0x00007366 store  0x00000002 , 0x00000275 
+ 00028596  0x00007367 call  0x000052d0 
+ 00028597  0x00007368 copy  0x00000011 , 0x0000003f 
+ 00028598  0x00007369 istore  0x00000001 , 0x00000005 
+ 00028599  0x0000736a fetch  0x00000002 , 0x0000051c 
+ 00028600  0x0000736b istore  0x00000002 , 0x00000005 
+ 00028601  0x0000736c rtn 
+ 00028602  0x0000737d rtn 
+ 00028603  0x0000739f setarg  0x00000200 
+ 00028604  0x000073a0 store  0x00000002 , 0x0000054a 
+ 00028605  0x000073a1 branch  0x00006fc6 
+ 00028606  0x000073a3 setarg  0x00000400 
+ 00028607  0x000073a4 store  0x00000002 , 0x0000054a 
+ 00028608  0x000073a5 branch  0x00006fc6 
+ 00028609  0x000073a7 setarg  0x00000600 
+ 00028610  0x000073a8 store  0x00000002 , 0x0000054a 
+ 00028611  0x000073a9 branch  0x00006fc6 
+ 00028612  0x000073ab setarg  0x00000300 
+ 00028613  0x000073ac store  0x00000002 , 0x0000054a 
+ 00028614  0x000073ae call  0x000052d0 
+ 00028615  0x000073af istore  0x00000001 , 0x00000005 
+ 00028616  0x000073b0 fetch  0x00000002 , 0x0000051c 
+ 00028617  0x000073b1 istore  0x00000002 , 0x00000005 
+ 00028618  0x000073b2 setarg  0x00000200 
+ 00028619  0x000073b3 istore  0x00000002 , 0x00000005 
+ 00028620  0x000073b4 fetch  0x00000002 , 0x0000054a 
+ 00028621  0x000073b5 istore  0x00000002 , 0x00000005 
+ 00028622  0x000073b6 jam  0x00000007 , 0x00000275 
+ 00028623  0x000073b7 rtn 
+ 00028624  0x000073bd arg  0x00000000 , 0x00000012 
+ 00028625  0x000073be force  0x00000000 , 0x00000002 
+ 00028626  0x000073bf arg  0x00000511 , 0x00000005 
+ 00028627  0x000073c0 call  0x00007028 
+ 00028628  0x000073c1 branch  0x00007026 , 0x00000005 
+ 00028629  0x000073c3 increase  0x00000001 , 0x00000012 
+ 00028630  0x000073c4 ifetch  0x00000001 , 0x00000006 
+ 00028631  0x000073c5 increase  0xffffffff , 0x00000011 
+ 00028632  0x000073c6 increase  0xffffffff , 0x0000000b 
+ 00028633  0x000073c7 compare  0x00000018 , 0x0000003f , 0x000000f8 
+ 00028634  0x000073c8 nbranch  0x00007026 , 0x00000001 
+ 00028635  0x000073c9 compare  0x00000004 , 0x0000003f , 0x00000007 
+ 00028636  0x000073ca nbranch  0x00006ff3 , 0x00000001 
+ 00028637  0x000073cb force  0x00000001 , 0x00000002 
+ 00028638  0x000073cd ifetch  0x00000001 , 0x00000006 
+ 00028639  0x000073ce increase  0xffffffff , 0x00000011 
+ 00028640  0x000073cf increase  0xffffffff , 0x0000000b 
+ 00028641  0x000073d0 bne  0x00000000 , 0x00006fe7 
+ 00028642  0x000073d1 ifetch  0x00000001 , 0x00000006 
+ 00028643  0x000073d2 increase  0xffffffff , 0x00000011 
+ 00028644  0x000073d3 increase  0xffffffff , 0x0000000b 
+ 00028645  0x000073d4 beq  0x00000000 , 0x00006ff8 
+ 00028646  0x000073d5 branch  0x00006fea 
+ 00028647  0x000073d7 increase  0x00000001 , 0x00000006 
+ 00028648  0x000073d8 increase  0xffffffff , 0x00000011 
+ 00028649  0x000073d9 increase  0xffffffff , 0x0000000b 
+ 00028650  0x000073db increase  0x00000002 , 0x00000006 
+ 00028651  0x000073dc increase  0xfffffffe , 0x00000011 
+ 00028652  0x000073dd increase  0xfffffffe , 0x0000000b 
+ 00028653  0x000073de compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028654  0x000073df branch  0x00007020 , 0x00000001 
+ 00028655  0x000073e0 increase  0x0000000c , 0x00000006 
+ 00028656  0x000073e1 increase  0xfffffff4 , 0x00000011 
+ 00028657  0x000073e2 increase  0xfffffff4 , 0x0000000b 
+ 00028658  0x000073e3 branch  0x00007020 
+ 00028659  0x000073e5 compare  0x00000002 , 0x0000003f , 0x00000007 
+ 00028660  0x000073e6 nbranch  0x00006ff6 , 0x00000001 
+ 00028661  0x000073e7 branch  0x00006fde 
+ 00028662  0x000073e9 compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00028663  0x000073ea nbranch  0x00007026 , 0x00000001 
+ 00028664  0x000073ec increase  0xfffffffe , 0x00000011 
+ 00028665  0x000073ed increase  0xfffffffe , 0x0000000b 
+ 00028666  0x000073ee ifetch  0x00000002 , 0x00000006 
+ 00028667  0x000073ef sub  0x00000012 , 0x00000004 , 0x0000003e 
+ 00028668  0x000073f0 branch  0x00006ffe , 0x00000005 
+ 00028669  0x000073f1 istore  0x00000002 , 0x00000005 
+ 00028670  0x000073f3 compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028671  0x000073f4 branch  0x00007020 , 0x00000001 
+ 00028672  0x000073f5 copy  0x00000006 , 0x00000002 
+ 00028673  0x000073f6 ifetch  0x00000001 , 0x00000006 
+ 00028674  0x000073f7 bne  0x00000000 , 0x00007019 
+ 00028675  0x000073f8 ifetch  0x00000001 , 0x00000006 
+ 00028676  0x000073f9 bne  0x00000000 , 0x00007019 
+ 00028677  0x000073fa ifetch  0x00000001 , 0x00000006 
+ 00028678  0x000073fb bne  0x00000010 , 0x00007019 
+ 00028679  0x000073fc ifetch  0x00000001 , 0x00000006 
+ 00028680  0x000073fd bne  0x00000000 , 0x00007019 
+ 00028681  0x000073fe ifetch  0x00000001 , 0x00000006 
+ 00028682  0x000073ff bne  0x00000080 , 0x00007019 
+ 00028683  0x00007400 ifetch  0x00000001 , 0x00000006 
+ 00028684  0x00007401 bne  0x00000000 , 0x00007019 
+ 00028685  0x00007402 ifetch  0x00000001 , 0x00000006 
+ 00028686  0x00007403 bne  0x00000000 , 0x00007019 
+ 00028687  0x00007404 ifetch  0x00000001 , 0x00000006 
+ 00028688  0x00007405 bne  0x00000080 , 0x00007019 
+ 00028689  0x00007406 ifetch  0x00000001 , 0x00000006 
+ 00028690  0x00007407 bne  0x0000005f , 0x00007019 
+ 00028691  0x00007408 ifetch  0x00000001 , 0x00000006 
+ 00028692  0x00007409 bne  0x0000009b , 0x00007019 
+ 00028693  0x0000740a ifetch  0x00000001 , 0x00000006 
+ 00028694  0x0000740b bne  0x00000034 , 0x00007019 
+ 00028695  0x0000740c ifetch  0x00000001 , 0x00000006 
+ 00028696  0x0000740d beq  0x000000fb , 0x0000701e 
+ 00028697  0x0000740f copy  0x00000002 , 0x00000006 
+ 00028698  0x00007411 increase  0x0000000c , 0x00000006 
+ 00028699  0x00007412 force  0x00000000 , 0x00000007 
+ 00028700  0x00007413 force  0x00000000 , 0x00000002 
+ 00028701  0x00007414 branch  0x0000701e 
+ 00028702  0x00007417 increase  0xfffffff4 , 0x0000000b 
+ 00028703  0x00007418 increase  0xfffffff4 , 0x00000011 
+ 00028704  0x0000741a force  0x00000000 , 0x00000002 
+ 00028705  0x0000741b compare  0x00000000 , 0x00000011 , 0x000000ff 
+ 00028706  0x0000741c nbranch  0x00006fd5 , 0x00000001 
+ 00028707  0x0000741d force  0x00000000 , 0x0000003f 
+ 00028708  0x0000741e istore  0x00000002 , 0x00000005 
+ 00028709  0x0000741f rtn 
+ 00028710  0x00007421 arg  0x000000ff , 0x00000002 
+ 00028711  0x00007422 rtn 
+ 00028712  0x0000742d bpatchx  0x000000d4 , 0x0000403a 
+ 00028713  0x0000742e ifetch  0x00000001 , 0x00000006 
+ 00028714  0x0000742f increase  0xffffffff , 0x0000000b 
+ 00028715  0x00007430 compare  0x00000030 , 0x0000003f , 0x000000f8 
+ 00028716  0x00007431 nbranch  0x0000703e , 0x00000001 
+ 00028717  0x00007432 compare  0x00000007 , 0x0000003f , 0x00000007 
+ 00028718  0x00007433 branch  0x00007037 , 0x00000001 
+ 00028719  0x00007434 compare  0x00000006 , 0x0000003f , 0x00000007 
+ 00028720  0x00007435 branch  0x00007039 , 0x00000001 
+ 00028721  0x00007436 compare  0x00000005 , 0x0000003f , 0x00000007 
+ 00028722  0x00007437 nbranch  0x0000703e , 0x00000001 
+ 00028723  0x00007439 ifetch  0x00000001 , 0x00000006 
+ 00028724  0x0000743a copy  0x0000003f , 0x00000011 
+ 00028725  0x0000743b increase  0xffffffff , 0x0000000b 
+ 00028726  0x0000743c branch  0x0000703c 
+ 00028727  0x0000743e increase  0x00000002 , 0x00000006 
+ 00028728  0x0000743f increase  0xfffffffe , 0x0000000b 
+ 00028729  0x00007441 ifetch  0x00000002 , 0x00000006 
+ 00028730  0x00007442 byteswap  0x0000003f , 0x00000011 
+ 00028731  0x00007443 increase  0xfffffffe , 0x0000000b 
+ 00028732  0x00007445 force  0x00000001 , 0x0000003f 
+ 00028733  0x00007446 rtn 
+ 00028734  0x00007448 force  0x00000000 , 0x0000003f 
+ 00028735  0x00007449 rtn 
+ 00028736  0x00007454 setarg  0x00000003 
+ 00028737  0x00007455 store  0x00000001 , 0x0000051b 
+ 00028738  0x00007456 branch  0x00007048 
+ 00028739  0x00007458 setarg  0x00000005 
+ 00028740  0x00007459 store  0x00000001 , 0x0000051b 
+ 00028741  0x0000745a branch  0x00007048 
+ 00028742  0x0000745c setarg  0x00000007 
+ 00028743  0x0000745d store  0x00000001 , 0x0000051b 
+ 00028744  0x0000745f call  0x000052d0 
+ 00028745  0x00007462 fetch  0x00000001 , 0x0000051b 
+ 00028746  0x00007463 copy  0x0000003f , 0x00000012 
+ 00028747  0x00007464 istore  0x00000001 , 0x00000005 
+ 00028748  0x00007465 fetch  0x00000002 , 0x0000051c 
+ 00028749  0x00007466 istore  0x00000002 , 0x00000005 
+ 00028750  0x00007467 setarg  0x00000500 
+ 00028751  0x00007468 istore  0x00000002 , 0x00000005 
+ 00028752  0x00007469 compare  0x00000005 , 0x00000012 , 0x000000ff 
+ 00028753  0x0000746a branch  0x00007057 , 0x00000001 
+ 00028754  0x0000746b compare  0x00000007 , 0x00000012 , 0x000000ff 
+ 00028755  0x0000746c branch  0x00007057 , 0x00000001 
+ 00028756  0x0000746d setarg  0x00000000 
+ 00028757  0x0000746e istore  0x00000005 , 0x00000005 
+ 00028758  0x0000746f branch  0x00007059 
+ 00028759  0x00007472 setarg  0x00350200 
+ 00028760  0x00007473 istore  0x00000005 , 0x00000005 
+ 00028761  0x00007475 jam  0x0000000a , 0x00000275 
+ 00028762  0x00007476 rtn 
+ 00028763  0x0000747a call  0x00007ea2 
+ 00028764  0x0000747b call  0x00007ea5 
+ 00028765  0x0000747c call  0x00007062 
+ 00028766  0x0000747d call  0x00007e9c 
+ 00028767  0x0000747e call  0x00007e9f 
+ 00028768  0x0000747f copy  0x00000002 , 0x0000003f 
+ 00028769  0x00007480 rtn 
+ 00028770  0x00007484 ifetch  0x00000001 , 0x00000006 
+ 00028771  0x00007485 and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028772  0x00007486 rshift3  0x0000003f , 0x0000003f 
+ 00028773  0x00007487 bne  0x00000000 , 0x0000706c 
+ 00028774  0x00007489 force  0x00000001 , 0x0000003f 
+ 00028775  0x0000748a force  0x00000001 , 0x00000002 
+ 00028776  0x0000748b rtn 
+ 00028777  0x0000748e call  0x00007e76 
+ 00028778  0x0000748f add  0x0000003f , 0x00000001 , 0x00000002 
+ 00028779  0x00007490 rtn 
+ 00028780  0x00007492 deposit  0x00000039 
+ 00028781  0x00007493 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00028782  0x00007494 branch  0x00007069 , 0x00000002 
+ 00028783  0x00007495 beq  0x00000005 , 0x00007073 
+ 00028784  0x00007496 beq  0x00000006 , 0x00007076 
+ 00028785  0x00007497 beq  0x00000007 , 0x0000707a 
+ 00028786  0x00007498 rtn 
+ 00028787  0x0000749b ifetch  0x00000001 , 0x00000006 
+ 00028788  0x0000749c add  0x0000003f , 0x00000002 , 0x00000002 
+ 00028789  0x0000749d rtn 
+ 00028790  0x0000749f ifetch  0x00000002 , 0x00000006 
+ 00028791  0x000074a0 byteswap  0x0000003f , 0x0000003f 
+ 00028792  0x000074a1 add  0x0000003f , 0x00000003 , 0x00000002 
+ 00028793  0x000074a2 rtn 
+ 00028794  0x000074a4 ifetch  0x00000002 , 0x00000006 
+ 00028795  0x000074a5 byteswap  0x0000003f , 0x0000003f 
+ 00028796  0x000074a6 ifetcht  0x00000002 , 0x00000006 
+ 00028797  0x000074a7 byteswap  0x00000002 , 0x00000002 
+ 00028798  0x000074a8 lshift16  0x00000002 , 0x00000002 
+ 00028799  0x000074a9 iadd  0x00000002 , 0x0000003f 
+ 00028800  0x000074aa add  0x0000003f , 0x00000005 , 0x00000002 
+ 00028801  0x000074ab rtn 
+ 00028802  0x000074b2 bpatchx  0x000000d5 , 0x0000403a 
+ 00028803  0x000074b3 force  0x00000000 , 0x00000007 
+ 00028804  0x000074b4 arg  0x00000000 , 0x00000012 
+ 00028805  0x000074b5 arg  0x0000052a , 0x00000005 
+ 00028806  0x000074b7 ifetch  0x00000002 , 0x0000000b 
+ 00028807  0x000074b8 rtn  0x00000034 
+ 00028808  0x000074b9 call  0x0000708d 
+ 00028809  0x000074ba copy  0x00000007 , 0x0000003f 
+ 00028810  0x000074bb rtneq  0x00000007 
+ 00028811  0x000074bc increase  0x00000002 , 0x0000000b 
+ 00028812  0x000074bd branch  0x00007086 
+ 00028813  0x000074c1 iforce  0x00000013 
+ 00028814  0x000074c3 fetch  0x00000002 , 0x00004575 
+ 00028815  0x000074c4 iforce  0x00000006 
+ 00028816  0x000074c6 copy  0x00000007 , 0x0000003f 
+ 00028817  0x000074c7 rtneq  0x00000007 
+ 00028818  0x000074c8 disable  0x00000028 
+ 00028819  0x000074c9 ifetch  0x00000001 , 0x00000006 
+ 00028820  0x000074ca rtn  0x00000034 
+ 00028821  0x000074cb iforce  0x00000039 
+ 00028822  0x000074cd ifetch  0x00000002 , 0x00000006 
+ 00028823  0x000074ce isub  0x00000013 , 0x0000003e 
+ 00028824  0x000074cf nbranch  0x0000709a , 0x00000005 
+ 00028825  0x000074d0 enable  0x00000028 
+ 00028826  0x000074d2 loop  0x00007096 
+ 00028827  0x000074d3 ifetcht  0x00000004 , 0x00000006 
+ 00028828  0x000074d4 copy  0x00000006 , 0x00000011 
+ 00028829  0x000074d5 nbranch  0x000070ad , 0x00000028 
+ 00028830  0x000074d6 arg  0x0000052a , 0x00000006 
+ 00028831  0x000074d7 arg  0x00000007 , 0x00000039 
+ 00028832  0x000074d9 ifetch  0x00000004 , 0x00000006 
+ 00028833  0x000074da branch  0x000070a6 , 0x00000034 
+ 00028834  0x000074db isub  0x00000002 , 0x0000003e 
+ 00028835  0x000074dc branch  0x000070ad , 0x00000005 
+ 00028836  0x000074dd loop  0x000070a0 
+ 00028837  0x000074de rtn 
+ 00028838  0x000074e0 istoret  0x00000004 , 0x00000005 
+ 00028839  0x000074e1 increase  0x00000001 , 0x00000007 
+ 00028840  0x000074e2 copy  0x00000011 , 0x00000006 
+ 00028841  0x000074e3 call  0x0000705b 
+ 00028842  0x000074e4 iadd  0x00000012 , 0x00000012 
+ 00028843  0x000074e5 iadd  0x00000006 , 0x00000006 
+ 00028844  0x000074e6 branch  0x00007090 
+ 00028845  0x000074e8 copy  0x00000011 , 0x00000006 
+ 00028846  0x000074e9 call  0x00007062 
+ 00028847  0x000074ea iadd  0x00000006 , 0x00000006 
+ 00028848  0x000074eb branch  0x00007090 
+ 00028849  0x000074f2 bpatchx  0x000000d6 , 0x0000403a 
+ 00028850  0x000074f3 fetch  0x00000002 , 0x00004575 
+ 00028851  0x000074f4 iforce  0x00000006 
+ 00028852  0x000074f6 ifetch  0x00000001 , 0x00000006 
+ 00028853  0x000074f7 branch  0x00007fe3 , 0x00000034 
+ 00028854  0x000074f8 lshift  0x0000003f , 0x0000003f 
+ 00028855  0x000074f9 iadd  0x00000006 , 0x00000006 
+ 00028856  0x000074fa ifetch  0x00000004 , 0x00000006 
+ 00028857  0x000074fb isub  0x00000002 , 0x0000003e 
+ 00028858  0x000074fc rtn  0x00000005 
+ 00028859  0x000074fd deposit  0x00000005 
+ 00028860  0x000074fe store  0x00000002 , 0x00000abb 
+ 00028861  0x000074ff storet  0x00000008 , 0x00000aa2 
+ 00028862  0x00007500 call  0x00007062 
+ 00028863  0x00007501 iadd  0x00000006 , 0x00000006 
+ 00028864  0x00007502 copy  0x00000006 , 0x0000003f 
+ 00028865  0x00007503 fetcht  0x00000002 , 0x00000abb 
+ 00028866  0x00007504 copy  0x00000002 , 0x00000005 
+ 00028867  0x00007505 fetcht  0x00000008 , 0x00000aa2 
+ 00028868  0x00007506 copy  0x0000003f , 0x00000006 
+ 00028869  0x00007507 branch  0x000070b4 
+ 00028870  0x0000750e bpatchx  0x000000d7 , 0x0000403a 
+ 00028871  0x0000750f fetch  0x00000002 , 0x00004575 
+ 00028872  0x00007510 iforce  0x00000006 
+ 00028873  0x00007512 ifetch  0x00000001 , 0x00000006 
+ 00028874  0x00007513 branch  0x000070e4 , 0x00000034 
+ 00028875  0x00007514 iforce  0x00000039 
+ 00028876  0x00007516 ifetch  0x00000002 , 0x00000006 
+ 00028877  0x00007517 isub  0x00000013 , 0x0000003e 
+ 00028878  0x00007518 branch  0x000070d4 , 0x00000005 
+ 00028879  0x00007519 loop  0x000070cc 
+ 00028880  0x0000751a increase  0x00000004 , 0x00000006 
+ 00028881  0x0000751b call  0x00007062 
+ 00028882  0x0000751c iadd  0x00000006 , 0x00000006 
+ 00028883  0x0000751d branch  0x000070c9 
+ 00028884  0x0000751f increase  0xffffffff , 0x00000039 
+ 00028885  0x00007520 lshift  0x00000039 , 0x0000003f 
+ 00028886  0x00007521 iadd  0x00000006 , 0x00000006 
+ 00028887  0x00007522 increase  0x00000004 , 0x00000006 
+ 00028888  0x00007523 call  0x00007062 
+ 00028889  0x00007524 iadd  0x00000006 , 0x0000000b 
+ 00028890  0x00007526 increase  0x00000001 , 0x00000006 
+ 00028891  0x00007527 ifetch  0x00000002 , 0x00000006 
+ 00028892  0x00007528 isub  0x00000012 , 0x0000003e 
+ 00028893  0x0000752c branch  0x00007fef , 0x00000005 
+ 00028894  0x0000752d call  0x0000705b 
+ 00028895  0x0000752e iadd  0x00000006 , 0x00000006 
+ 00028896  0x0000752f deposit  0x0000000b 
+ 00028897  0x00007530 isub  0x00000006 , 0x0000003e 
+ 00028898  0x00007531 branch  0x000070e4 , 0x00000005 
+ 00028899  0x00007532 branch  0x000070da 
+ 00028900  0x00007534 force  0x00000000 , 0x00000006 
+ 00028901  0x00007535 force  0x00000000 , 0x0000003f 
+ 00028902  0x00007536 rtn 
+ 00028903  0x0000753d bpatchx  0x000000d8 , 0x0000403b 
+ 00028904  0x0000753e fetch  0x00000002 , 0x00004575 
+ 00028905  0x0000753f iforce  0x00000006 
+ 00028906  0x00007541 ifetch  0x00000001 , 0x00000006 
+ 00028907  0x00007542 branch  0x00007100 , 0x00000034 
+ 00028908  0x00007543 lshift  0x0000003f , 0x0000003f 
+ 00028909  0x00007544 iadd  0x00000006 , 0x00000006 
+ 00028910  0x00007545 ifetch  0x00000004 , 0x00000006 
+ 00028911  0x00007546 isub  0x00000002 , 0x0000003e 
+ 00028912  0x00007547 branch  0x000070f4 , 0x00000005 
+ 00028913  0x00007548 call  0x00007062 
+ 00028914  0x00007549 iadd  0x00000006 , 0x00000006 
+ 00028915  0x0000754a branch  0x000070ea 
+ 00028916  0x0000754c call  0x00007062 
+ 00028917  0x0000754d iadd  0x00000006 , 0x0000000b 
+ 00028918  0x0000754f increase  0x00000001 , 0x00000006 
+ 00028919  0x00007550 ifetch  0x00000002 , 0x00000006 
+ 00028920  0x00007551 isub  0x00000012 , 0x0000003e 
+ 00028921  0x00007552 rtn  0x00000005 
+ 00028922  0x00007553 call  0x0000705b 
+ 00028923  0x00007554 iadd  0x00000006 , 0x00000006 
+ 00028924  0x00007555 deposit  0x0000000b 
+ 00028925  0x00007556 isub  0x00000006 , 0x0000003e 
+ 00028926  0x00007557 branch  0x00007100 , 0x00000005 
+ 00028927  0x00007558 branch  0x000070f6 
+ 00028928  0x0000755a force  0x00000000 , 0x00000006 
+ 00028929  0x0000755b rtn 
+ 00028930  0x00007560 arg  0x00000400 , 0x00000012 
+ 00028931  0x00007561 call  0x000070f4 
+ 00028932  0x00007562 arg  0x00000300 , 0x00000012 
+ 00028933  0x00007563 call  0x0000710d 
+ 00028934  0x00007564 nrtn  0x00000028 
+ 00028935  0x00007565 sub  0x00000011 , 0x00000003 , 0x0000003e 
+ 00028936  0x00007566 branch  0x00007fe9 , 0x00000002 
+ 00028937  0x00007567 ifetch  0x00000001 , 0x00000006 
+ 00028938  0x00007568 bne  0x00000008 , 0x00007fe9 
+ 00028939  0x00007569 ifetch  0x00000001 , 0x00000006 
+ 00028940  0x0000756a rtn 
+ 00028941  0x00007570 bpatchx  0x000000d9 , 0x0000403b 
+ 00028942  0x00007571 call  0x00007062 
+ 00028943  0x00007572 copy  0x0000003f , 0x00000011 
+ 00028944  0x00007574 ifetch  0x00000001 , 0x00000006 
+ 00028945  0x00007575 and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028946  0x00007576 rshift3  0x0000003f , 0x0000003f 
+ 00028947  0x00007577 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00028948  0x00007578 branch  0x00007129 , 0x00000005 
+ 00028949  0x00007579 copy  0x00000039 , 0x0000003f 
+ 00028950  0x0000757a beq  0x00000005 , 0x00007120 
+ 00028951  0x0000757b beq  0x00000006 , 0x00007123 
+ 00028952  0x0000757c beq  0x00000007 , 0x00007126 
+ 00028953  0x0000757d increase  0xffffffff , 0x00000006 
+ 00028954  0x0000757e call  0x00007062 
+ 00028955  0x0000757f iadd  0x00000006 , 0x00000006 
+ 00028956  0x00007580 copy  0x00000011 , 0x0000003f 
+ 00028957  0x00007581 isub  0x00000002 , 0x00000011 
+ 00028958  0x00007582 branch  0x00007fe9 , 0x00000005 
+ 00028959  0x00007583 branch  0x00007110 
+ 00028960  0x00007586 increase  0xfffffffe , 0x00000011 
+ 00028961  0x00007587 increase  0x00000001 , 0x00000006 
+ 00028962  0x00007588 branch  0x00007110 
+ 00028963  0x0000758a increase  0xfffffffd , 0x00000011 
+ 00028964  0x0000758b increase  0x00000002 , 0x00000006 
+ 00028965  0x0000758c branch  0x00007110 
+ 00028966  0x0000758e increase  0xfffffffb , 0x00000011 
+ 00028967  0x0000758f increase  0x00000004 , 0x00000006 
+ 00028968  0x00007590 branch  0x00007110 
+ 00028969  0x00007593 increase  0xffffffff , 0x00000011 
+ 00028970  0x00007594 copy  0x00000039 , 0x0000003f 
+ 00028971  0x00007595 beq  0x00000001 , 0x00007132 
+ 00028972  0x00007596 beq  0x00000002 , 0x00007130 
+ 00028973  0x00007597 beq  0x00000004 , 0x0000712f 
+ 00028974  0x00007598 branch  0x00007fe9 
+ 00028975  0x0000759a increase  0xfffffff4 , 0x00000011 
+ 00028976  0x0000759c ifetch  0x00000002 , 0x00000006 
+ 00028977  0x0000759d increase  0xfffffffe , 0x00000011 
+ 00028978  0x0000759f ifetch  0x00000002 , 0x00000006 
+ 00028979  0x000075a0 isub  0x00000012 , 0x0000003e 
+ 00028980  0x000075a1 branch  0x00007fe7 , 0x00000005 
+ 00028981  0x000075a2 increase  0xfffffffe , 0x00000011 
+ 00028982  0x000075a3 branch  0x00007fe9 , 0x00000005 
+ 00028983  0x000075a4 branch  0x00007110 
+ 00028984  0x000075e0 call  0x000052d0 
+ 00028985  0x000075e1 copy  0x0000003f , 0x00000005 
+ 00028986  0x000075e2 setarg  0x00000006 
+ 00028987  0x000075e3 istore  0x00000001 , 0x00000005 
+ 00028988  0x000075e4 setarg  0x0000006e 
+ 00028989  0x000075e5 istore  0x00000002 , 0x00000005 
+ 00028990  0x000075e6 setarg  0x00000f00 
+ 00028991  0x000075e7 istore  0x00000002 , 0x00000005 
+ 00028992  0x000075e8 setarg  0x001a0535 
+ 00028993  0x000075e9 istore  0x00000003 , 0x00000005 
+ 00028994  0x000075ea setarg  0x00000111 
+ 00028995  0x000075eb lshift16  0x0000003f , 0x0000003f 
+ 00028996  0x000075ec istore  0x00000004 , 0x00000005 
+ 00028997  0x000075ed setarg  0x00002600 
+ 00028998  0x000075ee istore  0x00000002 , 0x00000005 
+ 00028999  0x000075ef setarg  0x00000335 
+ 00029000  0x000075f0 istore  0x00000002 , 0x00000005 
+ 00029001  0x000075f1 setarg  0x00000009 
+ 00029002  0x000075f2 istore  0x00000002 , 0x00000005 
+ 00029003  0x000075f3 setarg  0x00000004 
+ 00029004  0x000075f4 istore  0x00000002 , 0x00000005 
+ 00029005  0x000075f5 jam  0x00000014 , 0x00000275 
+ 00029006  0x000075f6 rtn 
+ 00029007  0x000075fb bpatchx  0x000000da , 0x0000403b 
+ 00029008  0x000075fc jam  0x00000050 , 0x000005e5 
+ 00029009  0x000075fd arg  0x000005e6 , 0x00000005 
+ 00029010  0x000075fe arg  0x0000443a , 0x00000006 
+ 00029011  0x000075ff call  0x00007ebf 
+ 00029012  0x00007600 arg  0x000045d2 , 0x00000006 
+ 00029013  0x00007601 call  0x00007ebd 
+ 00029014  0x00007602 arg  0x000009be , 0x00000006 
+ 00029015  0x00007603 call  0x00007ebd 
+ 00029016  0x00007604 call  0x0000720a 
+ 00029017  0x00007605 arg  0x0000042f , 0x00000006 
+ 00029018  0x00007606 call  0x00007205 
+ 00029019  0x00007607 call  0x000071d0 
+ 00029020  0x00007609 arg  0x00000af2 , 0x00000005 
+ 00029021  0x0000760a call  0x00007201 
+ 00029022  0x0000760b setarg  0x000f4240 
+ 00029023  0x0000760c copy  0x0000003f , 0x00000011 
+ 00029024  0x0000760d fetch  0x00000004 , 0x00000af2 
+ 00029025  0x0000760e idiv  0x00000011 
+ 00029026  0x0000760f call  0x00007f86 
+ 00029027  0x00007610 remainder  0x0000003f 
+ 00029028  0x00007611 store  0x00000004 , 0x000009ba 
+ 00029029  0x00007613 rtn 
+ 00029030  0x00007616 jam  0x00000041 , 0x000005e5 
+ 00029031  0x00007617 arg  0x000005e6 , 0x00000005 
+ 00029032  0x00007618 call  0x000071b5 
+ 00029033  0x00007619 call  0x000071b0 
+ 00029034  0x0000761a fetch  0x00000003 , 0x00004454 
+ 00029035  0x0000761b istore  0x00000003 , 0x00000005 
+ 00029036  0x0000761e call  0x00007176 
+ 00029037  0x00007620 arg  0x0000042f , 0x00000006 
+ 00029038  0x00007621 call  0x00007ebf 
+ 00029039  0x00007622 arg  0x0000443a , 0x00000006 
+ 00029040  0x00007623 call  0x00007ebf 
+ 00029041  0x00007624 call  0x0000720a 
+ 00029042  0x00007625 arg  0x00000b12 , 0x00000006 
+ 00029043  0x00007626 arg  0x00000ac2 , 0x00000005 
+ 00029044  0x00007627 call  0x00007ebf 
+ 00029045  0x00007629 branch  0x000071d0 
+ 00029046  0x0000762e fetch  0x00000004 , 0x000044c7 
+ 00029047  0x0000762f istore  0x00000004 , 0x00000005 
+ 00029048  0x00007630 call  0x00007ecd 
+ 00029049  0x00007631 branch  0x00007eca 
+ 00029050  0x00007634 bpatchx  0x000000db , 0x0000403b 
+ 00029051  0x00007635 jam  0x00000041 , 0x000005e5 
+ 00029052  0x00007636 arg  0x000005e6 , 0x00000005 
+ 00029053  0x00007637 call  0x000071b0 
+ 00029054  0x00007638 call  0x000071b5 
+ 00029055  0x00007639 fetch  0x00000003 , 0x0000444d 
+ 00029056  0x0000763a istore  0x00000003 , 0x00000005 
+ 00029057  0x0000763d call  0x00007176 
+ 00029058  0x0000763e arg  0x0000443a , 0x00000006 
+ 00029059  0x0000763f call  0x00007ebf 
+ 00029060  0x00007640 arg  0x0000042f , 0x00000006 
+ 00029061  0x00007641 call  0x00007ebf 
+ 00029062  0x00007642 call  0x0000720a 
+ 00029063  0x00007643 arg  0x00000b12 , 0x00000006 
+ 00029064  0x00007644 arg  0x00000ac2 , 0x00000005 
+ 00029065  0x00007645 call  0x00007ebf 
+ 00029066  0x00007647 call  0x000071d0 
+ 00029067  0x00007648 arg  0x00000af2 , 0x00000005 
+ 00029068  0x00007649 branch  0x00007201 
+ 00029069  0x0000764c jam  0x00000020 , 0x000005e5 
+ 00029070  0x0000764d arg  0x000009fe , 0x00000006 
+ 00029071  0x0000764e arg  0x000005e6 , 0x00000005 
+ 00029072  0x0000764f call  0x00007ebd 
+ 00029073  0x00007650 call  0x0000720a 
+ 00029074  0x00007651 arg  0x0000099e , 0x00000006 
+ 00029075  0x00007652 call  0x00007205 
+ 00029076  0x00007653 call  0x000071d0 
+ 00029077  0x00007654 arg  0x00000ac2 , 0x00000005 
+ 00029078  0x00007655 call  0x00007497 
+ 00029079  0x00007656 arg  0x00000001 , 0x00000002 
+ 00029080  0x00007657 call  0x0000719f 
+ 00029081  0x00007658 arg  0x00004419 , 0x00000005 
+ 00029082  0x00007659 call  0x00007201 
+ 00029083  0x0000765a arg  0x00000000 , 0x00000002 
+ 00029084  0x0000765b call  0x0000719f 
+ 00029085  0x0000765c arg  0x00000b12 , 0x00000005 
+ 00029086  0x0000765e branch  0x00007497 
+ 00029087  0x00007662 bpatchx  0x000000dc , 0x0000403b 
+ 00029088  0x00007663 jam  0x00000035 , 0x000005e5 
+ 00029089  0x00007664 setarg  0x00000100 
+ 00029090  0x00007665 store  0x00000002 , 0x000005e6 
+ 00029091  0x00007666 call  0x000071b0 
+ 00029092  0x00007667 call  0x000071b5 
+ 00029093  0x00007668 arg  0x0000443a , 0x00000006 
+ 00029094  0x00007669 call  0x00007ebf 
+ 00029095  0x0000766a arg  0x0000042f , 0x00000006 
+ 00029096  0x0000766b call  0x00007ebf 
+ 00029097  0x0000766d setarg  0x00006c65 
+ 00029098  0x0000766e istore  0x00000002 , 0x00000005 
+ 00029099  0x0000766f setarg  0x00006274 
+ 00029100  0x00007670 istore  0x00000002 , 0x00000005 
+ 00029101  0x00007671 istoret  0x00000001 , 0x00000005 
+ 00029102  0x00007672 call  0x0000720a 
+ 00029103  0x00007673 branch  0x000071d0 
+ 00029104  0x00007676 fetch  0x00000006 , 0x000044a0 
+ 00029105  0x00007677 istore  0x00000006 , 0x00000005 
+ 00029106  0x00007678 fetch  0x00000001 , 0x00004495 
+ 00029107  0x00007679 istore  0x00000001 , 0x00000005 
+ 00029108  0x0000767a rtn 
+ 00029109  0x0000767d fetch  0x00000006 , 0x0000044f 
+ 00029110  0x0000767e istore  0x00000006 , 0x00000005 
+ 00029111  0x00007683 fetch  0x00000001 , 0x0000448e 
+ 00029112  0x00007684 istore  0x00000001 , 0x00000005 
+ 00029113  0x00007685 rtn 
+ 00029114  0x00007688 jam  0x00000041 , 0x000005e5 
+ 00029115  0x00007689 fetch  0x00000001 , 0x00004664 
+ 00029116  0x0000768a store  0x00000001 , 0x000005e6 
+ 00029117  0x0000768b arg  0x000045d2 , 0x00000006 
+ 00029118  0x0000768c call  0x00007ebd 
+ 00029119  0x0000768d arg  0x000009be , 0x00000006 
+ 00029120  0x0000768e call  0x00007ebd 
+ 00029121  0x0000768f call  0x0000720a 
+ 00029122  0x00007690 arg  0x0000042f , 0x00000006 
+ 00029123  0x00007691 call  0x00007205 
+ 00029124  0x00007692 branch  0x000071d0 
+ 00029125  0x00007696 jam  0x00000041 , 0x000005e5 
+ 00029126  0x00007697 fetch  0x00000001 , 0x00004664 
+ 00029127  0x00007698 store  0x00000001 , 0x000005e6 
+ 00029128  0x00007699 arg  0x000009be , 0x00000006 
+ 00029129  0x0000769a call  0x00007ebd 
+ 00029130  0x0000769b arg  0x000045d2 , 0x00000006 
+ 00029131  0x0000769c call  0x00007ebd 
+ 00029132  0x0000769d call  0x0000720a 
+ 00029133  0x0000769e arg  0x0000443a , 0x00000006 
+ 00029134  0x0000769f call  0x00007205 
+ 00029135  0x000076a0 branch  0x000071d0 
+ 00029136  0x000076a3 bpatchx  0x000000dd , 0x0000403b 
+ 00029137  0x000076a4 call  0x0000721f 
+ 00029138  0x000076a8 fetch  0x00000001 , 0x000005e5 
+ 00029139  0x000076a9 copy  0x0000003f , 0x00000002 
+ 00029140  0x000076ab increase  0x0000000f , 0x0000003f 
+ 00029141  0x000076ac rshift4  0x0000003f , 0x0000003f 
+ 00029142  0x000076ad copy  0x0000003f , 0x00000012 
+ 00029143  0x000076ae branch  0x000071e2 , 0x00000034 
+ 00029144  0x000076af and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029145  0x000076b0 nbranch  0x000071e5 , 0x00000034 
+ 00029146  0x000076b2 arg  0x00000ad2 , 0x00000013 
+ 00029147  0x000076b3 arg  0x000005e6 , 0x0000003f 
+ 00029148  0x000076b4 increase  0xfffffff0 , 0x0000003f 
+ 00029149  0x000076b7 iadd  0x00000002 , 0x00000011 
+ 00029150  0x000076b8 arg  0x00000b02 , 0x00000005 
+ 00029151  0x000076b9 arg  0x00000004 , 0x00000039 
+ 00029152  0x000076ba call  0x00007edd 
+ 00029153  0x000076be branch  0x000071f0 
+ 00029154  0x000076c1 arg  0x00000001 , 0x00000012 
+ 00029155  0x000076c2 arg  0x00000000 , 0x00000011 
+ 00029156  0x000076c4 branch  0x000071e6 
+ 00029157  0x000076c9 and  0x00000002 , 0x0000000f , 0x00000011 
+ 00029158  0x000076cb arg  0x000005e6 , 0x0000003f 
+ 00029159  0x000076cc iadd  0x00000002 , 0x0000003f 
+ 00029160  0x000076cd isub  0x00000011 , 0x00000006 
+ 00029161  0x000076cf arg  0x00000af2 , 0x00000005 
+ 00029162  0x000076d0 call  0x00007245 
+ 00029163  0x000076d2 arg  0x00000ae2 , 0x00000013 
+ 00029164  0x000076d3 arg  0x00000af2 , 0x00000011 
+ 00029165  0x000076d4 arg  0x00000b02 , 0x00000005 
+ 00029166  0x000076d5 arg  0x00000004 , 0x00000039 
+ 00029167  0x000076d6 call  0x00007edd 
+ 00029168  0x000076e2 call  0x00007491 
+ 00029169  0x000076e3 call  0x00007428 
+ 00029170  0x000076e6 arg  0x000005e6 , 0x00000006 
+ 00029171  0x000076e9 increase  0xffffffff , 0x00000012 
+ 00029172  0x000076ea deposit  0x00000012 
+ 00029173  0x000076eb branch  0x000071f9 , 0x00000034 
+ 00029174  0x000076ec call  0x00007486 
+ 00029175  0x000076ed call  0x00007422 
+ 00029176  0x000076ee branch  0x000071f3 
+ 00029177  0x000076f1 arg  0x00000af2 , 0x00000005 
+ 00029178  0x000076f2 call  0x00007497 
+ 00029179  0x000076f3 arg  0x00000b02 , 0x00000006 
+ 00029180  0x000076f4 call  0x00007486 
+ 00029181  0x000076f5 call  0x00007428 
+ 00029182  0x000076f6 arg  0x00000af2 , 0x00000006 
+ 00029183  0x000076f7 call  0x00007486 
+ 00029184  0x000076f8 branch  0x00007422 
+ 00029185  0x000076fe copy  0x00000005 , 0x00000011 
+ 00029186  0x000076ff call  0x00007497 
+ 00029187  0x00007701 arg  0x00000010 , 0x00000039 
+ 00029188  0x00007702 branch  0x00007ee5 
+ 00029189  0x00007705 arg  0x00000ac2 , 0x00000005 
+ 00029190  0x00007706 call  0x00007ebf 
+ 00029191  0x00007708 arg  0x00000010 , 0x00000039 
+ 00029192  0x00007709 arg  0x00000ac2 , 0x00000011 
+ 00029193  0x0000770a branch  0x00007ee5 
+ 00029194  0x0000770d fetch  0x00000001 , 0x000005e5 
+ 00029195  0x0000770e copy  0x0000003f , 0x00000039 
+ 00029196  0x0000770f arg  0x000005e6 , 0x00000011 
+ 00029197  0x00007710 branch  0x00007ee5 
+ 00029198  0x00007713 ifetch  0x00000001 , 0x00000011 
+ 00029199  0x00007714 lshift  0x0000003f , 0x0000003f 
+ 00029200  0x00007715 isolate1  0x00000000 , 0x00000013 
+ 00029201  0x00007716 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00029202  0x00007717 isolate1  0x00000008 , 0x0000003f 
+ 00029203  0x00007718 setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00029204  0x00007719 istore  0x00000001 , 0x00000011 
+ 00029205  0x0000771a increase  0xffffffff , 0x00000011 
+ 00029206  0x0000771b loop  0x0000720e 
+ 00029207  0x0000771c rtn 
+ 00029208  0x0000771f arg  0x00000ad2 , 0x00000011 
+ 00029209  0x00007721 increase  0x0000000f , 0x00000011 
+ 00029210  0x00007722 force  0x00000010 , 0x00000039 
+ 00029211  0x00007723 force  0x00000000 , 0x00000013 
+ 00029212  0x00007724 branch  0x0000720e 
+ 00029213  0x00007727 arg  0x00000ae2 , 0x00000011 
+ 00029214  0x00007728 branch  0x00007219 
+ 00029215  0x0000772c arg  0x00000ac2 , 0x00000006 
+ 00029216  0x0000772d call  0x00007484 
+ 00029217  0x00007730 force  0x00000008 , 0x00000038 
+ 00029218  0x00007731 call  0x00007492 
+ 00029219  0x00007732 call  0x00007491 
+ 00029220  0x00007733 call  0x0000741f 
+ 00029221  0x00007738 arg  0x00000ad2 , 0x00000005 
+ 00029222  0x00007739 call  0x00007497 
+ 00029223  0x0000773b bpatchx  0x000000de , 0x0000403b 
+ 00029224  0x0000773c fetch  0x00000001 , 0x00000ad2 
+ 00029225  0x0000773d isolate1  0x00000007 , 0x0000003f 
+ 00029226  0x0000773e nbranch  0x00007230 , 0x00000001 
+ 00029227  0x0000773f call  0x00007218 
+ 00029228  0x00007742 arg  0x00000ad2 , 0x00000013 
+ 00029229  0x00007744 arg  0x00000ad2 , 0x00000005 
+ 00029230  0x00007747 call  0x0000723a 
+ 00029231  0x00007748 branch  0x00007231 
+ 00029232  0x0000774a call  0x00007218 
+ 00029233  0x0000774d arg  0x00000ad2 , 0x00000006 
+ 00029234  0x0000774e arg  0x00000ae2 , 0x00000005 
+ 00029235  0x0000774f call  0x00007ebf 
+ 00029236  0x00007750 fetch  0x00000001 , 0x00000ae2 
+ 00029237  0x00007751 isolate1  0x00000007 , 0x0000003f 
+ 00029238  0x00007752 nbranch  0x0000721d , 0x00000001 
+ 00029239  0x00007753 call  0x0000721d 
+ 00029240  0x00007755 arg  0x00000ae2 , 0x00000013 
+ 00029241  0x00007757 arg  0x00000ae2 , 0x00000005 
+ 00029242  0x0000775e arg  0x00000003 , 0x00000039 
+ 00029243  0x00007760 arg  0x00000000 , 0x00000002 
+ 00029244  0x00007761 call  0x00007241 
+ 00029245  0x00007762 increase  0x00000004 , 0x00000013 
+ 00029246  0x00007763 loop  0x0000723b 
+ 00029247  0x00007764 arg  0x00008700 , 0x00000002 
+ 00029248  0x00007765 lshift16  0x00000002 , 0x00000002 
+ 00029249  0x00007767 ifetch  0x00000004 , 0x00000013 
+ 00029250  0x00007768 ixor  0x00000002 , 0x0000003f 
+ 00029251  0x00007769 istore  0x00000004 , 0x00000005 
+ 00029252  0x0000776a rtn 
+ 00029253  0x00007771 bpatchx  0x000000df , 0x0000403b 
+ 00029254  0x00007772 arg  0x00000010 , 0x00000039 
+ 00029255  0x00007773 arg  0x00000000 , 0x0000003f 
+ 00029256  0x00007775 isub  0x00000011 , 0x0000003e 
+ 00029257  0x00007776 branch  0x00007250 , 0x00000005 
+ 00029258  0x00007777 branch  0x00007253 , 0x00000002 
+ 00029259  0x00007778 ifetcht  0x00000001 , 0x00000006 
+ 00029260  0x00007779 istoret  0x00000001 , 0x00000005 
+ 00029261  0x0000777b increase  0x00000001 , 0x0000003f 
+ 00029262  0x0000777c loop  0x00007248 
+ 00029263  0x0000777d rtn 
+ 00029264  0x0000777f arg  0x00000080 , 0x00000002 
+ 00029265  0x00007781 istoret  0x00000001 , 0x00000005 
+ 00029266  0x00007782 branch  0x0000724d 
+ 00029267  0x00007785 arg  0x00000000 , 0x00000002 
+ 00029268  0x00007786 branch  0x00007251 
+ 00029269  0x0000778a call  0x00007268 
+ 00029270  0x0000778b arg  0x00000592 , 0x00000006 
+ 00029271  0x0000778c arg  0x00000582 , 0x00000005 
+ 00029272  0x0000778d branch  0x00007ebf 
+ 00029273  0x00007791 disable  0x00000028 
+ 00029274  0x00007792 call  0x0000735f 
+ 00029275  0x00007793 arg  0x00000562 , 0x00000006 
+ 00029276  0x00007794 arg  0x000005a2 , 0x00000005 
+ 00029277  0x00007795 force  0x0000000f , 0x00000039 
+ 00029278  0x00007796 call  0x00007f01 
+ 00029279  0x00007797 ifetch  0x00000001 , 0x00000006 
+ 00029280  0x00007798 xor_into  0x00000006 , 0x0000003f 
+ 00029281  0x00007799 istore  0x00000001 , 0x00000005 
+ 00029282  0x0000779a setarg  0x000005b2 
+ 00029283  0x0000779b store  0x00000002 , 0x000005d6 
+ 00029284  0x0000779c setarg  0x000005a2 
+ 00029285  0x0000779d store  0x00000002 , 0x000005d4 
+ 00029286  0x0000779e set1  0x00000012 , 0x00000000 
+ 00029287  0x0000779f branch  0x000072a8 
+ 00029288  0x000077a4 fetcht  0x00000001 , 0x00004689 
+ 00029289  0x000077a5 force  0x00000010 , 0x00000012 
+ 00029290  0x000077a6 add  0x00000002 , 0x00000006 , 0x00000013 
+ 00029291  0x000077a7 sub  0x00000013 , 0x00000010 , 0x0000003e 
+ 00029292  0x000077a8 branch  0x0000726e , 0x00000002 
+ 00029293  0x000077a9 force  0x00000010 , 0x00000013 
+ 00029294  0x000077ab arg  0x000005a2 , 0x00000005 
+ 00029295  0x000077ad arg  0x0000468a , 0x00000006 
+ 00029296  0x000077ae copy  0x00000002 , 0x00000039 
+ 00029297  0x000077af disable  0x00000028 
+ 00029298  0x000077b1 ifetch  0x00000001 , 0x00000006 
+ 00029299  0x000077b2 istore  0x00000001 , 0x00000005 
+ 00029300  0x000077b3 increase  0xffffffff , 0x00000012 
+ 00029301  0x000077b4 branch  0x0000727c , 0x00000005 
+ 00029302  0x000077b5 loop  0x00007272 
+ 00029303  0x000077b6 branch  0x0000726f , 0x00000028 
+ 00029304  0x000077b7 enable  0x00000028 
+ 00029305  0x000077b8 force  0x00000006 , 0x00000039 
+ 00029306  0x000077b9 copy  0x00000011 , 0x00000006 
+ 00029307  0x000077ba branch  0x00007272 
+ 00029308  0x000077bc arg  0x00000562 , 0x00000006 
+ 00029309  0x000077bd arg  0x000005b2 , 0x00000005 
+ 00029310  0x000077be call  0x00007ebf 
+ 00029311  0x000077bf fetch  0x00000001 , 0x000005c1 
+ 00029312  0x000077c0 ixor  0x00000013 , 0x0000003f 
+ 00029313  0x000077c1 store  0x00000001 , 0x000005c1 
+ 00029314  0x000077c2 setarg  0x000005b2 
+ 00029315  0x000077c3 store  0x00000002 , 0x000005d6 
+ 00029316  0x000077c4 setarg  0x000005a2 
+ 00029317  0x000077c5 store  0x00000002 , 0x000005d4 
+ 00029318  0x000077c6 set1  0x00000012 , 0x00000000 
+ 00029319  0x000077c7 branch  0x000072a8 
+ 00029320  0x000077cd disable  0x00000028 
+ 00029321  0x000077ce call  0x0000735f 
+ 00029322  0x000077cf branch  0x00007292 
+ 00029323  0x000077d2 arg  0x00000056 , 0x00000011 
+ 00029324  0x000077d3 enable  0x00000028 
+ 00029325  0x000077d4 call  0x0000735f 
+ 00029326  0x000077d5 call  0x00007292 
+ 00029327  0x000077d6 arg  0x00000592 , 0x00000006 
+ 00029328  0x000077d7 arg  0x00000062 , 0x00000005 
+ 00029329  0x000077d8 branch  0x00007ebf 
+ 00029330  0x000077dc setarg  0x00000562 
+ 00029331  0x000077dd store  0x00000002 , 0x000005d6 
+ 00029332  0x000077de setarg  0x000041be 
+ 00029333  0x000077df store  0x00000002 , 0x000005d4 
+ 00029334  0x000077e0 set0  0x00000012 , 0x00000000 
+ 00029335  0x000077e1 call  0x000072a8 
+ 00029336  0x000077e2 arg  0x00000592 , 0x00000011 
+ 00029337  0x000077e3 arg  0x00000562 , 0x00000012 
+ 00029338  0x000077e4 arg  0x000005a2 , 0x00000005 
+ 00029339  0x000077e5 call  0x00007352 
+ 00029340  0x000077e6 arg  0x000005a2 , 0x00000011 
+ 00029341  0x000077e7 arg  0x000005b2 , 0x00000012 
+ 00029342  0x000077e8 copy  0x00000012 , 0x00000005 
+ 00029343  0x000077e9 enable  0x00000028 
+ 00029344  0x000077ea call  0x00007350 
+ 00029345  0x000077eb call  0x0000736a 
+ 00029346  0x000077ec setarg  0x000005b2 
+ 00029347  0x000077ed store  0x00000002 , 0x000005d6 
+ 00029348  0x000077ee setarg  0x000005a2 
+ 00029349  0x000077ef store  0x00000002 , 0x000005d4 
+ 00029350  0x000077f0 set1  0x00000012 , 0x00000000 
+ 00029351  0x000077f1 branch  0x000072a8 
+ 00029352  0x000077f6 jam  0x00000000 , 0x000005d8 
+ 00029353  0x000077f7 fetch  0x00000002 , 0x000005d4 
+ 00029354  0x000077f8 iforce  0x00000006 
+ 00029355  0x000077f9 arg  0x000005c2 , 0x00000005 
+ 00029356  0x000077fa call  0x00007ebf 
+ 00029357  0x000077fb fetch  0x00000002 , 0x000005d6 
+ 00029358  0x000077fc iforce  0x00000006 
+ 00029359  0x000077fd arg  0x00000592 , 0x00000005 
+ 00029360  0x000077fe call  0x00007ebf 
+ 00029361  0x00007801 call  0x000072cf 
+ 00029362  0x00007802 disable  0x00000028 
+ 00029363  0x00007803 bmark0  0x00000012 , 0x000072b9 
+ 00029364  0x00007804 fetch  0x00000001 , 0x000005d8 
+ 00029365  0x00007805 bne  0x00000004 , 0x000072b9 
+ 00029366  0x00007806 fetch  0x00000002 , 0x000005d6 
+ 00029367  0x00007807 iforce  0x00000012 
+ 00029368  0x00007808 call  0x00007301 
+ 00029369  0x0000780a call  0x00007300 
+ 00029370  0x0000780b call  0x00007313 
+ 00029371  0x0000780c fetch  0x00000001 , 0x000005d8 
+ 00029372  0x0000780d increase  0x00000001 , 0x0000003f 
+ 00029373  0x0000780e store  0x00000001 , 0x000005d8 
+ 00029374  0x00007810 call  0x000072cf 
+ 00029375  0x00007811 enable  0x00000028 
+ 00029376  0x00007812 call  0x00007300 
+ 00029377  0x00007813 call  0x00007322 
+ 00029378  0x00007814 call  0x00007331 
+ 00029379  0x00007815 call  0x00007322 
+ 00029380  0x00007816 call  0x00007331 
+ 00029381  0x00007817 call  0x00007322 
+ 00029382  0x00007818 call  0x00007331 
+ 00029383  0x00007819 call  0x00007322 
+ 00029384  0x0000781a fetch  0x00000001 , 0x000005d8 
+ 00029385  0x0000781b increase  0x00000001 , 0x0000003f 
+ 00029386  0x0000781c store  0x00000001 , 0x000005d8 
+ 00029387  0x0000781d bne  0x00000010 , 0x000072b1 
+ 00029388  0x0000781e call  0x000072cf 
+ 00029389  0x0000781f disable  0x00000028 
+ 00029390  0x00007820 branch  0x00007300 
+ 00029391  0x00007825 fetch  0x00000001 , 0x000005d8 
+ 00029392  0x00007826 arg  0x000005c2 , 0x00000006 
+ 00029393  0x00007827 branch  0x000072f6 , 0x00000034 
+ 00029394  0x00007828 iforce  0x00000012 
+ 00029395  0x00007829 force  0x00000011 , 0x00000039 
+ 00029396  0x0000782a copy  0x00000006 , 0x00000005 
+ 00029397  0x0000782c ifetch  0x00000001 , 0x00000006 
+ 00029398  0x0000782d lshift3  0x0000003f , 0x00000002 
+ 00029399  0x0000782e rshift2  0x0000003f , 0x0000003f 
+ 00029400  0x0000782f rshift3  0x0000003f , 0x0000003f 
+ 00029401  0x00007830 ior  0x00000002 , 0x0000003f 
+ 00029402  0x00007831 istore  0x00000001 , 0x00000005 
+ 00029403  0x00007832 loop  0x000072d5 
+ 00029404  0x00007833 setarg  0x000005c2 
+ 00029405  0x00007834 iadd  0x00000012 , 0x00000006 
+ 00029406  0x00007835 force  0x00000010 , 0x00000039 
+ 00029407  0x00007836 arg  0x00000572 , 0x00000005 
+ 00029408  0x00007838 ifetch  0x00000001 , 0x00000006 
+ 00029409  0x00007839 istore  0x00000001 , 0x00000005 
+ 00029410  0x0000783a compare  0x000005d3 , 0x00000006 , 0x000000ff 
+ 00029411  0x0000783b nbranch  0x000072e5 , 0x00000001 
+ 00029412  0x0000783c increase  0xffffffef , 0x00000006 
+ 00029413  0x0000783e loop  0x000072e0 
+ 00029414  0x0000783f force  0x00000000 , 0x00000011 
+ 00029415  0x00007840 add  0x00000012 , 0xffffffff , 0x00000013 
+ 00029416  0x00007841 lshift2  0x00000013 , 0x00000013 
+ 00029417  0x00007842 lshift2  0x00000013 , 0x00000013 
+ 00029418  0x00007843 call  0x000074b9 
+ 00029419  0x00007844 setarg  0x00008400 
+ 00029420  0x00007845 iadd  0x00000013 , 0x00000013 
+ 00029421  0x00007846 arg  0x00000572 , 0x00000005 
+ 00029422  0x00007847 force  0x00000010 , 0x00000039 
+ 00029423  0x00007849 ifetcht  0x00000001 , 0x00000013 
+ 00029424  0x0000784a ifetch  0x00000001 , 0x00000005 
+ 00029425  0x0000784b iadd  0x00000002 , 0x0000003f 
+ 00029426  0x0000784c istore  0x00000001 , 0x00000005 
+ 00029427  0x0000784d increase  0x00000001 , 0x00000013 
+ 00029428  0x0000784e loop  0x000072ef 
+ 00029429  0x0000784f branch  0x000074bd 
+ 00029430  0x00007852 force  0x00000010 , 0x00000039 
+ 00029431  0x00007853 force  0x00000000 , 0x00000002 
+ 00029432  0x00007855 ifetch  0x00000001 , 0x00000006 
+ 00029433  0x00007856 ixor  0x00000002 , 0x00000002 
+ 00029434  0x00007857 loop  0x000072f8 
+ 00029435  0x00007858 deposit  0x00000002 
+ 00029436  0x00007859 istore  0x00000001 , 0x00000006 
+ 00029437  0x0000785a arg  0x000005c2 , 0x00000006 
+ 00029438  0x0000785b arg  0x00000572 , 0x00000005 
+ 00029439  0x0000785c branch  0x00007ebf 
+ 00029440  0x0000785f arg  0x00000572 , 0x00000012 
+ 00029441  0x00007861 force  0x00000010 , 0x00000039 
+ 00029442  0x00007862 arg  0x00000592 , 0x00000011 
+ 00029443  0x00007863 copy  0x00000011 , 0x00000005 
+ 00029444  0x00007865 ifetcht  0x00000001 , 0x00000011 
+ 00029445  0x00007866 ifetch  0x00000001 , 0x00000012 
+ 00029446  0x00007867 ixor  0x00000002 , 0x00000030 
+ 00029447  0x00007868 and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029448  0x00007869 nbranch  0x0000730a , 0x00000028 
+ 00029449  0x0000786a xor_into  0x00000003 , 0x00000013 
+ 00029450  0x0000786c sub  0x00000013 , 0x00000001 , 0x00000013 
+ 00029451  0x0000786d branch  0x0000730d , 0x00000002 
+ 00029452  0x0000786e iadd  0x00000002 , 0x00000030 
+ 00029453  0x00007870 deposit  0x00000030 
+ 00029454  0x00007871 istore  0x00000001 , 0x00000005 
+ 00029455  0x00007872 increase  0x00000001 , 0x00000011 
+ 00029456  0x00007873 increase  0x00000001 , 0x00000012 
+ 00029457  0x00007874 loop  0x00007304 
+ 00029458  0x00007875 rtn 
+ 00029459  0x00007878 call  0x000074b9 
+ 00029460  0x00007879 force  0x00000010 , 0x00000039 
+ 00029461  0x0000787a arg  0x00000592 , 0x00000011 
+ 00029462  0x0000787c ifetch  0x00000001 , 0x00000011 
+ 00029463  0x0000787d arg  0x00008500 , 0x00000006 
+ 00029464  0x0000787e and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029465  0x0000787f sub  0x00000013 , 0x00000001 , 0x0000003e 
+ 00029466  0x00007880 branch  0x0000731c , 0x00000002 
+ 00029467  0x00007881 arg  0x00008600 , 0x00000006 
+ 00029468  0x00007883 iadd  0x00000006 , 0x00000006 
+ 00029469  0x00007884 ifetch  0x00000001 , 0x00000006 
+ 00029470  0x00007885 istore  0x00000001 , 0x00000011 
+ 00029471  0x00007886 increase  0x00000001 , 0x00000011 
+ 00029472  0x00007887 loop  0x00007316 
+ 00029473  0x00007888 branch  0x000074bd 
+ 00029474  0x0000788b force  0x00000008 , 0x00000039 
+ 00029475  0x0000788c arg  0x00000592 , 0x00000006 
+ 00029476  0x0000788d copy  0x00000006 , 0x00000005 
+ 00029477  0x0000788f ifetch  0x00000001 , 0x00000006 
+ 00029478  0x00007890 iforce  0x00000011 
+ 00029479  0x00007891 ifetch  0x00000001 , 0x00000006 
+ 00029480  0x00007892 iforce  0x00000012 
+ 00029481  0x00007893 lshift  0x00000011 , 0x0000003f 
+ 00029482  0x00007894 iadd  0x00000012 , 0x0000003f 
+ 00029483  0x00007895 istore  0x00000001 , 0x00000005 
+ 00029484  0x00007896 deposit  0x00000011 
+ 00029485  0x00007897 iadd  0x00000012 , 0x0000003f 
+ 00029486  0x00007898 istore  0x00000001 , 0x00000005 
+ 00029487  0x00007899 loop  0x00007325 
+ 00029488  0x0000789a rtn 
+ 00029489  0x0000789e setarg  0x008ae42c 
+ 00029490  0x0000789f iforce  0x00000002 
+ 00029491  0x000078a0 force  0x00000007 , 0x00000039 
+ 00029492  0x000078a1 call  0x00007340 
+ 00029493  0x000078a2 setarg  0x000d751b 
+ 00029494  0x000078a3 iforce  0x00000002 
+ 00029495  0x000078a4 force  0x00000005 , 0x00000039 
+ 00029496  0x000078a5 call  0x00007340 
+ 00029497  0x000078a6 fetch  0x00000001 , 0x000005a1 
+ 00029498  0x000078a7 iforce  0x00000011 
+ 00029499  0x000078a8 fetch  0x00000001 , 0x00000595 
+ 00029500  0x000078a9 store  0x00000001 , 0x000005a1 
+ 00029501  0x000078aa deposit  0x00000011 
+ 00029502  0x000078ab store  0x00000001 , 0x00000595 
+ 00029503  0x000078ac rtn 
+ 00029504  0x000078af and  0x00000002 , 0x0000000f , 0x00000012 
+ 00029505  0x000078b1 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029506  0x000078b2 arg  0x00000592 , 0x00000005 
+ 00029507  0x000078b3 iadd  0x00000005 , 0x00000005 
+ 00029508  0x000078b4 ifetch  0x00000001 , 0x00000005 
+ 00029509  0x000078b5 iforce  0x00000013 
+ 00029510  0x000078b6 deposit  0x00000011 
+ 00029511  0x000078b7 istore  0x00000001 , 0x00000005 
+ 00029512  0x000078b8 copy  0x00000013 , 0x00000011 
+ 00029513  0x000078b9 rshift4  0x00000002 , 0x00000002 
+ 00029514  0x000078ba loop  0x00007341 
+ 00029515  0x000078bb setarg  0x00000592 
+ 00029516  0x000078bc iadd  0x00000012 , 0x00000005 
+ 00029517  0x000078bd deposit  0x00000011 
+ 00029518  0x000078be istore  0x00000001 , 0x00000005 
+ 00029519  0x000078bf rtn 
+ 00029520  0x000078c2 enable  0x00000028 
+ 00029521  0x000078c3 branch  0x00007353 
+ 00029522  0x000078c6 disable  0x00000028 
+ 00029523  0x000078c8 force  0x00000010 , 0x00000039 
+ 00029524  0x000078ca ifetcht  0x00000001 , 0x00000011 
+ 00029525  0x000078cb ifetch  0x00000001 , 0x00000012 
+ 00029526  0x000078cc branch  0x00007359 , 0x00000028 
+ 00029527  0x000078cd ixor  0x00000002 , 0x0000003f 
+ 00029528  0x000078ce branch  0x0000735a 
+ 00029529  0x000078d0 iadd  0x00000002 , 0x0000003f 
+ 00029530  0x000078d2 istore  0x00000001 , 0x00000005 
+ 00029531  0x000078d3 increase  0x00000001 , 0x00000011 
+ 00029532  0x000078d4 increase  0x00000001 , 0x00000012 
+ 00029533  0x000078d5 loop  0x00007354 
+ 00029534  0x000078d6 rtn 
+ 00029535  0x000078da arg  0x000005b2 , 0x00000005 
+ 00029536  0x000078db ifetch  0x00000006 , 0x00000011 
+ 00029537  0x000078dc istore  0x00000006 , 0x00000005 
+ 00029538  0x000078dd branch  0x00007365 , 0x00000028 
+ 00029539  0x000078de ifetch  0x00000006 , 0x00000011 
+ 00029540  0x000078df branch  0x00007366 
+ 00029541  0x000078e1 ifetch  0x00000006 , 0x00000006 
+ 00029542  0x000078e3 istore  0x00000006 , 0x00000005 
+ 00029543  0x000078e4 ifetch  0x00000004 , 0x00000011 
+ 00029544  0x000078e5 istore  0x00000004 , 0x00000005 
+ 00029545  0x000078e6 rtn 
+ 00029546  0x000078e9 arg  0x000041be , 0x00000006 
+ 00029547  0x000078ea arg  0x000005a2 , 0x00000005 
+ 00029548  0x000078eb arg  0x00000000 , 0x00000002 
+ 00029549  0x000078ec setarg  0x008395a7 
+ 00029550  0x000078ed call  0x0000738b 
+ 00029551  0x000078ee setarg  0x00b3c1df 
+ 00029552  0x000078ef call  0x0000738b 
+ 00029553  0x000078f0 setarg  0x0000e5e9 
+ 00029554  0x000078f1 call  0x0000738c 
+ 00029555  0x000078f2 copy  0x00000002 , 0x00000014 
+ 00029556  0x000078f3 disable  0x00000028 
+ 00029557  0x000078f4 call  0x00007379 
+ 00029558  0x000078f5 copy  0x00000014 , 0x00000002 
+ 00029559  0x000078f6 enable  0x00000028 
+ 00029560  0x000078f7 branch  0x00007379 
+ 00029561  0x000078fa force  0x00000008 , 0x00000039 
+ 00029562  0x000078fc ifetch  0x00000001 , 0x00000006 
+ 00029563  0x000078fd compare  0x00000001 , 0x00000039 , 0x00000001 
+ 00029564  0x000078fe branch  0x00007380 , 0x00000028 
+ 00029565  0x000078ff branch  0x00007381 , 0x00000001 
+ 00029566  0x00007901 iadd  0x00000002 , 0x0000003f 
+ 00029567  0x00007902 branch  0x00007382 
+ 00029568  0x00007904 branch  0x0000737e , 0x00000001 
+ 00029569  0x00007906 ixor  0x00000002 , 0x0000003f 
+ 00029570  0x00007908 istore  0x00000001 , 0x00000005 
+ 00029571  0x00007909 rshift8  0x00000002 , 0x00000002 
+ 00029572  0x0000790a loop  0x0000737a 
+ 00029573  0x0000790b rtn 
+ 00029574  0x0000790e fetch  0x00000006 , 0x00000596 
+ 00029575  0x0000790f store  0x00000006 , 0x00000056 
+ 00029576  0x00007910 ifetch  0x00000006 , 0x00000006 
+ 00029577  0x00007911 istore  0x00000006 , 0x00000005 
+ 00029578  0x00007912 rtn 
+ 00029579  0x00007915 lshift8  0x00000002 , 0x00000002 
+ 00029580  0x00007917 lshift16  0x00000002 , 0x00000002 
+ 00029581  0x00007918 ior  0x00000002 , 0x00000002 
+ 00029582  0x00007919 rtn 
+ 00029583  0x0000791e branch  0x0000738f 
+ 00029584  0x00007923 bpatchx  0x000000e0 , 0x0000403c 
+ 00029585  0x00007924 call  0x0000742b 
+ 00029586  0x00007925 arg  0x00004419 , 0x00000005 
+ 00029587  0x00007926 branch  0x00007497 
+ 00029588  0x0000792a arg  0x0000443a , 0x00000005 
+ 00029589  0x0000792b branch  0x00007397 , 0x00000029 
+ 00029590  0x0000792c arg  0x0000042f , 0x00000005 
+ 00029591  0x0000792e copy  0x00000006 , 0x00000011 
+ 00029592  0x0000792f call  0x00007ebf 
+ 00029593  0x00007930 call  0x00007440 
+ 00029594  0x00007931 arg  0x0000442a , 0x00000006 
+ 00029595  0x00007932 branch  0x000074b0 
+ 00029596  0x00007935 arg  0x0000042f , 0x00000011 
+ 00029597  0x00007936 branch  0x0000739f , 0x00000029 
+ 00029598  0x00007937 arg  0x0000443a , 0x00000011 
+ 00029599  0x00007939 copy  0x00000011 , 0x00000005 
+ 00029600  0x0000793a call  0x0000630c 
+ 00029601  0x0000793b branch  0x00007440 
+ 00029602  0x0000793e arg  0x000044aa , 0x00000006 
+ 00029603  0x0000793f call  0x00007486 
+ 00029604  0x00007940 arg  0x00004419 , 0x00000006 
+ 00029605  0x00007941 call  0x00007487 
+ 00029606  0x00007942 force  0x00000038 , 0x00000036 
+ 00029607  0x00007943 force  0x00000000 , 0x00000036 
+ 00029608  0x00007944 call  0x0000741d 
+ 00029609  0x00007945 arg  0x0000047c , 0x00000005 
+ 00029610  0x00007946 branch  0x00007497 
+ 00029611  0x0000794a force  0x00000049 , 0x0000003f 
+ 00029612  0x0000794b branch  0x000073ae 
+ 00029613  0x0000794d force  0x00000001 , 0x0000003f 
+ 00029614  0x0000794f force  0x00000000 , 0x00000038 
+ 00029615  0x00007950 lshift8  0x00000002 , 0x0000002f 
+ 00029616  0x00007951 ior  0x0000002f , 0x0000002f 
+ 00029617  0x00007952 increase  0x00000001 , 0x00000038 
+ 00029618  0x00007953 rshift8  0x00000002 , 0x0000002f 
+ 00029619  0x00007954 rshift16  0x0000002f , 0x0000002f 
+ 00029620  0x00007955 fetch  0x00000002 , 0x00004411 
+ 00029621  0x00007956 lshift16 , 0x0000003f , 0x0000003f 
+ 00029622  0x00007957 ior  0x0000002f , 0x0000002f 
+ 00029623  0x00007958 increase  0x00000001 , 0x00000038 
+ 00029624  0x00007959 ifetch  0x00000004 , 0x00000006 
+ 00029625  0x0000795a iforce  0x0000002f 
+ 00029626  0x0000795b increase  0x00000001 , 0x00000038 
+ 00029627  0x0000795c ifetch  0x00000002 , 0x00000006 
+ 00029628  0x0000795d byteswap  0x00000011 , 0x0000002f 
+ 00029629  0x0000795e lshift16  0x0000002f , 0x0000002f 
+ 00029630  0x0000795f ior  0x0000002f , 0x0000002f 
+ 00029631  0x00007960 increase  0x00000001 , 0x00000038 
+ 00029632  0x00007961 rtn 
+ 00029633  0x00007966 add  0x00000013 , 0x00000001 , 0x00000006 
+ 00029634  0x00007967 ifetch  0x00000001 , 0x00000006 
+ 00029635  0x00007968 iforce  0x00000011 
+ 00029636  0x00007969 call  0x000073ab 
+ 00029637  0x0000796a call  0x0000741f 
+ 00029638  0x0000796c force  0x00000000 , 0x00000038 
+ 00029639  0x0000796d ifetch  0x00000001 , 0x00000013 
+ 00029640  0x0000796e and_into  0x00000003 , 0x0000003f 
+ 00029641  0x0000796f lshift16  0x0000003f , 0x0000002f 
+ 00029642  0x00007970 set1  0x00000008 , 0x0000002f 
+ 00029643  0x00007971 call  0x0000748f 
+ 00029644  0x00007972 call  0x00007422 
+ 00029645  0x00007974 copy  0x00000011 , 0x00000039 
+ 00029646  0x00007975 add  0x00000013 , 0x00000002 , 0x00000006 
+ 00029647  0x00007976 call  0x0000746e 
+ 00029648  0x00007978 call  0x00007478 
+ 00029649  0x00007979 call  0x00007422 
+ 00029650  0x0000797a deposit  0x00000039 
+ 00029651  0x0000797b branch  0x000073d5 , 0x00000034 
+ 00029652  0x0000797c branch  0x000073d0 
+ 00029653  0x0000797e force  0x0000000c , 0x00000038 
+ 00029654  0x0000797f deposit  0x0000002f 
+ 00029655  0x00007980 store  0x00000004 , 0x00000417 
+ 00029656  0x00007981 rtn 
+ 00029657  0x00007984 increase  0x00000001 , 0x00000011 
+ 00029658  0x00007985 call  0x000073ad 
+ 00029659  0x00007986 copy  0x00000013 , 0x00000006 
+ 00029660  0x00007987 call  0x00007482 
+ 00029661  0x00007988 call  0x00007425 
+ 00029662  0x00007989 call  0x0000749e 
+ 00029663  0x0000798a increase  0x00000010 , 0x00000013 
+ 00029664  0x0000798b increase  0xfffffff0 , 0x00000012 
+ 00029665  0x0000798c branch  0x000073d9 , 0x00000002 
+ 00029666  0x0000798d rtn 
+ 00029667  0x00007990 bpatchx  0x000000e1 , 0x0000403c 
+ 00029668  0x00007991 arg  0x000043dc , 0x00000013 
+ 00029669  0x00007992 fetcht  0x00000005 , 0x00004403 
+ 00029670  0x00007993 call  0x000073c1 
+ 00029671  0x00007994 force  0x00000008 , 0x00000038 
+ 00029672  0x00007995 iforce  0x0000002f 
+ 00029673  0x00007996 force  0x00000000 , 0x00000011 
+ 00029674  0x00007997 call  0x000073ad 
+ 00029675  0x00007998 call  0x00007425 
+ 00029676  0x00007999 arg  0x000043de , 0x00000013 
+ 00029677  0x0000799a fetch  0x00000001 , 0x000043dd 
+ 00029678  0x0000799b add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029679  0x0000799c iadd  0x00000013 , 0x00000005 
+ 00029680  0x0000799d force  0x0000000c , 0x00000038 
+ 00029681  0x0000799e deposit  0x0000002f 
+ 00029682  0x0000799f istore  0x00000004 , 0x00000005 
+ 00029683  0x000079a0 call  0x000073d9 
+ 00029684  0x000079a1 fetch  0x00000001 , 0x000043dd 
+ 00029685  0x000079a2 increase  0x00000004 , 0x0000003f 
+ 00029686  0x000079a3 store  0x00000001 , 0x000043dd 
+ 00029687  0x000079a4 fetcht  0x00000005 , 0x00004403 
+ 00029688  0x000079a5 increase  0x00000001 , 0x00000002 
+ 00029689  0x000079a6 storet  0x00000005 , 0x00004403 
+ 00029690  0x000079a7 rtn 
+ 00029691  0x000079aa bpatchx  0x000000e2 , 0x0000403c 
+ 00029692  0x000079ab fetch  0x00000001 , 0x000002da 
+ 00029693  0x000079ac sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00029694  0x000079ad branch  0x000073ff , 0x00000002 
+ 00029695  0x000079af arg  0x000002db , 0x00000013 
+ 00029696  0x000079b0 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029697  0x000079b1 increase  0xfffffffc , 0x0000003f 
+ 00029698  0x000079b2 store  0x00000001 , 0x000002da 
+ 00029699  0x000079b3 iadd  0x00000013 , 0x00000006 
+ 00029700  0x000079b4 ifetch  0x00000004 , 0x00000006 
+ 00029701  0x000079b5 force  0x00000008 , 0x00000038 
+ 00029702  0x000079b6 iforce  0x0000002f 
+ 00029703  0x000079b7 force  0x00000000 , 0x00000011 
+ 00029704  0x000079b8 fetcht  0x00000005 , 0x00004408 
+ 00029705  0x000079b9 call  0x000073ad 
+ 00029706  0x000079ba call  0x00007425 
+ 00029707  0x000079bb force  0x0000000c , 0x00000038 
+ 00029708  0x000079bc deposit  0x0000002f 
+ 00029709  0x000079bd store  0x00000004 , 0x0000041b 
+ 00029710  0x000079be call  0x000073d9 
+ 00029711  0x000079bf arg  0x000002d9 , 0x00000013 
+ 00029712  0x000079c0 call  0x000073c1 
+ 00029713  0x000079c1 fetcht  0x00000004 , 0x0000041b 
+ 00029714  0x000079c2 isub  0x00000002 , 0x0000003f 
+ 00029715  0x000079c3 nrtn  0x00000034 
+ 00029716  0x000079c4 fetch  0x00000004 , 0x0000440d 
+ 00029717  0x000079c5 isub  0x00000002 , 0x0000003f 
+ 00029718  0x000079c6 rtn  0x00000034 
+ 00029719  0x000079c7 storet  0x00000004 , 0x0000440d 
+ 00029720  0x000079c8 fetch  0x00000005 , 0x00004408 
+ 00029721  0x000079c9 increase  0x00000001 , 0x0000003f 
+ 00029722  0x000079ca store  0x00000005 , 0x00004408 
+ 00029723  0x000079cb force  0x00000000 , 0x0000003f 
+ 00029724  0x000079cc rtn 
+ 00029725  0x000079cf nbranch  0x0000741d , 0x00000037 
+ 00029726  0x000079d0 rtn 
+ 00029727  0x000079d3 force  0x00000030 , 0x00000036 
+ 00029728  0x000079d4 force  0x00000000 , 0x00000036 
+ 00029729  0x000079d5 branch  0x0000741d 
+ 00029730  0x000079d8 force  0x00000032 , 0x00000036 
+ 00029731  0x000079d9 force  0x00000002 , 0x00000036 
+ 00029732  0x000079da branch  0x0000741d 
+ 00029733  0x000079dd force  0x00000034 , 0x00000036 
+ 00029734  0x000079de force  0x00000004 , 0x00000036 
+ 00029735  0x000079df branch  0x0000741d 
+ 00029736  0x000079e3 force  0x00000001 , 0x00000036 
+ 00029737  0x000079e4 force  0x00000000 , 0x00000036 
+ 00029738  0x000079e5 rtn 
+ 00029739  0x000079e7 force  0x00000000 , 0x00000038 
+ 00029740  0x000079e8 fetch  0x00000004 , 0x0000042f 
+ 00029741  0x000079e9 iforce  0x0000002f 
+ 00029742  0x000079ea increase  0x00000001 , 0x00000038 
+ 00029743  0x000079eb ifetch  0x00000004 , 0x00000006 
+ 00029744  0x000079ec iforce  0x0000002f 
+ 00029745  0x000079ed increase  0x00000001 , 0x00000038 
+ 00029746  0x000079ee fetch  0x00000004 , 0x0000443a 
+ 00029747  0x000079ef iforce  0x0000002f 
+ 00029748  0x000079f0 increase  0x00000001 , 0x00000038 
+ 00029749  0x000079f1 ifetch  0x00000004 , 0x00000006 
+ 00029750  0x000079f2 iforce  0x0000002f 
+ 00029751  0x000079f3 increase  0x00000001 , 0x00000038 
+ 00029752  0x000079f4 call  0x00007492 
+ 00029753  0x000079f5 increase  0xfffffffc , 0x00000038 
+ 00029754  0x000079f6 fetch  0x00000004 , 0x000044c7 
+ 00029755  0x000079f7 copy  0x0000003f , 0x0000002f 
+ 00029756  0x000079f8 increase  0x00000004 , 0x00000038 
+ 00029757  0x000079f9 force  0x00000038 , 0x00000036 
+ 00029758  0x000079fa force  0x00000008 , 0x00000036 
+ 00029759  0x000079fb branch  0x0000741d 
+ 00029760  0x000079ff bpatchx  0x000000e3 , 0x0000403c 
+ 00029761  0x00007a00 fetch  0x00000006 , 0x000044a0 
+ 00029762  0x00007a01 fetcht  0x00000006 , 0x0000044f 
+ 00029763  0x00007a02 branch  0x00007446 , 0x00000029 
+ 00029764  0x00007a03 fetch  0x00000006 , 0x0000044f 
+ 00029765  0x00007a04 fetcht  0x00000006 , 0x000044a0 
+ 00029766  0x00007a06 force  0x00000008 , 0x00000038 
+ 00029767  0x00007a07 copy  0x00000002 , 0x0000002f 
+ 00029768  0x00007a08 increase  0x00000001 , 0x00000038 
+ 00029769  0x00007a09 rshift32  0x00000002 , 0x0000002f 
+ 00029770  0x00007a0a lshift16  0x0000003f , 0x0000003f 
+ 00029771  0x00007a0b ior  0x0000002f , 0x0000002f 
+ 00029772  0x00007a0c increase  0x00000001 , 0x00000038 
+ 00029773  0x00007a0d rshift32  0x0000003f , 0x0000002f 
+ 00029774  0x00007a0e increase  0x00000001 , 0x00000038 
+ 00029775  0x00007a0f force  0x00000000 , 0x0000002f 
+ 00029776  0x00007a10 force  0x00000000 , 0x0000003f 
+ 00029777  0x00007a11 fetch  0x00000001 , 0x0000448e 
+ 00029778  0x00007a12 fetcht  0x00000001 , 0x00004485 
+ 00029779  0x00007a13 nbranch  0x00007456 , 0x00000029 
+ 00029780  0x00007a15 fetch  0x00000001 , 0x00004495 
+ 00029781  0x00007a16 fetcht  0x00000001 , 0x0000448e 
+ 00029782  0x00007a18 store  0x00000001 , 0x0000444a 
+ 00029783  0x00007a19 storet  0x00000001 , 0x0000444b 
+ 00029784  0x00007a1a force  0x00000000 , 0x00000038 
+ 00029785  0x00007a1b arg  0x0000444a , 0x00000012 
+ 00029786  0x00007a1c force  0x00000004 , 0x00000039 
+ 00029787  0x00007a1e ifetch  0x00000004 , 0x00000011 
+ 00029788  0x00007a1f ifetcht  0x00000004 , 0x00000012 
+ 00029789  0x00007a20 ixor  0x00000002 , 0x0000002f 
+ 00029790  0x00007a21 increase  0x00000001 , 0x00000038 
+ 00029791  0x00007a22 increase  0x00000004 , 0x00000011 
+ 00029792  0x00007a23 increase  0x00000004 , 0x00000012 
+ 00029793  0x00007a24 loop  0x0000745b 
+ 00029794  0x00007a25 call  0x00007492 
+ 00029795  0x00007a26 increase  0xfffffffc , 0x00000038 
+ 00029796  0x00007a27 fetch  0x00000004 , 0x000044c7 
+ 00029797  0x00007a28 copy  0x0000003f , 0x0000002f 
+ 00029798  0x00007a29 increase  0x00000004 , 0x00000038 
+ 00029799  0x00007a2a force  0x00000038 , 0x00000036 
+ 00029800  0x00007a2b force  0x0000000c , 0x00000036 
+ 00029801  0x00007a2c call  0x0000741d 
+ 00029802  0x00007a2e call  0x00007491 
+ 00029803  0x00007a2f force  0x0000003a , 0x00000036 
+ 00029804  0x00007a30 force  0x00000008 , 0x00000036 
+ 00029805  0x00007a31 branch  0x0000741d 
+ 00029806  0x00007a34 compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029807  0x00007a35 rtn  0x00000001 
+ 00029808  0x00007a36 deposit  0x00000006 
+ 00029809  0x00007a37 iadd  0x00000039 , 0x00000005 
+ 00029810  0x00007a38 force  0x00000000 , 0x0000003f 
+ 00029811  0x00007a3a istore  0x00000001 , 0x00000005 
+ 00029812  0x00007a3b increase  0x00000001 , 0x00000039 
+ 00029813  0x00007a3c compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029814  0x00007a3d rtn  0x00000001 
+ 00029815  0x00007a3e branch  0x00007473 
+ 00029816  0x00007a41 force  0x00000000 , 0x00000038 
+ 00029817  0x00007a43 deposit  0x00000039 
+ 00029818  0x00007a44 branch  0x0000747d , 0x00000034 
+ 00029819  0x00007a45 ifetch  0x00000004 , 0x00000006 
+ 00029820  0x00007a46 increase  0xfffffffc , 0x00000039 
+ 00029821  0x00007a48 iforce  0x0000002f 
+ 00029822  0x00007a49 increase  0x00000001 , 0x00000038 
+ 00029823  0x00007a4a compare  0x00000004 , 0x00000038 , 0x0000000f 
+ 00029824  0x00007a4b rtn  0x00000001 
+ 00029825  0x00007a4c branch  0x00007479 
+ 00029826  0x00007a4f force  0x00000008 , 0x00000038 
+ 00029827  0x00007a50 branch  0x00007487 
+ 00029828  0x00007a52 force  0x00000004 , 0x00000038 
+ 00029829  0x00007a53 branch  0x00007487 
+ 00029830  0x00007a55 force  0x00000000 , 0x00000038 
+ 00029831  0x00007a57 force  0x00000004 , 0x00000039 
+ 00029832  0x00007a59 ifetch  0x00000004 , 0x00000006 
+ 00029833  0x00007a5a iforce  0x0000002f 
+ 00029834  0x00007a5b increase  0x00000001 , 0x00000038 
+ 00029835  0x00007a5c loop  0x00007488 
+ 00029836  0x00007a5d rtn 
+ 00029837  0x00007a60 arg  0x0000047c , 0x00000006 
+ 00029838  0x00007a61 branch  0x00007484 
+ 00029839  0x00007a64 force  0x00000004 , 0x00000039 
+ 00029840  0x00007a65 branch  0x00007494 
+ 00029841  0x00007a68 force  0x00000000 , 0x00000038 
+ 00029842  0x00007a6a force  0x00000004 , 0x00000039 
+ 00029843  0x00007a6c force  0x00000000 , 0x0000002f 
+ 00029844  0x00007a6e increase  0x00000001 , 0x00000038 
+ 00029845  0x00007a6f loop  0x00007493 
+ 00029846  0x00007a70 rtn 
+ 00029847  0x00007a73 force  0x0000000c , 0x00000038 
+ 00029848  0x00007a74 force  0x00000004 , 0x00000039 
+ 00029849  0x00007a76 deposit  0x0000002f 
+ 00029850  0x00007a77 istore  0x00000004 , 0x00000005 
+ 00029851  0x00007a78 increase  0x00000001 , 0x00000038 
+ 00029852  0x00007a79 loop  0x00007499 
+ 00029853  0x00007a7a rtn 
+ 00029854  0x00007a7d force  0x0000000c , 0x00000038 
+ 00029855  0x00007a7e copy  0x00000013 , 0x00000005 
+ 00029856  0x00007a7f add  0x00000012 , 0x00000001 , 0x00000039 
+ 00029857  0x00007a80 sub  0x00000039 , 0x0000000f , 0x0000003e 
+ 00029858  0x00007a81 branch  0x000074a4 , 0x00000002 
+ 00029859  0x00007a82 force  0x00000010 , 0x00000039 
+ 00029860  0x00007a84 deposit  0x0000002f 
+ 00029861  0x00007a85 sub  0x00000039 , 0x00000003 , 0x0000003e 
+ 00029862  0x00007a86 branch  0x000074ac , 0x00000002 
+ 00029863  0x00007a87 istore  0x00000004 , 0x00000005 
+ 00029864  0x00007a88 increase  0xfffffffc , 0x00000039 
+ 00029865  0x00007a89 rtn  0x00000005 
+ 00029866  0x00007a8a increase  0x00000001 , 0x00000038 
+ 00029867  0x00007a8b branch  0x000074a4 
+ 00029868  0x00007a8d istore  0x00000001 , 0x00000005 
+ 00029869  0x00007a8e rshift8  0x0000003f , 0x0000003f 
+ 00029870  0x00007a8f loop  0x000074ac 
+ 00029871  0x00007a90 rtn 
+ 00029872  0x00007a94 force  0x0000000c , 0x00000038 
+ 00029873  0x00007a95 force  0x00000004 , 0x00000039 
+ 00029874  0x00007a97 ifetch  0x00000004 , 0x00000006 
+ 00029875  0x00007a98 isub  0x0000002f , 0x0000003e 
+ 00029876  0x00007a99 nrtn  0x00000005 
+ 00029877  0x00007a9a increase  0x00000001 , 0x00000038 
+ 00029878  0x00007a9b loop  0x000074b2 
+ 00029879  0x00007a9c force  0x00000000 , 0x0000003e 
+ 00029880  0x00007a9d rtn 
+ 00029881  0x00007aa0 hfetch  0x00000001 , 0x00008050 
+ 00029882  0x00007aa1 set0  0x00000000 , 0x0000003f 
+ 00029883  0x00007aa2 hstore  0x00000001 , 0x00008050 
+ 00029884  0x00007aa3 rtn 
+ 00029885  0x00007aa6 hfetch  0x00000001 , 0x00008050 
+ 00029886  0x00007aa7 set1  0x00000000 , 0x0000003f 
+ 00029887  0x00007aa8 hstore  0x00000001 , 0x00008050 
+ 00029888  0x00007aa9 rtn 
+ 00029889  0x00007aac arg  0x00000886 , 0x00000005 
+ 00029890  0x00007aad setsect  0x00000000 , 0x0003ffff 
+ 00029891  0x00007aae setsect  0x00000001 , 0x0003ffff 
+ 00029892  0x00007aaf setsect  0x00000002 , 0x0003ffff 
+ 00029893  0x00007ab0 setsect  0x00000003 , 0x0003fbff 
+ 00029894  0x00007ab1 istore  0x00000009 , 0x00000005 
+ 00029895  0x00007ab2 setsect  0x00000000 , 0x0003ffff 
+ 00029896  0x00007ab3 setsect  0x00000001 , 0x0003ffff 
+ 00029897  0x00007ab4 setsect  0x00000002 , 0x0003ffff 
+ 00029898  0x00007ab5 setsect  0x00000003 , 0x0003ffff 
+ 00029899  0x00007ab6 istore  0x00000009 , 0x00000005 
+ 00029900  0x00007ab7 setsect  0x00000000 , 0x0003ffff 
+ 00029901  0x00007ab8 setsect  0x00000001 , 0x0003ffff 
+ 00029902  0x00007ab9 setsect  0x00000002 , 0x0003cfff 
+ 00029903  0x00007aba setsect  0x00000003 , 0x0003ffff 
+ 00029904  0x00007abb istore  0x00000009 , 0x00000005 
+ 00029905  0x00007abc setsect  0x00000000 , 0x0003ffff 
+ 00029906  0x00007abd setsect  0x00000001 , 0x0003ffff 
+ 00029907  0x00007abe setsect  0x00000002 , 0x0003ffef 
+ 00029908  0x00007abf setsect  0x00000003 , 0x0003ffff 
+ 00029909  0x00007ac0 istore  0x00000009 , 0x00000005 
+ 00029910  0x00007ac1 setsect  0x00000000 , 0x0003ffff 
+ 00029911  0x00007ac2 setsect  0x00000001 , 0x0003ffff 
+ 00029912  0x00007ac3 setsect  0x00000002 , 0x0003ffff 
+ 00029913  0x00007ac4 setsect  0x00000003 , 0x0003ffff 
+ 00029914  0x00007ac5 istore  0x00000009 , 0x00000005 
+ 00029915  0x00007ac6 setsect  0x00000000 , 0x0003ffff 
+ 00029916  0x00007ac7 setsect  0x00000001 , 0x00026c7f 
+ 00029917  0x00007ac8 setsect  0x00000002 , 0x0000146b 
+ 00029918  0x00007ac9 setsect  0x00000003 , 0x00037bb3 
+ 00029919  0x00007aca istore  0x00000009 , 0x00000005 
+ 00029920  0x00007acb setsect  0x00000000 , 0x0001feb8 
+ 00029921  0x00007acc setsect  0x00000001 , 0x00010c12 
+ 00029922  0x00007acd setsect  0x00000002 , 0x0002b722 
+ 00029923  0x00007ace setsect  0x00000003 , 0x00029fa6 
+ 00029924  0x00007acf istore  0x00000009 , 0x00000005 
+ 00029925  0x00007ad0 setsect  0x00000000 , 0x0000e70f 
+ 00029926  0x00007ad1 setsect  0x00000001 , 0x00016720 
+ 00029927  0x00007ad2 setsect  0x00000002 , 0x0000519e 
+ 00029928  0x00007ad3 setsect  0x00000003 , 0x00019084 
+ 00029929  0x00007ad4 istore  0x00000009 , 0x00000005 
+ 00029930  0x00007ad5 setsect  0x00000000 , 0x00031012 
+ 00029931  0x00007ad6 setsect  0x00000001 , 0x000360bf 
+ 00029932  0x00007ad7 setsect  0x00000002 , 0x0003f0af 
+ 00029933  0x00007ad8 setsect  0x00000003 , 0x000003d3 
+ 00029934  0x00007ad9 istore  0x00000009 , 0x00000005 
+ 00029935  0x00007ada setsect  0x00000000 , 0x0003a188 
+ 00029936  0x00007adb setsect  0x00000001 , 0x00003ad0 
+ 00029937  0x00007adc setsect  0x00000002 , 0x0003cbf2 
+ 00029938  0x00007add setsect  0x00000003 , 0x000243d9 
+ 00029939  0x00007ade istore  0x00000009 , 0x00000005 
+ 00029940  0x00007adf setsect  0x00000000 , 0x0002b030 
+ 00029941  0x00007ae0 setsect  0x00000001 , 0x00036a03 
+ 00029942  0x00007ae1 setsect  0x00000002 , 0x00011188 
+ 00029943  0x00007ae2 setsect  0x00000003 , 0x0001e520 
+ 00029944  0x00007ae3 istore  0x00000009 , 0x00000005 
+ 00029945  0x00007ae4 setsect  0x00000000 , 0x0003a11e 
+ 00029946  0x00007ae5 setsect  0x00000001 , 0x0000fe5d 
+ 00029947  0x00007ae6 setsect  0x00000002 , 0x0000dd57 
+ 00029948  0x00007ae7 setsect  0x00000003 , 0x0001ac93 
+ 00029949  0x00007ae8 istore  0x00000009 , 0x00000005 
+ 00029950  0x00007ae9 setsect  0x00000000 , 0x000011ed 
+ 00029951  0x00007aea setsect  0x00000001 , 0x000218c4 
+ 00029952  0x00007aeb setsect  0x00000002 , 0x00008da7 
+ 00029953  0x00007aec setsect  0x00000003 , 0x000257ff 
+ 00029954  0x00007aed istore  0x00000009 , 0x00000005 
+ 00029955  0x00007aee setsect  0x00000000 , 0x0003192b 
+ 00029956  0x00007aef setsect  0x00000001 , 0x00034641 
+ 00029957  0x00007af0 setsect  0x00000002 , 0x0001be0c 
+ 00029958  0x00007af1 setsect  0x00000003 , 0x000366ad 
+ 00029959  0x00007af2 istore  0x00000009 , 0x00000005 
+ 00029960  0x00007af3 setsect  0x00000000 , 0x00001f83 
+ 00029961  0x00007af4 setsect  0x00000001 , 0x00015a23 
+ 00029962  0x00007af5 setsect  0x00000002 , 0x0003f9b0 
+ 00029963  0x00007af6 setsect  0x00000003 , 0x00003949 
+ 00029964  0x00007af7 istore  0x00000009 , 0x00000005 
+ 00029965  0x00007af8 setsect  0x00000000 , 0x00013a51 
+ 00029966  0x00007af9 setsect  0x00000001 , 0x000153fd 
+ 00029967  0x00007afa setsect  0x00000002 , 0x0003372a 
+ 00029968  0x00007afb setsect  0x00000003 , 0x0000f1bb 
+ 00029969  0x00007afc istore  0x00000009 , 0x00000005 
+ 00029970  0x00007afd setsect  0x00000000 , 0x0003ae85 
+ 00029971  0x00007afe setsect  0x00000001 , 0x0001eed9 
+ 00029972  0x00007aff setsect  0x00000002 , 0x00009e66 
+ 00029973  0x00007b00 setsect  0x00000003 , 0x000001a8 
+ 00029974  0x00007b01 istore  0x00000008 , 0x00000005 
+ 00029975  0x00007b02 rtn 
+ 00029976  0x00007b07 arg  0x0000091e , 0x00000005 
+ 00029977  0x00007b08 setsect  0x00000000 , 0x0003ffff 
+ 00029978  0x00007b09 setsect  0x00000001 , 0x0003ffff 
+ 00029979  0x00007b0a setsect  0x00000002 , 0x0003ffff 
+ 00029980  0x00007b0b setsect  0x00000003 , 0x0003ffff 
+ 00029981  0x00007b0c istore  0x00000009 , 0x00000005 
+ 00029982  0x00007b0d setsect  0x00000000 , 0x0003ffff 
+ 00029983  0x00007b0e setsect  0x00000001 , 0x0000003f 
+ 00029984  0x00007b0f setsect  0x00000002 , 0x00000000 
+ 00029985  0x00007b10 setsect  0x00000003 , 0x00000000 
+ 00029986  0x00007b11 istore  0x00000009 , 0x00000005 
+ 00029987  0x00007b12 setsect  0x00000000 , 0x00000000 
+ 00029988  0x00007b13 setsect  0x00000001 , 0x00000000 
+ 00029989  0x00007b14 setsect  0x00000002 , 0x00001000 
+ 00029990  0x00007b15 setsect  0x00000003 , 0x00000000 
+ 00029991  0x00007b16 istore  0x00000009 , 0x00000005 
+ 00029992  0x00007b17 setsect  0x00000000 , 0x0003ff00 
+ 00029993  0x00007b18 setsect  0x00000001 , 0x0003ffff 
+ 00029994  0x00007b19 setsect  0x00000002 , 0x0003ffcf 
+ 00029995  0x00007b1a setsect  0x00000003 , 0x0003ffff 
+ 00029996  0x00007b1b istore  0x00000009 , 0x00000005 
+ 00029997  0x00007b1c setsect  0x00000000 , 0x0003ffff 
+ 00029998  0x00007b1d setsect  0x00000001 , 0x0003ffff 
+ 00029999  0x00007b1e setsect  0x00000002 , 0x0003ffff 
+ 00030000  0x00007b1f setsect  0x00000003 , 0x000003ff 
+ 00030001  0x00007b20 istore  0x00000009 , 0x00000005 
+ 00030002  0x00007b21 setsect  0x00000000 , 0x00000000 
+ 00030003  0x00007b22 setsect  0x00000001 , 0x00000000 
+ 00030004  0x00007b23 setsect  0x00000002 , 0x00000000 
+ 00030005  0x00007b24 setsect  0x00000003 , 0x00000000 
+ 00030006  0x00007b25 istore  0x00000009 , 0x00000005 
+ 00030007  0x00007b26 setsect  0x00000000 , 0x00010000 
+ 00030008  0x00007b27 setsect  0x00000001 , 0x00000000 
+ 00030009  0x00007b28 setsect  0x00000002 , 0x0003f000 
+ 00030010  0x00007b29 setsect  0x00000003 , 0x0003ffff 
+ 00030011  0x00007b2a istore  0x00000009 , 0x00000005 
+ 00030012  0x00007b2b setsect  0x00000000 , 0x000296ff 
+ 00030013  0x00007b2c setsect  0x00000001 , 0x00022630 
+ 00030014  0x00007b2d setsect  0x00000002 , 0x0003945d 
+ 00030015  0x00007b2e setsect  0x00000003 , 0x0003d284 
+ 00030016  0x00007b2f istore  0x00000009 , 0x00000005 
+ 00030017  0x00007b30 setsect  0x00000000 , 0x000333a0 
+ 00030018  0x00007b31 setsect  0x00000001 , 0x00004b7a 
+ 00030019  0x00007b32 setsect  0x00000002 , 0x000037d8 
+ 00030020  0x00007b33 setsect  0x00000003 , 0x0003c9dc 
+ 00030021  0x00007b34 istore  0x00000009 , 0x00000005 
+ 00030022  0x00007b35 setsect  0x00000000 , 0x0003a440 
+ 00030023  0x00007b36 setsect  0x00000001 , 0x0001b958 
+ 00030024  0x00007b37 setsect  0x00000002 , 0x00038bce 
+ 00030025  0x00007b38 setsect  0x00000003 , 0x0001091f 
+ 00030026  0x00007b39 istore  0x00000009 , 0x00000005 
+ 00030027  0x00007b3a setsect  0x00000000 , 0x0002e12c 
+ 00030028  0x00007b3b setsect  0x00000001 , 0x0001f47c 
+ 00030029  0x00007b3c setsect  0x00000002 , 0x000356b1 
+ 00030030  0x00007b3d setsect  0x00000003 , 0x0002fd47 
+ 00030031  0x00007b3e istore  0x00000009 , 0x00000005 
+ 00030032  0x00007b3f setsect  0x00000000 , 0x00006837 
+ 00030033  0x00007b40 setsect  0x00000001 , 0x0002ed90 
+ 00030034  0x00007b41 setsect  0x00000002 , 0x0001ecec 
+ 00030035  0x00007b42 setsect  0x00000003 , 0x0001acc5 
+ 00030036  0x00007b43 istore  0x00000009 , 0x00000005 
+ 00030037  0x00007b44 setsect  0x00000000 , 0x00023357 
+ 00030038  0x00007b45 setsect  0x00000001 , 0x00018af3 
+ 00030039  0x00007b46 setsect  0x00000002 , 0x0000f9e1 
+ 00030040  0x00007b47 setsect  0x00000003 , 0x000129f0 
+ 00030041  0x00007b48 istore  0x00000009 , 0x00000005 
+ 00030042  0x00007b49 setsect  0x00000000 , 0x0002e7eb 
+ 00030043  0x00007b4a setsect  0x00000001 , 0x0003e6e3 
+ 00030044  0x00007b4b setsect  0x00000002 , 0x0003e1a7 
+ 00030045  0x00007b4c setsect  0x00000003 , 0x00010b8b 
+ 00030046  0x00007b4d istore  0x00000009 , 0x00000005 
+ 00030047  0x00007b4e setsect  0x00000000 , 0x00024fe3 
+ 00030048  0x00007b4f setsect  0x00000001 , 0x000020ef 
+ 00030049  0x00007b50 setsect  0x00000002 , 0x0001b5a6 
+ 00030050  0x00007b51 setsect  0x00000003 , 0x0000dc2f 
+ 00030051  0x00007b52 istore  0x00000009 , 0x00000005 
+ 00030052  0x00007b53 setsect  0x00000000 , 0x00013860 
+ 00030053  0x00007b54 setsect  0x00000001 , 0x0002bd69 
+ 00030054  0x00007b55 setsect  0x00000002 , 0x0000391a 
+ 00030055  0x00007b56 setsect  0x00000003 , 0x0001b222 
+ 00030056  0x00007b57 istore  0x00000009 , 0x00000005 
+ 00030057  0x00007b58 rtn 
+ 00030058  0x00007b5c fetch  0x00000001 , 0x0000465a 
+ 00030059  0x00007b5d nbranch  0x0000757d , 0x00000034 
+ 00030060  0x00007b5e branch  0x00007a77 
+ 00030061  0x00007b61 bpatchx  0x000000e4 , 0x0000403c 
+ 00030062  0x00007b62 fetch  0x00000001 , 0x0000465a 
+ 00030063  0x00007b63 rtn  0x00000034 
+ 00030064  0x00007b64 fetch  0x00000001 , 0x000045b1 
+ 00030065  0x00007b65 rtnne  0x00000001 
+ 00030066  0x00007b66 fetch  0x00000001 , 0x000044be 
+ 00030067  0x00007b67 rtn  0x00000034 
+ 00030068  0x00007b68 fetch  0x00000001 , 0x000044c3 
+ 00030069  0x00007b69 rtneq  0x00000003 
+ 00030070  0x00007b6a fetch  0x00000002 , 0x00004682 
+ 00030071  0x00007b6b bbit1  0x00000000 , 0x0000757b 
+ 00030072  0x00007b6c fetch  0x00000001 , 0x000044c0 
+ 00030073  0x00007b6d beq  0x00000000 , 0x00007a77 
+ 00030074  0x00007b6e rtn 
+ 00030075  0x00007b70 jam  0x00000000 , 0x000044c0 
+ 00030076  0x00007b71 rtn 
+ 00030077  0x00007b75 bpatchx  0x000000e5 , 0x0000403c 
+ 00030078  0x00007b76 fetch  0x00000001 , 0x0000465a 
+ 00030079  0x00007b77 branch  0x0000612b , 0x00000034 
+ 00030080  0x00007b78 call  0x00006124 
+ 00030081  0x00007b79 call  0x00007583 
+ 00030082  0x00007b7a branch  0x0000766d 
+ 00030083  0x00007b7d setarg  0x00000000 
+ 00030084  0x00007b7e store  0x00000008 , 0x000009ae 
+ 00030085  0x00007b7f store  0x00000004 , 0x000009b6 
+ 00030086  0x00007b80 store  0x00000007 , 0x0000465e 
+ 00030087  0x00007b81 rtn 
+ 00030088  0x00007b84 jam  0x00000001 , 0x000009b0 
+ 00030089  0x00007b85 branch  0x0000758d 
+ 00030090  0x00007b87 fetch  0x00000001 , 0x000045b1 
+ 00030091  0x00007b88 beq  0x00000001 , 0x0000768a 
+ 00030092  0x00007b89 branch  0x00002a8c 
+ 00030093  0x00007b8b fetch  0x00000001 , 0x000045b1 
+ 00030094  0x00007b8c beq  0x00000001 , 0x00007590 
+ 00030095  0x00007b8d branch  0x0000766d 
+ 00030096  0x00007b90 call  0x0000768a 
+ 00030097  0x00007b91 fetch  0x00000001 , 0x000009af 
+ 00030098  0x00007b92 nrtn  0x00000034 
+ 00030099  0x00007b93 jam  0x00000003 , 0x000009ae 
+ 00030100  0x00007b94 rtn 
+ 00030101  0x00007b98 call  0x000075b0 
+ 00030102  0x00007b99 arg  0x000009de , 0x00000011 
+ 00030103  0x00007b9a arg  0x00000866 , 0x00000005 
+ 00030104  0x00007b9b call  0x00007c79 
+ 00030105  0x00007b9c arg  0x000009be , 0x00000011 
+ 00030106  0x00007b9d arg  0x00000826 , 0x00000005 
+ 00030107  0x00007b9e call  0x00007c79 
+ 00030108  0x00007b9f arg  0x00000826 , 0x00000011 
+ 00030109  0x00007ba0 arg  0x000009be , 0x00000012 
+ 00030110  0x00007ba1 arg  0x00000826 , 0x00000005 
+ 00030111  0x00007ba2 call  0x00007be1 
+ 00030112  0x00007ba3 arg  0x0000093e , 0x00000011 
+ 00030113  0x00007ba4 arg  0x000009be , 0x00000012 
+ 00030114  0x00007ba5 arg  0x00000846 , 0x00000005 
+ 00030115  0x00007ba6 call  0x00007be1 
+ 00030116  0x00007ba7 arg  0x00000846 , 0x00000011 
+ 00030117  0x00007ba8 arg  0x00000826 , 0x00000012 
+ 00030118  0x00007ba9 arg  0x00000826 , 0x00000005 
+ 00030119  0x00007baa call  0x00007c7d 
+ 00030120  0x00007bab arg  0x00000806 , 0x00000011 
+ 00030121  0x00007bac arg  0x00000826 , 0x00000012 
+ 00030122  0x00007bad arg  0x00000806 , 0x00000005 
+ 00030123  0x00007bae call  0x00007c7d 
+ 00030124  0x00007baf arg  0x00000020 , 0x00000039 
+ 00030125  0x00007bb0 arg  0x00000866 , 0x00000011 
+ 00030126  0x00007bb1 arg  0x00000806 , 0x00000012 
+ 00030127  0x00007bb2 branch  0x00007f88 
+ 00030128  0x00007bb5 arg  0x0000097e , 0x00000011 
+ 00030129  0x00007bb6 arg  0x00000806 , 0x00000005 
+ 00030130  0x00007bb7 call  0x00007c79 
+ 00030131  0x00007bb8 arg  0x0000095e , 0x00000011 
+ 00030132  0x00007bb9 arg  0x00000826 , 0x00000005 
+ 00030133  0x00007bba call  0x00007c79 
+ 00030134  0x00007bbb arg  0x00000826 , 0x00000011 
+ 00030135  0x00007bbc arg  0x0000095e , 0x00000012 
+ 00030136  0x00007bbd arg  0x00000826 , 0x00000005 
+ 00030137  0x00007bbe call  0x00007be1 
+ 00030138  0x00007bbf arg  0x0000093e , 0x00000011 
+ 00030139  0x00007bc0 arg  0x0000095e , 0x00000012 
+ 00030140  0x00007bc1 arg  0x00000846 , 0x00000005 
+ 00030141  0x00007bc2 call  0x00007be1 
+ 00030142  0x00007bc3 arg  0x00000846 , 0x00000011 
+ 00030143  0x00007bc4 arg  0x00000826 , 0x00000012 
+ 00030144  0x00007bc5 arg  0x00000826 , 0x00000005 
+ 00030145  0x00007bc6 call  0x00007c7d 
+ 00030146  0x00007bc7 arg  0x00000806 , 0x00000011 
+ 00030147  0x00007bc8 arg  0x00000826 , 0x00000012 
+ 00030148  0x00007bc9 arg  0x00000806 , 0x00000005 
+ 00030149  0x00007bca branch  0x00007c96 
+ 00030150  0x00007bcd call  0x000075e1 
+ 00030151  0x00007bce arg  0x000009e6 , 0x00000011 
+ 00030152  0x00007bcf arg  0x00000866 , 0x00000005 
+ 00030153  0x00007bd0 call  0x000077a8 
+ 00030154  0x00007bd1 arg  0x000009c6 , 0x00000011 
+ 00030155  0x00007bd2 arg  0x00000826 , 0x00000005 
+ 00030156  0x00007bd3 call  0x000077a8 
+ 00030157  0x00007bd4 arg  0x00000826 , 0x00000011 
+ 00030158  0x00007bd5 arg  0x000009c6 , 0x00000012 
+ 00030159  0x00007bd6 arg  0x00000826 , 0x00000005 
+ 00030160  0x00007bd7 call  0x00007786 
+ 00030161  0x00007bd8 arg  0x0000089e , 0x00000011 
+ 00030162  0x00007bd9 arg  0x000009c6 , 0x00000012 
+ 00030163  0x00007bda arg  0x00000846 , 0x00000005 
+ 00030164  0x00007bdb call  0x00007786 
+ 00030165  0x00007bdc arg  0x00000846 , 0x00000011 
+ 00030166  0x00007bdd arg  0x00000826 , 0x00000012 
+ 00030167  0x00007bde arg  0x00000826 , 0x00000005 
+ 00030168  0x00007bdf call  0x00007755 
+ 00030169  0x00007be0 arg  0x00000806 , 0x00000011 
+ 00030170  0x00007be1 arg  0x00000826 , 0x00000012 
+ 00030171  0x00007be2 arg  0x00000806 , 0x00000005 
+ 00030172  0x00007be3 call  0x00007755 
+ 00030173  0x00007be4 arg  0x00000018 , 0x00000039 
+ 00030174  0x00007be5 arg  0x00000866 , 0x00000011 
+ 00030175  0x00007be6 arg  0x00000806 , 0x00000012 
+ 00030176  0x00007be7 branch  0x00007f88 
+ 00030177  0x00007bea arg  0x000008e6 , 0x00000011 
+ 00030178  0x00007beb arg  0x00000806 , 0x00000005 
+ 00030179  0x00007bec call  0x000077a8 
+ 00030180  0x00007bed arg  0x000008ce , 0x00000011 
+ 00030181  0x00007bee arg  0x00000826 , 0x00000005 
+ 00030182  0x00007bef call  0x000077a8 
+ 00030183  0x00007bf0 arg  0x00000826 , 0x00000011 
+ 00030184  0x00007bf1 arg  0x000008ce , 0x00000012 
+ 00030185  0x00007bf2 arg  0x00000826 , 0x00000005 
+ 00030186  0x00007bf3 call  0x00007786 
+ 00030187  0x00007bf4 arg  0x0000089e , 0x00000011 
+ 00030188  0x00007bf5 arg  0x000008ce , 0x00000012 
+ 00030189  0x00007bf6 arg  0x00000846 , 0x00000005 
+ 00030190  0x00007bf7 call  0x00007786 
+ 00030191  0x00007bf8 arg  0x00000846 , 0x00000011 
+ 00030192  0x00007bf9 arg  0x00000826 , 0x00000012 
+ 00030193  0x00007bfa arg  0x00000826 , 0x00000005 
+ 00030194  0x00007bfb call  0x00007755 
+ 00030195  0x00007bfc arg  0x00000806 , 0x00000011 
+ 00030196  0x00007bfd arg  0x00000826 , 0x00000012 
+ 00030197  0x00007bfe arg  0x00000806 , 0x00000005 
+ 00030198  0x00007bff branch  0x00007758 
+ 00030199  0x00007c03 fetch  0x00000001 , 0x000009b2 
+ 00030200  0x00007c04 bne  0x00000000 , 0x00007615 
+ 00030201  0x00007c05 call  0x00007612 
+ 00030202  0x00007c06 arg  0x00000a7e , 0x00000005 
+ 00030203  0x00007c07 setarg  0x00000a2e 
+ 00030204  0x00007c08 istore  0x00000002 , 0x00000005 
+ 00030205  0x00007c09 setarg  0x00004642 
+ 00030206  0x00007c0a istore  0x00000002 , 0x00000005 
+ 00030207  0x00007c0b setarg  0x000009de 
+ 00030208  0x00007c0c istore  0x00000002 , 0x00000005 
+ 00030209  0x00007c0d branch  0x00007609 
+ 00030210  0x00007c0f arg  0x00000a7e , 0x00000005 
+ 00030211  0x00007c10 setarg  0x00000a3e 
+ 00030212  0x00007c11 istore  0x00000002 , 0x00000005 
+ 00030213  0x00007c12 setarg  0x000009de 
+ 00030214  0x00007c13 istore  0x00000002 , 0x00000005 
+ 00030215  0x00007c14 setarg  0x00004642 
+ 00030216  0x00007c15 istore  0x00000002 , 0x00000005 
+ 00030217  0x00007c17 call  0x000079a0 
+ 00030218  0x00007c18 fetch  0x00000001 , 0x000009af 
+ 00030219  0x00007c19 beq  0x00000004 , 0x0000760f 
+ 00030220  0x00007c1a jam  0x00000001 , 0x000009b0 
+ 00030221  0x00007c1b jam  0x00000005 , 0x000009ae 
+ 00030222  0x00007c1c rtn 
+ 00030223  0x00007c1e jam  0x00000014 , 0x000009af 
+ 00030224  0x00007c1f call  0x0000758a 
+ 00030225  0x00007c20 branch  0x000076d8 
+ 00030226  0x00007c23 arg  0x00000a1e , 0x00000005 
+ 00030227  0x00007c24 force  0x00000008 , 0x00000007 
+ 00030228  0x00007c25 branch  0x000076a2 
+ 00030229  0x00007c28 jam  0x00000001 , 0x000009b0 
+ 00030230  0x00007c29 rtn 
+ 00030231  0x00007c2d bpatchx  0x000000e6 , 0x0000403c 
+ 00030232  0x00007c2e arg  0x00000727 , 0x00000005 
+ 00030233  0x00007c2f fetch  0x00000006 , 0x000040a0 
+ 00030234  0x00007c30 istore  0x00000006 , 0x00000005 
+ 00030235  0x00007c31 fetch  0x00000006 , 0x00000040 
+ 00030236  0x00007c32 istore  0x00000006 , 0x00000005 
+ 00030237  0x00007c33 fetch  0x00000003 , 0x0000465e 
+ 00030238  0x00007c34 istore  0x00000003 , 0x00000005 
+ 00030239  0x00007c36 call  0x00007a0d 
+ 00030240  0x00007c38 arg  0x00000a4e , 0x00000011 
+ 00030241  0x00007c39 arg  0x00000a5e , 0x00000012 
+ 00030242  0x00007c3a force  0x00000004 , 0x00000007 
+ 00030243  0x00007c3b call  0x000076a7 
+ 00030244  0x00007c3c nbranch  0x00007631 , 0x00000001 
+ 00030245  0x00007c3e call  0x00007628 
+ 00030246  0x00007c3f jam  0x00000041 , 0x0000007d 
+ 00030247  0x00007c40 branch  0x000062f8 
+ 00030248  0x00007c43 fetch  0x00000001 , 0x000009af 
+ 00030249  0x00007c44 beq  0x00000009 , 0x0000762e 
+ 00030250  0x00007c45 jam  0x0000000a , 0x000009ae 
+ 00030251  0x00007c46 jam  0x00000001 , 0x000009b0 
+ 00030252  0x00007c47 jam  0x00000003 , 0x0000007c 
+ 00030253  0x00007c48 rtn 
+ 00030254  0x00007c4a jam  0x00000003 , 0x0000007c 
+ 00030255  0x00007c4b jam  0x00000015 , 0x000009af 
+ 00030256  0x00007c4c branch  0x000076d8 
+ 00030257  0x00007c50 fetch  0x00000001 , 0x000009af 
+ 00030258  0x00007c51 beq  0x00000009 , 0x00007637 
+ 00030259  0x00007c52 jam  0x00000000 , 0x000009ae 
+ 00030260  0x00007c53 jam  0x00000004 , 0x0000007c 
+ 00030261  0x00007c55 jam  0x00000005 , 0x0000007e 
+ 00030262  0x00007c56 rtn 
+ 00030263  0x00007c58 jam  0x00000004 , 0x0000007c 
+ 00030264  0x00007c59 jam  0x00000000 , 0x000009af 
+ 00030265  0x00007c5a rtn 
+ 00030266  0x00007c5d fetch  0x00000001 , 0x000009b3 
+ 00030267  0x00007c5e beq  0x00000001 , 0x0000763e 
+ 00030268  0x00007c5f jam  0x0000000a , 0x000009af 
+ 00030269  0x00007c60 branch  0x000076d8 
+ 00030270  0x00007c62 arg  0x00000727 , 0x00000005 
+ 00030271  0x00007c63 fetch  0x00000006 , 0x00000040 
+ 00030272  0x00007c64 istore  0x00000006 , 0x00000005 
+ 00030273  0x00007c65 fetch  0x00000006 , 0x000040a0 
+ 00030274  0x00007c66 istore  0x00000006 , 0x00000005 
+ 00030275  0x00007c67 fetch  0x00000003 , 0x0000465b 
+ 00030276  0x00007c68 istore  0x00000003 , 0x00000005 
+ 00030277  0x00007c6a call  0x00007a24 
+ 00030278  0x00007c6b fetch  0x00000001 , 0x000009af 
+ 00030279  0x00007c6c beq  0x0000000a , 0x0000764b 
+ 00030280  0x00007c6d jam  0x0000000b , 0x000009ae 
+ 00030281  0x00007c6e jam  0x00000001 , 0x000009b0 
+ 00030282  0x00007c6f rtn 
+ 00030283  0x00007c71 jam  0x0000000b , 0x000009af 
+ 00030284  0x00007c72 jam  0x00000001 , 0x000009b1 
+ 00030285  0x00007c73 rtn 
+ 00030286  0x00007c76 arg  0x00000a7e , 0x00000005 
+ 00030287  0x00007c77 fetch  0x00000006 , 0x00000040 
+ 00030288  0x00007c78 istore  0x00000006 , 0x00000005 
+ 00030289  0x00007c79 fetch  0x00000006 , 0x000040a0 
+ 00030290  0x00007c7a istore  0x00000006 , 0x00000005 
+ 00030291  0x00007c7b setarg  0x00000a2e 
+ 00030292  0x00007c7c istore  0x00000002 , 0x00000005 
+ 00030293  0x00007c7d setarg  0x00000a3e 
+ 00030294  0x00007c7e istore  0x00000002 , 0x00000005 
+ 00030295  0x00007c7f branch  0x00007662 
+ 00030296  0x00007c81 jam  0x0000000f , 0x000009ae 
+ 00030297  0x00007c82 arg  0x00000a7e , 0x00000005 
+ 00030298  0x00007c83 fetch  0x00000006 , 0x000040a0 
+ 00030299  0x00007c84 istore  0x00000006 , 0x00000005 
+ 00030300  0x00007c85 fetch  0x00000006 , 0x00000040 
+ 00030301  0x00007c86 istore  0x00000006 , 0x00000005 
+ 00030302  0x00007c87 setarg  0x00000a3e 
+ 00030303  0x00007c88 istore  0x00000002 , 0x00000005 
+ 00030304  0x00007c89 setarg  0x00000a2e 
+ 00030305  0x00007c8a istore  0x00000002 , 0x00000005 
+ 00030306  0x00007c8d arg  0x00000727 , 0x00000005 
+ 00030307  0x00007c8e fetch  0x00000006 , 0x00000a7e 
+ 00030308  0x00007c8f istore  0x00000006 , 0x00000005 
+ 00030309  0x00007c90 fetch  0x00000006 , 0x00000a84 
+ 00030310  0x00007c91 istore  0x00000006 , 0x00000005 
+ 00030311  0x00007c93 call  0x000079d7 
+ 00030312  0x00007c96 jam  0x00000001 , 0x000041bd 
+ 00030313  0x00007c97 arg  0x000041be , 0x00000005 
+ 00030314  0x00007c98 arg  0x00000a4e , 0x00000006 
+ 00030315  0x00007c99 call  0x00007ebf 
+ 00030316  0x00007c9a branch  0x000021c4 
+ 00030317  0x00007c9e bpatchx  0x000000e7 , 0x0000403c 
+ 00030318  0x00007c9f fetch  0x00000001 , 0x000045b1 
+ 00030319  0x00007ca0 rtnne  0x00000000 
+ 00030320  0x00007ca1 fetch  0x00000001 , 0x000009b2 
+ 00030321  0x00007ca2 rtnne  0x00000000 
+ 00030322  0x00007ca3 arg  0x00004612 , 0x00000005 
+ 00030323  0x00007ca4 force  0x0000000b , 0x00000007 
+ 00030324  0x00007ca5 call  0x000076a2 
+ 00030325  0x00007ca6 random  0x0000003f 
+ 00030326  0x00007ca7 rshift  0x0000003f , 0x0000003f 
+ 00030327  0x00007ca8 istore  0x00000002 , 0x00000005 
+ 00030328  0x00007caa arg  0x000006be , 0x00000005 
+ 00030329  0x00007cab arg  0x00004612 , 0x00000006 
+ 00030330  0x00007cac call  0x00007ebe 
+ 00030331  0x00007cae arg  0x000005e6 , 0x00000005 
+ 00030332  0x00007caf arg  0x000008ce , 0x00000006 
+ 00030333  0x00007cb0 call  0x00007ebc 
+ 00030334  0x00007cb2 arg  0x00000616 , 0x00000005 
+ 00030335  0x00007cb3 call  0x00007ec5 
+ 00030336  0x00007cb4 jam  0x00000001 , 0x00000616 
+ 00030337  0x00007cb6 call  0x00007a5d 
+ 00030338  0x00007cb7 jam  0x00000001 , 0x000009b2 
+ 00030339  0x00007cb8 rtn 
+ 00030340  0x00007cbb arg  0x0000462a , 0x00000005 
+ 00030341  0x00007cbc arg  0x0000062e , 0x00000006 
+ 00030342  0x00007cbd call  0x00007ebc 
+ 00030343  0x00007cbe jam  0x00000001 , 0x000045b1 
+ 00030344  0x00007cbf jam  0x00000000 , 0x000009b2 
+ 00030345  0x00007cc0 rtn 
+ 00030346  0x00007cc3 bpatchx  0x000000e8 , 0x0000403d 
+ 00030347  0x00007cc4 fetch  0x00000001 , 0x000009b9 
+ 00030348  0x00007cc5 rtnne  0x00000000 
+ 00030349  0x00007cc6 fetch  0x00000001 , 0x000009b2 
+ 00030350  0x00007cc7 rtnne  0x00000000 
+ 00030351  0x00007cc9 arg  0x000006be , 0x00000005 
+ 00030352  0x00007cca arg  0x00004612 , 0x00000006 
+ 00030353  0x00007ccb call  0x00007ebe 
+ 00030354  0x00007ccd arg  0x000005e6 , 0x00000005 
+ 00030355  0x00007cce arg  0x000009c6 , 0x00000006 
+ 00030356  0x00007ccf call  0x00007ebc 
+ 00030357  0x00007cd1 arg  0x00000616 , 0x00000005 
+ 00030358  0x00007cd2 call  0x00007ec5 
+ 00030359  0x00007cd3 jam  0x00000001 , 0x00000616 
+ 00030360  0x00007cd5 call  0x00007a5d 
+ 00030361  0x00007cd6 jam  0x00000002 , 0x000009b2 
+ 00030362  0x00007cd7 rtn 
+ 00030363  0x00007cda jam  0x00000001 , 0x000009b3 
+ 00030364  0x00007cdb arg  0x00000a06 , 0x00000005 
+ 00030365  0x00007cdc arg  0x0000062e , 0x00000006 
+ 00030366  0x00007cdd call  0x00007ebe 
+ 00030367  0x00007cde jam  0x00000001 , 0x000009b9 
+ 00030368  0x00007cdf jam  0x00000000 , 0x000009b2 
+ 00030369  0x00007ce0 rtn 
+ 00030370  0x00007ce3 increase  0xffffffff , 0x00000007 
+ 00030371  0x00007ce4 nrtn  0x00000002 
+ 00030372  0x00007ce5 random  0x0000003f 
+ 00030373  0x00007ce6 istore  0x00000002 , 0x00000005 
+ 00030374  0x00007ce7 branch  0x000076a2 
+ 00030375  0x00007ce9 increase  0xffffffff , 0x00000007 
+ 00030376  0x00007cea nbranch  0x000076b3 , 0x00000002 
+ 00030377  0x00007ceb ifetch  0x00000004 , 0x00000011 
+ 00030378  0x00007cec copy  0x0000003f , 0x00000002 
+ 00030379  0x00007ced ifetch  0x00000004 , 0x00000012 
+ 00030380  0x00007cee iflip  0x00000002 , 0x0000003f 
+ 00030381  0x00007cef nbranch  0x000076b1 , 0x00000005 
+ 00030382  0x00007cf0 increase  0x00000004 , 0x00000011 
+ 00030383  0x00007cf1 increase  0x00000004 , 0x00000012 
+ 00030384  0x00007cf2 branch  0x000076a7 
+ 00030385  0x00007cf4 disable  0x00000001 
+ 00030386  0x00007cf5 rtn 
+ 00030387  0x00007cf7 enable  0x00000001 
+ 00030388  0x00007cf8 rtn 
+ 00030389  0x00007d00 bpatchx  0x000000e9 , 0x0000403d 
+ 00030390  0x00007d01 fetch  0x00000001 , 0x000009b0 
+ 00030391  0x00007d02 rtn  0x00000034 
+ 00030392  0x00007d03 call  0x000062bc 
+ 00030393  0x00007d04 nrtn  0x00000034 
+ 00030394  0x00007d05 jam  0x00000000 , 0x000009b0 
+ 00030395  0x00007d06 fetch  0x00000001 , 0x000009ae 
+ 00030396  0x00007d07 beq  0x00000003 , 0x000061fd 
+ 00030397  0x00007d08 beq  0x00000005 , 0x0000621a 
+ 00030398  0x00007d09 beq  0x00000007 , 0x00006225 
+ 00030399  0x00007d0a beq  0x0000000b , 0x0000623a 
+ 00030400  0x00007d0b beq  0x00000002 , 0x00007588 
+ 00030401  0x00007d0c beq  0x00000004 , 0x000075f7 
+ 00030402  0x00007d0d beq  0x00000009 , 0x00007617 
+ 00030403  0x00007d0e beq  0x0000000a , 0x0000763a 
+ 00030404  0x00007d0f beq  0x0000000c , 0x00007658 
+ 00030405  0x00007d11 rtn 
+ 00030406  0x00007d14 bpatchx  0x000000ea , 0x0000403d 
+ 00030407  0x00007d15 fetch  0x00000001 , 0x000009b1 
+ 00030408  0x00007d16 rtn  0x00000034 
+ 00030409  0x00007d17 call  0x000062bc 
+ 00030410  0x00007d18 nrtn  0x00000034 
+ 00030411  0x00007d19 jam  0x00000000 , 0x000009b1 
+ 00030412  0x00007d1a fetch  0x00000001 , 0x000009af 
+ 00030413  0x00007d1b beq  0x00000012 , 0x000061e0 
+ 00030414  0x00007d1c beq  0x00000013 , 0x000061e5 
+ 00030415  0x00007d1d beq  0x00000003 , 0x000061e9 
+ 00030416  0x00007d1e beq  0x00000004 , 0x00007602 
+ 00030417  0x00007d1f beq  0x00000014 , 0x000061ed 
+ 00030418  0x00007d20 beq  0x00000007 , 0x000061fb 
+ 00030419  0x00007d21 beq  0x0000000a , 0x0000763a 
+ 00030420  0x00007d22 beq  0x0000000b , 0x00006239 
+ 00030421  0x00007d23 beq  0x00000009 , 0x00007617 
+ 00030422  0x00007d24 beq  0x00000015 , 0x00006233 
+ 00030423  0x00007d25 rtn 
+ 00030424  0x00007d28 jam  0x00000001 , 0x000009b1 
+ 00030425  0x00007d29 rtn 
+ 00030426  0x00007d2c jam  0x00000000 , 0x000009b1 
+ 00030427  0x00007d2d rtn 
+ 00030428  0x00007d2f bpatchx  0x000000eb , 0x0000403d 
+ 00030429  0x00007d30 fetch  0x00000001 , 0x0000465a 
+ 00030430  0x00007d31 rtn  0x00000034 
+ 00030431  0x00007d32 fetch  0x00000001 , 0x000009b2 
+ 00030432  0x00007d33 rtn  0x00000034 
+ 00030433  0x00007d34 increase  0x00000080 , 0x0000003f 
+ 00030434  0x00007d35 store  0x00000001 , 0x000009b2 
+ 00030435  0x00007d36 rtnbit1  0x00000007 
+ 00030436  0x00007d37 fetch  0x00000001 , 0x000005e3 
+ 00030437  0x00007d38 branch  0x000076e7 , 0x00000034 
+ 00030438  0x00007d39 branch  0x00007a68 
+ 00030439  0x00007d3c call  0x000078d3 
+ 00030440  0x00007d3d fetch  0x00000001 , 0x000009b2 
+ 00030441  0x00007d3e beq  0x00000001 , 0x00007684 
+ 00030442  0x00007d3f beq  0x00000002 , 0x0000769b 
+ 00030443  0x00007d40 rtn 
+ 00030444  0x00007d44 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00030445  0x00007d45 rshift3  0x0000003f , 0x0000003f 
+ 00030446  0x00007d46 iadd  0x00000006 , 0x00000006 
+ 00030447  0x00007d47 ifetch  0x00000001 , 0x00000006 
+ 00030448  0x00007d48 qisolate0  0x0000003f 
+ 00030449  0x00007d49 rtn 
+ 00030450  0x00007d4d call  0x00007ebe 
+ 00030451  0x00007d4e call  0x00007ebe 
+ 00030452  0x00007d4f branch  0x00007ebe 
+ 00030453  0x00007d53 ifetch  0x00000008 , 0x00000006 
+ 00030454  0x00007d54 nrtn  0x00000034 
+ 00030455  0x00007d55 ifetch  0x00000008 , 0x00000006 
+ 00030456  0x00007d56 nrtn  0x00000034 
+ 00030457  0x00007d57 ifetch  0x00000008 , 0x00000006 
+ 00030458  0x00007d58 rtn 
+ 00030459  0x00007d5e ifetch  0x00000004 , 0x00000011 
+ 00030460  0x00007d5f iforce  0x00000002 
+ 00030461  0x00007d60 ifetch  0x00000004 , 0x00000012 
+ 00030462  0x00007d61 isub  0x00000002 , 0x0000003e 
+ 00030463  0x00007d62 nrtn  0x00000005 
+ 00030464  0x00007d63 increase  0x00000004 , 0x00000011 
+ 00030465  0x00007d64 increase  0x00000004 , 0x00000012 
+ 00030466  0x00007d65 loop  0x000076fb 
+ 00030467  0x00007d66 rtn 
+ 00030468  0x00007d6a force  0x00000006 , 0x00000039 
+ 00030469  0x00007d6b increase  0x00000014 , 0x00000011 
+ 00030470  0x00007d6c increase  0x00000014 , 0x00000012 
+ 00030471  0x00007d6e ifetch  0x00000004 , 0x00000012 
+ 00030472  0x00007d6f iforce  0x00000002 
+ 00030473  0x00007d70 ifetch  0x00000004 , 0x00000011 
+ 00030474  0x00007d71 isub  0x00000002 , 0x0000003f 
+ 00030475  0x00007d72 nrtn  0x00000002 
+ 00030476  0x00007d73 nrtn  0x00000034 
+ 00030477  0x00007d74 increase  0xfffffffc , 0x00000011 
+ 00030478  0x00007d75 increase  0xfffffffc , 0x00000012 
+ 00030479  0x00007d76 loop  0x00007707 
+ 00030480  0x00007d77 rtn 
+ 00030481  0x00007d7a force  0x00000006 , 0x00000039 
+ 00030482  0x00007d7b force  0x00000000 , 0x00000013 
+ 00030483  0x00007d7d ifetch  0x00000004 , 0x00000011 
+ 00030484  0x00007d7e iforce  0x00000002 
+ 00030485  0x00007d7f ifetch  0x00000004 , 0x00000012 
+ 00030486  0x00007d80 iadd  0x00000002 , 0x0000003f 
+ 00030487  0x00007d81 iadd  0x00000013 , 0x0000003f 
+ 00030488  0x00007d82 istore  0x00000004 , 0x00000005 
+ 00030489  0x00007d83 isolate1  0x00000020 , 0x0000003f 
+ 00030490  0x00007d84 setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030491  0x00007d85 increase  0x00000004 , 0x00000011 
+ 00030492  0x00007d86 increase  0x00000004 , 0x00000012 
+ 00030493  0x00007d87 loop  0x00007713 
+ 00030494  0x00007d88 rtn 
+ 00030495  0x00007d8b force  0x00000006 , 0x00000039 
+ 00030496  0x00007d8c force  0x00000000 , 0x00000013 
+ 00030497  0x00007d8e ifetch  0x00000004 , 0x00000012 
+ 00030498  0x00007d8f iforce  0x00000002 
+ 00030499  0x00007d90 ifetch  0x00000004 , 0x00000011 
+ 00030500  0x00007d91 isub  0x00000002 , 0x0000003f 
+ 00030501  0x00007d92 isub  0x00000013 , 0x0000003f 
+ 00030502  0x00007d93 istore  0x00000004 , 0x00000005 
+ 00030503  0x00007d94 isolate1  0x00000020 , 0x0000003f 
+ 00030504  0x00007d95 setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030505  0x00007d96 increase  0x00000004 , 0x00000011 
+ 00030506  0x00007d97 increase  0x00000004 , 0x00000012 
+ 00030507  0x00007d98 loop  0x00007721 
+ 00030508  0x00007d99 rtn 
+ 00030509  0x00007d9c force  0x00000006 , 0x00000039 
+ 00030510  0x00007d9d increase  0x00000014 , 0x00000011 
+ 00030511  0x00007d9f force  0x00000000 , 0x00000013 
+ 00030512  0x00007da1 ifetch  0x00000004 , 0x00000011 
+ 00030513  0x00007da2 isolate1  0x00000000 , 0x0000003f 
+ 00030514  0x00007da3 setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030515  0x00007da4 rshift  0x0000003f , 0x0000003f 
+ 00030516  0x00007da5 isolate1  0x00000000 , 0x00000013 
+ 00030517  0x00007da6 setflag  0x00000001 , 0x0000001f , 0x0000003f 
+ 00030518  0x00007da7 istore  0x00000004 , 0x00000011 
+ 00030519  0x00007da8 increase  0xfffffffc , 0x00000011 
+ 00030520  0x00007da9 rshift  0x00000013 , 0x00000013 
+ 00030521  0x00007daa loop  0x00007730 
+ 00030522  0x00007dab rtn 
+ 00030523  0x00007dae force  0x00000006 , 0x00000039 
+ 00030524  0x00007daf force  0x00000000 , 0x00000013 
+ 00030525  0x00007db1 ifetch  0x00000004 , 0x00000011 
+ 00030526  0x00007db2 isolate1  0x0000001f , 0x0000003f 
+ 00030527  0x00007db3 setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030528  0x00007db4 lshift  0x0000003f , 0x0000003f 
+ 00030529  0x00007db5 isolate1  0x00000000 , 0x00000013 
+ 00030530  0x00007db6 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00030531  0x00007db7 istore  0x00000004 , 0x00000011 
+ 00030532  0x00007db8 increase  0x00000004 , 0x00000011 
+ 00030533  0x00007db9 rshift  0x00000013 , 0x00000013 
+ 00030534  0x00007dba loop  0x0000773d 
+ 00030535  0x00007dbb rtn 
+ 00030536  0x00007dbe call  0x0000773b 
+ 00030537  0x00007dc0 isolate1  0x00000000 , 0x00000013 
+ 00030538  0x00007dc1 branch  0x00007751 , 0x00000001 
+ 00030539  0x00007dc2 arg  0x00000886 , 0x00000012 
+ 00030540  0x00007dc3 copy  0x00000011 , 0x00000013 
+ 00030541  0x00007dc4 increase  0xffffffe8 , 0x00000011 
+ 00030542  0x00007dc5 call  0x00007704 
+ 00030543  0x00007dc6 nrtn  0x00000002 
+ 00030544  0x00007dc7 copy  0x00000013 , 0x00000011 
+ 00030545  0x00007dc9 increase  0xffffffe8 , 0x00000011 
+ 00030546  0x00007dca arg  0x00000886 , 0x00000012 
+ 00030547  0x00007dcb copy  0x00000011 , 0x00000005 
+ 00030548  0x00007dcc branch  0x0000771f 
+ 00030549  0x00007dd0 call  0x00007711 
+ 00030550  0x00007dd1 copy  0x00000005 , 0x00000011 
+ 00030551  0x00007dd2 branch  0x00007749 
+ 00030552  0x00007dd5 call  0x0000771f 
+ 00030553  0x00007dd6 isolate0  0x00000000 , 0x00000013 
+ 00030554  0x00007dd7 rtn  0x00000001 
+ 00030555  0x00007dd8 arg  0x00000886 , 0x00000012 
+ 00030556  0x00007dd9 add  0x00000005 , 0xffffffe8 , 0x00000011 
+ 00030557  0x00007dda copy  0x00000011 , 0x00000005 
+ 00030558  0x00007ddb branch  0x00007711 
+ 00030559  0x00007ddf copy  0x00000005 , 0x0000000b 
+ 00030560  0x00007de0 copy  0x00000011 , 0x00000030 
+ 00030561  0x00007de1 arg  0x00000716 , 0x00000012 
+ 00030562  0x00007de2 copy  0x00000012 , 0x00000005 
+ 00030563  0x00007de3 add  0x00000011 , 0x00000018 , 0x00000006 
+ 00030564  0x00007de4 ifetch  0x00000008 , 0x00000006 
+ 00030565  0x00007de5 istore  0x00000008 , 0x00000005 
+ 00030566  0x00007de6 istore  0x00000008 , 0x00000005 
+ 00030567  0x00007de7 force  0x00000000 , 0x0000003f 
+ 00030568  0x00007de8 istore  0x00000008 , 0x00000005 
+ 00030569  0x00007de9 copy  0x0000000b , 0x00000005 
+ 00030570  0x00007dea call  0x00007755 
+ 00030571  0x00007deb arg  0x00000716 , 0x00000012 
+ 00030572  0x00007dec copy  0x00000012 , 0x00000005 
+ 00030573  0x00007ded force  0x00000000 , 0x0000003f 
+ 00030574  0x00007dee istore  0x00000008 , 0x00000005 
+ 00030575  0x00007def add  0x00000030 , 0x00000020 , 0x00000006 
+ 00030576  0x00007df0 ifetch  0x00000008 , 0x00000006 
+ 00030577  0x00007df1 istore  0x00000008 , 0x00000005 
+ 00030578  0x00007df2 istore  0x00000008 , 0x00000005 
+ 00030579  0x00007df3 copy  0x0000000b , 0x00000011 
+ 00030580  0x00007df4 copy  0x00000011 , 0x00000005 
+ 00030581  0x00007df5 call  0x00007755 
+ 00030582  0x00007df6 arg  0x00000716 , 0x00000012 
+ 00030583  0x00007df7 copy  0x00000012 , 0x00000005 
+ 00030584  0x00007df8 add  0x00000030 , 0x00000028 , 0x00000006 
+ 00030585  0x00007df9 ifetch  0x00000008 , 0x00000006 
+ 00030586  0x00007dfa istore  0x00000008 , 0x00000005 
+ 00030587  0x00007dfb istore  0x00000008 , 0x00000005 
+ 00030588  0x00007dfc istore  0x00000008 , 0x00000005 
+ 00030589  0x00007dfd copy  0x0000000b , 0x00000011 
+ 00030590  0x00007dfe copy  0x00000011 , 0x00000005 
+ 00030591  0x00007dff branch  0x00007755 
+ 00030592  0x00007e03 force  0x00000006 , 0x00000039 
+ 00030593  0x00007e05 ifetch  0x00000004 , 0x00000006 
+ 00030594  0x00007e06 iforce  0x0000002f 
+ 00030595  0x00007e07 increase  0x00000001 , 0x00000038 
+ 00030596  0x00007e08 loop  0x00007781 
+ 00030597  0x00007e09 rtn 
+ 00030598  0x00007e0e copy  0x00000005 , 0x0000000b 
+ 00030599  0x00007e0f arg  0x000006e6 , 0x00000005 
+ 00030600  0x00007e10 call  0x00007ec5 
+ 00030601  0x00007e11 arg  0x000006e6 , 0x00000005 
+ 00030602  0x00007e12 copy  0x00000011 , 0x00000006 
+ 00030603  0x00007e13 force  0x00000000 , 0x00000038 
+ 00030604  0x00007e14 call  0x00007780 
+ 00030605  0x00007e15 copy  0x00000012 , 0x00000006 
+ 00030606  0x00007e16 call  0x00007780 
+ 00030607  0x00007e17 force  0x00000000 , 0x00000012 
+ 00030608  0x00007e19 force  0x00000000 , 0x00000002 
+ 00030609  0x00007e1a force  0x00000006 , 0x00000013 
+ 00030610  0x00007e1c ifetch  0x00000004 , 0x00000005 
+ 00030611  0x00007e1d iforce  0x00000011 
+ 00030612  0x00007e1e copy  0x00000012 , 0x00000038 
+ 00030613  0x00007e1f deposit  0x0000002f 
+ 00030614  0x00007e20 copy  0x00000013 , 0x00000038 
+ 00030615  0x00007e21 imul32  0x0000002f , 0x0000003f 
+ 00030616  0x00007e22 iadd  0x00000011 , 0x0000003f 
+ 00030617  0x00007e23 iadd  0x00000002 , 0x0000003f 
+ 00030618  0x00007e24 istore  0x00000004 , 0x00000005 
+ 00030619  0x00007e25 rshift32  0x0000003f , 0x00000002 
+ 00030620  0x00007e26 increase  0x00000001 , 0x00000013 
+ 00030621  0x00007e27 compare  0x0000000c , 0x00000013 , 0x000000ff 
+ 00030622  0x00007e28 nbranch  0x00007792 , 0x00000001 
+ 00030623  0x00007e29 deposit  0x00000002 
+ 00030624  0x00007e2a istore  0x00000004 , 0x00000005 
+ 00030625  0x00007e2b increase  0xffffffe8 , 0x00000005 
+ 00030626  0x00007e2c increase  0x00000001 , 0x00000012 
+ 00030627  0x00007e2d compare  0x00000006 , 0x00000012 , 0x000000ff 
+ 00030628  0x00007e2e nbranch  0x00007790 , 0x00000001 
+ 00030629  0x00007e2f arg  0x000006e6 , 0x00000011 
+ 00030630  0x00007e30 copy  0x0000000b , 0x00000005 
+ 00030631  0x00007e31 branch  0x0000775f 
+ 00030632  0x00007e35 copy  0x00000011 , 0x00000012 
+ 00030633  0x00007e36 branch  0x00007786 
+ 00030634  0x00007e39 copy  0x00000011 , 0x00000030 
+ 00030635  0x00007e3b copy  0x00000030 , 0x00000011 
+ 00030636  0x00007e3c ifetch  0x00000001 , 0x00000011 
+ 00030637  0x00007e3d isolate1  0x00000000 , 0x0000003f 
+ 00030638  0x00007e3e rtn  0x00000001 
+ 00030639  0x00007e3f call  0x0000772d 
+ 00030640  0x00007e40 ifetch  0x00000001 , 0x00000012 
+ 00030641  0x00007e41 isolate0  0x00000000 , 0x0000003f 
+ 00030642  0x00007e42 branch  0x000077ba , 0x00000001 
+ 00030643  0x00007e43 arg  0x00000886 , 0x00000011 
+ 00030644  0x00007e44 copy  0x00000012 , 0x00000005 
+ 00030645  0x00007e45 call  0x00007711 
+ 00030646  0x00007e46 ifetch  0x00000001 , 0x00000012 
+ 00030647  0x00007e47 iadd  0x00000013 , 0x0000003f 
+ 00030648  0x00007e48 istore  0x00000001 , 0x00000012 
+ 00030649  0x00007e49 increase  0xffffffe8 , 0x00000012 
+ 00030650  0x00007e4b add  0x00000012 , 0x00000018 , 0x00000011 
+ 00030651  0x00007e4c force  0x00000007 , 0x00000039 
+ 00030652  0x00007e4d call  0x0000772f 
+ 00030653  0x00007e4e branch  0x000077ab 
+ 00030654  0x00007e52 copy  0x00000005 , 0x0000000b 
+ 00030655  0x00007e53 arg  0x00000746 , 0x00000005 
+ 00030656  0x00007e54 call  0x00007ec5 
+ 00030657  0x00007e55 force  0x00000000 , 0x0000003f 
+ 00030658  0x00007e56 store  0x00000004 , 0x000006fe 
+ 00030659  0x00007e57 store  0x00000004 , 0x0000075e 
+ 00030660  0x00007e58 jam  0x00000001 , 0x00000746 
+ 00030661  0x00007e59 arg  0x000006e6 , 0x00000005 
+ 00030662  0x00007e5a call  0x00007ec5 
+ 00030663  0x00007e5b arg  0x00000886 , 0x00000006 
+ 00030664  0x00007e5c arg  0x00000716 , 0x00000005 
+ 00030665  0x00007e5d call  0x00007ebe 
+ 00030666  0x00007e5e copy  0x00000011 , 0x00000006 
+ 00030667  0x00007e5f arg  0x0000072e , 0x00000005 
+ 00030668  0x00007e60 call  0x00007ebe 
+ 00030669  0x00007e62 arg  0x0000072e , 0x00000006 
+ 00030670  0x00007e63 call  0x000076f5 
+ 00030671  0x00007e64 branch  0x000077f6 , 0x00000034 
+ 00030672  0x00007e65 arg  0x0000072e , 0x00000011 
+ 00030673  0x00007e66 arg  0x00000746 , 0x00000012 
+ 00030674  0x00007e67 call  0x000077aa 
+ 00030675  0x00007e69 arg  0x00000716 , 0x00000011 
+ 00030676  0x00007e6a arg  0x000006e6 , 0x00000012 
+ 00030677  0x00007e6b call  0x000077aa 
+ 00030678  0x00007e6c arg  0x0000072e , 0x00000011 
+ 00030679  0x00007e6d arg  0x00000716 , 0x00000012 
+ 00030680  0x00007e6e call  0x00007704 
+ 00030681  0x00007e6f branch  0x000077e8 , 0x00000002 
+ 00030682  0x00007e70 arg  0x00000716 , 0x00000011 
+ 00030683  0x00007e71 arg  0x0000072e , 0x00000012 
+ 00030684  0x00007e72 copy  0x00000011 , 0x00000005 
+ 00030685  0x00007e73 call  0x0000771f 
+ 00030686  0x00007e74 arg  0x00000746 , 0x00000011 
+ 00030687  0x00007e75 arg  0x000006e6 , 0x00000012 
+ 00030688  0x00007e76 copy  0x00000012 , 0x00000005 
+ 00030689  0x00007e77 call  0x00007711 
+ 00030690  0x00007e78 ifetch  0x00000001 , 0x00000011 
+ 00030691  0x00007e79 iadd  0x00000013 , 0x00000013 
+ 00030692  0x00007e7a ifetch  0x00000001 , 0x00000012 
+ 00030693  0x00007e7b iadd  0x00000013 , 0x0000003f 
+ 00030694  0x00007e7c istore  0x00000001 , 0x00000012 
+ 00030695  0x00007e7d branch  0x000077cd 
+ 00030696  0x00007e7f arg  0x0000072e , 0x00000011 
+ 00030697  0x00007e80 arg  0x00000716 , 0x00000012 
+ 00030698  0x00007e81 copy  0x00000011 , 0x00000005 
+ 00030699  0x00007e82 call  0x0000771f 
+ 00030700  0x00007e83 arg  0x000006e6 , 0x00000011 
+ 00030701  0x00007e84 arg  0x00000746 , 0x00000012 
+ 00030702  0x00007e85 copy  0x00000012 , 0x00000005 
+ 00030703  0x00007e86 call  0x00007711 
+ 00030704  0x00007e87 ifetch  0x00000001 , 0x00000011 
+ 00030705  0x00007e88 iadd  0x00000013 , 0x00000013 
+ 00030706  0x00007e89 ifetch  0x00000001 , 0x00000012 
+ 00030707  0x00007e8a iadd  0x00000013 , 0x0000003f 
+ 00030708  0x00007e8b istore  0x00000001 , 0x00000012 
+ 00030709  0x00007e8c branch  0x000077cd 
+ 00030710  0x00007e8e arg  0x00000746 , 0x00000005 
+ 00030711  0x00007e8f call  0x00007ec5 
+ 00030712  0x00007e90 fetch  0x00000001 , 0x000006fe 
+ 00030713  0x00007e91 store  0x00000001 , 0x00000746 
+ 00030714  0x00007e92 store  0x00000001 , 0x0000074e 
+ 00030715  0x00007e93 arg  0x00000746 , 0x00000011 
+ 00030716  0x00007e94 arg  0x000006e6 , 0x00000012 
+ 00030717  0x00007e95 copy  0x00000012 , 0x00000005 
+ 00030718  0x00007e96 call  0x00007755 
+ 00030719  0x00007e97 arg  0x00000886 , 0x00000011 
+ 00030720  0x00007e98 arg  0x000006e6 , 0x00000012 
+ 00030721  0x00007e99 copy  0x0000000b , 0x00000005 
+ 00030722  0x00007e9a branch  0x00007758 
+ 00030723  0x00007ea0 arg  0x000006a6 , 0x00000011 
+ 00030724  0x00007ea1 arg  0x0000075e , 0x00000005 
+ 00030725  0x00007ea2 call  0x000077a8 
+ 00030726  0x00007ea3 arg  0x0000075e , 0x00000011 
+ 00030727  0x00007ea4 arg  0x00000776 , 0x00000005 
+ 00030728  0x00007ea5 call  0x000077a8 
+ 00030729  0x00007ea6 arg  0x0000089e , 0x00000011 
+ 00030730  0x00007ea7 arg  0x00000776 , 0x00000012 
+ 00030731  0x00007ea8 arg  0x00000776 , 0x00000005 
+ 00030732  0x00007ea9 call  0x00007786 
+ 00030733  0x00007eaa arg  0x00000676 , 0x00000011 
+ 00030734  0x00007eab arg  0x0000075e , 0x00000005 
+ 00030735  0x00007eac call  0x000077a8 
+ 00030736  0x00007ead arg  0x0000075e , 0x00000006 
+ 00030737  0x00007eae arg  0x0000072e , 0x00000005 
+ 00030738  0x00007eaf call  0x00007ebe 
+ 00030739  0x00007eb0 arg  0x0000072e , 0x00000011 
+ 00030740  0x00007eb1 call  0x00007748 
+ 00030741  0x00007eb2 arg  0x0000075e , 0x00000011 
+ 00030742  0x00007eb3 arg  0x0000072e , 0x00000012 
+ 00030743  0x00007eb4 arg  0x0000075e , 0x00000005 
+ 00030744  0x00007eb5 call  0x00007755 
+ 00030745  0x00007eb6 arg  0x0000075e , 0x00000011 
+ 00030746  0x00007eb7 arg  0x00000776 , 0x00000012 
+ 00030747  0x00007eb8 arg  0x0000075e , 0x00000005 
+ 00030748  0x00007eb9 call  0x00007755 
+ 00030749  0x00007eba arg  0x00000676 , 0x00000006 
+ 00030750  0x00007ebb arg  0x0000072e , 0x00000005 
+ 00030751  0x00007ebc call  0x00007ebe 
+ 00030752  0x00007ebd arg  0x0000068e , 0x00000011 
+ 00030753  0x00007ebe arg  0x00000776 , 0x00000005 
+ 00030754  0x00007ebf call  0x000077a8 
+ 00030755  0x00007ec0 arg  0x0000072e , 0x00000011 
+ 00030756  0x00007ec1 call  0x00007748 
+ 00030757  0x00007ec2 arg  0x0000072e , 0x00000011 
+ 00030758  0x00007ec3 call  0x00007748 
+ 00030759  0x00007ec4 arg  0x0000072e , 0x00000011 
+ 00030760  0x00007ec5 arg  0x00000776 , 0x00000012 
+ 00030761  0x00007ec6 arg  0x0000072e , 0x00000005 
+ 00030762  0x00007ec7 call  0x00007786 
+ 00030763  0x00007ec8 arg  0x00000776 , 0x00000011 
+ 00030764  0x00007ec9 arg  0x00000746 , 0x00000005 
+ 00030765  0x00007eca call  0x000077a8 
+ 00030766  0x00007ecb arg  0x00000746 , 0x00000011 
+ 00030767  0x00007ecc call  0x00007748 
+ 00030768  0x00007ecd arg  0x00000746 , 0x00000011 
+ 00030769  0x00007ece call  0x00007748 
+ 00030770  0x00007ecf arg  0x00000746 , 0x00000011 
+ 00030771  0x00007ed0 call  0x00007748 
+ 00030772  0x00007ed1 arg  0x0000068e , 0x00000006 
+ 00030773  0x00007ed2 arg  0x00000776 , 0x00000005 
+ 00030774  0x00007ed3 call  0x00007ebe 
+ 00030775  0x00007ed4 arg  0x00000776 , 0x00000011 
+ 00030776  0x00007ed5 call  0x00007748 
+ 00030777  0x00007ed6 arg  0x00000776 , 0x00000011 
+ 00030778  0x00007ed7 arg  0x000006a6 , 0x00000012 
+ 00030779  0x00007ed8 arg  0x000006a6 , 0x00000005 
+ 00030780  0x00007ed9 call  0x00007786 
+ 00030781  0x00007eda arg  0x0000075e , 0x00000011 
+ 00030782  0x00007edb arg  0x00000776 , 0x00000005 
+ 00030783  0x00007edc call  0x000077a8 
+ 00030784  0x00007edd arg  0x00000776 , 0x00000011 
+ 00030785  0x00007ede arg  0x0000072e , 0x00000012 
+ 00030786  0x00007edf arg  0x00000776 , 0x00000005 
+ 00030787  0x00007ee0 call  0x00007758 
+ 00030788  0x00007ee1 arg  0x00000776 , 0x00000011 
+ 00030789  0x00007ee2 arg  0x0000072e , 0x00000012 
+ 00030790  0x00007ee3 arg  0x00000676 , 0x00000005 
+ 00030791  0x00007ee4 call  0x00007758 
+ 00030792  0x00007ee5 arg  0x0000072e , 0x00000011 
+ 00030793  0x00007ee6 arg  0x00000676 , 0x00000012 
+ 00030794  0x00007ee7 arg  0x00000776 , 0x00000005 
+ 00030795  0x00007ee8 call  0x00007758 
+ 00030796  0x00007ee9 arg  0x00000776 , 0x00000011 
+ 00030797  0x00007eea arg  0x0000075e , 0x00000012 
+ 00030798  0x00007eeb arg  0x00000776 , 0x00000005 
+ 00030799  0x00007eec call  0x00007786 
+ 00030800  0x00007eed arg  0x00000776 , 0x00000011 
+ 00030801  0x00007eee arg  0x00000746 , 0x00000012 
+ 00030802  0x00007eef arg  0x0000068e , 0x00000005 
+ 00030803  0x00007ef0 branch  0x00007758 
+ 00030804  0x00007ef5 arg  0x00000616 , 0x00000011 
+ 00030805  0x00007ef6 arg  0x0000078e , 0x00000005 
+ 00030806  0x00007ef7 call  0x000077a8 
+ 00030807  0x00007ef8 arg  0x00000676 , 0x00000011 
+ 00030808  0x00007ef9 arg  0x0000078e , 0x00000012 
+ 00030809  0x00007efa arg  0x00000746 , 0x00000005 
+ 00030810  0x00007efb call  0x00007786 
+ 00030811  0x00007efc arg  0x00000616 , 0x00000011 
+ 00030812  0x00007efd arg  0x0000078e , 0x00000012 
+ 00030813  0x00007efe arg  0x0000078e , 0x00000005 
+ 00030814  0x00007eff call  0x00007786 
+ 00030815  0x00007f00 arg  0x0000068e , 0x00000011 
+ 00030816  0x00007f01 arg  0x0000078e , 0x00000012 
+ 00030817  0x00007f02 arg  0x0000072e , 0x00000005 
+ 00030818  0x00007f03 call  0x00007786 
+ 00030819  0x00007f04 arg  0x000006a6 , 0x00000011 
+ 00030820  0x00007f05 arg  0x0000078e , 0x00000005 
+ 00030821  0x00007f06 call  0x000077a8 
+ 00030822  0x00007f07 arg  0x000005e6 , 0x00000011 
+ 00030823  0x00007f08 arg  0x0000078e , 0x00000012 
+ 00030824  0x00007f09 arg  0x0000075e , 0x00000005 
+ 00030825  0x00007f0a call  0x00007786 
+ 00030826  0x00007f0b arg  0x000006a6 , 0x00000011 
+ 00030827  0x00007f0c arg  0x0000078e , 0x00000012 
+ 00030828  0x00007f0d arg  0x0000078e , 0x00000005 
+ 00030829  0x00007f0e call  0x00007786 
+ 00030830  0x00007f0f arg  0x000005fe , 0x00000011 
+ 00030831  0x00007f10 arg  0x0000078e , 0x00000012 
+ 00030832  0x00007f11 arg  0x00000776 , 0x00000005 
+ 00030833  0x00007f12 call  0x00007786 
+ 00030834  0x00007f13 arg  0x00000746 , 0x00000011 
+ 00030835  0x00007f14 arg  0x0000075e , 0x00000012 
+ 00030836  0x00007f15 arg  0x0000078e , 0x00000005 
+ 00030837  0x00007f16 call  0x00007758 
+ 00030838  0x00007f17 arg  0x00000746 , 0x00000011 
+ 00030839  0x00007f18 arg  0x0000075e , 0x00000012 
+ 00030840  0x00007f19 arg  0x00000746 , 0x00000005 
+ 00030841  0x00007f1a call  0x00007755 
+ 00030842  0x00007f1b arg  0x0000072e , 0x00000011 
+ 00030843  0x00007f1c arg  0x00000776 , 0x00000012 
+ 00030844  0x00007f1d arg  0x0000075e , 0x00000005 
+ 00030845  0x00007f1e call  0x00007758 
+ 00030846  0x00007f1f arg  0x0000072e , 0x00000011 
+ 00030847  0x00007f20 arg  0x00000776 , 0x00000012 
+ 00030848  0x00007f21 arg  0x0000072e , 0x00000005 
+ 00030849  0x00007f22 call  0x00007755 
+ 00030850  0x00007f23 arg  0x0000072e , 0x00000011 
+ 00030851  0x00007f24 arg  0x0000078e , 0x00000012 
+ 00030852  0x00007f25 arg  0x0000072e , 0x00000005 
+ 00030853  0x00007f26 call  0x00007786 
+ 00030854  0x00007f27 arg  0x000006a6 , 0x00000011 
+ 00030855  0x00007f28 arg  0x00000616 , 0x00000012 
+ 00030856  0x00007f29 arg  0x00000776 , 0x00000005 
+ 00030857  0x00007f2a call  0x00007786 
+ 00030858  0x00007f2b arg  0x00000776 , 0x00000011 
+ 00030859  0x00007f2c arg  0x0000078e , 0x00000012 
+ 00030860  0x00007f2d arg  0x000006a6 , 0x00000005 
+ 00030861  0x00007f2e call  0x00007786 
+ 00030862  0x00007f2f arg  0x0000078e , 0x00000011 
+ 00030863  0x00007f30 arg  0x0000078e , 0x00000005 
+ 00030864  0x00007f31 call  0x000077a8 
+ 00030865  0x00007f32 arg  0x0000078e , 0x00000011 
+ 00030866  0x00007f33 arg  0x00000746 , 0x00000012 
+ 00030867  0x00007f34 arg  0x00000776 , 0x00000005 
+ 00030868  0x00007f35 call  0x00007786 
+ 00030869  0x00007f36 arg  0x0000078e , 0x00000011 
+ 00030870  0x00007f37 arg  0x0000072e , 0x00000012 
+ 00030871  0x00007f38 arg  0x0000072e , 0x00000005 
+ 00030872  0x00007f39 call  0x00007786 
+ 00030873  0x00007f3a arg  0x0000075e , 0x00000011 
+ 00030874  0x00007f3b arg  0x00000676 , 0x00000005 
+ 00030875  0x00007f3c call  0x000077a8 
+ 00030876  0x00007f3d arg  0x00000676 , 0x00000011 
+ 00030877  0x00007f3e arg  0x00000776 , 0x00000012 
+ 00030878  0x00007f3f arg  0x00000676 , 0x00000005 
+ 00030879  0x00007f40 call  0x00007758 
+ 00030880  0x00007f41 arg  0x00000676 , 0x00000006 
+ 00030881  0x00007f42 arg  0x0000078e , 0x00000005 
+ 00030882  0x00007f43 call  0x00007ebe 
+ 00030883  0x00007f44 arg  0x0000078e , 0x00000011 
+ 00030884  0x00007f45 call  0x00007748 
+ 00030885  0x00007f46 arg  0x00000776 , 0x00000011 
+ 00030886  0x00007f47 arg  0x0000078e , 0x00000012 
+ 00030887  0x00007f48 arg  0x00000776 , 0x00000005 
+ 00030888  0x00007f49 call  0x00007758 
+ 00030889  0x00007f4a arg  0x00000776 , 0x00000011 
+ 00030890  0x00007f4b arg  0x0000075e , 0x00000012 
+ 00030891  0x00007f4c arg  0x0000075e , 0x00000005 
+ 00030892  0x00007f4d call  0x00007786 
+ 00030893  0x00007f4e arg  0x0000075e , 0x00000011 
+ 00030894  0x00007f4f arg  0x0000072e , 0x00000012 
+ 00030895  0x00007f50 arg  0x0000068e , 0x00000005 
+ 00030896  0x00007f51 call  0x00007758 
+ 00030897  0x00007f52 arg  0x0000068e , 0x00000011 
+ 00030898  0x00007f53 arg  0x00000886 , 0x00000012 
+ 00030899  0x00007f54 arg  0x0000068e , 0x00000005 
+ 00030900  0x00007f55 force  0x00000000 , 0x00000013 
+ 00030901  0x00007f56 fetch  0x00000001 , 0x0000068e 
+ 00030902  0x00007f57 isolate1  0x00000000 , 0x0000003f 
+ 00030903  0x00007f58 call  0x00007711 , 0x00000001 
+ 00030904  0x00007f59 copy  0x00000013 , 0x00000030 
+ 00030905  0x00007f5a arg  0x0000068e , 0x00000011 
+ 00030906  0x00007f5b call  0x0000772d 
+ 00030907  0x00007f5c fetch  0x00000001 , 0x000006a5 
+ 00030908  0x00007f5d isolate1  0x00000000 , 0x00000030 
+ 00030909  0x00007f5e setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00030910  0x00007f5f store  0x00000001 , 0x000006a5 
+ 00030911  0x00007f60 rtn 
+ 00030912  0x00007f65 fetch  0x00000001 , 0x000005e3 
+ 00030913  0x00007f66 increase  0xffffffff , 0x0000003f 
+ 00030914  0x00007f67 nrtn  0x00000002 
+ 00030915  0x00007f68 store  0x00000001 , 0x000005e3 
+ 00030916  0x00007f69 fetch  0x00000001 , 0x000005e2 
+ 00030917  0x00007f6a call  0x00007803 , 0x00000034 
+ 00030918  0x00007f6b fetch  0x00000001 , 0x000005e3 
+ 00030919  0x00007f6c arg  0x000006be , 0x00000006 
+ 00030920  0x00007f6d call  0x000076ec 
+ 00030921  0x00007f6e branch  0x000078c0 , 0x00000001 
+ 00030922  0x00007f6f fetch  0x00000001 , 0x000005e2 
+ 00030923  0x00007f70 nbranch  0x000078ce , 0x00000034 
+ 00030924  0x00007f71 call  0x00007854 
+ 00030925  0x00007f72 branch  0x000078c0 
+ 00030926  0x00007f74 jam  0x00000000 , 0x000005e2 
+ 00030927  0x00007f75 arg  0x000005e6 , 0x00000006 
+ 00030928  0x00007f76 arg  0x00000676 , 0x00000005 
+ 00030929  0x00007f77 call  0x000076f2 
+ 00030930  0x00007f78 branch  0x000078c0 
+ 00030931  0x00007f7c arg  0x000006a6 , 0x00000011 
+ 00030932  0x00007f7d arg  0x00000776 , 0x00000005 
+ 00030933  0x00007f7e call  0x000077be 
+ 00030934  0x00007f7f arg  0x00000776 , 0x00000011 
+ 00030935  0x00007f80 arg  0x0000072e , 0x00000005 
+ 00030936  0x00007f81 call  0x000077a8 
+ 00030937  0x00007f82 arg  0x00000676 , 0x00000011 
+ 00030938  0x00007f83 arg  0x0000072e , 0x00000012 
+ 00030939  0x00007f84 arg  0x0000062e , 0x00000005 
+ 00030940  0x00007f85 call  0x00007786 
+ 00030941  0x00007f86 arg  0x00000776 , 0x00000011 
+ 00030942  0x00007f87 arg  0x0000072e , 0x00000012 
+ 00030943  0x00007f88 arg  0x0000075e , 0x00000005 
+ 00030944  0x00007f89 call  0x00007786 
+ 00030945  0x00007f8a arg  0x0000068e , 0x00000011 
+ 00030946  0x00007f8b arg  0x0000075e , 0x00000012 
+ 00030947  0x00007f8c arg  0x00000646 , 0x00000005 
+ 00030948  0x00007f8d branch  0x00007786 
+ 00030949  0x00007f92 ifetch  0x00000004 , 0x00000006 
+ 00030950  0x00007f93 force  0x00000004 , 0x00000011 
+ 00030951  0x00007f94 increase  0x00000003 , 0x00000005 
+ 00030952  0x00007f96 istore  0x00000001 , 0x00000005 
+ 00030953  0x00007f97 rshift8  0x0000003f , 0x0000003f 
+ 00030954  0x00007f98 increase  0xfffffffe , 0x00000005 
+ 00030955  0x00007f99 increase  0xffffffff , 0x00000011 
+ 00030956  0x00007f9a nbranch  0x000078e8 , 0x00000005 
+ 00030957  0x00007f9b increase  0x00000005 , 0x00000005 
+ 00030958  0x00007f9c loop  0x000078e5 
+ 00030959  0x00007f9d rtn 
+ 00030960  0x00007fa1 lshift2  0x00000007 , 0x0000003f 
+ 00030961  0x00007fa2 iadd  0x0000000b , 0x00000006 
+ 00030962  0x00007fa3 ifetch  0x00000004 , 0x00000006 
+ 00030963  0x00007fa4 rtn 
+ 00030964  0x00007fa7 force  0x00000010 , 0x00000030 
+ 00030965  0x00007fa8 arg  0x000005e6 , 0x0000000b 
+ 00030966  0x00007faa add  0x00000030 , 0xfffffff9 , 0x00000007 
+ 00030967  0x00007fab call  0x000078f0 
+ 00030968  0x00007fac iforce  0x00000002 
+ 00030969  0x00007fad add  0x00000030 , 0xfffffff0 , 0x00000007 
+ 00030970  0x00007fae call  0x000078f0 
+ 00030971  0x00007faf iadd  0x00000002 , 0x00000002 
+ 00030972  0x00007fb0 add  0x00000030 , 0xfffffffe , 0x00000007 
+ 00030973  0x00007fb1 call  0x000078f0 
+ 00030974  0x00007fb2 shasx  0x0000003f , 0x00000001 , 0x0000003f 
+ 00030975  0x00007fb3 iadd  0x00000002 , 0x00000002 
+ 00030976  0x00007fb4 add  0x00000030 , 0xfffffff1 , 0x00000007 
+ 00030977  0x00007fb5 call  0x000078f0 
+ 00030978  0x00007fb6 shasx  0x0000003f , 0x00000000 , 0x0000003f 
+ 00030979  0x00007fb7 iadd  0x00000002 , 0x00000002 
+ 00030980  0x00007fb8 lshift2  0x00000030 , 0x0000003f 
+ 00030981  0x00007fb9 iadd  0x0000000b , 0x00000005 
+ 00030982  0x00007fba istoret  0x00000004 , 0x00000005 
+ 00030983  0x00007fbb increase  0x00000001 , 0x00000030 
+ 00030984  0x00007fbc compare  0x00000040 , 0x00000030 , 0x000000ff 
+ 00030985  0x00007fbd nbranch  0x000078f6 , 0x00000001 
+ 00030986  0x00007fbe rtn 
+ 00030987  0x00007fc2 arg  0x000008fe , 0x00000006 
+ 00030988  0x00007fc3 force  0x00000007 , 0x00000038 
+ 00030989  0x00007fc5 ifetch  0x00000004 , 0x00000006 
+ 00030990  0x00007fc6 iforce  0x0000002f 
+ 00030991  0x00007fc7 increase  0xffffffff , 0x00000038 
+ 00030992  0x00007fc8 branch  0x0000790d , 0x00000002 
+ 00030993  0x00007fc9 rtn 
+ 00030994  0x00007fcc bpatchx  0x000000ec , 0x0000403d 
+ 00030995  0x00007fcd call  0x000078f4 
+ 00030996  0x00007fce arg  0x000006e6 , 0x00000005 
+ 00030997  0x00007fcf force  0x00000000 , 0x00000038 
+ 00030998  0x00007fd1 deposit  0x0000002f 
+ 00030999  0x00007fd2 istore  0x00000004 , 0x00000005 
+ 00031000  0x00007fd3 increase  0x00000001 , 0x00000038 
+ 00031001  0x00007fd4 compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00031002  0x00007fd5 nbranch  0x00007916 , 0x00000001 
+ 00031003  0x00007fd6 call  0x000074b9 
+ 00031004  0x00007fd7 arg  0x00008700 , 0x0000000b 
+ 00031005  0x00007fd8 arg  0x000005e6 , 0x00000030 
+ 00031006  0x00007fd9 force  0x00000040 , 0x00000039 
+ 00031007  0x00007fdb ifetcht  0x00000004 , 0x00000030 
+ 00031008  0x00007fdc ifetch  0x00000004 , 0x0000000b 
+ 00031009  0x00007fdd increase  0x00000004 , 0x0000000b 
+ 00031010  0x00007fde increase  0x00000004 , 0x00000030 
+ 00031011  0x00007fdf iadd  0x00000002 , 0x0000003f 
+ 00031012  0x00007fe0 force  0x00000007 , 0x00000038 
+ 00031013  0x00007fe1 iadd  0x0000002f , 0x00000002 
+ 00031014  0x00007fe2 force  0x00000004 , 0x00000038 
+ 00031015  0x00007fe3 shasx  0x0000002f , 0x00000003 , 0x0000003f 
+ 00031016  0x00007fe4 iadd  0x00000002 , 0x00000002 
+ 00031017  0x00007fe5 force  0x00000005 , 0x00000038 
+ 00031018  0x00007fe6 deposit  0x0000002f 
+ 00031019  0x00007fe7 force  0x00000006 , 0x00000038 
+ 00031020  0x00007fe8 ixor  0x0000002f , 0x0000003f 
+ 00031021  0x00007fe9 force  0x00000004 , 0x00000038 
+ 00031022  0x00007fea iand  0x0000002f , 0x0000003f 
+ 00031023  0x00007feb force  0x00000006 , 0x00000038 
+ 00031024  0x00007fec ixor  0x0000002f , 0x0000003f 
+ 00031025  0x00007fed iadd  0x00000002 , 0x00000002 
+ 00031026  0x00007fee force  0x00000007 , 0x00000038 
+ 00031027  0x00007fef copy  0x00000002 , 0x0000002f 
+ 00031028  0x00007ff0 force  0x00000003 , 0x00000038 
+ 00031029  0x00007ff1 deposit  0x0000002f 
+ 00031030  0x00007ff2 iadd  0x00000002 , 0x0000002f 
+ 00031031  0x00007ff3 force  0x00000000 , 0x00000038 
+ 00031032  0x00007ff4 deposit  0x0000002f 
+ 00031033  0x00007ff5 force  0x00000001 , 0x00000038 
+ 00031034  0x00007ff6 iand  0x0000002f , 0x00000002 
+ 00031035  0x00007ff7 ior  0x0000002f , 0x0000003f 
+ 00031036  0x00007ff8 force  0x00000002 , 0x00000038 
+ 00031037  0x00007ff9 iand  0x0000002f , 0x0000003f 
+ 00031038  0x00007ffa ior  0x00000002 , 0x00000002 
+ 00031039  0x00007ffb force  0x00000000 , 0x00000038 
+ 00031040  0x00007ffc shasx  0x0000002f , 0x00000002 , 0x0000003f 
+ 00031041  0x00007ffd iadd  0x00000002 , 0x0000003f 
+ 00031042  0x00007ffe force  0x00000007 , 0x00000038 
+ 00031043  0x00007fff iadd  0x0000002f , 0x0000002f 
+ 00031044  0x00008000 regexrot 
+ 00031045  0x00008001 loop  0x0000791f 
+ 00031046  0x00008002 arg  0x000006e6 , 0x00000006 
+ 00031047  0x00008003 force  0x00000000 , 0x00000038 
+ 00031048  0x00008005 ifetch  0x00000004 , 0x00000006 
+ 00031049  0x00008006 iadd  0x0000002f , 0x0000002f 
+ 00031050  0x00008007 increase  0x00000001 , 0x00000038 
+ 00031051  0x00008008 compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00031052  0x00008009 nbranch  0x00007948 , 0x00000001 
+ 00031053  0x0000800a branch  0x000074bd 
+ 00031054  0x0000800e arg  0x00000a3e , 0x00000005 
+ 00031055  0x0000800f force  0x00000007 , 0x00000038 
+ 00031056  0x00008011 deposit  0x0000002f 
+ 00031057  0x00008012 istore  0x00000004 , 0x00000005 
+ 00031058  0x00008013 increase  0xffffffff , 0x00000038 
+ 00031059  0x00008014 branch  0x00007950 , 0x00000002 
+ 00031060  0x00008015 rtn 
+ 00031061  0x00008019 arg  0x000005e6 , 0x00000005 
+ 00031062  0x0000801a increase  0xfffffffc , 0x00000006 
+ 00031063  0x0000801b sub  0x00000039 , 0x00000010 , 0x00000011 
+ 00031064  0x0000801d ifetch  0x00000004 , 0x00000006 
+ 00031065  0x0000801e ixor  0x00000002 , 0x0000003f 
+ 00031066  0x0000801f istore  0x00000004 , 0x00000005 
+ 00031067  0x00008020 increase  0xfffffff8 , 0x00000006 
+ 00031068  0x00008021 loop  0x00007958 
+ 00031069  0x00008022 copy  0x00000011 , 0x00000039 
+ 00031070  0x00008023 deposit  0x00000002 
+ 00031071  0x00008025 istore  0x00000004 , 0x00000005 
+ 00031072  0x00008026 loop  0x0000795f 
+ 00031073  0x00008027 rtn 
+ 00031074  0x0000802a call  0x00007967 
+ 00031075  0x0000802b call  0x0000794e 
+ 00031076  0x0000802c branch  0x0000798d 
+ 00031077  0x0000802f call  0x00007967 
+ 00031078  0x00008030 branch  0x0000798d 
+ 00031079  0x00008033 arg  0x000009de , 0x00000006 
+ 00031080  0x00008034 arg  0x000005e6 , 0x00000005 
+ 00031081  0x00008035 force  0x00000006 , 0x00000039 
+ 00031082  0x00008036 call  0x00007a71 
+ 00031083  0x00008037 arg  0x00004642 , 0x00000006 
+ 00031084  0x00008038 force  0x00000006 , 0x00000039 
+ 00031085  0x00008039 call  0x00007a71 
+ 00031086  0x0000803a arg  0x00000a3e , 0x00000006 
+ 00031087  0x0000803b call  0x00007a70 
+ 00031088  0x0000803c call  0x0000790b 
+ 00031089  0x0000803d call  0x00007912 
+ 00031090  0x0000803e arg  0x00000a2e , 0x00000006 
+ 00031091  0x0000803f arg  0x000005e6 , 0x00000005 
+ 00031092  0x00008040 branch  0x00007984 
+ 00031093  0x00008043 arg  0x00004642 , 0x00000006 
+ 00031094  0x00008044 arg  0x000005e6 , 0x00000005 
+ 00031095  0x00008045 force  0x00000006 , 0x00000039 
+ 00031096  0x00008046 call  0x00007a71 
+ 00031097  0x00008047 arg  0x000009de , 0x00000006 
+ 00031098  0x00008048 force  0x00000006 , 0x00000039 
+ 00031099  0x00008049 call  0x00007a71 
+ 00031100  0x0000804a arg  0x00000a2e , 0x00000006 
+ 00031101  0x0000804b call  0x00007a70 
+ 00031102  0x0000804c call  0x0000790b 
+ 00031103  0x0000804d call  0x00007912 
+ 00031104  0x0000804e arg  0x00000a3e , 0x00000006 
+ 00031105  0x0000804f arg  0x000005e6 , 0x00000005 
+ 00031106  0x00008050 call  0x00007984 
+ 00031107  0x00008051 branch  0x0000798d 
+ 00031108  0x00008054 call  0x00007a70 
+ 00031109  0x00008055 setarg  0x00800000 
+ 00031110  0x00008056 lshift8  0x0000003f , 0x0000003f 
+ 00031111  0x00008057 istore  0x00000004 , 0x00000005 
+ 00031112  0x00008058 force  0x00000005 , 0x00000039 
+ 00031113  0x00008059 call  0x00007ec6 
+ 00031114  0x0000805a setarg  0x00000280 
+ 00031115  0x0000805b istore  0x00000004 , 0x00000005 
+ 00031116  0x0000805c branch  0x00007912 
+ 00031117  0x0000805e fetch  0x00000004 , 0x00000a3e 
+ 00031118  0x00008060 arg  0x000003e8 , 0x00000011 
+ 00031119  0x00008061 idiv  0x00000011 
+ 00031120  0x00008062 call  0x00007f86 
+ 00031121  0x00008063 remainder  0x0000003f 
+ 00031122  0x00008064 store  0x00000004 , 0x000009ba 
+ 00031123  0x00008065 quotient  0x0000003f 
+ 00031124  0x00008066 arg  0x000003e8 , 0x00000011 
+ 00031125  0x00008067 idiv  0x00000011 
+ 00031126  0x00008068 call  0x00007f86 
+ 00031127  0x00008069 remainder  0x0000003f 
+ 00031128  0x0000806a arg  0x000003e8 , 0x00000011 
+ 00031129  0x0000806b imul32  0x00000011 , 0x0000003f 
+ 00031130  0x0000806c fetcht  0x00000004 , 0x000009ba 
+ 00031131  0x0000806d iadd  0x00000002 , 0x0000003f 
+ 00031132  0x0000806e store  0x00000004 , 0x000009ba 
+ 00031133  0x0000806f rtn 
+ 00031134  0x00008072 jam  0x00000000 , 0x00004664 
+ 00031135  0x00008073 branch  0x000079a2 
+ 00031136  0x00008076 fetch  0x00000001 , 0x00004662 
+ 00031137  0x00008077 bne  0x00000002 , 0x0000799e 
+ 00031138  0x00008079 bpatchx  0x000000ed , 0x0000403d 
+ 00031139  0x0000807a setarg  0x00363636 
+ 00031140  0x0000807b lshift8  0x0000003f , 0x00000002 
+ 00031141  0x0000807c or_into  0x00000036 , 0x00000002 
+ 00031142  0x0000807d fetch  0x00000002 , 0x00000a7e 
+ 00031143  0x0000807e copy  0x0000003f , 0x00000006 
+ 00031144  0x0000807f force  0x00000004 , 0x00000039 
+ 00031145  0x00008080 call  0x00007955 
+ 00031146  0x00008081 call  0x0000790b 
+ 00031147  0x00008082 call  0x00007912 
+ 00031148  0x00008083 fetch  0x00000002 , 0x00000a80 
+ 00031149  0x00008084 copy  0x0000003f , 0x00000006 
+ 00031150  0x00008085 arg  0x000005e6 , 0x00000005 
+ 00031151  0x00008086 force  0x00000006 , 0x00000039 
+ 00031152  0x00008087 call  0x00007a71 
+ 00031153  0x00008088 fetch  0x00000002 , 0x00000a82 
+ 00031154  0x00008089 copy  0x0000003f , 0x00000006 
+ 00031155  0x0000808a force  0x00000006 , 0x00000039 
+ 00031156  0x0000808b call  0x00007a71 
+ 00031157  0x0000808c setarg  0x00800000 
+ 00031158  0x0000808d istore  0x00000003 , 0x00000005 
+ 00031159  0x0000808f fetch  0x00000001 , 0x00004664 
+ 00031160  0x00008091 istore  0x00000001 , 0x00000005 
+ 00031161  0x00008092 force  0x00000000 , 0x0000003f 
+ 00031162  0x00008093 istore  0x00000008 , 0x00000005 
+ 00031163  0x00008094 setarg  0x00000388 
+ 00031164  0x00008095 istore  0x00000004 , 0x00000005 
+ 00031165  0x00008096 call  0x00007912 
+ 00031166  0x00008097 call  0x0000794e 
+ 00031167  0x00008098 arg  0x00000a3e , 0x00000006 
+ 00031168  0x00008099 arg  0x00000706 , 0x00000005 
+ 00031169  0x0000809a call  0x00007ebd 
+ 00031170  0x0000809c setarg  0x005c5c5c 
+ 00031171  0x0000809d lshift8  0x0000003f , 0x00000002 
+ 00031172  0x0000809e or_into  0x0000005c , 0x00000002 
+ 00031173  0x0000809f fetch  0x00000002 , 0x00000a7e 
+ 00031174  0x000080a0 copy  0x0000003f , 0x00000006 
+ 00031175  0x000080a1 force  0x00000004 , 0x00000039 
+ 00031176  0x000080a2 call  0x00007955 
+ 00031177  0x000080a3 call  0x0000790b 
+ 00031178  0x000080a4 call  0x00007912 
+ 00031179  0x000080a5 arg  0x00000726 , 0x00000006 
+ 00031180  0x000080a6 arg  0x000005e6 , 0x00000005 
+ 00031181  0x000080a7 force  0x00000008 , 0x00000039 
+ 00031182  0x000080a8 call  0x00007a71 
+ 00031183  0x000080a9 setarg  0x00800000 
+ 00031184  0x000080aa lshift8  0x0000003f , 0x0000003f 
+ 00031185  0x000080ab istore  0x00000004 , 0x00000005 
+ 00031186  0x000080ac call  0x00007ec5 
+ 00031187  0x000080ad setarg  0x00000300 
+ 00031188  0x000080ae istore  0x00000004 , 0x00000005 
+ 00031189  0x000080af call  0x00007912 
+ 00031190  0x000080b0 branch  0x0000794e 
+ 00031191  0x000080b4 setarg  0x00363636 
+ 00031192  0x000080b5 lshift8  0x0000003f , 0x00000002 
+ 00031193  0x000080b6 or_into  0x00000036 , 0x00000002 
+ 00031194  0x000080b7 arg  0x00000a1e , 0x00000006 
+ 00031195  0x000080b8 force  0x00000006 , 0x00000039 
+ 00031196  0x000080b9 call  0x00007955 
+ 00031197  0x000080ba call  0x0000790b 
+ 00031198  0x000080bb call  0x00007912 
+ 00031199  0x000080bc fetch  0x00000002 , 0x00000a8a 
+ 00031200  0x000080bd copy  0x0000003f , 0x00000006 
+ 00031201  0x000080be arg  0x000005e6 , 0x00000005 
+ 00031202  0x000080bf call  0x00007a70 
+ 00031203  0x000080c0 fetch  0x00000002 , 0x00000a8c 
+ 00031204  0x000080c1 copy  0x0000003f , 0x00000006 
+ 00031205  0x000080c2 call  0x00007a70 
+ 00031206  0x000080c4 setarg  0x0062746c 
+ 00031207  0x000080c5 lshift8  0x0000003f , 0x0000003f 
+ 00031208  0x000080c6 or_into  0x0000006b , 0x0000003f 
+ 00031209  0x000080c7 istore  0x00000004 , 0x00000005 
+ 00031210  0x000080c8 arg  0x00000733 , 0x00000006 
+ 00031211  0x000080c9 force  0x00000003 , 0x00000039 
+ 00031212  0x000080ca call  0x00007a71 
+ 00031213  0x000080cc setarg  0x00800000 
+ 00031214  0x000080cd lshift8  0x0000003f , 0x0000003f 
+ 00031215  0x000080ce istore  0x00000004 , 0x00000005 
+ 00031216  0x000080cf force  0x00000000 , 0x0000003f 
+ 00031217  0x000080d0 istore  0x00000008 , 0x00000005 
+ 00031218  0x000080d1 setarg  0x00000380 
+ 00031219  0x000080d2 istore  0x00000004 , 0x00000005 
+ 00031220  0x000080d3 call  0x00007912 
+ 00031221  0x000080d5 call  0x0000794e 
+ 00031222  0x000080d6 arg  0x00000a3e , 0x00000006 
+ 00031223  0x000080d7 arg  0x00000706 , 0x00000005 
+ 00031224  0x000080d8 call  0x00007ebd 
+ 00031225  0x000080da setarg  0x005c5c5c 
+ 00031226  0x000080db lshift8  0x0000003f , 0x00000002 
+ 00031227  0x000080dc or_into  0x0000005c , 0x00000002 
+ 00031228  0x000080dd arg  0x00000a1e , 0x00000006 
+ 00031229  0x000080de force  0x00000006 , 0x00000039 
+ 00031230  0x000080df call  0x00007955 
+ 00031231  0x000080e0 call  0x0000790b 
+ 00031232  0x000080e1 call  0x00007912 
+ 00031233  0x000080e2 arg  0x00000726 , 0x00000006 
+ 00031234  0x000080e3 arg  0x000005e6 , 0x00000005 
+ 00031235  0x000080e4 force  0x00000008 , 0x00000039 
+ 00031236  0x000080e5 call  0x00007a71 
+ 00031237  0x000080e6 setarg  0x00800000 
+ 00031238  0x000080e7 lshift8  0x0000003f , 0x0000003f 
+ 00031239  0x000080e8 istore  0x00000004 , 0x00000005 
+ 00031240  0x000080e9 call  0x00007ec5 
+ 00031241  0x000080ea setarg  0x00000300 
+ 00031242  0x000080eb istore  0x00000004 , 0x00000005 
+ 00031243  0x000080ec call  0x00007912 
+ 00031244  0x000080ed branch  0x0000794e 
+ 00031245  0x000080f1 fetch  0x00000001 , 0x00004662 
+ 00031246  0x000080f2 bne  0x00000002 , 0x00007a1e 
+ 00031247  0x000080f4 bpatchx  0x000000ee , 0x0000403d 
+ 00031248  0x000080f5 setarg  0x00363636 
+ 00031249  0x000080f6 lshift8  0x0000003f , 0x00000002 
+ 00031250  0x000080f7 or_into  0x00000036 , 0x00000002 
+ 00031251  0x000080f8 arg  0x00000a1e , 0x00000006 
+ 00031252  0x000080f9 force  0x00000006 , 0x00000039 
+ 00031253  0x000080fa call  0x00007955 
+ 00031254  0x000080fb call  0x0000790b 
+ 00031255  0x000080fc call  0x00007912 
+ 00031256  0x000080fd arg  0x00000a3e , 0x00000006 
+ 00031257  0x000080fe arg  0x000005e6 , 0x00000005 
+ 00031258  0x000080ff call  0x00007a70 
+ 00031259  0x00008100 arg  0x00000a2e , 0x00000006 
+ 00031260  0x00008101 call  0x00007a70 
+ 00031261  0x00008102 branch  0x00007a33 
+ 00031262  0x00008105 setarg  0x00000000 
+ 00031263  0x00008106 store  0x00000004 , 0x0000468a 
+ 00031264  0x00008107 branch  0x00007a0f 
+ 00031265  0x0000810a setarg  0x00000000 
+ 00031266  0x0000810b store  0x00000004 , 0x0000468a 
+ 00031267  0x0000810c branch  0x00007a26 
+ 00031268  0x00008110 fetch  0x00000001 , 0x00004662 
+ 00031269  0x00008111 bne  0x00000002 , 0x00007a21 
+ 00031270  0x00008113 setarg  0x00363636 
+ 00031271  0x00008114 lshift8  0x0000003f , 0x00000002 
+ 00031272  0x00008115 or_into  0x00000036 , 0x00000002 
+ 00031273  0x00008116 arg  0x00000a1e , 0x00000006 
+ 00031274  0x00008117 force  0x00000006 , 0x00000039 
+ 00031275  0x00008118 call  0x00007955 
+ 00031276  0x00008119 call  0x0000790b 
+ 00031277  0x0000811a call  0x00007912 
+ 00031278  0x0000811c arg  0x00000a2e , 0x00000006 
+ 00031279  0x0000811d arg  0x000005e6 , 0x00000005 
+ 00031280  0x0000811e call  0x00007a70 
+ 00031281  0x0000811f arg  0x00000a3e , 0x00000006 
+ 00031282  0x00008120 call  0x00007a70 
+ 00031283  0x00008122 setarg  0x00000000 
+ 00031284  0x00008123 istore  0x00000008 , 0x00000005 
+ 00031285  0x00008124 istore  0x00000004 , 0x00000005 
+ 00031286  0x00008125 fetch  0x00000004 , 0x0000468a 
+ 00031287  0x00008126 istore  0x00000004 , 0x00000005 
+ 00031288  0x00008128 copy  0x00000005 , 0x00000002 
+ 00031289  0x00008129 jam  0x00000080 , 0x00000726 
+ 00031290  0x0000812a copy  0x00000002 , 0x00000005 
+ 00031291  0x0000812b arg  0x00000736 , 0x00000006 
+ 00031292  0x0000812c call  0x00007a70 
+ 00031293  0x0000812e call  0x00007912 
+ 00031294  0x00008130 arg  0x000005e6 , 0x00000005 
+ 00031295  0x00008131 force  0x00000007 , 0x00000039 
+ 00031296  0x00008132 call  0x00007ec6 
+ 00031297  0x00008133 istore  0x00000004 , 0x00000005 
+ 00031298  0x00008134 setarg  0x000003f8 
+ 00031299  0x00008135 istore  0x00000004 , 0x00000005 
+ 00031300  0x00008136 call  0x00007912 
+ 00031301  0x00008137 call  0x0000794e 
+ 00031302  0x00008139 arg  0x00000a3e , 0x00000006 
+ 00031303  0x0000813a arg  0x00000706 , 0x00000005 
+ 00031304  0x0000813b call  0x00007ebd 
+ 00031305  0x0000813d setarg  0x005c5c5c 
+ 00031306  0x0000813e lshift8  0x0000003f , 0x00000002 
+ 00031307  0x0000813f or_into  0x0000005c , 0x00000002 
+ 00031308  0x00008140 arg  0x00000a1e , 0x00000006 
+ 00031309  0x00008141 force  0x00000006 , 0x00000039 
+ 00031310  0x00008142 call  0x00007955 
+ 00031311  0x00008143 call  0x0000790b 
+ 00031312  0x00008144 call  0x00007912 
+ 00031313  0x00008145 arg  0x00000726 , 0x00000006 
+ 00031314  0x00008146 arg  0x000005e6 , 0x00000005 
+ 00031315  0x00008147 force  0x00000008 , 0x00000039 
+ 00031316  0x00008148 call  0x00007a71 
+ 00031317  0x00008149 setarg  0x00800000 
+ 00031318  0x0000814a lshift8  0x0000003f , 0x0000003f 
+ 00031319  0x0000814b istore  0x00000004 , 0x00000005 
+ 00031320  0x0000814c call  0x00007ec5 
+ 00031321  0x0000814d setarg  0x00000300 
+ 00031322  0x0000814e istore  0x00000004 , 0x00000005 
+ 00031323  0x0000814f call  0x00007912 
+ 00031324  0x00008150 branch  0x0000794e 
+ 00031325  0x00008158 jam  0x000000c0 , 0x000005e3 
+ 00031326  0x0000815a fetch  0x00000001 , 0x000005e3 
+ 00031327  0x0000815b rtn  0x00000034 
+ 00031328  0x0000815c increase  0xffffffff , 0x0000003f 
+ 00031329  0x0000815d store  0x00000001 , 0x000005e3 
+ 00031330  0x0000815e arg  0x000006be , 0x00000006 
+ 00031331  0x0000815f call  0x000076ec 
+ 00031332  0x00008160 branch  0x00007a5e , 0x00000001 
+ 00031333  0x00008161 arg  0x000005e6 , 0x00000006 
+ 00031334  0x00008162 arg  0x00000676 , 0x00000005 
+ 00031335  0x00008163 branch  0x000076f2 
+ 00031336  0x00008166 call  0x00007803 
+ 00031337  0x00008167 fetch  0x00000001 , 0x000005e3 
+ 00031338  0x00008168 increase  0xffffffff , 0x0000003f 
+ 00031339  0x00008169 store  0x00000001 , 0x000005e3 
+ 00031340  0x0000816a arg  0x000006be , 0x00000006 
+ 00031341  0x0000816b call  0x000076ec 
+ 00031342  0x0000816c rtn  0x00000001 
+ 00031343  0x0000816d branch  0x00007854 
+ 00031344  0x00008170 force  0x00000004 , 0x00000039 
+ 00031345  0x00008172 increase  0xfffffffc , 0x00000006 
+ 00031346  0x00008174 ifetch  0x00000004 , 0x00000006 
+ 00031347  0x00008175 istore  0x00000004 , 0x00000005 
+ 00031348  0x00008176 increase  0xfffffff8 , 0x00000006 
+ 00031349  0x00008177 loop  0x00007a72 
+ 00031350  0x00008178 rtn 
+ 00031351  0x0000817e bpatchx  0x000000ef , 0x0000403d 
+ 00031352  0x0000817f fetch  0x00000001 , 0x000044be 
+ 00031353  0x00008180 branch  0x00005af0 , 0x00000034 
+ 00031354  0x00008181 call  0x00005aec 
+ 00031355  0x00008182 call  0x00007583 
+ 00031356  0x00008184 branch  0x00007a7d 
+ 00031357  0x0000818a fetch  0x00000001 , 0x000044c3 
+ 00031358  0x0000818b rtnne  0x00000000 
+ 00031359  0x0000818c fetch  0x00000001 , 0x000044c0 
+ 00031360  0x0000818d rtnne  0x00000000 
+ 00031361  0x0000818f arg  0x000045b2 , 0x00000005 
+ 00031362  0x00008190 force  0x0000000f , 0x00000007 
+ 00031363  0x00008191 call  0x000076a2 
+ 00031364  0x00008192 random  0x0000003f 
+ 00031365  0x00008193 rshift  0x0000003f , 0x0000003f 
+ 00031366  0x00008194 istore  0x00000002 , 0x00000005 
+ 00031367  0x00008196 arg  0x00000766 , 0x00000005 
+ 00031368  0x00008197 arg  0x000045b2 , 0x00000006 
+ 00031369  0x00008198 call  0x00007ebd 
+ 00031370  0x0000819a arg  0x00000646 , 0x00000005 
+ 00031371  0x0000819b arg  0x0000095e , 0x00000006 
+ 00031372  0x0000819c call  0x00007eb3 
+ 00031373  0x0000819e arg  0x00000686 , 0x00000005 
+ 00031374  0x0000819f call  0x00007ed0 
+ 00031375  0x000081a0 jam  0x00000001 , 0x00000686 
+ 00031376  0x000081a2 call  0x00007ac7 
+ 00031377  0x000081a3 jam  0x00000003 , 0x000044c0 
+ 00031378  0x000081a4 rtn 
+ 00031379  0x000081a7 arg  0x000045d2 , 0x00000005 
+ 00031380  0x000081a8 arg  0x000006a6 , 0x00000006 
+ 00031381  0x000081a9 call  0x00007eb3 
+ 00031382  0x000081aa jam  0x00000003 , 0x000044c3 
+ 00031383  0x000081ab jam  0x00000000 , 0x000044c0 
+ 00031384  0x000081ac rtn 
+ 00031385  0x000081b1 fetch  0x00000001 , 0x000009b9 
+ 00031386  0x000081b2 rtnne  0x00000000 
+ 00031387  0x000081b3 fetch  0x00000001 , 0x000044c0 
+ 00031388  0x000081b4 rtnne  0x00000000 
+ 00031389  0x000081b6 arg  0x00000766 , 0x00000005 
+ 00031390  0x000081b7 arg  0x000045b2 , 0x00000006 
+ 00031391  0x000081b8 call  0x00007ebd 
+ 00031392  0x000081ba arg  0x00000646 , 0x00000005 
+ 00031393  0x000081bb arg  0x000009be , 0x00000006 
+ 00031394  0x000081bc call  0x00007eb3 
+ 00031395  0x000081be arg  0x00000686 , 0x00000005 
+ 00031396  0x000081bf call  0x00007ed0 
+ 00031397  0x000081c0 jam  0x00000001 , 0x00000686 
+ 00031398  0x000081c2 call  0x00007ac7 
+ 00031399  0x000081c3 jam  0x00000004 , 0x000044c0 
+ 00031400  0x000081c4 rtn 
+ 00031401  0x000081c9 arg  0x000009fe , 0x00000005 
+ 00031402  0x000081ca arg  0x000006a6 , 0x00000006 
+ 00031403  0x000081cb call  0x00007ebd 
+ 00031404  0x000081cc jam  0x00000003 , 0x000009b9 
+ 00031405  0x000081cd jam  0x00000000 , 0x000044c0 
+ 00031406  0x000081ce rtn 
+ 00031407  0x000081d3 fetch  0x00000001 , 0x000044be 
+ 00031408  0x000081d4 rtn  0x00000034 
+ 00031409  0x000081d5 fetch  0x00000001 , 0x000044c0 
+ 00031410  0x000081d6 rtn  0x00000034 
+ 00031411  0x000081d7 increase  0x00000080 , 0x0000003f 
+ 00031412  0x000081d8 store  0x00000001 , 0x000044c0 
+ 00031413  0x000081d9 rtnbit1  0x00000007 
+ 00031414  0x000081da fetch  0x00000002 , 0x000005e3 
+ 00031415  0x000081db branch  0x00007ab9 , 0x00000034 
+ 00031416  0x000081dc branch  0x00007abf 
+ 00031417  0x000081df bpatchx  0x000000f0 , 0x0000403e 
+ 00031418  0x000081e0 call  0x00007ad4 
+ 00031419  0x000081e1 fetch  0x00000001 , 0x000044c0 
+ 00031420  0x000081e2 beq  0x00000003 , 0x00007a93 
+ 00031421  0x000081e3 beq  0x00000004 , 0x00007aa9 
+ 00031422  0x000081e4 rtn 
+ 00031423  0x000081e8 call  0x00007ae6 
+ 00031424  0x000081e9 fetch  0x00000002 , 0x000005e3 
+ 00031425  0x000081ea increase  0xffffffff , 0x0000003f 
+ 00031426  0x000081eb store  0x00000002 , 0x000005e3 
+ 00031427  0x000081ec arg  0x00000766 , 0x00000006 
+ 00031428  0x000081ed call  0x000076ec 
+ 00031429  0x000081ee rtn  0x00000001 
+ 00031430  0x000081ef branch  0x00007b37 
+ 00031431  0x000081f2 bpatchx  0x000000f1 , 0x0000403e 
+ 00031432  0x000081f3 setarg  0x00000100 , 0x0000003f 
+ 00031433  0x000081f4 store  0x00000002 , 0x000005e3 
+ 00031434  0x000081f6 fetch  0x00000002 , 0x000005e3 
+ 00031435  0x000081f7 rtn  0x00000034 
+ 00031436  0x000081f8 increase  0xffffffff , 0x0000003f 
+ 00031437  0x000081f9 store  0x00000002 , 0x000005e3 
+ 00031438  0x000081fa arg  0x00000766 , 0x00000006 
+ 00031439  0x000081fb call  0x000076ec 
+ 00031440  0x000081fc branch  0x00007aca , 0x00000001 
+ 00031441  0x000081fd arg  0x00000646 , 0x00000006 
+ 00031442  0x000081fe arg  0x00000706 , 0x00000005 
+ 00031443  0x000081ff branch  0x00007eb2 
+ 00031444  0x00008203 arg  0x00000746 , 0x00000011 
+ 00031445  0x00008204 arg  0x00000846 , 0x00000005 
+ 00031446  0x00008205 call  0x00007ba3 
+ 00031447  0x00008206 arg  0x00000846 , 0x00000011 
+ 00031448  0x00008207 arg  0x000007e6 , 0x00000005 
+ 00031449  0x00008208 call  0x00007c79 
+ 00031450  0x00008209 arg  0x00000706 , 0x00000011 
+ 00031451  0x0000820a arg  0x000007e6 , 0x00000012 
+ 00031452  0x0000820b arg  0x000006a6 , 0x00000005 
+ 00031453  0x0000820c call  0x00007be1 
+ 00031454  0x0000820d arg  0x00000846 , 0x00000011 
+ 00031455  0x0000820e arg  0x000007e6 , 0x00000012 
+ 00031456  0x0000820f arg  0x00000826 , 0x00000005 
+ 00031457  0x00008210 call  0x00007be1 
+ 00031458  0x00008211 arg  0x00000726 , 0x00000011 
+ 00031459  0x00008212 arg  0x00000826 , 0x00000012 
+ 00031460  0x00008213 arg  0x000006c6 , 0x00000005 
+ 00031461  0x00008214 branch  0x00007be1 
+ 00031462  0x00008217 arg  0x00000746 , 0x00000011 
+ 00031463  0x00008218 arg  0x00000826 , 0x00000005 
+ 00031464  0x00008219 call  0x00007c79 
+ 00031465  0x0000821a arg  0x00000826 , 0x00000011 
+ 00031466  0x0000821b arg  0x00000846 , 0x00000005 
+ 00031467  0x0000821c call  0x00007c79 
+ 00031468  0x0000821e arg  0x0000093e , 0x00000011 
+ 00031469  0x0000821f arg  0x00000846 , 0x00000012 
+ 00031470  0x00008220 arg  0x00000846 , 0x00000005 
+ 00031471  0x00008221 call  0x00007be1 
+ 00031472  0x00008222 arg  0x00000706 , 0x00000011 
+ 00031473  0x00008223 arg  0x00000826 , 0x00000005 
+ 00031474  0x00008224 call  0x00007c79 
+ 00031475  0x00008226 arg  0x00000826 , 0x00000006 
+ 00031476  0x00008227 arg  0x000007e6 , 0x00000005 
+ 00031477  0x00008228 call  0x00007ebd 
+ 00031478  0x00008229 arg  0x000007e6 , 0x00000011 
+ 00031479  0x0000822a call  0x00007c80 
+ 00031480  0x0000822b arg  0x00000826 , 0x00000011 
+ 00031481  0x0000822c arg  0x000007e6 , 0x00000012 
+ 00031482  0x0000822d arg  0x00000826 , 0x00000005 
+ 00031483  0x0000822e call  0x00007c7d 
+ 00031484  0x00008230 arg  0x00000826 , 0x00000011 
+ 00031485  0x00008231 arg  0x00000846 , 0x00000012 
+ 00031486  0x00008232 arg  0x00000826 , 0x00000005 
+ 00031487  0x00008233 call  0x00007c7d 
+ 00031488  0x00008235 arg  0x00000706 , 0x00000006 
+ 00031489  0x00008236 arg  0x000007e6 , 0x00000005 
+ 00031490  0x00008237 call  0x00007ebd 
+ 00031491  0x00008238 arg  0x00000726 , 0x00000011 
+ 00031492  0x00008239 arg  0x00000846 , 0x00000005 
+ 00031493  0x0000823a call  0x00007c79 
+ 00031494  0x0000823b arg  0x000007e6 , 0x00000011 
+ 00031495  0x0000823c call  0x00007c80 
+ 00031496  0x0000823d arg  0x000007e6 , 0x00000011 
+ 00031497  0x0000823e call  0x00007c80 
+ 00031498  0x0000823f arg  0x000007e6 , 0x00000011 
+ 00031499  0x00008240 arg  0x00000846 , 0x00000012 
+ 00031500  0x00008241 arg  0x000007e6 , 0x00000005 
+ 00031501  0x00008242 call  0x00007be1 
+ 00031502  0x00008243 arg  0x00000846 , 0x00000011 
+ 00031503  0x00008244 arg  0x00000806 , 0x00000005 
+ 00031504  0x00008245 call  0x00007c79 
+ 00031505  0x00008246 arg  0x00000806 , 0x00000011 
+ 00031506  0x00008247 call  0x00007c80 
+ 00031507  0x00008248 arg  0x00000806 , 0x00000011 
+ 00031508  0x00008249 call  0x00007c80 
+ 00031509  0x0000824a arg  0x00000806 , 0x00000011 
+ 00031510  0x0000824b call  0x00007c80 
+ 00031511  0x0000824c arg  0x00000726 , 0x00000006 
+ 00031512  0x0000824d arg  0x00000846 , 0x00000005 
+ 00031513  0x0000824e call  0x00007ebd 
+ 00031514  0x0000824f arg  0x00000846 , 0x00000011 
+ 00031515  0x00008250 call  0x00007c80 
+ 00031516  0x00008251 arg  0x00000846 , 0x00000011 
+ 00031517  0x00008252 arg  0x00000746 , 0x00000012 
+ 00031518  0x00008253 arg  0x00000746 , 0x00000005 
+ 00031519  0x00008254 call  0x00007be1 
+ 00031520  0x00008257 arg  0x00000826 , 0x00000011 
+ 00031521  0x00008258 arg  0x00000846 , 0x00000005 
+ 00031522  0x00008259 call  0x00007c79 
+ 00031523  0x0000825b arg  0x00000846 , 0x00000011 
+ 00031524  0x0000825c arg  0x000007e6 , 0x00000012 
+ 00031525  0x0000825d arg  0x00000846 , 0x00000005 
+ 00031526  0x0000825e call  0x00007c96 
+ 00031527  0x0000825f arg  0x00000846 , 0x00000011 
+ 00031528  0x00008260 arg  0x000007e6 , 0x00000012 
+ 00031529  0x00008261 arg  0x00000706 , 0x00000005 
+ 00031530  0x00008262 call  0x00007c96 
+ 00031531  0x00008263 arg  0x000007e6 , 0x00000011 
+ 00031532  0x00008264 arg  0x00000706 , 0x00000012 
+ 00031533  0x00008265 arg  0x00000846 , 0x00000005 
+ 00031534  0x00008266 call  0x00007c96 
+ 00031535  0x00008267 arg  0x00000846 , 0x00000011 
+ 00031536  0x00008268 arg  0x00000826 , 0x00000012 
+ 00031537  0x00008269 arg  0x00000846 , 0x00000005 
+ 00031538  0x0000826a call  0x00007be1 
+ 00031539  0x0000826b arg  0x00000846 , 0x00000011 
+ 00031540  0x0000826c arg  0x00000806 , 0x00000012 
+ 00031541  0x0000826d arg  0x00000726 , 0x00000005 
+ 00031542  0x0000826e branch  0x00007c96 
+ 00031543  0x00008272 arg  0x00000686 , 0x00000011 
+ 00031544  0x00008273 arg  0x00000866 , 0x00000005 
+ 00031545  0x00008274 call  0x00007c79 
+ 00031546  0x00008275 arg  0x00000706 , 0x00000011 
+ 00031547  0x00008276 arg  0x00000866 , 0x00000012 
+ 00031548  0x00008277 arg  0x00000806 , 0x00000005 
+ 00031549  0x00008278 call  0x00007be1 
+ 00031550  0x0000827b arg  0x00000686 , 0x00000011 
+ 00031551  0x0000827c arg  0x00000866 , 0x00000012 
+ 00031552  0x0000827d arg  0x00000866 , 0x00000005 
+ 00031553  0x0000827e call  0x00007be1 
+ 00031554  0x0000827f arg  0x00000726 , 0x00000011 
+ 00031555  0x00008280 arg  0x00000866 , 0x00000012 
+ 00031556  0x00008281 arg  0x000007e6 , 0x00000005 
+ 00031557  0x00008282 call  0x00007be1 
+ 00031558  0x00008285 arg  0x00000746 , 0x00000011 
+ 00031559  0x00008286 arg  0x00000866 , 0x00000005 
+ 00031560  0x00008287 call  0x00007c79 
+ 00031561  0x00008288 arg  0x00000646 , 0x00000011 
+ 00031562  0x00008289 arg  0x00000866 , 0x00000012 
+ 00031563  0x0000828a arg  0x00000826 , 0x00000005 
+ 00031564  0x0000828b call  0x00007be1 
+ 00031565  0x0000828d arg  0x00000746 , 0x00000011 
+ 00031566  0x0000828e arg  0x00000866 , 0x00000012 
+ 00031567  0x0000828f arg  0x00000866 , 0x00000005 
+ 00031568  0x00008290 call  0x00007be1 
+ 00031569  0x00008291 arg  0x00000666 , 0x00000011 
+ 00031570  0x00008292 arg  0x00000866 , 0x00000012 
+ 00031571  0x00008293 arg  0x00000846 , 0x00000005 
+ 00031572  0x00008294 call  0x00007be1 
+ 00031573  0x00008299 arg  0x00000806 , 0x00000012 
+ 00031574  0x0000829a arg  0x00000826 , 0x00000011 
+ 00031575  0x0000829b arg  0x00000866 , 0x00000005 
+ 00031576  0x0000829c call  0x00007c96 
+ 00031577  0x0000829d arg  0x00000806 , 0x00000011 
+ 00031578  0x0000829e arg  0x00000826 , 0x00000012 
+ 00031579  0x0000829f arg  0x00000806 , 0x00000005 
+ 00031580  0x000082a0 call  0x00007c7d 
+ 00031581  0x000082a3 arg  0x000007e6 , 0x00000012 
+ 00031582  0x000082a4 arg  0x00000846 , 0x00000011 
+ 00031583  0x000082a5 arg  0x00000826 , 0x00000005 
+ 00031584  0x000082a6 call  0x00007c96 
+ 00031585  0x000082a7 arg  0x000007e6 , 0x00000011 
+ 00031586  0x000082a8 arg  0x00000846 , 0x00000012 
+ 00031587  0x000082a9 arg  0x000007e6 , 0x00000005 
+ 00031588  0x000082aa call  0x00007c7d 
+ 00031589  0x000082ab arg  0x000007e6 , 0x00000011 
+ 00031590  0x000082ac arg  0x00000866 , 0x00000012 
+ 00031591  0x000082ad arg  0x000007e6 , 0x00000005 
+ 00031592  0x000082ae call  0x00007be1 
+ 00031593  0x000082af arg  0x00000746 , 0x00000011 
+ 00031594  0x000082b0 arg  0x00000686 , 0x00000012 
+ 00031595  0x000082b1 arg  0x00000846 , 0x00000005 
+ 00031596  0x000082b2 call  0x00007be1 
+ 00031597  0x000082b3 arg  0x00000846 , 0x00000011 
+ 00031598  0x000082b4 arg  0x00000866 , 0x00000012 
+ 00031599  0x000082b5 arg  0x00000746 , 0x00000005 
+ 00031600  0x000082b6 call  0x00007be1 
+ 00031601  0x000082b8 arg  0x00000866 , 0x00000011 
+ 00031602  0x000082b9 arg  0x00000866 , 0x00000005 
+ 00031603  0x000082ba call  0x00007c79 
+ 00031604  0x000082bb arg  0x00000866 , 0x00000011 
+ 00031605  0x000082bc arg  0x00000806 , 0x00000012 
+ 00031606  0x000082bd arg  0x00000846 , 0x00000005 
+ 00031607  0x000082be call  0x00007be1 
+ 00031608  0x000082bf arg  0x00000866 , 0x00000011 
+ 00031609  0x000082c0 arg  0x000007e6 , 0x00000012 
+ 00031610  0x000082c1 arg  0x000007e6 , 0x00000005 
+ 00031611  0x000082c2 call  0x00007be1 
+ 00031612  0x000082c3 arg  0x00000826 , 0x00000011 
+ 00031613  0x000082c4 arg  0x00000706 , 0x00000005 
+ 00031614  0x000082c5 call  0x00007c79 
+ 00031615  0x000082c6 arg  0x00000706 , 0x00000011 
+ 00031616  0x000082c7 arg  0x00000846 , 0x00000012 
+ 00031617  0x000082c8 arg  0x00000706 , 0x00000005 
+ 00031618  0x000082c9 call  0x00007c96 
+ 00031619  0x000082ca arg  0x00000706 , 0x00000006 
+ 00031620  0x000082cb arg  0x00000866 , 0x00000005 
+ 00031621  0x000082cc call  0x00007ebd 
+ 00031622  0x000082cd arg  0x00000866 , 0x00000011 
+ 00031623  0x000082ce call  0x00007c80 
+ 00031624  0x000082cf arg  0x00000846 , 0x00000011 
+ 00031625  0x000082d0 arg  0x00000866 , 0x00000012 
+ 00031626  0x000082d1 arg  0x00000846 , 0x00000005 
+ 00031627  0x000082d2 call  0x00007c96 
+ 00031628  0x000082d3 arg  0x00000846 , 0x00000011 
+ 00031629  0x000082d4 arg  0x00000826 , 0x00000012 
+ 00031630  0x000082d5 arg  0x00000826 , 0x00000005 
+ 00031631  0x000082d6 call  0x00007be1 
+ 00031632  0x000082d7 arg  0x00000826 , 0x00000011 
+ 00031633  0x000082d8 arg  0x000007e6 , 0x00000012 
+ 00031634  0x000082d9 arg  0x00000726 , 0x00000005 
+ 00031635  0x000082da call  0x00007c96 
+ 00031636  0x000082db arg  0x00000726 , 0x00000011 
+ 00031637  0x000082dc arg  0x0000091e , 0x00000012 
+ 00031638  0x000082dd arg  0x00000726 , 0x00000005 
+ 00031639  0x000082de force  0x00000000 , 0x00000013 
+ 00031640  0x000082df fetch  0x00000001 , 0x00000726 
+ 00031641  0x000082e0 isolate1  0x00000000 , 0x0000003f 
+ 00031642  0x000082e1 call  0x00007c7b , 0x00000001 
+ 00031643  0x000082e2 copy  0x00000013 , 0x00000030 
+ 00031644  0x000082e3 arg  0x00000726 , 0x00000011 
+ 00031645  0x000082e4 call  0x00007cab 
+ 00031646  0x000082e5 fetch  0x00000001 , 0x00000745 
+ 00031647  0x000082e6 isolate1  0x00000000 , 0x00000030 
+ 00031648  0x000082e7 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00031649  0x000082e8 store  0x00000001 , 0x00000745 
+ 00031650  0x000082e9 rtn 
+ 00031651  0x000082ec copy  0x00000005 , 0x0000000b 
+ 00031652  0x000082ed arg  0x00000806 , 0x00000005 
+ 00031653  0x000082ee call  0x00007ed0 
+ 00031654  0x000082ef force  0x00000000 , 0x0000003f 
+ 00031655  0x000082f1 store  0x00000004 , 0x00000826 
+ 00031656  0x000082f2 jam  0x00000001 , 0x00000806 
+ 00031657  0x000082f3 arg  0x00000786 , 0x00000005 
+ 00031658  0x000082f4 call  0x00007ed2 
+ 00031659  0x000082f5 arg  0x0000091e , 0x00000006 
+ 00031660  0x000082f6 arg  0x000007c6 , 0x00000005 
+ 00031661  0x000082f7 call  0x00007ebd 
+ 00031662  0x000082f8 copy  0x00000011 , 0x00000006 
+ 00031663  0x000082f9 arg  0x000007e6 , 0x00000005 
+ 00031664  0x000082fa call  0x00007ebd 
+ 00031665  0x00008301 arg  0x000007e6 , 0x00000006 
+ 00031666  0x00008302 call  0x00007cb5 
+ 00031667  0x00008303 branch  0x00007bda , 0x00000034 
+ 00031668  0x00008308 arg  0x000007e6 , 0x00000011 
+ 00031669  0x00008309 arg  0x00000806 , 0x00000012 
+ 00031670  0x0000830a call  0x00007cb8 
+ 00031671  0x0000830b arg  0x000007c6 , 0x00000011 
+ 00031672  0x0000830c arg  0x00000786 , 0x00000012 
+ 00031673  0x0000830d call  0x00007cb8 
+ 00031674  0x0000830f arg  0x000007e6 , 0x00000011 
+ 00031675  0x00008310 arg  0x000007c6 , 0x00000012 
+ 00031676  0x00008311 call  0x00007cb1 
+ 00031677  0x00008312 branch  0x00007bcc , 0x00000002 
+ 00031678  0x00008313 arg  0x000007c6 , 0x00000011 
+ 00031679  0x00008314 arg  0x000007e6 , 0x00000012 
+ 00031680  0x00008315 copy  0x00000011 , 0x00000005 
+ 00031681  0x00008316 call  0x00007ca9 
+ 00031682  0x00008317 arg  0x00000806 , 0x00000011 
+ 00031683  0x00008318 arg  0x00000786 , 0x00000012 
+ 00031684  0x00008319 copy  0x00000012 , 0x00000005 
+ 00031685  0x0000831a call  0x00007c7b 
+ 00031686  0x0000831b ifetch  0x00000001 , 0x00000011 
+ 00031687  0x0000831c iadd  0x00000013 , 0x00000013 
+ 00031688  0x0000831d ifetch  0x00000001 , 0x00000012 
+ 00031689  0x0000831e iadd  0x00000013 , 0x0000003f 
+ 00031690  0x0000831f istore  0x00000001 , 0x00000012 
+ 00031691  0x00008320 branch  0x00007bb1 
+ 00031692  0x00008322 arg  0x000007e6 , 0x00000011 
+ 00031693  0x00008323 arg  0x000007c6 , 0x00000012 
+ 00031694  0x00008324 copy  0x00000011 , 0x00000005 
+ 00031695  0x00008325 call  0x00007ca9 
+ 00031696  0x00008326 arg  0x00000786 , 0x00000011 
+ 00031697  0x00008327 arg  0x00000806 , 0x00000012 
+ 00031698  0x00008328 copy  0x00000012 , 0x00000005 
+ 00031699  0x00008329 call  0x00007c7b 
+ 00031700  0x0000832a ifetch  0x00000001 , 0x00000011 
+ 00031701  0x0000832b iadd  0x00000013 , 0x00000013 
+ 00031702  0x0000832c ifetch  0x00000001 , 0x00000012 
+ 00031703  0x0000832d iadd  0x00000013 , 0x0000003f 
+ 00031704  0x0000832e istore  0x00000001 , 0x00000012 
+ 00031705  0x0000832f branch  0x00007bb1 
+ 00031706  0x00008332 arg  0x00000786 , 0x00000011 
+ 00031707  0x00008333 copy  0x0000000b , 0x00000005 
+ 00031708  0x00008334 call  0x00007c0a 
+ 00031709  0x00008336 arg  0x0000091e , 0x00000011 
+ 00031710  0x00008337 copy  0x0000000b , 0x00000012 
+ 00031711  0x00008338 copy  0x0000000b , 0x00000005 
+ 00031712  0x00008339 branch  0x00007c96 
+ 00031713  0x0000833d copy  0x00000005 , 0x0000000b 
+ 00031714  0x0000833f force  0x00000000 , 0x00000038 
+ 00031715  0x00008341 arg  0x00000786 , 0x00000005 
+ 00031716  0x00008342 call  0x00007ed2 
+ 00031717  0x00008343 arg  0x00000ad2 , 0x00000005 
+ 00031718  0x00008344 call  0x00007ed2 
+ 00031719  0x00008348 copy  0x00000011 , 0x00000006 
+ 00031720  0x0000834a jam  0x00000000 , 0x00000ad2 
+ 00031721  0x0000834b setarg  0x00000000 
+ 00031722  0x0000834c call  0x00007c73 
+ 00031723  0x0000834d copy  0x00000012 , 0x00000006 
+ 00031724  0x0000834e call  0x00007c77 
+ 00031725  0x00008351 force  0x00000000 , 0x00000007 
+ 00031726  0x00008352 arg  0x00000786 , 0x00000005 
+ 00031727  0x00008356 arg  0x00000ad2 , 0x00000002 
+ 00031728  0x00008357 copy  0x00000007 , 0x00000012 
+ 00031729  0x00008358 lshift2  0x00000012 , 0x0000003f 
+ 00031730  0x0000835a iadd  0x00000002 , 0x00000012 
+ 00031731  0x0000835b force  0x00000000 , 0x00000002 
+ 00031732  0x0000835c force  0x00000000 , 0x00000013 
+ 00031733  0x00008362 ifetch  0x00000004 , 0x00000005 
+ 00031734  0x00008363 iforce  0x00000011 
+ 00031735  0x00008366 ifetch  0x00000004 , 0x00000012 
+ 00031736  0x00008367 copy  0x00000013 , 0x00000038 
+ 00031737  0x00008368 imul32  0x0000002f , 0x0000003f 
+ 00031738  0x00008369 iadd  0x00000011 , 0x0000003f 
+ 00031739  0x0000836a iadd  0x00000002 , 0x0000003f 
+ 00031740  0x0000836b istore  0x00000004 , 0x00000005 
+ 00031741  0x0000836c rshift32  0x0000003f , 0x00000002 
+ 00031742  0x0000836d increase  0x00000001 , 0x00000013 
+ 00031743  0x0000836e compare  0x00000008 , 0x00000013 , 0x000000ff 
+ 00031744  0x0000836f nbranch  0x00007bf5 , 0x00000001 
+ 00031745  0x00008371 deposit  0x00000002 
+ 00031746  0x00008372 istore  0x00000004 , 0x00000005 
+ 00031747  0x00008373 increase  0xffffffe0 , 0x00000005 
+ 00031748  0x00008376 increase  0x00000001 , 0x00000007 
+ 00031749  0x00008377 compare  0x00000008 , 0x00000007 , 0x000000ff 
+ 00031750  0x00008378 nbranch  0x00007bef , 0x00000001 
+ 00031751  0x00008379 arg  0x00000786 , 0x00000011 
+ 00031752  0x0000837a copy  0x0000000b , 0x00000005 
+ 00031753  0x0000837b branch  0x00007c0a 
+ 00031754  0x0000837e bpatchx  0x000000f2 , 0x0000403e 
+ 00031755  0x0000837f copy  0x00000005 , 0x0000000b 
+ 00031756  0x00008380 copy  0x00000011 , 0x00000030 
+ 00031757  0x00008381 arg  0x000007c6 , 0x00000012 
+ 00031758  0x00008382 copy  0x00000012 , 0x00000005 
+ 00031759  0x00008383 call  0x00007ecd 
+ 00031760  0x00008384 istore  0x00000008 , 0x00000005 
+ 00031761  0x00008385 add  0x00000011 , 0x0000002c , 0x00000006 
+ 00031762  0x00008386 call  0x00007eb9 
+ 00031763  0x00008387 call  0x00007eb5 
+ 00031764  0x00008388 copy  0x00000012 , 0x00000011 
+ 00031765  0x00008389 call  0x00007c80 
+ 00031766  0x0000838a arg  0x000007c6 , 0x00000012 
+ 00031767  0x0000838b copy  0x00000030 , 0x00000011 
+ 00031768  0x0000838c copy  0x0000000b , 0x00000005 
+ 00031769  0x0000838d call  0x00007c7d 
+ 00031770  0x0000838f arg  0x000007c6 , 0x00000012 
+ 00031771  0x00008390 copy  0x00000012 , 0x00000005 
+ 00031772  0x00008391 call  0x00007ecd 
+ 00031773  0x00008392 istore  0x00000008 , 0x00000005 
+ 00031774  0x00008393 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031775  0x00008394 call  0x00007ebf 
+ 00031776  0x00008395 call  0x00007ecd 
+ 00031777  0x00008396 copy  0x00000012 , 0x00000011 
+ 00031778  0x00008397 call  0x00007c80 
+ 00031779  0x0000839b arg  0x000007c6 , 0x00000012 
+ 00031780  0x0000839c copy  0x0000000b , 0x00000011 
+ 00031781  0x0000839d copy  0x00000011 , 0x00000005 
+ 00031782  0x0000839e call  0x00007c7d 
+ 00031783  0x000083a2 arg  0x000007c6 , 0x00000012 
+ 00031784  0x000083a3 copy  0x00000012 , 0x00000005 
+ 00031785  0x000083a4 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031786  0x000083a5 call  0x00007eb5 
+ 00031787  0x000083a6 call  0x00007ecd 
+ 00031788  0x000083a7 istore  0x00000008 , 0x00000005 
+ 00031789  0x000083a8 add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031790  0x000083a9 call  0x00007eb9 
+ 00031791  0x000083aa copy  0x0000000b , 0x00000011 
+ 00031792  0x000083ab copy  0x00000011 , 0x00000005 
+ 00031793  0x000083ac call  0x00007c7d 
+ 00031794  0x000083b0 arg  0x000007c6 , 0x00000012 
+ 00031795  0x000083b1 copy  0x00000012 , 0x00000005 
+ 00031796  0x000083b2 add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031797  0x000083b3 call  0x00007eb5 
+ 00031798  0x000083b4 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031799  0x000083b5 call  0x00007eb5 
+ 00031800  0x000083b6 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031801  0x000083b7 call  0x00007eb6 
+ 00031802  0x000083b8 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031803  0x000083b9 call  0x00007eb6 
+ 00031804  0x000083ba copy  0x0000000b , 0x00000011 
+ 00031805  0x000083bb copy  0x00000011 , 0x00000005 
+ 00031806  0x000083bc call  0x00007c7d 
+ 00031807  0x000083bf arg  0x000007c6 , 0x00000012 
+ 00031808  0x000083c0 copy  0x00000012 , 0x00000005 
+ 00031809  0x000083c1 add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031810  0x000083c2 call  0x00007eb5 
+ 00031811  0x000083c3 call  0x00007ecd 
+ 00031812  0x000083c4 istore  0x00000008 , 0x00000005 
+ 00031813  0x000083c5 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031814  0x000083c6 call  0x00007eb6 
+ 00031815  0x000083c7 add  0x00000030 , 0x00000028 , 0x00000006 
+ 00031816  0x000083c8 call  0x00007eb6 
+ 00031817  0x000083c9 copy  0x0000000b , 0x00000011 
+ 00031818  0x000083ca copy  0x00000011 , 0x00000005 
+ 00031819  0x000083cb call  0x00007c96 
+ 00031820  0x000083ce arg  0x000007c6 , 0x00000012 
+ 00031821  0x000083cf copy  0x00000012 , 0x00000005 
+ 00031822  0x000083d0 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031823  0x000083d1 call  0x00007eb9 
+ 00031824  0x000083d2 call  0x00007eb9 
+ 00031825  0x000083d3 force  0x00000000 , 0x0000003f 
+ 00031826  0x000083d4 istore  0x00000008 , 0x00000005 
+ 00031827  0x000083d5 add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031828  0x000083d6 call  0x00007eb6 
+ 00031829  0x000083d7 add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031830  0x000083d8 call  0x00007eb6 
+ 00031831  0x000083d9 copy  0x0000000b , 0x00000011 
+ 00031832  0x000083da copy  0x00000011 , 0x00000005 
+ 00031833  0x000083db call  0x00007c96 
+ 00031834  0x000083de arg  0x000007c6 , 0x00000012 
+ 00031835  0x000083df copy  0x00000012 , 0x00000005 
+ 00031836  0x000083e0 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031837  0x000083e1 call  0x00007eb5 
+ 00031838  0x000083e2 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031839  0x000083e3 call  0x00007eb5 
+ 00031840  0x000083e4 call  0x00007ecd 
+ 00031841  0x000083e5 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031842  0x000083e6 call  0x00007eb6 
+ 00031843  0x000083e7 copy  0x0000000b , 0x00000011 
+ 00031844  0x000083e8 copy  0x00000011 , 0x00000005 
+ 00031845  0x000083e9 call  0x00007c96 
+ 00031846  0x000083ec arg  0x000007c6 , 0x00000012 
+ 00031847  0x000083ed copy  0x00000012 , 0x00000005 
+ 00031848  0x000083ee add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031849  0x000083ef call  0x00007eb9 
+ 00031850  0x000083f0 call  0x00007ecd 
+ 00031851  0x000083f1 add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031852  0x000083f2 call  0x00007eb5 
+ 00031853  0x000083f3 call  0x00007ecd 
+ 00031854  0x000083f4 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031855  0x000083f5 call  0x00007eb6 
+ 00031856  0x000083f6 copy  0x0000000b , 0x00000011 
+ 00031857  0x000083f7 copy  0x00000011 , 0x00000005 
+ 00031858  0x000083f8 branch  0x00007c96 
+ 00031859  0x000083fc force  0x00000020 , 0x00000039 
+ 00031860  0x000083fd arg  0x00000ad2 , 0x00000005 
+ 00031861  0x000083fe iadd  0x00000005 , 0x00000005 
+ 00031862  0x000083ff branch  0x00007f01 
+ 00031863  0x00008402 force  0x00000008 , 0x00000039 
+ 00031864  0x00008403 branch  0x00007781 
+ 00031865  0x00008406 copy  0x00000011 , 0x00000012 
+ 00031866  0x00008407 branch  0x00007be1 
+ 00031867  0x0000840a force  0x00000008 , 0x00000039 
+ 00031868  0x0000840b branch  0x00007712 
+ 00031869  0x0000840e call  0x00007c7b 
+ 00031870  0x0000840f copy  0x00000005 , 0x00000011 
+ 00031871  0x00008410 branch  0x00007c81 
+ 00031872  0x00008413 call  0x00007cae 
+ 00031873  0x00008415 isolate1  0x00000000 , 0x00000013 
+ 00031874  0x00008416 branch  0x00007c8a , 0x00000001 
+ 00031875  0x00008417 arg  0x0000091e , 0x00000012 
+ 00031876  0x00008418 copy  0x00000011 , 0x00000013 
+ 00031877  0x00008419 increase  0xffffffe0 , 0x00000011 
+ 00031878  0x0000841a call  0x00007cb1 
+ 00031879  0x0000841b nrtn  0x00000002 
+ 00031880  0x0000841c copy  0x00000013 , 0x00000011 
+ 00031881  0x0000841d branch  0x00007c92 
+ 00031882  0x00008420 call  0x00007c92 
+ 00031883  0x00008422 copy  0x00000011 , 0x00000013 
+ 00031884  0x00008423 increase  0xffffffe0 , 0x00000011 
+ 00031885  0x00008424 arg  0x0000091e , 0x00000012 
+ 00031886  0x00008425 call  0x00007cb1 
+ 00031887  0x00008426 nrtn  0x00000002 
+ 00031888  0x00008427 copy  0x00000013 , 0x00000011 
+ 00031889  0x00008428 branch  0x00007c92 
+ 00031890  0x0000842c increase  0xffffffe0 , 0x00000011 
+ 00031891  0x0000842d arg  0x0000091e , 0x00000012 
+ 00031892  0x0000842e copy  0x00000011 , 0x00000005 
+ 00031893  0x0000842f branch  0x00007ca9 
+ 00031894  0x00008435 call  0x00007ca9 
+ 00031895  0x00008437 branch  0x00007ca0 , 0x00000001 
+ 00031896  0x0000843a add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031897  0x0000843b arg  0x0000091e , 0x00000012 
+ 00031898  0x0000843c call  0x00007cb1 
+ 00031899  0x0000843d nrtn  0x00000002 
+ 00031900  0x0000843e arg  0x0000091e , 0x00000012 
+ 00031901  0x0000843f add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031902  0x00008441 copy  0x00000011 , 0x00000005 
+ 00031903  0x00008442 branch  0x00007ca9 
+ 00031904  0x00008444 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031905  0x00008445 arg  0x0000091e , 0x00000012 
+ 00031906  0x00008446 copy  0x00000011 , 0x00000005 
+ 00031907  0x00008447 call  0x00007c7b 
+ 00031908  0x00008449 rtn  0x00000001 
+ 00031909  0x0000844a add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031910  0x0000844b arg  0x0000091e , 0x00000012 
+ 00031911  0x0000844c copy  0x00000011 , 0x00000005 
+ 00031912  0x0000844d branch  0x00007c7b 
+ 00031913  0x00008452 force  0x00000008 , 0x00000039 
+ 00031914  0x00008453 branch  0x00007720 
+ 00031915  0x00008456 force  0x00000008 , 0x00000039 
+ 00031916  0x00008457 increase  0x0000001c , 0x00000011 
+ 00031917  0x00008458 branch  0x0000772f 
+ 00031918  0x0000845b force  0x00000008 , 0x00000039 
+ 00031919  0x0000845c force  0x00000000 , 0x00000013 
+ 00031920  0x0000845d branch  0x0000773d 
+ 00031921  0x00008460 force  0x00000008 , 0x00000039 
+ 00031922  0x00008461 increase  0x0000001c , 0x00000011 
+ 00031923  0x00008462 increase  0x0000001c , 0x00000012 
+ 00031924  0x00008463 branch  0x00007707 
+ 00031925  0x00008467 ifetch  0x00000008 , 0x00000006 
+ 00031926  0x00008468 nrtn  0x00000034 
+ 00031927  0x00008469 branch  0x000076f5 
+ 00031928  0x0000846f copy  0x00000011 , 0x00000030 
+ 00031929  0x00008471 copy  0x00000030 , 0x00000011 
+ 00031930  0x00008472 ifetch  0x00000001 , 0x00000011 
+ 00031931  0x00008473 isolate1  0x00000000 , 0x0000003f 
+ 00031932  0x00008474 rtn  0x00000001 
+ 00031933  0x00008475 call  0x00007cab 
+ 00031934  0x00008476 ifetch  0x00000001 , 0x00000012 
+ 00031935  0x00008477 isolate0  0x00000000 , 0x0000003f 
+ 00031936  0x00008478 branch  0x00007cc8 , 0x00000001 
+ 00031937  0x00008479 arg  0x0000091e , 0x00000011 
+ 00031938  0x0000847a copy  0x00000012 , 0x00000005 
+ 00031939  0x0000847b call  0x00007c7b 
+ 00031940  0x0000847c ifetch  0x00000001 , 0x00000012 
+ 00031941  0x0000847d iadd  0x00000013 , 0x0000003f 
+ 00031942  0x0000847e istore  0x00000001 , 0x00000012 
+ 00031943  0x0000847f increase  0xffffffe0 , 0x00000012 
+ 00031944  0x00008481 add  0x00000012 , 0x00000020 , 0x00000011 
+ 00031945  0x00008482 force  0x00000009 , 0x00000039 
+ 00031946  0x00008483 call  0x0000772f 
+ 00031947  0x00008484 branch  0x00007cb9 
+ 00031948  0x00008489 call  0x00002c65 
+ 00031949  0x0000848a rtn  0x0000002b 
+ 00031950  0x0000848b call  0x00007cd3 
+ 00031951  0x0000848c call  0x00007d75 
+ 00031952  0x0000848d branch  0x00007d08 
+ 00031953  0x00008490 call  0x00007d29 
+ 00031954  0x00008492 branch  0x00007d64 
+ 00031955  0x00008495 fetch  0x00000001 , 0x00004686 
+ 00031956  0x00008496 rtneq  0x000000ff 
+ 00031957  0x00008497 iforce  0x00000002 
+ 00031958  0x00008498 call  0x0000680e 
+ 00031959  0x00008499 fetcht  0x00000001 , 0x00004686 
+ 00031960  0x0000849a call  0x00006825 
+ 00031961  0x0000849b nop  0x00000064 
+ 00031962  0x0000849c fetcht  0x00000001 , 0x00004686 
+ 00031963  0x0000849d call  0x000067fb 
+ 00031964  0x0000849e branch  0x00007cdd 
+ 00031965  0x000084a3 bpatchx  0x000000f3 , 0x0000403e 
+ 00031966  0x000084a4 fetch  0x00000001 , 0x00004686 
+ 00031967  0x000084a5 rtneq  0x000000ff 
+ 00031968  0x000084a6 copy  0x0000003f , 0x00000002 
+ 00031969  0x000084a7 call  0x0000681d 
+ 00031970  0x000084a8 nbranch  0x00007cef , 0x00000001 
+ 00031971  0x000084ab call  0x00007cf9 
+ 00031972  0x000084ac fetch  0x00000002 , 0x00004682 
+ 00031973  0x000084ad set1  0x0000000c 
+ 00031974  0x000084ae store  0x00000002 , 0x00004682 
+ 00031975  0x000084af fetch  0x00000001 , 0x00004679 
+ 00031976  0x000084b0 rtneq  0x00000000 
+ 00031977  0x000084b1 jam  0x00000000 , 0x00004679 
+ 00031978  0x000084b3 fetch  0x00000001 , 0x00004685 
+ 00031979  0x000084b4 store  0x00000001 , 0x00004678 
+ 00031980  0x000084b5 call  0x00007d00 
+ 00031981  0x000084b6 jam  0x0000002c , 0x00000a99 
+ 00031982  0x000084b7 branch  0x00007d86 
+ 00031983  0x000084b9 fetch  0x00000002 , 0x00004682 
+ 00031984  0x000084ba set0  0x0000000c 
+ 00031985  0x000084bb store  0x00000002 , 0x00004682 
+ 00031986  0x000084bc fetch  0x00000001 , 0x00004679 
+ 00031987  0x000084bd rtneq  0x00000001 
+ 00031988  0x000084be jam  0x00000001 , 0x00004679 
+ 00031989  0x000084c0 jam  0x00000000 , 0x00004678 
+ 00031990  0x000084c1 call  0x00007d02 
+ 00031991  0x000084c2 jam  0x0000002d , 0x00000a99 
+ 00031992  0x000084c3 branch  0x00007d86 
+ 00031993  0x000084c6 fetch  0x00000001 , 0x00004678 
+ 00031994  0x000084c7 rtn  0x00000034 
+ 00031995  0x000084c8 increase  0xffffffff , 0x0000003f 
+ 00031996  0x000084c9 store  0x00000001 , 0x00004678 
+ 00031997  0x000084ca nrtn  0x00000034 
+ 00031998  0x000084cc jam  0x00000010 , 0x00000a99 
+ 00031999  0x000084cd branch  0x00007d86 
+ 00032000  0x000084d0 arg  0x00000007 , 0x00000007 
+ 00032001  0x000084d1 branch  0x00002c32 
+ 00032002  0x000084d4 arg  0x00000007 , 0x00000007 
+ 00032003  0x000084d5 branch  0x00002c36 
+ 00032004  0x000084ec fetch  0x00000002 , 0x0000421b 
+ 00032005  0x000084ed mul32  0x00000011 , 0x0000000b , 0x00000012 
+ 00032006  0x000084ee iadd  0x00000012 , 0x00000012 
+ 00032007  0x000084ef rtn 
+ 00032008  0x000084f3 fetch  0x00000001 , 0x0000421a 
+ 00032009  0x000084f4 rtn  0x00000034 
+ 00032010  0x000084f5 copy  0x0000003f , 0x00000039 
+ 00032011  0x000084f6 fetch  0x00000002 , 0x0000421b 
+ 00032012  0x000084f7 copy  0x0000003f , 0x00000012 
+ 00032013  0x000084f9 add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032014  0x000084fa ifetcht  0x00000001 , 0x00000013 
+ 00032015  0x000084fb call  0x0000680e 
+ 00032016  0x000084fc call  0x00007d32 
+ 00032017  0x000084fd increase  0x0000000b , 0x00000012 
+ 00032018  0x000084fe loop  0x00007d0d 
+ 00032019  0x000084ff rtn 
+ 00032020  0x00008504 call  0x00007d04 
+ 00032021  0x00008505 setarg  0x00000002 
+ 00032022  0x00008506 istore  0x00000001 , 0x00000012 
+ 00032023  0x00008507 call  0x00007d5e 
+ 00032024  0x00008508 branch  0x00007d35 
+ 00032025  0x0000850e call  0x00007d04 
+ 00032026  0x0000850f setarg  0x00000003 
+ 00032027  0x00008510 istore  0x00000001 , 0x00000012 
+ 00032028  0x00008511 call  0x00007d5e 
+ 00032029  0x00008512 branch  0x00007d32 
+ 00032030  0x00008517 call  0x00007d04 
+ 00032031  0x00008518 setarg  0x00000001 
+ 00032032  0x00008519 istore  0x00000001 , 0x00000012 
+ 00032033  0x0000851a setarg  0x000000ff 
+ 00032034  0x0000851b istore  0x00000001 , 0x00000005 
+ 00032035  0x0000851c branch  0x00007d32 
+ 00032036  0x00008522 call  0x00007d04 
+ 00032037  0x00008523 arg  0x0000000b , 0x00000039 
+ 00032038  0x00008524 copy  0x00000013 , 0x00000006 
+ 00032039  0x00008525 copy  0x00000012 , 0x00000005 
+ 00032040  0x00008526 branch  0x00007ef4 
+ 00032041  0x0000852b fetch  0x00000001 , 0x0000421a 
+ 00032042  0x0000852c rtn  0x00000034 
+ 00032043  0x0000852d arg  0x00000000 , 0x00000011 
+ 00032044  0x0000852f call  0x00007d38 
+ 00032045  0x00008530 increase  0x00000001 , 0x00000011 
+ 00032046  0x00008531 fetch  0x00000001 , 0x0000421a 
+ 00032047  0x00008532 isub  0x00000011 , 0x0000003e 
+ 00032048  0x00008533 rtn  0x00000005 
+ 00032049  0x00008534 branch  0x00007d2c 
+ 00032050  0x00008538 add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032051  0x00008539 ifetcht  0x00000001 , 0x00000013 
+ 00032052  0x0000853a branch  0x00006825 
+ 00032053  0x0000853e add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032054  0x0000853f ifetcht  0x00000001 , 0x00000013 
+ 00032055  0x00008540 branch  0x00006829 
+ 00032056  0x00008545 add  0x00000011 , 0x0000000b , 0x00000007 
+ 00032057  0x00008546 call  0x00007f16 
+ 00032058  0x00008547 nrtn  0x00000034 
+ 00032059  0x00008549 call  0x00007d04 
+ 00032060  0x0000854b ifetch  0x00000001 , 0x00000012 
+ 00032061  0x0000854d beq  0x00000002 , 0x00007d35 
+ 00032062  0x0000854e beq  0x00000003 , 0x00007d32 
+ 00032063  0x0000854f beq  0x00000000 , 0x00007d32 
+ 00032064  0x00008550 beq  0x00000005 , 0x00007d4c 
+ 00032065  0x00008552 call  0x00007d35 
+ 00032066  0x00008553 add  0x00000012 , 0x00000007 , 0x00000013 
+ 00032067  0x00008554 call  0x00007e7c 
+ 00032068  0x00008555 ifetch  0x00000002 , 0x00000013 
+ 00032069  0x00008556 call  0x00007f9c 
+ 00032070  0x00008557 call  0x00007e8c 
+ 00032071  0x00008558 setarg  0x00000005 
+ 00032072  0x00008559 istore  0x00000001 , 0x00000012 
+ 00032073  0x0000855a add  0x00000012 , 0x00000003 , 0x00000013 
+ 00032074  0x0000855b ifetch  0x00000002 , 0x00000013 
+ 00032075  0x0000855c branch  0x00007d5c 
+ 00032076  0x00008560 call  0x00007d32 
+ 00032077  0x00008561 add  0x00000012 , 0x00000009 , 0x00000013 
+ 00032078  0x00008562 call  0x00007e7c 
+ 00032079  0x00008563 ifetch  0x00000002 , 0x00000013 
+ 00032080  0x00008564 call  0x00007f9c 
+ 00032081  0x00008565 call  0x00007e8c 
+ 00032082  0x00008567 add  0x00000012 , 0x00000001 , 0x00000013 
+ 00032083  0x00008568 ifetch  0x00000001 , 0x00000013 
+ 00032084  0x00008569 beq  0x000000ff , 0x00007d58 
+ 00032085  0x0000856a increase  0xffffffff , 0x0000003f 
+ 00032086  0x0000856b istore  0x00000001 , 0x00000013 
+ 00032087  0x0000856c branch  0x00007d19 , 0x00000034 
+ 00032088  0x0000856e setarg  0x00000004 
+ 00032089  0x0000856f istore  0x00000001 , 0x00000012 
+ 00032090  0x00008570 add  0x00000012 , 0x00000005 , 0x00000013 
+ 00032091  0x00008571 ifetch  0x00000002 , 0x00000013 
+ 00032092  0x00008573 add  0x00000011 , 0x0000000b , 0x00000007 
+ 00032093  0x00008574 branch  0x00007f08 
+ 00032094  0x00008577 setarg  0x00000000 
+ 00032095  0x00008578 branch  0x00007d5c 
+ 00032096  0x0000857f setarg  0x00001000 
+ 00032097  0x00008580 lshift16  0x0000003f , 0x0000003f 
+ 00032098  0x00008581 iadd  0x00000012 , 0x00000012 
+ 00032099  0x00008582 rtn 
+ 00032100  0x00008585 bpatchx  0x000000f4 , 0x0000403e 
+ 00032101  0x00008586 arg  0x00000000 , 0x00000011 
+ 00032102  0x00008587 fetcht  0x00000004 , 0x0000467a 
+ 00032103  0x00008588 copy  0x00000022 , 0x00000012 
+ 00032104  0x00008589 copy  0x00000012 , 0x0000003f 
+ 00032105  0x0000858a isub  0x00000002 , 0x0000003e 
+ 00032106  0x0000858b ncall  0x00007d60 , 0x00000002 
+ 00032107  0x0000858e copy  0x00000012 , 0x0000003f 
+ 00032108  0x0000858f increase  0x000000a0 , 0x00000002 
+ 00032109  0x00008590 increase  0x000000a0 , 0x00000002 
+ 00032110  0x00008591 isub  0x00000002 , 0x0000003e 
+ 00032111  0x00008592 nbranch  0x00007d78 , 0x00000002 
+ 00032112  0x00008593 increase  0x00000001 , 0x00000011 
+ 00032113  0x00008594 and  0x00000011 , 0x0000000f , 0x0000003f 
+ 00032114  0x00008595 nbranch  0x00007d6b , 0x00000034 
+ 00032115  0x00008596 arg  0x00000000 , 0x00000011 
+ 00032116  0x00008597 call  0x00007d7f 
+ 00032117  0x00008599 copy  0x00000022 , 0x0000003f 
+ 00032118  0x0000859a store  0x00000004 , 0x0000467a 
+ 00032119  0x0000859b rtn 
+ 00032120  0x0000859d bpatchx  0x000000f5 , 0x0000403e 
+ 00032121  0x0000859e copy  0x00000011 , 0x0000003f 
+ 00032122  0x0000859f rtn  0x00000034 
+ 00032123  0x000085a0 increase  0xffffff60 , 0x00000002 
+ 00032124  0x000085a1 increase  0xffffff60 , 0x00000002 
+ 00032125  0x000085a2 set0  0x0000001c , 0x00000002 
+ 00032126  0x000085a3 storet  0x00000004 , 0x0000467a 
+ 00032127  0x000085a5 branch  0x0000335f 
+ 00032128  0x000085ad jam  0x00000001 , 0x00004666 
+ 00032129  0x000085af fetch  0x00000001 , 0x00004667 
+ 00032130  0x000085b0 nbranch  0x00007d81 , 0x00000034 
+ 00032131  0x000085b1 rtn 
+ 00032132  0x000085b4 jam  0x00000000 , 0x00004666 
+ 00032133  0x000085b5 rtn 
+ 00032134  0x000085ba bpatchx  0x000000f6 , 0x0000403e 
+ 00032135  0x000085bb call  0x00007d80 
+ 00032136  0x000085bc copy  0x00000011 , 0x0000003f 
+ 00032137  0x000085bd store  0x00000004 , 0x00000a91 
+ 00032138  0x000085be arg  0x00004668 , 0x00000011 
+ 00032139  0x000085bf call  0x00007fb8 
+ 00032140  0x000085c0 fetch  0x00000004 , 0x00000a91 
+ 00032141  0x000085c1 copy  0x0000003f , 0x00000011 
+ 00032142  0x000085c2 branch  0x00007d84 
+ 00032143  0x000085c5 bpatchx  0x000000f7 , 0x0000403e 
+ 00032144  0x000085c6 call  0x00007d80 
+ 00032145  0x000085c7 copy  0x00000011 , 0x0000003f 
+ 00032146  0x000085c8 store  0x00000004 , 0x00000a91 
+ 00032147  0x000085c9 arg  0x00004670 , 0x00000011 
+ 00032148  0x000085ca call  0x00007fb8 
+ 00032149  0x000085cb fetch  0x00000004 , 0x00000a91 
+ 00032150  0x000085cc copy  0x0000003f , 0x00000011 
+ 00032151  0x000085cd branch  0x00007d84 
+ 00032152  0x000085d0 setarg  0x00000000 
+ 00032153  0x000085d1 store  0x00000008 , 0x00004670 
+ 00032154  0x000085d2 store  0x00000008 , 0x00004668 
+ 00032155  0x000085d3 rtn 
+ 00032156  0x000085d6 bpatchx  0x000000f8 , 0x0000403f 
+ 00032157  0x000085d7 fetch  0x00000001 , 0x000041ce 
+ 00032158  0x000085d8 nrtn  0x00000034 
+ 00032159  0x000085d9 arg  0x00004670 , 0x00000011 
+ 00032160  0x000085da call  0x00007fd0 
+ 00032161  0x000085db rtn  0x00000034 
+ 00032162  0x000085dc jam  0x00000000 , 0x00000a90 
+ 00032163  0x000085dd call  0x00007da7 
+ 00032164  0x000085de fetch  0x00000001 , 0x00000a90 
+ 00032165  0x000085df branch  0x00007d9c , 0x00000034 
+ 00032166  0x000085e0 rtn 
+ 00032167  0x000085e3 call  0x00007d80 
+ 00032168  0x000085e4 arg  0x00004670 , 0x00000011 
+ 00032169  0x000085e5 call  0x00007fc4 
+ 00032170  0x000085e6 copy  0x0000003f , 0x00000002 
+ 00032171  0x000085e7 call  0x00007d84 
+ 00032172  0x000085e8 bpatchx  0x000000f9 , 0x0000403f 
+ 00032173  0x000085e9 copy  0x00000002 , 0x0000003f 
+ 00032174  0x000085ea rtn  0x00000034 
+ 00032175  0x000085eb beq  0x00000001 , 0x00007ddd 
+ 00032176  0x000085ec beq  0x00000002 , 0x00007de2 
+ 00032177  0x000085ed beq  0x00000003 , 0x00007de8 
+ 00032178  0x000085ee beq  0x00000007 , 0x00007ded 
+ 00032179  0x000085ef beq  0x00000008 , 0x00007dee 
+ 00032180  0x000085f0 beq  0x00000009 , 0x00007def 
+ 00032181  0x000085f1 beq  0x0000000b , 0x00007df2 
+ 00032182  0x000085f2 beq  0x0000000c , 0x00007df3 
+ 00032183  0x000085f3 beq  0x0000000d , 0x00007df4 
+ 00032184  0x000085f4 beq  0x0000000e , 0x00007dfa 
+ 00032185  0x000085f5 beq  0x0000000f , 0x00007dff 
+ 00032186  0x000085f6 beq  0x00000010 , 0x00007e05 
+ 00032187  0x000085f7 beq  0x00000013 , 0x00007e0f 
+ 00032188  0x000085f8 beq  0x00000014 , 0x00007e11 
+ 00032189  0x000085f9 beq  0x00000015 , 0x00007e13 
+ 00032190  0x000085fa beq  0x00000016 , 0x00007e15 
+ 00032191  0x000085fb beq  0x00000017 , 0x00007e18 
+ 00032192  0x000085fc beq  0x00000018 , 0x00007e1a 
+ 00032193  0x000085fd beq  0x00000019 , 0x00007e1d 
+ 00032194  0x000085fe beq  0x0000001b , 0x00007e25 
+ 00032195  0x000085ff beq  0x0000001e , 0x00007e2f 
+ 00032196  0x00008601 store  0x00000001 , 0x00000a99 
+ 00032197  0x00008602 bpatchx  0x000000fa , 0x0000403f 
+ 00032198  0x00008603 call  0x000062bc 
+ 00032199  0x00008604 nbranch  0x00007ddb , 0x00000034 
+ 00032200  0x00008606 fetch  0x00000001 , 0x00000a99 
+ 00032201  0x00008607 bmark0  0x00000009 , 0x00007dd6 
+ 00032202  0x00008608 beq  0x00000004 , 0x00007dea 
+ 00032203  0x00008609 beq  0x00000005 , 0x00004d17 
+ 00032204  0x0000860a beq  0x00000006 , 0x00004d26 
+ 00032205  0x0000860b beq  0x0000000a , 0x00007df0 
+ 00032206  0x0000860c beq  0x00000011 , 0x00007e0a 
+ 00032207  0x0000860d beq  0x00000012 , 0x00007e0e 
+ 00032208  0x0000860e beq  0x0000001d , 0x00007e26 
+ 00032209  0x0000860f beq  0x0000001f , 0x000067cc 
+ 00032210  0x00008610 beq  0x00000020 , 0x000067d0 
+ 00032211  0x00008611 beq  0x00000021 , 0x00007e31 
+ 00032212  0x00008612 beq  0x00000025 , 0x0000670b 
+ 00032213  0x00008613 rtn 
+ 00032214  0x00008616 store  0x00000001 , 0x00000a99 
+ 00032215  0x00008617 call  0x00002252 
+ 00032216  0x00008618 branch  0x00007ddb , 0x00000005 
+ 00032217  0x00008619 call  0x0000225a 
+ 00032218  0x0000861a nrtn  0x00000005 
+ 00032219  0x0000861c jam  0x00000001 , 0x00000a90 
+ 00032220  0x0000861d branch  0x00007d8f 
+ 00032221  0x00008623 fetch  0x00000002 , 0x00004682 
+ 00032222  0x00008624 set1  0x00000006 
+ 00032223  0x00008625 store  0x00000002 , 0x00004682 
+ 00032224  0x00008626 jam  0x00000003 , 0x00004093 
+ 00032225  0x00008627 rtn 
+ 00032226  0x0000862c jam  0x00000000 , 0x00004680 
+ 00032227  0x0000862d jam  0x00000000 , 0x00004093 
+ 00032228  0x0000862e fetch  0x00000002 , 0x00004682 
+ 00032229  0x0000862f set0  0x00000006 
+ 00032230  0x00008630 store  0x00000002 , 0x00004682 
+ 00032231  0x00008631 rtn 
+ 00032232  0x00008636 jam  0x00000005 , 0x000041ce 
+ 00032233  0x00008637 rtn 
+ 00032234  0x0000863c jam  0x00000007 , 0x0000007c 
+ 00032235  0x0000863d jam  0x00000013 , 0x000004ca 
+ 00032236  0x0000863e rtn 
+ 00032237  0x00008643 rtn 
+ 00032238  0x00008648 rtn 
+ 00032239  0x0000864d rtn 
+ 00032240  0x00008652 jam  0x00000002 , 0x000004d4 
+ 00032241  0x00008653 branch  0x00004d0a 
+ 00032242  0x00008658 rtn 
+ 00032243  0x0000865d rtn 
+ 00032244  0x00008662 jam  0x00000001 , 0x0000436e 
+ 00032245  0x00008663 jam  0x00000000 , 0x00004484 
+ 00032246  0x00008664 fetch  0x00000002 , 0x00004682 
+ 00032247  0x00008665 set1  0x0000000b , 0x0000003f 
+ 00032248  0x00008666 store  0x00000002 , 0x00004682 
+ 00032249  0x00008667 rtn 
+ 00032250  0x0000866c fetch  0x00000002 , 0x00004682 
+ 00032251  0x0000866d set0  0x0000000b , 0x0000003f 
+ 00032252  0x0000866e store  0x00000002 , 0x00004682 
+ 00032253  0x0000866f jam  0x00000000 , 0x0000436e 
+ 00032254  0x00008670 rtn 
+ 00032255  0x00008675 jam  0x00000001 , 0x0000436e 
+ 00032256  0x00008676 jam  0x00000001 , 0x00004484 
+ 00032257  0x00008677 fetch  0x00000002 , 0x00004682 
+ 00032258  0x00008678 set1  0x0000000b , 0x0000003f 
+ 00032259  0x00008679 store  0x00000002 , 0x00004682 
+ 00032260  0x0000867a rtn 
+ 00032261  0x0000867f fetch  0x00000002 , 0x00004682 
+ 00032262  0x00008680 set0  0x0000000b , 0x0000003f 
+ 00032263  0x00008681 store  0x00000002 , 0x00004682 
+ 00032264  0x00008682 jam  0x00000000 , 0x0000436e 
+ 00032265  0x00008683 rtn 
+ 00032266  0x00008688 setarg  0x00000014 
+ 00032267  0x00008689 store  0x00000002 , 0x0000046d 
+ 00032268  0x0000868a store  0x00000002 , 0x000044ba 
+ 00032269  0x0000868b branch  0x00005c92 
+ 00032270  0x00008690 branch  0x00005abf 
+ 00032271  0x00008695 arg  0x00000000 , 0x00000011 
+ 00032272  0x00008696 branch  0x00007d19 
+ 00032273  0x0000869b arg  0x00000000 , 0x00000011 
+ 00032274  0x0000869c branch  0x00007d14 
+ 00032275  0x000086a1 arg  0x00000000 , 0x00000011 
+ 00032276  0x000086a2 branch  0x00007d1e 
+ 00032277  0x000086a7 jam  0x00000001 , 0x00004369 
+ 00032278  0x000086a8 jam  0x0000001b , 0x000041ce 
+ 00032279  0x000086ab rtn 
+ 00032280  0x000086b0 jam  0x00000001 , 0x00004369 
+ 00032281  0x000086b1 rtn 
+ 00032282  0x000086b6 jam  0x00000000 , 0x00004369 
+ 00032283  0x000086b7 jam  0x00000000 , 0x000041ce 
+ 00032284  0x000086b8 rtn 
+ 00032285  0x000086bd fetch  0x00000002 , 0x000041eb 
+ 00032286  0x000086be call  0x00007f9c 
+ 00032287  0x000086bf fetch  0x00000001 , 0x00004686 
+ 00032288  0x000086c0 beq  0x000000ff , 0x00007e23 
+ 00032289  0x000086c1 copy  0x0000003f , 0x00000002 
+ 00032290  0x000086c2 call  0x000067fb 
+ 00032291  0x000086c4 call  0x00007d98 
+ 00032292  0x000086c5 branch  0x00002b1f 
+ 00032293  0x000086ca branch  0x00005b02 
+ 00032294  0x000086cf jam  0x00000034 , 0x0000007c 
+ 00032295  0x000086d0 set1  0x00000003 , 0x00000000 
+ 00032296  0x000086d1 nrtn  0x00000029 
+ 00032297  0x000086d2 jam  0x00000000 , 0x0000455b 
+ 00032298  0x000086d3 jam  0x00000013 , 0x0000007c 
+ 00032299  0x000086d4 fetch  0x00000001 , 0x0000016d 
+ 00032300  0x000086d5 set0  0x00000002 , 0x0000003f 
+ 00032301  0x000086d6 store  0x00000001 , 0x0000016d 
+ 00032302  0x000086d7 rtn 
+ 00032303  0x000086dc force  0x00000003 , 0x00000007 
+ 00032304  0x000086dd branch  0x00007f07 
+ 00032305  0x000086e2 call  0x000062f8 
+ 00032306  0x000086e3 jam  0x00000041 , 0x0000007d 
+ 00032307  0x000086e4 branch  0x00005f9d 
+ 00032308  0x000086e8 fetch  0x00000001 , 0x00004682 
+ 00032309  0x000086e9 rtnbit0  0x0000000c 
+ 00032310  0x000086ea rtnbit0  0x00000007 
+ 00032311  0x000086eb branch  0x00007e2f 
+ 00032312  0x000086f1 fetch  0x00000002 , 0x00004218 
+ 00032313  0x000086f2 add  0x0000003f , 0x00000002 , 0x00000005 
+ 00032314  0x000086f3 setarg  0x00000000 
+ 00032315  0x000086f4 istore  0x00000003 , 0x00000005 
+ 00032316  0x000086f5 rtn 
+ 00032317  0x000086fa call  0x00007fe9 
+ 00032318  0x000086fb call  0x00007e69 
+ 00032319  0x000086fc rtn  0x00000034 
+ 00032320  0x000086fd fetch  0x00000002 , 0x00004218 
+ 00032321  0x000086fe add  0x0000003f , 0x00000002 , 0x00000012 
+ 00032322  0x000086ff ifetcht  0x00000001 , 0x00000012 
+ 00032323  0x00008700 increase  0x00000001 , 0x00000002 
+ 00032324  0x00008701 istoret  0x00000001 , 0x00000012 
+ 00032325  0x00008703 ifetcht  0x00000001 , 0x0000003f 
+ 00032326  0x00008704 copy  0x00000002 , 0x00000039 
+ 00032327  0x00008705 add  0x0000003f , 0x00000004 , 0x00000012 
+ 00032328  0x00008706 ifetch  0x00000001 , 0x00000012 
+ 00032329  0x00008707 imul32  0x00000002 , 0x0000003f 
+ 00032330  0x00008708 iadd  0x00000006 , 0x00000005 
+ 00032331  0x00008709 copy  0x00000011 , 0x00000006 
+ 00032332  0x0000870b call  0x00007f01 
+ 00032333  0x0000870c call  0x00007e6d 
+ 00032334  0x0000870d pincrease  0xffffffff 
+ 00032335  0x0000870e ifetcht  0x00000001 , 0x00000012 
+ 00032336  0x0000870f increase  0x00000001 , 0x00000002 
+ 00032337  0x00008710 iand  0x00000002 , 0x00000002 
+ 00032338  0x00008711 istoret  0x00000001 , 0x00000012 
+ 00032339  0x00008712 branch  0x00007fe7 
+ 00032340  0x00008718 call  0x00007fe9 
+ 00032341  0x00008719 call  0x00007e65 
+ 00032342  0x0000871a rtn  0x00000034 
+ 00032343  0x0000871b fetch  0x00000002 , 0x00004218 
+ 00032344  0x0000871c add  0x0000003f , 0x00000002 , 0x00000012 
+ 00032345  0x0000871d ifetcht  0x00000001 , 0x00000012 
+ 00032346  0x0000871e increase  0xffffffff , 0x00000002 
+ 00032347  0x0000871f istoret  0x00000001 , 0x00000012 
+ 00032348  0x00008720 ifetcht  0x00000001 , 0x0000003f 
+ 00032349  0x00008721 copy  0x00000002 , 0x00000039 
+ 00032350  0x00008722 add  0x0000003f , 0x00000003 , 0x00000012 
+ 00032351  0x00008723 ifetch  0x00000001 , 0x00000012 
+ 00032352  0x00008724 imul32  0x00000002 , 0x0000003f 
+ 00032353  0x00008725 iadd  0x00000006 , 0x00000006 
+ 00032354  0x00008726 increase  0x00000001 , 0x00000006 
+ 00032355  0x00008727 copy  0x00000011 , 0x00000005 
+ 00032356  0x00008728 branch  0x00007e4c 
+ 00032357  0x0000872d fetch  0x00000002 , 0x00004218 
+ 00032358  0x0000872e add  0x0000003f , 0x00000002 , 0x00000006 
+ 00032359  0x0000872f ifetch  0x00000001 , 0x00000006 
+ 00032360  0x00008730 rtn 
+ 00032361  0x00008734 call  0x00007e6d 
+ 00032362  0x00008735 ifetcht  0x00000001 , 0x00000006 
+ 00032363  0x00008736 isub  0x00000002 , 0x0000003f 
+ 00032364  0x00008737 rtn 
+ 00032365  0x0000873b fetch  0x00000002 , 0x00004218 
+ 00032366  0x0000873c add  0x0000003f , 0x00000001 , 0x00000006 
+ 00032367  0x0000873d ifetch  0x00000001 , 0x00000006 
+ 00032368  0x0000873e rtn 
+ 00032369  0x00008747 sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00032370  0x00008748 rtn  0x00000005 
+ 00032371  0x0000874a rshift  0x0000003f , 0x0000003f 
+ 00032372  0x0000874b loop  0x00007e73 
+ 00032373  0x0000874c rtn 
+ 00032374  0x00008750 force  0x00000001 , 0x0000003f 
+ 00032375  0x00008751 sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00032376  0x00008752 rtn  0x00000005 
+ 00032377  0x00008754 lshift  0x0000003f , 0x0000003f 
+ 00032378  0x00008755 loop  0x00007e79 
+ 00032379  0x00008756 rtn 
+ 00032380  0x00008758 deposit  0x00000005 
+ 00032381  0x00008759 store  0x00000002 , 0x00000abb 
+ 00032382  0x0000875a storet  0x00000008 , 0x00000aa2 
+ 00032383  0x0000875b deposit  0x0000000b 
+ 00032384  0x0000875c store  0x00000004 , 0x00000aaa 
+ 00032385  0x0000875d call  0x00007e85 
+ 00032386  0x0000875e deposit  0x00000006 
+ 00032387  0x0000875f store  0x00000002 , 0x00000ab9 
+ 00032388  0x00008760 rtn 
+ 00032389  0x00008763 deposit  0x00000011 
+ 00032390  0x00008764 store  0x00000004 , 0x00000aae 
+ 00032391  0x00008765 deposit  0x00000012 
+ 00032392  0x00008766 store  0x00000004 , 0x00000ab2 
+ 00032393  0x00008767 deposit  0x00000013 
+ 00032394  0x00008768 store  0x00000003 , 0x00000ab6 
+ 00032395  0x00008769 rtn 
+ 00032396  0x0000876c fetcht  0x00000008 , 0x00000aa2 
+ 00032397  0x0000876d fetch  0x00000004 , 0x00000aaa 
+ 00032398  0x0000876e iforce  0x0000000b 
+ 00032399  0x0000876f call  0x00007e95 
+ 00032400  0x00008770 fetch  0x00000002 , 0x00000abb 
+ 00032401  0x00008771 iforce  0x00000005 
+ 00032402  0x00008772 fetch  0x00000002 , 0x00000ab9 
+ 00032403  0x00008773 iforce  0x00000006 
+ 00032404  0x00008774 rtn 
+ 00032405  0x00008777 fetch  0x00000004 , 0x00000aae 
+ 00032406  0x00008778 iforce  0x00000011 
+ 00032407  0x00008779 fetch  0x00000004 , 0x00000ab2 
+ 00032408  0x0000877a iforce  0x00000012 
+ 00032409  0x0000877b fetch  0x00000003 , 0x00000ab6 
+ 00032410  0x0000877c iforce  0x00000013 
+ 00032411  0x0000877d rtn 
+ 00032412  0x00008780 fetch  0x00000002 , 0x00000abb 
+ 00032413  0x00008781 copy  0x0000003f , 0x00000005 
+ 00032414  0x00008782 rtn 
+ 00032415  0x00008784 fetch  0x00000002 , 0x00000ab9 
+ 00032416  0x00008785 copy  0x0000003f , 0x00000006 
+ 00032417  0x00008786 rtn 
+ 00032418  0x00008788 copy  0x00000005 , 0x0000003f 
+ 00032419  0x00008789 store  0x00000002 , 0x00000abb 
+ 00032420  0x0000878a rtn 
+ 00032421  0x0000878c copy  0x00000006 , 0x0000003f 
+ 00032422  0x0000878d store  0x00000002 , 0x00000ab9 
+ 00032423  0x0000878e rtn 
+ 00032424  0x00008793 copy  0x00000005 , 0x0000003f 
+ 00032425  0x00008794 store  0x00000002 , 0x00000a97 
+ 00032426  0x00008795 copy  0x00000006 , 0x0000003f 
+ 00032427  0x00008796 store  0x00000002 , 0x00000a95 
+ 00032428  0x00008797 rtn 
+ 00032429  0x00008799 fetch  0x00000002 , 0x00000a97 
+ 00032430  0x0000879a copy  0x0000003f , 0x00000005 
+ 00032431  0x0000879b fetch  0x00000002 , 0x00000a95 
+ 00032432  0x0000879c copy  0x0000003f , 0x00000006 
+ 00032433  0x0000879d rtn 
+ 00032434  0x000087a0 call  0x00007ebd 
+ 00032435  0x000087a2 call  0x00007ebd 
+ 00032436  0x000087a3 branch  0x00007ebd 
+ 00032437  0x000087a5 call  0x00007eb9 
+ 00032438  0x000087a7 ifetch  0x00000004 , 0x00000006 
+ 00032439  0x000087a8 istore  0x00000004 , 0x00000005 
+ 00032440  0x000087a9 rtn 
+ 00032441  0x000087ab ifetch  0x00000008 , 0x00000006 
+ 00032442  0x000087ac istore  0x00000008 , 0x00000005 
+ 00032443  0x000087ad rtn 
+ 00032444  0x000087b0 call  0x00007ebf 
+ 00032445  0x000087b2 call  0x00007eb9 
+ 00032446  0x000087b4 call  0x00007eb9 
+ 00032447  0x000087b6 call  0x00007eb9 
+ 00032448  0x000087b7 branch  0x00007eb9 
+ 00032449  0x000087bc arg  0x0000000a , 0x00000039 
+ 00032450  0x000087be nop  0x00002ee0 
+ 00032451  0x000087bf loop  0x00007ec2 
+ 00032452  0x000087c0 rtn 
+ 00032453  0x000087c3 force  0x00000003 , 0x00000039 
+ 00032454  0x000087c5 force  0x00000000 , 0x0000003f 
+ 00032455  0x000087c7 istore  0x00000008 , 0x00000005 
+ 00032456  0x000087c8 loop  0x00007ec7 
+ 00032457  0x000087c9 rtn 
+ 00032458  0x000087cc force  0x00000000 , 0x0000003f 
+ 00032459  0x000087cd istore  0x00000008 , 0x00000005 
+ 00032460  0x000087ce rtn 
+ 00032461  0x000087d0 force  0x00000000 , 0x0000003f 
+ 00032462  0x000087d1 istore  0x00000004 , 0x00000005 
+ 00032463  0x000087d2 rtn 
+ 00032464  0x000087d5 force  0x00000004 , 0x00000039 
+ 00032465  0x000087d6 branch  0x00007ec6 
+ 00032466  0x000087d8 force  0x00000008 , 0x00000039 
+ 00032467  0x000087d9 branch  0x00007ec6 
+ 00032468  0x000087dc deposit  0x00000039 
+ 00032469  0x000087dd rtn  0x00000034 
+ 00032470  0x000087de setarg  0x00000000 
+ 00032471  0x000087e0 istore  0x00000001 , 0x00000005 
+ 00032472  0x000087e1 loop  0x00007ed7 
+ 00032473  0x000087e2 rtn 
+ 00032474  0x000087e6 arg  0x00000020 , 0x00000039 
+ 00032475  0x000087e7 arg  0x00000ac2 , 0x00000005 
+ 00032476  0x000087e8 branch  0x00007ed4 
+ 00032477  0x000087eb ifetch  0x00000004 , 0x00000013 
+ 00032478  0x000087ec ifetcht  0x00000004 , 0x00000011 
+ 00032479  0x000087ed ixor  0x00000002 , 0x0000003f 
+ 00032480  0x000087ee istore  0x00000004 , 0x00000005 
+ 00032481  0x000087ef increase  0x00000004 , 0x00000011 
+ 00032482  0x000087f0 increase  0x00000004 , 0x00000013 
+ 00032483  0x000087f1 loop  0x00007edd 
+ 00032484  0x000087f2 rtn 
+ 00032485  0x000087f7 bpatchx  0x000000fb , 0x0000403f 
+ 00032486  0x000087f8 copy  0x00000039 , 0x0000003f 
+ 00032487  0x000087f9 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00032488  0x000087fa rtn  0x00000002 
+ 00032489  0x000087fb iadd  0x00000011 , 0x00000012 
+ 00032490  0x000087fc increase  0xffffffff , 0x00000012 
+ 00032491  0x000087fd rshift  0x00000039 , 0x00000039 
+ 00032492  0x000087ff ifetcht  0x00000001 , 0x00000011 
+ 00032493  0x00008800 ifetch  0x00000001 , 0x00000012 
+ 00032494  0x00008801 istore  0x00000001 , 0x00000011 
+ 00032495  0x00008802 istoret  0x00000001 , 0x00000012 
+ 00032496  0x00008803 increase  0xffffffff , 0x00000012 
+ 00032497  0x00008804 increase  0x00000001 , 0x00000011 
+ 00032498  0x00008805 loop  0x00007eec 
+ 00032499  0x00008806 rtn 
+ 00032500  0x0000880a deposit  0x00000039 
+ 00032501  0x0000880b rtn  0x00000034 
+ 00032502  0x0000880d increase  0xfffffff8 , 0x00000039 
+ 00032503  0x0000880e call  0x00007eb9 , 0x00000002 
+ 00032504  0x0000880f rtn  0x00000005 
+ 00032505  0x00008810 branch  0x00007ef6 , 0x00000002 
+ 00032506  0x00008811 increase  0x00000008 , 0x00000039 
+ 00032507  0x00008813 increase  0xfffffffc , 0x00000039 
+ 00032508  0x00008814 call  0x00007eb6 , 0x00000002 
+ 00032509  0x00008815 rtn  0x00000005 
+ 00032510  0x00008816 branch  0x00007efb , 0x00000002 
+ 00032511  0x00008817 increase  0x00000004 , 0x00000039 
+ 00032512  0x00008818 branch  0x00007f01 
+ 00032513  0x0000881b deposit  0x00000039 
+ 00032514  0x0000881c rtn  0x00000034 
+ 00032515  0x0000881e ifetch  0x00000001 , 0x00000006 
+ 00032516  0x0000881f istore  0x00000001 , 0x00000005 
+ 00032517  0x00008820 loop  0x00007f03 
+ 00032518  0x00008821 rtn 
+ 00032519  0x00008824 setarg  0x00000000 
+ 00032520  0x00008826 rshift  0x00000022 , 0x00000002 
+ 00032521  0x00008827 storet  0x00000004 , 0x00004094 
+ 00032522  0x00008828 arg  0x0000419d , 0x00000005 
+ 00032523  0x00008829 iforce  0x00000002 
+ 00032524  0x0000882a lshift  0x00000007 , 0x0000003f 
+ 00032525  0x0000882b iadd  0x00000005 , 0x00000005 
+ 00032526  0x0000882c istoret  0x00000002 , 0x00000005 
+ 00032527  0x0000882d bpatchx  0x000000fc , 0x0000403f 
+ 00032528  0x0000882e rtn 
+ 00032529  0x00008831 arg  0x00000800 , 0x0000000b 
+ 00032530  0x00008832 lshift16  0x0000000b , 0x0000000b 
+ 00032531  0x00008833 iadd  0x0000000b , 0x0000003f 
+ 00032532  0x00008834 rtn 
+ 00032533  0x00008838 arg  0x00000000 , 0x00000007 
+ 00032534  0x0000883a bpatchx  0x000000fd , 0x0000403f 
+ 00032535  0x0000883b fetcht  0x00000004 , 0x00004094 
+ 00032536  0x0000883c rshift  0x00000022 , 0x0000003f 
+ 00032537  0x0000883d store  0x00000004 , 0x00004094 
+ 00032538  0x0000883e isub  0x00000002 , 0x0000003e 
+ 00032539  0x0000883f ncall  0x00007f11 , 0x00000002 
+ 00032540  0x00008840 isub  0x00000002 , 0x0000000b 
+ 00032541  0x00008841 copy  0x0000000b , 0x00000002 
+ 00032542  0x00008842 arg  0x0000419d , 0x00000006 
+ 00032543  0x00008843 copy  0x00000006 , 0x00000005 
+ 00032544  0x00008844 arg  0x00000010 , 0x00000039 
+ 00032545  0x00008846 ifetch  0x00000002 , 0x00000006 
+ 00032546  0x00008847 isub  0x00000002 , 0x0000003f 
+ 00032547  0x00008848 branch  0x00007f25 , 0x00000002 
+ 00032548  0x00008849 force  0x00000000 , 0x0000003f 
+ 00032549  0x0000884b istore  0x00000002 , 0x00000005 
+ 00032550  0x0000884c loop  0x00007f21 
+ 00032551  0x0000884d arg  0x0000419d , 0x00000006 
+ 00032552  0x0000884e lshift  0x00000007 , 0x0000003f 
+ 00032553  0x0000884f iadd  0x00000006 , 0x00000006 
+ 00032554  0x00008850 ifetch  0x00000002 , 0x00000006 
+ 00032555  0x00008851 rtn 
+ 00032556  0x00008857 iadd  0x00000002 , 0x00000002 
+ 00032557  0x00008858 copy  0x00000002 , 0x00000039 
+ 00032558  0x00008859 setarg  0x00000ea6 
+ 00032559  0x0000885a isub  0x00000039 , 0x0000003f 
+ 00032560  0x0000885b rtn  0x00000002 
+ 00032561  0x0000885c sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032562  0x0000885d rshift16  0x00000002 , 0x00000002 
+ 00032563  0x0000885e increase  0x00000001 , 0x00000002 
+ 00032564  0x0000885f lshift16  0x00000002 , 0x00000002 
+ 00032565  0x00008860 ior  0x00000002 , 0x00000002 
+ 00032566  0x00008861 rtn 
+ 00032567  0x00008864 call  0x00007f39 
+ 00032568  0x00008865 branch  0x00007f43 
+ 00032569  0x00008869 disable  0x00000028 
+ 00032570  0x0000886a isub  0x00000002 , 0x0000003f 
+ 00032571  0x0000886b branch  0x00007f3e , 0x00000002 
+ 00032572  0x0000886c enable  0x00000028 
+ 00032573  0x0000886d sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032574  0x0000886f rtnbit0  0x0000000f 
+ 00032575  0x00008870 arg  0xffff0ea6 , 0x00000002 
+ 00032576  0x00008871 iadd  0x00000002 , 0x0000003f 
+ 00032577  0x00008872 set0  0x00000040 , 0x0000003f 
+ 00032578  0x00008873 rtn 
+ 00032579  0x00008876 iforce  0x00000006 
+ 00032580  0x00008877 rshift16  0x0000003f , 0x0000003f 
+ 00032581  0x00008878 arg  0x00000ea6 , 0x00000002 
+ 00032582  0x00008879 imul32  0x00000002 , 0x0000003f 
+ 00032583  0x0000887a iadd  0x00000006 , 0x0000003f 
+ 00032584  0x0000887b rtn 
+ 00032585  0x0000887f lshift8  0x0000003f , 0x0000003f 
+ 00032586  0x00008880 lshift4  0x0000003f , 0x0000003f 
+ 00032587  0x00008881 fetcht  0x00000003 , 0x0000416f 
+ 00032588  0x00008882 idiv  0x00000002 
+ 00032589  0x00008883 call  0x00007f86 
+ 00032590  0x00008884 quotient  0x00000002 
+ 00032591  0x00008885 rtn 
+ 00032592  0x00008889 arg  0x00000ea6 , 0x00000002 
+ 00032593  0x0000888a idiv  0x00000002 
+ 00032594  0x0000888b call  0x00007f86 
+ 00032595  0x0000888c quotient  0x0000003f 
+ 00032596  0x0000888d lshift16  0x0000003f , 0x0000003f 
+ 00032597  0x0000888e remainder  0x00000002 
+ 00032598  0x0000888f ior  0x00000002 , 0x00000002 
+ 00032599  0x00008890 rtn 
+ 00032600  0x00008898 arg  0x00000000 , 0x00000002 
+ 00032601  0x0000889a copy  0x00000002 , 0x00000013 
+ 00032602  0x0000889b ifetch  0x00000001 , 0x00000003 
+ 00032603  0x0000889c call  0x00007f64 
+ 00032604  0x0000889d copy  0x00000013 , 0x00000002 
+ 00032605  0x0000889e call  0x00007f95 
+ 00032606  0x0000889f arg  0x0000000a , 0x00000012 
+ 00032607  0x000088a0 imul32  0x00000012 , 0x0000003f 
+ 00032608  0x000088a1 iadd  0x00000002 , 0x0000003f 
+ 00032609  0x000088a2 copy  0x0000003f , 0x00000002 
+ 00032610  0x000088a3 loop  0x00007f59 
+ 00032611  0x000088a4 rtn 
+ 00032612  0x000088a9 arg  0x0000003a , 0x00000002 
+ 00032613  0x000088aa isub  0x00000002 , 0x0000003e 
+ 00032614  0x000088ab nbranch  0x00007f6d , 0x00000002 
+ 00032615  0x000088ac arg  0x00000061 , 0x00000002 
+ 00032616  0x000088ad isub  0x00000002 , 0x0000003e 
+ 00032617  0x000088ae branch  0x00007f70 , 0x00000002 
+ 00032618  0x000088af arg  0x00000037 , 0x00000002 
+ 00032619  0x000088b0 isub  0x00000002 , 0x0000003f 
+ 00032620  0x000088b1 rtn 
+ 00032621  0x000088b3 arg  0x00000030 , 0x00000002 
+ 00032622  0x000088b4 isub  0x00000002 , 0x0000003f 
+ 00032623  0x000088b5 rtn 
+ 00032624  0x000088b7 arg  0x00000057 , 0x00000002 
+ 00032625  0x000088b8 isub  0x00000002 , 0x0000003f 
+ 00032626  0x000088b9 rtn 
+ 00032627  0x000088bc copy  0x00000002 , 0x00000030 
+ 00032628  0x000088bd setarg  0x000001ff 
+ 00032629  0x000088be force  0x00000000 , 0x00000012 
+ 00032630  0x000088c0 rshift3  0x0000003f , 0x00000011 
+ 00032631  0x000088c1 rshift  0x00000011 , 0x00000011 
+ 00032632  0x000088c2 ixor  0x00000011 , 0x00000011 
+ 00032633  0x000088c3 isolate1  0x00000000 , 0x00000011 
+ 00032634  0x000088c4 setflag  0x00000001 , 0x00000009 , 0x0000003f 
+ 00032635  0x000088c5 rshift  0x00000002 , 0x00000002 
+ 00032636  0x000088c6 isolate1  0x00000000 , 0x0000003f 
+ 00032637  0x000088c7 setflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00032638  0x000088c8 rshift  0x0000003f , 0x0000003f 
+ 00032639  0x000088c9 increase  0x00000001 , 0x00000012 
+ 00032640  0x000088ca compare  0x00000000 , 0x00000012 , 0x00000007 
+ 00032641  0x000088cb nbranch  0x00007f76 , 0x00000001 
+ 00032642  0x000088cc istoret  0x00000001 , 0x00000005 
+ 00032643  0x000088cd loop  0x00007f76 
+ 00032644  0x000088ce copy  0x00000030 , 0x00000002 
+ 00032645  0x000088cf rtn 
+ 00032646  0x000088d3 rtn  0x00000035 
+ 00032647  0x000088d4 branch  0x00007f86 
+ 00032648  0x000088e0 ifetch  0x00000001 , 0x00000011 
+ 00032649  0x000088e1 ifetcht  0x00000001 , 0x00000012 
+ 00032650  0x000088e2 isub  0x00000002 , 0x0000003e 
+ 00032651  0x000088e3 nrtn  0x00000005 
+ 00032652  0x000088e4 increase  0x00000001 , 0x00000011 
+ 00032653  0x000088e5 increase  0x00000001 , 0x00000012 
+ 00032654  0x000088e6 loop  0x00007f88 
+ 00032655  0x000088e7 force  0x00000000 , 0x0000003e 
+ 00032656  0x000088e8 rtn 
+ 00032657  0x000088ec isub  0x00000002 , 0x0000003e 
+ 00032658  0x000088ed nrtn  0x00000002 
+ 00032659  0x000088ee deposit  0x00000002 
+ 00032660  0x000088ef rtn 
+ 00032661  0x000088f2 iadd  0x00000002 , 0x0000003f 
+ 00032662  0x000088f3 isub  0x00000002 , 0x00000002 
+ 00032663  0x000088f4 isub  0x00000002 , 0x0000003f 
+ 00032664  0x000088f5 rtn 
+ 00032665  0x000088f8 arg  0x00000200 , 0x00000039 
+ 00032666  0x000088f9 arg  0x00004000 , 0x00000005 
+ 00032667  0x000088fa branch  0x00007ec6 
+ 00032668  0x000088fe rtn  0x00000034 
+ 00032669  0x000088ff copy  0x0000003f , 0x0000003d 
+ 00032670  0x00008903 hfetch  0x00000002 , 0x0000810e 
+ 00032671  0x00008904 nbranch  0x00007f9e , 0x00000034 
+ 00032672  0x00008905 rtn 
+ 00032673  0x00008908 hjam  0x00000001 , 0x00008203 
+ 00032674  0x00008909 rtn 
+ 00032675  0x0000890c hstore  0x00000002 , 0x00008205 
+ 00032676  0x0000890d hfetch  0x00000001 , 0x00008203 
+ 00032677  0x0000890e set1  0x00000004 , 0x0000003f 
+ 00032678  0x0000890f hstore  0x00000001 , 0x00008203 
+ 00032679  0x00008910 rtn 
+ 00032680  0x00008912 hstore  0x00000002 , 0x00008207 
+ 00032681  0x00008913 hfetch  0x00000001 , 0x00008203 
+ 00032682  0x00008914 set1  0x00000006 , 0x0000003f 
+ 00032683  0x00008915 hstore  0x00000001 , 0x00008203 
+ 00032684  0x00008916 rtn 
+ 00032685  0x00008919 hstore  0x00000002 , 0x00008205 
+ 00032686  0x0000891a hjam  0x00000030 , 0x00008203 
+ 00032687  0x0000891b rtn 
+ 00032688  0x00008920 hfetch  0x00000001 , 0x00008043 
+ 00032689  0x00008921 set0  0x00000004 , 0x0000003f 
+ 00032690  0x00008922 hstore  0x00000001 , 0x00008043 
+ 00032691  0x00008923 rtn 
+ 00032692  0x00008926 hfetch  0x00000002 , 0x0000810e 
+ 00032693  0x00008927 arg  0x00000200 , 0x00000002 
+ 00032694  0x00008929 isub  0x00000002 , 0x0000003e 
+ 00032695  0x0000892a rtn 
+ 00032696  0x00008931 bpatchx  0x000000fe , 0x0000403f 
+ 00032697  0x00008932 ifetcht  0x00000008 , 0x00000011 
+ 00032698  0x00008933 and  0x00000002 , 0x000000ff , 0x0000003f 
+ 00032699  0x00008934 nbranch  0x00007fbe , 0x00000034 
+ 00032700  0x00008935 rshift8  0x00000002 , 0x0000003f 
+ 00032701  0x00008936 istore  0x00000008 , 0x00000011 
+ 00032702  0x00008938 increase  0x00000007 , 0x00000011 
+ 00032703  0x00008939 ifetch  0x00000001 , 0x00000011 
+ 00032704  0x0000893a nbranch  0x00002a8c , 0x00000034 
+ 00032705  0x0000893b fetch  0x00000001 , 0x00000a99 
+ 00032706  0x0000893c istore  0x00000001 , 0x00000011 
+ 00032707  0x0000893d rtn 
+ 00032708  0x00008943 bpatchx  0x000000ff , 0x0000403f 
+ 00032709  0x00008944 arg  0x00000008 , 0x00000039 
+ 00032710  0x00008945 ifetch  0x00000008 , 0x00000011 
+ 00032711  0x00008946 rtn  0x00000034 
+ 00032712  0x00008948 ifetch  0x00000001 , 0x00000011 
+ 00032713  0x00008949 nbranch  0x00007fcd , 0x00000034 
+ 00032714  0x0000894a increase  0x00000001 , 0x00000011 
+ 00032715  0x0000894b loop  0x00007fc8 
+ 00032716  0x0000894c branch  0x00002a8c 
+ 00032717  0x0000894e arg  0x00000000 , 0x00000002 
+ 00032718  0x0000894f istoret  0x00000001 , 0x00000011 
+ 00032719  0x00008950 rtn 
+ 00032720  0x00008956 ifetch  0x00000008 , 0x00000011 
+ 00032721  0x00008957 rtn 
+ 00032722  0x0000895d ifetch  0x00000001 , 0x00000011 
+ 00032723  0x0000895e rtn 
+ 00032724  0x00008962 ifetch  0x00000002 , 0x00000011 
+ 00032725  0x00008963 rtn 
+ 00032726  0x00008968 arg  0x00000000 , 0x00000002 
+ 00032727  0x0000896a fetch  0x00000001 , 0x00000006 
+ 00032728  0x0000896b loop  0x00007fd7 , 0x00000034 
+ 00032729  0x0000896c increase  0x00000001 , 0x00000002 
+ 00032730  0x0000896d loop  0x00007fd7 
+ 00032731  0x0000896e copy  0x00000002 , 0x0000003f 
+ 00032732  0x0000896f rtn 
+ 00032733  0x00008972 isub  0x00000002 , 0x0000003e 
+ 00032734  0x00008973 nrtn  0x00000002 
+ 00032735  0x00008974 copy  0x00000002 , 0x0000003f 
+ 00032736  0x00008975 rtn 
+ 00032737  0x00008979 force  0xffffffff , 0x0000003e 
+ 00032738  0x0000897a rtn 
+ 00032739  0x0000897d force  0x00000001 , 0x0000003e 
+ 00032740  0x0000897e rtn 
+ 00032741  0x00008980 force  0x00000000 , 0x0000003e 
+ 00032742  0x00008981 rtn 
+ 00032743  0x00008984 enable  0x00000028 
+ 00032744  0x00008985 rtn 
+ 00032745  0x00008988 disable  0x00000028 
+ 00032746  0x00008989 rtn 
+ 00032747  0x0000898c enable  0x0000002c 
+ 00032748  0x0000898d rtn 
+ 00032749  0x00008990 disable  0x0000002c 
+ 00032750  0x00008991 rtn 
+ 00032751  0x00008994 setarg  0x00000001 
+ 00032752  0x00008995 rtn 
+ 00032753  0x00008998 setarg  0x00000000 
+ 00032754  0x00008999 rtn 
+ 00032755  0x0000899d copy  0x00000039 , 0x0000003f 
+ 00032756  0x0000899e rtn  0x00000034 
+ 00032757  0x0000899f copy  0x00000006 , 0x0000003f 
+ 00032758  0x000089a0 iadd  0x00000039 , 0x0000003f 
+ 00032759  0x000089a1 increase  0xffffffff , 0x0000003f 
+ 00032760  0x000089a2 copy  0x0000003f , 0x00000006 
+ 00032761  0x000089a4 ifetch  0x00000001 , 0x00000006 
+ 00032762  0x000089a5 increase  0xfffffffe , 0x00000006 
+ 00032763  0x000089a6 istore  0x00000001 , 0x00000005 
+ 00032764  0x000089a7 loop  0x00007ff9 
+ 00032765  0x000089a8 rtn 
Index: YJX_Only24g/FCC_1021S/output/bt_program23.list
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_program23.list	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_program23.list	(working copy)
@@ -0,0 +1,29339 @@
+              include "bt_format "
+              org 0x0000
+:      000057 p_start:
+0x0000 000058 call p_pause_c51 
+0x0001 000060 call p_clean_mem 
+0x0002 000061 call p_init_param 
+0x0003 000062 call p_initialize_radio 
+0x0004 000063 call p_xtal_test 
+0x0005 000064 hjam 0x21 ,core_clkoff 
+0x0006 000066 fetcht 1 ,mem_lbutton_gpio 
+0x0007 000067 call gpio_config_input 
+0x0008 000068 fetcht 1 ,mem_rbutton_gpio 
+0x0009 000069 call gpio_config_input 
+0x000a 000070 fetcht 1 ,mem_mbutton_gpio 
+0x000b 000071 call gpio_config_input 
+0x000c 000077 call iic_init_390k 
+0x000d 000079 setarg 0x0200 
+0x000e 000080 store 2 ,mem_device_flag 
+0x000f 000081 arg 2 ,temp 
+0x0010 000082 arg mem_device_flag ,rega 
+0x0011 000083 setarg 0 
+0x0012 000084 call iicd_write_eep 
+0x0013 000086 call pp_pn9 
+0x0014 000087 branch p_test_tx_new_param 
+:      000089 p_mouse_check_key_gpio:
+0x0015 000090 arg 0 ,rega 
+0x0016 000091 call p_mouse_check_lkey_gpio 
+0x0017 000092 call p_mouse_check_rkey_gpio 
+0x0018 000093 call p_mouse_check_mkey_gpio 
+0x0019 000094 copy rega ,pdata 
+0x001a 000095 rtn 
+:      000096 p_mouse_check_rkey_gpio:
+0x001b 000097 fetcht 1 ,mem_rbutton_gpio 
+0x001c 000098 call p_gpio_set_input_pu 
+0x001d 000099 fetcht 1 ,mem_rbutton_gpio 
+0x001e 000100 call gpio_get_bit 
+0x001f 000101 setflag true ,1 ,rega 
+0x0020 000102 rtn 
+:      000103 p_mouse_check_mkey_gpio:
+0x0021 000104 fetcht 1 ,mem_mbutton_gpio 
+0x0022 000105 call p_gpio_set_input_pu 
+0x0023 000106 fetcht 1 ,mem_mbutton_gpio 
+0x0024 000107 call gpio_get_bit 
+0x0025 000108 setflag true ,2 ,rega 
+0x0026 000109 rtn 
+:      000111 p_mouse_check_lkey_gpio:
+0x0027 000112 fetcht 1 ,mem_lbutton_gpio 
+0x0028 000113 call p_gpio_set_input_pu 
+0x0029 000114 fetcht 1 ,mem_lbutton_gpio 
+0x002a 000115 call gpio_get_bit 
+0x002b 000116 setflag true ,0 ,rega 
+0x002c 000117 rtn 
+:      000119 p_gpio_set_input_pd:
+0x002d 000120 set0 gpio_active_bit ,temp 
+0x002e 000121 arg core_gpio_pu0 ,contw 
+0x002f 000122 call gpio_set_bit 
+0x0030 000123 set1 gpio_active_bit ,temp 
+0x0031 000124 arg core_gpio_pd0 ,contw 
+0x0032 000125 call gpio_set_bit 
+0x0033 000126 set0 gpio_active_bit ,temp 
+0x0034 000127 arg core_gpio_oe0 ,contw 
+0x0035 000128 branch gpio_set_bit 
+:      000129 p_gpio_set_input_pu:
+0x0036 000130 set1 gpio_active_bit ,temp 
+0x0037 000131 arg core_gpio_pu0 ,contw 
+0x0038 000132 call gpio_set_bit 
+0x0039 000133 set0 gpio_active_bit ,temp 
+0x003a 000134 branch p_gpio_set_input_pd + 4 
+:      000138 p_xtal_test:
+0x003b 000139 jam 0x8f ,mem_lpm_config 
+0x003c 000140 jam 0x10 ,mem_lpm_config + 1 
+0x003d 000141 jam 0xca ,mem_lpm_config + 2 
+0x003e 000142 branch init_lpm_ctrl 
+:      000144 p_clean_mem:
+0x003f 000145 arg 0x0 ,contw 
+0x0040 000146 arg 0x400 ,loopcnt 
+0x0041 000147 call p_memset0 
+0x0042 000148 hfetch 1 ,core_misc_status 
+0x0043 000149 rtnbit0 2 
+0x0044 000150 arg 0x4000 ,contw 
+0x0045 000151 arg 0x200 ,loopcnt 
+0x0046 000152 call p_memset0 
+0x0047 000153 rtn 
+:      000155 p_memset0:
+0x0048 000156 force 0 ,pdata 
+:      000157 p_memset8:
+0x0049 000158 istore 8 ,contw 
+0x004a 000159 loop p_memset8 
+0x004b 000160 rtn 
+:      000161 p_init_param:
+0x004c 000162 setarg param_features0 
+0x004d 000163 store 3 ,mem_features 
+0x004e 000164 setarg param_features1 
+0x004f 000165 set0 2 ,pdata 
+0x0050 000166 istore 3 ,contw 
+0x0051 000167 setarg param_features2 
+0x0052 000168 istore 2 ,contw 
+0x0053 000169 setarg param_lap 
+0x0054 000170 store 3 ,mem_lap 
+0x0055 000171 setarg param_unap 
+0x0056 000172 store 3 ,mem_uap 
+0x0057 000173 setarg param_glap 
+0x0058 000174 store 3 ,mem_glap 
+0x0059 000175 setarg param_tisw 
+0x005a 000176 store 2 ,mem_iscan_window 
+0x005b 000177 setarg param_tisi 
+0x005c 000178 store 2 ,mem_iscan_interval 
+0x005d 000179 setarg 0x200 
+0x005e 000180 store 2 ,mem_pscan_window 
+0x005f 000181 setarg param_tpsi 
+0x0060 000182 store 2 ,mem_pscan_interval 
+0x0061 000183 setarg param_inq_window 
+0x0062 000184 store 2 ,mem_inq_window 
+0x0063 000185 setarg param_page_window 
+0x0064 000186 store 2 ,mem_page_window 
+0x0065 000187 setarg param_page_to 
+0x0066 000188 store 2 ,mem_page_to 
+0x0067 000189 setarg param_lmp_version 
+0x0068 000190 store 3 ,mem_lmp_version 
+0x0069 000191 setarg param_lmp_subversion 
+0x006a 000192 store 2 ,mem_lmp_subversion 
+0x006b 000193 jam param_name_len ,mem_local_name_length 
+0x006c 000194 setarg param_name 
+0x006d 000195 store 3 ,mem_local_name 
+0x006e 000196 setarg param_name1 
+0x006f 000197 store 3 ,mem_local_name2 
+0x0070 000198 jam param_fcomp_mul ,mem_fcomp_mul 
+0x0071 000199 jam 0x60 ,mem_fhs_misc 
+0x0072 000200 jam param_max_slot ,mem_max_slot 
+0x0073 000202 jam 3 ,mem_scan_mode 
+0x0074 000203 rtn 
+:      000204 p_initialize_radio:
+0x0075 000206 hjam clksel_rc ,core_clksel 
+0x0076 000219 hjam 0x00 ,0x907 
+0x0077 000220 hjam 0x00 ,0x908 
+0x0078 000221 hjam 0x00 ,0x909 
+0x0079 000222 hjam 0xff ,0x90a 
+0x007a 000223 hjam 0xff ,0x90b 
+0x007b 000243 hjam 0x2e ,0x90f 
+0x007c 000245 hjam 0x47 ,rf_agc_ctrl 
+0x007d 000250 hjam 0xba ,0x94b 
+0x007e 000251 hjam 0xfb ,0x94c 
+0x007f 000252 hjam 0xef ,0x94d 
+0x0080 000253 hjam 0xec ,0x94e 
+0x0081 000254 hjam 0x5e ,0x94f 
+0x0082 000256 hjam 0x88 ,0x96f 
+0x0083 000257 hjam 0x00 ,0x973 
+0x0084 000259 hjam 0x4a ,0x895a 
+0x0085 000261 hjam 0x80 ,0x895c 
+0x0086 000263 jam 0x20 ,mem_fcc_data_new 
+0x0087 000264 jam 1 ,mem_fcc_ch_new 
+0x0088 000486 hjam 0xa9 ,0x930 
+0x0089 000487 hjam 0xad ,0x92f 
+0x008a 000488 hjam 0xb1 ,0x92e 
+0x008b 000489 hjam 0xb5 ,0x92d 
+0x008c 000490 hjam 0xb9 ,0x92c 
+0x008d 000491 hjam 0xbd ,0x92b 
+0x008e 000492 hjam 0xc2 ,0x92a 
+0x008f 000493 hjam 0xc6 ,0x929 
+0x0090 000494 hjam 0xca ,0x928 
+0x0091 000495 hjam 0xce ,0x927 
+0x0092 000496 hjam 0xd2 ,0x926 
+0x0093 000497 hjam 0xd6 ,0x925 
+0x0094 000498 hjam 0xda ,0x924 
+0x0095 000499 hjam 0xde ,0x923 
+0x0096 000500 hjam 0xe2 ,0x922 
+0x0097 000501 hjam 0xe6 ,0x921 
+0x0098 000502 hjam 0xea ,0x920 
+0x0099 000503 hjam 0xee ,0x91f 
+0x009a 000504 hjam 0xf2 ,0x91e 
+0x009b 000505 hjam 0xf6 ,0x91d 
+0x009c 000506 hjam 0xfb ,0x91c 
+0x009d 000507 hjam 0xfb ,0x91b 
+0x009e 000508 hjam 0xfb ,0x91a 
+0x009f 000510 hjam 0xf5 ,0x947 
+0x00a0 000511 hjam 0xe6 ,0x946 
+0x00a1 000512 hjam 0xD7 ,0x945 
+0x00a2 000513 hjam 0xD6 ,0x944 
+0x00a3 000514 hjam 0xC7 ,0x943 
+0x00a4 000515 hjam 0xC6 ,0x942 
+0x00a5 000516 hjam 0x87 ,0x941 
+0x00a6 000517 hjam 0x86 ,0x940 
+0x00a7 000518 hjam 0x85 ,0x93f 
+0x00a8 000519 hjam 0x46 ,0x93e 
+0x00a9 000520 hjam 0x07 ,0x93d 
+0x00aa 000521 hjam 0x06 ,0x93c 
+0x00ab 000522 hjam 0xC7 ,0x93b 
+0x00ac 000523 hjam 0xC6 ,0x93a 
+0x00ad 000524 hjam 0xC5 ,0x939 
+0x00ae 000525 hjam 0xC4 ,0x938 
+0x00af 000526 hjam 0xC3 ,0x937 
+0x00b0 000527 hjam 0xC2 ,0x936 
+0x00b1 000528 hjam 0xC1 ,0x935 
+0x00b2 000529 hjam 0xC0 ,0x934 
+0x00b3 000530 hjam 0x80 ,0x933 
+0x00b4 000531 hjam 0x80 ,0x932 
+0x00b5 000532 hjam 0x80 ,0x931 
+0x00b6 000534 hjam 0x7f ,0x94a 
+0x00b7 000535 hjam 0xf8 ,0x949 
+0x00b8 000536 hjam 0x00 ,0x948 
+0x00b9 000550 hjam 0xd0 ,0x955 
+0x00ba 000551 hjam 0xe0 ,0x956 
+0x00bb 000552 hjam 0x88 ,0x957 
+0x00bc 000553 hjam 0x3c ,0x958 
+0x00bd 000554 hjam 0x10 ,0x959 
+0x00be 000571 setarg 0x300000 
+0x00bf 000572 hstore 3 ,rf_clkpll_frac 
+0x00c0 000573 hjam 0x64 ,rf_clkpll_int 
+0x00c1 000574 jam 36 ,mem_fcomp_div 
+0x00c2 000575 call p_switchto_dpllclk 
+0x00c3 000576 hjam 0xe4 ,rf_clkpll_int 
+0x00c4 000577 set1 reset ,radio_ctrl 
+0x00c5 000578 force 0 ,radio_ctrl 
+0x00c6 000579 call p_do_rccal 
+0x00c7 000580 call p_set_rccal 
+0x00c8 000581 rtn 
+:      000582 p_do_rccal:
+0x00c9 000583 hjam 0x02 ,rfen_adc 
+0x00ca 000584 setarg 2500000 
+0x00cb 000585 call p_sleep 
+0x00cc 000586 hjam 0x7f ,rfen_rx 
+0x00cd 000587 nop 130 
+0x00ce 000588 hjam 0x10 ,rfen_tx 
+0x00cf 000589 hjam 0x30 ,rf_rccal_ctrl 
+0x00d0 000590 nop 200 
+0x00d1 000591 hjam 0xf0 ,rf_rccal_ctrl 
+0x00d2 000592 force 50 ,loopcnt 
+:      000593 p_do_rccal_loop:
+0x00d3 000594 hfetch 1 ,rf_rccal_result 
+0x00d4 000595 bbit1 5 ,p_do_rccal_end 
+0x00d5 000596 loop p_do_rccal_loop 
+:      000597 p_do_rccal_end:
+0x00d6 000598 store 1 ,mem_rf_rccal 
+0x00d7 000599 hjam 0 ,rfen_tx 
+0x00d8 000600 hjam 0 ,rfen_rx 
+0x00d9 000601 hjam 0x00 ,rfen_adc 
+0x00da 000602 rtn 
+:      000604 p_set_rccal:
+0x00db 000605 fetch 1 ,mem_rf_rccal 
+0x00dc 000606 set1 5 ,pdata 
+0x00dd 000607 hstore 1 ,rf_rccal_ctrl 
+0x00de 000608 hfetcht 1 ,rf_bpf_ctrim 
+0x00df 000609 and_into 7 ,temp 
+0x00e0 000610 lshift3 pdata ,pdata 
+0x00e1 000611 ior temp ,pdata 
+0x00e2 000612 hstore 1 ,rf_bpf_ctrim 
+0x00e3 000613 hfetch 1 ,rf_bpf_ib 
+0x00e4 000614 set0 bpf_rccal ,pdata 
+0x00e5 000615 hstore 1 ,rf_bpf_ib 
+0x00e6 000616 hfetch 1 ,rf_adc_rccal 
+0x00e7 000617 set0 adc_rccal ,pdata 
+0x00e8 000618 hstore 1 ,rf_adc_rccal 
+0x00e9 000619 rtn 
+:      000621 p_switchto_dpllclk:
+0x00ea 000622 hfetch 1 ,rf_clkpll_frac + 2 
+0x00eb 000623 set0 4 ,pdata 
+0x00ec 000624 set0 5 ,pdata 
+0x00ed 000625 hstore 1 ,rf_clkpll_frac + 2 
+0x00ee 000626 hjam 0x00 ,rfen_ck 
+0x00ef 000627 hjam 0x70 ,rfen_msc 
+0x00f0 000628 hjam 0xff ,rfen_ck 
+0x00f1 000629 hfetch 1 ,rf_clkpll_frac + 2 
+0x00f2 000630 set1 4 ,pdata 
+0x00f3 000631 set1 5 ,pdata 
+0x00f4 000632 hstore 1 ,rf_clkpll_frac + 2 
+0x00f5 000633 call p_init_lpm_ctrl 
+0x00f6 000634 hjam clksel_dpll ,core_clksel 
+0x00f7 000635 rtn 
+:      000637 p_switchto_xclk:
+0x00f8 000638 hjam 0x8 ,core_clksel 
+0x00f9 000639 hjam 0x00 ,rfen_ck 
+0x00fa 000640 hjam 0x70 ,rfen_msc 
+0x00fb 000641 rtn 
+:      000643 p_init_lpm_ctrl:
+0x00fc 000644 hfetcht 3 ,core_lpm_ctrl 
+0x00fd 000645 setarg 0x100f0f 
+0x00fe 000646 isub temp ,null 
+0x00ff 000647 rtn zero 
+0x0100 000648 hstore 3 ,core_lpm_reg 
+0x0101 000649 hjam 0xca ,core_lpm_reg + 3 
+0x0102 000650 call p_lpm_write_ctrl 
+0x0103 000651 hjam 0 ,core_gpio_out0 
+0x0104 000652 rtn 
+:      000653 p_lpm_write_ctrl:
+0x0105 000654 setarg lpmreg_sel_ctrl 
+:      000655 p_lpm_write:
+0x0106 000656 until null ,lpo_edge 
+0x0107 000657 hstore 1 ,core_lpm_wr 
+0x0108 000658 until null ,lpo_edge 
+0x0109 000659 until null ,lpo_edge 
+0x010a 000660 rtn 
+:      000661 p_shutdown_radio:
+0x010b 000662 nop 100 
+0x010c 000667 hjam 0xd8 ,0x955 
+0x010d 000668 nop 40 
+0x010e 000669 hjam 0xd2 ,0x955 
+0x010f 000670 nop 40 
+0x0110 000672 hjam 0xd1 ,0x955 
+0x0111 000673 nop 40 
+0x0112 000678 hjam 0xd0 ,0x955 
+0x0113 000679 hjam 0xe0 ,0x956 
+0x0114 000680 force 0 ,radio_ctrl 
+0x0115 000681 disable is_rx 
+0x0116 000682 disable is_tx 
+0x0117 000683 pulse packet_end 
+0x0118 000684 hjam 0x0 ,rfen_adc 
+0x0119 000685 hjam 0 ,rfen_sn 
+0x011a 000686 hjam 0x70 ,rfen_msc 
+0x011b 000687 hjam 0x0 ,rfen_mdm 
+0x011c 000688 hjam 0x0 ,rfen_tx 
+0x011d 000689 hjam 0x0 ,rfen_rx 
+0x011e 000690 rtn 
+:      000691 p_sleep:
+0x011f 000693 rshift pdata ,pdata 
+0x0120 000694 increase -3 ,pdata 
+:      000695 p_sleep_loop:
+0x0121 000696 increase -1 ,pdata 
+0x0122 000697 nbranch p_sleep_loop ,zero 
+0x0123 000698 force 0 ,pdata 
+0x0124 000699 rtn 
+:      000700 p_set_sync_on:
+0x0125 000702 hjam 0x77 ,rfen_msc 
+0x0126 000703 hjam 0x03 ,rfen_sn 
+0x0127 000704 nop 10 
+0x0128 000705 hjam 0x83 ,rfen_sn 
+0x0129 000706 hjam 0x7f ,rfen_msc 
+0x012a 000707 hjam 0xa7 ,rfen_sn 
+0x012b 000708 rtn 
+:      000709 p_test_tx_new_param:
+0x012c 000710 jam 0x01 ,mem_fcc_mod_new 
+0x012d 000711 jam 1 ,mem_fcc_send_mode_new 
+:      000712 p_test_tx_new_param_cont:
+0x012e 000713 jam 79 ,mem_fcc_ch_new 
+:      000714 p_test_tx_new_param_copy:
+0x012f 000715 fetch 4 ,mem_fcc_param_new 
+0x0130 000716 store 4 ,mem_fcc_param 
+:      000719 p_test_tx_start:
+0x0131 000720 fetcht 1 ,mem_fcc_ch 
+0x0132 000721 increase -1 ,temp 
+:      000723 p_test_24g_tx_on:
+0x0133 000724 fetch 1 ,mem_fcc_send_mode 
+0x0134 000725 beq 0 ,p_test_24g_tx_data 
+0x0135 000727 call p_set_sync_on 
+0x0136 000728 call p_set_freq_tx 
+0x0137 000729 disable enable_white 
+0x0138 000730 enable encode_fec0 
+0x0139 000731 enable is_tx 
+0x013a 000732 fetcht 1 ,mem_fcc_mod 
+0x013b 000733 copy temp ,radio_ctrl 
+0x013c 000734 hfetch 1 ,0x8908 
+0x013d 000735 isolate1 3 ,temp 
+0x013e 000736 setflag true ,5 ,pdata 
+0x013f 000737 hstore 1 ,0x8908 
+0x0140 000738 branch p_test_tx_carrier_loop 
+:      000740 p_test_24g_tx_data:
+0x0141 000741 call p_set_sync_on 
+0x0142 000742 call p_set_freq_tx 
+0x0143 000744 call p_le_enable 
+0x0144 000745 set1 txgfsk ,radio_ctrl 
+0x0145 000746 enable encode_fec0 
+0x0146 000747 enable is_tx 
+0x0147 000748 disable is_rx 
+0x0148 000749 call le_wait_tx 
+0x0149 000750 hfetch 1 ,0x8908 
+0x014a 000751 isolate1 3 ,temp 
+0x014b 000752 setflag true ,5 ,pdata 
+0x014c 000753 hstore 1 ,0x8908 
+:      000754 p_pk:
+0x014d 000755 arg mem_24g_common_temp ,contw 
+0x014e 000756 setarg 0xcccccc 
+0x014f 000757 store 3 ,mem_24g_common_temp 
+0x0150 000758 istore 3 ,contw 
+0x0151 000759 istore 3 ,contw 
+0x0152 000760 istore 3 ,contw 
+0x0153 000761 istore 3 ,contw 
+0x0154 000762 istore 3 ,contw 
+0x0155 000763 istore 3 ,contw 
+0x0156 000764 istore 3 ,contw 
+0x0157 000765 arg 24 ,loopcnt 
+0x0158 000766 arg mem_24g_common_temp ,contr 
+0x0159 000767 branch p_pnloop_stable 
+:      000769 p_pnloop_stable:
+0x015a 000770 ifetch 1 ,contr 
+0x015b 000771 inject mod ,8 
+0x015c 000772 loop p_pnloop_stable 
+0x015d 000773 call p_test_ble_bt_tx_off 
+0x015e 000774 setarg 12000 
+0x015f 000775 call sleep 
+0x0160 000777 call p_test_check_paramer_change 
+0x0161 000779 fetch 4 ,mem_fcc_param 
+0x0162 000780 fetcht 4 ,mem_fcc_param_new 
+0x0163 000781 isub temp ,null 
+0x0164 000782 ncall p_test_tx_change_sleep ,zero 
+0x0165 000784 branch p_test_tx_new_param_copy 
+:      000786 p_test_tx_change_sleep:
+0x0166 000787 setarg 1200000 
+0x0167 000788 call sleep 
+0x0168 000789 setarg 1200000 
+0x0169 000790 call sleep 
+0x016a 000791 setarg 1200000 
+0x016b 000792 call sleep 
+0x016c 000793 branch p_mouse_check_key_gpio 
+:      000796 p_test_ble_tx_on:
+0x016d 000798 call p_set_sync_on 
+0x016e 000799 call p_set_freq_tx 
+0x016f 000801 call p_le_enable 
+0x0170 000802 set1 txgfsk ,radio_ctrl 
+0x0171 000803 enable encode_fec0 
+0x0172 000804 enable is_tx 
+0x0173 000805 disable is_rx 
+0x0174 000806 call le_wait_tx 
+0x0175 000807 fetch 1 ,mem_fcc_data 
+0x0176 000808 hstore 1 ,0x8908 
+0x0177 000809 branch p_tx_data 
+:      000811 p_test_ble_bt_tx_off:
+0x0178 000812 branch p_shutdown_radio 
+:      000815 p_test_rx_start:
+0x0179 000816 fetcht 1 ,mem_fcc_ch 
+0x017a 000817 increase -1 ,temp 
+0x017b 000818 fetch 1 ,mem_fcc_btble 
+0x017c 000819 compare 0x01 ,pdata ,0x01 
+0x017d 000820 call p_test_bt_rx_on ,true 
+0x017e 000821 ncall p_test_ble_rx_on ,true 
+:      000822 p_test_rx_loop:
+0x017f 000823 call hci_rx_packet 
+0x0180 000824 fetch 7 ,mem_fcc_param 
+0x0181 000825 fetcht 7 ,mem_fcc_param_new 
+0x0182 000826 isub temp ,null 
+0x0183 000827 branch p_test_rx_loop ,zero 
+0x0184 000828 branch p_test_tx_new_param 
+:      000831 p_test_ble_rx_on:
+0x0185 000832 call p_test_ble_bt_tx_off 
+0x0186 000833 call p_set_freq_rx 
+0x0187 000834 setarg param_pll_setup 
+0x0188 000835 call sleep 
+0x0189 000836 branch rf_rx_enable 
+:      000838 p_test_ble_bt_rx_off:
+0x018a 000839 disable encode_fec0 
+0x018b 000840 disable encode_fec2 
+0x018c 000841 disable decode_fec0 
+0x018d 000842 disable decode_fec2 
+0x018e 000843 disable enable_crc 
+0x018f 000844 disable encrypt 
+0x0190 000845 disable enable_white 
+0x0191 000846 branch p_shutdown_radio 
+:      000848 p_test_bt_rx_on:
+0x0192 000849 call p_test_ble_bt_tx_off 
+0x0193 000850 call p_set_freq_rx 
+0x0194 000851 fetcht 1 ,mem_fcc_mod 
+0x0195 000852 and temp ,7 ,radio_ctrl 
+0x0196 000853 branch start_receiver 
+:      000857 p_test_bt_tx_on:
+0x0197 000859 call p_set_sync_on 
+0x0198 000860 call p_set_freq_tx 
+0x0199 000861 disable enable_white 
+0x019a 000862 enable encode_fec0 
+0x019b 000863 enable is_tx 
+0x019c 000864 fetcht 1 ,mem_fcc_mod 
+0x019d 000865 copy temp ,radio_ctrl 
+0x019e 000866 fetch 1 ,mem_fcc_data 
+0x019f 000867 hstore 1 ,0x8908 
+0x01a0 000868 beq 0 ,p_test_tx_data 
+:      000869 p_test_tx_carrier_loop:
+0x01a1 000870 arg 30 ,loopcnt 
+0x01a2 000871 arg mem_pn9 ,contr 
+:      000872 p_pnloop_carrier:
+0x01a3 000873 ifetch 1 ,contr 
+0x01a4 000874 inject mod ,8 
+0x01a5 000875 loop p_pnloop_carrier 
+0x01a6 000876 call p_test_check_paramer_change 
+0x01a7 000877 fetch 4 ,mem_fcc_param 
+0x01a8 000878 fetcht 4 ,mem_fcc_param_new 
+0x01a9 000879 isub temp ,null 
+0x01aa 000880 branch p_test_tx_carrier_loop ,zero 
+0x01ab 000881 call p_test_tx_change_sleep 
+0x01ac 000882 branch p_test_tx_new_param_copy 
+:      000883 p_test_check_paramer_change:
+0x01ad 000884 call p_mouse_check_key_gpio 
+0x01ae 000885 beq mouse_m_button ,p_test_switch_mode 
+0x01af 000886 beq mouse_l_button ,p_test_switch_frequency 
+0x01b0 000887 rtn 
+:      000888 p_test_switch_frequency:
+0x01b1 000889 fetch 1 ,mem_fcc_ch_new 
+0x01b2 000890 beq 79 ,p_frequency_set_46hz 
+0x01b3 000891 beq 46 ,p_frequency_set_2hz 
+0x01b4 000892 jam 79 ,mem_fcc_ch_new 
+0x01b5 000893 rtn 
+:      000894 p_frequency_set_46hz:
+0x01b6 000895 jam 46 ,mem_fcc_ch_new 
+0x01b7 000896 rtn 
+:      000897 p_frequency_set_2hz:
+0x01b8 000898 jam 2 ,mem_fcc_ch_new 
+0x01b9 000899 rtn 
+:      000900 p_test_switch_mode:
+0x01ba 000901 fetch 1 ,mem_fcc_send_mode 
+0x01bb 000902 beq 0 ,p_set_send_mode1 
+0x01bc 000903 jam 0 ,mem_fcc_send_mode_new 
+0x01bd 000904 rtn 
+:      000905 p_set_send_mode1:
+0x01be 000906 jam 1 ,mem_fcc_send_mode_new 
+0x01bf 000907 rtn 
+:      000910 p_test_tx_data:
+0x01c0 000911 fetch 1 ,mem_fcc_hop 
+0x01c1 000912 beq 1 ,p_tx_data_hopping 
+:      000918 p_tx_data:
+0x01c2 000919 fetch 1 ,mem_fcc_mod 
+0x01c3 000920 beq 1 ,p_calculate_gfsk_modulation_length 
+0x01c4 000921 beq 3 ,p_calculate_pai4_modulation_length 
+0x01c5 000922 beq 7 ,p_calculate_pai8_modulation_length 
+0x01c6 000923 rtn 
+:      000924 p_calculate_gfsk_modulation_length:
+0x01c7 000925 fetch 1 ,mem_fcc_data_length 
+0x01c8 000926 beq 0x19 ,p_calculate_gfsk_modulation_length_dh1 
+0x01c9 000927 beq 0x78 ,p_calculate_gfsk_modulation_length_dh3 
+0x01ca 000928 beq 0xf0 ,p_calculate_gfsk_modulation_length_dh5 
+:      000929 p_calculate_gfsk_modulation_length_dh1:
+0x01cb 000930 arg 55 ,loopcnt 
+0x01cc 000931 arg mem_pn9 ,contr 
+0x01cd 000932 branch p_pnloop_stable 
+:      000933 p_calculate_gfsk_modulation_length_dh3:
+0x01ce 000934 arg 205 ,loopcnt 
+0x01cf 000935 arg mem_pn9 ,contr 
+0x01d0 000936 branch p_pnloop_stable 
+:      000937 p_calculate_gfsk_modulation_length_dh5:
+0x01d1 000938 arg 355 ,loopcnt 
+0x01d2 000939 arg mem_pn9 ,contr 
+0x01d3 000940 branch p_pnloop_stable 
+:      000944 p_calculate_pai4_modulation_length:
+0x01d4 000945 fetch 1 ,mem_fcc_data_length 
+0x01d5 000946 beq 0x19 ,p_calculate_pai4_modulation_length_dh1 
+0x01d6 000947 beq 0x78 ,p_calculate_pai4_modulation_length_dh3 
+0x01d7 000948 beq 0xf0 ,p_calculate_pai4_modulation_length_dh5 
+:      000950 p_calculate_pai4_modulation_length_dh1:
+0x01d8 000951 arg 105 ,loopcnt 
+0x01d9 000952 arg mem_pn9 ,contr 
+0x01da 000953 branch p_pnloop_stable 
+:      000954 p_calculate_pai4_modulation_length_dh3:
+0x01db 000955 arg 405 ,loopcnt 
+0x01dc 000956 arg mem_pn9 ,contr 
+0x01dd 000957 branch p_pnloop_stable 
+:      000958 p_calculate_pai4_modulation_length_dh5:
+0x01de 000959 arg 705 ,loopcnt 
+0x01df 000960 arg mem_pn9 ,contr 
+0x01e0 000961 branch p_pnloop_stable 
+:      000962 p_calculate_pai8_modulation_length:
+0x01e1 000963 fetch 1 ,mem_fcc_data_length 
+0x01e2 000964 beq 0x19 ,p_calculate_pai8_modulation_length_dh1 
+0x01e3 000965 beq 0x78 ,p_calculate_pai8_modulation_length_dh3 
+0x01e4 000966 beq 0xf0 ,p_calculate_pai8_modulation_length_dh5 
+:      000968 p_calculate_pai8_modulation_length_dh1:
+0x01e5 000969 arg 120 ,loopcnt 
+0x01e6 000970 arg mem_pn9 ,contr 
+0x01e7 000971 branch p_pnloop_stable 
+:      000972 p_calculate_pai8_modulation_length_dh3:
+0x01e8 000973 arg 590 ,loopcnt 
+0x01e9 000974 arg mem_pn9 ,contr 
+0x01ea 000975 branch p_pnloop_stable 
+:      000976 p_calculate_pai8_modulation_length_dh5:
+0x01eb 000977 arg 1000 ,loopcnt 
+0x01ec 000978 arg mem_pn9 ,contr 
+0x01ed 000979 branch p_pnloop_stable 
+:      000980 p_calculate_pai4_modulation_length_hoping:
+0x01ee 000981 fetch 1 ,mem_fcc_data_length 
+0x01ef 000982 beq 0x19 ,p_calculate_pai4_modulation_length_dh1_hoping 
+0x01f0 000983 beq 0x78 ,p_calculate_pai4_modulation_length_dh3_hoping 
+0x01f1 000984 beq 0xf0 ,p_calculate_pai4_modulation_length_dh5_hoping 
+:      000986 p_calculate_pai4_modulation_length_dh1_hoping:
+0x01f2 000987 arg 105 ,loopcnt 
+0x01f3 000988 arg mem_pn9 ,contr 
+0x01f4 000989 branch p_pnloop2 
+:      000990 p_calculate_pai4_modulation_length_dh3_hoping:
+0x01f5 000991 arg 405 ,loopcnt 
+0x01f6 000992 arg mem_pn9 ,contr 
+0x01f7 000993 branch p_pnloop2 
+:      000994 p_calculate_pai4_modulation_length_dh5_hoping:
+0x01f8 000995 arg 705 ,loopcnt 
+0x01f9 000996 arg mem_pn9 ,contr 
+0x01fa 000997 branch p_pnloop2 
+:      000998 p_calculate_pai8_modulation_length_hoping:
+0x01fb 000999 fetch 1 ,mem_fcc_data_length 
+0x01fc 001000 beq 0x19 ,p_calculate_pai8_modulation_length_dh1_hoping 
+0x01fd 001001 beq 0x78 ,p_calculate_pai8_modulation_length_dh3_hoping 
+0x01fe 001002 beq 0xf0 ,p_calculate_pai8_modulation_length_dh5_hoping 
+:      001004 p_calculate_pai8_modulation_length_dh1_hoping:
+0x01ff 001005 arg 120 ,loopcnt 
+0x0200 001006 arg mem_pn9 ,contr 
+0x0201 001007 branch p_pnloop2 
+:      001008 p_calculate_pai8_modulation_length_dh3_hoping:
+0x0202 001009 arg 590 ,loopcnt 
+0x0203 001010 arg mem_pn9 ,contr 
+0x0204 001011 branch p_pnloop2 
+:      001012 p_calculate_pai8_modulation_length_dh5_hoping:
+0x0205 001013 arg 1000 ,loopcnt 
+0x0206 001014 arg mem_pn9 ,contr 
+0x0207 001015 branch p_pnloop2 
+:      001016 p_tx_data_hopping:
+0x0208 001017 fetch 1 ,mem_fcc_mod 
+0x0209 001018 beq 1 ,p_calculate_gfsk_modulation_length_hoping 
+0x020a 001019 beq 3 ,p_calculate_pai4_modulation_length_hoping 
+0x020b 001020 beq 7 ,p_calculate_pai8_modulation_length_hoping 
+0x020c 001021 rtn 
+:      001022 p_calculate_gfsk_modulation_length_hoping:
+0x020d 001023 fetch 1 ,mem_fcc_data_length 
+0x020e 001024 beq 0x19 ,p_calculate_gfsk_modulation_length_dh1_hoping 
+0x020f 001025 beq 0x78 ,p_calculate_gfsk_modulation_length_dh3_hoping 
+0x0210 001026 beq 0xf0 ,p_calculate_gfsk_modulation_length_dh5_hoping 
+:      001028 p_calculate_gfsk_modulation_length_dh1_hoping:
+0x0211 001029 arg 55 ,loopcnt 
+0x0212 001030 arg mem_pn9 ,contr 
+0x0213 001031 branch p_pnloop2 
+:      001032 p_calculate_gfsk_modulation_length_dh3_hoping:
+0x0214 001033 arg 205 ,loopcnt 
+0x0215 001034 arg mem_pn9 ,contr 
+0x0216 001035 branch p_pnloop2 
+:      001036 p_calculate_gfsk_modulation_length_dh5_hoping:
+0x0217 001037 arg 355 ,loopcnt 
+0x0218 001038 arg mem_pn9 ,contr 
+0x0219 001039 branch p_pnloop2 
+:      001040 p_pnloop2:
+0x021a 001041 ifetch 1 ,contr 
+0x021b 001042 inject mod ,8 
+0x021c 001043 loop p_pnloop2 
+0x021d 001044 branch p_test_tx_off 
+0x021e 001045 call hci_rx_packet 
+0x021f 001046 fetch 7 ,mem_fcc_param 
+0x0220 001047 fetcht 7 ,mem_fcc_param_new 
+0x0221 001048 isub temp ,null 
+0x0222 001049 branch p_tx_data ,zero 
+0x0223 001050 call p_test_ble_bt_tx_off 
+0x0224 001051 branch p_test_tx_new_param 
+:      001053 p_test_tx_off:
+0x0225 001055 call p_test_ble_bt_tx_off 
+0x0226 001056 call timer_check 
+0x0227 001057 arg 15 ,queue 
+0x0228 001058 setarg 12 
+0x0229 001059 call timer_init 
+:      001060 p_125_clk:
+0x022a 001061 arg 15 ,queue 
+0x022b 001062 call timer_check 
+0x022c 001063 branch p_change_ch ,blank 
+0x022d 001064 call hci_rx_packet 
+0x022e 001065 fetch 7 ,mem_fcc_param 
+0x022f 001066 fetcht 7 ,mem_fcc_param_new 
+0x0230 001067 isub temp ,null 
+0x0231 001068 branch p_125_clk ,zero 
+0x0232 001069 branch p_test_tx_new_param 
+:      001070 p_change_ch:
+0x0233 001071 random pdata 
+0x0234 001072 store 1 ,mem_random_ch 
+:      001074 p_less_max:
+0x0235 001075 fetch 1 ,mem_random_ch 
+0x0236 001076 sub pdata ,0x50 ,null 
+0x0237 001077 branch p_rewrite_ch ,positive 
+0x0238 001078 increase -80 ,pdata 
+0x0239 001079 store 1 ,mem_random_ch 
+0x023a 001080 branch p_less_max 
+:      001081 p_rewrite_ch:
+0x023b 001082 fetch 1 ,mem_random_ch 
+0x023c 001083 beq 0 ,p_randomis0 
+0x023d 001084 beq 1 ,p_randomis0 
+0x023e 001085 store 1 ,mem_fcc_ch_new 
+0x023f 001087 branch p_test_tx_new_param 
+:      001088 p_randomis0:
+0x0240 001089 jam 0x02 ,mem_fcc_ch_new 
+0x0241 001091 branch p_test_tx_new_param 
+:      001093 p_set_freq_tx:
+0x0242 001094 storet 1 ,mem_last_freq 
+0x0243 001096 add temp ,1 ,rega 
+0x0244 001097 call p_rf_write_freq 
+0x0245 001098 setarg param_pll_setup 
+0x0246 001099 call p_sleep 
+:      001103 p_txon:
+0x0247 001105 hjam 0x1 ,rfen_adc 
+0x0248 001113 hjam 0x3c ,rfen_rx 
+0x0249 001114 hjam 0xe0 ,rfen_tx 
+0x024a 001115 hjam 0x12 ,0x96d 
+0x024b 001116 nop 10 
+0x024c 001117 hjam 0x01 ,rfen_mdm 
+0x024d 001118 hjam 0x3d ,rfen_mdm 
+0x024e 001119 nop 10 
+0x024f 001120 hjam 0xb7 ,rfen_sn 
+0x0250 001121 nop 10 
+0x0251 001122 hjam 0x7d ,rfen_mdm 
+0x0252 001133 hjam 0xff ,0x956 
+0x0253 001134 nop 4 
+0x0254 001137 hjam 0xd1 ,0x955 
+0x0255 001138 nop 4 
+0x0256 001139 hjam 0xd2 ,0x955 
+0x0257 001140 nop 4 
+0x0258 001141 hjam 0xd8 ,0x955 
+0x0259 001142 nop 4 
+0x025a 001147 hjam 0xdf ,0x955 
+0x025b 001148 rtn 
+:      001175 p_rf_write_freq:
+0x025c 001177 setarg 2400 
+0x025d 001178 iadd rega ,temp 
+0x025e 001179 fetch 1 ,mem_fcomp_mul 
+0x025f 001180 hjam 0x04 ,rf_pll_rstn 
+0x0260 001181 imul32 temp ,pdata 
+0x0261 001182 fetcht 1 ,mem_fcomp_div 
+0x0262 001183 idiv temp 
+0x0263 001184 call p_wait_div_end 
+0x0264 001185 quotient rega 
+0x0265 001186 remainder pdata 
+0x0266 001187 lshift16 pdata ,pdata 
+0x0267 001188 lshift4 pdata ,pdata 
+0x0268 001189 idiv temp 
+0x0269 001190 call p_wait_div_end 
+0x026a 001191 quotient pdata 
+0x026b 001192 lshift8 pdata ,pdata 
+0x026c 001193 lshift pdata ,pdata 
+0x026d 001194 ior rega ,pdata 
+0x026e 001197 hstore 4 ,rf_pll_intg 
+0x026f 001202 hjam 0x44 ,rf_pll_rstn 
+0x0270 001204 hjam 0xc4 ,rf_pll_rstn 
+0x0271 001218 rtn 
+:      001220 p_wait_div_end:
+0x0272 001221 rtn modone 
+0x0273 001222 branch p_wait_div_end 
+:      001223 pp_pn9:
+0x0274 001224 arg 0xff ,loopcnt 
+0x0275 001225 arg mem_pn9 ,contw 
+0x0276 001226 setarg 0x1ff 
+0x0277 001227 force 0 ,regb 
+:      001228 pp_pn9_loop:
+0x0278 001229 rshift3 pdata ,rega 
+0x0279 001230 rshift rega ,rega 
+0x027a 001231 ixor rega ,rega 
+0x027b 001232 isolate1 0 ,rega 
+0x027c 001233 setflag true ,9 ,pdata 
+0x027d 001234 rshift temp ,temp 
+0x027e 001235 isolate1 0 ,pdata 
+0x027f 001236 setflag true ,7 ,temp 
+0x0280 001237 rshift pdata ,pdata 
+0x0281 001238 increase 1 ,regb 
+0x0282 001239 compare 0 ,regb ,0x7 
+0x0283 001240 nbranch pp_pn9_loop ,true 
+0x0284 001242 istoret 1 ,contw 
+0x0285 001244 loop pp_pn9_loop 
+0x0286 001245 rtn 
+:      001249 p_gpio:
+0x0287 001250 hfetch 4 ,core_gpio_pu0 
+0x0288 001251 hfetcht 4 ,core_gpio_pd0 
+0x0289 001252 ior temp ,pdata 
+0x028a 001253 pinvert 
+0x028b 001254 hfetcht 4 ,core_gpio_oe0 
+0x028c 001255 ior temp ,pdata 
+0x028d 001256 hstore 4 ,core_gpio_oe0 
+0x028e 001257 rtn 
+:      001259 p_pause_c51:
+0x028f 001260 hjam 5 ,core_docd_ctrl 
+0x0290 001261 rtn 
+:      001263 p_assert:
+0x0291 001264 branch p_assert 
+:      001266 p_loop:
+0x0292 001267 branch p_loop 
+:      001269 p_le_enable:
+0x0293 001270 enable le 
+0x0294 001271 hjam 7 ,rfen_ulp 
+0x0295 001272 rtn 
+:      001273 p_set_freq_rx:
+0x0296 001275 storet 1 ,mem_last_freq 
+0x0297 001276 add temp ,rx_freq_offset ,rega 
+0x0298 001277 branch p_rf_write_freq 
+              org 0x2000
+:      001284 start:
+0x2000 001285 call lpmstate 
+:      001287 soft_reset:
+0x2001 001288 bpatch patch00_0 ,mem_patch00 
+0x2002 001289 clear_stack 
+0x2003 001290 call spi_ncs_gpio_init 
+0x2004 001291 call initialize_radio 
+0x2005 001292 call iicd_init_12m 
+0x2006 001293 call init_param 
+0x2007 001294 call l2cap_init 
+0x2008 001295 bpatch patch00_1 ,mem_patch00 
+0x2009 001296 call rfcomm_init 
+0x200a 001297 call init_lmp 
+0x200b 001298 call ui_init 
+0x200c 001299 call app_init 
+0x200d 001300 ncall load_chip_option ,wake 
+0x200e 001301 bpatch patch00_2 ,mem_patch00 
+0x200f 001302 call app_lpm_init ,wake 
+0x2010 001303 call publickey_init 
+0x2011 001304 call lpm_recover_clk ,wake 
+:      001305 main_loop:
+0x2012 001306 bpatch patch00_3 ,mem_patch00 
+0x2013 001307 call sp_calc_sequence 
+0x2014 001308 call sp_calc_sequence_256 
+0x2015 001309 call sp_calc_sequence_256_check 
+0x2016 001310 call le_dispatch 
+0x2017 001311 bpatch patch00_4 ,mem_patch00 
+0x2018 001312 call idle_dispatch 
+0x2019 001313 call app_process_idle 
+0x201a 001314 call inquiry_dispatch 
+0x201b 001315 call inquiry_scan_dispatch 
+0x201c 001316 call page_scan_dispatch 
+0x201d 001317 call connection_dispatch 
+0x201e 001318 call lpm_dispatch 
+0x201f 001319 call g24_dispatch 
+0x2020 001320 branch main_loop 
+:      001322 connection_dispatch:
+0x2021 001323 call connection_incontext 
+0x2022 001324 rtnmark0 mark_context 
+0x2023 001325 set0 mark_context ,mark 
+0x2024 001326 call context_save 
+0x2025 001327 branch le_disable 
+:      001329 connection_incontext:
+0x2026 001330 bpatch patch00_5 ,mem_patch00 
+0x2027 001331 call context_search_insniff 
+0x2028 001332 nbranch connection_nosniff ,zero 
+0x2029 001333 call context_load 
+0x202a 001334 add rega ,coffset_mode ,contr 
+0x202b 001335 ifetch 1 ,contr 
+0x202c 001336 bbit1 mode_le ,le_conn_dispatch 
+0x202d 001337 bbit1 mode_master ,master_dispatch 
+0x202e 001338 branch slave_dispatch 
+:      001339 connection_nosniff:
+0x202f 001340 call context_get_next 
+0x2030 001341 copy loopcnt ,null 
+0x2031 001342 rtn zero 
+0x2032 001343 call context_load 
+0x2033 001344 fetch 1 ,mem_state 
+0x2034 001345 bbit1 state_inpage ,master_page 
+0x2035 001346 fetch 1 ,mem_mode 
+0x2036 001347 bbit1 mode_master ,master_dispatch 
+0x2037 001348 branch slave_dispatch 
+:      001356 idle_dispatch:
+0x2038 001357 fetch 1 ,mem_hci_cmd 
+0x2039 001358 rtn blank 
+0x203a 001359 beq hci_cmd_inquiry ,idle_inquiry 
+0x203b 001360 beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+0x203c 001361 beq hci_cmd_remote_name_req ,idle_remote_name_req 
+0x203d 001362 beq hci_cmd_create_conn ,idle_create_conn 
+0x203e 001363 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+0x203f 001364 call context_search_conn_handle 
+0x2040 001365 rtn zero 
+0x2041 001366 call context_search_plap 
+0x2042 001367 rtn zero 
+:      001368 idle_exit:
+0x2043 001369 jam 0 ,mem_hci_cmd 
+0x2044 001370 rtn 
+:      001372 idle_le_create_conn:
+0x2045 001373 jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+0x2046 001374 jam 0 ,mem_hci_cmd 
+0x2047 001375 rtn 
+:      001377 idle_inquiry:
+0x2048 001378 set1 mark_inquiry_on ,mark 
+0x2049 001379 set0 mark_inquiry_trainb ,mark 
+0x204a 001380 jam param_ninquiry ,mem_ninqy_index 
+0x204b 001381 jam 31 ,mem_nfreq_index_inq 
+0x204c 001382 branch idle_exit 
+:      001384 idle_inquiry_cancel:
+0x204d 001385 set0 mark_inquiry_on ,mark 
+0x204e 001386 force 0 ,stop_watch 
+0x204f 001387 branch idle_exit 
+:      001389 idle_remote_name_req:
+0x2050 001390 call context_search_plap 
+0x2051 001391 rtn zero 
+0x2052 001392 force lmp_name_req ,temp 
+0x2053 001393 jam 5 ,mem_nameres_cnt 
+0x2054 001394 branch idle_start_page 
+:      001396 idle_create_conn:
+0x2055 001397 bpatch patch00_6 ,mem_patch00 
+:      001398 idle_create_conn_device:
+0x2056 001399 fetch 6 ,mem_hci_plap 
+0x2057 001400 branch idle_exit ,blank 
+0x2058 001401 jam reconnect_hid ,memui_reconnect_mode 
+0x2059 001403 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x205a 001404 branch idle_create_conn_cont 
+:      001406 idle_create_conn_cont:
+0x205b 001407 force lmp_version_req ,temp 
+:      001408 idle_start_page:
+0x205c 001409 bpatch patch00_7 ,mem_patch00 
+0x205d 001410 fetch 1 ,mem_page_mode 
+0x205e 001411 branch idle_page_mode_r0 ,blank 
+0x205f 001412 lshift3 pdata ,pdata 
+0x2060 001413 lshift4 pdata ,pdata 
+0x2061 001414 increase -1 ,pdata 
+:      001415 idle_page_mode_r0:
+0x2062 001416 store 1 ,mem_npage 
+0x2063 001417 store 1 ,mem_npage_index 
+0x2064 001418 jam 31 ,mem_nfreq_index_page 
+0x2065 001419 set0 mark_page_trainb ,mark 
+0x2066 001420 call context_new 
+0x2067 001421 nbranch idle_page_fail ,zero 
+0x2068 001422 call get_free_amaddr 
+0x2069 001423 store 1 ,mem_amaddr 
+0x206a 001424 storet 1 ,mem_lmo_opcode2 
+0x206b 001425 fetch 6 ,mem_hci_plap 
+0x206c 001426 store 6 ,mem_plap 
+0x206d 001427 bpatch patch01_0 ,mem_patch01 
+0x206e 001428 call timer_reinit 
+0x206f 001429 force 0 ,pdata 
+0x2070 001430 compare lmp_name_req ,temp ,0xff 
+0x2071 001431 nsetflag true ,state_init_seq ,pdata 
+0x2072 001432 set1 state_inpage ,pdata 
+0x2073 001433 store 1 ,mem_state 
+0x2074 001434 jam bt_evt_reconn_started ,mem_fifo_temp 
+0x2075 001435 call ui_ipc_send_event 
+0x2076 001436 force 0 ,pdata 
+0x2077 001437 setflag true ,smap_name_req ,pdata 
+0x2078 001438 store 1 ,mem_state_map 
+0x2079 001439 setarg 0 
+0x207a 001440 set1 mode_master ,pdata 
+0x207b 001441 store 1 ,mem_mode 
+0x207c 001442 enable master 
+0x207d 001443 call context_save 
+0x207e 001444 disable master 
+0x207f 001445 force page_length_timer ,queue 
+0x2080 001446 fetch 2 ,mem_page_to 
+0x2081 001447 call timer_init 
+0x2082 001448 branch idle_exit 
+:      001449 idle_page_fail:
+0x2083 001450 bpatch patch01_1 ,mem_patch01 
+0x2084 001451 fetch 6 ,mem_hci_plap 
+0x2085 001452 store 6 ,mem_plap 
+0x2086 001453 compare lmp_name_req ,temp ,0xff 
+0x2087 001454 branch idle_name_fail ,true 
+0x2088 001455 branch idle_exit 
+:      001456 idle_name_fail:
+0x2089 001457 arg mem_tmp_buffer ,contw 
+0x208a 001458 arg 8 ,loopcnt 
+0x208b 001459 call memset0 
+0x208c 001460 jam bt_evt_reconn_failed ,mem_fifo_temp 
+0x208d 001461 call ui_ipc_send_event 
+0x208e 001462 branch idle_exit 
+:      001469 inquiry_dispatch:
+0x208f 001470 rtnmark0 mark_inquiry_on 
+0x2090 001471 force inquiry_length_timer ,queue 
+0x2091 001472 call timer_check 
+0x2092 001473 nsetflag blank ,mark_inquiry_on ,mark 
+0x2093 001474 nbranch inquiry_start ,blank 
+0x2094 001475 rtn 
+:      001479 inquiry_start:
+0x2095 001480 bpatch patch01_2 ,mem_patch01 
+0x2096 001481 fetcht 2 ,mem_inq_window 
+0x2097 001482 force 4 ,queue 
+0x2098 001483 call sniff_check_window 
+0x2099 001484 rtn user 
+0x209a 001485 call afh_clear 
+0x209b 001486 force 0 ,freq_mode 
+:      001487 inquiry_restart:
+0x209c 001488 rtn timeout 
+0x209d 001489 set0 mark_fhs_already_good ,mark 
+0x209e 001490 set0 mark_fhs_eir ,mark 
+:      001491 inquiry_rx_restart:
+0x209f 001492 add clkn_bt ,1 ,bt_clk 
+0x20a0 001493 isolate1 mark_inquiry_trainb ,mark 
+0x20a1 001494 setflag true ,2 ,freq_mode 
+0x20a2 001495 compare 0x00 ,bt_clk ,0x02 
+0x20a3 001496 nbranch inquiry_receive ,true 
+:      001498 inquiry_transmit:
+0x20a4 001499 bpatch patch01_3 ,mem_patch01 
+0x20a5 001500 fetch 1 ,mem_inquiry_transmit 
+0x20a6 001501 increase 1 ,pdata 
+0x20a7 001502 store 1 ,mem_inquiry_transmit 
+0x20a8 001503 call fetch_giac 
+0x20a9 001504 call tx_radio_freq 
+0x20aa 001505 call fetch_diac 
+0x20ab 001506 call start_transmitter 
+0x20ac 001507 call start_tx_native 
+0x20ad 001508 call send_access_word 
+0x20ae 001509 call end_of_packet 
+0x20af 001510 call inquiry_check_train 
+0x20b0 001511 branch inquiry_restart 
+:      001513 inquiry_check_train:
+0x20b1 001514 bpatch patch01_4 ,mem_patch01 
+0x20b2 001515 fetch 1 ,mem_nfreq_index_inq 
+0x20b3 001516 increase -1 ,pdata 
+0x20b4 001517 store 1 ,mem_nfreq_index_inq 
+0x20b5 001518 rtn positive 
+0x20b6 001519 jam 31 ,mem_nfreq_index_inq 
+0x20b7 001520 fetch 1 ,mem_ninqy_index 
+0x20b8 001521 increase -1 ,pdata 
+0x20b9 001522 store 1 ,mem_ninqy_index 
+0x20ba 001523 rtn positive 
+0x20bb 001524 setflip mark_inquiry_trainb ,mark 
+0x20bc 001525 jam param_ninquiry ,mem_ninqy_index 
+0x20bd 001526 rtn 
+:      001528 inquiry_receive:
+0x20be 001529 bpatch patch01_5 ,mem_patch01 
+0x20bf 001530 call fetch_giac 
+0x20c0 001531 call rx_radio_freq 
+0x20c1 001532 call fetch_diac 
+0x20c2 001533 call start_rx_native 
+0x20c3 001534 call start_receiver 
+0x20c4 001535 call wait_access_clkn_rt 
+0x20c5 001536 branch inquiry_sync ,sync 
+0x20c6 001537 call inquiry_check_train 
+0x20c7 001538 branch inquiry_rx_restart 
+:      001539 inquiry_sync:
+0x20c8 001540 bpatch patch01_6 ,mem_patch01 
+0x20c9 001541 call save_rssi 
+0x20ca 001542 call scan_mode_whiten 
+0x20cb 001543 call receive_packet_whitened 
+0x20cc 001544 set0 mark_rxbuf_inuse ,mark 
+0x20cd 001545 rtnmark0 mark_fhs_already_good 
+:      001546 inquiry_receive_rtn:
+0x20ce 001547 bpatch patch01_7 ,mem_patch01 
+:      001548 inquiry_receive_eir_rtn:
+0x20cf 001549 fetch 1 ,mem_inquiry_rcv 
+0x20d0 001550 increase 1 ,pdata 
+0x20d1 001551 store 1 ,mem_inquiry_rcv 
+0x20d2 001552 rtn 
+:      001560 master_page:
+0x20d3 001561 bpatch patch02_0 ,mem_patch02 
+0x20d4 001562 enable master 
+0x20d5 001563 enable clknt 
+0x20d6 001564 fetch 2 ,mem_page_interval 
+0x20d7 001565 branch master_page_no_interval ,blank 
+0x20d8 001566 force page_interval_timer ,queue 
+0x20d9 001567 call timer_check 
+0x20da 001568 nrtn blank 
+:      001569 master_page_no_interval:
+0x20db 001570 bpatch patch02_1 ,mem_patch02 
+0x20dc 001571 fetcht 2 ,mem_page_window 
+0x20dd 001572 force 40 ,queue 
+0x20de 001573 call sniff_check_window 
+0x20df 001574 branch page_exit ,user 
+0x20e0 001575 force page_length_timer ,queue 
+0x20e1 001576 call timer_check 
+0x20e2 001577 nbranch page_start ,blank 
+0x20e3 001578 fetch 1 ,mem_state_map 
+0x20e4 001579 bbit1 smap_name_req ,master_npage_timeout 
+0x20e5 001580 branch master_page_timeout 
+:      001581 master_npage_timeout:
+0x20e6 001582 arg mem_tmp_buffer ,contw 
+0x20e7 001583 arg 8 ,loopcnt 
+0x20e8 001584 call memset0 
+:      001585 master_page_timeout:
+0x20e9 001586 bpatch patch02_2 ,mem_patch02 
+0x20ea 001587 jam 0 ,mem_state 
+0x20eb 001588 call init_lmp_work 
+0x20ec 001589 jam 0 ,memui_reconnect_mode 
+0x20ed 001590 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+0x20ee 001591 call ui_ipc_send_event 
+0x20ef 001592 branch page_exit 
+:      001594 page_start:
+0x20f0 001595 bpatch patch02_3 ,mem_patch02 
+0x20f1 001596 force 0 ,timeup 
+0x20f2 001597 until clkn_rt ,meet 
+0x20f3 001598 fetch 1 ,mem_page_clk 
+0x20f4 001599 increase -1 ,pdata 
+0x20f5 001600 ixor clkn_bt ,pdata 
+0x20f6 001601 compare 0 ,pdata ,3 
+0x20f7 001602 nbranch page_start ,true 
+0x20f8 001603 deposit am_addr 
+0x20f9 001604 store 1 ,mem_fhs_am_addr 
+0x20fa 001605 force 0 ,n_tx_slot 
+0x20fb 001606 force 0 ,freq_mode 
+:      001608 page_restart:
+0x20fc 001609 bpatch patch02_4 ,mem_patch02 
+0x20fd 001610 branch page_exit ,timeout 
+0x20fe 001611 call fetch_page_bt_adr 
+0x20ff 001612 arg param_rf_setup ,timeup 
+0x2100 001613 until clkn_rt ,meet 
+:      001614 page_rx_restart:
+0x2101 001615 bpatch patch02_5 ,mem_patch02 
+0x2102 001616 fetch 4 ,mem_page_clk 
+0x2103 001617 iforce bt_clk 
+0x2104 001618 increase 1 ,pdata 
+0x2105 001619 store 4 ,mem_page_clk 
+0x2106 001620 isolate1 mark_page_trainb ,mark 
+0x2107 001621 setflag true ,2 ,freq_mode 
+0x2108 001622 compare 0x00 ,bt_clk ,0x02 
+0x2109 001623 nbranch page_receive ,true 
+0x210a 001624 fetch 1 ,mem_page_transmit 
+0x210b 001625 increase 1 ,pdata 
+0x210c 001626 store 1 ,mem_page_transmit 
+0x210d 001627 call tx_radio_freq 
+0x210e 001628 call start_transmitter 
+0x210f 001629 call start_tx_native 
+0x2110 001630 call send_access_word 
+0x2111 001631 call end_of_packet 
+0x2112 001632 call page_check_train 
+0x2113 001633 branch page_restart 
+:      001634 page_exit:
+0x2114 001635 bpatch patch02_6 ,mem_patch02 
+0x2115 001636 disable master 
+0x2116 001637 fetch 2 ,mem_page_interval 
+0x2117 001638 rtn blank 
+0x2118 001639 force page_interval_timer ,queue 
+0x2119 001640 branch timer_init 
+:      001642 page_check_train:
+0x211a 001643 bpatch patch02_7 ,mem_patch02 
+0x211b 001644 fetch 1 ,mem_nfreq_index_page 
+0x211c 001645 increase -1 ,pdata 
+0x211d 001646 store 1 ,mem_nfreq_index_page 
+0x211e 001647 rtn positive 
+0x211f 001648 jam 31 ,mem_nfreq_index_page 
+0x2120 001649 fetch 1 ,mem_npage_index 
+0x2121 001650 increase -1 ,pdata 
+0x2122 001651 store 1 ,mem_npage_index 
+0x2123 001652 rtn positive 
+0x2124 001653 setflip mark_page_trainb ,mark 
+0x2125 001654 fetch 1 ,mem_npage 
+0x2126 001655 store 1 ,mem_npage_index 
+0x2127 001656 rtn 
+:      001658 page_receive:
+0x2128 001659 bpatch patch03_0 ,mem_patch03 
+0x2129 001660 call rx_radio_freq 
+0x212a 001661 call start_rx_native 
+0x212b 001662 call start_receiver 
+0x212c 001663 call wait_access_clkn_rt 
+0x212d 001664 branch page_sync ,sync 
+0x212e 001665 call page_check_train 
+0x212f 001666 branch page_rx_restart 
+:      001667 page_sync:
+0x2130 001668 call end_of_packet 
+0x2131 001669 fetch 1 ,mem_page_rcv 
+0x2132 001670 increase 1 ,pdata 
+0x2133 001671 store 1 ,mem_page_rcv 
+0x2134 001672 force 0 ,stop_watch 
+0x2135 001673 fetch 4 ,mem_page_clk 
+:      001674 page_send_fhs:
+0x2136 001675 bpatch patch03_1 ,mem_patch03 
+0x2137 001676 call rf_setup_time_master_slot 
+0x2138 001677 call fetch_page_bt_adr 
+0x2139 001678 increase 1 ,n_tx_slot 
+:      001679 page_send_fhs_continue:
+0x213a 001680 and_into 0x1fd ,bt_clk 
+0x213b 001681 and_into 0x1fc ,freq_mode 
+0x213c 001682 call tx_radio_freq 
+0x213d 001683 call start_transmitter 
+0x213e 001684 call start_tx_native 
+0x213f 001685 call send_access_word 
+0x2140 001686 deposit clkn_bt 
+0x2141 001687 store 4 ,mem_clkn_bt 
+0x2142 001688 force 0 ,am_addr 
+0x2143 001689 force type_fhs ,type 
+0x2144 001690 call scan_mode_whiten 
+0x2145 001691 call transmit_packet_whitened 
+:      001692 page_wait_fhs_reply:
+0x2146 001693 bpatch patch03_2 ,mem_patch03 
+0x2147 001694 call rf_setup_time_slave_slot 
+0x2148 001695 or_into 0x02 ,bt_clk 
+0x2149 001696 and_into 0x1fc ,freq_mode 
+0x214a 001697 call rx_radio_freq 
+0x214b 001698 call start_rx_native 
+0x214c 001699 call start_receiver 
+0x214d 001700 call wait_access_clkn_rt 
+0x214e 001701 call end_of_packet ,sync 
+0x214f 001702 branch page_wait_fhs_reply_ok ,sync 
+0x2150 001703 fetch 1 ,mem_fhs_wait_counter 
+0x2151 001704 branch page_restart ,blank 
+0x2152 001705 increase -1 ,pdata 
+0x2153 001706 store 1 ,mem_fhs_wait_counter 
+0x2154 001707 branch page_send_fhs 
+:      001709 page_wait_fhs_reply_ok:
+0x2155 001710 bpatch patch03_3 ,mem_patch03 
+0x2156 001711 fetch 1 ,mem_page_rcv_fhs 
+0x2157 001712 increase 1 ,pdata 
+0x2158 001713 store 1 ,mem_page_rcv_fhs 
+0x2159 001714 call prepare_newconn 
+:      001715 master_newconn_loop:
+0x215a 001716 call master_newconn_once 
+0x215b 001717 branch newconn_poll_responded ,sync 
+0x215c 001718 call new_conn_timeout 
+0x215d 001719 nbranch master_newconn_loop ,blank 
+0x215e 001720 branch page_restart 
+:      001722 newconn_poll_responded:
+0x215f 001723 bpatch patch03_4 ,mem_patch03 
+0x2160 001724 fetch 1 ,mem_state 
+0x2161 001725 set0 state_inpage ,pdata 
+0x2162 001726 store 1 ,mem_state 
+0x2163 001727 call newconn_init 
+0x2164 001728 disable master 
+0x2165 001729 rtn 
+:      001732 master_dispatch:
+0x2166 001733 bpatch patch03_5 ,mem_patch03 
+0x2167 001734 enable master 
+0x2168 001735 enable clknt 
+0x2169 001736 call role_switch_master 
+0x216a 001737 rtn user 
+0x216b 001738 call check_bt_disabled 
+0x216c 001739 call rf_setup_time_master_slot 
+0x216d 001740 add clkn_bt ,1 ,bt_clk 
+0x216e 001741 call fetch_self_bt_adr 
+0x216f 001742 force 0x03 ,freq_mode 
+0x2170 001743 call scheduler_tx_l2cap_pkt 
+0x2171 001744 call prepare_tx 
+0x2172 001745 call tx_radio_freq 
+0x2173 001746 call start_transmitter 
+0x2174 001747 call start_tx_native 
+0x2175 001748 call send_access_word 
+0x2176 001749 call transmit_packet 
+:      001750 master_loop:
+0x2177 001751 bpatch patch03_6 ,mem_patch03 
+0x2178 001752 call parse_lmp 
+0x2179 001753 call master_conn_recv_packet 
+0x217a 001754 nbranch master_notmatch ,match 
+0x217b 001755 call supervision_flush 
+0x217c 001756 call parse_l2cap 
+0x217d 001757 fetch 1 ,mem_master_rcvcnt 
+0x217e 001758 increase 1 ,pdata 
+0x217f 001759 store 1 ,mem_master_rcvcnt 
+:      001760 master_notmatch:
+0x2180 001761 bpatch patch03_7 ,mem_patch03 
+0x2181 001762 call scheduler_process 
+0x2182 001763 call check_master_disconnect 
+0x2183 001764 nrtn master 
+0x2184 001765 call check_attempt 
+0x2185 001766 nbranch master_attempt ,blank 
+:      001767 master_exit:
+0x2186 001768 disable master 
+0x2187 001769 rtn 
+:      001771 master_attempt:
+0x2188 001772 call prepare_tx 
+0x2189 001773 call master_conn_send_packet 
+0x218a 001774 branch master_loop 
+:      001777 check_master_disconnect:
+0x218b 001778 branch check_master_match ,match 
+0x218c 001779 call supervision_update 
+0x218d 001780 branch master_disconnect ,positive 
+:      001781 check_master_match:
+0x218e 001782 call check_disconnect_timeout 
+0x218f 001783 nbranch master_disconnect ,user 
+0x2190 001784 fetch 1 ,mem_state_map 
+0x2191 001785 rtnbit0 smap_name_req 
+0x2192 001786 rtnbit1 smap_name_res 
+0x2193 001787 fetch 1 ,mem_op 
+0x2194 001788 rtnbit1 op_disconn 
+0x2195 001789 call conn_timer_expired 
+0x2196 001790 nrtn blank 
+0x2197 001791 fetch 1 ,mem_nameres_cnt 
+0x2198 001792 increase -1 ,pdata 
+0x2199 001793 store 1 ,mem_nameres_cnt 
+0x219a 001794 nrtn blank 
+0x219b 001795 branch lmp_disconnect 
+:      001797 master_disconnect:
+0x219c 001798 bpatch patch04_0 ,mem_patch04 
+0x219d 001799 call quit_connection 
+0x219e 001800 disable master 
+0x219f 001801 fetch 1 ,mem_state_map 
+0x21a0 001802 bbit1 smap_name_req ,master_name_disconnect 
+0x21a1 001803 rtn 
+:      001805 master_name_disconnect:
+0x21a2 001806 fetch 1 ,mem_state_map 
+0x21a3 001807 rtnbit1 smap_name_res 
+:      001808 master_name_error:
+0x21a4 001809 arg mem_tmp_buffer ,contw 
+0x21a5 001810 arg 8 ,loopcnt 
+0x21a6 001811 branch memset0 
+:      001813 check_disconnect_timeout:
+0x21a7 001814 bpatch patch04_1 ,mem_patch04 
+0x21a8 001815 enable user 
+0x21a9 001816 fetch 1 ,mem_op 
+0x21aa 001817 rtnbit0 op_disconn 
+0x21ab 001818 call conn_timer_expired 
+0x21ac 001819 nrtn blank 
+0x21ad 001820 branch disable_user 
+:      001822 conn_timer_expired:
+0x21ae 001823 fetch 1 ,mem_conn_timer 
+0x21af 001824 increase -1 ,pdata 
+0x21b0 001825 store 1 ,mem_conn_timer 
+0x21b1 001826 rtn 
+:      001828 linkkey_ready:
+0x21b2 001829 bpatch patch04_2 ,mem_patch04 
+0x21b3 001830 fetch 1 ,mem_state 
+0x21b4 001831 bbit1 state_linkkey ,linkkey_set 
+0x21b5 001832 fetch 1 ,mem_pairing_auth 
+0x21b6 001833 branch linkkey_set ,blank 
+0x21b7 001834 jam defalt_pairing_auth ,mem_pairing_auth 
+0x21b8 001835 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+0x21b9 001836 call ui_ipc_send_event 
+0x21ba 001837 branch linkkey_set 
+:      001838 linkkey_set:
+0x21bb 001839 bpatch patch04_3 ,mem_patch04 
+0x21bc 001840 call context_traverse_linkkey 
+0x21bd 001841 fetch 1 ,mem_state 
+0x21be 001842 set1 state_linkkey ,pdata 
+0x21bf 001843 store 1 ,mem_state 
+0x21c0 001844 jam 1 ,mem_link_key_exists 
+0x21c1 001845 fetch 1 ,mem_conn_sm 
+0x21c2 001846 bne conn_sm_pairing ,linkkey_set_continue 
+:      001847 linkkey_set_continue:
+0x21c3 001848 rtn 
+:      001850 generate_linkkey_continue:
+0x21c4 001851 jam pairing_auth ,mem_pairing_auth 
+:      001852 clear_linkstate:
+0x21c5 001853 fetch 1 ,mem_state 
+0x21c6 001854 set0 state_linkkey ,pdata 
+0x21c7 001855 store 1 ,mem_state 
+0x21c8 001856 rtn 
+:      001860 role_switch_check:
+0x21c9 001861 bpatch patch04_4 ,mem_patch04 
+0x21ca 001862 disable user 
+0x21cb 001863 fetch 2 ,mem_tsniff 
+0x21cc 001864 arg 0xffff ,temp 
+0x21cd 001865 isub temp ,null 
+0x21ce 001866 nrtn zero 
+0x21cf 001867 fetch 4 ,mem_sniff_anchor 
+0x21d0 001868 branch role_switch_clkn ,clknt 
+0x21d1 001869 isub clke_bt ,pdata 
+0x21d2 001870 branch role_switch_clke 
+:      001871 role_switch_clkn:
+0x21d3 001872 isub clkn_bt ,pdata 
+:      001873 role_switch_clke:
+0x21d4 001874 sub pdata ,4 ,null 
+0x21d5 001875 nrtn positive 
+0x21d6 001876 force 0 ,pdata 
+0x21d7 001877 store 2 ,mem_tsniff 
+0x21d8 001878 branch enable_user 
+:      001882 role_switch_prepare:
+0x21d9 001883 copy pdata ,temp 
+0x21da 001884 bpatch patch04_5 ,mem_patch04 
+0x21db 001885 storet 4 ,mem_sniff_anchor 
+:      001886 role_switch_prepare0:
+0x21dc 001887 jam switch_flag_accept ,mem_switch_flag 
+0x21dd 001888 setarg 0xffff 
+0x21de 001889 store 2 ,mem_tsniff 
+0x21df 001890 jam 1 ,mem_sniff_attempt 
+0x21e0 001891 rtn 
+:      001894 role_switch_master:
+0x21e1 001895 bpatch patch04_6 ,mem_patch04 
+0x21e2 001896 call role_switch_check 
+0x21e3 001897 nrtn user 
+0x21e4 001898 disable user 
+0x21e5 001899 jam param_newconnto ,mem_newconnto_counter 
+0x21e6 001900 set0 mark_fhs_already_good ,mark 
+:      001901 roles_waitfhs_loop:
+0x21e7 001902 call rf_setup_time_master_slot 
+0x21e8 001903 call master_recv_packet 
+0x21e9 001904 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+0x21ea 001905 call new_conn_timeout 
+0x21eb 001906 nbranch roles_waitfhs_loop ,blank 
+:      001907 role_switch_fail_master:
+0x21ec 001908 bpatch patch04_7 ,mem_patch04 
+0x21ed 001909 disable user 
+0x21ee 001910 deposit clkn_bt 
+0x21ef 001911 store 4 ,mem_next_btclk 
+0x21f0 001912 enable clknt 
+0x21f1 001913 enable master 
+0x21f2 001914 jam bt_evt_switch_fail_master ,mem_fifo_temp 
+0x21f3 001915 branch ui_ipc_send_event 
+:      001917 roles_replyto_fhs:
+0x21f4 001918 bpatch patch05_0 ,mem_patch05 
+0x21f5 001919 call rf_setup_time_slave_slot 
+0x21f6 001920 arg type_id ,type 
+0x21f7 001921 call master_send_packet 
+0x21f8 001922 disable clknt 
+0x21f9 001923 disable master 
+0x21fa 001924 call apply_switch_clke 
+0x21fb 001925 call prepare_newconn 
+:      001926 roles_newconns_loop:
+0x21fc 001927 bpatch patch05_1 ,mem_patch05 
+0x21fd 001928 call slave_newconn_once 
+0x21fe 001929 branch roles_newconns_responded ,match 
+0x21ff 001930 call new_conn_timeout 
+0x2200 001931 nbranch roles_newconns_loop ,blank 
+0x2201 001932 branch role_switch_fail_master 
+:      001933 roles_newconns_responded:
+0x2202 001934 fetch 1 ,mem_mode 
+0x2203 001935 set0 mode_master ,pdata 
+0x2204 001936 store 1 ,mem_mode 
+0x2205 001937 call supervision_flush 
+0x2206 001938 call calc_clke_offset 
+0x2207 001939 enable user 
+0x2208 001940 jam bt_evt_switch_success_master ,mem_fifo_temp 
+0x2209 001941 branch ui_ipc_send_event 
+:      001946 context_load:
+0x220a 001947 bpatch patch05_2 ,mem_patch05 
+0x220b 001948 set1 mark_context ,mark 
+0x220c 001949 deposit rega 
+0x220d 001950 store 2 ,mem_context_ptr 
+0x220e 001951 force context_size ,loopcnt 
+0x220f 001952 arg mem_le_state ,contw 
+0x2210 001953 add rega ,coffset_mode ,contr 
+0x2211 001954 ifetch 1 ,contr 
+0x2212 001955 copy rega ,contr 
+0x2213 001956 bbit1 mode_le ,memcpy 
+0x2214 001957 arg mem_state ,contw 
+0x2215 001958 call memcpy 
+0x2216 001959 disable attempt 
+0x2217 001960 fetch 1 ,mem_amaddr 
+0x2218 001961 iforce am_addr 
+0x2219 001962 jam 1 ,mem_current_sniff_attempt 
+0x221a 001963 branch context_load_master ,master 
+0x221b 001964 jam 1 ,mem_current_sniff_attempt 
+:      001965 context_load_master:
+0x221c 001966 fetch 1 ,mem_state 
+0x221d 001967 rtnbit0 state_insniff 
+0x221e 001968 fetch 1 ,mem_sniff_attempt 
+0x221f 001969 store 1 ,mem_current_sniff_attempt 
+0x2220 001970 fetch 1 ,mem_sniff_timeout 
+0x2221 001971 store 1 ,mem_current_sniff_timeout 
+0x2222 001972 rtn 
+:      001974 context_save:
+0x2223 001975 bpatch patch05_3 ,mem_patch05 
+0x2224 001976 fetch 2 ,mem_context_ptr 
+0x2225 001977 iforce contw 
+0x2226 001978 force context_size ,loopcnt 
+0x2227 001979 arg mem_le_state ,contr 
+0x2228 001980 branch memcpy ,le 
+0x2229 001981 arg mem_state ,contr 
+0x222a 001982 branch memcpy 
+:      001986 context_get_next:
+0x222b 001987 arg context_num ,loopcnt 
+0x222c 001988 fetcht 1 ,mem_current_context 
+:      001989 context_get_next_loop:
+0x222d 001990 increase 1 ,temp 
+0x222e 001991 compare context_num ,temp ,0xff 
+0x222f 001992 nbranch context_get_next_cont ,true 
+0x2230 001993 arg 0 ,temp 
+:      001994 context_get_next_cont:
+0x2231 001995 storet 1 ,mem_current_context 
+0x2232 001996 mul32 temp ,context_size ,pdata 
+0x2233 001997 arg mem_context ,rega 
+0x2234 001998 iadd rega ,rega 
+0x2235 001999 ifetch 1 ,rega 
+0x2236 002000 bbit1 state_insniff ,context_get_next_sniff 
+0x2237 002001 rtnbit1 state_inconn 
+0x2238 002002 rtnbit1 state_inpage 
+:      002003 context_get_next_sniff:
+0x2239 002004 loop context_get_next_loop 
+0x223a 002005 rtn 
+:      002007 context_new:
+0x223b 002008 bpatch patch05_4 ,mem_patch05 
+0x223c 002009 arg context_search_empty ,regc 
+0x223d 002010 call context_search 
+0x223e 002011 nrtn zero 
+0x223f 002012 deposit rega 
+0x2240 002013 store 2 ,mem_context_ptr 
+0x2241 002014 force 0 ,null 
+0x2242 002015 rtn 
+:      002019 context_check_all_wack:
+0x2243 002020 call check_esco_amaddr 
+0x2244 002021 branch context_check_esco_wack ,true 
+0x2245 002022 fetch 2 ,mem_context_ptr 
+0x2246 002023 add pdata ,coffset_arq ,contw 
+0x2247 002024 fetch 1 ,mem_arq 
+0x2248 002025 istore 1 ,contw 
+0x2249 002026 arg context_check_a_wack ,regc 
+0x224a 002027 branch context_search 
+:      002029 context_check_esco_wack:
+0x224b 002030 fetch 1 ,mem_arq 
+0x224c 002031 isolate1 wack ,pdata 
+0x224d 002032 branch context_esco_wack ,true 
+0x224e 002033 force 1 ,null 
+0x224f 002034 rtn 
+:      002035 context_esco_wack:
+0x2250 002036 force 0 ,null 
+0x2251 002037 rtn 
+:      002040 context_check_idle:
+0x2252 002041 arg context_check_inconn ,regc 
+0x2253 002042 branch context_search 
+:      002044 context_traverse_linkkey:
+0x2254 002045 fetcht 2 ,mem_context_ptr 
+0x2255 002046 arg context_traverse_clearkey ,regc 
+0x2256 002047 branch context_search 
+:      002051 context_search_conn_handle:
+0x2257 002052 fetcht 1 ,mem_hci_conn_handle 
+:      002053 context_search_conn_handle2:
+0x2258 002054 arg context_search_handle ,regc 
+0x2259 002055 branch context_search 
+:      002057 context_search_plap:
+0x225a 002058 bpatch patch05_5 ,mem_patch05 
+0x225b 002059 fetcht 6 ,mem_hci_plap 
+:      002060 context_search_plap2:
+0x225c 002061 arg context_search_lap ,regc 
+0x225d 002062 branch context_search 
+:      002064 context_search_insniff:
+0x225e 002065 arg context_search_sniff ,regc 
+0x225f 002066 branch context_search 
+:      002068 context_search_sniff_window:
+0x2260 002069 arg context_search_window ,regc 
+:      002070 context_search:
+0x2261 002071 bpatch patch05_6 ,mem_patch05 
+0x2262 002072 arg mem_context ,rega 
+0x2263 002073 arg context_num ,loopcnt 
+:      002074 context_search_loop:
+0x2264 002075 ifetch 1 ,rega 
+0x2265 002076 copy regc ,pc 
+:      002077 context_search_next:
+0x2266 002078 increase context_size ,rega 
+0x2267 002079 loop context_search_loop 
+0x2268 002080 force 1 ,null 
+0x2269 002081 rtn 
+:      002083 context_search_empty:
+0x226a 002084 bbit1 state_inconn ,context_search_next 
+0x226b 002085 bbit1 state_inpage ,context_search_next 
+0x226c 002086 force 0 ,null 
+0x226d 002087 rtn 
+:      002089 context_search_lap:
+0x226e 002090 bbit1 state_inpage ,context_search_lap_cont 
+0x226f 002091 bbit0 state_inconn ,context_search_next 
+:      002092 context_search_lap_cont:
+0x2270 002093 add rega ,coffset_plap ,contr 
+0x2271 002094 ifetch 6 ,contr 
+0x2272 002095 isub temp ,null 
+0x2273 002096 rtn zero 
+0x2274 002097 branch context_search_next 
+:      002099 context_search_handle:
+0x2275 002100 bbit0 state_inconn ,context_search_next 
+0x2276 002101 add rega ,coffset_conn_handle ,contr 
+0x2277 002102 ifetch 1 ,contr 
+0x2278 002103 isub temp ,null 
+0x2279 002104 rtn zero 
+0x227a 002105 branch context_search_next 
+:      002107 context_search_sniff:
+0x227b 002108 bbit0 state_insniff ,context_search_next 
+:      002109 context_search_sniff_loop:
+0x227c 002110 call context_get_anchor 
+0x227d 002111 call sign_pdata_temp 
+0x227e 002112 isub temp ,pdata 
+0x227f 002113 increase 1 ,pdata 
+0x2280 002114 branch context_search_sniff_miss ,positive 
+0x2281 002115 copy contr ,regb 
+0x2282 002116 store 9 ,mem_temp 
+0x2283 002117 fetch 1 ,mem_le_sc_calc 
+0x2284 002118 nbranch context_search_sniff_sc ,blank 
+0x2285 002119 fetch 9 ,mem_temp 
+0x2286 002120 copy regb ,contr 
+0x2287 002121 increase 5 ,pdata 
+0x2288 002122 branch context_search_meet1 
+:      002123 context_search_sniff_sc:
+0x2289 002124 fetch 9 ,mem_temp 
+0x228a 002125 copy regb ,contr 
+0x228b 002126 increase 20 ,pdata 
+:      002127 context_search_meet1:
+0x228c 002128 nbranch context_search_next ,positive 
+:      002129 context_search_meet:
+0x228d 002130 copy temp ,bt_clk 
+0x228e 002131 call context_next_anchor 
+0x228f 002132 force 0 ,null 
+0x2290 002133 rtn 
+:      002136 context_search_sniff_miss:
+0x2291 002137 iforce regb 
+0x2292 002138 add rega ,coffset_tsniff ,contr 
+0x2293 002139 ifetch 2 ,contr 
+0x2294 002140 branch context_search_meet ,blank 
+0x2295 002141 call context_next_anchor 
+0x2296 002142 branch context_search_sniff_loop 
+:      002144 sign_pdata_temp:
+0x2297 002145 rshift16 pdata ,timeup 
+0x2298 002146 rshift8 timeup ,timeup 
+0x2299 002147 branch sign_pdata_temp_p0 ,zero 
+0x229a 002148 compare 0xf ,timeup ,0xf 
+0x229b 002149 nrtn true 
+0x229c 002150 rshift16 temp ,timeup 
+0x229d 002151 rshift8 timeup ,timeup 
+0x229e 002152 nrtn zero 
+0x229f 002153 set1 28 ,temp 
+0x22a0 002154 rtn 
+:      002155 sign_pdata_temp_p0:
+0x22a1 002156 rshift16 temp ,timeup 
+0x22a2 002157 rshift8 timeup ,timeup 
+0x22a3 002158 compare 0xf ,timeup ,0xf 
+0x22a4 002159 nrtn true 
+0x22a5 002160 set1 28 ,pdata 
+0x22a6 002161 rtn 
+:      002163 context_check_inconn:
+0x22a7 002164 bbit0 state_inconn ,context_search_next 
+0x22a8 002165 force 0 ,null 
+0x22a9 002166 rtn 
+:      002168 context_check_a_wack:
+0x22aa 002169 bbit0 state_inconn ,context_search_next 
+0x22ab 002170 add rega ,coffset_mode ,contr 
+0x22ac 002171 ifetch 1 ,contr 
+0x22ad 002172 bbit1 mode_le ,context_search_next 
+0x22ae 002173 add rega ,coffset_arq ,contr 
+0x22af 002174 ifetch 1 ,contr 
+0x22b0 002175 bbit0 wack ,context_search_next 
+0x22b1 002176 force 0 ,null 
+0x22b2 002177 rtn 
+:      002179 context_get_anchor:
+0x22b3 002180 add rega ,coffset_mode ,contr 
+0x22b4 002181 ifetcht 1 ,contr 
+0x22b5 002182 deposit clkn_bt 
+0x22b6 002183 isolate1 mode_master ,temp 
+0x22b7 002184 add rega ,coffset_sniff_anchor ,contr 
+0x22b8 002185 ifetcht 4 ,contr 
+0x22b9 002186 rtn true 
+0x22ba 002187 add rega ,coffset_clk_offset ,contr 
+0x22bb 002188 ifetch 6 ,contr 
+0x22bc 002189 call calc_clke2 
+0x22bd 002190 deposit clke_bt 
+0x22be 002191 rtn 
+:      002193 context_next_anchor:
+0x22bf 002194 add rega ,coffset_tsniff ,contr 
+0x22c0 002195 add rega ,coffset_sniff_anchor ,contw 
+0x22c1 002196 ifetch 2 ,contr 
+0x22c2 002197 iadd temp ,timeup 
+0x22c3 002198 deposit timeup 
+0x22c4 002199 istore 4 ,contw 
+0x22c5 002200 branch le_context_nexthop 
+:      002203 context_search_window:
+0x22c6 002204 bbit0 state_insniff ,context_search_next 
+0x22c7 002205 call context_get_anchor 
+0x22c8 002206 iadd stop_watch ,pdata 
+0x22c9 002207 iadd stop_watch ,pdata 
+0x22ca 002208 iadd queue ,pdata 
+0x22cb 002209 isub temp ,null 
+0x22cc 002210 nbranch context_search_next ,positive 
+0x22cd 002211 force 0 ,null 
+0x22ce 002212 rtn 
+:      002214 context_traverse_clearkey:
+0x22cf 002215 bbit0 state_inconn ,context_search_next 
+0x22d0 002216 deposit temp 
+0x22d1 002217 isub rega ,null 
+0x22d2 002218 branch context_search_next ,null 
+0x22d3 002219 add rega ,coffset_mode ,contr 
+0x22d4 002220 ifetch 1 ,contr 
+0x22d5 002221 bbit1 mode_le ,context_search_next 
+0x22d6 002222 ifetch 1 ,rega 
+0x22d7 002223 set0 state_linkkey ,pdata 
+0x22d8 002224 istore 1 ,rega 
+0x22d9 002225 branch context_search_next 
+:      002228 master_conn_send_packet:
+0x22da 002229 bpatch patch05_7 ,mem_patch05 
+0x22db 002230 call rf_setup_time_master_slot 
+:      002231 master_send_packet:
+0x22dc 002232 add clkn_bt ,1 ,bt_clk 
+0x22dd 002233 call fetch_self_bt_adr 
+0x22de 002234 force 0x03 ,freq_mode 
+0x22df 002235 call tx_radio_freq 
+0x22e0 002236 call start_transmitter 
+0x22e1 002237 call start_tx_native 
+0x22e2 002238 call send_access_word 
+0x22e3 002239 branch transmit_packet 
+:      002241 master_conn_recv_packet:
+0x22e4 002242 bpatch patch06_0 ,mem_patch06 
+0x22e5 002243 call rf_setup_time_slave_slot 
+:      002244 master_recv_packet:
+0x22e6 002245 add clkn_bt ,1 ,bt_clk 
+0x22e7 002246 call fetch_self_bt_adr 
+0x22e8 002247 force 0x03 ,freq_mode 
+0x22e9 002248 call rx_radio_freq 
+0x22ea 002249 call init_rx_packet_flags 
+0x22eb 002250 call prep_crypt 
+0x22ec 002251 call start_rx_native 
+0x22ed 002252 call start_receiver 
+:      002253 master_rx_conn_finish_packet:
+0x22ee 002254 call wait_access_clkn_rt 
+0x22ef 002255 nrtn sync 
+0x22f0 002256 call save_rssi 
+0x22f1 002257 branch receive_packet 
+:      002261 master_newconn_once:
+0x22f2 002262 bpatch patch06_1 ,mem_patch06 
+0x22f3 002263 fetch 1 ,mem_fhs_am_addr 
+0x22f4 002264 iforce am_addr 
+0x22f5 002265 force type_poll ,type 
+0x22f6 002266 call master_conn_send_packet 
+0x22f7 002267 branch master_conn_recv_packet 
+:      002278 inquiry_scan_dispatch:
+0x22f8 002279 fetch 1 ,mem_scan_mode 
+0x22f9 002280 rtnbit0 inq_scan_mode 
+0x22fa 002281 force iscan_interval_timer ,queue 
+0x22fb 002282 call timer_check 
+0x22fc 002283 nrtn blank 
+0x22fd 002284 fetcht 2 ,mem_iscan_window 
+0x22fe 002285 force 4 ,queue 
+0x22ff 002286 call sniff_check_window 
+0x2300 002287 rtn user 
+0x2301 002288 call inquiry_scan_start 
+0x2302 002289 force iscan_interval_timer ,queue 
+0x2303 002290 fetch 2 ,mem_iscan_interval 
+0x2304 002291 nbranch timer_init ,sync 
+0x2305 002292 random pdata 
+0x2306 002293 iand mask3ff ,pdata 
+0x2307 002294 branch timer_init 
+:      002297 inquiry_scan_start:
+0x2308 002298 bpatch patch06_2 ,mem_patch06 
+0x2309 002299 jam 0 ,mem_fhs_am_addr 
+0x230a 002300 disable clknt 
+0x230b 002301 disable attempt 
+0x230c 002302 call afh_clear 
+0x230d 002303 and clkn_bt ,0x1fc ,bt_clk 
+0x230e 002304 force 0x01 ,freq_mode 
+0x230f 002305 call fetch_giac 
+0x2310 002306 call rx_radio_freq 
+0x2311 002307 setflip mark_inquiry_state ,mark 
+0x2312 002308 fetch 1 ,mem_inquiryscan_waitcnt 
+0x2313 002309 increase 1 ,pdata 
+0x2314 002310 store 1 ,mem_inquiryscan_waitcnt 
+0x2315 002311 call fetch_diac 
+0x2316 002312 call start_receiver 
+0x2317 002313 call wait_access_forever 
+0x2318 002314 nrtn sync 
+0x2319 002315 bpatch patch06_3 ,mem_patch06 
+0x231a 002316 force 0 ,stop_watch 
+0x231b 002317 call shutdown_radio 
+0x231c 002318 fetch 1 ,mem_inquiryscan_rcvcnt 
+0x231d 002319 increase 1 ,pdata 
+0x231e 002320 store 1 ,mem_inquiryscan_rcvcnt 
+0x231f 002321 call fetch_giac 
+0x2320 002322 call rf_setup_time_slave_slot 
+0x2321 002323 or_into 0x002 ,bt_clk 
+0x2322 002324 force 0x01 ,freq_mode 
+0x2323 002325 call tx_radio_freq 
+0x2324 002326 call fetch_diac 
+0x2325 002327 call start_transmitter 
+0x2326 002328 call start_tx_external 
+0x2327 002329 deposit clkn_bt 
+0x2328 002330 store 4 ,mem_clkn_bt 
+0x2329 002331 call send_access_word 
+0x232a 002332 force type_fhs ,type 
+0x232b 002333 force 0 ,am_addr 
+0x232c 002334 call scan_mode_whiten 
+0x232d 002335 call transmit_packet_whitened 
+0x232e 002336 call send_eir 
+0x232f 002337 and_into 0x1fd ,bt_clk 
+0x2330 002338 increase 1 ,n_tx_slot 
+0x2331 002339 rtn 
+:      002341 send_eir:
+0x2332 002342 bpatch patch06_4 ,mem_patch06 
+0x2333 002343 fetch 1 ,mem_eir_enable 
+0x2334 002344 rtn blank 
+0x2335 002345 arg mem_eir ,contw 
+0x2336 002346 fetch 1 ,mem_local_name_length 
+0x2337 002347 copy pdata ,loopcnt 
+0x2338 002348 increase 1 ,pdata 
+0x2339 002349 istore 1 ,contw 
+0x233a 002350 copy contw ,temp 
+0x233b 002351 increase 1 ,pdata 
+0x233c 002352 store 2 ,mem_tx_len 
+0x233d 002353 copy temp ,contw 
+0x233e 002354 setarg 0x09 
+0x233f 002355 istore 1 ,contw 
+0x2340 002356 arg mem_local_name ,contr 
+0x2341 002357 call memcpy 
+0x2342 002359 arg mem_all_uuid_128bits ,regc 
+0x2343 002360 arg 4 ,loopcnt 
+0x2344 002361 call get_all_uuid 
+0x2345 002362 arg mem_all_uuid_16bits ,regc 
+0x2346 002363 arg 1 ,loopcnt 
+0x2347 002364 call get_all_uuid 
+0x2348 002366 force type_dm3 ,type 
+0x2349 002367 jam 2 ,mem_tx_lch 
+0x234a 002368 setarg mem_eir 
+0x234b 002369 store 2 ,mem_txptr 
+0x234c 002370 call rf_setup_time_slave_slot 
+0x234d 002371 call tx_radio_freq 
+0x234e 002372 call start_transmitter 
+0x234f 002373 call start_tx_external 
+0x2350 002374 call send_access_word 
+0x2351 002375 call scan_mode_whiten 
+0x2352 002376 call transmit_packet_whitened 
+0x2353 002377 rtn 
+:      002380 get_all_uuid:
+0x2354 002381 copy contw ,temp 
+0x2355 002382 copy regc ,contr 
+0x2356 002383 ifetch 1 ,contr 
+0x2357 002384 rtn blank 
+:      002385 lshift_loop:
+0x2358 002386 lshift pdata ,pdata 
+0x2359 002387 loop lshift_loop 
+0x235a 002388 copy pdata ,rega 
+0x235b 002389 increase 2 ,pdata 
+0x235c 002390 copy pdata ,queue 
+0x235d 002391 fetch 2 ,mem_tx_len 
+0x235e 002392 iadd queue ,pdata 
+0x235f 002393 store 2 ,mem_tx_len 
+0x2360 002394 copy temp ,contw 
+0x2361 002395 copy rega ,pdata 
+0x2362 002396 increase 1 ,pdata 
+0x2363 002397 istore 1 ,contw 
+0x2364 002398 copy regc ,contr 
+0x2365 002399 ifetch 1 ,contr 
+0x2366 002400 ifetch 1 ,contr 
+0x2367 002401 istore 1 ,contw 
+0x2368 002402 copy rega ,loopcnt 
+0x2369 002403 branch memcpy 
+:      002409 page_scan_dispatch:
+0x236a 002410 fetch 1 ,mem_scan_mode 
+0x236b 002411 rtnbit0 page_scan_mode 
+0x236c 002412 force pscan_interval_timer ,queue 
+0x236d 002413 call timer_check 
+0x236e 002414 nrtn blank 
+0x236f 002415 fetcht 2 ,mem_pscan_window 
+0x2370 002416 force 40 ,queue 
+0x2371 002417 call sniff_check_window 
+0x2372 002418 rtn user 
+0x2373 002419 force 0 ,am_addr 
+0x2374 002420 jam param_pagerespto ,mem_fhs_wait_counter 
+0x2375 002421 set0 mark_fhs_already_good ,mark 
+0x2376 002422 call page_scan_start 
+0x2377 002423 force pscan_interval_timer ,queue 
+0x2378 002424 fetch 2 ,mem_pscan_interval 
+0x2379 002425 branch timer_init 
+:      002428 page_scan_start:
+0x237a 002429 bpatch patch06_5 ,mem_patch06 
+0x237b 002430 disable clknt 
+0x237c 002431 call afh_clear 
+0x237d 002432 fetch 1 ,mem_pagescan_waitcnt 
+0x237e 002433 increase 1 ,pdata 
+0x237f 002434 store 1 ,mem_pagescan_waitcnt 
+0x2380 002435 force 0 ,n_tx_slot 
+0x2381 002436 call fetch_self_bt_adr 
+0x2382 002437 add clkn_bt ,1 ,bt_clk 
+0x2383 002438 force 0x02 ,freq_mode 
+0x2384 002439 bpatch patch06_6 ,mem_patch06 
+0x2385 002440 call rx_radio_freq 
+0x2386 002441 call start_receiver 
+0x2387 002442 call wait_access_forever 
+0x2388 002443 nrtn sync 
+0x2389 002444 call shutdown_radio 
+0x238a 002445 fetch 1 ,mem_pagescan_rcvcnt 
+0x238b 002446 increase 1 ,pdata 
+0x238c 002447 store 1 ,mem_pagescan_rcvcnt 
+0x238d 002448 force 0 ,stop_watch 
+0x238e 002449 call rf_setup_time_slave_slot 
+0x238f 002450 or_into 0x002 ,bt_clk 
+0x2390 002451 force 0x01 ,freq_mode 
+0x2391 002452 call tx_radio_freq 
+0x2392 002453 call start_transmitter 
+0x2393 002454 call start_tx_external 
+0x2394 002455 call send_access_word 
+0x2395 002456 call end_of_packet 
+0x2396 002457 force 0 ,am_addr 
+0x2397 002458 arg param_rf_setup ,timeup 
+0x2398 002459 until clke_rt ,meet 
+0x2399 002460 or_into 0x03 ,clke_bt 
+0x239a 002461 and_into 0x1fd ,bt_clk 
+:      002462 page_scan_wait_fhs_restart:
+0x239b 002463 bpatch patch06_7 ,mem_patch06 
+0x239c 002464 increase 1 ,n_tx_slot 
+0x239d 002465 call rx_radio_freq 
+0x239e 002466 call start_receiver 
+0x239f 002467 call wait_access_mhalfbnd 
+0x23a0 002468 nbranch page_scan_wait_fhs_again ,sync 
+0x23a1 002469 call scan_mode_whiten 
+0x23a2 002470 call receive_packet_whitened 
+0x23a3 002471 bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+:      002472 page_scan_wait_fhs_again:
+0x23a4 002473 bpatch patch07_0 ,mem_patch07 
+0x23a5 002474 fetch 1 ,mem_fhs_wait_counter 
+0x23a6 002475 rtn blank 
+0x23a7 002476 increase -1 ,pdata 
+0x23a8 002477 store 1 ,mem_fhs_wait_counter 
+0x23a9 002478 call rf_setup_time_master_slot 
+0x23aa 002479 branch page_scan_wait_fhs_restart 
+:      002482 page_scan_reply_to_fhs:
+0x23ab 002483 bpatch patch07_1 ,mem_patch07 
+0x23ac 002484 set0 1 ,clke_bt 
+0x23ad 002485 set1 0 ,clke_bt 
+0x23ae 002486 fetch 1 ,mem_pagescan_rcvfhscnt 
+0x23af 002487 increase 1 ,pdata 
+0x23b0 002488 store 1 ,mem_pagescan_rcvfhscnt 
+0x23b1 002489 call rf_setup_time_slave_slot 
+0x23b2 002490 or_into 0x02 ,bt_clk 
+0x23b3 002491 call tx_radio_freq 
+0x23b4 002492 call start_transmitter 
+0x23b5 002493 call start_tx_external 
+0x23b6 002494 call send_access_word 
+0x23b7 002495 call end_of_packet 
+:      002496 slave_apply_clke_bt:
+0x23b8 002497 compare 0x03 ,clke_bt ,0x03 
+0x23b9 002498 branch slave_apply_clke_bt_now ,true 
+0x23ba 002499 until null ,mhalfbnd 
+0x23bb 002500 branch slave_apply_clke_bt 
+:      002501 slave_apply_clke_bt_now:
+0x23bc 002502 fetch 4 ,mem_clke_bt 
+0x23bd 002503 or_into 0x03 ,pdata 
+0x23be 002504 icopy clke_bt 
+:      002506 start_slave_connection:
+0x23bf 002507 bpatch patch07_2 ,mem_patch07 
+0x23c0 002508 fetch 6 ,extm_lap 
+0x23c1 002509 store 6 ,mem_plap 
+0x23c2 002510 call prepare_newconn 
+:      002511 slave_newconn_loop:
+0x23c3 002512 call slave_newconn_once 
+0x23c4 002513 branch sconn_successful ,match 
+0x23c5 002514 call new_conn_timeout 
+0x23c6 002515 nbranch slave_newconn_loop ,blank 
+0x23c7 002516 rtn 
+:      002519 sconn_successful:
+0x23c8 002520 bpatch patch07_3 ,mem_patch07 
+0x23c9 002521 call newconn_init 
+0x23ca 002522 call context_new 
+0x23cb 002523 nrtn zero 
+0x23cc 002524 jam 0 ,mem_mode 
+0x23cd 002525 call calc_clke_offset 
+0x23ce 002526 branch context_save 
+:      002531 slave_dispatch:
+0x23cf 002532 bpatch patch07_4 ,mem_patch07 
+0x23d0 002533 call calc_clke 
+0x23d1 002534 call role_switch_slave 
+0x23d2 002535 rtn user 
+:      002536 slave_loop:
+0x23d3 002537 bpatch patch07_5 ,mem_patch07 
+0x23d4 002538 call check_bt_disabled 
+0x23d5 002539 call scheduler_process 
+0x23d6 002540 call slave_conn_recv_packet 
+0x23d7 002541 nbranch slave_notmatch ,match 
+0x23d8 002542 call supervision_flush 
+0x23d9 002543 call scheduler_tx_l2cap_pkt 
+0x23da 002544 call prepare_tx 
+0x23db 002545 call slave_conn_send_packet 
+0x23dc 002546 call parse_l2cap 
+0x23dd 002547 call parse_lmp 
+0x23de 002548 fetch 1 ,mem_slave_rcvcnt 
+0x23df 002549 increase 1 ,pdata 
+0x23e0 002550 store 1 ,mem_slave_rcvcnt 
+0x23e1 002551 call calc_clke_offset 
+:      002552 slave_notmatch:
+0x23e2 002553 bpatch patch07_6 ,mem_patch07 
+0x23e3 002554 call lpm_set_mult 
+0x23e4 002555 call supervision_update 
+0x23e5 002556 branch slave_disconnect ,positive 
+0x23e6 002557 call check_disconnect_timeout 
+0x23e7 002558 nbranch slave_disconnect ,user 
+0x23e8 002559 call check_attempt 
+0x23e9 002560 nbranch slave_loop ,blank 
+0x23ea 002561 rtn 
+:      002563 slave_disconnect:
+0x23eb 002564 bpatch patch07_7 ,mem_patch07 
+0x23ec 002565 jam 0 ,mem_tester_emulate 
+0x23ed 002566 jam 0 ,mem_debug_config 
+0x23ee 002567 call quit_connection 
+0x23ef 002568 set0 mark_testmode ,mark 
+0x23f0 002569 call test_enable_white 
+0x23f1 002570 fetch 1 ,mem_state 
+0x23f2 002571 rtn 
+:      002574 role_switch_slave:
+0x23f3 002575 bpatch patch08_0 ,mem_patch08 
+0x23f4 002576 call role_switch_check 
+0x23f5 002577 nrtn user 
+0x23f6 002578 copy am_addr ,temp 
+0x23f7 002579 call get_free_amaddr 
+0x23f8 002580 store 1 ,mem_fhs_am_addr 
+0x23f9 002581 copy temp ,am_addr 
+0x23fa 002582 jam param_newconnto ,mem_newconnto_counter 
+:      002583 roles_sendfhs_loop:
+0x23fb 002584 bpatch patch08_1 ,mem_patch08 
+0x23fc 002585 call rf_setup_time_master_slot 
+0x23fd 002586 force type_fhs ,type 
+0x23fe 002587 call slave_send_access 
+0x23ff 002588 deposit clkn_bt 
+0x2400 002589 store 4 ,mem_clkn_bt 
+0x2401 002590 call transmit_packet 
+0x2402 002591 call rf_setup_time_slave_slot 
+0x2403 002592 enable user3 
+0x2404 002593 call slave_receive_access 
+0x2405 002594 branch roles_got_fhs_reply ,sync 
+0x2406 002595 call shutdown_radio 
+0x2407 002596 call new_conn_timeout 
+0x2408 002597 nbranch roles_sendfhs_loop ,blank 
+0x2409 002598 rtnmark0 mark_accept_switch 
+0x240a 002599 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x240b 002600 set1 mark_switch_initiated ,mark 
+0x240c 002601 rtn 
+:      002602 roles_got_fhs_reply:
+0x240d 002603 enable clknt 
+0x240e 002604 call prepare_newconn 
+0x240f 002605 call afh_clear 
+:      002606 roles_newconn_loop:
+0x2410 002607 bpatch patch08_2 ,mem_patch08 
+0x2411 002608 call master_newconn_once 
+0x2412 002609 branch roles_newconn_responded ,sync 
+0x2413 002610 call new_conn_timeout 
+0x2414 002611 nbranch roles_newconn_loop ,blank 
+0x2415 002612 disable clknt 
+0x2416 002613 deposit clke_bt 
+0x2417 002614 store 4 ,mem_next_btclk 
+0x2418 002615 rtn 
+:      002616 roles_newconn_responded:
+0x2419 002617 enable master 
+0x241a 002618 bmark0 mark_accept_switch ,roles_newconn_nolmp 
+0x241b 002619 set0 mark_accept_switch ,mark 
+0x241c 002620 jam lmp_accepted ,mem_lmo_opcode2 
+0x241d 002621 jam lmp_host_connection_req ,mem_lmi_opcode2 
+0x241e 002622 call tid_set_reply 
+:      002623 roles_newconn_nolmp:
+0x241f 002624 deposit am_addr 
+0x2420 002625 store 1 ,mem_amaddr 
+0x2421 002626 force 0 ,pdata 
+0x2422 002627 store 6 ,mem_clk_offset 
+0x2423 002628 fetch 1 ,mem_mode 
+0x2424 002629 set1 mode_master ,pdata 
+0x2425 002630 store 1 ,mem_mode 
+0x2426 002631 call supervision_flush 
+0x2427 002632 disable master 
+0x2428 002633 enable user 
+0x2429 002634 rtn 
+:      002638 init_rx_packet_flags:
+0x242a 002639 bpatch patch08_3 ,mem_patch08 
+0x242b 002640 disable match 
+0x242c 002641 set0 mark_loopback ,mark 
+0x242d 002642 set0 mark_am_addr_broadcast ,mark 
+0x242e 002643 set0 mark_longpacket ,mark 
+0x242f 002644 set0 mark_old_packet ,mark 
+0x2430 002645 fetch 1 ,mem_arq 
+0x2431 002646 set0 arqnx ,pdata 
+0x2432 002647 set1 flowx ,pdata 
+0x2433 002648 store 1 ,mem_arq 
+0x2434 002649 rtn 
+:      002651 prepare_newconn:
+0x2435 002652 bpatch patch08_4 ,mem_patch08 
+0x2436 002653 jam param_newconnto ,mem_newconnto_counter 
+0x2437 002654 jam param_newconn_arq ,mem_arq 
+0x2438 002655 fetch 2 ,mem_rx_window_init 
+0x2439 002656 store 2 ,mem_rx_window 
+0x243a 002657 deposit clkn_bt 
+0x243b 002658 store 4 ,mem_next_btclk 
+0x243c 002659 rtn clknt 
+0x243d 002660 deposit clke_bt 
+0x243e 002661 store 4 ,mem_next_btclk 
+0x243f 002662 rtn 
+:      002664 newconn_init:
+0x2440 002665 bpatch patch08_5 ,mem_patch08 
+0x2441 002666 call init_lmp_reinit 
+0x2442 002667 call new_conn_handle 
+0x2443 002668 store 1 ,mem_conn_handle 
+0x2444 002669 setarg 0 
+0x2445 002670 store 2 ,mem_l2cap_rxbuff1_len 
+0x2446 002671 setarg param_supervision_to 
+0x2447 002672 store 2 ,mem_supervision_to 
+0x2448 002673 fetch 1 ,mem_state 
+0x2449 002674 set1 state_inconn ,pdata 
+0x244a 002675 store 1 ,mem_state 
+0x244b 002676 jam 0 ,mem_op 
+0x244c 002677 jam 0 ,mem_state_map 
+0x244d 002678 jam 0 ,mem_lpm_current_mult 
+0x244e 002679 branch supervision_flush 
+:      002682 clear_linkkey:
+0x244f 002683 bpatch patch08_6 ,mem_patch08 
+0x2450 002684 force 0 ,pdata 
+0x2451 002685 store 8 ,mem_link_key 
+0x2452 002686 istore 8 ,contw 
+0x2453 002687 call clear_linkstate 
+0x2454 002688 branch context_traverse_linkkey 
+:      002690 new_conn_timeout:
+0x2455 002691 fetch 1 ,mem_newconnto_counter 
+0x2456 002692 increase -1 ,pdata 
+0x2457 002693 store 1 ,mem_newconnto_counter 
+0x2458 002694 rtn 
+:      002696 new_conn_handle:
+0x2459 002697 fetch 1 ,mem_handle_num 
+0x245a 002698 increase 1 ,pdata 
+0x245b 002699 store 1 ,mem_handle_num 
+0x245c 002700 rtn 
+:      002703 quit_connection:
+0x245d 002704 bpatch patch08_7 ,mem_patch08 
+0x245e 002705 fetch 1 ,mem_hci_cmd 
+0x245f 002706 beq hci_cmd_remote_name_req ,quit_connection_name 
+0x2460 002707 fetch 1 ,mem_lmp_to_send 
+0x2461 002708 bne lmp_name_req ,quit_connection_cont 
+:      002709 quit_connection_name:
+0x2462 002710 call cmd_check_plap 
+0x2463 002711 nbranch quit_connection_cont ,zero 
+0x2464 002712 call master_name_error 
+0x2465 002713 jam 0 ,mem_hci_cmd 
+:      002714 quit_connection_cont:
+0x2466 002715 bpatch patch09_0 ,mem_patch09 
+0x2467 002716 call app_disconn_reason_collect_bt 
+0x2468 002717 call sniff_exit 
+0x2469 002718 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+0x246a 002719 call ui_ipc_send_event 
+0x246b 002720 call init_lmp_work 
+0x246c 002721 call l2cap_init_work 
+0x246d 002722 call sp_initialize 
+0x246e 002723 fetch 1 ,mem_state 
+0x246f 002724 set0 state_inconn 
+0x2470 002725 store 1 ,mem_state 
+0x2471 002726 jam 0 ,memui_reconnect_mode 
+0x2472 002728 fetch 1 ,mem_state_map 
+0x2473 002729 compare 0x0 ,pdata ,0xc0 
+0x2474 002730 branch quit_connection_not_clear_mark ,true 
+0x2475 002731 set0 mark_rxbuf_inuse ,mark 
+:      002732 quit_connection_not_clear_mark:
+0x2476 002733 fetch 1 ,mem_arq 
+0x2477 002734 bbit0 wack ,quit_connection_not_clear_tx 
+:      002735 quit_connection_not_clear_tx:
+0x2478 002736 fetch 1 ,mem_op 
+0x2479 002737 rtnbit0 op_txl2cap 
+0x247a 002738 set0 mark_tx_l2cap ,mark 
+0x247b 002739 rtn 
+:      002741 slave_newconn_once:
+0x247c 002742 bpatch patch09_1 ,mem_patch09 
+0x247d 002743 fetch 1 ,extm_newconn_am_addr 
+0x247e 002744 rtn blank 
+0x247f 002745 icopy am_addr 
+0x2480 002746 call slave_conn_recv_packet 
+0x2481 002747 nrtn match 
+0x2482 002748 force type_null ,type 
+0x2483 002749 call slave_conn_send_packet 
+0x2484 002750 deposit am_addr 
+0x2485 002751 store 1 ,mem_amaddr 
+0x2486 002752 force 0 ,pdata 
+0x2487 002753 store 1 ,extm_newconn_am_addr 
+0x2488 002754 rtn 
+:      002760 prepare_tx:
+0x2489 002761 bpatch patch09_2 ,mem_patch09 
+0x248a 002762 fetch 1 ,mem_state 
+0x248b 002763 bbit0 state_insco ,prepare_tx_not_sco 
+0x248c 002764 force type_hv3 ,type 
+0x248d 002765 bmark0 mark_esco ,prepare_tx_not_esco 
+0x248e 002766 call check_esco_amaddr 
+0x248f 002767 nbranch prepare_tx_not_sco ,true 
+0x2490 002768 branch prepare_tx_not_sco ,attempt 
+0x2491 002769 call set_wait_ack 
+0x2492 002770 setarg 2 
+0x2493 002771 store 2 ,mem_retransmission_cnt 
+0x2494 002772 rtn 
+:      002773 prepare_tx_not_esco:
+0x2495 002774 nrtn attempt 
+:      002775 prepare_tx_not_sco:
+0x2496 002776 bpatch patch09_3 ,mem_patch09 
+0x2497 002777 call context_check_all_wack 
+0x2498 002778 nbranch prepare_tx_no_retransmit ,zero 
+0x2499 002779 fetch 1 ,mem_arq 
+0x249a 002780 bbit0 wack ,prepare_tx_pollnull 
+:      002781 prepare_tx_retransmit:
+0x249b 002782 bmark1 mark_loopback ,prepare_tx_loopback 
+0x249c 002783 fetch 1 ,mem_debug_config 
+0x249d 002784 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+0x249e 002785 fetch 2 ,mem_retransmission_cnt 
+0x249f 002786 increase -1 ,pdata 
+0x24a0 002787 store 2 ,mem_retransmission_cnt 
+0x24a1 002788 branch prepare_tx_nomore_retransmit ,blank 
+0x24a2 002789 fetch 1 ,mem_last_type 
+0x24a3 002790 iforce type 
+0x24a4 002791 rtn 
+:      002793 prepare_tx_nomore_retransmit:
+0x24a5 002794 bpatch patch09_4 ,mem_patch09 
+0x24a6 002795 call clear_got_tx 
+:      002796 prepare_tx_no_retransmit:
+0x24a7 002797 call check_esco_amaddr 
+0x24a8 002798 branch prepare_tx_pollnull ,true 
+0x24a9 002799 call send_lmp 
+0x24aa 002800 branch prepare_tx_sendlmp ,user 
+0x24ab 002801 fetch 1 ,mem_op 
+0x24ac 002802 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+0x24ad 002803 bmark1 mark_loopback ,prepare_tx_loopback 
+0x24ae 002804 fetch 1 ,mem_debug_config 
+0x24af 002805 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+:      002806 prepare_tx_pollnull:
+0x24b0 002807 force type_poll ,type 
+0x24b1 002808 rtn master 
+0x24b2 002809 force type_null ,type 
+0x24b3 002810 rtn 
+:      002811 prepare_tx_loopback:
+0x24b4 002812 bpatch patch09_5 ,mem_patch09 
+0x24b5 002813 fetch 1 ,mem_rx_type 
+0x24b6 002814 iforce type 
+0x24b7 002815 rtnne 1 
+0x24b8 002816 force type_null ,type 
+0x24b9 002817 rtn 
+:      002818 prepare_tx_txpat:
+0x24ba 002819 fetch 1 ,test_mode_packet_type 
+0x24bb 002820 and pdata ,0xf ,type 
+0x24bc 002821 set1 mark_loopback ,mark 
+0x24bd 002822 rtn 
+:      002823 prepare_tx_sendlmp:
+0x24be 002824 force type_lmp ,type 
+0x24bf 002825 branch set_wait_ack 
+:      002826 prepare_tx_sendl2cap:
+0x24c0 002827 call tx_l2cap_type 
+:      002829 set_wait_ack:
+0x24c1 002830 bpatch patch09_6 ,mem_patch09 
+0x24c2 002831 fetcht 1 ,mem_arq 
+0x24c3 002832 set1 wack ,temp 
+0x24c4 002833 storet 1 ,mem_arq 
+0x24c5 002834 deposit type 
+0x24c6 002835 store 1 ,mem_last_type 
+0x24c7 002836 setarg 0xffff 
+0x24c8 002837 store 2 ,mem_retransmission_cnt 
+0x24c9 002838 rtn 
+:      002840 tx_l2cap_type:
+0x24ca 002841 bpatch patch09_7 ,mem_patch09 
+0x24cb 002842 fetch 1 ,mem_state_map 
+0x24cc 002843 isolate1 smap_edr ,pdata 
+0x24cd 002844 fetch 2 ,mem_tx_len 
+0x24ce 002845 branch tx_l2cap_type_edr ,true 
+0x24cf 002846 force type_dm1 ,type 
+0x24d0 002847 sub pdata ,17 ,null 
+0x24d1 002848 rtn positive 
+0x24d2 002849 force type_dh1 ,type 
+0x24d3 002850 sub pdata ,27 ,null 
+0x24d4 002851 rtn positive 
+0x24d5 002852 force type_dm3 ,type 
+0x24d6 002853 sub pdata ,121 ,null 
+0x24d7 002854 rtn positive 
+0x24d8 002855 force type_dh3 ,type 
+0x24d9 002856 sub pdata ,183 ,null 
+0x24da 002857 rtn positive 
+0x24db 002858 force type_dm5 ,type 
+0x24dc 002859 sub pdata ,224 ,null 
+0x24dd 002860 rtn positive 
+0x24de 002861 force type_dh5 ,type 
+0x24df 002862 rtn 
+:      002863 tx_l2cap_type_edr:
+0x24e0 002864 force type_dm1 ,type 
+0x24e1 002865 sub pdata ,17 ,null 
+0x24e2 002866 rtn positive 
+0x24e3 002867 force type_dh1 ,type 
+0x24e4 002868 sub pdata ,54 ,null 
+0x24e5 002869 rtn positive 
+0x24e6 002870 force type_dm3 ,type 
+0x24e7 002871 arg 367 ,temp 
+0x24e8 002872 isub temp ,null 
+0x24e9 002873 nrtn positive 
+0x24ea 002874 force type_dm5 ,type 
+0x24eb 002875 arg 679 ,temp 
+0x24ec 002876 isub temp ,null 
+0x24ed 002877 nrtn positive 
+0x24ee 002878 force type_dh5 ,type 
+0x24ef 002879 rtn 
+:      002888 slave_receive_master_slot:
+0x24f0 002889 fetch 1 ,mem_state 
+0x24f1 002890 bbit0 state_insniff ,slave_receive_notsniff 
+0x24f2 002891 fetch 2 ,mem_tsniff 
+0x24f3 002892 branch slave_receive_notsniff ,blank 
+0x24f4 002893 nbranch slave_receive_sniff ,attempt 
+:      002894 slave_receive_notsniff:
+0x24f5 002895 call rf_setup_time_master_slot 
+:      002896 slave_receive_access:
+0x24f6 002897 add clke_bt ,1 ,bt_clk 
+:      002898 slave_receive_sniff:
+0x24f7 002899 enable swfine 
+0x24f8 002900 fetch 2 ,mem_rx_window 
+0x24f9 002901 rshift pdata ,pdata 
+0x24fa 002902 arg param_pll_setup ,temp 
+0x24fb 002903 iadd temp ,pdata 
+0x24fc 002904 call ahead_window 
+0x24fd 002905 call fetch_extm_bt_adr 
+0x24fe 002906 force 0x03 ,freq_mode 
+0x24ff 002907 call rx_radio_freq 
+0x2500 002908 call init_rx_packet_flags 
+0x2501 002909 call prep_crypt 
+0x2502 002910 bpatch patch0a_0 ,mem_patch0a 
+0x2503 002911 fetch 2 ,mem_rx_window 
+0x2504 002912 rshift pdata ,pdata 
+0x2505 002913 call ahead_window 
+0x2506 002914 call start_receiver 
+0x2507 002915 enable decode_fec0 
+0x2508 002916 fetch 2 ,mem_rx_window 
+0x2509 002917 arg param_clke_cal ,temp 
+0x250a 002918 iadd temp ,stop_watch 
+0x250b 002919 correlate null ,timeout 
+0x250c 002920 copy clke ,temp 
+0x250d 002921 storet 6 ,mem_sync_clke 
+0x250e 002922 disable decode_fec0 
+0x250f 002923 nrtn sync 
+0x2510 002924 arg param_clke_cal ,clke_rt 
+0x2511 002925 copy bt_clk ,clke_bt 
+0x2512 002926 branch lpm_adjust_clk ,wake 
+0x2513 002927 rtn 
+:      002930 slave_conn_recv_packet:
+0x2514 002931 bpatch patch0a_1 ,mem_patch0a 
+0x2515 002932 call slave_receive_master_slot 
+0x2516 002933 nbranch shutdown_radio ,sync 
+0x2517 002934 call save_rssi 
+0x2518 002935 bmark0 mark_testmode ,receive_packet 
+0x2519 002936 fetch 2 ,mem_tst_pktcnt_sync 
+0x251a 002937 increase 1 ,pdata 
+0x251b 002938 store 2 ,mem_tst_pktcnt_sync 
+:      002939 receive_packet:
+0x251c 002940 rshift bt_clk ,temp 
+0x251d 002941 or temp ,0x40 ,white_init 
+:      002942 receive_packet_whitened:
+0x251e 002943 bpatch patch0a_2 ,mem_patch0a 
+0x251f 002944 enable enable_white 
+0x2520 002945 enable enable_hec 
+0x2521 002946 enable decode_fec1 
+0x2522 002947 parse demod ,bucket ,3 
+0x2523 002948 rshift8 pwindow ,pdata 
+0x2524 002949 store 1 ,mem_temp_am_addr 
+0x2525 002950 parse demod ,bucket ,4 
+0x2526 002951 inject bucket ,7 
+0x2527 002952 copy pwindow ,pdata 
+0x2528 002953 store 1 ,mem_rx_type 
+0x2529 002954 parse demod ,bucket ,3 
+0x252a 002955 rshift8 pwindow ,pdata 
+0x252b 002956 store 1 ,mem_temp_arq 
+0x252c 002957 fetch 1 ,mem_rx_type 
+0x252d 002958 sub pdata ,3 ,null 
+0x252e 002959 branch receive_packet_noedr ,positive 
+0x252f 002960 beq 7 ,receive_packet_noedr 
+0x2530 002961 fetch 1 ,mem_state_map 
+0x2531 002962 isolate1 smap_edr ,pdata 
+0x2532 002963 setflag true ,psk ,radio_ctrl 
+:      002964 receive_packet_noedr:
+0x2533 002965 bpatch patch0a_3 ,mem_patch0a 
+0x2534 002966 parse demod ,bucket ,8 
+0x2535 002967 disable decode_fec1 
+0x2536 002968 disable enable_hec 
+0x2537 002969 branch error_header ,crc_failed 
+0x2538 002970 bmark0 mark_testmode ,receive_packet_amchk 
+0x2539 002971 fetch 2 ,mem_tst_pktcnt_hec 
+0x253a 002972 increase 1 ,pdata 
+0x253b 002973 store 2 ,mem_tst_pktcnt_hec 
+:      002974 receive_packet_amchk:
+0x253c 002975 bpatch patch0a_4 ,mem_patch0a 
+0x253d 002976 fetch 1 ,mem_temp_am_addr 
+0x253e 002977 compare 0 ,pdata ,0x07 
+0x253f 002978 setflag true ,mark_am_addr_broadcast ,mark 
+0x2540 002979 branch am_addr_ok ,true 
+0x2541 002980 icompare 0x07 ,am_addr 
+0x2542 002981 branch am_addr_match ,true 
+0x2543 002982 bmark0 mark_esco ,end_of_packet 
+0x2544 002983 fetcht 1 ,mem_saved_amaddr 
+0x2545 002984 icompare 0x7 ,temp 
+0x2546 002985 nbranch end_of_packet ,true 
+0x2547 002986 fetch 1 ,mem_arq 
+0x2548 002987 set0 arqnx ,pdata 
+0x2549 002988 set1 flowx ,pdata 
+0x254a 002989 store 1 ,mem_arq 
+:      002990 am_addr_match:
+0x254b 002991 enable match 
+:      002992 am_addr_ok:
+0x254c 002993 bpatch patch0a_5 ,mem_patch0a 
+0x254d 002994 fetch 1 ,mem_rx_type 
+0x254e 002995 icopy type 
+0x254f 002996 bmark1 mark_am_addr_broadcast ,arqn_bypass 
+0x2550 002997 fetcht 1 ,mem_temp_arq 
+0x2551 002998 fetch 1 ,mem_arq 
+0x2552 002999 set0 flow ,pdata 
+0x2553 003000 isolate1 flow ,temp 
+0x2554 003001 setflag true ,flow ,pdata 
+0x2555 003002 isolate1 arqn ,temp 
+0x2556 003003 setflag true ,arqn ,pdata 
+0x2557 003004 store 1 ,mem_arq 
+0x2558 003005 isolate0 arqn ,temp 
+0x2559 003006 branch arqn_bypass ,true 
+0x255a 003007 call clear_got_tx 
+:      003008 arqn_bypass:
+0x255b 003009 bpatch patch0a_6 ,mem_patch0a 
+0x255c 003010 arg 0 ,temp 
+0x255d 003011 call reserve_slot 
+0x255e 003012 and type ,0xf ,pdata 
+0x255f 003013 beq type_poll ,process_poll 
+0x2560 003014 beq type_null ,end_of_packet 
+0x2561 003015 beq type_fhs ,process_fhs 
+0x2562 003016 fetcht 1 ,mem_temp_arq 
+0x2563 003017 fetch 1 ,mem_arq 
+0x2564 003018 icompare 0x04 ,temp 
+0x2565 003019 nbranch rx_type_dispatch ,true 
+0x2566 003020 bmark0 mark_am_addr_broadcast ,failed_seqn 
+0x2567 003021 bbit0 bcast1 ,rx_type_dispatch 
+:      003022 failed_seqn:
+0x2568 003023 set1 mark_old_packet ,mark 
+:      003024 rx_type_dispatch:
+0x2569 003025 bpatch patch0a_7 ,mem_patch0a 
+0x256a 003026 deposit type 
+0x256b 003027 beq type_dm1 ,process_dm1 
+0x256c 003028 beq type_dh1 ,process_dh1 
+0x256d 003029 beq type_hv3 ,process_hev 
+0x256e 003030 beq type_3dh1 ,process_3dh1 
+0x256f 003031 arg 4 ,temp 
+0x2570 003032 call reserve_slot 
+0x2571 003033 beq type_dm3 ,process_dm3 
+0x2572 003034 beq type_dh3 ,process_dh3 
+0x2573 003035 arg 8 ,temp 
+0x2574 003036 call reserve_slot 
+0x2575 003037 beq type_dm5 ,process_dm5 
+0x2576 003038 beq type_dh5 ,process_dh5 
+0x2577 003039 rtn 
+:      003042 process_hev:
+0x2578 003043 bpatch patch0b_0 ,mem_patch0b 
+0x2579 003044 enable decode_fec0 
+0x257a 003045 enable enable_crc 
+0x257b 003046 enable encrypt 
+0x257c 003047 arg mem_sco_ibuf ,contw 
+0x257d 003048 force 30 ,loopcnt 
+:      003049 process_hev_loop:
+0x257e 003050 parse demod ,bucket ,8 
+0x257f 003051 rshift3 pwindow ,pdata 
+0x2580 003052 istore 1 ,contw 
+0x2581 003053 loop process_hev_loop 
+0x2582 003054 bmark0 mark_esco ,end_of_packet 
+0x2583 003055 parse demod ,bucket ,16 
+0x2584 003056 nsetflag crc_failed ,mark_esco_rxok ,mark 
+0x2585 003057 branch error_payload ,crc_failed 
+0x2586 003058 branch ack_payload 
+:      003061 process_poll:
+0x2587 003062 branch end_of_packet 
+:      003064 process_dm3:
+:      003065 process_dm5:
+0x2588 003066 set1 mark_longpacket ,mark 
+:      003067 process_dm1:
+0x2589 003068 enable decode_fec2 
+0x258a 003069 branch process_dmh 
+:      003071 process_dh3:
+:      003072 process_dh5:
+0x258b 003073 set1 mark_longpacket ,mark 
+:      003074 process_3dh1:
+0x258c 003075 set1 psk3m ,radio_ctrl 
+:      003076 process_dh1:
+0x258d 003077 enable decode_fec0 
+:      003078 process_dmh:
+0x258e 003079 bpatch patch0b_1 ,mem_patch0b 
+0x258f 003080 bmark1 mark_rxbuf_inuse ,end_of_packet 
+0x2590 003081 isolate0 psk ,radio_ctrl 
+0x2591 003082 branch process_dmh_noedr ,true 
+0x2592 003083 disable enable_white 
+0x2593 003084 enable decode_fec0 
+0x2594 003085 disable decode_fec2 
+0x2595 003086 add clkn_bt ,2 ,timeup 
+0x2596 003087 correlate clkn_bt ,meet 
+0x2597 003088 nbranch error_payload ,sync 
+0x2598 003089 set1 mark_longpacket ,mark 
+0x2599 003090 enable enable_white 
+:      003091 process_dmh_noedr:
+0x259a 003092 bpatch patch0b_2 ,mem_patch0b 
+0x259b 003093 enable encrypt 
+0x259c 003094 enable enable_crc 
+0x259d 003095 parse demod ,bucket ,3 
+0x259e 003096 rshift8 pwindow ,pdata 
+0x259f 003097 store 1 ,mem_lch_code 
+0x25a0 003098 parse demod ,bucket ,5 
+0x25a1 003099 bmark1 mark_longpacket ,process_dmh_long 
+0x25a2 003100 rshift3 pwindow ,loopcnt 
+0x25a3 003101 rshift3 loopcnt ,loopcnt 
+0x25a4 003102 branch process_dmh_common 
+:      003103 process_dmh_long:
+0x25a5 003104 parse demod ,bucket ,5 
+0x25a6 003105 rshift pwindow ,loopcnt 
+0x25a7 003106 parse demod ,bucket ,3 
+:      003107 process_dmh_common:
+0x25a8 003108 bpatch patch0b_3 ,mem_patch0b 
+0x25a9 003109 deposit loopcnt 
+0x25aa 003110 store 2 ,mem_len 
+0x25ab 003111 branch process_dmh_data_end ,blank 
+0x25ac 003112 isub mask3ff ,null 
+0x25ad 003113 branch error_payload ,positive 
+0x25ae 003114 bpatch patch0b_4 ,mem_patch0b 
+0x25af 003115 set0 mark_fhs_eir ,mark 
+0x25b0 003116 fetch 1 ,mem_lch_code 
+0x25b1 003117 and_into 0x03 ,pdata 
+0x25b2 003118 arg mem_rxbuf ,contw 
+0x25b3 003119 beq llid_lmp ,process_lmp 
+0x25b4 003120 bmark1 mark_testmode ,process_dmh_data 
+0x25b5 003122 fetch 1 ,mem_lch_code 
+0x25b6 003123 and_into 0x03 ,pdata 
+0x25b7 003124 beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+0x25b8 003125 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+0x25b9 003126 branch error_payload 
+:      003128 process_lmp:
+0x25ba 003129 fetch 2 ,mem_len 
+0x25bb 003130 sub pdata ,0x70 ,null 
+0x25bc 003131 nbranch error_payload ,positive 
+0x25bd 003132 bmark1 mark_old_packet ,ack_payload 
+0x25be 003133 branch process_dmh_data 
+:      003136 process_dmh_data_l2cap_start_pkt:
+0x25bf 003137 bpatch patch0b_5 ,mem_patch0b 
+0x25c0 003138 bmark1 mark_old_packet ,ack_payload 
+0x25c1 003139 fetch 2 ,mem_len 
+0x25c2 003140 arg 0x2e0 ,temp 
+0x25c3 003141 isub temp ,null 
+0x25c4 003142 branch error_payload ,positive 
+0x25c5 003143 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x25c6 003144 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+0x25c7 003145 bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+0x25c8 003146 branch end_of_packet 
+:      003147 process_dmh_data_into_buff1:
+0x25c9 003148 jam 1 ,mem_l2cap_rxbuff_new 
+0x25ca 003149 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25cb 003150 bne 0 ,end_of_packet 
+0x25cc 003151 arg mem_l2cap_rxbuff1 ,contw 
+0x25cd 003152 branch process_dmh_data 
+:      003153 process_dmh_data_into_buff2:
+0x25ce 003154 jam 2 ,mem_l2cap_rxbuff_new 
+0x25cf 003155 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x25d0 003156 bne 0 ,end_of_packet 
+0x25d1 003157 arg mem_l2cap_rxbuff2 ,contw 
+0x25d2 003158 branch process_dmh_data 
+:      003160 process_dmh_data_l2cap_continue_pkt:
+0x25d3 003161 bpatch patch0b_6 ,mem_patch0b 
+0x25d4 003162 bmark1 mark_old_packet ,ack_payload 
+0x25d5 003163 fetch 2 ,mem_len 
+0x25d6 003164 arg 0x2e0 ,temp 
+0x25d7 003165 isub temp ,null 
+0x25d8 003166 branch error_payload ,positive 
+0x25d9 003167 fetch 1 ,mem_l2cap_rxbuff_new 
+0x25da 003168 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+0x25db 003169 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+0x25dc 003170 branch end_of_packet 
+:      003171 process_dmh_data_l2cap_continue_pkt1:
+0x25dd 003172 arg mem_l2cap_rxbuff1 ,contw 
+0x25de 003173 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25df 003174 iadd contw ,contw 
+0x25e0 003175 branch process_dmh_data 
+:      003176 process_dmh_data_l2cap_continue_pkt2:
+0x25e1 003177 arg mem_l2cap_rxbuff2 ,contw 
+0x25e2 003178 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x25e3 003179 iadd contw ,contw 
+:      003180 process_dmh_data:
+0x25e4 003181 parse demod ,bucket ,8 
+0x25e5 003182 rshift3 pwindow ,pdata 
+0x25e6 003183 istore 1 ,contw 
+0x25e7 003184 loop process_dmh_data 
+:      003185 process_dmh_data_end:
+0x25e8 003186 bpatch patch0b_7 ,mem_patch0b 
+0x25e9 003187 parse demod ,bucket ,16 
+0x25ea 003188 branch error_payload_crc ,crc_failed 
+0x25eb 003189 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+0x25ec 003190 beq l2cap_flow_ctrl_enable ,end_of_packet 
+0x25ed 003191 bmark1 mark_testmode ,process_dmh_cont 
+0x25ee 003192 bmark1 mark_old_packet ,redundant_payload 
+0x25ef 003193 fetch 1 ,mem_lch_code 
+0x25f0 003194 compare 3 ,pdata ,3 
+0x25f1 003195 branch process_dmh_cont ,true 
+0x25f2 003196 fetch 2 ,mem_len 
+0x25f3 003197 branch process_dmh_cont ,blank 
+0x25f4 003198 bpatch patch0c_0 ,mem_patch0c 
+0x25f5 003199 fetch 1 ,mem_l2cap_rxbuff_new 
+0x25f6 003200 beq 1 ,process_l2cap_pass_crc_buff1 
+0x25f7 003201 beq 2 ,process_l2cap_pass_crc_buff2 
+0x25f8 003202 branch assert 
+:      003203 process_l2cap_pass_crc_buff1:
+0x25f9 003204 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25fa 003205 fetcht 2 ,mem_len 
+0x25fb 003206 iadd temp ,pdata 
+0x25fc 003207 store 2 ,mem_l2cap_rxbuff1_len 
+0x25fd 003208 beq 0 ,assert 
+0x25fe 003209 fetcht 2 ,mem_l2cap_rxbuff1 
+0x25ff 003210 increase 4 ,temp 
+0x2600 003211 isub temp ,null 
+0x2601 003212 call l2cap_buff1_inuse ,zero 
+0x2602 003213 branch process_dmh_cont 
+:      003214 process_l2cap_pass_crc_buff2:
+0x2603 003215 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x2604 003216 fetcht 2 ,mem_len 
+0x2605 003217 iadd temp ,pdata 
+0x2606 003218 store 2 ,mem_l2cap_rxbuff2_len 
+0x2607 003219 beq 0 ,assert 
+0x2608 003220 fetcht 2 ,mem_l2cap_rxbuff2 
+0x2609 003221 add temp ,4 ,temp 
+0x260a 003222 isub temp ,null 
+0x260b 003223 call l2cap_buff2_inuse ,zero 
+0x260c 003224 branch process_dmh_cont 
+:      003225 process_dmh_cont:
+0x260d 003226 bpatch patch0c_1 ,mem_patch0c 
+0x260e 003227 fetcht 1 ,mem_state_map 
+0x260f 003228 fetch 1 ,mem_lch_code 
+0x2610 003229 compare 3 ,pdata ,0x03 
+0x2611 003230 setflag true ,smap_rxlmp ,temp 
+0x2612 003231 nsetflag true ,smap_rxl2cap ,temp 
+0x2613 003232 storet 1 ,mem_state_map 
+0x2614 003233 nbranch process_dmh_cont_rxbuf_not_use ,true 
+0x2615 003234 set1 mark_rxbuf_inuse ,mark 
+:      003235 process_dmh_cont_rxbuf_not_use:
+0x2616 003236 bmark0 mark_testmode ,ack_payload 
+0x2617 003237 isolate1 smap_rxlmp ,temp 
+0x2618 003238 branch ack_payload ,true 
+0x2619 003239 fetch 2 ,mem_tst_pktcnt_crc 
+0x261a 003240 increase 1 ,pdata 
+0x261b 003241 store 2 ,mem_tst_pktcnt_crc 
+0x261c 003242 set1 mark_loopback ,mark 
+0x261d 003243 set0 smap_rxl2cap ,temp 
+0x261e 003244 set0 mark_rxbuf_inuse ,mark 
+0x261f 003245 storet 1 ,mem_state_map 
+:      003246 ack_payload:
+0x2620 003247 bpatch patch0c_2 ,mem_patch0c 
+0x2621 003248 fetcht 1 ,mem_temp_arq 
+0x2622 003249 fetch 1 ,mem_arq 
+0x2623 003250 set1 arqnx ,pdata 
+0x2624 003251 isolate1 seqn ,temp 
+0x2625 003252 setflag true ,seqn ,pdata 
+0x2626 003253 isolate1 mark_am_addr_broadcast ,mark 
+0x2627 003254 setflag true ,bcast1 ,pdata 
+0x2628 003255 store 1 ,mem_arq 
+0x2629 003256 fetch 2 ,mem_len 
+0x262a 003257 nbranch end_of_packet ,blank 
+0x262b 003258 fetch 1 ,mem_state_map 
+0x262c 003259 set0 smap_rxl2cap ,pdata 
+0x262d 003260 store 1 ,mem_state_map 
+0x262e 003261 fetch 1 ,mem_lch_code 
+0x262f 003262 compare 0x01 ,pdata ,0x07 
+0x2630 003264 branch end_of_packet 
+:      003266 error_header:
+0x2631 003267 bpatch patch0c_3 ,mem_patch0c 
+0x2632 003268 disable match 
+0x2633 003269 fetch 2 ,mem_rx_hec_err 
+0x2634 003270 increase 1 ,pdata 
+0x2635 003271 store 2 ,mem_rx_hec_err 
+0x2636 003272 branch end_of_packet 
+:      003273 error_payload_crc:
+0x2637 003274 fetch 2 ,mem_rx_crc_err 
+0x2638 003275 increase 1 ,pdata 
+0x2639 003276 store 2 ,mem_rx_crc_err 
+0x263a 003277 call discard_pkt 
+0x263b 003278 bmark0 mark_testmode ,error_payload 
+0x263c 003279 set1 mark_loopback ,mark 
+:      003280 error_payload:
+0x263d 003281 branch end_of_packet 
+:      003283 discard_pkt:
+0x263e 003284 bpatch patch0c_4 ,mem_patch0c 
+0x263f 003285 fetch 1 ,mem_lch_code 
+0x2640 003286 compare 3 ,pdata ,0x03 
+0x2641 003287 nbranch discard_pkt_l2cap ,true 
+:      003288 discard_pkt_lmp:
+0x2642 003289 fetcht 1 ,mem_state_map 
+0x2643 003290 set0 smap_rxlmp ,temp 
+0x2644 003291 storet 1 ,mem_state_map 
+0x2645 003292 rtn 
+:      003293 discard_pkt_l2cap:
+0x2646 003296 fetcht 1 ,mem_state_map 
+0x2647 003297 set0 smap_rxl2cap ,temp 
+0x2648 003298 storet 1 ,mem_state_map 
+0x2649 003299 branch h4_send_acl_trigger_clear 
+:      003301 redundant_payload:
+0x264a 003302 fetch 1 ,mem_arq 
+0x264b 003303 set1 arqnx ,pdata 
+0x264c 003304 store 1 ,mem_arq 
+:      003305 end_of_packet:
+0x264d 003306 bpatch patch0c_5 ,mem_patch0c 
+0x264e 003307 disable encode_fec0 
+0x264f 003308 disable encode_fec2 
+0x2650 003309 disable decode_fec0 
+0x2651 003310 disable decode_fec2 
+0x2652 003311 disable enable_crc 
+0x2653 003312 disable encrypt 
+0x2654 003313 disable enable_white 
+0x2655 003314 branch shutdown_radio ,is_rx 
+0x2656 003315 until null ,tx_clear 
+0x2657 003316 nop 100 
+0x2658 003317 branch shutdown_radio 
+:      003319 process_fhs:
+0x2659 003320 bpatch patch0c_6 ,mem_patch0c 
+0x265a 003321 enable enable_crc 
+0x265b 003322 enable decode_fec2 
+0x265c 003323 parse demod ,bucket ,72 
+0x265d 003324 isolate1 58 ,pdata 
+0x265e 003325 setflag true ,mark_fhs_eir ,mark 
+0x265f 003326 copy bt_adr ,temp 
+0x2660 003327 ialigned bt_adr 
+0x2661 003328 ialigned fhs0 
+0x2662 003329 pulse recalc 
+0x2663 003330 setsect 2 ,0xfffff 
+0x2664 003331 setsect 3 ,0x0ffff 
+0x2665 003332 nop 32 
+0x2666 003333 iverify fhs_parity 
+0x2667 003334 deposit lap 
+0x2668 003335 store 3 ,extm_lap 
+0x2669 003336 deposit uap 
+0x266a 003337 store 1 ,extm_uap 
+0x266b 003338 copy temp ,bt_adr 
+0x266c 003339 branch fhs_parity_ok ,true 
+0x266d 003340 branch error_payload 
+:      003341 fhs_parity_ok:
+0x266e 003342 bpatch patch0c_7 ,mem_patch0c 
+0x266f 003343 parse demod ,bucket ,72 
+0x2670 003344 ialigned fhs1 
+0x2671 003345 ialigned am_addr 
+0x2672 003346 ialigned nap 
+0x2673 003347 ialigned regb 
+0x2674 003348 force 0 ,pdata 
+0x2675 003349 parse demod ,bucket ,16 
+0x2676 003350 branch error_payload ,crc_failed 
+0x2677 003351 setarg 0x0ffffffc 
+0x2678 003352 iand regb ,pdata 
+0x2679 003353 store 4 ,mem_clke_bt 
+0x267a 003354 deposit fhs_class 
+0x267b 003355 store 3 ,extm_class 
+0x267c 003356 deposit fhs_misc 
+0x267d 003357 store 1 ,extm_fhs_misc 
+0x267e 003358 deposit am_addr 
+0x267f 003359 store 1 ,extm_newconn_am_addr 
+0x2680 003360 deposit nap 
+0x2681 003361 store 2 ,extm_nap 
+0x2682 003362 deposit bt_clk 
+0x2683 003363 inject rxf ,32 
+0x2684 003364 compare type_fhs ,type ,0x0f 
+0x2685 003365 setflag true ,mark_fhs_already_good ,mark 
+0x2686 003366 branch end_of_packet 
+:      003368 clear_got_tx:
+0x2687 003369 bpatch patch0d_0 ,mem_patch0d 
+0x2688 003370 fetch 1 ,mem_arq 
+0x2689 003371 rtnbit0 wack 
+0x268a 003372 set0 wack ,pdata 
+0x268b 003373 setflip seqnx ,pdata 
+0x268c 003374 store 1 ,mem_arq 
+0x268d 003375 fetch 1 ,mem_last_type 
+0x268e 003376 beq type_lmp ,clear_got_txlmp 
+0x268f 003377 rtneq type_hv3 
+0x2690 003378 fetch 1 ,mem_op 
+0x2691 003379 rtnbit0 op_txl2cap ,pdata 
+0x2692 003380 set0 op_txl2cap ,pdata 
+0x2693 003381 set1 op_pkt_comp ,pdata 
+0x2694 003382 store 1 ,mem_op 
+0x2695 003383 set0 mark_tx_l2cap ,mark 
+0x2696 003384 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x2697 003385 nrtn blank 
+0x2698 003386 fetch 1 ,mem_op 
+0x2699 003387 set0 op_pkt_comp ,pdata 
+0x269a 003388 store 1 ,mem_op 
+0x269b 003389 branch l2cap_malloc_free 
+:      003391 clear_got_txlmp:
+0x269c 003392 bpatch patch0d_1 ,mem_patch0d 
+0x269d 003393 fetch 1 ,mem_lmo_header_opcode 
+0x269e 003394 rshift pdata ,pdata 
+0x269f 003395 beq lmp_start_encryption_req ,start_encryption 
+0x26a0 003396 beq lmp_stop_encryption_req ,stop_encryption 
+0x26a1 003397 beq lmp_unsniff_req ,sniff_exit 
+0x26a2 003398 beq lmp_escape ,clear_lmp_escape 
+0x26a3 003399 rtnne lmp_accepted 
+0x26a4 003400 fetch 1 ,mem_lmo_payload 
+0x26a5 003401 beq lmp_sco_link_req ,sco_link_req_by_slave 
+0x26a6 003402 beq lmp_start_encryption_req ,clear_send_setup_complete 
+0x26a7 003403 rtn 
+:      003405 clear_lmp_escape:
+0x26a8 003406 fetch 1 ,mem_lmo_payload 
+0x26a9 003407 set1 7 ,pdata 
+0x26aa 003408 rtn 
+:      003409 clear_send_setup_complete:
+0x26ab 003410 rtn master 
+0x26ac 003411 fetch 1 ,mem_state 
+0x26ad 003412 rtnbit1 state_conn_comp 
+0x26ae 003413 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x26af 003414 rtn 
+:      003417 sco_link_req_by_slave:
+0x26b0 003418 rtn master 
+0x26b1 003419 fetch 1 ,mem_mode 
+0x26b2 003420 isolate1 send_sco_when_slave ,pdata 
+0x26b3 003421 branch clean_mem_mode ,true 
+0x26b4 003423 rtn 
+:      003424 clean_mem_mode:
+0x26b5 003425 set0 send_sco_when_slave ,pdata 
+0x26b6 003426 store 1 ,mem_mode 
+0x26b7 003427 rtn 
+:      003429 start_encryption:
+0x26b8 003430 bpatch patch0d_2 ,mem_patch0d 
+0x26b9 003431 fetch 1 ,mem_state_map 
+0x26ba 003432 set1 smap_encryption ,pdata 
+0x26bb 003433 store 1 ,mem_state_map 
+0x26bc 003434 hjam 1 ,core_encrypt 
+0x26bd 003435 fetch 1 ,mem_state 
+0x26be 003436 isolate1 state_conn_comp ,pdata 
+0x26bf 003437 rtn 
+:      003439 stop_encryption:
+0x26c0 003440 bpatch patch0d_3 ,mem_patch0d 
+0x26c1 003441 fetch 1 ,mem_state_map 
+0x26c2 003442 set0 smap_encryption ,pdata 
+0x26c3 003443 store 1 ,mem_state_map 
+0x26c4 003444 hjam 0 ,core_encrypt 
+0x26c5 003445 rtn 
+:      003448 sniff_init:
+0x26c6 003449 bpatch patch0d_4 ,mem_patch0d 
+0x26c7 003450 copy clkn_bt ,pdata 
+0x26c8 003451 store 4 ,mem_lpm_delay_after_sniff 
+0x26c9 003452 add clkn_bt ,3 ,rega 
+0x26ca 003453 branch sniff_init_master ,master 
+0x26cb 003454 add clke_bt ,3 ,rega 
+:      003455 sniff_init_master:
+0x26cc 003456 fetcht 2 ,mem_tsniff 
+0x26cd 003457 deposit rega 
+0x26ce 003458 set0 27 ,pdata 
+0x26cf 003459 idiv temp 
+0x26d0 003460 fetch 2 ,mem_dsniff 
+0x26d1 003461 call wait_div_end 
+0x26d2 003462 remainder regc 
+0x26d3 003463 isub regc ,pdata 
+0x26d4 003464 branch sniff_init_nowrap ,positive 
+0x26d5 003465 iadd temp ,pdata 
+:      003466 sniff_init_nowrap:
+0x26d6 003467 iadd rega ,pdata 
+0x26d7 003468 store 4 ,mem_sniff_anchor 
+0x26d8 003469 jam switch_flag_init ,mem_switch_flag 
+0x26d9 003470 fetch 1 ,mem_state 
+0x26da 003471 set1 state_insniff ,pdata 
+0x26db 003472 store 1 ,mem_state 
+0x26dc 003473 fetch 1 ,mem_sniff_attempt 
+0x26dd 003474 store 1 ,mem_current_sniff_attempt 
+0x26de 003475 setarg 0 
+0x26df 003476 store 3 ,mem_sniff_rcv 
+0x26e0 003477 store 3 ,mem_sniff_lost 
+0x26e1 003478 store 1 ,mem_sniff_unint_lost 
+0x26e2 003479 jam bt_evt_enter_sniff ,mem_fifo_temp 
+0x26e3 003480 call ui_ipc_send_event 
+0x26e4 003481 fetch 2 ,mem_rx_window_sniff 
+0x26e5 003482 store 2 ,mem_rx_window 
+0x26e6 003483 nrtn master 
+0x26e7 003484 add am_addr ,-1 ,queue 
+0x26e8 003485 rtn 
+:      003487 sniff_exit:
+0x26e9 003488 bpatch patch0d_5 ,mem_patch0d 
+0x26ea 003489 fetch 1 ,mem_state 
+0x26eb 003490 rtnbit0 state_insniff 
+0x26ec 003491 set0 state_insniff ,pdata 
+0x26ed 003492 store 1 ,mem_state 
+0x26ee 003493 fetch 2 ,mem_rx_window_init 
+0x26ef 003494 store 2 ,mem_rx_window 
+0x26f0 003495 disable wake 
+0x26f1 003496 jam bt_evt_exit_sniff ,mem_fifo_temp 
+0x26f2 003497 branch ui_ipc_send_event 
+:      003500 check_attempt:
+0x26f3 003501 bpatch patch0d_6 ,mem_patch0d 
+0x26f4 003502 enable attempt 
+0x26f5 003503 fetch 1 ,mem_state 
+0x26f6 003504 bbit1 state_insniff ,check_attempt_sniff 
+0x26f7 003505 rtnmark1 mark_testmode 
+0x26f8 003506 fetch 1 ,mem_arq 
+0x26f9 003507 rtnbit1 wack 
+0x26fa 003508 fetch 1 ,mem_lmp_to_send 
+0x26fb 003509 nrtn blank 
+0x26fc 003510 fetch 1 ,mem_op 
+0x26fd 003511 rtnbit1 op_txl2cap 
+:      003512 check_attempt_nomore:
+0x26fe 003513 force 0 ,pdata 
+0x26ff 003514 rtn 
+:      003516 check_attempt_sniff:
+0x2700 003517 bbit0 state_insco ,check_attempt_not_sco 
+0x2701 003518 fetch 1 ,mem_current_sniff_attempt 
+0x2702 003519 beq 2 ,check_attempt_sniff_restore_sco 
+0x2703 003520 fetch 1 ,mem_arq 
+0x2704 003521 bbit1 wack ,check_attempt_notimeout 
+0x2705 003522 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+:      003523 check_attempt_sniff_restore_sco:
+0x2706 003524 nbranch check_attempt_notimeout ,master 
+0x2707 003525 fetch 1 ,mem_lmp_to_send 
+0x2708 003526 nbranch check_attempt_notimeout ,blank 
+:      003527 check_attempt_sco_master:
+0x2709 003528 fetch 1 ,mem_sco_poll 
+0x270a 003529 increase -1 ,pdata 
+0x270b 003530 store 1 ,mem_sco_poll 
+0x270c 003531 nbranch check_attempt_nomore ,blank 
+0x270d 003532 jam param_sco_poll ,mem_sco_poll 
+0x270e 003533 branch check_attempt_notimeout 
+:      003540 check_attempt_not_sco:
+0x270f 003541 fetch 1 ,mem_current_sniff_attempt 
+0x2710 003542 bne 1 ,check_attempt_notimeout 
+0x2711 003543 fetch 1 ,mem_current_sniff_timeout 
+0x2712 003544 branch check_attempt_notimeout ,blank 
+0x2713 003545 increase -1 ,pdata 
+0x2714 003546 store 1 ,mem_current_sniff_timeout 
+0x2715 003547 fetch 1 ,mem_arq 
+0x2716 003548 rtnbit1 wack 
+0x2717 003549 nrtn match 
+:      003550 check_attempt_notimeout:
+0x2718 003551 fetch 1 ,mem_current_sniff_attempt 
+0x2719 003552 increase -1 ,pdata 
+0x271a 003553 store 1 ,mem_current_sniff_attempt 
+0x271b 003554 rtn 
+:      003565 sniff_check_window:
+0x271c 003566 bpatch patch0d_7 ,mem_patch0d 
+0x271d 003567 disable swfine 
+0x271e 003568 copy temp ,stop_watch 
+0x271f 003569 call context_search_sniff_window 
+0x2720 003570 disable user 
+0x2721 003571 nrtn zero 
+0x2722 003572 force 0 ,stop_watch 
+0x2723 003573 enable user 
+0x2724 003574 rtn 
+:      003577 check_esco_amaddr:
+0x2725 003578 fetch 1 ,mem_esco_addr 
+0x2726 003579 icompare 0xff ,am_addr 
+0x2727 003580 rtn 
+:      003583 parse_l2cap:
+0x2728 003584 bpatch patch0e_0 ,mem_patch0e 
+0x2729 003585 set0 mark_rxbuf_inuse ,mark 
+:      003586 parse_l2cap_cont:
+0x272a 003587 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x272b 003588 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x272c 003589 rtn blank 
+0x272d 003590 isolate1 l2cap_inuse_buff1 ,pdata 
+0x272e 003591 arg mem_l2cap_rxbuff1 ,contr 
+0x272f 003592 call process_rx_l2cap_pkt ,true 
+0x2730 003593 bpatch patch0e_1 ,mem_patch0e 
+0x2731 003594 fetch 1 ,mem_l2cap_rx_done 
+0x2732 003595 beq l2cap_rx_done ,parse_l2cap_release_buff1 
+0x2733 003597 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x2734 003598 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2735 003599 rtnbit0 l2cap_inuse_buff2 
+0x2736 003600 arg mem_l2cap_rxbuff2 ,contr 
+0x2737 003601 call process_rx_l2cap_pkt 
+0x2738 003602 fetch 1 ,mem_l2cap_rx_done 
+0x2739 003603 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+0x273a 003604 rtn 
+:      003606 parse_l2cap_release_buff1:
+0x273b 003607 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x273c 003608 set0 l2cap_inuse_buff1 ,pdata 
+0x273d 003609 store 1 ,mem_l2cap_rxbuff_inuse 
+0x273e 003610 setarg 0 
+0x273f 003611 store 2 ,mem_l2cap_rxbuff1_len 
+0x2740 003612 rtn 
+:      003613 parse_l2cap_release_buff2:
+0x2741 003614 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2742 003615 set0 l2cap_inuse_buff2 ,pdata 
+0x2743 003616 store 1 ,mem_l2cap_rxbuff_inuse 
+0x2744 003617 setarg 0 
+0x2745 003618 store 2 ,mem_l2cap_rxbuff2_len 
+0x2746 003619 rtn 
+:      003621 l2cap_buff1_inuse:
+0x2747 003622 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2748 003623 set1 l2cap_inuse_buff1 ,pdata 
+0x2749 003624 store 1 ,mem_l2cap_rxbuff_inuse 
+0x274a 003625 rtn 
+:      003627 l2cap_buff2_inuse:
+0x274b 003628 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x274c 003629 set1 l2cap_inuse_buff2 ,pdata 
+0x274d 003630 store 1 ,mem_l2cap_rxbuff_inuse 
+0x274e 003631 rtn 
+:      003637 slave_send_access:
+0x274f 003638 bpatch patch0e_2 ,mem_patch0e 
+0x2750 003639 add clke_bt ,1 ,bt_clk 
+0x2751 003640 call fetch_extm_bt_adr 
+0x2752 003641 force 0x03 ,freq_mode 
+0x2753 003642 call tx_radio_freq 
+0x2754 003643 call start_transmitter 
+0x2755 003644 call start_tx_external 
+0x2756 003645 branch send_access_word 
+:      003648 slave_conn_send_packet:
+0x2757 003649 bpatch patch0e_3 ,mem_patch0e 
+0x2758 003650 call rf_setup_time_slave_slot 
+0x2759 003651 deposit clke_bt 
+0x275a 003652 fetcht 4 ,mem_next_btclk 
+0x275b 003653 isub temp ,pdata 
+0x275c 003654 rtnne 1 
+0x275d 003655 compare type_null ,type ,0x1f 
+0x275e 003656 nbranch slave_conn_send_access ,true 
+0x275f 003657 fetch 1 ,mem_rx_type 
+0x2760 003658 rtn blank 
+:      003659 slave_conn_send_access:
+0x2761 003660 call slave_send_access 
+:      003661 transmit_packet:
+0x2762 003662 compare type_id ,type ,0x1f 
+0x2763 003663 branch end_of_packet ,true 
+0x2764 003664 rshift bt_clk ,temp 
+0x2765 003665 or temp ,0x40 ,white_init 
+:      003666 transmit_packet_whitened:
+0x2766 003667 bpatch patch0e_4 ,mem_patch0e 
+0x2767 003668 enable enable_white 
+0x2768 003669 enable enable_hec 
+0x2769 003670 enable encode_fec1 
+0x276a 003671 set0 mark_longpacket ,mark 
+0x276b 003672 deposit am_addr 
+0x276c 003673 inject mod ,3 
+0x276d 003674 deposit type 
+0x276e 003675 inject mod ,4 
+0x276f 003676 fetch 1 ,mem_arq 
+0x2770 003677 inject bucket ,4 
+0x2771 003678 inject mod ,3 
+0x2772 003679 enable enable_parity 
+0x2773 003680 inject mod ,8 
+0x2774 003681 disable encode_fec1 
+0x2775 003682 disable enable_parity 
+0x2776 003683 disable enable_hec 
+0x2777 003684 set0 psk3m ,radio_ctrl 
+0x2778 003685 arg 0 ,temp 
+0x2779 003686 call reserve_slot 
+0x277a 003687 bpatch patch0e_5 ,mem_patch0e 
+0x277b 003688 and type ,0x1f ,pdata 
+0x277c 003689 beq type_lmp ,transmit_lmp 
+0x277d 003690 beq type_null ,end_of_packet 
+0x277e 003691 beq type_poll ,end_of_packet 
+0x277f 003692 beq type_fhs ,transmit_fhs 
+0x2780 003693 beq type_dm1 ,transmit_dm1 
+0x2781 003694 beq type_dh1 ,transmit_dh1 
+0x2782 003695 beq type_hv3 ,transmit_hev 
+0x2783 003696 beq type_3dh1 ,transmit_3dh1 
+0x2784 003697 arg 4 ,temp 
+0x2785 003698 call reserve_slot 
+0x2786 003699 beq type_dm3 ,transmit_dm3 
+0x2787 003700 beq type_dh3 ,transmit_dh3 
+0x2788 003701 arg 8 ,temp 
+0x2789 003702 call reserve_slot 
+0x278a 003703 beq type_dh5 ,transmit_dh5 
+0x278b 003704 branch transmit_dm5 
+:      003707 transmit_hev:
+0x278c 003708 bpatch patch0e_6 ,mem_patch0e 
+0x278d 003709 enable encode_fec0 
+0x278e 003710 enable enable_crc 
+0x278f 003711 enable encrypt 
+0x2790 003712 force 30 ,loopcnt 
+0x2791 003713 arg mem_sco_obuf ,contr 
+:      003714 transmit_ev_loop:
+0x2792 003715 ifetch 1 ,contr 
+0x2793 003716 inject mod ,8 
+0x2794 003717 loop transmit_ev_loop 
+0x2795 003718 bmark1 mark_esco ,transmit_end 
+0x2796 003719 branch end_of_packet 
+:      003721 transmit_fhs:
+0x2797 003722 bpatch patch0e_7 ,mem_patch0e 
+0x2798 003723 fetch 1 ,mem_fhs_am_addr 
+0x2799 003724 icopy am_addr 
+0x279a 003725 fetch 1 ,mem_fhs_misc 
+0x279b 003726 icopy fhs_misc 
+0x279c 003727 fetch 3 ,mem_class 
+0x279d 003728 icopy fhs_class 
+0x279e 003729 fetch 2 ,mem_nap 
+0x279f 003730 icopy nap 
+0x27a0 003731 enable enable_crc 
+0x27a1 003732 enable encode_fec2 
+0x27a2 003733 copy bt_adr ,rega 
+0x27a3 003734 call fetch_self_bt_adr 
+0x27a4 003735 pulse recalc 
+0x27a5 003736 nop 32 
+0x27a6 003737 copy bt_clk ,timeup 
+0x27a7 003738 fetch 4 ,mem_clkn_bt 
+0x27a8 003739 icopy bt_clk 
+0x27a9 003740 preload fhs0 
+0x27aa 003741 set1 58 ,pdata 
+0x27ab 003742 inject mod ,72 
+0x27ac 003743 preload fhs1 
+0x27ad 003744 inject mod ,72 
+0x27ae 003745 copy timeup ,bt_clk 
+0x27af 003746 copy rega ,bt_adr 
+0x27b0 003747 enable enable_parity 
+0x27b1 003748 inject mod ,16 
+0x27b2 003749 disable enable_parity 
+0x27b3 003750 branch end_of_packet 
+:      003752 transmit_lmp:
+0x27b4 003753 bpatch patch0f_0 ,mem_patch0f 
+0x27b5 003754 enable encrypt 
+0x27b6 003755 enable enable_crc 
+0x27b7 003756 enable encode_fec2 
+0x27b8 003757 fetch 1 ,mem_lmo_header_length 
+0x27b9 003758 and pdata ,0x1f8 ,temp 
+0x27ba 003759 arg mem_lmo_header_length ,contr 
+0x27bb 003760 increase 8 ,temp 
+:      003761 transmit_lmp_loop:
+0x27bc 003762 add temp ,-72 ,regc 
+0x27bd 003763 nbranch transmit_lmp_finish ,positive 
+0x27be 003764 ifetch 9 ,contr 
+0x27bf 003765 inject mod ,72 
+0x27c0 003766 copy regc ,temp 
+0x27c1 003767 branch transmit_lmp_loop 
+:      003768 transmit_lmp_finish:
+0x27c2 003769 ifetch 9 ,contr 
+0x27c3 003770 iinject mod ,temp 
+0x27c4 003771 branch transmit_end 
+:      003773 transmit_dm1:
+0x27c5 003774 enable encode_fec2 
+0x27c6 003775 branch transmit_dmh 
+:      003776 transmit_dm3:
+:      003777 transmit_dm5:
+0x27c7 003778 enable encode_fec2 
+0x27c8 003779 set1 mark_longpacket ,mark 
+0x27c9 003780 branch transmit_dmh 
+:      003782 transmit_3dh1:
+0x27ca 003783 set1 psk3m ,radio_ctrl 
+:      003784 transmit_dh1:
+0x27cb 003785 enable encode_fec0 
+0x27cc 003786 branch transmit_dmh 
+:      003788 transmit_dh3:
+:      003789 transmit_dh5:
+0x27cd 003790 set1 psk3m ,radio_ctrl 
+0x27ce 003791 enable encode_fec0 
+0x27cf 003792 set1 mark_longpacket ,mark 
+:      003794 transmit_dmh:
+0x27d0 003795 bpatch patch0f_1 ,mem_patch0f 
+0x27d1 003796 fetch 1 ,mem_state_map 
+0x27d2 003797 bbit0 smap_edr ,transmit_noedr 
+0x27d3 003798 sub type ,3 ,null 
+0x27d4 003799 branch transmit_noedr ,positive 
+0x27d5 003800 disable encrypt 
+0x27d6 003801 disable encode_fec2 
+0x27d7 003802 enable encode_fec0 
+0x27d8 003803 disable enable_white 
+0x27d9 003804 set1 psk ,radio_ctrl 
+0x27da 003805 isolate1 psk3m ,radio_ctrl 
+0x27db 003806 branch transmit_edr3m ,true 
+0x27dc 003807 setarg 0xabeee 
+0x27dd 003808 inject mod ,20 
+0x27de 003809 branch transmit_edr_sync_end 
+:      003810 transmit_edr3m:
+0x27df 003811 setarg 0x5faeba 
+0x27e0 003812 inject mod ,24 
+0x27e1 003813 setarg 0x12 
+0x27e2 003814 inject mod ,6 
+:      003815 transmit_edr_sync_end:
+0x27e3 003816 enable enable_white 
+0x27e4 003817 set1 mark_longpacket ,mark 
+:      003818 transmit_noedr:
+0x27e5 003819 enable encrypt 
+0x27e6 003820 enable enable_crc 
+0x27e7 003821 bmark1 mark_loopback ,transmit_loopback 
+0x27e8 003822 fetch 1 ,mem_tx_lch 
+0x27e9 003823 inject mod ,3 
+0x27ea 003824 fetch 2 ,mem_tx_len 
+0x27eb 003825 iforce loopcnt 
+0x27ec 003826 bmark1 mark_longpacket ,transmit_long 
+0x27ed 003827 inject mod ,5 
+0x27ee 003828 branch transmit_stuff 
+:      003829 transmit_long:
+0x27ef 003830 inject mod ,13 
+:      003831 transmit_stuff:
+0x27f0 003832 deposit loopcnt 
+0x27f1 003833 branch transmit_end ,blank 
+0x27f2 003834 fetch 2 ,mem_txptr 
+0x27f3 003835 iforce contr 
+:      003836 transmit_stuff_loop:
+0x27f4 003837 ifetch 1 ,contr 
+0x27f5 003838 inject mod ,8 
+0x27f6 003839 loop transmit_stuff_loop 
+:      003842 transmit_end:
+0x27f7 003843 enable enable_parity 
+0x27f8 003844 inject mod ,16 
+0x27f9 003845 disable enable_parity 
+0x27fa 003846 call set_wait_ack 
+0x27fb 003847 fetch 1 ,mem_state_map 
+0x27fc 003848 bbit0 smap_edr ,end_of_packet 
+0x27fd 003849 force 0 ,pdata 
+0x27fe 003850 inject mod ,6 
+0x27ff 003851 branch end_of_packet 
+:      003854 transmit_loopback:
+0x2800 003855 bpatch patch0f_2 ,mem_patch0f 
+0x2801 003856 bmark1 mark_longpacket ,transmit_loopback_long 
+:      003857 transmit_loopback_short:
+0x2802 003858 fetch 1 ,mem_lch_code 
+0x2803 003859 inject mod ,3 
+0x2804 003860 fetch 1 ,mem_len 
+0x2805 003861 iforce regc 
+0x2806 003862 inject mod ,5 
+0x2807 003863 branch transmit_loopback_cont 
+:      003864 transmit_loopback_long:
+0x2808 003865 fetch 1 ,mem_lch_code 
+0x2809 003866 inject mod ,3 
+0x280a 003867 fetch 2 ,mem_len 
+0x280b 003868 iforce regc 
+0x280c 003869 inject mod ,13 
+:      003870 transmit_loopback_cont:
+0x280d 003871 arg mem_rxbuf ,contr 
+:      003872 transmit_loopback_loop:
+0x280e 003873 copy regc ,null 
+0x280f 003874 branch transmit_loopback_end ,zero 
+0x2810 003875 ifetch 1 ,contr 
+0x2811 003876 inject mod ,8 
+0x2812 003877 increase -1 ,regc 
+0x2813 003878 branch transmit_loopback_loop 
+:      003879 transmit_loopback_end:
+0x2814 003880 fetch 2 ,mem_tst_pktcnt_dmh 
+0x2815 003881 increase 1 ,pdata 
+0x2816 003882 store 2 ,mem_tst_pktcnt_dmh 
+0x2817 003883 branch transmit_end 
+:      003886 apply_switch_clke:
+0x2818 003887 fetch 4 ,mem_clke_bt 
+0x2819 003888 add pdata ,7 ,rega 
+0x281a 003889 fetch 2 ,mem_slot_offset 
+0x281b 003890 nbranch apply_switch_nozero ,blank 
+0x281c 003891 increase -3 ,rega 
+0x281d 003892 branch apply_switch_wait_loop 
+:      003893 apply_switch_nozero:
+0x281e 003894 mul32 pdata ,12 ,pdata 
+0x281f 003895 hfetcht 2 ,core_halfslot 
+0x2820 003896 increase 1 ,temp 
+:      003897 apply_switch_loop:
+0x2821 003898 isub temp ,pdata 
+0x2822 003899 nbranch apply_switch_bt ,positive 
+0x2823 003900 increase -1 ,rega 
+0x2824 003901 branch apply_switch_loop 
+:      003902 apply_switch_bt:
+0x2825 003903 sub pdata ,0 ,pdata 
+:      003904 apply_switch_wait_loop:
+0x2826 003905 until null ,oneslot 
+0x2827 003906 compare 0 ,clkn_bt ,3 
+0x2828 003907 nbranch apply_switch_wait_loop ,true 
+0x2829 003908 iforce clke_rt 
+0x282a 003909 copy rega ,clke_bt 
+0x282b 003910 iforce clke_rt 
+0x282c 003911 rtn 
+:      003914 calc_slot_offset:
+0x282d 003915 bpatch patch0f_3 ,mem_patch0f 
+0x282e 003916 until null ,halfslot 
+0x282f 003917 deposit clke 
+0x2830 003918 iforce contr 
+0x2831 003919 rshift16 ,pdata ,pdata 
+0x2832 003920 isub clkn_bt ,loopcnt 
+0x2833 003921 and_into 3 ,loopcnt 
+0x2834 003922 nbranch calc_bt_portion ,zero 
+0x2835 003923 force 0 ,pdata 
+0x2836 003924 branch calc_skip_bt 
+:      003925 calc_bt_portion:
+0x2837 003926 arg 3750 ,temp 
+0x2838 003927 force 0 ,pdata 
+:      003928 calc_slot_offset_loop:
+0x2839 003929 iadd temp ,pdata 
+0x283a 003930 loop calc_slot_offset_loop 
+:      003931 calc_skip_bt:
+0x283b 003932 iadd contr ,pdata 
+0x283c 003933 div pdata ,12 
+0x283d 003934 call wait_div_end 
+0x283e 003935 quotient pdata 
+0x283f 003936 store 2 ,mem_slot_offset 
+0x2840 003937 rtn 
+:      003939 calc_clke_offset:
+0x2841 003940 bpatch patch0f_4 ,mem_patch0f 
+0x2842 003941 deposit clke 
+0x2843 003942 copy clkn ,temp 
+0x2844 003943 isub temp ,null 
+0x2845 003944 nsetflag positive ,44 ,pdata 
+0x2846 003945 isub temp ,temp 
+0x2847 003946 setarg 3750 
+0x2848 003947 isolate0 15 ,temp 
+0x2849 003948 branch calc_clke_pos ,true 
+0x284a 003949 setarg -61786 
+0x284b 003950 iadd temp ,temp 
+:      003951 calc_clke_pos:
+0x284c 003952 storet 6 ,mem_le_clk_offset 
+0x284d 003953 rtn le 
+0x284e 003954 storet 6 ,mem_clk_offset 
+0x284f 003955 rtn 
+:      003957 calc_clke:
+0x2850 003958 disable clknt 
+0x2851 003959 fetch 6 ,mem_le_clk_offset 
+0x2852 003960 branch calc_clke2 ,le 
+0x2853 003961 fetch 6 ,mem_clk_offset 
+:      003962 calc_clke2:
+0x2854 003963 iadd clkn ,alarm 
+0x2855 003964 increase 10 ,alarm 
+0x2856 003965 setarg 3750 
+0x2857 003966 isub alarm ,pdata 
+0x2858 003967 isolate0 15 ,pdata 
+0x2859 003968 branch calc_clke_pos_adj ,true 
+0x285a 003969 setarg 0xf15a 
+0x285b 003970 iadd alarm ,alarm 
+:      003971 calc_clke_pos2:
+0x285c 003972 copy alarm ,clke 
+0x285d 003973 rtn 
+:      003974 calc_clke_pos_adj:
+0x285e 003975 force 0 ,null 
+0x285f 003976 branch calc_clke_pos2 
+:      003983 calc_radio_freq:
+0x2860 003984 bpatch patch0f_5 ,mem_patch0f 
+0x2861 003985 call set_sync_on 
+0x2862 003986 copy bt_clk ,pdata 
+0x2863 003987 and_into 0x180 ,pdata 
+0x2864 003988 compare 3 ,freq_mode ,0x07 
+0x2865 003989 nbranch freq_not_connection ,true 
+0x2866 003990 rshift3 pdata ,pdata 
+0x2867 003991 iadd freq_index ,pdata 
+0x2868 003992 branch do_hop_mod_now 
+:      003993 freq_not_connection:
+0x2869 003994 copy freq_index ,pdata 
+:      003995 do_hop_mod_now:
+0x286a 003996 div pdata ,79 
+0x286b 003997 pulse recalc 
+0x286c 003998 call wait_div_end 
+0x286d 003999 remainder rega 
+0x286e 004000 add rega ,-40 ,temp 
+0x286f 004001 branch odd_half ,positive 
+0x2870 004002 lshift rega ,temp 
+0x2871 004003 branch freq_result 
+:      004004 odd_half:
+0x2872 004005 lshift temp ,temp 
+0x2873 004006 increase 1 ,temp 
+:      004007 freq_result:
+0x2874 004008 bpatch patch0f_6 ,mem_patch0f 
+0x2875 004009 fetch 1 ,mem_mode 
+0x2876 004010 bbit0 afh_change ,afh_process_con 
+:      004011 afh_process_0:
+0x2877 004012 fetch 4 ,mem_afh_instant 
+0x2878 004013 isub bt_clk ,null 
+0x2879 004014 branch afh_process_con ,positive 
+0x287a 004015 call afh_clear 
+0x287b 004016 fetch 1 ,mem_afh_new_mod 
+0x287c 004017 rtn blank 
+0x287d 004018 fetch 1 ,mem_mode 
+0x287e 004019 set1 afh_enable ,pdata 
+0x287f 004020 store 1 ,mem_mode 
+0x2880 004021 fetch 5 ,mem_afh_map_new 
+0x2881 004022 store 5 ,mem_afh_map_lo 
+0x2882 004023 ifetch 5 ,contr 
+0x2883 004024 store 5 ,mem_afh_map_hi 
+0x2884 004025 call afh_process_freq_map 
+:      004026 afh_process_con:
+0x2885 004027 fetch 1 ,mem_mode 
+0x2886 004028 rtnbit0 afh_enable 
+0x2887 004029 isolate1 1 ,bt_clk 
+0x2888 004030 branch afh_same_channel ,true 
+0x2889 004031 rshift3 temp ,rega 
+0x288a 004032 and temp ,7 ,queue 
+0x288b 004033 setarg mem_afh_map_lo 
+0x288c 004034 iadd rega ,rega 
+0x288d 004035 ifetch 1 ,rega 
+0x288e 004036 qisolate0 pdata 
+0x288f 004037 branch afh_process_1 ,true 
+0x2890 004038 deposit temp 
+0x2891 004039 branch afh_process_end 
+:      004040 afh_process_1:
+0x2892 004041 fetch 1 ,mem_afh_used 
+0x2893 004042 iforce regb 
+0x2894 004043 deposit bt_clk 
+0x2895 004044 and_into 0x180 ,pdata 
+0x2896 004045 rshift3 pdata ,pdata 
+0x2897 004046 iadd freq_index ,pdata 
+0x2898 004047 idiv regb 
+0x2899 004048 setarg mem_afh_map 
+0x289a 004049 call wait_div_end 
+0x289b 004050 remainder rega 
+0x289c 004051 iadd rega ,contr 
+0x289d 004052 ifetch 1 ,contr 
+:      004053 afh_process_end:
+0x289e 004054 store 1 ,mem_afh_index 
+0x289f 004055 iforce temp 
+0x28a0 004056 rtn 
+:      004058 afh_same_channel:
+0x28a1 004059 fetch 1 ,mem_afh_index 
+0x28a2 004060 iforce temp 
+0x28a3 004061 rtn 
+:      004063 afh_clear:
+0x28a4 004064 fetch 1 ,mem_mode 
+0x28a5 004065 set0 afh_enable ,pdata 
+0x28a6 004066 set0 afh_change ,pdata 
+0x28a7 004067 store 1 ,mem_mode 
+0x28a8 004068 rtn 
+:      004074 afh_process_freq_map:
+0x28a9 004075 bpatch patch0f_7 ,mem_patch0f 
+0x28aa 004076 arg mem_afh_map ,contw 
+0x28ab 004077 force 10 ,loopcnt 
+0x28ac 004078 call memset0 
+0x28ad 004079 arg mem_afh_map ,contw 
+0x28ae 004080 force 0 ,regc 
+0x28af 004081 force 2 ,queue 
+:      004082 process_freq_3:
+0x28b0 004083 fetch 5 ,mem_afh_map_lo 
+0x28b1 004084 iforce temp 
+0x28b2 004085 compare 2 ,queue ,0xff 
+0x28b3 004086 branch process_freq_1 ,true 
+0x28b4 004087 rshift temp ,temp 
+:      004088 process_freq_1:
+0x28b5 004089 isolate0 0 ,temp 
+0x28b6 004090 branch process_freq_0 ,true 
+0x28b7 004091 deposit regc 
+0x28b8 004092 istore 1 ,contw 
+:      004093 process_freq_0:
+0x28b9 004094 rshift2 temp ,temp 
+0x28ba 004095 increase 2 ,regc 
+0x28bb 004096 compare 40 ,regc ,0xfe 
+0x28bc 004097 nbranch process_freq_2 ,true 
+0x28bd 004098 fetch 5 ,mem_afh_map_hi 
+0x28be 004099 iforce temp 
+0x28bf 004100 compare 2 ,queue ,0xff 
+0x28c0 004101 branch process_freq_2 ,true 
+0x28c1 004102 rshift temp ,temp 
+:      004103 process_freq_2:
+0x28c2 004104 sub regc ,78 ,null 
+0x28c3 004105 branch process_freq_1 ,positive 
+0x28c4 004106 force 1 ,regc 
+0x28c5 004107 increase -1 ,queue 
+0x28c6 004108 nbranch process_freq_3 ,zero 
+0x28c7 004109 arg mem_afh_map ,rega 
+0x28c8 004110 deposit contw 
+0x28c9 004111 isub rega ,pdata 
+0x28ca 004112 store 1 ,mem_afh_used 
+0x28cb 004113 rtn 
+:      004115 rx_radio_freq:
+0x28cc 004116 bpatch patch10_0 ,mem_patch10 
+0x28cd 004117 call calc_radio_freq 
+0x28ce 004118 fetch 1 ,mem_debug_config 
+0x28cf 004119 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+0x28d0 004120 fetcht 1 ,mem_rx_fixed_freq 
+:      004121 rx_radio_freq_now:
+0x28d1 004122 branch set_freq_rx 
+:      004125 tx_radio_freq:
+0x28d2 004126 bpatch patch10_1 ,mem_patch10 
+0x28d3 004127 call calc_radio_freq 
+0x28d4 004128 fetch 1 ,mem_debug_config 
+0x28d5 004129 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+0x28d6 004130 fetcht 1 ,mem_tx_fixed_freq 
+:      004131 tx_radio_freq_now:
+0x28d7 004132 branch set_freq_tx 
+:      004135 fetch_giac:
+0x28d8 004136 force 0 ,uap 
+0x28d9 004137 fetch 3 ,mem_glap 
+0x28da 004138 iforce lap 
+0x28db 004139 rtn 
+:      004141 fetch_page_bt_adr:
+0x28dc 004142 bpatch patch10_2 ,mem_patch10 
+0x28dd 004143 fetch 1 ,mem_hci_puap 
+0x28de 004144 icopy uap 
+0x28df 004145 fetch 3 ,mem_hci_plap 
+0x28e0 004146 icopy lap 
+0x28e1 004147 rtn 
+:      004149 fetch_self_bt_adr:
+0x28e2 004150 bpatch patch10_3 ,mem_patch10 
+0x28e3 004151 fetch 2 ,mem_nap 
+0x28e4 004152 icopy nap 
+0x28e5 004153 fetch 1 ,mem_uap 
+0x28e6 004154 icopy uap 
+0x28e7 004155 fetch 3 ,mem_lap 
+0x28e8 004156 icopy lap 
+0x28e9 004157 rtn 
+:      004159 fetch_extm_bt_adr:
+0x28ea 004160 bpatch patch10_4 ,mem_patch10 
+0x28eb 004161 fetch 2 ,mem_pnap 
+0x28ec 004162 icopy nap 
+0x28ed 004163 fetch 1 ,mem_puap 
+0x28ee 004164 icopy uap 
+0x28ef 004165 fetch 3 ,mem_plap 
+0x28f0 004166 icopy lap 
+0x28f1 004167 rtn 
+:      004170 fetch_diac:
+0x28f2 004171 bmark1 mark_all_diac ,fetch_diac_do 
+0x28f3 004172 rtnmark0 mark_inquiry_state 
+0x28f4 004173 rtnmark0 mark_periodical_diac 
+:      004174 fetch_diac_do:
+0x28f5 004175 and_into -256 ,lap 
+0x28f6 004176 pulse recalc 
+0x28f7 004177 nop 32 
+0x28f8 004178 rtn 
+:      004181 shutdown_radio:
+0x28f9 004182 bpatch patch10_5 ,mem_patch10 
+0x28fa 004183 branch shutdown_radio0 ,is_rx 
+0x28fb 004184 hjam 0xd4 ,0x955 
+0x28fc 004185 nop 4 
+0x28fd 004186 hjam 0xd2 ,0x955 
+0x28fe 004187 nop 4 
+0x28ff 004188 hjam 0xd1 ,0x955 
+0x2900 004189 nop 4 
+0x2901 004190 fetch 1 ,mem_tx_power 
+0x2902 004191 beq tx_power_0db ,shutdown_radio_0db 
+0x2903 004192 beq tx_power_3db ,shutdown_radio_3db 
+0x2904 004193 beq tx_power_5db ,shutdown_radio_5db 
+0x2905 004194 beq tx_power_f3db ,shutdown_radio_f3db 
+0x2906 004195 beq tx_power_f5db ,shutdown_radio_f5db 
+0x2907 004196 beq tx_power_pair ,shutdown_radio_pair 
+:      004197 shutdown_radio_5db:
+:      004198 shutdown_radio_0db:
+0x2908 004199 hjam 0xd0 ,0x955 
+0x2909 004200 hjam 0xe0 ,0x956 
+:      004201 shutdown_radio0:
+0x290a 004202 force 0 ,radio_ctrl 
+0x290b 004203 disable is_rx 
+0x290c 004204 disable is_tx 
+0x290d 004205 pulse packet_end 
+0x290e 004206 hjam 0x0 ,rfen_mdm 
+0x290f 004207 hjam 0x0 ,rfen_tx 
+0x2910 004208 hjam 0x0 ,rfen_rx 
+0x2911 004209 hjam 0 ,rfen_sn 
+0x2912 004210 hjam 0x70 ,rfen_msc 
+0x2913 004211 hjam 0x0 ,rfen_adc 
+0x2914 004212 rtn 
+:      004214 shutdown_radio_pair:
+:      004215 shutdown_radio_f5db:
+:      004216 shutdown_radio_f3db:
+:      004217 shutdown_radio_3db:
+0x2915 004218 hjam 0xd0 ,0x955 
+0x2916 004219 hjam 0xc0 ,0x956 
+0x2917 004220 branch shutdown_radio0 
+:      004222 set_sync_on:
+0x2918 004223 bpatch patch10_6 ,mem_patch10 
+0x2919 004224 hjam 0x0 ,rfen_mdm 
+0x291a 004225 hjam 0x0 ,rfen_tx 
+0x291b 004226 hjam 0x18 ,rfen_rx 
+0x291c 004227 hjam 0xa7 ,rfen_sn 
+0x291d 004228 hjam 0x7f ,rfen_msc 
+0x291e 004229 rtn 
+:      004231 set_freq_rx:
+0x291f 004232 bpatch patch10_7 ,mem_patch10 
+0x2920 004234 storet 1 ,mem_last_freq 
+0x2921 004235 add temp ,rx_freq_offset ,rega 
+0x2922 004236 hjam 0x07 ,0x96d 
+0x2923 004237 branch rf_write_freq 
+:      004238 rf_rx_enable:
+0x2924 004239 bpatch patch11_0 ,mem_patch11 
+0x2925 004240 hjam 0xcf ,rfen_tx 
+0x2926 004241 nop 10 
+0x2927 004242 hjam 0xff ,rfen_rx 
+0x2928 004243 hjam 0xaf ,rfen_sn 
+0x2929 004244 hjam 0xff ,rfen_msc 
+0x292a 004245 nop 10 
+0x292b 004246 hjam 0xa0 ,rfen_mdm 
+0x292c 004247 rtn 
+:      004249 set_freq_tx_offset:
+0x292d 004250 fetch 1 ,mem_250k_freq_enable 
+0x292e 004251 branch set_freq_tx_2m_offset ,blank 
+:      004252 set_freq_tx_0m_offset:
+0x292f 004253 add temp ,2 ,rega 
+0x2930 004254 rtn 
+:      004255 set_freq_tx_2m_offset:
+0x2931 004256 add temp ,0 ,rega 
+0x2932 004257 rtn 
+:      004259 set_freq_tx:
+0x2933 004260 bpatch patch11_1 ,mem_patch11 
+0x2934 004261 storet 1 ,mem_last_freq 
+0x2935 004262 call set_freq_tx_offset 
+0x2936 004263 call rf_write_freq 
+0x2937 004264 setarg param_pll_setup 
+0x2938 004265 call sleep 
+:      004266 txon:
+0x2939 004267 hjam 0x1 ,rfen_adc 
+0x293a 004268 hjam 0x3c ,rfen_rx 
+0x293b 004269 hjam 0xe0 ,rfen_tx 
+0x293c 004270 hjam 0x12 ,0x96d 
+0x293d 004271 nop 10 
+0x293e 004272 hjam 0x01 ,rfen_mdm 
+0x293f 004273 hjam 0x3d ,rfen_mdm 
+0x2940 004274 nop 10 
+0x2941 004275 hjam 0xb7 ,rfen_sn 
+0x2942 004276 nop 10 
+0x2943 004277 hjam 0x7f ,rfen_mdm 
+0x2944 004278 fetch 1 ,mem_tx_power 
+0x2945 004279 beq tx_power_0db ,set_tx_power_0db 
+0x2946 004280 beq tx_power_3db ,set_tx_power_3db 
+0x2947 004281 beq tx_power_5db ,set_tx_power_5db 
+0x2948 004282 beq tx_power_f3db ,set_tx_power_f3db 
+0x2949 004283 beq tx_power_f5db ,set_tx_power_f5db 
+0x294a 004284 beq tx_power_pair ,set_tx_power_pair 
+:      004285 set_tx_power_0db:
+0x294b 004286 hjam 0xf0 ,0x956 
+0x294c 004287 call txon_common 
+0x294d 004288 hjam 0xd8 ,0x955 
+0x294e 004289 rtn 
+:      004291 set_tx_power_3db:
+0x294f 004292 hjam 0xdf ,0x956 
+0x2950 004293 call txon_common 
+0x2951 004294 hjam 0xdf ,0x955 
+0x2952 004295 rtn 
+:      004297 set_tx_power_5db:
+0x2953 004298 hjam 0xff ,0x956 
+0x2954 004299 call txon_common 
+0x2955 004300 hjam 0xdf ,0x955 
+0x2956 004301 rtn 
+:      004302 set_tx_power_f3db:
+0x2957 004303 hjam 0xce ,0x956 
+0x2958 004304 call txon_common 
+0x2959 004305 hjam 0xd8 ,0x955 
+0x295a 004306 rtn 
+:      004308 set_tx_power_f5db:
+0x295b 004309 hjam 0xcb ,0x956 
+0x295c 004310 call txon_common 
+0x295d 004311 hjam 0xd8 ,0x955 
+0x295e 004312 rtn 
+:      004314 set_tx_power_pair:
+0x295f 004315 hjam 0xd0 ,0x955 
+0x2960 004316 hjam 0xc0 ,0x956 
+0x2961 004317 hjam 0x4c ,0x957 
+0x2962 004318 hjam 0x6c ,0x958 
+0x2963 004319 hjam 0x50 ,0x959 
+0x2964 004320 rtn 
+:      004322 txon_common:
+0x2965 004323 nop 4 
+0x2966 004324 hjam 0xd1 ,0x955 
+0x2967 004325 nop 4 
+0x2968 004326 hjam 0xd2 ,0x955 
+0x2969 004327 nop 4 
+0x296a 004328 hjam 0xd4 ,0x955 
+0x296b 004329 rtn 
+:      004332 initialize_radio:
+0x296c 004333 hjam clksel_rc ,core_clksel 
+:      004334 initialize_radio_wait:
+0x296d 004335 fetch 2 ,mem_rf_init_ptr 
+0x296e 004336 bbit0 14 ,initialize_radio_wait 
+0x296f 004337 iforce contr 
+0x2970 004338 arg 0x8900 ,temp 
+:      004339 initialize_radio_loop:
+0x2971 004340 ifetch 1 ,contr 
+0x2972 004341 beq 0xff ,initialize_radio_cont 
+0x2973 004342 ior temp ,contw 
+0x2974 004343 ifetch 1 ,contr 
+0x2975 004344 istore 1 ,contw 
+0x2976 004345 branch initialize_radio_loop 
+:      004346 initialize_radio_cont:
+0x2977 004347 bpatch patch11_2 ,mem_patch11 
+0x2978 004348 call lpm_cal_xtal_startup 
+0x2979 004349 call switchto_dpllclk 
+0x297a 004351 setarg param_dpll_start_delay 
+0x297b 004352 iadd clkn_bt ,pdata 
+0x297c 004353 store 4 ,mem_dpll_clkn 
+0x297d 004354 set1 reset ,radio_ctrl 
+0x297e 004355 force 0 ,radio_ctrl 
+0x297f 004356 ncall do_rccal ,wake 
+0x2980 004357 branch set_rccal 
+:      004360 rf_write_freq:
+0x2981 004361 bpatch patch11_3 ,mem_patch11 
+0x2982 004362 setarg 2400 
+0x2983 004363 iadd rega ,temp 
+0x2984 004364 fetch 1 ,mem_fcomp_mul 
+0x2985 004365 hjam 0x04 ,rf_pll_rstn 
+0x2986 004366 imul32 temp ,pdata 
+0x2987 004367 fetcht 1 ,mem_fcomp_div 
+0x2988 004368 idiv temp 
+0x2989 004369 call wait_div_end 
+0x298a 004370 quotient rega 
+0x298b 004371 remainder pdata 
+0x298c 004372 lshift16 pdata ,pdata 
+0x298d 004373 lshift4 pdata ,pdata 
+0x298e 004374 idiv temp 
+0x298f 004375 call wait_div_end 
+0x2990 004376 quotient pdata 
+0x2991 004377 lshift8 pdata ,pdata 
+0x2992 004378 lshift pdata ,pdata 
+0x2993 004379 ior rega ,pdata 
+0x2994 004380 hstore 4 ,rf_pll_intg 
+0x2995 004381 hjam 0x44 ,rf_pll_rstn 
+0x2996 004382 hjam 0xc4 ,rf_pll_rstn 
+0x2997 004383 rtn 
+:      004386 do_rccal:
+0x2998 004387 bpatch patch11_4 ,mem_patch11 
+0x2999 004388 hjam 0x02 ,rfen_adc 
+0x299a 004389 setarg 250000 
+0x299b 004390 call sleep 
+0x299c 004391 hjam 0x7f ,rfen_rx 
+0x299d 004392 nop 130 
+0x299e 004393 hjam 0x30 ,rf_rccal_ctrl 
+0x299f 004394 hjam 0xd0 ,rfen_tx 
+0x29a0 004395 hjam 0x70 ,rf_rccal_ctrl 
+0x29a1 004396 hjam 0xf0 ,rf_rccal_ctrl 
+0x29a2 004397 force 50 ,loopcnt 
+:      004398 do_rccal_loop:
+0x29a3 004399 hfetch 1 ,rf_rccal_result 
+0x29a4 004400 bbit1 5 ,do_rccal_end 
+0x29a5 004401 loop do_rccal_loop 
+:      004402 do_rccal_end:
+0x29a6 004403 store 1 ,mem_rf_rccal 
+0x29a7 004404 hjam 0 ,rfen_tx 
+0x29a8 004405 hjam 0 ,rfen_rx 
+0x29a9 004406 hjam 0x00 ,rfen_adc 
+0x29aa 004407 rtn 
+:      004409 set_rccal:
+0x29ab 004410 bpatch patch11_5 ,mem_patch11 
+0x29ac 004411 fetch 1 ,mem_rf_rccal 
+0x29ad 004412 set1 5 ,pdata 
+0x29ae 004413 hstore 1 ,rf_rccal_ctrl 
+0x29af 004414 hfetcht 1 ,rf_bpf_ctrim 
+0x29b0 004415 and_into 7 ,temp 
+0x29b1 004416 lshift3 pdata ,pdata 
+0x29b2 004417 ior temp ,pdata 
+0x29b3 004418 hstore 1 ,rf_bpf_ctrim 
+0x29b4 004419 hfetch 1 ,rf_bpf_ib 
+0x29b5 004420 set0 bpf_rccal ,pdata 
+0x29b6 004421 hstore 1 ,rf_bpf_ib 
+0x29b7 004422 hfetch 1 ,rf_adc_rccal 
+0x29b8 004423 set0 adc_rccal ,pdata 
+0x29b9 004424 hstore 1 ,rf_adc_rccal 
+0x29ba 004425 rtn 
+:      004427 save_rssi:
+0x29bb 004428 bpatch patch11_6 ,mem_patch11 
+0x29bc 004429 hfetch 2 ,rf_afc_d2a 
+0x29bd 004430 rshift4 pdata ,pdata 
+0x29be 004431 rshift3 pdata ,pdata 
+0x29bf 004432 sub pdata ,0 ,pdata 
+0x29c0 004433 and_into 0xff ,pdata 
+0x29c1 004434 div pdata ,10 
+0x29c2 004435 call wait_div_end 
+0x29c3 004436 quotient pdata 
+0x29c4 004437 lshift4 pdata ,pdata 
+0x29c5 004438 remainder temp 
+0x29c6 004439 ior temp ,pdata 
+0x29c7 004440 store 1 ,mem_rssi 
+0x29c8 004441 rtn 
+:      004444 switchto_dpllclk:
+0x29c9 004445 hjam clksel_rc ,core_clksel 
+0x29ca 004446 hfetch 1 ,rf_clkpll_frac + 2 
+0x29cb 004447 set0 4 ,pdata 
+0x29cc 004448 set0 5 ,pdata 
+0x29cd 004449 hstore 1 ,rf_clkpll_frac + 2 
+0x29ce 004450 hjam 0x00 ,rfen_ck 
+0x29cf 004451 hjam 0x00 ,rfen_msc 
+0x29d0 004452 hjam 0x70 ,rfen_msc 
+0x29d1 004453 hjam 0xff ,rfen_ck 
+0x29d2 004454 hfetch 1 ,rf_clkpll_frac + 2 
+0x29d3 004455 set1 4 ,pdata 
+0x29d4 004456 set1 5 ,pdata 
+0x29d5 004457 hstore 1 ,rf_clkpll_frac + 2 
+0x29d6 004458 call init_lpm_ctrl 
+0x29d7 004459 hfetch 1 ,rf_clkpll_int 
+0x29d8 004460 set1 7 ,pdata 
+0x29d9 004461 hstore 1 ,rf_clkpll_int 
+0x29da 004462 set0 7 ,pdata 
+0x29db 004463 hstore 1 ,rf_clkpll_int 
+0x29dc 004464 set1 7 ,pdata 
+0x29dd 004465 hstore 1 ,rf_clkpll_int 
+0x29de 004466 hjam clksel_dpll ,core_clksel 
+0x29df 004467 nop 1 
+0x29e0 004468 hjam clksel_xtal ,core_clksel 
+0x29e1 004469 hfetch 1 ,rf_clkpll_frac + 2 
+0x29e2 004470 and_into 0xcf ,pdata 
+0x29e3 004471 hstore 1 ,rf_clkpll_frac + 2 
+0x29e4 004472 or_into 0x30 ,pdata 
+0x29e5 004473 hstore 1 ,rf_clkpll_frac + 2 
+0x29e6 004474 rtn 
+:      004477 xtal_fast_wake:
+0x29e7 004478 setarg 0xf0f 
+0x29e8 004479 branch lpm_write_config 
+:      004481 init_lpm_ctrl:
+0x29e9 004482 setarg 0x80f 
+0x29ea 004483 branch lpm_write_config 
+:      004487 start_receiver:
+0x29eb 004488 bpatch patch11_7 ,mem_patch11 
+0x29ec 004489 call rf_rx_enable 
+0x29ed 004490 disable is_tx 
+0x29ee 004491 enable is_rx 
+0x29ef 004492 pulse init_encrypt 
+0x29f0 004493 rtn 
+:      004495 prep_crypt:
+0x29f1 004496 bpatch patch12_0 ,mem_patch12 
+0x29f2 004497 fetch 1 ,mem_state_map 
+0x29f3 004498 isolate1 smap_encryption ,pdata 
+0x29f4 004499 setflag true ,0 ,pdata 
+0x29f5 004500 hstore 1 ,core_encrypt 
+0x29f6 004501 arg mem_kc ,contr 
+0x29f7 004502 ifetch 9 ,contr 
+0x29f8 004503 iforce kc_ls 
+0x29f9 004504 ifetch 7 ,contr 
+0x29fa 004505 iforce kc_ms 
+0x29fb 004506 fetch 1 ,mem_key_size 
+0x29fc 004507 add pdata ,-1 ,g1l 
+0x29fd 004508 pulse kc_p_activate 
+0x29fe 004509 rtn 
+:      004511 wait_access_end:
+0x29ff 004512 deposit clke 
+0x2a00 004513 store 6 ,mem_sync_clke 
+0x2a01 004514 disable decode_fec0 
+0x2a02 004515 nbranch shutdown_radio ,sync 
+0x2a03 004516 arg param_clke_cal ,clke_rt 
+0x2a04 004517 increase 1 ,clke_bt 
+0x2a05 004518 and_into 0x1fc ,clke_bt 
+0x2a06 004519 rtn 
+:      004523 wait_access_mhalfbnd:
+0x2a07 004524 enable decode_fec0 
+:      004525 wait_access_mhalfbnd_correlate:
+0x2a08 004526 correlate null ,mhalfbnd 
+0x2a09 004527 branch wait_access_end ,sync 
+0x2a0a 004528 compare 0x02 ,clke_bt ,0x02 
+0x2a0b 004529 nbranch wait_access_mhalfbnd_correlate ,true 
+0x2a0c 004530 branch wait_access_end 
+:      004532 wait_access_clkn_rt:
+0x2a0d 004533 bpatch patch12_1 ,mem_patch12 
+0x2a0e 004534 arg param_conn_access ,timeup 
+0x2a0f 004535 enable decode_fec0 
+0x2a10 004536 correlate clkn_rt ,meet 
+0x2a11 004537 disable decode_fec0 
+0x2a12 004538 nbranch shutdown_radio ,sync 
+0x2a13 004539 rtn 
+:      004541 wait_access_forever:
+0x2a14 004542 bpatch patch12_2 ,mem_patch12 
+0x2a15 004543 enable decode_fec0 
+0x2a16 004544 correlate null ,timeout 
+0x2a17 004545 disable decode_fec0 
+0x2a18 004546 nbranch shutdown_radio ,sync 
+0x2a19 004547 arg param_clke_cal ,clke_rt 
+0x2a1a 004548 and_into 0x1fc ,clke_bt 
+0x2a1b 004549 rtn 
+:      004552 reserve_slot:
+0x2a1c 004553 bpatch patch12_3 ,mem_patch12 
+0x2a1d 004554 iforce rega 
+0x2a1e 004555 deposit bt_clk 
+0x2a1f 004556 iadd temp ,timeup 
+0x2a20 004557 copy timeup ,pdata 
+0x2a21 004558 store 4 ,mem_next_btclk 
+0x2a22 004559 deposit rega 
+0x2a23 004560 rtn 
+:      004563 ahead_window:
+0x2a24 004564 copy pdata ,temp 
+0x2a25 004565 bpatch patch12_4 ,mem_patch12 
+0x2a26 004566 copy temp ,pdata 
+0x2a27 004567 call clk2bt 
+0x2a28 004568 lshift16 bt_clk ,pdata 
+0x2a29 004569 set1 44 ,pdata 
+0x2a2a 004570 call clk_diff 
+0x2a2b 004571 set0 44 ,pdata 
+0x2a2c 004572 call get_clk 
+0x2a2d 004573 call clk_diff 
+0x2a2e 004574 rtn user 
+0x2a2f 004575 call clk2rt 
+0x2a30 004576 iforce stop_watch 
+0x2a31 004577 until null ,timeout 
+0x2a32 004578 rtn 
+:      004581 setup_clk:
+0x2a33 004582 bpatch patch12_5 ,mem_patch12 
+0x2a34 004583 branch setup_clkn ,clknt 
+0x2a35 004584 until clke_rt ,meet 
+:      004585 skip_setup_clke:
+0x2a36 004586 copy clke_bt ,temp 
+0x2a37 004587 branch setup_clknbt 
+:      004588 setup_clkn:
+0x2a38 004589 branch skip_setup_clkn ,attempt 
+0x2a39 004590 until clkn_rt ,meet 
+:      004591 skip_setup_clkn:
+0x2a3a 004592 copy clkn_bt ,temp 
+:      004593 setup_clknbt:
+0x2a3b 004594 branch setup_clk11 ,user 
+0x2a3c 004595 compare 1 ,temp ,3 
+0x2a3d 004596 nbranch setup_clk ,true 
+:      004597 setup_complete:
+0x2a3e 004598 bpatch patch12_6 ,mem_patch12 
+0x2a3f 004599 fetch 1 ,mem_state 
+0x2a40 004600 rtnbit0 state_inconn 
+0x2a41 004601 fetch 4 ,mem_next_btclk 
+0x2a42 004602 isub temp ,pdata 
+0x2a43 004603 nrtn positive 
+0x2a44 004604 sub pdata ,0xff ,null 
+0x2a45 004605 branch setup_clk ,positive 
+0x2a46 004606 rtn 
+:      004607 setup_clk11:
+0x2a47 004608 compare 3 ,temp ,3 
+0x2a48 004609 nbranch setup_clk ,true 
+0x2a49 004610 branch setup_complete 
+:      004612 rf_setup_time:
+0x2a4a 004613 bpatch patch12_7 ,mem_patch12 
+0x2a4b 004614 arg param_rf_setup ,timeup 
+0x2a4c 004615 branch setup_clk 
+:      004617 rf_setup_time_slave_slot:
+0x2a4d 004618 disable user 
+0x2a4e 004619 branch rf_setup_time 
+:      004621 rf_setup_time_master_slot:
+0x2a4f 004622 enable user 
+0x2a50 004623 branch rf_setup_time 
+:      004625 start_transmitter:
+0x2a51 004626 bpatch patch13_0 ,mem_patch13 
+0x2a52 004627 call prep_crypt 
+0x2a53 004628 disable is_rx 
+0x2a54 004629 enable is_tx 
+0x2a55 004630 rtn 
+:      004634 start_tx_native:
+0x2a56 004635 bpatch patch13_1 ,mem_patch13 
+0x2a57 004636 arg param_tx_setup ,timeup 
+0x2a58 004637 until clkn_rt ,meet 
+0x2a59 004638 pulse init_encrypt 
+0x2a5a 004639 rtn 
+:      004641 start_rx_native:
+0x2a5b 004642 bpatch patch13_2 ,mem_patch13 
+0x2a5c 004643 arg param_rx_setup ,timeup 
+0x2a5d 004644 until clkn_rt ,meet 
+0x2a5e 004645 rtn 
+:      004648 start_tx_external:
+0x2a5f 004649 bpatch patch13_3 ,mem_patch13 
+0x2a60 004650 arg param_tx_setup ,timeup 
+0x2a61 004651 until clke_rt ,meet 
+0x2a62 004652 pulse init_encrypt 
+0x2a63 004653 rtn 
+:      004655 send_access_word:
+0x2a64 004656 bpatch patch13_4 ,mem_patch13 
+0x2a65 004657 preload access 
+0x2a66 004658 enable encode_fec0 
+0x2a67 004659 set1 txgfsk ,radio_ctrl 
+0x2a68 004660 inject mod ,72 
+0x2a69 004661 disable encode_fec0 
+0x2a6a 004662 rtn 
+:      004665 scan_mode_whiten:
+0x2a6b 004666 copy xin ,temp 
+0x2a6c 004667 or_into 0x60 ,temp 
+0x2a6d 004668 copy temp ,white_init 
+0x2a6e 004669 rtn 
+:      004674 get_free_amaddr:
+0x2a6f 004675 bpatch patch13_5 ,mem_patch13 
+0x2a70 004676 fetch 1 ,mem_current_amaddr 
+0x2a71 004677 increase 1 ,pdata 
+0x2a72 004678 bne param_esco_addr ,get_free_amaddr_cont 
+0x2a73 004679 force 1 ,pdata 
+:      004680 get_free_amaddr_cont:
+0x2a74 004681 store 1 ,mem_current_amaddr 
+0x2a75 004682 iforce am_addr 
+0x2a76 004683 rtn 
+:      004685 get_clk:
+0x2a77 004686 copy clkn ,temp 
+0x2a78 004687 rtn master 
+0x2a79 004688 copy clke ,temp 
+0x2a7a 004689 rtn 
+:      004691 get_clkbt:
+0x2a7b 004692 deposit clkn_bt 
+0x2a7c 004693 rtn master 
+0x2a7d 004694 deposit clke_bt 
+0x2a7e 004695 rtn 
+:      004698 supervision_update:
+0x2a7f 004699 bpatch patch13_6 ,mem_patch13 
+0x2a80 004700 fetcht 4 ,mem_supervision_timer 
+0x2a81 004701 call get_clkbt 
+0x2a82 004702 isub temp ,timeup 
+0x2a83 004703 deposit timeup 
+0x2a84 004704 fetcht 2 ,mem_supervision_to 
+0x2a85 004705 lshift temp ,temp 
+0x2a86 004706 isub temp ,pdata 
+0x2a87 004707 rtn 
+:      004709 supervision_flush:
+0x2a88 004710 bpatch patch13_7 ,mem_patch13 
+0x2a89 004711 call get_clkbt 
+0x2a8a 004712 store 4 ,mem_supervision_timer 
+0x2a8b 004713 rtn 
+:      004715 assert:
+0x2a8c 004716 bpatch patch14_0 ,mem_patch14 
+0x2a8d 004717 branch assert 
+:      004719 loop:
+0x2a8e 004720 branch loop 
+:      004722 sleep:
+0x2a8f 004723 rtn blank 
+0x2a90 004725 rshift pdata ,pdata 
+0x2a91 004726 increase -3 ,pdata 
+:      004727 sleep_loop:
+0x2a92 004728 increase -1 ,pdata 
+0x2a93 004729 nbranch sleep_loop ,zero 
+0x2a94 004730 force 0 ,pdata 
+0x2a95 004731 rtn 
+:      004735 init_param:
+0x2a96 004737 arg 0x10 ,loopcnt 
+0x2a97 004738 arg 0 ,contw 
+0x2a98 004739 call memset0 
+0x2a99 004740 arg mem_le_state ,contw 
+0x2a9a 004741 arg 10 ,loopcnt 
+0x2a9b 004742 call memset0 
+0x2a9c 004743 jam 0 ,mem_sp_calc 
+0x2a9d 004744 jam 0 ,mem_fifo_temp 
+0x2a9e 004745 jam 0 ,mem_le_testtype 
+0x2a9f 004746 jam 0 ,mem_debug_config 
+0x2aa0 004747 jam 0 ,mem_lmp_conn_state 
+0x2aa1 004748 bpatch patch14_1 ,mem_patch14 
+0x2aa2 004749 jam 0 ,mem_connection_options 
+0x2aa3 004750 jam 0 ,mem_tester_emulate 
+0x2aa4 004751 jam 0 ,mem_tester_cnt 
+0x2aa5 004752 setarg param_glap 
+0x2aa6 004753 store 3 ,mem_glap 
+0x2aa7 004754 setarg param_acl_pktlen 
+0x2aa8 004755 store 2 ,mem_acl_pktlen 
+0x2aa9 004756 jam param_sco_pktlen ,mem_sco_pktlen 
+0x2aaa 004757 jam param_acl_pktcnt ,mem_acl_pktcnt 
+0x2aab 004758 jam param_sco_pktcnt ,mem_sco_pktcnt 
+0x2aac 004759 setarg param_hci_version 
+0x2aad 004760 store 3 ,mem_hci_version 
+0x2aae 004765 jam 0x60 ,mem_fhs_misc 
+0x2aaf 004766 jam param_max_slot ,mem_max_slot 
+0x2ab0 004767 jam 0x02 ,mem_fw_ver 
+0x2ab1 004768 fetch 1 ,mem_ssp_enable 
+0x2ab2 004769 ncall init_memp ,blank 
+0x2ab3 004770 fetch 1 ,mem_le_secure_connect_enable 
+0x2ab4 004771 ncall init_memp_256 ,blank 
+0x2ab5 004772 bpatch patch14_2 ,mem_patch14 
+0x2ab6 004773 rtn wake 
+0x2ab7 004774 setarg 0 
+0x2ab8 004775 store 2 ,mem_tx_len 
+0x2ab9 004776 rshift clkn_bt ,pdata 
+0x2aba 004777 store 4 ,mem_last_clkn 
+0x2abb 004778 rtn 
+:      004785 lpmstate:
+0x2abc 004786 setarg 0xee21 
+0x2abd 004787 hstore 2 ,core_clkoff 
+0x2abe 004788 hfetch 4 ,core_gpio_in 
+0x2abf 004789 store 4 ,mem_saved_gpio_in 
+0x2ac0 004790 hfetch 1 ,core_lpm_ldocnt 
+0x2ac1 004791 store 1 ,mem_wakup_from_power_flag 
+0x2ac2 004792 bbit0 gpio_latch ,loadcode 
+0x2ac3 004793 enable wake 
+0x2ac4 004794 bbit0 cold_wake ,lpmwake 
+0x2ac5 004795 disable wake 
+0x2ac6 004796 deposit auxcnt 
+0x2ac7 004797 nbranch lpmwake ,blank 
+0x2ac8 004798 hfetch 1 ,core_lpm_ctrl + 3 
+0x2ac9 004799 bbit1 reload_code ,lpmwake 
+0x2aca 004800 arg param_hibernate_clks ,temp 
+0x2acb 004801 branch lpm_enter_sleep 
+:      004802 lpmwake:
+0x2acc 004803 hfetch 3 ,core_lpm_xtalcnt 
+0x2acd 004804 hstore 3 ,core_lpm_reg 
+0x2ace 004805 ifetch 1 ,contr 
+0x2acf 004806 or_into isogate_mask ,pdata 
+0x2ad0 004807 istore 1 ,contw 
+0x2ad1 004808 call lpm_write_ctrl2 
+0x2ad2 004809 hfetch 1 ,core_lpm_isogate 
+0x2ad3 004810 set1 enable_retmem ,pdata 
+0x2ad4 004811 hstore 1 ,core_lpm_isogate 
+0x2ad5 004812 call lpm_write_ctrl2 
+0x2ad6 004813 call lpm_load_context ,wake 
+0x2ad7 004814 hfetch 1 ,core_lpm_reg + 2 
+0x2ad8 004815 set0 gpio_latch ,pdata 
+0x2ad9 004816 hstore 1 ,core_lpm_reg + 2 
+0x2ada 004817 call lpm_write_ctrl2 
+0x2adb 004818 nbranch loadcode ,wake 
+0x2adc 004819 rtnmark0 mark_otp_encrypt 
+0x2add 004820 hjam lock_otp ,core_misc_ctrl 
+0x2ade 004821 rtn 
+:      004823 lpm_load_context:
+0x2adf 004824 fetch 1 ,mem_saved_spidctrl 
+0x2ae0 004825 hstore 1 ,core_spid_ctrl 
+0x2ae1 004826 fetch 3 ,mem_saved_gsel 
+0x2ae2 004827 hstore 3 ,core_gpio_sel 
+0x2ae3 004828 fetch 4 ,mem_saved_gpio + 4 
+0x2ae4 004829 hstore 4 ,core_gpio_out0 
+0x2ae5 004830 fetch 4 ,mem_saved_gpio 
+0x2ae6 004831 hstore 4 ,core_gpio_oe0 
+0x2ae7 004832 fetch 8 ,mem_saved_gpio + 8 
+0x2ae8 004833 hstore 8 ,core_gpio_pu0 
+0x2ae9 004834 fetch 8 ,mem_saved_mark 
+0x2aea 004835 iforce mark 
+0x2aeb 004836 hfetch 8 ,core_gpio_wakeup_low 
+0x2aec 004837 store 8 ,mem_gpio_wakeup_low 
+0x2aed 004838 call load_ucode 
+0x2aee 004839 rtn 
+:      004841 lpm_save_context:
+0x2aef 004842 deposit mark 
+0x2af0 004843 store 8 ,mem_saved_mark 
+0x2af1 004844 hfetch 8 ,core_gpio_oe0 
+0x2af2 004845 store 8 ,mem_saved_gpio 
+0x2af3 004846 ifetch 8 ,contr 
+0x2af4 004847 istore 8 ,contw 
+0x2af5 004848 hfetch 3 ,core_gpio_sel 
+0x2af6 004849 store 3 ,mem_saved_gsel 
+0x2af7 004850 hfetch 1 ,core_spid_ctrl 
+0x2af8 004851 store 1 ,mem_saved_spidctrl 
+0x2af9 004852 branch lpm_write_gpio_wakeup 
+:      004854 lpo_calibration:
+0x2afa 004855 hfetch 1 ,core_bist_ctrl 
+0x2afb 004856 nbranch lpo_cal_inited ,blank 
+0x2afc 004857 fetch 3 ,mem_clks_per_lpo 
+0x2afd 004858 nrtn blank 
+0x2afe 004859 hjam 0xc0 ,core_bist_ctrl 
+0x2aff 004860 hjam ccnt_start ,core_misc_ctrl 
+:      004861 lpo_cal_inited:
+0x2b00 004862 hfetch 1 ,core_perf_status 
+0x2b01 004863 rtnbit0 1 
+0x2b02 004864 hfetch 3 ,core_clk_counter 
+0x2b03 004865 store 3 ,mem_clks_per_lpo 
+0x2b04 004866 rtn 
+:      004870 lpm_adjust_clk:
+0x2b05 004871 bpatch patch14_3 ,mem_patch14 
+0x2b06 004872 deposit clke 
+0x2b07 004873 call clk_diff_rt 
+0x2b08 004874 fetcht 4 ,mem_sleep_counter_all 
+0x2b09 004875 sub temp ,0xff ,null 
+0x2b0a 004876 rtn positive 
+0x2b0b 004877 lshift8 pdata ,pdata 
+0x2b0c 004878 lshift4 pdata ,pdata 
+0x2b0d 004879 idiv temp 
+0x2b0e 004880 call wait_div_end 
+0x2b0f 004881 quotient pdata 
+0x2b10 004882 arg param_lpm_adjmax ,temp 
+0x2b11 004883 call ceiling 
+0x2b12 004884 store 1 ,mem_lpm_adjust 
+0x2b13 004885 nbranch lpm_adjust_positive ,user 
+0x2b14 004886 sub pdata ,0 ,pdata 
+:      004887 lpm_adjust_positive:
+0x2b15 004888 fetcht 3 ,mem_clks_per_lpo 
+0x2b16 004889 iadd temp ,pdata 
+0x2b17 004890 store 3 ,mem_clks_per_lpo 
+:      004891 lpm_clear_counter:
+0x2b18 004892 setarg 0 
+0x2b19 004893 store 4 ,mem_sleep_counter_all 
+0x2b1a 004894 rtn 
+:      004898 lpm_doze:
+0x2b1b 004899 fetch 1 ,mem_lpm_config + 2 
+0x2b1c 004900 set1 reload_code ,pdata 
+0x2b1d 004901 store 1 ,mem_lpm_config + 2 
+0x2b1e 004902 branch lpm_hibernate_normal 
+:      004906 lpm_hibernate:
+0x2b1f 004907 arg param_hibernate_clks ,temp 
+0x2b20 004908 fetch 1 ,mem_lpm_config + 1 
+0x2b21 004909 set0 7 ,pdata 
+0x2b22 004910 store 1 ,mem_lpm_config + 1 
+:      004911 lpm_hibernate_normal:
+0x2b23 004912 bpatch patch14_4 ,mem_patch14 
+0x2b24 004913 call lpm_write_gpio_wakeup 
+0x2b25 004914 fetch 1 ,mem_lpm_hibernate_switch 
+0x2b26 004915 store 1 ,mem_lpm_xtalcnt + 4 
+0x2b27 004916 fetch 1 ,mem_lpm_xtalcnt + 2 
+0x2b28 004917 set1 cold_wake ,pdata 
+0x2b29 004918 store 1 ,mem_lpm_xtalcnt + 2 
+:      004921 lpm_sleep:
+0x2b2a 004922 bpatch patch14_5 ,mem_patch14 
+0x2b2b 004923 call xtal_fast_wake 
+0x2b2c 004924 fetch 4 ,mem_sleep_counter_all 
+0x2b2d 004925 iadd temp ,pdata 
+0x2b2e 004926 store 4 ,mem_sleep_counter_all 
+0x2b2f 004927 call lpm_save_context 
+0x2b30 004928 fetch 5 ,mem_lpm_xtalcnt 
+0x2b31 004929 hstore 4 ,core_lpm_reg 
+0x2b32 004930 rshift32 pdata ,rega 
+0x2b33 004931 until null ,lpo_edge 
+0x2b34 004932 deposit clkn 
+0x2b35 004933 store 6 ,mem_sleep_clkn 
+0x2b36 004934 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+0x2b37 004935 until null ,lpo_edge 
+0x2b38 004936 until null ,lpo_edge 
+0x2b39 004937 deposit rega 
+0x2b3a 004938 hstore 1 ,core_lpm_isogate 
+0x2b3b 004939 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+:      004940 lpm_enter_sleep:
+0x2b3c 004941 until null ,lpo_edge 
+0x2b3d 004942 until null ,lpo_edge 
+0x2b3e 004943 hstoret 4 ,core_lpm_reg 
+0x2b3f 004944 hjam lpmreg_sel_counter ,core_lpm_wr 
+0x2b40 004945 until null ,never 
+:      004950 lpm_recover_clk:
+0x2b41 004951 bpatch patch14_6 ,mem_patch14 
+0x2b42 004952 setarg 0 
+0x2b43 004953 copy auxcnt ,null 
+0x2b44 004954 branch lpm_recover_timeout ,zero 
+0x2b45 004955 hfetch 1 ,core_lpm_xtalcnt 
+0x2b46 004956 hfetcht 1 ,core_lpm_buckcnt 
+0x2b47 004957 isub temp ,null 
+0x2b48 004958 branch lpm_recover_xtal ,positive 
+0x2b49 004959 deposit temp 
+:      004960 lpm_recover_xtal:
+0x2b4a 004961 isub auxcnt ,pdata 
+0x2b4b 004962 increase 1 ,pdata 
+:      004963 lpm_recover_timeout:
+0x2b4c 004964 increase 8 ,pdata 
+0x2b4d 004965 until null ,lpo_edge 
+0x2b4e 004966 iadd lpo_time ,pdata 
+0x2b4f 004967 fetcht 4 ,mem_sleep_counter 
+0x2b50 004968 iadd temp ,pdata 
+0x2b51 004969 fetcht 3 ,mem_clks_per_lpo 
+0x2b52 004970 imul32 temp ,pdata 
+0x2b53 004971 rshift8 pdata ,pdata 
+0x2b54 004972 rshift4 pdata ,pdata 
+0x2b55 004973 increase param_lpm_fix ,pdata 
+0x2b56 004974 arg 3750 ,temp 
+0x2b57 004975 idiv temp 
+0x2b58 004976 call wait_div_end 
+0x2b59 004977 quotient pdata 
+0x2b5a 004978 lshift16 pdata ,pdata 
+0x2b5b 004979 remainder temp 
+0x2b5c 004980 ior temp ,pdata 
+0x2b5d 004981 fetcht 6 ,mem_sleep_clkn 
+0x2b5e 004982 call clk_add 
+0x2b5f 004983 copy temp ,clkn 
+0x2b60 004984 fetch 6 ,mem_context + coffset_clk_offset 
+0x2b61 004985 call calc_clke2 
+0x2b62 004986 deposit clke 
+0x2b63 004987 store 6 ,mem_pdatatemp 
+0x2b64 004988 deposit auxcnt 
+0x2b65 004989 istore 1 ,contw 
+0x2b66 004990 hfetch 1 ,core_gpio_in1 
+0x2b67 004991 or_into 0xf0 ,pdata 
+0x2b68 004992 istore 1 ,contw 
+0x2b69 004993 rtn 
+:      004995 lpm_dispatch:
+0x2b6a 004996 bpatch patch14_7 ,mem_patch14 
+0x2b6b 004997 call lpo_calibration 
+0x2b6c 004998 fetch 3 ,mem_clks_per_lpo 
+0x2b6d 004999 rtn blank 
+0x2b6e 005000 fetch 1 ,mem_lpm_mode 
+0x2b6f 005001 rtn blank 
+0x2b70 005002 fetch 1 ,mem_ssp_enable 
+0x2b71 005003 branch lpm_dispatch_next ,blank 
+0x2b72 005004 fetch 1 ,mem_sp_local_key_invalid 
+0x2b73 005005 rtn blank 
+:      005006 lpm_dispatch_next:
+0x2b74 005007 fetch 1 ,mem_le_sc_calc 
+0x2b75 005008 nrtn blank 
+0x2b76 005009 call lpm_check_wake_lock 
+0x2b77 005010 nrtn blank 
+0x2b78 005011 fetch 1 ,mem_context 
+0x2b79 005012 compare 3 ,pdata ,0x7 
+0x2b7a 005013 nbranch lpm_dispatch_unconn ,true 
+0x2b7b 005014 fetch 2 ,mem_context + coffset_tsniff 
+0x2b7c 005015 rtn blank 
+0x2b7d 005016 rtn wake 
+0x2b7e 005017 bpatch patch15_0 ,mem_patch15 
+0x2b7f 005018 fetcht 1 ,mem_lpm_current_mult 
+0x2b80 005019 fetch 2 ,mem_context + coffset_tsniff 
+0x2b81 005020 imul32 temp ,pdata 
+0x2b82 005021 rshift4 temp ,temp 
+0x2b83 005022 rshift2 temp ,temp 
+0x2b84 005023 isub temp ,pdata 
+0x2b85 005024 fetcht 4 ,mem_context + coffset_sniff_anchor 
+0x2b86 005025 iadd temp ,pdata 
+0x2b87 005026 fetcht 1 ,mem_lpm_overhead 
+0x2b88 005027 isub temp ,pdata 
+0x2b89 005028 lshift16 pdata ,alarm 
+0x2b8a 005029 bpatch patch15_1 ,mem_patch15 
+0x2b8b 005030 fetch 2 ,mem_context + coffset_rx_window 
+0x2b8c 005031 rshift pdata ,pdata 
+0x2b8d 005032 call clk2bt 
+0x2b8e 005033 deposit alarm 
+0x2b8f 005034 call clk_diff 
+0x2b90 005035 copy clke ,temp 
+0x2b91 005036 call clk_diff_rt 
+0x2b92 005037 rtn user 
+:      005038 lpm_dispatch_sleep:
+0x2b93 005039 call clk2lpo 
+:      005040 lpm_dispatch_lpo:
+0x2b94 005041 bpatch patch15_2 ,mem_patch15 
+0x2b95 005042 fetch 1 ,mem_lpm_xtalcnt 
+0x2b96 005043 isub temp ,null 
+0x2b97 005044 branch lpm_clear_counter ,positive 
+0x2b98 005045 storet 4 ,mem_sleep_counter 
+0x2b99 005046 call app_will_enter_lpm 
+0x2b9a 005047 call l2cap_lpm_save_txbuf 
+0x2b9b 005048 fetcht 4 ,mem_sleep_counter 
+0x2b9c 005049 branch lpm_sleep 
+:      005051 lpm_dispatch_unconn:
+0x2b9d 005052 bpatch patch15_3 ,mem_patch15 
+0x2b9e 005053 fetch 1 ,mem_context 
+0x2b9f 005054 rtnbit1 state_inconn 
+0x2ba0 005055 rtnbit1 state_inpage 
+0x2ba1 005056 fetch 1 ,mem_ssp_enable 
+0x2ba2 005057 branch lpm_unconn_nossp ,blank 
+0x2ba3 005058 fetch 1 ,mem_sp_local_key_invalid 
+0x2ba4 005059 rtn blank 
+:      005060 lpm_unconn_nossp:
+0x2ba5 005061 bpatch patch15_4 ,mem_patch15 
+0x2ba6 005062 fetch 1 ,mem_le_adv_enable 
+0x2ba7 005063 nbranch lpm_unconn_cont ,blank 
+0x2ba8 005064 fetch 1 ,mem_scan_mode 
+0x2ba9 005065 rtn blank 
+:      005066 lpm_unconn_cont:
+0x2baa 005067 fetch 2 ,mem_lpm_interval 
+0x2bab 005068 rtn blank 
+:      005069 lpm_sleep_btclk:
+0x2bac 005070 fetcht 1 ,mem_lpm_overhead 
+0x2bad 005071 isub temp ,pdata 
+0x2bae 005072 arg 7500 ,temp 
+0x2baf 005073 imul32 temp ,pdata 
+0x2bb0 005074 branch lpm_dispatch_sleep 
+:      005076 lpm_set_mult:
+0x2bb1 005077 bpatch patch15_5 ,mem_patch15 
+0x2bb2 005078 disable wake 
+0x2bb3 005079 fetch 1 ,mem_state 
+0x2bb4 005080 rtnbit0 state_insniff 
+0x2bb5 005081 nbranch lpm_not_match ,match 
+0x2bb6 005082 call lpm_match 
+0x2bb7 005083 fetch 2 ,mem_rx_window_sniff 
+0x2bb8 005084 store 2 ,mem_rx_window 
+0x2bb9 005085 fetch 1 ,mem_arq 
+0x2bba 005086 bbit1 wack ,lpm_mult_short 
+0x2bbb 005087 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x2bbc 005088 call l2cap_malloc_is_fifo_empty 
+0x2bbd 005089 nbranch lpm_mult_short ,blank 
+0x2bbe 005090 fetch 1 ,mem_classic_bt_flag 
+0x2bbf 005091 bbit1 short_mult_flag ,lpm_mult_short 
+:      005092 lpm_mult_wait_timeout:
+0x2bc0 005093 jam 0 ,mem_lpm_current_mult 
+0x2bc1 005094 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x2bc2 005095 fetch 1 ,mem_lpm_mult_cnt 
+0x2bc3 005096 branch lpm_mult_long ,blank 
+0x2bc4 005097 increase -1 ,pdata 
+0x2bc5 005098 store 1 ,mem_lpm_mult_cnt 
+0x2bc6 005099 rtn 
+:      005102 classic_bt_set_mult_short_flag:
+0x2bc7 005103 arg short_mult_flag ,queue 
+0x2bc8 005104 branch classic_bluetooth_set_flag 
+:      005106 classic_bt_clr_mult_short_flag:
+0x2bc9 005107 arg short_mult_flag ,queue 
+0x2bca 005108 branch classic_bluetooth_clr_flag 
+:      005112 lpm_match:
+0x2bcb 005113 jam 0 ,mem_sniff_unint_lost 
+0x2bcc 005114 fetch 3 ,mem_sniff_rcv 
+0x2bcd 005115 increase 1 ,pdata 
+0x2bce 005116 store 3 ,mem_sniff_rcv 
+0x2bcf 005117 rtn 
+:      005119 lpm_not_match:
+0x2bd0 005120 bpatch patch15_6 ,mem_patch15 
+0x2bd1 005121 fetcht 2 ,mem_rx_window_sniff 
+0x2bd2 005122 rshift temp ,temp 
+0x2bd3 005123 fetch 2 ,mem_rx_window 
+0x2bd4 005124 iadd temp ,pdata 
+0x2bd5 005125 store 2 ,mem_rx_window 
+:      005126 lpm_lost:
+0x2bd6 005127 jam 0 ,mem_lpm_current_mult 
+0x2bd7 005128 fetch 3 ,mem_sniff_lost 
+0x2bd8 005129 increase 1 ,pdata 
+0x2bd9 005130 store 3 ,mem_sniff_lost 
+0x2bda 005131 fetch 1 ,mem_sniff_unint_lost 
+0x2bdb 005132 increase 1 ,pdata 
+0x2bdc 005133 store 1 ,mem_sniff_unint_lost 
+0x2bdd 005134 rtn 
+:      005136 lpm_mult_short:
+0x2bde 005137 jam 0 ,mem_lpm_current_mult 
+0x2bdf 005138 fetch 1 ,mem_lpm_mult_timeout 
+0x2be0 005139 store 1 ,mem_lpm_mult_cnt 
+0x2be1 005140 rtn 
+:      005142 lpm_mult_long:
+0x2be2 005143 fetcht 1 ,mem_lpm_mult 
+0x2be3 005144 storet 1 ,mem_lpm_current_mult 
+0x2be4 005145 rtn 
+:      005147 lpm_cal_xtal_startup:
+0x2be5 005148 bpatch patch15_7 ,mem_patch15 
+0x2be6 005149 fetch 1 ,mem_lpm_xtalcnt 
+0x2be7 005150 nrtn blank 
+0x2be8 005151 hjam clksel_rc ,core_clksel 
+0x2be9 005152 setarg 0xf0c 
+0x2bea 005153 call lpm_write_config 
+0x2beb 005154 setarg 200000 
+0x2bec 005155 call sleep 
+0x2bed 005156 until null ,lpo_edge 
+0x2bee 005157 copy lpo_time ,alarm 
+0x2bef 005158 call xtal_fast_wake 
+0x2bf0 005159 hjam clksel_xtal ,core_clksel 
+0x2bf1 005160 nop 10 
+0x2bf2 005161 until null ,lpo_edge 
+0x2bf3 005162 deposit lpo_time 
+0x2bf4 005163 isub alarm ,pdata 
+0x2bf5 005164 increase 0x30 ,pdata 
+0x2bf6 005165 arg 0xff ,temp 
+0x2bf7 005166 call ceiling 
+0x2bf8 005167 store 1 ,mem_lpm_xtalcnt 
+0x2bf9 005168 nop 30000 
+0x2bfa 005169 nop 30000 
+0x2bfb 005170 nop 30000 
+0x2bfc 005171 rtn 
+:      005173 lpm_cal_xtal_startup_by_snooze:
+0x2bfd 005174 fetch 1 ,mem_lpm_xtalcnt 
+0x2bfe 005175 nrtn blank 
+0x2bff 005176 hjam 0xff ,core_xtal_stable_time 
+0x2c00 005177 hjam clksel_rc ,core_clksel 
+0x2c01 005178 call xtal_fast_wake 
+0x2c02 005179 setarg 1000 
+0x2c03 005180 iadd lpo_time ,alarm 
+0x2c04 005181 snooze 
+0x2c05 005182 deposit lpo_time 
+0x2c06 005183 nop 12000 
+0x2c07 005184 nop 12000 
+0x2c08 005185 nop 12000 
+0x2c09 005186 nop 12000 
+0x2c0a 005187 nop 12000 
+0x2c0b 005188 nop 12000 
+0x2c0c 005189 nop 12000 
+0x2c0d 005190 nop 12000 
+0x2c0e 005191 nop 12000 
+0x2c0f 005192 isub alarm ,pdata 
+0x2c10 005193 add pdata ,0x30 ,pdata 
+0x2c11 005194 arg 0xff ,temp 
+0x2c12 005195 call ceiling 
+0x2c13 005196 store 1 ,mem_lpm_xtalcnt 
+0x2c14 005197 nop 30000 
+0x2c15 005198 nop 30000 
+0x2c16 005199 nop 30000 
+0x2c17 005200 rtn 
+:      005205 lpm_write_config:
+0x2c18 005206 arg 0xfff ,contw 
+0x2c19 005207 iand contw ,contw 
+0x2c1a 005208 fetch 1 ,mem_lpm_config 
+0x2c1b 005209 and_into 0xf0 ,pdata 
+0x2c1c 005210 lshift8 pdata ,pdata 
+0x2c1d 005211 ior contw ,pdata 
+0x2c1e 005212 hstore 2 ,core_lpm_reg 
+0x2c1f 005213 ifetch 2 ,contr 
+0x2c20 005214 istore 2 ,contw 
+:      005216 lpm_write_ctrl:
+0x2c21 005217 setarg lpmreg_sel_ctrl 
+0x2c22 005218 branch lpm_write 
+:      005220 lpm_write_ctrl2:
+0x2c23 005221 setarg lpmreg_sel_ctrl2 
+:      005222 lpm_write:
+0x2c24 005223 until null ,lpo_edge 
+0x2c25 005224 hstore 1 ,core_lpm_wr 
+0x2c26 005225 until null ,lpo_edge 
+0x2c27 005226 until null ,lpo_edge 
+0x2c28 005227 rtn 
+:      005230 lpm_write_gpio_wakeup:
+0x2c29 005231 bpatch patch16_0 ,mem_patch16 
+0x2c2a 005232 fetch 4 ,mem_gpio_wakeup_low 
+0x2c2b 005233 hstore 4 ,core_lpm_reg 
+0x2c2c 005234 setarg lpmreg_sel_gpiolow 
+0x2c2d 005235 call lpm_write 
+0x2c2e 005236 fetch 4 ,mem_gpio_wakeup_high 
+0x2c2f 005237 hstore 4 ,core_lpm_reg 
+0x2c30 005238 setarg lpmreg_sel_gpiohigh 
+0x2c31 005239 branch lpm_write 
+:      005241 lpm_get_wake_lock:
+0x2c32 005242 fetch 2 ,mem_lpm_wake_lock 
+0x2c33 005243 qset1 pdata 
+0x2c34 005244 store 2 ,mem_lpm_wake_lock 
+0x2c35 005245 rtn 
+:      005247 lpm_put_wake_lock:
+0x2c36 005248 fetch 2 ,mem_lpm_wake_lock 
+0x2c37 005249 qset0 pdata 
+0x2c38 005250 store 2 ,mem_lpm_wake_lock 
+0x2c39 005251 rtn 
+:      005255 lpm_check_wake_lock:
+0x2c3a 005256 bpatch patch16_1 ,mem_patch16 
+0x2c3b 005257 call app_check_wake_lock 
+0x2c3c 005258 fetch 2 ,mem_lpm_wake_lock 
+0x2c3d 005259 copy pdata ,rega 
+0x2c3e 005260 fetch 1 ,mem_state_map 
+0x2c3f 005261 isolate1 smap_rxlmp ,pdata 
+0x2c40 005262 setflag true ,wake_lock_lmp_rx ,rega 
+0x2c41 005263 fetch 1 ,mem_lmo_opcode1 
+0x2c42 005264 fetcht 1 ,mem_lmo_opcode2 
+0x2c43 005265 iadd temp ,pdata 
+0x2c44 005266 fetcht 1 ,mem_lmp_to_send 
+0x2c45 005267 iadd temp ,pdata 
+0x2c46 005268 nsetflag blank ,wake_lock_lmp_tx ,rega 
+0x2c47 005269 fetch 1 ,mem_le_tx_buff_used 
+0x2c48 005270 nsetflag blank ,wake_lock_ble_tx ,rega 
+0x2c49 005271 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x2c4a 005272 fetcht 2 ,mem_l2cap_rxbuff2_len 
+0x2c4b 005273 iadd temp ,pdata 
+0x2c4c 005274 nsetflag blank ,wake_lock_l2cap_rx ,rega 
+0x2c4d 005275 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x2c4e 005276 nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+0x2c4f 005277 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+0x2c50 005278 nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+0x2c51 005279 fetch 1 ,mem_hci_cmd 
+0x2c52 005280 nsetflag blank ,wake_lock_cmd ,rega 
+0x2c53 005281 fetch 1 ,mem_device_option 
+0x2c54 005282 compare dvc_op_module ,pdata ,0xff 
+0x2c55 005283 call lpm_uart_wake_lock ,true 
+0x2c56 005284 setarg -8 
+0x2c57 005285 iand rega ,rega 
+0x2c58 005286 copy rega ,pdata 
+0x2c59 005287 store 2 ,mem_lpm_wake_lock 
+0x2c5a 005288 rtn 
+:      005290 lpm_uart_wake_lock:
+0x2c5b 005291 hfetch 2 ,core_uart_rxitems 
+0x2c5c 005292 nsetflag blank ,wake_lock_uart_rx ,rega 
+0x2c5d 005293 hfetch 2 ,core_uart_txitems 
+0x2c5e 005294 nsetflag blank ,wake_lock_uart_tx ,rega 
+0x2c5f 005295 rtn 
+:      005297 lpm_shut_down:
+0x2c60 005298 hfetch 4 ,core_lpm_ctrl 
+0x2c61 005299 set0 27 ,pdata 
+0x2c62 005300 hstore 4 ,core_lpm_reg 
+0x2c63 005301 call lpm_write_ctrl 
+0x2c64 005302 branch assert 
+:      005304 lpm_disable_exen_output:
+0x2c65 005305 hfetch 4 ,core_lpm_xtalcnt 
+0x2c66 005306 set0 20 ,pdata 
+0x2c67 005307 hstore 4 ,core_lpm_reg 
+0x2c68 005308 branch lpm_write_ctrl2 
+:      005310 check_bt_disabled:
+0x2c69 005311 fetch 2 ,mem_chip_functions 
+0x2c6a 005312 bbit1 bt_disabled ,assert 
+0x2c6b 005313 rtn 
+:      005314 check_ble_disabled:
+0x2c6c 005315 fetch 2 ,mem_chip_functions 
+0x2c6d 005316 bbit1 ble_disabled ,assert 
+0x2c6e 005317 rtn 
+:      005318 check_module_disabled:
+0x2c6f 005319 fetch 2 ,mem_chip_functions 
+0x2c70 005320 bbit1 module_disable ,assert 
+0x2c71 005321 rtn 
+:      005382 g24_dispatch:
+0x2c72 005383 bpatch patch16_2 ,mem_patch16 
+0x2c73 005384 call g24_head_ptr2regc 
+0x2c74 005385 add regc ,offset_24g_mode ,regb 
+0x2c75 005386 ifetch 1 ,regb 
+0x2c76 005388 rtneq disable_24g 
+0x2c77 005389 beq tx_24g ,g24_transmit_process 
+0x2c78 005390 beq rx_24g ,g24_receive_process 
+0x2c79 005391 rtn 
+:      005393 g24_head_ptr2regc:
+0x2c7a 005394 fetcht 2 ,mem_24g_head_ptr 
+0x2c7b 005395 copy temp ,regc 
+0x2c7c 005396 rtn 
+:      005398 g24_receive_process_init:
+0x2c7d 005399 call g24_receive_init 
+0x2c7e 005400 branch g24_mode_switch_init 
+:      005402 g24_receive_process:
+0x2c7f 005403 call g24_mode_switch 
+0x2c80 005404 call g24_dongle_work_mode_auto 
+0x2c81 005405 call g24_dongle_bind_mode_auto 
+0x2c82 005406 branch g24_dongle_search_mode_auto 
+:      005409 g24_pair_init:
+0x2c83 005412 call g24_set0_mem_pid 
+0x2c84 005413 setarg g24_pair_ch 
+0x2c85 005414 call g24_store_mem_ch 
+0x2c86 005415 call g24_store_mem_pair_txpower 
+0x2c87 005418 add regc ,offset_24g_paring_addr ,rega 
+0x2c88 005419 ifetch 4 ,rega 
+0x2c89 005420 branch g24_store_mem_addr 
+:      005422 g24_ch:
+0x2c8a 005423 call g24_head_ptr2regc 
+0x2c8b 005424 add regc ,offset_24g_current_ch_number ,regb 
+0x2c8c 005425 ifetcht 1 ,regb 
+0x2c8d 005427 call g24_ch_temp_incre_size4 
+0x2c8e 005428 add regc ,offset_24g_current_ch_number ,contw 
+0x2c8f 005430 branch g24_contw_istoret_1byte 
+:      005432 g24_ch_temp_incre_size4:
+0x2c90 005433 call g24_ch_calc 
+0x2c91 005434 increase 1 ,temp 
+0x2c92 005435 and_into 3 ,temp 
+0x2c93 005436 rtn 
+:      005438 g24_ch_calc:
+0x2c94 005439 add regc ,offset_24g_addr ,regb 
+0x2c95 005440 ifetch 1 ,regb 
+0x2c96 005442 and_into 0x03 ,pdata 
+0x2c97 005443 mul32 pdata ,4 ,rega 
+0x2c98 005444 add regc ,offset_24g_ch_map1 ,pdata 
+0x2c99 005446 iadd rega ,pdata 
+0x2c9a 005447 iadd temp ,contr 
+0x2c9b 005448 ifetch 1 ,contr 
+0x2c9c 005450 branch g24_store_mem_ch 
+:      005452 g24_set_device_addr:
+0x2c9d 005453 call g24_store_mem_tx_power_temp 
+0x2c9e 005454 call otp_enable_chgpump 
+0x2c9f 005455 setarg 0x7e2 
+0x2ca0 005456 arg mem_temp ,rega 
+0x2ca1 005457 arg 4 ,temp 
+0x2ca2 005458 call otpd_read_data 
+0x2ca3 005459 call otp_disable_chgpump 
+0x2ca4 005460 fetch 4 ,mem_temp 
+0x2ca5 005461 call g24_store_mem_device_addr 
+0x2ca6 005463 nrtn blank 
+0x2ca7 005464 fetch 4 ,mem_lap 
+0x2ca8 005466 branch g24_store_mem_device_addr 
+:      005468 g24_transmit_rf_sta_init:
+0x2ca9 005469 call g24_set1_mem_rf_last_sta 
+0x2caa 005471 setarg 0 
+0x2cab 005472 call g24_store_mem_sync_cnt 
+:      005474 g24_transmit_rf_ctrl_clear:
+0x2cac 005475 call g24_fetch_mem_data_type 
+0x2cad 005477 and_into bits_data ,pdata 
+0x2cae 005479 branch g24_store_mem_data_type 
+:      005481 g24_hop_ch_enable:
+0x2caf 005482 call g24_fetch_mem_data_type 
+0x2cb0 005484 set1 bit_hop ,pdata 
+0x2cb1 005485 call g24_store_mem_data_type 
+0x2cb2 005488 branch g24_store_mem_txpayload 
+:      005490 g24_transmit_hop_pac_fail:
+0x2cb3 005491 call g24_fetch_mem_rf_work_stage 
+0x2cb4 005493 beq 1 ,g24_transmit_hop_pac_fail_wo_hop 
+0x2cb5 005494 beq 2 ,g24_transmit_hop_pac_fail_hop_stage2 
+0x2cb6 005495 rtn 
+:      005497 g24_transmit_hop_pac_fail_wo_hop:
+0x2cb7 005498 call g24_set2_mem_sync_cnt 
+:      005500 g24_transmit_hop_pac_fail_stage1:
+0x2cb8 005501 add regc ,offset_24g_hop_pac_retry ,contw 
+0x2cb9 005502 call g24_mem_set0 
+0x2cba 005504 call g24_store_mem_rf_last_sta 
+0x2cbb 005506 branch g24_transmit_rf_ctrl_clear 
+:      005508 g24_transmit_hop_pac_fail_hop_stage2:
+0x2cbc 005509 call g24_set0_mem_rf_hop_ch 
+0x2cbd 005511 branch g24_transmit_hop_pac_fail_stage1 
+:      005513 g24_transmit_pac_fail_hop_stage3:
+0x2cbe 005514 add regc ,offset_24g_txfail_cnt ,rega 
+0x2cbf 005515 ifetch 1 ,rega 
+0x2cc0 005517 increase 1 ,pdata 
+0x2cc1 005518 add regc ,offset_24g_txfail_cnt ,contw 
+0x2cc2 005519 istore 1 ,contw 
+0x2cc3 005521 beq 0x20 ,g24_tx_attempt_fail 
+0x2cc4 005522 call g24_fetch_mem_rf_hop_ch 
+0x2cc5 005524 beq 1 ,g24_rf_hop_fastly 
+0x2cc6 005525 setarg 1 
+0x2cc7 005526 call g24_store_mem_rf_hop_ch 
+:      005528 g24_rf_hop_attemp_again:
+0x2cc8 005529 call g24_fetch_mem_rf_hop_ch 
+0x2cc9 005531 bne 1 ,g24_transmit_rf_ctrl_clear 
+:      005532 g24_rf_hop_fastly:
+0x2cca 005533 add regc ,offset_24g_hop_fastly_cnt ,rega 
+0x2ccb 005534 ifetch 1 ,rega 
+0x2ccc 005536 increase 1 ,pdata 
+0x2ccd 005537 call g24_store_mem_hop_fastly_cnt 
+0x2cce 005539 beq 4 ,g24_rf_hop_fastly_exit 
+0x2ccf 005540 call g24_ch 
+0x2cd0 005541 call g24_set2_mem_max_retry 
+0x2cd1 005543 branch g24_transmit_packet 
+:      005545 g24_rf_hop_fastly_exit:
+0x2cd2 005546 call g24_set0_mem_hop_fastly_cnt 
+0x2cd3 005548 branch g24_transmit_rf_ctrl_clear 
+:      005550 g24_set0_mem_hop_fastly_cnt:
+0x2cd4 005551 setarg 0 
+:      005552 g24_store_mem_hop_fastly_cnt:
+0x2cd5 005553 add regc ,offset_24g_hop_fastly_cnt ,contw 
+0x2cd6 005554 branch g24_contw_istore_1byte 
+:      005556 g24_transmit_hop_pac_succ_wo_hop:
+0x2cd7 005557 call g24_set2_mem_sync_cnt 
+:      005559 g24_transmit_hop_pac_succ:
+0x2cd8 005560 call g24_set0_mem_rf_hop_ch 
+0x2cd9 005562 call g24_set1_mem_rf_last_sta 
+0x2cda 005564 branch g24_transmit_rf_ctrl_clear 
+:      005566 g24_transmit_succ_rf_config:
+0x2cdb 005567 call g24_fetch_mem_rf_work_stage 
+0x2cdc 005569 beq 3 ,g24_transmit_hop_pac_succ 
+0x2cdd 005570 call g24_fetch_mem_data_type 
+0x2cde 005572 isolate0 bit_hop ,pdata 
+0x2cdf 005573 branch g24_transmit_rf_sta_init ,true 
+0x2ce0 005574 call g24_fetch_mem_rf_work_stage 
+0x2ce1 005576 beq 1 ,g24_transmit_hop_pac_succ_wo_hop 
+0x2ce2 005577 beq 2 ,g24_transmit_hop_pac_succ 
+0x2ce3 005578 rtn 
+:      005580 g24_rf_sta_check:
+0x2ce4 005581 call g24_fetch_mem_pairing_sm 
+0x2ce5 005583 rtnne state_24g_pairing_success 
+0x2ce6 005584 call g24_rf_laststa_synccnt_check 
+0x2ce7 005585 ncall g24_rf_sync_cnt_check ,user2 
+0x2ce8 005586 rtn 
+:      005588 g24_rf_laststa_synccnt_check:
+0x2ce9 005589 disable user2 
+0x2cea 005590 add regc ,offset_24g_rf_last_sta ,rega 
+0x2ceb 005591 ifetch 1 ,rega 
+0x2cec 005593 rtnne 1 
+0x2ced 005594 add regc ,offset_24g_sync_cnt ,rega 
+0x2cee 005595 ifetch 1 ,rega 
+0x2cef 005597 rtnne 0 
+0x2cf0 005598 setarg 1 
+0x2cf1 005599 call g24_store_mem_rf_work_stage 
+0x2cf2 005601 call g24_set4_mem_max_retry 
+0x2cf3 005603 branch enable_user2 
+:      005605 g24_rf_sync_cnt_check:
+0x2cf4 005606 add regc ,offset_24g_sync_cnt ,rega 
+0x2cf5 005607 ifetch 1 ,rega 
+0x2cf6 005609 branch g24_rf_hop_attemp ,blank 
+0x2cf7 005610 increase -1 ,pdata 
+0x2cf8 005611 call g24_store_mem_sync_cnt 
+0x2cf9 005613 setarg 2 
+0x2cfa 005614 call g24_store_mem_rf_work_stage 
+0x2cfb 005616 call g24_ch 
+0x2cfc 005618 branch g24_set4_mem_max_retry 
+:      005620 g24_store_mem_rf_work_stage:
+0x2cfd 005621 add regc ,offset_24g_rf_work_stage ,contw 
+0x2cfe 005622 branch g24_contw_istore_1byte 
+:      005625 g24_rf_hop_attemp:
+0x2cff 005626 setarg 3 
+0x2d00 005627 call g24_store_mem_rf_work_stage 
+0x2d01 005629 call g24_fetch_mem_rf_hop_ch 
+0x2d02 005631 nbranch g24_rf_hop_attemp_again ,blank 
+0x2d03 005632 call g24_ch 
+:      005634 g24_set2_mem_max_retry:
+0x2d04 005635 setarg 2 
+0x2d05 005636 branch g24_store_mem_max_retry 
+:      005638 g24_transmit_process:
+0x2d06 005639 rtnmark0 mark_24g 
+0x2d07 005640 set1 mark_24g_conext ,mark 
+0x2d08 005641 bpatch patch16_3 ,mem_patch16 
+0x2d09 005642 add regc ,offset_24g_tx_without_int ,rega 
+0x2d0a 005643 ifetch 1 ,rega 
+0x2d0b 005645 beq 1 ,g24_transmit_without_int 
+0x2d0c 005646 call g24_timer_check 
+0x2d0d 005647 nbranch g24_transmit_exit ,user 
+0x2d0e 005648 call g24_interval_calibrate 
+:      005649 g24_transmit_without_int:
+0x2d0f 005650 add regc ,offset_24g_tx_without_int ,contw 
+0x2d10 005651 call g24_mem_set0 
+0x2d11 005653 call g24_txdata_prep 
+0x2d12 005654 nbranch g24_enter_lpm ,user 
+0x2d13 005655 call g24_rf_sta_check 
+:      005656 g24_transmit_start:
+0x2d14 005657 call g24_transmit_packet 
+0x2d15 005658 call g24_power_ctrl 
+:      005659 g24_transmit_exit:
+0x2d16 005660 set0 mark_24g_conext ,mark 
+0x2d17 005661 rtn 
+:      005663 g24_timer_timeout:
+0x2d18 005664 rtn zero 
+0x2d19 005665 set1 28 ,pdata 
+0x2d1a 005666 rtn 
+:      005668 g24_interval_calibrate:
+0x2d1b 005669 add regc ,offset_24g_pac_index ,rega 
+0x2d1c 005670 ifetch 1 ,rega 
+0x2d1d 005672 increase 1 ,pdata 
+0x2d1e 005673 add regc ,offset_24g_pac_index ,contw 
+0x2d1f 005674 istore 1 ,contw 
+0x2d20 005676 beq 4 ,g24_interval_max 
+0x2d21 005677 beq 5 ,g24_interval_min 
+0x2d22 005678 rtn 
+:      005679 g24_interval_max:
+0x2d23 005680 add regc ,offset_24g_interval_max ,rega 
+0x2d24 005681 ifetch 1 ,rega 
+:      005683 g24_interval_update:
+0x2d25 005685 add regc ,offset_24g_interval ,contw 
+0x2d26 005686 branch g24_contw_istore_1byte 
+:      005688 g24_interval_min:
+0x2d27 005689 add regc ,offset_24g_pac_index ,contw 
+0x2d28 005690 call g24_mem_set0 
+0x2d29 005692 add regc ,offset_24g_interval_min ,rega 
+0x2d2a 005693 ifetch 1 ,rega 
+0x2d2b 005695 branch g24_interval_update 
+:      005697 g24_txdata_prep:
+0x2d2c 005698 call g24_fetch_mem_pairing_sm 
+0x2d2d 005700 bne state_24g_pairing_success ,g24_pairing_sm 
+0x2d2e 005701 bpatch patch16_4 ,mem_patch16 
+0x2d2f 005702 call g24_package_data 
+0x2d30 005703 nbranch g24_txdata_last_pac ,user 
+0x2d31 005704 call g24_transmit_prep 
+0x2d32 005705 call g24_power_ctrl_pac_incrs 
+:      005706 g24_txdata_enable_tx:
+0x2d33 005708 setarg ensure_on_24g 
+:      005709 g24_store_mem_ensure:
+0x2d34 005710 add regc ,offset_24g_ensure ,contw 
+0x2d35 005711 branch g24_contw_istore_1byte 
+:      005713 g24_txdata_last_pac:
+0x2d36 005714 add regc ,offset_24g_ensure ,rega 
+0x2d37 005715 ifetch 1 ,rega 
+0x2d38 005717 beq ensure_on_24g ,enable_user 
+0x2d39 005718 rtn 
+:      005720 g24_package_data:
+0x2d3a 005722 add regc ,offset_24g_cb_data ,temp 
+0x2d3b 005723 ifetch 2 ,temp 
+0x2d3c 005725 call callback_func 
+0x2d3d 005726 nrtn user 
+0x2d3e 005727 copy rega ,pdata 
+0x2d3f 005728 store 1 ,mem_rega 
+0x2d40 005729 add regc ,offset_24g_abort_pac ,contw 
+0x2d41 005730 call g24_mem_set0 
+0x2d42 005732 call g24_transmit_rf_ctrl_clear 
+0x2d43 005733 store 1 ,mem_24g_common_temp 
+0x2d44 005734 fetch 1 ,mem_rega 
+0x2d45 005735 copy pdata ,rega 
+0x2d46 005736 add rega ,1 ,temp 
+0x2d47 005737 arg mem_24g_common_temp + 1 ,contw 
+0x2d48 005738 copy rega ,loopcnt 
+0x2d49 005739 copy regb ,contr 
+0x2d4a 005740 call memcpy 
+0x2d4b 005741 arg mem_24g_common_temp ,rega 
+:      005742 g24_put_data_in_buff:
+0x2d4c 005743 rtnmark0 mark_24g_conext 
+0x2d4d 005744 add regc ,offset_24g_datalen ,contw 
+0x2d4e 005745 istoret 1 ,contw 
+0x2d4f 005747 copy temp ,loopcnt 
+0x2d50 005748 add regc ,offset_24g_txbuf ,contw 
+0x2d51 005750 copy rega ,contr 
+0x2d52 005751 branch memcpy 
+:      005753 g24_transmit_prep:
+0x2d53 005755 add regc ,offset_24g_datalen ,rega 
+0x2d54 005756 ifetch 1 ,rega 
+0x2d55 005758 increase 2 ,pdata 
+0x2d56 005759 add regc ,offset_24g_txlen ,contw 
+0x2d57 005760 istore 1 ,contw 
+0x2d58 005763 call g24_fetch_mem_data_type 
+0x2d59 005765 call g24_store_mem_txpayload 
+0x2d5a 005768 add regc ,offset_24g_datalen ,rega 
+0x2d5b 005769 ifetch 1 ,rega 
+0x2d5c 005771 lshift3 pdata ,pdata 
+0x2d5d 005772 add regc ,offset_24g_pid ,rega 
+0x2d5e 005773 ifetcht 1 ,rega 
+0x2d5f 005775 and temp ,0x03 ,temp 
+0x2d60 005776 lshift temp ,temp 
+0x2d61 005777 ior temp ,pdata 
+0x2d62 005778 add regc ,offset_24g_no_ack ,rega 
+0x2d63 005779 ifetcht 1 ,rega 
+0x2d64 005781 iadd temp ,pdata 
+0x2d65 005782 istore 1 ,contw 
+0x2d66 005784 add regc ,offset_24g_datalen ,rega 
+0x2d67 005785 ifetch 1 ,rega 
+0x2d68 005787 iforce loopcnt 
+0x2d69 005788 add regc ,offset_24g_txbuf ,contr 
+0x2d6a 005790 branch memcpy 
+:      005792 g24_send_abort_packet:
+0x2d6b 005793 call g24_set1_mem_abort_pac 
+0x2d6c 005795 call g24_set0_mem_rf_hop_ch 
+0x2d6d 005797 call g24_power_ctrl_reinit 
+0x2d6e 005798 call g24_transmit_rf_ctrl_clear 
+0x2d6f 005799 store 1 ,mem_24g_common_temp 
+0x2d70 005800 call g24_put_data_in_buff_pre 
+0x2d71 005801 call g24_fetch_mem_data_type 
+0x2d72 005803 set1 bit_abort ,pdata 
+0x2d73 005804 call g24_store_mem_data_type 
+0x2d74 005806 call g24_transmit_prep 
+0x2d75 005807 call g24_txdata_enable_tx 
+0x2d76 005808 branch g24_transmit_start 
+:      005810 g24_put_data_in_buff_pre:
+0x2d77 005811 store 1 ,mem_24g_common_temp + 1 
+0x2d78 005812 call g24_fetch_mem_device_addr 
+0x2d79 005814 store 4 ,mem_24g_common_temp + 2 
+0x2d7a 005815 arg 6 ,temp 
+0x2d7b 005816 arg mem_24g_common_temp ,rega 
+0x2d7c 005817 branch g24_put_data_in_buff 
+:      005819 g24_enter_lpm:
+0x2d7d 005820 add regc ,offset_24g_abort_pac ,rega 
+0x2d7e 005821 ifetch 1 ,rega 
+0x2d7f 005823 branch g24_send_abort_packet ,blank 
+:      005824 g24_enter_lpm_prepare:
+0x2d80 005826 add regc ,offset_24g_cb_lpm_prepare ,rega 
+0x2d81 005827 ifetch 2 ,rega 
+0x2d82 005829 branch callback_func 
+:      005831 g24_lpm_long_sleep:
+0x2d83 005832 call g24_head_ptr2regc 
+0x2d84 005834 call lpo_calibration 
+0x2d85 005835 fetch 3 ,mem_clks_per_lpo 
+0x2d86 005836 rtn blank 
+0x2d87 005837 add regc ,offset_24g_cb_lpm_before ,temp 
+0x2d88 005838 ifetch 2 ,temp 
+0x2d89 005840 call callback_func 
+0x2d8a 005841 add regc ,offset_24g_enter_hibernate ,temp 
+0x2d8b 005842 ifetch 8 ,temp 
+0x2d8c 005843 call clk2lpo 
+0x2d8d 005844 storet 4 ,mem_sleep_counter 
+0x2d8e 005845 branch lpm_sleep 
+:      005847 g24_transmit_packet:
+0x2d8f 005848 call g24_head_ptr2regc 
+0x2d90 005849 add regc ,offset_24g_retry ,contw 
+0x2d91 005850 call g24_mem_set0 
+:      005852 g24_transmit_loop:
+0x2d92 005853 call g24_transmit_receive_ack 
+0x2d93 005854 nbranch g24_retransmit ,sync 
+0x2d94 005855 nbranch g24_retransmit ,user3 
+0x2d95 005856 call g24_ackpayload_parse 
+0x2d96 005857 call g24_power_ctrl_ack_incrs 
+:      005858 g24_transmit_next_packet:
+0x2d97 005859 call g24_head_ptr2regc 
+0x2d98 005860 add regc ,offset_24g_pid ,rega 
+0x2d99 005861 ifetch 1 ,rega 
+0x2d9a 005863 increase 1 ,pdata 
+0x2d9b 005864 call g24_store_mem_pid 
+0x2d9c 005866 call g24_fetch_mem_pairing_sm 
+0x2d9d 005868 bne state_24g_pairing_success ,g24_paring_mode 
+0x2d9e 005869 call g24_transmit_succ_rf_config 
+:      005870 g24_transmit_abandon:
+0x2d9f 005871 setarg 0 
+0x2da0 005872 add regc ,offset_24g_txfail_cnt ,contw 
+0x2da1 005873 istore 2 ,contw 
+0x2da2 005877 setarg ensure_off_24g 
+0x2da3 005878 branch g24_store_mem_ensure 
+:      005881 g24_transmit_receive_ack:
+0x2da4 005882 disable user3 
+0x2da5 005883 call g24_transmit 
+0x2da6 005884 call g24_head_ptr2regc 
+0x2da7 005885 add regc ,offset_24g_no_ack ,rega 
+0x2da8 005886 ifetch 1 ,rega 
+0x2da9 005888 beq no_ack_24g ,g24_transmit_no_ack 
+0x2daa 005889 call g24_receive_packet 
+0x2dab 005890 branch g24_end_of_packet 
+:      005891 g24_transmit_no_ack:
+0x2dac 005892 call g24_end_of_packet 
+0x2dad 005893 branch g24_transmit_next_packet 
+:      005896 g24_retransmit:
+0x2dae 005897 bpatch patch16_5 ,mem_patch16 
+0x2daf 005898 add regc ,offset_24g_get_ack_fail ,rega 
+0x2db0 005899 ifetch 1 ,rega 
+0x2db1 005901 increase 1 ,pdata 
+0x2db2 005902 add regc ,offset_24g_get_ack_fail ,contw 
+0x2db3 005903 istore 1 ,contw 
+0x2db4 005905 call g24_fetch_mem_pairing_sm 
+0x2db5 005907 bne state_24g_pairing_success ,g24_tx_paring_retry 
+0x2db6 005908 add regc ,offset_24g_retry ,rega 
+0x2db7 005909 ifetcht 1 ,rega 
+0x2db8 005911 increase 1 ,temp 
+0x2db9 005912 add regc ,offset_24g_retry ,contw 
+0x2dba 005913 istoret 1 ,contw 
+0x2dbb 005915 add regc ,offset_24g_max_retry ,rega 
+0x2dbc 005916 ifetch 1 ,rega 
+0x2dbd 005918 isub temp ,pdata 
+0x2dbe 005919 nbranch g24_transmit_loop ,blank 
+0x2dbf 005920 bpatch patch16_6 ,mem_patch16 
+0x2dc0 005921 call g24_fetch_mem_rf_work_stage 
+0x2dc1 005923 beq 3 ,g24_transmit_pac_fail_hop_stage3 
+0x2dc2 005924 add regc ,offset_24g_hop_pac_retry ,rega 
+0x2dc3 005925 ifetch 1 ,rega 
+0x2dc4 005927 increase 1 ,pdata 
+0x2dc5 005928 add regc ,offset_24g_hop_pac_retry ,contw 
+0x2dc6 005929 istore 1 ,contw 
+0x2dc7 005931 beq 2 ,g24_transmit_hop_pac_fail 
+0x2dc8 005932 call g24_hop_ch_enable 
+0x2dc9 005933 setarg 1 
+0x2dca 005934 call g24_store_mem_max_retry 
+0x2dcb 005936 branch g24_transmit_packet 
+:      005938 g24_tx_paring_retry:
+0x2dcc 005939 add regc ,offset_24g_get_ack_fail ,rega 
+0x2dcd 005940 ifetch 1 ,rega 
+0x2dce 005942 rtnne 0xff 
+0x2dcf 005943 add regc ,offset_24g_get_ack_fail ,contw 
+0x2dd0 005944 call g24_mem_set0 
+0x2dd1 005946 branch g24_stop_24g_mode 
+:      005948 g24_tx_attempt_fail:
+0x2dd2 005949 add regc ,offset_24g_txfail_cnt ,contw 
+0x2dd3 005950 call g24_mem_set0 
+:      005952 g24_stop_24g_mode:
+0x2dd4 005953 jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+0x2dd5 005954 branch ui_ipc_send_event 
+:      005956 g24_ackpayload_parse:
+0x2dd6 005957 call g24_read_len_pid_crc 
+0x2dd7 005958 add regc ,offset_24g_rxdata_length ,rega 
+0x2dd8 005959 ifetch 1 ,rega 
+0x2dd9 005961 rtn blank 
+0x2dda 005962 iforce loopcnt 
+0x2ddb 005963 add regc ,offset_24g_rxbuf_add2 ,contr 
+0x2ddc 005965 add regc ,offset_24g_rxpayload ,contw 
+0x2ddd 005967 branch memcpy 
+:      005970 g24_read_len_pid_crc:
+0x2dde 005972 call g24_fetch_mem_rxbuf_add1 
+0x2ddf 005974 rshift3 pdata ,pdata 
+0x2de0 005975 add regc ,offset_24g_rxdata_length ,contw 
+0x2de1 005976 istore 1 ,contw 
+0x2de2 005979 increase 1 ,pdata 
+0x2de3 005980 add regc ,offset_24g_rxbuf_add1 ,contr 
+0x2de4 005982 iadd contr ,contr 
+0x2de5 005983 ifetch 3 ,contr 
+0x2de6 005984 add regc ,offset_24g_sta_crc ,contw 
+0x2de7 005985 istore 3 ,contw 
+0x2de8 005988 call g24_fetch_mem_rxbuf_add1 
+0x2de9 005990 rshift pdata ,pdata 
+0x2dea 005991 and pdata ,0x03 ,pdata 
+0x2deb 005992 add regc ,offset_24g_sta_pid ,contw 
+0x2dec 005993 istore 1 ,contw 
+0x2ded 005995 rtn 
+:      005997 g24_prep:
+0x2dee 005998 disable enable_crc 
+0x2def 005999 disable enable_white 
+0x2df0 006000 setarg 0x555555 
+0x2df1 006001 iforce crc24_init 
+0x2df2 006002 rtn 
+:      006004 g24_set_freq_tx:
+0x2df3 006005 call set_sync_on 
+0x2df4 006006 add regc ,offset_24g_ch ,rega 
+0x2df5 006007 ifetcht 1 ,rega 
+0x2df6 006009 branch set_freq_tx 
+:      006011 g24_transmit:
+0x2df7 006012 call g24_prep 
+0x2df8 006013 call g24_set_freq_tx 
+0x2df9 006014 set1 txgfsk ,radio_ctrl 
+0x2dfa 006015 enable encode_fec0 
+0x2dfb 006016 enable is_tx 
+0x2dfc 006017 disable is_rx 
+0x2dfd 006018 call le_enable 
+0x2dfe 006019 call g24_fetch_mem_addr 
+0x2dff 006021 iforce access 
+0x2e00 006022 inject mod ,32 
+0x2e01 006023 enable enable_crc 
+0x2e02 006024 add regc ,offset_24g_txlen ,rega 
+0x2e03 006025 ifetch 1 ,rega 
+0x2e04 006027 iforce loopcnt 
+0x2e05 006028 add regc ,offset_24g_txpayload ,contr 
+:      006030 g24tr_loop:
+0x2e06 006031 ifetch 1 ,contr 
+0x2e07 006032 inject mod ,8 
+0x2e08 006033 loop g24tr_loop 
+0x2e09 006034 enable enable_parity 
+0x2e0a 006035 inject mod ,24 
+0x2e0b 006036 disable enable_parity 
+0x2e0c 006037 until null ,tx_clear 
+0x2e0d 006038 bpatch patch16_7 ,mem_patch16 
+0x2e0e 006039 nop 100 
+0x2e0f 006040 disable encode_fec0 
+0x2e10 006041 rtn 
+:      006043 g24_receive_packet:
+0x2e11 006044 disable user3 
+0x2e12 006045 force 0 ,radio_ctrl 
+0x2e13 006046 add regc ,offset_24g_ch ,rega 
+0x2e14 006047 ifetcht 1 ,rega 
+0x2e15 006049 call set_freq_rx 
+0x2e16 006050 call rf_rx_enable 
+:      006051 g24_receive_rxon:
+0x2e17 006052 call g24_prep 
+0x2e18 006053 enable decode_fec0 
+0x2e19 006054 enable is_rx 
+0x2e1a 006055 disable is_tx 
+0x2e1b 006056 call le_enable 
+0x2e1c 006057 call g24_fetch_mem_addr 
+0x2e1d 006059 iforce access 
+0x2e1e 006060 enable swfine 
+0x2e1f 006061 add regc ,offset_24g_rx_window ,rega 
+0x2e20 006062 ifetch 2 ,rega 
+0x2e21 006064 iforce stop_watch 
+0x2e22 006065 correlate null ,timeout 
+0x2e23 006066 nbranch g24_sync_timeout ,sync 
+0x2e24 006067 enable enable_crc 
+0x2e25 006068 parse demod ,bucket ,8 
+0x2e26 006069 rshift3 pwindow ,pdata 
+0x2e27 006070 add regc ,offset_24g_rxbuf ,contw 
+0x2e28 006071 istore 1 ,contw 
+0x2e29 006073 add regc ,offset_24g_mode ,rega 
+0x2e2a 006074 ifetch 1 ,rega 
+0x2e2b 006076 beq rx_24g ,g24_receive_skip 
+0x2e2c 006077 bpatch patch17_0 ,mem_patch17 
+0x2e2d 006078 add regc ,offset_24g_rxbuf ,rega 
+0x2e2e 006079 ifetch 1 ,rega 
+0x2e2f 006081 add regc ,offset_24g_data_type ,rega 
+0x2e30 006082 ifetcht 1 ,rega 
+0x2e31 006084 icompare bits_data ,temp 
+0x2e32 006085 nbranch g24_end_of_packet ,true 
+:      006086 g24_receive_skip:
+0x2e33 006087 parse demod ,bucket ,8 
+0x2e34 006088 rshift3 pwindow ,pdata 
+0x2e35 006089 istore 1 ,contw 
+0x2e36 006090 rshift3 pdata ,pdata 
+0x2e37 006091 and pdata ,0x1f ,loopcnt 
+0x2e38 006092 branch g24rx_nopayload ,zero 
+:      006093 g24rx_loop:
+0x2e39 006094 parse demod ,bucket ,8 
+0x2e3a 006095 rshift3 pwindow ,pdata 
+0x2e3b 006096 istore 1 ,contw 
+0x2e3c 006097 loop g24rx_loop 
+:      006098 g24rx_nopayload:
+0x2e3d 006099 parse demod ,bucket ,24 
+0x2e3e 006100 rshift32 pdata ,pdata 
+0x2e3f 006101 rshift16 pdata ,pdata 
+0x2e40 006102 istore 3 ,contw 
+0x2e41 006103 branch g24_end_of_packet ,crc_failed 
+0x2e42 006104 enable user3 
+0x2e43 006105 disable decode_fec0 
+0x2e44 006106 rtn 
+:      006109 g24_end_of_packet:
+0x2e45 006110 disable encode_fec0 
+0x2e46 006111 disable decode_fec0 
+0x2e47 006112 disable enable_crc 
+0x2e48 006113 disable enable_white 
+0x2e49 006114 branch shutdown_radio ,is_rx 
+0x2e4a 006115 until null ,tx_clear 
+0x2e4b 006116 nop 100 
+0x2e4c 006117 branch shutdown_radio 
+:      006119 g24_sync_timeout:
+0x2e4d 006120 call rssi_noise 
+0x2e4e 006121 branch g24_end_of_packet 
+:      006123 rssi_noise:
+0x2e4f 006124 call save_rssi 
+0x2e50 006125 rtn blank 
+0x2e51 006126 add regc ,offset_rssi_noise_index ,rega 
+0x2e52 006127 ifetcht 1 ,rega 
+0x2e53 006129 arg mem_rssi_noise_buffer ,rega 
+0x2e54 006131 call rssi_noise_store 
+0x2e55 006132 add regc ,offset_rssi_noise_index ,contw 
+:      006134 g24_contw_istoret_1byte:
+0x2e56 006135 istoret 1 ,contw 
+0x2e57 006136 rtn 
+:      006138 rssi_noise_store:
+0x2e58 006139 arg rssi_buf_len_noise ,regb 
+0x2e59 006140 branch rssi_store 
+:      006158 rssi_store:
+0x2e5a 006159 copy rega ,pdata 
+0x2e5b 006160 iadd temp ,contw 
+0x2e5c 006161 fetch 1 ,mem_rssi 
+0x2e5d 006162 istore 1 ,contw 
+0x2e5e 006163 increase 1 ,temp 
+0x2e5f 006164 copy regb ,pdata 
+0x2e60 006165 iand_into temp 
+0x2e61 006166 rtn 
+:      006168 rssi_average:
+0x2e62 006169 arg 0 ,temp 
+0x2e63 006170 copy rega ,contr 
+:      006171 rssi_average_loop:
+0x2e64 006172 ifetch 1 ,contr 
+0x2e65 006173 iadd temp ,temp 
+0x2e66 006174 loop rssi_average_loop 
+0x2e67 006175 rshift8 temp ,temp 
+0x2e68 006176 rtn 
+:      006178 g24_power_ctrl_init:
+0x2e69 006179 call g24_head_ptr2regc 
+0x2e6a 006180 call g24_power_ctrl_incrs_level1 
+0x2e6b 006181 setarg 1 
+0x2e6c 006182 call g24_store_mem_power_ctrl_level 
+:      006184 g24_power_ctrl_reinit:
+0x2e6d 006185 setarg 0 
+0x2e6e 006186 call g24_store_mem_power_ctrl_pac 
+0x2e6f 006188 istore 1 ,contw 
+0x2e70 006190 rtn 
+:      006192 g24_power_ctrl_pac_incrs:
+0x2e71 006193 call g24_fetch_mem_power_ctrl_pac 
+0x2e72 006195 increase 1 ,pdata 
+:      006196 g24_store_mem_power_ctrl_pac:
+0x2e73 006198 add regc ,offset_power_ctrl_packet_cnt ,contw 
+0x2e74 006199 branch g24_contw_istore_1byte 
+:      006201 g24_power_ctrl_ack_incrs:
+0x2e75 006204 add regc ,offset_power_ctrl_ack_cnt ,rega 
+0x2e76 006205 ifetch 1 ,rega 
+0x2e77 006206 increase 1 ,pdata 
+0x2e78 006207 add regc ,offset_power_ctrl_ack_cnt ,contw 
+0x2e79 006208 branch g24_contw_istore_1byte 
+:      006210 g24_power_ctrl:
+0x2e7a 006211 bpatch patch17_1 ,mem_patch17 
+0x2e7b 006212 call g24_fetch_mem_power_ctrl_pac 
+0x2e7c 006214 sub pdata ,power_ctrl_max_packet_cnt ,null 
+0x2e7d 006215 rtn positive 
+0x2e7e 006216 add regc ,offset_power_ctrl_ack_cnt ,rega 
+0x2e7f 006217 ifetcht 1 ,rega 
+0x2e80 006219 isub temp ,temp 
+0x2e81 006220 call g24_power_ctrl_reinit 
+0x2e82 006221 setarg offset_power_ctrl_threshold_up 
+0x2e83 006222 iadd regc ,rega 
+0x2e84 006223 ifetch 1 ,rega 
+0x2e85 006225 isub temp ,null 
+0x2e86 006226 nbranch g24_power_ctrl_incrs ,positive 
+0x2e87 006227 setarg offset_power_ctrl_threshold_down 
+0x2e88 006228 iadd regc ,rega 
+0x2e89 006229 ifetch 1 ,rega 
+0x2e8a 006231 isub temp ,null 
+0x2e8b 006232 branch g24_power_ctrl_decrs ,positive 
+0x2e8c 006233 rtn 
+:      006235 g24_power_ctrl_incrs:
+0x2e8d 006236 add regc ,offset_power_ctrl_level ,rega 
+0x2e8e 006237 ifetch 1 ,rega 
+0x2e8f 006239 beq 2 ,g24_power_ctrl_incrs_level2 
+0x2e90 006240 increase 1 ,pdata 
+0x2e91 006241 call g24_store_mem_power_ctrl_level 
+0x2e92 006243 beq 1 ,g24_power_ctrl_incrs_level1 
+:      006244 g24_power_ctrl_incrs_level2:
+0x2e93 006245 setarg power_ctrl_losspac_thresh_up2 
+0x2e94 006246 call g24_store_mem_power_ctrl_threshold_up 
+0x2e95 006248 setarg power_ctrl_losspac_thresh_down2 
+0x2e96 006249 call g24_store_mem_power_ctrl_threshold_down 
+0x2e97 006252 add regc ,offset_power_ctrl_txpwr_level2 ,rega 
+0x2e98 006254 branch g24_ifetch_rega_store_mem_txpower 
+:      006256 g24_power_ctrl_decrs:
+0x2e99 006257 add regc ,offset_power_ctrl_level ,rega 
+0x2e9a 006258 ifetch 1 ,rega 
+0x2e9b 006260 beq 0 ,g24_power_ctrl_decrs_level0 
+0x2e9c 006261 increase -1 ,pdata 
+0x2e9d 006262 call g24_store_mem_power_ctrl_level 
+0x2e9e 006264 beq 0 ,g24_power_ctrl_decrs_level0 
+:      006265 g24_power_ctrl_decrs_level1:
+:      006268 g24_power_ctrl_incrs_level1:
+0x2e9f 006269 setarg power_ctrl_losspac_thresh_up1 
+0x2ea0 006270 call g24_store_mem_power_ctrl_threshold_up 
+0x2ea1 006272 setarg power_ctrl_losspac_thresh_down1 
+0x2ea2 006273 call g24_store_mem_power_ctrl_threshold_down 
+0x2ea3 006276 setarg offset_power_ctrl_txpwr_level1 
+:      006277 g24_iadd_offset_mem_txpower:
+0x2ea4 006278 iadd regc ,rega 
+:      006279 g24_ifetch_rega_store_mem_txpower:
+0x2ea5 006280 ifetch 1 ,rega 
+0x2ea6 006282 branch g24_store_mem_txpower 
+:      006284 g24_power_ctrl_decrs_level0:
+0x2ea7 006287 setarg power_ctrl_losspac_thresh_up0 
+0x2ea8 006288 call g24_store_mem_power_ctrl_threshold_up 
+0x2ea9 006290 setarg power_ctrl_losspac_thresh_down0 
+0x2eaa 006291 call g24_store_mem_power_ctrl_threshold_down 
+0x2eab 006294 setarg offset_power_ctrl_txpwr_level0 
+0x2eac 006296 branch g24_iadd_offset_mem_txpower 
+:      006310 g24_start_pairing_sm1:
+0x2ead 006311 set1 mark_24g ,mark 
+0x2eae 006312 call g24_pair_init 
+:      006313 g24_set_pairing_sm_1:
+0x2eaf 006315 setarg state_24g_pairing_1 
+0x2eb0 006316 branch g24_store_mem_pairing_sm 
+:      006318 g24_pairing_sm:
+0x2eb1 006319 add regc ,offset_24g_ensure ,rega 
+0x2eb2 006320 ifetch 1 ,rega 
+0x2eb3 006322 beq ensure_on_24g ,enable_user 
+0x2eb4 006323 call g24_fetch_mem_pairing_sm 
+0x2eb5 006325 beq state_24g_pairing_1 ,g24_pairing_sm_1 
+0x2eb6 006326 beq state_24g_pairing_2 ,g24_pairing_sm_2 
+0x2eb7 006327 beq state_24g_pairing_3 ,g24_pairing_sm_3 
+0x2eb8 006328 branch assert 
+:      006330 g24_pairing_sm_1:
+0x2eb9 006331 setarg state_24g_pairing_1_waiting_ack 
+0x2eba 006332 call g24_store_mem_pairing_sm 
+0x2ebb 006334 jam 0xaa ,mem_24g_common_temp 
+0x2ebc 006335 branch g24_pairing_sm_common 
+:      006336 g24_pairing_sm_2:
+0x2ebd 006337 setarg state_24g_pairing_2_waiting_ack 
+0x2ebe 006338 call g24_store_mem_pairing_sm 
+0x2ebf 006340 jam 0x55 ,mem_24g_common_temp 
+0x2ec0 006341 branch g24_pairing_sm_common 
+:      006342 g24_pairing_sm_3:
+0x2ec1 006343 setarg state_24g_pairing_3_waiting_ack 
+0x2ec2 006344 call g24_store_mem_pairing_sm 
+0x2ec3 006346 jam 0x22 ,mem_24g_common_temp 
+:      006347 g24_pairing_sm_common:
+0x2ec4 006348 call g24_fetch_mem_data_type 
+0x2ec5 006350 and_into bits_data ,pdata 
+0x2ec6 006351 store 1 ,mem_24g_common_temp + 1 
+0x2ec7 006352 call g24_fetch_mem_device_addr 
+0x2ec8 006354 store 4 ,mem_24g_common_temp + 2 
+:      006355 g24_put_pairing_data_in_buff:
+0x2ec9 006356 jam 0 ,mem_24g_common_temp + 6 
+0x2eca 006357 arg mem_24g_common_temp ,rega 
+0x2ecb 006358 arg 7 ,temp 
+0x2ecc 006359 call g24_put_data_in_buff 
+0x2ecd 006360 call g24_transmit_prep 
+0x2ece 006361 call g24_txdata_enable_tx 
+0x2ecf 006362 branch enable_user 
+:      006364 g24_paring_mode:
+0x2ed0 006365 call g24_fetch_mem_pairing_sm 
+0x2ed1 006367 rtneq state_24g_pairing_success 
+0x2ed2 006368 beq state_24g_pairing_1_waiting_ack ,g24_pairing_sm_1_waiting_ack 
+0x2ed3 006369 beq state_24g_pairing_2_waiting_ack ,g24_pairing_sm_2_waiting_ack 
+0x2ed4 006370 beq state_24g_pairing_3_waiting_ack ,g24_pairing_sm_3_waiting_ack 
+0x2ed5 006371 rtn 
+:      006373 g24_pairing_sm_1_waiting_ack:
+0x2ed6 006374 setarg state_24g_pairing_2 
+0x2ed7 006375 call g24_store_mem_pairing_sm 
+0x2ed8 006377 branch g24_transmit_abandon 
+:      006378 g24_pairing_sm_2_waiting_ack:
+0x2ed9 006379 setarg state_24g_pairing_3 
+0x2eda 006380 call g24_store_mem_pairing_sm 
+0x2edb 006382 branch g24_transmit_abandon 
+:      006383 g24_pairing_sm_3_waiting_ack:
+0x2edc 006384 setarg state_24g_pairing_success 
+0x2edd 006385 call g24_store_mem_pairing_sm 
+0x2ede 006387 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+0x2edf 006388 call ui_ipc_send_event 
+0x2ee0 006389 add regc ,offset_24g_rxpayload_add2 ,rega 
+0x2ee1 006390 ifetch 4 ,rega 
+0x2ee2 006392 call g24_store_mem_addr 
+0x2ee3 006394 branch g24_transmit_abandon 
+:      006396 g24_auto_pair_start:
+0x2ee4 006397 set0 mark_24g ,mark 
+0x2ee5 006398 call g24_auto_pair_set_device_info 
+0x2ee6 006399 call g24_tx_attemp_data_prep 
+:      006400 g24_auto_pair_restart:
+0x2ee7 006401 call g24_set0_mem_check_dongle_times 
+:      006402 g24_auto_pair_start_loop:
+0x2ee8 006403 nop 2000 
+0x2ee9 006404 call g24_fetch_mem_check_dongle_times 
+0x2eea 006405 beq 0xff ,g24_stop_24g_mode 
+0x2eeb 006406 call g24_transmit_receive_ack 
+0x2eec 006407 nbranch g24_auto_pair_retry ,sync 
+0x2eed 006408 nbranch g24_auto_pair_retry ,user3 
+0x2eee 006409 call g24_ackpayload_parse 
+0x2eef 006410 call g24_head_ptr2regc 
+0x2ef0 006411 add regc ,offset_24g_paring_addr ,rega 
+0x2ef1 006412 ifetcht 4 ,rega 
+0x2ef2 006413 call g24_fetch_mem_addr_isub_temp 
+0x2ef3 006414 branch g24_start_pairing_sm1 ,zero 
+0x2ef4 006415 call g24_head_ptr2regc 
+0x2ef5 006416 add regc ,offset_24g_rxpayload_add2 ,rega 
+0x2ef6 006417 ifetch 4 ,rega 
+0x2ef7 006418 beq 0 ,g24_auto_pair_restart 
+0x2ef8 006419 call g24_store_mem_addr 
+0x2ef9 006420 branch g24_tx_attemp_dongle_succ 
+:      006422 g24_auto_pair_retry:
+0x2efa 006423 call g24_fetch_mem_check_dongle_times 
+0x2efb 006424 increase 1 ,pdata 
+0x2efc 006425 call g24_store_mem_check_dongle_times 
+0x2efd 006427 call g24_fetch_mem_auto_paring_switch 
+0x2efe 006428 increase 1 ,pdata 
+0x2eff 006429 and_into 1 ,pdata 
+0x2f00 006430 call g24_store_mem_auto_paring_switch 
+0x2f01 006431 beq 0 ,g24_auto_pair_device_attemp 
+0x2f02 006432 beq 1 ,g24_auto_pair_pair_attemp 
+0x2f03 006433 rtn 
+:      006435 g24_fetch_mem_auto_paring_switch:
+0x2f04 006436 setarg offset_24g_auto_pair_switch 
+0x2f05 006437 branch g24_set_rega_ifetch_1byte 
+:      006438 g24_store_mem_auto_paring_switch:
+0x2f06 006439 arg offset_24g_auto_pair_switch ,rega 
+0x2f07 006440 branch g24_set_contw_with_regb_store_1byte 
+:      006442 g24_auto_pair_set_device_info:
+0x2f08 006443 call g24_store_mem_tx_power 
+0x2f09 006444 call g24_fetch_mem_device_addr 
+0x2f0a 006445 call g24_store_mem_addr 
+0x2f0b 006446 branch g24_ch 
+:      006448 g24_auto_pair_device_attemp:
+0x2f0c 006449 call g24_auto_pair_set_device_info 
+0x2f0d 006450 branch g24_auto_pair_start_loop 
+:      006452 g24_auto_pair_pair_attemp:
+0x2f0e 006453 call g24_pair_init 
+0x2f0f 006454 branch g24_auto_pair_start_loop 
+:      006457 g24_start_24g_mode:
+0x2f10 006458 set0 mark_24g ,mark 
+0x2f11 006459 call g24_ch 
+0x2f12 006460 call g24_fetch_mem_pairing_sm 
+0x2f13 006462 rtnne state_24g_pairing_success 
+0x2f14 006463 call g24_tx_attemp_data_prep 
+0x2f15 006464 call g24_set0_mem_check_dongle_times 
+:      006466 g24_tx_attemp_dongle_loop:
+0x2f16 006467 nop 2000 
+0x2f17 006468 call g24_fetch_mem_check_dongle_times 
+0x2f18 006470 beq 0xff ,g24_stop_24g_mode 
+0x2f19 006471 call g24_transmit_receive_ack 
+0x2f1a 006472 nbranch g24_attemp_txdata_retry ,sync 
+0x2f1b 006473 nbranch g24_attemp_txdata_retry ,user3 
+:      006474 g24_tx_attemp_dongle_succ:
+0x2f1c 006475 set1 mark_24g ,mark 
+0x2f1d 006476 call g24_set0_mem_check_dongle_times 
+0x2f1e 006477 setarg state_24g_pairing_success 
+0x2f1f 006478 call g24_store_mem_pairing_sm 
+0x2f20 006480 jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+0x2f21 006481 branch ui_ipc_send_event 
+:      006483 g24_tx_attemp_data_prep:
+0x2f22 006484 set1 mark_24g_conext ,mark 
+0x2f23 006485 jam 0xff ,mem_24g_common_temp 
+0x2f24 006486 call g24_fetch_mem_data_type 
+0x2f25 006488 call g24_put_data_in_buff_pre 
+0x2f26 006489 branch g24_transmit_prep 
+:      006491 g24_attemp_txdata_retry:
+0x2f27 006492 call g24_fetch_mem_check_dongle_times 
+0x2f28 006494 increase 1 ,pdata 
+0x2f29 006495 call g24_store_mem_check_dongle_times 
+0x2f2a 006497 call g24_ch 
+0x2f2b 006498 branch g24_tx_attemp_dongle_loop 
+:      006500 g24_check_51cmd_start_24g:
+0x2f2c 006501 call g24_store_mem_tx_power 
+0x2f2d 006504 setarg state_24g_pairing_success 
+0x2f2e 006505 call g24_store_mem_pairing_sm 
+0x2f2f 006507 branch g24_start_24g_mode 
+:      006516 dongle_init:
+0x2f30 006517 bpatch patch17_2 ,mem_patch17 
+0x2f31 006518 call g24_head_ptr2regc 
+0x2f32 006519 setarg dongle_rxdata_type1 
+0x2f33 006520 add regc ,offset_24g_cb_rxdata_type1 ,contw 
+0x2f34 006521 istore 2 ,contw 
+0x2f35 006523 call g24_receive_init 
+0x2f36 006524 call usb_init 
+0x2f37 006525 call g24_fetch_mem_pair_mode 
+0x2f38 006527 bpatch patch17_3 ,mem_patch17 
+0x2f39 006528 beq 0x00 ,dongle_auto_bind 
+0x2f3a 006529 beq 0x01 ,dongle_pc_bind 
+0x2f3b 006530 beq 0x0f ,dongle_all_powerful 
+0x2f3c 006531 branch assert 
+:      006533 g24_receive_init:
+0x2f3d 006534 call g24_store_mem_tx_power_temp 
+0x2f3e 006535 arg 0x80 ,loopcnt 
+0x2f3f 006536 arg mem_rssi_noise_buffer ,contw 
+0x2f40 006537 branch memset0 
+:      006539 dongle_all_powerful:
+0x2f41 006540 call dongle_check_mode 
+:      006541 dongle_all_powerful_loop:
+0x2f42 006542 call g24_dongle_work_mode 
+0x2f43 006543 call usb_isr 
+0x2f44 006544 branch dongle_all_powerful_loop 
+:      006546 dongle_pc_bind:
+0x2f45 006547 bpatch patch17_4 ,mem_patch17 
+0x2f46 006548 call dongle_check_mode 
+:      006549 dongle_pc_bind_loop:
+0x2f47 006550 call g24_dongle_work_mode 
+0x2f48 006551 call g24_dongle_bind_mode 
+0x2f49 006552 call usb_isr 
+0x2f4a 006553 call dongle_usb_dispatch 
+0x2f4b 006554 branch dongle_pc_bind_loop 
+:      006556 dongle_check_mode:
+0x2f4c 006560 call g24_set_work_mem_dongle_work_mode 
+0x2f4d 006561 call g24_set0_mem_dongle_mode_init 
+0x2f4e 006562 branch g24_set0_mem_ackpayload_enable 
+:      006564 g24_dongle_work_mode:
+0x2f4f 006565 call g24_fetch_mem_dongle_work_mode 
+0x2f50 006567 rtnne dongle_work 
+:      006568 g24_dongle_work_mode_start:
+0x2f51 006569 call g24_dongle_work_init 
+0x2f52 006570 call g24_ch_process 
+0x2f53 006571 call g24_receive_packet_start 
+0x2f54 006572 branch g24_blank_data_process 
+:      006574 g24_dongle_work_init:
+0x2f55 006575 call g24_fetch_mem_dongle_mode_init 
+0x2f56 006577 rtnbit1 dongle_work 
+0x2f57 006578 set1 dongle_work ,pdata 
+0x2f58 006579 call g24_store_mem_dongle_mode_init 
+0x2f59 006581 call g24_store_mem_tx_power 
+0x2f5a 006584 call g24_set0_mem_ackpayload_enable 
+0x2f5b 006586 jam 0 ,mem_usb_tx_enable 
+0x2f5c 006587 call g24_set1_mem_abort_pac 
+0x2f5d 006589 call g24_dongle_init 
+:      006590 g24_rx_interrupt_clear:
+0x2f5e 006591 add regc ,offset_24g_rxbuf ,contw 
+0x2f5f 006593 arg 66 ,loopcnt 
+0x2f60 006594 branch clear_mem 
+:      006596 g24_dongle_init:
+0x2f61 006597 call g24_set0_mem_pid 
+0x2f62 006599 call g24_fetch_mem_rx_addr 
+0x2f63 006601 call g24_store_mem_addr 
+0x2f64 006603 branch g24_ch 
+:      006605 g24_ch_process:
+0x2f65 006606 bpatch patch17_5 ,mem_patch17 
+0x2f66 006607 call g24_fetch_mem_abort_pac 
+0x2f67 006609 beq 1 ,g24_noise_rssi 
+0x2f68 006610 call g24_fetch_mem_hop_pac 
+0x2f69 006612 beq 1 ,g24_ch 
+0x2f6a 006613 setarg offset_24g_hop_btclk 
+0x2f6b 006614 iadd regc ,rega 
+0x2f6c 006615 ifetcht 4 ,rega 
+0x2f6d 006617 copy clkn_bt ,pdata 
+0x2f6e 006618 isub temp ,null 
+0x2f6f 006619 ncall g24_timer_timeout ,positive 
+0x2f70 006620 copy pdata ,regb 
+0x2f71 006621 setarg offset_24g_hop_btclk 
+0x2f72 006622 iadd regc ,rega 
+0x2f73 006623 ifetch 4 ,rega 
+0x2f74 006624 copy pdata ,temp 
+0x2f75 006626 setarg offset_24g_hop_interval 
+0x2f76 006627 iadd regc ,rega 
+0x2f77 006628 copy temp ,pdata 
+0x2f78 006629 ifetcht 1 ,rega 
+0x2f79 006631 iadd temp ,temp 
+0x2f7a 006632 copy regb ,pdata 
+0x2f7b 006633 isub temp ,null 
+0x2f7c 006634 nrtn positive 
+0x2f7d 006635 set0 28 ,pdata 
+0x2f7e 006636 setarg offset_24g_hop_btclk 
+0x2f7f 006637 iadd regc ,contw 
+0x2f80 006638 istore 4 ,contw 
+:      006640 g24_ch_update:
+0x2f81 006641 call g24_ch 
+0x2f82 006642 call g24_fetch_mem_rf_laststa 
+0x2f83 006644 increase 1 ,pdata 
+0x2f84 006645 call g24_store_mem_rf_laststa 
+0x2f85 006647 rtnne 2 
+0x2f86 006648 call g24_set0_mem_rf_laststa 
+0x2f87 006652 branch g24_set1_mem_abort_pac 
+:      006654 g24_ch_timer_reinit:
+0x2f88 006655 copy clkn_bt ,pdata 
+0x2f89 006656 arg offset_24g_hop_btclk ,rega 
+0x2f8a 006657 call g24_set_contw_with_temp 
+0x2f8b 006658 istore 4 ,contw 
+0x2f8c 006662 branch g24_set0_mem_rf_laststa 
+:      006664 g24_noise_rssi:
+0x2f8d 006665 arg mem_rssi_noise_buffer ,rega 
+0x2f8e 006666 call g24_noise_rssi_average 
+0x2f8f 006667 add regc ,offset_rssi_noise_avg ,contw 
+0x2f90 006668 istoret 1 ,contw 
+0x2f91 006670 sub temp ,rssi_thresh_noise ,null 
+0x2f92 006671 nrtn positive 
+0x2f93 006672 branch g24_ch 
+:      006674 g24_noise_rssi_average:
+0x2f94 006675 arg rssi_buf_len_noise + 1 ,loopcnt 
+0x2f95 006676 branch rssi_average 
+:      006678 g24_blank_data_process:
+0x2f96 006679 call g24_ms_blank_data 
+0x2f97 006680 call g24_kb_blank_data 
+0x2f98 006681 branch g24_kb_mul_blank_data 
+:      006683 g24_ms_blank_data:
+0x2f99 006684 setarg offset_24g_ms_blank_data_enable 
+0x2f9a 006685 call g24_set_rega_ifetch_1byte 
+0x2f9b 006687 rtn blank 
+0x2f9c 006688 arg timer_ms_blank ,queue 
+0x2f9d 006689 call timer_check 
+0x2f9e 006690 nrtn blank 
+0x2f9f 006691 call g24_set0_mem_ms_blank_data_enable 
+0x2fa0 006693 setarg ms_report_id 
+0x2fa1 006694 store 1 ,mem_usb_mouse_data 
+0x2fa2 006695 setarg 0 
+0x2fa3 006696 istore 7 ,contw 
+0x2fa4 006697 branch g24_data_type1_usbtx_enable 
+:      006699 g24_kb_blank_data:
+0x2fa5 006700 setarg offset_24g_kb_blank_data_enable 
+0x2fa6 006701 call g24_set_rega_ifetch_1byte 
+0x2fa7 006703 rtn blank 
+0x2fa8 006704 arg timer_kb_blank ,queue 
+0x2fa9 006705 call timer_check 
+0x2faa 006706 nrtn blank 
+0x2fab 006707 call g24_set0_mem_kb_blank_data_enable 
+0x2fac 006709 arg mem_usb_kb_data ,contw 
+0x2fad 006710 arg 2 ,loopcnt 
+0x2fae 006711 call memset0 
+0x2faf 006712 jam kb_normal_report_id ,mem_usb_kb_data 
+0x2fb0 006713 branch g24_kb_data_into_ep1_fifo 
+:      006715 g24_kb_mul_blank_data:
+0x2fb1 006716 setarg offset_24g_kb_mul_blank_data_enable 
+0x2fb2 006717 call g24_set_rega_ifetch_1byte 
+0x2fb3 006719 rtn blank 
+0x2fb4 006720 arg timer_kb_mul_blank ,queue 
+0x2fb5 006721 call timer_check 
+0x2fb6 006722 nrtn blank 
+0x2fb7 006723 call g24_set0_mem_kb_mul_blank_data_enable 
+0x2fb8 006725 arg mem_usb_kb_multikey ,contw 
+0x2fb9 006726 arg 2 ,loopcnt 
+0x2fba 006727 call memset0 
+0x2fbb 006728 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+0x2fbc 006729 branch g24_kb_mul_data_into_ep2_fifo 
+:      006731 g24_dongle_bind_mode:
+0x2fbd 006732 call g24_fetch_mem_dongle_work_mode 
+0x2fbe 006734 rtnne dongle_bind 
+0x2fbf 006735 call g24_dongle_bind_init 
+0x2fc0 006736 branch g24_dongle_bind_data_process 
+:      006738 g24_dongle_bind_init:
+0x2fc1 006739 call g24_fetch_mem_dongle_mode_init 
+0x2fc2 006741 rtnbit1 dongle_bind 
+0x2fc3 006742 set1 dongle_bind ,pdata 
+0x2fc4 006743 call g24_store_mem_dongle_mode_init 
+0x2fc5 006745 call g24_set1_mem_ackpayload_enable 
+0x2fc6 006747 call g24_pair_init 
+0x2fc7 006748 setarg 0 
+0x2fc8 006749 arg offset_dongle_ms_bind_step ,rega 
+0x2fc9 006750 call g24_set_contw_with_temp 
+0x2fca 006752 branch g24_contw_istore_3byte 
+:      006754 g24_dongle_bind_data_process:
+0x2fcb 006755 call g24_receive_transmit_ack 
+0x2fcc 006756 nbranch g24_rx_interrupt_clear ,user3 
+0x2fcd 006757 add regc ,offset_24g_rxbuf ,contr 
+0x2fce 006758 setarg offset_24g_rxdata_temp 
+0x2fcf 006759 iadd regc ,contw 
+0x2fd0 006760 arg 8 ,loopcnt 
+0x2fd1 006761 call memcpy 
+0x2fd2 006762 setarg offset_24g_rxdata_temp_add2 
+0x2fd3 006763 call g24_set_rega_ifetch_1byte 
+0x2fd4 006764 beq datatype_bind ,g24_dongle_bind_first_step 
+0x2fd5 006765 beq datatype_config ,g24_dongle_bind_second_step 
+0x2fd6 006766 beq datatype_ok ,g24_dongle_bind_third_step 
+0x2fd7 006767 beq 0xff ,g24_data_attemp 
+0x2fd8 006768 branch g24_rx_interrupt_clear 
+:      006770 g24_dongle_bind_first_step:
+0x2fd9 006771 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x2fda 006772 beq bind_mouse ,g24_dongle_bind_first_step_mouse 
+0x2fdb 006773 beq bind_keyboard ,g24_dongle_bind_first_step_keyboard 
+0x2fdc 006774 rtn 
+:      006775 g24_dongle_bind_first_step_mouse:
+0x2fdd 006776 setarg 1 
+0x2fde 006777 call g24_store_mem_ms_bind_step 
+:      006779 g24_dongle_bind_ms_payload_cfg:
+0x2fdf 006780 setarg datatype_mouse 
+0x2fe0 006781 call g24_store_mem_bind_payload 
+:      006783 g24_dongle_bind_payload_cfg:
+0x2fe1 006784 setarg 0x80 
+0x2fe2 006785 arg offset_24g_bind_payload_add1 ,rega 
+0x2fe3 006786 call g24_set_contw_with_regb_store_1byte 
+0x2fe4 006788 call g24_fetch_mem_rx_addr 
+0x2fe5 006790 arg offset_24g_bind_payload_add2 ,rega 
+0x2fe6 006791 call g24_set_contw_with_temp 
+0x2fe7 006793 branch g24_contw_istore_4byte 
+:      006795 g24_dongle_bind_first_step_keyboard:
+0x2fe8 006796 setarg 1 
+0x2fe9 006797 call g24_store_mem_kb_bind_step 
+:      006799 g24_dongle_bind_kb_payload_cfg:
+0x2fea 006800 setarg datatype_keyboard 
+0x2feb 006801 call g24_store_mem_bind_payload 
+0x2fec 006803 branch g24_dongle_bind_payload_cfg 
+:      006805 g24_dongle_bind_second_step:
+0x2fed 006806 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x2fee 006807 beq bind_mouse ,g24_dongle_bind_second_step_mouse 
+0x2fef 006808 beq bind_keyboard ,g24_dongle_bind_second_step_keyboard 
+0x2ff0 006809 rtn 
+:      006810 g24_dongle_bind_second_step_mouse:
+0x2ff1 006811 call g24_dongle_bind_ms_payload_cfg 
+0x2ff2 006812 setarg offset_dongle_ms_bind_step 
+0x2ff3 006813 call g24_set_rega_ifetch_1byte 
+0x2ff4 006815 beq 1 ,g24_dongle_ms_bind_step_set2 
+0x2ff5 006816 rtn 
+:      006817 g24_dongle_ms_bind_step_set2:
+0x2ff6 006818 setarg 2 
+:      006820 g24_store_mem_ms_bind_step:
+0x2ff7 006821 arg offset_dongle_ms_bind_step ,rega 
+0x2ff8 006822 branch g24_set_contw_with_regb_store_1byte 
+:      006824 g24_dongle_bind_second_step_keyboard:
+0x2ff9 006825 call g24_dongle_bind_kb_payload_cfg 
+0x2ffa 006826 setarg offset_dongle_kb_bind_step 
+0x2ffb 006827 call g24_set_rega_ifetch_1byte 
+0x2ffc 006829 beq 1 ,g24_dongle_kb_bind_step_set2 
+0x2ffd 006830 rtn 
+:      006831 g24_dongle_kb_bind_step_set2:
+0x2ffe 006832 setarg 2 
+:      006834 g24_store_mem_kb_bind_step:
+0x2fff 006835 arg offset_dongle_kb_bind_step ,rega 
+0x3000 006836 branch g24_set_contw_with_regb_store_1byte 
+:      006838 g24_dongle_bind_third_step:
+0x3001 006839 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x3002 006840 beq bind_mouse ,g24_dongle_bind_third_step_mouse 
+0x3003 006841 beq bind_keyboard ,g24_dongle_bind_third_step_keyboard 
+0x3004 006842 rtn 
+:      006843 g24_dongle_bind_third_step_mouse:
+0x3005 006844 setarg offset_dongle_ms_bind_step 
+0x3006 006845 call g24_set_rega_ifetch_1byte 
+0x3007 006847 beq 2 ,g24_dongle_ms_bind_step_success 
+0x3008 006848 rtn 
+:      006849 g24_dongle_ms_bind_step_success:
+0x3009 006850 call g24_fetch_mem_bind_device_status 
+0x300a 006852 or_into 0x01 ,pdata 
+0x300b 006853 call g24_store_mem_bind_device_status 
+:      006855 g24_dongle_bind_exit:
+0x300c 006856 setarg 0 
+0x300d 006857 setarg offset_dongle_ms_bind_step 
+0x300e 006858 iadd regc ,contw 
+0x300f 006859 istore 2 ,contw 
+0x3010 006860 branch g24_rx_interrupt_clear 
+:      006862 g24_dongle_bind_third_step_keyboard:
+0x3011 006863 setarg offset_dongle_kb_bind_step 
+0x3012 006864 call g24_set_rega_ifetch_1byte 
+0x3013 006866 bne 0 ,g24_dongle_kb_bind_step_success 
+0x3014 006867 rtn 
+:      006868 g24_dongle_kb_bind_step_success:
+0x3015 006869 call g24_fetch_mem_bind_device_status 
+0x3016 006871 or_into 0x02 ,pdata 
+0x3017 006872 call g24_store_mem_bind_device_status 
+0x3018 006874 branch g24_dongle_bind_exit 
+:      006877 dongle_usb_dispatch:
+0x3019 006878 fetch 1 ,mem_usb0_get_set_report 
+0x301a 006879 rtn blank 
+0x301b 006880 jam 0 ,mem_usb0_get_set_report 
+0x301c 006881 fetch 2 ,mem_usb_setup_bvalue_temp 
+0x301d 006882 arg pc_set_report ,temp 
+0x301e 006883 isub temp ,null 
+0x301f 006884 nrtn zero 
+0x3020 006886 fetch 1 ,mem_usb0_set_report_data 
+0x3021 006887 rtnne pc_report_id 
+0x3022 006888 fetch 1 ,mem_usb0_set_report_data + 1 
+0x3023 006889 bpatch patch17_6 ,mem_patch17 
+0x3024 006890 beq command_mode ,dongle_dispose_cmd_mode 
+0x3025 006891 beq command_bind ,dongle_dispose_cmd_bind 
+0x3026 006892 beq command_current_project ,dongle_dispose_cmd_current_project 
+0x3027 006893 beq command_current_mode ,dongle_dispose_cmd_current_mode 
+0x3028 006894 beq command_current_fw_version ,dongle_dispose_cmd_current_fw_version 
+0x3029 006895 beq command_user_defined ,dongle_dispose_cmd_user_defined 
+:      006896 usb0_data_ready_report_set0:
+0x302a 006897 jam 0 ,mem_usb0_data_ready_report 
+0x302b 006898 rtn 
+:      006899 dongle_dispose_cmd_bind:
+0x302c 006900 fetch 1 ,mem_usb0_set_report_data + 2 
+0x302d 006901 beq com_bind_get ,dongle_dispose_cmd_get_bind 
+0x302e 006902 beq com_bind_exit ,dongle_dispose_cmd_exit_bind 
+0x302f 006903 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+0x3030 006904 branch usb0_data_ready_report_set0 
+:      006905 dongle_dispose_cmd_get_bind:
+0x3031 006906 call g24_fetch_mem_bind_device_status 
+0x3032 006908 store 1 ,mem_usb0_get_report_data + 1 
+0x3033 006909 branch usb0_data_ready_report_set1 
+:      006910 dongle_dispose_cmd_exit_bind:
+0x3034 006911 call g24_set_work_mem_dongle_work_mode 
+0x3035 006913 call g24_set0_mem_dongle_mode_init 
+0x3036 006915 call g24_fetch_mem_bind_device_status 
+0x3037 006917 store 1 ,mem_usb0_get_report_data + 1 
+0x3038 006918 branch usb0_data_ready_report_set1 
+:      006920 dongle_dispose_cmd_read_mode:
+:      006921 dongle_dispose_in_bind_mode:
+0x3039 006922 jam command_bind ,mem_usb0_get_report_data + 1 
+0x303a 006923 branch usb0_data_ready_report_set1 
+:      006925 dongle_dispose_cmd_mode:
+0x303b 006926 fetch 1 ,mem_usb0_set_report_data + 2 
+0x303c 006927 beq com_mode_bind ,dongle_enter_bind_mode 
+0x303d 006929 branch usb0_data_ready_report_set0 
+:      006930 dongle_enter_bind_mode:
+0x303e 006933 call g24_bind_mode_enable 
+:      006934 usb0_data_ready_report_set1:
+0x303f 006935 jam 1 ,mem_usb0_data_ready_report 
+0x3040 006936 rtn 
+:      006941 dongle_dispose_cmd_current_project:
+0x3041 006942 jam product_id ,mem_usb0_get_report_data + 1 
+0x3042 006943 branch usb0_data_ready_report_set1 
+:      006945 dongle_dispose_cmd_current_mode:
+0x3043 006946 call g24_fetch_mem_dongle_work_mode 
+0x3044 006948 beq dongle_work ,dongle_dispose_in_work_mode 
+0x3045 006949 beq dongle_bind ,dongle_dispose_in_bind_mode 
+0x3046 006951 rtn 
+:      006952 dongle_dispose_in_work_mode:
+0x3047 006953 jam command_mode ,mem_usb0_get_report_data + 1 
+0x3048 006954 branch usb0_data_ready_report_set1 
+:      006959 dongle_dispose_cmd_current_fw_version:
+0x3049 006960 jam fw_version0 ,mem_usb0_get_report_data + 1 
+0x304a 006961 jam fw_version1 ,mem_usb0_get_report_data + 2 
+0x304b 006962 jam fw_version2 ,mem_usb0_get_report_data + 3 
+0x304c 006963 branch usb0_data_ready_report_set1 
+:      006965 dongle_dispose_cmd_user_defined:
+0x304d 006967 call g24_set1_mem_ackpayload_enable 
+0x304e 006968 fetch 1 ,mem_usb0_set_report_data + 2 
+0x304f 006969 increase 2 ,pdata 
+0x3050 006970 copy pdata ,loopcnt 
+0x3051 006971 arg mem_usb0_set_report_data ,contr 
+0x3052 006972 setarg offset_24g_ackpayload 
+0x3053 006973 iadd regc ,contw 
+0x3054 006974 branch memcpy 
+:      006977 dongle_auto_bind:
+0x3055 006978 bpatch patch17_7 ,mem_patch17 
+0x3056 006979 call g24_mode_switch_init 
+:      006980 dongle_auto_bind_loop:
+0x3057 006981 call g24_receive_process 
+0x3058 006982 call usb_isr 
+0x3059 006983 branch dongle_auto_bind_loop 
+:      006985 g24_dongle_work_mode_auto:
+0x305a 006986 call g24_fetch_mem_dongle_work_mode 
+0x305b 006988 rtnne dongle_work 
+0x305c 006989 call g24_dongle_work_mode_start 
+0x305d 006990 branch g24_rx_nodata_process 
+:      006992 g24_dongle_bind_mode_auto:
+0x305e 006993 call g24_fetch_mem_dongle_work_mode 
+0x305f 006995 rtnne dongle_bind 
+0x3060 006996 call g24_dongle_bind_init 
+0x3061 006997 call g24_dongle_bind_data_process 
+0x3062 006998 call g24_fetch_mem_bind_device_status 
+0x3063 007000 rtn blank 
+0x3064 007001 call g24_set0_mem_mode_switch 
+0x3065 007003 call dongle_check_mode 
+0x3066 007004 call g24_enable_nodata_timer 
+:      007005 g24_timer_init:
+0x3067 007006 setarg 0 
+0x3068 007007 add regc ,offset_24g_tx_btclk ,contw 
+0x3069 007009 branch g24_contw_istore_4byte 
+:      007011 g24_timer_check:
+0x306a 007012 call disable_user 
+0x306b 007013 add regc ,offset_24g_tx_btclk ,rega 
+0x306c 007014 ifetcht 4 ,rega 
+0x306d 007016 copy clkn_bt ,pdata 
+0x306e 007017 isub temp ,null 
+0x306f 007018 ncall g24_timer_timeout ,positive 
+0x3070 007019 copy pdata ,regb 
+0x3071 007020 add regc ,offset_24g_tx_btclk ,rega 
+0x3072 007021 ifetch 4 ,rega 
+0x3073 007023 add regc ,offset_24g_interval ,rega 
+0x3074 007024 ifetcht 1 ,rega 
+0x3075 007026 iadd temp ,temp 
+0x3076 007027 copy regb ,pdata 
+0x3077 007028 isub temp ,null 
+0x3078 007029 nrtn positive 
+0x3079 007030 set0 28 ,pdata 
+0x307a 007031 add regc ,offset_24g_tx_btclk ,contw 
+0x307b 007032 istore 4 ,contw 
+0x307c 007034 branch enable_user 
+:      007036 g24_mode_switch_init:
+0x307d 007037 setarg 1 
+0x307e 007038 call g24_store_mem_mode_switch 
+0x307f 007040 call g24_set0_mem_time_slice 
+0x3080 007042 setarg 0xff 
+0x3081 007043 add regc ,offset_24g_interval ,contw 
+0x3082 007044 istore 1 ,contw 
+0x3083 007046 branch g24_timer_init 
+:      007048 g24_mode_switch:
+0x3084 007049 setarg offset_24g_mode_switch 
+0x3085 007050 call g24_set_rega_ifetch_1byte 
+0x3086 007052 rtn blank 
+0x3087 007053 call g24_timer_check 
+0x3088 007054 nrtn user 
+0x3089 007055 call g24_fetch_mem_time_slice 
+0x308a 007057 increase 1 ,pdata 
+0x308b 007058 and_into 1 ,pdata 
+0x308c 007059 call g24_store_mem_time_slice 
+0x308d 007061 beq 0 ,dongle_check_mode 
+0x308e 007062 beq 1 ,g24_bind_mode_enable 
+0x308f 007063 rtn 
+:      007065 g24_bind_mode_enable:
+0x3090 007069 setarg dongle_bind 
+0x3091 007070 call g24_store_mem_dongle_work_mode 
+0x3092 007071 branch g24_set0_mem_dongle_mode_init 
+:      007073 g24_enable_nodata_timer:
+0x3093 007074 setarg 1 
+0x3094 007075 call g24_store_mem_nodata_timer_enable 
+0x3095 007077 setarg timer_nodata_delay 
+0x3096 007078 arg timer_nodata ,queue 
+0x3097 007079 branch timer_init 
+:      007081 g24_rx_nodata_process:
+0x3098 007082 call g24_fetch_mem_nodata_timer_enable 
+0x3099 007084 rtn blank 
+0x309a 007085 arg timer_nodata ,queue 
+0x309b 007086 call timer_check 
+0x309c 007087 nrtn blank 
+0x309d 007088 call g24_set0_mem_nodata_timer_enable 
+0x309e 007091 setarg dongle_search 
+0x309f 007092 call g24_store_mem_dongle_work_mode 
+0x30a0 007094 call g24_set0_mem_dongle_mode_init 
+0x30a1 007096 branch g24_rx_interrupt_clear 
+:      007098 g24_dongle_search_mode_auto:
+0x30a2 007099 bpatch patch18_0 ,mem_patch18 
+0x30a3 007100 call g24_fetch_mem_dongle_work_mode 
+0x30a4 007102 rtnne dongle_search 
+0x30a5 007103 call g24_dongle_search_mode_init 
+0x30a6 007104 call g24_rx_auto_addr_ch_search 
+0x30a7 007105 call g24_receive_transmit_ack 
+0x30a8 007106 nbranch g24_rx_interrupt_clear ,user3 
+0x30a9 007108 call g24_dongle_search_addr_check 
+0x30aa 007109 call g24_receive_packet_parse ,zero 
+0x30ab 007113 call dongle_check_mode 
+0x30ac 007114 call g24_fetch_mem_dongle_mode_init 
+0x30ad 007116 set1 dongle_work ,pdata 
+0x30ae 007117 call g24_store_mem_dongle_mode_init 
+0x30af 007119 call g24_rx_interrupt_clear 
+0x30b0 007120 call g24_enable_nodata_timer 
+0x30b1 007121 call g24_dongle_search_addr_check 
+0x30b2 007122 branch g24_dg_ch_num_reinit ,zero 
+0x30b3 007123 setarg offset_24g_kb_addr 
+0x30b4 007124 call g24_set_rega_ifetcht_4byte 
+0x30b5 007126 call g24_fetch_mem_addr_isub_temp 
+0x30b6 007127 branch g24_kb_ch_num_reinit ,zero 
+0x30b7 007128 setarg offset_24g_mouse_addr 
+0x30b8 007129 call g24_set_rega_ifetcht_4byte 
+0x30b9 007131 call g24_fetch_mem_addr_isub_temp 
+0x30ba 007132 branch g24_ms_ch_num_reinit ,zero 
+0x30bb 007133 rtn 
+:      007135 g24_dongle_search_addr_check:
+0x30bc 007136 setarg offset_24g_rx_addr 
+0x30bd 007137 call g24_set_rega_ifetcht_4byte 
+:      007139 g24_fetch_mem_addr_isub_temp:
+0x30be 007140 call g24_fetch_mem_addr 
+0x30bf 007142 isub temp ,null 
+0x30c0 007143 rtn 
+:      007145 g24_dg_ch_num_reinit:
+0x30c1 007146 setarg offset_24g_dg_ch_number 
+0x30c2 007147 call g24_set_rega_ifetch_1byte 
+:      007149 g24_current_ch_num_reinit:
+0x30c3 007151 add regc ,offset_24g_current_ch_number ,contw 
+0x30c4 007152 branch g24_contw_istore_1byte 
+:      007154 g24_kb_ch_num_reinit:
+0x30c5 007155 setarg offset_24g_kb_ch_number 
+0x30c6 007156 call g24_set_rega_ifetch_1byte 
+0x30c7 007158 branch g24_current_ch_num_reinit 
+:      007159 g24_ms_ch_num_reinit:
+0x30c8 007160 setarg offset_24g_ms_ch_number 
+0x30c9 007161 call g24_set_rega_ifetch_1byte 
+0x30ca 007163 branch g24_current_ch_num_reinit 
+:      007165 g24_dongle_search_mode_init:
+0x30cb 007166 call g24_fetch_mem_dongle_mode_init 
+0x30cc 007168 rtnbit1 dongle_search 
+0x30cd 007169 set1 dongle_search ,pdata 
+0x30ce 007170 call g24_store_mem_dongle_mode_init 
+0x30cf 007172 call g24_set0_mem_time_slice 
+0x30d0 007174 call g24_set1_mem_ackpayload_enable 
+0x30d1 007176 setarg 0 
+0x30d2 007177 add regc ,offset_rssi_noise_dg_index ,contw 
+0x30d3 007178 istore 3 ,contw 
+0x30d4 007180 arg offset_24g_dg_config_ch_once ,rega 
+0x30d5 007181 call g24_set_contw_with_temp 
+0x30d6 007182 istore 7 ,contw 
+0x30d7 007185 call g24_dongle_search_addr_check 
+0x30d8 007186 nrtn zero 
+0x30d9 007187 add regc ,offset_24g_current_ch_number ,rega 
+0x30da 007188 ifetch 1 ,rega 
+0x30db 007190 arg offset_24g_dg_ch_number ,rega 
+0x30dc 007191 call g24_set_contw_with_regb_store_1byte 
+0x30dd 007193 add regc ,offset_24g_ch ,rega 
+0x30de 007194 ifetch 1 ,rega 
+0x30df 007197 branch g24_store_mem_dg_last_ch 
+:      007199 g24_rx_auto_addr_ch_search:
+0x30e0 007200 bpatch patch18_1 ,mem_patch18 
+0x30e1 007201 call g24_fetch_mem_time_slice 
+0x30e2 007203 increase 1 ,pdata 
+0x30e3 007204 and_into 3 ,pdata 
+0x30e4 007205 call g24_store_mem_time_slice 
+0x30e5 007208 beq 0 ,g24_rx_auto_bind_config_kb 
+0x30e6 007209 beq 1 ,g24_rx_auto_bind_config_dongle 
+0x30e7 007210 beq 2 ,g24_rx_auto_bind_config_mouse 
+0x30e8 007211 beq 3 ,g24_rx_auto_bind_config_dongle 
+0x30e9 007212 rtn 
+:      007214 g24_rx_auto_bind_config_mouse:
+0x30ea 007215 call g24_dongle_bind_ms_payload_cfg 
+0x30eb 007216 setarg offset_24g_mouse_addr 
+0x30ec 007217 call g24_set_rega_ifetch_4byte 
+0x30ed 007219 branch g24_rx_auto_addr_ch_search ,blank 
+0x30ee 007220 call g24_store_mem_addr 
+0x30ef 007222 setarg offset_24g_ms_config_ch_once 
+0x30f0 007223 call g24_set_rega_ifetch_1byte 
+0x30f1 007225 call g24_ms_config_ch_once ,blank 
+0x30f2 007226 setarg offset_24g_ms_last_ch 
+0x30f3 007227 call g24_set_rega_ifetch_1byte 
+0x30f4 007229 call g24_store_mem_ch 
+0x30f5 007231 add regc ,offset_rssi_noise_ms_index ,rega 
+0x30f6 007232 ifetcht 1 ,rega 
+0x30f7 007234 arg mem_rssi_noise_ms_buffer ,rega 
+0x30f8 007235 call rssi_noise_store 
+0x30f9 007236 add regc ,offset_rssi_noise_ms_index ,contw 
+0x30fa 007237 istoret 1 ,contw 
+0x30fb 007239 call g24_noise_rssi_average 
+0x30fc 007240 add regc ,offset_rssi_noise_ms_avg ,contw 
+0x30fd 007241 istoret 1 ,contw 
+0x30fe 007243 sub temp ,rssi_thresh_noise ,null 
+0x30ff 007244 nrtn positive 
+0x3100 007245 setarg offset_24g_ms_ch_number 
+0x3101 007246 call g24_set_rega_ifetcht_1byte 
+0x3102 007248 call g24_ch_temp_incre_size4 
+0x3103 007249 arg offset_24g_ms_ch_number ,rega 
+0x3104 007250 call g24_set_contw_with_regb2 
+0x3105 007251 istoret 1 ,contw 
+:      007253 g24_store_mem_ms_last_ch:
+0x3106 007255 arg offset_24g_ms_last_ch ,rega 
+0x3107 007256 branch g24_set_contw_with_regb_store_1byte 
+:      007258 g24_ms_config_ch_once:
+0x3108 007259 setarg 1 
+0x3109 007260 arg offset_24g_ms_config_ch_once ,rega 
+0x310a 007261 call g24_set_contw_with_regb_store_1byte 
+0x310b 007263 arg 0 ,temp 
+0x310c 007264 call g24_ch_calc 
+0x310d 007267 branch g24_store_mem_ms_last_ch 
+:      007269 g24_rx_auto_bind_config_kb:
+0x310e 007270 call g24_dongle_bind_kb_payload_cfg 
+0x310f 007271 setarg offset_24g_kb_addr 
+0x3110 007272 call g24_set_rega_ifetch_4byte 
+0x3111 007274 branch g24_rx_auto_addr_ch_search ,blank 
+0x3112 007275 call g24_store_mem_addr 
+0x3113 007277 setarg offset_24g_kb_config_ch_once 
+0x3114 007278 call g24_set_rega_ifetch_1byte 
+0x3115 007280 call g24_kb_config_ch_once ,blank 
+0x3116 007281 setarg offset_24g_kb_last_ch 
+0x3117 007282 call g24_set_rega_ifetch_1byte 
+0x3118 007284 call g24_store_mem_ch 
+0x3119 007286 add regc ,offset_rssi_noise_kb_index ,rega 
+0x311a 007287 ifetcht 1 ,rega 
+0x311b 007289 arg mem_rssi_noise_kb_buffer ,rega 
+0x311c 007290 call rssi_noise_store 
+0x311d 007291 add regc ,offset_rssi_noise_kb_index ,contw 
+0x311e 007292 istoret 1 ,contw 
+0x311f 007294 call g24_noise_rssi_average 
+0x3120 007295 add regc ,offset_rssi_noise_kb_avg ,contw 
+0x3121 007296 istoret 1 ,contw 
+0x3122 007298 sub temp ,rssi_thresh_noise ,null 
+0x3123 007299 nrtn positive 
+0x3124 007300 setarg offset_24g_kb_ch_number 
+0x3125 007301 call g24_set_rega_ifetcht_1byte 
+0x3126 007303 call g24_ch_temp_incre_size4 
+0x3127 007304 arg offset_24g_kb_ch_number ,rega 
+0x3128 007305 call g24_set_contw_with_regb2 
+0x3129 007306 istoret 1 ,contw 
+:      007308 g24_store_mem_kb_last_ch:
+0x312a 007310 arg offset_24g_kb_last_ch ,rega 
+0x312b 007311 branch g24_set_contw_with_regb_store_1byte 
+:      007313 g24_kb_config_ch_once:
+0x312c 007314 setarg 1 
+0x312d 007315 arg offset_24g_kb_config_ch_once ,rega 
+0x312e 007316 call g24_set_contw_with_regb_store_1byte 
+0x312f 007318 arg 0 ,temp 
+0x3130 007319 call g24_ch_calc 
+0x3131 007322 branch g24_store_mem_kb_last_ch 
+:      007324 g24_rx_auto_bind_config_dongle:
+0x3132 007325 call g24_dongle_bind_ms_payload_cfg 
+0x3133 007326 call g24_fetch_mem_rx_addr 
+0x3134 007328 call g24_store_mem_addr 
+0x3135 007330 setarg offset_24g_dg_config_ch_once 
+0x3136 007331 call g24_set_rega_ifetch_1byte 
+0x3137 007333 call g24_dg_config_ch_once ,blank 
+0x3138 007334 call g24_dg_store_config_ch 
+0x3139 007335 add regc ,offset_rssi_noise_dg_index ,rega 
+0x313a 007336 ifetcht 1 ,rega 
+0x313b 007338 arg mem_rssi_noise_dg_buffer ,rega 
+0x313c 007339 call rssi_noise_store 
+0x313d 007340 add regc ,offset_rssi_noise_dg_index ,contw 
+0x313e 007341 istoret 1 ,contw 
+0x313f 007343 call g24_noise_rssi_average 
+0x3140 007344 add regc ,offset_rssi_noise_dg_avg ,contw 
+0x3141 007345 istoret 1 ,contw 
+0x3142 007347 sub temp ,rssi_thresh_noise ,null 
+0x3143 007348 nrtn positive 
+0x3144 007349 setarg offset_24g_dg_ch_number 
+0x3145 007350 call g24_set_rega_ifetcht_1byte 
+0x3146 007352 call g24_ch_temp_incre_size4 
+0x3147 007353 arg offset_24g_dg_ch_number ,rega 
+0x3148 007354 call g24_set_contw_with_regb2 
+0x3149 007355 istoret 1 ,contw 
+:      007357 g24_store_mem_dg_last_ch:
+0x314a 007360 arg offset_24g_dg_last_ch ,rega 
+0x314b 007361 branch g24_set_contw_with_regb_store_1byte 
+:      007364 g24_dg_config_ch_once:
+0x314c 007369 setarg 1 
+0x314d 007370 arg offset_24g_dg_config_ch_once ,rega 
+0x314e 007371 call g24_set_contw_with_regb_store_1byte 
+:      007372 g24_dg_store_config_ch:
+0x314f 007373 setarg offset_24g_dg_last_ch 
+0x3150 007374 call g24_set_rega_ifetch_1byte 
+0x3151 007375 branch g24_store_mem_ch 
+:      007378 g24_transmit_ack:
+0x3152 007380 add regc ,offset_24g_rxbuf ,rega 
+0x3153 007381 ifetch 1 ,rega 
+0x3154 007383 call g24_store_mem_data_type 
+0x3155 007386 call g24_read_len_pid_crc 
+0x3156 007388 call g24_fetch_mem_rxbuf_add1 
+0x3157 007390 isolate1 bit_ack_24g ,pdata 
+0x3158 007391 branch g24tx_no_ack ,true 
+:      007392 g24tx_with_ack:
+0x3159 007393 call g24_ackpayload_prep 
+0x315a 007394 call g24_transmit_prep 
+0x315b 007395 call g24_transmit 
+:      007396 g24tx_no_ack:
+0x315c 007397 branch g24_end_of_packet 
+:      007399 g24_ackpayload_prep:
+0x315d 007400 bpatch patch18_2 ,mem_patch18 
+0x315e 007401 add regc ,offset_24g_datalen ,contw 
+0x315f 007402 call g24_mem_set0 
+0x3160 007404 setarg offset_24g_ackpayload_enable 
+0x3161 007405 call g24_set_rega_ifetch_1byte 
+0x3162 007407 rtn blank 
+0x3163 007408 setarg 0x06 
+0x3164 007409 add regc ,offset_24g_datalen ,contw 
+0x3165 007410 istore 1 ,contw 
+0x3166 007412 arg 0x06 ,loopcnt 
+0x3167 007413 setarg offset_24g_bind_payload 
+0x3168 007414 iadd regc ,contr 
+0x3169 007416 add regc ,offset_24g_txbuf ,contw 
+0x316a 007418 branch memcpy 
+:      007421 g24_receive_packet_start:
+0x316b 007422 call g24_receive_transmit_ack 
+0x316c 007423 nbranch g24_rx_interrupt_clear ,user3 
+0x316d 007424 branch g24_receive_packet_parse 
+:      007426 g24_receive_transmit_ack:
+0x316e 007427 call g24_rx_interrupt_clear 
+0x316f 007428 call g24_receive_packet 
+0x3170 007429 nrtn user3 
+0x3171 007430 branch g24_transmit_ack 
+:      007432 g24_receive_packet_parse:
+0x3172 007433 bpatch patch18_3 ,mem_patch18 
+0x3173 007434 call g24_receive_packet_parse_pid_crc 
+0x3174 007435 nbranch g24_rx_interrupt_clear ,user 
+0x3175 007436 add regc ,offset_24g_rxdata_length ,rega 
+0x3176 007437 ifetch 1 ,rega 
+0x3177 007439 branch g24_rx_interrupt_clear ,blank 
+0x3178 007440 increase 2 ,pdata 
+0x3179 007441 iforce loopcnt 
+0x317a 007442 add regc ,offset_24g_rxbuf ,contr 
+0x317b 007444 setarg offset_24g_rxdata_temp 
+0x317c 007445 iadd regc ,contw 
+0x317d 007447 call memcpy 
+0x317e 007448 call g24_set0_mem_mode_switch 
+0x317f 007450 call g24_fetch_mem_pair_mode 
+0x3180 007452 call g24_enable_nodata_timer ,blank 
+0x3181 007453 setarg offset_24g_rxdata_temp_add2 
+0x3182 007454 call g24_set_rega_ifetch_1byte 
+0x3183 007456 beq 0x01 ,g24_data_type1 
+0x3184 007457 beq 0x02 ,g24_data_type2 
+0x3185 007458 beq 0x03 ,g24_data_type3 
+0x3186 007459 beq 0xff ,g24_data_attemp 
+0x3187 007460 branch g24_rx_interrupt_clear 
+:      007462 g24_receive_packet_parse_pid_crc:
+0x3188 007463 call g24_head_ptr2regc 
+0x3189 007464 call disable_user 
+0x318a 007465 add regc ,offset_24g_sta_pid ,rega 
+0x318b 007466 ifetch 1 ,rega 
+0x318c 007468 add regc ,offset_24g_last_pid ,rega 
+0x318d 007469 ifetcht 1 ,rega 
+0x318e 007471 isub temp ,null 
+0x318f 007472 ncall enable_user ,zero 
+0x3190 007473 add regc ,offset_24g_sta_pid ,rega 
+0x3191 007474 ifetch 1 ,rega 
+0x3192 007476 add regc ,offset_24g_last_pid ,contw 
+0x3193 007477 istore 1 ,contw 
+0x3194 007479 add regc ,offset_24g_sta_crc ,rega 
+0x3195 007480 ifetch 3 ,rega 
+0x3196 007482 add regc ,offset_24g_last_crc ,rega 
+0x3197 007483 ifetcht 3 ,rega 
+0x3198 007485 isub temp ,null 
+0x3199 007486 ncall enable_user ,zero 
+0x319a 007487 add regc ,offset_24g_sta_crc ,rega 
+0x319b 007488 ifetch 3 ,rega 
+0x319c 007490 add regc ,offset_24g_last_crc ,contw 
+0x319d 007492 branch g24_contw_istore_3byte 
+:      007494 g24_data_type1:
+0x319e 007495 call g24_ch_timer_reinit 
+0x319f 007496 call g24_fetch_mem_abort_pac 
+0x31a0 007497 store 1 ,mem_temp 
+0x31a1 007499 call g24_fetcht_mem_rxdata_temp 
+0x31a2 007500 fetch 1 ,mem_temp 
+0x31a3 007502 isolate1 bit_abort ,temp 
+0x31a4 007503 setflag true ,0 ,pdata 
+0x31a5 007504 add regc ,offset_24g_abort_pac ,contw 
+0x31a6 007505 istore 1 ,contw 
+0x31a7 007507 beq 1 ,g24_data_attemp_mouse 
+0x31a8 007508 call g24_fetch_mem_hop_pac 
+0x31a9 007510 call g24_fetcht_mem_rxdata_temp 
+0x31aa 007512 isolate1 bit_hop ,temp 
+0x31ab 007513 setflag true ,0 ,pdata 
+0x31ac 007514 call g24_store_mem_hop_pac 
+0x31ad 007516 add regc ,offset_24g_cb_rxdata_type1 ,rega 
+0x31ae 007517 ifetch 2 ,rega 
+0x31af 007519 branch callback_func 
+:      007521 dongle_rxdata_type1:
+0x31b0 007522 setarg ms_report_id 
+0x31b1 007523 store 1 ,mem_usb_mouse_data 
+0x31b2 007524 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b3 007526 istore 7 ,contw 
+0x31b4 007527 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b5 007529 ncall g24_ms_enable_blank_data_forcibly ,blank 
+0x31b6 007530 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b7 007532 call g24_ms_disable_blank_data_forcibly ,blank 
+:      007533 g24_data_type1_usbtx_enable:
+0x31b8 007534 jam usb_ep2_ms ,mem_usb_ep2_data 
+:      007535 g24_data_type1_usbtx_enable_ep2:
+0x31b9 007536 fetch 1 ,mem_usb_tx_enable 
+0x31ba 007537 set1 2 ,pdata 
+0x31bb 007538 store 1 ,mem_usb_tx_enable 
+0x31bc 007539 rtn 
+:      007541 g24_ms_enable_blank_data_forcibly:
+0x31bd 007542 setarg 1 
+0x31be 007543 call g24_store_mem_ms_blank_data_enable 
+0x31bf 007545 setarg timer_ms_blank_delay 
+0x31c0 007546 arg timer_ms_blank ,queue 
+0x31c1 007547 branch timer_init 
+:      007548 g24_ms_disable_blank_data_forcibly:
+0x31c2 007549 call g24_set0_mem_ms_blank_data_enable 
+0x31c3 007551 setarg 0 
+0x31c4 007552 arg timer_ms_blank ,queue 
+0x31c5 007553 branch timer_init 
+:      007555 g24_data_type2:
+0x31c6 007556 call g24_fetcht_mem_rxdata_temp 
+0x31c7 007558 isolate1 bit_abort ,temp 
+0x31c8 007559 branch g24_data_attemp_kbd ,true 
+0x31c9 007560 arg mem_usb_kb_data ,contw 
+0x31ca 007561 call g24_data_type2_reverse_data 
+0x31cb 007562 fetch 8 ,mem_usb_kb_data 
+0x31cc 007563 ncall g24_kb_enable_blank_data_forcibly ,blank 
+0x31cd 007564 fetch 8 ,mem_usb_kb_data 
+0x31ce 007565 call g24_kb_disable_blank_data_forcibly ,blank 
+0x31cf 007566 call g24_head_ptr2regc 
+0x31d0 007567 fetch 8 ,mem_usb_kb_data 
+0x31d1 007568 arg offset_24g_kb_data_sta_data ,rega 
+0x31d2 007569 call g24_set_contw_with_temp 
+0x31d3 007570 istore 8 ,contw 
+0x31d4 007572 setarg offset_24g_kb_data_last_data 
+0x31d5 007573 iadd regc ,rega 
+0x31d6 007574 ifetcht 8 ,rega 
+0x31d7 007576 isub temp ,null 
+0x31d8 007577 ncall g24_kb_data_dispose ,zero 
+0x31d9 007578 setarg offset_24g_kb_data_sta_data 
+0x31da 007579 iadd regc ,rega 
+0x31db 007580 ifetch 8 ,rega 
+0x31dc 007582 arg offset_24g_kb_data_last_data ,rega 
+0x31dd 007583 call g24_set_contw_with_temp 
+0x31de 007584 istore 8 ,contw 
+0x31df 007586 branch g24_rx_interrupt_clear 
+:      007588 g24_data_type2_reverse_data:
+0x31e0 007589 setarg offset_24g_rxdata_temp_add2 
+0x31e1 007590 iadd regc ,contr 
+0x31e2 007592 arg 9 ,loopcnt 
+0x31e3 007593 branch reverse_byte 
+:      007595 g24_kb_enable_blank_data_forcibly:
+0x31e4 007596 setarg 1 
+0x31e5 007597 call g24_store_mem_kb_blank_data_enable 
+0x31e6 007599 setarg timer_kb_blank_delay 
+0x31e7 007600 arg timer_kb_blank ,queue 
+0x31e8 007601 branch timer_init 
+:      007603 g24_kb_disable_blank_data_forcibly:
+0x31e9 007604 call g24_set0_mem_kb_blank_data_enable 
+0x31ea 007606 setarg 0 
+0x31eb 007607 arg timer_kb_blank ,queue 
+0x31ec 007608 branch timer_init 
+:      007610 g24_kb_data_dispose:
+:      007611 g24_kb_data_into_ep1_fifo:
+0x31ed 007612 jam usb_ep1_kb ,mem_usb_ep1_data 
+0x31ee 007613 fetch 1 ,mem_usb_tx_enable 
+0x31ef 007614 set1 1 ,pdata 
+0x31f0 007615 store 1 ,mem_usb_tx_enable 
+0x31f1 007616 rtn 
+:      007618 g24_data_type3:
+0x31f2 007619 arg mem_usb_kb_multikey ,contw 
+0x31f3 007620 call g24_data_type2_reverse_data 
+0x31f4 007621 fetch 2 ,mem_usb_kb_multikey + 1 
+0x31f5 007622 ncall g24_kb_mul_enable_blank_data_forcibly ,blank 
+0x31f6 007623 fetch 2 ,mem_usb_kb_multikey + 1 
+0x31f7 007624 call g24_kb_mul_disable_blank_data_forcibly ,blank 
+0x31f8 007625 call g24_head_ptr2regc 
+0x31f9 007626 fetch 3 ,mem_usb_kb_multikey 
+0x31fa 007627 arg offset_24g_kb_multikey_sta_data ,rega 
+0x31fb 007628 call g24_set_contw_with_temp_store_3byte 
+0x31fc 007630 setarg offset_24g_kb_multikey_last_data 
+0x31fd 007631 iadd regc ,rega 
+0x31fe 007632 ifetcht 3 ,rega 
+0x31ff 007634 isub temp ,null 
+0x3200 007635 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+0x3201 007636 setarg offset_24g_kb_multikey_sta_data 
+0x3202 007637 iadd regc ,rega 
+0x3203 007638 ifetch 3 ,rega 
+0x3204 007640 arg offset_24g_kb_multikey_last_data ,rega 
+0x3205 007641 call g24_set_contw_with_temp_store_3byte 
+0x3206 007643 branch g24_rx_interrupt_clear 
+:      007645 g24_kb_mul_data_into_ep2_fifo:
+0x3207 007646 jam usb_ep2_multikey ,mem_usb_ep2_data 
+0x3208 007647 branch g24_data_type1_usbtx_enable_ep2 
+:      007649 g24_kb_mul_enable_blank_data_forcibly:
+0x3209 007650 setarg 1 
+0x320a 007651 call g24_store_mem_kb_mul_blank_data_enable 
+0x320b 007653 setarg timer_kb_mul_blank_delay 
+0x320c 007654 arg timer_kb_mul_blank ,queue 
+0x320d 007655 branch timer_init 
+:      007657 g24_kb_mul_disable_blank_data_forcibly:
+0x320e 007658 call g24_set0_mem_kb_mul_blank_data_enable 
+0x320f 007660 setarg 0 
+0x3210 007661 arg timer_kb_mul_blank ,queue 
+0x3211 007662 branch timer_init 
+:      007664 g24_data_attemp:
+0x3212 007665 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x3213 007667 beq datatype_mouse ,g24_data_attemp_mouse 
+0x3214 007668 beq datatype_keyboard ,g24_data_attemp_kbd 
+0x3215 007669 rtn 
+:      007670 g24_data_attemp_mouse:
+0x3216 007671 setarg offset_24g_rxdata_temp_add4 
+0x3217 007672 call g24_set_rega_ifetch_4byte 
+0x3218 007673 arg offset_24g_mouse_addr ,rega 
+0x3219 007674 call g24_set_contw_with_temp 
+0x321a 007677 branch g24_contw_istore_4byte 
+:      007679 g24_data_attemp_kbd:
+0x321b 007680 setarg offset_24g_rxdata_temp_add4 
+0x321c 007681 call g24_set_rega_ifetch_4byte 
+0x321d 007682 arg offset_24g_kb_addr ,rega 
+0x321e 007683 call g24_set_contw_with_temp 
+0x321f 007686 branch g24_contw_istore_4byte 
+:      007688 g24_store_mem_24g_mode:
+0x3220 007689 call g24_head_ptr2regc 
+0x3221 007690 add regc ,offset_24g_mode ,contw 
+0x3222 007691 istore 1 ,contw 
+0x3223 007692 rtn 
+:      007694 g24_fetch_mem_device_addr:
+0x3224 007695 call g24_head_ptr2regc 
+0x3225 007696 add regc ,offset_24g_device_addr ,rega 
+0x3226 007697 branch g24_rega_ifetch_4byte 
+:      007698 g24_store_mem_device_addr:
+0x3227 007699 call g24_head_ptr2regc 
+0x3228 007700 add regc ,offset_24g_device_addr ,contw 
+0x3229 007701 branch g24_contw_istore_4byte 
+:      007703 g24_fetch_mem_addr:
+0x322a 007704 add regc ,offset_24g_addr ,rega 
+0x322b 007705 branch g24_rega_ifetch_4byte 
+:      007706 g24_store_mem_addr:
+0x322c 007707 add regc ,offset_24g_addr ,contw 
+:      007708 g24_contw_istore_4byte:
+0x322d 007709 istore 4 ,contw 
+0x322e 007710 rtn 
+:      007712 g24_store_mem_ch:
+0x322f 007713 add regc ,offset_24g_ch ,contw 
+0x3230 007714 branch g24_contw_istore_1byte 
+:      007716 g24_set0_mem_pid:
+0x3231 007717 setarg 0 
+:      007718 g24_store_mem_pid:
+0x3232 007719 call g24_head_ptr2regc 
+0x3233 007720 add regc ,offset_24g_pid ,contw 
+0x3234 007721 branch g24_contw_istore_1byte 
+:      007723 g24_store_mem_txpayload:
+0x3235 007724 add regc ,offset_24g_txpayload ,contw 
+0x3236 007725 branch g24_contw_istore_1byte 
+:      007727 g24_set4_mem_max_retry:
+0x3237 007728 setarg 4 
+:      007729 g24_store_mem_max_retry:
+0x3238 007730 add regc ,offset_24g_max_retry ,contw 
+0x3239 007731 branch g24_contw_istore_1byte 
+:      007733 g24_fetch_mem_data_type:
+0x323a 007734 add regc ,offset_24g_data_type ,rega 
+0x323b 007735 branch g24_rega_ifetch_1byte 
+:      007736 g24_store_mem_data_type:
+0x323c 007737 add regc ,offset_24g_data_type ,contw 
+0x323d 007738 branch g24_contw_istore_1byte 
+:      007740 g24_set2_mem_sync_cnt:
+0x323e 007741 setarg 2 
+:      007742 g24_store_mem_sync_cnt:
+0x323f 007743 add regc ,offset_24g_sync_cnt ,contw 
+0x3240 007744 branch g24_contw_istore_1byte 
+:      007746 g24_set1_mem_rf_last_sta:
+0x3241 007747 setarg 1 
+:      007748 g24_store_mem_rf_last_sta:
+0x3242 007749 call g24_head_ptr2regc 
+0x3243 007750 add regc ,offset_24g_rf_last_sta ,contw 
+0x3244 007751 branch g24_contw_istore_1byte 
+:      007753 g24_fetch_mem_hop_pac:
+0x3245 007754 call g24_head_ptr2regc 
+0x3246 007755 add regc ,offset_24g_hop_pac ,rega 
+0x3247 007756 branch g24_rega_ifetch_1byte 
+:      007757 g24_set1_mem_hop_pac:
+0x3248 007758 setarg 1 
+:      007759 g24_store_mem_hop_pac:
+0x3249 007760 call g24_head_ptr2regc 
+0x324a 007761 add regc ,offset_24g_hop_pac ,contw 
+0x324b 007762 branch g24_contw_istore_1byte 
+:      007764 g24_fetch_mem_abort_pac:
+0x324c 007765 call g24_head_ptr2regc 
+0x324d 007766 add regc ,offset_24g_abort_pac ,rega 
+0x324e 007767 branch g24_rega_ifetch_1byte 
+:      007768 g24_set1_mem_abort_pac:
+0x324f 007769 setarg 1 
+:      007770 g24_store_mem_abort_pac:
+0x3250 007771 call g24_head_ptr2regc 
+0x3251 007772 add regc ,offset_24g_abort_pac ,contw 
+0x3252 007773 branch g24_contw_istore_1byte 
+:      007775 g24_fetch_mem_pairing_sm:
+0x3253 007776 call g24_head_ptr2regc 
+0x3254 007777 add regc ,offset_24g_pairing_sm ,rega 
+0x3255 007778 branch g24_rega_ifetch_1byte 
+:      007779 g24_store_mem_pairing_sm:
+0x3256 007780 add regc ,offset_24g_pairing_sm ,contw 
+0x3257 007781 branch g24_contw_istore_1byte 
+:      007783 g24_fetch_mem_rf_hop_ch:
+0x3258 007784 add regc ,offset_24g_rf_hop_ch ,rega 
+0x3259 007785 branch g24_rega_ifetch_1byte 
+:      007786 g24_set0_mem_rf_hop_ch:
+0x325a 007787 setarg 0 
+:      007788 g24_store_mem_rf_hop_ch:
+0x325b 007789 add regc ,offset_24g_rf_hop_ch ,contw 
+0x325c 007790 branch g24_contw_istore_1byte 
+:      007792 g24_fetch_mem_rf_work_stage:
+0x325d 007793 add regc ,offset_24g_rf_work_stage ,rega 
+0x325e 007794 branch g24_rega_ifetch_1byte 
+:      007796 g24_fetch_mem_rxbuf_add1:
+0x325f 007797 add regc ,offset_24g_rxbuf_add1 ,rega 
+0x3260 007798 branch g24_rega_ifetch_1byte 
+:      007800 g24_fetch_mem_check_dongle_times:
+0x3261 007801 add regc ,offset_24g_check_dongle_times ,rega 
+0x3262 007802 branch g24_rega_ifetch_1byte 
+:      007803 g24_set0_mem_check_dongle_times:
+0x3263 007804 setarg 0 
+:      007805 g24_store_mem_check_dongle_times:
+0x3264 007806 call g24_head_ptr2regc 
+0x3265 007807 add regc ,offset_24g_check_dongle_times ,contw 
+0x3266 007808 branch g24_contw_istore_1byte 
+:      007810 g24_store_mem_tx_power:
+0x3267 007811 call g24_head_ptr2regc 
+0x3268 007812 add regc ,offset_tx_power_temp ,rega 
+0x3269 007813 ifetch 1 ,rega 
+:      007814 g24_store_mem_txpower:
+0x326a 007815 store 1 ,mem_tx_power 
+0x326b 007816 rtn 
+:      007818 g24_store_mem_tx_power_temp:
+0x326c 007819 call g24_head_ptr2regc 
+0x326d 007820 fetch 1 ,mem_tx_power 
+0x326e 007822 add regc ,offset_tx_power_temp ,contw 
+0x326f 007823 branch g24_contw_istore_1byte 
+:      007825 g24_fetch_mem_power_ctrl_pac:
+0x3270 007826 add regc ,offset_power_ctrl_packet_cnt ,rega 
+0x3271 007827 branch g24_rega_ifetch_1byte 
+:      007829 g24_store_mem_power_ctrl_level:
+0x3272 007830 add regc ,offset_power_ctrl_level ,contw 
+0x3273 007831 branch g24_contw_istore_1byte 
+:      007833 g24_fetcht_mem_rxdata_temp:
+0x3274 007834 setarg offset_24g_rxdata_temp 
+:      007835 g24_set_rega_ifetcht_1byte:
+0x3275 007836 iadd regc ,rega 
+0x3276 007837 ifetcht 1 ,rega 
+0x3277 007838 rtn 
+:      007840 g24_fetch_mem_rf_laststa:
+0x3278 007841 setarg offset_24g_rf_laststa 
+0x3279 007842 branch g24_set_rega_ifetch_1byte 
+:      007843 g24_set0_mem_rf_laststa:
+0x327a 007844 setarg 0 
+:      007845 g24_store_mem_rf_laststa:
+0x327b 007846 arg offset_24g_rf_laststa ,rega 
+0x327c 007847 branch g24_set_contw_with_regb_store_1byte 
+:      007849 g24_fetch_mem_rx_addr:
+0x327d 007850 setarg offset_24g_rx_addr 
+:      007851 g24_set_rega_ifetch_4byte:
+0x327e 007852 call g24_set_rega 
+:      007853 g24_rega_ifetch_4byte:
+0x327f 007854 ifetch 4 ,rega 
+0x3280 007855 rtn 
+:      007857 g24_fetch_mem_time_slice:
+0x3281 007858 setarg offset_24g_time_slice 
+0x3282 007859 branch g24_set_rega_ifetch_1byte 
+:      007860 g24_set0_mem_time_slice:
+0x3283 007861 setarg 0 
+:      007862 g24_store_mem_time_slice:
+0x3284 007863 arg offset_24g_time_slice ,rega 
+0x3285 007864 branch g24_set_contw_with_regb_store_1byte 
+:      007866 g24_set0_mem_mode_switch:
+0x3286 007867 setarg 0 
+:      007868 g24_store_mem_mode_switch:
+0x3287 007869 arg offset_24g_mode_switch ,rega 
+0x3288 007870 branch g24_set_contw_with_regb_store_1byte 
+:      007872 g24_store_mem_bind_payload:
+0x3289 007873 arg offset_24g_bind_payload ,rega 
+0x328a 007874 branch g24_set_contw_with_regb_store_1byte 
+:      007876 g24_fetch_mem_bind_device_status:
+0x328b 007877 setarg offset_dongle_bind_device_status 
+0x328c 007878 branch g24_set_rega_ifetch_1byte 
+:      007879 g24_store_mem_bind_device_status:
+0x328d 007880 arg offset_dongle_bind_device_status ,rega 
+0x328e 007881 branch g24_set_contw_with_regb_store_1byte 
+:      007883 g24_fetch_mem_dongle_work_mode:
+0x328f 007884 setarg offset_dongle_work_mode 
+0x3290 007885 branch g24_set_rega_ifetch_1byte 
+:      007886 g24_set_work_mem_dongle_work_mode:
+0x3291 007887 setarg dongle_work 
+:      007888 g24_store_mem_dongle_work_mode:
+0x3292 007889 arg offset_dongle_work_mode ,rega 
+0x3293 007890 branch g24_set_contw_with_regb_store_1byte 
+:      007892 g24_fetch_mem_dongle_mode_init:
+0x3294 007893 setarg offset_dongle_mode_init 
+0x3295 007894 branch g24_set_rega_ifetch_1byte 
+:      007895 g24_set0_mem_dongle_mode_init:
+0x3296 007896 setarg clear_init 
+:      007897 g24_store_mem_dongle_mode_init:
+0x3297 007898 arg offset_dongle_mode_init ,rega 
+0x3298 007899 branch g24_set_contw_with_regb_store_1byte 
+:      007901 g24_set0_mem_ackpayload_enable:
+0x3299 007902 setarg 0 
+:      007903 g24_store_mem_ackpayload_enable:
+0x329a 007904 arg offset_24g_ackpayload_enable ,rega 
+0x329b 007905 branch g24_set_contw_with_regb_store_1byte 
+:      007906 g24_set1_mem_ackpayload_enable:
+0x329c 007907 setarg 1 
+0x329d 007908 branch g24_store_mem_ackpayload_enable 
+:      007910 g24_fetch_mem_rxdata_temp_add3_7byte:
+0x329e 007911 setarg offset_24g_rxdata_temp_add3 
+0x329f 007912 call g24_set_rega 
+0x32a0 007913 ifetch 7 ,rega 
+0x32a1 007914 rtn 
+:      007916 g24_fetch_mem_nodata_timer_enable:
+0x32a2 007917 setarg offset_24g_nodata_timer_enable 
+0x32a3 007918 branch g24_set_rega_ifetch_1byte 
+:      007919 g24_set0_mem_nodata_timer_enable:
+0x32a4 007920 setarg 0 
+:      007921 g24_store_mem_nodata_timer_enable:
+0x32a5 007922 arg offset_24g_nodata_timer_enable ,rega 
+0x32a6 007923 branch g24_set_contw_with_regb_store_1byte 
+:      007925 g24_set0_mem_ms_blank_data_enable:
+0x32a7 007926 setarg 0 
+:      007927 g24_store_mem_ms_blank_data_enable:
+0x32a8 007928 arg offset_24g_ms_blank_data_enable ,rega 
+0x32a9 007929 branch g24_set_contw_with_regb_store_1byte 
+:      007931 g24_set0_mem_kb_blank_data_enable:
+0x32aa 007932 setarg 0 
+:      007933 g24_store_mem_kb_blank_data_enable:
+0x32ab 007934 arg offset_24g_kb_blank_data_enable ,rega 
+0x32ac 007935 branch g24_set_contw_with_regb_store_1byte 
+:      007937 g24_set0_mem_kb_mul_blank_data_enable:
+0x32ad 007938 setarg 0 
+:      007939 g24_store_mem_kb_mul_blank_data_enable:
+0x32ae 007940 arg offset_24g_kb_mul_blank_data_enable ,rega 
+0x32af 007941 branch g24_set_contw_with_regb_store_1byte 
+:      007943 g24_store_mem_power_ctrl_threshold_up:
+0x32b0 007944 arg offset_power_ctrl_threshold_up ,rega 
+0x32b1 007945 branch g24_set_contw_with_regb_store_1byte 
+:      007947 g24_store_mem_power_ctrl_threshold_down:
+0x32b2 007948 arg offset_power_ctrl_threshold_down ,rega 
+:      007949 g24_set_contw_with_regb_store_1byte:
+0x32b3 007950 call g24_set_contw_with_regb 
+:      007951 g24_contw_istore_1byte:
+0x32b4 007952 istore 1 ,contw 
+0x32b5 007953 rtn 
+:      007955 g24_fetch_mem_pair_mode:
+0x32b6 007956 setarg offset_24g_pair_mode 
+0x32b7 007957 branch g24_set_rega_ifetch_1byte 
+:      007959 g24_store_mem_pair_mode:
+0x32b8 007960 arg offset_24g_pair_mode ,rega 
+0x32b9 007961 branch g24_set_contw_with_regb_store_1byte 
+:      007963 g24_store_mem_pair_txpower:
+0x32ba 007964 setarg offset_24g_pair_txpower 
+0x32bb 007965 call g24_set_rega_ifetch_1byte 
+0x32bc 007966 branch g24_store_mem_txpower 
+:      007968 g24_fetch_mem_rxdata_temp_add3_1byte:
+0x32bd 007969 setarg offset_24g_rxdata_temp_add3 
+0x32be 007970 branch g24_set_rega_ifetch_1byte 
+:      007972 g24_set_contw_with_temp:
+0x32bf 007973 copy pdata ,temp 
+0x32c0 007974 copy rega ,pdata 
+0x32c1 007975 iadd regc ,contw 
+0x32c2 007976 copy temp ,pdata 
+0x32c3 007977 rtn 
+:      007979 g24_set_contw_with_temp_store_3byte:
+0x32c4 007980 call g24_set_contw_with_temp 
+:      007981 g24_contw_istore_3byte:
+0x32c5 007982 istore 3 ,contw 
+0x32c6 007983 rtn 
+:      007985 g24_set_contw_with_regb:
+0x32c7 007986 call g24_head_ptr2regc 
+:      007987 g24_set_contw_with_regb2:
+0x32c8 007988 copy pdata ,regb 
+0x32c9 007989 copy rega ,pdata 
+0x32ca 007990 iadd regc ,contw 
+0x32cb 007991 copy regb ,pdata 
+0x32cc 007992 rtn 
+:      007994 g24_set_rega:
+0x32cd 007995 call g24_head_ptr2regc 
+0x32ce 007996 iadd regc ,rega 
+0x32cf 007997 rtn 
+:      007999 g24_set_rega_ifetch_1byte:
+0x32d0 008000 call g24_set_rega 
+:      008001 g24_rega_ifetch_1byte:
+0x32d1 008002 ifetch 1 ,rega 
+0x32d2 008003 rtn 
+:      008005 g24_set_rega_ifetcht_4byte:
+0x32d3 008006 call g24_set_rega 
+0x32d4 008007 ifetcht 4 ,rega 
+0x32d5 008008 rtn 
+:      008010 g24_mem_set0:
+0x32d6 008011 setarg 0 
+0x32d7 008012 branch g24_contw_istore_1byte 
+:      008016 app_init:
+0x32d8 008017 bpatch patch18_4 ,mem_patch18 
+0x32d9 008018 fetch 1 ,mem_device_option 
+0x32da 008019 branch app_init ,blank 
+0x32db 008021 beq dvc_op_dongle ,dongle_init 
+0x32dc 008022 beq dvc_op_antilost ,antilost_init 
+0x32dd 008023 beq dvc_op_shutter ,shutter_init 
+0x32de 008024 beq dvc_op_module ,module_init 
+0x32df 008025 beq dvc_op_car ,car_init 
+0x32e0 008026 beq dvc_op_remote_car ,remote_car_init 
+0x32e1 008027 bbit1 dvc_op_mouse ,mouse_init 
+0x32e2 008028 rtn 
+:      008030 app_lpm_init:
+0x32e3 008031 bpatch patch18_5 ,mem_patch18 
+0x32e4 008032 jam 0 ,mem_tester_emulate 
+0x32e5 008033 jam 0 ,mem_debug_config 
+0x32e6 008034 jam 0 ,mem_lch_code 
+0x32e7 008035 setarg 0 
+0x32e8 008036 store 5 ,mem_sp_state_start 
+0x32e9 008037 fetch 1 ,mem_device_option 
+0x32ea 008038 branch app_lpm_init ,blank 
+0x32eb 008039 beq dvc_op_module ,module_lpm_init 
+:      008040 app_lpm_init0:
+0x32ec 008041 rtn 
+:      008044 app_process_idle:
+0x32ed 008045 call ui_dispatch 
+0x32ee 008046 call check_51cmd 
+0x32ef 008047 call app_process_bb_event 
+0x32f0 008048 fetch 2 ,mem_cb_idle_process 
+0x32f1 008049 branch callback_func 
+:      008051 app_process_bt:
+0x32f2 008052 fetch 2 ,mem_cb_bt_process 
+0x32f3 008053 branch callback_func 
+:      008055 app_process_ble:
+0x32f4 008056 fetch 2 ,mem_cb_le_process 
+0x32f5 008057 branch callback_func 
+:      008059 app_process_bb_event:
+0x32f6 008060 bpatch patch18_6 ,mem_patch18 
+0x32f7 008062 arg mem_ipc_fifo_bt2c51 ,rega 
+0x32f8 008063 call fifo_out 
+0x32f9 008064 rtn blank 
+0x32fa 008066 copy pdata ,regc 
+0x32fb 008067 call app_event_normal_process 
+0x32fc 008068 branch app_process_bb_event_priority 
+:      008070 app_discard_event:
+0x32fd 008071 arg 0 ,regc 
+0x32fe 008072 rtn 
+:      008077 app_event_normal_process:
+0x32ff 008078 beq bt_evt_bb_connected ,app_evt_bt_conn 
+0x3300 008079 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+0x3301 008080 beq bt_evt_setup_complete ,app_evt_setup_complete 
+0x3302 008081 beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+0x3303 008082 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+0x3304 008083 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+0x3305 008084 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+0x3306 008085 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+0x3307 008086 beq bt_evt_le_connected ,app_le_event_bb_connected 
+0x3308 008087 beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+0x3309 008088 beq bt_evt_reconn_started ,app_event_reconn_start 
+0x330a 008089 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+0x330b 008090 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+0x330c 008092 beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+0x330d 008093 beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+0x330e 008094 beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+0x330f 008095 beq bt_evt_switch_success_master ,app_event_switch_success 
+0x3310 008096 rtn 
+:      008099 app_evt_bt_conn:
+0x3311 008100 fetch 2 ,mem_ui_state_map 
+0x3312 008101 set1 ui_state_bt_connected ,pdata 
+0x3313 008102 store 2 ,mem_ui_state_map 
+0x3314 008103 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3315 008104 set0 app_disc_by_button ,pdata 
+0x3316 008105 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3317 008106 rtn 
+:      008108 app_event_switch_success:
+0x3318 008109 jam 0 ,mem_switch_fail_master_count 
+0x3319 008110 rtn 
+:      008112 app_event_switch_fail_master:
+0x331a 008113 fetch 1 ,mem_switch_fail_master_count 
+0x331b 008114 increase 1 ,pdata 
+0x331c 008115 store 1 ,mem_switch_fail_master_count 
+0x331d 008116 sub pdata ,1 ,null 
+0x331e 008117 branch app_bt_role_switch ,positive 
+0x331f 008118 jam 0 ,mem_switch_fail_master_count 
+0x3320 008119 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3321 008120 set1 app_disc_switch_fail ,pdata 
+0x3322 008121 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3323 008122 branch app_bt_disconnect 
+:      008124 app_process_bb_event_priority:
+0x3324 008125 fetch 2 ,mem_cb_bb_event_process 
+0x3325 008126 branch callback_func 
+:      008128 app_check_wake_lock:
+0x3326 008129 fetch 2 ,mem_cb_check_wakelock 
+0x3327 008130 branch callback_func 
+:      008132 app_will_enter_lpm:
+0x3328 008133 fetch 2 ,mem_cb_before_lpm 
+0x3329 008134 branch callback_func 
+:      008136 app_event_linkkey_generate:
+0x332a 008137 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x332b 008138 set1 app_disc_after_pairing ,pdata 
+0x332c 008139 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x332d 008140 branch app_bt_store_reconn_info 
+:      008142 app_event_reconn_start:
+0x332e 008143 fetch 2 ,mem_ui_state_map 
+0x332f 008144 set1 ui_state_bt_reconnect ,pdata 
+0x3330 008145 store 2 ,mem_ui_state_map 
+0x3331 008146 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3332 008147 set1 app_disc_after_reconn ,pdata 
+0x3333 008148 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3334 008149 rtn 
+:      008151 app_evt_setup_complete:
+0x3335 008152 fetch 2 ,mem_ui_state_map 
+0x3336 008153 set1 ui_state_bt_setup_complete ,pdata 
+0x3337 008154 store 2 ,mem_ui_state_map 
+0x3338 008155 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3339 008156 set1 app_disc_after_setup_done ,pdata 
+0x333a 008157 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x333b 008158 rtn 
+:      008160 app_evt_hid_handshake:
+0x333c 008161 fetch 2 ,mem_ui_state_map 
+0x333d 008162 set1 ui_state_bt_hid_handshake ,pdata 
+0x333e 008163 store 2 ,mem_ui_state_map 
+0x333f 008164 rtn 
+:      008166 app_event_enter_sniff:
+0x3340 008167 fetch 2 ,mem_ui_state_map 
+0x3341 008168 set1 ui_state_bt_sniff ,pdata 
+0x3342 008169 store 2 ,mem_ui_state_map 
+0x3343 008170 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3344 008171 set1 app_disc_after_sniff ,pdata 
+0x3345 008172 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3346 008173 rtn 
+:      008175 app_event_exit_sniff:
+0x3347 008176 fetch 2 ,mem_ui_state_map 
+0x3348 008177 set0 ui_state_bt_sniff ,pdata 
+0x3349 008178 store 2 ,mem_ui_state_map 
+0x334a 008179 rtn 
+:      008181 app_le_event_bb_connected:
+0x334b 008182 fetch 2 ,mem_ui_state_map 
+0x334c 008183 set1 ui_state_ble_connected ,pdata 
+0x334d 008184 store 2 ,mem_ui_state_map 
+0x334e 008185 rtn 
+:      008187 app_le_event_bb_disconn:
+0x334f 008188 fetch 2 ,mem_ui_state_map 
+0x3350 008189 set0 ui_state_ble_connected ,pdata 
+0x3351 008190 store 2 ,mem_ui_state_map 
+0x3352 008191 branch app_lpm_mult_disable 
+:      008193 app_bb_event_hid_connected:
+0x3353 008194 fetch 2 ,mem_ui_state_map 
+0x3354 008195 set1 ui_state_bt_hid_conn ,pdata 
+0x3355 008196 store 2 ,mem_ui_state_map 
+0x3356 008197 rtn 
+:      008199 app_evt_button_long_pressed:
+0x3357 008200 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3358 008201 set1 app_disc_by_button ,pdata 
+0x3359 008202 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335a 008203 rtn 
+:      008205 app_event_ml2cap_conn_refused:
+0x335b 008206 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335c 008207 set1 app_disc_l2cap_refused ,pdata 
+0x335d 008208 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335e 008209 branch app_bt_disconnect 
+:      008212 app_evt_timer:
+0x335f 008213 bpatch patch18_7 ,mem_patch18 
+0x3360 008214 store 1 ,mem_app_evt_timer_count 
+:      008215 app_evt_100ms_loop:
+0x3361 008216 fetch 1 ,mem_app_evt_timer_count 
+0x3362 008217 rtn blank 
+0x3363 008218 increase -1 ,pdata 
+0x3364 008219 store 1 ,mem_app_evt_timer_count 
+0x3365 008220 call ui_button_polling 
+0x3366 008221 call app_lpm_wake_auto_lock_timer 
+0x3367 008222 call app_unsniff_delay_timer 
+0x3368 008223 call app_discovery_timer 
+0x3369 008224 call flash_write_spi_sm_timer 
+0x336a 008225 fetch 2 ,mem_cb_event_timer 
+0x336b 008226 call callback_func 
+0x336c 008227 branch app_evt_100ms_loop 
+:      008232 timer_single_step:
+0x336d 008233 ifetch 1 ,regc 
+0x336e 008234 rtn blank 
+0x336f 008235 pincrease -1 
+0x3370 008236 istore 1 ,regc 
+0x3371 008237 nrtn blank 
+0x3372 008238 copy regb ,pdata 
+0x3373 008239 branch callback_func 
+:      008243 timer_single_step_2b:
+0x3374 008244 ifetch 2 ,regc 
+0x3375 008245 rtn blank 
+0x3376 008246 pincrease -1 
+0x3377 008247 istore 2 ,regc 
+0x3378 008248 nrtn blank 
+0x3379 008249 copy regb ,pdata 
+0x337a 008250 branch callback_func 
+:      008252 app_power_timer:
+0x337b 008253 fetcht 2 ,mem_power_param_ptr 
+0x337c 008254 add temp ,power_timer_offset ,regc 
+0x337d 008255 arg app_power_timer_timeout ,regb 
+0x337e 008256 branch timer_single_step 
+:      008258 app_power_timer_timeout:
+0x337f 008259 call app_got_power_state_common 
+0x3380 008260 beq power_starting ,app_enter_power_stanby_state 
+:      008261 app_enter_power_off_state:
+0x3381 008262 branch app_enter_hibernate 
+:      008263 app_enter_power_stanby_state:
+0x3382 008264 setarg power_standby 
+0x3383 008265 istore 1 ,regc 
+0x3384 008266 add temp ,power_standby_cb_offset ,regb 
+:      008267 app_power_cb_common:
+0x3385 008268 ifetch 2 ,regb 
+0x3386 008269 branch callback_func 
+:      008271 app_unsniff_delay_timer:
+0x3387 008272 arg mem_unsniff2sniff_timer_count ,regc 
+0x3388 008273 arg app_unsniff_delay_timeout ,regb 
+0x3389 008274 branch timer_single_step 
+:      008276 app_unsniff_delay_timeout:
+0x338a 008277 call context_check_idle 
+0x338b 008278 branch app_bt_enter_sniff ,zero 
+0x338c 008279 rtn 
+:      008282 app_discovery_timer:
+0x338d 008283 arg mem_discovery_timeout_timer_count ,regc 
+0x338e 008284 arg app_discovery_timeout ,regb 
+0x338f 008285 branch timer_single_step_2b 
+:      008287 app_discovery_timeout:
+0x3390 008288 call app_bt_stop_discovery 
+0x3391 008289 call app_led_off 
+0x3392 008290 fetch 2 ,mem_cb_discovry_timeout 
+0x3393 008291 branch callback_func 
+:      008294 app_bb_event_reconn_failed:
+0x3394 008295 call app_disconn_reason_flag_clear 
+:      008296 app_clear_reconnect_flag:
+0x3395 008297 fetch 2 ,mem_ui_state_map 
+0x3396 008298 set0 ui_state_bt_reconnect ,pdata 
+0x3397 008299 store 2 ,mem_ui_state_map 
+0x3398 008300 rtn 
+:      008302 app_bb_event_bb_disconn:
+0x3399 008303 jam 0 ,mem_unsniff2sniff_timer_count 
+0x339a 008304 fetch 2 ,mem_ui_state_map 
+0x339b 008305 bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+0x339c 008306 isolate0 ui_state_bt_setup_complete ,pdata 
+0x339d 008307 call app_discard_event ,true 
+:      008308 app_bb_event_bb_reconn_disconn:
+0x339e 008309 bpatch patch19_0 ,mem_patch19 
+0x339f 008310 fetch 2 ,mem_ui_state_map 
+0x33a0 008311 set0 ui_state_bt_connected ,pdata 
+0x33a1 008312 set0 ui_state_bt_setup_complete ,pdata 
+0x33a2 008313 set0 ui_state_bt_hid_conn ,pdata 
+0x33a3 008314 set0 ui_state_bt_hid_handshake ,pdata 
+0x33a4 008315 set0 ui_state_bt_reconnect ,pdata 
+0x33a5 008316 store 2 ,mem_ui_state_map 
+0x33a6 008317 branch app_lpm_mult_disable 
+:      008319 app_bb_hibernate:
+0x33a7 008320 call app_disconn_reason_clear 
+0x33a8 008321 branch app_enter_hibernate 
+:      008324 app_disconn_reason_clear:
+0x33a9 008325 setarg 0 
+0x33aa 008326 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33ab 008327 rtn 
+:      008328 app_disconn_reason_flag_clear:
+0x33ac 008329 setarg 0 
+0x33ad 008330 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33ae 008331 rtn 
+:      008333 app_disconn_reason_collect_bt:
+0x33af 008334 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b0 008335 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33b1 008336 setarg 0 
+0x33b2 008337 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b3 008338 rtn 
+:      008340 app_disconn_reason_collect_ble:
+0x33b4 008341 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b5 008342 set1 app_disc_ble ,pdata 
+0x33b6 008343 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33b7 008344 setarg 0 
+0x33b8 008345 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b9 008346 rtn 
+:      008354 app_check_sniff:
+0x33ba 008355 fetch 1 ,mem_ui_state_map 
+0x33bb 008356 isolate1 ui_state_bt_sniff ,pdata 
+0x33bc 008357 rtn 
+:      008365 app_initflag_store:
+0x33bd 008366 setarg eeprom_init_flag 
+:      008367 app_flag_store:
+0x33be 008368 store 2 ,mem_timeup 
+0x33bf 008369 bpatch patch19_1 ,mem_patch19 
+0x33c0 008370 arg 2 ,temp 
+0x33c1 008371 arg mem_timeup ,rega 
+0x33c2 008372 arg eeprom_module_init_flag ,regb 
+0x33c3 008373 branch iicd_write_eep_data 
+:      008376 app_initflag_check:
+0x33c4 008377 bpatch patch19_2 ,mem_patch19 
+0x33c5 008378 arg 2 ,temp 
+0x33c6 008379 arg mem_pdatatemp ,rega 
+0x33c7 008380 arg eeprom_module_init_flag ,regb 
+0x33c8 008381 call iicd_read_eep_data 
+0x33c9 008382 fetch 2 ,mem_pdatatemp 
+0x33ca 008383 arg eeprom_init_flag ,temp 
+0x33cb 008384 isub temp ,null 
+0x33cc 008385 rtn 
+:      008388 app_start_auto_sniff:
+0x33cd 008389 fetch 1 ,mem_unsniff2sniff_timer 
+0x33ce 008390 store 1 ,mem_unsniff2sniff_timer_count 
+0x33cf 008391 rtn 
+:      008393 app_get_lpm_wake_lock:
+0x33d0 008394 arg wake_lock_app ,queue 
+0x33d1 008395 branch lpm_get_wake_lock 
+:      008397 app_put_lpm_wake_lock:
+0x33d2 008398 arg wake_lock_app ,queue 
+0x33d3 008399 branch lpm_put_wake_lock 
+:      008401 app_lpm_wake_auto_lock:
+0x33d4 008402 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+0x33d5 008403 branch app_get_lpm_wake_lock 
+:      008405 app_lpm_wake_auto_lock_timer:
+0x33d6 008406 arg mem_wake_up_delay_timer ,regc 
+0x33d7 008407 arg app_put_lpm_wake_lock ,regb 
+0x33d8 008408 branch timer_single_step 
+:      008410 app_l2cap_flow_control_enable:
+0x33d9 008411 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+0x33da 008412 rtn 
+:      008414 app_l2cap_flow_control_disable:
+0x33db 008415 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+0x33dc 008416 rtn 
+:      008418 app_bt_set_pincode:
+0x33dd 008419 jam bt_cmd_set_pin_code ,mem_fifo_temp 
+0x33de 008420 branch ui_ipc_send_cmd 
+:      008422 app_bt_role_switch:
+0x33df 008423 jam bt_cmd_role_switch ,mem_fifo_temp 
+0x33e0 008424 branch ui_ipc_send_cmd 
+:      008426 app_bt_start_reconnect:
+0x33e1 008427 bpatch patch19_3 ,mem_patch19 
+0x33e2 008428 fetch 1 ,mem_app_connection_options 
+0x33e3 008429 store 1 ,mem_connection_options 
+0x33e4 008430 jam app_flag_reconnect ,mem_reconnect_flag 
+0x33e5 008431 jam bt_cmd_reconnect ,mem_fifo_temp 
+0x33e6 008432 branch ui_ipc_send_cmd 
+:      008434 app_bt_reconnect_cancel:
+0x33e7 008435 jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+0x33e8 008436 branch ui_ipc_send_cmd 
+:      008438 app_bt_disconnect:
+0x33e9 008439 jam bt_cmd_disconnect ,mem_fifo_temp 
+0x33ea 008440 branch ui_ipc_send_cmd 
+:      008442 app_bt_start_discovery_short:
+0x33eb 008443 fetch 2 ,mem_discovery_timeout 
+0x33ec 008444 store 2 ,mem_discovery_timeout_timer_count 
+:      008445 app_bt_start_discovery_led_blink:
+0x33ed 008446 call app_led_start_blink 
+:      008447 app_bt_start_discovery:
+0x33ee 008448 jam bt_cmd_start_discovery ,mem_fifo_temp 
+0x33ef 008449 branch ui_ipc_send_cmd 
+:      008451 app_bt_stop_discovery:
+0x33f0 008452 setarg 0 
+0x33f1 008453 store 2 ,mem_discovery_timeout_timer_count 
+0x33f2 008454 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+0x33f3 008455 branch ui_ipc_send_cmd 
+:      008457 app_ble_start_direct_adv:
+0x33f4 008458 jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+0x33f5 008459 branch ui_ipc_send_cmd 
+:      008461 app_ble_stop_direct_adv:
+0x33f6 008462 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+0x33f7 008463 branch ui_ipc_send_cmd 
+:      008465 app_ble_stop_adv:
+0x33f8 008466 jam bt_cmd_stop_adv ,mem_fifo_temp 
+0x33f9 008467 branch ui_ipc_send_cmd 
+:      008469 app_ble_start_adv:
+0x33fa 008470 jam bt_cmd_start_adv ,mem_fifo_temp 
+0x33fb 008471 branch ui_ipc_send_cmd 
+:      008473 app_ble_start_scan:
+0x33fc 008474 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+0x33fd 008475 branch ui_ipc_send_cmd 
+:      008477 app_ble_stop_scan:
+0x33fe 008478 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+0x33ff 008479 branch ui_ipc_send_cmd 
+:      008481 app_ble_start_conn:
+0x3400 008482 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+0x3401 008483 branch ui_ipc_send_cmd 
+:      008485 app_ble_disconnect:
+0x3402 008486 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+0x3403 008487 branch ui_ipc_send_cmd 
+:      008489 app_led_start_blink:
+0x3404 008490 jam bt_cmd_led_blink ,mem_fifo_temp 
+0x3405 008491 branch ui_ipc_send_cmd 
+:      008493 app_led_on:
+0x3406 008494 jam bt_cmd_led_on ,mem_fifo_temp 
+0x3407 008495 branch ui_ipc_send_cmd 
+:      008497 app_led_stop_blink:
+:      008498 app_led_off:
+0x3408 008499 jam bt_cmd_led_off ,mem_fifo_temp 
+0x3409 008500 branch ui_ipc_send_cmd 
+:      008502 app_enter_hibernate:
+0x340a 008503 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+0x340b 008504 branch ui_ipc_send_cmd 
+:      008506 app_bt_sniff_exit:
+0x340c 008507 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+0x340d 008508 branch ui_ipc_send_cmd 
+:      008510 app_bt_enter_sniff:
+0x340e 008511 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+0x340f 008512 branch ui_ipc_send_cmd 
+:      008514 app_ble_store_reconn_info:
+0x3410 008515 jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+0x3411 008516 branch ui_ipc_send_cmd 
+:      008518 app_bt_store_reconn_info:
+0x3412 008519 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+0x3413 008520 branch ui_ipc_send_cmd 
+:      008522 app_store_reconn_info:
+0x3414 008523 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+0x3415 008524 branch ui_ipc_send_cmd 
+:      008526 app_lpm_mult_enable:
+0x3416 008527 set1 mark_lpm_mult_enable ,mark 
+0x3417 008528 rtn 
+:      008530 app_lpm_mult_disable:
+0x3418 008531 set0 mark_lpm_mult_enable ,mark 
+0x3419 008532 rtn 
+:      008552 app_button_long_pressed:
+0x341a 008553 call app_got_power_state_common 
+0x341b 008554 beq power_standby ,app_power_shutting_down 
+:      008555 app_power_starting:
+0x341c 008556 setarg power_starting 
+0x341d 008557 istore 1 ,regc 
+0x341e 008558 add temp ,power_starting_timeout_offset ,rega 
+0x341f 008559 add temp ,power_starting_cb_offset ,regb 
+:      008560 app_power_common:
+0x3420 008561 ifetcht 1 ,rega 
+0x3421 008562 increase 1 ,regc 
+0x3422 008563 istoret 1 ,regc 
+0x3423 008564 branch app_power_cb_common 
+:      008566 app_power_shutting_down:
+0x3424 008567 setarg power_off 
+0x3425 008568 istore 1 ,regc 
+0x3426 008569 fetch 2 ,mem_ui_state_map 
+0x3427 008570 bbit0 ui_state_ble_connected ,app_power_off_end 
+0x3428 008571 call app_ble_disconnect 
+:      008572 app_power_off_end:
+0x3429 008573 fetcht 2 ,mem_power_param_ptr 
+0x342a 008574 add temp ,power_off_timeout_offset ,rega 
+0x342b 008575 add temp ,power_off_cb_offset ,regb 
+0x342c 008576 branch app_power_common 
+:      008578 app_got_power_state_common:
+0x342d 008579 fetcht 2 ,mem_power_param_ptr 
+0x342e 008580 add temp ,power_state_offset ,regc 
+0x342f 008581 ifetch 1 ,regc 
+0x3430 008582 rtn 
+:      008584 app_event_button_up:
+0x3431 008585 call app_got_power_state_common 
+0x3432 008586 bne power_off ,app_power_release 
+0x3433 008587 branch app_enter_hibernate 
+:      008588 app_power_release:
+0x3434 008589 add temp ,ui_butten_up_cb_offset ,regb 
+0x3435 008590 branch app_power_cb_common 
+:      008592 antilost_init:
+0x3436 008593 rtn wake 
+0x3437 008594 hjam 0x00 ,core_gpio_sel1 
+0x3438 008595 setarg antilost_le_before_hibernate 
+0x3439 008596 store 2 ,mem_cb_before_hibernate 
+0x343a 008597 setarg keyscan_process_lpm_before 
+0x343b 008598 store 2 ,mem_cb_before_lpm 
+0x343c 008599 setarg antilost_idle_process 
+0x343d 008600 store 2 ,mem_cb_idle_process 
+0x343e 008601 setarg antilost_le_conn_process 
+0x343f 008602 store 2 ,mem_cb_le_process 
+0x3440 008603 setarg antilost_bb_event_process 
+0x3441 008604 store 2 ,mem_cb_bb_event_process 
+0x3442 008605 setarg antilost_le_bb_event_timer 
+0x3443 008606 store 2 ,mem_cb_event_timer 
+0x3444 008607 setarg antilost_le_notification 
+0x3445 008608 store 2 ,mem_cb_ble_transmit 
+0x3446 008609 setarg antilost_lpm_lock_process 
+0x3447 008610 store 2 ,mem_cb_check_wakelock 
+0x3448 008611 setarg antilost_le_receive_data_process 
+0x3449 008612 store 2 ,mem_cb_att_write 
+0x344a 008613 bpatch patch19_4 ,mem_patch19 
+0x344b 008614 call antilost_buzzer_pwm_init 
+0x344c 008615 call keyscan_key_init 
+0x344d 008616 call antilost_adc_init 
+0x344e 008617 call ui_led_init_global 
+0x344f 008618 call ui_button_init 
+0x3450 008619 setarg antilost_key_up_down 
+0x3451 008620 store 2 ,mem_cb_antl_key 
+0x3452 008621 setarg antilost_power_off_cb 
+0x3453 008622 store 2 ,mem_antl_power_off_cb 
+0x3454 008623 setarg antilost_power_starting_cb 
+0x3455 008624 store 2 ,mem_antl_power_starting_cb 
+0x3456 008625 setarg antilost_power_standby_cb 
+0x3457 008626 store 2 ,mem_antl_power_standby_cb 
+0x3458 008627 setarg antilost_led_on_cb 
+0x3459 008628 store 2 ,mem_antl_led_cb_on 
+0x345a 008629 setarg antilost_led_off_cb 
+0x345b 008630 store 2 ,mem_antl_led_cb_off 
+0x345c 008631 setarg antilost_buzzer_on 
+0x345d 008632 store 2 ,mem_antl_buzzer_cb_on 
+0x345e 008633 setarg antilost_buzzer_off 
+0x345f 008634 store 2 ,mem_antl_buzzer_cb_off 
+0x3460 008635 fetch 2 ,mem_ui_state_map 
+0x3461 008636 rtnbit1 ui_state_btn_down 
+0x3462 008637 branch app_enter_hibernate 
+:      008639 antilost_le_before_hibernate:
+0x3463 008640 call antilost_led_buzzer_stop_blink 
+0x3464 008641 branch app_enter_hibernate 
+:      008643 antilost_le_notification:
+0x3465 008644 call le_fifo_check_nearly_full 
+0x3466 008645 nrtn blank 
+0x3467 008646 arg mem_temp_block5 ,rega 
+0x3468 008647 call queue_pop 
+0x3469 008648 nrtn user 
+0x346a 008649 arg mem_temp_block5 ,contr 
+0x346b 008650 branch le_send_notify_from_list 
+:      008652 antilost_power_standby_cb:
+0x346c 008653 fetch 2 ,mem_antl_le_sleep_timeout 
+0x346d 008654 store 2 ,mem_antl_le_sleep_timer 
+0x346e 008655 jam 1 ,mem_antl_key_scan_enable 
+0x346f 008656 branch antilost_fast_adv_start 
+:      008658 antilost_lpm_lock_process:
+0x3470 008659 fetch 1 ,mem_antl_key_state 
+0x3471 008660 beq 1 ,antilost_lpm_ctrl_for_led_buzzer 
+0x3472 008661 fetch 2 ,mem_ui_state_map 
+0x3473 008662 bbit0 ui_state_ble_connected ,antilost_lpm_ctrl_for_led_buzzer 
+0x3474 008663 fetch 1 ,mem_antl_lost_mode 
+0x3475 008664 beq 1 ,app_get_lpm_wake_lock 
+0x3476 008665 fetch 1 ,mem_antl_queue_curr_num 
+0x3477 008666 nbranch app_get_lpm_wake_lock ,blank 
+0x3478 008667 branch app_put_lpm_wake_lock 
+:      008669 antilost_lpm_ctrl_for_led_buzzer:
+0x3479 008670 fetch 1 ,mem_antl_led_state 
+0x347a 008671 fetcht 1 ,mem_antl_buzzer_state 
+0x347b 008672 ior temp ,pdata 
+0x347c 008673 beq 1 ,app_get_lpm_wake_lock 
+0x347d 008674 branch app_put_lpm_wake_lock 
+:      008676 antilost_bb_event_process:
+0x347e 008677 copy regc ,pdata 
+0x347f 008678 beq bt_evt_button_up ,app_event_button_up 
+0x3480 008679 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x3481 008680 beq bt_evt_le_connected ,antilost_le_process_conn 
+0x3482 008681 beq bt_evt_le_disconnected ,antilost_le_process_discon 
+0x3483 008682 beq bt_evt_le_parse_conn_papa_update_rsp ,antilost_le_conn_param_update_rsp_recieved 
+0x3484 008683 rtn 
+:      008684 antilost_le_conn_param_update_rsp_recieved:
+0x3485 008685 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x3486 008686 beq ble_signaling_connect_parameter_update_rejected ,antilost_le_conn_param_rejected 
+:      008687 antilost_le_conn_param_accepted:
+0x3487 008688 fetch 2 ,mem_le_new_connslavelatency 
+0x3488 008689 branch antilost_master_nonsupport_latency ,blank 
+:      008690 antilost_le_conn_param_updata_procedure_sucsess:
+0x3489 008691 jam conn_param_updata_procedure_complete ,mem_antl_conn_updata_procedure_state 
+0x348a 008692 jam 60 ,mem_antl_conn_update_timer 
+0x348b 008693 rtn 
+:      008695 antilost_le_conn_param_rejected:
+0x348c 008696 fetch 2 ,mem_le_latency 
+0x348d 008697 branch antilost_conn_param_updata_procedure_faild ,blank 
+:      008698 antilost_conn_param_retransimiting:
+0x348e 008699 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+0x348f 008700 fetcht 2 ,mem_interval_increment 
+0x3490 008701 fetch 2 ,mem_le_interval_min 
+0x3491 008702 iadd temp ,pdata 
+0x3492 008703 store 2 ,mem_le_interval_min 
+0x3493 008704 copy pdata ,rega 
+0x3494 008705 fetch 2 ,mem_le_interval_max 
+0x3495 008706 iadd temp ,pdata 
+0x3496 008707 store 2 ,mem_le_interval_max 
+0x3497 008708 iadd rega ,pdata 
+0x3498 008709 rshift pdata ,temp 
+0x3499 008710 fetch 2 ,mem_antl_le_unnormal_interval_max 
+0x349a 008711 idiv temp 
+0x349b 008712 call wait_div_end 
+0x349c 008713 quotient pdata 
+0x349d 008714 store 2 ,mem_le_latency 
+0x349e 008715 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x349f 008716 rtn 
+:      008717 antilost_conn_param_updata_procedure_faild:
+0x34a0 008718 jam conn_param_updata_procedure_faild ,mem_antl_conn_updata_procedure_state 
+0x34a1 008719 rtn 
+:      008721 antilost_master_nonsupport_latency:
+0x34a2 008722 jam 0 ,mem_lpm_mult 
+0x34a3 008723 jam 0 ,mem_antl_send_updata_le_param_timer 
+0x34a4 008724 fetch 2 ,mem_le_new_conninterval 
+0x34a5 008725 fetcht 2 ,mem_antl_le_unnormal_interval_min 
+0x34a6 008726 isub temp ,null 
+0x34a7 008727 setflag positive ,0 ,rega 
+0x34a8 008728 fetch 2 ,mem_antl_le_unnormal_interval_max 
+0x34a9 008729 fetcht 2 ,mem_le_new_conninterval 
+0x34aa 008730 isub temp ,pdata 
+0x34ab 008731 setflag positive ,1 ,rega 
+0x34ac 008732 compare 0x03 ,rega ,0x03 
+0x34ad 008733 rtn true 
+0x34ae 008734 fetch 8 ,mem_antl_le_unnormal_interval_min 
+0x34af 008735 store 8 ,mem_le_interval_min 
+0x34b0 008736 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x34b1 008737 rtn 
+:      008740 antilost_le_bb_event_timer:
+0x34b2 008742 call app_power_timer 
+0x34b3 008743 call antilost_double_click_timer 
+0x34b4 008744 call antilost_le_fast_adv_timer 
+0x34b5 008745 call antilost_le_sleep_timer 
+0x34b6 008746 call antilost_app_updata_le_param_timer 
+0x34b7 008747 call antilost_conn_update_timer 
+0x34b8 008748 branch antilost_adc_check_timer 
+:      008751 antilost_double_click_timer:
+0x34b9 008752 arg mem_double_click_timer ,regc 
+0x34ba 008753 arg antilost_double_click_timeout ,regb 
+0x34bb 008754 branch timer_single_step 
+:      008755 antilost_double_click_timeout:
+0x34bc 008756 jam 0 ,mem_butten_click_cnt 
+0x34bd 008757 rtn 
+:      008758 antilost_le_fast_adv_timer:
+0x34be 008759 arg mem_antl_fast_adv_timer ,regc 
+0x34bf 008760 arg antilost_le_fast_adv_timeout ,regb 
+0x34c0 008761 branch timer_single_step_2b 
+:      008762 antilost_le_fast_adv_timeout:
+0x34c1 008763 arg mem_antl_slow_adv_led_style ,regc 
+0x34c2 008764 arg mem_antl_slow_adv_lpm_interval ,regb 
+0x34c3 008765 branch antilost_adv_start_common 
+:      008768 antilost_conn_update_timer:
+0x34c4 008769 arg mem_antl_conn_update_timer ,regc 
+0x34c5 008770 arg antilost_conn_update_timer_time_out ,regb 
+0x34c6 008771 branch timer_single_step 
+:      008773 antilost_conn_update_timer_time_out:
+0x34c7 008774 fetch 2 ,mem_le_latency 
+0x34c8 008775 store 1 ,mem_lpm_mult 
+0x34c9 008776 rtn 
+:      008777 antilost_app_updata_le_param_timer:
+0x34ca 008778 arg mem_antl_send_updata_le_param_timer ,regc 
+0x34cb 008779 arg antilost_app_updata_le_param_timeout ,regb 
+0x34cc 008780 branch timer_single_step 
+:      008781 antilost_app_updata_le_param_timeout:
+0x34cd 008782 fetch 1 ,mem_le_state 
+0x34ce 008783 compare 0 ,pdata ,0x60 
+0x34cf 008784 nbranch antilost_wait_for_updata_param_instant_expire ,true 
+0x34d0 008785 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+0x34d1 008786 call app_lpm_mult_enable 
+0x34d2 008787 branch le_l2cap_tx_update_req 
+:      008788 antilost_wait_for_updata_param_instant_expire:
+0x34d3 008789 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x34d4 008790 rtn 
+:      008792 antilost_le_sleep_timer:
+0x34d5 008793 arg mem_antl_le_sleep_timer ,regc 
+0x34d6 008794 arg antilost_le_sleep_timer_timeout ,regb 
+0x34d7 008795 branch timer_single_step_2b 
+:      008798 antilost_le_sleep_timer_timeout:
+0x34d8 008799 branch app_button_long_pressed 
+:      008801 antilost_adc_check_timer:
+0x34d9 008804 arg mem_adc_timer ,regc 
+0x34da 008805 arg antilost_adc_check_timer_timeout ,regb 
+0x34db 008806 branch timer_single_step_2b 
+:      008807 antilost_adc_check_timer_timeout:
+0x34dc 008808 fetch 2 ,mem_adc_timeout 
+0x34dd 008809 store 2 ,mem_adc_timer 
+0x34de 008810 branch antilost_battery_process 
+:      008813 antilost_le_process_conn:
+0x34df 008814 fetch 2 ,mem_adc_timeout 
+0x34e0 008815 store 2 ,mem_adc_timer 
+0x34e1 008816 setarg 0 
+0x34e2 008817 store 2 ,mem_antl_fast_adv_timer 
+0x34e3 008818 store 2 ,mem_antl_le_sleep_timer 
+0x34e4 008819 call antilost_alert_off 
+0x34e5 008820 call antilost_led_buzzer_stop_blink 
+0x34e6 008821 jam 0 ,mem_lpm_mult 
+0x34e7 008822 branch app_ble_stop_adv 
+:      008825 antilost_le_process_discon:
+0x34e8 008828 setarg 0 
+0x34e9 008829 store 4 ,mem_adc_timer 
+0x34ea 008830 store 3 ,mem_antl_conn_updata_procedure_state 
+0x34eb 008831 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x34ec 008833 jam 1 ,mem_alarm_config_notfy_cnt 
+0x34ed 008834 fetch 2 ,mem_antl_le_sleep_timeout 
+0x34ee 008835 store 2 ,mem_antl_le_sleep_timer 
+0x34ef 008836 call queue_init 
+0x34f0 008837 fetch 1 ,mem_antl_power_state 
+0x34f1 008838 rtneq power_off 
+0x34f2 008839 call antilost_fast_adv_start 
+0x34f3 008840 branch antilost_on_off_alarm_after_disconn 
+:      008843 antilost_le_conn_process:
+0x34f4 008845 branch antilost_key_process 
+:      008847 antilost_idle_process:
+0x34f5 008849 fetch 1 ,mem_antl_power_state 
+0x34f6 008850 rtnne power_standby 
+0x34f7 008851 branch antilost_key_process 
+:      008856 antilost_power_starting_cb:
+0x34f8 008857 arg mem_antl_power_starting_buzzer_style ,regc 
+0x34f9 008858 call antilost_buzzer_configuration 
+0x34fa 008859 arg mem_antl_power_starting_led_style ,regc 
+:      008860 antilost_power_common:
+0x34fb 008861 branch antilost_led_configuration 
+:      008863 antilost_power_off_cb:
+0x34fc 008864 jam off ,mem_le_adv_enable 
+0x34fd 008865 arg mem_antl_power_off_buzzer_style ,regc 
+0x34fe 008866 call antilost_buzzer_configuration 
+0x34ff 008867 arg mem_antl_power_off_led_style ,regc 
+0x3500 008868 branch antilost_power_common 
+:      008870 antilost_le_receive_data_process:
+0x3501 008871 fetch 1 ,mem_le_att_opcode 
+0x3502 008872 beq attop_write_request ,antilost_le_parse_att_write_request 
+0x3503 008873 rtn 
+:      008874 antilost_le_parse_att_write_request:
+0x3504 008875 fetch 2 ,mem_le_att_handle 
+0x3505 008877 beq new_spec_write_handle ,antilost_cmd_parse_for_application 
+0x3506 008878 beq new_spec_notification_enable_handle ,antilost_notify_alarm_config_first_time 
+0x3507 008879 rtn 
+:      008884 antilost_key_process:
+0x3508 008885 fetch 1 ,mem_antl_key_scan_enable 
+0x3509 008886 rtn blank 
+0x350a 008887 branch keyscan_key_process 
+:      008891 antilost_key_up_down:
+0x350b 008892 copy rega ,pdata 
+0x350c 008893 branch antilost_key_is_up ,blank 
+:      008894 antilost_key_is_down:
+0x350d 008895 copy queue ,pdata 
+0x350e 008896 beq 0 ,antilost_key0_down 
+0x350f 008897 rtn 
+:      008898 antilost_key_is_up:
+0x3510 008899 copy queue ,pdata 
+0x3511 008900 beq 0 ,antilost_key0_up 
+0x3512 008901 rtn 
+:      008903 antilost_key0_down:
+0x3513 008904 jam 1 ,mem_antl_key_state 
+0x3514 008905 arg mem_antl_key_buzzer_style ,regc 
+0x3515 008906 call antilost_buzzer_configuration 
+0x3516 008907 arg mem_antl_key_led_style ,regc 
+0x3517 008908 call antilost_led_configuration 
+0x3518 008909 fetch 2 ,mem_ui_state_map 
+0x3519 008910 bbit0 ui_state_ble_connected ,antilost_butten_down_while_disconn 
+0x351a 008911 branch antilost_butten_down_after_conn 
+:      008913 antilost_key0_up:
+0x351b 008914 jam 0 ,mem_antl_key_state 
+0x351c 008915 branch antilost_double_click_timer_init 
+:      008919 antilost_double_click_timer_init:
+0x351d 008920 fetch 1 ,mem_butten_click_cnt 
+0x351e 008921 rtnne 1 
+0x351f 008922 jam 5 ,mem_double_click_timer 
+0x3520 008923 rtn 
+:      008925 antilost_butten_down_after_conn:
+0x3521 008926 fetch 1 ,mem_butten_click_cnt 
+0x3522 008927 pincrease 1 
+0x3523 008928 store 1 ,mem_butten_click_cnt 
+0x3524 008929 beq 1 ,antilost_click_once 
+0x3525 008930 beq 2 ,antilost_click_twice 
+0x3526 008931 rtn 
+:      008932 antilost_click_once:
+0x3527 008933 call antilost_alert_off 
+0x3528 008934 jam opcode1_butten_click_once ,mem_antl_key0_press + 5 
+0x3529 008935 arg mem_antl_key0_press ,regc 
+0x352a 008936 branch antilost_prepare_data_and_send 
+:      008937 antilost_click_twice:
+0x352b 008938 jam 0 ,mem_butten_click_cnt 
+0x352c 008939 jam opcode2_butten_double_click ,mem_antl_key0_press + 5 
+0x352d 008940 arg mem_antl_key0_press ,regc 
+0x352e 008941 call antilost_prepare_data_and_send 
+0x352f 008942 fetch 1 ,mem_antl_lost_mode 
+0x3530 008943 beq 1 ,antilost_alert_on 
+0x3531 008944 rtn 
+:      008946 antilost_butten_down_while_disconn:
+0x3532 008947 fetch 2 ,mem_antl_le_sleep_timeout 
+0x3533 008948 store 2 ,mem_antl_le_sleep_timer 
+0x3534 008949 call antilost_alert_off 
+0x3535 008950 branch antilost_fast_adv_start 
+:      008953 antilost_cmd_parse_for_application:
+0x3536 008954 bpatch patch19_5 ,mem_patch19 
+0x3537 008955 call le_app_receive_data 
+0x3538 008956 ifetch 1 ,rega 
+0x3539 008957 beq opcode3_antl_start_alram ,antilost_on_of_alram 
+0x353a 008958 beq opcode7_antl_config_alram ,antilost_configuration_for_alram 
+0x353b 008959 rtn 
+:      008961 antilost_on_of_alram:
+0x353c 008962 fetch 1 ,mem_antl_lost_mode 
+0x353d 008963 beq anti_le_alarm_off ,antilost_alert_on 
+0x353e 008964 beq anti_le_alarm_on ,antilost_alert_off 
+0x353f 008965 rtn 
+:      008967 antilost_configuration_for_alram:
+0x3540 008968 ifetch 1 ,regb 
+0x3541 008969 beq 1 ,antilost_set_start_alarm_after_disconn 
+0x3542 008970 beq 0 ,antilost_set_no_alarm_after_disconn 
+0x3543 008971 rtn 
+:      008978 antilost_prepare_data_and_send:
+0x3544 008979 bpatch patch19_6 ,mem_patch19 
+0x3545 008980 fetch 1 ,mem_client_characteristic_configuration_descriptor 
+0x3546 008981 isolate1 notification_enable_bit ,pdata 
+0x3547 008982 nrtn true 
+0x3548 008983 add regc ,6 ,contr 
+0x3549 008984 ifetch 2 ,contr 
+0x354a 008985 byteswap pdata ,pdata 
+0x354b 008986 add pdata ,5 ,loopcnt 
+0x354c 008987 add regc ,3 ,contr 
+0x354d 008988 call calc_check_sum_start 
+0x354e 008989 istore 1 ,contr 
+0x354f 008990 copy regc ,rega 
+0x3550 008991 branch queue_push 
+:      008997 antilost_alert_on:
+0x3551 008998 fetch 1 ,mem_antl_power_state 
+0x3552 008999 rtn blank 
+0x3553 009000 jam 1 ,mem_antl_lost_mode 
+0x3554 009001 arg mem_antl_alert_buzzer_stlye ,regc 
+0x3555 009002 call antilost_buzzer_configuration 
+0x3556 009003 arg mem_antl_alert_led_stlye ,regc 
+0x3557 009004 call antilost_led_configuration 
+0x3558 009005 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+0x3559 009006 jam 1 ,mem_antl_key0_release + 8 
+0x355a 009007 arg mem_antl_key0_release ,regc 
+0x355b 009008 branch antilost_prepare_data_and_send 
+:      009009 antilost_alert_off:
+0x355c 009010 fetch 1 ,mem_antl_lost_mode 
+0x355d 009011 rtn blank 
+0x355e 009012 jam 0 ,mem_antl_lost_mode 
+0x355f 009013 call antilost_led_buzzer_stop_blink 
+0x3560 009014 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+0x3561 009015 jam 0 ,mem_antl_key0_release + 8 
+0x3562 009016 arg mem_antl_key0_release ,regc 
+0x3563 009017 branch antilost_prepare_data_and_send 
+:      009019 antilost_set_start_alarm_after_disconn:
+0x3564 009020 jam 1 ,mem_alarm_config 
+0x3565 009021 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x3566 009022 jam 1 ,mem_antl_key0_release + 8 
+0x3567 009023 arg mem_antl_key0_release ,regc 
+0x3568 009024 branch antilost_prepare_data_and_send 
+:      009025 antilost_set_no_alarm_after_disconn:
+0x3569 009026 jam 0 ,mem_alarm_config 
+0x356a 009027 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x356b 009028 jam 0 ,mem_antl_key0_release + 8 
+0x356c 009029 arg mem_antl_key0_release ,regc 
+0x356d 009030 branch antilost_prepare_data_and_send 
+:      009031 antilost_on_off_alarm_after_disconn:
+0x356e 009032 fetch 1 ,mem_alarm_config 
+0x356f 009033 rtn blank 
+0x3570 009034 branch antilost_alert_on 
+:      009036 antilost_notify_alarm_config_first_time:
+0x3571 009037 ifetch 2 ,rega 
+0x3572 009038 store 2 ,mem_client_characteristic_configuration_descriptor 
+0x3573 009039 isolate1 notification_enable_bit ,pdata 
+0x3574 009040 nrtn true 
+0x3575 009041 fetch 1 ,mem_alarm_config_notfy_cnt 
+0x3576 009042 rtn blank 
+0x3577 009043 jam 0 ,mem_alarm_config_notfy_cnt 
+0x3578 009044 fetch 8 ,mem_antl_le_interval_min 
+0x3579 009045 store 8 ,mem_le_interval_min 
+0x357a 009046 jam 2 ,mem_antl_send_updata_le_param_timer 
+0x357b 009047 call antilost_battery_process 
+0x357c 009048 call antilost_battery_calculate_end 
+0x357d 009049 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x357e 009050 fetch 1 ,mem_alarm_config 
+0x357f 009051 store 1 ,mem_antl_key0_release + 8 
+0x3580 009052 arg mem_antl_key0_release ,regc 
+0x3581 009053 branch antilost_prepare_data_and_send 
+:      009057 antilost_buzzer_configuration:
+0x3582 009058 arg 1 ,rega 
+0x3583 009059 branch antilost_configuration_common 
+:      009060 antilost_led_configuration:
+0x3584 009061 arg 0 ,rega 
+:      009062 antilost_configuration_common:
+0x3585 009063 branch antilost_led_buzzer_style_configuration 
+:      009065 antilost_led_buzzer_stop_blink:
+0x3586 009066 arg 0 ,rega 
+0x3587 009067 call ui_led_blink_stop_global 
+0x3588 009068 arg 1 ,rega 
+0x3589 009069 call ui_led_blink_stop_global 
+0x358a 009070 fetch 1 ,mem_buzzer_pwm_conf 
+0x358b 009071 branch pwm_disable 
+:      009073 antilost_led_buzzer_style_configuration:
+0x358c 009074 call calc_curr_struct_prt 
+0x358d 009075 arg 7 ,loopcnt 
+0x358e 009076 branch ui_led_set_style_global + 2 
+:      009080 antilost_fast_adv_start:
+0x358f 009081 arg mem_antl_fast_adv_led_style ,regc 
+0x3590 009082 arg mem_antl_lpm_interval ,regb 
+:      009083 antilost_adv_start_common:
+0x3591 009084 call antilost_adv_interval_lpm_interval_set 
+0x3592 009085 call antilost_led_configuration 
+0x3593 009086 fetch 2 ,mem_antl_fast_adv_timeout 
+0x3594 009087 store 2 ,mem_antl_fast_adv_timer 
+0x3595 009088 branch app_ble_start_adv 
+:      009090 antilost_adv_interval_lpm_interval_set:
+0x3596 009091 ifetch 2 ,regb 
+0x3597 009092 store 2 ,mem_lpm_interval 
+0x3598 009093 ifetch 2 ,contr 
+0x3599 009094 store 2 ,mem_le_adv_interval 
+0x359a 009095 rtn 
+:      009097 antilost_buzzer_pwm_init:
+0x359b 009098 arg 0 ,rega 
+0x359c 009099 call pwm_init 
+0x359d 009100 fetch 6 ,mem_buzzer_pwm_conf 
+0x359e 009101 store 6 ,mem_pdatatemp 
+0x359f 009102 call pwm_out_set 
+0x35a0 009103 fetch 1 ,mem_buzzer_pwm_conf 
+0x35a1 009104 branch pwm_disable 
+:      009106 antilost_led_on_cb:
+0x35a2 009107 jam 1 ,mem_antl_led_state 
+0x35a3 009108 rtn 
+:      009109 antilost_led_off_cb:
+0x35a4 009110 jam 0 ,mem_antl_led_state 
+0x35a5 009111 rtn 
+:      009115 antilost_buzzer_off:
+0x35a6 009116 jam 0 ,mem_antl_buzzer_state 
+0x35a7 009117 fetch 1 ,mem_buzzer_pwm_conf 
+0x35a8 009118 branch pwm_disable 
+:      009120 antilost_buzzer_on:
+0x35a9 009121 jam 1 ,mem_antl_buzzer_state 
+0x35aa 009122 fetch 6 ,mem_buzzer_pwm_conf 
+0x35ab 009123 store 6 ,mem_pdatatemp 
+0x35ac 009124 branch pwm_out_set 
+:      009128 antilost_adc_init:
+0x35ad 009129 jam 0 ,mem_adc_config_flag 
+0x35ae 009130 branch adc_init_data 
+:      009132 antilost_battery_process:
+0x35af 009133 call adc_set_mode 
+0x35b0 009134 call vdd_calculate_by_mode 
+0x35b1 009135 store 2 ,mem_battery_current_voltage 
+0x35b2 009136 arg mem_battery_calculate_set ,rega 
+0x35b3 009137 call adc_bat_percent_lowpower_out 
+0x35b4 009138 store 1 ,mem_voltage_remain_percent 
+0x35b5 009139 beq 0 ,antilost_low_battery 
+0x35b6 009140 sub pdata ,0x64 ,null 
+0x35b7 009141 nbranch antilost_full_battery ,positive 
+0x35b8 009142 store 1 ,mem_antl_key0_release + 8 
+:      009143 antilost_battery_calculate_end:
+0x35b9 009144 jam opcode5_batter_information ,mem_antl_key0_release + 5 
+0x35ba 009145 arg mem_antl_key0_release ,regc 
+0x35bb 009146 branch antilost_prepare_data_and_send 
+:      009147 antilost_full_battery:
+0x35bc 009148 jam 100 ,mem_antl_key0_release + 8 
+0x35bd 009149 branch antilost_battery_calculate_end 
+:      009151 antilost_low_battery:
+0x35be 009152 branch app_button_long_pressed 
+:      009156 car_init:
+0x35bf 009157 rtn wake 
+0x35c0 009158 hfetch 1 ,core_gpio_sel1 
+0x35c1 009159 and_into 0xf0 ,pdata 
+0x35c2 009160 hstore 1 ,core_gpio_sel1 
+0x35c3 009161 setarg car_le_before_hibernate 
+0x35c4 009162 store 2 ,mem_cb_before_hibernate 
+0x35c5 009164 setarg car_le_process_lpm_before 
+0x35c6 009165 store 2 ,mem_cb_before_lpm 
+0x35c7 009167 setarg app_enter_hibernate 
+0x35c8 009168 store 2 ,mem_cb_discovry_timeout 
+0x35c9 009170 setarg car_scale_process_idle 
+0x35ca 009171 store 2 ,mem_cb_idle_process 
+0x35cb 009173 setarg car_scale_process_bb_event 
+0x35cc 009174 store 2 ,mem_cb_bb_event_process 
+0x35cd 009176 setarg app_get_lpm_wake_lock 
+0x35ce 009177 store 2 ,mem_cb_check_wakelock 
+0x35cf 009179 setarg car_le_receive_data 
+0x35d0 009180 store 2 ,mem_cb_att_write 
+0x35d1 009182 setarg car_le_bb_event_timer 
+0x35d2 009183 store 2 ,mem_cb_event_timer 
+0x35d3 009185 call g24_head_ptr2regc 
+0x35d4 009186 setarg car_24g_receive_data 
+0x35d5 009187 add regc ,offset_24g_cb_rxdata_type1 ,contw 
+0x35d6 009188 istore 2 ,contw 
+0x35d7 009190 setarg car_power_off_signal 
+0x35d8 009191 store 2 ,mem_remote_car_power_off_cb 
+0x35d9 009193 setarg car_soft_switch_power_on_signal 
+0x35da 009194 store 2 ,mem_remote_car_power_standby_cb 
+0x35db 009196 bpatch patch19_7 ,mem_patch19 
+0x35dc 009197 call car_init_environment 
+0x35dd 009198 call queue_init 
+0x35de 009199 jam 2 ,mem_lpm_mult 
+0x35df 009200 jam power_on ,mem_car_24g_received_pac 
+0x35e0 009201 fetch 1 ,mem_car_config_soft_switch_enable 
+0x35e1 009202 store 1 ,mem_car_hard_soft_switch 
+0x35e2 009203 beq hard_switch ,car_hard_switch_power_on_signal 
+0x35e3 009204 fetch 1 ,mem_car_config_soft_switch_gpio 
+0x35e4 009205 store 1 ,mem_ui_button_gpio 
+0x35e5 009206 jam off ,mem_le_adv_enable 
+:      009207 car_soft_switch_power_on_init:
+0x35e6 009208 call car_ui_led_init 
+0x35e7 009209 call ui_button_init 
+0x35e8 009210 call ui_button_polling 
+0x35e9 009211 jam power_starting ,mem_car_power_state 
+0x35ea 009212 fetch 2 ,mem_ui_state_map 
+0x35eb 009213 rtnbit1 ui_state_btn_down 
+0x35ec 009214 branch app_enter_hibernate 
+:      009216 car_power_off_signal:
+0x35ed 009217 branch car_ui_led_init 
+:      009219 car_hard_switch_power_on_signal:
+0x35ee 009220 jam power_standby ,mem_car_power_state 
+:      009221 car_soft_switch_power_on_signal:
+0x35ef 009222 jam on ,mem_le_adv_enable 
+0x35f0 009223 call car_ui_led_init 
+0x35f1 009224 arg 0 ,rega 
+0x35f2 009225 call ui_led_blink_start_global 
+0x35f3 009227 setarg fast_adv_interval_value_car 
+0x35f4 009228 call shutter_ble_adv_interval_set 
+:      009229 car_le_modified_name_adv:
+0x35f5 009230 arg mem_le_name + 7 ,contw 
+0x35f6 009231 fetch 1 ,mem_le_lap 
+:      009232 car_name_loop:
+0x35f7 009233 and pdata ,0xF0 ,temp 
+0x35f8 009234 rshift4 temp ,temp 
+0x35f9 009235 call car_hex_to_ascii 
+0x35fa 009236 istoret 1 ,contw 
+0x35fb 009237 and pdata ,0x0F ,temp 
+0x35fc 009238 call car_hex_to_ascii 
+0x35fd 009239 istoret 1 ,contw 
+0x35fe 009240 call le_modified_name_att_list 
+0x35ff 009241 fetcht 1 ,mem_le_name_len 
+0x3600 009242 copy temp ,loopcnt 
+0x3601 009243 arg mem_le_adv_data + 2 ,contw 
+0x3602 009244 arg mem_le_name ,contr 
+0x3603 009245 call memcpy 
+:      009246 car_le_modified_name_scan:
+0x3604 009247 fetcht 1 ,mem_le_name_len 
+0x3605 009248 copy temp ,loopcnt 
+0x3606 009249 arg mem_le_scan_data + 2 ,contw 
+0x3607 009250 arg mem_le_name ,contr 
+0x3608 009251 branch memcpy 
+:      009252 car_hex_to_ascii:
+0x3609 009253 sub temp ,9 ,null 
+0x360a 009254 branch car_hex_num ,positive 
+0x360b 009255 add temp ,55 ,temp 
+0x360c 009256 rtn 
+:      009257 car_hex_num:
+0x360d 009258 add temp ,48 ,temp 
+0x360e 009259 rtn 
+:      009261 car_ui_led_init:
+0x360f 009262 fetch 1 ,mem_car_config_blood_led1_gpio 
+0x3610 009263 bne invalid_pin_num ,car_blood_led_gpio_set 
+:      009264 car_ui_led_init_1:
+0x3611 009265 fetch 1 ,mem_car_config_pairing_led_gpio 
+0x3612 009266 bne invalid_pin_num ,car_pairing_led_gpio_set 
+:      009267 car_ui_led_init_2:
+0x3613 009268 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+0x3614 009269 bne invalid_pin_num ,car_low_voltage_led_gpio_set 
+:      009270 car_ui_led_init_3:
+0x3615 009271 fetch 1 ,mem_car_led_num 
+0x3616 009272 copy pdata ,loopcnt 
+0x3617 009273 setarg mem_car_led_map 
+0x3618 009274 copy pdata ,rega 
+:      009275 car_in_lp1:
+0x3619 009276 copy rega ,contr 
+0x361a 009277 ifetch 1 ,contr 
+0x361b 009278 copy contr ,rega 
+0x361c 009279 beq invalid_pin_num ,car_in_lp1_end 
+0x361d 009280 copy pdata ,temp 
+0x361e 009281 call gpio_config_output 
+:      009282 car_in_lp1_end:
+0x361f 009283 loop car_in_lp1 
+:      009284 car_ui_led_init_end:
+0x3620 009285 rtn 
+:      009286 car_blood_led_gpio_set:
+0x3621 009287 fetch 8 ,mem_car_config_blood_led1_gpio 
+0x3622 009288 store 8 ,mem_car_led_map + 2 
+0x3623 009289 branch car_ui_led_init_1 
+:      009290 car_pairing_led_gpio_set:
+0x3624 009291 store 1 ,mem_car_led_map 
+0x3625 009292 branch car_ui_led_init_2 
+:      009293 car_low_voltage_led_gpio_set:
+0x3626 009294 store 1 ,mem_car_led_map + 1 
+0x3627 009295 branch car_ui_led_init_3 
+:      009298 car_init_environment:
+0x3628 009299 arg 0 ,rega 
+0x3629 009300 call pwm_init 
+0x362a 009301 call car_ir_rx_init 
+0x362b 009302 call g24_receive_process_init 
+0x362c 009303 branch car_init_adc_hvin 
+:      009305 car_init_adc_hvin:
+0x362d 009306 jam 100 ,mem_car_notify_vdd_value_last 
+0x362e 009307 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+0x362f 009308 store 1 ,mem_car_style2_struct_led_gpio 
+0x3630 009309 branch adc_init_data 
+:      009311 car_le_before_hibernate:
+0x3631 009312 call gpio_set_before_lpm_common 
+0x3632 009313 branch keyscan_process_lpm_before 
+:      009315 car_le_process_lpm_before:
+0x3633 009316 branch keyscan_process_lpm_before 
+:      009318 car_key_scan_process:
+0x3634 009321 branch keyscan_key_process 
+:      009323 car_scale_process_idle:
+0x3635 009324 call car_le_send_packet 
+0x3636 009325 call car_ir_receive_process 
+0x3637 009326 call car_g24_status_process 
+0x3638 009327 branch car_key_scan_process 
+:      009329 car_g24_status_process:
+0x3639 009330 fetch 2 ,mem_ui_state_map 
+0x363a 009331 rtnbit1 ui_state_ble_connected 
+0x363b 009332 fetch 1 ,mem_car_24g_received_pac 
+0x363c 009333 beq work_paired ,car_g24_connected_event 
+0x363d 009334 rtn 
+:      009335 car_g24_connected_event:
+0x363e 009336 fetch 1 ,mem_car_24g_status 
+0x363f 009337 rtneq work_paired 
+0x3640 009338 jam work_paired ,mem_car_24g_status 
+0x3641 009339 branch car_g24_connected 
+:      009341 car_le_send_packet:
+0x3642 009342 fetch 2 ,mem_ui_state_map 
+0x3643 009343 rtnbit0 ui_state_ble_connected 
+0x3644 009344 call le_fifo_check_nearly_full 
+0x3645 009345 nrtn blank 
+0x3646 009346 arg mem_car_pop_queue_buff ,rega 
+0x3647 009347 call queue_pop 
+0x3648 009348 nrtn user 
+0x3649 009349 arg mem_car_pop_queue_buff ,contr 
+0x364a 009350 branch le_send_notify_from_list 
+:      009352 car_scale_process_bb_event:
+0x364b 009353 copy regc ,pdata 
+0x364c 009354 beq bt_evt_button_up ,app_event_button_up 
+0x364d 009355 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x364e 009356 beq bt_evt_le_connected ,car_scale_event_le_conn 
+0x364f 009357 beq bt_evt_le_disconnected ,car_scale_event_le_discon 
+0x3650 009358 rtn 
+:      009360 car_scale_event_le_conn:
+0x3651 009361 setarg disable_24g 
+0x3652 009362 call g24_store_mem_24g_mode 
+0x3653 009363 branch car_scale_process_conn 
+:      009364 car_g24_connected:
+0x3654 009365 fetch 2 ,mem_car_24g_no_data_timeout_count 
+0x3655 009366 store 2 ,mem_car_24g_no_data_timeout_timer 
+:      009367 car_scale_process_conn:
+0x3656 009368 jam 0x14 ,mem_car_notify_vdd_timer 
+0x3657 009369 jam 0 ,mem_lpm_mode 
+0x3658 009370 call app_ble_stop_adv 
+0x3659 009371 call app_lpm_mult_enable 
+0x365a 009372 fetch 1 ,mem_car_config_pairing_led_conn_status 
+0x365b 009373 beq 0x01 ,car_pairing_led_conn_status_setting 
+:      009374 car_scale_process_conn_next:
+0x365c 009375 arg 0 ,rega 
+0x365d 009376 branch ui_led_on_global 
+:      009377 car_pairing_led_conn_status_setting:
+0x365e 009378 arg 0 ,rega 
+0x365f 009379 branch ui_led_blink_stop_global 
+:      009381 car_scale_event_le_discon:
+0x3660 009382 setarg rx_24g 
+0x3661 009383 call g24_store_mem_24g_mode 
+:      009384 car_g24_disconnect:
+0x3662 009385 setarg 0 
+0x3663 009386 store 5 ,mem_car_led_control 
+0x3664 009387 setarg 4 
+0x3665 009388 call pwm_disable 
+0x3666 009389 setarg 5 
+0x3667 009390 call pwm_disable 
+0x3668 009391 setarg 20 
+0x3669 009392 call pwm_disable 
+0x366a 009393 setarg 21 
+0x366b 009394 call pwm_disable 
+0x366c 009395 setarg 22 
+0x366d 009396 call pwm_disable 
+0x366e 009397 setarg 7 
+0x366f 009398 call pwm_disable 
+0x3670 009399 call queue_init 
+0x3671 009400 jam 10 ,mem_motor1_speed 
+0x3672 009401 jam 10 ,mem_motor2_speed 
+0x3673 009402 jam 10 ,mem_motor3_speed 
+0x3674 009404 jam 2 ,mem_lpm_mult 
+0x3675 009405 arg 0 ,rega 
+0x3676 009406 call ui_led_blink_start_global 
+0x3677 009408 setarg fast_adv_interval_value_car 
+0x3678 009409 call shutter_ble_adv_interval_set 
+0x3679 009410 branch app_ble_start_adv 
+:      009412 car_le_bb_event_timer:
+0x367a 009414 call car_moto1_blank_data_timer 
+0x367b 009415 call car_moto2_blank_data_timer 
+0x367c 009416 call car_moto3_blank_data_timer 
+0x367d 009417 call app_power_timer 
+0x367e 009418 call car_led_control_timer 
+0x367f 009419 call car_notify_vdd_timer 
+0x3680 009420 call car_24g_no_data_timeout_timer 
+0x3681 009421 call car_ir_breakdown_timer 
+0x3682 009422 branch car_attack_shake_timer 
+:      009424 car_ir_breakdown_timer:
+0x3683 009425 arg mem_car_ir_breakdown_check_timer ,regc 
+0x3684 009426 arg car_ir_breakdown_timeout ,regb 
+0x3685 009427 branch timer_single_step 
+:      009428 car_ir_breakdown_timeout:
+0x3686 009429 call car_ir_gpio_get_status 
+0x3687 009430 nrtn true 
+0x3688 009431 jam 1 ,mem_car_ir_breakdown_flag 
+0x3689 009432 rtn 
+:      009434 car_24g_no_data_timeout_timer:
+0x368a 009435 arg mem_car_24g_no_data_timeout_timer ,regc 
+0x368b 009436 arg car_24g_no_data_timer_timeout ,regb 
+0x368c 009437 branch timer_single_step_2b 
+:      009438 car_24g_no_data_timer_timeout:
+0x368d 009439 jam work_search ,mem_car_24g_status 
+0x368e 009440 branch car_g24_disconnect 
+:      009442 car_attack_shake_timer:
+0x368f 009443 arg mem_car_attack_shake_timer ,regc 
+0x3690 009444 arg car_attack_shake ,regb 
+0x3691 009445 branch timer_single_step 
+:      009446 car_attack_shake:
+0x3692 009447 fetch 1 ,mem_car_attack_shake_flag 
+0x3693 009448 branch car_attack_shake_stop ,blank 
+0x3694 009449 jam 2 ,mem_car_attack_shake_timer 
+0x3695 009450 jam 0 ,mem_car_attack_shake_flag 
+0x3696 009451 setarg 0x0a02 
+0x3697 009452 store 2 ,mem_le_receive_payload 
+0x3698 009453 fetch 1 ,mem_car_config_device_select 
+0x3699 009454 beq device_battle_tank ,car_attack_shake_front_battle_tank 
+:      009455 car_attack_shake_front_battle_car:
+0x369a 009456 branch car_motor_control 
+:      009457 car_attack_shake_front_battle_tank:
+0x369b 009458 setarg 0x0a02 
+0x369c 009459 store 2 ,mem_le_receive_payload + 2 
+0x369d 009460 branch car_motor_control 
+:      009461 car_attack_shake_stop:
+0x369e 009462 setarg 0 
+0x369f 009463 store 4 ,mem_le_receive_payload 
+0x36a0 009464 branch car_motor_control 
+:      009466 car_notify_vdd_timer:
+0x36a1 009467 fetch 1 ,mem_car_config_bat_notify_enable 
+0x36a2 009468 rtn blank 
+0x36a3 009469 fetch 2 ,mem_ui_state_map 
+0x36a4 009470 bbit0 ui_state_ble_connected ,car_low_bat_led_off 
+0x36a5 009471 arg mem_car_notify_vdd_timer ,regc 
+0x36a6 009472 arg car_notify_vdd ,regb 
+0x36a7 009473 branch timer_single_step 
+:      009474 car_notify_vdd:
+0x36a8 009475 fetch 1 ,mem_car_notify_vdd_count 
+0x36a9 009476 store 1 ,mem_car_notify_vdd_timer 
+0x36aa 009477 fetch 1 ,mem_car_working_flag 
+0x36ab 009478 nrtn blank 
+:      009479 car_read_hvin:
+0x36ac 009480 call adc_set_mode 
+0x36ad 009481 call vdd_calculate_by_mode 
+0x36ae 009482 store 2 ,mem_vdd_now_vol 
+0x36af 009483 arg mem_vdd_calculate_set ,rega 
+0x36b0 009484 call adc_bat_percent_lowpower_out 
+0x36b1 009485 fetcht 1 ,mem_car_notify_vdd_value_last 
+0x36b2 009486 isub temp ,null 
+0x36b3 009487 branch car_notify_vdd_next2 ,positive 
+0x36b4 009488 store 1 ,mem_car_notify_vdd_value_last 
+0x36b5 009489 copy pdata ,temp 
+:      009490 car_notify_vdd_next2:
+0x36b6 009491 storet 1 ,mem_car_notify_vdd_percent 
+0x36b7 009492 fetch 1 ,mem_car_config_low_voltage_percent 
+0x36b8 009493 isub temp ,null 
+0x36b9 009494 call car_enter_low_bat ,positive 
+0x36ba 009495 storet 1 ,mem_notify_bat_payload 
+0x36bb 009496 arg 6 ,loopcnt 
+0x36bc 009497 arg mem_notify_bat_head ,contr 
+0x36bd 009498 call calc_check_sum_start 
+0x36be 009499 store 1 ,mem_notify_bat_check_sum 
+0x36bf 009500 arg mem_notify_bat_packet ,rega 
+0x36c0 009501 branch queue_push 
+:      009502 car_enter_low_bat:
+0x36c1 009503 fetch 1 ,mem_low_bat_flag 
+0x36c2 009504 nrtn blank 
+0x36c3 009505 jam 1 ,mem_low_bat_flag 
+0x36c4 009506 arg 1 ,rega 
+0x36c5 009507 branch ui_led_blink_start_global 
+:      009508 car_low_bat_led_off:
+0x36c6 009509 arg 1 ,rega 
+0x36c7 009510 branch ui_led_blink_stop_global 
+:      009512 car_led_control_timer:
+0x36c8 009513 arg mem_car_led_control_timer ,regc 
+0x36c9 009514 arg car_led_control ,regb 
+0x36ca 009515 branch timer_single_step 
+:      009516 car_led_control:
+0x36cb 009517 jam 5 ,mem_car_led_control_timer 
+0x36cc 009518 jam 0 ,mem_car_led_no 
+0x36cd 009519 fetch 1 ,mem_car_led_blink_status 
+0x36ce 009520 beq led_on ,car_led_control_blink_off 
+0x36cf 009521 beq led_off ,car_led_control_blink_on 
+:      009522 car_led_control_set:
+0x36d0 009523 arg mem_car_led_control ,contr 
+0x36d1 009524 copy contr ,rega 
+0x36d2 009525 arg 8 ,loopcnt 
+:      009526 car_led_control_timer_next:
+0x36d3 009527 copy rega ,contr 
+0x36d4 009528 ifetch 1 ,contr 
+0x36d5 009529 copy contr ,rega 
+0x36d6 009530 beq led_off ,car_led_control_off 
+0x36d7 009531 beq led_on ,car_led_control_on 
+0x36d8 009532 beq led_blink ,car_led_control_blink 
+:      009533 car_led_control_timer_next_2:
+0x36d9 009534 fetch 1 ,mem_car_led_no 
+0x36da 009535 increase 1 ,pdata 
+0x36db 009536 store 1 ,mem_car_led_no 
+0x36dc 009537 loop car_led_control_timer_next 
+0x36dd 009538 rtn 
+:      009539 car_led_switch:
+0x36de 009540 fetch 1 ,mem_car_led_no 
+0x36df 009541 arg mem_car_config_blood_led_gpio ,regb 
+0x36e0 009542 iadd regb ,regb 
+0x36e1 009543 ifetcht 1 ,regb 
+0x36e2 009544 rtn 
+:      009545 car_led_control_off:
+0x36e3 009546 call car_led_switch 
+0x36e4 009547 call gpio_out_inactive 
+0x36e5 009548 branch car_led_control_timer_next_2 
+:      009549 car_led_control_on:
+0x36e6 009550 call car_led_switch 
+0x36e7 009551 call gpio_out_active 
+0x36e8 009552 branch car_led_control_timer_next_2 
+:      009553 car_led_control_blink:
+0x36e9 009554 fetch 1 ,mem_car_led_blink_status 
+0x36ea 009555 beq led_on ,car_led_control_off 
+0x36eb 009556 branch car_led_control_on 
+:      009557 car_led_control_blink_on:
+0x36ec 009558 jam led_on ,mem_car_led_blink_status 
+0x36ed 009559 branch car_led_control_set 
+:      009560 car_led_control_blink_off:
+0x36ee 009561 jam led_off ,mem_car_led_blink_status 
+0x36ef 009562 branch car_led_control_set 
+:      009566 calc_check_sum_start:
+0x36f0 009567 arg 0 ,rega 
+:      009568 calc_check_sum_loop:
+0x36f1 009569 ifetch 1 ,contr 
+0x36f2 009570 iadd rega ,rega 
+0x36f3 009571 loop calc_check_sum_loop 
+:      009572 calc_check_sum_and:
+0x36f4 009573 and rega ,0xff ,pdata 
+0x36f5 009574 rtn 
+:      009576 car_le_receive_data:
+0x36f6 009577 fetch 1 ,mem_le_att_opcode 
+0x36f7 009578 beq attop_write_request ,car_le_parse_att_write_request 
+0x36f8 009579 rtn 
+:      009580 car_le_parse_att_write_request:
+0x36f9 009581 fetch 2 ,mem_le_att_handle 
+0x36fa 009582 beq att_car_control_handle ,car_control_le_receive 
+0x36fb 009583 rtn 
+:      009595 le_app_receive_data:
+0x36fc 009596 bpatch patch1a_0 ,mem_patch1a 
+0x36fd 009597 ifetch 5 ,rega 
+0x36fe 009598 store 5 ,mem_app_receive_temp 
+0x36ff 009599 fetch 2 ,mem_app_receive_temp 
+0x3700 009600 arg le_receive_packet_head ,temp 
+0x3701 009601 isub temp ,null 
+0x3702 009602 nrtn zero 
+0x3703 009603 fetch 2 ,mem_app_receive_temp + 3 
+0x3704 009604 byteswap pdata ,pdata 
+0x3705 009605 store 2 ,mem_app_receive_temp + 3 
+0x3706 009606 copy pdata ,loopcnt 
+0x3707 009607 increase 5 ,rega 
+0x3708 009608 copy rega ,contr 
+0x3709 009609 arg mem_app_receive_temp + 5 ,contw 
+0x370a 009610 call memcpy 
+0x370b 009611 ifetch 1 ,contr 
+0x370c 009612 store 1 ,mem_app_receive_temp + 15 
+0x370d 009613 arg mem_app_receive_temp + 2 ,rega 
+0x370e 009614 arg mem_app_receive_temp + 5 ,regb 
+0x370f 009615 rtn 
+:      009617 car_control_le_receive:
+0x3710 009618 setarg 0 
+0x3711 009619 store 5 ,mem_le_receive_payload 
+0x3712 009620 store 5 ,mem_le_receive_payload + 5 
+0x3713 009621 call le_app_receive_data 
+0x3714 009622 copy regb ,contr 
+0x3715 009623 arg mem_le_receive_payload ,contw 
+0x3716 009624 arg 10 ,loopcnt 
+0x3717 009625 call memcpy 
+:      009626 car_receive_cmd_select:
+0x3718 009627 bpatch patch1a_1 ,mem_patch1a 
+0x3719 009628 ifetch 1 ,rega 
+0x371a 009629 beq car_cmd_old_car_control ,car_drive_old 
+0x371b 009630 beq car_cmd_old_speed_control ,car_speed_set_old 
+0x371c 009631 beq car_cmd_l_r_motor_control ,car_motor_control 
+0x371d 009632 beq car_cmd_f_b_motor_control ,car_motor_control 
+0x371e 009633 beq car_cmd_ir_control ,car_ir_data_rx_from_app 
+0x371f 009634 beq car_cmd_led_control ,car_led_control_receive 
+0x3720 009635 beq car_cmd_device_info ,car_info_request 
+0x3721 009636 rtn 
+:      009638 car_24g_receive_data:
+0x3722 009639 fetch 2 ,mem_ui_state_map 
+0x3723 009640 rtnbit1 ui_state_ble_connected 
+0x3724 009642 fetch 2 ,mem_car_24g_no_data_timeout_count 
+0x3725 009643 store 2 ,mem_car_24g_no_data_timeout_timer 
+0x3726 009645 jam work_paired ,mem_car_24g_received_pac 
+0x3727 009647 setarg offset_24g_rxdata_temp_add3 
+0x3728 009648 call g24_set_rega 
+0x3729 009649 call car_control_le_receive 
+0x372a 009651 fetch 1 ,mem_app_receive_temp + 2 
+0x372b 009652 beq car_cmd_l_r_motor_control ,car_24g_receive_data_next 
+0x372c 009653 beq car_cmd_f_b_motor_control ,car_24g_receive_data_next 
+0x372d 009654 rtn 
+:      009655 car_24g_receive_data_next:
+0x372e 009656 fetch 1 ,mem_le_receive_payload 
+0x372f 009657 ncall car_moto1_enable_blank_data_timer ,blank 
+0x3730 009658 fetch 1 ,mem_le_receive_payload + 2 
+0x3731 009659 ncall car_moto2_enable_blank_data_timer ,blank 
+0x3732 009660 fetch 1 ,mem_le_receive_payload + 4 
+0x3733 009661 ncall car_moto3_enable_blank_data_timer ,blank 
+0x3734 009662 rtn 
+:      009664 car_moto1_enable_blank_data_timer:
+0x3735 009665 jam 5 ,mem_car_moto1_blank_timer 
+0x3736 009666 rtn 
+:      009667 car_moto2_enable_blank_data_timer:
+0x3737 009668 jam 5 ,mem_car_moto2_blank_timer 
+0x3738 009669 rtn 
+:      009670 car_moto3_enable_blank_data_timer:
+0x3739 009671 jam 5 ,mem_car_moto3_blank_timer 
+0x373a 009672 rtn 
+:      009674 car_moto1_blank_data_timer:
+0x373b 009675 arg mem_car_moto1_blank_timer ,regc 
+0x373c 009676 arg car_moto1_blank_data ,regb 
+0x373d 009677 branch timer_single_step 
+:      009678 car_moto2_blank_data_timer:
+0x373e 009679 arg mem_car_moto2_blank_timer ,regc 
+0x373f 009680 arg car_moto2_blank_data ,regb 
+0x3740 009681 branch timer_single_step 
+:      009682 car_moto3_blank_data_timer:
+0x3741 009683 arg mem_car_moto3_blank_timer ,regc 
+0x3742 009684 arg car_moto3_blank_data ,regb 
+0x3743 009685 branch timer_single_step 
+:      009687 car_moto1_blank_data:
+0x3744 009688 jam 0 ,mem_le_receive_payload 
+0x3745 009689 branch car_motor_control 
+:      009690 car_moto2_blank_data:
+0x3746 009691 jam 0 ,mem_le_receive_payload + 2 
+0x3747 009692 branch car_motor_control 
+:      009693 car_moto3_blank_data:
+0x3748 009694 jam 0 ,mem_le_receive_payload + 4 
+0x3749 009695 branch car_motor_control 
+:      009700 car_drive_old:
+0x374a 009701 call car_left_right_control_old 
+0x374b 009702 branch car_front_back_control_old 
+:      009703 car_left_right_control_old:
+0x374c 009704 fetch 1 ,mem_le_receive_payload 
+0x374d 009705 store 1 ,mem_motor2_status 
+0x374e 009706 branch car_motor2_control 
+:      009707 car_front_back_control_old:
+0x374f 009708 fetch 1 ,mem_motor1_speed 
+0x3750 009709 call car_reset_old_speed 
+0x3751 009710 fetch 1 ,mem_le_receive_payload + 1 
+0x3752 009711 store 1 ,mem_motor1_status 
+0x3753 009712 branch car_motor1_control 
+:      009713 car_reset_old_speed:
+0x3754 009714 beq speed_level_2 ,car_reset_old_speed2 
+0x3755 009715 beq speed_level_3 ,car_reset_old_speed3 
+0x3756 009716 store 1 ,mem_motor1_speed 
+0x3757 009717 rtn 
+:      009718 car_reset_old_speed2:
+0x3758 009719 jam speed_level_5 ,mem_motor1_speed 
+0x3759 009720 rtn 
+:      009721 car_reset_old_speed3:
+0x375a 009722 jam speed_level_10 ,mem_motor1_speed 
+0x375b 009723 rtn 
+:      009724 car_speed_set_old:
+0x375c 009725 fetch 1 ,mem_le_receive_payload 
+0x375d 009726 call car_reset_old_speed 
+0x375e 009727 fetch 1 ,mem_motor1_speed 
+0x375f 009728 call car_motor_speed_duty_setting 
+0x3760 009729 call car_motor_speed_duty_transform 
+0x3761 009730 branch pwm_pwm0_duty_set 
+:      009732 car_motor_control:
+0x3762 009733 fetch 1 ,mem_car_24g_go_die_flag 
+0x3763 009734 nrtn blank 
+0x3764 009735 fetch 6 ,mem_le_receive_payload 
+0x3765 009736 store 6 ,mem_motor1_status 
+0x3766 009737 fetch 1 ,mem_motor1_speed 
+0x3767 009738 fetcht 1 ,mem_motor2_speed 
+0x3768 009739 iand temp ,pdata 
+0x3769 009740 fetcht 1 ,mem_motor3_speed 
+0x376a 009741 iand temp ,pdata 
+0x376b 009742 call car_motor_working_flag ,blank 
+0x376c 009743 bpatch patch1a_2 ,mem_patch1a 
+0x376d 009744 call car_motor1_control 
+0x376e 009745 call car_motor2_control 
+0x376f 009746 branch car_motor3_control 
+:      009747 car_motor1_control:
+0x3770 009748 arg mem_motor1_pwm_set ,regb 
+0x3771 009749 arg mem_motor1_status ,contr 
+0x3772 009750 branch car_motor_status_select 
+:      009751 car_motor2_control:
+0x3773 009752 arg mem_motor2_pwm_set ,regb 
+0x3774 009753 arg mem_motor2_status ,contr 
+0x3775 009754 branch car_motor_status_select 
+:      009755 car_motor3_control:
+0x3776 009756 arg mem_motor3_pwm_set ,regb 
+0x3777 009757 arg mem_motor3_status ,contr 
+0x3778 009758 branch car_motor_status_select 
+:      009759 car_motor_working_flag:
+0x3779 009760 jam 0 ,mem_car_working_flag 
+0x377a 009761 rtn 
+:      009763 car_motor_status_select:
+0x377b 009764 ifetch 1 ,contr 
+0x377c 009765 beq motor_stop ,car_motor_stop 
+0x377d 009766 beq go_front ,car_motor_positive 
+0x377e 009767 beq go_back ,car_motor_negative 
+0x377f 009768 rtn 
+:      009769 car_motor_positive:
+0x3780 009770 jam 0 ,mem_motor_select_p_n 
+0x3781 009771 branch car_motor_negative + 1 
+:      009772 car_motor_negative:
+0x3782 009773 jam 1 ,mem_motor_select_p_n 
+0x3783 009774 ifetch 1 ,contr 
+0x3784 009775 store 1 ,mem_car_motor_speed 
+0x3785 009776 ifetch 8 ,regb 
+0x3786 009777 branch car_motor_work 
+:      009779 car_motor_stop:
+0x3787 009780 ifetch 1 ,regb 
+0x3788 009781 call pwm_disable 
+0x3789 009782 increase 1 ,regb 
+0x378a 009783 ifetch 1 ,regb 
+0x378b 009784 branch pwm_disable 
+:      009785 car_motor_work:
+0x378c 009786 store 8 ,mem_motor_pwm_pin1_set 
+0x378d 009787 jam 1 ,mem_car_working_flag 
+0x378e 009788 fetch 1 ,mem_motor_select_p_n 
+0x378f 009789 beq 0 ,car_motor_select_positive 
+:      009790 car_motor_select_negative:
+0x3790 009791 fetch 1 ,mem_motor_pwm_pin2_set 
+0x3791 009792 store 1 ,mem_motor_pwm_pin_set 
+0x3792 009793 fetch 1 ,mem_motor_pwm_pin1_set 
+:      009794 car_motor_work_next:
+0x3793 009795 call pwm_disable 
+0x3794 009796 fetch 1 ,mem_car_motor_speed 
+0x3795 009797 call car_motor_speed_duty_setting 
+0x3796 009798 store 1 ,mem_motor_pwm_dute_set 
+0x3797 009799 fetch 6 ,mem_motor_pwm_pin_set 
+0x3798 009800 store 6 ,mem_pdatatemp 
+0x3799 009801 branch pwm_out_set 
+:      009802 car_motor_select_positive:
+0x379a 009803 fetch 1 ,mem_motor_pwm_pin1_set 
+0x379b 009804 store 1 ,mem_motor_pwm_pin_set 
+0x379c 009805 fetch 1 ,mem_motor_pwm_pin2_set 
+0x379d 009806 branch car_motor_work_next 
+:      009808 car_motor_speed_duty_setting:
+0x379e 009809 mul32 pdata ,5 ,pdata 
+0x379f 009810 add pdata ,50 ,pdata 
+0x37a0 009811 rtn 
+:      009812 car_motor_speed_duty_transform:
+0x37a1 009813 arg 12000 ,temp 
+0x37a2 009814 imul32 temp ,pdata 
+0x37a3 009815 div pdata ,100 
+0x37a4 009816 call wait_div_end 
+0x37a5 009817 quotient temp 
+0x37a6 009818 copy temp ,rega 
+0x37a7 009819 setarg 12000 
+0x37a8 009820 isub temp ,regb 
+0x37a9 009821 rtn 
+:      009824 car_ir_init:
+0x37aa 009825 hfetch 1 ,core_gpio_sel2 
+0x37ab 009826 set1 2 ,pdata 
+0x37ac 009827 hstore 1 ,core_gpio_sel2 
+0x37ad 009828 setarg 158 
+0x37ae 009829 hstore 2 ,core_pwm_pcnt4 
+0x37af 009830 hstore 2 ,core_pwm_ncnt4 
+0x37b0 009831 rtn 
+:      009833 car_ir_data_rx_from_app:
+0x37b1 009834 fetch 1 ,mem_car_24g_go_die_flag 
+0x37b2 009835 nrtn blank 
+0x37b3 009836 fetch 2 ,mem_le_receive_payload 
+0x37b4 009837 store 2 ,mem_ir_data 
+0x37b5 009838 fetch 1 ,mem_car_24g_status 
+0x37b6 009839 bne work_paired ,car_ir_data_tx 
+0x37b7 009840 fetch 2 ,mem_le_lap 
+0x37b8 009841 store 2 ,mem_ir_data 
+:      009842 car_ir_data_tx:
+0x37b9 009843 bpatch patch1a_3 ,mem_patch1a 
+0x37ba 009844 call car_ir_init 
+0x37bb 009845 call car_ir_enable 
+0x37bc 009846 setarg 48000 
+0x37bd 009847 call sleep 
+0x37be 009848 call car_ir_disable 
+0x37bf 009849 setarg 7200 
+0x37c0 009850 call sleep 
+0x37c1 009851 arg 16 ,loopcnt 
+:      009852 car_ir_send_loop:
+0x37c2 009853 call car_ir_enable 
+0x37c3 009854 fetch 2 ,mem_ir_data 
+0x37c4 009855 bbit1 0 ,car_ir_is_bit1 
+0x37c5 009856 setarg 7200 
+0x37c6 009857 call sleep 
+0x37c7 009858 call car_ir_disable 
+0x37c8 009859 branch car_ir_wait_finish 
+:      009861 car_ir_is_bit1:
+0x37c9 009862 setarg 14400 
+0x37ca 009863 call sleep 
+0x37cb 009864 call car_ir_disable 
+:      009865 car_ir_wait_finish:
+0x37cc 009866 setarg 7200 
+0x37cd 009867 call sleep 
+0x37ce 009868 fetch 2 ,mem_ir_data 
+0x37cf 009869 rshift pdata ,pdata 
+0x37d0 009870 store 2 ,mem_ir_data 
+0x37d1 009871 loop car_ir_send_loop 
+0x37d2 009873 jam 2 ,mem_car_attack_shake_timer 
+0x37d3 009874 jam 1 ,mem_car_attack_shake_flag 
+0x37d4 009875 setarg 0x0a01 
+0x37d5 009876 store 2 ,mem_le_receive_payload 
+0x37d6 009877 fetch 1 ,mem_car_config_device_select 
+0x37d7 009878 beq device_battle_tank ,car_attack_shake_back_battle_tank 
+:      009879 car_attack_shake_back_battle_car:
+0x37d8 009880 branch car_motor_control 
+:      009881 car_attack_shake_back_battle_tank:
+0x37d9 009882 setarg 0x0a01 
+0x37da 009883 store 2 ,mem_le_receive_payload + 2 
+0x37db 009884 branch car_motor_control 
+:      009886 car_ir_enable:
+0x37dc 009887 hfetch 1 ,core_gpio_key2 
+0x37dd 009888 or_into 0x40 ,pdata 
+0x37de 009889 hstore 1 ,core_gpio_key2 
+0x37df 009890 rtn 
+:      009891 car_ir_disable:
+0x37e0 009892 hfetch 1 ,core_gpio_key2 
+0x37e1 009893 and_into 0xbf ,pdata 
+0x37e2 009894 hstore 1 ,core_gpio_key2 
+0x37e3 009895 rtn 
+:      009897 car_ir_rx_init:
+0x37e4 009898 fetch 1 ,mem_car_config_ir_enable 
+0x37e5 009899 rtneq 0x00 
+0x37e6 009900 call lpm_disable_exen_output 
+0x37e7 009901 fetcht 1 ,mem_car_config_ir_rx_gpio 
+0x37e8 009902 storet 1 ,mem_ir_rx_gpio 
+0x37e9 009903 call gpio_config_input 
+0x37ea 009904 call car_ir_gpio_get_status 
+0x37eb 009905 nrtn true 
+0x37ec 009906 jam 1 ,mem_car_ir_breakdown_check_timer 
+0x37ed 009907 rtn 
+:      009909 car_ir_receive_process:
+0x37ee 009910 fetch 1 ,mem_car_config_ir_enable 
+0x37ef 009911 rtneq flag_ir_disable 
+0x37f0 009912 fetch 1 ,mem_car_ir_breakdown_flag 
+0x37f1 009913 nrtn blank 
+0x37f2 009914 fetch 2 ,mem_ui_state_map 
+0x37f3 009915 bbit1 ui_state_ble_connected ,car_ir_receive_process_next 
+0x37f4 009916 fetch 1 ,mem_car_24g_status 
+0x37f5 009917 rtnne work_paired 
+:      009918 car_ir_receive_process_next:
+0x37f6 009919 bpatch patch1a_4 ,mem_patch1a 
+0x37f7 009920 call car_ir_gpio_get_status 
+0x37f8 009921 nrtn true 
+0x37f9 009922 setarg 36000 
+0x37fa 009923 call sleep 
+0x37fb 009924 call car_ir_gpio_get_status 
+0x37fc 009925 nrtn true 
+0x37fd 009926 call car_ir_clk_get 
+:      009927 car_ir_packet_head_wait_end:
+0x37fe 009928 call car_ir_clk_check 
+0x37ff 009929 nrtn positive 
+0x3800 009930 call car_ir_gpio_get_status 
+0x3801 009931 branch car_ir_packet_head_wait_end ,true 
+0x3802 009932 arg 0 ,rega 
+0x3803 009933 arg 16 ,loopcnt 
+0x3804 009934 call car_ir_clk_get 
+:      009935 car_ir_receive_process_loop:
+0x3805 009936 call car_ir_clk_check 
+0x3806 009937 nrtn positive 
+0x3807 009938 call car_ir_gpio_get_status 
+0x3808 009939 nbranch car_ir_receive_process_loop ,true 
+0x3809 009940 setarg 10800 
+0x380a 009941 call sleep 
+0x380b 009942 call car_ir_gpio_get_status 
+0x380c 009943 branch car_ir_get_bit1 ,true 
+:      009944 car_ir_get_bit0:
+0x380d 009945 setarg 0 
+0x380e 009946 rshift rega ,rega 
+0x380f 009947 ior rega ,rega 
+0x3810 009948 loop car_ir_receive_process_loop 
+0x3811 009949 branch car_ir_receive_process_end 
+:      009950 car_ir_get_bit1:
+0x3812 009951 setarg 0x8000 
+0x3813 009952 rshift rega ,rega 
+0x3814 009953 ior rega ,rega 
+0x3815 009954 call car_ir_clk_get 
+:      009955 car_ir_get_bit1_wait_low_end:
+0x3816 009956 call car_ir_clk_check 
+0x3817 009957 nrtn positive 
+0x3818 009958 call car_ir_gpio_get_status 
+0x3819 009959 branch car_ir_get_bit1_wait_low_end ,true 
+0x381a 009960 loop car_ir_receive_process_loop 
+:      009961 car_ir_receive_process_end:
+0x381b 009962 bpatch patch1a_5 ,mem_patch1a 
+0x381c 009963 copy rega ,pdata 
+0x381d 009964 store 2 ,mem_ir_rx_buf 
+0x381e 009965 store 2 ,mem_ir_notify_data + 8 
+0x381f 009966 fetch 1 ,mem_car_24g_status 
+0x3820 009967 beq work_paired ,car_ir_24g_receive_attack 
+:      009968 car_ir_data_notify:
+0x3821 009969 arg 0x07 ,loopcnt 
+0x3822 009970 arg mem_ir_notify_data_head ,contr 
+0x3823 009971 call calc_check_sum_start 
+0x3824 009972 store 1 ,mem_ir_notify_data_check_sum 
+0x3825 009973 arg mem_ir_notify_data ,rega 
+0x3826 009974 branch queue_push 
+:      009976 car_ir_24g_receive_attack:
+0x3827 009977 fetch 1 ,mem_car_24g_ir_receive_attack_count 
+0x3828 009978 increase 1 ,pdata 
+0x3829 009979 store 1 ,mem_car_24g_ir_receive_attack_count 
+0x382a 009980 div pdata ,2 
+0x382b 009981 call wait_div_end 
+0x382c 009982 quotient temp 
+0x382d 009983 remainder pdata 
+0x382e 009984 nbranch car_ir_24g_receive_attack_blink ,blank 
+:      009985 car_ir_24g_receive_attack_off:
+0x382f 009986 fetch 1 ,mem_car_config_led_num 
+0x3830 009987 isub temp ,null 
+0x3831 009988 call car_ir_24g_go_die ,zero 
+0x3832 009989 arg mem_car_led_control ,pdata 
+0x3833 009990 increase -1 ,temp 
+0x3834 009991 iadd temp ,rega 
+0x3835 009992 arg 0 ,pdata 
+0x3836 009993 istore 1 ,rega 
+0x3837 009994 rtn 
+:      009995 car_ir_24g_receive_attack_blink:
+0x3838 009996 arg mem_car_led_control ,pdata 
+0x3839 009997 iadd temp ,rega 
+0x383a 009998 arg 2 ,pdata 
+0x383b 009999 istore 1 ,rega 
+0x383c 010000 rtn 
+:      010001 car_ir_24g_go_die:
+0x383d 010002 jam 1 ,mem_car_24g_go_die_flag 
+0x383e 010003 rtn 
+:      010004 car_ir_clk_get:
+0x383f 010005 copy clkn_bt ,pdata 
+0x3840 010006 store 4 ,mem_ir_receive_clkn 
+0x3841 010007 rtn 
+:      010008 car_ir_clk_check:
+0x3842 010009 copy clkn_bt ,pdata 
+0x3843 010010 fetcht 4 ,mem_ir_receive_clkn 
+0x3844 010011 isub temp ,pdata 
+0x3845 010012 sub pdata ,200 ,null 
+0x3846 010013 rtn 
+:      010015 car_ir_gpio_get_status:
+0x3847 010016 fetcht 1 ,mem_ir_rx_gpio 
+0x3848 010017 branch gpio_get_bit 
+:      010019 car_led_control_receive:
+0x3849 010020 fetch 8 ,mem_le_receive_payload 
+0x384a 010021 store 8 ,mem_car_led_control 
+0x384b 010022 rtn 
+:      010024 car_info_request:
+0x384c 010025 fetch 1 ,mem_car_config_device_select 
+0x384d 010026 store 1 ,mem_car_info_request_payload 
+0x384e 010027 fetch 1 ,mem_car_config_motor_layout 
+0x384f 010028 store 1 ,mem_car_info_request_payload + 1 
+0x3850 010029 fetch 1 ,mem_car_config_ir_enable 
+0x3851 010030 store 1 ,mem_car_info_request_payload + 2 
+0x3852 010031 arg 13 ,loopcnt 
+0x3853 010032 arg mem_car_info_request_head ,contr 
+0x3854 010033 call calc_check_sum_start 
+0x3855 010034 store 1 ,mem_car_info_request_checksum 
+0x3856 010035 arg mem_car_info_request ,rega 
+0x3857 010036 branch queue_push 
+:      010042 light_init:
+0x3858 010043 call clear_eeprom_size_2k 
+0x3859 010044 jam 0x7a ,mem_curr_packet_num 
+0x385a 010045 call light_load_controler_list 
+0x385b 010046 call light_init_crr_cmd_count 
+0x385c 010047 setarg light_pairing_timer 
+0x385d 010048 store 2 ,mem_cb_event_timer 
+0x385e 010049 arg 0 ,rega 
+0x385f 010050 branch pwm_init 
+:      010052 light_pairing_timer:
+0x3860 010053 fetch 2 ,mem_light_pairing_timer 
+0x3861 010054 rtn blank 
+0x3862 010055 increase -1 ,pdata 
+0x3863 010056 store 2 ,mem_light_pairing_timer 
+0x3864 010057 rtnne 0 
+0x3865 010058 jam 0 ,mem_light_pairing_enable 
+0x3866 010059 rtn 
+:      010061 light_init_crr_cmd_count:
+0x3867 010062 bpatch patch1a_6 ,mem_patch1a 
+0x3868 010063 fetch 1 ,mem_light_next_record 
+0x3869 010064 sub pdata ,40 ,null 
+0x386a 010065 rtn positive 
+0x386b 010066 jam 0 ,mem_light_next_record 
+0x386c 010067 rtn 
+:      010069 light_load_controler_list:
+0x386d 010070 arg mem_light_next_record ,rega 
+0x386e 010071 arg 0 ,regb 
+0x386f 010072 arg 81 ,temp 
+0x3870 010073 branch iicd_read_eep_data 
+:      010076 light_find_controler_pairing:
+0x3871 010077 disable user 
+0x3872 010078 fetch 1 ,mem_light_cnum 
+0x3873 010079 copy pdata ,loopcnt 
+0x3874 010081 arg mem_light_clist ,rega 
+0x3875 010082 copy regc ,regb 
+:      010083 light_find_controler_pairing_loop:
+0x3876 010084 bpatch patch1a_7 ,mem_patch1a 
+0x3877 010085 call light_compare_addr_record 
+0x3878 010086 branch enable_user ,zero 
+:      010087 light_find_single_pairing_diff:
+0x3879 010088 increase 4 ,rega 
+0x387a 010089 loop light_find_controler_pairing_loop 
+0x387b 010090 rtn 
+:      010093 light_compare_addr_record:
+0x387c 010094 bpatch patch1b_0 ,mem_patch1b 
+0x387d 010095 ifetch 3 ,rega 
+0x387e 010096 ifetcht 3 ,regb 
+0x387f 010097 isub temp ,null 
+0x3880 010098 rtn 
+:      010100 light_compare_single_record:
+0x3881 010101 bpatch patch1b_1 ,mem_patch1b 
+0x3882 010102 ifetch 3 ,rega 
+0x3883 010103 ifetcht 3 ,regb 
+0x3884 010104 isub temp ,null 
+0x3885 010105 nrtn zero 
+0x3886 010106 ifetch 1 ,contr 
+0x3887 010107 sub pdata ,0 ,null 
+0x3888 010108 rtn zero 
+0x3889 010109 add rega ,3 ,contr 
+0x388a 010110 ifetcht 1 ,contr 
+0x388b 010111 isub temp ,null 
+0x388c 010112 rtn 
+:      010115 light_find_controler_cmd:
+0x388d 010116 bpatch patch1b_2 ,mem_patch1b 
+0x388e 010117 disable user 
+0x388f 010118 fetch 1 ,mem_light_cnum 
+0x3890 010119 copy pdata ,loopcnt 
+0x3891 010121 arg mem_light_clist ,rega 
+0x3892 010122 copy regc ,regb 
+:      010123 light_find_controler_cmd_loop:
+0x3893 010124 call light_compare_single_record 
+0x3894 010125 branch enable_user ,zero 
+0x3895 010126 increase 4 ,rega 
+0x3896 010127 loop light_find_controler_cmd_loop 
+0x3897 010128 rtn 
+:      010131 light_recv_adv:
+0x3898 010132 fetch 1 ,mem_le_scanrsp_rcv 
+0x3899 010133 increase 1 ,pdata 
+0x389a 010134 store 1 ,mem_le_scanrsp_rcv 
+0x389b 010135 arg mem_le_rxbuf + 12 ,regc 
+:      010137 light_anylize_command:
+0x389c 010138 ifetch 2 ,regc 
+0x389d 010139 arg 0x55aa ,temp 
+0x389e 010140 isub temp ,null 
+0x389f 010141 nrtn zero 
+0x38a0 010142 copy contr ,regc 
+0x38a1 010143 ifetcht 3 ,regc 
+0x38a2 010144 setarg 0xffffff 
+0x38a3 010145 isub temp ,null 
+0x38a4 010146 branch light_parse_cmd ,zero 
+0x38a5 010147 call light_find_controler_cmd 
+0x38a6 010148 branch light_parse_cmd ,user 
+0x38a7 010149 rtn 
+:      010151 light_parse_cmd:
+0x38a8 010152 bpatch patch1b_3 ,mem_patch1b 
+0x38a9 010153 increase 4 ,regc 
+0x38aa 010154 ifetch 1 ,regc 
+0x38ab 010155 fetcht 1 ,mem_curr_packet_num 
+0x38ac 010156 isub temp ,null 
+0x38ad 010157 rtn zero 
+0x38ae 010158 store 1 ,mem_curr_packet_num 
+0x38af 010159 fetch 1 ,mem_le_req_rcv 
+0x38b0 010160 increase 1 ,pdata 
+0x38b1 010161 store 1 ,mem_le_req_rcv 
+0x38b2 010163 increase 1 ,regc 
+0x38b3 010164 ifetch 1 ,regc 
+0x38b4 010165 store 1 ,mem_light_crr_cmd_count 
+0x38b5 010166 copy pdata ,loopcnt 
+0x38b6 010167 rtn blank 
+:      010168 light_parse_cmd_loop:
+0x38b7 010169 ifetch 1 ,contr 
+0x38b8 010170 beq light_cmd_pwm0 ,light_parse_cmd_pwm0 
+0x38b9 010171 beq light_cmd_pwm1 ,light_parse_cmd_pwm1 
+0x38ba 010172 beq light_cmd_pwm2 ,light_parse_cmd_pwm2 
+0x38bb 010173 beq light_cmd_pwm3 ,light_parse_cmd_pwm3 
+0x38bc 010174 beq light_cmd_pwm4 ,light_parse_cmd_pwm4 
+0x38bd 010175 beq light_cmd_pwm5 ,light_parse_cmd_pwm5 
+0x38be 010176 beq light_cmd_auto_mode ,light_parse_auto_mode 
+0x38bf 010177 beq light_cmd_pairing ,light_parse_pairing 
+0x38c0 010178 loop light_parse_cmd_loop 
+0x38c1 010179 rtn 
+:      010181 light_parse_cmd_pwm0:
+0x38c2 010182 copy contr ,regc 
+0x38c3 010183 fetch 1 ,mem_light_pwm0 
+0x38c4 010184 store 1 ,mem_pdatatemp 
+0x38c5 010185 arg 0 ,temp 
+:      010186 light_parse_cmd_pwm_common:
+0x38c6 010187 storet 1 ,mem_pdatatemp + 1 
+0x38c7 010188 setarg 10000 
+0x38c8 010189 store 3 ,mem_pdatatemp + 2 
+0x38c9 010190 ifetch 1 ,regc 
+0x38ca 010191 store 1 ,mem_pdatatemp + 5 
+0x38cb 010192 call pwm_out_set 
+0x38cc 010193 and regc ,1 ,contr 
+0x38cd 010194 loop light_parse_cmd_loop 
+0x38ce 010195 rtn 
+:      010196 light_parse_cmd_pwm1:
+0x38cf 010197 copy regc ,contr 
+0x38d0 010198 fetch 1 ,mem_light_pwm1 
+0x38d1 010199 store 1 ,mem_pdatatemp 
+0x38d2 010200 arg 1 ,temp 
+0x38d3 010201 branch light_parse_cmd_pwm_common 
+:      010202 light_parse_cmd_pwm2:
+0x38d4 010203 copy regc ,contr 
+0x38d5 010204 fetch 1 ,mem_light_pwm2 
+0x38d6 010205 store 1 ,mem_pdatatemp 
+0x38d7 010206 arg 2 ,temp 
+0x38d8 010207 branch light_parse_cmd_pwm_common 
+:      010208 light_parse_cmd_pwm3:
+0x38d9 010209 copy regc ,contr 
+0x38da 010210 fetch 1 ,mem_light_pwm3 
+0x38db 010211 store 1 ,mem_pdatatemp 
+0x38dc 010212 arg 3 ,temp 
+0x38dd 010213 branch light_parse_cmd_pwm_common 
+:      010214 light_parse_cmd_pwm4:
+0x38de 010215 copy regc ,contr 
+0x38df 010216 fetch 1 ,mem_light_pwm4 
+0x38e0 010217 store 1 ,mem_pdatatemp 
+0x38e1 010218 arg 4 ,temp 
+0x38e2 010219 branch light_parse_cmd_pwm_common 
+:      010220 light_parse_cmd_pwm5:
+0x38e3 010221 copy regc ,contr 
+0x38e4 010222 fetch 1 ,mem_light_pwm5 
+0x38e5 010223 store 1 ,mem_pdatatemp 
+0x38e6 010224 arg 5 ,temp 
+0x38e7 010225 branch light_parse_cmd_pwm_common 
+:      010227 light_parse_auto_mode:
+0x38e8 010228 ifetch 1 ,contr 
+0x38e9 010229 rtn 
+:      010231 light_parse_pairing:
+0x38ea 010232 copy contr ,regc 
+0x38eb 010233 fetch 1 ,mem_light_pairing_enable 
+0x38ec 010234 bne 1 ,light_parse_pairing_abandon 
+0x38ed 010235 call update_controler_list 
+:      010236 light_parse_pairing_abandon:
+0x38ee 010237 and regc ,4 ,contr 
+0x38ef 010238 rtn 
+:      010239 update_controler_list:
+0x38f0 010240 bpatch patch1b_4 ,mem_patch1b 
+0x38f1 010241 call light_find_controler_pairing 
+0x38f2 010242 branch update_conrtoler_list_found ,user 
+0x38f3 010243 fetch 1 ,mem_light_next_record 
+0x38f4 010244 copy pdata ,temp 
+0x38f5 010245 increase 1 ,pdata 
+0x38f6 010246 store 1 ,mem_light_next_record 
+0x38f7 010247 call light_init_crr_cmd_count 
+0x38f8 010248 lshift2 temp ,temp 
+0x38f9 010249 setarg mem_light_clist 
+0x38fa 010250 iadd temp ,contw 
+0x38fb 010251 ifetch 4 ,regc 
+0x38fc 010252 istore 4 ,contw 
+0x38fd 010253 branch update_conrtoler_store_list 
+:      010254 update_conrtoler_list_found:
+0x38fe 010255 add regc ,3 ,contr 
+0x38ff 010256 ifetch 1 ,contr 
+0x3900 010257 rtn blank 
+0x3901 010258 ifetch 4 ,regc 
+0x3902 010259 istore 4 ,rega 
+:      010260 update_conrtoler_store_list:
+0x3903 010261 arg mem_light_next_record ,rega 
+0x3904 010262 arg 0 ,regb 
+0x3905 010263 arg 81 ,temp 
+0x3906 010264 branch iicd_write_eep_data 
+:      010268 lightc_init:
+0x3907 010272 fetcht 1 ,mem_lightc_led_gpio 
+0x3908 010273 call gpio_out_inactive 
+0x3909 010274 rtn 
+:      010277 lightc_dispatch:
+0x390a 010280 fetcht 1 ,mem_lightc_led_gpio 
+0x390b 010281 call gpio_out_active 
+0x390c 010284 fetcht 1 ,mem_lightc_led_gpio 
+0x390d 010285 call gpio_out_inactive 
+0x390e 010288 call lightc_start_adv 
+0x390f 010290 fetch 1 ,mem_adv_time 
+0x3910 010291 nrtn blank 
+0x3911 010293 call lpm_write_gpio_wakeup 
+0x3912 010294 hfetch 4 ,core_lpm_ctrl 
+0x3913 010295 set0 15 ,pdata 
+0x3914 010296 hstore 4 ,core_lpm_reg 
+0x3915 010297 call lpm_write_ctrl 
+0x3916 010298 arg param_hibernate_clks ,temp 
+0x3917 010299 branch lpm_sleep 
+:      010301 lightc_adv:
+0x3918 010302 fetch 1 ,mem_adv_time 
+0x3919 010303 branch le_adv_loop_tx ,blank 
+0x391a 010304 increase -1 ,pdata 
+0x391b 010305 store 1 ,mem_adv_time 
+0x391c 010306 branch le_adv_loop_tx 
+:      010308 lightc_start_adv:
+0x391d 010309 mul32 pdata ,20 ,pdata 
+0x391e 010310 arg mem_cmd0_string ,contr 
+0x391f 010311 iadd contr ,contr 
+0x3920 010312 ifetch 1 ,contr 
+0x3921 010313 rtn blank 
+0x3922 010314 copy pdata ,rega 
+0x3923 010315 copy rega ,loopcnt 
+0x3924 010316 arg mem_le_adv_data + 2 ,contw 
+0x3925 010317 call memcpy 
+0x3926 010318 copy rega ,pdata 
+0x3927 010319 increase 2 ,pdata 
+0x3928 010320 store 1 ,mem_le_adv_data_len 
+0x3929 010321 rtn 
+:      010328 module_init:
+0x392a 010330 rtn wake 
+0x392b 010331 call le_modified_name 
+0x392c 010332 call adc_init_data 
+0x392d 010333 setarg module_process_idle 
+0x392e 010334 store 2 ,mem_cb_idle_process 
+0x392f 010335 setarg module_bt_conn_process 
+0x3930 010336 store 2 ,mem_cb_bt_process 
+0x3931 010337 setarg module_process_bb_event 
+0x3932 010338 store 2 ,mem_cb_bb_event_process 
+0x3933 010339 setarg module_le_conn_process 
+0x3934 010340 store 2 ,mem_cb_le_process 
+0x3935 010341 setarg module_lpm_lock 
+0x3936 010342 store 2 ,mem_cb_check_wakelock 
+0x3937 010343 setarg module_hci_cmd_transmit_le_notify 
+0x3938 010344 store 2 ,mem_cb_ble_transmit 
+0x3939 010345 setarg module_hci_event_receive_spp_data 
+0x393a 010346 store 2 ,mem_cb_receive_spp_data 
+0x393b 010347 setarg module_le_receive_data 
+0x393c 010348 store 2 ,mem_cb_att_write 
+0x393d 010349 setarg module_bb_event_timer 
+0x393e 010350 store 2 ,mem_cb_event_timer 
+0x393f 010352 call module_spp_clear_last_transmite_clock 
+0x3940 010353 bpatch patch1b_5 ,mem_patch1b 
+0x3941 010354 call module_lpm_uart_init 
+0x3942 010355 call module_gpio_init 
+0x3943 010356 call check_module_disabled 
+0x3944 010357 branch module_hci_event_enter_standby_mode 
+:      010360 module_lpm_uart_init:
+0x3945 010361 fetch 4 ,mem_module_uart_rx_buffer 
+0x3946 010362 hstore 4 ,core_uart_rsaddr 
+0x3947 010364 fetch 4 ,mem_module_uart_tx_buffer 
+0x3948 010365 hstore 4 ,core_uart_tsaddr 
+0x3949 010367 hfetch 1 ,core_gpio_sel1 
+0x394a 010368 or_into 0x04 ,pdata 
+0x394b 010369 and_into 0xfc ,pdata 
+0x394c 010370 hstore 1 ,core_gpio_sel1 
+0x394d 010371 hjam 0x00 ,core_uart_ctrl 
+0x394e 010373 fetch 2 ,mem_module_uart_rx_buffer 
+0x394f 010374 hstore 2 ,core_uart_rrptr 
+0x3950 010375 fetch 2 ,mem_module_uart_tx_buffer 
+0x3951 010376 hstore 2 ,core_uart_twptr 
+0x3952 010377 hstore 2 ,core_uart_trptrp 
+0x3953 010379 hfetch 4 ,core_gpio_pu0 
+0x3954 010380 set1 7 ,pdata 
+0x3955 010381 hstore 4 ,core_gpio_pu0 
+0x3956 010383 hfetch 2 ,core_clkoff 
+0x3957 010384 set0 clock_off_uart ,pdata 
+0x3958 010385 hstore 2 ,core_clkoff 
+0x3959 010386 call uart_set_baud_by_mem 
+0x395a 010387 hjam uartclk_crystal ,core_uart_clksel 
+0x395b 010388 hjam uart_ctrl_h4 ,core_uart_ctrl 
+0x395c 010390 fetch 1 ,mem_module_flag 
+0x395d 010391 isolate1 module_flag_uart_flow_control ,pdata 
+0x395e 010392 hfetcht 1 ,core_uart_ctrl 
+0x395f 010393 setflag true ,4 ,temp 
+0x3960 010394 hstoret 1 ,core_uart_ctrl 
+0x3961 010395 rtn 
+:      010399 module_lpm_init:
+0x3962 010400 call module_spp_clear_last_transmite_clock 
+0x3963 010401 branch module_lpm_uart_init 
+:      010404 module_gpio_init:
+0x3964 010409 fetcht 1 ,mem_module_connect_state_gpio 
+0x3965 010410 call gpio_config_output 
+0x3966 010411 call module_set_conn_pin_low 
+0x3967 010413 fetcht 1 ,mem_module_wake_up_gpio 
+0x3968 010414 branch gpio_config_input 
+:      010416 module_lpm_lock:
+0x3969 010417 fetcht 1 ,mem_module_wake_up_gpio 
+0x396a 010418 call gpio_get_bit 
+0x396b 010419 nbranch app_put_lpm_wake_lock ,true 
+0x396c 010420 branch app_get_lpm_wake_lock 
+:      010423 module_le_conn_process:
+0x396d 010424 rtn 
+:      010426 module_bt_conn_process:
+0x396e 010427 call module_spp_enter_sniff 
+0x396f 010428 branch module_control_air_flow 
+:      010430 module_spp_enter_sniff:
+0x3970 010431 fetch 1 ,mem_ui_state_map 
+0x3971 010432 bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+0x3972 010433 bpatch patch1b_6 ,mem_patch1b 
+0x3973 010434 setarg 0x3eff 
+0x3974 010435 fetcht 4 ,mem_last_transmite_clock 
+0x3975 010436 iadd temp ,temp 
+0x3976 010437 copy clkn_bt ,pdata 
+0x3977 010438 isub temp ,null 
+0x3978 010439 nrtn positive 
+0x3979 010440 fetch 2 ,mem_ui_state_map 
+0x397a 010441 bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+0x397b 010442 fetch 1 ,mem_module_flag 
+0x397c 010443 rtnbit1 moudle_task_sniff 
+0x397d 010444 call module_set_sniff_task_flag 
+0x397e 010445 call app_bt_enter_sniff 
+:      010446 module_spp_clear_last_transmite_clock:
+0x397f 010447 copy clkn_bt ,pdata 
+0x3980 010448 store 4 ,mem_last_transmite_clock 
+0x3981 010449 rtn 
+:      010452 module_process_idle:
+0x3982 010453 call module_control_air_flow 
+0x3983 010454 call l2cap_malloc_is_fifo_full 
+0x3984 010455 nrtn blank 
+0x3985 010456 branch module_process 
+:      010459 module_process_bb_event:
+0x3986 010460 copy regc ,pdata 
+0x3987 010461 beq bt_evt_bb_connected ,module_process_bb_conn 
+0x3988 010462 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+0x3989 010463 beq bt_evt_reconn_failed ,module_process_reconn_fail 
+0x398a 010464 beq bt_evt_setup_complete ,module_process_setup_complete 
+0x398b 010465 beq bt_evt_spp_connected ,module_process_spp_connected 
+0x398c 010466 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+0x398d 010467 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+0x398e 010468 beq bt_evt_enter_sniff ,module_process_enter_sniff 
+0x398f 010469 beq bt_evt_exit_sniff ,module_process_exit_sniff 
+0x3990 010470 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+0x3991 010471 beq bt_evt_le_connected ,module_process_le_conn 
+0x3992 010472 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+0x3993 010473 beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+0x3994 010474 beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+0x3995 010475 beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+0x3996 010476 beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+0x3997 010477 beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+0x3998 010478 beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+0x3999 010479 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+0x399a 010480 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+0x399b 010481 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+0x399c 010482 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+0x399d 010483 beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+0x399e 010484 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+0x399f 010485 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+0x39a0 010486 beq bt_evt_store_nvram ,module_hci_event_store_device 
+0x39a1 010487 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+0x39a2 010488 rtn 
+:      010491 module_process_bb_event_disconned:
+0x39a3 010492 call module_spp_clear_last_transmite_clock 
+0x39a4 010493 fetch 1 ,mem_flag_pairing_state 
+0x39a5 010494 ncall module_hci_event_bt_pairing_fail ,blank 
+0x39a6 010495 call module_disconn_start 
+0x39a7 010496 fetch 2 ,mem_ui_state_map 
+0x39a8 010497 rtnbit0 ui_state_bt_spp_conn 
+0x39a9 010498 branch module_spp_disconnected 
+:      010500 module_process_spp_connected:
+0x39aa 010501 fetch 2 ,mem_ui_state_map 
+0x39ab 010502 set1 ui_state_bt_spp_conn ,pdata 
+0x39ac 010503 store 2 ,mem_ui_state_map 
+0x39ad 010504 fetch 1 ,mem_module_spp_lpm_mult 
+0x39ae 010505 store 1 ,mem_lpm_mult 
+0x39af 010506 call module_set_conn_pin_low 
+0x39b0 010507 branch module_hci_event_spp_connect 
+:      010509 module_process_spp_disconnected:
+:      010511 module_spp_disconnected:
+0x39b1 010512 fetch 2 ,mem_ui_state_map 
+0x39b2 010513 rtnbit0 ui_state_bt_spp_conn 
+0x39b3 010514 set0 ui_state_bt_spp_conn ,pdata 
+0x39b4 010515 store 2 ,mem_ui_state_map 
+0x39b5 010516 branch module_hci_event_spp_disconnect 
+:      010519 module_process_enter_sniff:
+:      010521 module_sniff_param_check:
+0x39b6 010522 call module_spp_clear_last_transmite_clock 
+0x39b7 010525 fetch 2 ,mem_context + coffset_tsniff 
+0x39b8 010526 rshift pdata ,pdata 
+0x39b9 010527 fetcht 2 ,mem_sniff_param_interval 
+0x39ba 010528 isub temp ,null 
+0x39bb 010529 nbranch module_sniff_param_check_unsniff ,zero 
+0x39bc 010530 branch app_lpm_mult_enable 
+:      010531 module_sniff_param_check_unsniff:
+0x39bd 010532 fetch 1 ,mem_module_flag 
+0x39be 010533 rtnbit1 moudle_task_unsniff 
+0x39bf 010534 hfetch 2 ,core_uart_rxitems 
+0x39c0 010535 ncall module_set_unsniff_task_flag ,blank 
+0x39c1 010536 branch app_bt_sniff_exit 
+:      010538 module_process_exit_sniff:
+0x39c2 010539 call module_clear_sniff_task_flag 
+0x39c3 010540 branch app_lpm_mult_disable 
+:      010542 module_process_setup_complete:
+0x39c4 010543 call module_spp_clear_last_transmite_clock 
+0x39c5 010544 branch module_conn_start 
+:      010546 module_process_bb_even_le_disconn:
+0x39c6 010547 call le_clr_config_more_data 
+0x39c7 010548 call module_disconn_start 
+0x39c8 010549 branch module_hci_event_le_disconnect 
+:      010551 module_process_evt_pincode_req:
+0x39c9 010552 branch app_bt_set_pincode 
+:      010555 module_process_sniff_not_accept:
+0x39ca 010556 branch module_clear_sniff_task_flag 
+:      010559 module_process_unsniff_accept:
+0x39cb 010560 fetch 1 ,mem_module_flag 
+0x39cc 010561 bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+0x39cd 010562 branch module_clear_unsniff_task_flag 
+:      010565 module_process_unsniff_not_accept:
+0x39ce 010566 branch module_clear_unsniff_task_flag 
+:      010569 module_process_le_conn:
+0x39cf 010570 call le_send_att_exchange_mtu_requset 
+0x39d0 010571 call module_conn_start 
+0x39d1 010572 fetch 1 ,mem_module_le_lpm_mult 
+0x39d2 010573 store 1 ,mem_lpm_mult 
+0x39d3 010574 branch module_hci_event_le_connect 
+:      010577 module_process_bb_conn:
+0x39d4 010578 jam 0 ,mem_flag_mode_ssp_pin 
+0x39d5 010579 call module_clear_sniff_task_flag 
+0x39d6 010580 branch module_clear_unsniff_task_flag 
+:      010582 module_process_page_time_out:
+:      010583 module_process_reconn_fail:
+:      010584 module_disconn_start:
+0x39d7 010585 call module_start_adv_discovery_by_command 
+0x39d8 010586 branch module_set_conn_pin_high 
+:      010589 module_process_ble_ltk_lost:
+0x39d9 010590 call le_send_reject_ind 
+0x39da 010591 branch le_send_smp_security_request 
+:      010594 module_set_conn_pin_high:
+0x39db 010595 fetcht 1 ,mem_module_connect_state_gpio 
+0x39dc 010596 branch gpio_out_active 
+:      010598 module_conn_start:
+0x39dd 010599 call module_stop_adv_discovery 
+0x39de 010600 branch module_set_conn_pin_low 
+:      010602 module_stop_adv_discovery:
+0x39df 010603 fetch 1 ,mem_module_state 
+0x39e0 010604 isolate1 moudle_state_bt_bit ,pdata 
+0x39e1 010605 call app_bt_stop_discovery ,true 
+0x39e2 010606 fetch 1 ,mem_module_state 
+0x39e3 010607 isolate1 moudle_state_ble_bit ,pdata 
+0x39e4 010608 call app_ble_stop_adv ,true 
+0x39e5 010609 rtn 
+:      010610 module_set_conn_pin_low:
+0x39e6 010611 fetcht 1 ,mem_module_connect_state_gpio 
+0x39e7 010612 branch gpio_out_inactive 
+:      010614 module_process_with_credit:
+0x39e8 010615 fetch 1 ,mem_credit_flag 
+0x39e9 010616 rtneq credit_disable 
+0x39ea 010617 branch rfcomm_send_uih_without_payload 
+:      010619 module_process:
+0x39eb 010620 hfetch 1 ,core_uart_status 
+0x39ec 010621 bbit1 uart_status_rx_fifo_empty ,module_process_with_credit 
+0x39ed 010622 call uartd_prepare_rx 
+0x39ee 010623 ifetch 1 ,contru 
+0x39ef 010624 bne 0x01 ,module_hci_in_excp 
+0x39f0 010625 hfetch 2 ,core_uart_rxitems 
+0x39f1 010626 sub pdata ,2 ,null 
+0x39f2 010627 rtn positive 
+0x39f3 010628 ifetch 1 ,contru 
+0x39f4 010629 store 1 ,mem_module_uart_opcode 
+0x39f5 010630 ifetcht 1 ,contru 
+0x39f6 010631 copy contru ,rega 
+0x39f7 010632 storet 1 ,mem_module_uart_len 
+0x39f8 010633 add temp ,3 ,temp 
+0x39f9 010634 hfetch 2 ,core_uart_rxitems 
+0x39fa 010635 isub temp ,temp 
+0x39fb 010636 nrtn positive 
+0x39fc 010637 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x39fd 010638 call module_hci_cmd_control 
+0x39fe 010639 fetch 1 ,mem_module_temp_nl_discard_packet 
+0x39ff 010640 rtneq hci_not_discard_packet 
+0x3a00 010641 branch module_hci_dicard_packet 
+:      010643 module_hci_in_excp:
+0x3a01 010644 call delay_10ms 
+0x3a02 010645 call module_hci_event_invalid_packet 
+0x3a03 010646 branch module_hci_release_except 
+:      010649 module_hci_release_except:
+0x3a04 010650 bpatch patch1b_7 ,mem_patch1b 
+0x3a05 010651 hfetch 2 ,core_uart_rxitems 
+0x3a06 010652 rtn blank 
+0x3a07 010653 call uartd_prepare_rx 
+0x3a08 010654 ifetch 1 ,contru 
+0x3a09 010655 sub pdata ,0x01 ,null 
+0x3a0a 010656 ncall module_hci_dicard_bytes ,zero 
+0x3a0b 010657 nbranch module_hci_release_except ,zero 
+0x3a0c 010658 ifetch 1 ,contru 
+0x3a0d 010659 rtneq hci_cmd_spp_data_req 
+0x3a0e 010660 rtneq hci_cmd_set_credit_given 
+0x3a0f 010661 increase -1 ,contru 
+0x3a10 010662 call module_hci_dicard_bytes 
+0x3a11 010663 branch module_hci_release_except 
+:      010665 module_hci_dicard_packet:
+0x3a12 010666 call uartd_prepare_rx 
+0x3a13 010667 increase 2 ,contru 
+0x3a14 010668 ifetch 1 ,contru 
+0x3a15 010669 iadd contru ,contru 
+:      010670 module_hci_dicard_bytes:
+0x3a16 010671 branch uartd_rxdone 
+:      010674 module_hci_cmd_control:
+0x3a17 010675 bpatch patch1c_0 ,mem_patch1c 
+0x3a18 010676 fetch 1 ,mem_module_uart_opcode 
+0x3a19 010677 beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+0x3a1a 010678 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+0x3a1b 010679 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+0x3a1c 010680 beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+0x3a1d 010681 beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+0x3a1e 010682 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+0x3a1f 010683 beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+0x3a20 010684 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+0x3a21 010685 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+0x3a22 010686 beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+0x3a23 010687 beq hci_cmd_set_uartcontrol_req ,module_hci_cmd_set_uart_control_mode 
+0x3a24 010688 beq hci_cmd_set_uart_baud_req ,module_hci_cmd_set_uart_baud 
+0x3a25 010689 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+0x3a26 010690 beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+0x3a27 010691 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+0x3a28 010692 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+0x3a29 010693 beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+0x3a2a 010694 beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+0x3a2b 010695 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+0x3a2c 010696 beq hci_cmd_power_req ,module_hci_cmd_power_request 
+0x3a2d 010697 beq hci_cmd_power_set ,module_hci_cmd_power_set 
+0x3a2e 010698 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+0x3a2f 010699 beq hci_cmd_set_gpio ,module_hci_cmd_set_gpio 
+0x3a30 010700 beq hci_cmd_read_gpio ,module_hci_cmd_read_gpio 
+0x3a31 010701 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+0x3a32 010702 beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+0x3a33 010703 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+0x3a34 010704 beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+0x3a35 010705 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+0x3a36 010706 beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+0x3a37 010707 beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
+0x3a38 010708 beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+0x3a39 010709 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+0x3a3a 010710 beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+0x3a3b 010711 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+0x3a3c 010712 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+0x3a3d 010713 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+0x3a3e 010714 branch module_hci_event_receive_invalid_cmd 
+:      010719 module_hci_cmd_set_bt_addr:
+0x3a3f 010720 fetch 1 ,mem_module_uart_len 
+0x3a40 010721 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x3a41 010722 ifetch 6 ,contru 
+0x3a42 010723 store 6 ,mem_lap 
+0x3a43 010724 branch module_hci_event_receive_valid_cmd 
+:      010727 module_hci_cmd_set_le_addr:
+0x3a44 010728 fetch 1 ,mem_module_uart_len 
+0x3a45 010729 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x3a46 010730 ifetch 6 ,contru 
+0x3a47 010731 store 6 ,mem_le_lap 
+0x3a48 010732 branch module_hci_event_receive_valid_cmd 
+:      010736 module_hci_cmd_set_visibility:
+0x3a49 010737 fetch 1 ,mem_module_uart_len 
+0x3a4a 010738 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3a4b 010739 copy rega ,contru 
+0x3a4c 010740 call module_hci_event_receive_valid_cmd 
+0x3a4d 010741 ifetcht 1 ,contru 
+0x3a4e 010742 storet 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a4f 010743 fetch 2 ,mem_ui_state_map 
+0x3a50 010744 rtnbit1 ui_state_ble_connected 
+0x3a51 010745 rtnbit1 ui_state_bt_connected 
+:      010746 module_start_adv_discovery_by_command:
+0x3a52 010747 fetch 1 ,mem_module_state 
+0x3a53 010748 isolate1 moudle_state_bt_bit ,pdata 
+0x3a54 010749 nbranch moudle_start_adv_by_command ,true 
+0x3a55 010750 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a56 010751 and temp ,0x03 ,pdata 
+0x3a57 010752 store 1 ,mem_scan_mode 
+:      010753 moudle_start_adv_by_command:
+0x3a58 010754 fetch 1 ,mem_module_state 
+0x3a59 010755 isolate1 moudle_state_ble_bit ,pdata 
+0x3a5a 010756 nrtn true 
+0x3a5b 010757 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a5c 010758 isolate1 2 ,temp 
+0x3a5d 010759 branch app_ble_start_adv ,true 
+0x3a5e 010760 branch app_ble_stop_adv 
+:      010764 module_hci_cmd_set_bt_name:
+0x3a5f 010765 fetch 1 ,mem_module_uart_len 
+0x3a60 010766 sub pdata ,67 ,null 
+0x3a61 010767 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3a62 010768 store 1 ,mem_local_name_length 
+0x3a63 010769 arg 8 ,loopcnt 
+0x3a64 010770 call memset0 
+0x3a65 010771 fetch 1 ,mem_module_uart_len 
+0x3a66 010772 copy pdata ,loopcnt 
+0x3a67 010773 copy rega ,contru 
+0x3a68 010774 arg mem_local_name ,contw 
+0x3a69 010775 call uart_copy_rx_bytes_fast 
+0x3a6a 010776 branch module_hci_event_receive_valid_cmd 
+:      010780 module_hci_cmd_set_le_name:
+0x3a6b 010781 fetch 1 ,mem_module_uart_len 
+0x3a6c 010782 sub pdata ,29 ,null 
+0x3a6d 010783 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3a6e 010784 store 1 ,mem_le_name_len 
+0x3a6f 010785 copy pdata ,loopcnt 
+0x3a70 010786 copy rega ,contru 
+0x3a71 010787 arg mem_le_name ,contw 
+0x3a72 010788 call uart_copy_rx_bytes_fast 
+0x3a73 010789 call le_modified_name 
+0x3a74 010790 branch module_hci_event_receive_valid_cmd 
+:      010794 module_hci_cmd_receive_spp_data:
+0x3a75 010795 fetch 1 ,mem_ui_state_map 
+0x3a76 010796 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+0x3a77 010797 call app_check_sniff 
+0x3a78 010798 branch module_hci_cmd_spp_exit_sniff ,true 
+0x3a79 010799 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a7a 010801 call module_spp_clear_last_transmite_clock 
+0x3a7b 010802 fetch 1 ,mem_remote_credits 
+0x3a7c 010803 rtn blank 
+0x3a7d 010804 fetch 2 ,mem_nl_rx_len_all 
+0x3a7e 010805 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+0x3a7f 010806 fetch 1 ,mem_module_uart_len 
+0x3a80 010807 store 2 ,mem_nl_rx_len_all 
+0x3a81 010809 copy rega ,contru 
+0x3a82 010812 copy contru ,pdata 
+0x3a83 010813 store 2 ,mem_nl_rx_data_src 
+:      010814 module_hci_cmd_pass_init_ng_rx_len_all:
+0x3a84 010815 call module_hci_cmd_get_current_packet_len_and_remain_len 
+0x3a85 010816 branch spp_tx_rfcomm_packet 
+:      010818 module_hci_cmd_spp_exit_sniff:
+0x3a86 010819 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a87 010820 branch module_exit_sniff 
+:      010822 module_hci_cmd_get_current_packet_len_and_remain_len:
+0x3a88 010823 call module_hci_cmd_get_current_patcket_len 
+0x3a89 010824 fetch 2 ,mem_nl_rx_len_all 
+0x3a8a 010825 fetcht 2 ,mem_current_packet_length 
+0x3a8b 010826 isub temp ,pdata 
+0x3a8c 010827 store 2 ,mem_nl_rx_len_all 
+0x3a8d 010828 rtn 
+:      010830 module_hci_cmd_get_current_patcket_len:
+0x3a8e 010831 fetch 2 ,mem_nl_rx_len_all 
+0x3a8f 010832 arg dm_refcom_buff_len ,temp 
+0x3a90 010833 call not_greater_than 
+0x3a91 010834 fetcht 2 ,mem_rfcomm_max_frame_size 
+0x3a92 010835 call not_greater_than 
+0x3a93 010836 fetcht 2 ,mem_pn_max_frame_size 
+0x3a94 010837 call not_greater_than 
+0x3a95 010838 store 2 ,mem_current_packet_length 
+0x3a96 010839 rtn 
+:      010841 module_hci_command_tx_spp_tx_complete:
+0x3a97 010842 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a98 010843 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+0x3a99 010844 branch module_hci_event_receive_valid_cmd 
+:      010848 module_hci_cmd_receive_le_data:
+0x3a9a 010849 fetch 2 ,mem_ui_state_map 
+0x3a9b 010850 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x3a9c 010851 call module_check_ble_encrypt_state 
+0x3a9d 010852 branch module_hci_event_receive_invalid_cmd ,user 
+0x3a9e 010853 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a9f 010854 fetch 1 ,mem_module_flag 
+0x3aa0 010855 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+0x3aa1 010856 fetch 1 ,mem_module_hci_notify_len 
+0x3aa2 010857 nrtn blank 
+0x3aa3 010858 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3aa4 010859 ifetch 2 ,contru 
+0x3aa5 010860 store 2 ,mem_module_hci_notify_handle 
+0x3aa6 010861 copy contru ,pdata 
+0x3aa7 010862 store 2 ,mem_module_hci_nofiy_addr 
+0x3aa8 010863 fetch 1 ,mem_module_uart_len 
+0x3aa9 010864 pincrease -2 
+0x3aaa 010865 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3aab 010866 branch module_hci_event_receive_invalid_cmd ,zero 
+0x3aac 010867 store 1 ,mem_module_hci_notify_len 
+0x3aad 010868 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3aae 010869 call le_set_config_more_data 
+0x3aaf 010870 call module_hci_cmd_transmit_le_notify 
+0x3ab0 010871 call module_hci_cmd_transmit_le_notify 
+0x3ab1 010872 call module_hci_cmd_transmit_le_notify 
+0x3ab2 010873 fetch 1 ,mem_module_flag 
+0x3ab3 010874 rtnbit0 module_flag_ble_data_finish 
+:      010875 module_hci_cmd_receive_le_data_finish:
+0x3ab4 010876 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3ab5 010877 call module_clear_le_tx_data_flag 
+0x3ab6 010878 branch module_hci_event_receive_valid_cmd 
+:      010880 module_hci_cmd_transmit_le_notify:
+0x3ab7 010881 fetch 1 ,mem_module_hci_notify_len 
+0x3ab8 010882 rtn blank 
+0x3ab9 010883 call le_fifo_check_nearly_full 
+0x3aba 010884 nrtn blank 
+0x3abb 010885 call module_get_le_remote_mtu 
+0x3abc 010886 bpatch patch1c_1 ,mem_patch1c 
+0x3abd 010887 add temp ,-3 ,pdata 
+0x3abe 010888 fetcht 1 ,mem_module_hci_notify_len 
+0x3abf 010889 call not_greater_than 
+0x3ac0 010890 copy pdata ,rega 
+0x3ac1 010891 copy temp ,pdata 
+0x3ac2 010892 isub rega ,pdata 
+0x3ac3 010893 store 1 ,mem_module_hci_notify_len 
+0x3ac4 010894 fetcht 2 ,mem_module_hci_notify_handle 
+0x3ac5 010895 call le_att_malloc_tx_notify 
+0x3ac6 010896 fetch 2 ,mem_module_hci_nofiy_addr 
+0x3ac7 010897 copy pdata ,contru 
+0x3ac8 010898 copy rega ,loopcnt 
+0x3ac9 010899 call uart_copy_rx_bytes_fast 
+0x3aca 010900 copy contru ,pdata 
+0x3acb 010901 store 2 ,mem_module_hci_nofiy_addr 
+0x3acc 010902 fetch 1 ,mem_module_hci_notify_len 
+0x3acd 010903 nrtn blank 
+0x3ace 010904 branch module_set_le_tx_data_flag 
+:      010908 module_get_le_remote_mtu:
+0x3acf 010909 arg 0x17 ,temp 
+0x3ad0 010910 fetch 1 ,mem_module_flag 
+0x3ad1 010911 rtnbit1 module_flag_ble_send_mtu23 
+0x3ad2 010912 fetcht 2 ,mem_le_remote_mtu 
+0x3ad3 010913 rtn 
+:      010915 module_check_ble_encrypt_state:
+0x3ad4 010916 fetch 1 ,mem_module_flag 
+0x3ad5 010917 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+0x3ad6 010918 branch disable_user 
+:      010922 module_hci_cmd_inquire_status:
+0x3ad7 010923 branch module_hci_event_status_res 
+:      010927 module_hci_cmd_set_pairing_mode:
+0x3ad8 010928 copy rega ,contru 
+0x3ad9 010929 ifetch 1 ,contru 
+0x3ada 010930 beq pairing_pincode ,module_hci_pairing_pincode_mode 
+0x3adb 010931 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+0x3adc 010932 beq pairing_passkey ,module_hci_pairing_passkey 
+0x3add 010933 beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+0x3ade 010934 branch module_hci_event_receive_invalid_cmd 
+:      010935 module_hci_pairing_pincode_mode:
+0x3adf 010936 call ssp_disable 
+0x3ae0 010937 jam 0 ,mem_ssp_enable 
+0x3ae1 010938 branch module_hci_event_receive_valid_cmd 
+:      010939 module_hci_pairing_just_work_mode:
+0x3ae2 010940 setarg ssp_mode_just_work_io_cap_data 
+:      010941 module_hci_sspairing_mode:
+0x3ae3 010942 store 3 ,mem_sp_iocap_local 
+0x3ae4 010943 store 1 ,mem_ssp_mode_flag 
+0x3ae5 010944 call ssp_enable 
+0x3ae6 010945 jam 1 ,mem_ssp_enable 
+0x3ae7 010946 branch module_hci_event_receive_valid_cmd 
+:      010947 module_hci_pairing_passkey:
+0x3ae8 010948 setarg ssp_mode_passkey_io_cap_data 
+0x3ae9 010949 branch module_hci_sspairing_mode 
+:      010951 module_hci_pairing_numeric_comparison:
+0x3aea 010952 setarg ssp_mode_ssp_pin_io_cap_data 
+0x3aeb 010953 branch module_hci_sspairing_mode 
+:      010956 module_hci_cmd_set_pincode:
+0x3aec 010957 fetch 1 ,mem_module_uart_len 
+0x3aed 010958 sub pdata ,16 ,null 
+0x3aee 010959 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3aef 010960 store 1 ,mem_pin_length 
+0x3af0 010961 copy pdata ,loopcnt 
+0x3af1 010962 arg mem_pin ,contw 
+0x3af2 010963 call uart_copy_rx_bytes 
+0x3af3 010964 branch module_hci_event_receive_valid_cmd 
+:      010968 module_hci_cmd_set_uart_control_mode:
+0x3af4 010969 copy rega ,contru 
+0x3af5 010970 ifetch 1 ,contru 
+0x3af6 010971 hfetcht 1 ,core_uart_ctrl 
+0x3af7 010972 nsetflag blank ,4 ,temp 
+0x3af8 010973 hstoret 1 ,core_uart_ctrl 
+0x3af9 010974 branch module_hci_event_receive_valid_cmd 
+:      010978 module_hci_cmd_set_uart_baud:
+0x3afa 010979 fetch 1 ,mem_module_uart_len 
+0x3afb 010980 copy pdata ,loopcnt 
+0x3afc 010981 copy rega ,contru 
+0x3afd 010982 call string2dec_from_uart 
+0x3afe 010983 setarg uart_clk_24 
+0x3aff 010984 idiv temp 
+0x3b00 010985 call wait_div_end 
+0x3b01 010986 quotient pdata 
+:      010987 module_hci_cmd_set_uart_baud_ok:
+0x3b02 010988 store uart_baud_len ,mem_baud 
+0x3b03 010989 call module_hci_event_receive_valid_cmd 
+0x3b04 010990 call wait_uarttx 
+0x3b05 010991 branch uart_set_baud_by_mem 
+:      010995 module_hci_cmd_version_request:
+0x3b06 010996 arg 2 ,rega 
+0x3b07 010997 arg mem_soft_version_num ,regb 
+0x3b08 010998 arg 0 ,temp 
+0x3b09 010999 branch module_hci_event_set_cmd 
+:      011000 module_hci_event_set_cmd_send_response:
+0x3b0a 011001 store 2 ,mem_event_cmd_response_content 
+0x3b0b 011002 arg mem_event_cmd_response_content ,regb 
+0x3b0c 011003 arg 0 ,temp 
+0x3b0d 011004 branch module_hci_event_set_cmd 
+:      011008 module_hci_cmd_bt_disconnect:
+0x3b0e 011009 fetch 2 ,mem_ui_state_map 
+0x3b0f 011010 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+:      011011 module_hci_cmd_bt_disconnect_doing:
+0x3b10 011012 call module_hci_event_receive_valid_cmd 
+0x3b11 011013 branch app_bt_disconnect 
+:      011017 module_hci_cmd_ble_disconnect:
+0x3b12 011018 fetch 2 ,mem_ui_state_map 
+0x3b13 011019 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+:      011020 module_hci_cmd_ble_disconnect_doing:
+0x3b14 011021 call module_hci_event_receive_valid_cmd 
+0x3b15 011022 branch app_ble_disconnect 
+:      011028 module_hci_cmd_set_nvram:
+0x3b16 011029 fetch 1 ,mem_module_uart_len 
+0x3b17 011030 copy pdata ,loopcnt 
+0x3b18 011031 copy rega ,contru 
+0x3b19 011032 fetch 2 ,mem_nv_data_ptr 
+0x3b1a 011033 icopy contw 
+0x3b1b 011034 call uart_copy_rx_bytes_fast 
+0x3b1c 011035 branch module_hci_event_receive_valid_cmd 
+:      011039 module_hci_cmd_confirm_gkey:
+0x3b1d 011040 fetch 1 ,mem_ui_state_map 
+0x3b1e 011041 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+0x3b1f 011042 ifetch 1 ,contru 
+0x3b20 011043 fetcht 1 ,mem_flag_mode_ssp_pin 
+0x3b21 011044 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+0x3b22 011045 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+0x3b23 011046 storet 1 ,mem_flag_mode_ssp_pin 
+0x3b24 011048 call module_hci_event_receive_valid_cmd 
+0x3b25 011050 fetch 1 ,mem_flag_mode_ssp_pin 
+0x3b26 011051 bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+0x3b27 011052 rtn 
+:      011054 dhkey_not_accept:
+0x3b28 011055 jam 0 ,mem_flag_mode_ssp_pin 
+0x3b29 011056 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+0x3b2a 011057 branch ui_ipc_send_cmd 
+:      011060 module_hci_cmd_spp_number_comparison_result_is1:
+0x3b2b 011061 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x3b2c 011062 branch dhkey_not_accept 
+:      011066 module_hci_cmd_set_credit_given:
+0x3b2d 011067 fetch 1 ,mem_ui_state_map 
+0x3b2e 011068 rtnbit0 ui_state_bt_spp_conn 
+0x3b2f 011069 fetch 1 ,mem_credit_flag 
+0x3b30 011070 rtneq credit_disable 
+0x3b31 011071 ifetch 1 ,contru 
+0x3b32 011072 fetcht 1 ,mem_credit_given 
+0x3b33 011073 iadd temp ,temp 
+0x3b34 011074 storet 1 ,mem_credit_given 
+0x3b35 011075 rtn 
+:      011079 module_hci_cmd_auto_adv:
+0x3b36 011080 arg 0x40 ,loopcnt 
+0x3b37 011081 arg mem_le_adv_data_len ,contw 
+0x3b38 011082 call clear_mem 
+0x3b39 011083 setarg 0 
+0x3b3a 011084 store 1 ,mem_regb 
+0x3b3b 011085 copy rega ,contru 
+:      011086 module_hci_cmd_auto_adv_loop:
+0x3b3c 011087 copy contru ,pdata 
+0x3b3d 011088 store 2 ,mem_regc 
+0x3b3e 011089 call module_hci_cmd_auto_adv_adv_analys 
+0x3b3f 011091 fetch 1 ,mem_regb 
+0x3b40 011092 fetcht 1 ,mem_temp 
+0x3b41 011093 increase 1 ,temp 
+0x3b42 011094 iadd temp ,pdata 
+0x3b43 011095 store 1 ,mem_regb 
+0x3b44 011097 sub pdata ,31 ,null 
+0x3b45 011098 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+:      011099 module_hci_cmd_auto_adv_store_adv:
+0x3b46 011100 fetcht 1 ,mem_le_adv_data_len 
+0x3b47 011101 setarg mem_le_adv_data 
+0x3b48 011102 iadd temp ,pdata 
+0x3b49 011103 store 2 ,mem_contw 
+0x3b4a 011104 fetcht 1 ,mem_temp 
+0x3b4b 011105 increase 1 ,temp 
+0x3b4c 011106 fetch 1 ,mem_le_adv_data_len 
+0x3b4d 011107 iadd temp ,pdata 
+0x3b4e 011108 store 1 ,mem_le_adv_data_len 
+0x3b4f 011109 branch module_hci_cmd_auto_adv_store_common 
+:      011110 module_hci_cmd_auto_adv_store_scan:
+0x3b50 011111 fetcht 1 ,mem_le_scan_data_len 
+0x3b51 011112 setarg mem_le_scan_data 
+0x3b52 011113 iadd temp ,pdata 
+0x3b53 011114 store 2 ,mem_contw 
+0x3b54 011115 fetcht 1 ,mem_temp 
+0x3b55 011116 increase 1 ,temp 
+0x3b56 011117 fetch 1 ,mem_le_scan_data_len 
+0x3b57 011118 iadd temp ,pdata 
+0x3b58 011119 store 1 ,mem_le_scan_data_len 
+:      011120 module_hci_cmd_auto_adv_store_common:
+0x3b59 011121 fetch 2 ,mem_contw 
+0x3b5a 011122 copy pdata ,contw 
+0x3b5b 011123 fetch 2 ,mem_regc 
+0x3b5c 011124 copy pdata ,contru 
+0x3b5d 011126 copy temp ,loopcnt 
+0x3b5e 011127 call uart_copy_rx_bytes_fast 
+0x3b5f 011129 fetch 1 ,mem_module_uart_len 
+0x3b60 011130 fetcht 1 ,mem_regb 
+0x3b61 011131 isub temp ,null 
+0x3b62 011132 nbranch module_hci_cmd_auto_adv_loop ,zero 
+0x3b63 011133 branch module_hci_event_receive_valid_cmd 
+:      011136 module_hci_cmd_auto_adv_adv_analys:
+0x3b64 011137 ifetch 1 ,contru 
+0x3b65 011138 store 1 ,mem_temp 
+0x3b66 011139 ifetch 1 ,contru 
+0x3b67 011140 store 1 ,mem_rega 
+0x3b68 011141 rtn 
+:      011145 module_hci_cmd_power_request:
+0x3b69 011146 arg 0 ,temp 
+0x3b6a 011147 arg 2 ,rega 
+0x3b6b 011148 fetch 2 ,mem_module_vdd_quotient 
+0x3b6c 011149 store 2 ,mem_event_cmd_response_content 
+0x3b6d 011150 arg mem_event_cmd_response_content ,regb 
+0x3b6e 011151 branch module_hci_event_set_cmd 
+:      011155 module_hci_cmd_power_set:
+0x3b6f 011156 fetch 1 ,mem_module_uart_len 
+0x3b70 011157 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3b71 011158 ifetch 1 ,contru 
+0x3b72 011159 store 1 ,mem_module_read_vdd_flag 
+0x3b73 011160 setarg 0x00 
+0x3b74 011161 store 2 ,mem_module_vdd_quotient 
+0x3b75 011162 branch module_hci_event_receive_valid_cmd 
+:      011166 module_hci_cmd_passkey_entry:
+0x3b76 011167 ifetch 4 ,contru 
+0x3b77 011168 store 4 ,mem_pin 
+0x3b78 011169 jam 4 ,mem_pin_length 
+0x3b79 011170 jam 0 ,mem_authentication_passkey_times 
+0x3b7a 011171 call module_hci_event_receive_valid_cmd 
+0x3b7b 011172 branch authentication_passkey 
+:      011176 module_hci_cmd_set_gpio:
+0x3b7c 011177 fetch 1 ,mem_module_uart_len 
+0x3b7d 011178 bne 3 ,module_hci_event_receive_invalid_cmd 
+0x3b7e 011179 ifetch 1 ,contru 
+0x3b7f 011180 beq hci_cmd_config_gpio_input ,module_set_gpio_input 
+0x3b80 011181 beq hci_cmd_config_gpio_output ,module_set_gpio_output 
+0x3b81 011182 branch module_hci_event_receive_invalid_cmd 
+:      011184 module_set_gpio_input:
+0x3b82 011185 ifetcht 1 ,contru 
+0x3b83 011186 ifetch 1 ,contru 
+0x3b84 011187 beq gpio_input_high_impedance ,module_set_gpio_high_impedance 
+0x3b85 011188 nsetflag blank ,7 ,temp 
+0x3b86 011189 call gpio_config_input 
+0x3b87 011190 branch module_hci_event_receive_valid_cmd 
+:      011192 module_set_gpio_high_impedance:
+0x3b88 011193 call gpio_set_high_impedance 
+0x3b89 011194 branch module_hci_event_receive_valid_cmd 
+:      011196 module_set_gpio_output:
+0x3b8a 011197 ifetcht 1 ,contru 
+0x3b8b 011198 call gpio_config_output0 
+0x3b8c 011199 ifetch 1 ,contru 
+0x3b8d 011200 isolate1 0 ,pdata 
+0x3b8e 011201 call gpio_out_flag 
+0x3b8f 011202 branch module_hci_event_receive_valid_cmd 
+:      011206 module_hci_cmd_read_gpio:
+0x3b90 011207 fetch 1 ,mem_module_uart_len 
+0x3b91 011208 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3b92 011209 ifetcht 1 ,contru 
+0x3b93 011210 call gpio_get_bit 
+0x3b94 011211 setarg 0x0 
+0x3b95 011212 nsetflag true ,0 ,pdata 
+0x3b96 011213 arg 1 ,rega 
+0x3b97 011214 branch module_hci_event_set_cmd_send_response 
+:      011218 module_hci_cmd_le_set_pairing_mode:
+0x3b98 011219 copy rega ,contru 
+0x3b99 011220 ifetch 1 ,contru 
+0x3b9a 011221 copy pdata ,temp 
+0x3b9b 011222 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+0x3b9c 011223 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+0x3b9d 011224 beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+0x3b9e 011225 store 1 ,mem_le_pairing_mode 
+0x3b9f 011226 beq le_pairing_mode_none ,module_le_set_no_pairing 
+0x3ba0 011227 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+0x3ba1 011228 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+0x3ba2 011229 branch module_hci_event_receive_invalid_cmd 
+:      011231 module_le_set_pairing_mode_secure_justwork:
+0x3ba3 011232 fetch 1 ,mem_le_secure_connect_enable 
+0x3ba4 011233 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3ba5 011234 storet 1 ,mem_le_pairing_mode 
+0x3ba6 011235 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3ba7 011236 branch module_le_set_noinputnooutput 
+:      011237 module_le_set_pairing_mode_secure_numeric:
+0x3ba8 011238 fetch 1 ,mem_le_secure_connect_enable 
+0x3ba9 011239 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3baa 011240 storet 1 ,mem_le_pairing_mode 
+0x3bab 011241 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3bac 011242 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x3bad 011243 branch module_hci_event_receive_valid_cmd 
+:      011244 module_le_set_pairing_mode_secure_passkey:
+0x3bae 011245 fetch 1 ,mem_le_secure_connect_enable 
+0x3baf 011246 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3bb0 011247 storet 1 ,mem_le_pairing_mode 
+0x3bb1 011248 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3bb2 011249 branch module_le_set_displayonly 
+:      011250 module_le_set_no_pairing:
+0x3bb3 011251 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      011252 module_le_set_noinputnooutput:
+0x3bb4 011253 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x3bb5 011254 branch module_hci_event_receive_valid_cmd 
+:      011255 module_le_set_pairing_mode_lagacy_just_work:
+0x3bb6 011256 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x3bb7 011257 branch module_le_set_noinputnooutput 
+:      011258 module_le_set_pairing_mode_lagacy_passkey:
+0x3bb8 011259 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      011260 module_le_set_displayonly:
+0x3bb9 011261 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x3bba 011262 branch module_hci_event_receive_valid_cmd 
+:      011266 module_hci_cmd_le_set_adv_data:
+0x3bbb 011267 fetch 1 ,mem_module_uart_len 
+0x3bbc 011268 sub pdata ,31 ,null 
+0x3bbd 011269 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3bbe 011270 store 1 ,mem_le_adv_data_len 
+0x3bbf 011271 copy pdata ,loopcnt 
+0x3bc0 011272 copy rega ,contru 
+0x3bc1 011273 arg mem_le_adv_data ,contw 
+0x3bc2 011274 call uart_copy_rx_bytes_fast 
+0x3bc3 011275 branch module_hci_event_receive_valid_cmd 
+:      011279 module_hci_cmd_le_set_scan_data:
+0x3bc4 011280 fetch 1 ,mem_module_uart_len 
+0x3bc5 011281 sub pdata ,31 ,null 
+0x3bc6 011282 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3bc7 011283 store 1 ,mem_le_scan_data_len 
+0x3bc8 011284 copy pdata ,loopcnt 
+0x3bc9 011285 copy rega ,contru 
+0x3bca 011286 arg mem_le_scan_data ,contw 
+0x3bcb 011287 call uart_copy_rx_bytes_fast 
+0x3bcc 011288 branch module_hci_event_receive_valid_cmd 
+:      011292 module_hci_cmd_le_send_conn_update_req:
+0x3bcd 011293 fetch 2 ,mem_ui_state_map 
+0x3bce 011294 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x3bcf 011295 fetch 1 ,mem_module_uart_len 
+0x3bd0 011296 bne 0x08 ,module_hci_event_receive_invalid_cmd 
+0x3bd1 011297 copy rega ,contru 
+0x3bd2 011298 ifetch 8 ,contru 
+0x3bd3 011299 store 8 ,mem_le_interval_min 
+0x3bd4 011300 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x3bd5 011301 call ui_ipc_send_cmd 
+0x3bd6 011302 branch module_hci_event_receive_valid_cmd 
+:      011306 module_hci_cmd_set_le_adv_parameter:
+0x3bd7 011307 ifetch 2 ,contru 
+0x3bd8 011308 store 2 ,mem_le_adv_interval 
+0x3bd9 011309 branch module_hci_event_receive_valid_cmd 
+:      011313 module_hci_cmd_le_start_pairing:
+0x3bda 011314 fetch 1 ,mem_le_pairing_mode 
+0x3bdb 011315 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3bdc 011316 fetch 1 ,mem_le_pairing_state 
+0x3bdd 011317 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+0x3bde 011318 fetch 1 ,mem_le_enc_state 
+0x3bdf 011319 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+0x3be0 011320 call check_51cmd_le_smp_sec_req 
+0x3be1 011321 branch module_hci_event_receive_valid_cmd 
+:      011325 module_hci_cmd_set_wake_gpio:
+0x3be2 011326 fetch 1 ,mem_module_uart_len 
+0x3be3 011327 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x3be4 011328 ifetch 1 ,contru 
+0x3be5 011329 store 1 ,mem_module_mcu_wake_pin 
+0x3be6 011330 ifetch 4 ,contru 
+0x3be7 011331 store 4 ,mem_module_mcu_wake_delay_us 
+0x3be8 011332 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3be9 011333 call gpio_config_output 
+0x3bea 011334 call module_set_mcu_wake_pin_low 
+0x3beb 011335 branch module_hci_event_receive_valid_cmd 
+:      011339 module_hci_cmd_set_tx_power:
+0x3bec 011340 fetch 1 ,mem_module_uart_len 
+0x3bed 011341 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x3bee 011342 ifetch 1 ,contru 
+0x3bef 011343 store 1 ,mem_tx_power 
+0x3bf0 011344 branch module_hci_event_receive_valid_cmd 
+:      011348 module_hci_cmd_le_confirm_gkey:
+0x3bf1 011349 ifetch 1 ,contru 
+0x3bf2 011350 beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+0x3bf3 011351 fetch 1 ,mem_le_secure_connect_state 
+0x3bf4 011352 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf5 011353 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf6 011354 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf7 011355 branch module_hci_event_receive_invalid_cmd 
+:      011356 module_hci_cmd_le_confirm_gkey_ok:
+0x3bf8 011357 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+0x3bf9 011358 branch module_hci_event_receive_valid_cmd 
+:      011360 module_hci_cmd_le_confirm_gkey_fail:
+0x3bfa 011361 call le_send_pairing_confirm_value_failed 
+0x3bfb 011362 branch module_hci_event_receive_valid_cmd 
+:      011366 module_hci_cmd_set_reject_justwork_flag:
+0x3bfc 011367 fetch 1 ,mem_module_uart_len 
+0x3bfd 011368 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x3bfe 011369 call module_hci_event_receive_valid_cmd 
+0x3bff 011370 ifetch 1 ,contru 
+0x3c00 011371 branch classic_bt_clr_reject_justwork_flag ,blank 
+0x3c01 011372 branch classic_bt_set_reject_justwork_flag 
+:      011376 module_hci_cmd_reset_chip:
+0x3c02 011377 call module_hci_event_receive_valid_cmd 
+0x3c03 011378 call wait_uarttx 
+0x3c04 011379 hjam 0x01 ,core_reset 
+0x3c05 011380 branch loop 
+:      011384 module_hci_cmd_le_set_fixed_passkey:
+0x3c06 011385 fetch 1 ,mem_module_uart_len 
+0x3c07 011386 beq 0 ,module_hci_event_receive_invalid_cmd 
+0x3c08 011387 ifetch 1 ,contru 
+0x3c09 011388 branch module_hci_cmd_le_set_random_passkey ,blank 
+0x3c0a 011389 fetch 1 ,mem_module_uart_len 
+0x3c0b 011390 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x3c0c 011391 ifetch 4 ,contru 
+0x3c0d 011392 arg 1000000 ,temp 
+0x3c0e 011393 isub temp ,null 
+0x3c0f 011394 branch module_hci_event_receive_invalid_cmd ,positive 
+0x3c10 011395 store 4 ,mem_le_tk 
+0x3c11 011396 call le_set_config_fixed_tk 
+0x3c12 011397 branch module_hci_event_receive_valid_cmd 
+:      011399 module_hci_cmd_le_set_random_passkey:
+0x3c13 011400 call le_clr_config_fixed_tk 
+0x3c14 011401 branch module_hci_event_receive_valid_cmd 
+:      011405 module_hci_test_cmde_close_lpm:
+0x3c15 011406 jam 0 ,mem_lpm_mode 
+0x3c16 011407 branch module_hci_event_receive_valid_cmd 
+:      011412 module_hci_event_receive_invalid_cmd:
+0x3c17 011413 arg 1 ,temp 
+0x3c18 011414 arg 0 ,rega 
+0x3c19 011415 branch module_hci_event_set_cmd 
+:      011418 module_hci_event_receive_valid_cmd:
+0x3c1a 011419 arg 0 ,temp 
+0x3c1b 011420 arg 0 ,rega 
+0x3c1c 011421 branch module_hci_event_set_cmd 
+:      011425 module_hci_event_spp_connect:
+0x3c1d 011426 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+0x3c1e 011427 branch module_hci_event_enter_standby_mode_len0 
+:      011431 module_hci_event_le_connect:
+0x3c1f 011432 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+0x3c20 011433 branch module_hci_event_enter_standby_mode_len0 
+:      011437 module_hci_event_spp_disconnect:
+0x3c21 011438 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+0x3c22 011439 branch module_hci_event_enter_standby_mode_len0 
+:      011443 module_hci_event_le_disconnect:
+0x3c23 011444 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+0x3c24 011445 branch module_hci_event_enter_standby_mode_len0 
+:      011453 module_hci_event_set_cmd:
+0x3c25 011454 fetch 1 ,mem_module_uart_opcode 
+0x3c26 011455 copy pdata ,regc 
+0x3c27 011456 jam hci_event_cmd_res ,mem_module_uart_opcode 
+0x3c28 011457 setarg 2 
+0x3c29 011458 iadd rega ,pdata 
+0x3c2a 011459 call module_hci_prepare_tx 
+0x3c2b 011460 copy regc ,pdata 
+0x3c2c 011461 istore 1 ,contwu 
+0x3c2d 011462 istoret 1 ,contwu 
+0x3c2e 011463 copy rega ,loopcnt 
+0x3c2f 011464 copy regb ,contr 
+0x3c30 011465 call uart_copy_tx_bytes 
+0x3c31 011466 branch uartd_send 
+:      011470 module_hci_event_receive_spp_data:
+0x3c32 011472 call module_spp_clear_last_transmite_clock 
+0x3c33 011473 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+0x3c34 011474 fetch 1 ,mem_current_length 
+0x3c35 011475 rtn blank 
+0x3c36 011476 call module_hci_prepare_tx 
+0x3c37 011477 fetch 1 ,mem_current_length 
+0x3c38 011478 copy pdata ,loopcnt 
+0x3c39 011479 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x3c3a 011480 copy pdata ,contr 
+0x3c3b 011481 call uart_copy_tx_bytes_fast 
+0x3c3c 011482 branch uartd_send 
+:      011486 module_hci_event_receive_le_data:
+0x3c3d 011487 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+0x3c3e 011488 fetch 1 ,mem_module_le_rx_data_len 
+0x3c3f 011489 icopy loopcnt 
+0x3c40 011490 increase 2 ,pdata 
+0x3c41 011491 call module_hci_prepare_tx 
+0x3c42 011492 fetch 2 ,mem_module_le_rx_data_handle 
+0x3c43 011493 istore 2 ,contwu 
+0x3c44 011494 fetch 2 ,mem_module_le_rx_data_address 
+0x3c45 011495 icopy contr 
+0x3c46 011496 call uart_copy_tx_bytes_fast 
+0x3c47 011497 branch uartd_send 
+:      011501 module_hci_event_enter_standby_mode:
+0x3c48 011502 jam hci_event_standby_rep ,mem_module_uart_opcode 
+:      011503 module_hci_event_enter_standby_mode_len0:
+0x3c49 011504 setarg 0 
+0x3c4a 011505 call module_hci_prepare_tx 
+0x3c4b 011506 branch uartd_send 
+:      011510 module_hci_event_status_res:
+0x3c4c 011511 jam hci_event_status_res ,mem_module_uart_opcode 
+0x3c4d 011512 setarg 1 
+0x3c4e 011513 call module_hci_prepare_tx 
+0x3c4f 011515 call module_hci_read_bt_status 
+0x3c50 011517 fetch 2 ,mem_ui_state_map 
+0x3c51 011518 arg ui_state_bt_hid_conn ,queue 
+0x3c52 011519 qisolate1 pdata 
+0x3c53 011520 setflag true ,3 ,temp 
+0x3c54 011522 arg ui_state_ble_connected ,queue 
+0x3c55 011523 qisolate1 pdata 
+0x3c56 011524 setflag true ,5 ,temp 
+0x3c57 011526 fetch 1 ,mem_ui_state_map 
+0x3c58 011527 arg ui_state_bt_spp_conn ,queue 
+0x3c59 011528 qisolate1 pdata 
+0x3c5a 011529 setflag true ,4 ,temp 
+0x3c5b 011531 istoret 1 ,contwu 
+0x3c5c 011532 branch uartd_send 
+:      011536 module_hci_read_bt_status:
+0x3c5d 011537 arg 0 ,temp 
+0x3c5e 011538 fetch 1 ,mem_scan_mode 
+0x3c5f 011539 arg inq_scan_mode ,queue 
+0x3c60 011540 qisolate1 pdata 
+0x3c61 011541 setflag true ,0 ,temp 
+0x3c62 011542 arg page_scan_mode ,queue 
+0x3c63 011543 qisolate1 pdata 
+0x3c64 011544 setflag true ,1 ,temp 
+0x3c65 011546 fetch 1 ,mem_le_adv_enable 
+0x3c66 011547 arg 0 ,queue 
+0x3c67 011548 qisolate1 pdata 
+0x3c68 011549 setflag true ,2 ,temp 
+0x3c69 011550 rtn 
+:      011554 module_hci_event_store_device:
+0x3c6a 011555 jam hci_event_nvram_rep ,mem_module_uart_opcode 
+0x3c6b 011556 fetch 1 ,mem_nv_data_number 
+0x3c6c 011557 mul32 pdata ,34 ,pdata 
+0x3c6d 011558 icopy loopcnt 
+0x3c6e 011559 call module_hci_prepare_tx 
+0x3c6f 011560 fetch 2 ,mem_nv_data_ptr 
+0x3c70 011561 icopy contr 
+0x3c71 011562 call uart_copy_tx_bytes_fast 
+0x3c72 011563 branch uartd_send 
+:      011567 module_hci_event_gkey_generate:
+0x3c73 011568 jam hci_event_gkey ,mem_module_uart_opcode 
+0x3c74 011569 setarg 4 
+0x3c75 011570 call module_hci_prepare_tx 
+0x3c76 011571 fetch 4 ,mem_gkey 
+0x3c77 011572 istore 4 ,contwu 
+0x3c78 011573 branch uartd_send 
+:      011577 module_hci_event_invalid_packet:
+0x3c79 011578 jam hci_event_invalid_packet ,mem_module_uart_opcode 
+0x3c7a 011579 hfetch 2 ,core_uart_rxitems 
+0x3c7b 011580 arg 0xff ,temp 
+0x3c7c 011581 call not_greater_than 
+0x3c7d 011582 copy pdata ,loopcnt 
+0x3c7e 011583 call module_hci_prepare_tx 
+0x3c7f 011584 call uartd_prepare_rx 
+0x3c80 011585 call uart_copy_rx2tx 
+0x3c81 011586 branch uartd_send 
+:      011590 module_hci_event_passkey_entry_mode:
+0x3c82 011591 jam hci_event_get_passkey ,mem_module_uart_opcode 
+0x3c83 011592 branch module_hci_event_enter_standby_mode_len0 
+:      011596 module_hci_event_le_tk:
+0x3c84 011597 jam hci_event_le_tk ,mem_module_uart_opcode 
+0x3c85 011598 setarg 4 
+0x3c86 011599 call module_hci_prepare_tx 
+0x3c87 011600 fetch 4 ,mem_le_tk 
+0x3c88 011601 istore 4 ,contwu 
+0x3c89 011602 branch uartd_send 
+:      011606 module_hci_event_le_pairing_fail:
+0x3c8a 011607 arg flag_ble_pairing_fail ,rega 
+0x3c8b 011608 branch module_hci_event_pairing_completed 
+:      011610 module_hci_event_le_pairing_success:
+0x3c8c 011611 arg flag_ble_pairing_success ,rega 
+0x3c8d 011612 branch module_hci_event_pairing_completed 
+:      011614 module_hci_event_bt_pairing_fail:
+0x3c8e 011615 arg flag_bt_pairing_fail ,rega 
+0x3c8f 011616 branch module_hci_event_pairing_completed 
+:      011618 module_hci_event_bt_pairing_success:
+0x3c90 011619 arg flag_bt_pairing_success ,rega 
+:      011621 module_hci_event_pairing_completed:
+0x3c91 011622 jam 0 ,mem_flag_mode_ssp_pin 
+0x3c92 011623 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+0x3c93 011624 setarg 2 
+0x3c94 011625 call module_hci_prepare_tx 
+0x3c95 011626 copy rega ,pdata 
+0x3c96 011627 istore 2 ,contwu 
+0x3c97 011628 branch uartd_send 
+:      011632 module_hci_event_pause_enc:
+0x3c98 011633 arg flag_event_pause_enc ,regc 
+0x3c99 011634 branch module_hci_event_enc 
+:      011636 module_hci_event_start_enc:
+0x3c9a 011637 arg flag_event_start_enc ,regc 
+:      011639 module_hci_event_enc:
+0x3c9b 011640 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+0x3c9c 011641 setarg 1 
+0x3c9d 011642 call module_hci_prepare_tx 
+0x3c9e 011643 copy regc ,pdata 
+0x3c9f 011644 istore 1 ,contwu 
+0x3ca0 011645 branch uartd_send 
+:      011649 module_hci_event_le_gkey:
+0x3ca1 011650 jam hci_event_le_gkey ,mem_module_uart_opcode 
+0x3ca2 011651 setarg 4 
+0x3ca3 011652 call module_hci_prepare_tx 
+0x3ca4 011653 fetch 4 ,mem_gkey 
+0x3ca5 011654 istore 4 ,contwu 
+0x3ca6 011655 branch uartd_send 
+:      011666 module_hci_prepare_tx:
+0x3ca7 011667 jam 0x02 ,mem_module_uart_cmd 
+0x3ca8 011668 store 1 ,mem_module_uart_len 
+0x3ca9 011669 storet 8 ,mem_temp 
+0x3caa 011670 bpatch patch1c_2 ,mem_patch1c 
+0x3cab 011671 call module_set_mcu_wake_pin_high_delay 
+0x3cac 011672 fetcht 8 ,mem_temp 
+0x3cad 011673 call uartd_prepare_tx 
+0x3cae 011674 fetch 3 ,mem_module_uart_cmd 
+0x3caf 011675 istore 3 ,contwu 
+0x3cb0 011676 rtn 
+:      011679 module_set_mcu_wake_pin_high_delay:
+0x3cb1 011680 call module_check_mcu_wake_pin_high 
+0x3cb2 011681 rtn true 
+:      011682 module_set_mcu_wake_pin_h_delay:
+0x3cb3 011683 call module_set_mcu_wake_pin_high 
+0x3cb4 011684 fetch 4 ,mem_module_mcu_wake_delay_us 
+0x3cb5 011685 rshift2 pdata ,pdata 
+0x3cb6 011686 rtn blank 
+0x3cb7 011687 branch delay 
+:      011689 module_set_mcu_wake_pin_high:
+0x3cb8 011691 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cb9 011692 branch gpio_out_active 
+:      011694 module_check_mcu_wake_pin_high:
+0x3cba 011695 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cbb 011696 branch gpio_check_active 
+:      011698 module_set_mcu_wake_pin_low:
+0x3cbc 011699 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cbd 011700 branch gpio_out_inactive 
+:      011703 delay:
+0x3cbe 011704 increase -1 ,pdata 
+0x3cbf 011705 nop 38 
+0x3cc0 011706 nbranch delay ,blank 
+0x3cc1 011707 rtn 
+:      011716 module_le_receive_data:
+0x3cc2 011717 call module_check_ble_encrypt_state 
+0x3cc3 011718 rtn user 
+0x3cc4 011719 copy rega ,pdata 
+0x3cc5 011720 store 2 ,mem_module_le_rx_data_address 
+0x3cc6 011721 copy regb ,pdata 
+0x3cc7 011722 store 1 ,mem_module_le_rx_data_len 
+0x3cc8 011723 fetch 2 ,mem_le_att_handle 
+0x3cc9 011724 fetcht 2 ,mem_module_data_write_handle 
+0x3cca 011725 isub temp ,null 
+0x3ccb 011726 branch module_le_receive_data_ok ,zero 
+0x3ccc 011727 fetcht 2 ,mem_module_data_write_handle2 
+0x3ccd 011728 isub temp ,null 
+0x3cce 011729 nrtn zero 
+:      011730 module_le_receive_data_ok:
+0x3ccf 011731 store 2 ,mem_module_le_rx_data_handle 
+0x3cd0 011732 branch module_hci_event_receive_le_data 
+:      011737 module_exit_sniff:
+0x3cd1 011738 fetch 1 ,mem_module_flag 
+0x3cd2 011739 rtnbit1 moudle_task_unsniff 
+0x3cd3 011740 call module_set_unsniff_task_flag 
+0x3cd4 011741 branch app_bt_sniff_exit 
+:      011744 module_set_lpm_mult_2:
+0x3cd5 011745 jam 2 ,mem_lpm_mult 
+0x3cd6 011746 rtn 
+:      011750 module_bb_event_timer:
+0x3cd7 011751 branch module_read_vdd_timer 
+:      011753 module_read_vdd_timer:
+0x3cd8 011754 fetch 1 ,mem_module_read_vdd_flag 
+0x3cd9 011755 rtn blank 
+0x3cda 011756 fetch 1 ,mem_module_read_vdd_count 
+0x3cdb 011757 rtn blank 
+0x3cdc 011758 increase -1 ,pdata 
+0x3cdd 011759 store 1 ,mem_module_read_vdd_count 
+0x3cde 011760 nrtn blank 
+0x3cdf 011761 jam flag_module_read_vdd_count ,mem_module_read_vdd_count 
+0x3ce0 011762 call adc_set_mode 
+0x3ce1 011763 call vdd_calculate_by_mode 
+0x3ce2 011764 div pdata ,0x64 
+0x3ce3 011765 call wait_div_end 
+0x3ce4 011766 quotient pdata 
+0x3ce5 011767 remainder temp 
+0x3ce6 011768 store 1 ,mem_module_vdd_quotient 
+0x3ce7 011769 storet 1 ,mem_module_vdd_remainder 
+0x3ce8 011770 rtn 
+:      011773 module_control_air_flow:
+0x3ce9 011774 call check_uart_tx_buff 
+0x3cea 011775 branch app_l2cap_flow_control_enable ,positive 
+0x3ceb 011776 branch app_l2cap_flow_control_disable 
+:      011780 module_set_sniff_task_flag:
+0x3cec 011781 arg moudle_task_sniff ,queue 
+0x3ced 011782 branch module_set_state 
+:      011784 module_clear_sniff_task_flag:
+0x3cee 011785 arg moudle_task_sniff ,queue 
+0x3cef 011786 branch module_clr_state 
+:      011788 module_set_unsniff_task_flag:
+0x3cf0 011789 arg moudle_task_unsniff ,queue 
+0x3cf1 011790 branch module_set_state 
+:      011792 module_clear_unsniff_task_flag:
+0x3cf2 011793 arg moudle_task_unsniff ,queue 
+0x3cf3 011794 branch module_clr_state 
+:      011796 module_set_le_tx_data_flag:
+0x3cf4 011797 arg module_flag_ble_data_finish ,queue 
+0x3cf5 011798 branch module_set_state 
+:      011800 module_clear_le_tx_data_flag:
+0x3cf6 011801 arg module_flag_ble_data_finish ,queue 
+0x3cf7 011802 branch module_clr_state 
+:      011804 module_clr_state:
+0x3cf8 011805 fetch 1 ,mem_module_flag 
+0x3cf9 011806 qset0 pdata 
+0x3cfa 011807 store 1 ,mem_module_flag 
+0x3cfb 011808 rtn 
+:      011810 module_set_state:
+0x3cfc 011811 fetch 1 ,mem_module_flag 
+0x3cfd 011812 qset1 pdata 
+0x3cfe 011813 store 1 ,mem_module_flag 
+0x3cff 011814 rtn 
+:      011824 mouse_init:
+0x3d00 011825 call mouse_setting_config 
+0x3d01 011826 call spi_ncs_enable 
+0x3d02 011827 call mouse_init_sunt 
+0x3d03 011828 call mouse_dpi_config 
+0x3d04 011829 call spi_ncs_disable 
+0x3d05 011830 rtn wake 
+0x3d06 011831 call mouse_cheak_enable_usb 
+0x3d07 011832 call mouse_cb_fuction 
+0x3d08 011835 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d09 011836 rtnbit1 mouse_enable_usb 
+0x3d0a 011837 call mouse_wakeup_from_power 
+0x3d0b 011838 rtnmark1 mark_24g 
+0x3d0c 011839 fetch 2 ,mem_ui_state_map 
+0x3d0d 011840 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x3d0e 011841 branch mouse_check_reconn_target 
+:      011844 mouse_delay_4s:
+0x3d0f 011845 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d10 011846 rtnbit0 mouse_enable_init_delay 
+0x3d11 011847 arg 20 ,loopcnt 
+:      011848 mouse_delay_20ms:
+0x3d12 011849 setarg 200000 
+0x3d13 011850 call sleep 
+0x3d14 011851 loop delay_10ms 
+0x3d15 011852 rtn 
+:      011855 mouse_cheak_enable_usb:
+0x3d16 011856 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d17 011857 rtnbit0 mouse_enable_usb 
+0x3d18 011858 branch usb_init 
+:      011861 mouse_cb_fuction:
+0x3d19 011862 setarg mouse_le 
+0x3d1a 011863 store 2 ,mem_cb_le_process 
+0x3d1b 011864 setarg mouse_send_process 
+0x3d1c 011865 store 2 ,mem_cb_bt_process 
+0x3d1d 011866 setarg mouse_process_lpm_before 
+0x3d1e 011867 store 2 ,mem_cb_before_lpm 
+0x3d1f 011868 setarg mouse_priority_bb_event 
+0x3d20 011869 store 2 ,mem_cb_bb_event_process 
+0x3d21 011870 setarg mouse_idle 
+0x3d22 011871 store 2 ,mem_cb_idle_process 
+0x3d23 011872 setarg mouse_before_hibernate 
+0x3d24 011873 store 2 ,mem_cb_before_hibernate 
+0x3d25 011874 setarg le_mouse_bb_event_connect_complete 
+0x3d26 011875 store 2 ,mem_cb_att_write 
+0x3d27 011877 call g24_head_ptr2regc 
+0x3d28 011878 setarg mouse_g24_package_data 
+0x3d29 011879 add regc ,offset_24g_cb_data ,contw 
+0x3d2a 011880 istore 2 ,contw 
+0x3d2b 011881 setarg mouse_g24_enter_lpm 
+0x3d2c 011882 add regc ,offset_24g_cb_lpm_prepare ,contw 
+0x3d2d 011883 istore 2 ,contw 
+0x3d2e 011884 setarg mouse_lpm_before_common 
+0x3d2f 011885 add regc ,offset_24g_cb_lpm_before ,contw 
+0x3d30 011886 istore 2 ,contw 
+0x3d31 011888 setarg mouse_bb_event_timer 
+0x3d32 011889 store 2 ,mem_cb_event_timer 
+0x3d33 011890 setarg mouse_spi_write_flash_cb 
+0x3d34 011891 store 2 ,mem_cb_spi_flash_write_complate 
+0x3d35 011892 rtn 
+:      011893 mouse_spi_write_flash_cb:
+:      011894 mouse_spi_init:
+0x3d36 011895 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d37 011896 bbit0 mouse_enable_spi2 ,spid_init 
+0x3d38 011897 branch spid_init2 
+:      011899 mouse_setting_config:
+0x3d39 011900 rtn wake 
+0x3d3a 011901 call g24_set_device_addr 
+0x3d3b 011902 call mouse_gpio_init 
+0x3d3c 011903 call mouse_param_init 
+0x3d3d 011904 call mouse_adc_init 
+0x3d3e 011905 call le_set_config_fixed_ltk 
+0x3d3f 011906 call le_set_justwork 
+0x3d40 011907 call le_set_fixed_ltk 
+0x3d41 011908 call le_set_config_read_authentication 
+0x3d42 011909 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d43 011910 bbit1 mouse_enable_eeprom ,mouse_init_iic 
+0x3d44 011911 bbit1 mouse_enable_flash ,mouse_load_flash_info_cheak 
+0x3d45 011912 rtn 
+:      011914 mouse_init_iic:
+0x3d46 011915 call iic_init_390k 
+0x3d47 011916 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d48 011917 isolate1 mouse_enable_2k_eeprom ,pdata 
+0x3d49 011918 ncall clear_eeprom_size_2k ,true 
+0x3d4a 011919 call mouse_load_eeprom_dpi 
+0x3d4b 011920 call mouse_init_environment 
+0x3d4c 011921 call mouse_set_24g_addr_eeprom 
+0x3d4d 011922 branch iicd_read_eep_data 
+:      011924 mouse_wakeup_from_power:
+0x3d4e 011925 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d4f 011926 bbit0 mouse_enable_wakeup_from_power ,mouse_wakeup_no_from_power 
+0x3d50 011927 fetch 1 ,mem_wakup_from_power_flag 
+0x3d51 011928 isolate0 gpio_latch ,pdata 
+0x3d52 011929 nrtn true 
+:      011930 mouse_wakeup_no_from_power:
+0x3d53 011931 fetch 1 ,mem_reconn_times_init 
+0x3d54 011932 store 1 ,mem_reconn_times 
+0x3d55 011933 fetch 1 ,mem_config_function_enable 
+0x3d56 011934 rtnbit1 enable_select_device_by_switch 
+:      011935 mouse_start_24g_mode:
+0x3d57 011936 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d58 011937 rtnbit0 mouse_enable_24g 
+0x3d59 011938 bbit1 mouse_enable_auto_24g_paring ,g24_auto_pair_start 
+0x3d5a 011939 branch g24_check_51cmd_start_24g 
+:      011940 le_mouse_bb_event_connect_complete:
+0x3d5b 011941 fetch 1 ,mem_le_att_handle 
+0x3d5c 011942 sub pdata ,26 ,pdata 
+0x3d5d 011943 nrtn zero 
+0x3d5e 011944 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x3d5f 011945 call ui_ipc_send_cmd 
+0x3d60 011946 arg write_req_enable_flag ,queue 
+0x3d61 011947 branch mouse_le_enable_connect_flag 
+:      011949 mouse_dpi_up:
+0x3d62 011950 fetch 1 ,mem_mouse_dpi_button_state 
+0x3d63 011951 rtneq dpi_button_state_up 
+0x3d64 011952 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+0x3d65 011953 rtn 
+:      011954 mouse_dpi_config:
+0x3d66 011955 fetch 1 ,mem_config_sensor_motion 
+0x3d67 011956 and pdata ,0x0f ,pdata 
+0x3d68 011957 store 1 ,mem_mouse_dpi 
+0x3d69 011958 branch mouse_seting_dpi + 2 
+:      011961 mouse_dpi_cheak:
+0x3d6a 011962 fetcht 1 ,mem_dpi_button_gpio 
+0x3d6b 011963 call gpio_get_bit 
+0x3d6c 011964 nbranch mouse_dpi_up ,true 
+:      011965 mouse_dpi_down:
+0x3d6d 011966 fetch 1 ,mem_mouse_dpi_button_state 
+0x3d6e 011967 rtneq dpi_button_state_down 
+0x3d6f 011968 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+0x3d70 011969 fetch 1 ,mem_mouse_dpi 
+0x3d71 011970 increase 1 ,pdata 
+0x3d72 011971 and pdata ,0x03 ,pdata 
+0x3d73 011972 store 1 ,mem_mouse_dpi 
+0x3d74 011973 call mouse_seting_dpi 
+0x3d75 011974 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d76 011975 bbit1 mouse_enable_eeprom ,mouse_store_eerpom_dpi 
+0x3d77 011976 bbit1 mouse_enable_flash ,mouse_before_store_flash_cpi 
+0x3d78 011977 rtn 
+:      011978 mouse_before_store_flash_cpi:
+0x3d79 011979 arg mouse_spi2_clk_gpio ,temp 
+0x3d7a 011980 call gpio_config_output 
+0x3d7b 011981 arg mouse_spi2_sdio_gpio ,temp 
+0x3d7c 011982 call gpio_config_output 
+0x3d7d 011983 branch mouse_store_flash_device_info 
+:      011985 mouse_seting_dpi:
+0x3d7e 011986 bpatch patch1c_3 ,mem_patch1c 
+0x3d7f 011987 call mosue_dpi_led_blink_init 
+0x3d80 011988 fetch 1 ,mem_config_sensor_type 
+0x3d81 011989 beq p3610 ,mouse_seting_3610_dpi 
+0x3d82 011990 beq p3212 ,mouse_seting_3212_dpi 
+0x3d83 011991 fetch 1 ,mem_mouse_dpi 
+0x3d84 011992 beq mouse_dpi_level1 ,mouse_set_cpi1 
+0x3d85 011993 beq mouse_dpi_level2 ,mouse_set_cpi2 
+0x3d86 011994 beq mouse_dpi_level3 ,mouse_set_cpi3 
+0x3d87 011995 beq mouse_dpi_level4 ,mouse_set_cpi4 
+:      011996 mouse_set_cpi2:
+0x3d88 011997 fetch 1 ,mem_320x_dpi_2 
+0x3d89 011998 branch mouse_p3205_dpi 
+:      011999 mouse_set_cpi1:
+0x3d8a 012000 fetch 1 ,mem_320x_dpi_1 
+0x3d8b 012001 branch mouse_p3205_dpi 
+:      012002 mouse_set_cpi3:
+0x3d8c 012003 fetch 1 ,mem_320x_dpi_3 
+0x3d8d 012004 branch mouse_p3205_dpi 
+:      012005 mouse_set_cpi4:
+0x3d8e 012006 fetch 1 ,mem_320x_dpi_4 
+0x3d8f 012007 branch mouse_p3205_dpi 
+:      012008 moue_seting_cpi_count:
+0x3d90 012009 fetch 1 ,mem_config_sensor_type 
+0x3d91 012010 rtneq p3065_xy 
+0x3d92 012011 fetch 1 ,mem_mouse_cpi_count 
+0x3d93 012012 increase 1 ,pdata 
+0x3d94 012013 store 1 ,mem_mouse_cpi_count 
+0x3d95 012014 rtn 
+:      012016 mouse_seting_3212_dpi:
+0x3d96 012017 fetch 1 ,mem_mouse_dpi 
+0x3d97 012018 beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+0x3d98 012019 beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+0x3d99 012020 beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
+0x3d9a 012021 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+:      012022 mouse_set_p3212_cpi2:
+0x3d9b 012023 fetch 1 ,mem_3212_dpi_2 
+0x3d9c 012024 branch mouse_p3212_dpi 
+:      012025 mouse_set_p3212_cpi1:
+0x3d9d 012026 fetch 1 ,mem_3212_dpi_1 
+0x3d9e 012027 branch mouse_p3212_dpi 
+:      012028 mouse_set_p3212_cpi3:
+0x3d9f 012029 fetch 1 ,mem_3212_dpi_3 
+0x3da0 012030 branch mouse_p3212_dpi 
+:      012031 mouse_set_p3212_cpi4:
+0x3da1 012032 fetch 1 ,mem_3212_dpi_4 
+:      012033 mouse_p3212_dpi:
+0x3da2 012034 store 1 ,mem_mouse_cpi_count 
+0x3da3 012035 lshift8 pdata ,pdata 
+0x3da4 012036 copy pdata ,rega 
+0x3da5 012037 add pdata ,mouse_p3212_dpi_xaddress ,pdata 
+0x3da6 012038 call twspi_write 
+0x3da7 012039 copy rega ,pdata 
+0x3da8 012040 add pdata ,mouse_p3212_dpi_yaddress ,pdata 
+0x3da9 012041 branch twspi_write 
+:      012043 mouse_seting_3610_dpi:
+0x3daa 012044 fetch 1 ,mem_mouse_dpi 
+0x3dab 012045 beq mouse_dpi_level1 ,mouse_set_p3610_cpi1 
+0x3dac 012046 beq mouse_dpi_level2 ,mouse_set_p3610_cpi2 
+0x3dad 012047 beq mouse_dpi_level3 ,mouse_set_p3610_cpi3 
+0x3dae 012048 beq mouse_dpi_level4 ,mouse_set_p3610_cpi4 
+:      012049 mouse_set_p3610_cpi2:
+0x3daf 012050 fetch 1 ,mem_3610_dpi_2 
+0x3db0 012051 branch mouse_p3610_dpi 
+:      012052 mouse_set_p3610_cpi1:
+0x3db1 012053 fetch 1 ,mem_3610_dpi_1 
+0x3db2 012054 branch mouse_p3610_dpi 
+:      012055 mouse_set_p3610_cpi3:
+0x3db3 012056 fetch 1 ,mem_3610_dpi_3 
+0x3db4 012057 branch mouse_p3610_dpi 
+:      012058 mouse_set_p3610_cpi4:
+0x3db5 012059 fetch 1 ,mem_3610_dpi_4 
+:      012060 mouse_p3610_dpi:
+0x3db6 012061 store 1 ,mem_mouse_cpi_count 
+0x3db7 012062 call mouse_spi_sdio_gpio_pollup 
+0x3db8 012063 fetch 1 ,mem_mouse_cpi_count 
+:      012064 mouse_reset_p3610_dpi:
+0x3db9 012065 add pdata ,0x80 ,pdata 
+0x3dba 012066 lshift8 pdata ,pdata 
+0x3dbb 012067 add pdata ,mouse_p3610_dpi_address ,pdata 
+0x3dbc 012068 copy pdata ,rega 
+0x3dbd 012069 branch mouse_set_sensor_reg 
+:      012071 mouse_p3205_dpi:
+0x3dbe 012072 store 1 ,mem_mouse_cpi_count 
+0x3dbf 012073 call moue_seting_cpi_count 
+0x3dc0 012074 fetch 1 ,mem_mouse_cpi_count 
+0x3dc1 012075 setarg mouse_dpi_address 
+0x3dc2 012076 call twspi_read 
+0x3dc3 012077 and pdata ,0xf8 ,temp 
+0x3dc4 012078 fetch 1 ,mem_mouse_cpi_count 
+0x3dc5 012079 iadd temp ,pdata 
+0x3dc6 012080 lshift8 pdata ,pdata 
+0x3dc7 012081 add pdata ,mouse_dpi_address ,pdata 
+0x3dc8 012082 branch twspi_write 
+:      012085 mouse_init_environment:
+0x3dc9 012086 call app_initflag_check 
+0x3dca 012087 branch mouse_eeprom_load_recon_info ,zero 
+0x3dcb 012088 call mouse_ble_init_address 
+0x3dcc 012089 call mouse_store_eeprom_device_info 
+0x3dcd 012090 branch app_initflag_store 
+:      012093 mouse_24g_pairing_button:
+0x3dce 012094 fetch 2 ,mem_24g_pairing_timer_count 
+0x3dcf 012095 rtn blank 
+0x3dd0 012096 fetch mouse_flag_len ,mem_mouse_flag 
+0x3dd1 012097 rtnbit0 mouse_enable_24g 
+0x3dd2 012098 rtnbit1 mosue_24g_pairing_flag 
+0x3dd3 012099 rtnmark1 mark_24g 
+0x3dd4 012100 call mouse_check_key_gpio 
+0x3dd5 012101 rtnne mouse_lmr_button 
+0x3dd6 012102 call mouse_devce_led_off 
+0x3dd7 012103 arg mosue_24g_pairing_flag ,queue 
+0x3dd8 012104 call mouse_enable_function_flag 
+0x3dd9 012105 setarg 0 
+0x3dda 012106 store 2 ,mem_mouse_direct_timer 
+0x3ddb 012107 store 1 ,mem_mouse_send_blank_timer 
+0x3ddc 012108 call g24_set0_mem_check_dongle_times 
+0x3ddd 012110 fetch 2 ,mem_ui_state_map 
+0x3dde 012111 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+0x3ddf 012112 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x3de0 012113 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x3de1 012114 call mouse_stop_discovery 
+0x3de2 012115 branch g24_start_pairing_sm1 
+:      012118 mouse_idle:
+0x3de3 012119 call mouse_24g_pairing_button 
+0x3de4 012120 call ui_check_paring_button 
+0x3de5 012121 call mouse_dpi_cheak 
+0x3de6 012122 call mouse_usb_isr 
+0x3de7 012123 call mouse_wheel_check 
+0x3de8 012124 branch mouse_usb_mode 
+:      012125 mouse_usb_isr:
+0x3de9 012126 fetch mouse_flag_len ,mem_mouse_flag 
+0x3dea 012127 rtnbit0 mouse_enable_usb 
+0x3deb 012128 call usb_isr 
+0x3dec 012129 branch usb_offline_state 
+:      012131 mouse_cheak_usb:
+0x3ded 012132 hfetch 1 ,core_usb_addr 
+0x3dee 012133 bbit0 7 ,mouse_usb_no_exsit 
+0x3def 012134 bbit1 7 ,mouse_usb_exsit 
+0x3df0 012135 rtn 
+:      012136 mouse_usb_no_exsit:
+0x3df1 012137 fetch 1 ,mem_usb_addr 
+0x3df2 012138 rtnbit0 7 
+0x3df3 012139 branch soft_reset_chip 
+:      012140 mouse_usb_exsit:
+0x3df4 012141 fetch 1 ,mem_usb_addr 
+0x3df5 012142 rtnbit1 7 
+0x3df6 012143 branch mouse_stop_bluetooth_mode 
+:      012145 mouse_usb_mode:
+0x3df7 012146 call mouse_cheak_usb 
+0x3df8 012147 hfetch 1 ,core_usb_addr 
+0x3df9 012148 store 1 ,mem_usb_addr 
+0x3dfa 012149 rtnbit0 7 
+0x3dfb 012150 call mouse_clkn_check 
+0x3dfc 012151 fetch 4 ,mem_btclk_sensor 
+0x3dfd 012152 fetcht 1 ,mem_wire_usb_interval 
+0x3dfe 012153 iadd temp ,temp 
+0x3dff 012154 copy clkn_bt ,pdata 
+0x3e00 012155 isub temp ,null 
+0x3e01 012156 nrtn positive 
+0x3e02 012157 store 4 ,mem_btclk_sensor 
+0x3e03 012158 call mouse_motion 
+0x3e04 012159 nrtn user 
+0x3e05 012160 jam 4 ,mem_usb_tx_enable 
+0x3e06 012161 branch mouse_wired_to_usb 
+:      012163 mouse_clkn_check:
+0x3e07 012164 fetcht 4 ,mem_btclk_sensor 
+0x3e08 012165 copy clkn_bt ,pdata 
+0x3e09 012166 isub temp ,null 
+0x3e0a 012167 ncall mouse_clkn_timeout ,positive 
+0x3e0b 012168 rtn 
+:      012169 mouse_clkn_timeout:
+0x3e0c 012170 setarg 0 
+0x3e0d 012171 store 4 ,mem_btclk_sensor 
+0x3e0e 012172 rtn 
+:      012176 mouse_wired_to_usb:
+0x3e0f 012177 fetch 1 ,mem_usb_tx_enable 
+0x3e10 012178 rtnbit0 2 
+0x3e11 012179 branch mouse_data_push 
+:      012180 mouse_data_push:
+0x3e12 012181 hfetch 1 ,core_usb_addr 
+0x3e13 012182 rtnbit0 7 
+0x3e14 012183 jam usb_ep2_ms ,mem_usb_ep2_data 
+0x3e15 012184 setarg ms_report_id 
+0x3e16 012185 store 1 ,mem_usb_mouse_data 
+0x3e17 012186 fetch 7 ,mem_mouse_key 
+0x3e18 012187 istore 7 ,contw 
+0x3e19 012188 rtn 
+:      012191 mouse_enable_clock_qdecoder:
+0x3e1a 012192 hfetch 2 ,core_clkoff 
+0x3e1b 012193 set0 clock_off_qdecoder ,pdata 
+0x3e1c 012194 hstore 2 ,core_clkoff 
+0x3e1d 012195 rtn 
+:      012197 mouse_param_init:
+0x3e1e 012198 setarg 0x8c00 
+0x3e1f 012199 store 2 ,mem_ui_uuid_table 
+0x3e20 012200 setarg 0x8e7a 
+0x3e21 012201 store 2 ,mem_ui_le_uuid_table 
+0x3e22 012202 setarg 0x2402 
+0x3e23 012203 store 2 ,mem_fcomp_mul 
+0x3e24 012204 setarg 0x2580 
+0x3e25 012205 store 3 ,mem_class 
+0x3e26 012206 jam 3 ,mem_lpm_mult_timeout 
+0x3e27 012207 jam 8 ,mem_lpm_overhead 
+0x3e28 012208 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x3e29 012209 setarg 0x0200 
+0x3e2a 012210 store 2 ,mem_lpm_interval 
+0x3e2b 012211 jam 0x17 ,mem_le_local_mtu 
+0x3e2c 012212 jam 0x17 ,mem_le_remote_mtu 
+0x3e2d 012214 setarg 0x0a77 
+0x3e2e 012215 store 2 ,mem_spi_init_clk 
+0x3e2f 012231 setsect 0 ,0x306 
+0x3e30 012232 setsect 1 ,0x4440 
+0x3e31 012233 setsect 2 ,0x10000 
+0x3e32 012234 setsect 3 ,0x4408 
+0x3e33 012235 store 9 ,mem_all_uuid_16bits 
+0x3e34 012236 setsect 0 ,0x1224 
+0x3e35 012237 setsect 1 ,0x4000 
+0x3e36 012238 setsect 2 ,0x0 
+0x3e37 012239 istore 5 ,contw 
+0x3e38 012241 setsect 0 ,0x3ffff 
+0x3e39 012242 setsect 1 ,0x2fe23 
+0x3e3a 012243 setsect 2 ,0x199d9 
+0x3e3b 012244 setsect 3 ,0x20d 
+0x3e3c 012245 store 8 ,mem_features 
+0x3e3d 012247 setarg 0x012c 
+0x3e3e 012248 store 2 ,mem_24g_pairing_timer_count 
+0x3e3f 012249 call le_modified_name 
+0x3e40 012250 fetch mouse_flag_len ,mem_mouse_flag 
+0x3e41 012251 rtnbit0 mouse_enable_gpio_control_adc_sensor 
+0x3e42 012252 call mouse_sensor_set_angle 
+0x3e43 012253 branch mouse_select_adc 
+:      012255 mouse_sensor_set_angle:
+0x3e44 012256 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x3e45 012257 call gpio_config_input 
+0x3e46 012258 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x3e47 012259 call gpio_get_bit 
+0x3e48 012260 jam mouse_3clk_angle ,mem_config_sensor_angle 
+0x3e49 012261 rtn true 
+0x3e4a 012262 jam mouse_12clk_angle ,mem_config_sensor_angle 
+0x3e4b 012263 rtn 
+:      012265 mouse_select_adc:
+0x3e4c 012266 fetcht 1 ,mem_select_adc_gpio 
+0x3e4d 012267 call gpio_config_input 
+0x3e4e 012268 fetcht 1 ,mem_select_adc_gpio 
+0x3e4f 012269 call gpio_get_bit 
+0x3e50 012270 jam adc_config_vinlpm ,mem_adc_config_flag 
+0x3e51 012271 rtn true 
+0x3e52 012272 jam adc_config_gpio ,mem_adc_config_flag 
+0x3e53 012273 rtn 
+:      012276 mouse_adc_init:
+0x3e54 012277 fetch 1 ,mem_adc_config_flag 
+0x3e55 012278 beq adc_config_vinlpm ,mouse_adc_init_data_vinlpm 
+0x3e56 012279 beq adc_config_hvin ,mouse_adc_init_data_hvin 
+0x3e57 012280 beq adc_config_gpio ,mouse_adc_init_data_io 
+0x3e58 012281 branch mouse_adc_init_data_vinlpm 
+:      012283 mouse_adc_init_data_vinlpm:
+0x3e59 012284 fetcht 2 ,mem_2v_adc_vinlpm_data 
+0x3e5a 012285 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x3e5b 012286 isub temp ,pdata 
+0x3e5c 012287 mul32 pdata ,20 ,pdata 
+0x3e5d 012288 div pdata ,100 
+0x3e5e 012289 call wait_div_end 
+0x3e5f 012290 quotient pdata 
+0x3e60 012291 store 2 ,mem_adc_reference_voltage 
+0x3e61 012292 rtn 
+:      012293 mouse_adc_init_data_hvin:
+0x3e62 012294 fetcht 2 ,mem_1v_adc_hvin_data 
+0x3e63 012295 fetch 2 ,mem_5v_adc_hvin_data 
+0x3e64 012296 isub temp ,pdata 
+0x3e65 012297 mul32 pdata ,230 ,pdata 
+0x3e66 012298 div pdata ,400 
+0x3e67 012299 call wait_div_end 
+0x3e68 012300 quotient pdata 
+0x3e69 012301 store 2 ,mem_adc_reference_voltage 
+0x3e6a 012302 rtn 
+:      012303 mouse_adc_init_data_io:
+0x3e6b 012304 fetch 2 ,mem_1v_adc_io_data 
+0x3e6c 012305 store 2 ,mem_adc_reference_voltage 
+0x3e6d 012306 rtn 
+:      012307 mouse_gpio_init:
+0x3e6e 012308 fetcht 1 ,mem_eeprom_wp_gpio 
+0x3e6f 012309 call gpio_config_output 
+0x3e70 012310 call usb_offline_check_init 
+0x3e71 012311 fetcht 1 ,mem_lbutton_gpio 
+0x3e72 012312 call gpio_config_input 
+0x3e73 012313 fetcht 1 ,mem_rbutton_gpio 
+0x3e74 012314 call gpio_config_input 
+0x3e75 012315 fetcht 1 ,mem_mbutton_gpio 
+0x3e76 012316 call gpio_config_input 
+0x3e77 012317 fetcht 1 ,mem_sensor_data_gpio 
+0x3e78 012318 call gpio_config_input 
+0x3e79 012320 fetcht 1 ,mem_sensor_reset_gpio 
+0x3e7a 012321 call gpio_config_output 
+0x3e7b 012323 fetcht 1 ,mem_whee_a_data_gpio 
+0x3e7c 012324 call gpio_config_input 
+0x3e7d 012326 fetcht 1 ,mem_whee_b_data_gpio 
+0x3e7e 012327 call gpio_config_input 
+0x3e7f 012329 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3e80 012330 call gpio_config_input 
+0x3e81 012331 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3e82 012332 call gpio_config_input 
+0x3e83 012334 fetcht 1 ,mem_bk_button_gpio 
+0x3e84 012335 call gpio_config_input 
+0x3e85 012336 fetcht 1 ,mem_fw_button_gpio 
+0x3e86 012337 call gpio_config_input 
+0x3e87 012339 fetcht 1 ,mem_config_low_voltage_alarm_gpio 
+0x3e88 012340 call gpio_config_output 
+0x3e89 012342 fetcht 1 ,mem_config_device1_led_gpio 
+0x3e8a 012343 call gpio_config_output 
+0x3e8b 012345 fetcht 1 ,mem_config_device2_led_gpio 
+0x3e8c 012346 call gpio_config_output 
+0x3e8d 012348 fetcht 1 ,mem_config_device3_led_gpio 
+0x3e8e 012349 call gpio_config_output 
+0x3e8f 012351 fetcht 1 ,mem_dpi_led_gpio 
+0x3e90 012352 call gpio_config_output 
+0x3e91 012354 fetcht 1 ,mem_config_select_device_button_gpio 
+0x3e92 012355 call gpio_config_input 
+0x3e93 012357 fetcht 1 ,mem_config_bt_button_gpio 
+0x3e94 012358 call gpio_config_input 
+0x3e95 012360 fetcht 1 ,mem_dpi_button_gpio 
+0x3e96 012361 branch gpio_config_input 
+:      012363 mouse_wheel_gpio_set_wake:
+0x3e97 012364 fetcht 1 ,mem_whee_a_data_gpio 
+0x3e98 012365 call gpio_set_wake_by_current_state 
+0x3e99 012366 fetcht 1 ,mem_whee_b_data_gpio 
+0x3e9a 012367 call gpio_set_wake_by_current_state 
+0x3e9b 012368 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3e9c 012369 call gpio_set_wake_by_current_state 
+0x3e9d 012370 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3e9e 012371 branch gpio_set_wake_by_current_state 
+:      012373 mouse_before_hibernate_wheel_gpio_set:
+0x3e9f 012374 fetcht 1 ,mem_whee_a_data_gpio 
+0x3ea0 012375 call mouse_gpio_set_pupd_by_input 
+0x3ea1 012376 fetcht 1 ,mem_whee_b_data_gpio 
+0x3ea2 012377 call mouse_gpio_set_pupd_by_input 
+0x3ea3 012378 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ea4 012379 call mouse_gpio_set_pupd_by_input 
+0x3ea5 012380 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3ea6 012381 branch mouse_gpio_set_pupd_by_input 
+:      012383 mouse_gpio_set_pupd_by_input:
+0x3ea7 012384 sub temp ,ui_button_gpio_disable ,null 
+0x3ea8 012385 rtn zero 
+0x3ea9 012386 and temp ,0x7f ,queue 
+0x3eaa 012387 hfetch 4 ,core_gpio_in 
+0x3eab 012388 qisolate1 pdata 
+0x3eac 012389 hfetch 4 ,core_gpio_pu0 
+0x3ead 012390 qsetflag true ,pdata 
+0x3eae 012391 hstore 4 ,core_gpio_pu0 
+0x3eaf 012392 hfetch 4 ,core_gpio_pd0 
+0x3eb0 012393 nqsetflag true ,pdata 
+0x3eb1 012394 hstore 4 ,core_gpio_pd0 
+0x3eb2 012395 rtn 
+:      012397 mouse_before_hibernate:
+0x3eb3 012398 enable user 
+0x3eb4 012399 hfetch 4 ,0x8138 
+0x3eb5 012400 setflag user ,26 ,pdata 
+0x3eb6 012401 hstore 4 ,core_lpm_reg 
+0x3eb7 012402 call lpm_write_ctrl 
+0x3eb8 012403 call mouse_devce_led_off 
+0x3eb9 012404 call mouse_before_hibernate_wheel_gpio_set 
+0x3eba 012406 branch mouse_lpm_before_common 
+:      012410 mouse_process_lpm_before:
+0x3ebb 012411 call mouse_lpm_before_common 
+0x3ebc 012412 fetch 1 ,mem_lpm_current_mult 
+0x3ebd 012413 nrtn blank 
+0x3ebe 012414 branch gpio_clr_wake 
+:      012416 mouse_lpm_before_common:
+0x3ebf 012417 call mouse_wheel_check 
+0x3ec0 012418 arg mouse_spi1_clk_gpio ,temp 
+0x3ec1 012419 fetch mouse_flag_len ,mem_mouse_flag 
+0x3ec2 012420 isolate1 mouse_enable_spi2 ,pdata 
+0x3ec3 012421 call mouse_spi_clk_gpio ,true 
+0x3ec4 012422 call gpio_config_output 
+0x3ec5 012423 call twspi_disable 
+0x3ec6 012427 fetcht 1 ,mem_lbutton_gpio 
+0x3ec7 012428 call gpio_set_wake_by_current_state 
+0x3ec8 012429 fetcht 1 ,mem_rbutton_gpio 
+0x3ec9 012430 call gpio_set_wake_by_current_state 
+0x3eca 012431 fetcht 1 ,mem_mbutton_gpio 
+0x3ecb 012432 call gpio_set_wake_by_current_state 
+0x3ecc 012434 fetcht 1 ,mem_bk_button_gpio 
+0x3ecd 012435 call gpio_set_wake_by_current_state 
+0x3ece 012436 fetcht 1 ,mem_fw_button_gpio 
+0x3ecf 012437 call gpio_set_wake_by_current_state 
+0x3ed0 012438 fetcht 1 ,mem_dpi_button_gpio 
+0x3ed1 012439 call gpio_set_wake_by_current_state 
+0x3ed2 012440 fetcht 1 ,mem_config_select_device_button_gpio 
+0x3ed3 012441 call gpio_set_wake_by_current_state 
+0x3ed4 012442 fetcht 1 ,mem_whee_a_data_gpio 
+0x3ed5 012443 call gpio_set_wake_by_current_state 
+0x3ed6 012444 fetcht 1 ,mem_whee_b_data_gpio 
+0x3ed7 012445 call gpio_set_wake_by_current_state 
+0x3ed8 012446 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ed9 012447 call gpio_set_wake_by_current_state 
+0x3eda 012448 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3edb 012449 call gpio_set_wake_by_current_state 
+0x3edc 012450 fetcht 1 ,mem_sensor_data_gpio 
+0x3edd 012451 branch gpio_set_wake 
+:      012455 mouse_spi_clk_gpio:
+0x3ede 012456 arg mouse_spi2_clk_gpio ,temp 
+0x3edf 012457 rtn 
+:      012459 mouse_wheel_check:
+0x3ee0 012460 bpatch patch1c_4 ,mem_patch1c 
+0x3ee1 012461 call mouse_t_wheel_scan 
+0x3ee2 012462 call mouse_wheel_scan 
+0x3ee3 012463 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3ee4 012464 fetcht 1 ,mem_wheel_tb_old_pinlevel 
+0x3ee5 012465 store 1 ,mem_wheel_tb_old_pinlevel 
+0x3ee6 012466 isub temp ,null 
+0x3ee7 012467 nbranch app_lpm_wake_auto_lock ,zero 
+0x3ee8 012468 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3ee9 012469 fetcht 1 ,mem_mwheel_b_old_pinlevel 
+0x3eea 012470 store 1 ,mem_mwheel_b_old_pinlevel 
+0x3eeb 012471 isub temp ,null 
+0x3eec 012472 nbranch app_lpm_wake_auto_lock ,zero 
+0x3eed 012473 rtn 
+:      012474 mouse_t_wheel_scan:
+0x3eee 012475 fetch 1 ,mem_whee_ta_data_gpio 
+0x3eef 012476 rtneq gpio_disable 
+0x3ef0 012477 arg 0 ,rega 
+0x3ef1 012478 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ef2 012479 call gpio_get_bit 
+0x3ef3 012480 setflag true ,0 ,rega 
+0x3ef4 012481 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3ef5 012482 call gpio_get_bit 
+0x3ef6 012483 setflag true ,1 ,rega 
+0x3ef7 012484 copy rega ,pdata 
+0x3ef8 012485 store 1 ,mem_wheel_tb_new_pinlevel 
+0x3ef9 012486 beq 0x01 ,mouse_t_wheel_scan_judge1 
+0x3efa 012487 beq 0x02 ,mouse_t_wheel_scan_judge2 
+0x3efb 012488 fetch 1 ,mem_wheel_tog 
+0x3efc 012489 bbit1 7 ,mouse_t_wheel_scan_judge3 
+0x3efd 012490 rtn 
+:      012492 mouse_t_wheel_scan_judge1:
+0x3efe 012493 fetch 1 ,mem_wheel_tb_old_pinlevel 
+0x3eff 012494 beq 0 ,mouse_t_wheel_scan_judge11 
+0x3f00 012495 beq 3 ,mouse_t_wheel_scan_judge12 
+0x3f01 012496 rtn 
+:      012497 mouse_t_wheel_scan_judge2:
+0x3f02 012498 fetch 1 ,mem_wheel_tb_old_pinlevel 
+0x3f03 012499 beq 0 ,mouse_t_wheel_scan_judge21 
+0x3f04 012500 beq 3 ,mouse_t_wheel_scan_judge22 
+0x3f05 012501 rtn 
+:      012502 mouse_t_wheel_scan_judge11:
+0x3f06 012503 jam 0x82 ,mem_wheel_tog 
+0x3f07 012504 rtn 
+:      012505 mouse_t_wheel_scan_judge12:
+0x3f08 012506 jam 0x81 ,mem_wheel_tog 
+0x3f09 012507 rtn 
+:      012508 mouse_t_wheel_scan_judge21:
+0x3f0a 012509 jam 0x80 ,mem_wheel_tog 
+0x3f0b 012510 rtn 
+:      012511 mouse_t_wheel_scan_judge22:
+0x3f0c 012512 jam 0x83 ,mem_wheel_tog 
+0x3f0d 012513 rtn 
+:      012514 mouse_t_wheel_scan_judge3:
+0x3f0e 012515 fetch 1 ,mem_wheel_tog 
+0x3f0f 012516 set0 7 ,pdata 
+0x3f10 012517 store 1 ,mem_wheel_tog 
+0x3f11 012518 beq 0 ,mouse_t_wheel_scan_judge30 
+0x3f12 012519 beq 1 ,mouse_t_wheel_scan_judge31 
+0x3f13 012520 beq 2 ,mouse_t_wheel_scan_judge32 
+0x3f14 012521 beq 3 ,mouse_t_wheel_scan_judge33 
+0x3f15 012522 rtn 
+:      012523 mouse_t_wheel_scan_judge30:
+0x3f16 012524 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f17 012525 beq 3 ,mouse_wheel_t_forward 
+0x3f18 012526 rtn 
+:      012527 mouse_t_wheel_scan_judge31:
+0x3f19 012528 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f1a 012529 beq 0 ,mouse_wheel_t_forward 
+0x3f1b 012530 rtn 
+:      012531 mouse_t_wheel_scan_judge32:
+0x3f1c 012532 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f1d 012533 beq 3 ,mouse_wheel_t_back 
+0x3f1e 012534 rtn 
+:      012535 mouse_t_wheel_scan_judge33:
+0x3f1f 012536 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f20 012537 beq 0 ,mouse_wheel_t_back 
+0x3f21 012538 rtn 
+:      012539 mouse_wheel_t_forward:
+0x3f22 012540 fetch 1 ,mem_mouse_tz_data_count1 
+0x3f23 012541 increase 1 ,pdata 
+0x3f24 012542 store 1 ,mem_mouse_tz_data_count1 
+0x3f25 012543 sub pdata ,1 ,null 
+0x3f26 012544 rtn positive 
+0x3f27 012545 jam 0 ,mem_mouse_tz_data_count1 
+0x3f28 012546 fetch 1 ,mem_mouse_tz_data 
+0x3f29 012547 increase 1 ,pdata 
+0x3f2a 012548 store 1 ,mem_mouse_tz_data 
+0x3f2b 012549 rtn 
+:      012550 mouse_wheel_t_back:
+0x3f2c 012551 fetch 1 ,mem_mouse_tz_data_count 
+0x3f2d 012552 increase 1 ,pdata 
+0x3f2e 012553 store 1 ,mem_mouse_tz_data_count 
+0x3f2f 012554 sub pdata ,1 ,null 
+0x3f30 012555 rtn positive 
+0x3f31 012556 jam 0 ,mem_mouse_tz_data_count 
+0x3f32 012557 fetch 1 ,mem_mouse_tz_data 
+0x3f33 012558 increase -1 ,pdata 
+0x3f34 012559 store 1 ,mem_mouse_tz_data 
+0x3f35 012560 rtn 
+:      012563 mouse_wheel_scan:
+0x3f36 012564 fetch 1 ,mem_whee_a_data_gpio 
+0x3f37 012565 rtneq gpio_disable 
+0x3f38 012566 arg 0 ,rega 
+0x3f39 012567 fetcht 1 ,mem_whee_a_data_gpio 
+0x3f3a 012568 call gpio_get_bit 
+0x3f3b 012569 setflag true ,0 ,rega 
+0x3f3c 012570 fetcht 1 ,mem_whee_b_data_gpio 
+0x3f3d 012571 call gpio_get_bit 
+0x3f3e 012572 setflag true ,1 ,rega 
+0x3f3f 012573 copy rega ,pdata 
+0x3f40 012574 store 1 ,mem_mwheel_b_new_pinlevel 
+0x3f41 012575 beq 0x01 ,mouse_wheel_scan_judge1 
+0x3f42 012576 beq 0x02 ,mouse_wheel_scan_judge2 
+0x3f43 012577 fetch 1 ,mem_mwheel_tog 
+0x3f44 012578 bbit1 7 ,mouse_wheel_scan_judge3 
+0x3f45 012579 rtn 
+:      012581 mouse_wheel_scan_judge1:
+0x3f46 012582 fetch 1 ,mem_mwheel_b_old_pinlevel 
+0x3f47 012583 beq 0 ,mouse_wheel_scan_judge11 
+0x3f48 012584 beq 3 ,mouse_wheel_scan_judge12 
+0x3f49 012585 rtn 
+:      012586 mouse_wheel_scan_judge2:
+0x3f4a 012587 fetch 1 ,mem_mwheel_b_old_pinlevel 
+0x3f4b 012588 beq 0 ,mouse_wheel_scan_judge21 
+0x3f4c 012589 beq 3 ,mouse_wheel_scan_judge22 
+0x3f4d 012590 rtn 
+:      012591 mouse_wheel_scan_judge11:
+0x3f4e 012592 jam 0x82 ,mem_mwheel_tog 
+0x3f4f 012593 rtn 
+:      012594 mouse_wheel_scan_judge12:
+0x3f50 012595 jam 0x81 ,mem_mwheel_tog 
+0x3f51 012596 rtn 
+:      012597 mouse_wheel_scan_judge21:
+0x3f52 012598 jam 0x80 ,mem_mwheel_tog 
+0x3f53 012599 rtn 
+:      012600 mouse_wheel_scan_judge22:
+0x3f54 012601 jam 0x83 ,mem_mwheel_tog 
+0x3f55 012602 rtn 
+:      012603 mouse_wheel_scan_judge3:
+0x3f56 012604 fetch 1 ,mem_mwheel_tog 
+0x3f57 012605 set0 7 ,pdata 
+0x3f58 012606 store 1 ,mem_mwheel_tog 
+0x3f59 012607 beq 0 ,mouse_wheel_scan_judge30 
+0x3f5a 012608 beq 1 ,mouse_wheel_scan_judge31 
+0x3f5b 012609 beq 2 ,mouse_wheel_scan_judge32 
+0x3f5c 012610 beq 3 ,mouse_wheel_scan_judge33 
+0x3f5d 012611 rtn 
+:      012612 mouse_wheel_scan_judge30:
+0x3f5e 012613 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f5f 012614 beq 3 ,mouse_wheel_forward 
+0x3f60 012615 rtn 
+:      012616 mouse_wheel_scan_judge31:
+0x3f61 012617 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f62 012618 beq 0 ,mouse_wheel_forward 
+0x3f63 012619 rtn 
+:      012620 mouse_wheel_scan_judge32:
+0x3f64 012621 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f65 012622 beq 3 ,mouse_wheel_back 
+0x3f66 012623 rtn 
+:      012624 mouse_wheel_scan_judge33:
+0x3f67 012625 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f68 012626 beq 0 ,mouse_wheel_back 
+0x3f69 012627 rtn 
+:      012628 mouse_wheel_forward:
+0x3f6a 012629 jam 0 ,mem_mouse_z_data_count1 
+0x3f6b 012630 fetch 1 ,mem_mouse_z_data 
+0x3f6c 012631 increase 1 ,pdata 
+0x3f6d 012632 store 1 ,mem_mouse_z_data 
+0x3f6e 012633 rtn 
+:      012634 mouse_wheel_back:
+0x3f6f 012635 jam 0 ,mem_mouse_z_data_count 
+0x3f70 012636 fetch 1 ,mem_mouse_z_data 
+0x3f71 012637 increase -1 ,pdata 
+0x3f72 012638 store 1 ,mem_mouse_z_data 
+0x3f73 012639 rtn 
+:      012642 mouse_hid_connected:
+0x3f74 012643 setarg hid_handshake_timeout 
+0x3f75 012644 store 1 ,mem_hid_handshake_timer_count 
+0x3f76 012645 rtn 
+:      012647 mouse_send_process:
+0x3f77 012648 fetch 1 ,mem_app_handshake_flag 
+0x3f78 012649 rtn blank 
+0x3f79 012650 call l2cap_malloc_is_fifo_nearly_full 
+0x3f7a 012651 nrtn blank 
+0x3f7b 012652 fetch mouse_flag_len ,mem_mouse_flag 
+0x3f7c 012653 bbit1 mosue_24g_pairing_flag ,mouse_send_empty_data 
+0x3f7d 012654 bbit1 mouse_select_device_flag ,mouse_send_empty_data 
+0x3f7e 012655 bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+0x3f7f 012656 call mouse_motion 
+0x3f80 012657 nrtn user 
+:      012658 mouse_send_data:
+0x3f81 012659 arg 9 ,rega 
+0x3f82 012660 call hid_malloc_tx_buff 
+0x3f83 012661 fetch 2 ,mem_hid_int_remote_cid 
+0x3f84 012662 istore 2 ,contw 
+0x3f85 012663 setarg 0x02a1 
+0x3f86 012664 istore 2 ,contw 
+0x3f87 012665 fetch 7 ,mem_mouse_key 
+0x3f88 012666 istore 7 ,contw 
+0x3f89 012667 rtn 
+:      012670 mouse_send_empty_data:
+0x3f8a 012671 setarg 0 
+0x3f8b 012672 store 7 ,mem_mouse_key 
+0x3f8c 012673 branch mouse_send_data 
+:      012676 mouse_no_data_timer_init:
+0x3f8d 012677 fetch 2 ,mem_mouse_no_data_timeout 
+0x3f8e 012678 store 2 ,mem_mouse_no_data_timer 
+0x3f8f 012679 rtn 
+:      012682 mouse_fill_data_le:
+0x3f90 012683 bpatch patch1c_5 ,mem_patch1c 
+0x3f91 012684 arg 7 ,rega 
+0x3f92 012685 fetcht 2 ,mem_le_notify_handle 
+0x3f93 012686 call le_att_malloc_tx_notify 
+0x3f94 012687 fetch 7 ,mem_mouse_key 
+0x3f95 012688 istore 7 ,contw 
+0x3f96 012689 rtn 
+:      012691 mouse_motion:
+0x3f97 012692 bpatch patch1c_6 ,mem_patch1c 
+0x3f98 012693 disable user 
+0x3f99 012694 setarg 0 
+0x3f9a 012695 store 6 ,mem_mouse_x 
+0x3f9b 012696 call mouse_cheak_sensor_data 
+0x3f9c 012697 call mouse_zwheel 
+0x3f9d 012698 call mouse_t_zwheel 
+0x3f9e 012699 call mouse_key 
+0x3f9f 012700 nrtn user 
+0x3fa0 012701 call mouse_no_data_timer_init 
+0x3fa1 012702 arg mouse_statue_up_flag ,queue 
+0x3fa2 012703 branch mouse_enable_function_flag 
+:      012705 motion_6clk_direction_dispose:
+0x3fa3 012706 fetch 2 ,mem_mouse_x 
+0x3fa4 012707 sub pdata ,0 ,pdata 
+0x3fa5 012708 store 2 ,mem_mouse_x 
+0x3fa6 012709 branch enable_user 
+:      012710 motion_12clk_direction_dispose:
+0x3fa7 012711 fetch 2 ,mem_mouse_y 
+0x3fa8 012712 sub pdata ,0 ,pdata 
+0x3fa9 012713 store 2 ,mem_mouse_y 
+0x3faa 012714 branch enable_user 
+:      012715 motion_9clk_direction_dispose:
+0x3fab 012716 fetch 2 ,mem_mouse_y 
+0x3fac 012717 sub pdata ,0 ,pdata 
+0x3fad 012718 store 2 ,mem_mouse_y 
+0x3fae 012719 fetch 2 ,mem_mouse_x 
+0x3faf 012720 sub pdata ,0 ,pdata 
+0x3fb0 012721 store 2 ,mem_mouse_x 
+0x3fb1 012722 call mouse_sensor_data_swap_places 
+0x3fb2 012723 branch enable_user 
+:      012724 motion_3clk_direction_dispose:
+0x3fb3 012725 call mouse_sensor_data_swap_places 
+0x3fb4 012726 branch enable_user 
+:      012727 mouse_cheak_sensor_data:
+0x3fb5 012728 fetch 1 ,mem_spi_write_flash_sm 
+0x3fb6 012729 rtnne flash_sm_no_buys 
+0x3fb7 012730 fetch 1 ,mem_config_sensor_type 
+0x3fb8 012731 beq p3205 ,mouse_p32xx_sensor_motion 
+0x3fb9 012732 beq p3065 ,mouse_p32xx_sensor_motion 
+0x3fba 012733 beq ka8 ,mouse_p32xx_sensor_motion 
+0x3fbb 012734 beq p3204 ,mouse_p32xx_sensor_motion 
+0x3fbc 012735 beq p3212 ,mouse_p3212_sensor_motion 
+0x3fbd 012736 beq p3610 ,mouse_p3610_sensor_motion 
+0x3fbe 012737 beq p3065_xy ,mouse_p32xx_sensor_motion 
+0x3fbf 012738 branch mouse_p32xx_sensor_motion 
+:      012740 mouse_clear_sensor_data:
+0x3fc0 012741 fetch 1 ,mem_mouse_move_flag 
+0x3fc1 012742 call mouse_read_sensor_common ,blank 
+0x3fc2 012743 jam 1 ,mem_mouse_move_flag 
+0x3fc3 012744 rtn 
+:      012747 mouse_p3212_sensor_motion:
+0x3fc4 012748 call mouse_clear_sensor_data 
+0x3fc5 012749 fetcht 1 ,mem_sensor_data_gpio 
+0x3fc6 012750 call gpio_get_bit 
+0x3fc7 012751 nrtn true 
+0x3fc8 012752 setarg pan_reg_pid_l 
+0x3fc9 012753 call twspi_read 
+0x3fca 012754 bne p32xx_id1 ,mouse_twspi_reset 
+0x3fcb 012755 setarg pan_reg_motion_staus 
+0x3fcc 012756 call twspi_read 
+0x3fcd 012757 rtnbit0 7 
+0x3fce 012758 call mouse_read_sensor_common 
+0x3fcf 012759 call mouse_read_3212sensor_xy_high 
+0x3fd0 012760 store 1 ,mem_mouse_xy_h 
+0x3fd1 012761 rshift4 pdata ,pdata 
+0x3fd2 012762 call extsign_bit3 
+0x3fd3 012763 store 1 ,mem_mouse_x + 1 
+0x3fd4 012764 fetch 1 ,mem_mouse_xy_h 
+0x3fd5 012765 and pdata ,0x0f ,pdata 
+0x3fd6 012766 call extsign_bit3 
+0x3fd7 012767 store 1 ,mem_mouse_y + 1 
+0x3fd8 012768 fetch 1 ,mem_config_sensor_angle 
+0x3fd9 012769 beq mouse_6clk_angle ,motion_6clk_direction_dispose 
+0x3fda 012770 beq mouse_9clk_angle ,motion_9clk_direction_dispose 
+0x3fdb 012771 beq mouse_12clk_angle ,motion_12clk_direction_dispose 
+0x3fdc 012772 beq mouse_3clk_angle ,motion_3clk_direction_dispose 
+0x3fdd 012773 rtn 
+:      012775 mouse_read_3212sensor_xy_high:
+0x3fde 012776 setarg 0x12 
+0x3fdf 012777 branch twspi_read 
+:      012779 mouse_p3065_judge:
+0x3fe0 012780 beq p3065_id1 ,mouse_p32xx_sensor_motion_1 
+0x3fe1 012781 branch mouse_twspi_reset 
+:      012783 mouse_p32xx_sensor_motion:
+0x3fe2 012784 call mouse_clear_sensor_data 
+0x3fe3 012785 disable user 
+0x3fe4 012786 fetcht 1 ,mem_sensor_data_gpio 
+0x3fe5 012787 call gpio_get_bit 
+0x3fe6 012788 nrtn true 
+0x3fe7 012789 setarg pan_reg_pid_l 
+0x3fe8 012790 call twspi_read 
+0x3fe9 012791 bne p32xx_id1 ,mouse_p3065_judge 
+:      012792 mouse_p32xx_sensor_motion_1:
+0x3fea 012793 setarg pan_reg_motion_staus 
+0x3feb 012794 call twspi_read 
+0x3fec 012795 rtnbit0 7 
+0x3fed 012796 call mouse_read_sensor_common 
+0x3fee 012797 fetch 1 ,mem_mouse_x 
+0x3fef 012798 call extsign 
+0x3ff0 012799 store 2 ,mem_mouse_x 
+0x3ff1 012800 fetch 1 ,mem_mouse_y 
+0x3ff2 012801 call extsign 
+0x3ff3 012802 store 2 ,mem_mouse_y 
+0x3ff4 012803 fetch 1 ,mem_config_sensor_angle 
+0x3ff5 012804 beq mouse_6clk_angle ,motion32xx_6clk_direction_selection 
+0x3ff6 012805 beq mouse_9clk_angle ,motion32xx_9clk_direction_selection 
+0x3ff7 012806 beq mouse_12clk_angle ,motion32xx_12clk_direction_selection 
+0x3ff8 012807 beq mouse_3clk_angle ,motion32xx_3clk_direction_selection 
+0x3ff9 012808 rtn 
+:      012810 motion32xx_6clk_direction_selection:
+0x3ffa 012811 call motion_6clk_direction_dispose 
+0x3ffb 012812 branch mouse_sensor_sdio_low 
+:      012813 motion32xx_9clk_direction_selection:
+0x3ffc 012814 call motion_9clk_direction_dispose 
+0x3ffd 012815 branch mouse_sensor_sdio_low 
+:      012816 motion32xx_12clk_direction_selection:
+0x3ffe 012817 call motion_12clk_direction_dispose 
+0x3fff 012818 branch mouse_sensor_sdio_low 
+:      012819 motion32xx_3clk_direction_selection:
+0x4000 012820 call motion_3clk_direction_dispose 
+0x4001 012821 branch mouse_sensor_sdio_low 
+:      012823 mouse_sensor_data_swap_places:
+0x4002 012824 fetch 2 ,mem_mouse_y 
+0x4003 012825 fetcht 2 ,mem_mouse_x 
+0x4004 012826 store 2 ,mem_mouse_x 
+0x4005 012827 storet 2 ,mem_mouse_y 
+0x4006 012828 rtn 
+:      012830 mouse_p3610sensor_read:
+0x4007 012831 call spi_ncs_enable 
+0x4008 012832 nop 100 
+0x4009 012833 copy regb ,pdata 
+0x400a 012834 call twspi_read 
+0x400b 012835 copy pdata ,regb 
+0x400c 012836 call spi_ncs_disable 
+0x400d 012837 nop 100 
+0x400e 012838 copy regb ,pdata 
+0x400f 012839 rtn 
+:      012840 mouse_p3610_sensor_motion:
+0x4010 012841 disable user 
+0x4011 012842 fetcht 1 ,mem_sensor_data_gpio 
+0x4012 012843 call gpio_get_bit 
+0x4013 012844 nrtn true 
+0x4014 012845 arg pan_reg_motion_staus ,regb 
+0x4015 012846 call mouse_p3610sensor_read 
+0x4016 012847 rtnbit0 7 
+0x4017 012848 arg pan_reg_pid_l ,regb 
+0x4018 012849 call mouse_p3610sensor_read 
+0x4019 012850 store 1 ,mem_sensor_id1 
+0x401a 012851 bne p3610_id1 ,mouse_init_3610sensor_reset 
+0x401b 012852 fetch 1 ,mem_mouse_move_flag 
+0x401c 012853 call mouse_read_sensor3610_data ,blank 
+0x401d 012854 jam 1 ,mem_mouse_move_flag 
+0x401e 012855 call mouse_read_sensor3610_data 
+0x401f 012856 fetch 1 ,mem_mouse_xy_h 
+0x4020 012857 rshift4 pdata ,pdata 
+0x4021 012858 call extsign_bit3 
+0x4022 012859 store 1 ,mem_mouse_x + 1 
+0x4023 012860 fetch 1 ,mem_mouse_xy_h 
+0x4024 012861 and pdata ,0x0f ,pdata 
+0x4025 012862 call extsign_bit3 
+0x4026 012863 store 1 ,mem_mouse_y + 1 
+0x4027 012864 fetch 1 ,mem_config_sensor_angle 
+0x4028 012865 beq 0 ,motion3610_6clk_direction_selection 
+0x4029 012866 beq 1 ,motion3610_9clk_direction_selection 
+0x402a 012867 beq 2 ,motion3610_12clk_direction_selection 
+0x402b 012868 beq 3 ,motion3610_3clk_direction_selection 
+0x402c 012869 rtn 
+:      012871 mouse_3610_smart_select:
+0x402d 012872 fetch 1 ,mem_sensor_smart_flag 
+0x402e 012873 beq p3610_smart_enable ,mouse_3610_smart_disable 
+0x402f 012874 beq p3610_smart_disable ,mouse_3610_smart_enable 
+0x4030 012875 rtn 
+:      012878 motion3610_6clk_direction_selection:
+0x4031 012879 call motion_6clk_direction_dispose 
+0x4032 012880 branch mouse_3610_smart_select 
+:      012882 motion3610_12clk_direction_selection:
+0x4033 012883 call motion_12clk_direction_dispose 
+0x4034 012884 branch mouse_3610_smart_select 
+:      012886 motion3610_9clk_direction_selection:
+0x4035 012887 call motion_9clk_direction_dispose 
+0x4036 012888 branch mouse_3610_smart_select 
+:      012890 motion3610_3clk_direction_selection:
+0x4037 012891 call motion_3clk_direction_dispose 
+0x4038 012892 branch mouse_3610_smart_select 
+:      012894 mouse_read_sensor3610_data:
+0x4039 012895 call spi_ncs_enable 
+0x403a 012896 call mouse_read_sensor_common 
+0x403b 012897 arg 5 ,pdata 
+0x403c 012898 call twspi_read 
+0x403d 012899 store 1 ,mem_mouse_xy_h 
+0x403e 012900 arg 7 ,pdata 
+0x403f 012901 call twspi_read 
+0x4040 012902 store 1 ,mem_sensor_shutter_hi 
+0x4041 012903 arg 8 ,pdata 
+0x4042 012904 call twspi_read 
+0x4043 012905 store 1 ,mem_sensor_shutter_lo 
+0x4044 012906 branch spi_ncs_disable 
+:      012909 mouse_3610_smart_enable:
+0x4045 012910 fetch 1 ,mem_sensor_shutter_hi 
+0x4046 012911 rtnne 0 
+0x4047 012912 fetch 1 ,mem_sensor_shutter_lo 
+0x4048 012913 sub pdata ,45 ,null 
+0x4049 012914 rtn positive 
+0x404a 012915 jam p3610_smart_enable ,mem_sensor_smart_flag 
+0x404b 012916 setarg 0xba41 
+0x404c 012917 call sensor_write 
+0x404d 012918 setarg 0x0032 
+0x404e 012919 call sensor_write 
+0x404f 012920 setarg 0xb541 
+0x4050 012921 branch sensor_write 
+:      012922 mouse_3610_smart_disable:
+0x4051 012923 fetch 1 ,mem_sensor_shutter_hi 
+0x4052 012924 rtnne 0 
+0x4053 012925 fetch 1 ,mem_sensor_shutter_lo 
+0x4054 012926 sub pdata ,45 ,null 
+0x4055 012927 nrtn positive 
+0x4056 012928 jam p3610_smart_disable ,mem_sensor_smart_flag 
+0x4057 012929 setarg 0xba41 
+0x4058 012930 call sensor_write 
+0x4059 012931 setarg 0x8032 
+0x405a 012932 call sensor_write 
+0x405b 012933 setarg 0xb541 
+0x405c 012934 branch sensor_write 
+:      012938 mouse_read_sensor_common:
+0x405d 012939 arg pan_reg_delta_x ,pdata 
+0x405e 012940 call twspi_read 
+0x405f 012941 store 2 ,mem_mouse_x 
+0x4060 012942 arg pan_reg_delta_y ,pdata 
+0x4061 012943 call twspi_read 
+0x4062 012944 store 2 ,mem_mouse_y 
+0x4063 012945 rtn 
+:      012947 mouse_set_qdecoder_x:
+0x4064 012948 arg mouse_default_xa_gpio ,temp 
+0x4065 012949 call gpio_config_input 
+0x4066 012950 arg mouse_default_xa_gpio ,temp 
+0x4067 012951 call gpio_get_bit 
+0x4068 012952 rtn true 
+0x4069 012953 hfetch 1 ,core_qdec_cntx 
+0x406a 012954 set1 4 ,pdata 
+0x406b 012955 hstore 1 ,core_qdec_cntx 
+0x406c 012956 rtn 
+:      012958 mouse_hardware_zwheel:
+0x406d 012959 fetcht 1 ,mem_mouse_z_data 
+0x406e 012960 hfetch 1 ,core_qdec_cntx 
+0x406f 012961 iadd temp ,pdata 
+0x4070 012962 rtn blank 
+0x4071 012963 store 1 ,mem_mouse_z 
+0x4072 012964 jam 0 ,mem_mouse_z_data 
+0x4073 012965 branch enable_user 
+:      012966 mouse_hardware_zwheel_beforelpm:
+0x4074 012967 fetcht 1 ,mem_mouse_z_data 
+0x4075 012968 hfetch 1 ,core_qdec_cntx 
+0x4076 012969 iadd temp ,pdata 
+0x4077 012970 store 1 ,mem_mouse_z_data 
+0x4078 012971 rtn 
+:      012972 mouse_zwheel:
+0x4079 012973 fetch 1 ,mem_mouse_z_data 
+0x407a 012974 rtn blank 
+0x407b 012975 store 1 ,mem_mouse_z 
+0x407c 012976 jam 0 ,mem_mouse_z_data 
+0x407d 012977 branch enable_user 
+:      012979 mouse_t_zwheel:
+0x407e 012980 fetch 1 ,mem_mouse_tz_data 
+0x407f 012981 rtn blank 
+0x4080 012982 store 1 ,mem_mouse_tz 
+0x4081 012983 jam 0 ,mem_mouse_tz_data 
+0x4082 012984 branch enable_user 
+:      012986 mouse_check_key_gpio:
+0x4083 012987 arg 0 ,rega 
+0x4084 012988 fetcht 1 ,mem_lbutton_gpio 
+0x4085 012989 call gpio_get_bit 
+0x4086 012990 setflag true ,0 ,rega 
+0x4087 012991 fetcht 1 ,mem_rbutton_gpio 
+0x4088 012992 call gpio_get_bit 
+0x4089 012993 setflag true ,1 ,rega 
+0x408a 012994 fetcht 1 ,mem_mbutton_gpio 
+0x408b 012995 call gpio_get_bit 
+0x408c 012996 setflag true ,2 ,rega 
+0x408d 012997 call mouse_check_s_key_gpio 
+0x408e 012998 copy rega ,pdata 
+0x408f 012999 rtn 
+:      013000 mouse_check_s_key_gpio:
+0x4090 013001 fetch 1 ,mem_bk_button_gpio 
+0x4091 013002 rtneq gpio_disable 
+0x4092 013003 fetcht 1 ,mem_bk_button_gpio 
+0x4093 013004 call gpio_get_bit 
+0x4094 013005 setflag true ,3 ,rega 
+0x4095 013006 fetcht 1 ,mem_fw_button_gpio 
+0x4096 013007 call gpio_get_bit 
+0x4097 013008 setflag true ,4 ,rega 
+0x4098 013009 rtn 
+:      013011 mouse_key:
+0x4099 013012 call mouse_check_key_gpio 
+0x409a 013013 call mouse_set_mult 
+0x409b 013014 call mouse_24g_key 
+0x409c 013015 copy rega ,pdata 
+0x409d 013016 fetcht 1 ,mem_mouse_key 
+0x409e 013017 store 1 ,mem_mouse_key 
+0x409f 013018 ixor temp ,pdata 
+0x40a0 013019 sub pdata ,0 ,null 
+0x40a1 013020 rtn zero 
+0x40a2 013021 branch enable_user 
+:      013023 mouse_24g_key:
+0x40a3 013024 rtnmark0 mark_24g 
+0x40a4 013025 copy rega ,pdata 
+0x40a5 013026 rtn blank 
+0x40a6 013027 store 1 ,mem_mouse_key 
+0x40a7 013028 branch enable_user 
+:      013031 mouse_set_mult:
+0x40a8 013032 fetch 2 ,mem_ui_state_map 
+0x40a9 013033 bbit1 ui_state_ble_connected ,mouse_set_ble_mult 
+0x40aa 013034 fetch 2 ,mem_ui_state_map 
+0x40ab 013035 bbit1 ui_state_bt_connected ,mouse_set_bt_mult 
+0x40ac 013036 rtn 
+:      013037 mouse_set_ble_mult:
+0x40ad 013038 copy rega ,pdata 
+0x40ae 013039 nbranch le_set_config_short_mult ,blank 
+0x40af 013040 branch le_clr_config_short_mult 
+:      013041 mouse_set_bt_mult:
+0x40b0 013042 copy rega ,pdata 
+0x40b1 013043 nbranch classic_bt_set_mult_short_flag ,blank 
+0x40b2 013044 branch classic_bt_clr_mult_short_flag 
+:      013047 mouse_sensor_sdio_low:
+0x40b3 013048 bpatch patch1c_7 ,mem_patch1c 
+0x40b4 013049 arg mouse_spi1_sdio_gpio ,temp 
+0x40b5 013050 fetch mouse_flag_len ,mem_mouse_flag 
+0x40b6 013051 isolate1 mouse_enable_spi2 ,pdata 
+0x40b7 013052 call mouse_sensor_sdio_low2 ,true 
+0x40b8 013053 call gpio_get_bit 
+0x40b9 013054 rtn true 
+0x40ba 013055 setarg 0x0a 
+0x40bb 013056 call twspi_read 
+0x40bc 013057 nop 1000 
+0x40bd 013058 branch mouse_sensor_sdio_low 
+:      013059 mouse_sensor_sdio_low2:
+0x40be 013060 arg mouse_spi2_sdio_gpio ,temp 
+0x40bf 013061 rtn 
+:      013063 mouse_spi_sdio_gpio_pollup:
+0x40c0 013064 fetch mouse_flag_len ,mem_mouse_flag 
+0x40c1 013065 bbit1 mouse_enable_spi2 ,mouse_spi2_sdio_gpio_pollup 
+:      013066 mouse_spi1_sdio_gpio_pollup:
+0x40c2 013067 arg mouse_spi1_sdio_gpio ,temp 
+0x40c3 013068 branch gpio_config_input_without_wake 
+:      013069 mouse_spi2_sdio_gpio_pollup:
+0x40c4 013070 arg mouse_spi2_sdio_gpio ,temp 
+0x40c5 013071 branch gpio_config_input_without_wake 
+:      013074 mouse_init_sunt:
+0x40c6 013075 call mouse_spi_init 
+0x40c7 013076 rtn wake 
+0x40c8 013077 call mouse_spi_sdio_gpio_pollup 
+0x40c9 013078 fetch 1 ,mem_config_sensor_type 
+0x40ca 013079 beq p3610 ,mouse_init_3610sensor 
+:      013080 mouse_init_sensor:
+0x40cb 013081 call mouse_read_sensor_id 
+0x40cc 013082 beq p32xx_id1 ,mouse_init_p32xx_id2_judge 
+0x40cd 013083 beq p3065_id1 ,mouse_p3065_init_param 
+0x40ce 013084 call mouse_twspi_reset 
+0x40cf 013085 nop 1000 
+0x40d0 013086 branch mouse_init_sensor 
+:      013087 mouse_twspi_reset:
+0x40d1 013088 bpatch patch1d_0 ,mem_patch1d 
+0x40d2 013089 fetch mouse_flag_len ,mem_mouse_flag 
+0x40d3 013090 bbit1 mouse_enable_spi2 ,twspi_reset2 
+0x40d4 013091 branch twspi_reset 
+:      013093 mouse_init_3610sensor:
+0x40d5 013094 call mouse_read_sensor_id 
+0x40d6 013095 beq p3610_id1 ,mouse_init_p3610 
+0x40d7 013096 call mouse_init_3610sensor_reset 
+0x40d8 013097 branch mouse_init_3610sensor 
+:      013099 mouse_read_sensor_id:
+0x40d9 013100 setarg pan_reg_pid_h 
+0x40da 013101 call twspi_read 
+0x40db 013102 store 1 ,mem_sensor_id2 
+0x40dc 013103 setarg pan_reg_pid_l 
+0x40dd 013104 call twspi_read 
+0x40de 013105 store 1 ,mem_sensor_id1 
+0x40df 013106 rtn 
+:      013107 mouse_init_p32xx_id2_judge:
+0x40e0 013108 fetch 1 ,mem_sensor_id2 
+0x40e1 013109 beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
+0x40e2 013110 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
+0x40e3 013111 beq p3212_id2 ,mouse_3212_init_param 
+0x40e4 013112 beq pka8_id2 ,mouse_ka8_init_param 
+0x40e5 013113 rtn 
+:      013114 mouse_ka8_init_param:
+0x40e6 013115 jam ka8 ,mem_config_sensor_type 
+0x40e7 013116 rtn 
+:      013117 mouse_p3065xy_init_param:
+0x40e8 013118 jam p3065_xy ,mem_config_sensor_type 
+0x40e9 013119 rtn 
+:      013120 mouse_p3065_init_param:
+0x40ea 013121 fetch 1 ,mem_sensor_id2 
+0x40eb 013122 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0x40ec 013123 jam p3065 ,mem_config_sensor_type 
+0x40ed 013124 rtn 
+:      013125 mouse_3212_init_param:
+0x40ee 013126 jam p3212 ,mem_config_sensor_type 
+0x40ef 013127 call mouse_sensor_disable_wp 
+0x40f0 013128 setarg 0x3426 
+0x40f1 013129 call twspi_write 
+0x40f2 013130 setarg 0x0419 
+0x40f3 013131 call twspi_write 
+:      013132 mouse_sensor_enable_wp:
+0x40f4 013133 setarg 0x0009 
+0x40f5 013134 branch twspi_write 
+:      013135 mouse_sensor_disable_wp:
+0x40f6 013136 setarg 0x5a09 
+0x40f7 013137 branch twspi_write 
+:      013139 mouse_3204_3l_init_param:
+0x40f8 013140 jam p3204 ,mem_config_sensor_type 
+0x40f9 013141 call mouse_sensor_disable_wp 
+0x40fa 013142 setarg 0x0f0d 
+0x40fb 013143 call twspi_write 
+0x40fc 013144 setarg 0xe31d 
+0x40fd 013145 call twspi_write 
+0x40fe 013146 setarg 0xd27d 
+0x40ff 013147 call twspi_write 
+0x4100 013148 call mouse_32xx_init_param 
+0x4101 013149 branch mouse_32xx_init_param_1 
+:      013151 mouse_32xx_init_param:
+0x4102 013152 setarg 0x351b 
+0x4103 013153 call twspi_write 
+0x4104 013154 setarg 0xb428 
+0x4105 013155 call twspi_write 
+0x4106 013156 setarg 0x4629 
+0x4107 013157 call twspi_write 
+0x4108 013158 setarg 0x962a 
+0x4109 013159 call twspi_write 
+0x410a 013160 setarg 0x8c2b 
+0x410b 013161 call twspi_write 
+0x410c 013162 setarg 0x6e2c 
+0x410d 013163 call twspi_write 
+0x410e 013164 setarg 0x642d 
+0x410f 013165 call twspi_write 
+0x4110 013166 setarg 0x5f38 
+0x4111 013167 call twspi_write 
+0x4112 013168 setarg 0x0f39 
+0x4113 013169 call twspi_write 
+0x4114 013170 setarg 0x323a 
+0x4115 013171 call twspi_write 
+0x4116 013172 setarg 0x473b 
+0x4117 013173 call twspi_write 
+0x4118 013174 setarg 0x1042 
+0x4119 013175 branch twspi_write 
+:      013176 mouse_32xx_init_param_1:
+0x411a 013177 setarg 0x2e54 
+0x411b 013178 call twspi_write 
+0x411c 013179 setarg 0xf255 
+0x411d 013180 call twspi_write 
+0x411e 013181 setarg 0xf461 
+0x411f 013182 call twspi_write 
+0x4120 013183 setarg 0x7063 
+0x4121 013184 call twspi_write 
+0x4122 013185 setarg 0x5275 
+0x4123 013186 call twspi_write 
+0x4124 013187 setarg 0x4176 
+0x4125 013188 call twspi_write 
+0x4126 013189 setarg 0xed77 
+0x4127 013190 call twspi_write 
+0x4128 013191 setarg 0x2378 
+0x4129 013192 call twspi_write 
+0x412a 013193 setarg 0x4679 
+0x412b 013194 call twspi_write 
+0x412c 013195 setarg 0xe57a 
+0x412d 013196 call twspi_write 
+0x412e 013197 setarg 0x487c 
+0x412f 013198 call twspi_write 
+0x4130 013199 setarg 0x777e 
+0x4131 013200 call twspi_write 
+0x4132 013201 setarg 0x017f 
+0x4133 013202 call twspi_write 
+0x4134 013203 setarg 0x000b 
+0x4135 013204 call twspi_write 
+0x4136 013205 setarg 0x007f 
+0x4137 013206 call twspi_write 
+0x4138 013207 branch mouse_sensor_enable_wp 
+:      013210 mouse_3205_3t_init_param:
+0x4139 013211 jam p3205 ,mem_config_sensor_type 
+0x413a 013212 call mouse_sensor_disable_wp 
+0x413b 013213 setarg 0x100d 
+0x413c 013214 call twspi_write 
+0x413d 013215 setarg 0xed1d 
+0x413e 013216 call twspi_write 
+0x413f 013217 setarg 0x807d 
+0x4140 013218 call twspi_write 
+0x4141 013219 call mouse_32xx_init_param 
+0x4142 013220 setarg 0x0943 
+0x4143 013221 call twspi_write 
+0x4144 013222 branch mouse_32xx_init_param_1 
+:      013225 mouse_init_3610sensor_reset:
+0x4145 013226 fetcht 1 ,mem_sensor_reset_gpio 
+0x4146 013227 call gpio_out_active 
+0x4147 013228 call delay_10ms 
+0x4148 013229 fetcht 1 ,mem_sensor_reset_gpio 
+0x4149 013230 call gpio_out_inactive 
+0x414a 013231 branch delay_10ms 
+:      013233 mouse_init_p3610:
+0x414b 013234 jam p3610 ,mem_config_sensor_type 
+0x414c 013235 setarg 0xba41 
+0x414d 013236 call sensor_write 
+0x414e 013237 setarg 0x0d11 
+0x414f 013238 call sensor_write 
+0x4150 013239 setarg 0x041b 
+0x4151 013240 call sensor_write 
+0x4152 013241 setarg 0x041c 
+0x4153 013242 call sensor_write 
+0x4154 013243 setarg 0x0f1d 
+0x4155 013244 call sensor_write 
+0x4156 013245 setarg 0x0032 
+0x4157 013246 call sensor_write 
+0x4158 013247 setarg 0xb541 
+0x4159 013248 branch sensor_write 
+:      013252 mouse_set_sensor_reg:
+0x415a 013253 setarg 0xba41 
+0x415b 013254 call sensor_write 
+0x415c 013255 nop 4000 
+0x415d 013256 setarg 0xff7f 
+0x415e 013257 call sensor_write 
+0x415f 013258 copy rega ,pdata 
+0x4160 013259 call sensor_write 
+0x4161 013260 setarg 0x007f 
+0x4162 013261 call sensor_write 
+0x4163 013262 setarg 0xb541 
+0x4164 013263 branch sensor_write 
+:      013265 extsign:
+0x4165 013266 rtnbit0 7 
+0x4166 013267 arg 0xff00 ,temp 
+0x4167 013268 ior temp ,pdata 
+0x4168 013269 rtn 
+:      013271 extsign_bit3:
+0x4169 013272 rtnbit0 3 
+0x416a 013273 arg 0xf0 ,temp 
+0x416b 013274 ior temp ,pdata 
+0x416c 013275 rtn 
+:      013278 mouse_le:
+0x416d 013279 call le_fifo_check_nearly_full 
+0x416e 013280 nrtn blank 
+0x416f 013281 fetch 1 ,mem_le_connect_statue_flag 
+0x4170 013282 and pdata ,0x03 ,pdata 
+0x4171 013283 rtnne 0x03 
+0x4172 013284 fetch mouse_flag_len ,mem_mouse_flag 
+0x4173 013285 bbit1 mosue_24g_pairing_flag ,mouse_le_send_empty_packet 
+0x4174 013286 bbit1 mouse_select_device_flag ,mouse_le_send_empty_packet 
+0x4175 013287 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+0x4176 013288 call mouse_motion 
+0x4177 013289 nrtn user 
+0x4178 013290 branch mouse_fill_data_le 
+:      013292 mouse_le_send_empty_packet:
+0x4179 013293 setarg 0 
+0x417a 013294 store 7 ,mem_mouse_key 
+0x417b 013295 branch mouse_fill_data_le 
+:      013297 mouse_priority_bb_event:
+0x417c 013298 copy regc ,pdata 
+0x417d 013299 beq bt_evt_le_connected ,mouse_le_bb_event_connected 
+0x417e 013300 beq bt_evt_bb_connected ,mouse_stop_discovery 
+0x417f 013301 beq bt_evt_le_disconnected ,mouse_bb_disconnected 
+0x4180 013302 beq bt_evt_bb_disconnected ,mouse_bb_disconnected 
+0x4181 013303 beq bt_evt_setup_complete ,mouse_bt_event_setup_complete 
+0x4182 013304 beq bt_evt_button_long_pressed ,mouse_bb_event_discovery_btn 
+0x4183 013305 beq bt_evt_hid_handshake ,mouse_bt_hid_handshake 
+0x4184 013306 beq bt_evt_hid_connected ,mouse_bt_hid_connected 
+0x4185 013307 beq bt_evt_reconn_failed ,mouse_bb_event_reconn_failed 
+0x4186 013308 beq bt_evt_reconn_page_timeout ,mouse_bb_event_reconn_timeout 
+0x4187 013309 beq bt_evt_pincode_req ,mouse_bb_event_pincode 
+0x4188 013310 beq bt_evt_remote_unsniff ,app_start_auto_sniff 
+0x4189 013311 beq bt_evt_le_pairing_success ,mouse_le_pairing_success 
+0x418a 013312 beq bt_evt_le_start_enc ,mouse_le_ll_start_encryt 
+0x418b 013313 beq bt_evt_le_pairing_complete ,mouse_le_pairing_complete 
+0x418c 013314 beq bt_evt_virtual_cable_unplug ,mouse_irtual_cable_unplug 
+0x418d 013315 beq bt_evt_24g_pairing_complete ,mouse_24g_pairing_complete 
+0x418e 013316 beq bt_evt_24g_attempt_fail ,mouse_24g_attempt_fail 
+0x418f 013317 beq bt_evt_24g_attempt_success ,mouse_24g_attempt_success 
+0x4190 013318 rtn 
+:      013321 mouse_le_pairing_complete:
+0x4191 013322 branch app_ble_store_reconn_info 
+:      013324 mouse_24g_attempt_fail:
+0x4192 013325 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x4193 013326 fetch 1 ,mem_reconn_times 
+0x4194 013327 nbranch mouse_polling_device ,blank 
+0x4195 013328 fetch 1 ,mem_device_flag 
+0x4196 013329 fetcht 1 ,mem_24g_device_number 
+0x4197 013330 isub temp ,null 
+0x4198 013331 branch app_enter_hibernate ,zero 
+0x4199 013332 rtn 
+:      013333 mouse_24g_attempt_success:
+0x419a 013334 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x419b 013335 rtn 
+:      013336 mouse_24g_pairing_complete:
+0x419c 013337 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x419d 013338 arg mosue_24g_pairing_flag ,queue 
+0x419e 013339 call mouse_disable_function_flag 
+0x419f 013340 setarg 0 
+0x41a0 013341 store 2 ,mem_24g_pairing_timer_count 
+0x41a1 013342 jam 0 ,mem_mouse_move_flag 
+0x41a2 013344 fetch 1 ,mem_config_sensor_type 
+0x41a3 013345 sub pdata ,p3610 ,null 
+0x41a4 013346 call mouse_read_sensor3610_data ,zero 
+0x41a5 013347 ncall mouse_read_sensor_common ,zero 
+0x41a6 013349 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x41a7 013350 bbit1 mouse_enable_flash ,mouse_store_flash_24g_address 
+0x41a8 013351 call mouse_set_24g_addr_eeprom 
+0x41a9 013352 branch iicd_write_protect_eep_data 
+:      013354 mouse_set_24g_addr_eeprom:
+0x41aa 013355 call g24_head_ptr2regc 
+0x41ab 013356 add regc ,offset_24g_addr ,rega 
+0x41ac 013357 arg mouse_g24_addr_eeprom_offect ,regb 
+0x41ad 013358 arg 4 ,temp 
+0x41ae 013359 rtn 
+:      013361 mouse_store_flash_24g_address:
+0x41af 013362 call g24_head_ptr2regc 
+0x41b0 013363 add regc ,offset_24g_addr ,regb 
+0x41b1 013364 ifetch 1 ,regb 
+0x41b2 013365 store 1 ,mem_mouse_24g_addr 
+0x41b3 013366 branch mouse_store_flash_device_info 
+:      013369 mouse_le_pairing_success:
+0x41b4 013370 arg ll_pairing_success_flag ,queue 
+0x41b5 013371 branch mouse_le_enable_connect_flag 
+:      013372 mouse_le_ll_start_encryt:
+0x41b6 013373 jam 2 ,mem_le_start_encrypt_timer 
+0x41b7 013374 arg ll_start_enc_flag ,queue 
+0x41b8 013375 branch mouse_le_enable_connect_flag 
+:      013378 mouse_le_enable_connect_flag:
+0x41b9 013379 fetch 1 ,mem_le_connect_statue_flag 
+0x41ba 013380 qset1 pdata 
+0x41bb 013381 store 1 ,mem_le_connect_statue_flag 
+0x41bc 013382 rtn 
+:      013384 mouse_le_disable_connect_flag:
+0x41bd 013385 fetch 1 ,mem_le_connect_statue_flag 
+0x41be 013386 qset0 pdata 
+0x41bf 013387 store 1 ,mem_le_connect_statue_flag 
+0x41c0 013388 rtn 
+:      013389 mouse_le_clean_connect_flag:
+0x41c1 013390 jam 0 ,mem_le_connect_statue_flag 
+0x41c2 013391 rtn 
+:      013393 mouse_le_bb_event_connected:
+0x41c3 013394 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x41c4 013395 set0 app_disc_by_button ,pdata 
+0x41c5 013396 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x41c6 013397 setarg 0 
+0x41c7 013398 store 2 ,mem_mouse_direct_timer 
+0x41c8 013399 call mouse_no_data_timer_init 
+0x41c9 013400 branch mouse_stop_discovery 
+:      013402 mouse_bb_event_pincode:
+0x41ca 013403 call pincode_reinit 
+0x41cb 013404 branch app_bt_set_pincode 
+:      013405 mouse_bb_event_reconn_timeout:
+:      013406 mouse_bb_event_reconn_failed:
+0x41cc 013407 fetch 1 ,mem_reconn_times 
+0x41cd 013408 nbranch mouse_polling_device ,blank 
+0x41ce 013409 fetch 2 ,mem_ui_state_map 
+0x41cf 013410 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x41d0 013411 fetch mouse_flag_len ,mem_mouse_flag 
+0x41d1 013412 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+0x41d2 013413 bbit1 mouse_bt_discovery_button_down_flag ,mouse_start_discovery 
+0x41d3 013414 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+0x41d4 013415 branch app_bb_hibernate 
+:      013418 mouse_bt_hid_connected:
+0x41d5 013419 branch mouse_hid_connected 
+:      013421 mouse_bt_event_setup_complete:
+0x41d6 013422 rtn 
+:      013424 mouse_soft_reset:
+0x41d7 013425 call mouse_select_device_enable 
+0x41d8 013426 branch soft_reset_chip 
+:      013428 mouse_bb_disconnected:
+0x41d9 013429 bpatch patch1d_1 ,mem_patch1d 
+0x41da 013430 call mouse_bb_discon_clear_stack 
+0x41db 013431 fetch mouse_flag_len ,mem_mouse_flag 
+0x41dc 013432 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+0x41dd 013433 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+0x41de 013434 fetch 1 ,mem_reconn_times 
+0x41df 013435 nbranch mouse_polling_device ,blank 
+0x41e0 013436 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x41e1 013437 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn 
+0x41e2 013438 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0x41e3 013439 bbit1 app_disc_after_pairing ,mouse_event_light_state_pairing 
+0x41e4 013440 bbit1 app_disc_after_reconn ,mouse_event_light_state_hibernate 
+0x41e5 013441 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+0x41e6 013442 branch mouse_start_discovery 
+:      013443 mouse_bb_discon_clear_stack:
+0x41e7 013444 setarg 0 
+0x41e8 013445 store 8 ,mem_wheel_tb_old_pinlevel 
+0x41e9 013446 istore 4 ,contw 
+0x41ea 013447 jam 0 ,mem_mouse_send_blank_timer 
+0x41eb 013448 jam 0 ,mem_mouse_move_flag 
+0x41ec 013449 jam app_handshake_null ,mem_app_handshake_flag 
+0x41ed 013450 jam 0 ,mem_ltk_exists 
+0x41ee 013451 rtn 
+:      013453 mouse_event_light_state_pairing:
+0x41ef 013454 bbit1 app_disc_after_handshake ,mouse_event_light_state_hibernate 
+0x41f0 013455 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+0x41f1 013456 branch mouse_start_discovery 
+:      013457 mouse_event_light_state_hibernate:
+0x41f2 013458 fetch 2 ,mem_ui_state_map 
+0x41f3 013459 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x41f4 013460 branch app_bb_hibernate 
+:      013462 mouse4_0_event_bb_disconn:
+0x41f5 013463 call mouse_le_clean_connect_flag 
+0x41f6 013464 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x41f7 013465 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0x41f8 013466 branch app_bb_hibernate 
+:      013468 mouse_bb_event_timer:
+0x41f9 013469 call mouse_adc_read 
+0x41fa 013470 call mouse_24g_delay_timer 
+0x41fb 013471 call mouse_ban_24g_pairing_timer 
+0x41fc 013472 call mouse_dpi_led_blink_delay_timer 
+0x41fd 013473 call mouse_statue_up_timer 
+0x41fe 013475 call mouse_statue_cheak_timer 
+0x41ff 013476 call mouse_select_device 
+0x4200 013477 call mouse_bt_discovery_cheak 
+0x4201 013478 call mouse_low_voltage_led_timer 
+0x4202 013479 call mouse_sensor_led_contrl_timer 
+0x4203 013480 call mouse_check_hid_handshake_timer 
+0x4204 013481 call mouse_check_discovery_timeout_timer 
+0x4205 013482 call mouse_check_direct_timeout_timer 
+0x4206 013483 call mouse_check_no_data_timeout_timer 
+0x4207 013484 call mouse_check_mouse_state_timer 
+0x4208 013485 branch mouse_le_enable_att_list_timer 
+:      013489 mouse_sensor_led_contrl_timer:
+0x4209 013490 fetch 1 ,mem_mouse_sensor_timer_count 
+0x420a 013491 rtn blank 
+0x420b 013492 increase -1 ,pdata 
+0x420c 013493 store 1 ,mem_mouse_sensor_timer_count 
+0x420d 013494 nrtn blank 
+0x420e 013495 branch mouse_sensor_led_contrl 
+:      013496 mouse_sensor_led_contrl:
+0x420f 013497 fetch 1 ,mem_sensor_led_style 
+0x4210 013498 rtneq ui_led_state_blink_stop 
+0x4211 013499 beq ui_led_state_blink_darking ,mouse_sensor_led_blink_state_darking 
+:      013500 mouse_sensor_led_blink_state_lighting:
+0x4212 013501 call mouse_sensor_led_on 
+0x4213 013502 jam ui_led_state_blink_darking ,mem_sensor_led_style 
+0x4214 013503 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x4215 013504 rtn 
+:      013505 mouse_sensor_led_blink_state_darking:
+0x4216 013506 call mouse_sensor_led_off 
+0x4217 013507 jam ui_led_state_blink_lighting ,mem_sensor_led_style 
+0x4218 013508 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x4219 013509 rtn 
+:      013511 mouse_sensor_led_blink_stop:
+:      013512 mouse_sensor_reset:
+0x421a 013513 setarg 0x8006 
+0x421b 013514 call twspi_write 
+0x421c 013515 nop 1000 
+0x421d 013516 jam 0x00 ,mem_mouse_sensor_timer_count 
+0x421e 013517 jam ui_led_state_blink_stop ,mem_sensor_led_style 
+0x421f 013518 branch mouse_init_p32xx_id2_judge 
+:      013520 mouse_p3212sensor_led_on:
+0x4220 013521 setarg 0xa006 
+0x4221 013522 call twspi_write 
+0x4222 013523 setarg 0xa005 
+0x4223 013524 branch twspi_write 
+:      013525 mouse_sensor_led_on_global:
+0x4224 013526 jam 0 ,mem_mouse_sensor_timer_count 
+:      013527 mouse_sensor_led_on:
+0x4225 013528 fetch 1 ,mem_config_sensor_type 
+0x4226 013529 beq p3212 ,mouse_p3212sensor_led_on 
+0x4227 013530 setarg 0x0106 
+0x4228 013531 call twspi_write 
+0x4229 013532 setarg 0xa105 
+0x422a 013533 branch twspi_write 
+:      013535 mouse_sensor_led_off_global:
+0x422b 013536 jam 0 ,mem_mouse_sensor_timer_count 
+:      013537 mouse_sensor_led_off:
+0x422c 013538 setarg 0x0906 
+0x422d 013539 branch twspi_write 
+:      013540 mouse_sensor_start_blink:
+0x422e 013541 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x422f 013542 jam ui_led_state_blink_start ,mem_sensor_led_style 
+0x4230 013543 rtn 
+:      013545 mouse_check_hid_handshake_timer:
+0x4231 013546 arg mem_hid_handshake_timer_count ,regc 
+0x4232 013547 arg mouse_bt_hid_handshake ,regb 
+0x4233 013548 branch timer_single_step 
+:      013550 mouse_check_discovery_timeout_timer:
+0x4234 013551 arg mem_mouse_discovery_timer ,regc 
+0x4235 013552 arg mouse_check_discovery_timeout ,regb 
+0x4236 013553 branch timer_single_step_2b 
+:      013555 mouse_check_direct_timeout_timer:
+0x4237 013556 arg mem_mouse_direct_timer ,regc 
+0x4238 013557 arg mouse_check_direct_timeout ,regb 
+0x4239 013558 branch timer_single_step_2b 
+:      013560 mouse_check_no_data_timeout_timer:
+0x423a 013561 arg mem_mouse_no_data_timer ,regc 
+0x423b 013562 arg mouse_check_no_data_timeout ,regb 
+0x423c 013563 branch timer_single_step_2b 
+:      013565 mouse_check_mouse_state_timer:
+0x423d 013566 arg mem_mouse_statue_led_timer ,regc 
+0x423e 013567 arg mouse_statue_led_off ,regb 
+0x423f 013568 branch timer_single_step 
+:      013572 mouse_le_enable_att_list_timer:
+0x4240 013573 arg mem_le_start_encrypt_timer ,regc 
+0x4241 013574 arg mouse_le_enable_att_list ,regb 
+0x4242 013575 branch timer_single_step 
+:      013577 mouse_24g_delay_timer:
+0x4243 013578 arg mem_24g_enter_lpm_timer ,regc 
+0x4244 013579 arg mouse_24g_delay ,regb 
+0x4245 013580 branch timer_single_step 
+:      013582 mouse_ban_24g_pairing_timer:
+0x4246 013583 arg mem_24g_pairing_timer_count ,regc 
+0x4247 013584 arg mouse_ban_24g_pairing ,regb 
+0x4248 013585 branch timer_single_step_2b 
+:      013586 mouse_ban_24g_pairing:
+:      013587 mouse_24g_delay:
+0x4249 013588 rtn 
+:      013591 mosue_dpi_led_blink_init:
+0x424a 013592 fetch mouse_flag_len ,mem_mouse_flag 
+0x424b 013593 rtnbit0 mouse_enable_dpi_led_blink 
+0x424c 013594 jam 10 ,mem_mouse_dpi_led_delay_count 
+0x424d 013595 fetch 1 ,mem_dpi_led_gpio 
+0x424e 013596 store 1 ,mem_mouse_struct_led_gpio 
+0x424f 013597 rtn 
+:      013600 mouse_dpi_led_blink_delay_timer:
+0x4250 013601 arg mem_mouse_dpi_led_delay_count ,regc 
+0x4251 013602 arg mouse_dpi_led_setting ,regb 
+0x4252 013603 branch timer_single_step 
+:      013604 mouse_dpi_led_setting:
+0x4253 013605 fetch 1 ,mem_dpi_led_gpio 
+0x4254 013606 store 1 ,mem_mouse_struct_led_gpio 
+0x4255 013607 setarg led_dpi_blink 
+0x4256 013608 store 2 ,mem_mouse_on_time 
+0x4257 013609 store 2 ,mem_mouse_off_time 
+0x4258 013610 arg 0 ,rega 
+0x4259 013611 fetcht 1 ,mem_mouse_dpi 
+0x425a 013612 increase 1 ,temp 
+0x425b 013613 storet 1 ,mem_mouse_blink_count 
+0x425c 013614 jam ui_led_state_blink_start ,mem_mouse_led_type 
+0x425d 013615 rtn 
+:      013617 mouse_le_enable_att_list:
+0x425e 013618 fetch 1 ,mem_le_connect_statue_flag 
+0x425f 013619 rtnbit1 ll_pairing_success_flag 
+0x4260 013620 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x4261 013621 call ui_ipc_send_cmd 
+0x4262 013622 arg write_req_enable_flag ,queue 
+0x4263 013623 branch mouse_le_enable_connect_flag 
+:      013626 mouse_check_discovery_timeout:
+0x4264 013627 call mouse_stop_discovery 
+0x4265 013628 branch app_enter_hibernate 
+:      013630 mouse_check_direct_timeout:
+0x4266 013631 call app_ble_stop_direct_adv 
+0x4267 013632 fetch 1 ,mem_reconn_times 
+0x4268 013633 nbranch mouse_polling_device ,blank 
+0x4269 013634 branch app_enter_hibernate 
+:      013636 mouse_check_no_data_timeout:
+0x426a 013637 bmark1 mark_24g ,check_51cmd_hibernate 
+0x426b 013638 branch mouse_disconnect 
+:      013642 mouse_bb_event_discovery_btn:
+0x426c 013643 bpatch patch1d_2 ,mem_patch1d 
+0x426d 013644 jam 0 ,mem_mouse_send_blank_timer 
+0x426e 013645 call mouse_disconnect 
+0x426f 013646 call mouse_le_clean_connect_flag 
+0x4270 013647 branch mouse_start_discovery 
+:      013651 mouse3_0_check_reconn_target:
+0x4271 013652 fetch 6 ,mem_hci_plap 
+0x4272 013653 branch app_bt_start_discovery_short ,blank 
+0x4273 013654 call mouse_reconn_setting_led_gpio 
+0x4274 013655 jam 0x17 ,mem_connection_options 
+0x4275 013656 fetch 1 ,mem_ssp_enable 
+0x4276 013657 nbranch app_bt_start_reconnect ,blank 
+0x4277 013658 jam 0x04 ,mem_connection_options 
+0x4278 013659 branch app_bt_start_reconnect 
+:      013661 mouse4_0_check_reconn_target:
+0x4279 013662 fetch 2 ,mem_mouse_direct_timeout 
+0x427a 013663 store 2 ,mem_mouse_direct_timer 
+0x427b 013664 call mouse_reconn_setting_led_gpio 
+0x427c 013665 call app_lpm_mult_disable 
+0x427d 013666 branch check_51cmd_adv 
+:      013668 mouse_reconn_setting_led_gpio:
+0x427e 013669 setarg led_reconnect_blink 
+0x427f 013670 store 2 ,mem_mouse_on_time 
+0x4280 013671 store 2 ,mem_mouse_off_time 
+0x4281 013672 branch mouse_setting_led_gpio_comman 
+:      013674 mouse_discover_setting_led_gpio:
+0x4282 013675 setarg led_discovery_blink 
+0x4283 013676 store 2 ,mem_mouse_on_time 
+0x4284 013677 store 2 ,mem_mouse_off_time 
+:      013678 mouse_setting_led_gpio_comman:
+0x4285 013679 fetch 1 ,mem_device_flag 
+0x4286 013680 beq mode_bt_device1 ,mouse_device_led1 
+0x4287 013681 beq mode_bt_device2 ,mouse_device_led2 
+0x4288 013682 beq mode_bt_device3 ,mouse_device_led3 
+0x4289 013683 rtn 
+:      013684 mouse_device_led1:
+0x428a 013685 fetch 1 ,mem_config_device1_led_gpio 
+0x428b 013686 branch mouse_led_blink 
+:      013687 mouse_device_led2:
+0x428c 013688 fetch 1 ,mem_config_device2_led_gpio 
+0x428d 013689 branch mouse_led_blink 
+:      013690 mouse_device_led3:
+0x428e 013691 fetch 1 ,mem_config_device3_led_gpio 
+:      013692 mouse_led_blink:
+0x428f 013693 store 1 ,mem_temp 
+0x4290 013694 call mouse_devce_led_off 
+0x4291 013695 fetch 1 ,mem_temp 
+0x4292 013696 store 1 ,mem_mouse_struct_led_gpio 
+0x4293 013697 arg 0 ,rega 
+0x4294 013698 jam ui_led_state_blink_start ,mem_mouse_led_type 
+0x4295 013699 branch ui_led_blink_start_global 
+:      013701 mouse_led_off:
+0x4296 013702 arg 0 ,rega 
+0x4297 013703 branch ui_led_off_global 
+:      013704 mouse_led_on:
+0x4298 013705 arg 0 ,rega 
+0x4299 013706 branch ui_led_on_global 
+:      013708 mouse4_0_bb_event_discovery_btn:
+0x429a 013709 branch mouse_le_clean_connect_flag 
+:      013711 mouse_bt_hid_handshake:
+0x429b 013712 jam app_handshake_done ,mem_app_handshake_flag 
+0x429c 013713 call app_lpm_mult_enable 
+0x429d 013714 call app_bt_store_reconn_info 
+0x429e 013715 setarg 0 
+0x429f 013716 store 2 ,mem_discovery_timeout_timer_count 
+0x42a0 013717 store 1 ,mem_hid_handshake_timer_count 
+0x42a1 013718 branch app_bt_enter_sniff 
+:      013720 mouse_check_reconn_target:
+0x42a2 013721 call mouse_cheak_select_device_by_switch 
+0x42a3 013722 fetch 1 ,mem_device_flag 
+0x42a4 013723 fetcht 1 ,mem_24g_device_number 
+0x42a5 013724 isub temp ,null 
+0x42a6 013725 branch mouse_connect_24g_mode ,zero 
+0x42a7 013726 fetch 1 ,mem_xrecord_mode 
+0x42a8 013727 beq rec_3_mode ,mouse3_0_check_reconn_target 
+0x42a9 013728 beq rec_4_mode ,mouse4_0_check_reconn_target 
+0x42aa 013729 branch mouse_start_discovery 
+:      013730 mouse_connect_24g_mode:
+0x42ab 013731 call mouse_start_24g_mode 
+0x42ac 013732 rtnmark1 mark_24g 
+0x42ad 013733 fetch 1 ,mem_reconn_times 
+0x42ae 013734 nbranch mouse_polling_device ,blank 
+0x42af 013735 rtn 
+:      013737 mouse_start_discovery:
+0x42b0 013738 bpatch patch1d_3 ,mem_patch1d 
+0x42b1 013739 fetch 2 ,mem_ui_state_map 
+0x42b2 013740 bbit1 ui_state_ble_adv ,mouse_start_discovery_norandom 
+0x42b3 013741 fetch mouse_flag_len ,mem_mouse_flag 
+0x42b4 013742 bbit0 mouse_enable_ble_random_addre ,mouse_start_discovery_norandom 
+0x42b5 013743 random pdata 
+0x42b6 013744 store 1 ,mem_le_lap + 1 
+:      013745 mouse_start_discovery_norandom:
+0x42b7 013746 call app_lpm_mult_disable 
+0x42b8 013747 fetch 2 ,mem_discovery_timeout 
+0x42b9 013748 store 2 ,mem_mouse_discovery_timer 
+0x42ba 013749 jam 6 ,mem_connection_options 
+0x42bb 013750 setarg 0 
+0x42bc 013751 store 2 ,mem_mouse_no_data_timer 
+0x42bd 013752 store 2 ,mem_mouse_direct_timer 
+0x42be 013753 arg mouse_store_eeprom_flag ,queue 
+0x42bf 013754 call mouse_enable_function_flag 
+0x42c0 013755 call mouse_bt_discovery_button_down_disable 
+0x42c1 013756 fetch 1 ,mem_device_option 
+0x42c2 013757 isolate1 mode_4_mouse ,pdata 
+0x42c3 013758 call check_51cmd_adv ,true 
+0x42c4 013759 fetch 1 ,mem_device_option 
+0x42c5 013760 isolate1 mode_3_mouse ,pdata 
+0x42c6 013761 call check_51cmd_start_discovery ,true 
+0x42c7 013762 fetch mouse_flag_len ,mem_mouse_flag 
+0x42c8 013763 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_start_blink 
+0x42c9 013764 branch mouse_discover_setting_led_gpio 
+:      013766 mouse_stop_discovery:
+0x42ca 013767 bpatch patch1d_4 ,mem_patch1d 
+0x42cb 013768 fetch 1 ,mem_device_option 
+0x42cc 013769 isolate1 mode_4_mouse ,pdata 
+0x42cd 013770 call mouse_stop_le_adv ,true 
+0x42ce 013771 fetch 1 ,mem_device_option 
+0x42cf 013772 isolate1 mode_3_mouse ,pdata 
+0x42d0 013773 call mouse_stop_bt3_discovery ,true 
+0x42d1 013774 fetch mouse_flag_len ,mem_mouse_flag 
+0x42d2 013775 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_led_blink_stop 
+0x42d3 013776 branch mouse_devce_led_off 
+:      013777 mouse_stop_le_adv:
+0x42d4 013778 setarg 0 
+0x42d5 013779 store 2 ,mem_mouse_direct_timer 
+0x42d6 013780 branch check_51cmd_stop_adv 
+:      013781 mouse_stop_bt3_discovery:
+0x42d7 013782 setarg 0 
+0x42d8 013783 store 2 ,mem_mouse_discovery_timer 
+0x42d9 013784 branch check_51cmd_stop_discovery 
+:      013790 mouse_store_remote_bdaddr:
+0x42da 013791 fetch mouse_flag_len ,mem_mouse_flag 
+0x42db 013792 rtnbit0 mouse_store_eeprom_flag 
+0x42dc 013793 arg mouse_store_eeprom_flag ,queue 
+0x42dd 013794 call mouse_disable_function_flag 
+0x42de 013795 call mouse_check_device_addr 
+:      013796 mouse_unplug_clean_bdaddr:
+0x42df 013797 call mouse_before_store_reconn_info 
+0x42e0 013798 fetch mouse_flag_len ,mem_mouse_flag 
+0x42e1 013799 bbit1 mouse_enable_flash ,mouse_store_flash_device_info 
+0x42e2 013800 bbit1 mouse_enable_eeprom ,mouse_store_eeprom_device_info 
+0x42e3 013801 rtn 
+:      013802 mouse_store_eeprom_device_info:
+0x42e4 013803 arg 88 ,temp 
+0x42e5 013804 arg mem_device_flag ,rega 
+0x42e6 013805 arg mouse_info_eeprom_offect ,regb 
+0x42e7 013806 branch iicd_write_protect_eep_data 
+:      013808 mouse_check_device_addr:
+0x42e8 013809 fetch 1 ,mem_record_bt_mode 
+0x42e9 013810 beq rec_4_mode ,mouse_check_le_device_addr 
+0x42ea 013811 beq rec_3_mode ,mouse_check_bt_device_addr 
+0x42eb 013812 rtn 
+:      013813 mouse_check_le_device_addr:
+0x42ec 013814 store 1 ,mem_device_addr_temp 
+0x42ed 013815 fetch 6 ,mem_le_plap 
+0x42ee 013816 branch mouse_check_bt_device_addr_common 
+:      013817 mouse_check_bt_device_addr:
+0x42ef 013818 store 1 ,mem_device_addr_temp 
+0x42f0 013819 fetch 6 ,mem_plap 
+:      013820 mouse_check_bt_device_addr_common:
+0x42f1 013821 store 6 ,mem_device_addr_temp + 1 
+0x42f2 013822 fetch 7 ,mem_device_addr_temp 
+0x42f3 013823 arg mem_device1_type ,contr 
+0x42f4 013824 arg 3 ,loopcnt 
+:      013825 mouse_check_device_addr_end:
+0x42f5 013826 ifetcht 7 ,contr 
+0x42f6 013827 isub temp ,null 
+0x42f7 013828 branch mouse_clean_addr ,zero 
+0x42f8 013829 increase 22 ,contr 
+0x42f9 013830 loop mouse_check_device_addr_end 
+0x42fa 013831 rtn 
+:      013832 mouse_before_store_reconn_info:
+0x42fb 013833 arg mem_device1_type ,rega 
+0x42fc 013834 fetch 1 ,mem_device_flag 
+0x42fd 013835 increase -1 ,pdata 
+0x42fe 013836 mul32 pdata ,29 ,pdata 
+0x42ff 013837 iadd rega ,rega 
+0x4300 013838 fetch 1 ,mem_record_bt_mode 
+0x4301 013839 istore 1 ,rega 
+0x4302 013840 beq rec_4_mode ,mouse_store_le_device 
+0x4303 013841 beq rec_3_mode ,mouse_store_bt_device 
+0x4304 013842 rtn 
+:      013844 mouse_store_le_device:
+0x4305 013845 fetch 6 ,mem_le_plap 
+0x4306 013846 istore 6 ,contw 
+0x4307 013847 arg mem_le_ltk ,contr 
+0x4308 013848 call memcpy16 
+0x4309 013849 fetch 6 ,mem_le_lap 
+0x430a 013850 istore 6 ,contw 
+0x430b 013851 rtn 
+:      013852 mouse_store_bt_device:
+0x430c 013853 fetch 6 ,mem_plap 
+0x430d 013854 istore 6 ,contw 
+0x430e 013855 arg mem_link_key ,contr 
+0x430f 013856 branch memcpy16 
+:      013858 mouse_clean_addr:
+0x4310 013859 increase -6 ,contr 
+0x4311 013860 copy contr ,contw 
+0x4312 013861 fetcht 6 ,mem_device_addr_temp + 1 
+0x4313 013862 increase 3 ,temp 
+0x4314 013863 istoret 6 ,contw 
+0x4315 013864 rtn 
+:      013868 mouse_eeprom_load_recon_info:
+0x4316 013869 arg 88 ,temp 
+0x4317 013870 arg mem_device_flag ,rega 
+0x4318 013871 arg mouse_info_eeprom_offect ,regb 
+0x4319 013872 call iicd_read_eep_data 
+:      013873 mouse_select_reconn_device:
+0x431a 013874 arg mem_device1_type ,rega 
+0x431b 013875 fetch 1 ,mem_device_flag 
+0x431c 013876 fetcht 1 ,mem_24g_device_number 
+0x431d 013877 isub temp ,null 
+0x431e 013878 rtn zero 
+0x431f 013879 increase -1 ,pdata 
+0x4320 013880 mul32 pdata ,29 ,pdata 
+0x4321 013881 iadd rega ,rega 
+0x4322 013882 ifetch 1 ,rega 
+0x4323 013883 store 1 ,mem_xrecord_mode 
+0x4324 013884 beq rec_3_mode ,mouse_load_bt_device 
+0x4325 013885 beq rec_4_mode ,mouse_load_le_device 
+0x4326 013886 rtn 
+:      013888 mouse_load_bt_device:
+0x4327 013889 ifetch 6 ,contr 
+:      013890 mouse_load_bt_device_end:
+0x4328 013891 store 6 ,mem_hci_plap 
+0x4329 013892 arg mem_link_key ,contw 
+0x432a 013893 call memcpy16 
+0x432b 013894 branch check_link_key_load 
+:      013896 mouse_load_le_device:
+0x432c 013897 ifetch 6 ,contr 
+:      013898 mouse_load_le_device_end:
+0x432d 013899 store 6 ,mem_hci_plap 
+0x432e 013900 arg mem_le_ltk ,contw 
+0x432f 013901 call memcpy16 
+0x4330 013902 ifetch 6 ,contr 
+0x4331 013903 store 6 ,mem_le_lap 
+0x4332 013904 rtn 
+:      013907 mouse_select_device:
+0x4333 013908 fetch 1 ,mem_config_function_enable 
+0x4334 013909 bbit1 enable_select_device_by_gpio_button ,mouse_select_device_by_button 
+0x4335 013910 bbit1 enable_select_device_by_switch ,mouse_select_device_by_switch 
+0x4336 013911 branch mouse_select_device_by_combination_key 
+:      013913 mouse_select_device_by_combination_key:
+0x4337 013914 call mouse_check_key_gpio 
+0x4338 013915 beq mouse_rm_button ,mouse_select_device_commbination_key_down 
+:      013916 mouse_select_device_commbination_key_up:
+0x4339 013917 jam 30 ,mem_combination_select_device_count 
+0x433a 013918 fetch 1 ,mem_select_device_button_statue 
+0x433b 013919 rtneq dpi_button_state_up 
+0x433c 013920 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x433d 013921 rtn 
+:      013923 mouse_select_device_commbination_key_down:
+0x433e 013924 call mouse_combination_select_device_timer 
+0x433f 013925 fetch 1 ,mem_select_device_button_statue 
+0x4340 013926 rtneq dpi_button_state_down 
+0x4341 013927 jam dpi_button_state_down ,mem_select_device_button_statue 
+0x4342 013928 branch mouse_select_device_enable 
+:      013930 mouse_combination_select_device_timer:
+0x4343 013931 fetch 1 ,mem_combination_select_device_count 
+0x4344 013932 rtn blank 
+0x4345 013933 pincrease -1 
+0x4346 013934 store 1 ,mem_combination_select_device_count 
+0x4347 013935 nrtn blank 
+0x4348 013936 branch mouse_ready_reconnection_by_button 
+:      013938 mouse_select_device_by_button:
+0x4349 013939 fetch 1 ,mem_config_select_device_button_gpio 
+0x434a 013940 rtneq gpio_disable 
+0x434b 013941 fetcht 1 ,mem_config_select_device_button_gpio 
+0x434c 013942 call gpio_get_bit 
+0x434d 013943 branch mouse_select_device_button_down ,true 
+:      013944 mouse_select_device_button_up:
+0x434e 013945 fetch 1 ,mem_select_device_button_statue 
+0x434f 013946 rtneq dpi_button_state_up 
+0x4350 013947 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x4351 013948 fetch mouse_flag_len ,mem_mouse_flag 
+0x4352 013949 rtnbit1 mouse_long_bt_button_flag 
+0x4353 013950 branch mouse_ready_reconnection_by_button 
+:      013952 mouse_select_device_button_down:
+0x4354 013953 fetch 1 ,mem_select_device_button_statue 
+0x4355 013954 rtneq dpi_button_state_down 
+0x4356 013955 jam dpi_button_state_down ,mem_select_device_button_statue 
+0x4357 013956 arg mouse_long_bt_button_flag ,queue 
+0x4358 013957 branch mouse_disable_function_flag 
+:      013961 mouse_select_device_by_switch:
+0x4359 013962 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x435a 013963 rtnbit0 enable_select_device_by_switch 
+0x435b 013964 fetch 1 ,mem_device_flag 
+0x435c 013965 beq mode_bt_device1 ,mouse_select1_device 
+0x435d 013966 beq mode_24g_device ,mouse_select2_device 
+0x435e 013967 rtn 
+:      013968 mouse_cheak_select_device_by_switch:
+0x435f 013969 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x4360 013970 rtnbit0 enable_select_device_by_switch 
+0x4361 013971 fetcht 1 ,mem_config_select_device_button_gpio 
+0x4362 013972 call gpio_get_bit 
+0x4363 013973 branch mouse_cheak_select_24gdevice ,true 
+:      013974 mouse_select_btdevice:
+0x4364 013975 jam mode_bt_device1 ,mem_device_flag 
+0x4365 013976 rtn 
+:      013977 mouse_cheak_select_24gdevice:
+0x4366 013978 fetch 1 ,mem_24g_device_number 
+0x4367 013979 store 1 ,mem_device_flag 
+0x4368 013980 rtn 
+:      013981 mouse_select1_device:
+0x4369 013982 fetcht 1 ,mem_config_select_device_button_gpio 
+0x436a 013983 nbranch mouse_ready_reconnection_by_button ,true 
+0x436b 013984 rtn 
+:      013985 mouse_select2_device:
+0x436c 013986 fetcht 1 ,mem_config_select_device_button_gpio 
+0x436d 013987 call gpio_get_bit 
+0x436e 013988 branch mouse_select_device_button_down ,true 
+0x436f 013989 rtn 
+:      013994 mouse_ready_reconnection_by_button:
+0x4370 013995 fetcht 1 ,mem_device_flag 
+0x4371 013996 increase 1 ,temp 
+0x4372 013997 fetch 1 ,mem_device_number 
+0x4373 013998 isub temp ,null 
+0x4374 013999 ncall mouse_select_device_count_clean ,positive 
+0x4375 014000 storet 1 ,mem_device_flag 
+0x4376 014001 jam 0 ,mem_link_key_exists 
+0x4377 014002 call mouse_store_device_number2eeprom 
+0x4378 014003 call mouse_select_device_enable 
+0x4379 014005 branch mouse_set_reconnection 
+:      014007 mouse_store_device_number2eeprom:
+0x437a 014008 arg 1 ,temp 
+0x437b 014009 arg mem_device_flag ,rega 
+0x437c 014010 arg 0 ,regb 
+0x437d 014011 branch iicd_write_eep_data 
+:      014013 mouse_set_reconnection:
+0x437e 014014 call mouse_stop_bluetooth_mode 
+0x437f 014015 call mouse_select_device_disable 
+0x4380 014016 branch mouse_soft_reset 
+:      014017 mouse_stop_bluetooth_mode:
+0x4381 014018 fetch 2 ,mem_ui_state_map 
+0x4382 014019 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+0x4383 014020 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x4384 014021 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x4385 014022 branch mouse_stop_discovery 
+:      014024 mouse_disconnect:
+0x4386 014025 bpatch patch1d_5 ,mem_patch1d 
+0x4387 014026 setarg 0 
+0x4388 014027 store 2 ,mem_mouse_no_data_timer 
+0x4389 014028 fetch 2 ,mem_ui_state_map 
+0x438a 014029 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x438b 014030 fetch 2 ,mem_ui_state_map 
+0x438c 014031 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x438d 014032 rtn 
+:      014034 mouse_irtual_cable_unplug:
+0x438e 014035 setarg 0x01 
+0x438f 014036 store 6 ,mem_plap 
+0x4390 014037 jam rec_3_mode ,mem_record_bt_mode 
+0x4391 014038 branch mouse_unplug_clean_bdaddr 
+:      014041 mouse_cancel_reconnect:
+0x4392 014042 call mouse_bt_cannel_reconn_enable 
+0x4393 014043 branch check_51cmd_bb_reconn_cancel 
+:      014045 mouse_bt_discovery_by_button:
+0x4394 014046 fetch 1 ,mem_config_bt_button_gpio 
+0x4395 014047 rtneq gpio_disable 
+0x4396 014048 fetcht 1 ,mem_config_bt_button_gpio 
+0x4397 014049 call gpio_get_bit 
+0x4398 014050 branch mouse_bt_discovery_button_down ,true 
+:      014051 mouse_bt_discovery_button_up:
+0x4399 014052 fetch 1 ,mem_ui_button_timeout 
+0x439a 014053 store 1 ,mem_combination_ui_button_count 
+0x439b 014054 fetch 1 ,mem_bt_discovey_button_statue 
+0x439c 014055 rtneq dpi_button_state_up 
+0x439d 014056 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+0x439e 014057 branch mouse_bt_discovery_button_down_disable 
+:      014058 mouse_bt_discovery_button_down:
+0x439f 014059 call mouse_bt_discovry_timer 
+0x43a0 014060 fetch 1 ,mem_bt_discovey_button_statue 
+0x43a1 014061 rtneq dpi_button_state_down 
+0x43a2 014062 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+0x43a3 014063 call check_51cmd_bb_reconn_cancel 
+0x43a4 014064 branch mouse_bt_discovery_button_down_enable 
+:      014067 mouse_bt_discovery_cheak:
+0x43a5 014068 fetch 1 ,mem_config_function_enable 
+0x43a6 014069 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
+:      014070 mouse_bt_discovery_commbination_key:
+0x43a7 014071 call mouse_check_key_gpio 
+0x43a8 014072 beq mouse_lmr_button ,mouse_bt_discovery_commbination_key_down 
+:      014073 mouse_bt_discovery_commbination_key_up:
+0x43a9 014074 fetch 1 ,mem_ui_button_timeout 
+0x43aa 014075 store 1 ,mem_combination_ui_button_count 
+0x43ab 014076 fetch 1 ,mem_bt_discovey_button_statue 
+0x43ac 014077 rtneq dpi_button_state_up 
+0x43ad 014078 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+0x43ae 014079 branch mouse_bt_discovery_button_down_disable 
+:      014082 mouse_bt_discovery_commbination_key_down:
+0x43af 014083 call mouse_bt_discovry_timer 
+0x43b0 014084 fetch 1 ,mem_bt_discovey_button_statue 
+0x43b1 014085 rtneq dpi_button_state_down 
+0x43b2 014086 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+0x43b3 014087 call check_51cmd_bb_reconn_cancel 
+0x43b4 014088 branch mouse_bt_discovery_button_down_enable 
+:      014090 mouse_bt_discovry_timer:
+0x43b5 014091 arg mem_combination_ui_button_count ,regc 
+0x43b6 014092 arg mouse_long_button_bt_discovry ,regb 
+0x43b7 014093 branch timer_single_step 
+:      014095 mouse_long_button_bt_discovry:
+0x43b8 014096 arg mouse_long_bt_button_flag ,queue 
+0x43b9 014097 call mouse_enable_function_flag 
+0x43ba 014098 call app_evt_button_long_pressed 
+0x43bb 014099 branch mouse_bb_event_discovery_btn 
+:      014102 mouse_cpi_enable:
+0x43bc 014103 arg mouse_cpi_flag ,queue 
+0x43bd 014104 branch mouse_enable_function_flag 
+:      014105 mouse_cpi_disable:
+0x43be 014106 arg mouse_cpi_flag ,queue 
+0x43bf 014107 branch mouse_disable_function_flag 
+:      014108 mouse_select_device_enable:
+0x43c0 014109 arg mouse_select_device_flag ,queue 
+0x43c1 014110 branch mouse_enable_function_flag 
+:      014111 mouse_select_device_disable:
+0x43c2 014112 arg mouse_select_device_flag ,queue 
+0x43c3 014113 branch mouse_disable_function_flag 
+:      014114 mouse_bt_cannel_reconn_enable:
+0x43c4 014115 arg mouse_bt_cannel_reconn_flag ,queue 
+0x43c5 014116 branch mouse_enable_function_flag 
+:      014117 mouse_bt_cannel_reconn_disable:
+0x43c6 014118 arg mouse_bt_cannel_reconn_flag ,queue 
+0x43c7 014119 branch mouse_disable_function_flag 
+:      014120 mouse_bt_discovery_button_down_enable:
+0x43c8 014121 arg mouse_bt_discovery_button_down_flag ,queue 
+0x43c9 014122 branch mouse_enable_function_flag 
+:      014123 mouse_bt_discovery_button_down_disable:
+0x43ca 014124 arg mouse_bt_discovery_button_down_flag ,queue 
+0x43cb 014125 branch mouse_disable_function_flag 
+:      014129 mouse_select_device_count_clean:
+0x43cc 014130 arg 1 ,temp 
+0x43cd 014131 rtn 
+:      014133 mouse_enable_function_flag:
+0x43ce 014134 fetch mouse_flag_len ,mem_mouse_flag 
+0x43cf 014135 qset1 pdata 
+0x43d0 014136 store mouse_flag_len ,mem_mouse_flag 
+0x43d1 014137 rtn 
+:      014139 mouse_disable_function_flag:
+0x43d2 014140 fetch mouse_flag_len ,mem_mouse_flag 
+0x43d3 014141 qset0 pdata 
+0x43d4 014142 store mouse_flag_len ,mem_mouse_flag 
+0x43d5 014143 rtn 
+:      014145 mouse_adc_read:
+0x43d6 014146 fetch mouse_flag_len ,mem_mouse_flag 
+0x43d7 014147 rtnbit0 mouse_enable_adc 
+0x43d8 014148 fetch 1 ,mem_adc_read_timer 
+0x43d9 014149 increase 1 ,pdata 
+0x43da 014150 store 1 ,mem_adc_read_timer 
+0x43db 014151 sub pdata ,10 ,null 
+0x43dc 014152 rtn positive 
+0x43dd 014153 jam 0 ,mem_adc_read_timer 
+0x43de 014154 call adc_set_mode 
+0x43df 014155 call vdd_calculate_by_mode 
+0x43e0 014156 store 2 ,mem_mouse_vdd_now_vol 
+0x43e1 014157 arg mem_mouse_vdd_calculate_set ,rega 
+0x43e2 014158 call adc_bat_percent_lowpower_out 
+0x43e3 014159 fetch 1 ,mem_adc_power_flag 
+0x43e4 014160 bbit1 1 ,mouse_power_down 
+0x43e5 014161 bbit0 0 ,mouse_adc_no_low_voltage 
+0x43e6 014162 branch mouse_adc_low_voltage 
+:      014163 mouse_adc_low_voltage:
+0x43e7 014164 arg mouse_low_voltage_flag ,queue 
+0x43e8 014165 branch mouse_enable_function_flag 
+:      014166 mouse_adc_no_low_voltage:
+0x43e9 014167 arg mouse_low_voltage_flag ,queue 
+0x43ea 014168 branch mouse_disable_function_flag 
+:      014170 mouse_low_voltage_led_timer:
+0x43eb 014171 fetch mouse_flag_len ,mem_mouse_flag 
+0x43ec 014172 rtnbit0 mouse_low_voltage_flag 
+0x43ed 014173 fetch 1 ,mem_config_low_voltage_alarm_gpio 
+0x43ee 014174 store 1 ,mem_mouse_struct_led_gpio 
+0x43ef 014175 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x43f0 014176 pincrease 1 
+0x43f1 014177 store 1 ,mem_adc_low_volatage_led_timer_count 
+0x43f2 014178 sub pdata ,20 ,null 
+0x43f3 014179 ncall mouse_adc_low_volatage_led_timer_count_clean ,positive 
+0x43f4 014180 beq 2 ,mouse_low_voltage_led_on 
+0x43f5 014181 beq 4 ,mouse_low_voltage_led_off 
+0x43f6 014182 beq 6 ,mouse_low_voltage_led_on 
+0x43f7 014183 beq 8 ,mouse_low_voltage_led_off 
+0x43f8 014184 rtn 
+:      014185 mouse_adc_low_volatage_led_timer_count_clean:
+0x43f9 014186 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0x43fa 014187 branch mouse_low_voltage_led_off 
+:      014188 mouse_low_voltage_led_on:
+0x43fb 014189 arg 0 ,rega 
+0x43fc 014190 jam ui_led_state_lighting ,mem_mouse_led_type 
+0x43fd 014191 branch ui_led_on_global 
+:      014192 mouse_low_voltage_led_off:
+0x43fe 014193 arg 0 ,rega 
+0x43ff 014194 jam ui_led_state_lighting ,mem_mouse_led_type 
+0x4400 014195 branch ui_led_off_global 
+:      014197 mouse_g24_package_data:
+0x4401 014198 call mouse_motion 
+0x4402 014199 nrtn user 
+0x4403 014200 arg 7 ,rega 
+0x4404 014201 arg mem_mouse_key ,regb 
+0x4405 014202 rtn 
+:      014204 mouse_g24_enter_lpm:
+0x4406 014205 fetch 1 ,mem_mouse_24g_enter_lpm_enable 
+0x4407 014206 rtn blank 
+0x4408 014208 fetcht 1 ,mem_dpi_button_gpio 
+0x4409 014209 call gpio_get_bit 
+0x440a 014210 call mouse_24g_dpi_delay_init ,true 
+0x440b 014211 fetch 1 ,mem_24g_enter_lpm_timer 
+0x440c 014212 nrtn blank 
+0x440d 014213 call mouse_check_key_gpio 
+0x440e 014214 nrtn blank 
+0x440f 014215 branch g24_lpm_long_sleep 
+:      014217 mouse_24g_dpi_delay_init:
+0x4410 014218 fetch 1 ,mem_dpi_button_gpio 
+0x4411 014219 rtneq ui_button_gpio_disable 
+0x4412 014220 jam 10 ,mem_24g_enter_lpm_timer 
+0x4413 014221 rtn 
+:      014224 mouse_load_flash_info_cheak:
+0x4414 014225 call mouse_load_flash_flag 
+0x4415 014226 fetch 2 ,mem_store_flag 
+0x4416 014227 arg eeprom_init_flag ,temp 
+0x4417 014228 isub temp ,null 
+0x4418 014229 branch mouse_load_flash_device_info ,zero 
+0x4419 014230 storet 2 ,mem_store_flag 
+0x441a 014231 call mouse_ble_init_address 
+0x441b 014232 branch mouse_store_flash_device_info 
+:      014233 mouse_ble_init_address:
+0x441c 014234 fetch 6 ,mem_le_lap 
+0x441d 014235 store 6 ,mem_device1_locall_addr 
+0x441e 014236 add pdata ,0x0100 ,pdata 
+0x441f 014237 store 6 ,mem_device2_locall_addr 
+0x4420 014238 add pdata ,0x0100 ,pdata 
+0x4421 014239 store 6 ,mem_device3_locall_addr 
+0x4422 014240 rtn 
+:      014243 mouse_load_flash_flag:
+0x4423 014244 setarg mem_store_flag 
+0x4424 014245 arg mem_mouse_information_start ,temp 
+0x4425 014246 isub temp ,temp 
+0x4426 014247 fetch 3 ,mem_flash_base 
+0x4427 014248 iadd temp ,pdata 
+0x4428 014249 arg 2 ,temp 
+0x4429 014250 arg mem_store_flag ,rega 
+0x442a 014251 branch spid_read_flash 
+:      014254 mouse_load_flash_device_info:
+0x442b 014255 setarg mem_mouse_information_end 
+0x442c 014256 arg mem_mouse_information_start ,temp 
+0x442d 014257 isub temp ,temp 
+0x442e 014258 fetch 3 ,mem_flash_base 
+0x442f 014259 arg mem_mouse_information_start ,rega 
+0x4430 014260 call spid_read_flash 
+0x4431 014261 call mouse_select_reconn_device 
+0x4432 014262 fetch 4 ,mem_mouse_24g_addr 
+0x4433 014263 call g24_head_ptr2regc 
+0x4434 014264 branch g24_store_mem_addr 
+:      014266 mouse_store_flash_device_info:
+0x4435 014267 setarg mem_mouse_information_end 
+0x4436 014268 arg mem_mouse_information_start ,temp 
+0x4437 014269 isub temp ,temp 
+0x4438 014270 arg mem_mouse_information_start ,rega 
+0x4439 014271 fetch 3 ,mem_flash_base 
+0x443a 014272 branch flash_write 
+:      014274 mouse_store_eerpom_dpi:
+0x443b 014275 arg 1 ,temp 
+0x443c 014276 arg mem_mouse_dpi ,rega 
+0x443d 014277 arg mouse_dpi_eeprom_offect ,regb 
+0x443e 014278 branch iicd_write_protect_eep_data 
+:      014280 mouse_load_eeprom_dpi:
+0x443f 014281 arg 1 ,temp 
+0x4440 014282 arg mem_mouse_dpi ,rega 
+0x4441 014283 arg mouse_dpi_eeprom_offect ,regb 
+0x4442 014284 branch iicd_read_eep_data 
+:      014286 mouse_statue_cheak_timer:
+0x4443 014287 rtnmark1 mark_24g 
+0x4444 014288 fetch mouse_flag_len ,mem_mouse_flag 
+0x4445 014289 rtnbit0 mouse_enable_statue_up 
+0x4446 014290 fetch 1 ,mem_mouse_1step_up_count 
+0x4447 014291 pincrease 1 
+0x4448 014292 and pdata ,0x07 ,pdata 
+0x4449 014293 store 1 ,mem_mouse_1step_up_count 
+0x444a 014294 rtnne 0x07 
+0x444b 014295 fetch 2 ,mem_ui_state_map 
+0x444c 014296 bbit1 ui_state_bt_connected ,mouse_check_statue_up 
+0x444d 014297 bbit1 ui_state_ble_connected ,mouse_check_statue_up 
+0x444e 014298 rtn 
+:      014303 mouse_check_statue_up:
+0x444f 014304 bpatch patch1d_6 ,mem_patch1d 
+0x4450 014305 fetch 1 ,mem_mouse_2step_up_count 
+0x4451 014306 nrtn blank 
+0x4452 014307 fetch mouse_flag_len ,mem_mouse_flag 
+0x4453 014308 rtnbit0 mouse_statue_up_flag 
+0x4454 014309 fetch 1 ,mem_sensor_squal_reg 
+0x4455 014310 call sensor_read 
+0x4456 014311 store 1 ,mem_sensor_iqc 
+0x4457 014312 sub pdata ,0x10 ,null 
+0x4458 014313 branch mouse_statue_up_timer_init ,positive 
+0x4459 014314 jam 0 ,mem_mouse_2step_up_count 
+0x445a 014315 rtn 
+:      014317 mouse_statue_up_timer_init:
+0x445b 014318 jam 30 ,mem_mouse_2step_up_count 
+0x445c 014319 rtn 
+:      014320 mouse_statue_up_timer:
+0x445d 014321 arg mem_mouse_2step_up_count ,regc 
+0x445e 014322 arg mouse_statue_up ,regb 
+0x445f 014323 branch timer_single_step 
+:      014325 mouse_statue_up:
+0x4460 014326 fetch 1 ,mem_sensor_squal_reg 
+0x4461 014327 call twspi_read 
+0x4462 014328 sub pdata ,0x10 ,null 
+0x4463 014329 nrtn positive 
+0x4464 014330 fetch mouse_flag_len ,mem_mouse_flag 
+0x4465 014331 rtnbit0 mouse_statue_up_flag 
+0x4466 014332 arg mouse_statue_up_flag ,queue 
+0x4467 014333 call mouse_disable_function_flag 
+0x4468 014334 jam 0 ,mem_lpm_mult 
+0x4469 014335 jam 30 ,mem_mouse_statue_led_timer 
+0x446a 014336 call mouse_devce_led_off 
+0x446b 014337 fetch mouse_flag_len ,mem_mouse_flag 
+0x446c 014338 bbit1 mouse_enable_statue_up_three_led ,mouse_three_device_statue_up 
+:      014339 mouse_two_device_statue_up:
+0x446d 014340 fetch 1 ,mem_device_flag 
+0x446e 014341 beq mode_bt_device1 ,mouse_device1_led_on 
+0x446f 014342 beq mode_bt_device2 ,mouse_device_blink_led_init 
+0x4470 014343 rtn 
+:      014344 mouse_three_device_statue_up:
+0x4471 014345 fetch 1 ,mem_device_flag 
+0x4472 014346 beq mode_bt_device1 ,mouse_device1_led_on 
+0x4473 014347 beq mode_bt_device2 ,mouse_device2_led_on 
+0x4474 014348 beq mode_bt_device3 ,mouse_device3_led_on 
+0x4475 014349 rtn 
+:      014351 mouse_device_blink_led_init:
+0x4476 014352 fetch 1 ,mem_config_device1_led_gpio 
+0x4477 014353 branch mouse_led_blink 
+:      014357 mouse_statue_led_off:
+0x4478 014358 jam 0x20 ,mem_lpm_mult 
+0x4479 014359 branch mouse_devce_led_off 
+:      014363 mouse_devce1_led_off:
+0x447a 014364 fetch 1 ,mem_config_device1_led_gpio 
+0x447b 014365 rtneq gpio_disable 
+0x447c 014366 store 1 ,mem_mouse_struct_led_gpio 
+0x447d 014367 branch mouse_led_off 
+:      014369 mouse_devce2_led_off:
+0x447e 014370 fetch 1 ,mem_config_device2_led_gpio 
+0x447f 014371 rtneq gpio_disable 
+0x4480 014372 store 1 ,mem_mouse_struct_led_gpio 
+0x4481 014373 branch mouse_led_off 
+:      014375 mouse_devce_led_off:
+0x4482 014376 call mouse_led_off 
+0x4483 014377 call mouse_devce1_led_off 
+0x4484 014378 call mouse_devce2_led_off 
+:      014379 mouse_devce3_led_off:
+0x4485 014380 fetch 1 ,mem_config_device3_led_gpio 
+0x4486 014381 rtneq gpio_disable 
+0x4487 014382 store 1 ,mem_mouse_struct_led_gpio 
+0x4488 014383 branch mouse_led_off 
+:      014385 mouse_device1_led_on:
+0x4489 014386 fetch 1 ,mem_config_device1_led_gpio 
+0x448a 014387 store 1 ,mem_mouse_struct_led_gpio 
+0x448b 014388 branch mouse_led_on 
+:      014389 mouse_device2_led_on:
+0x448c 014390 fetch 1 ,mem_config_device2_led_gpio 
+0x448d 014391 store 1 ,mem_mouse_struct_led_gpio 
+0x448e 014392 branch mouse_led_on 
+:      014393 mouse_device3_led_on:
+0x448f 014394 fetch 1 ,mem_config_device3_led_gpio 
+0x4490 014395 store 1 ,mem_mouse_struct_led_gpio 
+0x4491 014396 branch mouse_led_on 
+:      014400 mouse_polling_device:
+0x4492 014401 bpatch patch1d_7 ,mem_patch1d 
+0x4493 014402 fetch 1 ,mem_reconn_times 
+0x4494 014403 increase -1 ,pdata 
+0x4495 014404 store 1 ,mem_reconn_times 
+0x4496 014405 fetcht 1 ,mem_device_flag 
+0x4497 014406 increase 1 ,temp 
+0x4498 014407 fetch 1 ,mem_device_number 
+0x4499 014408 isub temp ,null 
+0x449a 014409 ncall mouse_select_device_count_clean ,positive 
+0x449b 014410 storet 1 ,mem_device_flag 
+0x449c 014411 jam 0 ,mem_link_key_exists 
+0x449d 014412 call mouse_store_device_number2eeprom 
+0x449e 014413 call mouse_before_store_reconn_info 
+0x449f 014414 branch mouse_check_reconn_target 
+:      014416 mouse_power_down:
+0x44a0 014417 call mouse_devce_led_off 
+0x44a1 014418 setarg 0 
+0x44a2 014419 store 8 ,mem_gpio_wakeup_low 
+0x44a3 014420 branch lpm_hibernate 
+:      014431 remote_car_init:
+0x44a4 014432 rtn wake 
+0x44a5 014433 hfetch 1 ,core_gpio_sel1 
+0x44a6 014434 and_into 0xf0 ,pdata 
+0x44a7 014435 hstore 1 ,core_gpio_sel1 
+0x44a8 014436 call keyscan_key_init 
+0x44a9 014437 setarg remote_car_le_before_hibernate 
+0x44aa 014438 store 2 ,mem_cb_before_hibernate 
+0x44ab 014440 setarg remote_car_process_lpm_before 
+0x44ac 014441 store 2 ,mem_cb_before_lpm 
+0x44ad 014443 setarg remote_car_scale_process_idle 
+0x44ae 014444 store 2 ,mem_cb_idle_process 
+0x44af 014446 setarg remote_car_scale_process_bb_event 
+0x44b0 014447 store 2 ,mem_cb_bb_event_process 
+0x44b1 014449 setarg app_get_lpm_wake_lock 
+0x44b2 014450 store 2 ,mem_cb_check_wakelock 
+0x44b3 014452 call g24_head_ptr2regc 
+0x44b4 014453 setarg remote_car_g24_package_data 
+0x44b5 014454 add regc ,offset_24g_cb_data ,contw 
+0x44b6 014455 istore 2 ,contw 
+0x44b7 014457 setarg remote_car_g24_enter_lpm 
+0x44b8 014458 add regc ,offset_24g_cb_lpm_prepare ,contw 
+0x44b9 014459 istore 2 ,contw 
+0x44ba 014461 setarg remote_car_process_lpm_before 
+0x44bb 014462 add regc ,offset_24g_cb_lpm_before ,contw 
+0x44bc 014463 istore 2 ,contw 
+0x44bd 014465 setarg remote_car_event_timer 
+0x44be 014466 store 2 ,mem_cb_event_timer 
+0x44bf 014468 setarg remote_car_power_off_signal 
+0x44c0 014469 store 2 ,mem_remote_car_power_off_cb 
+0x44c1 014471 setarg remote_car_soft_switch_power_on_signal 
+0x44c2 014472 store 2 ,mem_remote_car_power_standby_cb 
+0x44c3 014474 setarg remote_car_send_key_data 
+0x44c4 014475 store 2 ,mem_cb_remote_car_keyscan 
+0x44c5 014477 bpatch patch1e_0 ,mem_patch1e 
+0x44c6 014478 call remote_car_init_environment 
+0x44c7 014479 call queue_init 
+0x44c8 014480 jam 2 ,mem_lpm_mult 
+0x44c9 014481 fetch 1 ,mem_remote_car_config_soft_switch_enable 
+0x44ca 014482 store 1 ,mem_remote_car_hard_soft_switch 
+0x44cb 014483 beq hard_switch ,remote_car_hard_switch_power_on_signal 
+0x44cc 014484 fetch 1 ,mem_remote_car_config_soft_switch_gpio 
+0x44cd 014485 store 1 ,mem_ui_button_gpio 
+:      014486 remote_car_soft_switch_power_on_init:
+0x44ce 014487 call remote_car_ui_led_init 
+0x44cf 014488 call ui_button_init 
+0x44d0 014489 call ui_button_polling 
+0x44d1 014490 jam power_starting ,mem_remote_car_power_state 
+0x44d2 014491 fetch 2 ,mem_ui_state_map 
+0x44d3 014492 rtnbit1 ui_state_btn_down 
+0x44d4 014493 branch app_enter_hibernate 
+:      014497 remote_car_hard_switch_power_on_signal:
+0x44d5 014498 jam power_standby ,mem_remote_car_power_state 
+:      014499 remote_car_soft_switch_power_on_signal:
+0x44d6 014500 call remote_car_ui_led_init 
+0x44d7 014502 arg 0 ,rega 
+0x44d8 014503 call ui_led_blink_start_global 
+:      014504 remote_car_connect_24g_mode:
+0x44d9 014505 branch g24_auto_pair_start 
+:      014507 remote_car_power_off_signal:
+0x44da 014508 branch remote_car_ui_led_init 
+:      014510 remote_car_ui_led_init:
+0x44db 014511 bpatch patch1e_1 ,mem_patch1e 
+0x44dc 014512 fetch 1 ,mem_remote_car_config_connect_led_gpio 
+0x44dd 014513 bne invalid_pin_num ,remote_car_pairing_led_gpio_set 
+:      014514 remote_car_ui_led_init_1:
+0x44de 014515 fetcht 1 ,mem_remote_car_led_map 
+0x44df 014516 branch gpio_config_output 
+:      014517 remote_car_pairing_led_gpio_set:
+0x44e0 014518 store 1 ,mem_remote_car_led_map 
+0x44e1 014519 branch remote_car_ui_led_init_1 
+:      014522 remote_car_init_environment:
+0x44e2 014523 call g24_set_device_addr 
+0x44e3 014524 fetch 2 ,mem_remote_car_no_data_timeout 
+0x44e4 014525 store 2 ,mem_remote_car_no_data_timer 
+0x44e5 014526 branch remote_car_get_adc_default_data 
+:      014528 remote_car_le_before_hibernate:
+:      014533 remote_car_in_enter_hibernate:
+0x44e6 014534 call gpio_set_before_lpm_common 
+0x44e7 014535 call remote_car_process_lpm_before 
+0x44e8 014536 branch app_enter_hibernate 
+:      014538 remote_car_process_lpm_before:
+0x44e9 014539 branch keyscan_process_lpm_before 
+:      014541 remote_car_g24_enter_lpm:
+0x44ea 014542 fetch 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44eb 014543 rtn blank 
+0x44ec 014545 branch g24_lpm_long_sleep 
+:      014547 remote_car_process_auto_pair_exit:
+0x44ed 014548 rtn 
+:      014550 remote_car_key_scan_process:
+0x44ee 014551 branch keyscan_key_process 
+:      014553 remote_car_scale_process_idle:
+0x44ef 014554 call remote_car_rocker_process 
+0x44f0 014555 call remote_car_24g_status_process 
+0x44f1 014556 branch remote_car_key_scan_process 
+:      014558 remote_car_scale_process_bb_event:
+0x44f2 014559 copy regc ,pdata 
+0x44f3 014560 beq bt_evt_button_up ,app_event_button_up 
+0x44f4 014561 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x44f5 014562 beq bt_evt_24g_pairing_complete ,remote_car_24g_pairing_complete 
+0x44f6 014563 beq bt_evt_24g_attempt_success ,remote_car_24g_attempt_success 
+0x44f7 014564 beq bt_evt_24g_attempt_fail ,remote_car_24g_attempt_fail 
+0x44f8 014565 rtn 
+:      014567 remote_car_24g_attempt_fail:
+0x44f9 014568 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44fa 014569 rtn 
+:      014571 remote_car_24g_pairing_complete:
+0x44fb 014572 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44fc 014573 jam work_paired ,mem_remote_car_24g_auto_work_step 
+0x44fd 014574 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+0x44fe 014575 rtn 
+:      014577 remote_car_24g_attempt_success:
+0x44ff 014578 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x4500 014579 jam work_paired ,mem_remote_car_24g_auto_work_step 
+0x4501 014580 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+0x4502 014581 rtn 
+:      014583 remote_car_24g_status_process:
+0x4503 014584 fetch 1 ,mem_remote_car_24g_auto_work_step 
+0x4504 014585 rtneq power_on 
+0x4505 014586 fetch 1 ,mem_remote_car_24g_status 
+0x4506 014587 rtneq work_paired 
+0x4507 014588 jam work_paired ,mem_remote_car_24g_status 
+:      014589 remote_car_scale_process_paired:
+0x4508 014590 arg 0 ,rega 
+0x4509 014591 branch ui_led_off_global 
+:      014592 remote_car_scale_process_shutdown:
+0x450a 014593 arg 0 ,rega 
+0x450b 014594 call ui_led_off_global 
+0x450c 014595 call remote_car_ui_led_init 
+0x450d 014596 branch app_enter_hibernate 
+:      014598 remote_car_event_timer:
+0x450e 014599 call app_power_timer 
+0x450f 014600 branch remote_car_no_data_timer 
+:      014602 remote_car_no_data_timer:
+0x4510 014603 fetch 1 ,mem_remote_car_config_timeout_shutdown_enable 
+0x4511 014604 rtn blank 
+0x4512 014605 arg mem_remote_car_no_data_timer ,regc 
+0x4513 014606 arg remote_car_scale_process_shutdown ,regb 
+0x4514 014607 branch timer_single_step_2b 
+:      014610 remote_car_get_adc_default_data:
+0x4515 014611 call remote_car_rocker_get_x 
+0x4516 014612 storet 2 ,mem_current_vdd_value_default_mid_x 
+0x4517 014613 call remote_car_rocker_get_y 
+0x4518 014614 storet 2 ,mem_current_vdd_value_default_mid_y 
+0x4519 014615 rtn 
+:      014616 remote_car_rocker_data_get:
+:      014617 remote_car_rocker_get_x:
+0x451a 014618 fetch 2 ,mem_current_vdd_value_default_mid_x 
+0x451b 014619 store 2 ,mem_current_vdd_value_default_mid_temp 
+0x451c 014620 call remote_car_get_adc_from_gpio6 
+0x451d 014621 call remote_car_rocker_get_value 
+0x451e 014622 store 1 ,mem_rocker_status 
+:      014623 remote_car_rocker_get_y:
+0x451f 014624 fetch 2 ,mem_current_vdd_value_default_mid_y 
+0x4520 014625 store 2 ,mem_current_vdd_value_default_mid_temp 
+0x4521 014626 call remote_car_get_adc_from_gpio7 
+0x4522 014627 call remote_car_rocker_get_value 
+0x4523 014628 store 1 ,mem_rocker_status + 1 
+0x4524 014629 rtn 
+:      014630 remote_car_rocker_get_value:
+0x4525 014631 fetch 2 ,mem_current_vdd_default_range 
+0x4526 014632 copy pdata ,rega 
+0x4527 014633 fetch 2 ,mem_current_vdd_value_default_mid_temp 
+0x4528 014634 call remote_car_rocker_mid_value_adjust 
+0x4529 014635 fetch 1 ,mem_rocker_work_status 
+0x452a 014636 nbranch remote_car_rocker_translate_key ,blank 
+0x452b 014637 nrtn positive 
+0x452c 014638 fetcht 2 ,mem_current_vdd_value_default_mid_temp 
+0x452d 014639 rtn 
+:      014640 remote_car_rocker_mid_value_adjust:
+0x452e 014641 isub temp ,pdata 
+0x452f 014642 branch remote_car_rocker_mid_adjust_positive ,positive 
+0x4530 014643 sub pdata ,0 ,pdata 
+0x4531 014644 jam 1 ,mem_rocker_negative_flag 
+0x4532 014645 isub rega ,null 
+0x4533 014646 rtn 
+:      014647 remote_car_rocker_mid_adjust_positive:
+0x4534 014648 jam 0 ,mem_rocker_negative_flag 
+0x4535 014649 isub rega ,null 
+0x4536 014650 rtn 
+:      014651 remote_car_rocker_translate_key:
+0x4537 014652 nbranch remote_car_rocker_middle_key ,positive 
+0x4538 014653 fetch 1 ,mem_rocker_negative_flag 
+0x4539 014654 nbranch remote_car_rocker_negative_key ,blank 
+:      014655 remote_car_rocker_positive_key:
+0x453a 014656 setarg rocker_positive_key 
+0x453b 014657 rtn 
+:      014658 remote_car_rocker_negative_key:
+0x453c 014659 setarg rocker_negative_key 
+0x453d 014660 rtn 
+:      014661 remote_car_rocker_middle_key:
+0x453e 014662 setarg rocker_middle_key 
+0x453f 014663 rtn 
+:      014664 remote_car_get_adc_from_gpio6:
+0x4540 014665 jam 0x33 ,mem_adc_channel 
+0x4541 014666 branch adc_set_mode 
+:      014667 remote_car_get_adc_from_gpio7:
+0x4542 014668 jam 0x34 ,mem_adc_channel 
+0x4543 014669 branch adc_set_mode 
+:      014672 remote_car_rocker_process:
+0x4544 014673 fetch 1 ,mem_remote_car_config_check_way 
+0x4545 014674 rtnne car_remote_check_rocker 
+:      014675 remote_car_read_rocker_check_start:
+0x4546 014676 bpatch patch1e_2 ,mem_patch1e 
+0x4547 014677 jam 1 ,mem_rocker_work_status 
+0x4548 014678 call remote_car_rocker_data_get 
+0x4549 014679 fetch 2 ,mem_rocker_status 
+0x454a 014680 fetcht 2 ,mem_rocker_last_status 
+0x454b 014681 isub temp ,null 
+0x454c 014682 rtn zero 
+0x454d 014683 store 2 ,mem_rocker_last_status 
+0x454e 014684 call remote_car_rocker_x_to_key 
+0x454f 014685 branch remote_car_rocker_y_to_key 
+:      014687 remote_car_rocker_x_to_key:
+0x4550 014688 fetch 1 ,mem_rocker_x_status 
+0x4551 014689 branch rocker_to_queue_set_0 ,blank 
+0x4552 014690 increase -1 ,pdata 
+0x4553 014691 branch remote_car_rocker_to_key 
+:      014692 remote_car_rocker_y_to_key:
+0x4554 014693 fetch 1 ,mem_rocker_y_status 
+0x4555 014694 branch rocker_to_queue_set_2 ,blank 
+0x4556 014695 increase 1 ,pdata 
+:      014696 remote_car_rocker_to_key:
+0x4557 014697 copy pdata ,queue 
+0x4558 014698 arg 1 ,rega 
+0x4559 014699 branch remote_car_send_key_data 
+:      014701 rocker_to_queue_set_0:
+0x455a 014702 arg 0 ,queue 
+0x455b 014703 arg 0 ,rega 
+0x455c 014704 branch remote_car_send_key_data 
+:      014705 rocker_to_queue_set_2:
+0x455d 014706 arg 2 ,queue 
+0x455e 014707 arg 0 ,rega 
+0x455f 014708 branch remote_car_send_key_data 
+:      014710 remote_car_send_key_data:
+0x4560 014711 copy rega ,pdata 
+0x4561 014712 store 1 ,mem_remote_key_status 
+0x4562 014713 fetch 1 ,mem_remote_car_24g_auto_work_step 
+0x4563 014714 beq power_on ,g24_auto_pair_start 
+0x4564 014715 fetch 2 ,mem_remote_car_no_data_timeout 
+0x4565 014716 store 2 ,mem_remote_car_no_data_timer 
+0x4566 014717 fetch 1 ,mem_remote_key_status 
+0x4567 014718 branch remote_car_key_is_release ,blank 
+:      014719 remote_car_key_is_press:
+0x4568 014720 bpatch patch1e_3 ,mem_patch1e 
+0x4569 014721 arg 0 ,rega 
+0x456a 014722 call ui_led_on_global 
+:      014723 remote_car_attack_key_press:
+0x456b 014724 copy queue ,pdata 
+0x456c 014725 beq 4 ,remote_car_send_attack_key4_press 
+0x456d 014726 beq 5 ,remote_car_send_attack_key5_press 
+0x456e 014727 beq 6 ,remote_car_send_fire_key6_press 
+:      014730 remote_car_motor_key_press:
+0x456f 014731 call remote_car_device_layout_select 
+0x4570 014732 beq control_f_b_ten ,remote_car_single_motor_key_is_press 
+0x4571 014733 beq control_l_r_ten ,remote_car_double_motor_key_press 
+0x4572 014734 beq control_l_r_lr ,remote_car_single_motor_key_is_press 
+0x4573 014735 rtn 
+:      014737 remote_car_single_motor_key_is_press:
+0x4574 014738 copy queue ,pdata 
+0x4575 014739 beq 0 ,remote_car_send_motor1_key0_press 
+0x4576 014740 beq 1 ,remote_car_send_motor1_key1_press 
+0x4577 014741 beq 2 ,remote_car_send_motor2_key2_press 
+0x4578 014742 beq 3 ,remote_car_send_motor2_key3_press 
+0x4579 014743 rtn 
+:      014745 remote_car_double_motor_key_press:
+0x457a 014746 copy queue ,pdata 
+0x457b 014747 beq 0 ,remote_car_send_double_motor_key0_press 
+0x457c 014748 beq 1 ,remote_car_send_double_motor_key1_press 
+0x457d 014749 beq 2 ,remote_car_send_double_motor_key2_press 
+0x457e 014750 beq 3 ,remote_car_send_double_motor_key3_press 
+0x457f 014751 rtn 
+:      014753 remote_car_key_is_release:
+0x4580 014754 bpatch patch1e_4 ,mem_patch1e 
+0x4581 014755 arg 0 ,rega 
+0x4582 014756 call ui_led_off_global 
+:      014757 remote_car_attack_key_release:
+0x4583 014758 copy queue ,pdata 
+0x4584 014759 beq 4 ,remote_car_send_attack_key4_rel 
+0x4585 014760 beq 5 ,remote_car_send_attack_key5_rel 
+:      014763 remote_car_motor_key_release:
+0x4586 014764 call remote_car_device_layout_select 
+0x4587 014765 beq control_f_b_ten ,remote_car_single_motor_key_rel 
+0x4588 014766 beq control_l_r_ten ,remote_car_double_motor_key_rel 
+0x4589 014767 beq control_l_r_lr ,remote_car_single_motor_key_rel 
+0x458a 014768 rtn 
+:      014770 remote_car_device_layout_select:
+0x458b 014771 fetch 1 ,mem_remote_car_config_layout 
+0x458c 014772 fetcht 1 ,mem_remote_car_config_key_map 
+0x458d 014773 ior temp ,pdata 
+0x458e 014774 rtn 
+:      014777 remote_car_send_motor1_key0_press:
+0x458f 014778 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x4590 014779 branch remote_car_send_key 
+:      014780 remote_car_send_motor1_key1_press:
+0x4591 014781 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x4592 014782 branch remote_car_send_key 
+:      014783 remote_car_send_motor2_key2_press:
+0x4593 014784 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x4594 014785 branch remote_car_send_key 
+:      014786 remote_car_send_motor2_key3_press:
+0x4595 014787 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x4596 014788 branch remote_car_send_key 
+:      014791 remote_car_send_double_motor_key0_press:
+0x4597 014792 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x4598 014793 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x4599 014794 branch remote_car_send_key 
+:      014795 remote_car_send_double_motor_key1_press:
+0x459a 014796 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x459b 014797 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x459c 014798 branch remote_car_send_key 
+:      014799 remote_car_send_double_motor_key2_press:
+0x459d 014800 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x459e 014801 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x459f 014802 branch remote_car_send_key 
+:      014803 remote_car_send_double_motor_key3_press:
+0x45a0 014804 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x45a1 014805 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x45a2 014806 branch remote_car_send_key 
+:      014809 remote_car_send_attack_key4_press:
+0x45a3 014810 jam motor_positive ,mem_remote_car_24g_motor3_payload 
+0x45a4 014811 branch remote_car_send_key 
+:      014812 remote_car_send_attack_key5_press:
+0x45a5 014813 jam motor_negative ,mem_remote_car_24g_motor3_payload 
+0x45a6 014814 branch remote_car_send_key 
+:      014816 remote_car_send_fire_key6_press:
+0x45a7 014817 jam 0x01 ,mem_remote_car_24g_fire_send_payload 
+0x45a8 014818 branch remote_car_send_attack 
+:      014820 remote_car_single_motor_key_rel:
+0x45a9 014821 copy queue ,pdata 
+0x45aa 014822 beq 0 ,remote_car_send_motor1_key0_rel 
+0x45ab 014823 beq 1 ,remote_car_send_motor1_key1_rel 
+0x45ac 014824 beq 2 ,remote_car_send_motor2_key2_rel 
+0x45ad 014825 beq 3 ,remote_car_send_motor2_key3_rel 
+0x45ae 014826 rtn 
+:      014828 remote_car_double_motor_key_rel:
+0x45af 014829 copy queue ,pdata 
+0x45b0 014830 beq 0 ,remote_car_send_double_motor_key0_rel 
+0x45b1 014831 beq 1 ,remote_car_send_double_motor_key1_rel 
+0x45b2 014832 beq 2 ,remote_car_send_double_motor_key2_rel 
+0x45b3 014833 beq 3 ,remote_car_send_double_motor_key3_rel 
+0x45b4 014834 rtn 
+:      014836 remote_car_send_motor1_key0_rel:
+:      014837 remote_car_send_motor1_key1_rel:
+0x45b5 014838 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+0x45b6 014839 branch remote_car_send_key 
+:      014840 remote_car_send_motor2_key2_rel:
+:      014841 remote_car_send_motor2_key3_rel:
+0x45b7 014842 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+0x45b8 014843 branch remote_car_send_key 
+:      014845 remote_car_send_double_motor_key0_rel:
+:      014846 remote_car_send_double_motor_key1_rel:
+:      014847 remote_car_send_double_motor_key2_rel:
+:      014848 remote_car_send_double_motor_key3_rel:
+0x45b9 014849 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+0x45ba 014850 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+0x45bb 014851 branch remote_car_send_key 
+:      014853 remote_car_send_attack_key4_rel:
+:      014854 remote_car_send_attack_key5_rel:
+0x45bc 014855 jam motor_stop ,mem_remote_car_24g_motor3_payload 
+0x45bd 014856 branch remote_car_send_key 
+:      014858 remote_car_send_key:
+0x45be 014859 arg mem_remote_car_24g_motor_packet ,rega 
+0x45bf 014860 branch queue_push 
+:      014861 remote_car_send_attack:
+0x45c0 014862 arg mem_remote_car_24g_fire_packet ,rega 
+0x45c1 014863 branch queue_push 
+:      014865 remote_car_g24_package_data:
+0x45c2 014866 fetch 1 ,mem_remote_car_24g_pair_success_flag 
+0x45c3 014867 beq work_paired ,remote_car_g24_send_empty 
+0x45c4 014868 arg mem_remote_car_24g_tx_temp ,rega 
+0x45c5 014869 call queue_pop 
+0x45c6 014870 nbranch remote_car_moto_data ,user 
+:      014871 remote_car_g24_package_data_continue:
+0x45c7 014872 arg mem_remote_car_24g_tx_temp ,contr 
+0x45c8 014873 ifetch 1 ,contr 
+0x45c9 014874 copy pdata ,rega 
+0x45ca 014875 arg mem_remote_car_24g_tx_temp + 1 ,regb 
+0x45cb 014878 rtn 
+:      014880 remote_car_g24_send_empty:
+0x45cc 014881 jam 0 ,mem_remote_car_24g_pair_success_flag 
+0x45cd 014882 enable user 
+0x45ce 014883 arg 1 ,rega 
+0x45cf 014884 arg mem_remote_car_empty_packet ,regb 
+0x45d0 014885 rtn 
+:      014887 remote_car_moto_data:
+0x45d1 014888 fetch 1 ,mem_remote_car_24g_tx_temp + 3 
+0x45d2 014889 beq car_cmd_l_r_motor_control ,remote_car_moto_data_next 
+0x45d3 014890 beq car_cmd_f_b_motor_control ,remote_car_moto_data_next 
+0x45d4 014891 rtn 
+:      014892 remote_car_moto_data_next:
+0x45d5 014893 fetch 1 ,mem_remote_car_24g_tx_temp + 6 
+0x45d6 014894 nbranch remote_car_moto_data_enable_user ,blank 
+0x45d7 014895 fetch 1 ,mem_remote_car_24g_tx_temp + 8 
+0x45d8 014896 nbranch remote_car_moto_data_enable_user ,blank 
+0x45d9 014897 fetch 1 ,mem_remote_car_24g_tx_temp + 10 
+0x45da 014898 nbranch remote_car_moto_data_enable_user ,blank 
+0x45db 014899 rtn 
+:      014900 remote_car_moto_data_enable_user:
+0x45dc 014901 enable user 
+0x45dd 014902 branch remote_car_g24_package_data_continue 
+:      014910 shutter_init:
+0x45de 014911 rtn wake 
+0x45df 014912 hfetch 1 ,core_gpio_sel1 
+0x45e0 014913 and_into 0xfc ,pdata 
+0x45e1 014914 hstore 1 ,core_gpio_sel1 
+0x45e2 014915 setarg shutter_le_before_hibernate 
+0x45e3 014916 store 2 ,mem_cb_before_hibernate 
+0x45e4 014918 setarg shutter_process_lpm_before 
+0x45e5 014919 store 2 ,mem_cb_before_lpm 
+0x45e6 014921 setarg app_enter_hibernate 
+0x45e7 014922 store 2 ,mem_cb_discovry_timeout 
+0x45e8 014924 setarg shutter_process_idle 
+0x45e9 014925 store 2 ,mem_cb_idle_process 
+0x45ea 014927 setarg shutter_process_bb_event 
+0x45eb 014928 store 2 ,mem_cb_bb_event_process 
+0x45ec 014930 setarg shutter_le_scale_lpm_lock 
+0x45ed 014931 store 2 ,mem_cb_check_wakelock 
+0x45ee 014933 setarg ble_shutter_receive_data 
+0x45ef 014934 store 2 ,mem_cb_att_write 
+0x45f0 014936 setarg shutter_le_bb_event_timer 
+0x45f1 014937 store 2 ,mem_cb_event_timer 
+0x45f2 014939 setarg shutter_key_change 
+0x45f3 014940 store 2 ,mem_cb_shutter_keycan 
+0x45f4 014942 setarg shutter_soft_swtich_power_on 
+0x45f5 014943 store 2 ,mem_shutter_soft_switch_poweron_callback_function 
+0x45f6 014944 setarg shutter_soft_swtich_power_off 
+0x45f7 014945 store 2 ,mem_shutter_soft_switch_poweroff_callback_function 
+0x45f8 014947 call le_modified_name 
+0x45f9 014948 call shutter_load_bluetooth_config_by_user_config 
+0x45fa 014949 call shutter_init_bluetooth_config 
+0x45fb 014950 call shutter_init_param 
+0x45fc 014951 call keyscan_key_init 
+0x45fd 014952 call shutter_load_buffer_config_form_datarom 
+0x45fe 014953 call queue_init 
+0x45ff 014954 call ui_led_init_global 
+0x4600 014955 call shutter_load_bluetooth_config 
+0x4601 014956 call shutter_load_bluetooth_config_by_eeprom 
+0x4602 014958 bpatch patch1e_5 ,mem_patch1e 
+0x4603 014959 call classic_shutter_load_reconn_info 
+0x4604 014960 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x4605 014961 beq hard_switch ,shutter_hart_swtich_power_on 
+0x4606 014962 fetch 1 ,mem_shutter_soft_switch_button_gpio 
+0x4607 014963 store 1 ,mem_ui_button_gpio 
+0x4608 014964 branch ui_soft_swtich_init 
+:      014967 shutter_hart_swtich_power_on:
+0x4609 014968 jam ui_button_gpio_disable ,mem_ui_button_gpio 
+0x460a 014969 jam ss_state_power_on ,mem_shutter_soft_switch_power_state 
+0x460b 014970 branch shutter_start_reconnect 
+:      014974 shutter_le_scale_lpm_lock:
+0x460c 014975 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x460d 014976 beq ss_state_power_off ,app_get_lpm_wake_lock 
+0x460e 014977 call l2cap_malloc_get_full_map 
+0x460f 014978 fetch 1 ,mem_used_map 
+0x4610 014979 nbranch app_get_lpm_wake_lock ,blank 
+0x4611 014980 branch app_put_lpm_wake_lock 
+:      014984 shutter_process_bb_event:
+0x4612 014985 copy regc ,pdata 
+0x4613 014987 beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
+0x4614 014988 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
+0x4615 014989 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
+0x4616 014990 beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
+0x4617 014991 beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
+0x4618 014992 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
+0x4619 014993 beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
+0x461a 014994 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
+0x461b 014995 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
+0x461c 014996 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
+0x461d 014997 beq bt_evt_store_nvram ,classic_shutter_process_store_reconnect_information 
+0x461e 014999 beq bt_evt_le_connected ,ble_shutter_process_baseband_connect 
+0x461f 015000 beq bt_evt_le_disconnected ,ble_shutter_process_baseband_disconnect 
+0x4620 015001 beq bt_evt_le_reconnect_complete ,ble_shutter_process_reconnect_complete 
+0x4621 015002 beq bt_evt_le_parse_conn_papa_update_rsp ,ble_shutter_process_parse_connect_parameter_update_response 
+0x4622 015004 beq bt_evt_button_long_pressed ,shutter_process_soft_swtich_button_long_press 
+0x4623 015005 beq bt_evt_button_down ,shutter_process_soft_swtich_button_down 
+0x4624 015006 beq bt_evt_button_up ,shutter_process_soft_swtich_button_up 
+0x4625 015007 rtn 
+:      015012 classic_shutter_process_baseband_connect:
+0x4626 015013 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x4627 015014 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x4628 015015 rtn 
+:      015018 classic_shutter_process_baseband_disconnect:
+0x4629 015019 call classic_shutter_disconnect_clear_flag 
+0x462a 015020 branch classic_shutter_process_reconnect_failed 
+:      015022 classic_shutter_disconnect_clear_flag:
+0x462b 015023 jam app_handshake_null ,mem_app_handshake_flag 
+0x462c 015024 jam 0 ,mem_hid_handshake_timer_count 
+0x462d 015025 jam 0 ,mem_unsniff2sniff_timer_count 
+0x462e 015026 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x462f 015027 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x4630 015028 branch queue_init 
+:      015031 classic_shutter_process_reconnect_failed:
+0x4631 015032 call app_disconn_reason_clear 
+0x4632 015033 branch shutter_start_bluetooth_discovery 
+:      015036 classic_shutter_process_setup_complete:
+0x4633 015037 call shutter_stop_bluetooth_discovery 
+0x4634 015038 branch app_led_stop_blink 
+:      015041 classic_shutter_process_hid_connect:
+0x4635 015042 setarg hid_handshake_timeout 
+0x4636 015043 store 1 ,mem_hid_handshake_timer_count 
+0x4637 015044 rtn 
+:      015047 classic_shutter_process_hid_disconnect:
+0x4638 015048 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x4639 015049 setarg flag_shutter_hid_disconn_timeout 
+0x463a 015050 store 1 ,mem_classic_shutter_hid_disconn_count 
+0x463b 015051 rtn 
+:      015054 classic_shutter_process_hid_handshake:
+0x463c 015055 fetch 1 ,mem_app_handshake_flag 
+0x463d 015056 rtneq app_handshake_done 
+0x463e 015057 jam app_handshake_done ,mem_app_handshake_flag 
+0x463f 015058 call app_lpm_mult_enable 
+0x4640 015059 call app_store_reconn_info 
+0x4641 015060 call shutter_stop_bluetooth_discovery 
+0x4642 015061 call app_led_off 
+0x4643 015062 branch app_bt_enter_sniff 
+:      015065 classic_shutter_process_reconnect_page_timeout:
+0x4644 015066 branch classic_shutter_process_reconnect_failed 
+:      015069 classic_shutter_process_virtual_cable_unplug:
+0x4645 015070 setarg flag_shutter_cable_unplug_timeout 
+0x4646 015071 store 1 ,mem_classic_shutter_cable_unplug_conut 
+0x4647 015072 rtn 
+:      015075 classic_shutter_process_remote_unsniff:
+0x4648 015076 branch app_start_auto_sniff 
+:      015080 classic_shutter_process_store_reconnect_information:
+0x4649 015081 arg nvram_eeprom_offset ,regb 
+0x464a 015082 fetch 1 ,mem_nv_data_number 
+0x464b 015083 mul32 pdata ,34 ,temp 
+0x464c 015084 fetch 2 ,mem_nv_data_ptr 
+0x464d 015085 copy pdata ,rega 
+0x464e 015086 branch iicd_write_eep_data 
+:      015088 classic_shutter_load_reconn_info:
+0x464f 015089 arg nvram_eeprom_offset ,regb 
+0x4650 015090 fetch 1 ,mem_shutter_bluetooth_type 
+0x4651 015091 rtnbit0 classic_shutter 
+0x4652 015092 fetch 1 ,mem_nv_data_number 
+0x4653 015093 rtn blank 
+0x4654 015094 mul32 pdata ,34 ,temp 
+0x4655 015095 fetch 2 ,mem_nv_data_ptr 
+0x4656 015096 copy pdata ,rega 
+0x4657 015097 branch iicd_read_eep_data 
+:      015101 ble_shutter_process_baseband_connect:
+0x4658 015102 call shutter_stop_bluetooth_discovery 
+0x4659 015103 setarg 0 
+0x465a 015104 store 2 ,mem_ble_shutter_reconn_timer 
+0x465b 015105 branch app_led_off 
+:      015108 ble_shutter_process_baseband_disconnect:
+0x465c 015109 call queue_init 
+0x465d 015110 jam 0 ,mem_ble_shutter_enable_notify 
+0x465e 015111 branch shutter_start_reconnect 
+:      015114 ble_shutter_process_reconnect_complete:
+0x465f 015115 call queue_init 
+0x4660 015116 jam 1 ,mem_ble_shutter_enable_notify 
+0x4661 015117 fetch 8 ,mem_ble_shutter_interval_min 
+0x4662 015118 store 8 ,mem_le_interval_min 
+0x4663 015119 call app_lpm_mult_enable 
+0x4664 015120 branch le_l2cap_tx_update_req 
+:      015123 ble_shutter_process_parse_connect_parameter_update_response:
+0x4665 015124 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x4666 015125 rtneq ble_signaling_connect_parameter_update_accepted 
+0x4667 015126 fetch 8 ,mem_ble_shutter_interval_min_new 
+0x4668 015127 rtn blank 
+0x4669 015128 store 8 ,mem_le_interval_min 
+0x466a 015129 branch le_l2cap_tx_update_req 
+:      015133 shutter_process_soft_swtich_button_long_press:
+0x466b 015134 branch ui_soft_switch_botton_long_press 
+:      015136 shutter_process_soft_swtich_button_down:
+0x466c 015137 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x466d 015138 rtneq hard_switch 
+0x466e 015139 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x466f 015140 rtnne ss_state_power_on 
+0x4670 015141 call shutter_store_currenct_led_state 
+0x4671 015142 branch app_led_on 
+:      015144 shutter_store_currenct_led_state:
+0x4672 015145 jam 1 ,mem_shutter_soft_swtich_botton_down 
+0x4673 015146 arg 11 ,loopcnt 
+0x4674 015147 arg mem_shutter_soft_swtich_led_struct_temp ,contw 
+0x4675 015148 arg mem_shutter_led_struct_app_led ,contr 
+0x4676 015149 branch memcpy 
+:      015151 shutter_process_soft_swtich_button_up:
+0x4677 015152 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x4678 015153 rtneq hard_switch 
+0x4679 015154 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x467a 015155 beq ss_state_power_on ,shutter_load_currenct_led_state 
+0x467b 015156 branch ui_soft_switch_botton_up 
+:      015158 shutter_load_currenct_led_state:
+0x467c 015159 fetch 1 ,mem_shutter_soft_swtich_botton_down 
+0x467d 015160 rtnne 1 
+0x467e 015161 jam 0 ,mem_shutter_soft_swtich_botton_down 
+0x467f 015162 fetch 2 ,mem_ui_state_map 
+0x4680 015163 bbit1 ui_state_bt_connected ,app_led_off 
+0x4681 015164 bbit1 ui_state_ble_connected ,app_led_off 
+0x4682 015165 arg 11 ,loopcnt 
+0x4683 015166 arg mem_shutter_soft_swtich_led_struct_temp ,contr 
+0x4684 015167 arg mem_shutter_led_struct_app_led ,contw 
+0x4685 015168 branch memcpy 
+:      015173 shutter_le_bb_event_timer:
+0x4686 015175 call shutter_check_sleep_timer 
+0x4687 015178 call shutter_check_power_off_timer 
+0x4688 015181 call classic_shutter_check_unplug_timer 
+0x4689 015182 call classic_shutter_hid_handshake_timer 
+0x468a 015183 call classic_shutter_hid_disconn_timer 
+0x468b 015186 branch ble_shutter_reconn_timer 
+:      015190 shutter_check_sleep_timer:
+0x468c 015191 arg mem_shutter_sleep_timer ,regc 
+0x468d 015192 arg shutter_sleep_timeout ,regb 
+0x468e 015193 branch timer_single_step_2b 
+:      015194 shutter_sleep_timeout:
+0x468f 015195 jam ss_state_power_off ,mem_shutter_soft_switch_power_state 
+0x4690 015196 call app_led_off 
+0x4691 015197 call shutter_disconnect_current_connection 
+0x4692 015198 branch shutter_wait_power_off 
+:      015201 shutter_check_power_off_timer:
+0x4693 015202 arg mem_shutter_power_off_timer ,regc 
+0x4694 015203 arg shutter_check_power_off_timeout ,regb 
+0x4695 015204 branch timer_single_step 
+:      015206 shutter_check_power_off_timeout:
+0x4696 015207 fetch 2 ,mem_ui_state_map 
+0x4697 015208 bbit1 ui_state_ble_connected ,shutter_wait_power_off 
+0x4698 015209 bbit1 ui_state_bt_connected ,shutter_wait_power_off 
+0x4699 015210 fetch 1 ,mem_shutter_led_struct_app_led_type 
+0x469a 015211 beq ui_led_state_blink_start ,shutter_wait_power_off 
+0x469b 015212 beq ui_led_state_blink_lighting ,shutter_wait_power_off 
+0x469c 015213 beq ui_led_state_blink_darking ,shutter_wait_power_off 
+0x469d 015214 branch app_enter_hibernate 
+:      015218 classic_shutter_check_unplug_timer:
+0x469e 015219 arg mem_classic_shutter_cable_unplug_conut ,regc 
+0x469f 015220 arg classic_shutter_unplug_timeout ,regb 
+0x46a0 015221 branch timer_single_step 
+:      015223 classic_shutter_unplug_timeout:
+0x46a1 015224 fetch 1 ,mem_control_tasks 
+0x46a2 015225 set1 l2cap_disconnect_interrupt ,pdata 
+0x46a3 015226 set1 l2cap_disconnect_control ,pdata 
+0x46a4 015227 store 1 ,mem_control_tasks 
+0x46a5 015228 rtn 
+:      015230 classic_shutter_hid_handshake_timer:
+0x46a6 015231 arg mem_hid_handshake_timer_count ,regc 
+0x46a7 015232 arg classic_shutter_process_hid_handshake ,regb 
+0x46a8 015233 branch timer_single_step 
+:      015235 classic_shutter_hid_disconn_timer:
+0x46a9 015236 arg mem_classic_shutter_hid_disconn_count ,regc 
+0x46aa 015237 arg app_bt_disconnect ,regb 
+0x46ab 015238 branch timer_single_step 
+:      015243 ble_shutter_reconn_timer:
+0x46ac 015244 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46ad 015245 rtnne ss_state_power_on 
+0x46ae 015246 arg mem_ble_shutter_reconn_timer ,regc 
+0x46af 015247 arg shutter_start_bluetooth_discovery ,regb 
+0x46b0 015248 branch timer_single_step_2b 
+:      015251 shutter_process_idle:
+0x46b1 015252 call shutter_send_data_to_master 
+0x46b2 015253 branch keyscan_key_process 
+:      015256 shutter_process_lpm_before:
+0x46b3 015257 branch keyscan_process_lpm_before 
+:      015259 shutter_le_before_hibernate:
+0x46b4 015260 call gpio_set_before_lpm_common 
+0x46b5 015261 branch shutter_process_lpm_before 
+:      015267 shutter_stop_bluetooth_discovery:
+0x46b6 015268 fetch 1 ,mem_shutter_bluetooth_type 
+0x46b7 015269 bbit1 classic_shutter ,classic_shutter_stop_bluetooth_discovery 
+0x46b8 015270 bbit1 ble_shutter ,ble_shutter_stop_bluetooth_discovery 
+0x46b9 015271 rtn 
+:      015273 ble_shutter_stop_bluetooth_discovery:
+0x46ba 015274 fetch 2 ,mem_ble_shutter_connect_timeout 
+0x46bb 015275 store 2 ,mem_shutter_sleep_timeout 
+0x46bc 015276 store 2 ,mem_shutter_sleep_timer 
+0x46bd 015277 branch app_ble_stop_adv 
+:      015279 classic_shutter_stop_bluetooth_discovery:
+0x46be 015280 fetch 2 ,mem_classic_shutter_connect_timeout 
+0x46bf 015281 store 2 ,mem_shutter_sleep_timeout 
+0x46c0 015282 store 2 ,mem_shutter_sleep_timer 
+0x46c1 015283 branch app_bt_stop_discovery 
+:      015285 shutter_start_bluetooth_discovery:
+0x46c2 015286 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46c3 015287 rtnne ss_state_power_on 
+0x46c4 015288 fetch 1 ,mem_shutter_bluetooth_type 
+0x46c5 015289 bbit1 classic_shutter ,classic_shutter_start_discovery 
+0x46c6 015290 bbit1 ble_shutter ,ble_shutter_start_discovery 
+0x46c7 015291 rtn 
+:      015293 classic_shutter_start_discovery:
+0x46c8 015294 fetch 2 ,mem_classic_shutter_discovery_timeout ,
+0x46c9 015295 store 2 ,mem_shutter_sleep_timeout 
+0x46ca 015296 store 2 ,mem_shutter_sleep_timer 
+0x46cb 015297 branch app_bt_start_discovery_short 
+:      015299 ble_shutter_start_discovery:
+0x46cc 015300 fetch 2 ,mem_ui_state_map 
+0x46cd 015301 rtnbit1 ui_state_ble_connected 
+0x46ce 015302 fetch 2 ,mem_ble_shutter_discovery_timeout 
+0x46cf 015303 store 2 ,mem_shutter_sleep_timeout 
+0x46d0 015304 store 2 ,mem_shutter_sleep_timer 
+0x46d1 015305 fetch 2 ,mem_ble_shutter_discovery_adv_interval 
+0x46d2 015306 call shutter_ble_adv_interval_set 
+0x46d3 015307 call app_led_start_blink 
+0x46d4 015308 fetch 4 ,mem_ble_shutter_discovery_blink_on_time 
+0x46d5 015309 store 4 ,mem_shutter_led_struct_app_led_on_time 
+0x46d6 015310 fetch 2 ,mem_ui_state_map 
+0x46d7 015311 rtnbit1 ui_state_ble_adv 
+0x46d8 015312 branch app_ble_start_adv 
+:      015315 shutter_start_reconnect:
+0x46d9 015316 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46da 015317 rtnne ss_state_power_on 
+0x46db 015318 fetch 1 ,mem_shutter_bluetooth_type 
+0x46dc 015319 bbit1 classic_shutter ,classic_shutter_start_reconnect 
+0x46dd 015320 bbit1 ble_shutter ,ble_shutter_start_reconnect 
+0x46de 015321 rtn 
+:      015323 classic_shutter_start_reconnect:
+0x46df 015324 call app_check_reconn_target 
+0x46e0 015325 branch shutter_start_bluetooth_discovery ,blank 
+0x46e1 015326 call app_led_on 
+0x46e2 015327 call app_bt_stop_discovery 
+0x46e3 015328 branch app_bt_start_reconnect 
+:      015330 ble_shutter_start_reconnect:
+0x46e4 015331 fetch 2 ,mem_ble_shutter_reconn_timer 
+0x46e5 015332 fetcht 2 ,mem_ble_shutter_reconn_timeout 
+0x46e6 015333 storet 2 ,mem_ble_shutter_reconn_timer 
+0x46e7 015334 nrtn blank 
+0x46e8 015335 fetch 2 ,mem_ble_shutter_reconn_dav_interval 
+0x46e9 015336 call shutter_ble_adv_interval_set 
+0x46ea 015337 call app_led_start_blink 
+0x46eb 015338 fetch 4 ,mem_ble_shutter_reconn_blink_on_time 
+0x46ec 015339 store 4 ,mem_shutter_led_struct_app_led_on_time 
+0x46ed 015340 fetch 2 ,mem_ui_state_map 
+0x46ee 015341 rtnbit1 ui_state_ble_adv 
+0x46ef 015342 branch app_ble_start_adv 
+:      015345 shutter_ble_adv_interval_set:
+0x46f0 015346 store 2 ,mem_lpm_interval 
+0x46f1 015347 increase -4 ,pdata 
+0x46f2 015348 store 2 ,mem_le_adv_interval 
+0x46f3 015349 rtn 
+:      015352 shutter_disconnect_current_connection:
+0x46f4 015353 fetch 2 ,mem_ui_state_map 
+0x46f5 015354 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x46f6 015355 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x46f7 015356 branch shutter_stop_bluetooth_discovery 
+:      015360 app_check_reconn_target:
+0x46f8 015361 fetch 1 ,mem_nv_data_number 
+0x46f9 015362 copy pdata ,loopcnt 
+0x46fa 015363 fetch 2 ,mem_nv_data_ptr 
+0x46fb 015364 copy pdata ,rega 
+:      015365 app_check_reconn_target_loop:
+0x46fc 015366 ifetch 2 ,rega 
+0x46fd 015367 beq 0 ,found_reconn_device 
+0x46fe 015368 increase nv_data_len ,rega 
+0x46ff 015369 loop app_check_reconn_target_loop 
+0x4700 015370 branch enable_blank 
+:      015372 found_reconn_device:
+0x4701 015373 ifetch 6 ,contr 
+0x4702 015374 store 6 ,mem_hci_plap 
+0x4703 015375 increase 10 ,contr 
+0x4704 015376 arg mem_link_key ,contw 
+0x4705 015377 call memcpy16 
+0x4706 015378 call check_link_key_load 
+0x4707 015379 branch disable_blank 
+:      015385 shutter_check_data_enable:
+0x4708 015386 call disable_user 
+0x4709 015387 fetch 2 ,mem_ui_state_map 
+0x470a 015388 bbit1 ui_state_bt_connected ,shutter_check_bt_data_enable 
+0x470b 015389 bbit1 ui_state_ble_connected ,shutter_check_ble_data_enable 
+0x470c 015390 rtn 
+:      015392 shutter_check_bt_data_enable:
+0x470d 015393 fetch 1 ,mem_hid_interrupt_state 
+0x470e 015394 rtnne 0x3f 
+0x470f 015395 branch enable_user 
+:      015397 shutter_check_ble_data_enable:
+0x4710 015398 fetch 1 ,mem_ble_shutter_enable_notify 
+0x4711 015399 rtn blank 
+0x4712 015400 branch enable_user 
+:      015405 shutter_check_bluetooth_conn:
+0x4713 015406 call disable_user 
+0x4714 015407 fetch 2 ,mem_ui_state_map 
+0x4715 015408 rtnbit1 ui_state_bt_connected 
+0x4716 015409 rtnbit1 ui_state_ble_connected 
+0x4717 015410 branch enable_user 
+:      015414 shutter_change_bluetooth_status_bt_disconn:
+0x4718 015415 fetch 1 ,mem_shutter_bluetooth_type 
+0x4719 015416 bbit1 classic_shutter ,classic_shutter_change_bluetooth_status_bt_disconn 
+0x471a 015417 bbit1 ble_shutter ,ble_shutter_change_bluetooth_status_bt_disconn 
+0x471b 015418 rtn 
+:      015420 classic_shutter_change_bluetooth_status_bt_disconn:
+0x471c 015421 fetch 1 ,mem_scan_mode 
+0x471d 015422 rtnne 0x03 
+0x471e 015423 branch shutter_start_reconnect 
+:      015425 ble_shutter_change_bluetooth_status_bt_disconn:
+0x471f 015426 branch shutter_start_reconnect 
+:      015429 shutter_check_send_data:
+0x4720 015430 disable user2 
+0x4721 015431 fetch 2 ,mem_shutter_sleep_timeout 
+0x4722 015432 store 2 ,mem_shutter_sleep_timer 
+0x4723 015434 call shutter_check_bluetooth_conn 
+0x4724 015435 branch shutter_change_bluetooth_status_bt_disconn ,user 
+0x4725 015437 call shutter_check_data_enable 
+0x4726 015438 nrtn user 
+0x4727 015439 enable user2 
+0x4728 015440 rtn 
+:      015444 shutter_key_change:
+0x4729 015445 call shutter_check_send_data 
+0x472a 015446 nrtn user2 
+0x472b 015447 deposit rega 
+0x472c 015448 branch shutter_key_release ,blank 
+:      015449 shutter_key_press:
+0x472d 015450 call app_led_on 
+0x472e 015451 arg mem_key0_press ,regc 
+0x472f 015452 branch push_queue_press_or_release 
+:      015454 shutter_key_release:
+0x4730 015455 call app_led_off 
+0x4731 015456 arg mem_key0_release ,regc 
+:      015458 push_queue_press_or_release:
+0x4732 015459 arg max_queue_num ,pdata 
+0x4733 015460 imul32 queue ,pdata 
+0x4734 015461 iadd regc ,regc 
+:      015464 push_buffer_in_queue:
+0x4735 015465 ifetch 1 ,regc 
+0x4736 015466 rtn blank 
+0x4737 015467 call queue_push_one_byte 
+0x4738 015468 increase 1 ,regc 
+0x4739 015469 branch push_buffer_in_queue 
+:      015472 shutter_send_data_to_master:
+0x473a 015473 fetch 2 ,mem_ui_state_map 
+0x473b 015474 bbit1 ui_state_ble_connected ,pop_queue_to_ble_data 
+0x473c 015475 bbit1 ui_state_bt_connected ,pop_queue_to_classic_data 
+0x473d 015476 rtn 
+:      015478 pop_queue_to_ble_data:
+0x473e 015479 call le_fifo_check_nearly_full 
+0x473f 015480 nrtn blank 
+0x4740 015481 call queue_pop_one_byte 
+0x4741 015482 nrtn user 
+0x4742 015483 pincrease -1 
+0x4743 015484 mul32 pdata ,shutter_ble_data_buffer ,pdata 
+0x4744 015485 arg mem_ble_data_buffer1 ,temp 
+0x4745 015486 iadd temp ,contr 
+:      015487 le_send_notify_from_list:
+0x4746 015488 ifetch 1 ,contr 
+0x4747 015489 copy pdata ,rega 
+0x4748 015490 ifetcht 2 ,contr 
+0x4749 015491 call store_contr 
+0x474a 015492 call le_att_malloc_tx_notify 
+0x474b 015493 copy rega ,loopcnt 
+0x474c 015494 call get_contr 
+0x474d 015495 branch memcpy 
+:      015498 pop_queue_to_classic_data:
+0x474e 015499 call l2cap_malloc_is_fifo_nearly_full 
+0x474f 015500 nrtn blank 
+0x4750 015501 call queue_pop_one_byte 
+0x4751 015502 nrtn user 
+0x4752 015503 pincrease -1 
+0x4753 015504 mul32 pdata ,shutter_classic_data_buffer ,pdata 
+0x4754 015505 arg mem_classic_data_buffer1 ,temp 
+0x4755 015506 iadd temp ,contr 
+0x4756 015507 ifetch 5 ,contr 
+0x4757 015508 store 5 ,mem_classic_data_buffer 
+:      015509 classic_send_hid_data:
+0x4758 015510 fetch 1 ,mem_classic_data_buffer 
+0x4759 015511 copy pdata ,rega 
+0x475a 015512 call hid_malloc_tx_buff 
+0x475b 015513 fetch 2 ,mem_hid_int_remote_cid 
+0x475c 015514 istore 2 ,contw 
+0x475d 015515 setarg 0xa1 
+0x475e 015516 istore 1 ,contw 
+0x475f 015517 fetch 4 ,mem_classic_data_buffer + 1 
+0x4760 015518 istore 9 ,contw 
+0x4761 015519 rtn 
+:      015523 queue_push_one_byte:
+0x4762 015524 store 1 ,mem_pdatatemp 
+0x4763 015525 arg mem_pdatatemp ,rega 
+0x4764 015526 branch queue_push 
+:      015528 queue_pop_one_byte:
+0x4765 015529 arg mem_pdatatemp ,rega 
+0x4766 015530 call queue_pop 
+0x4767 015531 nrtn user 
+0x4768 015532 fetch 1 ,mem_pdatatemp 
+0x4769 015533 rtn 
+:      015536 ble_shutter_receive_data:
+0x476a 015537 fetch 2 ,mem_le_att_handle 
+0x476b 015538 beq gatt_keyboard_write_handle ,ble_shutter_process_reconnect_complete 
+0x476c 015539 rtn 
+:      015541 shutter_init_param:
+0x476d 015542 setarg 0x02 
+0x476e 015543 store 1 ,mem_shutter_power_off_timeout 
+0x476f 015545 setarg 0x00200008 
+0x4770 015546 store 4 ,mem_ble_shutter_interval_min 
+0x4771 015547 setarg 0x012c0005 
+0x4772 015548 istore 4 ,contw 
+0x4773 015551 jam 0x17 ,mem_le_local_mtu 
+0x4774 015554 setarg 0x1b 
+0x4775 015555 store 2 ,mem_le_pairing_handle 
+0x4776 015556 call le_set_config_fixed_ltk 
+0x4777 015557 call le_set_fixed_ltk 
+0x4778 015558 call le_set_justwork 
+0x4779 015559 branch le_set_config_read_authentication 
+:      015562 shutter_load_buffer_config_form_datarom:
+0x477a 015564 arg ble_key_value_list_size ,loopcnt 
+0x477b 015565 arg mem_ble_data_buffer1 ,contw 
+0x477c 015566 arg ble_shutter_key_value_list ,contr 
+0x477d 015567 call memcpy_fast 
+0x477e 015568 arg bt_key_value_list_size ,loopcnt 
+0x477f 015569 arg mem_classic_data_buffer1 ,contw 
+0x4780 015570 arg classic_shutter_key_value_list ,contr 
+0x4781 015571 branch memcpy_fast 
+:      015574 shutter_load_ble_gatt_form_datarom:
+0x4782 015575 arg ble_gatt_list_size ,loopcnt 
+0x4783 015576 arg ble_shutter_gatt_list ,contr 
+0x4784 015577 branch memcpy_fast 
+:      015580 shutter_load_bt_sdp_form_datarom:
+0x4785 015581 arg bt_sdp_list_size ,loopcnt 
+0x4786 015582 arg classic_shutter_sdp_list ,contr 
+0x4787 015583 branch memcpy_fast 
+:      015587 shutter_init_bluetooth_config:
+0x4788 015588 call shutter_check_load_config_flag 
+0x4789 015589 nrtn user 
+0x478a 015590 fetch 1 ,mem_shutter_config_select_gpio1 
+0x478b 015591 call shutter_init_bluetooth_config_gpio_input 
+0x478c 015592 fetch 1 ,mem_shutter_config_select_gpio2 
+0x478d 015593 call shutter_init_bluetooth_config_gpio_input 
+0x478e 015594 fetch 1 ,mem_shutter_config_select_gpio3 
+0x478f 015595 branch shutter_init_bluetooth_config_gpio_input 
+:      015597 shutter_init_bluetooth_config_gpio_input:
+0x4790 015598 rtn blank 
+0x4791 015599 or pdata ,0x80 ,temp 
+0x4792 015600 branch gpio_config_input_nowake 
+:      015603 shutter_load_bluetooth_config:
+0x4793 015604 call shutter_check_load_config_flag 
+0x4794 015605 nrtn user 
+0x4795 015606 call shutter_load_bluetooth_config_label 
+0x4796 015607 branch shutter_load_bluetooth_config_by_otp 
+:      015609 shutter_load_bluetooth_config_label:
+0x4797 015610 arg 0 ,rega 
+0x4798 015611 fetch 1 ,mem_shutter_config_select_gpio1 
+0x4799 015612 call shutter_load_bluetooth_config_read_gpio_input 
+0x479a 015613 nsetflag blank ,0 ,rega 
+0x479b 015614 fetch 1 ,mem_shutter_config_select_gpio2 
+0x479c 015615 call shutter_load_bluetooth_config_read_gpio_input 
+0x479d 015616 nsetflag blank ,1 ,rega 
+0x479e 015617 fetch 1 ,mem_shutter_config_select_gpio3 
+0x479f 015618 call shutter_load_bluetooth_config_read_gpio_input 
+0x47a0 015619 nsetflag blank ,2 ,rega 
+0x47a1 015620 copy rega ,pdata 
+0x47a2 015621 store 1 ,mem_shutter_config_label 
+0x47a3 015622 fetch 1 ,mem_shutter_config_size 
+0x47a4 015623 imul32 rega ,pdata 
+0x47a5 015624 fetcht 2 ,mem_shutter_config_otp_base_address 
+0x47a6 015625 iadd temp ,pdata 
+0x47a7 015626 store 2 ,mem_shutter_config_otp_addr 
+0x47a8 015627 rtn 
+:      015629 shutter_load_bluetooth_config_read_gpio_input:
+0x47a9 015630 rtn blank 
+0x47aa 015631 or pdata ,0x80 ,temp 
+0x47ab 015632 call gpio_get_bit 
+0x47ac 015633 nbranch enable_blank ,true 
+0x47ad 015634 branch disable_blank 
+:      015637 shutter_check_load_config_flag:
+0x47ae 015638 call disable_user 
+0x47af 015639 fetch 1 ,mem_shutter_config_user_size 
+0x47b0 015640 nrtn blank 
+0x47b1 015641 fetch 1 ,mem_shutter_config_enable 
+0x47b2 015642 rtn blank 
+0x47b3 015643 branch enable_user 
+:      015646 shutter_load_bluetooth_config_by_otp:
+0x47b4 015647 call otp_enable_chgpump 
+0x47b5 015648 fetch 2 ,mem_shutter_config_otp_addr 
+0x47b6 015649 arg mem_shutter_config_data_temp ,rega 
+0x47b7 015650 fetcht 1 ,mem_shutter_config_size 
+0x47b8 015651 call otpd_read_data 
+0x47b9 015652 call otp_disable_chgpump 
+:      015653 shutter_load_bluetooth_config_store_name:
+0x47ba 015654 fetch 1 ,mem_shutter_config_data_temp 
+0x47bb 015655 copy pdata ,loopcnt 
+0x47bc 015656 store 1 ,mem_le_name_len 
+0x47bd 015657 call memcpy_fast 
+0x47be 015658 fetch 1 ,mem_shutter_config_data_temp 
+0x47bf 015659 copy pdata ,loopcnt 
+0x47c0 015660 store 1 ,mem_local_name_length 
+0x47c1 015661 call memcpy_fast 
+0x47c2 015662 ifetch 1 ,contr 
+0x47c3 015663 store 1 ,mem_shutter_key_num 
+0x47c4 015664 ifetch 1 ,contr 
+0x47c5 015665 store 1 ,mem_shutter_hard_soft_switch_case 
+0x47c6 015666 rtn 
+:      015669 shutter_load_bluetooth_config_by_eeprom:
+0x47c7 015670 fetch 1 ,mem_shutter_bluetooth_type 
+0x47c8 015671 rtnbit0 classic_shutter 
+0x47c9 015672 arg 3 ,temp 
+0x47ca 015673 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+0x47cb 015674 copy pdata ,regb 
+0x47cc 015675 arg mem_shutter_config_eeprom_start_flag ,rega 
+0x47cd 015676 call iicd_read_eep_data 
+0x47ce 015677 fetcht 2 ,mem_shutter_config_eeprom_start_flag 
+0x47cf 015678 setarg shutter_eeprom_config_crc 
+0x47d0 015679 isub temp ,null 
+0x47d1 015680 nrtn zero 
+0x47d2 015681 fetch 1 ,mem_shutter_config_user_size 
+0x47d3 015682 rtn blank 
+0x47d4 015683 copy pdata ,temp 
+0x47d5 015684 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+0x47d6 015685 add pdata ,3 ,regb 
+0x47d7 015686 arg mem_shutter_config_data_temp ,rega 
+0x47d8 015687 call iicd_read_eep_data 
+0x47d9 015688 branch shutter_store_config 
+:      015690 shutter_load_bluetooth_config_by_user_config:
+0x47da 015691 fetch 2 ,mem_shutter_config_user_otp_address 
+0x47db 015692 rtn blank 
+0x47dc 015693 call otp_enable_chgpump 
+0x47dd 015694 arg 1 ,temp 
+0x47de 015695 arg mem_shutter_config_user_size ,rega 
+0x47df 015696 call otpd_read_data 
+0x47e0 015698 fetch 1 ,mem_shutter_config_user_size 
+0x47e1 015699 rtn blank 
+0x47e2 015701 fetch 2 ,mem_shutter_config_user_otp_address 
+0x47e3 015702 pincrease 1 
+0x47e4 015703 arg mem_shutter_config_data_temp ,rega 
+0x47e5 015704 fetcht 1 ,mem_shutter_config_user_size 
+0x47e6 015705 call otpd_read_data 
+0x47e7 015706 call otp_disable_chgpump 
+:      015707 shutter_store_config:
+0x47e8 015708 call shutter_load_bluetooth_config_store_name 
+:      015709 shutter_load_bluetooth_config_custom:
+0x47e9 015710 ifetch 2 ,contr 
+0x47ea 015711 rtn blank 
+0x47eb 015712 copy pdata ,contw 
+0x47ec 015713 ifetcht 1 ,contr 
+0x47ed 015714 copy temp ,loopcnt 
+0x47ee 015715 call memcpy 
+0x47ef 015716 branch shutter_load_bluetooth_config_custom 
+:      015720 shutter_random_mac_addr:
+0x47f0 015721 fetch 1 ,mem_shutter_bluetooth_type 
+0x47f1 015722 rtnbit0 classic_shutter 
+0x47f2 015723 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+0x47f3 015724 copy pdata ,regb 
+0x47f4 015725 arg 4 ,temp 
+0x47f5 015726 arg mem_shutter_random_mac_data_temp ,rega 
+0x47f6 015727 call iicd_read_eep_data 
+0x47f7 015728 fetch 1 ,mem_shutter_random_mac_data_temp 
+0x47f8 015729 bne 1 ,shutter_write_random_mac_addr_to_eeprom 
+:      015730 shutter_write_random_mac_addr_to_eeprom:
+0x47f9 015731 setarg 1 
+0x47fa 015732 store 1 ,mem_shutter_random_mac_data_temp 
+0x47fb 015733 force 3 ,loopcnt 
+0x47fc 015734 call generate_random_loop 
+0x47fd 015735 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+0x47fe 015736 copy pdata ,regb 
+0x47ff 015737 arg 4 ,temp 
+0x4800 015738 arg mem_shutter_random_mac_data_temp ,rega 
+0x4801 015739 call iicd_write_eep_data 
+:      015740 shutter_write_random_mac_addr:
+0x4802 015741 fetch 3 ,mem_shutter_random_mac_data_temp + 1 
+0x4803 015742 store 3 ,mem_lap 
+0x4804 015743 store 3 ,mem_le_lap 
+0x4805 015744 rtn 
+:      015747 shutter_soft_swtich_power_on:
+0x4806 015748 branch shutter_start_reconnect 
+:      015751 shutter_soft_swtich_power_off:
+0x4807 015752 arg 0 ,rega 
+0x4808 015753 arg mem_shutter_power_off_led_style ,regc 
+0x4809 015754 call ui_led_set_style_global 
+0x480a 015755 call shutter_disconnect_current_connection 
+:      015756 shutter_wait_power_off:
+0x480b 015757 fetch 1 ,mem_shutter_power_off_timeout 
+0x480c 015758 store 1 ,mem_shutter_power_off_timer 
+0x480d 015759 rtn 
+:      015763 ui_soft_swtich_init:
+0x480e 015764 setarg ss_state_power_up 
+0x480f 015765 call ui_soft_swtich_init_power_on_time 
+0x4810 015766 jam ui_button_state_up ,mem_ui_button_last_state 
+0x4811 015767 call ui_button_init 
+0x4812 015768 call ui_button_polling 
+0x4813 015769 fetch 2 ,mem_ui_state_map 
+0x4814 015770 rtnbit1 ui_state_btn_down 
+0x4815 015771 branch app_enter_hibernate 
+:      015773 ui_soft_swtich_init_power_on_time:
+0x4816 015774 fetcht 2 ,mem_power_param_ptr 
+0x4817 015775 istore 1 ,temp 
+0x4818 015776 ifetch 1 ,contw 
+0x4819 015777 store 1 ,mem_ui_button_timeout 
+0x481a 015778 rtn 
+:      015781 ui_soft_switch_botton_up:
+0x481b 015782 fetch 2 ,mem_power_param_ptr 
+0x481c 015783 ifetch 1 ,pdata 
+0x481d 015784 rtnne ss_state_power_up 
+0x481e 015785 branch app_enter_hibernate 
+:      015788 ui_soft_switch_botton_long_press:
+0x481f 015789 fetcht 2 ,mem_power_param_ptr 
+0x4820 015790 ifetch 1 ,temp 
+0x4821 015791 beq ss_state_power_on ,ui_soft_switch_power_off 
+:      015792 ui_soft_switch_power_on:
+0x4822 015793 setarg ss_state_power_on 
+0x4823 015794 fetcht 2 ,mem_power_param_ptr 
+0x4824 015795 istore 1 ,temp 
+0x4825 015796 add temp ,ss_power_off_time ,contr 
+0x4826 015797 ifetch 1 ,contr 
+0x4827 015798 istore 1 ,mem_ui_button_timeout 
+0x4828 015799 ifetch 2 ,contr 
+0x4829 015800 branch callback_func 
+:      015802 ui_soft_switch_power_off:
+0x482a 015803 setarg ss_state_power_off 
+0x482b 015804 call ui_soft_swtich_init_power_on_time 
+0x482c 015805 add temp ,ss_power_off_cb ,contr 
+0x482d 015806 ifetch 2 ,contr 
+0x482e 015807 branch app_enter_hibernate ,blank 
+0x482f 015808 branch callback_func 
+:      015814 shutter_byteswap:
+0x4830 015815 store 6 ,mem_tmp_buffer 
+0x4831 015816 fetch 1 ,mem_tmp_buffer 
+0x4832 015817 store 1 ,mem_tmp_buffer + 11 
+0x4833 015818 ifetch 1 ,contr 
+0x4834 015819 store 1 ,mem_tmp_buffer + 10 
+0x4835 015820 ifetch 1 ,contr 
+0x4836 015821 store 1 ,mem_tmp_buffer + 9 
+0x4837 015822 ifetch 1 ,contr 
+0x4838 015823 store 1 ,mem_tmp_buffer + 8 
+0x4839 015824 ifetch 1 ,contr 
+0x483a 015825 store 1 ,mem_tmp_buffer + 7 
+0x483b 015826 ifetch 1 ,contr 
+0x483c 015827 store 1 ,mem_tmp_buffer + 6 
+0x483d 015828 fetch 6 ,mem_tmp_buffer + 6 
+0x483e 015829 rtn 
+:      015831 shutter_random_addr_by_otp:
+0x483f 015832 call load_adc_init 
+0x4840 015833 fetch 1 ,mem_1v_adc_io_data 
+0x4841 015834 store 1 ,mem_le_lap 
+0x4842 015835 fetch 1 ,mem_5v_adc_hvin_data 
+0x4843 015836 istore 1 ,contw 
+0x4844 015837 fetch 1 ,mem_3v_adc_vinlpm_data 
+0x4845 015838 istore 1 ,contw 
+0x4846 015839 fetch 3 ,mem_le_lap 
+0x4847 015840 store 3 ,mem_lap 
+0x4848 015841 rtn 
+:      015853 sim_iic_read_eep_data:
+0x4849 015854 fetch 2 ,mem_eeprom_base 
+0x484a 015855 iadd regb ,pdata 
+0x484b 015856 byteswap pdata ,pdata 
+0x484c 015857 store 2 ,mem_addr_mi 
+0x484d 015858 copy temp ,regb 
+0x484e 015860 call sim_iic_start 
+0x484f 015861 setarg 0xa0 
+0x4850 015862 call sim_iic_send_byte 
+0x4851 015863 fetch 1 ,mem_addr_mi 
+0x4852 015864 call sim_iic_send_byte 
+0x4853 015865 bmark1 mark_eeprom_size ,sim_iic_read_eep_data_2k 
+0x4854 015866 fetch 1 ,mem_addr_mi + 1 
+0x4855 015867 call sim_iic_send_byte 
+:      015868 sim_iic_read_eep_data_2k:
+0x4856 015869 call sim_iic_stop 
+0x4857 015871 call sim_iic_start 
+0x4858 015872 setarg 0xa1 
+0x4859 015873 call sim_iic_send_byte 
+:      015875 sim_iic_read_eep_data_loop:
+0x485a 015876 call sim_iic_read_byte 
+0x485b 015877 istore 1 ,rega 
+0x485c 015878 increase 1 ,rega 
+0x485d 015879 increase -1 ,regb 
+0x485e 015880 nbranch sim_iic_read_eep_data_loop ,zero 
+0x485f 015881 branch sim_iic_stop 
+:      015892 sim_iic_write_eep_data:
+0x4860 015893 byteswap regb ,pdata 
+0x4861 015894 store 2 ,mem_addr_mi 
+0x4862 015895 copy temp ,regb 
+0x4863 015897 call sim_iic_start 
+0x4864 015898 setarg 0xa0 
+0x4865 015899 call sim_iic_send_byte 
+0x4866 015901 fetch 1 ,mem_addr_mi 
+0x4867 015902 call sim_iic_send_byte 
+0x4868 015903 bmark1 mark_eeprom_size ,sim_iic_write_eep_data_loop 
+0x4869 015904 fetch 1 ,mem_addr_mi + 1 
+0x486a 015905 call sim_iic_send_byte 
+:      015906 sim_iic_write_eep_data_loop:
+0x486b 015907 ifetch 1 ,rega 
+0x486c 015908 call sim_iic_send_byte 
+0x486d 015909 increase 1 ,rega 
+0x486e 015910 increase -1 ,regb 
+0x486f 015911 nbranch sim_iic_write_eep_data_loop ,zero 
+0x4870 015912 branch sim_iic_stop 
+:      015916 sim_iic_wait_ack:
+0x4871 015917 arg 10 ,loopcnt 
+0x4872 015918 call sim_iic_release_sda 
+0x4873 015919 call sim_iic_scl_output_high 
+0x4874 015920 call sim_iic_delay 
+:      015921 sim_iic_wait_ack_loop:
+0x4875 015922 call sim_iic_read_sda_level 
+0x4876 015923 branch sim_iic_scl_output_low ,blank 
+0x4877 015924 loop sim_iic_wait_ack_loop 
+0x4878 015925 branch sim_iic_scl_output_low 
+:      015929 sim_iic_ack_slave:
+0x4879 015930 call sim_iic_scl_output_low 
+0x487a 015931 call sim_iic_sda_output_low 
+0x487b 015932 call sim_iic_delay 
+0x487c 015933 call sim_iic_scl_output_high 
+0x487d 015934 call sim_iic_delay 
+0x487e 015935 branch sim_iic_scl_output_low 
+:      015940 sim_iic_read_byte:
+0x487f 015941 arg 8 ,loopcnt 
+0x4880 015942 arg 0 ,regc 
+0x4881 015943 call sim_iic_release_sda 
+:      015944 sim_iic_read_byte_loop:
+0x4882 015945 call sim_iic_scl_output_high 
+0x4883 015946 call sim_iic_delay 
+0x4884 015947 lshift regc ,regc 
+0x4885 015948 call sim_iic_read_sda_level 
+0x4886 015949 iadd regc ,regc 
+0x4887 015950 call sim_iic_delay 
+0x4888 015951 call sim_iic_scl_output_low 
+0x4889 015952 loop sim_iic_read_byte_loop 
+0x488a 015953 call sim_iic_ack_slave 
+0x488b 015954 copy regc ,pdata 
+0x488c 015955 rtn 
+:      015959 sim_iic_send_byte:
+0x488d 015960 arg 8 ,loopcnt 
+0x488e 015961 copy pdata ,regc 
+0x488f 015962 call sim_iic_scl_output_low 
+:      015963 sim_iic_send_byte_loop:
+0x4890 015964 isolate1 7 ,regc 
+0x4891 015965 call sim_iic_sda_output_high ,true 
+0x4892 015966 ncall sim_iic_sda_output_low ,true 
+0x4893 015967 lshift regc ,regc 
+0x4894 015968 call sim_iic_delay 
+0x4895 015969 call sim_iic_scl_output_high 
+0x4896 015970 call sim_iic_delay 
+0x4897 015971 call sim_iic_scl_output_low 
+0x4898 015972 call sim_iic_delay 
+0x4899 015973 loop sim_iic_send_byte_loop 
+0x489a 015974 branch sim_iic_wait_ack 
+:      015978 sim_iic_start:
+0x489b 015979 call sim_iic_sda_output_high 
+0x489c 015980 call sim_iic_scl_output_high 
+0x489d 015981 call sim_iic_delay 
+0x489e 015982 call sim_iic_sda_output_low 
+0x489f 015983 call sim_iic_delay 
+0x48a0 015984 branch sim_iic_scl_output_low 
+:      015988 sim_iic_stop:
+0x48a1 015989 call sim_iic_sda_output_low 
+0x48a2 015990 call sim_iic_scl_output_high 
+0x48a3 015991 call sim_iic_delay 
+0x48a4 015992 call sim_iic_sda_output_high 
+0x48a5 015993 branch sim_iic_delay 
+:      015997 sim_iic_scl_output_high:
+0x48a6 015998 enable user 
+0x48a7 015999 fetch 1 ,sim_iic_scl_gpio_num 
+0x48a8 016000 branch sim_iic_config_gpio 
+:      016003 sim_iic_scl_output_low:
+0x48a9 016004 disable user 
+0x48aa 016005 fetch 1 ,sim_iic_scl_gpio_num 
+0x48ab 016006 branch sim_iic_config_gpio 
+:      016009 sim_iic_sda_output_high:
+0x48ac 016010 enable user 
+0x48ad 016011 fetch 1 ,sim_iic_sda_gpio_num 
+0x48ae 016012 branch sim_iic_config_gpio 
+:      016015 sim_iic_sda_output_low:
+0x48af 016016 disable user 
+0x48b0 016017 fetch 1 ,sim_iic_sda_gpio_num 
+0x48b1 016018 branch sim_iic_config_gpio 
+:      016023 sim_iic_config_gpio:
+0x48b2 016024 and pdata ,0x07 ,queue 
+0x48b3 016025 rshift3 pdata ,pdata 
+0x48b4 016026 arg core_gpio_oe0 ,temp 
+0x48b5 016027 iadd temp ,temp 
+0x48b6 016028 ifetch 1 ,temp 
+0x48b7 016029 qset1 pdata 
+0x48b8 016030 istore 1 ,temp 
+0x48b9 016031 increase 4 ,temp 
+0x48ba 016032 ifetch 1 ,temp 
+0x48bb 016033 qsetflag user ,pdata 
+0x48bc 016034 istore 1 ,temp 
+0x48bd 016035 rtn 
+:      016038 sim_iic_release_sda:
+0x48be 016039 fetch 1 ,sim_iic_sda_gpio_num 
+0x48bf 016040 and pdata ,0x07 ,queue 
+0x48c0 016041 rshift3 pdata ,pdata 
+0x48c1 016042 arg core_gpio_oe0 ,temp 
+0x48c2 016043 iadd temp ,temp 
+0x48c3 016044 ifetch 1 ,temp 
+0x48c4 016045 qset0 pdata 
+0x48c5 016046 istore 1 ,temp 
+0x48c6 016047 rtn 
+:      016052 sim_iic_read_sda_level:
+0x48c7 016053 nop 4 
+0x48c8 016054 fetch 1 ,sim_iic_sda_gpio_num 
+0x48c9 016055 and pdata ,0x07 ,queue 
+0x48ca 016056 rshift3 pdata ,pdata 
+0x48cb 016057 arg core_gpio_in ,temp 
+0x48cc 016058 iadd temp ,temp 
+0x48cd 016059 setarg 0 
+0x48ce 016060 ifetcht 1 ,temp 
+0x48cf 016061 qisolate1 temp 
+0x48d0 016062 setflag true ,0 ,pdata 
+0x48d1 016063 rtn 
+:      016066 sim_iic_delay:
+0x48d2 016068 rtn 
+:      016074 usb_isr:
+0x48d3 016075 bpatch patch1e_6 ,mem_patch1e 
+0x48d4 016076 hfetch 1 ,core_usb_status 
+0x48d5 016077 isolate1 7 ,pdata 
+0x48d6 016078 call usb_init ,true 
+0x48d7 016079 call usb_nak_state_judge 
+0x48d8 016080 hfetch 1 ,core_usb_status 
+0x48d9 016081 store 1 ,mem_usb_status 
+0x48da 016082 hfetch 1 ,core_usb_fifo_empty 
+0x48db 016083 store 1 ,mem_usb_fifo_empty 
+0x48dc 016084 hstore 1 ,core_usb_fifo_empty 
+0x48dd 016085 pinvert 
+0x48de 016086 fetcht 1 ,mem_usb_tx_wait 
+0x48df 016087 iand temp ,pdata 
+0x48e0 016088 store 1 ,mem_usb_tx_wait 
+0x48e1 016089 hjam 0xe0 ,core_usb_status 
+0x48e2 016090 fetch 1 ,mem_usb_fifo_empty 
+0x48e3 016091 compare 0x1 ,pdata ,0x1 
+0x48e4 016092 call usb0_fifo_empty ,true 
+0x48e5 016093 fetch 1 ,mem_usb_status 
+0x48e6 016094 compare 0x1 ,pdata ,0x1 
+0x48e7 016095 call usb_status1 ,true 
+0x48e8 016096 call usb_tx 
+0x48e9 016097 branch usb_nak_state 
+:      016099 usb_init:
+0x48ea 016100 bpatch patch1e_7 ,mem_patch1e 
+0x48eb 016101 call usb_init_param 
+0x48ec 016102 hjam 0x00 ,core_usb_config 
+0x48ed 016103 nop 10000 
+0x48ee 016104 hjam 0xc0 ,core_usb_trig 
+0x48ef 016105 hfetch 2 ,core_clkoff 
+0x48f0 016106 set0 clock_off_usb ,pdata 
+0x48f1 016107 hstore 2 ,core_clkoff 
+0x48f2 016108 hjam 0x3c ,core_usb_config 
+0x48f3 016109 hjam 0xff ,core_usb_status 
+0x48f4 016110 hjam 0xff ,core_usb_fifo_empty 
+0x48f5 016111 hjam 0 ,core_usb_addr 
+0x48f6 016112 jam dev_default ,mem_usb0_state 
+0x48f7 016113 setarg mem_usb_clear_mem_end 
+0x48f8 016114 arg mem_usb_clear_mem_start ,contw 
+0x48f9 016115 isub contw ,loopcnt 
+0x48fa 016116 branch clear_mem 
+:      016118 usb_offline_check_init:
+0x48fb 016119 fetcht 1 ,mem_usb_offline_check_gpio 
+0x48fc 016120 branch gpio_config_input 
+:      016121 usb_offline_state:
+0x48fd 016122 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x48fe 016123 rtn blank 
+0x48ff 016124 fetcht 1 ,mem_usb_offline_check_gpio 
+0x4900 016125 call gpio_get_bit 
+0x4901 016126 branch usb_init ,true 
+0x4902 016127 rtn 
+:      016130 usb_nak_state:
+0x4903 016131 arg timer_nak ,queue 
+0x4904 016132 call timer_check 
+0x4905 016133 nrtn blank 
+0x4906 016134 fetch 1 ,mem_usb_wakestate_onetime_flag 
+0x4907 016135 nrtn blank 
+0x4908 016136 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x4909 016137 ncall usb_mac_wakeup_judge ,blank 
+0x490a 016138 rtn 
+:      016140 usb_mem_devicedesc_init:
+0x490b 016141 arg mem_devicedesc ,contw 
+0x490c 016142 setsect 0 ,0x11212 
+0x490d 016143 setsect 1 ,0x8000 
+0x490e 016144 setsect 2 ,0x0 
+0x490f 016145 setsect 3 ,0x10000 
+0x4910 016146 istore 9 ,contw 
+0x4911 016147 setsect 0 ,0x22412 
+0x4912 016148 setsect 1 ,0x8604 
+0x4913 016149 setsect 2 ,0x1000 
+0x4914 016150 setsect 3 ,0x8 
+0x4915 016151 istore 9 ,contw 
+0x4916 016152 setsect 0 ,0x1 
+0x4917 016153 istore 1 ,contw 
+0x4918 016154 rtn 
+:      016156 usb_init_param:
+0x4919 016157 jam 2 ,mem_usb0_state 
+0x491a 016158 setarg 0x0 
+0x491b 016159 store 1 ,mem_remain 
+0x491c 016160 store 2 ,mem_usb_zero_packet 
+0x491d 016161 pincrease 1 
+0x491e 016162 store 2 ,mem_usb_ones_packet 
+0x491f 016163 pincrease 1 
+0x4920 016164 store 2 ,mem_usb_two_packet 
+0x4921 016165 setarg hid_kbdata_addr 
+0x4922 016166 store 2 ,mem_hidreportdesc_kb 
+0x4923 016167 setarg hid_msdata_addr 
+0x4924 016168 store 2 ,mem_hidreportdesc_m 
+0x4925 016169 arg mem_confdesc ,contw 
+0x4926 016170 arg hid_confdata_addr ,contr 
+0x4927 016171 call memcpy64 
+0x4928 016172 fetch 1 ,mem_usb_tx_interval 
+0x4929 016173 ncall usb_tx_interval_config ,blank 
+0x492a 016174 branch usb_mem_devicedesc_init 
+:      016176 usb_tx_interval_config:
+0x492b 016177 store 1 ,mem_confdesc + 34 
+0x492c 016178 store 1 ,mem_confdesc + 59 
+0x492d 016179 rtn 
+:      016180 usb_nak_state_judge:
+0x492e 016181 hfetch 1 ,core_usb_status 
+0x492f 016182 bbit1 usb_status_nak ,usb_nak_state_timer_init 
+0x4930 016183 rtn 
+:      016185 usb_nak_state_timer_init:
+0x4931 016186 call usb0_attached_state_judge 
+0x4932 016187 call timer_reinit 
+0x4933 016188 setarg timer_nak_delay 
+0x4934 016189 arg timer_nak ,queue 
+0x4935 016190 branch timer_init 
+:      016192 usb0_attached_state_judge:
+0x4936 016193 fetch 1 ,mem_usb_state 
+0x4937 016194 bne usb_connected ,usb_clear_halt_dispose 
+0x4938 016195 jam 0 ,mem_usb_wakestate_onetime_flag 
+0x4939 016196 jam 0 ,mem_usb_mac_wakeup_trig 
+0x493a 016197 rtn 
+:      016198 usb_clear_halt_dispose:
+0x493b 016199 fetch 1 ,mem_usb_clear_halt 
+0x493c 016200 rtn blank 
+0x493d 016201 jam 0 ,mem_usb_clear_halt 
+0x493e 016202 jam usb_connected ,mem_usb_state 
+0x493f 016203 jam 1 ,mem_usb_device_enumeration_endflag 
+0x4940 016204 rtn 
+:      016206 usb0_fifo_empty:
+0x4941 016207 hjam 0x1 ,core_usb_fifo_empty 
+0x4942 016208 branch usb0_tx 
+:      016210 usb_rx_no_data:
+0x4943 016211 fetch 1 ,mem_usb_status 
+0x4944 016212 bbit1 usb_status_setup ,usb_class_type 
+0x4945 016213 rtn 
+:      016215 usb_rx_read:
+0x4946 016216 hfetch 1 ,core_usb_ep 
+0x4947 016217 istore 1 ,contw 
+0x4948 016218 loop usb_rx_read 
+0x4949 016219 rtn 
+:      016221 usb_status1:
+0x494a 016222 bpatch patch1f_0 ,mem_patch1f 
+0x494b 016223 hjam 0x11 ,core_usb_status 
+0x494c 016224 hfetch 1 ,core_usb_ep_len 
+0x494d 016225 store 1 ,mem_usb_read_len 
+0x494e 016226 copy pdata ,loopcnt 
+0x494f 016227 branch usb_rx_no_data ,blank 
+0x4950 016228 arg mem_usb_setup ,contw 
+0x4951 016229 call usb_rx_read 
+0x4952 016230 fetch 1 ,mem_usb_read_len 
+0x4953 016231 sub pdata ,7 ,null 
+0x4954 016232 rtn positive 
+:      016233 usb_class_type:
+0x4955 016234 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4956 016235 and_into 0x80 ,pdata 
+0x4957 016236 beq in_device ,usb_in_device 
+0x4958 016237 beq out_device ,usb_out_device 
+0x4959 016238 branch assert 
+:      016240 usb_in_device:
+0x495a 016241 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x495b 016242 rshift4 pdata ,pdata 
+0x495c 016243 rshift pdata ,pdata 
+0x495d 016244 and_into 0x03 ,pdata 
+0x495e 016245 beq standard_req ,usb_in_standard_req 
+0x495f 016246 beq class_req ,usb_in_class_req 
+0x4960 016247 beq manufacturer_req ,usb_in_manufacturer_req 
+0x4961 016248 branch assert 
+:      016250 usb_out_device:
+0x4962 016251 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4963 016252 rshift4 pdata ,pdata 
+0x4964 016253 rshift pdata ,pdata 
+0x4965 016254 and_into 0x03 ,pdata 
+0x4966 016255 beq standard_req ,usb_out_standard_req 
+0x4967 016256 beq class_req ,usb_out_class_req 
+0x4968 016257 beq manufacturer_req ,usb_out_manufacturer_req 
+0x4969 016258 branch assert 
+:      016260 usb_in_standard_req:
+0x496a 016261 fetch 1 ,mem_usb_setup_brequest 
+0x496b 016262 beq get_configuration ,usb0_request_get_configuration 
+0x496c 016263 beq get_descriptor ,usb0_request_get_descriptor 
+0x496d 016264 beq get_interface ,usb0_request_get_interface 
+0x496e 016265 beq get_status ,usb0_request_get_status 
+0x496f 016266 branch usb0_force_stall 
+:      016268 usb_in_class_req:
+0x4970 016269 fetch 1 ,mem_usb_setup_brequest 
+0x4971 016270 beq get_idle ,usb_get_idle 
+0x4972 016271 beq get_report ,usb_get_report 
+0x4973 016272 beq get_protocol ,usb_get_protocol_req 
+0x4974 016273 branch usb0_force_stall 
+:      016275 usb_in_manufacturer_req:
+0x4975 016276 branch usb0_force_stall 
+:      016278 usb_out_standard_req:
+0x4976 016279 fetch 1 ,mem_usb_setup_brequest 
+0x4977 016280 beq clear_feature ,usb0_request_clear_feature 
+0x4978 016281 beq set_feature ,usb0_request_set_feature 
+0x4979 016282 beq set_address ,usb0_request_set_address 
+0x497a 016283 beq set_configuration ,usb0_request_set_configuration 
+0x497b 016284 beq set_interface ,usb0_request_set_interface 
+0x497c 016285 beq set_descriptor ,usb0_force_stall 
+0x497d 016286 branch usb0_force_stall 
+:      016288 usb_out_class_req:
+0x497e 016289 fetch 1 ,mem_usb_setup_brequest 
+0x497f 016290 beq set_idle ,usb_set_idle 
+0x4980 016291 beq set_report ,usb_set_report 
+0x4981 016292 beq set_protocol ,usb_set_protocol_req 
+0x4982 016293 branch usb0_force_stall 
+:      016295 usb_out_manufacturer_req:
+0x4983 016296 branch usb0_force_stall 
+:      016298 usb0_force_stall:
+0x4984 016299 hfetch 1 ,core_usb_stall 
+0x4985 016300 set1 0 ,pdata 
+0x4986 016301 hstore 1 ,core_usb_stall 
+0x4987 016302 branch usb0_reply_zerolen 
+:      016304 usb0_reply_zerolen:
+0x4988 016305 hjam 0x40 ,core_usb_clear 
+0x4989 016306 rtn 
+:      016308 usb0_request_get_configuration:
+0x498a 016309 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x498b 016310 bne in_device ,usb0_force_stall 
+0x498c 016311 fetch 1 ,mem_usb_setup_windex 
+0x498d 016312 bne 0 ,usb0_force_stall 
+0x498e 016313 fetch 1 ,mem_usb_setup_windex + 1 
+0x498f 016314 bne 0 ,usb0_force_stall 
+0x4990 016315 fetch 1 ,mem_usb_setup_blength 
+0x4991 016316 bne 1 ,usb0_force_stall 
+0x4992 016317 fetch 1 ,mem_usb_setup_blengthh 
+0x4993 016318 bne 0 ,usb0_force_stall 
+0x4994 016319 fetch 1 ,mem_usb_setup_bvalue 
+0x4995 016320 bne 0 ,usb0_force_stall 
+0x4996 016321 fetch 1 ,mem_usb_setup_bvalue + 1 
+0x4997 016322 bne 0 ,usb0_force_stall 
+0x4998 016323 fetch 1 ,mem_usb0_state 
+0x4999 016324 beq dev_configured ,usb0_request_get_cfg_dev_cfg 
+0x499a 016325 beq dev_address ,usb0_request_get_cfg_dev_addr 
+0x499b 016326 branch usb0_force_stall 
+:      016328 usb0_request_get_cfg_dev_cfg:
+0x499c 016329 arg 1 ,regb 
+0x499d 016330 branch usb_send_ones_packet 
+:      016332 usb0_request_get_cfg_dev_addr:
+0x499e 016333 arg 1 ,regb 
+0x499f 016334 branch usb_send_zero_packet 
+:      016336 usb0_request_get_descriptor:
+0x49a0 016337 bpatch patch1f_1 ,mem_patch1f 
+0x49a1 016338 set0 mark_isstr ,mark 
+0x49a2 016339 fetch 1 ,mem_usb_setup_bvalueh 
+0x49a3 016340 beq dsc_device ,dsc_device_info 
+0x49a4 016341 beq dsc_config ,dsc_config_info 
+0x49a5 016342 beq dsc_string ,dsc_string_info 
+0x49a6 016343 beq dsc_hid ,dsc_hid_info 
+0x49a7 016344 beq dsc_hid_report ,dsc_hid_report_info 
+0x49a8 016345 branch usb0_force_stall 
+:      016347 dsc_hid_info:
+0x49a9 016348 jam 0 ,mem_usb_get_protocol_flag 
+0x49aa 016349 fetch 1 ,mem_usb_setup_windex 
+0x49ab 016350 beq 0 ,dsc_hid_info_interface0 
+0x49ac 016351 beq 1 ,dsc_hid_info_interface1 
+0x49ad 016352 branch usb0_force_stall 
+:      016354 dsc_hid_info_interface0:
+0x49ae 016355 arg mem_confdesc + 19 ,rega 
+0x49af 016356 ifetch 1 ,rega 
+0x49b0 016357 iforce regb 
+0x49b1 016358 branch usb0_respond 
+:      016360 dsc_hid_info_interface1:
+0x49b2 016361 arg mem_confdesc + 44 ,rega 
+0x49b3 016362 ifetch 1 ,rega 
+0x49b4 016363 iforce regb 
+0x49b5 016364 branch usb0_respond 
+:      016366 dsc_device_info:
+0x49b6 016370 fetch 1 ,mem_usb_set_high_addr_flag 
+0x49b7 016371 ncall usb_set_high_addr ,blank 
+0x49b8 016372 setarg mem_devicedesc 
+0x49b9 016373 fetcht 1 ,mem_devicedesc 
+:      016374 dsc_info_set_data_len:
+0x49ba 016375 store 2 ,mem_dsc_info_data_pointer 
+0x49bb 016376 storet 1 ,mem_dsc_info_len 
+0x49bc 016377 fetch 1 ,mem_usb_setup_blength 
+0x49bd 016378 isub temp ,null 
+0x49be 016379 nbranch dsc_info_set_current_data_len ,positive 
+:      016380 dsc_info_set_initial_data_len:
+0x49bf 016381 fetch 1 ,mem_dsc_info_len 
+:      016382 dsc_info_set_data_size_completed:
+0x49c0 016383 iforce regb 
+0x49c1 016384 fetch 2 ,mem_dsc_info_data_pointer 
+0x49c2 016385 add pdata ,1 ,pdata 
+0x49c3 016386 iforce rega 
+0x49c4 016387 branch usb0_respond 
+:      016388 dsc_info_set_current_data_len:
+0x49c5 016389 fetch 1 ,mem_usb_setup_blength 
+0x49c6 016390 branch dsc_info_set_data_size_completed 
+:      016392 usb_set_high_addr:
+0x49c7 016393 hfetch 1 ,core_usb_addr 
+0x49c8 016394 ncall usb0_set_addr ,blank 
+0x49c9 016395 jam 0 ,mem_usb_set_high_addr_flag 
+0x49ca 016396 rtn 
+:      016397 usb0_set_addr:
+0x49cb 016398 hfetch 1 ,core_usb_addr 
+0x49cc 016399 set1 7 ,pdata 
+0x49cd 016400 hstore 1 ,core_usb_addr 
+0x49ce 016401 rtn 
+:      016403 dsc_config_info:
+0x49cf 016404 setarg mem_confdesc 
+0x49d0 016405 fetcht 1 ,mem_confdesc 
+0x49d1 016406 branch dsc_info_set_data_len 
+:      016408 dsc_string_info:
+0x49d2 016409 fetch 1 ,mem_usb_setup_bvalue 
+0x49d3 016410 sub pdata ,3 ,null 
+0x49d4 016411 nbranch usb0_force_stall ,positive 
+0x49d5 016412 fetch 1 ,mem_usb_setup_bvalue 
+0x49d6 016413 arg mem_string0 ,rega 
+0x49d7 016414 beq 0 ,usb0_respond_length 
+0x49d8 016415 set1 mark_isstr ,mark 
+0x49d9 016416 arg mem_string1 ,rega 
+0x49da 016417 beq 1 ,usb0_respond_length 
+0x49db 016418 arg mem_string2 ,rega 
+0x49dc 016419 beq 2 ,usb0_respond_length 
+0x49dd 016420 arg mem_string3 ,rega 
+0x49de 016421 beq 3 ,usb0_respond_length 
+0x49df 016422 rtn 
+:      016424 dsc_hid_report_info:
+0x49e0 016425 fetch 2 ,mem_usb_setup_windex 
+0x49e1 016426 beq 1 ,dsc_hid_report_info0 
+0x49e2 016427 fetch 2 ,mem_hidreportdesc_kb 
+0x49e3 016428 copy pdata ,rega 
+0x49e4 016430 branch usb0_respond_length 
+:      016431 dsc_hid_report_info0:
+0x49e5 016432 jam 1 ,mem_usb_device_enumeration_endflag 
+0x49e6 016433 jam usb_got_report_req ,mem_usb_state 
+0x49e7 016434 fetch 2 ,mem_hidreportdesc_m 
+0x49e8 016435 copy pdata ,rega 
+0x49e9 016437 branch usb0_respond_length 
+:      016440 usb0_request_get_interface:
+0x49ea 016441 fetch 1 ,mem_usb0_state 
+0x49eb 016442 bne dev_configured ,usb0_force_stall 
+0x49ec 016443 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x49ed 016444 bne in_interface ,usb0_force_stall 
+0x49ee 016445 fetch 1 ,mem_usb_setup_bvalue 
+0x49ef 016446 bne 0 ,usb0_force_stall 
+0x49f0 016447 fetch 1 ,mem_usb_setup_bvalueh 
+0x49f1 016448 bne 0 ,usb0_force_stall 
+0x49f2 016449 fetch 1 ,mem_usb_setup_blength 
+0x49f3 016450 bne 1 ,usb0_force_stall 
+0x49f4 016451 fetch 1 ,mem_usb_setup_blengthh 
+0x49f5 016452 bne 0 ,usb0_force_stall 
+0x49f6 016453 fetch 1 ,mem_usb_setup_windex 
+0x49f7 016454 bne 0 ,usb0_force_stall 
+0x49f8 016455 fetch 1 ,mem_usb_setup_windex + 1 
+0x49f9 016456 bne 0 ,usb0_force_stall 
+0x49fa 016457 arg 1 ,regb 
+0x49fb 016458 branch usb_send_zero_packet 
+:      016461 usb0_request_get_status:
+0x49fc 016462 fetch 1 ,mem_usb0_state 
+0x49fd 016463 beq dev_default ,usb0_force_stall 
+0x49fe 016464 fetch 1 ,mem_usb_setup_bvalue 
+0x49ff 016465 bne 0 ,usb0_force_stall 
+0x4a00 016466 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a01 016467 bne 0 ,usb0_force_stall 
+0x4a02 016468 fetch 1 ,mem_usb_setup_blength 
+0x4a03 016469 bne 2 ,usb0_force_stall 
+0x4a04 016470 fetch 1 ,mem_usb_setup_blengthh 
+0x4a05 016471 bne 0 ,usb0_force_stall 
+0x4a06 016472 fetch 1 ,mem_usb_setup_windex + 1 
+0x4a07 016473 bne 0 ,usb0_force_stall 
+0x4a08 016474 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a09 016475 beq in_device ,usb0_get_status_in_device 
+0x4a0a 016476 beq in_interface ,usb0_get_status_in_interface 
+0x4a0b 016477 beq in_endpoint ,usb0_get_status_in_endpoint 
+0x4a0c 016478 branch usb0_force_stall 
+:      016480 usb0_get_status_in_device:
+0x4a0d 016481 fetch 1 ,mem_usb_setup_windex 
+0x4a0e 016482 bne 0 ,usb0_force_stall 
+0x4a0f 016483 arg 2 ,regb 
+0x4a10 016484 fetch 1 ,mem_usb_remote_wakeup 
+0x4a11 016485 beq 0x01 ,usb_send_two_packet 
+:      016487 usb_send_zero_packet:
+0x4a12 016488 arg mem_usb_zero_packet ,rega 
+0x4a13 016489 branch usb0_respond 
+:      016490 usb_send_ones_packet:
+0x4a14 016491 arg mem_usb_ones_packet ,rega 
+0x4a15 016492 branch usb0_respond 
+:      016493 usb_send_two_packet:
+0x4a16 016494 arg mem_usb_two_packet ,rega 
+0x4a17 016495 branch usb0_respond 
+:      016497 usb0_get_status_in_interface:
+0x4a18 016498 fetch 1 ,mem_usb0_state 
+0x4a19 016499 bne dev_configured ,usb0_force_stall 
+0x4a1a 016500 arg 2 ,regb 
+0x4a1b 016501 branch usb_send_zero_packet 
+:      016503 usb0_get_status_in_endpoint:
+0x4a1c 016504 fetch 1 ,mem_usb0_state 
+0x4a1d 016505 bne dev_configured ,usb0_force_stall 
+0x4a1e 016506 fetch 1 ,mem_usb_setup_windex 
+0x4a1f 016507 beq in_ep1 ,usb0_get_status_in_ep_in_ep1 
+0x4a20 016508 beq in_ep2 ,usb0_get_status_in_ep_in_ep2 
+0x4a21 016509 beq in_ep3 ,usb0_get_status_in_ep_in_ep3 
+0x4a22 016510 and_into 0x7f ,pdata 
+0x4a23 016511 beq 0x00 ,usb0_get_status_in_ep_in_ep0 
+0x4a24 016512 branch usb0_force_stall 
+:      016514 usb0_get_status_in_ep_in_ep0:
+0x4a25 016515 fetch 1 ,mem_usb_ep0_stall_status 
+:      016516 usb0_get_status_in_ep_in_ack:
+0x4a26 016517 arg 2 ,regb 
+0x4a27 016518 beq 1 ,usb_send_ones_packet 
+0x4a28 016519 branch usb_send_zero_packet 
+:      016520 usb0_get_status_in_ep_in_ep1:
+0x4a29 016521 fetch 1 ,mem_usb_ep1_stall_status 
+0x4a2a 016522 branch usb0_get_status_in_ep_in_ack 
+:      016523 usb0_get_status_in_ep_in_ep2:
+0x4a2b 016524 fetch 1 ,mem_usb_ep2_stall_status 
+0x4a2c 016525 branch usb0_get_status_in_ep_in_ack 
+:      016526 usb0_get_status_in_ep_in_ep3:
+0x4a2d 016527 fetch 1 ,mem_usb_ep3_stall_status 
+0x4a2e 016528 branch usb0_get_status_in_ep_in_ack 
+:      016530 usb_get_idle:
+0x4a2f 016531 jam 1 ,mem_usb_idle_flag 
+0x4a30 016532 arg mem_usb_idle_rate ,rega 
+0x4a31 016533 arg 1 ,regb 
+0x4a32 016534 branch usb0_respond 
+:      016536 usb_get_report:
+0x4a33 016537 fetch 2 ,mem_usb_setup_bvalue 
+0x4a34 016538 arg pc_get_report ,temp 
+0x4a35 016539 isub temp ,null 
+0x4a36 016540 nbranch usb0_force_stall ,zero 
+0x4a37 016541 set0 mark_isstr ,mark 
+:      016542 usb_get_report_dispose:
+0x4a38 016543 fetch 1 ,mem_usb0_data_ready_report 
+0x4a39 016544 nbranch usb_get_report_data_success ,blank 
+0x4a3a 016545 jam pc_get_nondata ,mem_usb0_get_report_data 
+:      016546 usb_get_report_send_data:
+0x4a3b 016547 fetch 1 ,mem_usb_setup_blength 
+0x4a3c 016548 iforce regb 
+0x4a3d 016549 arg mem_usb0_get_report_data ,rega 
+0x4a3e 016550 call usb0_respond 
+:      016551 usb_get_report_data_release:
+0x4a3f 016552 arg mem_usb0_get_report_data ,contw 
+0x4a40 016553 arg 8 ,loopcnt 
+0x4a41 016554 branch memset0 
+:      016555 usb_get_report_data_success:
+0x4a42 016556 jam 0 ,mem_usb0_data_ready_report 
+0x4a43 016557 jam pc_get_data ,mem_usb0_get_report_data 
+0x4a44 016558 branch usb_get_report_send_data 
+:      016560 usb_get_protocol_req:
+0x4a45 016561 fetch 1 ,mem_usb_setup_blength 
+0x4a46 016562 bne 1 ,usb0_force_stall 
+0x4a47 016563 jam 1 ,mem_usb_get_protocol_flag 
+0x4a48 016564 arg 1 ,regb 
+0x4a49 016565 fetch 1 ,mem_usb_set_protocol_value 
+0x4a4a 016566 beq 0 ,usb_get_report_protocol 
+0x4a4b 016567 beq 1 ,usb_get_boot_protocol 
+0x4a4c 016568 branch usb_send_zero_packet 
+:      016569 usb_get_report_protocol:
+0x4a4d 016570 branch usb_send_ones_packet 
+:      016571 usb_get_boot_protocol:
+0x4a4e 016572 branch usb_send_zero_packet 
+:      016577 usb0_request_clear_feature:
+0x4a4f 016578 fetch 1 ,mem_usb0_state 
+0x4a50 016579 bne dev_configured ,usb0_force_stall 
+0x4a51 016580 fetch 1 ,mem_usb_setup_blength 
+0x4a52 016581 bne 0 ,usb0_force_stall 
+0x4a53 016582 fetch 1 ,mem_usb_setup_blengthh 
+0x4a54 016583 bne 0 ,usb0_force_stall 
+0x4a55 016584 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a56 016585 bne 0 ,usb0_force_stall 
+0x4a57 016586 fetch 1 ,mem_usb_setup_windex + 1 
+0x4a58 016587 bne 0 ,usb0_force_stall 
+0x4a59 016588 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a5a 016589 beq out_device ,usb0_request_clear_feature_out_device 
+0x4a5b 016590 beq out_interface ,usb0_request_clear_feature_out_interface 
+0x4a5c 016591 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+0x4a5d 016592 branch usb0_force_stall 
+:      016594 usb0_request_clear_feature_out_device:
+0x4a5e 016595 fetch 1 ,mem_usb_setup_bvalue 
+0x4a5f 016596 bne device_remote_wakeup ,usb0_force_stall 
+0x4a60 016597 hfetch 1 ,core_usb_config 
+0x4a61 016598 set0 7 ,pdata 
+0x4a62 016599 hstore 1 ,core_usb_config 
+0x4a63 016600 jam 0 ,mem_usb_remote_wakeup 
+0x4a64 016601 jam 1 ,mem_usb_clear_remote_wakeup 
+0x4a65 016602 branch usb0_reply_zerolen 
+:      016604 usb0_request_clear_feature_out_interface:
+0x4a66 016605 branch usb0_force_stall 
+:      016607 usb0_request_clear_feature_out_endpoint:
+0x4a67 016608 fetch 1 ,mem_usb_setup_bvalue 
+0x4a68 016609 bne endpoint_halt ,usb0_force_stall 
+0x4a69 016610 fetch 1 ,mem_usb_setup_windex 
+0x4a6a 016611 beq in_ep1 ,usb0_force_stall_ep1_in_off 
+0x4a6b 016612 beq in_ep2 ,usb0_force_stall_ep2_in_off 
+0x4a6c 016613 beq in_ep3 ,usb0_force_stall_ep3_in_off 
+0x4a6d 016614 and_into 0x7f ,pdata 
+0x4a6e 016615 beq 0x00 ,usb0_force_stall_ep0_in_off 
+0x4a6f 016616 branch usb0_force_stall 
+:      016618 usb0_force_stall_ep0_in_off:
+0x4a70 016619 jam 0 ,mem_usb_ep0_stall_status 
+0x4a71 016620 branch usb0_reply_zerolen 
+:      016621 usb0_force_stall_ep1_in_off:
+0x4a72 016622 jam 0 ,mem_usb_ep1_stall_status 
+:      016623 usb0_force_stall_ep1_in_off_reply:
+0x4a73 016624 jam 1 ,mem_usb_clear_halt 
+0x4a74 016625 branch usb0_reply_zerolen 
+:      016626 usb0_force_stall_ep2_in_off:
+0x4a75 016627 jam 0 ,mem_usb_ep2_stall_status 
+0x4a76 016628 branch usb0_force_stall_ep1_in_off_reply 
+:      016629 usb0_force_stall_ep3_in_off:
+0x4a77 016630 jam 0 ,mem_usb_ep3_stall_status 
+0x4a78 016631 branch usb0_force_stall_ep1_in_off_reply 
+:      016634 usb0_request_set_feature:
+0x4a79 016635 fetch 1 ,mem_usb_setup_blength 
+0x4a7a 016636 bne 0 ,usb0_force_stall 
+0x4a7b 016637 fetch 1 ,mem_usb_setup_blengthh 
+0x4a7c 016638 bne 0 ,usb0_force_stall 
+0x4a7d 016639 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a7e 016640 beq out_device ,usb0_request_set_feature_out_device 
+0x4a7f 016641 beq out_interface ,usb0_request_set_feature_out_interface 
+0x4a80 016642 beq out_endpoint ,usb0_request_set_feature_out_endpoint 
+0x4a81 016643 branch usb0_force_stall 
+:      016645 usb0_request_set_feature_out_device:
+0x4a82 016646 fetch 1 ,mem_usb_setup_bvalue 
+0x4a83 016647 bne device_remote_wakeup ,usb0_force_stall 
+0x4a84 016648 hfetch 1 ,core_usb_config 
+0x4a85 016649 set1 7 ,pdata 
+0x4a86 016650 hstore 1 ,core_usb_config 
+0x4a87 016651 jam 1 ,mem_usb_remote_wakeup 
+0x4a88 016652 jam usb_sleep ,mem_usb_state 
+0x4a89 016653 jam 0 ,mem_usb_tx_win_enable 
+0x4a8a 016654 call usb0_reply_zerolen 
+:      016655 usb_wakeup_timer_reinit:
+0x4a8b 016656 call timer_reinit 
+0x4a8c 016657 setarg timer_wakeup_delay 
+0x4a8d 016658 arg timer_wakeup ,queue 
+0x4a8e 016659 branch timer_init 
+:      016661 usb0_request_set_feature_out_interface:
+0x4a8f 016662 branch usb0_force_stall 
+:      016664 usb0_request_set_feature_out_endpoint:
+0x4a90 016665 fetch 1 ,mem_usb_setup_bvalue 
+0x4a91 016666 bne endpoint_halt ,usb0_force_stall 
+0x4a92 016667 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a93 016668 bne 0 ,usb0_force_stall 
+0x4a94 016669 fetch 1 ,mem_usb_setup_windex 
+0x4a95 016670 beq in_ep1 ,usb0_force_stall_ep1_in_on 
+0x4a96 016671 beq in_ep2 ,usb0_force_stall_ep2_in_on 
+0x4a97 016672 beq in_ep3 ,usb0_force_stall_ep3_in_on 
+0x4a98 016673 and_into 0x7f ,pdata 
+0x4a99 016674 beq 0x00 ,usb0_force_stall_ep0_in_on 
+0x4a9a 016675 branch usb0_force_stall 
+:      016677 usb0_force_stall_ep0_in_on:
+0x4a9b 016678 jam 1 ,mem_usb_ep0_stall_status 
+0x4a9c 016679 branch usb0_reply_zerolen 
+:      016680 usb0_force_stall_ep1_in_on:
+0x4a9d 016681 jam 1 ,mem_usb_ep1_stall_status 
+0x4a9e 016682 branch usb0_reply_zerolen 
+:      016683 usb0_force_stall_ep2_in_on:
+0x4a9f 016684 jam 1 ,mem_usb_ep2_stall_status 
+0x4aa0 016685 branch usb0_reply_zerolen 
+:      016686 usb0_force_stall_ep3_in_on:
+0x4aa1 016687 jam 1 ,mem_usb_ep3_stall_status 
+0x4aa2 016688 branch usb0_reply_zerolen 
+:      016691 usb0_request_set_address:
+0x4aa3 016692 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4aa4 016693 bne out_device ,usb0_force_stall 
+0x4aa5 016694 fetch 1 ,mem_usb_setup_windex 
+0x4aa6 016695 bne 0 ,usb0_force_stall 
+0x4aa7 016696 fetch 1 ,mem_usb_setup_windex + 1 
+0x4aa8 016697 bne 0 ,usb0_force_stall 
+0x4aa9 016698 fetch 1 ,mem_usb_setup_blength 
+0x4aaa 016699 bne 0 ,usb0_force_stall 
+0x4aab 016700 fetch 1 ,mem_usb_setup_blengthh 
+0x4aac 016701 bne 0 ,usb0_force_stall 
+0x4aad 016702 fetch 1 ,mem_usb_setup_bvalueh 
+0x4aae 016703 bne 0 ,usb0_force_stall 
+0x4aaf 016704 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab0 016705 and_into 0x80 ,pdata 
+0x4ab1 016706 bne 0 ,usb0_force_stall 
+0x4ab2 016707 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab3 016708 bne 0 ,usb_usb0_state_set_dev_addr 
+:      016709 usb_usb0_state_set_dev_default:
+0x4ab4 016710 jam dev_default ,mem_usb0_state 
+:      016711 usb0_request_set_wait_address:
+0x4ab5 016712 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab6 016713 hstore 1 ,core_usb_addr 
+0x4ab7 016714 call usb0_reply_zerolen 
+0x4ab8 016715 jam 1 ,mem_usb_set_high_addr_flag 
+0x4ab9 016716 rtn 
+:      016717 usb_usb0_state_set_dev_addr:
+0x4aba 016718 jam dev_address ,mem_usb0_state 
+0x4abb 016719 branch usb0_request_set_wait_address 
+:      016722 usb0_request_set_configuration:
+0x4abc 016723 fetch 1 ,mem_usb0_state 
+0x4abd 016724 beq dev_default ,usb0_force_stall 
+0x4abe 016725 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4abf 016726 bne out_device ,usb0_force_stall 
+0x4ac0 016727 fetch 1 ,mem_usb_setup_windex 
+0x4ac1 016728 bne 0 ,usb0_force_stall 
+0x4ac2 016729 fetch 1 ,mem_usb_setup_windex + 1 
+0x4ac3 016730 bne 0 ,usb0_force_stall 
+0x4ac4 016731 fetch 1 ,mem_usb_setup_blength 
+0x4ac5 016732 bne 0 ,usb0_force_stall 
+0x4ac6 016733 fetch 1 ,mem_usb_setup_blengthh 
+0x4ac7 016734 bne 0 ,usb0_force_stall 
+0x4ac8 016735 fetch 1 ,mem_usb_setup_bvalue + 1 
+0x4ac9 016736 bne 0 ,usb0_force_stall 
+0x4aca 016737 fetch 1 ,mem_usb_setup_bvalue 
+0x4acb 016738 sub pdata ,usb_max_num_cfg ,null 
+0x4acc 016739 nbranch usb0_force_stall ,positive 
+0x4acd 016740 fetch 1 ,mem_usb0_state 
+0x4ace 016741 beq dev_address ,usb0_request_set_cfg_addr_state 
+0x4acf 016742 beq dev_configured ,usb0_request_set_cfg_cfg_state 
+0x4ad0 016743 branch usb0_force_stall 
+:      016745 usb0_request_set_cfg_addr_state:
+:      016746 usb0_request_set_cfg_cfg_state:
+0x4ad1 016747 fetch 1 ,mem_usb_setup_bvalue 
+0x4ad2 016748 beq 0 ,usb0_request_set_cfg_stay_addr_state 
+0x4ad3 016749 jam dev_configured ,mem_usb0_state 
+0x4ad4 016750 branch usb0_reply_zerolen 
+:      016751 usb0_request_set_cfg_stay_addr_state:
+0x4ad5 016752 jam dev_address ,mem_usb0_state 
+0x4ad6 016753 branch usb0_reply_zerolen 
+:      016756 usb0_request_set_interface:
+0x4ad7 016757 fetch 1 ,mem_usb0_state 
+0x4ad8 016758 bne dev_configured ,usb0_force_stall 
+0x4ad9 016759 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4ada 016760 bne out_interface ,usb0_force_stall 
+0x4adb 016761 fetch 1 ,mem_usb_setup_bvalue 
+0x4adc 016762 bne 0 ,usb0_force_stall 
+0x4add 016763 fetch 1 ,mem_usb_setup_bvalueh 
+0x4ade 016764 bne 0 ,usb0_force_stall 
+0x4adf 016765 fetch 1 ,mem_usb_setup_blength 
+0x4ae0 016766 bne 0 ,usb0_force_stall 
+0x4ae1 016767 fetch 1 ,mem_usb_setup_blengthh 
+0x4ae2 016768 bne 0 ,usb0_force_stall 
+0x4ae3 016769 fetch 1 ,mem_usb_setup_windex 
+0x4ae4 016770 bne 0 ,usb0_force_stall 
+0x4ae5 016771 fetch 1 ,mem_usb_setup_windex + 1 
+0x4ae6 016772 bne 0 ,usb0_force_stall 
+0x4ae7 016773 branch usb0_reply_zerolen 
+:      016776 usb_set_idle:
+0x4ae8 016777 jam 1 ,mem_usb_idle_flag 
+0x4ae9 016778 fetch 1 ,mem_usb_setup_bvalueh 
+0x4aea 016779 store 1 ,mem_usb_idle_rate 
+0x4aeb 016780 fetch 1 ,mem_usb_setup_windex 
+0x4aec 016781 sub pdata ,1 ,null 
+0x4aed 016782 call usb_clear_remote_wakeup_set0 ,zero 
+0x4aee 016783 fetch 1 ,mem_usb_state 
+0x4aef 016784 bne usb_resume ,usb0_reply_zerolen 
+0x4af0 016785 jam usb_connected ,mem_usb_state 
+0x4af1 016786 call usb0_reply_zerolen 
+0x4af2 016787 nop 30000 
+0x4af3 016788 nop 30000 
+0x4af4 016789 rtn 
+:      016790 usb_clear_remote_wakeup_set0:
+0x4af5 016791 jam 1 ,mem_usb_device_enumeration_endflag 
+0x4af6 016792 jam 0 ,mem_usb_clear_remote_wakeup 
+0x4af7 016793 jam usb_resume ,mem_usb_state 
+0x4af8 016794 rtn 
+:      016797 usb_set_report:
+0x4af9 016798 jam 1 ,mem_usb0_get_set_report 
+0x4afa 016799 call usb_set_report_resume_judge 
+0x4afb 016800 fetch 2 ,mem_usb_setup_bvalue 
+0x4afc 016801 store 2 ,mem_usb_setup_bvalue_temp 
+0x4afd 016802 fetch 1 ,mem_usb_setup_blength 
+0x4afe 016803 iforce loopcnt 
+0x4aff 016804 arg mem_usb0_setup ,contr 
+0x4b00 016805 arg mem_usb0_set_report_data ,contw 
+0x4b01 016806 call memcpy 
+0x4b02 016807 branch usb0_reply_zerolen 
+:      016809 usb_set_report_resume_judge:
+0x4b03 016810 fetch 2 ,mem_usb_setup_bvalue 
+0x4b04 016811 arg pc_set_report_bvalue ,temp 
+0x4b05 016812 isub temp ,null 
+0x4b06 016813 nrtn zero 
+0x4b07 016814 fetch 2 ,mem_usb_setup_windex 
+0x4b08 016815 arg pc_set_report_windex ,temp 
+0x4b09 016816 isub temp ,null 
+0x4b0a 016817 nrtn zero 
+0x4b0b 016818 fetch 2 ,mem_usb_setup_blength 
+0x4b0c 016819 arg pc_set_report_blength ,temp 
+0x4b0d 016820 isub temp ,null 
+0x4b0e 016821 nrtn zero 
+0x4b0f 016822 jam 1 ,mem_usb_tx_win_enable 
+0x4b10 016823 rtn 
+:      016826 usb_set_protocol_req:
+0x4b11 016827 fetch 1 ,mem_usb_setup_blength 
+0x4b12 016828 bne 0 ,usb0_force_stall 
+0x4b13 016829 fetch 1 ,mem_usb_setup_bvalue 
+0x4b14 016830 beq boot_protocol ,usb_set_boot_protocol 
+0x4b15 016831 beq report_protocol ,usb_set_report_protocol 
+0x4b16 016832 branch usb0_force_stall 
+:      016833 usb_set_boot_protocol:
+0x4b17 016834 jam 0 ,mem_usb_set_protocol_status 
+0x4b18 016835 jam 1 ,mem_usb_set_protocol_value 
+0x4b19 016836 branch usb0_reply_zerolen 
+:      016837 usb_set_report_protocol:
+0x4b1a 016838 jam 1 ,mem_usb_tx_mac_enable 
+0x4b1b 016839 jam 1 ,mem_usb_set_protocol_status 
+0x4b1c 016840 jam 0 ,mem_usb_set_protocol_value 
+0x4b1d 016841 branch usb0_reply_zerolen 
+:      016844 usb0_respond_length:
+0x4b1e 016845 ifetch 1 ,rega 
+0x4b1f 016846 iforce regb 
+0x4b20 016847 increase 1 ,rega 
+:      016849 usb0_respond:
+0x4b21 016850 bpatch patch1f_2 ,mem_patch1f 
+0x4b22 016851 bmark0 mark_isstr ,usb0_respond0 
+0x4b23 016852 add regb ,1 ,pdata 
+0x4b24 016853 lshift pdata ,pdata 
+0x4b25 016854 hstore 1 ,core_usb_dfifo0 
+0x4b26 016855 hjam 3 ,core_usb_dfifo0 
+0x4b27 016856 fetch 1 ,mem_usb_setup_blength 
+0x4b28 016857 increase -2 ,pdata 
+0x4b29 016858 rshift pdata ,pdata 
+0x4b2a 016859 store 1 ,mem_usb_setup_blength 
+0x4b2b 016860 beq 0 ,usb_no_respond_data 
+:      016861 usb0_respond0:
+0x4b2c 016862 fetch 2 ,mem_usb_setup_blength 
+0x4b2d 016863 isub regb ,null 
+0x4b2e 016864 branch usb0_respond1 ,positive 
+0x4b2f 016865 copy pdata ,regb 
+:      016866 usb0_respond1:
+0x4b30 016867 deposit rega 
+0x4b31 016868 store 2 ,mem_bufptr 
+0x4b32 016869 deposit regb 
+0x4b33 016870 store 1 ,mem_remain 
+0x4b34 016871 branch usb0_tx 
+:      016873 usb_no_respond_data:
+0x4b35 016874 arg 0 ,queue 
+0x4b36 016875 branch usb_trig 
+:      016878 usb0_tx:
+0x4b37 016879 bpatch patch1f_3 ,mem_patch1f 
+0x4b38 016880 fetch 1 ,mem_remain 
+0x4b39 016881 rtn blank 
+0x4b3a 016882 copy pdata ,loopcnt 
+0x4b3b 016883 sub pdata ,ep0_packet_size ,null 
+0x4b3c 016884 branch usb0_tx_info ,positive 
+0x4b3d 016885 arg ep0_packet_size ,loopcnt 
+:      016886 usb0_tx_info:
+0x4b3e 016887 fetch 1 ,mem_remain 
+0x4b3f 016888 isub loopcnt ,pdata 
+0x4b40 016889 store 1 ,mem_remain 
+0x4b41 016890 fetch 2 ,mem_bufptr 
+0x4b42 016891 copy pdata ,contr 
+:      016892 usb0_tx0:
+0x4b43 016893 ifetch 1 ,contr 
+0x4b44 016894 hstore 1 ,core_usb_dfifo0 
+0x4b45 016895 bmark0 mark_isstr ,usb0_tx1 
+0x4b46 016896 hjam 0 ,core_usb_dfifo0 
+:      016897 usb0_tx1:
+0x4b47 016898 loop usb0_tx0 
+0x4b48 016899 copy contr ,pdata 
+0x4b49 016900 store 2 ,mem_bufptr 
+0x4b4a 016901 arg 0 ,queue 
+0x4b4b 016902 call usb_trig 
+0x4b4c 016903 fetch 1 ,mem_remain 
+0x4b4d 016904 nrtn blank 
+0x4b4e 016905 fetch 1 ,mem_usb_state 
+0x4b4f 016906 rtnne usb_got_report_req 
+0x4b50 016907 jam usb_connected ,mem_usb_state 
+0x4b51 016908 rtn 
+:      016911 usb_tx_ep1:
+0x4b52 016912 arg core_usb_dfifo1 ,rega 
+0x4b53 016913 arg 1 ,queue 
+:      016914 usb_tx_loop:
+0x4b54 016915 ifetch 1 ,contr 
+0x4b55 016916 istore 1 ,rega 
+0x4b56 016917 loop usb_tx_loop 
+:      016918 usb_trig:
+0x4b57 016919 setarg 0 
+0x4b58 016920 qset1 pdata 
+0x4b59 016921 hstore 1 ,core_usb_trig 
+0x4b5a 016922 fetcht 1 ,mem_usb_tx_wait 
+0x4b5b 016923 ior temp ,pdata 
+0x4b5c 016924 store 1 ,mem_usb_tx_wait 
+0x4b5d 016925 rtn 
+:      016927 usb_tx_ep2:
+0x4b5e 016928 arg 2 ,queue 
+0x4b5f 016929 arg core_usb_dfifo2 ,rega 
+0x4b60 016930 branch usb_tx_loop 
+:      016932 usb_tx:
+0x4b61 016933 bpatch patch1f_4 ,mem_patch1f 
+0x4b62 016934 fetch 1 ,mem_usb_tx_enable 
+0x4b63 016935 rtn blank 
+0x4b64 016936 fetch 1 ,mem_usb_tx_wait 
+0x4b65 016937 nbranch usb_inwake_state_tx_dispose ,blank 
+0x4b66 016938 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x4b67 016939 branch usb_tx_fifo_release ,blank 
+0x4b68 016940 fetch 1 ,mem_usb_state 
+0x4b69 016941 beq usb_sleep ,usb_windows_wakeup 
+0x4b6a 016942 bne usb_connected ,usb_tx_fifo_release 
+0x4b6b 016943 fetch 1 ,mem_usb_clear_remote_wakeup 
+0x4b6c 016944 nbranch usb_tx_fifo_release ,blank 
+0x4b6d 016945 call usb_tx_data_ep1 
+0x4b6e 016946 branch usb_tx_data_ep2 
+:      016948 usb_tx_data_ep1:
+0x4b6f 016949 fetch 1 ,mem_usb_tx_enable 
+0x4b70 016950 rtnbit0 1 
+0x4b71 016951 fetch 1 ,mem_usb_tx_wait 
+0x4b72 016952 rtnbit1 1 
+0x4b73 016953 fetch 1 ,mem_usb_tx_enable 
+0x4b74 016954 set0 1 ,pdata 
+0x4b75 016955 store 1 ,mem_usb_tx_enable 
+0x4b76 016956 fetch 1 ,mem_usb_ep1_data 
+0x4b77 016957 rtn blank 
+0x4b78 016958 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+0x4b79 016959 branch assert 
+:      016961 usb_tx_data_ep2:
+0x4b7a 016962 fetch 1 ,mem_usb_tx_enable 
+0x4b7b 016963 rtnbit0 2 
+0x4b7c 016964 fetch 1 ,mem_usb_tx_wait 
+0x4b7d 016965 rtnbit1 2 
+0x4b7e 016966 fetch 1 ,mem_usb_tx_enable 
+0x4b7f 016967 set0 2 ,pdata 
+0x4b80 016968 store 1 ,mem_usb_tx_enable 
+0x4b81 016969 fetch 1 ,mem_usb_ep2_data 
+0x4b82 016970 rtn blank 
+0x4b83 016971 beq usb_ep2_ms ,usb_tx_ms_data 
+0x4b84 016972 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0x4b85 016973 branch assert 
+:      016975 usb_tx_fifo_release:
+0x4b86 016977 arg mem_usb_mouse_data ,contw 
+0x4b87 016978 arg 6 ,loopcnt 
+0x4b88 016979 branch memset0 
+:      016981 usb_tx_ms_data:
+0x4b89 016982 fetch 1 ,mem_usb_idle_flag 
+0x4b8a 016983 fetcht 1 ,mem_usb_get_protocol_flag 
+0x4b8b 016984 iand temp ,pdata 
+0x4b8c 016985 branch usb_tx_ms_data_normal_mode ,blank 
+0x4b8d 016986 fetcht 1 ,mem_usb_set_protocol_status 
+0x4b8e 016987 iadd temp ,pdata 
+0x4b8f 016988 beq mac_boot_mode ,usb_tx_ms_data_mac_boot_mode 
+0x4b90 016989 branch usb_tx_ms_data_normal_mode 
+:      016991 usb_tx_ms_data_mac_boot_mode:
+0x4b91 016992 jam 0 ,mem_usb_ep2_data 
+:      016993 usb_tx_ms_data_mac_boot_regroup:
+0x4b92 016994 fetch 1 ,mem_usb_mouse_data + 1 
+0x4b93 016995 beq r_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+0x4b94 016996 beq lr_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+0x4b95 016997 fetch 1 ,mem_usb_mouse_data + 1 
+0x4b96 016998 store 1 ,mem_usb_mouse_data 
+0x4b97 016999 fetch 1 ,mem_usb_mouse_data + 2 
+0x4b98 017000 istore 1 ,contw 
+0x4b99 017001 fetch 1 ,mem_usb_mouse_data + 4 
+0x4b9a 017002 istore 1 ,contw 
+0x4b9b 017003 fetch 1 ,mem_usb_mouse_data + 6 
+0x4b9c 017004 istore 1 ,contw 
+0x4b9d 017005 arg 4 ,loopcnt 
+0x4b9e 017006 arg mem_usb_mouse_data ,contr 
+0x4b9f 017007 branch usb_tx_ep2 
+:      017009 usb_tx_ms_data_normal_mode:
+0x4ba0 017010 jam 0 ,mem_usb_ep2_data 
+:      017011 usb_tx_mac_boot_ms_regroup_r_or_lrkey:
+0x4ba1 017012 arg 8 ,loopcnt 
+0x4ba2 017013 arg mem_usb_mouse_data ,contr 
+0x4ba3 017014 branch usb_tx_ep2 
+:      017016 usb_tx_kb_multikey_data:
+0x4ba4 017017 jam 0 ,mem_usb_ep2_data 
+0x4ba5 017018 arg 3 ,loopcnt 
+0x4ba6 017019 arg mem_usb_kb_multikey ,contr 
+0x4ba7 017020 branch usb_tx_ep2 
+:      017022 usb_tx_kb_normal_data:
+0x4ba8 017023 jam 0 ,mem_usb_ep1_data 
+0x4ba9 017024 arg 8 ,loopcnt 
+0x4baa 017025 arg mem_usb_kb_data ,contr 
+0x4bab 017026 branch usb_tx_ep1 
+:      017028 usb_inwake_state_tx_dispose:
+0x4bac 017029 fetch 1 ,mem_usb_state 
+0x4bad 017030 beq usb_sleep ,usb_clear_tx_wait 
+0x4bae 017031 beq usb_connected ,usb_mac_wakeup_trig 
+0x4baf 017032 rtn 
+:      017033 usb_clear_tx_wait:
+0x4bb0 017034 jam 0 ,mem_usb_tx_wait 
+0x4bb1 017035 rtn 
+:      017036 usb_mac_wakeup_trig:
+0x4bb2 017037 hfetch 1 ,core_usb_config 
+0x4bb3 017038 set1 7 ,pdata 
+0x4bb4 017039 hstore 1 ,core_usb_config 
+0x4bb5 017040 jam 1 ,mem_usb_mac_wakeup_trig 
+0x4bb6 017041 rtn 
+:      017043 usb_mac_wakeup_judge:
+0x4bb7 017044 fetch 1 ,mem_usb_state 
+0x4bb8 017045 rtneq usb_sleep 
+0x4bb9 017046 beq usb_connected ,usb_mac_wakeup 
+0x4bba 017047 rtn 
+:      017048 usb_mac_wakeup:
+0x4bbb 017049 fetch 1 ,mem_usb_mac_wakeup_trig 
+0x4bbc 017050 rtn blank 
+0x4bbd 017051 jam 1 ,mem_usb_wakestate_onetime_flag 
+0x4bbe 017052 branch usb_wakeup 
+:      017054 usb_windows_wakeup:
+0x4bbf 017055 arg timer_wakeup ,queue 
+0x4bc0 017056 call timer_check 
+0x4bc1 017057 nrtn blank 
+:      017058 usb_wakeup:
+0x4bc2 017059 hfetch 1 ,core_usb_config 
+0x4bc3 017060 rtnbit0 7 
+0x4bc4 017061 hjam 0xfc ,core_usb_config 
+0x4bc5 017062 nop 30000 
+0x4bc6 017063 hjam 0x3c ,core_usb_config 
+0x4bc7 017064 rtn 
+:      017071 hci_rx_h4:
+0x4bc8 017072 bpatch patch1f_5 ,mem_patch1f 
+0x4bc9 017073 fetch 1 ,mem_hci_cmd 
+0x4bca 017074 nrtn blank 
+:      017075 hci_rx_h4_1:
+0x4bcb 017076 call hci_h4_parse_packet 
+0x4bcc 017077 ncall h4_rx_discard_packet ,user 
+0x4bcd 017078 rtn 
+:      017080 hci_h4_parse_packet:
+0x4bce 017081 bpatch patch1f_6 ,mem_patch1f 
+0x4bcf 017082 copy contru ,rega 
+0x4bd0 017083 arg 4 ,temp 
+0x4bd1 017084 ifetch 1 ,contru 
+0x4bd2 017085 beq hci_h4_type_cmd ,hci_h4_parse_packet_wait_len 
+0x4bd3 017086 increase 1 ,temp 
+0x4bd4 017087 beq hci_h4_type_acl ,hci_h4_parse_packet_wait_len 
+0x4bd5 017088 copy contru ,pdata 
+0x4bd6 017089 hstore 2 ,core_uart_rrptr 
+0x4bd7 017090 rtn 
+:      017091 hci_h4_parse_packet_wait_len:
+0x4bd8 017092 hfetch 2 ,core_uart_rxitems 
+0x4bd9 017093 isub temp ,null 
+0x4bda 017094 nbranch hci_h4_parse_packet_wait_len ,positive 
+0x4bdb 017096 disable user 
+0x4bdc 017097 copy rega ,contru 
+0x4bdd 017098 call h4_get_rx_payload_len 
+0x4bde 017099 iadd temp ,temp 
+:      017100 hci_h4_parse_packet_wait:
+0x4bdf 017101 hfetch 2 ,core_uart_rxitems 
+0x4be0 017102 isub temp ,null 
+0x4be1 017103 nbranch hci_h4_parse_packet_wait ,positive 
+0x4be2 017104 copy rega ,contru 
+0x4be3 017105 ifetch 1 ,contru 
+0x4be4 017106 beq hci_h4_type_cmd ,process_hci_cmd 
+0x4be5 017107 branch assert 
+:      017109 h4_rx_discard_packet:
+0x4be6 017110 bpatch patch1f_7 ,mem_patch1f 
+0x4be7 017111 hfetch 2 ,core_uart_rrptr 
+0x4be8 017112 iforce contru 
+0x4be9 017113 call h4_get_rx_payload_len 
+0x4bea 017114 iadd contru ,contru 
+0x4beb 017115 deposit contru 
+0x4bec 017116 hstore 2 ,core_uart_rrptr 
+0x4bed 017117 rtn 
+:      017122 h4_get_rx_payload_len:
+0x4bee 017123 ifetch 1 ,contru 
+0x4bef 017124 increase 2 ,contru 
+0x4bf0 017125 beq hci_h4_type_acl ,h4_get_rx_payload_len_acl 
+0x4bf1 017126 ifetch 1 ,contru 
+0x4bf2 017127 rtn 
+:      017128 h4_get_rx_payload_len_acl:
+0x4bf3 017129 ifetch 2 ,contru 
+0x4bf4 017130 rtn 
+:      017132 h4_get_tx_ptr:
+0x4bf5 017133 hfetch 2 ,core_uart_twptr 
+0x4bf6 017134 increase -5 ,contwu 
+0x4bf7 017135 iadd contwu ,contwu 
+0x4bf8 017136 rtn 
+:      017138 h4_send_packet_event:
+0x4bf9 017139 arg hci_h4_type_event ,temp 
+0x4bfa 017140 branch h4_send_packet 
+:      017141 h4_send_packet_acl:
+0x4bfb 017142 arg hci_h4_type_acl ,temp 
+:      017143 h4_send_packet:
+0x4bfc 017144 bpatchx patch20_0 ,mem_patch20 
+0x4bfd 017145 increase 1 ,loopcnt 
+0x4bfe 017146 hfetch 2 ,core_uart_twptr 
+0x4bff 017147 copy pdata ,contwu 
+0x4c00 017148 copy loopcnt ,pdata 
+0x4c01 017149 istoret 1 ,contwu 
+0x4c02 017150 increase -1 ,pdata 
+0x4c03 017151 iadd contwu ,contwu 
+0x4c04 017152 copy contwu ,pdata 
+0x4c05 017153 store 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c06 017154 copy temp ,pdata 
+0x4c07 017155 rtneq hci_h4_type_acl 
+0x4c08 017156 fetch 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c09 017157 hstore 2 ,core_uart_twptr 
+0x4c0a 017158 branch h4_send_acl_trigger_clear 
+:      017161 h4_send_acl_trigger_clear:
+0x4c0b 017162 setarg 0 
+0x4c0c 017163 store 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c0d 017164 rtn 
+:      017171 hci_init:
+0x4c0e 017172 rtn wake 
+0x4c0f 017173 setarg hci_idle_dispatch 
+0x4c10 017174 store 2 ,mem_cb_idle_process 
+0x4c11 017176 setarg uart_baud_115200 
+0x4c12 017177 store uart_baud_len ,mem_baud 
+:      017178 hci_lpm_init:
+0x4c13 017179 setarg mem_h5rx_buf 
+0x4c14 017180 hstore 2 ,core_uart_rsaddr 
+0x4c15 017181 setarg mem_h5rx_buf_end 
+0x4c16 017182 hstore 2 ,core_uart_readdr 
+0x4c17 017183 setarg mem_h5tx_buf 
+0x4c18 017184 hstore 2 ,core_uart_tsaddr 
+0x4c19 017185 call hci_sel_init 
+:      017186 hci_reinit:
+0x4c1a 017187 hjam 0x0 ,core_uart_ctrl 
+0x4c1b 017188 setarg mem_h5tx_buf 
+0x4c1c 017189 hstore 2 ,core_uart_twptr 
+0x4c1d 017190 hstore 2 ,core_uart_trptrp 
+0x4c1e 017191 setarg mem_h5rx_buf 
+0x4c1f 017192 hstore 2 ,core_uart_rrptr 
+0x4c20 017193 store 2 ,mem_h5rx_rptr 
+:      017194 hci_init_common:
+0x4c21 017195 hfetch 2 ,core_clkoff 
+0x4c22 017196 set0 clock_off_uart ,pdata 
+0x4c23 017197 hstore 2 ,core_clkoff 
+0x4c24 017198 call uart_set_baud_by_mem 
+0x4c25 017199 hjam uartclk_dpll ,core_uart_clksel 
+0x4c26 017200 hjam uart_ctrl_h4 ,core_uart_ctrl 
+0x4c27 017201 rtn 
+:      017203 hci_sel_init:
+0x4c28 017204 setarg mem_h5tx_buf_end 
+0x4c29 017205 hstore 2 ,core_uart_teaddr 
+0x4c2a 017206 hfetch 1 ,core_gpio_sel1 
+0x4c2b 017207 or_into 0x07 ,pdata 
+0x4c2c 017208 hstore 1 ,core_gpio_sel1 
+0x4c2d 017209 rtn 
+:      017212 hci_rx_packet:
+0x4c2e 017213 bpatchx patch20_1 ,mem_patch20 
+0x4c2f 017214 hfetch 1 ,core_uart_status 
+0x4c30 017215 iforce regb 
+0x4c31 017216 bbit0 uart_status_rx_fifo_empty ,hci_rx_packet_cont 
+0x4c32 017217 hfetch 2 ,core_uart_rxitems 
+0x4c33 017218 iforce regc 
+0x4c34 017219 arg 0x44f ,temp 
+0x4c35 017220 isub temp ,null 
+0x4c36 017221 nrtn zero 
+:      017222 hci_rx_packet_cont:
+0x4c37 017223 hfetch 2 ,core_uart_rrptr 
+0x4c38 017224 iforce contru 
+0x4c39 017225 branch hci_rx_h4 
+:      017227 uart_send_byte:
+0x4c3a 017228 hfetcht 1 ,core_uart_status 
+0x4c3b 017229 isolate1 6 ,temp 
+0x4c3c 017230 branch uart_send_byte ,true 
+0x4c3d 017231 hstore 1 ,core_uart_txd 
+0x4c3e 017232 rtn 
+:      017234 process_hci_cmd:
+0x4c3f 017235 bpatchx patch20_2 ,mem_patch20 
+0x4c40 017236 fetch 1 ,mem_hci_cmd 
+0x4c41 017237 branch process_hci_cmd_cont ,blank 
+0x4c42 017238 enable user 
+0x4c43 017239 rtn 
+:      017240 process_hci_cmd_cont:
+0x4c44 017241 ifetch 2 ,contru 
+0x4c45 017242 iforce alarm 
+0x4c46 017243 iforce queue 
+0x4c47 017244 ifetch 1 ,contru 
+0x4c48 017245 iforce temp 
+0x4c49 017246 rshift2 alarm ,pdata 
+0x4c4a 017247 rshift8 pdata ,pdata 
+0x4c4b 017248 beq hci_ogf_vendor_specific ,phci_grp_vendor_specific 
+0x4c4c 017249 rtn 
+:      017252 phci_grp_vendor_specific:
+0x4c4d 017253 bpatchx patch20_3 ,mem_patch20 
+0x4c4e 017254 deposit queue 
+0x4c4f 017255 beq hci_vendor_cmd_reset ,hci_normal_reply 
+0x4c50 017256 beq hci_vendor_cmd_chipid ,phci_grp_vendor_chipid 
+0x4c51 017257 beq hci_vendor_cmd_baud ,phci_grp_vendor_baud 
+0x4c52 017258 beq hci_vendor_cmd_patch ,phci_grp_vendor_patch 
+0x4c53 017259 beq hci_vendor_cmd_patch_done ,phci_grp_vendor_done 
+0x4c54 017260 beq hci_vendor_cmd_echo ,hci_normal_reply 
+0x4c55 017261 beq hci_vendor_cmd_bdaddr ,phci_grp_vendor_bdaddr 
+0x4c56 017262 beq hci_vendor_cmd_enter_lpm ,phci_grp_vendor_enter_lpm 
+0x4c57 017264 beq hci_vendor_cmd_mem ,phci_grp_vendor_mem 
+0x4c58 017265 beq hci_vendor_cmd_eep ,phci_grp_vendor_eep 
+0x4c59 017266 beq hci_vendor_cmd_patch_sec_init ,phci_grp_vendor_patch_sec_init 
+0x4c5a 017267 beq hci_vendor_cmd_patch_sec ,phci_grp_vendor_patch_sec 
+0x4c5b 017268 branch hci_normal_reply 
+:      017270 phci_grp_vendor_enter_lpm:
+0x4c5c 017271 call hci_normal_reply 
+0x4c5d 017272 call wait_uarttx 
+0x4c5e 017273 call gpio_pu_uart_tx 
+:      017274 hci_enter_lpm:
+0x4c5f 017275 call app_put_lpm_wake_lock 
+0x4c60 017276 call app_l2cap_flow_control_enable 
+0x4c61 017277 branch gpio_rx_config_input_with_pu 
+:      017279 hci_exit_lpm:
+0x4c62 017280 jam hci_rx_ready ,mem_hci_lt_rx_state 
+0x4c63 017281 call app_get_lpm_wake_lock 
+0x4c64 017282 call hci_lpm_init 
+0x4c65 017283 branch app_l2cap_flow_control_disable 
+:      017285 phci_grp_vendor_chipid:
+0x4c66 017286 call hci_get_cmd_complete_ptr 
+0x4c67 017287 hfetch 2 ,core_chipid 
+0x4c68 017288 istore 2 ,contwu 
+0x4c69 017289 force 6 ,loopcnt 
+0x4c6a 017290 branch hci_command_complete 
+:      017292 phci_grp_vendor_baud:
+0x4c6b 017293 ifetch 2 ,contru 
+0x4c6c 017294 store 2 ,mem_baud 
+0x4c6d 017295 hstore 2 ,core_uart_baud 
+0x4c6e 017296 rtn 
+:      017299 phci_grp_vendor_patch_common:
+0x4c6f 017301 ifetch 1 ,contru 
+0x4c70 017302 copy pdata ,temp 
+0x4c71 017303 hstore 1 ,core_ucode_low 
+0x4c72 017304 ifetch 1 ,contru 
+0x4c73 017305 iadd temp ,temp 
+0x4c74 017306 set1 7 ,pdata 
+0x4c75 017307 hstore 1 ,core_ucode_ctrl 
+0x4c76 017308 ifetch 1 ,contru 
+0x4c77 017309 iadd temp ,temp 
+0x4c78 017310 copy pdata ,loopcnt 
+0x4c79 017311 rtn 
+:      017313 phci_grp_vendor_patch:
+0x4c7a 017314 bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4c7b 017315 call phci_grp_vendor_patch_common 
+:      017316 phci_grp_vendor_patch_loop:
+0x4c7c 017317 ifetch 1 ,contru 
+0x4c7d 017318 hstore 1 ,core_ucode_data 
+0x4c7e 017319 iadd temp ,temp 
+0x4c7f 017320 loop phci_grp_vendor_patch_loop 
+:      017321 phci_grp_vendor_patch_check_sum:
+0x4c80 017322 and temp ,0xff ,temp 
+0x4c81 017323 ifetch 1 ,contru 
+0x4c82 017324 isub temp ,null 
+0x4c83 017325 nbranch phci_grp_vendor_patch_bad ,zero 
+0x4c84 017326 branch hci_normal_reply 
+:      017329 phci_grp_vendor_patch_sec:
+0x4c85 017330 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4c86 017331 call phci_grp_vendor_patch_common 
+0x4c87 017332 store 8 ,mem_pdatatemp 
+:      017333 phci_grp_vendor_patch_sec_loop:
+0x4c88 017334 call do_aes_cbc 
+0x4c89 017335 arg 16 ,loopcnt 
+0x4c8a 017336 arg mem_temp_block0 ,contw 
+0x4c8b 017337 call load_uart_sum_loop 
+0x4c8c 017338 storet 8 ,mem_temp 
+0x4c8d 017339 arg mem_temp_block2 ,contw 
+0x4c8e 017340 call store_aes_result 
+0x4c8f 017341 arg mem_temp_block2 ,rega 
+0x4c90 017342 arg mem_temp_block0 ,regb 
+0x4c91 017343 arg mem_temp_block3 ,contw 
+0x4c92 017344 call xor16 
+0x4c93 017345 arg 16 ,loopcnt 
+0x4c94 017346 arg mem_temp_block3 ,contr 
+0x4c95 017347 call load_ucode_only_loop 
+0x4c96 017348 fetcht 8 ,mem_temp 
+0x4c97 017349 fetch 8 ,mem_pdatatemp 
+0x4c98 017350 increase -16 ,pdata 
+0x4c99 017351 store 8 ,mem_pdatatemp 
+0x4c9a 017352 nbranch phci_grp_vendor_patch_sec_loop ,blank 
+0x4c9b 017353 branch phci_grp_vendor_patch_check_sum 
+:      017355 load_ucode_only_loop:
+0x4c9c 017356 ifetch 1 ,contr 
+0x4c9d 017357 hstore 1 ,core_ucode_data 
+0x4c9e 017358 loop load_ucode_only_loop 
+0x4c9f 017359 rtn 
+:      017361 load_uart_sum_loop:
+0x4ca0 017362 ifetch 1 ,contru 
+0x4ca1 017363 istore 1 ,contw 
+0x4ca2 017364 iadd temp ,temp 
+0x4ca3 017365 loop load_uart_sum_loop 
+0x4ca4 017366 rtn 
+:      017368 phci_grp_vendor_patch_sec_init:
+0x4ca5 017369 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4ca6 017370 arg 0 ,temp 
+0x4ca7 017371 arg 16 ,loopcnt 
+0x4ca8 017372 arg mem_temp_block0 ,contw 
+0x4ca9 017373 call load_uart_sum_loop 
+0x4caa 017374 hfetch 1 ,core_gpio_key2 
+0x4cab 017375 and_into 0xfd ,pdata 
+0x4cac 017376 hstore 1 ,core_gpio_key2 
+0x4cad 017377 arg mem_temp_block0 ,contr 
+0x4cae 017378 arg 16 ,loopcnt 
+0x4caf 017379 call aes_load_data 
+0x4cb0 017380 call aes_init 
+0x4cb1 017381 call aes_clear_data 
+0x4cb2 017382 branch phci_grp_vendor_patch_check_sum 
+:      017385 phci_grp_vendor_done:
+0x4cb3 017386 arg 0x20 ,loopcnt 
+0x4cb4 017387 arg mem_patch00 ,contw 
+0x4cb5 017388 arg 0 ,temp 
+:      017389 phci_grp_vendor_done_loop:
+0x4cb6 017390 ifetch 1 ,contru 
+0x4cb7 017391 istore 1 ,contw 
+0x4cb8 017392 iadd temp ,temp 
+0x4cb9 017393 loop phci_grp_vendor_done_loop 
+0x4cba 017394 and temp ,0xff ,temp 
+0x4cbb 017395 ifetch 1 ,contru 
+0x4cbc 017396 isub temp ,null 
+0x4cbd 017397 nbranch phci_grp_vendor_patch_bad ,zero 
+0x4cbe 017398 hjam 0 ,core_ucode_ctrl 
+0x4cbf 017399 call hci_normal_reply 
+0x4cc0 017400 call h4_rx_discard_packet 
+0x4cc1 017401 call clear_key_buf 
+0x4cc2 017402 call wait_uarttx 
+0x4cc3 017403 branch soft_reset 
+:      017405 phci_grp_vendor_patch_bad:
+0x4cc4 017406 hjam 0 ,core_ucode_ctrl 
+0x4cc5 017407 branch start 
+:      017409 phci_grp_vendor_bdaddr:
+0x4cc6 017410 ifetch 6 ,contru 
+0x4cc7 017411 store 6 ,mem_lap 
+0x4cc8 017412 branch hci_normal_reply 
+:      017415 phci_grp_vendor_mem:
+0x4cc9 017416 ifetch 1 ,contru 
+0x4cca 017417 store 1 ,mem_hci_curr_len 
+0x4ccb 017418 copy pdata ,loopcnt 
+0x4ccc 017419 ifetch 2 ,contru 
+0x4ccd 017420 store 2 ,mem_hci_curr_target 
+0x4cce 017421 copy pdata ,contw 
+0x4ccf 017422 call uart_copy_rx_bytes 
+0x4cd0 017423 branch hci_normal_reply 
+:      017426 phci_grp_vendor_eep:
+0x4cd1 017427 ifetch 1 ,contru 
+0x4cd2 017428 store 1 ,mem_hci_curr_len 
+0x4cd3 017429 copy pdata ,loopcnt 
+0x4cd4 017430 ifetch 2 ,contru 
+0x4cd5 017431 store 2 ,mem_hci_curr_target 
+0x4cd6 017432 arg mem_l2cap_rxbuff1 ,contw 
+0x4cd7 017433 call uart_copy_rx_bytes 
+0x4cd8 017434 fetcht 1 ,mem_hci_curr_len 
+0x4cd9 017435 arg mem_l2cap_rxbuff1 ,rega 
+0x4cda 017436 fetch 2 ,mem_hci_curr_target 
+0x4cdb 017437 branch iicd_write_ota_data 
+:      017442 hci_normal_reply:
+0x4cdc 017443 force 4 ,loopcnt 
+:      017444 hci_command_complete:
+0x4cdd 017445 call hci_get_payload_ptr 
+0x4cde 017446 force 0x1 ,pdata 
+0x4cdf 017447 istore 1 ,contwu 
+0x4ce0 017448 deposit alarm 
+0x4ce1 017449 istore 3 ,contwu 
+0x4ce2 017450 force hci_event_command_complete ,queue 
+:      017451 hci_send_event:
+0x4ce3 017452 bpatchx patch20_4 ,mem_patch20 
+0x4ce4 017453 call hci_get_packet_ptr 
+0x4ce5 017454 deposit queue 
+0x4ce6 017455 istore 1 ,contwu 
+0x4ce7 017456 deposit loopcnt 
+0x4ce8 017457 istore 1 ,contwu 
+:      017458 hci_send_event_raw:
+0x4ce9 017459 force 5 ,queue 
+0x4cea 017460 increase 2 ,loopcnt 
+:      017461 hci_send_packet:
+0x4ceb 017462 branch h4_send_packet_event 
+:      017464 hci_send_commu_ready_event:
+0x4cec 017465 force hci_event_vendor_specific ,queue 
+0x4ced 017466 call hci_get_payload_ptr 
+0x4cee 017467 setarg hci_vendor_event_commu_ready 
+0x4cef 017468 istore 1 ,contwu 
+0x4cf0 017469 force 1 ,loopcnt 
+0x4cf1 017470 branch hci_send_event 
+:      017472 hci_get_cmd_complete_ptr:
+0x4cf2 017473 force 12 ,contwu 
+0x4cf3 017474 branch hci_get_tx_ptr 
+:      017476 hci_get_payload_ptr:
+0x4cf4 017477 force 8 ,contwu 
+0x4cf5 017478 branch hci_get_tx_ptr 
+:      017480 hci_get_packet_ptr:
+0x4cf6 017481 force 6 ,contwu 
+:      017482 hci_get_tx_ptr:
+0x4cf7 017483 branch h4_get_tx_ptr 
+:      017487 calc_tx_crc16:
+0x4cf8 017488 pulse crc16 
+0x4cf9 017489 enable enable_crc 
+:      017490 crcloop:
+0x4cfa 017491 ifetch 1 ,contwu 
+0x4cfb 017492 inject bucket ,8 
+0x4cfc 017493 loop crcloop 
+0x4cfd 017494 enable enable_parity 
+0x4cfe 017495 inject bucket ,16 
+0x4cff 017496 disable enable_parity 
+0x4d00 017497 disable enable_crc 
+0x4d01 017498 disable crc16 
+0x4d02 017499 byteswap pdata ,pdata 
+0x4d03 017500 rtn 
+:      017504 cmd_exit:
+0x4d04 017505 jam 0 ,mem_hci_cmd 
+0x4d05 017506 rtn 
+:      017507 cmd_check_plap:
+0x4d06 017508 fetch 6 ,mem_hci_plap 
+0x4d07 017509 fetcht 6 ,mem_plap 
+0x4d08 017510 isub temp ,null 
+0x4d09 017511 rtn 
+:      017516 cmd_pair:
+0x4d0a 017517 fetch 1 ,mem_op 
+0x4d0b 017518 bbit1 op_inrand_req ,cmd_pair_passive 
+0x4d0c 017519 call tid_initiate 
+0x4d0d 017520 jam lmp_in_rand ,mem_lmo_opcode2 
+0x4d0e 017521 branch cmd_exit 
+:      017522 cmd_pair_passive:
+0x4d0f 017523 set0 op_inrand_req ,pdata 
+0x4d10 017524 store 1 ,mem_op 
+0x4d11 017525 call lmp_accept_inrand 
+0x4d12 017526 setarg 0 
+0x4d13 017527 setflag master ,smap_lmptid ,pdata 
+0x4d14 017528 store 1 ,mem_lmo_tid2 
+0x4d15 017529 branch cmd_exit 
+0x4d16 017530 rtn 
+:      017531 cmd_in_sniff:
+0x4d17 017532 jam lmp_sniff_req ,mem_lmo_opcode2 
+0x4d18 017533 arg mem_sniff_payload ,contw 
+0x4d19 017534 setarg 0 
+0x4d1a 017535 isolate1 27 ,clke_bt 
+0x4d1b 017536 setflag true ,1 ,pdata 
+0x4d1c 017537 istore 1 ,contw 
+0x4d1d 017538 setarg 0 
+0x4d1e 017539 istore 2 ,contw 
+0x4d1f 017540 fetch 2 ,mem_sniff_param_interval 
+0x4d20 017541 istore 2 ,contw 
+0x4d21 017542 fetch 1 ,mem_sniff_param_attempt 
+0x4d22 017543 istore 2 ,contw 
+0x4d23 017544 fetch 1 ,mem_sniff_param_timeout 
+0x4d24 017545 istore 2 ,contw 
+0x4d25 017546 branch cmd_exit 
+:      017548 cmd_exit_sniff:
+0x4d26 017549 jam lmp_unsniff_req ,mem_lmo_opcode2 
+0x4d27 017550 branch cmd_exit 
+:      017552 hci_idle_dispatch:
+0x4d28 017553 call gpio_check_uart_state 
+0x4d29 017554 rtn true 
+0x4d2a 017555 arg uart_wakeup_rx ,temp 
+0x4d2b 017556 call gpio_get_bit 
+0x4d2c 017557 nbranch uart_wake_up ,true 
+0x4d2d 017558 jam hci_rx_wake ,mem_hci_lt_rx_state 
+0x4d2e 017559 rtn 
+:      017560 uart_wake_up:
+0x4d2f 017561 fetch 1 ,mem_hci_lt_rx_state 
+0x4d30 017562 rtnne hci_rx_wake 
+0x4d31 017563 call hci_exit_lpm 
+0x4d32 017564 branch hci_send_commu_ready_event 
+:      017578 hid_rx_process:
+0x4d33 017579 bpatchx patch20_5 ,mem_patch20 
+0x4d34 017580 fetch 2 ,mem_l2cap_payload_ptr 
+0x4d35 017581 copy pdata ,contr 
+0x4d36 017582 ifetch 1 ,contr 
+0x4d37 017583 and pdata ,0x0f ,temp 
+0x4d38 017584 rshift4 pdata ,pdata 
+0x4d39 017585 beq hid_type_set_idle ,hid_rx_process_handshake 
+0x4d3a 017586 beq hid_type_set_protocol ,hid_rx_process_handshake 
+0x4d3b 017587 beq hid_type_data ,hid_rx_process_data 
+0x4d3c 017588 beq hid_type_set_report ,hid_rx_process_set_report 
+0x4d3d 017589 beq hid_type_control ,hid_rx_process_hid_control 
+0x4d3e 017590 rtn 
+:      017592 hid_rx_process_hid_control:
+0x4d3f 017593 copy temp ,pdata 
+0x4d40 017594 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+0x4d41 017595 beq hid_control_p_suspend ,hid_rx_process_suspend 
+0x4d42 017596 rtn 
+:      017598 hid_rx_process_virtual_cable_unplug:
+0x4d43 017599 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+0x4d44 017600 call ui_ipc_send_event 
+0x4d45 017601 fetch 1 ,mem_device_option 
+0x4d46 017602 rtnbit0 dvc_op_mouse 
+0x4d47 017603 copy temp ,pdata 
+0x4d48 017604 beq hid_control_p_virtualcableunplug ,mouse_irtual_cable_unplug 
+0x4d49 017605 rtn 
+:      017606 hid_rx_process_suspend:
+0x4d4a 017607 rtn 
+:      017609 hid_rx_process_set_report:
+0x4d4b 017610 call hid_rx_process_data 
+0x4d4c 017611 arg 0x01 ,rega 
+0x4d4d 017612 call hid_malloc_tx_buff 
+0x4d4e 017613 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4d4f 017614 istore 2 ,contw 
+0x4d50 017615 setarg 0x00 
+0x4d51 017616 istore 1 ,contw 
+0x4d52 017617 rtn 
+:      017619 hid_rx_process_handshake:
+0x4d53 017620 arg 1 ,rega 
+0x4d54 017621 call hid_malloc_tx_buff 
+0x4d55 017622 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4d56 017623 istore 2 ,contw 
+0x4d57 017624 setarg 0 
+0x4d58 017625 istore 1 ,contw 
+0x4d59 017626 jam 1 ,mem_ui_data_txbuff_length 
+0x4d5a 017627 fetch 1 ,mem_hid_control_state 
+0x4d5b 017628 set1 l2cap_channel_hid_handshake_done 
+0x4d5c 017629 store 1 ,mem_hid_control_state 
+0x4d5d 017630 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0x4d5e 017631 branch ui_ipc_send_event 
+:      017633 hid_rx_process_data:
+0x4d5f 017634 ifetch 1 ,contr 
+0x4d60 017635 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+0x4d61 017636 rtn 
+:      017638 hid_rx_process_data_hid_kb:
+0x4d62 017639 rtn 
+:      017642 hid_malloc_tx_buff:
+0x4d63 017643 call l2cap_malloc 
+0x4d64 017644 copy rega ,temp 
+0x4d65 017645 storet 1 ,mem_ui_data_txbuff_length 
+0x4d66 017646 copy pdata ,contw 
+0x4d67 017647 copy rega ,pdata 
+0x4d68 017648 istore 2 ,contw 
+0x4d69 017649 rtn 
+:      017666 l2cap_init:
+0x4d6a 017667 branch l2cap_init_wake ,wake 
+:      017668 l2cap_init_work:
+0x4d6b 017669 setarg mem_l2cap_xmem_end 
+0x4d6c 017670 arg mem_l2cap_xmem_start ,contw 
+0x4d6d 017671 isub contw ,loopcnt 
+0x4d6e 017672 call clear_mem 
+:      017673 l2cap_init_wake:
+0x4d6f 017674 bpatchx patch20_6 ,mem_patch20 
+0x4d70 017675 setarg mem_sdp_mem_end 
+0x4d71 017676 arg mem_sdp_mem_start ,contw 
+0x4d72 017677 isub contw ,loopcnt 
+0x4d73 017678 call clear_mem 
+0x4d74 017679 setarg mem_l2cap_mem_end 
+0x4d75 017680 arg mem_l2cap_mem_start ,contw 
+0x4d76 017681 isub contw ,loopcnt 
+0x4d77 017682 call clear_mem 
+0x4d78 017683 branch l2cap_lpm_load_txbuf 
+:      017685 process_rx_l2cap_pkt:
+0x4d79 017686 bpatchx patch20_7 ,mem_patch20 
+0x4d7a 017687 copy contr ,temp 
+0x4d7b 017690 copy temp ,contr 
+0x4d7c 017691 ifetch 2 ,contr 
+0x4d7d 017692 store 2 ,mem_l2cap_rx_pkt_length 
+0x4d7e 017693 ifetch 2 ,contr 
+0x4d7f 017694 store 2 ,mem_l2cap_rx_cid 
+0x4d80 017695 deposit contr 
+0x4d81 017696 store 2 ,mem_l2cap_payload_ptr 
+0x4d82 017697 fetch 1 ,memui_reconnect_mode 
+0x4d83 017698 beq no_reconnection ,l2cap_rx_multiplexing 
+0x4d84 017699 branch ml2cap_rx_multiplexing 
+:      017701 l2cap_rx_multiplexing:
+0x4d85 017702 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x4d86 017703 branch l2cap_rx_reset_state ,blank 
+0x4d87 017704 bpatchx patch21_0 ,mem_patch21 
+0x4d88 017705 fetch 1 ,mem_l2cap_rx_cid 
+0x4d89 017706 beq l2cap_signal_channel ,l2cap_call_proc_signal 
+:      017707 l2cap_rx_multiplexing0:
+0x4d8a 017708 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+0x4d8b 017709 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x4d8c 017710 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x4d8d 017711 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x4d8e 017712 branch l2cap_rx_reset_state 
+:      017714 l2cap_check_map:
+0x4d8f 017717 bpatchx patch21_1 ,mem_patch21 
+0x4d90 017718 call l2cap_malloc_get_full_map 
+0x4d91 017719 fetch 1 ,mem_used_map 
+0x4d92 017720 beq 0 ,set_pdata_0 
+0x4d93 017721 beq 1 ,set_pdata_0 
+0x4d94 017722 beq 2 ,set_pdata_0 
+0x4d95 017723 beq 3 ,set_pdata_0 
+0x4d96 017724 beq 0x81 ,set_pdata_0 
+0x4d97 017725 beq 0xc0 ,set_pdata_0 
+0x4d98 017726 beq 0x80 ,set_pdata_0 
+0x4d99 017727 beq 0x40 ,set_pdata_0 
+0x4d9a 017728 rtn 
+:      017730 set_pdata_0:
+0x4d9b 017731 setarg 0 
+0x4d9c 017732 rtn 
+:      017735 l2cap_call_proc_signal:
+0x4d9d 017736 call l2cap_check_map 
+0x4d9e 017737 nrtn blank 
+:      017738 l2cap_call_proc_signal0:
+0x4d9f 017739 call l2cap_malloc_signal_channel 
+0x4da0 017740 call l2cap_process_signal_pkt 
+0x4da1 017741 fetcht 2 ,mem_l2cap_signal_tx_length 
+0x4da2 017742 branch l2cap_call_proc_no_reply ,blank 
+0x4da3 017743 call l2cap_get_signal_tx_buff 
+0x4da4 017744 fetch 2 ,mem_l2cap_signal_tx_length 
+0x4da5 017745 istore 2 ,contw 
+0x4da6 017746 force l2cap_signal_channel ,pdata 
+0x4da7 017747 istore 2 ,contw 
+0x4da8 017748 branch l2cap_rx_reset_state 
+:      017750 l2cap_call_proc_sigal_pending:
+0x4da9 017751 fetch 1 ,mem_l2cap_pending_item 
+0x4daa 017752 rtn blank 
+0x4dab 017753 copy pdata ,rega 
+0x4dac 017754 bpatchx patch21_2 ,mem_patch21 
+0x4dad 017755 fetch 4 ,mem_l2cap_sdpres_delay_time 
+0x4dae 017756 arg 0x100 ,temp 
+0x4daf 017757 iadd temp ,temp 
+0x4db0 017758 copy clkn_bt ,pdata 
+0x4db1 017759 isub temp ,null 
+0x4db2 017760 nrtn positive 
+0x4db3 017761 jam 0 ,mem_l2cap_pending_item 
+0x4db4 017762 copy rega ,pdata 
+0x4db5 017763 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+0x4db6 017764 branch assert 
+:      017765 l2cap_sdp_conn_succ:
+0x4db7 017766 arg 0 ,debug 
+0x4db8 017767 call l2cap_malloc_signal_channel 
+0x4db9 017768 call restore_l2cap_req_param 
+0x4dba 017769 call l2cap_get_signal_tx_payload 
+0x4dbb 017770 call save_cont_pointers 
+0x4dbc 017771 call send_connection_sdp_res 
+0x4dbd 017772 call l2cap_get_signal_tx_buff 
+0x4dbe 017774 setarg 0x000c 
+0x4dbf 017775 istore 2 ,contw 
+0x4dc0 017776 force l2cap_signal_channel ,pdata 
+0x4dc1 017777 istore 2 ,contw 
+0x4dc2 017778 branch l2cap_rx_reset_state 
+:      017782 l2cap_reset_sdp_map:
+0x4dc3 017783 bpatchx patch21_3 ,mem_patch21 
+0x4dc4 017784 fetch 2 ,mem_sdp_tx_pkt_length 
+0x4dc5 017785 increase 4 ,pdata 
+0x4dc6 017786 rshift4 pdata ,pdata 
+0x4dc7 017787 rshift3 pdata ,pdata 
+0x4dc8 017788 add pdata ,1 ,temp 
+0x4dc9 017789 arg mem_tx_fifo3 ,contr 
+0x4dca 017790 ifetch 3 ,contr 
+0x4dcb 017791 rtn blank 
+0x4dcc 017792 store 3 ,mem_tx_fifo_map_temp 
+0x4dcd 017793 fetch 1 ,mem_tx_fifo_map_temp 
+0x4dce 017794 copy pdata ,rega 
+0x4dcf 017795 call check_l2cap_map 
+0x4dd0 017796 copy regb ,pdata 
+0x4dd1 017797 store 1 ,mem_tx_fifo3 
+0x4dd2 017798 rtn 
+:      017800 check_l2cap_map:
+0x4dd3 017801 arg 0 ,queue 
+0x4dd4 017802 arg 0 ,regb 
+:      017804 check_l2cap_map_loop:
+0x4dd5 017805 sub queue ,7 ,null 
+0x4dd6 017806 nrtn positive 
+0x4dd7 017807 qisolate1 rega 
+0x4dd8 017808 branch check_l2cap_map_used ,true 
+0x4dd9 017809 branch check_l2cap_map_used2 
+:      017811 check_l2cap_map_used:
+0x4dda 017812 copy temp ,pdata 
+0x4ddb 017813 branch check_l2cap_map_used2 ,blank 
+0x4ddc 017814 qset1 regb 
+0x4ddd 017815 increase -1 ,temp 
+:      017817 check_l2cap_map_used2:
+0x4dde 017818 increase 1 ,queue 
+0x4ddf 017819 branch check_l2cap_map_loop 
+:      017821 l2cap_call_proc_sdp:
+0x4de0 017822 call l2cap_malloc_is_fifo_empty 
+0x4de1 017823 nrtn blank 
+0x4de2 017824 call l2cap_check_map 
+0x4de3 017825 nrtn blank 
+0x4de4 017826 call l2cap_malloc_sdp_channel 
+0x4de5 017827 call sdp_process 
+0x4de6 017828 call l2cap_reset_sdp_map 
+0x4de7 017829 branch l2cap_call_proc_sdp_common 
+:      017832 ml2cap_call_proc_sdp:
+0x4de8 017833 call l2cap_malloc_is_fifo_empty 
+0x4de9 017834 nrtn blank 
+0x4dea 017835 call l2cap_malloc_sdp_channel 
+0x4deb 017836 call sdp_process 
+:      017837 l2cap_call_proc_sdp_common:
+0x4dec 017838 call l2cap_get_sdp_tx_buff 
+0x4ded 017839 fetch 2 ,mem_sdp_tx_pkt_length 
+0x4dee 017840 branch l2cap_call_proc_no_reply ,blank 
+0x4def 017841 istore 2 ,contw 
+0x4df0 017842 fetch 2 ,mem_sdp_remote_cid 
+0x4df1 017843 istore 2 ,contw 
+0x4df2 017844 branch l2cap_rx_reset_state 
+:      017846 l2cap_call_proc_hid:
+0x4df3 017847 call hid_rx_process 
+0x4df4 017848 branch l2cap_rx_reset_state 
+:      017850 l2cap_call_proc_rfcomm:
+0x4df5 017851 bpatchx patch21_4 ,mem_patch21 
+0x4df6 017852 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x4df7 017853 call rfcomm_rx_process 
+0x4df8 017854 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+0x4df9 017855 rtneq rfcomm_malloc_fail 
+0x4dfa 017856 branch l2cap_rx_reset_state 
+:      017857 l2cap_call_proc_no_reply:
+0x4dfb 017858 call l2cap_malloc_discard 
+:      017860 l2cap_rx_reset_state:
+0x4dfc 017861 setarg 0 
+0x4dfd 017862 store 2 ,mem_l2cap_rx_pkt_length 
+0x4dfe 017863 store 2 ,mem_l2cap_rx_cid 
+0x4dff 017864 jam l2cap_rx_done ,mem_l2cap_rx_done 
+0x4e00 017865 rtn 
+:      017867 l2cap_process_signal_pkt:
+0x4e01 017868 bpatchx patch21_5 ,mem_patch21 
+0x4e02 017869 call l2cap_get_signal_tx_payload 
+0x4e03 017870 force 0 ,regb 
+0x4e04 017871 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x4e05 017872 copy pdata ,regc 
+0x4e06 017873 fetch 2 ,mem_l2cap_payload_ptr 
+0x4e07 017874 iforce contr 
+:      017875 l2cap_process_signal_pkt_loop:
+0x4e08 017876 call l2cap_process_one_signal 
+0x4e09 017877 deposit regc 
+0x4e0a 017878 increase -4 ,regc 
+0x4e0b 017879 increase -4 ,pdata 
+0x4e0c 017880 nbranch l2cap_process_signal_pkt_loop ,blank 
+0x4e0d 017881 copy regb ,pdata 
+0x4e0e 017882 store 2 ,mem_l2cap_signal_tx_length 
+0x4e0f 017883 rtn 
+:      017885 l2cap_process_one_signal:
+0x4e10 017886 bpatchx patch21_6 ,mem_patch21 
+0x4e11 017887 ifetch 1 ,contr 
+0x4e12 017888 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+0x4e13 017889 beq signal_connect_req ,l2cap_proc_signal_connect_req 
+0x4e14 017890 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+0x4e15 017891 beq signal_config_req ,l2cap_proc_signal_config_req 
+0x4e16 017892 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+0x4e17 017893 beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+0x4e18 017894 beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+0x4e19 017895 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x4e1a 017896 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+0x4e1b 017897 beq signal_info_req ,l2cap_proc_signal_info_req 
+0x4e1c 017898 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+0x4e1d 017899 call l2cap_reject_command 
+:      017900 l2cap_process_one_signal_rtn:
+0x4e1e 017901 rtn 
+:      017903 l2cap_proc_signal_info_req:
+0x4e1f 017904 ifetch 1 ,contr 
+0x4e20 017905 copy pdata ,queue 
+0x4e21 017906 ifetch 2 ,contr 
+0x4e22 017907 copy pdata ,rega 
+0x4e23 017908 copy regc ,pdata 
+0x4e24 017909 isub rega ,regc 
+0x4e25 017910 setarg signal_info_rsp 
+0x4e26 017911 istore 1 ,contw 
+0x4e27 017912 copy queue ,pdata 
+0x4e28 017913 istore 1 ,contw 
+0x4e29 017914 ifetch 2 ,contr 
+:      017915 l2cap_proc_signal_info_req_reply:
+0x4e2a 017916 beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+0x4e2b 017917 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+0x4e2c 017918 rtn 
+:      017919 l2cap_proc_signal_info_req_ext:
+0x4e2d 017920 setarg 0x020008 
+0x4e2e 017921 istore 6 ,contw 
+0x4e2f 017922 setarg 0x0280 
+0x4e30 017923 istore 4 ,contw 
+0x4e31 017924 force 12 ,pdata 
+0x4e32 017925 branch l2cap_proc_signal_info_req_common 
+:      017926 l2cap_proc_signal_info_req_fix:
+0x4e33 017927 setarg 0x3000c 
+0x4e34 017928 istore 6 ,contw 
+0x4e35 017929 setarg 0x0006 
+0x4e36 017930 istore 8 ,contw 
+0x4e37 017931 force 16 ,pdata 
+:      017932 l2cap_proc_signal_info_req_common:
+0x4e38 017933 iadd regb ,regb 
+0x4e39 017934 branch l2cap_process_one_signal_rtn 
+:      017936 ml2cap_proc_signal_info_req:
+0x4e3a 017937 ifetch 1 ,contr 
+0x4e3b 017938 copy pdata ,queue 
+0x4e3c 017939 ifetch 2 ,contr 
+0x4e3d 017940 copy pdata ,rega 
+0x4e3e 017941 ifetch 2 ,contr 
+0x4e3f 017942 store 2 ,mem_temp 
+0x4e40 017943 copy regc ,pdata 
+0x4e41 017944 isub rega ,regc 
+0x4e42 017945 call l2cap_get_signal_tx_payload 
+0x4e43 017946 setarg signal_info_rsp 
+0x4e44 017947 istore 1 ,contw 
+0x4e45 017948 copy queue ,pdata 
+0x4e46 017949 istore 1 ,contw 
+0x4e47 017950 fetch 2 ,mem_temp 
+0x4e48 017951 branch l2cap_proc_signal_info_req_reply 
+:      017955 l2cap_proc_signal_cmd_reject:
+0x4e49 017956 ifetch 1 ,contr 
+0x4e4a 017957 copy pdata ,queue 
+0x4e4b 017958 ifetch 2 ,contr 
+0x4e4c 017959 copy pdata ,rega 
+0x4e4d 017960 iadd contr ,contr 
+0x4e4e 017961 copy regc ,pdata 
+0x4e4f 017962 isub rega ,regc 
+:      017963 l2cap_proc_signal_cmd_reject_rtn:
+0x4e50 017964 branch l2cap_process_one_signal_rtn 
+:      017966 l2cap_proc_signal_connect_req:
+0x4e51 017967 call save_cont_pointers 
+0x4e52 017970 call load_cont_pointers 
+0x4e53 017971 arg 0 ,debug 
+0x4e54 017972 ifetch 1 ,contr 
+0x4e55 017973 copy pdata ,queue 
+0x4e56 017974 ifetch 2 ,contr 
+0x4e57 017975 copy pdata ,rega 
+0x4e58 017976 ifetch 2 ,contr 
+0x4e59 017977 copy pdata ,temp 
+0x4e5a 017978 ifetch 2 ,contr 
+0x4e5b 017979 copy pdata ,timeup 
+0x4e5c 017980 bpatchx patch21_7 ,mem_patch21 
+0x4e5d 017981 copy temp ,pdata 
+0x4e5e 017982 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+0x4e5f 017983 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+0x4e60 017984 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+0x4e61 017985 beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+0x4e62 017986 call l2cap_reject_command 
+0x4e63 017987 branch l2cap_proc_signal_connect_req_rtn 
+:      017989 l2cap_proc_signal_connect_req_sdp:
+0x4e64 017990 call save_cont_pointers 
+0x4e65 017991 arg l2cap_sdp_channel ,temp 
+0x4e66 017992 fetch 2 ,mem_sdp_remote_cid 
+0x4e67 017993 nbranch already_connected ,blank 
+0x4e68 017994 copy timeup ,pdata 
+0x4e69 017995 store 2 ,mem_sdp_remote_cid 
+0x4e6a 017996 copy clkn_bt ,pdata 
+0x4e6b 017997 store 4 ,mem_l2cap_sdpres_delay_time 
+0x4e6c 017998 call store_l2cap_req_param 
+0x4e6d 017999 branch send_connection_pending 
+:      018001 store_l2cap_req_param:
+0x4e6e 018002 storet 2 ,mem_psm 
+0x4e6f 018003 deposit timeup 
+0x4e70 018004 store 2 ,mem_scid 
+0x4e71 018005 deposit rega 
+0x4e72 018006 store 2 ,mem_cmd_length 
+0x4e73 018007 deposit regb 
+0x4e74 018008 store 2 ,mem_tt2 
+0x4e75 018009 deposit regc 
+0x4e76 018010 store 2 ,mem_tt3 
+0x4e77 018011 deposit queue 
+0x4e78 018012 store 2 ,mem_id 
+0x4e79 018013 rtn 
+:      018015 restore_l2cap_req_param:
+0x4e7a 018016 fetcht 2 ,mem_psm 
+0x4e7b 018017 fetch 2 ,mem_scid 
+0x4e7c 018018 copy pdata ,timeup 
+0x4e7d 018019 fetch 2 ,mem_cmd_length 
+0x4e7e 018020 copy pdata ,rega 
+0x4e7f 018021 fetch 2 ,mem_tt2 
+0x4e80 018022 copy pdata ,regb 
+0x4e81 018023 fetch 2 ,mem_tt3 
+0x4e82 018024 copy pdata ,regc 
+0x4e83 018025 fetch 2 ,mem_id 
+0x4e84 018026 copy pdata ,queue 
+0x4e85 018027 rtn 
+:      018029 l2cap_proc_signal_connect_req_rfcomm:
+0x4e86 018030 call save_cont_pointers 
+0x4e87 018031 setarg l2cap_rfcomm_channel 
+0x4e88 018032 arg l2cap_rfcomm_channel ,temp 
+0x4e89 018033 fetch 2 ,mem_rfcomm_remote_cid 
+0x4e8a 018034 nbranch already_connected ,blank 
+0x4e8b 018035 copy timeup ,pdata 
+0x4e8c 018036 store 2 ,mem_rfcomm_remote_cid 
+0x4e8d 018037 fetch 1 ,mem_rfcomm_state 
+0x4e8e 018038 set1 l2cap_channel_state_conn_req ,pdata 
+0x4e8f 018039 set1 l2cap_channel_state_conn_res ,pdata 
+0x4e90 018040 store 1 ,mem_rfcomm_state 
+0x4e91 018041 branch send_connection_res 
+:      018042 l2cap_proc_signal_connect_req_hid_ctrl:
+0x4e92 018043 call save_cont_pointers 
+0x4e93 018044 arg l2cap_hid_control_channel ,temp 
+0x4e94 018045 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4e95 018046 nbranch already_connected ,blank 
+0x4e96 018047 copy timeup ,pdata 
+0x4e97 018048 store 2 ,mem_hid_ctrl_remote_cid 
+0x4e98 018049 fetch 1 ,mem_hid_control_state 
+0x4e99 018050 set1 l2cap_channel_state_conn_req ,pdata 
+0x4e9a 018051 set1 l2cap_channel_state_conn_res ,pdata 
+0x4e9b 018052 store 1 ,mem_hid_control_state 
+0x4e9c 018053 branch send_connection_res 
+:      018054 l2cap_proc_signal_connect_req_hid_int:
+0x4e9d 018055 call save_cont_pointers 
+0x4e9e 018056 deposit clke 
+0x4e9f 018057 arg l2cap_hid_interrupt_channel ,temp 
+0x4ea0 018058 fetch 2 ,mem_hid_int_remote_cid 
+0x4ea1 018059 nbranch already_connected ,blank 
+0x4ea2 018060 copy timeup ,pdata 
+0x4ea3 018061 store 2 ,mem_hid_int_remote_cid 
+0x4ea4 018062 fetch 1 ,mem_hid_interrupt_state 
+0x4ea5 018063 set1 l2cap_channel_state_conn_req ,pdata 
+0x4ea6 018064 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ea7 018065 store 1 ,mem_hid_interrupt_state 
+0x4ea8 018066 branch send_connection_res 
+:      018068 send_connection_pending:
+0x4ea9 018069 setarg l2cap_connect_pending 
+0x4eaa 018070 store 2 ,meml2cap_t1 
+0x4eab 018071 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+0x4eac 018072 branch send_connection_res0 
+:      018073 send_connection_sdp_res:
+0x4ead 018074 fetch 1 ,mem_sdp_state 
+0x4eae 018075 set1 l2cap_channel_state_conn_req ,pdata 
+0x4eaf 018076 set1 l2cap_channel_state_conn_res ,pdata 
+0x4eb0 018077 store 1 ,mem_sdp_state 
+:      018078 send_connection_res:
+0x4eb1 018079 setarg l2cap_connect_successful 
+0x4eb2 018080 store 2 ,meml2cap_t1 
+:      018081 send_connection_res0:
+0x4eb3 018082 bpatchx patch22_0 ,mem_patch22 
+0x4eb4 018083 call load_cont_pointers 
+0x4eb5 018084 setarg signal_connect_rsp 
+0x4eb6 018085 istore 1 ,contw 
+0x4eb7 018086 copy queue ,pdata 
+0x4eb8 018087 istore 1 ,contw 
+0x4eb9 018088 setarg 0x0008 
+0x4eba 018089 istore 2 ,contw 
+0x4ebb 018090 copy temp ,pdata 
+0x4ebc 018091 istore 2 ,contw 
+0x4ebd 018092 copy timeup ,pdata 
+0x4ebe 018093 istore 2 ,contw 
+0x4ebf 018094 fetch 2 ,meml2cap_t1 
+0x4ec0 018095 beq l2cap_connect_pending ,connect_pending 
+0x4ec1 018096 isolate0 0 ,debug 
+0x4ec2 018097 branch connect_suc ,true 
+0x4ec3 018098 setarg l2cap_connect_refused_no_resources 
+:      018099 connect_suc:
+0x4ec4 018100 istore 2 ,contw 
+0x4ec5 018101 force 0x0000 ,pdata 
+0x4ec6 018102 istore 2 ,contw 
+0x4ec7 018103 setarg 12 
+0x4ec8 018104 branch connect_req_update_byte_counts 
+:      018105 connect_pending:
+0x4ec9 018106 istore 2 ,contw 
+0x4eca 018107 force 0x0002 ,pdata 
+0x4ecb 018108 istore 2 ,contw 
+0x4ecc 018109 setarg 12 
+0x4ecd 018110 branch connect_req_update_byte_counts 
+:      018112 already_connected:
+0x4ece 018113 set1 0 ,debug 
+0x4ecf 018114 branch send_connection_res 
+:      018115 connect_req_update_byte_counts:
+0x4ed0 018116 iadd regb ,regb 
+0x4ed1 018117 copy regc ,pdata 
+0x4ed2 018118 isub rega ,regc 
+0x4ed3 018119 branch l2cap_proc_signal_connect_req_rtn 
+:      018120 l2cap_proc_signal_connect_req_rtn:
+0x4ed4 018121 branch l2cap_process_one_signal_rtn 
+:      018123 l2cap_proc_signal_connect_rsp:
+0x4ed5 018124 ifetch 1 ,contr 
+0x4ed6 018125 copy pdata ,queue 
+0x4ed7 018126 ifetch 2 ,contr 
+0x4ed8 018127 copy pdata ,rega 
+0x4ed9 018128 copy regc ,pdata 
+0x4eda 018129 isub rega ,regc 
+0x4edb 018130 ifetch 2 ,contr 
+0x4edc 018131 copy pdata ,timeup 
+0x4edd 018132 ifetch 2 ,contr 
+0x4ede 018133 copy pdata ,temp 
+0x4edf 018134 bpatchx patch22_1 ,mem_patch22 
+0x4ee0 018135 setarg l2cap_sdp_channel 
+0x4ee1 018136 isub temp ,null 
+0x4ee2 018137 branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+0x4ee3 018138 setarg l2cap_rfcomm_channel 
+0x4ee4 018139 isub temp ,null 
+0x4ee5 018140 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x4ee6 018141 setarg l2cap_hid_control_channel 
+0x4ee7 018142 isub temp ,null 
+0x4ee8 018143 branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x4ee9 018144 setarg l2cap_hid_interrupt_channel 
+0x4eea 018145 isub temp ,null 
+0x4eeb 018146 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x4eec 018147 rtn 
+:      018149 l2cap_proc_signal_connect_rsp_sdp:
+0x4eed 018150 copy timeup ,pdata 
+0x4eee 018151 store 2 ,mem_sdp_remote_cid 
+0x4eef 018152 fetch 1 ,mem_sdp_state 
+0x4ef0 018153 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ef1 018154 store 1 ,mem_sdp_state 
+0x4ef2 018155 branch l2cap_process_one_signal_rtn 
+:      018156 l2cap_proc_signal_connect_rsp_rfcomm:
+0x4ef3 018157 copy timeup ,pdata 
+0x4ef4 018158 store 2 ,mem_rfcomm_remote_cid 
+0x4ef5 018159 fetch 1 ,mem_rfcomm_state 
+0x4ef6 018160 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ef7 018161 store 1 ,mem_rfcomm_state 
+0x4ef8 018162 rtn 
+:      018163 l2cap_proc_signal_connect_rsp_hid_int:
+0x4ef9 018164 copy timeup ,pdata 
+0x4efa 018165 store 2 ,mem_hid_ctrl_remote_cid 
+0x4efb 018166 fetch 1 ,mem_hid_interrupt_state 
+0x4efc 018167 set1 l2cap_channel_state_conn_res ,pdata 
+0x4efd 018168 store 1 ,mem_hid_interrupt_state 
+0x4efe 018169 rtn 
+:      018170 l2cap_proc_signal_connect_rsp_hid_ctrl:
+0x4eff 018171 copy timeup ,pdata 
+0x4f00 018172 store 2 ,mem_hid_int_remote_cid 
+0x4f01 018173 fetch 1 ,mem_hid_control_state 
+0x4f02 018174 set1 l2cap_channel_state_conn_res ,pdata 
+0x4f03 018175 store 1 ,mem_hid_control_state 
+0x4f04 018176 rtn 
+:      018178 l2cap_proc_signal_config_req:
+0x4f05 018179 ifetch 1 ,contr 
+0x4f06 018180 copy pdata ,queue 
+0x4f07 018181 ifetch 2 ,contr 
+0x4f08 018182 copy pdata ,rega 
+0x4f09 018183 copy regc ,pdata 
+0x4f0a 018184 isub rega ,regc 
+0x4f0b 018185 ifetch 2 ,contr 
+0x4f0c 018186 copy pdata ,temp 
+0x4f0d 018187 copy temp ,rega 
+0x4f0e 018188 bpatchx patch22_2 ,mem_patch22 
+0x4f0f 018189 setarg l2cap_sdp_channel 
+0x4f10 018190 isub temp ,null 
+0x4f11 018191 branch l2cap_proc_signal_config_req_sdp ,zero 
+0x4f12 018192 setarg l2cap_rfcomm_channel 
+0x4f13 018193 isub temp ,null 
+0x4f14 018194 branch l2cap_proc_signal_config_req_rfcomm ,zero 
+0x4f15 018195 setarg l2cap_hid_control_channel 
+0x4f16 018196 isub temp ,null 
+0x4f17 018197 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x4f18 018198 setarg l2cap_hid_interrupt_channel 
+0x4f19 018199 isub temp ,null 
+0x4f1a 018200 branch l2cap_proc_signal_config_req_hid_int ,zero 
+0x4f1b 018201 branch l2cap_reject_command 
+:      018203 l2cap_proc_signal_config_req_sdp:
+0x4f1c 018204 copy contw ,timeup 
+0x4f1d 018205 fetch 1 ,mem_sdp_state 
+0x4f1e 018206 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f1f 018207 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f20 018209 store 1 ,mem_sdp_state 
+0x4f21 018210 copy timeup ,contw 
+0x4f22 018211 arg l2cap_sdp_channel ,timeup 
+0x4f23 018212 fetch 2 ,mem_sdp_remote_cid 
+0x4f24 018213 copy pdata ,temp 
+0x4f25 018214 branch l2cap_send_config_rsp 
+:      018215 l2cap_proc_signal_config_req_hid_ctrl:
+0x4f26 018216 copy contw ,timeup 
+0x4f27 018217 fetch 1 ,mem_hid_control_state 
+0x4f28 018218 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f29 018219 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f2a 018221 store 1 ,mem_hid_control_state 
+0x4f2b 018222 copy timeup ,contw 
+0x4f2c 018223 arg l2cap_hid_control_channel ,timeup 
+0x4f2d 018224 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4f2e 018225 copy pdata ,temp 
+0x4f2f 018226 branch l2cap_send_config_rsp 
+:      018227 l2cap_proc_signal_config_req_hid_int:
+0x4f30 018228 copy contw ,timeup 
+0x4f31 018229 fetch 1 ,mem_hid_interrupt_state 
+0x4f32 018230 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f33 018231 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f34 018233 store 1 ,mem_hid_interrupt_state 
+0x4f35 018234 copy timeup ,contw 
+0x4f36 018235 arg l2cap_hid_interrupt_channel ,timeup 
+0x4f37 018236 fetch 2 ,mem_hid_int_remote_cid 
+0x4f38 018237 copy pdata ,temp 
+0x4f39 018238 branch l2cap_send_config_rsp 
+:      018239 l2cap_proc_signal_config_req_rfcomm:
+0x4f3a 018240 copy contw ,timeup 
+0x4f3b 018241 fetch 1 ,mem_rfcomm_state 
+0x4f3c 018242 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f3d 018243 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f3e 018245 store 1 ,mem_rfcomm_state 
+0x4f3f 018247 copy timeup ,contw 
+0x4f40 018248 arg l2cap_rfcomm_channel ,timeup 
+0x4f41 018249 fetch 2 ,mem_rfcomm_remote_cid 
+0x4f42 018250 copy pdata ,temp 
+:      018251 l2cap_send_config_rsp:
+0x4f43 018252 bpatchx patch22_3 ,mem_patch22 
+0x4f44 018253 setarg signal_config_rsp 
+0x4f45 018254 istore 1 ,contw 
+0x4f46 018255 copy queue ,pdata 
+0x4f47 018256 istore 1 ,contw 
+0x4f48 018257 setarg 0x0006 
+0x4f49 018258 istore 2 ,contw 
+0x4f4a 018259 copy temp ,pdata 
+0x4f4b 018260 istore 2 ,contw 
+0x4f4c 018261 force 0x00 ,pdata 
+0x4f4d 018262 istore 2 ,contw 
+0x4f4e 018263 force l2cap_config_success ,pdata 
+0x4f4f 018264 istore 2 ,contw 
+0x4f50 018265 force 10 ,pdata 
+0x4f51 018266 iadd regb ,regb 
+0x4f52 018268 storet 2 ,mem_config_req_dest_cid 
+0x4f53 018269 copy queue ,pdata 
+0x4f54 018270 store 1 ,mem_config_identifier 
+0x4f55 018271 force l2cap_sdp_channel ,pdata 
+0x4f56 018272 icompare 0xff ,timeup 
+0x4f57 018273 branch l2cap_send_config_rsp_is_sdp ,true 
+0x4f58 018274 increase 1 ,pdata 
+:      018275 l2cap_send_config_rsp_is_sdp:
+0x4f59 018277 rtn 
+:      018278 l2cap_check_channel_state:
+0x4f5a 018279 disable user 
+0x4f5b 018280 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x4f5c 018281 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+0x4f5d 018282 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+0x4f5e 018283 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x4f5f 018284 copy contr ,contw 
+0x4f60 018285 increase -1 ,contw 
+0x4f61 018286 istore 1 ,contw 
+0x4f62 018287 enable user 
+0x4f63 018288 rtn 
+:      018289 l2cap_send_config_req:
+:      018290 l2cap_send_config_req_sdp:
+0x4f64 018291 fetch 1 ,mem_sdp_state 
+0x4f65 018292 call l2cap_check_channel_state 
+0x4f66 018293 nbranch l2cap_send_config_req_rfcomm ,user 
+0x4f67 018294 jam l2cap_sdp_channel ,mem_send_config_req 
+0x4f68 018295 fetch 2 ,mem_sdp_remote_cid 
+0x4f69 018296 store 2 ,mem_config_req_dest_cid 
+0x4f6a 018297 branch l2cap_generate_config_req 
+:      018298 l2cap_send_config_req_rfcomm:
+0x4f6b 018299 fetch 1 ,mem_rfcomm_state 
+0x4f6c 018300 call l2cap_check_channel_state 
+0x4f6d 018301 nbranch l2cap_send_config_req_hid_ctrl ,user 
+0x4f6e 018302 jam l2cap_rfcomm_channel ,mem_send_config_req 
+0x4f6f 018303 fetch 2 ,mem_rfcomm_remote_cid 
+0x4f70 018304 store 2 ,mem_config_req_dest_cid 
+0x4f71 018305 branch l2cap_generate_config_req 
+:      018306 l2cap_send_config_req_hid_ctrl:
+0x4f72 018307 fetch 1 ,mem_hid_control_state 
+0x4f73 018308 call l2cap_check_channel_state 
+0x4f74 018309 nbranch l2cap_send_config_req_hid_int ,user 
+0x4f75 018310 jam l2cap_hid_control_channel ,mem_send_config_req 
+0x4f76 018311 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4f77 018312 store 2 ,mem_config_req_dest_cid 
+0x4f78 018313 branch l2cap_generate_config_req 
+:      018314 l2cap_send_config_req_hid_int:
+0x4f79 018315 fetch 1 ,mem_hid_interrupt_state 
+0x4f7a 018316 call l2cap_check_channel_state 
+0x4f7b 018317 nrtn user 
+0x4f7c 018318 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+0x4f7d 018319 fetch 2 ,mem_hid_int_remote_cid 
+0x4f7e 018320 store 2 ,mem_config_req_dest_cid 
+:      018323 l2cap_generate_config_req:
+0x4f7f 018324 bpatchx patch22_4 ,mem_patch22 
+0x4f80 018325 call l2cap_get_req_id 
+0x4f81 018326 call l2cap_malloc_signal_channel 
+0x4f82 018327 force 0 ,regb 
+0x4f83 018328 call l2cap_get_signal_tx_payload 
+0x4f84 018329 force signal_config_req ,pdata 
+0x4f85 018330 istore 1 ,contw 
+0x4f86 018331 fetch 1 ,mem_ml2cap_comm_id 
+0x4f87 018332 istore 1 ,contw 
+0x4f88 018333 setarg 0x0008 
+0x4f89 018334 istore 2 ,contw 
+0x4f8a 018335 fetch 2 ,mem_config_req_dest_cid 
+0x4f8b 018336 istore 2 ,contw 
+0x4f8c 018337 setarg 0x0000 
+0x4f8d 018338 istore 2 ,contw 
+0x4f8e 018339 force 1 ,pdata 
+0x4f8f 018340 istore 1 ,contw 
+0x4f90 018341 force 2 ,pdata 
+0x4f91 018342 istore 1 ,contw 
+0x4f92 018343 fetch 1 ,mem_send_config_req 
+0x4f93 018344 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+0x4f94 018345 setarg l2cap_config_mtu_sdp 
+0x4f95 018346 istore 2 ,contw 
+0x4f96 018347 branch l2cap_generate_config_req_done 
+:      018348 l2cap_generate_config_req_rfcomm:
+0x4f97 018349 setarg l2cap_config_mtu_rfcomm 
+0x4f98 018350 istore 2 ,contw 
+:      018351 l2cap_generate_config_req_done:
+0x4f99 018352 arg 0x0c ,temp 
+0x4f9a 018353 storet 2 ,mem_l2cap_signal_tx_length 
+0x4f9b 018354 call l2cap_get_signal_tx_buff 
+0x4f9c 018355 fetch 2 ,mem_l2cap_signal_tx_length 
+0x4f9d 018356 istore 2 ,contw 
+0x4f9e 018357 force l2cap_signal_channel ,pdata 
+0x4f9f 018358 istore 2 ,contw 
+0x4fa0 018359 jam 0 ,mem_send_config_req 
+:      018360 l2cap_proc_signal_config_req_rtn:
+0x4fa1 018361 branch l2cap_process_one_signal_rtn 
+:      018363 l2cap_proc_signal_config_rsp:
+0x4fa2 018364 increase 1 ,contr 
+0x4fa3 018365 ifetch 2 ,contr 
+0x4fa4 018366 copy pdata ,rega 
+0x4fa5 018367 copy regc ,pdata 
+0x4fa6 018368 isub rega ,regc 
+0x4fa7 018369 ifetch 2 ,contr 
+0x4fa8 018370 copy pdata ,rega 
+0x4fa9 018371 bpatchx patch22_5 ,mem_patch22 
+0x4faa 018372 setarg l2cap_sdp_channel 
+0x4fab 018373 isub rega ,null 
+0x4fac 018374 branch l2cap_proc_signal_config_rsp_sdp ,zero 
+0x4fad 018375 setarg l2cap_rfcomm_channel 
+0x4fae 018376 isub rega ,null 
+0x4faf 018377 branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x4fb0 018378 setarg l2cap_hid_control_channel 
+0x4fb1 018379 isub rega ,null 
+0x4fb2 018380 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x4fb3 018381 setarg l2cap_hid_interrupt_channel 
+0x4fb4 018382 isub rega ,null 
+0x4fb5 018383 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+0x4fb6 018384 increase 2 ,contr 
+0x4fb7 018385 ifetch 2 ,contr 
+0x4fb8 018386 iforce null 
+0x4fb9 018387 branch l2cap_process_one_signal_rtn 
+:      018388 l2cap_proc_signal_config_rsp_sdp:
+0x4fba 018389 fetch 1 ,mem_sdp_state 
+0x4fbb 018390 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fbc 018391 store 1 ,mem_sdp_state 
+0x4fbd 018392 branch l2cap_process_one_signal_rtn 
+:      018393 l2cap_proc_signal_config_rsp_rfcomm:
+0x4fbe 018394 fetch 1 ,mem_rfcomm_state 
+0x4fbf 018395 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc0 018396 store 1 ,mem_rfcomm_state 
+0x4fc1 018397 branch l2cap_process_one_signal_rtn 
+:      018398 l2cap_proc_signal_config_rsp_hid_ctrl:
+0x4fc2 018399 fetch 1 ,mem_hid_control_state 
+0x4fc3 018400 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc4 018401 store 1 ,mem_hid_control_state 
+0x4fc5 018402 branch l2cap_process_one_signal_rtn 
+:      018403 l2cap_proc_signal_config_rsp_hid_int:
+0x4fc6 018404 fetch 1 ,mem_hid_interrupt_state 
+0x4fc7 018405 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc8 018406 store 1 ,mem_hid_interrupt_state 
+0x4fc9 018407 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x4fca 018408 branch ui_ipc_send_event 
+:      018412 l2cap_proc_signal_disconnect_req:
+0x4fcb 018413 ifetch 1 ,contr 
+0x4fcc 018414 copy pdata ,queue 
+0x4fcd 018415 ifetch 2 ,contr 
+0x4fce 018416 copy pdata ,rega 
+0x4fcf 018417 copy regc ,pdata 
+0x4fd0 018418 isub rega ,regc 
+0x4fd1 018419 ifetch 2 ,contr 
+0x4fd2 018420 copy pdata ,rega 
+0x4fd3 018421 ifetch 2 ,contr 
+0x4fd4 018422 copy pdata ,timeup 
+0x4fd5 018423 copy rega ,temp 
+0x4fd6 018424 call save_cont_pointers 
+0x4fd7 018425 bpatchx patch22_6 ,mem_patch22 
+0x4fd8 018426 setarg l2cap_sdp_channel 
+0x4fd9 018427 isub temp ,null 
+0x4fda 018428 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+0x4fdb 018429 setarg l2cap_rfcomm_channel 
+0x4fdc 018430 isub temp ,null 
+0x4fdd 018431 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+0x4fde 018432 setarg l2cap_hid_control_channel 
+0x4fdf 018433 isub temp ,null 
+0x4fe0 018434 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+0x4fe1 018435 setarg l2cap_hid_interrupt_channel 
+0x4fe2 018436 isub temp ,null 
+0x4fe3 018437 branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+0x4fe4 018438 call l2cap_reject_command 
+0x4fe5 018439 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      018440 l2cap_proc_signal_disconnect_req_hid_ctrl:
+0x4fe6 018441 copy timeup ,temp 
+0x4fe7 018442 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4fe8 018443 isub temp ,null 
+0x4fe9 018444 branch l2cap_disconnect_hid_control_now ,zero 
+0x4fea 018445 call l2cap_reject_command 
+0x4feb 018446 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      018447 l2cap_proc_signal_disconnect_req_hid_int:
+0x4fec 018448 copy timeup ,temp 
+0x4fed 018449 fetch 2 ,mem_hid_int_remote_cid 
+0x4fee 018450 isub temp ,null 
+0x4fef 018451 branch l2cap_disconnect_hid_interrupt_now ,zero 
+0x4ff0 018452 call l2cap_reject_command 
+0x4ff1 018453 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      018455 l2cap_proc_signal_disconnect_req_sdp:
+0x4ff2 018456 copy timeup ,temp 
+0x4ff3 018457 fetch 2 ,mem_sdp_remote_cid 
+0x4ff4 018458 isub temp ,null 
+0x4ff5 018459 branch l2cap_disconnect_sdp_now ,zero 
+0x4ff6 018460 call l2cap_reject_command 
+0x4ff7 018461 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      018462 l2cap_disconnect_hid_control_now:
+0x4ff8 018463 call l2cap_reset_hid_ctrl_state 
+0x4ff9 018464 branch l2cap_send_disconnect_rsp_pkt 
+:      018465 l2cap_disconnect_hid_interrupt_now:
+0x4ffa 018466 call l2cap_reset_hid_int_state 
+0x4ffb 018467 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4ffc 018468 branch l2cap_send_disconnect_rsp_pkt ,blank 
+0x4ffd 018476 branch l2cap_send_disconnect_rsp_pkt 
+:      018478 l2cap_disconnect_sdp_now:
+0x4ffe 018479 call l2cap_reset_sdp_channel_state 
+0x4fff 018480 fetch 1 ,mem_upper_sm_ss 
+0x5000 018481 nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+0x5001 018484 branch l2cap_send_disconnect_rsp_pkt 
+:      018485 l2cap_proc_signal_disconnect_req_rfcomm:
+0x5002 018486 copy timeup ,temp 
+0x5003 018487 fetch 2 ,mem_rfcomm_remote_cid 
+0x5004 018488 isub temp ,null 
+0x5005 018489 branch l2cap_disconnect_rfcomm_now ,zero 
+0x5006 018490 call l2cap_reject_command 
+0x5007 018491 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      018492 l2cap_disconnect_rfcomm_now:
+0x5008 018493 call l2cap_reset_rfcomm_channel_state 
+0x5009 018494 branch l2cap_send_disconnect_rsp_pkt 
+:      018495 l2cap_send_disconnect_rsp_pkt:
+0x500a 018496 call load_cont_pointers 
+0x500b 018497 setarg signal_disconnect_rsp 
+0x500c 018498 istore 1 ,contw 
+0x500d 018499 copy queue ,pdata 
+0x500e 018500 istore 1 ,contw 
+0x500f 018501 setarg 0x0004 
+0x5010 018502 istore 2 ,contw 
+0x5011 018503 copy rega ,pdata 
+0x5012 018504 istore 2 ,contw 
+0x5013 018505 copy timeup ,pdata 
+0x5014 018506 istore 2 ,contw 
+0x5015 018507 force 8 ,pdata 
+0x5016 018508 branch l2cap_proc_signal_disconnect_req_rtn 
+:      018509 l2cap_proc_signal_disconnect_req_err_rtn:
+0x5017 018510 call load_cont_pointers 
+0x5018 018511 branch l2cap_proc_signal_disconnect_req_rtn 
+:      018512 l2cap_proc_signal_disconnect_req_rtn:
+0x5019 018513 iadd regb ,regb 
+0x501a 018514 branch l2cap_process_one_signal_rtn 
+:      018515 l2cap_proc_signal_disconnect_rsp:
+0x501b 018516 ifetch 1 ,contr 
+0x501c 018517 copy pdata ,queue 
+0x501d 018518 ifetch 2 ,contr 
+0x501e 018519 copy pdata ,rega 
+0x501f 018520 copy regc ,pdata 
+0x5020 018521 isub rega ,regc 
+0x5021 018522 ifetch 2 ,contr 
+0x5022 018523 copy pdata ,timeup 
+0x5023 018524 ifetch 2 ,contr 
+0x5024 018525 copy pdata ,temp 
+0x5025 018526 call save_cont_pointers 
+0x5026 018527 bpatchx patch22_7 ,mem_patch22 
+0x5027 018528 setarg l2cap_sdp_channel 
+0x5028 018529 isub temp ,null 
+0x5029 018530 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+0x502a 018531 setarg l2cap_rfcomm_channel 
+0x502b 018532 isub temp ,null 
+0x502c 018533 branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+0x502d 018534 setarg l2cap_hid_control_channel 
+0x502e 018535 isub temp ,null 
+0x502f 018536 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+0x5030 018537 setarg l2cap_hid_interrupt_channel 
+0x5031 018538 isub temp ,null 
+0x5032 018539 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+0x5033 018540 call l2cap_reject_command 
+0x5034 018541 branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+:      018542 l2cap_proc_signal_disconnect_rsp_sdp:
+0x5035 018543 copy temp ,rega 
+0x5036 018544 copy timeup ,temp 
+0x5037 018545 fetch 2 ,mem_sdp_remote_cid 
+0x5038 018546 isub temp ,null 
+0x5039 018547 call l2cap_reset_sdp_channel_state ,zero 
+0x503a 018548 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      018549 l2cap_proc_signal_disconnect_rsp_rfcomm:
+0x503b 018550 copy temp ,rega 
+0x503c 018551 copy timeup ,temp 
+0x503d 018552 fetch 2 ,mem_rfcomm_remote_cid 
+0x503e 018553 isub temp ,null 
+0x503f 018554 call l2cap_reset_rfcomm_channel_state ,zero 
+0x5040 018555 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      018556 l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+0x5041 018557 copy temp ,rega 
+0x5042 018558 copy timeup ,temp 
+0x5043 018559 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5044 018560 isub temp ,null 
+0x5045 018561 call l2cap_reset_hid_ctrl_state ,zero 
+0x5046 018562 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      018563 l2cap_proc_signal_disconnect_rsp_hid_int:
+0x5047 018564 copy temp ,rega 
+0x5048 018565 copy timeup ,temp 
+0x5049 018566 fetch 2 ,mem_hid_int_remote_cid 
+0x504a 018567 isub temp ,null 
+0x504b 018568 call l2cap_reset_hid_int_state ,zero 
+0x504c 018569 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      018570 l2cap_proc_signal_disconnect_rsp_rtn:
+0x504d 018571 call load_cont_pointers 
+0x504e 018572 branch l2cap_process_one_signal_rtn 
+:      018573 l2cap_proc_signal_disconnect_rsp_err_rtn:
+0x504f 018574 branch l2cap_process_one_signal_rtn 
+:      018577 l2cap_proc_signal_echo_req:
+0x5050 018578 ifetch 1 ,contr 
+0x5051 018579 copy pdata ,queue 
+0x5052 018580 ifetch 2 ,contr 
+0x5053 018581 copy pdata ,rega 
+0x5054 018582 iadd contr ,contr 
+0x5055 018583 setarg 9 
+0x5056 018584 istore 1 ,contw 
+0x5057 018585 copy queue ,pdata 
+0x5058 018586 istore 1 ,contw 
+0x5059 018587 force 0x0000 ,pdata 
+0x505a 018588 istore 2 ,contw 
+0x505b 018589 force 4 ,pdata 
+0x505c 018590 iadd regb ,regb 
+0x505d 018591 copy regc ,pdata 
+0x505e 018592 isub rega ,regc 
+0x505f 018593 branch l2cap_process_one_signal_rtn 
+:      018594 l2cap_proc_signal_echo_rsp:
+0x5060 018595 branch l2cap_process_one_signal_rtn 
+:      018597 l2cap_proc_signal_info_rsp:
+0x5061 018598 branch l2cap_process_one_signal_rtn 
+:      018599 l2cap_reject_command:
+0x5062 018600 force 0 ,regb 
+0x5063 018601 call l2cap_get_signal_tx_payload 
+0x5064 018602 setarg signal_cmd_reject 
+0x5065 018603 istore 1 ,contw 
+0x5066 018604 copy queue ,pdata 
+0x5067 018605 istore 1 ,contw 
+0x5068 018606 setarg 2 
+0x5069 018607 istore 2 ,contw 
+0x506a 018608 setarg cmd_not_understood 
+0x506b 018609 istore 2 ,contw 
+0x506c 018610 increase 6 ,regb 
+0x506d 018611 arg 4 ,regc 
+0x506e 018612 branch l2cap_process_one_signal_rtn 
+:      018616 l2cap_reset_rfcomm_channel_state:
+0x506f 018617 setarg 0 
+0x5070 018618 store 2 ,mem_rfcomm_tx_pkt_length 
+0x5071 018619 store 2 ,mem_rfcomm_remote_cid 
+0x5072 018620 jam 0 ,mem_rfcomm_state 
+0x5073 018621 rtn 
+:      018622 l2cap_reset_sdp_channel_state:
+0x5074 018623 setarg 0 
+0x5075 018624 store 2 ,mem_sdp_tx_pkt_length 
+0x5076 018625 store 2 ,mem_sdp_remote_cid 
+0x5077 018626 jam 0 ,mem_sdp_state 
+0x5078 018627 rtn 
+:      018628 l2cap_reset_hid_ctrl_state:
+0x5079 018629 setarg 0 
+0x507a 018630 store 2 ,mem_hid_ctrl_remote_cid 
+0x507b 018631 jam 0 ,mem_hid_control_state 
+0x507c 018632 fetch 1 ,mem_hid_interrupt_state 
+0x507d 018633 beq 0 ,l2cap_reset_hid_disconnected 
+0x507e 018634 rtn 
+:      018636 l2cap_reset_hid_int_state:
+0x507f 018637 setarg 0 
+0x5080 018638 store 2 ,mem_hid_int_remote_cid 
+0x5081 018639 jam 0 ,mem_hid_interrupt_state 
+0x5082 018640 fetch 1 ,mem_hid_control_state 
+0x5083 018641 beq 0 ,l2cap_reset_hid_disconnected 
+0x5084 018642 rtn 
+:      018644 l2cap_reset_hid_disconnected:
+0x5085 018645 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+0x5086 018646 branch ui_ipc_send_event 
+:      018648 l2cap_disconnect_interrupt_req:
+0x5087 018649 fetch 1 ,mem_control_tasks 
+0x5088 018650 set0 l2cap_disconnect_interrupt ,pdata 
+0x5089 018651 store 1 ,mem_control_tasks 
+0x508a 018652 fetch 2 ,mem_hid_int_remote_cid 
+0x508b 018653 rtn blank 
+0x508c 018654 call l2cap_malloc_signal_channel 
+0x508d 018655 fetch 2 ,mem_hid_int_remote_cid 
+0x508e 018656 copy pdata ,rega 
+0x508f 018657 force l2cap_hid_interrupt_channel ,regb 
+0x5090 018658 branch l2cap_generate_disconnect_req 
+:      018659 l2cap_disconnect_control_req:
+0x5091 018660 fetch 1 ,mem_control_tasks 
+0x5092 018661 set0 l2cap_disconnect_control ,pdata 
+0x5093 018662 store 1 ,mem_control_tasks 
+0x5094 018663 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5095 018664 rtn blank 
+0x5096 018665 call l2cap_malloc_signal_channel 
+0x5097 018666 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5098 018667 copy pdata ,rega 
+0x5099 018668 force l2cap_hid_control_channel ,regb 
+:      018669 l2cap_generate_disconnect_req:
+0x509a 018670 call l2cap_get_req_id 
+0x509b 018671 call l2cap_get_signal_tx_payload 
+0x509c 018672 force signal_disconnect_req ,pdata 
+0x509d 018673 istore 1 ,contw 
+0x509e 018674 fetch 1 ,mem_ml2cap_comm_id 
+0x509f 018675 istore 1 ,contw 
+0x50a0 018676 setarg 0x0004 
+0x50a1 018677 istore 2 ,contw 
+0x50a2 018678 copy rega ,pdata 
+0x50a3 018679 istore 2 ,contw 
+0x50a4 018680 copy regb ,pdata 
+0x50a5 018681 istore 2 ,contw 
+0x50a6 018682 force 0x08 ,temp 
+0x50a7 018683 branch ml2cap_send_signal 
+:      018685 ml2cap_send_signal_connect_req:
+0x50a8 018686 bpatchx patch23_0 ,mem_patch23 
+0x50a9 018687 call l2cap_get_req_id 
+0x50aa 018688 call l2cap_get_signal_tx_payload 
+0x50ab 018689 setarg signal_connect_req 
+0x50ac 018690 istore 1 ,contw 
+0x50ad 018691 fetch 1 ,mem_ml2cap_comm_id 
+0x50ae 018692 istore 1 ,contw 
+0x50af 018693 setarg 0x0004 
+0x50b0 018694 istore 2 ,contw 
+0x50b1 018695 copy temp ,pdata 
+0x50b2 018696 istore 2 ,contw 
+0x50b3 018697 copy timeup ,pdata 
+0x50b4 018698 istore 2 ,contw 
+0x50b5 018699 arg 8 ,temp 
+0x50b6 018700 branch ml2cap_send_signal 
+:      018701 ml2cap_send_signal_config_req:
+0x50b7 018702 bpatchx patch23_1 ,mem_patch23 
+0x50b8 018703 call l2cap_get_req_id 
+0x50b9 018704 call l2cap_get_signal_tx_payload 
+0x50ba 018705 setarg signal_config_req 
+0x50bb 018706 istore 1 ,contw 
+0x50bc 018707 fetch 1 ,mem_ml2cap_comm_id 
+0x50bd 018708 istore 1 ,contw 
+0x50be 018709 setarg 0x0008 
+0x50bf 018710 istore 2 ,contw 
+0x50c0 018712 copy temp ,pdata 
+0x50c1 018714 istore 2 ,contw 
+0x50c2 018715 setarg 0x0000 
+0x50c3 018716 istore 2 ,contw 
+0x50c4 018717 setarg 0x01 
+0x50c5 018718 istore 1 ,contw 
+0x50c6 018719 setarg 0x02 
+0x50c7 018720 istore 1 ,contw 
+0x50c8 018721 setarg l2cap_config_mtu_rfcomm 
+0x50c9 018722 istore 2 ,contw 
+0x50ca 018723 arg 0xc ,temp 
+0x50cb 018724 branch ml2cap_send_signal 
+:      018725 ml2cap_send_signal_disconn_req:
+0x50cc 018726 bpatchx patch23_2 ,mem_patch23 
+0x50cd 018727 call l2cap_get_req_id 
+0x50ce 018728 call l2cap_get_signal_tx_payload 
+0x50cf 018729 setarg signal_disconnect_req 
+0x50d0 018730 istore 1 ,contw 
+0x50d1 018731 fetch 1 ,mem_ml2cap_comm_id 
+0x50d2 018732 increase 1 ,pdata 
+0x50d3 018733 copy contw ,rega 
+0x50d4 018734 store 1 ,mem_ml2cap_comm_id 
+0x50d5 018735 copy rega ,contw 
+0x50d6 018736 istore 1 ,contw 
+0x50d7 018737 setarg 0x0004 
+0x50d8 018738 istore 2 ,contw 
+0x50d9 018739 copy temp ,pdata 
+0x50da 018740 istore 2 ,contw 
+0x50db 018741 copy timeup ,pdata 
+0x50dc 018742 istore 2 ,contw 
+0x50dd 018743 arg 0x8 ,temp 
+:      018746 ml2cap_send_signal:
+0x50de 018747 storet 2 ,mem_l2cap_signal_tx_length 
+0x50df 018748 copy temp ,pdata 
+0x50e0 018749 branch l2cap_malloc_discard ,blank 
+0x50e1 018750 call l2cap_get_signal_tx_buff 
+0x50e2 018751 fetch 2 ,mem_l2cap_signal_tx_length 
+0x50e3 018752 istore 2 ,contw 
+0x50e4 018753 force l2cap_signal_channel ,pdata 
+0x50e5 018754 istore 2 ,contw 
+0x50e6 018755 rtn 
+:      018757 msdp_send_req_done:
+0x50e7 018758 fetch 2 ,mem_sdp_tx_pkt_length 
+0x50e8 018759 branch assert ,blank 
+0x50e9 018760 call l2cap_get_sdp_tx_buff 
+0x50ea 018761 fetch 2 ,mem_sdp_tx_pkt_length 
+0x50eb 018762 istore 2 ,contw 
+0x50ec 018763 fetch 2 ,mem_sdp_remote_cid 
+0x50ed 018764 istore 2 ,contw 
+0x50ee 018765 rtn 
+:      018766 ml2cap_rx_multiplexing:
+0x50ef 018767 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x50f0 018768 branch l2cap_rx_reset_state ,blank 
+0x50f1 018769 bpatchx patch23_3 ,mem_patch23 
+0x50f2 018770 fetch 1 ,mem_l2cap_rx_cid 
+0x50f3 018771 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+0x50f4 018772 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+0x50f5 018773 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x50f6 018774 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x50f7 018775 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x50f8 018776 branch l2cap_rx_reset_state 
+:      018778 ml2cap_call_proc_signal:
+0x50f9 018779 bpatchx patch23_4 ,mem_patch23 
+0x50fa 018780 call l2cap_malloc_signal_channel 
+0x50fb 018781 force 0 ,regb 
+0x50fc 018782 call l2cap_get_signal_tx_payload 
+0x50fd 018783 copy pdata ,contw 
+0x50fe 018784 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x50ff 018785 copy pdata ,regc 
+0x5100 018786 fetch 2 ,mem_l2cap_payload_ptr 
+0x5101 018787 iforce contr 
+:      018788 ml2cap_proc_one_comm_loop:
+0x5102 018789 call ml2cap_proc_one_comm 
+0x5103 018790 increase -4 ,regc 
+0x5104 018791 nbranch ml2cap_proc_one_comm_loop ,zero 
+0x5105 018792 copy regb ,temp 
+0x5106 018793 call ml2cap_send_signal 
+0x5107 018794 branch l2cap_rx_reset_state 
+:      018796 ml2cap_proc_one_comm:
+0x5108 018797 ifetch 1 ,contr 
+0x5109 018798 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+0x510a 018799 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+0x510b 018800 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+0x510c 018801 beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+0x510d 018802 beq signal_config_req ,ml2cap_proc_signal_config_req 
+0x510e 018803 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+0x510f 018804 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+0x5110 018805 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x5111 018806 beq signal_info_req ,ml2cap_proc_signal_info_req 
+0x5112 018807 branch ml2cap_proc_send_reject 
+:      018809 ml2cap_proc_signal_connect_req:
+0x5113 018810 call save_cont_pointers 
+0x5114 018812 call load_cont_pointers 
+0x5115 018813 branch l2cap_proc_signal_connect_req 
+:      018814 ml2cap_proc_signal_cmd_reject:
+0x5116 018815 ifetch 1 ,contr 
+0x5117 018816 copy pdata ,queue 
+0x5118 018817 ifetch 2 ,contr 
+0x5119 018818 copy pdata ,rega 
+0x511a 018819 copy regc ,pdata 
+0x511b 018820 isub rega ,regc 
+:      018821 mvptr:
+0x511c 018822 ifetch 1 ,contr 
+0x511d 018823 increase -1 ,rega 
+0x511e 018824 nbranch mvptr ,zero 
+0x511f 018825 rtn 
+:      018826 ml2cap_proc_signal_connect_rsp:
+0x5120 018827 ifetch 1 ,contr 
+0x5121 018828 copy pdata ,queue 
+0x5122 018829 ifetch 2 ,contr 
+0x5123 018830 copy pdata ,rega 
+0x5124 018831 ifetch 2 ,contr 
+0x5125 018832 copy pdata ,timeup 
+0x5126 018833 ifetch 2 ,contr 
+0x5127 018834 copy pdata ,temp 
+0x5128 018835 ifetch 2 ,contr 
+0x5129 018836 sub pdata ,0 ,null 
+0x512a 018837 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+0x512b 018838 beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+0x512c 018839 beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+0x512d 018840 branch ml2cap_proc_signal_connect_rsp_mnosucc 
+:      018841 ml2cap_proc_signal_connect_refused_result:
+0x512e 018842 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+0x512f 018843 call ui_ipc_send_event 
+:      018844 ml2cap_proc_signal_connect_rsp_mnosucc:
+0x5130 018845 ifetch 2 ,contr 
+0x5131 018846 branch mnosucc 
+:      018847 ml2cap_proc_signal_connect_rsp_sucessful:
+0x5132 018848 call save_cont_pointers 
+0x5133 018852 bpatchx patch23_5 ,mem_patch23 
+0x5134 018853 setarg l2cap_sdp_channel 
+0x5135 018854 isub temp ,null 
+0x5136 018855 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+0x5137 018856 setarg l2cap_rfcomm_channel 
+0x5138 018857 isub temp ,null 
+0x5139 018858 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x513a 018859 setarg l2cap_hid_interrupt_channel 
+0x513b 018860 isub temp ,null 
+0x513c 018861 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x513d 018862 setarg l2cap_hid_control_channel 
+0x513e 018863 isub temp ,null 
+0x513f 018864 branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x5140 018865 branch mnosucc 
+:      018866 ml2cap_proc_signal_connect_rsp_sdp:
+0x5141 018867 copy timeup ,pdata 
+0x5142 018868 store 2 ,mem_sdp_remote_cid 
+0x5143 018869 fetch 1 ,mem_sdp_state 
+0x5144 018870 set1 l2cap_channel_state_conn_res 
+0x5145 018871 store 1 ,mem_sdp_state 
+0x5146 018872 branch mnosucc1 
+:      018873 ml2cap_proc_signal_connect_rsp_rfcomm:
+0x5147 018874 copy timeup ,pdata 
+0x5148 018875 store 2 ,mem_rfcomm_remote_cid 
+0x5149 018876 fetch 1 ,mem_rfcomm_state 
+0x514a 018877 set1 l2cap_channel_state_conn_res 
+0x514b 018878 store 1 ,mem_rfcomm_state 
+0x514c 018879 branch mnosucc1 
+:      018880 ml2cap_proc_signal_connect_rsp_hid_ctrl:
+0x514d 018881 copy timeup ,pdata 
+0x514e 018882 store 2 ,mem_hid_ctrl_remote_cid 
+0x514f 018883 fetch 1 ,mem_hid_control_state 
+0x5150 018884 set1 l2cap_channel_state_conn_res 
+0x5151 018885 store 1 ,mem_hid_control_state 
+0x5152 018886 branch mnosucc1 
+:      018887 ml2cap_proc_signal_connect_rsp_hid_int:
+0x5153 018888 copy timeup ,pdata 
+0x5154 018889 store 2 ,mem_hid_int_remote_cid 
+0x5155 018890 fetch 1 ,mem_hid_interrupt_state 
+0x5156 018891 set1 l2cap_channel_state_conn_res 
+0x5157 018892 store 1 ,mem_hid_interrupt_state 
+:      018895 mnosucc1:
+0x5158 018896 call load_cont_pointers 
+:      018897 mnosucc:
+0x5159 018898 copy regc ,pdata 
+0x515a 018899 isub rega ,regc 
+0x515b 018900 rtn 
+:      018902 ml2cap_proc_signal_config_rsp:
+0x515c 018903 ifetch 1 ,contr 
+0x515d 018904 copy pdata ,queue 
+0x515e 018905 ifetch 2 ,contr 
+0x515f 018906 copy pdata ,rega 
+0x5160 018907 copy regc ,pdata 
+0x5161 018908 isub rega ,regc 
+0x5162 018909 ifetch 2 ,contr 
+0x5163 018910 copy pdata ,timeup 
+0x5164 018911 ifetch 2 ,contr 
+0x5165 018912 ifetch 2 ,contr 
+0x5166 018913 nbranch mcrsdone1 ,blank 
+0x5167 018914 call save_cont_pointers 
+0x5168 018918 copy timeup ,temp 
+0x5169 018919 bpatchx patch23_6 ,mem_patch23 
+0x516a 018920 setarg l2cap_sdp_channel 
+0x516b 018921 isub temp ,null 
+0x516c 018922 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+0x516d 018923 setarg l2cap_rfcomm_channel 
+0x516e 018924 isub temp ,null 
+0x516f 018925 branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x5170 018926 setarg l2cap_hid_control_channel 
+0x5171 018927 isub temp ,null 
+0x5172 018928 branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x5173 018929 setarg l2cap_hid_interrupt_channel 
+0x5174 018930 isub temp ,null 
+0x5175 018931 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+:      018932 ml2cap_proc_signal_config_rsp_sdp:
+0x5176 018933 fetch 1 ,mem_sdp_state 
+0x5177 018934 set1 l2cap_channel_state_rcv_cfg_res 
+0x5178 018935 store 1 ,mem_sdp_state 
+0x5179 018936 rtn 
+:      018937 ml2cap_proc_signal_config_rsp_rfcomm:
+0x517a 018938 fetch 1 ,mem_rfcomm_state 
+0x517b 018939 set1 l2cap_channel_state_rcv_cfg_res 
+0x517c 018940 store 1 ,mem_rfcomm_state 
+0x517d 018941 rtn 
+:      018942 ml2cap_proc_signal_config_rsp_hid_ctrl:
+0x517e 018943 fetch 1 ,mem_hid_control_state 
+0x517f 018944 set1 l2cap_channel_state_rcv_cfg_res 
+0x5180 018945 store 1 ,mem_hid_control_state 
+0x5181 018946 rtn 
+:      018947 ml2cap_proc_signal_config_rsp_hid_int:
+0x5182 018948 fetch 1 ,mem_hid_interrupt_state 
+0x5183 018949 set1 l2cap_channel_state_rcv_cfg_res 
+0x5184 018950 store 1 ,mem_hid_interrupt_state 
+0x5185 018951 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x5186 018952 branch ui_ipc_send_event 
+:      018955 mcfrsdone:
+0x5187 018956 call load_cont_pointers 
+:      018957 mcrsdone1:
+0x5188 018958 increase -6 ,rega 
+:      018959 mloop2:
+0x5189 018960 branch mcrsdone ,zero 
+0x518a 018961 increase 1 ,contr 
+0x518b 018962 increase -1 ,rega 
+0x518c 018963 branch mloop2 
+:      018964 mcrsdone:
+0x518d 018965 rtn 
+:      018966 ml2cap_proc_signal_config_req:
+0x518e 018967 ifetch 1 ,contr 
+0x518f 018968 copy pdata ,queue 
+0x5190 018969 ifetch 2 ,contr 
+0x5191 018970 copy pdata ,rega 
+0x5192 018971 copy regc ,pdata 
+0x5193 018972 isub rega ,regc 
+0x5194 018973 ifetch 2 ,contr 
+0x5195 018974 increase 2 ,contr 
+0x5196 018975 copy pdata ,temp 
+0x5197 018976 setarg signal_config_rsp 
+0x5198 018977 istore 1 ,contw 
+0x5199 018978 copy queue ,pdata 
+0x519a 018979 istore 1 ,contw 
+0x519b 018980 increase 2 ,rega 
+0x519c 018981 copy rega ,pdata 
+0x519d 018982 istore 2 ,contw 
+0x519e 018983 call save_cont_pointers 
+0x519f 018984 bpatchx patch23_7 ,mem_patch23 
+0x51a0 018985 setarg l2cap_sdp_channel 
+0x51a1 018986 isub temp ,null 
+0x51a2 018987 branch ml2cap_proc_signal_config_req_sdp ,zero 
+0x51a3 018988 setarg l2cap_rfcomm_channel 
+0x51a4 018989 isub temp ,null 
+0x51a5 018990 branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+0x51a6 018991 setarg l2cap_hid_control_channel 
+0x51a7 018992 isub temp ,null 
+0x51a8 018993 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x51a9 018994 setarg l2cap_hid_interrupt_channel 
+0x51aa 018995 isub temp ,null 
+0x51ab 018996 branch ml2cap_proc_signal_config_req_hid_int ,zero 
+0x51ac 018997 branch mcfgrq_done 
+:      018998 ml2cap_proc_signal_config_req_sdp:
+0x51ad 018999 fetch 1 ,mem_sdp_state 
+0x51ae 019000 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51af 019001 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51b0 019002 store 1 ,mem_sdp_state 
+0x51b1 019003 bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+0x51b2 019004 fetcht 1 ,mem_control_tasks 
+0x51b3 019005 set1 l2cap_init_config_req ,temp 
+0x51b4 019006 storet 1 ,mem_control_tasks 
+0x51b5 019007 copy queue ,pdata 
+0x51b6 019008 increase 1 ,pdata 
+0x51b7 019009 store 1 ,mem_config_identifier 
+0x51b8 019010 fetch 1 ,mem_sdp_state 
+0x51b9 019011 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x51ba 019012 store 1 ,mem_sdp_state 
+:      019013 ml2cap_proc_signal_config_req_sdp_nsndreq:
+0x51bb 019014 fetch 2 ,mem_sdp_remote_cid 
+0x51bc 019015 store 2 ,mem_config_req_dest_cid 
+0x51bd 019016 branch mcfgrq_done 
+:      019017 ml2cap_proc_signal_config_req_rfcomm:
+0x51be 019018 fetch 1 ,mem_rfcomm_state 
+0x51bf 019019 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51c0 019020 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51c1 019021 store 1 ,mem_rfcomm_state 
+0x51c2 019022 fetch 2 ,mem_rfcomm_remote_cid 
+0x51c3 019023 branch mcfgrq_done 
+:      019024 ml2cap_proc_signal_config_req_hid_ctrl:
+0x51c4 019025 fetch 1 ,mem_hid_control_state 
+0x51c5 019026 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51c6 019027 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51c7 019028 store 1 ,mem_hid_control_state 
+0x51c8 019029 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x51c9 019030 branch mcfgrq_done 
+:      019031 ml2cap_proc_signal_config_req_hid_int:
+0x51ca 019032 fetch 1 ,mem_hid_interrupt_state 
+0x51cb 019033 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51cc 019034 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51cd 019035 store 1 ,mem_hid_interrupt_state 
+0x51ce 019036 fetch 2 ,mem_hid_int_remote_cid 
+:      019039 mcfgrq_done:
+0x51cf 019040 copy pdata ,timeup 
+0x51d0 019041 call load_cont_pointers 
+0x51d1 019043 copy timeup ,pdata 
+0x51d2 019045 istore 2 ,contw 
+0x51d3 019046 force 0x0000 ,pdata 
+0x51d4 019047 istore 2 ,contw 
+0x51d5 019048 force 0x0000 ,pdata 
+0x51d6 019049 istore 2 ,contw 
+0x51d7 019050 force 10 ,pdata 
+0x51d8 019051 iadd regb ,regb 
+0x51d9 019052 increase -6 ,rega 
+:      019053 mloop1:
+0x51da 019054 branch mcrqdone ,zero 
+0x51db 019055 ifetch 1 ,contr 
+0x51dc 019056 istore 1 ,contw 
+0x51dd 019057 increase 1 ,regb 
+0x51de 019058 increase -1 ,rega 
+0x51df 019059 branch mloop1 
+:      019060 mcrqdone:
+0x51e0 019061 rtn 
+:      019062 ml2cap_proc_signal_disconn_req:
+0x51e1 019063 ifetch 1 ,contr 
+0x51e2 019064 copy pdata ,queue 
+0x51e3 019065 ifetch 2 ,contr 
+0x51e4 019066 copy pdata ,rega 
+0x51e5 019067 copy regc ,pdata 
+0x51e6 019068 isub rega ,regc 
+0x51e7 019070 ifetch 2 ,contr 
+0x51e8 019071 copy pdata ,rega 
+0x51e9 019072 ifetch 2 ,contr 
+0x51ea 019073 copy pdata ,timeup 
+0x51eb 019074 call save_cont_pointers 
+0x51ec 019075 bpatchx patch24_0 ,mem_patch24 
+0x51ed 019076 setarg l2cap_sdp_channel 
+0x51ee 019077 copy rega ,temp 
+0x51ef 019078 isub temp ,null 
+0x51f0 019079 branch ml2cap_proc_signal_disconn_sdp ,zero 
+0x51f1 019080 setarg l2cap_hid_control_channel 
+0x51f2 019081 copy rega ,temp 
+0x51f3 019082 isub temp ,null 
+0x51f4 019083 branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+0x51f5 019084 setarg l2cap_hid_interrupt_channel 
+0x51f6 019085 copy rega ,temp 
+0x51f7 019086 isub temp ,null 
+0x51f8 019087 branch ml2cap_proc_signal_disconn_hid_int ,zero 
+0x51f9 019088 branch mclsrfc 
+:      019089 ml2cap_proc_signal_disconn_sdp:
+0x51fa 019090 setarg 0x0000 
+0x51fb 019091 store 2 ,mem_sdp_tx_pkt_length 
+0x51fc 019092 store 2 ,mem_sdp_remote_cid 
+0x51fd 019093 store 1 ,mem_sdp_state 
+0x51fe 019094 branch mclssdp 
+:      019095 ml2cap_proc_signal_disconn_hid_ctrl:
+0x51ff 019096 call l2cap_reset_hid_ctrl_state 
+0x5200 019097 branch mclssdp 
+:      019098 ml2cap_proc_signal_disconn_hid_int:
+0x5201 019099 call l2cap_reset_hid_int_state 
+0x5202 019105 branch mclssdp 
+:      019106 mclsrfc:
+0x5203 019107 setarg 0x0000 
+0x5204 019108 store 2 ,mem_rfcomm_tx_pkt_length 
+:      019109 mclssdp:
+0x5205 019110 call load_cont_pointers 
+0x5206 019111 setarg signal_disconnect_rsp 
+0x5207 019112 istore 1 ,contw 
+0x5208 019113 copy queue ,pdata 
+0x5209 019114 istore 1 ,contw 
+0x520a 019115 setarg 0x0004 
+0x520b 019116 istore 2 ,contw 
+0x520c 019117 copy rega ,pdata 
+0x520d 019118 istore 2 ,contw 
+0x520e 019119 copy timeup ,pdata 
+0x520f 019120 istore 2 ,contw 
+0x5210 019121 force 8 ,pdata 
+0x5211 019122 iadd regb ,regb 
+0x5212 019123 rtn 
+:      019125 ml2cap_proc_signal_disconn_rsp:
+0x5213 019126 ifetch 1 ,contr 
+0x5214 019127 copy pdata ,queue 
+0x5215 019128 ifetch 2 ,contr 
+0x5216 019129 copy pdata ,rega 
+0x5217 019130 ifetch 2 ,contr 
+0x5218 019131 copy pdata ,timeup 
+0x5219 019132 ifetch 2 ,contr 
+0x521a 019133 copy pdata ,temp 
+0x521b 019134 call save_cont_pointers 
+0x521c 019135 bpatchx patch24_1 ,mem_patch24 
+0x521d 019136 fetch 1 ,mem_ml2cap_comm_id 
+0x521e 019137 icompare 0xff ,queue 
+0x521f 019138 nbranch mdisdone ,true 
+0x5220 019139 setarg l2cap_sdp_channel 
+0x5221 019140 isub temp ,null 
+0x5222 019141 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+0x5223 019142 setarg l2cap_rfcomm_channel 
+0x5224 019143 isub temp ,null 
+0x5225 019144 branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+0x5226 019145 branch mdisdone 
+:      019146 ml2cap_proc_signal_disconn_rsp_sdp:
+0x5227 019147 jam 0 ,mem_sdp_remote_cid 
+0x5228 019148 jam 0 ,mem_sdp_state 
+0x5229 019149 branch mdisdone 
+:      019150 ml2cap_proc_signal_disconn_rsp_rfcomm:
+:      019153 mdisdone:
+0x522a 019154 call load_cont_pointers 
+0x522b 019155 copy regc ,pdata 
+0x522c 019156 isub rega ,regc 
+0x522d 019157 rtn 
+:      019159 ml2cap_proc_send_reject:
+0x522e 019160 setarg signal_cmd_reject 
+0x522f 019161 istore 1 ,contw 
+0x5230 019162 ifetch 1 ,contr 
+0x5231 019163 istore 1 ,contw 
+0x5232 019164 setarg 0x0002 
+0x5233 019165 istore 2 ,contw 
+0x5234 019166 setarg 0x0000 
+0x5235 019167 istore 2 ,contw 
+0x5236 019168 setarg 0x0006 
+0x5237 019169 iadd regb ,regb 
+0x5238 019170 force 4 ,regc 
+0x5239 019171 rtn 
+:      019174 l2cap_get_req_id:
+0x523a 019175 fetch 1 ,mem_ml2cap_comm_id 
+0x523b 019176 increase 1 ,pdata 
+0x523c 019177 bne 0 ,l2cap_get_req_id_ok 
+0x523d 019178 increase 1 ,pdata 
+:      019179 l2cap_get_req_id_ok:
+0x523e 019180 store 1 ,mem_ml2cap_comm_id 
+0x523f 019181 rtn 
+:      019191 l2cap_malloc:
+0x5240 019192 bpatchx patch24_2 ,mem_patch24 
+0x5241 019193 arg 0 ,regb 
+0x5242 019194 call l2cap_malloc_is_fifo_full 
+0x5243 019195 nbranch assert ,blank 
+0x5244 019196 call l2cap_malloc_get_full_map 
+0x5245 019197 arg mem_tx_buff0 ,regb 
+0x5246 019198 arg 0 ,queue 
+:      019199 l2cap_malloc_loop:
+0x5247 019200 fetcht 1 ,mem_used_map 
+0x5248 019201 qisolate1 temp 
+0x5249 019202 branch l2cap_malloc_next ,true 
+0x524a 019203 call l2cap_malloc_enough 
+0x524b 019204 sub timeup ,0 ,null 
+0x524c 019205 branch l2cap_malloc_next ,positive 
+0x524d 019206 call l2cap_malloc_into_fifo 
+0x524e 019207 branch l2cap_malloc_rtn 
+:      019208 l2cap_malloc_next:
+0x524f 019209 increase 128 ,regb 
+0x5250 019210 increase 1 ,queue 
+0x5251 019211 setarg 8 
+0x5252 019212 isub queue ,null 
+0x5253 019213 branch l2cap_malloc_loop ,positive 
+0x5254 019214 arg 0 ,regb 
+:      019215 l2cap_malloc_rtn:
+0x5255 019216 copy regb ,pdata 
+0x5256 019217 branch assert ,blank 
+0x5257 019218 rtn 
+:      019226 l2cap_malloc_fifo_out:
+0x5258 019227 bpatchx patch24_3 ,mem_patch24 
+0x5259 019228 call l2cap_malloc_fifo_get_first_ptr 
+0x525a 019229 increase 1 ,contr 
+0x525b 019230 ifetch 2 ,contr 
+0x525c 019231 rtn 
+:      019237 l2cap_malloc_free:
+0x525d 019238 bpatchx patch24_4 ,mem_patch24 
+0x525e 019239 call l2cap_malloc_fifo_get_first_ptr 
+0x525f 019240 copy contr ,contw 
+0x5260 019241 copy contr ,temp 
+0x5261 019242 setarg 0 
+0x5262 019243 istore 3 ,contw 
+0x5263 019244 rtn 
+:      019249 l2cap_malloc_discard:
+0x5264 019250 bpatchx patch24_5 ,mem_patch24 
+0x5265 019251 call l2cap_malloc_is_fifo_empty 
+0x5266 019252 branch assert ,blank 
+0x5267 019253 fetch 3 ,mem_tx_fifo2 
+0x5268 019254 store 3 ,mem_tx_fifo3 
+0x5269 019255 fetch 3 ,mem_tx_fifo1 
+0x526a 019256 store 3 ,mem_tx_fifo2 
+0x526b 019257 fetch 3 ,mem_tx_fifo0 
+0x526c 019258 store 3 ,mem_tx_fifo1 
+0x526d 019259 rtn 
+:      019265 l2cap_malloc_is_fifo_full:
+0x526e 019266 bpatchx patch24_6 ,mem_patch24 
+0x526f 019267 fetch 3 ,mem_tx_fifo0 
+0x5270 019268 rtn 
+:      019274 l2cap_malloc_is_fifo_nearly_full:
+0x5271 019275 bpatchx patch24_7 ,mem_patch24 
+0x5272 019276 fetch 3 ,mem_tx_fifo1 
+0x5273 019277 rtn 
+:      019283 l2cap_malloc_is_fifo_empty:
+0x5274 019284 bpatchx patch25_0 ,mem_patch25 
+0x5275 019285 fetch 3 ,mem_tx_fifo3 
+0x5276 019286 rtn 
+:      019291 l2cap_malloc_fifo_get_first_ptr:
+0x5277 019292 call l2cap_malloc_is_fifo_empty 
+0x5278 019293 branch assert ,blank 
+0x5279 019294 arg mem_tx_fifo0 ,contr 
+:      019295 l2cap_malloc_free_loop:
+0x527a 019296 ifetch 3 ,contr 
+0x527b 019297 branch l2cap_malloc_free_loop ,blank 
+0x527c 019298 increase -3 ,contr 
+0x527d 019299 rtn 
+:      019306 l2cap_malloc_get_full_map:
+0x527e 019307 bpatchx patch25_1 ,mem_patch25 
+0x527f 019308 arg 4 ,loopcnt 
+0x5280 019309 arg mem_tx_fifo0_map ,contr 
+0x5281 019310 arg 0 ,temp 
+:      019311 l2cap_malloc_get_full_map_loop:
+0x5282 019312 ifetch 3 ,contr 
+0x5283 019313 and pdata ,0xff ,pdata 
+0x5284 019314 ior temp ,temp 
+0x5285 019315 loop l2cap_malloc_get_full_map_loop 
+0x5286 019316 storet 1 ,mem_used_map 
+0x5287 019317 rtn 
+:      019325 l2cap_malloc_into_fifo:
+0x5288 019326 bpatchx patch25_2 ,mem_patch25 
+0x5289 019327 call l2cap_malloc_is_fifo_full 
+0x528a 019328 nbranch assert ,blank 
+0x528b 019329 call l2cap_malloc_is_fifo_empty 
+0x528c 019330 branch l2cap_malloc_into_fifo_no_push ,blank 
+0x528d 019331 fetch 3 ,mem_tx_fifo1 
+0x528e 019332 store 3 ,mem_tx_fifo0 
+0x528f 019333 ifetch 3 ,contr 
+0x5290 019334 istore 3 ,contw 
+0x5291 019335 ifetch 3 ,contr 
+0x5292 019336 istore 3 ,contw 
+0x5293 019337 setarg 0 
+0x5294 019338 istore 3 ,contw 
+:      019339 l2cap_malloc_into_fifo_no_push:
+0x5295 019340 arg 0 ,temp 
+0x5296 019341 copy timeup ,pdata 
+0x5297 019342 iadd queue ,pdata 
+:      019343 l2cap_malloc_into_fifo_loop:
+0x5298 019344 qset1 temp 
+0x5299 019345 increase 1 ,queue 
+0x529a 019346 isub queue ,null 
+0x529b 019347 nbranch l2cap_malloc_into_fifo_loop ,zero 
+0x529c 019349 lshift8 regb ,pdata 
+0x529d 019350 ior temp ,pdata 
+0x529e 019351 store 3 ,mem_tx_fifo3 
+0x529f 019352 rtn 
+:      019362 l2cap_malloc_enough:
+0x52a0 019363 bpatchx patch25_3 ,mem_patch25 
+0x52a1 019364 call l2cap_malloc_get_full_map 
+0x52a2 019365 copy queue ,regc 
+0x52a3 019366 arg 0 ,temp 
+0x52a4 019367 arg 0 ,timeup 
+:      019369 l2cap_malloc_enough_loop:
+0x52a5 019370 copy queue ,pdata 
+0x52a6 019371 beq 8 ,l2cap_malloc_enough_end 
+0x52a7 019372 fetch 1 ,mem_used_map 
+0x52a8 019373 qisolate1 pdata 
+0x52a9 019374 branch l2cap_malloc_enough_end ,true 
+0x52aa 019375 increase 128 ,temp 
+0x52ab 019376 increase 1 ,queue 
+0x52ac 019377 copy rega ,pdata 
+0x52ad 019378 isub temp ,null 
+0x52ae 019379 branch l2cap_malloc_enough_end ,zero 
+0x52af 019380 branch l2cap_malloc_enough_loop ,positive 
+:      019381 l2cap_malloc_enough_end:
+0x52b0 019382 copy temp ,pdata 
+0x52b1 019383 isub rega ,null 
+0x52b2 019384 nbranch l2cap_malloc_enough_rtn ,positive 
+0x52b3 019385 copy queue ,pdata 
+0x52b4 019386 copy regc ,temp 
+0x52b5 019387 isub temp ,timeup 
+:      019388 l2cap_malloc_enough_rtn:
+0x52b6 019389 copy regc ,queue 
+0x52b7 019390 rtn 
+:      019393 l2cap_malloc_signal_channel:
+0x52b8 019394 bpatchx patch25_4 ,mem_patch25 
+0x52b9 019395 arg l2cap_signal_malloc_size ,rega 
+0x52ba 019396 call l2cap_malloc 
+0x52bb 019397 store 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x52bc 019398 increase 4 ,pdata 
+0x52bd 019399 store 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x52be 019400 setarg 0 
+0x52bf 019401 store 2 ,mem_l2cap_signal_tx_length 
+0x52c0 019402 rtn 
+:      019404 l2cap_get_signal_tx_buff:
+0x52c1 019405 fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x52c2 019406 branch l2cap_util_pdata_to_contw 
+:      019408 l2cap_get_signal_tx_payload:
+0x52c3 019409 fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x52c4 019410 branch l2cap_util_pdata_to_contw 
+:      019413 l2cap_malloc_sdp_channel:
+0x52c5 019414 bpatchx patch25_5 ,mem_patch25 
+0x52c6 019415 arg sdp_malloc_size ,rega 
+0x52c7 019416 call l2cap_malloc 
+0x52c8 019417 store 2 ,mem_sdp_tx_buff_ptr 
+0x52c9 019418 increase 4 ,pdata 
+0x52ca 019419 store 2 ,mem_sdp_tx_payload_ptr 
+0x52cb 019420 setarg 0 
+0x52cc 019421 store 2 ,mem_sdp_tx_pkt_length 
+0x52cd 019422 rtn 
+:      019424 l2cap_get_sdp_tx_buff:
+0x52ce 019425 fetch 2 ,mem_sdp_tx_buff_ptr 
+0x52cf 019426 branch l2cap_util_pdata_to_contw 
+:      019428 l2cap_get_sdp_tx_payload:
+0x52d0 019429 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x52d1 019430 branch l2cap_util_pdata_to_contw 
+:      019433 l2cap_malloc_rfcomm_channel:
+0x52d2 019434 bpatchx patch25_6 ,mem_patch25 
+0x52d3 019435 call push_stack 
+0x52d4 019436 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+0x52d5 019437 call l2cap_malloc_is_fifo_full 
+0x52d6 019438 nrtn blank 
+0x52d7 019439 arg rfcomm_malloc_size ,rega 
+0x52d8 019440 call l2cap_malloc 
+0x52d9 019441 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x52da 019442 increase 4 ,pdata 
+0x52db 019443 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x52dc 019444 setarg 0 
+0x52dd 019445 store 2 ,mem_rfcomm_tx_pkt_length 
+0x52de 019446 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x52df 019447 branch pop_stack 
+:      019449 l2cap_get_rfcomm_tx_buff:
+0x52e0 019450 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x52e1 019451 branch l2cap_util_pdata_to_contw 
+:      019453 l2cap_util_pdata_to_contw:
+0x52e2 019454 branch assert ,blank 
+0x52e3 019455 copy pdata ,contw 
+0x52e4 019456 rtn 
+:      019459 l2cap_lpm_save_calc_len:
+0x52e5 019460 bpatchx patch25_7 ,mem_patch25 
+0x52e6 019461 arg 0 ,regb 
+0x52e7 019462 arg mem_tx_fifo0_map ,rega 
+0x52e8 019463 increase -2 ,rega 
+:      019464 l2cap_lpm_save_calc_len_loop:
+0x52e9 019465 increase 2 ,rega 
+0x52ea 019466 setarg mem_tx_fifo_end 
+0x52eb 019467 isub rega ,null 
+0x52ec 019468 branch l2cap_lpm_save_calc_len_end ,zero 
+0x52ed 019469 ifetch 1 ,rega 
+0x52ee 019470 increase 1 ,rega 
+0x52ef 019471 branch l2cap_lpm_save_calc_len_loop ,blank 
+0x52f0 019472 ifetcht 2 ,rega 
+0x52f1 019473 ifetch 2 ,temp 
+0x52f2 019474 iadd regb ,regb 
+0x52f3 019475 increase 4 ,regb 
+0x52f4 019476 branch l2cap_lpm_save_calc_len_loop 
+:      019477 l2cap_lpm_save_calc_len_end:
+0x52f5 019478 copy regb ,pdata 
+0x52f6 019479 rtn 
+:      019482 l2cap_lpm_get_wake_lock:
+0x52f7 019483 arg wake_lock_l2cap_tx ,queue 
+0x52f8 019484 branch lpm_get_wake_lock 
+:      019486 l2cap_lpm_put_wake_lock:
+0x52f9 019487 arg wake_lock_l2cap_tx ,queue 
+0x52fa 019488 branch lpm_put_wake_lock 
+:      019490 l2cap_lpm_save_txbuf:
+0x52fb 019491 bpatchx patch26_0 ,mem_patch26 
+0x52fc 019492 call l2cap_malloc_get_full_map 
+0x52fd 019493 fetch 1 ,mem_used_map 
+0x52fe 019494 rtn blank 
+0x52ff 019495 call l2cap_lpm_save_calc_len 
+0x5300 019496 arg l2cap_lpm_txbuf_len ,temp 
+0x5301 019497 isub temp ,null 
+0x5302 019498 branch l2cap_lpm_get_wake_lock ,positive 
+0x5303 019499 call l2cap_lpm_put_wake_lock 
+0x5304 019500 arg mem_l2cap_lpm_txbuf ,contw 
+0x5305 019501 arg mem_tx_fifo0 ,rega 
+:      019502 l2cap_lpm_save_txbuf_loop:
+0x5306 019503 setarg mem_tx_fifo_end 
+0x5307 019504 isub rega ,null 
+0x5308 019505 rtn zero 
+0x5309 019506 ifetch 1 ,rega 
+0x530a 019507 increase 1 ,rega 
+0x530b 019508 nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+0x530c 019509 istore 2 ,contw 
+0x530d 019510 increase 2 ,rega 
+0x530e 019511 branch l2cap_lpm_save_txbuf_loop 
+:      019512 l2cap_lpm_save_txbuf_nempty:
+0x530f 019513 ifetch 2 ,rega 
+0x5310 019514 increase 2 ,rega 
+0x5311 019515 copy pdata ,contr 
+0x5312 019516 ifetch 2 ,contr 
+0x5313 019517 istore 2 ,contw 
+0x5314 019518 copy pdata ,loopcnt 
+0x5315 019519 increase 2 ,loopcnt 
+0x5316 019520 call memcpy 
+0x5317 019521 branch l2cap_lpm_save_txbuf_loop 
+:      019523 l2cap_lpm_load_txbuf:
+0x5318 019524 bpatchx patch26_1 ,mem_patch26 
+0x5319 019525 call l2cap_malloc_get_full_map 
+0x531a 019526 fetch 1 ,mem_used_map 
+0x531b 019527 rtn blank 
+0x531c 019528 arg mem_tx_fifo0_ptr ,rega 
+0x531d 019529 increase -3 ,rega 
+0x531e 019530 arg mem_l2cap_lpm_txbuf ,contr 
+:      019531 l2cap_lpm_load_txbuf_loop:
+0x531f 019532 increase 3 ,rega 
+0x5320 019533 setarg mem_tx_fifo_end + 1 
+0x5321 019534 isub rega ,null 
+0x5322 019535 rtn zero 
+0x5323 019536 ifetch 2 ,contr 
+0x5324 019537 branch l2cap_lpm_load_txbuf_loop ,blank 
+0x5325 019538 increase 4 ,pdata 
+0x5326 019539 copy pdata ,loopcnt 
+0x5327 019540 copy contr ,regb 
+0x5328 019541 ifetch 2 ,rega 
+0x5329 019542 copy pdata ,contw 
+0x532a 019543 copy regb ,contr 
+0x532b 019544 increase -2 ,contr 
+0x532c 019545 call memcpy 
+0x532d 019546 branch l2cap_lpm_load_txbuf_loop 
+:      019556 le_init_conn:
+0x532e 019557 bpatchx patch26_2 ,mem_patch26 
+0x532f 019558 disable wake 
+0x5330 019559 jam 1 ,mem_le_conn_handle 
+0x5331 019560 jam 3 ,mem_le_state 
+0x5332 019561 jam 1 ,mem_le_arq 
+0x5333 019562 setarg -1 
+0x5334 019563 store 2 ,mem_le_event_count 
+0x5335 019564 force 0 ,pdata 
+0x5336 019565 store 1 ,mem_le_ch 
+0x5337 019566 store 1 ,mem_le_op 
+0x5338 019567 store 3 ,mem_sniff_rcv 
+0x5339 019568 store 3 ,mem_sniff_lost 
+0x533a 019569 store 5 ,mem_le_pcnt_tx 
+0x533b 019570 set1 39 ,pdata 
+0x533c 019571 store 5 ,mem_le_pcnt_rx 
+0x533d 019572 jam 1 ,mem_le_txheader 
+0x533e 019573 jam 0 ,mem_le_txlen 
+0x533f 019574 branch le_supervision_flush 
+:      019576 le_init_master:
+0x5340 019577 bpatchx patch26_3 ,mem_patch26 
+0x5341 019578 enable master 
+0x5342 019579 jam lemode_master ,mem_le_mode 
+0x5343 019580 jam 1 ,mem_le_att_handle 
+0x5344 019581 jam 1 ,mem_le_search_handle_start 
+0x5345 019582 setarg 0xffff 
+0x5346 019583 store 2 ,mem_le_search_handle_end 
+0x5347 019584 force 0 ,pdata 
+0x5348 019585 store 5 ,mem_le_pcnt_rx 
+0x5349 019586 set1 39 ,pdata 
+0x534a 019587 store 5 ,mem_le_pcnt_tx 
+0x534b 019588 branch le_init_conn 
+:      019591 le_init_slave:
+0x534c 019592 bpatchx patch26_4 ,mem_patch26 
+0x534d 019593 disable master 
+0x534e 019594 setarg 0x17 
+0x534f 019595 store 2 ,mem_le_remote_mtu 
+0x5350 019596 jam lemode_slave ,mem_le_mode 
+0x5351 019597 jam 0 ,mem_le_adv_enable 
+0x5352 019598 jam 0 ,mem_lpm_current_mult 
+0x5353 019599 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5354 019600 jam flag_le_enc_null ,mem_le_enc_state 
+0x5355 019601 fetch 2 ,mem_le_superto 
+0x5356 019602 store 2 ,mem_le_init_superto 
+0x5357 019603 fetch 2 ,mem_le_tsniff 
+0x5358 019604 mul32 pdata ,5 ,pdata 
+0x5359 019605 rshift4 pdata ,pdata 
+0x535a 019606 store 2 ,mem_le_superto 
+0x535b 019607 branch le_init_conn 
+:      019613 le_dispatch:
+0x535c 019614 call le_enable 
+0x535d 019615 call le_scan 
+0x535e 019616 call le_adv 
+0x535f 019617 branch le_disable 
+:      019619 le_conn_dispatch:
+0x5360 019620 bpatchx patch26_5 ,mem_patch26 
+0x5361 019621 call le_enable 
+0x5362 019622 call app_process_ble 
+0x5363 019623 fetch 1 ,mem_le_mode 
+0x5364 019624 beq lemode_master ,le_master_dispatch 
+0x5365 019625 branch le_slave_dispatch 
+:      019631 le_master_dispatch:
+0x5366 019632 bpatchx patch26_6 ,mem_patch26 
+0x5367 019633 enable master 
+0x5368 019634 call le_supervision_update 
+0x5369 019635 branch le_master_disconn ,positive 
+0x536a 019636 call check_ble_disabled 
+0x536b 019637 call le_setup 
+0x536c 019638 call le_prepare_tx 
+0x536d 019639 disable match 
+0x536e 019640 call le_transmit_receive_sifs 
+0x536f 019641 nrtn match 
+0x5370 019642 bpatchx patch26_7 ,mem_patch26 
+0x5371 019643 fetch 1 ,mem_le_conn_rcv 
+0x5372 019644 increase 1 ,pdata 
+0x5373 019645 store 1 ,mem_le_conn_rcv 
+0x5374 019646 call le_acknowledge 
+0x5375 019647 disable master 
+0x5376 019648 rtn 
+:      019650 le_master_disconn:
+0x5377 019651 call le_disconnect 
+0x5378 019652 disable master 
+0x5379 019653 rtn 
+:      019658 le_slave_dispatch:
+0x537a 019659 bpatchx patch27_0 ,mem_patch27 
+0x537b 019660 jam 0 ,mem_le_md_count 
+0x537c 019661 call sp_calc_sequence_256 
+0x537d 019662 call le_secure_connect_sm 
+0x537e 019663 disable attempt 
+0x537f 019664 call le_supervision_update 
+0x5380 019665 branch le_slave_disconn ,positive 
+0x5381 019666 call check_ble_disabled 
+0x5382 019667 call le_setup 
+0x5383 019668 call le_receive_slave 
+0x5384 019669 nbranch le_slave_unsync ,sync 
+0x5385 019670 call le_got_first_packet 
+0x5386 019671 branch le_slave_match ,match 
+0x5387 019672 branch le_slave_cont 
+:      019675 le_slave_match:
+0x5388 019676 bpatchx patch27_1 ,mem_patch27 
+0x5389 019677 fetch 1 ,mem_le_md_count 
+0x538a 019678 pincrease 1 
+0x538b 019679 store 1 ,mem_le_md_count 
+0x538c 019680 beq le_md_max_count ,le_slave_cont 
+0x538d 019681 call le_acknowledge 
+0x538e 019682 call le_prepare_tx 
+0x538f 019683 call le_transmit_norx 
+0x5390 019684 call le_parse 
+0x5391 019685 fetch 2 ,mem_cb_ble_transmit 
+0x5392 019686 call callback_func 
+0x5393 019687 call le_check_md 
+0x5394 019688 branch le_slave_more_data ,user 
+:      019689 le_slave_cont:
+0x5395 019690 bpatchx patch27_2 ,mem_patch27 
+0x5396 019691 call le_pairing_sm 
+0x5397 019692 call le_check_paring_time 
+0x5398 019693 call check_51cmd 
+0x5399 019694 fetch 1 ,mem_le_op 
+0x539a 019695 bbit1 op_disconn ,le_slave_disconn 
+:      019696 le_slave_unsync:
+0x539b 019697 bpatchx patch27_3 ,mem_patch27 
+0x539c 019698 call le_lpm_set_mult 
+0x539d 019699 call le_update_channel_map 
+0x539e 019700 call le_update_param 
+0x539f 019701 branch calc_clke_offset 
+:      019704 le_check_md:
+0x53a0 019705 disable user 
+0x53a1 019706 bmark1 mark_ble_rx_md ,enable_user 
+0x53a2 019707 bmark1 mark_ble_tx_md ,enable_user 
+0x53a3 019708 rtn 
+:      019711 le_slave_more_data:
+0x53a4 019712 bpatchx patch27_4 ,mem_patch27 
+0x53a5 019713 enable attempt 
+0x53a6 019714 call le_transmit_receive_sifs_notx 
+0x53a7 019715 branch le_slave_match ,match 
+0x53a8 019716 branch le_slave_cont 
+:      019718 le_slave_disconn:
+:      019721 le_disconnect:
+0x53a9 019722 bpatchx patch27_5 ,mem_patch27 
+0x53aa 019723 call le_clear_connection_info 
+0x53ab 019724 call app_disconn_reason_collect_ble 
+0x53ac 019725 call sp_initialize_256 
+0x53ad 019726 jam bt_evt_le_disconnected ,mem_fifo_temp 
+0x53ae 019727 branch ui_ipc_send_event 
+:      019729 le_clear_connection_info:
+0x53af 019730 setarg 0 
+0x53b0 019731 store 9 ,mem_le_tx_buff_used 
+0x53b1 019732 jam 0 ,mem_le_conn_handle 
+0x53b2 019733 jam lemode_idle ,mem_le_mode 
+0x53b3 019734 jam 0 ,mem_le_state 
+0x53b4 019735 jam flag_le_enc_null ,mem_le_enc_state 
+0x53b5 019736 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x53b6 019737 rtn 
+:      019739 le_got_first_packet:
+0x53b7 019740 bpatchx patch27_6 ,mem_patch27 
+0x53b8 019741 fetch 1 ,mem_le_conn_rcv 
+0x53b9 019742 increase 1 ,pdata 
+0x53ba 019743 store 1 ,mem_le_conn_rcv 
+0x53bb 019744 fetch 1 ,mem_le_state 
+0x53bc 019745 rtnbit1 lestate_got_first_packet 
+0x53bd 019746 set1 lestate_got_first_packet 
+0x53be 019747 store 1 ,mem_le_state 
+0x53bf 019748 fetch 2 ,mem_le_init_superto 
+0x53c0 019749 store 2 ,mem_le_superto 
+0x53c1 019750 setarg 0 
+0x53c2 019751 store 4 ,mem_le_transmit_window 
+0x53c3 019752 rtn 
+:      019755 le_enable:
+0x53c4 019756 bpatchx patch27_7 ,mem_patch27 
+0x53c5 019757 hjam 0x36 ,0x90f 
+0x53c6 019758 hjam 0x5f ,0x90b 
+0x53c7 019759 enable le 
+0x53c8 019760 hjam 7 ,rfen_ulp 
+0x53c9 019761 call check_ble_disabled 
+0x53ca 019762 fetch 1 ,mem_250k_freq_enable 
+0x53cb 019763 rtn blank 
+0x53cc 019764 hjam 0xb8 ,0x90a 
+0x53cd 019765 rtn 
+:      019767 le_disable:
+0x53ce 019768 bpatchx patch28_0 ,mem_patch28 
+0x53cf 019769 hjam 0x2e ,0x90f 
+0x53d0 019770 hjam 0xff ,0x90b 
+0x53d1 019771 disable le 
+0x53d2 019772 hjam 3 ,rfen_ulp 
+0x53d3 019773 arg 0 ,stop_watch 
+0x53d4 019774 rtn 
+:      019776 le_prep:
+0x53d5 019777 disable enable_crc 
+0x53d6 019778 disable enable_white 
+0x53d7 019779 fetch 3 ,mem_le_crcinit 
+0x53d8 019780 iforce crc24_init 
+0x53d9 019781 fetch 1 ,mem_le_ch_mapped 
+0x53da 019782 reverse pdata ,temp 
+0x53db 019783 set1 1 ,temp 
+0x53dc 019784 rshift temp ,white_init 
+0x53dd 019785 rtn 
+:      019788 lerx_setfreq:
+0x53de 019789 call le_setfreq 
+0x53df 019790 call set_freq_rx 
+0x53e0 019791 setarg param_pll_setup 
+0x53e1 019792 call sleep 
+0x53e2 019793 branch rf_rx_enable 
+:      019795 letx_setfreq:
+0x53e3 019796 branch txon ,match 
+:      019797 letx_setfreq0:
+0x53e4 019798 call le_setfreq 
+0x53e5 019799 branch set_freq_tx 
+:      019800 le_setfreq:
+0x53e6 019801 bpatchx patch28_1 ,mem_patch28 
+0x53e7 019802 call set_sync_on 
+0x53e8 019803 fetch 1 ,mem_le_testtype 
+0x53e9 019804 nbranch le_ctf_test ,blank 
+0x53ea 019805 fetch 1 ,mem_le_ch_mapped 
+0x53eb 019806 sub pdata ,36 ,null 
+0x53ec 019807 branch le_ctf_normal ,positive 
+0x53ed 019808 force 0 ,temp 
+0x53ee 019809 rtneq 37 
+0x53ef 019810 force 24 ,temp 
+0x53f0 019811 rtneq 38 
+0x53f1 019812 force 78 ,temp 
+0x53f2 019813 rtn 
+:      019815 le_ctf_normal:
+0x53f3 019816 sub pdata ,10 ,null 
+0x53f4 019817 branch le_ctf_low ,positive 
+0x53f5 019818 increase 1 ,pdata 
+:      019820 le_ctf_low:
+0x53f6 019821 lshift pdata ,pdata 
+0x53f7 019822 add pdata ,2 ,temp 
+0x53f8 019823 rtn 
+:      019825 le_ctf_test:
+0x53f9 019826 fetch 1 ,mem_le_ch_mapped 
+0x53fa 019827 lshift pdata ,temp 
+0x53fb 019828 rtn 
+:      019830 le_sca_map:
+0x53fc 019831 arg 500 ,temp 
+0x53fd 019832 rtn blank 
+0x53fe 019833 arg 250 ,temp 
+0x53ff 019834 rtneq 1 
+0x5400 019835 arg 150 ,temp 
+0x5401 019836 rtneq 2 
+0x5402 019837 arg 100 ,temp 
+0x5403 019838 rtneq 3 
+0x5404 019839 arg 75 ,temp 
+0x5405 019840 rtneq 4 
+0x5406 019841 arg 50 ,temp 
+0x5407 019842 rtneq 5 
+0x5408 019843 arg 40 ,temp 
+0x5409 019844 rtneq 6 
+0x540a 019845 arg 20 ,temp 
+0x540b 019846 rtn 
+:      019850 le_adv_access:
+0x540c 019851 setarg 0x8e89be 
+0x540d 019852 lshift8 pdata ,pdata 
+0x540e 019853 or_into 0xd6 ,pdata 
+0x540f 019854 iforce access 
+0x5410 019855 setarg 0x555555 
+0x5411 019856 store 3 ,mem_le_crcinit 
+0x5412 019857 rtn 
+:      019859 le_setup:
+0x5413 019860 bpatchx patch28_2 ,mem_patch28 
+0x5414 019861 enable swfine 
+0x5415 019862 fetch 4 ,mem_le_access 
+0x5416 019863 iforce access 
+0x5417 019864 call le_map_channel 
+0x5418 019865 setarg 0x200 
+0x5419 019866 branch le_setup_master ,master 
+0x541a 019867 fetch 2 ,mem_le_receive_window 
+0x541b 019868 rshift pdata ,pdata 
+:      019869 le_setup_master:
+0x541c 019870 arg param_pll_setup ,temp 
+0x541d 019871 iadd temp ,pdata 
+0x541e 019872 call ahead_window 
+0x541f 019873 deposit clke 
+0x5420 019874 store 6 ,mem_le_rxon_ts 
+0x5421 019875 rtn 
+:      019877 le_next_adv_channel:
+0x5422 019878 bpatchx patch28_3 ,mem_patch28 
+0x5423 019879 fetch 1 ,mem_le_ch_mapped 
+0x5424 019880 beq 37 ,le_next_adv_channel_curr_channel_37 
+0x5425 019881 beq 38 ,le_next_adv_channel_curr_channel_38 
+0x5426 019882 beq 39 ,le_next_adv_channel_curr_channel_39 
+0x5427 019883 branch le_next_adv_channel_curr_channel_39 
+:      019885 le_next_adv_channel_curr_channel_37:
+0x5428 019886 fetcht 1 ,mem_le_adv_channel_map 
+0x5429 019887 isolate1 bit_adv_channel_map_38 ,temp 
+0x542a 019888 branch set_le_next_adv_channel_38 ,true 
+0x542b 019889 isolate1 bit_adv_channel_map_39 ,temp 
+0x542c 019890 branch set_le_next_adv_channel_39 ,true 
+0x542d 019891 branch set_le_next_adv_channel_37 
+:      019894 le_next_adv_channel_curr_channel_38:
+0x542e 019895 fetcht 1 ,mem_le_adv_channel_map 
+0x542f 019896 isolate1 bit_adv_channel_map_39 ,temp 
+0x5430 019897 branch set_le_next_adv_channel_39 ,true 
+0x5431 019898 isolate1 bit_adv_channel_map_37 ,temp 
+0x5432 019899 branch set_le_next_adv_channel_37 ,true 
+0x5433 019900 branch set_le_next_adv_channel_38 
+:      019903 le_next_adv_channel_curr_channel_39:
+0x5434 019904 fetcht 1 ,mem_le_adv_channel_map 
+0x5435 019905 isolate1 bit_adv_channel_map_37 ,temp 
+0x5436 019906 branch set_le_next_adv_channel_37 ,true 
+0x5437 019907 isolate1 bit_adv_channel_map_38 ,temp 
+0x5438 019908 branch set_le_next_adv_channel_38 ,true 
+0x5439 019909 branch set_le_next_adv_channel_39 
+:      019913 set_le_next_adv_channel_37:
+0x543a 019914 jam 37 ,mem_le_ch_mapped 
+0x543b 019915 fetch 1 ,mem_le_adv_channel_map_temp 
+0x543c 019916 set1 bit_adv_channel_map_37 ,pdata 
+0x543d 019917 store 1 ,mem_le_adv_channel_map_temp 
+0x543e 019918 rtn 
+:      019920 set_le_next_adv_channel_38:
+0x543f 019921 jam 38 ,mem_le_ch_mapped 
+0x5440 019922 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5441 019923 set1 bit_adv_channel_map_38 ,pdata 
+0x5442 019924 store 1 ,mem_le_adv_channel_map_temp 
+0x5443 019925 rtn 
+:      019927 set_le_next_adv_channel_39:
+0x5444 019928 jam 39 ,mem_le_ch_mapped 
+0x5445 019929 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5446 019930 set1 bit_adv_channel_map_39 ,pdata 
+0x5447 019931 store 1 ,mem_le_adv_channel_map_temp 
+0x5448 019932 rtn 
+:      019936 le_context_nexthop:
+0x5449 019937 bpatchx patch28_4 ,mem_patch28 
+0x544a 019938 add rega ,coffset_mode ,contr 
+0x544b 019939 ifetch 1 ,contr 
+0x544c 019940 rtnbit0 mode_le 
+0x544d 019941 add rega ,coffset_le_event_cnt ,contw 
+0x544e 019942 ifetch 2 ,contw 
+0x544f 019943 increase 1 ,pdata 
+0x5450 019944 istore 2 ,contw 
+0x5451 019945 add rega ,coffset_le_hop ,contr 
+0x5452 019946 ifetch 1 ,contr 
+0x5453 019947 add rega ,coffset_le_ch ,contw 
+0x5454 019948 ifetcht 1 ,contw 
+0x5455 019949 iadd temp ,pdata 
+0x5456 019950 sub pdata ,36 ,null 
+0x5457 019951 branch le_nexthop_nowrap ,positive 
+0x5458 019952 increase -37 ,pdata 
+:      019953 le_nexthop_nowrap:
+0x5459 019954 istore 1 ,contw 
+0x545a 019955 rtn 
+:      019958 le_calc_channel_map:
+0x545b 019959 bpatchx patch28_5 ,mem_patch28 
+0x545c 019960 fetch 5 ,mem_le_channel_map 
+0x545d 019961 force 0 ,temp 
+0x545e 019962 force 37 ,loopcnt 
+:      019963 le_count_channels_loop:
+0x545f 019964 bbit0 0 ,le_count_channels_notused 
+0x5460 019965 increase 1 ,temp 
+:      019966 le_count_channels_notused:
+0x5461 019967 rshift pdata ,pdata 
+0x5462 019968 loop le_count_channels_loop 
+0x5463 019969 add temp ,-1 ,pdata 
+0x5464 019970 store 1 ,mem_le_channels 
+0x5465 019971 rtn 
+:      019973 le_map_channel:
+0x5466 019974 bpatchx patch28_6 ,mem_patch28 
+0x5467 019975 fetch 1 ,mem_le_ch 
+0x5468 019976 iforce queue 
+0x5469 019977 fetcht 5 ,mem_le_channel_map 
+0x546a 019978 qisolate1 temp 
+0x546b 019979 branch le_map_channel_end ,true 
+:      019980 le_map_channel_next:
+0x546c 019981 bpatchx patch28_7 ,mem_patch28 
+0x546d 019982 fetch 1 ,mem_le_channels 
+0x546e 019983 isub queue ,pdata 
+0x546f 019984 branch le_map_channel_cont ,positive 
+0x5470 019985 sub pdata ,-1 ,queue 
+0x5471 019986 branch le_map_channel_next 
+:      019987 le_map_channel_cont:
+0x5472 019988 copy queue ,loopcnt 
+0x5473 019989 force 0 ,queue 
+:      019990 le_map_channel_loop:
+0x5474 019991 qisolate1 temp 
+0x5475 019992 branch le_map_channel_skip ,true 
+0x5476 019993 increase 1 ,loopcnt 
+:      019994 le_map_channel_skip:
+0x5477 019995 deposit loopcnt 
+0x5478 019996 branch le_map_channel_end ,blank 
+0x5479 019997 increase 1 ,queue 
+0x547a 019998 increase -1 ,loopcnt 
+0x547b 019999 branch le_map_channel_loop 
+:      020000 le_map_channel_end:
+0x547c 020001 deposit queue 
+0x547d 020002 store 1 ,mem_le_ch_mapped 
+0x547e 020003 rtn 
+:      020006 le_wait_tx:
+0x547f 020007 branch le_wait_master ,master 
+0x5480 020008 until null ,timeout 
+0x5481 020009 rtn 
+:      020011 le_wait_master:
+0x5482 020012 arg 0xea0 ,timeup 
+0x5483 020013 until clkn_rt ,meet 
+0x5484 020014 rtn 
+:      020016 le_receive_adv:
+0x5485 020017 disable swfine 
+0x5486 020018 fetch 2 ,mem_le_scan_window 
+0x5487 020019 copy pdata ,timeup 
+0x5488 020020 branch le_receive_packet 
+:      020023 le_receive_slave:
+0x5489 020024 bpatchx patch29_0 ,mem_patch29 
+0x548a 020025 enable swfine 
+0x548b 020026 fetch 2 ,mem_le_receive_window 
+0x548c 020027 fetcht 4 ,mem_le_transmit_window 
+0x548d 020028 iadd temp ,timeup 
+:      020029 le_receive_packet:
+0x548e 020030 call lerx_setfreq 
+:      020031 le_receive_rxon:
+0x548f 020032 bpatchx patch29_1 ,mem_patch29 
+0x5490 020033 call le_prep 
+0x5491 020034 disable match 
+0x5492 020035 enable decode_fec0 
+0x5493 020036 enable is_rx 
+0x5494 020037 disable is_tx 
+0x5495 020038 copy timeup ,stop_watch 
+0x5496 020039 correlate null ,timeout 
+0x5497 020040 branch le_receive_on_attempt ,attempt 
+0x5498 020041 copy clke ,temp 
+0x5499 020042 storet 6 ,mem_sync_clke 
+:      020043 le_receive_on_attempt:
+0x549a 020044 nbranch end_of_packet ,sync 
+0x549b 020045 branch le_receive_skip ,attempt 
+0x549c 020046 arg param_clke_cal_le ,clke_rt 
+0x549d 020047 copy bt_clk ,clke_bt 
+0x549e 020048 fetch 1 ,mem_le_state 
+0x549f 020049 bbit0 lestate_got_first_packet ,le_receive_skip 
+0x54a0 020050 call lpm_adjust_clk ,wake 
+:      020051 le_receive_skip:
+0x54a1 020052 bpatchx patch29_2 ,mem_patch29 
+0x54a2 020053 call save_rssi 
+0x54a3 020054 enable enable_white 
+0x54a4 020055 enable enable_crc 
+0x54a5 020056 parse demod ,bucket ,8 
+0x54a6 020057 rshift3 pwindow ,pdata 
+0x54a7 020058 store 1 ,mem_le_rxbuf 
+0x54a8 020059 parse demod ,bucket ,8 
+0x54a9 020060 rshift3 pwindow ,pdata 
+0x54aa 020061 istore 1 ,contw 
+0x54ab 020062 and pdata ,0x3f ,loopcnt 
+0x54ac 020063 branch lerx_nopayload ,zero 
+:      020065 lerx_loop:
+0x54ad 020066 parse demod ,bucket ,8 
+0x54ae 020067 rshift3 pwindow ,pdata 
+0x54af 020068 istore 1 ,contw 
+0x54b0 020069 loop lerx_loop 
+:      020071 lerx_nopayload:
+0x54b1 020072 bpatchx patch29_3 ,mem_patch29 
+0x54b2 020073 parse demod ,bucket ,24 
+0x54b3 020074 enable swfine 
+0x54b4 020075 arg param_sifs ,stop_watch 
+0x54b5 020076 rshift32 pdata ,pdata 
+0x54b6 020077 rshift16 pdata ,pdata 
+0x54b7 020078 istore 3 ,contw 
+0x54b8 020079 branch end_of_packet ,crc_failed 
+0x54b9 020080 enable match 
+0x54ba 020081 fetch 1 ,mem_last_freq 
+0x54bb 020082 add pdata ,0 ,rega 
+0x54bc 020083 call rf_write_freq 
+0x54bd 020084 disable decode_fec0 
+0x54be 020085 branch set_sync_on 
+:      020087 le_transmit_receive_sifs:
+0x54bf 020088 bpatchx patch29_4 ,mem_patch29 
+0x54c0 020089 call le_transmit 
+:      020090 le_transmit_receive_sifs_notx:
+0x54c1 020091 fetcht 1 ,mem_last_freq 
+0x54c2 020092 call set_freq_rx 
+0x54c3 020093 call rf_rx_enable 
+0x54c4 020094 enable swfine 
+0x54c5 020095 arg 5500 ,timeup 
+0x54c6 020096 branch le_receive_rxon 
+:      020098 le_transmit_norx:
+0x54c7 020099 call le_transmit 
+0x54c8 020100 branch end_of_packet 
+:      020102 le_transmit:
+0x54c9 020103 bpatchx patch29_5 ,mem_patch29 
+0x54ca 020104 call le_prep 
+0x54cb 020105 call letx_setfreq 
+0x54cc 020106 branch le_transmit0 
+:      020108 le_transmit0:
+0x54cd 020109 set1 txgfsk ,radio_ctrl 
+0x54ce 020110 enable encode_fec0 
+0x54cf 020111 enable is_tx 
+0x54d0 020112 disable is_rx 
+0x54d1 020113 call le_wait_tx 
+0x54d2 020114 rshift16 access ,pdata 
+0x54d3 020115 rshift8 pdata ,pdata 
+0x54d4 020116 rshift4 pdata ,pdata 
+0x54d5 020117 inject mod ,40 
+0x54d6 020118 enable enable_white 
+0x54d7 020119 enable enable_crc 
+0x54d8 020120 bpatchx patch29_6 ,mem_patch29 
+0x54d9 020121 fetch 1 ,mem_le_txheader 
+0x54da 020122 inject mod ,8 
+0x54db 020123 ifetch 1 ,contr 
+0x54dc 020124 and pdata ,0x3f ,loopcnt 
+0x54dd 020125 inject mod ,8 
+0x54de 020126 branch letr_nopayload ,zero 
+:      020127 letr_loop:
+0x54df 020128 ifetch 1 ,contr 
+0x54e0 020129 inject mod ,8 
+0x54e1 020130 loop letr_loop 
+:      020132 letr_nopayload:
+0x54e2 020133 enable enable_parity 
+0x54e3 020134 inject mod ,24 
+0x54e4 020135 disable enable_parity 
+0x54e5 020136 until null ,tx_clear 
+0x54e6 020137 nop 100 
+0x54e7 020138 disable encode_fec0 
+0x54e8 020139 rtn 
+:      020141 le_send_adv_ind:
+0x54e9 020142 bpatchx patch29_7 ,mem_patch29 
+0x54ea 020143 fetch 1 ,mem_le_adv_type 
+0x54eb 020144 beq adv_direct_ind ,le_send_adv_direct_ind 
+0x54ec 020145 fetch 1 ,mem_le_adv_own_addr_type 
+0x54ed 020146 lshift4 pdata ,pdata 
+0x54ee 020147 lshift2 pdata ,pdata 
+0x54ef 020148 store 1 ,mem_le_txheader 
+0x54f0 020149 fetcht 1 ,mem_le_adv_data_len 
+0x54f1 020150 add temp ,6 ,pdata 
+0x54f2 020151 store 1 ,mem_le_txlen 
+0x54f3 020152 fetch 6 ,mem_le_lap 
+0x54f4 020153 store 6 ,mem_le_txpayload 
+0x54f5 020154 copy temp ,loopcnt 
+0x54f6 020155 arg mem_le_adv_data ,contr 
+0x54f7 020156 call memcpy_fast 
+0x54f8 020157 branch le_send_adv_transmit 
+:      020158 le_send_adv_direct_ind:
+0x54f9 020159 fetch 1 ,mem_le_adv_direct_addr_type 
+0x54fa 020160 lshift4 pdata ,pdata 
+0x54fb 020161 lshift2 pdata ,pdata 
+0x54fc 020162 increase 1 ,pdata 
+0x54fd 020163 store 1 ,mem_le_txheader 
+0x54fe 020164 setarg 12 
+0x54ff 020165 store 1 ,mem_le_txlen 
+0x5500 020166 fetch 6 ,mem_le_lap 
+0x5501 020167 store 6 ,mem_le_txpayload 
+0x5502 020168 fetch 6 ,mem_hci_plap 
+0x5503 020169 istore 6 ,contw 
+:      020170 le_send_adv_transmit:
+0x5504 020171 bpatchx patch2a_0 ,mem_patch2a 
+0x5505 020172 fetch 1 ,mem_le_adv_transmit 
+0x5506 020173 increase 1 ,pdata 
+0x5507 020174 store 1 ,mem_le_adv_transmit 
+0x5508 020175 arg 1800 ,stop_watch 
+0x5509 020176 disable match 
+0x550a 020177 branch le_transmit_receive_sifs 
+:      020179 le_send_scan_request:
+0x550b 020180 bpatchx patch2a_1 ,mem_patch2a 
+0x550c 020181 fetch 1 ,mem_le_scan_type 
+0x550d 020182 rtnne le_scan_type_active 
+0x550e 020183 fetch 1 ,mem_le_adv_transmit 
+0x550f 020184 increase 1 ,pdata 
+0x5510 020185 store 1 ,mem_le_adv_transmit 
+0x5511 020186 arg 0x0c03 ,temp 
+0x5512 020187 fetch 1 ,mem_le_scan_own_addr_type 
+0x5513 020188 nsetflag blank ,le_sender_addr_bit ,temp 
+0x5514 020189 copy rega ,pdata 
+0x5515 020190 nsetflag blank ,le_receiver_addr_bit ,temp 
+0x5516 020191 storet 2 ,mem_le_txheader 
+0x5517 020192 fetch 6 ,mem_le_lap 
+0x5518 020193 istore 6 ,contw 
+0x5519 020194 fetch 6 ,mem_le_plap 
+0x551a 020195 istore 6 ,contw 
+0x551b 020196 branch le_transmit_receive_sifs 
+:      020199 le_send_scan_response:
+0x551c 020200 bpatchx patch2a_2 ,mem_patch2a 
+0x551d 020201 arg scan_rsp ,temp 
+0x551e 020202 fetch 1 ,mem_le_adv_own_addr_type 
+0x551f 020203 nsetflag blank ,le_sender_addr_bit ,temp 
+0x5520 020204 storet 1 ,mem_le_txheader 
+0x5521 020205 fetcht 1 ,mem_le_scan_data_len 
+0x5522 020206 add temp ,6 ,pdata 
+0x5523 020207 store 1 ,mem_le_txlen 
+0x5524 020208 fetch 6 ,mem_le_lap 
+0x5525 020209 store 6 ,mem_le_txpayload 
+0x5526 020210 arg mem_le_scan_data ,contr 
+0x5527 020211 copy temp ,loopcnt 
+0x5528 020212 call memcpy_fast 
+0x5529 020213 call le_transmit_norx 
+0x552a 020214 branch le_adv_not_match 
+:      020216 le_connect_request:
+0x552b 020217 bpatchx patch2a_3 ,mem_patch2a 
+0x552c 020218 force -1 ,pdata 
+0x552d 020219 setsect 2 ,1 
+0x552e 020220 store 5 ,mem_le_channel_map 
+0x552f 020221 call le_calc_channel_map 
+0x5530 020222 force 4 ,loopcnt 
+0x5531 020223 arg mem_le_access ,contw 
+0x5532 020224 call generate_random_loop 
+0x5533 020225 fetch 2 ,mem_le_timeout 
+0x5534 020226 store 2 ,mem_le_superto 
+:      020227 le_con_req_hop_retry:
+0x5535 020228 random pdata 
+0x5536 020229 and_into 0xf ,pdata 
+0x5537 020230 sub pdata ,4 ,null 
+0x5538 020231 branch le_con_req_hop_retry ,positive 
+0x5539 020232 store 1 ,mem_le_hop 
+0x553a 020233 store 1 ,mem_tmp1 
+0x553b 020234 bpatchx patch2a_4 ,mem_patch2a 
+0x553c 020235 fetcht 2 ,mem_le_conn_interval 
+0x553d 020236 storet 2 ,mem_le_tsniff 
+0x553e 020237 copy temp ,regc 
+0x553f 020238 add clkn_bt ,7 ,pdata 
+0x5540 020239 idiv regc 
+0x5541 020240 call wait_div_end 
+0x5542 020241 remainder rega 
+0x5543 020242 isub rega ,pdata 
+0x5544 020243 iadd regc ,pdata 
+0x5545 020244 fetcht 2 ,mem_le_dsniff 
+0x5546 020245 iadd temp ,pdata 
+0x5547 020246 store 4 ,mem_le_anchor 
+0x5548 020247 isub clkn_bt ,rega 
+0x5549 020248 increase -6 ,rega 
+0x554a 020249 arg 0x2205 ,regb 
+0x554b 020250 fetch 1 ,mem_le_conn_own_addr_type 
+0x554c 020251 nsetflag blank ,le_sender_addr_bit ,regb 
+0x554d 020252 fetch 1 ,mem_le_conn_peer_addr_type 
+0x554e 020253 nsetflag blank ,le_receiver_addr_bit ,regb 
+0x554f 020254 copy regb ,pdata 
+0x5550 020255 store 2 ,mem_le_txheader 
+0x5551 020256 fetch 6 ,mem_le_lap 
+0x5552 020257 istore 6 ,contw 
+0x5553 020258 fetch 6 ,mem_le_plap 
+0x5554 020259 istore 6 ,contw 
+0x5555 020260 fetch 4 ,mem_le_access 
+0x5556 020261 istore 4 ,contw 
+0x5557 020262 random pdata 
+0x5558 020263 istore 2 ,contw 
+0x5559 020264 random pdata 
+0x555a 020265 istore 1 ,contw 
+0x555b 020266 force 2 ,pdata 
+0x555c 020267 istore 1 ,contw 
+0x555d 020268 rshift2 rega ,pdata 
+0x555e 020269 istore 2 ,contw 
+0x555f 020270 rshift2 regc ,pdata 
+0x5560 020271 istore 2 ,contw 
+0x5561 020272 bpatchx patch2a_5 ,mem_patch2a 
+0x5562 020273 setarg 0 
+0x5563 020274 istore 2 ,contw 
+0x5564 020275 fetch 2 ,mem_le_timeout 
+0x5565 020276 istore 2 ,contw 
+0x5566 020277 fetch 5 ,mem_le_channel_map 
+0x5567 020278 istore 5 ,contw 
+0x5568 020279 fetch 1 ,mem_le_hop 
+0x5569 020280 arg param_le_sca ,temp 
+0x556a 020281 ior temp ,pdata 
+0x556b 020282 istore 1 ,contw 
+0x556c 020283 call le_transmit_norx 
+0x556d 020284 setarg mem_le_txheader 
+0x556e 020285 add pdata ,18 ,contr 
+0x556f 020286 ifetch 3 ,contr 
+0x5570 020287 store 3 ,mem_le_crcinit 
+0x5571 020288 rtn 
+:      020290 le_init_adv:
+0x5572 020291 bpatchx patch2a_6 ,mem_patch2a 
+0x5573 020292 disable master 
+0x5574 020293 branch le_adv_access 
+:      020297 le_update_param:
+0x5575 020298 fetch 1 ,mem_le_state 
+0x5576 020299 rtnbit0 lestate_update_param 
+0x5577 020300 fetch 2 ,mem_le_event_count 
+0x5578 020301 fetcht 2 ,mem_le_instant 
+0x5579 020302 isub temp ,pdata 
+0x557a 020303 nrtn positive 
+0x557b 020304 store 2 ,mem_pdatatemp 
+0x557c 020305 bpatchx patch2a_7 ,mem_patch2a 
+0x557d 020306 fetch 1 ,mem_le_state 
+0x557e 020307 set0 lestate_update_param ,pdata 
+0x557f 020308 set0 lestate_got_first_packet ,pdata 
+0x5580 020309 store 1 ,mem_le_state 
+0x5581 020310 fetch 4 ,mem_le_anchor 
+0x5582 020311 fetcht 2 ,mem_le_tsniff 
+0x5583 020312 storet 2 ,mem_temp 
+0x5584 020313 isub temp ,rega 
+0x5585 020314 bpatchx patch2b_0 ,mem_patch2b 
+0x5586 020315 fetch 1 ,mem_le_new_param 
+0x5587 020316 store 1 ,mem_le_window_size 
+0x5588 020317 ifetcht 2 ,contr 
+0x5589 020318 ifetch 2 ,contr 
+0x558a 020319 lshift2 pdata ,pdata 
+0x558b 020320 store 2 ,mem_le_tsniff 
+0x558c 020321 lshift2 temp ,temp 
+0x558d 020322 iadd temp ,pdata 
+0x558e 020323 ifetcht 4 ,contr 
+0x558f 020324 storet 4 ,mem_le_slave_latency 
+0x5590 020325 iadd rega ,pdata 
+0x5591 020326 copy pdata ,regab 
+0x5592 020327 fetch 2 ,mem_le_tsniff 
+0x5593 020328 fetcht 2 ,mem_temp 
+0x5594 020329 isub temp ,pdata 
+0x5595 020330 fetcht 2 ,mem_pdatatemp 
+0x5596 020331 imul32 temp ,pdata 
+0x5597 020332 iadd regab ,pdata 
+0x5598 020333 store 4 ,mem_le_anchor 
+0x5599 020334 call le_receive_window_size 
+0x559a 020335 fetch 2 ,mem_le_superto 
+0x559b 020336 store 2 ,mem_le_init_superto 
+0x559c 020337 rtn 
+:      020340 le_update_channel_map:
+0x559d 020341 bpatchx patch2b_1 ,mem_patch2b 
+0x559e 020342 fetch 1 ,mem_le_state 
+0x559f 020343 rtnbit0 lestate_update_map 
+0x55a0 020344 fetch 2 ,mem_le_event_count 
+0x55a1 020345 fetcht 2 ,mem_le_instant 
+0x55a2 020346 isub temp ,pdata 
+0x55a3 020347 nrtn positive 
+0x55a4 020348 fetch 1 ,mem_le_state 
+0x55a5 020349 set0 lestate_update_map ,pdata 
+0x55a6 020350 store 1 ,mem_le_state 
+0x55a7 020351 fetch 5 ,mem_le_new_map 
+0x55a8 020352 store 5 ,mem_le_channel_map 
+0x55a9 020353 branch le_calc_channel_map 
+:      020356 le_acknowledge:
+0x55aa 020357 bpatchx patch2b_2 ,mem_patch2b 
+0x55ab 020358 call le_supervision_flush 
+0x55ac 020359 call le_check_wak 
+0x55ad 020360 fetch 1 ,mem_le_rxbuf 
+0x55ae 020361 isolate1 md ,pdata 
+0x55af 020362 setflag true ,mark_ble_rx_md ,mark 
+0x55b0 020363 rshift pdata ,pdata 
+0x55b1 020364 ixor temp ,pdata 
+0x55b2 020365 isolate1 nesn ,pdata 
+0x55b3 020366 setflag true ,mark_old_packet ,mark 
+0x55b4 020367 rtnmark1 mark_old_packet 
+0x55b5 020368 fetch 1 ,mem_le_rxbuf + 1 
+0x55b6 020369 branch le_ack_unenc ,blank 
+0x55b7 020370 fetch 1 ,mem_le_state 
+0x55b8 020371 bbit0 lestate_encryption ,le_ack_unenc 
+0x55b9 020372 call load_sk 
+0x55ba 020373 call le_decrypt 
+0x55bb 020374 nrtn blank 
+:      020375 le_ack_unenc:
+0x55bc 020376 fetcht 1 ,mem_le_arq 
+0x55bd 020377 setflip nesn ,temp 
+0x55be 020378 storet 1 ,mem_le_arq 
+0x55bf 020379 rtn 
+:      020382 le_check_wak:
+0x55c0 020383 bpatchx patch2b_3 ,mem_patch2b 
+0x55c1 020384 fetcht 1 ,mem_le_arq 
+0x55c2 020385 isolate0 wak ,temp 
+0x55c3 020386 rtn true 
+0x55c4 020387 fetch 1 ,mem_le_rxbuf 
+0x55c5 020388 lshift pdata ,pdata 
+0x55c6 020389 ixor temp ,pdata 
+0x55c7 020390 rtnbit0 sn 
+0x55c8 020391 set0 wak ,temp 
+0x55c9 020392 setflip sn ,temp 
+0x55ca 020393 storet 1 ,mem_le_arq 
+0x55cb 020394 compare 3 ,temp ,3 
+0x55cc 020395 nrtn true 
+0x55cd 020396 fetch 1 ,mem_le_txpayload 
+0x55ce 020397 beq ll_start_enc_req ,le_set_enc 
+0x55cf 020398 fetch 1 ,mem_le_enc_state 
+0x55d0 020399 beq flag_le_enc_pause ,le_clear_enc 
+0x55d1 020400 rtn 
+:      020403 le_set_enc:
+0x55d2 020404 fetch 1 ,mem_le_state 
+0x55d3 020405 set1 lestate_encryption ,pdata 
+0x55d4 020406 store 1 ,mem_le_state 
+0x55d5 020407 rtn 
+:      020409 le_clear_enc:
+0x55d6 020410 bpatchx patch2b_4 ,mem_patch2b 
+0x55d7 020411 jam flag_le_enc_null ,mem_le_enc_state 
+0x55d8 020412 arg 0 ,pdata 
+0x55d9 020413 store 4 ,mem_le_last_mic 
+0x55da 020414 store 5 ,mem_le_pcnt_tx 
+0x55db 020415 set1 39 ,pdata 
+0x55dc 020416 store 5 ,mem_le_pcnt_rx 
+0x55dd 020417 fetch 1 ,mem_le_state 
+0x55de 020418 set0 lestate_encryption ,pdata 
+0x55df 020419 store 1 ,mem_le_state 
+0x55e0 020420 rtn 
+:      020423 le_wait_adv:
+0x55e1 020424 bpatchx patch2b_5 ,mem_patch2b 
+0x55e2 020425 call le_next_adv_channel 
+0x55e3 020426 call le_receive_adv 
+0x55e4 020427 fetch 1 ,mem_le_adv_waitcnt 
+0x55e5 020428 increase 1 ,pdata 
+0x55e6 020429 store 1 ,mem_le_adv_waitcnt 
+0x55e7 020430 rtn 
+:      020433 le_scan:
+0x55e8 020434 bpatchx patch2b_6 ,mem_patch2b 
+0x55e9 020435 fetch 1 ,mem_le_scan_enable 
+0x55ea 020436 rtnne le_scan_enable 
+0x55eb 020437 arg le_scan_interval_timer ,queue 
+0x55ec 020438 call timer_check 
+0x55ed 020439 nrtn blank 
+0x55ee 020440 fetch 2 ,mem_le_scan_interval 
+0x55ef 020441 fetcht 2 ,mem_le_scan_window 
+0x55f0 020442 isub temp ,pdata 
+0x55f1 020443 arg le_scan_interval_timer ,queue 
+0x55f2 020444 call timer_init 
+0x55f3 020445 disable master 
+0x55f4 020446 call le_init_adv 
+0x55f5 020447 call le_wait_adv 
+0x55f6 020448 nrtn match 
+0x55f7 020449 bpatchx patch2b_7 ,mem_patch2b 
+0x55f8 020450 fetch 6 ,mem_le_rxbuf + 2 
+0x55f9 020451 store 6 ,mem_le_plap 
+0x55fa 020454 fetch 1 ,mem_le_adv_rcv 
+0x55fb 020455 increase 1 ,pdata 
+0x55fc 020456 store 1 ,mem_le_adv_rcv 
+0x55fd 020457 call le_create_conn 
+0x55fe 020458 rtn master 
+0x55ff 020459 call le_send_scan_request 
+0x5600 020460 nrtn match 
+0x5601 020461 bpatchx patch2c_0 ,mem_patch2c 
+0x5602 020462 fetch 1 ,mem_le_scanrsp_rcv 
+0x5603 020463 increase 1 ,pdata 
+0x5604 020464 store 1 ,mem_le_scanrsp_rcv 
+0x5605 020465 fetch 9 ,mem_le_rxbuf + 8 
+0x5606 020466 store 9 ,mem_tmp_buffer 
+0x5607 020467 rtn 
+:      020469 le_create_conn:
+0x5608 020470 bpatchx patch2c_1 ,mem_patch2c 
+0x5609 020471 fetch 1 ,mem_cmd_le_create_conn 
+0x560a 020472 rtnne hci_cmd_le_create_conn 
+0x560b 020473 fetch 6 ,mem_le_plap 
+0x560c 020474 fetcht 6 ,mem_le_conn_peer_addr 
+0x560d 020475 isub temp ,null 
+0x560e 020476 nrtn zero 
+0x560f 020477 call context_new 
+0x5610 020478 nrtn zero 
+0x5611 020479 call le_connect_request 
+0x5612 020480 call le_init_master 
+0x5613 020481 bpatchx patch2c_2 ,mem_patch2c 
+0x5614 020482 jam 0 ,mem_hci_cmd 
+0x5615 020483 jam 0 ,mem_le_peer_sca 
+0x5616 020484 jam 0 ,mem_le_scan_enable 
+0x5617 020485 jam 0 ,mem_cmd_le_create_conn 
+0x5618 020486 branch context_save 
+:      020488 le_scan_check_sender_addr_type:
+0x5619 020489 arg 1 ,rega 
+0x561a 020490 fetch 1 ,mem_le_rxbuf 
+0x561b 020491 rtnbit1 le_sender_addr_bit 
+0x561c 020492 arg 0 ,rega 
+0x561d 020493 rtn 
+:      020497 le_prepare_tx:
+0x561e 020498 bpatchx patch2c_3 ,mem_patch2c 
+0x561f 020499 fetch 1 ,mem_le_arq 
+0x5620 020500 rtnbit1 wak 
+0x5621 020501 call le_check_tx_md 
+0x5622 020502 call le_fifo_get_first_tx_ptr 
+0x5623 020503 branch le_send_empty ,blank 
+0x5624 020504 ifetch 1 ,contr 
+0x5625 020505 ifetcht 1 ,contr 
+0x5626 020506 copy temp ,rega 
+0x5627 020507 isub rega ,pdata 
+0x5628 020508 arg le_max_paket_len ,temp 
+0x5629 020509 call not_greater_than 
+0x562a 020510 copy pdata ,temp 
+0x562b 020511 ifetch 1 ,contr 
+0x562c 020512 copy pdata ,type 
+0x562d 020513 copy rega ,pdata 
+0x562e 020514 iadd contr ,contr 
+0x562f 020515 arg mem_le_txpayload ,contw 
+0x5630 020516 copy temp ,loopcnt 
+0x5631 020517 call memcpy 
+0x5632 020518 call le_update_tx_type 
+0x5633 020519 call le_send_packet 
+0x5634 020521 call le_fifo_get_first_tx_ptr 
+0x5635 020522 ifetch 1 ,contr 
+0x5636 020523 copy pdata ,rega 
+0x5637 020524 copy contr ,regc 
+0x5638 020525 ifetcht 1 ,contr 
+0x5639 020526 copy temp ,regb 
+0x563a 020527 isub regb ,pdata 
+0x563b 020528 arg le_max_paket_len ,temp 
+0x563c 020529 call not_greater_than 
+0x563d 020530 iadd regb ,pdata 
+0x563e 020531 istore 1 ,regc 
+0x563f 020532 isub rega ,null 
+0x5640 020533 nrtn zero 
+0x5641 020534 branch le_fifo_release_first_node 
+:      020537 le_check_tx_md:
+0x5642 020538 call le_check_continue 
+0x5643 020539 rtnmark1 mark_ble_tx_md 
+0x5644 020540 fetch 1 ,mem_le_configuration 
+0x5645 020541 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+0x5646 020542 call le_fifo_get_second_tx_ptr 
+0x5647 020543 branch le_clear_md ,blank 
+0x5648 020544 branch le_set_md 
+:      020547 le_check_continue:
+0x5649 020548 call le_fifo_get_first_tx_ptr 
+0x564a 020549 branch le_clear_md ,blank 
+0x564b 020550 ifetch 1 ,contr 
+0x564c 020551 ifetcht 1 ,contr 
+0x564d 020552 isub temp ,pdata 
+0x564e 020553 sub pdata ,le_max_paket_len ,null 
+0x564f 020554 branch le_clear_md ,positive 
+:      020555 le_set_md:
+0x5650 020556 set1 mark_ble_tx_md ,mark 
+0x5651 020557 rtn 
+:      020559 le_clear_md:
+0x5652 020560 set0 mark_ble_tx_md ,mark 
+0x5653 020561 rtn 
+:      020563 le_update_tx_type:
+0x5654 020564 copy rega ,pdata 
+0x5655 020565 rtn blank 
+0x5656 020566 arg llid_continue ,type 
+0x5657 020567 rtn 
+:      020570 le_att_check_notification_enable:
+0x5658 020571 bpatchx patch2c_4 ,mem_patch2c 
+0x5659 020572 increase 1 ,temp 
+0x565a 020573 call le_att_get_handle_ptr 
+0x565b 020574 increase -2 ,contr 
+0x565c 020575 ifetch 2 ,contr 
+0x565d 020576 arg client_charactertic_configuration ,temp 
+0x565e 020577 isub temp ,null 
+0x565f 020578 nrtn zero 
+0x5660 020579 increase 1 ,contr 
+0x5661 020580 copy contr ,rega 
+0x5662 020581 ifetch 1 ,contr 
+0x5663 020582 rtn 
+:      020585 le_send_empty:
+0x5664 020586 force 0 ,temp 
+0x5665 020587 force 1 ,type 
+:      020589 le_send_packet:
+0x5666 020590 bpatchx patch2c_5 ,mem_patch2c 
+0x5667 020591 storet 1 ,mem_le_txlen 
+0x5668 020592 fetcht 1 ,mem_le_arq 
+0x5669 020593 set1 wak ,temp 
+0x566a 020594 and temp ,0xfc ,pdata 
+0x566b 020595 ior type ,pdata 
+0x566c 020596 store 1 ,mem_le_arq 
+0x566d 020597 and_into 0x1f ,pdata 
+0x566e 020598 isolate1 mark_ble_tx_md ,mark 
+0x566f 020599 setflag true ,md ,pdata 
+0x5670 020600 store 1 ,mem_le_txheader 
+0x5671 020602 fetch 1 ,mem_le_txheader 
+0x5672 020603 compare 1 ,type ,3 
+0x5673 020604 nbranch le_send_no_txlen ,true 
+0x5674 020605 fetch 1 ,mem_le_txlen 
+0x5675 020606 rtn blank 
+:      020607 le_send_no_txlen:
+0x5676 020608 fetch 1 ,mem_le_state 
+0x5677 020609 rtnbit0 lestate_encryption 
+0x5678 020610 call load_sk 
+0x5679 020611 branch le_encrypt 
+:      020614 get_lpm_wake_ble_rx_lock:
+0x567a 020615 arg wake_lock_ble_rx ,queue 
+0x567b 020616 branch lpm_get_wake_lock 
+:      020618 put_lpm_wake_ble_rx_lock:
+0x567c 020619 arg wake_lock_ble_rx ,queue 
+0x567d 020620 branch lpm_put_wake_lock 
+:      020623 le_parse:
+0x567e 020624 bpatchx patch2c_6 ,mem_patch2c 
+0x567f 020625 rtnmark1 mark_old_packet 
+0x5680 020626 call le_fifo_check_full 
+0x5681 020627 nrtn blank 
+0x5682 020628 fetch 1 ,mem_le_rxbuf 
+0x5683 020629 and pdata ,0x3 ,pdata 
+0x5684 020630 store 1 ,mem_le_packet_llid 
+0x5685 020631 ifetch 1 ,contr 
+0x5686 020632 and pdata ,0x1f ,pdata 
+0x5687 020633 store 1 ,mem_le_packet_size 
+0x5688 020634 rtn blank 
+0x5689 020635 copy contr ,pdata 
+0x568a 020636 store 2 ,mem_le_payload_ptr 
+0x568b 020637 fetch 1 ,mem_le_packet_llid 
+0x568c 020638 beq llid_le_ll ,le_parse_ll 
+:      020639 le_parse_l2cap:
+0x568d 020640 call le_check_l2cap_complete 
+0x568e 020641 nbranch get_lpm_wake_ble_rx_lock ,user 
+0x568f 020642 call put_lpm_wake_ble_rx_lock 
+0x5690 020643 fetch 2 ,mem_le_payload_ptr 
+0x5691 020644 copy pdata ,contr 
+0x5692 020645 ifetch 2 ,contr 
+0x5693 020646 store 2 ,mem_le_l2cap_size 
+0x5694 020647 bpatchx patch2c_7 ,mem_patch2c 
+0x5695 020648 ifetch 2 ,contr 
+0x5696 020649 beq le_l2cap_cid_att ,le_parse_att 
+0x5697 020650 beq le_l2cap_cid_smp ,le_parse_smp 
+0x5698 020651 beq le_l2cap_cid_signal ,le_parse_signaling 
+0x5699 020652 rtn 
+:      020655 le_check_l2cap_complete:
+0x569a 020656 fetch 1 ,mem_le_packet_llid 
+0x569b 020657 beq llid_start ,le_check_l2cap_llid_start 
+0x569c 020658 beq llid_continue ,le_check_l2cap_llid_continue 
+0x569d 020659 rtn 
+:      020664 le_check_l2cap_cid_legal:
+0x569e 020665 call enable_user 
+0x569f 020666 arg le_l2cap_cid_att ,temp 
+0x56a0 020667 isub pdata ,null 
+0x56a1 020668 rtn zero 
+0x56a2 020669 arg le_l2cap_cid_signal ,temp 
+0x56a3 020670 isub pdata ,null 
+0x56a4 020671 rtn zero 
+0x56a5 020672 arg le_l2cap_cid_smp ,temp 
+0x56a6 020673 isub pdata ,null 
+0x56a7 020674 rtn zero 
+0x56a8 020675 branch disable_user 
+:      020678 le_check_l2cap_llid_start:
+0x56a9 020679 fetch 2 ,mem_le_payload_ptr 
+0x56aa 020680 copy pdata ,contr 
+0x56ab 020681 ifetch 2 ,contr 
+0x56ac 020682 store 2 ,mem_le_l2cap_size 
+0x56ad 020683 ifetch 2 ,contr 
+0x56ae 020684 call le_check_l2cap_cid_legal 
+0x56af 020685 nrtn user 
+0x56b0 020686 fetcht 1 ,mem_le_packet_size 
+0x56b1 020687 storet 1 ,mem_le_packet_len_recved 
+0x56b2 020688 fetch 2 ,mem_le_l2cap_size 
+0x56b3 020689 increase 4 ,pdata 
+0x56b4 020690 isub temp ,null 
+0x56b5 020691 branch enable_user ,zero 
+0x56b6 020692 fetch 1 ,mem_le_packet_size 
+0x56b7 020693 copy pdata ,loopcnt 
+0x56b8 020694 arg mem_le_l2capbuf ,contw 
+0x56b9 020695 fetch 2 ,mem_le_payload_ptr 
+0x56ba 020696 copy pdata ,contr 
+0x56bb 020697 call memcpy 
+0x56bc 020698 branch disable_user 
+:      020703 le_check_l2cap_continue_legal:
+0x56bd 020704 call enable_user 
+0x56be 020705 fetch 1 ,mem_le_packet_len_recved 
+0x56bf 020706 nrtn blank 
+0x56c0 020707 branch disable_user 
+:      020709 le_check_l2cap_llid_continue:
+0x56c1 020710 call le_check_l2cap_continue_legal 
+0x56c2 020711 nrtn user 
+0x56c3 020712 fetch 1 ,mem_le_packet_len_recved 
+0x56c4 020713 arg mem_le_l2capbuf ,contw 
+0x56c5 020714 iadd contw ,rega 
+0x56c6 020715 fetcht 1 ,mem_le_packet_size 
+0x56c7 020716 iadd temp ,pdata 
+0x56c8 020717 store 1 ,mem_le_packet_len_recved 
+0x56c9 020718 fetch 1 ,mem_le_packet_size 
+0x56ca 020719 copy pdata ,loopcnt 
+0x56cb 020720 copy rega ,contw 
+0x56cc 020721 fetch 2 ,mem_le_payload_ptr 
+0x56cd 020722 copy pdata ,contr 
+0x56ce 020723 call memcpy_fast 
+0x56cf 020724 setarg mem_le_l2capbuf 
+0x56d0 020725 store 2 ,mem_le_payload_ptr 
+0x56d1 020726 fetch 2 ,mem_le_l2cap_size 
+0x56d2 020727 increase 4 ,pdata 
+0x56d3 020728 fetcht 1 ,mem_le_packet_len_recved 
+0x56d4 020729 isub temp ,null 
+0x56d5 020730 branch enable_user ,zero 
+0x56d6 020731 branch disable_user 
+:      020737 le_get_search_att_type:
+0x56d7 020738 call store_contr 
+0x56d8 020739 arg mem_le_search_att_type_length ,contw 
+:      020740 le_get_search_common:
+0x56d9 020741 fetch 2 ,mem_le_l2cap_size 
+0x56da 020742 increase -5 ,pdata 
+:      020743 le_get_search_common2:
+0x56db 020744 istore 1 ,contw 
+0x56dc 020745 copy pdata ,loopcnt 
+0x56dd 020746 call get_contr 
+0x56de 020747 branch memcpy_fast 
+:      020749 le_get_search_att_uuid:
+0x56df 020750 call store_contr 
+0x56e0 020751 arg mem_le_search_uuid_length ,contw 
+0x56e1 020752 branch le_get_search_common 
+:      020756 le_writeatt_cb:
+0x56e2 020757 fetch 2 ,mem_cb_att_write 
+0x56e3 020758 branch callback_func 
+:      020760 le_supervision_update:
+0x56e4 020761 fetcht 4 ,mem_le_supervision_timer 
+0x56e5 020762 call get_clkbt 
+0x56e6 020763 isub temp ,timeup 
+0x56e7 020764 deposit timeup 
+0x56e8 020765 fetcht 2 ,mem_le_superto 
+0x56e9 020766 lshift4 temp ,temp 
+0x56ea 020767 lshift temp ,temp 
+0x56eb 020768 isub temp ,pdata 
+0x56ec 020769 rtn 
+:      020771 le_supervision_flush:
+0x56ed 020772 call get_clkbt 
+0x56ee 020773 store 4 ,mem_le_supervision_timer 
+0x56ef 020774 rtn 
+:      020777 le_adv:
+0x56f0 020778 jam 36 ,mem_le_ch_mapped 
+0x56f1 020779 jam 0 ,mem_le_adv_channel_map_temp 
+:      020780 le_adv_loop:
+0x56f2 020781 bpatchx patch2d_0 ,mem_patch2d 
+0x56f3 020782 fetch 1 ,mem_le_adv_enable 
+0x56f4 020783 rtn blank 
+0x56f5 020784 arg le_adv_interval_timer ,queue 
+0x56f6 020785 call timer_check 
+0x56f7 020786 nrtn blank 
+0x56f8 020787 bpatchx patch2d_1 ,mem_patch2d 
+:      020788 le_adv_loop_tx:
+0x56f9 020789 disable master 
+0x56fa 020790 enable swfine 
+0x56fb 020791 call le_init_adv 
+0x56fc 020792 call le_next_adv_channel 
+0x56fd 020793 call le_send_adv_ind 
+0x56fe 020794 nbranch le_adv_not_match ,match 
+0x56ff 020795 fetch 1 ,mem_le_req_rcv 
+0x5700 020796 increase 1 ,pdata 
+0x5701 020797 store 1 ,mem_le_req_rcv 
+0x5702 020798 fetch 1 ,mem_le_rxbuf 
+0x5703 020799 and pdata ,0x0f ,pdata 
+0x5704 020800 beq scan_req ,le_send_scan_response 
+0x5705 020801 beq connect_req ,le_parse_connect_req 
+:      020802 le_adv_not_match:
+0x5706 020803 bpatchx patch2d_2 ,mem_patch2d 
+0x5707 020804 random pdata 
+0x5708 020805 arg 0x1ff ,temp 
+0x5709 020806 iand temp ,pdata 
+0x570a 020807 add pdata ,250 ,pdata 
+0x570b 020808 call delay 
+0x570c 020809 fetch 1 ,mem_le_adv_channel_map_temp 
+0x570d 020810 fetcht 1 ,mem_le_adv_channel_map 
+0x570e 020811 isub temp ,null 
+0x570f 020812 nbranch le_adv_loop ,zero 
+0x5710 020813 arg le_adv_interval_timer ,queue 
+0x5711 020814 fetch 2 ,mem_le_adv_interval 
+0x5712 020815 branch timer_init 
+:      020818 le_receive_window_size:
+0x5713 020819 bpatchx patch2d_3 ,mem_patch2d 
+0x5714 020820 fetch 1 ,mem_le_peer_sca 
+0x5715 020821 call le_sca_map 
+0x5716 020822 fetch 2 ,mem_le_tsniff 
+0x5717 020823 imul32 temp ,pdata 
+0x5718 020824 arg 375 ,temp 
+0x5719 020825 imul32 temp ,pdata 
+0x571a 020826 arg 100000 ,temp 
+0x571b 020827 idiv temp 
+0x571c 020828 fetch 1 ,mem_le_window_size 
+0x571d 020829 arg 20000 ,temp 
+0x571e 020830 imul32 temp ,pdata 
+0x571f 020831 iadd temp ,pdata 
+0x5720 020832 store 4 ,mem_le_transmit_window 
+0x5721 020833 bpatchx patch2d_4 ,mem_patch2d 
+0x5722 020834 fetch 2 ,mem_rx_window_sniff 
+0x5723 020835 call wait_div_end 
+0x5724 020836 quotient temp 
+0x5725 020837 iadd temp ,pdata 
+0x5726 020838 store 2 ,mem_le_receive_window 
+0x5727 020839 rtn 
+:      020841 le_parse_connect_req:
+0x5728 020842 bpatchx patch2d_5 ,mem_patch2d 
+0x5729 020843 fetch 6 ,mem_le_rxbuf + 8 
+0x572a 020844 fetcht 6 ,mem_le_lap 
+0x572b 020845 isub temp ,null 
+0x572c 020846 nrtn zero 
+0x572d 020847 call le_scan_check_sender_addr_type 
+0x572e 020848 copy rega ,pdata 
+0x572f 020849 store 1 ,mem_le_conn_peer_addr_type 
+0x5730 020850 fetch 7 ,mem_le_rxbuf + 21 
+0x5731 020851 store 7 ,mem_tmp_buffer 
+0x5732 020852 ifetch 8 ,contr 
+0x5733 020853 istore 8 ,contw 
+0x5734 020854 fetch 6 ,mem_le_rxbuf + 2 
+0x5735 020855 store 6 ,mem_le_plap 
+0x5736 020856 increase 6 ,contr 
+0x5737 020857 ifetch 8 ,contr 
+0x5738 020858 store 8 ,mem_le_access 
+0x5739 020859 ifetcht 2 ,contr 
+0x573a 020860 bpatchx patch2d_6 ,mem_patch2d 
+0x573b 020862 lshift2 temp ,temp 
+0x573c 020863 ifetch 2 ,contr 
+0x573d 020864 lshift2 pdata ,pdata 
+0x573e 020865 store 2 ,mem_le_tsniff 
+0x573f 020866 store 4 ,mem_le_anchor 
+0x5740 020867 isub temp ,pdata 
+0x5741 020868 add pdata ,-2 ,clke_bt 
+0x5742 020869 ifetch 9 ,contr 
+0x5743 020870 store 9 ,mem_le_slave_latency 
+0x5744 020871 bpatchx patch2d_7 ,mem_patch2d 
+0x5745 020872 ifetch 1 ,contr 
+0x5746 020873 rshift4 pdata ,temp 
+0x5747 020874 rshift temp ,temp 
+0x5748 020875 storet 1 ,mem_le_peer_sca 
+0x5749 020876 and_into 0x1f ,pdata 
+0x574a 020877 store 1 ,mem_le_hop 
+0x574b 020878 call le_receive_window_size 
+0x574c 020879 call le_calc_channel_map 
+0x574d 020880 call le_init_slave 
+0x574e 020881 call context_new 
+0x574f 020882 nrtn zero 
+0x5750 020883 bpatchx patch2e_0 ,mem_patch2e 
+0x5751 020884 call calc_clke_offset 
+0x5752 020885 call le_l2cap_reset_signaling_identifier 
+0x5753 020886 jam bt_evt_le_connected ,mem_fifo_temp 
+0x5754 020887 call ui_ipc_send_event 
+0x5755 020889 branch context_save 
+:      020892 le_init_attlist_search:
+0x5756 020893 bpatchx patch2e_1 ,mem_patch2e 
+0x5757 020894 fetch 2 ,mem_le_search_handle_start 
+0x5758 020895 iforce regb 
+0x5759 020896 fetch 2 ,mem_le_search_handle_end 
+0x575a 020897 iforce regc 
+0x575b 020898 fetch 2 ,mem_ui_le_uuid_table 
+0x575c 020899 iforce contr 
+0x575d 020900 enable user 
+0x575e 020901 rtn 
+:      020904 le_att_handle_inrange:
+0x575f 020905 ifetch 2 ,contr 
+0x5760 020906 rtn blank 
+0x5761 020907 isub regb ,null 
+0x5762 020908 nrtn positive 
+0x5763 020909 isub regc ,null 
+0x5764 020910 rtn zero 
+0x5765 020911 branch le_att_handle_blank ,positive 
+0x5766 020912 force 1 ,null 
+0x5767 020913 rtn 
+:      020914 le_att_handle_blank:
+0x5768 020915 force 0 ,pdata 
+0x5769 020916 rtn 
+:      020920 le_att_get_handle_ptr:
+0x576a 020921 call le_att_get_handle_ptr2 
+0x576b 020922 branch le_att_get_handle_ptr_found ,zero 
+0x576c 020923 rtn 
+:      020925 le_att_get_handle_ptr2:
+0x576d 020926 bpatchx patch2e_2 ,mem_patch2e 
+0x576e 020927 fetch 2 ,mem_ui_le_uuid_table 
+0x576f 020928 iforce contr 
+:      020929 le_att_get_handle_loop1:
+0x5770 020930 ifetch 2 ,contr 
+0x5771 020931 rtn blank 
+0x5772 020932 isub temp ,null 
+0x5773 020933 rtn zero 
+0x5774 020934 ifetch 1 ,contr 
+0x5775 020935 iadd contr ,contr 
+0x5776 020936 ifetch 1 ,contr 
+0x5777 020937 iadd contr ,contr 
+0x5778 020938 branch le_att_get_handle_loop1 
+:      020939 le_att_get_handle_ptr_found:
+0x5779 020940 ifetch 1 ,contr 
+0x577a 020941 iadd contr ,contr 
+0x577b 020942 rtn 
+:      020946 le_att_get_short_uuid_ptr:
+0x577c 020947 bpatchx patch2e_3 ,mem_patch2e 
+0x577d 020948 fetch 2 ,mem_ui_le_uuid_table 
+0x577e 020949 iforce contr 
+:      020950 le_att_get_short_uuid_loop:
+0x577f 020951 ifetch 2 ,contr 
+0x5780 020952 rtn blank 
+0x5781 020953 ifetch 1 ,contr 
+0x5782 020954 iadd contr ,contr 
+0x5783 020955 increase -2 ,contr 
+0x5784 020956 ifetch 2 ,contr 
+0x5785 020957 isub temp ,null 
+0x5786 020958 rtn zero 
+0x5787 020959 ifetch 1 ,contr 
+0x5788 020960 iadd contr ,contr 
+0x5789 020961 branch le_att_get_short_uuid_loop 
+:      020965 le_att_get_handle_info_from_ptr:
+0x578a 020966 fetch 2 ,mem_le_cur_attlist_start_ptr 
+0x578b 020967 branch le_att_get_handle_info_fast 
+:      020969 le_att_get_handle_info:
+0x578c 020970 bpatchx patch2e_4 ,mem_patch2e 
+0x578d 020971 fetch 2 ,mem_ui_le_uuid_table 
+:      020972 le_att_get_handle_info_fast:
+0x578e 020973 iforce contr 
+0x578f 020974 copy temp ,rega 
+:      020975 le_att_get_handle_loop:
+0x5790 020976 ifetch 2 ,contr 
+0x5791 020977 branch le_att_unfind_handle ,blank 
+0x5792 020978 isub rega ,null 
+0x5793 020979 branch le_att_finded_handle ,zero 
+0x5794 020980 ifetch 1 ,contr 
+0x5795 020981 iadd contr ,contr 
+0x5796 020982 ifetch 1 ,contr 
+0x5797 020983 iadd contr ,contr 
+0x5798 020984 branch le_att_get_handle_loop 
+:      020985 le_att_unfind_handle:
+0x5799 020986 branch disable_blank 
+:      020988 le_att_finded_handle:
+0x579a 020989 ifetch 1 ,contr 
+0x579b 020990 store 1 ,mem_le_cur_uuid_length 
+0x579c 020991 copy pdata ,loopcnt 
+0x579d 020992 arg mem_le_cur_uuid ,contw 
+0x579e 020993 call memcpy_fast 
+0x579f 020994 ifetch 1 ,contr 
+0x57a0 020995 store 1 ,mem_le_curr_att_len 
+0x57a1 020996 call store_contr 
+0x57a2 020997 branch enable_blank 
+:      021000 le_modified_name:
+0x57a3 021001 bpatchx patch2e_5 ,mem_patch2e 
+0x57a4 021002 call le_modified_name_att_list 
+0x57a5 021003 branch le_modified_name_adv 
+:      021005 le_modified_name_att_list:
+0x57a6 021006 arg uuid_chrctr_device_name ,temp 
+0x57a7 021007 call le_att_get_short_uuid_ptr 
+0x57a8 021008 rtn blank 
+0x57a9 021009 ifetch 1 ,contr 
+0x57aa 021010 copy contr ,contw 
+0x57ab 021011 fetcht 1 ,mem_le_name_len 
+0x57ac 021012 copy temp ,loopcnt 
+0x57ad 021013 isub temp ,null 
+0x57ae 021014 nbranch le_name_length_longer_than_att ,positive 
+0x57af 021015 isub temp ,temp 
+0x57b0 021016 arg mem_le_name ,contr 
+0x57b1 021017 call memcpy 
+0x57b2 021018 copy temp ,loopcnt 
+0x57b3 021019 ncall memcpy_empty ,zero 
+0x57b4 021020 rtn 
+:      021021 le_name_length_longer_than_att:
+0x57b5 021022 copy pdata ,loopcnt 
+0x57b6 021023 arg mem_le_name ,contr 
+0x57b7 021024 branch memcpy_fast 
+:      021027 le_modified_name_adv:
+0x57b8 021028 arg mem_le_adv_data_len + 32 ,regc 
+0x57b9 021029 arg mem_le_adv_data ,rega 
+0x57ba 021030 call le_modified_name_adv_and_scan 
+0x57bb 021031 setarg 0 
+0x57bc 021032 setflag user ,0 ,pdata 
+0x57bd 021033 store 1 ,mem_pdatatemp 
+0x57be 021034 arg mem_le_scan_data_len + 32 ,regc 
+0x57bf 021035 arg mem_le_scan_data ,rega 
+0x57c0 021036 call le_modified_name_adv_and_scan 
+0x57c1 021037 rtn user 
+0x57c2 021038 fetch 1 ,mem_pdatatemp 
+0x57c3 021039 branch assert ,blank 
+0x57c4 021040 rtn 
+:      021043 le_modified_name_adv_and_scan:
+0x57c5 021044 bpatchx patch2e_6 ,mem_patch2e 
+0x57c6 021045 call enable_user 
+0x57c7 021046 call clear_temp_block 
+0x57c8 021047 arg 0 ,regb 
+0x57c9 021048 arg mem_le_data_temp ,contw 
+0x57ca 021049 call le_modified_name_adv_loop 
+0x57cb 021050 fetch 1 ,mem_le_name_len 
+0x57cc 021051 add pdata ,1 ,temp 
+0x57cd 021052 iadd regb ,rega 
+0x57ce 021053 increase 2 ,rega 
+0x57cf 021054 sub rega ,0x1f ,null 
+0x57d0 021055 nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+0x57d1 021056 istoret 1 ,contw 
+0x57d2 021057 arg gap_adtype_local_name_complete ,temp 
+0x57d3 021058 istoret 1 ,contw 
+0x57d4 021059 iforce loopcnt 
+0x57d5 021060 call memcpy_fast 
+0x57d6 021061 copy rega ,regb 
+:      021062 le_modified_name_adv_and_scan_store_data:
+0x57d7 021063 deposit regb 
+0x57d8 021064 store 1 ,mem_le_data_len_temp 
+0x57d9 021065 arg mem_le_data_len_temp ,contr 
+0x57da 021066 setarg -32 
+0x57db 021067 iadd regc ,contw 
+0x57dc 021068 branch memcpy32 
+:      021070 le_modified_name_adv_and_scan_name_overflow:
+0x57dd 021071 call disable_user 
+0x57de 021072 branch le_modified_name_adv_and_scan_store_data 
+:      021074 le_modified_name_adv_loop:
+0x57df 021075 ifetch 1 ,rega 
+0x57e0 021076 rtn blank 
+0x57e1 021077 pincrease 1 
+0x57e2 021078 ifetcht 1 ,contr 
+0x57e3 021079 sub temp ,gap_adtype_local_name_complete ,null 
+0x57e4 021080 branch le_modified_name_adv_found_name ,zero 
+0x57e5 021081 iadd regb ,regb 
+0x57e6 021082 copy rega ,contr 
+0x57e7 021083 iforce loopcnt 
+0x57e8 021084 call memcpy_fast 
+0x57e9 021085 copy contr ,rega 
+:      021086 le_modified_name_adv_loop2:
+0x57ea 021087 deposit rega 
+0x57eb 021088 isub regc ,null 
+0x57ec 021089 rtn positive 
+0x57ed 021090 branch le_modified_name_adv_loop 
+:      021092 le_modified_name_adv_found_name:
+0x57ee 021093 iadd rega ,rega 
+0x57ef 021094 branch le_modified_name_adv_loop2 
+:      021097 memcpy_empty:
+0x57f0 021098 setarg space 
+0x57f1 021099 istore 1 ,contw 
+0x57f2 021100 loop memcpy_empty 
+0x57f3 021101 rtn 
+:      021104 le_lpm_set_mult:
+0x57f4 021105 bpatchx patch2e_7 ,mem_patch2e 
+0x57f5 021106 disable wake 
+0x57f6 021107 branch le_lpm_set_mult_attempt ,attempt 
+0x57f7 021108 nbranch le_lpm_lost ,match 
+:      021109 le_lpm_set_mult_attempt:
+0x57f8 021110 call lpm_match 
+0x57f9 021111 fetch 2 ,mem_rx_window_sniff 
+0x57fa 021112 store 2 ,mem_le_receive_window 
+0x57fb 021114 nbranch lpm_mult_short ,match 
+0x57fc 021115 bmark1 mark_old_packet ,lpm_mult_short 
+0x57fd 021117 fetch 1 ,mem_le_packet_size 
+0x57fe 021118 nbranch lpm_mult_short ,blank 
+0x57ff 021119 fetch 1 ,mem_le_txlen 
+0x5800 021120 nbranch lpm_mult_short ,blank 
+0x5801 021122 fetch 1 ,mem_le_configuration 
+0x5802 021123 bbit1 bit_ble_short_mult ,lpm_mult_short 
+0x5803 021125 fetch 1 ,mem_le_state 
+0x5804 021126 bbit1 lestate_update_param ,lpm_mult_short 
+0x5805 021127 branch lpm_mult_wait_timeout 
+:      021129 le_lpm_lost:
+0x5806 021130 fetcht 2 ,mem_rx_window_sniff 
+0x5807 021131 rshift temp ,temp 
+0x5808 021132 fetch 2 ,mem_le_receive_window 
+0x5809 021133 iadd temp ,pdata 
+0x580a 021134 store 2 ,mem_le_receive_window 
+0x580b 021135 branch lpm_lost 
+:      021138 le_set_config_fixed_tk:
+0x580c 021139 arg bit_ble_passkey_fixed_key ,queue 
+0x580d 021140 branch le_set_config 
+:      021142 le_clr_config_fixed_tk:
+0x580e 021143 arg bit_ble_passkey_fixed_key ,queue 
+0x580f 021144 branch le_clr_config 
+:      021146 le_set_config_fixed_ltk:
+0x5810 021147 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5811 021148 branch le_set_config 
+:      021150 le_clr_config_fixed_ltk:
+0x5812 021151 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5813 021152 branch le_clr_config 
+:      021154 le_set_config_more_data:
+0x5814 021155 arg bit_ble_transmit_packet_by_md ,queue 
+0x5815 021156 branch le_set_config 
+:      021158 le_clr_config_more_data:
+0x5816 021159 arg bit_ble_transmit_packet_by_md ,queue 
+0x5817 021160 branch le_clr_config 
+:      021162 le_set_config_read_authentication:
+0x5818 021163 arg bit_ble_read_auth ,queue 
+0x5819 021164 branch le_set_config 
+:      021166 le_clr_config_read_authentication:
+0x581a 021167 arg bit_ble_read_auth ,queue 
+0x581b 021168 branch le_clr_config 
+:      021170 le_set_config_write_authentication:
+0x581c 021171 arg bit_ble_write_auth ,queue 
+0x581d 021172 branch le_set_config 
+:      021174 le_clr_config_write_authentication:
+0x581e 021175 arg bit_ble_write_auth ,queue 
+0x581f 021176 branch le_clr_config 
+:      021178 le_set_config_short_mult:
+0x5820 021179 arg bit_ble_short_mult ,queue 
+0x5821 021180 branch le_set_config 
+:      021182 le_clr_config_short_mult:
+0x5822 021183 arg bit_ble_short_mult ,queue 
+0x5823 021184 branch le_clr_config 
+:      021187 le_set_config:
+0x5824 021188 fetch 1 ,mem_le_configuration 
+0x5825 021189 qset1 pdata 
+0x5826 021190 store 1 ,mem_le_configuration 
+0x5827 021191 rtn 
+:      021193 le_clr_config:
+0x5828 021194 fetch 1 ,mem_le_configuration 
+0x5829 021195 qset0 pdata 
+0x582a 021196 store 1 ,mem_le_configuration 
+0x582b 021197 rtn 
+:      021199 le_set_fixed_ltk:
+0x582c 021200 setarg 0x112233 
+0x582d 021201 store 3 ,mem_le_fixed_ltk 
+0x582e 021202 setarg 0x445566 
+0x582f 021203 istore 3 ,contw 
+0x5830 021204 setarg 0x778899 
+0x5831 021205 istore 3 ,contw 
+0x5832 021206 setarg 0x001122 
+0x5833 021207 istore 3 ,contw 
+0x5834 021208 setarg 0x334455 
+0x5835 021209 istore 3 ,contw 
+0x5836 021210 setarg 0x66 
+0x5837 021211 istore 1 ,contw 
+0x5838 021212 rtn 
+:      021215 le_set_justwork:
+0x5839 021216 setarg 0x01000302 
+0x583a 021217 store 4 ,mem_le_pres 
+0x583b 021218 setarg 0x010010 
+0x583c 021219 store 3 ,mem_le_pres_max_keysize 
+0x583d 021220 jam 1 ,mem_le_pairing_mode 
+0x583e 021221 rtn 
+:      021225 le_fifo_malloc_tx_empty:
+0x583f 021226 arg 0 ,rega 
+0x5840 021227 arg llid_empty ,type 
+0x5841 021228 branch le_fifo_malloc_tx 
+:      021232 le_fifo_malloc_tx_ll:
+0x5842 021233 arg llid_le_ll ,type 
+0x5843 021234 call le_fifo_malloc_tx 
+0x5844 021235 copy regb ,pdata 
+0x5845 021236 istore 1 ,contw 
+0x5846 021237 rtn 
+:      021241 le_fifo_malloc_tx_l2cap:
+0x5847 021242 force llid_l2cap_start ,type 
+0x5848 021243 increase 4 ,rega 
+0x5849 021244 call le_fifo_malloc_tx 
+0x584a 021245 increase -4 ,rega 
+0x584b 021246 copy rega ,pdata 
+0x584c 021247 istore 2 ,contw 
+0x584d 021248 copy regb ,pdata 
+0x584e 021249 istore 2 ,contw 
+0x584f 021250 rtn 
+:      021254 le_fifo_malloc_tx:
+0x5850 021255 sub rega ,240 ,null 
+0x5851 021256 nbranch assert ,positive 
+0x5852 021257 fetch 1 ,mem_le_tx_buff_used 
+0x5853 021258 arg 1 ,temp 
+0x5854 021259 arg le_tx_buff_count ,loopcnt 
+:      021260 le_fifo_malloc_tx_loop:
+0x5855 021261 iand temp ,null 
+0x5856 021262 branch le_fifo_malloc_tx_got_empty ,zero 
+0x5857 021263 lshift temp ,temp 
+0x5858 021264 loop le_fifo_malloc_tx_loop 
+0x5859 021265 branch assert 
+:      021266 le_fifo_malloc_tx_got_empty:
+0x585a 021267 ixor temp ,pdata 
+0x585b 021268 store 1 ,mem_le_tx_buff_used 
+0x585c 021269 sub loopcnt ,le_tx_buff_count ,pdata 
+0x585d 021270 lshift4 pdata ,pdata 
+0x585e 021271 lshift4 pdata ,pdata 
+0x585f 021272 arg mem_le_tx_buffer0 ,temp 
+0x5860 021273 iadd temp ,temp 
+:      021274 le_fifo_tx_find_empty_ptr:
+0x5861 021275 arg 0 ,loopcnt 
+0x5862 021276 arg mem_le_tx_ptr0 ,contr 
+:      021277 le_fifo_tx_find_empty_ptr_loop:
+0x5863 021278 ifetch 2 ,contr 
+0x5864 021279 branch le_fifo_tx_found_empty_ptr ,blank 
+0x5865 021280 copy loopcnt ,pdata 
+0x5866 021281 increase 1 ,loopcnt 
+0x5867 021282 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+0x5868 021283 branch assert 
+:      021286 le_fifo_tx_found_empty_ptr:
+0x5869 021287 increase -2 ,contr 
+0x586a 021288 istoret 2 ,contr 
+0x586b 021289 copy temp ,contw 
+0x586c 021290 copy rega ,pdata 
+0x586d 021291 istore 1 ,contw 
+0x586e 021292 setarg 0 
+0x586f 021293 istore 1 ,contw 
+0x5870 021294 copy type ,pdata 
+0x5871 021295 istore 1 ,contw 
+0x5872 021296 rtn 
+:      021300 le_fifo_get_first_tx_ptr:
+0x5873 021301 fetch 2 ,mem_le_tx_ptr0 
+0x5874 021302 copy pdata ,contr 
+0x5875 021303 rtn 
+:      021305 le_fifo_get_second_tx_ptr:
+0x5876 021306 fetch 2 ,mem_le_tx_ptr1 
+0x5877 021307 copy pdata ,contr 
+0x5878 021308 rtn 
+:      021310 le_fifo_get_last_tx_ptr:
+0x5879 021311 call le_fifo_get_last_tx_ptr0 
+0x587a 021312 copy pdata ,contr 
+0x587b 021313 rtn 
+:      021314 le_fifo_get_last_tx_ptr0:
+0x587c 021315 fetch 2 ,mem_le_tx_ptr3 
+0x587d 021316 nrtn blank 
+0x587e 021317 fetch 2 ,mem_le_tx_ptr2 
+0x587f 021318 nrtn blank 
+0x5880 021319 fetch 2 ,mem_le_tx_ptr1 
+0x5881 021320 nrtn blank 
+0x5882 021321 fetch 2 ,mem_le_tx_ptr0 
+0x5883 021322 rtn 
+:      021324 le_fifo_get_first_l2cap_ptr:
+0x5884 021325 call le_fifo_get_first_tx_ptr 
+0x5885 021326 increase 3 ,contr 
+0x5886 021327 rtn 
+:      021329 le_fifo_get_first_att_ptr:
+0x5887 021330 call le_fifo_get_first_tx_ptr 
+0x5888 021331 increase 7 ,contr 
+0x5889 021332 rtn 
+:      021334 le_fifo_get_last_att_ptr:
+0x588a 021335 call le_fifo_get_last_tx_ptr 
+0x588b 021336 increase 7 ,contr 
+0x588c 021337 rtn 
+:      021339 le_fifo_get_last_l2cap_ptr:
+0x588d 021340 call le_fifo_get_last_tx_ptr 
+0x588e 021341 increase 3 ,contr 
+0x588f 021342 rtn 
+:      021346 le_fifo_check_full:
+0x5890 021347 fetch 2 ,mem_le_tx_ptr3 
+0x5891 021348 rtn 
+:      021351 le_fifo_check_nearly_full:
+0x5892 021352 fetch 2 ,mem_le_tx_ptr2 
+0x5893 021353 rtn 
+:      021356 le_fifo_check_empty:
+0x5894 021357 fetch 2 ,mem_le_tx_ptr0 
+0x5895 021358 rtn 
+:      021361 le_fifo_release_first_node:
+0x5896 021362 fetch 2 ,mem_le_tx_ptr0 
+0x5897 021363 arg mem_le_tx_buffer0 ,temp 
+0x5898 021364 isub temp ,pdata 
+0x5899 021365 rshift4 pdata ,pdata 
+0x589a 021366 rshift4 pdata ,queue 
+0x589b 021367 fetch 1 ,mem_le_tx_buff_used 
+0x589c 021368 qset0 pdata 
+0x589d 021369 store 1 ,mem_le_tx_buff_used 
+0x589e 021370 arg 0 ,loopcnt 
+:      021371 le_fifo_release_first_node_loop:
+0x589f 021372 lshift loopcnt ,pdata 
+0x58a0 021373 arg mem_le_tx_ptr1 ,temp 
+0x58a1 021374 iadd temp ,temp 
+0x58a2 021375 ifetch 2 ,temp 
+0x58a3 021376 increase -2 ,temp 
+0x58a4 021377 istore 2 ,temp 
+0x58a5 021378 copy loopcnt ,pdata 
+0x58a6 021379 increase 1 ,loopcnt 
+0x58a7 021380 bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+0x58a8 021381 setarg 0 
+0x58a9 021382 istore 2 ,temp 
+0x58aa 021383 rtn 
+:      021389 le_parse_att:
+0x58ab 021390 ifetch 3 ,contr 
+0x58ac 021391 store 3 ,mem_le_att_opcode 
+0x58ad 021392 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+0x58ae 021393 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+0x58af 021394 beq attop_find_information_request ,le_parse_att_find_information_request 
+0x58b0 021395 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+0x58b1 021396 beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+0x58b2 021397 beq attop_read_request ,le_parse_att_read_request 
+0x58b3 021398 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+0x58b4 021399 beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+0x58b5 021400 beq attop_write_request ,le_parse_att_write_request 
+0x58b6 021401 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+0x58b7 021402 beq attop_execute_write_request ,le_parse_att_execute_write_request 
+0x58b8 021403 beq attop_write_command ,le_parse_att_write_command 
+0x58b9 021404 rtn 
+:      021407 le_send_att_exchange_mtu_requset:
+0x58ba 021408 force 3 ,rega 
+0x58bb 021409 call le_fifo_malloc_tx_l2cap_gatt 
+0x58bc 021410 setarg attop_exchange_mtu_request 
+0x58bd 021411 istore 1 ,contw 
+0x58be 021412 fetch 2 ,mem_le_local_mtu 
+0x58bf 021413 istore 2 ,contw 
+0x58c0 021414 rtn 
+:      021417 le_parse_att_exchange_mtu_request:
+0x58c1 021418 call le_parse_att_exchange_mtu_response 
+:      021419 le_send_att_exchange_mtu_response:
+0x58c2 021420 force 3 ,rega 
+0x58c3 021421 call le_fifo_malloc_tx_l2cap_gatt 
+0x58c4 021422 setarg attop_exchange_mtu_response 
+0x58c5 021423 istore 1 ,contw 
+0x58c6 021424 fetch 2 ,mem_le_local_mtu 
+0x58c7 021425 istore 2 ,contw 
+0x58c8 021426 rtn 
+:      021428 le_parse_att_exchange_mtu_response:
+0x58c9 021429 rshift8 pdata ,pdata 
+0x58ca 021430 store 2 ,mem_le_remote_mtu 
+0x58cb 021431 rtn 
+:      021433 le_parse_att_find_information_request:
+0x58cc 021434 call le_get_search_handle_start_end_common 
+0x58cd 021435 call enable_user 
+0x58ce 021436 branch le_send_att_find_information_response 
+:      021438 le_send_att_find_information_response:
+0x58cf 021439 arg 3 ,timeup 
+0x58d0 021440 call le_init_attlist_search 
+:      021441 le_send_att_find_information_res_loop:
+0x58d1 021442 call le_att_handle_inrange 
+0x58d2 021443 branch le_send_att_find_information_res_end ,blank 
+0x58d3 021444 nbranch le_send_att_find_information_res_next ,positive 
+0x58d4 021445 increase -2 ,contr 
+0x58d5 021446 call store_contr 
+0x58d6 021447 call get_contw 
+0x58d7 021448 nbranch le_send_att_find_information_res_store_info ,user 
+0x58d8 021449 call push_stack_rega_b_c 
+0x58d9 021450 call disable_user 
+0x58da 021451 force 20 ,rega 
+0x58db 021452 call le_fifo_malloc_tx_l2cap_gatt 
+0x58dc 021453 call pop_stack_rega_b_c 
+0x58dd 021454 setarg attop_find_information_response 
+0x58de 021455 istore 1 ,contw 
+0x58df 021456 setarg uuid_size_16bit 
+0x58e0 021457 istore 1 ,contw 
+:      021458 le_send_att_find_information_res_store_info:
+0x58e1 021459 call get_contr 
+0x58e2 021460 ifetch 2 ,contr 
+0x58e3 021461 istore 2 ,contw 
+0x58e4 021462 ifetch 1 ,contr 
+0x58e5 021463 copy pdata ,loopcnt 
+0x58e6 021464 call memcpy 
+0x58e7 021465 call store_contw 
+0x58e8 021466 increase -1 ,timeup 
+0x58e9 021467 branch le_send_att_find_information_res_end ,zero 
+:      021468 le_send_att_find_information_res_cont:
+0x58ea 021469 ifetch 1 ,contr 
+0x58eb 021470 iadd contr ,contr 
+0x58ec 021471 branch le_send_att_find_information_res_loop 
+:      021472 le_send_att_find_information_res_next:
+0x58ed 021473 ifetch 1 ,contr 
+0x58ee 021474 iadd contr ,contr 
+0x58ef 021475 branch le_send_att_find_information_res_cont 
+:      021476 le_send_att_find_information_res_end:
+0x58f0 021477 branch le_send_att_error_response_notfound ,user 
+0x58f1 021478 branch le_send_auto_len_by_mem 
+:      021481 le_parse_att_find_by_type_value_request:
+0x58f2 021482 call le_get_search_handle_start_end_common 
+0x58f3 021483 ifetch 2 ,contr 
+0x58f4 021484 store 2 ,mem_le_search_uuid 
+0x58f5 021485 call store_contr 
+0x58f6 021486 arg mem_le_search_att_type_length ,contw 
+0x58f7 021487 fetch 2 ,mem_le_l2cap_size 
+0x58f8 021488 increase -7 ,pdata 
+0x58f9 021489 call le_get_search_common2 
+0x58fa 021490 branch le_send_att_find_by_type_value_response 
+:      021493 le_start_end_handle_check_1:
+0x58fb 021494 disable user 
+0x58fc 021495 fetcht 2 ,mem_le_search_handle_start 
+0x58fd 021496 fetch 2 ,mem_le_search_handle_end 
+0x58fe 021497 isub temp ,null 
+0x58ff 021498 nbranch le_start_end_handle_check_1_fail ,positive 
+0x5900 021499 deposit temp 
+0x5901 021500 rtnne 0 
+:      021501 le_start_end_handle_check_1_fail:
+0x5902 021502 enable user 
+0x5903 021503 jam att_err_invalid_handle ,mem_le_err_code 
+0x5904 021504 branch le_send_att_error_response 
+:      021507 le_send_att_find_by_type_value_response:
+0x5905 021508 call le_start_end_handle_check_1 
+0x5906 021509 rtn user 
+0x5907 021510 fetcht 2 ,mem_le_search_uuid 
+0x5908 021511 setarg uuid_gatt_primary_service 
+0x5909 021512 isub temp ,null 
+0x590a 021513 branch le_send_att_find_by_type_value_res_primary ,zero 
+0x590b 021514 branch le_send_att_error_response_notfound 
+:      021517 le_send_att_find_by_type_value_res_primary:
+0x590c 021518 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+0x590d 021519 fetcht 2 ,mem_le_search_handle_start 
+0x590e 021520 storet 2 ,mem_temp 
+0x590f 021521 call le_att_get_handle_info 
+0x5910 021522 nbranch le_send_att_error_response_notfound ,blank 
+:      021523 le_send_att_find_primary_search_loop:
+0x5911 021524 fetcht 2 ,mem_temp 
+0x5912 021525 call le_att_get_handle_info 
+0x5913 021526 nbranch le_send_att_error_response_notfound2 ,blank 
+0x5914 021527 copy contr ,rega 
+0x5915 021528 fetch 1 ,mem_le_curr_att_len 
+0x5916 021529 copy pdata ,loopcnt 
+0x5917 021530 fetcht 1 ,mem_le_search_att_type_length 
+0x5918 021531 isub temp ,null 
+0x5919 021532 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x591a 021533 arg mem_le_search_att_type ,regb 
+0x591b 021534 call string_compare 
+0x591c 021536 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+0x591d 021538 fetch 2 ,mem_le_cur_uuid 
+0x591e 021539 fetcht 2 ,mem_le_search_uuid 
+0x591f 021540 isub temp ,null 
+0x5920 021541 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+:      021542 le_send_att_find_primary_search_loop1:
+0x5921 021543 fetch 2 ,mem_temp 
+0x5922 021544 increase 1 ,pdata 
+0x5923 021545 store 2 ,mem_temp 
+0x5924 021546 branch le_send_att_find_primary_search_loop 
+:      021548 le_send_att_error_response_notfound2:
+0x5925 021549 fetch 1 ,mem_le_search_res 
+0x5926 021550 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+0x5927 021551 branch le_send_att_error_response_notfound 
+:      021554 le_send_att_find_primary_search_end_start_handle_found:
+0x5928 021555 fetch 2 ,mem_le_cur_uuid 
+0x5929 021556 fetcht 2 ,mem_le_search_uuid 
+0x592a 021557 isub temp ,null 
+0x592b 021558 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x592c 021559 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+0x592d 021561 fetcht 2 ,mem_temp 
+0x592e 021562 storet 2 ,mem_le_cur_handle_start 
+0x592f 021563 branch le_send_att_find_primary_search_loop1 
+:      021565 le_send_att_find_primary_search_end_ending_handle_found:
+0x5930 021566 fetch 1 ,mem_le_search_res 
+0x5931 021567 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+0x5932 021568 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+0x5933 021569 fetcht 2 ,mem_temp 
+0x5934 021570 increase -1 ,temp 
+0x5935 021571 storet 2 ,mem_le_cur_handle_end 
+:      021573 le_send_att_find_primary_search_end:
+0x5936 021574 arg 5 ,rega 
+0x5937 021575 call le_fifo_malloc_tx_l2cap_gatt 
+0x5938 021576 setarg attop_find_by_type_value_response 
+0x5939 021577 istore 1 ,contw 
+0x593a 021578 fetch 2 ,mem_le_cur_handle_start 
+0x593b 021579 istore 2 ,contw 
+0x593c 021580 fetch 2 ,mem_le_cur_handle_end 
+0x593d 021581 istore 2 ,contw 
+0x593e 021582 rtn 
+:      021586 le_parse_att_read_by_type_request:
+0x593f 021587 call le_get_search_handle_start_end_common 
+0x5940 021588 call le_get_search_att_uuid 
+0x5941 021589 branch le_send_att_read_by_type_response 
+:      021591 le_send_att_read_by_type_response:
+0x5942 021592 fetcht 2 ,mem_le_search_handle_start 
+0x5943 021593 storet 2 ,mem_temp 
+0x5944 021594 call le_init_attlist_search 
+0x5945 021595 call le_att_get_handle_ptr2 
+0x5946 021596 increase -2 ,contr 
+0x5947 021597 copy contr ,pdata 
+0x5948 021598 store 2 ,mem_le_cur_attlist_start_ptr 
+0x5949 021600 fetcht 2 ,mem_le_search_uuid 
+0x594a 021601 setarg uuid_chrctr_device_name 
+0x594b 021602 isub temp ,null 
+0x594c 021603 branch le_send_att_read_by_type_res_device_name ,zero 
+0x594d 021604 setarg uuid_gatt_characteristic 
+0x594e 021605 isub temp ,null 
+0x594f 021606 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+0x5950 021607 arg 2 ,timeup 
+:      021608 le_send_att_read_by_type_response_loop:
+0x5951 021609 call le_att_check_handle_end 
+0x5952 021610 nbranch le_send_att_read_by_type_response_end ,positive 
+0x5953 021611 fetcht 2 ,mem_temp 
+0x5954 021612 call le_att_get_handle_info_from_ptr 
+0x5955 021613 beq 1 ,le_send_att_read_by_type_response_end 
+0x5956 021614 call le_att_same_uuid 
+0x5957 021615 nbranch le_send_att_read_by_type_response_next_handle ,zero 
+0x5958 021616 nbranch le_send_att_read_by_type_res_found_next ,user 
+0x5959 021617 disable user 
+0x595a 021618 arg 20 ,rega 
+0x595b 021619 call le_fifo_malloc_tx_l2cap_gatt 
+0x595c 021620 setarg attop_read_by_type_response 
+0x595d 021621 istore 1 ,contw 
+0x595e 021622 copy contw ,alarm 
+0x595f 021623 increase 1 ,contw 
+0x5960 021625 call le_send_att_read_by_type_write_properties 
+0x5961 021626 call le_att_next_handle 
+0x5962 021627 call le_att_get_handle_info_from_ptr 
+0x5963 021628 call le_send_att_read_by_type_write_uuid 
+0x5964 021629 fetch 1 ,mem_le_cur_uuid_length 
+0x5965 021630 increase 5 ,pdata 
+0x5966 021631 istore 1 ,alarm 
+0x5967 021632 fetch 1 ,mem_le_cur_uuid_length 
+0x5968 021633 beq 16 ,le_send_att_read_by_type_response_end 
+0x5969 021634 increase -1 ,timeup 
+0x596a 021635 branch le_send_att_read_by_type_response_end ,zero 
+:      021636 le_send_att_read_by_type_response_next_handle:
+0x596b 021637 call le_att_next_handle 
+0x596c 021638 branch le_send_att_read_by_type_response_loop 
+:      021639 le_send_att_read_by_type_response_end:
+0x596d 021640 branch le_send_att_error_response_notfound ,user 
+0x596e 021641 branch le_send_auto_len_by_mem 
+:      021643 le_send_att_read_by_type_res_found_next:
+0x596f 021644 call le_store_att_record 
+0x5970 021645 call le_att_next_handle 
+0x5971 021646 call le_att_get_handle_info_from_ptr 
+0x5972 021647 fetch 1 ,mem_le_cur_uuid_length 
+0x5973 021648 beq 16 ,le_send_att_read_by_type_response_end 
+0x5974 021650 call get_contw 
+0x5975 021651 fetch 2 ,mem_temp 
+0x5976 021652 increase -1 ,pdata 
+0x5977 021653 istore 2 ,contw 
+0x5978 021654 call le_write_att_record_common 
+0x5979 021655 call le_send_att_read_by_type_write_uuid 
+0x597a 021656 increase -1 ,timeup 
+0x597b 021657 branch le_send_att_read_by_type_response_end ,zero 
+0x597c 021658 branch le_send_att_read_by_type_response_next_handle 
+:      021661 le_send_att_read_by_type_write_properties:
+0x597d 021662 fetch 2 ,mem_temp 
+0x597e 021663 istore 2 ,contw 
+0x597f 021665 fetch 1 ,mem_le_curr_att_len 
+0x5980 021666 copy pdata ,loopcnt 
+0x5981 021667 call get_contr 
+0x5982 021668 call memcpy_fast 
+0x5983 021669 branch store_contw 
+:      021670 le_send_att_read_by_type_write_uuid:
+0x5984 021671 call get_contw 
+0x5985 021672 fetch 2 ,mem_temp 
+0x5986 021673 istore 2 ,contw 
+0x5987 021674 call store_contw 
+0x5988 021675 fetch 1 ,mem_le_cur_uuid_length 
+0x5989 021676 copy pdata ,loopcnt 
+0x598a 021677 call get_contw 
+0x598b 021678 call get_contr 
+0x598c 021679 isub loopcnt ,contr 
+0x598d 021680 increase -1 ,contr 
+0x598e 021681 call memcpy_fast 
+0x598f 021682 branch store_contw 
+:      021686 le_send_att_read_by_type_res_not_characteristic:
+0x5990 021687 fetcht 2 ,mem_le_search_handle_start 
+0x5991 021688 storet 2 ,mem_temp 
+:      021689 le_send_att_read_by_type_res_not_char_loop:
+0x5992 021690 call le_att_check_handle_end 
+0x5993 021691 nbranch le_send_att_error_response_notfound ,positive 
+0x5994 021692 call le_att_get_handle_info_from_ptr 
+0x5995 021693 beq 1 ,le_send_att_error_response_notfound 
+0x5996 021694 call le_att_same_uuid 
+0x5997 021695 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+:      021697 le_send_att_read_by_type_res_not_char_common:
+0x5998 021698 arg 20 ,rega 
+0x5999 021699 call le_fifo_malloc_tx_l2cap_gatt 
+0x599a 021700 setarg attop_read_by_type_response 
+0x599b 021701 istore 1 ,contw 
+0x599c 021702 fetch 1 ,mem_le_curr_att_len 
+0x599d 021703 copy pdata ,loopcnt 
+0x599e 021704 increase 2 ,pdata 
+0x599f 021705 istore 1 ,contw 
+0x59a0 021706 fetch 2 ,mem_temp 
+0x59a1 021707 istore 2 ,contw 
+0x59a2 021708 call get_contr 
+0x59a3 021709 call memcpy_fast 
+0x59a4 021710 call store_contw 
+0x59a5 021711 branch le_send_auto_len_by_mem 
+:      021713 le_send_att_read_by_type_res_not_char_next:
+0x59a6 021714 call le_att_next_handle 
+0x59a7 021715 branch le_send_att_read_by_type_res_not_char_loop 
+:      021718 le_send_att_read_by_type_res_device_name:
+0x59a8 021719 arg uuid_chrctr_device_name ,temp 
+0x59a9 021720 call le_att_get_short_uuid_ptr 
+0x59aa 021721 rtn blank 
+0x59ab 021722 increase -5 ,contr 
+0x59ac 021723 ifetch 2 ,contr 
+0x59ad 021724 store 2 ,mem_temp 
+0x59ae 021725 arg 20 ,rega 
+0x59af 021726 call le_fifo_malloc_tx_l2cap_gatt 
+0x59b0 021727 setarg attop_read_by_type_response 
+0x59b1 021728 istore 1 ,contw 
+0x59b2 021729 fetch 1 ,mem_le_name_len 
+0x59b3 021730 copy pdata ,loopcnt 
+0x59b4 021731 increase 2 ,pdata 
+0x59b5 021732 istore 1 ,contw 
+0x59b6 021733 fetch 2 ,mem_temp 
+0x59b7 021734 istore 2 ,contw 
+0x59b8 021735 arg mem_le_name ,contr 
+0x59b9 021736 call memcpy_fast 
+0x59ba 021737 call store_contw 
+0x59bb 021738 branch le_send_auto_len_by_mem 
+:      021742 le_parse_att_read_request:
+0x59bc 021743 fetcht 2 ,mem_le_att_handle 
+0x59bd 021744 fetch 1 ,mem_le_configuration 
+0x59be 021745 bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+:      021747 le_send_att_read_response:
+0x59bf 021748 call le_att_get_handle_ptr 
+0x59c0 021749 branch le_send_att_error_response_notfound ,blank 
+0x59c1 021750 increase -2 ,contr 
+0x59c2 021751 ifetch 2 ,contr 
+0x59c3 021752 arg uuid_chrctr_device_name ,temp 
+0x59c4 021753 isub temp ,null 
+0x59c5 021754 branch le_send_device_name ,zero 
+0x59c6 021755 ifetch 1 ,contr 
+0x59c7 021756 sub pdata ,22 ,null 
+0x59c8 021757 branch le_send_att_read_response_less ,positive 
+0x59c9 021758 force 22 ,pdata 
+:      021759 le_send_att_read_response_less:
+0x59ca 021760 copy pdata ,regc 
+0x59cb 021761 call store_contr 
+0x59cc 021762 add regc ,1 ,rega 
+0x59cd 021763 call le_fifo_malloc_tx_l2cap_gatt 
+0x59ce 021764 setarg attop_read_response 
+0x59cf 021765 istore 1 ,contw 
+0x59d0 021766 copy regc ,loopcnt 
+0x59d1 021767 call get_contr 
+0x59d2 021768 branch memcpy 
+:      021770 le_send_device_name:
+0x59d3 021771 call store_contr 
+0x59d4 021772 fetch 1 ,mem_le_name_len 
+0x59d5 021773 add pdata ,1 ,rega 
+0x59d6 021774 call le_fifo_malloc_tx_l2cap_gatt 
+0x59d7 021775 setarg attop_read_response 
+0x59d8 021776 istore 1 ,contw 
+0x59d9 021777 fetch 1 ,mem_le_name_len 
+0x59da 021778 copy pdata ,loopcnt 
+0x59db 021779 arg mem_le_name ,contr 
+0x59dc 021780 branch memcpy 
+:      021783 le_send_att_read_response_check_auth:
+0x59dd 021784 fetch 2 ,mem_le_pairing_handle 
+0x59de 021785 isub temp ,null 
+0x59df 021786 nbranch le_send_att_read_response ,zero 
+0x59e0 021788 call le_check_encrypt_state 
+0x59e1 021789 nbranch le_send_att_read_response ,user 
+0x59e2 021790 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x59e3 021791 branch le_send_att_error_response 
+:      021794 le_parse_att_read_blob_request:
+0x59e4 021795 ifetch 2 ,contr 
+0x59e5 021796 store 2 ,mem_le_att_offset 
+:      021797 le_send_att_read_blob_response:
+0x59e6 021798 arg 20 ,rega 
+0x59e7 021799 call le_fifo_malloc_tx_l2cap_gatt 
+0x59e8 021800 setarg attop_read_blob_response 
+0x59e9 021801 istore 1 ,contw 
+0x59ea 021802 fetch 2 ,mem_le_att_offset 
+0x59eb 021803 iforce rega 
+0x59ec 021804 fetcht 2 ,mem_le_att_handle 
+0x59ed 021805 call le_att_get_handle_ptr 
+0x59ee 021806 branch le_send_att_error_response_notfound ,blank 
+0x59ef 021807 ifetch 1 ,contr 
+0x59f0 021808 isub rega ,loopcnt 
+0x59f1 021809 nbranch le_send_att_error_response_notfound ,positive 
+0x59f2 021810 sub loopcnt ,22 ,null 
+0x59f3 021811 branch le_send_att_read_blob_response_less ,positive 
+0x59f4 021812 force 22 ,loopcnt 
+:      021813 le_send_att_read_blob_response_less:
+0x59f5 021814 deposit rega 
+0x59f6 021815 iadd contr ,contr 
+0x59f7 021816 call memcpy_fast 
+0x59f8 021817 call store_contw 
+0x59f9 021818 branch le_send_auto_len_by_mem 
+:      021821 le_parse_att_read_by_group_type_request:
+0x59fa 021822 call le_get_search_handle_start_end_common 
+0x59fb 021823 call le_get_search_att_type 
+0x59fc 021824 branch le_send_att_read_by_group_type_response 
+:      021829 le_send_att_read_by_group_type_response:
+0x59fd 021830 arg 2 ,timeup 
+0x59fe 021831 fetcht 2 ,mem_le_search_handle_start 
+0x59ff 021835 storet 2 ,mem_temp 
+0x5a00 021836 call le_init_attlist_search 
+0x5a01 021837 call le_att_get_handle_ptr2 
+0x5a02 021838 increase -2 ,contr 
+0x5a03 021839 copy contr ,pdata 
+0x5a04 021840 store 2 ,mem_le_cur_attlist_start_ptr 
+:      021841 le_send_att_read_by_group_type_response_loop:
+0x5a05 021842 call le_att_check_handle_end 
+0x5a06 021843 nbranch le_send_att_read_by_group_type_end0 ,positive 
+0x5a07 021844 fetcht 2 ,mem_temp 
+0x5a08 021845 call le_att_get_handle_info_from_ptr 
+0x5a09 021846 beq 1 ,le_send_att_read_by_group_type_end1 
+0x5a0a 021848 call le_att_same_type 
+0x5a0b 021849 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+0x5a0c 021850 copy timeup ,pdata 
+0x5a0d 021851 beq 0 ,le_send_att_read_by_group_type_end1 
+0x5a0e 021852 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+0x5a0f 021853 disable user 
+0x5a10 021855 arg 20 ,rega 
+0x5a11 021856 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a12 021857 setarg attop_read_by_group_type_response 
+0x5a13 021858 istore 1 ,contw 
+0x5a14 021859 fetch 1 ,mem_le_curr_att_len 
+0x5a15 021860 increase 4 ,pdata 
+0x5a16 021861 istore 1 ,contw 
+0x5a17 021862 call store_contw 
+0x5a18 021863 branch le_send_att_read_by_group_type_store_record 
+:      021864 le_send_att_read_by_group_type_store_write_record:
+0x5a19 021865 fetch 1 ,mem_le_curr_att_len 
+0x5a1a 021866 beq 16 ,le_send_att_read_by_group_type_end1 
+0x5a1b 021867 fetch 2 ,mem_temp 
+0x5a1c 021868 increase -1 ,pdata 
+0x5a1d 021869 store 2 ,mem_le_cur_handle_end 
+0x5a1e 021870 call le_write_att_record 
+:      021871 le_send_att_read_by_group_type_store_record:
+0x5a1f 021872 fetch 2 ,mem_temp 
+0x5a20 021873 store 2 ,mem_le_cur_handle_start 
+0x5a21 021874 call le_store_att_record 
+0x5a22 021875 increase -1 ,timeup 
+:      021877 le_send_att_read_by_group_type_next_handle:
+0x5a23 021878 call le_att_next_handle 
+0x5a24 021879 branch le_send_att_read_by_group_type_response_loop 
+:      021881 le_send_att_read_by_group_type_end0:
+0x5a25 021882 fetch 2 ,mem_temp 
+0x5a26 021883 store 2 ,mem_le_cur_handle_end 
+0x5a27 021884 branch le_send_att_read_by_group_type_end_common 
+:      021885 le_send_att_read_by_group_type_end1:
+0x5a28 021886 fetch 2 ,mem_temp 
+0x5a29 021887 increase -1 ,pdata 
+0x5a2a 021888 store 2 ,mem_le_cur_handle_end 
+0x5a2b 021889 branch le_send_att_read_by_group_type_end_common 
+:      021890 le_send_att_read_by_group_type_end_common:
+0x5a2c 021891 branch le_send_att_error_response_notfound ,user 
+0x5a2d 021892 call le_write_att_record 
+0x5a2e 021893 branch le_send_auto_len_by_mem 
+:      021898 le_parse_att_write_request:
+0x5a2f 021899 copy contr ,rega 
+0x5a30 021900 fetch 2 ,mem_le_l2cap_size 
+0x5a31 021901 add pdata ,-3 ,regb 
+0x5a32 021902 call le_writeatt_cb 
+:      021903 le_send_att_write_response_check_auth:
+0x5a33 021904 fetch 1 ,mem_le_configuration 
+0x5a34 021905 bbit0 bit_ble_write_auth ,le_send_att_write_response 
+0x5a35 021907 fetcht 2 ,mem_le_att_handle 
+0x5a36 021908 fetch 2 ,mem_le_pairing_handle 
+0x5a37 021909 isub temp ,null 
+0x5a38 021910 nbranch le_send_att_write_response ,zero 
+0x5a39 021911 call le_check_encrypt_state 
+0x5a3a 021912 nbranch le_send_att_write_response ,user 
+0x5a3b 021913 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x5a3c 021914 branch le_send_att_error_response 
+:      021916 le_send_att_write_response:
+0x5a3d 021917 force 1 ,rega 
+0x5a3e 021918 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a3f 021919 setarg attop_write_response 
+0x5a40 021920 istore 1 ,contw 
+0x5a41 021921 rtn 
+:      021923 le_check_encrypt_state:
+0x5a42 021924 call disable_user 
+0x5a43 021925 fetch 1 ,mem_le_pairing_mode 
+0x5a44 021926 rtneq le_pairing_mode_none 
+0x5a45 021927 fetch 1 ,mem_context 
+0x5a46 021928 rtnbit1 lestate_encryption 
+0x5a47 021929 branch enable_user 
+:      021932 le_parse_att_prepare_write_request:
+0x5a48 021933 add contr ,2 ,rega 
+0x5a49 021934 fetch 2 ,mem_le_l2cap_size 
+0x5a4a 021935 add pdata ,-5 ,regb 
+0x5a4b 021936 call le_writeatt_cb 
+0x5a4c 021937 branch le_send_att_prepare_write_response 
+:      021940 le_send_att_prepare_write_response:
+0x5a4d 021941 fetch 2 ,mem_le_l2cap_size 
+0x5a4e 021942 copy pdata ,rega 
+0x5a4f 021943 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a50 021944 setarg attop_prepare_write_response 
+0x5a51 021945 istore 1 ,contw 
+0x5a52 021946 fetch 2 ,mem_le_att_handle 
+0x5a53 021947 istore 2 ,contw 
+0x5a54 021948 fetch 2 ,mem_le_l2cap_size 
+0x5a55 021949 add pdata ,-5 ,loopcnt 
+0x5a56 021950 fetch 2 ,mem_le_payload_ptr 
+0x5a57 021951 add pdata ,7 ,contr 
+0x5a58 021952 ifetch 2 ,contr 
+0x5a59 021953 istore 2 ,contw 
+0x5a5a 021954 branch memcpy_fast 
+:      021958 le_parse_att_execute_write_request:
+:      021960 le_send_att_execute_write_response:
+0x5a5b 021961 force 1 ,rega 
+0x5a5c 021962 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a5d 021963 setarg attop_execute_write_response 
+0x5a5e 021964 istore 1 ,contw 
+0x5a5f 021965 rtn 
+:      021969 le_parse_att_write_command:
+0x5a60 021970 copy contr ,rega 
+0x5a61 021971 fetch 2 ,mem_le_l2cap_size 
+0x5a62 021972 add pdata ,-3 ,regb 
+0x5a63 021973 branch le_writeatt_cb 
+:      021978 le_att_malloc_tx_notify:
+0x5a64 021979 copy temp ,regc 
+0x5a65 021980 increase 3 ,rega 
+0x5a66 021981 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a67 021982 increase -3 ,rega 
+0x5a68 021983 setarg attop_handle_value_notification 
+0x5a69 021984 istore 1 ,contw 
+0x5a6a 021985 copy regc ,temp 
+0x5a6b 021986 istoret 2 ,contw 
+0x5a6c 021987 rtn 
+:      021990 le_att_malloc_tx_indication:
+0x5a6d 021991 copy temp ,regc 
+0x5a6e 021992 increase 3 ,rega 
+0x5a6f 021993 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a70 021994 increase -3 ,rega 
+0x5a71 021995 setarg attop_handle_value_indication 
+0x5a72 021996 istore 1 ,contw 
+0x5a73 021997 copy regc ,temp 
+0x5a74 021998 istoret 2 ,contw 
+0x5a75 021999 rtn 
+:      022004 le_send_att_error_response_notfound:
+0x5a76 022005 jam att_err_attribute_not_found ,mem_le_err_code 
+:      022006 le_send_att_error_response:
+0x5a77 022007 force 5 ,rega 
+0x5a78 022008 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a79 022009 setarg attop_error_response 
+0x5a7a 022010 istore 1 ,contw 
+0x5a7b 022011 fetch 1 ,mem_le_att_opcode 
+0x5a7c 022012 istore 1 ,contw 
+0x5a7d 022013 fetch 2 ,mem_le_att_handle 
+0x5a7e 022014 istore 2 ,contw 
+0x5a7f 022015 fetch 1 ,mem_le_err_code 
+0x5a80 022016 istore 1 ,contw 
+0x5a81 022017 rtn 
+:      022020 le_fifo_malloc_tx_l2cap_gatt:
+0x5a82 022021 force le_l2cap_cid_att ,regb 
+0x5a83 022022 branch le_fifo_malloc_tx_l2cap 
+:      022025 le_att_next_handle:
+0x5a84 022026 fetcht 2 ,mem_temp 
+0x5a85 022027 increase 1 ,temp 
+0x5a86 022028 storet 2 ,mem_temp 
+0x5a87 022029 rtn 
+:      022031 le_att_check_handle_end:
+0x5a88 022032 fetcht 2 ,mem_temp 
+0x5a89 022033 fetch 2 ,mem_le_search_handle_end 
+0x5a8a 022034 isub temp ,null 
+0x5a8b 022035 rtn 
+:      022038 le_att_same_type:
+0x5a8c 022039 fetcht 1 ,mem_le_search_att_type_length 
+0x5a8d 022040 arg mem_le_search_att_type ,rega 
+:      022041 le_att_check_same_common:
+0x5a8e 022042 fetch 1 ,mem_le_cur_uuid_length 
+0x5a8f 022043 copy pdata ,loopcnt 
+0x5a90 022044 isub temp ,null 
+0x5a91 022045 nrtn zero 
+0x5a92 022046 arg mem_le_cur_uuid ,regb 
+0x5a93 022047 branch string_compare 
+:      022049 le_att_same_uuid:
+0x5a94 022050 fetcht 1 ,mem_le_search_uuid_length 
+0x5a95 022051 arg mem_le_search_uuid ,rega 
+0x5a96 022052 branch le_att_check_same_common 
+:      022055 le_store_att_record:
+0x5a97 022056 fetch 1 ,mem_le_curr_att_len 
+0x5a98 022057 store 1 ,mem_tmp_buffer 
+0x5a99 022058 copy pdata ,loopcnt 
+0x5a9a 022059 call get_contr 
+0x5a9b 022060 branch memcpy_fast 
+:      022063 le_write_att_record:
+0x5a9c 022064 call get_contw 
+0x5a9d 022065 fetch 2 ,mem_le_cur_handle_start 
+0x5a9e 022066 istore 2 ,contw 
+0x5a9f 022067 fetch 2 ,mem_le_cur_handle_end 
+0x5aa0 022068 istore 2 ,contw 
+:      022069 le_write_att_record_common:
+0x5aa1 022070 fetch 1 ,mem_tmp_buffer 
+0x5aa2 022071 copy pdata ,loopcnt 
+0x5aa3 022072 call memcpy_fast 
+0x5aa4 022073 branch store_contw 
+:      022077 le_send_auto_len_by_mem:
+0x5aa5 022078 call get_contw 
+0x5aa6 022079 call le_fifo_get_last_att_ptr 
+0x5aa7 022080 copy contw ,pdata 
+0x5aa8 022081 isub contr ,rega 
+0x5aa9 022082 call le_fifo_get_last_l2cap_ptr 
+0x5aaa 022083 copy rega ,pdata 
+0x5aab 022084 istore 2 ,contr 
+0x5aac 022085 increase 4 ,rega 
+0x5aad 022086 call le_fifo_get_last_tx_ptr 
+0x5aae 022087 copy rega ,pdata 
+0x5aaf 022088 istore 1 ,contr 
+0x5ab0 022089 rtn 
+:      022092 le_get_search_handle_start_end_common:
+0x5ab1 022093 rshift8 pdata ,pdata 
+0x5ab2 022094 store 2 ,mem_le_search_handle_start 
+0x5ab3 022095 ifetch 2 ,contr 
+0x5ab4 022096 store 2 ,mem_le_search_handle_end 
+0x5ab5 022097 rtn 
+:      022102 le_parse_signaling:
+0x5ab6 022103 ifetch 1 ,contr 
+0x5ab7 022104 ifetcht 1 ,contr 
+0x5ab8 022105 ifetcht 2 ,contr 
+0x5ab9 022106 beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+0x5aba 022107 rtn 
+:      022108 le_l2cap_parse_conn_parameter_update_rsp:
+0x5abb 022109 ifetch 2 ,contr 
+0x5abc 022110 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x5abd 022111 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+0x5abe 022112 branch ui_ipc_send_event 
+:      022118 le_l2cap_tx_update_req:
+0x5abf 022119 arg 0x0c ,rega 
+0x5ac0 022120 arg l2cap_connection_parameter_update_request ,regc 
+0x5ac1 022121 call le_fifo_malloc_tx_l2cap_signaling 
+0x5ac2 022122 setarg 0x08 
+0x5ac3 022123 istore 2 ,contw 
+0x5ac4 022124 fetch 8 ,mem_le_interval_min 
+0x5ac5 022125 istore 8 ,contw 
+0x5ac6 022126 rtn 
+:      022130 le_fifo_malloc_tx_l2cap_signaling:
+0x5ac7 022131 call le_l2cap_update_signaling_identifier 
+0x5ac8 022132 arg le_l2cap_cid_signal ,regb 
+0x5ac9 022133 call le_fifo_malloc_tx_l2cap 
+0x5aca 022134 copy regc ,pdata 
+0x5acb 022135 istore 1 ,contw 
+0x5acc 022136 fetch 1 ,mem_le_signaling_identifier 
+0x5acd 022137 istore 1 ,contw 
+0x5ace 022138 rtn 
+:      022141 le_l2cap_update_signaling_identifier:
+0x5acf 022142 fetch 1 ,mem_le_signaling_identifier 
+0x5ad0 022144 pincrease 1 
+0x5ad1 022145 store 1 ,mem_le_signaling_identifier 
+0x5ad2 022146 rtnne 0 
+:      022148 le_l2cap_reset_signaling_identifier:
+0x5ad3 022149 jam 1 ,mem_le_signaling_identifier 
+0x5ad4 022150 rtn 
+:      022155 le_pairing_mode_init:
+0x5ad5 022156 fetch 1 ,mem_le_pairing_mode 
+0x5ad6 022157 beq le_pairing_mode_none ,le_set_no_pairing 
+0x5ad7 022158 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+0x5ad8 022159 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+0x5ad9 022160 beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+0x5ada 022161 beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+0x5adb 022162 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+0x5adc 022163 rtn 
+:      022165 le_set_pairing_mode_secure_justwork:
+0x5add 022166 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ade 022167 branch le_set_noinputnooutput 
+:      022168 le_set_pairing_mode_secure_numeric:
+0x5adf 022169 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ae0 022170 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x5ae1 022171 rtn 
+:      022172 le_set_pairing_mode_secure_passkey:
+0x5ae2 022173 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ae3 022174 branch le_set_displayonly 
+:      022175 le_set_no_pairing:
+0x5ae4 022176 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      022177 le_set_noinputnooutput:
+0x5ae5 022178 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x5ae6 022179 rtn 
+:      022180 le_set_pairing_mode_lagacy_just_work:
+0x5ae7 022181 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x5ae8 022182 branch le_set_noinputnooutput 
+:      022183 le_set_pairing_mode_lagacy_passkey:
+0x5ae9 022184 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      022185 le_set_displayonly:
+0x5aea 022186 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x5aeb 022187 rtn 
+:      022190 le_secure_connection_enable:
+0x5aec 022191 fetch 1 ,mem_le_pres_auth 
+0x5aed 022192 set1 le_auth_secure_connection_pairing_bit ,pdata 
+0x5aee 022193 store 1 ,mem_le_pres_auth 
+0x5aef 022194 rtn 
+:      022195 le_secure_connection_disable:
+0x5af0 022196 fetch 1 ,mem_le_pres_auth 
+0x5af1 022197 set0 le_auth_secure_connection_pairing_bit ,pdata 
+0x5af2 022198 store 1 ,mem_le_pres_auth 
+0x5af3 022199 rtn 
+:      022201 le_parse_smp:
+0x5af4 022202 ifetch 1 ,contr 
+0x5af5 022203 beq smp_pairing_request ,le_parse_smp_pairing_request 
+0x5af6 022205 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+0x5af7 022206 beq smp_pairing_random ,le_parse_smp_pairing_random 
+0x5af8 022207 beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+0x5af9 022208 beq smp_encryption_information ,le_parse_smp_encryption_information 
+0x5afa 022209 beq smp_master_identification ,le_parse_smp_master_identification 
+0x5afb 022210 beq smp_identity_information ,le_parse_smp_identity_information 
+0x5afc 022211 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+0x5afd 022212 beq smp_signing_information ,le_parse_smp_signing_information 
+0x5afe 022213 beq smp_security_request ,le_parse_smp_security_request 
+0x5aff 022214 beq smp_pairing_public_key ,le_parse_smp_public_key 
+0x5b00 022215 beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+0x5b01 022216 rtn 
+:      022220 le_send_smp_security_request:
+0x5b02 022221 force 2 ,rega 
+0x5b03 022222 call le_fifo_malloc_tx_l2cap_smp 
+0x5b04 022223 setarg smp_security_request 
+0x5b05 022224 istore 1 ,contw 
+0x5b06 022225 fetch 1 ,mem_le_pres_auth 
+0x5b07 022226 istore 1 ,contw 
+0x5b08 022227 rtn 
+:      022229 le_parse_smp_pairing_request:
+0x5b09 022230 store 1 ,mem_le_preq 
+0x5b0a 022231 ifetch 6 ,contr 
+0x5b0b 022232 istore 6 ,contw 
+0x5b0c 022233 fetch 1 ,mem_le_pairing_mode 
+0x5b0d 022234 beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+0x5b0e 022235 call le_send_smp_pairing_response 
+0x5b0f 022236 call le_check_master_support_secure_connect 
+0x5b10 022237 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+0x5b11 022238 fetch 1 ,mem_le_preq_iocap 
+0x5b12 022239 beq flag_iocap_displayonly ,le_set_tk_0 
+0x5b13 022240 beq flag_iocap_displayyesno ,le_set_tk_0 
+0x5b14 022241 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+0x5b15 022242 fetch 1 ,mem_le_pairing_mode 
+0x5b16 022243 beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+0x5b17 022244 rtneq le_pairing_mode_secure_connect_passkey 
+:      022245 le_set_tk_0:
+0x5b18 022246 arg 0 ,pdata 
+0x5b19 022247 store 4 ,mem_le_tk 
+0x5b1a 022248 rtn 
+:      022250 le_parse_smp_pairing_req_passkey:
+0x5b1b 022251 fetch 1 ,mem_le_configuration 
+0x5b1c 022252 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+:      022253 le_genernate_tk:
+0x5b1d 022254 arg mem_le_tk ,rega 
+0x5b1e 022255 copy rega ,contw 
+0x5b1f 022256 arg 3 ,loopcnt 
+0x5b20 022257 call generate_random_loop 
+0x5b21 022258 fetch 2 ,mem_le_tk + 2 
+0x5b22 022259 and_into 0x7 ,pdata 
+0x5b23 022260 store 2 ,mem_le_tk + 2 
+:      022261 le_parse_smp_pairing_req_fixed_passkey:
+0x5b24 022262 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+0x5b25 022263 branch ui_ipc_send_event 
+:      022265 le_check_master_support_secure_connect:
+0x5b26 022266 fetch 1 ,mem_le_preq_auth 
+0x5b27 022267 rtnbit1 le_auth_secure_connection_pairing_bit 
+0x5b28 022268 fetch 1 ,mem_le_pairing_mode 
+0x5b29 022269 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5b2a 022270 branch app_ble_disconnect 
+:      022272 le_send_smp_pairing_response:
+0x5b2b 022273 force 7 ,rega 
+0x5b2c 022274 call le_fifo_malloc_tx_l2cap_smp 
+0x5b2d 022275 fetch 7 ,mem_le_pres 
+0x5b2e 022276 istore 7 ,contw 
+0x5b2f 022277 rtn 
+:      022280 le_parse_smp_pairing_confirm:
+0x5b30 022281 copy contr ,rega 
+0x5b31 022282 fetch 1 ,mem_le_pairing_mode 
+0x5b32 022283 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+0x5b33 022284 copy rega ,contr 
+0x5b34 022285 arg mem_le_rconfirm ,contw 
+0x5b35 022286 call memcpy16 
+0x5b36 022287 branch le_send_smp_pairing_confirm 
+:      022288 le_parse_smp_pairing_confirm_secure_passkey:
+0x5b37 022289 copy rega ,contr 
+0x5b38 022290 arg mem_le_rconfirm ,contw 
+0x5b39 022291 call memcpy16 
+0x5b3a 022292 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5b3b 022293 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+0x5b3c 022294 rtn 
+:      022297 le_send_smp_pairing_confirm:
+0x5b3d 022298 fetch 1 ,mem_le_pairing_mode 
+0x5b3e 022299 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+0x5b3f 022300 call generate_confirm 
+0x5b40 022301 force 17 ,rega 
+0x5b41 022302 call le_fifo_malloc_tx_l2cap_smp 
+0x5b42 022303 setarg smp_pairing_confirm 
+0x5b43 022304 istore 1 ,contw 
+0x5b44 022305 branch store_aes_result 
+:      022308 le_send_smp_pairing_confirm_sc:
+0x5b45 022309 arg mem_le_srand ,contw 
+0x5b46 022310 call generate_random 
+0x5b47 022311 call function_f4_cb 
+0x5b48 022312 force 17 ,rega 
+0x5b49 022313 call le_fifo_malloc_tx_l2cap_smp 
+0x5b4a 022314 setarg smp_pairing_confirm 
+0x5b4b 022315 istore 1 ,contw 
+0x5b4c 022316 branch load_inverse_result 
+:      022320 le_parse_smp_pairing_random:
+0x5b4d 022321 copy contr ,rega 
+0x5b4e 022322 fetch 1 ,mem_le_pairing_mode 
+0x5b4f 022323 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+0x5b50 022324 copy rega ,contr 
+0x5b51 022325 call authenticate_rconfirm 
+0x5b52 022326 branch le_parse_smp_pairing_random_success ,zero 
+:      022327 le_send_pairing_confirm_value_failed:
+0x5b53 022328 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+:      022329 le_send_pairing_failed:
+0x5b54 022330 force 2 ,rega 
+0x5b55 022331 call le_fifo_malloc_tx_l2cap_smp 
+0x5b56 022332 setarg smp_pairing_failed 
+0x5b57 022333 istore 1 ,contw 
+0x5b58 022334 fetch 1 ,mem_le_ll_pairing_fail_reason 
+0x5b59 022335 istore 1 ,contw 
+:      022336 le_parse_smp_pairing_failed:
+0x5b5a 022337 force smp_pairing_timer ,queue 
+0x5b5b 022338 call timer_stop 
+0x5b5c 022339 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5b5d 022340 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+0x5b5e 022341 branch ui_ipc_send_event 
+:      022343 le_smp_pairing_fail_reason_not_support_pairing:
+0x5b5f 022344 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+0x5b60 022345 branch le_send_pairing_failed 
+:      022348 le_parse_smp_pairing_random_sc:
+0x5b61 022349 arg mem_le_mrand ,contw 
+0x5b62 022350 copy rega ,contr 
+0x5b63 022351 call memcpy16 
+0x5b64 022352 fetch 1 ,mem_le_pairing_mode 
+0x5b65 022353 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+0x5b66 022354 call function_g2 
+0x5b67 022357 call le_send_smp_pairing_random 
+0x5b68 022358 fetch 1 ,mem_le_pairing_mode 
+0x5b69 022359 rtnne le_pairing_mode_secure_connect_numeric 
+0x5b6a 022360 jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+0x5b6b 022361 branch ui_ipc_send_event 
+:      022363 le_parse_smp_pairing_random_sc_passkey:
+0x5b6c 022364 call function_f4_ca 
+0x5b6d 022365 arg mem_aes_cmac_temp ,contw 
+0x5b6e 022366 call load_inverse_result 
+0x5b6f 022367 arg mem_aes_cmac_temp ,rega 
+0x5b70 022368 arg mem_le_rconfirm ,regb 
+0x5b71 022369 arg 16 ,loopcnt 
+0x5b72 022370 call string_compare 
+0x5b73 022371 nbranch le_send_pairing_confirm_value_failed ,zero 
+0x5b74 022372 branch le_send_smp_pairing_random 
+:      022374 le_parse_smp_pairing_random_success:
+0x5b75 022375 call generate_stk 
+0x5b76 022376 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5b77 022377 call ui_ipc_send_event 
+0x5b78 022378 jam 1 ,mem_ltk_exists 
+0x5b79 022379 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+:      022381 le_send_smp_pairing_random:
+0x5b7a 022382 force 17 ,rega 
+0x5b7b 022383 call le_fifo_malloc_tx_l2cap_smp 
+0x5b7c 022384 setarg smp_pairing_random 
+0x5b7d 022385 istore 1 ,contw 
+0x5b7e 022386 arg mem_le_srand ,contr 
+0x5b7f 022387 branch memcpy16 
+:      022389 le_parse_smp_encryption_information:
+0x5b80 022390 arg mem_le_peer_ltk ,contw 
+0x5b81 022391 branch memcpy16 
+:      022393 le_send_smp_encryption_information:
+0x5b82 022394 force 17 ,rega 
+0x5b83 022395 call le_fifo_malloc_tx_l2cap_smp 
+0x5b84 022396 setarg smp_encryption_information 
+0x5b85 022397 istore 1 ,contw 
+0x5b86 022398 fetch 1 ,mem_le_configuration 
+0x5b87 022399 bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+0x5b88 022400 arg mem_le_ltk ,contr 
+0x5b89 022401 branch memcpy16 
+:      022403 le_send_fixed_ltk:
+0x5b8a 022404 arg mem_le_fixed_ltk ,contr 
+0x5b8b 022405 branch memcpy16 
+:      022408 le_send_smp_master_identification:
+0x5b8c 022409 arg mem_le_ediv ,contw 
+0x5b8d 022410 force 10 ,loopcnt 
+0x5b8e 022411 call generate_random_loop 
+0x5b8f 022412 force 11 ,rega 
+0x5b90 022413 call le_fifo_malloc_tx_l2cap_smp 
+0x5b91 022414 setarg smp_master_identification 
+0x5b92 022415 istore 1 ,contw 
+0x5b93 022416 fetch 2 ,mem_le_ediv 
+0x5b94 022417 istore 2 ,contw 
+0x5b95 022418 fetch 8 ,mem_le_rand 
+0x5b96 022419 istore 8 ,contw 
+0x5b97 022420 rtn 
+:      022422 le_send_smp_identity_information:
+0x5b98 022423 force 17 ,rega 
+0x5b99 022424 call le_fifo_malloc_tx_l2cap_smp 
+0x5b9a 022425 setarg smp_identity_information 
+0x5b9b 022426 istore 1 ,contw 
+0x5b9c 022427 setarg 0 
+0x5b9d 022428 istore 8 ,contw 
+0x5b9e 022429 istore 8 ,contw 
+0x5b9f 022430 rtn 
+:      022433 le_send_smp_identity_address_information:
+0x5ba0 022434 force 8 ,rega 
+0x5ba1 022435 call le_fifo_malloc_tx_l2cap_smp 
+0x5ba2 022436 setarg smp_identity_address_information 
+0x5ba3 022437 istore 1 ,contw 
+0x5ba4 022438 fetch 1 ,mem_le_conn_own_addr_type 
+0x5ba5 022439 istore 1 ,contw 
+0x5ba6 022440 fetch 6 ,mem_le_lap 
+0x5ba7 022441 istore 6 ,contw 
+0x5ba8 022442 rtn 
+:      022445 le_send_pairing_fail_unspecified_reason:
+0x5ba9 022446 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+0x5baa 022447 branch le_send_pairing_failed 
+:      022449 le_check_init_key_distribution:
+0x5bab 022450 fetch 1 ,mem_le_pres_init_key_distribution 
+0x5bac 022451 fetcht 1 ,mem_le_pres_init_key_distribution 
+0x5bad 022452 iand temp ,pdata 
+0x5bae 022453 rtn 
+:      022455 le_parse_smp_identity_information:
+0x5baf 022456 arg mem_le_irk ,contw 
+0x5bb0 022457 call memcpy16 
+0x5bb1 022458 call le_check_init_key_distribution 
+0x5bb2 022459 isolate0 le_initator_irk_bit ,pdata 
+0x5bb3 022460 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5bb4 022461 fetch 1 ,mem_device_option 
+0x5bb5 022462 rtnne dvc_op_module 
+0x5bb6 022463 call le_check_master_addr_type 
+0x5bb7 022464 nrtn user 
+0x5bb8 022465 branch app_ble_store_reconn_info 
+:      022468 le_check_master_addr_type:
+0x5bb9 022469 call disable_user 
+0x5bba 022470 fetch 1 ,mem_le_conn_peer_addr_type 
+0x5bbb 022471 rtneq master_public_addr 
+0x5bbc 022472 fetch 1 ,mem_le_plap + 5 
+0x5bbd 022473 compare 0xc0 ,pdata ,0xc0 
+0x5bbe 022474 rtn true 
+0x5bbf 022475 branch enable_user 
+:      022477 le_parse_smp_identity_address_information:
+0x5bc0 022478 call le_check_init_key_distribution 
+0x5bc1 022479 isolate0 le_initator_irk_bit ,pdata 
+0x5bc2 022480 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5bc3 022481 rtn 
+:      022483 le_parse_smp_master_identification:
+:      022484 le_parse_smp_signing_information:
+:      022485 le_parse_smp_security_request:
+0x5bc4 022486 rtn 
+:      022488 le_parse_smp_public_key:
+0x5bc5 022489 arg mem_le_pubkey_remote_x_256 ,contw 
+0x5bc6 022490 call memcpy64 
+0x5bc7 022491 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5bc8 022492 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+0x5bc9 022493 rtn 
+:      022495 le_parse_smp_dhkey_check:
+0x5bca 022496 arg mem_sp_confirm_remote ,contw 
+0x5bcb 022497 call memcpy16 
+0x5bcc 022498 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+0x5bcd 022499 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5bce 022500 rtn 
+:      022502 le_send_smp_pairing_public_key:
+0x5bcf 022503 force 65 ,rega 
+0x5bd0 022504 call le_fifo_malloc_tx_l2cap_smp 
+0x5bd1 022505 setarg smp_pairing_public_key 
+0x5bd2 022506 istore 1 ,contw 
+0x5bd3 022507 arg mem_le_pubkey_local_x_256 ,contr 
+0x5bd4 022508 branch memcpy64 
+:      022510 le_send_smp_pairing_dhkey_check:
+0x5bd5 022511 call function_f6_eb 
+0x5bd6 022512 force 17 ,rega 
+0x5bd7 022513 call le_fifo_malloc_tx_l2cap_smp 
+0x5bd8 022514 setarg smp_pairing_dhkey_check 
+0x5bd9 022515 istore 1 ,contw 
+0x5bda 022516 branch load_inverse_result 
+:      022519 le_check_paring_time:
+0x5bdb 022520 fetch 1 ,mem_le_pairing_state 
+0x5bdc 022521 rtneq flag_le_pairing_end 
+0x5bdd 022522 arg flag_le_pairing_rcv_pairing_req ,temp 
+0x5bde 022523 isub temp ,null 
+0x5bdf 022524 nrtn positive 
+0x5be0 022525 arg smp_pairing_timer ,queue 
+0x5be1 022526 call timer_check 
+0x5be2 022527 nrtn blank 
+0x5be3 022528 branch le_send_pairing_fail_unspecified_reason 
+:      022530 le_pairing_sm:
+0x5be4 022531 bpatchx patch2f_0 ,mem_patch2f 
+0x5be5 022532 fetch 1 ,mem_le_pairing_state 
+0x5be6 022533 beq flag_le_pairing_null ,le_pairing_sm_null 
+0x5be7 022534 beq flag_le_pairing_start ,le_pairing_sm_start 
+0x5be8 022535 beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+0x5be9 022536 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+0x5bea 022537 beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+0x5beb 022538 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+0x5bec 022539 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+0x5bed 022540 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+0x5bee 022541 rtn 
+:      022543 le_pairing_sm_null:
+:      022544 le_pairing_sm_send_sec_req:
+0x5bef 022545 fetch 1 ,mem_le_enc_state 
+0x5bf0 022546 rtnne flag_le_send_start_enc_rsp 
+0x5bf1 022547 jam flag_le_enc_end ,mem_le_enc_state 
+0x5bf2 022548 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5bf3 022549 jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+0x5bf4 022550 branch ui_ipc_send_event 
+:      022553 le_pairing_sm_start:
+0x5bf5 022554 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+0x5bf6 022555 branch le_send_smp_security_request 
+:      022557 le_pairing_sm_rcv_pairing_req:
+0x5bf7 022558 jam flag_le_pairing_auth ,mem_le_pairing_state 
+0x5bf8 022559 setarg timer_smp_pairing_timeout 
+0x5bf9 022560 arg smp_pairing_timer ,queue 
+0x5bfa 022561 branch timer_init 
+:      022563 le_pairing_sm_after_auth:
+0x5bfb 022564 fetch 1 ,mem_le_enc_state 
+0x5bfc 022565 beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+0x5bfd 022566 rtn 
+:      022568 le_pairing_sm_after_auth_start_enc:
+0x5bfe 022569 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+0x5bff 022570 jam bt_evt_le_enc_info ,mem_fifo_temp 
+0x5c00 022571 call ui_ipc_send_event 
+0x5c01 022572 call le_send_smp_encryption_information 
+0x5c02 022573 fetch 1 ,mem_device_option 
+0x5c03 022574 rtnne dvc_op_module 
+0x5c04 022575 call le_check_master_addr_type 
+0x5c05 022576 rtn user 
+0x5c06 022577 branch app_ble_store_reconn_info 
+:      022580 le_pairng_sm_send_enc_information:
+0x5c07 022581 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+0x5c08 022582 branch le_send_smp_master_identification 
+:      022584 le_pairng_sm_send_master_indentification:
+0x5c09 022585 fetch 1 ,mem_le_preq_resp_key_distribution 
+0x5c0a 022586 fetcht 1 ,mem_le_pres_resp_key_distribution 
+0x5c0b 022587 iand temp ,pdata 
+0x5c0c 022588 isolate0 le_initator_irk_bit ,pdata 
+0x5c0d 022589 branch le_parse_start_enc_rsp_after_auth_end ,true 
+0x5c0e 022590 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+0x5c0f 022591 branch le_send_smp_identity_information 
+:      022593 le_pairng_sm_send_indentity_information:
+0x5c10 022594 call le_send_smp_identity_address_information 
+0x5c11 022595 branch le_parse_start_enc_rsp_after_auth_end 
+:      022598 le_parse_start_enc_rsp_after_auth_end:
+0x5c12 022599 force smp_pairing_timer ,queue 
+0x5c13 022600 call timer_stop 
+0x5c14 022601 jam flag_le_enc_end ,mem_le_enc_state 
+0x5c15 022602 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5c16 022603 jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+0x5c17 022604 branch ui_ipc_send_event 
+:      022608 le_secure_connect_sm:
+0x5c18 022609 bpatchx patch2f_1 ,mem_patch2f 
+0x5c19 022610 fetch 1 ,mem_le_pairing_mode 
+0x5c1a 022611 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5c1b 022612 fetch 1 ,mem_le_secure_connect_flag 
+0x5c1c 022613 rtnne le_sp_flag_commit_256 
+0x5c1d 022614 jam sp_flag_standby ,mem_le_secure_connect_flag 
+0x5c1e 022615 fetch 1 ,mem_le_secure_connect_state 
+0x5c1f 022616 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+0x5c20 022617 beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+0x5c21 022618 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+0x5c22 022619 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+0x5c23 022620 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+0x5c24 022621 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+0x5c25 022622 rtn 
+:      022625 le_sc_sm_passkey_wait_confirm:
+0x5c26 022626 fetch 1 ,mem_authentication_passkey_times 
+0x5c27 022627 copy pdata ,queue 
+0x5c28 022628 increase 1 ,pdata 
+0x5c29 022629 store 1 ,mem_authentication_passkey_times 
+0x5c2a 022630 fetch 4 ,mem_le_tk 
+0x5c2b 022631 qisolate1 pdata 
+0x5c2c 022632 setarg 0x80 
+0x5c2d 022633 setflag true ,0 ,pdata 
+0x5c2e 022634 store 1 ,mem_passkey_1bit 
+0x5c2f 022635 branch le_sc_sm_ready_send_pairing_confirm 
+:      022637 le_sc_sm_wait_confirm_gkey:
+0x5c30 022638 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+0x5c31 022639 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+0x5c32 022640 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+0x5c33 022641 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c34 022642 rtn 
+:      022644 le_sc_confirm_gkey_ok:
+0x5c35 022645 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5c36 022646 call ui_ipc_send_event 
+0x5c37 022647 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+0x5c38 022648 branch le_send_smp_pairing_dhkey_check 
+:      022650 le_sc_sm_receive_dhkey:
+0x5c39 022651 fetch 1 ,mem_sp_dhkey_invalid 
+0x5c3a 022652 beq sp_key_valid_256 ,le_dhkey_ready 
+0x5c3b 022653 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c3c 022654 rtn 
+:      022656 le_dhkey_ready:
+0x5c3d 022657 call function_f5 
+0x5c3e 022661 fetch 1 ,mem_le_pairing_mode 
+0x5c3f 022662 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+0x5c40 022663 call le_set_tk_0 
+:      022664 le_dhkey_ready_common:
+0x5c41 022665 call function_f6_ea 
+0x5c42 022666 arg mem_aes_cmac_temp ,rega 
+0x5c43 022667 arg mem_sp_confirm_remote ,regb 
+0x5c44 022668 arg 16 ,loopcnt 
+0x5c45 022669 call string_compare 
+0x5c46 022670 branch le_dhkey_check_ok ,zero 
+:      022671 le_dhkey_check_fail:
+0x5c47 022672 jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+0x5c48 022673 branch le_send_pairing_failed 
+:      022676 le_dhkey_check_ok:
+0x5c49 022677 call sp_calc_check_publickey_256 
+0x5c4a 022678 nbranch le_dhkey_check_fail ,zero 
+0x5c4b 022679 jam 1 ,mem_ltk_exists 
+0x5c4c 022680 fetch 1 ,mem_le_pairing_mode 
+0x5c4d 022681 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+0x5c4e 022682 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+0x5c4f 022683 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c50 022684 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+0x5c51 022685 rtn 
+:      022687 le_sc_sm_send_public_key:
+0x5c52 022688 fetch 1 ,mem_le_pairing_mode 
+0x5c53 022689 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+0x5c54 022690 jam 0 ,mem_passkey_1bit 
+:      022691 le_sc_sm_ready_send_pairing_confirm:
+0x5c55 022692 branch le_send_smp_pairing_confirm 
+:      022694 le_sc_sm_send_public_key_passkey:
+0x5c56 022698 jam 0 ,mem_authentication_passkey_times 
+0x5c57 022699 branch le_parse_smp_pairing_req_passkey 
+:      022702 le_sc_sm_receive_public_key:
+0x5c58 022703 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c59 022704 fetch 1 ,mem_le_sc_local_key_invalid 
+0x5c5a 022705 beq sp_key_valid_256 ,le_public_key_ready 
+0x5c5b 022707 rtn 
+:      022709 le_public_key_ready:
+0x5c5c 022710 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+0x5c5d 022711 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+0x5c5e 022712 branch sp_dhkey_calc_256 
+:      022714 le_sc_sm_wait_send_public_key:
+0x5c5f 022715 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c60 022716 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+0x5c61 022717 branch le_send_smp_pairing_public_key 
+:      022721 le_fifo_malloc_tx_l2cap_smp:
+0x5c62 022722 force le_l2cap_cid_smp ,regb 
+0x5c63 022723 branch le_fifo_malloc_tx_l2cap 
+:      022727 le_parse_ll:
+0x5c64 022728 fetch 1 ,mem_le_rxbuf + 2 
+0x5c65 022729 beq ll_connection_update_req ,le_parse_connection_update_req 
+0x5c66 022730 beq ll_channel_map_req ,le_parse_channel_map_req 
+0x5c67 022731 beq ll_terminate_ind ,le_parse_terminate_ind 
+0x5c68 022732 beq ll_enc_req ,le_parse_enc_req 
+0x5c69 022733 beq ll_enc_rsp ,le_parse_enc_rsp 
+0x5c6a 022734 beq ll_start_enc_req ,le_parse_start_enc_req 
+0x5c6b 022735 beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+0x5c6c 022736 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+0x5c6d 022737 beq ll_feature_req ,le_parse_feature_req 
+0x5c6e 022738 beq ll_feature_rsp ,le_parse_feature_rsp 
+0x5c6f 022739 beq ll_pause_enc_req ,le_parse_pause_enc_req 
+0x5c70 022740 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+0x5c71 022741 beq ll_version_ind ,le_parse_version_ind 
+0x5c72 022742 beq ll_reject_ind ,le_parse_reject_ind 
+0x5c73 022743 beq ll_ping_req ,le_parse_ping_req 
+0x5c74 022744 beq ll_ping_rsp ,le_parse_ping_rsp 
+0x5c75 022745 arg 2 ,rega 
+0x5c76 022746 arg ll_unknown_rsp ,regb 
+0x5c77 022747 call le_fifo_malloc_tx_ll 
+0x5c78 022748 fetch 1 ,mem_le_rxbuf + 2 
+0x5c79 022749 istore 1 ,contw 
+0x5c7a 022750 rtn 
+:      022753 le_parse_connection_update_req:
+0x5c7b 022754 ifetch 9 ,contr 
+0x5c7c 022755 store 9 ,mem_le_new_param 
+0x5c7d 022756 ifetch 2 ,contr 
+0x5c7e 022757 store 2 ,mem_le_instant 
+0x5c7f 022758 fetch 1 ,mem_le_state 
+0x5c80 022759 set1 lestate_update_param ,pdata 
+0x5c81 022760 store 1 ,mem_le_state 
+0x5c82 022761 rtn 
+:      022763 le_parse_channel_map_req:
+0x5c83 022764 ifetch 5 ,contr 
+0x5c84 022765 store 5 ,mem_le_new_map 
+0x5c85 022766 ifetch 2 ,contr 
+0x5c86 022767 store 2 ,mem_le_instant 
+0x5c87 022768 fetcht 2 ,mem_le_event_count 
+0x5c88 022769 isub temp ,null 
+0x5c89 022770 nbranch le_parse_terminate_ind ,positive 
+0x5c8a 022771 fetch 1 ,mem_le_state 
+0x5c8b 022772 set1 lestate_update_map ,pdata 
+0x5c8c 022773 store 1 ,mem_le_state 
+0x5c8d 022774 rtn 
+:      022777 le_parse_terminate_ind:
+0x5c8e 022778 setarg 20 
+0x5c8f 022779 store 2 ,mem_le_superto 
+0x5c90 022780 store 2 ,mem_le_init_superto 
+0x5c91 022781 rtn 
+:      022783 le_send_terminate_ind_user_terminated:
+0x5c92 022784 arg error_remote_user_terminated_connection ,regc 
+:      022787 le_send_terminate_ind:
+0x5c93 022788 arg 2 ,rega 
+0x5c94 022789 arg ll_terminate_ind ,regb 
+0x5c95 022790 call le_fifo_malloc_tx_ll 
+0x5c96 022791 copy regc ,pdata 
+0x5c97 022792 istore 1 ,contw 
+0x5c98 022793 rtn 
+:      022795 le_parse_feature_req:
+:      022797 le_send_feature_rsp:
+0x5c99 022798 arg 9 ,rega 
+0x5c9a 022799 arg ll_feature_rsp ,regb 
+0x5c9b 022800 call le_fifo_malloc_tx_ll 
+0x5c9c 022801 setarg param_le_features 
+0x5c9d 022802 istore 8 ,contw 
+0x5c9e 022803 rtn 
+:      022806 le_parse_version_ind:
+0x5c9f 022807 rtn master 
+:      022808 le_send_version_ind:
+0x5ca0 022809 arg 6 ,rega 
+0x5ca1 022810 arg ll_version_ind ,regb 
+0x5ca2 022811 call le_fifo_malloc_tx_ll 
+0x5ca3 022812 fetch 5 ,mem_lmp_version 
+0x5ca4 022813 istore 5 ,contw 
+0x5ca5 022814 rtn 
+:      022817 le_parse_ping_req:
+0x5ca6 022818 arg ll_ping_rsp ,regb 
+0x5ca7 022819 branch le_send_ll_one_lenth 
+:      022822 le_send_ll_one_lenth:
+0x5ca8 022823 arg 1 ,rega 
+0x5ca9 022824 branch le_fifo_malloc_tx_ll 
+:      022827 le_parse_enc_req:
+0x5caa 022828 ifetch 8 ,contr 
+0x5cab 022829 store 8 ,mem_le_rand 
+0x5cac 022830 ifetch 2 ,contr 
+0x5cad 022831 store 2 ,mem_le_ediv 
+0x5cae 022832 ifetch 8 ,contr 
+0x5caf 022833 store 8 ,mem_le_skdm 
+0x5cb0 022834 ifetch 4 ,contr 
+0x5cb1 022835 store 4 ,mem_le_ivm 
+0x5cb2 022836 call le_send_enc_rsp 
+0x5cb3 022837 bpatchx patch2f_2 ,mem_patch2f 
+0x5cb4 022838 fetch 1 ,mem_le_pairing_state 
+0x5cb5 022839 beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+0x5cb6 022840 fetch 1 ,mem_le_configuration 
+0x5cb7 022841 bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+0x5cb8 022842 fetch 1 ,mem_nv_data_number 
+0x5cb9 022843 ncall load_device_list_mode_4 ,blank 
+0x5cba 022844 fetch 1 ,mem_ltk_exists 
+0x5cbb 022845 beq 0 ,le_ltk_lost 
+:      022846 le_parse_enc_req_after_auth:
+0x5cbc 022847 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+0x5cbd 022848 call le_send_start_enc_req 
+0x5cbe 022849 branch generate_sk 
+:      022851 le_parse_enc_req_fixed_ltk:
+0x5cbf 022852 jam 1 ,mem_ltk_exists 
+0x5cc0 022853 arg mem_le_fixed_ltk ,contr 
+0x5cc1 022854 arg mem_le_ltk ,contw 
+0x5cc2 022855 call memcpy16 
+0x5cc3 022856 branch le_parse_enc_req_after_auth 
+:      022859 le_ltk_lost:
+0x5cc4 022860 bpatchx patch2f_3 ,mem_patch2f 
+0x5cc5 022861 jam flag_le_enc_null ,mem_le_enc_state 
+0x5cc6 022862 jam flag_le_enc_null ,mem_le_pairing_state 
+0x5cc7 022863 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+0x5cc8 022864 branch ui_ipc_send_event 
+:      022866 le_send_reject_ind:
+0x5cc9 022867 arg 2 ,rega 
+0x5cca 022868 arg ll_reject_ind ,regb 
+0x5ccb 022869 call le_fifo_malloc_tx_ll 
+0x5ccc 022870 setarg le_err_pin_or_key_missing 
+0x5ccd 022871 istore 1 ,contw 
+0x5cce 022872 rtn 
+:      022874 le_send_enc_rsp:
+0x5ccf 022875 arg mem_le_skds ,contw 
+0x5cd0 022876 force 8 ,loopcnt 
+0x5cd1 022877 call generate_random_loop 
+0x5cd2 022878 arg mem_le_ivs ,contw 
+0x5cd3 022879 force 4 ,loopcnt 
+0x5cd4 022880 call generate_random_loop 
+0x5cd5 022881 arg 13 ,rega 
+0x5cd6 022882 arg ll_enc_rsp ,regb 
+0x5cd7 022883 call le_fifo_malloc_tx_ll 
+0x5cd8 022884 fetch 8 ,mem_le_skds 
+0x5cd9 022885 istore 8 ,contw 
+0x5cda 022886 fetch 4 ,mem_le_ivs 
+0x5cdb 022887 istore 4 ,contw 
+0x5cdc 022888 rtn 
+:      022890 le_send_start_enc_req:
+0x5cdd 022891 arg ll_start_enc_req ,regb 
+0x5cde 022892 branch le_send_ll_one_lenth 
+:      022894 le_send_start_enc_rsp:
+0x5cdf 022895 arg ll_start_enc_rsp ,regb 
+0x5ce0 022896 branch le_send_ll_one_lenth 
+:      022899 le_parse_enc_rsp:
+0x5ce1 022900 ifetch 8 ,contr 
+0x5ce2 022901 store 8 ,mem_le_skds 
+0x5ce3 022902 ifetch 4 ,contr 
+0x5ce4 022903 store 4 ,mem_le_ivs 
+0x5ce5 022904 branch generate_sk 
+:      022906 le_parse_start_enc_req:
+0x5ce6 022907 fetch 1 ,mem_le_state 
+0x5ce7 022908 set1 lestate_encryption ,pdata 
+0x5ce8 022909 store 1 ,mem_le_state 
+0x5ce9 022910 rtn 
+:      022912 le_parse_start_enc_rsp:
+0x5cea 022913 rtn master 
+0x5ceb 022914 jam bt_evt_le_start_enc ,mem_fifo_temp 
+0x5cec 022915 call ui_ipc_send_event 
+0x5ced 022916 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+0x5cee 022917 branch le_send_start_enc_rsp 
+:      022919 le_parse_pause_enc_req:
+0x5cef 022920 jam flag_le_enc_pause ,mem_le_enc_state 
+0x5cf0 022921 call le_send_pause_enc_rsp 
+0x5cf1 022922 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+0x5cf2 022923 branch ui_ipc_send_event 
+:      022925 le_send_pause_enc_rsp:
+0x5cf3 022926 arg ll_pause_enc_rsp ,regb 
+0x5cf4 022927 branch le_send_ll_one_lenth 
+:      022930 le_parse_feature_rsp:
+:      022931 le_parse_unknown_rsp:
+:      022932 le_parse_pause_enc_rsp:
+:      022933 le_parse_reject_ind:
+:      022934 le_parse_ping_rsp:
+0x5cf5 022935 rtn 
+:      022942 init_lmp:
+0x5cf6 022943 rtn wake 
+:      022944 init_lmp_work:
+0x5cf7 022945 bpatchx patch2f_4 ,mem_patch2f 
+0x5cf8 022946 setarg 0 
+0x5cf9 022947 store 1 ,mem_lmp_to_send 
+0x5cfa 022948 store 1 ,mem_conn_sm 
+0x5cfb 022949 store 1 ,mem_lmo_opcode1 
+0x5cfc 022950 store 1 ,mem_lmo_opcode2 
+0x5cfd 022951 store 1 ,mem_esco_addr 
+0x5cfe 022952 store 1 ,mem_auth_enable 
+0x5cff 022953 store 1 ,mem_connection_options 
+0x5d00 022954 store 1 ,mem_pairing_auth 
+0x5d01 022955 jam switch_flag_init ,mem_switch_flag 
+0x5d02 022956 jam 0 ,mem_switch_fail_master_count 
+0x5d03 022957 jam null_encryp ,mem_wait_encryption 
+:      022958 init_lmp_reinit:
+0x5d04 022959 jam 0 ,mem_pairing_auth 
+0x5d05 022960 jam 0 ,mem_sp_localsm 
+0x5d06 022961 jam 0 ,mem_lmp_conn_state 
+:      022963 parse_rx_done:
+0x5d07 022964 rtn 
+:      022966 parse_lmp:
+0x5d08 022967 bpatchx patch2f_5 ,mem_patch2f 
+0x5d09 022968 call setlocalsm_master ,master 
+0x5d0a 022969 ncall setlocalsm_slave ,master 
+0x5d0b 022970 call lmo_fifo_check 
+0x5d0c 022971 nrtn blank 
+0x5d0d 022972 fetch 1 ,mem_state_map 
+0x5d0e 022973 rtnbit0 smap_rxlmp 
+0x5d0f 022974 set0 smap_rxlmp ,pdata 
+0x5d10 022975 set0 mark_rxbuf_inuse ,mark 
+0x5d11 022976 store 1 ,mem_state_map 
+0x5d12 022977 fetch 1 ,mem_rxbuf 
+0x5d13 022978 fetcht 1 ,mem_state_map 
+0x5d14 022979 isolate1 smap_lmptidinit ,pdata 
+0x5d15 022980 setflag true ,smap_lmptid ,temp 
+0x5d16 022981 storet 1 ,mem_state_map 
+0x5d17 022982 and_into 0x2 ,temp 
+0x5d18 022983 storet 1 ,mem_lmo_tid2 
+0x5d19 022984 fetcht 1 ,mem_state_map 
+0x5d1a 022985 rshift pdata ,pdata 
+0x5d1b 022986 store 1 ,mem_lmi_opcode2 
+0x5d1c 022987 bpatchx patch2f_6 ,mem_patch2f 
+0x5d1d 022988 fetch 1 ,mem_lmi_opcode2 
+0x5d1e 022989 beq lmp_escape ,parse_lmp_escape 
+0x5d1f 022990 beq lmp_accepted ,parse_lmp_accepted 
+0x5d20 022991 beq lmp_not_accepted ,parse_lmp_not_accepted 
+0x5d21 022992 beq lmp_set_afh ,parse_lmp_set_afh 
+0x5d22 022993 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+0x5d23 022994 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+0x5d24 022995 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+0x5d25 022996 beq lmp_auto_rate ,parse_lmp_auto_rate 
+0x5d26 022997 beq lmp_test_control ,parse_lmp_test_control 
+0x5d27 022998 beq lmp_test_activate ,parse_lmp_test_activate 
+0x5d28 022999 beq lmp_setup_complete ,parse_lmp_setup_complete 
+0x5d29 023000 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+0x5d2a 023001 beq lmp_features_req ,parse_lmp_features_req 
+0x5d2b 023002 beq lmp_host_connection_req ,parse_lmp_conn_req 
+0x5d2c 023003 beq lmp_version_req ,parse_lmp_version_req 
+0x5d2d 023004 beq lmp_version_res ,parse_lmp_version_res 
+0x5d2e 023005 beq lmp_detach ,parse_lmp_detach 
+0x5d2f 023006 beq lmp_max_slot ,parse_lmp_max_slot 
+0x5d30 023007 beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+0x5d31 023008 beq lmp_name_req ,parse_lmp_name_req 
+0x5d32 023009 beq lmp_name_res ,parse_lmp_name_res 
+0x5d33 023010 beq lmp_features_res ,parse_lmp_features_res 
+0x5d34 023011 beq lmp_comb_key ,parse_lmp_comb_key 
+0x5d35 023012 beq lmp_au_rand ,parse_lmp_au_rand 
+0x5d36 023013 beq lmp_in_rand ,parse_lmp_in_rand 
+0x5d37 023014 beq lmp_sres ,parse_lmp_sres 
+0x5d38 023015 beq lmp_incr_power_req ,parse_lmp_incr_power 
+0x5d39 023016 beq lmp_decr_power_req ,parse_lmp_decr_power 
+0x5d3a 023017 beq lmp_max_power ,parse_lmp_max_power 
+0x5d3b 023018 beq lmp_min_power ,parse_lmp_min_power 
+0x5d3c 023019 beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+0x5d3d 023020 beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+0x5d3e 023021 beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+0x5d3f 023022 beq lmp_slot_offset ,parse_lmp_slot_offset 
+0x5d40 023023 beq lmp_sniff_req ,parse_lmp_sniff_req 
+0x5d41 023024 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+0x5d42 023025 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+0x5d43 023026 beq lmp_switch_req ,parse_lmp_switch_req 
+0x5d44 023027 beq lmp_temp_rand ,parse_lmp_temp_rand 
+0x5d45 023028 beq lmp_temp_key ,parse_lmp_temp_key 
+0x5d46 023029 beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+0x5d47 023030 beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+0x5d48 023031 beq lmp_unit_key ,parse_lmp_unit_key 
+0x5d49 023032 beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+0x5d4a 023033 beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+0x5d4b 023034 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+0x5d4c 023035 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+0x5d4d 023036 beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+0x5d4e 023037 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+0x5d4f 023038 beq lmp_dhkey_check ,parse_dhkey_check 
+0x5d50 023039 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+0x5d51 023040 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+:      023043 reject_unknown_packet:
+0x5d52 023044 jam unknown_lmp_pdu ,mem_lmo_reason2 
+:      023045 reject_lmp_packet:
+0x5d53 023046 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5d54 023047 rtn 
+:      023049 parse_lmp_clkoffset_req:
+0x5d55 023050 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+0x5d56 023051 rtn 
+:      023053 parse_enc_key_size_mask_req:
+0x5d57 023054 jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+0x5d58 023055 rtn 
+:      023057 parse_lmp_set_afh:
+0x5d59 023058 fetch 4 ,mem_rxbuf + 1 
+0x5d5a 023059 lshift pdata ,pdata 
+0x5d5b 023060 store 4 ,mem_afh_instant 
+0x5d5c 023061 fetch 1 ,mem_rxbuf + 5 
+0x5d5d 023062 store 1 ,mem_afh_new_mod 
+0x5d5e 023063 fetch 5 ,mem_rxbuf + 6 
+0x5d5f 023064 store 5 ,mem_afh_map_new 
+0x5d60 023065 fetch 5 ,mem_rxbuf + 11 
+0x5d61 023066 istore 5 ,contw 
+0x5d62 023067 fetch 1 ,mem_mode 
+0x5d63 023068 set1 afh_change ,pdata 
+0x5d64 023069 store 1 ,mem_mode 
+0x5d65 023070 rtn 
+:      023071 parse_lmp_escape:
+0x5d66 023072 bpatchx patch2f_7 ,mem_patch2f 
+0x5d67 023073 fetch 1 ,mem_rxbuf + 1 
+0x5d68 023074 set1 7 ,pdata 
+0x5d69 023075 store 1 ,mem_lmi_opcode2 
+0x5d6a 023076 beq lmp_ext_accepted ,parse_lmpext_accepted 
+0x5d6b 023077 beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+0x5d6c 023078 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+0x5d6d 023079 beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+0x5d6e 023080 beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+0x5d6f 023081 beq lmp_ext_features_req ,parse_lmpext_features_req 
+0x5d70 023082 beq lmp_ext_features_res ,parse_lmpext_features_res 
+0x5d71 023083 beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+0x5d72 023084 beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+0x5d73 023085 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+0x5d74 023086 beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+0x5d75 023087 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+0x5d76 023088 rtneq lmp_ext_features_res 
+:      023091 reject_unknown_ext_packet:
+0x5d77 023092 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x5d78 023093 jam unknown_lmp_pdu ,mem_lmo_reason2 
+0x5d79 023095 rtn 
+:      023096 parse_lmpext_chn_classification_req:
+0x5d7a 023097 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x5d7b 023098 jam not_support_chn_classification ,mem_lmo_reason2 
+0x5d7c 023099 rtn 
+:      023101 parse_lmpext_iocap_req:
+0x5d7d 023102 call iocap_lmpext_load 
+0x5d7e 023103 jam lmp_io_cap_res ,mem_lmo_opcode2 
+0x5d7f 023104 rtn 
+:      023106 parse_lmpext_iocap_res:
+0x5d80 023107 call iocap_lmpext_load 
+0x5d81 023108 branch iocap_lmpext_common 
+:      023110 iocap_lmpext_load:
+0x5d82 023111 arg mem_sp_iocap_remote ,contw 
+0x5d83 023112 fetch 3 ,mem_rxbuf + 2 
+0x5d84 023113 istore 3 ,contw 
+0x5d85 023114 rtn 
+:      023116 iocap_lmpext_common:
+0x5d86 023117 branch master_set_mem_master_sp_flag ,true 
+0x5d87 023118 rtn 
+:      023119 parse_lmpext_accepted:
+0x5d88 023120 fetch 1 ,mem_rxbuf + 3 
+0x5d89 023121 set1 7 ,pdata 
+0x5d8a 023122 store 1 ,mem_lmi_accepted_opcode 
+0x5d8b 023123 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+0x5d8c 023124 rtn 
+:      023127 parse_lmpext_not_accepted:
+0x5d8d 023128 fetch 1 ,mem_rxbuf + 3 
+0x5d8e 023129 set1 7 ,pdata 
+0x5d8f 023130 store 1 ,mem_lmi_accepted_opcode 
+0x5d90 023131 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+0x5d91 023132 rtn 
+:      023134 parse_lmpext_accepted_ptt:
+0x5d92 023135 fetch 1 ,mem_ptt 
+0x5d93 023136 fetcht 1 ,mem_state_map 
+0x5d94 023137 nsetflag blank ,smap_edr ,temp 
+0x5d95 023138 storet 1 ,mem_state_map 
+:      023139 parse_lmpext_not_accepted_ptt:
+0x5d96 023140 fetch 1 ,mem_state 
+0x5d97 023141 rtnbit0 state_init_seq 
+0x5d98 023142 set0 state_init_seq ,pdata 
+0x5d99 023143 store 1 ,mem_state 
+0x5d9a 023144 fetch 1 ,mem_auth_enable 
+0x5d9b 023145 nrtn blank 
+0x5d9c 023146 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5d9d 023147 rtn 
+:      023149 parse_lmpext_pause_encrypt:
+0x5d9e 023150 nbranch parse_lmpext_pause_encrypt_slave ,master 
+0x5d9f 023151 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x5da0 023152 branch tid_reply 
+:      023154 parse_lmpext_pause_encrypt_slave:
+0x5da1 023155 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+0x5da2 023156 rtn 
+:      023158 parse_lmpext_resume_encrypt:
+0x5da3 023161 call tid_reply 
+0x5da4 023162 branch lmp_start_encryption 
+:      023164 parse_lmpext_features_req:
+0x5da5 023165 jam lmp_ext_features_res ,mem_lmo_opcode2 
+0x5da6 023166 rtn 
+:      023168 parse_lmpext_features_res:
+0x5da7 023169 fetcht 1 ,mem_rxbuf + 4 
+0x5da8 023170 and temp ,0x1 ,temp 
+0x5da9 023171 storet 1 ,mem_remote_sppcap 
+0x5daa 023172 fetch 1 ,mem_hci_cmd 
+0x5dab 023173 bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+0x5dac 023174 jam 0 ,mem_hci_cmd 
+:      023175 parse_lmpext_features_res_not_hci:
+0x5dad 023176 fetch 1 ,mem_conn_sm 
+0x5dae 023177 rtnne conn_sm_wait_features_ext 
+0x5daf 023178 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x5db0 023179 branch process_conn_sm 
+:      023181 parse_lmp_accepted:
+0x5db1 023182 bpatchx patch30_0 ,mem_patch30 
+0x5db2 023183 fetch 1 ,mem_rxbuf + 1 
+0x5db3 023184 store 1 ,mem_lmi_accepted_opcode 
+0x5db4 023185 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+0x5db5 023186 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+0x5db6 023187 beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+0x5db7 023188 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+0x5db8 023189 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+0x5db9 023190 beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+0x5dba 023191 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+0x5dbb 023192 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+0x5dbc 023193 beq lmp_switch_req ,parse_lmp_accepted_switch 
+0x5dbd 023195 beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+0x5dbe 023196 beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+0x5dbf 023197 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+0x5dc0 023198 beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+0x5dc1 023199 rtn 
+:      023201 parse_lmp_not_accepted:
+0x5dc2 023202 bpatchx patch30_1 ,mem_patch30 
+0x5dc3 023203 fetch 1 ,mem_rxbuf + 1 
+0x5dc4 023204 store 1 ,mem_lmi_accepted_opcode 
+0x5dc5 023205 beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+0x5dc6 023206 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+0x5dc7 023207 beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+0x5dc8 023208 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+0x5dc9 023209 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+0x5dca 023211 beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+0x5dcb 023212 beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+0x5dcc 023213 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+0x5dcd 023214 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+0x5dce 023215 rtn 
+:      023217 parse_lmp_accepted_switch:
+0x5dcf 023218 jam bt_evt_switch_accept ,mem_fifo_temp 
+0x5dd0 023219 call ui_ipc_send_event 
+0x5dd1 023220 branch role_switch_prepare0 
+:      023221 parse_lmp_not_accepted_switch:
+0x5dd2 023222 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+0x5dd3 023223 call ui_ipc_send_event 
+0x5dd4 023224 jam switch_flag_not_accept ,mem_switch_flag 
+0x5dd5 023225 setarg timer_switch_waite 
+0x5dd6 023226 arg switch_wait_timer ,queue 
+0x5dd7 023227 branch timer_init 
+:      023230 parse_lmp_accepted_hostconn:
+0x5dd8 023233 fetch 1 ,mem_lmp_conn_state 
+0x5dd9 023234 set1 received_conn_req ,pdata 
+0x5dda 023235 store 1 ,mem_lmp_conn_state 
+0x5ddb 023236 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x5ddc 023237 call ui_ipc_send_event 
+0x5ddd 023238 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+:      023240 parse_lmp_accepted_hostconn_ctn:
+0x5dde 023242 fetch 1 ,mem_conn_sm 
+0x5ddf 023243 bne conn_sm_wait_conn_accept ,parse_rx_done 
+0x5de0 023246 jam conn_sm_auth_pair ,mem_conn_sm 
+0x5de1 023247 rtn 
+:      023255 parse_lmp_not_accepted_hostconn:
+0x5de2 023256 jam acl_connection_already_exists ,mem_disconn_reason_send 
+0x5de3 023257 jam lmp_detach ,mem_lmo_opcode2 
+0x5de4 023259 jam conn_sm_standby ,mem_conn_sm 
+0x5de5 023261 branch parse_rx_done ,true 
+0x5de6 023262 rtn 
+:      023264 parse_lmp_accepted_inrand:
+0x5de7 023265 fetch 1 ,mem_link_key_exists 
+0x5de8 023266 nrtn blank 
+0x5de9 023267 call clear_linkkey 
+0x5dea 023268 call lmp_generate_key 
+0x5deb 023269 rtn master 
+0x5dec 023270 set1 mark_slave_in_rand_accepted ,mark 
+0x5ded 023271 rtn 
+:      023273 parse_lmp_accepted_enc_mode:
+0x5dee 023274 nrtn master 
+0x5def 023275 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x5df0 023276 fetch 1 ,mem_state_map 
+0x5df1 023277 rtnbit0 smap_encryption 
+0x5df2 023278 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x5df3 023279 rtn 
+:      023281 parse_lmp_accepted_enc_keysize:
+0x5df4 023282 branch lmp_start_encryption 
+:      023284 parse_lmp_accepted_start_enc:
+0x5df5 023285 call send_create_conn_start_l2cap_timer_sm 
+0x5df6 023286 fetch 1 ,mem_state 
+0x5df7 023287 rtnbit1 state_conn_comp 
+0x5df8 023288 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5df9 023289 fetch 1 ,mem_conn_sm 
+0x5dfa 023290 rtnne conn_sm_encrypt_wait 
+0x5dfb 023291 jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+0x5dfc 023292 rtn 
+:      023294 parse_lmp_accepted_stop_enc:
+0x5dfd 023302 rtn 
+:      023304 parse_lmp_not_accepted_aurand:
+:      023305 parse_lmp_not_accepted_aurand_send_detach:
+0x5dfe 023306 jam lmp_detach ,mem_lmo_opcode2 
+0x5dff 023307 jam other_end_terminated ,mem_disconn_reason_send 
+0x5e00 023308 rtn 
+:      023310 parse_lmp_not_accepted_inrand:
+0x5e01 023311 fetch 1 ,mem_rxbuf + 2 
+0x5e02 023312 beq key_missing ,parse_lmp_inrand_key_missing 
+0x5e03 023313 rtnne pairing_not_allowed 
+0x5e04 023314 jam pairing_not_allowed ,mem_disconn_reason_send 
+0x5e05 023315 jam lmp_detach ,mem_lmo_opcode2 
+0x5e06 023316 rtn 
+:      023317 parse_lmp_inrand_key_missing:
+0x5e07 023318 jam key_missing ,mem_disconn_reason_send 
+0x5e08 023319 jam lmp_detach ,mem_lmo_opcode2 
+0x5e09 023320 rtn 
+:      023322 parse_lmp_not_accepted_name_req:
+0x5e0a 023323 rtn 
+:      023325 parse_lmp_not_accepted_simple_pairing_number:
+0x5e0b 023326 jam sp_stat_null ,mem_sp_state 
+0x5e0c 023327 jam lmp_detach ,mem_lmo_opcode2 
+0x5e0d 023328 branch parse_rx_done 
+:      023330 parse_lmp_not_accepted_dhkey_check:
+0x5e0e 023331 jam sp_stat_null ,mem_sp_state 
+0x5e0f 023332 jam lmp_detach ,mem_lmo_opcode2 
+0x5e10 023333 branch parse_rx_done 
+:      023334 parse_lmp_not_accepted_unsniff_req:
+0x5e11 023335 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+0x5e12 023336 branch ui_ipc_send_event 
+:      023338 parse_lmp_accepted_unsniff_req:
+0x5e13 023339 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+0x5e14 023340 call ui_ipc_send_event 
+0x5e15 023341 branch sniff_exit 
+:      023343 parse_lmp_accepted_sniff_req:
+0x5e16 023344 jam bt_evt_sniff_accept ,mem_fifo_temp 
+0x5e17 023345 call ui_ipc_send_event 
+0x5e18 023346 setarg 0 
+0x5e19 023347 store 2 ,mem_dsniff 
+0x5e1a 023348 fetch 2 ,mem_sniff_param_interval 
+0x5e1b 023349 lshift pdata ,pdata 
+0x5e1c 023350 store 2 ,mem_tsniff 
+0x5e1d 023351 fetch 1 ,mem_sniff_param_attempt 
+0x5e1e 023352 store 1 ,mem_sniff_attempt 
+0x5e1f 023353 fetch 1 ,mem_sniff_param_timeout 
+0x5e20 023354 store 1 ,mem_sniff_timeout 
+0x5e21 023355 branch sniff_init 
+:      023357 parse_lmp_not_acdcept_sniff_req:
+0x5e22 023358 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+0x5e23 023359 branch ui_ipc_send_event 
+:      023361 parse_lmp_crypt_key:
+0x5e24 023362 fetcht 1 ,mem_rxbuf + 1 
+0x5e25 023363 storet 1 ,mem_key_size 
+0x5e26 023364 branch accept_lmp_msg 
+:      023366 parse_lmp_setup_complete:
+0x5e27 023367 fetch 1 ,mem_lmp_conn_state 
+0x5e28 023368 set1 received_setup_complete ,pdata 
+0x5e29 023369 store 1 ,mem_lmp_conn_state 
+0x5e2a 023370 rtnbit1 sent_setup_complete 
+0x5e2b 023371 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5e2c 023372 branch parse_rx_done 
+:      023374 parse_lmp_max_slot:
+0x5e2d 023377 rtn 
+:      023379 parse_lmp_max_slot_req:
+0x5e2e 023380 fetch 1 ,mem_max_slot 
+0x5e2f 023381 fetcht 1 ,mem_rxbuf + 1 
+0x5e30 023382 isub temp ,null 
+0x5e31 023384 branch accept_lmp_msg ,positive 
+0x5e32 023385 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5e33 023386 jam unspecified_error ,mem_lmo_reason2 
+0x5e34 023387 jam lmp_max_slot_req ,mem_lmi_opcode2 
+0x5e35 023388 rtn 
+:      023390 parse_lmp_detach:
+0x5e36 023391 call prepare_disconnect 
+0x5e37 023392 branch accept_lmp_msg 
+:      023394 accept_lmp_msg:
+0x5e38 023395 jam lmp_accepted ,mem_lmo_opcode2 
+0x5e39 023396 rtn 
+:      023398 parse_lmp_incr_power:
+0x5e3a 023399 jam lmp_max_power ,mem_lmo_opcode2 
+0x5e3b 023400 rtn 
+:      023402 parse_lmp_decr_power:
+0x5e3c 023403 jam lmp_min_power ,mem_lmo_opcode2 
+0x5e3d 023404 rtn 
+:      023406 parse_lmp_version_res:
+0x5e3e 023407 fetch 1 ,mem_conn_sm 
+0x5e3f 023408 rtneq conn_sm_wait_version 
+0x5e40 023410 jam conn_sm_send_features ,mem_conn_sm 
+0x5e41 023412 rtn 
+:      023415 parse_lmp_auto_rate:
+0x5e42 023416 rtn 
+:      023418 parse_lmp_in_rand:
+0x5e43 023419 call lmp_copy_rand 
+0x5e44 023420 jam pincode_state_wait_pincode ,mem_pincode_state 
+0x5e45 023421 jam bt_evt_pincode_req ,mem_fifo_temp 
+0x5e46 023422 call ui_ipc_send_event 
+0x5e47 023424 call tid_check 
+0x5e48 023425 nbranch lmp_accept_inrand ,true 
+0x5e49 023427 nbranch parse_lmp_inrand_res ,master 
+0x5e4a 023428 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5e4b 023429 jam lmp_in_rand ,mem_lmi_opcode2 
+0x5e4c 023430 jam transaction_collision ,mem_lmo_reason2 
+0x5e4d 023431 rtn 
+:      023432 parse_lmp_inrand_res:
+0x5e4e 023433 fetch 1 ,mem_op 
+0x5e4f 023434 set1 op_inrand_req ,pdata 
+0x5e50 023435 store 1 ,mem_op 
+0x5e51 023436 rtn 
+:      023439 pop_tid_follow:
+0x5e52 023440 fetcht 1 ,mem_state_map 
+0x5e53 023441 nsetflag blank ,smap_lmptid ,temp 
+0x5e54 023442 storet 1 ,mem_state_map 
+0x5e55 023443 rtn 
+:      023446 push_tid_follow:
+0x5e56 023447 fetch 1 ,mem_lmo_tid2 
+0x5e57 023448 rshift pdata ,pdata 
+0x5e58 023449 and_into 1 ,pdata 
+0x5e59 023450 rtn 
+:      023452 parse_lmp_au_rand_moudle:
+0x5e5a 023453 fetch 1 ,mem_nv_data_number 
+0x5e5b 023454 rtn blank 
+0x5e5c 023455 fetch 1 ,mem_pairing_auth 
+0x5e5d 023456 call load_device_list ,blank 
+0x5e5e 023457 rtn 
+:      023459 parse_lmp_au_rand:
+0x5e5f 023460 call parse_lmp_au_rand_moudle 
+0x5e60 023461 call push_tid_follow 
+0x5e61 023462 store 1 ,mem_sres_tid 
+0x5e62 023463 call lmp_copy_rand 
+0x5e63 023464 jam lmp_sres ,mem_lmo_opcode2 
+0x5e64 023465 fetch 1 ,mem_link_key_exists 
+0x5e65 023466 nrtn blank 
+0x5e66 023467 fetch 1 ,mem_state 
+0x5e67 023468 rtnbit1 state_combkey 
+0x5e68 023469 jam key_missing ,mem_lmo_reason2 
+0x5e69 023470 branch reject_lmp_packet 
+:      023472 parse_lmp_sres:
+0x5e6a 023473 arg mem_plap ,rega 
+0x5e6b 023474 call function_e1 
+0x5e6c 023475 fetch 4 ,mem_rxbuf + 1 
+0x5e6d 023476 fetcht 4 ,mem_input_store 
+0x5e6e 023477 isub temp ,null 
+0x5e6f 023478 branch authentication_ok ,zero 
+0x5e70 023479 jam lmp_detach ,mem_lmo_opcode2 
+0x5e71 023480 jam authentication_failure_error ,mem_disconn_reason_send 
+0x5e72 023481 rtn 
+:      023482 authentication_ok:
+0x5e73 023483 call authentication_ok_common 
+0x5e74 023484 fetch 1 ,mem_ssp_enable 
+0x5e75 023485 branch pairing_success ,blank 
+0x5e76 023486 rtn 
+:      023489 authentication_ok_common:
+0x5e77 023490 call copy_aco 
+0x5e78 023491 call linkkey_ready 
+0x5e79 023492 fetch 1 ,mem_op 
+0x5e7a 023493 isolate1 op_auth_req ,pdata 
+0x5e7b 023494 set0 op_auth_req ,pdata 
+0x5e7c 023495 store 1 ,mem_op 
+0x5e7d 023496 fetch 1 ,mem_conn_sm 
+0x5e7e 023497 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+0x5e7f 023498 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+0x5e80 023499 rtn 
+:      023500 authentication_ok_conn_sm:
+0x5e81 023501 fetch 1 ,mem_pairing_auth 
+0x5e82 023502 rtnne defalt_pairing_auth 
+0x5e83 023503 fetch 1 ,mem_state_map 
+0x5e84 023504 rtnbit1 smap_encryption 
+0x5e85 023505 branch host_create_conn_encrypt 
+:      023507 parse_lmp_comb_key:
+0x5e86 023508 arg mem_rxbuf + 1 ,rega 
+0x5e87 023509 arg mem_kinit ,regb 
+0x5e88 023510 arg mem_random_number ,contw 
+0x5e89 023511 call xor16 
+0x5e8a 023512 arg mem_plap ,rega 
+0x5e8b 023513 call generate_linkkey 
+0x5e8c 023514 jam lmp_au_rand ,mem_lmo_opcode2 
+0x5e8d 023515 fetch 1 ,mem_state 
+0x5e8e 023516 bbit0 state_combkey ,lmp_generate_key 
+0x5e8f 023517 rtn 
+:      023519 parse_lmp_name_res:
+0x5e90 023520 fetch 2 ,mem_len 
+0x5e91 023521 add pdata ,-3 ,loopcnt 
+0x5e92 023522 fetcht 1 ,mem_rxbuf + 1 
+0x5e93 023523 setarg mem_tmp_buffer 
+0x5e94 023524 iadd temp ,contw 
+0x5e95 023525 arg mem_rxbuf + 3 ,contr 
+0x5e96 023526 call memcpy 
+0x5e97 023527 fetcht 1 ,mem_name_offset 
+0x5e98 023528 fetch 1 ,mem_rxbuf + 2 
+0x5e99 023529 isub temp ,pdata 
+0x5e9a 023530 sub pdata ,14 ,null 
+0x5e9b 023531 branch parse_lmp_name_res_end ,positive 
+0x5e9c 023532 add temp ,14 ,pdata 
+0x5e9d 023533 store 1 ,mem_name_offset 
+0x5e9e 023534 jam lmp_name_req ,mem_lmo_opcode2 
+0x5e9f 023535 rtn 
+:      023536 parse_lmp_name_res_end:
+0x5ea0 023537 fetch 1 ,mem_state_map 
+0x5ea1 023538 set1 smap_name_res ,pdata 
+0x5ea2 023539 store 1 ,mem_state_map 
+0x5ea3 023540 bbit1 smap_name_req ,lmp_disconnect 
+0x5ea4 023541 rtn 
+:      023542 parse_lmp_name_req:
+0x5ea5 023543 fetch 1 ,mem_rxbuf + 1 
+0x5ea6 023544 store 1 ,mem_lmi_opcode2 
+0x5ea7 023545 jam lmp_name_res ,mem_lmo_opcode2 
+0x5ea8 023546 rtn 
+:      023548 parse_lmp_conn_req:
+0x5ea9 023549 branch accept_lmp_msg 
+:      023551 parse_lmp_timing_accuracy_req:
+0x5eaa 023552 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+0x5eab 023553 rtn 
+:      023555 parse_lmp_features_req:
+0x5eac 023556 jam lmp_features_res ,mem_lmo_opcode2 
+0x5ead 023557 rtn 
+:      023559 parse_lmp_version_req:
+0x5eae 023560 jam lmp_version_res ,mem_lmo_opcode2 
+0x5eaf 023561 rtn 
+:      023563 parse_lmp_supervision_timeout:
+0x5eb0 023566 rtn 
+:      023570 parse_lmp_sniff_subrating_req:
+0x5eb1 023571 fetch 2 ,mem_tsniff 
+0x5eb2 023572 iforce temp 
+0x5eb3 023573 fetch 1 ,mem_rxbuf + 2 
+0x5eb4 023574 store 1 ,mem_subsniff_rate 
+0x5eb5 023575 imul32 temp ,temp 
+0x5eb6 023576 fetch 2 ,mem_rxbuf + 3 
+0x5eb7 023577 lshift pdata ,pdata 
+0x5eb8 023578 store 2 ,mem_subsniff_tcmax 
+0x5eb9 023579 fetch 4 ,mem_rxbuf + 5 
+0x5eba 023580 lshift pdata ,pdata 
+0x5ebb 023581 store 4 ,mem_subsniff_instant 
+0x5ebc 023583 deposit temp 
+0x5ebd 023584 store 2 ,mem_subsniff_tsniff 
+0x5ebe 023585 rtn 
+:      023586 parse_lmpext_packet_type_table_req:
+0x5ebf 023587 fetcht 1 ,mem_ptt 
+0x5ec0 023588 fetch 1 ,mem_rxbuf + 2 
+0x5ec1 023589 ixor temp ,null 
+0x5ec2 023590 nbranch reject_unknown_ext_packet ,zero 
+0x5ec3 023591 isolate1 0 ,pdata 
+0x5ec4 023592 fetch 1 ,mem_state_map 
+0x5ec5 023593 setflag true ,smap_edr ,pdata 
+0x5ec6 023594 store 1 ,mem_state_map 
+0x5ec7 023595 jam lmp_ext_accepted ,mem_lmo_opcode2 
+0x5ec8 023596 jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+0x5ec9 023597 rtn 
+:      023600 parse_lmp_sniff_subrating_res:
+:      023601 parse_lmp_preferred_rate:
+:      023602 parse_lmp_max_power:
+:      023603 parse_lmp_min_power:
+0x5eca 023604 rtn 
+:      023605 parse_lmp_page_mode_req:
+0x5ecb 023607 branch accept_lmp_msg 
+:      023608 parse_lmp_page_scan_mode_req:
+0x5ecc 023611 branch accept_lmp_msg 
+:      023615 parse_lmp_slot_offset:
+0x5ecd 023616 fetch 2 ,mem_rxbuf + 1 
+0x5ece 023617 store 2 ,mem_slot_offset 
+0x5ecf 023618 rtn 
+:      023620 parse_lmp_sniff_req_check_sniff_para:
+0x5ed0 023621 fetch 2 ,mem_rxbuf + 4 
+0x5ed1 023622 fetcht 1 ,mem_lpm_mult 
+0x5ed2 023623 imul32 temp ,pdata 
+0x5ed3 023624 arg 0x640 ,temp 
+0x5ed4 023625 isub temp ,null 
+0x5ed5 023627 rtn 
+:      023629 parse_lmp_sniff_req:
+0x5ed6 023630 fetch 2 ,mem_rxbuf + 6 
+0x5ed7 023631 branch lmp_reject_sniff ,blank 
+0x5ed8 023632 call parse_lmp_sniff_req_check_sniff_para 
+0x5ed9 023633 branch lmp_reject_sniff ,positive 
+0x5eda 023634 fetch 1 ,mem_device_option 
+0x5edb 023635 sub pdata ,dvc_op_module ,null 
+0x5edc 023636 call module_set_lpm_mult_2 ,zero 
+0x5edd 023637 fetch 1 ,mem_state 
+0x5ede 023638 bbit1 state_insniff ,lmp_reject_sniff 
+0x5edf 023639 fetch 2 ,mem_rxbuf + 2 
+0x5ee0 023640 lshift pdata ,pdata 
+0x5ee1 023641 store 2 ,mem_dsniff 
+0x5ee2 023642 fetch 2 ,mem_rxbuf + 4 
+0x5ee3 023643 lshift pdata ,pdata 
+0x5ee4 023644 store 2 ,mem_tsniff 
+0x5ee5 023645 fetch 2 ,mem_rxbuf + 6 
+0x5ee6 023646 store 1 ,mem_sniff_attempt 
+0x5ee7 023647 iforce temp 
+0x5ee8 023648 fetch 2 ,mem_rxbuf + 8 
+0x5ee9 023649 store 1 ,mem_sniff_timeout 
+0x5eea 023650 isub temp ,null 
+0x5eeb 023651 nbranch set_big_value_to_attempt ,positive 
+0x5eec 023652 store 1 ,mem_sniff_attempt 
+:      023653 set_big_value_to_attempt:
+0x5eed 023655 jam lmp_accepted ,mem_lmo_opcode2 
+0x5eee 023656 jam lmp_sniff_req ,mem_lmi_opcode2 
+0x5eef 023657 rtn 
+:      023659 lmp_reject_sniff:
+0x5ef0 023660 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5ef1 023661 branch reject_lmp_packet 
+:      023663 parse_lmp_start_encryption_req:
+0x5ef2 023664 call accept_lmp_msg 
+0x5ef3 023665 call lmp_copy_rand 
+0x5ef4 023666 call function_e3 
+0x5ef5 023667 branch start_encryption 
+:      023669 parse_lmp_stop_encryption_req:
+0x5ef6 023670 call accept_lmp_msg 
+0x5ef7 023671 branch stop_encryption 
+:      023674 parse_lmp_switch_req:
+0x5ef8 023675 fetch 4 ,mem_rxbuf + 1 
+0x5ef9 023676 lshift pdata ,pdata 
+0x5efa 023678 branch parse_lmp_switch_accept ,master 
+0x5efb 023679 fetcht 1 ,mem_link_key_exists 
+0x5efc 023680 nbranch parse_lmp_switch_req_clear_mark ,blank 
+:      023681 parse_lmp_switch_req_not_accept:
+0x5efd 023682 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5efe 023683 jam lmp_switch_req ,mem_lmi_opcode2 
+0x5eff 023684 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f00 023685 rtn 
+:      023686 parse_lmp_switch_req_clear_mark:
+0x5f01 023687 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x5f02 023688 jam 0 ,mem_conn_sm 
+0x5f03 023689 branch role_switch_prepare 
+:      023691 parse_lmp_switch_accept:
+0x5f04 023692 call role_switch_prepare 
+0x5f05 023693 set1 mark_reconn_recieve_switch ,mark 
+0x5f06 023694 fetch 1 ,mem_connection_options 
+0x5f07 023695 set0 connection_switch ,pdata 
+0x5f08 023696 store 1 ,mem_connection_options 
+0x5f09 023697 branch accept_lmp_msg 
+:      023701 parse_lmp_temp_rand:
+:      023702 parse_lmp_temp_key:
+:      023703 parse_lmp_timing_accuracy_res:
+:      023704 parse_lmp_unit_key:
+:      023705 parse_lmp_use_semi_permanend_key:
+0x5f0a 023706 rtn 
+:      023709 parse_lmp_unsniff_req:
+0x5f0b 023710 jam lmp_accepted ,mem_lmo_opcode2 
+0x5f0c 023711 jam lmp_unsniff_req ,mem_lmi_opcode2 
+0x5f0d 023712 jam bt_evt_remote_unsniff ,mem_fifo_temp 
+0x5f0e 023713 call ui_ipc_send_event 
+0x5f0f 023714 branch sniff_exit 
+:      023716 parse_lmp_encapsulated_header:
+0x5f10 023717 fetch 1 ,mem_rxbuf + 1 
+0x5f11 023718 bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f12 023719 fetch 1 ,mem_rxbuf + 2 
+0x5f13 023720 bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f14 023721 fetch 1 ,mem_rxbuf + 3 
+0x5f15 023722 bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f16 023723 call check_localsm 
+0x5f17 023724 branch parse_lmp_encapsulated_header_master ,true 
+0x5f18 023725 jam sp_stat_key_recv ,mem_sp_state 
+:      023726 parse_lmp_encapsulated_header_master:
+0x5f19 023727 jam lmp_accepted ,mem_lmo_opcode2 
+0x5f1a 023728 jam lmp_encapsulated_header ,mem_lmi_opcode2 
+0x5f1b 023729 branch parse_rx_done 
+:      023731 parse_lmp_encapsulated_header_reject:
+0x5f1c 023732 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f1d 023733 branch reject_lmp_packet 
+:      023735 parse_lmp_accepted_encapsulated_header:
+0x5f1e 023738 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x5f1f 023740 rtn 
+:      023741 parse_lmp_accepted_simple_pairing_number:
+0x5f20 023742 fetch 1 ,mem_ssp_mode_flag 
+0x5f21 023743 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+0x5f22 023744 beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+:      023745 parse_lmp_accepted_simple_pairing_number_common:
+0x5f23 023746 call check_localsm 
+0x5f24 023747 rtn true 
+0x5f25 023748 jam sp_stat_confirm_recv ,mem_sp_state 
+0x5f26 023749 rtn 
+:      023751 parse_lmp_accepted_simple_pairing_number_ssp_pin:
+0x5f27 023752 call g_noninit_number_confirm 
+0x5f28 023753 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+0x5f29 023754 call ui_ipc_send_event 
+0x5f2a 023755 branch parse_lmp_accepted_simple_pairing_number_common 
+:      023758 parse_lmp_accepted_simple_pairing_number_passkey:
+0x5f2b 023759 call check_localsm 
+0x5f2c 023760 rtn true 
+0x5f2d 023761 fetch 1 ,mem_authentication_passkey_times 
+0x5f2e 023762 beq 19 ,authentication_passkey_end 
+0x5f2f 023763 increase 1 ,pdata 
+0x5f30 023764 store 1 ,mem_authentication_passkey_times 
+:      023767 authentication_passkey:
+0x5f31 023768 jam sp_flag_commit ,mem_sp_flag 
+0x5f32 023769 jam sp_stat_commit_calc ,mem_sp_state 
+0x5f33 023770 fetch 1 ,mem_authentication_passkey_times 
+0x5f34 023771 copy pdata ,queue 
+0x5f35 023772 fetch 6 ,mem_pin 
+0x5f36 023773 qisolate1 pdata 
+0x5f37 023774 setarg 0x80 
+0x5f38 023775 setflag true ,0 ,pdata 
+0x5f39 023776 store 1 ,mem_passkey_1bit 
+0x5f3a 023777 rtn 
+:      023779 authentication_passkey_end:
+0x5f3b 023780 jam sp_stat_confirm_recv ,mem_sp_state 
+0x5f3c 023781 rtn 
+:      023783 parse_lmp_accepted_dhkey_check:
+0x5f3d 023784 call parse_lmp_accepted_dhkey_check_common 
+:      023785 pairing_success:
+0x5f3e 023786 fetch 1 ,mem_flag_pairing_state 
+0x5f3f 023787 rtn blank 
+0x5f40 023788 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+0x5f41 023789 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+0x5f42 023790 branch ui_ipc_send_event 
+:      023793 parse_lmp_accepted_dhkey_check_common:
+0x5f43 023795 call check_localsm 
+0x5f44 023796 ncall g_noninit ,true 
+0x5f45 023797 call g_init ,true 
+0x5f46 023798 call check_localsm 
+0x5f47 023799 rtn true 
+0x5f48 023800 jam sp_stat_link_key_calc ,mem_sp_state 
+0x5f49 023801 jam sp_flag_commit ,mem_sp_flag 
+0x5f4a 023802 rtn 
+:      023804 parse_simple_pairing_confirm:
+0x5f4b 023805 arg mem_sp_confirm_remote ,contw 
+0x5f4c 023806 arg mem_rxbuf + 1 ,contr 
+0x5f4d 023807 call memcpy16 
+0x5f4e 023808 fetch 1 ,mem_ssp_mode_flag 
+0x5f4f 023809 rtneq ssp_mode_passkey_entry_flag 
+0x5f50 023810 branch master_set_mem_master_sp_flag 
+:      023812 parse_lmp_encapsulated_payload:
+0x5f51 023813 fetch 1 ,mem_master_sp_state 
+0x5f52 023814 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+0x5f53 023815 fetch 1 ,mem_sp_state 
+0x5f54 023816 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+:      023817 parse_encapsulated_payload_master:
+0x5f55 023818 fetch 1 ,mem_sp_remote_key_recv_count 
+0x5f56 023819 sub pdata ,0x20 ,contw 
+0x5f57 023820 nbranch parse_lmp_encapsulated_payload_reject ,positive 
+0x5f58 023821 arg mem_sp_pubkey_remote ,contw 
+0x5f59 023822 iadd contw ,contw 
+0x5f5a 023823 fetch 8 ,mem_rxbuf + 1 
+0x5f5b 023824 istore 8 ,contw 
+0x5f5c 023825 fetch 8 ,mem_rxbuf + 9 
+0x5f5d 023826 istore 8 ,contw 
+0x5f5e 023827 fetch 1 ,mem_sp_remote_key_recv_count 
+0x5f5f 023828 increase 16 ,pdata 
+0x5f60 023829 store 1 ,mem_sp_remote_key_recv_count 
+0x5f61 023830 bne encapsulated_len_p192 ,accept_lmp_msg 
+:      023831 parse_lmp_encapsulated_payload_completed:
+0x5f62 023832 call check_localsm 
+0x5f63 023833 branch accept_lmp_msg ,true 
+0x5f64 023834 jam sp_key_valid ,mem_sp_remote_key_invalid 
+0x5f65 023835 jam sp_stat_key_generate ,mem_sp_state 
+0x5f66 023836 jam sp_flag_commit ,mem_sp_flag 
+0x5f67 023837 branch accept_lmp_msg 
+:      023838 parse_lmp_encapsulated_payload_reject:
+0x5f68 023839 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f69 023840 branch reject_lmp_packet 
+:      023841 parse_lmp_accepted_encapsulated_payload:
+0x5f6a 023842 fetch 1 ,mem_sp_local_key_send_count 
+0x5f6b 023843 beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+0x5f6c 023844 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x5f6d 023845 branch parse_rx_done 
+:      023847 parse_lmp_encapsulated_payload_all_accepted:
+0x5f6e 023848 call check_localsm 
+0x5f6f 023849 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+0x5f70 023850 fetch 1 ,mem_ssp_mode_flag 
+0x5f71 023851 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+0x5f72 023852 jam sp_flag_commit ,mem_sp_flag 
+0x5f73 023853 jam sp_stat_commit_calc ,mem_sp_state 
+0x5f74 023854 branch parse_rx_done 
+:      023856 parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+0x5f75 023857 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+0x5f76 023858 branch ui_ipc_send_event 
+:      023861 parse_lmp_encapsulated_payload_all_accepted_master:
+0x5f77 023863 branch parse_rx_done 
+:      023865 parse_lmp_simple_pairing_number:
+0x5f78 023866 fetch 1 ,mem_master_sp_state 
+0x5f79 023867 beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+0x5f7a 023868 fetch 1 ,mem_sp_state 
+0x5f7b 023869 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+:      023870 parse_lmp_simple_pairing_number_master:
+0x5f7c 023871 arg mem_sp_random_remote ,contw 
+0x5f7d 023872 fetch 8 ,mem_rxbuf + 1 
+0x5f7e 023873 istore 8 ,contw 
+0x5f7f 023874 fetch 8 ,mem_rxbuf + 9 
+0x5f80 023875 istore 8 ,contw 
+0x5f81 023876 call check_localsm 
+0x5f82 023877 branch parse_lmp_simple_pairing_number_master0 ,true 
+0x5f83 023878 jam sp_stat_random_send ,mem_sp_state 
+0x5f84 023879 jam sp_flag_commit ,mem_sp_flag 
+0x5f85 023880 branch accept_lmp_msg 
+:      023881 parse_lmp_simple_pairing_number_master0:
+0x5f86 023882 jam sp_stat_commit_calc ,mem_master_sp_state 
+0x5f87 023883 branch master_set_mem_master_sp_flag 
+:      023886 parse_lmp_simple_pairing_number_reject:
+0x5f88 023887 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f89 023888 branch reject_lmp_packet 
+:      023890 parse_dhkey_check:
+0x5f8a 023891 fetch 1 ,mem_master_sp_state 
+0x5f8b 023892 beq sp_stat_confirm_send ,parse_dhkey_check_master 
+0x5f8c 023893 fetch 1 ,mem_sp_state 
+0x5f8d 023894 bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+:      023895 parse_dhkey_check_master:
+0x5f8e 023896 arg mem_sp_check_result ,contw 
+0x5f8f 023897 arg mem_rxbuf + 1 ,contr 
+0x5f90 023898 call memcpy16 
+0x5f91 023899 call check_localsm 
+0x5f92 023900 branch parse_dhkey_check_master0 ,true 
+0x5f93 023901 fetch 1 ,mem_ssp_mode_flag 
+0x5f94 023902 beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+:      023903 number_comparison_successed:
+0x5f95 023904 jam 0 ,mem_flag_mode_ssp_pin 
+0x5f96 023905 jam sp_stat_confirm_check ,mem_sp_state 
+0x5f97 023906 jam sp_flag_commit ,mem_sp_flag 
+0x5f98 023907 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x5f99 023908 branch parse_rx_done 
+:      023910 parse_dhkey_check_master0:
+0x5f9a 023911 jam sp_stat_confirm_check ,mem_master_sp_state 
+0x5f9b 023912 jam sp_flag_commit ,mem_master_sp_flag 
+0x5f9c 023913 branch parse_rx_done 
+:      023914 parse_lmp_dhkey_check_reject:
+0x5f9d 023915 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f9e 023916 branch reject_lmp_packet 
+:      023918 number_comparison_mode:
+0x5f9f 023919 fetch 1 ,mem_flag_mode_ssp_pin 
+0x5fa0 023920 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+0x5fa1 023921 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+0x5fa2 023922 store 1 ,mem_flag_mode_ssp_pin 
+0x5fa3 023923 rtn 
+:      023925 comparison_result:
+0x5fa4 023926 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x5fa5 023927 jam 0 ,mem_flag_mode_ssp_pin 
+0x5fa6 023928 branch parse_lmp_dhkey_check_reject 
+:      023931 parse_lmp_clkoffset_res:
+0x5fa7 023932 branch parse_rx_done 
+:      023934 parse_lmp_encryption_mode_req:
+0x5fa8 023935 fetch 1 ,mem_connection_options 
+0x5fa9 023936 set0 connection_encrypt 
+0x5faa 023937 store 1 ,mem_connection_options 
+0x5fab 023938 call accept_lmp_msg 
+0x5fac 023939 nrtn master 
+0x5fad 023940 fetch 1 ,mem_rxbuf + 1 
+0x5fae 023941 fetcht 1 ,mem_op 
+0x5faf 023942 setflag blank ,op_stop_enc ,temp 
+0x5fb0 023943 nsetflag blank ,op_start_enc ,temp 
+0x5fb1 023944 storet 1 ,mem_op 
+0x5fb2 023945 rtn 
+:      023947 parse_lmp_features_res:
+0x5fb3 023948 fetcht 8 ,mem_rxbuf + 1 
+:      023949 parse_lmp_features_res_not_hci:
+0x5fb4 023950 fetch 1 ,mem_conn_sm 
+0x5fb5 023951 rtnne conn_sm_wait_features_res 
+0x5fb6 023953 fetch 1 ,mem_connection_options 
+0x5fb7 023954 bbit0 connection_feature_ext ,parse_lmp_send_conn 
+0x5fb8 023956 jam conn_sm_send_features_ext ,mem_conn_sm 
+0x5fb9 023957 rtn 
+:      023958 parse_lmp_send_conn:
+0x5fba 023959 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x5fbb 023960 rtn 
+:      023961 parse_lmp_test_activate:
+0x5fbc 023962 fetch 1 ,mem_debug_config 
+0x5fbd 023963 store 1 ,mem_test_mode_old_debug_config 
+0x5fbe 023964 jam lmp_accepted ,mem_lmo_opcode2 
+0x5fbf 023965 jam lmp_test_activate ,mem_lmi_opcode2 
+0x5fc0 023966 rtn 
+:      023967 parse_lmp_test_control:
+0x5fc1 023970 jam lmp_accepted ,mem_lmo_opcode2 
+0x5fc2 023971 jam lmp_test_control ,mem_lmi_opcode2 
+0x5fc3 023972 force 9 ,loopcnt 
+0x5fc4 023973 arg mem_rxbuf + 1 ,contr 
+0x5fc5 023974 arg mem_temp_payload ,contw 
+:      023975 parse_lmp_test_xor:
+0x5fc6 023976 ifetch 1 ,contr 
+0x5fc7 023977 xor_into 0x55 ,pdata 
+0x5fc8 023978 istore 1 ,contw 
+0x5fc9 023979 loop parse_lmp_test_xor 
+0x5fca 023980 fetch 1 ,test_mode_scenario 
+0x5fcb 023981 fetcht 1 ,mem_tester_emulate 
+0x5fcc 023982 set0 tester_no_whitening ,temp 
+0x5fcd 023983 set0 tester_pattern_test ,temp 
+0x5fce 023984 beq exit_test_mode ,parse_lmp_test_control_exit 
+0x5fcf 023985 beq pause_test_mode ,parse_lmp_test_control_pause 
+0x5fd0 023986 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+0x5fd1 023987 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x5fd2 023988 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+0x5fd3 023989 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x5fd4 023990 beq zero_pattern ,parse_lmp_test_control_pattern 
+0x5fd5 023991 beq one_pattern ,parse_lmp_test_control_pattern 
+0x5fd6 023992 beq alt_pattern ,parse_lmp_test_control_pattern 
+0x5fd7 023993 beq alt2_pattern ,parse_lmp_test_control_pattern 
+0x5fd8 023994 beq pseudorandom ,parse_lmp_test_control_pattern 
+0x5fd9 023995 rtn 
+:      023996 parse_lmp_test_control_exit:
+0x5fda 023998 fetch 1 ,mem_tester_emulate 
+0x5fdb 023999 set1 tester_exit ,pdata 
+0x5fdc 024000 set1 tester_change ,pdata 
+0x5fdd 024001 store 1 ,mem_tester_emulate 
+0x5fde 024002 rtn 
+:      024003 parse_lmp_test_control_pattern:
+0x5fdf 024004 set1 tester_pattern_test ,temp 
+0x5fe0 024005 jam 5 ,mem_lch_code 
+0x5fe1 024006 fetch 2 ,test_mode_data_length 
+0x5fe2 024007 iforce loopcnt 
+0x5fe3 024008 store 2 ,mem_len 
+0x5fe4 024009 arg mem_rxbuf ,contw 
+0x5fe5 024010 call pn9 
+:      024011 parse_lmp_test_control_loopback_nowhite:
+0x5fe6 024012 set1 tester_no_whitening ,temp 
+:      024013 parse_lmp_test_control_loopback:
+0x5fe7 024014 set1 tester_change ,temp 
+0x5fe8 024015 force 0 ,pdata 
+0x5fe9 024016 store 1 ,mem_slave_rcvcnt 
+0x5fea 024017 store 2 ,mem_tst_pktcnt_crc 
+0x5feb 024018 store 2 ,mem_tst_pktcnt_dmh 
+0x5fec 024019 store 2 ,mem_tst_pktcnt_hec 
+0x5fed 024020 store 2 ,mem_tst_pktcnt_sync 
+0x5fee 024021 fetch 1 ,test_mode_hopping_mode 
+0x5fef 024022 compare fixed_freq ,pdata ,0xff 
+0x5ff0 024023 setflag true ,tester_fixed_freq ,temp 
+0x5ff1 024024 storet 1 ,mem_tester_emulate 
+0x5ff2 024025 rtn 
+:      024027 parse_lmp_test_control_pause:
+0x5ff3 024028 set0 mark_testmode ,mark 
+0x5ff4 024029 jam 0 ,mem_tester_emulate 
+0x5ff5 024030 fetch 1 ,mem_debug_config 
+0x5ff6 024031 set0 debug_tx_pattern ,pdata 
+0x5ff7 024032 store 1 ,mem_debug_config 
+0x5ff8 024033 rtn 
+:      024039 lmp_copy_rand:
+0x5ff9 024040 arg mem_rxbuf + 1 ,contr 
+0x5ffa 024041 arg mem_random_number ,contw 
+0x5ffb 024042 branch memcpy16 
+:      024044 lmp_generate_key:
+0x5ffc 024045 jam lmp_comb_key ,mem_lmo_opcode2 
+0x5ffd 024046 rtn 
+:      024048 lmp_start_encryption:
+0x5ffe 024049 nrtn master 
+0x5fff 024050 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+0x6000 024051 rtn 
+:      024053 lmp_accept_inrand:
+0x6001 024054 arg mem_lap ,rega 
+0x6002 024055 call generate_kinit 
+0x6003 024056 jam lmp_accepted ,mem_lmo_opcode2 
+0x6004 024057 jam lmp_in_rand ,mem_lmi_opcode2 
+0x6005 024058 rtn 
+:      024060 lmp_disconnect:
+0x6006 024061 jam 10 ,mem_conn_timer 
+0x6007 024062 jam lmp_detach ,mem_lmo_opcode2 
+0x6008 024063 jam local_host ,mem_disconn_reason_send 
+0x6009 024064 rtn 
+:      024070 send_lmp:
+0x600a 024071 bpatchx patch30_2 ,mem_patch30 
+0x600b 024072 disable user 
+0x600c 024073 call lmo_fifo_process 
+0x600d 024074 fetch 1 ,mem_lmp_to_send 
+0x600e 024075 rtn blank 
+0x600f 024080 bbit1 7 ,send_lmp_escape 
+:      024081 send_lmp0:
+0x6010 024082 beq lmp_name_req ,send_lmp_name_req 
+0x6011 024083 beq lmp_name_res ,send_lmp_name_res 
+0x6012 024084 beq lmp_accepted ,send_lmp_accepted 
+0x6013 024085 beq lmp_not_accepted ,send_lmp_not_accepted 
+0x6014 024086 beq lmp_features_req ,send_lmp_features_req 
+0x6015 024087 beq lmp_features_res ,send_lmp_features_res 
+0x6016 024088 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+0x6017 024089 beq lmp_version_req ,send_lmp_version_req 
+0x6018 024090 beq lmp_version_res ,send_lmp_version_res 
+0x6019 024091 beq lmp_setup_complete ,send_lmp_setup_complete 
+0x601a 024092 beq lmp_supervision_timeout ,send_lmp_superto 
+0x601b 024093 beq lmp_host_connection_req ,send_lmp_no_payload 
+0x601c 024094 beq lmp_in_rand ,send_lmp_inrand 
+0x601d 024095 beq lmp_comb_key ,send_lmp_comb_key 
+0x601e 024096 beq lmp_au_rand ,send_lmp_aurand 
+0x601f 024097 beq lmp_sres ,send_lmp_sres 
+0x6020 024098 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+0x6021 024099 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+0x6022 024100 beq lmp_start_encryption_req ,send_lmp_start_encryption 
+0x6023 024101 beq lmp_detach ,send_lmp_detach 
+0x6024 024102 beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+0x6025 024103 beq lmp_unit_key ,send_lmp_unit_key 
+0x6026 024105 beq lmp_incr_power_req ,send_lmp_inc_power 
+0x6027 024106 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+0x6028 024107 beq lmp_max_power ,send_lmp_nopayload_reply 
+0x6029 024108 beq lmp_max_slot ,send_lmp_max_slot 
+0x602a 024109 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+0x602b 024110 beq lmp_min_power ,send_lmp_nopayload_reply 
+0x602c 024111 beq lmp_slot_offset ,send_lmp_slot_offset 
+0x602d 024112 beq lmp_switch_req ,send_lmp_switch_req 
+0x602e 024113 beq lmp_sniff_req ,send_lmp_sniff_req 
+0x602f 024114 beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+0x6030 024115 beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+0x6031 024116 beq lmp_unsniff_req ,send_lmp_unsniff_req 
+0x6032 024117 beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+0x6033 024118 beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+0x6034 024119 beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+0x6035 024120 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+0x6036 024121 beq lmp_dhkey_check ,send_lmp_dhkey_check 
+0x6037 024122 beq lmp_auto_rate ,send_lmp_auto_rate 
+0x6038 024123 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+0x6039 024125 beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+0x603a 024126 beq lmp_quality_of_service ,send_lmp_quality_of_service 
+0x603b 024127 beq lmp_test_activate ,send_lmp_test_activate 
+0x603c 024128 beq lmp_test_control ,send_lmp_test_control 
+:      024129 send_lmp_error:
+0x603d 024130 branch assert 
+0x603e 024131 rtn 
+:      024132 send_lmp_escape:
+0x603f 024133 beq lmp_ext_accepted ,send_lmpext_accepted 
+0x6040 024134 beq lmp_ext_features_res ,send_lmpext_features_res 
+0x6041 024135 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+0x6042 024136 beq lmp_ext_features_req ,send_lmpext_features_req 
+0x6043 024137 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+0x6044 024138 beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+0x6045 024139 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+0x6046 024140 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+0x6047 024141 beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+0x6048 024142 beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+0x6049 024143 branch assert 
+:      024149 send_lmp_accepted:
+0x604a 024150 force 2 ,pdata 
+0x604b 024151 call msg_send_lmp 
+0x604c 024152 fetch 1 ,mem_lmi_opcode 
+0x604d 024153 istore 1 ,contw 
+0x604e 024154 call send_lmp_follow 
+0x604f 024155 bpatchx patch30_3 ,mem_patch30 
+0x6050 024156 fetch 1 ,mem_lmi_opcode 
+0x6051 024157 beq lmp_in_rand ,send_lmp_accepted_inrand 
+0x6052 024158 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+0x6053 024159 beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+0x6054 024160 beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+0x6055 024161 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+0x6056 024162 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+0x6057 024163 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+0x6058 024164 rtn 
+:      024166 send_create_conn_start_l2cap_timer_sm:
+0x6059 024167 fetch 1 ,mem_conn_sm 
+0x605a 024168 rtn blank 
+0x605b 024169 jam conn_sm_wait_done ,mem_conn_sm 
+0x605c 024170 setarg timer_enpt_waite 
+0x605d 024171 arg enpt_delay_timer ,queue 
+0x605e 024172 branch timer_init 
+:      024174 send_lmp_accept_sniff_req:
+0x605f 024175 branch sniff_init 
+:      024176 send_lmp_not_accepted:
+0x6060 024177 force 3 ,pdata 
+0x6061 024178 call msg_send_lmp 
+0x6062 024179 fetch 1 ,mem_lmi_opcode 
+0x6063 024180 beq lmp_au_rand ,send_not_accept_aurand 
+0x6064 024181 istore 1 ,contw 
+0x6065 024182 fetch 1 ,mem_lmo_reason 
+0x6066 024183 istore 1 ,contw 
+0x6067 024184 branch send_lmp_follow 
+:      024186 send_not_accept_aurand:
+0x6068 024187 istore 1 ,contw 
+0x6069 024188 fetch 1 ,mem_lmo_reason 
+0x606a 024189 istore 1 ,contw 
+0x606b 024190 arg mem_sres_tid ,temp 
+0x606c 024191 branch special_tid_store 
+:      024193 send_lmpext_accepted:
+0x606d 024194 force 4 ,queue 
+0x606e 024195 call send_lmpext 
+0x606f 024196 setarg lmp_escape 
+0x6070 024197 istore 1 ,contw 
+0x6071 024198 fetch 1 ,mem_lmi_opcode 
+0x6072 024199 set0 7 ,pdata 
+0x6073 024200 istore 1 ,contw 
+0x6074 024201 fetch 1 ,mem_lmi_opcode 
+0x6075 024202 branch send_lmp_follow 
+:      024204 send_lmpext_not_accepted:
+0x6076 024205 force 5 ,queue 
+0x6077 024206 call send_lmpext 
+0x6078 024207 setarg lmp_escape 
+0x6079 024208 istore 1 ,contw 
+0x607a 024209 fetch 1 ,mem_lmi_opcode 
+0x607b 024210 set0 7 ,pdata 
+0x607c 024211 istore 1 ,contw 
+0x607d 024212 fetch 1 ,mem_lmo_reason 
+0x607e 024213 istore 1 ,contw 
+0x607f 024214 branch send_lmp_follow 
+:      024217 send_lmp_accepted_inrand:
+0x6080 024218 call clear_linkkey 
+0x6081 024219 call tid_check 
+0x6082 024220 rtn true 
+0x6083 024221 branch lmp_generate_key 
+:      024223 send_lmp_accepted_enc_mode:
+0x6084 024224 fetch 1 ,mem_op 
+0x6085 024225 bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+0x6086 024226 rtnbit0 op_stop_enc 
+0x6087 024227 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x6088 024228 set0 op_stop_enc ,pdata 
+0x6089 024229 call tid_reply 
+0x608a 024230 branch send_lmp_accepted_enc_exit 
+:      024231 send_lmp_accepted_enc_start:
+0x608b 024232 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x608c 024233 set0 op_start_enc ,pdata 
+:      024234 send_lmp_accepted_enc_exit:
+0x608d 024235 store 1 ,mem_op 
+0x608e 024236 rtn 
+:      024238 send_lmp_accepted_enc_key:
+0x608f 024239 call check_localsm 
+0x6090 024240 branch lmp_start_encryption ,true 
+0x6091 024241 rtn 
+:      024243 send_lmp_accepted_connection:
+0x6092 024244 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+0x6093 024246 fetch 1 ,mem_lmp_conn_state 
+0x6094 024247 set1 received_conn_req ,pdata 
+0x6095 024248 store 1 ,mem_lmp_conn_state 
+0x6096 024249 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x6097 024250 branch ui_ipc_send_event 
+:      024253 send_lmp_accept_dhkey_check:
+0x6098 024254 rtn 
+:      024258 send_lmpext_features_res:
+0x6099 024259 force 12 ,queue 
+0x609a 024260 call send_lmpext 
+0x609b 024261 setarg 0x01 
+0x609c 024262 istore 1 ,contw 
+0x609d 024263 fetch 2 ,mem_lmpext_ssp_enable 
+0x609e 024264 istore 2 ,contw 
+0x609f 024265 setarg 0 
+0x60a0 024266 istore 3 ,contw 
+0x60a1 024267 setarg 0x00 
+0x60a2 024268 istore 4 ,contw 
+0x60a3 024269 branch send_lmp_reply 
+:      024270 send_lmpext_io_cap_res:
+0x60a4 024271 force 5 ,queue 
+0x60a5 024272 call send_lmpext 
+0x60a6 024273 fetch 3 ,mem_sp_iocap_local 
+0x60a7 024274 istore 3 ,contw 
+0x60a8 024275 call send_lmp_reply 
+0x60a9 024276 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+0x60aa 024277 fetch 1 ,mem_sp_iocap_local 
+0x60ab 024278 beq display_yesno ,responder_iocap_display_yesno 
+0x60ac 024279 beq keyboard_only ,responder_iocap_keyboard_only 
+0x60ad 024280 beq no_input_no_output ,responder_iocap_no_input_no_output 
+0x60ae 024281 rtn 
+:      024283 responder_iocap_keyboard_only:
+0x60af 024284 fetch 1 ,mem_sp_iocap_remote 
+0x60b0 024285 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+0x60b1 024286 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+0x60b2 024287 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+0x60b3 024288 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+0x60b4 024289 rtn 
+:      024292 responder_iocap_display_yesno:
+0x60b5 024293 fetch 1 ,mem_sp_iocap_remote 
+0x60b6 024294 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+0x60b7 024295 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+0x60b8 024296 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+0x60b9 024297 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+0x60ba 024298 rtn 
+:      024301 responder_iocap_no_input_no_output:
+0x60bb 024302 fetch 1 ,mem_sp_iocap_remote 
+0x60bc 024303 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+0x60bd 024304 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+0x60be 024305 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+0x60bf 024306 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+0x60c0 024307 rtn 
+:      024309 responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+:      024310 responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+:      024311 responder_iocap_display_yesno_initiator_iocap_display_only:
+:      024312 responder_iocap_no_input_no_output_initiator_iocap_display_only:
+:      024313 responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+:      024314 responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+:      024315 responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+:      024316 set_ssp_mode_justwork:
+0x60c1 024317 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+0x60c2 024318 fetch 1 ,mem_classic_bt_flag 
+0x60c3 024319 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+0x60c4 024320 rtn 
+:      024322 responder_iocap_display_yesno_initiator_iocap_display_yesno:
+:      024323 set_ssp_mode_numeric_comparison:
+0x60c5 024324 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+0x60c6 024325 rtn 
+:      024327 responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+:      024328 responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
+:      024329 responder_iocap_keyboard_only_initiator_iocap_display_only:
+:      024330 responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+:      024331 set_ssp_mode_passkey:
+0x60c7 024332 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+0x60c8 024333 rtn 
+:      024336 classic_bt_set_reject_justwork_flag:
+0x60c9 024337 arg flag_ssp_reject_justwork ,queue 
+0x60ca 024338 branch classic_bluetooth_set_flag 
+:      024340 classic_bt_clr_reject_justwork_flag:
+0x60cb 024341 arg flag_ssp_reject_justwork ,queue 
+0x60cc 024342 branch classic_bluetooth_clr_flag 
+:      024344 classic_bluetooth_set_flag:
+0x60cd 024345 fetch 1 ,mem_classic_bt_flag 
+0x60ce 024346 qset1 pdata 
+0x60cf 024347 store 1 ,mem_classic_bt_flag 
+0x60d0 024348 rtn 
+:      024350 classic_bluetooth_clr_flag:
+0x60d1 024351 fetch 1 ,mem_classic_bt_flag 
+0x60d2 024352 qset0 pdata 
+0x60d3 024353 store 1 ,mem_classic_bt_flag 
+0x60d4 024354 rtn 
+:      024357 send_lmp_io_cap_req:
+0x60d5 024358 force 5 ,queue 
+0x60d6 024359 call send_lmpext 
+0x60d7 024360 fetch 3 ,mem_sp_iocap_local 
+0x60d8 024361 istore 3 ,contw 
+0x60d9 024362 branch send_lmp_request 
+:      024365 send_lmpext_sniff_subrating_req:
+0x60da 024367 rtn 
+:      024368 send_lmpext_sniff_subrating_res:
+0x60db 024369 force 9 ,queue 
+0x60dc 024370 call send_lmpext 
+0x60dd 024371 fetch 1 ,mem_subsniff_rate 
+0x60de 024372 istore 1 ,contw 
+0x60df 024373 fetch 2 ,mem_subsniff_tcmax 
+0x60e0 024374 istore 2 ,contw 
+0x60e1 024375 fetch 4 ,mem_subsniff_instant 
+0x60e2 024376 istore 4 ,contw 
+0x60e3 024377 branch send_lmp_reply 
+:      024379 send_lmp_name_res:
+0x60e4 024380 force 17 ,pdata 
+0x60e5 024381 call msg_send_lmp 
+0x60e6 024382 fetch 1 ,mem_lmi_opcode 
+0x60e7 024383 copy pdata ,temp 
+0x60e8 024384 beq 0x00 ,send_lmp_name_res_offset_ok 
+0x60e9 024385 beq 0x0e ,send_lmp_name_res_offset_ok 
+0x60ea 024386 beq 0x1c ,send_lmp_name_res_offset_ok 
+0x60eb 024387 rtn 
+:      024388 send_lmp_name_res_offset_ok:
+0x60ec 024389 istore 1 ,contw 
+0x60ed 024390 fetch 1 ,mem_local_name_length 
+0x60ee 024391 istore 1 ,contw 
+0x60ef 024392 arg 14 ,loopcnt 
+0x60f0 024393 setarg mem_local_name 
+0x60f1 024394 iadd temp ,contr 
+0x60f2 024395 call memcpy 
+0x60f3 024396 branch send_lmp_reply 
+:      024399 send_lmp_timing_accuracy_res:
+0x60f4 024400 force 3 ,pdata 
+0x60f5 024401 call msg_send_lmp 
+0x60f6 024402 setarg 0x0114 
+0x60f7 024403 istore 2 ,contw 
+0x60f8 024404 branch send_lmp_reply 
+:      024406 send_lmp_clkoffset_res:
+0x60f9 024408 force 3 ,pdata 
+0x60fa 024409 call msg_send_lmp 
+0x60fb 024410 fetch 4 ,mem_clke_bt 
+0x60fc 024411 isub clkn_bt ,pdata 
+0x60fd 024412 branch send_lmp_clkoffset_res_master ,master 
+0x60fe 024413 sub pdata ,0 ,pdata 
+:      024414 send_lmp_clkoffset_res_master:
+0x60ff 024416 rshift2 pdata ,pdata 
+0x6100 024417 set0 15 ,pdata 
+0x6101 024418 istore 2 ,contw 
+0x6102 024419 branch send_lmp_reply 
+:      024421 send_lmp_version_res:
+0x6103 024422 force 6 ,pdata 
+0x6104 024423 call msg_send_lmp 
+0x6105 024424 fetch 5 ,mem_lmp_version 
+0x6106 024425 istore 5 ,contw 
+0x6107 024426 branch send_lmp_reply 
+:      024428 send_lmp_features_res:
+0x6108 024429 force 9 ,pdata 
+0x6109 024430 call msg_send_lmp 
+0x610a 024431 fetch 8 ,mem_features 
+0x610b 024432 istore 8 ,contw 
+0x610c 024433 branch send_lmp_reply 
+:      024440 send_lmpext_features_req:
+0x610d 024441 force 12 ,queue 
+0x610e 024442 call send_lmpext 
+0x610f 024443 setarg 0x01 
+0x6110 024444 istore 1 ,contw 
+0x6111 024445 fetch 2 ,mem_lmpext_ssp_enable 
+0x6112 024446 istore 2 ,contw 
+0x6113 024447 setarg 0 
+0x6114 024448 istore 3 ,contw 
+0x6115 024449 setarg 0x00 
+0x6116 024450 istore 4 ,contw 
+0x6117 024451 branch send_lmp_request 
+:      024453 send_lmpext_packet_type_table_req:
+0x6118 024454 force 3 ,queue 
+0x6119 024455 call send_lmpext 
+0x611a 024456 fetch 1 ,mem_ptt 
+0x611b 024457 istore 1 ,contw 
+0x611c 024458 disable user 
+0x611d 024459 call send_lmp_request 
+0x611e 024460 nrtn user 
+0x611f 024461 nrtn master 
+0x6120 024462 fetch 1 ,mem_afh_cfg 
+0x6121 024463 rtnbit0 afh_cfg_on 
+0x6122 024464 call afh_init 
+0x6123 024465 branch afh_open_all_channels 
+:      024468 ssp_enable:
+0x6124 024469 bpatchx patch30_4 ,mem_patch30 
+0x6125 024470 fetch 1 ,mem_features + 6 
+0x6126 024471 set1 param_featrue_ssp ,pdata 
+0x6127 024472 store 1 ,mem_features + 6 
+0x6128 024473 setarg param_lmpext_ssp_enable 
+0x6129 024474 store 2 ,mem_lmpext_ssp_enable 
+0x612a 024475 rtn 
+:      024477 ssp_disable:
+0x612b 024478 bpatchx patch30_5 ,mem_patch30 
+0x612c 024479 fetch 1 ,mem_features + 6 
+0x612d 024480 set0 param_featrue_ssp ,pdata 
+0x612e 024481 store 1 ,mem_features + 6 
+0x612f 024482 setarg 0 
+0x6130 024483 store 2 ,mem_lmpext_ssp_enable 
+0x6131 024484 rtn 
+:      024486 afh_init:
+0x6132 024487 jam 0x3 ,mem_afh_cfg 
+0x6133 024488 setarg 0 
+0x6134 024489 store 4 ,mem_afh_timer 
+0x6135 024490 arg mem_afh_map_lo ,contw 
+0x6136 024491 call afh_reset_map 
+0x6137 024492 arg mem_afh_map_new ,contw 
+0x6138 024493 call afh_reset_map 
+0x6139 024494 arg mem_afh_classify_channel_map ,contw 
+0x613a 024495 call afh_reset_map 
+0x613b 024496 branch afh_clear_error_counter 
+:      024497 afh_open_all_channels:
+0x613c 024498 arg mem_afh_map_new ,contw 
+0x613d 024499 call afh_reset_map 
+0x613e 024500 call afh_clear_error_counter 
+0x613f 024501 branch afh_set_send_flag 
+:      024504 afh_reset_map:
+0x6140 024505 setarg 0xffffff 
+0x6141 024506 istore 3 ,contw 
+0x6142 024507 istore 3 ,contw 
+0x6143 024508 istore 3 ,contw 
+0x6144 024509 setarg 0x7f 
+0x6145 024510 istore 1 ,contw 
+0x6146 024511 rtn 
+:      024512 afh_clear_error_counter:
+0x6147 024513 setarg 0 
+0x6148 024514 store 2 ,mem_afh_error_total 
+0x6149 024515 rtn 
+:      024516 afh_set_send_flag:
+0x614a 024517 fetch 1 ,mem_afh_cfg 
+0x614b 024518 set1 send_lmp_set_afh ,pdata 
+0x614c 024519 store 1 ,mem_afh_cfg 
+0x614d 024520 rtn 
+:      024523 send_lmpext_pause_encryption_req:
+0x614e 024524 force 2 ,queue 
+0x614f 024525 call send_lmpext 
+0x6150 024526 nbranch send_lmp_reply ,master 
+0x6151 024528 branch send_lmp_request 
+:      024532 send_lmp_detach:
+0x6152 024533 force 2 ,pdata 
+0x6153 024534 call msg_send_lmp 
+0x6154 024535 fetch 1 ,mem_disconn_reason_send 
+0x6155 024536 istore 1 ,contw 
+0x6156 024537 call send_lmp_request 
+:      024538 prepare_disconnect:
+0x6157 024539 fetch 1 ,mem_op 
+0x6158 024540 set1 op_disconn ,pdata 
+0x6159 024541 store 1 ,mem_op 
+0x615a 024542 jam 50 ,mem_conn_timer 
+0x615b 024543 rtn 
+:      024546 send_lmp_no_payload:
+0x615c 024547 force 1 ,pdata 
+0x615d 024548 call msg_send_lmp 
+0x615e 024549 branch send_lmp_request 
+:      024550 send_lmp_nopayload_reply:
+0x615f 024551 force 1 ,pdata 
+0x6160 024552 call msg_send_lmp 
+0x6161 024553 branch send_lmp_reply 
+:      024556 send_lmp_encryption_mode_req:
+0x6162 024557 force 2 ,pdata 
+0x6163 024558 call msg_send_lmp 
+0x6164 024559 fetch 1 ,mem_state_map 
+0x6165 024560 isolate0 smap_encryption ,pdata 
+0x6166 024561 setflag true ,0 ,pdata 
+0x6167 024562 and_into 1 ,pdata 
+0x6168 024563 istore 1 ,contw 
+0x6169 024564 branch send_lmp_request 
+:      024567 send_lmp_superto:
+0x616a 024568 force 3 ,pdata 
+0x616b 024569 call msg_send_lmp 
+0x616c 024570 fetch 2 ,mem_supervision_to 
+0x616d 024571 istore 2 ,contw 
+0x616e 024572 branch send_lmp_request 
+:      024574 send_lmp_name_req:
+0x616f 024575 jam 250 ,mem_conn_timer 
+0x6170 024576 force 2 ,pdata 
+0x6171 024577 call msg_send_lmp 
+0x6172 024578 fetch 1 ,mem_name_offset 
+0x6173 024579 istore 1 ,contw 
+0x6174 024580 branch send_lmp_request 
+:      024582 send_lmp_test_control:
+0x6175 024583 force 10 ,pdata 
+0x6176 024584 call msg_send_lmp 
+0x6177 024585 arg mem_temp_payload ,contr 
+0x6178 024586 force 9 ,loopcnt 
+:      024587 send_lmp_test_control_loop:
+0x6179 024588 ifetch 1 ,contr 
+0x617a 024589 xor_into 0x55 ,pdata 
+0x617b 024590 istore 1 ,contw 
+0x617c 024591 loop send_lmp_test_control_loop 
+0x617d 024592 branch send_lmp_request 
+:      024594 send_lmp_quality_of_service_req:
+0x617e 024595 branch send_lmp_request 
+:      024596 send_lmp_unit_key:
+0x617f 024597 branch send_lmp_request 
+:      024599 send_lmp_slot_offset:
+0x6180 024600 rtn master 
+0x6181 024601 call calc_slot_offset 
+0x6182 024602 force 9 ,pdata 
+0x6183 024603 call msg_send_lmp 
+0x6184 024604 fetch 2 ,mem_slot_offset 
+0x6185 024605 istore 2 ,contw 
+0x6186 024606 fetch 3 ,mem_lap 
+0x6187 024607 istore 3 ,contw 
+0x6188 024608 fetch 1 ,mem_uap 
+0x6189 024609 istore 1 ,contw 
+0x618a 024610 fetch 2 ,mem_nap 
+0x618b 024611 istore 2 ,contw 
+0x618c 024612 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+0x618d 024613 set0 mark_switch_initiated ,mark 
+0x618e 024614 call send_lmp_request 
+0x618f 024615 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6190 024616 rtn 
+:      024617 send_lmp_slot_offset_reply:
+0x6191 024618 call send_lmp_reply 
+0x6192 024619 jam lmp_accepted ,mem_lmo_opcode2 
+0x6193 024620 jam lmp_switch_req ,mem_lmi_opcode2 
+0x6194 024621 rtn 
+:      024623 send_lmp_switch_req:
+0x6195 024624 arg 0x200 ,temp 
+0x6196 024625 branch switch_on_native ,master 
+0x6197 024626 deposit clke_bt 
+0x6198 024627 branch switch_slack 
+:      024628 switch_on_native:
+0x6199 024629 deposit clkn_bt 
+:      024630 switch_slack:
+0x619a 024631 deposit bt_clk 
+0x619b 024632 iadd temp ,pdata 
+0x619c 024633 and_into 0x1fc ,pdata 
+0x619d 024634 store 4 ,mem_sniff_anchor 
+0x619e 024635 force 5 ,pdata 
+0x619f 024636 call msg_send_lmp 
+0x61a0 024637 fetch 4 ,mem_sniff_anchor 
+0x61a1 024638 rshift pdata ,pdata 
+0x61a2 024639 istore 4 ,contw 
+0x61a3 024640 branch send_lmp_request 
+:      024642 send_lmp_sniff_req:
+0x61a4 024643 force 10 ,pdata 
+0x61a5 024644 call msg_send_lmp 
+0x61a6 024645 arg mem_sniff_payload ,contr 
+0x61a7 024646 ifetch 9 ,contr 
+0x61a8 024647 istore 9 ,contw 
+0x61a9 024648 branch send_lmp_request 
+:      024651 send_lmp_timing_accuracy_req:
+0x61aa 024653 force 3 ,pdata 
+0x61ab 024654 call msg_send_lmp 
+0x61ac 024655 setarg 0x0114 
+0x61ad 024656 istore 2 ,contw 
+0x61ae 024657 branch send_lmp_request 
+:      024659 send_lmp_unsniff_req:
+0x61af 024661 force 1 ,pdata 
+0x61b0 024662 call msg_send_lmp 
+0x61b1 024671 branch send_lmp_request 
+:      024674 send_lmp_max_slot:
+0x61b2 024675 force 2 ,pdata 
+0x61b3 024676 call msg_send_lmp 
+0x61b4 024677 fetch 1 ,mem_max_slot 
+0x61b5 024678 istore 1 ,contw 
+0x61b6 024679 branch send_lmp_request 
+:      024682 send_lmp_max_slot_req:
+0x61b7 024683 force 2 ,pdata 
+0x61b8 024684 call msg_send_lmp 
+0x61b9 024685 setarg 0x05 
+0x61ba 024686 istore 1 ,contw 
+0x61bb 024687 branch send_lmp_request 
+:      024690 send_lmp_inc_power:
+0x61bc 024691 force 2 ,pdata 
+0x61bd 024692 call msg_send_lmp 
+0x61be 024693 setarg 0x00 
+0x61bf 024694 istore 1 ,contw 
+0x61c0 024695 branch send_lmp_request 
+:      024698 send_lmp_setup_complete_by_module:
+0x61c1 024699 jam lmp_max_slot_req ,mem_lmo_opcode2 
+0x61c2 024700 rtn 
+:      024701 send_lmp_setup_complete:
+0x61c3 024702 fetch 1 ,mem_device_option 
+0x61c4 024703 sub pdata ,dvc_op_module ,null 
+0x61c5 024704 call send_lmp_setup_complete_by_module ,zero 
+0x61c6 024705 fetch 1 ,mem_state 
+0x61c7 024706 set1 state_conn_comp ,pdata 
+0x61c8 024707 store 1 ,mem_state 
+0x61c9 024708 copy clkn_bt ,pdata 
+0x61ca 024709 store 4 ,mem_aurand_send_delay_time 
+0x61cb 024710 fetch 1 ,mem_lmp_conn_state 
+0x61cc 024711 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+0x61cd 024712 set1 sent_setup_complete ,pdata 
+0x61ce 024713 store 1 ,mem_lmp_conn_state 
+0x61cf 024714 jam bt_evt_setup_complete ,mem_fifo_temp 
+0x61d0 024715 call ui_ipc_send_event 
+0x61d1 024716 force 1 ,pdata 
+0x61d2 024717 call msg_send_lmp 
+0x61d3 024718 branch send_lmp_request 
+:      024719 send_lmp_setup_complete_has_sent:
+0x61d4 024720 jam 0 ,mem_lmp_to_send 
+0x61d5 024721 rtn 
+:      024723 send_lmp_version_req:
+0x61d6 024724 force 6 ,pdata 
+0x61d7 024725 call msg_send_lmp 
+0x61d8 024726 fetch 5 ,mem_lmp_version 
+0x61d9 024727 istore 5 ,contw 
+0x61da 024728 branch send_lmp_request 
+:      024730 send_lmp_features_req:
+0x61db 024731 force 9 ,pdata 
+0x61dc 024732 call msg_send_lmp 
+0x61dd 024733 fetch 8 ,mem_features 
+0x61de 024734 istore 8 ,contw 
+0x61df 024735 branch send_lmp_request 
+:      024737 sp_master_send_io_cap_get:
+0x61e0 024738 jam sp_flag_commit ,mem_master_sp_flag 
+0x61e1 024739 fetch 1 ,mem_sp_local_key_invalid 
+0x61e2 024740 rtnne sp_key_valid 
+0x61e3 024741 jam sp_master_stat_start_done ,mem_master_sp_state 
+0x61e4 024742 rtn 
+:      024744 sp_master_send_io_cap_send:
+0x61e5 024745 call tid_initiate 
+0x61e6 024746 jam lmp_io_cap_req ,mem_lmo_opcode2 
+0x61e7 024747 jam sp_stat_key_send ,mem_master_sp_state 
+0x61e8 024748 rtn 
+:      024751 sp_master_send_lmp_encapsulated_header:
+0x61e9 024752 call tid_initiate 
+0x61ea 024753 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x61eb 024754 jam sp_stat_random_send ,mem_master_sp_state 
+0x61ec 024755 rtn 
+:      024757 sp_master_commitment_compare:
+0x61ed 024758 arg mem_sp_calc_result_high ,rega 
+0x61ee 024759 arg mem_sp_confirm_remote ,regb 
+0x61ef 024760 arg 16 ,loopcnt 
+0x61f0 024761 call string_compare 
+0x61f1 024762 branch sp_master_commitment_compare_success ,zero 
+0x61f2 024763 jam sp_stat_null ,mem_master_sp_state 
+0x61f3 024764 call master_clear_mem_master_sp_flag 
+0x61f4 024765 jam pdu_not_allowed ,mem_lmo_reason2 
+0x61f5 024766 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x61f6 024767 branch reject_lmp_packet 
+:      024768 sp_master_commitment_compare_success:
+0x61f7 024769 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x61f8 024770 call master_set_mem_master_sp_flag 
+0x61f9 024771 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x61fa 024772 branch accept_lmp_msg 
+:      024776 sp_master_send_lmp_simple_pairing_number:
+0x61fb 024777 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x61fc 024778 rtn 
+:      024782 sp_send_lmp_encapsulated_header:
+0x61fd 024785 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x61fe 024787 rtn 
+:      024793 send_lmp_encapsulated_header:
+0x61ff 024794 jam 0 ,mem_sp_local_key_send_count 
+0x6200 024795 force 4 ,pdata 
+0x6201 024796 call msg_send_lmp 
+0x6202 024797 force encapsulated_major_type_p192 ,pdata 
+0x6203 024798 istore 1 ,contw 
+0x6204 024799 force encapsulated_minor_type_p192 ,pdata 
+0x6205 024800 istore 1 ,contw 
+0x6206 024801 force encapsulated_len_p192 ,pdata 
+0x6207 024802 istore 1 ,contw 
+0x6208 024803 call check_localsm 
+0x6209 024804 branch send_lmp_request ,true 
+0x620a 024805 branch send_lmp_reply 
+:      024807 send_lmp_encapsulated_payload:
+0x620b 024809 force 17 ,pdata 
+0x620c 024810 call msg_send_lmp 
+0x620d 024811 fetch 1 ,mem_sp_local_key_send_count 
+0x620e 024812 arg mem_sp_pubkey_local ,contr 
+0x620f 024813 iadd contr ,contr 
+0x6210 024814 ifetch 8 ,contr 
+0x6211 024815 istore 8 ,contw 
+0x6212 024816 ifetch 8 ,contr 
+0x6213 024817 istore 8 ,contw 
+0x6214 024818 fetch 1 ,mem_sp_local_key_send_count 
+0x6215 024819 increase 16 ,pdata 
+0x6216 024820 store 1 ,mem_sp_local_key_send_count 
+0x6217 024821 call check_localsm 
+0x6218 024822 branch send_lmp_request ,true 
+0x6219 024823 branch send_lmp_reply 
+:      024826 sp_send_lmp_simple_pairing_comfirm:
+0x621a 024827 jam sp_stat_random_recv ,mem_sp_state 
+0x621b 024828 jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+0x621c 024829 rtn 
+:      024830 send_lmp_simple_pairing_comfirm:
+0x621d 024833 force 17 ,pdata 
+0x621e 024834 call msg_send_lmp 
+0x621f 024835 arg mem_sp_calc_result_high ,contr 
+0x6220 024836 ifetch 8 ,contr 
+0x6221 024837 istore 8 ,contw 
+0x6222 024838 ifetch 8 ,contr 
+0x6223 024839 istore 8 ,contw 
+0x6224 024840 branch send_lmp_reply 
+:      024842 sp_send_lmp_simple_pairing_number:
+0x6225 024843 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x6226 024844 rtn 
+:      024846 send_lmp_simple_pairing_number:
+0x6227 024848 call check_localsm 
+0x6228 024849 call sp_local_random_key_generator ,true 
+0x6229 024850 force 17 ,pdata 
+0x622a 024851 call msg_send_lmp 
+0x622b 024852 arg mem_sp_random_local ,contr 
+0x622c 024853 ifetch 8 ,contr 
+0x622d 024854 istore 8 ,contw 
+0x622e 024855 ifetch 8 ,contr 
+0x622f 024856 istore 8 ,contw 
+0x6230 024857 call check_localsm 
+0x6231 024858 nbranch send_lmp_reply ,true 
+0x6232 024859 branch send_lmp_request ,true 
+:      024861 master_sp_sm_end:
+0x6233 024863 jam sp_stat_done ,mem_master_sp_state 
+:      024864 sp_aurand_send:
+0x6234 024865 call tid_initiate 
+0x6235 024866 jam lmp_au_rand ,mem_lmo_opcode2 
+0x6236 024867 call check_localsm_master 
+0x6237 024868 branch sp_master_key_prarm_push ,true 
+0x6238 024869 branch sp_link_key_prarm_push 
+:      024870 master_sp_send_lmp_dhkey_check:
+0x6239 024871 call tid_reply 
+:      024872 sp_send_lmp_dhkey_check:
+0x623a 024873 jam lmp_dhkey_check ,mem_lmo_opcode2 
+0x623b 024874 rtn 
+:      024875 send_lmp_dhkey_check:
+0x623c 024877 force 17 ,pdata 
+0x623d 024878 call msg_send_lmp 
+0x623e 024879 arg mem_sp_calc_result_high ,contr 
+0x623f 024880 ifetch 8 ,contr 
+0x6240 024881 istore 8 ,contw 
+0x6241 024882 ifetch 8 ,contr 
+0x6242 024883 istore 8 ,contw 
+0x6243 024884 call check_localsm 
+0x6244 024885 nbranch send_lmp_reply ,true 
+0x6245 024886 branch send_lmp_request ,true 
+:      024888 send_lmp_enc_key_size_mask_res:
+0x6246 024889 force 3 ,pdata 
+0x6247 024890 call msg_send_lmp 
+0x6248 024891 setarg 0xfffe 
+0x6249 024892 istore 2 ,contw 
+0x624a 024893 branch send_lmp_reply 
+:      024895 send_lmp_auto_rate:
+0x624b 024896 branch send_lmp_request 
+:      024897 send_lmp_clkoffset_req:
+0x624c 024898 branch send_lmp_request 
+:      024899 send_lmp_quality_of_service:
+0x624d 024900 branch send_lmp_request 
+:      024901 send_lmp_test_activate:
+0x624e 024902 branch send_lmp_request 
+:      024907 send_lmp_comb_key:
+0x624f 024908 call generate_random_number 
+0x6250 024909 arg mem_lap ,rega 
+0x6251 024910 call generate_linkkey 
+0x6252 024911 force 17 ,pdata 
+0x6253 024912 call msg_send_lmp 
+0x6254 024913 arg mem_kinit ,rega 
+0x6255 024914 arg mem_random_number ,regb 
+0x6256 024915 call xor16 
+0x6257 024916 nbranch send_lmp_follow ,master 
+0x6258 024917 branch send_lmp_tid 
+:      024919 send_lmp_inrand:
+0x6259 024920 call generate_random_number 
+0x625a 024921 arg mem_plap ,rega 
+0x625b 024922 call generate_kinit 
+:      024923 send_lmp_rand:
+0x625c 024924 force 17 ,pdata 
+0x625d 024925 call msg_send_lmp 
+0x625e 024926 arg mem_random_number ,contr 
+0x625f 024927 call memcpy16 
+0x6260 024928 fetch 1 ,mem_conn_sm 
+0x6261 024929 beq conn_sm_auth_wait ,send_lmp_request 
+0x6262 024930 beq conn_sm_pairing_wait ,send_lmp_request 
+0x6263 024931 branch send_lmp_tid 
+:      024933 send_lmp_aurand:
+0x6264 024934 fetch 1 ,mem_pairing_auth 
+0x6265 024935 branch send_lmp_aurand_notpairing ,blank 
+0x6266 024936 call check_localsm 
+0x6267 024937 call tid_initiate ,true 
+0x6268 024938 ncall tid_reply ,true 
+0x6269 024939 branch send_lmp_aurand_common 
+:      024940 send_lmp_aurand_notpairing:
+0x626a 024941 call tid_initiate 
+:      024942 send_lmp_aurand_common:
+0x626b 024943 call generate_random_number 
+0x626c 024944 branch send_lmp_rand 
+:      024946 send_lmp_sres:
+0x626d 024947 arg mem_lap ,rega 
+0x626e 024948 call function_e1 
+0x626f 024949 force 5 ,pdata 
+0x6270 024950 call msg_send_lmp 
+0x6271 024951 fetch 4 ,mem_input_store 
+0x6272 024952 istore 4 ,contw 
+0x6273 024953 arg mem_sres_tid ,temp 
+0x6274 024954 call special_tid_store 
+0x6275 024955 call copy_aco 
+0x6276 024956 call check_localsm 
+0x6277 024957 branch send_lmp_sres_master ,true 
+0x6278 024958 jam done_encryp ,mem_wait_encryption 
+0x6279 024959 fetch 1 ,mem_pairing_auth 
+0x627a 024960 rtn blank 
+0x627b 024961 jam lmp_au_rand ,mem_lmo_opcode2 
+:      024962 send_lmp_sres_master:
+0x627c 024963 fetch 1 ,mem_link_key_exists 
+0x627d 024964 rtn blank 
+:      024965 send_lmp_sres_startenc:
+0x627e 024966 call check_localsm 
+0x627f 024967 nbranch send_lmp_sres_startenc_slave ,true 
+0x6280 024968 fetch 1 ,mem_auth_enable 
+0x6281 024969 rtn blank 
+0x6282 024970 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6283 024971 rtn 
+:      024972 send_lmp_sres_startenc_slave:
+0x6284 024973 rtnmark0 mark_slave_in_rand_accepted 
+0x6285 024974 set0 mark_slave_in_rand_accepted ,mark 
+0x6286 024975 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6287 024976 rtn 
+:      024980 send_lmp_start_encryption:
+0x6288 024981 call generate_random_number 
+0x6289 024982 call function_e3 
+0x628a 024983 force 17 ,pdata 
+0x628b 024984 call msg_send_lmp 
+0x628c 024985 arg mem_random_number ,contr 
+0x628d 024986 call memcpy16 
+0x628e 024987 branch send_lmp_tid 
+:      024989 send_lmp_stop_encryption_req:
+0x628f 024990 force 1 ,pdata 
+0x6290 024991 call msg_send_lmp 
+0x6291 024992 branch send_lmp_tid 
+:      024994 send_lmp_encryption_key_size_req:
+0x6292 024995 force 2 ,pdata 
+0x6293 024996 call msg_send_lmp 
+0x6294 024997 force 16 ,pdata 
+0x6295 024998 istore 1 ,contw 
+0x6296 024999 store 1 ,mem_key_size 
+0x6297 025000 branch send_lmp_tid 
+:      025002 msg_send_lmp:
+0x6298 025004 lshift3 pdata ,pdata 
+0x6299 025005 or_into 0x07 ,pdata 
+0x629a 025006 store 1 ,mem_lmo_header_length 
+0x629b 025007 arg 17 ,loopcnt 
+0x629c 025008 arg mem_lmo_payload ,contw 
+0x629d 025009 call clear_mem 
+0x629e 025010 arg mem_lmo_payload ,contw 
+0x629f 025011 rtn 
+:      025013 send_lmpext:
+0x62a0 025014 and pdata ,0x7f ,rega 
+0x62a1 025015 jam lmp_escape ,mem_lmp_to_send 
+0x62a2 025016 deposit queue 
+0x62a3 025017 call msg_send_lmp 
+0x62a4 025018 deposit rega 
+0x62a5 025019 istore 1 ,contw 
+0x62a6 025020 rtn 
+:      025022 send_lmp_follow:
+0x62a7 025023 fetch 1 ,mem_lmp_to_send 
+0x62a8 025024 lshift pdata ,pdata 
+0x62a9 025025 fetcht 1 ,mem_state_map 
+0x62aa 025026 isolate1 smap_lmptid ,temp 
+0x62ab 025027 setflag true ,0 ,pdata 
+0x62ac 025028 branch send_lmp_exit 
+:      025031 send_lmp_tid:
+0x62ad 025032 fetcht 1 ,mem_state_map 
+0x62ae 025033 and_into 1 ,temp 
+0x62af 025034 branch send_lmp_end 
+:      025036 send_lmp_reply:
+0x62b0 025037 force 0 ,temp 
+0x62b1 025038 branch send_lmp_end 
+:      025040 send_lmp_request:
+0x62b2 025041 force 1 ,temp 
+:      025042 send_lmp_end:
+0x62b3 025043 fetch 1 ,mem_lmp_to_send 
+0x62b4 025044 lshift pdata ,pdata 
+0x62b5 025045 setflag master ,0 ,pdata 
+0x62b6 025046 ixor temp ,pdata 
+:      025047 send_lmp_exit:
+0x62b7 025048 store 1 ,mem_lmo_header_opcode 
+0x62b8 025049 jam 0 ,mem_lmp_to_send 
+0x62b9 025050 call lmo_fifo_process_lmo0empty 
+0x62ba 025051 enable user 
+0x62bb 025052 rtn 
+:      025055 lmo_fifo_check:
+0x62bc 025056 fetch 1 ,mem_lmo_opcode2 
+0x62bd 025057 rtn blank 
+0x62be 025058 call lmo_fifo_process 
+0x62bf 025059 fetch 1 ,mem_lmo_opcode2 
+0x62c0 025060 rtn 
+:      025062 lmo_fifo_process:
+0x62c1 025063 bpatchx patch30_6 ,mem_patch30 
+0x62c2 025064 fetch 1 ,mem_lmp_to_send 
+0x62c3 025065 branch lmo_fifo_process_lmo0empty ,blank 
+0x62c4 025066 fetch 1 ,mem_lmo_opcode1 
+0x62c5 025067 nrtn blank 
+0x62c6 025068 branch lmo_fifo_process_lmo2to1 
+:      025069 lmo_fifo_process_lmo0empty:
+0x62c7 025070 fetch 1 ,mem_lmo_opcode1 
+0x62c8 025071 branch lmo_fifo_process_lmo1_empty ,blank 
+0x62c9 025072 fetch 3 ,mem_lmo_opcode1 
+0x62ca 025073 store 3 ,mem_lmp_to_send 
+0x62cb 025074 fetcht 1 ,mem_lmo_tid1 
+0x62cc 025075 fetch 1 ,mem_state_map 
+0x62cd 025076 set0 smap_lmptid ,pdata 
+0x62ce 025077 ior temp ,pdata 
+0x62cf 025078 store 1 ,mem_state_map 
+0x62d0 025079 jam 0 ,mem_lmo_opcode1 
+:      025080 lmo_fifo_process_lmo2to1:
+0x62d1 025081 fetch 1 ,mem_lmo_opcode2 
+0x62d2 025082 rtn blank 
+0x62d3 025083 fetch 4 ,mem_lmo_opcode2 
+0x62d4 025084 store 4 ,mem_lmo_opcode1 
+0x62d5 025085 jam 0 ,mem_lmo_opcode2 
+0x62d6 025086 rtn 
+:      025087 lmo_fifo_process_lmo1_empty:
+0x62d7 025088 fetch 1 ,mem_lmo_opcode2 
+0x62d8 025089 rtn blank 
+0x62d9 025090 fetch 3 ,mem_lmo_opcode2 
+0x62da 025091 store 3 ,mem_lmp_to_send 
+0x62db 025092 fetcht 1 ,mem_lmo_tid2 
+0x62dc 025093 fetch 1 ,mem_state_map 
+0x62dd 025094 set0 smap_lmptid ,pdata 
+0x62de 025095 ior temp ,pdata 
+0x62df 025096 store 1 ,mem_state_map 
+0x62e0 025097 jam 0 ,mem_lmo_opcode2 
+0x62e1 025098 rtn 
+:      025101 special_tid_store:
+0x62e2 025102 bpatchx patch30_7 ,mem_patch30 
+0x62e3 025103 fetch 1 ,mem_state_map 
+0x62e4 025104 copy pdata ,regc 
+0x62e5 025105 ifetch 1 ,temp 
+0x62e6 025106 call pop_tid_follow 
+0x62e7 025107 call send_lmp_follow 
+0x62e8 025108 copy regc ,pdata 
+0x62e9 025109 store 1 ,mem_state_map 
+0x62ea 025110 rtn 
+:      025112 tid_reply:
+0x62eb 025113 fetcht 1 ,mem_state_map 
+0x62ec 025114 set0 smap_lmptidinit ,temp 
+0x62ed 025115 storet 1 ,mem_state_map 
+0x62ee 025116 rtn 
+:      025118 tid_initiate:
+0x62ef 025119 fetcht 1 ,mem_state_map 
+0x62f0 025120 set1 smap_lmptidinit ,temp 
+0x62f1 025121 storet 1 ,mem_state_map 
+0x62f2 025122 rtn 
+:      025125 tid_check:
+0x62f3 025126 nsetflag master ,smap_lmptid ,pdata 
+0x62f4 025127 fetcht 1 ,mem_state_map 
+0x62f5 025128 ixor temp ,pdata 
+0x62f6 025129 isolate1 smap_lmptid ,pdata 
+0x62f7 025130 rtn 
+:      025133 tid_set_reply:
+0x62f8 025134 fetch 1 ,mem_state_map 
+0x62f9 025135 setflag master ,smap_lmptid ,pdata 
+0x62fa 025136 store 1 ,mem_state_map 
+0x62fb 025137 rtn 
+:      025140 check_localsm:
+0x62fc 025141 fetch 1 ,mem_sp_localsm 
+0x62fd 025142 compare local_statemachine ,pdata ,0x7f 
+0x62fe 025143 rtn 
+:      025144 setlocalsm_master:
+0x62ff 025145 fetch 1 ,mem_sp_localsm 
+0x6300 025146 set1 7 ,pdata 
+0x6301 025147 store 1 ,mem_sp_localsm 
+0x6302 025148 rtn 
+:      025149 setlocalsm_slave:
+0x6303 025150 fetch 1 ,mem_sp_localsm 
+0x6304 025151 set0 7 ,pdata 
+0x6305 025152 store 1 ,mem_sp_localsm 
+0x6306 025153 rtn 
+:      025154 check_localsm_master:
+0x6307 025155 fetch 1 ,mem_sp_localsm 
+0x6308 025156 isolate1 7 ,pdata 
+0x6309 025157 store 1 ,mem_sp_localsm 
+0x630a 025158 rtn 
+:      025160 generate_random_number:
+0x630b 025162 arg mem_random_number ,contw 
+:      025163 generate_random:
+0x630c 025164 force 16 ,loopcnt 
+:      025165 generate_random_another:
+:      025166 generate_random_loop:
+0x630d 025167 random pdata 
+0x630e 025168 istore 1 ,contw 
+0x630f 025169 loop generate_random_another 
+0x6310 025170 rtn 
+:      025172 generate_linkkey:
+0x6311 025173 call function_e21 
+0x6312 025174 arg mem_link_key ,rega 
+0x6313 025175 arg mem_input_store ,regb 
+0x6314 025176 ifetch 8 ,rega 
+0x6315 025177 fetcht 1 ,mem_state 
+0x6316 025178 nsetflag blank ,state_combkey ,temp 
+0x6317 025179 storet 1 ,mem_state 
+0x6318 025180 copy rega ,contw 
+0x6319 025181 call xor16 
+0x631a 025182 branch generate_linkkey_continue 
+:      025188 process_conn_sm:
+0x631b 025190 bpatchx patch31_0 ,mem_patch31 
+0x631c 025192 call lmo_fifo_check 
+0x631d 025193 nrtn blank 
+:      025194 process_conn_sm_continue:
+0x631e 025195 fetch 1 ,mem_conn_sm 
+0x631f 025196 rtn blank 
+0x6320 025200 beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+0x6321 025201 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+0x6322 025202 beq conn_sm_send_features ,host_create_conn_send_features 
+0x6323 025203 beq conn_sm_wait_features_res ,host_create_conn_waiting 
+0x6324 025204 beq conn_sm_send_switch ,host_create_conn_send_switch 
+0x6325 025205 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+0x6326 025206 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+0x6327 025207 beq conn_sm_encrypt ,host_create_conn_encrypt 
+0x6328 025208 beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+0x6329 025209 beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+0x632a 025210 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+0x632b 025211 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+0x632c 025212 beq conn_sm_detach_delay ,host_create_conn_master_detach 
+0x632d 025213 beq conn_sm_send_version ,host_create_conn_send_version 
+0x632e 025214 beq conn_sm_wait_version ,host_create_conn_waiting 
+0x632f 025215 beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+0x6330 025216 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+0x6331 025217 beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+0x6332 025218 beq conn_sm_pairing ,host_create_conn_pairing 
+0x6333 025219 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+0x6334 025220 beq conn_sm_auth ,host_create_conn_auth 
+0x6335 025221 beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+0x6336 025222 beq conn_sm_done ,host_create_conn_done 
+0x6337 025223 beq conn_sm_wait_done ,host_create_conn_done_wait 
+0x6338 025224 jam conn_sm_standby ,mem_conn_sm 
+0x6339 025226 rtn 
+:      025227 host_create_conn_done:
+0x633a 025228 fetch 1 ,mem_lmp_conn_state 
+0x633b 025229 rtnbit0 received_setup_complete 
+0x633c 025230 rtnbit0 sent_setup_complete 
+0x633d 025231 jam conn_sm_standby ,mem_conn_sm 
+0x633e 025232 call host_conn_judge_encrypt 
+0x633f 025233 branch scheduler_start_upper_sm 
+:      025235 host_conn_judge_encrypt:
+0x6340 025236 fetch 1 ,mem_connection_options 
+0x6341 025237 rtnbit0 connection_encrypt 
+0x6342 025238 jam conn_sm_encrypt_wait ,mem_conn_sm 
+0x6343 025239 rtn 
+:      025241 host_create_conn_done_wait:
+0x6344 025242 arg enpt_delay_timer ,queue 
+0x6345 025243 call timer_check 
+0x6346 025244 nrtn blank 
+0x6347 025245 jam conn_sm_done ,mem_conn_sm 
+0x6348 025246 rtn 
+:      025248 host_create_conn_auth:
+0x6349 025249 fetch 1 ,mem_connection_options 
+0x634a 025250 set0 connection_auth ,pdata 
+0x634b 025251 store 1 ,mem_connection_options 
+0x634c 025252 jam conn_sm_auth_wait ,mem_conn_sm 
+0x634d 025253 jam lmp_au_rand ,mem_lmo_opcode2 
+0x634e 025254 rtn 
+:      025255 host_create_conn_auth_wait:
+0x634f 025256 rtn 
+:      025257 host_create_conn_pairing:
+0x6350 025258 fetch 1 ,mem_pincode_state 
+0x6351 025259 rtnne pincode_state_pincode_ready 
+0x6352 025260 call host_auth 
+0x6353 025261 jam conn_sm_pairing_wait ,mem_conn_sm 
+0x6354 025262 rtn 
+:      025264 host_create_conn_pairing_wait:
+0x6355 025265 rtn 
+:      025266 host_creat_conn_send_feat_ext:
+0x6356 025267 jam conn_sm_wait_features_ext ,mem_conn_sm 
+0x6357 025268 jam lmp_ext_features_req ,mem_lmo_opcode2 
+0x6358 025269 rtn 
+:      025270 host_create_conn_send_version:
+0x6359 025271 jam conn_sm_wait_version ,mem_conn_sm 
+0x635a 025272 jam lmp_version_req ,mem_lmo_opcode2 
+0x635b 025273 rtn 
+:      025275 host_creat_conn_wait_switch:
+0x635c 025276 fetch 1 ,mem_switch_flag 
+0x635d 025277 rtneq switch_flag_init 
+0x635e 025278 beq switch_flag_accept ,host_create_conn_switch_accept 
+0x635f 025279 arg switch_wait_timer ,queue 
+0x6360 025280 call timer_check 
+0x6361 025281 nrtn blank 
+0x6362 025282 jam switch_flag_init ,mem_switch_flag 
+0x6363 025283 branch host_create_conn_switch 
+:      025284 host_create_conn_switch_accept:
+0x6364 025285 rtn master 
+0x6365 025286 branch host_create_conn_auth_pair 
+:      025288 host_create_conn_send_features:
+0x6366 025289 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x6367 025290 jam lmp_features_req ,mem_lmo_opcode2 
+0x6368 025291 rtn 
+:      025292 host_create_conn_send_switch:
+0x6369 025293 jam lmp_switch_req ,mem_lmo_opcode2 
+0x636a 025294 set1 mark_switch_initiated ,mark 
+0x636b 025295 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x636c 025296 setarg 0x1ff 
+0x636d 025297 store 2 ,mem_soft_timer 
+0x636e 025298 rtn 
+:      025299 host_create_conn_send_conn_req:
+0x636f 025300 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x6370 025301 jam 0xff ,mem_soft_timer 
+0x6371 025302 set0 mark_reconn_recieve_switch ,mark 
+0x6372 025303 jam lmp_host_connection_req ,mem_lmo_opcode2 
+0x6373 025304 branch init_lmp_reinit 
+:      025305 host_create_conn_wait_accept:
+0x6374 025306 rtnmark1 mark_reconn_recieve_switch 
+0x6375 025307 fetch 2 ,mem_soft_timer 
+0x6376 025308 sub pdata ,1 ,pdata 
+0x6377 025309 branch host_create_conn_resend ,zero 
+0x6378 025310 store 2 ,mem_soft_timer 
+0x6379 025311 rtn 
+:      025312 host_create_conn_resend:
+0x637a 025313 jam conn_sm_send_switch ,mem_conn_sm 
+0x637b 025314 rtn 
+:      025315 host_create_conn_waiting:
+0x637c 025317 rtn 
+:      025319 host_create_conn_switch:
+0x637d 025320 fetch 1 ,mem_lmp_conn_state 
+0x637e 025321 rtnbit0 sent_setup_complete 
+0x637f 025322 rtnbit0 received_setup_complete 
+0x6380 025323 fetch 1 ,mem_connection_options 
+0x6381 025324 set0 connection_switch ,pdata 
+0x6382 025325 store 1 ,mem_connection_options 
+0x6383 025326 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6384 025327 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+0x6385 025328 rtn 
+:      025330 host_create_conn_send_setup_complete:
+0x6386 025331 jam conn_sm_wait_setup_complete ,mem_conn_sm 
+0x6387 025332 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x6388 025333 rtn 
+:      025335 host_create_conn_wait_setup_complete:
+0x6389 025336 fetch 1 ,mem_lmp_conn_state 
+0x638a 025337 rtnbit0 received_setup_complete 
+0x638b 025338 jam conn_sm_standby ,mem_conn_sm 
+0x638c 025340 rtn 
+:      025341 host_create_conn_wait_setup_complete_rtn:
+0x638d 025342 jam conn_sm_auth_pair ,mem_conn_sm 
+0x638e 025343 rtn 
+:      025345 host_create_conn_master_detach:
+0x638f 025346 fetch 1 ,mem_soft_timer 
+0x6390 025347 increase -1 ,pdata 
+0x6391 025348 branch host_create_conn_send_detach ,blank 
+0x6392 025349 store 1 ,mem_soft_timer 
+0x6393 025350 rtn 
+:      025351 host_create_conn_send_detach:
+0x6394 025352 jam lmp_detach ,mem_lmo_opcode2 
+0x6395 025353 jam local_host ,mem_disconn_reason_send 
+0x6396 025354 jam 0 ,mem_conn_sm 
+0x6397 025355 rtn 
+:      025356 host_create_conn_auth_pair:
+0x6398 025358 fetch 1 ,mem_connection_options 
+0x6399 025359 bbit1 connection_switch ,host_create_conn_switch 
+0x639a 025360 bbit1 connection_auth ,host_create_conn_auth_pair_true 
+:      025361 host_create_conn_sm_done:
+0x639b 025362 jam conn_sm_done ,mem_conn_sm 
+0x639c 025363 rtn 
+:      025364 host_create_conn_auth_pair_true:
+0x639d 025365 fetch 1 ,mem_link_key_exists 
+0x639e 025366 branch host_create_conn_auth_pair_nokey ,blank 
+0x639f 025367 fetch 1 ,mem_lmp_conn_state 
+0x63a0 025368 rtnbit0 sent_setup_complete 
+0x63a1 025369 rtnbit0 received_setup_complete 
+0x63a2 025370 fetch 4 ,mem_aurand_send_delay_time 
+0x63a3 025371 arg 100 ,temp 
+0x63a4 025372 iadd temp ,temp 
+0x63a5 025373 copy clkn_bt ,pdata 
+0x63a6 025374 isub temp ,null 
+0x63a7 025375 nrtn positive 
+0x63a8 025376 branch host_create_conn_auth 
+:      025380 host_create_conn_auth_pair_nokey:
+0x63a9 025381 jam conn_sm_pairing ,mem_conn_sm 
+0x63aa 025382 jam 4 ,mem_pin_length 
+0x63ab 025383 setarg 0x3030 
+0x63ac 025384 store 2 ,mem_pin 
+0x63ad 025385 istore 2 ,contw 
+0x63ae 025386 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x63af 025387 branch host_create_conn_pairing 
+:      025389 host_create_conn_auth_pair_wait:
+0x63b0 025390 rtn 
+:      025391 host_create_conn_encrypt:
+0x63b1 025392 fetch 1 ,mem_connection_options 
+0x63b2 025393 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+0x63b3 025394 jam conn_sm_done ,mem_conn_sm 
+0x63b4 025395 rtn 
+:      025397 host_create_conn_encrypt_start:
+0x63b5 025398 fetch 1 ,mem_connection_options 
+0x63b6 025399 set0 connection_encrypt ,pdata 
+0x63b7 025400 store 1 ,mem_connection_options 
+0x63b8 025401 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x63b9 025402 rtn 
+:      025404 host_create_conn_encrypt_wait:
+0x63ba 025405 fetch 1 ,mem_wait_encryption 
+0x63bb 025406 rtn blank 
+0x63bc 025407 jam conn_sm_standby ,mem_conn_sm 
+0x63bd 025408 branch host_create_conn_encrypt_start 
+:      025410 host_create_conn_encrypt_wait_clear:
+0x63be 025411 jam conn_sm_send_setup_complete ,mem_conn_sm 
+0x63bf 025412 rtn 
+:      025414 host_auth:
+0x63c0 025415 fetch 1 ,mem_op 
+0x63c1 025416 bbit1 op_inrand_req ,remote_auth 
+0x63c2 025417 call tid_initiate 
+0x63c3 025418 jam lmp_in_rand ,mem_lmo_opcode2 
+0x63c4 025419 branch cmd_exit 
+:      025420 remote_auth:
+0x63c5 025421 fetch 1 ,mem_op 
+0x63c6 025422 set0 op_inrand_req ,pdata 
+0x63c7 025423 store 1 ,mem_op 
+0x63c8 025424 call lmp_accept_inrand 
+0x63c9 025425 call tid_set_reply 
+0x63ca 025426 branch cmd_exit 
+:      025428 pincode_reinit:
+0x63cb 025429 setarg 4 
+0x63cc 025430 store 1 ,mem_pin_length 
+0x63cd 025431 setarg 0x3030 
+0x63ce 025432 istore 2 ,contw 
+0x63cf 025433 istore 2 ,contw 
+0x63d0 025434 rtn 
+:      025440 twspi_reset:
+0x63d1 025441 bpatchx patch31_4 ,mem_patch31 
+0x63d2 025442 hfetch 1 ,core_gpio_oe3 
+0x63d3 025443 arg 0x06 ,temp 
+0x63d4 025444 ior temp ,pdata 
+0x63d5 025445 hstore 1 ,core_gpio_oe3 
+0x63d6 025446 hfetch 1 ,core_gpio_out3 
+0x63d7 025447 ior temp ,pdata 
+0x63d8 025448 hstore 1 ,core_gpio_out3 
+0x63d9 025449 call twspi_disable 
+0x63da 025450 hfetch 1 ,core_gpio_out3 
+0x63db 025451 set0 1 ,pdata 
+0x63dc 025452 set0 2 ,pdata 
+0x63dd 025453 hstore 1 ,core_gpio_out3 
+0x63de 025454 nop 30 
+0x63df 025455 branch twspi_enable 
+:      025457 twspi_reset2:
+0x63e0 025458 hfetch 1 ,core_gpio_oe3 
+0x63e1 025459 arg 0xc0 ,temp 
+0x63e2 025460 ior temp ,pdata 
+0x63e3 025461 hstore 1 ,core_gpio_oe3 
+0x63e4 025462 hfetch 1 ,core_gpio_out3 
+0x63e5 025463 ior temp ,pdata 
+0x63e6 025464 hstore 1 ,core_gpio_out3 
+0x63e7 025465 call twspi_disable 
+0x63e8 025466 hfetch 1 ,core_gpio_out3 
+0x63e9 025467 set0 6 ,pdata 
+0x63ea 025468 set0 7 ,pdata 
+0x63eb 025469 hstore 1 ,core_gpio_out3 
+0x63ec 025470 nop 30 
+0x63ed 025471 branch twspi_enable2 
+:      025473 twspi_disable:
+0x63ee 025474 hfetch 1 ,core_gpio_sel1 
+0x63ef 025475 and pdata ,0xfc ,pdata 
+0x63f0 025476 hstore 1 ,core_gpio_sel1 
+0x63f1 025477 rtn 
+:      025478 twspi_enable:
+0x63f2 025479 hfetch 1 ,core_gpio_sel1 
+0x63f3 025480 or pdata ,0x01 ,pdata 
+0x63f4 025481 hstore 1 ,core_gpio_sel1 
+0x63f5 025482 rtn 
+:      025483 twspi_enable2:
+0x63f6 025484 hfetch 1 ,core_gpio_sel1 
+0x63f7 025485 or pdata ,0x03 ,pdata 
+0x63f8 025486 set0 4 ,pdata 
+0x63f9 025487 hstore 1 ,core_gpio_sel1 
+0x63fa 025488 rtn 
+:      025492 sensor_read:
+0x63fb 025493 copy pdata ,regb 
+0x63fc 025494 call spi_ncs_enable 
+0x63fd 025495 nop 100 
+0x63fe 025496 copy regb ,pdata 
+0x63ff 025497 call twspi_read 
+0x6400 025498 copy pdata ,regb 
+0x6401 025499 call spi_ncs_disable 
+0x6402 025500 nop 100 
+0x6403 025501 copy regb ,pdata 
+0x6404 025502 rtn 
+:      025504 sensor_write:
+0x6405 025505 copy pdata ,regb 
+0x6406 025506 call spi_ncs_enable 
+0x6407 025507 nop 100 
+0x6408 025508 copy regb ,pdata 
+0x6409 025509 call twspi_write 
+0x640a 025510 call spi_ncs_disable 
+0x640b 025511 nop 100 
+0x640c 025512 rtn 
+:      025515 spi_ncs_gpio_init:
+0x640d 025516 fetcht 1 ,mem_spi_ncs_gpio 
+0x640e 025517 branch gpio_config_output 
+:      025520 spi_ncs_enable:
+0x640f 025521 fetcht 1 ,mem_spi_ncs_gpio 
+0x6410 025522 branch gpio_out_active 
+:      025525 spi_ncs_disable:
+0x6411 025526 fetcht 1 ,mem_spi_ncs_gpio 
+0x6412 025527 branch gpio_out_inactive 
+:      025530 twspi_write:
+0x6413 025531 branch spid_write_reg 
+:      025533 twspi_read:
+0x6414 025534 branch spid_read_reg 
+:      025541 read_function_aes:
+0x6415 025542 nbranch read_function ,user 
+0x6416 025543 hfetch 1 ,core_gpio_key2 
+0x6417 025544 or_into 0x2 ,pdata 
+0x6418 025545 hstore 1 ,core_gpio_key2 
+:      025546 read_function:
+0x6419 025547 copy temp ,null 
+0x641a 025548 branch read_fuction_zero ,zero 
+0x641b 025549 copy regc ,pc 
+:      025550 read_fuction_zero:
+0x641c 025551 isolate0 0 ,null 
+0x641d 025552 branch set_ucode_status 
+:      025555 get_block_header:
+0x641e 025556 force 4 ,temp 
+:      025557 get_block_header0:
+0x641f 025558 arg mem_ucode_buf ,rega 
+0x6420 025559 hfetch 1 ,core_gpio_key2 
+0x6421 025560 and_into 0xfd ,pdata 
+0x6422 025561 hstore 1 ,core_gpio_key2 
+0x6423 025562 call read_function 
+0x6424 025563 arg 0x55aa ,rega 
+0x6425 025564 fetch 2 ,mem_ucode_buf 
+0x6426 025565 ifetcht 2 ,contr 
+0x6427 025566 isub rega ,null 
+0x6428 025567 rtn 
+:      025569 read_first_block:
+0x6429 025570 arg 2 ,temp 
+0x642a 025571 arg mem_ucode_ptr ,rega 
+0x642b 025572 call read_function 
+0x642c 025573 fetch 2 ,mem_ucode_ptr 
+0x642d 025574 store 2 ,mem_addr_mi 
+0x642e 025575 call get_iv ,user 
+0x642f 025576 rtn 
+:      025578 get_iv:
+0x6430 025579 arg 16 ,temp 
+0x6431 025580 arg mem_ucode_keybuf ,rega 
+0x6432 025581 hfetch 1 ,core_gpio_key2 
+0x6433 025582 and_into 0xfd ,pdata 
+0x6434 025583 hstore 1 ,core_gpio_key2 
+0x6435 025584 call read_function 
+0x6436 025585 arg mem_ucode_keybuf ,contr 
+0x6437 025586 arg 16 ,loopcnt 
+0x6438 025587 call aes_load_data 
+0x6439 025588 call aes_init 
+0x643a 025589 call aes_clear_data 
+0x643b 025590 branch do_aes_cbc 
+:      025592 load_storage:
+0x643c 025593 disable match 
+0x643d 025594 call get_block_header 
+0x643e 025595 nrtn zero 
+0x643f 025596 enable match 
+0x6440 025597 hjam 0x80 ,core_ucode_ctrl 
+0x6441 025598 hjam 0 ,core_ucode_hi 
+0x6442 025599 hjam 0 ,core_ucode_low 
+0x6443 025600 arg core_ucode_data ,rega 
+0x6444 025601 call read_function_aes 
+0x6445 025602 hjam 0x0 ,core_ucode_ctrl 
+:      025603 load_storage_loop:
+0x6446 025604 arg 6 ,temp 
+0x6447 025605 call get_block_header0 
+0x6448 025606 nrtn zero 
+0x6449 025607 ifetch 2 ,contr 
+0x644a 025608 iforce rega 
+0x644b 025609 call read_function 
+0x644c 025610 branch load_storage_loop 
+:      025614 reload_eeprom:
+0x644d 025615 call clean_mem 
+0x644e 025616 setarg 0x1000 
+0x644f 025617 store 2 ,mem_addr_mi 
+0x6450 025618 arg iicd_read_eep ,regc 
+0x6451 025619 arg 2 ,loopcnt 
+:      025620 reload_eeprom_loop:
+0x6452 025621 call get_block_header 
+0x6453 025622 nrtn zero 
+0x6454 025623 fetch 2 ,mem_addr_mi 
+0x6455 025624 byteswap pdata ,pdata 
+0x6456 025625 iadd temp ,pdata 
+0x6457 025626 byteswap pdata ,pdata 
+0x6458 025627 store 2 ,mem_addr_mi 
+0x6459 025628 loop reload_eeprom_loop 
+0x645a 025629 branch load_storage_loop 
+:      025631 loadcode:
+0x645b 025632 call clean_mem 
+0x645c 025633 disable user 
+0x645d 025634 call otp_enable_chgpump 
+0x645e 025635 setarg otp_ucode_flag 
+0x645f 025636 arg mem_otp_ucode_flag ,rega 
+0x6460 025637 arg 2 ,temp 
+0x6461 025638 call otpd_read_data 
+0x6462 025639 fetch 2 ,mem_otp_ucode_flag 
+0x6463 025640 bbit0 otp_uflag_aes ,loadcode_otp 
+0x6464 025641 hjam 0x25 ,core_clkoff 
+0x6465 025642 setarg otp_ucode_aeskey 
+0x6466 025643 arg mem_ucode_keybuf ,rega 
+0x6467 025644 arg 16 ,temp 
+0x6468 025645 call otpd_read_data 
+0x6469 025646 hjam lock_otp ,core_misc_ctrl 
+0x646a 025647 set1 mark_otp_encrypt ,mark 
+0x646b 025648 arg mem_ucode_keybuf ,contr 
+0x646c 025649 call load_key 
+0x646d 025650 enable user 
+:      025651 loadcode_otp:
+0x646e 025652 jam 0 ,mem_loadcode_times 
+:      025653 loadcode_otp_2:
+0x646f 025654 call loadcode_check_times 
+0x6470 025655 fetch 2 ,mem_otp_ucode_flag 
+0x6471 025656 byteswap pdata ,pdata 
+0x6472 025657 arg 0x7ff ,temp 
+0x6473 025658 iand temp ,pdata 
+0x6474 025659 branch loadcode_iic ,zero 
+0x6475 025660 call otp_set_addr 
+0x6476 025661 arg otpd_read_code ,regc 
+0x6477 025662 call get_iv ,user 
+0x6478 025663 call load_storage 
+0x6479 025664 fetch 1 ,mem_ucode_status 
+0x647a 025665 bbit0 0 ,loadcode_otp_2 
+:      025667 loadcode_iic:
+0x647b 025668 call otp_disable_chgpump 
+0x647c 025669 jam 0 ,mem_loadcode_times 
+:      025670 loadcode_iic_2:
+0x647d 025671 call loadcode_check_times 
+0x647e 025672 call clear_eeprom_size_2k 
+0x647f 025673 fetch 1 ,mem_otp_ucode_flag 
+0x6480 025674 bbit1 otp_uflag_skip_eep ,loadcode_spi 
+0x6481 025675 call loadcode_iic_by_eeprom 
+0x6482 025676 nbranch loadcode_iic_eeprom_2k ,match 
+0x6483 025677 fetch 1 ,mem_ucode_status 
+0x6484 025678 bbit0 0 ,loadcode_iic_2 
+0x6485 025679 branch loadcode_hci 
+:      025680 loadcode_iic_eeprom_2k:
+0x6486 025681 call set_eeprom_size_2k 
+0x6487 025682 fetch 1 ,mem_otp_ucode_flag 
+0x6488 025683 bbit1 otp_uflag_skip_eep ,loadcode_spi 
+0x6489 025684 call loadcode_iic_by_eeprom 
+0x648a 025685 nbranch loadcode_spi ,match 
+0x648b 025686 fetch 1 ,mem_ucode_status 
+0x648c 025687 bbit0 0 ,loadcode_iic_2 
+0x648d 025688 branch loadcode_hci 
+:      025690 loadcode_spi:
+0x648e 025691 jam 0 ,mem_loadcode_times 
+:      025692 loadcode_spi_2:
+0x648f 025693 call loadcode_check_times 
+0x6490 025694 fetch 1 ,mem_otp_ucode_flag 
+0x6491 025695 bbit1 otp_uflag_skip_flash ,loadcode_hci 
+0x6492 025696 setarg 0x0 
+0x6493 025697 store 3 ,mem_addr_hi 
+0x6494 025698 call spid_init_flash 
+0x6495 025699 arg spid_load_flash ,regc 
+0x6496 025700 call read_first_block 
+0x6497 025701 call load_storage 
+0x6498 025702 nbranch loadcode_hci ,match 
+0x6499 025703 fetch 1 ,mem_ucode_status 
+0x649a 025704 bbit0 0 ,loadcode_spi_2 
+:      025706 loadcode_hci:
+0x649b 025707 bmark1 mark_otp_encrypt ,loadcode_hci_enc 
+0x649c 025708 call clear_key_buf 
+:      025709 loadcode_hci_enc:
+0x649d 025710 fetch 1 ,mem_otp_ucode_flag 
+0x649e 025711 bbit0 otp_uflag_hci ,clear_key_buf 
+0x649f 025712 hjam 0x21 ,core_clkoff 
+0x64a0 025713 call hci_init 
+:      025714 loadcode_hci_loop:
+0x64a1 025715 call hci_rx_packet 
+0x64a2 025716 branch loadcode_hci_loop 
+:      025718 clear_key_buf:
+0x64a3 025719 setarg 0 
+0x64a4 025720 store 8 ,mem_ucode_keybuf 
+0x64a5 025721 store 8 ,mem_ucode_keybuf + 8 
+0x64a6 025722 force regidx_key ,regext_index 
+0x64a7 025723 call aes_clear 
+0x64a8 025724 hjam 0x21 ,core_clkoff 
+0x64a9 025725 rtn 
+:      025728 loadcode_iic_by_eeprom:
+0x64aa 025729 setarg 0x0 
+0x64ab 025730 store 2 ,mem_addr_mi 
+0x64ac 025731 arg iicd_read_eep ,regc 
+0x64ad 025732 call iicd_init_12m 
+0x64ae 025733 call read_first_block 
+0x64af 025734 branch load_storage 
+:      025737 loadcode_check_times:
+0x64b0 025738 fetch 1 ,mem_loadcode_times 
+0x64b1 025739 increase 1 ,pdata 
+0x64b2 025740 sub pdata ,3 ,null 
+0x64b3 025741 nbranch loadcode_error ,positive 
+0x64b4 025742 store 1 ,mem_loadcode_times 
+0x64b5 025743 rtn 
+:      025745 loadcode_error:
+0x64b6 025746 call clear_key_buf 
+0x64b7 025747 call ice_break 
+0x64b8 025748 rtn 
+:      025752 set_ucode_status:
+0x64b9 025753 fetch 1 ,mem_ucode_status 
+0x64ba 025754 lshift pdata ,pdata 
+0x64bb 025755 setflag true ,0 ,pdata 
+0x64bc 025756 isolate0 15 ,rega 
+0x64bd 025757 rtn true 
+0x64be 025758 store 1 ,mem_ucode_status 
+0x64bf 025759 rtn 
+:      025762 decrypt_code:
+0x64c0 025763 hfetch 1 ,core_gpio_key2 
+0x64c1 025764 rtnbit0 1 
+0x64c2 025765 branch decrypt_code_skip 
+:      025766 decrypt_code_loop:
+0x64c3 025767 hfetch 1 ,core_dma_status 
+0x64c4 025768 qisolate1 pdata 
+0x64c5 025769 rtn true 
+:      025770 decrypt_code_skip:
+0x64c6 025771 hfetch 1 ,core_misc_status 
+0x64c7 025772 bbit0 1 ,decrypt_code_loop 
+0x64c8 025773 call do_aes_cbc 
+0x64c9 025774 branch decrypt_code_loop 
+:      025778 load_ucode:
+0x64ca 025779 fetch 2 ,mem_patch_ptr 
+0x64cb 025780 rtn blank 
+0x64cc 025781 hjam 0x80 ,core_ucode_ctrl 
+0x64cd 025782 hjam 0 ,core_ucode_hi 
+0x64ce 025783 hjam 0 ,core_ucode_low 
+0x64cf 025784 fetcht 2 ,mem_patch_len 
+0x64d0 025785 lshift2 temp ,loopcnt 
+0x64d1 025786 iforce contr 
+:      025787 load_ucode_loop:
+0x64d2 025788 ifetch 1 ,contr 
+0x64d3 025789 hstore 1 ,core_ucode_data 
+0x64d4 025790 loop load_ucode_loop 
+0x64d5 025791 hjam 0x0 ,core_ucode_ctrl 
+0x64d6 025792 rtn 
+:      025797 spid_init:
+0x64d7 025798 bpatchx patch31_5 ,mem_patch31 
+0x64d8 025799 call spid_init_common 
+0x64d9 025800 branch twspi_enable 
+:      025802 spid_init2:
+0x64da 025803 call spid_init_common 
+0x64db 025804 call twspi_disable 
+0x64dc 025805 branch twspi_enable2 
+:      025807 spid_init_common:
+0x64dd 025808 fetch 1 ,mem_spi_init_clk 
+0x64de 025809 hstore 1 ,core_spid_ctrl 
+0x64df 025810 fetch 1 ,mem_spi_init_delay_time 
+0x64e0 025811 hstore 1 ,core_spid_delay 
+0x64e1 025812 setarg mem_spid_tbuf 
+0x64e2 025813 hstore 2 ,core_spid_txaddr 
+0x64e3 025814 setarg mem_spid_rbuf 
+0x64e4 025815 hstore 2 ,core_spid_rxaddr 
+0x64e5 025816 branch twspi_disable 
+:      025818 spid_reset:
+0x64e6 025819 hfetch 1 ,core_spid_ctrl 
+0x64e7 025820 set1 7 ,pdata 
+0x64e8 025821 hstore 1 ,core_spid_ctrl 
+0x64e9 025822 set0 7 ,pdata 
+0x64ea 025823 hstore 1 ,core_spid_ctrl 
+0x64eb 025824 rtn 
+:      025828 spid_write_reg:
+0x64ec 025829 set1 7 ,pdata 
+0x64ed 025830 store 2 ,mem_spid_tbuf 
+0x64ee 025831 bpatchx patch31_6 ,mem_patch31 
+0x64ef 025832 hjam 2 ,core_spid_txlen 
+0x64f0 025833 hjam 0 ,core_spid_rxlen 
+0x64f1 025834 hjam spid_start ,core_misc_ctrl 
+0x64f2 025835 branch wait_spid_done 
+:      025838 spid_read_reg:
+0x64f3 025839 force 1 ,temp 
+:      025841 spid_read_regs:
+0x64f4 025843 store 1 ,mem_spid_tbuf 
+0x64f5 025844 bpatchx patch31_7 ,mem_patch31 
+0x64f6 025845 hjam 1 ,core_spid_txlen 
+0x64f7 025846 hstoret 2 ,core_spid_rxlen 
+0x64f8 025847 hjam spid_start ,core_misc_ctrl 
+0x64f9 025848 call wait_spid_done 
+0x64fa 025849 fetch 1 ,mem_spid_rbuf 
+0x64fb 025850 rtn 
+:      025852 wait_spid_done:
+0x64fc 025853 fetch 2 ,mem_afh_error_total 
+0x64fd 025854 increase 1 ,pdata 
+0x64fe 025855 store 2 ,mem_afh_error_total 
+0x64ff 025856 hfetch 1 ,core_dma_status 
+0x6500 025857 bbit0 spid_done ,wait_spid_done 
+0x6501 025858 rtn 
+:      025860 spid_init_flash:
+0x6502 025861 hjam 0x40 ,core_spid_ctrl 
+0x6503 025862 hjam 0x0 ,core_spid_delay 
+0x6504 025863 hfetch 1 ,core_gpio_sel1 
+0x6505 025864 set0 0 ,pdata 
+0x6506 025865 set1 1 ,pdata 
+0x6507 025866 hstore 1 ,core_gpio_sel1 
+0x6508 025867 setarg 0 
+0x6509 025868 store 4 ,mem_spid_tbuf 
+0x650a 025869 rtn 
+:      025872 spid_unlock_flash:
+0x650b 025873 setarg 0 
+0x650c 025874 hstore 2 ,core_spid_rxlen 
+0x650d 025875 setarg 1 
+0x650e 025876 hstore 2 ,core_spid_txlen 
+0x650f 025877 setarg mem_spid_tbuf 
+0x6510 025878 hstore 2 ,core_spid_txaddr 
+0x6511 025879 jam 6 ,mem_spid_tbuf 
+0x6512 025880 hjam spid_start ,core_misc_ctrl 
+0x6513 025881 branch wait_spid_done 
+:      025896 flash_write:
+0x6514 025897 disable user 
+0x6515 025898 copy pdata ,regb 
+0x6516 025899 fetch 1 ,mem_spi_write_flash_sm 
+0x6517 025900 rtnne flash_sm_no_buys 
+0x6518 025901 enable user 
+0x6519 025902 copy regb ,pdata 
+0x651a 025903 branch flash_write_start 
+:      025906 flash_write_spi_sm_timer:
+0x651b 025907 fetch 1 ,mem_spi_write_flash_sm 
+0x651c 025908 beq flash_sm_start ,flash_write_start 
+0x651d 025909 beq flash_sm_erase_sector ,flash_erase_sector 
+0x651e 025910 beq flash_sm_wait_erase_sector ,flash_wait_erase_sector 
+0x651f 025911 beq flash_sm_write_data ,flash_write_data 
+0x6520 025912 beq flash_sm_wait_write_data ,flash_wait_write_data 
+0x6521 025913 rtn 
+:      025915 flash_write_start:
+0x6522 025916 store 3 ,mem_spi_write_addr 
+0x6523 025917 copy rega ,pdata 
+0x6524 025918 store 2 ,mem_spi_write_ptr 
+0x6525 025919 storet 2 ,mem_spi_write_len 
+0x6526 025920 jam flash_sm_erase_sector ,mem_spi_write_flash_sm 
+0x6527 025921 branch spid_init_flash 
+:      025922 flash_erase_sector:
+0x6528 025923 call spid_init_flash 
+0x6529 025924 jam flash_sm_wait_erase_sector ,mem_spi_write_flash_sm 
+0x652a 025925 call spid_unlock_flash 
+0x652b 025926 arg mem_spid_tbuf ,rega 
+0x652c 025927 fetch 3 ,mem_spi_write_addr 
+0x652d 025928 hjam 4 ,core_spid_txlen 
+0x652e 025929 arg flash_command_sector_erase ,temp 
+0x652f 025930 branch spid_write_flash_common 
+:      025932 flash_wait_erase_sector:
+0x6530 025933 call spid_init_flash 
+0x6531 025934 call spid_unlock_flash 
+0x6532 025935 setarg flash_read_satus 
+0x6533 025936 call spid_read_reg 
+0x6534 025937 rtnbit1 flash_status_wip 
+0x6535 025938 jam flash_sm_write_data ,mem_spi_write_flash_sm 
+0x6536 025939 rtn 
+:      025940 flash_write_data:
+0x6537 025941 call spid_init_flash 
+0x6538 025942 jam flash_sm_wait_write_data ,mem_spi_write_flash_sm 
+0x6539 025943 call spid_unlock_flash 
+0x653a 025944 call flash_data_preserve 
+0x653b 025945 call spid_write_flash 
+0x653c 025946 branch flash_data_recover 
+:      025947 flash_wait_write_data:
+0x653d 025948 call spid_init_flash 
+0x653e 025949 call spid_unlock_flash 
+0x653f 025950 setarg flash_read_satus 
+0x6540 025951 call spid_read_reg 
+0x6541 025952 rtnbit1 flash_status_wip 
+0x6542 025953 jam flash_sm_no_buys ,mem_spi_write_flash_sm 
+0x6543 025954 fetch 2 ,mem_cb_spi_flash_write_complate 
+0x6544 025955 branch callback_func 
+:      025956 flash_data_recover:
+0x6545 025957 fetch 4 ,mem_temp 
+0x6546 025958 fetcht 2 ,mem_spi_write_ptr 
+0x6547 025959 increase -4 ,temp 
+0x6548 025960 istore 4 ,temp 
+0x6549 025961 rtn 
+:      025962 flash_data_preserve:
+0x654a 025963 fetcht 2 ,mem_spi_write_ptr 
+0x654b 025964 copy temp ,rega 
+0x654c 025965 increase -4 ,temp 
+0x654d 025966 ifetch 4 ,temp 
+0x654e 025967 store 4 ,mem_temp 
+0x654f 025968 fetcht 2 ,mem_spi_write_len 
+0x6550 025969 fetch 3 ,mem_spi_write_addr 
+0x6551 025970 rtn 
+:      025974 spid_write_flash:
+0x6552 025975 increase 4 ,temp 
+0x6553 025976 hstoret 2 ,core_spid_txlen 
+0x6554 025977 arg flash_command_write_data ,temp 
+0x6555 025978 increase -4 ,rega 
+:      025979 spid_write_flash_common:
+0x6556 025981 istoret 1 ,rega 
+0x6557 025982 rshift16 pdata ,temp 
+0x6558 025983 istoret 1 ,contw 
+0x6559 025984 rshift8 pdata ,temp 
+0x655a 025985 istoret 1 ,contw 
+0x655b 025986 istore 1 ,contw 
+0x655c 025987 deposit rega 
+0x655d 025988 hstore 2 ,core_spid_txaddr 
+0x655e 025989 setarg 0 
+0x655f 025990 hstore 2 ,core_spid_rxlen 
+0x6560 025991 hjam spid_start ,core_misc_ctrl 
+0x6561 025992 branch wait_spid_done 
+:      025996 spid_read_flash:
+0x6562 025997 hstoret 2 ,core_spid_rxlen 
+0x6563 025998 rshift16 pdata ,temp 
+0x6564 025999 storet 1 ,mem_addr_hi 
+0x6565 026000 rshift8 pdata ,temp 
+0x6566 026001 storet 1 ,mem_addr_mi 
+0x6567 026002 store 1 ,mem_addr_lo 
+0x6568 026003 setarg 4 
+0x6569 026004 hstore 2 ,core_spid_txlen 
+0x656a 026005 jam flash_command_read_data ,mem_spid_tbuf 
+0x656b 026006 setarg mem_spid_tbuf 
+0x656c 026007 hstore 2 ,core_spid_txaddr 
+0x656d 026008 deposit rega 
+0x656e 026009 hstore 2 ,core_spid_rxaddr 
+0x656f 026010 hfetch 1 ,core_spid_ctrl 
+0x6570 026011 isolate0 15 ,rega 
+0x6571 026012 setflag true ,6 ,pdata 
+0x6572 026013 hstore 1 ,core_spid_ctrl 
+0x6573 026014 hjam spid_start ,core_misc_ctrl 
+:      026015 spi_read_flash_wait:
+0x6574 026016 hfetch 1 ,core_dma_status 
+0x6575 026017 bbit1 7 ,spi_read_flash_wait 
+0x6576 026018 arg spid_done ,queue 
+0x6577 026019 branch wait_spid_done 
+:      026023 spid_load_flash:
+0x6578 026024 hstoret 2 ,core_spid_rxlen 
+0x6579 026025 setarg 4 
+0x657a 026026 hstore 2 ,core_spid_txlen 
+0x657b 026027 jam 3 ,mem_spid_tbuf 
+0x657c 026028 setarg mem_spid_tbuf 
+0x657d 026029 hstore 2 ,core_spid_txaddr 
+0x657e 026030 deposit rega 
+0x657f 026031 hstore 2 ,core_spid_rxaddr 
+0x6580 026032 hfetch 1 ,core_spid_ctrl 
+0x6581 026033 isolate0 15 ,rega 
+0x6582 026034 setflag true ,6 ,pdata 
+0x6583 026035 hstore 1 ,core_spid_ctrl 
+0x6584 026036 hjam spid_start ,core_misc_ctrl 
+:      026037 spi_load_flash_wait:
+0x6585 026038 hfetch 1 ,core_dma_status 
+0x6586 026039 bbit1 7 ,spi_load_flash_wait 
+0x6587 026040 arg spid_done ,queue 
+0x6588 026041 call decrypt_code 
+0x6589 026042 call wait_spid_done 
+0x658a 026043 isolate1 spid_crcok ,pdata 
+0x658b 026044 call set_ucode_status 
+0x658c 026045 fetch 1 ,mem_addr_hi 
+0x658d 026046 lshift16 pdata ,regb 
+0x658e 026047 fetch 1 ,mem_addr_mi 
+0x658f 026048 lshift8 pdata ,pdata 
+0x6590 026049 ior regb ,regb 
+0x6591 026050 fetch 1 ,mem_addr_lo 
+0x6592 026051 ior regb ,pdata 
+0x6593 026052 iadd temp ,pdata 
+0x6594 026053 store 1 ,mem_addr_lo 
+0x6595 026054 rshift8 pdata ,pdata 
+0x6596 026055 store 1 ,mem_addr_mi 
+0x6597 026056 rshift8 pdata ,pdata 
+0x6598 026057 store 1 ,mem_addr_hi 
+0x6599 026058 rtn 
+:      026063 soft_reset_chip:
+0x659a 026064 hjam 1 ,core_reset 
+0x659b 026065 rtn 
+:      026071 iic_init_390k:
+0x659c 026072 hjam 12 ,core_iicd_scl_low 
+0x659d 026073 hjam 13 ,core_iicd_scl_high 
+0x659e 026074 hjam 13 ,core_iicd_start_setup 
+0x659f 026075 hjam 13 ,core_iicd_start_hold 
+0x65a0 026076 hjam 13 ,core_iicd_stop_setup 
+0x65a1 026077 hjam 12 ,core_iicd_data_setup 
+0x65a2 026078 branch iicd_init_gpio 
+:      026081 iicd_init_12m:
+0x65a3 026082 hjam 5 ,core_iicd_scl_low 
+0x65a4 026083 hjam 7 ,core_iicd_scl_high 
+0x65a5 026084 hjam 7 ,core_iicd_start_setup 
+0x65a6 026085 hjam 7 ,core_iicd_start_hold 
+0x65a7 026086 hjam 7 ,core_iicd_stop_setup 
+0x65a8 026087 hjam 5 ,core_iicd_data_setup 
+:      026088 iicd_init_gpio:
+0x65a9 026089 hfetch 1 ,core_gpio_pu3 
+0x65aa 026090 or_into 0xc0 ,pdata 
+0x65ab 026091 hstore 1 ,core_gpio_pu3 
+0x65ac 026092 hfetch 1 ,core_gpio_sel1 
+0x65ad 026093 or_into 0x10 ,pdata 
+0x65ae 026094 hstore 1 ,core_gpio_sel1 
+0x65af 026095 rtn 
+:      026099 wait_iicd_done:
+0x65b0 026100 hfetch 1 ,core_dma_status 
+0x65b1 026101 bbit0 iicd_done ,wait_iicd_done 
+0x65b2 026102 rtn 
+:      026110 iicd_read_data:
+0x65b3 026111 hstore 2 ,core_iicd_txlen 
+0x65b4 026112 deposit rega 
+0x65b5 026113 hstore 2 ,core_iicd_txaddr 
+0x65b6 026114 deposit regb 
+0x65b7 026115 hstore 2 ,core_iicd_rxaddr 
+0x65b8 026116 deposit temp 
+0x65b9 026117 hstore 2 ,core_iicd_rxlen 
+0x65ba 026118 arg 1 ,temp 
+0x65bb 026119 nsetflag blank ,1 ,temp 
+0x65bc 026120 hstore 1 ,core_iicd_ctrl 
+0x65bd 026121 hjam iicd_start ,core_misc_ctrl 
+0x65be 026122 branch wait_iicd_done 
+:      026125 set_eeprom_size_2k:
+0x65bf 026126 set1 mark_eeprom_size ,mark 
+0x65c0 026127 jam 0x08 ,mem_eeprom_block_size 
+0x65c1 026128 rtn 
+:      026130 clear_eeprom_size_2k:
+0x65c2 026131 set0 mark_eeprom_size ,mark 
+0x65c3 026132 jam 0x20 ,mem_eeprom_block_size 
+0x65c4 026133 rtn 
+:      026136 iicd_read_eep_data_size_2k:
+0x65c5 026137 fetch 1 ,mem_eeprom_base 
+0x65c6 026138 iadd regb ,pdata 
+0x65c7 026139 store 1 ,mem_addr_mi 
+0x65c8 026140 branch iicd_read_eep_size_2k 
+:      026142 iicd_read_eep_size_2k_lcadcode:
+0x65c9 026143 fetch 2 ,mem_addr_mi 
+0x65ca 026144 byteswap pdata ,pdata 
+0x65cb 026145 store 1 ,mem_addr_mi 
+:      026150 iicd_read_eep_size_2k:
+0x65cc 026151 setarg 3 
+0x65cd 026152 hstore 2 ,core_iicd_txlen 
+0x65ce 026153 jam 0xa0 ,mem_iicd_tbuf 
+0x65cf 026154 jam 0xa1 ,mem_iicd_tbuf + 2 
+0x65d0 026155 branch iicd_read_eep_common 
+:      026161 iicd_write_protect_eep_data:
+0x65d1 026162 storet 2 ,mem_temp 
+0x65d2 026163 call iicd_eeprom_write_enable 
+0x65d3 026164 fetcht 2 ,mem_temp 
+0x65d4 026165 call iicd_write_eep_data 
+0x65d5 026166 branch iicd_eeprom_write_disable 
+:      026168 iicd_eeprom_write_enable:
+0x65d6 026169 fetch 1 ,mem_eeprom_wp_gpio 
+0x65d7 026170 rtneq gpio_disable 
+0x65d8 026171 bbit0 6 ,iicd_wp_gpio_output_low 
+0x65d9 026172 setarg 150000 
+0x65da 026173 call sleep 
+:      026174 iicd_wp_gpio_output_low:
+0x65db 026175 fetcht 1 ,mem_eeprom_wp_gpio 
+0x65dc 026176 branch gpio_out_active 
+:      026178 iicd_eeprom_write_disable:
+0x65dd 026179 fetcht 1 ,mem_eeprom_wp_gpio 
+0x65de 026180 branch gpio_out_inactive 
+:      026185 iicd_read_eep_data:
+0x65df 026186 bpatchx patch32_0 ,mem_patch32 
+0x65e0 026187 bmark1 mark_eeprom_size ,iicd_read_eep_data_size_2k 
+0x65e1 026188 fetch 2 ,mem_eeprom_base 
+0x65e2 026189 iadd regb ,pdata 
+0x65e3 026190 byteswap pdata ,pdata 
+0x65e4 026191 store 2 ,mem_addr_mi 
+:      026194 iicd_read_eep:
+0x65e5 026195 bpatchx patch32_1 ,mem_patch32 
+0x65e6 026196 bmark1 mark_eeprom_size ,iicd_read_eep_size_2k_lcadcode 
+0x65e7 026197 setarg 4 
+0x65e8 026198 hstore 2 ,core_iicd_txlen 
+0x65e9 026199 jam 0xa0 ,mem_iicd_tbuf 
+0x65ea 026200 jam 0xa1 ,mem_iicd_tbuf + 3 
+:      026201 iicd_read_eep_common:
+0x65eb 026202 setarg mem_iicd_tbuf 
+0x65ec 026203 hstore 2 ,core_iicd_txaddr 
+0x65ed 026204 hstoret 2 ,core_iicd_rxlen 
+0x65ee 026205 deposit rega 
+0x65ef 026206 hstore 2 ,core_iicd_rxaddr 
+0x65f0 026207 setarg 2 
+0x65f1 026208 isolate0 15 ,rega 
+0x65f2 026209 setflag true ,0 ,pdata 
+0x65f3 026210 hstore 1 ,core_iicd_ctrl 
+0x65f4 026211 hjam iicd_start ,core_misc_ctrl 
+0x65f5 026212 arg iicd_done ,queue 
+0x65f6 026213 call decrypt_code 
+0x65f7 026214 call wait_iicd_done 
+0x65f8 026215 isolate1 iicd_crcok ,pdata 
+0x65f9 026216 call set_ucode_status 
+0x65fa 026217 bmark1 mark_eeprom_size ,iicd_read_eep_load_code_size_2k 
+0x65fb 026218 fetch 2 ,mem_addr_mi 
+0x65fc 026219 byteswap pdata ,pdata 
+0x65fd 026220 iadd temp ,pdata 
+0x65fe 026221 byteswap pdata ,pdata 
+0x65ff 026222 store 2 ,mem_addr_mi 
+0x6600 026223 rtn 
+:      026225 iicd_read_eep_load_code_size_2k:
+0x6601 026226 fetch 1 ,mem_addr_mi 
+0x6602 026227 iadd temp ,pdata 
+0x6603 026228 byteswap pdata ,pdata 
+0x6604 026229 store 2 ,mem_addr_mi 
+0x6605 026230 rtn 
+:      026236 iicd_write_eep_data:
+0x6606 026237 fetch 2 ,mem_eeprom_base 
+0x6607 026238 iadd regb ,pdata 
+:      026241 iicd_write_ota_data:
+0x6608 026242 store 2 ,mem_pdatatemp 
+0x6609 026243 bpatchx patch32_2 ,mem_patch32 
+0x660a 026244 storet 2 ,mem_temp 
+0x660b 026245 copy rega ,pdata 
+0x660c 026246 store 2 ,mem_contr 
+:      026247 iicd_write_eep_loop:
+0x660d 026248 call iicd_eep_transparency 
+0x660e 026250 fetcht 2 ,mem_regb 
+0x660f 026251 fetch 2 ,mem_contr 
+0x6610 026252 copy pdata ,rega 
+0x6611 026253 fetch 2 ,mem_pdatatemp 
+0x6612 026255 call iicd_write_eep 
+0x6613 026257 fetch 2 ,mem_regb 
+0x6614 026258 fetcht 2 ,mem_contr 
+0x6615 026259 iadd temp ,temp 
+0x6616 026260 storet 2 ,mem_contr 
+0x6617 026261 fetcht 2 ,mem_pdatatemp 
+0x6618 026262 iadd temp ,temp 
+0x6619 026263 storet 2 ,mem_pdatatemp 
+0x661a 026264 fetch 2 ,mem_temp 
+0x661b 026265 nbranch iicd_write_eep_loop ,blank 
+0x661c 026266 rtn 
+:      026274 iicd_eep_transparency:
+0x661d 026275 bpatchx patch32_3 ,mem_patch32 
+0x661e 026276 fetch 1 ,mem_eeprom_block_size 
+0x661f 026277 increase -1 ,pdata 
+0x6620 026278 fetcht 2 ,mem_pdatatemp 
+0x6621 026279 ior temp ,pdata 
+0x6622 026280 increase 1 ,pdata 
+0x6623 026281 store 3 ,mem_regc 
+0x6624 026283 fetch 2 ,mem_temp 
+0x6625 026284 iadd temp ,pdata 
+0x6626 026286 fetcht 3 ,mem_regc 
+0x6627 026287 isub temp ,pdata 
+0x6628 026288 nbranch iicd_eep_deal_short_packet ,positive 
+0x6629 026289 store 2 ,mem_temp 
+0x662a 026290 fetch 3 ,mem_regc 
+0x662b 026291 fetcht 2 ,mem_pdatatemp 
+0x662c 026292 isub temp ,pdata 
+0x662d 026293 store 2 ,mem_regb 
+0x662e 026294 rtn 
+:      026295 iicd_eep_deal_short_packet:
+0x662f 026296 fetch 2 ,mem_temp 
+0x6630 026297 store 2 ,mem_regb 
+0x6631 026298 setarg 0 
+0x6632 026299 store 2 ,mem_temp 
+0x6633 026300 rtn 
+:      026302 iicd_write_eep_size_2k:
+0x6634 026303 increase 2 ,temp 
+0x6635 026304 hstoret 2 ,core_iicd_txlen 
+0x6636 026305 increase -2 ,rega 
+0x6637 026306 ifetcht 3 ,rega 
+0x6638 026307 copy temp ,regb 
+0x6639 026308 arg 0xa0 ,temp 
+0x663a 026309 istoret 1 ,rega 
+0x663b 026311 istore 1 ,contw 
+0x663c 026312 branch iicd_write_eep_common 
+:      026315 iicd_write_eep:
+0x663d 026316 copy pdata ,regb 
+0x663e 026317 bpatchx patch32_4 ,mem_patch32 
+0x663f 026318 bmark1 mark_eeprom_size ,iicd_write_eep_size_2k 
+0x6640 026319 copy regb ,pdata 
+0x6641 026320 increase 3 ,temp 
+0x6642 026321 hstoret 2 ,core_iicd_txlen 
+0x6643 026322 increase -3 ,rega 
+0x6644 026323 ifetcht 3 ,rega 
+0x6645 026324 copy temp ,regb 
+0x6646 026325 arg 0xa0 ,temp 
+0x6647 026326 istoret 1 ,rega 
+0x6648 026327 byteswap pdata ,pdata 
+0x6649 026328 istore 2 ,contw 
+:      026329 iicd_write_eep_common:
+0x664a 026330 deposit rega 
+0x664b 026331 hstore 2 ,core_iicd_txaddr 
+0x664c 026332 setarg 0 
+0x664d 026333 hstore 2 ,core_iicd_rxlen 
+0x664e 026334 hjam 1 ,core_iicd_ctrl 
+0x664f 026335 hjam iicd_start ,core_misc_ctrl 
+0x6650 026336 call wait_iicd_done 
+0x6651 026337 copy regb ,pdata 
+0x6652 026338 istore 3 ,rega 
+:      026340 iic_check_eeprom_standby:
+0x6653 026341 bpatchx patch32_5 ,mem_patch32 
+0x6654 026342 jam 0 ,mem_iicd_tbuf + 3 
+:      026343 iic_check_eeprom_standby_wait:
+0x6655 026344 setarg 1 
+0x6656 026345 hstore 2 ,core_iicd_txlen 
+0x6657 026346 jam 0xa0 ,mem_iicd_tbuf 
+0x6658 026347 setarg mem_iicd_tbuf 
+0x6659 026348 hstore 2 ,core_iicd_txaddr 
+0x665a 026349 setarg 0 
+0x665b 026350 hstore 2 ,core_iicd_rxlen 
+0x665c 026351 hstore 2 ,core_iicd_rxaddr 
+0x665d 026352 setarg 3 
+0x665e 026353 hstore 1 ,core_iicd_ctrl 
+0x665f 026354 hjam iicd_start ,core_misc_ctrl 
+0x6660 026355 call wait_iicd_done 
+0x6661 026356 hfetch 1 ,core_dma_status 
+0x6662 026357 rtnbit0 iicd_ack 
+0x6663 026358 nop 1500 
+0x6664 026359 fetch 1 ,mem_iicd_tbuf + 3 
+0x6665 026360 increase 1 ,pdata 
+0x6666 026361 store 1 ,mem_iicd_tbuf + 3 
+0x6667 026362 sub pdata ,40 ,null 
+0x6668 026363 nrtn positive 
+0x6669 026364 branch iic_check_eeprom_standby_wait 
+:      026368 otp_enable_chgpump:
+0x666a 026369 hjam 0x70 ,rfen_chgpump 
+0x666b 026370 nop param_chgpump_delay 
+0x666c 026371 rtn 
+:      026373 otp_disable_chgpump:
+0x666d 026374 hjam 0x30 ,rfen_chgpump 
+0x666e 026375 rtn 
+:      026377 otp_set_addr:
+0x666f 026378 lshift3 pdata ,pdata 
+0x6670 026379 hstore 2 ,core_otp_addr 
+0x6671 026380 hjam 0 ,core_otpd_ctrl 
+0x6672 026381 rtn 
+:      026384 otp_write:
+0x6673 026385 call otp_set_addr 
+0x6674 026386 call otp_ce 
+:      026387 otp_program:
+0x6675 026388 ifetcht 1 ,rega 
+0x6676 026389 increase 1 ,rega 
+0x6677 026390 force 0 ,queue 
+:      026391 otp_program_bit:
+0x6678 026392 qisolate0 temp 
+0x6679 026393 branch otp_skip_0 ,true 
+0x667a 026394 hfetch 1 ,core_otp_din 
+0x667b 026395 set1 6 ,pdata 
+0x667c 026396 set1 7 ,pdata 
+0x667d 026397 hstore 1 ,core_otp_din 
+0x667e 026398 hjam 0x02 ,core_otp_ctrl 
+0x667f 026399 hjam 0x82 ,core_otp_ctrl 
+0x6680 026400 set0 7 ,pdata 
+0x6681 026401 hstore 1 ,core_otp_din 
+0x6682 026402 hjam 0x8a ,core_otp_ctrl 
+0x6683 026403 nop 11 
+0x6684 026404 hjam 0xca ,core_otp_ctrl 
+0x6685 026405 nop 33 
+0x6686 026406 hjam 0x4a ,core_otp_ctrl 
+0x6687 026407 nop 44 
+0x6688 026408 hjam 0xca ,core_otp_ctrl 
+0x6689 026409 nop 22 
+0x668a 026410 hjam 0x8a ,core_otp_ctrl 
+0x668b 026411 nop 33 
+0x668c 026412 hjam 0x82 ,core_otp_ctrl 
+0x668d 026413 nop 1 
+0x668e 026414 hjam 0x92 ,core_otp_ctrl 
+0x668f 026415 nop 10 
+0x6690 026416 hjam 0xb2 ,core_otp_ctrl 
+0x6691 026417 hfetch 1 ,core_otp_rdata 
+0x6692 026418 hjam 0x92 ,core_otp_ctrl 
+0x6693 026419 nop 1 
+0x6694 026420 hjam 0x82 ,core_otp_ctrl 
+0x6695 026421 qisolate0 pdata 
+0x6696 026422 branch otp_program_bit ,true 
+:      026423 otp_skip_0:
+0x6697 026424 hfetch 2 ,core_otp_addr 
+0x6698 026425 increase 1 ,pdata 
+0x6699 026426 hstore 2 ,core_otp_addr 
+0x669a 026427 increase 1 ,queue 
+0x669b 026428 compare 8 ,queue ,0xf 
+0x669c 026429 nbranch otp_program_bit ,true 
+0x669d 026430 loop otp_program 
+0x669e 026431 hjam 0x83 ,core_otp_ctrl 
+0x669f 026432 rtn 
+:      026434 otp_ce:
+0x66a0 026435 hjam 0x82 ,core_otp_ctrl 
+0x66a1 026436 nop 12 
+0x66a2 026437 hjam 0x80 ,core_otp_ctrl 
+0x66a3 026438 hjam 0x82 ,core_otp_ctrl 
+0x66a4 026439 nop 150 
+0x66a5 026440 rtn 
+:      026443 otpd_read_init:
+0x66a6 026444 call otp_ce 
+0x66a7 026445 hjam 0xa2 ,core_otp_ctrl 
+0x66a8 026446 deposit rega 
+0x66a9 026447 hstore 2 ,core_otpd_addr 
+0x66aa 026448 set1 11 ,temp 
+0x66ab 026449 isolate0 15 ,pdata 
+0x66ac 026450 setflag true ,15 ,temp 
+0x66ad 026451 hstoret 2 ,core_otpd_len 
+0x66ae 026452 hjam otpd_start ,core_misc_ctrl 
+0x66af 026453 rtn 
+:      026455 otpd_wait_end:
+0x66b0 026456 hfetch 1 ,core_dma_status 
+0x66b1 026457 bbit0 otpd_done ,otpd_wait_end 
+0x66b2 026458 rtn 
+:      026461 otpd_read_data:
+0x66b3 026462 call otp_set_addr 
+0x66b4 026463 call otpd_read_init 
+0x66b5 026464 call otpd_wait_end 
+0x66b6 026465 hjam 0x83 ,core_otp_ctrl 
+0x66b7 026466 rtn 
+:      026471 otpd_read_code:
+0x66b8 026472 hfetch 2 ,core_current_otp_addr 
+0x66b9 026473 hstore 2 ,core_otp_addr 
+0x66ba 026474 call otpd_read_init 
+0x66bb 026475 arg otpd_done ,queue 
+0x66bc 026476 call decrypt_code 
+0x66bd 026477 call otpd_wait_end 
+0x66be 026478 isolate1 otpd_crcok ,pdata 
+0x66bf 026479 call set_ucode_status 
+0x66c0 026480 hjam 0x83 ,core_otp_ctrl 
+0x66c1 026481 rtn 
+:      026484 uartd_prepare_tx:
+0x66c2 026485 hfetch 2 ,core_uart_twptr 
+0x66c3 026486 iforce contwu 
+0x66c4 026487 rtn 
+:      026489 uartd_send:
+0x66c5 026490 deposit contwu 
+0x66c6 026491 hstore 2 ,core_uart_twptr 
+0x66c7 026492 rtn 
+:      026494 uartd_rxdone:
+0x66c8 026495 deposit contru 
+0x66c9 026496 hstore 2 ,core_uart_rrptr 
+0x66ca 026497 rtn 
+:      026499 uartd_prepare_rx:
+0x66cb 026500 hfetch 2 ,core_uart_rrptr 
+0x66cc 026501 copy pdata ,contru 
+0x66cd 026502 rtn 
+:      026504 uart_set_baud_by_mem:
+0x66ce 026505 fetch uart_baud_len ,mem_baud 
+0x66cf 026506 hstore uart_baud_len ,core_uart_baud 
+0x66d0 026507 rtn 
+:      026509 uart_copy_tx_bytes_fast:
+0x66d1 026510 deposit loopcnt 
+0x66d2 026511 rtn blank 
+:      026512 uart_copy_tx_bytes_fast_loop:
+0x66d3 026513 increase -8 ,loopcnt 
+0x66d4 026514 call uart_tx_8_bytes ,positive 
+0x66d5 026515 rtn zero 
+0x66d6 026516 branch uart_copy_tx_bytes_fast_loop ,positive 
+0x66d7 026517 increase 8 ,loopcnt 
+:      026518 uart_copy_tx_bytes_fast_loop_four:
+0x66d8 026519 increase -4 ,loopcnt 
+0x66d9 026520 call uart_tx_4_bytes ,positive 
+0x66da 026521 rtn zero 
+0x66db 026522 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+0x66dc 026523 increase 4 ,loopcnt 
+0x66dd 026524 branch uart_copy_tx_bytes 
+:      026526 uart_tx_8_bytes:
+0x66de 026527 ifetch 8 ,contr 
+0x66df 026528 istore 8 ,contwu 
+0x66e0 026529 rtn 
+:      026531 uart_tx_4_bytes:
+0x66e1 026532 ifetch 4 ,contr 
+0x66e2 026533 istore 4 ,contwu 
+0x66e3 026534 rtn 
+:      026536 uart_copy_tx_bytes:
+0x66e4 026537 deposit loopcnt 
+0x66e5 026538 rtn blank 
+:      026539 uart_copy_tx_bytes_loop:
+0x66e6 026540 ifetch 1 ,contr 
+0x66e7 026541 istore 1 ,contwu 
+0x66e8 026542 loop uart_copy_tx_bytes_loop 
+0x66e9 026543 rtn 
+:      026545 uart_copy_rx_bytes_fast:
+0x66ea 026546 deposit loopcnt 
+0x66eb 026547 rtn blank 
+:      026548 uart_copy_rx_bytes_fast_loop:
+0x66ec 026549 increase -8 ,loopcnt 
+0x66ed 026550 call uart_rx_8_bytes ,positive 
+0x66ee 026551 rtn zero 
+0x66ef 026552 branch uart_copy_rx_bytes_fast_loop ,positive 
+0x66f0 026553 increase 8 ,loopcnt 
+:      026554 uart_copy_rx_bytes_fast_loop_four:
+0x66f1 026555 increase -4 ,loopcnt 
+0x66f2 026556 call uart_rx_4_bytes ,positive 
+0x66f3 026557 rtn zero 
+0x66f4 026558 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+0x66f5 026559 increase 4 ,loopcnt 
+0x66f6 026560 branch uart_copy_rx_bytes 
+:      026562 uart_rx_8_bytes:
+0x66f7 026563 ifetch 8 ,contru 
+0x66f8 026564 istore 8 ,contw 
+0x66f9 026565 rtn 
+:      026567 uart_rx_4_bytes:
+0x66fa 026568 ifetch 4 ,contru 
+0x66fb 026569 istore 4 ,contw 
+0x66fc 026570 rtn 
+:      026573 uart_copy_rx_bytes:
+0x66fd 026574 deposit loopcnt 
+0x66fe 026575 rtn blank 
+:      026576 uart_copy_rx_bytes_loop:
+0x66ff 026577 ifetch 1 ,contru 
+0x6700 026578 istore 1 ,contw 
+0x6701 026579 loop uart_copy_rx_bytes_loop 
+0x6702 026580 rtn 
+:      026583 uart_copy_rx2tx:
+0x6703 026584 deposit loopcnt 
+0x6704 026585 rtn blank 
+:      026586 uart_copy_rx2tx_loop:
+0x6705 026587 ifetch 1 ,contru 
+0x6706 026588 istore 1 ,contwu 
+0x6707 026589 loop uart_copy_rx2tx_loop 
+0x6708 026590 rtn 
+:      026595 app_store_nvram_event:
+0x6709 026596 jam bt_evt_store_nvram ,mem_fifo_temp 
+0x670a 026597 branch ui_ipc_send_event 
+:      026599 check_51cmd_store_reconn_info:
+:      026600 check_51cmd_update_device_record:
+0x670b 026601 bpatchx patch32_6 ,mem_patch32 
+0x670c 026602 fetch 1 ,mem_nv_data_number 
+0x670d 026603 rtn blank 
+0x670e 026604 call check_nvram 
+0x670f 026605 call init_device_list ,zero 
+0x6710 026606 call nvram_find_addr_from_bd_list 
+:      026607 write_device_record:
+0x6711 026608 fetch 1 ,mem_nv_data_number 
+0x6712 026609 icopy regc 
+0x6713 026610 fetcht 2 ,mem_nv_data_ptr 
+0x6714 026611 storet 2 ,mem_list_item_ptr 
+:      026612 write_device_loop_find:
+0x6715 026613 copy regc ,pdata 
+0x6716 026614 branch app_store_nvram_event ,blank 
+0x6717 026615 increase -1 ,regc 
+0x6718 026616 copy temp ,rega 
+0x6719 026617 ifetch 1 ,rega 
+0x671a 026618 fetcht 1 ,mem_select_list_item 
+0x671b 026619 isub temp ,null 
+0x671c 026620 call set_index_finded_device ,zero 
+0x671d 026621 branch write_device_loop_find0 ,positive 
+0x671e 026622 ifetch 1 ,rega 
+0x671f 026623 increase 1 ,pdata 
+0x6720 026624 istore 1 ,rega 
+:      026625 write_device_loop_find0:
+0x6721 026626 fetcht 2 ,mem_list_item_ptr 
+0x6722 026627 increase nv_data_len ,temp 
+0x6723 026628 storet 2 ,mem_list_item_ptr 
+0x6724 026629 branch write_device_loop_find 
+:      026631 set_index_finded_device:
+0x6725 026632 setarg 0 
+0x6726 026633 istore 1 ,rega 
+0x6727 026634 fetch 1 ,mem_temp_reconn_record 
+0x6728 026635 istore 1 ,contw 
+0x6729 026636 bne rec_3_mode ,set_index_finded_device_ble_mode 
+0x672a 026637 arg mem_link_key ,regb 
+:      026638 set_index_find_device_master_addr:
+0x672b 026639 ifetch 6 ,contr 
+0x672c 026640 istore 8 ,contw 
+0x672d 026641 setarg 0 
+0x672e 026642 istore 8 ,contw 
+0x672f 026643 copy regb ,contr 
+:      026644 store_rec_data_common:
+0x6730 026645 call memcpy16 
+0x6731 026646 force 1 ,null 
+0x6732 026647 rtn 
+:      026649 set_index_finded_device_ble_mode:
+0x6733 026650 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+0x6734 026651 beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+0x6735 026652 arg mem_le_ltk ,regb 
+0x6736 026653 branch set_index_find_device_master_addr 
+:      026655 set_index_finded_device_irk:
+0x6737 026656 arg mem_le_irk ,contr 
+0x6738 026657 call memcpy16 
+:      026658 store_ble_rec_data_common:
+0x6739 026659 arg mem_le_ltk ,contr 
+0x673a 026660 branch store_rec_data_common 
+:      026662 set_index_finded_device_ediv:
+0x673b 026663 arg mem_le_rand ,contr 
+0x673c 026664 call memcpy16 
+0x673d 026665 branch store_ble_rec_data_common 
+:      026668 nvram_find_addr_from_bd_list:
+0x673e 026669 call disable_user 
+0x673f 026670 fetch 1 ,mem_nv_data_number 
+0x6740 026671 rtn blank 
+0x6741 026672 fetch 2 ,mem_ui_state_map 
+0x6742 026673 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+:      026674 find_addr_from_bd_list_ble_mode:
+0x6743 026675 bpatchx patch32_7 ,mem_patch32 
+0x6744 026676 fetch 1 ,mem_le_conn_peer_addr_type 
+0x6745 026677 beq master_public_addr ,find_addr_from_bd_list_static_addr 
+0x6746 026678 fetch 1 ,mem_le_plap + 5 
+0x6747 026679 compare 0xc0 ,pdata ,0xc0 
+0x6748 026680 branch find_addr_from_bd_list_static_addr ,true 
+0x6749 026681 compare 0x40 ,pdata ,0xc0 
+0x674a 026682 branch find_addr_from_bd_list_random_addr ,true 
+0x674b 026683 compare 0x00 ,pdata ,0xc0 
+0x674c 026684 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+:      026685 find_addr_from_bd_list_static_addr:
+0x674d 026686 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+0x674e 026687 fetch 6 ,mem_le_plap 
+0x674f 026688 branch find_addr_from_bd_list_common 
+:      026690 find_addr_from_bd_list_random_non_resolvable_private_address:
+0x6750 026691 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+0x6751 026692 branch find_addr_from_bd_list_common 
+:      026695 find_addr_from_bd_list_random_addr:
+0x6752 026696 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+0x6753 026697 branch find_addr_from_bd_list_common 
+:      026700 find_addr_from_bd_list_spp_mode:
+0x6754 026701 bpatchx patch33_0 ,mem_patch33 
+0x6755 026702 jam rec_3_mode ,mem_temp_reconn_record 
+0x6756 026703 fetch 6 ,mem_plap 
+:      026704 find_addr_from_bd_list_common:
+0x6757 026705 store 6 ,mem_temp_reconn_record + 1 
+0x6758 026706 fetch 2 ,mem_nv_data_ptr 
+0x6759 026707 ifetcht 1 ,pdata 
+0x675a 026708 pincrease 1 
+0x675b 026709 store 2 ,mem_list_item_ptr 
+0x675c 026710 storet 1 ,mem_select_list_item 
+0x675d 026711 fetch 1 ,mem_nv_data_number 
+0x675e 026712 icopy regc 
+:      026713 nvram_find_addr_from_list:
+0x675f 026714 fetch 2 ,mem_list_item_ptr 
+0x6760 026715 copy pdata ,rega 
+0x6761 026716 call nvram_find_addr_from_list_compare 
+0x6762 026717 rtn user 
+0x6763 026718 fetcht 2 ,mem_list_item_ptr 
+0x6764 026719 increase nv_data_len ,temp 
+0x6765 026720 storet 2 ,mem_list_item_ptr 
+0x6766 026721 increase -1 ,temp 
+0x6767 026722 ifetch 1 ,temp 
+0x6768 026723 store 1 ,mem_select_list_item 
+0x6769 026724 increase -1 ,regc 
+0x676a 026725 nbranch nvram_find_addr_from_list ,zero 
+0x676b 026726 fetch 1 ,mem_nv_data_number 
+0x676c 026727 pincrease decreased_one 
+0x676d 026728 store 1 ,mem_select_list_item 
+0x676e 026729 rtn 
+:      026730 nvram_find_addr_from_list_compare:
+0x676f 026731 fetch 1 ,mem_temp_reconn_record 
+0x6770 026732 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+:      026733 find_master_addr_from_list_compare:
+0x6771 026734 arg mem_temp_reconn_record ,regb 
+0x6772 026735 arg 7 ,loopcnt 
+0x6773 026736 call string_compare 
+0x6774 026737 branch enable_user ,zero 
+0x6775 026738 rtn 
+:      026740 find_addr_from_list_compare_ble_mode:
+0x6776 026741 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+0x6777 026742 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+0x6778 026743 branch find_master_addr_from_list_compare 
+:      026745 find_irk_form_list_compare:
+0x6779 026746 ifetcht 1 ,rega 
+0x677a 026747 isub temp ,null 
+0x677b 026748 nrtn zero 
+0x677c 026749 arg mem_le_prand ,contw 
+0x677d 026750 arg 16 ,loopcnt 
+0x677e 026751 call clear_mem 
+0x677f 026752 fetch 3 ,mem_le_plap + 3 
+0x6780 026753 store 3 ,mem_le_prand 
+0x6781 026754 call genernate_master_macaddress 
+0x6782 026755 fetch 2 ,mem_le_aes_128 + 13 
+0x6783 026756 byteswap pdata ,pdata 
+0x6784 026757 lshift8 pdata ,temp 
+0x6785 026758 ifetch 1 ,contr 
+0x6786 026759 iadd temp ,pdata 
+0x6787 026760 fetcht 3 ,mem_le_plap 
+0x6788 026761 isub temp ,null 
+0x6789 026762 branch enable_user ,zero 
+0x678a 026763 rtn 
+:      026766 genernate_master_macaddress:
+0x678b 026767 arg mem_le_prand ,contr 
+0x678c 026768 call load_data128 
+0x678d 026770 ifetch 1 ,rega 
+0x678e 026771 call load_regext 
+0x678f 026772 force 0x38 ,aes_ctrl 
+0x6790 026773 force 0x0 ,aes_ctrl 
+0x6791 026774 call wait_aes 
+0x6792 026775 arg mem_le_aes_128 ,contw 
+0x6793 026776 branch store_aes_result 
+:      026778 find_ediv_form_list_compare:
+0x6794 026779 ifetcht 1 ,rega 
+0x6795 026780 isub temp ,null 
+0x6796 026781 nrtn zero 
+0x6797 026782 copy contr ,rega 
+0x6798 026783 add contr ,8 ,regc 
+0x6799 026784 arg mem_le_rand ,regb 
+0x679a 026785 arg 8 ,loopcnt 
+0x679b 026786 call string_compare 
+0x679c 026787 branch enable_user ,zero 
+0x679d 026788 copy regc ,rega 
+0x679e 026789 arg mem_le_irk ,regb 
+0x679f 026790 arg 8 ,loopcnt 
+0x67a0 026791 call string_compare 
+0x67a1 026792 branch enable_user ,zero 
+0x67a2 026793 rtn 
+:      026795 check_nvram:
+0x67a3 026796 fetch 2 ,mem_nv_data_ptr 
+0x67a4 026797 ifetcht 1 ,pdata 
+0x67a5 026798 pincrease nv_data_len 
+0x67a6 026799 ifetch 1 ,pdata 
+0x67a7 026800 isub temp ,null 
+0x67a8 026801 rtn 
+:      026803 init_device_list:
+0x67a9 026804 fetch 1 ,mem_nv_data_number 
+0x67aa 026805 icopy loopcnt 
+0x67ab 026806 fetcht 2 ,mem_nv_data_ptr 
+0x67ac 026807 setarg 0 
+:      026808 init_device_list_loop:
+0x67ad 026809 istore 1 ,temp 
+0x67ae 026810 increase nv_data_len ,temp 
+0x67af 026811 pincrease 1 
+0x67b0 026812 loop init_device_list_loop 
+0x67b1 026813 rtn 
+:      026815 load_device_list:
+0x67b2 026816 bpatchx patch33_1 ,mem_patch33 
+0x67b3 026817 call nvram_find_addr_from_bd_list 
+0x67b4 026818 fetch 1 ,mem_state 
+0x67b5 026819 setflag user ,state_combkey ,pdata 
+0x67b6 026820 store 1 ,mem_state 
+0x67b7 026821 nbranch clear_key_exists ,user 
+0x67b8 026822 add rega ,10 ,contr 
+0x67b9 026824 arg mem_link_key ,contw 
+0x67ba 026825 call memcpy16 
+0x67bb 026826 branch check_link_key_load 
+:      026827 clear_key_exists:
+0x67bc 026828 jam 0 ,mem_link_key_exists 
+0x67bd 026829 rtn 
+:      026831 load_device_list_mode_4:
+0x67be 026832 fetch 9 ,mem_le_ediv 
+0x67bf 026833 branch clear_ltk_exists ,blank 
+0x67c0 026834 call nvram_find_addr_from_bd_list 
+0x67c1 026835 nbranch clear_ltk_exists ,user 
+0x67c2 026836 fetch 2 ,mem_list_item_ptr 
+0x67c3 026837 add pdata ,1 ,contr 
+0x67c4 026838 arg mem_le_irk ,contw 
+0x67c5 026839 call memcpy16 
+0x67c6 026840 arg mem_le_ltk ,contw 
+0x67c7 026841 call memcpy16 
+0x67c8 026842 jam 1 ,mem_ltk_exists 
+0x67c9 026843 rtn 
+:      026845 clear_ltk_exists:
+0x67ca 026846 jam 0 ,mem_ltk_exists 
+0x67cb 026847 rtn 
+:      026850 eeprom_store_le_reconn_info:
+0x67cc 026851 fetch 6 ,mem_le_plap 
+0x67cd 026852 store 6 ,mem_temp_lap 
+0x67ce 026853 jam rec_4_mode ,mem_record_bt_mode 
+0x67cf 026854 branch eeprom_store_reconn_info 
+:      026855 eeprom_store_bd_reconn_info:
+0x67d0 026856 fetch 6 ,mem_plap 
+0x67d1 026857 store 6 ,mem_temp_lap 
+0x67d2 026858 jam rec_3_mode ,mem_record_bt_mode 
+:      026859 eeprom_store_reconn_info:
+0x67d3 026860 fetch 1 ,mem_device_option 
+0x67d4 026861 beq dvc_op_module ,check_51cmd_update_device_record 
+0x67d5 026862 bbit1 dvc_op_mouse ,mouse_store_remote_bdaddr 
+0x67d6 026863 rtn 
+:      026866 check_link_key_load:
+0x67d7 026867 fetch 8 ,mem_link_key 
+0x67d8 026868 fetcht 8 ,mem_link_key + 8 
+0x67d9 026869 ior temp ,pdata 
+0x67da 026870 rtn blank 
+0x67db 026871 jam 1 ,mem_link_key_exists 
+0x67dc 026872 rtn 
+:      026879 gpio_set_wake_by_current_state:
+0x67dd 026880 bpatchx patch33_2 ,mem_patch33 
+0x67de 026881 set1 7 ,temp 
+0x67df 026882 call gpio_get_bit 
+0x67e0 026883 nsetflag true ,7 ,temp 
+:      026888 gpio_set_wake:
+0x67e1 026889 bpatchx patch33_3 ,mem_patch33 
+0x67e2 026890 sub temp ,ui_button_gpio_disable ,null 
+0x67e3 026891 rtn zero 
+0x67e4 026892 isolate0 7 ,temp 
+0x67e5 026893 and temp ,0x1f ,queue 
+0x67e6 026894 fetch 4 ,mem_gpio_wakeup_low 
+0x67e7 026895 qsetflag true ,pdata 
+0x67e8 026896 store 4 ,mem_gpio_wakeup_low 
+0x67e9 026897 fetch 4 ,mem_gpio_wakeup_high 
+0x67ea 026898 nqsetflag true ,pdata 
+0x67eb 026899 store 4 ,mem_gpio_wakeup_high 
+0x67ec 026900 rtn 
+:      026903 gpio_clr_wake:
+0x67ed 026904 bpatchx patch33_4 ,mem_patch33 
+0x67ee 026905 sub temp ,ui_button_gpio_disable ,null 
+0x67ef 026906 rtn zero 
+0x67f0 026907 isolate0 7 ,temp 
+0x67f1 026908 and temp ,0x1f ,queue 
+0x67f2 026909 fetch 4 ,mem_gpio_wakeup_low 
+0x67f3 026910 qset0 pdata 
+0x67f4 026911 store 4 ,mem_gpio_wakeup_low 
+0x67f5 026912 fetch 4 ,mem_gpio_wakeup_high 
+0x67f6 026913 qset0 pdata 
+0x67f7 026914 store 4 ,mem_gpio_wakeup_high 
+0x67f8 026915 rtn 
+:      026918 gpio_config_input_nowake:
+0x67f9 026919 call gpio_clr_wake 
+0x67fa 026920 branch gpio_config_input_without_wake 
+:      026923 gpio_config_input:
+0x67fb 026924 sub temp ,ui_button_gpio_disable ,null 
+0x67fc 026925 rtn zero 
+0x67fd 026926 ncall gpio_set_wake ,wake 
+:      026928 gpio_config_input_without_wake:
+0x67fe 026929 arg core_gpio_pd0 ,contw 
+0x67ff 026930 call gpio_set_bit 
+0x6800 026931 setflip gpio_active_bit ,temp 
+0x6801 026932 arg core_gpio_pu0 ,contw 
+0x6802 026933 call gpio_set_bit 
+0x6803 026934 set0 gpio_active_bit ,temp 
+0x6804 026935 arg core_gpio_oe0 ,contw 
+0x6805 026936 branch gpio_set_bit 
+:      026939 gpio_set_high_impedance:
+0x6806 026940 arg core_gpio_pd0 ,contw 
+0x6807 026941 call gpio_set_bit 
+0x6808 026942 set0 gpio_active_bit ,temp 
+0x6809 026943 arg core_gpio_pu0 ,contw 
+0x680a 026944 call gpio_set_bit 
+0x680b 026945 set0 gpio_active_bit ,temp 
+0x680c 026946 arg core_gpio_oe0 ,contw 
+0x680d 026947 branch gpio_set_bit 
+:      026951 gpio_config_output:
+0x680e 026952 sub temp ,ui_button_gpio_disable ,null 
+0x680f 026953 rtn zero 
+0x6810 026954 setflip gpio_active_bit ,temp 
+0x6811 026955 call gpio_out 
+:      026956 gpio_config_output0:
+0x6812 026957 set1 gpio_active_bit ,temp 
+0x6813 026958 arg core_gpio_oe0 ,contw 
+0x6814 026959 branch gpio_set_bit 
+:      026961 gpio_common:
+0x6815 026962 and temp ,0x07 ,queue 
+0x6816 026963 rshift3 temp ,pdata 
+0x6817 026964 and_into 3 ,pdata 
+0x6818 026965 iadd contw ,contw 
+0x6819 026966 ifetch 1 ,contw 
+0x681a 026967 rtn 
+:      026969 gpio_check_active:
+0x681b 026970 arg core_gpio_out0 ,contw 
+0x681c 026971 branch get_bit_common 
+:      026975 gpio_get_bit:
+0x681d 026976 arg core_gpio_in ,contw 
+:      026977 get_bit_common:
+0x681e 026978 call gpio_common 
+0x681f 026979 isolate1 gpio_active_bit ,temp 
+0x6820 026980 branch gpio_get_bit_reverse ,true 
+0x6821 026981 qisolate0 pdata 
+0x6822 026982 rtn 
+:      026983 gpio_get_bit_reverse:
+0x6823 026984 qisolate1 pdata 
+0x6824 026985 rtn 
+:      026987 gpio_out_inactive:
+0x6825 026988 sub temp ,ui_button_gpio_disable ,null 
+0x6826 026989 rtn zero 
+0x6827 026990 isolate1 7 ,null 
+0x6828 026991 branch gpio_out_flag 
+:      026993 gpio_out_active:
+0x6829 026994 sub temp ,ui_button_gpio_disable ,null 
+0x682a 026995 rtn zero 
+0x682b 026996 isolate0 7 ,null 
+:      026999 gpio_out_flag:
+0x682c 027000 setarg 0 
+0x682d 027001 nsetflag true ,gpio_active_bit ,pdata 
+0x682e 027002 ixor temp ,temp 
+:      027005 gpio_out:
+0x682f 027006 arg core_gpio_out0 ,contw 
+:      027009 gpio_set_bit:
+0x6830 027010 call gpio_common 
+0x6831 027011 isolate1 gpio_active_bit ,temp 
+0x6832 027012 qsetflag true ,pdata 
+0x6833 027013 istore 1 ,contw 
+0x6834 027014 rtn 
+:      027016 gpio_set_before_lpm_common:
+0x6835 027017 arg -1 ,rega 
+0x6836 027018 hfetch 1 ,core_gpio_sel1 
+0x6837 027019 compare 0x02 ,pdata ,0x03 
+0x6838 027020 call neglact4_from_23_pin ,true 
+0x6839 027022 compare 0x01 ,pdata ,0x03 
+0x683a 027023 call neglact2_form_25_pin ,true 
+0x683b 027025 compare 0x03 ,pdata ,0x03 
+0x683c 027026 call neglact2_form_25_pin ,true 
+0x683d 027028 isolate1 2 ,pdata 
+0x683e 027029 call neglect2_from_6_pin ,true 
+0x683f 027031 isolate1 3 ,pdata 
+0x6840 027032 call neglect4_from_9_pin ,true 
+0x6841 027034 isolate1 4 ,pdata 
+0x6842 027035 call neglact2_form_30_pin ,true 
+0x6843 027037 isolate1 6 ,pdata 
+0x6844 027038 nsetflag true ,04 ,rega 
+0x6845 027040 isolate1 7 ,pdata 
+0x6846 027041 nsetflag true ,05 ,rega 
+0x6847 027043 hfetch 1 ,core_gpio_sel2 
+0x6848 027044 isolate1 0 ,pdata 
+0x6849 027045 nsetflag true ,27 ,rega 
+0x684a 027046 isolate1 1 ,pdata 
+0x684b 027047 nsetflag true ,28 ,rega 
+0x684c 027048 isolate1 2 ,pdata 
+0x684d 027049 nsetflag true ,03 ,rega 
+0x684e 027050 isolate1 3 ,pdata 
+0x684f 027051 nsetflag true ,08 ,rega 
+0x6850 027052 isolate1 4 ,pdata 
+0x6851 027053 nsetflag true ,20 ,rega 
+0x6852 027054 isolate1 5 ,pdata 
+0x6853 027055 nsetflag true ,21 ,rega 
+0x6854 027056 isolate1 6 ,pdata 
+0x6855 027057 nsetflag true ,22 ,rega 
+0x6856 027058 isolate1 7 ,pdata 
+0x6857 027059 nsetflag true ,23 ,rega 
+0x6858 027061 hfetch 1 ,core_gpio_sel 
+0x6859 027062 isolate1 0 ,pdata 
+0x685a 027063 nsetflag true ,05 ,rega 
+0x685b 027064 isolate1 1 ,pdata 
+0x685c 027065 nsetflag true ,06 ,rega 
+0x685d 027066 isolate1 2 ,pdata 
+0x685e 027067 nsetflag true ,07 ,rega 
+0x685f 027068 isolate1 3 ,pdata 
+0x6860 027069 nsetflag true ,18 ,rega 
+0x6861 027070 isolate1 4 ,pdata 
+0x6862 027071 nsetflag true ,19 ,rega 
+0x6863 027072 isolate1 5 ,pdata 
+0x6864 027073 nsetflag true ,20 ,rega 
+0x6865 027074 isolate1 6 ,pdata 
+0x6866 027075 nsetflag true ,21 ,rega 
+0x6867 027076 isolate1 7 ,pdata 
+0x6868 027077 nsetflag true ,22 ,rega 
+0x6869 027079 hfetch 1 ,core_uart_ctrl 
+0x686a 027080 isolate1 4 ,pdata 
+0x686b 027081 call neglact2_form_2_pin ,true 
+0x686c 027082 bpatchx patch33_5 ,mem_patch33 
+0x686d 027084 hfetch 4 ,core_gpio_pu0 
+0x686e 027085 hfetcht 4 ,core_gpio_pd0 
+0x686f 027086 ior temp ,pdata 
+0x6870 027087 invert pdata ,pdata 
+0x6871 027088 iand rega ,pdata 
+0x6872 027090 hstore 4 ,core_gpio_oe0 
+0x6873 027091 rtn 
+:      027094 neglect2_from_6_pin:
+0x6874 027095 arg 6 ,queue 
+0x6875 027096 branch neglect_2_pin 
+:      027097 neglect4_from_9_pin:
+0x6876 027098 arg 9 ,queue 
+0x6877 027099 branch neglact_4_pin 
+:      027100 neglact4_from_23_pin:
+0x6878 027101 arg 23 ,queue 
+0x6879 027102 branch neglact_4_pin 
+:      027103 neglact2_form_25_pin:
+0x687a 027104 arg 25 ,queue 
+0x687b 027105 branch neglect_2_pin 
+:      027106 neglact2_form_30_pin:
+0x687c 027107 arg 30 ,queue 
+0x687d 027108 branch neglect_2_pin 
+:      027109 neglact2_form_2_pin:
+0x687e 027110 arg 2 ,queue 
+0x687f 027111 branch neglect_2_pin 
+:      027112 neglact_1_pin:
+0x6880 027113 arg 1 ,loopcnt 
+0x6881 027114 branch neglect_pin_loop 
+:      027115 neglact_4_pin:
+0x6882 027116 arg 4 ,loopcnt 
+0x6883 027117 branch neglect_pin_loop 
+:      027118 neglect_2_pin:
+0x6884 027119 arg 2 ,loopcnt 
+:      027120 neglect_pin_loop:
+0x6885 027121 qset0 rega 
+0x6886 027122 increase 1 ,queue 
+0x6887 027123 loop neglect_pin_loop 
+0x6888 027124 rtn 
+:      027132 gpio_cfg_uart_tx_output:
+0x6889 027133 call gpio_uart2gpio 
+0x688a 027134 arg uart_wakeup_tx ,temp 
+0x688b 027135 branch gpio_config_output 
+:      027137 gpio_pu_uart_tx:
+0x688c 027138 call gpio_cfg_uart_tx_output 
+0x688d 027139 arg uart_wakeup_tx ,temp 
+0x688e 027140 branch gpio_out_inactive 
+:      027144 gpio_rx_config_input_with_pu:
+0x688f 027145 call gpio_uart2gpio 
+0x6890 027146 hfetch 1 ,core_gpio_pu0 
+0x6891 027147 set1 uart_wakeup_rx ,pdata 
+0x6892 027148 hstore 1 ,core_gpio_pu0 
+0x6893 027149 arg uart_wakeup_rx ,temp 
+0x6894 027150 branch gpio_config_input 
+:      027152 gpio_uart2gpio:
+0x6895 027153 hfetch 1 ,core_gpio_sel1 
+0x6896 027154 and_into 0xfb ,pdata 
+0x6897 027155 hstore 1 ,core_gpio_sel1 
+0x6898 027156 rtn 
+:      027158 gpio_check_uart_state:
+0x6899 027159 hfetch 1 ,core_gpio_sel1 
+0x689a 027160 isolate1 2 ,pdata 
+0x689b 027161 rtn 
+:      027163 load_chip_option:
+0x689c 027164 call otp_enable_chgpump 
+0x689d 027165 setarg otp_chip_functions 
+0x689e 027166 arg mem_chip_functions ,rega 
+0x689f 027167 arg 0x02 ,temp 
+0x68a0 027168 call otpd_read_data 
+0x68a1 027169 branch otp_disable_chgpump 
+:      027172 load_adc_init:
+0x68a2 027173 call otp_enable_chgpump 
+0x68a3 027174 setarg otp_adc_io_0_5v_addr 
+0x68a4 027175 arg mem_0_5_adc_io_data ,rega 
+0x68a5 027176 arg 14 ,temp 
+0x68a6 027177 call otpd_read_data 
+0x68a7 027178 branch otp_disable_chgpump 
+:      027182 adc_init_data:
+0x68a8 027183 bpatchx patch33_6 ,mem_patch33 
+0x68a9 027185 call load_adc_init 
+0x68aa 027187 fetch 1 ,mem_adc_config_flag 
+0x68ab 027188 beq adc_config_vinlpm ,adc_init_data_vinlpm 
+0x68ac 027189 beq adc_config_hvin ,adc_init_data_hvin 
+0x68ad 027190 beq adc_config_gpio ,adc_init_data_io 
+0x68ae 027191 rtn 
+:      027193 adc_init_data_vinlpm:
+0x68af 027194 fetcht 2 ,mem_otp_adc_flag 
+0x68b0 027195 setarg otp_adc_flag 
+0x68b1 027196 isub temp ,null 
+0x68b2 027197 branch adc_check_data_vinlpm ,zero 
+0x68b3 027198 setarg 0x4dfa 
+0x68b4 027199 store 2 ,mem_3v_adc_vinlpm_data 
+0x68b5 027200 setarg 0x4894 
+0x68b6 027201 store 2 ,mem_2v_adc_vinlpm_data 
+0x68b7 027202 branch set_vdd_reference_voltage_1v 
+:      027204 adc_check_data_vinlpm:
+0x68b8 027205 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x68b9 027206 nbranch adc_check_2v_vinlpm ,blank 
+0x68ba 027207 setarg 0x4dfa 
+0x68bb 027208 store 2 ,mem_3v_adc_vinlpm_data 
+:      027209 adc_check_2v_vinlpm:
+0x68bc 027210 fetch 2 ,mem_2v_adc_vinlpm_data 
+0x68bd 027211 nbranch set_vdd_reference_voltage_1v ,blank 
+0x68be 027212 setarg 0x4894 
+0x68bf 027213 store 2 ,mem_2v_adc_vinlpm_data 
+:      027214 set_vdd_reference_voltage_1v:
+0x68c0 027215 setarg 100 
+0x68c1 027216 store 2 ,mem_reference_voltage 
+0x68c2 027217 rtn 
+:      027219 adc_init_data_hvin:
+0x68c3 027220 fetcht 2 ,mem_otp_adc_flag 
+0x68c4 027221 setarg otp_adc_flag 
+0x68c5 027222 isub temp ,null 
+0x68c6 027223 branch adc_check_data_hvin ,zero 
+0x68c7 027224 setarg 0x5932 
+0x68c8 027225 store 2 ,mem_5v_adc_hvin_data 
+0x68c9 027226 setarg 0x4323 
+0x68ca 027227 store 2 ,mem_1v_adc_hvin_data 
+0x68cb 027228 branch set_vdd_reference_voltage_4v 
+:      027230 adc_check_data_hvin:
+0x68cc 027231 fetch 2 ,mem_5v_adc_hvin_data 
+0x68cd 027232 nbranch adc_check_1v_hvin ,blank 
+0x68ce 027233 setarg 0x5932 
+0x68cf 027234 store 2 ,mem_5v_adc_hvin_data 
+:      027235 adc_check_1v_hvin:
+0x68d0 027236 fetch 2 ,mem_1v_adc_hvin_data 
+0x68d1 027237 nbranch set_vdd_reference_voltage_4v ,blank 
+0x68d2 027238 setarg 0x4323 
+0x68d3 027239 store 2 ,mem_1v_adc_hvin_data 
+:      027240 set_vdd_reference_voltage_4v:
+0x68d4 027241 setarg 400 
+0x68d5 027242 store 2 ,mem_reference_voltage 
+0x68d6 027243 rtn 
+:      027245 adc_init_data_io:
+0x68d7 027246 fetcht 2 ,mem_otp_adc_flag 
+0x68d8 027247 setarg otp_adc_flag 
+0x68d9 027248 isub temp ,null 
+0x68da 027249 branch adc_check_data_io ,zero 
+0x68db 027250 setarg 0x6946 
+0x68dc 027251 store 2 ,mem_1v_adc_io_data 
+0x68dd 027252 setarg 0x5377 
+0x68de 027253 store 2 ,mem_0_5_adc_io_data 
+0x68df 027254 branch set_vdd_reference_voltage_0_5v 
+:      027256 adc_check_data_io:
+0x68e0 027257 fetch 2 ,mem_1v_adc_io_data 
+0x68e1 027258 nbranch adc_check_0_5v_io ,blank 
+0x68e2 027259 setarg 0x6946 
+0x68e3 027260 store 2 ,mem_1v_adc_io_data 
+:      027261 adc_check_0_5v_io:
+0x68e4 027262 fetch 2 ,mem_0_5_adc_io_data 
+0x68e5 027263 nbranch set_vdd_reference_voltage_0_5v ,blank 
+0x68e6 027264 setarg 0x5377 
+0x68e7 027265 store 2 ,mem_0_5_adc_io_data 
+:      027266 set_vdd_reference_voltage_0_5v:
+0x68e8 027267 setarg 50 
+0x68e9 027268 store 2 ,mem_reference_voltage 
+0x68ea 027269 rtn 
+:      027272 adc_set_mode:
+0x68eb 027273 fetch 1 ,mem_adc_config_flag 
+0x68ec 027274 beq adc_config_vinlpm ,adc_check_vinlpm 
+0x68ed 027275 beq adc_config_hvin ,adc_check_hvin 
+0x68ee 027276 beq adc_config_gpio ,adc_check_gpio 
+0x68ef 027277 rtn 
+:      027278 adc_check_vinlpm:
+0x68f0 027279 hjam 0xbf ,rf_adc_mode 
+0x68f1 027280 branch read_adc 
+:      027281 adc_check_hvin:
+0x68f2 027282 hjam 0xaf ,rf_adc_mode 
+0x68f3 027283 branch read_adc 
+:      027284 adc_check_gpio:
+0x68f4 027285 hjam 0x8f ,rf_adc_mode 
+0x68f5 027286 fetch 1 ,mem_adc_channel 
+0x68f6 027287 hstore 1 ,rf_adc_ch 
+0x68f7 027288 branch read_adc 
+:      027289 read_adc:
+0x68f8 027290 bpatchx patch33_7 ,mem_patch33 
+0x68f9 027291 hfetch 1 ,core_uart_baud + 1 
+0x68fa 027292 set1 7 ,pdata 
+0x68fb 027293 hstore 1 ,core_uart_baud + 1 
+0x68fc 027294 hfetch 1 ,rf_adc_ch 
+0x68fd 027295 or_into 0x30 ,pdata 
+0x68fe 027296 hstore 1 ,rf_adc_ch 
+0x68ff 027297 hjam 0x7c ,rfen_adc 
+0x6900 027298 hjam 0xaa ,rf_adc_gc 
+0x6901 027299 nop 5000 
+0x6902 027300 hfetcht 2 ,core_adc_sum 
+0x6903 027301 hfetch 1 ,core_uart_baud + 1 
+0x6904 027302 set0 7 ,pdata 
+0x6905 027303 hstore 1 ,core_uart_baud + 1 
+0x6906 027304 storet 2 ,mem_adc_current_value 
+0x6907 027305 rtn 
+:      027307 vdd_calculate_by_mode:
+0x6908 027308 bpatchx patch34_0 ,mem_patch34 
+0x6909 027309 fetch 1 ,mem_adc_config_flag 
+0x690a 027310 beq adc_config_vinlpm ,vdd_calculate_vinlpm 
+0x690b 027311 beq adc_config_hvin ,vdd_calculate_hvin 
+0x690c 027312 beq adc_config_gpio ,vdd_calculate_io 
+0x690d 027313 rtn 
+:      027315 vdd_calculate_vinlpm:
+0x690e 027316 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x690f 027317 fetcht 2 ,mem_2v_adc_vinlpm_data 
+0x6910 027318 arg 200 ,regc 
+0x6911 027319 branch vdd_calculate 
+:      027321 vdd_calculate_hvin:
+0x6912 027322 fetch 2 ,mem_5v_adc_hvin_data 
+0x6913 027323 fetcht 2 ,mem_1v_adc_hvin_data 
+0x6914 027324 arg 100 ,regc 
+0x6915 027325 branch vdd_calculate 
+:      027327 vdd_calculate_io:
+0x6916 027328 fetch 2 ,mem_1v_adc_io_data 
+0x6917 027329 fetcht 2 ,mem_0_5_adc_io_data 
+0x6918 027330 arg 50 ,regc 
+0x6919 027331 branch vdd_calculate 
+:      027333 vdd_calculate:
+0x691a 027334 isub temp ,rega 
+0x691b 027335 fetch 2 ,mem_adc_current_value 
+0x691c 027336 isub temp ,pdata 
+0x691d 027337 nbranch vdd_calculate1 ,positive 
+0x691e 027338 fetcht 2 ,mem_reference_voltage 
+0x691f 027339 imul32 temp ,regb 
+0x6920 027340 copy regc ,pdata 
+0x6921 027341 imul32 rega ,pdata 
+0x6922 027342 iadd regb ,pdata 
+:      027343 vdd_calculate2:
+0x6923 027344 idiv rega 
+0x6924 027345 call wait_div_end 
+0x6925 027346 quotient pdata 
+0x6926 027347 rtn 
+:      027349 vdd_calculate1:
+0x6927 027350 copy temp ,pdata 
+0x6928 027351 fetcht 2 ,mem_adc_current_value 
+0x6929 027352 isub temp ,pdata 
+0x692a 027353 fetcht 2 ,mem_reference_voltage 
+0x692b 027354 imul32 temp ,regb 
+0x692c 027355 copy regc ,pdata 
+0x692d 027356 imul32 rega ,pdata 
+0x692e 027357 isub regb ,pdata 
+0x692f 027358 branch vdd_calculate2 
+:      027369 adc_bat_percent_lowpower_out:
+0x6930 027370 ifetch 8 ,rega 
+0x6931 027371 store 8 ,mem_pdatatemp 
+0x6932 027372 fetch 2 ,mem_pdatatemp 
+0x6933 027373 fetcht 2 ,mem_pdatatemp + 2 
+0x6934 027374 isub temp ,rega 
+0x6935 027375 fetch 2 ,mem_pdatatemp + 6 
+0x6936 027376 isub temp ,regb 
+0x6937 027377 fetcht 2 ,mem_pdatatemp + 4 
+0x6938 027378 isub temp ,null 
+0x6939 027379 ncall adc_set_low_power_flag ,positive 
+0x693a 027380 mul32 regb ,100 ,pdata 
+0x693b 027381 idiv rega 
+0x693c 027382 call wait_div_end 
+0x693d 027383 quotient pdata 
+0x693e 027384 call adc_set_no_power_flag ,blank 
+0x693f 027385 rtn 
+:      027386 adc_set_low_power_flag:
+0x6940 027387 fetch 1 ,mem_adc_power_flag 
+0x6941 027388 set1 0 ,pdata 
+0x6942 027389 store 1 ,mem_adc_power_flag 
+0x6943 027390 rtn 
+:      027391 adc_set_no_power_flag:
+0x6944 027392 fetcht 1 ,mem_adc_power_flag 
+0x6945 027393 set1 1 ,temp 
+0x6946 027394 storet 1 ,mem_adc_power_flag 
+0x6947 027395 rtn 
+:      027400 keyscan_key_init:
+0x6948 027401 fetch 2 ,mem_key_num_ptr 
+0x6949 027402 ifetch 1 ,pdata 
+:      027403 keyscan_key_init_next:
+0x694a 027404 rtn blank 
+0x694b 027405 copy pdata ,loopcnt 
+0x694c 027407 fetch 2 ,mem_keyscan_ptr 
+0x694d 027408 increase 3 ,pdata 
+0x694e 027409 copy pdata ,rega 
+:      027410 keyscan_key_init_lp1:
+0x694f 027411 ifetcht 1 ,rega 
+0x6950 027412 call gpio_config_input 
+0x6951 027413 increase key_conf_struct_len ,rega 
+0x6952 027414 loop keyscan_key_init_lp1 
+:      027415 keyscan_key_init_end:
+0x6953 027416 rtn 
+:      027418 keyscan_scan_key:
+0x6954 027419 fetch 2 ,mem_keyscan_ptr 
+0x6955 027420 increase 3 ,pdata 
+0x6956 027421 copy pdata ,rega 
+0x6957 027423 force 0 ,regb 
+0x6958 027424 jam 0 ,mem_key_value_temp 
+:      027425 keyscan_scan_key_lp1:
+0x6959 027426 ifetcht 1 ,rega 
+0x695a 027427 call gpio_get_bit 
+0x695b 027428 bpatchx patch34_1 ,mem_patch34 
+0x695c 027429 fetch 2 ,mem_key_value_temp 
+0x695d 027430 copy regb ,queue 
+0x695e 027431 qsetflag true ,pdata 
+0x695f 027432 store 2 ,mem_key_value_temp 
+0x6960 027433 increase key_conf_struct_len ,rega 
+0x6961 027434 increase 1 ,regb 
+0x6962 027435 fetch 2 ,mem_key_num_ptr 
+0x6963 027436 ifetch 1 ,pdata 
+:      027437 keyscan_scan_key_lp1_next:
+0x6964 027438 ixor regb ,null 
+0x6965 027439 nbranch keyscan_scan_key_lp1 ,zero 
+0x6966 027440 fetch 2 ,mem_key_value_temp 
+0x6967 027441 fetcht 2 ,mem_key_value 
+0x6968 027442 ixor temp ,null 
+0x6969 027443 rtn zero 
+0x696a 027444 enable user 
+0x696b 027445 rtn 
+:      027447 keyscan_process_lpm_before:
+0x696c 027448 fetch 2 ,mem_key_num_ptr 
+0x696d 027449 ifetch 1 ,pdata 
+:      027450 keyscan_process_lpm_before_next:
+0x696e 027451 rtn blank 
+0x696f 027452 copy pdata ,loopcnt 
+0x6970 027453 fetch 2 ,mem_keyscan_ptr 
+0x6971 027454 increase 3 ,pdata 
+0x6972 027455 copy pdata ,rega 
+:      027456 keyscan_process_lpm_before_lp1:
+0x6973 027457 ifetcht 1 ,rega 
+0x6974 027458 call gpio_set_wake_by_current_state 
+0x6975 027459 increase key_conf_struct_len ,rega 
+0x6976 027460 loop keyscan_process_lpm_before_lp1 
+:      027461 keyscan_process_lpm_before_end:
+0x6977 027462 rtn 
+:      027464 keyscan_key_process:
+0x6978 027465 arg key_scan_timer ,queue 
+0x6979 027466 call timer_check 
+0x697a 027467 nrtn blank 
+0x697b 027468 setarg 0x20 
+0x697c 027469 arg key_scan_timer ,queue 
+0x697d 027470 call timer_init 
+0x697e 027471 disable user 
+0x697f 027472 call keyscan_process_lpm_before 
+0x6980 027473 bpatchx patch34_2 ,mem_patch34 
+0x6981 027474 fetch 2 ,mem_key_num_ptr 
+0x6982 027475 ifetch 1 ,pdata 
+:      027476 keyscan_key_process_next:
+0x6983 027477 rtn blank 
+0x6984 027478 call keyscan_scan_key 
+0x6985 027479 nbranch lpm_button_clean_wake_lock ,user 
+0x6986 027480 call lpm_button_get_wake_lock 
+0x6987 027481 disable user 
+0x6988 027482 fetch 2 ,mem_key_value_temp 
+0x6989 027483 store 2 ,mem_key_value_temp4 
+0x698a 027484 jam 0 ,mem_key_value_temp6 
+0x698b 027485 force 0 ,queue 
+:      027486 keyscan_key_lp1:
+0x698c 027487 fetch 2 ,mem_key_value 
+0x698d 027488 rshift pdata ,temp 
+0x698e 027489 storet 2 ,mem_key_value 
+0x698f 027490 and pdata ,0x01 ,pdata 
+0x6990 027491 fetcht 2 ,mem_key_value_temp4 
+0x6991 027492 and temp ,0x01 ,rega 
+0x6992 027493 rshift temp ,temp 
+0x6993 027494 storet 2 ,mem_key_value_temp4 
+0x6994 027495 ixor rega ,null 
+0x6995 027496 ncall keyscan_send_key_data ,zero 
+0x6996 027497 fetch 2 ,mem_key_num_ptr 
+0x6997 027498 ifetch 1 ,pdata 
+:      027499 keyscan_key_lp1_next:
+0x6998 027500 fetcht 1 ,mem_key_value_temp6 
+0x6999 027501 increase 1 ,temp 
+0x699a 027502 storet 1 ,mem_key_value_temp6 
+0x699b 027503 copy temp ,queue 
+0x699c 027504 ixor queue ,null 
+0x699d 027505 nbranch keyscan_key_lp1 ,zero 
+0x699e 027506 fetch 2 ,mem_key_value_temp 
+0x699f 027507 store 2 ,mem_key_value 
+0x69a0 027508 rtn 
+:      027509 keyscan_send_key_data:
+0x69a1 027510 bpatchx patch34_3 ,mem_patch34 
+0x69a2 027511 fetch 2 ,mem_keyscan_ptr 
+0x69a3 027512 increase 1 ,pdata 
+0x69a4 027513 ifetch 2 ,pdata 
+0x69a5 027514 branch callback_func 
+:      027525 pwm_init:
+0x69a6 027526 hfetch 1 ,core_clksel 
+0x69a7 027527 ior rega ,pdata 
+0x69a8 027528 hstore 1 ,core_clksel 
+0x69a9 027529 hfetch 2 ,core_clkoff 
+0x69aa 027530 set0 clock_off_pwm ,pdata 
+0x69ab 027531 hstore 2 ,core_clkoff 
+0x69ac 027532 nop 100 
+0x69ad 027533 rtn 
+:      027544 pwm_out_set:
+0x69ae 027545 fetcht 3 ,mem_pdatatemp + 2 
+0x69af 027546 setarg pwm_12mhz 
+0x69b0 027547 idiv temp 
+0x69b1 027548 call wait_div_end 
+0x69b2 027549 quotient temp 
+0x69b3 027550 fetch 1 ,mem_pdatatemp + 5 
+0x69b4 027551 imul32 temp ,pdata 
+0x69b5 027552 div pdata ,100 
+0x69b6 027553 call wait_div_end 
+0x69b7 027554 quotient rega 
+0x69b8 027555 copy temp ,pdata 
+0x69b9 027556 isub rega ,regb 
+0x69ba 027557 fetch 1 ,mem_pdatatemp + 1 
+0x69bb 027558 call pwm_duty_cycle_set 
+0x69bc 027559 fetch 1 ,mem_pdatatemp 
+0x69bd 027560 branch pwm_enable 
+:      027563 pwm_duty_cycle_set:
+0x69be 027564 beq 0 ,pwm_pwm0_duty_set 
+0x69bf 027565 beq 1 ,pwm_pwm1_duty_set 
+0x69c0 027566 beq 2 ,pwm_pwm2_duty_set 
+0x69c1 027567 beq 3 ,pwm_pwm3_duty_set 
+0x69c2 027568 beq 4 ,pwm_pwm4_duty_set 
+0x69c3 027569 beq 5 ,pwm_pwm5_duty_set 
+:      027570 pwm_pwm0_duty_set:
+0x69c4 027571 arg core_pwm_pcnt0 ,contw 
+0x69c5 027572 branch pwm_set_pncnt 
+:      027573 pwm_pwm1_duty_set:
+0x69c6 027574 arg core_pwm_pcnt1 ,contw 
+0x69c7 027575 branch pwm_set_pncnt 
+:      027576 pwm_pwm2_duty_set:
+0x69c8 027577 arg core_pwm_pcnt2 ,contw 
+0x69c9 027578 branch pwm_set_pncnt 
+:      027579 pwm_pwm3_duty_set:
+0x69ca 027580 arg core_pwm_pcnt3 ,contw 
+0x69cb 027581 branch pwm_set_pncnt 
+:      027582 pwm_pwm4_duty_set:
+0x69cc 027583 arg core_pwm_pcnt4 ,contw 
+0x69cd 027584 branch pwm_set_pncnt 
+:      027585 pwm_pwm5_duty_set:
+0x69ce 027586 arg core_pwm_pcnt5 ,contw 
+0x69cf 027587 branch pwm_set_pncnt 
+:      027588 pwm_set_pncnt:
+0x69d0 027589 copy rega ,pdata 
+0x69d1 027590 istore 2 ,contw 
+0x69d2 027591 copy regb ,pdata 
+0x69d3 027592 istore 2 ,contw 
+0x69d4 027593 rtn 
+:      027597 pwm_enable:
+0x69d5 027598 enable user 
+0x69d6 027599 branch pwm_gpio_set 
+:      027600 pwm_disable:
+0x69d7 027601 disable user 
+:      027602 pwm_gpio_set:
+0x69d8 027603 beq 4 ,pwm_gpio4_set 
+0x69d9 027604 beq 5 ,pwm_gpio5_set 
+0x69da 027605 beq 27 ,pwm_gpio27_set 
+0x69db 027606 beq 28 ,pwm_gpio28_set 
+0x69dc 027607 beq 3 ,pwm_gpio3_set 
+0x69dd 027608 beq 8 ,pwm_gpio8_set 
+0x69de 027609 beq 20 ,pwm_gpio20_set 
+0x69df 027610 beq 21 ,pwm_gpio21_set 
+0x69e0 027611 beq 22 ,pwm_gpio22_set 
+0x69e1 027612 beq 23 ,pwm_gpio23_set 
+0x69e2 027613 rtn 
+:      027616 pwm_gpio4_set:
+0x69e3 027617 arg 6 ,queue 
+0x69e4 027618 branch pwm_one_set_select 
+:      027619 pwm_gpio5_set:
+0x69e5 027620 arg 7 ,queue 
+0x69e6 027621 branch pwm_one_set_select 
+:      027622 pwm_gpio27_set:
+0x69e7 027623 arg 8 ,queue 
+0x69e8 027624 branch pwm_one_set_select 
+:      027625 pwm_gpio28_set:
+0x69e9 027626 arg 9 ,queue 
+0x69ea 027627 branch pwm_one_set_select 
+:      027628 pwm_gpio3_set:
+0x69eb 027629 arg 10 ,queue 
+0x69ec 027630 branch pwm_one_set_select 
+:      027631 pwm_gpio8_set:
+0x69ed 027632 arg 11 ,queue 
+0x69ee 027633 branch pwm_one_set_select 
+:      027634 pwm_gpio20_set:
+0x69ef 027635 arg 12 ,queue 
+0x69f0 027636 branch pwm_tw0_set_select 
+:      027637 pwm_gpio21_set:
+0x69f1 027638 arg 13 ,queue 
+0x69f2 027639 branch pwm_tw0_set_select 
+:      027640 pwm_gpio22_set:
+0x69f3 027641 arg 14 ,queue 
+0x69f4 027642 branch pwm_tw0_set_select 
+:      027643 pwm_gpio23_set:
+0x69f5 027644 arg 15 ,queue 
+0x69f6 027645 branch pwm_tw0_set_select 
+:      027647 pwm_set_select:
+0x69f7 027648 hfetch 2 ,core_gpio_sel1 
+0x69f8 027649 qsetflag user ,pdata 
+0x69f9 027650 hstore 2 ,core_gpio_sel1 
+0x69fa 027651 copy rega ,queue 
+0x69fb 027652 hfetch 1 ,core_gpio_key2 
+0x69fc 027653 qsetflag user ,pdata 
+0x69fd 027654 hstore 1 ,core_gpio_key2 
+0x69fe 027655 rtn 
+:      027657 pwm_one_set_select:
+0x69ff 027658 add queue ,-4 ,rega 
+0x6a00 027659 branch pwm_set_select 
+:      027661 pwm_tw0_set_select:
+0x6a01 027662 add queue ,-10 ,rega 
+0x6a02 027663 branch pwm_set_select 
+:      027668 rfcomm_init:
+0x6a03 027669 rtn wake 
+0x6a04 027670 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6a05 027671 jam bits9600 ,memremoterpnbitrate 
+0x6a06 027672 jam databits8 ,memremoteprndatabits 
+0x6a07 027673 jam 0x11 ,memremoteprnxon 
+0x6a08 027674 jam 0x13 ,memremoteprnxoff 
+0x6a09 027675 setarg 0 
+0x6a0a 027676 store 3 ,memremoteprnstopbit 
+0x6a0b 027677 store 1 ,mem_spp_state 
+0x6a0c 027678 jam 0 ,memui_reconnect_mode 
+:      027680 rfcomm_init_spp:
+0x6a0d 027681 bpatchx patch34_4 ,mem_patch34 
+0x6a0e 027682 setarg 0 
+0x6a0f 027683 store 1 ,mem_spp_state 
+0x6a10 027684 store 1 ,mem_remote_spp_channel 
+0x6a11 027685 store 1 ,mem_pn_dlci 
+0x6a12 027686 fetch 1 ,mem_credit_flag 
+0x6a13 027687 beq credit_enable ,rfcomm_init_spp_with_credit 
+0x6a14 027688 jam 0x50 ,mem_credit_given 
+0x6a15 027689 rtn 
+:      027691 rfcomm_init_spp_with_credit:
+0x6a16 027692 jam 0x00 ,mem_credit_given 
+0x6a17 027693 rtn 
+:      027695 set_cr_bit:
+0x6a18 027696 or_into 0x02 ,temp 
+0x6a19 027697 rtn 
+:      027709 rfcomm_calculate_fcs_sabm:
+0x6a1a 027710 copy temp ,pdata 
+0x6a1b 027711 reverse pdata ,pdata 
+0x6a1c 027712 store 1 ,memfcstemp3 
+0x6a1d 027713 force ini_tx_sabm ,pdata 
+0x6a1e 027714 reverse pdata ,pdata 
+0x6a1f 027715 store 1 ,memfcstemp2 
+0x6a20 027716 force 0x01 ,pdata 
+0x6a21 027717 reverse pdata ,pdata 
+0x6a22 027718 store 1 ,memfcstemp1 
+0x6a23 027719 call caculate_fcs 
+0x6a24 027720 copy temp ,pdata 
+0x6a25 027721 rtn 
+:      027722 rfcomm_calculate_fcs_ua:
+0x6a26 027723 reverse pdata ,pdata 
+0x6a27 027724 store 1 ,memfcstemp3 
+0x6a28 027725 force rsp_tx_ua ,pdata 
+0x6a29 027726 reverse pdata ,pdata 
+0x6a2a 027727 store 1 ,memfcstemp2 
+0x6a2b 027728 force 0x01 ,pdata 
+0x6a2c 027729 reverse pdata ,pdata 
+0x6a2d 027730 store 1 ,memfcstemp1 
+0x6a2e 027731 branch caculate_fcs 
+:      027733 rfcomm_calculate_fcs_dlci0:
+0x6a2f 027734 fetch 1 ,mem_rfcomm_initiator 
+0x6a30 027735 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+0x6a31 027736 setarg 0x70 
+0x6a32 027737 rtn 
+:      027738 rfcomm_calculate_fcs_dlci0_res:
+0x6a33 027739 setarg 0xaa 
+0x6a34 027740 rtn 
+:      027742 rfcomm_save_fcs_uih:
+0x6a35 027743 reverse pdata ,pdata 
+0x6a36 027744 store 1 ,memfcstemp3 
+0x6a37 027745 force rsp_rx_uih ,pdata 
+0x6a38 027746 call caculate_uihdata_fcs 
+0x6a39 027747 fetcht 2 ,mem_contw_temp 
+0x6a3a 027748 copy temp ,contw 
+0x6a3b 027749 istore 1 ,contw 
+0x6a3c 027750 copy contw ,temp 
+0x6a3d 027751 storet 2 ,mem_contw_temp 
+0x6a3e 027752 force rsp_rx_uih_wdata ,pdata 
+0x6a3f 027753 call caculate_uihdata_fcs 
+0x6a40 027754 fetcht 2 ,mem_contw_temp 
+0x6a41 027755 copy temp ,contw 
+0x6a42 027756 istore 1 ,contw 
+0x6a43 027757 rtn 
+:      027766 caculate_uihdata_fcs:
+0x6a44 027767 reverse pdata ,pdata 
+0x6a45 027768 store 1 ,memfcstemp2 
+0x6a46 027769 fetch 2 ,memfcstemp2 
+0x6a47 027770 lshift8 pdata ,pdata 
+0x6a48 027771 store 3 ,mem_mod2div_temp 
+0x6a49 027772 arg 0x107 ,rega 
+0x6a4a 027773 arg 0xf ,regb 
+0x6a4b 027774 call mod2div 
+0x6a4c 027775 xor_into 0xd7 ,pdata 
+0x6a4d 027776 invert pdata ,pdata 
+0x6a4e 027777 reverse pdata ,pdata 
+0x6a4f 027778 rtn 
+:      027788 caculate_fcs:
+0x6a50 027789 fetch 3 ,memfcstemp1 
+0x6a51 027790 store 3 ,mem_mod2div_temp 
+0x6a52 027791 arg 0x107 ,rega 
+0x6a53 027792 arg 0xf ,regb 
+0x6a54 027793 call mod2div 
+0x6a55 027794 lshift8 pdata ,pdata 
+0x6a56 027795 arg 0x7 ,regb 
+0x6a57 027796 call mod2div 
+0x6a58 027797 xor_into 0x2b ,pdata 
+0x6a59 027798 invert pdata ,pdata 
+0x6a5a 027799 reverse pdata ,pdata 
+0x6a5b 027800 copy pdata ,temp 
+0x6a5c 027801 rtn 
+:      027803 mod2div:
+0x6a5d 027804 arg 0 ,regc 
+0x6a5e 027805 copy regb ,loopcnt 
+0x6a5f 027806 call right_shift_n 
+0x6a60 027807 icopy temp 
+:      027808 mod2div_loop:
+0x6a61 027813 copy temp ,pdata 
+0x6a62 027814 lshift regc ,regc 
+0x6a63 027815 bbit0 8 ,mod2div_not_enough_reduction 
+0x6a64 027816 ixor rega ,temp 
+0x6a65 027817 increase 1 ,regc 
+:      027818 mod2div_not_enough_reduction:
+0x6a66 027819 lshift temp ,temp 
+0x6a67 027820 fetch 3 ,mem_mod2div_temp 
+0x6a68 027821 increase -1 ,regb 
+0x6a69 027822 compare 0xff ,regb ,0xff 
+0x6a6a 027823 branch mod2div_end ,true 
+0x6a6b 027824 copy regb ,loopcnt 
+0x6a6c 027825 call right_shift_n 
+0x6a6d 027826 isolate1 0 ,pdata 
+0x6a6e 027827 setflag true ,0 ,temp 
+0x6a6f 027828 branch mod2div_loop 
+:      027829 mod2div_end:
+0x6a70 027831 rshift temp ,pdata 
+0x6a71 027832 rtn 
+:      027834 get_rfcomm_snd_adss:
+0x6a72 027835 fetcht 1 ,mem_pn_dlci 
+:      027836 dlci_to_address_cmd:
+0x6a73 027838 lshift2 temp ,temp 
+0x6a74 027839 set1 rfcomm_address_ext_len ,temp 
+0x6a75 027840 fetch 1 ,mem_rfcomm_initiator 
+0x6a76 027841 ncall set_cr_bit ,blank 
+0x6a77 027842 storet 1 ,mem_rfcomm_send_adss 
+0x6a78 027843 rtn 
+:      027845 channel_to_dlci:
+0x6a79 027847 lshift temp ,temp 
+0x6a7a 027848 fetch 1 ,mem_rfcomm_initiator 
+0x6a7b 027849 setflag blank ,0 ,temp 
+0x6a7c 027851 rtn 
+:      027852 rfcomm_rx_process_dlci0_sabm:
+0x6a7d 027853 fetcht 1 ,mem_current_channel 
+0x6a7e 027854 jam 0xd7 ,mem_current_fcs 
+0x6a7f 027855 call rfcomm_send_ua 
+0x6a80 027856 fetch 1 ,mem_rfcomm_state 
+0x6a81 027857 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6a82 027858 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6a83 027859 store 1 ,mem_rfcomm_state 
+0x6a84 027860 jam 0 ,mem_rfcomm_initiator 
+0x6a85 027861 branch rfcomm_rx_process_end 
+:      027862 rfcomm_rx_process_dlci0_ua:
+0x6a86 027863 fetch 1 ,mem_rfcomm_state 
+0x6a87 027864 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6a88 027865 store 1 ,mem_rfcomm_state 
+0x6a89 027866 branch rfcomm_rx_process_end 
+:      027869 rfcomm_rx_process:
+0x6a8a 027870 bpatchx patch34_5 ,mem_patch34 
+0x6a8b 027871 fetch 1 ,memui_reconnect_mode 
+0x6a8c 027872 beq no_reconnection ,rfcomm_rx_process_remote_page 
+0x6a8d 027873 branch rfcomm_rx_process_reconn 
+:      027875 rfcomm_rx_process_remote_page:
+0x6a8e 027876 fetch 2 ,mem_l2cap_payload_ptr 
+0x6a8f 027877 copy pdata ,contr 
+0x6a90 027878 call get_rfcomm_head_struct 
+0x6a91 027879 fetch 1 ,mem_current_channel 
+0x6a92 027880 beq 0 ,parse_dlci0_rp 
+0x6a93 027881 branch parse_uih_rp 
+:      027882 parse_dlci0_rp:
+0x6a94 027883 bpatchx patch34_6 ,mem_patch34 
+0x6a95 027884 fetch 1 ,mem_current_frame_type 
+0x6a96 027885 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6a97 027886 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6a98 027887 beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+0x6a99 027888 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+0x6a9a 027889 rtn 
+:      027892 parse_dlci0_rp_uih:
+0x6a9b 027893 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6a9c 027894 copy pdata ,contr 
+0x6a9d 027895 call get_rfcomm_uih_head_struct 
+0x6a9e 027896 fetch 1 ,mem_uih_cmd_type 
+0x6a9f 027897 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+0x6aa0 027898 beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+0x6aa1 027899 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+0x6aa2 027900 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+0x6aa3 027901 beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+0x6aa4 027902 branch rfcomm_rx_process_end 
+:      027904 parse_dlci0_rp_uih_pn_cmd:
+0x6aa5 027905 call parse_dlci0_rp_uih_pn_res_common 
+0x6aa6 027907 branch parse_dlci0_rp_uih_pn_cmd_spp 
+:      027909 parse_dlci0_rp_uih_pn_cmd_spp:
+0x6aa7 027910 fetch 1 ,mem_spp_state 
+0x6aa8 027911 set1 rfcomm_channel_state_pn_cmd ,pdata 
+0x6aa9 027912 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6aaa 027913 store 1 ,mem_spp_state 
+0x6aab 027914 call rfcomm_send_param_neg_res 
+0x6aac 027915 branch rfcomm_rx_process_end 
+:      027917 parse_dlci0_rp_uih_pn_res:
+0x6aad 027918 call parse_dlci0_rp_uih_pn_res_common 
+0x6aae 027919 branch rfcomm_rx_process_end 
+:      027921 parse_dlci0_rp_uih_pn_res_common:
+0x6aaf 027922 call get_param_payload_ptr 
+0x6ab0 027923 branch get_rfcomm_prarmer_negotiation 
+:      027925 get_rfcomm_param_modem_status:
+0x6ab1 027926 call get_param_payload_ptr 
+0x6ab2 027927 ifetch 1 ,contr 
+0x6ab3 027928 rshift3 pdata ,pdata 
+0x6ab4 027929 store 1 ,mem_ms_channel 
+0x6ab5 027930 ifetch 1 ,contr 
+0x6ab6 027931 store 1 ,mem_ms_param 
+0x6ab7 027932 rtn 
+:      027935 get_rfcomm_head_struct:
+0x6ab8 027936 ifetch 1 ,contr 
+0x6ab9 027937 store 1 ,mem_current_adss 
+0x6aba 027938 rshift3 pdata ,pdata 
+0x6abb 027939 store 1 ,mem_current_channel 
+0x6abc 027940 ifetch 1 ,contr 
+0x6abd 027941 store 1 ,mem_current_frame_type 
+:      027942 get_rfcomm_current_length:
+0x6abe 027943 call get_rfcomm_length_common 
+0x6abf 027944 storet 2 ,mem_current_length 
+0x6ac0 027945 copy contr ,pdata 
+0x6ac1 027946 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6ac2 027947 rtn 
+:      027949 get_rfcomm_uih_head_struct:
+0x6ac3 027950 ifetch 1 ,contr 
+0x6ac4 027951 rshift pdata ,pdata 
+0x6ac5 027952 store 1 ,mem_uih_cmd_type 
+0x6ac6 027953 call get_rfcomm_length_common 
+0x6ac7 027954 storet 2 ,mem_uih_length 
+0x6ac8 027955 copy contr ,pdata 
+0x6ac9 027956 store 2 ,mem_param_payload_ptr 
+0x6aca 027957 rtn 
+:      027960 get_param_payload_ptr:
+0x6acb 027961 fetch 2 ,mem_param_payload_ptr 
+0x6acc 027962 copy pdata ,contr 
+0x6acd 027963 rtn 
+:      027965 get_rfcomm_length_common:
+0x6ace 027966 ifetch 1 ,contr 
+0x6acf 027967 copy pdata ,temp 
+0x6ad0 027968 rshift temp ,temp 
+0x6ad1 027969 rtnbit1 0 
+0x6ad2 027970 ifetch 1 ,contr 
+0x6ad3 027971 lshift3 pdata ,pdata 
+0x6ad4 027972 lshift4 pdata ,pdata 
+0x6ad5 027973 iadd temp ,temp 
+0x6ad6 027974 rtn 
+:      027976 get_rfcomm_prarmer_negotiation:
+0x6ad7 027977 ifetch 1 ,contr 
+0x6ad8 027978 store 1 ,mem_pn_dlci 
+0x6ad9 027979 ifetch 1 ,contr 
+0x6ada 027980 store 1 ,mem_pn_credit_flow_type_info 
+0x6adb 027981 ifetch 1 ,contr 
+0x6adc 027982 store 1 ,mem_pn_priority 
+0x6add 027983 ifetch 1 ,contr 
+0x6ade 027984 store 1 ,mem_pn_acknowledg_timer 
+0x6adf 027985 ifetch 2 ,contr 
+0x6ae0 027986 store 2 ,mem_pn_max_frame_size 
+0x6ae1 027987 ifetch 1 ,contr 
+0x6ae2 027988 store 1 ,mem_pn_max_retrans 
+0x6ae3 027989 ifetch 1 ,contr 
+0x6ae4 027990 store 1 ,mem_remote_credits 
+0x6ae5 027991 rtn 
+:      027994 parse_dlci0_rp_uih_ms_cmd:
+0x6ae6 027995 call get_rfcomm_param_modem_status 
+0x6ae7 027997 branch parse_dlci0_rp_uih_ms_cmd_spp 
+:      027999 parse_dlci0_rp_uih_ms_cmd_spp:
+0x6ae8 028000 fetch 1 ,mem_spp_state 
+0x6ae9 028001 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6aea 028002 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6aeb 028003 store 1 ,mem_spp_state 
+0x6aec 028004 fetcht 1 ,mem_pn_dlci 
+0x6aed 028005 lshift2 temp ,temp 
+0x6aee 028006 or_into 3 ,temp 
+0x6aef 028007 call rfcomm_send_modem_status_res 
+0x6af0 028008 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+0x6af1 028009 branch rfcomm_rx_process_end 
+:      028011 parse_dlci0_rp_uih_ms_res:
+0x6af2 028012 jam bt_evt_spp_connected ,mem_fifo_temp 
+0x6af3 028013 call ui_ipc_send_event 
+0x6af4 028014 call get_rfcomm_param_modem_status 
+0x6af5 028015 fetch 1 ,mem_ms_channel 
+0x6af6 028016 sub pdata ,1 ,null 
+0x6af7 028017 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+0x6af8 028018 branch assert 
+:      028019 parse_dlci0_rp_uih_ms_res_spp:
+0x6af9 028020 fetch 1 ,mem_spp_state 
+0x6afa 028021 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6afb 028022 store 1 ,mem_spp_state 
+0x6afc 028023 branch rfcomm_rx_process_end 
+:      028025 parse_dlci0_rp_uih_cmd_port:
+0x6afd 028026 call get_param_payload_ptr 
+0x6afe 028027 ifetch 1 ,contr 
+0x6aff 028028 store 1 ,mem_rpn_dlci 
+0x6b00 028029 call l2cap_malloc_rfcomm_channel 
+0x6b01 028030 call l2cap_get_rfcomm_tx_buff 
+0x6b02 028031 setarg 0x000e 
+0x6b03 028032 istore 2 ,contw 
+0x6b04 028033 fetch 2 ,mem_rfcomm_remote_cid 
+0x6b05 028034 istore 2 ,contw 
+0x6b06 028035 fetch 1 ,mem_rfcomm_initiator 
+0x6b07 028037 lshift pdata ,pdata 
+0x6b08 028038 set1 0 ,pdata 
+0x6b09 028039 istore 1 ,contw 
+0x6b0a 028040 bpatchx patch34_7 ,mem_patch34 
+0x6b0b 028041 setarg 0x15ef 
+0x6b0c 028042 istore 2 ,contw 
+0x6b0d 028043 setarg 0x1191 
+0x6b0e 028044 istore 2 ,contw 
+0x6b0f 028047 fetch 1 ,mem_rpn_dlci 
+0x6b10 028048 istore 1 ,contw 
+0x6b11 028049 setarg 0x000007 
+0x6b12 028050 istore 5 ,contw 
+0x6b13 028053 setarg 0x01 
+0x6b14 028054 istore 2 ,contw 
+0x6b15 028057 call rfcomm_calculate_fcs_dlci0 
+0x6b16 028058 istore 1 ,contw 
+0x6b17 028059 rtn 
+:      028063 parse_uih_rp:
+0x6b18 028064 branch parse_uih_rp_spp 
+:      028066 parse_uih_rp_spp:
+0x6b19 028067 bpatchx patch35_0 ,mem_patch35 
+0x6b1a 028068 fetch 1 ,mem_current_frame_type 
+0x6b1b 028069 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+0x6b1c 028070 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+0x6b1d 028071 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6b1e 028072 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6b1f 028073 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+0x6b20 028074 rtn 
+:      028075 parse_uih_rp_spp_ua:
+0x6b21 028076 fetch 1 ,mem_spp_state 
+0x6b22 028077 set1 rfcomm_channel_state_ua ,pdata 
+0x6b23 028078 store 1 ,mem_spp_state 
+0x6b24 028079 branch rfcomm_rx_process_end 
+:      028080 parse_uih_rp_spp_sabm:
+0x6b25 028081 fetch 1 ,mem_spp_state 
+0x6b26 028082 set1 rfcomm_channel_state_ua ,pdata 
+0x6b27 028083 set1 rfcomm_channel_state_sabm ,pdata 
+0x6b28 028084 store 1 ,mem_spp_state 
+0x6b29 028085 fetch 1 ,mem_current_adss 
+0x6b2a 028086 call rfcomm_calculate_fcs_ua 
+0x6b2b 028087 store 1 ,mem_current_fcs 
+0x6b2c 028088 call rfcomm_send_ua 
+0x6b2d 028089 fetch 1 ,mem_current_adss 
+0x6b2e 028090 rshift2 pdata ,pdata 
+0x6b2f 028091 store 1 ,mem_pn_dlci 
+0x6b30 028092 lshift2 pdata ,pdata 
+0x6b31 028093 set0 rfcomm_address_cr ,pdata 
+0x6b32 028094 set1 rfcomm_address_ext_len ,pdata 
+0x6b33 028095 arg mem_hiufcs_spp ,temp 
+0x6b34 028096 storet 2 ,mem_contw_temp 
+0x6b35 028097 call rfcomm_save_fcs_uih 
+0x6b36 028098 branch rfcomm_rx_process_end 
+:      028100 parse_uih_spp_uih_credits:
+0x6b37 028101 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b38 028102 copy pdata ,contr 
+0x6b39 028103 increase 1 ,pdata 
+0x6b3a 028104 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b3b 028105 ifetch 1 ,contr 
+0x6b3c 028106 fetcht 1 ,mem_remote_credits 
+0x6b3d 028107 iadd temp ,pdata 
+0x6b3e 028108 store 1 ,mem_remote_credits 
+:      028109 parse_uih_spp_uih:
+0x6b3f 028110 call rfcomm_increase_credit_given 
+:      028111 parse_uih_spp_uih_cont:
+0x6b40 028112 call get_rfcomm_snd_adss 
+0x6b41 028113 call rfcomm_send_uih_without_payload 
+0x6b42 028114 call spp_process_rx_data 
+0x6b43 028115 branch rfcomm_rx_process_end 
+:      028117 parse_uih_rp_spp_disconn_send_event:
+0x6b44 028118 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+0x6b45 028119 call ui_ipc_send_event 
+:      028120 parse_uih_rp_spp_disconn:
+0x6b46 028121 call rfcomm_init_spp 
+0x6b47 028122 fetch 1 ,mem_current_adss 
+0x6b48 028123 call rfcomm_calculate_fcs_ua 
+0x6b49 028124 store 1 ,mem_current_fcs 
+0x6b4a 028125 call rfcomm_send_ua 
+0x6b4b 028126 branch rfcomm_rx_process_end 
+:      028131 rfcomm_rx_process_reconn:
+0x6b4c 028132 fetch 2 ,mem_l2cap_payload_ptr 
+0x6b4d 028133 copy pdata ,contr 
+0x6b4e 028134 call get_rfcomm_head_struct 
+0x6b4f 028135 fetch 1 ,mem_current_channel 
+0x6b50 028136 beq 0 ,parse_dlci0_reconn 
+0x6b51 028137 branch parse_uih_reconn 
+:      028139 parse_dlci0_reconn:
+0x6b52 028140 bpatchx patch35_1 ,mem_patch35 
+0x6b53 028141 fetch 1 ,mem_current_frame_type 
+0x6b54 028142 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6b55 028143 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6b56 028144 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+0x6b57 028145 branch rfcomm_rx_process_end 
+:      028146 parse_dlci0_reconn_uih:
+0x6b58 028147 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b59 028148 copy pdata ,contr 
+0x6b5a 028149 call get_rfcomm_uih_head_struct 
+0x6b5b 028150 fetch 1 ,mem_uih_cmd_type 
+0x6b5c 028151 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+0x6b5d 028152 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+0x6b5e 028153 beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+0x6b5f 028154 beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+0x6b60 028155 branch rfcomm_rx_process_end 
+:      028157 parse_dlci0_reconn_uih_pn_cmd:
+0x6b61 028158 call parse_dlci0_rp_uih_pn_res_common 
+0x6b62 028159 fetch 1 ,mem_pn_dlci 
+0x6b63 028160 rshift pdata ,pdata 
+0x6b64 028161 fetcht 1 ,mem_remote_spp_channel 
+0x6b65 028162 isub temp ,null 
+0x6b66 028163 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+0x6b67 028164 branch assert 
+:      028165 parse_dlci0_reconn_uih_pn_cmd_spp:
+0x6b68 028166 fetch 1 ,mem_spp_state 
+0x6b69 028167 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6b6a 028168 store 1 ,mem_spp_state 
+0x6b6b 028169 branch rfcomm_rx_process_end 
+:      028171 parse_dlci0_reconn_uih_ms_cmd:
+0x6b6c 028172 call get_rfcomm_param_modem_status 
+0x6b6d 028173 fetch 1 ,mem_ms_channel 
+0x6b6e 028174 fetcht 1 ,mem_remote_spp_channel 
+0x6b6f 028175 isub temp ,null 
+0x6b70 028176 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+0x6b71 028177 branch assert 
+0x6b72 028178 branch rfcomm_rx_process_end 
+:      028179 parse_dlci0_reconn_uih_ms_cmd_spp:
+0x6b73 028180 fetch 1 ,mem_spp_state 
+0x6b74 028181 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6b75 028182 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6b76 028183 store 1 ,mem_spp_state 
+0x6b77 028184 fetcht 1 ,mem_pn_dlci 
+0x6b78 028185 lshift2 temp ,temp 
+0x6b79 028186 or_into 3 ,temp 
+0x6b7a 028187 call rfcomm_send_modem_status_res 
+0x6b7b 028188 branch rfcomm_rx_process_end 
+:      028190 parse_dlci0_reconn_uih_ms_res:
+0x6b7c 028191 call get_rfcomm_param_modem_status 
+0x6b7d 028192 fetch 1 ,mem_ms_channel 
+0x6b7e 028193 fetcht 1 ,mem_remote_spp_channel 
+0x6b7f 028194 isub temp ,null 
+0x6b80 028195 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+0x6b81 028196 branch assert 
+:      028197 parse_dlci0_reconn_uih_ms_res_spp:
+0x6b82 028198 fetch 1 ,mem_spp_state 
+0x6b83 028199 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6b84 028200 store 1 ,mem_spp_state 
+0x6b85 028201 branch rfcomm_rx_process_end 
+:      028203 parse_uih_reconn:
+0x6b86 028204 fetch 1 ,mem_current_channel 
+0x6b87 028205 fetcht 1 ,mem_remote_spp_channel 
+0x6b88 028206 isub temp ,null 
+0x6b89 028207 branch parse_uih_reconn_spp ,zero 
+0x6b8a 028208 branch assert 
+0x6b8b 028209 branch rfcomm_rx_process_end 
+:      028211 parse_uih_reconn_spp:
+0x6b8c 028212 fetch 1 ,mem_current_frame_type 
+0x6b8d 028213 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+0x6b8e 028214 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6b8f 028215 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6b90 028216 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+:      028217 parse_uih_reconn_spp_ua:
+0x6b91 028218 fetch 1 ,mem_spp_state 
+0x6b92 028219 set1 rfcomm_channel_state_ua ,pdata 
+0x6b93 028220 store 1 ,mem_spp_state 
+0x6b94 028221 branch rfcomm_rx_process_end 
+:      028222 parse_uih_reconn_spp_sabm:
+0x6b95 028223 branch parse_uih_reconn_spp_sabm 
+:      028224 parse_uih_reconn_spp_disconn:
+0x6b96 028225 branch parse_uih_rp_spp_disconn 
+:      028226 rfcomm_rx_process_end:
+0x6b97 028227 rtn 
+:      028229 rfcomm_send_more_pkt:
+0x6b98 028230 fetch 1 ,mem_rfcomm_send_more_pkt 
+0x6b99 028231 rtn blank 
+0x6b9a 028232 beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+0x6b9b 028233 branch assert 
+:      028235 rfcomm_send_more_pkt_msc_cmd_spp:
+0x6b9c 028236 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6b9d 028237 call l2cap_malloc_rfcomm_channel 
+0x6b9e 028238 arg spp_slave_channel ,temp 
+0x6b9f 028239 fetcht 1 ,mem_pn_dlci 
+0x6ba0 028240 lshift2 temp ,temp 
+:      028241 rfcomm_send_more_pkt_msc_cmd_spp0:
+0x6ba1 028242 or_into 0x03 ,temp 
+0x6ba2 028243 arg 0xaa ,rega 
+0x6ba3 028244 call rfcomm_send_modem_status_cmd 
+0x6ba4 028245 call l2cap_get_rfcomm_tx_buff 
+0x6ba5 028246 copy contw ,contr 
+0x6ba6 028247 ifetch 2 ,contr 
+0x6ba7 028248 branch assert ,blank 
+0x6ba8 028249 rtn 
+:      028251 rfcomm_send_sabm:
+0x6ba9 028252 call l2cap_get_rfcomm_tx_buff 
+0x6baa 028253 setarg 0x0004 
+0x6bab 028254 istore 2 ,contw 
+0x6bac 028255 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bad 028256 istore 2 ,contw 
+0x6bae 028257 fetch 1 ,mem_current_adss 
+0x6baf 028258 istore 1 ,contw 
+0x6bb0 028259 bpatchx patch35_2 ,mem_patch35 
+0x6bb1 028260 setarg 0x013f 
+0x6bb2 028261 istore 2 ,contw 
+0x6bb3 028262 fetch 1 ,mem_current_fcs 
+0x6bb4 028263 istore 1 ,contw 
+0x6bb5 028264 rtn 
+:      028265 rfcomm_send_ua:
+0x6bb6 028266 call l2cap_malloc_rfcomm_channel 
+0x6bb7 028267 call l2cap_get_rfcomm_tx_buff 
+0x6bb8 028268 setarg 0x0004 
+0x6bb9 028269 istore 2 ,contw 
+0x6bba 028270 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bbb 028271 istore 2 ,contw 
+0x6bbc 028272 fetch 1 ,mem_current_adss 
+0x6bbd 028273 istore 1 ,contw 
+0x6bbe 028274 bpatchx patch35_3 ,mem_patch35 
+0x6bbf 028275 setarg 0x0173 
+0x6bc0 028276 istore 2 ,contw 
+0x6bc1 028277 fetch 1 ,mem_current_fcs 
+0x6bc2 028278 istore 1 ,contw 
+0x6bc3 028279 rtn 
+:      028280 rfcomm_send_param_neg_cmd:
+0x6bc4 028281 call l2cap_get_rfcomm_tx_buff 
+0x6bc5 028282 setarg 0x000e 
+0x6bc6 028283 istore 2 ,contw 
+0x6bc7 028284 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bc8 028285 istore 2 ,contw 
+0x6bc9 028286 fetch 1 ,mem_rfcomm_initiator 
+0x6bca 028287 lshift pdata ,pdata 
+0x6bcb 028288 set1 0 ,pdata 
+0x6bcc 028289 istore 1 ,contw 
+0x6bcd 028290 bpatchx patch35_4 ,mem_patch35 
+0x6bce 028291 setarg 0x15ef 
+0x6bcf 028292 istore 2 ,contw 
+0x6bd0 028293 setarg 0x1183 
+0x6bd1 028294 istore 2 ,contw 
+0x6bd2 028295 copy temp ,pdata 
+0x6bd3 028296 istore 1 ,contw 
+0x6bd4 028297 setarg 0x0000f0 
+0x6bd5 028298 istore 3 ,contw 
+0x6bd6 028299 setarg rfcomm_max_frame_size 
+0x6bd7 028300 istore 2 ,contw 
+0x6bd8 028301 setarg 0 
+0x6bd9 028302 istore 1 ,contw 
+0x6bda 028303 setarg 0x01 
+0x6bdb 028304 istore 1 ,contw 
+0x6bdc 028305 call rfcomm_calculate_fcs_dlci0 
+0x6bdd 028306 istore 1 ,contw 
+0x6bde 028307 jam 0x10 ,mem_credit_given 
+0x6bdf 028308 rtn 
+:      028309 rfcomm_send_param_neg_res:
+0x6be0 028310 call l2cap_malloc_rfcomm_channel 
+0x6be1 028311 call l2cap_get_rfcomm_tx_buff 
+0x6be2 028312 setarg 0x000e 
+0x6be3 028313 istore 2 ,contw 
+0x6be4 028314 fetch 2 ,mem_rfcomm_remote_cid 
+0x6be5 028315 istore 2 ,contw 
+0x6be6 028316 fetch 1 ,mem_rfcomm_initiator 
+0x6be7 028317 lshift pdata ,pdata 
+0x6be8 028318 set1 0 ,pdata 
+0x6be9 028319 istore 1 ,contw 
+0x6bea 028320 bpatchx patch35_5 ,mem_patch35 
+0x6beb 028321 setarg 0x15ef 
+0x6bec 028322 istore 2 ,contw 
+0x6bed 028323 setarg 0x1181 
+0x6bee 028324 istore 2 ,contw 
+0x6bef 028325 fetch 1 ,mem_pn_dlci 
+0x6bf0 028326 istore 1 ,contw 
+0x6bf1 028327 setarg 0x0000e0 
+0x6bf2 028328 istore 3 ,contw 
+0x6bf3 028329 fetch 2 ,mem_rfcomm_max_frame_size 
+0x6bf4 028330 istore 2 ,contw 
+0x6bf5 028331 setarg 0x00 
+0x6bf6 028332 istore 1 ,contw 
+0x6bf7 028333 fetch 1 ,mem_rfcomm_credit_init_data 
+0x6bf8 028334 istore 1 ,contw 
+0x6bf9 028335 call rfcomm_calculate_fcs_dlci0 
+0x6bfa 028336 istore 1 ,contw 
+0x6bfb 028337 rtn 
+:      028338 rfcomm_send_modem_status_cmd:
+0x6bfc 028339 call l2cap_get_rfcomm_tx_buff 
+0x6bfd 028340 setarg 0x0008 
+0x6bfe 028341 istore 2 ,contw 
+0x6bff 028342 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c00 028343 istore 2 ,contw 
+0x6c01 028344 fetch 1 ,mem_rfcomm_initiator 
+0x6c02 028345 lshift pdata ,pdata 
+0x6c03 028346 set1 0 ,pdata 
+0x6c04 028347 istore 1 ,contw 
+0x6c05 028348 bpatchx patch35_6 ,mem_patch35 
+0x6c06 028349 setarg 0x09ef 
+0x6c07 028350 istore 2 ,contw 
+0x6c08 028351 setarg 0x05e3 
+0x6c09 028352 istore 2 ,contw 
+0x6c0a 028353 copy temp ,pdata 
+0x6c0b 028354 istore 1 ,contw 
+0x6c0c 028355 setarg 0x8d 
+0x6c0d 028356 istore 1 ,contw 
+0x6c0e 028357 call rfcomm_calculate_fcs_dlci0 
+0x6c0f 028358 istore 1 ,contw 
+0x6c10 028359 rtn 
+:      028361 rfcomm_send_modem_status_res:
+0x6c11 028362 call l2cap_malloc_rfcomm_channel 
+0x6c12 028363 call l2cap_get_rfcomm_tx_buff 
+0x6c13 028364 setarg 0x0008 
+0x6c14 028365 istore 2 ,contw 
+0x6c15 028366 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c16 028367 istore 2 ,contw 
+0x6c17 028368 copy temp ,timeup 
+0x6c18 028369 fetch 1 ,mem_rfcomm_initiator 
+0x6c19 028370 lshift pdata ,pdata 
+0x6c1a 028371 set1 0 ,pdata 
+0x6c1b 028372 istore 1 ,contw 
+0x6c1c 028373 bpatchx patch35_7 ,mem_patch35 
+0x6c1d 028374 setarg 0x09ef 
+0x6c1e 028375 istore 2 ,contw 
+0x6c1f 028376 setarg 0x05e1 
+0x6c20 028377 istore 2 ,contw 
+0x6c21 028378 copy timeup ,pdata 
+0x6c22 028379 istore 1 ,contw 
+0x6c23 028380 setarg 0x8d 
+0x6c24 028381 istore 1 ,contw 
+0x6c25 028382 call rfcomm_calculate_fcs_dlci0 
+0x6c26 028383 istore 1 ,contw 
+0x6c27 028384 rtn 
+:      028386 rfcomm_send_uih_without_payload:
+0x6c28 028387 bpatchx patch36_0 ,mem_patch36 
+0x6c29 028388 fetch 1 ,mem_credit_given 
+0x6c2a 028389 rtn blank 
+0x6c2b 028390 hfetch 2 ,core_uart_rxitems 
+0x6c2c 028391 nrtn blank 
+0x6c2d 028392 copy rega ,pdata 
+0x6c2e 028393 store 1 ,mem_pdatatemp + 1 
+0x6c2f 028394 storet 1 ,mem_pdatatemp 
+0x6c30 028395 call l2cap_malloc_is_fifo_full 
+0x6c31 028396 nrtn blank 
+0x6c32 028397 call l2cap_malloc_rfcomm_channel 
+0x6c33 028398 call l2cap_get_rfcomm_tx_buff 
+0x6c34 028399 setarg 0x05 
+0x6c35 028400 istore 2 ,contw 
+0x6c36 028401 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c37 028402 istore 2 ,contw 
+0x6c38 028403 fetch 1 ,mem_rfcomm_send_adss 
+0x6c39 028404 istore 1 ,contw 
+0x6c3a 028405 setarg 0x01ff 
+0x6c3b 028406 istore 2 ,contw 
+0x6c3c 028407 fetch 1 ,mem_credit_given 
+0x6c3d 028408 istore 1 ,contw 
+0x6c3e 028409 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6c3f 028410 istore 1 ,contw 
+0x6c40 028411 jam 0 ,mem_credit_given 
+0x6c41 028412 rtn 
+:      028414 rfcomm_increase_credit_given:
+0x6c42 028415 bpatchx patch36_1 ,mem_patch36 
+0x6c43 028416 fetch 1 ,mem_credit_flag 
+0x6c44 028417 rtneq credit_enable 
+0x6c45 028418 fetch 2 ,mem_current_length 
+0x6c46 028419 rtn blank 
+0x6c47 028420 fetch 1 ,mem_credit_given 
+0x6c48 028421 increase 1 ,pdata 
+0x6c49 028422 store 1 ,mem_credit_given 
+0x6c4a 028423 rtn 
+:      028425 spp_process_rx_data:
+0x6c4b 028426 fetch 2 ,mem_cb_receive_spp_data 
+0x6c4c 028427 branch callback_func 
+:      028429 spp_tx_rfcomm_packet:
+0x6c4d 028430 bpatchx patch36_2 ,mem_patch36 
+0x6c4e 028432 fetch 1 ,mem_remote_credits 
+0x6c4f 028433 rtn blank 
+0x6c50 028434 increase -1 ,pdata 
+0x6c51 028435 store 1 ,mem_remote_credits 
+0x6c52 028436 fetch 2 ,mem_pn_max_frame_size 
+0x6c53 028437 fetcht 2 ,mem_current_packet_length 
+0x6c54 028438 isub temp ,null 
+0x6c55 028439 branch ssp_tx_rfcomm_from_uart ,positive 
+0x6c56 028440 store 2 ,mem_current_packet_length 
+:      028441 ssp_tx_rfcomm_from_uart:
+0x6c57 028442 fetch 1 ,mem_credit_given 
+0x6c58 028443 branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+0x6c59 028444 jam 1 ,mem_rfcomm_send_offset 
+0x6c5a 028445 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6c5b 028446 store 1 ,mem_rfcomm_send_fcs 
+0x6c5c 028447 setarg rsp_rx_uih_wdata 
+0x6c5d 028448 store 1 ,mem_rfcomm_send_frame_type 
+0x6c5e 028449 branch ssp_tx_rfcomm_from_uart_common 
+:      028450 ssp_tx_rfcomm_from_uart_without_credit:
+0x6c5f 028451 jam 0 ,mem_rfcomm_send_offset 
+0x6c60 028452 fetch 1 ,mem_hiufcs_spp 
+0x6c61 028453 store 1 ,mem_rfcomm_send_fcs 
+0x6c62 028454 setarg rsp_tx_uih 
+0x6c63 028455 store 1 ,mem_rfcomm_send_frame_type 
+:      028456 ssp_tx_rfcomm_from_uart_common:
+0x6c64 028457 bpatchx patch36_3 ,mem_patch36 
+0x6c65 028458 fetch 2 ,mem_current_packet_length 
+0x6c66 028459 sub pdata ,127 ,null 
+0x6c67 028460 branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+0x6c68 028461 fetch 1 ,mem_rfcomm_send_offset 
+0x6c69 028462 increase 1 ,pdata 
+0x6c6a 028463 store 1 ,mem_rfcomm_send_offset 
+:      028464 ssp_tx_rfcomm_from_uart_common0:
+0x6c6b 028465 call get_rfcomm_snd_adss 
+0x6c6c 028466 fetch 2 ,mem_current_packet_length 
+0x6c6d 028467 increase 8 ,pdata 
+0x6c6e 028468 fetcht 1 ,mem_rfcomm_send_offset 
+0x6c6f 028469 iadd temp ,rega 
+0x6c70 028471 call l2cap_malloc 
+0x6c71 028472 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x6c72 028473 increase 4 ,pdata 
+0x6c73 028474 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x6c74 028475 copy pdata ,contw 
+0x6c75 028476 fetch 1 ,mem_rfcomm_send_adss 
+0x6c76 028477 istore 1 ,contw 
+0x6c77 028478 fetch 1 ,mem_rfcomm_send_frame_type 
+0x6c78 028479 istore 1 ,contw 
+0x6c79 028480 call ssp_tx_write_length 
+0x6c7a 028481 call ssp_tx_write_given_credit 
+0x6c7b 028482 bpatchx patch36_4 ,mem_patch36 
+0x6c7c 028483 fetch 2 ,mem_nl_rx_data_src 
+0x6c7d 028484 copy pdata ,contru 
+0x6c7e 028485 fetch 2 ,mem_current_packet_length 
+0x6c7f 028486 copy pdata ,loopcnt 
+0x6c80 028487 call uart_copy_rx_bytes_fast 
+0x6c81 028488 copy contw ,temp 
+0x6c82 028489 copy contru ,pdata 
+0x6c83 028490 store 2 ,mem_nl_rx_data_src 
+0x6c84 028491 copy temp ,contw 
+0x6c85 028492 fetch 1 ,mem_rfcomm_send_fcs 
+0x6c86 028493 istore 1 ,contw 
+0x6c87 028494 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x6c88 028495 copy pdata ,contw 
+0x6c89 028496 fetch 2 ,mem_current_packet_length 
+0x6c8a 028497 fetcht 1 ,mem_rfcomm_send_offset 
+0x6c8b 028498 iadd temp ,pdata 
+0x6c8c 028499 increase 4 ,pdata 
+0x6c8d 028500 istore 2 ,contw 
+0x6c8e 028501 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c8f 028502 istore 2 ,contw 
+0x6c90 028503 jam 0 ,mem_credit_given 
+0x6c91 028504 fetch 2 ,mem_nl_rx_len_all 
+0x6c92 028505 beq 0 ,module_hci_command_tx_spp_tx_complete 
+0x6c93 028506 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x6c94 028507 rtn 
+:      028509 ssp_tx_write_length:
+0x6c95 028510 bpatchx patch36_5 ,mem_patch36 
+0x6c96 028511 fetch 2 ,mem_current_packet_length 
+0x6c97 028512 sub pdata ,0x7f ,null 
+0x6c98 028513 nbranch ssp_tx_write_long_packet ,positive 
+0x6c99 028514 lshift pdata ,pdata 
+0x6c9a 028515 set1 0 ,pdata 
+0x6c9b 028516 istore 1 ,contw 
+0x6c9c 028517 rtn 
+:      028518 ssp_tx_write_long_packet:
+0x6c9d 028519 fetch 2 ,mem_current_packet_length 
+0x6c9e 028520 rshift3 pdata ,pdata 
+0x6c9f 028521 rshift4 pdata ,temp 
+0x6ca0 028522 and_into 0x7f ,pdata 
+0x6ca1 028523 lshift pdata ,pdata 
+0x6ca2 028524 set0 0 ,pdata 
+0x6ca3 028525 istore 1 ,contw 
+0x6ca4 028526 istoret 1 ,contw 
+0x6ca5 028527 rtn 
+:      028528 ssp_tx_write_given_credit:
+0x6ca6 028529 fetch 1 ,mem_credit_given 
+0x6ca7 028530 rtn blank 
+0x6ca8 028531 istore 1 ,contw 
+0x6ca9 028532 rtn 
+:      028537 scheduler_process:
+0x6caa 028538 bpatchx patch36_6 ,mem_patch36 
+0x6cab 028539 call check_51cmd 
+0x6cac 028540 call app_process_bb_event 
+0x6cad 028541 call process_conn_sm 
+0x6cae 028543 bpatchx patch36_7 ,mem_patch36 
+0x6caf 028544 call sp_calc_sequence 
+0x6cb0 028545 call simple_pairing_sequence 
+0x6cb1 028546 call master_simple_paring_sequence 
+0x6cb2 028549 call l2cap_malloc_is_fifo_full 
+0x6cb3 028550 nrtn blank 
+0x6cb4 028552 call l2cap_call_proc_sigal_pending 
+0x6cb5 028553 call l2cap_malloc_is_fifo_full 
+0x6cb6 028554 nrtn blank 
+0x6cb7 028555 bpatchx patch37_0 ,mem_patch37 
+0x6cb8 028557 call process_upper_sm 
+0x6cb9 028558 call l2cap_send_config_req 
+0x6cba 028559 call rfcomm_send_more_pkt 
+:      028560 scheduler_process0:
+0x6cbb 028561 call scheduler_tx_disconnect_hid 
+0x6cbc 028562 bpatchx patch37_1 ,mem_patch37 
+0x6cbd 028565 branch app_process_bt 
+:      028567 scheduler_tx_disconnect_hid:
+0x6cbe 028568 fetch 1 ,mem_control_tasks 
+0x6cbf 028569 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+0x6cc0 028570 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+0x6cc1 028571 rtn 
+:      028573 scheduler_tx_l2cap_pkt:
+0x6cc2 028574 bpatchx patch37_2 ,mem_patch37 
+0x6cc3 028575 call l2cap_malloc_is_fifo_empty 
+0x6cc4 028576 rtn blank 
+0x6cc5 028577 fetch 1 ,mem_op 
+0x6cc6 028578 rtnbit1 op_txl2cap 
+0x6cc7 028579 call l2cap_malloc_fifo_out 
+0x6cc8 028580 store 2 ,mem_txptr 
+0x6cc9 028581 copy pdata ,contr 
+0x6cca 028582 ifetch 2 ,contr 
+0x6ccb 028583 increase 4 ,pdata 
+0x6ccc 028584 store 2 ,mem_tx_len 
+0x6ccd 028585 jam 6 ,mem_tx_lch 
+0x6cce 028586 bpatchx patch37_3 ,mem_patch37 
+0x6ccf 028587 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6cd0 028588 branch scheduler_tx_l2cap_start_pkt ,blank 
+0x6cd1 028589 fetch 1 ,mem_op 
+0x6cd2 028590 rtnbit0 op_pkt_comp 
+0x6cd3 028591 set0 op_pkt_comp ,pdata 
+0x6cd4 028592 store 1 ,mem_op 
+0x6cd5 028593 jam 5 ,mem_tx_lch 
+0x6cd6 028594 fetcht 2 ,mem_l2cap_tx_multi_offset 
+0x6cd7 028595 fetch 2 ,mem_txptr 
+0x6cd8 028596 iadd temp ,pdata 
+0x6cd9 028597 store 2 ,mem_txptr 
+0x6cda 028598 fetch 2 ,mem_tx_len 
+0x6cdb 028599 isub temp ,pdata 
+0x6cdc 028600 store 2 ,mem_tx_len 
+:      028601 scheduler_tx_l2cap_start_pkt:
+0x6cdd 028602 bpatchx patch37_4 ,mem_patch37 
+0x6cde 028603 fetch 2 ,mem_tx_len 
+0x6cdf 028604 branch assert ,blank 
+0x6ce0 028605 arg l2cap_max_pkt_len ,temp 
+0x6ce1 028606 isub temp ,pdata 
+0x6ce2 028607 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+0x6ce3 028608 bpatchx patch37_5 ,mem_patch37 
+0x6ce4 028609 storet 2 ,mem_tx_len 
+0x6ce5 028610 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6ce6 028611 iadd temp ,pdata 
+0x6ce7 028612 store 2 ,mem_l2cap_tx_multi_offset 
+0x6ce8 028613 branch scheduler_tx_l2cap_pkt_end 
+:      028614 scheduler_tx_l2cap_last_pkt:
+0x6ce9 028615 setarg 0 
+0x6cea 028616 store 2 ,mem_l2cap_tx_multi_offset 
+:      028617 scheduler_tx_l2cap_pkt_end:
+0x6ceb 028618 fetch 1 ,mem_op 
+0x6cec 028619 set1 op_txl2cap ,pdata 
+0x6ced 028620 store 1 ,mem_op 
+0x6cee 028621 rtn 
+:      028623 scheduler_start_upper_sm:
+0x6cef 028624 fetch 1 ,mem_ui_profile_supported 
+0x6cf0 028625 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+0x6cf1 028626 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+0x6cf2 028627 rtn 
+:      028628 scheduler_start_upper_sm_hid:
+0x6cf3 028629 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6cf4 028630 rtn 
+:      028632 process_upper_sm:
+0x6cf5 028633 fetch 1 ,memui_reconnect_mode 
+0x6cf6 028634 nbranch process_upper_sm_reconn ,blank 
+:      028635 process_upper_sm_remote_page:
+0x6cf7 028636 fetch 1 ,mem_upper_sm_remote_page 
+0x6cf8 028638 rtn blank 
+0x6cf9 028640 jam 0 ,mem_upper_sm_remote_page 
+:      028641 process_upper_sm_rp_wait:
+0x6cfa 028642 rtn 
+:      028645 process_upper_sm_reconn:
+0x6cfb 028646 bpatchx patch37_6 ,mem_patch37 
+0x6cfc 028647 fetch 1 ,mem_upper_sm_reconn 
+0x6cfd 028648 rtn blank 
+0x6cfe 028649 beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+0x6cff 028650 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+0x6d00 028651 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+0x6d01 028652 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+0x6d02 028653 beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+0x6d03 028654 beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+0x6d04 028655 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+0x6d05 028656 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+0x6d06 028657 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+0x6d07 028658 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+0x6d08 028659 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+0x6d09 028660 beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+0x6d0a 028661 beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+0x6d0b 028662 beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+0x6d0c 028663 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+0x6d0d 028664 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+0x6d0e 028665 beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+0x6d0f 028666 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+0x6d10 028667 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+0x6d11 028668 beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+0x6d12 028669 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+0x6d13 028670 beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+0x6d14 028671 beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+0x6d15 028672 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+0x6d16 028673 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+0x6d17 028674 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+0x6d18 028675 beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+0x6d19 028676 beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+:      028677 process_upper_sm_reconn_wait:
+0x6d1a 028678 rtn 
+:      028679 process_upper_sm_reconn_sdp_conn:
+0x6d1b 028680 call upper_sm_send_sdp_conn 
+0x6d1c 028681 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+0x6d1d 028682 fetch 1 ,mem_sdp_state 
+0x6d1e 028683 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d1f 028684 store 1 ,mem_sdp_state 
+0x6d20 028685 rtn 
+:      028686 process_upper_sm_reconn_sdp_cfg:
+0x6d21 028687 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6d22 028688 fetch 1 ,mem_sdp_state 
+0x6d23 028689 rtnbit1 l2cap_channel_state_snd_cfg_req 
+0x6d24 028690 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6d25 028691 call upper_sm_send_sdp_cfg 
+0x6d26 028692 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6d27 028693 fetch 1 ,mem_sdp_state 
+0x6d28 028694 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d29 028695 store 1 ,mem_sdp_state 
+0x6d2a 028696 rtn 
+:      028697 process_upper_sm_reconn_ss_spp:
+0x6d2b 028698 call l2cap_malloc_is_fifo_empty 
+0x6d2c 028699 nrtn blank 
+0x6d2d 028700 call upper_sm_send_ss_spp 
+0x6d2e 028701 jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+0x6d2f 028702 rtn 
+:      028703 process_upper_sm_reconn_sdp_disconn:
+0x6d30 028704 call upper_sm_send_sdp_disconn 
+0x6d31 028705 jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+0x6d32 028706 rtn 
+:      028707 process_upper_sm_reconn_hid_ctrl_conn:
+0x6d33 028708 call upper_sm_send_hid_ctrl_conn 
+0x6d34 028709 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+0x6d35 028710 fetch 1 ,mem_hid_control_state 
+0x6d36 028711 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d37 028712 store 1 ,mem_hid_control_state 
+0x6d38 028713 rtn 
+:      028714 process_upper_sm_reconn_hid_ctrl_cfg:
+0x6d39 028715 call upper_sm_send_hid_ctrl_cfg 
+0x6d3a 028716 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+0x6d3b 028717 fetch 1 ,mem_hid_control_state 
+0x6d3c 028718 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d3d 028719 store 1 ,mem_hid_control_state 
+0x6d3e 028720 rtn 
+:      028721 process_upper_sm_reconn_hid_int_conn:
+0x6d3f 028722 call upper_sm_send_hid_int_conn 
+0x6d40 028723 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+0x6d41 028724 fetch 1 ,mem_hid_interrupt_state 
+0x6d42 028725 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d43 028726 store 1 ,mem_hid_interrupt_state 
+0x6d44 028727 rtn 
+:      028728 process_upper_sm_reconn_hid_int_cfg:
+0x6d45 028729 call upper_sm_send_hid_int_cfg 
+0x6d46 028730 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+0x6d47 028731 fetch 1 ,mem_hid_interrupt_state 
+0x6d48 028732 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d49 028733 store 1 ,mem_hid_interrupt_state 
+0x6d4a 028734 rtn 
+:      028735 process_upper_sm_reconn_rfcomm_conn:
+0x6d4b 028736 call upper_sm_send_rfcomm_conn 
+0x6d4c 028737 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+0x6d4d 028738 fetch 1 ,mem_rfcomm_state 
+0x6d4e 028739 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d4f 028740 store 1 ,mem_rfcomm_state 
+0x6d50 028741 rtn 
+:      028742 process_upper_sm_reconn_rfcomm_cfg:
+0x6d51 028743 call upper_sm_send_rfcomm_cfg 
+0x6d52 028744 jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+0x6d53 028745 fetch 1 ,mem_rfcomm_state 
+0x6d54 028746 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d55 028747 store 1 ,mem_rfcomm_state 
+0x6d56 028748 rtn 
+:      028749 process_upper_sm_reconn_rfcomm_sabm:
+0x6d57 028750 call upper_sm_send_rfcomm_sabm 
+0x6d58 028751 jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+0x6d59 028752 fetch 1 ,mem_rfcomm_state 
+0x6d5a 028753 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6d5b 028754 store 1 ,mem_rfcomm_state 
+0x6d5c 028755 rtn 
+:      028756 process_upper_sm_reconn_spp_cmd_pn:
+0x6d5d 028757 call upper_sm_send_spp_cmd_pn 
+0x6d5e 028758 fetch 1 ,mem_spp_state 
+0x6d5f 028759 set1 rfcomm_channel_state_pn_cmd 
+0x6d60 028760 store 1 ,mem_spp_state 
+0x6d61 028761 jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+0x6d62 028762 rtn 
+:      028763 process_upper_sm_reconn_spp_sabm:
+0x6d63 028764 call upper_sm_send_spp_sabm 
+0x6d64 028765 fetch 1 ,mem_spp_state 
+0x6d65 028766 set1 rfcomm_channel_state_sabm 
+0x6d66 028767 store 1 ,mem_spp_state 
+0x6d67 028768 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+0x6d68 028769 fetch 1 ,mem_remote_spp_channel 
+0x6d69 028770 lshift3 pdata ,pdata 
+0x6d6a 028771 or_into 3 ,pdata 
+0x6d6b 028772 arg mem_hiufcs_spp ,temp 
+0x6d6c 028773 storet 2 ,mem_contw_temp 
+0x6d6d 028774 branch rfcomm_save_fcs_uih 
+:      028775 process_upper_sm_reconn_spp_cmd_ms:
+0x6d6e 028776 call upper_sm_send_spp_cmd_ms 
+0x6d6f 028777 fetch 1 ,mem_spp_state 
+0x6d70 028778 set1 rfcomm_channel_state_snd_ms_cmd 
+0x6d71 028779 store 1 ,mem_spp_state 
+0x6d72 028780 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+0x6d73 028781 rtn 
+:      028783 process_upper_sm_reconn_sdp_conn_wait:
+0x6d74 028784 fetch 1 ,mem_sdp_state 
+0x6d75 028785 rtnbit0 l2cap_channel_state_conn_res 
+0x6d76 028786 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6d77 028787 branch process_upper_sm_reconn 
+:      028788 process_upper_sm_reconn_sdp_cfg_wait:
+0x6d78 028789 fetch 1 ,mem_sdp_state 
+0x6d79 028790 rtnne l2cap_channel_setup_complete 
+0x6d7a 028791 jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+:      028792 process_upper_sm_reconn_ss_spp_wait:
+0x6d7b 028793 fetch 1 ,mem_message_to_uppersm 
+0x6d7c 028794 rtnne recieve_ss_reasult_hf 
+0x6d7d 028795 jam 0 ,mem_message_to_uppersm 
+0x6d7e 028796 jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+0x6d7f 028797 branch process_upper_sm_reconn 
+:      028798 process_upper_sm_reconn_sdp_disconn_wait:
+0x6d80 028799 fetch 1 ,mem_sdp_state 
+0x6d81 028800 nrtn blank 
+0x6d82 028801 fetch 1 ,mem_ui_profile_supported 
+0x6d83 028802 bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+0x6d84 028803 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6d85 028804 branch process_upper_sm_reconn_termination 
+:      028805 process_upper_sm_reconn_hid_ctrl_conn_wait:
+0x6d86 028806 fetch 1 ,mem_hid_control_state 
+0x6d87 028807 rtnbit0 l2cap_channel_state_conn_res 
+0x6d88 028808 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+0x6d89 028809 branch process_upper_sm_reconn 
+:      028810 process_upper_sm_reconn_hid_ctrl_cfg_wait:
+0x6d8a 028811 fetch 1 ,mem_hid_control_state 
+0x6d8b 028812 rtnne l2cap_channel_setup_complete 
+0x6d8c 028813 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+0x6d8d 028814 branch process_upper_sm_reconn 
+:      028815 process_upper_sm_reconn_hid_int_conn_wait:
+0x6d8e 028816 fetch 1 ,mem_hid_interrupt_state 
+0x6d8f 028817 rtnbit0 l2cap_channel_state_conn_res 
+0x6d90 028818 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+0x6d91 028819 branch process_upper_sm_reconn 
+:      028820 process_upper_sm_reconn_hid_int_cfg_wait:
+0x6d92 028821 fetch 1 ,mem_hid_interrupt_state 
+0x6d93 028822 rtnne l2cap_channel_setup_complete 
+0x6d94 028823 fetch 1 ,mem_ui_profile_supported 
+0x6d95 028824 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6d96 028825 branch process_upper_sm_reconn_termination 
+:      028826 process_upper_sm_reconn_rfcomm_conn_wait:
+0x6d97 028827 fetch 1 ,mem_rfcomm_state 
+0x6d98 028828 rtnbit0 l2cap_channel_state_conn_res 
+0x6d99 028829 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+0x6d9a 028830 branch process_upper_sm_reconn 
+:      028831 process_upper_sm_reconn_rfcomm_cfg_wait:
+0x6d9b 028832 fetch 1 ,mem_rfcomm_state 
+0x6d9c 028833 rtnne l2cap_channel_setup_complete 
+0x6d9d 028834 jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+0x6d9e 028835 branch process_upper_sm_reconn 
+:      028836 process_upper_sm_reconn_rfcomm_sabm_wait:
+0x6d9f 028837 fetch 1 ,mem_rfcomm_state 
+0x6da0 028838 rtnne l2cap_channel_rfcomm_dlci0_opened 
+0x6da1 028839 fetch 1 ,mem_ui_profile_supported 
+0x6da2 028840 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+0x6da3 028841 branch process_upper_sm_reconn_termination 
+:      028842 process_upper_sm_reconn_spp_cmd_pn_wait:
+0x6da4 028843 fetch 1 ,mem_spp_state 
+0x6da5 028844 rtnbit0 rfcomm_channel_state_pn_res 
+0x6da6 028845 jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+0x6da7 028846 branch process_upper_sm_reconn 
+:      028847 process_upper_sm_reconn_spp_sabm_wait:
+0x6da8 028848 fetch 1 ,mem_spp_state 
+0x6da9 028849 rtnbit0 rfcomm_channel_state_ua 
+0x6daa 028850 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+0x6dab 028851 branch process_upper_sm_reconn 
+:      028852 process_upper_sm_reconn_spp_cmd_ms_wait:
+0x6dac 028853 fetch 1 ,mem_spp_state 
+0x6dad 028854 rtnne rfcomm_channel_setup_complete 
+0x6dae 028855 branch process_upper_sm_reconn_termination 
+:      028857 process_upper_sm_reconn_setup_hid:
+0x6daf 028858 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6db0 028859 branch process_upper_sm_reconn 
+:      028861 process_upper_sm_reconn_setup_rfcomm:
+0x6db1 028862 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+0x6db2 028863 branch process_upper_sm_reconn 
+:      028864 process_upper_sm_reconn_setup_spp:
+0x6db3 028865 jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+0x6db4 028866 branch process_upper_sm_reconn 
+:      028870 process_upper_sm_reconn_termination:
+0x6db5 028871 jam 0 ,mem_upper_sm_reconn 
+0x6db6 028872 rtn 
+:      028873 upper_sm_send_sdp_conn:
+0x6db7 028874 bpatchx patch37_7 ,mem_patch37 
+0x6db8 028875 call l2cap_malloc_signal_channel 
+0x6db9 028876 setarg psm_sdp 
+0x6dba 028877 copy pdata ,temp 
+0x6dbb 028878 setarg l2cap_sdp_channel 
+0x6dbc 028879 copy pdata ,timeup 
+0x6dbd 028880 branch ml2cap_send_signal_connect_req 
+:      028882 upper_sm_send_sdp_cfg:
+0x6dbe 028883 bpatchx patch38_0 ,mem_patch38 
+0x6dbf 028884 call l2cap_malloc_signal_channel 
+0x6dc0 028885 fetch 2 ,mem_sdp_remote_cid 
+0x6dc1 028886 copy pdata ,temp 
+0x6dc2 028887 branch ml2cap_send_signal_config_req 
+:      028889 upper_sm_send_sdp_disconn:
+0x6dc3 028890 bpatchx patch38_1 ,mem_patch38 
+0x6dc4 028891 call l2cap_malloc_signal_channel 
+0x6dc5 028892 fetch 2 ,mem_sdp_remote_cid 
+0x6dc6 028893 copy pdata ,temp 
+0x6dc7 028894 arg l2cap_sdp_channel ,timeup 
+0x6dc8 028895 call ml2cap_send_signal_disconn_req 
+0x6dc9 028896 fetch 1 ,mem_sdp_state 
+0x6dca 028897 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x6dcb 028898 store 1 ,mem_sdp_state 
+0x6dcc 028899 rtn 
+:      028901 upper_sm_send_ss_spp:
+0x6dcd 028902 bpatchx patch38_2 ,mem_patch38 
+0x6dce 028903 call l2cap_malloc_sdp_channel 
+0x6dcf 028904 call sdp_send_spp_request 
+0x6dd0 028905 branch msdp_send_req_done 
+:      028907 upper_sm_send_rfcomm_conn:
+0x6dd1 028908 bpatchx patch38_3 ,mem_patch38 
+0x6dd2 028909 call l2cap_malloc_signal_channel 
+0x6dd3 028910 setarg psm_rfcomm 
+0x6dd4 028911 copy pdata ,temp 
+0x6dd5 028912 setarg l2cap_rfcomm_channel 
+0x6dd6 028913 copy pdata ,timeup 
+0x6dd7 028914 branch ml2cap_send_signal_connect_req 
+:      028916 upper_sm_send_rfcomm_cfg:
+0x6dd8 028917 bpatchx patch38_4 ,mem_patch38 
+0x6dd9 028918 call l2cap_malloc_signal_channel 
+0x6dda 028919 fetch 2 ,mem_rfcomm_remote_cid 
+0x6ddb 028920 copy pdata ,temp 
+0x6ddc 028921 branch ml2cap_send_signal_config_req 
+:      028923 upper_sm_send_hid_ctrl_conn:
+0x6ddd 028924 bpatchx patch38_5 ,mem_patch38 
+0x6dde 028925 call l2cap_malloc_signal_channel 
+0x6ddf 028926 setarg psm_hid_control 
+0x6de0 028927 copy pdata ,temp 
+0x6de1 028928 setarg l2cap_hid_control_channel 
+0x6de2 028929 copy pdata ,timeup 
+0x6de3 028930 branch ml2cap_send_signal_connect_req 
+:      028932 upper_sm_send_hid_ctrl_cfg:
+0x6de4 028933 bpatchx patch38_6 ,mem_patch38 
+0x6de5 028934 call l2cap_malloc_signal_channel 
+0x6de6 028935 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x6de7 028936 copy pdata ,temp 
+0x6de8 028937 branch ml2cap_send_signal_config_req 
+:      028939 upper_sm_send_hid_int_conn:
+0x6de9 028940 bpatchx patch38_7 ,mem_patch38 
+0x6dea 028941 call l2cap_malloc_signal_channel 
+0x6deb 028942 setarg psm_hid_interrupt 
+0x6dec 028943 copy pdata ,temp 
+0x6ded 028944 setarg l2cap_hid_interrupt_channel 
+0x6dee 028945 copy pdata ,timeup 
+0x6def 028946 branch ml2cap_send_signal_connect_req 
+:      028948 upper_sm_send_hid_int_cfg:
+0x6df0 028949 bpatchx patch39_0 ,mem_patch39 
+0x6df1 028950 call l2cap_malloc_signal_channel 
+0x6df2 028951 fetch 2 ,mem_hid_int_remote_cid 
+0x6df3 028952 copy pdata ,temp 
+0x6df4 028953 branch ml2cap_send_signal_config_req 
+:      028955 upper_sm_send_rfcomm_sabm:
+0x6df5 028956 bpatchx patch39_1 ,mem_patch39 
+0x6df6 028957 call l2cap_malloc_rfcomm_channel 
+0x6df7 028959 jam 3 ,mem_current_adss 
+0x6df8 028960 jam 0x1c ,mem_current_fcs 
+0x6df9 028961 call rfcomm_send_sabm 
+0x6dfa 028962 jam 1 ,mem_rfcomm_initiator 
+0x6dfb 028963 rtn 
+:      028965 upper_sm_send_spp_cmd_pn:
+0x6dfc 028966 bpatchx patch39_2 ,mem_patch39 
+0x6dfd 028967 call l2cap_malloc_rfcomm_channel 
+0x6dfe 028968 fetcht 1 ,mem_remote_spp_channel 
+0x6dff 028969 call channel_to_dlci 
+0x6e00 028970 storet 1 ,mem_pn_dlci 
+0x6e01 028971 branch rfcomm_send_param_neg_cmd 
+:      028973 upper_sm_send_spp_sabm:
+0x6e02 028974 bpatchx patch39_3 ,mem_patch39 
+0x6e03 028975 call l2cap_malloc_rfcomm_channel 
+0x6e04 028976 fetcht 1 ,mem_pn_dlci 
+0x6e05 028977 call dlci_to_address_cmd 
+0x6e06 028978 call rfcomm_calculate_fcs_sabm 
+0x6e07 028979 store 1 ,mem_current_fcs 
+0x6e08 028980 fetcht 1 ,mem_pn_dlci 
+0x6e09 028981 call dlci_to_address_cmd 
+0x6e0a 028982 storet 1 ,mem_current_adss 
+0x6e0b 028983 branch rfcomm_send_sabm 
+:      028985 upper_sm_send_spp_cmd_ms:
+0x6e0c 028986 bpatchx patch39_4 ,mem_patch39 
+0x6e0d 028987 call l2cap_malloc_rfcomm_channel 
+0x6e0e 028988 fetcht 1 ,mem_pn_dlci 
+0x6e0f 028989 call dlci_to_address_cmd 
+0x6e10 028990 branch rfcomm_send_modem_status_cmd 
+:      029003 sdp_process:
+0x6e11 029004 bpatchx patch39_5 ,mem_patch39 
+0x6e12 029005 fetch 2 ,mem_l2cap_payload_ptr 
+0x6e13 029006 iforce contr 
+0x6e14 029009 ifetch 1 ,contr 
+0x6e15 029010 copy pdata ,regb 
+0x6e16 029011 store 1 ,mem_sdp_pduid 
+0x6e17 029012 ifetch 2 ,contr 
+0x6e18 029013 store 2 ,mem_sdp_transactionid 
+0x6e19 029014 ifetch 1 ,contr 
+0x6e1a 029015 lshift8 pdata ,timeup 
+0x6e1b 029016 ifetch 1 ,contr 
+0x6e1c 029017 iadd timeup ,timeup 
+0x6e1d 029018 bpatchx patch39_6 ,mem_patch39 
+0x6e1e 029019 copy contr ,temp 
+0x6e1f 029020 arg 4 ,loopcnt 
+0x6e20 029021 arg mem_sdp_handle_list ,contw 
+0x6e21 029022 call memset0 
+0x6e22 029023 copy temp ,contr 
+0x6e23 029024 deposit regb 
+0x6e24 029025 beq sdp_error_res ,sdp_process_error_res 
+0x6e25 029026 beq sdp_search_req ,sdp_process_ss_req 
+0x6e26 029027 beq sdp_search_res ,sdp_process_ss_res 
+0x6e27 029028 beq sdp_attribute_req ,sdp_process_sa_req 
+0x6e28 029029 beq sdp_attribute_res ,sdp_process_sa_res 
+0x6e29 029030 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+0x6e2a 029031 beq sdp_searchattrib_res ,sdp_process_ssa_res 
+0x6e2b 029032 branch sdp_insufficient_resource 
+:      029043 sdp_process_ss_req:
+0x6e2c 029044 bpatchx patch39_7 ,mem_patch39 
+0x6e2d 029045 call ask_serviceclassid 
+0x6e2e 029046 compare 1 ,temp ,0xff 
+0x6e2f 029047 branch ss_empty_rsp ,true 
+0x6e30 029048 compare 0xff ,temp ,0xff 
+0x6e31 029049 branch sdp_invalid_request_syntax ,true 
+0x6e32 029051 ifetch 2 ,contr 
+0x6e33 029052 store 2 ,mem_sdp_record_maxcnt 
+0x6e34 029053 increase -2 ,timeup 
+0x6e35 029055 increase -1 ,timeup 
+0x6e36 029056 nbranch sdp_invalid_pdu_size ,zero 
+0x6e37 029057 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6e38 029058 ifetch 2 ,timeup 
+0x6e39 029059 rtn blank 
+0x6e3a 029060 call search_all_uuid 
+0x6e3b 029061 call l2cap_get_sdp_tx_payload 
+0x6e3c 029062 force 3 ,pdata 
+0x6e3d 029063 istore 1 ,contw 
+0x6e3e 029064 fetch 2 ,mem_sdp_transactionid 
+0x6e3f 029065 istore 2 ,contw 
+0x6e40 029066 lshift2 queue ,pdata 
+0x6e41 029067 add pdata ,5 ,pdata 
+0x6e42 029068 add pdata ,5 ,regc 
+0x6e43 029069 byteswap pdata ,pdata 
+0x6e44 029070 istore 2 ,contw 
+0x6e45 029071 deposit queue 
+0x6e46 029072 byteswap pdata ,pdata 
+0x6e47 029073 istore 2 ,contw 
+0x6e48 029074 istore 2 ,contw 
+0x6e49 029075 arg mem_sdp_handle_list ,contr 
+0x6e4a 029076 copy queue ,loopcnt 
+0x6e4b 029077 branch ss_req_blank ,zero 
+:      029078 ss_req_loop:
+0x6e4c 029079 ifetch 4 ,contr 
+0x6e4d 029080 istore 4 ,contw 
+0x6e4e 029081 loop ss_req_loop 
+:      029082 ss_req_blank:
+0x6e4f 029083 force 0 ,pdata 
+0x6e50 029084 istore 1 ,contw 
+0x6e51 029085 deposit regc 
+0x6e52 029086 store 2 ,mem_sdp_tx_pkt_length 
+0x6e53 029088 rtn 
+:      029099 sdp_process_sa_req:
+0x6e54 029100 bpatchx patch3a_0 ,mem_patch3a 
+0x6e55 029101 ifetch 4 ,contr 
+0x6e56 029102 store 4 ,mem_sdp_record_handle 
+0x6e57 029103 increase -4 ,timeup 
+0x6e58 029104 call sdp_store_maxbyte 
+0x6e59 029105 store 2 ,mem_sdp_attribute_maxbyte 
+0x6e5a 029106 increase -2 ,timeup 
+0x6e5b 029107 call dataelementtype6 
+0x6e5c 029108 branch sdp_invalid_request_syntax ,zero 
+0x6e5d 029109 compare 5 ,rega ,0xff 
+0x6e5e 029111 branch sa_judge_wholerange ,true 
+:      029112 sa_isnot_wholerange:
+0x6e5f 029113 arg mem_sdp_attrib_list ,contw 
+0x6e60 029114 force 0 ,queue 
+0x6e61 029115 branch sa_req_loop 
+:      029116 sa_judge_wholerange:
+0x6e62 029117 ifetch 1 ,contr 
+0x6e63 029118 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+0x6e64 029119 ifetch 2 ,contr 
+0x6e65 029120 nbranch sa_judge_wholerange_false1 ,blank 
+0x6e66 029121 ifetch 1 ,contr 
+0x6e67 029122 bne 0xff ,sa_judge_wholerange_false2 
+0x6e68 029123 ifetch 1 ,contr 
+0x6e69 029124 bne 0xff ,sa_judge_wholerange_false3 
+0x6e6a 029125 branch sa_req_all 
+:      029126 sa_judge_wholerange_false3:
+0x6e6b 029127 increase -5 ,contr 
+0x6e6c 029128 branch sa_isnot_wholerange 
+:      029129 sa_judge_wholerange_false2:
+0x6e6d 029130 increase -4 ,contr 
+0x6e6e 029131 branch sa_isnot_wholerange 
+:      029132 sa_judge_wholerange_false1:
+0x6e6f 029133 increase -3 ,contr 
+0x6e70 029134 branch sa_isnot_wholerange 
+:      029135 sa_req_loop:
+0x6e71 029136 ifetch 1 ,contr 
+0x6e72 029137 beq sdp_attribute_id ,sa_req_one_id 
+0x6e73 029138 beq sdp_attribute_range ,sa_req_range 
+:      029139 sa_req_range:
+0x6e74 029140 ifetch 2 ,contr 
+0x6e75 029141 istore 2 ,contw 
+0x6e76 029142 increase 1 ,queue 
+0x6e77 029143 byteswap pdata ,regb 
+0x6e78 029144 ifetch 2 ,contr 
+0x6e79 029145 byteswap pdata ,pdata 
+:      029146 sa_req_range_id_increase:
+0x6e7a 029147 increase 1 ,regb 
+0x6e7b 029148 isub regb ,null 
+0x6e7c 029149 nbranch sa_req_range_id_finish ,positive 
+0x6e7d 029150 copy pdata ,regc 
+0x6e7e 029151 byteswap regb ,pdata 
+0x6e7f 029152 istore 2 ,contw 
+0x6e80 029153 increase 1 ,queue 
+0x6e81 029154 copy regc ,pdata 
+0x6e82 029155 branch sa_req_range_id_increase 
+:      029156 sa_req_range_id_finish:
+0x6e83 029157 increase -5 ,timeup 
+0x6e84 029158 increase -5 ,rega 
+0x6e85 029159 branch sa_req_check_next_id 
+:      029160 sa_req_one_id:
+0x6e86 029161 ifetch 2 ,contr 
+0x6e87 029162 istore 2 ,contw 
+0x6e88 029163 increase 1 ,queue 
+0x6e89 029164 increase -3 ,timeup 
+0x6e8a 029165 increase -3 ,rega 
+:      029166 sa_req_check_next_id:
+0x6e8b 029167 nbranch sdp_invalid_request_syntax ,positive 
+0x6e8c 029168 nbranch sa_req_loop ,zero 
+0x6e8d 029169 increase -1 ,timeup 
+0x6e8e 029170 nbranch sdp_invalid_request_syntax ,zero 
+0x6e8f 029172 call l2cap_get_sdp_tx_payload 
+0x6e90 029173 increase 10 ,contw 
+0x6e91 029174 arg mem_sdp_attrib_list ,rega 
+:      029175 sa_req_handle_attributelist_next:
+0x6e92 029176 copy queue ,pdata 
+0x6e93 029177 branch sa_req_handle_attributelist_end ,blank 
+0x6e94 029178 ifetch 2 ,rega 
+0x6e95 029179 branch sa_req_handle_attributelist_end ,blank 
+0x6e96 029180 iforce regb 
+0x6e97 029181 fetch 4 ,mem_sdp_record_handle 
+0x6e98 029182 iforce temp 
+0x6e99 029183 call search_handle_attrib 
+0x6e9a 029184 copy contr ,pdata 
+0x6e9b 029185 branch sa_req_handle_attributelist_notfound ,blank 
+0x6e9c 029186 increase -3 ,contr 
+0x6e9d 029187 ifetch 3 ,contr 
+0x6e9e 029188 istore 3 ,contw 
+0x6e9f 029189 call sdp_data_len 
+0x6ea0 029190 iforce loopcnt 
+0x6ea1 029191 call memcpy 
+:      029192 sa_req_handle_attributelist_notfound:
+0x6ea2 029193 increase 2 ,rega 
+0x6ea3 029194 increase -1 ,queue 
+0x6ea4 029195 branch sa_req_handle_attributelist_next 
+:      029197 sa_req_handle_attributelist_end:
+0x6ea5 029198 arg sdp_attribute_res ,rega 
+0x6ea6 029199 call ssa_req_range_lastfreg_common 
+0x6ea7 029200 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6ea8 029201 beq 11 ,sa_empty_rsp 
+0x6ea9 029202 branch ssa_req_range_attrbutes_length_no_continue 
+:      029205 sdp_store_continue_common:
+0x6eaa 029206 ifetch 1 ,contr 
+0x6eab 029207 beq 0 ,sdp_store_continue_0byte 
+0x6eac 029208 beq 1 ,sdp_store_continue_1byte 
+0x6ead 029209 beq 2 ,sdp_store_continue_2byte 
+:      029210 sdp_store_continue_0byte:
+0x6eae 029211 increase -1 ,timeup 
+0x6eaf 029212 branch sdp_store_continue_end 
+:      029213 sdp_store_continue_1byte:
+0x6eb0 029214 ifetch 1 ,contr 
+0x6eb1 029215 increase -2 ,timeup 
+0x6eb2 029216 branch sdp_store_continue_end 
+:      029217 sdp_store_continue_2byte:
+0x6eb3 029218 ifetch 2 ,contr 
+0x6eb4 029219 byteswap pdata ,pdata 
+0x6eb5 029220 increase -3 ,timeup 
+:      029221 sdp_store_continue_end:
+0x6eb6 029222 store 2 ,mem_sdp_continue_byte 
+0x6eb7 029223 rtn 
+:      029225 sa_req_all:
+0x6eb8 029226 increase -5 ,timeup 
+0x6eb9 029227 call sdp_store_continue_common 
+0x6eba 029228 nbranch sdp_invalid_pdu_size ,zero 
+0x6ebb 029229 fetcht 4 ,mem_sdp_record_handle 
+0x6ebc 029230 call search_handle 
+0x6ebd 029231 nbranch sdp_invalid_service_record_handle ,zero 
+0x6ebe 029232 copy contr ,rega 
+0x6ebf 029233 call l2cap_get_sdp_tx_payload 
+0x6ec0 029234 copy rega ,contr 
+0x6ec1 029235 increase 3 ,contw 
+0x6ec2 029236 copy contr ,timeup 
+0x6ec3 029237 call sdp_get_data 
+0x6ec4 029238 copy pdata ,rega 
+0x6ec5 029240 fetch 2 ,mem_sdp_continue_byte 
+0x6ec6 029241 copy pdata ,regb 
+0x6ec7 029242 copy rega ,pdata 
+0x6ec8 029243 isub regb ,regb 
+0x6ec9 029244 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6eca 029245 isub regb ,null 
+0x6ecb 029246 nbranch sa_req_all_fragment_sdp ,positive 
+0x6ecc 029248 disable user 
+0x6ecd 029249 fetch 2 ,mem_sdp_continue_byte 
+0x6ece 029250 branch sa_req_all_fisrt_fragment ,blank 
+0x6ecf 029251 iadd timeup ,contr 
+0x6ed0 029252 increase 3 ,regb 
+0x6ed1 029253 copy regb ,loopcnt 
+0x6ed2 029254 copy loopcnt ,pdata 
+0x6ed3 029255 increase 3 ,pdata 
+0x6ed4 029256 byteswap pdata ,pdata 
+0x6ed5 029257 istore 2 ,contw 
+0x6ed6 029258 copy loopcnt ,pdata 
+0x6ed7 029259 byteswap pdata ,pdata 
+0x6ed8 029260 istore 2 ,contw 
+0x6ed9 029261 branch sa_req_all_answer_attributelist_full_loop 
+:      029262 sa_req_all_fisrt_fragment:
+0x6eda 029263 add rega ,6 ,loopcnt 
+0x6edb 029264 branch sa_req_all_parlength_continue_byte ,user 
+0x6edc 029265 byteswap loopcnt ,pdata 
+0x6edd 029266 branch sa_req_all_parlength_continue_byte_end 
+:      029267 sa_req_all_parlength_continue_byte:
+0x6ede 029268 copy loopcnt ,pdata 
+0x6edf 029269 increase 2 ,pdata 
+0x6ee0 029270 byteswap pdata ,pdata 
+:      029271 sa_req_all_parlength_continue_byte_end:
+0x6ee1 029272 istore 2 ,contw 
+0x6ee2 029273 increase -3 ,loopcnt 
+0x6ee3 029274 byteswap loopcnt ,pdata 
+0x6ee4 029275 istore 2 ,contw 
+0x6ee5 029276 copy timeup ,contr 
+0x6ee6 029277 branch sa_req_all_answer_attributelist_full_loop 
+:      029278 sa_req_all_fragment_sdp:
+0x6ee7 029279 enable user 
+0x6ee8 029281 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6ee9 029282 copy pdata ,rega 
+0x6eea 029283 copy rega ,loopcnt 
+0x6eeb 029284 fetch 2 ,mem_sdp_continue_byte 
+0x6eec 029285 branch sa_req_all_fisrt_fragment ,blank 
+0x6eed 029286 iadd timeup ,contr 
+0x6eee 029287 copy rega ,pdata 
+0x6eef 029288 increase 5 ,pdata 
+0x6ef0 029289 byteswap pdata ,pdata 
+0x6ef1 029290 istore 2 ,contw 
+0x6ef2 029291 copy rega ,pdata 
+0x6ef3 029292 byteswap pdata ,pdata 
+0x6ef4 029293 istore 2 ,contw 
+:      029294 sa_req_all_answer_attributelist_full_loop:
+0x6ef5 029295 call memcpy 
+0x6ef6 029296 nbranch sa_req_all_last_frag_continue ,user 
+0x6ef7 029297 force 2 ,pdata 
+0x6ef8 029298 istore 1 ,contw 
+0x6ef9 029299 copy contr ,pdata 
+0x6efa 029300 isub timeup ,pdata 
+0x6efb 029301 byteswap pdata ,pdata 
+0x6efc 029302 istore 2 ,contw 
+0x6efd 029303 branch sa_req_all_frag_end 
+:      029304 sa_req_all_last_frag_continue:
+0x6efe 029305 force 0 ,pdata 
+0x6eff 029306 istore 1 ,contw 
+:      029307 sa_req_all_frag_end:
+0x6f00 029308 arg sdp_attribute_res ,rega 
+0x6f01 029309 branch ssa_req_range_common 
+:      029320 sdp_process_ssa_req:
+0x6f02 029321 bpatchx patch3a_1 ,mem_patch3a 
+0x6f03 029322 call ask_serviceclassid 
+0x6f04 029323 compare 0xff ,temp ,0xff 
+0x6f05 029324 branch sdp_invalid_request_syntax ,true 
+0x6f06 029325 call sdp_store_maxbyte 
+0x6f07 029326 store 2 ,mem_sdp_attribute_maxbyte 
+0x6f08 029327 increase -2 ,timeup 
+0x6f09 029328 call dataelementtype6 
+0x6f0a 029329 arg mem_sdp_attrib_list ,contw 
+0x6f0b 029330 force 0 ,queue 
+:      029331 ssa_req_loop:
+0x6f0c 029332 ifetch 1 ,contr 
+0x6f0d 029333 beq sdp_attribute_range ,ssa_req_range 
+0x6f0e 029334 ifetch 2 ,contr 
+0x6f0f 029335 istore 2 ,contw 
+0x6f10 029336 increase 1 ,queue 
+0x6f11 029337 increase -3 ,timeup 
+0x6f12 029338 increase -3 ,rega 
+0x6f13 029339 nbranch sdp_invalid_request_syntax ,positive 
+0x6f14 029340 nbranch ssa_req_loop ,zero 
+0x6f15 029341 increase -1 ,timeup 
+0x6f16 029342 nbranch sdp_invalid_request_syntax ,zero 
+0x6f17 029343 call l2cap_get_sdp_tx_payload 
+0x6f18 029344 increase 13 ,contw 
+0x6f19 029345 fetch 2 ,mem_sdp_uuid_search_ptr 
+0x6f1a 029346 iforce regc 
+0x6f1b 029347 arg mem_sdp_attrib_list ,rega 
+:      029348 ssa_req_attributelist_next:
+0x6f1c 029349 ifetch 2 ,rega 
+0x6f1d 029350 branch ssa_req_attributelist_end ,blank 
+0x6f1e 029351 iforce regb 
+0x6f1f 029352 call search_attrib 
+0x6f20 029353 branch ssa_req_attributelist_notfound ,blank 
+0x6f21 029354 increase -3 ,contr 
+0x6f22 029355 ifetch 3 ,contr 
+0x6f23 029356 istore 3 ,contw 
+0x6f24 029357 call sdp_data_len 
+0x6f25 029358 iforce loopcnt 
+0x6f26 029359 call memcpy 
+:      029360 ssa_req_attributelist_notfound:
+0x6f27 029361 increase 2 ,rega 
+0x6f28 029362 branch ssa_req_attributelist_next 
+:      029364 ssa_req_attributelist_end:
+0x6f29 029365 call ssa_req_range_lastfreg 
+0x6f2a 029366 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6f2b 029367 beq 14 ,ssa_empty_rsp 
+0x6f2c 029368 call ssa_req_range_attrbutes_length_no_continue 
+0x6f2d 029369 branch ssa_req_range_attrbutes_length_no_continue 
+:      029372 sdp_store_maxbyte:
+0x6f2e 029373 ifetch 2 ,contr 
+0x6f2f 029374 byteswap pdata ,pdata 
+0x6f30 029375 increase -3 ,pdata 
+0x6f31 029376 arg 200 ,temp 
+0x6f32 029377 isub temp ,null 
+0x6f33 029378 nrtn positive 
+0x6f34 029379 setarg 200 
+0x6f35 029380 rtn 
+:      029383 ssa_req_range:
+0x6f36 029384 increase 4 ,contr 
+0x6f37 029385 increase -5 ,timeup 
+0x6f38 029386 increase -5 ,rega 
+0x6f39 029387 nbranch sdp_invalid_request_syntax ,zero 
+0x6f3a 029388 call sdp_store_continue_common 
+0x6f3b 029389 nbranch sdp_invalid_pdu_size ,zero 
+0x6f3c 029390 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6f3d 029391 call search_all_uuid 
+0x6f3e 029392 deposit queue 
+0x6f3f 029393 branch ssa_empty_rsp ,blank 
+0x6f40 029394 store 1 ,mem_handle_humber 
+0x6f41 029396 copy regb ,pdata 
+0x6f42 029397 store 2 ,mem_sdp_all_length 
+0x6f43 029398 arg 0 ,queue 
+0x6f44 029399 arg 0 ,rega 
+0x6f45 029400 call l2cap_get_sdp_tx_payload 
+0x6f46 029401 increase 10 ,contw 
+:      029402 ssa_req_range_find_handle:
+0x6f47 029403 call ssa_req_range_get_length 
+0x6f48 029404 nbranch assert ,user 
+0x6f49 029405 copy contr ,timeup 
+0x6f4a 029406 copy pdata ,regc 
+0x6f4b 029407 iadd rega ,rega 
+0x6f4c 029410 fetch 2 ,mem_sdp_continue_byte 
+0x6f4d 029411 copy pdata ,regb 
+0x6f4e 029412 branch ssa_req_range_first_freg ,blank 
+:      029413 ssa_req_range_later_freg_with_continue:
+0x6f4f 029414 copy rega ,pdata 
+0x6f50 029415 isub regb ,regb 
+0x6f51 029416 branch ssa_req_range_next_handle ,zero 
+0x6f52 029417 nbranch ssa_req_range_next_handle ,positive 
+0x6f53 029418 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6f54 029419 isub regb ,null 
+0x6f55 029420 branch ssa_req_range_maxbyte_with_continue ,zero 
+0x6f56 029421 nbranch ssa_req_range_maxbyte_with_continue ,positive 
+:      029424 ssa_req_range_send_not_maxbyte:
+0x6f57 029425 copy regb ,loopcnt 
+0x6f58 029426 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6f59 029427 fetch 1 ,mem_handle_humber 
+0x6f5a 029428 increase 1 ,queue 
+0x6f5b 029429 isub queue ,null 
+0x6f5c 029430 branch ssa_req_range_lastfreg ,zero 
+0x6f5d 029431 branch ssa_req_range_freg_with_continue 
+:      029433 ssa_req_range_maxbyte_with_continue:
+0x6f5e 029434 copy pdata ,loopcnt 
+0x6f5f 029435 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6f60 029436 branch ssa_req_range_freg_with_continue 
+:      029438 ssa_req_range_maxbyte_with_continue_cpy:
+0x6f61 029439 increase -3 ,contw 
+0x6f62 029440 copy loopcnt ,temp 
+0x6f63 029441 copy regc ,pdata 
+0x6f64 029442 isub regb ,pdata 
+0x6f65 029443 iadd timeup ,contr 
+0x6f66 029444 branch memcpy 
+:      029446 ssa_req_range_next_handle:
+0x6f67 029447 fetch 1 ,mem_handle_humber 
+0x6f68 029448 increase 1 ,queue 
+0x6f69 029449 isub queue ,null 
+0x6f6a 029450 rtn zero 
+0x6f6b 029451 branch ssa_req_range_find_handle 
+:      029453 ssa_req_range_get_length:
+0x6f6c 029454 call disable_user 
+0x6f6d 029455 arg mem_sdp_handle_list ,contr 
+0x6f6e 029456 lshift2 queue ,pdata 
+0x6f6f 029457 iadd contr ,contr 
+0x6f70 029458 ifetcht 4 ,contr 
+0x6f71 029459 call search_handle 
+0x6f72 029460 nrtn zero 
+0x6f73 029461 call sdp_data_len 
+0x6f74 029462 branch enable_user 
+:      029464 ssa_req_range_first_freg:
+0x6f75 029465 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6f76 029466 isub rega ,null 
+0x6f77 029467 nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+0x6f78 029468 copy rega ,loopcnt 
+0x6f79 029469 copy loopcnt ,temp 
+0x6f7a 029470 copy timeup ,contr 
+0x6f7b 029471 call memcpy 
+0x6f7c 029472 fetch 2 ,mem_sdp_all_length 
+0x6f7d 029473 isub rega ,null 
+0x6f7e 029474 branch ssa_req_range_freg_no_continue ,zero 
+:      029475 ssa_req_range_firstfreg_not_maxbyte_with_continue:
+0x6f7f 029476 call ssa_req_range_freg_with_continue 
+0x6f80 029477 branch ssa_req_range_attrbutes_length 
+:      029479 ssa_req_range_freg_no_continue:
+0x6f81 029480 call ssa_req_range_lastfreg 
+0x6f82 029481 branch ssa_req_range_attrbutes_length 
+:      029483 ssa_req_range_lastfreg:
+0x6f83 029484 arg sdp_searchattrib_res ,rega 
+:      029485 ssa_req_range_lastfreg_common:
+0x6f84 029486 force 0 ,pdata 
+0x6f85 029487 istore 1 ,contw 
+0x6f86 029488 call ssa_req_range_common 
+0x6f87 029489 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6f88 029490 increase -5 ,temp 
+0x6f89 029491 byteswap temp ,pdata 
+0x6f8a 029492 istore 2 ,contw 
+0x6f8b 029493 increase -3 ,temp 
+0x6f8c 029494 byteswap temp ,pdata 
+0x6f8d 029495 istore 2 ,contw 
+0x6f8e 029496 rtn 
+:      029498 ssa_req_range_firstfreg_maxbyte_with_continue:
+0x6f8f 029499 copy pdata ,loopcnt 
+0x6f90 029500 copy loopcnt ,temp 
+0x6f91 029501 copy timeup ,contr 
+0x6f92 029502 call memcpy 
+0x6f93 029503 call ssa_req_range_freg_with_continue 
+:      029504 ssa_req_range_attrbutes_length:
+0x6f94 029505 setarg 0x36 
+0x6f95 029506 istore 1 ,contw 
+0x6f96 029507 fetch 2 ,mem_sdp_all_length 
+0x6f97 029508 byteswap pdata ,pdata 
+0x6f98 029509 istore 2 ,contw 
+0x6f99 029510 rtn 
+:      029512 ssa_req_range_attrbutes_length_no_continue:
+0x6f9a 029513 setarg 0x36 
+0x6f9b 029514 istore 1 ,contw 
+0x6f9c 029515 increase -3 ,temp 
+0x6f9d 029516 byteswap temp ,pdata 
+0x6f9e 029517 istore 2 ,contw 
+0x6f9f 029518 rtn 
+:      029520 ssa_req_range_freg_with_continue:
+0x6fa0 029521 arg sdp_searchattrib_res ,rega 
+0x6fa1 029522 setarg 2 
+0x6fa2 029523 istore 1 ,contw 
+0x6fa3 029524 fetch 2 ,mem_sdp_continue_byte 
+0x6fa4 029525 iadd temp ,temp 
+0x6fa5 029526 byteswap temp ,pdata 
+0x6fa6 029527 istore 2 ,contw 
+0x6fa7 029528 call ssa_req_range_common 
+0x6fa8 029529 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6fa9 029530 increase -5 ,temp 
+0x6faa 029531 byteswap temp ,pdata 
+0x6fab 029532 istore 2 ,contw 
+0x6fac 029533 increase -5 ,temp 
+0x6fad 029534 byteswap temp ,pdata 
+0x6fae 029535 istore 2 ,contw 
+0x6faf 029536 rtn 
+:      029538 ssa_req_range_common:
+0x6fb0 029539 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x6fb1 029540 isub contw ,pdata 
+0x6fb2 029541 sub pdata ,0 ,pdata 
+0x6fb3 029542 store 2 ,mem_sdp_tx_pkt_length 
+0x6fb4 029543 call l2cap_get_sdp_tx_payload 
+0x6fb5 029544 copy rega ,pdata 
+0x6fb6 029545 istore 1 ,contw 
+0x6fb7 029546 fetch 2 ,mem_sdp_transactionid 
+0x6fb8 029547 istore 2 ,contw 
+0x6fb9 029548 rtn 
+:      029561 sdp_process_ssa_res:
+:      029562 sdp_process_ss_res:
+:      029563 sdp_process_sa_res:
+:      029564 sdp_process_error_res:
+0x6fba 029565 rtn 
+:      029598 sdp_invalid_service_record_handle:
+0x6fbb 029599 setarg 0x0200 
+0x6fbc 029600 store 2 ,mem_sdp_error_code 
+0x6fbd 029601 branch sdp_error_response 
+:      029602 sdp_invalid_pdu_size:
+0x6fbe 029603 setarg 0x0400 
+0x6fbf 029604 store 2 ,mem_sdp_error_code 
+0x6fc0 029605 branch sdp_error_response 
+:      029606 sdp_insufficient_resource:
+0x6fc1 029607 setarg 0x0600 
+0x6fc2 029608 store 2 ,mem_sdp_error_code 
+0x6fc3 029609 branch sdp_error_response 
+:      029610 sdp_invalid_request_syntax:
+0x6fc4 029611 setarg 0x0300 
+0x6fc5 029612 store 2 ,mem_sdp_error_code 
+:      029613 sdp_error_response:
+0x6fc6 029614 call l2cap_get_sdp_tx_payload 
+0x6fc7 029615 istore 1 ,contw 
+0x6fc8 029616 fetch 2 ,mem_sdp_transactionid 
+0x6fc9 029617 istore 2 ,contw 
+0x6fca 029618 setarg 0x0200 
+0x6fcb 029619 istore 2 ,contw 
+0x6fcc 029620 fetch 2 ,mem_sdp_error_code 
+0x6fcd 029621 istore 2 ,contw 
+0x6fce 029622 jam 7 ,mem_sdp_tx_pkt_length 
+0x6fcf 029623 rtn 
+:      029628 ask_serviceclassid:
+0x6fd0 029629 arg 0 ,regb 
+0x6fd1 029630 force 0 ,temp 
+0x6fd2 029631 arg mem_sdp_uuid_search_ptr ,contw 
+0x6fd3 029632 call dataelementtype6 
+0x6fd4 029633 branch asksrv_error ,zero 
+:      029634 classidloop:
+0x6fd5 029635 increase 1 ,regb 
+0x6fd6 029636 ifetch 1 ,contr 
+0x6fd7 029637 increase -1 ,rega 
+0x6fd8 029638 increase -1 ,timeup 
+0x6fd9 029639 compare 0x18 ,pdata ,0xf8 
+0x6fda 029640 nbranch asksrv_error ,true 
+0x6fdb 029641 compare 0x04 ,pdata ,0x07 
+0x6fdc 029642 nbranch cmp032 ,true 
+0x6fdd 029643 force 1 ,temp 
+:      029644 skip2bytes:
+0x6fde 029645 ifetch 1 ,contr 
+0x6fdf 029646 increase -1 ,rega 
+0x6fe0 029647 increase -1 ,timeup 
+0x6fe1 029648 bne 0x00 ,frstbwrong 
+0x6fe2 029649 ifetch 1 ,contr 
+0x6fe3 029650 increase -1 ,rega 
+0x6fe4 029651 increase -1 ,timeup 
+0x6fe5 029652 beq 0x00 ,cmpuuid 
+0x6fe6 029653 branch scndbwrong 
+:      029654 frstbwrong:
+0x6fe7 029655 increase 1 ,contr 
+0x6fe8 029656 increase -1 ,rega 
+0x6fe9 029657 increase -1 ,timeup 
+:      029658 scndbwrong:
+0x6fea 029659 increase 2 ,contr 
+0x6feb 029660 increase -2 ,rega 
+0x6fec 029661 increase -2 ,timeup 
+0x6fed 029662 compare 0x00 ,temp ,0xff 
+0x6fee 029663 branch loopornot ,true 
+0x6fef 029664 increase 12 ,contr 
+0x6ff0 029665 increase -12 ,rega 
+0x6ff1 029666 increase -12 ,timeup 
+0x6ff2 029667 branch loopornot 
+:      029668 cmp032:
+0x6ff3 029669 compare 0x02 ,pdata ,0x07 
+0x6ff4 029670 nbranch cmp016 ,true 
+0x6ff5 029671 branch skip2bytes 
+:      029672 cmp016:
+0x6ff6 029673 compare 0x01 ,pdata ,0x07 
+0x6ff7 029674 nbranch asksrv_error ,true 
+:      029675 cmpuuid:
+0x6ff8 029676 increase -2 ,rega 
+0x6ff9 029677 increase -2 ,timeup 
+0x6ffa 029678 ifetch 2 ,contr 
+0x6ffb 029679 sub regb ,4 ,null 
+0x6ffc 029680 branch uuidsize ,zero 
+0x6ffd 029681 istore 2 ,contw 
+:      029682 uuidsize:
+0x6ffe 029683 compare 0x00 ,temp ,0xff 
+0x6fff 029684 branch loopornot ,true 
+0x7000 029685 copy contr ,temp 
+0x7001 029686 ifetch 1 ,contr 
+0x7002 029687 bne 0x00 ,wrong12b 
+0x7003 029688 ifetch 1 ,contr 
+0x7004 029689 bne 0x00 ,wrong12b 
+0x7005 029690 ifetch 1 ,contr 
+0x7006 029691 bne 0x10 ,wrong12b 
+0x7007 029692 ifetch 1 ,contr 
+0x7008 029693 bne 0x00 ,wrong12b 
+0x7009 029694 ifetch 1 ,contr 
+0x700a 029695 bne 0x80 ,wrong12b 
+0x700b 029696 ifetch 1 ,contr 
+0x700c 029697 bne 0x00 ,wrong12b 
+0x700d 029698 ifetch 1 ,contr 
+0x700e 029699 bne 0x00 ,wrong12b 
+0x700f 029700 ifetch 1 ,contr 
+0x7010 029701 bne 0x80 ,wrong12b 
+0x7011 029702 ifetch 1 ,contr 
+0x7012 029703 bne 0x5f ,wrong12b 
+0x7013 029704 ifetch 1 ,contr 
+0x7014 029705 bne 0x9b ,wrong12b 
+0x7015 029706 ifetch 1 ,contr 
+0x7016 029707 bne 0x34 ,wrong12b 
+0x7017 029708 ifetch 1 ,contr 
+0x7018 029709 beq 0xfb ,chck12dn 
+:      029710 wrong12b:
+0x7019 029711 copy temp ,contr 
+:      029712 wrong12b1:
+0x701a 029713 increase 12 ,contr 
+0x701b 029714 force 0x00 ,queue 
+0x701c 029715 force 0x00 ,temp 
+0x701d 029716 branch chck12dn 
+:      029718 chck12dn:
+0x701e 029719 increase -12 ,timeup 
+0x701f 029720 increase -12 ,rega 
+:      029721 loopornot:
+0x7020 029722 force 0x00 ,temp 
+0x7021 029723 compare 0x00 ,rega ,0xff 
+0x7022 029724 nbranch classidloop ,true 
+0x7023 029725 force 0 ,pdata 
+0x7024 029726 istore 2 ,contw 
+0x7025 029727 rtn 
+:      029728 asksrv_error:
+0x7026 029729 arg 0xff ,temp 
+0x7027 029730 rtn 
+:      029740 dataelementtype6:
+0x7028 029741 bpatchx patch3a_4 ,mem_patch3a 
+0x7029 029742 ifetch 1 ,contr 
+0x702a 029743 increase -1 ,timeup 
+0x702b 029744 compare 0x30 ,pdata ,0xf8 
+0x702c 029745 nbranch dsize_error ,true 
+0x702d 029746 compare 0x07 ,pdata ,0x07 
+0x702e 029747 branch dsize32 ,true 
+0x702f 029748 compare 0x06 ,pdata ,0x07 
+0x7030 029749 branch dsize16 ,true 
+0x7031 029750 compare 0x05 ,pdata ,0x07 
+0x7032 029751 nbranch dsize_error ,true 
+0x7033 029753 ifetch 1 ,contr 
+0x7034 029754 copy pdata ,rega 
+0x7035 029755 increase -1 ,timeup 
+0x7036 029756 branch dsize 
+:      029757 dsize32:
+0x7037 029758 increase 2 ,contr 
+0x7038 029759 increase -2 ,timeup 
+:      029760 dsize16:
+0x7039 029761 ifetch 2 ,contr 
+0x703a 029762 byteswap pdata ,rega 
+0x703b 029763 increase -2 ,timeup 
+:      029764 dsize:
+0x703c 029765 force 0x01 ,pdata 
+0x703d 029766 rtn 
+:      029767 dsize_error:
+0x703e 029768 force 0x00 ,pdata 
+0x703f 029769 rtn 
+:      029779 ss_empty_rsp:
+0x7040 029780 setarg sdp_search_res 
+0x7041 029781 store 1 ,mem_sdp_pduid 
+0x7042 029782 branch empty_response 
+:      029783 sa_empty_rsp:
+0x7043 029784 setarg sdp_attribute_res 
+0x7044 029785 store 1 ,mem_sdp_pduid 
+0x7045 029786 branch empty_response 
+:      029787 ssa_empty_rsp:
+0x7046 029788 setarg sdp_searchattrib_res 
+0x7047 029789 store 1 ,mem_sdp_pduid 
+:      029790 empty_response:
+0x7048 029791 call l2cap_get_sdp_tx_payload 
+0x7049 029794 fetch 1 ,mem_sdp_pduid 
+0x704a 029795 copy pdata ,regb 
+0x704b 029796 istore 1 ,contw 
+0x704c 029797 fetch 2 ,mem_sdp_transactionid 
+0x704d 029798 istore 2 ,contw 
+0x704e 029799 setarg 0x0500 
+0x704f 029800 istore 2 ,contw 
+0x7050 029801 compare sdp_attribute_res ,regb ,0xff 
+0x7051 029802 branch fullsearch ,true 
+0x7052 029803 compare sdp_searchattrib_res ,regb ,0xff 
+0x7053 029804 branch fullsearch ,true 
+0x7054 029805 setarg 0x000000 
+0x7055 029806 istore 5 ,contw 
+0x7056 029807 branch outempty 
+:      029809 fullsearch:
+0x7057 029810 setarg 0x350200 
+0x7058 029811 istore 5 ,contw 
+:      029812 outempty:
+0x7059 029813 jam 10 ,mem_sdp_tx_pkt_length 
+0x705a 029814 rtn 
+:      029817 sdp_data_len:
+0x705b 029818 call store_contw 
+0x705c 029819 call store_contr 
+0x705d 029820 call sdp_get_data 
+0x705e 029821 call get_contw 
+0x705f 029822 call get_contr 
+0x7060 029823 copy temp ,pdata 
+0x7061 029824 rtn 
+:      029827 sdp_get_data:
+0x7062 029828 ifetch 1 ,contr 
+0x7063 029829 and pdata ,0x7 ,loopcnt 
+0x7064 029830 rshift3 pdata ,pdata 
+0x7065 029831 bne 0 ,sdp_get_data_type_not0 
+:      029832 sdp_get_data_type0:
+0x7066 029833 force 1 ,pdata 
+0x7067 029834 force 1 ,temp 
+0x7068 029835 rtn 
+:      029837 sdp_get_data_type_not0_sizeindex01234:
+0x7069 029838 call left_shift_n 
+0x706a 029839 add pdata ,1 ,temp 
+0x706b 029840 rtn 
+:      029841 sdp_get_data_type_not0:
+0x706c 029842 deposit loopcnt 
+0x706d 029843 sub pdata ,4 ,null 
+0x706e 029844 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+0x706f 029845 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+0x7070 029846 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+0x7071 029847 beq 7 ,sdp_get_data_type_not0_sizeindex7 
+0x7072 029848 rtn 
+:      029850 sdp_get_data_type_not0_sizeindex5:
+0x7073 029851 ifetch 1 ,contr 
+0x7074 029852 add pdata ,2 ,temp 
+0x7075 029853 rtn 
+:      029854 sdp_get_data_type_not0_sizeindex6:
+0x7076 029855 ifetch 2 ,contr 
+0x7077 029856 byteswap pdata ,pdata 
+0x7078 029857 add pdata ,3 ,temp 
+0x7079 029858 rtn 
+:      029859 sdp_get_data_type_not0_sizeindex7:
+0x707a 029860 ifetch 2 ,contr 
+0x707b 029861 byteswap pdata ,pdata 
+0x707c 029862 ifetcht 2 ,contr 
+0x707d 029863 byteswap temp ,temp 
+0x707e 029864 lshift16 temp ,temp 
+0x707f 029865 iadd temp ,pdata 
+0x7080 029866 add pdata ,5 ,temp 
+0x7081 029867 rtn 
+:      029873 search_all_uuid:
+0x7082 029874 bpatchx patch3a_5 ,mem_patch3a 
+0x7083 029875 force 0 ,queue 
+0x7084 029876 arg 0 ,regb 
+0x7085 029877 arg mem_sdp_handle_list ,contw 
+:      029878 search_all_uuid_llop:
+0x7086 029879 ifetch 2 ,timeup 
+0x7087 029880 rtn blank 
+0x7088 029881 call search_uuid 
+0x7089 029882 copy queue ,pdata 
+0x708a 029883 rtneq sdp_max_handle_number 
+0x708b 029884 increase 2 ,timeup 
+0x708c 029885 branch search_all_uuid_llop 
+:      029887 search_uuid:
+0x708d 029889 iforce regc 
+0x708e 029891 fetch 2 ,mem_ui_uuid_table 
+0x708f 029892 iforce contr 
+:      029893 search_uuid_next:
+0x7090 029894 copy queue ,pdata 
+0x7091 029895 rtneq sdp_max_handle_number 
+0x7092 029896 disable user 
+0x7093 029897 ifetch 1 ,contr 
+0x7094 029898 rtn blank 
+0x7095 029899 iforce loopcnt 
+:      029900 search_uuid_loop:
+0x7096 029901 ifetch 2 ,contr 
+0x7097 029902 isub regc ,null 
+0x7098 029903 nbranch search_uuid_not_found ,zero 
+0x7099 029904 enable user 
+:      029905 search_uuid_not_found:
+0x709a 029906 loop search_uuid_loop 
+0x709b 029907 ifetcht 4 ,contr 
+0x709c 029908 copy contr ,rega 
+0x709d 029909 nbranch search_uuid_nomatch ,user 
+0x709e 029910 arg mem_sdp_handle_list ,contr 
+0x709f 029911 arg sdp_max_handle_number ,loopcnt 
+:      029912 search_uuid_check_same_handle:
+0x70a0 029913 ifetch 4 ,contr 
+0x70a1 029914 branch search_uuid_store_handle ,blank 
+0x70a2 029915 isub temp ,null 
+0x70a3 029916 branch search_uuid_nomatch ,zero 
+0x70a4 029917 loop search_uuid_check_same_handle 
+0x70a5 029918 rtn 
+:      029919 search_uuid_store_handle:
+0x70a6 029920 istoret 4 ,contw 
+0x70a7 029921 increase 1 ,queue 
+0x70a8 029922 copy rega ,contr 
+0x70a9 029923 call sdp_data_len 
+0x70aa 029924 iadd regb ,regb 
+0x70ab 029925 iadd contr ,contr 
+0x70ac 029926 branch search_uuid_next 
+:      029927 search_uuid_nomatch:
+0x70ad 029928 copy rega ,contr 
+0x70ae 029929 call sdp_get_data 
+0x70af 029930 iadd contr ,contr 
+0x70b0 029931 branch search_uuid_next 
+:      029937 search_handle:
+0x70b1 029938 bpatchx patch3a_6 ,mem_patch3a 
+0x70b2 029939 fetch 2 ,mem_ui_uuid_table 
+0x70b3 029940 iforce contr 
+:      029941 search_handle_loop:
+0x70b4 029942 ifetch 1 ,contr 
+0x70b5 029943 branch disable_zero ,blank 
+0x70b6 029944 lshift pdata ,pdata 
+0x70b7 029945 iadd contr ,contr 
+0x70b8 029946 ifetch 4 ,contr 
+0x70b9 029947 isub temp ,null 
+0x70ba 029948 rtn zero 
+0x70bb 029949 deposit contw 
+0x70bc 029950 store 2 ,mem_contw 
+0x70bd 029951 storet 8 ,mem_temp 
+0x70be 029952 call sdp_get_data 
+0x70bf 029953 iadd contr ,contr 
+0x70c0 029954 copy contr ,pdata 
+0x70c1 029955 fetcht 2 ,mem_contw 
+0x70c2 029956 copy temp ,contw 
+0x70c3 029957 fetcht 8 ,mem_temp 
+0x70c4 029958 copy pdata ,contr 
+0x70c5 029959 branch search_handle_loop 
+:      029965 search_attrib:
+0x70c6 029966 bpatchx patch3a_7 ,mem_patch3a 
+0x70c7 029967 fetch 2 ,mem_ui_uuid_table 
+0x70c8 029968 iforce contr 
+:      029969 search_attrib_next:
+0x70c9 029970 ifetch 1 ,contr 
+0x70ca 029971 branch search_attrib_end ,blank 
+0x70cb 029972 iforce loopcnt 
+:      029973 search_attrib_loop:
+0x70cc 029974 ifetch 2 ,contr 
+0x70cd 029975 isub regc ,null 
+0x70ce 029976 branch search_attrib_found_uuid ,zero 
+0x70cf 029977 loop search_attrib_loop 
+0x70d0 029978 increase 4 ,contr 
+0x70d1 029979 call sdp_get_data 
+0x70d2 029980 iadd contr ,contr 
+0x70d3 029981 branch search_attrib_next 
+:      029982 search_attrib_found_uuid:
+0x70d4 029983 increase -1 ,loopcnt 
+0x70d5 029984 lshift loopcnt ,pdata 
+0x70d6 029985 iadd contr ,contr 
+0x70d7 029986 increase 4 ,contr 
+0x70d8 029987 call sdp_get_data 
+0x70d9 029988 iadd contr ,timeup 
+:      029989 search_attrib_loop_attribs:
+0x70da 029990 increase 1 ,contr 
+0x70db 029991 ifetch 2 ,contr 
+0x70dc 029992 isub regb ,null 
+0x70dd 029996 branch disable_blank ,zero 
+0x70de 029997 call sdp_data_len 
+0x70df 029998 iadd contr ,contr 
+0x70e0 029999 deposit timeup 
+0x70e1 030000 isub contr ,null 
+0x70e2 030001 branch search_attrib_end ,zero 
+0x70e3 030002 branch search_attrib_loop_attribs 
+:      030003 search_attrib_end:
+0x70e4 030004 force 0 ,contr 
+0x70e5 030005 force 0 ,pdata 
+0x70e6 030006 rtn 
+:      030012 search_handle_attrib:
+0x70e7 030013 bpatchx patch3b_0 ,mem_patch3b 
+0x70e8 030014 fetch 2 ,mem_ui_uuid_table 
+0x70e9 030015 iforce contr 
+:      030016 search_handle_attrib_next:
+0x70ea 030017 ifetch 1 ,contr 
+0x70eb 030018 branch search_handle_attrib_end ,blank 
+0x70ec 030019 lshift pdata ,pdata 
+0x70ed 030020 iadd contr ,contr 
+0x70ee 030021 ifetch 4 ,contr 
+0x70ef 030022 isub temp ,null 
+0x70f0 030023 branch search_handl_attrib_found_handle ,zero 
+0x70f1 030024 call sdp_get_data 
+0x70f2 030025 iadd contr ,contr 
+0x70f3 030026 branch search_handle_attrib_next 
+:      030027 search_handl_attrib_found_handle:
+0x70f4 030028 call sdp_get_data 
+0x70f5 030029 iadd contr ,timeup 
+:      030030 search_handle_attrib_loop_attribs:
+0x70f6 030031 increase 1 ,contr 
+0x70f7 030032 ifetch 2 ,contr 
+0x70f8 030033 isub regb ,null 
+0x70f9 030034 rtn zero 
+0x70fa 030035 call sdp_data_len 
+0x70fb 030036 iadd contr ,contr 
+0x70fc 030037 deposit timeup 
+0x70fd 030038 isub contr ,null 
+0x70fe 030039 branch search_handle_attrib_end ,zero 
+0x70ff 030040 branch search_handle_attrib_loop_attribs 
+:      030041 search_handle_attrib_end:
+0x7100 030042 force 0 ,contr 
+0x7101 030043 rtn 
+:      030047 search_rfcomm_cn:
+0x7102 030048 arg 0x0400 ,regb 
+0x7103 030049 call search_handl_attrib_found_handle 
+0x7104 030050 arg 0x0300 ,regb 
+0x7105 030051 call search_uuid_in_data 
+0x7106 030052 nrtn user 
+0x7107 030053 sub rega ,3 ,null 
+0x7108 030054 branch disable_user ,positive 
+0x7109 030055 ifetch 1 ,contr 
+0x710a 030056 bne 0x08 ,disable_user 
+0x710b 030057 ifetch 1 ,contr 
+0x710c 030058 rtn 
+:      030063 search_uuid_in_data:
+0x710d 030064 bpatchx patch3b_1 ,mem_patch3b 
+0x710e 030065 call sdp_get_data 
+0x710f 030066 copy pdata ,rega 
+:      030067 search_uuid_in_data_loop:
+0x7110 030068 ifetch 1 ,contr 
+0x7111 030069 and pdata ,0x7 ,loopcnt 
+0x7112 030070 rshift3 pdata ,pdata 
+0x7113 030071 sub pdata ,3 ,null 
+0x7114 030072 branch search_uuid_in_data_found_uuid ,zero 
+0x7115 030073 copy loopcnt ,pdata 
+0x7116 030074 beq 5 ,search_uuid_in_data_found_element_index5 
+0x7117 030075 beq 6 ,search_uuid_in_data_found_element_index6 
+0x7118 030076 beq 7 ,search_uuid_in_data_found_element_index7 
+0x7119 030077 increase -1 ,contr 
+0x711a 030078 call sdp_get_data 
+0x711b 030079 iadd contr ,contr 
+0x711c 030080 copy rega ,pdata 
+0x711d 030081 isub temp ,rega 
+0x711e 030082 branch disable_user ,zero 
+0x711f 030083 branch search_uuid_in_data_loop 
+:      030085 search_uuid_in_data_found_element_index5:
+0x7120 030086 increase -2 ,rega 
+0x7121 030087 increase 1 ,contr 
+0x7122 030088 branch search_uuid_in_data_loop 
+:      030089 search_uuid_in_data_found_element_index6:
+0x7123 030090 increase -3 ,rega 
+0x7124 030091 increase 2 ,contr 
+0x7125 030092 branch search_uuid_in_data_loop 
+:      030093 search_uuid_in_data_found_element_index7:
+0x7126 030094 increase -5 ,rega 
+0x7127 030095 increase 4 ,contr 
+0x7128 030096 branch search_uuid_in_data_loop 
+:      030098 search_uuid_in_data_found_uuid:
+0x7129 030099 increase -1 ,rega 
+0x712a 030100 copy loopcnt ,pdata 
+0x712b 030101 beq 1 ,search_uuid_in_data_type_uuid_16 
+0x712c 030102 beq 2 ,search_uuid_in_data_type_uuid_32 
+0x712d 030103 beq 4 ,search_uuid_in_data_type_uuid_128 
+0x712e 030104 branch disable_user 
+:      030105 search_uuid_in_data_type_uuid_128:
+0x712f 030106 increase -12 ,rega 
+:      030107 search_uuid_in_data_type_uuid_32:
+0x7130 030108 ifetch 2 ,contr 
+0x7131 030109 increase -2 ,rega 
+:      030110 search_uuid_in_data_type_uuid_16:
+0x7132 030111 ifetch 2 ,contr 
+0x7133 030112 isub regb ,null 
+0x7134 030113 branch enable_user ,zero 
+0x7135 030114 increase -2 ,rega 
+0x7136 030115 branch disable_user ,zero 
+0x7137 030116 branch search_uuid_in_data_loop 
+:      030175 sdp_send_spp_request:
+0x7138 030176 call l2cap_get_sdp_tx_payload 
+0x7139 030177 copy pdata ,contw 
+0x713a 030178 setarg 6 
+0x713b 030179 istore 1 ,contw 
+0x713c 030180 setarg sdp_tid_spp 
+0x713d 030181 istore 2 ,contw 
+0x713e 030182 setarg 0x0f00 
+0x713f 030183 istore 2 ,contw 
+0x7140 030184 setarg 0x1a0535 
+0x7141 030185 istore 3 ,contw 
+0x7142 030186 setarg 0x0111 
+0x7143 030187 lshift16 pdata ,pdata 
+0x7144 030188 istore 4 ,contw 
+0x7145 030189 setarg 0x2600 
+0x7146 030190 istore 2 ,contw 
+0x7147 030191 setarg 0x0335 
+0x7148 030192 istore 2 ,contw 
+0x7149 030193 setarg 0x0009 
+0x714a 030194 istore 2 ,contw 
+0x714b 030195 setarg 0x0004 
+0x714c 030196 istore 2 ,contw 
+0x714d 030197 jam 0x14 ,mem_sdp_tx_pkt_length 
+0x714e 030198 rtn 
+:      030202 function_g2:
+0x714f 030203 bpatchx patch3b_2 ,mem_patch3b 
+0x7150 030204 jam 80 ,mem_aes_cmac_data_length 
+0x7151 030205 arg memdat ,contw 
+0x7152 030206 arg mem_le_srand ,contr 
+0x7153 030207 call memcpy16 
+0x7154 030208 arg mem_le_pubkey_local_x_256 ,contr 
+0x7155 030209 call memcpy32 
+0x7156 030210 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7157 030211 call memcpy32 
+0x7158 030212 call inverse_memdat 
+0x7159 030213 arg mem_le_mrand ,contr 
+0x715a 030214 call store_inverse_k 
+0x715b 030215 call function_aes_cmac 
+0x715c 030217 arg mem_aes_cmac_temp ,contw 
+0x715d 030218 call load_inverse_result 
+0x715e 030219 setarg 1000000 
+0x715f 030220 copy pdata ,rega 
+0x7160 030221 fetch 4 ,mem_aes_cmac_temp 
+0x7161 030222 idiv rega 
+0x7162 030223 call wait_div_end 
+0x7163 030224 remainder pdata 
+0x7164 030225 store 4 ,mem_gkey 
+0x7165 030227 rtn 
+:      030229 function_f6_eb:
+0x7166 030230 jam 65 ,mem_aes_cmac_data_length 
+0x7167 030231 arg memdat ,contw 
+0x7168 030232 call store_addr_common_a 
+0x7169 030233 call store_addr_common_b 
+0x716a 030234 fetch 3 ,mem_le_pres + 1 
+0x716b 030235 istore 3 ,contw 
+0x716c 030238 call get_r 
+0x716d 030240 arg mem_le_mrand ,contr 
+0x716e 030241 call memcpy16 
+0x716f 030242 arg mem_le_srand ,contr 
+0x7170 030243 call memcpy16 
+0x7171 030244 call inverse_memdat 
+0x7172 030245 arg mem_le_mackey ,contr 
+0x7173 030246 arg mem_aes_cmac_k ,contw 
+0x7174 030247 call memcpy16 
+0x7175 030249 branch function_aes_cmac 
+:      030253 get_r:
+0x7176 030254 fetch 4 ,mem_le_tk 
+0x7177 030255 istore 4 ,contw 
+0x7178 030256 call memset0_4 
+0x7179 030257 branch memset0_8 
+:      030259 function_f6_ea:
+0x717a 030260 bpatchx patch3b_3 ,mem_patch3b 
+0x717b 030261 jam 65 ,mem_aes_cmac_data_length 
+0x717c 030262 arg memdat ,contw 
+0x717d 030263 call store_addr_common_b 
+0x717e 030264 call store_addr_common_a 
+0x717f 030265 fetch 3 ,mem_le_preq + 1 
+0x7180 030266 istore 3 ,contw 
+0x7181 030269 call get_r 
+0x7182 030270 arg mem_le_srand ,contr 
+0x7183 030271 call memcpy16 
+0x7184 030272 arg mem_le_mrand ,contr 
+0x7185 030273 call memcpy16 
+0x7186 030274 call inverse_memdat 
+0x7187 030275 arg mem_le_mackey ,contr 
+0x7188 030276 arg mem_aes_cmac_k ,contw 
+0x7189 030277 call memcpy16 
+0x718a 030279 call function_aes_cmac 
+0x718b 030280 arg mem_aes_cmac_temp ,contw 
+0x718c 030281 branch load_inverse_result 
+:      030283 function_f5:
+0x718d 030284 jam 32 ,mem_aes_cmac_data_length 
+0x718e 030285 arg mem_le_dhkey_256 ,contr 
+0x718f 030286 arg memdat ,contw 
+0x7190 030287 call memcpy32 
+0x7191 030288 call inverse_memdat 
+0x7192 030289 arg mem_le_slat ,contr 
+0x7193 030290 call store_inverse_k 
+0x7194 030291 call function_aes_cmac 
+0x7195 030292 arg mem_aes_cmac_k ,contw 
+0x7196 030293 call store_aes_result 
+0x7197 030294 arg 1 ,temp 
+0x7198 030295 call function_f5_common 
+0x7199 030296 arg mem_le_ltk ,contw 
+0x719a 030297 call load_inverse_result 
+0x719b 030298 arg 0 ,temp 
+0x719c 030299 call function_f5_common 
+0x719d 030300 arg mem_le_mackey ,contw 
+0x719e 030302 branch store_aes_result 
+:      030305 function_f5_common:
+0x719f 030306 bpatchx patch3b_4 ,mem_patch3b 
+0x71a0 030307 jam 53 ,mem_aes_cmac_data_length 
+0x71a1 030308 setarg 0x100 
+0x71a2 030309 store 2 ,memdat 
+0x71a3 030310 call store_addr_common_b 
+0x71a4 030311 call store_addr_common_a 
+0x71a5 030312 arg mem_le_srand ,contr 
+0x71a6 030313 call memcpy16 
+0x71a7 030314 arg mem_le_mrand ,contr 
+0x71a8 030315 call memcpy16 
+0x71a9 030317 setarg 0x6c65 
+0x71aa 030318 istore 2 ,contw 
+0x71ab 030319 setarg 0x6274 
+0x71ac 030320 istore 2 ,contw 
+0x71ad 030321 istoret 1 ,contw 
+0x71ae 030322 call inverse_memdat 
+0x71af 030323 branch function_aes_cmac 
+:      030325 store_addr_common_b:
+0x71b0 030326 fetch 6 ,mem_le_lap 
+0x71b1 030327 istore 6 ,contw 
+0x71b2 030328 fetch 1 ,mem_le_conn_own_addr_type 
+0x71b3 030329 istore 1 ,contw 
+0x71b4 030330 rtn 
+:      030332 store_addr_common_a:
+0x71b5 030333 fetch 6 ,mem_le_plap 
+0x71b6 030334 istore 6 ,contw 
+0x71b7 030339 fetch 1 ,mem_le_conn_peer_addr_type 
+0x71b8 030340 istore 1 ,contw 
+0x71b9 030341 rtn 
+:      030343 function_f4_ca:
+0x71ba 030344 jam 65 ,mem_aes_cmac_data_length 
+0x71bb 030345 fetch 1 ,mem_passkey_1bit 
+0x71bc 030346 store 1 ,memdat 
+0x71bd 030347 arg mem_le_pubkey_local_x_256 ,contr 
+0x71be 030348 call memcpy32 
+0x71bf 030349 arg mem_le_pubkey_remote_x_256 ,contr 
+0x71c0 030350 call memcpy32 
+0x71c1 030351 call inverse_memdat 
+0x71c2 030352 arg mem_le_mrand ,contr 
+0x71c3 030353 call store_inverse_k 
+0x71c4 030354 branch function_aes_cmac 
+:      030357 function_f4_cb:
+0x71c5 030358 jam 65 ,mem_aes_cmac_data_length 
+0x71c6 030359 fetch 1 ,mem_passkey_1bit 
+0x71c7 030360 store 1 ,memdat 
+0x71c8 030361 arg mem_le_pubkey_remote_x_256 ,contr 
+0x71c9 030362 call memcpy32 
+0x71ca 030363 arg mem_le_pubkey_local_x_256 ,contr 
+0x71cb 030364 call memcpy32 
+0x71cc 030365 call inverse_memdat 
+0x71cd 030366 arg mem_le_srand ,contr 
+0x71ce 030367 call store_inverse_k 
+0x71cf 030368 branch function_aes_cmac 
+:      030370 function_aes_cmac:
+0x71d0 030371 bpatchx patch3b_5 ,mem_patch3b 
+0x71d1 030372 call function_aes_cmac_generate_subkey 
+0x71d2 030376 fetch 1 ,mem_aes_cmac_data_length 
+0x71d3 030377 copy pdata ,temp 
+:      030378 function_ceil16:
+0x71d4 030379 increase 15 ,pdata 
+0x71d5 030380 rshift4 pdata ,pdata 
+0x71d6 030381 copy pdata ,regb 
+0x71d7 030382 branch function_aes_cmac_set_flag_0_balnk ,blank 
+0x71d8 030383 and temp ,0x0f ,pdata 
+0x71d9 030384 nbranch function_aes_cmac_set_flag_0 ,blank 
+0x71da 030386 arg mem_aes_cmac_k1 ,regc 
+0x71db 030387 arg memdat ,pdata 
+0x71dc 030388 increase -16 ,pdata 
+0x71dd 030391 iadd temp ,rega 
+0x71de 030392 arg mem_aes_cmac_m_last ,contw 
+0x71df 030393 arg 4 ,loopcnt 
+0x71e0 030394 call xor_loop 
+0x71e1 030398 branch function_aes_cmac_aes 
+:      030400 function_aes_cmac_set_flag_0_balnk:
+0x71e2 030401 arg 1 ,regb 
+0x71e3 030402 arg 0 ,rega 
+0x71e4 030404 branch function_aes_cmac_set_flag_0_common 
+:      030407 function_aes_cmac_set_flag_0:
+0x71e5 030409 and temp ,0x0f ,rega 
+:      030410 function_aes_cmac_set_flag_0_common:
+0x71e6 030411 arg memdat ,pdata 
+0x71e7 030412 iadd temp ,pdata 
+0x71e8 030413 isub rega ,contr 
+0x71e9 030415 arg mem_aes_cmac_temp ,contw 
+0x71ea 030416 call function_aes_cmac_padding 
+0x71eb 030418 arg mem_aes_cmac_k2 ,regc 
+0x71ec 030419 arg mem_aes_cmac_temp ,rega 
+0x71ed 030420 arg mem_aes_cmac_m_last ,contw 
+0x71ee 030421 arg 4 ,loopcnt 
+0x71ef 030422 call xor_loop 
+:      030429 function_aes_cmac_aes:
+0x71f0 030434 call aes_clear_data 
+0x71f1 030435 call aes_init 
+0x71f2 030438 arg memdat ,contr 
+:      030439 function_aes_cmac_aes_loop:
+0x71f3 030441 increase -1 ,regb 
+0x71f4 030442 deposit regb 
+0x71f5 030443 branch function_aes_cmac_aes_loop_end ,blank 
+0x71f6 030444 call load_data128 
+0x71f7 030445 call do_aes_cbc 
+0x71f8 030446 branch function_aes_cmac_aes_loop 
+:      030448 function_aes_cmac_aes_loop_end:
+0x71f9 030449 arg mem_aes_cmac_temp ,contw 
+0x71fa 030450 call store_aes_result 
+0x71fb 030451 arg mem_aes_cmac_m_last ,contr 
+0x71fc 030452 call load_data128 
+0x71fd 030453 call aes_init 
+0x71fe 030454 arg mem_aes_cmac_temp ,contr 
+0x71ff 030455 call load_data128 
+0x7200 030456 branch do_aes_cbc 
+:      030460 load_inverse_result:
+0x7201 030462 copy contw ,rega 
+0x7202 030463 call store_aes_result 
+0x7203 030465 arg 16 ,loopcnt 
+0x7204 030466 branch inverse_data 
+:      030468 store_inverse_k:
+0x7205 030469 arg mem_aes_cmac_k ,contw 
+0x7206 030470 call memcpy16 
+:      030471 inverse_k:
+0x7207 030472 arg 16 ,loopcnt 
+0x7208 030473 arg mem_aes_cmac_k ,rega 
+0x7209 030474 branch inverse_data 
+:      030476 inverse_memdat:
+0x720a 030477 fetch 1 ,mem_aes_cmac_data_length 
+0x720b 030478 copy pdata ,loopcnt 
+0x720c 030479 arg memdat ,rega 
+0x720d 030480 branch inverse_data 
+:      030482 bn_lshift_0_inverse:
+0x720e 030483 ifetch 1 ,rega 
+0x720f 030484 lshift pdata ,pdata 
+0x7210 030485 isolate1 0 ,regc 
+0x7211 030486 setflag true ,0 ,pdata 
+0x7212 030487 isolate1 8 ,pdata 
+0x7213 030488 setflag true ,0 ,regc 
+0x7214 030489 istore 1 ,rega 
+0x7215 030490 increase -1 ,rega 
+0x7216 030491 loop bn_lshift_0_inverse 
+0x7217 030492 rtn 
+:      030494 function_aes_cmac_k1_inverse:
+0x7218 030495 arg mem_aes_cmac_k1 ,rega 
+:      030496 function_aes_cmac_inverse_common:
+0x7219 030497 increase 15 ,rega 
+0x721a 030498 force 16 ,loopcnt 
+0x721b 030499 force 0 ,regc 
+0x721c 030500 branch bn_lshift_0_inverse 
+:      030502 function_aes_cmac_k2_inverse:
+0x721d 030503 arg mem_aes_cmac_k2 ,rega 
+0x721e 030504 branch function_aes_cmac_inverse_common 
+:      030507 function_aes_cmac_generate_subkey:
+0x721f 030508 arg mem_aes_cmac_k ,contr 
+0x7220 030509 call load_key 
+0x7221 030512 force regidx_xor ,regext_index 
+0x7222 030513 call aes_clear 
+0x7223 030514 call aes_clear_data 
+0x7224 030515 call do_aes_ocb 
+0x7225 030520 arg mem_aes_cmac_k1 ,contw 
+0x7226 030521 call store_aes_result 
+:      030522 function_aes_cmac_k1:
+0x7227 030523 bpatchx patch3b_6 ,mem_patch3b 
+0x7228 030524 fetch 1 ,mem_aes_cmac_k1 
+0x7229 030525 isolate1 7 ,pdata 
+0x722a 030526 nbranch function_aes_cmac_k1_0 ,true 
+0x722b 030527 call function_aes_cmac_k1_inverse 
+0x722c 030530 arg mem_aes_cmac_k1 ,regc 
+0x722d 030532 arg mem_aes_cmac_k1 ,contw 
+0x722e 030535 call function_aes_cmac_xor_rb 
+0x722f 030536 branch function_aes_cmac_k2 
+:      030537 function_aes_cmac_k1_0:
+0x7230 030538 call function_aes_cmac_k1_inverse 
+:      030539 function_aes_cmac_k2:
+0x7231 030541 arg mem_aes_cmac_k1 ,contr 
+0x7232 030542 arg mem_aes_cmac_k2 ,contw 
+0x7233 030543 call memcpy16 
+0x7234 030544 fetch 1 ,mem_aes_cmac_k2 
+0x7235 030545 isolate1 7 ,pdata 
+0x7236 030546 nbranch function_aes_cmac_k2_inverse ,true 
+0x7237 030547 call function_aes_cmac_k2_inverse 
+0x7238 030549 arg mem_aes_cmac_k2 ,regc 
+0x7239 030551 arg mem_aes_cmac_k2 ,contw 
+:      030557 function_aes_cmac_xor_rb:
+0x723a 030558 arg 3 ,loopcnt 
+:      030559 function_aes_cmac_xor_rb_loop:
+0x723b 030560 arg 0 ,temp 
+0x723c 030561 call function_aes_cmac_xor_loop_common 
+0x723d 030562 increase 4 ,regc 
+0x723e 030563 loop function_aes_cmac_xor_rb_loop 
+0x723f 030564 arg 0x8700 ,temp 
+0x7240 030565 lshift16 temp ,temp 
+:      030566 function_aes_cmac_xor_loop_common:
+0x7241 030567 ifetch 4 ,regc 
+0x7242 030568 ixor temp ,pdata 
+0x7243 030569 istore 4 ,contw 
+0x7244 030570 rtn 
+:      030576 function_aes_cmac_padding:
+0x7245 030577 bpatchx patch3b_7 ,mem_patch3b 
+0x7246 030578 arg 16 ,loopcnt 
+0x7247 030579 arg 0 ,pdata 
+:      030580 function_aes_cmac_padding_loop:
+0x7248 030581 isub rega ,null 
+0x7249 030582 branch function_aes_cmac_padding_beq_length ,zero 
+0x724a 030583 branch function_aes_cmac_padding_big_length ,positive 
+0x724b 030584 ifetcht 1 ,contr 
+0x724c 030585 istoret 1 ,contw 
+:      030586 function_aes_cmac_padding_loop2:
+0x724d 030587 increase 1 ,pdata 
+0x724e 030588 loop function_aes_cmac_padding_loop 
+0x724f 030589 rtn 
+:      030590 function_aes_cmac_padding_beq_length:
+0x7250 030591 arg 0x80 ,temp 
+:      030592 function_aes_cmac_padding_common:
+0x7251 030593 istoret 1 ,contw 
+0x7252 030594 branch function_aes_cmac_padding_loop2 
+:      030596 function_aes_cmac_padding_big_length:
+0x7253 030597 arg 0 ,temp 
+0x7254 030598 branch function_aes_cmac_padding_common 
+:      030601 generate_kinit:
+0x7255 030602 call function_e22 
+0x7256 030603 arg mem_input_store ,contr 
+0x7257 030604 arg mem_kinit ,contw 
+0x7258 030605 branch memcpy16 
+:      030608 function_e21:
+0x7259 030609 disable user 
+0x725a 030610 call function_expand 
+0x725b 030611 arg mem_random_number ,contr 
+0x725c 030612 arg mem_x ,contw 
+0x725d 030613 force 15 ,loopcnt 
+0x725e 030614 call memcpy 
+0x725f 030615 ifetch 1 ,contr 
+0x7260 030616 xor_into 6 ,pdata 
+0x7261 030617 istore 1 ,contw 
+0x7262 030618 setarg mem_y 
+0x7263 030619 store 2 ,memp_ar_input 
+0x7264 030620 setarg mem_x 
+0x7265 030621 store 2 ,memp_ar_key 
+0x7266 030622 set1 mark_ar2 ,mark 
+0x7267 030623 branch function_ar 
+:      030627 function_e22:
+0x7268 030628 fetcht 1 ,mem_pin_length 
+0x7269 030629 force 16 ,regb 
+0x726a 030630 add temp ,6 ,regc 
+0x726b 030631 sub regc ,16 ,null 
+0x726c 030632 branch function_e22_pin_init ,positive 
+0x726d 030633 force 16 ,regc 
+:      030634 function_e22_pin_init:
+0x726e 030635 arg mem_x ,contw 
+:      030636 function_e22_genx_pin:
+0x726f 030637 arg mem_pin ,contr 
+0x7270 030638 copy temp ,loopcnt 
+0x7271 030639 disable user 
+:      030640 function_e22_genx_loop:
+0x7272 030641 ifetch 1 ,contr 
+0x7273 030642 istore 1 ,contw 
+0x7274 030643 increase -1 ,regb 
+0x7275 030644 branch function_e22_genx_end ,zero 
+0x7276 030645 loop function_e22_genx_loop 
+0x7277 030646 branch function_e22_genx_pin ,user 
+0x7278 030647 enable user 
+0x7279 030648 force 6 ,loopcnt 
+0x727a 030649 copy rega ,contr 
+0x727b 030650 branch function_e22_genx_loop 
+:      030651 function_e22_genx_end:
+0x727c 030652 arg mem_random_number ,contr 
+0x727d 030653 arg mem_y ,contw 
+0x727e 030654 call memcpy16 
+0x727f 030655 fetch 1 ,mem_y15 
+0x7280 030656 ixor regc ,pdata 
+0x7281 030657 store 1 ,mem_y15 
+0x7282 030658 setarg mem_y 
+0x7283 030659 store 2 ,memp_ar_input 
+0x7284 030660 setarg mem_x 
+0x7285 030661 store 2 ,memp_ar_key 
+0x7286 030662 set1 mark_ar2 ,mark 
+0x7287 030663 branch function_ar 
+:      030668 function_e1:
+0x7288 030669 disable user 
+0x7289 030670 call function_expand 
+0x728a 030671 branch function_hash 
+:      030673 function_e3:
+0x728b 030674 arg mem_aco ,rega 
+0x728c 030675 enable user 
+0x728d 030676 call function_expand 
+0x728e 030677 call function_hash 
+0x728f 030678 arg mem_input_store ,contr 
+0x7290 030679 arg mem_kc ,contw 
+0x7291 030680 branch memcpy16 
+:      030683 function_hash:
+0x7292 030684 setarg mem_random_number 
+0x7293 030685 store 2 ,memp_ar_input 
+0x7294 030686 setarg mem_link_key 
+0x7295 030687 store 2 ,memp_ar_key 
+0x7296 030688 set0 mark_ar2 ,mark 
+0x7297 030689 call function_ar 
+0x7298 030690 arg mem_input_store ,rega 
+0x7299 030691 arg mem_random_number ,regb 
+0x729a 030692 arg mem_x ,contw 
+0x729b 030693 call xor16 
+0x729c 030694 arg mem_x ,rega 
+0x729d 030695 arg mem_y ,regb 
+0x729e 030696 copy regb ,contw 
+0x729f 030697 enable user 
+0x72a0 030698 call add16 
+0x72a1 030699 call key_offset 
+0x72a2 030700 setarg mem_y 
+0x72a3 030701 store 2 ,memp_ar_input 
+0x72a4 030702 setarg mem_x 
+0x72a5 030703 store 2 ,memp_ar_key 
+0x72a6 030704 set1 mark_ar2 ,mark 
+0x72a7 030705 branch function_ar 
+:      030709 function_ar:
+0x72a8 030710 jam 0 ,mem_ar_hround 
+0x72a9 030711 fetch 2 ,memp_ar_key 
+0x72aa 030712 iforce contr 
+0x72ab 030713 arg mem_key_store ,contw 
+0x72ac 030714 call memcpy16 
+0x72ad 030715 fetch 2 ,memp_ar_input 
+0x72ae 030716 iforce contr 
+0x72af 030717 arg mem_input_store ,contw 
+0x72b0 030718 call memcpy16 
+:      030720 function_ar_loop:
+0x72b1 030721 call key_scheduling 
+0x72b2 030722 disable user 
+0x72b3 030723 bmark0 mark_ar2 ,function_ar_original 
+0x72b4 030724 fetch 1 ,mem_ar_hround 
+0x72b5 030725 bne 4 ,function_ar_original 
+0x72b6 030726 fetch 2 ,memp_ar_input 
+0x72b7 030727 iforce regb 
+0x72b8 030728 call xor_mod32_ar2 
+:      030729 function_ar_original:
+0x72b9 030730 call xor_mod32 
+0x72ba 030731 call el_boxes 
+0x72bb 030732 fetch 1 ,mem_ar_hround 
+0x72bc 030733 increase 1 ,pdata 
+0x72bd 030734 store 1 ,mem_ar_hround 
+0x72be 030736 call key_scheduling 
+0x72bf 030737 enable user 
+0x72c0 030738 call xor_mod32 
+0x72c1 030739 call pht 
+0x72c2 030740 call permute 
+0x72c3 030741 call pht 
+0x72c4 030742 call permute 
+0x72c5 030743 call pht 
+0x72c6 030744 call permute 
+0x72c7 030745 call pht 
+0x72c8 030746 fetch 1 ,mem_ar_hround 
+0x72c9 030747 increase 1 ,pdata 
+0x72ca 030748 store 1 ,mem_ar_hround 
+0x72cb 030749 bne 16 ,function_ar_loop 
+0x72cc 030750 call key_scheduling 
+0x72cd 030751 disable user 
+0x72ce 030752 branch xor_mod32 
+:      030756 key_scheduling:
+0x72cf 030757 fetch 1 ,mem_ar_hround 
+0x72d0 030758 arg mem_key_store ,contr 
+0x72d1 030759 branch key_sched_zero ,blank 
+0x72d2 030760 iforce regb 
+0x72d3 030761 force 17 ,loopcnt 
+0x72d4 030762 copy contr ,contw 
+:      030763 key_rotateloop:
+0x72d5 030764 ifetch 1 ,contr 
+0x72d6 030765 lshift3 pdata ,temp 
+0x72d7 030766 rshift2 pdata ,pdata 
+0x72d8 030767 rshift3 pdata ,pdata 
+0x72d9 030768 ior temp ,pdata 
+0x72da 030769 istore 1 ,contw 
+0x72db 030770 loop key_rotateloop 
+0x72dc 030771 setarg mem_key_store 
+0x72dd 030772 iadd regb ,contr 
+0x72de 030773 force 16 ,loopcnt 
+0x72df 030774 arg mem_round_key ,contw 
+:      030775 key_select_octet_loop:
+0x72e0 030776 ifetch 1 ,contr 
+0x72e1 030777 istore 1 ,contw 
+0x72e2 030778 compare mem_key_store_end ,contr ,0xff 
+0x72e3 030779 nbranch key_select_octet_nwrap ,true 
+0x72e4 030780 increase -17 ,contr 
+:      030781 key_select_octet_nwrap:
+0x72e5 030782 loop key_select_octet_loop 
+0x72e6 030783 force 0 ,rega 
+0x72e7 030784 add regb ,-1 ,regc 
+0x72e8 030785 lshift2 regc ,regc 
+0x72e9 030786 lshift2 regc ,regc 
+0x72ea 030787 call enable_authrom 
+0x72eb 030788 setarg mem_b_box 
+0x72ec 030789 iadd regc ,regc 
+0x72ed 030790 arg mem_round_key ,contw 
+0x72ee 030791 force 16 ,loopcnt 
+:      030792 bias_round_key_loop:
+0x72ef 030793 ifetcht 1 ,regc 
+0x72f0 030794 ifetch 1 ,contw 
+0x72f1 030795 iadd temp ,pdata 
+0x72f2 030796 istore 1 ,contw 
+0x72f3 030797 increase 1 ,regc 
+0x72f4 030798 loop bias_round_key_loop 
+0x72f5 030799 branch disable_authrom 
+:      030801 key_sched_zero:
+0x72f6 030802 force 16 ,loopcnt 
+0x72f7 030803 force 0 ,temp 
+:      030804 create_byte_16_loop:
+0x72f8 030805 ifetch 1 ,contr 
+0x72f9 030806 ixor temp ,temp 
+0x72fa 030807 loop create_byte_16_loop 
+0x72fb 030808 deposit temp 
+0x72fc 030809 istore 1 ,contr 
+0x72fd 030810 arg mem_key_store ,contr 
+0x72fe 030811 arg mem_round_key ,contw 
+0x72ff 030812 branch memcpy16 
+:      030814 xor_mod32:
+0x7300 030815 arg mem_round_key ,regb 
+:      030816 xor_mod32_ar2:
+0x7301 030817 force 16 ,loopcnt 
+0x7302 030818 arg mem_input_store ,rega 
+0x7303 030819 copy rega ,contw 
+:      030820 xor_mod32_loop:
+0x7304 030821 ifetcht 1 ,rega 
+0x7305 030822 ifetch 1 ,regb 
+0x7306 030823 ixor temp ,alarm 
+0x7307 030824 and loopcnt ,3 ,regc 
+0x7308 030825 nbranch xor_mod32_invert ,user 
+0x7309 030826 xor_into 3 ,regc 
+:      030827 xor_mod32_invert:
+0x730a 030828 sub regc ,1 ,regc 
+0x730b 030829 branch xor_even ,positive 
+0x730c 030830 iadd temp ,alarm 
+:      030831 xor_even:
+0x730d 030832 deposit alarm 
+0x730e 030833 istore 1 ,contw 
+0x730f 030834 increase 1 ,rega 
+0x7310 030835 increase 1 ,regb 
+0x7311 030836 loop xor_mod32_loop 
+0x7312 030837 rtn 
+:      030839 el_boxes:
+0x7313 030840 call enable_authrom 
+0x7314 030841 force 16 ,loopcnt 
+0x7315 030842 arg mem_input_store ,rega 
+:      030843 el_box_loop:
+0x7316 030844 ifetch 1 ,rega 
+0x7317 030845 arg mem_e_box ,contr 
+0x7318 030846 and loopcnt ,3 ,regc 
+0x7319 030847 sub regc ,1 ,null 
+0x731a 030848 branch e_boxes ,positive 
+0x731b 030849 arg mem_l_box ,contr 
+:      030850 e_boxes:
+0x731c 030851 iadd contr ,contr 
+0x731d 030852 ifetch 1 ,contr 
+0x731e 030853 istore 1 ,rega 
+0x731f 030854 increase 1 ,rega 
+0x7320 030855 loop el_box_loop 
+0x7321 030856 branch disable_authrom 
+:      030858 pht:
+0x7322 030859 force 8 ,loopcnt 
+0x7323 030860 arg mem_input_store ,contr 
+0x7324 030861 copy contr ,contw 
+:      030862 pht_loop:
+0x7325 030863 ifetch 1 ,contr 
+0x7326 030864 iforce rega 
+0x7327 030865 ifetch 1 ,contr 
+0x7328 030866 iforce regb 
+0x7329 030867 lshift rega ,pdata 
+0x732a 030868 iadd regb ,pdata 
+0x732b 030869 istore 1 ,contw 
+0x732c 030870 deposit rega 
+0x732d 030871 iadd regb ,pdata 
+0x732e 030872 istore 1 ,contw 
+0x732f 030873 loop pht_loop 
+0x7330 030874 rtn 
+:      030877 permute:
+0x7331 030878 setarg 0x8ae42c 
+0x7332 030879 iforce temp 
+0x7333 030880 force 7 ,loopcnt 
+0x7334 030881 call permute_exchange 
+0x7335 030882 setarg 0xd751b 
+0x7336 030883 iforce temp 
+0x7337 030884 force 5 ,loopcnt 
+0x7338 030885 call permute_exchange 
+0x7339 030886 fetch 1 ,mem_input_store + 15 
+0x733a 030887 iforce rega 
+0x733b 030888 fetch 1 ,mem_input_store + 3 
+0x733c 030889 store 1 ,mem_input_store + 15 
+0x733d 030890 deposit rega 
+0x733e 030891 store 1 ,mem_input_store + 3 
+0x733f 030892 rtn 
+:      030894 permute_exchange:
+0x7340 030895 and temp ,0xf ,regb 
+:      030896 permute_loop:
+0x7341 030897 and temp ,0xf ,pdata 
+0x7342 030898 arg mem_input_store ,contw 
+0x7343 030899 iadd contw ,contw 
+0x7344 030900 ifetch 1 ,contw 
+0x7345 030901 iforce regc 
+0x7346 030902 deposit rega 
+0x7347 030903 istore 1 ,contw 
+0x7348 030904 copy regc ,rega 
+0x7349 030905 rshift4 temp ,temp 
+0x734a 030906 loop permute_loop 
+0x734b 030907 setarg mem_input_store 
+0x734c 030908 iadd regb ,contw 
+0x734d 030909 deposit rega 
+0x734e 030910 istore 1 ,contw 
+0x734f 030911 rtn 
+:      030913 add16:
+0x7350 030914 enable user 
+0x7351 030915 branch xor_add16 
+:      030917 xor16:
+0x7352 030918 disable user 
+:      030919 xor_add16:
+0x7353 030920 force 16 ,loopcnt 
+:      030921 xoradd_loop:
+0x7354 030922 ifetcht 1 ,rega 
+0x7355 030923 ifetch 1 ,regb 
+0x7356 030924 branch xoradd_add ,user 
+0x7357 030925 ixor temp ,pdata 
+0x7358 030926 branch xoradd_store 
+:      030927 xoradd_add:
+0x7359 030928 iadd temp ,pdata 
+:      030929 xoradd_store:
+0x735a 030930 istore 1 ,contw 
+0x735b 030931 increase 1 ,rega 
+0x735c 030932 increase 1 ,regb 
+0x735d 030933 loop xoradd_loop 
+0x735e 030934 rtn 
+:      030937 function_expand:
+0x735f 030938 arg mem_y ,contw 
+0x7360 030939 ifetch 6 ,rega 
+0x7361 030940 istore 6 ,contw 
+0x7362 030941 branch expand_12 ,user 
+0x7363 030942 ifetch 6 ,rega 
+0x7364 030943 branch expand_cont 
+:      030944 expand_12:
+0x7365 030945 ifetch 6 ,contr 
+:      030946 expand_cont:
+0x7366 030947 istore 6 ,contw 
+0x7367 030948 ifetch 4 ,rega 
+0x7368 030949 istore 4 ,contw 
+0x7369 030950 rtn 
+:      030952 key_offset:
+0x736a 030953 arg mem_link_key ,contr 
+0x736b 030954 arg mem_x ,contw 
+0x736c 030955 arg 0 ,temp 
+0x736d 030956 setarg 0x8395a7 
+0x736e 030957 call concatenate_temp24 
+0x736f 030958 setarg 0xb3c1df 
+0x7370 030959 call concatenate_temp24 
+0x7371 030960 setarg 0xe5e9 
+0x7372 030961 call concatenate_temp16 
+0x7373 030962 copy temp ,regab 
+0x7374 030963 disable user 
+0x7375 030964 call key_addxor 
+0x7376 030965 copy regab ,temp 
+0x7377 030966 enable user 
+0x7378 030967 branch key_addxor 
+:      030969 key_addxor:
+0x7379 030970 force 8 ,loopcnt 
+:      030971 key_addxor_loop:
+0x737a 030972 ifetch 1 ,contr 
+0x737b 030973 compare 1 ,loopcnt ,1 
+0x737c 030974 branch key_high ,user 
+0x737d 030975 branch key_xor ,true 
+:      030976 key_add:
+0x737e 030977 iadd temp ,pdata 
+0x737f 030978 branch key_store 
+:      030979 key_high:
+0x7380 030980 branch key_add ,true 
+:      030981 key_xor:
+0x7381 030982 ixor temp ,pdata 
+:      030983 key_store:
+0x7382 030984 istore 1 ,contw 
+0x7383 030985 rshift8 temp ,temp 
+0x7384 030986 loop key_addxor_loop 
+0x7385 030987 rtn 
+:      030989 copy_aco:
+0x7386 030990 fetch 6 ,mem_input_store + 4 
+0x7387 030991 store 6 ,mem_aco 
+0x7388 030992 ifetch 6 ,contr 
+0x7389 030993 istore 6 ,contw 
+0x738a 030994 rtn 
+:      030996 concatenate_temp24:
+0x738b 030997 lshift8 temp ,temp 
+:      030998 concatenate_temp16:
+0x738c 030999 lshift16 temp ,temp 
+0x738d 031000 ior temp ,temp 
+0x738e 031001 rtn 
+:      031005 loop1:
+0x738f 031006 branch loop1 
+:      031010 generate_stk:
+0x7390 031011 bpatchx patch3c_0 ,mem_patch3c 
+0x7391 031012 call function_s1 
+0x7392 031013 arg mem_le_ltk ,contw 
+0x7393 031014 branch store_aes_result 
+:      031017 authenticate_rconfirm:
+0x7394 031018 arg mem_le_srand ,contw 
+0x7395 031019 branch authenticate_mconfirm ,master 
+0x7396 031020 arg mem_le_mrand ,contw 
+:      031021 authenticate_mconfirm:
+0x7397 031022 copy contr ,rega 
+0x7398 031023 call memcpy16 
+0x7399 031024 call function_c1 
+0x739a 031025 arg mem_le_rconfirm ,contr 
+0x739b 031026 branch compare_res 
+:      031028 generate_confirm:
+0x739c 031029 arg mem_le_mrand ,rega 
+0x739d 031030 branch generate_mrand ,master 
+0x739e 031031 arg mem_le_srand ,rega 
+:      031032 generate_mrand:
+0x739f 031033 copy rega ,contw 
+0x73a0 031034 call generate_random 
+0x73a1 031035 branch function_c1 
+:      031037 generate_sk:
+0x73a2 031038 arg mem_le_skdm ,contr 
+0x73a3 031039 call load_data128 
+0x73a4 031040 arg mem_le_ltk ,contr 
+0x73a5 031041 call load_regext 
+0x73a6 031042 force 0x38 ,aes_ctrl 
+0x73a7 031043 force 0x0 ,aes_ctrl 
+0x73a8 031044 call wait_aes 
+0x73a9 031045 arg mem_le_sk ,contw 
+0x73aa 031046 branch store_aes_result 
+:      031049 first_block_counter:
+0x73ab 031050 force 0x49 ,pdata 
+0x73ac 031051 branch first_block 
+:      031052 first_block_data:
+0x73ad 031053 force 1 ,pdata 
+:      031054 first_block:
+0x73ae 031055 force regidx_data ,regext_index 
+0x73af 031056 lshift8 temp ,regext 
+0x73b0 031057 ior regext ,regext 
+0x73b1 031058 increase 1 ,regext_index 
+0x73b2 031059 rshift8 temp ,regext 
+0x73b3 031060 rshift16 regext ,regext 
+0x73b4 031061 fetch 2 ,mem_le_ivm 
+0x73b5 031062 lshift16 ,pdata ,pdata 
+0x73b6 031063 ior regext ,regext 
+0x73b7 031064 increase 1 ,regext_index 
+0x73b8 031065 ifetch 4 ,contr 
+0x73b9 031066 iforce regext 
+0x73ba 031067 increase 1 ,regext_index 
+0x73bb 031068 ifetch 2 ,contr 
+0x73bc 031069 byteswap rega ,regext 
+0x73bd 031070 lshift16 regext ,regext 
+0x73be 031071 ior regext ,regext 
+0x73bf 031072 increase 1 ,regext_index 
+0x73c0 031073 rtn 
+:      031077 generate_mic:
+0x73c1 031078 add regc ,1 ,contr 
+0x73c2 031079 ifetch 1 ,contr 
+0x73c3 031080 iforce rega 
+0x73c4 031081 call first_block_counter 
+0x73c5 031082 call do_aes_ocb 
+0x73c6 031084 force regidx_data ,regext_index 
+0x73c7 031085 ifetch 1 ,regc 
+0x73c8 031086 and_into 0x3 ,pdata 
+0x73c9 031087 lshift16 pdata ,regext 
+0x73ca 031088 set1 8 ,regext 
+0x73cb 031089 call clear_hidata 
+0x73cc 031090 call do_aes_cbc 
+0x73cd 031092 copy rega ,loopcnt 
+0x73ce 031093 add regc ,2 ,contr 
+0x73cf 031094 call padding_data 
+:      031095 generate_mic_loop:
+0x73d0 031096 call aes_load_data 
+0x73d1 031097 call do_aes_cbc 
+0x73d2 031098 deposit loopcnt 
+0x73d3 031099 branch generate_mic_end ,blank 
+0x73d4 031100 branch generate_mic_loop 
+:      031101 generate_mic_end:
+0x73d5 031102 force regidx_result ,regext_index 
+0x73d6 031103 deposit regext 
+0x73d7 031104 store 4 ,mem_le_mic 
+0x73d8 031105 rtn 
+:      031107 aes_crypt_data:
+0x73d9 031108 increase 1 ,rega 
+0x73da 031109 call first_block_data 
+0x73db 031110 copy regc ,contr 
+0x73dc 031111 call aes_load_xor 
+0x73dd 031112 call do_aes_ctr 
+0x73de 031113 call store_enc_data 
+0x73df 031114 increase 16 ,regc 
+0x73e0 031115 increase -16 ,regb 
+0x73e1 031116 branch aes_crypt_data ,positive 
+0x73e2 031117 rtn 
+:      031119 le_encrypt:
+0x73e3 031120 bpatchx patch3c_1 ,mem_patch3c 
+0x73e4 031121 arg mem_le_txheader ,regc 
+0x73e5 031122 fetcht 5 ,mem_le_pcnt_tx 
+0x73e6 031123 call generate_mic 
+0x73e7 031124 force regidx_xor ,regext_index 
+0x73e8 031125 iforce regext 
+0x73e9 031126 force 0 ,rega 
+0x73ea 031127 call first_block_data 
+0x73eb 031128 call do_aes_ctr 
+0x73ec 031129 arg mem_le_txpayload ,regc 
+0x73ed 031130 fetch 1 ,mem_le_txlen 
+0x73ee 031131 add pdata ,-1 ,regb 
+0x73ef 031132 iadd regc ,contw 
+0x73f0 031133 force regidx_result ,regext_index 
+0x73f1 031134 deposit regext 
+0x73f2 031135 istore 4 ,contw 
+0x73f3 031136 call aes_crypt_data 
+0x73f4 031137 fetch 1 ,mem_le_txlen 
+0x73f5 031138 increase 4 ,pdata 
+0x73f6 031139 store 1 ,mem_le_txlen 
+0x73f7 031140 fetcht 5 ,mem_le_pcnt_tx 
+0x73f8 031141 increase 1 ,temp 
+0x73f9 031142 storet 5 ,mem_le_pcnt_tx 
+0x73fa 031143 rtn 
+:      031145 le_decrypt:
+0x73fb 031146 bpatchx patch3c_2 ,mem_patch3c 
+0x73fc 031147 fetch 1 ,mem_le_rxbuf + 1 
+0x73fd 031148 sub pdata ,20 ,null 
+0x73fe 031149 branch le_dec_cont ,positive 
+:      031150 le_dec_cont:
+0x73ff 031151 arg mem_le_rxbuf + 2 ,regc 
+0x7400 031152 add pdata ,-1 ,regb 
+0x7401 031153 increase -4 ,pdata 
+0x7402 031154 store 1 ,mem_le_rxbuf + 1 
+0x7403 031155 iadd regc ,contr 
+0x7404 031156 ifetch 4 ,contr 
+0x7405 031157 force regidx_xor ,regext_index 
+0x7406 031158 iforce regext 
+0x7407 031159 force 0 ,rega 
+0x7408 031160 fetcht 5 ,mem_le_pcnt_rx 
+0x7409 031161 call first_block_data 
+0x740a 031162 call do_aes_ctr 
+0x740b 031163 force regidx_result ,regext_index 
+0x740c 031164 deposit regext 
+0x740d 031165 store 4 ,mem_le_peer_mic 
+0x740e 031166 call aes_crypt_data 
+0x740f 031167 arg mem_le_rxbuf ,regc 
+0x7410 031168 call generate_mic 
+0x7411 031169 fetcht 4 ,mem_le_peer_mic 
+0x7412 031170 isub temp ,pdata 
+0x7413 031171 nrtn blank 
+0x7414 031172 fetch 4 ,mem_le_last_mic 
+0x7415 031173 isub temp ,pdata 
+0x7416 031174 rtn blank 
+0x7417 031175 storet 4 ,mem_le_last_mic 
+0x7418 031176 fetch 5 ,mem_le_pcnt_rx 
+0x7419 031177 increase 1 ,pdata 
+0x741a 031178 store 5 ,mem_le_pcnt_rx 
+0x741b 031179 force 0 ,pdata 
+0x741c 031180 rtn 
+:      031182 wait_aes:
+0x741d 031183 nbranch wait_aes ,aes_ready 
+0x741e 031184 rtn 
+:      031186 do_aes_ocb:
+0x741f 031187 force 0x30 ,aes_ctrl 
+0x7420 031188 force 0x0 ,aes_ctrl 
+0x7421 031189 branch wait_aes 
+:      031191 do_aes_cbc:
+0x7422 031192 force 0x32 ,aes_ctrl 
+0x7423 031193 force 0x2 ,aes_ctrl 
+0x7424 031194 branch wait_aes 
+:      031196 do_aes_ctr:
+0x7425 031197 force 0x34 ,aes_ctrl 
+0x7426 031198 force 0x4 ,aes_ctrl 
+0x7427 031199 branch wait_aes 
+:      031202 aes_init:
+0x7428 031203 force 1 ,aes_ctrl 
+0x7429 031204 force 0 ,aes_ctrl 
+0x742a 031205 rtn 
+:      031206 function_s1:
+0x742b 031207 force regidx_data ,regext_index 
+0x742c 031208 fetch 4 ,mem_le_mrand 
+0x742d 031209 iforce regext 
+0x742e 031210 increase 1 ,regext_index 
+0x742f 031211 ifetch 4 ,contr 
+0x7430 031212 iforce regext 
+0x7431 031213 increase 1 ,regext_index 
+0x7432 031214 fetch 4 ,mem_le_srand 
+0x7433 031215 iforce regext 
+0x7434 031216 increase 1 ,regext_index 
+0x7435 031217 ifetch 4 ,contr 
+0x7436 031218 iforce regext 
+0x7437 031219 increase 1 ,regext_index 
+0x7438 031220 call aes_clear 
+0x7439 031221 increase -4 ,regext_index 
+0x743a 031222 fetch 4 ,mem_le_tk 
+0x743b 031223 copy pdata ,regext 
+0x743c 031224 increase 4 ,regext_index 
+0x743d 031225 force 0x38 ,aes_ctrl 
+0x743e 031226 force 0x8 ,aes_ctrl 
+0x743f 031227 branch wait_aes 
+:      031230 function_c1:
+0x7440 031231 bpatchx patch3c_3 ,mem_patch3c 
+0x7441 031232 fetch 6 ,mem_le_lap 
+0x7442 031233 fetcht 6 ,mem_le_plap 
+0x7443 031234 branch function_c1_master ,master 
+0x7444 031235 fetch 6 ,mem_le_plap 
+0x7445 031236 fetcht 6 ,mem_le_lap 
+:      031237 function_c1_master:
+0x7446 031238 force regidx_xor ,regext_index 
+0x7447 031239 copy temp ,regext 
+0x7448 031240 increase 1 ,regext_index 
+0x7449 031241 rshift32 temp ,regext 
+0x744a 031242 lshift16 pdata ,pdata 
+0x744b 031243 ior regext ,regext 
+0x744c 031244 increase 1 ,regext_index 
+0x744d 031245 rshift32 pdata ,regext 
+0x744e 031246 increase 1 ,regext_index 
+0x744f 031247 force 0 ,regext 
+0x7450 031248 force 0 ,pdata 
+0x7451 031249 fetch 1 ,mem_le_conn_peer_addr_type 
+0x7452 031250 fetcht 1 ,mem_le_adv_own_addr_type 
+0x7453 031251 nbranch function_c1_irat ,master 
+0x7454 031253 fetch 1 ,mem_le_conn_own_addr_type 
+0x7455 031254 fetcht 1 ,mem_le_conn_peer_addr_type 
+:      031255 function_c1_irat:
+0x7456 031256 store 1 ,mem_le_iat 
+0x7457 031257 storet 1 ,mem_le_rat 
+0x7458 031258 force regidx_data ,regext_index 
+0x7459 031259 arg mem_le_iat ,regb 
+0x745a 031260 force 4 ,loopcnt 
+:      031261 function_c1_loop1:
+0x745b 031262 ifetch 4 ,rega 
+0x745c 031263 ifetcht 4 ,regb 
+0x745d 031264 ixor temp ,regext 
+0x745e 031265 increase 1 ,regext_index 
+0x745f 031266 increase 4 ,rega 
+0x7460 031267 increase 4 ,regb 
+0x7461 031268 loop function_c1_loop1 
+0x7462 031269 call aes_clear 
+0x7463 031270 increase -4 ,regext_index 
+0x7464 031271 fetch 4 ,mem_le_tk 
+0x7465 031272 copy pdata ,regext 
+0x7466 031273 increase 4 ,regext_index 
+0x7467 031274 force 0x38 ,aes_ctrl 
+0x7468 031275 force 0xc ,aes_ctrl 
+0x7469 031276 call wait_aes 
+0x746a 031278 call aes_clear_data 
+0x746b 031279 force 0x3a ,aes_ctrl 
+0x746c 031280 force 0x8 ,aes_ctrl 
+0x746d 031281 branch wait_aes 
+:      031283 padding_data:
+0x746e 031284 compare 0 ,loopcnt ,3 
+0x746f 031285 rtn true 
+0x7470 031286 deposit contr 
+0x7471 031287 iadd loopcnt ,contw 
+0x7472 031288 force 0 ,pdata 
+:      031289 padding_loop:
+0x7473 031290 istore 1 ,contw 
+0x7474 031291 increase 1 ,loopcnt 
+0x7475 031292 compare 0 ,loopcnt ,3 
+0x7476 031293 rtn true 
+0x7477 031294 branch padding_loop 
+:      031296 aes_load_data:
+0x7478 031297 force regidx_data ,regext_index 
+:      031298 load_data_loop:
+0x7479 031299 deposit loopcnt 
+0x747a 031300 branch load_data_padding ,blank 
+0x747b 031301 ifetch 4 ,contr 
+0x747c 031302 increase -4 ,loopcnt 
+:      031303 load_data_padding:
+0x747d 031304 iforce regext 
+0x747e 031305 increase 1 ,regext_index 
+0x747f 031306 compare regidx_key ,regext_index ,0xf 
+0x7480 031307 rtn true 
+0x7481 031308 branch load_data_loop 
+:      031310 aes_load_xor:
+0x7482 031311 force regidx_xor ,regext_index 
+0x7483 031312 branch load_regext 
+:      031313 load_key:
+0x7484 031314 force regidx_key ,regext_index 
+0x7485 031315 branch load_regext 
+:      031316 load_data128:
+0x7486 031317 force regidx_data ,regext_index 
+:      031318 load_regext:
+0x7487 031319 force 4 ,loopcnt 
+:      031320 load_regext_loop:
+0x7488 031321 ifetch 4 ,contr 
+0x7489 031322 iforce regext 
+0x748a 031323 increase 1 ,regext_index 
+0x748b 031324 loop load_regext_loop 
+0x748c 031325 rtn 
+:      031327 load_sk:
+0x748d 031328 arg mem_le_sk ,contr 
+0x748e 031329 branch load_key 
+:      031331 clear_hidata:
+0x748f 031332 force 4 ,loopcnt 
+0x7490 031333 branch clear_data_rest 
+:      031335 aes_clear_data:
+0x7491 031336 force regidx_data ,regext_index 
+:      031337 aes_clear:
+0x7492 031338 force 4 ,loopcnt 
+:      031339 clear_loop:
+0x7493 031340 force 0 ,regext 
+:      031341 clear_data_rest:
+0x7494 031342 increase 1 ,regext_index 
+0x7495 031343 loop clear_loop 
+0x7496 031344 rtn 
+:      031346 store_aes_result:
+0x7497 031347 force regidx_result ,regext_index 
+0x7498 031348 force 4 ,loopcnt 
+:      031349 send_aes_result_loop:
+0x7499 031350 deposit regext 
+0x749a 031351 istore 4 ,contw 
+0x749b 031352 increase 1 ,regext_index 
+0x749c 031353 loop send_aes_result_loop 
+0x749d 031354 rtn 
+:      031356 store_enc_data:
+0x749e 031357 force regidx_result ,regext_index 
+0x749f 031358 copy regc ,contw 
+0x74a0 031359 add regb ,1 ,loopcnt 
+0x74a1 031360 sub loopcnt ,15 ,null 
+0x74a2 031361 branch store_enc_loop ,positive 
+0x74a3 031362 force 16 ,loopcnt 
+:      031363 store_enc_loop:
+0x74a4 031364 deposit regext 
+0x74a5 031365 sub loopcnt ,3 ,null 
+0x74a6 031366 branch store_enc_byte ,positive 
+0x74a7 031367 istore 4 ,contw 
+0x74a8 031368 increase -4 ,loopcnt 
+0x74a9 031369 rtn zero 
+0x74aa 031370 increase 1 ,regext_index 
+0x74ab 031371 branch store_enc_loop 
+:      031372 store_enc_byte:
+0x74ac 031373 istore 1 ,contw 
+0x74ad 031374 rshift8 pdata ,pdata 
+0x74ae 031375 loop store_enc_byte 
+0x74af 031376 rtn 
+:      031379 compare_res:
+0x74b0 031380 force regidx_result ,regext_index 
+0x74b1 031381 force 4 ,loopcnt 
+:      031382 compare_res_loop:
+0x74b2 031383 ifetch 4 ,contr 
+0x74b3 031384 isub regext ,null 
+0x74b4 031385 nrtn zero 
+0x74b5 031386 increase 1 ,regext_index 
+0x74b6 031387 loop compare_res_loop 
+0x74b7 031388 force 0 ,null 
+0x74b8 031389 rtn 
+:      031391 enable_authrom:
+0x74b9 031392 hfetch 1 ,core_clkoff 
+0x74ba 031393 set0 clock_off_auth_rom ,pdata 
+0x74bb 031394 hstore 1 ,core_clkoff 
+0x74bc 031395 rtn 
+:      031397 disable_authrom:
+0x74bd 031398 hfetch 1 ,core_clkoff 
+0x74be 031399 set1 clock_off_auth_rom ,pdata 
+0x74bf 031400 hstore 1 ,core_clkoff 
+0x74c0 031401 rtn 
+:      031403 init_memp:
+0x74c1 031404 arg mem_p ,contw 
+0x74c2 031405 setsect 0 ,0x3ffff 
+0x74c3 031406 setsect 1 ,0x3ffff 
+0x74c4 031407 setsect 2 ,0x3ffff 
+0x74c5 031408 setsect 3 ,0x3fbff 
+0x74c6 031409 istore 9 ,contw 
+0x74c7 031410 setsect 0 ,0x3ffff 
+0x74c8 031411 setsect 1 ,0x3ffff 
+0x74c9 031412 setsect 2 ,0x3ffff 
+0x74ca 031413 setsect 3 ,0x3ffff 
+0x74cb 031414 istore 9 ,contw 
+0x74cc 031415 setsect 0 ,0x3ffff 
+0x74cd 031416 setsect 1 ,0x3ffff 
+0x74ce 031417 setsect 2 ,0x3cfff 
+0x74cf 031418 setsect 3 ,0x3ffff 
+0x74d0 031419 istore 9 ,contw 
+0x74d1 031420 setsect 0 ,0x3ffff 
+0x74d2 031421 setsect 1 ,0x3ffff 
+0x74d3 031422 setsect 2 ,0x3ffef 
+0x74d4 031423 setsect 3 ,0x3ffff 
+0x74d5 031424 istore 9 ,contw 
+0x74d6 031425 setsect 0 ,0x3ffff 
+0x74d7 031426 setsect 1 ,0x3ffff 
+0x74d8 031427 setsect 2 ,0x3ffff 
+0x74d9 031428 setsect 3 ,0x3ffff 
+0x74da 031429 istore 9 ,contw 
+0x74db 031430 setsect 0 ,0x3ffff 
+0x74dc 031431 setsect 1 ,0x26c7f 
+0x74dd 031432 setsect 2 ,0x146b 
+0x74de 031433 setsect 3 ,0x37bb3 
+0x74df 031434 istore 9 ,contw 
+0x74e0 031435 setsect 0 ,0x1feb8 
+0x74e1 031436 setsect 1 ,0x10c12 
+0x74e2 031437 setsect 2 ,0x2b722 
+0x74e3 031438 setsect 3 ,0x29fa6 
+0x74e4 031439 istore 9 ,contw 
+0x74e5 031440 setsect 0 ,0xe70f 
+0x74e6 031441 setsect 1 ,0x16720 
+0x74e7 031442 setsect 2 ,0x519e 
+0x74e8 031443 setsect 3 ,0x19084 
+0x74e9 031444 istore 9 ,contw 
+0x74ea 031445 setsect 0 ,0x31012 
+0x74eb 031446 setsect 1 ,0x360bf 
+0x74ec 031447 setsect 2 ,0x3f0af 
+0x74ed 031448 setsect 3 ,0x3d3 
+0x74ee 031449 istore 9 ,contw 
+0x74ef 031450 setsect 0 ,0x3a188 
+0x74f0 031451 setsect 1 ,0x3ad0 
+0x74f1 031452 setsect 2 ,0x3cbf2 
+0x74f2 031453 setsect 3 ,0x243d9 
+0x74f3 031454 istore 9 ,contw 
+0x74f4 031455 setsect 0 ,0x2b030 
+0x74f5 031456 setsect 1 ,0x36a03 
+0x74f6 031457 setsect 2 ,0x11188 
+0x74f7 031458 setsect 3 ,0x1e520 
+0x74f8 031459 istore 9 ,contw 
+0x74f9 031460 setsect 0 ,0x3a11e 
+0x74fa 031461 setsect 1 ,0xfe5d 
+0x74fb 031462 setsect 2 ,0xdd57 
+0x74fc 031463 setsect 3 ,0x1ac93 
+0x74fd 031464 istore 9 ,contw 
+0x74fe 031465 setsect 0 ,0x11ed 
+0x74ff 031466 setsect 1 ,0x218c4 
+0x7500 031467 setsect 2 ,0x8da7 
+0x7501 031468 setsect 3 ,0x257ff 
+0x7502 031469 istore 9 ,contw 
+0x7503 031470 setsect 0 ,0x3192b 
+0x7504 031471 setsect 1 ,0x34641 
+0x7505 031472 setsect 2 ,0x1be0c 
+0x7506 031473 setsect 3 ,0x366ad 
+0x7507 031474 istore 9 ,contw 
+0x7508 031475 setsect 0 ,0x1f83 
+0x7509 031476 setsect 1 ,0x15a23 
+0x750a 031477 setsect 2 ,0x3f9b0 
+0x750b 031478 setsect 3 ,0x3949 
+0x750c 031479 istore 9 ,contw 
+0x750d 031480 setsect 0 ,0x13a51 
+0x750e 031481 setsect 1 ,0x153fd 
+0x750f 031482 setsect 2 ,0x3372a 
+0x7510 031483 setsect 3 ,0xf1bb 
+0x7511 031484 istore 9 ,contw 
+0x7512 031485 setsect 0 ,0x3ae85 
+0x7513 031486 setsect 1 ,0x1eed9 
+0x7514 031487 setsect 2 ,0x9e66 
+0x7515 031488 setsect 3 ,0x1a8 
+0x7516 031489 istore 8 ,contw 
+0x7517 031490 rtn 
+:      031494 init_memp_256:
+0x7518 031495 arg mem_p_256 ,contw 
+0x7519 031496 setsect 0 ,0x3ffff 
+0x751a 031497 setsect 1 ,0x3ffff 
+0x751b 031498 setsect 2 ,0x3ffff 
+0x751c 031499 setsect 3 ,0x3ffff 
+0x751d 031500 istore 9 ,contw 
+0x751e 031501 setsect 0 ,0x3ffff 
+0x751f 031502 setsect 1 ,0x3f 
+0x7520 031503 setsect 2 ,0x0 
+0x7521 031504 setsect 3 ,0x0 
+0x7522 031505 istore 9 ,contw 
+0x7523 031506 setsect 0 ,0x0 
+0x7524 031507 setsect 1 ,0x0 
+0x7525 031508 setsect 2 ,0x1000 
+0x7526 031509 setsect 3 ,0x0 
+0x7527 031510 istore 9 ,contw 
+0x7528 031511 setsect 0 ,0x3ff00 
+0x7529 031512 setsect 1 ,0x3ffff 
+0x752a 031513 setsect 2 ,0x3ffcf 
+0x752b 031514 setsect 3 ,0x3ffff 
+0x752c 031515 istore 9 ,contw 
+0x752d 031516 setsect 0 ,0x3ffff 
+0x752e 031517 setsect 1 ,0x3ffff 
+0x752f 031518 setsect 2 ,0x3ffff 
+0x7530 031519 setsect 3 ,0x3ff 
+0x7531 031520 istore 9 ,contw 
+0x7532 031521 setsect 0 ,0x0 
+0x7533 031522 setsect 1 ,0x0 
+0x7534 031523 setsect 2 ,0x0 
+0x7535 031524 setsect 3 ,0x0 
+0x7536 031525 istore 9 ,contw 
+0x7537 031526 setsect 0 ,0x10000 
+0x7538 031527 setsect 1 ,0x0 
+0x7539 031528 setsect 2 ,0x3f000 
+0x753a 031529 setsect 3 ,0x3ffff 
+0x753b 031530 istore 9 ,contw 
+0x753c 031531 setsect 0 ,0x296ff 
+0x753d 031532 setsect 1 ,0x22630 
+0x753e 031533 setsect 2 ,0x3945d 
+0x753f 031534 setsect 3 ,0x3d284 
+0x7540 031535 istore 9 ,contw 
+0x7541 031536 setsect 0 ,0x333a0 
+0x7542 031537 setsect 1 ,0x4b7a 
+0x7543 031538 setsect 2 ,0x37d8 
+0x7544 031539 setsect 3 ,0x3c9dc 
+0x7545 031540 istore 9 ,contw 
+0x7546 031541 setsect 0 ,0x3a440 
+0x7547 031542 setsect 1 ,0x1b958 
+0x7548 031543 setsect 2 ,0x38bce 
+0x7549 031544 setsect 3 ,0x1091f 
+0x754a 031545 istore 9 ,contw 
+0x754b 031546 setsect 0 ,0x2e12c 
+0x754c 031547 setsect 1 ,0x1f47c 
+0x754d 031548 setsect 2 ,0x356b1 
+0x754e 031549 setsect 3 ,0x2fd47 
+0x754f 031550 istore 9 ,contw 
+0x7550 031551 setsect 0 ,0x6837 
+0x7551 031552 setsect 1 ,0x2ed90 
+0x7552 031553 setsect 2 ,0x1ecec 
+0x7553 031554 setsect 3 ,0x1acc5 
+0x7554 031555 istore 9 ,contw 
+0x7555 031556 setsect 0 ,0x23357 
+0x7556 031557 setsect 1 ,0x18af3 
+0x7557 031558 setsect 2 ,0xf9e1 
+0x7558 031559 setsect 3 ,0x129f0 
+0x7559 031560 istore 9 ,contw 
+0x755a 031561 setsect 0 ,0x2e7eb 
+0x755b 031562 setsect 1 ,0x3e6e3 
+0x755c 031563 setsect 2 ,0x3e1a7 
+0x755d 031564 setsect 3 ,0x10b8b 
+0x755e 031565 istore 9 ,contw 
+0x755f 031566 setsect 0 ,0x24fe3 
+0x7560 031567 setsect 1 ,0x20ef 
+0x7561 031568 setsect 2 ,0x1b5a6 
+0x7562 031569 setsect 3 ,0xdc2f 
+0x7563 031570 istore 9 ,contw 
+0x7564 031571 setsect 0 ,0x13860 
+0x7565 031572 setsect 1 ,0x2bd69 
+0x7566 031573 setsect 2 ,0x391a 
+0x7567 031574 setsect 3 ,0x1b222 
+0x7568 031575 istore 9 ,contw 
+0x7569 031576 rtn 
+:      031579 publickey_init:
+0x756a 031580 fetch 1 ,mem_ssp_enable 
+0x756b 031581 nbranch sp_initialize ,blank 
+0x756c 031582 branch sp_initialize_256 
+:      031584 sp_calc_sequence_256_check:
+0x756d 031585 bpatchx patch3c_4 ,mem_patch3c 
+0x756e 031586 fetch 1 ,mem_ssp_enable 
+0x756f 031587 rtn blank 
+0x7570 031588 fetch 1 ,mem_sp_local_key_invalid 
+0x7571 031589 rtnne sp_key_valid 
+0x7572 031590 fetch 1 ,mem_le_secure_connect_enable 
+0x7573 031591 rtn blank 
+0x7574 031592 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7575 031593 rtneq sp_key_valid_256 
+0x7576 031594 fetch 2 ,mem_ui_state_map 
+0x7577 031595 bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+0x7578 031596 fetch 1 ,mem_le_sc_calc 
+0x7579 031597 beq sp_calc_standby ,sp_initialize_256 
+0x757a 031598 rtn 
+:      031599 stop_publickey_calc_256:
+0x757b 031600 jam sp_calc_standby ,mem_le_sc_calc 
+0x757c 031601 rtn 
+:      031604 sp_initialize:
+0x757d 031605 bpatchx patch3c_5 ,mem_patch3c 
+0x757e 031606 fetch 1 ,mem_ssp_enable 
+0x757f 031607 branch ssp_disable ,blank 
+0x7580 031608 call ssp_enable 
+0x7581 031609 call sp_clear_flags 
+0x7582 031610 branch sp_pubkey_calc 
+:      031612 sp_clear_flags:
+0x7583 031613 setarg 0 
+0x7584 031614 store 8 ,mem_sp_state_start 
+0x7585 031615 store 4 ,mem_sp_flag_start 
+0x7586 031616 store 7 ,mem_sp_iocap_remote 
+0x7587 031617 rtn 
+:      031619 sp_generate_local_key:
+0x7588 031620 jam sp_flag_commit ,mem_sp_flag 
+0x7589 031621 branch sp_generate_local_key0 
+:      031622 sp_master_generate_local_key:
+0x758a 031623 fetch 1 ,mem_sp_local_key_invalid 
+0x758b 031624 beq sp_key_valid ,sp_dhkey_calc 
+0x758c 031625 branch assert 
+:      031626 sp_generate_local_key0:
+0x758d 031627 fetch 1 ,mem_sp_local_key_invalid 
+0x758e 031628 beq sp_key_valid ,sp_start_send_pubkey 
+0x758f 031629 branch sp_pubkey_calc 
+:      031631 sp_start_send_pubkey:
+0x7590 031632 call sp_dhkey_calc 
+0x7591 031633 fetch 1 ,mem_master_sp_state 
+0x7592 031634 nrtn blank 
+0x7593 031635 jam sp_stat_key_send ,mem_sp_state 
+0x7594 031636 rtn 
+:      031639 sp_calc_check_publickey_256:
+0x7595 031640 call sp_calc_b256 
+0x7596 031641 arg mem_le_pubkey_remote_y_256 ,rega 
+0x7597 031642 arg mem_t7_256 ,contw 
+0x7598 031643 call bn_sqrmod_256 
+0x7599 031644 arg mem_le_pubkey_remote_x_256 ,rega 
+0x759a 031645 arg mem_t2_256 ,contw 
+0x759b 031646 call bn_sqrmod_256 
+0x759c 031647 arg mem_t2_256 ,rega 
+0x759d 031648 arg mem_le_pubkey_remote_x_256 ,regb 
+0x759e 031649 arg mem_t2_256 ,contw 
+0x759f 031650 call bn_mulmod_256 
+0x75a0 031651 arg mem_a_256 ,rega 
+0x75a1 031652 arg mem_le_pubkey_remote_x_256 ,regb 
+0x75a2 031653 arg mem_t3_256 ,contw 
+0x75a3 031654 call bn_mulmod_256 
+0x75a4 031655 arg mem_t3_256 ,rega 
+0x75a5 031656 arg mem_t2_256 ,regb 
+0x75a6 031657 arg mem_t2_256 ,contw 
+0x75a7 031658 call bn_addmod_256 
+0x75a8 031659 arg mem_t0_256 ,rega 
+0x75a9 031660 arg mem_t2_256 ,regb 
+0x75aa 031661 arg mem_t0_256 ,contw 
+0x75ab 031662 call bn_addmod_256 
+0x75ac 031663 arg 32 ,loopcnt 
+0x75ad 031664 arg mem_t7_256 ,rega 
+0x75ae 031665 arg mem_t0_256 ,regb 
+0x75af 031666 branch string_compare 
+:      031668 sp_calc_b256:
+0x75b0 031669 arg mem_gy_256 ,rega 
+0x75b1 031670 arg mem_t0_256 ,contw 
+0x75b2 031671 call bn_sqrmod_256 
+0x75b3 031672 arg mem_gx_256 ,rega 
+0x75b4 031673 arg mem_t2_256 ,contw 
+0x75b5 031674 call bn_sqrmod_256 
+0x75b6 031675 arg mem_t2_256 ,rega 
+0x75b7 031676 arg mem_gx_256 ,regb 
+0x75b8 031677 arg mem_t2_256 ,contw 
+0x75b9 031678 call bn_mulmod_256 
+0x75ba 031679 arg mem_a_256 ,rega 
+0x75bb 031680 arg mem_gx_256 ,regb 
+0x75bc 031681 arg mem_t3_256 ,contw 
+0x75bd 031682 call bn_mulmod_256 
+0x75be 031683 arg mem_t3_256 ,rega 
+0x75bf 031684 arg mem_t2_256 ,regb 
+0x75c0 031685 arg mem_t2_256 ,contw 
+0x75c1 031686 call bn_addmod_256 
+0x75c2 031687 arg mem_t0_256 ,rega 
+0x75c3 031688 arg mem_t2_256 ,regb 
+0x75c4 031689 arg mem_t0_256 ,contw 
+0x75c5 031690 branch bn_submod_256 
+:      031692 sp_calc_check_publickey:
+0x75c6 031693 call sp_calc_b 
+0x75c7 031694 arg mem_sp_pubkey_remote_y ,rega 
+0x75c8 031695 arg mem_t7_256 ,contw 
+0x75c9 031696 call bn_sqrmod 
+0x75ca 031697 arg mem_sp_pubkey_remote_x ,rega 
+0x75cb 031698 arg mem_t2_256 ,contw 
+0x75cc 031699 call bn_sqrmod 
+0x75cd 031700 arg mem_t2_256 ,rega 
+0x75ce 031701 arg mem_sp_pubkey_remote_x ,regb 
+0x75cf 031702 arg mem_t2_256 ,contw 
+0x75d0 031703 call bn_mulmod 
+0x75d1 031704 arg mem_a ,rega 
+0x75d2 031705 arg mem_sp_pubkey_remote_x ,regb 
+0x75d3 031706 arg mem_t3_256 ,contw 
+0x75d4 031707 call bn_mulmod 
+0x75d5 031708 arg mem_t3_256 ,rega 
+0x75d6 031709 arg mem_t2_256 ,regb 
+0x75d7 031710 arg mem_t2_256 ,contw 
+0x75d8 031711 call bn_addmod 
+0x75d9 031712 arg mem_t0_256 ,rega 
+0x75da 031713 arg mem_t2_256 ,regb 
+0x75db 031714 arg mem_t0_256 ,contw 
+0x75dc 031715 call bn_addmod 
+0x75dd 031716 arg 24 ,loopcnt 
+0x75de 031717 arg mem_t7_256 ,rega 
+0x75df 031718 arg mem_t0_256 ,regb 
+0x75e0 031719 branch string_compare 
+:      031721 sp_calc_b:
+0x75e1 031722 arg mem_gy ,rega 
+0x75e2 031723 arg mem_t0_256 ,contw 
+0x75e3 031724 call bn_sqrmod 
+0x75e4 031725 arg mem_gx ,rega 
+0x75e5 031726 arg mem_t2_256 ,contw 
+0x75e6 031727 call bn_sqrmod 
+0x75e7 031728 arg mem_t2_256 ,rega 
+0x75e8 031729 arg mem_gx ,regb 
+0x75e9 031730 arg mem_t2_256 ,contw 
+0x75ea 031731 call bn_mulmod 
+0x75eb 031732 arg mem_a ,rega 
+0x75ec 031733 arg mem_gx ,regb 
+0x75ed 031734 arg mem_t3_256 ,contw 
+0x75ee 031735 call bn_mulmod 
+0x75ef 031736 arg mem_t3_256 ,rega 
+0x75f0 031737 arg mem_t2_256 ,regb 
+0x75f1 031738 arg mem_t2_256 ,contw 
+0x75f2 031739 call bn_addmod 
+0x75f3 031740 arg mem_t0_256 ,rega 
+0x75f4 031741 arg mem_t2_256 ,regb 
+0x75f5 031742 arg mem_t0_256 ,contw 
+0x75f6 031743 branch bn_submod 
+:      031746 sp_calculate_commitment:
+0x75f7 031747 fetch 1 ,mem_sp_calc 
+0x75f8 031748 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+0x75f9 031749 call sp_local_random_key_generator 
+0x75fa 031750 arg mem_sp_prarm_stack ,contw 
+0x75fb 031751 setarg mem_sp_random_local_end 
+0x75fc 031752 istore 2 ,contw 
+0x75fd 031753 setarg mem_sp_pubkey_local_x_end 
+0x75fe 031754 istore 2 ,contw 
+0x75ff 031755 setarg mem_sp_pubkey_remote_x_end 
+0x7600 031756 istore 2 ,contw 
+0x7601 031757 branch sp_calculate_commitment0 
+:      031758 master_sp_calculate_commitment:
+0x7602 031759 arg mem_sp_prarm_stack ,contw 
+0x7603 031760 setarg mem_sp_random_remote_end 
+0x7604 031761 istore 2 ,contw 
+0x7605 031762 setarg mem_sp_pubkey_remote_x_end 
+0x7606 031763 istore 2 ,contw 
+0x7607 031764 setarg mem_sp_pubkey_local_x_end 
+0x7608 031765 istore 2 ,contw 
+:      031766 sp_calculate_commitment0:
+0x7609 031767 call function_f1 
+0x760a 031768 fetch 1 ,mem_master_sp_state 
+0x760b 031769 beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+0x760c 031770 jam sp_flag_commit ,mem_sp_flag 
+0x760d 031771 jam sp_stat_commit_send ,mem_sp_state 
+0x760e 031772 rtn 
+:      031773 master_sp_calculate_commitment0:
+0x760f 031774 jam sp_stat_commitment_compare ,mem_master_sp_state 
+0x7610 031775 call sp_master_generate_local_key 
+0x7611 031776 branch master_set_mem_master_sp_flag 
+:      031778 sp_local_random_key_generator:
+0x7612 031779 arg mem_sp_random_local ,contw 
+0x7613 031780 force 8 ,queue 
+0x7614 031781 branch random_generator 
+:      031783 sp_calculate_commitment_wait_dhkey_calc:
+0x7615 031784 jam sp_flag_commit ,mem_sp_flag 
+0x7616 031785 rtn 
+:      031787 sp_confirm_check:
+0x7617 031789 bpatchx patch3c_6 ,mem_patch3c 
+0x7618 031790 arg mem_addr_value ,contw 
+0x7619 031791 fetch 6 ,mem_lap 
+0x761a 031792 istore 6 ,contw 
+0x761b 031793 fetch 6 ,mem_plap 
+0x761c 031794 istore 6 ,contw 
+0x761d 031795 fetch 3 ,mem_sp_iocap_remote 
+0x761e 031796 istore 3 ,contw 
+0x761f 031798 call function_f3a 
+0x7620 031800 arg mem_sp_calc_result_high ,rega 
+0x7621 031801 arg mem_sp_check_result ,regb 
+0x7622 031802 force 4 ,queue 
+0x7623 031803 call compare4 
+0x7624 031804 nbranch sp_confirm_check_failed ,true 
+0x7625 031806 call sp_confirm_check_success 
+0x7626 031807 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7627 031808 branch tid_set_reply 
+:      031810 sp_confirm_check_success:
+0x7628 031811 fetch 1 ,mem_master_sp_state 
+0x7629 031812 beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+0x762a 031813 jam sp_stat_confirm_calc ,mem_sp_state 
+0x762b 031814 jam sp_flag_commit ,mem_sp_flag 
+0x762c 031815 jam lmp_accepted ,mem_lmo_opcode2 
+0x762d 031816 rtn 
+:      031817 sp_confirm_check_success_master:
+0x762e 031818 jam lmp_accepted ,mem_lmo_opcode2 
+0x762f 031819 jam sp_state_end ,mem_master_sp_state 
+0x7630 031820 branch master_set_mem_master_sp_flag 
+:      031823 sp_confirm_check_failed:
+0x7631 031824 fetch 1 ,mem_master_sp_state 
+0x7632 031825 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+0x7633 031826 jam sp_stat_null ,mem_sp_state 
+0x7634 031827 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x7635 031829 jam authentication_failure_error ,mem_lmo_reason2 
+0x7636 031830 rtn 
+:      031831 sp_confirm_check_failed_master:
+0x7637 031832 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x7638 031833 jam sp_stat_null ,mem_master_sp_state 
+0x7639 031834 rtn 
+:      031836 sp_confirm_calc:
+0x763a 031837 fetch 1 ,mem_sp_dh_ready 
+0x763b 031838 beq sp_flag_commit ,sp_confirm_calc_ready 
+0x763c 031839 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x763d 031840 branch master_set_mem_master_sp_flag 
+:      031841 sp_confirm_calc_ready:
+0x763e 031842 arg mem_addr_value ,contw 
+0x763f 031843 fetch 6 ,mem_plap 
+0x7640 031844 istore 6 ,contw 
+0x7641 031845 fetch 6 ,mem_lap 
+0x7642 031846 istore 6 ,contw 
+0x7643 031847 fetch 3 ,mem_sp_iocap_local 
+0x7644 031848 istore 3 ,contw 
+0x7645 031850 call function_f3b 
+0x7646 031851 fetch 1 ,mem_master_sp_state 
+0x7647 031852 beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+0x7648 031853 jam sp_stat_confirm_send ,mem_sp_state 
+0x7649 031854 jam sp_flag_commit ,mem_sp_flag 
+0x764a 031855 rtn 
+:      031856 sp_confirm_calc_master:
+0x764b 031857 jam sp_stat_confirm_send ,mem_master_sp_state 
+0x764c 031858 jam sp_flag_commit ,mem_master_sp_flag 
+0x764d 031859 rtn 
+:      031861 sp_master_key_prarm_push:
+0x764e 031862 arg mem_sp_prarm_stack ,contw 
+0x764f 031863 fetch 6 ,mem_plap 
+0x7650 031864 istore 6 ,contw 
+0x7651 031865 fetch 6 ,mem_lap 
+0x7652 031866 istore 6 ,contw 
+0x7653 031867 setarg mem_sp_random_local_end 
+0x7654 031868 istore 2 ,contw 
+0x7655 031869 setarg mem_sp_random_remote_end 
+0x7656 031870 istore 2 ,contw 
+0x7657 031871 branch sp_link_key_calc 
+:      031872 sp_link_key_prarm_push:
+0x7658 031873 jam sp_stat_done ,mem_sp_state 
+0x7659 031874 arg mem_sp_prarm_stack ,contw 
+0x765a 031875 fetch 6 ,mem_lap 
+0x765b 031876 istore 6 ,contw 
+0x765c 031877 fetch 6 ,mem_plap 
+0x765d 031878 istore 6 ,contw 
+0x765e 031879 setarg mem_sp_random_remote_end 
+0x765f 031880 istore 2 ,contw 
+0x7660 031881 setarg mem_sp_random_local_end 
+0x7661 031882 istore 2 ,contw 
+:      031883 sp_link_key_calc:
+0x7662 031885 arg mem_addr_value ,contw 
+0x7663 031886 fetch 6 ,mem_sp_prarm_stack 
+0x7664 031887 istore 6 ,contw 
+0x7665 031888 fetch 6 ,mem_sp_prarm_stack + 6 
+0x7666 031889 istore 6 ,contw 
+0x7667 031891 call function_f2 
+0x7668 031894 jam 1 ,mem_link_key_exists 
+0x7669 031895 arg mem_link_key ,contw 
+0x766a 031896 arg mem_sp_calc_result_high ,contr 
+0x766b 031897 call memcpy16 
+0x766c 031898 branch generate_linkkey_continue 
+:      031901 sp_pubkey_calc:
+0x766d 031902 bpatchx patch3c_7 ,mem_patch3c 
+0x766e 031903 fetch 1 ,mem_sp_local_key_invalid 
+0x766f 031904 rtnne sp_key_invalid 
+0x7670 031905 fetch 1 ,mem_sp_calc 
+0x7671 031906 rtnne sp_calc_standby 
+0x7672 031907 arg mem_sp_private_key ,contw 
+0x7673 031908 force 11 ,queue 
+0x7674 031909 call random_generator 
+0x7675 031910 random pdata 
+0x7676 031911 rshift pdata ,pdata 
+0x7677 031912 istore 2 ,contw 
+0x7678 031914 arg mem_k ,contw 
+0x7679 031915 arg mem_sp_private_key ,contr 
+0x767a 031916 call memcpy24 
+0x767b 031918 arg mem_ax ,contw 
+0x767c 031919 arg mem_gx ,contr 
+0x767d 031920 call memcpy48 
+0x767e 031922 arg mem_az ,contw 
+0x767f 031923 call bn_zero 
+0x7680 031924 jam 1 ,mem_az 
+0x7681 031926 call eckp_calc_init 
+0x7682 031927 jam sp_calc_pubkey ,mem_sp_calc 
+0x7683 031928 rtn 
+:      031930 sp_pubkey_generated:
+0x7684 031931 arg mem_sp_pubkey_local ,contw 
+0x7685 031932 arg mem_bx ,contr 
+0x7686 031933 call memcpy48 
+0x7687 031934 jam sp_key_valid ,mem_sp_local_key_invalid 
+0x7688 031935 jam sp_calc_standby ,mem_sp_calc 
+0x7689 031936 rtn 
+:      031938 sp_dhkey_calc:
+0x768a 031939 bpatchx patch3d_0 ,mem_patch3d 
+0x768b 031940 fetch 1 ,mem_sp_dhkey_invalid 
+0x768c 031941 rtnne sp_key_invalid 
+0x768d 031942 fetch 1 ,mem_sp_calc 
+0x768e 031943 rtnne sp_calc_standby 
+0x768f 031945 arg mem_k ,contw 
+0x7690 031946 arg mem_sp_private_key ,contr 
+0x7691 031947 call memcpy24 
+0x7692 031949 arg mem_ax ,contw 
+0x7693 031950 arg mem_sp_pubkey_remote ,contr 
+0x7694 031951 call memcpy48 
+0x7695 031953 arg mem_az ,contw 
+0x7696 031954 call bn_zero 
+0x7697 031955 jam 1 ,mem_az 
+0x7698 031957 call eckp_calc_init 
+0x7699 031958 jam sp_calc_dhkey ,mem_sp_calc 
+0x769a 031959 rtn 
+:      031961 sp_dhkey_generated:
+0x769b 031962 jam sp_flag_commit ,mem_sp_dh_ready 
+0x769c 031963 arg mem_sp_dhkey ,contw 
+0x769d 031964 arg mem_bx ,contr 
+0x769e 031965 call memcpy24 
+0x769f 031966 jam sp_key_valid ,mem_sp_dhkey_invalid 
+0x76a0 031967 jam sp_calc_standby ,mem_sp_calc 
+0x76a1 031968 rtn 
+:      031970 random_generator:
+0x76a2 031971 increase -1 ,queue 
+0x76a3 031972 nrtn positive 
+0x76a4 031973 random pdata 
+0x76a5 031974 istore 2 ,contw 
+0x76a6 031975 branch random_generator 
+:      031976 compare4:
+0x76a7 031977 increase -1 ,queue 
+0x76a8 031978 nbranch compare4_success ,positive 
+0x76a9 031979 ifetch 4 ,rega 
+0x76aa 031980 copy pdata ,temp 
+0x76ab 031981 ifetch 4 ,regb 
+0x76ac 031982 iflip temp ,pdata 
+0x76ad 031983 nbranch compare4_failed ,zero 
+0x76ae 031984 increase 4 ,rega 
+0x76af 031985 increase 4 ,regb 
+0x76b0 031986 branch compare4 
+:      031987 compare4_failed:
+0x76b1 031988 disable true 
+0x76b2 031989 rtn 
+:      031990 compare4_success:
+0x76b3 031991 enable true 
+0x76b4 031992 rtn 
+:      031999 simple_pairing_sequence:
+0x76b5 032000 bpatchx patch3d_1 ,mem_patch3d 
+0x76b6 032001 fetch 1 ,mem_sp_flag 
+0x76b7 032002 rtn blank 
+0x76b8 032003 call lmo_fifo_check 
+0x76b9 032004 nrtn blank 
+0x76ba 032005 jam sp_flag_standby ,mem_sp_flag 
+0x76bb 032006 fetch 1 ,mem_sp_state 
+0x76bc 032007 beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+0x76bd 032008 beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+0x76be 032009 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+0x76bf 032010 beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+0x76c0 032011 beq sp_stat_key_generate ,sp_generate_local_key 
+0x76c1 032012 beq sp_stat_commit_calc ,sp_calculate_commitment 
+0x76c2 032013 beq sp_stat_confirm_check ,sp_confirm_check 
+0x76c3 032014 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x76c4 032015 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+0x76c5 032017 rtn 
+:      032019 master_simple_paring_sequence:
+0x76c6 032020 bpatchx patch3d_2 ,mem_patch3d 
+0x76c7 032021 fetch 1 ,mem_master_sp_flag 
+0x76c8 032022 rtn blank 
+0x76c9 032023 call lmo_fifo_check 
+0x76ca 032024 nrtn blank 
+0x76cb 032025 jam sp_flag_standby ,mem_master_sp_flag 
+0x76cc 032026 fetch 1 ,mem_master_sp_state 
+0x76cd 032027 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+0x76ce 032028 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+0x76cf 032029 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+0x76d0 032030 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+0x76d1 032031 beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+0x76d2 032032 beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+0x76d3 032033 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x76d4 032034 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+0x76d5 032035 beq sp_stat_confirm_check ,sp_confirm_check 
+0x76d6 032036 beq sp_state_end ,master_sp_sm_end 
+0x76d7 032037 rtn 
+:      032039 master_set_mem_master_sp_flag:
+0x76d8 032040 jam sp_flag_commit ,mem_master_sp_flag 
+0x76d9 032041 rtn 
+:      032043 master_clear_mem_master_sp_flag:
+0x76da 032044 jam sp_flag_standby ,mem_master_sp_flag 
+0x76db 032045 rtn 
+:      032046 sp_calc_sequence:
+0x76dc 032047 bpatchx patch3d_3 ,mem_patch3d 
+0x76dd 032048 fetch 1 ,mem_ssp_enable 
+0x76de 032049 rtn blank 
+0x76df 032050 fetch 1 ,mem_sp_calc 
+0x76e0 032051 rtn blank 
+0x76e1 032052 increase 0x80 ,pdata 
+0x76e2 032053 store 1 ,mem_sp_calc 
+0x76e3 032054 rtnbit1 7 
+0x76e4 032055 fetch 1 ,mem_ec_loopc 
+0x76e5 032056 branch sp_calc_sequence_done ,blank 
+0x76e6 032057 branch eckp_calc 
+:      032059 sp_calc_sequence_done:
+0x76e7 032060 call ecunmapz 
+0x76e8 032061 fetch 1 ,mem_sp_calc 
+0x76e9 032062 beq sp_calc_pubkey ,sp_pubkey_generated 
+0x76ea 032063 beq sp_calc_dhkey ,sp_dhkey_generated 
+0x76eb 032064 rtn 
+:      032067 bn_testbit:
+0x76ec 032068 and pdata ,7 ,queue 
+0x76ed 032069 rshift3 pdata ,pdata 
+0x76ee 032070 iadd contr ,contr 
+0x76ef 032071 ifetch 1 ,contr 
+0x76f0 032072 qisolate0 pdata 
+0x76f1 032073 rtn 
+:      032076 ec_copy:
+0x76f2 032077 call memcpy24 
+0x76f3 032078 call memcpy24 
+0x76f4 032079 branch memcpy24 
+:      032082 bn_eq_zero:
+0x76f5 032083 ifetch 8 ,contr 
+0x76f6 032084 nrtn blank 
+0x76f7 032085 ifetch 8 ,contr 
+0x76f8 032086 nrtn blank 
+0x76f9 032087 ifetch 8 ,contr 
+0x76fa 032088 rtn 
+:      032093 bn_eq_0:
+0x76fb 032094 ifetch 4 ,rega 
+0x76fc 032095 iforce temp 
+0x76fd 032096 ifetch 4 ,regb 
+0x76fe 032097 isub temp ,null 
+0x76ff 032098 nrtn zero 
+0x7700 032099 increase 4 ,rega 
+0x7701 032100 increase 4 ,regb 
+0x7702 032101 loop bn_eq_0 
+0x7703 032102 rtn 
+:      032105 bn_bigeq:
+0x7704 032106 force 6 ,loopcnt 
+0x7705 032107 increase 20 ,rega 
+0x7706 032108 increase 20 ,regb 
+:      032109 bn_bigeq_0:
+0x7707 032110 ifetch 4 ,regb 
+0x7708 032111 iforce temp 
+0x7709 032112 ifetch 4 ,rega 
+0x770a 032113 isub temp ,pdata 
+0x770b 032114 nrtn positive 
+0x770c 032115 nrtn blank 
+0x770d 032116 increase -4 ,rega 
+0x770e 032117 increase -4 ,regb 
+0x770f 032118 loop bn_bigeq_0 
+0x7710 032119 rtn 
+:      032121 bn_add:
+0x7711 032122 force 6 ,loopcnt 
+0x7712 032123 force 0 ,regc 
+:      032124 bn_add_0:
+0x7713 032125 ifetch 4 ,rega 
+0x7714 032126 iforce temp 
+0x7715 032127 ifetch 4 ,regb 
+0x7716 032128 iadd temp ,pdata 
+0x7717 032129 iadd regc ,pdata 
+0x7718 032130 istore 4 ,contw 
+0x7719 032131 isolate1 32 ,pdata 
+0x771a 032132 setflag true ,0 ,regc 
+0x771b 032133 increase 4 ,rega 
+0x771c 032134 increase 4 ,regb 
+0x771d 032135 loop bn_add_0 
+0x771e 032136 rtn 
+:      032138 bn_sub:
+0x771f 032139 force 6 ,loopcnt 
+0x7720 032140 force 0 ,regc 
+:      032141 bn_sub_0:
+0x7721 032142 ifetch 4 ,regb 
+0x7722 032143 iforce temp 
+0x7723 032144 ifetch 4 ,rega 
+0x7724 032145 isub temp ,pdata 
+0x7725 032146 isub regc ,pdata 
+0x7726 032147 istore 4 ,contw 
+0x7727 032148 isolate1 32 ,pdata 
+0x7728 032149 setflag true ,0 ,regc 
+0x7729 032150 increase 4 ,rega 
+0x772a 032151 increase 4 ,regb 
+0x772b 032152 loop bn_sub_0 
+0x772c 032153 rtn 
+:      032155 bn_rshift6:
+0x772d 032156 force 6 ,loopcnt 
+0x772e 032157 increase 20 ,rega 
+:      032158 bn_rshift:
+0x772f 032159 force 0 ,regc 
+:      032160 bn_rshift_0:
+0x7730 032161 ifetch 4 ,rega 
+0x7731 032162 isolate1 0 ,pdata 
+0x7732 032163 setflag true ,1 ,regc 
+0x7733 032164 rshift pdata ,pdata 
+0x7734 032165 isolate1 0 ,regc 
+0x7735 032166 setflag true ,31 ,pdata 
+0x7736 032167 istore 4 ,rega 
+0x7737 032168 increase -4 ,rega 
+0x7738 032169 rshift regc ,regc 
+0x7739 032170 loop bn_rshift_0 
+0x773a 032171 rtn 
+:      032173 bn_lshift:
+0x773b 032174 force 6 ,loopcnt 
+0x773c 032175 force 0 ,regc 
+:      032176 bn_lshift_0:
+0x773d 032177 ifetch 4 ,rega 
+0x773e 032178 isolate1 31 ,pdata 
+0x773f 032179 setflag true ,1 ,regc 
+0x7740 032180 lshift pdata ,pdata 
+0x7741 032181 isolate1 0 ,regc 
+0x7742 032182 setflag true ,0 ,pdata 
+0x7743 032183 istore 4 ,rega 
+0x7744 032184 increase 4 ,rega 
+0x7745 032185 rshift regc ,regc 
+0x7746 032186 loop bn_lshift_0 
+0x7747 032187 rtn 
+:      032189 bn_lshiftmod:
+0x7748 032190 call bn_lshift 
+:      032191 bn_lshiftmod_ismod:
+0x7749 032192 isolate1 0 ,regc 
+0x774a 032193 branch bn_lshiftmod_0 ,true 
+0x774b 032194 arg mem_p ,regb 
+0x774c 032195 copy rega ,regc 
+0x774d 032196 increase -24 ,rega 
+0x774e 032197 call bn_bigeq 
+0x774f 032198 nrtn positive 
+0x7750 032199 copy regc ,rega 
+:      032200 bn_lshiftmod_0:
+0x7751 032201 increase -24 ,rega 
+0x7752 032202 arg mem_p ,regb 
+0x7753 032203 copy rega ,contw 
+0x7754 032204 branch bn_sub 
+:      032207 bn_addmod:
+0x7755 032208 call bn_add 
+0x7756 032209 copy contw ,rega 
+0x7757 032210 branch bn_lshiftmod_ismod 
+:      032212 bn_submod:
+0x7758 032213 call bn_sub 
+0x7759 032214 isolate0 0 ,regc 
+0x775a 032215 rtn true 
+0x775b 032216 arg mem_p ,regb 
+0x775c 032217 add contw ,-24 ,rega 
+0x775d 032218 copy rega ,contw 
+0x775e 032219 branch bn_add 
+:      032222 bn_p192mod:
+0x775f 032223 copy contw ,timeup 
+0x7760 032224 copy rega ,alarm 
+0x7761 032225 arg mem_tmp2 ,regb 
+0x7762 032226 copy regb ,contw 
+0x7763 032227 add rega ,24 ,contr 
+0x7764 032228 ifetch 8 ,contr 
+0x7765 032229 istore 8 ,contw 
+0x7766 032230 istore 8 ,contw 
+0x7767 032231 force 0 ,pdata 
+0x7768 032232 istore 8 ,contw 
+0x7769 032233 copy timeup ,contw 
+0x776a 032234 call bn_addmod 
+0x776b 032235 arg mem_tmp2 ,regb 
+0x776c 032236 copy regb ,contw 
+0x776d 032237 force 0 ,pdata 
+0x776e 032238 istore 8 ,contw 
+0x776f 032239 add alarm ,32 ,contr 
+0x7770 032240 ifetch 8 ,contr 
+0x7771 032241 istore 8 ,contw 
+0x7772 032242 istore 8 ,contw 
+0x7773 032243 copy timeup ,rega 
+0x7774 032244 copy rega ,contw 
+0x7775 032245 call bn_addmod 
+0x7776 032246 arg mem_tmp2 ,regb 
+0x7777 032247 copy regb ,contw 
+0x7778 032248 add alarm ,40 ,contr 
+0x7779 032249 ifetch 8 ,contr 
+0x777a 032250 istore 8 ,contw 
+0x777b 032251 istore 8 ,contw 
+0x777c 032252 istore 8 ,contw 
+0x777d 032253 copy timeup ,rega 
+0x777e 032254 copy rega ,contw 
+0x777f 032255 branch bn_addmod 
+:      032258 bn_load:
+0x7780 032259 force 6 ,loopcnt 
+:      032260 bn_load_0:
+0x7781 032261 ifetch 4 ,contr 
+0x7782 032262 iforce regext 
+0x7783 032263 increase 1 ,regext_index 
+0x7784 032264 loop bn_load_0 
+0x7785 032265 rtn 
+:      032269 bn_mulmod:
+0x7786 032270 copy contw ,timeup 
+0x7787 032271 arg mem_tmp1 ,contw 
+0x7788 032272 call bn_zero 
+0x7789 032273 arg mem_tmp1 ,contw 
+0x778a 032274 copy rega ,contr 
+0x778b 032275 force 0 ,regext_index 
+0x778c 032276 call bn_load 
+0x778d 032277 copy regb ,contr 
+0x778e 032278 call bn_load 
+0x778f 032279 force 0 ,regb 
+:      032280 bn_mulmod_1:
+0x7790 032281 force 0 ,temp 
+0x7791 032282 force 6 ,regc 
+:      032283 bn_mulmod_0:
+0x7792 032284 ifetch 4 ,contw 
+0x7793 032285 iforce rega 
+0x7794 032286 copy regb ,regext_index 
+0x7795 032287 deposit regext 
+0x7796 032288 copy regc ,regext_index 
+0x7797 032289 imul32 regext ,pdata 
+0x7798 032290 iadd rega ,pdata 
+0x7799 032291 iadd temp ,pdata 
+0x779a 032292 istore 4 ,contw 
+0x779b 032293 rshift32 pdata ,temp 
+0x779c 032294 increase 1 ,regc 
+0x779d 032295 compare 12 ,regc ,0xff 
+0x779e 032296 nbranch bn_mulmod_0 ,true 
+0x779f 032297 deposit temp 
+0x77a0 032298 istore 4 ,contw 
+0x77a1 032299 increase -24 ,contw 
+0x77a2 032300 increase 1 ,regb 
+0x77a3 032301 compare 6 ,regb ,0xff 
+0x77a4 032302 nbranch bn_mulmod_1 ,true 
+0x77a5 032303 arg mem_tmp1 ,rega 
+0x77a6 032304 copy timeup ,contw 
+0x77a7 032305 branch bn_p192mod 
+:      032308 bn_sqrmod:
+0x77a8 032309 copy rega ,regb 
+0x77a9 032310 branch bn_mulmod 
+:      032312 bn_rshifteven:
+0x77aa 032313 copy rega ,alarm 
+:      032314 bn_rshifteven_1:
+0x77ab 032315 copy alarm ,rega 
+0x77ac 032316 ifetch 1 ,rega 
+0x77ad 032317 isolate1 0 ,pdata 
+0x77ae 032318 rtn true 
+0x77af 032319 call bn_rshift6 
+0x77b0 032320 ifetch 1 ,regb 
+0x77b1 032321 isolate0 0 ,pdata 
+0x77b2 032322 branch bn_rshifteven_0 ,true 
+0x77b3 032323 arg mem_p ,rega 
+0x77b4 032324 copy regb ,contw 
+0x77b5 032325 call bn_add 
+0x77b6 032326 ifetch 1 ,regb 
+0x77b7 032327 iadd regc ,pdata 
+0x77b8 032328 istore 1 ,regb 
+0x77b9 032329 increase -24 ,regb 
+:      032330 bn_rshifteven_0:
+0x77ba 032331 add regb ,24 ,rega 
+0x77bb 032332 force 7 ,loopcnt 
+0x77bc 032333 call bn_rshift 
+0x77bd 032334 branch bn_rshifteven_1 
+:      032337 bn_invmod:
+0x77be 032338 copy contw ,timeup 
+0x77bf 032339 arg mem_tmp0 ,contw 
+0x77c0 032340 call bn_zero 
+0x77c1 032341 force 0 ,pdata 
+0x77c2 032342 store 4 ,mem_tmp5 
+0x77c3 032343 store 4 ,mem_t2 
+0x77c4 032344 jam 1 ,mem_tmp0 
+0x77c5 032345 arg mem_tmp1 ,contw 
+0x77c6 032346 call bn_zero 
+0x77c7 032347 arg mem_p ,contr 
+0x77c8 032348 arg mem_tmp2 ,contw 
+0x77c9 032349 call memcpy24 
+0x77ca 032350 copy rega ,contr 
+0x77cb 032351 arg mem_tmp3 ,contw 
+0x77cc 032352 call memcpy24 
+:      032353 bn_invmod_2:
+0x77cd 032354 arg mem_tmp3 ,contr 
+0x77ce 032355 call bn_eq_zero 
+0x77cf 032356 branch bn_invmod_0 ,blank 
+0x77d0 032357 arg mem_tmp3 ,rega 
+0x77d1 032358 arg mem_tmp0 ,regb 
+0x77d2 032359 call bn_rshifteven 
+0x77d3 032361 arg mem_tmp2 ,rega 
+0x77d4 032362 arg mem_tmp1 ,regb 
+0x77d5 032363 call bn_rshifteven 
+0x77d6 032364 arg mem_tmp3 ,rega 
+0x77d7 032365 arg mem_tmp2 ,regb 
+0x77d8 032366 call bn_bigeq 
+0x77d9 032367 branch bn_invmod_1 ,positive 
+0x77da 032368 arg mem_tmp2 ,rega 
+0x77db 032369 arg mem_tmp3 ,regb 
+0x77dc 032370 copy rega ,contw 
+0x77dd 032371 call bn_sub 
+0x77de 032372 arg mem_tmp0 ,rega 
+0x77df 032373 arg mem_tmp1 ,regb 
+0x77e0 032374 copy regb ,contw 
+0x77e1 032375 call bn_add 
+0x77e2 032376 ifetch 1 ,rega 
+0x77e3 032377 iadd regc ,regc 
+0x77e4 032378 ifetch 1 ,regb 
+0x77e5 032379 iadd regc ,pdata 
+0x77e6 032380 istore 1 ,regb 
+0x77e7 032381 branch bn_invmod_2 
+:      032382 bn_invmod_1:
+0x77e8 032383 arg mem_tmp3 ,rega 
+0x77e9 032384 arg mem_tmp2 ,regb 
+0x77ea 032385 copy rega ,contw 
+0x77eb 032386 call bn_sub 
+0x77ec 032387 arg mem_tmp1 ,rega 
+0x77ed 032388 arg mem_tmp0 ,regb 
+0x77ee 032389 copy regb ,contw 
+0x77ef 032390 call bn_add 
+0x77f0 032391 ifetch 1 ,rega 
+0x77f1 032392 iadd regc ,regc 
+0x77f2 032393 ifetch 1 ,regb 
+0x77f3 032394 iadd regc ,pdata 
+0x77f4 032395 istore 1 ,regb 
+0x77f5 032396 branch bn_invmod_2 
+:      032397 bn_invmod_0:
+0x77f6 032398 arg mem_tmp0 ,contw 
+0x77f7 032399 call bn_zero 
+0x77f8 032400 fetch 1 ,mem_tmp5 
+0x77f9 032401 store 1 ,mem_tmp0 
+0x77fa 032402 store 1 ,mem_tmp0a 
+0x77fb 032403 arg mem_tmp0 ,rega 
+0x77fc 032404 arg mem_tmp1 ,regb 
+0x77fd 032405 copy regb ,contw 
+0x77fe 032406 call bn_addmod 
+0x77ff 032407 arg mem_p ,rega 
+0x7800 032408 arg mem_tmp1 ,regb 
+0x7801 032409 copy timeup ,contw 
+0x7802 032410 branch bn_submod 
+:      032415 ecdbl:
+0x7803 032416 arg mem_cz ,rega 
+0x7804 032417 arg mem_t2 ,contw 
+0x7805 032418 call bn_sqrmod 
+0x7806 032419 arg mem_t2 ,rega 
+0x7807 032420 arg mem_t3 ,contw 
+0x7808 032421 call bn_sqrmod 
+0x7809 032422 arg mem_a ,rega 
+0x780a 032423 arg mem_t3 ,regb 
+0x780b 032424 arg mem_t3 ,contw 
+0x780c 032425 call bn_mulmod 
+0x780d 032426 arg mem_cx ,rega 
+0x780e 032427 arg mem_t2 ,contw 
+0x780f 032428 call bn_sqrmod 
+0x7810 032429 arg mem_t2 ,contr 
+0x7811 032430 arg mem_t1 ,contw 
+0x7812 032431 call memcpy24 
+0x7813 032432 arg mem_t1 ,rega 
+0x7814 032433 call bn_lshiftmod 
+0x7815 032434 arg mem_t2 ,rega 
+0x7816 032435 arg mem_t1 ,regb 
+0x7817 032436 arg mem_t2 ,contw 
+0x7818 032437 call bn_addmod 
+0x7819 032438 arg mem_t2 ,rega 
+0x781a 032439 arg mem_t3 ,regb 
+0x781b 032440 arg mem_t2 ,contw 
+0x781c 032441 call bn_addmod 
+0x781d 032442 arg mem_cx ,contr 
+0x781e 032443 arg mem_t1 ,contw 
+0x781f 032444 call memcpy24 
+0x7820 032445 arg mem_cy ,rega 
+0x7821 032446 arg mem_t3 ,contw 
+0x7822 032447 call bn_sqrmod 
+0x7823 032448 arg mem_t1 ,rega 
+0x7824 032449 call bn_lshiftmod 
+0x7825 032450 arg mem_t1 ,rega 
+0x7826 032451 call bn_lshiftmod 
+0x7827 032452 arg mem_t1 ,rega 
+0x7828 032453 arg mem_t3 ,regb 
+0x7829 032454 arg mem_t1 ,contw 
+0x782a 032455 call bn_mulmod 
+0x782b 032456 arg mem_t3 ,rega 
+0x782c 032457 arg mem_t0 ,contw 
+0x782d 032458 call bn_sqrmod 
+0x782e 032459 arg mem_t0 ,rega 
+0x782f 032460 call bn_lshiftmod 
+0x7830 032461 arg mem_t0 ,rega 
+0x7831 032462 call bn_lshiftmod 
+0x7832 032463 arg mem_t0 ,rega 
+0x7833 032464 call bn_lshiftmod 
+0x7834 032465 arg mem_cy ,contr 
+0x7835 032466 arg mem_t3 ,contw 
+0x7836 032467 call memcpy24 
+0x7837 032468 arg mem_t3 ,rega 
+0x7838 032469 call bn_lshiftmod 
+0x7839 032470 arg mem_t3 ,rega 
+0x783a 032471 arg mem_cz ,regb 
+0x783b 032472 arg mem_cz ,contw 
+0x783c 032473 call bn_mulmod 
+0x783d 032474 arg mem_t2 ,rega 
+0x783e 032475 arg mem_t3 ,contw 
+0x783f 032476 call bn_sqrmod 
+0x7840 032477 arg mem_t3 ,rega 
+0x7841 032478 arg mem_t1 ,regb 
+0x7842 032479 arg mem_t3 ,contw 
+0x7843 032480 call bn_submod 
+0x7844 032481 arg mem_t3 ,rega 
+0x7845 032482 arg mem_t1 ,regb 
+0x7846 032483 arg mem_cx ,contw 
+0x7847 032484 call bn_submod 
+0x7848 032485 arg mem_t1 ,rega 
+0x7849 032486 arg mem_cx ,regb 
+0x784a 032487 arg mem_t3 ,contw 
+0x784b 032488 call bn_submod 
+0x784c 032489 arg mem_t3 ,rega 
+0x784d 032490 arg mem_t2 ,regb 
+0x784e 032491 arg mem_t3 ,contw 
+0x784f 032492 call bn_mulmod 
+0x7850 032493 arg mem_t3 ,rega 
+0x7851 032494 arg mem_t0 ,regb 
+0x7852 032495 arg mem_cy ,contw 
+0x7853 032496 branch bn_submod 
+:      032500 ecadd:
+0x7854 032501 arg mem_az ,rega 
+0x7855 032502 arg mem_t7 ,contw 
+0x7856 032503 call bn_sqrmod 
+0x7857 032504 arg mem_cx ,rega 
+0x7858 032505 arg mem_t7 ,regb 
+0x7859 032506 arg mem_t0 ,contw 
+0x785a 032507 call bn_mulmod 
+0x785b 032508 arg mem_az ,rega 
+0x785c 032509 arg mem_t7 ,regb 
+0x785d 032510 arg mem_t7 ,contw 
+0x785e 032511 call bn_mulmod 
+0x785f 032512 arg mem_cy ,rega 
+0x7860 032513 arg mem_t7 ,regb 
+0x7861 032514 arg mem_t1 ,contw 
+0x7862 032515 call bn_mulmod 
+0x7863 032516 arg mem_cz ,rega 
+0x7864 032517 arg mem_t7 ,contw 
+0x7865 032518 call bn_sqrmod 
+0x7866 032519 arg mem_ax ,rega 
+0x7867 032520 arg mem_t7 ,regb 
+0x7868 032521 arg mem_t2 ,contw 
+0x7869 032522 call bn_mulmod 
+0x786a 032523 arg mem_cz ,rega 
+0x786b 032524 arg mem_t7 ,regb 
+0x786c 032525 arg mem_t7 ,contw 
+0x786d 032526 call bn_mulmod 
+0x786e 032527 arg mem_ay ,rega 
+0x786f 032528 arg mem_t7 ,regb 
+0x7870 032529 arg mem_t3 ,contw 
+0x7871 032530 call bn_mulmod 
+0x7872 032531 arg mem_t0 ,rega 
+0x7873 032532 arg mem_t2 ,regb 
+0x7874 032533 arg mem_t7 ,contw 
+0x7875 032534 call bn_submod 
+0x7876 032535 arg mem_t0 ,rega 
+0x7877 032536 arg mem_t2 ,regb 
+0x7878 032537 arg mem_t0 ,contw 
+0x7879 032538 call bn_addmod 
+0x787a 032539 arg mem_t1 ,rega 
+0x787b 032540 arg mem_t3 ,regb 
+0x787c 032541 arg mem_t2 ,contw 
+0x787d 032542 call bn_submod 
+0x787e 032543 arg mem_t1 ,rega 
+0x787f 032544 arg mem_t3 ,regb 
+0x7880 032545 arg mem_t1 ,contw 
+0x7881 032546 call bn_addmod 
+0x7882 032547 arg mem_t1 ,rega 
+0x7883 032548 arg mem_t7 ,regb 
+0x7884 032549 arg mem_t1 ,contw 
+0x7885 032550 call bn_mulmod 
+0x7886 032551 arg mem_cz ,rega 
+0x7887 032552 arg mem_az ,regb 
+0x7888 032553 arg mem_t3 ,contw 
+0x7889 032554 call bn_mulmod 
+0x788a 032555 arg mem_t3 ,rega 
+0x788b 032556 arg mem_t7 ,regb 
+0x788c 032557 arg mem_cz ,contw 
+0x788d 032558 call bn_mulmod 
+0x788e 032559 arg mem_t7 ,rega 
+0x788f 032560 arg mem_t7 ,contw 
+0x7890 032561 call bn_sqrmod 
+0x7891 032562 arg mem_t7 ,rega 
+0x7892 032563 arg mem_t0 ,regb 
+0x7893 032564 arg mem_t3 ,contw 
+0x7894 032565 call bn_mulmod 
+0x7895 032566 arg mem_t7 ,rega 
+0x7896 032567 arg mem_t1 ,regb 
+0x7897 032568 arg mem_t1 ,contw 
+0x7898 032569 call bn_mulmod 
+0x7899 032570 arg mem_t2 ,rega 
+0x789a 032571 arg mem_cx ,contw 
+0x789b 032572 call bn_sqrmod 
+0x789c 032573 arg mem_cx ,rega 
+0x789d 032574 arg mem_t3 ,regb 
+0x789e 032575 arg mem_cx ,contw 
+0x789f 032576 call bn_submod 
+0x78a0 032577 arg mem_cx ,contr 
+0x78a1 032578 arg mem_t7 ,contw 
+0x78a2 032579 call memcpy24 
+0x78a3 032580 arg mem_t7 ,rega 
+0x78a4 032581 call bn_lshiftmod 
+0x78a5 032582 arg mem_t3 ,rega 
+0x78a6 032583 arg mem_t7 ,regb 
+0x78a7 032584 arg mem_t3 ,contw 
+0x78a8 032585 call bn_submod 
+0x78a9 032586 arg mem_t3 ,rega 
+0x78aa 032587 arg mem_t2 ,regb 
+0x78ab 032588 arg mem_t2 ,contw 
+0x78ac 032589 call bn_mulmod 
+0x78ad 032590 arg mem_t2 ,rega 
+0x78ae 032591 arg mem_t1 ,regb 
+0x78af 032592 arg mem_cy ,contw 
+0x78b0 032593 call bn_submod 
+0x78b1 032594 arg mem_cy ,rega 
+0x78b2 032595 arg mem_p ,regb 
+0x78b3 032596 arg mem_cy ,contw 
+0x78b4 032597 force 0 ,regc 
+0x78b5 032598 fetch 1 ,mem_cy 
+0x78b6 032599 isolate1 0 ,pdata 
+0x78b7 032600 call bn_add ,true 
+0x78b8 032601 copy regc ,alarm 
+0x78b9 032602 arg mem_cy ,rega 
+0x78ba 032603 call bn_rshift6 
+0x78bb 032604 fetch 1 ,mem_cy5 
+0x78bc 032605 isolate1 0 ,alarm 
+0x78bd 032606 setflag true ,7 ,pdata 
+0x78be 032607 store 1 ,mem_cy5 
+0x78bf 032608 rtn 
+:      032612 eckp_0:
+0x78c0 032613 fetch 1 ,mem_ec_loopc 
+0x78c1 032614 increase -1 ,pdata 
+0x78c2 032615 nrtn positive 
+0x78c3 032616 store 1 ,mem_ec_loopc 
+0x78c4 032617 fetch 1 ,mem_ec_infinite 
+0x78c5 032618 call ecdbl ,blank 
+0x78c6 032619 fetch 1 ,mem_ec_loopc 
+0x78c7 032620 arg mem_k ,contr 
+0x78c8 032621 call bn_testbit 
+0x78c9 032622 branch eckp_0 ,true 
+0x78ca 032623 fetch 1 ,mem_ec_infinite 
+0x78cb 032624 nbranch eckp_1 ,blank 
+0x78cc 032625 call ecadd 
+0x78cd 032626 branch eckp_0 
+:      032627 eckp_1:
+0x78ce 032628 jam 0 ,mem_ec_infinite 
+0x78cf 032629 arg mem_ax ,contr 
+0x78d0 032630 arg mem_cx ,contw 
+0x78d1 032631 call ec_copy 
+0x78d2 032632 branch eckp_0 
+:      032635 ecunmapz:
+0x78d3 032636 arg mem_cz ,rega 
+0x78d4 032637 arg mem_t3 ,contw 
+0x78d5 032638 call bn_invmod 
+0x78d6 032639 arg mem_t3 ,rega 
+0x78d7 032640 arg mem_t1 ,contw 
+0x78d8 032641 call bn_sqrmod 
+0x78d9 032642 arg mem_cx ,rega 
+0x78da 032643 arg mem_t1 ,regb 
+0x78db 032644 arg mem_bx ,contw 
+0x78dc 032645 call bn_mulmod 
+0x78dd 032646 arg mem_t3 ,rega 
+0x78de 032647 arg mem_t1 ,regb 
+0x78df 032648 arg mem_t2 ,contw 
+0x78e0 032649 call bn_mulmod 
+0x78e1 032650 arg mem_cy ,rega 
+0x78e2 032651 arg mem_t2 ,regb 
+0x78e3 032652 arg mem_by ,contw 
+0x78e4 032653 branch bn_mulmod 
+:      032657 sha_endian_swap2:
+0x78e5 032658 ifetch 4 ,contr 
+0x78e6 032659 force 4 ,rega 
+0x78e7 032660 increase 3 ,contw 
+:      032661 sha_endian_loop:
+0x78e8 032662 istore 1 ,contw 
+0x78e9 032663 rshift8 pdata ,pdata 
+0x78ea 032664 increase -2 ,contw 
+0x78eb 032665 increase -1 ,rega 
+0x78ec 032666 nbranch sha_endian_loop ,zero 
+0x78ed 032667 increase 5 ,contw 
+0x78ee 032668 loop sha_endian_swap2 
+0x78ef 032669 rtn 
+:      032672 sha_getw:
+0x78f0 032673 lshift2 queue ,pdata 
+0x78f1 032674 iadd timeup ,contr 
+0x78f2 032675 ifetch 4 ,contr 
+0x78f3 032676 rtn 
+:      032678 sha_r:
+0x78f4 032679 force 16 ,alarm 
+0x78f5 032680 arg memdat ,timeup 
+:      032681 sha_r_loop:
+0x78f6 032682 add alarm ,-7 ,queue 
+0x78f7 032683 call sha_getw 
+0x78f8 032684 iforce temp 
+0x78f9 032685 add alarm ,-16 ,queue 
+0x78fa 032686 call sha_getw 
+0x78fb 032687 iadd temp ,temp 
+0x78fc 032688 add alarm ,-2 ,queue 
+0x78fd 032689 call sha_getw 
+0x78fe 032690 shasx pdata ,1 ,pdata 
+0x78ff 032691 iadd temp ,temp 
+0x7900 032692 add alarm ,-15 ,queue 
+0x7901 032693 call sha_getw 
+0x7902 032694 shasx pdata ,0 ,pdata 
+0x7903 032695 iadd temp ,temp 
+0x7904 032696 lshift2 alarm ,pdata 
+0x7905 032697 iadd timeup ,contw 
+0x7906 032698 istoret 4 ,contw 
+0x7907 032699 increase 1 ,alarm 
+0x7908 032700 compare 64 ,alarm ,0xff 
+0x7909 032701 nbranch sha_r_loop ,true 
+0x790a 032702 rtn 
+:      032705 sha_init:
+0x790b 032706 arg memh0 ,contr 
+0x790c 032707 force 7 ,regext_index 
+:      032708 sha_init_0:
+0x790d 032709 ifetch 4 ,contr 
+0x790e 032710 iforce regext 
+0x790f 032711 increase -1 ,regext_index 
+0x7910 032712 branch sha_init_0 ,positive 
+0x7911 032713 rtn 
+:      032715 sha:
+0x7912 032716 bpatchx patch3d_4 ,mem_patch3d 
+0x7913 032717 call sha_r 
+0x7914 032718 arg memahbak ,contw 
+0x7915 032719 force 0 ,regext_index 
+:      032720 sha_0:
+0x7916 032721 deposit regext 
+0x7917 032722 istore 4 ,contw 
+0x7918 032723 increase 1 ,regext_index 
+0x7919 032724 compare 8 ,regext_index ,0xff 
+0x791a 032725 nbranch sha_0 ,true 
+0x791b 032726 call enable_authrom 
+0x791c 032727 arg memk ,timeup 
+0x791d 032728 arg memdat ,alarm 
+0x791e 032729 force 64 ,loopcnt 
+:      032730 sha_loop:
+0x791f 032731 ifetcht 4 ,alarm 
+0x7920 032732 ifetch 4 ,timeup 
+0x7921 032733 increase 4 ,timeup 
+0x7922 032734 increase 4 ,alarm 
+0x7923 032735 iadd temp ,pdata 
+0x7924 032736 force 7 ,regext_index 
+0x7925 032737 iadd regext ,temp 
+0x7926 032738 force 4 ,regext_index 
+0x7927 032739 shasx regext ,3 ,pdata 
+0x7928 032740 iadd temp ,temp 
+0x7929 032741 force 5 ,regext_index 
+0x792a 032742 deposit regext 
+0x792b 032743 force 6 ,regext_index 
+0x792c 032744 ixor regext ,pdata 
+0x792d 032745 force 4 ,regext_index 
+0x792e 032746 iand regext ,pdata 
+0x792f 032747 force 6 ,regext_index 
+0x7930 032748 ixor regext ,pdata 
+0x7931 032749 iadd temp ,temp 
+0x7932 032750 force 7 ,regext_index 
+0x7933 032751 copy temp ,regext 
+0x7934 032752 force 3 ,regext_index 
+0x7935 032753 deposit regext 
+0x7936 032754 iadd temp ,regext 
+0x7937 032755 force 0 ,regext_index 
+0x7938 032756 deposit regext 
+0x7939 032757 force 1 ,regext_index 
+0x793a 032758 iand regext ,temp 
+0x793b 032759 ior regext ,pdata 
+0x793c 032760 force 2 ,regext_index 
+0x793d 032761 iand regext ,pdata 
+0x793e 032762 ior temp ,temp 
+0x793f 032763 force 0 ,regext_index 
+0x7940 032764 shasx regext ,2 ,pdata 
+0x7941 032765 iadd temp ,pdata 
+0x7942 032766 force 7 ,regext_index 
+0x7943 032767 iadd regext ,regext 
+0x7944 032768 regexrot 
+0x7945 032769 loop sha_loop 
+0x7946 032770 arg memahbak ,contr 
+0x7947 032771 force 0 ,regext_index 
+:      032772 sha_1:
+0x7948 032773 ifetch 4 ,contr 
+0x7949 032774 iadd regext ,regext 
+0x794a 032775 increase 1 ,regext_index 
+0x794b 032776 compare 8 ,regext_index ,0xff 
+0x794c 032777 nbranch sha_1 ,true 
+0x794d 032778 branch disable_authrom 
+:      032781 sha_result:
+0x794e 032782 arg memresult ,contw 
+0x794f 032783 force 7 ,regext_index 
+:      032784 sha_regext_save:
+0x7950 032785 deposit regext 
+0x7951 032786 istore 4 ,contw 
+0x7952 032787 increase -1 ,regext_index 
+0x7953 032788 branch sha_regext_save ,positive 
+0x7954 032789 rtn 
+:      032791 pad_xor:
+0x7955 032793 arg memdat ,contw 
+0x7956 032794 increase -4 ,contr 
+0x7957 032795 sub loopcnt ,16 ,rega 
+:      032796 pad_xor_0:
+0x7958 032797 ifetch 4 ,contr 
+0x7959 032798 ixor temp ,pdata 
+0x795a 032799 istore 4 ,contw 
+0x795b 032800 increase -8 ,contr 
+0x795c 032801 loop pad_xor_0 
+0x795d 032802 copy rega ,loopcnt 
+0x795e 032803 deposit temp 
+:      032804 pad_xor_1:
+0x795f 032805 istore 4 ,contw 
+0x7960 032806 loop pad_xor_1 
+0x7961 032807 rtn 
+:      032809 g_noninit_number_confirm:
+0x7962 032810 call g_noninit0 
+0x7963 032811 call sha_result 
+0x7964 032812 branch g_common0 
+:      032814 g_noninit:
+0x7965 032815 call g_noninit0 
+0x7966 032816 branch g_common0 
+:      032818 g_noninit0:
+0x7967 032819 arg mem_sp_pubkey_remote_x_end ,contr 
+0x7968 032820 arg memdat ,contw 
+0x7969 032821 force 6 ,loopcnt 
+0x796a 032822 call memcpy_dword_swap 
+0x796b 032823 arg mem_sp_pubkey_local_x_end ,contr 
+0x796c 032824 force 6 ,loopcnt 
+0x796d 032825 call memcpy_dword_swap 
+0x796e 032826 arg mem_sp_random_remote_end ,contr 
+0x796f 032827 call memcpy_dword_swap4 
+0x7970 032828 call sha_init 
+0x7971 032829 call sha 
+0x7972 032830 arg mem_sp_random_local_end ,contr 
+0x7973 032831 arg memdat ,contw 
+0x7974 032832 branch g_common 
+:      032834 g_init:
+0x7975 032835 arg mem_sp_pubkey_local_x_end ,contr 
+0x7976 032836 arg memdat ,contw 
+0x7977 032837 force 6 ,loopcnt 
+0x7978 032838 call memcpy_dword_swap 
+0x7979 032839 arg mem_sp_pubkey_remote_x_end ,contr 
+0x797a 032840 force 6 ,loopcnt 
+0x797b 032841 call memcpy_dword_swap 
+0x797c 032842 arg mem_sp_random_local_end ,contr 
+0x797d 032843 call memcpy_dword_swap4 
+0x797e 032844 call sha_init 
+0x797f 032845 call sha 
+0x7980 032846 arg mem_sp_random_remote_end ,contr 
+0x7981 032847 arg memdat ,contw 
+0x7982 032848 call g_common 
+0x7983 032849 branch g_common0 
+:      032851 g_common:
+0x7984 032852 call memcpy_dword_swap4 
+0x7985 032853 setarg 0x800000 
+0x7986 032854 lshift8 pdata ,pdata 
+0x7987 032855 istore 4 ,contw 
+0x7988 032856 force 5 ,loopcnt 
+0x7989 032857 call memset0 
+0x798a 032858 setarg 640 
+0x798b 032859 istore 4 ,contw 
+0x798c 032860 branch sha 
+:      032861 g_common0:
+0x798d 032862 fetch 4 ,memresult 
+0x798e 032864 arg 1000 ,rega 
+0x798f 032865 idiv rega 
+0x7990 032866 call wait_div_end 
+0x7991 032867 remainder pdata 
+0x7992 032868 store 4 ,mem_gkey 
+0x7993 032869 quotient pdata 
+0x7994 032870 arg 1000 ,rega 
+0x7995 032871 idiv rega 
+0x7996 032872 call wait_div_end 
+0x7997 032873 remainder pdata 
+0x7998 032874 arg 1000 ,rega 
+0x7999 032875 imul32 rega ,pdata 
+0x799a 032876 fetcht 4 ,mem_gkey 
+0x799b 032877 iadd temp ,pdata 
+0x799c 032878 store 4 ,mem_gkey 
+0x799d 032879 rtn 
+:      032881 function_f1_no_key:
+0x799e 032882 jam 0 ,mem_passkey_1bit 
+0x799f 032883 branch function_f1_common 
+:      032885 function_f1:
+0x79a0 032886 fetch 1 ,mem_ssp_mode_flag 
+0x79a1 032887 bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+:      032888 function_f1_common:
+0x79a2 032889 bpatchx patch3d_5 ,mem_patch3d 
+0x79a3 032890 setarg 0x363636 
+0x79a4 032891 lshift8 pdata ,temp 
+0x79a5 032892 or_into 0x36 ,temp 
+0x79a6 032893 fetch 2 ,mem_sp_prarm_stack 
+0x79a7 032894 copy pdata ,contr 
+0x79a8 032895 force 4 ,loopcnt 
+0x79a9 032896 call pad_xor 
+0x79aa 032897 call sha_init 
+0x79ab 032898 call sha 
+0x79ac 032899 fetch 2 ,mem_sp_prarm_stack + 2 
+0x79ad 032900 copy pdata ,contr 
+0x79ae 032901 arg memdat ,contw 
+0x79af 032902 force 6 ,loopcnt 
+0x79b0 032903 call memcpy_dword_swap 
+0x79b1 032904 fetch 2 ,mem_sp_prarm_stack + 4 
+0x79b2 032905 copy pdata ,contr 
+0x79b3 032906 force 6 ,loopcnt 
+0x79b4 032907 call memcpy_dword_swap 
+0x79b5 032908 setarg 0x800000 
+0x79b6 032909 istore 3 ,contw 
+0x79b7 032911 fetch 1 ,mem_passkey_1bit 
+0x79b8 032913 istore 1 ,contw 
+0x79b9 032914 force 0 ,pdata 
+0x79ba 032915 istore 8 ,contw 
+0x79bb 032916 setarg 0x0388 
+0x79bc 032917 istore 4 ,contw 
+0x79bd 032918 call sha 
+0x79be 032919 call sha_result 
+0x79bf 032920 arg memresult ,contr 
+0x79c0 032921 arg memahsave ,contw 
+0x79c1 032922 call memcpy32 
+0x79c2 032924 setarg 0x5c5c5c 
+0x79c3 032925 lshift8 pdata ,temp 
+0x79c4 032926 or_into 0x5c ,temp 
+0x79c5 032927 fetch 2 ,mem_sp_prarm_stack 
+0x79c6 032928 copy pdata ,contr 
+0x79c7 032929 force 4 ,loopcnt 
+0x79c8 032930 call pad_xor 
+0x79c9 032931 call sha_init 
+0x79ca 032932 call sha 
+0x79cb 032933 arg memahsave_end ,contr 
+0x79cc 032934 arg memdat ,contw 
+0x79cd 032935 force 8 ,loopcnt 
+0x79ce 032936 call memcpy_dword_swap 
+0x79cf 032937 setarg 0x800000 
+0x79d0 032938 lshift8 pdata ,pdata 
+0x79d1 032939 istore 4 ,contw 
+0x79d2 032940 call bn_zero 
+0x79d3 032941 setarg 0x0300 
+0x79d4 032942 istore 4 ,contw 
+0x79d5 032943 call sha 
+0x79d6 032944 branch sha_result 
+:      032947 function_f2:
+0x79d7 032948 setarg 0x363636 
+0x79d8 032949 lshift8 pdata ,temp 
+0x79d9 032950 or_into 0x36 ,temp 
+0x79da 032951 arg mem_sp_dhkey_end ,contr 
+0x79db 032952 force 6 ,loopcnt 
+0x79dc 032953 call pad_xor 
+0x79dd 032954 call sha_init 
+0x79de 032955 call sha 
+0x79df 032956 fetch 2 ,mem_sp_prarm_stack + 12 
+0x79e0 032957 copy pdata ,contr 
+0x79e1 032958 arg memdat ,contw 
+0x79e2 032959 call memcpy_dword_swap4 
+0x79e3 032960 fetch 2 ,mem_sp_prarm_stack + 14 
+0x79e4 032961 copy pdata ,contr 
+0x79e5 032962 call memcpy_dword_swap4 
+0x79e6 032964 setarg 0x62746c 
+0x79e7 032965 lshift8 pdata ,pdata 
+0x79e8 032966 or_into 0x6b ,pdata 
+0x79e9 032967 istore 4 ,contw 
+0x79ea 032968 arg mem_addr_value_end ,contr 
+0x79eb 032969 force 3 ,loopcnt 
+0x79ec 032970 call memcpy_dword_swap 
+0x79ed 032972 setarg 0x800000 
+0x79ee 032973 lshift8 pdata ,pdata 
+0x79ef 032974 istore 4 ,contw 
+0x79f0 032975 force 0 ,pdata 
+0x79f1 032976 istore 8 ,contw 
+0x79f2 032977 setarg 0x0380 
+0x79f3 032978 istore 4 ,contw 
+0x79f4 032979 call sha 
+0x79f5 032981 call sha_result 
+0x79f6 032982 arg memresult ,contr 
+0x79f7 032983 arg memahsave ,contw 
+0x79f8 032984 call memcpy32 
+0x79f9 032986 setarg 0x5c5c5c 
+0x79fa 032987 lshift8 pdata ,temp 
+0x79fb 032988 or_into 0x5c ,temp 
+0x79fc 032989 arg mem_sp_dhkey_end ,contr 
+0x79fd 032990 force 6 ,loopcnt 
+0x79fe 032991 call pad_xor 
+0x79ff 032992 call sha_init 
+0x7a00 032993 call sha 
+0x7a01 032994 arg memahsave_end ,contr 
+0x7a02 032995 arg memdat ,contw 
+0x7a03 032996 force 8 ,loopcnt 
+0x7a04 032997 call memcpy_dword_swap 
+0x7a05 032998 setarg 0x800000 
+0x7a06 032999 lshift8 pdata ,pdata 
+0x7a07 033000 istore 4 ,contw 
+0x7a08 033001 call bn_zero 
+0x7a09 033002 setarg 0x0300 
+0x7a0a 033003 istore 4 ,contw 
+0x7a0b 033004 call sha 
+0x7a0c 033005 branch sha_result 
+:      033008 function_f3a:
+0x7a0d 033009 fetch 1 ,mem_ssp_mode_flag 
+0x7a0e 033010 bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+:      033011 function_f3a_common:
+0x7a0f 033012 bpatchx patch3d_6 ,mem_patch3d 
+0x7a10 033013 setarg 0x363636 
+0x7a11 033014 lshift8 pdata ,temp 
+0x7a12 033015 or_into 0x36 ,temp 
+0x7a13 033016 arg mem_sp_dhkey_end ,contr 
+0x7a14 033017 force 6 ,loopcnt 
+0x7a15 033018 call pad_xor 
+0x7a16 033019 call sha_init 
+0x7a17 033020 call sha 
+0x7a18 033021 arg mem_sp_random_remote_end ,contr 
+0x7a19 033022 arg memdat ,contw 
+0x7a1a 033023 call memcpy_dword_swap4 
+0x7a1b 033024 arg mem_sp_random_local_end ,contr 
+0x7a1c 033025 call memcpy_dword_swap4 
+0x7a1d 033026 branch function_f3_common 
+:      033028 function_f3a_no_pin:
+0x7a1e 033029 setarg 0 
+0x7a1f 033030 store 4 ,mem_pin 
+0x7a20 033031 branch function_f3a_common 
+:      033033 function_f3b_no_pin:
+0x7a21 033034 setarg 0 
+0x7a22 033035 store 4 ,mem_pin 
+0x7a23 033036 branch function_f3b_common 
+:      033039 function_f3b:
+0x7a24 033040 fetch 1 ,mem_ssp_mode_flag 
+0x7a25 033041 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+:      033042 function_f3b_common:
+0x7a26 033043 setarg 0x363636 
+0x7a27 033044 lshift8 pdata ,temp 
+0x7a28 033045 or_into 0x36 ,temp 
+0x7a29 033046 arg mem_sp_dhkey_end ,contr 
+0x7a2a 033047 force 6 ,loopcnt 
+0x7a2b 033048 call pad_xor 
+0x7a2c 033049 call sha_init 
+0x7a2d 033050 call sha 
+0x7a2e 033052 arg mem_sp_random_local_end ,contr 
+0x7a2f 033053 arg memdat ,contw 
+0x7a30 033054 call memcpy_dword_swap4 
+0x7a31 033055 arg mem_sp_random_remote_end ,contr 
+0x7a32 033056 call memcpy_dword_swap4 
+:      033057 function_f3_common:
+0x7a33 033058 setarg 0x0 
+0x7a34 033059 istore 8 ,contw 
+0x7a35 033060 istore 4 ,contw 
+0x7a36 033061 fetch 4 ,mem_pin 
+0x7a37 033062 istore 4 ,contw 
+0x7a38 033064 copy contw ,temp 
+0x7a39 033065 jam 0x80 ,mem_addr_padding 
+0x7a3a 033066 copy temp ,contw 
+0x7a3b 033067 arg mem_addr_iocap_end ,contr 
+0x7a3c 033068 call memcpy_dword_swap4 
+0x7a3d 033070 call sha 
+0x7a3e 033072 arg memdat ,contw 
+0x7a3f 033073 force 7 ,loopcnt 
+0x7a40 033074 call memset0 
+0x7a41 033075 istore 4 ,contw 
+0x7a42 033076 setarg 0x03F8 
+0x7a43 033077 istore 4 ,contw 
+0x7a44 033078 call sha 
+0x7a45 033079 call sha_result 
+0x7a46 033081 arg memresult ,contr 
+0x7a47 033082 arg memahsave ,contw 
+0x7a48 033083 call memcpy32 
+0x7a49 033085 setarg 0x5c5c5c 
+0x7a4a 033086 lshift8 pdata ,temp 
+0x7a4b 033087 or_into 0x5c ,temp 
+0x7a4c 033088 arg mem_sp_dhkey_end ,contr 
+0x7a4d 033089 force 6 ,loopcnt 
+0x7a4e 033090 call pad_xor 
+0x7a4f 033091 call sha_init 
+0x7a50 033092 call sha 
+0x7a51 033093 arg memahsave_end ,contr 
+0x7a52 033094 arg memdat ,contw 
+0x7a53 033095 force 8 ,loopcnt 
+0x7a54 033096 call memcpy_dword_swap 
+0x7a55 033097 setarg 0x800000 
+0x7a56 033098 lshift8 pdata ,pdata 
+0x7a57 033099 istore 4 ,contw 
+0x7a58 033100 call bn_zero 
+0x7a59 033101 setarg 0x0300 
+0x7a5a 033102 istore 4 ,contw 
+0x7a5b 033103 call sha 
+0x7a5c 033104 branch sha_result 
+:      033111 eckp_calc_init:
+0x7a5d 033112 jam 192 ,mem_ec_loopc 
+:      033113 eckp_calc_init_1:
+0x7a5e 033114 fetch 1 ,mem_ec_loopc 
+0x7a5f 033115 rtn blank 
+0x7a60 033116 increase -1 ,pdata 
+0x7a61 033117 store 1 ,mem_ec_loopc 
+0x7a62 033118 arg mem_k ,contr 
+0x7a63 033119 call bn_testbit 
+0x7a64 033120 branch eckp_calc_init_1 ,true 
+0x7a65 033121 arg mem_ax ,contr 
+0x7a66 033122 arg mem_cx ,contw 
+0x7a67 033123 branch ec_copy 
+:      033125 eckp_calc:
+0x7a68 033126 call ecdbl 
+0x7a69 033127 fetch 1 ,mem_ec_loopc 
+0x7a6a 033128 increase -1 ,pdata 
+0x7a6b 033129 store 1 ,mem_ec_loopc 
+0x7a6c 033130 arg mem_k ,contr 
+0x7a6d 033131 call bn_testbit 
+0x7a6e 033132 rtn true 
+0x7a6f 033133 branch ecadd 
+:      033135 memcpy_dword_swap4:
+0x7a70 033136 force 4 ,loopcnt 
+:      033137 memcpy_dword_swap:
+0x7a71 033138 increase -4 ,contr 
+:      033139 memcpy_dword_swap_loop:
+0x7a72 033140 ifetch 4 ,contr 
+0x7a73 033141 istore 4 ,contw 
+0x7a74 033142 increase -8 ,contr 
+0x7a75 033143 loop memcpy_dword_swap_loop 
+0x7a76 033144 rtn 
+:      033149 sp_initialize_256:
+0x7a77 033150 bpatchx patch3d_7 ,mem_patch3d 
+0x7a78 033151 fetch 1 ,mem_le_secure_connect_enable 
+0x7a79 033152 branch le_secure_connection_disable ,blank 
+0x7a7a 033153 call le_secure_connection_enable 
+0x7a7b 033154 call sp_clear_flags 
+0x7a7c 033156 branch sp_pubkey_calc_256 
+:      033161 sp_pubkey_calc_256:
+0x7a7d 033162 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7a7e 033163 rtnne sp_key_invalid 
+0x7a7f 033164 fetch 1 ,mem_le_sc_calc 
+0x7a80 033165 rtnne sp_calc_standby 
+0x7a81 033167 arg mem_le_private_key_256 ,contw 
+0x7a82 033168 force 15 ,queue 
+0x7a83 033169 call random_generator 
+0x7a84 033170 random pdata 
+0x7a85 033171 rshift pdata ,pdata 
+0x7a86 033172 istore 2 ,contw 
+0x7a87 033174 arg mem_k_256 ,contw 
+0x7a88 033175 arg mem_le_private_key_256 ,contr 
+0x7a89 033176 call memcpy32 
+0x7a8a 033178 arg mem_ax_256 ,contw 
+0x7a8b 033179 arg mem_gx_256 ,contr 
+0x7a8c 033180 call memcpy64 
+0x7a8d 033182 arg mem_az_256 ,contw 
+0x7a8e 033183 call clear_mem_256 
+0x7a8f 033184 jam 1 ,mem_az_256 
+0x7a90 033186 call eckp_calc_init_256 
+0x7a91 033187 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+0x7a92 033188 rtn 
+:      033190 sp_pubkey_generated_256:
+0x7a93 033191 arg mem_le_pubkey_local_x_256 ,contw 
+0x7a94 033192 arg mem_bx_256 ,contr 
+0x7a95 033193 call memcpy64 
+0x7a96 033194 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+0x7a97 033195 jam sp_calc_standby ,mem_le_sc_calc 
+0x7a98 033196 rtn 
+:      033200 sp_dhkey_calc_256:
+0x7a99 033201 fetch 1 ,mem_sp_dhkey_invalid 
+0x7a9a 033202 rtnne sp_key_invalid 
+0x7a9b 033203 fetch 1 ,mem_le_sc_calc 
+0x7a9c 033204 rtnne sp_calc_standby 
+0x7a9d 033206 arg mem_k_256 ,contw 
+0x7a9e 033207 arg mem_le_private_key_256 ,contr 
+0x7a9f 033208 call memcpy32 
+0x7aa0 033210 arg mem_ax_256 ,contw 
+0x7aa1 033211 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7aa2 033212 call memcpy64 
+0x7aa3 033214 arg mem_az_256 ,contw 
+0x7aa4 033215 call clear_mem_256 
+0x7aa5 033216 jam 1 ,mem_az_256 
+0x7aa6 033218 call eckp_calc_init_256 
+0x7aa7 033219 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+0x7aa8 033220 rtn 
+:      033223 sp_dhkey_generated_256:
+0x7aa9 033225 arg mem_le_dhkey_256 ,contw 
+0x7aaa 033226 arg mem_bx_256 ,contr 
+0x7aab 033227 call memcpy32 
+0x7aac 033228 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+0x7aad 033229 jam sp_calc_standby ,mem_le_sc_calc 
+0x7aae 033230 rtn 
+:      033234 sp_calc_sequence_256:
+0x7aaf 033235 fetch 1 ,mem_le_secure_connect_enable 
+0x7ab0 033236 rtn blank 
+0x7ab1 033237 fetch 1 ,mem_le_sc_calc 
+0x7ab2 033238 rtn blank 
+0x7ab3 033239 increase 0x80 ,pdata 
+0x7ab4 033240 store 1 ,mem_le_sc_calc 
+0x7ab5 033241 rtnbit1 7 
+0x7ab6 033242 fetch 2 ,mem_ec_loopc 
+0x7ab7 033243 branch sp_calc_sequence_done_256 ,blank 
+0x7ab8 033244 branch eckp_calc_256 
+:      033246 sp_calc_sequence_done_256:
+0x7ab9 033247 bpatchx patch3e_0 ,mem_patch3e 
+0x7aba 033248 call ecunmapz_256 
+0x7abb 033249 fetch 1 ,mem_le_sc_calc 
+0x7abc 033250 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+0x7abd 033251 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+0x7abe 033252 rtn 
+:      033255 eckp_calc_256:
+0x7abf 033256 call ecdbl_256 
+0x7ac0 033257 fetch 2 ,mem_ec_loopc 
+0x7ac1 033258 increase -1 ,pdata 
+0x7ac2 033259 store 2 ,mem_ec_loopc 
+0x7ac3 033260 arg mem_k_256 ,contr 
+0x7ac4 033261 call bn_testbit 
+0x7ac5 033262 rtn true 
+0x7ac6 033263 branch ecadd_256 
+:      033265 eckp_calc_init_256:
+0x7ac7 033266 bpatchx patch3e_1 ,mem_patch3e 
+0x7ac8 033267 setarg 256 ,pdata 
+0x7ac9 033268 store 2 ,mem_ec_loopc 
+:      033269 eckp_calc_init_256_1:
+0x7aca 033270 fetch 2 ,mem_ec_loopc 
+0x7acb 033271 rtn blank 
+0x7acc 033272 increase -1 ,pdata 
+0x7acd 033273 store 2 ,mem_ec_loopc 
+0x7ace 033274 arg mem_k_256 ,contr 
+0x7acf 033275 call bn_testbit 
+0x7ad0 033276 branch eckp_calc_init_256_1 ,true 
+0x7ad1 033277 arg mem_ax_256 ,contr 
+0x7ad2 033278 arg mem_cx_256 ,contw 
+0x7ad3 033279 branch memcpy96 
+:      033282 ecunmapz_256:
+0x7ad4 033283 arg mem_cz_256 ,rega 
+0x7ad5 033284 arg mem_t3_256 ,contw 
+0x7ad6 033285 call bn_invmod_256 
+0x7ad7 033286 arg mem_t3_256 ,rega 
+0x7ad8 033287 arg mem_t1_256 ,contw 
+0x7ad9 033288 call bn_sqrmod_256 
+0x7ada 033289 arg mem_cx_256 ,rega 
+0x7adb 033290 arg mem_t1_256 ,regb 
+0x7adc 033291 arg mem_bx_256 ,contw 
+0x7add 033292 call bn_mulmod_256 
+0x7ade 033293 arg mem_t3_256 ,rega 
+0x7adf 033294 arg mem_t1_256 ,regb 
+0x7ae0 033295 arg mem_t2_256 ,contw 
+0x7ae1 033296 call bn_mulmod_256 
+0x7ae2 033297 arg mem_cy_256 ,rega 
+0x7ae3 033298 arg mem_t2_256 ,regb 
+0x7ae4 033299 arg mem_by_256 ,contw 
+0x7ae5 033300 branch bn_mulmod_256 
+:      033302 ecdbl_256:
+0x7ae6 033303 arg mem_cz_256 ,rega 
+0x7ae7 033304 arg mem_t2_256 ,contw 
+0x7ae8 033305 call bn_sqrmod_256 
+0x7ae9 033306 arg mem_t2_256 ,rega 
+0x7aea 033307 arg mem_t3_256 ,contw 
+0x7aeb 033308 call bn_sqrmod_256 
+0x7aec 033310 arg mem_a_256 ,rega 
+0x7aed 033311 arg mem_t3_256 ,regb 
+0x7aee 033312 arg mem_t3_256 ,contw 
+0x7aef 033313 call bn_mulmod_256 
+0x7af0 033314 arg mem_cx_256 ,rega 
+0x7af1 033315 arg mem_t2_256 ,contw 
+0x7af2 033316 call bn_sqrmod_256 
+0x7af3 033318 arg mem_t2_256 ,contr 
+0x7af4 033319 arg mem_t1_256 ,contw 
+0x7af5 033320 call memcpy32 
+0x7af6 033321 arg mem_t1_256 ,rega 
+0x7af7 033322 call bn_lshiftmod_256 
+0x7af8 033323 arg mem_t2_256 ,rega 
+0x7af9 033324 arg mem_t1_256 ,regb 
+0x7afa 033325 arg mem_t2_256 ,contw 
+0x7afb 033326 call bn_addmod_256 
+0x7afc 033328 arg mem_t2_256 ,rega 
+0x7afd 033329 arg mem_t3_256 ,regb 
+0x7afe 033330 arg mem_t2_256 ,contw 
+0x7aff 033331 call bn_addmod_256 
+0x7b00 033333 arg mem_cx_256 ,contr 
+0x7b01 033334 arg mem_t1_256 ,contw 
+0x7b02 033335 call memcpy32 
+0x7b03 033336 arg mem_cy_256 ,rega 
+0x7b04 033337 arg mem_t3_256 ,contw 
+0x7b05 033338 call bn_sqrmod_256 
+0x7b06 033339 arg mem_t1_256 ,rega 
+0x7b07 033340 call bn_lshiftmod_256 
+0x7b08 033341 arg mem_t1_256 ,rega 
+0x7b09 033342 call bn_lshiftmod_256 
+0x7b0a 033343 arg mem_t1_256 ,rega 
+0x7b0b 033344 arg mem_t3_256 ,regb 
+0x7b0c 033345 arg mem_t1_256 ,contw 
+0x7b0d 033346 call bn_mulmod_256 
+0x7b0e 033347 arg mem_t3_256 ,rega 
+0x7b0f 033348 arg mem_t0_256 ,contw 
+0x7b10 033349 call bn_sqrmod_256 
+0x7b11 033350 arg mem_t0_256 ,rega 
+0x7b12 033351 call bn_lshiftmod_256 
+0x7b13 033352 arg mem_t0_256 ,rega 
+0x7b14 033353 call bn_lshiftmod_256 
+0x7b15 033354 arg mem_t0_256 ,rega 
+0x7b16 033355 call bn_lshiftmod_256 
+0x7b17 033356 arg mem_cy_256 ,contr 
+0x7b18 033357 arg mem_t3_256 ,contw 
+0x7b19 033358 call memcpy32 
+0x7b1a 033359 arg mem_t3_256 ,rega 
+0x7b1b 033360 call bn_lshiftmod_256 
+0x7b1c 033361 arg mem_t3_256 ,rega 
+0x7b1d 033362 arg mem_cz_256 ,regb 
+0x7b1e 033363 arg mem_cz_256 ,contw 
+0x7b1f 033364 call bn_mulmod_256 
+0x7b20 033367 arg mem_t2_256 ,rega 
+0x7b21 033368 arg mem_t3_256 ,contw 
+0x7b22 033369 call bn_sqrmod_256 
+0x7b23 033371 arg mem_t3_256 ,rega 
+0x7b24 033372 arg mem_t1_256 ,regb 
+0x7b25 033373 arg mem_t3_256 ,contw 
+0x7b26 033374 call bn_submod_256 
+0x7b27 033375 arg mem_t3_256 ,rega 
+0x7b28 033376 arg mem_t1_256 ,regb 
+0x7b29 033377 arg mem_cx_256 ,contw 
+0x7b2a 033378 call bn_submod_256 
+0x7b2b 033379 arg mem_t1_256 ,rega 
+0x7b2c 033380 arg mem_cx_256 ,regb 
+0x7b2d 033381 arg mem_t3_256 ,contw 
+0x7b2e 033382 call bn_submod_256 
+0x7b2f 033383 arg mem_t3_256 ,rega 
+0x7b30 033384 arg mem_t2_256 ,regb 
+0x7b31 033385 arg mem_t3_256 ,contw 
+0x7b32 033386 call bn_mulmod_256 
+0x7b33 033387 arg mem_t3_256 ,rega 
+0x7b34 033388 arg mem_t0_256 ,regb 
+0x7b35 033389 arg mem_cy_256 ,contw 
+0x7b36 033390 branch bn_submod_256 
+:      033392 ecadd_256:
+0x7b37 033394 arg mem_az_256 ,rega 
+0x7b38 033395 arg mem_t7_256 ,contw 
+0x7b39 033396 call bn_sqrmod_256 
+0x7b3a 033397 arg mem_cx_256 ,rega 
+0x7b3b 033398 arg mem_t7_256 ,regb 
+0x7b3c 033399 arg mem_t0_256 ,contw 
+0x7b3d 033400 call bn_mulmod_256 
+0x7b3e 033403 arg mem_az_256 ,rega 
+0x7b3f 033404 arg mem_t7_256 ,regb 
+0x7b40 033405 arg mem_t7_256 ,contw 
+0x7b41 033406 call bn_mulmod_256 
+0x7b42 033407 arg mem_cy_256 ,rega 
+0x7b43 033408 arg mem_t7_256 ,regb 
+0x7b44 033409 arg mem_t1_256 ,contw 
+0x7b45 033410 call bn_mulmod_256 
+0x7b46 033413 arg mem_cz_256 ,rega 
+0x7b47 033414 arg mem_t7_256 ,contw 
+0x7b48 033415 call bn_sqrmod_256 
+0x7b49 033416 arg mem_ax_256 ,rega 
+0x7b4a 033417 arg mem_t7_256 ,regb 
+0x7b4b 033418 arg mem_t2_256 ,contw 
+0x7b4c 033419 call bn_mulmod_256 
+0x7b4d 033421 arg mem_cz_256 ,rega 
+0x7b4e 033422 arg mem_t7_256 ,regb 
+0x7b4f 033423 arg mem_t7_256 ,contw 
+0x7b50 033424 call bn_mulmod_256 
+0x7b51 033425 arg mem_ay_256 ,rega 
+0x7b52 033426 arg mem_t7_256 ,regb 
+0x7b53 033427 arg mem_t3_256 ,contw 
+0x7b54 033428 call bn_mulmod_256 
+0x7b55 033433 arg mem_t0_256 ,regb 
+0x7b56 033434 arg mem_t2_256 ,rega 
+0x7b57 033435 arg mem_t7_256 ,contw 
+0x7b58 033436 call bn_submod_256 
+0x7b59 033437 arg mem_t0_256 ,rega 
+0x7b5a 033438 arg mem_t2_256 ,regb 
+0x7b5b 033439 arg mem_t0_256 ,contw 
+0x7b5c 033440 call bn_addmod_256 
+0x7b5d 033443 arg mem_t1_256 ,regb 
+0x7b5e 033444 arg mem_t3_256 ,rega 
+0x7b5f 033445 arg mem_t2_256 ,contw 
+0x7b60 033446 call bn_submod_256 
+0x7b61 033447 arg mem_t1_256 ,rega 
+0x7b62 033448 arg mem_t3_256 ,regb 
+0x7b63 033449 arg mem_t1_256 ,contw 
+0x7b64 033450 call bn_addmod_256 
+0x7b65 033451 arg mem_t1_256 ,rega 
+0x7b66 033452 arg mem_t7_256 ,regb 
+0x7b67 033453 arg mem_t1_256 ,contw 
+0x7b68 033454 call bn_mulmod_256 
+0x7b69 033455 arg mem_cz_256 ,rega 
+0x7b6a 033456 arg mem_az_256 ,regb 
+0x7b6b 033457 arg mem_t3_256 ,contw 
+0x7b6c 033458 call bn_mulmod_256 
+0x7b6d 033459 arg mem_t3_256 ,rega 
+0x7b6e 033460 arg mem_t7_256 ,regb 
+0x7b6f 033461 arg mem_cz_256 ,contw 
+0x7b70 033462 call bn_mulmod_256 
+0x7b71 033464 arg mem_t7_256 ,rega 
+0x7b72 033465 arg mem_t7_256 ,contw 
+0x7b73 033466 call bn_sqrmod_256 
+0x7b74 033467 arg mem_t7_256 ,rega 
+0x7b75 033468 arg mem_t0_256 ,regb 
+0x7b76 033469 arg mem_t3_256 ,contw 
+0x7b77 033470 call bn_mulmod_256 
+0x7b78 033471 arg mem_t7_256 ,rega 
+0x7b79 033472 arg mem_t1_256 ,regb 
+0x7b7a 033473 arg mem_t1_256 ,contw 
+0x7b7b 033474 call bn_mulmod_256 
+0x7b7c 033475 arg mem_t2_256 ,rega 
+0x7b7d 033476 arg mem_cx_256 ,contw 
+0x7b7e 033477 call bn_sqrmod_256 
+0x7b7f 033478 arg mem_cx_256 ,rega 
+0x7b80 033479 arg mem_t3_256 ,regb 
+0x7b81 033480 arg mem_cx_256 ,contw 
+0x7b82 033481 call bn_submod_256 
+0x7b83 033482 arg mem_cx_256 ,contr 
+0x7b84 033483 arg mem_t7_256 ,contw 
+0x7b85 033484 call memcpy32 
+0x7b86 033485 arg mem_t7_256 ,rega 
+0x7b87 033486 call bn_lshiftmod_256 
+0x7b88 033487 arg mem_t3_256 ,rega 
+0x7b89 033488 arg mem_t7_256 ,regb 
+0x7b8a 033489 arg mem_t3_256 ,contw 
+0x7b8b 033490 call bn_submod_256 
+0x7b8c 033491 arg mem_t3_256 ,rega 
+0x7b8d 033492 arg mem_t2_256 ,regb 
+0x7b8e 033493 arg mem_t2_256 ,contw 
+0x7b8f 033494 call bn_mulmod_256 
+0x7b90 033495 arg mem_t2_256 ,rega 
+0x7b91 033496 arg mem_t1_256 ,regb 
+0x7b92 033497 arg mem_cy_256 ,contw 
+0x7b93 033498 call bn_submod_256 
+0x7b94 033499 arg mem_cy_256 ,rega 
+0x7b95 033500 arg mem_p_256 ,regb 
+0x7b96 033501 arg mem_cy_256 ,contw 
+0x7b97 033502 force 0 ,regc 
+0x7b98 033503 fetch 1 ,mem_cy_256 
+0x7b99 033504 isolate1 0 ,pdata 
+0x7b9a 033505 call bn_add_256 ,true 
+0x7b9b 033506 copy regc ,alarm 
+0x7b9c 033507 arg mem_cy_256 ,rega 
+0x7b9d 033508 call bn_rshift_256 
+0x7b9e 033509 fetch 1 ,mem_cy5_256 
+0x7b9f 033510 isolate1 0 ,alarm 
+0x7ba0 033511 setflag true ,7 ,pdata 
+0x7ba1 033512 store 1 ,mem_cy5_256 
+0x7ba2 033513 rtn 
+:      033515 bn_invmod_256:
+0x7ba3 033516 copy contw ,timeup 
+0x7ba4 033517 arg mem_tmp0_256 ,contw 
+0x7ba5 033518 call clear_mem_256 
+0x7ba6 033519 force 0 ,pdata 
+0x7ba7 033521 store 4 ,mem_t2_256 
+0x7ba8 033522 jam 1 ,mem_tmp0_256 
+0x7ba9 033523 arg mem_tmp1_256 ,contw 
+0x7baa 033524 call clear_mem_512 
+0x7bab 033525 arg mem_p_256 ,contr 
+0x7bac 033526 arg mem_tmp2_256 ,contw 
+0x7bad 033527 call memcpy32 
+0x7bae 033528 copy rega ,contr 
+0x7baf 033529 arg mem_tmp3_256 ,contw 
+0x7bb0 033530 call memcpy32 
+:      033536 bn_invmod_256_2:
+0x7bb1 033537 arg mem_tmp3_256 ,contr 
+0x7bb2 033538 call bn_eq_zero_256 
+0x7bb3 033539 branch bn_invmod_256_0 ,blank 
+0x7bb4 033544 arg mem_tmp3_256 ,rega 
+0x7bb5 033545 arg mem_tmp0_256 ,regb 
+0x7bb6 033546 call bn_rshifteven_256 
+0x7bb7 033547 arg mem_tmp2_256 ,rega 
+0x7bb8 033548 arg mem_tmp1_256 ,regb 
+0x7bb9 033549 call bn_rshifteven_256 
+0x7bba 033551 arg mem_tmp3_256 ,rega 
+0x7bbb 033552 arg mem_tmp2_256 ,regb 
+0x7bbc 033553 call bn_bigeq_256 
+0x7bbd 033554 branch bn_invmod_256_1 ,positive 
+0x7bbe 033555 arg mem_tmp2_256 ,rega 
+0x7bbf 033556 arg mem_tmp3_256 ,regb 
+0x7bc0 033557 copy rega ,contw 
+0x7bc1 033558 call bn_sub_256 
+0x7bc2 033559 arg mem_tmp0_256 ,rega 
+0x7bc3 033560 arg mem_tmp1_256 ,regb 
+0x7bc4 033561 copy regb ,contw 
+0x7bc5 033562 call bn_add_256 
+0x7bc6 033563 ifetch 1 ,rega 
+0x7bc7 033564 iadd regc ,regc 
+0x7bc8 033565 ifetch 1 ,regb 
+0x7bc9 033566 iadd regc ,pdata 
+0x7bca 033567 istore 1 ,regb 
+0x7bcb 033568 branch bn_invmod_256_2 
+:      033569 bn_invmod_256_1:
+0x7bcc 033570 arg mem_tmp3_256 ,rega 
+0x7bcd 033571 arg mem_tmp2_256 ,regb 
+0x7bce 033572 copy rega ,contw 
+0x7bcf 033573 call bn_sub_256 
+0x7bd0 033574 arg mem_tmp1_256 ,rega 
+0x7bd1 033575 arg mem_tmp0_256 ,regb 
+0x7bd2 033576 copy regb ,contw 
+0x7bd3 033577 call bn_add_256 
+0x7bd4 033578 ifetch 1 ,rega 
+0x7bd5 033579 iadd regc ,regc 
+0x7bd6 033580 ifetch 1 ,regb 
+0x7bd7 033581 iadd regc ,pdata 
+0x7bd8 033582 istore 1 ,regb 
+0x7bd9 033583 branch bn_invmod_256_2 
+:      033584 bn_invmod_256_0:
+0x7bda 033586 arg mem_tmp1_256 ,rega 
+0x7bdb 033587 copy timeup ,contw 
+0x7bdc 033588 call bn_p256mod 
+0x7bdd 033590 arg mem_p_256 ,rega 
+0x7bde 033591 copy timeup ,regb 
+0x7bdf 033592 copy timeup ,contw 
+0x7be0 033593 branch bn_submod_256 
+:      033596 bn_mulmod_256:
+0x7be1 033597 copy contw ,timeup 
+0x7be2 033599 force 0 ,regext_index 
+0x7be3 033601 arg mem_tmp1_256 ,contw 
+0x7be4 033602 call clear_mem_512 
+0x7be5 033603 arg mem_regext ,contw 
+0x7be6 033604 call clear_mem_512 
+0x7be7 033608 copy rega ,contr 
+0x7be8 033610 jam 0 ,mem_regext 
+0x7be9 033611 setarg 0 
+0x7bea 033612 call bn_load_mem 
+0x7beb 033613 copy regb ,contr 
+0x7bec 033614 call bn_load_256 
+0x7bed 033617 force 0 ,queue 
+0x7bee 033618 arg mem_tmp1_256 ,contw 
+:      033619 bn_mulmod_256_1:
+0x7bef 033622 arg mem_regext ,temp 
+0x7bf0 033623 copy queue ,regb 
+0x7bf1 033624 lshift2 regb ,pdata 
+0x7bf2 033626 iadd temp ,regb 
+0x7bf3 033627 force 0 ,temp 
+0x7bf4 033628 force 0 ,regc 
+:      033629 bn_mulmod_256_0:
+0x7bf5 033634 ifetch 4 ,contw 
+0x7bf6 033635 iforce rega 
+0x7bf7 033638 ifetch 4 ,regb 
+0x7bf8 033639 copy regc ,regext_index 
+0x7bf9 033640 imul32 regext ,pdata 
+0x7bfa 033641 iadd rega ,pdata 
+0x7bfb 033642 iadd temp ,pdata 
+0x7bfc 033643 istore 4 ,contw 
+0x7bfd 033644 rshift32 pdata ,temp 
+0x7bfe 033645 increase 1 ,regc 
+0x7bff 033646 compare 8 ,regc ,0xff 
+0x7c00 033647 nbranch bn_mulmod_256_0 ,true 
+0x7c01 033649 deposit temp 
+0x7c02 033650 istore 4 ,contw 
+0x7c03 033651 increase -32 ,contw 
+0x7c04 033654 increase 1 ,queue 
+0x7c05 033655 compare 8 ,queue ,0xff 
+0x7c06 033656 nbranch bn_mulmod_256_1 ,true 
+0x7c07 033657 arg mem_tmp1_256 ,rega 
+0x7c08 033658 copy timeup ,contw 
+0x7c09 033659 branch bn_p256mod 
+:      033661 bn_p256mod:
+0x7c0a 033662 bpatchx patch3e_2 ,mem_patch3e 
+0x7c0b 033663 copy contw ,timeup 
+0x7c0c 033664 copy rega ,alarm 
+0x7c0d 033665 arg mem_tmp2_256 ,regb 
+0x7c0e 033666 copy regb ,contw 
+0x7c0f 033667 call memset0_4 
+0x7c10 033668 istore 8 ,contw 
+0x7c11 033669 add rega ,44 ,contr 
+0x7c12 033670 call memcpy8 
+0x7c13 033671 call memcpy12 
+0x7c14 033672 copy regb ,rega 
+0x7c15 033673 call bn_lshiftmod_256 
+0x7c16 033674 arg mem_tmp2_256 ,regb 
+0x7c17 033675 copy alarm ,rega 
+0x7c18 033676 copy timeup ,contw 
+0x7c19 033677 call bn_addmod_256 
+0x7c1a 033679 arg mem_tmp2_256 ,regb 
+0x7c1b 033680 copy regb ,contw 
+0x7c1c 033681 call memset0_4 
+0x7c1d 033682 istore 8 ,contw 
+0x7c1e 033683 add alarm ,48 ,contr 
+0x7c1f 033684 call memcpy16 
+0x7c20 033685 call memset0_4 
+0x7c21 033686 copy regb ,rega 
+0x7c22 033687 call bn_lshiftmod_256 
+0x7c23 033691 arg mem_tmp2_256 ,regb 
+0x7c24 033692 copy timeup ,rega 
+0x7c25 033693 copy rega ,contw 
+0x7c26 033694 call bn_addmod_256 
+0x7c27 033698 arg mem_tmp2_256 ,regb 
+0x7c28 033699 copy regb ,contw 
+0x7c29 033700 add alarm ,32 ,contr 
+0x7c2a 033701 call memcpy12 
+0x7c2b 033702 call memset0_4 
+0x7c2c 033703 istore 8 ,contw 
+0x7c2d 033704 add alarm ,56 ,contr 
+0x7c2e 033705 call memcpy8 
+0x7c2f 033706 copy timeup ,rega 
+0x7c30 033707 copy rega ,contw 
+0x7c31 033708 call bn_addmod_256 
+0x7c32 033712 arg mem_tmp2_256 ,regb 
+0x7c33 033713 copy regb ,contw 
+0x7c34 033714 add alarm ,36 ,contr 
+0x7c35 033715 call memcpy12 
+0x7c36 033716 add alarm ,52 ,contr 
+0x7c37 033717 call memcpy12 
+0x7c38 033718 add alarm ,52 ,contr 
+0x7c39 033719 call memcpy4 
+0x7c3a 033720 add alarm ,32 ,contr 
+0x7c3b 033721 call memcpy4 
+0x7c3c 033722 copy timeup ,rega 
+0x7c3d 033723 copy rega ,contw 
+0x7c3e 033724 call bn_addmod_256 
+0x7c3f 033727 arg mem_tmp2_256 ,regb 
+0x7c40 033728 copy regb ,contw 
+0x7c41 033729 add alarm ,44 ,contr 
+0x7c42 033730 call memcpy12 
+0x7c43 033731 call memset0_4 
+0x7c44 033732 istore 8 ,contw 
+0x7c45 033733 add alarm ,32 ,contr 
+0x7c46 033734 call memcpy4 
+0x7c47 033735 add alarm ,40 ,contr 
+0x7c48 033736 call memcpy4 
+0x7c49 033737 copy timeup ,rega 
+0x7c4a 033738 copy rega ,contw 
+0x7c4b 033739 call bn_submod_256 
+0x7c4c 033742 arg mem_tmp2_256 ,regb 
+0x7c4d 033743 copy regb ,contw 
+0x7c4e 033744 add alarm ,48 ,contr 
+0x7c4f 033745 call memcpy8 
+0x7c50 033746 call memcpy8 
+0x7c51 033747 force 0 ,pdata 
+0x7c52 033748 istore 8 ,contw 
+0x7c53 033749 add alarm ,36 ,contr 
+0x7c54 033750 call memcpy4 
+0x7c55 033751 add alarm ,44 ,contr 
+0x7c56 033752 call memcpy4 
+0x7c57 033753 copy timeup ,rega 
+0x7c58 033754 copy rega ,contw 
+0x7c59 033755 call bn_submod_256 
+0x7c5a 033758 arg mem_tmp2_256 ,regb 
+0x7c5b 033759 copy regb ,contw 
+0x7c5c 033760 add alarm ,52 ,contr 
+0x7c5d 033761 call memcpy12 
+0x7c5e 033762 add alarm ,32 ,contr 
+0x7c5f 033763 call memcpy12 
+0x7c60 033764 call memset0_4 
+0x7c61 033765 add alarm ,48 ,contr 
+0x7c62 033766 call memcpy4 
+0x7c63 033767 copy timeup ,rega 
+0x7c64 033768 copy rega ,contw 
+0x7c65 033769 call bn_submod_256 
+0x7c66 033772 arg mem_tmp2_256 ,regb 
+0x7c67 033773 copy regb ,contw 
+0x7c68 033774 add alarm ,56 ,contr 
+0x7c69 033775 call memcpy8 
+0x7c6a 033776 call memset0_4 
+0x7c6b 033777 add alarm ,36 ,contr 
+0x7c6c 033778 call memcpy12 
+0x7c6d 033779 call memset0_4 
+0x7c6e 033780 add alarm ,52 ,contr 
+0x7c6f 033781 call memcpy4 
+0x7c70 033782 copy timeup ,rega 
+0x7c71 033783 copy rega ,contw 
+0x7c72 033784 branch bn_submod_256 
+:      033787 bn_load_mem:
+0x7c73 033788 force 32 ,loopcnt 
+0x7c74 033789 arg mem_regext ,contw 
+0x7c75 033790 iadd contw ,contw 
+0x7c76 033791 branch memcpy 
+:      033793 bn_load_256:
+0x7c77 033794 force 8 ,loopcnt 
+0x7c78 033795 branch bn_load_0 
+:      033797 bn_sqrmod_256:
+0x7c79 033798 copy rega ,regb 
+0x7c7a 033799 branch bn_mulmod_256 
+:      033801 bn_add_256:
+0x7c7b 033802 force 8 ,loopcnt 
+0x7c7c 033803 branch bn_add + 1 
+:      033805 bn_addmod_256:
+0x7c7d 033806 call bn_add_256 
+0x7c7e 033807 copy contw ,rega 
+0x7c7f 033808 branch bn_lshiftmod_ismod_256 
+:      033810 bn_lshiftmod_256:
+0x7c80 033811 call bn_lshift_256 
+:      033812 bn_lshiftmod_ismod_256:
+0x7c81 033813 isolate1 0 ,regc 
+0x7c82 033814 branch bn_lshiftmod_p_256 ,true 
+0x7c83 033815 arg mem_p_256 ,regb 
+0x7c84 033816 copy rega ,regc 
+0x7c85 033817 increase -32 ,rega 
+0x7c86 033818 call bn_bigeq_256 
+0x7c87 033819 nrtn positive 
+0x7c88 033820 copy regc ,rega 
+0x7c89 033821 branch sub_p2_256 
+:      033823 bn_lshiftmod_p_256:
+0x7c8a 033824 call sub_p2_256 
+0x7c8b 033826 copy rega ,regc 
+0x7c8c 033827 increase -32 ,rega 
+0x7c8d 033828 arg mem_p_256 ,regb 
+0x7c8e 033829 call bn_bigeq_256 
+0x7c8f 033830 nrtn positive 
+0x7c90 033831 copy regc ,rega 
+0x7c91 033832 branch sub_p2_256 
+:      033835 sub_p2_256:
+0x7c92 033836 increase -32 ,rega 
+0x7c93 033837 arg mem_p_256 ,regb 
+0x7c94 033838 copy rega ,contw 
+0x7c95 033839 branch bn_sub_256 
+:      033844 bn_submod_256:
+0x7c96 033845 call bn_sub_256 
+0x7c97 033847 branch bn_submod_256_np ,true 
+0x7c98 033850 add contw ,-32 ,rega 
+0x7c99 033851 arg mem_p_256 ,regb 
+0x7c9a 033852 call bn_bigeq_256 
+0x7c9b 033853 nrtn positive 
+0x7c9c 033854 arg mem_p_256 ,regb 
+0x7c9d 033855 add contw ,-32 ,rega 
+0x7c9e 033857 copy rega ,contw 
+0x7c9f 033858 branch bn_sub_256 
+:      033859 bn_submod_256_np:
+0x7ca0 033860 add contw ,-32 ,rega 
+0x7ca1 033861 arg mem_p_256 ,regb 
+0x7ca2 033862 copy rega ,contw 
+0x7ca3 033863 call bn_add_256 
+0x7ca4 033865 rtn true 
+0x7ca5 033866 add contw ,-32 ,rega 
+0x7ca6 033867 arg mem_p_256 ,regb 
+0x7ca7 033868 copy rega ,contw 
+0x7ca8 033869 branch bn_add_256 
+:      033873 bn_sub_256:
+0x7ca9 033874 force 8 ,loopcnt 
+0x7caa 033875 branch bn_sub + 1 
+:      033877 bn_rshift_256:
+0x7cab 033878 force 8 ,loopcnt 
+0x7cac 033879 increase 28 ,rega 
+0x7cad 033880 branch bn_rshift 
+:      033882 bn_lshift_256:
+0x7cae 033883 force 8 ,loopcnt 
+0x7caf 033884 force 0 ,regc 
+0x7cb0 033885 branch bn_lshift_0 
+:      033887 bn_bigeq_256:
+0x7cb1 033888 force 8 ,loopcnt 
+0x7cb2 033889 increase 28 ,rega 
+0x7cb3 033890 increase 28 ,regb 
+0x7cb4 033891 branch bn_bigeq_0 
+:      033894 bn_eq_zero_256:
+0x7cb5 033895 ifetch 8 ,contr 
+0x7cb6 033896 nrtn blank 
+0x7cb7 033897 branch bn_eq_zero 
+:      033902 bn_rshifteven_256:
+0x7cb8 033903 copy rega ,alarm 
+:      033904 bn_rshifteven_256_1:
+0x7cb9 033905 copy alarm ,rega 
+0x7cba 033906 ifetch 1 ,rega 
+0x7cbb 033907 isolate1 0 ,pdata 
+0x7cbc 033908 rtn true 
+0x7cbd 033909 call bn_rshift_256 
+0x7cbe 033910 ifetch 1 ,regb 
+0x7cbf 033911 isolate0 0 ,pdata 
+0x7cc0 033912 branch bn_rshifteven_256_0 ,true 
+0x7cc1 033913 arg mem_p_256 ,rega 
+0x7cc2 033914 copy regb ,contw 
+0x7cc3 033915 call bn_add_256 
+0x7cc4 033916 ifetch 1 ,regb 
+0x7cc5 033917 iadd regc ,pdata 
+0x7cc6 033918 istore 1 ,regb 
+0x7cc7 033919 increase -32 ,regb 
+:      033920 bn_rshifteven_256_0:
+0x7cc8 033921 add regb ,32 ,rega 
+0x7cc9 033922 force 9 ,loopcnt 
+0x7cca 033923 call bn_rshift 
+0x7ccb 033924 branch bn_rshifteven_256_1 
+:      033928 ui_init:
+0x7ccc 033929 call lpm_disable_exen_output 
+0x7ccd 033930 rtn wake 
+0x7cce 033931 call ui_button_init 
+0x7ccf 033932 call ui_timer_init 
+0x7cd0 033933 branch ui_led_init_global 
+:      033935 ui_dispatch:
+0x7cd1 033936 call ui_led_dispatch 
+0x7cd2 033938 branch ui_timer_check 
+:      033940 ui_button_init:
+0x7cd3 033941 fetch 1 ,mem_ui_button_gpio 
+0x7cd4 033942 rtneq ui_button_gpio_disable 
+0x7cd5 033943 iforce temp 
+0x7cd6 033944 call gpio_config_output 
+0x7cd7 033945 fetcht 1 ,mem_ui_button_gpio 
+0x7cd8 033946 call gpio_out_inactive 
+0x7cd9 033947 nop 100 
+0x7cda 033948 fetcht 1 ,mem_ui_button_gpio 
+0x7cdb 033949 call gpio_config_input 
+0x7cdc 033950 branch ui_button_polling 
+:      033954 ui_button_polling:
+0x7cdd 033955 bpatchx patch3e_3 ,mem_patch3e 
+0x7cde 033956 fetch 1 ,mem_ui_button_gpio 
+0x7cdf 033957 rtneq ui_button_gpio_disable 
+0x7ce0 033958 copy pdata ,temp 
+0x7ce1 033959 call gpio_get_bit 
+0x7ce2 033960 nbranch ui_button_up ,true 
+:      033962 ui_button_down:
+0x7ce3 033963 call ui_button_check_long_press 
+0x7ce4 033964 fetch 2 ,mem_ui_state_map 
+0x7ce5 033965 set1 ui_state_btn_down 
+0x7ce6 033966 store 2 ,mem_ui_state_map 
+0x7ce7 033967 fetch 1 ,mem_ui_button_last_state 
+0x7ce8 033968 rtneq ui_button_state_down 
+0x7ce9 033969 jam ui_button_state_down ,mem_ui_button_last_state 
+0x7cea 033971 fetch 1 ,mem_ui_button_timeout 
+0x7ceb 033972 store 1 ,mem_ui_button_timer 
+0x7cec 033973 call lpm_button_get_wake_lock 
+0x7ced 033974 jam bt_evt_button_down ,mem_fifo_temp 
+0x7cee 033975 branch ui_ipc_send_event 
+:      033976 ui_button_up:
+0x7cef 033977 fetch 2 ,mem_ui_state_map 
+0x7cf0 033978 set0 ui_state_btn_down 
+0x7cf1 033979 store 2 ,mem_ui_state_map 
+0x7cf2 033980 fetch 1 ,mem_ui_button_last_state 
+0x7cf3 033981 rtneq ui_button_state_up 
+0x7cf4 033982 jam ui_button_state_up ,mem_ui_button_last_state 
+0x7cf5 033984 jam 0 ,mem_ui_button_timer 
+0x7cf6 033985 call lpm_button_clean_wake_lock 
+0x7cf7 033986 jam bt_evt_button_up ,mem_fifo_temp 
+0x7cf8 033987 branch ui_ipc_send_event 
+:      033989 ui_button_check_long_press:
+0x7cf9 033990 fetch 1 ,mem_ui_button_timer 
+0x7cfa 033991 rtn blank 
+0x7cfb 033992 increase -1 ,pdata 
+0x7cfc 033993 store 1 ,mem_ui_button_timer 
+0x7cfd 033994 nrtn blank 
+0x7cfe 033996 jam bt_evt_button_long_pressed ,mem_fifo_temp 
+0x7cff 033997 branch ui_ipc_send_event 
+:      033999 lpm_button_get_wake_lock:
+0x7d00 034000 arg wake_lock_button ,queue 
+0x7d01 034001 branch lpm_get_wake_lock 
+:      034003 lpm_button_clean_wake_lock:
+0x7d02 034004 arg wake_lock_button ,queue 
+0x7d03 034005 branch lpm_put_wake_lock 
+:      034027 calc_curr_struct_prt:
+0x7d04 034028 fetch 2 ,mem_ui_led_struct_ptr 
+0x7d05 034029 mul32 rega ,led_offset_length ,regb 
+0x7d06 034030 iadd regb ,regb 
+0x7d07 034031 rtn 
+:      034034 ui_led_init_global:
+0x7d08 034035 fetch 1 ,mem_ui_led_struct_num 
+0x7d09 034036 rtn blank 
+0x7d0a 034037 copy pdata ,loopcnt 
+0x7d0b 034038 fetch 2 ,mem_ui_led_struct_ptr 
+0x7d0c 034039 copy pdata ,regb 
+:      034040 ui_led_init_loop:
+0x7d0d 034041 add regb ,led_offset_led_gpio ,regc 
+0x7d0e 034042 ifetcht 1 ,regc 
+0x7d0f 034043 call gpio_config_output 
+0x7d10 034044 call ui_led_off_static 
+0x7d11 034045 increase led_offset_length ,regb 
+0x7d12 034046 loop ui_led_init_loop 
+0x7d13 034047 rtn 
+:      034051 ui_led_on_global:
+0x7d14 034052 call calc_curr_struct_prt 
+0x7d15 034053 setarg ui_led_state_lighting 
+0x7d16 034054 istore 1 ,regb 
+0x7d17 034055 call ui_led_stop_timer 
+0x7d18 034056 branch ui_led_on_static 
+:      034060 ui_led_blink_stop_global:
+:      034061 ui_led_off_global:
+0x7d19 034062 call calc_curr_struct_prt 
+0x7d1a 034063 setarg ui_led_state_darking 
+0x7d1b 034064 istore 1 ,regb 
+0x7d1c 034065 call ui_led_stop_timer 
+0x7d1d 034066 branch ui_led_off_static 
+:      034070 ui_led_blink_start_global:
+0x7d1e 034071 call calc_curr_struct_prt 
+0x7d1f 034072 setarg ui_led_state_blink_start 
+0x7d20 034073 istore 1 ,regb 
+0x7d21 034074 setarg led_infinite_flash_num 
+0x7d22 034075 istore 1 ,contw 
+0x7d23 034076 branch ui_led_off_static 
+:      034081 ui_led_set_style_global:
+0x7d24 034082 call calc_curr_struct_prt 
+0x7d25 034083 arg led_offset_length ,loopcnt 
+0x7d26 034084 copy regc ,contr 
+0x7d27 034085 copy regb ,contw 
+0x7d28 034086 branch memcpy_fast 
+:      034090 ui_led_dispatch:
+0x7d29 034091 fetch 1 ,mem_ui_led_struct_num 
+0x7d2a 034092 rtn blank 
+0x7d2b 034093 arg 0 ,rega 
+:      034094 ui_led_blink_polling:
+0x7d2c 034095 call ui_led_change_style_by_type 
+0x7d2d 034096 increase 1 ,rega 
+0x7d2e 034097 fetch 1 ,mem_ui_led_struct_num 
+0x7d2f 034098 isub rega ,null 
+0x7d30 034099 rtn zero 
+0x7d31 034100 branch ui_led_blink_polling 
+:      034103 ui_led_off_static:
+0x7d32 034104 add regb ,led_offset_led_gpio ,regc 
+0x7d33 034105 ifetcht 1 ,regc 
+0x7d34 034106 branch gpio_out_inactive 
+:      034109 ui_led_on_static:
+0x7d35 034110 add regb ,led_offset_led_gpio ,regc 
+0x7d36 034111 ifetcht 1 ,regc 
+0x7d37 034112 branch gpio_out_active 
+:      034116 ui_led_change_style_by_type:
+0x7d38 034117 add rega ,ui_led_blink ,queue 
+0x7d39 034118 call timer_check 
+0x7d3a 034119 nrtn blank 
+0x7d3b 034121 call calc_curr_struct_prt 
+0x7d3c 034123 ifetch 1 ,regb 
+0x7d3d 034125 beq ui_led_state_lighting ,ui_led_on_static 
+0x7d3e 034126 beq ui_led_state_darking ,ui_led_off_static 
+0x7d3f 034127 beq ui_led_state_blink_stop ,ui_led_off_static 
+0x7d40 034128 beq ui_led_state_blink_darking ,ui_led_blink_state_darking 
+:      034129 ui_led_blink_state_lighting:
+0x7d41 034130 call ui_led_on_static 
+0x7d42 034131 add regb ,led_offset_cb_ledon ,regc 
+0x7d43 034132 call push_stack 
+0x7d44 034133 ifetch 2 ,regc 
+0x7d45 034134 call callback_func 
+0x7d46 034135 call pop_stack 
+0x7d47 034136 setarg ui_led_state_blink_darking 
+0x7d48 034137 istore 1 ,regb 
+0x7d49 034138 add regb ,led_offset_on_time ,regc 
+0x7d4a 034139 ifetch 2 ,regc 
+0x7d4b 034140 branch ui_led_blink_timer_start 
+:      034143 ui_led_blink_state_darking:
+0x7d4c 034144 call ui_led_off_static 
+0x7d4d 034145 add regb ,led_offset_cb_ledoff ,regc 
+0x7d4e 034146 call push_stack 
+0x7d4f 034147 ifetch 2 ,regc 
+0x7d50 034148 call callback_func 
+0x7d51 034149 call pop_stack 
+0x7d52 034151 add regb ,led_offset_blink_count ,regc 
+0x7d53 034152 ifetch 1 ,regc 
+0x7d54 034153 beq led_infinite_flash_num ,ui_led_blink_infinite 
+0x7d55 034154 increase -1 ,pdata 
+0x7d56 034155 istore 1 ,regc 
+0x7d57 034156 branch ui_led_blink_stop_global ,blank 
+:      034157 ui_led_blink_infinite:
+0x7d58 034158 setarg ui_led_state_blink_lighting 
+0x7d59 034159 istore 1 ,regb 
+0x7d5a 034160 add regb ,led_offset_off_time ,regc 
+0x7d5b 034161 ifetch 2 ,regc 
+:      034162 ui_led_blink_timer_start:
+0x7d5c 034163 add rega ,ui_led_blink ,queue 
+0x7d5d 034164 branch timer_init 
+:      034166 ui_led_stop_timer:
+0x7d5e 034167 setarg 0 
+0x7d5f 034168 branch ui_led_blink_timer_start 
+:      034174 ui_timer_timeout:
+0x7d60 034175 setarg 0x1000 
+0x7d61 034176 lshift16 pdata ,pdata 
+0x7d62 034177 iadd regb ,regb 
+0x7d63 034178 rtn 
+:      034180 ui_timer_check:
+0x7d64 034181 bpatchx patch3e_4 ,mem_patch3e 
+0x7d65 034182 arg 0 ,rega 
+0x7d66 034183 fetcht 4 ,mem_ui_timer_last_btclk 
+0x7d67 034184 copy clkn_bt ,regb 
+0x7d68 034185 copy regb ,pdata 
+0x7d69 034186 isub temp ,null 
+0x7d6a 034187 ncall ui_timer_timeout ,positive 
+:      034189 ui_timer_check_loop:
+0x7d6b 034190 copy regb ,pdata 
+0x7d6c 034191 increase 160 ,temp 
+0x7d6d 034192 increase 160 ,temp 
+0x7d6e 034193 isub temp ,null 
+0x7d6f 034194 nbranch ui_timer_check_end ,positive 
+0x7d70 034195 increase 1 ,rega 
+0x7d71 034196 and rega ,0x0f ,pdata 
+0x7d72 034197 nbranch ui_timer_check_loop ,blank 
+0x7d73 034198 arg 0 ,rega 
+0x7d74 034199 call ui_timer_check_send_evt 
+:      034200 ui_timer_init:
+0x7d75 034201 copy clkn_bt ,pdata 
+0x7d76 034202 store 4 ,mem_ui_timer_last_btclk 
+0x7d77 034203 rtn 
+:      034204 ui_timer_check_end:
+0x7d78 034205 bpatchx patch3e_5 ,mem_patch3e 
+0x7d79 034206 copy rega ,pdata 
+0x7d7a 034207 rtn blank 
+0x7d7b 034208 increase -160 ,temp 
+0x7d7c 034209 increase -160 ,temp 
+0x7d7d 034210 set0 28 ,temp 
+0x7d7e 034211 storet 4 ,mem_ui_timer_last_btclk 
+:      034212 ui_timer_check_send_evt:
+0x7d7f 034213 branch app_evt_timer 
+:      034220 ui_ipc_get_lock:
+0x7d80 034221 jam 1 ,mem_ipc_lock_bt 
+:      034222 ui_ipc_get_lock_wait:
+0x7d81 034223 fetch 1 ,mem_ipc_lock_c51 
+0x7d82 034224 nbranch ui_ipc_get_lock_wait ,blank 
+0x7d83 034225 rtn 
+:      034227 ui_ipc_put_lock:
+0x7d84 034228 jam 0 ,mem_ipc_lock_bt 
+0x7d85 034229 rtn 
+:      034233 ui_ipc_send_event:
+0x7d86 034234 bpatchx patch3e_6 ,mem_patch3e 
+0x7d87 034235 call ui_ipc_get_lock 
+0x7d88 034236 copy rega ,pdata 
+0x7d89 034237 store 4 ,mem_ipc_rega_temp 
+0x7d8a 034238 arg mem_ipc_fifo_bt2c51 ,rega 
+0x7d8b 034239 call fifo_in 
+0x7d8c 034240 fetch 4 ,mem_ipc_rega_temp 
+0x7d8d 034241 copy pdata ,rega 
+0x7d8e 034242 branch ui_ipc_put_lock 
+:      034244 ui_ipc_send_cmd:
+0x7d8f 034245 bpatchx patch3e_7 ,mem_patch3e 
+0x7d90 034246 call ui_ipc_get_lock 
+0x7d91 034247 copy rega ,pdata 
+0x7d92 034248 store 4 ,mem_ipc_rega_temp 
+0x7d93 034249 arg mem_ipc_fifo_c512bt ,rega 
+0x7d94 034250 call fifo_in 
+0x7d95 034251 fetch 4 ,mem_ipc_rega_temp 
+0x7d96 034252 copy pdata ,rega 
+0x7d97 034253 branch ui_ipc_put_lock 
+:      034255 ui_ipc_clean_all_fifo:
+0x7d98 034256 setarg 0 
+0x7d99 034257 store util_fifo_len ,mem_ipc_fifo_c512bt 
+0x7d9a 034258 store util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x7d9b 034259 rtn 
+:      034261 check_51cmd:
+0x7d9c 034262 bpatchx patch3f_0 ,mem_patch3f 
+0x7d9d 034263 fetch 1 ,mem_hci_cmd 
+0x7d9e 034264 nrtn blank 
+0x7d9f 034265 arg mem_ipc_fifo_c512bt ,rega 
+0x7da0 034266 call fifo_is_empty 
+0x7da1 034267 rtn blank 
+0x7da2 034268 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+0x7da3 034269 call check_51cmd_once 
+0x7da4 034270 fetch 1 ,mem_ipc_skip_continue_proc 
+0x7da5 034271 branch check_51cmd ,blank 
+0x7da6 034272 rtn 
+:      034274 check_51cmd_once:
+0x7da7 034275 call ui_ipc_get_lock 
+0x7da8 034276 arg mem_ipc_fifo_c512bt ,rega 
+0x7da9 034277 call fifo_out 
+0x7daa 034278 copy pdata ,temp 
+0x7dab 034279 call ui_ipc_put_lock 
+0x7dac 034280 bpatchx patch3f_1 ,mem_patch3f 
+0x7dad 034281 copy temp ,pdata 
+0x7dae 034282 rtn blank 
+0x7daf 034283 beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+0x7db0 034284 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+0x7db1 034285 beq bt_cmd_reconnect ,check_51cmd_reconnect 
+0x7db2 034286 beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+0x7db3 034287 beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+0x7db4 034288 beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+0x7db5 034289 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+0x7db6 034290 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+0x7db7 034291 beq bt_cmd_start_adv ,check_51cmd_adv 
+0x7db8 034292 beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+0x7db9 034293 beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+0x7dba 034294 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+0x7dbb 034295 beq bt_cmd_led_off ,check_51cmd_led_off 
+0x7dbc 034296 beq bt_cmd_led_on ,check_51cmd_led_on 
+0x7dbd 034297 beq bt_cmd_led_blink ,check_51cmd_led_start_blink 
+0x7dbe 034298 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+0x7dbf 034299 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+0x7dc0 034300 beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+0x7dc1 034301 beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+0x7dc2 034302 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+0x7dc3 034303 beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+0x7dc4 034305 store 1 ,mem_fifo_temp 
+0x7dc5 034306 bpatchx patch3f_2 ,mem_patch3f 
+0x7dc6 034307 call lmo_fifo_check 
+0x7dc7 034308 nbranch check_51cmd_restore ,blank 
+:      034309 check_51cmd_once_continue:
+0x7dc8 034310 fetch 1 ,mem_fifo_temp 
+0x7dc9 034311 bmark0 mark_context ,check_51cmd_check_idle 
+0x7dca 034312 beq bt_cmd_disconnect ,check_51cmd_disconnect 
+0x7dcb 034313 beq bt_cmd_enter_sniff ,cmd_in_sniff 
+0x7dcc 034314 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+0x7dcd 034315 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+0x7dce 034316 beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+0x7dcf 034317 beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+0x7dd0 034318 beq bt_cmd_role_switch ,check_51cmd_role_switch 
+0x7dd1 034319 beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+0x7dd2 034320 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+0x7dd3 034321 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+0x7dd4 034322 beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+0x7dd5 034323 rtn 
+:      034325 check_51cmd_check_idle:
+0x7dd6 034326 store 1 ,mem_fifo_temp 
+0x7dd7 034327 call context_check_idle 
+0x7dd8 034328 branch check_51cmd_restore ,zero 
+0x7dd9 034329 call context_search_plap 
+0x7dda 034330 nrtn zero 
+:      034331 check_51cmd_restore:
+0x7ddb 034332 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+0x7ddc 034333 branch ui_ipc_send_cmd 
+:      034338 check_51cmd_start_discovery:
+0x7ddd 034339 fetch 2 ,mem_ui_state_map 
+0x7dde 034340 set1 ui_state_bt_discovery 
+0x7ddf 034341 store 2 ,mem_ui_state_map 
+0x7de0 034342 jam 3 ,mem_scan_mode 
+0x7de1 034343 rtn 
+:      034347 check_51cmd_stop_discovery:
+0x7de2 034348 jam 0 ,mem_hid_handshake_timer_count 
+0x7de3 034349 jam 0 ,mem_scan_mode 
+0x7de4 034350 fetch 2 ,mem_ui_state_map 
+0x7de5 034351 set0 ui_state_bt_discovery 
+0x7de6 034352 store 2 ,mem_ui_state_map 
+0x7de7 034353 rtn 
+:      034357 check_51cmd_reconnect:
+0x7de8 034358 jam hci_cmd_create_conn ,mem_hci_cmd 
+0x7de9 034359 rtn 
+:      034363 check_51cmd_disconnect:
+0x7dea 034364 jam lmp_detach ,mem_lmo_opcode2 
+0x7deb 034365 jam other_end_terminated ,mem_disconn_reason_send 
+0x7dec 034366 rtn 
+:      034370 check_51cmd_enter_sniff_subrating:
+0x7ded 034371 rtn 
+:      034375 check_51cmd_exit_sniff_subrating:
+0x7dee 034376 rtn 
+:      034380 check_51cmd_sniff_test:
+0x7def 034381 rtn 
+:      034385 check_51cmd_pincode:
+0x7df0 034386 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x7df1 034387 branch cmd_pair 
+:      034391 check_51cmd_inq:
+0x7df2 034392 rtn 
+:      034396 check_51cmd_stop_inq:
+0x7df3 034397 rtn 
+:      034401 check_51cmd_adv:
+0x7df4 034402 jam on ,mem_le_adv_enable 
+0x7df5 034403 jam adv_ind ,mem_le_adv_type 
+0x7df6 034404 fetch 2 ,mem_ui_state_map 
+0x7df7 034405 set1 ui_state_ble_adv ,pdata 
+0x7df8 034406 store 2 ,mem_ui_state_map 
+0x7df9 034407 rtn 
+:      034411 check_51cmd_stop_adv:
+0x7dfa 034412 fetch 2 ,mem_ui_state_map 
+0x7dfb 034413 set0 ui_state_ble_adv ,pdata 
+0x7dfc 034414 store 2 ,mem_ui_state_map 
+0x7dfd 034415 jam off ,mem_le_adv_enable 
+0x7dfe 034416 rtn 
+:      034420 check_51cmd_direct_adv:
+0x7dff 034421 jam on ,mem_le_adv_enable 
+0x7e00 034422 jam adv_direct_ind ,mem_le_adv_type 
+0x7e01 034423 fetch 2 ,mem_ui_state_map 
+0x7e02 034424 set1 ui_state_ble_adv ,pdata 
+0x7e03 034425 store 2 ,mem_ui_state_map 
+0x7e04 034426 rtn 
+:      034430 check_51cmd_stop_direct_adv:
+0x7e05 034431 fetch 2 ,mem_ui_state_map 
+0x7e06 034432 set0 ui_state_ble_adv ,pdata 
+0x7e07 034433 store 2 ,mem_ui_state_map 
+0x7e08 034434 jam off ,mem_le_adv_enable 
+0x7e09 034435 rtn 
+:      034439 check_51cmd_le_disconnect:
+0x7e0a 034440 setarg 20 
+0x7e0b 034441 store 2 ,mem_le_superto 
+0x7e0c 034442 store 2 ,mem_le_init_superto 
+0x7e0d 034443 branch le_send_terminate_ind_user_terminated 
+:      034447 check_51cmd_ble_update_connect_param:
+0x7e0e 034448 branch le_l2cap_tx_update_req 
+:      034452 check_51cmd_led_off:
+0x7e0f 034453 arg 0 ,rega 
+0x7e10 034454 branch ui_led_off_global 
+:      034458 check_51cmd_led_on:
+0x7e11 034459 arg 0 ,rega 
+0x7e12 034460 branch ui_led_on_global 
+:      034464 check_51cmd_led_start_blink:
+0x7e13 034465 arg 0 ,rega 
+0x7e14 034466 branch ui_led_blink_start_global 
+:      034470 check_51cmd_le_start_con:
+0x7e15 034471 jam on ,mem_le_scan_enable 
+0x7e16 034472 jam hci_cmd_le_create_conn ,mem_hci_cmd 
+0x7e17 034475 rtn 
+:      034479 check_51cmd_start_scan:
+0x7e18 034480 jam on ,mem_le_scan_enable 
+0x7e19 034481 rtn 
+:      034485 check_51cmd_stop_scan:
+0x7e1a 034486 jam off ,mem_le_scan_enable 
+0x7e1b 034487 jam 0 ,mem_hci_cmd 
+0x7e1c 034488 rtn 
+:      034492 check_51cmd_hibernate:
+0x7e1d 034493 fetch 2 ,mem_cb_before_hibernate 
+0x7e1e 034494 call callback_func 
+0x7e1f 034495 fetch 1 ,mem_ui_button_gpio 
+0x7e20 034496 beq ui_button_gpio_disable ,check_51cmd_hibernate_btn_disabled 
+0x7e21 034497 copy pdata ,temp 
+0x7e22 034498 call gpio_config_input 
+:      034499 check_51cmd_hibernate_btn_disabled:
+0x7e23 034500 call ui_ipc_clean_all_fifo 
+0x7e24 034501 branch lpm_hibernate 
+:      034505 check_51cmd_le_smp_sec_req:
+0x7e25 034506 branch le_send_smp_security_request 
+:      034510 check_51cmd_role_switch:
+0x7e26 034511 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x7e27 034512 set1 mark_switch_initiated ,mark 
+0x7e28 034513 nrtn master 
+0x7e29 034514 jam switch_flag_init ,mem_switch_flag 
+0x7e2a 034515 jam lmp_switch_req ,mem_lmo_opcode2 
+0x7e2b 034516 fetch 1 ,mem_connection_options 
+0x7e2c 034517 set0 connection_switch ,pdata 
+0x7e2d 034518 store 1 ,mem_connection_options 
+0x7e2e 034519 rtn 
+:      034523 check_51cmd_bb_reconn_cancel:
+0x7e2f 034524 force page_length_timer ,queue 
+0x7e30 034525 branch timer_stop 
+:      034529 check_51cmd_dhkey_not_accept:
+0x7e31 034530 call tid_set_reply 
+0x7e32 034531 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7e33 034532 branch parse_lmp_dhkey_check_reject 
+:      034535 ui_check_paring_button:
+0x7e34 034536 fetch 1 ,mem_ui_state_map 
+0x7e35 034537 rtnbit0 ui_state_btn_down 
+0x7e36 034538 rtnbit0 ui_state_bt_reconnect 
+0x7e37 034539 branch check_51cmd_bb_reconn_cancel 
+:      034544 queue_init:
+0x7e38 034545 fetch 2 ,mem_queue_ptr 
+0x7e39 034546 add pdata ,queue_offset_curr_num ,contw 
+0x7e3a 034547 setarg 0 
+0x7e3b 034548 istore 3 ,contw 
+0x7e3c 034549 rtn 
+:      034553 queue_push:
+0x7e3d 034554 call disable_user 
+0x7e3e 034555 call queue_full 
+0x7e3f 034556 rtn blank 
+0x7e40 034557 fetch 2 ,mem_queue_ptr 
+0x7e41 034558 add pdata ,queue_offset_curr_num ,regb 
+0x7e42 034559 ifetcht 1 ,regb 
+0x7e43 034560 increase 1 ,temp 
+0x7e44 034561 istoret 1 ,regb 
+0x7e45 034563 ifetcht 1 ,pdata 
+0x7e46 034564 copy temp ,loopcnt 
+0x7e47 034565 add pdata ,queue_offset_write_ptr ,regb 
+0x7e48 034566 ifetch 1 ,regb 
+0x7e49 034567 imul32 temp ,pdata 
+0x7e4a 034568 iadd contr ,contw 
+0x7e4b 034569 copy rega ,contr 
+:      034570 calc_queue_next_ptr:
+0x7e4c 034571 call memcpy 
+0x7e4d 034572 call queue_get_size 
+0x7e4e 034573 pincrease -1 
+0x7e4f 034574 ifetcht 1 ,regb 
+0x7e50 034575 increase 1 ,temp 
+0x7e51 034576 iand temp ,temp 
+0x7e52 034577 istoret 1 ,regb 
+0x7e53 034578 branch enable_user 
+:      034583 queue_pop:
+0x7e54 034584 call disable_user 
+0x7e55 034585 call queue_empty 
+0x7e56 034586 rtn blank 
+0x7e57 034587 fetch 2 ,mem_queue_ptr 
+0x7e58 034588 add pdata ,queue_offset_curr_num ,regb 
+0x7e59 034589 ifetcht 1 ,regb 
+0x7e5a 034590 increase -1 ,temp 
+0x7e5b 034591 istoret 1 ,regb 
+0x7e5c 034592 ifetcht 1 ,pdata 
+0x7e5d 034593 copy temp ,loopcnt 
+0x7e5e 034594 add pdata ,queue_offset_read_ptr ,regb 
+0x7e5f 034595 ifetch 1 ,regb 
+0x7e60 034596 imul32 temp ,pdata 
+0x7e61 034597 iadd contr ,contr 
+0x7e62 034598 increase 1 ,contr 
+0x7e63 034599 copy rega ,contw 
+0x7e64 034600 branch calc_queue_next_ptr 
+:      034604 queue_empty:
+0x7e65 034605 fetch 2 ,mem_queue_ptr 
+0x7e66 034606 add pdata ,queue_offset_curr_num ,contr 
+0x7e67 034607 ifetch 1 ,contr 
+0x7e68 034608 rtn 
+:      034611 queue_full:
+0x7e69 034612 call queue_get_size 
+0x7e6a 034613 ifetcht 1 ,contr 
+0x7e6b 034614 isub temp ,pdata 
+0x7e6c 034615 rtn 
+:      034618 queue_get_size:
+0x7e6d 034619 fetch 2 ,mem_queue_ptr 
+0x7e6e 034620 add pdata ,queue_offset_length ,contr 
+0x7e6f 034621 ifetch 1 ,contr 
+0x7e70 034622 rtn 
+:      034630 right_shift_n:
+0x7e71 034631 sub loopcnt ,0 ,null 
+0x7e72 034632 rtn zero 
+:      034633 right_shift_n_loop:
+0x7e73 034634 rshift pdata ,pdata 
+0x7e74 034635 loop right_shift_n_loop 
+0x7e75 034636 rtn 
+:      034639 left_shift_n:
+0x7e76 034640 force 1 ,pdata 
+0x7e77 034641 sub loopcnt ,0 ,null 
+0x7e78 034642 rtn zero 
+:      034643 left_shift_n_loop:
+0x7e79 034644 lshift pdata ,pdata 
+0x7e7a 034645 loop left_shift_n_loop 
+0x7e7b 034646 rtn 
+:      034647 push_stack:
+0x7e7c 034648 deposit contw 
+0x7e7d 034649 store 2 ,mem_contw 
+0x7e7e 034650 storet 8 ,mem_temp 
+0x7e7f 034651 deposit timeup 
+0x7e80 034652 store 4 ,mem_timeup 
+0x7e81 034653 call push_stack_rega_b_c 
+0x7e82 034654 deposit contr 
+0x7e83 034655 store 2 ,mem_contr 
+0x7e84 034656 rtn 
+:      034658 push_stack_rega_b_c:
+0x7e85 034659 deposit rega 
+0x7e86 034660 store 4 ,mem_rega 
+0x7e87 034661 deposit regb 
+0x7e88 034662 store 4 ,mem_regb 
+0x7e89 034663 deposit regc 
+0x7e8a 034664 store 3 ,mem_regc 
+0x7e8b 034665 rtn 
+:      034667 pop_stack:
+0x7e8c 034668 fetcht 8 ,mem_temp 
+0x7e8d 034669 fetch 4 ,mem_timeup 
+0x7e8e 034670 iforce timeup 
+0x7e8f 034671 call pop_stack_rega_b_c 
+0x7e90 034672 fetch 2 ,mem_contw 
+0x7e91 034673 iforce contw 
+0x7e92 034674 fetch 2 ,mem_contr 
+0x7e93 034675 iforce contr 
+0x7e94 034676 rtn 
+:      034678 pop_stack_rega_b_c:
+0x7e95 034679 fetch 4 ,mem_rega 
+0x7e96 034680 iforce rega 
+0x7e97 034681 fetch 4 ,mem_regb 
+0x7e98 034682 iforce regb 
+0x7e99 034683 fetch 3 ,mem_regc 
+0x7e9a 034684 iforce regc 
+0x7e9b 034685 rtn 
+:      034687 get_contw:
+0x7e9c 034688 fetch 2 ,mem_contw 
+0x7e9d 034689 copy pdata ,contw 
+0x7e9e 034690 rtn 
+:      034691 get_contr:
+0x7e9f 034692 fetch 2 ,mem_contr 
+0x7ea0 034693 copy pdata ,contr 
+0x7ea1 034694 rtn 
+:      034695 store_contw:
+0x7ea2 034696 copy contw ,pdata 
+0x7ea3 034697 store 2 ,mem_contw 
+0x7ea4 034698 rtn 
+:      034699 store_contr:
+0x7ea5 034700 copy contr ,pdata 
+0x7ea6 034701 store 2 ,mem_contr 
+0x7ea7 034702 rtn 
+:      034706 save_cont_pointers:
+0x7ea8 034707 copy contw ,pdata 
+0x7ea9 034708 store 2 ,mem_hold_contw 
+0x7eaa 034709 copy contr ,pdata 
+0x7eab 034710 store 2 ,mem_hold_contr 
+0x7eac 034711 rtn 
+:      034712 load_cont_pointers:
+0x7ead 034713 fetch 2 ,mem_hold_contw 
+0x7eae 034714 copy pdata ,contw 
+0x7eaf 034715 fetch 2 ,mem_hold_contr 
+0x7eb0 034716 copy pdata ,contr 
+0x7eb1 034717 rtn 
+:      034719 memcpy96:
+0x7eb2 034720 call memcpy32 
+:      034721 memcpy64:
+0x7eb3 034722 call memcpy32 
+0x7eb4 034723 branch memcpy32 
+:      034724 memcpy12:
+0x7eb5 034725 call memcpy8 
+:      034726 memcpy4:
+0x7eb6 034727 ifetch 4 ,contr 
+0x7eb7 034728 istore 4 ,contw 
+0x7eb8 034729 rtn 
+:      034730 memcpy8:
+0x7eb9 034731 ifetch 8 ,contr 
+0x7eba 034732 istore 8 ,contw 
+0x7ebb 034733 rtn 
+:      034735 memcpy48:
+0x7ebc 034736 call memcpy16 
+:      034737 memcpy32:
+0x7ebd 034738 call memcpy8 
+:      034739 memcpy24:
+0x7ebe 034740 call memcpy8 
+:      034741 memcpy16:
+0x7ebf 034742 call memcpy8 
+0x7ec0 034743 branch memcpy8 
+:      034747 delay_10ms:
+0x7ec1 034748 arg 10 ,loopcnt 
+:      034749 delay_ms_wait:
+0x7ec2 034750 nop 12000 
+0x7ec3 034751 loop delay_ms_wait 
+0x7ec4 034752 rtn 
+:      034754 bn_zero:
+0x7ec5 034755 force 3 ,loopcnt 
+:      034756 memset0:
+0x7ec6 034757 force 0 ,pdata 
+:      034758 memset8:
+0x7ec7 034759 istore 8 ,contw 
+0x7ec8 034760 loop memset8 
+0x7ec9 034761 rtn 
+:      034763 memset0_8:
+0x7eca 034764 force 0 ,pdata 
+0x7ecb 034765 istore 8 ,contw 
+0x7ecc 034766 rtn 
+:      034767 memset0_4:
+0x7ecd 034768 force 0 ,pdata 
+0x7ece 034769 istore 4 ,contw 
+0x7ecf 034770 rtn 
+:      034772 clear_mem_256:
+0x7ed0 034773 force 4 ,loopcnt 
+0x7ed1 034774 branch memset0 
+:      034775 clear_mem_512:
+0x7ed2 034776 force 8 ,loopcnt 
+0x7ed3 034777 branch memset0 
+:      034779 clear_mem:
+0x7ed4 034780 deposit loopcnt 
+0x7ed5 034781 rtn blank 
+0x7ed6 034782 setarg 0 
+:      034783 clear_mem_loop:
+0x7ed7 034784 istore 1 ,contw 
+0x7ed8 034785 loop clear_mem_loop 
+0x7ed9 034786 rtn 
+:      034789 clear_temp_block:
+0x7eda 034790 arg 32 ,loopcnt 
+0x7edb 034791 arg mem_temp_block0 ,contw 
+0x7edc 034792 branch clear_mem 
+:      034794 xor_loop:
+0x7edd 034795 ifetch 4 ,regc 
+0x7ede 034796 ifetcht 4 ,rega 
+0x7edf 034797 ixor temp ,pdata 
+0x7ee0 034798 istore 4 ,contw 
+0x7ee1 034799 increase 4 ,rega 
+0x7ee2 034800 increase 4 ,regc 
+0x7ee3 034801 loop xor_loop 
+0x7ee4 034802 rtn 
+:      034806 inverse_data:
+0x7ee5 034807 bpatchx patch3f_3 ,mem_patch3f 
+0x7ee6 034808 copy loopcnt ,pdata 
+0x7ee7 034809 sub pdata ,1 ,null 
+0x7ee8 034810 rtn positive 
+0x7ee9 034811 iadd rega ,regb 
+0x7eea 034812 increase -1 ,regb 
+0x7eeb 034813 rshift loopcnt ,loopcnt 
+:      034814 inverse_loop:
+0x7eec 034815 ifetcht 1 ,rega 
+0x7eed 034816 ifetch 1 ,regb 
+0x7eee 034817 istore 1 ,rega 
+0x7eef 034818 istoret 1 ,regb 
+0x7ef0 034819 increase -1 ,regb 
+0x7ef1 034820 increase 1 ,rega 
+0x7ef2 034821 loop inverse_loop 
+0x7ef3 034822 rtn 
+:      034825 memcpy_fast:
+0x7ef4 034826 deposit loopcnt 
+0x7ef5 034827 rtn blank 
+:      034828 memcpy_fast_loop:
+0x7ef6 034829 increase -8 ,loopcnt 
+0x7ef7 034830 call memcpy8 ,positive 
+0x7ef8 034831 rtn zero 
+0x7ef9 034832 branch memcpy_fast_loop ,positive 
+0x7efa 034833 increase 8 ,loopcnt 
+:      034834 memcpy_fast_loop_four:
+0x7efb 034835 increase -4 ,loopcnt 
+0x7efc 034836 call memcpy4 ,positive 
+0x7efd 034837 rtn zero 
+0x7efe 034838 branch memcpy_fast_loop_four ,positive 
+0x7eff 034839 increase 4 ,loopcnt 
+0x7f00 034840 branch memcpy 
+:      034842 memcpy:
+0x7f01 034843 deposit loopcnt 
+0x7f02 034844 rtn blank 
+:      034845 memcpy_loop:
+0x7f03 034846 ifetch 1 ,contr 
+0x7f04 034847 istore 1 ,contw 
+0x7f05 034848 loop memcpy_loop 
+0x7f06 034849 rtn 
+:      034851 timer_stop:
+0x7f07 034852 setarg 0 
+:      034853 timer_init:
+0x7f08 034854 rshift clkn_bt ,temp 
+0x7f09 034855 storet 4 ,mem_last_clkn 
+0x7f0a 034856 arg mem_timers ,contw 
+0x7f0b 034857 iforce temp 
+0x7f0c 034858 lshift queue ,pdata 
+0x7f0d 034859 iadd contw ,contw 
+0x7f0e 034860 istoret 2 ,contw 
+0x7f0f 034861 bpatchx patch3f_4 ,mem_patch3f 
+0x7f10 034862 rtn 
+:      034864 timer_check_timeout:
+0x7f11 034865 arg 0x800 ,timeup 
+0x7f12 034866 lshift16 timeup ,timeup 
+0x7f13 034867 iadd timeup ,pdata 
+0x7f14 034868 rtn 
+:      034871 timer_reinit:
+0x7f15 034872 arg 0 ,queue 
+:      034873 timer_check:
+0x7f16 034874 bpatchx patch3f_5 ,mem_patch3f 
+0x7f17 034875 fetcht 4 ,mem_last_clkn 
+0x7f18 034876 rshift clkn_bt ,pdata 
+0x7f19 034877 store 4 ,mem_last_clkn 
+0x7f1a 034878 isub temp ,null 
+0x7f1b 034879 ncall timer_check_timeout ,positive 
+0x7f1c 034880 isub temp ,timeup 
+0x7f1d 034881 copy timeup ,temp 
+0x7f1e 034882 arg mem_timers ,contr 
+0x7f1f 034883 copy contr ,contw 
+0x7f20 034884 arg 16 ,loopcnt 
+:      034885 timer_loop:
+0x7f21 034886 ifetch 2 ,contr 
+0x7f22 034887 isub temp ,pdata 
+0x7f23 034888 branch timer_counting ,positive 
+0x7f24 034889 force 0 ,pdata 
+:      034890 timer_counting:
+0x7f25 034891 istore 2 ,contw 
+0x7f26 034892 loop timer_loop 
+0x7f27 034893 arg mem_timers ,contr 
+0x7f28 034894 lshift queue ,pdata 
+0x7f29 034895 iadd contr ,contr 
+0x7f2a 034896 ifetch 2 ,contr 
+0x7f2b 034897 rtn 
+:      034902 clk_add:
+0x7f2c 034903 iadd temp ,temp 
+0x7f2d 034904 copy temp ,loopcnt 
+0x7f2e 034905 setarg 3750 
+0x7f2f 034906 isub loopcnt ,pdata 
+0x7f30 034907 rtn positive 
+0x7f31 034908 sub pdata ,0 ,pdata 
+0x7f32 034909 rshift16 temp ,temp 
+0x7f33 034910 increase 1 ,temp 
+0x7f34 034911 lshift16 temp ,temp 
+0x7f35 034912 ior temp ,temp 
+0x7f36 034913 rtn 
+:      034915 clk_diff_rt:
+0x7f37 034916 call clk_diff 
+0x7f38 034917 branch clk2rt 
+:      034920 clk_diff:
+0x7f39 034921 disable user 
+0x7f3a 034922 isub temp ,pdata 
+0x7f3b 034923 branch clk_diff_pos ,positive 
+0x7f3c 034924 enable user 
+0x7f3d 034925 sub pdata ,0 ,pdata 
+:      034926 clk_diff_pos:
+0x7f3e 034927 rtnbit0 15 
+0x7f3f 034928 arg -61786 ,temp 
+0x7f40 034929 iadd temp ,pdata 
+0x7f41 034930 set0 64 ,pdata 
+0x7f42 034931 rtn 
+:      034933 clk2rt:
+0x7f43 034934 iforce contr 
+0x7f44 034935 rshift16 pdata ,pdata 
+0x7f45 034936 arg 3750 ,temp 
+0x7f46 034937 imul32 temp ,pdata 
+0x7f47 034938 iadd contr ,pdata 
+0x7f48 034939 rtn 
+:      034942 clk2lpo:
+0x7f49 034943 lshift8 pdata ,pdata 
+0x7f4a 034944 lshift4 pdata ,pdata 
+0x7f4b 034945 fetcht 3 ,mem_clks_per_lpo 
+0x7f4c 034946 idiv temp 
+0x7f4d 034947 call wait_div_end 
+0x7f4e 034948 quotient temp 
+0x7f4f 034949 rtn 
+:      034952 clk2bt:
+0x7f50 034953 arg 3750 ,temp 
+0x7f51 034954 idiv temp 
+0x7f52 034955 call wait_div_end 
+0x7f53 034956 quotient pdata 
+0x7f54 034957 lshift16 pdata ,pdata 
+0x7f55 034958 remainder temp 
+0x7f56 034959 ior temp ,temp 
+0x7f57 034960 rtn 
+:      034967 string2dec_from_uart:
+0x7f58 034968 arg 0 ,temp 
+:      034969 string2dec_from_uart_done:
+0x7f59 034970 copy temp ,regc 
+0x7f5a 034971 ifetch 1 ,contru 
+0x7f5b 034972 call uchar2dialog 
+0x7f5c 034973 copy regc ,temp 
+0x7f5d 034974 call swap 
+0x7f5e 034975 arg 10 ,regb 
+0x7f5f 034976 imul32 regb ,pdata 
+0x7f60 034977 iadd temp ,pdata 
+0x7f61 034978 copy pdata ,temp 
+0x7f62 034979 loop string2dec_from_uart_done 
+0x7f63 034980 rtn 
+:      034984 uchar2dialog:
+0x7f64 034985 arg 0x3a ,temp 
+0x7f65 034986 isub temp ,null 
+0x7f66 034987 nbranch uchar2dialog_number ,positive 
+0x7f67 034988 arg 0x61 ,temp 
+0x7f68 034989 isub temp ,null 
+0x7f69 034990 branch uchar2dialog_a2f ,positive 
+0x7f6a 034991 arg 0x37 ,temp 
+0x7f6b 034992 isub temp ,pdata 
+0x7f6c 034993 rtn 
+:      034994 uchar2dialog_number:
+0x7f6d 034995 arg 0x30 ,temp 
+0x7f6e 034996 isub temp ,pdata 
+0x7f6f 034997 rtn 
+:      034998 uchar2dialog_a2f:
+0x7f70 034999 arg 0x57 ,temp 
+0x7f71 035000 isub temp ,pdata 
+0x7f72 035001 rtn 
+:      035003 pn9:
+0x7f73 035004 copy temp ,alarm 
+0x7f74 035005 setarg 0x1ff 
+0x7f75 035006 force 0 ,regb 
+:      035007 pn9_loop:
+0x7f76 035008 rshift3 pdata ,rega 
+0x7f77 035009 rshift rega ,rega 
+0x7f78 035010 ixor rega ,rega 
+0x7f79 035011 isolate1 0 ,rega 
+0x7f7a 035012 setflag true ,9 ,pdata 
+0x7f7b 035013 rshift temp ,temp 
+0x7f7c 035014 isolate1 0 ,pdata 
+0x7f7d 035015 setflag true ,7 ,temp 
+0x7f7e 035016 rshift pdata ,pdata 
+0x7f7f 035017 increase 1 ,regb 
+0x7f80 035018 compare 0 ,regb ,0x7 
+0x7f81 035019 nbranch pn9_loop ,true 
+0x7f82 035020 istoret 1 ,contw 
+0x7f83 035021 loop pn9_loop 
+0x7f84 035022 copy alarm ,temp 
+0x7f85 035023 rtn 
+:      035026 wait_div_end:
+0x7f86 035027 rtn modone 
+0x7f87 035028 branch wait_div_end 
+:      035038 compare_loop:
+:      035039 string_compare:
+0x7f88 035040 ifetch 1 ,rega 
+0x7f89 035041 ifetcht 1 ,regb 
+0x7f8a 035042 isub temp ,null 
+0x7f8b 035043 nrtn zero 
+0x7f8c 035044 increase 1 ,rega 
+0x7f8d 035045 increase 1 ,regb 
+0x7f8e 035046 loop string_compare 
+0x7f8f 035047 force 0 ,null 
+0x7f90 035048 rtn 
+:      035051 ceiling:
+0x7f91 035052 isub temp ,null 
+0x7f92 035053 nrtn positive 
+0x7f93 035054 deposit temp 
+0x7f94 035055 rtn 
+:      035057 swap:
+0x7f95 035058 iadd temp ,pdata 
+0x7f96 035059 isub temp ,temp 
+0x7f97 035060 isub temp ,pdata 
+0x7f98 035061 rtn 
+:      035063 clean_mem:
+0x7f99 035064 arg 0x200 ,loopcnt 
+0x7f9a 035065 arg 0x4000 ,contw 
+0x7f9b 035066 branch memset0 
+:      035069 callback_func:
+0x7f9c 035070 rtn blank 
+0x7f9d 035071 copy pdata ,pc 
+:      035074 wait_uarttx:
+0x7f9e 035075 hfetch 2 ,core_uart_txitems 
+0x7f9f 035076 nbranch wait_uarttx ,blank 
+0x7fa0 035077 rtn 
+:      035079 ice_break:
+0x7fa1 035080 hjam 0x1 ,core_ice_ctrl 
+0x7fa2 035081 rtn 
+:      035083 ice_setbp:
+0x7fa3 035084 hstore 2 ,core_ice_break0 
+0x7fa4 035085 hfetch 1 ,core_ice_ctrl 
+0x7fa5 035086 set1 4 ,pdata 
+0x7fa6 035087 hstore 1 ,core_ice_ctrl 
+0x7fa7 035088 rtn 
+:      035089 ice_setbp2:
+0x7fa8 035090 hstore 2 ,core_ice_break1 
+0x7fa9 035091 hfetch 1 ,core_ice_ctrl 
+0x7faa 035092 set1 6 ,pdata 
+0x7fab 035093 hstore 1 ,core_ice_ctrl 
+0x7fac 035094 rtn 
+:      035096 ice_set_write_bp:
+0x7fad 035097 hstore 2 ,core_ice_break0 
+0x7fae 035098 hjam 0x30 ,core_ice_ctrl 
+0x7faf 035099 rtn 
+:      035103 test_enable_white:
+0x7fb0 035104 hfetch 1 ,core_config 
+0x7fb1 035105 set0 whiteoff_bit ,pdata 
+0x7fb2 035106 hstore 1 ,core_config 
+0x7fb3 035107 rtn 
+:      035109 check_uart_tx_buff:
+0x7fb4 035110 hfetch 2 ,core_uart_txitems 
+0x7fb5 035111 arg uart_air_control_threshold ,temp 
+:      035112 pdata_sub_temp:
+0x7fb6 035113 isub temp ,null 
+0x7fb7 035114 rtn 
+:      035120 fifo_in:
+0x7fb8 035121 bpatchx patch3f_6 ,mem_patch3f 
+0x7fb9 035122 ifetcht util_fifo_len ,rega 
+0x7fba 035123 and temp ,0xff ,pdata 
+0x7fbb 035124 nbranch fifo_in_push ,blank 
+0x7fbc 035125 rshift8 temp ,pdata 
+0x7fbd 035126 istore util_fifo_len ,rega 
+:      035127 fifo_in_push:
+0x7fbe 035128 increase util_fifo_len + util_fifo_offset ,rega 
+0x7fbf 035129 ifetch 1 ,rega 
+0x7fc0 035130 nbranch assert ,blank 
+0x7fc1 035131 fetch 1 ,mem_fifo_temp 
+0x7fc2 035132 istore 1 ,rega 
+0x7fc3 035133 rtn 
+:      035138 fifo_out:
+0x7fc4 035139 bpatchx patch3f_7 ,mem_patch3f 
+0x7fc5 035140 arg util_fifo_len ,loopcnt 
+0x7fc6 035141 ifetch util_fifo_len ,rega 
+0x7fc7 035142 rtn blank 
+:      035143 fifo_out_loop:
+0x7fc8 035144 ifetch 1 ,rega 
+0x7fc9 035145 nbranch fifo_out_end ,blank 
+0x7fca 035146 increase 1 ,rega 
+0x7fcb 035147 loop fifo_out_loop 
+0x7fcc 035148 branch assert 
+:      035149 fifo_out_end:
+0x7fcd 035150 arg 0 ,temp 
+0x7fce 035151 istoret 1 ,rega 
+0x7fcf 035152 rtn 
+:      035157 fifo_is_empty:
+0x7fd0 035158 ifetch util_fifo_len ,rega 
+0x7fd1 035159 rtn 
+:      035164 fifo_is_full:
+0x7fd2 035165 ifetch 1 ,rega 
+0x7fd3 035166 rtn 
+:      035169 fifo_is_near_full:
+0x7fd4 035170 ifetch 2 ,rega 
+0x7fd5 035171 rtn 
+:      035175 fifo_content_count:
+0x7fd6 035176 arg 0 ,temp 
+:      035177 fifo_content_count_loop:
+0x7fd7 035178 fetch 1 ,contr 
+0x7fd8 035179 loop fifo_content_count_loop ,blank 
+0x7fd9 035180 increase 1 ,temp 
+0x7fda 035181 loop fifo_content_count_loop 
+0x7fdb 035182 copy temp ,pdata 
+0x7fdc 035183 rtn 
+:      035185 not_greater_than:
+0x7fdd 035186 isub temp ,null 
+0x7fde 035187 nrtn positive 
+0x7fdf 035188 copy temp ,pdata 
+0x7fe0 035189 rtn 
+:      035192 disable_positive:
+0x7fe1 035193 force -1 ,null 
+0x7fe2 035194 rtn 
+:      035195 enable_positive:
+:      035196 disable_zero:
+0x7fe3 035197 force 1 ,null 
+0x7fe4 035198 rtn 
+:      035199 enable_zero:
+0x7fe5 035200 force 0 ,null 
+0x7fe6 035201 rtn 
+:      035203 enable_user:
+0x7fe7 035204 enable user 
+0x7fe8 035205 rtn 
+:      035207 disable_user:
+0x7fe9 035208 disable user 
+0x7fea 035209 rtn 
+:      035211 enable_user2:
+0x7feb 035212 enable user2 
+0x7fec 035213 rtn 
+:      035215 disable_user2:
+0x7fed 035216 disable user2 
+0x7fee 035217 rtn 
+:      035219 disable_blank:
+0x7fef 035220 setarg 1 
+0x7ff0 035221 rtn 
+:      035223 enable_blank:
+0x7ff1 035224 setarg 0 
+0x7ff2 035225 rtn 
+:      035228 reverse_byte:
+0x7ff3 035229 copy loopcnt ,pdata 
+0x7ff4 035230 rtn blank 
+0x7ff5 035231 copy contr ,pdata 
+0x7ff6 035232 iadd loopcnt ,pdata 
+0x7ff7 035233 increase -1 ,pdata 
+0x7ff8 035234 copy pdata ,contr 
+:      035235 reverse_loop:
+0x7ff9 035236 ifetch 1 ,contr 
+0x7ffa 035237 increase -2 ,contr 
+0x7ffb 035238 istore 1 ,contw 
+0x7ffc 035239 loop reverse_loop 
+0x7ffd 035240 rtn 
Index: YJX_Only24g/FCC_1021S/output/bt_program23.meta
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_program23.meta	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_program23.meta	(working copy)
@@ -0,0 +1,35242 @@
+define REVD
+//define FPGA
+define ROMCODE
+define PATCH
+define ADC
+//define RAM_VERSION
+//define CLK6M
+//define DEBUG_MALLOC
+//define DEBUG_H4LOG_ENABLE
+//define DEBUG_LIGHT_STATE
+//define E2_LOG
+//define LMP_DBG
+//define ACL_DEBUG
+//define DCDC
+define NVRAM
+define RELEASE
+define SECURE_CONNECTION
+define DEBUG_RF_INIT
+//define SPI_SIMULATE
+//define ROM_RESPIN_OPTIONAL
+
+define SIMPLE_PAIRING
+define COMPILE_RFCOMM
+define COMPILE_SHUTTER
+define COMPILE_AntiLost
+//define COMPILE_IR
+define COMPILE_KEYBOARD
+define COMPILE_MOUSE
+define COMPILE_MODULE
+//define COMPILE_AT
+//define COMPILE_PRCP
+//define COMPILE_USB
+//define COMPILE_DONGLE
+define COMPILE_LE
+define COMPILE_24G
+define COMPILE_CAR
+define COMPILE_REMOTE_CAR
+
+INCLUDE "bt_format"
+
+org 0x0000		// start from patch ram address start
+
+
+//	branch p_test_otp
+//	branch p_test_dpll
+//	branch p_test_xtal
+//	branch p_snooze
+//	branch p_start
+//	branch p_lpm_sleep
+	
+
+
+	
+/******************************************/
+/**************   Start   *****************/
+/******************************************/
+p_start:
+	call p_pause_c51
+	//call p_gpio
+	call p_clean_mem
+	call p_init_param
+	call p_initialize_radio
+	call p_xtal_test
+	hjam 0x21,core_clkoff			// enable debug uart
+
+	fetcht 1,mem_lbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_rbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_mbutton_gpio
+	call gpio_config_input
+//p_p:
+	//call p_test_check_paramer_change
+	//loop p_p
+
+
+	call iic_init_390k
+
+	setarg 0x0200
+	store 2,mem_device_flag
+	arg 2,temp
+	arg mem_device_flag,rega
+	setarg 0
+	call  iicd_write_eep
+	
+	call pp_pn9
+	branch p_test_tx_new_param
+
+p_mouse_check_key_gpio:
+	arg 0,rega
+	call p_mouse_check_lkey_gpio
+	call p_mouse_check_rkey_gpio
+	call p_mouse_check_mkey_gpio
+	copy rega,pdata
+	rtn
+p_mouse_check_rkey_gpio:
+	fetcht 1,mem_rbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega			//true = 1,input low level
+	rtn
+p_mouse_check_mkey_gpio:
+	fetcht 1,mem_mbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega			//true = 1,input low level
+	rtn
+	
+p_mouse_check_lkey_gpio:
+	fetcht 1,mem_lbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega			//true = 1,input low level
+	rtn
+
+p_gpio_set_input_pd:
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set1 gpio_active_bit,temp
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd+4
+
+
+	
+p_xtal_test:
+	jam 0x8f,mem_lpm_config
+	jam 0x10,mem_lpm_config +1
+	jam 0xca,mem_lpm_config +2
+	branch init_lpm_ctrl
+	
+p_clean_mem:
+	arg 0x0,contw
+	arg 0x400,loopcnt
+	call p_memset0
+	hfetch 1,core_misc_status
+	rtnbit0 2
+	arg 0x4000,contw
+	arg 0x200,loopcnt
+	call p_memset0
+	rtn
+
+p_memset0:
+	force 0,pdata
+p_memset8:
+	istore   8,contw
+	loop p_memset8
+	rtn
+p_init_param:
+	setarg param_features0
+	store 3,mem_features
+	setarg param_features1
+	set0 2,pdata			// disable edr3m
+	istore 3,contw
+	setarg param_features2
+	istore 2,contw
+	setarg param_lap
+	store 3,mem_lap
+	setarg param_unap
+	store 3,mem_uap
+	setarg param_glap
+	store 3,mem_glap
+	setarg param_tisw
+	store 2,mem_iscan_window
+	setarg param_tisi
+	store 2,mem_iscan_interval
+	setarg 0x200
+	store 2,mem_pscan_window
+	setarg param_tpsi
+	store 2,mem_pscan_interval
+	setarg param_inq_window
+	store 2,mem_inq_window
+	setarg param_page_window
+	store 2,mem_page_window
+	setarg param_page_to
+	store 2,mem_page_to
+	setarg param_lmp_version
+	store 3,mem_lmp_version
+	setarg param_lmp_subversion
+	store 2,mem_lmp_subversion
+	jam param_name_len,mem_local_name_length
+	setarg param_name
+	store 3,mem_local_name
+	setarg param_name1
+	store 3,mem_local_name2
+	jam param_fcomp_mul,mem_fcomp_mul
+	jam 0x60,mem_fhs_misc		/* R1 for 1.28s ps interval,P2 */
+	jam param_max_slot,mem_max_slot
+	//jam 1,mem_ptt
+	jam 3,mem_scan_mode
+	rtn
+p_initialize_radio:
+
+	hjam clksel_rc,core_clksel
+
+/*MAX TX IQ&DC*/
+//	hjam 0x02,0x907
+//	hjam 0x1f,0x908
+//	hjam 0x1f,0x909
+//	hjam 0xe0,0x90a
+//	hjam 0x41,0x90b
+/*MAX TX IQ&DC*/
+
+
+
+	//MAX TX IQ&DC for TX_0MIF, 2015_014_#12
+	hjam 0x00,0x907 //0M_IF
+	hjam 0x00,0x908
+	hjam 0x00,0x909
+	hjam 0xff,0x90a
+	hjam 0xff,0x90b	 //ff,Albert_AGC_disable
+	//hjam 0xe0,0x90a //Alberts
+	//hjam 0x44,0x90b //Alberts
+	//hjam 0xe4,0x90b	 //temp, Albert_AGC_enable/disable
+	
+/*
+	//MAX TX IQ&DC for TX_1MIF, 2015_014_#12//
+	hjam 0x7f,0x907 //1M_IF
+	hjam 0x01,0x908
+	hjam 0x1f,0x909
+	hjam 0xf8,0x90a
+	hjam 0xff,0x90b	 //for EDR&BR
+	//hjam 0x5f,0x90b		//for BLE
+	//MAX TX IQ&DC for yc1021D_#12 only//
+	//tmp
+	//hjam 0x00,0x907 //1M_IF
+	//hjam 0x00,0x908
+*/
+
+	//hjam 0x36,0x90f		/*For BLE, tune AGC_gain_offset, Max added*/
+	hjam 0x2e,0x90f			/*For BR/EDR, tune AGC_gain_offset, Max added*/
+
+	hjam 0x47,rf_agc_ctrl		/* invert demod, demod_clkoff , Max changed*/
+	//freeze gain table
+	//hjam 0xc5,0x911 //C5, LNA=110, Mixer=00, BPF=0101
+	
+	//hjam 0x01,0x953			/* rccal_sel*, no USE, will be set by 0x8951/
+         hjam 0xba,0x94b
+	hjam 0xfb,0x94c			/* rx sensitivity, dac_reg2, Max changed */
+	hjam 0xef,0x94d
+	hjam 0xec,0x94e			/* push tia_bias for better sen, Max changed */
+	hjam 0x5e,0x94f			/* tia_rc_en, Max changed */
+	
+	hjam 0x88,0x96f
+	hjam 0x00,0x973			/* turn off charge pump */
+
+	hjam 0x4a,0x895a
+	//hjam 0x26,0x895a
+	hjam 0x80,0x895c
+	//hjam 0x60,0x895c
+jam 0x20,mem_fcc_data_new
+jam 1,mem_fcc_ch_new
+
+//temp for lower RX current
+/*
+hjam 0x5b,0x94c  //original, hjam 0xfb,0x94c
+hjam 0x96,0x94d  //original, hjam 0xef,0x94d
+hjam 0x30,0x95c  //original, hjam 0x80,0x95c
+hjam 0x46,0x94f  //original, hjam 0x5e,0x94f
+*/
+
+
+/*
+      //default AGC setting
+	hjam 0xf5,0x91a 
+	hjam 0xc0,0x931 
+	hjam 0xc1,0x932 
+	hjam 0xc2,0x933 
+	hjam 0xc3,0x934 
+	hjam 0xc4,0x935 
+	hjam 0xc5,0x936 
+	hjam 0x04,0x937 
+	hjam 0x05,0x938 
+	hjam 0x06,0x939 
+	hjam 0x15,0x93A 
+	hjam 0x16,0x93B 
+	hjam 0x55,0x93C 
+	hjam 0x56,0x93D 
+	hjam 0x57,0x93E 
+	hjam 0x66,0x93F 
+	hjam 0x67,0x940 
+	hjam 0xa6,0x941 
+	hjam 0xa7,0x942 
+	hjam 0xa8,0x943 
+	
+//	hjam 0xb7,0x944
+//	hjam 0xf6,0x945
+//	hjam 0xf7,0x946
+//	hjam 0xf8,0x947
+	hjam 0x68,0x944
+	hjam 0x75,0x945
+	hjam 0xb5,0x946
+	hjam 0xf5,0x947
+	
+	hjam 0xa9,0x930   
+	hjam 0xb1,0x92f   //should be b2
+	hjam 0xb9,0x92e  //should be bq  
+	hjam 0xb5,0x92d  //should be b6
+
+
+	
+	hjam 0xc0,0x948 
+	hjam 0xff,0x949   
+	
+*/
+
+	/*
+      //AGC Table Setting Aggresive, Based on BR_sen, Max added
+	hjam 0xa9,0x930 //hjam 0x9D,0x930	
+	hjam 0xb1,0x92f //hjam 0xA1,0x92f	
+	hjam 0xb9,0x92e //hjam 0xA9,0x92e		
+	hjam 0xAE,0x92d	
+	hjam 0xB2,0x92c	
+	hjam 0xB6,0x92b	
+	hjam 0xBA,0x92a	
+	hjam 0xBE,0x929	
+	hjam 0xC2,0x928	
+	hjam 0xC6,0x927	
+	hjam 0xCA,0x926	
+	hjam 0xCE,0x925	
+	hjam 0xD2,0x924	
+	hjam 0xD6,0x923	
+	hjam 0xDA,0x922	
+	hjam 0xDE,0x921	
+	hjam 0xE2,0x920	
+	hjam 0xE6,0x91f	
+	hjam 0xEA,0x91e	
+	hjam 0xEE,0x91d	
+	hjam 0xF2,0x91c	
+	hjam 0xF6,0x91b	
+	hjam 0xFB,0x91a	
+	
+	hjam 0xf5,0x947 //hjam 0xF8,0x947	
+	hjam 0xe5,0x946 //hjam 0xE9,0x946	
+	hjam 0xd5,0x945 //hjam 0xD9,0x945	
+	hjam 0xA8,0x944	
+	hjam 0x69,0x943	
+	hjam 0x68,0x942	
+	hjam 0x29,0x941	
+	hjam 0x28,0x940	
+	hjam 0xE9,0x93f	
+	hjam 0xE8,0x93e	
+	hjam 0xD9,0x93d	
+	hjam 0xD8,0x93c	
+	hjam 0xC9,0x93b	
+	hjam 0xC8,0x93a	
+	hjam 0xC7,0x939	
+	hjam 0xC6,0x938	
+	hjam 0xC5,0x937	
+	hjam 0xC4,0x936	
+	hjam 0xC3,0x935	
+	hjam 0xC2,0x934	
+	hjam 0xC1,0x933	
+	hjam 0xC0,0x932	
+	hjam 0x80,0x931	
+	hjam 0x7f,0x94a	
+	hjam 0x80,0x949	
+	hjam 0x00,0x948	
+	*/
+
+
+	/*
+	//AGC Table Setting Normal, Based on 8PSK_sen, Max added
+	hjam 0xa9,0x930 //hjam 0x9D,0x930	
+	hjam 0xb1,0x92f //hjam 0xA1,0x92f	
+	hjam 0xb9,0x92e //hjam 0xA9,0x92e	
+	hjam 0xAD,0x92d	
+	hjam 0xB2,0x92c	
+	hjam 0xB6,0x92b	
+	hjam 0xBA,0x92a	
+	hjam 0xBE,0x929	
+	hjam 0xC2,0x928	
+	hjam 0xC6,0x927	
+	hjam 0xCA,0x926	
+	hjam 0xCE,0x925	
+	hjam 0xD2,0x924	
+	hjam 0xD6,0x923	
+	hjam 0xDA,0x922	
+	hjam 0xDE,0x921	
+	hjam 0xE2,0x920	
+	hjam 0xE6,0x91f	
+	hjam 0xEA,0x91e	
+	hjam 0xEE,0x91d	
+	hjam 0xF2,0x91c	
+	hjam 0xF6,0x91b	
+	hjam 0xFB,0x91a	
+	
+	hjam 0xf5,0x947 //hjam 0xF8,0x947	
+	hjam 0xe5,0x946 //hjam 0xE9,0x946	
+	hjam 0xd5,0x945 //hjam 0xD9,0x945	
+	hjam 0xD8,0x944	
+	hjam 0x99,0x943	
+	hjam 0x98,0x942	
+	hjam 0x59,0x941	
+	hjam 0x58,0x940	
+	hjam 0x19,0x93f	
+	hjam 0x18,0x93e	
+	hjam 0xD9,0x93d	
+	hjam 0xD8,0x93c	
+	hjam 0xC9,0x93b	
+	hjam 0xC8,0x93a	
+	hjam 0xC7,0x939	
+	hjam 0xC6,0x938	
+	hjam 0xC5,0x937	
+	hjam 0xC4,0x936	
+	hjam 0xC3,0x935	
+	hjam 0xC2,0x934	
+	hjam 0xC1,0x933	
+	hjam 0xC0,0x932	
+	hjam 0x80,0x931	
+	hjam 0x7f,0x94a	
+	hjam 0xe0,0x949	
+	hjam 0x00,0x948	
+	*/
+        
+
+/*	
+	//AGC Table Setting Conservative, Based on 8PSK_sen, Max added
+	hjam 0x9d,0x930 //hjam 0xa9,0x92f, for C_version only 	
+	hjam 0xa1,0x92f //hjam 0xb1,0x92f, for C_version only
+	hjam 0xa9,0x92e //hjam 0xb9,0x92e, for C_version only
+	hjam 0xAD,0x92d	
+	hjam 0xB1,0x92c	
+	hjam 0xB5,0x92b	
+	hjam 0xBA,0x92a	
+	hjam 0xBE,0x929	
+	hjam 0xC2,0x928	
+	hjam 0xC6,0x927	
+	hjam 0xCA,0x926	
+	hjam 0xCE,0x925 //hjam 0xb9,0x925, only changed for BQB_C1_#7
+	hjam 0xD2,0x924	
+	hjam 0xD6,0x923	
+	hjam 0xDA,0x922	
+	hjam 0xDE,0x921	
+	hjam 0xE2,0x920	
+	hjam 0xE6,0x91f	
+	hjam 0xEA,0x91e	
+	hjam 0xEE,0x91d	
+	hjam 0xF2,0x91c	
+	hjam 0xF6,0x91b	
+	hjam 0xFB,0x91a
+	
+	hjam 0xf8,0x947 //hjam 0xf5,0x947, for C_version only
+	hjam 0xE9,0x946 //hjam 0xe5,0x946, for C_version only	
+	hjam 0xD9,0x945 //hjam 0xd5,0x945, for C_version only	
+	hjam 0xD8,0x944	
+	hjam 0xC9,0x943	
+	hjam 0xC8,0x942	
+	hjam 0x89,0x941	
+	hjam 0x88,0x940	
+	hjam 0x87,0x93f	
+	hjam 0x48,0x93e	
+	hjam 0x09,0x93d	
+	hjam 0x08,0x93c //hjam 0xd5,0x93c, only changed for BQB_C1_#7
+	hjam 0xC9,0x93b	
+	hjam 0xC8,0x93a	
+	hjam 0xC7,0x939	
+	hjam 0xC6,0x938	
+	hjam 0xC5,0x937	
+	hjam 0xC4,0x936	
+	hjam 0xC3,0x935	
+	hjam 0xC2,0x934	
+	hjam 0xC1,0x933	
+	hjam 0xC0,0x932	
+	hjam 0x80,0x931
+	
+	hjam 0x7f,0x94a	
+	hjam 0xf8,0x949	
+	hjam 0x00,0x948	
+
+*/
+
+	//AGC Table Setting Conservative, Based on 8PSK_sen, Max added for YC1021D
+	hjam 0xa9,0x930 	
+	hjam 0xad,0x92f 
+	hjam 0xb1,0x92e 
+	hjam 0xb5,0x92d	
+	hjam 0xb9,0x92c	
+	hjam 0xbd,0x92b	
+	hjam 0xc2,0x92a	
+	hjam 0xc6,0x929	
+	hjam 0xca,0x928	
+	hjam 0xce,0x927	
+	hjam 0xd2,0x926	
+	hjam 0xd6,0x925 
+	hjam 0xda,0x924	
+	hjam 0xde,0x923	
+	hjam 0xe2,0x922	
+	hjam 0xe6,0x921	
+	hjam 0xea,0x920	
+	hjam 0xee,0x91f	
+	hjam 0xf2,0x91e	
+	hjam 0xf6,0x91d	
+	hjam 0xfb,0x91c	
+	hjam 0xfb,0x91b	
+	hjam 0xfb,0x91a
+	
+	hjam 0xf5,0x947 
+	hjam 0xe6,0x946 
+	hjam 0xD7,0x945 
+	hjam 0xD6,0x944	
+	hjam 0xC7,0x943	
+	hjam 0xC6,0x942	
+	hjam 0x87,0x941	
+	hjam 0x86,0x940	
+	hjam 0x85,0x93f	
+	hjam 0x46,0x93e	
+	hjam 0x07,0x93d	
+	hjam 0x06,0x93c 
+	hjam 0xC7,0x93b	
+	hjam 0xC6,0x93a	
+	hjam 0xC5,0x939	
+	hjam 0xC4,0x938	
+	hjam 0xC3,0x937	
+	hjam 0xC2,0x936	
+	hjam 0xC1,0x935	
+	hjam 0xC0,0x934	
+	hjam 0x80,0x933	
+	hjam 0x80,0x932	
+	hjam 0x80,0x931
+	
+	hjam 0x7f,0x94a	
+	hjam 0xf8,0x949	
+	hjam 0x00,0x948	
+
+
+		
+/*
+	//Tx Pout related 0dbm
+	hjam 0xd0, 0x955  //hjam 0xd8, 0x955 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	hjam 0xe0, 0x956   //hjam 0xce, 0x956 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	hjam 0x4c, 0x957
+	hjam 0x6c, 0x958
+	hjam 0x50, 0x959//0dbm
+	//hjam 0x10,0x959//5dbm
+*/
+	//Tx Pout related 3dbm
+	hjam 0xd0, 0x955  //hjam 0xd8, 0x955 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	hjam 0xe0, 0x956   //hjam 0xce, 0x956 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	hjam 0x88, 0x957
+	hjam 0x3c, 0x958
+	hjam 0x10, 0x959//0dbm
+//	hjam 0x10,0x959//5dbm
+
+/*
+	//Rx low-power (standard mode)
+        //Mixer
+	hjam 0x5b, 0x94c
+	//hjam 0x8f, 0x94d   //share same reg with rx_lna
+	//LNA
+	hjam 0x96, 0x94d
+	//VCO
+	hjam 0x30, 0x95c
+	//BPF
+	hjam 0x46, 0x94f
+*/
+
+
+	setarg 0x300000
+	hstore 3,rf_clkpll_frac
+	hjam 0x64,rf_clkpll_int
+	jam 36,mem_fcomp_div
+	call p_switchto_dpllclk
+	hjam 0xe4,rf_clkpll_int
+	set1 RESET,radio_ctrl
+	force 0,radio_ctrl
+	call p_do_rccal
+	call p_set_rccal
+	rtn
+p_do_rccal:
+	hjam 0x02,rfen_adc
+	setarg 2500000
+	call p_sleep					/* wait clkpll&xtal stable */
+	hjam 0x7f,rfen_rx
+	nop 130
+	hjam 0x10,rfen_tx
+       	hjam 0x30,rf_rccal_ctrl
+	nop 200	
+	hjam 0xf0,rf_rccal_ctrl
+	force 50,loopcnt
+p_do_rccal_loop:
+	hfetch 1,rf_rccal_result
+	bbit1 5,p_do_rccal_end
+	loop p_do_rccal_loop
+p_do_rccal_end:
+	store 1,mem_rf_rccal
+	hjam 0,rfen_tx
+	hjam 0,rfen_rx
+	hjam 0x00,rfen_adc
+	rtn
+
+p_set_rccal:
+	fetch 1,mem_rf_rccal
+	set1 5,pdata
+	hstore 1,rf_rccal_ctrl
+	hfetcht 1,rf_bpf_ctrim
+	and_into 7,temp
+	lshift3 pdata,pdata
+	ior temp,pdata
+	hstore 1,rf_bpf_ctrim
+	hfetch 1,rf_bpf_ib
+	set0 bpf_rccal,pdata
+	hstore 1,rf_bpf_ib
+	hfetch 1,rf_adc_rccal
+	set0 adc_rccal,pdata
+	hstore 1,rf_adc_rccal
+	rtn
+
+p_switchto_dpllclk:
+	hfetch 1,rf_clkpll_frac+2
+	set0 4,pdata
+	set0 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	hjam 0x00,rfen_ck
+	hjam 0x70,rfen_msc
+	hjam 0xff,rfen_ck
+	hfetch 1,rf_clkpll_frac+2
+	set1 4,pdata
+	set1 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	call p_init_lpm_ctrl
+	hjam clksel_dpll,core_clksel
+	rtn
+
+p_switchto_xclk:
+	hjam 0x8,core_clksel
+	hjam 0x00,rfen_ck
+	hjam 0x70,rfen_msc
+	rtn
+
+p_init_lpm_ctrl:
+	hfetcht 3,core_lpm_ctrl
+	setarg 0x100f0f		//Max changed to lowest lpo, 150720. Change xtal's ctrim for C_#7only for BQB, 151105
+	isub temp,null
+	rtn zero
+	hstore 3,core_lpm_reg
+	hjam 0xca,core_lpm_reg+3
+	call p_lpm_write_ctrl
+	hjam 0,core_gpio_out0
+	rtn
+p_lpm_write_ctrl:
+	setarg lpmreg_sel_ctrl
+p_lpm_write:
+	until null,lpo_edge
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+p_shutdown_radio:
+	nop 100          /* flush out the last bit */  
+	//pout related, ramp down  
+	//can be deleted 
+	//hjam 0xd8, 0x955 
+	//nop 40 
+	hjam 0xd8, 0x955 
+	nop 40 
+	hjam 0xd2, 0x955  
+	nop 40  
+	//can be deleted   
+	hjam 0xd1, 0x955 
+	nop 40  
+	//hjam 0xd0, 0x955 //0db
+	//hjam 0xe0, 0x956//0db
+	//hjam 0xd0, 0x955 //5db
+	//hjam 0xe0, 0x956//5db
+	hjam 0xd0, 0x955 //3db
+	hjam 0xe0, 0x956//3db
+	force 0,radio_ctrl
+	disable is_rx
+	disable is_tx
+	pulse packet_end
+	hjam 0x0,rfen_adc
+	hjam 0,rfen_sn
+	hjam 0x70,rfen_msc
+	hjam 0x0,rfen_mdm
+	hjam 0x0,rfen_tx
+	hjam 0x0,rfen_rx
+	rtn	
+p_sleep:	
+	/* sleep pdata clocks, only even clocks are accurate */
+	rshift pdata,pdata
+	increase -3,pdata
+p_sleep_loop:	
+	increase -1,pdata
+	nbranch p_sleep_loop,zero
+	force 0,pdata
+	rtn
+p_set_sync_on:
+	//hjam 0x38,rfen_rx // otherwise DAC has 1mA more current
+	hjam 0x77,rfen_msc
+	hjam 0x03,rfen_sn
+	nop 10
+	hjam 0x83,rfen_sn
+	hjam 0x7f,rfen_msc
+	hjam 0xa7,rfen_sn
+	rtn
+p_test_tx_new_param:
+	jam 0x01,mem_fcc_mod_new
+	jam 1,mem_fcc_send_mode_new
+p_test_tx_new_param_cont:
+	jam 79,mem_fcc_ch_new
+p_test_tx_new_param_copy:
+	fetch 4,mem_fcc_param_new
+	store 4,mem_fcc_param
+
+
+p_test_tx_start:
+	fetcht 1,mem_fcc_ch
+	increase -1,temp
+	//call p_test_24g_tx_on
+p_test_24g_tx_on:	
+	fetch 1,mem_fcc_send_mode
+	beq 0,p_test_24g_tx_data
+
+	call p_set_sync_on
+	call p_set_freq_tx
+	disable enable_white
+	enable encode_fec0
+	enable is_tx
+	fetcht 1,mem_fcc_mod
+	copy temp,radio_ctrl
+	hfetch 1,0x8908
+	isolate1 3,temp
+	setflag true,5,pdata
+	hstore 1,0x8908
+	branch p_test_tx_carrier_loop
+	
+p_test_24g_tx_data:
+	call p_set_sync_on
+	call p_set_freq_tx
+	//disable enable_white
+	call p_le_enable
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	hfetch 1,0x8908
+	isolate1 3,temp
+	setflag true,5,pdata
+	hstore 1,0x8908
+p_pk:
+	arg mem_24g_common_temp,contw
+	setarg 0xcccccc
+	store 3,mem_24g_common_temp
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	arg 24,loopcnt
+	arg mem_24g_common_temp,contr
+	branch p_pnloop_stable
+
+p_pnloop_stable:
+	ifetch 1,contr
+	inject mod,8
+	loop p_pnloop_stable
+	call p_test_ble_bt_tx_off
+	setarg 12000//1ms
+	call sleep
+
+	call p_test_check_paramer_change
+
+	fetch 4,mem_fcc_param
+	fetcht 4,mem_fcc_param_new
+	isub temp,null
+	ncall p_test_tx_change_sleep,zero
+	
+	branch p_test_tx_new_param_copy
+///////////////////////////////////////////////////////////////////////////////////////////////////////////
+p_test_tx_change_sleep:
+	setarg 1200000//100ms
+	call sleep
+	setarg 1200000//100ms
+	call sleep
+	setarg 1200000//100ms
+	call sleep
+	branch p_mouse_check_key_gpio
+
+
+p_test_ble_tx_on:
+	//call p_test_ble_bt_rx_off	//close rx
+	call p_set_sync_on
+	call p_set_freq_tx
+	//disable enable_white
+	call p_le_enable
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	fetch 1,mem_fcc_data
+	hstore 1,0x8908
+	branch p_tx_data
+
+p_test_ble_bt_tx_off:
+	branch p_shutdown_radio
+
+
+p_test_rx_start:	
+	fetcht 1,mem_fcc_ch
+	increase -1,temp
+	fetch 1,mem_fcc_btble
+	compare 0x01,pdata,0x01
+	call p_test_bt_rx_on,true
+	ncall p_test_ble_rx_on,true
+p_test_rx_loop:
+	call hci_rx_packet
+	fetch 7,mem_fcc_param
+	fetcht 7,mem_fcc_param_new
+	isub temp,null
+	branch p_test_rx_loop,zero
+	branch p_test_tx_new_param
+
+
+p_test_ble_rx_on:
+	call p_test_ble_bt_tx_off	//close tx
+	call p_set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	branch rf_rx_enable
+	
+p_test_ble_bt_rx_off:
+	disable encode_fec0
+	disable encode_fec2
+	disable decode_fec0
+	disable decode_fec2
+	disable enable_crc
+	disable encrypt
+	disable enable_white
+	branch p_shutdown_radio
+	
+p_test_bt_rx_on:
+	call p_test_ble_bt_tx_off	//close tx
+	call p_set_freq_rx
+	fetcht 1,mem_fcc_mod   //.....
+	and temp,7,radio_ctrl
+	branch start_receiver
+
+//tx_l2cap_type:
+
+p_test_bt_tx_on:
+	//call p_test_ble_bt_rx_off	//close rx
+	call p_set_sync_on
+	call p_set_freq_tx
+	disable enable_white
+	enable encode_fec0
+	enable is_tx
+	fetcht 1,mem_fcc_mod
+	copy temp,radio_ctrl
+	fetch 1,mem_fcc_data
+	hstore 1,0x8908
+	beq 0,p_test_tx_data	
+p_test_tx_carrier_loop:
+	arg 30,loopcnt
+	arg mem_pn9,contr
+p_pnloop_carrier:
+	ifetch 1,contr
+	inject mod,8
+	loop p_pnloop_carrier
+	call p_test_check_paramer_change
+	fetch 4,mem_fcc_param
+	fetcht 4,mem_fcc_param_new
+	isub temp,null
+	branch p_test_tx_carrier_loop,zero
+	call p_test_tx_change_sleep
+	branch p_test_tx_new_param_copy
+p_test_check_paramer_change:
+	call p_mouse_check_key_gpio
+	beq MOUSE_M_BUTTON,p_test_switch_mode
+	beq MOUSE_L_BUTTON,p_test_switch_frequency
+	rtn
+p_test_switch_frequency:
+	fetch 1,mem_fcc_ch_new
+	beq 79,p_frequency_set_46hz
+	beq 46,p_frequency_set_2hz
+	jam 79,mem_fcc_ch_new
+	rtn
+p_frequency_set_46hz:
+	jam 46,mem_fcc_ch_new
+	rtn
+p_frequency_set_2hz:
+	jam 2,mem_fcc_ch_new
+	rtn
+p_test_switch_mode:
+	fetch 1,mem_fcc_send_mode
+	beq 0,p_set_send_mode1
+	jam 0,mem_fcc_send_mode_new
+	rtn
+p_set_send_mode1:
+	jam 1,mem_fcc_send_mode_new
+	rtn
+
+	
+p_test_tx_data:
+	fetch 1,mem_fcc_hop
+	beq 1,p_tx_data_hopping
+	
+//p_test_tx_loop_jump:
+	//hjam 0x10,0x8074
+	//enable swfine
+	//arg 0x495,stop_watch
+p_tx_data:
+	fetch 1,mem_fcc_mod
+	beq 1,p_calculate_GFSK_modulation_length
+	beq 3,p_calculate_pai4_modulation_length
+	beq 7,p_calculate_pai8_modulation_length
+	rtn
+p_calculate_GFSK_modulation_length:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_gfsk_modulation_length_dh1
+	beq 0x78,p_calculate_gfsk_modulation_length_dh3
+	beq 0xf0,p_calculate_gfsk_modulation_length_dh5
+p_calculate_gfsk_modulation_length_dh1:
+	arg 55,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_gfsk_modulation_length_dh3:
+	arg 205,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_gfsk_modulation_length_dh5:
+	arg 355,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable	
+//call ice_break
+
+
+p_calculate_pai4_modulation_length:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_pai4_modulation_length_dh1
+	beq 0x78,p_calculate_pai4_modulation_length_dh3
+	beq 0xf0,p_calculate_pai4_modulation_length_dh5
+//call ice_break
+p_calculate_pai4_modulation_length_dh1:
+	arg 105,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai4_modulation_length_dh3:
+	arg 405,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai4_modulation_length_dh5:
+	arg 705,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai8_modulation_length:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_pai8_modulation_length_dh1
+	beq 0x78,p_calculate_pai8_modulation_length_dh3
+	beq 0xf0,p_calculate_pai8_modulation_length_dh5
+//call ice_break
+p_calculate_pai8_modulation_length_dh1:
+	arg 120,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai8_modulation_length_dh3:
+	arg 590,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai8_modulation_length_dh5:
+	arg 1000,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai4_modulation_length_hoping:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_pai4_modulation_length_dh1_hoping
+	beq 0x78,p_calculate_pai4_modulation_length_dh3_hoping
+	beq 0xf0,p_calculate_pai4_modulation_length_dh5_hoping
+//call ice_break
+p_calculate_pai4_modulation_length_dh1_hoping:
+	arg 105,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai4_modulation_length_dh3_hoping:
+	arg 405,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai4_modulation_length_dh5_hoping:
+	arg 705,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai8_modulation_length_hoping:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_pai8_modulation_length_dh1_hoping
+	beq 0x78,p_calculate_pai8_modulation_length_dh3_hoping
+	beq 0xf0,p_calculate_pai8_modulation_length_dh5_hoping
+//call ice_break
+p_calculate_pai8_modulation_length_dh1_hoping:
+	arg 120,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai8_modulation_length_dh3_hoping:
+	arg 590,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai8_modulation_length_dh5_hoping:
+	arg 1000,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_tx_data_hopping:
+	fetch 1,mem_fcc_mod
+	beq 1,p_calculate_GFSK_modulation_length_hoping
+	beq 3,p_calculate_pai4_modulation_length_hoping
+	beq 7,p_calculate_pai8_modulation_length_hoping
+	rtn
+p_calculate_GFSK_modulation_length_hoping:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_gfsk_modulation_length_dh1_hoping
+	beq 0x78,p_calculate_gfsk_modulation_length_dh3_hoping
+	beq 0xf0,p_calculate_gfsk_modulation_length_dh5_hoping
+//call ice_break
+p_calculate_gfsk_modulation_length_dh1_hoping:
+	arg 55,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_gfsk_modulation_length_dh3_hoping:
+	arg 205,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_gfsk_modulation_length_dh5_hoping:
+	arg 355,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_pnloop2:
+	ifetch 1,contr
+	inject mod,8
+	loop p_pnloop2
+	branch p_test_tx_off	//,timeout
+	call hci_rx_packet
+	fetch 7,mem_fcc_param
+	fetcht 7,mem_fcc_param_new
+	isub temp,null
+	branch p_tx_data,zero
+	call p_test_ble_bt_tx_off
+	branch p_test_tx_new_param
+
+p_test_tx_off:
+	//hjam 0,0x8074
+	call p_test_ble_bt_tx_off
+	call timer_check
+	arg 15,queue
+	setarg 12
+	call timer_init
+p_125_clk:
+	arg 15,queue
+	call timer_check
+	branch p_change_ch,blank
+	call hci_rx_packet
+	fetch 7,mem_fcc_param
+	fetcht 7,mem_fcc_param_new
+	isub temp,null
+	branch p_125_clk,zero
+	branch p_test_tx_new_param
+p_change_ch:
+	random pdata
+	store 1,mem_random_ch
+//call p_log_loop
+p_less_max:
+	fetch 1,mem_random_ch
+	sub pdata,0x50,null
+	branch p_rewrite_ch,positive
+	increase -80,pdata
+	store 1,mem_random_ch
+	branch p_less_max
+p_rewrite_ch:
+	fetch 1,mem_random_ch
+	beq 0,p_randomis0
+	beq 1,p_randomis0
+	store 1,mem_fcc_ch_new
+//call p_log_loop
+	branch p_test_tx_new_param
+p_randomis0:
+	jam 0x02,mem_fcc_ch_new
+//call p_log_loop
+	branch p_test_tx_new_param
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	//add temp,tx_freq_offset,rega			/* index to frequency */
+	add temp,1,rega			/* index to frequency */
+	call p_rf_write_freq
+	setarg param_pll_setup
+	call p_sleep
+	//tmp
+	//hjam 0x66,0x964
+	
+p_txon:
+
+	hjam 0x1,rfen_adc
+
+/*
+	hjam 0xa0,0x95c
+	hjam 0x84,0x95d
+	hjam 0x88,0x95e
+*/
+
+	hjam 0x3c,rfen_rx
+	hjam 0xe0,rfen_tx
+	hjam 0x12,0x96d			/*Max added, for best Pout*/
+	nop 10 /* wait LDOs to turn ON*/
+	hjam 0x01, rfen_mdm
+	hjam 0x3d, rfen_mdm
+	nop 10 /* wait tx blocks to turn ON*/
+	hjam 0xb7,rfen_sn
+	nop 10 /* wait tx lo buffer to turn ON*/
+	hjam 0x7d, rfen_mdm
+	//hjam 0x4a,0x895a
+	//hjam 0x26,0x895a
+	//hjam 0x80,0x895c
+	//hjam 0x70,0x895c
+	//pout ramp up
+
+
+	//hjam 0xff, 0x956   //hjam 0xce, 0x956 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down+5dbm
+	//hjam 0xc0, 0x956
+	//hjam 0xf0,0x956//0dbm
+	hjam 0xff,0x956//3dbm
+	nop 4
+
+	//can be deleted
+	hjam 0xd1, 0x955
+	nop 4
+	hjam 0xd2, 0x955
+	nop 4
+	hjam 0xd8, 0x955
+	nop 4
+
+	//hjam 0xdf, 0x955  //hjam 0xd7, 0x955 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down+5dbm
+	//hjam 0xd0, 0x955
+	//hjam 0xd8,0x955//0dbm
+	hjam 0xdf,0x955//3dbm
+	rtn
+	
+/*
+p_ch_log:
+	arg mem_log,pdata
+	store 2,mem_wptr
+	rtn
+p_log_loop:
+//copy pdata,temp
+	fetcht 1,mem_fcc_ch_new
+	fetch 2,mem_wptr
+	copy pdata,contw
+	istoret 1,contw
+	copy contw,pdata
+	store 2,mem_wptr
+	sub pdata,0x48ff ,null
+	call p_stop,zero
+	rtn
+p_stop:
+	call ice_break
+	rtn
+*/
+/*
+p_tostart:
+	jam 0x01,mem_fcc_ch_new
+	branch p_test_tx_new_param
+*/
+p_rf_write_freq:
+
+	setarg 2400
+	iadd rega,temp
+	fetch 1,mem_fcomp_mul
+	hjam 0x04,rf_pll_rstn
+	imul32 temp,pdata
+	fetcht 1,mem_fcomp_div
+	idiv temp
+	call p_wait_div_end
+	quotient rega			/* rega is FLOOR(FVCO/fcomp) */
+	remainder pdata		
+	lshift16 pdata,pdata
+	lshift4 pdata,pdata		/* pdata is frac * 2^20 */
+	idiv temp
+	call p_wait_div_end
+	quotient pdata		/* pdata is frac *2^20/fcomp */
+	lshift8 pdata,pdata
+	lshift pdata,pdata
+	ior rega,pdata
+	//increase 20,pdata
+	//setflip 0,pdata
+	hstore 4,rf_pll_intg
+
+	//tmp
+	//hjam 0x60,0x964
+	
+	hjam 0x44,rf_pll_rstn
+	//nop 500
+	hjam 0xc4,rf_pll_rstn
+	//nop 400
+	
+	/*
+	increase 1,pdata
+	nop 10
+	hstore 1,rf_pll_intg
+	nop 400
+	increase -1,pdata
+	nop 10
+	hstore 1,rf_pll_intg
+	*/
+	
+
+	rtn
+
+p_wait_div_end:	
+	rtn modone
+	branch p_wait_div_end
+pp_pn9:
+	arg 0xff,loopcnt
+ 	arg mem_pn9,contw
+  	setarg 0x1ff
+    	force 0,regb
+pp_pn9_loop:    
+    rshift3 pdata,rega
+    rshift rega,rega
+    ixor rega,rega
+    isolate1 0,rega
+    setflag true,9,pdata
+    rshift temp,temp
+    isolate1 0,pdata
+    setflag true,7,temp
+    rshift pdata,pdata
+    increase 1,regb
+    compare 0,regb,0x7
+    nbranch pp_pn9_loop,true
+    //copy temp,pdata
+    istoret 1,contw
+ //   inject mod,8
+    loop pp_pn9_loop
+    rtn
+
+	
+	/* set all unused gpio to output mode to save power */
+p_gpio:
+	hfetch 4,core_gpio_pu0
+	hfetcht 4,core_gpio_pd0
+	ior temp,pdata
+	pinvert
+	hfetcht 4,core_gpio_oe0
+	ior temp,pdata
+	hstore 4,core_gpio_oe0
+	rtn
+	
+p_pause_c51:
+	hjam 5,core_docd_ctrl
+	rtn
+
+p_assert:
+	branch p_assert
+
+p_loop:
+	branch p_loop
+
+p_le_enable:
+	enable le
+	hjam 7,rfen_ulp			/* enable ulp */
+	rtn
+p_set_freq_rx:
+		/* IF is +2MHz */
+	storet 1,mem_last_freq
+	add temp,rx_freq_offset,rega			/* index to frequency */
+	branch p_rf_write_freq
+
+/******************************************/
+/***********   ROM Start   ***************/
+/******************************************/
+
+org 0x2000		// start from rom address start
+start:
+	call lpmstate
+
+soft_reset:
+	bpatch patch00_0,mem_patch00
+	clear_stack
+	call spi_ncs_gpio_init  // 0xff disable spi ncs gpio init
+	call initialize_radio
+	call iicd_init_12m
+	call init_param
+	call l2cap_init
+	bpatch patch00_1,mem_patch00
+	call rfcomm_init
+	call init_lmp
+	call ui_init
+	call app_init
+	ncall load_chip_option,wake
+	bpatch patch00_2,mem_patch00
+	call app_lpm_init,wake
+	call publickey_init
+	call lpm_recover_clk,wake
+main_loop:	
+	bpatch patch00_3,mem_patch00
+	call sp_calc_sequence
+	call sp_calc_sequence_256
+	call sp_calc_sequence_256_check
+	call le_dispatch
+	bpatch patch00_4,mem_patch00
+	call idle_dispatch
+	call app_process_idle
+	call inquiry_dispatch
+	call inquiry_scan_dispatch
+	call page_scan_dispatch
+	call connection_dispatch
+	call lpm_dispatch
+	call g24_dispatch
+	branch main_loop
+
+connection_dispatch:
+	call connection_incontext
+	rtnmark0 mark_context
+	set0 mark_context,mark
+	call context_save
+	branch le_disable
+	
+connection_incontext:
+	bpatch patch00_5,mem_patch00
+	call context_search_insniff
+	nbranch connection_nosniff,zero
+	call context_load
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,le_conn_dispatch
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+connection_nosniff:
+	call context_get_next
+	copy loopcnt,null
+	rtn zero
+	call context_load
+	fetch 1,mem_state
+	bbit1 state_inpage,master_page
+	fetch 1,mem_mode
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+
+
+
+/**************************************/
+/**************idle dispatch*********/
+/**************************************/
+	
+idle_dispatch:
+	fetch 1,mem_hci_cmd
+	rtn blank
+	beq hci_cmd_inquiry,idle_inquiry
+	beq hci_cmd_inquiry_cancel,idle_inquiry_cancel
+	beq hci_cmd_remote_name_req,idle_remote_name_req
+	beq hci_cmd_create_conn,idle_create_conn
+	beq hci_cmd_le_create_conn,idle_le_create_conn
+	call context_search_conn_handle
+	rtn zero
+	call context_search_plap
+	rtn zero
+idle_exit:
+	jam 0,mem_hci_cmd
+	rtn
+
+idle_le_create_conn:
+	jam hci_cmd_le_create_conn,mem_cmd_le_create_conn
+	jam 0,mem_hci_cmd
+	rtn
+	
+idle_inquiry:
+	set1 mark_inquiry_on,mark
+	set0 mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	jam 31,mem_nfreq_index_inq
+	branch idle_exit
+
+idle_inquiry_cancel:
+	set0 mark_inquiry_on,mark
+	force 0,stop_watch
+	branch idle_exit
+
+idle_remote_name_req:
+	call context_search_plap
+	rtn zero
+	force LMP_NAME_REQ,temp
+	jam 5,mem_nameres_cnt
+	branch idle_start_page
+
+idle_create_conn:
+	bpatch patch00_6,mem_patch00
+idle_create_conn_device:
+	fetch 6,mem_hci_plap
+	branch idle_exit,blank
+	jam RECONNECT_HID,memui_reconnect_mode
+	//jam HS_INIT_CALL,mem_hs_mode //init as master
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	branch idle_create_conn_cont
+	
+idle_create_conn_cont:
+	force LMP_VERSION_REQ,temp
+idle_start_page:
+	bpatch patch00_7,mem_patch00
+	fetch 1,mem_page_mode
+	branch idle_page_mode_r0,blank
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	increase -1,pdata
+idle_page_mode_r0:
+	store 1,mem_npage
+	store 1,mem_npage_index
+	jam 31,mem_nfreq_index_page
+	set0 mark_page_trainb,mark
+	call context_new
+	nbranch idle_page_fail,zero
+	call get_free_amaddr
+	store 1,mem_amaddr
+	storet 1,mem_lmo_opcode2
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	bpatch patch01_0,mem_patch01
+	call timer_reinit
+	force 0,pdata
+	compare LMP_NAME_REQ,temp,0xff
+	nsetflag true,state_init_seq,pdata
+	set1 state_inpage,pdata
+	store 1,mem_state
+	jam BT_EVT_RECONN_STARTED,mem_fifo_temp
+	call ui_ipc_send_event
+	force 0,pdata
+	setflag true,smap_name_req,pdata
+	store 1,mem_state_map
+	setarg 0
+	set1 mode_master,pdata
+	store 1,mem_mode
+	enable master
+	call context_save
+	disable master
+	force page_length_timer,queue
+	fetch 2,mem_page_to
+	call timer_init
+	branch idle_exit
+idle_page_fail:
+	bpatch patch01_1,mem_patch01
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	compare LMP_NAME_REQ,temp,0xff
+	branch idle_name_fail,true
+	branch idle_exit
+idle_name_fail:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+	jam BT_EVT_RECONN_FAILED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch idle_exit
+	
+
+/******************************************/
+/**************  Inquiry  *****************/
+/******************************************/
+
+inquiry_dispatch:
+	rtnmark0 mark_inquiry_on
+	force inquiry_length_timer,queue
+	call timer_check
+	nsetflag blank,mark_inquiry_on,mark
+	nbranch inquiry_start,blank
+	rtn
+	
+
+
+inquiry_start:
+	bpatch patch01_2,mem_patch01
+	fetcht 2,mem_inq_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call afh_clear
+	force 0,freq_mode
+inquiry_restart:
+	rtn timeout
+	set0 mark_fhs_already_good,mark
+	set0 mark_fhs_eir,mark
+inquiry_rx_restart:
+	add clkn_bt,1,bt_clk
+	isolate1 mark_inquiry_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch inquiry_receive,true
+
+inquiry_transmit:
+	bpatch patch01_3,mem_patch01
+	fetch 1,mem_inquiry_transmit
+	increase 1,pdata
+	store 1,mem_inquiry_transmit
+	call fetch_giac
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call inquiry_check_train
+	branch inquiry_restart
+
+inquiry_check_train:
+	bpatch patch01_4,mem_patch01
+	fetch 1,mem_nfreq_index_inq
+	increase -1,pdata
+	store 1,mem_nfreq_index_inq
+	rtn positive  /* if it's time to incremnt N */
+	jam 31,mem_nfreq_index_inq
+	fetch 1,mem_ninqy_index
+	increase -1,pdata
+	store 1,mem_ninqy_index
+	rtn positive      /* if it's time to change train */
+	setflip mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	rtn
+
+inquiry_receive:
+	bpatch patch01_5,mem_patch01
+	call fetch_giac
+	call rx_radio_freq
+	call fetch_diac
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt
+	branch inquiry_sync,sync   /* try look for id packet again if not found */
+	call inquiry_check_train
+	branch inquiry_rx_restart
+inquiry_sync:
+	bpatch patch01_6,mem_patch01
+	call save_rssi
+	call scan_mode_whiten
+	call receive_packet_whitened
+	set0 mark_rxbuf_inuse,mark
+	rtnmark0 mark_fhs_already_good
+inquiry_receive_rtn:
+	bpatch patch01_7,mem_patch01
+inquiry_receive_eir_rtn:
+	fetch 1,mem_inquiry_rcv
+	increase 1,pdata
+	store 1,mem_inquiry_rcv
+	rtn
+		
+/******************************************/
+/**************  Master Dispatch  *************/
+/******************************************/
+
+
+
+master_page:
+	bpatch patch02_0,mem_patch02
+	enable master
+	enable clknt
+	fetch 2,mem_page_interval
+	branch master_page_no_interval,blank
+	force page_interval_timer,queue
+	call timer_check               
+	nrtn blank
+master_page_no_interval:
+	bpatch patch02_1,mem_patch02
+	fetcht 2,mem_page_window
+	force 40,queue
+	call sniff_check_window
+	branch page_exit,user
+	force page_length_timer,queue
+	call timer_check
+	nbranch page_start,blank
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_npage_timeout
+	branch master_page_timeout
+master_npage_timeout:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+master_page_timeout:
+	bpatch patch02_2,mem_patch02
+	jam 0,mem_state
+	call init_lmp_work
+	jam 0,memui_reconnect_mode
+	jam BT_EVT_RECONN_PAGE_TIMEOUT,mem_fifo_temp
+	call ui_ipc_send_event	
+	branch page_exit
+
+page_start:
+	bpatch patch02_3,mem_patch02
+	force 0,timeup
+	until clkn_rt,meet
+	fetch 1,mem_page_clk
+	increase -1,pdata
+	ixor clkn_bt,pdata
+	compare 0,pdata,3
+	nbranch page_start,true
+	deposit am_addr
+	store 1,mem_fhs_am_addr
+	force 0,N_tx_slot
+	force 0,freq_mode
+
+page_restart:
+	bpatch patch02_4,mem_patch02
+	branch page_exit,timeout
+	call fetch_page_bt_adr
+	arg param_rf_setup, timeup
+	until clkn_rt,meet         /* wait for the start_receiver time against native real clk  */
+page_rx_restart:
+	bpatch patch02_5,mem_patch02
+	fetch 4,mem_page_clk    /* deposit clk_estimate */
+	iforce bt_clk
+	increase 1,pdata
+	store 4,mem_page_clk
+	isolate1 mark_page_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch page_receive,true
+	fetch 1, mem_page_transmit
+	increase 1,pdata
+	store 1, mem_page_transmit
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call page_check_train
+	branch page_restart	
+page_exit:
+	bpatch patch02_6,mem_patch02
+	disable master
+	fetch 2,mem_page_interval      
+	rtn blank
+	force page_interval_timer,queue
+	branch timer_init              
+
+page_check_train:
+	bpatch patch02_7,mem_patch02
+	fetch 1,mem_nfreq_index_page
+	increase -1,pdata
+	store 1,mem_nfreq_index_page
+	rtn positive
+	jam 31,mem_nfreq_index_page
+	fetch 1,mem_npage_index
+	increase -1,pdata                 /* increment N */
+	store 1,mem_npage_index
+	rtn positive      			/* if it's time to change train */
+	setflip mark_page_trainb,mark             /* change train */
+	fetch 1,mem_npage
+	store 1,mem_npage_index
+	rtn
+	
+page_receive:
+	bpatch patch03_0,mem_patch03
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* try id look for id packet again */
+	branch page_sync,sync         /* restart if didn't receive anything */
+	call page_check_train
+	branch page_rx_restart
+page_sync:
+	call end_of_packet
+	fetch 1, mem_page_rcv
+	increase 1,pdata
+	store 1, mem_page_rcv
+	force 0,stop_watch
+	fetch 4,mem_page_clk
+page_send_fhs:
+	bpatch patch03_1,mem_patch03
+	call rf_setup_time_master_slot
+	call fetch_page_bt_adr
+	increase 1,N_tx_slot
+page_send_fhs_continue:
+	and_into 0x1fd,bt_clk
+	and_into 0x1fc,freq_mode               /* master response = x00, even_train settin must remain the same */
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	force 0,am_addr
+	force type_fhs,type
+	call scan_mode_whiten
+	call transmit_packet_whitened
+page_wait_fhs_reply:
+	bpatch patch03_2,mem_patch03
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	and_into 0x1fc,freq_mode               /* master response sequence = x00, even train setting must be preserved */
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* look for that reply */
+	call end_of_packet,sync              /* id reply is enough */
+	branch page_wait_fhs_reply_ok,sync           /* no reply then send fhs again */
+	fetch 1,mem_fhs_wait_counter
+	branch page_restart,blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	branch page_send_fhs
+	
+page_wait_fhs_reply_ok:
+	bpatch patch03_3,mem_patch03
+	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+master_newconn_loop:
+	call master_newconn_once
+	branch newconn_poll_responded,sync
+	call new_conn_timeout
+	nbranch master_newconn_loop,blank
+	branch page_restart
+
+newconn_poll_responded:
+	bpatch patch03_4,mem_patch03
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	call newconn_init
+	disable master
+	rtn
+	
+
+master_dispatch:
+	bpatch patch03_5,mem_patch03
+	enable master
+	enable clknt
+	call role_switch_master
+	rtn user
+	call check_bt_disabled
+	call rf_setup_time_master_slot
+	add clkn_bt,1,bt_clk
+	call fetch_self_bt_adr
+	force 0x03,freq_mode
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	call transmit_packet
+master_loop:
+	bpatch patch03_6,mem_patch03
+	call parse_lmp
+	call master_conn_recv_packet
+	nbranch master_notmatch,match
+	call supervision_flush
+	call parse_l2cap
+	fetch 1,mem_master_rcvcnt
+	increase 1,pdata
+	store 1,mem_master_rcvcnt
+master_notmatch:
+	bpatch patch03_7,mem_patch03
+	call scheduler_process
+	call check_master_disconnect
+	nrtn master					/* disconnected */
+	call check_attempt
+	nbranch master_attempt,blank
+master_exit:
+	disable master
+	rtn
+
+master_attempt:
+	call prepare_tx
+	call master_conn_send_packet
+	branch master_loop
+
+
+check_master_disconnect:
+	branch check_master_match,match
+	call supervision_update
+	branch master_disconnect,positive
+check_master_match:
+	call check_disconnect_timeout
+	nbranch master_disconnect,user
+	fetch 1,mem_state_map
+	rtnbit0 smap_name_req
+	rtnbit1 smap_name_res
+	fetch 1,mem_op
+	rtnbit1 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	fetch 1,mem_nameres_cnt
+	increase -1,pdata
+	store 1,mem_nameres_cnt
+	nrtn blank
+	branch lmp_disconnect
+
+master_disconnect:
+	bpatch patch04_0,mem_patch04
+	call quit_connection
+	disable master
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_name_disconnect
+	rtn
+	
+master_name_disconnect:
+	fetch 1,mem_state_map
+	rtnbit1 smap_name_res
+master_name_error:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	branch memset0
+	
+check_disconnect_timeout:
+	bpatch patch04_1,mem_patch04
+	enable user
+	fetch 1,mem_op
+	rtnbit0 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	branch disable_user
+
+conn_timer_expired:
+	fetch 1,mem_conn_timer
+	increase -1,pdata
+	store 1,mem_conn_timer
+	rtn
+
+linkkey_ready:
+	bpatch patch04_2,mem_patch04
+	fetch 1,mem_state
+	bbit1 state_linkkey,linkkey_set
+	fetch 1,mem_pairing_auth
+	branch linkkey_set,blank
+	jam DEFALT_PAIRING_AUTH,mem_pairing_auth
+	jam BT_EVT_LINKKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch linkkey_set
+linkkey_set:
+	bpatch patch04_3,mem_patch04
+	call context_traverse_linkkey
+	fetch 1,mem_state
+	set1 state_linkkey,pdata
+	store 1,mem_state
+	jam 1,mem_link_key_exists
+	fetch 1,mem_conn_sm
+	bne CONN_SM_PAIRING,linkkey_set_continue
+linkkey_set_continue:
+	rtn
+
+generate_linkkey_continue:
+	jam PAIRING_AUTH,mem_pairing_auth
+clear_linkstate:
+	fetch 1,mem_state
+	set0 state_linkkey,pdata
+	store 1,mem_state
+	rtn
+	
+
+	/* rtn user if switch */
+role_switch_check:
+	bpatch patch04_4,mem_patch04
+	disable user
+	fetch 2,mem_tsniff
+	arg 0xffff,temp
+	isub temp,null
+	nrtn zero
+	fetch 4,mem_sniff_anchor
+	branch role_switch_clkn,clknt
+	isub clke_bt,pdata
+	branch role_switch_clke
+role_switch_clkn:
+	isub clkn_bt,pdata
+role_switch_clke:
+	sub pdata,4,null
+	nrtn positive
+	force 0,pdata
+	store 2,mem_tsniff
+	branch enable_user
+
+
+	/* pdata: switch instant, set tsniff=0 for special sniff */	
+role_switch_prepare:
+	copy pdata,temp
+	bpatch patch04_5,mem_patch04
+	storet 4,mem_sniff_anchor
+role_switch_prepare0:
+	jam SWITCH_FLAG_ACCEPT,mem_switch_flag
+	setarg 0xffff
+	store 2,mem_tsniff
+	jam 1,mem_sniff_attempt
+	rtn
+
+
+role_switch_master:
+	bpatch patch04_6,mem_patch04
+	call role_switch_check
+	nrtn user
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,roles_replyto_fhs
+	call new_conn_timeout
+	nbranch roles_waitfhs_loop,blank
+role_switch_fail_master:
+	bpatch patch04_7,mem_patch04
+	disable user
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	enable clknt
+	enable master
+	jam BT_EVT_SWITCH_FAIL_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+roles_replyto_fhs:
+	bpatch patch05_0,mem_patch05
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	disable clknt
+	disable master
+	call apply_switch_clke
+	call prepare_newconn
+roles_newconns_loop:
+	bpatch patch05_1,mem_patch05
+	call slave_newconn_once
+	branch roles_newconns_responded,match
+	call new_conn_timeout
+	nbranch roles_newconns_loop,blank
+	branch role_switch_fail_master
+roles_newconns_responded:
+	fetch 1,mem_mode
+	set0 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	call calc_clke_offset
+	enable user
+	jam BT_EVT_SWITCH_SUCCESS_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+
+
+context_load:
+	bpatch patch05_2,mem_patch05
+	set1 mark_context,mark
+	deposit rega
+	store 2,mem_context_ptr
+	force context_size,loopcnt
+	arg mem_le_state,contw
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	copy rega,contr
+	bbit1 mode_le,memcpy
+	arg mem_state,contw
+	call memcpy
+	disable attempt
+	fetch 1,mem_amaddr
+	iforce am_addr
+	jam 1,mem_current_sniff_attempt
+	branch context_load_master,master
+	jam 1,mem_current_sniff_attempt
+context_load_master:
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	fetch 1,mem_sniff_timeout
+	store 1,mem_current_sniff_timeout
+	rtn
+	
+context_save:
+	bpatch patch05_3,mem_patch05
+	fetch 2,mem_context_ptr
+	iforce contw
+	force context_size,loopcnt
+	arg mem_le_state,contr
+	branch memcpy,le
+	arg mem_state,contr
+	branch memcpy
+
+	
+
+context_get_next:
+	arg context_num,loopcnt
+	fetcht 1,mem_current_context
+context_get_next_loop:
+	increase 1,temp
+	compare context_num,temp,0xff
+	nbranch context_get_next_cont,true
+	arg 0,temp
+context_get_next_cont:
+	storet 1,mem_current_context
+	mul32 temp,context_size,pdata
+	arg mem_context,rega
+	iadd rega,rega
+	ifetch 1,rega
+	bbit1 state_insniff,context_get_next_sniff
+	rtnbit1 state_inconn
+	rtnbit1 state_inpage
+context_get_next_sniff:
+	loop context_get_next_loop
+	rtn
+	
+context_new:
+	bpatch patch05_4,mem_patch05
+	arg context_search_empty,regc
+	call context_search
+	nrtn zero					// all occupied
+	deposit rega
+	store 2,mem_context_ptr
+	force 0,null
+	rtn
+	
+	//return zero if anyone's wack is 1.
+	//return nzero if all wack is 0
+context_check_all_wack:
+	call check_esco_amaddr
+	branch context_check_esco_wack,true
+	fetch 2,mem_context_ptr
+	add pdata,coffset_arq,contw
+	fetch 1,mem_arq
+	istore 1,contw
+	arg context_check_a_wack,regc
+	branch context_search
+
+context_check_esco_wack:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	branch context_esco_wack,true
+	force 1,null
+	rtn
+context_esco_wack:
+	force 0,null
+	rtn
+	
+	//rtn nzero if idle(no conn)
+context_check_idle:
+	arg context_check_inconn,regc
+	branch context_search
+	
+context_traverse_linkkey:
+	fetcht 2,mem_context_ptr
+	arg context_traverse_clearkey,regc
+	branch context_search
+	
+	
+	/* return zero if conn handle is found */
+context_search_conn_handle:
+	fetcht 1,mem_hci_conn_handle
+context_search_conn_handle2:
+	arg context_search_handle,regc
+	branch context_search
+	/* return zero if plap is found */
+context_search_plap:
+	bpatch patch05_5,mem_patch05
+	fetcht 6,mem_hci_plap
+context_search_plap2:
+	arg context_search_lap,regc
+	branch context_search
+	/* return zero if sniff anchor is meet and rega pointers to context */
+context_search_insniff:
+	arg context_search_sniff,regc
+	branch context_search
+	/* return zero if sniff window is in content with current transaction */
+context_search_sniff_window:
+	arg context_search_window,regc
+context_search:
+	bpatch patch05_6,mem_patch05
+	arg mem_context,rega
+	arg context_num,loopcnt
+context_search_loop:
+	ifetch 1,rega
+	copy regc,pc
+context_search_next:
+	increase context_size,rega
+	loop context_search_loop
+	force 1,null
+	rtn
+
+context_search_empty:
+	bbit1 state_inconn,context_search_next
+	bbit1 state_inpage,context_search_next
+	force 0,null
+	rtn
+	
+context_search_lap:
+	bbit1 state_inpage,context_search_lap_cont
+	bbit0 state_inconn,context_search_next
+context_search_lap_cont:
+	add rega,coffset_plap,contr
+	ifetch 6,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_handle:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_conn_handle,contr
+	ifetch 1,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_sniff:
+	bbit0 state_insniff,context_search_next
+context_search_sniff_loop:
+	call context_get_anchor
+	call sign_pdata_temp
+	isub temp,pdata
+	increase 1,pdata
+	branch context_search_sniff_miss,positive
+	copy contr,regb
+	store 9,mem_temp
+	fetch 1,mem_le_sc_calc
+	nbranch context_search_sniff_sc,blank
+	fetch 9,mem_temp
+	copy regb,contr
+	increase 5,pdata  
+	branch context_search_meet1
+context_search_sniff_sc:
+	fetch 9,mem_temp
+	copy regb,contr	
+	increase 20,pdata  
+context_search_meet1:
+	nbranch context_search_next,positive
+context_search_meet:
+	copy temp,bt_clk
+	call context_next_anchor
+	force 0,null
+	rtn
+	
+	
+context_search_sniff_miss:
+	iforce regb
+	add rega,coffset_tsniff,contr
+	ifetch 2,contr
+	branch context_search_meet,blank
+	call context_next_anchor
+	branch context_search_sniff_loop
+
+sign_pdata_temp:
+	rshift16 pdata,timeup    
+	rshift8 timeup,timeup    
+	branch sign_pdata_temp_p0,zero    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	nrtn zero    
+	set1 28,temp    
+	rtn
+sign_pdata_temp_p0:    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	set1 28,pdata    
+	rtn
+
+context_check_inconn:
+	bbit0 state_inconn,context_search_next
+	force 0,null 				// found
+	rtn
+	
+context_check_a_wack:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	add rega,coffset_arq,contr
+	ifetch 1,contr
+	bbit0 wack,context_search_next
+	force 0,null 				// found
+	rtn
+
+context_get_anchor:
+	add rega,coffset_mode,contr
+	ifetcht 1,contr
+	deposit clkn_bt
+	isolate1 mode_master,temp
+	add rega,coffset_sniff_anchor,contr
+	ifetcht 4,contr
+	rtn true
+	add rega,coffset_clk_offset,contr
+	ifetch 6,contr
+	call calc_clke2
+	deposit clke_bt
+	rtn
+
+context_next_anchor:
+	add rega,coffset_tsniff,contr
+	add rega,coffset_sniff_anchor,contw
+	ifetch 2,contr
+	iadd temp,timeup			/* wrap to 28 bits */
+	deposit timeup
+	istore 4,contw
+	branch le_context_nexthop
+	
+
+context_search_window:
+	bbit0 state_insniff,context_search_next
+	call context_get_anchor
+	iadd stop_watch,pdata
+	iadd stop_watch,pdata
+	iadd queue,pdata
+	isub temp,null
+	nbranch context_search_next,positive
+	force 0,null
+	rtn
+
+context_traverse_clearkey:
+	bbit0 state_inconn,context_search_next
+	deposit temp
+	isub rega,null
+	branch context_search_next,null
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	ifetch 1,rega
+	set0 state_linkkey,pdata
+	istore 1,rega
+	branch context_search_next
+
+	
+master_conn_send_packet:
+	bpatch patch05_7,mem_patch05
+	call rf_setup_time_master_slot
+master_send_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	branch transmit_packet
+
+master_conn_recv_packet:
+	bpatch patch06_0,mem_patch06
+	call rf_setup_time_slave_slot
+master_recv_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	call start_rx_native	/* start listening at start_rx time */
+	call start_receiver
+master_rx_conn_finish_packet:
+	call wait_access_clkn_rt	/* master use native clock */
+	nrtn sync
+	call save_rssi
+	branch receive_packet
+	
+	
+
+master_newconn_once:
+	bpatch patch06_1,mem_patch06
+	fetch 1,mem_fhs_am_addr
+	iforce am_addr			//review
+	force type_poll,type
+	call master_conn_send_packet
+	branch master_conn_recv_packet
+
+
+
+
+
+
+/******************************************/
+/************* Inquiry Scan ***************/
+/******************************************/
+
+inquiry_scan_dispatch:
+	fetch 1,mem_scan_mode
+	rtnbit0 inq_scan_mode
+	force iscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_iscan_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call inquiry_scan_start
+	force iscan_interval_timer,queue
+	fetch 2,mem_iscan_interval
+	nbranch timer_init,sync
+	random pdata				/* inquiry scan backoff */
+	iand mask3ff,pdata
+	branch timer_init
+	
+
+inquiry_scan_start:
+	bpatch patch06_2,mem_patch06
+	jam 0,mem_fhs_am_addr
+	disable clknt
+	disable attempt
+	call afh_clear
+	and clkn_bt,0x1fc,bt_clk      /* freeze the clock, set bit[1] 0, this is version 1.1 */
+	force 0x01,freq_mode     /* slave in inquiry scan, kind of same as inquriy_response, this is version 1.1 */
+	call fetch_giac
+	call rx_radio_freq
+	setflip mark_inquiry_state,mark
+	fetch 1,mem_inquiryscan_waitcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_waitcnt
+	call fetch_diac
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_forever	/* until there is timeout, or matched (true) */
+	nrtn sync
+	bpatch patch06_3,mem_patch06
+	force 0,stop_watch
+	call shutdown_radio	/* must have heard */
+	fetch 1,mem_inquiryscan_rcvcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_rcvcnt
+	call fetch_giac
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call send_access_word
+	force type_fhs,type
+	force 0,am_addr                       /* put 0 into am_addr field for fhs */
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	call send_eir
+	and_into 0x1fd,bt_clk                 /* put clk(1) back to 0 */
+	increase 1,N_tx_slot
+	rtn
+
+send_eir:
+	bpatch patch06_4,mem_patch06
+	fetch 1,mem_eir_enable
+	rtn blank
+	arg mem_eir,contw
+	fetch 1,mem_local_name_length
+	copy pdata,loopcnt
+	increase 1,pdata
+	istore 1,contw	
+	copy contw,temp
+	increase 1,pdata
+	store 2,mem_tx_len	
+	copy temp,contw
+	setarg 0x09  //type:name
+	istore 1,contw		
+	arg  mem_local_name,contr
+	call memcpy       //name
+
+	arg mem_all_uuid_128bits,regc
+	arg 4,loopcnt
+	call get_all_uuid
+	arg mem_all_uuid_16bits,regc
+	arg 1,loopcnt
+	call get_all_uuid
+
+	force type_dm3,type		/* DM3 */
+	jam 2,mem_tx_lch
+	setarg mem_eir
+	store 2,mem_txptr
+	call rf_setup_time_slave_slot
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	call send_access_word
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	rtn
+
+
+get_all_uuid:
+	copy contw,temp
+	copy regc,contr
+	ifetch 1,contr
+	rtn blank
+lshift_loop:
+	lshift pdata,pdata
+	loop lshift_loop
+	copy pdata,rega
+	increase 2,pdata
+	copy pdata,queue
+	fetch 2,mem_tx_len
+	iadd queue,pdata
+	store 2,mem_tx_len
+	copy temp,contw
+	copy rega,pdata
+	increase 1,pdata
+	istore 1,contw
+	copy regc,contr
+	ifetch 1,contr
+	ifetch 1,contr	//fetch type
+	istore 1,contw
+	copy rega,loopcnt
+	branch memcpy  //copy uuid
+	
+/******************************************/
+/******** Slave dispatch ***********/
+/******************************************/
+
+page_scan_dispatch:	
+	fetch 1,mem_scan_mode
+	rtnbit0 page_scan_mode
+	force pscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_pscan_window
+	force 40,queue
+	call sniff_check_window
+	rtn user
+	force 0,am_addr
+	jam param_pagerespto,mem_fhs_wait_counter
+	set0 mark_fhs_already_good,mark
+	call page_scan_start
+	force pscan_interval_timer,queue
+	fetch 2,mem_pscan_interval
+	branch timer_init
+	
+
+page_scan_start:
+	bpatch patch06_5,mem_patch06
+	disable clknt
+	call afh_clear
+	fetch 1,mem_pagescan_waitcnt
+	increase 1,pdata
+	store 1,mem_pagescan_waitcnt
+	force 0,N_tx_slot
+	call fetch_self_bt_adr
+	add clkn_bt,1,bt_clk      /* freeze the clock on native clock until scan window is up */
+	force 0x02, freq_mode     /* slave in inquiry and page, not response */
+	bpatch patch06_6,mem_patch06
+	call rx_radio_freq
+	call start_receiver	/* wait for that id packet from master */
+	call wait_access_forever
+	nrtn sync                          /* pscan window timeout occured, back to dispatch */
+	call shutdown_radio	/* got the id packet */
+	fetch 1,mem_pagescan_rcvcnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvcnt
+	force 0,stop_watch
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+	force 0,am_addr
+	arg param_rf_setup, timeup
+	until clke_rt,meet
+	or_into 0x03,clke_bt
+	and_into 0x1fd,bt_clk
+page_scan_wait_fhs_restart:
+	bpatch patch06_7,mem_patch06
+	increase 1,N_tx_slot
+	call rx_radio_freq
+	call start_receiver
+	call wait_access_mhalfbnd
+	nbranch page_scan_wait_fhs_again,sync	/* go back if didn't find access code */
+	call scan_mode_whiten
+	call receive_packet_whitened
+	bmark1 mark_fhs_already_good,page_scan_reply_to_fhs
+page_scan_wait_fhs_again:
+	bpatch patch07_0,mem_patch07
+	fetch 1,mem_fhs_wait_counter
+	rtn blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	call rf_setup_time_master_slot	/* set up expiration time */
+	branch page_scan_wait_fhs_restart
+
+
+page_scan_reply_to_fhs:
+	bpatch patch07_1,mem_patch07
+	set0 1,clke_bt
+	set1 0,clke_bt
+	fetch 1,mem_pagescan_rcvfhscnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvfhscnt
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+slave_apply_clke_bt:
+	compare 0x03,clke_bt,0x03
+	branch slave_apply_clke_bt_now,true
+	until null,mhalfbnd
+	branch slave_apply_clke_bt
+slave_apply_clke_bt_now:
+	fetch 4,mem_clke_bt
+	or_into 0x03,pdata
+	icopy clke_bt
+
+start_slave_connection:
+	bpatch patch07_2,mem_patch07
+	fetch 6,extm_lap
+	store 6,mem_plap
+	call prepare_newconn
+slave_newconn_loop:
+	call slave_newconn_once
+	branch sconn_successful,match     /* we were talked to */
+	call new_conn_timeout
+	nbranch slave_newconn_loop,blank
+	rtn
+
+	
+sconn_successful:
+	bpatch patch07_3,mem_patch07
+	call newconn_init
+	call context_new
+	nrtn zero
+	jam 0,mem_mode
+	call calc_clke_offset
+	branch context_save
+
+
+
+
+slave_dispatch:
+	bpatch patch07_4,mem_patch07
+	call calc_clke
+	call role_switch_slave
+	rtn user
+slave_loop:
+	bpatch patch07_5,mem_patch07
+	call check_bt_disabled
+	call scheduler_process
+	call slave_conn_recv_packet	/* go listen for a packet */
+	nbranch slave_notmatch,match
+	call supervision_flush
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call slave_conn_send_packet
+	call parse_l2cap
+	call parse_lmp
+	fetch 1,mem_slave_rcvcnt
+	increase 1,pdata
+	store 1,mem_slave_rcvcnt
+	call calc_clke_offset
+slave_notmatch:
+	bpatch patch07_6,mem_patch07
+	call lpm_set_mult
+	call supervision_update
+	branch slave_disconnect,positive
+	call check_disconnect_timeout
+	nbranch slave_disconnect,user
+	call check_attempt
+	nbranch slave_loop,blank
+	rtn
+
+slave_disconnect:
+	bpatch patch07_7,mem_patch07
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	call quit_connection
+	set0 mark_testmode,mark
+	call test_enable_white
+	fetch 1,mem_state
+	rtn
+
+
+role_switch_slave:
+	bpatch patch08_0,mem_patch08
+	call role_switch_check
+	nrtn user
+	copy am_addr,temp
+	call get_free_amaddr
+	store 1,mem_fhs_am_addr
+	copy temp,am_addr
+	jam param_newconnto,mem_newconnto_counter
+roles_sendfhs_loop:
+	bpatch patch08_1,mem_patch08
+	call rf_setup_time_master_slot
+	force type_fhs,type
+	call slave_send_access
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call transmit_packet
+	call rf_setup_time_slave_slot
+	enable user3
+	call slave_receive_access
+	branch roles_got_fhs_reply,sync
+	call shutdown_radio
+	call new_conn_timeout
+	nbranch roles_sendfhs_loop,blank
+	rtnmark0 mark_accept_switch
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	rtn
+roles_got_fhs_reply:
+	enable clknt
+	call prepare_newconn
+	call afh_clear
+roles_newconn_loop:
+	bpatch patch08_2,mem_patch08
+	call master_newconn_once
+	branch roles_newconn_responded,sync
+	call new_conn_timeout
+	nbranch roles_newconn_loop,blank
+	disable clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+roles_newconn_responded:
+	enable master
+	bmark0 mark_accept_switch,roles_newconn_nolmp
+	set0 mark_accept_switch,mark
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_HOST_CONNECTION_REQ,mem_lmi_opcode2
+	call tid_set_reply
+roles_newconn_nolmp:
+	deposit am_addr
+	store 1,mem_amaddr
+	force 0,pdata
+	store 6,mem_clk_offset
+	fetch 1,mem_mode
+	set1 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	disable master
+	enable user
+	rtn
+
+	
+
+init_rx_packet_flags:
+	bpatch patch08_3,mem_patch08
+	disable match
+	set0 mark_loopback,mark
+	set0 mark_am_addr_broadcast,mark          /* initialize slave flags */
+	set0 mark_longpacket,mark
+	set0 mark_old_packet,mark
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+	rtn
+
+prepare_newconn:
+	bpatch patch08_4,mem_patch08
+	jam param_newconnto,mem_newconnto_counter
+	jam param_newconn_arq,mem_arq
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	rtn clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+
+newconn_init:
+	bpatch patch08_5,mem_patch08
+	call init_lmp_reinit
+	call new_conn_handle
+	store 1,mem_conn_handle
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	setarg param_supervision_to
+	store 2,mem_supervision_to
+	fetch 1,mem_state
+	set1 state_inconn,pdata
+	store 1,mem_state
+	jam 0,mem_op
+	jam 0,mem_state_map
+	jam 0,mem_lpm_current_mult
+	branch supervision_flush
+	
+
+clear_linkkey:
+	bpatch patch08_6,mem_patch08
+	force 0,pdata
+	store 8,mem_link_key
+	istore 8,contw
+	call clear_linkstate
+	branch context_traverse_linkkey
+	
+new_conn_timeout:
+	fetch 1,mem_newconnto_counter
+	increase -1,pdata
+	store 1,mem_newconnto_counter
+	rtn
+
+new_conn_handle:
+	fetch 1,mem_handle_num
+	increase 1,pdata
+	store 1,mem_handle_num
+	rtn
+
+
+quit_connection:
+	bpatch patch08_7,mem_patch08
+	fetch 1,mem_hci_cmd
+	beq hci_cmd_remote_name_req,quit_connection_name
+	fetch 1,mem_lmp_to_send
+	bne LMP_NAME_REQ,quit_connection_cont
+quit_connection_name:
+	call cmd_check_plap
+	nbranch quit_connection_cont,zero
+	call master_name_error
+	jam 0,mem_hci_cmd
+quit_connection_cont:
+	bpatch patch09_0,mem_patch09
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+	call sp_initialize
+	fetch 1,mem_state
+	set0 state_inconn
+	store 1,mem_state
+	jam 0,memui_reconnect_mode
+
+	fetch 1,mem_state_map
+	compare 0x0,pdata,0xc0
+	branch quit_connection_not_clear_mark,true
+	set0 mark_rxbuf_inuse,mark
+quit_connection_not_clear_mark:
+	fetch 1,mem_arq
+	bbit0 wack,quit_connection_not_clear_tx
+quit_connection_not_clear_tx:
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap
+	set0 mark_tx_l2cap,mark
+	rtn
+
+slave_newconn_once:
+	bpatch patch09_1,mem_patch09
+	fetch 1,extm_newconn_am_addr
+	rtn blank     
+	icopy am_addr
+	call slave_conn_recv_packet
+	nrtn match
+	force type_null,type
+	call slave_conn_send_packet
+	deposit am_addr
+	store 1,mem_amaddr                 /* now the new am_addr is official */
+	force 0,pdata
+	store 1,extm_newconn_am_addr
+	rtn
+
+
+/******************************************/
+/********  Time consuming task  ***********/
+/******************************************/
+prepare_tx:
+	bpatch patch09_2,mem_patch09
+	fetch 1,mem_state
+	bbit0 state_insco,prepare_tx_not_sco
+	force type_hv3,type
+	bmark0 mark_esco,prepare_tx_not_esco
+	call check_esco_amaddr
+	nbranch prepare_tx_not_sco,true
+	branch prepare_tx_not_sco,attempt	
+	call set_wait_ack					/* send esco only at the first attempt */
+	setarg 2		/* esco only has 1 retry */
+	store 2,mem_retransmission_cnt
+	rtn
+prepare_tx_not_esco:
+	nrtn attempt						/* send sco only at the first attempt */
+prepare_tx_not_sco:
+	bpatch patch09_3,mem_patch09
+	call context_check_all_wack			 //abandon mark_retransmit, use context_check_all_wack instead.
+	nbranch prepare_tx_no_retransmit,zero
+	fetch 1,mem_arq
+	bbit0 wack,prepare_tx_pollnull		/* other wack, tx buffer in use, but not me */
+prepare_tx_retransmit:
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+	fetch 2,mem_retransmission_cnt
+	increase -1,pdata
+	store 2,mem_retransmission_cnt
+	branch prepare_tx_nomore_retransmit,blank
+	fetch 1,mem_last_type
+	iforce type
+	rtn
+
+prepare_tx_nomore_retransmit:
+	bpatch patch09_4,mem_patch09
+	call clear_got_tx
+prepare_tx_no_retransmit:
+	call check_esco_amaddr
+	branch prepare_tx_pollnull,true
+	call send_lmp
+	branch prepare_tx_sendlmp,user
+	fetch 1,mem_op
+	bbit1 op_txl2cap,prepare_tx_sendl2cap
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+prepare_tx_pollnull:
+	force type_poll,type				/* POLL for master */
+	rtn master
+	force type_null,type				/* default is NULL */
+	rtn
+prepare_tx_loopback:
+	bpatch patch09_5,mem_patch09
+	fetch 1,mem_rx_type
+	iforce type
+	rtnne 1
+	force type_null,type
+	rtn
+prepare_tx_txpat:
+	fetch 1,test_mode_packet_type
+	and pdata,0xf,type
+	set1 mark_loopback,mark
+	rtn
+prepare_tx_sendlmp:
+	force type_lmp,type
+	branch set_wait_ack
+prepare_tx_sendl2cap:
+	call tx_l2cap_type
+
+set_wait_ack:
+	bpatch patch09_6,mem_patch09
+	fetcht 1,mem_arq
+	set1 wack,temp
+	storet 1,mem_arq
+	deposit type
+	store 1,mem_last_type
+	setarg 0xffff
+	store 2,mem_retransmission_cnt
+	rtn
+
+tx_l2cap_type:
+	bpatch patch09_7,mem_patch09
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	fetch 2,mem_tx_len
+	branch tx_l2cap_type_edr,true
+	force type_dm1,type		/* DM1 */
+	sub pdata,17,null			
+	rtn positive
+	force type_dh1,type		/* DH1 */
+	sub pdata,27,null				
+	rtn positive
+	force type_dm3,type		/* DM3 */
+	sub pdata,121,null
+	rtn positive
+	force type_dh3,type		/* DH3 */
+	sub pdata,183,null
+	rtn positive	
+	force type_dm5,type		/* DM5 */
+	sub pdata,224,null
+	rtn positive
+	force type_dh5,type		/* DH5 */
+	rtn
+tx_l2cap_type_edr:
+	force type_dm1,type
+	sub pdata,17,null
+	rtn positive
+	force type_dh1,type		/*2-DH1*/
+	sub pdata,54,null
+	rtn positive
+	force type_dm3,type		/*2-DH3*/
+	arg 367,temp
+	isub temp,null
+	nrtn positive
+	force type_dm5,type		/*2-DH5*/
+	arg 679,temp
+	isub temp,null
+	nrtn positive
+	force type_dh5,type		/*3-DH5*/
+	rtn
+
+
+/******************************************/
+/***********  Receive Packet  *************/
+/******************************************/
+
+
+
+slave_receive_master_slot:
+	fetch 1,mem_state
+	bbit0 state_insniff,slave_receive_notsniff
+	fetch 2,mem_tsniff
+	branch slave_receive_notsniff,blank		/* role switch */
+	nbranch slave_receive_sniff,attempt
+slave_receive_notsniff:
+	call rf_setup_time_master_slot
+slave_receive_access:
+	add clke_bt,1,bt_clk
+slave_receive_sniff:
+	enable swfine
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection hop */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	bpatch patch0a_0,mem_patch0a
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	call ahead_window
+	call start_receiver
+	enable decode_fec0
+	fetch 2,mem_rx_window
+	arg param_clke_cal,temp
+	iadd temp,stop_watch
+	correlate null,timeout
+	copy clke,temp
+	storet 6,mem_sync_clke
+	disable decode_fec0
+	nrtn sync
+	arg param_clke_cal,clke_rt
+	copy bt_clk,clke_bt
+	branch lpm_adjust_clk,wake
+	rtn
+	
+
+slave_conn_recv_packet:
+	bpatch patch0a_1,mem_patch0a
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	bmark0 mark_testmode,receive_packet
+	fetch 2,mem_tst_pktcnt_sync
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_sync
+receive_packet:
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+receive_packet_whitened:
+	bpatch patch0a_2,mem_patch0a
+	enable enable_white
+	enable enable_hec
+	enable decode_fec1
+	parse demod,bucket,3  /* get am_addr */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_am_addr
+	parse demod,bucket,4  /* get type */
+	inject bucket,7       /* align up to pwindow */
+	copy pwindow,pdata
+	store 1,mem_rx_type
+	parse demod,bucket,3  /* get arq */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_arq
+	fetch 1,mem_rx_type
+	sub pdata,3,null
+	branch receive_packet_noedr,positive
+	beq 7,receive_packet_noedr		/* esco packet */
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	setflag true,PSK,radio_ctrl
+receive_packet_noedr:
+	bpatch patch0a_3,mem_patch0a
+	parse demod,bucket,8   /* cycle thru hec */
+	disable decode_fec1
+	disable enable_hec   /* at this moment, 1 seqn + 8 hec is in shift */
+	branch error_header,crc_failed  /* if hec error, nothing is valid */
+	bmark0 mark_testmode,receive_packet_amchk
+	fetch 2,mem_tst_pktcnt_hec
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_hec
+receive_packet_amchk:	
+	bpatch patch0a_4,mem_patch0a
+	fetch 1,mem_temp_am_addr
+	compare 0,pdata,0x07           /* check for broadcast */
+	setflag true,mark_am_addr_broadcast,mark   /* received a broadcast message, can fire ar_addr if during unpark_req */
+	branch am_addr_ok,true
+	icompare 0x07,am_addr
+	branch am_addr_match,true
+	bmark0 mark_esco,end_of_packet
+	fetcht 1,mem_saved_amaddr
+	icompare 0x7,temp
+	nbranch end_of_packet,true
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+am_addr_match:
+	enable match
+am_addr_ok:
+	bpatch patch0a_5,mem_patch0a
+	fetch 1,mem_rx_type
+	icopy type
+	bmark1 mark_am_addr_broadcast,arqn_bypass        /* arqn doesn't make sense */
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set0 flow,pdata
+	isolate1 flow,temp
+	setflag true,flow,pdata
+	isolate1 arqn,temp
+	setflag true,arqn,pdata
+	store 1,mem_arq
+	isolate0 arqn,temp
+	branch arqn_bypass,true
+	call clear_got_tx
+arqn_bypass:
+	bpatch patch0a_6,mem_patch0a
+	arg 0,temp
+	call reserve_slot
+	and type,0xf,pdata
+	beq type_poll,process_poll
+	beq type_null,end_of_packet	/* null */
+	beq type_fhs,process_fhs
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	icompare 0x04,temp    /* bit 2 is seqn */
+	nbranch rx_type_dispatch,true   /* different then it's new */
+	bmark0 mark_am_addr_broadcast,failed_seqn         /* seqn failed, and not broadcast */
+	bbit0 bcast1,rx_type_dispatch           /* first broadcast never fail seqn */
+failed_seqn:
+	set1 mark_old_packet,mark
+rx_type_dispatch:
+	bpatch patch0a_7,mem_patch0a
+	deposit type
+	beq type_dm1, process_dm1
+	beq type_dh1, process_dh1
+	beq type_hv3, process_hev
+	beq type_3dh1, process_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, process_dm3
+	beq type_dh3, process_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dm5, process_dm5
+	beq type_dh5, process_dh5
+	rtn
+
+
+process_hev:
+	bpatch patch0b_0,mem_patch0b
+	enable decode_fec0
+	enable enable_crc
+	enable encrypt
+	arg mem_sco_ibuf,contw
+	force 30,loopcnt
+process_hev_loop:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_hev_loop
+	bmark0 mark_esco,end_of_packet
+	parse demod,bucket,16  /* cycle through the crc */
+	nsetflag crc_failed,mark_esco_rxok,mark
+	branch error_payload,crc_failed
+	branch ack_payload
+
+
+process_poll:
+	branch end_of_packet
+
+process_dm3:
+process_dm5:
+	set1 mark_longpacket,mark
+process_dm1:
+	enable decode_fec2
+	branch process_dmh
+	
+process_dh3:
+process_dh5:
+	set1 mark_longpacket,mark
+process_3dh1:
+	set1 PSK3M,radio_ctrl
+process_dh1:
+	enable decode_fec0
+process_dmh:
+	bpatch patch0b_1,mem_patch0b
+	bmark1 mark_rxbuf_inuse,end_of_packet			/* buffer in use, nack */
+	isolate0 PSK,radio_ctrl
+	branch process_dmh_noedr,true
+	disable enable_white
+	enable decode_fec0
+	disable decode_fec2
+	add clkn_bt,2,timeup
+	correlate clkn_bt,meet
+	nbranch error_payload,sync
+	set1 mark_longpacket,mark
+	enable enable_white
+process_dmh_noedr:
+	bpatch patch0b_2,mem_patch0b
+	enable encrypt
+	enable enable_crc
+	parse demod,bucket,3  /* parse in lch+l2cap flow */
+	rshift8 pwindow,pdata
+	store 1,mem_lch_code		/* for loopback */
+	parse demod,bucket,5  /* parse in 5 bit packetlength */
+	bmark1 mark_longpacket,process_dmh_long
+	rshift3 pwindow,loopcnt
+	rshift3 loopcnt,loopcnt
+	branch process_dmh_common
+process_dmh_long:
+	parse demod,bucket,5		/* multi slot packet length of dh3 dh5 dm3 dm5 */
+	rshift pwindow,loopcnt
+	parse demod,bucket,3  /* undefined+bit 9 of length */
+process_dmh_common:	
+	bpatch patch0b_3,mem_patch0b
+	deposit loopcnt
+	store 2,mem_len
+	branch process_dmh_data_end,blank
+	isub mask3ff,null
+	branch error_payload,positive	/* packet too large, discard */
+	bpatch patch0b_4,mem_patch0b
+	set0 mark_fhs_eir,mark
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	arg mem_rxbuf,contw //lmp_data or test packet
+	beq LLID_LMP,process_lmp
+	bmark1 mark_testmode,process_dmh_data
+	//non-HCI mode
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	beq LLID_L2CAP_START,process_dmh_data_l2cap_start_pkt
+	beq LLID_L2CAP_CONT,process_dmh_data_l2cap_continue_pkt
+	branch error_payload
+
+process_lmp:
+	fetch 2,mem_len
+	sub pdata,0x70,null		//lmp buffer size
+	nbranch error_payload,positive
+	bmark1 mark_old_packet,ack_payload
+	branch process_dmh_data
+
+	
+process_dmh_data_l2cap_start_pkt:
+	bpatch patch0b_5,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_inuse
+	bbit0 L2CAP_INUSE_BUFF1,process_dmh_data_into_buff1
+	bbit0 L2CAP_INUSE_BUFF2,process_dmh_data_into_buff2
+	branch end_of_packet
+process_dmh_data_into_buff1:
+	jam 1,mem_l2cap_rxbuff_new //new data in buff 1
+	fetch 2,mem_l2cap_rxbuff1_len
+	bne 0,end_of_packet			//baseband head error
+	arg mem_l2cap_rxbuff1,contw
+	branch process_dmh_data
+process_dmh_data_into_buff2:
+	jam 2,mem_l2cap_rxbuff_new //new data in buff 2
+	fetch 2,mem_l2cap_rxbuff2_len
+	bne 0,end_of_packet
+	arg mem_l2cap_rxbuff2,contw
+	branch process_dmh_data
+	
+process_dmh_data_l2cap_continue_pkt:
+	bpatch patch0b_6,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_dmh_data_l2cap_continue_pkt1
+	beq 2,process_dmh_data_l2cap_continue_pkt2
+	branch end_of_packet
+process_dmh_data_l2cap_continue_pkt1:
+	arg mem_l2cap_rxbuff1,contw
+	fetch 2,mem_l2cap_rxbuff1_len
+	iadd contw,contw
+	branch process_dmh_data
+process_dmh_data_l2cap_continue_pkt2:
+	arg mem_l2cap_rxbuff2,contw
+	fetch 2,mem_l2cap_rxbuff2_len
+	iadd contw,contw
+process_dmh_data:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_dmh_data
+process_dmh_data_end:	
+	bpatch patch0b_7,mem_patch0b
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload_crc,crc_failed
+	fetch 1,mem_l2cap_flow_ctrl_flag
+	beq L2CAP_FLOW_CTRL_ENABLE,end_of_packet
+	bmark1 mark_testmode,process_dmh_cont
+	bmark1 mark_old_packet,redundant_payload
+	fetch 1,mem_lch_code
+	compare 3,pdata,3
+	branch process_dmh_cont,true
+	fetch 2,mem_len
+	branch process_dmh_cont,blank
+	bpatch patch0c_0,mem_patch0c
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_l2cap_pass_crc_buff1
+	beq 2,process_l2cap_pass_crc_buff2
+	branch assert
+process_l2cap_pass_crc_buff1:
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff1_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff1// l2cap payload length
+	increase 4,temp
+	isub temp,null
+	call l2cap_buff1_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_l2cap_pass_crc_buff2:
+	fetch 2,mem_l2cap_rxbuff2_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff2_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff2// l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_dmh_cont:
+	bpatch patch0c_1,mem_patch0c
+	fetcht 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	setflag true,smap_rxlmp,temp
+	nsetflag true,smap_rxl2cap,temp
+	storet 1,mem_state_map
+	nbranch process_dmh_cont_rxbuf_not_use,true
+	set1 mark_rxbuf_inuse,mark
+process_dmh_cont_rxbuf_not_use:
+	bmark0 mark_testmode,ack_payload
+	isolate1 smap_rxlmp,temp
+	branch ack_payload,true
+	fetch 2,mem_tst_pktcnt_crc
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_crc
+	set1 mark_loopback,mark
+	set0 smap_rxl2cap,temp
+	set0 mark_rxbuf_inuse,mark
+	storet 1,mem_state_map
+ack_payload:
+	bpatch patch0c_2,mem_patch0c
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	isolate1 seqn,temp            /* if accept, seqn always copies from the header */
+	setflag true,seqn,pdata
+	isolate1 mark_am_addr_broadcast,mark
+	setflag true,bcast1,pdata
+	store 1,mem_arq
+	fetch 2,mem_len
+	nbranch end_of_packet,blank
+	fetch 1,mem_state_map
+	set0 smap_rxl2cap,pdata//better to do this in l2cap_flow_ctrl_stop
+	store 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 0x01,pdata,0x07
+	//call l2cap_flow_ctrl_stop,true
+	branch end_of_packet
+	
+error_header:
+	bpatch patch0c_3,mem_patch0c
+	disable match
+	fetch 2,mem_rx_hec_err
+	increase 1,pdata
+	store 2,mem_rx_hec_err
+	branch end_of_packet
+error_payload_crc:
+	fetch 2,mem_rx_crc_err
+	increase 1,pdata
+	store 2,mem_rx_crc_err
+	call discard_pkt
+	bmark0 mark_testmode,error_payload
+	set1 mark_loopback,mark
+error_payload:
+	branch end_of_packet
+	
+discard_pkt:
+	bpatch patch0c_4,mem_patch0c
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	nbranch discard_pkt_l2cap,true
+discard_pkt_lmp:	
+	fetcht 1,mem_state_map
+	set0 smap_rxlmp,temp
+	storet 1,mem_state_map
+	rtn
+discard_pkt_l2cap:
+//	isolate1 mark_testmode,mark
+//	setflag true,mark_loopback,mark
+	fetcht 1,mem_state_map
+	set0 smap_rxl2cap,temp
+	storet 1,mem_state_map
+	branch  h4_send_acl_trigger_clear
+
+redundant_payload:
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	store 1,mem_arq
+end_of_packet:
+	bpatch patch0c_5,mem_patch0c
+	disable encode_fec0
+	disable encode_fec2
+	disable decode_fec0
+	disable decode_fec2
+	disable enable_crc
+	disable encrypt
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+	
+process_fhs:
+	bpatch patch0c_6,mem_patch0c
+	enable enable_crc
+	enable decode_fec2
+	parse demod,bucket,72
+	isolate1 58,pdata
+	setflag true,mark_fhs_eir,mark
+	copy bt_adr,temp             /* save current address to aside */
+	ialigned bt_adr            /* send it to access gen */
+	ialigned fhs0			/* get fhs_misc */
+	pulse recalc                /* calc the lap just received from the other guy */
+	setsect 2,0xfffff             /* preset ms of shift reg as big mask */
+	setsect 3,0x0ffff             /* preset ms of shift reg as big mask */
+	nop 32                       /* 30 cycles after recalc */
+	iverify fhs_parity             /* check fhs_parity against ls 34 bits at shift reg, with msb 36 bits as mask */
+	deposit lap
+	store 3,extm_lap
+	deposit uap
+	store 1,extm_uap
+	copy temp,bt_adr             /* put the address back */
+	branch fhs_parity_ok,true     /* fhs parity failed */
+	branch error_payload
+fhs_parity_ok:
+	bpatch patch0c_7,mem_patch0c
+	parse demod,bucket,72
+	ialigned fhs1                   /* give host the information on class and fhs_misc */
+	ialigned am_addr                /* store the am_addr the master assigned us */
+	ialigned nap
+	ialigned regb                   /* store external clock in regb according to clock format */
+	force 0,pdata
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload,crc_failed
+	setarg 0x0ffffffc
+	iand regb,pdata
+	store 4,mem_clke_bt
+	deposit fhs_class
+	store 3,extm_class
+	deposit fhs_misc
+	store 1,extm_fhs_misc
+	deposit am_addr
+	store 1,extm_newconn_am_addr
+	deposit nap
+	store 2,extm_nap
+	deposit bt_clk
+	inject rxf,32
+	compare type_fhs,type,0x0f         /* see if this was fhs packet */
+	setflag true,mark_fhs_already_good,mark
+	branch end_of_packet
+
+clear_got_tx:
+	bpatch patch0d_0,mem_patch0d
+	fetch 1,mem_arq
+	rtnbit0 wack
+	set0 wack,pdata
+	setflip seqnx,pdata
+	store 1,mem_arq
+	fetch 1,mem_last_type
+	beq type_lmp,clear_got_txlmp
+	rtneq type_hv3
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap,pdata
+	set0 op_txl2cap,pdata
+	set1 op_pkt_comp,pdata
+	store 1,mem_op
+	set0 mark_tx_l2cap,mark
+	fetch 2,mem_l2cap_tx_multi_offset
+	nrtn blank
+	fetch 1,mem_op
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	branch l2cap_malloc_free
+
+clear_got_txlmp:
+	bpatch patch0d_1,mem_patch0d
+	fetch 1,mem_lmo_header_opcode
+	rshift pdata,pdata
+	beq LMP_START_ENCRYPTION_REQ,start_encryption
+	beq LMP_STOP_ENCRYPTION_REQ,stop_encryption
+	beq LMP_UNSNIFF_REQ, sniff_exit
+	beq LMP_ESCAPE,clear_lmp_escape
+	rtnne LMP_ACCEPTED
+	fetch 1,mem_lmo_payload
+	beq LMP_SCO_LINK_REQ,sco_link_req_by_slave
+	beq LMP_START_ENCRYPTION_REQ,clear_send_setup_complete
+	rtn
+
+clear_lmp_escape:
+	fetch 1,mem_lmo_payload
+	set1 7,pdata
+	rtn
+clear_send_setup_complete:
+	rtn master
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+	
+// nokia BH-105  CALLING when reconnection
+sco_link_req_by_slave:
+	rtn master
+	fetch 1,mem_mode
+	isolate1 send_sco_when_slave,pdata
+	branch clean_mem_mode,true
+	//jam LMP_REMOVE_SCO_LINK_REQ,mem_lmo_opcode2
+	rtn
+clean_mem_mode:
+	set0 send_sco_when_slave,pdata
+	store 1,mem_mode
+	rtn
+	
+start_encryption:
+	bpatch patch0d_2,mem_patch0d
+	fetch 1,mem_state_map
+	set1 smap_encryption,pdata
+	store 1,mem_state_map
+	hjam 1,core_encrypt
+	fetch 1,mem_state
+	isolate1 state_conn_comp,pdata
+	rtn
+
+stop_encryption:
+	bpatch patch0d_3,mem_patch0d
+	fetch 1,mem_state_map
+	set0 smap_encryption,pdata
+	store 1,mem_state_map
+	hjam 0,core_encrypt
+	rtn
+
+
+sniff_init:
+	bpatch patch0d_4,mem_patch0d
+	copy clkn_bt,pdata
+	store 4,mem_lpm_delay_after_sniff
+	add clkn_bt,3,rega
+	branch sniff_init_master,master
+	add clke_bt,3,rega
+sniff_init_master:
+	fetcht 2,mem_tsniff
+	deposit rega
+	set0 27,pdata
+	idiv temp
+	fetch 2,mem_dsniff
+	call wait_div_end
+	remainder regc
+	isub regc,pdata
+	branch sniff_init_nowrap,positive
+	iadd temp,pdata
+sniff_init_nowrap:
+	iadd rega,pdata
+	store 4,mem_sniff_anchor
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	fetch 1,mem_state
+	set1 state_insniff,pdata
+	store 1,mem_state
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	setarg 0
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 1,mem_sniff_unint_lost
+	jam BT_EVT_ENTER_SNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	nrtn master
+	add am_addr,-1,queue
+	rtn
+
+sniff_exit:
+	bpatch patch0d_5,mem_patch0d
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	set0 state_insniff,pdata
+	store 1,mem_state
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	disable wake
+	jam BT_EVT_EXIT_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+check_attempt:
+	bpatch patch0d_6,mem_patch0d
+	enable attempt
+	fetch 1,mem_state
+	bbit1 state_insniff,check_attempt_sniff
+	rtnmark1 mark_testmode						/* pdata won't be blank now, try attempt */
+	fetch 1,mem_arq
+	rtnbit1 wack
+	fetch 1,mem_lmp_to_send
+	nrtn blank
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+check_attempt_nomore:
+	force 0,pdata
+	rtn
+
+check_attempt_sniff:
+	bbit0 state_insco,check_attempt_not_sco
+	fetch 1,mem_current_sniff_attempt
+	beq 2,check_attempt_sniff_restore_sco
+	fetch 1,mem_arq
+	bbit1 wack,check_attempt_notimeout
+	bmark0 mark_esco_rxok,check_attempt_notimeout
+check_attempt_sniff_restore_sco:
+	nbranch check_attempt_notimeout,master
+	fetch 1,mem_lmp_to_send
+	nbranch check_attempt_notimeout,blank
+check_attempt_sco_master:
+	fetch 1,mem_sco_poll
+	increase -1,pdata
+	store 1,mem_sco_poll
+	nbranch check_attempt_nomore,blank
+	jam param_sco_poll,mem_sco_poll
+	branch check_attempt_notimeout
+
+
+
+
+
+	
+check_attempt_not_sco:
+	fetch 1,mem_current_sniff_attempt
+	bne 1,check_attempt_notimeout
+	fetch 1,mem_current_sniff_timeout
+	branch check_attempt_notimeout,blank
+	increase -1,pdata
+	store 1,mem_current_sniff_timeout
+	fetch 1,mem_arq
+	rtnbit1 wack						// waiting for next ack
+	nrtn match						// waiting for next poll
+check_attempt_notimeout:
+	fetch 1,mem_current_sniff_attempt
+	increase -1,pdata
+	store 1,mem_current_sniff_attempt
+	rtn
+
+
+
+
+
+
+
+
+
+	/* enable user if sniff window vialation, queue is extra overhead */
+sniff_check_window:
+	bpatch patch0d_7,mem_patch0d
+	disable swfine
+	copy temp,stop_watch
+	call context_search_sniff_window
+	disable user
+	nrtn zero
+	force 0,stop_watch
+	enable user
+	rtn
+
+	//return true if it is esco context
+check_esco_amaddr:
+	fetch 1,mem_esco_addr
+	icompare 0xff,am_addr
+	rtn
+	
+
+parse_l2cap:	
+	bpatch patch0e_0,mem_patch0e
+	set0 mark_rxbuf_inuse,mark 
+parse_l2cap_cont:
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtn blank
+	isolate1 L2CAP_INUSE_BUFF1,pdata
+	arg mem_l2cap_rxbuff1,contr
+	call process_rx_l2cap_pkt,true
+	bpatch patch0e_1,mem_patch0e
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff1
+	
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtnbit0 L2CAP_INUSE_BUFF2
+	arg mem_l2cap_rxbuff2,contr	
+	call process_rx_l2cap_pkt
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff2
+	rtn
+		
+parse_l2cap_release_buff1:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	rtn
+parse_l2cap_release_buff2:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff2_len
+	rtn
+
+l2cap_buff1_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+l2cap_buff2_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+/******************************************/
+/**********  Transmit Packet  *************/
+/******************************************/
+
+slave_send_access:
+	bpatch patch0e_2,mem_patch0e
+	add clke_bt,1,bt_clk          /* slave start to use native clock */
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection frequency */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	branch send_access_word
+	
+
+slave_conn_send_packet:
+	bpatch patch0e_3,mem_patch0e
+	call rf_setup_time_slave_slot
+	deposit clke_bt
+	fetcht 4,mem_next_btclk
+	isub temp,pdata
+	rtnne 1					/* missed slave slot */
+	compare type_null,type,0x1f
+	nbranch slave_conn_send_access,true
+	fetch 1,mem_rx_type
+	rtn blank					/* null packet, do nothing */
+slave_conn_send_access:
+	call slave_send_access
+transmit_packet:
+	compare type_id,type,0x1f        /* is this id only ? */
+	branch end_of_packet,true
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+transmit_packet_whitened:
+	bpatch patch0e_4,mem_patch0e
+	enable enable_white
+	enable enable_hec
+	enable encode_fec1
+	set0 mark_longpacket,mark
+	deposit am_addr
+	inject mod,3             /* am_addr, temp is disabled */
+	deposit type
+	inject mod,4
+	fetch 1,mem_arq   /* aka mem_arq */
+	inject bucket,4  /* align up to flowx, arqnx, seqnx */
+	inject mod,3
+	enable enable_parity
+	inject mod,8   /* transmit parity */
+	disable encode_fec1
+	disable enable_parity
+	disable enable_hec
+	set0 PSK3M,radio_ctrl
+	arg 0,temp
+	call reserve_slot
+	bpatch patch0e_5,mem_patch0e
+	and type,0x1f,pdata
+	beq type_lmp, transmit_lmp
+	beq type_null, end_of_packet
+	beq type_poll, end_of_packet
+	beq type_fhs, transmit_fhs  /* master mode fhs need got_tx and ack */
+	beq type_dm1, transmit_dm1
+	beq type_dh1, transmit_dh1
+	beq type_hv3, transmit_hev
+	beq type_3dh1, transmit_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, transmit_dm3
+	beq type_dh3, transmit_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dh5, transmit_dh5
+	branch transmit_dm5	/* must be 14, dm5 */
+
+
+transmit_hev:
+	bpatch patch0e_6,mem_patch0e
+	enable encode_fec0
+	enable enable_crc
+	enable encrypt
+	force 30,loopcnt
+	arg mem_sco_obuf,contr
+transmit_ev_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_ev_loop
+	bmark1 mark_esco,transmit_end
+	branch end_of_packet
+	
+transmit_fhs:
+	bpatch patch0e_7,mem_patch0e
+	fetch 1,mem_fhs_am_addr            /* this is the am_addr to assign to slave */
+	icopy am_addr
+	fetch 1,mem_fhs_misc
+	icopy fhs_misc    /* [7:6]SR [5:4]SP [3:1]PS [0]undef  */
+	fetch 3,mem_class   /* store away class */
+	icopy fhs_class
+	fetch 2,mem_nap
+	icopy nap
+	enable enable_crc
+	enable encode_fec2
+	copy bt_adr,rega
+	call fetch_self_bt_adr
+	pulse recalc
+	nop 32                    /* 30 cycles after recalc for sync word generation */
+	copy bt_clk,timeup
+	fetch 4,mem_clkn_bt
+	icopy bt_clk
+	preload fhs0
+	set1 58,pdata		/* eir */
+	inject mod,72
+	preload fhs1
+	inject mod,72
+	copy timeup,bt_clk
+	copy rega,bt_adr
+	enable enable_parity
+	inject mod,16   /* generate CRC */
+	disable enable_parity
+	branch end_of_packet
+
+transmit_lmp:    /* expect the payload ready as in bb spec */
+	bpatch patch0f_0,mem_patch0f
+	enable encrypt
+	enable enable_crc
+	enable encode_fec2
+	fetch 1,mem_lmo_header_length   /* this is the payload header */
+	and pdata,0x1f8,temp       /* temp is number of bits, check payload header format */
+	arg mem_lmo_header_length,contr
+	increase 8,temp   /* temp is in bits */
+transmit_lmp_loop:
+	add temp,-72,regc   /* regc is remainder */
+	nbranch transmit_lmp_finish,positive
+	ifetch 9,contr
+	inject mod,72
+	copy regc,temp
+	branch transmit_lmp_loop
+transmit_lmp_finish:
+	ifetch 9,contr
+	iinject mod,temp
+	branch transmit_end
+
+transmit_dm1:
+	enable encode_fec2
+	branch transmit_dmh
+transmit_dm3:
+transmit_dm5:
+	enable encode_fec2
+	set1 mark_longpacket,mark
+	branch transmit_dmh
+
+transmit_3dh1:
+	set1 PSK3M,radio_ctrl
+transmit_dh1:
+	enable encode_fec0
+	branch transmit_dmh
+	
+transmit_dh3:
+transmit_dh5:
+	set1 PSK3M,radio_ctrl
+	enable encode_fec0
+	set1 mark_longpacket,mark
+
+transmit_dmh:
+	bpatch patch0f_1,mem_patch0f
+	fetch 1,mem_state_map
+	bbit0 smap_edr,transmit_noedr
+	sub type,3,null
+	branch transmit_noedr,positive
+	disable encrypt
+	disable encode_fec2
+	enable encode_fec0
+	disable enable_white
+	set1 PSK,radio_ctrl
+	isolate1 PSK3M,radio_ctrl
+	branch transmit_edr3m,true
+	setarg 0xabeee
+	inject mod,20
+	branch transmit_edr_sync_end
+transmit_edr3m:
+	setarg 0x5faeba
+	inject mod,24
+	setarg 0x12
+	inject mod,6
+transmit_edr_sync_end:	
+	enable enable_white
+	set1 mark_longpacket,mark
+transmit_noedr:
+	enable encrypt
+	enable enable_crc
+	bmark1 mark_loopback,transmit_loopback
+	fetch 1,mem_tx_lch
+	inject mod,3
+	fetch 2,mem_tx_len
+	iforce loopcnt
+	bmark1 mark_longpacket,transmit_long
+	inject mod,5
+	branch transmit_stuff
+transmit_long:	
+	inject mod,13
+transmit_stuff:
+	deposit loopcnt
+	branch transmit_end,blank
+	fetch 2,mem_txptr
+	iforce contr
+transmit_stuff_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_stuff_loop
+//	branch transmit_end
+
+transmit_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	call set_wait_ack
+	fetch 1,mem_state_map
+	bbit0 smap_edr,end_of_packet
+	force 0,pdata
+	inject mod,6				/* edr trailer */
+	branch end_of_packet
+
+
+transmit_loopback:
+	bpatch patch0f_2,mem_patch0f
+	bmark1 mark_longpacket,transmit_loopback_long
+transmit_loopback_short:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 1,mem_len	/* take packet length */
+	iforce regc
+	inject mod,5
+	branch transmit_loopback_cont
+transmit_loopback_long:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 2,mem_len	/* take packet length */
+	iforce regc
+	inject mod,13
+transmit_loopback_cont:
+	arg mem_rxbuf,contr
+transmit_loopback_loop:	
+	copy regc,null
+	branch transmit_loopback_end,zero
+	ifetch 1,contr
+	inject mod,8
+	increase -1,regc
+	branch transmit_loopback_loop
+transmit_loopback_end:
+	fetch 2,mem_tst_pktcnt_dmh
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_dmh
+	branch transmit_end
+	
+
+apply_switch_clke:
+	fetch 4,mem_clke_bt
+	add pdata,7,rega
+	fetch 2,mem_slot_offset
+	nbranch apply_switch_nozero,blank
+	increase -3,rega
+	branch apply_switch_wait_loop
+apply_switch_nozero:
+	mul32 pdata,12,pdata
+	hfetcht 2,core_halfslot
+	increase 1,temp
+apply_switch_loop:
+	isub temp,pdata
+	nbranch apply_switch_bt,positive
+	increase -1,rega
+	branch apply_switch_loop
+apply_switch_bt:
+	sub pdata,0,pdata
+apply_switch_wait_loop:
+	until null,oneslot
+	compare 0,clkn_bt,3
+	nbranch apply_switch_wait_loop,true
+	iforce clke_rt
+	copy rega,clke_bt
+	iforce clke_rt
+	rtn
+	
+
+calc_slot_offset:
+	bpatch patch0f_3,mem_patch0f
+	until null,halfslot
+	deposit clke
+	iforce contr
+	rshift16,pdata,pdata
+	isub clkn_bt,loopcnt
+	and_into 3,loopcnt			/* bt portion */
+	nbranch calc_bt_portion,zero
+	force 0,pdata
+	branch calc_skip_bt
+calc_bt_portion:
+	arg 3750,temp
+	force 0,pdata
+calc_slot_offset_loop:
+	iadd temp,pdata
+	loop calc_slot_offset_loop
+calc_skip_bt:
+	iadd contr,pdata			/* add rt portion */
+	div pdata,12
+	call wait_div_end
+	quotient pdata
+	store 2,mem_slot_offset
+	rtn
+
+calc_clke_offset:
+	bpatch patch0f_4,mem_patch0f
+	deposit clke
+	copy clkn,temp
+	isub temp,null
+	nsetflag positive,44,pdata
+	isub temp,temp
+	setarg 3750
+	isolate0 15,temp
+	branch calc_clke_pos,true
+	setarg -61786
+	iadd temp,temp
+calc_clke_pos:
+	storet 6,mem_le_clk_offset
+	rtn le
+	storet 6,mem_clk_offset
+	rtn
+
+calc_clke:
+	disable clknt
+	fetch 6,mem_le_clk_offset
+	branch calc_clke2,le
+	fetch 6,mem_clk_offset
+calc_clke2:
+	iadd clkn,alarm
+	increase 10,alarm
+	setarg 3750
+	isub alarm,pdata
+	isolate0 15,pdata
+	branch calc_clke_pos_adj,true
+	setarg 0xf15a
+	iadd alarm,alarm
+calc_clke_pos2:
+	copy alarm,clke
+	rtn
+calc_clke_pos_adj:		/* add 2 clock */
+	force 0,null
+	branch calc_clke_pos2
+	
+/******************************************/
+/********* RF related functions ***********/
+/******************************************/
+
+
+calc_radio_freq:
+	bpatch patch0f_5,mem_patch0f
+	call set_sync_on
+	copy bt_clk,pdata
+	and_into 0x180,pdata
+	compare 3,freq_mode,0x07
+	nbranch freq_not_connection,true    /* don't do the hack if not in connection */
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	branch do_hop_mod_now
+freq_not_connection:	
+	copy freq_index,pdata
+do_hop_mod_now:
+	div pdata,79
+	pulse recalc         /* now is good time to recalc id */
+	call wait_div_end
+	remainder rega
+	add rega,-40,temp
+	branch odd_half,positive
+	lshift rega,temp
+	branch freq_result
+odd_half:
+	lshift temp,temp
+	increase 1,temp
+freq_result:	
+	bpatch patch0f_6,mem_patch0f
+	fetch 1,mem_mode
+	bbit0 afh_change,afh_process_con
+afh_process_0:	
+	fetch 4, mem_afh_instant   
+	isub bt_clk, null
+	branch afh_process_con,positive
+	call afh_clear
+	fetch 1,mem_afh_new_mod
+	rtn blank
+	fetch 1,mem_mode
+	set1 afh_enable,pdata
+	store 1,mem_mode
+	fetch 5,mem_afh_map_new
+	store 5,mem_afh_map_lo
+	ifetch 5,contr
+	store 5,mem_afh_map_hi
+	call afh_process_freq_map
+afh_process_con:
+	fetch 1,mem_mode
+	rtnbit0 afh_enable
+	isolate1 1,bt_clk
+	branch afh_same_channel,true	/* at odd slot, use the same as last even */
+	rshift3 temp,rega
+	and temp,7,queue
+	setarg mem_afh_map_lo  
+	iadd rega, rega
+	ifetch 1, rega
+	qisolate0 pdata
+	branch afh_process_1,true		/* not in map, do afh */
+	deposit temp
+	branch afh_process_end
+afh_process_1:
+	fetch 1, mem_afh_used
+	iforce regb                     
+	deposit bt_clk
+	and_into 0x180, pdata
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	idiv regb
+	setarg mem_afh_map     
+	call wait_div_end
+	remainder rega
+	iadd rega,contr
+	ifetch 1,contr
+afh_process_end:	
+	store 1,mem_afh_index
+	iforce temp  
+  	rtn
+
+afh_same_channel:
+	fetch 1, mem_afh_index           /* last afh index  */
+	iforce temp
+	rtn
+
+afh_clear:
+	fetch 1,mem_mode
+	set0 afh_enable,pdata
+	set0 afh_change,pdata
+	store 1,mem_mode
+	rtn
+/*
+fixed_frequency:
+	fetcht 1,mem_fixed_freq
+	rtn
+*/
+afh_process_freq_map:
+	bpatch patch0f_7,mem_patch0f
+	arg mem_afh_map,contw
+	force 10,loopcnt
+	call memset0
+	arg mem_afh_map,contw
+	force 0,regC
+	force 2,queue
+process_freq_3:	
+	fetch 5,mem_afh_map_lo
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_1,true
+	rshift temp,temp
+process_freq_1:	
+	isolate0 0,temp
+	branch process_freq_0,true
+	deposit regC
+	istore 1,contw
+process_freq_0:
+	rshift2 temp,temp
+	increase 2,regC
+	compare 40,regC,0xfe
+	nbranch process_freq_2,true
+	fetch 5,mem_afh_map_hi
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_2,true
+	rshift temp,temp
+process_freq_2:	
+	sub regC,78,null
+	branch process_freq_1,positive
+	force 1,regC
+	increase -1,queue
+	nbranch process_freq_3,zero
+	arg mem_afh_map,rega
+	deposit contw
+	isub rega,pdata
+	store 1,mem_afh_used
+	rtn
+
+rx_radio_freq:
+	bpatch patch10_0,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_rx_fixed_freq,rx_radio_freq_now
+	fetcht 1,mem_rx_fixed_freq
+rx_radio_freq_now:
+	branch set_freq_rx
+	
+
+tx_radio_freq:
+	bpatch patch10_1,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_tx_fixed_freq,tx_radio_freq_now
+	fetcht 1,mem_tx_fixed_freq
+tx_radio_freq_now:
+	branch set_freq_tx
+	
+
+fetch_giac:
+	force 0,uap
+	fetch 3,mem_glap
+	iforce lap
+	rtn
+
+fetch_page_bt_adr:
+	bpatch patch10_2,mem_patch10
+	fetch 1,mem_hci_puap
+	icopy uap
+	fetch 3,mem_hci_plap
+	icopy lap
+	rtn
+
+fetch_self_bt_adr:
+	bpatch patch10_3,mem_patch10
+	fetch 2,mem_nap
+	icopy nap
+	fetch 1,mem_uap
+	icopy uap
+	fetch 3,mem_lap
+	icopy lap                 /* copy self_adr,bt_adr */      /* use own address */
+	rtn
+
+fetch_extm_bt_adr:
+	bpatch patch10_4,mem_patch10
+	fetch 2,mem_pnap
+	icopy nap
+	fetch 1,mem_puap
+	icopy uap
+	fetch 3,mem_plap
+	icopy lap         
+	rtn
+
+
+fetch_diac:
+	bmark1 mark_all_diac,fetch_diac_do
+	rtnmark0 mark_inquiry_state
+	rtnmark0 mark_periodical_diac
+fetch_diac_do:
+	and_into -256,lap
+	pulse recalc
+	nop 32
+	rtn
+
+
+shutdown_radio:
+	bpatch patch10_5,mem_patch10
+	branch shutdown_radio0,is_rx
+	hjam 0xd4, 0x955
+	nop 4
+	hjam 0xd2, 0x955
+	nop 4
+	hjam 0xd1, 0x955
+	nop 4	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,shutdown_radio_0db
+	beq TX_POWER_3DB,shutdown_radio_3db
+	beq TX_POWER_5DB,shutdown_radio_5db
+	beq TX_POWER_f3DB,shutdown_radio_f3db
+	beq TX_POWER_f5DB,shutdown_radio_f5db
+	beq TX_POWER_PAIR,shutdown_radio_pair
+shutdown_radio_5db:	
+shutdown_radio_0db:
+	hjam 0xd0, 0x955
+	hjam 0xe0, 0x956
+shutdown_radio0:
+	force 0,radio_ctrl
+	disable is_rx
+	disable is_tx
+	pulse packet_end
+	hjam 0x0,rfen_mdm
+	hjam 0x0,rfen_tx
+	hjam 0x0,rfen_rx
+	hjam 0,rfen_sn
+	hjam 0x70,rfen_msc
+	hjam 0x0,rfen_adc
+	rtn
+	
+shutdown_radio_pair:
+shutdown_radio_f5db:
+shutdown_radio_f3db:
+shutdown_radio_3db:
+	hjam 0xd0,0x955
+	hjam 0xc0,0x956
+	branch shutdown_radio0
+
+set_sync_on:
+	bpatch patch10_6,mem_patch10
+	hjam 0x0,rfen_mdm					/* if called from tx or rx */
+	hjam 0x0,rfen_tx
+	hjam 0x18,rfen_rx
+	hjam 0xa7,rfen_sn
+	hjam 0x7f,rfen_msc
+	rtn
+
+set_freq_rx:
+	bpatch patch10_7,mem_patch10
+		/* IF is +2MHz */
+	storet 1,mem_last_freq
+	add temp,rx_freq_offset,rega			/* index to frequency */
+	hjam 0x07,0x96d                                         /*Max added, for best sensitivity*/
+	branch rf_write_freq
+rf_rx_enable:
+	bpatch patch11_0,mem_patch11
+	hjam 0xcf,rfen_tx
+	nop 10					/* wait adc clk48 ready */
+	hjam 0xff,rfen_rx
+	hjam 0xaf,rfen_sn
+	hjam 0xff,rfen_msc
+	nop 10
+	hjam 0xa0,rfen_mdm
+	rtn
+	
+set_freq_tx_offset:
+	fetch 1,mem_250k_freq_enable	//default: 0
+	branch set_freq_tx_2M_offset,blank
+set_freq_tx_0M_offset:
+	add temp,2,rega			//250k
+	rtn
+set_freq_tx_2M_offset:
+	add temp,0,rega			// bt 2M Medium Frequency
+	rtn
+
+set_freq_tx:
+	bpatch patch11_1,mem_patch11
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+txon:	
+	hjam 0x1,rfen_adc
+	hjam 0x3c,rfen_rx
+	hjam 0xe0,rfen_tx
+	hjam 0x12,0x96d
+	nop 10
+	hjam 0x01,rfen_mdm
+	hjam 0x3d,rfen_mdm
+	nop 10
+	hjam 0xb7,rfen_sn
+	nop 10
+	hjam 0x7f, rfen_mdm
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,set_tx_power_0db
+	beq TX_POWER_3DB,set_tx_power_3db	
+	beq TX_POWER_5DB,set_tx_power_5db
+	beq TX_POWER_f3DB,set_tx_power_f3db	
+	beq TX_POWER_f5DB,set_tx_power_f5db
+	beq TX_POWER_PAIR,set_tx_power_pair
+set_tx_power_0db:	
+	hjam 0xf0,0x956
+	call txon_common
+	hjam 0xd8,0x955
+	rtn
+
+set_tx_power_3db:
+	hjam 0xdf,0x956
+	call txon_common
+	hjam 0xdf,0x955
+	rtn
+
+set_tx_power_5db:
+	hjam 0xff,0x956
+	call txon_common
+	hjam 0xdf,0x955
+	rtn
+set_tx_power_f3db:
+	hjam 0xce,0x956
+	call txon_common
+	hjam 0xd8,0x955
+	rtn
+
+set_tx_power_f5db:
+	hjam 0xcb,0x956
+	call txon_common
+	hjam 0xd8,0x955
+	rtn
+
+set_tx_power_pair:
+	hjam 0xd0,0x955
+	hjam 0xc0,0x956
+	hjam 0x4c,0x957
+	hjam 0x6c,0x958
+	hjam 0x50,0x959
+	rtn
+
+txon_common:
+	nop 4
+	hjam 0xd1,0x955
+	nop 4
+	hjam 0xd2,0x955
+	nop 4
+	hjam 0xd4,0x955
+	rtn
+
+
+initialize_radio:
+	hjam clksel_rc,core_clksel
+initialize_radio_wait:
+	fetch 2,mem_rf_init_ptr
+	bbit0 14,initialize_radio_wait
+	iforce contr
+	arg 0x8900,temp
+initialize_radio_loop:
+	ifetch 1,contr
+	beq 0xff,initialize_radio_cont
+	ior temp,contw
+	ifetch 1,contr
+	istore 1,contw
+	branch initialize_radio_loop
+initialize_radio_cont:
+	bpatch patch11_2,mem_patch11
+	call lpm_cal_xtal_startup
+	call switchto_dpllclk
+//	ncall check_dpll,wake
+	setarg param_dpll_start_delay
+	iadd clkn_bt,pdata
+	store 4,mem_dpll_clkn
+	set1 RESET,radio_ctrl
+	force 0,radio_ctrl
+	ncall do_rccal,wake
+	branch set_rccal
+
+	/* rega is frequency, 00=2400Mhz */
+rf_write_freq:
+	bpatch patch11_3,mem_patch11
+	setarg 2400
+	iadd rega,temp
+	fetch 1,mem_fcomp_mul
+	hjam 0x04,rf_pll_rstn
+	imul32 temp,pdata
+	fetcht 1,mem_fcomp_div
+	idiv temp
+	call wait_div_end
+	quotient rega			/* rega is FLOOR(FVCO/fcomp) */
+	remainder pdata		
+	lshift16 pdata,pdata
+	lshift4 pdata,pdata		/* pdata is frac * 2^20 */
+	idiv temp
+	call wait_div_end
+	quotient pdata		/* pdata is frac *2^20/fcomp */
+	lshift8 pdata,pdata
+	lshift pdata,pdata
+	ior rega,pdata
+	hstore 4,rf_pll_intg
+	hjam 0x44,rf_pll_rstn
+	hjam 0xc4,rf_pll_rstn
+	rtn
+
+	
+do_rccal:
+	bpatch patch11_4,mem_patch11
+	hjam 0x02,rfen_adc
+	setarg 250000
+	call sleep					/* wait clkpll&xtal stable */
+	hjam 0x7f,rfen_rx
+	nop 130
+	hjam 0x30,rf_rccal_ctrl
+	hjam 0xd0,rfen_tx
+	hjam 0x70,rf_rccal_ctrl
+	hjam 0xf0,rf_rccal_ctrl
+	force 50,loopcnt
+do_rccal_loop:
+	hfetch 1,rf_rccal_result
+	bbit1 5,do_rccal_end
+	loop do_rccal_loop
+do_rccal_end:
+	store 1,mem_rf_rccal
+	hjam 0,rfen_tx
+	hjam 0,rfen_rx
+	hjam 0x00,rfen_adc
+	rtn
+
+set_rccal:
+	bpatch patch11_5,mem_patch11
+	fetch 1,mem_rf_rccal
+	set1 5,pdata
+	hstore 1,rf_rccal_ctrl
+	hfetcht 1,rf_bpf_ctrim
+	and_into 7,temp
+	lshift3 pdata,pdata
+	ior temp,pdata
+	hstore 1,rf_bpf_ctrim
+	hfetch 1,rf_bpf_ib
+	set0 bpf_rccal,pdata
+	hstore 1,rf_bpf_ib
+	hfetch 1,rf_adc_rccal
+	set0 adc_rccal,pdata
+	hstore 1,rf_adc_rccal
+	rtn
+
+save_rssi:
+	bpatch patch11_6,mem_patch11
+	hfetch 2,rf_afc_d2a
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	sub pdata,0,pdata
+	and_into 0xff,pdata
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	store 1,mem_rssi			/* bcd value */
+	rtn
+
+	
+switchto_dpllclk:
+	hjam clksel_rc,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	set0 4,pdata
+	set0 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	hjam 0x00,rfen_ck
+	hjam 0x00,rfen_msc
+	hjam 0x70,rfen_msc
+	hjam 0xff,rfen_ck
+	hfetch 1,rf_clkpll_frac+2
+	set1 4,pdata
+	set1 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	call init_lpm_ctrl
+	hfetch 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	set0 7,pdata
+	hstore 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	hjam clksel_dpll,core_clksel
+	nop 1
+	hjam clksel_xtal,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	and_into 0xcf,pdata
+	hstore 1,rf_clkpll_frac+2
+	or_into 0x30,pdata
+	hstore 1,rf_clkpll_frac+2
+	rtn
+
+	
+xtal_fast_wake:
+	setarg 0xf0f
+	branch lpm_write_config
+
+init_lpm_ctrl:
+	setarg 0x80f
+	branch lpm_write_config
+
+
+
+start_receiver:
+	bpatch patch11_7,mem_patch11
+	call rf_rx_enable
+	disable is_tx
+	enable is_rx
+	pulse init_encrypt
+	rtn
+
+prep_crypt:
+	bpatch patch12_0,mem_patch12
+	fetch 1,mem_state_map
+	isolate1 smap_encryption,pdata
+	setflag true,0,pdata
+	hstore 1,core_encrypt
+	arg mem_kc,contr
+	ifetch 9,contr
+	iforce kc_ls
+	ifetch 7,contr
+	iforce kc_ms
+	fetch 1,mem_key_size
+	add pdata,-1,g1l
+	pulse kc_p_activate               /* immediately start calculating primary Key */
+	rtn
+	
+wait_access_end:
+	deposit clke
+	store 6,mem_sync_clke
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	increase 1,clke_bt
+	and_into 0x1fc,clke_bt
+	rtn
+
+
+
+wait_access_mhalfbnd:
+	enable decode_fec0
+wait_access_mhalfbnd_correlate:
+	correlate null,mhalfbnd    /* keep correlating until sync is found, or clke half */
+	branch wait_access_end,sync
+	compare 0x02,clke_bt,0x02
+	nbranch wait_access_mhalfbnd_correlate,true
+	branch wait_access_end
+
+wait_access_clkn_rt:
+	bpatch patch12_1,mem_patch12
+	arg param_conn_access,timeup	/* found sync must occur within this time */
+	enable decode_fec0
+	correlate clkn_rt,meet    /* keep correlating until sync is found, or until clkn_rt timeup */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	rtn
+
+wait_access_forever:
+	bpatch patch12_2,mem_patch12
+	enable decode_fec0
+	correlate null,timeout    /* keep correlating until sync is found, or timeout */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	and_into 0x1fc,clke_bt
+	rtn
+
+	/* reserve slots for mult-slot packet */
+reserve_slot:
+	bpatch patch12_3,mem_patch12
+	iforce rega
+	deposit bt_clk
+	iadd temp,timeup
+	copy timeup,pdata
+	store 4,mem_next_btclk
+	deposit rega
+	rtn
+
+	/* pdata = clks ahead of bt_clk */
+ahead_window:
+	copy pdata,temp
+	bpatch patch12_4,mem_patch12
+	copy temp,pdata
+	call clk2bt
+	lshift16 bt_clk,pdata
+	set1 44,pdata
+	call clk_diff
+	set0 44,pdata
+	call get_clk
+	call clk_diff
+	rtn user
+	call clk2rt
+	iforce stop_watch
+	until null,timeout
+	rtn
+
+
+setup_clk:
+	bpatch patch12_5,mem_patch12
+	branch setup_clkn,clknt
+	until clke_rt,meet
+skip_setup_clke:
+	copy clke_bt,temp
+	branch setup_clknbt
+setup_clkn:
+	branch skip_setup_clkn,attempt
+	until clkn_rt,meet
+skip_setup_clkn:
+	copy clkn_bt,temp
+setup_clknbt:
+	branch setup_clk11,user
+	compare 1,temp,3
+	nbranch setup_clk,true
+setup_complete:
+	bpatch patch12_6,mem_patch12
+	fetch 1,mem_state
+	rtnbit0 state_inconn
+	fetch 4,mem_next_btclk
+	isub temp,pdata
+	nrtn positive
+	sub pdata,0xff,null
+	branch setup_clk,positive
+	rtn
+setup_clk11:
+	compare 3,temp,3
+	nbranch setup_clk,true
+	branch setup_complete
+
+rf_setup_time:
+	bpatch patch12_7,mem_patch12
+	arg param_rf_setup,timeup
+	branch setup_clk
+	
+rf_setup_time_slave_slot:
+	disable user
+	branch rf_setup_time
+
+rf_setup_time_master_slot:
+	enable user
+	branch rf_setup_time
+	
+start_transmitter:
+	bpatch patch13_0,mem_patch13
+	call prep_crypt
+	disable is_rx
+	enable is_tx
+	rtn
+
+
+
+start_tx_native:
+	bpatch patch13_1,mem_patch13
+	arg param_tx_setup,timeup
+	until clkn_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+start_rx_native:
+	bpatch patch13_2,mem_patch13
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	rtn
+
+
+start_tx_external:
+	bpatch patch13_3,mem_patch13
+	arg param_tx_setup,timeup
+	until clke_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+send_access_word:
+	bpatch patch13_4,mem_patch13
+	preload access          /* load in access word ready to be sent */
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	inject mod,72
+	disable encode_fec0
+	rtn
+
+
+scan_mode_whiten:
+	copy xin,temp
+	or_into 0x60,temp                /* extend xin with 5->1, 6->1 */
+	copy temp,white_init
+	rtn
+
+
+
+	/* return blank if free amaddr is found */
+get_free_amaddr:
+	bpatch patch13_5,mem_patch13
+	fetch 1,mem_current_amaddr
+	increase 1,pdata
+	bne param_esco_addr,get_free_amaddr_cont
+	force 1,pdata
+get_free_amaddr_cont:
+	store 1,mem_current_amaddr
+	iforce am_addr
+	rtn
+
+get_clk:
+	copy clkn,temp
+	rtn master
+	copy clke,temp
+	rtn
+
+get_clkbt:
+	deposit clkn_bt
+	rtn master
+	deposit clke_bt
+	rtn
+
+
+supervision_update:
+	bpatch patch13_6,mem_patch13
+	fetcht 4,mem_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_supervision_to
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+supervision_flush:
+	bpatch patch13_7,mem_patch13
+	call get_clkbt
+	store 4,mem_supervision_timer
+	rtn
+
+assert:
+	bpatch patch14_0,mem_patch14
+	branch assert
+	
+loop:
+	branch loop
+
+sleep:	
+	rtn blank
+	/* sleep pdata clocks, only even clocks are accurate */
+	rshift pdata,pdata
+	increase -3,pdata
+sleep_loop:	
+	increase -1,pdata
+	nbranch sleep_loop,zero
+	force 0,pdata
+	rtn
+
+
+
+init_param:
+	/* clear specified sched ram */
+	arg 0x10,loopcnt
+	arg 0,contw
+	call memset0
+	arg mem_le_state,contw
+	arg 10,loopcnt
+	call memset0
+	jam 0,mem_sp_calc
+	jam 0,mem_fifo_temp
+	jam 0,mem_le_testtype
+	jam 0,mem_debug_config
+	jam 0,mem_lmp_conn_state
+	bpatch patch14_1,mem_patch14
+	jam 0,mem_connection_options
+	jam 0,mem_tester_emulate
+	jam 0,mem_tester_cnt
+	setarg param_glap
+	store 3,mem_glap
+	setarg param_acl_pktlen
+	store 2,mem_acl_pktlen
+	jam param_sco_pktlen,mem_sco_pktlen
+	jam param_acl_pktcnt,mem_acl_pktcnt
+	jam param_sco_pktcnt,mem_sco_pktcnt
+	setarg param_hci_version
+	store 3,mem_hci_version
+//	setarg param_lmp_version
+//	store 3,mem_lmp_version
+//	setarg param_lmp_subversion
+//	store 2,mem_lmp_subversion
+	jam 0x60,mem_fhs_misc		/* R1 for 1.28s ps interval,P2 */
+	jam param_max_slot,mem_max_slot
+	jam 0x02,mem_fw_ver		/* set firmware version */
+	fetch 1,mem_ssp_enable
+	ncall init_memp,blank
+	fetch 1,mem_le_secure_connect_enable
+	ncall init_memp_256,blank
+	bpatch patch14_2,mem_patch14
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+
+
+
+/*****************************************LPO************************************************/
+
+lpmstate:
+	setarg 0xee21
+	hstore 2,core_clkoff			// disable unused peripherals
+	hfetch 4,core_gpio_in
+	store 4,mem_saved_gpio_in
+	hfetch 1,core_lpm_ldocnt
+	store 1,mem_wakup_from_power_flag
+	bbit0 gpio_latch,loadcode		// power up boot
+	enable wake
+	bbit0 cold_wake,lpmwake		
+	disable wake
+	deposit auxcnt
+	nbranch lpmwake,blank		// sleep interrupted, wakeup
+	hfetch 1,core_lpm_ctrl + 3
+	bbit1 reload_code,lpmwake
+	arg param_hibernate_clks,temp
+	branch lpm_enter_sleep
+lpmwake:
+	hfetch 3,core_lpm_xtalcnt
+	hstore 3,core_lpm_reg
+	ifetch 1,contr
+	or_into isogate_mask,pdata		// open all isolation gate&power switch
+	istore 1,contw
+	call lpm_write_ctrl2
+	hfetch 1,core_lpm_isogate
+	set1 enable_retmem,pdata
+	hstore 1,core_lpm_isogate
+	call lpm_write_ctrl2
+	call lpm_load_context,wake
+	hfetch 1,core_lpm_reg+2
+	set0 gpio_latch,pdata			// enable gpio fuction
+	hstore 1,core_lpm_reg+2
+	call lpm_write_ctrl2
+	nbranch loadcode,wake		// wakeup from hibernate
+	rtnmark0 mark_otp_encrypt
+	hjam lock_otp,core_misc_ctrl	// disable further read/write of key
+	rtn 
+
+lpm_load_context:
+	fetch 1,mem_saved_spidctrl
+	hstore 1,core_spid_ctrl
+	fetch 3,mem_saved_gsel
+	hstore 3,core_gpio_sel
+	fetch 4,mem_saved_gpio+4
+	hstore 4,core_gpio_out0
+	fetch 4,mem_saved_gpio
+	hstore 4,core_gpio_oe0
+	fetch 8,mem_saved_gpio+8
+	hstore 8,core_gpio_pu0	
+	fetch 8,mem_saved_mark
+	iforce mark
+	hfetch 8,core_gpio_wakeup_low
+	store 8,mem_gpio_wakeup_low
+	call load_ucode
+	rtn
+
+lpm_save_context:
+	deposit mark
+	store 8,mem_saved_mark
+	hfetch 8,core_gpio_oe0
+	store 8,mem_saved_gpio
+	ifetch 8,contr
+	istore 8,contw
+	hfetch 3,core_gpio_sel
+	store 3,mem_saved_gsel
+	hfetch 1,core_spid_ctrl
+	store 1,mem_saved_spidctrl
+	branch lpm_write_gpio_wakeup
+
+lpo_calibration:
+	hfetch 1,core_bist_ctrl
+	nbranch lpo_cal_inited,blank
+	fetch 3,mem_clks_per_lpo
+	nrtn blank
+	hjam 0xc0,core_bist_ctrl
+	hjam ccnt_start,core_misc_ctrl
+lpo_cal_inited:
+	hfetch 1,core_perf_status
+	rtnbit0 1
+	hfetch 3,core_clk_counter
+	store 3,mem_clks_per_lpo
+	rtn
+
+
+	/* temp is synced clke */
+lpm_adjust_clk:
+	bpatch patch14_3,mem_patch14
+	deposit clke
+	call clk_diff_rt
+	fetcht 4,mem_sleep_counter_all
+	sub temp,0xff,null
+	rtn positive				// interval too small
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	arg param_lpm_adjmax,temp
+	call ceiling
+	store 1,mem_lpm_adjust
+	nbranch lpm_adjust_positive,user
+	sub pdata,0,pdata
+lpm_adjust_positive:
+	fetcht 3,mem_clks_per_lpo
+	iadd temp,pdata
+	store 3,mem_clks_per_lpo
+lpm_clear_counter:
+	setarg 0
+	store 4,mem_sleep_counter_all
+	rtn
+
+
+	/* temp is lpo counter for doze */
+lpm_doze:
+	fetch 1,mem_lpm_config+2
+	set1 reload_code,pdata
+	store 1,mem_lpm_config+2
+	branch lpm_hibernate_normal
+	
+
+	/* no retention memory at all */
+lpm_hibernate:
+	arg param_hibernate_clks,temp
+	fetch 1,mem_lpm_config+1
+	set0 7,pdata					/* lowest lpo */
+	store 1,mem_lpm_config+1
+lpm_hibernate_normal:
+	bpatch patch14_4,mem_patch14
+	call lpm_write_gpio_wakeup
+	fetch 1,mem_lpm_hibernate_switch
+	store 1,mem_lpm_xtalcnt + 4
+	fetch 1,mem_lpm_xtalcnt + 2
+	set1 cold_wake,pdata
+	store 1,mem_lpm_xtalcnt + 2
+
+	/* temp is lpo clocks to sleep */
+lpm_sleep:
+	bpatch patch14_5,mem_patch14
+	call xtal_fast_wake
+	fetch 4,mem_sleep_counter_all
+	iadd temp,pdata
+	store 4,mem_sleep_counter_all
+	call lpm_save_context
+	fetch 5,mem_lpm_xtalcnt
+	hstore 4,core_lpm_reg
+	rshift32 pdata,rega
+	until null,lpo_edge
+	deposit clkn
+	store 6,mem_sleep_clkn
+	hjam lpmreg_sel_ctrl2,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	deposit rega
+	hstore 1,core_lpm_isogate
+	hjam lpmreg_sel_ctrl2,core_lpm_wr
+lpm_enter_sleep:
+	until null,lpo_edge
+	until null,lpo_edge
+	hstoret 4,core_lpm_reg
+	hjam lpmreg_sel_counter,core_lpm_wr
+	until null,never
+
+
+
+
+lpm_recover_clk:
+	bpatch patch14_6,mem_patch14
+	setarg 0
+	copy auxcnt,null
+	branch lpm_recover_timeout,zero
+	hfetch 1,core_lpm_xtalcnt
+	hfetcht 1,core_lpm_buckcnt
+	isub temp,null
+	branch lpm_recover_xtal,positive
+	deposit temp
+lpm_recover_xtal:
+	isub auxcnt,pdata
+	increase 1,pdata
+lpm_recover_timeout:
+	increase 8,pdata
+	until null,lpo_edge
+	iadd lpo_time,pdata
+	fetcht 4,mem_sleep_counter
+	iadd temp,pdata
+	fetcht 3,mem_clks_per_lpo
+	imul32 temp,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	increase param_lpm_fix,pdata
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	fetcht 6,mem_sleep_clkn
+	call clk_add
+	copy temp,clkn
+	fetch 6,mem_context + coffset_clk_offset
+	call calc_clke2
+	deposit clke
+	store 6,mem_pdatatemp
+	deposit auxcnt
+	istore 1,contw
+	hfetch 1,core_gpio_in1
+	or_into 0xf0,pdata
+	istore 1,contw
+	rtn
+	
+lpm_dispatch:
+	bpatch patch14_7,mem_patch14
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank	
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							/* sco won't sleep */
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff
+	rtn blank										/* role switch */
+	rtn wake
+	bpatch patch15_0,mem_patch15
+	fetcht 1,mem_lpm_current_mult
+	fetch 2,mem_context + coffset_tsniff
+	imul32 temp,pdata
+	rshift4 temp,temp
+	rshift2 temp,temp
+	isub temp,pdata
+	fetcht 4,mem_context + coffset_sniff_anchor
+	iadd temp,pdata
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	lshift16 pdata,alarm
+	bpatch patch15_1,mem_patch15
+	fetch 2,mem_context + coffset_rx_window
+	rshift pdata,pdata
+	call clk2bt
+	deposit alarm
+	call clk_diff
+	copy clke,temp
+	call clk_diff_rt
+	rtn user
+lpm_dispatch_sleep:
+	call clk2lpo
+lpm_dispatch_lpo:
+	bpatch patch15_2,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	isub temp,null
+	branch lpm_clear_counter,positive
+	storet 4,mem_sleep_counter
+	call app_will_enter_lpm
+	call l2cap_lpm_save_txbuf
+	fetcht 4,mem_sleep_counter
+	branch lpm_sleep
+	
+lpm_dispatch_unconn:
+	bpatch patch15_3,mem_patch15
+	fetch 1,mem_context
+	rtnbit1 state_inconn					// wont sleep in connection
+	rtnbit1 state_inpage					// wont sleep when paging
+	fetch 1,mem_ssp_enable
+	branch lpm_unconn_nossp,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_unconn_nossp:
+	bpatch patch15_4,mem_patch15
+	fetch 1,mem_le_adv_enable
+	nbranch lpm_unconn_cont,blank
+	fetch 1,mem_scan_mode
+	rtn blank
+lpm_unconn_cont:
+	fetch 2,mem_lpm_interval
+	rtn blank
+lpm_sleep_btclk:
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	arg 7500,temp				/* 1.25ms */
+	imul32 temp,pdata
+	branch lpm_dispatch_sleep
+
+lpm_set_mult:
+	bpatch patch15_5,mem_patch15
+	disable wake
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	nbranch lpm_not_match,match
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	fetch 1,mem_arq
+	bbit1 wack,lpm_mult_short
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	call l2cap_malloc_is_fifo_empty
+	nbranch lpm_mult_short,blank
+	fetch 1,mem_classic_bt_flag
+	bbit1 SHORT_MULT_FLAG,lpm_mult_short
+lpm_mult_wait_timeout:
+	jam 0,mem_lpm_current_mult
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	fetch 1,mem_lpm_mult_cnt
+	branch lpm_mult_long,blank
+	increase -1,pdata
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+
+classic_bt_set_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_set_flag
+	
+classic_bt_clr_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_clr_flag
+
+
+
+lpm_match:
+	jam 0,mem_sniff_unint_lost
+	fetch 3,mem_sniff_rcv
+	increase 1,pdata
+	store 3,mem_sniff_rcv
+	rtn
+
+lpm_not_match:
+	bpatch patch15_6,mem_patch15
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_rx_window
+	iadd temp,pdata
+	store 2,mem_rx_window
+lpm_lost:
+	jam 0,mem_lpm_current_mult
+	fetch 3,mem_sniff_lost
+	increase 1,pdata
+	store 3,mem_sniff_lost
+	fetch 1,mem_sniff_unint_lost
+	increase 1,pdata
+	store 1,mem_sniff_unint_lost
+	rtn
+
+lpm_mult_short:
+	jam 0,mem_lpm_current_mult
+	fetch 1,mem_lpm_mult_timeout
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+lpm_mult_long:
+	fetcht 1,mem_lpm_mult
+	storet 1,mem_lpm_current_mult
+	rtn
+
+lpm_cal_xtal_startup:
+	bpatch patch15_7,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	hjam clksel_rc,core_clksel
+	setarg 0xf0c
+	call lpm_write_config
+	setarg 200000
+	call sleep
+	until null,lpo_edge
+	copy lpo_time,alarm
+	call xtal_fast_wake
+	hjam clksel_xtal,core_clksel
+	nop 10
+	until null,lpo_edge
+	deposit lpo_time
+	isub alarm,pdata
+	increase 0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	
+	rtn
+
+lpm_cal_xtal_startup_by_snooze:
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	hjam 0xff,core_xtal_stable_time
+	hjam clksel_rc,core_clksel
+	call xtal_fast_wake
+	setarg 1000
+	iadd lpo_time,alarm
+	snooze
+	deposit lpo_time
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	isub alarm,pdata
+	add pdata,0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	//delay 90000 nop
+	rtn
+
+
+
+	/* pdata is lpm_reg[11:0] */
+lpm_write_config:
+	arg 0xfff,contw
+	iand contw,contw
+	fetch 1,mem_lpm_config
+	and_into 0xf0,pdata
+	lshift8 pdata,pdata
+	ior contw,pdata
+	hstore 2,core_lpm_reg
+	ifetch 2,contr
+	istore 2,contw
+
+lpm_write_ctrl:
+	setarg lpmreg_sel_ctrl
+	branch lpm_write
+
+lpm_write_ctrl2:
+	setarg lpmreg_sel_ctrl2
+lpm_write:
+	until null,lpo_edge
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+
+
+lpm_write_gpio_wakeup:
+	bpatch patch16_0,mem_patch16
+	fetch 4,mem_gpio_wakeup_low
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiolow
+	call lpm_write
+	fetch 4,mem_gpio_wakeup_high
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiohigh
+	branch lpm_write
+
+lpm_get_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset1 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_put_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset0 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+
+
+lpm_check_wake_lock:
+	bpatch patch16_1,mem_patch16
+	call app_check_wake_lock
+	fetch 2,mem_lpm_wake_lock
+	copy pdata,rega
+	fetch 1,mem_state_map
+	isolate1 smap_rxlmp,pdata
+	setflag true,wake_lock_lmp_rx,rega
+	fetch 1,mem_lmo_opcode1
+	fetcht 1,mem_lmo_opcode2
+	iadd temp,pdata
+	fetcht 1,mem_lmp_to_send
+	iadd temp,pdata
+	nsetflag blank,wake_lock_lmp_tx,rega
+	fetch 1,mem_le_tx_buff_used
+	nsetflag blank,wake_lock_ble_tx,rega
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_l2cap_rxbuff2_len
+	iadd temp,pdata
+	nsetflag blank,wake_lock_l2cap_rx,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	nsetflag blank,wake_lock_ipc_bt2c51,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	nsetflag blank,wake_lock_ipc_c512bt,rega
+	fetch 1,mem_hci_cmd
+	nsetflag blank,wake_lock_cmd,rega
+	fetch 1,mem_device_option
+	compare dvc_op_module,pdata,0xff
+	call lpm_uart_wake_lock,true
+	setarg -8
+	iand rega,rega
+	copy rega,pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_uart_wake_lock:
+	hfetch 2,core_uart_rxitems
+	nsetflag blank,wake_lock_uart_rx ,rega
+	hfetch 2,core_uart_txitems
+	nsetflag blank,wake_lock_uart_tx ,rega
+	rtn
+
+lpm_shut_down:
+	hfetch 4,core_lpm_ctrl
+	set0 27,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	branch assert
+	
+lpm_disable_exen_output:
+	hfetch 4,core_lpm_xtalcnt
+	set0 20,pdata
+	hstore 4,core_lpm_reg
+	branch lpm_write_ctrl2
+
+check_bt_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 bt_disabled,assert
+	rtn
+check_ble_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 ble_disabled,assert
+	rtn
+check_module_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 module_disable,assert
+	rtn
+
+
+
+
+
+
+
+//p_check_attempt_sniff:
+//	bbit0 state_insco,p_check_attempt_not_sco
+//	fetch 1,mem_current_sniff_attempt
+//	beq 2,p_check_attempt_sniff_restore_sco
+//	fetch 1,mem_arq
+//	bbit1 wack,p_check_attempt_notimeout
+//	bmark0 mark_esco_rxok,p_check_attempt_notimeout
+//p_check_attempt_sniff_restore_sco:
+//	nbranch p_check_attempt_notimeout,master
+//	fetch 1,mem_lmp_to_send
+//	nbranch p_check_attempt_notimeout,blank
+//p_check_attempt_sco_master:
+//	fetch 1,mem_sco_poll
+//	increase -1,pdata
+//	store 1,mem_sco_poll
+//	nbranch check_attempt_nomore,blank
+//	jam param_sco_poll,mem_sco_poll
+//	branch check_attempt_notimeout
+//p_check_attempt_not_sco:
+//	compare type_null,type,0x1f
+//	branch check_timeout,true
+//	compare type_poll,type,0x1f
+//	branch check_timeout,true
+//	branch check_anchor_end
+//p_check_attempt_notimeout:
+//check_atttemp_decrease:
+//	fetch 1,mem_current_sniff_attempt
+//	increase -1,pdata
+//	store 1,mem_current_sniff_attempt
+//	rtn
+//check_timeout:
+//	fetch 1,mem_sniff_timeout_temp
+//	increase 1,pdata
+//	store 1,mem_sniff_timeout_temp
+//check_anchor_end:
+//	fetch 1,mem_current_sniff_attempt
+//	branch check_anchor_end_attempt0,blank
+//	call check_atttemp_decrease
+//	nrtn blank
+//check_anchor_end_attempt0:  
+//	fetch 1,mem_sniff_timeout_temp
+//	fetcht 1,mem_current_sniff_timeout
+//	isub temp,null
+//	branch p_blank,positive
+//	arg 1,pdata
+//	rtn
+//p_blank:
+//	arg 0,pdata
+//	rtn
+
+
+
+
+g24_dispatch:
+	bpatch patch16_2,mem_patch16
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_mode
+	rtneq disable_24g
+	beq tx_24g,g24_transmit_process
+	beq rx_24g,g24_receive_process
+	rtn
+
+g24_head_ptr2regc:
+	fetcht 2,mem_24g_head_ptr
+	copy temp,regc
+	rtn
+
+g24_receive_process_init:
+	call g24_receive_init
+	branch g24_mode_switch_init
+
+g24_receive_process:
+	call g24_mode_switch
+	call g24_dongle_work_mode_auto
+	call g24_dongle_bind_mode_auto
+	branch g24_dongle_search_mode_auto
+	
+
+g24_pair_init:
+	//jam 0,mem_24g_pid
+	//jam G24_PAIR_CH,mem_24g_ch
+	call g24_set0_mem_pid
+	setarg G24_PAIR_CH
+	call g24_store_mem_ch
+	call g24_store_mem_pair_txpower
+	//fetch 4,mem_24g_paring_addr
+	//store 4,mem_24g_addr
+	add regc,offset_24g_paring_addr,rega
+	ifetch 4,rega
+	branch g24_store_mem_addr
+		
+g24_ch:
+	call g24_head_ptr2regc
+	add regc,offset_24g_current_ch_number,regb
+	ifetcht 1,regb
+	//fetcht 1,mem_24g_current_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	add regc,offset_24g_current_ch_number,contw
+	//storet 1,mem_24g_current_ch_number
+	branch g24_contw_istoret_1byte
+
+g24_ch_temp_incre_size4:
+	call g24_ch_calc
+	increase 1,temp
+	and_into 3,temp
+	rtn
+
+g24_ch_calc:
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_addr
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	add regc,offset_24g_ch_map1,pdata
+	//setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	//store 1,mem_24g_ch
+	branch g24_store_mem_ch
+
+g24_set_device_addr:
+	call g24_store_mem_tx_power_temp
+	call otp_enable_chgpump
+	setarg 0x7e2
+	arg mem_temp,rega
+	arg 4,temp
+	call otpd_read_data
+	call otp_disable_chgpump
+	fetch 4,mem_temp	//adc data from otp
+	call g24_store_mem_device_addr
+	//store 4,mem_24g_device_addr	
+	nrtn blank
+	fetch 4,mem_lap
+	//store 4,mem_24g_device_addr
+	branch g24_store_mem_device_addr
+
+g24_transmit_rf_sta_init:
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	setarg 0
+	call g24_store_mem_sync_cnt
+	//jam 0,mem_24g_sync_cnt
+g24_transmit_rf_ctrl_clear:	
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	//store 1,mem_24g_data_type
+	branch g24_store_mem_data_type
+	
+g24_hop_ch_enable:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	//store 1,mem_24g_txpayload
+	branch g24_store_mem_txpayload
+	
+g24_transmit_hop_pac_fail:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_fail_wo_hop
+	beq 2,g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+	
+g24_transmit_hop_pac_fail_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_fail_stage1:
+	add regc,offset_24g_hop_pac_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_hop_pac_retry
+	call g24_store_mem_rf_last_sta
+	//jam 0,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_hop_pac_fail_hop_stage2:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	branch g24_transmit_hop_pac_fail_stage1
+
+g24_transmit_pac_fail_hop_stage3:
+	add regc,offset_24g_txfail_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txfail_cnt
+	increase 1,pdata
+	add regc,offset_24g_txfail_cnt,contw
+	istore 1,contw
+	//store 1,mem_24g_txfail_cnt
+	beq 0x20,g24_tx_attempt_fail
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	beq 1,g24_rf_hop_fastly
+	setarg 1
+	call g24_store_mem_rf_hop_ch
+	//jam 1,mem_24g_rf_hop_ch
+g24_rf_hop_attemp_again:
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	bne 1,g24_transmit_rf_ctrl_clear
+g24_rf_hop_fastly:
+	add regc,offset_24g_hop_fastly_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	call g24_store_mem_hop_fastly_cnt
+	//store 1,mem_24g_hop_fastly_cnt
+	beq 4,g24_rf_hop_fastly_exit
+	call g24_ch
+	call g24_set2_mem_max_retry
+	//jam 2,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_rf_hop_fastly_exit:
+	call g24_set0_mem_hop_fastly_cnt
+	//jam 0,mem_24g_hop_fastly_cnt
+	branch g24_transmit_rf_ctrl_clear
+
+g24_set0_mem_hop_fastly_cnt:
+	setarg 0
+g24_store_mem_hop_fastly_cnt:
+	add regc,offset_24g_hop_fastly_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_transmit_hop_pac_succ_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_succ:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_succ_rf_config:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_hop_pac_succ
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch g24_transmit_rf_sta_init,true
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_succ_wo_hop
+	beq 2,g24_transmit_hop_pac_succ
+	rtn
+
+g24_rf_sta_check:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_rf_laststa_synccnt_check
+	ncall g24_rf_sync_cnt_check,user2
+	rtn
+
+g24_rf_laststa_synccnt_check:
+	disable user2
+	add regc,offset_24g_rf_last_sta,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	setarg 1
+	call g24_store_mem_rf_work_stage
+	//jam 1,mem_24g_rf_work_stage
+	call g24_set4_mem_max_retry
+	//jam 4,mem_24g_max_retry
+	branch enable_user2
+
+g24_rf_sync_cnt_check:
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	branch g24_rf_hop_attemp,blank
+	increase -1,pdata
+	call g24_store_mem_sync_cnt
+	//store 1,mem_24g_sync_cnt
+	setarg 2
+	call g24_store_mem_rf_work_stage
+	//jam 2,mem_24g_rf_work_stage
+	call g24_ch
+	//jam 4,mem_24g_max_retry
+	branch g24_set4_mem_max_retry
+
+g24_store_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,contw
+	branch g24_contw_istore_1byte
+
+
+g24_rf_hop_attemp:
+	setarg 3
+	call g24_store_mem_rf_work_stage
+	//jam 3,mem_24g_rf_work_stage
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	nbranch g24_rf_hop_attemp_again,blank
+	call g24_ch
+	//jam 2,mem_24g_max_retry
+g24_set2_mem_max_retry:	
+	setarg 2
+	branch g24_store_mem_max_retry
+
+g24_transmit_process:
+	rtnmark0 mark_24g
+	set1 mark_24g_conext,mark
+	bpatch patch16_3,mem_patch16
+	add regc,offset_24g_tx_without_int,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_tx_without_int
+	beq 1,g24_transmit_without_int
+	call g24_timer_check
+	nbranch g24_transmit_exit,user
+	call g24_interval_calibrate
+g24_transmit_without_int:
+	add regc,offset_24g_tx_without_int,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_tx_without_int
+	call g24_txdata_prep
+	nbranch g24_enter_lpm,user
+	call g24_rf_sta_check
+g24_transmit_start:
+	call g24_transmit_packet
+	call g24_power_ctrl
+g24_transmit_exit:
+	set0 mark_24g_conext,mark
+	rtn
+
+g24_timer_timeout:
+	rtn zero
+	set1 28,pdata
+	rtn
+
+g24_interval_calibrate:
+	add regc,offset_24g_pac_index,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	add regc,offset_24g_pac_index,contw
+	istore 1,contw
+	//store 1,mem_24g_pac_index
+	beq 4,g24_interval_max
+	beq 5,g24_interval_min
+	rtn
+g24_interval_max:
+	add regc,offset_24g_interval_max,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_max
+g24_interval_update:	
+	//store 1,mem_24g_interval
+	add regc,offset_24g_interval,contw
+	branch g24_contw_istore_1byte
+
+g24_interval_min:
+	add regc,offset_24g_pac_index,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_pac_index
+	add regc,offset_24g_interval_min,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_min
+	branch g24_interval_update
+
+g24_txdata_prep:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_pairing_sm
+	bpatch patch16_4,mem_patch16
+	call g24_package_data
+	nbranch g24_txdata_last_pac,user
+	call g24_transmit_prep
+	call g24_power_ctrl_pac_incrs
+g24_txdata_enable_tx:
+	//jam ENSURE_ON_24G,mem_24g_ensure
+	setarg ENSURE_ON_24G
+g24_store_mem_ensure:	
+	add regc,offset_24g_ensure,contw
+	branch g24_contw_istore_1byte
+
+g24_txdata_last_pac:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	rtn
+
+g24_package_data:
+	//rega:length,regb:contr
+	add regc,offset_24g_cb_data,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_data
+	call callback_func
+	nrtn user
+	copy rega,pdata
+	store 1,mem_rega
+	add regc,offset_24g_abort_pac,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_abort_pac
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	fetch 1,mem_rega
+	copy pdata,rega
+	add rega,1,temp
+	arg mem_24g_common_temp+1,contw
+	copy rega,loopcnt
+	copy regb,contr
+	call memcpy
+	arg mem_24g_common_temp,rega
+g24_put_data_in_buff:
+	rtnmark0 mark_24g_conext
+	add regc,offset_24g_datalen,contw
+	istoret 1,contw
+	//storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+g24_transmit_prep:
+// total length
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	increase 2,pdata
+	add regc,offset_24g_txlen,contw
+	istore 1,contw
+	//store 1,mem_24g_txlen
+// data type
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_store_mem_txpayload
+	//store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	add regc,offset_24g_pid,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	add regc,offset_24g_no_ack,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	iforce loopcnt
+	add regc,offset_24g_txbuf,contr
+	//arg mem_24g_txbuf,contr
+	branch memcpy
+
+g24_send_abort_packet:
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_power_ctrl_reinit
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	call g24_put_data_in_buff_pre
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch g24_transmit_start
+
+g24_put_data_in_buff_pre:
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	branch g24_put_data_in_buff
+
+g24_enter_lpm:
+	add regc,offset_24g_abort_pac,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_abort_pac
+	branch g24_send_abort_packet,blank
+g24_enter_lpm_prepare:
+ 	// some thing need to do and do not enter 24g long sleep
+	add regc,offset_24g_cb_lpm_prepare,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_lpm_prepare
+	branch callback_func
+
+g24_lpm_long_sleep:
+	call g24_head_ptr2regc
+	//fetch 8,mem_24g_enter_hibernate
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	add regc,offset_24g_cb_lpm_before,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_lpm_before
+	call callback_func
+	add regc,offset_24g_enter_hibernate,temp
+	ifetch 8,temp
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+g24_transmit_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_retry
+g24_transmit_loop:
+	call g24_transmit_receive_ack
+	nbranch g24_retransmit,sync
+	nbranch g24_retransmit,user3
+	call g24_ackpayload_parse
+	call g24_power_ctrl_ack_incrs
+g24_transmit_next_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pid
+	increase 1,pdata
+	call g24_store_mem_pid
+	//store 1,mem_24g_pid
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_paring_mode
+	call g24_transmit_succ_rf_config
+g24_transmit_abandon:
+	setarg 0
+	add regc,offset_24g_txfail_cnt,contw
+	istore 2,contw	//include mem_24g_get_ack_fail
+	//store 1,mem_24g_txfail_cnt
+	//store 1,mem_24g_get_ack_fail
+	//jam ENSURE_OFF_24G,mem_24g_ensure
+	setarg ENSURE_OFF_24G
+	branch g24_store_mem_ensure
+
+	
+g24_transmit_receive_ack:
+	disable user3
+	call g24_transmit
+	call g24_head_ptr2regc
+	add regc,offset_24g_no_ack,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_no_ack
+	beq no_ack_24g,g24_transmit_no_ack	//tx no ack
+	call g24_receive_packet
+	branch g24_end_of_packet
+g24_transmit_no_ack:
+	call g24_end_of_packet
+	branch g24_transmit_next_packet
+
+
+g24_retransmit:
+	bpatch patch16_5,mem_patch16
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	add regc,offset_24g_get_ack_fail,contw
+	istore 1,contw
+	//store 1,mem_24g_get_ack_fail
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_tx_paring_retry
+	add regc,offset_24g_retry,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_retry
+	increase 1,temp
+	add regc,offset_24g_retry,contw
+	istoret 1,contw
+	//storet 1,mem_24g_retry
+	add regc,offset_24g_max_retry,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch g24_transmit_loop,blank
+	bpatch patch16_6,mem_patch16
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_pac_fail_hop_stage3
+	add regc,offset_24g_hop_pac_retry,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	add regc,offset_24g_hop_pac_retry,contw
+	istore 1,contw
+	//store 1,mem_24g_hop_pac_retry
+	beq 2,g24_transmit_hop_pac_fail
+	call g24_hop_ch_enable
+	setarg 1
+	call g24_store_mem_max_retry
+	//jam 1,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_tx_paring_retry:
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	add regc,offset_24g_get_ack_fail,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_get_ack_fail
+	branch g24_stop_24g_mode
+
+g24_tx_attempt_fail:
+	add regc,offset_24g_txfail_cnt,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_txfail_cnt
+g24_stop_24g_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_ackpayload_parse:
+	call g24_read_len_pid_crc
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	add regc,offset_24g_rxbuf_add2,contr
+	//arg mem_24g_rxbuf+2,contr
+	add regc,offset_24g_rxpayload,contw	
+	//arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+
+g24_read_len_pid_crc:
+//read control
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	add regc,offset_24g_rxdata_length,contw
+	istore 1,contw
+	//store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	add regc,offset_24g_rxbuf_add1,contr
+	//arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	add regc,offset_24g_sta_crc,contw
+	istore 3,contw
+	//store 3,mem_24g_sta_crc
+//read pid
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	add regc,offset_24g_sta_pid,contw
+	istore 1,contw
+	//store 1,mem_24g_sta_pid
+	rtn
+
+g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	rtn
+
+g24_set_freq_tx:
+	call set_sync_on
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+g24_transmit:
+	call g24_prep
+	call g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	inject mod,32
+	enable enable_crc
+	add regc,offset_24g_txlen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txlen
+	iforce loopcnt
+	add regc,offset_24g_txpayload,contr
+	//arg mem_24g_txpayload,contr
+g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop g24tr_loop
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	bpatch patch16_7,mem_patch16
+	nop 100
+	disable encode_fec0
+	rtn
+
+g24_receive_packet:
+	disable user3
+	force 0,radio_ctrl
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	call set_freq_rx
+	call rf_rx_enable
+g24_receive_rxon:
+	call g24_prep
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	enable swfine
+	add regc,offset_24g_rx_window,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch g24_sync_timeout,sync
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	add regc,offset_24g_rxbuf,contw
+	istore 1,contw	
+	//store 1,mem_24g_rxbuf	//device id
+	add regc,offset_24g_mode,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_mode
+	beq rx_24g,g24_receive_skip
+	bpatch patch17_0,mem_patch17
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	add regc,offset_24g_data_type,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch g24_end_of_packet,true
+g24_receive_skip:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch g24rx_nopayload,zero
+g24rx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop g24rx_loop
+g24rx_nopayload:
+	parse demod,bucket,24
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch g24_end_of_packet,crc_failed
+	enable user3
+	disable decode_fec0
+	rtn
+//	branch rssi_signal
+
+g24_end_of_packet:
+	disable encode_fec0
+	disable decode_fec0
+	disable enable_crc
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+
+g24_sync_timeout:
+	call rssi_noise
+	branch g24_end_of_packet
+
+rssi_noise:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_noise_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_index
+	arg mem_rssi_noise_buffer,rega
+	//arg mem_rssi_noise_buf,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_index,contw
+	//storet 1,mem_rssi_noise_index
+g24_contw_istoret_1byte:	
+	istoret 1,contw
+	rtn
+
+rssi_noise_store:
+	arg RSSI_BUF_LEN_NOISE,regb
+	branch rssi_store
+	
+/*	
+rssi_signal:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_signal_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_signal_index
+	add regc,offset_rssi_signal_buf,rega
+	//arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL,regb
+	call rssi_store
+	add regc,offset_rssi_signal_index,contw
+	istoret 1,contw	
+	//storet 1,mem_rssi_signal_index
+	rtn
+*/	
+rssi_store:	
+	copy rega,pdata
+	iadd temp,contw
+	fetch 1,mem_rssi
+	istore 1,contw
+	increase 1,temp
+	copy regb,pdata
+	iand_into temp
+	rtn
+	
+rssi_average:
+	arg 0,temp
+	copy rega,contr
+rssi_average_loop:	
+	ifetch 1,contr
+	iadd temp,temp
+	loop rssi_average_loop
+	rshift8 temp,temp
+	rtn
+
+g24_power_ctrl_init:
+	call g24_head_ptr2regc
+	call g24_power_ctrl_incrs_level1
+	setarg 1
+	call g24_store_mem_power_ctrl_level
+	//jam 1,mem_power_ctrl_level
+g24_power_ctrl_reinit:
+	setarg 0
+	call g24_store_mem_power_ctrl_pac
+	//jam 0,mem_power_ctrl_packet_cnt
+	istore 1,contw
+	//jam 0,mem_power_ctrl_ack_cnt
+	rtn
+
+g24_power_ctrl_pac_incrs:
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	increase 1,pdata
+g24_store_mem_power_ctrl_pac:	
+	//store 1,mem_power_ctrl_packet_cnt
+	add regc,offset_power_ctrl_packet_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl_ack_incrs:
+	//fetch 1,mem_power_ctrl_ack_cnt
+	//store 1,mem_power_ctrl_ack_cnt
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetch 1,rega
+	increase 1,pdata
+	add regc,offset_power_ctrl_ack_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl:
+	bpatch patch17_1,mem_patch17
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	sub pdata,POWER_CTRL_MAX_PACKET_CNT,null
+	rtn positive
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_power_ctrl_ack_cnt
+	isub temp,temp	//loss packet cnt
+	call g24_power_ctrl_reinit
+	setarg offset_power_ctrl_threshold_up
+	iadd regc,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_threshold_up
+	isub temp,null
+	nbranch g24_power_ctrl_incrs,positive
+	setarg offset_power_ctrl_threshold_down
+	iadd regc,rega
+	ifetch 1,rega	
+	//fetch 1,mem_power_ctrl_threshold_down
+	isub temp,null
+	branch g24_power_ctrl_decrs,positive
+	rtn
+
+g24_power_ctrl_incrs:	
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 2,g24_power_ctrl_incrs_level2
+	increase 1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 1,g24_power_ctrl_incrs_level1
+g24_power_ctrl_incrs_level2:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP2
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP2,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN2
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN2,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN2,mem_rssi_ctrl_threshold_down
+	add regc,offset_power_ctrl_txpwr_level2,rega
+	//fetch 1,mem_power_ctrl_txpwr_level2
+	branch g24_ifetch_rega_store_mem_txpower
+
+g24_power_ctrl_decrs:
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+	increase -1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+g24_power_ctrl_decrs_level1:
+//	call rssi_check_distance
+//	nrtn user
+g24_power_ctrl_incrs_level1:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP1
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP1,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN1
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN1,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN1,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level1
+g24_iadd_offset_mem_txpower:	
+	iadd regc,rega
+g24_ifetch_rega_store_mem_txpower:	
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_txpwr_level1
+	branch g24_store_mem_txpower
+	
+g24_power_ctrl_decrs_level0:
+//	call rssi_check_distance
+//	nrtn user
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP0
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP0,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN0
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN0,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN0,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level0
+	//fetch 1,mem_power_ctrl_txpwr_level0
+	branch g24_iadd_offset_mem_txpower
+
+/*
+rssi_check_distance:
+	disable user
+	arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+	call rssi_average
+	storet 1,mem_rssi_signal_avg
+	fetch 1,mem_rssi_ctrl_threshold_down
+	isub temp,null
+	branch enable_user,positive
+	rtn
+*/
+g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call g24_pair_init
+g24_set_pairing_sm_1:
+	//jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	setarg STATE_24G_PAIRING_1
+	branch g24_store_mem_pairing_sm
+
+g24_pairing_sm:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,g24_pairing_sm_3
+	branch assert
+
+g24_pairing_sm_1:
+	setarg STATE_24G_PAIRING_1_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_2:
+	setarg STATE_24G_PAIRING_2_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_3:
+	setarg STATE_24G_PAIRING_3_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+g24_pairing_sm_common:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call g24_put_data_in_buff	
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch enable_user
+
+g24_paring_mode:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,g24_pairing_sm_3_waiting_ack
+	rtn
+
+g24_pairing_sm_1_waiting_ack:
+	setarg STATE_24G_PAIRING_2
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_2_waiting_ack:
+	setarg STATE_24G_PAIRING_3
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_3_waiting_ack:
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_rxpayload+2
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_transmit_abandon
+
+g24_auto_pair_start:
+	set0 mark_24g,mark
+	call g24_auto_pair_set_device_info
+	call g24_tx_attemp_data_prep
+g24_auto_pair_restart:	
+	call g24_set0_mem_check_dongle_times
+g24_auto_pair_start_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_auto_pair_retry,sync
+	nbranch g24_auto_pair_retry,user3
+	call g24_ackpayload_parse
+	call g24_head_ptr2regc
+	add regc,offset_24g_paring_addr,rega
+	ifetcht 4,rega
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_start_pairing_sm1,zero
+	call g24_head_ptr2regc
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	beq 0,g24_auto_pair_restart
+	call g24_store_mem_addr
+	branch g24_tx_attemp_dongle_succ
+
+g24_auto_pair_retry:
+	call g24_fetch_mem_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+
+	call g24_fetch_mem_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_auto_paring_switch
+	beq 0,g24_auto_pair_device_attemp
+	beq 1,g24_auto_pair_pair_attemp
+	rtn
+
+g24_fetch_mem_auto_paring_switch:
+	setarg offset_24g_auto_pair_switch
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_auto_paring_switch:
+	arg offset_24g_auto_pair_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_auto_pair_set_device_info:
+	call g24_store_mem_tx_power
+	call g24_fetch_mem_device_addr
+	call g24_store_mem_addr
+	branch g24_ch
+
+g24_auto_pair_device_attemp:
+	call g24_auto_pair_set_device_info
+	branch g24_auto_pair_start_loop
+
+g24_auto_pair_pair_attemp:
+	call g24_pair_init
+	branch g24_auto_pair_start_loop
+
+
+g24_start_24g_mode:
+	set0 mark_24g,mark
+	call g24_ch
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_tx_attemp_data_prep
+	call g24_set0_mem_check_dongle_times
+	//jam 0,mem_24g_check_dongle_times
+g24_tx_attemp_dongle_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_attemp_txdata_retry,sync
+	nbranch g24_attemp_txdata_retry,user3
+g24_tx_attemp_dongle_succ:	
+	set1 mark_24g,mark
+	call g24_set0_mem_check_dongle_times
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam 0,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_tx_attemp_data_prep:
+	set1 mark_24g_conext,mark
+	jam 0xff,mem_24g_common_temp
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_put_data_in_buff_pre
+	branch g24_transmit_prep
+	
+g24_attemp_txdata_retry:
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+	//store 1,mem_24g_check_dongle_times
+	call g24_ch
+	branch g24_tx_attemp_dongle_loop
+
+g24_check_51cmd_start_24g:
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch g24_start_24g_mode
+/*	
+g24_check_51cmd_stop_24g:
+	call g24_store_mem_tx_power
+	set0 mark_24g,mark
+	branch le_disable
+*/
+
+
+dongle_init:
+	bpatch patch17_2,mem_patch17
+	call g24_head_ptr2regc
+	setarg dongle_rxdata_type1
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+	//store 2,mem_24g_cb_rxdata_type1
+	call g24_receive_init
+	call usb_init
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	bpatch patch17_3,mem_patch17
+	beq 0x00,dongle_auto_bind
+	beq 0x01,dongle_pc_bind
+	beq 0x0f,dongle_all_powerful
+	branch assert
+
+g24_receive_init:
+	call g24_store_mem_tx_power_temp
+	arg 0x80,loopcnt
+	arg mem_rssi_noise_buffer,contw
+	branch memset0
+
+dongle_all_powerful:
+	call dongle_check_mode
+dongle_all_powerful_loop:
+	call g24_dongle_work_mode
+	call usb_isr
+	branch dongle_all_powerful_loop
+
+dongle_pc_bind:
+	bpatch patch17_4,mem_patch17
+	call dongle_check_mode
+dongle_pc_bind_loop:	
+	call g24_dongle_work_mode
+	call g24_dongle_bind_mode
+	call usb_isr
+	call dongle_usb_dispatch
+	branch dongle_pc_bind_loop
+
+dongle_check_mode:
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//jam 0,mem_24g_ackpayload_enable
+	call g24_set_work_mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	branch g24_set0_mem_ackpayload_enable
+	
+g24_dongle_work_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+g24_dongle_work_mode_start:
+	call g24_dongle_work_init
+	call g24_ch_process
+	call g24_receive_packet_start
+	branch g24_blank_data_process
+
+g24_dongle_work_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_WORK
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	call g24_set0_mem_ackpayload_enable
+	//jam 0,mem_24g_ackpayload_enable
+	jam 0,mem_usb_tx_enable
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_dongle_init
+g24_rx_interrupt_clear:
+	add regc,offset_24g_rxbuf,contw
+	//arg mem_24g_rxbuf,contw
+	arg 66,loopcnt
+	branch clear_mem
+
+g24_dongle_init:
+	call g24_set0_mem_pid
+	//jam 0,mem_24g_pid
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_ch
+
+g24_ch_process:
+	bpatch patch17_5,mem_patch17
+	call g24_fetch_mem_abort_pac
+	//fetch 1,mem_24g_abort_pac
+	beq 1,g24_noise_rssi
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	beq 1,g24_ch	
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetcht 4,rega
+	//fetcht 4,mem_24g_hop_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetch 4,rega
+	copy pdata,temp
+	//fetch 4,mem_24g_hop_btclk
+	setarg offset_24g_hop_interval
+	iadd regc,rega
+	copy temp,pdata
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_hop_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	setarg offset_24g_hop_btclk
+	iadd regc,contw
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+g24_ch_update:
+	call g24_ch
+	call g24_fetch_mem_rf_laststa
+	//fetch 1,mem_24g_rf_laststa
+	increase 1,pdata
+	call g24_store_mem_rf_laststa
+	//store 1,mem_24g_rf_laststa
+	rtnne 2
+	call g24_set0_mem_rf_laststa
+	//jam 0,mem_24g_rf_laststa
+	//jam 1,mem_24g_abort_pac
+	//rtn
+	branch g24_set1_mem_abort_pac
+	
+g24_ch_timer_reinit:
+	copy clkn_bt,pdata
+	arg offset_24g_hop_btclk,rega
+	call g24_set_contw_with_temp
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+	//jam 0,mem_24g_rf_laststa
+	//rtn
+	branch g24_set0_mem_rf_laststa
+
+g24_noise_rssi:
+	arg mem_rssi_noise_buffer,rega
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive	
+	branch g24_ch
+
+g24_noise_rssi_average:
+	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+	branch rssi_average
+
+g24_blank_data_process:
+	call g24_ms_blank_data
+	call g24_kb_blank_data
+	branch g24_kb_mul_blank_data
+
+g24_ms_blank_data:
+	setarg offset_24g_ms_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_blank_data_enable
+	rtn blank
+	arg TIMER_MS_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data
+	setarg 0
+	istore 7,contw
+	branch g24_data_type1_usbtx_enable
+
+g24_kb_blank_data:
+	setarg offset_24g_kb_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_blank_data_enable
+	rtn blank
+	arg TIMER_KB_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+	arg mem_usb_kb_data,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_NORMAL_REPORT_ID,mem_usb_kb_data
+	branch g24_kb_data_into_ep1_fifo
+
+g24_kb_mul_blank_data:
+	setarg offset_24g_kb_mul_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_mul_blank_data_enable
+	rtn blank
+	arg TIMER_KB_MUL_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+	arg mem_usb_kb_multikey,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_MULTIKEY_REPORT_ID,mem_usb_kb_multikey
+	branch g24_kb_mul_data_into_ep2_fifo
+
+g24_dongle_bind_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	branch g24_dongle_bind_data_process
+
+g24_dongle_bind_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_BIND
+	set1 DONGLE_BIND,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	call g24_pair_init
+	setarg 0
+	arg offset_dongle_ms_bind_step,rega
+	call g24_set_contw_with_temp
+	//store 3,mem_dongle_ms_bind_step
+	branch g24_contw_istore_3byte
+
+g24_dongle_bind_data_process:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3	
+	add regc,offset_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	arg 8,loopcnt
+	call memcpy
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	beq DATATYPE_BIND,g24_dongle_bind_first_step	//bind step 1
+	beq DATATYPE_CONFIG,g24_dongle_bind_second_step
+	beq DATATYPE_OK,g24_dongle_bind_third_step
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_first_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_first_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_first_step_keyboard
+	rtn
+g24_dongle_bind_first_step_mouse:
+	setarg 1
+	call g24_store_mem_ms_bind_step
+	//jam 1,mem_dongle_ms_bind_step
+g24_dongle_bind_ms_payload_cfg:
+	setarg DATATYPE_MOUSE
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_MOUSE,mem_24g_bind_payload
+g24_dongle_bind_payload_cfg:	
+	setarg 0x80
+	arg offset_24g_bind_payload_add1,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 0x80,mem_24g_bind_payload+1
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	arg offset_24g_bind_payload_add2,rega
+	call g24_set_contw_with_temp
+	//store 4,mem_24g_bind_payload+2
+	branch g24_contw_istore_4byte
+
+g24_dongle_bind_first_step_keyboard:
+	setarg 1
+	call g24_store_mem_kb_bind_step
+	//jam 1,mem_dongle_kb_bind_step
+g24_dongle_bind_kb_payload_cfg:
+	setarg DATATYPE_KEYBOARD
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_KEYBOARD,mem_24g_bind_payload
+	branch g24_dongle_bind_payload_cfg
+		
+g24_dongle_bind_second_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_second_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_second_step_keyboard
+	rtn
+g24_dongle_bind_second_step_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 1,g24_dongle_ms_bind_step_set2
+	rtn
+g24_dongle_ms_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_ms_bind_step
+g24_store_mem_ms_bind_step:
+	arg offset_dongle_ms_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_dongle_bind_second_step_keyboard:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	beq 1,g24_dongle_kb_bind_step_set2
+	rtn
+g24_dongle_kb_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_kb_bind_step
+g24_store_mem_kb_bind_step:
+	arg offset_dongle_kb_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_dongle_bind_third_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_third_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_third_step_keyboard
+	rtn
+g24_dongle_bind_third_step_mouse:
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 2,g24_dongle_ms_bind_step_success
+	rtn
+g24_dongle_ms_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x01,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+g24_dongle_bind_exit:	
+	setarg 0
+	setarg offset_dongle_ms_bind_step
+	iadd regc,contw
+	istore 2,contw
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_third_step_keyboard:
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	bne 0,g24_dongle_kb_bind_step_success
+	rtn
+g24_dongle_kb_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x02,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+	branch g24_dongle_bind_exit
+
+	
+dongle_usb_dispatch:
+	fetch 1,mem_usb0_get_set_report
+	rtn blank
+	jam 0,mem_usb0_get_set_report
+	fetch 2,mem_usb_setup_bValue_temp
+	arg PC_SET_REPORT,temp
+	isub temp,null
+	nrtn zero
+	//get usb host command
+	fetch 1,mem_usb0_set_report_data
+	rtnne PC_REPORT_ID
+	fetch 1,mem_usb0_set_report_data+1
+	bpatch patch17_6,mem_patch17
+	beq COMMAND_MODE,dongle_dispose_cmd_mode
+	beq COMMAND_BIND,dongle_dispose_cmd_bind
+	beq COMMAND_CURRENT_PROJECT,dongle_dispose_cmd_current_project
+	beq COMMAND_CURRENT_MODE,dongle_dispose_cmd_current_mode
+	beq COMMAND_CURRENT_FW_VERSION,dongle_dispose_cmd_current_fw_version
+	beq COMMAND_USER_DEFINED,dongle_dispose_cmd_user_defined
+usb0_data_ready_report_set0:
+	jam 0,mem_usb0_data_ready_report
+	rtn
+dongle_dispose_cmd_bind:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_BIND_GET,dongle_dispose_cmd_get_bind
+	beq COM_BIND_EXIT,dongle_dispose_cmd_exit_bind
+	beq COM_READ_MODE,dongle_dispose_cmd_read_mode
+	branch usb0_data_ready_report_set0
+dongle_dispose_cmd_get_bind:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+dongle_dispose_cmd_exit_bind:
+	call g24_set_work_mem_dongle_work_mode
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_read_mode:
+dongle_dispose_in_bind_mode:
+	jam COMMAND_BIND,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_mode:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_MODE_BIND,dongle_enter_bind_mode
+//	beq COM_MODE_TEST,dongle_enter_test_mode
+	branch usb0_data_ready_report_set0
+dongle_enter_bind_mode:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_bind_mode_enable
+usb0_data_ready_report_set1:
+	jam 1,mem_usb0_data_ready_report
+	rtn
+//dongle_enter_test_mode:
+//	jam DONGLE_TEST,mem_dongle_work_mode
+//	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_project:
+	jam PRODUCT_ID,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	beq DONGLE_WORK,dongle_dispose_in_work_mode
+	beq DONGLE_BIND,dongle_dispose_in_bind_mode
+//	beq DONGLE_TEST,dongle_dispose_in_test_mode
+	rtn
+dongle_dispose_in_work_mode:
+	jam COMMAND_MODE,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+//dongle_dispose_in_test_mode:
+//	jam COMMAND_TEST,mem_usb0_get_report_data+1
+//	branch usb0_data_ready_report_set1
+	
+dongle_dispose_cmd_current_fw_version:
+	jam FW_VERSION0,mem_usb0_get_report_data+1
+	jam FW_VERSION1,mem_usb0_get_report_data+2
+	jam FW_VERSION2,mem_usb0_get_report_data+3
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_user_defined:
+	//report_id|cmd|data_len|data
+	call g24_set1_mem_ackpayload_enable
+	fetch 1,mem_usb0_set_report_data+2	//data_len:max 30bytes
+	increase 2,pdata
+	copy pdata,loopcnt
+	arg mem_usb0_set_report_data,contr
+	setarg offset_24g_ackpayload
+	iadd regc,contw
+	branch memcpy
+
+
+dongle_auto_bind:
+	bpatch patch17_7,mem_patch17
+	call g24_mode_switch_init
+dongle_auto_bind_loop:
+	call g24_receive_process
+	call usb_isr
+	branch dongle_auto_bind_loop
+
+g24_dongle_work_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+	call g24_dongle_work_mode_start
+	branch g24_rx_nodata_process
+
+g24_dongle_bind_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	call g24_dongle_bind_data_process
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	rtn blank
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call dongle_check_mode
+	call g24_enable_nodata_timer
+g24_timer_init:
+	setarg 0
+	add regc,offset_24g_tx_btclk,contw
+	//store 4,mem_24g_tx_btclk
+	branch g24_contw_istore_4byte
+
+g24_timer_check:
+	call disable_user
+	add regc,offset_24g_tx_btclk,rega
+	ifetcht 4,rega	
+	//fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	add regc,offset_24g_tx_btclk,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_tx_btclk
+	add regc,offset_24g_interval,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	add regc,offset_24g_tx_btclk,contw
+	istore 4,contw
+	//store 4,mem_24g_tx_btclk
+	branch enable_user
+
+g24_mode_switch_init:
+	setarg 1
+	call g24_store_mem_mode_switch
+	//jam 1,mem_24g_mode_switch
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	setarg 0xff
+	add regc,offset_24g_interval,contw
+	istore 1,contw
+	//jam 0xff,mem_24g_interval
+	branch g24_timer_init
+
+g24_mode_switch:
+	setarg offset_24g_mode_switch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_mode_switch
+	rtn blank
+	call g24_timer_check
+	nrtn user
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	beq 0,dongle_check_mode
+	beq 1,g24_bind_mode_enable
+	rtn
+
+g24_bind_mode_enable:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//rtn
+	setarg DONGLE_BIND
+	call g24_store_mem_dongle_work_mode
+	branch g24_set0_mem_dongle_mode_init
+
+g24_enable_nodata_timer:
+	setarg 1
+	call g24_store_mem_nodata_timer_enable
+	//jam 1,mem_24g_nodata_timer_enable
+	setarg TIMER_NODATA_DELAY
+	arg TIMER_NODATA,queue
+	branch timer_init
+
+g24_rx_nodata_process:
+	call g24_fetch_mem_nodata_timer_enable
+	//fetch 1,mem_24g_nodata_timer_enable
+	rtn blank
+	arg TIMER_NODATA,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_nodata_timer_enable
+	//jam 0,mem_24g_nodata_timer_enable
+	//no data for more than 100ms,then go to search
+	setarg DONGLE_SEARCH
+	call g24_store_mem_dongle_work_mode	
+	//jam DONGLE_SEARCH,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	branch g24_rx_interrupt_clear
+
+g24_dongle_search_mode_auto:
+	bpatch patch18_0,mem_patch18
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_SEARCH
+	call g24_dongle_search_mode_init
+	call g24_rx_auto_addr_ch_search
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	//dongle addr,then parse rxdata
+	call g24_dongle_search_addr_check
+	call g24_receive_packet_parse,zero
+	//receive data,then go to paired
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam 0,mem_24g_ackpayload_enable
+	call dongle_check_mode
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_rx_interrupt_clear
+	call g24_enable_nodata_timer
+	call g24_dongle_search_addr_check
+	branch g24_dg_ch_num_reinit,zero
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_kb_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_kb_ch_num_reinit,zero		
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_mouse_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_ms_ch_num_reinit,zero
+	rtn
+
+g24_dongle_search_addr_check:
+	setarg offset_24g_rx_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_rx_addr
+g24_fetch_mem_addr_isub_temp:
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	isub temp,null
+	rtn
+
+g24_dg_ch_num_reinit:
+	setarg offset_24g_dg_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_ch_number
+g24_current_ch_num_reinit:
+	//store 1,mem_24g_current_ch_number
+	add regc,offset_24g_current_ch_number,contw
+	branch g24_contw_istore_1byte
+
+g24_kb_ch_num_reinit:
+	setarg offset_24g_kb_ch_number
+	call g24_set_rega_ifetch_1byte	
+	//fetch 1,mem_24g_kb_ch_number
+	branch g24_current_ch_num_reinit
+g24_ms_ch_num_reinit:
+	setarg offset_24g_ms_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_ch_number
+	branch g24_current_ch_num_reinit
+
+g24_dongle_search_mode_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_SEARCH
+	set1 DONGLE_SEARCH,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	setarg 0
+	add regc,offset_rssi_noise_dg_index,contw
+	istore 3,contw
+	//store 3,mem_rssi_noise_dg_index
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_temp
+	istore 7,contw
+	//store 7,mem_24g_dg_config_ch_once
+
+	call g24_dongle_search_addr_check
+	nrtn zero
+	add regc,offset_24g_current_ch_number,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_current_ch_number
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb_store_1byte
+	//store 1,mem_24g_dg_ch_number
+	add regc,offset_24g_ch,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ch
+	//store 1,mem_24g_dg_last_ch
+	branch g24_store_mem_dg_last_ch
+
+g24_rx_auto_addr_ch_search:
+	bpatch patch18_1,mem_patch18
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 3,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	//pairing address and channel come first
+	beq 0,g24_rx_auto_bind_config_kb
+	beq 1,g24_rx_auto_bind_config_dongle
+	beq 2,g24_rx_auto_bind_config_mouse
+	beq 3,g24_rx_auto_bind_config_dongle
+	rtn
+
+g24_rx_auto_bind_config_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_mouse_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_ms_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_config_ch_once
+	call g24_ms_config_ch_once,blank
+	setarg offset_24g_ms_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_ms_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_ms_index
+	arg mem_rssi_noise_ms_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_ms_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_ms_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_ms_ch_number	
+	call g24_set_rega_ifetcht_1byte
+	//fetcht 1,mem_24g_ms_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_ms_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_ms_ch_number
+g24_store_mem_ms_last_ch:
+	//store 1,mem_24g_ms_last_ch
+	arg offset_24g_ms_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_ms_config_ch_once:
+	setarg 1
+	arg offset_24g_ms_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_ms_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_ms_last_ch
+	//rtn
+	branch g24_store_mem_ms_last_ch
+	
+g24_rx_auto_bind_config_kb:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_kb_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_kb_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_config_ch_once
+	call g24_kb_config_ch_once,blank
+	setarg offset_24g_kb_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_kb_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_kb_index
+	arg mem_rssi_noise_kb_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_kb_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_kb_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_kb_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_kb_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_kb_ch_number,rega
+	call g24_set_contw_with_regb2	
+	istoret 1,contw
+	//storet 1,mem_24g_kb_ch_number
+g24_store_mem_kb_last_ch:
+	//store 1,mem_24g_kb_last_ch
+	arg offset_24g_kb_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_kb_config_ch_once:
+	setarg 1
+	arg offset_24g_kb_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_kb_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_kb_last_ch
+	//rtn
+	branch g24_store_mem_kb_last_ch
+
+g24_rx_auto_bind_config_dongle:
+	call g24_dongle_bind_ms_payload_cfg
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_dg_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_config_ch_once
+	call g24_dg_config_ch_once,blank
+	call g24_dg_store_config_ch
+	add regc,offset_rssi_noise_dg_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_dg_index
+	arg mem_rssi_noise_dg_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_dg_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_dg_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_dg_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_dg_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_dg_ch_number
+g24_store_mem_dg_last_ch:
+	//store 1,mem_24g_dg_last_ch
+	//rtn
+	arg offset_24g_dg_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+
+g24_dg_config_ch_once:
+	//jam 1,mem_24g_dg_config_ch_once
+	//fetch 1,mem_24g_dg_last_ch
+	//store 1,mem_24g_ch
+	//rtn
+	setarg 1
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+g24_dg_store_config_ch:
+	setarg offset_24g_dg_last_ch
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_ch
+
+
+g24_transmit_ack:
+//data type
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+//read len pid crc
+	call g24_read_len_pid_crc
+//read ack
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	isolate1 bit_ack_24g,pdata
+	branch g24tx_no_ack,true
+g24tx_with_ack:
+	call g24_ackpayload_prep
+	call g24_transmit_prep
+	call g24_transmit
+g24tx_no_ack:
+	branch g24_end_of_packet
+
+g24_ackpayload_prep:
+	bpatch patch18_2,mem_patch18
+	add regc,offset_24g_datalen,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_datalen
+	setarg offset_24g_ackpayload_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ackpayload_enable
+	rtn blank
+	setarg 0x06
+	add regc,offset_24g_datalen,contw
+	istore 1,contw
+	//jam 0x06,mem_24g_datalen
+	arg 0x06,loopcnt
+	setarg offset_24g_bind_payload
+	iadd regc,contr
+	//arg mem_24g_bind_payload,contr
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	branch memcpy
+
+
+g24_receive_packet_start:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	branch g24_receive_packet_parse
+
+g24_receive_transmit_ack:
+	call g24_rx_interrupt_clear
+	call g24_receive_packet
+	nrtn user3
+	branch g24_transmit_ack
+
+g24_receive_packet_parse:
+	bpatch patch18_3,mem_patch18
+	call g24_receive_packet_parse_pid_crc
+	nbranch g24_rx_interrupt_clear,user
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length
+	branch g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	add regc,offset_24g_rxbuf,contr
+	//arg mem_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	//arg mem_24g_rxdata_temp,contw
+	call memcpy
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	call g24_enable_nodata_timer,blank
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_rxdata_temp+2
+	beq 0x01,g24_data_type1
+	beq 0x02,g24_data_type2
+	beq 0x03,g24_data_type3
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_receive_packet_parse_pid_crc:
+	call g24_head_ptr2regc
+	call disable_user
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega		
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,rega
+	ifetcht 1,rega		
+	//fetcht 1,mem_24g_last_pid
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,contw
+	istore 1,contw	
+	//store 1,mem_24g_last_pid
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega	
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,rega
+	ifetcht 3,rega	
+	//fetcht 3,mem_24g_last_crc
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,contw
+	//store 3,mem_24g_last_crc
+	branch g24_contw_istore_3byte
+
+g24_data_type1:
+	call g24_ch_timer_reinit
+	call g24_fetch_mem_abort_pac
+	store 1,mem_temp
+	//fetch 1,mem_24g_abort_pac
+	call g24_fetcht_mem_rxdata_temp
+	fetch 1,mem_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	add regc,offset_24g_abort_pac,contw
+	istore 1,contw
+	//store 1,mem_24g_abort_pac
+	beq 1,g24_data_attemp_mouse
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_hop,temp
+	setflag true,0,pdata
+	call g24_store_mem_hop_pac
+	//store 1,mem_24g_hop_pac
+	add regc,offset_24g_cb_rxdata_type1,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_rxdata_type1
+	branch callback_func
+
+dongle_rxdata_type1:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	istore 7,contw
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	ncall g24_ms_enable_blank_data_forcibly,blank//get kb data
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	call g24_ms_disable_blank_data_forcibly,blank
+g24_data_type1_usbtx_enable:
+	jam USB_EP2_MS,mem_usb_ep2_data
+g24_data_type1_usbtx_enable_ep2:	
+	fetch 1,mem_usb_tx_enable
+	set1 2,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+	
+g24_ms_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_ms_blank_data_enable	
+	//jam 1,mem_24g_ms_blank_data_enable
+	setarg TIMER_MS_BLANK_DELAY
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+g24_ms_disable_blank_data_forcibly:
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+	setarg 0
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+	
+g24_data_type2:
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	branch g24_data_attemp_kbd,true
+	arg mem_usb_kb_data,contw
+	call g24_data_type2_reverse_data
+	fetch 8,mem_usb_kb_data
+	ncall g24_kb_enable_blank_data_forcibly,blank//get kb data
+	fetch 8,mem_usb_kb_data
+	call g24_kb_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 8,mem_usb_kb_data
+	arg offset_24g_kb_data_sta_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_sta_data
+	setarg offset_24g_kb_data_last_data
+	iadd regc,rega
+	ifetcht 8,rega
+	//fetcht 8,mem_24g_kb_data_last_data
+	isub temp,null
+	ncall g24_kb_data_dispose,zero
+	setarg offset_24g_kb_data_sta_data
+	iadd regc,rega
+	ifetch 8,rega
+	//fetch 8,mem_24g_kb_data_sta_data
+	arg offset_24g_kb_data_last_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_last_data
+	branch g24_rx_interrupt_clear
+
+g24_data_type2_reverse_data:
+	setarg offset_24g_rxdata_temp_add2
+	iadd regc,contr
+	//arg mem_24g_rxdata_temp+2,contr
+	arg 9,loopcnt
+	branch reverse_byte
+
+g24_kb_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_blank_data_enable
+	//jam 1,mem_24g_kb_blank_data_enable
+	setarg TIMER_KB_BLANK_DELAY
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+	setarg 0
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_data_dispose:
+g24_kb_data_into_ep1_fifo:
+	jam USB_EP1_KB,mem_usb_ep1_data
+	fetch 1,mem_usb_tx_enable
+	set1 1,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+
+g24_data_type3:
+	arg mem_usb_kb_multikey,contw
+	call g24_data_type2_reverse_data
+	fetch 2,mem_usb_kb_multikey+1
+	ncall g24_kb_mul_enable_blank_data_forcibly,blank//get multikey data
+	fetch 2,mem_usb_kb_multikey+1
+	call g24_kb_mul_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 3,mem_usb_kb_multikey
+	arg offset_24g_kb_multikey_sta_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_sta_data
+	setarg offset_24g_kb_multikey_last_data
+	iadd regc,rega
+	ifetcht 3,rega
+	//fetcht 3,mem_24g_kb_multikey_last_data
+	isub temp,null
+	ncall g24_kb_mul_data_into_ep2_fifo,zero
+	setarg offset_24g_kb_multikey_sta_data
+	iadd regc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_kb_multikey_sta_data
+	arg offset_24g_kb_multikey_last_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_last_data
+	branch g24_rx_interrupt_clear
+
+g24_kb_mul_data_into_ep2_fifo:
+	jam USB_EP2_MULTIKEY,mem_usb_ep2_data
+	branch g24_data_type1_usbtx_enable_ep2
+
+g24_kb_mul_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_mul_blank_data_enable
+	//jam 1,mem_24g_kb_mul_blank_data_enable
+	setarg TIMER_KB_MUL_BLANK_DELAY
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+
+g24_kb_mul_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+	setarg 0
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+	
+g24_data_attemp:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	//fetch 1,mem_24g_rxdata_temp+3
+	beq DATATYPE_MOUSE,g24_data_attemp_mouse
+	beq DATATYPE_KEYBOARD,g24_data_attemp_kbd
+	rtn
+g24_data_attemp_mouse:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_mouse_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_mouse_addr
+	branch g24_contw_istore_4byte
+
+g24_data_attemp_kbd:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_kb_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_kb_addr
+	branch g24_contw_istore_4byte
+
+g24_store_mem_24g_mode:
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,contw
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,contw
+	branch g24_contw_istore_4byte
+
+g24_fetch_mem_addr:
+	add regc,offset_24g_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_addr:
+	add regc,offset_24g_addr,contw
+g24_contw_istore_4byte:	
+	istore 4,contw
+	rtn
+
+g24_store_mem_ch:
+	add regc,offset_24g_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_set0_mem_pid:
+	setarg 0
+g24_store_mem_pid:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_txpayload:
+	add regc,offset_24g_txpayload,contw
+	branch g24_contw_istore_1byte
+
+g24_set4_mem_max_retry:
+	setarg 4
+g24_store_mem_max_retry:
+	add regc,offset_24g_max_retry,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_data_type:
+	add regc,offset_24g_data_type,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_data_type:
+	add regc,offset_24g_data_type,contw
+	branch g24_contw_istore_1byte
+
+g24_set2_mem_sync_cnt:
+	setarg 2
+g24_store_mem_sync_cnt:
+	add regc,offset_24g_sync_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_set1_mem_rf_last_sta:
+	setarg 1
+g24_store_mem_rf_last_sta:
+	call g24_head_ptr2regc
+	add regc,offset_24g_rf_last_sta,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_hop_pac:
+	setarg 1
+g24_store_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_abort_pac:
+	setarg 1
+g24_store_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_pairing_sm:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pairing_sm,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_pairing_sm:
+	add regc,offset_24g_pairing_sm,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_rf_hop_ch:
+	setarg 0
+g24_store_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,rega
+	branch g24_rega_ifetch_1byte
+	
+g24_fetch_mem_rxbuf_add1:
+	add regc,offset_24g_rxbuf_add1,rega
+	branch g24_rega_ifetch_1byte
+
+g24_fetch_mem_check_dongle_times:
+	add regc,offset_24g_check_dongle_times,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_check_dongle_times:
+	setarg 0
+g24_store_mem_check_dongle_times:
+	call g24_head_ptr2regc
+	add regc,offset_24g_check_dongle_times,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_tx_power:
+	call g24_head_ptr2regc
+	add regc,offset_tx_power_temp,rega
+	ifetch 1,rega
+g24_store_mem_txpower:
+	store 1,mem_tx_power
+	rtn
+
+g24_store_mem_tx_power_temp:
+	call g24_head_ptr2regc
+	fetch 1,mem_tx_power
+	//store 1,mem_tx_power_temp
+	add regc,offset_tx_power_temp,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_power_ctrl_pac:	
+	add regc,offset_power_ctrl_packet_cnt,rega
+	branch g24_rega_ifetch_1byte
+
+g24_store_mem_power_ctrl_level:
+	add regc,offset_power_ctrl_level,contw
+	branch g24_contw_istore_1byte
+
+g24_fetcht_mem_rxdata_temp:
+	setarg offset_24g_rxdata_temp
+g24_set_rega_ifetcht_1byte:	
+	iadd regc,rega
+	ifetcht 1,rega
+	rtn
+
+g24_fetch_mem_rf_laststa:
+	setarg offset_24g_rf_laststa
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_rf_laststa:
+	setarg 0
+g24_store_mem_rf_laststa:
+	arg offset_24g_rf_laststa,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_rx_addr:
+	setarg offset_24g_rx_addr
+g24_set_rega_ifetch_4byte:	
+	call g24_set_rega
+g24_rega_ifetch_4byte:
+	ifetch 4,rega
+	rtn
+
+g24_fetch_mem_time_slice:
+	setarg offset_24g_time_slice
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_time_slice:
+	setarg 0
+g24_store_mem_time_slice:
+	arg offset_24g_time_slice,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_mode_switch:
+	setarg 0
+g24_store_mem_mode_switch:
+	arg offset_24g_mode_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_bind_payload:
+	arg offset_24g_bind_payload,rega
+	branch g24_set_contw_with_regb_store_1byte	
+	
+g24_fetch_mem_bind_device_status:
+	setarg offset_dongle_bind_device_status
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_bind_device_status:
+	arg offset_dongle_bind_device_status,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_work_mode:
+	setarg offset_dongle_work_mode
+	branch g24_set_rega_ifetch_1byte
+g24_set_work_mem_dongle_work_mode:
+	setarg DONGLE_WORK
+g24_store_mem_dongle_work_mode:
+	arg offset_dongle_work_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_mode_init:
+	setarg offset_dongle_mode_init
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_dongle_mode_init:
+	setarg CLEAR_INIT
+g24_store_mem_dongle_mode_init:
+	arg offset_dongle_mode_init,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_ackpayload_enable:
+	setarg 0
+g24_store_mem_ackpayload_enable:
+	arg offset_24g_ackpayload_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+g24_set1_mem_ackpayload_enable:
+	setarg 1
+	branch g24_store_mem_ackpayload_enable
+
+g24_fetch_mem_rxdata_temp_add3_7byte:
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	ifetch 7,rega
+	rtn
+
+g24_fetch_mem_nodata_timer_enable:
+	setarg offset_24g_nodata_timer_enable
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_nodata_timer_enable:
+	setarg 0
+g24_store_mem_nodata_timer_enable:
+	arg offset_24g_nodata_timer_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_ms_blank_data_enable:
+	setarg 0
+g24_store_mem_ms_blank_data_enable:
+	arg offset_24g_ms_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_kb_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_blank_data_enable:
+	arg offset_24g_kb_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_kb_mul_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_mul_blank_data_enable:
+	arg offset_24g_kb_mul_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_up:
+	arg offset_power_ctrl_threshold_up,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_down:
+	arg offset_power_ctrl_threshold_down,rega
+g24_set_contw_with_regb_store_1byte:
+	call g24_set_contw_with_regb
+g24_contw_istore_1byte:
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_pair_mode:
+	setarg offset_24g_pair_mode
+	branch g24_set_rega_ifetch_1byte
+
+g24_store_mem_pair_mode:
+	arg offset_24g_pair_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_pair_txpower:
+	setarg offset_24g_pair_txpower
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_txpower
+
+g24_fetch_mem_rxdata_temp_add3_1byte:
+	setarg offset_24g_rxdata_temp_add3
+	branch g24_set_rega_ifetch_1byte
+
+g24_set_contw_with_temp:
+	copy pdata,temp
+	copy rega,pdata
+	iadd regc,contw
+	copy temp,pdata
+	rtn
+	
+g24_set_contw_with_temp_store_3byte:
+	call g24_set_contw_with_temp
+g24_contw_istore_3byte:	
+	istore 3,contw
+	rtn
+
+g24_set_contw_with_regb:
+	call g24_head_ptr2regc
+g24_set_contw_with_regb2:
+	copy pdata,regb
+	copy rega,pdata
+	iadd regc,contw
+	copy regb,pdata
+	rtn
+
+g24_set_rega:
+	call g24_head_ptr2regc
+	iadd regc,rega
+	rtn
+
+g24_set_rega_ifetch_1byte:
+	call g24_set_rega
+g24_rega_ifetch_1byte:
+	ifetch 1,rega
+	rtn
+
+g24_set_rega_ifetcht_4byte:
+	call g24_set_rega
+	ifetcht 4,rega
+	rtn
+
+g24_mem_set0:
+	setarg 0
+	branch g24_contw_istore_1byte
+
+
+
+app_init:
+	bpatch patch18_4,mem_patch18
+	fetch 1,mem_device_option
+	branch app_init,blank				/* wait ram to be initialized */
+//	beq dvc_op_ukey,le_ukey_init
+	beq dvc_op_dongle,dongle_init
+	beq dvc_op_AntiLost,antilost_init
+	beq dvc_op_shutter,shutter_init
+	beq dvc_op_module,module_init
+	beq dvc_op_car,car_init
+	beq dvc_op_remote_car,remote_car_init
+	bbit1 dvc_op_mouse,mouse_init
+	rtn
+	
+app_lpm_init:
+	bpatch patch18_5,mem_patch18
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	jam 0, mem_lch_code
+	setarg 0
+	store 5,mem_sp_state_start
+	fetch 1,mem_device_option
+	branch app_lpm_init,blank				/* wait ram to be initialized */
+	beq dvc_op_module,module_lpm_init
+app_lpm_init0:
+	rtn
+
+	
+app_process_idle:
+	call ui_dispatch
+	call check_51cmd
+	call app_process_bb_event
+	fetch 2,mem_cb_idle_process
+	branch callback_func
+	
+app_process_bt:
+	fetch 2,mem_cb_bt_process
+	branch callback_func
+	
+app_process_ble:
+	fetch 2,mem_cb_le_process
+	branch callback_func
+
+app_process_bb_event:
+	bpatch patch18_6,mem_patch18
+	//return if c51 need to process bb event
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_out
+	rtn blank
+	//reaching here mains c51 cannot get bb event.
+	copy pdata,regc
+	call app_event_normal_process
+	branch app_process_bb_event_priority
+	
+app_discard_event:
+	arg 0,regc
+	rtn
+
+//************************************************//
+//*APP BB EVENT NORMAL PROCESS**//
+//************************************************//
+app_event_normal_process:
+	beq BT_EVT_BB_CONNECTED,app_evt_bt_conn
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_evt_button_long_pressed
+	beq BT_EVT_SETUP_COMPLETE,app_evt_setup_complete
+	beq BT_EVT_HID_HANDSHAKE,app_evt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,app_bb_event_hid_connected
+	beq BT_EVT_RECONN_FAILED,app_bb_event_reconn_failed
+	beq BT_EVT_BB_DISCONNECTED,app_bb_event_bb_disconn
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,app_bb_event_reconn_failed	
+	beq BT_EVT_LE_CONNECTED,app_le_event_bb_connected
+	beq BT_EVT_LE_DISCONNECTED,app_le_event_bb_disconn
+	beq BT_EVT_RECONN_STARTED,app_event_reconn_start
+	beq BT_EVT_ENTER_SNIFF,app_event_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,app_event_exit_sniff
+	
+	beq BT_EVT_ML2CAP_CONN_REFUSED,app_event_ml2cap_conn_refused
+	beq BT_EVT_LINKKEY_GENERATE,app_event_linkkey_generate
+	beq BT_EVT_SWITCH_FAIL_MASTER,app_event_switch_fail_master
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,app_event_switch_success
+	rtn
+
+
+app_evt_bt_conn:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_event_switch_success:
+	jam 0,mem_switch_fail_master_count
+	rtn	
+
+app_event_switch_fail_master:
+	fetch 1,mem_switch_fail_master_count
+	increase 1,pdata
+	store 1,mem_switch_fail_master_count
+	sub pdata,1,null
+	branch app_bt_role_switch,positive
+	jam 0,mem_switch_fail_master_count
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_SWITCH_FAIL,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_disconnect
+	
+app_process_bb_event_priority:
+	fetch 2,mem_cb_bb_event_process
+	branch callback_func
+
+app_check_wake_lock:
+	fetch 2,mem_cb_check_wakelock
+	branch callback_func
+	
+app_will_enter_lpm:
+	fetch 2,mem_cb_before_lpm
+	branch callback_func
+
+app_event_linkkey_generate:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_PAIRING ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_store_reconn_info
+	
+app_event_reconn_start:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_RECONN,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_setup_complete:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SETUP_COMPLETE,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SETUP_DONE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_hid_handshake:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_HANDSHAKE,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_event_enter_sniff:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SNIFF,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_exit_sniff:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_le_event_bb_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_le_event_bb_disconn:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_event_hid_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_evt_button_long_pressed:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BY_BUTTON,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_ml2cap_conn_refused:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_L2CAP_REFUSED,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch  app_bt_disconnect
+
+
+app_evt_timer:
+	bpatch patch18_7,mem_patch18
+	store 1,mem_app_evt_timer_count
+app_evt_100ms_loop:
+	fetch 1,mem_app_evt_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_app_evt_timer_count
+	call ui_button_polling
+	call app_lpm_wake_auto_lock_timer
+	call app_unsniff_delay_timer
+	call app_discovery_timer
+	call flash_write_spi_sm_timer
+	fetch 2,mem_cb_event_timer
+	call callback_func
+	branch app_evt_100ms_loop
+
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step:
+	ifetch 1,regc
+	rtn blank
+	pincrease -1
+	istore 1,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step_2B:
+	ifetch 2,regc
+	rtn blank
+	pincrease -1
+	istore 2,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+	
+app_power_timer:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_timer_offset,regc
+	arg app_power_timer_timeout,regb
+	branch timer_single_step
+	
+app_power_timer_timeout:
+	call app_got_power_state_common
+	beq POWER_STARTING,app_enter_power_stanby_state
+app_enter_power_off_state:
+	branch app_enter_hibernate
+app_enter_power_stanby_state:
+	setarg POWER_STANDBY
+	istore 1,regc
+	add temp,power_standby_cb_offset,regb
+app_power_cb_common:
+	ifetch 2,regb
+	branch callback_func
+
+app_unsniff_delay_timer:
+	arg mem_unsniff2sniff_timer_count,regc
+	arg app_unsniff_delay_timeout,regb
+	branch timer_single_step
+	
+app_unsniff_delay_timeout:
+	call context_check_idle
+	branch app_bt_enter_sniff,zero
+	rtn
+
+
+app_discovery_timer:
+	arg mem_discovery_timeout_timer_count,regc
+	arg app_discovery_timeout,regb
+	branch timer_single_step_2B
+	
+app_discovery_timeout:
+	call app_bt_stop_discovery
+	call app_led_off
+	fetch 2,mem_cb_discovry_timeout
+	branch callback_func
+
+	
+app_bb_event_reconn_failed:
+	call app_disconn_reason_flag_clear
+app_clear_reconnect_flag:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_bb_event_bb_disconn:
+	jam 0,mem_unsniff2sniff_timer_count
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,app_bb_event_bb_reconn_disconn
+	isolate0 UI_STATE_BT_SETUP_COMPLETE,pdata
+ 	call app_discard_event,true
+app_bb_event_bb_reconn_disconn:
+	bpatch patch19_0,mem_patch19
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_CONNECTED,pdata
+	set0 UI_STATE_BT_SETUP_COMPLETE,pdata
+	set0 UI_STATE_BT_HID_CONN,pdata
+	set0 UI_STATE_BT_HID_HANDSHAKE,pdata
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_hibernate:
+	call app_disconn_reason_clear
+	branch app_enter_hibernate
+
+	
+app_disconn_reason_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	rtn
+app_disconn_reason_flag_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_disconn_reason_collect_bt:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_disconn_reason_collect_ble:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BLE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+	
+//************************************************//
+//********APP SHARED FUNCSIONS*******//
+//************************************************//
+
+
+app_check_sniff:
+	fetch 1,mem_ui_state_map
+	isolate1 UI_STATE_BT_SNIFF,pdata
+	rtn
+
+//*****************************************//
+//*****************API********************//
+//*****************************************//
+//app_clearflag_store:
+//	setarg 0
+//	branch app_flag_store
+app_initflag_store:
+	setarg EEPROM_INIT_FLAG
+app_flag_store:
+	store 2,mem_timeup
+	bpatch patch19_1,mem_patch19
+	arg 2,temp
+	arg mem_timeup,rega
+	arg eeprom_module_init_flag,regb
+	branch iicd_write_eep_data
+
+//initflag is in eeprom to sure is eeprom nead to init
+app_initflag_check:
+	bpatch patch19_2,mem_patch19
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg eeprom_module_init_flag,regb
+	call iicd_read_eep_data
+	fetch 2,mem_pdatatemp
+	arg EEPROM_INIT_FLAG,temp
+	isub  temp,null
+	rtn
+
+
+app_start_auto_sniff:
+	fetch 1,mem_unsniff2sniff_timer
+	store 1,mem_unsniff2sniff_timer_count
+	rtn	
+	
+app_get_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_get_wake_lock
+
+app_put_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_put_wake_lock
+	
+app_lpm_wake_auto_lock:
+	jam  LPM_WAKE_UP_DELAY_TIMER,mem_wake_up_delay_timer
+	branch app_get_lpm_wake_lock
+	
+app_lpm_wake_auto_lock_timer:
+	arg mem_wake_up_delay_timer,regc
+	arg app_put_lpm_wake_lock,regb
+	branch timer_single_step
+
+app_l2cap_flow_control_enable:
+	jam L2CAP_FLOW_CTRL_ENABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+
+app_l2cap_flow_control_disable:
+	jam L2CAP_FLOW_CTRL_DISABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+	
+app_bt_set_pincode:
+	jam BT_CMD_SET_PIN_CODE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_role_switch:
+	jam BT_CMD_ROLE_SWITCH,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_start_reconnect:
+	bpatch patch19_3,mem_patch19
+	fetch 1,mem_app_connection_options
+	store 1,mem_connection_options
+	jam APP_FLAG_RECONNECT,mem_reconnect_flag
+	jam BT_CMD_RECONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+	
+app_bt_reconnect_cancel:
+	jam BT_CMD_BB_RECONN_CANCEL,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_disconnect:
+	jam BT_CMD_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+
+app_bt_start_discovery_short:
+	fetch 2,mem_discovery_timeout
+	store 2,mem_discovery_timeout_timer_count
+app_bt_start_discovery_led_blink:
+	call app_led_start_blink
+app_bt_start_discovery:
+	jam BT_CMD_START_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_stop_discovery:
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	jam BT_CMD_STOP_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_direct_adv:
+	jam BT_CMD_START_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_stop_direct_adv:
+	jam BT_CMD_STOP_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_adv:
+	jam BT_CMD_STOP_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_adv:	
+	jam BT_CMD_START_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_scan:
+	jam BT_CMD_LE_START_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_scan:
+	jam BT_CMD_LE_STOP_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_conn:
+	jam BT_CMD_LE_START_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_disconnect:
+	jam BT_CMD_LE_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_start_blink:	
+	jam BT_CMD_LED_BLINK,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_led_on:
+	jam BT_CMD_LED_ON,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_stop_blink:
+app_led_off:
+	jam BT_CMD_LED_OFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_enter_hibernate:
+	jam BT_CMD_ENTER_HIBERNATE,mem_fifo_temp 
+	branch ui_ipc_send_cmd
+	
+app_bt_sniff_exit:
+	jam BT_CMD_EXIT_SNIFF,mem_fifo_temp
+	branch  ui_ipc_send_cmd
+	
+app_bt_enter_sniff:
+	jam BT_CMD_ENTER_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_LE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_BT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_lpm_mult_enable:
+	set1 mark_lpm_mult_enable,mark
+	rtn
+
+app_lpm_mult_disable:
+	set0 mark_lpm_mult_enable,mark
+	rtn
+
+
+/*
+
+mem_power_param struct
+{
+	usigned char     mem_power_state
+	usigned char     mem_power_timer
+	usigned char	 mem_power_off_timeout
+	usigned char	 mem_power_starting_timeout
+	usigned long	 mem_power_off_cb
+	usigned long	 mem_power_starting_cb
+	usigned long	 mem_power_standby_cb
+	usigned long 	 mem_ui_butten_up_cb
+}
+    	functions:power state switching by mem_app_power_timer timeout or by button_long_pressed event
+    	(power off -> power starting->power standby->power off) and power timer initialization 
+ input parameters:mem_power_param_ptr should be point to the variable(mem_power_param) address where the input parameters stored in with its format
+output parameters:switched power state will be stored in variable mem_power_state*/
+app_button_long_pressed:
+	call app_got_power_state_common
+	beq POWER_STANDBY,app_power_shutting_down
+app_power_starting:
+	setarg POWER_STARTING
+	istore 1,regc
+	add temp,power_starting_timeout_offset,rega
+	add temp,power_starting_cb_offset,regb
+app_power_common:
+	ifetcht 1,rega
+	increase 1,regc
+	istoret 1,regc
+	branch app_power_cb_common
+	
+app_power_shutting_down:
+	setarg POWER_OFF
+	istore 1,regc
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,app_power_off_end
+	call app_ble_disconnect
+app_power_off_end:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_off_timeout_offset,rega
+	add temp,power_off_cb_offset,regb
+	branch app_power_common
+	
+app_got_power_state_common:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_state_offset,regc
+	ifetch 1,regc
+	rtn
+
+app_event_button_up:
+	call app_got_power_state_common
+	bne POWER_OFF,app_power_release
+	branch app_enter_hibernate
+app_power_release:
+	add temp,ui_butten_up_cb_offset,regb
+	branch app_power_cb_common
+
+antilost_init:
+	rtn wake	
+	hjam 0x00,core_gpio_sel1//1: GPIO[26:25] is two wire SPI, 2: GPIO[26:23] is SPI, 3: GPIO[26:23] is PCM
+	setarg antilost_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg keyscan_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg antilost_idle_process	//
+	store 2,mem_cb_idle_process
+	setarg antilost_le_conn_process	//
+	store 2,mem_cb_le_process
+	setarg antilost_bb_event_process 
+	store 2,mem_cb_bb_event_process
+	setarg antilost_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg antilost_le_notification
+	store 2,mem_cb_ble_transmit
+	setarg antilost_lpm_lock_process
+	store 2,mem_cb_check_wakelock
+	setarg antilost_le_receive_data_process
+	store 2,mem_cb_att_write
+	bpatch patch19_4,mem_patch19
+	call antilost_buzzer_pwm_init
+	call keyscan_key_init
+	call antilost_adc_init
+	call ui_led_init_global
+	call ui_button_init
+	setarg antilost_key_up_down
+	store 2,mem_cb_antl_key
+	setarg antilost_power_off_cb
+	store 2,mem_antl_power_off_cb
+	setarg antilost_power_starting_cb
+	store 2,mem_antl_power_starting_cb
+	setarg antilost_power_standby_cb
+	store 2,mem_antl_power_standby_cb
+	setarg antilost_led_on_cb
+	store 2,mem_antl_led_cb_on
+	setarg antilost_led_off_cb
+	store 2,mem_antl_led_cb_off
+	setarg antilost_buzzer_on
+	store 2,mem_antl_buzzer_cb_on
+	setarg antilost_buzzer_off
+	store 2,mem_antl_buzzer_cb_off
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+antilost_le_before_hibernate:
+	call antilost_led_buzzer_stop_blink
+	branch  app_enter_hibernate
+
+antilost_le_notification:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_temp_block5,rega
+	call queue_pop
+	nrtn user
+	arg mem_temp_block5,contr
+	branch le_send_notify_from_list
+
+antilost_power_standby_cb:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	jam 1,mem_antl_key_scan_enable
+	branch antilost_fast_adv_start
+	
+antilost_lpm_lock_process:
+	fetch 1,mem_antl_key_state
+	beq 1,antilost_lpm_ctrl_for_led_buzzer
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_lpm_ctrl_for_led_buzzer
+	fetch 1,mem_antl_lost_mode
+	beq 1,app_get_lpm_wake_lock
+	fetch 1, mem_antl_queue_curr_num
+	nbranch app_get_lpm_wake_lock,blank 
+	branch app_put_lpm_wake_lock
+	
+antilost_lpm_ctrl_for_led_buzzer:
+	fetch 1,mem_antl_led_state
+	fetcht 1,mem_antl_buzzer_state
+	ior temp,pdata
+	beq 1,app_get_lpm_wake_lock
+	branch app_put_lpm_wake_lock
+
+antilost_bb_event_process:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,antilost_le_process_conn
+	beq BT_EVT_LE_DISCONNECTED,antilost_le_process_discon
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,antilost_le_conn_param_update_rsp_recieved
+	rtn
+antilost_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	beq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED,antilost_le_conn_param_rejected
+antilost_le_conn_param_accepted:
+	fetch 2,mem_le_new_connslavelatency
+	branch antilost_master_nonsupport_latency,blank
+antilost_le_conn_param_updata_procedure_sucsess:
+	jam CONN_PARAM_UPDATA_PROCEDURE_COMPLETE,mem_antl_conn_updata_procedure_state
+	jam 60,mem_antl_conn_update_timer
+	rtn
+
+antilost_le_conn_param_rejected:
+	fetch 2,mem_le_latency
+	branch antilost_conn_param_updata_procedure_faild,blank
+antilost_conn_param_retransimiting:
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	fetcht 2,mem_interval_increment
+	fetch 2,mem_le_interval_min
+	iadd temp,pdata
+	store 2,mem_le_interval_min
+	copy pdata,rega
+	fetch 2,mem_le_interval_max
+	iadd temp,pdata
+	store 2,mem_le_interval_max
+	iadd rega,pdata
+	rshift pdata,temp
+	fetch 2,mem_antl_le_unnormal_interval_max
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	store 2,mem_le_latency
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+antilost_conn_param_updata_procedure_faild:
+	jam CONN_PARAM_UPDATA_PROCEDURE_FAILD,mem_antl_conn_updata_procedure_state
+	rtn
+
+antilost_master_nonsupport_latency:
+	jam 0,mem_lpm_mult
+	jam 0,mem_antl_send_updata_le_param_timer
+	fetch 2,mem_le_new_conninterval	//interval from master
+	fetcht 2,mem_antl_le_unnormal_interval_min
+	isub temp,null
+	setflag positive,0,rega 
+	fetch 2,mem_antl_le_unnormal_interval_max //local intervalmax
+	fetcht 2,mem_le_new_conninterval//interval form master
+	isub temp,pdata
+	setflag positive,1,rega
+	compare	0x03,rega,0x03
+	rtn true //return if the new conn_interval in range through conn_interval_min to conn_interval_max already
+	fetch 8,mem_antl_le_unnormal_interval_min
+	store 8,mem_le_interval_min
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn                               
+
+
+antilost_le_bb_event_timer:
+	//call ui_button_check_long_press
+	call app_power_timer
+	call antilost_double_click_timer
+	call antilost_le_fast_adv_timer
+	call antilost_le_sleep_timer
+	call antilost_app_updata_le_param_timer
+	call antilost_conn_update_timer
+	branch antilost_adc_check_timer
+
+
+antilost_double_click_timer:
+	arg mem_double_click_timer,regc
+	arg antilost_double_click_timeout,regb
+	branch timer_single_step
+antilost_double_click_timeout:
+	jam 0,mem_butten_click_cnt
+	rtn
+antilost_le_fast_adv_timer:
+	arg mem_antl_fast_adv_timer,regc
+	arg antilost_le_fast_adv_timeout,regb
+	branch timer_single_step_2B
+antilost_le_fast_adv_timeout:
+	arg mem_antl_slow_adv_led_style,regc
+	arg mem_antl_slow_adv_lpm_interval,regb
+	branch antilost_adv_start_common
+	
+
+antilost_conn_update_timer:
+	arg mem_antl_conn_update_timer,regc
+	arg antilost_conn_update_timer_time_out,regb
+	branch timer_single_step
+	
+antilost_conn_update_timer_time_out:
+	fetch 2,mem_le_latency
+	store 1,mem_lpm_mult
+	rtn
+antilost_app_updata_le_param_timer:
+	arg mem_antl_send_updata_le_param_timer,regc
+	arg antilost_app_updata_le_param_timeout,regb
+	branch timer_single_step
+antilost_app_updata_le_param_timeout:
+	fetch 1,mem_le_state
+	compare 0,pdata,0x60
+	nbranch antilost_wait_for_updata_param_instant_expire,true
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	call  app_lpm_mult_enable
+	branch le_l2cap_tx_update_req	
+antilost_wait_for_updata_param_instant_expire:
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+	
+antilost_le_sleep_timer:
+	arg mem_antl_le_sleep_timer,regc
+	arg antilost_le_sleep_timer_timeout,regb
+	branch timer_single_step_2B
+
+
+antilost_le_sleep_timer_timeout:
+	branch app_button_long_pressed
+
+antilost_adc_check_timer:
+	//fetch 1,mem_antl_power_timer
+	//rtneq SHUTTER_POWER_OFF
+	arg mem_adc_timer,regc
+	arg antilost_adc_check_timer_timeout,regb
+	branch timer_single_step_2B
+antilost_adc_check_timer_timeout:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	branch antilost_battery_process
+
+
+antilost_le_process_conn:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	setarg 0
+	store 2,mem_antl_fast_adv_timer
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	call antilost_led_buzzer_stop_blink
+	jam 0,mem_lpm_mult
+	branch app_ble_stop_adv
+	                                                      
+
+antilost_le_process_discon:
+	//setarg 0
+	//store 1,mem_hci_curr_len
+	setarg 0
+	store 4,mem_adc_timer
+	store 3,mem_antl_conn_updata_procedure_state
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	
+	jam 1,mem_alarm_config_notfy_cnt
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call queue_init
+	fetch 1,mem_antl_power_state
+	rtneq POWER_OFF
+	call antilost_fast_adv_start
+	branch antilost_on_off_alarm_after_disconn
+
+
+antilost_le_conn_process:
+//bpatch
+	branch antilost_key_process
+
+antilost_idle_process:
+
+	fetch 1,mem_antl_power_state
+	rtnne POWER_STANDBY
+	branch antilost_key_process
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+/////SOFT WTICH////////
+antilost_power_starting_cb:
+	arg mem_antl_power_starting_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_starting_led_style,regc
+antilost_power_common:
+	branch antilost_led_configuration
+
+antilost_power_off_cb:
+	jam OFF,mem_le_adv_enable
+	arg mem_antl_power_off_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_off_led_style,regc
+	branch antilost_power_common
+	
+antilost_le_receive_data_process:
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,antilost_le_parse_att_write_request
+	rtn
+antilost_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+//	beq  ATT_WRITE_REQUEST_HANDLE,antilost_key_data_send
+	beq NEW_SPEC_WRITE_HANDLE,antilost_cmd_parse_for_application
+	beq NEW_SPEC_NOTIFICATION_ENABLE_HANDLE,antilost_notify_alarm_config_first_time
+	rtn
+/////////////////////////////////////////////////////////
+
+
+/////////key scan
+antilost_key_process:
+	fetch 1,mem_antl_key_scan_enable
+	rtn blank
+	branch keyscan_key_process
+
+	//queue = key index
+	//rega =1 press, =0 release
+antilost_key_up_down:
+	copy rega,pdata
+	branch antilost_key_is_up,blank
+antilost_key_is_down:
+	copy queue,pdata
+	beq 0,antilost_key0_down
+	rtn
+antilost_key_is_up:
+	copy queue,pdata
+	beq 0,antilost_key0_up
+	rtn
+
+antilost_key0_down:
+	jam 1,mem_antl_key_state
+	arg mem_antl_key_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_key_led_style,regc
+	call antilost_led_configuration
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_butten_down_while_disconn
+	branch antilost_butten_down_after_conn
+	
+antilost_key0_up:
+	jam 0,mem_antl_key_state
+	branch antilost_double_click_timer_init
+
+//////////////process for double-click
+
+antilost_double_click_timer_init:
+	fetch 1,mem_butten_click_cnt
+	rtnne 1
+	jam 5,mem_double_click_timer
+	rtn
+
+antilost_butten_down_after_conn:
+	fetch 1,mem_butten_click_cnt
+	pincrease 1
+	store 1,mem_butten_click_cnt
+	beq 1,antilost_click_once
+	beq 2,antilost_click_twice
+	rtn
+antilost_click_once:
+	call antilost_alert_off
+	jam OPCODE1_BUTTEN_CLICK_ONCE,mem_antl_key0_press+5//5 represent opcode offset
+	arg mem_antl_key0_press,regc
+	branch antilost_prepare_data_and_send
+antilost_click_twice:
+	jam 0,mem_butten_click_cnt
+	jam OPCODE2_BUTTEN_DOUBLE_CLICK,mem_antl_key0_press+5
+	arg mem_antl_key0_press,regc
+	call antilost_prepare_data_and_send
+	fetch 1,mem_antl_lost_mode
+	beq 1,antilost_alert_on
+	rtn   //rtn should be retaind
+	
+antilost_butten_down_while_disconn:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	branch antilost_fast_adv_start
+	
+///////////////////////NEW App Spcecific///////
+antilost_cmd_parse_for_application:
+	bpatch patch19_5,mem_patch19
+	call le_app_receive_data
+	ifetch 1,rega
+	beq OPCODE3_ANTL_START_ALRAM,antilost_on_of_alram
+	beq OPCODE7_ANTL_CONFIG_ALRAM,antilost_configuration_for_alram
+	rtn
+
+antilost_on_of_alram:
+	fetch 1,mem_antl_lost_mode
+	beq ANTI_LE_ALARM_OFF,antilost_alert_on
+	beq ANTI_LE_ALARM_ON,antilost_alert_off
+	rtn
+
+antilost_configuration_for_alram:
+	ifetch 1,regb
+	beq 1,antilost_set_start_alarm_after_disconn
+	beq 0,antilost_set_no_alarm_after_disconn
+	rtn
+/////////////////check////////////////////////
+
+/*input: 1)package data addr in regc
+output:no
+function:calculate check_out value and send data*/
+//mem_temp_block5
+antilost_prepare_data_and_send:
+	bpatch patch19_6,mem_patch19
+	fetch 1,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	add regc,6,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,5,loopcnt
+	add regc,3,contr
+	call calc_check_sum_start
+	istore 1,contr
+	copy regc,rega
+	branch queue_push
+
+/////////////////NEW APP SPECIFIC check end////////////////////
+
+
+/////////alarm//////////////////////////////
+antilost_alert_on:
+	fetch 1,mem_antl_power_state
+	rtn blank
+	jam 1,mem_antl_lost_mode
+	arg mem_antl_alert_buzzer_stlye,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_alert_led_stlye,regc
+	call antilost_led_configuration
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 1,mem_antl_key0_release+8 //8 represent data offset,digit 1 represent alarm is on at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_alert_off:
+	fetch 1,mem_antl_lost_mode
+	rtn blank
+	jam 0,mem_antl_lost_mode
+	call antilost_led_buzzer_stop_blink
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 0,mem_antl_key0_release+8 //8 represent data offset,digit 0 represent alarm is off at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+antilost_set_start_alarm_after_disconn:
+	jam 1,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_set_no_alarm_after_disconn:
+	jam 0,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 0,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_on_off_alarm_after_disconn:
+	fetch 1,mem_alarm_config
+	rtn blank
+	branch antilost_alert_on
+	
+antilost_notify_alarm_config_first_time:
+	ifetch 2,rega
+	store 2,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	fetch 1,mem_alarm_config_notfy_cnt
+	rtn blank
+	jam 0,mem_alarm_config_notfy_cnt
+	fetch 8,mem_antl_le_interval_min
+	store 8,mem_le_interval_min
+	jam 2,mem_antl_send_updata_le_param_timer
+	call antilost_battery_process
+	call antilost_battery_calculate_end //send twice to combat the failure of reception first time
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	fetch 1,mem_alarm_config
+	store 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+//////////////alarm end//////////////////////////
+//sytle address in regc
+antilost_buzzer_configuration:
+	arg 1,rega
+	branch antilost_configuration_common
+antilost_led_configuration:
+	arg 0,rega
+antilost_configuration_common:
+	branch antilost_led_buzzer_style_configuration
+	
+antilost_led_buzzer_stop_blink:
+	arg 0,rega
+	call ui_led_blink_stop_global
+	arg 1,rega
+	call ui_led_blink_stop_global
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_buzzer_style_configuration:
+	call calc_curr_struct_prt
+	arg 7,loopcnt
+	branch ui_led_set_style_global+2
+
+
+
+antilost_fast_adv_start:
+	arg mem_antl_fast_adv_led_style,regc
+	arg mem_antl_lpm_interval,regb
+antilost_adv_start_common:
+	call antilost_adv_interval_lpm_interval_set
+	call antilost_led_configuration
+	fetch 2,mem_antl_fast_adv_timeout
+	store 2,mem_antl_fast_adv_timer
+	branch app_ble_start_adv
+	
+antilost_adv_interval_lpm_interval_set:
+	ifetch 2,regb
+	store 2,mem_lpm_interval
+	ifetch 2,contr
+	store 2,mem_le_adv_interval
+	rtn
+///////////////beep////////////
+antilost_buzzer_pwm_init:
+	arg 0,rega //sys clk 12mhz
+	call pwm_init
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	call pwm_out_set
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_on_cb:
+	jam 1,mem_antl_led_state
+	rtn	
+antilost_led_off_cb:
+	jam 0,mem_antl_led_state
+	rtn
+
+
+
+antilost_buzzer_off:
+	jam 0,mem_antl_buzzer_state
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_buzzer_on:
+	jam 1,mem_antl_buzzer_state
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+
+////////////////beep end///////////////////////////
+/////////////adc start////////////////////////
+antilost_adc_init:
+	jam 0,mem_adc_config_flag
+	branch adc_init_data
+
+antilost_battery_process:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_battery_current_voltage
+	arg mem_battery_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	store 1,mem_voltage_remain_percent //for debug
+	beq 0,antilost_low_battery
+	sub pdata,0x64,null
+	nbranch antilost_full_battery,positive
+	store 1,mem_antl_key0_release+8
+antilost_battery_calculate_end:
+	jam OPCODE5_BATTER_INFORMATION,mem_antl_key0_release+5
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_full_battery:
+	jam 100,mem_antl_key0_release+8
+	branch antilost_battery_calculate_end
+
+antilost_low_battery:
+	branch app_button_long_pressed
+
+
+
+car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	setarg car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg car_le_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg car_le_receive_data
+	store 2,mem_cb_att_write
+	
+	setarg car_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	
+	call g24_head_ptr2regc
+	setarg car_24g_receive_data
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+
+	setarg car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	bpatch patch19_7,mem_patch19
+	call car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	jam POWER_ON,mem_car_24g_received_pac
+	fetch 1,mem_car_config_soft_switch_enable
+	store 1,mem_car_hard_soft_switch
+	beq HARD_SWITCH, car_hard_switch_power_on_signal
+	fetch 1,mem_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+	jam OFF,mem_le_adv_enable
+car_soft_switch_power_on_init:
+	call car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+ 	branch app_enter_hibernate
+
+car_power_off_signal:	
+	branch car_ui_led_init
+	
+car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_car_power_state
+car_soft_switch_power_on_signal:
+	jam ON,mem_le_adv_enable
+	call car_ui_led_init
+	arg 0,rega
+	call ui_led_blink_start_global
+	
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+car_le_modified_name_adv:
+	arg mem_le_name+7,contw
+	fetch 1,mem_le_lap
+car_name_loop:
+	and pdata,0xF0,temp
+	rshift4 temp,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	and pdata,0x0F,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	call le_modified_name_att_list
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_adv_data+2,contw
+	arg mem_le_name,contr
+	call memcpy
+car_le_modified_name_scan:
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_scan_data+2,contw
+	arg mem_le_name,contr
+	branch memcpy
+car_hex_to_ascii:
+	sub temp,9,null
+	branch car_hex_num,positive
+	add temp,55,temp
+	rtn
+car_hex_num:	
+	add temp,48,temp
+	rtn
+
+car_ui_led_init:
+	fetch 1,mem_car_config_blood_led1_gpio
+	bne INVALID_PIN_NUM,car_blood_led_gpio_set
+car_ui_led_init_1:
+	fetch 1,mem_car_config_pairing_led_gpio
+	bne INVALID_PIN_NUM,car_pairing_led_gpio_set
+car_ui_led_init_2:
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	bne INVALID_PIN_NUM,car_low_voltage_led_gpio_set
+car_ui_led_init_3:
+	fetch 1, mem_car_led_num
+	copy pdata,loopcnt
+	setarg mem_car_led_map
+	copy pdata,rega
+car_in_lp1:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq INVALID_PIN_NUM,car_in_lp1_end
+	copy pdata,temp
+	call gpio_config_output
+car_in_lp1_end:
+	loop car_in_lp1
+car_ui_led_init_end:
+	rtn
+car_blood_led_gpio_set:
+	fetch 8,mem_car_config_blood_led1_gpio
+	store 8,mem_car_led_map+2
+	branch car_ui_led_init_1
+car_pairing_led_gpio_set:
+	store 1,mem_car_led_map
+	branch car_ui_led_init_2
+car_low_voltage_led_gpio_set:
+	store 1,mem_car_led_map+1
+	branch car_ui_led_init_3
+
+
+car_init_environment:
+	arg 0,rega
+	call pwm_init
+	call car_ir_rx_init
+	call g24_receive_process_init
+	branch car_init_adc_hvin
+
+car_init_adc_hvin:
+	jam 100,mem_car_notify_vdd_value_last
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	store 1,mem_car_style2_struct_led_gpio
+	branch adc_init_data
+	
+car_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch keyscan_process_lpm_before
+
+car_le_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+car_key_scan_process:
+//	fetch 1,mem_enable_key_scan
+//	rtn blank
+	branch keyscan_key_process
+
+car_scale_process_idle:
+	call car_le_send_packet
+	call car_ir_receive_process
+	call car_g24_status_process
+	branch car_key_scan_process
+
+car_g24_status_process:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 1,mem_car_24g_received_pac
+	beq WORK_PAIRED,car_g24_connected_event
+	rtn
+car_g24_connected_event:
+	fetch 1,mem_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_car_24g_status
+	branch car_g24_connected
+
+car_le_send_packet:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BLE_CONNECTED
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_car_pop_queue_buff,rega
+	call queue_pop
+	nrtn user
+	arg mem_car_pop_queue_buff,contr
+	branch le_send_notify_from_list
+ 
+car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,car_scale_event_le_conn
+	beq BT_EVT_LE_DISCONNECTED,car_scale_event_le_discon
+	rtn
+
+car_scale_event_le_conn:
+	setarg disable_24g
+	call g24_store_mem_24g_mode
+	branch car_scale_process_conn
+car_g24_connected:
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+car_scale_process_conn:
+	jam 0x14,mem_car_notify_vdd_timer
+	jam 0,mem_lpm_mode
+	call app_ble_stop_adv
+	call app_lpm_mult_enable
+	fetch 1,mem_car_config_pairing_led_conn_status
+	beq 0x01,car_pairing_led_conn_status_setting
+car_scale_process_conn_next:
+	arg 0,rega
+	branch ui_led_on_global
+car_pairing_led_conn_status_setting:
+	arg 0,rega
+	branch ui_led_blink_stop_global
+
+car_scale_event_le_discon:
+	setarg rx_24g
+	call g24_store_mem_24g_mode
+car_g24_disconnect:
+	setarg 0
+	store 5,mem_car_led_control
+	setarg 4
+	call pwm_disable
+	setarg 5
+	call pwm_disable
+	setarg 20
+	call pwm_disable
+	setarg 21
+	call pwm_disable
+	setarg 22
+	call pwm_disable
+	setarg 7
+	call pwm_disable
+	call queue_init
+	jam 10,mem_motor1_speed
+	jam 10,mem_motor2_speed
+	jam 10,mem_motor3_speed
+//	jam 1,mem_lpm_mode
+	jam 2,mem_lpm_mult
+	arg 0,rega
+	call ui_led_blink_start_global
+
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+	branch app_ble_start_adv
+
+car_le_bb_event_timer:
+//	call car_ui_power_timeout_timer
+	call car_moto1_blank_data_timer
+	call car_moto2_blank_data_timer
+	call car_moto3_blank_data_timer
+	call app_power_timer
+	call car_led_control_timer
+	call car_notify_vdd_timer
+	call car_24g_no_data_timeout_timer
+	call car_ir_breakdown_timer
+	branch car_attack_shake_timer
+
+car_ir_breakdown_timer:
+	arg mem_car_ir_breakdown_check_timer,regc
+	arg car_ir_breakdown_timeout,regb
+	branch timer_single_step
+car_ir_breakdown_timeout:
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_flag
+	rtn
+	
+car_24g_no_data_timeout_timer:
+	arg mem_car_24g_no_data_timeout_timer,regc
+	arg car_24g_no_data_timer_timeout,regb
+	branch timer_single_step_2B
+car_24g_no_data_timer_timeout:
+	jam WORK_SEARCH,mem_car_24g_status
+	branch car_g24_disconnect
+
+car_attack_shake_timer:
+	arg mem_car_attack_shake_timer,regc
+	arg car_attack_shake,regb
+	branch timer_single_step
+car_attack_shake:
+	fetch 1, mem_car_attack_shake_flag
+	branch car_attack_shake_stop,blank
+	jam 2,mem_car_attack_shake_timer
+	jam 0, mem_car_attack_shake_flag
+	setarg 0x0a02
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_front_battle_tank
+car_attack_shake_front_battle_car:
+	branch car_motor_control
+car_attack_shake_front_battle_tank:
+	setarg 0x0a02
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+car_attack_shake_stop:
+	setarg 0
+	store 4,mem_le_receive_payload
+	branch car_motor_control
+
+car_notify_vdd_timer:
+	fetch 1,mem_car_config_bat_notify_enable
+	rtn blank
+ 	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,car_low_bat_led_off
+	arg mem_car_notify_vdd_timer,regc
+	arg car_notify_vdd,regb
+	branch timer_single_step
+car_notify_vdd:
+	fetch 1,mem_car_notify_vdd_count
+	store 1,mem_car_notify_vdd_timer
+ 	fetch 1,mem_car_working_flag
+ 	nrtn blank
+car_read_hvin:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_vdd_now_vol
+	arg mem_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetcht 1,mem_car_notify_vdd_value_last
+	isub temp,null
+	branch car_notify_vdd_next2,positive
+	store 1,mem_car_notify_vdd_value_last
+	copy pdata,temp
+car_notify_vdd_next2:
+	storet 1,mem_car_notify_vdd_percent
+	fetch 1,mem_car_config_low_voltage_percent
+	isub temp,null
+	call car_enter_low_bat,positive
+	storet 1,mem_notify_bat_payload 
+	arg 6,loopcnt
+	arg mem_notify_bat_head,contr
+	call calc_check_sum_start
+	store 1,mem_notify_bat_check_sum
+	arg mem_notify_bat_packet,rega
+	branch queue_push
+car_enter_low_bat:
+	fetch 1,mem_low_bat_flag
+	nrtn blank
+	jam 1,mem_low_bat_flag
+	arg 1,rega
+	branch ui_led_blink_start_global
+car_low_bat_led_off:
+	arg 1,rega
+	branch ui_led_blink_stop_global
+
+car_led_control_timer:
+	arg mem_car_led_control_timer,regc
+	arg car_led_control,regb
+	branch timer_single_step
+car_led_control:
+	jam 5,mem_car_led_control_timer
+	jam 0,mem_car_led_no
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_blink_off
+	beq LED_OFF,car_led_control_blink_on
+car_led_control_set:
+	arg mem_car_led_control,contr
+	copy contr,rega
+	arg 8,loopcnt
+car_led_control_timer_next:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq LED_OFF,car_led_control_off
+	beq LED_ON,car_led_control_on
+	beq LED_BLINK,car_led_control_blink
+car_led_control_timer_next_2:
+	fetch 1,mem_car_led_no
+	increase 1,pdata
+	store 1,mem_car_led_no
+	loop car_led_control_timer_next
+	rtn
+car_led_switch:
+	fetch 1,mem_car_led_no
+	arg mem_car_config_blood_led_gpio,regb
+	iadd regb,regb
+	ifetcht 1,regb
+	rtn
+car_led_control_off:
+	call car_led_switch
+	call gpio_out_inactive
+	branch car_led_control_timer_next_2
+car_led_control_on:
+	call car_led_switch
+	call gpio_out_active
+	branch car_led_control_timer_next_2
+car_led_control_blink:
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_off
+	branch car_led_control_on
+car_led_control_blink_on:
+	jam LED_ON,mem_car_led_blink_status
+	branch car_led_control_set
+car_led_control_blink_off:
+	jam LED_OFF,mem_car_led_blink_status
+	branch car_led_control_set
+	
+////////////////////////check sum////////////////////////
+//loopcnt = sum number,contr = ptr
+calc_check_sum_start:
+	arg 0,rega
+calc_check_sum_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop calc_check_sum_loop
+calc_check_sum_and:
+	and rega,0xff,pdata
+	rtn
+
+car_le_receive_data:	
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,car_le_parse_att_write_request
+	rtn
+car_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+	beq ATT_CAR_CONTROL_HANDLE,car_control_le_receive
+	rtn
+
+/*
+*	typedef struct
+*	{
+*		2byte	packet_head				(mem_app_receive_temp)
+*		1byte	packet_cmd				(mem_app_receive_temp+2)
+*		2byte	packet_payload_length	(mem_app_receive_temp+3)
+*		10byte	packet_payload			(mem_app_receive_temp+5)
+*		1byte	packet_check_sum		(mem_app_receive_temp+15)
+*	}
+*/
+le_app_receive_data:
+	bpatch patch1a_0,mem_patch1a
+	ifetch 5,rega
+	store 5,mem_app_receive_temp
+	fetch 2,mem_app_receive_temp
+	arg LE_RECEIVE_PACKET_HEAD,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_app_receive_temp+3
+	byteswap pdata,pdata
+	store 2,mem_app_receive_temp+3
+	copy pdata,loopcnt
+	increase 5,rega
+	copy rega,contr
+	arg mem_app_receive_temp+5,contw
+	call memcpy
+	ifetch 1,contr
+	store 1,mem_app_receive_temp+15
+	arg mem_app_receive_temp+2,rega
+	arg mem_app_receive_temp+5,regb
+	rtn
+
+car_control_le_receive:
+	setarg 0
+	store 5,mem_le_receive_payload
+	store 5,mem_le_receive_payload+5
+	call le_app_receive_data
+	copy regb,contr
+	arg mem_le_receive_payload,contw
+	arg 10,loopcnt
+	call memcpy
+car_receive_cmd_select:
+	bpatch patch1a_1,mem_patch1a
+	ifetch 1,rega
+	beq CAR_CMD_OLD_CAR_CONTROL,car_drive_old
+	beq CAR_CMD_OLD_SPEED_CONTROL,car_speed_set_old
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_IR_CONTROL,car_ir_data_rx_from_app
+	beq CAR_CMD_LED_CONTROL,car_led_control_receive
+	beq CAR_CMD_DEVICE_INFO,car_info_request
+	rtn
+
+car_24g_receive_data:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+	
+	jam WORK_PAIRED,mem_car_24g_received_pac
+	
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	call car_control_le_receive
+
+	fetch 1,mem_app_receive_temp+2	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_24g_receive_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_24g_receive_data_next
+	rtn
+car_24g_receive_data_next:
+	fetch 1,mem_le_receive_payload	//moto1
+	ncall car_moto1_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+2	//moto2
+	ncall car_moto2_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+4	//moto3
+	ncall car_moto3_enable_blank_data_timer,blank
+	rtn
+
+car_moto1_enable_blank_data_timer:
+	jam 5,mem_car_moto1_blank_timer
+	rtn
+car_moto2_enable_blank_data_timer:
+	jam 5,mem_car_moto2_blank_timer
+	rtn
+car_moto3_enable_blank_data_timer:
+	jam 5,mem_car_moto3_blank_timer
+	rtn
+
+car_moto1_blank_data_timer:
+	arg mem_car_moto1_blank_timer,regc
+	arg car_moto1_blank_data,regb
+	branch timer_single_step
+car_moto2_blank_data_timer:	
+	arg mem_car_moto2_blank_timer,regc
+	arg car_moto2_blank_data,regb
+	branch timer_single_step
+car_moto3_blank_data_timer:		
+	arg mem_car_moto3_blank_timer,regc
+	arg car_moto3_blank_data,regb
+	branch timer_single_step
+
+car_moto1_blank_data:
+	jam 0,mem_le_receive_payload
+	branch car_motor_control
+car_moto2_blank_data:
+	jam 0,mem_le_receive_payload+2
+	branch car_motor_control
+car_moto3_blank_data:
+	jam 0,mem_le_receive_payload+4
+	branch car_motor_control
+	
+	
+///////////////////////Motor//////////////////////////////////////////
+
+car_drive_old:	
+	call car_left_right_control_old
+	branch car_front_back_control_old
+car_left_right_control_old:
+	fetch 1,mem_le_receive_payload
+	store 1,mem_motor2_status
+	branch car_motor2_control
+car_front_back_control_old:
+	fetch 1,mem_motor1_speed
+	call car_reset_old_speed
+	fetch 1,mem_le_receive_payload+1
+	store 1,mem_motor1_status
+	branch car_motor1_control
+car_reset_old_speed:
+	beq SPEED_LEVEL_2,car_reset_old_speed2
+	beq SPEED_LEVEL_3,car_reset_old_speed3
+	store 1,mem_motor1_speed
+	rtn
+car_reset_old_speed2:
+	jam SPEED_LEVEL_5,mem_motor1_speed
+	rtn
+car_reset_old_speed3:
+	jam SPEED_LEVEL_10,mem_motor1_speed
+	rtn
+car_speed_set_old:
+	fetch 1,mem_le_receive_payload
+	call car_reset_old_speed
+	fetch 1,mem_motor1_speed
+	call car_motor_speed_duty_setting
+	call car_motor_speed_duty_transform
+	branch pwm_pwm0_duty_set
+
+car_motor_control:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 6,mem_le_receive_payload
+	store 6,mem_motor1_status
+	fetch 1,mem_motor1_speed
+	fetcht 1,mem_motor2_speed
+	iand temp,pdata
+	fetcht 1,mem_motor3_speed
+	iand temp,pdata
+	call car_motor_working_flag,blank
+	bpatch patch1a_2,mem_patch1a
+	call car_motor1_control
+	call car_motor2_control
+	branch car_motor3_control
+car_motor1_control:
+	arg mem_motor1_pwm_set,regb
+	arg mem_motor1_status,contr
+	branch car_motor_status_select
+car_motor2_control:
+	arg mem_motor2_pwm_set,regb
+	arg mem_motor2_status,contr
+	branch car_motor_status_select
+car_motor3_control:
+	arg mem_motor3_pwm_set,regb
+	arg mem_motor3_status,contr
+	branch car_motor_status_select
+car_motor_working_flag:
+	jam 0,mem_car_working_flag
+	rtn
+
+car_motor_status_select:
+	ifetch 1,contr
+	beq MOTOR_STOP,car_motor_stop
+	beq GO_FRONT,car_motor_positive
+	beq GO_BACK,car_motor_negative
+	rtn
+car_motor_positive:
+	jam 0,mem_motor_select_p_n
+	branch car_motor_negative+1
+car_motor_negative:
+	jam 1,mem_motor_select_p_n
+	ifetch 1,contr
+	store 1,mem_car_motor_speed
+	ifetch 8,regb
+	branch car_motor_work
+
+car_motor_stop:
+	ifetch 1,regb
+	call pwm_disable
+	increase 1,regb
+	ifetch 1,regb
+	branch pwm_disable
+car_motor_work:
+	store 8,mem_motor_pwm_pin1_set
+	jam 1,mem_car_working_flag
+	fetch 1,mem_motor_select_p_n
+	beq 0,car_motor_select_positive
+car_motor_select_negative:
+	fetch 1,mem_motor_pwm_pin2_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin1_set
+car_motor_work_next:
+	call pwm_disable
+	fetch 1,mem_car_motor_speed
+	call car_motor_speed_duty_setting
+	store 1,mem_motor_pwm_dute_set
+	fetch 6,mem_motor_pwm_pin_set
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+car_motor_select_positive:
+	fetch 1,mem_motor_pwm_pin1_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin2_set
+	branch car_motor_work_next
+
+car_motor_speed_duty_setting:
+	mul32 pdata,5,pdata
+	add pdata,50,pdata
+	rtn
+car_motor_speed_duty_transform:
+	arg 12000,temp
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient temp
+	copy temp,rega
+	setarg 12000
+	isub temp,regb
+	rtn
+
+/////////////////////IR PROCESS/////////////////////
+car_ir_init:
+	hfetch 1,core_gpio_sel2		// select GPIO3 as pwm4
+	set1 2,pdata
+	hstore 1,core_gpio_sel2
+	setarg 158
+	hstore 2,core_pwm_pcnt4
+	hstore 2,core_pwm_ncnt4
+	rtn
+
+car_ir_data_rx_from_app:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 2,mem_le_receive_payload
+	store 2,mem_ir_data
+	fetch 1,mem_car_24g_status
+	bne WORK_PAIRED,car_ir_data_tx
+	fetch 2,mem_le_lap
+	store 2,mem_ir_data
+car_ir_data_tx:
+	bpatch patch1a_3,mem_patch1a
+	call car_ir_init
+	call car_ir_enable
+	setarg 48000
+	call sleep
+	call car_ir_disable
+	setarg 7200
+	call sleep
+	arg 16,loopcnt
+car_ir_send_loop:
+	call car_ir_enable
+	fetch 2,mem_ir_data
+	bbit1 0,car_ir_is_bit1
+	setarg 7200
+	call sleep
+	call car_ir_disable
+	branch car_ir_wait_finish
+	
+car_ir_is_bit1:
+	setarg 14400
+	call sleep
+	call car_ir_disable
+car_ir_wait_finish:
+	setarg 7200
+	call sleep
+	fetch 2,mem_ir_data
+	rshift pdata,pdata	
+	store 2,mem_ir_data
+	loop car_ir_send_loop
+
+	jam 2,mem_car_attack_shake_timer
+	jam 1, mem_car_attack_shake_flag
+	setarg 0x0a01
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_back_battle_tank
+car_attack_shake_back_battle_car:
+	branch car_motor_control
+car_attack_shake_back_battle_tank:
+	setarg 0x0a01
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+	
+car_ir_enable:
+	hfetch 1,core_gpio_key2			// PWM4_enable
+	or_into 0x40,pdata
+	hstore 1,core_gpio_key2	
+	rtn
+car_ir_disable:
+	hfetch 1,core_gpio_key2			// PWM4_disable
+	and_into 0xbf,pdata
+	hstore 1,core_gpio_key2
+	rtn
+	
+car_ir_rx_init:
+	fetch 1,mem_car_config_ir_enable
+	rtneq 0x00
+	call lpm_disable_exen_output
+	fetcht 1,mem_car_config_ir_rx_gpio
+	storet 1,mem_ir_rx_gpio
+	call gpio_config_input
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_check_timer
+	rtn
+
+car_ir_receive_process:
+	fetch 1,mem_car_config_ir_enable
+	rtneq FLAG_IR_DISABLE	
+	fetch 1,mem_car_ir_breakdown_flag
+	nrtn blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,car_ir_receive_process_next
+	fetch 1,mem_car_24g_status
+	rtnne WORK_PAIRED
+car_ir_receive_process_next:
+	bpatch patch1a_4,mem_patch1a
+	call car_ir_gpio_get_status
+	nrtn true
+	setarg 36000
+	call sleep
+	call car_ir_gpio_get_status
+	nrtn true
+	call car_ir_clk_get
+car_ir_packet_head_wait_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_packet_head_wait_end,true
+	arg 0,rega
+	arg 16,loopcnt
+	call car_ir_clk_get
+car_ir_receive_process_loop:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	nbranch car_ir_receive_process_loop,true
+	setarg 10800
+	call sleep
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1,true
+car_ir_get_bit0:
+	setarg 0
+ 	rshift rega,rega
+	ior rega,rega
+	loop car_ir_receive_process_loop
+	branch car_ir_receive_process_end
+car_ir_get_bit1:
+	setarg 0x8000
+	rshift rega,rega
+	ior rega,rega
+	call car_ir_clk_get
+car_ir_get_bit1_wait_low_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1_wait_low_end,true
+	loop car_ir_receive_process_loop
+car_ir_receive_process_end:
+	bpatch patch1a_5,mem_patch1a
+	copy rega,pdata
+	store 2,mem_ir_rx_buf
+	store 2,mem_ir_notify_data+8
+	fetch 1,mem_car_24g_status
+	beq WORK_PAIRED,car_ir_24g_receive_attack
+car_ir_data_notify:
+	arg 0x07,loopcnt
+	arg mem_ir_notify_data_head,contr
+	call calc_check_sum_start
+	store 1,mem_ir_notify_data_check_sum
+	arg mem_ir_notify_data,rega
+	branch queue_push
+
+car_ir_24g_receive_attack:
+	fetch 1,mem_car_24g_ir_receive_attack_count
+	increase 1,pdata
+	store 1,mem_car_24g_ir_receive_attack_count
+	div pdata,2
+	call wait_div_end
+	quotient temp
+	remainder pdata
+	nbranch car_ir_24g_receive_attack_blink,blank
+car_ir_24g_receive_attack_off:
+	fetch 1,mem_car_config_led_num
+	isub temp,null
+	call car_ir_24g_go_die,zero
+	arg mem_car_led_control,pdata
+	increase -1,temp
+	iadd temp,rega
+	arg 0,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_receive_attack_blink:
+	arg mem_car_led_control,pdata
+	iadd temp,rega
+	arg 2,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_go_die:
+	jam 1,mem_car_24g_go_die_flag
+	rtn
+car_ir_clk_get:
+	copy clkn_bt,pdata
+	store 4,mem_ir_receive_clkn
+	rtn
+car_ir_clk_check:
+	copy clkn_bt,pdata
+	fetcht 4,mem_ir_receive_clkn
+	isub temp,pdata
+	sub pdata,200,null
+	rtn
+
+car_ir_gpio_get_status:
+	fetcht 1,mem_ir_rx_gpio
+	branch gpio_get_bit
+
+car_led_control_receive:
+	fetch 8,mem_le_receive_payload
+	store 8,mem_car_led_control
+	rtn
+
+car_info_request:
+	fetch 1,mem_car_config_device_select
+	store 1,mem_car_info_request_payload
+	fetch 1,mem_car_config_motor_layout
+	store 1,mem_car_info_request_payload+1
+	fetch 1,mem_car_config_ir_enable
+	store 1,mem_car_info_request_payload+2
+	arg 13,loopcnt
+	arg mem_car_info_request_head,contr
+	call calc_check_sum_start
+	store 1,mem_car_info_request_checksum
+	arg mem_car_info_request,rega
+	branch queue_push
+    
+
+
+
+
+light_init:
+	call clear_eeprom_size_2k
+	jam 0x7a,mem_curr_packet_num
+	call light_load_controler_list
+	call light_init_crr_cmd_count
+	setarg light_pairing_timer
+	store 2,mem_cb_event_timer
+	arg 0,rega
+	branch pwm_init
+
+light_pairing_timer:
+	fetch 2,mem_light_pairing_timer
+	rtn blank
+	increase -1,pdata
+	store 2,mem_light_pairing_timer
+	rtnne 0
+	jam 0,mem_light_pairing_enable
+	rtn
+
+light_init_crr_cmd_count:
+	bpatch patch1a_6,mem_patch1a
+	fetch 1,mem_light_next_record
+	sub pdata,40,null
+	rtn positive
+	jam 0,mem_light_next_record
+	rtn
+
+light_load_controler_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_read_eep_data
+
+//output user:group record find
+light_find_controler_pairing:
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_pairing_loop:
+	bpatch patch1a_7,mem_patch1a
+	call light_compare_addr_record
+	branch enable_user,zero
+light_find_single_pairing_diff:
+	increase 4,rega
+	loop light_find_controler_pairing_loop
+	rtn
+
+//rega: regb:
+light_compare_addr_record:
+	bpatch patch1b_0,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	rtn
+//rega: regb:
+light_compare_single_record:
+	bpatch patch1b_1,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	nrtn zero
+	ifetch 1,contr
+	sub pdata,0,null //0 zero
+	rtn zero
+	add rega,3,contr
+	ifetcht 1,contr
+	isub temp,null
+	rtn
+
+//output:find single controler
+light_find_controler_cmd:
+	bpatch patch1b_2,mem_patch1b
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_cmd_loop:
+	call light_compare_single_record
+	branch enable_user,zero
+	increase 4,rega
+	loop light_find_controler_cmd_loop
+	rtn
+
+//regc
+light_recv_adv:
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	arg mem_le_rxbuf+12,regc
+
+light_anylize_command:
+	ifetch 2,regc
+	arg 0x55aa,temp
+	isub temp,null
+	nrtn zero
+	copy contr,regc
+	ifetcht 3,regc
+	setarg 0xffffff
+	isub temp,null
+	branch light_parse_cmd,zero
+	call light_find_controler_cmd
+	branch light_parse_cmd,user
+	rtn
+
+light_parse_cmd:
+	bpatch patch1b_3,mem_patch1b
+	increase 4,regc
+	ifetch 1,regc
+	fetcht 1,mem_curr_packet_num
+	isub temp,null
+	rtn zero
+	store 1,mem_curr_packet_num
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	
+	increase 1,regc
+	ifetch 1,regc
+	store 1,mem_light_crr_cmd_count
+	copy pdata,loopcnt
+	rtn blank
+light_parse_cmd_loop:
+	ifetch 1,contr
+	beq LIGHT_CMD_PWM0,light_parse_cmd_pwm0
+	beq LIGHT_CMD_PWM1,light_parse_cmd_pwm1
+	beq LIGHT_CMD_PWM2,light_parse_cmd_pwm2
+	beq LIGHT_CMD_PWM3,light_parse_cmd_pwm3
+	beq LIGHT_CMD_PWM4,light_parse_cmd_pwm4
+	beq LIGHT_CMD_PWM5,light_parse_cmd_pwm5
+	beq LIGHT_CMD_AUTO_MODE,light_parse_auto_mode
+	beq LIGHT_CMD_PAIRING,light_parse_pairing
+	loop light_parse_cmd_loop
+	rtn
+
+light_parse_cmd_pwm0:
+	copy contr,regc
+	fetch 1,mem_light_pwm0
+	store 1,mem_pdatatemp
+	arg 0,temp
+light_parse_cmd_pwm_common:
+	storet 1,mem_pdatatemp+1
+	setarg 10000
+	store 3,mem_pdatatemp+2
+	ifetch 1,regc
+	store 1,mem_pdatatemp+5
+	call  pwm_out_set
+	and regc,1,contr
+	loop light_parse_cmd_loop
+	rtn
+light_parse_cmd_pwm1:
+	copy regc,contr
+	fetch 1,mem_light_pwm1
+	store 1,mem_pdatatemp
+	arg 1,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm2:
+	copy regc,contr
+	fetch 1,mem_light_pwm2
+	store 1,mem_pdatatemp
+	arg 2,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm3:
+	copy regc,contr
+	fetch 1,mem_light_pwm3
+	store 1,mem_pdatatemp
+	arg 3,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm4:
+	copy regc,contr
+	fetch 1,mem_light_pwm4
+	store 1,mem_pdatatemp
+	arg 4,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm5:
+	copy regc,contr
+	fetch 1,mem_light_pwm5
+	store 1,mem_pdatatemp
+	arg 5,temp
+	branch light_parse_cmd_pwm_common
+
+light_parse_auto_mode:
+	ifetch 1,contr
+	rtn
+
+light_parse_pairing:
+	copy contr,regc
+	fetch 1,mem_light_pairing_enable
+	bne 1,light_parse_pairing_abandon
+	call update_controler_list
+light_parse_pairing_abandon:
+	and regc,4,contr
+	rtn
+update_controler_list:
+	bpatch patch1b_4,mem_patch1b
+	call light_find_controler_pairing
+	branch update_conrtoler_list_found,user
+	fetch 1,mem_light_next_record
+	copy pdata,temp
+	increase 1,pdata
+	store 1,mem_light_next_record
+	call light_init_crr_cmd_count
+	lshift2 temp,temp
+	setarg mem_light_clist
+	iadd temp,contw
+	ifetch 4,regc
+	istore 4,contw
+	branch update_conrtoler_store_list
+update_conrtoler_list_found:
+	add regc,3,contr
+	ifetch 1,contr
+	rtn blank
+	ifetch 4,regc
+	istore 4,rega
+update_conrtoler_store_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_write_eep_data
+
+
+
+lightc_init:
+	//key scan init
+
+	//gpio init
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+	rtn
+
+
+lightc_dispatch:
+	//key scan 
+	
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_active
+
+
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+
+	//
+	call lightc_start_adv
+
+	fetch 1,mem_adv_time
+	nrtn blank
+	//sleep 
+	call lpm_write_gpio_wakeup
+	hfetch 4,core_lpm_ctrl
+	set0 15,pdata						/* lowest lpo */
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	arg param_hibernate_clks,temp
+	branch lpm_sleep
+
+lightc_adv:
+	fetch 1,mem_adv_time
+	branch le_adv_loop_tx,blank
+	increase -1,pdata
+	store 1,mem_adv_time
+	branch le_adv_loop_tx
+
+lightc_start_adv:
+	mul32 pdata,20,pdata
+	arg mem_cmd0_string,contr
+	iadd contr,contr
+	ifetch 1,contr
+	rtn blank
+	copy pdata,rega
+	copy rega,loopcnt
+	arg mem_le_adv_data+2,contw
+	call memcpy
+	copy rega,pdata
+	increase 2,pdata
+	store 1,mem_le_adv_data_len
+	rtn
+
+
+
+
+
+
+module_init:
+	
+	rtn wake
+	call le_modified_name
+	call adc_init_data
+	setarg module_process_idle
+	store 2,mem_cb_idle_process
+	setarg module_bt_conn_process
+	store 2,mem_cb_bt_process
+	setarg module_process_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg module_le_conn_process
+	store 2,mem_cb_le_process
+	setarg module_lpm_lock
+	store 2,mem_cb_check_wakelock
+	setarg module_hci_cmd_transmit_le_notify
+	store 2,mem_cb_ble_transmit
+	setarg module_hci_event_receive_spp_data
+	store 2,mem_cb_receive_spp_data
+	setarg module_le_receive_data
+	store 2,mem_cb_att_write
+	setarg module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	call module_spp_clear_last_transmite_clock
+	bpatch patch1b_5,mem_patch1b
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	branch module_hci_event_enter_standby_mode
+
+
+module_lpm_uart_init:
+	fetch 4,mem_module_uart_rx_buffer
+	hstore 4,core_uart_rsaddr
+
+	fetch 4,mem_module_uart_tx_buffer
+	hstore 4,core_uart_tsaddr
+
+	hfetch 1,core_gpio_sel1
+	or_into 0x04,pdata
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	hjam 0x00,core_uart_ctrl
+
+	fetch 2,mem_module_uart_rx_buffer
+	hstore 2,core_uart_rrptr
+	fetch 2,mem_module_uart_tx_buffer
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+
+	hfetch 4,core_gpio_pu0
+	set1 7,pdata
+	hstore 4,core_gpio_pu0
+	
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	hjam uartclk_crystal,core_uart_clksel
+	hjam uart_ctrl_h4,core_uart_ctrl
+
+	fetch 1,mem_module_flag
+	isolate1 MODULE_FLAG_UART_FLOW_CONTROL,pdata
+	hfetcht 1,core_uart_ctrl
+	setflag true,4,temp
+	hstoret 1,core_uart_ctrl
+	rtn
+	
+
+
+module_lpm_init:
+	call module_spp_clear_last_transmite_clock
+	branch module_lpm_uart_init
+//	branch module_gpio_init
+	
+module_gpio_init:
+	//module state pin
+//	call ui_led_init	
+//	call app_led_start_blink
+	//module conn state pin
+	fetcht 1,mem_module_connect_state_gpio
+	call gpio_config_output
+	call module_set_conn_pin_low
+	
+	fetcht 1,mem_module_wake_up_gpio
+	branch gpio_config_input
+
+module_lpm_lock:
+	fetcht 1,mem_module_wake_up_gpio
+	call gpio_get_bit
+	nbranch app_put_lpm_wake_lock,true
+	branch app_get_lpm_wake_lock
+
+	
+module_le_conn_process:
+	rtn
+
+module_bt_conn_process:
+	call module_spp_enter_sniff
+	branch module_control_air_flow
+
+module_spp_enter_sniff:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_spp_clear_last_transmite_clock
+	bpatch patch1b_6,mem_patch1b
+	setarg 0x3eff
+	fetcht 4,mem_last_transmite_clock
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_SNIFF,module_spp_clear_last_transmite_clock
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_SNIFF
+	call module_set_sniff_task_flag
+	call app_bt_enter_sniff
+module_spp_clear_last_transmite_clock:
+	copy clkn_bt,pdata
+	store 4,mem_last_transmite_clock
+	rtn
+	
+
+module_process_idle:
+	call module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch module_process
+
+	
+module_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BB_CONNECTED,module_process_bb_conn
+	beq BT_EVT_BB_DISCONNECTED,module_process_bb_event_disconned
+	beq BT_EVT_RECONN_FAILED,module_process_reconn_fail
+	beq BT_EVT_SETUP_COMPLETE,module_process_setup_complete
+	beq BT_EVT_SPP_CONNECTED,module_process_spp_connected
+	beq BT_EVT_SPP_DISCONNECTED,module_process_spp_disconnected
+	beq BT_EVT_PINCODE_REQ,module_process_evt_pincode_req
+	beq BT_EVT_ENTER_SNIFF,module_process_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,module_process_exit_sniff
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,module_process_page_time_out
+	beq BT_EVT_LE_CONNECTED,module_process_le_conn
+	beq BT_EVT_LE_DISCONNECTED,module_process_bb_even_le_disconn
+	beq BT_EVT_SNIFF_NOT_ACCEPT,module_process_sniff_not_accept
+	beq BT_EVT_UNSNIFF_ACCEPT,module_process_unsniff_accept
+	beq BT_EVT_UNSNIFF_NOT_ACCEPT,module_process_unsniff_not_accept
+	beq BT_EVT_LE_PAIRING_FAIL,module_hci_event_le_pairing_fail
+	beq BT_EVT_LE_PAIRING_SUCCESS,module_hci_event_le_pairing_success
+	beq BT_EVT_LE_START_ENC,module_hci_event_start_enc
+	beq BT_EVT_LE_PAUSE_ENC,module_hci_event_pause_enc
+	beq BT_EVT_LE_TK_GENERATE,module_hci_event_le_tk
+	beq BT_EVT_BT_GKEY_GENERATE,module_hci_event_gkey_generate
+	beq BT_EVT_BT_GET_PASSKEY,module_hci_event_passkey_entry_mode
+	beq BT_EVT_BT_PAIRING_FAIL,module_hci_event_bt_pairing_fail	
+	beq BT_EVT_BT_PAIRING_SUCCESS,module_hci_event_bt_pairing_success
+	beq BT_EVT_LE_GKEY_GENERATE,module_hci_event_le_gkey
+	beq BT_EVT_STORE_NVRAM,module_hci_event_store_device
+	beq BT_EVT_LE_LTK_LOST,module_process_ble_ltk_lost
+	rtn
+
+	
+module_process_bb_event_disconned:
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_flag_pairing_state
+	ncall module_hci_event_bt_pairing_fail,blank
+	call module_disconn_start
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	branch  module_spp_disconnected
+
+module_process_spp_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SPP_CONN,pdata
+	store 2,mem_ui_state_map
+	fetch 1,mem_module_spp_lpm_mult
+	store 1,mem_lpm_mult
+	call module_set_conn_pin_low
+	branch module_hci_event_spp_connect
+
+module_process_spp_disconnected:
+//	branch module_spp_disconnected
+module_spp_disconnected:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	set0 UI_STATE_BT_SPP_CONN ,pdata
+	store 2,mem_ui_state_map
+	branch module_hci_event_spp_disconnect
+
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+	call module_spp_clear_last_transmite_clock
+	//fetch 1,mem_context
+	//rtnbit0 state_insniff
+	fetch 2,mem_context+coffset_tsniff
+	rshift pdata,pdata
+	fetcht 2,mem_sniff_param_interval
+	isub temp,null
+	nbranch module_sniff_param_check_unsniff,zero
+	branch app_lpm_mult_enable
+module_sniff_param_check_unsniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	hfetch 2,core_uart_rxitems    //*
+	ncall module_set_unsniff_task_flag,blank    //*加这两句话
+	branch app_bt_sniff_exit
+
+module_process_exit_sniff:
+	call module_clear_sniff_task_flag
+	branch app_lpm_mult_disable
+ 	
+module_process_setup_complete:
+	call module_spp_clear_last_transmite_clock
+	branch module_conn_start
+	
+module_process_bb_even_le_disconn:
+	call le_clr_config_more_data
+	call module_disconn_start
+	branch module_hci_event_le_disconnect
+
+module_process_evt_pincode_req:
+	branch  app_bt_set_pincode
+	
+
+module_process_sniff_not_accept:
+	branch module_clear_sniff_task_flag
+
+
+module_process_unsniff_accept:
+	fetch 1,mem_module_flag
+	bbit0 MOUDLE_TASK_UNSNIFF,app_bt_enter_sniff
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_unsniff_not_accept:
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_le_conn:
+	call le_send_att_exchange_mtu_requset
+	call module_conn_start
+	fetch 1,mem_module_le_lpm_mult
+	store 1,mem_lpm_mult
+	branch module_hci_event_le_connect
+
+
+module_process_bb_conn:
+	jam 0,mem_flag_mode_ssp_pin
+	call module_clear_sniff_task_flag
+	branch module_clear_unsniff_task_flag
+
+module_process_page_time_out:
+module_process_reconn_fail:
+module_disconn_start:
+	call module_start_adv_discovery_by_command
+	branch module_set_conn_pin_high
+
+
+module_process_ble_ltk_lost:
+	call le_send_reject_ind
+	branch le_send_smp_security_request
+
+
+module_set_conn_pin_high:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_active
+
+module_conn_start:
+	call module_stop_adv_discovery
+	branch module_set_conn_pin_low
+	
+module_stop_adv_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_stop_discovery,true
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	call app_ble_stop_adv,true
+	rtn
+module_set_conn_pin_low:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_inactive
+
+module_process_with_credit:
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	branch rfcomm_send_uih_without_payload
+
+module_process:
+	hfetch 1,core_uart_status
+	bbit1 uart_status_rx_fifo_empty,module_process_with_credit  //rx no data
+	call uartd_prepare_rx
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	hfetch 2,core_uart_rxitems
+	sub pdata,2,null
+	rtn positive
+	ifetch 1,contru
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	add temp,3,temp
+	hfetch 2,core_uart_rxitems
+	isub temp,temp
+	nrtn positive
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call module_hci_cmd_control
+	fetch 1,mem_module_temp_nl_discard_packet
+	rtneq HCI_NOT_DISCARD_PACKET
+	branch module_hci_dicard_packet //discard this packet
+
+module_hci_in_excp:
+	call delay_10ms
+	call module_hci_event_invalid_packet
+	branch module_hci_release_except
+
+
+module_hci_release_except:
+	bpatch patch1b_7,mem_patch1b
+	hfetch 2,core_uart_rxitems
+	rtn blank
+	call uartd_prepare_rx
+	ifetch 1,contru
+	sub pdata,0x01,null
+	ncall module_hci_dicard_bytes,zero
+	nbranch module_hci_release_except,zero
+	ifetch 1,contru
+	rtneq HCI_CMD_SPP_DATA_REQ
+	rtneq HCI_CMD_SET_CREDIT_GIVEN
+	increase -1,contru
+	call module_hci_dicard_bytes
+	branch module_hci_release_except
+
+module_hci_dicard_packet:
+	call uartd_prepare_rx
+	increase 2,contru
+	ifetch 1,contru
+	iadd contru,contru
+module_hci_dicard_bytes:
+	branch uartd_rxdone
+	
+/*********************HCI CONTROL*********************/
+module_hci_cmd_control:
+	bpatch patch1c_0,mem_patch1c
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_SET_BT_ADDR_REQ,module_hci_cmd_set_bt_addr
+	beq HCI_CMD_SET_LE_ADDR_REQ,module_hci_cmd_set_le_addr
+	beq HCI_CMD_SET_VISIBILITY_REQ,module_hci_cmd_set_visibility	
+	beq HCI_CMD_SET_BT_NAME_REQ,module_hci_cmd_set_bt_name
+	beq HCI_CMD_SET_LE_NAME_REQ,module_hci_cmd_set_le_name
+	beq HCI_CMD_SPP_DATA_REQ,module_hci_cmd_receive_spp_data
+	beq HCI_CMD_LE_DATA_REQ,module_hci_cmd_receive_le_data
+	beq HCI_CMD_STATUS_IRQ,module_hci_cmd_inquire_status
+	beq HCI_CMD_SET_PAIRING_REQ,module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_SET_PINCODE_REQ,module_hci_cmd_set_pincode	
+	beq HCI_CMD_SET_UARTCONTROL_REQ,module_hci_cmd_set_uart_control_mode
+	beq HCI_CMD_SET_UART_BAUD_REQ,module_hci_cmd_set_uart_baud
+	beq HCI_CMD_VERSION_REQ,module_hci_cmd_version_request
+	beq HCI_CMD_BT_DISCONNECT,module_hci_cmd_bt_disconnect
+	beq HCI_CMD_BLE_DISCONNECT,module_hci_cmd_ble_disconnect
+	beq HCI_CMD_SET_NVRAM_REQ,module_hci_cmd_set_nvram
+	beq HCI_CMD_CONFIRM_GKEY,module_hci_cmd_confirm_gkey
+	beq HCI_CMD_SET_CREDIT_GIVEN,module_hci_cmd_set_credit_given
+	beq HCI_CMD_AUTO_ADV_SCAN,module_hci_cmd_auto_adv
+	beq HCI_CMD_POWER_REQ,module_hci_cmd_power_request
+	beq HCI_CMD_POWER_SET,module_hci_cmd_power_set
+	beq HCI_CMD_PASSKEY_ENTRY,module_hci_cmd_passkey_entry
+	beq HCI_CMD_SET_GPIO,module_hci_cmd_set_gpio
+	beq HCI_CMD_READ_GPIO,module_hci_cmd_read_gpio
+	beq HCI_CMD_LE_SET_PAIRING,module_hci_cmd_le_set_pairing_mode
+	beq HCI_CMD_LE_SET_ADV_DATA,module_hci_cmd_le_set_adv_data
+	beq HCI_CMD_LE_SET_SCAN_DATA,module_hci_cmd_le_set_scan_data
+	beq HCI_CMD_LE_SEND_CONN_UPDATE_REQ,module_hci_cmd_le_send_conn_update_req
+	beq HCI_CMD_LE_SET_ADV_PARM,module_hci_cmd_set_le_adv_parameter
+	beq HCI_CMD_LE_START_PAIRING,module_hci_cmd_le_start_pairing
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_CMD_SET_TX_POWER,module_hci_cmd_set_tx_power
+	beq HCI_CMD_LE_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey
+	beq HCI_CMD_REJECT_JUSTWORK,module_hci_cmd_set_reject_justwork_flag
+	beq HCI_CMD_RESET_CHIP_REQ,module_hci_cmd_reset_chip
+	beq HCI_CMD_LE_SET_FIXED_PASSKEY,module_hci_cmd_le_set_fixed_passkey
+	beq HCI_TEST_CMD_CLOSE_LPM,module_hci_test_cmde_close_lpm
+	branch  module_hci_event_receive_invalid_cmd
+
+/*********************HCI COMMAND*********************/
+
+//command opcode 0x00
+module_hci_cmd_set_bt_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_lap
+	branch module_hci_event_receive_valid_cmd
+
+//command opcode 0x01
+module_hci_cmd_set_le_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_le_lap
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x02
+module_hci_cmd_set_visibility:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	call module_hci_event_receive_valid_cmd
+	ifetcht 1,contru
+	storet 1,mem_module_bluetooth_stauts_by_command
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	rtnbit1 UI_STATE_BT_CONNECTED
+module_start_adv_discovery_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	nbranch moudle_start_adv_by_command,true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	and temp,0x03,pdata
+	store 1,mem_scan_mode
+moudle_start_adv_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	nrtn true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	isolate1 2,temp
+	branch app_ble_start_adv,true
+	branch app_ble_stop_adv
+
+
+//command opcode 0x03
+module_hci_cmd_set_bt_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,67,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_local_name_length
+	arg 8,loopcnt
+	call memset0
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_local_name,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x04
+module_hci_cmd_set_le_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,29,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_name_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_name,contw
+	call uart_copy_rx_bytes_fast
+	call le_modified_name
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x05
+module_hci_cmd_receive_spp_data:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_hci_event_receive_invalid_cmd
+	call app_check_sniff
+	branch module_hci_cmd_spp_exit_sniff,true
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_remote_credits
+	rtn blank
+	fetch 2,mem_nl_rx_len_all
+	bne 0,module_hci_cmd_pass_init_ng_rx_len_all
+	fetch 1,mem_module_uart_len
+	store 2,mem_nl_rx_len_all
+
+	copy rega,contru
+//	ifetch 2,contru
+//	store 2,mem_nl_rx_handle
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+module_hci_cmd_pass_init_ng_rx_len_all:
+	call module_hci_cmd_get_current_packet_len_and_remain_len
+	branch spp_tx_rfcomm_packet
+	
+module_hci_cmd_spp_exit_sniff:
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	branch module_exit_sniff
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+	call module_hci_cmd_get_current_patcket_len
+	fetch 2,mem_nl_rx_len_all
+	fetcht 2,mem_current_packet_length
+	isub temp,pdata
+	store 2,mem_nl_rx_len_all
+	rtn
+
+module_hci_cmd_get_current_patcket_len:
+	fetch 2,mem_nl_rx_len_all
+	arg DM_REFCOM_BUFF_LEN,temp
+	call not_greater_than
+	fetcht 2,mem_rfcomm_max_frame_size
+	call not_greater_than
+	fetcht 2,mem_pn_max_frame_size
+	call not_greater_than
+	store 2,mem_current_packet_length
+	rtn
+
+module_hci_command_tx_spp_tx_complete:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	jam HCI_CMD_SPP_DATA_REQ,mem_module_uart_opcode
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x09
+module_hci_cmd_receive_le_data:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	call module_check_ble_encrypt_state
+	branch module_hci_event_receive_invalid_cmd,user
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_FINISH,module_hci_cmd_receive_le_data_finish
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	ifetch 2,contru		//handle
+	store 2,mem_module_hci_notify_handle
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_uart_len
+	pincrease -2
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	branch module_hci_event_receive_invalid_cmd,zero
+	store 1,mem_module_hci_notify_len
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call le_set_config_more_data
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	fetch 1,mem_module_flag
+	rtnbit0 MODULE_FLAG_BLE_DATA_FINISH
+module_hci_cmd_receive_le_data_finish:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_transmit_le_notify:
+	fetch 1,mem_module_hci_notify_len
+	rtn blank
+	call le_fifo_check_nearly_full
+	nrtn blank				//no fifo
+	call module_get_le_remote_mtu
+	bpatch patch1c_1,mem_patch1c
+	add temp,-3,pdata		//sub handle and opcode
+	fetcht 1,mem_module_hci_notify_len
+	call not_greater_than
+	copy pdata,rega
+	copy temp,pdata
+	isub rega,pdata
+	store 1,mem_module_hci_notify_len
+	fetcht 2,mem_module_hci_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 2,mem_module_hci_nofiy_addr
+	copy pdata,contru
+	copy rega,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	branch module_set_le_tx_data_flag
+
+
+//output: temp is master mtu
+module_get_le_remote_mtu:
+	arg 0x17,temp
+	fetch 1,mem_module_flag
+	rtnbit1 MODULE_FLAG_BLE_SEND_MTU23
+	fetcht 2,mem_le_remote_mtu
+	rtn
+
+module_check_ble_encrypt_state:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_ENCRYPT,le_check_encrypt_state
+	branch disable_user
+	
+
+//command opcode 0x0b
+module_hci_cmd_inquire_status:
+	branch module_hci_event_status_res
+
+
+//command opcode 0x0c
+module_hci_cmd_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	beq PAIRING_PINCODE,module_hci_pairing_pincode_mode
+	beq PAIRING_JUSTWORK,module_hci_pairing_just_work_mode
+	beq PAIRING_PASSKEY,module_hci_pairing_passkey
+	beq PAIRING_CONFIRM,module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+module_hci_pairing_pincode_mode:
+	call ssp_disable
+	jam 0,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_just_work_mode:
+	setarg SSP_MODE_JUST_WORK_IO_CAP_DATA
+module_hci_sspairing_mode:	
+	store 3,mem_sp_iocap_local
+	store 1,mem_ssp_mode_flag
+	call ssp_enable
+	jam 1,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_passkey:
+	setarg SSP_MODE_PASSKEY_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+module_hci_pairing_numeric_comparison:
+	setarg SSP_MODE_SSP_PIN_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+//command opcode 0x0d
+module_hci_cmd_set_pincode:
+	fetch 1,mem_module_uart_len
+	sub pdata,16,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_pin_length
+	copy pdata,loopcnt
+	arg mem_pin,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x0e
+module_hci_cmd_set_uart_control_mode:
+	copy rega,contru
+	ifetch 1,contru
+	hfetcht 1,core_uart_ctrl
+	nsetflag blank,4,temp
+	hstoret 1,core_uart_ctrl
+ 	branch module_hci_event_receive_valid_cmd
+
+ 	
+//command opcode 0x0f
+module_hci_cmd_set_uart_baud:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	call string2dec_from_uart
+	setarg uart_clk_24
+	idiv temp
+	call wait_div_end
+	quotient pdata
+module_hci_cmd_set_uart_baud_ok:
+	store uart_baud_len,mem_baud
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	branch uart_set_baud_by_mem
+
+
+//command opcode 0x10
+module_hci_cmd_version_request:
+	arg 2,rega
+	arg mem_soft_version_num,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+module_hci_event_set_cmd_send_response:
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x11
+module_hci_cmd_bt_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_bt_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_bt_disconnect
+
+	
+//command opcode 0x12
+module_hci_cmd_ble_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_ble_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_ble_disconnect
+
+
+
+
+//command opcode 0x26
+module_hci_cmd_set_nvram:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	fetch 2,mem_nv_data_ptr
+	icopy contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x28
+module_hci_cmd_confirm_gkey:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd	
+	ifetch 1,contru
+	fetcht 1,mem_flag_mode_ssp_pin
+	setflag blank,FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,temp
+	set1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,temp
+	storet 1,mem_flag_mode_ssp_pin
+
+	call module_hci_event_receive_valid_cmd
+
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,module_hci_cmd_spp_number_comparison_result_is1
+	rtn
+
+dhkey_not_accept:
+	jam 0,mem_flag_mode_ssp_pin
+	jam BT_CMD_DHKEY_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+
+module_hci_cmd_spp_number_comparison_result_is1:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	branch dhkey_not_accept	
+
+
+//command opcode 0x29
+module_hci_cmd_set_credit_given:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	ifetch 1,contru
+	fetcht 1,mem_credit_given
+	iadd temp,temp
+	storet 1,mem_credit_given
+	rtn
+
+	
+//command opcode 0x2a
+module_hci_cmd_auto_adv:
+	arg 0x40,loopcnt
+	arg mem_le_adv_data_len,contw
+	call clear_mem
+	setarg 0
+	store 1,mem_regb
+	copy rega,contru
+module_hci_cmd_auto_adv_loop:
+	copy contru,pdata
+	store 2,mem_regc
+	call module_hci_cmd_auto_adv_adv_analys
+
+	fetch 1,mem_regb
+	fetcht 1,mem_temp
+	increase 1,temp
+	iadd temp,pdata
+	store 1,mem_regb
+
+	sub pdata,31,null
+	nbranch module_hci_cmd_auto_adv_store_scan,positive
+module_hci_cmd_auto_adv_store_adv:
+	fetcht 1,mem_le_adv_data_len
+	setarg mem_le_adv_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_adv_data_len
+	iadd temp,pdata
+	store 1,mem_le_adv_data_len
+	branch module_hci_cmd_auto_adv_store_common
+module_hci_cmd_auto_adv_store_scan:
+	fetcht 1,mem_le_scan_data_len
+	setarg mem_le_scan_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_scan_data_len
+	iadd temp,pdata
+	store 1,mem_le_scan_data_len
+module_hci_cmd_auto_adv_store_common:
+	fetch 2,mem_contw
+	copy pdata,contw
+	fetch 2,mem_regc
+	copy pdata,contru
+
+	copy temp,loopcnt
+	call uart_copy_rx_bytes_fast
+
+	fetch 1,mem_module_uart_len
+	fetcht 1,mem_regb
+	isub temp,null
+	nbranch  module_hci_cmd_auto_adv_loop,zero
+	branch module_hci_event_receive_valid_cmd
+
+//block of adv len in mem_temp
+module_hci_cmd_auto_adv_adv_analys:
+	ifetch 1,contru
+	store 1,mem_temp
+	ifetch 1,contru
+	store 1,mem_rega
+	rtn
+
+
+//command opcode 0x2b
+module_hci_cmd_power_request:
+	arg 0,temp
+	arg 2,rega
+	fetch 2,mem_module_vdd_quotient
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x2c
+module_hci_cmd_power_set:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_read_vdd_flag
+	setarg 0x00
+	store 2,mem_module_vdd_quotient
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x30
+module_hci_cmd_passkey_entry:
+	ifetch 4,contru
+	store 4,mem_pin
+	jam 4,mem_pin_length
+	jam 0,mem_authentication_passkey_times
+	call module_hci_event_receive_valid_cmd
+	branch authentication_passkey
+
+
+//command opcode 0x31
+module_hci_cmd_set_gpio:
+	fetch 1,mem_module_uart_len
+	bne 3,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	beq HCI_CMD_CONFIG_GPIO_INPUT,module_set_gpio_input
+	beq HCI_CMD_CONFIG_GPIO_OUTPUT,module_set_gpio_output
+	branch module_hci_event_receive_invalid_cmd
+
+module_set_gpio_input:
+	ifetcht 1,contru
+	ifetch 1,contru
+	beq GPIO_INPUT_HIGH_IMPEDANCE,module_set_gpio_high_impedance
+	nsetflag blank,7,temp
+	call gpio_config_input
+	branch module_hci_event_receive_valid_cmd
+
+module_set_gpio_high_impedance:
+	call gpio_set_high_impedance
+	branch module_hci_event_receive_valid_cmd
+	
+module_set_gpio_output:
+	ifetcht 1,contru
+	call gpio_config_output0
+	ifetch 1,contru	
+	isolate1 0,pdata
+	call gpio_out_flag
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x32
+module_hci_cmd_read_gpio:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetcht 1,contru
+	call gpio_get_bit
+	setarg 0x0
+	nsetflag true,0,pdata
+	arg 1,rega
+	branch module_hci_event_set_cmd_send_response
+
+
+//command opcode 0x33
+module_hci_cmd_le_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	copy pdata,temp
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,module_le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,module_le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,module_le_set_pairing_mode_secure_passkey
+	store 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, module_le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,module_le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,module_le_set_pairing_mode_lagacy_passkey
+	branch module_hci_event_receive_invalid_cmd
+		
+module_le_set_pairing_mode_secure_justwork:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_secure_numeric:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_secure_passkey:	
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_displayonly
+module_le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+module_le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+module_le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x34
+module_hci_cmd_le_set_adv_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_adv_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_adv_data,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x35
+module_hci_cmd_le_set_scan_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_scan_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_scan_data,contw
+	call uart_copy_rx_bytes_fast	
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x36
+module_hci_cmd_le_send_conn_update_req:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_module_uart_len
+	bne 0x08,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	ifetch 8,contru
+	store 8,mem_le_interval_min
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call  ui_ipc_send_cmd
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x37
+module_hci_cmd_set_le_adv_parameter:
+	ifetch 2,contru
+	store 2,mem_le_adv_interval
+	branch module_hci_event_receive_valid_cmd
+	
+	
+//command opcode 0x38
+module_hci_cmd_le_start_pairing:
+	fetch 1,mem_le_pairing_mode
+	branch module_hci_event_receive_invalid_cmd,blank
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_le_enc_state
+	bne FLAG_LE_ENC_NULL,module_hci_event_receive_invalid_cmd
+	call check_51cmd_le_smp_sec_req
+	branch module_hci_event_receive_valid_cmd	
+
+
+//command opcode 0x40
+module_hci_cmd_set_wake_gpio:
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_mcu_wake_pin
+	ifetch 4,contru
+	store 4, mem_module_mcu_wake_delay_us
+	fetcht 1,mem_module_mcu_wake_pin
+	call gpio_config_output
+	call module_set_mcu_wake_pin_low
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x42
+module_hci_cmd_set_tx_power:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_tx_power
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x48
+module_hci_cmd_le_confirm_gkey:
+	ifetch 1,contru
+	beq 0x01,module_hci_cmd_le_confirm_gkey_fail
+	fetch 1,mem_le_secure_connect_state
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_RECEIVE_DHKEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey_ok
+	branch module_hci_event_receive_invalid_cmd		
+module_hci_cmd_le_confirm_gkey_ok:
+	jam FLAG_LE_SC_CONFRIM_GKEY_OK,mem_le_sc_confirm_gkey_flag
+	branch module_hci_event_receive_valid_cmd	
+	
+module_hci_cmd_le_confirm_gkey_fail:
+	call le_send_pairing_confirm_value_failed
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x49
+module_hci_cmd_set_reject_justwork_flag:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	ifetch 1,contru
+	branch classic_bt_clr_reject_justwork_flag,blank
+	branch classic_bt_set_reject_justwork_flag
+
+
+//command opcode 0x51
+module_hci_cmd_reset_chip:
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	hjam 0x01,core_reset // rest YC1021
+	branch loop
+
+
+//command opcode 0x61
+module_hci_cmd_le_set_fixed_passkey:
+	fetch 1,mem_module_uart_len
+	beq 0,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	branch module_hci_cmd_le_set_random_passkey,blank
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 4,contru
+	arg 1000000,temp
+	isub temp,null
+	branch module_hci_event_receive_invalid_cmd,positive
+	store 4,mem_le_tk
+	call le_set_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_le_set_random_passkey:
+	call le_clr_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0xff
+module_hci_test_cmde_close_lpm:
+	jam 0,mem_lpm_mode
+	branch module_hci_event_receive_valid_cmd
+	
+
+/*********************HCI EVENT*********************/
+
+module_hci_event_receive_invalid_cmd:
+	arg 1,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+module_hci_event_receive_valid_cmd:
+	arg 0,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+//event opcode 0x00
+module_hci_event_spp_connect:
+	jam  HCI_EVENT_SPP_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x02
+module_hci_event_le_connect:
+	jam  HCI_EVENT_LE_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x03
+module_hci_event_spp_disconnect:
+	jam  HCI_EVENT_SPP_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x05
+module_hci_event_le_disconnect:
+	jam  HCI_EVENT_LE_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x06
+//input:
+//	temp: success 0; fail 1
+//	rega:Response Content length
+//	regb:Response Content address
+module_hci_event_set_cmd:
+	fetch 1,mem_module_uart_opcode
+	copy pdata,regc
+	jam  HCI_EVENT_CMD_RES,mem_module_uart_opcode
+	setarg 2
+	iadd rega,pdata
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	istoret 1,contwu
+	copy rega,loopcnt
+	copy regb,contr
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+//event opcode 0x07
+module_hci_event_receive_spp_data:
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	jam HCI_EVENT_SPP_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_current_length
+	rtn blank
+	call module_hci_prepare_tx
+	fetch 1,mem_current_length
+	copy pdata,loopcnt
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x08
+module_hci_event_receive_le_data:
+	jam HCI_EVENT_LE_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_module_le_rx_data_len
+	icopy loopcnt
+	increase 2,pdata
+	call module_hci_prepare_tx
+	fetch 2,mem_module_le_rx_data_handle // Attribute handle
+	istore 2,contwu
+	fetch 2,mem_module_le_rx_data_address
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x09
+module_hci_event_enter_standby_mode:
+	jam HCI_EVENT_STANDBY_REP,mem_module_uart_opcode
+module_hci_event_enter_standby_mode_len0:
+	setarg 0
+	call module_hci_prepare_tx
+	branch uartd_send
+
+
+//event opcode 0x0a
+module_hci_event_status_res:
+	jam HCI_EVENT_STATUS_RES,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	
+	call module_hci_read_bt_status
+	
+	fetch 2,mem_ui_state_map	
+	arg UI_STATE_BT_HID_CONN,queue
+	qisolate1 pdata
+	setflag true,3,temp
+
+	arg UI_STATE_BLE_CONNECTED,queue
+	qisolate1 pdata
+	setflag true,5,temp	
+	
+	fetch 1,mem_ui_state_map
+	arg UI_STATE_BT_SPP_CONN,queue
+	qisolate1 pdata
+	setflag true,4,temp	
+	
+	istoret 1,contwu
+	branch uartd_send
+
+//	temp: bit0 3.0 inquiry;bit1 3.0 scan;bit2 ble adv;
+
+module_hci_read_bt_status:
+	arg 0,temp
+	fetch 1,mem_scan_mode
+	arg inq_scan_mode,queue
+	qisolate1 pdata
+	setflag true,0,temp
+	arg page_scan_mode,queue
+	qisolate1 pdata
+	setflag true,1,temp	
+
+	fetch 1,mem_le_adv_enable
+	arg 0,queue
+	qisolate1 pdata
+	setflag true,2,temp	
+	rtn
+
+
+//event opcode 0x0d
+module_hci_event_store_device:
+	jam HCI_EVENT_NVRAM_REP,mem_module_uart_opcode
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,pdata
+	icopy loopcnt
+	call module_hci_prepare_tx
+	fetch 2,mem_nv_data_ptr
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x0e
+module_hci_event_gkey_generate:
+	jam HCI_EVENT_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x0f
+module_hci_event_invalid_packet:
+	jam HCI_EVENT_INVALID_PACKET,mem_module_uart_opcode
+	hfetch 2,core_uart_rxitems
+	arg 0xff,temp
+	call not_greater_than
+	copy pdata,loopcnt
+	call module_hci_prepare_tx
+	call uartd_prepare_rx
+	call uart_copy_rx2tx
+	branch uartd_send
+
+
+//event opcode 0x10
+module_hci_event_passkey_entry_mode:
+	jam  HCI_EVENT_GET_PASSKEY,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x11
+module_hci_event_le_tk:
+	jam HCI_EVENT_LE_TK,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_le_tk
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x14
+module_hci_event_le_pairing_fail:
+	arg FLAG_BLE_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_le_pairing_success:
+	arg FLAG_BLE_PAIRING_SUCCESS,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_fail:
+	arg FLAG_BT_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_success:
+	arg FLAG_BT_PAIRING_SUCCESS,rega
+
+module_hci_event_pairing_completed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam HCI_EVENT_LE_PAIRING_STATE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	copy rega,pdata
+	istore 2,contwu
+	branch uartd_send
+
+
+//event opcode 0x15
+module_hci_event_pause_enc:
+	arg FLAG_EVENT_PAUSE_ENC,regc
+	branch module_hci_event_enc
+
+module_hci_event_start_enc:
+	arg FLAG_EVENT_START_ENC,regc
+
+module_hci_event_enc:
+	jam HCI_EVENT_LE_ENCRYPTION_STATE,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	branch uartd_send
+
+
+//event opcode 0x1d
+module_hci_event_le_gkey:
+	jam HCI_EVENT_LE_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//****************************************************************//
+	//module_hci_prepare_tx
+	//function:write hci packet header
+	//input: pdata-----packet length  (1byte)
+	//input: mem_uart_opcode------opcode (1byte)
+	//output:contwu --- pointer to packet payload
+	//use reg: contwu,pdata
+//****************************************************************//	
+module_hci_prepare_tx:
+	jam 0x02,mem_module_uart_cmd
+	store 1,mem_module_uart_len
+	storet 8,mem_temp
+	bpatch patch1c_2,mem_patch1c
+	call module_set_mcu_wake_pin_high_delay
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 3,mem_module_uart_cmd
+	istore 3,contwu
+	rtn
+
+
+module_set_mcu_wake_pin_high_delay:
+	call module_check_mcu_wake_pin_high
+	rtn true
+module_set_mcu_wake_pin_h_delay:
+	call module_set_mcu_wake_pin_high
+	fetch 4,mem_module_mcu_wake_delay_us
+	rshift2 pdata,pdata
+	rtn blank
+	branch delay
+
+module_set_mcu_wake_pin_high:
+	//call ice_break
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_active
+
+module_check_mcu_wake_pin_high:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_check_active
+
+module_set_mcu_wake_pin_low:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_inactive
+
+
+delay:
+	increase -1,pdata
+	nop 38
+	nbranch delay,blank
+	rtn
+
+/*********************hci command end*********************/
+
+/*********************hci ble receive data start*********************/
+
+//rega is le rx data address
+//regb is le rx data length
+//mem_le_att_handle is write handle
+module_le_receive_data:
+	call module_check_ble_encrypt_state
+	rtn user
+	copy rega,pdata
+	store 2,mem_module_le_rx_data_address
+	copy regb,pdata
+	store 1,mem_module_le_rx_data_len
+	fetch 2,mem_le_att_handle
+	fetcht 2,mem_module_data_write_handle
+	isub temp,null
+	branch module_le_receive_data_ok,zero
+	fetcht 2,mem_module_data_write_handle2
+	isub temp,null
+	nrtn zero
+module_le_receive_data_ok:	
+	store 2,mem_module_le_rx_data_handle
+	branch module_hci_event_receive_le_data
+
+
+/*********************hci ble receive data end*********************/
+
+module_exit_sniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	call module_set_unsniff_task_flag	
+	branch app_bt_sniff_exit
+
+
+module_set_lpm_mult_2:
+	jam 2,mem_lpm_mult
+	rtn
+
+
+
+module_bb_event_timer:
+	branch module_read_vdd_timer
+
+module_read_vdd_timer:
+	fetch 1,mem_module_read_vdd_flag
+	rtn blank
+	fetch 1,mem_module_read_vdd_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_module_read_vdd_count
+	nrtn blank
+	jam FLAG_MODULE_READ_VDD_COUNT,mem_module_read_vdd_count
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	div pdata,0x64
+	call wait_div_end
+	quotient pdata
+	remainder temp
+	store 1,mem_module_vdd_quotient
+	storet 1,mem_module_vdd_remainder
+	rtn	
+	
+
+module_control_air_flow:
+	call check_uart_tx_buff
+	branch app_l2cap_flow_control_enable,positive
+	branch app_l2cap_flow_control_disable
+
+
+/**************module state *******************/
+module_set_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_set_state
+
+module_clear_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_clr_state
+
+module_set_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_set_state
+
+module_clear_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_clr_state
+
+module_set_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_set_state
+	
+module_clear_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_clr_state
+
+module_clr_state:
+	fetch 1,mem_module_flag
+	qset0 pdata
+	store 1,mem_module_flag
+	rtn
+
+module_set_state:
+	fetch 1,mem_module_flag
+	qset1 pdata
+	store 1,mem_module_flag
+	rtn
+	
+/**************module state end*******************/
+
+
+
+
+//define FPGA_DEBUG
+
+
+mouse_init:
+	call mouse_setting_config
+	call spi_ncs_enable
+	call mouse_init_sunt
+	call mouse_dpi_config
+	call spi_ncs_disable
+	rtn wake
+	call mouse_cheak_enable_usb
+	call mouse_cb_fuction
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_ENABLE_USB
+	call mouse_wakeup_from_power//,true	// enter 
+	rtnmark1 mark_24g
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch mouse_check_reconn_target
+
+
+mouse_delay_4s:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_INIT_DELAY
+	arg 20,loopcnt
+mouse_delay_20ms:
+	setarg 200000
+	call sleep
+	loop delay_10ms
+	rtn
+
+	
+mouse_cheak_enable_usb:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	branch usb_init
+	
+
+mouse_cb_fuction:
+	setarg mouse_le
+	store 2,mem_cb_le_process
+	setarg mouse_send_process
+	store 2,mem_cb_bt_process
+	setarg mouse_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg mouse_idle
+	store 2,mem_cb_idle_process
+	setarg mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+
+	call g24_head_ptr2regc
+	setarg mouse_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	setarg mouse_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	setarg mouse_lpm_before_common
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+	
+	setarg mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg mouse_spi_write_flash_cb
+	store 2,mem_cb_spi_flash_write_complate
+	rtn
+mouse_spi_write_flash_cb:
+mouse_spi_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_SPI2,spid_init
+	branch spid_init2
+
+mouse_setting_config:
+	rtn wake
+	call g24_set_device_addr
+	call mouse_gpio_init
+	call mouse_param_init
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_init_iic
+	bbit1 MOUSE_ENABLE_FLASH,mouse_load_flash_info_cheak
+	rtn
+
+mouse_init_iic:
+	call iic_init_390k
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	ncall clear_eeprom_size_2k,true
+	call mouse_load_eeprom_dpi
+	call mouse_init_environment
+	call mouse_set_24g_addr_eeprom
+	branch iicd_read_eep_data
+
+mouse_wakeup_from_power:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,mouse_wakeup_no_from_power
+	fetch 1,mem_wakup_from_power_flag
+	isolate0 gpio_latch,pdata
+	nrtn true
+mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
+mouse_start_24g_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,g24_auto_pair_start
+	branch g24_check_51cmd_start_24g
+le_mouse_bb_event_connect_complete:
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+mouse_dpi_up:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_mouse_dpi_button_state
+	rtn
+mouse_dpi_config:
+	fetch 1,mem_config_sensor_motion
+	and pdata,0x0f,pdata
+	store 1,mem_mouse_dpi
+	branch mouse_seting_dpi+2
+
+
+mouse_dpi_cheak:
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	nbranch mouse_dpi_up,true
+mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eerpom_dpi
+	bbit1 MOUSE_ENABLE_FLASH,mouse_before_store_flash_cpi
+	rtn
+mouse_before_store_flash_cpi:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	call gpio_config_output				//hold high
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	call gpio_config_output 			//hold high 
+	branch mouse_store_flash_device_info
+
+mouse_seting_dpi:
+	bpatch patch1c_3,mem_patch1c
+	call mosue_dpi_led_blink_init
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_seting_3610_dpi
+	beq P3212,mouse_seting_3212_dpi
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
+mouse_set_cpi2:
+	fetch 1,mem_320x_dpi_2
+	branch mouse_p3205_dpi
+mouse_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	branch mouse_p3205_dpi
+mouse_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+	branch mouse_p3205_dpi
+mouse_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	branch mouse_p3205_dpi
+moue_seting_cpi_count:
+	fetch 1,mem_config_sensor_type
+	rtneq P3065_XY
+	fetch 1 ,mem_mouse_cpi_count
+	increase 1,pdata
+	store 1,mem_mouse_cpi_count
+	rtn
+
+mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+mouse_set_p3212_cpi2:
+	fetch 1,mem_3212_dpi_2
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi1:
+	fetch 1,mem_3212_dpi_1
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi3:
+	fetch 1,mem_3212_dpi_3
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi4:
+	fetch 1,mem_3212_dpi_4
+mouse_p3212_dpi:
+	store 1,mem_mouse_cpi_count
+	lshift8 pdata,pdata
+	copy pdata,rega
+	add pdata,MOUSE_P3212_DPI_XADDRESS,pdata
+  	call twspi_write
+ 	copy rega,pdata
+  	add pdata,MOUSE_P3212_DPI_YADDRESS,pdata
+	branch twspi_write
+	
+mouse_seting_3610_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3610_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3610_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3610_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3610_cpi4
+mouse_set_p3610_cpi2:
+	fetch 1,mem_3610_dpi_2
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi1:
+	fetch 1,mem_3610_dpi_1
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi3:
+	fetch 1,mem_3610_dpi_3
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi4:
+	fetch 1,mem_3610_dpi_4
+mouse_p3610_dpi:
+	store 1,mem_mouse_cpi_count
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_mouse_cpi_count
+mouse_reset_p3610_dpi:
+	add pdata,0x80,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_P3610_DPI_ADDRESS,pdata
+	copy pdata,rega
+	branch mouse_set_sensor_reg
+	
+mouse_p3205_dpi:
+	store 1,mem_mouse_cpi_count
+	call moue_seting_cpi_count
+	fetch 1,mem_mouse_cpi_count
+	setarg MOUSE_DPI_ADDRESS
+	call twspi_read
+	and pdata,0xf8,temp
+	fetch 1,mem_mouse_cpi_count
+	iadd temp,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_DPI_ADDRESS,pdata
+	branch twspi_write
+	
+
+mouse_init_environment:
+	call app_initflag_check
+	branch mouse_eeprom_load_recon_info,zero
+	call mouse_ble_init_address
+	call mouse_store_eeprom_device_info
+	branch app_initflag_store
+
+
+mouse_24g_pairing_button:
+	fetch 2,mem_24g_pairing_timer_count
+	rtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_check_key_gpio
+	rtnne MOUSE_LMR_BUTTON
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	call g24_set0_mem_check_dongle_times
+	
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	call mouse_stop_discovery
+	branch g24_start_pairing_sm1
+	
+
+mouse_idle:
+	call mouse_24g_pairing_button
+	call ui_check_paring_button
+	call mouse_dpi_cheak
+	call mouse_usb_isr
+	call mouse_wheel_check
+	branch mouse_usb_mode
+mouse_usb_isr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	call usb_isr	
+	branch usb_offline_state
+
+mouse_cheak_usb:
+	hfetch 1,core_usb_addr
+	bbit0 7,mouse_usb_no_exsit
+	bbit1 7,mouse_usb_exsit
+	rtn
+mouse_usb_no_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit0 7
+	branch soft_reset_chip
+mouse_usb_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit1 7
+	branch mouse_stop_bluetooth_mode
+	
+mouse_usb_mode:
+	call mouse_cheak_usb
+	hfetch 1,core_usb_addr
+	store 1,mem_usb_addr
+	rtnbit0 7
+	call mouse_clkn_check 
+	fetch 4,mem_btclk_sensor
+	fetcht 1,mem_wire_usb_interval
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	store 4,mem_btclk_sensor
+	call mouse_motion
+	nrtn user
+	jam 4,mem_usb_tx_enable
+	branch mouse_wired_to_usb
+
+mouse_clkn_check:
+	fetcht 4,mem_btclk_sensor
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall mouse_clkn_timeout,positive
+	rtn
+mouse_clkn_timeout:
+	setarg 0
+	store 4,mem_btclk_sensor
+	rtn
+
+
+	
+mouse_wired_to_usb:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	branch mouse_data_push
+mouse_data_push:
+	hfetch 1,core_usb_addr
+	rtnbit0 7
+	jam USB_EP2_MS,mem_usb_ep2_data
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+
+mouse_enable_clock_qdecoder:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_QDECODER,pdata
+	hstore 2,core_clkoff
+	rtn
+
+mouse_param_init:
+	setarg 0x8c00				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	setarg 0x8e7a				//ble attlist start address
+	store 2,mem_ui_le_uuid_table
+	setarg 0x2402
+	store 2,mem_fcomp_mul
+	setarg 0x2580
+	store 3,mem_class
+	jam 3,mem_lpm_mult_timeout
+	jam 8,mem_lpm_overhead
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	setarg 0x0200
+	store 2,mem_lpm_interval
+	jam 0x17,mem_le_local_mtu
+	jam 0x17,mem_le_remote_mtu
+//===========init spi param==============================
+	setarg 0x0a77
+	store 2,mem_spi_init_clk
+//===========default bt reconnect address===================	
+//	jam 1,mem_device_flag
+//	setarg 0x332211
+//	store 3,mem_device1_addr
+//	store 3,mem_device2_addr
+//	store 3,mem_device3_addr
+//	setarg 0x665544
+//	store 3,mem_device1_addr+3
+//	store 3,mem_device2_addr+3
+//	store 3,mem_device3_addr+3
+//	setarg 0x34
+//	store 1,mem_device1_type
+//	store 1,mem_device2_type
+//	store 1,mem_device3_type
+//===========all 16bit uuid==================================
+	setsect 0,0x306
+	setsect 1,0x4440
+	setsect 2,0x10000
+	setsect 3,0x4408
+	store 9,mem_all_uuid_16bits
+	setsect 0,0x1224
+	setsect 1,0x4000
+	setsect 2,0x0
+	istore 5,contw
+//===========features=====================================
+	setsect 0,0x3ffff
+	setsect 1,0x2fe23
+	setsect 2,0x199d9
+	setsect 3,0x20d
+	store 8,mem_features
+//======================================================	
+	setarg 0x012c  				//24g ban pairing timer init
+	store 2,mem_24g_pairing_timer_count
+	call le_modified_name
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+	call mouse_sensor_set_angle
+	branch mouse_select_adc
+
+mouse_sensor_set_angle:
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	jam MOUSE_3CLK_ANGLE,mem_config_sensor_angle
+	rtn true
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+
+mouse_select_adc:
+	fetcht 1,mem_select_adc_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_adc_gpio
+	call gpio_get_bit
+	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
+	rtn true
+	jam ADC_CONFIG_GPIO,mem_adc_config_flag
+	rtn
+	
+	
+mouse_adc_init:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,mouse_adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,mouse_adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,mouse_adc_init_data_io
+	branch mouse_adc_init_data_vinlpm
+	
+mouse_adc_init_data_vinlpm:
+	fetcht 2,mem_2v_adc_vinlpm_data
+	fetch 2,mem_3v_adc_vinlpm_data
+	isub temp,pdata
+	mul32 pdata,20,pdata 
+	div pdata,100
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //vinlpm :2v2 low alter
+	rtn
+mouse_adc_init_data_hvin:
+	fetcht 2,mem_1v_adc_hvin_data
+	fetch 2,mem_5v_adc_hvin_data
+	isub temp,pdata
+	mul32 pdata,230,pdata 
+	div pdata,400
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //hvin :3v3 low alter
+	rtn
+mouse_adc_init_data_io:
+	fetch 2,mem_1v_adc_io_data
+	store 2,mem_adc_reference_voltage  //vio :1v low alter
+	rtn
+mouse_gpio_init:
+	fetcht 1,mem_eeprom_wp_gpio
+	call gpio_config_output
+	call usb_offline_check_init
+	fetcht 1,mem_lbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_rbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_mbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_config_input
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_config_input
+	fetcht 1,mem_fw_button_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_config_low_voltage_alarm_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device1_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device2_led_gpio
+	call gpio_config_output
+	
+	fetcht 1,mem_config_device3_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_dpi_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_config_input
+	
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_config_input	
+
+	fetcht 1,mem_dpi_button_gpio
+	branch gpio_config_input
+
+mouse_wheel_gpio_set_wake:
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	branch gpio_set_wake_by_current_state
+	
+mouse_before_hibernate_wheel_gpio_set:
+	fetcht 1,mem_whee_a_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_b_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_ta_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_tb_data_gpio
+	branch mouse_gpio_set_pupd_by_input
+
+mouse_gpio_set_pupd_by_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	and temp,0x7f,queue
+	hfetch 4,core_gpio_in
+	qisolate1 pdata
+	hfetch 4,core_gpio_pu0
+	qsetflag true,pdata
+	hstore 4,core_gpio_pu0
+	hfetch 4,core_gpio_pd0
+	nqsetflag true,pdata
+	hstore 4,core_gpio_pd0
+	rtn
+	
+mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+//	call gpio_set_before_lpm_common
+	branch mouse_lpm_before_common
+
+
+	
+mouse_process_lpm_before:
+	call mouse_lpm_before_common
+	fetch 1,mem_lpm_current_mult
+	nrtn blank					// 7.5ms, no gpio wakeup
+	branch gpio_clr_wake
+
+mouse_lpm_before_common:
+	call mouse_wheel_check
+	arg MOUSE_SPI1_CLK_GPIO,temp					// set sclk high
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_spi_clk_gpio,true
+	call gpio_config_output
+	call twspi_disable
+
+
+
+	fetcht 1,mem_lbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_rbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_mbutton_gpio
+	call gpio_set_wake_by_current_state
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_fw_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_set_wake
+	
+
+	
+mouse_spi_clk_gpio:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	rtn
+
+mouse_wheel_check:
+	bpatch patch1c_4,mem_patch1c
+	call mouse_t_wheel_scan
+	call mouse_wheel_scan
+	fetch 1,mem_wheel_tb_new_pinlevel
+	fetcht 1,mem_wheel_tb_old_pinlevel
+	store 1,mem_wheel_tb_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	fetch 1,mem_mwheel_b_new_pinlevel
+	fetcht 1,mem_mwheel_b_old_pinlevel
+	store 1,mem_mwheel_b_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	rtn
+mouse_t_wheel_scan:
+	fetch 1,mem_whee_ta_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_wheel_tb_new_pinlevel
+	beq 0x01,mouse_t_wheel_scan_judge1
+	beq 0x02,mouse_t_wheel_scan_judge2
+	fetch 1,mem_wheel_tog
+	bbit1 7,mouse_t_wheel_scan_judge3
+	rtn
+
+mouse_t_wheel_scan_judge1:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge11
+	beq 3,mouse_t_wheel_scan_judge12
+	rtn
+mouse_t_wheel_scan_judge2:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge21
+	beq 3,mouse_t_wheel_scan_judge22
+	rtn
+mouse_t_wheel_scan_judge11:
+	jam 0x82,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge12:
+	jam 0x81,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge21:
+	jam 0x80,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge22:
+	jam 0x83,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge3:
+	fetch 1,mem_wheel_tog
+	set0 7,pdata
+	store 1,mem_wheel_tog
+	beq 0,mouse_t_wheel_scan_judge30
+	beq 1,mouse_t_wheel_scan_judge31
+	beq 2,mouse_t_wheel_scan_judge32
+	beq 3,mouse_t_wheel_scan_judge33
+	rtn
+mouse_t_wheel_scan_judge30:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge31:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge32:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_back
+	rtn
+mouse_t_wheel_scan_judge33:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_back
+	rtn
+mouse_wheel_t_forward:
+	fetch 1,mem_mouse_tz_data_count1
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count1
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count1
+	fetch 1,mem_mouse_tz_data
+	increase 1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+mouse_wheel_t_back:
+	fetch 1,mem_mouse_tz_data_count
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count
+	fetch 1,mem_mouse_tz_data
+	increase -1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+
+
+mouse_wheel_scan:
+	fetch 1,mem_whee_a_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_mwheel_b_new_pinlevel
+	beq 0x01,mouse_wheel_scan_judge1
+	beq 0x02,mouse_wheel_scan_judge2
+	fetch 1,mem_mwheel_tog
+	bbit1 7,mouse_wheel_scan_judge3
+	rtn
+
+mouse_wheel_scan_judge1:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge11
+	beq 3,mouse_wheel_scan_judge12
+	rtn
+mouse_wheel_scan_judge2:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge21
+	beq 3,mouse_wheel_scan_judge22
+	rtn
+mouse_wheel_scan_judge11:
+	jam 0x82,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge12:
+	jam 0x81,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge21:
+	jam 0x80,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge22:
+	jam 0x83,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge3:
+	fetch 1,mem_mwheel_tog
+	set0 7,pdata
+	store 1,mem_mwheel_tog
+	beq 0,mouse_wheel_scan_judge30
+	beq 1,mouse_wheel_scan_judge31
+	beq 2,mouse_wheel_scan_judge32
+	beq 3,mouse_wheel_scan_judge33
+	rtn
+mouse_wheel_scan_judge30:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge31:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge32:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_back
+	rtn
+mouse_wheel_scan_judge33:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_back
+	rtn
+mouse_wheel_forward:
+	jam 0,mem_mouse_z_data_count1
+	fetch 1,mem_mouse_z_data
+	increase 1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_wheel_back:
+	jam 0,mem_mouse_z_data_count
+	fetch 1,mem_mouse_z_data
+	increase -1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+	
+	
+mouse_hid_connected:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+	
+mouse_send_process:
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+mouse_send_data:
+	arg 9,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+	
+mouse_send_empty_data:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_send_data
+
+
+mouse_no_data_timer_init:
+	fetch 2,mem_mouse_no_data_timeout
+	store 2,mem_mouse_no_data_timer
+	rtn
+
+	
+mouse_fill_data_le:
+	bpatch patch1c_5,mem_patch1c
+	arg 7,rega //len
+	fetcht 2,mem_le_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+mouse_motion:
+	bpatch patch1c_6,mem_patch1c
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call mouse_key
+	nrtn user
+	call mouse_no_data_timer_init
+	arg MOUSE_STATUE_UP_FLAG,queue
+	branch mouse_enable_function_flag
+	
+motion_6clk_direction_dispose:
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	branch enable_user
+motion_12clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	branch enable_user
+motion_9clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	call mouse_sensor_data_swap_places
+	branch enable_user
+motion_3clk_direction_dispose:
+	call mouse_sensor_data_swap_places
+	branch enable_user
+mouse_cheak_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3205,mouse_p32xx_sensor_motion
+	beq P3065,mouse_p32xx_sensor_motion
+	beq KA8,mouse_p32xx_sensor_motion
+	beq P3204,mouse_p32xx_sensor_motion
+	beq P3212,mouse_p3212_sensor_motion
+	beq P3610,mouse_p3610_sensor_motion
+	beq P3065_xy,mouse_p32xx_sensor_motion
+	branch mouse_p32xx_sensor_motion
+	
+mouse_clear_sensor_data:
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor_common,blank
+	jam 1,mem_mouse_move_flag
+	rtn
+
+
+mouse_p3212_sensor_motion:
+	call mouse_clear_sensor_data
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_twspi_reset
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	call mouse_read_3212sensor_xy_high
+	store 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion_6clk_direction_dispose
+	beq MOUSE_9CLK_ANGLE,motion_9clk_direction_dispose
+	beq MOUSE_12CLK_ANGLE,motion_12clk_direction_dispose
+	beq MOUSE_3CLK_ANGLE,motion_3clk_direction_dispose
+	rtn
+
+mouse_read_3212sensor_xy_high:
+	setarg 0x12
+	branch twspi_read
+	
+mouse_p3065_judge:
+	beq P3065_ID1,mouse_p32xx_sensor_motion_1
+	branch mouse_twspi_reset
+	
+mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_p3065_judge   
+mouse_p32xx_sensor_motion_1:
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	fetch 1,mem_mouse_x
+	call extsign
+	store 2,mem_mouse_x
+	fetch 1,mem_mouse_y
+	call extsign
+	store 2,mem_mouse_y
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion32xx_6clk_direction_selection
+	beq MOUSE_9CLK_ANGLE,motion32xx_9clk_direction_selection
+	beq MOUSE_12CLK_ANGLE,motion32xx_12clk_direction_selection
+	beq MOUSE_3CLK_ANGLE,motion32xx_3clk_direction_selection
+	rtn
+	
+motion32xx_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_sensor_sdio_low
+	
+mouse_sensor_data_swap_places:
+	fetch 2, mem_mouse_y
+	fetcht 2,mem_mouse_x
+	store 2,mem_mouse_x
+	storet 2,mem_mouse_y
+	rtn
+//input regb  output:pdata
+mouse_p3610sensor_read:
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn	
+mouse_p3610_sensor_motion:
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	arg PAN_REG_MOTION_STAUS,regb
+	call mouse_p3610sensor_read
+	rtnbit0 7
+	arg PAN_REG_PID_L,regb
+	call mouse_p3610sensor_read
+	store 1,mem_sensor_id1
+	bne P3610_ID1,mouse_init_3610sensor_reset
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data,blank
+	jam 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data
+	fetch 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq 0,motion3610_6clk_direction_selection
+	beq 1,motion3610_9clk_direction_selection
+	beq 2,motion3610_12clk_direction_selection
+	beq 3,motion3610_3clk_direction_selection
+	rtn
+
+mouse_3610_smart_select:
+	fetch 1,mem_sensor_smart_flag
+	beq P3610_SMART_ENABLE,mouse_3610_smart_disable
+	beq P3610_SMART_DISABLE,mouse_3610_smart_enable
+	rtn
+
+
+motion3610_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+mouse_read_sensor3610_data:
+	call spi_ncs_enable
+	call mouse_read_sensor_common
+	arg 5,pdata
+	call twspi_read
+	store 1,mem_mouse_xy_h
+	arg 7,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_hi
+	arg 8,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_lo
+	branch spi_ncs_disable
+
+
+mouse_3610_smart_enable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	rtn positive
+	jam P3610_SMART_ENABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+mouse_3610_smart_disable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	nrtn positive
+	jam P3610_SMART_DISABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x8032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+
+
+mouse_read_sensor_common:
+	arg PAN_REG_DELTA_X,pdata
+	call twspi_read
+	store 2,mem_mouse_x
+	arg PAN_REG_DELTA_Y,pdata
+	call twspi_read
+	store 2,mem_mouse_y
+	rtn
+
+mouse_set_qdecoder_x:
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_config_input
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_get_bit
+	rtn true
+	hfetch 1,core_qdec_cntx
+	set1 4,pdata
+	hstore 1,core_qdec_cntx
+	rtn
+
+mouse_hardware_zwheel:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	rtn blank
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+mouse_hardware_zwheel_beforelpm:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_zwheel:
+	fetch 1,mem_mouse_z_data
+	rtn blank	
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+	
+mouse_t_zwheel:
+	fetch 1,mem_mouse_tz_data
+	rtn blank	
+	store 1,mem_mouse_tz
+	jam 0,mem_mouse_tz_data
+	branch enable_user
+	
+mouse_check_key_gpio:
+	arg 0,rega
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega
+	call mouse_check_s_key_gpio
+	copy rega,pdata
+	rtn
+mouse_check_s_key_gpio:
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	setflag true,3,rega
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	setflag true,4,rega
+	rtn
+
+mouse_key:
+	call mouse_check_key_gpio
+	call mouse_set_mult
+	call mouse_24g_key
+	copy rega,pdata
+	fetcht 1,mem_mouse_key
+	store 1,mem_mouse_key	
+	ixor temp,pdata
+	sub pdata,0,null
+	rtn zero
+	branch enable_user
+
+mouse_24g_key:
+	rtnmark0 mark_24g
+	copy rega,pdata
+	rtn blank
+	store 1,mem_mouse_key
+	branch enable_user
+
+//short mult: no key 
+mouse_set_mult:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_set_ble_mult
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_set_bt_mult
+	rtn
+mouse_set_ble_mult:
+	copy rega,pdata
+	nbranch le_set_config_short_mult,blank
+	branch le_clr_config_short_mult
+mouse_set_bt_mult:
+	copy rega,pdata
+	nbranch classic_bt_set_mult_short_flag,blank
+	branch classic_bt_clr_mult_short_flag
+	
+	/* sdio high will cost extra 9mA */
+mouse_sensor_sdio_low:
+	bpatch patch1c_7,mem_patch1c
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_sensor_sdio_low2,true
+	call gpio_get_bit
+	rtn true
+	setarg 0x0a
+	call twspi_read
+	nop 1000
+	branch mouse_sensor_sdio_low
+mouse_sensor_sdio_low2:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	rtn
+
+mouse_spi_sdio_gpio_pollup:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,mouse_spi2_sdio_gpio_pollup
+mouse_spi1_sdio_gpio_pollup:
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+mouse_spi2_sdio_gpio_pollup:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+
+	
+mouse_init_sunt:
+	call mouse_spi_init
+	rtn wake
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_init_3610sensor
+mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,mouse_init_p32xx_id2_judge
+	beq P3065_ID1,mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch mouse_init_sensor
+mouse_twspi_reset:
+	bpatch patch1d_0,mem_patch1d
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,twspi_reset2
+	branch twspi_reset
+
+mouse_init_3610sensor:
+	call mouse_read_sensor_id
+	beq P3610_ID1,mouse_init_p3610
+	call mouse_init_3610sensor_reset
+	branch mouse_init_3610sensor
+	
+mouse_read_sensor_id:
+	setarg PAN_REG_PID_H
+	call twspi_read
+	store 1,mem_sensor_id2
+	setarg PAN_REG_PID_L
+	call twspi_read
+	store 1,mem_sensor_id1
+	rtn
+mouse_init_p32xx_id2_judge:
+	fetch 1,mem_sensor_id2
+	beq P3205_TJ3T_ID2,mouse_3205_3t_init_param
+	beq P3204_TJ3L_ID2,mouse_3204_3l_init_param
+	beq P3212_ID2,mouse_3212_init_param
+	beq PKA8_ID2,mouse_ka8_init_param
+	rtn
+mouse_ka8_init_param:
+	jam KA8,mem_config_sensor_type
+	rtn
+mouse_p3065xy_init_param:
+	jam P3065_XY,mem_config_sensor_type
+	rtn
+mouse_p3065_init_param:
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+mouse_3212_init_param:
+	jam P3212,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x3426
+	call twspi_write
+	setarg 0x0419
+	call twspi_write
+mouse_sensor_enable_wp:
+	setarg 0x0009
+	branch twspi_write
+mouse_sensor_disable_wp:
+	setarg 0x5a09
+	branch twspi_write
+
+mouse_3204_3l_init_param:
+	jam P3204,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x0f0d//
+	call twspi_write
+	setarg 0xe31d//
+	call twspi_write
+	setarg 0xd27d
+	call twspi_write
+	call mouse_32xx_init_param
+	branch mouse_32xx_init_param_1
+	
+mouse_32xx_init_param:
+	setarg 0x351b
+	call twspi_write
+	setarg 0xb428
+	call twspi_write
+	setarg 0x4629
+	call twspi_write
+	setarg 0x962a
+	call twspi_write
+	setarg 0x8c2b
+	call twspi_write
+	setarg 0x6e2c
+	call twspi_write
+	setarg 0x642d
+	call twspi_write
+	setarg 0x5f38
+	call twspi_write
+	setarg 0x0f39
+	call twspi_write
+	setarg 0x323a
+	call twspi_write
+	setarg 0x473b
+	call twspi_write
+	setarg 0x1042
+	branch twspi_write
+mouse_32xx_init_param_1:	
+	setarg 0x2e54
+	call twspi_write
+	setarg 0xf255
+	call twspi_write
+	setarg 0xf461
+	call twspi_write
+	setarg 0x7063
+	call twspi_write
+	setarg 0x5275
+	call twspi_write
+	setarg 0x4176
+	call twspi_write
+	setarg 0xed77
+	call twspi_write
+	setarg 0x2378
+	call twspi_write
+	setarg 0x4679
+	call twspi_write
+	setarg 0xe57a
+	call twspi_write
+	setarg 0x487c
+	call twspi_write
+	setarg 0x777e
+	call twspi_write
+	setarg 0x017f
+	call twspi_write
+	setarg 0x000b
+	call twspi_write
+	setarg 0x007f
+	call twspi_write
+	branch mouse_sensor_enable_wp
+	
+
+mouse_3205_3t_init_param:
+	jam P3205,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x100d//
+	call twspi_write
+	setarg 0xed1d//
+	call twspi_write
+	setarg 0x807d
+	call twspi_write
+	call mouse_32xx_init_param
+	setarg 0x0943
+	call twspi_write
+	branch mouse_32xx_init_param_1
+	
+	
+mouse_init_3610sensor_reset:
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_active
+	call delay_10ms
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_inactive
+	branch delay_10ms
+
+mouse_init_p3610:
+	jam P3610,mem_config_sensor_type
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0d11
+	call sensor_write
+	setarg 0x041b
+	call sensor_write
+	setarg 0x041c
+	call sensor_write
+	setarg 0x0f1d
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+	
+	
+//input-rega
+mouse_set_sensor_reg:
+	setarg 0xba41
+	call sensor_write
+	nop 4000
+	setarg 0xff7f
+	call sensor_write
+	copy rega,pdata
+	call sensor_write
+	setarg 0x007f
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+extsign:
+	rtnbit0 7
+	arg 0xff00,temp
+	ior temp,pdata
+	rtn
+
+extsign_bit3:
+	rtnbit0 3
+	arg 0xf0,temp
+	ior temp,pdata
+	rtn
+
+
+mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_le_connect_statue_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	branch mouse_fill_data_le
+
+mouse_le_send_empty_packet:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_fill_data_le
+
+mouse_priority_bb_event:	
+	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,mouse_le_bb_event_connected
+	beq BT_EVT_BB_CONNECTED,mouse_stop_discovery
+	beq BT_EVT_LE_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_BB_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_SETUP_COMPLETE,mouse_bt_event_setup_complete
+	beq BT_EVT_BUTTON_LONG_PRESSED,mouse_bb_event_discovery_btn
+	beq BT_EVT_HID_HANDSHAKE,mouse_bt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,mouse_bt_hid_connected
+	beq BT_EVT_RECONN_FAILED,mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,mouse_bb_event_reconn_timeout
+	beq BT_EVT_PINCODE_REQ,mouse_bb_event_pincode
+	beq BT_EVT_REMOTE_UNSNIFF,app_start_auto_sniff
+	beq BT_EVT_LE_PAIRING_SUCCESS,mouse_le_pairing_success
+	beq BT_EVT_LE_START_ENC,mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PAIRING_COMPLETE,mouse_le_pairing_complete
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,mouse_irtual_cable_unplug
+	beq BT_EVT_24G_PAIRING_COMPLETE,mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,mouse_24g_attempt_success
+	rtn
+
+
+mouse_le_pairing_complete:
+	branch app_ble_store_reconn_info
+
+mouse_24g_attempt_fail:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch app_enter_hibernate,zero
+	rtn
+mouse_24g_attempt_success:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	rtn
+mouse_24g_pairing_complete:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	fetch 1,mem_config_sensor_type
+	sub pdata,P3610,null
+	call mouse_read_sensor3610_data,zero
+	ncall mouse_read_sensor_common,zero
+
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_24g_address
+	call mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+mouse_set_24g_addr_eeprom:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+mouse_store_flash_24g_address:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	store 1,mem_mouse_24g_addr
+	branch mouse_store_flash_device_info
+	
+
+mouse_le_pairing_success:
+	arg LL_PAIRING_SUCCESS_FLAG,queue
+	branch mouse_le_enable_connect_flag
+mouse_le_ll_start_encryt:
+	jam 2,mem_le_start_encrypt_timer
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+	
+mouse_le_enable_connect_flag:
+	fetch 1,mem_le_connect_statue_flag
+	qset1 pdata
+	store 1,mem_le_connect_statue_flag
+	rtn
+
+mouse_le_disable_connect_flag:
+	fetch 1,mem_le_connect_statue_flag
+	qset0 pdata
+	store 1,mem_le_connect_statue_flag
+	rtn
+mouse_le_clean_connect_flag:
+	jam 0,mem_le_connect_statue_flag
+	rtn
+
+mouse_le_bb_event_connected:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	call mouse_no_data_timer_init
+	branch mouse_stop_discovery
+
+mouse_bb_event_pincode:
+	call pincode_reinit
+	branch app_bt_set_pincode
+mouse_bb_event_reconn_timeout:
+mouse_bb_event_reconn_failed:
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_start_discovery
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	branch app_bb_hibernate
+
+	
+mouse_bt_hid_connected:
+	branch mouse_hid_connected
+
+mouse_bt_event_setup_complete:
+	rtn
+
+mouse_soft_reset:
+	call mouse_select_device_enable
+	branch soft_reset_chip
+
+mouse_bb_disconnected:
+	bpatch patch1d_1,mem_patch1d
+	call mouse_bb_discon_clear_stack
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_bb_discon_clear_stack:
+	setarg 0
+	store 8,mem_wheel_tb_old_pinlevel
+	istore 4,contw             //clean wheel statue
+	jam 0,mem_mouse_send_blank_timer
+	jam 0,mem_mouse_move_flag
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_ltk_exists
+	rtn
+
+mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch app_bb_hibernate
+
+mouse4_0_event_bb_disconn:
+	call mouse_le_clean_connect_flag
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	branch app_bb_hibernate
+
+mouse_bb_event_timer:
+	call mouse_adc_read
+	call mouse_24g_delay_timer
+	call mouse_ban_24g_pairing_timer
+	call mouse_dpi_led_blink_delay_timer
+	call mouse_statue_up_timer
+	//poll
+	call mouse_statue_cheak_timer
+	call mouse_select_device
+	call mouse_bt_discovery_cheak
+	call mouse_low_voltage_led_timer
+	call mouse_sensor_led_contrl_timer
+	call mouse_check_hid_handshake_timer
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call mouse_check_mouse_state_timer
+	branch mouse_le_enable_att_list_timer
+
+
+
+mouse_sensor_led_contrl_timer:
+	fetch 1,mem_mouse_sensor_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_sensor_timer_count
+	nrtn blank
+	branch mouse_sensor_led_contrl
+mouse_sensor_led_contrl:
+	fetch 1,mem_sensor_led_style
+	rtneq UI_LED_STATE_BLINK_STOP
+	beq UI_LED_STATE_BLINK_DARKING,mouse_sensor_led_blink_state_darking
+mouse_sensor_led_blink_state_lighting:
+	call mouse_sensor_led_on
+	jam UI_LED_STATE_BLINK_DARKING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+mouse_sensor_led_blink_state_darking:
+	call mouse_sensor_led_off
+	jam UI_LED_STATE_BLINK_LIGHTING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+	
+mouse_sensor_led_blink_stop:
+mouse_sensor_reset:
+	setarg 0x8006
+	call twspi_write
+    nop 1000
+	jam 0x00,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_STOP,mem_sensor_led_style
+	branch mouse_init_p32xx_id2_judge
+	
+mouse_p3212sensor_led_on:
+	setarg 0xa006
+	call twspi_write
+	setarg 0xa005
+	branch twspi_write
+mouse_sensor_led_on_global:
+	jam 0,mem_mouse_sensor_timer_count
+mouse_sensor_led_on:
+	fetch 1,mem_config_sensor_type
+	beq P3212,mouse_p3212sensor_led_on
+	setarg 0x0106
+	call twspi_write
+	setarg 0xa105
+	branch twspi_write
+	
+mouse_sensor_led_off_global:
+	jam 0,mem_mouse_sensor_timer_count	
+mouse_sensor_led_off:
+	setarg 0x0906
+	branch twspi_write
+mouse_sensor_start_blink:
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_START,mem_sensor_led_style
+	rtn
+	
+mouse_check_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg mouse_bt_hid_handshake,regb
+	branch timer_single_step
+
+mouse_check_discovery_timeout_timer:	
+	arg mem_mouse_discovery_timer,regc
+	arg mouse_check_discovery_timeout,regb
+	branch timer_single_step_2B
+
+mouse_check_direct_timeout_timer:	
+	arg mem_mouse_direct_timer,regc
+	arg mouse_check_direct_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_no_data_timeout_timer:	
+	arg mem_mouse_no_data_timer,regc
+	arg mouse_check_no_data_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_mouse_state_timer:
+	arg mem_mouse_statue_led_timer,regc
+	arg mouse_statue_led_off,regb
+	branch timer_single_step
+
+
+
+mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_enable_att_list,regb
+	branch timer_single_step
+
+mouse_24g_delay_timer:
+	arg mem_24g_enter_lpm_timer,regc
+	arg mouse_24g_delay,regb
+	branch timer_single_step
+
+mouse_ban_24g_pairing_timer:
+	arg mem_24g_pairing_timer_count,regc
+	arg mouse_ban_24g_pairing,regb
+	branch timer_single_step_2B
+mouse_ban_24g_pairing:
+mouse_24g_delay:
+	rtn
+
+
+mosue_dpi_led_blink_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_DPI_LED_BLINK
+	jam 10,mem_mouse_dpi_led_delay_count  //delay 1s led blink
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	rtn
+
+
+mouse_dpi_led_blink_delay_timer:
+	arg mem_mouse_dpi_led_delay_count,regc
+	arg mouse_dpi_led_setting,regb
+	branch timer_single_step	
+mouse_dpi_led_setting:
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	setarg LED_DPI_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	arg 0,rega
+	fetcht 1,mem_mouse_dpi
+	increase 1,temp
+	storet 1,mem_mouse_blink_count
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	rtn
+	
+mouse_le_enable_att_list:	
+	fetch 1,mem_le_connect_statue_flag
+	rtnbit1 LL_PAIRING_SUCCESS_FLAG
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+
+mouse_check_discovery_timeout:
+	call mouse_stop_discovery
+	branch app_enter_hibernate
+
+mouse_check_direct_timeout:
+	call app_ble_stop_direct_adv
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	branch app_enter_hibernate
+
+mouse_check_no_data_timeout:
+	bmark1 mark_24g,check_51cmd_hibernate
+	branch mouse_disconnect
+
+	
+
+mouse_bb_event_discovery_btn:
+	bpatch patch1d_2,mem_patch1d
+	jam 0,mem_mouse_send_blank_timer
+	call mouse_disconnect
+	call mouse_le_clean_connect_flag
+	branch mouse_start_discovery
+
+
+
+mouse3_0_check_reconn_target:
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	call mouse_reconn_setting_led_gpio
+	jam 0x17,mem_connection_options  //ssp
+	fetch 1,mem_ssp_enable
+	nbranch app_bt_start_reconnect,blank
+	jam 0x04,mem_connection_options  //no ssp
+	branch app_bt_start_reconnect
+	
+mouse4_0_check_reconn_target:
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call mouse_reconn_setting_led_gpio
+	call app_lpm_mult_disable
+	branch check_51cmd_adv
+
+mouse_reconn_setting_led_gpio:
+	setarg LED_RECONNECT_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	branch mouse_setting_led_gpio_comman
+	
+mouse_discover_setting_led_gpio:
+	setarg LED_DISCOVERY_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time	
+mouse_setting_led_gpio_comman:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device_led1
+	beq MODE_BT_DEVICE2,mouse_device_led2
+	beq MODE_BT_DEVICE3,mouse_device_led3
+	rtn
+mouse_device_led1:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+mouse_device_led2:
+	fetch 1,mem_config_device2_led_gpio
+	branch mouse_led_blink
+mouse_device_led3:
+	fetch 1,mem_config_device3_led_gpio
+mouse_led_blink:
+	store 1,mem_temp
+	call mouse_devce_led_off
+	fetch 1,mem_temp
+	store 1,mem_mouse_struct_led_gpio
+	arg 0,rega
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	branch ui_led_blink_start_global
+
+mouse_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+mouse_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+mouse4_0_bb_event_discovery_btn:
+	branch mouse_le_clean_connect_flag
+	
+mouse_bt_hid_handshake:
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_bt_store_reconn_info
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	store 1,mem_hid_handshake_timer_count
+	branch app_bt_enter_sniff
+
+mouse_check_reconn_target:
+	call mouse_cheak_select_device_by_switch
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch mouse_connect_24g_mode,zero
+	fetch 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse3_0_check_reconn_target
+	beq REC_4_MODE,mouse4_0_check_reconn_target
+	branch mouse_start_discovery
+mouse_connect_24g_mode:
+	call mouse_start_24g_mode
+	rtnmark1 mark_24g
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	rtn
+	
+mouse_start_discovery:
+	bpatch patch1d_3,mem_patch1d
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,mouse_start_discovery_norandom
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,mouse_start_discovery_norandom
+	random pdata					//random ble addr
+	store 1,mem_le_lap+1
+mouse_start_discovery_norandom:
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call check_51cmd_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	branch mouse_discover_setting_led_gpio
+
+mouse_stop_discovery:
+	bpatch patch1d_4,mem_patch1d
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call mouse_stop_le_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call mouse_stop_bt3_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_led_blink_stop
+	branch mouse_devce_led_off
+mouse_stop_le_adv:
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	branch check_51cmd_stop_adv
+mouse_stop_bt3_discovery:
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	branch check_51cmd_stop_discovery
+
+	
+
+
+
+mouse_store_remote_bdaddr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STORE_EEPROM_FLAG
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	call mouse_check_device_addr
+mouse_unplug_clean_bdaddr:
+	call mouse_before_store_reconn_info
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_device_info
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eeprom_device_info	
+	rtn
+mouse_store_eeprom_device_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_check_device_addr:
+	fetch 1,mem_record_bt_mode
+	beq REC_4_MODE,mouse_check_le_device_addr
+	beq REC_3_MODE,mouse_check_bt_device_addr
+	rtn
+mouse_check_le_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_le_plap
+	branch mouse_check_bt_device_addr_common
+mouse_check_bt_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_plap
+mouse_check_bt_device_addr_common:
+	store 6,mem_device_addr_temp+1
+	fetch 7,mem_device_addr_temp
+	arg mem_device1_type,contr
+	arg 3,loopcnt
+mouse_check_device_addr_end:
+	ifetcht 7,contr
+	isub temp,null
+	branch mouse_clean_addr,zero
+	increase 22,contr
+	loop mouse_check_device_addr_end
+	rtn
+mouse_before_store_reconn_info:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	fetch 1,mem_record_bt_mode
+	istore 1,rega
+	beq REC_4_MODE,mouse_store_le_device
+	beq REC_3_MODE,mouse_store_bt_device
+	rtn
+	
+mouse_store_le_device:
+	fetch 6,mem_le_plap
+	istore 6,contw
+	arg mem_le_ltk,contr
+	call memcpy16
+	fetch 6,mem_le_lap
+	istore 6,contw
+	rtn
+mouse_store_bt_device:
+	fetch 6,mem_plap
+	istore 6,contw
+	arg mem_link_key,contr
+	branch memcpy16
+
+mouse_clean_addr:
+	increase -6,contr
+	copy contr,contw
+	fetcht 6,mem_device_addr_temp+1
+	increase 3,temp
+	istoret 6,contw
+	rtn
+
+
+
+mouse_eeprom_load_recon_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	call iicd_read_eep_data
+mouse_select_reconn_device:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	ifetch 1,rega
+	store 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse_load_bt_device
+	beq REC_4_MODE,mouse_load_le_device
+	rtn
+
+mouse_load_bt_device:
+	ifetch 6,contr
+mouse_load_bt_device_end:
+	store 6,mem_hci_plap
+	arg mem_link_key,contw
+	call memcpy16
+	branch check_link_key_load
+
+mouse_load_le_device:
+	ifetch 6,contr
+mouse_load_le_device_end:
+	store 6,mem_hci_plap
+	arg mem_le_ltk,contw
+	call memcpy16
+	ifetch 6,contr
+	store 6,mem_le_lap
+	rtn
+
+
+mouse_select_device:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON,mouse_select_device_by_button
+	bbit1 ENABLE_SELECT_DEVICE_BY_SWITCH,mouse_select_device_by_switch
+	branch mouse_select_device_by_combination_key
+
+mouse_select_device_by_combination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_RM_BUTTON,mouse_select_device_commbination_key_down
+mouse_select_device_commbination_key_up:
+	jam 30,mem_combination_select_device_count	//combination key timer init 
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	rtn
+	
+mouse_select_device_commbination_key_down:
+	call mouse_combination_select_device_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	branch mouse_select_device_enable
+
+mouse_combination_select_device_timer:
+	fetch 1,mem_combination_select_device_count
+	rtn blank
+	pincrease -1
+	store 1,mem_combination_select_device_count
+	nrtn blank
+	branch mouse_ready_reconnection_by_button
+	
+mouse_select_device_by_button:
+	fetch 1,mem_config_select_device_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_LONG_BT_BUTTON_FLAG
+	branch mouse_ready_reconnection_by_button
+
+mouse_select_device_button_down:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_select1_device
+	beq MODE_24G_DEVICE,mouse_select2_device
+	rtn
+mouse_cheak_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_cheak_select_24gdevice,true
+mouse_select_btdevice:
+	jam MODE_BT_DEVICE1,mem_device_flag
+	rtn
+mouse_cheak_select_24gdevice:
+	fetch 1,mem_24g_device_number
+	store 1,mem_device_flag
+	rtn
+mouse_select1_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	nbranch mouse_ready_reconnection_by_button,true
+	rtn
+mouse_select2_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+	rtn
+
+
+	
+
+mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_select_device_enable
+//	call p_select_reconn_device
+	branch mouse_set_reconnection
+
+mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_eep_data
+
+mouse_set_reconnection:
+	call mouse_stop_bluetooth_mode
+	call mouse_select_device_disable
+	branch mouse_soft_reset
+mouse_stop_bluetooth_mode:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch mouse_stop_discovery
+
+mouse_disconnect:
+	bpatch patch1d_5,mem_patch1d
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+mouse_irtual_cable_unplug:
+	setarg 0x01
+	store 6,mem_plap
+	jam REC_3_MODE,mem_record_bt_mode
+	branch mouse_unplug_clean_bdaddr
+
+	
+mouse_cancel_reconnect:
+	call mouse_bt_cannel_reconn_enable
+	branch check_51cmd_bb_reconn_cancel
+
+mouse_bt_discovery_by_button:
+	fetch 1,mem_config_bt_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_get_bit
+	branch mouse_bt_discovery_button_down,true
+mouse_bt_discovery_button_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 	
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+mouse_bt_discovery_button_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+	
+mouse_bt_discovery_cheak:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
+mouse_bt_discovery_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,mouse_bt_discovery_commbination_key_down
+mouse_bt_discovery_commbination_key_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+	
+	
+mouse_bt_discovery_commbination_key_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+mouse_bt_discovry_timer:
+	arg mem_combination_ui_button_count,regc
+	arg mouse_long_button_bt_discovry,regb
+	branch timer_single_step
+	
+mouse_long_button_bt_discovry:
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	call mouse_enable_function_flag
+	call app_evt_button_long_pressed
+	branch mouse_bb_event_discovery_btn
+
+
+mouse_cpi_enable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_cpi_disable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_select_device_enable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_select_device_disable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_cannel_reconn_enable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_cannel_reconn_disable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_discovery_button_down_enable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_discovery_button_down_disable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_count_clean:
+	arg 1,temp
+	rtn
+
+mouse_enable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset1 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+
+mouse_disable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset0 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+	
+mouse_adc_read:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	rtn positive
+	jam 0,mem_adc_read_timer
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,mouse_power_down
+	bbit0 0,mouse_adc_no_low_voltage
+	branch mouse_adc_low_voltage
+mouse_adc_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_adc_no_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_disable_function_flag
+
+mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,mouse_low_voltage_led_on
+	beq 4,mouse_low_voltage_led_off
+	beq 6,mouse_low_voltage_led_on
+	beq 8,mouse_low_voltage_led_off
+	rtn
+mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch mouse_low_voltage_led_off
+mouse_low_voltage_led_on:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_on_global
+mouse_low_voltage_led_off:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_off_global
+
+mouse_g24_package_data:
+	call mouse_motion
+	nrtn user
+	arg 7,rega	//length
+	arg mem_mouse_key,regb //tx buff
+	rtn
+	
+mouse_g24_enter_lpm:
+	fetch 1,mem_mouse_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	call mouse_24g_dpi_delay_init,true
+	fetch 1,mem_24g_enter_lpm_timer
+	nrtn blank
+	call mouse_check_key_gpio
+	nrtn blank
+	branch g24_lpm_long_sleep
+
+mouse_24g_dpi_delay_init:
+	fetch 1,mem_dpi_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	jam 10,mem_24g_enter_lpm_timer
+	rtn
+
+	
+mouse_load_flash_info_cheak:
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	branch mouse_store_flash_device_info
+mouse_ble_init_address:
+	fetch 6,mem_le_lap
+	store 6,mem_device1_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device2_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device3_locall_addr
+	rtn
+	
+	
+mouse_load_flash_flag:
+	setarg mem_store_flag
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	iadd temp,pdata
+	arg 2,temp
+	arg mem_store_flag,rega
+	branch spid_read_flash
+
+	
+mouse_load_flash_device_info:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	call spid_read_flash
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	call g24_head_ptr2regc
+	branch g24_store_mem_addr
+
+mouse_store_flash_device_info:	
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	arg mem_mouse_information_start,rega
+	fetch 3,mem_flash_base
+	branch flash_write
+
+mouse_store_eerpom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_load_eeprom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_read_eep_data
+
+mouse_statue_cheak_timer:
+	rtnmark1 mark_24g
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_STATUE_UP
+	fetch 1,mem_mouse_1step_up_count
+	pincrease 1
+	and pdata,0x07,pdata
+	store 1,mem_mouse_1step_up_count
+	rtnne 0x07         //800ms read sensor
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_check_statue_up
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_check_statue_up
+	rtn
+
+
+
+//mosue 
+mouse_check_statue_up:
+	bpatch patch1d_6,mem_patch1d
+	fetch 1,mem_mouse_2step_up_count
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	fetch 1,mem_sensor_squal_reg
+	call sensor_read
+	store 1,mem_sensor_iqc
+	sub pdata,0x10,null
+	branch mouse_statue_up_timer_init,positive
+	jam 0,mem_mouse_2step_up_count
+	rtn
+
+mouse_statue_up_timer_init:
+	jam 30,mem_mouse_2step_up_count
+	rtn
+mouse_statue_up_timer:
+	arg mem_mouse_2step_up_count,regc
+	arg mouse_statue_up,regb
+	branch timer_single_step
+
+mouse_statue_up:
+	fetch 1,mem_sensor_squal_reg
+	call twspi_read
+	sub pdata,0x10,null
+	nrtn positive
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	arg MOUSE_STATUE_UP_FLAG,queue
+	call mouse_disable_function_flag
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_statue_led_timer         // led on3s
+	call mouse_devce_led_off
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_STATUE_UP_THREE_LED,mouse_three_device_statue_up
+mouse_two_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device_blink_led_init		//device_2
+	rtn
+mouse_three_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device2_led_on		//device_2
+	beq MODE_BT_DEVICE3,mouse_device3_led_on		//device_3
+	rtn
+	
+mouse_device_blink_led_init:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+
+
+
+mouse_statue_led_off:
+	jam 0x20,mem_lpm_mult
+	branch mouse_devce_led_off
+
+
+
+mouse_devce1_led_off:
+	fetch 1,mem_config_device1_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_devce2_led_off:
+	fetch 1,mem_config_device2_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+	
+mouse_devce_led_off:
+	call mouse_led_off
+	call mouse_devce1_led_off
+	call mouse_devce2_led_off
+mouse_devce3_led_off:
+	fetch 1,mem_config_device3_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_device1_led_on:
+	fetch 1,mem_config_device1_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device2_led_on:
+	fetch 1,mem_config_device2_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device3_led_on:
+	fetch 1,mem_config_device3_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+
+
+
+mouse_polling_device:
+	bpatch patch1d_7,mem_patch1d
+	fetch 1,mem_reconn_times
+	increase -1,pdata
+	store 1,mem_reconn_times
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_before_store_reconn_info
+	branch mouse_check_reconn_target
+	
+mouse_power_down:
+	call mouse_devce_led_off
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+
+
+
+
+
+
+
+
+
+
+remote_car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	call keyscan_key_init
+	setarg remote_car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg remote_car_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg remote_car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg remote_car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock	
+
+	call g24_head_ptr2regc
+	setarg remote_car_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	
+	setarg remote_car_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	
+	setarg remote_car_process_lpm_before
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+
+	setarg remote_car_event_timer
+	store 2,mem_cb_event_timer
+	
+	setarg remote_car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg remote_car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	setarg remote_car_send_key_data
+	store 2,mem_cb_remote_car_keyscan
+	
+	bpatch patch1e_0,mem_patch1e
+	call remote_car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	fetch 1,mem_remote_car_config_soft_switch_enable
+	store 1,mem_remote_car_hard_soft_switch
+	beq HARD_SWITCH, remote_car_hard_switch_power_on_signal
+	fetch 1,mem_remote_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+remote_car_soft_switch_power_on_init:
+	call remote_car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_remote_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+
+
+remote_car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_remote_car_power_state
+remote_car_soft_switch_power_on_signal:
+	call remote_car_ui_led_init
+//	fetch 1,mem_remote_car_led_map
+	arg 0,rega
+	call ui_led_blink_start_global
+remote_car_connect_24g_mode:
+	branch g24_auto_pair_start
+
+remote_car_power_off_signal:	
+	branch remote_car_ui_led_init
+	
+remote_car_ui_led_init:
+	bpatch patch1e_1,mem_patch1e
+	fetch 1,mem_remote_car_config_connect_led_gpio
+	bne INVALID_PIN_NUM,remote_car_pairing_led_gpio_set
+remote_car_ui_led_init_1:
+	fetcht 1, mem_remote_car_led_map
+	branch gpio_config_output
+remote_car_pairing_led_gpio_set:
+	store 1,mem_remote_car_led_map
+	branch remote_car_ui_led_init_1
+
+
+remote_car_init_environment:
+	call g24_set_device_addr
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	branch remote_car_get_adc_default_data
+
+remote_car_le_before_hibernate:
+//	call keyscan_scan_key
+//	fetch 2, mem_key_value_temp
+//	branch remote_car_in_enter_hibernate,blank
+//	branch app_enter_hibernate
+remote_car_in_enter_hibernate:	
+	call gpio_set_before_lpm_common
+	call remote_car_process_lpm_before
+	branch app_enter_hibernate
+
+remote_car_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+remote_car_g24_enter_lpm:
+	fetch 1,mem_remote_car_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	branch g24_lpm_long_sleep
+
+remote_car_process_auto_pair_exit:
+	rtn
+
+remote_car_key_scan_process:
+	branch keyscan_key_process
+
+remote_car_scale_process_idle:
+	call remote_car_rocker_process
+	call remote_car_24g_status_process
+	branch remote_car_key_scan_process
+
+remote_car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_24G_PAIRING_COMPLETE,remote_car_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,remote_car_24g_attempt_success
+	beq BT_EVT_24G_ATTEMPT_FAIL,remote_car_24g_attempt_fail
+	rtn
+
+remote_car_24g_attempt_fail:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	rtn
+
+remote_car_24g_pairing_complete:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_attempt_success:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_status_process:
+	fetch 1,mem_remote_car_24g_auto_work_step
+	rtneq POWER_ON
+	fetch 1,mem_remote_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_remote_car_24g_status
+remote_car_scale_process_paired:
+	arg 0,rega
+	branch ui_led_off_global
+remote_car_scale_process_shutdown:
+	arg 0,rega
+	call ui_led_off_global
+	call remote_car_ui_led_init
+	branch app_enter_hibernate
+	
+remote_car_event_timer:
+	call app_power_timer
+	branch remote_car_no_data_timer
+
+remote_car_no_data_timer:
+	fetch 1,mem_remote_car_config_timeout_shutdown_enable
+	rtn blank
+	arg mem_remote_car_no_data_timer,regc
+	arg remote_car_scale_process_shutdown,regb
+	branch timer_single_step_2B
+	
+////////////////////////////////////rocker/////////////////////////////
+remote_car_get_adc_default_data:
+	call remote_car_rocker_get_x
+	storet 2,mem_current_vdd_value_default_mid_x
+	call remote_car_rocker_get_y
+	storet 2,mem_current_vdd_value_default_mid_y
+	rtn
+remote_car_rocker_data_get:
+remote_car_rocker_get_x:
+	fetch 2,mem_current_vdd_value_default_mid_x
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio6
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status
+remote_car_rocker_get_y:
+	fetch 2,mem_current_vdd_value_default_mid_y
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio7
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status+1
+	rtn
+remote_car_rocker_get_value:
+	fetch 2,mem_current_vdd_default_range
+	copy pdata,rega
+	fetch 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_rocker_mid_value_adjust
+	fetch 1,mem_rocker_work_status
+	nbranch remote_car_rocker_translate_key,blank
+	nrtn positive
+	fetcht 2,mem_current_vdd_value_default_mid_temp
+	rtn	
+remote_car_rocker_mid_value_adjust:
+	isub temp,pdata
+	branch remote_car_rocker_mid_adjust_positive,positive
+	sub pdata,0,pdata		//negative adjust
+	jam 1,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_mid_adjust_positive:
+	jam 0,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_translate_key:
+	nbranch remote_car_rocker_middle_key,positive
+	fetch 1,mem_rocker_negative_flag
+	nbranch remote_car_rocker_negative_key,blank
+remote_car_rocker_positive_key:	
+	setarg ROCKER_POSITIVE_KEY
+	rtn
+remote_car_rocker_negative_key:
+	setarg ROCKER_NEGATIVE_KEY
+	rtn
+remote_car_rocker_middle_key:
+	setarg ROCKER_MIDDLE_KEY
+	rtn
+remote_car_get_adc_from_gpio6:
+	jam 0x33,mem_adc_channel
+	branch adc_set_mode
+remote_car_get_adc_from_gpio7:
+	jam 0x34,mem_adc_channel
+	branch adc_set_mode
+
+
+remote_car_rocker_process:
+	fetch 1,mem_remote_car_config_check_way
+	rtnne CAR_REMOTE_CHECK_ROCKER	
+remote_car_read_rocker_check_start:
+	bpatch patch1e_2,mem_patch1e
+	jam 1,mem_rocker_work_status
+	call remote_car_rocker_data_get
+	fetch 2,mem_rocker_status
+	fetcht 2,mem_rocker_last_status
+	isub temp,null
+	rtn zero
+	store 2,mem_rocker_last_status
+	call remote_car_rocker_x_to_key
+	branch remote_car_rocker_y_to_key
+	
+remote_car_rocker_x_to_key:
+	fetch 1,mem_rocker_x_status
+	branch rocker_to_queue_set_0,blank
+	increase -1,pdata
+	branch remote_car_rocker_to_key
+remote_car_rocker_y_to_key:
+	fetch 1,mem_rocker_y_status
+	branch rocker_to_queue_set_2,blank
+	increase 1,pdata
+remote_car_rocker_to_key:
+	copy pdata,queue
+	arg 1,rega
+	branch remote_car_send_key_data
+	
+rocker_to_queue_set_0:
+	arg 0,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+rocker_to_queue_set_2:
+	arg 2,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+	
+remote_car_send_key_data:
+	copy rega,pdata
+	store 1,mem_remote_key_status
+	fetch 1,mem_remote_car_24g_auto_work_step
+	beq POWER_ON,g24_auto_pair_start
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	fetch 1,mem_remote_key_status
+	branch remote_car_key_is_release,blank
+remote_car_key_is_press:
+	bpatch patch1e_3,mem_patch1e
+	arg 0,rega
+	call ui_led_on_global
+remote_car_attack_key_press:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_press
+	beq 5,remote_car_send_attack_key5_press
+	beq 6,remote_car_send_fire_key6_press
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_press:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_is_press
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_press
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_is_press
+	rtn
+	
+remote_car_single_motor_key_is_press:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_press
+	beq 1,remote_car_send_motor1_key1_press
+	beq 2,remote_car_send_motor2_key2_press
+	beq 3,remote_car_send_motor2_key3_press
+	rtn
+	
+remote_car_double_motor_key_press:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_press
+	beq 1,remote_car_send_double_motor_key1_press
+	beq 2,remote_car_send_double_motor_key2_press
+	beq 3,remote_car_send_double_motor_key3_press
+	rtn
+
+remote_car_key_is_release:
+	bpatch patch1e_4,mem_patch1e
+	arg 0,rega
+	call ui_led_off_global
+remote_car_attack_key_release:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_rel
+	beq 5,remote_car_send_attack_key5_rel
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_release:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_rel
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_rel
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_rel
+	rtn
+
+remote_car_device_layout_select:
+	fetch 1,mem_remote_car_config_layout
+	fetcht 1,mem_remote_car_config_key_map
+	ior temp,pdata
+	rtn
+
+//cross key,control front-back motor layout
+remote_car_send_motor1_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor1_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_press:	//left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key3_press:	//right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+
+//cross key,control left-right motor layout
+remote_car_send_double_motor_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key2_press:	//left
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key3_press:	//right
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+//attack motor control
+remote_car_send_attack_key4_press:	//attack left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+remote_car_send_attack_key5_press:	//attack right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_fire_key6_press:
+	jam 0x01,mem_remote_car_24g_fire_send_payload
+	branch remote_car_send_attack
+
+remote_car_single_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_rel
+	beq 1,remote_car_send_motor1_key1_rel
+	beq 2,remote_car_send_motor2_key2_rel
+	beq 3,remote_car_send_motor2_key3_rel
+	rtn
+
+remote_car_double_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_rel
+	beq 1,remote_car_send_double_motor_key1_rel
+	beq 2,remote_car_send_double_motor_key2_rel
+	beq 3,remote_car_send_double_motor_key3_rel
+	rtn
+
+remote_car_send_motor1_key0_rel:
+remote_car_send_motor1_key1_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_rel:
+remote_car_send_motor2_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_double_motor_key0_rel:
+remote_car_send_double_motor_key1_rel:
+remote_car_send_double_motor_key2_rel:
+remote_car_send_double_motor_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_attack_key4_rel:
+remote_car_send_attack_key5_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_key:
+	arg mem_remote_car_24g_motor_packet,rega
+	branch queue_push
+remote_car_send_attack:
+	arg mem_remote_car_24g_fire_packet,rega
+	branch queue_push
+
+remote_car_g24_package_data:
+	fetch 1,mem_remote_car_24g_pair_success_flag
+	beq WORK_PAIRED,remote_car_g24_send_empty
+	arg mem_remote_car_24g_tx_temp,rega
+	call queue_pop
+	nbranch remote_car_moto_data,user
+remote_car_g24_package_data_continue:
+	arg mem_remote_car_24g_tx_temp,contr
+	ifetch 1,contr
+	copy pdata,rega
+	arg mem_remote_car_24g_tx_temp+1,regb
+	//rega: length
+	//regb: tx buffer
+	rtn
+	
+remote_car_g24_send_empty:
+	jam 0,mem_remote_car_24g_pair_success_flag
+	enable user
+	arg 1,rega
+	arg mem_remote_car_empty_packet,regb
+	rtn
+	
+remote_car_moto_data:
+	fetch 1,mem_remote_car_24g_tx_temp+3	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,remote_car_moto_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,remote_car_moto_data_next
+	rtn
+remote_car_moto_data_next:
+	fetch 1,mem_remote_car_24g_tx_temp+6	//data moto1
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+8	//data moto2
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+10	//data moto3
+	nbranch remote_car_moto_data_enable_user,blank
+	rtn
+remote_car_moto_data_enable_user:
+	enable user
+	branch remote_car_g24_package_data_continue
+
+
+
+
+
+
+
+shutter_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	setarg shutter_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+
+	setarg shutter_process_lpm_before
+	store 2,mem_cb_before_lpm
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg shutter_process_idle
+	store 2,mem_cb_idle_process
+		
+	setarg shutter_process_bb_event 
+	store 2,mem_cb_bb_event_process
+
+	setarg shutter_le_scale_lpm_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg ble_shutter_receive_data
+	store 2,mem_cb_att_write
+
+	setarg shutter_le_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg shutter_key_change
+	store 2,mem_cb_shutter_keycan
+
+	setarg shutter_soft_swtich_power_on
+	store 2,mem_shutter_soft_switch_poweron_callback_function
+	setarg shutter_soft_swtich_power_off
+	store 2,mem_shutter_soft_switch_poweroff_callback_function
+
+	call le_modified_name
+	call shutter_load_bluetooth_config_by_user_config
+	call shutter_init_bluetooth_config
+	call shutter_init_param	
+	call keyscan_key_init
+	call shutter_load_buffer_config_form_DataRom
+	call queue_init
+	call ui_led_init_global
+	call shutter_load_bluetooth_config
+	call shutter_load_bluetooth_config_by_eeprom
+	
+	bpatch patch1e_5,mem_patch1e
+	call classic_shutter_load_reconn_info
+	fetch 1, mem_shutter_hard_soft_switch_case
+	beq HARD_SWITCH, shutter_hart_swtich_power_on
+	fetch 1,mem_shutter_soft_switch_button_gpio
+	store 1,mem_ui_button_gpio
+	branch ui_soft_swtich_init
+
+/**************hard swtich function**************/
+shutter_hart_swtich_power_on:
+	jam UI_BUTTON_GPIO_DISABLE,mem_ui_button_gpio
+	jam SS_STATE_POWER_ON,mem_shutter_soft_switch_power_state
+	branch shutter_start_reconnect
+/****************************/
+
+/**************lpm lock callback function**************/
+shutter_le_scale_lpm_lock:
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_OFF,app_get_lpm_wake_lock
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	nbranch app_get_lpm_wake_lock,blank
+	branch app_put_lpm_wake_lock
+/****************************/
+
+/**************c512bt event callback function*************/
+shutter_process_bb_event:
+	copy regc,pdata
+/**************classic shutter event*****************/
+	beq BT_EVT_BB_CONNECTED,classic_shutter_process_baseband_connect
+	beq BT_EVT_BB_DISCONNECTED,classic_shutter_process_baseband_disconnect
+	beq BT_EVT_RECONN_FAILED,classic_shutter_process_reconnect_failed
+	beq BT_EVT_SETUP_COMPLETE,classic_shutter_process_setup_complete
+	beq BT_EVT_HID_CONNECTED,classic_shutter_process_hid_connect
+	beq BT_EVT_HID_DISCONNECTED,classic_shutter_process_hid_disconnect
+	beq BT_EVT_HID_HANDSHAKE,classic_shutter_process_hid_handshake
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,classic_shutter_process_reconnect_page_timeout
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,classic_shutter_process_virtual_cable_unplug
+	beq BT_EVT_REMOTE_UNSNIFF,classic_shutter_process_remote_unsniff
+	beq BT_EVT_STORE_NVRAM,classic_shutter_process_store_reconnect_information
+/**************ble shutter event*****************/
+	beq BT_EVT_LE_CONNECTED,ble_shutter_process_baseband_connect
+	beq BT_EVT_LE_DISCONNECTED,ble_shutter_process_baseband_disconnect
+	beq BT_EVT_LE_RECONNECT_COMPLETE,ble_shutter_process_reconnect_complete
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,ble_shutter_process_parse_connect_parameter_update_response
+/***************soft swtich event****************/
+	beq BT_EVT_BUTTON_LONG_PRESSED,shutter_process_soft_swtich_button_long_press
+	beq BT_EVT_BUTTON_DOWN,shutter_process_soft_swtich_button_down
+	beq BT_EVT_BUTTON_UP,shutter_process_soft_swtich_button_up
+	rtn
+/****************************/
+
+
+/******************classic shutter event**********************/
+classic_shutter_process_baseband_connect:
+	jam 0,mem_classic_shutter_hid_disconn_count
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	rtn
+
+
+classic_shutter_process_baseband_disconnect:
+	call classic_shutter_disconnect_clear_flag
+	branch classic_shutter_process_reconnect_failed
+
+classic_shutter_disconnect_clear_flag:
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_unsniff2sniff_timer_count
+	jam 0,mem_classic_shutter_cable_unplug_conut
+	jam 0,mem_classic_shutter_hid_disconn_count
+	branch queue_init
+
+
+classic_shutter_process_reconnect_failed:
+	call app_disconn_reason_clear
+	branch shutter_start_bluetooth_discovery
+
+
+classic_shutter_process_setup_complete:
+	call shutter_stop_bluetooth_discovery
+	branch app_led_stop_blink
+
+
+classic_shutter_process_hid_connect:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn	
+
+
+classic_shutter_process_hid_disconnect:
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+	store 1,mem_classic_shutter_hid_disconn_count
+	rtn
+
+
+classic_shutter_process_hid_handshake:
+	fetch 1,mem_app_handshake_flag
+	rtneq APP_HANDSHAKE_DONE
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_store_reconn_info
+	call shutter_stop_bluetooth_discovery
+	call app_led_off
+	branch app_bt_enter_sniff
+
+
+classic_shutter_process_reconnect_page_timeout:
+	branch classic_shutter_process_reconnect_failed
+
+
+classic_shutter_process_virtual_cable_unplug:
+	setarg FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+	store 1,mem_classic_shutter_cable_unplug_conut
+	rtn
+
+
+classic_shutter_process_remote_unsniff:
+	branch app_start_auto_sniff
+
+
+/***************classic shutter store reconn info***********************/
+classic_shutter_process_store_reconnect_information:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_write_eep_data
+
+classic_shutter_load_reconn_info:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 1,mem_nv_data_number
+	rtn blank
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_read_eep_data
+/**************************************/
+
+/******************ble shutter event**********************/
+ble_shutter_process_baseband_connect:
+	call shutter_stop_bluetooth_discovery
+	setarg 0
+	store 2,mem_ble_shutter_reconn_timer
+	branch app_led_off
+
+
+ble_shutter_process_baseband_disconnect:
+	call queue_init
+	jam 0,mem_ble_shutter_enable_notify
+	branch shutter_start_reconnect
+
+
+ble_shutter_process_reconnect_complete:
+	call queue_init
+	jam 1,mem_ble_shutter_enable_notify
+	fetch 8,mem_ble_shutter_interval_min
+	store 8,mem_le_interval_min
+	call app_lpm_mult_enable
+	branch le_l2cap_tx_update_req
+
+
+ble_shutter_process_parse_connect_parameter_update_response:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 8,mem_ble_shutter_interval_min_new
+	rtn blank
+	store 8,mem_le_interval_min
+	branch le_l2cap_tx_update_req
+/**************************************/
+
+/******************soft swtich event**********************/
+shutter_process_soft_swtich_button_long_press:
+	branch ui_soft_switch_botton_long_press
+
+shutter_process_soft_swtich_button_down:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	call shutter_store_currenct_led_state
+	branch app_led_on
+	
+shutter_store_currenct_led_state:
+	jam 1,mem_shutter_soft_swtich_botton_down
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contw
+	arg mem_shutter_led_struct_app_led,contr
+	branch memcpy
+	
+shutter_process_soft_swtich_button_up:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_ON,shutter_load_currenct_led_state
+	branch ui_soft_switch_botton_up
+
+shutter_load_currenct_led_state:
+	fetch 1,mem_shutter_soft_swtich_botton_down
+	rtnne 1
+	jam 0,mem_shutter_soft_swtich_botton_down
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_led_off
+	bbit1 UI_STATE_BLE_CONNECTED,app_led_off
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contr
+	arg mem_shutter_led_struct_app_led,contw
+	branch memcpy
+	
+/**************************************/
+
+
+shutter_le_bb_event_timer:
+/**************shutter check sleep timer**********************/
+	call shutter_check_sleep_timer
+/************************************/
+/**************soft reset power off timer**********************/
+	call shutter_check_power_off_timer
+/************************************/
+/**************classic shutter timer**********************/
+	call classic_shutter_check_unplug_timer
+	call classic_shutter_hid_handshake_timer
+	call classic_shutter_hid_disconn_timer
+/************************************/
+/**************ble shutter timer**********************/
+	branch ble_shutter_reconn_timer
+/************************************/
+
+/**************shutter check sleep timer**********************/
+shutter_check_sleep_timer:
+	arg mem_shutter_sleep_timer,regc
+	arg shutter_sleep_timeout,regb
+	branch timer_single_step_2B
+shutter_sleep_timeout:
+	jam SS_STATE_POWER_OFF,mem_shutter_soft_switch_power_state
+	call app_led_off
+	call shutter_disconnect_current_connection
+	branch shutter_wait_power_off
+
+/**************soft reset power off timer**********************/
+shutter_check_power_off_timer:
+	arg mem_shutter_power_off_timer,regc
+	arg shutter_check_power_off_timeout,regb
+	branch timer_single_step
+
+shutter_check_power_off_timeout:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_wait_power_off
+	bbit1 UI_STATE_BT_CONNECTED,shutter_wait_power_off
+	fetch 1,mem_shutter_led_struct_app_led_type
+	beq UI_LED_STATE_BLINK_START,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_LIGHTING,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_DARKING,shutter_wait_power_off
+	branch app_enter_hibernate
+/************************************/
+
+/**************classic shutter timer**********************/
+classic_shutter_check_unplug_timer:
+	arg mem_classic_shutter_cable_unplug_conut,regc
+	arg classic_shutter_unplug_timeout,regb
+	branch timer_single_step
+	
+classic_shutter_unplug_timeout:
+	fetch 1,mem_CONTROL_tasks
+	set1  L2CAP_DISCONNECT_INTERRUPT, pdata
+	set1  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks	
+	rtn
+
+classic_shutter_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg classic_shutter_process_hid_handshake,regb
+	branch timer_single_step
+
+classic_shutter_hid_disconn_timer:
+	arg mem_classic_shutter_hid_disconn_count,regc
+	arg app_bt_disconnect,regb
+	branch timer_single_step
+
+/************************************/
+
+/**************ble shutter timer**********************/
+ble_shutter_reconn_timer:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	arg mem_ble_shutter_reconn_timer,regc
+	arg shutter_start_bluetooth_discovery,regb
+	branch timer_single_step_2B
+/************************************/
+
+shutter_process_idle:
+	call shutter_send_data_to_master
+	branch keyscan_key_process
+
+
+shutter_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+shutter_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch shutter_process_lpm_before
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+
+/****************shutter bluetooth control**********************/
+shutter_stop_bluetooth_discovery:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_stop_bluetooth_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_stop_bluetooth_discovery
+	rtn
+
+ble_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_ble_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_ble_stop_adv
+	
+classic_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_classic_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_stop_discovery
+
+shutter_start_bluetooth_discovery:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_start_discovery
+	rtn
+	
+classic_shutter_start_discovery:
+	fetch 2,mem_classic_shutter_discovery_timeout,
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_start_discovery_short
+
+ble_shutter_start_discovery:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 2,mem_ble_shutter_discovery_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	fetch 2,mem_ble_shutter_discovery_adv_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_discovery_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+
+shutter_start_reconnect:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_reconnect
+	bbit1 BLE_SHUTTER,ble_shutter_start_reconnect
+	rtn
+
+classic_shutter_start_reconnect:
+	call app_check_reconn_target
+	branch shutter_start_bluetooth_discovery,blank
+	call app_led_on	
+	call app_bt_stop_discovery
+	branch app_bt_start_reconnect	
+
+ble_shutter_start_reconnect:
+	fetch 2,mem_ble_shutter_reconn_timer
+	fetcht 2,mem_ble_shutter_reconn_timeout
+	storet 2,mem_ble_shutter_reconn_timer
+	nrtn blank
+	fetch 2,mem_ble_shutter_reconn_dav_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_reconn_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+//pdata:adv interval value
+shutter_ble_adv_interval_set:
+	store 2,mem_lpm_interval
+	increase -4,pdata
+	store 2,mem_le_adv_interval
+	rtn
+
+
+shutter_disconnect_current_connection:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch shutter_stop_bluetooth_discovery
+/**************************************/
+
+/******************classic shutter load reconnect*********************/
+app_check_reconn_target:
+	fetch 1,mem_nv_data_number
+	copy pdata,loopcnt
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+app_check_reconn_target_loop:
+	ifetch 2,rega
+	beq 0,found_reconn_device
+	increase NV_DATA_LEN,rega
+	loop app_check_reconn_target_loop
+	branch enable_blank
+
+found_reconn_device:
+	ifetch 6,contr
+	store 6,mem_hci_plap
+	increase 10,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	call check_link_key_load
+	branch disable_blank
+	
+/**************************************/
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,can send data
+shutter_check_data_enable:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,shutter_check_bt_data_enable
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_check_ble_data_enable
+	rtn
+
+shutter_check_bt_data_enable:
+	fetch 1,mem_hid_interrupt_state
+	rtnne 0x3f	
+	branch enable_user
+
+shutter_check_ble_data_enable:
+	fetch 1,mem_ble_shutter_enable_notify
+	rtn blank
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,bluetooth disconnect
+shutter_check_bluetooth_conn:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BT_CONNECTED
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_change_bluetooth_status_bt_disconn
+	bbit1 BLE_SHUTTER,ble_shutter_change_bluetooth_status_bt_disconn
+	rtn
+	
+classic_shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_scan_mode
+	rtnne 0x03
+	branch shutter_start_reconnect
+	
+ble_shutter_change_bluetooth_status_bt_disconn:
+	branch shutter_start_reconnect
+
+/////////////////////////////////////////////////////////////////////////
+shutter_check_send_data:
+	disable user2
+	fetch 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+
+	call shutter_check_bluetooth_conn
+	branch shutter_change_bluetooth_status_bt_disconn,user
+	
+	call shutter_check_data_enable
+	nrtn user
+	enable user2
+	rtn
+
+//queue = key index
+//rega =1 press, =0 release
+shutter_key_change:
+	call shutter_check_send_data
+	nrtn user2
+	deposit rega
+	branch shutter_key_release,blank
+shutter_key_press:
+	call app_led_on
+	arg mem_key0_press,regc
+	branch push_queue_press_or_release
+
+shutter_key_release:
+	call app_led_off
+	arg mem_key0_release,regc
+
+push_queue_press_or_release:
+	arg MAX_QUEUE_NUM,pdata
+	imul32 queue,pdata
+	iadd regc,regc
+	
+//input:regc the address that want push to queue buffer
+push_buffer_in_queue:
+	ifetch 1,regc
+	rtn blank
+	call queue_push_one_byte
+	increase 1,regc
+	branch push_buffer_in_queue
+
+
+shutter_send_data_to_master:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,pop_queue_to_ble_data
+	bbit1 UI_STATE_BT_CONNECTED,pop_queue_to_classic_data
+	rtn
+
+pop_queue_to_ble_data:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_BLE_DATA_BUFFER,pdata
+	arg mem_ble_data_buffer1,temp
+	iadd temp,contr
+le_send_notify_from_list:
+	ifetch 1,contr	//length 
+	copy pdata,rega
+	ifetcht 2,contr	//handle
+	call store_contr
+	call le_att_malloc_tx_notify
+	copy rega,loopcnt
+	call get_contr
+	branch memcpy
+
+
+pop_queue_to_classic_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_CLASSIC_DATA_BUFFER,pdata
+	arg mem_classic_data_buffer1,temp
+	iadd temp,contr
+	ifetch 5,contr
+	store 5,mem_classic_data_buffer
+classic_send_hid_data:
+	fetch 1,mem_classic_data_buffer
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0xa1
+	istore 1,contw
+	fetch 4,mem_classic_data_buffer + 1
+	istore 9,contw
+	rtn
+
+///////////queue function////////////
+//input:pdata is data that want push
+queue_push_one_byte:
+	store 1,mem_pdatatemp
+	arg mem_pdatatemp,rega
+	branch queue_push
+
+queue_pop_one_byte:
+	arg mem_pdatatemp,rega
+	call queue_pop
+	nrtn user
+	fetch 1,mem_pdatatemp
+	rtn
+
+///////////queue function ending////////////
+ble_shutter_receive_data:
+	fetch 2,mem_le_att_handle
+	beq GATT_KEYBOARD_WRITE_HANDLE,ble_shutter_process_reconnect_complete
+	rtn
+
+shutter_init_param:
+	setarg 0x02
+	store 1,mem_shutter_power_off_timeout
+/////////////ble connect interval//////////////
+	setarg 0x00200008
+	store 4,mem_ble_shutter_interval_min		//set min interval is 10ms,set max interval is 40ms
+	setarg 0x012c0005
+	istore 4,contw
+///////////////////////////////////////
+//////////////////MTU/////////////
+	jam 0x17,mem_le_local_mtu
+///////////////////////////////////////
+////////////////justwork/////////
+	setarg 0x1b
+ 	store 2,mem_le_pairing_handle
+ 	call le_set_config_fixed_ltk
+	call le_set_fixed_ltk
+	call le_set_justwork
+	branch le_set_config_read_authentication
+///////////////////////////////////////
+
+shutter_load_buffer_config_form_DataRom:
+///////load data Rom/////////
+	arg BLE_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_ble_data_buffer1,contw
+	arg BLE_SHUTTER_KEY_VALUE_LIST,contr
+	call memcpy_fast
+	arg BT_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_classic_data_buffer1,contw
+	arg CLASSIC_SHUTTER_KEY_VALUE_LIST,contr
+	branch memcpy_fast	
+
+
+shutter_load_ble_gatt_form_DataRom:
+	arg BLE_GATT_LIST_SIZE,loopcnt
+	arg BLE_SHUTTER_GATT_LIST,contr
+	branch memcpy_fast
+
+
+shutter_load_bt_sdp_form_DataRom:
+	arg BT_SDP_LIST_SIZE,loopcnt
+	arg CLASSIC_SHUTTER_SDP_LIST,contr
+	branch memcpy_fast
+	
+
+///////////////////////////////gpio config////////////////////////////////////
+shutter_init_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio3
+	branch shutter_init_bluetooth_config_gpio_input
+	
+shutter_init_bluetooth_config_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	branch gpio_config_input_nowake
+	
+
+shutter_load_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	call shutter_load_bluetooth_config_label
+	branch shutter_load_bluetooth_config_by_otp
+
+shutter_load_bluetooth_config_label:
+	arg 0,rega
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,0,rega
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,1,rega
+	fetch 1,mem_shutter_config_select_gpio3
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,2,rega
+	copy rega,pdata
+	store 1,mem_shutter_config_label
+	fetch 1,mem_shutter_config_size
+	imul32 rega,pdata
+	fetcht 2,mem_shutter_config_otp_base_address		//base address
+	iadd temp,pdata
+	store 2,mem_shutter_config_otp_addr
+	rtn
+
+shutter_load_bluetooth_config_read_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	call gpio_get_bit
+	nbranch enable_blank,true
+	branch disable_blank
+	
+
+shutter_check_load_config_flag:
+	call disable_user
+	fetch 1,mem_shutter_config_user_size
+	nrtn blank
+	fetch 1,mem_shutter_config_enable
+	rtn blank
+	branch enable_user
+
+
+shutter_load_bluetooth_config_by_otp:
+	call otp_enable_chgpump
+	fetch 2,mem_shutter_config_otp_addr
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_load_bluetooth_config_store_name:
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_le_name_len
+	call memcpy_fast
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_local_name_length
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_shutter_key_num
+	ifetch 1,contr
+	store 1,mem_shutter_hard_soft_switch_case
+	rtn
+
+
+shutter_load_bluetooth_config_by_eeprom:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	arg 3,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	copy pdata,regb
+	arg mem_shutter_config_eeprom_start_flag,rega
+	call iicd_read_eep_data
+	fetcht 2,mem_shutter_config_eeprom_start_flag
+	setarg SHUTTER_EEPROM_CONFIG_CRC
+	isub temp,null
+	nrtn zero
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	copy pdata,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	add pdata,3,regb
+	arg mem_shutter_config_data_temp,rega
+	call iicd_read_eep_data
+	branch shutter_store_config
+
+shutter_load_bluetooth_config_by_user_config:
+	fetch 2,mem_shutter_config_user_otp_address
+	rtn blank
+	call otp_enable_chgpump
+	arg 1,temp
+	arg mem_shutter_config_user_size,rega
+	call otpd_read_data
+	
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	
+	fetch 2,mem_shutter_config_user_otp_address
+	pincrease 1
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_user_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_store_config:
+	call shutter_load_bluetooth_config_store_name
+shutter_load_bluetooth_config_custom:
+	ifetch 2,contr
+	rtn blank
+	copy pdata,contw
+	ifetcht 1,contr
+	copy temp,loopcnt
+	call memcpy
+	branch shutter_load_bluetooth_config_custom
+///////////////////////////////////////////////////////////////////
+
+//////////////////////////random mac address//////////////////////////////
+shutter_random_mac_addr:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_read_eep_data
+	fetch 1,mem_shutter_random_mac_data_temp
+	bne 1,shutter_write_random_mac_addr_to_eeprom
+shutter_write_random_mac_addr_to_eeprom:
+	setarg 1
+	store 1,mem_shutter_random_mac_data_temp
+	force 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_write_eep_data
+shutter_write_random_mac_addr:
+	fetch 3,mem_shutter_random_mac_data_temp + 1
+	store 3,mem_lap
+	store 3,mem_le_lap
+	rtn
+	
+/////////////////////////////////////////////////////////////////
+shutter_soft_swtich_power_on:
+	branch shutter_start_reconnect
+
+
+shutter_soft_swtich_power_off:
+	arg 0,rega
+	arg mem_shutter_power_off_led_style,regc
+	call ui_led_set_style_global
+	call shutter_disconnect_current_connection
+shutter_wait_power_off:
+	fetch 1,mem_shutter_power_off_timeout
+	store 1,mem_shutter_power_off_timer
+	rtn
+	
+
+/*************soft swtich ui config*********************/
+ui_soft_swtich_init:
+	setarg SS_STATE_POWER_UP
+	call ui_soft_swtich_init_power_on_time
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	call ui_button_init
+	call ui_button_polling
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+ui_soft_swtich_init_power_on_time:
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	ifetch 1,contw		//power on time
+	store 1,mem_ui_button_timeout
+	rtn
+
+
+ui_soft_switch_botton_up:
+	fetch 2,mem_power_param_ptr
+	ifetch 1,pdata
+	rtnne SS_STATE_POWER_UP
+	branch app_enter_hibernate
+
+
+ui_soft_switch_botton_long_press:
+	fetcht 2,mem_power_param_ptr
+	ifetch 1,temp
+	beq SS_STATE_POWER_ON,ui_soft_switch_power_off
+ui_soft_switch_power_on:
+	setarg SS_STATE_POWER_ON
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	add temp,SS_POWER_OFF_TIME,contr
+	ifetch 1,contr
+	istore 1,mem_ui_button_timeout
+	ifetch 2,contr
+	branch callback_func
+
+ui_soft_switch_power_off:
+	setarg SS_STATE_POWER_OFF
+	call ui_soft_swtich_init_power_on_time
+	add temp,SS_POWER_OFF_CB,contr
+	ifetch 2,contr
+	branch app_enter_hibernate,blank		//no call back function , just enter hibernate
+	branch callback_func
+	
+/*************soft swtich ui config ending*********************/
+
+
+/*************unkown function*********************/
+shutter_byteswap:
+	store 6,mem_tmp_buffer
+	fetch 1,mem_tmp_buffer
+	store 1,mem_tmp_buffer+11
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+10
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+9
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+8
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+7
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+6
+	fetch 6,mem_tmp_buffer+6
+	rtn
+
+shutter_random_addr_by_otp:
+	call load_adc_init
+	fetch 1,mem_1v_adc_io_data
+	store 1,mem_le_lap
+	fetch 1,mem_5v_adc_hvin_data
+	istore 1,contw
+	fetch 1,mem_3v_adc_vinlpm_data
+	istore 1,contw
+	fetch 3,mem_le_lap
+	store 3,mem_lap
+	rtn
+
+
+
+//iic read function
+//function name:sim_iic_read_eep_data
+//input:
+//temp:the length that simulation iic want to read eeprom data
+//rega:the memmory point that simulation iic read data store
+//regb:the eeprom address offset
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_read_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+	
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_read_eep_data_2k
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_read_eep_data_2k:
+	call sim_iic_stop
+
+	call sim_iic_start
+	setarg 0xa1
+	call sim_iic_send_byte
+
+sim_iic_read_eep_data_loop:
+	call sim_iic_read_byte
+	istore 1,rega
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_read_eep_data_loop,zero
+	branch sim_iic_stop
+
+
+//iic write data function
+//function name:sim_iic_write_eep_data
+//input:
+//temp:the length that simulation iic want to write eeprom data
+//rega:the memmory point that simulation iic write data read
+//regb:the eeprom address
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_write_eep_data:
+	byteswap regb,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_write_eep_data_loop
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_write_eep_data_loop:
+	ifetch 1,rega
+	call sim_iic_send_byte
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_write_eep_data_loop,zero
+	branch sim_iic_stop
+//	bmark1 mark_eeprom_size
+
+//use reg:pdata,contr,contw,loopcnt
+sim_iic_wait_ack:
+	arg 10,loopcnt
+	call sim_iic_release_sda
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+sim_iic_wait_ack_loop:
+	call sim_iic_read_sda_level
+	branch sim_iic_scl_output_low,blank	//scl = 0
+	loop sim_iic_wait_ack_loop
+	branch sim_iic_scl_output_low		//scl = 0	
+
+
+//use reg:pdata,contr,contw,rega,queue
+sim_iic_ack_slave:
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low	//scl = 0	
+
+
+//output:pdata receive byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_read_byte:
+	arg 8,loopcnt
+	arg 0,regc
+	call sim_iic_release_sda
+sim_iic_read_byte_loop:
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	lshift regc,regc	
+	call sim_iic_read_sda_level
+	iadd regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	loop sim_iic_read_byte_loop
+	call sim_iic_ack_slave
+	copy regc,pdata
+	rtn
+
+//input:pdata send byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_send_byte:
+	arg 8,loopcnt
+	copy pdata,regc
+	call sim_iic_scl_output_low		//scl = 0	
+sim_iic_send_byte_loop:
+	isolate1 7,regc
+	call sim_iic_sda_output_high,true	//sda = 1
+	ncall sim_iic_sda_output_low,true	//sda = 0
+	lshift regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_delay				//delay 2.5us
+	loop sim_iic_send_byte_loop
+	branch sim_iic_wait_ack
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_start:
+	call sim_iic_sda_output_high	//sda = 1
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low		//scl = 0
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_stop:
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_high	//sda = 1
+	branch sim_iic_delay				//delay 2.5us
+
+
+//scl = 1
+sim_iic_scl_output_high:
+	enable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//scl = 0
+sim_iic_scl_output_low:
+	disable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 1
+sim_iic_sda_output_high:
+	enable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 0
+sim_iic_sda_output_low:
+	disable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//input:pdata the gpio number
+//input:user flag, if enable user,config gpio output high level; if disable user, config gpio output low level
+//use reg:pdata,contr,contw,queue,rega
+sim_iic_config_gpio:
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset1 pdata
+	istore 1,temp
+	increase 4,temp
+	ifetch 1,temp
+	qsetflag user,pdata
+	istore 1,temp
+	rtn
+
+
+sim_iic_release_sda:
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset0 pdata
+	istore 1,temp
+	rtn	
+
+//get sda level
+//output:if sda high level ,pdata is 1;if sda low level ,pdata is 0
+//use reg:pdata,contr,contw,queue,rega,temp
+sim_iic_read_sda_level:
+	nop 4
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_in,temp
+	iadd temp,temp
+	setarg 0
+	ifetcht 1,temp
+	qisolate1 temp
+	setflag true,0,pdata
+	rtn	
+
+//delay 2.5us
+sim_iic_delay:
+//	nop 1
+	rtn
+
+/**********************************/
+
+
+
+usb_isr:
+	bpatch patch1e_6,mem_patch1e
+	hfetch 1,core_usb_status
+	isolate1 7,pdata
+	call usb_init,true
+	call usb_nak_state_judge
+	hfetch 1,core_usb_status
+	store 1,mem_usb_status
+	hfetch 1,core_usb_fifo_empty
+	store 1,mem_usb_fifo_empty
+	hstore 1,core_usb_fifo_empty
+	pinvert
+	fetcht 1,mem_usb_tx_wait
+	iand temp,pdata
+	store 1,mem_usb_tx_wait
+	hjam 0xe0,core_usb_status
+	fetch 1,mem_usb_fifo_empty
+	compare 0x1,pdata,0x1
+	call usb0_fifo_empty,true
+	fetch 1,mem_usb_status	
+	compare 0x1,pdata,0x1  
+	call usb_status1,true
+	call usb_tx
+	branch usb_nak_state
+
+usb_init:
+	bpatch patch1e_7,mem_patch1e
+	call usb_init_param
+	hjam 0x00,core_usb_config
+	nop 10000
+	hjam 0xc0,core_usb_trig
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_USB,pdata
+	hstore 2,core_clkoff
+	hjam 0x3c,core_usb_config
+	hjam 0xff,core_usb_status
+	hjam 0xff,core_usb_fifo_empty
+	hjam 0,core_usb_addr
+	jam DEV_DEFAULT,mem_usb0_state
+	setarg mem_usb_clear_mem_end
+	arg mem_usb_clear_mem_start,contw
+	isub contw,loopcnt
+	branch clear_mem
+
+usb_offline_check_init:
+	fetcht 1,mem_usb_offline_check_gpio
+	branch gpio_config_input
+usb_offline_state:
+	fetch 1,mem_usb_device_enumeration_endflag
+	rtn blank
+	fetcht 1,mem_usb_offline_check_gpio
+	call gpio_get_bit
+	branch usb_init,true
+	rtn
+
+
+usb_nak_state:
+	arg TIMER_NAK,queue
+	call timer_check
+	nrtn blank
+	fetch 1 ,mem_usb_wakestate_onetime_flag
+	nrtn blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	ncall usb_mac_wakeup_judge,blank
+	rtn
+
+usb_mem_devicedesc_init:
+	arg mem_devicedesc,contw
+	setsect 0,0x11212
+	setsect 1,0x8000
+	setsect 2,0x0
+	setsect 3,0x10000
+	istore 9,contw
+	setsect 0,0x22412
+	setsect 1,0x8604
+	setsect 2,0x1000
+	setsect 3,0x8
+	istore 9,contw
+	setsect 0,0x1
+	istore 1,contw
+	rtn
+	
+usb_init_param:
+	jam 2,mem_usb0_state
+	setarg 0x0
+	store 1,mem_remain
+	store 2,mem_usb_zero_packet
+	pincrease 1
+	store 2,mem_usb_ones_packet
+	pincrease 1
+	store 2,mem_usb_two_packet
+	setarg HID_KBDATA_ADDR
+	store 2,mem_hidreportdesc_kb
+	setarg HID_MSDATA_ADDR
+	store 2,mem_hidreportdesc_m
+	arg mem_confdesc,contw
+	arg HID_CONFDATA_ADDR,contr
+	call memcpy64
+	fetch 1,mem_usb_tx_interval
+	ncall usb_tx_interval_config,blank
+	branch usb_mem_devicedesc_init
+	
+usb_tx_interval_config:
+	store 1,mem_confdesc+34
+	store 1,mem_confdesc+59
+	rtn
+usb_nak_state_judge:
+	hfetch 1,core_usb_status
+	bbit1 USB_STATUS_NAK,usb_nak_state_timer_init
+	rtn
+	
+usb_nak_state_timer_init:
+	call usb0_attached_state_judge
+	call timer_reinit
+	setarg TIMER_NAK_DELAY
+	arg TIMER_NAK,queue
+	branch timer_init
+	
+usb0_attached_state_judge:
+	fetch 1,mem_usb_state
+	bne USB_CONNECTED,usb_clear_halt_dispose
+	jam 0,mem_usb_wakestate_onetime_flag
+	jam 0,mem_usb_mac_wakeup_trig
+	rtn
+usb_clear_halt_dispose:
+	fetch 1,mem_usb_clear_halt
+	rtn blank
+	jam 0,mem_usb_clear_halt
+	jam USB_CONNECTED,mem_usb_state
+	jam 1,mem_usb_device_enumeration_endflag
+	rtn
+    	
+usb0_fifo_empty:
+	hjam 0x1,core_usb_fifo_empty
+	branch usb0_tx
+
+usb_rx_no_data:
+	fetch 1,mem_usb_status
+	bbit1 USB_STATUS_SETUP,usb_class_type
+	rtn
+
+usb_rx_read:
+	hfetch 1,core_usb_ep
+	istore 1,contw
+	loop usb_rx_read
+	rtn
+
+usb_status1:
+	bpatch patch1f_0,mem_patch1f
+	hjam 0x11,core_usb_status
+	hfetch 1,core_usb_ep_len
+	store 1,mem_usb_read_len
+	copy pdata,loopcnt
+	branch usb_rx_no_data,blank
+	arg mem_usb_setup,contw
+	call usb_rx_read
+	fetch 1,mem_usb_read_len
+	sub pdata,7,null
+	rtn positive
+usb_class_type:
+	fetch 1,mem_usb_setup_bmRequestType
+	and_into 0x80,pdata
+	beq IN_DEVICE,usb_in_device
+	beq OUT_DEVICE,usb_out_device
+	branch assert
+
+usb_in_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_in_standard_req
+	beq CLASS_REQ,usb_in_class_req
+	beq MANUFACTURER_REQ,usb_in_manufacturer_req
+	branch assert
+
+usb_out_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_out_standard_req
+	beq CLASS_REQ,usb_out_class_req	
+	beq MANUFACTURER_REQ,usb_out_manufacturer_req
+	branch assert
+
+usb_in_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_CONFIGURATION,usb0_request_get_configuration
+	beq GET_DESCRIPTOR,usb0_request_get_descriptor
+	beq GET_INTERFACE,usb0_request_get_interface
+	beq GET_STATUS,usb0_request_get_status
+	branch usb0_force_stall
+
+usb_in_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_IDLE,usb_get_idle
+	beq GET_REPORT,usb_get_report
+	beq GET_PROTOCOL,usb_get_protocol_req
+	branch usb0_force_stall
+
+usb_in_manufacturer_req:
+	branch usb0_force_stall
+
+usb_out_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq CLEAR_FEATURE,usb0_request_clear_feature
+	beq SET_FEATURE,usb0_request_set_feature
+	beq SET_ADDRESS,usb0_request_set_address
+	beq SET_CONFIGURATION,usb0_request_set_configuration
+	beq SET_INTERFACE,usb0_request_set_interface
+	beq SET_DESCRIPTOR,usb0_force_stall
+	branch usb0_force_stall
+
+usb_out_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq SET_IDLE,usb_set_idle
+	beq SET_REPORT,usb_set_report
+	beq SET_PROTOCOL,usb_set_protocol_req
+	branch usb0_force_stall
+
+usb_out_manufacturer_req:
+	branch usb0_force_stall
+
+usb0_force_stall:
+	hfetch 1,core_usb_stall
+	set1 0,pdata
+	hstore 1,core_usb_stall
+	branch usb0_reply_zerolen
+	
+usb0_reply_zerolen:
+	hjam 0x40,core_usb_clear
+	rtn
+
+usb0_request_get_configuration:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb0_state
+	beq DEV_CONFIGURED,usb0_request_get_cfg_dev_cfg
+	beq DEV_ADDRESS,usb0_request_get_cfg_dev_addr
+	branch usb0_force_stall
+//Return current config : 1
+usb0_request_get_cfg_dev_cfg:
+	arg 1,regb
+	branch usb_send_ones_packet
+//Config do not work, return default config : 0
+usb0_request_get_cfg_dev_addr:
+	arg 1,regb
+	branch usb_send_zero_packet
+
+usb0_request_get_descriptor:
+	bpatch patch1f_1,mem_patch1f
+	set0 mark_isstr,mark
+	fetch 1,mem_usb_setup_bValueH
+	beq DSC_DEVICE,dsc_device_info
+	beq DSC_CONFIG,dsc_config_info	
+	beq DSC_STRING,dsc_string_info
+	beq DSC_HID,dsc_hid_info
+	beq DSC_HID_REPORT,dsc_hid_report_info
+	branch usb0_force_stall
+
+dsc_hid_info:
+	jam 0,mem_usb_get_protocol_flag
+	fetch 1,mem_usb_setup_wIndex
+	beq 0,dsc_hid_info_interface0
+	beq 1,dsc_hid_info_interface1
+	branch usb0_force_stall
+//class_descriptor hid_descriptor--keyboard 
+dsc_hid_info_interface0:	
+	arg mem_confdesc+19,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+//class_descriptor hid_descriptor--mouse 
+dsc_hid_info_interface1:	
+	arg mem_confdesc+44,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+
+dsc_device_info:
+//input : pdata : data poniter 
+//input : temp: data len
+//sets the data pointer and len to correct descriptor
+	fetch 1,mem_usb_set_high_addr_flag
+	ncall usb_set_high_addr,blank
+	setarg mem_devicedesc
+	fetcht 1,mem_devicedesc
+dsc_info_set_data_len:
+	store 2,mem_dsc_info_data_pointer
+	storet 1,mem_dsc_info_len
+	fetch 1,mem_usb_setup_bLength
+	isub temp,null
+	nbranch dsc_info_set_current_data_len,positive
+dsc_info_set_initial_data_len:
+	fetch 1,mem_dsc_info_len
+dsc_info_set_data_size_completed:	
+	iforce regb
+	fetch 2,mem_dsc_info_data_pointer
+	add pdata,1,pdata
+	iforce rega
+	branch usb0_respond
+dsc_info_set_current_data_len:
+	fetch 1,mem_usb_setup_bLength
+	branch dsc_info_set_data_size_completed
+
+usb_set_high_addr:
+	hfetch 1,core_usb_addr
+	ncall usb0_set_addr,blank
+	jam 0,mem_usb_set_high_addr_flag
+	rtn
+usb0_set_addr:
+	hfetch 1,core_usb_addr
+   	set1 7,pdata
+	hstore 1,core_usb_addr
+	rtn
+
+dsc_config_info:
+	setarg mem_confdesc
+	fetcht 1,mem_confdesc
+	branch dsc_info_set_data_len
+
+dsc_string_info:
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,3,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb_setup_bValue
+	arg mem_string0,rega
+	beq 0,usb0_respond_length	
+	set1 mark_isstr,mark
+	arg mem_string1,rega
+	beq 1,usb0_respond_length
+	arg mem_string2,rega
+	beq 2,usb0_respond_length
+	arg mem_string3,rega
+	beq 3,usb0_respond_length
+	rtn
+
+dsc_hid_report_info:
+	fetch 2,mem_usb_setup_wIndex
+	beq 1,dsc_hid_report_info0
+	fetch 2,mem_hidreportdesc_kb
+	copy pdata,rega
+//	arg mem_hidreportdesc_kb,rega
+	branch usb0_respond_length
+dsc_hid_report_info0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam USB_GOT_REPORT_REQ,mem_usb_state
+	fetch 2,mem_hidreportdesc_m
+	copy pdata,rega
+//	arg mem_hidreportdesc_m,rega
+	branch usb0_respond_length
+
+
+usb0_request_get_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	arg 1,regb
+	branch usb_send_zero_packet
+
+
+usb0_request_get_status:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 2,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq IN_DEVICE,usb0_get_status_in_device
+	beq IN_INTERFACE,usb0_get_status_in_interface
+	beq IN_ENDPOINT,usb0_get_status_in_endpoint
+	branch usb0_force_stall
+
+usb0_get_status_in_device:
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	arg 2,regb
+	fetch 1,mem_usb_remote_wakeup
+	beq 0x01,usb_send_two_packet
+//regb:length
+usb_send_zero_packet:
+	arg mem_usb_zero_packet,rega
+	branch usb0_respond
+usb_send_ones_packet:
+	arg mem_usb_ones_packet,rega
+	branch usb0_respond
+usb_send_two_packet:
+	arg mem_usb_two_packet,rega
+	branch usb0_respond
+
+usb0_get_status_in_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	arg 2,regb
+	branch usb_send_zero_packet
+
+usb0_get_status_in_endpoint:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_get_status_in_ep_in_ep1
+	beq IN_EP2,usb0_get_status_in_ep_in_ep2
+	beq IN_EP3,usb0_get_status_in_ep_in_ep3
+	and_into 0x7f,pdata
+	beq 0x00,usb0_get_status_in_ep_in_ep0
+	branch usb0_force_stall
+	
+usb0_get_status_in_ep_in_ep0:
+	fetch 1,mem_usb_ep0_stall_status
+usb0_get_status_in_ep_in_ack:
+	arg 2,regb
+	beq 1,usb_send_ones_packet
+	branch usb_send_zero_packet
+usb0_get_status_in_ep_in_ep1:
+	fetch 1,mem_usb_ep1_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep2:
+	fetch 1,mem_usb_ep2_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep3:
+	fetch 1,mem_usb_ep3_stall_status
+	branch usb0_get_status_in_ep_in_ack
+
+usb_get_idle:
+	jam 1,mem_usb_idle_flag
+	arg mem_usb_idle_rate,rega
+	arg 1,regb
+	branch usb0_respond
+
+usb_get_report:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_GET_REPORT,temp
+	isub temp,null
+	nbranch usb0_force_stall,zero
+	set0 mark_isstr,mark
+usb_get_report_dispose:	
+	fetch 1,mem_usb0_data_ready_report
+	nbranch usb_get_report_data_success,blank
+	jam PC_GET_NONDATA,mem_usb0_get_report_data
+usb_get_report_send_data:
+	fetch 1,mem_usb_setup_bLength
+	iforce regb
+	arg mem_usb0_get_report_data,rega
+	call usb0_respond
+usb_get_report_data_release:	
+	arg mem_usb0_get_report_data,contw
+	arg 8,loopcnt
+	branch memset0
+usb_get_report_data_success:
+	jam 0,mem_usb0_data_ready_report
+	jam PC_GET_DATA,mem_usb0_get_report_data
+	branch usb_get_report_send_data
+
+usb_get_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	jam 1,mem_usb_get_protocol_flag
+	arg 1,regb //length
+	fetch 1,mem_usb_set_protocol_value
+	beq 0,usb_get_report_protocol
+	beq 1,usb_get_boot_protocol
+	branch usb_send_zero_packet
+usb_get_report_protocol:
+	branch usb_send_ones_packet
+usb_get_boot_protocol:
+	branch usb_send_zero_packet
+
+
+
+//in device
+usb0_request_clear_feature:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_clear_feature_out_device
+	beq OUT_INTERFACE,usb0_request_clear_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_clear_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set0 7,pdata
+	hstore 1,core_usb_config
+	jam 0,mem_usb_remote_wakeup
+	jam 1,mem_usb_clear_remote_wakeup
+	branch usb0_reply_zerolen
+
+usb0_request_clear_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_off
+	beq IN_EP2,usb0_force_stall_ep2_in_off
+	beq IN_EP3,usb0_force_stall_ep3_in_off
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_off
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_off:
+	jam 0,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_off:
+	jam 0,mem_usb_ep1_stall_status
+usb0_force_stall_ep1_in_off_reply:	
+	jam 1,mem_usb_clear_halt
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_off:
+	jam 0,mem_usb_ep2_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+usb0_force_stall_ep3_in_off:
+	jam 0,mem_usb_ep3_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+
+
+usb0_request_set_feature:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_set_feature_out_device
+	beq OUT_INTERFACE,usb0_request_set_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_set_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_remote_wakeup
+	jam USB_SLEEP,mem_usb_state
+	jam 0,mem_usb_tx_win_enable
+	call usb0_reply_zerolen
+usb_wakeup_timer_reinit:
+	call timer_reinit
+	setarg TIMER_WAKEUP_DELAY
+	arg TIMER_WAKEUP,queue
+	branch timer_init
+	
+usb0_request_set_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_on
+	beq IN_EP2,usb0_force_stall_ep2_in_on
+	beq IN_EP3,usb0_force_stall_ep3_in_on
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_on
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_on:
+	jam 1,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_on:
+	jam 1,mem_usb_ep1_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_on:
+	jam 1,mem_usb_ep2_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep3_in_on:
+	jam 1,mem_usb_ep3_stall_status
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_address:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	and_into 0x80,pdata
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb_usb0_state_set_dev_addr
+usb_usb0_state_set_dev_default:	
+	jam DEV_DEFAULT,mem_usb0_state
+usb0_request_set_wait_address:
+	fetch 1,mem_usb_setup_bValue
+	hstore 1,core_usb_addr
+	call usb0_reply_zerolen
+	jam 1,mem_usb_set_high_addr_flag
+	rtn
+usb_usb0_state_set_dev_addr:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_request_set_wait_address
+
+
+usb0_request_set_configuration:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,USB_MAX_NUM_CFG,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb0_state
+	beq DEV_ADDRESS,usb0_request_set_cfg_addr_state
+	beq DEV_CONFIGURED,usb0_request_set_cfg_cfg_state
+	branch usb0_force_stall
+ // This software only supports config = 0,1
+usb0_request_set_cfg_addr_state:
+usb0_request_set_cfg_cfg_state:
+	fetch 1,mem_usb_setup_bValue	//1:Configured state   0:Address state
+	beq 0,usb0_request_set_cfg_stay_addr_state
+	jam DEV_CONFIGURED,mem_usb0_state
+	branch usb0_reply_zerolen
+usb0_request_set_cfg_stay_addr_state:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	branch usb0_reply_zerolen
+
+
+usb_set_idle:
+	jam 1,mem_usb_idle_flag
+	fetch 1,mem_usb_setup_bValueH
+	store 1,mem_usb_idle_rate
+	fetch 1,mem_usb_setup_wIndex
+	sub pdata,1,null
+	call usb_clear_remote_wakeup_set0,zero
+	fetch 1,mem_usb_state
+	bne USB_RESUME,usb0_reply_zerolen
+	jam USB_CONNECTED,mem_usb_state
+	call usb0_reply_zerolen
+	nop 30000
+	nop 30000
+	rtn
+usb_clear_remote_wakeup_set0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam 0,mem_usb_clear_remote_wakeup
+	jam USB_RESUME,mem_usb_state
+	rtn
+
+
+usb_set_report:
+	jam 1,mem_usb0_get_set_report
+	call usb_set_report_resume_judge
+	fetch 2,mem_usb_setup_bValue
+	store 2,mem_usb_setup_bValue_temp
+	fetch 1,mem_usb_setup_bLength	//max 0x40
+	iforce loopcnt
+	arg mem_usb0_setup,contr
+	arg mem_usb0_set_report_data,contw
+	call memcpy
+	branch usb0_reply_zerolen
+	
+usb_set_report_resume_judge:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_SET_REPORT_bValue,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_wIndex
+	arg PC_SET_REPORT_wIndex,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_bLength
+	arg PC_SET_REPORT_bLength,temp
+	isub temp,null
+	nrtn zero
+	jam 1,mem_usb_tx_win_enable
+	rtn
+
+
+usb_set_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	beq BOOT_PROTOCOL,usb_set_boot_protocol
+	beq REPORT_PROTOCOL,usb_set_report_protocol
+	branch usb0_force_stall
+usb_set_boot_protocol:
+	jam 0,mem_usb_set_protocol_status
+	jam 1,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+usb_set_report_protocol:
+	jam 1,mem_usb_tx_mac_enable
+	jam 1,mem_usb_set_protocol_status
+	jam 0,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+
+
+usb0_respond_length:
+	ifetch 1,rega
+	iforce regb
+	increase 1,rega
+//rega=*buff,reb=size	
+usb0_respond:
+	bpatch patch1f_2,mem_patch1f
+	bmark0 mark_isstr,usb0_respond0
+	add regb,1,pdata
+	lshift pdata,pdata
+	hstore 1,core_usb_dfifo0 
+	hjam 3,core_usb_dfifo0
+	fetch 1,mem_usb_setup_bLength
+	increase -2,pdata
+	rshift pdata,pdata
+	store 1,mem_usb_setup_bLength
+	beq 0,usb_no_respond_data
+usb0_respond0:
+	fetch 2,mem_usb_setup_bLength
+	isub regb,null
+	branch usb0_respond1,positive
+	copy pdata,regb	
+usb0_respond1:
+	deposit rega
+	store 2,mem_bufptr
+	deposit regb
+	store 1,mem_remain
+	branch usb0_tx
+
+usb_no_respond_data:
+	arg 0,queue
+	branch usb_trig
+
+//mem_bufptr=*buff,mem_remain=size,loopcnt=i,rega=len
+usb0_tx:
+	bpatch patch1f_3,mem_patch1f
+	fetch 1,mem_remain
+	rtn blank
+	copy pdata,loopcnt
+	sub pdata,EP0_PACKET_SIZE,null
+	branch usb0_tx_info,positive
+	arg EP0_PACKET_SIZE,loopcnt	
+usb0_tx_info:
+	fetch 1,mem_remain
+	isub loopcnt,pdata
+	store 1,mem_remain//mem_remain -= len
+	fetch 2,mem_bufptr
+	copy pdata,contr	
+usb0_tx0:
+	ifetch 1,contr
+	hstore 1,core_usb_dfifo0
+	bmark0 mark_isstr,usb0_tx1
+	hjam 0,core_usb_dfifo0
+usb0_tx1:
+	loop usb0_tx0
+	copy contr,pdata
+	store 2,mem_bufptr//mem_bufptr += len
+	arg 0,queue
+	call usb_trig
+	fetch 1,mem_remain
+	nrtn blank
+	fetch 1,mem_usb_state
+	rtnne USB_GOT_REPORT_REQ
+	jam USB_CONNECTED,mem_usb_state
+	rtn
+
+
+usb_tx_ep1:
+	arg core_usb_dfifo1,rega
+	arg 1,queue
+usb_tx_loop:
+	ifetch 1,contr
+	istore 1,rega
+	loop usb_tx_loop
+usb_trig:
+	setarg 0
+	qset1 pdata
+	hstore 1,core_usb_trig
+	fetcht 1,mem_usb_tx_wait
+	ior temp,pdata
+	store 1,mem_usb_tx_wait
+	rtn
+
+usb_tx_ep2:
+	arg 2,queue
+	arg core_usb_dfifo2,rega
+	branch usb_tx_loop
+
+usb_tx:
+	bpatch patch1f_4,mem_patch1f
+	fetch 1,mem_usb_tx_enable
+	rtn blank
+	fetch 1,mem_usb_tx_wait
+	nbranch usb_inwake_state_tx_dispose,blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	branch usb_tx_fifo_release,blank
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_windows_wakeup
+	bne USB_CONNECTED,usb_tx_fifo_release
+	fetch 1,mem_usb_clear_remote_wakeup
+	nbranch usb_tx_fifo_release,blank
+	call usb_tx_data_ep1
+	branch usb_tx_data_ep2
+
+usb_tx_data_ep1:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 1
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 1
+	fetch 1,mem_usb_tx_enable
+	set0 1,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep1_data
+	rtn blank
+	beq USB_EP1_KB,usb_tx_kb_normal_data
+	branch assert
+
+usb_tx_data_ep2:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 2
+	fetch 1,mem_usb_tx_enable
+	set0 2,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep2_data
+	rtn blank
+	beq USB_EP2_MS,usb_tx_ms_data
+	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
+	branch assert
+
+usb_tx_fifo_release:
+	//clear mem_usb_mouse_data/mem_usb_kb_data/mem_usb_kb_multikey
+	arg mem_usb_mouse_data,contw
+	arg 6,loopcnt
+	branch memset0
+	
+usb_tx_ms_data:
+	fetch 1,mem_usb_idle_flag
+	fetcht 1,mem_usb_get_protocol_flag
+	iand temp,pdata
+	branch usb_tx_ms_data_normal_mode,blank
+	fetcht 1,mem_usb_set_protocol_status
+	iadd temp,pdata
+	beq MAC_BOOT_MODE,usb_tx_ms_data_mac_boot_mode
+	branch usb_tx_ms_data_normal_mode
+
+usb_tx_ms_data_mac_boot_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_ms_data_mac_boot_regroup:
+	fetch 1,mem_usb_mouse_data+1	//key
+	beq R_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	beq LR_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	fetch 1,mem_usb_mouse_data+1	//key
+	store 1,mem_usb_mouse_data
+	fetch 1,mem_usb_mouse_data+2	//x low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+4	//y low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+6	//wheel
+	istore 1,contw
+	arg 4,loopcnt
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+	
+usb_tx_ms_data_normal_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:	
+	arg 8,loopcnt		
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_multikey_data:
+	jam 0,mem_usb_ep2_data
+	arg 3,loopcnt
+	arg mem_usb_kb_multikey,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_normal_data:
+	jam 0,mem_usb_ep1_data
+	arg 8,loopcnt
+	arg mem_usb_kb_data,contr
+	branch usb_tx_ep1
+
+usb_inwake_state_tx_dispose:
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_clear_tx_wait
+	beq USB_CONNECTED, usb_mac_wakeup_trig
+	rtn
+usb_clear_tx_wait:
+	jam 0,mem_usb_tx_wait
+	rtn	
+usb_mac_wakeup_trig:
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_mac_wakeup_trig
+	rtn
+
+usb_mac_wakeup_judge:
+	fetch 1,mem_usb_state
+	rtneq USB_SLEEP
+	beq USB_CONNECTED,usb_mac_wakeup
+	rtn
+usb_mac_wakeup:
+	fetch 1,mem_usb_mac_wakeup_trig
+	rtn blank
+	jam 1,mem_usb_wakestate_onetime_flag
+	branch usb_wakeup
+
+usb_windows_wakeup:
+	arg TIMER_WAKEUP,queue
+	call timer_check
+	nrtn blank
+usb_wakeup:
+	hfetch 1,core_usb_config
+	rtnbit0 7	//endpoint wakeup enable
+	hjam 0xfc,core_usb_config
+	nop 30000
+	hjam 0x3c,core_usb_config
+	rtn
+
+
+
+
+
+
+hci_rx_h4:
+	bpatch patch1f_5,mem_patch1f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+hci_rx_h4_1:
+	call hci_h4_parse_packet
+	ncall h4_rx_discard_packet,user
+	rtn
+	
+hci_h4_parse_packet:
+	bpatch patch1f_6,mem_patch1f
+	copy contru,rega
+	arg 4,temp
+	ifetch 1,contru //type
+	beq HCI_H4_TYPE_CMD,hci_h4_parse_packet_wait_len
+	increase 1,temp //acl packet has 2 bytes for length
+	beq HCI_H4_TYPE_ACL,hci_h4_parse_packet_wait_len
+	copy contru,pdata
+	hstore 2,core_uart_rrptr
+	rtn
+hci_h4_parse_packet_wait_len:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait_len,positive // while(rxitems >= 4 or 5);
+	//Make sure length has been recieved.
+	disable user
+	copy rega,contru
+	call h4_get_rx_payload_len
+	iadd temp,temp
+hci_h4_parse_packet_wait:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait,positive//wait for rcv a complete packet
+	copy rega,contru
+	ifetch 1,contru //HCI packet type
+	beq  HCI_H4_TYPE_CMD,process_hci_cmd
+	branch assert
+	
+h4_rx_discard_packet:
+	bpatch patch1f_7,mem_patch1f
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	call h4_get_rx_payload_len
+	iadd contru,contru
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+
+//contru = pointer to packet start
+//return len via pdata
+h4_get_rx_payload_len:
+	ifetch 1,contru
+	increase 2,contru
+	beq HCI_H4_TYPE_ACL,h4_get_rx_payload_len_acl
+	ifetch 1,contru
+	rtn
+h4_get_rx_payload_len_acl:
+	ifetch 2,contru
+	rtn
+
+h4_get_tx_ptr:
+	hfetch 2,core_uart_twptr
+	increase -5,contwu
+	iadd contwu,contwu
+	rtn
+
+h4_send_packet_event:
+	arg HCI_H4_TYPE_EVENT,temp //type
+	branch h4_send_packet
+h4_send_packet_acl: //upgoing ACL
+	arg HCI_H4_TYPE_ACL,temp //type
+h4_send_packet:
+	bpatchx patch20_0,mem_patch20
+	increase 1,loopcnt
+	hfetch 2,core_uart_twptr
+	copy pdata,contwu
+	copy loopcnt,pdata //length
+	istoret 1,contwu //packet type in temp
+	increase -1,pdata
+	iadd contwu,contwu
+	copy contwu,pdata
+	store 2,mem_hci_acl_tx_trigger_wptr
+	copy temp,pdata
+	rtneq HCI_H4_TYPE_ACL //not send acl packet immediately
+	fetch 2,mem_hci_acl_tx_trigger_wptr
+	hstore 2,core_uart_twptr
+	branch h4_send_acl_trigger_clear
+	
+	
+h4_send_acl_trigger_clear:
+	setarg 0
+	store 2,mem_hci_acl_tx_trigger_wptr
+	rtn
+
+	
+/*********************************/
+/**********   HCI  *****************/
+/*********************************/
+
+hci_init:
+	rtn wake
+	setarg hci_idle_dispatch
+	store 2,mem_cb_idle_process
+
+	setarg uart_baud_115200
+	store uart_baud_len,mem_baud
+hci_lpm_init:
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rsaddr
+	setarg mem_h5rx_buf_end
+	hstore 2,core_uart_readdr
+	setarg mem_h5tx_buf
+	hstore 2,core_uart_tsaddr
+	call hci_sel_init
+hci_reinit:
+	hjam 0x0,core_uart_ctrl
+ 	setarg mem_h5tx_buf
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rrptr
+	store 2,mem_h5rx_rptr
+hci_init_common:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	hjam uartclk_dpll,core_uart_clksel
+	hjam uart_ctrl_h4,core_uart_ctrl
+	rtn
+
+hci_sel_init:
+	setarg mem_h5tx_buf_end
+	hstore 2,core_uart_teaddr
+	hfetch 1,core_gpio_sel1
+	or_into 0x07,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+	
+	
+hci_rx_packet:
+	bpatchx patch20_1,mem_patch20
+	hfetch 1,core_uart_status
+	iforce regb
+	bbit0 uart_status_rx_fifo_empty,hci_rx_packet_cont
+	hfetch 2,core_uart_rxitems
+	iforce regc
+	arg 0x44f,temp
+	isub temp,null
+	nrtn zero
+hci_rx_packet_cont:
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	branch hci_rx_h4
+	
+uart_send_byte:
+	hfetcht 1,core_uart_status
+	isolate1 6,temp
+	branch uart_send_byte,true
+	hstore 1,core_uart_txd
+	rtn
+	
+process_hci_cmd:
+	bpatchx patch20_2,mem_patch20
+	fetch 1,mem_hci_cmd
+	branch process_hci_cmd_cont,blank
+	enable user					/* last command still there */
+	rtn
+process_hci_cmd_cont:
+	ifetch 2,contru
+	iforce alarm				/* alarm is used for sending */
+	iforce queue				/* queue is OCF */
+	ifetch 1,contru		/* skip hci length */
+	iforce temp			/* temp has the length */
+	rshift2 alarm,pdata
+	rshift8 pdata,pdata
+	beq HCI_OGF_VENDOR_SPECIFIC,phci_grp_vendor_specific
+	rtn
+
+
+phci_grp_vendor_specific:
+	bpatchx patch20_3,mem_patch20
+	deposit queue
+	beq HCI_VENDOR_CMD_RESET,hci_normal_reply
+	beq HCI_VENDOR_CMD_CHIPID,phci_grp_vendor_chipid
+	beq HCI_VENDOR_CMD_BAUD,phci_grp_vendor_baud
+	beq HCI_VENDOR_CMD_PATCH,phci_grp_vendor_patch
+	beq HCI_VENDOR_CMD_PATCH_DONE,phci_grp_vendor_done
+	beq HCI_VENDOR_CMD_ECHO,hci_normal_reply
+	beq HCI_VENDOR_CMD_BDADDR,phci_grp_vendor_bdaddr
+	beq HCI_VENDOR_CMD_ENTER_LPM,phci_grp_vendor_enter_lpm
+	
+	beq HCI_VENDOR_CMD_MEM,phci_grp_vendor_mem
+	beq HCI_VENDOR_CMD_EEP,phci_grp_vendor_eep
+	beq HCI_VENDOR_CMD_PATCH_SEC_INIT,phci_grp_vendor_patch_sec_init
+	beq HCI_VENDOR_CMD_PATCH_SEC,phci_grp_vendor_patch_sec
+	branch hci_normal_reply
+
+phci_grp_vendor_enter_lpm:
+	call hci_normal_reply
+	call wait_uarttx
+	call gpio_pu_uart_tx
+hci_enter_lpm:
+	call app_put_lpm_wake_lock
+	call app_l2cap_flow_control_enable
+	branch gpio_rx_config_input_with_pu
+
+hci_exit_lpm:
+	jam HCI_RX_READY,mem_hci_lt_rx_state
+	call app_get_lpm_wake_lock
+	call hci_lpm_init
+	branch app_l2cap_flow_control_disable
+	
+phci_grp_vendor_chipid:
+	call hci_get_cmd_complete_ptr
+	hfetch 2,core_chipid
+	istore 2,contwu
+	force 6,loopcnt
+	branch hci_command_complete
+	
+phci_grp_vendor_baud:
+	ifetch 2,contru
+	store 2,mem_baud
+	hstore 2,core_uart_baud
+	rtn
+
+
+phci_grp_vendor_patch_common:
+	//hjam 0x80,core_ucode_ctrl
+	ifetch 1,contru
+	copy pdata,temp //check sum via temp
+	hstore 1,core_ucode_low
+	ifetch 1,contru
+	iadd temp,temp
+	set1 7,pdata
+	hstore 1,core_ucode_ctrl
+	ifetch 1,contru
+	iadd temp,temp
+	copy pdata,loopcnt
+	rtn
+	
+phci_grp_vendor_patch:
+	bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+phci_grp_vendor_patch_loop:
+	ifetch 1,contru
+	hstore 1,core_ucode_data
+	iadd temp,temp
+	loop phci_grp_vendor_patch_loop
+phci_grp_vendor_patch_check_sum:	
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	branch hci_normal_reply
+
+	
+phci_grp_vendor_patch_sec:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+	store 8,mem_pdatatemp
+phci_grp_vendor_patch_sec_loop:
+	call do_aes_cbc	
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	storet 8,mem_temp
+	arg mem_temp_block2,contw
+	call store_aes_result
+	arg mem_temp_block2,rega
+	arg mem_temp_block0,regb
+	arg mem_temp_block3,contw
+	call xor16	
+	arg 16,loopcnt
+	arg mem_temp_block3,contr
+	call load_ucode_only_loop
+	fetcht 8,mem_temp
+	fetch 8,mem_pdatatemp
+	increase -16,pdata
+	store 8,mem_pdatatemp
+	nbranch phci_grp_vendor_patch_sec_loop,blank
+	branch phci_grp_vendor_patch_check_sum	
+	
+load_ucode_only_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_only_loop
+	rtn
+
+load_uart_sum_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop load_uart_sum_loop
+	rtn
+
+phci_grp_vendor_patch_sec_init:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	arg 0,temp
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	arg mem_temp_block0,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch phci_grp_vendor_patch_check_sum
+
+
+phci_grp_vendor_done:
+	arg 0x20,loopcnt    //patch switch length
+	arg mem_patch00,contw
+	arg 0,temp //checksum
+phci_grp_vendor_done_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop phci_grp_vendor_done_loop
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	hjam 0,core_ucode_ctrl
+	call hci_normal_reply
+	call h4_rx_discard_packet
+	call clear_key_buf
+	call wait_uarttx
+	branch soft_reset
+
+phci_grp_vendor_patch_bad:
+	hjam 0,core_ucode_ctrl
+	branch start
+	
+phci_grp_vendor_bdaddr:
+	ifetch 6,contru
+	store 6,mem_lap
+	branch hci_normal_reply
+
+
+phci_grp_vendor_mem:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	copy pdata,contw
+	call uart_copy_rx_bytes
+	branch hci_normal_reply
+
+
+phci_grp_vendor_eep:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	arg mem_l2cap_rxbuff1,contw
+	call uart_copy_rx_bytes
+	fetcht 1,mem_hci_curr_len
+	arg mem_l2cap_rxbuff1,rega
+	fetch 2,mem_hci_curr_target
+	branch iicd_write_ota_data
+	
+	
+
+	
+hci_normal_reply:
+	force 4,loopcnt
+hci_command_complete:	/* loopcnt is hci length */
+	call hci_get_payload_ptr
+	force 0x1,pdata
+	istore 1,contwu
+	deposit alarm
+	istore 3,contwu
+	force HCI_EVENT_COMMAND_COMPLETE,queue
+hci_send_event:		/* queue:event code, loopcnt: length */
+	bpatchx patch20_4,mem_patch20
+	call hci_get_packet_ptr
+	deposit queue
+	istore 1,contwu
+	deposit loopcnt
+	istore 1,contwu
+hci_send_event_raw:
+	force 5,queue
+	increase 2,loopcnt
+hci_send_packet:
+	branch h4_send_packet_event
+
+hci_send_commu_ready_event:
+	force HCI_EVENT_VENDOR_SPECIFIC,queue
+	call hci_get_payload_ptr
+	setarg HCI_VENDOR_EVENT_COMMU_READY
+	istore 1,contwu
+	force 1,loopcnt
+	branch hci_send_event
+
+hci_get_cmd_complete_ptr:
+	force 12,contwu
+	branch hci_get_tx_ptr
+
+hci_get_payload_ptr:
+	force 8,contwu
+	branch hci_get_tx_ptr
+
+hci_get_packet_ptr:
+	force 6,contwu
+hci_get_tx_ptr:
+	branch h4_get_tx_ptr
+
+	
+
+calc_tx_crc16:
+	pulse crc16
+	enable enable_crc
+crcloop:
+	ifetch 1,contwu
+	inject bucket,8
+	loop crcloop
+	enable enable_parity
+	inject bucket,16
+	disable enable_parity
+	disable enable_crc
+	disable crc16
+	byteswap pdata,pdata
+	rtn
+
+
+
+cmd_exit:
+	jam 0,mem_hci_cmd
+	rtn
+cmd_check_plap:
+	fetch 6,mem_hci_plap
+	fetcht 6,mem_plap
+	isub temp,null
+	rtn
+
+	
+	
+//enable ssp master sm
+cmd_pair:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,cmd_pair_passive
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+cmd_pair_passive:
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	setarg 0
+	setflag master,smap_lmptid,pdata		
+	store 1,mem_lmo_tid2
+	branch cmd_exit
+	rtn
+cmd_in_sniff:
+	jam LMP_SNIFF_REQ,mem_lmo_opcode2
+	arg mem_sniff_payload,contw
+	setarg 0
+	isolate1 27,clke_bt
+	setflag true,1,pdata		/* use init 2 if bit27 of clke is 1 */
+	istore 1,contw	
+	setarg 0	/* dsniff */
+	istore 2,contw
+	fetch 2,mem_sniff_param_interval	/* tsniff */
+	istore 2,contw
+	fetch 1,mem_sniff_param_attempt	/* attempt */
+	istore 2,contw
+	fetch 1,mem_sniff_param_timeout	/* timeout */
+	istore 2,contw
+	branch cmd_exit
+	
+cmd_exit_sniff:
+	jam LMP_UNSNIFF_REQ,mem_lmo_opcode2
+	branch cmd_exit
+
+hci_idle_dispatch:
+	call gpio_check_uart_state
+	rtn true
+	arg UART_WAKEUP_RX,temp
+	call gpio_get_bit
+	nbranch uart_wake_up,true
+	jam HCI_RX_WAKE,mem_hci_lt_rx_state
+	rtn
+uart_wake_up:
+	fetch 1,mem_hci_lt_rx_state
+	rtnne HCI_RX_WAKE
+	call hci_exit_lpm
+	branch hci_send_commu_ready_event
+	
+	
+/**
+* the following API is to send the HID data
+* 
+*/
+
+/**
+* the following API is to process the hid  rx data
+* 
+*/
+//handle the hid data
+
+hid_rx_process:
+	bpatchx patch20_5,mem_patch20
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_idle,hid_rx_process_handshake
+	beq hid_type_set_protocol,hid_rx_process_handshake
+	beq hid_type_data,hid_rx_process_data
+	beq HID_TYPE_SET_REPORT,hid_rx_process_set_report
+	beq HID_TYPE_CONTROL,hid_rx_process_hid_control
+	rtn
+
+hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,hid_rx_process_virtual_cable_unplug
+	beq HID_CONTROL_P_SUSPEND,hid_rx_process_suspend
+	rtn
+	
+hid_rx_process_virtual_cable_unplug:
+	jam BT_EVT_VIRTUAL_CABLE_UNPLUG,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 1,mem_device_option
+	rtnbit0 dvc_op_mouse
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,mouse_irtual_cable_unplug
+	rtn
+hid_rx_process_suspend:
+	rtn
+
+hid_rx_process_set_report:
+	call hid_rx_process_data
+	arg 0x01,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0x00
+	istore 1,contw
+	rtn
+
+hid_rx_process_handshake:
+	arg 1,regA//payload length
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	jam 1,mem_ui_data_txbuff_length
+	fetch 1,mem_hid_control_state
+	set1 l2cap_channel_hid_handshake_done
+	store 1,mem_hid_control_state
+	jam BT_EVT_HID_HANDSHAKE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+hid_rx_process_data:
+	ifetch 1,contr
+	beq HID_REPORT_ID_KB,hid_rx_process_data_hid_kb
+	rtn
+
+hid_rx_process_data_hid_kb:
+	rtn
+
+	
+hid_malloc_tx_buff:
+	call l2cap_malloc
+	copy rega,temp
+	storet 1,mem_ui_data_txbuff_length
+	copy pdata,contw
+	copy rega,pdata
+	istore 2,contw //hid payload length
+	rtn
+
+
+
+
+	
+	
+
+
+
+	
+    
+	
+
+/************************************/
+/*initialize L2CAP related variables*/
+/************************************/
+l2cap_init:
+	branch l2cap_init_wake,wake
+l2cap_init_work:
+	setarg mem_l2cap_xmem_end
+	arg mem_l2cap_xmem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+l2cap_init_wake:	
+	bpatchx patch20_6,mem_patch20
+	setarg mem_sdp_mem_end
+	arg mem_sdp_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	setarg mem_l2cap_mem_end
+	arg mem_l2cap_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	branch l2cap_lpm_load_txbuf
+	
+process_rx_l2cap_pkt:
+	bpatchx patch20_7,mem_patch20
+	copy contr,temp
+	//call l2cap_malloc_is_fifo_full
+	//nrtn blank
+	copy temp,contr
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_pkt_length
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_cid
+	deposit contr
+	store 2,mem_l2cap_payload_ptr
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,l2cap_rx_multiplexing
+	branch ml2cap_rx_multiplexing
+
+l2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch21_0,mem_patch21
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,l2cap_call_proc_signal
+l2cap_rx_multiplexing0:
+	beq L2CAP_SDP_channel,l2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+l2cap_check_map:
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	bpatchx patch21_1,mem_patch21
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	beq 0,set_pdata_0
+	beq 1,set_pdata_0
+	beq 2,set_pdata_0
+	beq 3,set_pdata_0
+	beq 0x81,set_pdata_0
+	beq 0xc0,set_pdata_0
+	beq 0x80,set_pdata_0
+	beq 0x40,set_pdata_0
+	rtn
+
+set_pdata_0:
+	setarg 0
+	rtn
+
+
+l2cap_call_proc_signal:
+	call l2cap_check_map
+	nrtn blank
+l2cap_call_proc_signal0:
+	call l2cap_malloc_signal_channel
+	call l2cap_process_signal_pkt
+	fetcht 2,mem_l2cap_signal_tx_length
+	branch l2cap_call_proc_no_reply,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+	
+l2cap_call_proc_sigal_pending:
+	fetch 1,mem_l2cap_pending_item
+	rtn blank
+	copy pdata,rega
+	bpatchx patch21_2,mem_patch21
+	fetch 4,mem_l2cap_sdpres_delay_time
+	arg 0x100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	jam 0,mem_l2cap_pending_item
+	copy rega,pdata
+	beq L2CAP_SDP_channel,l2cap_sdp_conn_succ
+	branch assert
+l2cap_sdp_conn_succ:
+	arg 0,debug
+	call l2cap_malloc_signal_channel
+	call restore_l2cap_req_param
+	call l2cap_get_signal_tx_payload
+	call save_cont_pointers
+	call send_connection_sdp_res
+	call l2cap_get_signal_tx_buff
+	//fetch 2,mem_l2cap_signal_tx_length
+	setarg 0x000c
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+
+
+l2cap_reset_sdp_map:
+	bpatchx patch21_3,mem_patch21
+	fetch 2,mem_sdp_tx_pkt_length
+	increase 4,pdata
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	add pdata,1,temp ///temp: how many128
+	arg mem_tx_fifo3,contr
+	ifetch 3,contr
+	rtn blank
+	store 3,mem_tx_fifo_map_temp
+	fetch 1,mem_tx_fifo_map_temp
+	copy pdata,rega
+	call check_l2cap_map
+	copy regb,pdata
+	store 1,mem_tx_fifo3
+	rtn
+
+check_l2cap_map:
+	arg 0,queue
+	arg 0,regb
+
+check_l2cap_map_loop:
+	sub queue,7,null
+	nrtn positive
+	qisolate1 rega
+	branch check_l2cap_map_used,true
+	branch check_l2cap_map_used2
+
+check_l2cap_map_used:
+	copy temp,pdata
+	branch check_l2cap_map_used2,blank
+	qset1 regb
+	increase -1,temp
+
+check_l2cap_map_used2:
+	increase 1,queue
+	branch check_l2cap_map_loop
+
+l2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_check_map
+	nrtn blank
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+	call l2cap_reset_sdp_map
+	branch l2cap_call_proc_sdp_common
+
+	
+ml2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+l2cap_call_proc_sdp_common:
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	branch l2cap_call_proc_no_reply,blank
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_hid:
+	call hid_rx_process
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_rfcomm:
+	bpatchx patch21_4,mem_patch21
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	call rfcomm_rx_process
+	fetch 1,mem_rfcomm_malloc_fail_flag
+	rtneq RFCOMM_MALLOC_FAIL
+	branch l2cap_rx_reset_state
+l2cap_call_proc_no_reply:
+	call l2cap_malloc_discard
+	//fall through
+l2cap_rx_reset_state:
+	setarg 0
+	store 2,mem_l2cap_rx_pkt_length
+	store 2,mem_l2cap_rx_cid
+	jam L2CAP_RX_DONE,mem_l2cap_rx_done
+	rtn
+/* To process one L2CAP signalling pkt consisting of 1 or more signalling commands.	*/
+l2cap_process_signal_pkt:
+	bpatchx patch21_5,mem_patch21
+	call l2cap_get_signal_tx_payload
+	force 0,regB
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+l2cap_process_signal_pkt_loop:
+	call l2cap_process_one_signal
+	deposit regC
+	increase -4,regC
+	increase -4,pdata
+	nbranch l2cap_process_signal_pkt_loop,blank
+	copy regB,pdata
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_process_one_signal:
+	bpatchx patch21_6,mem_patch21
+	ifetch 1,contr
+	beq signal_cmd_reject,l2cap_proc_signal_cmd_reject
+	beq signal_connect_req,l2cap_proc_signal_connect_req
+	beq signal_connect_rsp,l2cap_proc_signal_connect_rsp
+	beq signal_config_req,l2cap_proc_signal_config_req
+	beq signal_config_rsp,l2cap_proc_signal_config_rsp
+	beq signal_disconnect_req,l2cap_proc_signal_disconnect_req
+	beq signal_disconnect_rsp,l2cap_proc_signal_disconnect_rsp
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_echo_rsp,l2cap_proc_signal_echo_rsp
+	beq signal_info_req,l2cap_proc_signal_info_req
+	beq signal_info_rsp,l2cap_proc_signal_info_rsp
+	call l2cap_reject_command
+l2cap_process_one_signal_rtn:
+	rtn
+
+l2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	copy regc,pdata
+	isub rega,regc
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1, contw
+	ifetch 2,contr 
+l2cap_proc_signal_info_req_reply:
+	beq L2CAP_SIG_EXT_FEATRUE,l2cap_proc_signal_info_req_ext
+	beq L2CAP_SIG_FIX_FEATRUE,l2cap_proc_signal_info_req_fix
+	rtn
+l2cap_proc_signal_info_req_ext:
+	setarg 0x020008
+	istore 6, contw
+	setarg 0x0280
+	istore 4, contw
+	force 12,pdata
+	branch l2cap_proc_signal_info_req_common
+l2cap_proc_signal_info_req_fix:
+	setarg 0x3000c
+	istore 6, contw
+	setarg 0x0006
+	istore 8, contw
+	force 16,pdata
+l2cap_proc_signal_info_req_common:
+	iadd regb,regb
+	branch l2cap_process_one_signal_rtn
+	
+ml2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	ifetch 2,contr
+	store 2,mem_temp
+	copy regc,pdata
+	isub rega,regc 
+	call l2cap_get_signal_tx_payload
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw 
+	fetch 2,mem_temp
+	branch l2cap_proc_signal_info_req_reply
+
+
+/*  Respond to the command reject signal sent from the remote BD.   */
+l2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	copy regC,pdata
+	isub regA,regC
+l2cap_proc_signal_cmd_reject_rtn:
+	branch l2cap_process_one_signal_rtn
+/* Respond to an L2CAP connection request from remote BD. (generate a connection_rsp)	*/
+l2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//fetch 6,mem_inquiry_bd_addr
+  	//store 6,mem_master_paged_bd_addr
+  	call load_cont_pointers
+	arg 0,debug
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,temp //PSM
+	ifetch 2,contr
+	copy pdata,timeup
+	bpatchx patch21_7,mem_patch21
+	copy temp,pdata
+	beq PSM_SDP,l2cap_proc_signal_connect_req_sdp
+	beq PSM_RFCOMM,l2cap_proc_signal_connect_req_rfcomm
+	beq PSM_HID_control,l2cap_proc_signal_connect_req_hid_ctrl
+	beq PSM_HID_interrupt,l2cap_proc_signal_connect_req_hid_int
+	call l2cap_reject_command
+	branch l2cap_proc_signal_connect_req_rtn
+
+l2cap_proc_signal_connect_req_sdp:
+	call save_cont_pointers
+	arg L2CAP_SDP_channel,temp
+	fetch 2,mem_sdp_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	copy clkn_bt,pdata
+	store 4,mem_l2cap_sdpres_delay_time
+	call store_l2cap_req_param
+	branch  send_connection_pending
+
+store_l2cap_req_param:
+	storet 2,mem_psm
+	deposit timeup
+	store 2,mem_scid
+	deposit rega
+	store 2,mem_cmd_length
+	deposit regb
+	store 2,mem_tt2
+	deposit regc
+	store 2,mem_tt3
+	deposit queue
+	store 2,mem_id
+	rtn
+
+restore_l2cap_req_param:
+	fetcht 2,mem_psm
+	fetch 2,mem_scid
+	copy pdata,timeup
+	fetch 2,mem_cmd_length
+	copy pdata,rega
+	fetch 2,mem_tt2
+	copy pdata,regb
+	fetch 2,mem_tt3
+	copy pdata,regc
+	fetch 2,mem_id
+	copy pdata,queue
+	rtn
+
+l2cap_proc_signal_connect_req_rfcomm:
+	call save_cont_pointers
+	setarg L2CAP_RFCOMM_channel
+	arg L2CAP_RFCOMM_channel,temp
+	fetch 2,mem_RFCOMM_remote_CID
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_ctrl:
+	call save_cont_pointers
+	arg L2CAP_HID_Control_channel,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_int:
+	call save_cont_pointers
+	deposit clke
+	arg L2CAP_HID_Interrupt_channel,temp
+	fetch 2,mem_hid_int_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	branch send_connection_res
+
+send_connection_pending:
+	setarg L2CAP_connect_pending
+	store 2,memL2CAP_T1
+	jam L2CAP_SDP_channel,mem_l2cap_pending_item
+	branch send_connection_res0
+send_connection_sdp_res:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+send_connection_res:
+	setarg L2CAP_connect_successful
+	store 2,memL2CAP_T1
+send_connection_res0:
+	bpatchx patch22_0,mem_patch22
+	call load_cont_pointers
+	setarg signal_connect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	fetch 2,memL2CAP_T1
+	beq L2CAP_connect_pending,connect_pending
+	isolate0 0,debug
+	branch connect_suc,true
+	setarg L2CAP_connect_refused_no_resources
+connect_suc:
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+connect_pending:
+	istore 2,contw
+	force 0x0002,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+	
+already_connected:
+	set1 0,debug
+	branch send_connection_res
+connect_req_update_byte_counts:
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_proc_signal_connect_req_rtn
+l2cap_proc_signal_connect_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //identifier
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //remote cid
+	copy pdata,timeup
+	ifetch 2,contr //local cid
+	copy pdata,temp
+	bpatchx patch22_1,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_int,zero
+	rtn
+
+l2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_rfcomm_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	rtn
+
+l2cap_proc_signal_config_req:
+	ifetch 1,contr//identifier
+	copy pdata,queue
+	ifetch 2,contr//length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr//dest cid
+	copy pdata,temp
+	copy temp,regA
+	bpatchx patch22_2,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_int,zero
+	branch l2cap_reject_command
+	//branch L2CAP_proc_signal_config_req_rtn
+l2cap_proc_signal_config_req_sdp:
+	copy contw, timeup
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	copy timeup,contw
+	arg L2CAP_SDP_channel,timeup
+	fetch 2,mem_sdp_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_ctrl:
+	copy contw, timeup
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	copy timeup,contw
+	arg L2CAP_HID_Control_channel,timeup
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_int:
+	copy contw, timeup
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	copy timeup,contw
+	arg L2CAP_HID_Interrupt_channel,timeup
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_rfcomm:
+	copy contw, timeup
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+//	jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	copy timeup,contw
+	arg L2CAP_RFCOMM_channel,timeup
+	fetch 2,mem_RFCOMM_remote_CID
+	copy pdata,temp
+l2cap_send_config_rsp:
+	bpatchx patch22_3,mem_patch22
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0006
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	force 0x00,pdata
+	istore 2,contw
+	force L2CAP_config_success,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	//copy temp,pdata
+	storet 2,mem_config_req_dest_CID
+	copy queue,pdata
+	store 1,mem_config_identifier
+	force L2CAP_SDP_channel,pdata
+	icompare 0xff,timeup
+	branch l2cap_send_config_rsp_is_sdp,true
+	increase 1,pdata
+l2cap_send_config_rsp_is_sdp:
+	//store 1,mem_send_config_req
+	rtn
+l2cap_check_channel_state:
+	disable user
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	copy contr,contw
+	increase -1,contw
+	istore 1,contw
+	enable user
+	rtn
+l2cap_send_config_req:
+l2cap_send_config_req_sdp:
+	fetch 1,mem_sdp_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_rfcomm,user
+	jam L2CAP_SDP_channel,mem_send_config_req
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_ctrl,user
+	jam L2CAP_RFCOMM_channel,mem_send_config_req
+	fetch 2,mem_RFCOMM_remote_CID
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_int,user
+	jam L2CAP_HID_Control_channel,mem_send_config_req
+	fetch 2,mem_hid_ctrl_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	call l2cap_check_channel_state
+	nrtn user//End of sending config req
+	jam L2CAP_HID_Interrupt_channel,mem_send_config_req
+	fetch 2,mem_hid_int_remote_cid
+	store 2,mem_config_req_dest_CID
+	//branch L2CAP_generate_config_req
+
+l2cap_generate_config_req:
+	bpatchx patch22_4,mem_patch22
+	call l2cap_get_req_id
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	force signal_config_req,pdata
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	fetch 2,mem_config_req_dest_CID
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	force 1,pdata
+	istore 1,contw
+	force 2,pdata
+	istore 1,contw
+	fetch 1,mem_send_config_req
+	beq L2CAP_RFCOMM_channel,l2cap_generate_config_req_rfcomm
+	setarg L2CAP_config_MTU_SDP
+	istore 2,contw
+	branch l2cap_generate_config_req_done
+l2cap_generate_config_req_rfcomm:
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+l2cap_generate_config_req_done:
+	arg 0x0c,temp
+	storet 2,mem_l2cap_signal_tx_length
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	jam 0,mem_send_config_req
+l2cap_proc_signal_config_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_config_rsp:
+	increase 1,contr
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //source cid
+	copy pdata,regA
+	bpatchx patch22_5,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_int,zero
+	increase 2,contr
+	ifetch 2,contr
+	iforce null
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+
+
+l2cap_proc_signal_disconnect_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	copy regA,temp
+	call save_cont_pointers
+	bpatchx patch22_6,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_control_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_int:
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_interrupt_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+
+l2cap_proc_signal_disconnect_req_sdp:
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_sdp_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_hid_control_now:
+	call l2cap_reset_hid_ctrl_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_disconnect_hid_interrupt_now:
+	call l2cap_reset_hid_int_state
+	fetch 2, mem_hid_ctrl_remote_cid
+	branch l2cap_send_disconnect_rsp_pkt, blank
+	//set the flag,hid channel close
+	//should we set here?
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch l2cap_send_disconnect_rsp_pkt
+
+l2cap_disconnect_sdp_now:
+	call l2cap_reset_sdp_channel_state
+	fetch 1,mem_upper_sm_ss
+	nbranch l2cap_send_disconnect_rsp_pkt,blank
+	//jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2
+	//jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_proc_signal_disconnect_req_rfcomm:
+	copy timeup,temp
+	fetch 2, mem_RFCOMM_remote_CID
+	isub temp,null
+	branch l2cap_disconnect_rfcomm_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_rfcomm_now:
+	call l2cap_reset_rfcomm_channel_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_send_disconnect_rsp_pkt:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_err_rtn:
+	call load_cont_pointers
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_rtn:
+	iadd regB,regB
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch22_7,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_rsp_err_rtn
+l2cap_proc_signal_disconnect_rsp_sdp:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	call l2cap_reset_sdp_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_rfcomm_remote_CID
+	isub temp,null
+	call l2cap_reset_rfcomm_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	call  l2cap_reset_hid_ctrl_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_int:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	call l2cap_reset_hid_int_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rtn:
+	call load_cont_pointers
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+	branch l2cap_process_one_signal_rtn
+
+/* received an echo request from remote BD.  Will echo the 1st 1 byte back,		*/
+l2cap_proc_signal_echo_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	setarg 9
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 4,pdata
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_echo_rsp:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_info_rsp:
+	branch l2cap_process_one_signal_rtn
+l2cap_reject_command:
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	setarg signal_cmd_reject
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 2
+	istore 2,contw
+	setarg cmd_not_understood
+	istore 2,contw
+	increase 6,regB
+	arg 4,regC
+	branch l2cap_process_one_signal_rtn
+
+
+
+l2cap_reset_rfcomm_channel_state:
+	setarg 0
+	store 2,mem_RFCOMM_Tx_pkt_length
+	store 2,mem_RFCOMM_remote_CID
+	jam 0,mem_rfcomm_state
+	rtn
+l2cap_reset_sdp_channel_state:
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	rtn
+l2cap_reset_hid_ctrl_state:
+	setarg 0
+	store 2,mem_hid_ctrl_remote_cid
+	jam 0,mem_hid_control_state
+	fetch 1,mem_hid_interrupt_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+
+l2cap_reset_hid_int_state:
+	setarg 0
+	store 2,mem_hid_int_remote_cid
+	jam 0,mem_hid_interrupt_state
+	fetch 1,mem_hid_control_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+	
+l2cap_reset_hid_disconnected:
+	jam BT_EVT_HID_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+l2cap_disconnect_interrupt_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_INTERRUPT, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_int_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_int_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Interrupt_channel,regB
+	branch l2cap_generate_disconnect_req
+l2cap_disconnect_control_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_ctrl_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_ctrl_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Control_channel,regB
+l2cap_generate_disconnect_req:
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	force signal_disconnect_req,pdata
+	istore 1,contw
+	fetch  1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy regB,pdata
+	istore 2,contw
+	force 0x08,temp //signal tx length in temp
+	branch ml2cap_send_signal
+
+ml2cap_send_signal_connect_req:
+	bpatchx patch23_0,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_connect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata	 //PSM
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 8,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_config_req:
+	bpatchx patch23_1,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_config_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	/****modigy for nokia*****/
+	copy temp,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x01
+	istore 1,contw
+	setarg 0x02
+	istore 1,contw
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+	arg 0xc,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_disconn_req:
+	bpatchx patch23_2,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_disconnect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	copy contw,regA
+	store 1,mem_ML2CAP_comm_id
+	copy regA,contw
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 0x8,temp
+	//branch ml2cap_send_signal
+	//Fall through
+ml2cap_send_signal:
+	storet 2,mem_l2cap_signal_tx_length
+	copy temp,pdata
+	branch l2cap_malloc_discard,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw //make sure that length is still in temp!
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	rtn
+
+msdp_send_req_done:
+	fetch 2,mem_sdp_tx_pkt_length
+	branch assert,blank
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	rtn
+ml2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch23_3,mem_patch23
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,ml2cap_call_proc_signal
+	beq L2CAP_SDP_channel,ml2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+ml2cap_call_proc_signal:
+	bpatchx patch23_4,mem_patch23
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	copy pdata,contw
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+ml2cap_proc_one_comm_loop:
+	call ml2cap_proc_one_comm
+	increase -4,regC
+	nbranch ml2cap_proc_one_comm_loop,zero
+	copy regB,temp
+	call ml2cap_send_signal
+	branch l2cap_rx_reset_state
+	
+ml2cap_proc_one_comm:
+	ifetch 1,contr
+	beq signal_connect_req,ml2cap_proc_signal_connect_req
+	beq signal_cmd_reject,ml2cap_proc_signal_cmd_reject
+	beq signal_connect_rsp,ml2cap_proc_signal_connect_rsp
+	beq signal_config_rsp,ml2cap_proc_signal_config_rsp
+	beq signal_config_req,ml2cap_proc_signal_config_req
+	beq signal_disconnect_rsp,ml2cap_proc_signal_disconn_rsp
+	beq signal_disconnect_req,ml2cap_proc_signal_disconn_req
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_info_req,ml2cap_proc_signal_info_req
+	branch ml2cap_proc_send_reject
+
+ml2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//jam NO_RECONNECTION,memui_reconnect_mode
+	call load_cont_pointers
+	branch l2cap_proc_signal_connect_req
+ml2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+mvptr:
+	ifetch 1,contr
+	increase -1,regA
+	nbranch mvptr,zero
+	rtn
+ml2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //id
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA	//length
+	ifetch 2,contr
+	copy pdata,timeup	//destination	cid
+	ifetch 2,contr
+	copy pdata,temp	//source	cid
+	ifetch 2,contr 		// result
+	sub pdata,0,null
+	branch ml2cap_proc_signal_connect_rsp_sucessful,zero
+	beq L2CAP_connect_refused_PSM_unsupported,ml2cap_proc_signal_connect_refused_result
+	beq L2CAP_connect_refused_no_resources,ml2cap_proc_signal_connect_refused_result
+	branch ml2cap_proc_signal_connect_rsp_mnosucc
+ml2cap_proc_signal_connect_refused_result:
+	jam BT_EVT_ML2CAP_CONN_REFUSED,mem_fifo_temp
+	call ui_ipc_send_event
+ml2cap_proc_signal_connect_rsp_mnosucc:
+	ifetch 2,contr //reason
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sucessful:
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mnosucc1,true
+	bpatchx patch23_5,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_int,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_sdp_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_rfcomm_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_control_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_interrupt_state
+	//branch mnosucc1
+
+mnosucc1:
+	call load_cont_pointers
+mnosucc:
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_signal_config_rsp:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	copy pdata,timeup
+	ifetch 2,contr
+	ifetch 2,contr		//	Get the result value, check success
+	nbranch mcrsdone1,blank
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mcfrsdone,true
+	copy timeup,temp
+	bpatchx patch23_6,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_int,zero
+ml2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_sdp_state
+	rtn
+ml2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_rfcomm_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_control_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+mcfrsdone:
+	call load_cont_pointers
+mcrsdone1:
+	increase -6,regA
+mloop2:
+	branch mcrsdone,zero
+	increase 1,contr
+	increase -1,regA
+	branch mloop2
+mcrsdone:
+	rtn
+ml2cap_proc_signal_config_req:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	increase 2,contr
+	copy pdata,temp
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	increase 2,regA
+	copy regA,pdata
+	istore 2,contw
+	call save_cont_pointers
+	bpatchx patch23_7,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_int,zero
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_sdp_state
+	bbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,ml2cap_proc_signal_config_req_sdp_nsndreq
+	fetcht 1,mem_CONTROL_tasks
+	set1 L2CAP_init_Config_Req,temp
+	storet 1,mem_CONTROL_tasks
+	copy queue,pdata
+	increase 1,pdata
+	store 1,mem_config_identifier
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	fetch 2,mem_RFCOMM_remote_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	fetch 2,mem_hid_ctrl_remote_cid
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	fetch 2,mem_hid_int_remote_cid
+	//branch mcfgrq_done
+
+mcfgrq_done:
+	copy pdata,timeup
+	call load_cont_pointers
+/*******for Nokia**************/
+	copy timeup,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	increase -6,regA
+mloop1:
+	branch mcrqdone,zero
+	ifetch 1,contr
+	istore 1,contw
+	increase 1,regB
+	increase -1,regA
+	branch mloop1
+mcrqdone:
+	rtn
+ml2cap_proc_signal_disconn_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	call save_cont_pointers
+	bpatchx patch24_0,mem_patch24
+	setarg L2CAP_SDP_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_sdp,zero
+	setarg L2CAP_HID_Control_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_int,zero
+	branch mclsrfc
+ml2cap_proc_signal_disconn_sdp:
+	setarg 0x0000
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	store 1,mem_sdp_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_ctrl:
+	call l2cap_reset_hid_ctrl_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_int:
+	call l2cap_reset_hid_int_state
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch mclssdp
+mclsrfc:
+	setarg 0x0000
+	store 2,mem_RFCOMM_Tx_pkt_length
+mclssdp:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	iadd regB,regB
+	rtn
+
+ml2cap_proc_signal_disconn_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch24_1,mem_patch24
+	fetch 1,mem_ML2CAP_comm_id
+	icompare 0xff,queue
+	nbranch mdisdone,true
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_rfcomm,zero
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_sdp:
+	jam 0,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+	//
+	//
+mdisdone:
+	call load_cont_pointers
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_send_reject:
+	setarg signal_cmd_reject
+	istore 1,contw
+	ifetch 1,contr
+	istore 1,contw
+	setarg 0x0002
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x0006
+	iadd regB,regB
+	force 4,regC
+	rtn
+	
+//l2cap command id, 0 is not allowed
+l2cap_get_req_id:
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	bne 0,l2cap_get_req_id_ok
+	increase 1,pdata
+l2cap_get_req_id_ok:
+	store 1,mem_ML2CAP_comm_id
+	rtn
+
+
+/*********************************************************/
+//char* malloc(short len)
+//input: regA -> len
+//rtn: regB -> pbuff;return from pdata
+//val: queue -> i
+//val: timeup -> buff_cnt
+/*********************************************************/
+l2cap_malloc:
+	bpatchx patch24_2,mem_patch24
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+	arg mem_tx_buff0,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+l2cap_malloc_loop:
+	fetcht 1,mem_used_map
+	qisolate1 temp
+	branch l2cap_malloc_next,true//if(1 == (used_map & (1 << i)))goto next;
+	call l2cap_malloc_enough
+	sub timeup,0,null// (0 - timeup)
+	branch l2cap_malloc_next,positive//if(buff_cnt <= 0)goto next;
+	call l2cap_malloc_into_fifo
+	branch l2cap_malloc_rtn//return (pbuff);
+l2cap_malloc_next:
+	increase 128,regB//pbuff += BUFF_SIZE;//point to next buff
+	increase 1,queue
+	setarg 8//BUFF_MAX_COUNT
+	isub queue,null //BUFF_MAX_COUNT - i
+	branch l2cap_malloc_loop,positive//while(i < buff_max_count)
+	arg 0,regB//return NULL
+l2cap_malloc_rtn:
+	copy regB,pdata
+	branch assert,blank
+	rtn//return pointer via pdata
+	
+/*********************************************************/
+//void* l2cap_malloc_fifo_out(void)
+//output:len -> temp
+//output:ptr ->pdata
+//only get ptr,not free
+/*********************************************************/
+l2cap_malloc_fifo_out:
+	bpatchx patch24_3,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	increase 1,contr
+	ifetch 2,contr //ptr ->pdata
+	rtn 
+
+/*********************************************************/
+//void free_first_buff_in_fifo(void)
+//only free the first one
+/*********************************************************/
+l2cap_malloc_free:
+	bpatchx patch24_4,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	copy contr,contw
+	copy contr,temp
+	setarg 0
+	istore 3,contw
+	rtn
+/*********************************************************/
+//void l2cap_malloc_discard(void)
+//discard the latest malloc
+/*********************************************************/
+l2cap_malloc_discard:
+	bpatchx patch24_5,mem_patch24
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank
+	fetch 3,mem_tx_fifo2
+	store 3,mem_tx_fifo3
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo2
+	fetch 3,mem_tx_fifo0
+	store 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_full(void)
+//blank == 1: not full
+//blank == 0: full
+/*********************************************************/
+l2cap_malloc_is_fifo_full:
+	bpatchx patch24_6,mem_patch24
+	fetch 3,mem_tx_fifo0
+	rtn
+/*********************************************************/
+//bool fifo_nearly_full(void)
+//blank == 1: nearly full
+//blank == 0: not nearly full
+/*********************************************************/
+l2cap_malloc_is_fifo_nearly_full:
+	bpatchx patch24_7,mem_patch24
+	fetch 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_empty(void)
+//blank == 1: empty
+//blank == 0: not empty
+/*********************************************************/
+l2cap_malloc_is_fifo_empty:
+	bpatchx patch25_0,mem_patch25
+	fetch 3,mem_tx_fifo3
+	rtn
+/*********************************************************/
+//char* l2cap_malloc_fifo_get_first_ptr(void)
+//output:contr  -->ptr
+/*********************************************************/	
+l2cap_malloc_fifo_get_first_ptr:
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank // fifo is empty
+	arg mem_tx_fifo0,contr
+l2cap_malloc_free_loop:
+	ifetch 3,contr
+	branch l2cap_malloc_free_loop,blank
+	increase -3,contr
+	rtn
+
+/*********************************************************/
+//char* l2cap_malloc_get_full_map(void)
+//output:mem_used_map  -->full_map
+//add all maps into one
+/*********************************************************/	
+l2cap_malloc_get_full_map:
+	bpatchx patch25_1,mem_patch25
+	arg 4,loopcnt
+	arg mem_tx_fifo0_map,contr
+	arg 0,temp
+l2cap_malloc_get_full_map_loop:	
+	ifetch 3,contr
+	and pdata,0xff,pdata
+	ior temp,temp
+	loop l2cap_malloc_get_full_map_loop
+	storet 1,mem_used_map
+	rtn
+/*********************************************************/
+//void buff_into_fifo(char buff_index, char buff_cnt, short len)
+//input: regA -> len
+//input: regC -> buff_index
+//input: timeup -> buff_cnt
+//val:temp ->   (fifo->map)
+/*********************************************************/
+l2cap_malloc_into_fifo:
+	bpatchx patch25_2,mem_patch25
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank //fifo full
+	call l2cap_malloc_is_fifo_empty
+	branch l2cap_malloc_into_fifo_no_push,blank//fifo empty, no need to push
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo0
+	ifetch 3,contr//mem_tx_fifo2
+	istore 3,contw//mem_tx_fifo1
+	ifetch 3,contr//mem_tx_fifo3
+	istore 3,contw//mem_tx_fifo2
+	setarg 0
+	istore 3,contw//mem_tx_fifo3
+l2cap_malloc_into_fifo_no_push:
+	arg 0,temp
+	copy timeup,pdata
+	iadd queue,pdata
+l2cap_malloc_into_fifo_loop:
+	qset1 temp//fifo->map |= 1 << i;
+	increase 1,queue
+	isub queue,null
+	nbranch l2cap_malloc_into_fifo_loop,zero
+	//map in temp
+	lshift8 regB,pdata
+	ior temp,pdata
+	store 3,mem_tx_fifo3
+	rtn
+
+/*********************************************************/
+//char is_size_enough(char buff_index, short len)
+//input: regA -> len
+//input: queue -> buff_index
+//rtn: timeup -> buff_cnt
+//val: max_size_fom_buff_index -> temp
+//val: i -> loopcnt
+/*********************************************************/
+l2cap_malloc_enough:
+	bpatchx patch25_3,mem_patch25
+	call l2cap_malloc_get_full_map
+	copy queue,regC//restore buff_index to regC
+	arg 0,temp
+	arg 0,timeup//default return val
+	//increase 1,queue
+l2cap_malloc_enough_loop:
+	copy queue,pdata
+	beq 8,l2cap_malloc_enough_end
+	fetch 1,mem_used_map
+	qisolate1 pdata
+	branch l2cap_malloc_enough_end,true
+	increase 128,temp
+	increase 1,queue
+	copy regA,pdata
+	isub temp,null
+	branch l2cap_malloc_enough_end,zero//(max_size_fom_buff_index ==  len)
+	branch l2cap_malloc_enough_loop,positive//(max_size_fom_buff_index <  len)
+l2cap_malloc_enough_end:
+	copy temp,pdata
+	isub regA,null
+	nbranch l2cap_malloc_enough_rtn,positive// max_size_fom_buff_index - len > 0
+	copy queue,pdata//i
+	copy regC,temp//buff_index
+	isub temp,timeup//return (i - buff_index)
+l2cap_malloc_enough_rtn:
+	copy regC,queue//restore buff_index to queue
+	rtn
+	
+
+l2cap_malloc_signal_channel:
+	bpatchx patch25_4,mem_patch25
+	arg L2CAP_SIGNAL_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_l2cap_signal_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_l2cap_signal_tx_payload_ptr
+	setarg 0
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_get_signal_tx_buff:
+	fetch 2,mem_l2cap_signal_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_signal_tx_payload:
+	fetch 2,mem_l2cap_signal_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_sdp_channel:
+	bpatchx patch25_5,mem_patch25
+	arg SDP_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_sdp_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_sdp_tx_payload_ptr
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	rtn
+
+l2cap_get_sdp_tx_buff:
+	fetch 2,mem_sdp_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_sdp_tx_payload:
+	fetch 2,mem_sdp_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_rfcomm_channel:
+	bpatchx patch25_6,mem_patch25
+	call push_stack
+	jam RFCOMM_MALLOC_FAIL,mem_rfcomm_malloc_fail_flag
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	arg RFCOMM_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	setarg 0
+	store 2,mem_rfcomm_tx_pkt_length
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	branch pop_stack
+
+l2cap_get_rfcomm_tx_buff:
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+	
+l2cap_util_pdata_to_contw:
+	branch assert,blank
+	copy pdata,contw
+	rtn
+	
+
+l2cap_lpm_save_calc_len:
+	bpatchx patch25_7,mem_patch25
+	arg 0,regb
+	arg mem_tx_fifo0_map,rega
+	increase -2,rega
+l2cap_lpm_save_calc_len_loop:
+	increase 2,rega
+	setarg mem_tx_fifo_end
+	isub rega,null
+	branch l2cap_lpm_save_calc_len_end,zero //end of 2lcap tx fifo
+	ifetch 1,rega
+	increase 1,rega
+	branch l2cap_lpm_save_calc_len_loop,blank
+	ifetcht 2,rega
+	ifetch 2,temp
+	iadd regb,regb
+	increase 4,regb //l2cap header len
+	branch l2cap_lpm_save_calc_len_loop
+l2cap_lpm_save_calc_len_end:
+	copy regb,pdata
+	rtn
+
+
+l2cap_lpm_get_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_get_wake_lock
+
+l2cap_lpm_put_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_put_wake_lock
+	
+l2cap_lpm_save_txbuf:
+	bpatchx patch26_0,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	call l2cap_lpm_save_calc_len
+	arg l2cap_lpm_txbuf_len,temp
+	isub temp,null
+	branch l2cap_lpm_get_wake_lock,positive //no enougth space to save l2cap tx data
+	call l2cap_lpm_put_wake_lock
+	arg mem_l2cap_lpm_txbuf,contw
+	arg mem_tx_fifo0,rega
+l2cap_lpm_save_txbuf_loop:
+	setarg mem_tx_fifo_end
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 1,rega  //mem_tx_fifoX_map
+	increase 1,rega
+	nbranch l2cap_lpm_save_txbuf_nempty,blank
+	istore 2,contw // length = 0
+	increase 2,rega
+	branch l2cap_lpm_save_txbuf_loop
+l2cap_lpm_save_txbuf_nempty:
+	ifetch 2,rega //ptr
+	increase 2,rega
+	copy pdata,contr
+	ifetch 2,contr  //l2cap len
+	istore 2,contw
+	copy pdata,loopcnt
+	increase 2,loopcnt //add CID len
+	call memcpy
+	branch l2cap_lpm_save_txbuf_loop
+	
+l2cap_lpm_load_txbuf:
+	bpatchx patch26_1,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	arg mem_tx_fifo0_ptr,rega
+	increase -3,rega //mem_tx_fifo0_ptr -3
+	arg mem_l2cap_lpm_txbuf,contr
+l2cap_lpm_load_txbuf_loop:
+	increase 3,rega //mem_tx_fifoX_ptr
+	setarg mem_tx_fifo_end+1
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 2,contr
+	branch l2cap_lpm_load_txbuf_loop,blank
+	increase 4,pdata //l2cap header len
+	copy pdata,loopcnt
+	copy contr,regb
+	ifetch 2,rega //ptr
+	copy pdata,contw
+	copy regb,contr
+	increase -2,contr
+	call memcpy
+	branch l2cap_lpm_load_txbuf_loop
+	
+
+
+	
+//******************************************//
+//*************LE INIT ****************//
+//******************************************//
+
+
+le_init_conn:
+	bpatchx patch26_2,mem_patch26
+	disable wake
+	jam 1,mem_le_conn_handle
+	jam 3,mem_le_state
+	jam 1,mem_le_arq
+	setarg -1
+	store 2,mem_le_event_count
+	force 0,pdata
+	store 1,mem_le_ch
+	store 1,mem_le_op
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	jam 1,mem_le_txheader
+	jam 0,mem_le_txlen
+	branch le_supervision_flush
+
+le_init_master:
+	bpatchx patch26_3,mem_patch26
+	enable master
+	jam lemode_master,mem_le_mode
+	jam 1,mem_le_att_handle
+	jam 1,mem_le_search_handle_start
+	setarg 0xffff
+	store 2,mem_le_search_handle_end
+	force 0,pdata
+	store 5,mem_le_pcnt_rx
+	set1 39,pdata
+	store 5,mem_le_pcnt_tx	
+	branch le_init_conn
+
+
+le_init_slave:
+	bpatchx patch26_4,mem_patch26
+	disable master
+ 	setarg 0x17
+ 	store 2,mem_le_remote_mtu
+	jam lemode_slave,mem_le_mode
+	jam 0,mem_le_adv_enable
+	jam 0,mem_lpm_current_mult
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	fetch 2,mem_le_tsniff
+	mul32 pdata,5,pdata
+	rshift4 pdata,pdata
+	store 2,mem_le_superto			// vol.6 part B 4.5.2 only 6*conninterval before establish
+	branch le_init_conn
+	
+
+//******************************************//
+//*************LE main process*********//
+//******************************************//
+le_dispatch:
+	call le_enable
+	call le_scan
+	call le_adv
+	branch le_disable
+
+le_conn_dispatch:
+	bpatchx patch26_5,mem_patch26
+	call le_enable
+	call app_process_ble
+	fetch 1,mem_le_mode
+	beq lemode_master,le_master_dispatch
+	branch le_slave_dispatch
+	
+//******************************************//
+//***********LE master process*********//
+//******************************************//
+	
+le_master_dispatch:
+	bpatchx patch26_6,mem_patch26
+	enable master
+	call le_supervision_update
+	branch le_master_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_prepare_tx
+	disable match
+	call le_transmit_receive_sifs
+	nrtn match
+	bpatchx patch26_7,mem_patch26
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	call le_acknowledge
+	disable master
+	rtn
+	
+le_master_disconn:
+	call le_disconnect
+	disable master
+	rtn
+	
+//******************************************//
+//***********LE slave process***********//
+//******************************************//
+le_slave_dispatch:
+	bpatchx patch27_0,mem_patch27
+	jam 0,mem_le_md_count
+	call sp_calc_sequence_256
+	call le_secure_connect_sm
+	disable attempt
+	call le_supervision_update
+	branch le_slave_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_receive_slave
+	nbranch le_slave_unsync,sync	// vol.6 part B 4.5.1 respond even crc error
+	call le_got_first_packet
+	branch le_slave_match,match
+	branch le_slave_cont
+	
+
+le_slave_match:
+	bpatchx patch27_1,mem_patch27
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call le_transmit_norx
+	call le_parse
+	fetch 2,mem_cb_ble_transmit
+	call callback_func
+	call le_check_md
+	branch le_slave_more_data,user
+le_slave_cont:
+	bpatchx patch27_2,mem_patch27
+	call le_pairing_sm
+ 	call le_check_paring_time
+	call check_51cmd
+	fetch 1,mem_le_op
+	bbit1 op_disconn,le_slave_disconn
+le_slave_unsync:
+	bpatchx patch27_3,mem_patch27
+	call le_lpm_set_mult
+	call le_update_channel_map
+	call le_update_param
+	branch calc_clke_offset
+
+
+le_check_md:
+	disable user
+	bmark1 mark_ble_rx_md,enable_user
+	bmark1 mark_ble_tx_md,enable_user
+	rtn
+
+
+le_slave_more_data:
+	bpatchx patch27_4,mem_patch27
+	enable attempt
+	call le_transmit_receive_sifs_notx
+	branch le_slave_match,match
+	branch le_slave_cont
+
+le_slave_disconn:
+
+	//fall through
+le_disconnect:
+	bpatchx patch27_5,mem_patch27
+	call le_clear_connection_info
+	call app_disconn_reason_collect_ble
+	call sp_initialize_256
+	jam BT_EVT_LE_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_clear_connection_info:
+	setarg 0
+	store 9,mem_le_tx_buff_used
+	jam 0,mem_le_conn_handle
+	jam lemode_idle,mem_le_mode
+	jam 0,mem_le_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	rtn
+	
+le_got_first_packet:
+	bpatchx patch27_6,mem_patch27
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	fetch 1,mem_le_state
+	rtnbit1 lestate_got_first_packet
+	set1 lestate_got_first_packet
+	store 1,mem_le_state
+	fetch 2,mem_le_init_superto
+	store 2,mem_le_superto
+	setarg 0
+	store 4,mem_le_transmit_window
+	rtn
+
+
+le_enable:
+	bpatchx patch27_7,mem_patch27
+	hjam 0x36,0x90f        /*For BLE, tune AGC_gain_offset, Max added*/
+	hjam 0x5f,0x90b        //for BLE
+	enable le
+	hjam 7,rfen_ulp			/* enable ulp */
+	call check_ble_disabled
+	fetch 1,mem_250k_freq_enable	//default: 0
+	rtn blank
+	hjam 0xb8,0x90a
+	rtn
+	
+le_disable:
+	bpatchx patch28_0,mem_patch28
+	hjam 0x2e,0x90f        /*For BR/EDR, tune AGC_gain_offset, Max added*/
+	hjam 0xff,0x90b         //for EDR&BR
+	disable le
+	hjam 3,rfen_ulp
+	arg 0,stop_watch
+	rtn
+	
+le_prep:
+	disable enable_crc
+	disable enable_white
+	fetch 3,mem_le_crcinit
+	iforce crc24_init
+	fetch 1,mem_le_ch_mapped
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+	
+
+lerx_setfreq:
+	call le_setfreq
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	branch rf_rx_enable
+
+letx_setfreq:
+	branch txon,match
+letx_setfreq0:
+	call le_setfreq
+	branch set_freq_tx
+le_setfreq:
+	bpatchx patch28_1,mem_patch28
+	call set_sync_on
+	fetch 1, mem_le_testtype
+	nbranch le_ctf_test,blank
+	fetch 1,mem_le_ch_mapped
+	sub pdata,36,null
+	branch le_ctf_normal,positive
+	force 0,temp
+	rtneq 37
+	force 24,temp
+	rtneq 38
+	force 78,temp
+	rtn
+	
+le_ctf_normal:
+	sub pdata,10,null
+	branch le_ctf_low,positive
+	increase 1,pdata
+	
+le_ctf_low:	
+	lshift pdata,pdata
+	add pdata,2,temp
+	rtn
+	
+le_ctf_test:
+	fetch 1,mem_le_ch_mapped
+	lshift pdata,temp
+	rtn
+
+le_sca_map:
+	arg 500,temp
+	rtn blank
+	arg 250,temp
+	rtneq 1
+	arg 150,temp
+	rtneq 2
+	arg 100,temp
+	rtneq 3
+	arg 75,temp
+	rtneq 4
+	arg 50,temp
+	rtneq 5
+	arg 40,temp
+	rtneq 6
+	arg 20,temp
+	rtn
+
+
+	
+le_adv_access:
+	setarg 0x8e89be
+	lshift8 pdata,pdata
+	or_into 0xd6,pdata
+	iforce access
+	setarg 0x555555
+	store 3,mem_le_crcinit
+	rtn
+
+le_setup:
+	bpatchx patch28_2,mem_patch28
+	enable swfine
+	fetch 4,mem_le_access
+	iforce access
+	call le_map_channel
+	setarg 0x200
+	branch le_setup_master,master
+	fetch 2,mem_le_receive_window
+	rshift pdata,pdata
+le_setup_master:
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	deposit clke
+	store 6,mem_le_rxon_ts
+	rtn
+
+le_next_adv_channel:
+	bpatchx patch28_3,mem_patch28
+	fetch 1,mem_le_ch_mapped
+	beq 37,le_next_adv_channel_curr_channel_37
+	beq 38,le_next_adv_channel_curr_channel_38
+	beq 39,le_next_adv_channel_curr_channel_39
+	branch le_next_adv_channel_curr_channel_39
+
+le_next_adv_channel_curr_channel_37:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	branch set_le_next_adv_channel_37
+
+
+le_next_adv_channel_curr_channel_38:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	branch set_le_next_adv_channel_38
+
+
+le_next_adv_channel_curr_channel_39:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	branch set_le_next_adv_channel_39
+
+
+
+set_le_next_adv_channel_37:
+	jam 37,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_37,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_38:
+	jam 38,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_38,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_39:
+	jam 39,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_39,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+
+
+le_context_nexthop:
+	bpatchx patch28_4,mem_patch28
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	rtnbit0 mode_le
+	add rega,coffset_le_event_cnt,contw
+	ifetch 2,contw
+	increase 1,pdata
+	istore 2,contw
+	add rega,coffset_le_hop,contr
+	ifetch 1,contr
+	add rega,coffset_le_ch,contw
+	ifetcht 1,contw
+	iadd temp,pdata
+	sub pdata,36,null
+	branch le_nexthop_nowrap,positive
+	increase -37,pdata
+le_nexthop_nowrap:
+	istore 1,contw
+	rtn
+
+
+le_calc_channel_map:
+	bpatchx patch28_5,mem_patch28
+	fetch 5,mem_le_channel_map
+	force 0,temp
+	force 37,loopcnt
+le_count_channels_loop:
+	bbit0 0,le_count_channels_notused
+	increase 1,temp
+le_count_channels_notused:
+	rshift pdata,pdata
+	loop le_count_channels_loop
+	add temp,-1,pdata
+	store 1,mem_le_channels
+	rtn
+
+le_map_channel:
+	bpatchx patch28_6,mem_patch28
+	fetch 1,mem_le_ch
+	iforce queue
+	fetcht 5,mem_le_channel_map
+	qisolate1 temp
+	branch le_map_channel_end,true
+le_map_channel_next:
+	bpatchx patch28_7,mem_patch28
+	fetch 1,mem_le_channels
+	isub queue,pdata
+	branch le_map_channel_cont,positive
+	sub pdata,-1,queue
+	branch le_map_channel_next
+le_map_channel_cont:
+	copy queue,loopcnt
+	force 0,queue
+le_map_channel_loop:
+	qisolate1 temp
+	branch le_map_channel_skip,true
+	increase 1,loopcnt
+le_map_channel_skip:
+	deposit loopcnt
+	branch le_map_channel_end,blank
+	increase 1,queue
+	increase -1,loopcnt
+	branch le_map_channel_loop
+le_map_channel_end:
+	deposit queue
+	store 1,mem_le_ch_mapped
+	rtn
+
+
+le_wait_tx:
+	branch le_wait_master,master
+	until null,timeout
+	rtn
+	
+le_wait_master:
+	arg 0xea0,timeup
+	until clkn_rt,meet
+	rtn
+
+le_receive_adv:
+	disable swfine
+	fetch 2,mem_le_scan_window
+	copy pdata,timeup
+	branch le_receive_packet
+
+
+le_receive_slave:
+	bpatchx patch29_0,mem_patch29
+	enable swfine
+	fetch 2,mem_le_receive_window
+	fetcht 4,mem_le_transmit_window
+	iadd temp,timeup
+le_receive_packet:
+	call lerx_setfreq
+le_receive_rxon:
+	bpatchx patch29_1,mem_patch29
+	call le_prep
+	disable match
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	copy timeup,stop_watch
+	correlate null,timeout
+	branch le_receive_on_attempt,attempt
+	copy clke,temp
+	storet 6,mem_sync_clke
+le_receive_on_attempt:
+	nbranch end_of_packet,sync
+	branch le_receive_skip,attempt
+	arg param_clke_cal_le,clke_rt
+	copy bt_clk,clke_bt
+	fetch 1,mem_le_state
+	bbit0 lestate_got_first_packet,le_receive_skip
+	call lpm_adjust_clk,wake
+le_receive_skip:
+	bpatchx patch29_2,mem_patch29
+	call save_rssi
+	enable enable_white
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_le_rxbuf
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	and pdata,0x3f,loopcnt
+	branch lerx_nopayload,zero
+	
+lerx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop lerx_loop
+	
+lerx_nopayload:
+	bpatchx patch29_3,mem_patch29
+	parse demod,bucket,24	
+	enable swfine
+	arg param_sifs,stop_watch		// start SIFS timer after last bit of crc
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch end_of_packet,crc_failed
+	enable match
+	fetch 1,mem_last_freq
+	add pdata,0,rega				// ble 2M Medium Frequency
+	call rf_write_freq				/* set frequency to tx mode freq */
+	disable decode_fec0
+	branch set_sync_on
+
+le_transmit_receive_sifs:
+	bpatchx patch29_4,mem_patch29
+	call le_transmit
+le_transmit_receive_sifs_notx:
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+le_transmit_norx:
+	call le_transmit
+	branch end_of_packet
+	
+le_transmit:
+	bpatchx patch29_5,mem_patch29
+	call le_prep
+	call letx_setfreq
+	branch le_transmit0
+	
+le_transmit0:
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	enable enable_white
+	enable enable_crc
+	bpatchx patch29_6,mem_patch29
+	fetch 1,mem_le_txheader
+	inject mod,8
+	ifetch 1,contr
+	and pdata,0x3f,loopcnt
+	inject mod,8
+	branch letr_nopayload,zero
+letr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop letr_loop
+	
+letr_nopayload:
+	enable enable_parity
+	inject mod,24
+	disable enable_parity
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	disable encode_fec0
+	rtn
+	
+le_send_adv_ind:
+	bpatchx patch29_7,mem_patch29
+	fetch 1,mem_le_adv_type
+	beq ADV_DIRECT_IND,le_send_adv_direct_ind
+	fetch 1,mem_le_adv_own_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	store 1,mem_le_txheader
+	fetcht 1,mem_le_adv_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	copy temp,loopcnt
+	arg mem_le_adv_data,contr
+	call memcpy_fast
+	branch le_send_adv_transmit
+le_send_adv_direct_ind:
+	fetch 1,mem_le_adv_direct_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	increase 1,pdata
+	store 1,mem_le_txheader
+	setarg 12
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	fetch 6,mem_hci_plap
+	istore 6,contw
+le_send_adv_transmit:
+	bpatchx patch2a_0,mem_patch2a
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 1800,stop_watch
+	disable match
+	branch le_transmit_receive_sifs
+	
+le_send_scan_request:
+	bpatchx patch2a_1,mem_patch2a
+	fetch 1,mem_le_scan_type
+	rtnne LE_SCAN_TYPE_ACTIVE
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 0x0c03,temp// length + SCAN_REQ PDU
+	fetch 1,mem_le_scan_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	copy regA,pdata
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,temp	
+	storet 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 6,mem_le_plap
+	istore 6,contw
+	branch le_transmit_receive_sifs
+
+
+le_send_scan_response:
+	bpatchx patch2a_2,mem_patch2a
+	arg SCAN_RSP,temp
+	fetch 1,mem_le_adv_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	storet 1,mem_le_txheader
+	fetcht 1,mem_le_scan_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	arg mem_le_scan_data,contr
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_transmit_norx
+	branch le_adv_not_match
+
+le_connect_request:
+	bpatchx patch2a_3,mem_patch2a
+	force -1,pdata
+	setsect 2,1
+	store 5,mem_le_channel_map
+	call le_calc_channel_map	
+	force 4,loopcnt
+	arg mem_le_access,contw
+	call generate_random_loop	
+	fetch 2,mem_le_timeout
+	store 2,mem_le_superto
+le_con_req_hop_retry:
+	random pdata
+	and_into 0xf,pdata
+	sub pdata,4,null
+	branch le_con_req_hop_retry,positive
+	store 1,mem_le_hop
+	store 1,mem_tmp1
+	bpatchx patch2a_4,mem_patch2a
+	fetcht 2,mem_le_conn_interval
+	storet 2,mem_le_tsniff	
+	copy temp,regc			// tsniff in regc
+	add clkn_bt,7,pdata			// leave space for offset
+	idiv regc
+	call wait_div_end
+	remainder rega
+	isub rega,pdata
+	iadd regc,pdata
+	fetcht 2,mem_le_dsniff
+	iadd temp,pdata
+	store 4,mem_le_anchor
+	isub clkn_bt,rega
+	increase -6,rega			// window offset
+	arg 0x2205,regb			// length & CONN_REQ PDU
+	fetch 1,mem_le_conn_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,regb
+	fetch 1,mem_le_conn_peer_addr_type
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,regb
+	copy regb,pdata
+	store 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw//own addr
+	fetch 6,mem_le_plap
+	istore 6,contw// peer addr
+	fetch 4,mem_le_access
+	istore 4,contw
+	random pdata
+	istore 2,contw				/* crc init */
+	random pdata
+	istore 1,contw
+	force 2,pdata				/* window size */	
+	istore 1,contw
+	rshift2 rega,pdata
+	istore 2,contw				/* window offset */
+	rshift2 regc,pdata			
+	istore 2,contw				/* conn Interval */
+	bpatchx patch2a_5,mem_patch2a
+	setarg 0					/* slave latency */
+	istore 2,contw
+	fetch 2,mem_le_timeout
+	istore 2,contw
+	fetch 5,mem_le_channel_map
+	istore 5,contw				/* channel map */
+	fetch 1,mem_le_hop
+	arg param_le_sca,temp
+	ior temp,pdata
+	istore 1,contw
+	call le_transmit_norx
+	setarg mem_le_txheader
+	add pdata,18,contr
+	ifetch 3,contr
+	store 3,mem_le_crcinit
+	rtn
+		
+le_init_adv:
+	bpatchx patch2a_6,mem_patch2a
+	disable master
+	branch le_adv_access
+	
+
+
+le_update_param:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_param
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	store 2,mem_pdatatemp
+	bpatchx patch2a_7,mem_patch2a
+	fetch 1,mem_le_state
+	set0 lestate_update_param,pdata
+	set0 lestate_got_first_packet,pdata
+	store 1,mem_le_state
+	fetch 4,mem_le_anchor
+	fetcht 2,mem_le_tsniff
+	storet 2,mem_temp
+	isub temp,rega
+	bpatchx patch2b_0,mem_patch2b
+	fetch 1,mem_le_new_param
+	store 1,mem_le_window_size
+	ifetcht 2,contr
+	ifetch 2,contr
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	lshift2 temp,temp
+	iadd temp,pdata
+	ifetcht 4,contr
+	storet 4,mem_le_slave_latency	// and superTO
+	iadd rega,pdata
+	copy pdata,regab
+	fetch 2,mem_le_tsniff
+	fetcht 2,mem_temp	//last sniff
+	isub temp,pdata		//last sniff - new sniff
+	fetcht 2,mem_pdatatemp
+	imul32 temp,pdata
+	iadd regab,pdata
+	store 4,mem_le_anchor
+	call le_receive_window_size
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+
+le_update_channel_map:
+	bpatchx patch2b_1,mem_patch2b
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	fetch 1,mem_le_state
+	set0 lestate_update_map,pdata
+	store 1,mem_le_state
+ 	fetch 5,mem_le_new_map
+	store 5,mem_le_channel_map
+	branch le_calc_channel_map	
+	
+	
+le_acknowledge:
+	bpatchx patch2b_2,mem_patch2b
+	call le_supervision_flush
+	call le_check_wak
+	fetch 1,mem_le_rxbuf
+	isolate1 md,pdata
+	setflag true,mark_ble_rx_md,mark
+	rshift pdata,pdata
+	ixor temp,pdata
+	isolate1 nesn,pdata
+	setflag true,mark_old_packet,mark	/* retransmit */
+	rtnmark1 mark_old_packet
+	fetch 1,mem_le_rxbuf+1			
+	branch le_ack_unenc,blank		/* empty packet, no decryption */
+	fetch 1,mem_le_state
+	bbit0 lestate_encryption,le_ack_unenc
+	call load_sk
+	call le_decrypt
+	nrtn blank
+le_ack_unenc:
+	fetcht 1,mem_le_arq
+	setflip nesn,temp
+	storet 1,mem_le_arq
+	rtn
+
+	
+le_check_wak:
+	bpatchx patch2b_3,mem_patch2b
+	fetcht 1,mem_le_arq
+	isolate0 wak,temp
+	rtn true
+	fetch 1,mem_le_rxbuf
+	lshift pdata,pdata
+	ixor temp,pdata
+	rtnbit0 sn			/* received NESN is same as SN, NAK */
+	set0 wak,temp
+	setflip sn,temp
+	storet 1,mem_le_arq
+	compare 3,temp,3
+	nrtn true
+	fetch 1,mem_le_txpayload
+	beq LL_START_ENC_REQ,le_set_enc
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_ENC_PAUSE,le_clear_enc
+	rtn
+	
+
+le_set_enc:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn	
+	
+le_clear_enc:
+	bpatchx patch2b_4,mem_patch2b
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	arg 0,pdata
+	store 4,mem_le_last_mic
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	fetch 1,mem_le_state
+	set0 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_wait_adv:
+	bpatchx patch2b_5,mem_patch2b
+	call le_next_adv_channel
+	call le_receive_adv
+	fetch 1,mem_le_adv_waitcnt
+	increase 1,pdata
+	store 1,mem_le_adv_waitcnt
+	rtn
+
+
+le_scan:
+	bpatchx patch2b_6,mem_patch2b
+	fetch 1,mem_le_scan_enable
+	rtnne LE_SCAN_ENABLE
+	arg le_scan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetch 2,mem_le_scan_interval
+	fetcht 2,mem_le_scan_window
+	isub temp,pdata
+	arg le_scan_interval_timer,queue
+	call timer_init
+	disable master
+	call le_init_adv
+	call le_wait_adv
+	nrtn match
+	bpatchx patch2b_7,mem_patch2b
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+//	call le_scan_dongle
+
+	fetch 1,mem_le_adv_rcv
+	increase 1,pdata
+	store 1,mem_le_adv_rcv
+	call le_create_conn
+	rtn master
+	call le_send_scan_request
+	nrtn match
+	bpatchx patch2c_0,mem_patch2c
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	fetch 9,mem_le_rxbuf+8
+	store 9,mem_tmp_buffer
+	rtn
+	
+le_create_conn:
+	bpatchx patch2c_1,mem_patch2c
+	fetch 1,mem_cmd_le_create_conn
+	rtnne hci_cmd_le_create_conn
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_conn_peer_addr
+	isub temp,null
+	nrtn zero
+	call context_new
+	nrtn zero
+	call le_connect_request
+	call le_init_master
+	bpatchx patch2c_2,mem_patch2c
+	jam 0,mem_hci_cmd
+	jam 0,mem_le_peer_sca
+	jam 0,mem_le_scan_enable
+	jam 0,mem_cmd_le_create_conn
+	branch context_save
+	
+le_scan_check_sender_addr_type:
+	arg 1,rega// sender_addr_type
+	fetch 1,mem_le_rxbuf
+	rtnbit1 LE_SENDER_ADDR_BIT
+	arg 0,rega
+	rtn
+
+
+
+le_prepare_tx:
+	bpatchx patch2c_3,mem_patch2c
+	fetch 1,mem_le_arq
+	rtnbit1 wak
+	call le_check_tx_md
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_send_empty,blank
+	ifetch 1,contr
+	ifetcht 1,contr
+	copy temp,rega
+	isub rega,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	copy pdata,temp
+	ifetch 1,contr
+	copy pdata,type
+	copy rega,pdata
+	iadd contr,contr
+	arg mem_le_txpayload,contw
+	copy temp,loopcnt
+	call memcpy
+	call le_update_tx_type
+	call le_send_packet
+	
+	call le_fifo_get_first_tx_ptr
+	ifetch 1,contr
+	copy pdata,rega
+	copy contr,regc
+	ifetcht 1,contr
+	copy temp,regb
+	isub regb,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	iadd regb,pdata
+	istore 1,regc
+	isub rega,null
+	nrtn zero
+	branch le_fifo_release_first_node
+
+	
+le_check_tx_md:
+	call le_check_continue
+	rtnmark1 mark_ble_tx_md
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_TRANSMIT_PACKET_BY_MD,le_clear_md
+	call le_fifo_get_second_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	branch le_set_md
+
+	
+le_check_continue:
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	ifetch 1,contr				//pdata:length
+	ifetcht 1,contr				//temp:offest
+	isub temp,pdata			//pdata:length - offset
+	sub pdata,LE_MAX_PAKET_LEN,null	
+	branch le_clear_md,positive				//27 > length -offset
+le_set_md:
+	set1 mark_ble_tx_md,mark
+	rtn
+
+le_clear_md:
+	set0 mark_ble_tx_md,mark
+	rtn
+
+le_update_tx_type:
+	copy rega,pdata
+	rtn blank
+	arg LLID_CONTINUE,type
+	rtn
+
+
+le_att_check_notification_enable: // temp ->handle,output-> pdata,output :contr->rega
+	bpatchx patch2c_4,mem_patch2c
+	increase 1,temp
+	call le_att_get_handle_ptr
+	increase -2,contr
+	ifetch 2,contr
+	arg CLIENT_CHARACTERTIC_CONFIGURATION,temp
+	isub temp,null
+	nrtn zero
+	increase 1,contr
+	copy contr,rega
+	ifetch 1,contr
+	rtn
+	
+
+le_send_empty:
+	force 0,temp
+	force 1,type
+	
+le_send_packet:
+	bpatchx patch2c_5,mem_patch2c
+	storet 1,mem_le_txlen
+	fetcht 1,mem_le_arq
+	set1 wak,temp
+	and temp,0xfc,pdata
+	ior type,pdata
+	store 1,mem_le_arq
+	and_into 0x1f,pdata
+	isolate1 mark_ble_tx_md,mark
+	setflag true,md,pdata
+	store 1,mem_le_txheader
+
+	fetch 1,mem_le_txheader
+	compare 1,type,3
+	nbranch le_send_no_txlen,true
+	fetch 1,mem_le_txlen
+	rtn blank
+le_send_no_txlen:	
+	fetch 1,mem_le_state
+	rtnbit0 lestate_encryption
+	call load_sk
+	branch le_encrypt
+
+
+get_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_get_wake_lock
+
+put_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_put_wake_lock
+
+
+le_parse:
+	bpatchx patch2c_6,mem_patch2c
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,le_parse_ll
+le_parse_l2cap:
+	call le_check_l2cap_complete
+	nbranch get_lpm_wake_ble_rx_lock,user
+	call put_lpm_wake_ble_rx_lock
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr	//l2cap len
+	store 2,mem_le_l2cap_size
+	bpatchx patch2c_7,mem_patch2c
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+
+le_check_l2cap_complete:
+	fetch 1,mem_le_packet_llid
+	beq LLID_START,le_check_l2cap_llid_start
+	beq LLID_CONTINUE,le_check_l2cap_llid_continue
+	rtn
+
+//input: pdata is CID number
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_CID_legal:
+	call enable_user
+	arg LE_L2CAP_CID_ATT,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SIGNAL,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SMP,temp
+	isub pdata,null
+	rtn zero
+	branch disable_user
+
+	
+le_check_l2cap_llid_start:
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr
+	store 2,mem_le_l2cap_size
+	ifetch 2,contr			//CID
+	call le_check_l2cap_CID_legal
+	nrtn user
+	fetcht 1,mem_le_packet_size
+	storet 1,mem_le_packet_len_recved
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	isub temp,null
+	branch enable_user,zero
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	arg mem_le_l2capbuf,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy
+	branch disable_user
+
+//no input
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_continue_legal:
+	call enable_user
+	fetch 1,mem_le_packet_len_recved
+	nrtn blank
+	branch disable_user
+
+le_check_l2cap_llid_continue:
+	call le_check_l2cap_continue_legal
+	nrtn user
+	fetch 1,mem_le_packet_len_recved
+	arg mem_le_l2capbuf,contw
+	iadd contw,rega
+	fetcht 1,mem_le_packet_size
+	iadd temp,pdata
+	store 1,mem_le_packet_len_recved
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	copy rega,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy_fast
+	setarg mem_le_l2capbuf
+	store 2,mem_le_payload_ptr		//update ptr->mem_le_l2capbuff
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	fetcht 1,mem_le_packet_len_recved
+	isub temp,null
+	branch enable_user,zero
+	branch disable_user
+
+
+
+
+	
+le_get_search_att_type:
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+le_get_search_common:	
+	fetch 2,mem_le_l2cap_size
+	increase -5,pdata
+le_get_search_common2:		
+	istore 1,contw
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast	
+	
+le_get_search_att_uuid:
+	call store_contr
+	arg mem_le_search_uuid_length,contw
+	branch le_get_search_common
+
+
+	/* rega pointers to data, regb is length */
+le_writeatt_cb:
+	fetch 2,mem_cb_att_write
+	branch callback_func
+	
+le_supervision_update:
+	fetcht 4,mem_le_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_le_superto
+	lshift4 temp,temp
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+le_supervision_flush:
+	call get_clkbt
+	store 4,mem_le_supervision_timer
+	rtn
+
+
+le_adv:
+	jam 36,mem_le_ch_mapped
+	jam 0,mem_le_adv_channel_map_temp
+le_adv_loop:
+	bpatchx patch2d_0,mem_patch2d
+	fetch 1,mem_le_adv_enable
+	rtn blank
+	arg le_adv_interval_timer,queue
+	call timer_check
+	nrtn blank
+	bpatchx patch2d_1,mem_patch2d
+le_adv_loop_tx:
+	disable master
+	enable swfine
+	call le_init_adv
+	call le_next_adv_channel
+	call le_send_adv_ind
+	nbranch le_adv_not_match,match
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	fetch 1,mem_le_rxbuf
+	and pdata,0x0f,pdata
+	beq SCAN_REQ,le_send_scan_response
+	beq CONNECT_REQ,le_parse_connect_req
+le_adv_not_match:
+	bpatchx patch2d_2,mem_patch2d
+	random pdata 
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	call delay
+	fetch 1,mem_le_adv_channel_map_temp
+	fetcht 1,mem_le_adv_channel_map
+	isub temp,null
+	nbranch le_adv_loop,zero
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+	
+
+le_receive_window_size:
+	bpatchx patch2d_3,mem_patch2d
+	fetch 1,mem_le_peer_sca
+	call le_sca_map
+	fetch 2,mem_le_tsniff
+	imul32 temp,pdata
+	arg 375,temp
+	imul32 temp,pdata
+	arg 100000,temp
+	idiv temp
+	fetch 1,mem_le_window_size
+	arg 20000,temp
+	imul32 temp,pdata
+	iadd temp,pdata
+	store 4,mem_le_transmit_window
+	bpatchx patch2d_4,mem_patch2d
+	fetch 2,mem_rx_window_sniff
+	call wait_div_end
+	quotient temp
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	rtn
+
+le_parse_connect_req:
+	bpatchx patch2d_5,mem_patch2d
+	fetch 6,mem_le_rxbuf+8
+	fetcht 6,mem_le_lap
+	isub temp,null
+	nrtn zero
+	call le_scan_check_sender_addr_type
+	copy rega,pdata
+	store 1,mem_le_conn_peer_addr_type
+	fetch 7,mem_le_rxbuf+21
+	store 7,mem_tmp_buffer
+	ifetch 8,contr
+	istore 8,contw
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+	increase 6,contr
+	ifetch 8,contr
+	store 8,mem_le_access 	// and crcinit & window size
+	ifetcht 2,contr				// transmit offset
+	bpatchx patch2d_6,mem_patch2d
+//	increase 1,temp
+	lshift2 temp,temp			
+	ifetch 2,contr				// connInterval
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	store 4,mem_le_anchor
+	isub temp,pdata
+	add pdata,-2,clke_bt
+	ifetch 9,contr
+	store 9,mem_le_slave_latency// and super to & channel map
+	bpatchx patch2d_7,mem_patch2d
+	ifetch 1,contr
+	rshift4 pdata,temp
+	rshift temp,temp
+	storet 1,mem_le_peer_sca
+	and_into 0x1f,pdata
+	store 1,mem_le_hop
+	call le_receive_window_size
+	call le_calc_channel_map
+	call le_init_slave
+	call context_new
+	nrtn zero
+	bpatchx patch2e_0,mem_patch2e
+	call calc_clke_offset
+	call le_l2cap_reset_signaling_identifier
+	jam BT_EVT_LE_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+//	call app_get_lpm_wake_lock
+	branch context_save
+	
+
+le_init_attlist_search:
+	bpatchx patch2e_1,mem_patch2e
+	fetch 2,mem_le_search_handle_start
+	iforce regb
+	fetch 2,mem_le_search_handle_end
+	iforce regc
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+	enable user
+	rtn
+
+	/* return handle in pdata, blank:end of list, positive:in range */
+le_att_handle_inrange:
+	ifetch 2,contr
+	rtn blank
+	isub regb,null			/* less than start ? */
+	nrtn positive
+	isub regc,null			/* greater than end ? */
+	rtn zero
+	branch le_att_handle_blank,positive
+	force 1,null
+	rtn
+le_att_handle_blank:
+	force 0,pdata
+	rtn
+
+
+	/* handle in temp, return pointer in contr to length, blank not found */
+le_att_get_handle_ptr:
+	call le_att_get_handle_ptr2
+	branch le_att_get_handle_ptr_found,zero
+	rtn
+	
+le_att_get_handle_ptr2:
+	bpatchx patch2e_2,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_handle_loop1:
+	ifetch 2,contr
+	rtn blank
+	isub temp,null
+	rtn zero
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length  
+	iadd contr,contr
+	branch le_att_get_handle_loop1
+le_att_get_handle_ptr_found:
+	ifetch 1,contr
+	iadd contr,contr	
+	rtn	
+
+
+
+le_att_get_short_uuid_ptr:
+	bpatchx patch2e_3,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_short_uuid_loop:
+	ifetch 2,contr
+	rtn blank
+	ifetch 1,contr
+	iadd contr,contr
+	increase -2,contr
+	ifetch 2,contr
+	isub temp,null
+	rtn zero
+	ifetch 1,contr			 
+	iadd contr,contr
+	branch le_att_get_short_uuid_loop	
+
+
+
+le_att_get_handle_info_from_ptr:
+	fetch 2, mem_le_cur_attlist_start_ptr
+	branch le_att_get_handle_info_fast
+
+le_att_get_handle_info:
+	bpatchx patch2e_4,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+le_att_get_handle_info_fast:
+	iforce contr
+	copy temp,rega
+le_att_get_handle_loop:
+	ifetch 2,contr
+	branch le_att_unfind_handle,blank
+	isub rega,null
+	branch le_att_finded_handle, zero
+	ifetch 1,contr			// length  
+	iadd contr,contr	
+	ifetch 1,contr			//length 
+	iadd contr,contr
+	branch le_att_get_handle_loop
+le_att_unfind_handle:
+	branch disable_blank
+
+le_att_finded_handle:
+	ifetch 1,contr
+	store 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	arg mem_le_cur_uuid,contw
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_le_curr_att_len
+	call store_contr
+	branch enable_blank
+
+	
+le_modified_name:
+	bpatchx patch2e_5,mem_patch2e
+	call le_modified_name_att_list
+	branch le_modified_name_adv
+
+le_modified_name_att_list:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	ifetch 1,contr						// attribute length
+	copy contr,contw
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	isub temp,null
+	nbranch le_name_length_longer_than_att,positive
+	isub temp,temp
+	arg mem_le_name,contr
+	call memcpy
+	copy temp,loopcnt
+	ncall memcpy_empty,zero
+	rtn
+le_name_length_longer_than_att:
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy_fast
+
+
+le_modified_name_adv:
+	arg mem_le_adv_data_len+32,regc
+	arg mem_le_adv_data,rega
+	call le_modified_name_adv_and_scan
+	setarg 0
+	setflag user,0,pdata
+	store 1,mem_pdatatemp
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	call le_modified_name_adv_and_scan
+	rtn user
+	fetch 1,mem_pdatatemp
+	branch assert,blank
+	rtn
+
+
+le_modified_name_adv_and_scan:
+	bpatchx patch2e_6,mem_patch2e
+	call enable_user
+	call clear_temp_block
+	arg 0,regb	//current length
+	arg mem_le_data_temp,contw
+	call le_modified_name_adv_loop
+	fetch 1,mem_le_name_len
+	add pdata,1,temp
+	iadd regb,rega	
+	increase 2,rega
+	sub rega,0x1f,null
+	nbranch le_modified_name_adv_and_scan_name_overflow,positive
+	istoret 1,contw		//store ble name length
+	arg GAP_ADTYPE_LOCAL_NAME_COMPLETE,temp
+	istoret 1,contw		//store ble name type
+	iforce loopcnt
+	call memcpy_fast
+	copy rega,regb
+le_modified_name_adv_and_scan_store_data:
+	deposit regb
+	store 1,mem_le_data_len_temp
+	arg mem_le_data_len_temp,contr
+	setarg -32
+	iadd regc,contw
+	branch memcpy32
+
+le_modified_name_adv_and_scan_name_overflow:
+	call disable_user
+	branch le_modified_name_adv_and_scan_store_data
+	
+le_modified_name_adv_loop:
+	ifetch 1,rega		//pdata:length
+	rtn blank			//length is zero,ending find
+	pincrease 1		//length += 1
+	ifetcht 1,contr		//pdata:type
+	sub temp,GAP_ADTYPE_LOCAL_NAME_COMPLETE,null
+	branch le_modified_name_adv_found_name,zero
+	iadd regb,regb	
+	copy rega,contr
+	iforce loopcnt
+	call memcpy_fast
+	copy contr,rega
+le_modified_name_adv_loop2:
+	deposit rega
+	isub regc,null
+	rtn positive
+	branch le_modified_name_adv_loop
+
+le_modified_name_adv_found_name:
+	iadd rega,rega
+	branch le_modified_name_adv_loop2
+
+
+memcpy_empty:
+	setarg SPACE
+	istore 1,contw
+	loop memcpy_empty
+	rtn
+
+	
+le_lpm_set_mult:
+	bpatchx patch2e_7,mem_patch2e
+	disable wake
+	branch le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+
+	nbranch lpm_mult_short,match
+	bmark1 mark_old_packet,lpm_mult_short
+
+	fetch 1,mem_le_packet_size
+	nbranch lpm_mult_short,blank		// rx not empty, short interval
+	fetch 1,mem_le_txlen
+	nbranch lpm_mult_short,blank		// tx not empty, short interval
+	
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_SHORT_MULT,lpm_mult_short	//check flag,if flag is 1,always short mult
+	
+	fetch 1,mem_le_state
+	bbit1 lestate_update_param,lpm_mult_short
+	branch lpm_mult_wait_timeout
+	
+le_lpm_lost:
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_le_receive_window
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	branch lpm_lost
+
+///////////////////////////////BLE CONFIG//////////////////////////////////////////
+le_set_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_set_config
+
+le_clr_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_clr_config
+
+le_set_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_set_config
+
+le_clr_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_clr_config
+
+le_set_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_set_config
+
+le_clr_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_clr_config
+
+le_set_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_set_config
+
+le_clr_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_clr_config
+
+le_set_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_set_config
+
+le_clr_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_clr_config
+
+le_set_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_set_config
+
+le_clr_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_clr_config
+
+
+le_set_config:
+	fetch 1,mem_le_configuration
+	qset1 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_clr_config:
+	fetch 1,mem_le_configuration
+	qset0 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_set_fixed_ltk:
+	setarg 0x112233
+	store 3,mem_le_fixed_ltk
+	setarg 0x445566
+	istore 3,contw
+	setarg 0x778899
+	istore 3,contw
+	setarg 0x001122
+	istore 3,contw
+	setarg 0x334455
+	istore 3,contw
+	setarg 0x66
+	istore 1,contw
+	rtn
+
+
+le_set_justwork:
+	setarg 0x01000302
+	store 4,mem_le_pres
+	setarg 0x010010
+	store 3,mem_le_pres_max_keysize
+	jam 1,mem_le_pairing_mode
+	rtn
+
+/////////////////////////////////////////////////////////////////////////
+
+le_fifo_malloc_tx_empty:
+	arg 0,rega
+	arg LLID_EMPTY,type
+	branch le_fifo_malloc_tx
+
+
+//rega:len regb:ll opcode
+le_fifo_malloc_tx_ll:
+	arg LLID_LE_LL,type
+	call le_fifo_malloc_tx
+	copy regb,pdata
+	istore 1,contw
+	rtn
+	
+
+//rega:len regb:cid
+le_fifo_malloc_tx_l2cap:
+	force LLID_L2CAP_START,type
+	increase 4,rega
+	call le_fifo_malloc_tx
+	increase -4,rega
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//rega:len type:llid
+le_fifo_malloc_tx:
+	sub rega,240,null			//check max len
+	nbranch assert,positive
+	fetch 1,mem_le_tx_buff_used
+	arg 1,temp
+	arg LE_TX_BUFF_COUNT,loopcnt
+le_fifo_malloc_tx_loop:
+	iand temp,null
+	branch le_fifo_malloc_tx_got_empty,zero
+	lshift temp,temp
+	loop le_fifo_malloc_tx_loop
+	branch assert				//no empty buff
+le_fifo_malloc_tx_got_empty:
+	ixor temp,pdata
+	store 1,mem_le_tx_buff_used
+	sub loopcnt,LE_TX_BUFF_COUNT,pdata
+	lshift4 pdata,pdata
+	lshift4 pdata,pdata
+	arg mem_le_tx_buffer0,temp
+	iadd temp,temp
+le_fifo_tx_find_empty_ptr:
+	arg 0,loopcnt
+	arg mem_le_tx_ptr0,contr
+le_fifo_tx_find_empty_ptr_loop:
+	ifetch 2,contr
+	branch le_fifo_tx_found_empty_ptr,blank
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_COUNT,le_fifo_tx_find_empty_ptr_loop
+	branch assert
+
+	
+le_fifo_tx_found_empty_ptr:
+	increase -2,contr
+	istoret 2,contr
+	copy temp,contw
+	copy rega,pdata
+	istore 1,contw				//lengh
+	setarg 0
+	istore 1,contw				//offset
+	copy type,pdata
+	istore 1,contw				//LLID
+	rtn
+
+
+
+le_fifo_get_first_tx_ptr:
+	fetch 2,mem_le_tx_ptr0
+	copy pdata,contr
+	rtn
+
+le_fifo_get_second_tx_ptr:
+	fetch 2,mem_le_tx_ptr1
+	copy pdata,contr
+	rtn
+
+le_fifo_get_last_tx_ptr:
+	call le_fifo_get_last_tx_ptr0
+	copy pdata,contr
+	rtn
+le_fifo_get_last_tx_ptr0:
+	fetch 2,mem_le_tx_ptr3
+	nrtn blank
+	fetch 2,mem_le_tx_ptr2
+	nrtn blank
+	fetch 2,mem_le_tx_ptr1
+	nrtn blank
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+le_fifo_get_first_l2cap_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 3,contr
+	rtn
+
+le_fifo_get_first_att_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_att_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_l2cap_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 3,contr
+	rtn
+
+	
+
+le_fifo_check_full:
+	fetch 2,mem_le_tx_ptr3
+	rtn
+
+
+le_fifo_check_nearly_full:
+	fetch 2,mem_le_tx_ptr2
+	rtn
+
+	
+le_fifo_check_empty:
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+
+le_fifo_release_first_node:
+	fetch 2,mem_le_tx_ptr0
+	arg mem_le_tx_buffer0,temp
+	isub temp,pdata
+	rshift4 pdata,pdata
+	rshift4 pdata,queue
+	fetch 1,mem_le_tx_buff_used
+	qset0 pdata
+	store 1,mem_le_tx_buff_used
+	arg 0,loopcnt
+le_fifo_release_first_node_loop:
+	lshift loopcnt,pdata
+	arg mem_le_tx_ptr1,temp
+	iadd temp,temp
+	ifetch 2,temp
+	increase -2,temp
+	istore 2,temp
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_UPDATE_LOOPCNT,le_fifo_release_first_node_loop
+	setarg 0
+	istore 2,temp
+	rtn
+
+
+
+
+
+le_parse_att:
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_EXCHANGE_MTU_REQUEST,le_parse_att_exchange_mtu_request
+	beq ATTOP_EXCHANGE_MTU_RESPONSE,le_parse_att_exchange_mtu_response
+	beq ATTOP_FIND_INFORMATION_REQUEST,le_parse_att_find_information_request
+	beq ATTOP_FIND_BY_TYPE_VALUE_REQUEST,le_parse_att_find_by_type_value_request
+	beq ATTOP_READ_BY_TYPE_REQUEST,le_parse_att_read_by_type_request
+	beq ATTOP_READ_REQUEST,le_parse_att_read_request
+	beq ATTOP_READ_BLOB_REQUEST,le_parse_att_read_blob_request
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,le_parse_att_read_by_group_type_request
+	beq ATTOP_WRITE_REQUEST,le_parse_att_write_request
+	beq ATTOP_PREPARE_WRITE_REQUEST,le_parse_att_prepare_write_request
+	beq ATTOP_EXECUTE_WRITE_REQUEST,le_parse_att_execute_write_request
+	beq ATTOP_WRITE_COMMAND,le_parse_att_write_command
+	rtn
+
+
+le_send_att_exchange_mtu_requset:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_REQUEST
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+
+le_parse_att_exchange_mtu_request:
+	call le_parse_att_exchange_mtu_response
+le_send_att_exchange_mtu_response:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+le_parse_att_exchange_mtu_response:
+	rshift8 pdata,pdata
+	store 2,mem_le_remote_mtu
+	rtn
+
+le_parse_att_find_information_request:
+	call le_get_search_handle_start_end_common
+	call enable_user
+	branch le_send_att_find_information_response
+	
+le_send_att_find_information_response:
+	arg 3,timeup
+	call le_init_attlist_search
+le_send_att_find_information_res_loop:
+	call le_att_handle_inrange
+	branch le_send_att_find_information_res_end,blank
+	nbranch le_send_att_find_information_res_next,positive
+	increase -2,contr
+	call store_contr
+	call get_contw
+	nbranch le_send_att_find_information_res_store_info,user
+	call push_stack_rega_b_c
+	call disable_user
+	force 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	call pop_stack_rega_b_c
+	setarg ATTOP_FIND_INFORMATION_RESPONSE
+	istore 1,contw
+	setarg UUID_SIZE_16BIT
+	istore 1,contw
+le_send_att_find_information_res_store_info:
+	call get_contr
+	ifetch 2,contr
+	istore 2,contw
+	ifetch 1,contr
+	copy pdata,loopcnt
+	call memcpy
+	call store_contw
+	increase -1,timeup
+	branch le_send_att_find_information_res_end,zero
+le_send_att_find_information_res_cont:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_loop
+le_send_att_find_information_res_next:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_cont
+le_send_att_find_information_res_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_find_by_type_value_request:
+	call le_get_search_handle_start_end_common
+	ifetch 2,contr
+	store 2,mem_le_search_uuid
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+	fetch 2,mem_le_l2cap_size
+	increase -7,pdata
+	call le_get_search_common2
+	branch le_send_att_find_by_type_value_response
+
+
+le_start_end_handle_check_1:
+	disable user
+	fetcht 2,mem_le_search_handle_start
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	nbranch le_start_end_handle_check_1_fail,positive
+	deposit temp
+	rtnne 0
+le_start_end_handle_check_1_fail:
+	enable user
+	jam ATT_ERR_INVALID_HANDLE,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_send_att_find_by_type_value_response:
+	call le_start_end_handle_check_1
+	rtn user
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_GATT_PRIMARY_SERVICE
+	isub temp,null
+	branch le_send_att_find_by_type_value_res_primary,zero
+	branch le_send_att_error_response_notfound
+	
+
+le_send_att_find_by_type_value_res_primary:
+	jam LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,mem_le_search_res
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound,blank
+le_send_att_find_primary_search_loop:
+	fetcht 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound2,blank	
+	copy contr,rega
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	fetcht 1,mem_le_search_att_type_length
+	isub temp,null
+	nbranch le_send_att_find_primary_search_loop1,zero
+	arg mem_le_search_att_type,regb
+	call string_compare
+
+	branch le_send_att_find_primary_search_end_start_handle_found,zero
+
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	branch le_send_att_find_primary_search_end_ending_handle_found,zero
+le_send_att_find_primary_search_loop1:
+	fetch 2,mem_temp
+	increase 1,pdata
+	store 2,mem_temp
+	branch le_send_att_find_primary_search_loop
+
+le_send_att_error_response_notfound2:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,le_send_att_find_primary_search_end_ending_handle_found
+	branch le_send_att_error_response_notfound
+
+	
+le_send_att_find_primary_search_end_start_handle_found:
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	nbranch  le_send_att_find_primary_search_loop1,zero
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,mem_le_search_res
+//	copy rega,temp
+	fetcht 2,mem_temp
+	storet 2,mem_le_cur_handle_start
+	branch le_send_att_find_primary_search_loop1
+
+le_send_att_find_primary_search_end_ending_handle_found:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,le_send_att_find_primary_search_loop1
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE,mem_le_search_res
+	fetcht 2,mem_temp
+	increase -1,temp
+	storet 2,mem_le_cur_handle_end
+	
+le_send_att_find_primary_search_end:
+	arg 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+	rtn
+
+
+
+le_parse_att_read_by_type_request:
+	call le_get_search_handle_start_end_common
+	call le_get_search_att_uuid
+	branch le_send_att_read_by_type_response
+	
+le_send_att_read_by_type_response:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_CHRCTR_DEVICE_NAME
+	isub temp,null
+	branch le_send_att_read_by_type_res_device_name,zero
+	setarg UUID_GATT_CHARACTERISTIC
+	isub temp,null
+	nbranch le_send_att_read_by_type_res_not_characteristic,zero
+	arg 2,timeup
+le_send_att_read_by_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_type_response_end,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_type_response_end
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_response_next_handle,zero
+	nbranch le_send_att_read_by_type_res_found_next,user
+	disable user
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	copy contw,alarm
+	increase 1,contw
+	
+	call le_send_att_read_by_type_write_properties
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	call le_send_att_read_by_type_write_uuid
+	fetch 1,mem_le_cur_uuid_length
+	increase 5,pdata
+	istore 1,alarm
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+le_send_att_read_by_type_response_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_type_response_loop
+le_send_att_read_by_type_response_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+le_send_att_read_by_type_res_found_next:
+	call le_store_att_record
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	
+	call get_contw
+	fetch 2,mem_temp
+	increase -1,pdata
+	istore 2,contw
+	call le_write_att_record_common
+	call le_send_att_read_by_type_write_uuid
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+	branch le_send_att_read_by_type_response_next_handle
+
+	
+le_send_att_read_by_type_write_properties:
+	fetch 2,mem_temp
+	istore 2,contw
+	
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	call get_contr
+	call memcpy_fast
+	branch store_contw
+le_send_att_read_by_type_write_uuid:
+	call get_contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call store_contw
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	call get_contw	
+	call get_contr
+	isub loopcnt,contr
+	increase -1,contr
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_att_read_by_type_res_not_characteristic:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+le_send_att_read_by_type_res_not_char_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_error_response_notfound,positive
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_error_response_notfound
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_res_not_char_next,zero
+
+le_send_att_read_by_type_res_not_char_common:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call get_contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+	
+le_send_att_read_by_type_res_not_char_next:
+ 	call le_att_next_handle
+	branch le_send_att_read_by_type_res_not_char_loop
+
+
+le_send_att_read_by_type_res_device_name:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	increase -5,contr // point to handle
+	ifetch 2,contr		
+	store 2,mem_temp
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	arg mem_le_name,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+
+le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,le_send_att_read_response_check_auth
+
+le_send_att_read_response:
+	call le_att_get_handle_ptr
+	branch le_send_att_error_response_notfound,blank
+	increase -2,contr
+	ifetch 2,contr
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	isub temp,null
+	branch le_send_device_name,zero
+	ifetch 1,contr
+	sub pdata,22,null
+	branch le_send_att_read_response_less,positive
+	force 22,pdata
+le_send_att_read_response_less:
+	copy pdata,regc
+	call store_contr
+	add regc,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	copy regc,loopcnt
+	call get_contr
+	branch memcpy
+
+le_send_device_name:
+	call store_contr
+	fetch 1,mem_le_name_len
+	add pdata,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy
+	
+	
+le_send_att_read_response_check_auth:
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_read_response,zero
+//le_send_att_read_response_error_insufficient_auth:
+	call le_check_encrypt_state
+	nbranch le_send_att_read_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_parse_att_read_blob_request:
+	ifetch 2,contr
+	store 2,mem_le_att_offset
+le_send_att_read_blob_response:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BLOB_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_offset
+	iforce rega
+	fetcht 2,mem_le_att_handle
+	call le_att_get_handle_ptr 
+	branch le_send_att_error_response_notfound,blank
+	ifetch 1,contr
+	isub rega,loopcnt
+	nbranch le_send_att_error_response_notfound,positive
+	sub loopcnt,22,null
+	branch le_send_att_read_blob_response_less,positive
+	force 22,loopcnt
+le_send_att_read_blob_response_less:
+	deposit rega
+	iadd contr,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_read_by_group_type_request:
+	call le_get_search_handle_start_end_common
+ 	call le_get_search_att_type
+	branch le_send_att_read_by_group_type_response
+	
+//mem_le_search_att_type
+//mem_le_search_handle_start
+//mem_le_search_handle_end
+le_send_att_read_by_group_type_response:
+	arg 2,timeup
+	fetcht 2,mem_le_search_handle_start
+//	arg 23,pdata
+//	isub temp,null
+//	call ice_break,zero
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+le_send_att_read_by_group_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_group_type_end0,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_group_type_end1
+
+	call le_att_same_type
+	nbranch le_send_att_read_by_group_type_next_handle,zero
+	copy timeup,pdata
+	beq 0,le_send_att_read_by_group_type_end1
+	nbranch le_send_att_read_by_group_type_store_write_record,user		//un first
+	disable user
+	//first att uuid
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	increase 4,pdata
+	istore 1,contw
+	call store_contw
+	branch le_send_att_read_by_group_type_store_record
+le_send_att_read_by_group_type_store_write_record:
+	fetch 1,mem_le_curr_att_len
+	beq 16,le_send_att_read_by_group_type_end1
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	call le_write_att_record
+le_send_att_read_by_group_type_store_record:
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_start
+	call le_store_att_record
+	increase -1,timeup
+//	branch le_send_att_read_by_group_type_last_find,zero		
+le_send_att_read_by_group_type_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_group_type_response_loop
+
+le_send_att_read_by_group_type_end0:	//> att handle end
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end1:	//>att max list handle or diff len 
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end_common:
+	branch le_send_att_error_response_notfound,user
+	call le_write_att_record
+	branch le_send_auto_len_by_mem
+
+
+
+
+le_parse_att_write_request:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	call le_writeatt_cb
+le_send_att_write_response_check_auth:
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_WRITE_AUTH,le_send_att_write_response
+	
+	fetcht 2,mem_le_att_handle
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_write_response,zero
+	call le_check_encrypt_state
+	nbranch le_send_att_write_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+le_send_att_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+le_check_encrypt_state:
+	call disable_user
+	fetch 1,mem_le_pairing_mode
+	rtneq LE_PAIRING_MODE_NONE
+	fetch 1,mem_context
+	rtnbit1 lestate_encryption
+	branch enable_user
+
+
+le_parse_att_prepare_write_request:
+	add contr,2,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,regb
+	call le_writeatt_cb
+	branch le_send_att_prepare_write_response
+
+
+le_send_att_prepare_write_response:
+	fetch 2,mem_le_l2cap_size
+	copy pdata,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_PREPARE_WRITE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,loopcnt	
+	fetch 2,mem_le_payload_ptr
+	add pdata,7,contr
+	ifetch 2,contr		//offset
+	istore 2,contw
+	branch memcpy_fast
+
+
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXECUTE_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+
+
+le_parse_att_write_command:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	branch le_writeatt_cb
+
+
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_notify:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_NOTIFICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_indication:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_INDICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+
+///////////////////////////ATT common function////////////////////////////////////
+
+le_send_att_error_response_notfound:	
+	jam ATT_ERR_ATTRIBUTE_NOT_FOUND,mem_le_err_code
+le_send_att_error_response:	
+	force 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_ERROR_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_att_opcode
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 1,mem_le_err_code
+	istore 1,contw
+	rtn
+
+
+le_fifo_malloc_tx_l2cap_gatt:
+	force LE_L2CAP_CID_ATT,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
+le_att_next_handle:
+	fetcht 2,mem_temp
+	increase 1,temp
+	storet 2,mem_temp
+	rtn
+
+le_att_check_handle_end:
+	fetcht 2,mem_temp
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	rtn
+
+
+le_att_same_type:
+	fetcht 1,mem_le_search_att_type_length
+	arg mem_le_search_att_type,rega
+le_att_check_same_common:
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	isub temp,null
+	nrtn zero
+	arg mem_le_cur_uuid ,regb
+	branch string_compare
+
+le_att_same_uuid:
+	fetcht 1,mem_le_search_uuid_length
+	arg mem_le_search_uuid,rega
+	branch le_att_check_same_common
+
+
+le_store_att_record:
+	fetch 1,mem_le_curr_att_len
+	store 1, mem_tmp_buffer
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast
+
+
+le_write_att_record:
+	call get_contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+le_write_att_record_common:
+	fetch 1,mem_tmp_buffer
+	copy pdata,loopcnt
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_auto_len_by_mem:
+	call get_contw
+	call le_fifo_get_last_att_ptr
+	copy contw,pdata
+	isub contr,rega
+	call le_fifo_get_last_l2cap_ptr
+	copy rega,pdata
+	istore 2,contr
+	increase 4,rega
+	call le_fifo_get_last_tx_ptr
+	copy rega,pdata
+	istore 1,contr
+	rtn
+
+
+le_get_search_handle_start_end_common:
+	rshift8 pdata,pdata
+	store 2,mem_le_search_handle_start
+	ifetch 2,contr
+	store 2,mem_le_search_handle_end
+	rtn
+
+
+
+
+le_parse_signaling:
+	ifetch 1,contr
+	ifetcht 1,contr //id
+	ifetcht 2,contr //length
+	beq L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE,le_l2cap_parse_conn_parameter_update_rsp
+	rtn
+le_l2cap_parse_conn_parameter_update_rsp:
+	ifetch 2,contr	//result
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	jam BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+//mem_le_interval_min:the ptr that connection parameter,
+//include 	ConnIntervalMin,ConnIntervalMax,
+//		ConnSlaveLatency,ConnSupervisionTimeout
+le_l2cap_tx_update_req:
+	arg 0x0c,rega
+	arg L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST,regc
+	call le_fifo_malloc_tx_l2cap_signaling
+	setarg 0x08
+	istore 2,contw
+	fetch 8,mem_le_interval_min
+	istore 8,contw
+	rtn
+
+
+//rega:len regc:signaling opcode
+le_fifo_malloc_tx_l2cap_signaling:
+	call le_l2cap_update_signaling_identifier
+	arg LE_L2CAP_CID_SIGNAL,regb
+	call le_fifo_malloc_tx_l2cap
+	copy regc,pdata
+	istore 1,contw
+	fetch 1,mem_le_signaling_identifier
+	istore 1,contw
+	rtn
+
+
+le_l2cap_update_signaling_identifier:
+	fetch 1,mem_le_signaling_identifier
+	//beq 0xff,le_l2cap_signaling_identifier_set_1
+	pincrease 1
+	store 1,mem_le_signaling_identifier
+	rtnne 0
+	
+le_l2cap_reset_signaling_identifier:
+	jam 1,mem_le_signaling_identifier
+	rtn
+
+
+
+
+le_pairing_mode_init:
+	fetch  1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_set_pairing_mode_lagacy_passkey
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_set_pairing_mode_secure_passkey
+	rtn
+
+le_set_pairing_mode_secure_justwork:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_secure_numeric:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_secure_passkey:	
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_displayonly
+le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	rtn
+
+	
+le_secure_connection_enable:
+	fetch 1,mem_le_pres_auth
+	set1 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+le_secure_connection_disable:
+	fetch 1,mem_le_pres_auth
+	set0 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+
+le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_REQUEST,le_parse_smp_pairing_request
+//	beq SMP_PAIRING_RESPONSE,le_parse_smp_pairing_response
+	beq SMP_PAIRING_CONFIRM,le_parse_smp_pairing_confirm
+	beq SMP_PAIRING_RANDOM,le_parse_smp_pairing_random
+	beq SMP_PAIRING_FAILED,le_parse_smp_pairing_failed
+	beq SMP_ENCRYPTION_INFORMATION,le_parse_smp_encryption_information
+	beq SMP_MASTER_IDENTIFICATION,le_parse_smp_master_identification
+	beq SMP_IDENTITY_INFORMATION,le_parse_smp_identity_information
+	beq SMP_IDENTITY_ADDRESS_INFORMATION,le_parse_smp_identity_address_information
+	beq SMP_SIGNING_INFORMATION,le_parse_smp_signing_information
+	beq SMP_SECURITY_REQUEST,le_parse_smp_security_request
+	beq SMP_PAIRING_PUBLIC_KEY,le_parse_smp_public_key
+	beq SMP_PAIRING_DHKEY_CHECK,le_parse_smp_dhkey_check
+	rtn
+
+
+
+le_send_smp_security_request:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_SECURITY_REQUEST
+	istore 1,contw
+	fetch 1,mem_le_pres_auth
+	istore 1,contw
+	rtn
+		
+le_parse_smp_pairing_request:
+	store 1,mem_le_preq
+	ifetch 6,contr
+	istore 6,contw
+	fetch 1,mem_le_pairing_mode
+	beq  LE_PAIRING_MODE_NONE,le_smp_pairing_fail_reason_not_support_pairing
+	call le_send_smp_pairing_response
+	call le_check_master_support_secure_connect
+	jam FLAG_LE_PAIRING_RCV_PAIRING_REQ,mem_le_pairing_state
+	fetch 1,mem_le_preq_iocap
+	beq  FLAG_IOCAP_DISPlAYONLY,le_set_tk_0
+	beq  FLAG_IOCAP_DISPLAYYESNO,le_set_tk_0
+	beq  FLAG_IOCAP_NOINPUTNOOUTPUT,le_set_tk_0
+	fetch 1,mem_le_pairing_mode	
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_parse_smp_pairing_req_passkey
+	rtneq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+le_set_tk_0:
+	arg 0,pdata
+	store 4,mem_le_tk
+	rtn
+
+le_parse_smp_pairing_req_passkey:
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PASSKEY_FIXED_KEY,le_parse_smp_pairing_req_fixed_passkey
+le_genernate_tk:
+	arg mem_le_tk,rega
+	copy rega,contw
+	arg 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_le_tk + 2
+	and_into 0x7,pdata
+	store 2,mem_le_tk + 2
+le_parse_smp_pairing_req_fixed_passkey:
+	jam BT_EVT_LE_TK_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_check_master_support_secure_connect:
+	fetch 1,mem_le_preq_auth
+	rtnbit1  LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	branch app_ble_disconnect	
+
+le_send_smp_pairing_response:
+	force 7,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	fetch 7,mem_le_pres
+	istore 7,contw
+	rtn
+		
+
+le_parse_smp_pairing_confirm:
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_confirm_secure_passkey
+	copy rega,contr
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	branch le_send_smp_pairing_confirm
+le_parse_smp_pairing_confirm_secure_passkey:
+	copy rega,contr
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+	rtn
+
+
+le_send_smp_pairing_confirm:
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_send_smp_pairing_confirm_sc
+	call generate_confirm
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  store_aes_result
+
+	
+le_send_smp_pairing_confirm_sc:
+	arg mem_le_srand,contw	
+	call generate_random
+	call function_f4_cb
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  load_inverse_result
+
+
+	
+le_parse_smp_pairing_random:	
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_parse_smp_pairing_random_sc
+	copy rega,contr
+	call authenticate_rconfirm
+	branch le_parse_smp_pairing_random_success,zero
+le_send_pairing_confirm_value_failed:
+	jam PAIRING_FAILED_CONFIRM_VALUE_FAILED,mem_le_ll_pairing_fail_reason
+le_send_pairing_failed:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_FAILED
+	istore 1,contw
+	fetch 1,mem_le_ll_pairing_fail_reason
+	istore 1,contw	
+le_parse_smp_pairing_failed:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_smp_pairing_fail_reason_not_support_pairing:
+	jam PAIRING_FAILED_PAIRING_NOT_SUPPORTED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+	
+	
+le_parse_smp_pairing_random_sc:
+	arg mem_le_mrand,contw
+	copy rega,contr
+	call memcpy16	
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_random_sc_passkey
+	call function_g2
+//	jam LE_SC_STAT_RECEIVE_RANDOM,mem_le_secure_connect_state
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	call le_send_smp_pairing_random
+	fetch 1,mem_le_pairing_mode
+	rtnne LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+	jam BT_EVT_LE_GKEY_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+le_parse_smp_pairing_random_sc_passkey:
+	call function_f4_ca
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result	
+	arg mem_AES_CMAC_temp,rega
+	arg mem_le_rconfirm ,regb
+	arg 16,loopcnt
+	call string_compare
+	nbranch le_send_pairing_confirm_value_failed,zero
+	branch le_send_smp_pairing_random
+	
+le_parse_smp_pairing_random_success:
+	call generate_stk
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	jam 1,mem_ltk_exists
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	
+le_send_smp_pairing_random:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_RANDOM
+	istore 1,contw
+	arg mem_le_srand,contr
+	branch memcpy16
+	
+le_parse_smp_encryption_information:
+	arg mem_le_peer_ltk,contw
+	branch memcpy16
+
+le_send_smp_encryption_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_ENCRYPTION_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PAIRING_FIXED_LTK,le_send_fixed_ltk
+	arg mem_le_ltk,contr
+	branch memcpy16
+
+le_send_fixed_ltk:
+	arg mem_le_fixed_ltk,contr
+	branch memcpy16
+
+
+le_send_smp_master_identification:
+	arg mem_le_ediv,contw
+	force 10,loopcnt
+	call generate_random_loop
+	force 11,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_MASTER_IDENTIFICATION
+	istore 1,contw
+	fetch 2,mem_le_ediv
+	istore 2,contw
+	fetch 8,mem_le_rand
+	istore 8,contw
+	rtn
+
+le_send_smp_identity_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_INFORMATION
+	istore 1,contw
+	setarg 0
+	istore 8,contw
+	istore 8,contw
+	rtn
+	
+
+le_send_smp_identity_address_information:
+	force 8,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_ADDRESS_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	fetch 6,mem_le_lap	
+	istore 6,contw
+	rtn	
+
+
+le_send_pairing_fail_unspecified_reason:
+	jam PAIRING_FAILED_UNSPECIFIED_REASON,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+le_check_init_key_distribution:
+	fetch 1,mem_le_pres_init_key_distribution
+	fetcht 1,mem_le_pres_init_key_distribution
+	iand temp,pdata
+	rtn	
+
+le_parse_smp_identity_information:
+	arg mem_le_irk,contw
+	call memcpy16
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	nrtn user
+	branch app_ble_store_reconn_info
+
+//output:user is enable ,random addr type
+le_check_master_addr_type:
+	call disable_user
+	fetch 1,mem_le_conn_peer_addr_type
+	rtneq MASTER_PUBLIC_ADDR
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	rtn true
+	branch enable_user
+
+le_parse_smp_identity_address_information:
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	rtn
+
+le_parse_smp_master_identification:
+le_parse_smp_signing_information:	
+le_parse_smp_security_request:
+	rtn
+	
+le_parse_smp_public_key:
+	arg mem_le_pubkey_remote_x_256,contw	
+	call memcpy64
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_RECEIVE_PUBLIC_KEY,mem_le_secure_connect_state
+	rtn
+
+le_parse_smp_dhkey_check:
+	arg mem_sp_confirm_remote,contw
+	call memcpy16	
+	jam LE_SC_STAT_RECEIVE_DHKEY,mem_le_secure_connect_state
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn	
+
+le_send_smp_pairing_public_key:
+	force 65,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_PUBLIC_KEY
+	istore 1,contw	
+	arg mem_le_pubkey_local_x_256,contr
+	branch memcpy64
+	
+le_send_smp_pairing_dhkey_check:
+	call function_f6_eb	
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_DHKEY_CHECK
+	istore 1,contw
+	branch load_inverse_result
+	
+
+le_check_paring_time:
+	fetch 1,mem_le_pairing_state
+	rtneq FLAG_LE_PAIRING_END
+	arg FLAG_LE_PAIRING_RCV_PAIRING_REQ,temp
+	isub temp,null
+	nrtn positive
+	arg smp_pairing_timer,queue
+	call timer_check
+	nrtn blank
+	branch le_send_pairing_fail_unspecified_reason
+
+le_pairing_sm:
+	bpatchx patch2f_0,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_NULL,le_pairing_sm_null
+	beq FLAG_LE_PAIRING_START,le_pairing_sm_start
+	beq FLAG_LE_PAIRING_SEND_RECURITY_REQ,le_pairing_sm_send_sec_req
+	beq FLAG_LE_PAIRING_RCV_PAIRING_REQ,le_pairing_sm_rcv_pairing_req
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_pairing_sm_after_auth
+	beq FLAG_LE_PARING_SEND_ENC_INFORMATION,le_pairng_sm_send_enc_information
+	beq FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,le_pairng_sm_send_master_indentification
+	beq FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,le_pairng_sm_send_indentity_information
+	rtn
+
+le_pairing_sm_null:
+le_pairing_sm_send_sec_req:
+	fetch 1,mem_le_enc_state
+	rtnne FLAG_LE_SEND_START_ENC_RSP
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_RECONNECT_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+	
+le_pairing_sm_start:
+	jam FLAG_LE_PAIRING_SEND_RECURITY_REQ,mem_le_pairing_state
+	branch le_send_smp_security_request
+
+le_pairing_sm_rcv_pairing_req:
+	jam FLAG_LE_PAIRING_AUTH,mem_le_pairing_state
+	setarg TIMER_SMP_PAIRING_TIMEOUT
+	arg smp_pairing_timer,queue
+	branch timer_init
+	
+le_pairing_sm_after_auth:
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_SEND_START_ENC_RSP,le_pairing_sm_after_auth_start_enc
+	rtn
+	
+le_pairing_sm_after_auth_start_enc:
+	jam FLAG_LE_PARING_SEND_ENC_INFORMATION,mem_le_pairing_state
+	jam BT_EVT_LE_ENC_INFO,mem_fifo_temp
+	call ui_ipc_send_event
+	call le_send_smp_encryption_information
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	rtn user
+	branch app_ble_store_reconn_info
+
+
+le_pairng_sm_send_enc_information:	
+	jam FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,mem_le_pairing_state
+	branch le_send_smp_master_identification
+
+le_pairng_sm_send_master_indentification:	
+	fetch 1,mem_le_preq_resp_key_distribution
+	fetcht 1,mem_le_pres_resp_key_distribution
+	iand temp,pdata
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_parse_start_enc_rsp_after_auth_end,true
+	jam FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,mem_le_pairing_state
+	branch le_send_smp_identity_information
+
+le_pairng_sm_send_indentity_information:		
+	call le_send_smp_identity_address_information
+	branch le_parse_start_enc_rsp_after_auth_end
+
+
+le_parse_start_enc_rsp_after_auth_end:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+
+
+le_secure_connect_sm:
+	bpatchx patch2f_1,mem_patch2f
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	fetch 1,mem_le_secure_connect_flag
+	rtnne LE_SP_FLAG_COMMIT_256
+	jam SP_FLAG_STANDBY,mem_le_secure_connect_flag
+	fetch    1,mem_le_secure_connect_state
+	beq  LE_SC_STAT_RECEIVE_PUBLIC_KEY,le_sc_sm_receive_public_key
+	beq LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,le_sc_sm_wait_send_public_key
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,le_sc_sm_send_public_key
+	beq LE_SC_STAT_RECEIVE_DHKEY,le_sc_sm_receive_dhkey
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,le_sc_sm_wait_confirm_gkey
+	beq  LE_SC_STAT_PASSKEY_WAIT_CONFIRM,le_sc_sm_passkey_wait_confirm
+	rtn	
+
+
+le_sc_sm_passkey_wait_confirm:
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+	fetch 4,mem_le_tk
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	branch le_sc_sm_ready_send_pairing_confirm
+	
+le_sc_sm_wait_confirm_gkey:
+	fetch 1,mem_le_sc_confirm_gkey_flag
+	jam FLAG_LE_SC_CONFRIM_NULL,mem_le_sc_confirm_gkey_flag
+	beq FLAG_LE_SC_CONFRIM_GKEY_OK,le_sc_confirm_gkey_ok
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_sc_confirm_gkey_ok:
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	branch le_send_smp_pairing_dhkey_check
+
+le_sc_sm_receive_dhkey:
+	fetch 1,mem_sp_dhkey_invalid
+	beq SP_KEY_VALID_256,le_dhkey_ready
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+
+le_dhkey_ready:
+	call function_f5
+//	arg mem_le_r,contw
+//	force 2,loopcnt
+//	call memset0
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_dhkey_ready_common
+	call le_set_tk_0 
+le_dhkey_ready_common:
+	call function_f6_ea
+	arg mem_AES_CMAC_temp,rega
+	arg mem_sp_confirm_remote ,regb
+	arg 16,loopcnt
+	call string_compare
+	branch le_dhkey_check_ok,zero
+le_dhkey_check_fail:	
+	jam PAIRING_FAILED_DHKEY_CHECK_FAILED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+	
+le_dhkey_check_ok:
+	call sp_calc_check_publickey_256
+	nbranch le_dhkey_check_fail,zero
+	jam 1,mem_ltk_exists
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_sc_confirm_gkey_ok
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_sc_confirm_gkey_ok	
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_WAIT_CONFIRM_GKEY,mem_le_secure_connect_state	
+	rtn	
+
+le_sc_sm_send_public_key:
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_sc_sm_send_public_key_passkey
+	jam 0,mem_passkey_1bit
+le_sc_sm_ready_send_pairing_confirm:
+	branch le_send_smp_pairing_confirm
+
+le_sc_sm_send_public_key_passkey:
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+//	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+//	branch p_ng_event_le_get_passkey
+	jam 0,mem_authentication_passkey_times
+	branch le_parse_smp_pairing_req_passkey
+
+	
+le_sc_sm_receive_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	fetch 1,mem_le_sc_local_key_invalid
+	beq SP_KEY_VALID_256,le_public_key_ready
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_public_key_ready:
+	jam LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,mem_le_secure_connect_state	
+	jam SP_KEY_INVALID,mem_sp_dhkey_invalid
+	branch sp_dhkey_calc_256	
+
+le_sc_sm_wait_send_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_SEND_PUBLIC_KEY,mem_le_secure_connect_state
+	branch le_send_smp_pairing_public_key
+
+
+
+le_fifo_malloc_tx_l2cap_smp:
+	force LE_L2CAP_CID_SMP,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
+
+le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CONNECTION_UPDATE_REQ,le_parse_connection_update_req
+	beq LL_CHANNEL_MAP_REQ,le_parse_channel_map_req
+	beq LL_TERMINATE_IND,le_parse_terminate_ind
+	beq LL_ENC_REQ,le_parse_enc_req
+	beq LL_ENC_RSP,le_parse_enc_rsp
+	beq LL_START_ENC_REQ,le_parse_start_enc_req
+	beq LL_START_ENC_RSP,le_parse_start_enc_rsp
+	beq LL_UNKNOWN_RSP,le_parse_unknown_rsp
+	beq LL_FEATURE_REQ,le_parse_feature_req
+	beq LL_FEATURE_RSP,le_parse_feature_rsp
+	beq LL_PAUSE_ENC_REQ,le_parse_pause_enc_req
+	beq LL_PAUSE_ENC_RSP,le_parse_pause_enc_rsp
+	beq LL_VERSION_IND,le_parse_version_ind
+	beq LL_REJECT_IND,le_parse_reject_ind
+	beq LL_PING_REQ,le_parse_ping_req
+	beq LL_PING_RSP,le_parse_ping_rsp
+	arg 2,rega
+	arg LL_UNKNOWN_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 1,mem_le_rxbuf+2
+	istore 1,contw
+	rtn	
+
+
+le_parse_connection_update_req:
+	ifetch 9,contr
+	store 9,mem_le_new_param
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetch 1,mem_le_state
+	set1 lestate_update_param,pdata
+	store 1,mem_le_state
+	rtn
+
+le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetcht 2,mem_le_event_count
+	isub temp,null
+	nbranch le_parse_terminate_ind,positive
+	fetch 1,mem_le_state
+	set1 lestate_update_map,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_parse_terminate_ind:
+	setarg 20 // 200ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+le_send_terminate_ind_user_terminated:
+	arg ERROR_REMOTE_USER_TERMINATED_CONNECTION,regc
+
+//regc:The ErrorCode field shall be set to inform the remote device why the connection is about to be terminated.
+le_send_terminate_ind:
+	arg 2,rega
+	arg LL_TERMINATE_IND,regb
+	call le_fifo_malloc_tx_ll
+	copy regc,pdata
+	istore 1,contw
+	rtn
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+	arg 9,rega
+	arg LL_FEATURE_RSP,regb
+	call le_fifo_malloc_tx_ll
+	setarg param_le_features
+	istore 8,contw
+	rtn
+
+
+le_parse_version_ind:
+	rtn master
+le_send_version_ind:
+	arg 6,rega
+	arg LL_VERSION_IND,regb
+	call le_fifo_malloc_tx_ll
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	rtn
+
+
+le_parse_ping_req:
+	arg LL_PING_RSP,regb
+	branch le_send_ll_one_lenth
+
+//regb:ll opcode
+le_send_ll_one_lenth:
+	arg 1,rega
+	branch le_fifo_malloc_tx_ll
+
+	
+le_parse_enc_req:
+	ifetch 8,contr
+	store 8,mem_le_rand
+	ifetch 2,contr
+	store 2,mem_le_ediv
+	ifetch 8,contr
+	store 8,mem_le_skdm
+	ifetch 4,contr
+	store 4,mem_le_ivm
+	call le_send_enc_rsp
+	bpatchx patch2f_2,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_parse_enc_req_after_auth
+	fetch 1,mem_le_configuration
+	bbit1  BIT_BLE_PAIRING_FIXED_LTK,le_parse_enc_req_fixed_ltk
+	fetch 1,mem_nv_data_number
+	ncall load_device_list_mode_4,blank
+	fetch 1,mem_ltk_exists
+	beq 0,le_ltk_lost
+le_parse_enc_req_after_auth:
+	jam FLAG_LE_RCV_ENC_START,mem_le_enc_state
+	call  le_send_start_enc_req
+	branch generate_sk
+
+le_parse_enc_req_fixed_ltk:
+	jam 1,mem_ltk_exists
+	arg mem_le_fixed_ltk,contr
+	arg mem_le_ltk,contw
+	call memcpy16
+	branch le_parse_enc_req_after_auth
+
+
+le_ltk_lost:
+	bpatchx patch2f_3,mem_patch2f
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_ENC_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_LTK_LOST,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_send_reject_ind:
+	arg 2,rega
+	arg LL_REJECT_IND,regb
+	call le_fifo_malloc_tx_ll
+	setarg LE_ERR_PIN_OR_KEY_MISSING
+	istore 1,contw
+	rtn		
+	
+le_send_enc_rsp:
+	arg mem_le_skds,contw
+	force 8,loopcnt
+	call generate_random_loop
+	arg mem_le_ivs,contw
+	force 4,loopcnt
+	call generate_random_loop
+	arg 13,rega
+	arg LL_ENC_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 8,mem_le_skds
+	istore 8,contw
+	fetch 4,mem_le_ivs
+	istore 4,contw
+	rtn
+
+le_send_start_enc_req:
+	arg LL_START_ENC_REQ,regb
+	branch le_send_ll_one_lenth
+
+le_send_start_enc_rsp:
+	arg LL_START_ENC_RSP,regb
+	branch le_send_ll_one_lenth
+	
+	
+le_parse_enc_rsp:
+	ifetch 8,contr
+	store 8,mem_le_skds
+	ifetch 4,contr
+	store 4,mem_le_ivs
+	branch generate_sk
+	
+le_parse_start_enc_req:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+	
+le_parse_start_enc_rsp:
+	rtn master
+	jam BT_EVT_LE_START_ENC,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_SEND_START_ENC_RSP,mem_le_enc_state
+	branch le_send_start_enc_rsp
+	
+le_parse_pause_enc_req:
+	jam FLAG_LE_ENC_PAUSE,mem_le_enc_state
+	call le_send_pause_enc_rsp	
+	jam BT_EVT_LE_PAUSE_ENC,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+le_send_pause_enc_rsp:
+	arg LL_PAUSE_ENC_RSP,regb
+	branch le_send_ll_one_lenth	
+			
+
+le_parse_feature_rsp:
+le_parse_unknown_rsp:
+le_parse_pause_enc_rsp:
+le_parse_reject_ind:
+le_parse_ping_rsp:
+	rtn
+
+
+	
+/******************************************/
+/*************   LMP Parse   **************/
+/******************************************/
+init_lmp:
+	rtn wake
+init_lmp_work:
+	bpatchx patch2f_4,mem_patch2f
+	setarg 0
+	store 1,mem_lmp_to_send
+	store 1,mem_conn_sm
+	store 1,mem_lmo_opcode1
+	store 1,mem_lmo_opcode2
+	store 1,mem_esco_addr
+	store 1,mem_auth_enable
+	store 1,mem_connection_options
+	store 1,mem_pairing_auth
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam 0,mem_switch_fail_master_count
+	jam NULL_ENCRYP,mem_wait_encryption
+init_lmp_reinit:	
+	jam 0,mem_pairing_auth
+	jam 0,mem_sp_localsm
+	jam 0,mem_lmp_conn_state
+	//fall through
+parse_rx_done:
+	rtn
+
+parse_lmp:
+	bpatchx patch2f_5,mem_patch2f
+	call setlocalsm_master,master	//use this flag in hci
+	ncall setlocalsm_slave,master
+	call lmo_fifo_check
+	nrtn blank
+	fetch 1,mem_state_map
+	rtnbit0 smap_rxlmp
+	set0 smap_rxlmp,pdata
+	set0 mark_rxbuf_inuse,mark
+	store 1,mem_state_map
+	fetch 1,mem_rxbuf
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptidinit,pdata
+	setflag true,smap_lmptid,temp
+	storet 1,mem_state_map
+	and_into 0x2,temp //smap_lmptid only
+	storet 1,mem_lmo_tid2
+	fetcht 1,mem_state_map
+	rshift pdata,pdata			/* align lmp_opcode */
+  	store 1,mem_lmi_opcode2
+	bpatchx patch2f_6,mem_patch2f
+  	fetch 1,mem_lmi_opcode2
+  	beq LMP_ESCAPE,parse_lmp_escape//multi
+  	beq LMP_ACCEPTED,parse_lmp_accepted//multi
+	beq LMP_NOT_ACCEPTED,parse_lmp_not_accepted//multi
+  	beq LMP_SET_AFH, parse_lmp_set_afh
+  	beq LMP_CLKOFFSET_REQ, parse_lmp_clkoffset_req
+ 	beq LMP_ENCRYPTION_MODE_REQ, parse_lmp_encryption_mode_req
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_crypt_key
+	beq LMP_AUTO_RATE,parse_lmp_auto_rate
+	beq LMP_TEST_CONTROL,parse_lmp_test_control//multi
+	beq LMP_TEST_ACTIVATE,parse_lmp_test_activate
+	beq LMP_SETUP_COMPLETE,parse_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,parse_lmp_supervision_timeout
+	beq LMP_FEATURES_REQ,parse_lmp_features_req
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_conn_req
+	beq LMP_VERSION_REQ,parse_lmp_version_req
+	beq LMP_VERSION_RES,parse_lmp_version_res
+	beq LMP_DETACH,parse_lmp_detach
+	beq LMP_MAX_SLOT,parse_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ,parse_lmp_max_slot_req
+	beq LMP_NAME_REQ,parse_lmp_name_req
+	beq LMP_NAME_RES,parse_lmp_name_res
+	beq LMP_FEATURES_RES,parse_lmp_features_res
+	beq LMP_COMB_KEY,parse_lmp_comb_key
+	beq LMP_AU_RAND, parse_lmp_au_rand
+	beq LMP_IN_RAND,parse_lmp_in_rand
+	beq LMP_SRES,parse_lmp_sres
+	beq LMP_INCR_POWER_REQ,parse_lmp_incr_power
+	beq LMP_DECR_POWER_REQ,parse_lmp_decr_power
+	beq LMP_MAX_POWER, parse_lmp_max_power
+	beq LMP_MIN_POWER, parse_lmp_min_power
+	beq LMP_PAGE_MODE_REQ, parse_lmp_page_mode_req
+	beq LMP_PAGE_SCAN_MODE_REQ, parse_lmp_page_scan_mode_req
+	beq LMP_PREFERRED_RATE, parse_lmp_preferred_rate
+	beq LMP_SLOT_OFFSET, parse_lmp_slot_offset
+	beq LMP_SNIFF_REQ, parse_lmp_sniff_req
+	beq LMP_START_ENCRYPTION_REQ, parse_lmp_start_encryption_req
+	beq LMP_STOP_ENCRYPTION_REQ, parse_lmp_stop_encryption_req
+	beq LMP_SWITCH_REQ, parse_lmp_switch_req
+	beq LMP_TEMP_RAND, parse_lmp_temp_rand
+	beq LMP_TEMP_KEY, parse_lmp_temp_key
+	beq LMP_TIMING_ACCURACY_REQ, parse_lmp_timing_accuracy_req
+	beq LMP_TIMING_ACCURACY_RES, parse_lmp_timing_accuracy_res
+	beq LMP_UNIT_KEY, parse_lmp_unit_key
+	beq LMP_UNSNIFF_REQ, parse_lmp_unsniff_req
+	beq LMP_USE_SEMI_PERMANENT_KEY, parse_lmp_use_semi_permanend_key
+	beq  LMP_ENCAPSULATED_HEADER,parse_lmp_encapsulated_header
+	beq  LMP_ENCAPSULATED_PAYLOAD,parse_lmp_encapsulated_payload
+	beq	LMP_SIMPLE_PAIRING_CONFIRM,parse_simple_pairing_confirm
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_simple_pairing_number
+	beq  LMP_DHKEY_CHECK,parse_dhkey_check
+	beq LMP_CLKOFFSET_RES, parse_lmp_clkoffset_res
+	beq LMP_ENC_KEY_SIZE_MASK_REQ,parse_enc_key_size_mask_req
+/* lmp is not recognized, check to see if we respond to all messages */ 
+/* rejecting the unrecognized message with PDU not recognized */
+reject_unknown_packet:
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+reject_lmp_packet:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_clkoffset_req:
+	jam LMP_CLKOFFSET_RES,mem_lmo_opcode2
+	rtn	
+
+parse_enc_key_size_mask_req:
+	jam LMP_ENC_KEY_SIZE_MASK_RES,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_set_afh:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	store 4,mem_afh_instant
+	fetch 1,mem_rxbuf+5
+	store 1,mem_afh_new_mod
+	fetch 5,mem_rxbuf+6
+	store 5,mem_afh_map_new
+	fetch 5,mem_rxbuf+11
+	istore 5,contw
+	fetch 1,mem_mode
+	set1 afh_change,pdata
+	store 1,mem_mode
+	rtn
+parse_lmp_escape:
+	bpatchx patch2f_7,mem_patch2f
+	fetch 1,mem_rxbuf+1
+	set1 7,pdata
+	store 1,mem_lmi_opcode2
+	beq LMP_EXT_ACCEPTED,parse_lmpext_accepted
+	beq LMP_NOT_ACCEPTED_EXT,parse_lmpext_not_accepted
+	beq LMP_SNIFF_SUBRATING_REQ, parse_lmp_sniff_subrating_req
+	beq LMP_SNIFF_SUBRATING_RES, parse_lmp_sniff_subrating_res
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_packet_type_table_req
+	beq LMP_EXT_FEATURES_REQ,parse_lmpext_features_req
+	beq LMP_EXT_FEATURES_RES,parse_lmpext_features_res
+	beq LMP_EXT_CHN_CLASSIFICATION_REQ,parse_lmpext_chn_classification_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,parse_lmpext_pause_encrypt
+	beq LMP_RESUME_ENCRYPTION_REQ,parse_lmpext_resume_encrypt
+	beq LMP_IO_CAP_REQ,parse_lmpext_iocap_req
+	beq LMP_IO_CAP_RES,parse_lmpext_iocap_res
+	rtneq LMP_EXT_FEATURES_RES
+
+
+reject_unknown_ext_packet:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+	
+	rtn
+parse_lmpext_chn_classification_req:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam NOT_SUPPORT_CHN_CLASSIFICATION,mem_lmo_reason2
+	rtn
+	
+parse_lmpext_iocap_req:
+	call iocap_lmpext_load
+	jam LMP_IO_CAP_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_iocap_res:
+	call iocap_lmpext_load
+	branch iocap_lmpext_common
+	
+iocap_lmpext_load:
+	arg      mem_sp_iocap_remote,contw
+	fetch 3, mem_rxbuf+2
+	istore    3,contw
+	rtn
+	
+iocap_lmpext_common:
+	branch master_set_mem_master_sp_flag,true//is un very ok to use master flag,but we have to add many codes if wo don't
+	rtn
+parse_lmpext_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_accepted_ptt
+	rtn
+
+	
+parse_lmpext_not_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_not_accepted_ptt
+	rtn
+
+parse_lmpext_accepted_ptt:
+	fetch 1,mem_ptt
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_edr,temp
+	storet 1,mem_state_map
+parse_lmpext_not_accepted_ptt:
+	fetch 1,mem_state
+	rtnbit0 state_init_seq
+	set0 state_init_seq,pdata
+	store 1,mem_state
+	fetch 1,mem_auth_enable
+	nrtn blank
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_pause_encrypt:
+	nbranch parse_lmpext_pause_encrypt_slave, master
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	branch tid_reply
+
+parse_lmpext_pause_encrypt_slave:	
+	jam LMP_PAUSE_ENCRYPTION_REQ, mem_lmo_opcode2
+	rtn
+
+parse_lmpext_resume_encrypt:
+//trans file to pc may cause pause/resume encrypt
+//if ms is conn_sm_wait_end the controllor won't send ack after recieved start_encypt_accept
+	call tid_reply
+	branch lmp_start_encryption
+
+parse_lmpext_features_req:
+	jam LMP_EXT_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_features_res:
+	fetcht 1,mem_rxbuf+4
+	and temp,0x1,temp
+	storet 1,mem_remote_sppcap
+	fetch 1,mem_hci_cmd
+	bne hci_cmd_wait_remote_ext_feature,parse_lmpext_features_res_not_hci
+	jam 0,mem_hci_cmd
+parse_lmpext_features_res_not_hci:
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_EXT
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	branch process_conn_sm
+
+parse_lmp_accepted:
+	bpatchx patch30_0,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_accepted_hostconn//ok
+	beq LMP_IN_RAND,parse_lmp_accepted_inrand//ok
+	beq LMP_ENCRYPTION_MODE_REQ,parse_lmp_accepted_enc_mode//ok
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_accepted_enc_keysize//ok
+	beq LMP_START_ENCRYPTION_REQ,parse_lmp_accepted_start_enc//ok
+	beq LMP_STOP_ENCRYPTION_REQ,parse_lmp_accepted_stop_enc//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_accepted_unsniff_req//ok
+	beq LMP_SNIFF_REQ,parse_lmp_accepted_sniff_req//ok
+	beq LMP_SWITCH_REQ,parse_lmp_accepted_switch
+	// simple pairing 
+	beq LMP_ENCAPSULATED_HEADER,parse_lmp_accepted_encapsulated_header//ok
+	beq LMP_ENCAPSULATED_PAYLOAD,parse_lmp_accepted_encapsulated_payload//ok
+	beq LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_accepted_simple_pairing_number//ok
+	beq LMP_DHKEY_CHECK,parse_lmp_accepted_dhkey_check//ok
+	rtn
+	
+parse_lmp_not_accepted:
+	bpatchx patch30_1,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_NAME_REQ,parse_lmp_not_accepted_name_req//ok
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_not_accepted_hostconn//ok
+	beq LMP_AU_RAND,parse_lmp_not_accepted_aurand//ok
+	beq LMP_IN_RAND,parse_lmp_not_accepted_inrand//ok
+	beq LMP_SWITCH_REQ,parse_lmp_not_accepted_switch//ok
+	/* simple pairing support */
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_not_accepted_simple_pairing_number//ok
+	beq  LMP_DHKEY_CHECK,parse_lmp_not_accepted_dhkey_check//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_not_accepted_unsniff_req
+	beq LMP_SNIFF_REQ,parse_lmp_not_acdcept_sniff_req
+	rtn
+
+parse_lmp_accepted_switch:
+	jam BT_EVT_SWITCH_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch role_switch_prepare0
+parse_lmp_not_accepted_switch:
+	jam BT_EVT_SWITCH_NOT_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	jam SWITCH_FLAG_NOT_ACCEPT,mem_switch_flag
+	setarg TIMER_SWITCH_WAITE
+	arg switch_wait_timer,queue
+	branch timer_init
+
+
+parse_lmp_accepted_hostconn:
+	//fetch 1,mem_state
+	//rtnbit0 state_init_seq
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//nbranch parse_lmp_accepted_hostconn_ctn,master
+parse_lmp_accepted_hostconn_ctn:
+	/* checking to see if we requested host connection */
+	fetch 1,mem_conn_sm
+	bne CONN_SM_WAIT_CONN_ACCEPT, parse_rx_done
+	//branch parse_lmp_accepted_hostconn_master,master
+	/* continuing on with host connection state machine */
+	jam CONN_SM_AUTH_PAIR,mem_conn_sm
+	rtn
+	//branch host_create_conn_auth_pair
+
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+//parse_lmp_accepted_hostconn_master:
+	//jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+//	rtn
+
+parse_lmp_not_accepted_hostconn:
+	jam ACL_CONNECTION_ALREADY_EXISTS,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	/* clearing connection state machine */
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	branch parse_rx_done,true
+	rtn
+
+parse_lmp_accepted_inrand:
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	call clear_linkkey
+	call  lmp_generate_key
+	rtn master
+	set1 mark_slave_in_rand_accepted,mark
+	rtn
+
+parse_lmp_accepted_enc_mode:
+	nrtn master
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	fetch 1,mem_state_map
+	rtnbit0 smap_encryption
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+
+parse_lmp_accepted_enc_keysize:
+	branch lmp_start_encryption
+	
+parse_lmp_accepted_start_enc:
+	call send_create_conn_start_l2cap_timer_sm
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_ENCRYPT_WAIT
+	jam CONN_SM_ENCRYPT_WAIT_CLEAR,mem_conn_sm
+	rtn
+	
+parse_lmp_accepted_stop_enc:
+	/* again this won't work with multipoint. keep track of anyone else encrypting */
+	//jam HOST_STOP_ENCRYPTION,message_queue_B0
+	//jam 1,message_queue_B1
+	//jam HOST_RETURN_SUCCESS,message_queue_B2
+	//fetch 1,mem_lmp_state2
+	//set1 MESSAGE_QUEUE,pdata
+	//store 1,mem_lmp_state2
+	rtn
+
+parse_lmp_not_accepted_aurand:	
+parse_lmp_not_accepted_aurand_send_detach:	
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+/*in pair remote cancel the pair*/
+parse_lmp_not_accepted_inrand:
+	fetch 1,mem_rxbuf+2
+	beq KEY_MISSING,parse_lmp_inrand_key_missing
+	rtnne PAIRING_NOT_ALLOWED
+	jam PAIRING_NOT_ALLOWED,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn	
+parse_lmp_inrand_key_missing:
+	jam KEY_MISSING,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_not_accepted_name_req:
+	rtn
+	
+parse_lmp_not_accepted_simple_pairing_number:
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+	
+parse_lmp_not_accepted_dhkey_check:
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+parse_lmp_not_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_accepted_sniff_req:
+	jam BT_EVT_SNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	setarg 0
+	store 2,mem_dsniff
+	fetch 2,mem_sniff_param_interval
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 1,mem_sniff_param_attempt
+	store 1,mem_sniff_attempt
+	fetch 1,mem_sniff_param_timeout
+	store 1,mem_sniff_timeout
+	branch sniff_init
+	
+parse_lmp_not_acdcept_sniff_req:
+	jam BT_EVT_SNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	storet 1,mem_key_size
+	branch accept_lmp_msg
+	
+parse_lmp_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	rtnbit1 SENT_SETUP_COMPLETE
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	branch parse_rx_done
+	
+parse_lmp_max_slot:
+	//jam LMP_MAX_SLOT,mem_lmi_opcode2
+	//branch accept_lmp_msg
+	rtn
+	
+parse_lmp_max_slot_req:
+	fetch 1,mem_max_slot
+	fetcht 1,mem_rxbuf+1
+	isub temp,null
+	//jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg,positive
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam UNSPECIFIED_ERROR,mem_lmo_reason2
+	jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	rtn
+	
+parse_lmp_detach:
+	call prepare_disconnect
+	branch accept_lmp_msg
+	
+accept_lmp_msg:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_incr_power:
+	jam LMP_MAX_POWER,mem_lmo_opcode2
+	rtn
+
+parse_lmp_decr_power:
+	jam LMP_MIN_POWER,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_version_res:
+	fetch 1,mem_conn_sm
+	rtneq CONN_SM_WAIT_VERSION
+	/* continuing on with host connection state machine */
+	jam CONN_SM_SEND_FEATURES ,mem_conn_sm
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+	rtn
+
+
+parse_lmp_auto_rate:
+	rtn	
+
+parse_lmp_in_rand:
+	call lmp_copy_rand
+	jam pincode_state_wait_pincode,mem_pincode_state
+	jam BT_EVT_PINCODE_REQ,mem_fifo_temp
+	call ui_ipc_send_event
+
+	call tid_check
+	nbranch lmp_accept_inrand,true
+	//fetch 1,mem_auth_enable
+	nbranch parse_lmp_inrand_res,master // ignore this because of not ssp temporary
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	jam TRANSACTION_COLLISION,mem_lmo_reason2
+	rtn
+parse_lmp_inrand_res:
+	fetch 1,mem_op
+	set1 op_inrand_req,pdata
+	store 1,mem_op
+	rtn
+
+//store current tid
+pop_tid_follow:
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_lmptid,temp
+	storet 1,mem_state_map
+	rtn
+	
+//restore current tid
+push_tid_follow:
+	fetch 1,mem_lmo_tid2
+	rshift pdata,pdata
+	and_into 1,pdata
+	rtn
+
+parse_lmp_au_rand_moudle:
+	fetch 1,mem_nv_data_number
+	rtn blank
+	fetch 1,mem_pairing_auth
+	call load_device_list,blank
+	rtn	
+
+parse_lmp_au_rand:
+	call parse_lmp_au_rand_moudle
+	call push_tid_follow
+	store 1,mem_sres_tid
+	call lmp_copy_rand
+	jam LMP_SRES,mem_lmo_opcode2
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	fetch 1,mem_state
+	rtnbit1 state_combkey		/* we have comb key, but not verified */
+	jam KEY_MISSING,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_sres:	
+	arg mem_plap,rega
+	call function_e1
+	fetch 4,mem_rxbuf+1
+	fetcht 4,mem_input_store
+	isub temp,null
+	branch authentication_ok,zero
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam AUTHENTICATION_FAILURE_ERROR,mem_disconn_reason_send	
+	rtn
+authentication_ok:
+	call authentication_ok_common
+	fetch 1,mem_ssp_enable
+	branch  pairing_success,blank
+	rtn
+
+	
+authentication_ok_common:
+	call copy_aco
+	call linkkey_ready///save link key
+	fetch 1,mem_op
+	isolate1 op_auth_req,pdata
+	set0 op_auth_req,pdata
+	store 1,mem_op
+	fetch 1,mem_conn_sm
+	beq CONN_SM_AUTH_WAIT,authentication_ok_conn_sm
+	beq CONN_SM_PAIRING_WAIT,authentication_ok_conn_sm
+	rtn
+authentication_ok_conn_sm:
+	fetch 1,mem_pairing_auth
+	rtnne DEFALT_PAIRING_AUTH
+	fetch 1,mem_state_map
+	rtnbit1 smap_encryption
+	branch host_create_conn_encrypt
+
+parse_lmp_comb_key:
+	arg mem_rxbuf+1,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg mem_plap,rega
+	call generate_linkkey
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	fetch 1,mem_state
+	bbit0 state_combkey,lmp_generate_key
+	rtn
+	
+parse_lmp_name_res:
+	fetch 2,mem_len
+	add pdata,-3,loopcnt	//for remote name length error
+	fetcht 1,mem_rxbuf+1
+	setarg mem_tmp_buffer
+	iadd temp,contw
+	arg mem_rxbuf+3,contr
+	call memcpy
+	fetcht 1,mem_name_offset
+	fetch 1,mem_rxbuf+2
+	isub temp,pdata
+	sub pdata,14,null
+	branch parse_lmp_name_res_end,positive
+	add temp,14,pdata
+	store 1,mem_name_offset
+	jam LMP_NAME_REQ,mem_lmo_opcode2
+	rtn
+parse_lmp_name_res_end:
+	fetch 1,mem_state_map
+	set1 smap_name_res,pdata
+	store 1,mem_state_map
+	bbit1 smap_name_req,lmp_disconnect
+	rtn
+parse_lmp_name_req:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_opcode2 //offset 
+	jam LMP_NAME_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_conn_req:
+	branch accept_lmp_msg
+
+parse_lmp_timing_accuracy_req:
+	jam LMP_TIMING_ACCURACY_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_features_req:
+	jam LMP_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_version_req:
+	jam LMP_VERSION_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_supervision_timeout:
+//	fetch 2,mem_rxbuf+1
+//	store 2,mem_supervision_to
+	rtn
+	
+
+
+parse_lmp_sniff_subrating_req:
+	fetch 2,mem_tsniff
+	iforce temp
+	fetch 1,mem_rxbuf+2
+	store 1,mem_subsniff_rate
+	imul32 temp,temp
+	fetch 2,mem_rxbuf+3
+	lshift pdata,pdata
+	store 2,mem_subsniff_tcmax
+	fetch 4,mem_rxbuf+5
+	lshift pdata,pdata
+ 	store 4,mem_subsniff_instant
+	//product pdata
+	deposit temp
+	store 2,mem_subsniff_tsniff
+	rtn
+parse_lmpext_packet_type_table_req:
+	fetcht 1,mem_ptt
+	fetch 1,mem_rxbuf+2
+	ixor temp,null
+	nbranch reject_unknown_ext_packet,zero
+	isolate1 0,pdata
+	fetch 1,mem_state_map
+	setflag true,smap_edr,pdata
+	store 1,mem_state_map
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmi_opcode2
+	rtn
+
+	
+parse_lmp_sniff_subrating_res:
+parse_lmp_preferred_rate:
+parse_lmp_max_power:
+parse_lmp_min_power:
+	rtn
+parse_lmp_page_mode_req:
+	//jam LMP_PAGE_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+parse_lmp_page_scan_mode_req:
+	//this can influence connection. need accepted
+	//jam LMP_PAGE_SCAN_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+
+
+	
+parse_lmp_slot_offset:
+	fetch 2,mem_rxbuf+1
+	store 2,mem_slot_offset
+	rtn
+
+parse_lmp_sniff_req_check_sniff_para:
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	fetcht 1,mem_lpm_mult
+	imul32 temp,pdata
+	arg 0x640,temp
+	isub temp,null
+//	branch lmp_reject_sniff,positive
+	rtn
+	
+parse_lmp_sniff_req:
+	fetch 2,mem_rxbuf+6
+	branch lmp_reject_sniff,blank
+	call parse_lmp_sniff_req_check_sniff_para
+	branch lmp_reject_sniff,positive
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call module_set_lpm_mult_2,zero
+	fetch 1,mem_state
+	bbit1 state_insniff,lmp_reject_sniff
+	fetch 2,mem_rxbuf+2 /* dsniff */
+	lshift pdata,pdata
+	store 2,mem_dsniff	
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 2,mem_rxbuf+6 /* sniff attempt */
+	store 1,mem_sniff_attempt
+	iforce temp
+	fetch 2,mem_rxbuf+8 /* sniff timeout */
+	store 1,mem_sniff_timeout
+	isub temp,null
+	nbranch set_big_value_to_attempt,positive
+	store 1,mem_sniff_attempt
+set_big_value_to_attempt:	
+	//call sniff_init
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SNIFF_REQ,mem_lmi_opcode2
+	rtn
+
+lmp_reject_sniff:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_start_encryption_req:
+	call accept_lmp_msg
+	call lmp_copy_rand
+	call function_e3
+	branch start_encryption
+	
+parse_lmp_stop_encryption_req:
+	call accept_lmp_msg
+	branch stop_encryption
+	
+
+parse_lmp_switch_req:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	//branch parse_lmp_switch_req_not_accept
+	branch parse_lmp_switch_accept,master
+	fetcht 1,mem_link_key_exists
+	nbranch parse_lmp_switch_req_clear_mark,blank
+parse_lmp_switch_req_not_accept:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	rtn
+parse_lmp_switch_req_clear_mark:
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	jam 0,mem_conn_sm
+	branch role_switch_prepare
+
+parse_lmp_switch_accept:
+	call role_switch_prepare
+	set1 mark_reconn_recieve_switch,mark
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	branch accept_lmp_msg
+
+	
+
+parse_lmp_temp_rand:
+parse_lmp_temp_key:
+parse_lmp_timing_accuracy_res:	
+parse_lmp_unit_key:	
+parse_lmp_use_semi_permanend_key:
+	rtn
+
+	
+parse_lmp_unsniff_req:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_UNSNIFF_REQ,mem_lmi_opcode2
+	jam BT_EVT_REMOTE_UNSNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_encapsulated_header:
+	fetch 1,mem_rxbuf+1
+	bne ENCAPSULATED_MAJOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+2
+	bne ENCAPSULATED_MINOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+3
+	bne ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_header_reject
+	call check_localsm
+	branch parse_lmp_encapsulated_header_master,true
+	jam SP_STAT_KEY_RECV,mem_sp_state
+parse_lmp_encapsulated_header_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_ENCAPSULATED_HEADER,mem_lmi_opcode2
+	branch parse_rx_done
+	
+parse_lmp_encapsulated_header_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet
+	
+parse_lmp_accepted_encapsulated_header:
+	//jam LMP_ENCAPSULATED_PAYLOAD,mem_lmi_opcode2
+	//branch   accept_lmp_msg  	
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+      //   branch   accept_lmp_msg  	
+         rtn
+parse_lmp_accepted_simple_pairing_number:
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,parse_lmp_accepted_simple_pairing_number_ssp_pin
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_accepted_simple_pairing_number_passkey
+parse_lmp_accepted_simple_pairing_number_common:
+	call check_localsm
+	rtn true
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+	call g_noninit_number_confirm
+	jam BT_EVT_BT_GKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch parse_lmp_accepted_simple_pairing_number_common
+
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+	call check_localsm
+	rtn true
+	fetch 1,mem_authentication_passkey_times
+	beq 19,authentication_passkey_end
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+//	branch p_authentication_passkey
+
+authentication_passkey:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	fetch 6,mem_pin
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	rtn
+
+authentication_passkey_end:	
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_dhkey_check:
+	call parse_lmp_accepted_dhkey_check_common
+pairing_success:
+	fetch 1,mem_flag_pairing_state
+	rtn blank
+	jam FLAG_PAIRING_STATE_NOT_PAIRING,mem_flag_pairing_state
+	jam BT_EVT_BT_PAIRING_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_accepted_dhkey_check_common:
+	//here must be change***  shyd
+	call check_localsm
+	ncall g_noninit,true	//when be master  call g_init
+	call g_init,true
+	call check_localsm
+	rtn true
+	jam SP_STAT_LINK_KEY_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+
+parse_simple_pairing_confirm:
+	arg mem_sp_confirm_remote,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	fetch 1,mem_ssp_mode_flag
+	rtneq  SSP_MODE_PASSKEY_ENTRY_FLAG
+	branch master_set_mem_master_sp_flag
+	
+parse_lmp_encapsulated_payload:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_encapsulated_payload_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_KEY_RECV,parse_lmp_encapsulated_payload_reject
+parse_encapsulated_payload_master:
+	fetch    1,mem_sp_remote_key_recv_count
+	sub      pdata,0x20,contw
+	nbranch  parse_lmp_encapsulated_payload_reject,positive
+	arg      mem_sp_pubkey_remote,contw
+	iadd     contw,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	fetch    1,mem_sp_remote_key_recv_count
+	increase 16,pdata
+	store    1,mem_sp_remote_key_recv_count
+	bne ENCAPSULATED_LEN_P192,accept_lmp_msg
+parse_lmp_encapsulated_payload_completed:
+	call check_localsm
+	branch accept_lmp_msg,true
+	jam      SP_KEY_VALID,mem_sp_remote_key_invalid
+	jam      SP_STAT_KEY_GENERATE,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag  
+	branch   accept_lmp_msg
+parse_lmp_encapsulated_payload_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet	
+parse_lmp_accepted_encapsulated_payload: 
+	fetch 1,mem_sp_local_key_send_count
+	beq	ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_payload_all_accepted
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+	branch   parse_rx_done 
+	
+parse_lmp_encapsulated_payload_all_accepted:   
+	call check_localsm
+	branch parse_lmp_encapsulated_payload_all_accepted_master,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_encapsulated_payload_all_accepted_get_passkey
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	branch   parse_rx_done
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+	jam BT_EVT_BT_GET_PASSKEY,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+	//call sp_master_generate_local_key
+	branch   parse_rx_done   
+
+parse_lmp_simple_pairing_number:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_lmp_simple_pairing_number_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_RANDOM_RECV,parse_lmp_simple_pairing_number_reject
+parse_lmp_simple_pairing_number_master:
+	arg      mem_sp_random_remote,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	call check_localsm
+	branch parse_lmp_simple_pairing_number_master0,true
+	jam      SP_STAT_RANDOM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_master0:
+	jam SP_STAT_COMMIT_CALC,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+	//jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	//branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+	
+parse_dhkey_check:
+	fetch    1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_SEND,parse_dhkey_check_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_CONFIRM_RECV,parse_lmp_dhkey_check_reject
+parse_dhkey_check_master:
+	arg      mem_sp_check_result,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	call check_localsm
+	branch parse_dhkey_check_master0,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,number_comparison_mode
+number_comparison_successed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam SP_STAT_CONFIRM_CHECK,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch   parse_rx_done
+	
+parse_dhkey_check_master0:
+	jam      SP_STAT_CONFIRM_CHECK,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	branch   parse_rx_done
+parse_lmp_dhkey_check_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+number_comparison_mode:
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,comparison_result
+	set1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,pdata
+	store 1,mem_flag_mode_ssp_pin
+	rtn
+	
+comparison_result:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	jam 0,mem_flag_mode_ssp_pin
+	branch parse_lmp_dhkey_check_reject
+
+	
+parse_lmp_clkoffset_res:
+	branch parse_rx_done
+		
+parse_lmp_encryption_mode_req:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT
+	store 1,mem_connection_options
+	call accept_lmp_msg
+	nrtn master					/* do sth only if we're master */
+	fetch 1,mem_rxbuf+1
+	fetcht 1,mem_op
+	setflag blank,op_stop_enc,temp
+	nsetflag blank,op_start_enc,temp
+	storet 1,mem_op
+	rtn 
+	
+parse_lmp_features_res:
+	fetcht 8,mem_rxbuf+1		/*fix bcp(baoshijie) err*/
+parse_lmp_features_res_not_hci:	
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_RES
+
+	fetch 1,mem_connection_options
+	bbit0 CONNECTION_FEATURE_EXT,parse_lmp_send_conn
+
+	jam CONN_SM_SEND_FEATURES_EXT,mem_conn_sm
+	rtn
+parse_lmp_send_conn:
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	rtn
+parse_lmp_test_activate:
+	fetch 1,mem_debug_config
+	store 1,mem_test_mode_old_debug_config
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_ACTIVATE,mem_lmi_opcode2
+	rtn
+parse_lmp_test_control:
+	/* the 9 test control parameters are XORed with 0x55 */
+	/* doing the XOR here and storing in mem_temp_payload */
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_CONTROL,mem_lmi_opcode2
+	force 9,loopcnt
+	arg mem_rxbuf+1,contr
+	arg mem_temp_payload,contw
+parse_lmp_test_xor:
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop parse_lmp_test_xor
+	fetch 1,test_mode_scenario
+	fetcht 1,mem_tester_emulate
+	set0 tester_no_whitening,temp
+	set0 tester_pattern_test,temp
+	beq EXIT_TEST_MODE,	 parse_lmp_test_control_exit
+	beq PAUSE_TEST_MODE,	 parse_lmp_test_control_pause
+	beq CLOSED_LOOP_BACK_ACL,	 parse_lmp_test_control_loopback
+	beq ACL_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq CLOSED_LOOP_BACK_SCO,	 parse_lmp_test_control_loopback
+	beq SCO_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq ZERO_PATTERN,	 parse_lmp_test_control_pattern
+	beq ONE_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT2_PATTERN,	 parse_lmp_test_control_pattern
+	beq PSEUDORANDOM,	 parse_lmp_test_control_pattern
+	rtn
+parse_lmp_test_control_exit:
+	/* restoring old parameters */
+	fetch 1,mem_tester_emulate
+	set1 tester_exit,pdata
+	set1 tester_change,pdata
+	store 1,mem_tester_emulate
+	rtn
+parse_lmp_test_control_pattern:
+	set1 tester_pattern_test,temp
+	jam 5,mem_lch_code
+	fetch 2,test_mode_data_length
+	iforce loopcnt
+	store 2,mem_len
+	arg mem_rxbuf,contw
+	call pn9
+parse_lmp_test_control_loopback_nowhite:
+	set1 tester_no_whitening,temp
+parse_lmp_test_control_loopback:
+	set1 tester_change,temp
+	force 0,pdata
+	store 1,mem_slave_rcvcnt
+	store 2,mem_tst_pktcnt_crc
+	store 2,mem_tst_pktcnt_dmh
+	store 2,mem_tst_pktcnt_hec
+	store 2,mem_tst_pktcnt_sync
+	fetch 1,test_mode_hopping_mode
+	compare FIXED_FREQ,pdata,0xff
+	setflag true,tester_fixed_freq,temp
+	storet 1,mem_tester_emulate
+	rtn
+
+parse_lmp_test_control_pause:
+	set0 mark_testmode,mark
+	jam 0,mem_tester_emulate
+	fetch 1,mem_debug_config
+	set0 debug_tx_pattern,pdata
+	store 1,mem_debug_config
+	rtn
+
+
+	
+	
+
+lmp_copy_rand:	
+	arg mem_rxbuf+1,contr
+	arg mem_random_number,contw
+	branch memcpy16
+
+lmp_generate_key:
+	jam LMP_COMB_KEY,mem_lmo_opcode2
+	rtn
+
+lmp_start_encryption:
+	nrtn master
+	jam LMP_START_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+	
+lmp_accept_inrand:
+	arg mem_lap,rega
+	call generate_kinit
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	rtn
+
+lmp_disconnect:
+	jam 10,mem_conn_timer
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send	
+	rtn
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+	/* enable user if a lmp packet is to send */
+send_lmp:
+	bpatchx patch30_2,mem_patch30
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+/* lmp message to be processed. this will either be because host??? */
+/* wants to send a lmp message or because one resulted from the LMP */
+/* processing section */
+/********* outgoing lmp lookup table *************/
+	bbit1 7,send_lmp_escape
+send_lmp0:
+	beq LMP_NAME_REQ,	 send_lmp_name_req
+	beq LMP_NAME_RES,	 send_lmp_name_res
+	beq LMP_ACCEPTED,	 send_lmp_accepted
+	beq LMP_NOT_ACCEPTED,	 send_lmp_not_accepted
+	beq LMP_FEATURES_REQ,	 send_lmp_features_req
+	beq LMP_FEATURES_RES,	 send_lmp_features_res
+	beq LMP_TIMING_ACCURACY_RES,	 send_lmp_timing_accuracy_res
+	beq LMP_VERSION_REQ,	 send_lmp_version_req
+	beq LMP_VERSION_RES,	 send_lmp_version_res
+	beq LMP_SETUP_COMPLETE,	 send_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,	 send_lmp_superto
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_no_payload
+	beq LMP_IN_RAND,send_lmp_inrand
+	beq LMP_COMB_KEY,send_lmp_comb_key
+	beq LMP_AU_RAND,send_lmp_aurand
+	beq LMP_SRES,send_lmp_sres
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_encryption_mode_req
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_encryption_key_size_req
+	beq LMP_START_ENCRYPTION_REQ,send_lmp_start_encryption
+	beq LMP_DETACH,send_lmp_detach
+	beq LMP_QUALITY_OF_SERVICE_REQ, send_lmp_quality_of_service_req
+	beq LMP_UNIT_KEY,send_lmp_unit_key
+	//Optional (O)
+	beq LMP_INCR_POWER_REQ,send_lmp_inc_power	
+	beq LMP_CLKOFFSET_RES, send_lmp_clkoffset_res	
+	beq LMP_MAX_POWER,send_lmp_nopayload_reply
+	beq LMP_MAX_SLOT, send_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ, send_lmp_max_slot_req
+	beq LMP_MIN_POWER,send_lmp_nopayload_reply
+	beq LMP_SLOT_OFFSET, send_lmp_slot_offset
+	beq LMP_SWITCH_REQ, send_lmp_switch_req
+	beq LMP_SNIFF_REQ, send_lmp_sniff_req
+	beq LMP_STOP_ENCRYPTION_REQ, send_lmp_stop_encryption_req	
+	beq LMP_TIMING_ACCURACY_REQ, send_lmp_timing_accuracy_req
+	beq LMP_UNSNIFF_REQ, send_lmp_unsniff_req
+	beq LMP_ENCAPSULATED_HEADER,send_lmp_encapsulated_header
+	beq LMP_ENCAPSULATED_PAYLOAD,send_lmp_encapsulated_payload
+	beq LMP_SIMPLE_PAIRING_CONFIRM,send_lmp_simple_pairing_comfirm
+	beq LMP_SIMPLE_PAIRING_NUMBER,send_lmp_simple_pairing_number
+	beq LMP_DHKEY_CHECK,send_lmp_dhkey_check
+	beq LMP_AUTO_RATE,send_lmp_auto_rate
+	beq LMP_ENC_KEY_SIZE_MASK_RES,send_lmp_enc_key_size_mask_res
+	//master only must(M)
+	beq LMP_CLKOFFSET_REQ, send_lmp_clkoffset_req
+	beq LMP_QUALITY_OF_SERVICE, send_lmp_quality_of_service
+	beq LMP_TEST_ACTIVATE, send_lmp_test_activate
+	beq LMP_TEST_CONTROL, send_lmp_test_control
+send_lmp_error:
+	branch assert
+	rtn
+send_lmp_escape:
+	beq LMP_EXT_ACCEPTED,send_lmpext_accepted
+	beq LMP_EXT_FEATURES_RES,send_lmpext_features_res
+	beq LMP_NOT_ACCEPTED_EXT,send_lmpext_not_accepted
+	beq LMP_EXT_FEATURES_REQ,send_lmpext_features_req
+	beq LMP_PACKET_TYPE_TABLE_REQ,send_lmpext_packet_type_table_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,send_lmpext_pause_encryption_req
+	beq LMP_IO_CAP_REQ,send_lmp_io_cap_req
+         beq LMP_IO_CAP_RES,send_lmpext_io_cap_res
+         beq LMP_SNIFF_SUBRATING_REQ,send_lmpext_sniff_subrating_req
+         beq LMP_SNIFF_SUBRATING_RES,send_lmpext_sniff_subrating_res
+	branch assert
+
+
+/******** LMP follow messages **********/
+/****** TID follow received packet  *******/
+
+send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	call send_lmp_follow
+	bpatchx patch30_3,mem_patch30
+	fetch 1,mem_lmi_opcode
+	beq LMP_IN_RAND,send_lmp_accepted_inrand
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_accepted_enc_mode
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_accepted_enc_key
+	beq LMP_SNIFF_REQ,send_lmp_accept_sniff_req
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_accepted_connection
+	beq LMP_DHKEY_CHECK,send_lmp_accept_dhkey_check
+	beq LMP_START_ENCRYPTION_REQ,send_create_conn_start_l2cap_timer_sm  
+	rtn	
+	
+send_create_conn_start_l2cap_timer_sm:
+	fetch 1,mem_conn_sm
+	rtn blank
+	jam CONN_SM_WAIT_DONE,mem_conn_sm
+	setarg TIMER_ENPT_WAITE
+	arg enpt_delay_timer,queue
+	branch timer_init
+	
+send_lmp_accept_sniff_req:
+	branch sniff_init
+send_lmp_not_accepted:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	beq LMP_AU_RAND,send_not_accept_aurand
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+
+send_not_accept_aurand:
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	arg mem_sres_tid,temp
+	branch special_tid_store
+
+send_lmpext_accepted:	
+	force 4,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	branch send_lmp_follow
+
+send_lmpext_not_accepted:
+	force 5,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+	
+
+send_lmp_accepted_inrand:
+	call clear_linkkey
+	call tid_check	
+	rtn true
+	branch lmp_generate_key
+
+send_lmp_accepted_enc_mode:
+	fetch 1,mem_op
+	bbit1 op_start_enc,send_lmp_accepted_enc_start
+	rtnbit0 op_stop_enc
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	set0 op_stop_enc,pdata
+	call tid_reply
+	branch send_lmp_accepted_enc_exit
+send_lmp_accepted_enc_start:
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	set0 op_start_enc,pdata
+send_lmp_accepted_enc_exit:
+	store 1,mem_op
+	rtn
+
+send_lmp_accepted_enc_key:
+	call check_localsm
+	branch lmp_start_encryption,true
+	rtn
+
+send_lmp_accepted_connection:
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+send_lmp_accept_dhkey_check:
+	rtn
+/******** LMP reply messages **********/
+/****** TID always set to remote  *******/
+
+send_lmpext_features_res:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_reply
+send_lmpext_io_cap_res:     
+	force 5,queue
+         call send_lmpext
+       	fetch 3,mem_sp_iocap_local
+         istore 3,contw
+	call send_lmp_reply
+	jam FLAG_PAIRING_STATE_PAIRING,mem_flag_pairing_state
+	fetch 1,mem_sp_iocap_local
+	beq DISPLAY_YESNO,responder_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_keyboard_only_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_keyboard_only_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output
+	rtn
+
+
+responder_iocap_display_yesno:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_display_yesno_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_display_yesno_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_display_yesno_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_display_yesno_initiator_iocap_no_input_no_output
+	rtn
+
+	
+responder_iocap_no_input_no_output:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_no_input_no_output_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_no_input_no_output_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+set_ssp_mode_justwork: 
+	jam SSP_MODE_JUST_WORK_FLAG,mem_ssp_mode_flag
+	fetch 1,mem_classic_bt_flag
+	bbit1 FLAG_SSP_REJECT_JUSTWORK,app_bt_disconnect
+	rtn
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+set_ssp_mode_numeric_comparison: 
+	jam SSP_MODE_SSP_PIN_FLAG,mem_ssp_mode_flag
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+responder_iocap_keyboard_only_initiator_iocap_keyboard_only:	
+responder_iocap_keyboard_only_initiator_iocap_display_only:	
+responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+set_ssp_mode_passkey: 
+	jam SSP_MODE_PASSKEY_ENTRY_FLAG,mem_ssp_mode_flag
+	rtn
+
+
+classic_bt_set_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_set_flag
+
+classic_bt_clr_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_clr_flag
+
+classic_bluetooth_set_flag:
+	fetch 1,mem_classic_bt_flag
+	qset1 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+classic_bluetooth_clr_flag:
+	fetch 1,mem_classic_bt_flag
+	qset0 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+         
+send_lmp_io_cap_req:
+	force 5,queue
+	call send_lmpext
+	fetch 3,mem_sp_iocap_local
+	istore 3,contw
+	branch send_lmp_request
+	
+
+send_lmpext_sniff_subrating_req: 
+
+	rtn
+send_lmpext_sniff_subrating_res: 
+         force 9,queue
+         call send_lmpext
+         fetch 1,mem_subsniff_rate
+         istore 1,contw
+         fetch 2,mem_subsniff_tcmax
+         istore 2,contw
+         fetch 4,mem_subsniff_instant
+         istore 4,contw
+	branch send_lmp_reply
+
+send_lmp_name_res:
+	force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode  /* loading name offset */
+	copy pdata,temp
+	beq 0x00,send_lmp_name_res_offset_ok
+	beq 0x0e,send_lmp_name_res_offset_ok
+	beq 0x1c,send_lmp_name_res_offset_ok
+	rtn
+send_lmp_name_res_offset_ok:
+	istore 1,contw	/* writing name offset */
+	fetch 1,mem_local_name_length
+	istore 1,contw	/* writing name length */
+	arg 14,loopcnt
+	setarg mem_local_name
+	iadd temp,contr	/* setting read location */
+	call memcpy
+	branch send_lmp_reply
+
+
+send_lmp_timing_accuracy_res:
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_clkoffset_res:
+	// dopod s505 must wait for this res
+	force 3,pdata
+	call msg_send_lmp
+	fetch 4,mem_clke_bt
+	isub clkn_bt,pdata
+	branch send_lmp_clkoffset_res_master,master
+	sub pdata,0,pdata		/* our role is slave */
+send_lmp_clkoffset_res_master:	
+	// bit 16-2 of clkslave-clkmaster
+	rshift2 pdata,pdata
+	set0 15,pdata
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_version_res:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_reply
+
+send_lmp_features_res:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_reply  
+
+
+/******** LMP request messages **********/
+/****** TID always set to local initiated *******/
+	
+
+send_lmpext_features_req:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_request
+
+send_lmpext_packet_type_table_req:
+	force 3,queue
+	call send_lmpext
+	fetch 1,mem_ptt
+	istore 1,contw
+	disable user
+	call send_lmp_request
+	nrtn user
+	nrtn master
+	fetch 1,mem_afh_cfg
+	rtnbit0 AFH_CFG_ON
+	call afh_init
+	branch afh_open_all_channels
+	
+//default:featrue is enable,extfeature is disable
+ssp_enable:
+	bpatchx patch30_4,mem_patch30
+	fetch 1,mem_features+6
+	set1 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg param_lmpext_ssp_enable
+	store 2,mem_lmpext_ssp_enable
+	rtn
+
+ssp_disable:
+	bpatchx patch30_5,mem_patch30
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0
+	store 2,mem_lmpext_ssp_enable
+	rtn
+	
+afh_init:
+	jam 0x3,mem_afh_cfg
+	setarg 0
+	store 4,mem_afh_timer
+	arg mem_afh_map_lo,contw
+	call afh_reset_map
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	arg mem_afh_classify_channel_map,contw
+	call afh_reset_map
+	branch afh_clear_error_counter
+afh_open_all_channels:
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	call afh_clear_error_counter
+	branch afh_set_send_flag
+
+
+afh_reset_map:
+	setarg 0xffffff
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	setarg 0x7f
+	istore 1,contw
+	rtn
+afh_clear_error_counter:
+	setarg 0
+	store 2,mem_afh_error_total
+	rtn
+afh_set_send_flag:
+	fetch 1,mem_afh_cfg
+	set1 send_lmp_set_afh,pdata
+	store 1,mem_afh_cfg
+	rtn
+
+
+send_lmpext_pause_encryption_req:
+	force 2,queue
+	call send_lmpext
+	nbranch send_lmp_reply,master
+	// assume slave will not send pause req firstly???
+	branch send_lmp_request
+
+
+	
+send_lmp_detach:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+prepare_disconnect:
+	fetch 1,mem_op
+	set1 op_disconn,pdata
+	store 1,mem_op
+	jam 50,mem_conn_timer
+	rtn
+	
+
+send_lmp_no_payload:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_nopayload_reply:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_reply
+	
+	
+send_lmp_encryption_mode_req:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_state_map
+	isolate0 smap_encryption,pdata
+	setflag true,0,pdata
+	and_into 1,pdata
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_superto:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 2,mem_supervision_to
+	istore 2,contw
+	branch send_lmp_request
+
+send_lmp_name_req:
+	jam 250,mem_conn_timer
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_name_offset
+	istore 1,contw
+	branch send_lmp_request
+
+send_lmp_test_control:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_temp_payload,contr
+	force 9,loopcnt
+send_lmp_test_control_loop:	
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop send_lmp_test_control_loop
+	branch send_lmp_request  
+
+send_lmp_quality_of_service_req:
+	branch send_lmp_request
+send_lmp_unit_key:
+	branch send_lmp_request
+
+send_lmp_slot_offset:
+	rtn master
+	call calc_slot_offset
+	force 9,pdata
+	call msg_send_lmp
+	fetch 2,mem_slot_offset
+	istore 2,contw
+	fetch 3,mem_lap
+	istore 3,contw
+	fetch 1,mem_uap
+	istore 1,contw
+	fetch 2,mem_nap
+	istore 2,contw
+	bmark0 mark_switch_initiated,send_lmp_slot_offset_reply
+	set0 mark_switch_initiated,mark
+	call send_lmp_request
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_slot_offset_reply:
+	call send_lmp_reply
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	rtn
+	
+send_lmp_switch_req:
+	arg 0x200,temp
+	branch switch_on_native,master
+	deposit clke_bt
+	branch switch_slack
+switch_on_native:
+	deposit clkn_bt
+switch_slack:
+	deposit bt_clk
+	iadd temp,pdata
+	and_into 0x1fc,pdata
+	store 4,mem_sniff_anchor
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_sniff_anchor		/* reused as switch instant */
+	rshift pdata,pdata
+	istore 4,contw
+	branch send_lmp_request
+	
+send_lmp_sniff_req:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_sniff_payload,contr
+	ifetch 9,contr
+	istore 9,contw
+	branch send_lmp_request
+
+	
+send_lmp_timing_accuracy_req:
+/* default to TID_NORM_SEND */
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_request
+	
+send_lmp_unsniff_req:
+//--------------------need to completa
+	force 1,pdata
+	call msg_send_lmp
+	//fetch 1,mem_unsniff_pending
+	//nbranch send_msg_done,blank
+	//jam 1,mem_unsniff_pending
+	//fetch 2,mem_sniff_attempt
+	//fetch 2,mem_nsniff_attempt
+	//lshift3 pdata,pdata
+	//lshift pdata,pdata
+	//store 1,mem_unsniff_cnt
+	branch send_lmp_request
+
+	
+send_lmp_max_slot:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_max_slot
+	istore 1,contw
+	branch send_lmp_request
+	
+	
+send_lmp_max_slot_req:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x05		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_inc_power:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x00		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_setup_complete_by_module:
+	jam LMP_MAX_SLOT_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_setup_complete:
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call send_lmp_setup_complete_by_module,zero
+	fetch 1,mem_state
+	set1 state_conn_comp,pdata
+	store 1,mem_state
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	fetch 1,mem_lmp_conn_state
+	bbit1 SENT_SETUP_COMPLETE,send_lmp_setup_complete_has_sent
+	set1 SENT_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_SETUP_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_setup_complete_has_sent:
+	jam 0,mem_lmp_to_send
+	rtn
+	
+send_lmp_version_req:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_request
+
+send_lmp_features_req:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_request  
+
+sp_master_send_io_cap_get:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	jam SP_MASTER_STAT_START_DONE,mem_master_sp_state
+	rtn
+
+sp_master_send_io_cap_send:
+	call tid_initiate
+	jam LMP_IO_CAP_REQ,mem_lmo_opcode2
+	jam SP_STAT_KEY_SEND,mem_master_sp_state
+	rtn
+	
+	
+sp_master_send_LMP_ENCAPSULATED_HEADER:
+	call tid_initiate
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	jam SP_STAT_RANDOM_SEND,mem_master_sp_state
+	rtn
+	
+sp_master_commitment_compare:
+	arg mem_sp_calc_result_high,rega
+	arg mem_sp_confirm_remote,regb
+	arg 16,loopcnt
+	call string_compare
+	branch sp_master_commitment_compare_success,zero
+	jam SP_STAT_NULL,mem_master_sp_state
+	call master_clear_mem_master_sp_flag
+	jam   PDU_NOT_ALLOWED,mem_lmo_reason2
+	jam 	LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2 
+	branch reject_lmp_packet
+sp_master_commitment_compare_success:
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+	call master_set_mem_master_sp_flag
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	branch accept_lmp_msg  
+	
+
+	
+sp_master_send_lmp_simple_pairing_number:
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+	
+
+
+sp_send_lmp_encapsulated_header:
+	// calculate the private & public key here
+	//jam      LMP_ENCAPSULATED_HEADER,mem_lmp_to_send
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	//jam      TID_PAIRING,mem_lmp_tid
+	rtn
+	//fetch 1,mem_tid_table
+	//set1 TID_PAIRING,pdata
+	//store 1,mem_tid_table
+     
+    
+send_lmp_encapsulated_header: 
+	jam 0,mem_sp_local_key_send_count
+	force 4,pdata
+	call msg_send_lmp
+	force ENCAPSULATED_MAJOR_TYPE_P192,pdata
+	istore 1,contw
+	force ENCAPSULATED_MINOR_TYPE_P192,pdata
+	istore 1,contw  
+	force ENCAPSULATED_LEN_P192,pdata
+	istore 1,contw 
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+
+send_lmp_encapsulated_payload:
+	//jam      TID_PAIRING,mem_lmp_tid
+	 force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_sp_local_key_send_count
+	arg mem_sp_pubkey_local,contr
+	iadd contr,contr    
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	fetch    1,mem_sp_local_key_send_count
+	increase 16,pdata
+	store    1,mem_sp_local_key_send_count
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+	//branch send_lmp_request
+	
+sp_send_lmp_simple_pairing_comfirm:
+        jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        jam      LMP_SIMPLE_PAIRING_CONFIRM,mem_lmo_opcode2
+        rtn
+send_lmp_simple_pairing_comfirm:
+        //jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        //jam      TID_PAIRING,mem_lmp_tid
+        force    17,pdata
+        call msg_send_lmp   
+        arg      mem_sp_calc_result_high,contr
+        ifetch   8,contr
+        istore   8,contw
+        ifetch   8,contr
+        istore   8,contw 
+        branch send_lmp_reply
+
+sp_send_lmp_simple_pairing_number:
+	jam      LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+
+send_lmp_simple_pairing_number:
+	//jam      TID_PAIRING,mem_lmp_tid
+	call check_localsm
+	call sp_local_random_key_generator,true
+	force    17,pdata
+	call msg_send_lmp
+	arg      mem_sp_random_local,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+master_sp_sm_end:
+	//jam DEFAULT_STATEMACHINE,mem_sp_localsm
+	jam SP_STAT_DONE,mem_master_sp_state
+sp_aurand_send:
+	call tid_initiate
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	call check_localsm_master
+	branch sp_master_key_prarm_push,true
+	branch sp_link_key_prarm_push
+master_sp_send_lmp_dhkey_check:
+	call tid_reply
+sp_send_lmp_dhkey_check: 
+	jam      LMP_DHKEY_CHECK,mem_lmo_opcode2
+	rtn
+send_lmp_dhkey_check: 
+	//jam      TID_PAIRING,mem_lmp_tid
+	force    17,pdata
+	call     msg_send_lmp
+	arg      mem_sp_calc_result_high,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw 
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+send_lmp_enc_key_size_mask_res:
+	force 3,pdata
+	call msg_send_lmp   
+	setarg 0xfffe //enc key size mask
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_auto_rate:
+	branch send_lmp_request
+send_lmp_clkoffset_req:
+	branch send_lmp_request
+send_lmp_quality_of_service:
+	branch send_lmp_request
+send_lmp_test_activate:
+	branch send_lmp_request
+
+/******** LMP request/reply messages **********/
+/****** TID transaction specific *******/
+
+send_lmp_comb_key:
+	call generate_random_number
+	arg mem_lap,rega
+	call generate_linkkey
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_kinit,rega
+	arg mem_random_number,regb
+	call xor16
+	nbranch send_lmp_follow,master
+	branch send_lmp_tid
+
+send_lmp_inrand:
+	call generate_random_number
+	arg mem_plap,rega
+	call generate_kinit
+send_lmp_rand:	/* used by in_rand,au_rand,start_encrypt */
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	fetch 1,mem_conn_sm 
+	beq CONN_SM_AUTH_WAIT,send_lmp_request
+	beq CONN_SM_PAIRING_WAIT,send_lmp_request
+	branch send_lmp_tid
+
+send_lmp_aurand:
+	fetch 1,mem_pairing_auth
+	branch send_lmp_aurand_notpairing,blank
+	call check_localsm
+	call tid_initiate,true
+	ncall tid_reply,true
+	branch send_lmp_aurand_common
+send_lmp_aurand_notpairing:
+	call tid_initiate
+send_lmp_aurand_common:
+	call generate_random_number
+	branch send_lmp_rand
+
+send_lmp_sres:
+	arg mem_lap,rega
+	call function_e1
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_input_store
+	istore 4,contw
+	arg mem_sres_tid,temp
+	call special_tid_store
+	call copy_aco
+	call check_localsm
+	branch send_lmp_sres_master,true
+	jam DONE_ENCRYP,mem_wait_encryption
+	fetch 1,mem_pairing_auth
+	rtn blank
+	jam LMP_AU_RAND,mem_lmo_opcode2
+send_lmp_sres_master:
+	fetch 1,mem_link_key_exists
+	rtn blank
+send_lmp_sres_startenc:
+	call check_localsm
+	nbranch send_lmp_sres_startenc_slave,true
+	fetch 1,mem_auth_enable
+	rtn blank
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+send_lmp_sres_startenc_slave:
+	rtnmark0 mark_slave_in_rand_accepted
+	set0 mark_slave_in_rand_accepted,mark
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+	
+
+	
+send_lmp_start_encryption:
+	call generate_random_number
+	call function_e3
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	branch send_lmp_tid
+
+send_lmp_stop_encryption_req:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_tid
+
+send_lmp_encryption_key_size_req:
+	force 2,pdata
+	call msg_send_lmp
+	force 16,pdata
+	istore 1,contw
+	store 1,mem_key_size
+	branch send_lmp_tid
+
+msg_send_lmp:
+/* FLOW is set high and LMP is indicated */
+	lshift3 pdata,pdata
+	or_into 0x07,pdata
+	store 1,mem_lmo_header_length
+	arg 17,loopcnt
+	arg mem_lmo_payload,contw
+	call clear_mem
+	arg mem_lmo_payload,contw
+	rtn
+
+send_lmpext:
+	and pdata,0x7f,rega
+	jam LMP_ESCAPE,mem_lmp_to_send
+	deposit queue
+	call msg_send_lmp
+	deposit rega
+	istore 1,contw
+	rtn
+
+send_lmp_follow:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptid,temp
+	setflag true,0,pdata
+	branch send_lmp_exit
+
+
+send_lmp_tid:
+	fetcht 1,mem_state_map
+	and_into 1,temp
+	branch send_lmp_end
+
+send_lmp_reply:
+	force 0,temp
+	branch send_lmp_end
+	
+send_lmp_request:
+	force 1,temp
+send_lmp_end:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	setflag master,0,pdata
+	ixor temp,pdata
+send_lmp_exit:
+	store 1,mem_lmo_header_opcode
+	jam 0,mem_lmp_to_send
+	call lmo_fifo_process_lmo0empty
+	enable user
+	rtn
+
+//blank : not full 
+lmo_fifo_check:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	call lmo_fifo_process
+	fetch 1,mem_lmo_opcode2
+	rtn
+
+lmo_fifo_process:
+	bpatchx patch30_6,mem_patch30
+	fetch 1,mem_lmp_to_send
+	branch lmo_fifo_process_lmo0empty,blank
+	fetch 1,mem_lmo_opcode1
+	nrtn blank
+	branch lmo_fifo_process_lmo2to1
+lmo_fifo_process_lmo0empty:
+	fetch 1,mem_lmo_opcode1
+	branch lmo_fifo_process_lmo1_empty,blank
+	fetch 3,mem_lmo_opcode1
+	store 3,mem_lmp_to_send//1=>0
+	fetcht 1,mem_lmo_tid1
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode1
+lmo_fifo_process_lmo2to1:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 4,mem_lmo_opcode2
+	store 4,mem_lmo_opcode1//2=>1
+	jam 0,mem_lmo_opcode2
+	rtn
+lmo_fifo_process_lmo1_empty:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 3,mem_lmo_opcode2
+	store 3,mem_lmp_to_send//2=>0	
+	fetcht 1,mem_lmo_tid2
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode2
+	rtn
+	
+//input:temp
+special_tid_store:
+	bpatchx patch30_7,mem_patch30
+	fetch 1,mem_state_map
+	copy pdata,regc
+	ifetch 1,temp
+	call pop_tid_follow
+	call send_lmp_follow
+	copy regc,pdata
+	store 1,mem_state_map
+	rtn
+	
+tid_reply:
+	fetcht 1,mem_state_map
+	set0 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+tid_initiate:
+	fetcht 1,mem_state_map
+	set1 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+	/* true if transaction from remote */
+tid_check:
+	nsetflag master,smap_lmptid,pdata //it is ok
+	fetcht 1,mem_state_map
+	ixor temp,pdata
+	isolate1 smap_lmptid,pdata
+	rtn	
+
+	/* set to remote */
+tid_set_reply:
+	fetch 1,mem_state_map
+	setflag master,smap_lmptid,pdata //it is ok
+	store 1,mem_state_map
+	rtn
+
+	/*rtn true when we lead lmp*/
+check_localsm:
+	fetch 1,mem_sp_localsm
+	compare 	LOCAL_STATEMACHINE,pdata,0x7f
+	rtn
+setlocalsm_master:
+	fetch 1,mem_sp_localsm
+	set1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+setlocalsm_slave:
+	fetch 1,mem_sp_localsm
+	set0 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+check_localsm_master:
+	fetch 1,mem_sp_localsm
+	isolate1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+	
+generate_random_number:
+	/* generating a 16 byte random number,storing in ape_random_number */
+	arg mem_random_number,contw
+generate_random:
+	force 16,loopcnt
+generate_random_another:
+generate_random_loop:
+	random pdata
+	istore 1,contw
+	loop generate_random_another
+	rtn
+
+generate_linkkey:
+	call function_e21
+	arg mem_link_key,rega
+	arg mem_input_store,regb
+	ifetch 8,rega					/* check if already got comb key */
+	fetcht 1,mem_state
+	nsetflag blank,state_combkey,temp
+	storet 1,mem_state
+	copy rega,contw
+	call  xor16
+	branch generate_linkkey_continue
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+
+process_conn_sm:
+	//nrtn master
+	bpatchx patch31_0,mem_patch31
+
+	call lmo_fifo_check
+	nrtn blank
+process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	/* state machine begins in standby */
+	//beq CONN_SM_STANDBY, host_create_conn_begin
+	//beq CONN_SM_WAIT_PAGE, host_create_conn_wait_page
+	beq CONN_SM_SEND_CONN_REQ, host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_CONN_ACCEPT, host_create_conn_wait_accept
+	beq CONN_SM_SEND_FEATURES, host_create_conn_send_features
+	beq CONN_SM_WAIT_FEATURES_RES, host_create_conn_waiting
+	beq CONN_SM_SEND_SWITCH,host_create_conn_send_switch
+	beq CONN_SM_AUTH_PAIR, host_create_conn_auth_pair
+	beq CONN_SM_AUTH_PAIR_WAIT, host_create_conn_auth_pair_wait
+	beq CONN_SM_ENCRYPT, host_create_conn_encrypt
+	beq CONN_SM_ENCRYPT_WAIT, host_create_conn_encrypt_wait
+	beq CONN_SM_ENCRYPT_WAIT_CLEAR, host_create_conn_encrypt_wait_clear
+	beq CONN_SM_SEND_SETUP_COMPLETE, host_create_conn_send_setup_complete
+	beq CONN_SM_WAIT_SETUP_COMPLETE, host_create_conn_wait_setup_complete
+	beq CONN_SM_DETACH_DELAY,host_create_conn_master_detach
+	beq CONN_SM_SEND_VERSION, host_create_conn_send_version
+	beq CONN_SM_WAIT_VERSION, host_create_conn_waiting
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION, host_creat_conn_wait_switch
+	beq CONN_SM_SEND_FEATURES_EXT,host_creat_conn_send_feat_ext
+	beq CONN_SM_WAIT_FEATURES_EXT,host_create_conn_waiting
+	beq CONN_SM_PAIRING,host_create_conn_pairing
+	beq CONN_SM_PAIRING_WAIT,host_create_conn_pairing_wait
+	beq CONN_SM_AUTH,host_create_conn_auth
+	beq CONN_SM_AUTH_WAIT,host_create_conn_auth_wait
+	beq CONN_SM_DONE,host_create_conn_done
+	beq CONN_SM_WAIT_DONE,host_create_conn_done_wait
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	rtn
+host_create_conn_done:
+	fetch 1,mem_lmp_conn_state		
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	rtnbit0 SENT_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm
+	call host_conn_judge_encrypt
+	branch scheduler_start_upper_sm
+	
+host_conn_judge_encrypt:
+	fetch 1,mem_connection_options
+	rtnbit0 CONNECTION_ENCRYPT
+	jam CONN_SM_ENCRYPT_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_done_wait:
+	arg enpt_delay_timer,queue
+	call timer_check
+	nrtn blank
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+	
+host_create_conn_auth:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_AUTH,pdata
+	store 1,mem_connection_options
+	jam CONN_SM_AUTH_WAIT,mem_conn_sm
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	rtn 
+host_create_conn_auth_wait:
+	rtn
+host_create_conn_pairing:
+	fetch 1,mem_pincode_state
+	rtnne pincode_state_pincode_ready //wait for pincode
+	call host_auth
+	jam CONN_SM_PAIRING_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_pairing_wait:
+	rtn
+host_creat_conn_send_feat_ext:
+	jam CONN_SM_WAIT_FEATURES_EXT,mem_conn_sm
+	jam LMP_EXT_FEATURES_REQ,mem_lmo_opcode2
+	rtn
+host_create_conn_send_version:
+	jam CONN_SM_WAIT_VERSION,mem_conn_sm
+	jam LMP_VERSION_REQ,mem_lmo_opcode2
+	rtn 
+	
+host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,host_create_conn_switch_accept
+	arg switch_wait_timer,queue
+	call timer_check
+	nrtn blank
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	branch host_create_conn_switch
+host_create_conn_switch_accept:
+	rtn master
+	branch host_create_conn_auth_pair
+
+host_create_conn_send_features:
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	jam LMP_FEATURES_REQ,mem_lmo_opcode2
+	rtn 
+host_create_conn_send_switch:
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	setarg 0x1ff
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_send_conn_req:
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	jam 0xff,mem_soft_timer
+	set0 mark_reconn_recieve_switch,mark
+	jam LMP_HOST_CONNECTION_REQ,mem_lmo_opcode2
+	branch init_lmp_reinit
+host_create_conn_wait_accept:
+	rtnmark1 mark_reconn_recieve_switch
+	fetch 2,mem_soft_timer
+	sub pdata,1,pdata
+	branch host_create_conn_resend,zero
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_resend:
+	jam CONN_SM_SEND_SWITCH,mem_conn_sm
+	rtn
+host_create_conn_waiting:
+	/* we will exit waiting for connection request accepted, features res, or other commands to finish */
+	rtn 
+
+host_create_conn_switch:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	jam CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,mem_conn_sm
+	rtn 
+
+host_create_conn_send_setup_complete:
+	jam CONN_SM_WAIT_SETUP_COMPLETE,mem_conn_sm	
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn 
+
+host_create_conn_wait_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm	
+
+	rtn
+host_create_conn_wait_setup_complete_rtn:	
+	jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+	rtn
+
+host_create_conn_master_detach:
+	fetch 1, mem_soft_timer
+	increase -1,pdata
+	branch host_create_conn_send_detach,blank//detach
+	store 1, mem_soft_timer
+	rtn 
+host_create_conn_send_detach:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send
+	jam 0,mem_conn_sm
+	rtn
+host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_SWITCH,host_create_conn_switch
+	bbit1 CONNECTION_AUTH,host_create_conn_auth_pair_true
+host_create_conn_sm_done:
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+host_create_conn_auth_pair_true:
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 4,mem_aurand_send_delay_time
+	arg 100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	branch host_create_conn_auth
+
+
+
+host_create_conn_auth_pair_nokey:
+	jam CONN_SM_PAIRING,mem_conn_sm
+	jam 4,mem_pin_length
+	setarg 0x3030
+	store 2,mem_pin
+	istore 2,contw
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch host_create_conn_pairing
+
+host_create_conn_auth_pair_wait:
+	rtn
+host_create_conn_encrypt:
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_ENCRYPT,host_create_conn_encrypt_start
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn 
+
+host_create_conn_encrypt_start:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT,pdata
+	store 1,mem_connection_options
+	jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2  
+	rtn
+
+host_create_conn_encrypt_wait:
+	fetch 1, mem_wait_encryption
+	rtn blank
+	jam CONN_SM_STANDBY,mem_conn_sm
+	branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+	jam CONN_SM_SEND_SETUP_COMPLETE,mem_conn_sm
+	rtn 
+
+host_auth:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,remote_auth
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+remote_auth:
+	fetch 1,mem_op
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	call tid_set_reply
+	branch cmd_exit
+
+pincode_reinit:
+	setarg 4
+	store 1,mem_pin_length
+	setarg 0x3030
+	istore 2,contw
+	istore 2,contw
+	rtn
+	
+
+
+/* ===================== two wire SPI gpio ======================= */
+
+twspi_reset:
+	bpatchx patch31_4,mem_patch31
+	hfetch 1,core_gpio_oe3
+	arg 0x06,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 1,pdata
+	set0 2,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable
+
+twspi_reset2:
+	hfetch 1,core_gpio_oe3
+	arg 0xc0,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 6,pdata
+	set0 7,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable2
+
+twspi_disable:
+	hfetch 1,core_gpio_sel1
+	and pdata,0xfc,pdata
+	hstore 1,core_gpio_sel1  //disable spi
+	rtn
+twspi_enable:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x01,pdata
+	hstore 1,core_gpio_sel1  //enable spi
+	rtn
+twspi_enable2:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x03,pdata
+	set0 4,pdata
+	hstore 1,core_gpio_sel1  //enable spi2
+	rtn
+
+// input read reg number: pdata 
+//output reg data: pdata
+sensor_read:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn
+// input write reg number: pdata 
+sensor_write:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_write
+	call spi_ncs_disable
+	nop 100
+	rtn
+//spi gpio init .
+//0xff :disable spi ncs gpio init
+spi_ncs_gpio_init:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_config_output
+
+//nsc gpio ouput low
+spi_ncs_enable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_active
+
+//ncs gpio output high
+spi_ncs_disable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_inactive
+
+
+twspi_write:
+	branch spid_write_reg
+	
+twspi_read:
+	branch spid_read_reg
+
+
+
+/* ===================== code loading ======================= */
+
+
+read_function_aes:
+	nbranch read_function,user
+	hfetch 1,core_gpio_key2
+	or_into 0x2,pdata   	// enable aes 
+	hstore 1,core_gpio_key2
+read_function:
+	copy temp,null
+	branch read_fuction_zero,zero
+	copy regc,pc
+read_fuction_zero:
+	isolate0 0,null
+	branch set_ucode_status
+	
+/* return temp = block length */
+get_block_header:
+	force 4,temp
+get_block_header0:
+	arg mem_ucode_buf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   	// disable aes for header
+	hstore 1,core_gpio_key2
+	call read_function
+	arg 0x55aa,rega
+	fetch 2,mem_ucode_buf
+	ifetcht 2,contr
+	isub rega,null
+	rtn	
+
+read_first_block:
+	arg 2,temp
+	arg mem_ucode_ptr,rega
+	call read_function
+	fetch 2,mem_ucode_ptr
+	store 2,mem_addr_mi
+	call get_iv,user
+	rtn
+	
+get_iv:
+	arg 16,temp
+	arg mem_ucode_keybuf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	call read_function
+	arg mem_ucode_keybuf,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch do_aes_cbc					/* generate first IV */
+
+load_storage:
+	disable match
+	call get_block_header
+	nrtn zero
+	enable match
+	hjam 0x80, core_ucode_ctrl
+	hjam 0,core_ucode_hi
+	hjam 0,core_ucode_low
+	arg core_ucode_data,rega
+	call read_function_aes
+	hjam 0x0, core_ucode_ctrl
+load_storage_loop:
+	arg 6,temp
+	call get_block_header0
+	nrtn zero
+	ifetch 2,contr
+	iforce rega
+	call read_function
+	branch load_storage_loop
+
+	
+	/* only load memory data from eeprom */
+reload_eeprom:
+	call clean_mem
+	setarg 0x1000
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	arg 2,loopcnt
+reload_eeprom_loop:
+	call get_block_header
+	nrtn zero
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	loop reload_eeprom_loop
+	branch load_storage_loop
+	
+loadcode:
+	call clean_mem
+	disable user
+	call otp_enable_chgpump
+	setarg otp_ucode_flag
+	arg mem_otp_ucode_flag,rega
+	arg 2,temp
+	call otpd_read_data
+	fetch 2,mem_otp_ucode_flag
+	bbit0 otp_uflag_aes, loadcode_otp
+	hjam 0x25,core_clkoff			// disable debug uart
+	setarg otp_ucode_aeskey
+	arg mem_ucode_keybuf,rega
+	arg 16,temp
+	call otpd_read_data
+	hjam lock_otp,core_misc_ctrl	// disable further read/write of key
+	set1 mark_otp_encrypt,mark	
+	arg mem_ucode_keybuf,contr
+	call load_key
+	enable user					// set user for aes
+loadcode_otp:
+	jam 0,mem_loadcode_times
+loadcode_otp_2:
+	call loadcode_check_times
+	fetch 2,mem_otp_ucode_flag
+	byteswap pdata,pdata
+	arg 0x7ff,temp
+	iand temp,pdata
+	branch loadcode_iic, zero
+	call otp_set_addr
+	arg otpd_read_code,regc
+	call get_iv,user
+	call load_storage
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_otp_2			// crc error, try again
+	
+loadcode_iic:
+	call otp_disable_chgpump
+	jam 0,mem_loadcode_times
+loadcode_iic_2:	
+	call loadcode_check_times
+	call clear_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_iic_eeprom_2k,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+loadcode_iic_eeprom_2k:
+	call set_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_spi,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+	
+loadcode_spi:
+	jam 0,mem_loadcode_times
+loadcode_spi_2:
+	call loadcode_check_times
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_flash, loadcode_hci
+	setarg 0x0
+	store 3,mem_addr_hi
+	call spid_init_flash
+	arg spid_load_flash,regc
+	call read_first_block
+	call load_storage
+	nbranch loadcode_hci,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_spi_2			// crc error, try again
+
+loadcode_hci:
+	bmark1 mark_otp_encrypt,loadcode_hci_enc
+	call clear_key_buf
+loadcode_hci_enc:
+	fetch 1,mem_otp_ucode_flag
+	bbit0 otp_uflag_hci,clear_key_buf
+	hjam 0x21,core_clkoff			// enable debug uart
+	call hci_init
+loadcode_hci_loop:
+	call hci_rx_packet
+	branch loadcode_hci_loop
+
+clear_key_buf:
+	setarg 0
+	store 8,mem_ucode_keybuf
+	store 8,mem_ucode_keybuf+8
+	force regidx_key,regext_index
+	call aes_clear
+	hjam 0x21,core_clkoff		// enable debug uart
+	rtn
+	
+
+loadcode_iic_by_eeprom:
+	setarg 0x0
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	call iicd_init_12m
+	call read_first_block
+	branch load_storage
+
+
+loadcode_check_times:
+	fetch 1,mem_loadcode_times
+	increase 1,pdata
+	sub pdata,3,null
+	nbranch loadcode_error,positive
+	store 1,mem_loadcode_times
+	rtn
+
+loadcode_error:
+	call clear_key_buf
+	call ice_break
+	rtn
+
+
+/* true flag is set into status */
+set_ucode_status:
+	fetch 1,mem_ucode_status
+	lshift pdata,pdata
+	setflag true,0,pdata
+	isolate0 15,rega
+	rtn true
+	store 1,mem_ucode_status
+	rtn
+
+	/* queue is bit position of hw done status */
+decrypt_code:
+	hfetch 1,core_gpio_key2
+	rtnbit0 1
+	branch decrypt_code_skip	/* skip to key generation at first for speed */
+decrypt_code_loop:
+	hfetch 1,core_dma_status
+	qisolate1 pdata
+	rtn true
+decrypt_code_skip:
+	hfetch 1,core_misc_status
+	bbit0 1,decrypt_code_loop
+	call do_aes_cbc
+	branch decrypt_code_loop
+
+
+
+load_ucode:
+	fetch 2,mem_patch_ptr
+	rtn blank
+	hjam 0x80, core_ucode_ctrl
+	hjam 0,core_ucode_hi
+	hjam 0,core_ucode_low
+	fetcht 2,mem_patch_len
+	lshift2 temp,loopcnt
+	iforce contr
+load_ucode_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_loop
+	hjam 0x0, core_ucode_ctrl
+	rtn
+
+
+/* ===================== SPI dma ======================= */
+
+spid_init:
+	bpatchx patch31_5,mem_patch31
+	call spid_init_common
+	branch twspi_enable
+
+spid_init2:
+	call spid_init_common
+	call twspi_disable
+	branch twspi_enable2
+	
+spid_init_common:
+	fetch 1,mem_spi_init_clk
+	hstore 1,core_spid_ctrl	// A7530 should at least 34, or write fail
+	fetch 1,mem_spi_init_delay_time
+	hstore 1,core_spid_delay	// 4us delay
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	branch twspi_disable
+	
+spid_reset:
+	hfetch 1,core_spid_ctrl
+	set1 7,pdata
+	hstore 1,core_spid_ctrl
+	set0 7,pdata
+	hstore 1,core_spid_ctrl
+	rtn
+
+
+/* pdata 6:0 is reg address, 15:8 is data to write */
+spid_write_reg:
+	set1 7,pdata
+	store 2,mem_spid_tbuf
+	bpatchx patch31_6,mem_patch31
+	hjam 2,core_spid_txlen
+	hjam 0,core_spid_rxlen
+	hjam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+/* pdata 6:0 is reg address */
+spid_read_reg:
+	force 1,temp
+/* pdata 6:0 is burst reg address, temp is bytes to read */
+spid_read_regs:
+//	nop 100
+	store 1,mem_spid_tbuf
+	bpatchx patch31_7,mem_patch31
+	hjam 1,core_spid_txlen
+	hstoret 2,core_spid_rxlen
+	hjam spid_start,core_misc_ctrl
+	call wait_spid_done
+	fetch 1,mem_spid_rbuf
+	rtn
+
+wait_spid_done:
+	fetch 2,mem_afh_error_total
+	increase 1,pdata
+	store 2,mem_afh_error_total
+	hfetch 1,core_dma_status
+	bbit0 spid_done,wait_spid_done
+	rtn
+
+spid_init_flash:
+	hjam 0x40,core_spid_ctrl
+	hjam 0x0,core_spid_delay
+	hfetch 1,core_gpio_sel1
+	set0 0,pdata
+	set1 1,pdata
+	hstore 1,core_gpio_sel1
+	setarg 0
+	store 4,mem_spid_tbuf
+	rtn
+
+
+spid_unlock_flash:
+	setarg 0
+	hstore 2,core_spid_rxlen
+	setarg 1
+	hstore 2,core_spid_txlen
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	jam 6,mem_spid_tbuf
+	hjam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/**
+ ******************************************************************************
+ ** \brief  write flash
+ **
+ ** \param [in]  rega: 2byte write ptr    
+ **			pdata:3byte flash address  
+ ** 			temp:2byte write data length
+ **
+ ** \retval user  0: flash buys 1:write flash setting complate
+ **
+ ******************************************************************************/
+
+flash_write:
+	disable user
+	copy pdata,regb
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	enable user
+	copy regb,pdata
+	branch flash_write_start
+
+
+flash_write_spi_sm_timer:
+	fetch 1,mem_spi_write_flash_sm 	
+	beq FLASH_SM_START,flash_write_start
+	beq FLASH_SM_ERASE_SECTOR,flash_erase_sector
+	beq FLASH_SM_WAIT_ERASE_SECTOR,flash_wait_erase_sector
+	beq FLASH_SM_WRITE_DATA,flash_write_data
+	beq FLASH_SM_WAIT_WRITE_DATA,flash_wait_write_data
+	rtn
+
+flash_write_start:
+	store 3,mem_spi_write_addr
+	copy rega,pdata
+	store 2,mem_spi_write_ptr
+	storet 2,mem_spi_write_len
+	jam FLASH_SM_ERASE_SECTOR,mem_spi_write_flash_sm
+	branch spid_init_flash
+flash_erase_sector:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_ERASE_SECTOR,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	arg mem_spid_tbuf,rega
+	fetch 3,mem_spi_write_addr
+	hjam 4,core_spid_txlen
+	arg FLASH_COMMAND_SECTOR_ERASE,temp
+	branch spid_write_flash_common
+	
+flash_wait_erase_sector:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_WRITE_DATA,mem_spi_write_flash_sm
+	rtn
+flash_write_data:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_WRITE_DATA,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	call flash_data_preserve
+	call spid_write_flash
+	branch flash_data_recover
+flash_wait_write_data:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_NO_BUYS,mem_spi_write_flash_sm
+	fetch 2,mem_cb_spi_flash_write_complate
+	branch callback_func
+flash_data_recover:
+	fetch 4,mem_temp
+	fetcht 2,mem_spi_write_ptr
+	increase -4,temp
+	istore 4,temp
+	rtn
+flash_data_preserve:
+	fetcht 2,mem_spi_write_ptr
+	copy temp,rega
+	increase -4,temp
+	ifetch 4,temp
+	store 4,mem_temp
+	fetcht 2,mem_spi_write_len
+	fetch 3,mem_spi_write_addr
+	rtn
+
+
+/* pdata is flash address, rega pointers to txdata(4 ahead bytes should be left), temp is length */
+spid_write_flash:
+	increase 4,temp
+	hstoret 2,core_spid_txlen
+	arg FLASH_COMMAND_WRITE_DATA,temp
+	increase -4,rega
+spid_write_flash_common:
+
+	istoret 1,rega
+	rshift16 pdata,temp
+	istoret 1,contw
+	rshift8 pdata,temp
+	istoret 1,contw
+	istore 1,contw
+	deposit rega
+	hstore 2,core_spid_txaddr
+	setarg 0
+	hstore 2,core_spid_rxlen
+	hjam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf   */
+spid_read_flash:
+	hstoret 2,core_spid_rxlen
+	rshift16 pdata,temp
+	storet 1,mem_addr_hi
+	rshift8 pdata,temp
+	storet 1,mem_addr_mi
+	store 1,mem_addr_lo
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam FLASH_COMMAND_READ_DATA,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	hjam spid_start,core_misc_ctrl
+spi_read_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_read_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf  */
+spid_load_flash:
+	hstoret 2,core_spid_rxlen
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam 3,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	hjam spid_start,core_misc_ctrl
+spi_load_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_load_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	call decrypt_code
+	call wait_spid_done
+	isolate1 spid_crcok,pdata
+	call set_ucode_status
+	fetch 1,mem_addr_hi
+	lshift16 pdata,regb
+	fetch 1,mem_addr_mi
+	lshift8 pdata,pdata
+	ior regb,regb
+	fetch 1,mem_addr_lo
+	ior regb,pdata
+	iadd temp,pdata
+	store 1,mem_addr_lo
+	rshift8 pdata,pdata
+	store 1,mem_addr_mi
+	rshift8 pdata,pdata
+	store 1,mem_addr_hi
+	rtn
+
+/*****************************************************************************
+*soft reset chip
+*****************************************************************************/
+soft_reset_chip:
+	hjam 1,core_reset
+	rtn
+
+
+
+/* ===================== I2C dma ======================= */
+
+iic_init_390k:	//390khz
+	hjam 12,core_iicd_scl_low
+	hjam 13,core_iicd_scl_high
+	hjam 13,core_iicd_start_setup
+	hjam 13,core_iicd_start_hold
+	hjam 13,core_iicd_stop_setup
+	hjam 12,core_iicd_data_setup
+  	branch iicd_init_gpio	
+
+
+iicd_init_12m:
+	hjam 5,core_iicd_scl_low
+ 	hjam 7,core_iicd_scl_high
+	hjam 7,core_iicd_start_setup
+	hjam 7,core_iicd_start_hold
+	hjam 7,core_iicd_stop_setup
+	hjam 5,core_iicd_data_setup
+iicd_init_gpio:	
+	hfetch 1,core_gpio_pu3
+	or_into 0xc0,pdata
+	hstore 1,core_gpio_pu3
+	hfetch 1,core_gpio_sel1
+	or_into 0x10,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+
+
+wait_iicd_done:
+	hfetch 1,core_dma_status
+	bbit0 iicd_done,wait_iicd_done
+	rtn
+
+/*
+pdata is tx length
+rega is points to tx buffer
+regb is points to rx buffer
+temp is rx length
+*/
+iicd_read_data:
+	hstore 2,core_iicd_txlen
+	deposit rega
+	hstore 2,core_iicd_txaddr	
+	deposit regb
+	hstore 2,core_iicd_rxaddr
+	deposit temp	
+	hstore 2,core_iicd_rxlen
+	arg 1,temp
+	nsetflag blank,1,temp
+	hstore 1,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	branch wait_iicd_done
+
+
+set_eeprom_size_2k:
+	set1 mark_eeprom_size,mark
+	jam 0x08,mem_eeprom_block_size
+	rtn
+
+clear_eeprom_size_2k:
+	set0 mark_eeprom_size,mark
+	jam 0x20,mem_eeprom_block_size
+	rtn
+
+
+iicd_read_eep_data_size_2k:
+ 	fetch 1,mem_eeprom_base
+	iadd regb,pdata
+	store 1,mem_addr_mi
+	branch iicd_read_eep_size_2k
+
+iicd_read_eep_size_2k_lcadcode:
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	store 1,mem_addr_mi
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr:pdata
+iicd_read_eep_size_2k:
+ 	setarg 3
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+2
+	branch iicd_read_eep_common
+
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr:regb
+iicd_write_protect_eep_data:
+	storet 2,mem_temp
+	call iicd_eeprom_write_enable
+	fetcht 2,mem_temp
+	call iicd_write_eep_data
+	branch iicd_eeprom_write_disable
+	
+iicd_eeprom_write_enable:
+	fetch 1,mem_eeprom_wp_gpio
+	rtneq GPIO_DISABLE
+	bbit0 6,iicd_wp_gpio_output_low
+	setarg 150000
+	call sleep
+iicd_wp_gpio_output_low:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_active
+	
+iicd_eeprom_write_disable:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_inactive
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_read_eep_data:
+	bpatchx patch32_0,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_data_size_2k
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+
+/* rega pointers to buf, temp is length  */
+iicd_read_eep:
+	bpatchx patch32_1,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_size_2k_lcadcode
+	setarg 4
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+3
+iicd_read_eep_common:	
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	hstoret 2,core_iicd_rxlen
+	deposit rega
+	hstore 2,core_iicd_rxaddr
+	setarg 2
+	isolate0 15,rega
+	setflag true,0,pdata
+	hstore 1,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	arg iicd_done,queue
+	call decrypt_code
+	call wait_iicd_done
+	isolate1 iicd_crcok,pdata
+	call set_ucode_status
+	bmark1 mark_eeprom_size,iicd_read_eep_load_code_size_2k
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+
+iicd_read_eep_load_code_size_2k:
+	fetch 1,mem_addr_mi
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+	
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_write_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+
+//cuur ptr:pdata length:temp buf:rega
+iicd_write_ota_data:
+	store 2,mem_pdatatemp //curr ptr
+	bpatchx patch32_2,mem_patch32
+	storet 2,mem_temp	//len
+	copy rega,pdata
+	store 2,mem_contr
+iicd_write_eep_loop:
+	call iicd_eep_transparency
+
+	fetcht 2,mem_regb
+	fetch 2,mem_contr
+	copy pdata,rega
+	fetch 2,mem_pdatatemp
+	
+	call iicd_write_eep
+	
+	fetch 2,mem_regb
+	fetcht 2,mem_contr
+	iadd temp,temp
+	storet 2,mem_contr
+	fetcht 2,mem_pdatatemp
+	iadd temp,temp
+	storet 2,mem_pdatatemp
+	fetch 2,mem_temp
+	nbranch iicd_write_eep_loop,blank
+	rtn
+	
+//in:
+//1.size 2.len 3.src 4.des
+//mem_regc page's area
+//mem_pdatatemp curr ptr
+//mem_temp all len      
+//mem_regb curr len
+iicd_eep_transparency:
+	bpatchx patch32_3,mem_patch32
+	fetch 1,mem_eeprom_block_size
+	increase -1,pdata
+	fetcht 2,mem_pdatatemp
+	ior temp,pdata
+	increase 1,pdata
+	store 3,mem_regc
+
+	fetch 2,mem_temp
+	iadd temp,pdata
+
+	fetcht 3,mem_regc
+	isub temp,pdata
+	nbranch iicd_eep_deal_short_packet,positive
+	store 2,mem_temp
+	fetch 3,mem_regc
+	fetcht 2,mem_pdatatemp
+	isub temp,pdata
+	store 2,mem_regb
+	rtn
+iicd_eep_deal_short_packet:
+	fetch 2,mem_temp
+	store 2,mem_regb
+	setarg 0
+	store 2,mem_temp
+	rtn
+
+iicd_write_eep_size_2k:
+	increase 2,temp
+	hstoret 2,core_iicd_txlen
+	increase -2,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+//	byteswap pdata,pdata
+	istore 1,contw
+	branch iicd_write_eep_common
+
+	/* pdata is eeprom address, rega pointers to txdata(3 ahead bytes should be left), temp is length */
+iicd_write_eep:
+	copy pdata,regb
+	bpatchx patch32_4,mem_patch32
+	bmark1 mark_eeprom_size,iicd_write_eep_size_2k
+	copy regb,pdata
+	increase 3,temp
+	hstoret 2,core_iicd_txlen
+	increase -3,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+	byteswap pdata,pdata
+	istore 2,contw
+iicd_write_eep_common:	
+	deposit rega
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	hjam 1,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	copy regb,pdata
+	istore 3,rega
+	
+iic_check_eeprom_standby:
+	bpatchx patch32_5,mem_patch32
+	jam 0,mem_iicd_tbuf+3
+iic_check_eeprom_standby_wait:
+	setarg 1
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	hstore 2,core_iicd_rxaddr
+	setarg 3
+	hstore 1,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	hfetch 1,core_dma_status
+	rtnbit0 iicd_ack
+	nop 1500
+	fetch 1,mem_iicd_tbuf+3
+	increase 1,pdata
+	store 1,mem_iicd_tbuf+3
+	sub pdata,40,null
+	nrtn positive//polling timeout 6ms
+	branch iic_check_eeprom_standby_wait
+
+/* ===================== OTP ======================= */
+
+otp_enable_chgpump:
+	hjam 0x70,rfen_chgpump
+	nop param_chgpump_delay
+	rtn
+
+otp_disable_chgpump:
+	hjam 0x30,rfen_chgpump
+	rtn
+	
+otp_set_addr:
+	lshift3 pdata,pdata
+	hstore 2,core_otp_addr
+	hjam 0,core_otpd_ctrl
+	rtn	
+
+/* pdata = otp address, rega pointers data, loopcnt is count */
+otp_write:
+	call otp_set_addr
+	call otp_ce
+otp_program:
+	ifetcht 1,rega
+	increase 1,rega
+	force 0,queue
+otp_program_bit:
+	qisolate0 temp
+	branch otp_skip_0,true
+	hfetch 1,core_otp_din
+	set1 6,pdata				/* din */
+	set1 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	hjam 0x02,core_otp_ctrl	/* web */
+	hjam 0x82,core_otp_ctrl
+	set0 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	hjam 0x8a,core_otp_ctrl	/* pgmen */
+	nop 11
+	hjam 0xca,core_otp_ctrl	/* vppen */
+	nop 33
+	hjam 0x4a,core_otp_ctrl	/* web 2nd */
+	nop 44
+	hjam 0xca,core_otp_ctrl	/* release web */
+	nop 22
+	hjam 0x8a,core_otp_ctrl	/* release vppen */
+	nop 33
+	hjam 0x82,core_otp_ctrl	/* release pgmen */
+	nop 1
+	hjam 0x92,core_otp_ctrl	/* pgmvfy */
+	nop 10
+	hjam 0xb2,core_otp_ctrl	/* readen */
+	hfetch 1,core_otp_rdata
+	hjam 0x92,core_otp_ctrl	/* release readen */
+	nop 1
+	hjam 0x82,core_otp_ctrl	/* release pgmvfy */
+	qisolate0 pdata
+	branch otp_program_bit,true	/* program error */
+otp_skip_0:
+	hfetch 2,core_otp_addr
+	increase 1,pdata
+	hstore 2,core_otp_addr
+	increase 1,queue
+	compare 8,queue,0xf
+	nbranch otp_program_bit,true
+	loop otp_program
+	hjam 0x83,core_otp_ctrl
+	rtn
+
+otp_ce:
+	hjam 0x82,core_otp_ctrl	/* ceb */
+	nop 12
+	hjam 0x80,core_otp_ctrl	/* rstn */
+	hjam 0x82,core_otp_ctrl	/* release rstn */
+	nop 150					/* waiting for vdd25 stable */
+	rtn
+
+	/* rega points to data, temp is count */
+otpd_read_init:
+	call otp_ce
+	hjam 0xa2,core_otp_ctrl	/* readen */
+	deposit rega
+	hstore 2,core_otpd_addr
+	set1 11,temp
+	isolate0 15,pdata
+	setflag true,15,temp
+	hstoret 2,core_otpd_len
+	hjam otpd_start,core_misc_ctrl
+	rtn
+
+otpd_wait_end:
+	hfetch 1,core_dma_status
+	bbit0 otpd_done,otpd_wait_end
+	rtn
+	
+	/* pdata=otp address, rega points to data, temp is count */
+otpd_read_data:
+	call otp_set_addr
+	call otpd_read_init
+	call otpd_wait_end
+	hjam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+
+
+/* rega pointers to buf, temp is length */
+otpd_read_code:	
+	hfetch 2,core_current_otp_addr
+	hstore 2,core_otp_addr
+	call otpd_read_init
+	arg otpd_done,queue
+	call decrypt_code
+	call otpd_wait_end
+	isolate1 otpd_crcok,pdata	
+	call set_ucode_status
+	hjam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+/* ===================== uart dma ======================= */
+uartd_prepare_tx:
+	hfetch 2,core_uart_twptr
+	iforce contwu
+	rtn
+
+uartd_send:
+	deposit contwu
+	hstore 2,core_uart_twptr
+	rtn
+
+uartd_rxdone:
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+uartd_prepare_rx:
+	hfetch 2,core_uart_rrptr
+	copy pdata,contru
+	rtn
+
+uart_set_baud_by_mem:
+	fetch uart_baud_len,mem_baud
+	hstore uart_baud_len,core_uart_baud
+	rtn
+
+uart_copy_tx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_tx_8_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_tx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_tx_4_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_tx_bytes
+
+uart_tx_8_bytes:
+	ifetch 8,contr
+	istore 8,contwu
+	rtn
+
+uart_tx_4_bytes:
+	ifetch 4,contr
+	istore 4,contwu
+	rtn
+
+uart_copy_tx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_loop:
+	ifetch 1,contr
+	istore 1,contwu
+	loop uart_copy_tx_bytes_loop
+	rtn
+
+uart_copy_rx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_rx_8_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_rx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_rx_4_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_rx_bytes
+
+uart_rx_8_bytes:
+	ifetch 8,contru
+	istore 8,contw
+	rtn
+
+uart_rx_4_bytes:
+	ifetch 4,contru
+	istore 4,contw
+	rtn
+
+
+uart_copy_rx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_loop:
+	ifetch 1,contru
+	istore 1,contw
+	loop uart_copy_rx_bytes_loop
+	rtn
+
+
+uart_copy_rx2tx:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx2tx_loop:
+	ifetch 1,contru
+	istore 1,contwu
+	loop uart_copy_rx2tx_loop
+	rtn
+
+
+/* ===================== eeprom data ======================= */
+
+app_store_nvram_event:
+	jam BT_EVT_STORE_NVRAM,mem_fifo_temp
+	branch ui_ipc_send_event
+
+check_51cmd_store_reconn_info:
+check_51cmd_update_device_record:
+	bpatchx patch32_6,mem_patch32
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	call check_nvram
+	call init_device_list,zero
+	call nvram_find_addr_from_bd_list
+write_device_record:
+	fetch 1,mem_nv_data_number
+	icopy regc
+	fetcht 2,mem_nv_data_ptr
+	storet 2,mem_list_item_ptr
+write_device_loop_find:
+	copy regc,pdata
+	branch app_store_nvram_event,blank  //EEPROM
+	increase -1,regc
+	copy temp,rega
+	ifetch 1,rega
+	fetcht 1,mem_select_list_item
+	isub temp,null
+	call set_index_finded_device,zero
+	branch write_device_loop_find0,positive
+	ifetch 1,rega
+	increase 1,pdata
+	istore 1,rega
+write_device_loop_find0:
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	branch write_device_loop_find
+
+set_index_finded_device:
+	setarg 0
+	istore 1,rega
+	fetch 1,mem_temp_reconn_record
+	istore 1,contw	
+	bne REC_3_MODE,set_index_finded_device_ble_mode
+	arg mem_link_key,regb
+set_index_find_device_MASTER_ADDR:
+	ifetch 6,contr
+	istore 8,contw
+	setarg 0
+	istore 8,contw
+	copy regb,contr
+store_rec_data_common:
+	call memcpy16
+	force 1,null
+	rtn
+
+set_index_finded_device_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_IRK
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_EDIV
+	arg mem_le_ltk,regb
+	branch set_index_find_device_MASTER_ADDR
+
+set_index_finded_device_IRK:
+	arg mem_le_irk,contr
+	call memcpy16
+store_ble_rec_data_common:
+	arg mem_le_ltk,contr
+	branch store_rec_data_common
+
+set_index_finded_device_EDIV:
+	arg mem_le_rand,contr
+	call memcpy16
+	branch store_ble_rec_data_common
+
+
+nvram_find_addr_from_bd_list:
+	call disable_user
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,find_addr_from_bd_list_SPP_mode
+find_addr_from_bd_list_ble_mode:
+	bpatchx patch32_7,mem_patch32
+	fetch 1,mem_le_conn_peer_addr_type
+	beq MASTER_PUBLIC_ADDR,find_addr_from_bd_list_static_addr
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	branch find_addr_from_bd_list_static_addr,true
+	compare 0x40,pdata,0xc0
+	branch find_addr_from_bd_list_random_addr,true
+	compare 0x00,pdata,0xc0
+	branch find_addr_from_bd_list_random_non_resolvable_private_address,true
+find_addr_from_bd_list_static_addr:
+	jam REC_4_MODE_STATIC_ADDRESS,mem_temp_reconn_record
+	fetch 6,mem_le_plap
+	branch find_addr_from_bd_list_common
+	
+find_addr_from_bd_list_random_non_resolvable_private_address:	
+	jam REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+
+//input :pdata EDIV and rands
+find_addr_from_bd_list_random_addr:
+	jam REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+	
+//input :pdata EDIV and rands
+find_addr_from_bd_list_SPP_mode:
+	bpatchx patch33_0,mem_patch33
+	jam REC_3_MODE,mem_temp_reconn_record
+	fetch 6,mem_plap
+find_addr_from_bd_list_common:
+	store 6,mem_temp_reconn_record+1
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease 1
+	store 2,mem_list_item_ptr
+	storet 1,mem_select_list_item
+	fetch 1,mem_nv_data_number
+	icopy regc
+nvram_find_addr_from_list:
+	fetch 2,mem_list_item_ptr
+	copy pdata,rega
+	call nvram_find_addr_from_list_compare
+	rtn user
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	increase -1,temp
+	ifetch 1,temp
+	store 1,mem_select_list_item
+	increase -1,regc
+	nbranch nvram_find_addr_from_list,zero
+	fetch 1,mem_nv_data_number
+	pincrease DECREASED_ONE
+	store 1,mem_select_list_item
+	rtn
+nvram_find_addr_from_list_compare:
+	fetch 1,mem_temp_reconn_record
+	bne REC_3_MODE,find_addr_from_list_compare_ble_mode
+find_master_addr_from_list_compare:
+	arg mem_temp_reconn_record,regb
+	arg 7,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+find_addr_from_list_compare_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,find_irk_form_list_compare
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,find_ediv_form_list_compare
+	branch find_master_addr_from_list_compare
+
+find_irk_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	arg mem_le_prand,contw
+	arg 16,loopcnt
+	call clear_mem
+	fetch 3,mem_le_plap+3
+	store 3,mem_le_prand
+	call genernate_master_MacAddress
+	fetch 2,mem_le_aes_128+13
+	byteswap pdata,pdata
+	lshift8 pdata,temp
+	ifetch 1,contr
+	iadd temp,pdata
+	fetcht 3,mem_le_plap
+	isub temp,null
+	branch enable_user,zero
+	rtn
+
+
+genernate_master_MacAddress:
+	arg mem_le_prand ,contr
+	call load_data128
+//	arg mem_le_irk,contr
+	ifetch 1,rega
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_aes_128,contw
+	branch store_aes_result
+
+find_ediv_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	copy contr,rega
+	add contr,8,regc
+	arg mem_le_rand,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	copy regc,rega
+	arg mem_le_irk,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+check_nvram:
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease NV_DATA_LEN
+	ifetch 1,pdata
+	isub temp,null
+	rtn
+
+init_device_list:
+	fetch 1,mem_nv_data_number
+	icopy loopcnt
+	fetcht 2,mem_nv_data_ptr
+	setarg 0
+init_device_list_loop:
+	istore 1,temp
+	increase NV_DATA_LEN,temp
+	pincrease 1
+	loop init_device_list_loop
+	rtn
+
+load_device_list:
+	bpatchx patch33_1,mem_patch33
+	call nvram_find_addr_from_bd_list
+	fetch 1,mem_state
+	setflag user,state_combkey,pdata	/* we have link key */
+	store 1,mem_state
+	nbranch clear_key_exists,user
+	add rega,10,contr
+//	copy rega,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	branch check_link_key_load
+clear_key_exists:
+	jam 0,mem_link_key_exists
+	rtn
+
+load_device_list_mode_4:
+	fetch 9,mem_le_ediv
+	branch clear_ltk_exists,blank
+	call nvram_find_addr_from_bd_list
+	nbranch clear_ltk_exists,user
+	fetch 2,mem_list_item_ptr
+	add pdata,1,contr
+	arg mem_le_irk,contw
+	call  memcpy16
+	arg mem_le_ltk,contw
+	call  memcpy16
+	jam 1,mem_ltk_exists
+	rtn
+
+clear_ltk_exists:
+	jam 0,mem_ltk_exists
+	rtn
+
+
+eeprom_store_le_reconn_info:
+	fetch 6,mem_le_plap
+	store 6,mem_temp_lap
+	jam REC_4_MODE,mem_record_bt_mode
+	branch eeprom_store_reconn_info
+eeprom_store_bd_reconn_info:
+	fetch 6,mem_plap
+	store 6,mem_temp_lap
+	jam REC_3_MODE,mem_record_bt_mode
+eeprom_store_reconn_info:
+	fetch 1,mem_device_option
+	beq dvc_op_module,check_51cmd_update_device_record
+	bbit1 dvc_op_mouse,mouse_store_remote_bdaddr
+	rtn
+	
+
+check_link_key_load:
+	fetch 8,mem_link_key
+	fetcht 8,mem_link_key+8
+	ior temp,pdata
+	rtn blank
+	jam 1,mem_link_key_exists
+	rtn
+	
+
+/* =============== GPIO CONTROL ================= */
+
+
+	//temp [4:0]=GPIO number, 0-31, 
+gpio_set_wake_by_current_state:
+	bpatchx patch33_2,mem_patch33
+	set1 7,temp
+	call gpio_get_bit
+	nsetflag true,7,temp
+	//branch gpio_set_wake
+	//fall through
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_set_wake:
+	bpatchx patch33_3,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qsetflag true,pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	nqsetflag true,pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_clr_wake:
+	bpatchx patch33_4,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qset0 pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	qset0 pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+
+
+gpio_config_input_nowake:
+	call gpio_clr_wake
+	branch gpio_config_input_without_wake
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_config_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	ncall gpio_set_wake,wake
+
+gpio_config_input_without_wake:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	setflip gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+gpio_set_high_impedance:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active. set gpio to inactive state
+gpio_config_output:	
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	setflip gpio_active_bit,temp
+	call gpio_out
+gpio_config_output0:
+	set1 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+	
+gpio_common:
+	and temp,0x07,queue
+	rshift3 temp,pdata
+	and_into 3,pdata
+	iadd contw,contw
+	ifetch 1,contw
+	rtn
+
+gpio_check_active:
+	arg core_gpio_out0,contw
+	branch get_bit_common
+
+	
+	/* temp is gpio number, return true if gpio active */
+gpio_get_bit:
+	arg core_gpio_in,contw
+get_bit_common:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	branch gpio_get_bit_reverse,true
+	qisolate0 pdata
+	rtn
+gpio_get_bit_reverse:
+	qisolate1 pdata
+	rtn
+
+gpio_out_inactive:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate1 7,null
+	branch gpio_out_flag
+
+gpio_out_active:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,null
+
+	/* temp is gpio number,  [7]=1,set out equa true flag if gpio active */
+gpio_out_flag:
+	setarg 0
+	nsetflag true,gpio_active_bit,pdata
+	ixor temp,temp
+	
+	/* temp is gpio number,0-31, [7]=out bit value */
+gpio_out:
+	arg core_gpio_out0,contw
+
+	//temp [4:0]=GPIO number, 0-31, [7]=bit value; contw is gpio reg base
+gpio_set_bit:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	qsetflag true,pdata
+	istore 1,contw
+	rtn
+
+gpio_set_before_lpm_common:
+	arg -1,rega
+	hfetch 1,core_gpio_sel1
+	compare 0x02,pdata,0x03
+	call neglact4_from_23_pin,true	//spi
+
+	compare 0x01,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio25 26
+
+	compare 0x03,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio30 31
+	 	 
+	isolate1 2,pdata
+	call neglect2_from_6_pin,true	//uart
+	 
+	isolate1 3,pdata
+	call neglect4_from_9_pin,true	//spi
+
+	isolate1 4,pdata
+	call neglact2_form_30_pin,true	//IIC GPIO30 31
+
+	isolate1 6,pdata
+	nsetflag true,04,rega			//pwm0 gpio4
+
+	isolate1 7,pdata
+	nsetflag true,05,rega			//pwm1 gpio5
+
+	hfetch 1,core_gpio_sel2
+	isolate1 0,pdata
+	nsetflag true,27,rega			//pwm2 gpio27
+	isolate1 1,pdata
+	nsetflag true,28,rega			//pwm3 gpio28
+	isolate1 2,pdata
+	nsetflag true,03,rega			//pwm4 gpio03
+	isolate1 3,pdata
+	nsetflag true,08,rega			//pwm5 gpio08
+	isolate1 4,pdata
+	nsetflag true,20,rega			//pwm0 gpio20
+	isolate1 5,pdata
+	nsetflag true,21,rega			//pwm1 gpio21
+	isolate1 6,pdata
+	nsetflag true,22,rega			//pwm2 gpio22
+	isolate1 7,pdata
+	nsetflag true,23,rega			//pwm3 gpio23
+		
+	hfetch 1,core_gpio_sel
+	isolate1 0,pdata
+	nsetflag true,05,rega			//ADC GPIO05
+	isolate1 1,pdata
+	nsetflag true,06,rega			//ADC GPIO06
+	isolate1 2,pdata
+	nsetflag true,07,rega			//ADC GPIO07
+	isolate1 3,pdata
+	nsetflag true,18,rega			//ADC GPIO18
+	isolate1 4,pdata
+	nsetflag true,19,rega			//ADC GPIO19
+	isolate1 5,pdata
+	nsetflag true,20,rega			//ADC GPIO20
+	isolate1 6,pdata
+	nsetflag true,21,rega			//ADC GPIO21
+	isolate1 7,pdata
+	nsetflag true,22,rega			//ADC GPIO22
+	
+	hfetch 1,core_uart_ctrl
+	isolate1 4,pdata
+	call neglact2_form_2_pin,true
+	bpatchx patch33_5,mem_patch33
+
+	hfetch 4,core_gpio_pu0
+	hfetcht 4,core_gpio_pd0
+	ior temp,pdata
+	invert pdata,pdata
+	iand rega,pdata
+	//set0 4,pdata //revc
+	hstore 4,core_gpio_oe0
+	rtn
+	
+	
+neglect2_from_6_pin: //uart
+	 arg 6,queue
+	 branch neglect_2_pin
+neglect4_from_9_pin:
+	 arg 9,queue
+	 branch neglact_4_pin
+neglact4_from_23_pin:
+	 arg 23,queue
+	 branch neglact_4_pin
+neglact2_form_25_pin:
+	 arg 25,queue
+	 branch neglect_2_pin
+neglact2_form_30_pin:
+	 arg 30,queue
+	 branch neglect_2_pin
+neglact2_form_2_pin:
+	 arg 2,queue
+	 branch neglect_2_pin
+neglact_1_pin:
+	arg 1,loopcnt
+	branch neglect_pin_loop
+neglact_4_pin:
+	 arg 4,loopcnt
+	 branch neglect_pin_loop
+neglect_2_pin:
+	 arg 2,loopcnt
+neglect_pin_loop:
+	 qset0 rega
+	 increase 1,queue
+	 loop neglect_pin_loop
+	 rtn
+
+
+
+
+
+
+/* ===================== sniff GPIO CONTROL ======================= */
+gpio_cfg_uart_tx_output:
+	call gpio_uart2gpio
+	arg UART_WAKEUP_TX,temp
+	branch gpio_config_output
+
+gpio_pu_uart_tx:
+	call gpio_cfg_uart_tx_output
+	arg UART_WAKEUP_TX,temp
+	branch gpio_out_inactive
+
+
+
+gpio_rx_config_input_with_pu:
+	call gpio_uart2gpio
+	hfetch 1, core_gpio_pu0
+	set1 UART_WAKEUP_RX,pdata
+	hstore 1,core_gpio_pu0
+	arg UART_WAKEUP_RX,temp
+	branch gpio_config_input
+	
+gpio_uart2gpio:
+	hfetch 1,core_gpio_sel1
+	and_into 0xfb,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+gpio_check_uart_state:
+	hfetch 1,core_gpio_sel1
+	isolate1 2,pdata
+	rtn
+
+load_chip_option:
+	call otp_enable_chgpump
+	setarg OTP_CHIP_FUNCTIONS
+	arg mem_chip_functions,rega
+	arg 0x02,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+load_adc_init:
+	call otp_enable_chgpump
+	setarg otp_adc_io_0_5V_addr
+	arg mem_0_5_adc_io_data,rega
+	arg 14,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+//mem_adc_config_flag 0:vinlpm 1:Hvin 2: GPIO
+adc_init_data:
+	bpatchx patch33_6,mem_patch33
+
+	call load_adc_init
+	
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,adc_init_data_io
+	rtn	
+
+adc_init_data_vinlpm:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_vinlpm,zero
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data	
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+	branch set_vdd_reference_voltage_1v
+
+adc_check_data_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	nbranch adc_check_2v_vinlpm,blank
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data
+adc_check_2v_vinlpm:	
+	fetch 2,mem_2v_adc_vinlpm_data
+	nbranch set_vdd_reference_voltage_1v,blank
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+set_vdd_reference_voltage_1v:
+	setarg 100
+	store 2,mem_reference_voltage //set reference voltage = 1V
+	rtn		
+
+adc_init_data_hvin:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_hvin,zero
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data	
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+	branch set_vdd_reference_voltage_4v
+
+adc_check_data_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	nbranch adc_check_1v_hvin,blank
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data
+adc_check_1v_hvin:	
+	fetch 2,mem_1v_adc_hvin_data
+	nbranch set_vdd_reference_voltage_4v,blank
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+set_vdd_reference_voltage_4v:
+	setarg 400
+	store 2,mem_reference_voltage //set reference voltage = 4V
+	rtn 	
+
+adc_init_data_io:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_io,zero
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data	
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+	branch set_vdd_reference_voltage_0_5v
+
+adc_check_data_io:
+	fetch 2,mem_1v_adc_io_data
+	nbranch adc_check_0_5v_io,blank
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data
+adc_check_0_5v_io:
+	fetch 2,mem_0_5_adc_io_data
+	nbranch set_vdd_reference_voltage_0_5v,blank
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+set_vdd_reference_voltage_0_5v:
+	setarg 50
+	store 2,mem_reference_voltage //set reference voltage = 0.5V
+	rtn	
+
+
+adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_check_vinlpm
+	beq ADC_CONFIG_HVIN,adc_check_hvin
+	beq ADC_CONFIG_GPIO,adc_check_gpio
+	rtn
+adc_check_vinlpm:
+	hjam 0xbf,rf_adc_mode	//read VINLPM voltage directly	
+	branch read_adc
+adc_check_hvin:
+	hjam 0xaf,rf_adc_mode	//read HVIN voltage directly
+	branch read_adc
+adc_check_gpio:
+	hjam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+read_adc:
+	bpatchx patch33_7,mem_patch33
+	hfetch 1,core_uart_baud + 1
+	set1 7,pdata
+	hstore 1,core_uart_baud + 1 
+	hfetch 1,rf_adc_ch
+	or_into 0x30,pdata
+	hstore 1,rf_adc_ch
+	hjam 0x7c,rfen_adc
+	hjam 0xaa,rf_adc_gc
+	nop 5000
+	hfetcht 2,core_adc_sum
+	hfetch 1,core_uart_baud + 1
+	set0 7,pdata
+	hstore 1,core_uart_baud + 1
+	storet 2,mem_adc_current_value
+	rtn
+
+vdd_calculate_by_mode:
+	bpatchx patch34_0,mem_patch34
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,vdd_calculate_vinlpm
+	beq ADC_CONFIG_HVIN,vdd_calculate_hvin
+	beq ADC_CONFIG_GPIO,vdd_calculate_io
+	rtn
+
+vdd_calculate_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	fetcht 2,mem_2v_adc_vinlpm_data
+	arg 200,regc
+	branch vdd_calculate
+
+vdd_calculate_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	fetcht 2,mem_1v_adc_hvin_data
+	arg 100,regc
+	branch vdd_calculate
+
+vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch vdd_calculate
+	
+vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch vdd_calculate1,positive
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	iadd regb,pdata
+vdd_calculate2:
+	idiv rega
+	call wait_div_end
+	quotient pdata	
+	rtn
+
+vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	isub regb,pdata
+	branch vdd_calculate2
+
+/*	typedef struct
+*	{
+*		uint16 full_vol
+*		uint16 empty_vol
+*		uint16 low_vol
+*		uint16 now_vol
+*	}bat_calculate;
+*/
+//out:	pdata->bat percent
+adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetch 2,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2
+	isub temp,rega
+	fetch 2,mem_pdatatemp+6
+	isub temp,regb
+	fetcht 2,mem_pdatatemp+4
+	isub temp,null
+	ncall adc_set_low_power_flag,positive
+	mul32 regb,100,pdata
+	idiv rega
+	call wait_div_end
+	quotient pdata
+	call adc_set_no_power_flag,blank
+	rtn
+adc_set_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set1 0,pdata
+	store 1,mem_adc_power_flag
+	rtn
+adc_set_no_power_flag:
+	fetcht 1,mem_adc_power_flag
+	set1 1,temp
+	storet 1,mem_adc_power_flag
+	rtn
+
+
+
+/****************************************key scan***************************************/
+keyscan_key_init:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_init_next:
+	rtn blank
+	copy pdata,loopcnt
+//	copy contr,rega
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_key_init_lp1:
+	ifetcht 1, rega
+	call gpio_config_input
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_key_init_lp1
+keyscan_key_init_end:
+	rtn
+	
+keyscan_scan_key:
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+//	arg mem_key_conf0_pin,rega
+	force 0,regb
+	jam 0,mem_key_value_temp
+keyscan_scan_key_lp1:
+	ifetcht 1, rega
+	call gpio_get_bit
+	bpatchx patch34_1,mem_patch34
+	fetch 2, mem_key_value_temp
+	copy regb,queue
+	qsetflag true,pdata
+	store 2, mem_key_value_temp
+	increase KEY_CONF_STRUCT_LEN,rega
+	increase 1,regb
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_scan_key_lp1_next:
+	ixor regb,null
+	nbranch keyscan_scan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	fetcht 2,mem_key_value
+	ixor temp,null
+	rtn zero
+	enable user
+	rtn
+
+keyscan_process_lpm_before:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_process_lpm_before_next:
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_keyscan_ptr 
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_process_lpm_before_lp1:
+	ifetcht 1, rega
+	call gpio_set_wake_by_current_state
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_process_lpm_before_lp1
+keyscan_process_lpm_before_end:
+	rtn
+
+keyscan_key_process:
+	arg key_scan_timer,queue
+	call timer_check
+	nrtn blank
+	setarg 0x20
+	arg key_scan_timer,queue
+	call timer_init
+	disable user
+	call keyscan_process_lpm_before
+	bpatchx patch34_2,mem_patch34
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_process_next:
+	rtn blank
+	call keyscan_scan_key
+	nbranch lpm_button_clean_wake_lock,user
+	call lpm_button_get_wake_lock
+	disable user
+	fetch 2, mem_key_value_temp
+	store 2,mem_key_value_temp4
+	jam 0,mem_key_value_temp6
+	force 0,queue
+keyscan_key_lp1:
+	fetch 2, mem_key_value
+	rshift pdata,temp
+	storet 2,mem_key_value
+	and pdata,0x01,pdata
+	fetcht 2, mem_key_value_temp4
+	and temp,0x01,rega
+	rshift temp,temp
+	storet 2,mem_key_value_temp4
+	ixor rega,null
+	ncall keyscan_send_key_data,zero
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_lp1_next:
+	fetcht 1, mem_key_value_temp6
+	increase 1,temp
+	storet 1, mem_key_value_temp6
+	copy temp,queue
+	ixor queue,null
+	nbranch keyscan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	store 2, mem_key_value
+	rtn
+keyscan_send_key_data:
+	bpatchx patch34_3,mem_patch34
+	fetch 2,mem_keyscan_ptr
+	increase 1,pdata
+	ifetch 2,pdata
+	branch callback_func
+
+
+/*************************************pwm*************************************/
+
+//rega:clk select(0:system clk; 1:system clk undivied; 2:lpo)
+/*rega:clk select
+			0x00:select system clock 12M;
+			0x40:select undivied system clock 24M/48M;
+			0x80:select lpo clock:33K
+*/
+pwm_init:
+	hfetch 1,core_clksel
+	ior rega,pdata
+	hstore 1,core_clksel
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_PWM,pdata
+	hstore 2,core_clkoff
+	nop 100
+	rtn
+
+/*	typedef struct
+*	{
+*		uint8 gpio_num
+*		uint8 pwm_channel
+*		uint24 frequency
+*		uint8 duty_cycle   //0-100
+*	}PWM_Style;
+	addr: mem_pdatatemp
+*/
+pwm_out_set:
+	fetcht 3,mem_pdatatemp+2
+	setarg PWM_12MHZ
+	idiv temp
+	call wait_div_end
+	quotient temp
+	fetch 1,mem_pdatatemp+5
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient rega
+	copy temp,pdata
+	isub rega,regb	
+	fetch 1,mem_pdatatemp+1
+	call pwm_duty_cycle_set
+	fetch 1,mem_pdatatemp
+	branch pwm_enable
+
+//rega:pcnt ;regb:ncnt ;pdata:pwm channel select
+pwm_duty_cycle_set:
+	beq 0,pwm_pwm0_duty_set
+	beq 1,pwm_pwm1_duty_set
+	beq 2,pwm_pwm2_duty_set
+	beq 3,pwm_pwm3_duty_set
+	beq 4,pwm_pwm4_duty_set
+	beq 5,pwm_pwm5_duty_set
+pwm_pwm0_duty_set:
+	arg core_pwm_pcnt0,contw
+	branch pwm_set_pncnt
+pwm_pwm1_duty_set:
+	arg core_pwm_pcnt1,contw
+	branch pwm_set_pncnt
+pwm_pwm2_duty_set:
+	arg core_pwm_pcnt2,contw
+	branch pwm_set_pncnt
+pwm_pwm3_duty_set:
+	arg core_pwm_pcnt3,contw
+	branch pwm_set_pncnt
+pwm_pwm4_duty_set:
+	arg core_pwm_pcnt4,contw
+	branch pwm_set_pncnt
+pwm_pwm5_duty_set:
+	arg core_pwm_pcnt5,contw
+	branch pwm_set_pncnt
+pwm_set_pncnt:
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//pdata:gpio select
+pwm_enable:
+	enable user
+	branch pwm_gpio_set
+pwm_disable:
+	disable user
+pwm_gpio_set:
+	beq 4,pwm_gpio4_set
+	beq 5,pwm_gpio5_set
+	beq 27,pwm_gpio27_set
+	beq 28,pwm_gpio28_set
+	beq 3,pwm_gpio3_set
+	beq 8,pwm_gpio8_set
+	beq 20,pwm_gpio20_set
+	beq 21,pwm_gpio21_set
+	beq 22,pwm_gpio22_set
+	beq 23,pwm_gpio23_set
+	rtn
+
+
+pwm_gpio4_set:	//pwm 0
+	arg 6,queue
+	branch pwm_one_set_select
+pwm_gpio5_set:	//pwm 1
+  	arg 7,queue
+	branch pwm_one_set_select
+pwm_gpio27_set:	//pwm 2
+  	arg 8,queue
+	branch pwm_one_set_select
+pwm_gpio28_set:	//pwm 3
+	arg 9,queue
+	branch pwm_one_set_select
+pwm_gpio3_set:	//pwm 4
+ 	arg 10,queue
+	branch pwm_one_set_select
+pwm_gpio8_set:	//pwm 5
+  	arg 11,queue
+	branch pwm_one_set_select
+pwm_gpio20_set:	//pwm 0
+  	arg 12,queue
+	branch pwm_tw0_set_select
+pwm_gpio21_set:	//pwm 1
+  	arg 13,queue
+	branch pwm_tw0_set_select
+pwm_gpio22_set:	//pwm 2
+   	arg 14,queue
+	branch pwm_tw0_set_select
+pwm_gpio23_set:	//pwm 3
+    	arg 15,queue
+	branch pwm_tw0_set_select
+
+pwm_set_select:
+	hfetch 2,core_gpio_sel1
+	qsetflag user,pdata
+	hstore 2,core_gpio_sel1
+	copy rega,queue
+	hfetch 1,core_gpio_key2
+   	qsetflag user,pdata
+   	hstore 1,core_gpio_key2
+	rtn
+
+pwm_one_set_select:
+	add queue,-4,rega
+	branch pwm_set_select
+
+pwm_tw0_set_select:
+	add queue,-10,rega
+	branch pwm_set_select
+
+
+	
+
+rfcomm_init:
+	rtn wake
+	jam 0,mem_rfcomm_send_more_pkt
+	jam BITS9600,memRemoteRPNBitRate        
+	jam DATABITS8,memRemotePRNDataBits      
+	jam 0x11,memRemotePRNXon
+	jam 0x13,memRemotePRNXoff
+	setarg 0
+	store 3,memRemotePRNStopBit
+	store 1,mem_spp_state                  
+	jam 0,memui_reconnect_mode
+	//branch rfcomm_init_spp
+rfcomm_init_spp:
+	bpatchx patch34_4,mem_patch34
+	setarg 0
+	store 1,mem_spp_state
+	store 1,mem_remote_spp_channel
+	store 1,mem_pn_dlci
+	fetch 1,mem_credit_flag
+	beq CREDIT_ENABLE,rfcomm_init_spp_with_credit
+	jam 0x50,mem_credit_given
+	rtn
+
+rfcomm_init_spp_with_credit:
+	jam 0x00,mem_credit_given
+	rtn
+
+set_CR_bit:
+	or_into 0x02,temp
+	rtn
+
+
+/*below added by koufan*/
+
+/*rfcomm_send */
+
+
+
+	/*rfcomm_calculate_FCS_sabm*/
+	/*input: address in temp*/
+	/*output: FCS in pdata  */
+rfcomm_calculate_FCS_sabm:
+	copy temp,pdata
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force INI_TX_SABM,pdata
+	reverse pdata,pdata
+	store 1,memFCStemp2
+	force 0x01,pdata                        
+	reverse pdata,pdata
+	store 1,memFCStemp1
+	call caculate_fcs
+	copy temp,pdata                        
+	rtn
+rfcomm_calculate_FCS_ua:
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force   RSP_TX_UA, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp2
+	force   0x01, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp1
+	branch caculate_fcs
+	/* FCS return from temp                */
+rfcomm_calculate_FCS_dlci0:
+	fetch 1,mem_rfcomm_initiator
+	branch rfcomm_calculate_FCS_dlci0_res,blank
+	setarg 0x70 //FCS of initiator
+	rtn
+rfcomm_calculate_FCS_dlci0_res:
+	setarg 0xaa//FCS of responder
+	rtn
+	
+rfcomm_save_FCS_uih:
+	reverse pdata, pdata //address 
+	store 1,memFCStemp3                     /* contw distroided                    */
+	force RSP_RX_UIH,pdata 
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw                      /* save FCS for later use              */
+	copy contw,temp
+	storet 2,mem_contw_temp
+	force RSP_RX_UIH_WDATA,pdata             /* P/F =1 + RSP_RX_UIH                 */
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw             /* save FCS for later use              */
+	rtn	
+/**********************************************************************/
+/* This subroutine caculates the FCS for UIH data                     */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3(bit reversed), control byte */
+/*        at pdata (not bit reversed)                                 */
+/* Output:                                                            */
+/*        pdata: the FCS                                              */
+/**********************************************************************/  
+caculate_UIHdata_fcs:
+	reverse pdata,pdata
+	store   1,memFCStemp2
+	fetch   2, memFCStemp2                     
+	lshift8 pdata,pdata
+	store 3,mem_mod2div_temp
+	arg     0x107,regA
+	arg 0xf,regB
+	call mod2div
+	xor_into     0xd7, pdata
+	invert  pdata,pdata
+	reverse pdata,pdata
+	rtn
+	
+/**********************************************************************/
+/* This subroutine caculates the FCS                                  */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3, control byte at memFCStemp2*/  
+/*        lenght at memFCStemp1 (all above data are bit reversed)     */
+/* Output:                                                            */
+/*        temp: the FCS                                               */
+/**********************************************************************/     
+caculate_fcs:
+	fetch 3, memFCStemp1                    /* load 3 bytes start at memFCStemp1   */
+	store 3,mem_mod2div_temp
+	arg 0x107,regA
+	arg 0xf,regB  //24bit(memFCStemp1+..+memFCStemp3) - 9bit(regA) = 15bit
+	call mod2div
+	lshift8 pdata,pdata 
+	arg 0x7, regB  //16bit(lshift8 pdata,pdata ) - 9bit(regA) = 7bit
+	call mod2div
+	xor_into     0x2b, pdata		//0x3d
+	invert  pdata, pdata                        
+	reverse pdata, pdata                      /* FCS at pdata                        */
+	copy    pdata, temp
+	rtn
+
+mod2div:
+	arg 0,regC
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	icopy temp
+mod2div_loop:
+	//jam 1,0x1fff
+//mod2div_loop1:
+	//fetch 1,0x1fff
+	//nbranch mod2div_loop1,blank
+	copy temp,pdata
+	lshift regC,regC//quotient
+	bbit0 8, mod2div_not_enough_reduction//the high bit of 0x107
+	ixor regA,temp// temp----remainer
+	increase 1,regC// quotient
+mod2div_not_enough_reduction: //Minuend smaller than Subtrahend
+	lshift temp,temp
+	fetch 3,mem_mod2div_temp
+	increase -1,regB
+	compare 0xff,regB,0xff
+	branch mod2div_end,true
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	isolate1 0,pdata
+	setflag true,0,temp //move a new bit from Dividend(queue) into Minuend(pdata)
+	branch mod2div_loop
+mod2div_end:
+	//output:remainer in pdata
+	rshift  temp,pdata
+	rtn
+
+get_rfcomm_snd_adss:
+	fetcht 1,mem_pn_dlci
+dlci_to_address_cmd:
+	//input DLCI from temp
+	lshift2 temp,temp
+	set1 RFCOMM_ADDRESS_EXT_LEN,temp
+	fetch 1,mem_rfcomm_initiator
+	ncall set_CR_bit,blank
+	storet 1,mem_rfcomm_send_adss
+	rtn
+
+channel_to_dlci:
+	//input channel from temp
+	lshift temp,temp
+	fetch 1,mem_rfcomm_initiator
+	setflag blank,0,temp //direction in dlci
+	//output dlci to temp
+	rtn
+rfcomm_rx_process_DLCI0_sabm:
+	fetcht 1,mem_current_channel //address
+	jam 0xd7,mem_current_fcs //FCS
+	call rfcomm_send_ua
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	jam 0,mem_rfcomm_initiator
+	branch rfcomm_rx_process_end
+rfcomm_rx_process_DLCI0_ua:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	branch rfcomm_rx_process_end
+
+	
+rfcomm_rx_process:
+	bpatchx patch34_5,mem_patch34
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,rfcomm_rx_process_remote_page
+	branch rfcomm_rx_process_reconn
+
+rfcomm_rx_process_remote_page:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_dlci0_rp
+	branch parse_uih_rp
+parse_dlci0_rp:
+	bpatchx patch34_6,mem_patch34
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_rp_uih
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn_send_event
+	rtn
+
+
+parse_DLCI0_rp_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_rp_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_rp_uih_pn_res
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_rp_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_rp_uih_ms_res
+	beq UIH_PARAM_CMD_REMOVE_PORT,parse_DLCI0_rp_uih_cmd_port	
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+
+	branch parse_DLCI0_rp_uih_pn_cmd_spp
+
+parse_DLCI0_rp_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	call rfcomm_send_param_neg_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_res:
+	call parse_DLCI0_rp_uih_pn_res_common
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_pn_res_common:
+	call get_param_payload_ptr
+	branch  get_rfcomm_prarmer_negotiation
+
+get_rfcomm_param_modem_status:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	rshift3 pdata,pdata
+	store 1,mem_ms_channel
+	ifetch 1,contr
+	store 1,mem_ms_param
+	rtn
+
+
+get_rfcomm_head_struct:
+	ifetch 1,contr
+	store 1,mem_current_adss
+	rshift3 pdata,pdata
+	store 1,mem_current_channel
+	ifetch 1,contr
+	store 1,mem_current_frame_type
+get_rfcomm_current_length:
+	call get_rfcomm_length_common
+	storet 2,mem_current_length
+	copy contr,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	rtn
+
+get_rfcomm_uih_head_struct:
+	ifetch 1,contr
+	rshift pdata,pdata
+	store 1,mem_uih_cmd_type
+	call get_rfcomm_length_common
+	storet 2,mem_uih_length
+	copy contr,pdata
+	store 2,mem_param_payload_ptr
+	rtn
+
+
+get_param_payload_ptr:
+	fetch 2,mem_param_payload_ptr
+	copy pdata,contr
+	rtn
+
+get_rfcomm_length_common:
+	ifetch 1,contr
+	copy pdata,temp
+	rshift temp,temp
+	rtnbit1 0
+	ifetch 1,contr
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	iadd temp,temp
+	rtn
+
+get_rfcomm_prarmer_negotiation:
+	ifetch 1,contr
+	store 1,mem_pn_dlci
+	ifetch 1,contr
+	store 1,mem_pn_credit_flow_type_info
+	ifetch 1,contr
+	store 1,mem_pn_priority
+	ifetch 1,contr
+	store 1,mem_pn_acknowledg_timer
+	ifetch 2,contr
+	store 2,mem_pn_max_frame_size
+	ifetch 1,contr
+	store 1,mem_pn_max_retrans
+	ifetch 1,contr
+	store 1,mem_remote_credits
+	rtn
+
+
+parse_DLCI0_rp_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+
+	branch parse_DLCI0_rp_uih_ms_cmd_spp
+
+parse_DLCI0_rp_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	jam MORE_PKT_MSC_CMD_SPP,mem_rfcomm_send_more_pkt
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_ms_res:
+	jam BT_EVT_SPP_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	sub pdata,1,null
+	branch parse_DLCI0_rp_uih_MS_RES_spp,zero
+	branch assert
+parse_DLCI0_rp_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_cmd_port:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	store 1,mem_rpn_dlci
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	//setarg 5
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch34_7,mem_patch34
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1191
+	istore 2,contw
+	//fetch 1,mem_pn_dlci
+	//setarg 0x0b
+	fetch 1,mem_rpn_dlci
+	istore 1,contw //DLCI
+	setarg 0x000007
+	istore 5,contw
+//	setarg 0 //max frame size
+//	istore 2,contw 
+	setarg 0x01 //max retrans
+	istore 2,contw
+//	setarg 0x00
+//	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+
+
+parse_uih_rp:
+	branch parse_uih_rp_spp
+
+parse_uih_rp_spp:
+	bpatchx patch35_0,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_rp_spp_ua
+	beq RFCOMM_FRAME_TYPE_SABM,parse_uih_rp_spp_sabm
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn
+	rtn
+parse_uih_rp_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_rp_spp_sabm:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	set1 RFCOMM_CHANNEL_STATE_SABM,pdata
+	store 1,mem_spp_state
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	fetch 1,mem_current_adss
+	rshift2 pdata,pdata
+	store 1,mem_pn_dlci
+	lshift2 pdata,pdata
+	set0 RFCOMM_ADDRESS_CR,pdata
+	set1 RFCOMM_ADDRESS_EXT_LEN,pdata 
+	arg mem_HIUfcs_spp,temp // mem_HIUfcs_HF_WCredits in regB++
+	storet 2,mem_contw_temp
+	call rfcomm_save_FCS_uih
+	branch rfcomm_rx_process_end
+	
+parse_uih_spp_uih_credits:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	increase 1,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	ifetch 1,contr //remote credits
+	fetcht 1,mem_remote_credits
+	iadd temp,pdata
+	store 1,mem_remote_credits
+parse_uih_spp_uih:
+	call rfcomm_increase_credit_given
+parse_uih_spp_uih_cont:
+	call get_rfcomm_snd_adss
+	call rfcomm_send_uih_without_payload
+	call spp_process_rx_data
+	branch rfcomm_rx_process_end
+
+parse_uih_rp_spp_disconn_send_event:
+	jam BT_EVT_SPP_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event	
+parse_uih_rp_spp_disconn:
+	call rfcomm_init_spp
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	branch rfcomm_rx_process_end
+	
+///////////////////////////////////////////
+///////////////////////////////////////////
+///////////////////////////////////////////
+rfcomm_rx_process_reconn:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_DLCI0_reconn
+	branch parse_uih_reconn
+		
+parse_DLCI0_reconn:
+	bpatchx patch35_1,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_reconn_uih
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_reconn_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_reconn_uih_ms_res
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+	fetch 1,mem_pn_dlci
+	rshift pdata,pdata
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_pn_cmd_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_cmd_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_reconn_uih_ms_res:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_res_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn:
+	fetch 1,mem_current_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_uih_reconn_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_reconn_spp_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_reconn_spp_disconn
+parse_uih_reconn_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_reconn_spp_sabm:
+	branch parse_uih_reconn_spp_sabm//loop
+parse_uih_reconn_spp_disconn:
+	branch parse_uih_rp_spp_disconn
+rfcomm_rx_process_end:
+	rtn
+	
+rfcomm_send_more_pkt:
+	fetch 1,mem_rfcomm_send_more_pkt
+	rtn blank
+	beq MORE_PKT_MSC_CMD_SPP,rfcomm_send_more_pkt_msc_cmd_spp
+	branch assert
+	
+rfcomm_send_more_pkt_msc_cmd_spp:
+	jam 0,mem_rfcomm_send_more_pkt
+	call l2cap_malloc_rfcomm_channel
+	arg SPP_SLAVE_CHANNEL,temp
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+rfcomm_send_more_pkt_msc_cmd_spp0:
+	or_into 0x03,temp
+	arg 0xaa,regA
+	call rfcomm_send_modem_status_cmd
+	call l2cap_get_rfcomm_tx_buff
+	copy contw,contr
+	ifetch 2, contr
+	branch assert,blank
+	rtn
+
+rfcomm_send_sabm:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_2,mem_patch35
+	setarg 0x013f
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_ua:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_3,mem_patch35
+	setarg 0x0173
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_param_neg_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_4,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1183
+	istore 2,contw
+	copy temp,pdata //DLCI in temp
+	istore 1,contw
+	setarg 0x0000f0
+	istore 3,contw
+	setarg RFCOMM_MAX_FRAME_SIZE
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	setarg 0x01		//change here later
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	jam 0x10,mem_credit_given
+	rtn
+rfcomm_send_param_neg_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_5,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1181
+	istore 2,contw
+	fetch 1,mem_pn_dlci
+	istore 1,contw //DLCI
+	setarg 0x0000e0
+	istore 3,contw
+	fetch 2,mem_rfcomm_max_frame_size
+	istore 2,contw 
+	setarg 0x00 //max retrans
+	istore 1,contw
+	fetch 1,mem_rfcomm_credit_init_data
+	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+rfcomm_send_modem_status_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_6,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e3
+	istore 2,contw
+	copy temp,pdata //DLCI adress
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_modem_status_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	copy temp,timeup
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_7,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e1
+	istore 2,contw
+	copy timeup,pdata //DLCI address in temp
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_uih_without_payload:
+	bpatchx patch36_0,mem_patch36
+	fetch 1,mem_credit_given
+	rtn blank
+	hfetch 2,core_uart_rxitems
+	nrtn blank
+	copy rega,pdata
+	store 1,mem_pdatatemp+1
+	storet 1,mem_pdatatemp
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x05
+	istore 2,contw
+	fetch 2,mem_RFCOMM_remote_CID
+	istore 2,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	setarg 0x01ff
+	istore 2,contw
+	fetch 1,mem_credit_given
+	istore 1,contw
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	istore 1,contw
+	jam 0,mem_credit_given
+	rtn
+	
+rfcomm_increase_credit_given:
+	bpatchx patch36_1,mem_patch36
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_ENABLE
+	fetch 2,mem_current_length
+	rtn blank
+	fetch 1,mem_credit_given
+	increase 1,pdata
+	store 1,mem_credit_given
+	rtn
+
+spp_process_rx_data:
+	fetch 2,mem_cb_receive_spp_data
+	branch callback_func
+
+spp_tx_rfcomm_packet:
+	bpatchx patch36_2,mem_patch36
+	//credit
+	fetch 1,mem_remote_credits
+	rtn blank
+	increase -1,pdata
+	store 1,mem_remote_credits
+	fetch 2,mem_pn_max_frame_size
+	fetcht 2,mem_current_packet_length
+	isub temp,null
+	branch ssp_tx_rfcomm_from_uart,positive
+	store 2,mem_current_packet_length
+ssp_tx_rfcomm_from_uart:
+	fetch 1,mem_credit_given
+	branch ssp_tx_rfcomm_from_uart_without_credit,blank
+	jam 1,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_RX_UIH_WDATA
+	store 1,mem_rfcomm_send_frame_type
+	branch ssp_tx_rfcomm_from_uart_common
+ssp_tx_rfcomm_from_uart_without_credit:
+	jam 0,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_TX_UIH
+	store 1,mem_rfcomm_send_frame_type
+ssp_tx_rfcomm_from_uart_common:
+	bpatchx patch36_3,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,127,null
+	branch ssp_tx_rfcomm_from_uart_common0,positive
+	fetch 1,mem_rfcomm_send_offset
+	increase 1,pdata
+	store 1,mem_rfcomm_send_offset
+ssp_tx_rfcomm_from_uart_common0:
+	call get_rfcomm_snd_adss
+	fetch 2,mem_current_packet_length
+	increase 8,pdata	//fcs + rfcommhead + l2caphead == 8
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,rega
+	//rfcomm payload
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	copy pdata,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	fetch 1,mem_rfcomm_send_frame_type
+	istore 1,contw
+	call ssp_tx_write_length
+	call ssp_tx_write_given_credit
+	bpatchx patch36_4,mem_patch36
+	fetch 2,mem_nl_rx_data_src		//src
+	copy pdata,contru
+	fetch 2,mem_current_packet_length
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contw,temp
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+	copy temp,contw	
+	fetch 1,mem_rfcomm_send_fcs
+	istore 1,contw
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	copy pdata,contw
+	fetch 2,mem_current_packet_length
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,pdata
+	increase 4,pdata
+	istore 2,contw
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw
+	jam 0,mem_credit_given	//whatever mem_credit_given is set to 0
+	fetch 2,mem_nl_rx_len_all
+	beq 0,module_hci_command_tx_spp_tx_complete
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	rtn
+
+ssp_tx_write_length:
+	bpatchx patch36_5,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,0x7f,null
+	nbranch ssp_tx_write_long_packet,positive
+	lshift pdata,pdata
+	set1 0,pdata
+	istore 1,contw
+	rtn
+ssp_tx_write_long_packet:
+	fetch 2,mem_current_packet_length
+	rshift3 pdata,pdata
+	rshift4 pdata,temp
+	and_into 0x7f,pdata
+	lshift pdata,pdata
+	set0 0,pdata
+	istore 1,contw
+	istoret 1,contw
+	rtn
+ssp_tx_write_given_credit:
+	fetch 1,mem_credit_given
+	rtn blank
+	istore 1,contw
+	rtn
+
+	
+
+
+scheduler_process:
+	bpatchx patch36_6,mem_patch36
+	call check_51cmd
+	call app_process_bb_event
+	call process_conn_sm
+/* check the connection state sequence byte */
+	bpatchx patch36_7,mem_patch36
+	call sp_calc_sequence
+	call simple_pairing_sequence
+	call master_simple_paring_sequence
+//return if it is hci mode. 'cause the following is host part.
+//notify BB to tx a l2cap packet
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	//for conn to MTK 
+	call l2cap_call_proc_sigal_pending
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	bpatchx patch37_0,mem_patch37
+//to generat a new l2cap packet
+	call process_upper_sm
+	call l2cap_send_config_req
+	call rfcomm_send_more_pkt//use this function to send msc_cmd after msc_rep sent
+scheduler_process0:
+	call scheduler_tx_disconnect_hid //may not used
+	bpatchx patch37_1,mem_patch37
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	branch app_process_bt
+	
+scheduler_tx_disconnect_hid:
+	fetch 1,mem_CONTROL_tasks		
+	bbit1 L2CAP_DISCONNECT_INTERRUPT,L2CAP_disconnect_interrupt_req
+	bbit1 L2CAP_DISCONNECT_CONTROL,L2CAP_disconnect_control_req
+	rtn
+	
+scheduler_tx_l2cap_pkt:
+	bpatchx patch37_2,mem_patch37
+	call l2cap_malloc_is_fifo_empty
+	rtn blank //empty
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+	call l2cap_malloc_fifo_out
+	store 2,mem_txptr
+	copy pdata,contr
+	ifetch 2,contr
+	increase 4,pdata
+	store 2,mem_tx_len
+	jam 6,mem_tx_lch//start pkt
+	bpatchx patch37_3,mem_patch37
+	fetch 2,mem_l2cap_tx_multi_offset
+	branch scheduler_tx_l2cap_start_pkt,blank
+	fetch 1,mem_op
+	rtnbit0 op_pkt_comp
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	jam 5,mem_tx_lch//continue pkt
+	fetcht 2,mem_l2cap_tx_multi_offset
+	fetch 2,mem_txptr
+	iadd temp,pdata
+	store 2,mem_txptr
+	fetch 2,mem_tx_len
+	isub temp,pdata
+	store 2,mem_tx_len
+scheduler_tx_l2cap_start_pkt:
+	bpatchx patch37_4,mem_patch37
+	fetch 2,mem_tx_len
+	branch assert,blank
+	arg l2cap_max_pkt_len,temp //max len of dh3 pkt
+	isub temp,pdata
+	nbranch scheduler_Tx_l2cap_last_pkt,positive
+	bpatchx patch37_5,mem_patch37
+	storet 2,mem_tx_len //l2cap_max_pkt_len
+	fetch 2,mem_l2cap_tx_multi_offset
+	iadd temp,pdata
+	store 2,mem_l2cap_tx_multi_offset
+	branch scheduler_Tx_l2cap_pkt_end
+scheduler_Tx_l2cap_last_pkt:
+	setarg 0
+	store 2,mem_l2cap_tx_multi_offset
+scheduler_Tx_l2cap_pkt_end:
+	fetch 1,mem_op
+	set1 op_txl2cap,pdata
+	store 1,mem_op
+	rtn
+
+scheduler_start_upper_sm:
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,scheduler_start_upper_sm_hid
+	jam UPPERSM_RECONN_SDP_CONN,mem_upper_sm_reconn
+	rtn
+scheduler_start_upper_sm_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	rtn
+	
+process_upper_sm:
+	fetch 1,memui_reconnect_mode
+	nbranch process_upper_sm_reconn,blank
+process_upper_sm_remote_page:
+	fetch 1,mem_upper_sm_remote_page
+	//beq UPPERSM_RP_IDLE,process_upper_sm_rp_idle
+	rtn blank
+	//nothing to do when remote page to create a connection.
+	jam 0,mem_upper_sm_remote_page
+process_upper_sm_rp_wait:
+	rtn
+
+
+process_upper_sm_reconn:
+	bpatchx patch37_6,mem_patch37
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+	beq UPPERSM_RECONN_SDP_CONN,process_upper_sm_reconn_sdp_conn
+	beq UPPERSM_RECONN_SDP_CONN_WAIT,process_upper_sm_reconn_sdp_conn_wait
+	beq UPPERSM_RECONN_SDP_CFG,process_upper_sm_reconn_sdp_cfg
+	beq UPPERSM_RECONN_SDP_CFG_WAIT,process_upper_sm_reconn_sdp_cfg_wait
+	beq UPPERSM_RECONN_SS_SPP,process_upper_sm_reconn_ss_spp
+	beq UPPERSM_RECONN_SS_SPP_WAIT,process_upper_sm_reconn_ss_spp_wait
+	beq UPPERSM_RECONN_SDP_DISCONN,process_upper_sm_reconn_sdp_disconn
+	beq UPPERSM_RECONN_SDP_DISCONN_WAIT,process_upper_sm_reconn_sdp_disconn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CONN,process_upper_sm_reconn_hid_ctrl_conn
+	beq UPPERSM_RECONN_HID_CTRL_CONN_WAIT,process_upper_sm_reconn_hid_ctrl_conn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CFG,process_upper_sm_reconn_hid_ctrl_cfg
+	beq UPPERSM_RECONN_HID_CTRL_CFG_WAIT,process_upper_sm_reconn_hid_ctrl_cfg_wait
+	beq UPPERSM_RECONN_HID_INT_CONN,process_upper_sm_reconn_hid_int_conn
+	beq UPPERSM_RECONN_HID_INT_CONN_WAIT,process_upper_sm_reconn_hid_int_conn_wait
+	beq UPPERSM_RECONN_HID_INT_CFG,process_upper_sm_reconn_hid_int_cfg
+	beq UPPERSM_RECONN_HID_INT_CFG_WAIT,process_upper_sm_reconn_hid_int_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_CONN,process_upper_sm_reconn_rfcomm_conn
+	beq UPPERSM_RECONN_RFCOMM_CONN_WAIT,process_upper_sm_reconn_rfcomm_conn_wait
+	beq UPPERSM_RECONN_RFCOMM_CFG,process_upper_sm_reconn_rfcomm_cfg
+	beq UPPERSM_RECONN_RFCOMM_CFG_WAIT,process_upper_sm_reconn_rfcomm_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_SABM,process_upper_sm_reconn_rfcomm_sabm
+	beq UPPERSM_RECONN_RFCOMM_SABM_WAIT,process_upper_sm_reconn_rfcomm_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_PN,process_upper_sm_reconn_spp_cmd_pn
+	beq UPPERSM_RECONN_SPP_CMD_PN_WAIT,process_upper_sm_reconn_spp_cmd_pn_wait
+	beq UPPERSM_RECONN_SPP_SABM,process_upper_sm_reconn_spp_sabm
+	beq UPPERSM_RECONN_SPP_SABM_WAIT,process_upper_sm_reconn_spp_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_MS,process_upper_sm_reconn_spp_cmd_ms
+	beq UPPERSM_RECONN_SPP_CMD_MS_WAIT,process_upper_sm_reconn_spp_cmd_ms_wait
+process_upper_sm_reconn_wait:
+	rtn
+process_upper_sm_reconn_sdp_conn:
+	call upper_sm_send_sdp_conn //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_sdp_cfg:
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	call upper_sm_send_sdp_cfg //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_ss_spp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank
+	call upper_sm_send_ss_spp
+	jam UPPERSM_RECONN_SS_SPP_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_sdp_disconn:
+	call upper_sm_send_sdp_disconn
+	jam UPPERSM_RECONN_SDP_DISCONN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_hid_ctrl_conn:
+	call upper_sm_send_hid_ctrl_conn
+	jam UPPERSM_RECONN_HID_CTRL_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_ctrl_cfg:    
+	call upper_sm_send_hid_ctrl_cfg
+	jam UPPERSM_RECONN_HID_CTRL_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_int_conn:
+	call upper_sm_send_hid_int_conn
+	jam UPPERSM_RECONN_HID_INT_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_hid_int_cfg:    
+	call upper_sm_send_hid_int_cfg
+	jam UPPERSM_RECONN_HID_INT_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_rfcomm_conn:
+	call upper_sm_send_rfcomm_conn
+	jam UPPERSM_RECONN_RFCOMM_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_cfg: 
+	call upper_sm_send_rfcomm_cfg
+	jam UPPERSM_RECONN_RFCOMM_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_sabm:
+	call upper_sm_send_rfcomm_sabm
+	jam UPPERSM_RECONN_RFCOMM_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_spp_cmd_pn: 
+	call upper_sm_send_spp_cmd_pn
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_PN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_spp_sabm:   
+	call upper_sm_send_spp_sabm
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SABM
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_remote_spp_channel //address in pdata
+	lshift3 pdata,pdata
+	or_into 3,pdata
+	arg mem_HIUfcs_SPP,temp // mem_HIUfcs_spp_WCredits in regB++
+	storet 2,mem_contw_temp
+	branch rfcomm_save_FCS_uih
+process_upper_sm_reconn_spp_cmd_ms: 
+	call upper_sm_send_spp_cmd_ms
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_MS_WAIT,mem_upper_sm_reconn
+	rtn
+
+process_upper_sm_reconn_sdp_conn_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_cfg_wait:
+	fetch 1,mem_sdp_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_SS_SPP ,mem_upper_sm_reconn
+process_upper_sm_reconn_ss_spp_wait:
+	fetch 1,mem_message_to_uppersm
+	rtnne RECIEVE_SS_REASULT_HF
+	jam 0,mem_message_to_uppersm
+	jam UPPERSM_RECONN_SDP_DISCONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_disconn_wait:
+	fetch 1,mem_sdp_state
+	nrtn blank
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,process_upper_sm_reconn_setup_hid
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+	fetch 1,mem_hid_control_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_CTRL_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+	fetch 1,mem_hid_control_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_HID_INT_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_conn_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_INT_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_cfg_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_rfcomm_conn_wait: 
+	fetch 1,mem_rfcomm_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_RFCOMM_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_cfg_wait:
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_RFCOMM_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_sabm_wait:  
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_spp
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_spp_cmd_pn_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_PN_RES
+	jam UPPERSM_RECONN_SPP_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_sabm_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_UA
+	jam UPPERSM_RECONN_SPP_CMD_MS ,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_cmd_ms_wait: 
+	fetch 1,mem_spp_state
+	rtnne RFCOMM_CHANNEL_SETUP_COMPLETE
+	branch process_upper_sm_reconn_termination
+
+process_upper_sm_reconn_setup_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+process_upper_sm_reconn_setup_rfcomm:
+	jam UPPERSM_RECONN_RFCOMM_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_setup_spp:
+	jam UPPERSM_RECONN_SPP_CMD_PN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+
+
+process_upper_sm_reconn_termination:
+	jam 0,mem_upper_sm_reconn
+	rtn
+upper_sm_send_sdp_conn:
+	bpatchx patch37_7,mem_patch37
+	call l2cap_malloc_signal_channel
+	setarg PSM_SDP
+	copy pdata,temp
+	setarg L2CAP_SDP_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_sdp_cfg:
+	bpatchx patch38_0,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+	
+upper_sm_send_sdp_disconn:
+	bpatchx patch38_1,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	arg L2CAP_SDP_channel,timeup
+	call ML2CAP_send_signal_disconn_req
+	fetch 1,mem_sdp_state
+	set0 L2CAP_CHANNEL_STATE_RCV_CFG_RES ,pdata
+	store 1,mem_sdp_state
+	rtn
+//service search
+upper_sm_send_ss_spp:
+	bpatchx patch38_2,mem_patch38
+	call l2cap_malloc_sdp_channel
+	call sdp_send_spp_request
+	branch MSDP_send_req_done
+
+upper_sm_send_rfcomm_conn:
+	bpatchx patch38_3,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_RFCOMM
+	copy pdata,temp
+	setarg L2CAP_RFCOMM_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_rfcomm_cfg:
+	bpatchx patch38_4,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_rfcomm_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_ctrl_conn:
+	bpatchx patch38_5,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_control
+	copy pdata,temp
+	setarg L2CAP_HID_Control_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_hid_ctrl_cfg:
+	bpatchx patch38_6,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_int_conn:
+	bpatchx patch38_7,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_interrupt
+	copy pdata,temp
+	setarg L2CAP_HID_interrupt_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_hid_int_cfg:
+	bpatchx patch39_0,mem_patch39
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_rfcomm_sabm:
+	bpatchx patch39_1,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	//force 3,temp //address
+	jam 3,mem_current_adss
+	jam 0x1c,mem_current_fcs
+	call rfcomm_send_sabm
+	jam 1,mem_rfcomm_initiator
+	rtn
+
+upper_sm_send_spp_cmd_pn:
+	bpatchx patch39_2,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_remote_spp_channel
+	call channel_to_dlci
+	storet 1,mem_pn_dlci
+	branch rfcomm_send_param_neg_cmd
+
+upper_sm_send_spp_sabm:
+	bpatchx patch39_3,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	call rfcomm_calculate_FCS_sabm //sabm fcs use once only,not need to save
+	store 1,mem_current_fcs
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	storet 1,mem_current_adss
+	branch rfcomm_send_sabm
+
+upper_sm_send_spp_cmd_ms:
+	bpatchx patch39_4,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd //address in temp
+	branch rfcomm_send_modem_status_cmd
+
+
+
+/**********************************************************************/
+/* Subroutine: sdp_process                                         */
+/* Process Service Discovery Request                                  */
+/* Called from L2CAP, check PDUID, branch to different req processings*/
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload                                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process:
+	bpatchx patch39_5,mem_patch39
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+//	ifetchr regb,1,contr				/* PDUID */
+//	storer regb,1,mem_sdp_pduid
+	ifetch 1,contr
+	copy pdata,regb
+	store 1,mem_sdp_pduid
+	ifetch 2,contr
+	store 2,mem_sdp_transactionid			/* save transaction id */
+	ifetch 1,contr				/* higher byte of parameter length */
+	lshift8 pdata,timeup				
+	ifetch 1,contr				/* lower byte of parameter length */
+	iadd timeup,timeup				/* parameter length stored in "timeup" */
+	bpatchx patch39_6,mem_patch39
+	copy contr,temp
+	arg 4,loopcnt
+	arg mem_sdp_handle_list,contw
+	call memset0
+	copy temp,contr 
+	deposit regb						/* PDUID  */
+	beq SDP_ERROR_RES,sdp_process_error_res
+	beq SDP_SEARCH_REQ,sdp_process_ss_req
+	beq SDP_SEARCH_RES,sdp_process_ss_res
+	beq SDP_ATTRIBUTE_REQ,sdp_process_sa_req
+	beq SDP_ATTRIBUTE_RES,sdp_process_sa_res
+	beq SDP_SEARCHATTRIB_REQ,sdp_process_ssa_req
+	beq SDP_SEARCHATTRIB_RES,sdp_process_ssa_res
+	branch sdp_insufficient_resource
+
+/**********************************************************************/
+/* ss_req			                              */
+/* Processing Service Search Request                                  */
+/* Call: ask_serviceclassid, empty_response                     */
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ss_req:
+	bpatchx patch39_7,mem_patch39
+	call ask_serviceclassid
+	compare 1,temp,0xff
+	branch ss_empty_rsp,true
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+
+	ifetch 2,contr				/* max aservice record count */
+	store 2,mem_sdp_record_maxcnt
+	increase -2,timeup
+
+	increase -1,timeup				/* continuation state 1 byte (0) */
+	nbranch sdp_invalid_pdu_size,zero		/* invalid pdu size */
+	arg mem_sdp_uuid_search_ptr,timeup
+	ifetch 2,timeup
+	rtn blank
+	call search_all_uuid
+	call l2cap_get_sdp_tx_payload			/* put the pointer to Tx buffer  */
+	force 3,pdata						/* PDUID 3, Service Search Response */
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			/* write transaction id */
+	istore 2,contw
+	lshift2 queue,pdata
+	add pdata,5,pdata
+	add pdata,5,regc
+	byteswap pdata,pdata
+	istore 2,contw							/* write parLength */
+	deposit queue
+	byteswap pdata,pdata
+	istore 2,contw							/* write TotSrvRecCount */
+	istore 2,contw							/* write CurSrvRecCount */
+	arg mem_sdp_handle_list,contr
+	copy queue,loopcnt
+	branch ss_req_blank,zero
+ss_req_loop:	
+	ifetch 4,contr
+	istore 4,contw
+	loop ss_req_loop
+ss_req_blank:	
+	force 0,pdata
+	istore 1,contw							/* continuation state */
+	deposit regc
+	store 2,mem_sdp_tx_pkt_length
+//	branch assert,blank
+	rtn
+
+/**********************************************************************/
+/* sa_req			                              */
+/* Processing Service Attribute Request                               */
+/* Call: ask_attributeid, empty_response (if 3 stored attr.     */
+/* not asked) or answer_attributelist                              */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_sa_req:
+	bpatchx patch3a_0,mem_patch3a
+	ifetch 4,contr				/* service record handle */
+	store 4,mem_sdp_record_handle	 
+	increase -4,timeup
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6		/* result: data size stored in rega */
+	branch sdp_invalid_request_syntax,zero
+	compare 5,rega,0xff  // length
+	//branch sa_req_all,true
+	branch sa_judge_wholerange,true
+sa_isnot_wholerange:
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+	branch sa_req_loop
+sa_judge_wholerange:
+	ifetch 1,contr
+	bne SDP_ATTRIBUTE_RANGE,sdp_invalid_request_syntax
+	ifetch 2,contr
+	nbranch sa_judge_wholerange_false1,blank
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false2
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false3		//also exist potential bug because mem_sdp_attrib_list length is only 7f
+	branch sa_req_all
+sa_judge_wholerange_false3:
+	increase -5,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false2:
+	increase -4,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false1:
+	increase -3,contr
+	branch sa_isnot_wholerange
+sa_req_loop:	
+	ifetch 1,contr
+	beq SDP_ATTRIBUTE_ID, sa_req_one_id
+	beq SDP_ATTRIBUTE_RANGE, sa_req_range
+sa_req_range:
+	ifetch 2, contr
+	istore 2, contw
+	increase 1,queue
+	byteswap pdata,regb
+	ifetch 2, contr
+	byteswap pdata,pdata
+sa_req_range_id_increase:	
+	increase 1, regb
+	isub regb, null
+	nbranch sa_req_range_id_finish,positive
+	copy pdata, regc
+	byteswap regb,pdata
+	istore 2, contw
+	increase 1,queue
+	copy regc, pdata
+	branch sa_req_range_id_increase
+sa_req_range_id_finish:
+	increase -5,timeup
+	increase -5,rega
+	branch sa_req_check_next_id
+sa_req_one_id:
+	ifetch 2,contr
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+sa_req_check_next_id:	
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch sa_req_loop,zero //another attribute 
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw
+	arg mem_sdp_attrib_list,rega
+sa_req_handle_attributelist_next:
+	copy queue,pdata
+	branch sa_req_handle_attributelist_end,blank
+	ifetch 2,rega
+	branch sa_req_handle_attributelist_end,blank
+	iforce regb /* regb is the attribute ID */
+	fetch 4,mem_sdp_record_handle	
+	iforce temp
+	call search_handle_attrib
+	copy contr,pdata
+	branch sa_req_handle_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+	call memcpy
+sa_req_handle_attributelist_notfound:
+	increase 2,rega
+	increase -1, queue
+	branch sa_req_handle_attributelist_next
+
+sa_req_handle_attributelist_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	call ssa_req_range_lastfreg_common
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 11,sa_empty_rsp
+	branch  ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_continue_common:
+	ifetch 1, contr
+	beq 0, sdp_store_continue_0byte
+	beq 1,sdp_store_continue_1byte
+	beq 2, sdp_store_continue_2byte
+sdp_store_continue_0byte:	
+	increase -1,timeup				/* continuation state byte (0) */
+	branch sdp_store_continue_end
+sdp_store_continue_1byte:
+	ifetch 1, contr
+	increase -2,timeup				/* continuation state byte (1) */
+	branch sdp_store_continue_end
+sdp_store_continue_2byte:
+	ifetch 2, contr
+	byteswap pdata,pdata
+	increase -3,timeup				/* continuation state byte (2) */
+sdp_store_continue_end:
+	store 2, mem_sdp_continue_byte	
+	rtn
+	
+sa_req_all:	
+	increase -5,timeup
+	call sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	fetcht 4,mem_sdp_record_handle		
+	call search_handle
+	nbranch sdp_invalid_service_record_handle,zero
+	copy contr,rega
+	call l2cap_get_sdp_tx_payload
+	copy rega,contr
+	increase 3,contw//arg mem_SDP_Tx_payload+3,contw
+	copy contr,timeup //sdp start pointer
+	call sdp_get_data
+	copy pdata, rega //sdp total length
+//	fetchr regb,2,mem_sdp_continue_byte
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in regb
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	nbranch sa_req_all_fragment_sdp, positive
+	// the last fragment
+	disable user
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr //set the read pointer
+	increase 3,regb //include the total length field, 3 bytes
+	copy regb, loopcnt
+	copy loopcnt, pdata
+	increase 3, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	copy loopcnt, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fisrt_fragment:
+	add rega,6,loopcnt
+	branch sa_req_all_parlength_continue_byte, user
+	byteswap loopcnt,pdata
+	branch sa_req_all_parlength_continue_byte_end
+sa_req_all_parlength_continue_byte:
+	copy loopcnt, pdata
+	increase 2, pdata
+	byteswap pdata,pdata
+sa_req_all_parlength_continue_byte_end:
+	istore 2,contw				/* ParLength */
+	increase -3,loopcnt
+	byteswap loopcnt,pdata			
+	istore 2,contw				/* AttrListByteCount */
+	copy timeup,contr
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fragment_sdp:
+	enable user
+//	fetchr rega,2,mem_sdp_attribute_maxbyte
+	fetch 2,mem_sdp_attribute_maxbyte
+	copy pdata,rega
+	copy rega,loopcnt
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr
+	copy rega,pdata
+	increase 5,pdata
+	byteswap pdata,pdata	
+	istore 2, contw
+	copy rega,pdata
+	byteswap pdata,pdata
+	istore 2, contw
+sa_req_all_answer_attributelist_full_loop:
+	call memcpy
+	nbranch sa_req_all_last_frag_continue, user
+	force 2,pdata
+	istore 1,contw
+	copy contr, pdata
+	isub timeup, pdata
+	byteswap pdata,pdata
+	istore 2, contw   // continuation length
+	branch sa_req_all_frag_end
+sa_req_all_last_frag_continue:
+	force 0,pdata
+	istore 1,contw
+sa_req_all_frag_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	branch ssa_req_range_common	
+	
+/**********************************************************************/
+/* ssa_req                          		      */
+/* Processing Service Search Attribute Request                        */
+/* Call: ask_serviceclassid, ask_attributeid, empty_response */
+/*       or answer_attributelist                                   */  
+/* Input:       contr                                                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_req:
+	bpatchx patch3a_1,mem_patch3a
+	call ask_serviceclassid
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+ssa_req_loop:	
+	ifetch 1,contr 
+	beq SDP_ATTRIBUTE_RANGE,ssa_req_range
+	ifetch 2,contr 
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch ssa_req_loop,zero
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	call l2cap_get_sdp_tx_payload
+	increase 13,contw//arg mem_SDP_Tx_payload+13,contw
+	fetch 2,mem_sdp_uuid_search_ptr
+	iforce regc
+	arg mem_sdp_attrib_list,rega
+ssa_req_attributelist_next:	
+	ifetch 2,rega
+	branch ssa_req_attributelist_end,blank
+	iforce regb						/* regb is the attribute ID */
+	call search_attrib
+	branch ssa_req_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+  	call memcpy
+ssa_req_attributelist_notfound:
+	increase 2,rega
+	branch ssa_req_attributelist_next
+
+ssa_req_attributelist_end:
+	call ssa_req_range_lastfreg
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 14,ssa_empty_rsp
+	call ssa_req_range_attrbutes_length_no_continue
+	branch ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_maxbyte:	
+	ifetch 2,contr				 
+	byteswap pdata,pdata
+	increase -3,pdata	
+	arg 200,temp
+	isub temp,null
+	nrtn positive
+	setarg 200
+	rtn
+	
+
+ssa_req_range:
+	increase 4,contr
+	increase -5,timeup
+	increase -5,rega
+	nbranch sdp_invalid_request_syntax,zero
+	call 	sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	arg mem_sdp_uuid_search_ptr,timeup
+	call search_all_uuid  
+	deposit queue
+	branch ssa_empty_rsp,blank
+	store 1,mem_handle_humber
+//	storer regb,2,mem_sdp_all_length
+	copy regb,pdata
+	store 2,mem_sdp_all_length
+	arg 0,queue
+	arg 0,rega
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw 
+ssa_req_range_find_handle:
+	call ssa_req_range_get_length	
+	nbranch assert,user
+	copy contr,timeup
+	copy pdata,regc
+	iadd rega,rega
+//	copy pdata,rega 
+//	fetch 2,mem_sdp_all_length
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	branch ssa_req_range_first_freg,blank
+ssa_req_range_later_freg_with_continue:
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in rega
+	branch ssa_req_range_next_handle,zero
+	nbranch ssa_req_range_next_handle,positive
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	branch ssa_req_range_maxbyte_with_continue,zero
+	nbranch ssa_req_range_maxbyte_with_continue, positive  
+	
+ // data length < =maxbyte 
+ssa_req_range_send_not_maxbyte:
+ 	copy regb,loopcnt
+	call ssa_req_range_maxbyte_with_continue_cpy
+ 	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	branch ssa_req_range_lastfreg,zero
+	branch ssa_req_range_freg_with_continue
+	
+ssa_req_range_maxbyte_with_continue:
+ 	copy pdata,loopcnt
+ 	call ssa_req_range_maxbyte_with_continue_cpy
+ 	branch ssa_req_range_freg_with_continue
+ 	
+ssa_req_range_maxbyte_with_continue_cpy:
+	increase -3,contw   
+	copy loopcnt,temp
+ 	copy regc,pdata
+	isub regb,pdata
+	iadd timeup,contr
+ 	branch memcpy
+
+ssa_req_range_next_handle:
+	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	rtn zero //
+	branch ssa_req_range_find_handle
+
+ssa_req_range_get_length:	
+	call disable_user
+	arg mem_sdp_handle_list,contr
+	lshift2 queue,pdata
+	iadd contr,contr
+	ifetcht 4, contr
+	call search_handle
+	nrtn zero
+	call sdp_data_len
+	branch enable_user
+
+ssa_req_range_first_freg:
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub rega, null
+	nbranch ssa_req_range_firstfreg_maxbyte_with_continue,positive
+	copy rega,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	fetch 2,mem_sdp_all_length
+	isub rega,null
+	branch ssa_req_range_freg_no_continue,zero
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+	call ssa_req_range_freg_with_continue
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_freg_no_continue:
+	call ssa_req_range_lastfreg
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_lastfreg:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+ssa_req_range_lastfreg_common:
+	force 0,pdata
+	istore 1,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw  //attribute length
+	rtn
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+	copy pdata,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	call ssa_req_range_freg_with_continue
+ssa_req_range_attrbutes_length:	
+	setarg 0x36
+	istore 1,contw
+	fetch 2,mem_sdp_all_length
+	byteswap pdata,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_attrbutes_length_no_continue:	
+	setarg 0x36
+	istore 1,contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_freg_with_continue:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+	setarg 2
+	istore 1,contw	
+	fetch 2,mem_sdp_continue_byte
+	iadd temp,temp
+	byteswap temp,pdata
+	istore 2,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_common:
+	fetch 2,mem_sdp_tx_payload_ptr
+	isub contw,pdata
+	sub pdata,0,pdata
+	store 2,mem_sdp_tx_pkt_length
+	call l2cap_get_sdp_tx_payload 
+	copy rega,pdata  //PUD ID
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid
+	istore 2,contw
+	rtn
+
+
+
+
+/**********************************************************************/
+/* ssa_res			                      */
+/* Processing Service Search Attribute Response                       */
+/* Call: dataelementtype6, attribute_reading                    */
+/* Input:       contr                                                 */
+/* Output:      mem_sdp_record_handle,mem_sdp_search_failed           */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_res:
+sdp_process_ss_res:
+sdp_process_sa_res:
+sdp_process_error_res:
+	rtn
+/*
+sdp_process_ss_res:
+	bpatchx patch3a_2,mem_patch3a
+	ifetch 2,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	bne 1,assert
+	ifetch 4,contr
+	store 4,mem_sdp_record_handle
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES,pdata
+	istore 1,regc
+	rtn
+	
+sdp_process_sa_res:
+	bpatchx patch3a_3,mem_patch3a
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES,pdata
+	istore 1,regc
+	copy temp,contr
+	ifetch 2,contr
+	call search_rfcomm_cn
+	store 1,mem_profile_channel	
+	rtn
+*/
+
+				    
+
+sdp_invalid_service_record_handle:		
+	setarg 0x0200
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_pdu_size:				
+	setarg 0x0400
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_insufficient_resource:			
+	setarg 0x0600
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_request_syntax:			
+	setarg 0x0300
+	store 2,mem_sdp_error_code
+sdp_error_response:	
+	call l2cap_get_sdp_tx_payload
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			
+	istore 2,contw
+	setarg 0x0200					
+	istore 2,contw
+	fetch 2,mem_sdp_error_code			
+	istore 2,contw
+	jam  7,mem_sdp_tx_pkt_length
+	rtn
+
+
+//store uuid in mem_sdp_uuid_search_ptr,
+//return temp 0xff if wrong 
+ask_serviceclassid:  
+	arg 0,regb
+	force 0,temp					/* use "temp" to mark syntax error or to mark 128 bit uuid */
+	arg mem_sdp_uuid_search_ptr,contw
+	call dataelementtype6
+	branch asksrv_error,zero
+classidloop:
+	increase 1,regb
+	ifetch 1,contr
+	increase -1,rega
+	increase -1,timeup
+	compare 0x18,pdata,0xf8			/* 5 MSB: b00011: uuid */
+	nbranch asksrv_error,true
+	compare 0x04,pdata,0x07			/* 3 LSB: b100 128 bits uuid */
+	nbranch cmp032,true
+	force 1,temp					/* mark it as 128 bit uuid */
+skip2bytes:
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	bne 0x00, frstbwrong
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	beq 0x00, cmpuuid
+	branch scndbwrong
+frstbwrong:  
+	increase 1,contr
+	increase -1,rega	
+	increase -1,timeup
+scndbwrong:  
+	increase 2,contr				/* skip 2 bytes, first 2 bytes already wrong */
+	increase -2,rega	
+	increase -2,timeup
+	compare 0x00,temp,0xff                        /* 128 bits or 32 bits ? */
+	branch loopornot,true
+	increase 12,contr				/* skip 12 bytes, first 2 bytes already wrong */
+	increase -12,rega	
+	increase -12,timeup
+	branch loopornot
+cmp032:
+	compare 0x02,pdata,0x07			/* 3 LSB: b010 32 bits uuid */
+	nbranch cmp016,true
+	branch skip2bytes			
+cmp016:
+	compare 0x01,pdata,0x07			/* 3 LSB: b001 16 bit uuid */
+	nbranch asksrv_error,true
+cmpuuid:
+	increase -2,rega
+	increase -2,timeup
+	ifetch 2,contr				/* higher order byte */
+	sub regb,4,null
+	branch uuidsize,zero //max store uuids =3 
+	istore 2,contw
+uuidsize:
+	compare 0x00,temp,0xff			/* is this 128 bits uuid */
+	branch loopornot,true
+	copy contr,temp
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x10, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x5f, wrong12b
+	ifetch 1,contr
+	bne 0x9b, wrong12b
+	ifetch 1,contr
+	bne 0x34, wrong12b
+	ifetch 1,contr
+	beq 0xfb, chck12dn
+wrong12b:
+	copy temp,contr  
+wrong12b1:
+	increase 12,contr				/* skip 12 bytes */
+	force 0x00,queue
+	force 0x00,temp
+	branch chck12dn
+
+chck12dn:
+	increase -12,timeup
+	increase -12,rega
+loopornot:
+	force 0x00,temp
+	compare 0x00,rega,0xff
+	nbranch classidloop,true
+	force 0,pdata
+	istore 2,contw			/* end list with null */
+	rtn
+asksrv_error:
+	arg 0xff,temp
+	rtn
+
+/**********************************************************************/
+/* Subroutine: dataelementtype6                                    */
+/* Parse Data Element Sequence, obtain the data size                  */
+/* Input:  SDP Rx Buf Pointer in contr, parameter count in timeup     */
+/* Output: data length in rega, data pointer in contr             */
+/*         and  parameter count in timeup, return with zero flag set: */
+/*         syntax error                                               */
+/**********************************************************************/     
+dataelementtype6:
+	bpatchx patch3a_4,mem_patch3a
+	ifetch 1,contr
+	increase -1,timeup
+	compare 0x30,pdata,0xf8			/* 5 MSB: b00110: type 6 */
+	nbranch dsize_error,true
+	compare 0x07,pdata,0x07			/* 3 LSB: b111: 32 bits */
+	branch dsize32,true
+	compare 0x06,pdata,0x07			/* 3 LSB: b110: 16 bits */
+	branch dsize16,true
+	compare 0x05,pdata,0x07			/* 3 LSB: b101: 8 bits */
+	nbranch dsize_error,true
+//	ifetchr rega,1,contr				/* data length in reg A */
+	ifetch 1,contr
+	copy pdata,rega
+	increase -1,timeup
+	branch dsize
+dsize32:
+	increase 2,contr				 
+	increase -2,timeup
+dsize16:
+	ifetch 2,contr
+	byteswap pdata,rega
+	increase -2,timeup
+dsize:
+	force 0x01,pdata
+	rtn
+dsize_error:
+	force 0x00,pdata
+	rtn
+
+/**********************************************************************/
+/* Subroutine: sa_empty_rsp                                      */
+/* Send empty response                                                */
+/*                                                                    */
+/* Input:       mem_sdp_pduid, mem_sdp_transactionid                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+ss_empty_rsp:
+	setarg SDP_SEARCH_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+sa_empty_rsp:
+	setarg SDP_ATTRIBUTE_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+ssa_empty_rsp:
+	setarg SDP_SEARCHATTRIB_RES
+	store 1, mem_sdp_pduid
+empty_response:
+	call l2cap_get_sdp_tx_payload			/* empty attribute list */
+//	fetchr regb,1,mem_sdp_pduid				/* PDUID */
+//	istorer regb,1,contw
+	fetch 1,mem_sdp_pduid
+	copy pdata,regb
+	istore 1,contw 
+	fetch 2,mem_sdp_transactionid			/* copy back transaction id */
+	istore 2,contw
+	setarg 0x0500
+	istore 2, contw
+	compare SDP_ATTRIBUTE_RES,regb,0xff			 
+	branch fullsearch,true
+	compare SDP_SEARCHATTRIB_RES,regb,0xff			 
+	branch fullsearch,true
+	setarg 0x000000
+	istore 5,contw
+	branch outempty
+
+fullsearch:					/* pduid must be 5 or 7 */
+	setarg 0x350200
+	istore 5,contw
+outempty:
+	jam 10,mem_sdp_tx_pkt_length
+	rtn
+
+//return length in pdata(whole element ,include header and data ), contr not change
+sdp_data_len:
+	call store_contw
+	call store_contr
+	call sdp_get_data
+	call get_contw
+	call get_contr
+	copy temp,pdata
+	rtn
+
+//return data length in pdata, contr is data pionter,return length in temp(whole element ,include header and data )
+sdp_get_data:
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	bne 0,sdp_get_data_type_not0
+sdp_get_data_type0:	
+	force 1,pdata
+	force 1,temp
+	rtn
+	
+sdp_get_data_type_not0_sizeindex01234:
+	call left_shift_n
+	add pdata,1,temp  //add header length
+	rtn
+sdp_get_data_type_not0:
+	deposit loopcnt
+	sub pdata,4,null
+	branch sdp_get_data_type_not0_sizeindex01234,positive
+	beq 5,sdp_get_data_type_not0_sizeindex5
+	beq 6,sdp_get_data_type_not0_sizeindex6
+	beq 7,sdp_get_data_type_not0_sizeindex7
+	rtn
+	
+sdp_get_data_type_not0_sizeindex5:
+	ifetch 1,contr
+	add pdata,2,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex6:
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,3,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex7:
+	ifetch 2,contr	
+	byteswap pdata,pdata
+	ifetcht 2,contr	
+	byteswap temp,temp
+	lshift16 temp,temp
+	iadd temp,pdata
+	add pdata,5,temp  //add header length
+	rtn
+
+/* find with uuids
+input uuids pionter in timeup
+return handles in mem_sdp_handle_list; handles number in queue if found 
+return regb all length*/
+search_all_uuid:
+	bpatchx patch3a_5,mem_patch3a
+	force 0,queue
+	arg 0,regb
+	arg mem_sdp_handle_list,contw
+search_all_uuid_llop:
+	ifetch 2,timeup
+ 	rtn blank
+	call search_uuid
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER 
+	increase 2,timeup
+ 	branch search_all_uuid_llop
+	
+search_uuid:
+//	arg 0,regb
+	iforce regc
+//	force 0,queue
+	fetch 2, mem_ui_uuid_table
+	iforce contr
+search_uuid_next:
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER   
+	disable user
+	ifetch 1,contr
+	rtn blank
+	iforce loopcnt
+search_uuid_loop:	
+	ifetch 2,contr
+	isub regc,null
+	nbranch search_uuid_not_found,zero
+	enable user					// uuid match
+search_uuid_not_found:
+	loop search_uuid_loop
+	ifetcht 4,contr					// get handle 
+	copy contr,rega
+	nbranch search_uuid_nomatch,user
+	arg mem_sdp_handle_list,contr
+	arg SDP_MAX_HANDLE_NUMBER,loopcnt 
+search_uuid_check_same_handle:
+	ifetch 4,contr
+	branch search_uuid_store_handle,blank
+	isub temp,null
+	branch search_uuid_nomatch,zero
+	loop search_uuid_check_same_handle
+	rtn 
+search_uuid_store_handle:
+	istoret 4,contw
+	increase 1,queue
+	copy rega,contr
+	call sdp_data_len
+	iadd regb,regb
+	iadd contr,contr		 
+	branch search_uuid_next
+search_uuid_nomatch:	
+	copy rega,contr
+	call sdp_get_data
+	iadd contr,contr			// next paragraph 
+	branch search_uuid_next
+
+/* temp is handle,
+return zero  if found
+return data pointer in contr 
+*/
+search_handle:
+	bpatchx patch3a_6,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_loop:	
+	ifetch 1,contr
+	branch disable_zero,blank
+	lshift pdata,pdata
+	iadd contr,contr
+	ifetch 4,contr
+	isub temp,null
+	rtn zero
+	deposit contw
+	store 2,mem_contw
+	storet 8,mem_temp
+	call sdp_get_data
+	iadd contr,contr
+	copy contr,pdata
+	fetcht 2,mem_contw
+	copy temp,contw
+	fetcht 8,mem_temp
+	copy pdata,contr
+	branch search_handle_loop
+
+/**
+* input regb and regc.regb is the attribute ID and regc is UUID.
+* set contr if find attribute or 0 if not
+*/
+search_attrib:
+	bpatchx patch3a_7,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_attrib_next:
+	ifetch 1,contr
+	branch search_attrib_end, blank
+	iforce loopcnt
+search_attrib_loop:	
+	ifetch 2,contr
+	isub regc,null						/* regc is UUID, compare it */
+	branch search_attrib_found_uuid,zero
+	loop search_attrib_loop
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_attrib_next	
+search_attrib_found_uuid:
+	increase -1,loopcnt
+	lshift loopcnt,pdata
+	iadd contr,contr
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	//force 0x1,pdata,zero
+//	setflag zero, 0,pdata
+//	copy timeup, timeup
+	branch disable_blank,zero			/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_attrib_loop_attribs	
+search_attrib_end:
+	force 0,contr
+	force 0,pdata
+	rtn
+	
+
+//search the attribute according the record handle
+//record handle in temp, attribute in regb
+//set the contr to zero if not found
+search_handle_attrib:	
+	bpatchx patch3b_0,mem_patch3b
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_attrib_next:
+	ifetch 1,contr
+	branch search_handle_attrib_end, blank
+	lshift pdata,pdata
+	iadd contr, contr
+	ifetch 4,contr
+	isub temp,null						/* regc is UUID, compare it */
+	branch search_handl_attrib_found_handle,zero
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_handle_attrib_next	
+search_handl_attrib_found_handle:
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_handle_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	rtn zero							/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_handle_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_handle_attrib_loop_attribs
+search_handle_attrib_end:
+	force 0,contr
+	rtn	
+
+
+//enable user if find rfcomm channel number, pdata is channel number
+search_rfcomm_cn:
+	arg 0x0400,regb  // attribute protocol edscriptor list
+	call search_handl_attrib_found_handle
+	arg 0x0300,regb  // uuid rfcomm
+	call search_uuid_in_data
+	nrtn user
+	sub rega,3,null
+	branch disable_user,positive
+	ifetch 1,contr
+	bne 0x08,disable_user
+	ifetch 1,contr
+	rtn
+	
+ //input timeup is lenth
+ //input contr is data ptr
+ //return contr is end of uuid; enable user if found uuid
+search_uuid_in_data:
+	bpatchx patch3b_1,mem_patch3b
+	call sdp_get_data
+	copy pdata,rega
+search_uuid_in_data_loop:	
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	sub pdata,3,null
+	branch search_uuid_in_data_found_uuid,zero
+	copy loopcnt,pdata
+	beq 5,search_uuid_in_data_found_element_index5
+	beq 6,search_uuid_in_data_found_element_index6
+	beq 7,search_uuid_in_data_found_element_index7
+	increase -1,contr
+	call sdp_get_data
+	iadd contr,contr
+	copy rega,pdata
+	isub temp,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+	
+search_uuid_in_data_found_element_index5:
+	increase -2,rega
+	increase 1,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index6:
+	increase -3,rega
+	increase 2,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index7:
+	increase -5,rega
+	increase 4,contr
+	branch search_uuid_in_data_loop		
+	
+search_uuid_in_data_found_uuid:
+	increase -1,rega
+	copy loopcnt,pdata
+	beq 1,search_uuid_in_data_type_uuid_16
+	beq 2,search_uuid_in_data_type_uuid_32
+	beq 4,search_uuid_in_data_type_uuid_128
+	branch disable_user 
+search_uuid_in_data_type_uuid_128:
+	increase -12,rega
+search_uuid_in_data_type_uuid_32:
+	ifetch 2,contr
+	increase -2,rega
+search_uuid_in_data_type_uuid_16:
+	ifetch 2,contr
+	isub regb,null
+	branch enable_user,zero
+	increase -2,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+
+/*
+//rega:l2cap len ,mem_search_uuid:uuid to search
+sdp_send_search_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_SEARCH_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+	//istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x19
+	istore 1,contw
+	fetch 2,mem_search_uuid
+	istore 2,contw
+	setarg 0x0008
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+
+//rega:l2cap len
+sdp_send_attribute_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_ATTRIBUTE_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+//	istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	fetch 4,mem_sdp_record_handle
+	istore 4,contw
+	setarg 0x2c01
+	istore 2,contw
+	setarg 0x0535
+	istore 2,contw
+	setarg 0x0a
+	istore 1,contw
+	setarg 0
+	istore 2,contw
+	setarg -1
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+*/	
+	
+
+sdp_send_spp_request:
+	call l2cap_get_sdp_tx_payload
+	copy pdata,contw
+	setarg 6//Search Attr Req
+	istore 1,contw
+	setarg sdp_tid_spp					
+	istore 2,contw
+	setarg 0x0f00 //length15
+	istore 2,contw
+	setarg 0x1a0535
+	istore 3,contw
+	setarg 0x0111
+	lshift16 pdata,pdata //UUID
+	istore 4,contw
+	setarg 0x2600 //max return len
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x0009
+	istore 2,contw
+	setarg 0x0004
+	istore 2,contw
+	jam 0x14,mem_sdp_tx_pkt_length
+	rtn
+
+
+	
+function_g2:
+	bpatchx patch3b_2,mem_patch3b
+	jam 80,mem_AES_CMAC_data_length
+	arg memdat,contw
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat	
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	call function_AES_CMAC	
+
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result
+	setarg 1000000
+	copy pdata,rega
+	fetch 4,mem_AES_CMAC_temp
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+//call ice_break
+	rtn
+
+function_f6_eb:
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_a
+	call store_addr_common_b
+	fetch 3,mem_le_pres+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	
+	arg mem_le_mrand,contr
+	call memcpy16
+	arg mem_le_srand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	branch function_AES_CMAC
+//	arg mem_AES_CMAC_temp,contw
+//	branch p_load_inverse_result
+
+get_r:
+	fetch 4,mem_le_tk
+	istore 4,contw
+	call memset0_4
+	branch memset0_8
+
+function_f6_ea:
+	bpatchx patch3b_3,mem_patch3b
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_b
+	call store_addr_common_a
+	fetch 3,mem_le_preq+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_temp,contw
+	branch load_inverse_result
+
+function_f5:
+	jam 32,mem_AES_CMAC_data_length
+	arg mem_le_dhkey_256 ,contr
+	arg memdat,contw
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_slat,contr
+	call store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_k,contw
+	call store_aes_result
+	arg 1,temp
+	call function_f5_common
+	arg mem_le_ltk,contw
+	call load_inverse_result
+	arg 0,temp
+	call function_f5_common
+	arg mem_le_mackey,contw
+//	branch p_load_inverse_result
+	branch store_aes_result
+
+
+function_f5_common:
+	bpatchx patch3b_4,mem_patch3b
+	jam 53,mem_AES_CMAC_data_length
+	setarg 0x100
+	store 2,memdat
+	call store_addr_common_b
+	call store_addr_common_a
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+//	fetch 4,mem_le_keyid 0x62746c65
+	setarg 0x6c65
+	istore 2,contw
+	setarg 0x6274
+	istore 2,contw
+	istoret 1,contw   //counter
+	call inverse_memdat	
+	branch function_AES_CMAC
+
+store_addr_common_b:
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	rtn
+
+store_addr_common_a:
+	fetch 6,mem_le_plap
+	istore 6,contw
+//	setarg 0x2dcfc1
+//	istore 3,contw
+//	setarg 0xa71370
+//	istore 3,contw
+	fetch 1,mem_le_conn_peer_addr_type
+	istore 1,contw
+	rtn
+
+function_f4_ca:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+	
+
+function_f4_cb:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_srand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+
+function_AES_CMAC:
+	bpatchx patch3b_5,mem_patch3b
+	call function_AES_CMAC_Generate_Subkey
+//call ice_break
+//	jam 65,mem_AES_CMAC_data_length
+//call ice_break
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,temp
+function_ceil16:
+	increase 15,pdata
+	rshift4 pdata,pdata
+	copy pdata,regb
+	branch function_AES_CMAC_set_flag_0_balnk,blank
+	and temp,0x0f,pdata
+	nbranch function_AES_CMAC_set_flag_0,blank
+//	flag =1;
+	arg mem_AES_CMAC_k1,regc
+	arg memdat,pdata
+	increase -16,pdata
+//	iadd temp,pdata
+//	isub rega,rega
+	iadd temp,rega	
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop
+//call ice_break
+//	arg mem_f4_k1,contr
+//	call load_key
+	branch function_AES_CMAC_aes
+
+function_AES_CMAC_set_flag_0_balnk:
+	arg 1,regb
+	arg 0,rega
+//	arg mem_f4_test_data,pdata
+	branch function_AES_CMAC_set_flag_0_common
+//call ice_break
+
+function_AES_CMAC_set_flag_0:
+//	flag = 0;
+	and temp,0x0f,rega
+function_AES_CMAC_set_flag_0_common:
+	arg memdat,pdata
+	iadd temp,pdata
+	isub rega,contr
+//call ice_break
+	arg mem_AES_CMAC_temp,contw
+	call function_AES_CMAC_padding
+//call ice_break
+	arg mem_AES_CMAC_k2,regc
+	arg mem_AES_CMAC_temp,rega
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop	
+//call ice_break
+
+//	arg mem_f4_k2,contr
+//	call load_key
+
+//	branch p_function_f4_aes
+function_AES_CMAC_aes:
+//	arg mem_f4_k,contr
+//	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call load_data128
+	call aes_clear_data
+	call aes_init	
+//	arg mem_f4_k,contr
+//	call load_key
+	arg memdat,contr
+function_AES_CMAC_aes_loop:
+//generate_mic_loop:
+	increase -1,regb
+	deposit regb
+	branch function_AES_CMAC_aes_loop_end,blank
+	call load_data128
+	call do_aes_cbc
+	branch function_AES_CMAC_aes_loop
+//generate_mic_end:
+function_AES_CMAC_aes_loop_end:	
+	arg mem_AES_CMAC_temp,contw
+	call store_aes_result
+	arg mem_AES_CMAC_M_last,contr
+	call load_data128
+	call aes_init	
+	arg mem_AES_CMAC_temp,contr
+	call load_data128	
+	branch do_aes_cbc
+
+
+
+load_inverse_result:
+//	arg mem_AES_CMAC_temp,contw
+	copy contw,rega
+	call store_aes_result
+//	arg mem_AES_CMAC_temp,rega
+	arg 16,loopcnt
+	branch inverse_data
+	
+store_inverse_k:
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+inverse_k:	
+	arg 16,loopcnt
+	arg mem_AES_CMAC_k,rega	
+	branch inverse_data
+	
+inverse_memdat:
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,loopcnt
+	arg memdat,rega
+	branch inverse_data
+
+bn_lshift_0_inverse:
+	ifetch 1,regA
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata	
+	isolate1 8,pdata
+	setflag true,0,regC	
+	istore 1,rega
+         increase -1,rega
+	loop bn_lshift_0_inverse
+	rtn	
+
+function_AES_CMAC_k1_inverse:
+	arg mem_AES_CMAC_k1,regA
+function_AES_CMAC_inverse_common:
+	increase 15,rega
+	force 16,loopcnt
+	force 0,regC
+	branch  bn_lshift_0_inverse	
+
+function_AES_CMAC_k2_inverse:
+	arg mem_AES_CMAC_k2,regA
+	branch function_AES_CMAC_inverse_common
+	
+
+function_AES_CMAC_Generate_Subkey:
+	arg mem_AES_CMAC_k,contr
+	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call aes_load_xor
+	force regidx_xor,regext_index
+	call aes_clear
+	call aes_clear_data
+	call do_aes_ocb
+	
+//	force 0x38,aes_ctrl
+//	force 0x0,aes_ctrl
+//	call wait_aes
+	arg mem_AES_CMAC_k1,contw
+	call store_aes_result
+function_AES_CMAC_k1:
+	bpatchx patch3b_6,mem_patch3b
+	fetch 1,mem_AES_CMAC_k1
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k1_0,true	
+	call function_AES_CMAC_k1_inverse
+	
+//p_function_f4_k1_xor:
+	arg mem_AES_CMAC_k1,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k1,contw
+//	arg 3,loopcnt
+//	call xor_loop
+	call function_AES_CMAC_xor_rb
+	branch function_AES_CMAC_k2
+function_AES_CMAC_k1_0:	
+	call function_AES_CMAC_k1_inverse
+function_AES_CMAC_k2:
+//call ice_break
+	arg mem_AES_CMAC_k1,contr
+	arg mem_AES_CMAC_k2,contw
+	call memcpy16
+	fetch 1,mem_AES_CMAC_k2
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k2_inverse,true		
+	call function_AES_CMAC_k2_inverse
+//p_function_f4_k2_xor:
+	arg mem_AES_CMAC_k2,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k2,contw
+//	arg 3,loopcnt
+//	branch xor_loop	
+
+
+//rb:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 87 
+function_AES_CMAC_xor_rb:
+	arg 3,loopcnt
+function_AES_CMAC_xor_rb_loop:	
+	arg 0,temp
+	call function_AES_CMAC_xor_loop_common	
+	increase 4,regc
+	loop  function_AES_CMAC_xor_rb_loop
+	arg 0x8700,temp
+	lshift16 temp,temp
+function_AES_CMAC_xor_loop_common:	
+	ifetch   4,regc
+	ixor  temp,pdata
+	istore   4,contw	
+	rtn
+		
+
+
+
+//input rega :length <16	contr,contw
+function_AES_CMAC_padding:
+	bpatchx patch3b_7,mem_patch3b
+	arg 16,loopcnt
+	arg 0,pdata
+function_AES_CMAC_padding_loop:
+	isub rega,null
+	branch function_AES_CMAC_padding_beq_length,zero
+	branch function_AES_CMAC_padding_big_length,positive
+	ifetcht 1,contr
+	istoret 1,contw
+function_AES_CMAC_padding_loop2:	
+	increase 1,pdata
+	loop function_AES_CMAC_padding_loop
+	rtn
+function_AES_CMAC_padding_beq_length:	
+	arg 0x80,temp
+function_AES_CMAC_padding_common:
+	istoret 1,contw
+	branch  function_AES_CMAC_padding_loop2
+
+function_AES_CMAC_padding_big_length:
+	arg 0,temp
+	branch function_AES_CMAC_padding_common
+
+	
+generate_kinit:
+	call function_e22
+	arg mem_input_store,contr
+	arg mem_kinit,contw		/* Kinit is ready */
+	branch memcpy16
+
+
+function_e21:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	arg mem_random_number,contr
+	arg mem_x,contw
+	force 15,loopcnt
+	call memcpy			
+	ifetch 1,contr
+	xor_into 6,pdata
+	istore 1,contw
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+	
+function_e22:		/* rega pointers to bdaddr */
+	fetcht 1,mem_pin_length
+	force 16,regb			/* total 16 bytes */
+	add temp,6,regc		/* regc is l' */
+	sub regc,16,null		
+	branch function_e22_pin_init,positive 
+	force 16,regc
+function_e22_pin_init:			/* generate x from pin and bdaddr */
+	arg mem_x,contw
+function_e22_genx_pin:
+	arg mem_pin,contr
+	copy temp,loopcnt
+	disable user
+function_e22_genx_loop:
+	ifetch 1,contr
+	istore 1,contw
+	increase -1,regb
+	branch function_e22_genx_end,zero
+	loop function_e22_genx_loop
+	branch function_e22_genx_pin,user
+	enable user
+	force 6,loopcnt
+	copy rega,contr
+	branch function_e22_genx_loop
+function_e22_genx_end:
+	arg mem_random_number,contr
+	arg mem_y,contw
+	call memcpy16
+	fetch 1,mem_y15
+	ixor regc,pdata
+	store 1,mem_y15	/* inpy[15] = rand_num[15]^l'; */
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+
+
+function_e1:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	branch function_hash
+
+function_e3:
+	arg mem_aco,rega
+	enable user
+	call function_expand
+	call function_hash
+	arg mem_input_store,contr
+	arg mem_kc,contw
+	branch memcpy16
+
+	/* costs 41769 clocks */
+function_hash:
+	setarg mem_random_number
+	store 2,memp_ar_input
+	setarg mem_link_key
+	store 2,memp_ar_key
+	set0 mark_ar2,mark
+	call function_ar
+	arg mem_input_store,rega
+	arg mem_random_number,regb
+	arg mem_x,contw
+	call xor16
+	arg mem_x,rega
+	arg mem_y,regb
+	copy regb,contw
+	enable user
+	call add16
+	call key_offset
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+	
+
+	/* totally costs 20700 clocks */
+function_ar:
+	jam 0,mem_ar_hround
+	fetch 2,memp_ar_key
+	iforce contr
+	arg mem_key_store,contw
+	call memcpy16
+	fetch 2,memp_ar_input
+	iforce contr
+	arg mem_input_store,contw
+	call memcpy16
+	
+function_ar_loop:
+	call key_scheduling
+	disable user
+	bmark0 mark_ar2,function_ar_original
+	fetch 1,mem_ar_hround
+	bne 4,function_ar_original
+	fetch 2,memp_ar_input
+	iforce regb
+	call xor_mod32_ar2
+function_ar_original:
+	call xor_mod32
+	call el_boxes
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+
+	call key_scheduling
+	enable user
+	call xor_mod32
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+	bne 16,function_ar_loop
+	call key_scheduling
+	disable user
+	branch xor_mod32
+	
+/* input round number and temp key in mem_key_store, and output the next temp key in mem_key_store */
+/* round key is generated and store in mem_round_key */
+key_scheduling:
+	fetch 1,mem_ar_hround
+	arg mem_key_store,contr
+	branch key_sched_zero,blank
+	iforce regb      			/* regb is half round */
+	force 17,loopcnt
+	copy contr,contw
+key_rotateloop:
+	ifetch 1,contr
+	lshift3 pdata,temp
+	rshift2 pdata,pdata
+	rshift3 pdata,pdata
+	ior temp,pdata
+	istore 1,contw
+	loop key_rotateloop
+	setarg mem_key_store
+	iadd regb,contr
+	force 16,loopcnt    
+	arg mem_round_key,contw
+key_select_octet_loop:
+	ifetch 1,contr
+	istore 1,contw
+	compare mem_key_store_end,contr,0xff
+	nbranch key_select_octet_nwrap,true
+	increase -17,contr
+key_select_octet_nwrap:
+	loop key_select_octet_loop
+	force 0,rega         /* rega is index of octet within row */
+	add regb,-1,regc    /* this is the row index, half_round#1 is 0 */
+	lshift2 regc,regc
+	lshift2 regc,regc
+	call enable_authrom
+	setarg mem_b_box
+	iadd regc,regc       /* regc hold the starting address of the row */
+	arg mem_round_key,contw
+	force 16,loopcnt
+bias_round_key_loop:
+	ifetcht 1,regc
+	ifetch 1,contw
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regc
+	loop bias_round_key_loop
+	branch disable_authrom
+
+key_sched_zero:    /* round 0, key1 */
+	force 16,loopcnt
+	force 0,temp
+create_byte_16_loop:
+	ifetch 1,contr
+	ixor temp,temp
+	loop create_byte_16_loop
+	deposit temp
+	istore 1,contr    	/* store the byte #16 */
+	arg mem_key_store,contr
+	arg mem_round_key,contw
+	branch memcpy16
+
+xor_mod32:     /* xor on 0,3, add on 1,2. if user is set, invert. x in rega and y in regb, out in contw */
+	arg mem_round_key,regb
+xor_mod32_ar2:
+	force 16,loopcnt
+	arg mem_input_store,rega
+	copy rega,contw
+xor_mod32_loop:	
+	ifetcht 1,rega
+	ifetch 1,regb
+	ixor temp,alarm
+	and loopcnt,3,regc
+	nbranch xor_mod32_invert,user
+	xor_into 3,regc
+xor_mod32_invert:
+	sub regc,1,regc
+	branch xor_even,positive
+	iadd temp,alarm
+xor_even:
+	deposit alarm
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xor_mod32_loop
+	rtn
+
+el_boxes:
+	call enable_authrom
+	force 16,loopcnt
+	arg mem_input_store,rega
+el_box_loop:	
+	ifetch 1,rega
+	arg mem_e_box,contr
+	and loopcnt,3,regc
+	sub regc,1,null
+	branch e_boxes,positive
+	arg mem_l_box,contr
+e_boxes:
+	iadd contr,contr
+	ifetch 1,contr
+	istore 1,rega
+	increase 1,rega
+	loop el_box_loop
+	branch disable_authrom
+
+pht:				
+	force 8,loopcnt
+	arg mem_input_store,contr
+	copy contr,contw
+pht_loop:
+	ifetch 1,contr
+	iforce rega
+	ifetch 1,contr
+	iforce regb
+	lshift rega,pdata
+	iadd regb,pdata
+	istore 1,contw
+	deposit rega
+	iadd regb,pdata
+	istore 1,contw
+	loop pht_loop
+	rtn
+
+/* 8 11 12 15 2 1 6 5 10 9 14 13 0 7 4 3 */
+permute:			
+	setarg 0x8ae42c
+	iforce temp
+	force 7,loopcnt
+	call permute_exchange
+	setarg 0xd751b
+	iforce temp
+	force 5,loopcnt
+	call permute_exchange
+	fetch 1,mem_input_store+15
+	iforce rega
+	fetch 1,mem_input_store+3
+	store 1,mem_input_store+15
+	deposit rega
+	store 1,mem_input_store+3
+	rtn
+
+permute_exchange:
+	and temp,0xf,regb
+permute_loop:
+	and temp,0xf,pdata
+	arg mem_input_store,contw
+	iadd contw,contw
+	ifetch 1,contw
+	iforce regc
+	deposit rega
+	istore 1,contw
+	copy regc,rega
+	rshift4 temp,temp
+	loop permute_loop	
+	setarg mem_input_store
+	iadd regb,contw
+	deposit rega
+	istore 1,contw
+	rtn
+
+add16:
+	enable user
+	branch xor_add16
+
+xor16:
+	disable user
+xor_add16:	/* if user is set, do add, else do xor */
+	force 16,loopcnt	/* rega and regb pointers to src, contw is result */
+xoradd_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	branch xoradd_add,user
+	ixor temp,pdata
+	branch xoradd_store
+xoradd_add:	
+	iadd temp,pdata
+xoradd_store:	
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xoradd_loop
+	rtn
+
+	
+function_expand:		/* rega pointers to bdaddr, or aco and user is set */
+	arg mem_y,contw
+	ifetch 6,rega
+	istore 6,contw
+	branch expand_12,user
+	ifetch 6,rega
+	branch expand_cont
+expand_12:
+	ifetch 6,contr
+expand_cont:
+	istore 6,contw
+	ifetch 4,rega
+	istore 4,contw
+	rtn
+
+key_offset:
+	arg mem_link_key,contr
+	arg mem_x,contw
+	arg 0,temp
+	setarg 0x8395a7
+	call concatenate_temp24
+	setarg 0xb3c1df
+	call concatenate_temp24
+	setarg 0xe5e9
+	call concatenate_temp16
+	copy temp,regab
+	disable user
+	call key_addxor
+	copy regab,temp
+	enable user
+	branch key_addxor
+
+key_addxor:
+	force 8,loopcnt
+key_addxor_loop:	
+	ifetch 1,contr
+	compare 1,loopcnt,1
+	branch key_high,user
+	branch key_xor,true
+key_add:	
+	iadd temp,pdata
+	branch key_store
+key_high:
+	branch key_add,true
+key_xor:
+	ixor temp,pdata
+key_store:
+	istore 1,contw
+	rshift8 temp,temp
+	loop key_addxor_loop
+	rtn
+
+copy_aco:
+	fetch 6,mem_input_store+4
+	store 6,mem_aco
+	ifetch 6,contr
+	istore 6,contw
+	rtn
+	
+concatenate_temp24:
+	lshift8 temp,temp
+concatenate_temp16:
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+
+
+loop1:	
+	branch loop1
+
+/* ==================== LE security ================= */
+
+generate_stk:
+	bpatchx patch3c_0,mem_patch3c
+	call function_s1
+	arg mem_le_ltk,contw
+	branch store_aes_result
+
+	/* contr = rand pointer */
+authenticate_rconfirm:
+	arg mem_le_srand,contw
+	branch authenticate_mconfirm,master
+	arg mem_le_mrand,contw
+authenticate_mconfirm:
+	copy contr,rega
+	call memcpy16
+	call function_c1
+	arg mem_le_rconfirm,contr
+	branch compare_res
+
+generate_confirm:
+	arg mem_le_mrand,rega
+	branch generate_mrand,master
+	arg mem_le_srand,rega
+generate_mrand:
+	copy rega,contw
+	call generate_random
+	branch function_c1
+
+generate_sk:
+	arg mem_le_skdm,contr
+	call load_data128
+	arg mem_le_ltk,contr
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_sk,contw
+	branch store_aes_result
+
+	/* temp=packet counter, rega = length or block counter*/
+first_block_counter:
+	force 0x49,pdata
+	branch first_block
+first_block_data:
+	force 1,pdata
+first_block:
+	force regidx_data,regext_index			/* B0 */
+	lshift8 temp,regext
+	ior regext,regext
+	increase 1,regext_index
+	rshift8 temp,regext
+	rshift16 regext,regext
+	fetch 2,mem_le_ivm
+	lshift16,pdata,pdata
+	ior regext,regext				/* octet3&octet4 of counter and low 16 bit of IV */
+	increase 1,regext_index
+	ifetch 4,contr					/* IV2-IV5 */
+	iforce regext
+	increase 1,regext_index
+	ifetch 2,contr					/* IV6-IV7 */
+	byteswap rega,regext
+	lshift16 regext,regext
+	ior regext,regext
+	increase 1,regext_index
+	rtn
+
+
+	/* temp=packet counter, regc pointers to data */	
+generate_mic:
+	add regc,1,contr
+	ifetch 1,contr
+	iforce rega
+	call first_block_counter
+	call do_aes_ocb
+
+	force regidx_data,regext_index			/* B1 */
+	ifetch 1,regc
+	and_into 0x3,pdata
+	lshift16 pdata,regext
+	set1 8,regext
+	call clear_hidata
+	call do_aes_cbc
+
+	copy rega,loopcnt
+	add regc,2,contr
+	call padding_data
+generate_mic_loop:
+	call aes_load_data
+	call do_aes_cbc
+	deposit loopcnt
+	branch generate_mic_end,blank
+	branch generate_mic_loop
+generate_mic_end:
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_mic
+	rtn
+
+aes_crypt_data:
+	increase 1,rega
+	call first_block_data
+	copy regc,contr
+	call aes_load_xor
+	call do_aes_ctr
+	call store_enc_data
+	increase 16,regc
+	increase -16,regb
+	branch aes_crypt_data,positive
+	rtn
+	
+le_encrypt:
+	bpatchx patch3c_1,mem_patch3c
+	arg mem_le_txheader,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	call first_block_data
+	call do_aes_ctr
+	arg mem_le_txpayload,regc
+	fetch 1,mem_le_txlen
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	deposit regext
+	istore 4,contw	
+	call aes_crypt_data
+	fetch 1,mem_le_txlen
+	increase 4,pdata
+	store 1,mem_le_txlen
+	fetcht 5,mem_le_pcnt_tx
+	increase 1,temp
+	storet 5,mem_le_pcnt_tx
+	rtn
+
+le_decrypt:
+	bpatchx patch3c_2,mem_patch3c
+	fetch 1,mem_le_rxbuf+1
+	sub pdata,20,null
+	branch le_dec_cont,positive
+le_dec_cont:
+	arg mem_le_rxbuf+2,regc
+	add pdata,-1,regb
+	increase -4,pdata				/* mic will be discarded */
+	store 1,mem_le_rxbuf+1
+	iadd regc,contr
+	ifetch 4,contr
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	fetcht 5,mem_le_pcnt_rx
+	call first_block_data
+	call do_aes_ctr
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_peer_mic
+	call aes_crypt_data
+	arg mem_le_rxbuf,regc
+	call generate_mic
+	fetcht 4,mem_le_peer_mic
+	isub temp,pdata				/* MIC ok? */
+	nrtn blank
+	fetch 4,mem_le_last_mic			/* reduntdant packet? */
+	isub temp,pdata
+	rtn blank
+	storet 4,mem_le_last_mic
+	fetch 5,mem_le_pcnt_rx
+	increase 1,pdata
+	store 5,mem_le_pcnt_rx
+	force 0,pdata
+	rtn
+
+wait_aes:
+	nbranch wait_aes,aes_ready
+	rtn
+
+do_aes_ocb:
+	force 0x30,aes_ctrl
+	force 0x0,aes_ctrl
+	branch wait_aes
+
+do_aes_cbc:
+	force 0x32,aes_ctrl
+	force 0x2,aes_ctrl
+	branch wait_aes
+
+do_aes_ctr:
+	force 0x34,aes_ctrl
+	force 0x4,aes_ctrl
+	branch wait_aes
+
+	
+aes_init:
+	force 1,aes_ctrl
+	force 0,aes_ctrl
+	rtn
+function_s1:
+	force regidx_data,regext_index
+	fetch 4,mem_le_mrand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	fetch 4,mem_le_srand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	call aes_clear
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+	/* rega pointers to random number */
+function_c1:
+	bpatchx patch3c_3,mem_patch3c
+	fetch 6,mem_le_lap
+	fetcht 6,mem_le_plap
+	branch function_c1_master,master
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_lap
+function_c1_master:
+	force regidx_xor,regext_index
+	copy temp,regext
+	increase 1,regext_index
+	rshift32 temp,regext
+	lshift16 pdata,pdata
+	ior regext,regext
+	increase 1,regext_index
+	rshift32 pdata,regext
+	increase 1,regext_index
+	force 0,regext					/* p2 = ia || ra */
+	force 0,pdata
+	fetch 1,mem_le_conn_peer_addr_type
+	fetcht 1,mem_le_adv_own_addr_type
+	nbranch function_c1_irat,master
+	//conn as master
+	fetch 1,mem_le_conn_own_addr_type
+	fetcht 1,mem_le_conn_peer_addr_type
+function_c1_irat:
+	store 1,mem_le_iat
+	storet 1,mem_le_rat
+	force regidx_data,regext_index
+	arg mem_le_iat,regb
+	force 4,loopcnt
+function_c1_loop1:
+	ifetch 4,rega		
+	ifetcht 4,regb
+	ixor temp,regext
+	increase 1,regext_index
+	increase 4,rega
+	increase 4,regb
+	loop function_c1_loop1		/* p1 ^ r */
+	call aes_clear				/* k = 0 */
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0xc,aes_ctrl
+	call wait_aes
+
+	call aes_clear_data
+	force 0x3a,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+padding_data:
+	compare 0,loopcnt,3
+	rtn true
+	deposit contr
+	iadd loopcnt,contw
+	force 0,pdata
+padding_loop:
+	istore 1,contw
+	increase 1,loopcnt
+	compare 0,loopcnt,3
+	rtn true
+	branch padding_loop
+
+aes_load_data:
+	force regidx_data,regext_index
+load_data_loop:
+	deposit loopcnt
+	branch load_data_padding,blank
+	ifetch 4,contr
+	increase -4,loopcnt
+load_data_padding:
+	iforce regext
+	increase 1,regext_index
+	compare regidx_key,regext_index,0xf
+	rtn true
+	branch load_data_loop
+
+aes_load_xor:
+	force regidx_xor,regext_index
+	branch load_regext
+load_key:
+	force regidx_key,regext_index
+	branch load_regext
+load_data128:
+	force regidx_data,regext_index
+load_regext:
+	force 4,loopcnt
+load_regext_loop:
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop load_regext_loop
+	rtn
+
+load_sk:
+	arg mem_le_sk,contr
+	branch load_key
+
+clear_hidata:
+	force 4,loopcnt
+	branch clear_data_rest
+
+aes_clear_data:
+	force regidx_data,regext_index
+aes_clear:
+	force 4,loopcnt
+clear_loop:
+	force 0,regext
+clear_data_rest:
+	increase 1,regext_index
+	loop clear_loop
+	rtn
+
+store_aes_result:
+	force regidx_result,regext_index
+	force 4,loopcnt
+send_aes_result_loop:
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	loop send_aes_result_loop
+	rtn
+
+store_enc_data:
+	force regidx_result,regext_index
+	copy regc,contw
+	add regb,1,loopcnt
+	sub loopcnt,15,null
+	branch store_enc_loop,positive
+	force 16,loopcnt
+store_enc_loop:
+	deposit regext
+	sub loopcnt,3,null
+	branch store_enc_byte,positive
+	istore 4,contw
+	increase -4,loopcnt
+	rtn zero
+	increase 1,regext_index
+	branch store_enc_loop
+store_enc_byte:
+	istore 1,contw
+	rshift8 pdata,pdata
+	loop store_enc_byte
+	rtn
+	
+	/* contr pointers to value to be compared */
+compare_res:
+	force regidx_result,regext_index
+	force 4,loopcnt
+compare_res_loop:
+	ifetch 4,contr
+	isub regext,null
+	nrtn zero
+	increase 1,regext_index
+	loop compare_res_loop
+	force 0,null
+	rtn
+
+enable_authrom:
+	hfetch 1,core_clkoff
+	set0 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+disable_authrom:
+	hfetch 1,core_clkoff
+	set1 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+init_memp:
+	arg mem_p,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3fbff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3cfff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffef
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x26c7f
+	setsect 2,0x146b
+	setsect 3,0x37bb3
+	istore 9,contw
+	setsect 0,0x1feb8
+	setsect 1,0x10c12
+	setsect 2,0x2b722
+	setsect 3,0x29fa6
+	istore 9,contw
+	setsect 0,0xe70f
+	setsect 1,0x16720
+	setsect 2,0x519e
+	setsect 3,0x19084
+	istore 9,contw
+	setsect 0,0x31012
+	setsect 1,0x360bf
+	setsect 2,0x3f0af
+	setsect 3,0x3d3
+	istore 9,contw
+	setsect 0,0x3a188
+	setsect 1,0x3ad0
+	setsect 2,0x3cbf2
+	setsect 3,0x243d9
+	istore 9,contw
+	setsect 0,0x2b030
+	setsect 1,0x36a03
+	setsect 2,0x11188
+	setsect 3,0x1e520
+	istore 9,contw
+	setsect 0,0x3a11e
+	setsect 1,0xfe5d
+	setsect 2,0xdd57
+	setsect 3,0x1ac93
+	istore 9,contw
+	setsect 0,0x11ed
+	setsect 1,0x218c4
+	setsect 2,0x8da7
+	setsect 3,0x257ff
+	istore 9,contw
+	setsect 0,0x3192b
+	setsect 1,0x34641
+	setsect 2,0x1be0c
+	setsect 3,0x366ad
+	istore 9,contw
+	setsect 0,0x1f83
+	setsect 1,0x15a23
+	setsect 2,0x3f9b0
+	setsect 3,0x3949
+	istore 9,contw
+	setsect 0,0x13a51
+	setsect 1,0x153fd
+	setsect 2,0x3372a
+	setsect 3,0xf1bb
+	istore 9,contw
+	setsect 0,0x3ae85
+	setsect 1,0x1eed9
+	setsect 2,0x9e66
+	setsect 3,0x1a8
+	istore 8,contw
+	rtn
+	
+
+
+init_memp_256:
+ 	arg mem_p_256,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3f
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x1000
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x3ff00
+        setsect 1,0x3ffff
+        setsect 2,0x3ffcf
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ff
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x10000
+        setsect 1,0x0
+        setsect 2,0x3f000
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x296ff
+        setsect 1,0x22630
+        setsect 2,0x3945d
+        setsect 3,0x3d284
+        istore 9,contw
+        setsect 0,0x333a0
+        setsect 1,0x4b7a
+        setsect 2,0x37d8
+        setsect 3,0x3c9dc
+        istore 9,contw
+        setsect 0,0x3a440
+        setsect 1,0x1b958
+        setsect 2,0x38bce
+        setsect 3,0x1091f
+        istore 9,contw
+        setsect 0,0x2e12c
+        setsect 1,0x1f47c
+        setsect 2,0x356b1
+        setsect 3,0x2fd47
+        istore 9,contw
+        setsect 0,0x6837
+        setsect 1,0x2ed90
+        setsect 2,0x1ecec
+        setsect 3,0x1acc5
+        istore 9,contw
+        setsect 0,0x23357
+        setsect 1,0x18af3
+        setsect 2,0xf9e1
+        setsect 3,0x129f0
+        istore 9,contw
+        setsect 0,0x2e7eb
+        setsect 1,0x3e6e3
+        setsect 2,0x3e1a7
+        setsect 3,0x10b8b
+        istore 9,contw
+        setsect 0,0x24fe3
+        setsect 1,0x20ef
+        setsect 2,0x1b5a6
+        setsect 3,0xdc2f
+        istore 9,contw
+        setsect 0,0x13860
+        setsect 1,0x2bd69
+        setsect 2,0x391a
+        setsect 3,0x1b222
+        istore 9,contw
+        rtn
+
+
+publickey_init:
+	fetch 1,mem_ssp_enable
+	nbranch sp_initialize,blank
+	branch sp_initialize_256
+
+sp_calc_sequence_256_check:
+	bpatchx patch3c_4,mem_patch3c
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_local_key_invalid
+	rtneq SP_KEY_VALID_256
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,stop_publickey_calc_256
+	fetch 1,mem_le_sc_calc
+	beq SP_CALC_STANDBY,sp_initialize_256
+	rtn
+stop_publickey_calc_256:
+	jam SP_CALC_STANDBY,mem_le_sc_calc	
+	rtn
+	
+
+sp_initialize:
+	bpatchx patch3c_5,mem_patch3c
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable, blank
+	call ssp_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc 
+	
+sp_clear_flags:
+	setarg 0
+	store 8,mem_sp_state_start
+	store 4,mem_sp_flag_start
+	store 7,mem_sp_iocap_remote
+	rtn
+
+sp_generate_local_key:
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	branch sp_generate_local_key0
+sp_master_generate_local_key:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_dhkey_calc
+	branch assert
+sp_generate_local_key0:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_start_send_pubkey
+	branch sp_pubkey_calc
+    
+sp_start_send_pubkey:
+	call sp_dhkey_calc
+	fetch 1,mem_master_sp_state
+	nrtn blank
+	jam SP_STAT_KEY_SEND,mem_sp_state
+	rtn
+
+
+sp_calc_check_publickey_256:
+	call sp_calc_b256
+	arg mem_le_pubkey_remote_y_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256   
+	arg mem_le_pubkey_remote_x_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256   
+  	arg mem_t2_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256	 
+	arg 32,loopcnt
+  	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b256:
+	arg mem_gy_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256   
+	arg mem_gx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256    
+  	arg mem_t2_256,regA
+	arg mem_gx_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_gx_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod_256	
+	
+sp_calc_check_publickey:
+	call sp_calc_b
+	arg mem_sp_pubkey_remote_y,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod 
+	arg mem_sp_pubkey_remote_x,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+  	arg mem_a,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod	 
+ 	arg 24,loopcnt
+ 	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b:
+	arg mem_gy,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod   
+	arg mem_gx,regA
+	arg mem_t2_256,contw
+  	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_gx,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+	arg mem_a,regA
+	arg mem_gx,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod	
+
+   
+sp_calculate_commitment:
+	fetch 1,mem_sp_calc
+	bne SP_CALC_STANDBY,sp_calculate_commitment_wait_dhkey_calc
+	call sp_local_random_key_generator
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	branch sp_calculate_commitment0
+master_sp_calculate_commitment:
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+sp_calculate_commitment0:
+	call function_f1
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment0
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam SP_STAT_COMMIT_SEND,mem_sp_state
+	rtn
+master_sp_calculate_commitment0:
+	jam SP_STAT_COMMITMENT_COMPARE,mem_master_sp_state
+	call sp_master_generate_local_key
+	branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+	arg mem_sp_random_local,contw
+	force 8,queue
+	branch random_generator
+  
+sp_calculate_commitment_wait_dhkey_calc:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+    
+sp_confirm_check:
+    /* calculate Ea here */
+	bpatchx patch3c_6,mem_patch3c
+	arg      mem_addr_value,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_remote
+	istore   3,contw 
+
+	call     function_f3a
+
+	arg      mem_sp_calc_result_high,regA
+	arg      mem_sp_check_result,regB    
+	force    4,queue 
+	call     compare4
+	nbranch  sp_confirm_check_failed,true  
+
+	call sp_confirm_check_success
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch tid_set_reply
+    
+sp_confirm_check_success:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_success_master
+	jam SP_STAT_CONFIRM_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+sp_confirm_check_success_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam SP_STATE_END,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+	//accept opcode?
+	
+sp_confirm_check_failed:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_failed_master
+	jam SP_STAT_NULL,mem_sp_state
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	//accept opcode?
+	jam      AUTHENTICATION_FAILURE_ERROR,mem_lmo_reason2 
+	rtn
+sp_confirm_check_failed_master:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam SP_STAT_NULL,mem_master_sp_state
+	rtn
+    
+sp_confirm_calc:
+	fetch 1,mem_sp_dh_ready
+	beq SP_FLAG_COMMIT, sp_confirm_calc_ready
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+sp_confirm_calc_ready:
+	arg      mem_addr_value,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_local
+	istore   3,contw 
+
+	call     function_f3b
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc_master
+	jam      SP_STAT_CONFIRM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+sp_confirm_calc_master:
+	jam      SP_STAT_CONFIRM_SEND,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn   
+
+sp_master_key_prarm_push:
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	branch sp_link_key_calc
+sp_link_key_prarm_push:
+	jam      SP_STAT_DONE,mem_sp_state    
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+sp_link_key_calc:
+    /*calculate Link key here */
+	arg      mem_addr_value,contw
+	fetch    6,mem_sp_prarm_stack
+	istore   6,contw
+	fetch    6,mem_sp_prarm_stack+6
+	istore   6,contw
+	
+	call     function_f2    
+
+	/*handle linkkey  */
+	jam 1,mem_link_key_exists
+	arg mem_link_key,contw
+	arg mem_sp_calc_result_high,contr
+	call memcpy16
+	branch  generate_linkkey_continue
+
+    
+sp_pubkey_calc:
+	bpatchx patch3c_7,mem_patch3c
+	fetch    1,mem_sp_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+	arg      mem_sp_private_key,contw 
+	force    11,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+/* we don't need fixed private key,generate random key instead */ 
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24 //mem_sp_private_key=>mem_k 24BYTES
+
+	arg      mem_ax,contw
+	arg      mem_gx,contr
+	call     memcpy48 //mem_gx=>mem_ax 48bytes
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az //0=>mem_az 24bytes
+
+	call     eckp_calc_init
+	jam SP_CALC_PUBKEY,mem_sp_calc
+	rtn    
+	
+sp_pubkey_generated:
+	arg      mem_sp_pubkey_local,contw
+	arg      mem_bx,contr
+	call     memcpy48   
+	jam      SP_KEY_VALID,mem_sp_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+sp_dhkey_calc:
+	bpatchx patch3d_0,mem_patch3d
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24
+
+	arg      mem_ax,contw
+	arg      mem_sp_pubkey_remote,contr
+	call     memcpy48
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az
+
+	call     eckp_calc_init
+	jam      SP_CALC_DHKEY,mem_sp_calc
+	rtn 	
+	
+sp_dhkey_generated:
+	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_sp_dhkey,contw
+	arg mem_bx,contr
+	call memcpy24
+	jam SP_KEY_VALID,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+random_generator:
+	increase -1,queue
+	nrtn     positive
+	random   pdata
+	istore   2,contw  
+	branch   random_generator
+compare4:
+	increase -1,queue
+	nbranch  compare4_success,positive
+	ifetch   4,regA
+	copy     pdata,temp
+	ifetch   4,regB
+	iflip    temp,pdata
+	nbranch  compare4_failed,zero
+	increase 4,regA
+	increase 4,regB
+	branch   compare4
+compare4_failed:
+	disable  true
+	rtn
+compare4_success:
+	enable   true
+	rtn
+
+/*************************************************/
+/** Message state machine routines ***************/
+/*************************************************/
+// simple pairing support 
+
+simple_pairing_sequence:
+	bpatchx patch3d_1,mem_patch3d
+         fetch 1,mem_sp_flag
+         rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam      SP_FLAG_STANDBY,mem_sp_flag
+	fetch    1,mem_sp_state
+	beq  SP_STAT_KEY_SEND,sp_send_LMP_ENCAPSULATED_HEADER
+	beq  SP_STAT_COMMIT_SEND,sp_send_LMP_SIMPLE_PAIRING_COMFIRM
+	beq  SP_STAT_RANDOM_SEND,sp_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq  SP_STAT_CONFIRM_SEND,sp_send_LMP_DHKEY_CHECK
+	beq  SP_STAT_KEY_GENERATE,sp_generate_local_key
+	beq  SP_STAT_COMMIT_CALC,sp_calculate_commitment
+	beq  SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq  SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq  SP_STAT_LINK_KEY_CALC,sp_link_key_prarm_push
+	//beq  SP_STAT_FEATURE_EXT_SEND,send_LMP_FEATURES_REQ_EXT
+	rtn  
+
+master_simple_paring_sequence:
+	bpatchx patch3d_2,mem_patch3d
+	fetch 1,mem_master_sp_flag
+	rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	fetch 1,mem_master_sp_state
+	beq SP_MASTER_STAT_START_SKIP,sp_master_send_io_cap_get
+	beq SP_MASTER_STAT_START_DONE,sp_master_send_io_cap_send
+	beq SP_STAT_KEY_SEND,sp_master_send_LMP_ENCAPSULATED_HEADER
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment
+	beq SP_STAT_COMMITMENT_COMPARE,sp_master_commitment_compare
+	beq SP_STAT_RANDOM_SEND,sp_master_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq SP_STAT_CONFIRM_SEND,master_sp_send_lmp_dhkey_check
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq SP_STATE_END,master_sp_sm_end
+	rtn
+
+master_set_mem_master_sp_flag:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn
+	
+master_clear_mem_master_sp_flag:
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	rtn
+sp_calc_sequence:
+	bpatchx patch3d_3,mem_patch3d
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_sp_calc
+	rtnbit1 7
+	fetch    1,mem_ec_loopc
+	branch   sp_calc_sequence_done,blank
+	branch   eckp_calc
+
+sp_calc_sequence_done:    
+	call ecunmapz
+	fetch 1,mem_sp_calc
+	beq  SP_CALC_PUBKEY,sp_pubkey_generated
+	beq  SP_CALC_DHKEY,sp_dhkey_generated
+	rtn
+
+
+bn_testbit:
+	and pdata,7,queue
+	rshift3 pdata,pdata
+	iadd contr,contr
+	ifetch 1,contr
+	qisolate0 pdata
+	rtn
+
+
+ec_copy:
+	call memcpy24
+	call memcpy24
+	branch memcpy24
+	
+	
+bn_eq_zero:
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	rtn
+	
+	
+	/* return zero if eq */
+
+bn_eq_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	isub temp,null
+	nrtn zero
+	increase 4,regA
+	increase 4,regB
+	loop bn_eq_0
+	rtn
+
+	/* return positive if A >= B */
+bn_bigeq:
+	force 6,loopcnt
+	increase 20,regA
+	increase 20,regB
+bn_bigeq_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	nrtn positive
+	nrtn blank
+	increase -4,regA
+	increase -4,regB
+	loop bn_bigeq_0
+	rtn
+
+bn_add:
+	force 6,loopcnt
+	force 0,regC
+bn_add_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	iadd temp,pdata
+	iadd regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_add_0
+	rtn
+
+bn_sub:
+	force 6,loopcnt
+	force 0,regC
+bn_sub_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	isub regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_sub_0
+	rtn
+
+bn_rshift6:
+	force 6,loopcnt
+	increase 20,regA
+bn_rshift:
+	force 0,regC
+bn_rshift_0:	
+	ifetch 4,regA
+	isolate1 0,pdata
+	setflag true,1,regC
+	rshift pdata,pdata
+	isolate1 0,regC
+	setflag true,31,pdata
+	istore 4,regA
+	increase -4,regA
+	rshift regC,regC
+	loop bn_rshift_0
+	rtn
+
+bn_lshift:
+	force 6,loopcnt
+	force 0,regC
+bn_lshift_0:	
+	ifetch 4,regA
+	isolate1 31,pdata
+	setflag true,1,regC
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata
+	istore 4,regA
+	increase 4,regA
+	rshift regC,regC
+	loop bn_lshift_0
+	rtn
+	
+bn_lshiftmod:
+	call bn_lshift
+bn_lshiftmod_ismod:	
+	isolate1 0,regC
+	branch bn_lshiftmod_0,true
+	arg mem_p,regB
+	copy regA,regC
+	increase -24,regA
+	call bn_bigeq
+	nrtn positive
+	copy regC,regA
+bn_lshiftmod_0:
+	increase -24,regA
+	arg mem_p,regB
+	copy regA,contw
+	branch bn_sub
+	
+
+bn_addmod:
+	call bn_add
+	copy contw,regA
+	branch bn_lshiftmod_ismod
+	
+bn_submod:
+	call bn_sub
+	isolate0 0,regC
+	rtn true
+	arg mem_p,regB
+	add contw,-24,regA
+	copy regA,contw
+	branch bn_add
+	
+
+bn_p192mod:
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2,regB
+	copy regB,contw
+	add regA,24,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	force 0,pdata
+	istore 8,contw
+	copy timeup,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	force 0,pdata
+	istore 8,contw
+	add alarm,32,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	add alarm,40,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	branch bn_addmod
+		
+
+bn_load:
+	force 6,loopcnt
+bn_load_0:	
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop bn_load_0
+	rtn
+
+
+	/* cost 1562 clks */	
+bn_mulmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp1,contw
+	call bn_zero
+	arg mem_tmp1,contw
+	copy regA,contr
+	force 0,regext_index
+	call bn_load
+	copy regB,contr
+	call bn_load
+	force 0,regB
+bn_mulmod_1:	
+	force 0,temp
+	force 6,regC
+bn_mulmod_0:
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+	copy regB,regext_index
+	deposit regext
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 12,regC,0xff
+	nbranch bn_mulmod_0,true
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -24,contw
+	increase 1,regB
+	compare 6,regB,0xff
+	nbranch bn_mulmod_1,true
+	arg mem_tmp1,regA
+	copy timeup,contw
+	branch bn_p192mod
+
+	
+bn_sqrmod:
+	copy regA,regB
+	branch bn_mulmod
+
+bn_rshifteven:
+	copy regA,alarm
+bn_rshifteven_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift6
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_0,true
+	arg mem_p,regA
+	copy regB,contw
+	call bn_add
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						/* [6] */
+	increase -24,regB
+bn_rshifteven_0:
+	add regB,24,regA
+	force 7,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_1
+
+	/* cost 141910 clks */
+bn_invmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp0,contw				/* x */
+	call bn_zero
+	force 0,pdata
+	store 4,mem_tmp5
+	store 4,mem_t2
+	jam 1,mem_tmp0
+	arg mem_tmp1,contw				/* y */
+	call bn_zero
+	arg mem_p,contr
+	arg mem_tmp2,contw				/* a */
+	call memcpy24
+	copy regA,contr
+	arg mem_tmp3,contw				/* b */
+	call memcpy24
+bn_invmod_2:	
+	arg mem_tmp3,contr
+	call bn_eq_zero
+	branch bn_invmod_0,blank
+	arg mem_tmp3,regA
+	arg mem_tmp0,regB
+	call bn_rshifteven
+
+	arg mem_tmp2,regA
+	arg mem_tmp1,regB
+	call bn_rshifteven
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	call bn_bigeq
+	branch bn_invmod_1,positive
+	arg mem_tmp2,regA
+	arg mem_tmp3,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_1:
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp1,regA
+	arg mem_tmp0,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_0:
+	arg mem_tmp0,contw
+	call bn_zero
+	fetch 1,mem_tmp5
+	store 1,mem_tmp0
+	store 1,mem_tmp0a
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_addmod
+	arg mem_p,regA
+	arg mem_tmp1,regB
+	copy timeup,contw
+	branch bn_submod
+	
+
+
+	/* cost 64742 clks */
+ecdbl:
+	arg mem_cz,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_a,regA
+	arg mem_t3,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=a*z4	*/
+	arg mem_cx,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_t2,contw
+	call bn_addmod
+	arg mem_t2,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_addmod		/* t2=3*x2 + z*z4		D  */
+	arg mem_cx,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_cy,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA		
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=4x*y2	B	*/
+	arg mem_t3,regA
+	arg mem_t0,contw
+	call bn_sqrmod
+	arg mem_t0,regA
+	call bn_lshiftmod
+	arg mem_t0,regA
+	call bn_lshiftmod		
+	arg mem_t0,regA		
+	call bn_lshiftmod		/* t0=8*y4		C */
+	arg mem_cy,contr
+	arg mem_t3,contw
+	call memcpy24
+	arg mem_t3,regA
+	call bn_lshiftmod
+	arg mem_t3,regA
+	arg mem_cz,regB
+	arg mem_cz,contw
+	call bn_mulmod		
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_cx,contw
+	call bn_submod
+	arg mem_t1,regA
+	arg mem_cx,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t3,contw
+	call bn_mulmod		
+	arg mem_t3,regA
+	arg mem_t0,regB
+	arg mem_cy,contw
+	branch bn_submod
+	
+
+	/* cost 104904	clks */
+ecadd:
+	arg mem_az,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_cx,regA
+	arg mem_t7,regB
+	arg mem_t0,contw
+	call bn_mulmod		/* n1=t0=xa*zb2  */
+	arg mem_az,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_cy,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* n2=t1=ya*zb3 */
+	arg mem_cz,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_ax,regA
+	arg mem_t7,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* n3=t2=xb*za2 */
+	arg mem_cz,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_ay,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* n4=t3=yb*za3 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t7,contw
+	call bn_submod		/* n5=t7=n1-n3=t0-t2 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t0,contw
+	call bn_addmod		/* n7=t0=n1+n3=t0+t2 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_submod		/* n6=t2=n2-n4=t1-t3 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_addmod		/* n8=t1=n2+n4=t1+t3 */
+	arg mem_t1,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5 */
+	arg mem_cz,regA
+	arg mem_az,regB
+	arg mem_t3,contw
+	call bn_mulmod	
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_cz,contw
+	call bn_mulmod		/* z=za*zb*n5 */
+	arg mem_t7,regA
+	arg mem_t7,contw
+	call bn_sqrmod		/* t7=n5^2 */
+	arg mem_t7,regA
+	arg mem_t0,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=n5^2*n7 */
+	arg mem_t7,regA
+	arg mem_t1,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5^3 */
+	arg mem_t2,regA
+	arg mem_cx,contw
+	call bn_sqrmod		
+	arg mem_cx,regA
+	arg mem_t3,regB
+	arg mem_cx,contw
+	call bn_submod		/* x=n6^2-n5^2*n7 */
+	arg mem_cx,contr
+	arg mem_t7,contw
+	call memcpy24
+	arg mem_t7,regA
+	call bn_lshiftmod		/* t7=2*x */
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_submod		/* t3=n9 */
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* t2=n9*n6 */
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_cy,contw
+	call bn_submod	
+	arg mem_cy,regA
+	arg mem_p,regB
+	arg mem_cy,contw
+	force 0,regC
+	fetch 1,mem_cy
+	isolate1 0,pdata
+	call bn_add,true
+	copy regC,alarm
+	arg mem_cy,regA
+	call bn_rshift6
+	fetch 1,mem_cy5
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5
+	rtn
+
+	/* cost 22276983 clks */
+
+eckp_0:	
+	fetch 1,mem_ec_loopc
+	increase -1,pdata
+	nrtn positive
+	store 1,mem_ec_loopc
+	fetch 1,mem_ec_infinite
+	call ecdbl,blank
+	fetch 1,mem_ec_loopc
+	arg mem_k,contr
+	call bn_testbit
+	branch eckp_0,true
+	fetch 1,mem_ec_infinite
+	nbranch eckp_1,blank
+	call ecadd
+	branch eckp_0
+eckp_1:
+	jam 0,mem_ec_infinite
+	arg mem_ax,contr
+	arg mem_cx,contw
+	call ec_copy
+	branch eckp_0
+
+	/* cost 162522 clks */
+ecunmapz:
+	arg mem_cz,regA
+	arg mem_t3,contw
+	call bn_invmod			/* t3 = 1/z */
+	arg mem_t3,regA
+	arg mem_t1,contw		
+	call bn_sqrmod			/* t1 = 1/z2 */
+	arg mem_cx,regA
+	arg mem_t1,regB
+	arg mem_bx,contw
+	call bn_mulmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t2,contw			
+	call bn_mulmod			/* t2 = 1/z3 */
+	arg mem_cy,regA
+	arg mem_t2,regB
+	arg mem_by,contw
+	branch bn_mulmod		
+	
+	
+
+sha_endian_swap2:	
+	ifetch 4,contr
+	force 4,regA
+	increase 3,contw
+sha_endian_loop:	
+	istore 1,contw
+	rshift8 pdata,pdata
+	increase -2,contw
+	increase -1,regA
+	nbranch sha_endian_loop,zero
+	increase 5,contw
+	loop sha_endian_swap2
+	rtn	
+
+
+sha_getw:
+	lshift2 queue,pdata
+	iadd timeup,contr
+	ifetch 4,contr
+	rtn
+	
+sha_r:
+	force 16,alarm
+	arg memdat,timeup
+sha_r_loop:	
+	add alarm,-7,queue
+	call sha_getw
+	iforce temp						/* W[t - 7] */
+	add alarm,-16,queue
+	call sha_getw
+	iadd temp,temp					/* W[t-7] + W[t-16] */
+	add alarm,-2,queue
+	call sha_getw
+	shasx pdata,1,pdata
+	iadd temp,temp					/* S1(W[t -  2]) + W[t-7] + W[t-16] */
+	add alarm,-15,queue
+	call sha_getw
+	shasx pdata,0,pdata
+	iadd temp,temp					/* S0(W[t - 15]) + S1(W[t -  2]) + W[t-7] + W[t-16] */
+	lshift2 alarm,pdata
+	iadd timeup,contw
+	istoret 4,contw
+	increase 1,alarm
+	compare 64,alarm,0xff
+	nbranch sha_r_loop,true
+	rtn
+	
+
+sha_init:
+	arg memh0,contr
+	force 7,regext_index
+sha_init_0:	
+	ifetch 4,contr
+	iforce regext
+	increase -1,regext_index
+	branch sha_init_0,positive
+	rtn
+
+sha:
+	bpatchx patch3d_4,mem_patch3d
+	call sha_r		/* preprocessing data into R() */
+	arg memahbak,contw
+	force 0,regext_index
+sha_0:	
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_0,true
+	call enable_authrom
+	arg memk,timeup
+	arg memdat,alarm
+	force 64,loopcnt
+sha_loop:	
+	ifetcht 4,alarm
+	ifetch 4,timeup
+	increase 4,timeup
+	increase 4,alarm
+	iadd temp,pdata			/* x+K */
+	force 7,regext_index
+	iadd regext,temp			/* x+K+h */
+	force 4,regext_index
+	shasx regext,3,pdata
+	iadd temp,temp			/* temp = s3(e)+x+K+h */
+	force 5,regext_index
+	deposit regext
+	force 6,regext_index
+	ixor regext,pdata
+	force 4,regext_index
+	iand regext,pdata			/* (e & (f ^ g)) */
+	force 6,regext_index
+	ixor regext,pdata			/* F1(e, f, g) = g ^ (e & (f ^ g)) */
+	iadd temp,temp			/* temp1 = h + S3(e) + F1(e,f,g) + K + x */
+	force 7,regext_index
+	copy temp,regext			/* save to H */
+	force 3,regext_index
+	deposit regext
+	iadd temp,regext			/* save to D */
+	force 0,regext_index
+	deposit regext
+	force 1,regext_index
+	iand regext,temp			/* a & b */
+	ior regext,pdata			/* a | b */			
+	force 2,regext_index
+	iand regext,pdata			/* (c & (a | b)) */
+	ior temp,temp				/* F0:(a & b) | (c & (a | b)) */
+	force 0,regext_index
+	shasx regext,2,pdata
+	iadd temp,pdata			/* temp2 = S2(a) + F0(a,b,c) */
+	force 7,regext_index
+	iadd regext,regext			/* h = temp1 + temp2 */
+	regexrot					/* rotate move h,a-g => a-h */
+	loop sha_loop
+	arg memahbak,contr
+	force 0,regext_index
+sha_1:	
+	ifetch 4,contr
+	iadd regext,regext
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_1,true
+	branch disable_authrom
+
+	
+sha_result:
+	arg   memresult,contw
+	force 7,regext_index
+sha_regext_save:
+	deposit regext
+	istore  4,contw 
+	increase -1,regext_index
+	branch   sha_regext_save,positive
+	rtn	
+
+pad_xor:
+//	arg memx_end,contr
+	arg      memdat,contw
+	increase -4,contr
+	sub      loopcnt,16,regA
+pad_xor_0:	    
+	ifetch   4,contr
+	ixor     temp,pdata
+	istore   4,contw	
+	increase -8,contr	
+	loop  pad_xor_0
+	copy     regA,loopcnt
+	deposit  temp
+pad_xor_1:	
+	istore 4,contw
+	loop pad_xor_1
+	rtn
+
+g_noninit_number_confirm:
+	call g_noninit0
+	call sha_result
+	branch g_common0
+
+g_noninit:
+	call g_noninit0
+	branch g_common0
+	
+g_noninit0:
+ 	arg      mem_sp_pubkey_remote_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_local_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	branch g_common
+	
+g_init:
+ 	arg      mem_sp_pubkey_local_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_remote_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call g_common
+	branch g_common0
+	
+g_common:	
+	call     memcpy_dword_swap4
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    5,loopcnt
+	call memset0
+	setarg 640
+	istore 4,contw
+	branch sha
+g_common0:
+	fetch 4,memresult
+//	store 4,mem_gkey
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+	quotient pdata
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	arg 1000,rega
+	imul32 rega,pdata
+	fetcht 4,mem_gkey
+	iadd temp,pdata
+	store 4,mem_gkey
+	rtn
+
+function_f1_no_key:
+	jam 0,mem_passkey_1bit
+	branch function_f1_common
+	
+function_f1:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f1_no_key
+function_f1_common:
+	bpatchx patch3d_5,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+2
+	copy pdata,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	fetch 2,mem_sp_prarm_stack+4
+	copy pdata,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	istore   3,contw
+	
+	fetch 1,mem_passkey_1bit
+	
+	istore   1,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0388
+	istore   4,contw
+	call     sha
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call		bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+	
+function_f2:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+12
+	copy pdata,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	fetch 2,mem_sp_prarm_stack+14
+	copy pdata,contr
+	call     memcpy_dword_swap4
+
+	setarg   0x62746c
+	lshift8  pdata,pdata
+	or_into       0x6b,pdata       
+	istore   4,contw
+	arg      mem_addr_value_end,contr
+	force    3,loopcnt
+	call     memcpy_dword_swap
+	
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0380
+	istore   4,contw
+	call     sha
+
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+
+function_f3a:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3a_no_pin
+function_f3a_common:
+	bpatchx patch3d_6,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	branch function_f3_common
+
+function_f3a_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3a_common
+
+function_f3b_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3b_common
+
+
+function_f3b:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3b_no_pin
+function_f3b_common:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+
+	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+function_f3_common:    
+	setarg   0x0    
+	istore   8,contw
+	istore   4,contw
+	fetch 4,mem_pin
+	istore   4,contw
+	
+	copy     contw,temp
+	jam      0x80,mem_addr_padding
+	copy     temp,contw
+	arg      mem_addr_iocap_end,contr
+	call     memcpy_dword_swap4
+
+	call     sha
+    
+	arg      memdat,contw
+	force 7,loopcnt
+	call memset0
+	istore   4,contw
+	setarg   0x03F8
+	istore   4,contw
+	call     sha
+	call     sha_result
+	
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha	
+	branch     sha_result
+		
+/*
+eckp:
+	jam 192,mem_ec_loopc
+	jam 1,mem_ec_infinite
+*/
+eckp_calc_init:
+	jam      192,mem_ec_loopc
+eckp_calc_init_1:    
+	fetch    1,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    1,mem_ec_loopc 	
+	arg      mem_k,contr
+	call     bn_testbit
+	branch eckp_calc_init_1,true
+	arg      mem_ax,contr
+	arg      mem_cx,contw
+	branch     ec_copy	
+	
+eckp_calc:
+	call     ecdbl  
+	fetch    1,mem_ec_loopc
+	increase -1,pdata
+	store    1,mem_ec_loopc
+	arg      mem_k,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd                
+	             
+memcpy_dword_swap4:
+	force 4,loopcnt
+memcpy_dword_swap:
+	increase -4,contr
+memcpy_dword_swap_loop:
+	ifetch   4,contr
+	istore   4,contw
+	increase -8,contr
+	loop   memcpy_dword_swap_loop 
+    	rtn
+
+	
+
+
+sp_initialize_256:	
+	bpatchx patch3d_7,mem_patch3d
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+	call le_secure_connection_enable
+	call sp_clear_flags
+//	jam SP_KEY_INVALID_256,mem_le_sc_local_key_invalid
+	branch sp_pubkey_calc_256
+    	
+
+
+
+sp_pubkey_calc_256:
+	fetch    1,mem_le_sc_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+	
+	arg      mem_le_private_key_256,contw 
+	force    15,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32 //mem_sp_private_key=>mem_k 
+
+	arg      mem_ax_256,contw
+	arg      mem_gx_256,contr
+	call     memcpy64 //mem_gx=>mem_ax 
+	
+	arg      mem_az_256,contw
+	call      clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam SP_CALC_PUBKEY_256,mem_le_sc_calc
+	rtn    
+
+sp_pubkey_generated_256:
+	arg      mem_le_pubkey_local_x_256,contw
+	arg      mem_bx_256,contr
+	call     memcpy64   
+	jam      SP_KEY_VALID_256,mem_le_sc_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+	
+
+
+sp_dhkey_calc_256:
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32
+
+	arg      mem_ax_256,contw
+	arg      mem_le_pubkey_remote_x_256,contr
+	call     memcpy64
+
+	arg      mem_az_256,contw
+	call     clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam     SP_CALC_DHKEY_256,mem_le_sc_calc
+	rtn 
+
+
+sp_dhkey_generated_256:
+//	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_le_dhkey_256,contw
+	arg mem_bx_256,contr
+	call memcpy32
+	jam SP_KEY_VALID_256,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+
+
+
+sp_calc_sequence_256:
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_le_sc_calc
+	rtnbit1 7
+	fetch    2,mem_ec_loopc
+	branch   sp_calc_sequence_done_256,blank
+	branch   eckp_calc_256
+
+sp_calc_sequence_done_256:    
+	bpatchx patch3e_0,mem_patch3e
+	call ecunmapz_256
+	fetch 1,mem_le_sc_calc
+	beq  SP_CALC_PUBKEY_256,sp_pubkey_generated_256
+	beq  SP_CALC_DHKEY_256,sp_dhkey_generated_256
+	rtn
+
+
+eckp_calc_256:
+	call     ecdbl_256  
+	fetch    2,mem_ec_loopc
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd_256   
+
+eckp_calc_init_256:
+	bpatchx patch3e_1,mem_patch3e
+	setarg 256,pdata
+	store 2,mem_ec_loopc
+eckp_calc_init_256_1:    
+	fetch    2,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	branch eckp_calc_init_256_1,true
+	arg      mem_ax_256,contr
+	arg      mem_cx_256,contw
+	branch     memcpy96	
+
+
+ecunmapz_256:
+	arg mem_cz_256,regA
+	arg mem_t3_256,contw
+	call bn_invmod_256			/* t3 = 1/z */
+	arg mem_t3_256,regA
+	arg mem_t1_256,contw		
+	call bn_sqrmod_256			/* t1 = 1/z2 */
+	arg mem_cx_256,regA
+	arg mem_t1_256,regB
+	arg mem_bx_256,contw
+	call bn_mulmod_256
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw			
+	call bn_mulmod_256			/* t2 = 1/z3 */
+	arg mem_cy_256,regA
+	arg mem_t2_256,regB
+	arg mem_by_256,contw
+	branch bn_mulmod_256	
+	
+ecdbl_256:
+	arg mem_cz_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_a_256,regA
+	arg mem_t3_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=a*z4	*/
+	arg mem_cx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_t2_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256
+//call ice_break
+	arg mem_t2_256,regA
+	arg mem_t3_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256		/* t2=3*x2 + z*z4		D  */
+//call ice_break
+	arg mem_cx_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_cy_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA		
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		//S = 4X1Y1^2/* t1=4x*y2	B	*/
+	arg mem_t3_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256		
+	arg mem_t0_256,regA		
+	call bn_lshiftmod_256	//T = 8Y1^4	/* t0=8*y4		C */
+	arg mem_cy_256,contr
+	arg mem_t3_256,contw
+	call memcpy32
+	arg mem_t3_256,regA
+	call bn_lshiftmod_256
+	arg mem_t3_256,regA
+	arg mem_cz_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		//z = 2Y1Z1
+
+
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256   // M ^2
+//call ice_break
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256  // t2^2 - 4*cx *cy^2 
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256   //X2
+	arg mem_t1_256,regA
+	arg mem_cx_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256   //S-X2
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	//M(S-X2)	
+	arg mem_t3_256,regA
+	arg mem_t0_256,regB
+	arg mem_cy_256,contw
+	branch bn_submod_256  //M(S-X2)-T Y2	
+
+ecadd_256:
+
+	arg mem_az_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_cx_256,regA
+	arg mem_t7_256,regB
+	arg mem_t0_256,contw
+	call bn_mulmod_256		/* n1=t0=xa*zb2 U1 = X1Z0^2*/
+
+
+	arg mem_az_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_cy_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* n2=t1=ya*zb3   S1 = Y1Z0^3*/
+
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_ax_256,regA
+	arg mem_t7_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* n3=t2=xb*za2  U0 = X0Z1^2*/
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_ay_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* n4=t3=yb*za3 S0 = Y0Z1^3*/
+
+
+//	arg mem_t0_256,regA
+//	arg mem_t2_256,regB
+	arg mem_t0_256,regb
+	arg mem_t2_256,rega
+	arg mem_t7_256,contw
+	call bn_submod_256		/* n5=t7=n1-n3=t0-t2   W=U1-U0*/
+	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256		/* n7=t0=n1+n3=t0+t2    T=U1+U0 */
+//	arg mem_t1_256,regA
+//	arg mem_t3_256,regB
+	arg mem_t1_256,regb
+	arg mem_t3_256,rega
+	arg mem_t2_256,contw
+	call bn_submod_256		/* n6=t2=n2-n4=t1-t3  S1-S0 */
+	arg mem_t1_256,regA
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_addmod_256		/* n8=t1=n2+n4=t1+t3 M=S1+S0*/
+	arg mem_t1_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5     MW */
+	arg mem_cz_256,regA
+	arg mem_az_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	      //Z0Z1
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		/* z=za*zb*n5   Z0Z1W */
+
+	arg mem_t7_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256		/* t7=n5^2 */
+	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=n5^2*n7 */
+	arg mem_t7_256,regA
+	arg mem_t1_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5^3 */
+	arg mem_t2_256,regA
+	arg mem_cx_256,contw
+	call bn_sqrmod_256		
+	arg mem_cx_256,regA
+	arg mem_t3_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256		/* x=n6^2-n5^2*n7 */
+	arg mem_cx_256,contr
+	arg mem_t7_256,contw
+	call memcpy32
+	arg mem_t7_256,regA
+	call bn_lshiftmod_256		/* t7=2*x */
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256		/* t3=n9 */
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* t2=n9*n6 */
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_cy_256,contw
+	call bn_submod_256	
+	arg mem_cy_256,regA
+	arg mem_p_256,regB
+	arg mem_cy_256,contw
+	force 0,regC
+	fetch 1,mem_cy_256
+	isolate1 0,pdata
+	call bn_add_256,true
+	copy regC,alarm
+	arg mem_cy_256,regA
+	call bn_rshift_256
+	fetch 1,mem_cy5_256
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5_256
+	rtn	
+
+bn_invmod_256:
+	copy contw,timeup					 
+	arg mem_tmp0_256,contw			 
+	call clear_mem_256
+	force 0,pdata
+//	store 4,mem_tmp52
+	store 4,mem_t2_256
+	jam 1,mem_tmp0_256      //y1
+	arg mem_tmp1_256,contw	//y2			 
+	call clear_mem_512      
+	arg mem_p_256,contr
+	arg mem_tmp2_256,contw		//j		 
+	call memcpy32
+	copy regA,contr
+	arg mem_tmp3_256,contw		//i		 
+	call memcpy32
+	
+//	arg mem_tmp22,regA
+//	arg mem_tmp32,regB
+//	call p_bn_bigeq_256
+//	branch assert,positive
+bn_invmod_256_2:	
+	arg mem_tmp3_256,contr
+	call bn_eq_zero_256
+	branch bn_invmod_256_0,blank
+//call ice_break    	
+//fetch 1,0x4ffe
+//increase 1,pdata
+//store 1,0x4ffe
+	arg mem_tmp3_256,regA
+	arg mem_tmp0_256,regB
+	call bn_rshifteven_256
+	arg mem_tmp2_256,regA
+	arg mem_tmp1_256,regB
+	call bn_rshifteven_256
+	
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	call bn_bigeq_256
+	branch bn_invmod_256_1,positive
+	arg mem_tmp2_256,regA
+	arg mem_tmp3_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp0_256,regA
+	arg mem_tmp1_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_1:
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp1_256,regA
+	arg mem_tmp0_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_0:
+//call ice_break
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	call  bn_p256mod
+//call ice_break
+	arg mem_p_256,regA
+	copy timeup,regB
+	copy timeup,contw
+	branch bn_submod_256
+
+
+bn_mulmod_256:
+	copy contw,timeup					/* save result ptr */
+	
+	force 0,regext_index
+	
+	arg mem_tmp1_256,contw
+	call clear_mem_512
+	arg mem_regext,contw
+	call clear_mem_512
+//	jam 0,mem_regext_index
+
+//	arg mem_tmp12,contw
+	copy regA,contr
+//	force 0,regext_index
+	jam 0,mem_regext
+	setarg 0
+	call bn_load_mem
+	copy regB,contr
+	call bn_load_256
+//	force 0,regB
+//	jam 0,mem_regb
+	force 0,queue
+	arg mem_tmp1_256,contw	
+bn_mulmod_256_1:	
+//	copy regb,pdata
+//	store 1,
+	arg mem_regext,temp
+	copy queue,regb
+	lshift2 regb,pdata
+//	lshift4 pdata,pdata
+	iadd temp,regb	
+	force 0,temp
+	force 0,regC
+bn_mulmod_256_0:
+//	copy contw,pdata
+//	store 2,mem_contw
+//call ice_break
+//	copy pdata,contw
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+//	copy regB,regext_index
+//	deposit regext
+	ifetch 4,regb
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 8,regC,0xff
+	nbranch bn_mulmod_256_0,true
+//call ice_break
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -32,contw
+//	fetch 1,mem_regb
+//	copy pdata,regb
+	increase 1,queue
+	compare 8,queue,0xff
+	nbranch bn_mulmod_256_1,true
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	branch bn_p256mod
+
+bn_p256mod:
+	bpatchx patch3e_2,mem_patch3e
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add regA,44,contr
+	call memcpy8
+	call memcpy12
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S1
+	arg mem_tmp2_256,regB
+	copy alarm,rega   
+	copy timeup,contw
+	call bn_addmod_256 //T+2S1
+//call ice_break	
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add alarm,48,contr
+	call memcpy16
+	call memset0_4	
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S2
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy timeup,rega   
+	copy regA,contw	
+	call bn_addmod_256  //+2S2
+//call ice_break	
+//	arg 0,regB
+		
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,56,contr
+	call memcpy8
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S3
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,36,contr
+	call memcpy12
+	add alarm,52,contr	
+	call memcpy12
+	add alarm,52,contr
+	call memcpy4
+	add alarm,32,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S4	
+//call ice_break	
+//	arg 1,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,44,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,32,contr
+	call memcpy4
+	add alarm,40,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D1	
+//call ice_break	
+//	arg 2,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,48,contr
+	call memcpy8
+	call memcpy8
+	force 0,pdata
+	istore 8,contw
+	add alarm,36,contr
+	call memcpy4
+	add alarm,44,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D2	
+//call ice_break	
+//	arg 3,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,52,contr
+	call memcpy12
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,48,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D3
+//call ice_break	
+//	arg 4,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,56,contr
+	call memcpy8
+	call memset0_4	
+	add alarm,36,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,52,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	branch  bn_submod_256 //-D4	
+
+
+bn_load_mem:
+	force 32,loopcnt
+	arg mem_regext,contw
+	iadd contw,contw
+	branch memcpy
+
+bn_load_256:
+	force 8,loopcnt
+	branch bn_load_0
+
+bn_sqrmod_256:
+	copy regA,regB
+	branch bn_mulmod_256
+
+bn_add_256:
+	force 8,loopcnt
+ 	branch bn_add+1
+
+bn_addmod_256:
+	call bn_add_256
+	copy contw,regA
+	branch bn_lshiftmod_ismod_256
+
+bn_lshiftmod_256:
+	call bn_lshift_256
+bn_lshiftmod_ismod_256:	
+	isolate1 0,regC
+	branch bn_lshiftmod_p_256,true
+	arg mem_p_256,regB
+	copy regA,regC
+	increase -32,regA
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+	
+bn_lshiftmod_p_256:
+	call sub_p2_256
+//	nrtn true
+	copy regA,regC
+	increase -32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+		
+	
+sub_p2_256:
+	increase -32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_sub_256
+	
+
+
+	
+bn_submod_256:
+	call bn_sub_256
+//	isolate1 0,regC
+	branch  bn_submod_256_np,true
+//	copy regA,regC
+//	increase -32,regA
+	add contw,-32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	arg mem_p_256,regB
+	add contw,-32,regA
+//	copy regC,regA
+	copy rega,contw
+	branch  bn_sub_256
+bn_submod_256_np:	
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	call bn_add_256
+//	isolate1 0,regC
+	rtn true
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_add_256	
+
+
+ 
+bn_sub_256:
+	force 8,loopcnt
+	branch bn_sub+1
+
+bn_rshift_256:
+	force 8,loopcnt
+	increase 28,regA
+	branch bn_rshift
+
+bn_lshift_256:
+	force 8,loopcnt
+	force 0,regC
+	branch bn_lshift_0
+
+bn_bigeq_256:
+	force 8,loopcnt
+	increase 28,regA
+	increase 28,regB
+	branch bn_bigeq_0
+
+
+bn_eq_zero_256:
+	ifetch 8,contr
+	nrtn blank
+	branch bn_eq_zero
+
+
+
+	
+bn_rshifteven_256:
+	copy regA,alarm
+bn_rshifteven_256_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift_256
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_256_0,true
+	arg mem_p_256,regA
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						 
+	increase -32,regB
+bn_rshifteven_256_0:
+	add regB,32,regA
+	force 9,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_256_1		
+
+
+
+ui_init:
+	call lpm_disable_exen_output
+	rtn wake
+	call ui_button_init
+	call ui_timer_init
+	branch ui_led_init_global
+
+ui_dispatch:
+	call ui_led_dispatch
+	
+	branch ui_timer_check
+	
+ui_button_init:
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	iforce temp
+	call gpio_config_output
+	fetcht 1,mem_ui_button_gpio
+	call gpio_out_inactive
+	nop 100
+	fetcht 1,mem_ui_button_gpio
+	call gpio_config_input
+	branch ui_button_polling
+
+
+	
+ui_button_polling:
+	bpatchx patch3e_3,mem_patch3e
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	copy pdata,temp
+	call gpio_get_bit
+	nbranch ui_button_up,true
+	//fall through
+ui_button_down:
+	call ui_button_check_long_press
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_DOWN
+	jam UI_BUTTON_STATE_DOWN,mem_ui_button_last_state
+	//Down Edge
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_ui_button_timer //start long press timer
+	call lpm_button_get_wake_lock
+	jam BT_EVT_BUTTON_DOWN,mem_fifo_temp
+	branch ui_ipc_send_event
+ui_button_up:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_UP
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	//Up Edge
+	jam 0,mem_ui_button_timer//stop long press timer
+	call lpm_button_clean_wake_lock
+	jam BT_EVT_BUTTON_UP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+ui_button_check_long_press:
+	fetch 1,mem_ui_button_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_ui_button_timer
+	nrtn blank
+	//Long Press
+	jam BT_EVT_BUTTON_LONG_PRESSED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+lpm_button_get_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_get_wake_lock
+	
+lpm_button_clean_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_put_wake_lock
+
+
+
+/***********************ui led function****************************/
+/******************
+led function
+
+ui_led_init_global
+ui_led_on_global
+
+ui_led_off_global
+//input:rega :struct number
+ui_led_blink_start_global
+
+//input:rega :struct number
+//contr: the point that want to set led style address
+ui_led_set_style_global
+
+******************/
+//input:rega :struct number
+//output:regb :current strutct starting pointer
+calc_curr_struct_prt:
+	fetch 2,mem_ui_led_struct_ptr
+	mul32 rega,LED_OFFSET_LENGTH,regb
+	iadd regb,regb
+	rtn
+
+
+ui_led_init_global:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_ui_led_struct_ptr
+	copy pdata,regb
+ui_led_init_loop:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	call gpio_config_output
+	call ui_led_off_static
+	increase LED_OFFSET_LENGTH,regb
+	loop ui_led_init_loop
+	rtn
+
+	
+//input:rega :struct number
+ui_led_on_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_LIGHTING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_on_static
+
+	
+//input:rega :struct number
+ui_led_blink_stop_global:
+ui_led_off_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_DARKING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+ui_led_blink_start_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_BLINK_START
+	istore 1,regb
+	setarg LED_INFINITE_FLASH_NUM
+	istore 1,contw
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+//REGC: the point that want to set led style address
+ui_led_set_style_global:
+	call calc_curr_struct_prt
+	arg LED_OFFSET_LENGTH,loopcnt
+	copy regc,contr
+	copy regb,contw
+	branch memcpy_fast
+
+
+
+ui_led_dispatch:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	arg 0,rega
+ui_led_blink_polling:
+	call ui_led_change_style_by_type
+	increase 1,rega
+	fetch 1,mem_ui_led_struct_num
+	isub rega,null
+	rtn zero
+	branch ui_led_blink_polling
+
+
+ui_led_off_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_inactive
+
+
+ui_led_on_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_active
+
+
+//input:rega :struct number
+ui_led_change_style_by_type:
+	add rega,ui_led_blink,queue
+	call timer_check
+	nrtn blank			//timer out
+	
+	call calc_curr_struct_prt
+
+	ifetch 1,regb			//led type
+
+	beq UI_LED_STATE_LIGHTING,ui_led_on_static
+	beq UI_LED_STATE_DARKING,ui_led_off_static
+	beq UI_LED_STATE_BLINK_STOP,ui_led_off_static
+	beq UI_LED_STATE_BLINK_DARKING,ui_led_blink_state_darking
+ui_led_blink_state_lighting:
+	call ui_led_on_static
+	add regb,LED_OFFSET_CB_LEDON,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	setarg UI_LED_STATE_BLINK_DARKING
+	istore 1,regb
+	add regb,LED_OFFSET_ON_TIME,regc
+	ifetch 2,regc
+	branch ui_led_blink_timer_start
+	
+
+ui_led_blink_state_darking:
+	call ui_led_off_static
+	add regb,LED_OFFSET_CB_LEDOFF,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	
+	add regb,LED_OFFSET_BLINK_COUNT,regc
+	ifetch 1,regc
+	beq LED_INFINITE_FLASH_NUM,ui_led_blink_infinite
+	increase -1,pdata
+	istore 1,regc
+	branch ui_led_blink_stop_global,blank		//End of flicker
+ui_led_blink_infinite:
+	setarg UI_LED_STATE_BLINK_LIGHTING
+	istore 1,regb
+	add regb,LED_OFFSET_OFF_TIME,regc
+	ifetch 2,regc
+ui_led_blink_timer_start:
+	add rega,ui_led_blink,queue
+	branch timer_init
+
+ui_led_stop_timer:
+	setarg 0
+	branch ui_led_blink_timer_start
+
+/***********************ui led function ending****************************/
+
+
+
+ui_timer_timeout:
+	setarg 0x1000
+	lshift16 pdata,pdata
+	iadd regb,regb
+	rtn
+	
+ui_timer_check:
+	bpatchx patch3e_4,mem_patch3e
+	arg 0,rega
+	fetcht 4,mem_ui_timer_last_btclk
+	copy clkn_bt,regb
+	copy regb,pdata
+	isub temp,null
+	ncall ui_timer_timeout,positive
+	//call ice_break
+ui_timer_check_loop:
+	copy regb,pdata
+	increase 160,temp    //320btclk = 100ms
+	increase 160,temp
+	isub temp,null
+	nbranch ui_timer_check_end,positive
+	increase 1,rega   //increase 1 every 100ms count
+	and rega,0x0f,pdata
+	nbranch ui_timer_check_loop,blank
+	arg 0,rega  //reset timer if it's longer than 1.5s between 2 checks
+	call ui_timer_check_send_evt
+ui_timer_init:
+	copy clkn_bt,pdata
+	store 4,mem_ui_timer_last_btclk
+	rtn
+ui_timer_check_end:
+	bpatchx patch3e_5,mem_patch3e
+	copy rega,pdata
+	rtn blank
+	increase -160,temp    //320btclk = 100ms
+	increase -160,temp
+	set0 28,temp
+	storet 4,mem_ui_timer_last_btclk
+ui_timer_check_send_evt:
+	branch app_evt_timer
+
+	
+
+//**********************************************************//
+//************UI Inter-Processor Communication*******//
+//**********************************************************//
+ui_ipc_get_lock:
+	jam 1,mem_ipc_lock_bt
+ui_ipc_get_lock_wait:
+	fetch 1,mem_ipc_lock_c51
+	nbranch ui_ipc_get_lock_wait,blank
+	rtn
+	
+ui_ipc_put_lock:
+	jam 0,mem_ipc_lock_bt
+	rtn
+	
+
+	
+ui_ipc_send_event:
+	bpatchx patch3e_6,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega
+	branch ui_ipc_put_lock
+
+ui_ipc_send_cmd:
+	bpatchx patch3e_7,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp	
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega	
+	branch ui_ipc_put_lock
+
+ui_ipc_clean_all_fifo:
+	setarg 0
+	store UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	store UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	rtn
+	
+check_51cmd:
+	bpatchx patch3f_0,mem_patch3f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_is_empty
+	rtn blank
+	jam IPC_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	call check_51cmd_once
+	fetch 1,mem_ipc_skip_continue_proc
+	branch check_51cmd,blank
+	rtn
+
+check_51cmd_once:
+	call ui_ipc_get_lock
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_out
+	copy pdata,temp
+	call ui_ipc_put_lock
+	bpatchx patch3f_1,mem_patch3f
+	copy temp,pdata
+	rtn blank
+ 	beq BT_CMD_START_DISCOVERY,check_51cmd_start_discovery
+  	beq BT_CMD_STOP_DISCOVERY,check_51cmd_stop_discovery
+  	beq BT_CMD_RECONNECT,check_51cmd_reconnect
+  	beq BT_CMD_ENTER_SNIFF_SUBRATING,check_51cmd_enter_sniff_subrating
+  	beq BT_CMD_EXIT_SNIFF_SUBRATING,check_51cmd_exit_sniff_subrating
+  	beq BT_CMD_SNIFF_TEST,check_51cmd_sniff_test
+	beq BT_CMD_START_INQUIRY,check_51cmd_inq
+	beq BT_CMD_STOP_INQUIRY,check_51cmd_stop_inq
+	beq BT_CMD_START_ADV,check_51cmd_adv
+	beq BT_CMD_STOP_ADV,check_51cmd_stop_adv
+	beq BT_CMD_START_DIRECT_ADV,check_51cmd_direct_adv
+	beq BT_CMD_STOP_DIRECT_ADV,check_51cmd_stop_direct_adv
+	beq BT_CMD_LED_OFF,check_51cmd_led_off
+	beq BT_CMD_LED_ON,check_51cmd_led_on
+	beq BT_CMD_LED_BLINK,check_51cmd_led_start_blink
+	beq BT_CMD_LE_START_CONN,check_51cmd_le_start_con
+	beq BT_CMD_LE_START_SCAN,check_51cmd_start_scan
+	beq BT_CMD_LE_STOP_SCAN,check_51cmd_stop_scan
+	beq BT_CMD_ENTER_HIBERNATE,check_51cmd_hibernate
+	beq BT_CMD_LE_SMP_SECURITY_REQUEST,check_51cmd_le_smp_sec_req
+	beq BT_CMD_BB_RECONN_CANCEL,check_51cmd_bb_reconn_cancel
+	//context related, process in context
+	store 1,mem_fifo_temp
+	bpatchx patch3f_2,mem_patch3f
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+check_51cmd_once_continue:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,check_51cmd_disconnect
+  	beq BT_CMD_ENTER_SNIFF,cmd_in_sniff
+  	beq BT_CMD_EXIT_SNIFF,cmd_exit_sniff
+  	beq BT_CMD_SET_PIN_CODE,check_51cmd_pincode
+	beq BT_CMD_LE_DISCONNECT,check_51cmd_le_disconnect
+	beq BT_CMD_LE_UPDATE_CONN,check_51cmd_ble_update_connect_param
+	beq BT_CMD_ROLE_SWITCH,check_51cmd_role_switch
+	beq BT_CMD_STORE_RECONN_INFO_LE,eeprom_store_le_reconn_info
+	beq BT_CMD_STORE_RECONN_INFO_BT,eeprom_store_bd_reconn_info
+	beq BT_CMD_DHKEY_NOT_ACCEPT,check_51cmd_dhkey_not_accept
+	beq BT_CMD_STORE_RECONN_INFO,check_51cmd_store_reconn_info
+	rtn
+
+check_51cmd_check_idle:
+	store 1,mem_fifo_temp
+  	call context_check_idle
+	branch check_51cmd_restore,zero
+	call context_search_plap
+	nrtn zero
+check_51cmd_restore:
+	jam IPC_SKIP_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	branch ui_ipc_send_cmd
+  
+ /******************** 51COMMAND*********************/
+
+//command opcode 0x01	
+check_51cmd_start_discovery:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	jam 3,mem_scan_mode
+	rtn
+
+
+//command opcode 0x02	
+check_51cmd_stop_discovery:
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_scan_mode
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	rtn	
+
+
+//command opcode 0x03	
+check_51cmd_reconnect:	
+	jam hci_cmd_create_conn,mem_hci_cmd
+	rtn	
+
+
+//command opcode 0x04
+check_51cmd_disconnect:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+
+	
+//command opcode 0x07
+check_51cmd_enter_sniff_subrating:
+	rtn
+
+
+//command opcode 0x08
+check_51cmd_exit_sniff_subrating:
+	rtn	
+
+
+//command opcode 0x09
+check_51cmd_sniff_test:
+	rtn	
+
+
+//command opcode 0x10
+check_51cmd_pincode:
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch cmd_pair
+
+
+//command opcode 0x11
+check_51cmd_inq:
+	rtn
+
+
+//command opcode 0x12
+check_51cmd_stop_inq:
+	rtn
+
+
+//command opcode 0x13
+check_51cmd_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x14
+check_51cmd_stop_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x15
+check_51cmd_direct_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_DIRECT_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x16
+check_51cmd_stop_direct_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x17
+check_51cmd_le_disconnect:
+	setarg 20 // 100ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	branch le_send_terminate_ind_user_terminated
+
+
+//command opcode 0x18
+check_51cmd_ble_update_connect_param:
+	branch le_l2cap_tx_update_req
+
+
+//command opcode 19
+check_51cmd_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+
+
+//command opcode 20
+check_51cmd_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+
+//command opcode 21
+check_51cmd_led_start_blink:
+	arg 0,rega
+	branch ui_led_blink_start_global
+
+
+//command opcode 0x22
+check_51cmd_le_start_con:
+	jam ON,mem_le_scan_enable
+	jam hci_cmd_le_create_conn,mem_hci_cmd
+//	fetch 6,mem_app_peer_addr
+//	store 6,mem_le_conn_peer_addr
+	rtn
+
+
+//command opcode 0x23
+check_51cmd_start_scan:
+	jam ON,mem_le_scan_enable
+	rtn
+
+
+//command opcode 0x24
+check_51cmd_stop_scan:
+	jam OFF,mem_le_scan_enable
+	jam 0,mem_hci_cmd
+	rtn
+
+
+//command opcode 0x25
+check_51cmd_hibernate:
+	fetch 2,mem_cb_before_hibernate
+	call callback_func
+	fetch 1,mem_ui_button_gpio
+	beq UI_BUTTON_GPIO_DISABLE,check_51cmd_hibernate_btn_disabled
+	copy pdata,temp
+	call gpio_config_input
+check_51cmd_hibernate_btn_disabled:
+	call ui_ipc_clean_all_fifo
+	branch lpm_hibernate	
+
+
+//command opcode 0x27
+check_51cmd_le_smp_sec_req:
+	branch le_send_smp_security_request
+
+
+//command opcode 0x29
+check_51cmd_role_switch:
+  	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	nrtn master
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam LMP_SWITCH_REQ ,mem_lmo_opcode2
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	rtn
+
+
+//command opcode 0x30
+check_51cmd_bb_reconn_cancel:
+	force page_length_timer,queue
+	branch timer_stop
+
+
+//command opcode 0x33
+check_51cmd_dhkey_not_accept:
+	call tid_set_reply
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch parse_lmp_dhkey_check_reject	
+
+
+ui_check_paring_button:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BTN_DOWN
+	rtnbit0 UI_STATE_BT_RECONNECT
+	branch check_51cmd_bb_reconn_cancel
+
+
+
+///////////queue function////////////
+queue_init:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contw
+	setarg 0
+	istore 3,contw
+	rtn
+	
+//input:rega:the address of the data to which you want to input queue
+//output:if user is disable,mean queue no have space
+queue_push:
+	call disable_user
+	call queue_full
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase 1,temp
+	istoret 1,regb	//number add 
+	
+	ifetcht 1,pdata	//temp:each length
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_WRITE_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contw
+	copy rega,contr
+calc_queue_next_ptr:
+	call memcpy
+	call queue_get_size
+	pincrease -1
+	ifetcht 1,regb
+	increase 1,temp
+	iand temp,temp
+	istoret 1,regb
+	branch enable_user
+
+
+//input:rega:the address of the data to which you want to output queue
+//output:if user is disable,mean queue no have data
+queue_pop:
+	call disable_user
+	call queue_empty
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase -1,temp
+	istoret 1,regb
+	ifetcht 1,pdata		//each size
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_READ_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contr
+	increase 1,contr
+	copy rega,contw
+	branch calc_queue_next_ptr
+
+
+//output:if blank is 1,mean queue is empty
+queue_empty:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contr
+	ifetch 1,contr
+	rtn
+
+//output:if blank is 1,mean queue is full
+queue_full:
+	call queue_get_size
+	ifetcht 1,contr
+	isub temp,pdata
+	rtn
+
+//output:pdata is queue size
+queue_get_size:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_LENGTH,contr
+	ifetch 1,contr
+	rtn
+
+///////////queue function end////////////
+
+
+
+
+
+right_shift_n: //rshiftN pdata,pdata
+	sub loopcnt,0,null
+	rtn zero
+right_shift_n_loop: 
+	rshift pdata,pdata
+	loop right_shift_n_loop
+	rtn
+
+/* lshift. 0:1 byte; 1:2byte; 2:4byte; 3:8byte; 4:16byte*/
+left_shift_n:
+	force 1,pdata
+	sub loopcnt,0,null
+	rtn zero
+left_shift_n_loop:
+	lshift pdata,pdata
+	loop left_shift_n_loop
+	rtn
+push_stack:
+	deposit contw
+	store 2, mem_contw
+	storet 8,mem_temp
+	deposit timeup
+	store 4,mem_timeup
+	call push_stack_rega_b_c
+	deposit contr
+	store 2, mem_contr
+	rtn
+
+push_stack_rega_b_c:
+	deposit rega
+	store 4, mem_rega
+	deposit regb
+	store 4, mem_regb
+	deposit regc
+	store 3, mem_regc
+	rtn
+
+pop_stack:
+	fetcht 8,mem_temp
+	fetch 4,mem_timeup
+	iforce timeup
+	call pop_stack_rega_b_c
+	fetch 2, mem_contw
+	iforce contw
+	fetch 2, mem_contr
+	iforce contr
+	rtn
+
+pop_stack_rega_b_c:
+	fetch 4, mem_rega
+	iforce rega
+	fetch 4, mem_regb
+	iforce regb
+	fetch 3,mem_regc
+	iforce regc
+	rtn
+
+get_contw:
+	fetch 2,mem_contw
+	copy pdata,contw
+	rtn
+get_contr:
+	fetch 2,mem_contr
+	copy pdata,contr
+	rtn
+store_contw:
+	copy contw,pdata
+	store 2,mem_contw
+	rtn
+store_contr:
+	copy contr,pdata
+	store 2,mem_contr
+	rtn	
+	
+
+//
+save_cont_pointers:
+	copy contw,pdata
+	store 2,mem_hold_contw
+	copy contr,pdata
+	store 2,mem_hold_contr
+	rtn
+load_cont_pointers:
+	fetch 2,mem_hold_contw
+	copy pdata,contw
+	fetch 2,mem_hold_contr
+	copy pdata,contr
+	rtn
+
+memcpy96:
+	call memcpy32
+memcpy64:
+	call memcpy32
+	branch memcpy32
+memcpy12:
+	call memcpy8
+memcpy4:
+	ifetch 4,contr
+	istore 4,contw
+	rtn	
+memcpy8:
+	ifetch 8,contr
+	istore 8,contw
+	rtn	
+
+memcpy48:
+	call memcpy16
+memcpy32:
+	call memcpy8
+memcpy24:
+	call memcpy8
+memcpy16:
+	call memcpy8
+	branch memcpy8
+
+
+
+delay_10ms:
+	arg 10,loopcnt
+delay_ms_wait:
+	nop 12000
+	loop delay_ms_wait
+	rtn
+
+bn_zero:
+	force 3,loopcnt
+memset0:
+	force 0,pdata
+memset8:
+	istore   8,contw
+	loop   memset8
+	rtn
+
+memset0_8:
+	force 0,pdata
+	istore 8,contw
+	rtn
+memset0_4:
+	force 0,pdata
+	istore 4,contw
+	rtn	
+	
+clear_mem_256:
+	force 4,loopcnt
+	branch memset0 
+clear_mem_512:
+	force 8,loopcnt
+	branch memset0 
+
+clear_mem:
+	deposit loopcnt
+	rtn blank
+	setarg 0
+clear_mem_loop:
+	istore 1,contw
+	loop clear_mem_loop
+	rtn
+	
+
+clear_temp_block:
+	arg 32,loopcnt
+	arg mem_temp_block0,contw
+	branch clear_mem
+	
+xor_loop:
+	ifetch   4,regc
+	ifetcht 4,rega
+	ixor     temp,pdata
+	istore   4,contw	
+	increase 4,rega
+	increase 4,regc
+	loop  xor_loop
+	rtn
+	
+// 11 22 -> 22 11; 11 22 33 -> 33 22 11 
+// rega:data addr ;loopnct:length
+inverse_data:
+	bpatchx patch3f_3,mem_patch3f
+	copy loopcnt,pdata
+	sub pdata,1,null
+	rtn positive
+	iadd rega,regb	
+	increase -1,regb
+	rshift loopcnt,loopcnt
+inverse_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	istore 1,rega
+	istoret 1,regb
+	increase -1,regb
+	increase 1,rega
+	loop inverse_loop
+	rtn
+
+
+memcpy_fast:
+	deposit loopcnt
+	rtn blank
+memcpy_fast_loop:
+	increase -8,loopcnt
+	call memcpy8,positive
+	rtn zero
+	branch memcpy_fast_loop,positive
+	increase 8,loopcnt
+memcpy_fast_loop_four:
+	increase -4,loopcnt
+	call memcpy4,positive
+	rtn zero
+	branch memcpy_fast_loop_four,positive
+	increase 4,loopcnt
+	branch memcpy
+ 
+memcpy:
+	deposit loopcnt
+	rtn blank
+memcpy_loop:
+	ifetch 1,contr
+	istore 1,contw
+	loop memcpy_loop
+	rtn
+
+timer_stop:
+	setarg 0
+timer_init:
+	rshift clkn_bt,temp
+	storet 4,mem_last_clkn
+	arg mem_timers,contw
+	iforce temp
+	lshift queue,pdata
+	iadd contw,contw
+	istoret 2,contw
+	bpatchx patch3f_4,mem_patch3f
+	rtn
+
+timer_check_timeout:
+	arg 0x800,timeup
+	lshift16 timeup,timeup
+	iadd timeup,pdata
+	rtn
+
+
+timer_reinit:
+	arg 0,queue
+timer_check:
+	bpatchx patch3f_5,mem_patch3f
+	fetcht 4,mem_last_clkn
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn	
+	isub temp,null
+	ncall timer_check_timeout,positive	
+	isub temp,timeup
+	copy timeup,temp
+	arg mem_timers,contr
+	copy contr,contw
+	arg 16,loopcnt
+timer_loop:
+	ifetch 2,contr
+	isub temp,pdata
+	branch timer_counting,positive
+	force 0,pdata
+timer_counting:
+	istore 2,contw
+	loop timer_loop	
+	arg mem_timers,contr
+	lshift queue,pdata
+	iadd contr,contr
+	ifetch 2,contr
+	rtn
+
+
+
+	/* pdata 28+16 bit add temp 26+16 bit, result in temp */
+clk_add:
+	iadd temp,temp
+	copy temp, loopcnt
+	setarg 3750
+	isub loopcnt,pdata
+	rtn positive
+	sub pdata,0,pdata
+	rshift16 temp,temp
+	increase 1,temp
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+clk_diff_rt:
+	call clk_diff
+	branch clk2rt
+
+/* pdata -temp -> pdata, all are 28+16 bits, set user if negative */
+clk_diff:
+	disable user
+	isub temp,pdata
+	branch clk_diff_pos,positive
+	enable user
+	sub pdata,0,pdata
+clk_diff_pos:
+	rtnbit0 15
+	arg -61786,temp
+	iadd temp,pdata
+	set0 64,pdata
+	rtn
+
+clk2rt:
+	iforce contr
+	rshift16 pdata,pdata
+	arg 3750,temp
+	imul32 temp,pdata
+	iadd contr,pdata
+	rtn
+
+	/* pdata = clks in, temp = lpo out */
+clk2lpo:
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	fetcht 3,mem_clks_per_lpo
+	idiv temp
+	call wait_div_end
+	quotient temp
+	rtn
+
+	/* rt clk -> bt+rt clk */
+clk2bt:
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+
+
+
+//input:contru 
+//output:temp
+//used register: temp regc
+string2dec_from_uart:
+	arg 0,temp
+string2dec_from_uart_done:
+         copy temp,regc
+	ifetch 1,contru
+	call uchar2dialog	
+	copy regc,temp
+	call swap
+	arg 10,regb
+	imul32 regb,pdata
+	iadd temp,pdata
+	copy pdata,temp
+	loop string2dec_from_uart_done
+	rtn
+	
+
+
+uchar2dialog:
+	arg 0x3a,temp
+	isub temp,null
+	nbranch uchar2dialog_number,positive
+	arg 0x61,temp
+	isub temp,null
+	branch uchar2dialog_a2f,positive
+	arg 0x37,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_number:
+	arg 0x30,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_a2f:
+	arg 0x57,temp
+	isub temp,pdata
+	rtn
+
+pn9:
+	copy temp,alarm
+	setarg 0x1ff
+	force 0,regb
+pn9_loop:	
+	rshift3 pdata,rega
+	rshift rega,rega
+	ixor rega,rega
+	isolate1 0,rega
+	setflag true,9,pdata
+	rshift temp,temp
+	isolate1 0,pdata
+	setflag true,7,temp
+	rshift pdata,pdata
+	increase 1,regb
+	compare 0,regb,0x7
+	nbranch pn9_loop,true
+	istoret 1,contw
+	loop pn9_loop
+	copy alarm,temp
+	rtn
+
+
+wait_div_end:	
+	rtn modone
+	branch wait_div_end
+
+
+
+//input:
+//	count:loopcnt str1:rega str2:regb
+//output:
+//	same:set falg true ,diff set falg false
+// using:
+//	reg:temp null flag:zero
+compare_loop:
+string_compare:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop string_compare
+	force 0,null
+	rtn
+
+	/* pdata = temp if pdata > temp */
+ceiling:
+	isub temp,null
+	nrtn positive
+	deposit temp
+	rtn
+	
+swap:
+	iadd temp,pdata
+	isub temp,temp
+	isub temp,pdata
+	rtn
+
+clean_mem:
+	arg 0x200,loopcnt
+	arg 0x4000,contw
+	branch memset0				// clear xram at boot
+
+	//cb function ptr in pdata
+callback_func:
+	rtn blank
+	copy pdata,pc	//rtn through cb functon.
+	//branch assert
+
+wait_uarttx:
+	hfetch 2,core_uart_txitems
+	nbranch wait_uarttx,blank
+	rtn
+
+ice_break:
+	hjam 0x1,core_ice_ctrl
+	rtn
+
+ice_setbp:
+	hstore 2,core_ice_break0
+	hfetch 1,core_ice_ctrl
+	set1 4,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+ice_setbp2:
+	hstore 2,core_ice_break1
+	hfetch 1,core_ice_ctrl
+	set1 6,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+	
+ice_set_write_bp:
+	hstore 2,core_ice_break0
+	hjam 0x30,core_ice_ctrl
+	rtn
+	
+
+
+test_enable_white:
+	hfetch 1,core_config
+	set0 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening on */
+	rtn
+
+check_uart_tx_buff:
+	hfetch 2,core_uart_txitems
+	arg UART_AIR_CONTROL_THRESHOLD,temp
+pdata_sub_temp:
+	isub temp,null
+	rtn
+
+	//fuction fifo_in
+	//rega pointer to fifo memory , *(rega+len) is the end of fifo
+	//mem_fifo_temp data into fifo
+	//assert if fifo was full
+fifo_in:
+	bpatchx patch3f_6,mem_patch3f
+	ifetcht UTIL_FIFO_LEN,rega
+	and temp,0xff,pdata
+	nbranch fifo_in_push,blank
+	rshift8 temp,pdata
+	istore UTIL_FIFO_LEN,rega
+fifo_in_push:
+	increase UTIL_FIFO_LEN+UTIL_FIFO_OFFSET,rega
+	ifetch 1,rega
+	nbranch assert,blank //fifo full
+	fetch 1,mem_fifo_temp
+	istore 1,rega
+	rtn
+	
+	//fuction fifo_out
+	//rega pointer to fifo memory
+	//pdata  data from fifo, blank mains fifo empty
+fifo_out:
+	bpatchx patch3f_7,mem_patch3f
+	arg UTIL_FIFO_LEN,loopcnt
+	ifetch UTIL_FIFO_LEN,rega
+	rtn blank
+fifo_out_loop:
+	ifetch 1,rega
+	nbranch fifo_out_end,blank
+	increase 1,rega
+	loop fifo_out_loop
+	branch assert
+fifo_out_end:
+	arg 0,temp
+	istoret 1,rega
+	rtn
+
+	//fuction fifo_is_empty
+	//rega pointer to fifo memory
+	//blank--- fifo is empty
+fifo_is_empty:
+	ifetch UTIL_FIFO_LEN,rega
+	rtn
+
+	//fuction fifo_is_full
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT full
+fifo_is_full:
+	ifetch 1,rega
+	rtn
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT near full
+fifo_is_near_full:
+	ifetch 2,rega
+	rtn
+
+	//rega pointer to fifo memory
+	//count output via pdata
+fifo_content_count:
+	arg 0,temp
+fifo_content_count_loop:
+	fetch 1,contr
+	loop fifo_content_count_loop,blank
+	increase 1,temp
+	loop fifo_content_count_loop
+	copy temp,pdata
+	rtn
+	
+not_greater_than:
+	isub temp,null
+	nrtn positive
+	copy temp,pdata
+	rtn
+
+
+disable_positive:
+	force -1,null
+	rtn
+enable_positive:
+disable_zero:
+	force 1,null
+	rtn
+enable_zero:
+	force 0,null
+	rtn
+
+enable_user:
+	enable user
+	rtn
+	
+disable_user:
+	disable user
+	rtn
+	
+enable_user2:
+	enable user2
+	rtn
+	
+disable_user2:
+	disable user2
+	rtn
+
+disable_blank:
+	setarg 1
+	rtn
+
+enable_blank:
+	setarg 0
+	rtn
+
+
+reverse_byte:
+	copy loopcnt,pdata
+	rtn blank
+	copy contr,pdata
+	iadd loopcnt,pdata
+	increase -1,pdata
+	copy pdata,contr	
+reverse_loop:
+	ifetch 1,contr
+	increase -2,contr
+	istore 1,contw
+	loop reverse_loop
+	rtn
+
+
Index: YJX_Only24g/FCC_1021S/output/bt_program23.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_program23.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/bt_program23.rom	(working copy)
@@ -0,0 +1,32766 @@
+00100000010000000000001010001111
+00100000010000000000000000111111
+00100000010000000000000001001100
+00100000010000000000000001110101
+00100000010000000000000000111011
+01110000100000000101000000100001
+01101000000010001100011011100010
+00100000010000000110011111111011
+01101000000010001100011011100011
+00100000010000000110011111111011
+01101000000010001100011011100100
+00100000010000000110011111111011
+00100000010000000110010110011100
+01011000000000000000001000000000
+01100000000000010100011100100000
+11011000010000000000000000000010
+11011010001000000100011100100000
+01011000000000000000000000000000
+00100000010000000110011000111101
+00100000010000000000001001110100
+00100000001000000000000100101100
+11011010001000000000000000000000
+00100000010000000000000000100111
+00100000010000000000000000011011
+00100000010000000000000000100001
+00011010001000100111111000000000
+00100000011000000000000000000000
+01101000000010001100011011100011
+00100000010000000000000000110110
+01101000000010001100011011100011
+00100000010000000110100000011101
+01111001001000001010001000000001
+00100000011000000000000000000000
+01101000000010001100011011100100
+00100000010000000000000000110110
+01101000000010001100011011100100
+00100000010000000110100000011101
+01111001001000001010001000000010
+00100000011000000000000000000000
+01101000000010001100011011100010
+00100000010000000000000000110110
+01101000000010001100011011100010
+00100000010000000110100000011101
+01111001001000001010001000000000
+00100000011000000000000000000000
+01111001001111111000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001000000000010000000111
+11011000101000001000000001111100
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+01111001001000000000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+00100000001000000000000000110001
+01110000010000010111010110001111
+01110000010000010111011000010000
+01110000010000010111011111001010
+00100000001000000010100111101001
+11011000101000000000000000000000
+11011111001000000000010000000000
+00100000010000000000000001001000
+01101000000100001000000100001000
+11000100000000010000000000000000
+11011000101000000100000000000000
+11011111001000000000001000000000
+00100000010000000000000001001000
+00100000011000000000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+11000010000000000000000001001001
+00100000011000000000000000000000
+01011000100011111111111111111111
+01100000000000011100000010011000
+01011000100111011000001111111110
+01111001001111111111111000000010
+11100000101000011000000000000000
+01011000000000001000001101011001
+11100000101000010000000000000000
+01011000000000000001000101110111
+01100000000000011100000010100000
+01011000000000000000000000110011
+01100000000000011100000010100011
+01011000100111101000101100110011
+01100000000000011100000010100111
+01011000000000000000000000010010
+01100000000000010100000010101101
+01011000000000000001000000000000
+01100000000000010100000010101111
+01011000000000000000001000000000
+01100000000000010100000010110001
+01011000000000000000100000000000
+01100000000000010100000010110011
+01011000000000000000000000100000
+01100000000000010100000010111011
+01011000000000000000000000100000
+01100000000000010100000010110111
+01011000000000000010000000000000
+01100000000000010100000010111001
+01011000000000000000101000000100
+01100000000000011100010100010000
+01011000000000000001001011101001
+01100000000000010100010100010011
+01110000010001010001010100000110
+01011000010100110101010001000010
+01100000000000011100010100010110
+01011000001101000100100101010000
+01100000000000011100010100011001
+01110000010000001011110100000010
+01110000000000001001000001100000
+01110000010000001101000000000101
+01110000010000001001001100000011
+00100000011000000000000000000000
+01110000100000000100001000000110
+01110000100010010000011100000000
+01110000100010010000100000000000
+01110000100010010000100100000000
+01110000100010010000101011111111
+01110000100010010000101111111111
+01110000100010010000111100101110
+01110000100010010001001001000111
+01110000100010010100101110111010
+01110000100010010100110011111011
+01110000100010010100110111101111
+01110000100010010100111011101100
+01110000100010010100111101011110
+01110000100010010110111110001000
+01110000100010010111001100000000
+01110000100010010101101001001010
+01110000100010010101110010000000
+01110000010010101111100100100000
+01110000010010101111011100000001
+01110000100010010011000010101001
+01110000100010010010111110101101
+01110000100010010010111010110001
+01110000100010010010110110110101
+01110000100010010010110010111001
+01110000100010010010101110111101
+01110000100010010010101011000010
+01110000100010010010100111000110
+01110000100010010010100011001010
+01110000100010010010011111001110
+01110000100010010010011011010010
+01110000100010010010010111010110
+01110000100010010010010011011010
+01110000100010010010001111011110
+01110000100010010010001011100010
+01110000100010010010000111100110
+01110000100010010010000011101010
+01110000100010010001111111101110
+01110000100010010001111011110010
+01110000100010010001110111110110
+01110000100010010001110011111011
+01110000100010010001101111111011
+01110000100010010001101011111011
+01110000100010010100011111110101
+01110000100010010100011011100110
+01110000100010010100010111010111
+01110000100010010100010011010110
+01110000100010010100001111000111
+01110000100010010100001011000110
+01110000100010010100000110000111
+01110000100010010100000010000110
+01110000100010010011111110000101
+01110000100010010011111001000110
+01110000100010010011110100000111
+01110000100010010011110000000110
+01110000100010010011101111000111
+01110000100010010011101011000110
+01110000100010010011100111000101
+01110000100010010011100011000100
+01110000100010010011011111000011
+01110000100010010011011011000010
+01110000100010010011010111000001
+01110000100010010011010011000000
+01110000100010010011001110000000
+01110000100010010011001010000000
+01110000100010010011000110000000
+01110000100010010100101001111111
+01110000100010010100100111111000
+01110000100010010100100000000000
+01110000100010010101010111010000
+01110000100010010101011011100000
+01110000100010010101011110001000
+01110000100010010101100000111100
+01110000100010010101100100010000
+01011000001100000000000000000000
+01100000000100011000100101101001
+01110000100010010110100001100100
+01110000010000001011111000100100
+00100000010000000000000011101010
+01110000100010010110100011100100
+01111001001000000010101000000011
+00011000000000000010101000000000
+00100000010000000000000011001001
+00100000010000000000000011011011
+00100000011000000000000000000000
+01110000100010010000011000000010
+01011000001001100010010110100000
+00100000010000000000000100011111
+01110000100010010000000001111111
+00100000000000000000000010000010
+01110000100010010000000100010000
+01110000100010010101001000110000
+00100000000000000000000011001000
+01110000100010010101001011110000
+00011000000000000111001000110010
+01101000000100001000100110000000
+11000010100000101000000011010110
+11000010000000000000000011010011
+01100000000000001100000011001110
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000011000000000
+00100000011000000000000000000000
+01101000000000001100000011001110
+01111001001000000111111000000101
+01100000000100001000100101010010
+01101000000110001000100101010000
+00011000010000010000010000000111
+00011111111010011111111000000000
+10011000010000011111111000000000
+01100000000100001000100101010000
+01101000000100001000100101010001
+01111001001111111111111000000000
+01100000000100001000100101010001
+01101000000100001000100101010010
+01111001001111111111111000000101
+01100000000100001000100101010010
+00100000011000000000000000000000
+01101000000100001000100101101011
+01111001001111111111111000000100
+01111001001111111111111000000101
+01100000000100001000100101101011
+01110000100010010000010100000000
+01110000100010010000010001110000
+01110000100010010000010111111111
+01101000000100001000100101101011
+01111001001000000111111000000100
+01111001001000000111111000000101
+01100000000100001000100101101011
+00100000010000000000000011111100
+01110000100000000100001000000101
+00100000011000000000000000000000
+01110000100000000100001000001000
+01110000100010010000010100000000
+01110000100010010000010001110000
+00100000011000000000000000000000
+01101000000110011000000100111000
+01011000000100000000111100001111
+10011000010001100111110000000000
+00100000011000101000000000000000
+01100000000100011000000001001100
+01110000100000000100111111001010
+00100000010000000000000100000101
+01110000100000000111010000000000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00110111110110011000001000000000
+01100000000100001000000000000101
+00110111110110011000001000000000
+00110111110110011000001000000000
+00100000011000000000000000000000
+00100000000000000000000001100100
+01110000100010010101010111011000
+00100000000000000000000000101000
+01110000100010010101010111010010
+00100000000000000000000000101000
+01110000100010010101010111010001
+00100000000000000000000000101000
+01110000100010010101010111010000
+01110000100010010101011011100000
+00011000000000000010101000000000
+01111000010100001111110000000000
+01111000010100000111110000000000
+01111000001011110111110000000000
+01110000100010010000011000000000
+01110000100010010000001100000000
+01110000100010010000010001110000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000000000
+00100000011000000000000000000000
+00011111111000110111111000000000
+00011111111000001111111111111101
+00011111111000001111111111111111
+00100100001000101000000100100001
+00011000000000000111111000000000
+00100000011000000000000000000000
+01110000100010010000010001110111
+01110000100010010000001100000011
+00100000000000000000000000001010
+01110000100010010000001110000011
+01110000100010010000010001111111
+01110000100010010000001110100111
+00100000011000000000000000000000
+01110000010010101111100000000001
+01110000010010101111101000000001
+01110000010010101111011101001111
+01101000000000100100101011110111
+01100000000000100100101011111011
+01101000000010001100101011111011
+00011000010000001000010111111111
+01101000000000001100101011111110
+11000000000000000000000101000001
+00100000010000000000000100100101
+00100000010000000000001001000010
+01111000010000111111110000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01101000000010001100101011111100
+00011000010000100010101000000000
+01101000000100001000100100001000
+00101000010011111111111000000011
+01111001001000001111111000000101
+01100000000100001000100100001000
+00100000001000000000000110100001
+00100000010000000000000100100101
+00100000010000000000001001000010
+00100000010000000000001010010011
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00100000010000000101010001111111
+01101000000100001000100100001000
+00101000010011111111111000000011
+01111001001000001111111000000101
+01100000000100001000100100001000
+11011000101000000001000110011110
+01011000110011001100110011001100
+01100000000000011001000110011110
+11100000101000011000000000000000
+11100000101000011000000000000000
+11100000101000011000000000000000
+11100000101000011000000000000000
+11100000101000011000000000000000
+11100000101000011000000000000000
+11100000101000011000000000000000
+11011111001000000000000000011000
+11011000110000000001000110011110
+00100000001000000000000101011010
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000000000101011010
+00100000010000000000000101111000
+01011000000000000010111011100000
+00100000010000000010101010001111
+00100000010000000000000110101101
+01101000000000100100101011111011
+01101000000010100100101011110111
+10011000010001100111110000000000
+00100100010000101000000101100110
+00100000001000000000000100101111
+01011000000100100100111110000000
+00100000010000000010101010001111
+01011000000100100100111110000000
+00100000010000000010101010001111
+01011000000100100100111110000000
+00100000010000000010101010001111
+00100000001000000000000000010101
+00100000010000000000000100100101
+00100000010000000000001001000010
+00100000010000000000001010010011
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00100000010000000101010001111111
+01101000000000001100101011111101
+01100000000100001000100100001000
+00100000001000000000000111000010
+00100000001000000000000100001011
+01101000000010001100101011111011
+00011000010000001000010111111111
+01101000000000001100101011111111
+00101111111000000000001000000001
+00100000010000001000000110010010
+00100100010000001000000110000101
+00100000010000000100110000101110
+01101000000000111100101011111011
+01101000000010111100101011110111
+10011000010001100111110000000000
+00100000001000101000000101111111
+00100000001000000000000100101100
+00100000010000000000000101111000
+00100000010000000000001010010110
+01011000000000000000010100000000
+00100000010000000010101010001111
+00100000001000000010100100100100
+01111000010011101111110000000000
+01111000010011100111110000000000
+01111000010001101111110000000000
+01111000010001100111110000000000
+01111000010001001111110000000000
+01111000010001110111110000000000
+01111000010000111111110000000000
+00100000001000000000000100001011
+00100000010000000000000101111000
+00100000010000000000001010010110
+01101000000010001100101011111100
+00011000010000010010101000000111
+00100000001000000010100111101011
+00100000010000000000000100100101
+00100000010000000000001001000010
+01111000010000111111110000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01101000000010001100101011111100
+00011000010000100010101000000000
+01101000000000001100101011111101
+01100000000100001000100100001000
+11000000000000000000000111000000
+11011111001000000000000000011110
+11011000110000000100110000000111
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000000000110100011
+00100000010000000000000110101101
+01101000000000100100101011111011
+01101000000010100100101011110111
+10011000010001100111110000000000
+00100000001000101000000110100001
+00100000010000000000000101100110
+00100000001000000000000100101111
+00100000010000000000000000010101
+11000000000000100000000110111010
+11000000000000001000000110110001
+00100000011000000000000000000000
+01101000000000001100101011110111
+11000000001001111000000110110110
+11000000000101110000000110111000
+01110000010010101111011101001111
+00100000011000000000000000000000
+01110000010010101111011100101110
+00100000011000000000000000000000
+01110000010010101111011100000010
+00100000011000000000000000000000
+01101000000000001100101011111110
+11000000000000000000000110111110
+01110000010010101111101000000000
+00100000011000000000000000000000
+01110000010010101111101000000001
+00100000011000000000000000000000
+01101000000000001100101100000000
+11000000000000001000001000001000
+01101000000000001100101011111100
+11000000000000001000000111000111
+11000000000000011000000111010100
+11000000000000111000000111100001
+00100000011000000000000000000000
+01101000000000001100101100000001
+11000000000011001000000111001011
+11000000001111000000000111001110
+11000000011110000000000111010001
+11011111001000000000000000110111
+11011000110000000100110000000111
+00100000001000000000000101011010
+11011111001000000000000011001101
+11011000110000000100110000000111
+00100000001000000000000101011010
+11011111001000000000000101100011
+11011000110000000100110000000111
+00100000001000000000000101011010
+01101000000000001100101100000001
+11000000000011001000000111011000
+11000000001111000000000111011011
+11000000011110000000000111011110
+11011111001000000000000001101001
+11011000110000000100110000000111
+00100000001000000000000101011010
+11011111001000000000000110010101
+11011000110000000100110000000111
+00100000001000000000000101011010
+11011111001000000000001011000001
+11011000110000000100110000000111
+00100000001000000000000101011010
+01101000000000001100101100000001
+11000000000011001000000111100101
+11000000001111000000000111101000
+11000000011110000000000111101011
+11011111001000000000000001111000
+11011000110000000100110000000111
+00100000001000000000000101011010
+11011111001000000000001001001110
+11011000110000000100110000000111
+00100000001000000000000101011010
+11011111001000000000001111101000
+11011000110000000100110000000111
+00100000001000000000000101011010
+01101000000000001100101100000001
+11000000000011001000000111110010
+11000000001111000000000111110101
+11000000011110000000000111111000
+11011111001000000000000001101001
+11011000110000000100110000000111
+00100000001000000000001000011010
+11011111001000000000000110010101
+11011000110000000100110000000111
+00100000001000000000001000011010
+11011111001000000000001011000001
+11011000110000000100110000000111
+00100000001000000000001000011010
+01101000000000001100101100000001
+11000000000011001000000111111111
+11000000001111000000001000000010
+11000000011110000000001000000101
+11011111001000000000000001111000
+11011000110000000100110000000111
+00100000001000000000001000011010
+11011111001000000000001001001110
+11011000110000000100110000000111
+00100000001000000000001000011010
+11011111001000000000001111101000
+11011000110000000100110000000111
+00100000001000000000001000011010
+01101000000000001100101011111100
+11000000000000001000001000001101
+11000000000000011000000111101110
+11000000000000111000000111111011
+00100000011000000000000000000000
+01101000000000001100101100000001
+11000000000011001000001000010001
+11000000001111000000001000010100
+11000000011110000000001000010111
+11011111001000000000000000110111
+11011000110000000100110000000111
+00100000001000000000001000011010
+11011111001000000000000011001101
+11011000110000000100110000000111
+00100000001000000000001000011010
+11011111001000000000000101100011
+11011000110000000100110000000111
+00100000001000000000001000011010
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000000001000011010
+00100000001000000000001000100101
+00100000010000000100110000101110
+01101000000000111100101011111011
+01101000000010111100101011110111
+10011000010001100111110000000000
+00100000001000101000000111000010
+00100000010000000000000101111000
+00100000001000000000000100101100
+00100000010000000000000101111000
+00100000010000000111111100010110
+11011000111000000000000000001111
+01011000000000000000000000001100
+00100000010000000111111100001000
+11011000111000000000000000001111
+00100000010000000111111100010110
+00100000001110100000001000110011
+00100000010000000100110000101110
+01101000000000111100101011111011
+01101000000010111100101011110111
+10011000010001100111110000000000
+00100000001000101000001000101010
+00100000001000000000000100101100
+00011000000010100111111000000000
+01100000000000001100110000000110
+01101000000000001100110000000110
+00011111111001100111110001010000
+00100000001000010000001000111011
+00011111111000001111111110110000
+01100000000000001100110000000110
+00100000001000000000001000110101
+01101000000000001100110000000110
+11000000000000000000001001000000
+11000000000000001000001001000000
+01100000000000001100101011110111
+00100000001000000000000100101100
+01110000010010101111011100000010
+00100000001000000000000100101100
+01100000000010001000000000010111
+00011000010000001010001000000001
+00100000010000000000001001011100
+01011000000000000000010100000000
+00100000010000000000000100011111
+01110000100010010000011000000001
+01110000100010010000000000111100
+01110000100010010000000111100000
+01110000100010010110110100010010
+00100000000000000000000000001010
+01110000100010010000001000000001
+01110000100010010000001000111101
+00100000000000000000000000001010
+01110000100010010000001110110111
+00100000000000000000000000001010
+01110000100010010000001001111101
+01110000100010010101011011111111
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111011000
+00100000000000000000000000000100
+01110000100010010101010111011111
+00100000011000000000000000000000
+01011000000000000000100101100000
+10011010001000001000010000000000
+01101000000000001100000010111101
+01110000100010010101111100000100
+10011000010011111111111000000000
+01101000000010001100000010111110
+10011000010001101111110000000000
+00100000010000000000001001110010
+00011000000001111010001000000000
+00011000000001110111111000000000
+00011111111100000111111000000000
+00011111111100100111111000000000
+10011000010001101111110000000000
+00100000010000000000001001110010
+00011000000001111111111000000000
+00011111111011010111111000000000
+00011111111000111111111000000000
+10011010001000011111111000000000
+01100000000100100000100101100000
+01110000100010010101111101000100
+01110000100010010101111111000100
+00100000011000000000000000000000
+00100000011110101000000000000000
+00100000001000000000001001110010
+11011111001000000000000011111111
+11011000101000000100110000000111
+01011000000000000000000111111111
+00011000000000000010010000000000
+00011111111010010010001000000000
+00011010001000110010001000000000
+10011010001000101010001000000000
+00101010001011111111111000000000
+01111001001000001111111000001001
+00011000010000110000010000000000
+00101111111011111111111000000000
+01111001001000001000010000000111
+00011111111000110111111000000000
+00011010010000001010010000000001
+00101010010000000000111000000000
+00100100001000001000001001111000
+11100000101010001000000000000000
+11000010000000000000001001111000
+00100000011000000000000000000000
+01101000000100100000000001111000
+01101000000110100000000001111100
+10011000010000011111111000000000
+00011111111001000111111000000000
+01101000000110100000000001110000
+10011000010000011111111000000000
+01100000000100100000000001110000
+00100000011000000000000000000000
+01110000100000101000000000000101
+00100000011000000000000000000000
+00100000001000000000001010010001
+00100000001000000000001010010010
+01111000001110110111110000000000
+01110000100010010001010000000111
+00100000011000000000000000000000
+01100000000010001000000000010111
+00011000010000001010001000000100
+00100000001000000000001001011100
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+00100000010000000010101010111100
+01000100100000000100000000000000
+00100000100000000000000000000000
+00100000010000000110010000001101
+00100000010000000010100101101100
+00100000010000000110010110100011
+00100000010000000010101010010110
+00100000010000000100110101101010
+01000100100000001100000000000000
+00100000010000000110101000000011
+00100000010000000101110011110110
+00100000010000000111110011001100
+00100000010000000011001011011000
+00100100010101011110100010011100
+01000100100000010100000000000000
+00100000010101011011001011100011
+00100000010000000111010101101010
+00100000010101011010101101000001
+01000100100000011100000000000000
+00100000010000000111011011011100
+00100000010000000111101010101111
+00100000010000000111010101101101
+00100000010000000101001101011100
+01000100100000100100000000000000
+00100000010000000010000000111000
+00100000010000000011001011101101
+00100000010000000010000010001111
+00100000010000000010001011111000
+00100000010000000010001101101010
+00100000010000000010000000100001
+00100000010000000010101101101010
+00100000010000000010110001110010
+00100000001000000010000000010010
+00100000010000000010000000100110
+11000110100001001000000000000000
+01111001001111111000000000001001
+00100000010000000010001000100011
+00100000001000000101001111001110
+01000100100000101100000000000000
+00100000010000000010001001011110
+00100100001000101010000000101111
+00100000010000000010001000001010
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000010100000000101001101100000
+11000010100000001010000101100110
+00100000001000000010001111001111
+00100000010000000010001000101011
+00011111001000100111110000000000
+00100000011000101000000000000000
+00100000010000000010001000001010
+01101000000000001000000000110000
+11000010100000011010000011010011
+01101000000000001000000000110001
+11000010100000001010000101100110
+00100000001000000010001111001111
+01101000000000001100000111001110
+00100000011110100000000000000000
+11000000000000001010000001001000
+11000000000000010010000001001101
+11000000000000011010000001010000
+11000000000000101010000001010101
+11000000000011011010000001000101
+00100000010000000010001001010111
+00100000011000101000000000000000
+00100000010000000010001001011010
+00100000011000101000000000000000
+01110000010000011100111000000000
+00100000011000000000000000000000
+01110000000001001001101100011011
+01110000010000011100111000000000
+00100000011000000000000000000000
+01111001001000000000000000011100
+01111001001111111000000000011110
+01110000000000001000111111111111
+01110000000000001000110100011111
+00100000001000000010000001000011
+01111001001111111000000000011100
+00011000000000000011011000000000
+00100000001000000010000001000011
+00100000010000000010001001011010
+00100000011000101000000000000000
+00011000000000000000010000000001
+01110000000000010110111000000101
+00100000001000000010000001011100
+01000100100000110100000000000000
+01101000000000110100000111010000
+00100000001110100010000001000011
+01110000010001101000000100000001
+01110000000000000101010100000011
+00100000001000000010000001011011
+00011000000000000000010000100101
+01000100100000111100000000000000
+01101000000000001000000011110001
+00100000001110100010000001100010
+00011111111010011111111000000000
+00011111111100100111111000000000
+00011111111000001111111111111111
+01100000000000001100000010100110
+01100000000000001000000011110000
+01110000000000001000111000011111
+01111001001111111000000000001100
+00100000010000000010001000111011
+00100100001000101010000010000011
+00100000010000000010101001101111
+01100000000000001000000001110111
+01100000000010001000000001111100
+01101000000000110100000111010000
+01100000000000110000000001000000
+01000100100001000100000000000001
+00100000010000000111111100010101
+00011000000000000111111000000000
+00101000010000011111111000000001
+01111101001000001111111000000101
+01111001001000000111111000000011
+01100000000000001000000000110000
+01110000000010101001100100000011
+00100000010000000111110110000110
+00011000000000000111111000000000
+01111001001000001111111000000100
+01100000000000001000000001001100
+01011000000000000000000000000000
+01111001001000000111111000000001
+01100000000000001000000000110001
+01111000001101001111110000000000
+00100000010000000010001000100011
+01111000010101001111110000000000
+00011000000000000000111000000011
+01101000000000010100000010111001
+00100000010000000111111100001000
+00100000001000000010000001000011
+01000100100001001100000000000001
+01101000000000110100000111010000
+01100000000000110000000001000000
+00101000010000011111111000000001
+00100000001000001010000010001001
+00100000001000000010000001000011
+11011000101000000000000100000001
+11011111001000000000000000001000
+00100000010000000111111011000110
+01110000000010101001100100000100
+00100000010000000111110110000110
+00100000001000000010000001000011
+11000110100011100000000000000000
+00011000000000000000111000000001
+00100000010000000111111100010110
+01111101001110100000000000011100
+00100100001110100010000010010101
+00100000011000000000000000000000
+01000100100001010100000000000001
+01101000000010010100000010111011
+00011000000000000000111000000100
+00100000010000000010011100011100
+00100000011101000000000000000000
+00100000010000000010100010100100
+00011000000000000100100000000000
+00100000011000011000000000000000
+01111001001111111000000000001011
+01111001001111111000000000000000
+00011100010000001100001000000001
+00101000000011111111111000011110
+01111001001000001100100000000010
+00101100001000000000010000000000
+00100100001000001010000010111110
+01000100100001011100000000000001
+01101000000000001000000000010010
+00011111111000001111111000000001
+01100000000000001000000000010010
+00100000010000000010100011011000
+00100000010000000010100011010010
+00100000010000000010100011110010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000010000000010011001001101
+00100000010000000010000010110001
+00100000001000000010000010011100
+01000100100001100100000000000001
+01101000000000001000000010001101
+00011111111000001111111111111111
+01100000000000001000000010001101
+00100000011000010000000000000000
+01110000000000001000110100011111
+01101000000000001000000010001111
+00011111111000001111111111111111
+01100000000000001000000010001111
+00100000011000010000000000000000
+01111001010000000000000000011110
+01110000000000001000111111111111
+00100000011000000000000000000000
+01000100100001101100000000000001
+00100000010000000010100011011000
+00100000010000000010100011001100
+00100000010000000010100011110010
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100000001011000010000011001000
+00100000010000000010000010110001
+00100000001000000010000010011111
+01000100100001110100000000000001
+00100000010000000010100110111011
+00100000010000000010101001101011
+00100000010000000010010100011110
+01111001001111111000000000000001
+11000110100001011000000000000000
+01000100100001111100000000000001
+01101000000000001000000000010011
+00011111111000001111111000000001
+01100000000000001000000000010011
+00100000011000000000000000000000
+01000100100010000100000000000010
+01111000001101001111110000000000
+01111000001110000111110000000000
+01101000000000010100000010110101
+00100000001110100010000011011011
+00011000000000000000111000001000
+00100000010000000111111100010110
+00100100011110100000000000000000
+01000100100010001100000000000010
+01101000000010010100000010110111
+00011000000000000000111000101000
+00100000010000000010011100011100
+00100000001101000010000100010100
+00011000000000000000111000000011
+00100000010000000111111100010110
+00100100001110100010000011110000
+01101000000000001000000001001100
+11000010100000100010000011100110
+00100000001000000010000011101001
+11011000101000000000000100000001
+11011111001000000000000000001000
+00100000010000000111111011000110
+01000100100010010100000000000010
+01110000000000000011000000000000
+00100000010000000101110011110111
+01110000010001101000000100000000
+01110000000010101001100100010011
+00100000010000000111110110000110
+00100000001000000010000100010100
+01000100100010011100000000000010
+00011000000000000001011000000000
+00110100011100110000001000000000
+01101000000000001000000011110010
+00011111111000001111111111111111
+10011100010000101111111000000000
+00101111111000000000011000000000
+00100100001000001010000011110000
+00011000100000100111111000000000
+01100000000000001000000110000001
+00011000000000000100110000000000
+00011000000000000100100000000000
+01000100100010100100000000000010
+00100000001000011010000100010100
+00100000010000000010100011011100
+11011001011000000000011000000000
+00110100011100110000001000000000
+01000100100010101100000000000010
+01101000000000100000000011110010
+10011000000000000100001000000000
+00011111111000001111111000000001
+01100000000000100000000011110010
+00101000000011111111111000001100
+01111001001000001100100000000010
+00101100001000000000010000000000
+00100100001000001010000100101000
+01101000000000001000000000001100
+00011111111000001111111000000001
+01100000000000001000000000001100
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000010000000010011001001101
+00100000010000000010000100011010
+00100000001000000010000011111100
+01000100100010110100000000000010
+01111000010101001111110000000000
+01101000000000010100000010110101
+00100000011110100000000000000000
+00011000000000000000111000001000
+00100000001000000111111100001000
+01000100100010111100000000000010
+01101000000000001000000010001110
+00011111111000001111111111111111
+01100000000000001000000010001110
+00100000011000010000000000000000
+01110000000000001000111000011111
+01101000000000001000000011110000
+00011111111000001111111111111111
+01100000000000001000000011110000
+00100000011000010000000000000000
+01111001010000000000000000001100
+01101000000000001100000010100110
+01100000000000001000000011110000
+00100000011000000000000000000000
+01000100100011000100000000000011
+00100000010000000010100011001100
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100000001011000010000100110000
+00100000010000000010000100011010
+00100000001000000010000100000001
+00100000010000000010011001001101
+01101000000000001000000000001101
+00011111111000001111111000000001
+01100000000000001000000000001101
+00011000000000000011011000000000
+01101000000000100000000011110010
+01000100100011001100000000000011
+00100000010000000010101001001111
+00100000010000000010100011011100
+00011100110000001100110000000001
+00011100001000010100001111111101
+00011100100000010100100111111100
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00011100010000100111111000000000
+01100000000000100000000101100001
+00011000000000000000100000000000
+00011000000000000000001000000010
+00100000010000000010101001101011
+00100000010000000010011101100110
+01000100100011010100000000000011
+00100000010000000010101001001101
+00011100001000011100001000000010
+00011100100000010100100111111100
+00100000010000000010100011001100
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100000010011000010011001001101
+00100000001011000010000101010101
+01101000000000001000000000010000
+00100000001110100010000011111100
+00011111111000001111111111111111
+01100000000000001000000000010000
+00100000001000000010000100110110
+01000100100011011100000000000011
+01101000000000001000000000001110
+00011111111000001111111000000001
+01100000000000001000000000001110
+00100000010000000010010000110101
+00100000010000000010001011110010
+00100000001011000010000101011111
+00100000010000000010010001010101
+00100100001110100010000101011010
+00100000001000000010000011111100
+01000100100011100100000000000011
+01101000000000001000000000110000
+01111001001111111111111000000011
+01100000000000001000000000110000
+00100000010000000010010001000000
+01111000010101001111110000000000
+00100000011000000000000000000000
+01000100100011101100000000000011
+01111000001101001111110000000000
+01111000001110000111110000000000
+00100000010000000010000111100001
+00100000011101000000000000000000
+00100000010000000010110001101001
+00100000010000000010101001001111
+00011100010000001100001000000001
+00100000010000000010100011100010
+00011000000000000100100000000011
+00100000010000000110110011000010
+00100000010000000010010010001001
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000010000000010011101100010
+01000100100011110100000000000011
+00100000010000000101110100001000
+00100000010000000010001011100100
+00100100001101101010000110000000
+00100000010000000010101010001000
+00100000010000000010011100101000
+01101000000000001000000000001111
+00011111111000001111111000000001
+01100000000000001000000000001111
+01000100100011111100000000000011
+00100000010000000110110010101010
+00100000010000000010000110001011
+00100100011101001000000000000000
+00100000010000000010011011110011
+00100100001110100010000110001000
+01111000010101001111110000000000
+00100000011000000000000000000000
+00100000010000000010010010001001
+00100000010000000010001011011010
+00100000001000000010000101110111
+00100000001101101010000110001110
+00100000010000000010101001111111
+00100000001000010010000110011100
+00100000010000000010000110100111
+00100100001101000010000110011100
+01101000000000001000000001001100
+11000100000000100000000000000000
+11000011100000011000000000000000
+01101000000000001000000001001011
+11000011100000011000000000000000
+00100000010000000010000110101110
+00100100011110100000000000000000
+01101000000000001000000101101110
+00011111111000001111111111111111
+01100000000000001000000101101110
+00100100011110100000000000000000
+00100000001000000110000000000110
+01000100100100000100000000000100
+00100000010000000010010001011101
+01111000010101001111110000000000
+01101000000000001000000001001100
+11000010100000100010000110100010
+00100000011000000000000000000000
+01101000000000001000000001001100
+11000011100000011000000000000000
+11011000101000000000000100000001
+11011111001000000000000000001000
+00100000001000000111111011000110
+01000100100100001100000000000100
+01111000001101000111110000000000
+01101000000000001000000001001011
+11000100000000011000000000000000
+00100000010000000010000110101110
+00100100011110100000000000000000
+00100000001000000111111111101001
+01101000000000001000000001110010
+00011111111000001111111111111111
+01100000000000001000000001110010
+00100000011000000000000000000000
+01000100100100010100000000000100
+01101000000000001000000000110000
+11000010100000111010000110111011
+01101000000000001000100110110101
+00100000001110100010000110111011
+01110000000010011011010100000000
+01110000000010101001100100011000
+00100000010000000111110110000110
+00100000001000000010000110111011
+01000100100100011100000000000100
+00100000010000000010001001010100
+01101000000000001000000000110000
+01111001001000000111111000000111
+01100000000000001000000000110000
+01110000010000011011110100000001
+01101000000000001000000001010101
+11000000100010110010000111000011
+00100000011000000000000000000000
+01110000000010011011010100000001
+01101000000000001000000000110000
+01111001001111111111111000000111
+01100000000000001000000000110000
+00100000011000000000000000000000
+01000100100100100100000000000100
+01111000010101000111110000000000
+01101000000000010000000000110010
+11011000010000001111111111111111
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000100000000000110100
+00100000001110000010000111010011
+10011101000001100111111000000000
+00100000001000000010000111010100
+10011100010001100111111000000000
+00011111111001100111110000000100
+00100100011000010000000000000000
+00011000000000000111111000000000
+01100000000000010000000000110010
+00100000001000000111111111100111
+00011111111000100000010000000000
+01000100100100101100000000000100
+01100000000010100000000000110100
+01110000010001010101101100000001
+01011000000000001111111111111111
+01100000000000010000000000110010
+01110000000000000111001100000001
+00100000011000000000000000000000
+01000100100100110100000000000100
+00100000010000000010000111001001
+00100100011101000000000000000000
+01111000010101000111110000000000
+01110000000000000001000100100000
+01111001001111111000000000001011
+00100000010000000010101001001111
+00100000010000000010001011100110
+11000101000001011010000111110100
+00100000010000000010010001010101
+00100100001110100010000111100111
+01000100100100111100000000000100
+01111000010101000111110000000000
+00011100010000100111111000000000
+01100000000000100100000011001010
+01111000001110000111110000000000
+01111000001101001111110000000000
+01110000000010101001100100101010
+00100000001000000111110110000110
+01000100100101000100000000000101
+00100000010000000010101001001101
+11011000001000000000000000010000
+00100000010000000010001011011100
+01111000010110000111110000000000
+01111000010101001111110000000000
+00100000010000000010100000011000
+00100000010000000010010000110101
+01000100100101001100000000000101
+00100000010000000010010001111100
+00100000001101101010001000000010
+00100000010000000010010001010101
+00100100001110100010000111111100
+00100000001000000010000111101100
+01101000000000001000000000110001
+01111001001111111111111000000001
+01100000000000001000000000110001
+00100000010000000010101010001000
+00100000010000000010100001000001
+01111000001101000111110000000000
+01110000000010101001100100101011
+00100000001000000111110110000110
+01000100100101010100000000000101
+01111001001000000000000000001001
+00011010001000100111111000000000
+01100000000000010000000000011110
+00011000000000000111001001010000
+11011000101000000000010000111111
+00011010001000001000110000000001
+11101000110000001000000000000000
+00011010001000100000110000000000
+11000010100000000111111100000001
+11011000101000000000000000110000
+00100000010000000111111100000001
+01111000010101110111110000000000
+01101000000000001000000001110111
+10011000000000000000100000000000
+01110000000000001000101000000001
+00100000001101001010001000011100
+01110000000000001000101000000001
+01101000000000001000000000110000
+11000100000000001000000000000000
+01101000000000001000000001110011
+01100000000000001000000010001010
+01101000000000001000000001110100
+01100000000000001000000010001011
+00100000011000000000000000000000
+01000100100101011100000000000101
+01101000000000010000000000011110
+10011000000000000000101000000000
+00011000000000000111001001010000
+11011000110000000000010000111111
+00100000001110110111111100000001
+11011000110000000000000000110000
+00100000001000000111111100000001
+11011111001000000000000000000001
+01101000000010001000000000010101
+00011000010000001000010000000001
+00101000010000011111111000000001
+00100100001000001010001000110001
+11011000010000000000000000000000
+01100000000010001000000000010101
+00011000010011111111111001010000
+11011010001000000100000001000000
+10011010001000001010001000000000
+11101010001000001000000000000000
+11000010100000001010001000111001
+11000011100000000000000000000000
+11000011100000011000000000000000
+11000010000000000010001000101101
+00100000011000000000000000000000
+01000100100101100100000000000101
+11011010011000000010001001101010
+00100000010000000010001001100001
+00100100011000101000000000000000
+00011010001000100111111000000000
+01100000000000010000000000011110
+00011000000000000111110000000000
+00100000011000000000000000000000
+00100000010000000010011100100101
+00100000001000001010001001001011
+01101000000000010000000000011110
+00011111111000001000101000010111
+01101000000000001000000001000111
+11100000101000001000000000000000
+11011010011000000010001010101010
+00100000001000000010001001100001
+01101000000000001000000001000111
+00101111111011111111111000000011
+00100000001000001010001001010000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000011000000000000000000000
+11011010011000000010001010100111
+00100000001000000010001001100001
+01101000000010010000000000011110
+11011010011000000010001011001111
+00100000001000000010001001100001
+01101000000010001100000111001111
+11011010011000000010001001110101
+00100000001000000010001001100001
+01000100100101101100000000000101
+01101000000010110100000111010000
+11011010011000000010001001101110
+00100000001000000010001001100001
+11011010011000000010001001111011
+00100000001000000010001001100001
+11011010011000000010001011000110
+01000100100101110100000000000101
+11011010001000000100000001000000
+11011111001000000000000000000001
+11101010001000001000000000000000
+00011010011000100111101000000000
+00011010001000001010001001010000
+11000010000000000010001001100100
+00011000000000000111110000000001
+00100000011000000000000000000000
+11000010100000000010001001100110
+11000010100000011010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000010100000011010001001110000
+11000011000000000010001001100110
+00011010001000001000110000010000
+11101000110000110000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+00100000001000000010001001100110
+11000011000000000010001001100110
+00011010001000001000110000010110
+11101000110000001000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+00100000001000000010001001100110
+11000011000000001010001001100110
+00100000010000000010001010110011
+00100000010000000010001010010111
+10011000010001100111111000000000
+00011111111000001111111000000001
+00100000001000010010001010010001
+00011000110000100010010000000000
+01100000000001001000101010100010
+01101000000000001100010011000000
+00100100001110100010001010001001
+01101000000001001000101010100010
+00011010010000100000110000000000
+00011111111000001111111000000101
+00100000001000000010001010001100
+01101000000001001000101010100010
+00011010010000100000110000000000
+00011111111000001111111000010100
+00100100001000010010001001100110
+00011000010000100100001000000000
+00100000010000000010001010111111
+00011000000000000111110000000000
+00100000011000000000000000000000
+10011000000000000010010000000000
+00011010001000001000110000000010
+11101000110000010000000000000000
+00100000001110100010001010001101
+00100000010000000010001010111111
+00100000001000000010001001111100
+00011111111100010001011000000000
+00011001011011001001011000000000
+00100000001000101010001010100001
+00101001011000000001111000001111
+00100100011000001000000000000000
+00011000010100010001011000000000
+00011001011011001001011000000000
+00100100011000101000000000000000
+01111001001000000000010000011100
+00100000011000000000000000000000
+00011000010100010001011000000000
+00011001011011001001011000000000
+00101001011000000001111000001111
+00100100011000001000000000000000
+01111001001000000111111000011100
+00100000011000000000000000000000
+11000011000000000010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000011000000000010001001100110
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000010100000000010001001100110
+00011010001000001000110000010111
+11101000110000001000000000000000
+11000011000000011010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+00011010001000001000110000000001
+11101000110010001000000000000000
+00011100010000100111111000000000
+00101000010011111111111000000001
+00011010001000001000110000000100
+11101000110010100000000000000000
+00100000011000001000000000000000
+00011010001000001000110000001000
+11101000110000110000000000000000
+00100000010000000010100001010100
+00011101000000100111111000000000
+00100000011000000000000000000000
+00011010001000001000110000000010
+00011010001000001000101000000100
+11101000110000010000000000000000
+10011000010000001001011000000000
+00011001011000100111111000000000
+11100000101000100000000000000000
+00100000001000000101010001001001
+11000011000000001010001001100110
+00100000010000000010001010110011
+10011011011000001111111000000000
+10011011011000001111111000000000
+10011000111000001111111000000000
+10011000010001100111110000000000
+00100100001000010010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000011000000000010001001100110
+00011000010000100111111000000000
+10011010001001100111110000000000
+00100000001111110010001001100110
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000010100000000010001001100110
+11101010001000001000000000000000
+01111001001111111111111000000111
+11100010001000001000000000000000
+00100000001000000010001001100110
+01000100100101111100000000000101
+00100000010000000010101001001111
+00011100010000001100001000000001
+00100000010000000010100011100010
+00011000000000000100100000000011
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000001000000010011101100010
+01000100100110000100000000000110
+00100000010000000010101001001101
+00011100010000001100001000000001
+00100000010000000010100011100010
+00011000000000000100100000000011
+00100000010000000010100011001100
+00100000010000000010010000101010
+00100000010000000010100111110001
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100100011011000000000000000000
+00100000010000000010100110111011
+00100000001000000010010100011100
+01000100100110001100000000000110
+01101000000000001000000110000001
+10011000000000000000100000000000
+00011000000000000000001000000001
+00100000010000000010001011011010
+00100000001000000010001011100100
+01101000000000001100000010010011
+11000100000000000000000000000000
+00011000000000000000111000000100
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000010010100000010101101
+00011000000000000000111000000100
+00100000010000000010011100011100
+00100000011101000000000000000000
+00100000010000000010001100001000
+00011000000000000000111000000100
+01101000000000010100000010101111
+00100100001011000111111100001000
+00011000000010100111111000000000
+10011110101000010111111000000000
+00100000001000000111111100001000
+01000100100110010100000000000110
+01110000000000011000000100000000
+01111000010110000111110000000000
+01111000010101110111110000000000
+00100000010000000010100010100100
+00011100010000010100001111111100
+00011000000000000100100000000001
+00100000010000000010100011011000
+00100000010000000010100011001100
+01111001010000000000000000011101
+01101000000000001000000000000110
+00011111111000001111111000000001
+01100000000000001000000000000110
+00100000010000000010100011110010
+00100000010000000010100111101011
+00100000010000000010101000010100
+00100100011011000000000000000000
+01000100100110011100000000000110
+00011000000000000011011000000000
+00100000010000000010100011111001
+01101000000000001000000000000111
+00011111111000001111111000000001
+01100000000000001000000000000111
+00100000010000000010100011011000
+00100000010000000010101001001101
+00011100001000011100001000000010
+00011000000000000100100000000001
+00100000010000000010100011010010
+00100000010000000010100011110010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00011100010000100111111000000000
+01100000000000100000000101100001
+00100000010000000010101001100100
+00011000000000000000001000000010
+00011000000000000000100000000000
+00100000010000000010101001101011
+00100000010000000010011101100110
+00100000010000000010001100110010
+00011100001000010100001111111101
+00011100110000001100110000000001
+00100000011000000000000000000000
+01000100100110100100000000000110
+01101000000000001100000011010001
+00100000011110100000000000000000
+11011000101000000000000110001110
+01101000000000001100010100010101
+00011111111000100111001000000000
+00011111111000001111111000000001
+11100000101000001000000000000000
+00011000101000100000010000000000
+00011111111000001111111000000001
+01100000000000010100000111011100
+00011000010000100000101000000000
+01011000000000000000000000001001
+11100000101000001000000000000000
+11011000110000000100010100010110
+00100000010000000111111100000001
+11011010011000000100010110001101
+11011111001000000000000000000100
+00100000010000000010001101010100
+11011010011000000100010101110111
+11011111001000000000000000000001
+00100000010000000010001101010100
+00011000000000000000001000001010
+01110000010000011101101100000010
+01011000000000000000000110001110
+01100000000000010000000101101111
+00100000010000000010101001001101
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000010000000010101001100100
+00100000010000000010101001101011
+00100000010000000010011101100110
+00100000011000000000000000000000
+00011000101000100000010000000000
+00011010011000100000110000000000
+11101000110000001000000000000000
+00100000011110100000000000000000
+00011111111000111111111000000000
+11000010000000000010001101011000
+00011111111000100010001000000000
+00011111111000001111111000000010
+00011111111000100000111000000000
+01101000000000010100000111011100
+10011000111000001111111000000000
+01100000000000010100000111011100
+00011000010000100000101000000000
+00011010001000100111111000000000
+00011111111000001111111000000001
+11100000101000001000000000000000
+00011010011000100000110000000000
+11101000110000001000000000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00011010001000100111001000000000
+00100000001000000111111100000001
+01101000000000001100000010010011
+11000100000000001000000000000000
+00011000000000000000111000000101
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000010010100000010110001
+00011000000000000000111000101000
+00100000010000000010011100011100
+00100000011101000000000000000000
+00011000000000000000100000000000
+01110000000000000001000000001000
+01111001001111111000000000001011
+00100000010000000010001101111010
+00011000000000000000111000000101
+01101000000000010100000010110011
+00100000001000000111111100001000
+01000100100110101100000000000110
+01111000010110000111110000000000
+00100000010000000010100010100100
+01101000000000001000000000001000
+00011111111000001111111000000001
+01100000000000001000000000001000
+00011000000000000100110000000000
+00100000010000000010100011100010
+00011100010000001100001000000001
+00011000000000000100100000000010
+01000100100110110100000000000110
+00100000010000000010100011001100
+00100000010000000010100111101011
+00100000010000000010101000010100
+00100100011011000000000000000000
+00100000010000000010100011111001
+01101000000000001000000000001001
+00011111111000001111111000000001
+01100000000000001000000000001001
+00011000000000000011011000000000
+00100000010000000010101001001101
+00011100001000011100001000000010
+00011000000000000100100000000001
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000010000000010101001100100
+00100000010000000010011001001101
+00011000000000000000100000000000
+11011001011000000000011000000000
+00110101001100110000001000000000
+00011101000000011101000000000011
+00011100001000010100001111111101
+01000100100110111100000000000110
+00011100110000001100110000000001
+00100000010000000010100011001100
+00100000010000000010100111101011
+00100000010000000010101000000111
+00100100001011000010001110100100
+00100000010000000010101001101011
+00100000010000000010010100011110
+11000101000001011010001110101011
+01000100100111000100000000000111
+01101000000000001000000000010000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001000000000010000
+00100000010000000010101001001111
+00100000001000000010001110011011
+01000100100111001100000000000111
+01111001001111111101000000000001
+01111001001000000101000000000000
+01101000000000001000000000001010
+00011111111000001111111000000001
+01100000000000001000000000001010
+00100000010000000010101001001101
+00011100001000011100001000000010
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000010000000010101001100100
+00100000010000000010011001001101
+00101101000000000000011000000011
+00100000001000001010001110111100
+00110111110010111000001000000000
+00100000001000000010001110111000
+01101000000000100000000101100101
+00011111111000011111111000000011
+00011111111000100101000000000000
+01000100100111010100000000000111
+01101000000000110000000101111000
+01100000000000110000000001000000
+00100000010000000010010000110101
+00100000010000000010010001111100
+00100000001101101010001111001000
+00100000010000000010010001010101
+00100100001110100010001111000011
+00100000011000000000000000000000
+01000100100111011100000000000111
+00100000010000000010010001000000
+00100000010000000010001000111011
+00100100011000101000000000000000
+01110000000000000011000100000000
+00100000010000000010100001000001
+00100000001000000010001000100011
+01000100100111100100000000000111
+00100000010000000010100001010000
+00100000010000000010001111110011
+00100000011101000000000000000000
+01000100100111101100000000000111
+00100000010000000010110001101001
+00100000010000000110110010101010
+00100000010000000010010100010100
+00100100001101101010001111100010
+00100000010000000010101010001000
+00100000010000000110110011000010
+00100000010000000010010010001001
+00100000010000000010011101010111
+00100000010000000010011100101000
+00100000010000000101110100001000
+01101000000000001000000000001011
+00011111111000001111111000000001
+01100000000000001000000000001011
+00100000010000000010100001000001
+01000100100111110100000000000111
+00100000010000000010101110110001
+00100000010000000010101001111111
+00100000001000010010001111101011
+00100000010000000010000110100111
+00100100001101000010001111101011
+00100000010000000010011011110011
+00100100001110100010001111010011
+00100000011000000000000000000000
+01000100100111111100000000000111
+01110000000000010101000100000000
+01110000000000010111111100000000
+00100000010000000010010001011101
+01111001001111111000000000010001
+00100000010000000111111110110000
+01101000000000001000000000110000
+00100000011000000000000000000000
+01000100101000000100000000001000
+00100000010000000010000111001001
+00100100011101000000000000000000
+00011000100000100000010000000000
+00100000010000000010101001101111
+01100000000000001000000110000001
+00011000010000100000100000000000
+01110000000000000001000100100000
+01000100101000001100000000001000
+00100000010000000010101001001111
+00011000000000000000001000000010
+00100000010000000010011101001111
+00011100010000100111111000000000
+01100000000000100000000101100001
+00100000010000000010011101100010
+00100000010000000010101001001101
+01111000001101111111110000000000
+00100000010000000010010011110110
+00100000001011000010010000001101
+00100000010000000010100011111001
+00100000010000000010010001010101
+00100100001110100010001111111011
+11000110100000100000000000000000
+01110000000000000111110000110100
+01111001001000000000000000000011
+00100000011000000000000000000000
+01111000001110000111110000000000
+00100000010000000010010000110101
+00100000010000000010100010100100
+01000100101000010100000000001000
+00100000010000000010001011110010
+00100000001011000010010000011001
+00100000010000000010010001010101
+00100100001110100010010000010000
+01111000010110000111110000000000
+00011101000000100111111000000000
+01100000000000100100000011001010
+00100000011000000000000000000000
+01111000001101001111110000000000
+11000101100000100010010000011111
+01111001001111111000000000000100
+01110000000000000111110000000011
+01110000000000000111110100110011
+00100000010000000110001011111000
+00011000100000100111111000000000
+01100000000000001000000001110111
+00011000000000000111111000000000
+01100000000000110000000000111000
+01101000000000001000000000110001
+01111001001000000111111000000001
+01100000000000001000000000110001
+00100000010000000010101010001000
+01111000010101001111110000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01000100101000011100000000001000
+01111000010101101111110000000000
+01111001001111111000000000000101
+01111001001111111000000000001010
+01111001001111111000000000010000
+01111001001111111000000000001111
+01101000000000001000000001000111
+01111001001111111111111000000101
+01111001001000000111111000000100
+01100000000000001000000001000111
+00100000011000000000000000000000
+01000100101000100100000000001000
+01110000000000000001000100100000
+01110000000000000100011101010000
+01101000000000010100000010111111
+01100000000000010000000000111110
+00011100010000100111111000000000
+01100000000000100100000011001010
+00100000011110000000000000000000
+00011101000000100111111000000000
+01100000000000100100000011001010
+00100000011000000000000000000000
+01000100101000101100000000001000
+00100000010000000101110100000100
+00100000010000000010010001011001
+01100000000000001000000001000110
+01011000000000000000000000000000
+01100000000000010000001001011101
+01011000000000000001110010000000
+01100000000000010000000001010001
+01101000000000001000000000110000
+01111001001000000111111000000000
+01100000000000001000000000110000
+01110000000000000100101100000000
+01110000000000000100110000000000
+01110000000000001010000000000000
+00100000001000000010101010001000
+01000100101000110100000000001000
+00011000000000000111111000000000
+01100000000001000100000110111110
+11100000101001000000000000000000
+00100000010000000010000111000101
+00100000001000000010001001010100
+01101000000000001000000000010001
+00011111111000001111111111111111
+01100000000000001000000000010001
+00100000011000000000000000000000
+01101000000000001100000011001111
+00011111111000001111111000000001
+01100000000000001100000011001111
+00100000011000000000000000000000
+01000100101000111100000000001000
+01101000000000001100000111001110
+11000000000000011010010001100010
+01101000000000001000000001001000
+11000000100000001010010001100110
+00100000010000000100110100000110
+00100100001000101010010001100110
+00100000010000000010000110100100
+01110000010000011100111000000000
+01000100101001000100000000001001
+00100000010000000011001110101111
+00100000010000000010011011101001
+01110000000010101001100100000010
+00100000010000000111110110000110
+00100000010000000101110011110111
+00100000010000000100110101101011
+00100000010000000111010101111101
+01101000000000001000000000110000
+01111001001111111111111000000000
+01100000000000001000000000110000
+01110000010001101000000100000000
+01101000000000001000000001001100
+00101111111000011000000000000000
+00100000001000001010010001110110
+01111001001111111000000000000001
+01101000000000001000000001000111
+11000011000000011010010001111000
+01101000000000001000000001001011
+11000100000000110000000000000000
+01111001001111111000000000000010
+00100000011000000000000000000000
+01000100101001001100000000001001
+01101000000000001000000101110100
+00100000011110100000000000000000
+00011111111000100000100000000000
+00100000010000000010010100010100
+00100100011101101000000000000000
+00011000000000000000001000000000
+00100000010000000010011101010111
+00011000100000100111111000000000
+01100000000000001000000001110111
+00011000000000000111111000000000
+01100000000000001000000101110100
+00100000011000000000000000000000
+01000100101001010100000000001001
+01101000000000001000000000110000
+11000011000000010010010010010110
+00011000000000000000001000000111
+11000101100000111010010010010101
+00100000010000000010011100100101
+00100100001000001010010010010110
+00100000001101110010010010010110
+00100000010000000010010011000001
+01011000000000000000000000000010
+01100000000000010100000011001000
+00100000011000000000000000000000
+00100100011101110000000000000000
+01000100101001011100000000001001
+00100000010000000010001001000011
+00100100001000101010010010100111
+01101000000000001000000001000111
+11000011000000011010010010110000
+11000101000000101010010010110100
+01101000000000001000000101111111
+11000010100000110010010010111010
+01101000000000010100000011001000
+00011111111000001111111111111111
+01100000000000010100000011001000
+00100000001110100010010010100101
+01101000000000001100000011000101
+10011000000000000000001000000000
+00100000011000000000000000000000
+01000100101001100100000000001001
+00100000010000000010011010000111
+00100000010000000010011100100101
+00100000001000001010010010110000
+00100000010000000110000000001010
+00100000001101000010010010111110
+01101000000000001000000001001011
+11000010100000110010010011000000
+11000101000000101010010010110100
+01101000000000001000000101111111
+11000010100000110010010010111010
+00011000000000000000001000000001
+00100000011101001000000000000000
+00011000000000000000001000000000
+00100000011000000000000000000000
+01000100101001101100000000001001
+01101000000000001000000000011001
+10011000000000000000001000000000
+11000001100000001000000000000000
+00011000000000000000001000000000
+00100000011000000000000000000000
+01101000000000001000000101011000
+00011111111000010000001000001111
+01111001001000000000000000000101
+00100000011000000000000000000000
+00011000000000000000001000010011
+00100000001000000010010011000001
+00100000010000000010010011001010
+01000100101001110100000000001001
+01101000000010001000000001000111
+01111001001000000000010000000011
+01100000000010001000000001000111
+00011000001000100111111000000000
+01100000000000001100000011000101
+01011000000000001111111111111111
+01100000000000010100000011001000
+00100000011000000000000000000000
+01000100101001111100000000001001
+01101000000000001000000001001100
+00101111111011111111111000000101
+01101000000000010100000111011100
+00100000001000001010010011100000
+00011000000000000000001000000011
+00011111111001100111110000010001
+00100000011000010000000000000000
+00011000000000000000001000000100
+00011111111001100111110000011011
+00100000011000010000000000000000
+00011000000000000000001000001010
+00011111111001100111110001111001
+00100000011000010000000000000000
+00011000000000000000001000001011
+00011111111001100111110010110111
+00100000011000010000000000000000
+00011000000000000000001000001110
+00011111111001100111110011100000
+00100000011000010000000000000000
+00011000000000000000001000001111
+00100000011000000000000000000000
+00011000000000000000001000000011
+00011111111001100111110000010001
+00100000011000010000000000000000
+00011000000000000000001000000100
+00011111111001100111110000110110
+00100000011000010000000000000000
+00011000000000000000001000001010
+11011000010000000000000101101111
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000000000000000001000001110
+11011000010000000000001010100111
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000000000000000001000001111
+00100000011000000000000000000000
+01101000000000001000000000110000
+11000011000000001010010011110101
+01101000000000010000000000110010
+00100000001110100010010011110101
+00100100001101110010010011110111
+00100000010000000010101001001111
+00011101000000001100001000000001
+01111000001010000111110000000000
+01101000000000010000000000111110
+00011111111000110111111000000000
+11011000010000000000010100000000
+10011000010000001111111000000000
+00100000010000000010101000100100
+00100000010000000010100011101010
+00011000000000000100100000000011
+00100000010000000010100011001100
+00100000010000000010010000101010
+00100000010000000010100111110001
+01000100101010000100000000001010
+01101000000000010000000000111110
+00011111111000110111111000000000
+00100000010000000010101000100100
+00100000010000000010100111101011
+01111000001001101111110000000000
+01101000000000010000000000111110
+11011000010000000000001110111011
+10011000010000001011011000000000
+00110111110000011000010000000000
+00011011010000100000010000000000
+01100000000010110000000010011010
+01111000010001101111110000000000
+00100100011011000000000000000000
+11011101001000000000001110111011
+00011100001000100101000000000000
+00100000001101011010101100000101
+00100000011000000000000000000000
+01000100101010001100000000001010
+00100000010000000010010011110000
+00100100001011000010100011111001
+00100000010000000010100110111011
+11000101100010001010010100011100
+01101000000000010000000011110110
+00011111111000001111111000000001
+01100000000000010000000011110110
+00011100001000110000010000000000
+00011000010000011001110001000000
+01000100101010010100000000001010
+01111000001000111111110000000000
+01111000001001010111110000000000
+01111000001001011111110000000000
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100000000000001000000101011101
+00001001100000000000000000000100
+00001000000000001000000000000111
+00011001100000100111111000000000
+01100000000000001000000000011001
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100000000000001000000101011110
+01101000000000001000000000011001
+00011111111001100111110000000011
+00100000001000010010010100110011
+11000000000000111010010100110011
+01101000000000001000000001001100
+00101111111011111111111000000101
+01111001001000001010101000000001
+01000100101010011100000000001010
+00001001100000000000000000001000
+01111000010001011111110000000000
+01111000010001010111110000000000
+00100000001000110010011000110001
+11000101100010001010010100111100
+01101000000000010000000011111000
+00011111111000001111111000000001
+01100000000000010000000011111000
+01000100101010100100000000001010
+01101000000000001000000101011101
+00101111111000000000111000000000
+01111001001000001000000000001010
+00100000001000001010010101001100
+10101000100000000000111000000000
+00100000001000001010010101001011
+11000101100000111010011001001101
+01101000000010001000000010110000
+10101000010000000000111000000000
+00100100001000001010011001001101
+01101000000000001000000001000111
+01111001001111111111111000000101
+01111001001000000111111000000100
+01100000000000001000000001000111
+01111000001101101111110000000000
+01000100101010101100000000001010
+01101000000000001000000000011001
+00011111111000100000001000000000
+11000101000001010010010101011011
+01101000000010001000000101011110
+01101000000000001000000001000111
+01111001001111111111111000000000
+00101000010011111111111000000000
+01111001001000001111111000000000
+00101000010011111111111000000001
+01111001001000001111111000000001
+01100000000000001000000001000111
+00101000010011000000000000000001
+00100000001000001010010101011011
+00100000010000000010011010000111
+01000100101010110100000000001010
+11011000010000000000000000000000
+00100000010000000010101000011100
+00011000001000010111111000001111
+11000000000000001010010110000111
+11000000000000000010011001001101
+11000000000000010010011001011001
+01101000000010001000000101011110
+01101000000000001000000001000111
+10101000010000000000100000000000
+00100100001000001010010101101001
+11000101100001010010010101101000
+11000011000000111010010101101001
+01111001001000000000000000001111
+01000100101010111100000000001010
+00011000001000100111111000000000
+11000000000000011010010110001001
+11000000000000100010010110001101
+11000000000000111010010101111000
+11000000000001000010010110001100
+11011000010000000000000000000100
+00100000010000000010101000011100
+11000000000001010010010110001000
+11000000000001011010010110001011
+11011000010000000000000000001000
+00100000010000000010101000011100
+11000000000001110010010110001000
+11000000000001111010010110001011
+00100000011000000000000000000000
+01000100101011000100000000001011
+01111000001001101111110000000000
+01111000001001001111110000000000
+01111000001001110111110000000000
+11011000101000000000000011010001
+00011000000000000111001000011110
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000010010101111110
+11000101100000111010011001001101
+00001001100000000000000000010000
+01111101001000110000000000001000
+00100000001000110010011000111101
+00100000001000000010011000100000
+00100000001000000010011001001101
+01111001001000000000000000010000
+01111000001001100111110000000000
+00100000001000000010010110001110
+01111001001000000000000000010000
+01111001001000000010101000000010
+01111000001001101111110000000000
+01000100101011001100000000001011
+11000101000000001010011001001101
+00101010101011000000000000000001
+00100000001000001010010110011010
+01111000010000111111110000000000
+01111000001001101111110000000000
+01111000010001100111110000000000
+00011100010000001001011000000010
+00110100010100110000010000000000
+00100100001011000010011000111101
+01111001001000000000000000010000
+01111000001000111111110000000000
+01000100101011010100000000001011
+01111000001001110111110000000000
+01111000001001001111110000000000
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100000000000001000000110000000
+00001001100000000000000000000101
+11000101000010000010010110100101
+00011001100010010111001000000000
+00011111001010010111001000000000
+00100000001000000010010110101000
+00001001100000000000000000000101
+00011001100000110111001000000000
+00001001100000000000000000000011
+01000100101011011100000000001011
+00011111001000100111111000000000
+01100000000000010000000101011111
+00100000001110100010010111101000
+10011110101001100111110000000000
+00100000001000010010011000111101
+01000100101011100100000000001011
+01111001001111111000000000000000
+01101000000000001000000110000000
+00011111111000010111111000000011
+11011000101000000000010101010001
+11000000000000011010010110111010
+11000101000010001010010111100100
+01101000000000001000000110000000
+00011111111000010111111000000011
+11000000000000010010010110111111
+11000000000000001010010111010011
+00100000001000000010011000111101
+01101000000000010000000101011111
+00011111111001100111110001110000
+00100100001000010010011000111101
+11000101000001111010011000100000
+00100000001000000010010111100100
+01000100101011101100000000001011
+11000101000001111010011000100000
+01101000000000010000000101011111
+11011000010000000000001011100000
+10011000010001100111110000000000
+00100000001000010010011000111101
+01101000000000001000001001100011
+11000011000000000010010111001001
+11000011000000001010010111001110
+00100000001000000010011001001101
+01110000000000100110000100000001
+01101000000000010000001001011101
+11000000100000000010011001001101
+11011000101000000001000000000000
+00100000001000000010010111100100
+01110000000000100110000100000010
+01101000000000010000001001011111
+11000000100000000010011001001101
+11011000101000000001010000000000
+00100000001000000010010111100100
+01000100101011110100000000001011
+11000101000001111010011000100000
+01101000000000010000000101011111
+11011000010000000000001011100000
+10011000010001100111110000000000
+00100000001000010010011000111101
+01101000000000001000001001100001
+11000000000000001010010111011101
+11000000000000010010010111100001
+00100000001000000010011001001101
+11011000101000000001000000000000
+01101000000000010000001001011101
+10011000101000001000101000000000
+00100000001000000010010111100100
+11011000101000000001010000000000
+01101000000000010000001001011111
+10011000101000001000101000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000010010111100100
+01000100101011111100000000001011
+00001001100000000000000000010000
+00100000001000110010011000110111
+01101000000000001100001101100011
+11000000000000001010011001001101
+11000101000010001010011000001101
+11000101000001111010011001001010
+01101000000000001000000110000000
+00101111111000000000011000000011
+00100000001000001010011000001101
+01101000000000010000000101011111
+00100000001110100010011000001101
+01000100101100000100000000001100
+01101000000000001000001001100001
+11000000000000001010010111111001
+11000000000000010010011000000011
+00100000001000000010101010001100
+01101000000000010000001001011101
+01101000000010010000000101011111
+10011000010000001111111000000000
+01100000000000010000001001011101
+11000000000000000010101010001100
+01101000000010010001000000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101010011101000111
+00100000001000000010011000001101
+01101000000000010000001001011111
+01101000000010010000000101011111
+10011000010000001111111000000000
+01100000000000010000001001011111
+11000000000000000010101010001100
+01101000000010010001010000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101010011101001011
+00100000001000000010011000001101
+01000100101100001100000000001100
+01101000000010001000000001001100
+01101000000000001000000110000000
+00101111111000000000011000000011
+01111001001000001000010000000110
+01111101001000001000010000000111
+01100000000010001000000001001100
+00100100001000001010011000010110
+01111001001000000000000000000001
+11000101100010001010011000100000
+00101000010011111111111000000110
+00100000001000001010011000100000
+01101000000000010000000011111010
+00011111111000001111111000000001
+01100000000000010000000011111010
+01111001001000000000000000000101
+01111001001111111000010000000111
+01111001001111111000000000000001
+01100000000010001000000001001100
+01000100101100010100000000001100
+01101000000010001000000101011110
+01101000000000001000000001000111
+01111001001000000111111000000101
+00101000010011111111111000000010
+01111001001000001111111000000010
+00101000000011111111111000001010
+01111001001000001111111000000111
+01100000000000001000000001000111
+01101000000000010000000101011111
+00100100001110100010011001001101
+01101000000000001000000001001100
+01111001001111111111111000000111
+01100000000000001000000001001100
+01101000000000001000000110000000
+00101111111000000000111000000001
+00100000001000000010011001001101
+01000100101100011100000000001100
+01111000010101101111110000000000
+01101000000000010000000000011010
+00011111111000001111111000000001
+01100000000000010000000000011010
+00100000001000000010011001001101
+01101000000000010000000000011100
+00011111111000001111111000000001
+01100000000000010000000000011100
+00100000010000000010011000111110
+11000101100010001010011000111101
+01111001001000000000000000000101
+00100000001000000010011001001101
+01000100101100100100000000001100
+01101000000000001000000110000000
+00101111111000000000011000000011
+00100100001000001010011001000110
+01101000000010001000000001001100
+01111001001111111000010000000110
+01100000000010001000000001001100
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111001001111111000010000000111
+01100000000010001000000001001100
+00100000001000000100110000001011
+01101000000000001000000001000111
+01111001001000000111111000000101
+01100000000000001000000001000111
+01000100101100101100000000001100
+01111000010011101111110000000000
+01111000010011100111110000000000
+01111000010001101111110000000000
+01111000010001100111110000000000
+01111000010001001111110000000000
+01111000010001110111110000000000
+01111000010000111111110000000000
+00100000001100001010100011111001
+00110111110100111000001000000000
+00100000000000000000000001100100
+00100000001000000010100011111001
+01000100101100110100000000001100
+01111000001001001111110000000000
+01111000001001100111110000000000
+00001001100000000000000001001000
+00101111111011111111111000111010
+01111001001000001000000000000000
+00011100000000100000010000000000
+01010111111000000100000000000000
+01010111111000000011110000000000
+01111000001010101111110000000000
+00111000000010111111111111111111
+00111000000011001111111111111111
+00100000000000000000000000100000
+00101001101010000000000000000000
+00011101100000100111111000000000
+01100000000000011000000101111000
+00011101101000100111111000000000
+01100000000000001000000101111011
+00011000010000100100000000000000
+00100000001000001010011001101110
+00100000001000000010011000111101
+01000100101100111100000000001100
+00001001100000000000000001001000
+01010111111000000011111000000000
+01010111111000000000100000000000
+01010111111000000101110000000000
+01010111111000000010010000000000
+00011000000000000111111000000000
+00001001100000000000000000010000
+00100000001000110010011000111101
+01011111111111111111111111111100
+10011010010000010111111000000000
+01100000000000100000000101100101
+00011011101000100111111000000000
+01100000000000011000000101110101
+00011011100000100111111000000000
+01100000000000001000000101110011
+00011000100000100111111000000000
+01100000000000001000000101110100
+00011101110000100111111000000000
+01100000000000010000000101111100
+00011100001000100111111000000000
+00001000000000001000001000100000
+00101000001000000001111000000010
+01111001001000001000000000001011
+00100000001000000010011001001101
+01000100101101000100000000001101
+01101000000000001000000001000111
+11000100000000011000000000000000
+01111001001111111111111000000011
+01111001010000000111111000000110
+01100000000000001000000001000111
+01101000000000001100000011000101
+11000000000010011010011010011100
+11000001000000111000000000000000
+01101000000000001000000001001011
+11000100000000110000000000000000
+01111001001111111111111000000110
+01111001001000000111111000000111
+01100000000000001000000001001011
+01111001001111111000000000000010
+01101000000000010100001001000110
+00100100011110100000000000000000
+01101000000000001000000001001011
+01111001001111111111111000000111
+01100000000000001000000001001011
+00100000001000000101001001011101
+01000100101101001100000000001101
+01101000000000001000010010110111
+00011111111000110111111000000000
+11000000000010001010011010111000
+11000000000010010010011011000000
+11000000000011000010011011101001
+11000000001111111010011010101000
+11000001100000011000000000000000
+01101000000000001000010010111000
+11000000000101011010011010110000
+11000000000010001010011010101011
+00100000011000000000000000000000
+01101000000000001000010010111000
+01111001001000000111111000000111
+00100000011000000000000000000000
+00100000011101001000000000000000
+01101000000000001000000000110000
+11000011100000100000000000000000
+01110000000000000111110000110001
+00100000011000000000000000000000
+00100000011101001000000000000000
+01101000000000001000000000110001
+00101111111011111111111000000100
+00100000001000001010011010110101
+00100000011000000000000000000000
+01111001001111111111111000000100
+01100000000000001000000000110001
+00100000011000000000000000000000
+01000100101101010100000000001101
+01101000000000001000000001001100
+01111001001000000111111000000010
+01100000000000001000000001001100
+01110000100000000001000100000001
+01101000000000001000000000110000
+00101111111011111111111000000100
+00100000011000000000000000000000
+01000100101101011100000000001101
+01101000000000001000000001001100
+01111001001111111111111000000010
+01100000000000001000000001001100
+01110000100000000001000100000000
+00100000011000000000000000000000
+01000100101101100100000000001101
+00011100010000100111111000000000
+01100000000000100100001000001100
+00011100010000001010001000000011
+00100000001101001010011011001100
+00011101000000001010001000000011
+01101000000010010000000000110010
+00011010001000100111111000000000
+01111001001111111111111000011011
+10011000010001101111110000000000
+01101000000000010000000001110101
+00100000010000000111111110000110
+00011000000001110010011000000000
+10011010011001100111111000000000
+00100000001000010010011011010110
+10011000010000001111111000000000
+10011010001000001111111000000000
+01100000000000100000000000110100
+01110000010001010101101100000000
+01101000000000001000000000110000
+01111001001000000111111000000001
+01100000000000001000000000110000
+01101000000000001000000001110011
+01100000000000001000000010001010
+01011000000000000000000000000000
+01100000000000011100000101101001
+01100000000000011100000101101100
+01100000000000001100000101011001
+01110000000010101001100100001011
+00100000010000000111110110000110
+01101000000000010100000011000001
+01100000000000010000000000111110
+00100100011101001000000000000000
+00011000100000001000111111111111
+00100000011000000000000000000000
+01000100101101101100000000001101
+01101000000000001000000000110000
+11000100000000001000000000000000
+01111001001111111111111000000001
+01100000000000001000000000110000
+01101000000000010100000010111111
+01100000000000010000000000111110
+01111000010101011111110000000000
+01110000000010101001100100001100
+00100000001000000111110110000110
+01000100101101110100000000001101
+01111000001101110111110000000000
+01101000000000001000000000110000
+11000010100000001010011100000000
+11000110000010001000000000000000
+01101000000000001000000001000111
+11000011100000011000000000000000
+01101000000000001000000001001000
+00100100011110100000000000000000
+01101000000000001000000001001011
+11000011100000110000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+11000011000000010010011100001111
+01101000000000001000000010001010
+11000000000000010010011100000110
+01101000000000001000000001000111
+11000010100000011010011100011000
+11000101100001000010011100011000
+00100100001101001010011100011000
+01101000000000001000000001001000
+00100100001110100010011100011000
+01101000000000001000000011101111
+00011111111000001111111111111111
+01100000000000001000000011101111
+00100100001110100010011011111110
+01110000000000001110111100010000
+00100000001000000010011100011000
+01101000000000001000000010001010
+11000000100000001010011100011000
+01101000000000001000000010001011
+00100000001110100010011100011000
+00011111111000001111111111111111
+01100000000000001000000010001011
+01101000000000001000000001000111
+11000011100000011000000000000000
+00100100011101101000000000000000
+01101000000000001000000010001010
+00011111111000001111111111111111
+01100000000000001000000010001010
+00100000011000000000000000000000
+01000100101101111100000000001101
+01111000010010000111110000000000
+00011000010000100011011000000000
+00100000010000000010001001100000
+01111000010101000111110000000000
+00100100011000101000000000000000
+00011000000000000011011000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000001100000101011000
+10101000100000011111111000000000
+00100000011000000000000000000000
+01000100101110000100000000001110
+01111001001111111000000000000001
+01110000000000100110101000000000
+01101000000000001000001001100011
+00100000011110100000000000000000
+00101111111011111111111000000000
+11011000110000000001000000000000
+00100000010000001100110101111001
+01000100101110001100000000001110
+01101000000000001000001001101010
+11000000000000001010011100111011
+01110000000000100110101000000000
+01101000000000001000001001100011
+11000100000000001000000000000000
+11011000110000000001010000000000
+00100000010000000100110101111001
+01101000000000001000001001101010
+11000000000000001010011101000001
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001111111111111000000000
+01100000000000001000001001100011
+01011000000000000000000000000000
+01100000000000010000001001011101
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001111111111111000000001
+01100000000000001000001001100011
+01011000000000000000000000000000
+01100000000000010000001001011111
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001000000111111000000000
+01100000000000001000001001100011
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001000000111111000000001
+01100000000000001000001001100011
+00100000011000000000000000000000
+01000100101110010100000000001110
+00011101000000001100001000000001
+00100000010000000010100011101010
+00011000000000000100100000000011
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000001000000010101001100100
+01000100101110011100000000001110
+00100000010000000010101001001101
+00011101000000100111111000000000
+01101000000010100100000011001010
+10011000010001100111111000000000
+11000001100000001000000000000000
+00101000001000000011111000000000
+00100100001000001010011101100001
+01101000000000001000000000011001
+00100000011110100000000000000000
+00100000010000000010011101001111
+00101000001000000011111000010000
+00100000001000001010011001001101
+00011100001000110000010000000000
+00011000010000011001110001000000
+01000100101110100100000000001110
+01111000001000111111110000000000
+01111000001001010111110000000000
+01111000001011011111110000000000
+01111001001111111000000000010000
+00011000100000100111111000000000
+00001000000000001000011000000011
+00011000001000100111111000000000
+00001000000000001000011000000100
+01101000000000001000000001000111
+00001000000000001000000000000100
+00001000000000001000011000000011
+01111000001001000111110000000000
+00001000000000001000011000001000
+01111000010011011111110000000000
+01111000010001000111110000000000
+01111000010001010111110000000000
+01111001001111111010101000000010
+11011000010000000000000000000000
+00100000010000000010101000011100
+01000100101110101100000000001110
+00011000001000010111111000011111
+11000000000010011010011110110100
+11000000000000000010011001001101
+11000000000000001010011001001101
+11000000000000010010011110010111
+11000000000000011010011111000101
+11000000000000100010011111001011
+11000000000000111010011110001100
+11000000000001000010011111001010
+11011000010000000000000000000100
+00100000010000000010101000011100
+11000000000001010010011111000111
+11000000000001011010011111001101
+11011000010000000000000000001000
+00100000010000000010101000011100
+11000000000001111010011111001101
+00100000001000000010011111000111
+01000100101110110100000000001110
+01111000001011101111110000000000
+01111000001001001111110000000000
+01111000001001110111110000000000
+00011000000000000111001000011110
+11011000110000000000000010110011
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000010011110010010
+11000101000000111010011111110111
+00100000001000000010011001001101
+01000100101110111100000000001110
+01101000000000001000000110000001
+00011111111000100000100000000000
+01101000000000001000000010010000
+00011111111000100011100000000000
+01101000000000011100000010101010
+00011111111000100011101000000000
+01101000000000010100000010100100
+00011111111000100101110000000000
+01111000001001001111110000000000
+01111000001011100111110000000000
+00011100000000100010001000000000
+00100000010000000010100011100010
+01111000001010101111110000000000
+00100000000000000000000000100000
+00011100001000100001011000000000
+01101000000000100000000101100001
+00011111111000100100001000000000
+01010011110000000111111000000000
+01111001001000000111111000111010
+00001000000000001000011001001000
+01010011111000000111111000000000
+00001000000000001000011001001000
+00011001011000100100001000000000
+00011010001000100100000000000000
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000001000000010011001001101
+01000100101111000100000000001111
+01111000001001110111110000000000
+01111000001001001111110000000000
+01111000001011100111110000000000
+01101000000000001000010010110110
+00011111111000010000010111111000
+11011000110000000000010010110110
+00011000010000001000010000001000
+00011000010000001010011110111000
+00100100001000010010011111000010
+11101000110001001000000000000000
+00001000000000001000011001001000
+00011010011000100000010000000000
+00100000001000000010011110111100
+11101000110001001000000000000000
+00001000010000011000011000000000
+00100000001000000010011111110111
+01111000001011100111110000000000
+00100000001000000010011111010000
+01111000001011100111110000000000
+01111001001000000000000000010000
+00100000001000000010011111010000
+01111001001000000010101000000010
+01111000001011101111110000000000
+00100000001000000010011111010000
+01111001001000000010101000000010
+01111000001011101111110000000000
+01111001001000000000000000010000
+01000100101111001100000000001111
+01101000000000001000000001001100
+11000011000000101010011111100101
+00011000001001100111110000000011
+00100000001000010010011111100101
+01111000010001110111110000000000
+01111000010011100111110000000000
+01111000001011101111110000000000
+01111000010000111111110000000000
+01111001001000000010101000000001
+00101010101011111111111000000010
+00100000001000001010011111011111
+01011000000010101011111011101110
+00001000000000001000011000010100
+00100000001000000010011111100011
+01011000010111111010111010111010
+00001000000000001000011000011000
+01011000000000000000000000010010
+00001000000000001000011000000110
+01111000001000111111110000000000
+01111001001000000000000000010000
+01111000001001110111110000000000
+01111000001001001111110000000000
+11000101000000101010100000000000
+01101000000000001100000111011011
+00001000000000001000011000000011
+01101000000000010100000111011100
+10011000000000000111001000000000
+11000101000010000010011111101111
+00001000000000001000011000000101
+00100000001000000010011111110000
+00001000000000001000011000001101
+00011111001000100111111000000000
+00100000001110100010011111110111
+01101000000000010000000101101111
+10011000000000000000110000000000
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000010011111110100
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000010000000010010011000001
+01101000000000001000000001001100
+11000011000000101010011001001101
+00011000000000000111111000000000
+00001000000000001000011000000110
+00100000001000000010011001001101
+01000100101111010100000000001111
+11000101000010000010100000001000
+01101000000000001000000110000000
+00001000000000001000011000000011
+01101000000000001000000101011111
+10011000000000000010011000000000
+00001000000000001000011000000101
+00100000001000000010100000001101
+01101000000000001000000110000000
+00001000000000001000011000000011
+01101000000000010000000101011111
+10011000000000000010011000000000
+00001000000000001000011000001101
+11011000110000000000010101010001
+00011010011000100111110000000000
+00100000001000101010100000010100
+11101000110000001000000000000000
+00001000000000001000011000001000
+00011010011000001010011111111111
+00100000001000000010100000001110
+01101000000000010000000011111100
+00011111111000001111111000000001
+01100000000000010000000011111100
+00100000001000000010011111110111
+01101000000000100000000101100101
+00011111111000001010001000000111
+01101000000000010000000101110001
+00100100001110100010100000011110
+00011010001000001010001111111101
+00100000001000000010100000100110
+00011111111011111111111000001100
+01101000000110010000000001000000
+00011000010000001000010000000001
+10011000010001100111111000000000
+00100100001000010010100000100101
+00011010001000001010001111111111
+00100000001000000010100000100001
+00011111111001100111111000000000
+00110111110100011000001000000000
+00101100010000000000011000000000
+00100100001000001010100000100110
+10011000000000000101001000000000
+00011010001000100101000000000000
+10011000000000000101001000000000
+00100000011000000000000000000000
+01000100101111011100000000001111
+00110111110100010000001000000000
+00011011010000100111111000000000
+10011000000000000000110000000000
+00011111111100010111111000000000
+10011100010001100111001000000000
+00011111001000010111001000000011
+00100100001000101010100000110111
+00011000000000000111111000000000
+00100000001000000010100000111011
+11011000010000000000111010100110
+00011000000000000111111000000000
+10011000010000001111111000000000
+11000010000000000010100000111001
+10011000110000001111111000000000
+00011111111001101111110000001100
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010000000101110001
+00100000011000000000000000000000
+01000100101111100100000000001111
+00011011010000100111111000000000
+00011011001000100000010000000000
+10011000010001100111110000000000
+01111101001000010111111000101100
+10011000010001100000010000000000
+01011000000000000000111010100110
+00101000010011000000000000001111
+00100000001000001010100001001100
+01011111111111110000111010100110
+10011000010000001000010000000000
+01100000000010110000010001000111
+00100000011110110000000000000000
+01100000000010110000000000111000
+00100000011000000000000000000000
+01111000010110000111110000000000
+01101000000000110000010001000111
+00100000001110110010100001010100
+01101000000000110000000000111000
+10011011001000001110000000000000
+00011110000000001110000000001010
+01011000000000000000111010100110
+10011110000001100111111000000000
+00101111111011000000000000001111
+00100000001000001010100001011110
+01011000000000001111000101011010
+10011110000000001110000000000000
+00011110000000100011010000000000
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000001000000010100001011100
+01000100101111101100000000001111
+00100000010000000010100100011000
+00011100001000100111111000000000
+00011111111000010111111110000000
+00101100100000000000111000000011
+00100100001000001010100001101001
+00011111111010010111111000000000
+10011010111000001111111000000000
+00100000001000000010100001101010
+00011010111000100111111000000000
+00011111111001101111110001001111
+01111000001010101111110000000000
+00100000010000000111111110000110
+00011000000001110010001000000000
+00011010001000001000010111011000
+00100000001000010010100001110010
+00011010001000111000010000000000
+00100000001000000010100001110100
+00011000010000111000010000000000
+00011000010000001000010000000001
+01000100101111110100000000001111
+01101000000000001000000000110001
+11000011000000011010100010000101
+01101000000000100100000011010010
+10011100001001100111110000000000
+00100000001000010010100010000101
+00100000010000000010100010100100
+01101000000000001100000011011001
+00100000011110100000000000000000
+01101000000000001000000000110001
+01111001001000000111111000000010
+01100000000000001000000000110001
+01101000000000101100000011100111
+01100000000000101100000011011010
+11101000110000101000000000000000
+01100000000000101100000011011111
+00100000010000000010100010101001
+01101000000000001000000000110001
+11000100000000010000000000000000
+00101100001011111111111000000001
+00100000001000001010100010100001
+00011000010010010010001000000000
+00011000010000010000111000000111
+01011000000000000100000011011010
+10011010001000001010001000000000
+11101010001000001000000000000000
+10101111111011000000000000000000
+00100000001000001010100010010010
+00011000010000100111111000000000
+00100000001000000010100010011110
+01101000000000001100000011100100
+10011000000000000010010000000000
+00011100001000100111111000000000
+00011111111000010111111110000000
+00011111111010010111111000000000
+10011010111000001111111000000000
+10011010010001101111110000000000
+01011000000000000100000011110010
+00100000010000000111111110000110
+00011000000001110010001000000000
+10011010001000001000110000000000
+11101000110000001000000000000000
+01100000000000001100000011100101
+10011000000000000000010000000000
+00100000011000000000000000000000
+01101000000000001100000011100101
+10011000000000000000010000000000
+00100000011000000000000000000000
+01101000000000001000000000110001
+01111001001111111111111000000010
+01111001001111111111111000000011
+01100000000000001000000000110001
+00100000011000000000000000000000
+01000100101111111100000000001111
+11011000101000000100000011110010
+00011000000000000111001000001010
+00100000010000000111111011000110
+11011000101000000100000011110010
+00011000000000000010011000000000
+00011000000000000000111000000010
+01101000000000101100000011011010
+10011000000000000000010000000000
+00101000111000011111111000000010
+00100000001000001010100010110101
+00011000010000110000010000000000
+00101000010011000000000000000000
+00100000001000001010100010111001
+00011010011000100111111000000000
+11100000101000001000000000000000
+00011000010010110000010000000000
+00011010011000001010011000000010
+00101010011000011111110000101000
+00100100001000001010100011000010
+01101000000000101100000011011111
+10011000000000000000010000000000
+00101000111000011111111000000010
+00100000001000001010100011000010
+00011000010000110000010000000000
+00011010011001100111110001001110
+00100000001000010010100010110101
+00011000000000000010011000000001
+00011000111000001000111111111111
+00100100001000101010100010110000
+11011010001000000100000011110010
+00011000101000100111111000000000
+10011010001001100111111000000000
+01100000000000001100000011100100
+00100000011000000000000000000000
+01000100110000000100000000010000
+00100000010000000010100001100000
+01101000000000001000000101111111
+11000011000000101010100011010001
+01101000000010001000010011001100
+00100000001000000010100100011111
+01000100110000001100000000010000
+00100000010000000010100001100000
+01101000000000001000000101111111
+11000011000000100010100011010111
+01101000000010001000010011001011
+00100000001000000010100100110011
+00011000000000000101101000000000
+01101000000000011100000010100111
+10011000000000000101100000000000
+00100000011000000000000000000000
+01000100110000010100000000010000
+01101000000000001100000111010011
+00011111111000100101101000000000
+01101000000000011100000111010000
+00011111111000100101100000000000
+00100000011000000000000000000000
+01000100110000011100000000010000
+01101000000000010100000010100100
+00011111111000100101110000000000
+01101000000000001100000010100011
+00011111111000100101101000000000
+01101000000000011100000010100000
+00011111111000100101100000000000
+00100000011000000000000000000000
+01000100110000100100000000010000
+01101000000000010000000001000100
+00011111111000100101110000000000
+01101000000000001000000001000011
+00011111111000100101101000000000
+01101000000000011000000001000000
+00011111111000100101100000000000
+00100000011000000000000000000000
+11000101000100000010100011110101
+11000110100011101000000000000000
+11000110100011111000000000000000
+00011101100000010101100100000000
+01111000001010101111110000000000
+00100000000000000000000000100000
+00100000011000000000000000000000
+01000100110000101100000000010000
+00100000001100001010100100001010
+01110000100010010101010111010100
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01101000000000001100000111011110
+11000000000000000010100100001000
+11000000000000001010100100010101
+11000000000000010010100100001000
+11000000000000011010100100010101
+11000000000000100010100100010101
+11000000000100000010100100010101
+01110000100010010101010111010000
+01110000100010010101011011100000
+00011000000000000010101000000000
+01111000010100001111110000000000
+01111000010100000111110000000000
+01111000001011110111110000000000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000001100000000
+01110000100010010000010001110000
+01110000100010010000011000000000
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+00100000001000000010100100001010
+01000100110000110100000000010000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000011000
+01110000100010010000001110100111
+01110000100010010000010001111111
+00100000011000000000000000000000
+01000100110000111100000000010000
+01100000000010001000000000010111
+00011000010000001010001000000100
+01110000100010010110110100000111
+00100000001000000010100110000001
+01000100110001000100000000010001
+01110000100010010000000111001111
+00100000000000000000000000001010
+01110000100010010000000011111111
+01110000100010010000001110101111
+01110000100010010000010011111111
+00100000000000000000000000001010
+01110000100010010000001010100000
+00100000011000000000000000000000
+01101000000000001100000111100000
+00100000001110100010100100110001
+00011000010000001010001000000010
+00100000011000000000000000000000
+00011000010000001010001000000000
+00100000011000000000000000000000
+01000100110001001100000000010001
+01100000000010001000000000010111
+00100000010000000010100100101101
+00100000010000000010100110000001
+01011000000000000000010100000000
+00100000010000000010101010001111
+01110000100010010000011000000001
+01110000100010010000000000111100
+01110000100010010000000111100000
+01110000100010010110110100010010
+00100000000000000000000000001010
+01110000100010010000001000000001
+01110000100010010000001000111101
+00100000000000000000000000001010
+01110000100010010000001110110111
+00100000000000000000000000001010
+01110000100010010000001001111111
+01101000000000001100000111011110
+11000000000000000010100101001011
+11000000000000001010100101001111
+11000000000000010010100101010011
+11000000000000011010100101010111
+11000000000000100010100101011011
+11000000000100000010100101011111
+01110000100010010101011011110000
+00100000010000000010100101100101
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101011011011111
+00100000010000000010100101100101
+01110000100010010101010111011111
+00100000011000000000000000000000
+01110000100010010101011011111111
+00100000010000000010100101100101
+01110000100010010101010111011111
+00100000011000000000000000000000
+01110000100010010101011011001110
+00100000010000000010100101100101
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101011011001011
+00100000010000000010100101100101
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+01110000100010010101011101001100
+01110000100010010101100001101100
+01110000100010010101100101010000
+00100000011000000000000000000000
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010100
+00100000011000000000000000000000
+01110000100000000100001000000110
+01101000000000010100000011000011
+11000011000001110010100101101101
+10011000000000000000110000000000
+11011000010000001000100100000000
+11101000110000001000000000000000
+11000000011111111010100101110111
+10011000010000011000101000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00100000001000000010100101110001
+01000100110001010100000000010001
+00100000010000000010101111100101
+00100000010000000010100111001001
+01011000000000000000011111010000
+10011100010000001111111000000000
+01100000000000100000000101101001
+01111001001000000010101000000011
+00011000000000000010101000000000
+00100100010101011010100110011000
+00100000001000000010100110101011
+01000100110001011100000000010001
+01011000000000000000100101100000
+10011010001000001000010000000000
+01101000000000001100000010111101
+01110000100010010101111100000100
+10011000010011111111111000000000
+01101000000010001100000010111110
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111010001000000000
+00011000000001110111111000000000
+00011111111100000111111000000000
+00011111111100100111111000000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111011010111111000000000
+00011111111000111111111000000000
+10011010001000011111111000000000
+01100000000100100000100101100000
+01110000100010010101111101000100
+01110000100010010101111111000100
+00100000011000000000000000000000
+01000100110001100100000000010001
+01110000100010010000011000000010
+01011000000000111101000010010000
+00100000010000000010101010001111
+01110000100010010000000001111111
+00100000000000000000000010000010
+01110000100010010101001000110000
+01110000100010010000000111010000
+01110000100010010101001001110000
+01110000100010010101001011110000
+00011000000000000111001000110010
+01101000000100001000100110000000
+11000010100000101010100110100110
+11000010000000000010100110100011
+01100000000000001100000011001110
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000011000000000
+00100000011000000000000000000000
+01000100110001101100000000010001
+01101000000000001100000011001110
+01111001001000000111111000000101
+01100000000100001000100101010010
+01101000000110001000100101010000
+00011000010000010000010000000111
+00011111111010011111111000000000
+10011000010000011111111000000000
+01100000000100001000100101010000
+01101000000100001000100101010001
+01111001001111111111111000000000
+01100000000100001000100101010001
+01101000000100001000100101010010
+01111001001111111111111000000101
+01100000000100001000100101010010
+00100000011000000000000000000000
+01000100110001110100000000010001
+01101000000100010000100110000001
+00011111111100011111111000000000
+00011111111010010111111000000000
+00011111111001100111111000000000
+00011111111000010111111011111111
+00011111111001101111110000001010
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100100111111000000000
+00011000000001110000010000000000
+10011000010000011111111000000000
+01100000000000001000000000011000
+00100000011000000000000000000000
+01110000100000000100001000000110
+01101000000100001000100101101011
+01111001001111111111111000000100
+01111001001111111111111000000101
+01100000000100001000100101101011
+01110000100010010000010100000000
+01110000100010010000010000000000
+01110000100010010000010001110000
+01110000100010010000010111111111
+01101000000100001000100101101011
+01111001001000000111111000000100
+01111001001000000111111000000101
+01100000000100001000100101101011
+00100000010000000010100111101001
+01101000000100001000100101101000
+01111001001000000111111000000111
+01100000000100001000100101101000
+01111001001111111111111000000111
+01100000000100001000100101101000
+01111001001000000111111000000111
+01100000000100001000100101101000
+01110000100000000100001000000101
+00100000000000000000000000000001
+01110000100000000100001000000100
+01101000000100001000100101101011
+00011111111000010111111011001111
+01100000000100001000100101101011
+00011111111000011111111000110000
+01100000000100001000100101101011
+00100000011000000000000000000000
+01011000000000000000111100001111
+00100000001000000010110000011000
+01011000000000000000100000001111
+00100000001000000010110000011000
+01000100110001111100000000010001
+00100000010000000010100100100100
+01111000010100000111110000000000
+01111000001100001111110000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110010000100000000010010
+01101000000000001000000001001100
+00101111111011111111111000000010
+01111001001000001111111000000000
+01100000000100001000000000010001
+11011000110000000000000001100010
+11101000110001001000000000000000
+10011000000000000110010000000000
+11101000110000111000000000000000
+10011000000000000110011000000000
+01101000000000001000000001010100
+00011111111000001110100111111111
+01111000001011010111110000000000
+00100000011000000000000000000000
+00011011010000100111111000000000
+01100000000000110000000010011010
+01111000010001101111110000000000
+00100100001011000010100011111001
+11011101001000000000001110111011
+00011101000000001101000000000001
+00011101000000010101000111111100
+00100000011000000000000000000000
+01111000001001101111110000000000
+00110111110010111000010000000000
+00100000001011000010100111111111
+00101101000000000000010000000010
+00100100001000001010101000001000
+00100000001000000010100111111111
+01000100110010001100000000010010
+11011001011000000000011000000000
+01111000001001101111110000000000
+00110100011100110000010000000000
+01111000010001101111110000000000
+00100100001011000010100011111001
+00100000011000000000000000000000
+01000100110010010100000000010010
+01111000001001101111110000000000
+00110111110000011000010000000000
+01111000010001101111110000000000
+00100100001011000010100011111001
+11011101001000000000001110111011
+00011101000000010101000111111100
+00100000011000000000000000000000
+01000100110010011100000000010010
+10011000000000000010001000000000
+00011100001000100111111000000000
+10011000010000001001011000000000
+00011001011000100111111000000000
+01100000000000100100000011001010
+00011010001000100111111000000000
+00100000011000000000000000000000
+00011111111000100000010000000000
+01000100110010100100000000010010
+00011000010000100111111000000000
+00100000010000000111111101010000
+00011100001100000111111000000000
+01111001001000000111111000101100
+00100000010000000111111100111001
+01111001001111111111111000101100
+00100000010000000010101001110111
+00100000010000000111111100111001
+00100000011101000000000000000000
+00100000010000000111111101000011
+10011000000000000011011000000000
+00110111110000011000001000000000
+00100000011000000000000000000000
+01000100110010101100000000010010
+00100000001110000010101000111000
+00110101001100110000001000000000
+00011101000000100000010000000000
+00100000001000000010101000111011
+00100000001101110010101000111010
+00110100011100110000001000000000
+00011100010000100000010000000000
+00100000001101000010101001000111
+00101000010000000000011000000001
+00100100001000001010101000110011
+01000100110010110100000000010010
+01101000000000001000000000110000
+11000100000000000000000000000000
+01101000000000100100000011001010
+10011000010001100111111000000000
+00100100011000010000000000000000
+00011111111001100111110011111111
+00100000001000010010101000110011
+00100000011000000000000000000000
+00101000010000000000011000000011
+00100100001000001010101000110011
+00100000001000000010101000111110
+01000100110010111100000000010010
+11011001011000000000011000000000
+00100000001000000010101000110011
+01111000010101000111110000000000
+00100000001000000010101001001010
+01111000001101000111110000000000
+00100000001000000010101001001010
+01000100110011000100000000010011
+00100000010000000010100111110001
+01111000010100001111110000000000
+01111000001100000111110000000000
+00100000011000000000000000000000
+01000100110011001100000000010011
+11011001011000000000111001000011
+00110100011100110000001000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110011010100000000010011
+11011001011000000000110100000000
+00110100011100110000001000000000
+00100000011000000000000000000000
+01000100110011011100000000010011
+11011001011000000000111001000011
+00110101001100110000001000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110011100100000000010011
+01010001001000000111111000000000
+01111000001011101111110000000000
+01111001001000000010101000000000
+00001000000000001000011001001000
+01111000010011101111110000000000
+00100000011000000000000000000000
+00011100101000100000010000000000
+00011000010000011000010001100000
+00011000010000100001110000000000
+00100000011000000000000000000000
+01000100110011101100000000010011
+01101000000000001100000010010000
+00011111111000001111111000000001
+11000000100000111010101001110100
+00011000000000000111111000000001
+01100000000000001100000010010000
+10011000000000000000100000000000
+00100000011000000000000000000000
+00011011001000100000010000000000
+00100000011101001000000000000000
+00011011010000100000010000000000
+00100000011000000000000000000000
+00011100010000100111111000000000
+00100000011101001000000000000000
+00011101000000100111111000000000
+00100000011000000000000000000000
+01000100110011110100000000010011
+01101000000010100000000001001101
+00100000010000000010101001111011
+10011000010001100001011000000000
+00011001011000100111111000000000
+01101000000010010000000001010001
+00011000010000111000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+01000100110011111100000000010011
+00100000010000000010101001111011
+01100000000000100000000001001101
+00100000011000000000000000000000
+01000100110100000100000000010100
+00100000001000000010101010001100
+00100000001000000010101010001110
+00100000011110100000000000000000
+00011111111000110111111000000000
+00011111111000001111111111111101
+00011111111000001111111111111111
+00100100001000101010101010010010
+00011000000000000111111000000000
+00100000011000000000000000000000
+11011111001000000000000000010000
+11011000101000000000000000000000
+00100000010000000111111011000110
+11011000101000000000010000111111
+11011111001000000000000000001010
+00100000010000000111111011000110
+01110000000010011011001000000000
+01110000000010101001100100000000
+01110000000001001000110000000000
+01110000000000010111111100000000
+01110000000001001101000100000000
+01000100110100001100000000010100
+01110000000000010110110100000000
+01110000000000010101000100000000
+01110000000000010101110000000000
+01011000100111101000101100110011
+01100000000000011100000010100111
+01011000000000000000000101010011
+01100000000000010000000010000011
+01110000000000001000010100011110
+01110000000000001000011000000001
+01110000000000001000100000000111
+01011000000100101110100100000100
+01100000000000011000000010000000
+01110000000000001001000001100000
+01110000010000001101000000000101
+01110000000000000001010000000010
+01101000000000001100011001011010
+00100100010110100111010011000001
+01101000000000001100010010111110
+00100100010110100111010100011000
+01000100110100010100000000010100
+00100000011101011000000000000000
+01011000000000000000000000000000
+01100000000000010100000111011100
+00011100010000110111111000000000
+01100000000000100100000010010100
+00100000011000000000000000000000
+01011000000000001110111000100001
+01100000000100010000000001010000
+01101000000100100000000100011100
+01100000000000100000101010111110
+01101000000100001000000100111110
+01100000000000001000101010111101
+11000011000000011110010001011011
+01111000001101011111110000000000
+11000011000000111010101011001100
+01111000010101011111110000000000
+00011100111000100111111000000000
+00100100001110100010101011001100
+01101000000100001000000100111011
+11000010100000010010101011001100
+11011000010111111111111111111111
+00100000001000000010101100111100
+01101000000100011000000100111100
+01100000000100011000000001001100
+11101000110000001000000000000000
+00011111111000011111111011101111
+11100000101000001000000000000000
+00100000010000000010110000100011
+01101000000100001000000001001111
+01111001001000000111111000000100
+01100000000100001000000001001111
+00100000010000000010110000100011
+00100000010101011010101011011111
+01101000000100001000000001001110
+01111001001111111111111000000011
+01100000000100001000000001001110
+00100000010000000010110000100011
+00100100001101011110010001011011
+11000110100101011000000000000000
+01110000100000000000011000001000
+00100000011000000000000000000000
+01101000000000001100000110011000
+01100000000100001000000010000110
+01101000000000011100000110001101
+01100000000100011000000010000000
+01101000000000100100000110000001
+01100000000100100000000001110100
+01101000000000100100000101111101
+01100000000100100000000001110000
+01101000000001000100000110000101
+01100000000101000000000001111000
+01101000000001000100000110010000
+10011000000000000000000000000000
+01101000000101000000000101000000
+01100000000001000000000010100001
+00100000010000000110010011001010
+00100000011000000000000000000000
+00011000000000100111111000000000
+01100000000001000100000110010000
+01101000000101000000000001110000
+01100000000001000100000101111101
+11101000110001000000000000000000
+11100000101001000000000000000000
+01101000000100011000000010000000
+01100000000000011100000110001101
+01101000000100001000000010000110
+01100000000000001100000110011000
+00100000001000000010110000101001
+01101000000100001000000001100011
+00100100001110100010101100000000
+01101000000000011100000101101111
+00100100011110100000000000000000
+01110000100000000110001111000000
+01110000100000000000011010000000
+01101000000100001000000100101101
+11000100000000001000000000000000
+01101000000100011000000101001001
+01100000000000011100000101101111
+00100000011000000000000000000000
+01000100110100011100000000010100
+00011011010000100111111000000000
+00100000010000000111111100110111
+01101000000010100100000101011111
+00011000010001100111110011111111
+00100000011000010000000000000000
+00011111111011010111111000000000
+00011111111100100111111000000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+11011000010000000000000011001000
+00100000010000000111111110010001
+01100000000000001000000010011001
+00100100001101000010101100010101
+00011111111001100111111000000000
+01101000000010011100000101101111
+10011000010000001111111000000000
+01100000000000011100000101101111
+01011000000000000000000000000000
+01100000000000100100000101011111
+00100000011000000000000000000000
+01101000000000001100000101110111
+01111001001000000111111000000010
+01100000000000001100000101110111
+00100000001000000010101100100011
+11011000010111111111111111111111
+01101000000000001100000101110110
+01111001001111111111111000000111
+01100000000000001100000101110110
+01000100110100100100000000010100
+00100000010000000010110000101001
+01101000000000001100000101010111
+01100000000000001100000101111100
+01101000000000001100000101111010
+01111001001000000111111000000111
+01100000000000001100000101111010
+01000100110100101100000000010100
+00100000010000000010100111100111
+01101000000000100100000101011111
+10011000010000001111111000000000
+01100000000000100100000101011111
+00100000010000000010101011101111
+01101000000000101100000101111000
+01100000000100100000000001001100
+00011111111011110010001000000000
+00110111110110011000001000000000
+00011011001000100111111000000000
+01100000000000110100000101100011
+01110000100000000000010100000010
+00110111110110011000001000000000
+00110111110110011000001000000000
+00011010001000100111111000000000
+01100000000100001000000001001111
+01110000100000000000010100000010
+00110111110110011000001000000000
+00110111110110011000001000000000
+01100000000110100000000001001100
+01110000100000000000010100010000
+00110111110111111000001000000000
+01000100110100110100000000010100
+01011000000000000000000000000000
+00011100111000100111110000000000
+00100000001000101010101101001100
+01101000000100001000000100111100
+01101000000110001000000100111101
+10011000010001100111110000000000
+00100000001000010010101101001010
+00011000010000100111111000000000
+10011100111001100111111000000000
+00011111111000001111111000000001
+00011111111000001111111000001000
+00110111110110011000001000000000
+10011110001000001111111000000000
+01101000000010100100000101011011
+10011000010000001111111000000000
+01101000000010011100000101101111
+10011000010011111111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00011111111000001111111001101110
+11011000010000000000111010100110
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100000111111000000000
+00011000000001110000010000000000
+10011000010000011111111000000000
+01101000000010110100000101100011
+00100000010000000111111100101100
+00011000010000100011001000000000
+01101000000000110100000001001000
+00100000010000000010100001010100
+00011011010000100111111000000000
+01100000000000110000101010011010
+00011100111000100111111000000000
+11100000101000001000000000000000
+01101000000100001000000100011101
+00011111111000011111111011110000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000100110100111100000000010100
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000011110100000000000000000
+01101000000000001100000010010001
+00100000011110100000000000000000
+01101000000000001100011001011010
+00100000001110100010101101110100
+01101000000000001100010110110001
+00100000011110100000000000000000
+01101000000000001100010011000000
+00100100011110100000000000000000
+00100000010000000010110000111010
+00100100011110100000000000000000
+01101000000000001100000001000000
+00101111111000000000111000000011
+00100100001000001010101110011101
+01101000000000010100000001000010
+00100000011110100000000000000000
+00100000011101011000000000000000
+01000100110101000100000000010101
+01101000000010001000000010100000
+01101000000000010100000001000010
+10011000010011111111111000000000
+00011000010100011000010000000000
+00011000010010110000010000000000
+10011000010001100111111000000000
+01101000000010100100000001000100
+10011000010000001111111000000000
+01101000000010001100000101010110
+10011000010001100111111000000000
+00011111111100000110000000000000
+01000100110101001100000000010101
+01101000000000010100000001001110
+00011111111000110111111000000000
+00100000010000000111111101010000
+00011110000000100111111000000000
+00100000010000000111111100111001
+00011011010000100000010000000000
+00100000010000000111111100110111
+00100000011101000000000000000000
+00100000010000000111111101001001
+01000100110101010100000000010101
+01101000000000001100000101111000
+10011000010001100111110000000000
+00100000001000010010101100011000
+01100000000010100100000101011011
+00100000010000000011001100101000
+00100000010000000101001011111011
+01101000000010100100000101011011
+00100000001000000010101100101010
+01000100110101011100000000010101
+01101000000000001100000001000000
+11000011100000000000000000000000
+11000011100000011000000000000000
+01101000000000001100011001011010
+00100000001110100010101110100101
+01101000000000001100010110110001
+00100000011110100000000000000000
+01000100110101100100000000010101
+01101000000000001100001101101110
+00100100001110100010101110101010
+01101000000000001100000010010011
+00100000011110100000000000000000
+01101000000000010100000101010100
+00100000011110100000000000000000
+01101000000010001100000101010110
+10011000010001100111111000000000
+11011000010000000001110101001100
+10011000010011111111111000000000
+00100000001000000010101110010011
+01000100110101101100000000010101
+01111000010101011111110000000000
+01101000000000001000000000110000
+11000100000000001000000000000000
+00100100001101101010101111010000
+00100000010000000010101111001011
+01101000000000010100000011000001
+01100000000000010000000000111110
+01101000000000001000000001000111
+11000010100000011010101111011110
+11000101100001101010101111011110
+00100000010000000101001001110100
+00100100001110100010101111011110
+01101000000000001100010101011100
+11000010100000001010101111011110
+01110000000000001010000000000000
+11000101100001101010101111011110
+01101000000000001100000101110100
+00100000001110100010101111100010
+00011111111000001111111111111111
+01100000000000001100000101110100
+00100000011000000000000000000000
+11011000111000000000000000000001
+00100000001000000110000011001101
+11011000111000000000000000000001
+00100000001000000110000011010001
+01110000010000010101100100000000
+01101000000000011100000101101001
+00011111111000001111111000000001
+01100000000000011100000101101001
+00100000011000000000000000000000
+01000100110101110100000000010101
+01101000000010010100000011000001
+00011000010000110000010000000000
+01101000000000010000000000111110
+10011000010000001111111000000000
+01100000000000010000000000111110
+01110000000000001010000000000000
+01101000000000011100000101101100
+00011111111000001111111000000001
+01100000000000011100000101101100
+01101000000000001100000101011001
+00011111111000001111111000000001
+01100000000000001100000101011001
+00100000011000000000000000000000
+01110000000000001010000000000000
+01101000000000001100000101110011
+01100000000000001100000101110100
+00100000011000000000000000000000
+01101000000010001100000101110010
+01100000000010001000000010100000
+00100000011000000000000000000000
+01000100110101111100000000010101
+01101000000000001100000101111000
+00100100011110100000000000000000
+01110000100000000100001000000110
+01011000000000000000111100001100
+00100000010000000010110000011000
+01011000000000110000110101000000
+00100000010000000010101010001111
+00110111110110011000001000000000
+00011110001000100110000000000000
+00100000010000000010100111100111
+01110000100000000100001000000100
+00100000000000000000000000001010
+00110111110110011000001000000000
+00011110001000100111111000000000
+10011110000001100111111000000000
+00011111111000001111111000110000
+11011000010000000000000011111111
+00100000010000000111111110010001
+01100000000000001100000101111000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+01101000000000001100000101111000
+00100100011110100000000000000000
+01110000100000000100010011111111
+01110000100000000100001000000110
+00100000010000000010100111100111
+01011000000000000000001111101000
+10011110001000001110000000000000
+00000111111000000000000000000000
+00011110001000100111111000000000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+10011110000001100111111000000000
+00011111111000001111111000110000
+11011000010000000000000011111111
+00100000010000000111111110010001
+01100000000000001100000101111000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+11011000101000000000111111111111
+10011000101000010000101000000000
+01101000000000001100000101110101
+00011111111000010111111011110000
+00011111111011010111111000000000
+10011000101000011111111000000000
+01100000000100010000000001001100
+11101000110000010000000000000000
+11100000101000010000000000000000
+01011000000000000000000000000001
+00100000001000000010110000100100
+01011000000000000000000000000010
+00110111110110011000001000000000
+01100000000100001000000000000101
+00110111110110011000001000000000
+00110111110110011000001000000000
+00100000011000000000000000000000
+01000100110110000100000000010110
+01101000000000100000000010100001
+01100000000100100000000001001100
+01011000000000000000000000000100
+00100000010000000010110000100100
+01101000000000100000000010100101
+01100000000100100000000001001100
+01011000000000000000000000001000
+00100000001000000010110000100100
+01101000000000010100000101010010
+11111001001000000111111000000000
+01100000000000010100000101010010
+00100000011000000000000000000000
+01101000000000010100000101010010
+11111001001111111111111000000000
+01100000000000010100000101010010
+00100000011000000000000000000000
+01000100110110001100000000010110
+00100000010000000011001100100110
+01101000000000010100000101010010
+00011111111000100010001000000000
+01101000000000001000000001001100
+00101111111011111111111000000110
+01111001001000001010001000001011
+01101000000000001000000001111000
+01101000000010001000000001111100
+10011000010000001111111000000000
+01101000000010001000000001001000
+10011000010000001111111000000000
+01111101001110100010001000001010
+01101000000000001100010011111111
+01111101001110100010001000000001
+01101000000000010000001001011101
+01101000000010010000001001011111
+10011000010000001111111000000000
+01111101001110100010001000001101
+01101000000001000100011001101000
+01111101001110100010001000001111
+01101000000001000100011001110000
+01111101001110100010001000001110
+01101000000000001100000111001110
+01111101001110100010001000001000
+01101000000000001100000010010010
+00101111111000011111111000001010
+00100000010000001010110001011011
+01011111111111111111111111111000
+10011010001000010010001000000000
+00011010001000100111111000000000
+01100000000000010100000101010010
+00100000011000000000000000000000
+01101000000100010000000100010010
+01111101001110100010001000000110
+01101000000100010000000100001110
+01111101001110100010001000000101
+00100000011000000000000000000000
+01101000000100100000000100111000
+01111001001111111111111000011011
+01100000000100100000000001001100
+00100000010000000010110000100001
+00100000001000000010101010001100
+01101000000100100000000100111100
+01111001001111111111111000010100
+01100000000100100000000001001100
+00100000001000000010110000100011
+01101000000000010100000101010000
+11000010100000000010101010001100
+00100000011000000000000000000000
+01101000000000010100000101010000
+11000010100000001010101010001100
+00100000011000000000000000000000
+01101000000000010100000101010000
+11000010100000010010101010001100
+00100000011000000000000000000000
+01000100110110010100000000010110
+00100000010000000010110001111010
+00011010011000001010010011001101
+11101010010000001000000000000000
+11000001000000000000000000000000
+11000000000000001010110100000110
+11000000000000010010110001111111
+00100000011000000000000000000000
+01101000000010010100001001000001
+00011000010000100010011000000000
+00100000011000000000000000000000
+00100000010000000010111100111101
+00100000001000000011000001111101
+00100000010000000011000010000100
+00100000010000000011000001011010
+00100000010000000011000001011110
+00100000001000000011000010100010
+00100000010000000011001000110001
+01011000000000000000000001001110
+00100000010000000011001000101111
+00100000010000000011001010111010
+00011010011000001010001010010010
+11101010001000100000000000000000
+00100000001000000011001000101100
+00100000010000000010110001111010
+00011010011000001010010010010001
+11101010010010001000000000000000
+00100000010000000010110010010000
+00011010011000001000101010010001
+00100000001000000010111001010110
+00100000010000000010110010010100
+00011000010000001000010000000001
+00011000010000010000010000000011
+00100000011000000000000000000000
+00011010011000001010010010101110
+11101010010000001000000000000000
+00011111111000010111111000000011
+00011111111011111010001000000100
+00011010011000001111111010010111
+10011010001000001111111000000000
+10011000010000001000110000000000
+11101000110000001000000000000000
+00100000001000000011001000101111
+00100000010000000011001001101100
+00100000010000000110011001101010
+01011000000000000000011111100010
+11011010001000000000101010100010
+11011000010000000000000000000100
+00100000010000000110011010110011
+00100000010000000110011001101101
+01101000000000100000101010100010
+00100000010000000011001000100111
+00100100011110100000000000000000
+01101000000000100100000010100000
+00100000001000000011001000100111
+00100000010000000011001001000001
+01011000000000000000000000000000
+00100000010000000011001000111111
+00100000010000000011001000111010
+00011111111000010111111000000111
+00100000001000000011001000111100
+00100000010000000011001000111010
+01111001001000000111111000000100
+00100000010000000011001000111100
+00100000001000000011001000110101
+00100000010000000011001001011101
+11000000000000001010110010110111
+11000000000000010010110010111100
+00100000011000000000000000000000
+00100000010000000011001000111110
+00011010011000001000101011010001
+00100000010000000011001011010110
+00100000010000000011001001000010
+00100000001000000010110010101100
+00100000010000000011001001011010
+00100000001000000010110010111000
+00011010011000001010001010001100
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101010001100
+11100000101000001000000000000000
+11000000000100000010110111010010
+00100000010000000011001001011000
+11000000000000001010110011001010
+01011000000000000000000000000001
+00100000010000000011001001011011
+00100000010000000011001001011000
+11000000100000001010110010101100
+00011010011000001010001011010011
+11101010001000001000000000000000
+00011111111000001111111000000001
+00100000010000000010110011010101
+11000000000000100010110011010010
+00100000010000000010110010001010
+00100000010000000010110100000100
+00100000001000000010110110001111
+00100000010000000010110011010100
+00100000001000000010110010101100
+01011000000000000000000000000000
+00011010011000001000101011010011
+00100000001000000011001010110100
+00100000010000000011001000111110
+00100000010000000011001001011010
+00100000010000000011001001000001
+00100000001000000010110010101100
+00100000010000000011001001011101
+11000000000000011010110011011000
+00100000010000000011001000111010
+00101111111011000000000000000100
+00100000001000001010110010101001
+00100000010000000011001001011101
+11000000000000001010110011010111
+11000000000000010010110011011000
+00100000011000000000000000000000
+00100000010000000011001001010011
+11000001111111111000000000000000
+00100000010000000010110011101001
+00100100010101100010110011110100
+00100000011000000000000000000000
+01111000010101100111110000000000
+00011010011000001010001011001110
+11101010001000001000000000000000
+11000001100000001000000000000000
+00011010011000001010001011010000
+11101010001000001000000000000000
+11000001100000000000000000000000
+01011000000000000000000000000001
+00100000010000000010110011111101
+00100000010000000011001000110111
+00100000001000000111111111101011
+00011010011000001010001011010000
+11101010001000001000000000000000
+00100000001110100010110011111111
+00011111111000001111111111111111
+00100000010000000011001000111111
+01011000000000000000000000000010
+00100000010000000010110011111101
+00100000010000000010110010001010
+00100000001000000011001000110111
+00011010011000001000101011010010
+00100000001000000011001010110100
+01011000000000000000000000000011
+00100000010000000010110011111101
+00100000010000000011001001011000
+00100100001110100010110011001000
+00100000010000000010110010001010
+01011000000000000000000000000010
+00100000001000000011001000111000
+11000110100100110000000000000000
+01111001001000000000000000100111
+01000100110110011100000000010110
+00011010011000001010001010001110
+11101010001000001000000000000000
+11000000000000001010110100001111
+00100000010000000011000001101010
+00100100001101000010110100010110
+00100000010000000010110100011011
+00011010011000001000101010001110
+00100000010000000011001011010110
+00100000010000000010110100101100
+00100100001101000010110101111101
+00100000010000000010110011100100
+00100000010000000010110110001111
+00100000010000000010111001111010
+01111001001111111000000000100111
+00100000011000000000000000000000
+00100000011000101000000000000000
+01111001001000000111111000011100
+00100000011000000000000000000000
+00011010011000001010001011000010
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101011000010
+11100000101000001000000000000000
+11000000000000100010110100100011
+11000000000000101010110100100111
+00100000011000000000000000000000
+00011010011000001010001010101101
+11101010001000001000000000000000
+00011010011000001000101010101011
+00100000001000000011001010110100
+00011010011000001000101011000010
+00100000010000000011001011010110
+00011010011000001010001010101100
+11101010001000001000000000000000
+00100000001000000010110100100101
+00100000010000000011001001010011
+11000000111111111010111010110001
+01000100110110100100000000010110
+00100000010000000010110100111010
+00100100001101000010110100110110
+00100000010000000010110101010011
+00100000010000000010111001110001
+01011000000000000000000000000001
+00011010011000001000101010001011
+00100000001000000011001010110100
+00011010011000001010001010001011
+11101010001000001000000000000000
+11000000000000001111111111100111
+00100000011000000000000000000000
+00011010011000001000010011011000
+11101000010000010000000000000000
+00100000010000000111111110011100
+00100100011101000000000000000000
+00011010001000100111111000000000
+01100000000000001000101010101110
+00011010011000001000101010110010
+00100000010000000011001011010110
+00100000010000000010110010101100
+01100000000000001001000110011110
+01101000000000001000101010101110
+00011111111000100010001000000000
+00011010001000001000010000000001
+11011000101000000001000110011111
+00011010001000100111001000000000
+00011010010000100000110000000000
+00100000010000000111111100000001
+11011010001000000001000110011110
+11000110100100111000000000000000
+00011010011000001000101010000110
+11100000101010001000000000000000
+00011000010000100111001000000000
+00011010011000001000101000100010
+00011010001000100000110000000000
+00100000001000000111111100000001
+00011010011000001010001010000110
+11101010001000001000000000000000
+00011111111000001111111000000010
+00011010011000001000101010001000
+11100000101000001000000000000000
+00100000010000000011001000111010
+00100000010000000011001000110101
+00011010011000001010001010000110
+11101010001000001000000000000000
+00011111111010011111111000000000
+00011010011000001010001010000101
+11101010001010001000000000000000
+00011000010000010000010000000011
+00011000010000111000010000000000
+10011000010000011111111000000000
+00011010011000001010001011000011
+11101010001010001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010011000001010001010000110
+11101010001000001000000000000000
+10011000000000000111001000000000
+00011010011000001000110000100010
+00100000001000000111111100000001
+00100000010000000011001001001111
+00100000010000000011001001011010
+00100000010000000010111001101101
+00100000010000000010110010101100
+01100000000000001001000110011110
+00100000010000000010110101110111
+00100000010000000011001000111010
+01111001001000000111111000000011
+00100000010000000011001000111100
+00100000010000000010110101010011
+00100000010000000010110100110011
+00100000001000000010110100010100
+01100000000000001001000110011111
+00100000010000000011001000100100
+01100000000000100001000110100000
+11011000010000000000000000000110
+11011010001000000001000110011110
+00100000001000000010110101001100
+00011010011000001010001010110010
+11101010001000001000000000000000
+00100000001110100010110101101011
+00011010011000001010001011011010
+11101010001000010000000000000000
+00100000001000000111111110011100
+00100000010000000010110001111010
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000011110100000000000000000
+00011010011000001000010011011100
+11101000010000010000000000000000
+00100000010000000111111110011100
+00011010011000001000010010110110
+11101000010001000000000000000000
+00100000010000000111111101001001
+01100000000010100100000101011011
+00100000001000000010101100101010
+00100000010000000010110001111010
+00011010011000001000101010001111
+00100000010000000011001011010110
+00100000010000000010110110100100
+00100100001011000010110110101110
+00100100001101111010110110101110
+00100000010000000010110111010110
+00100000010000000010111001110101
+00100000010000000010110001111010
+00011010011000001010001010000101
+11101010001000001000000000000000
+00011111111000001111111000000001
+00100000010000000011001000110010
+00100000010000000011001001010011
+11000000111111111010111011010000
+00100000010000000010110011011011
+01011000000000000000000000000000
+00011010011000001000101010001100
+11100000101000010000000000000000
+01011000000000000000000000000000
+00100000001000000010110100110100
+01111000010101111111110000000000
+00100000010000000010110111110111
+00100000010000000010110001111010
+00011010011000001010001011000011
+11101010001000001000000000000000
+11000000000000001010110110101100
+00100000010000000010111000010001
+00100000001000000010111001000101
+00100000010000000010111001000101
+00100000001000000010110110010111
+01000100110110101100000000010110
+00011010011000001010001010001101
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101010001101
+11100000101000001000000000000000
+00100000010000000011001001010011
+11000000111111111010110111001100
+00011010011000001010001010001111
+11101010001010001000000000000000
+00011000010000001000010000000001
+00011010011000001000101010001111
+11100000101010001000000000000000
+00011010011000001010001011001100
+11101010001000001000000000000000
+10011000010001100111111000000000
+00100100001110100010110110010010
+01000100110110110100000000010110
+00100000010000000011001001011101
+11000000000000011010110010111110
+00011010011000001010001011010001
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101011010001
+11100000101000001000000000000000
+11000000000000010010110010110011
+00100000010000000010110010101111
+01011000000000000000000000000001
+00100000010000000011001000111000
+00100000001000000010110110001111
+00011010011000001010001010001101
+11101010001000001000000000000000
+11000001111111111000000000000000
+00011010011000001000101010001101
+00100000010000000011001011010110
+00100000001000000010110111010100
+00011010011000001000101010001100
+00100000010000000011001011010110
+01110000000010101001100100111010
+00100000001000000111110110000110
+00100000010000000010110111011110
+00011010011000001010001010000100
+11101010001000001000000000000000
+00100000011110100000000000000000
+10011000000000000111001000000000
+00011010011000001000110000000010
+00011010011000001000101001100100
+00100000001000000111111100000001
+00100000010000000011001001011111
+00011111111010010111111000000000
+00011010011000001000101010000100
+11100000101000001000000000000000
+00011111111000001111111000000001
+00011010011000001000110000000001
+10011000110000001000110000000000
+11101000110000011000000000000000
+00011010011000001000101011000100
+11100000101000011000000000000000
+00100000010000000011001001011111
+00011111111000110111111000000000
+00011111111000010111111000000011
+00011010011000001000101011001010
+11100000101000001000000000000000
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01011000010101010101010101010101
+10011000000000000001111000000000
+00100000011000000000000000000000
+00100000010000000010100100011000
+00011010011000001010001010010000
+11101010001010001000000000000000
+00100000001000000010100100110011
+00100000010000000010110111101110
+00100000010000000010110111110011
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00100000010000000101001111000100
+00100000010000000011001000101010
+10011000000000000001001000000000
+00001000000000001000011000100000
+01111000001001001111110000000000
+00011010011000001010001010001000
+11101010001000001000000000000000
+10011000000000000111001000000000
+00011010011000001000110001000010
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000010111000000110
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+01000100110110111100000000010110
+00100000000000000000000001100100
+01111000010011101111110000000000
+00100000011000000000000000000000
+01111000010101111111110000000000
+00011000000000000010101000000000
+00011010011000001010001010010000
+11101010001010001000000000000000
+00100000010000000010100100011111
+00100000010000000010100100100100
+00100000010000000010110111101110
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+00100000010000000101001111000100
+00100000010000000011001000101010
+10011000000000000001001000000000
+01111000001010000111110000000000
+00011010011000001010001010001001
+11101010001000010000000000000000
+10011000000000000011011000000000
+00110111110000011000010000000000
+00100100001011000010111001001101
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+00011010011000001000101000000000
+11100000101000001000000000000000
+00011010011000001010001011001101
+11101010001000001000000000000000
+11000000000000010010111000110011
+01000100110111000100000000010111
+00011010011000001010001000000000
+11101010001000001000000000000000
+00011010011000001010001010000111
+11101010001010001000000000000000
+10101000010000000000111000000000
+00100100001000001010111001000101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+00011111111010010111111000000000
+00011111111000010111001000011111
+00100000001000101010111000111101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000010111000111001
+00001001100000000000000000011000
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+00100000001000110010111001000101
+01111000001101111111110000000000
+01111000010001101111110000000000
+00100000011000000000000000000000
+01111000010011101111110000000000
+01111000010001101111110000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+00100000001100001010100011111001
+00110111110100111000001000000000
+00100000000000000000000001100100
+00100000001000000010100011111001
+00100000010000000010111001001111
+00100000001000000010111001000101
+00100000010000000010100110111011
+00100000011110100000000000000000
+00011010011000001010001011101010
+11101010001010001000000000000000
+11011010001000000000110110011110
+00100000010000000010111001011000
+00011010011000001000101011101010
+11100000101010001000000000000000
+00100000011000000000000000000000
+11011010010000000000000011111111
+00100000001000000010111001011010
+00011010001000100111111000000000
+10011000010000001000101000000000
+01101000000000001000000000011000
+11100000101000001000000000000000
+00011000010000001000010000000001
+00011010010000100111111000000000
+10011000010000010000010000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+00011010001000100000110000000000
+11101000110000001000000000000000
+10011000010000001000010000000000
+11000010000000000010111001100100
+00011000010011001000010000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+00100000010000000010111010011111
+01011000000000000000000000000001
+00100000010000000011001001110010
+01011000000000000000000000000000
+00100000010000000010111001110011
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000011001001110000
+00011111111000001111111000000001
+00011010011000001000101011111100
+00100000001000000011001010110100
+00011010011000001010001011111101
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101011111101
+00100000001000000011001010110100
+01000100110111001100000000010111
+00100000010000000011001001110000
+00011111111001100111110001111100
+00100000011000010000000000000000
+00011010011000001010001011111101
+11101010001010001000000000000000
+10011000010001100000010000000000
+00100000010000000010111001101101
+01011000000000000000000100000010
+10011010011000001010001000000000
+11101010001000001000000000000000
+10011000010001100111110000000000
+00100100001000010010111010001101
+01011000000000000000000100000011
+10011010011000001010001000000000
+11101010001000001000000000000000
+10011000010001100111110000000000
+00100000001000010010111010011001
+00100000011000000000000000000000
+00011010011000001010001011111110
+11101010001000001000000000000000
+11000000000000010010111010010011
+00011111111000001111111000000001
+00100000010000000011001001110010
+11000000000000001010111010011111
+01011000000000000000000000001010
+00100000010000000011001010110000
+01011000000000000000000000000000
+00100000010000000011001010110010
+00011010011000001010001011111111
+00100000001000000010111010100101
+00011010011000001010001011111110
+11101010001000001000000000000000
+11000000000000000010111010100111
+00011111111000001111111111111111
+00100000010000000011001001110010
+11000000000000000010111010100111
+01011000000000000000000000000101
+00100000010000000011001010110000
+01011000000000000000000000000000
+00100000010000000011001010110010
+01011000000000000000000100000000
+10011010011000001010001000000000
+11101010001000001000000000000000
+00100000001000000011001001101010
+01011000000000000000000000000010
+00100000010000000011001010110000
+01011000000000000000000000000000
+00100000010000000011001010110010
+01011000000000000000000100000001
+00100000001000000010111010100100
+01111001001000000000000000100110
+00100000010000000010110010000011
+01011000000000000000000000000001
+00100000001000000011001001010110
+00011010011000001010001010001011
+11101010001000001000000000000000
+11000000000000001111111111100111
+00100000010000000011001001010011
+11000000000000001010111010111001
+11000000000000010010111010111101
+11000000000000011010111011000001
+00100000001000000010101010001100
+01011000000000000000000000010001
+00100000010000000011001001010110
+01110000000100011001111010101010
+00100000001000000010111011000100
+01011000000000000000000000010010
+00100000010000000011001001010110
+01110000000100011001111001010101
+00100000001000000010111011000100
+01011000000000000000000000010011
+00100000010000000011001001010110
+01110000000100011001111000100010
+00100000010000000011001000111010
+00011111111000010111111000000111
+01100000000000001001000110011111
+00100000010000000011001000100100
+01100000000000100001000110100000
+01110000000100011010010000000000
+11011010001000000001000110011110
+11011000010000000000000000000111
+00100000010000000010110101001100
+00100000010000000010110101010011
+00100000010000000010110100110011
+00100000001000000111111111100111
+00100000010000000011001001010011
+11000001011111111000000000000000
+11000000000010001010111011010110
+11000000000010010010111011011001
+11000000000010011010111011011100
+00100000011000000000000000000000
+01011000000000000000000000000010
+00100000010000000011001001010110
+00100000001000000010110110011111
+01011000000000000000000000000011
+00100000010000000011001001010110
+00100000001000000010110110011111
+01011000000000000000000011111111
+00100000010000000011001001010110
+01110000000010101001100100111001
+00100000010000000111110110000110
+00011010011000001010001001100110
+11101010001000100000000000000000
+00100000010000000011001000101100
+00100000001000000010110110011111
+01111001001111111000000000100110
+00100000010000000010111100001000
+00100000010000000010111100100010
+00100000010000000011001001100011
+00100000000000000000011111010000
+00100000010000000011001001100001
+11000000011111111010110111010100
+00100000010000000010110110100100
+00100100001011000010111011111010
+00100100001101111010111011111010
+00100000010000000010110111010110
+00100000010000000010110001111010
+00011010011000001010001010010010
+11101010001010100000000000000000
+00100000010000000011000010111110
+00100000001000101010111010101101
+00100000010000000010110001111010
+00011010011000001010001001100110
+11101010001000100000000000000000
+11000000000000000010111011100111
+00100000010000000011001000101100
+00100000001000000010111100011100
+00100000010000000011001001100001
+00011111111000001111111000000001
+00100000010000000011001001100100
+00100000010000000010111100000100
+00011111111000001111111000000001
+00011111111000010111111000000001
+00100000010000000010111100000110
+11000000000000000010111100001100
+11000000000000001010111100001110
+00100000011000000000000000000000
+01011000000000000000000110001011
+00100000001000000011001011010000
+11011010001000000000000110001011
+00100000001000000011001010110011
+00100000010000000011001001100111
+00100000010000000011001000100100
+00100000010000000011001000101100
+00100000001000000010110010001010
+00100000010000000010111100001000
+00100000001000000010111011101000
+00100000010000000010110010000011
+00100000001000000010111011101000
+01111001001111111000000000100110
+00100000010000000010110010001010
+00100000010000000011001001010011
+11000001111111111000000000000000
+00100000010000000010111100100010
+00100000010000000011001001100011
+00100000000000000000011111010000
+00100000010000000011001001100001
+11000000011111111010110111010100
+00100000010000000010110110100100
+00100100001011000010111100100111
+00100100001101111010111100100111
+01111001001000000000000000100110
+00100000010000000011001001100011
+01011000000000000000000011111111
+00100000010000000011001001010110
+01110000000010101001100100111100
+00100000001000000111110110000110
+01111001001000000000000000100111
+01110000000100011001111011111111
+00100000010000000011001000111010
+00100000010000000010110101110111
+00100000001000000010110101010011
+00100000010000000011001001100001
+00011111111000001111111000000001
+00100000010000000011001001100100
+00100000010000000010110010001010
+00100000001000000010111100010110
+00100000010000000011001001100111
+01011000000000000000000011111111
+00100000010000000011001001010110
+00100000001000000010111100010000
+01000100110111010100000000010111
+00100000010000000010110001111010
+01011000000000000011000110110000
+00011010011000001000101011011110
+11100000101000010000000000000000
+00100000010000000010111100111101
+00100000010000000100100011101010
+00100000010000000011001010110110
+01000100110111011100000000010111
+11000000000000000011000001010101
+11000000000000001010111101000101
+11000000000001111010111101000001
+00100000001000000010101010001100
+00100000010000000011001001101100
+11011111001000000000000010000000
+11011000101000000000110110011110
+00100000001000000111111011000110
+00100000010000000010111101001100
+00100000010000000010111101001111
+00100000010000000100100011010011
+00100000001000000010111101000010
+01000100110111100100000000010111
+00100000010000000010111101001100
+00100000010000000010111101001111
+00100000010000000010111110111101
+00100000010000000100100011010011
+00100000010000000011000000011001
+00100000001000000010111101000111
+00100000010000000011001010010001
+00100000010000000011001010010110
+00100000001000000011001010011001
+00100000010000000011001010001111
+11000001100000000000000000000000
+00100000010000000010111101010101
+00100000010000000010111101100101
+00100000010000000011000101101011
+00100000001000000010111110010110
+00100000010000000011001010010100
+11000011100000000000000000000000
+01111001001000000111111000000000
+00100000010000000011001010010111
+00100000010000000011001001100111
+00100000010000000011001010011001
+01110000000011010011100000000000
+00100000010000000011001001001111
+00100000010000000010111101100001
+00011010011000001000101000000000
+11011111001000000000000001000010
+00100000001000000111111011010100
+00100000010000000011001000110001
+00100000010000000011001001111101
+00100000010000000011001000101100
+00100000001000000010110010001010
+01000100110111101100000000010111
+00100000010000000011001001001100
+11000000000000001010111110001101
+00100000010000000011001001000101
+11000000000000001010110010001010
+01011000000000000000000100110110
+10011010011000001010001000000000
+11101010001010100000000000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+01011000000000000000000100110110
+10011010011000001010001000000000
+11101010001000100000000000000000
+00011111111000100000010000000000
+01011000000000000000000100111010
+10011010011000001010001000000000
+00011000010000100111111000000000
+11101010001010001000000000000000
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+01011000000000000000000100110110
+10011010011000001000101000000000
+11100000101000100000000000000000
+00100000010000000010110010001010
+00100000010000000011001001111000
+00011111111000001111111000000001
+00100000010000000011001001111011
+11000001100000010000000000000000
+00100000010000000011001001111010
+00100000001000000011001001001111
+00011100010000100111111000000000
+11011010001000000000000100110110
+00100000010000000011001010111111
+11100000101000100000000000000000
+00100000001000000011001001111010
+11011010001000000000110110011110
+00100000010000000010111110010100
+00011010011000001000101011101011
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+00100000001000000010110010001010
+11011111001000000000000100000000
+00100000001000000010111001100010
+00100000010000000010111110011001
+00100000010000000010111110100101
+00100000001000000010111110110001
+01011000000000000000000110000000
+00100000010000000011001011010000
+00100000011110100000000000000000
+11011000111000000000000000001011
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010100111
+01011000000000000000000000000001
+01100000000000001000110101010100
+01011000000000000000000000000000
+11100000101000111000000000000000
+00100000001000000011000110111000
+01011000000000000000000101111110
+00100000010000000011001011010000
+00100000011110100000000000000000
+11011000111000000000000000001110
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010101010
+11011000101000000000110101100100
+11011111001000000000000000000010
+00100000010000000111111011000110
+01110000000011010110010000000000
+00100000001000000011000111101101
+01011000000000000000000101111111
+00100000010000000011001011010000
+00100000011110100000000000000000
+11011000111000000000000000001100
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010101101
+11011000101000000000110101110100
+11011111001000000000000000000010
+00100000010000000111111011000110
+01110000000011010111010000000011
+00100000001000000011001000000111
+00100000010000000011001010001111
+11000001100000001000000000000000
+00100000010000000010111111000001
+00100000001000000010111111001011
+00100000010000000011001010010100
+11000011100000001000000000000000
+01111001001000000111111000000001
+00100000010000000011001010010111
+00100000010000000011001010011100
+00100000010000000010110010000011
+01011000000000000000000000000000
+11011010001000000000000100000110
+00100000010000000011001010111111
+00100000001000000011001011000101
+00100000010000000011000101101110
+00100100001101111010111101011110
+00011010011000001000110000000000
+01011000000000000000000100001001
+10011010011000001000101000000000
+11011111001000000000000000001000
+00100000010000000111111100000001
+01011000000000000000000100001011
+00100000010000000011001011010000
+11000000010101010010111111011001
+11000000001010101010111111101101
+11000000000100010011000000000001
+11000000011111111011001000010010
+00100000001000000010111101011110
+00100000010000000011001010111101
+11000000000000001010111111011101
+11000000000000010010111111101000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000010000000010111111110111
+01011000000000000000000000000001
+00100000010000000011001010001001
+01011000000000000000000010000000
+11011010001000000000000100110000
+00100000010000000011001010110011
+00100000010000000011001001111101
+11011010001000000000000100110001
+00100000010000000011001010111111
+00100000001000000011001000101101
+01011000000000000000000000000001
+00100000010000000010111111111111
+01011000000000000000000000000010
+00100000010000000011001010001001
+00100000001000000010111111100001
+00100000010000000011001010111101
+11000000000000001010111111110001
+11000000000000010010111111111001
+00100000011000000000000000000000
+00100000010000000010111111011111
+01011000000000000000000100000110
+00100000010000000011001011010000
+11000000000000001010111111110110
+00100000011000000000000000000000
+01011000000000000000000000000010
+11011010001000000000000100000110
+00100000001000000011001010110011
+00100000010000000010111111101010
+01011000000000000000000100000111
+00100000010000000011001011010000
+11000000000000001010111111111110
+00100000011000000000000000000000
+01011000000000000000000000000010
+11011010001000000000000100000111
+00100000001000000011001010110011
+00100000010000000011001010111101
+11000000000000001011000000000101
+11000000000000010011000000010001
+00100000011000000000000000000000
+01011000000000000000000100000110
+00100000010000000011001011010000
+11000000000000010011000000001001
+00100000011000000000000000000000
+00100000010000000011001010001011
+00011111111000011111111000000001
+00100000010000000011001010001101
+01011000000000000000000000000000
+01011000000000000000000100000110
+10011010011000001000101000000000
+11100000101000010000000000000000
+00100000001000000010111101011110
+01011000000000000000000100000111
+00100000010000000011001011010000
+11000000100000000011000000010101
+00100000011000000000000000000000
+00100000010000000011001010001011
+00011111111000011111111000000010
+00100000010000000011001010001101
+00100000001000000011000000001100
+01101000000000001000110101010000
+00100000011110100000000000000000
+01110000000011010101000000000000
+01101000000000010000110101001110
+11011000010000000000001010111010
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000001000110010110110
+11000001110111010000000000000000
+01101000000000001000110010110111
+01000100110111110100000000010111
+11000000010100000011000000111011
+11000000010100001011000000101100
+11000000010100110011000001000001
+11000000010100111011000001000011
+11000000010101001011000001001001
+11000000010110000011000001001101
+01110000000011010100001000000000
+00100000011000000000000000000000
+01101000000000001000110010111000
+11000000000000001011000000110001
+11000000010000100011000000110100
+11000000010100111011000000111001
+00100000001000000011000000101010
+00100000010000000011001010001011
+01100000000000001000110011110111
+00100000001000000011000000111111
+00100000010000000011001010010001
+00100000010000000011001010010110
+00100000010000000011001010001011
+01100000000000001000110011110111
+00100000001000000011000000111111
+01110000000011001111011110100001
+00100000001000000011000000111111
+01101000000000001000110010111000
+11000000010000001011000000111110
+00100000001000000011000000101010
+00100000010000000011000010010000
+01110000000011010100001000000001
+00100000011000000000000000000000
+01110000000011001111011100010101
+00100000001000000011000000111111
+00100000010000000011001010001111
+11000000000000000011000001000111
+11000000000000001011000000111001
+00100000011000000000000000000000
+01110000000011001111011110100000
+00100000001000000011000000111111
+01110000000011001111011100000000
+01110000000011001111100000000000
+01110000000011001111100100000001
+00100000001000000011000000111111
+00100000010000000011001010011100
+01101000000000001000110010111000
+00011111111000001111111000000010
+00011111111000100111001000000000
+11011000110000000000110010110110
+01011000000000000000000100111100
+10011010011000001000101000000000
+00100000001000000111111100000001
+01000100110111111100000000010111
+00100000010000000011000001111101
+00100000010000000010110001111111
+00100000010000000100100011010011
+00100000001000000011000001010111
+00100000010000000011001010001111
+11000001100000000000000000000000
+00100000010000000010111101010001
+00100000001000000011000010011000
+00100000010000000011001010001111
+11000001100000001000000000000000
+00100000010000000010111111000001
+00100000010000000010111111001011
+00100000010000000011001010001011
+00100000011110100000000000000000
+00100000010000000011001010000110
+00100000010000000010111101001100
+00100000010000000011000010010011
+01011000000000000000000000000000
+00011010011000001000101010100111
+00100000001000000011001000101101
+00100000010000000111111111101001
+00011010011000001010001010100111
+11101010001010100000000000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+00011010011000001010001010100111
+11101010001000100000000000000000
+00011010011000001010001010101011
+11101010001010001000000000000000
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+00011010011000001000101010100111
+11100000101000100000000000000000
+00100000001000000111111111100111
+01011000000000000000000000000001
+00100000010000000011001010000111
+00100000010000000011001010000011
+01011000000000000000000011111111
+00011010011000001000101010101011
+11100000101000001000000000000000
+00100000001000000011000001100111
+01011000000000000000000101011100
+00100000010000000011001011010000
+00100000011110100000000000000000
+00100000010000000011000001101010
+00100100011101000000000000000000
+00100000010000000011001010000001
+00011111111000001111111000000001
+00011111111000010111111000000001
+00100000010000000011001010000100
+11000000000000000010111101001100
+11000000000000001011000010010000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000010000000011001010010010
+00100000001000000011001010010110
+01011000000000000000000000000001
+00100000010000000011001010100101
+01011000000000000000001010000000
+11011000111000000000000000001000
+00100000001000000111111100001000
+00100000010000000011001010100010
+00100000011110100000000000000000
+11011000111000000000000000001000
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010100100
+01011000000000000000000000000111
+00100000010000000011001010010010
+00100000010000000011001010010110
+00100000001000000010111101011110
+01000100111000000100000000011000
+00100000010000000011001010001111
+11000001100000111000000000000000
+00100000010000000011000011001011
+00100000010000000011000011100000
+00100000010000000011000101101110
+00100100001101111010111101011110
+00100000010000000011000010111100
+00100000010000101011000101110010
+00100000010000000010111101001100
+00100000010000000011001010010100
+01111001001000000111111000000000
+00100000010000000011001010010111
+00100000010000000010111101011110
+00100000010000000011000010010011
+00100000010000000011000010111100
+00100000001000101011000011000001
+01011000000000000000000101100100
+00100000010000000011001011010011
+00100000010000000011000010111110
+00100000001000101011000011000101
+01011000000000000000000101100000
+00100000010000000011001011010011
+00100000010000000011000010111110
+00100000001000101011000011001000
+00100000011000000000000000000000
+01011000000000000000000100101011
+00100000010000000011001011010011
+00100000010000000011001000101010
+10011000010001100111110000000000
+00100000011000000000000000000000
+01011000000000000000000110000010
+00100000010000000011001011010000
+00011010011000001000101010010001
+00100000001000000011001010110100
+01011000000000000000000110000101
+00100000010000000011001011010000
+00100000001000000011000011000011
+01011000000000000000000110001000
+00100000010000000011001011010000
+00100000001000000011000011000011
+00100000010000000011001010010100
+11000011100000111000000000000000
+01111001001000000111111000000111
+00100000010000000011001010010111
+00100000010000000011001010000011
+00100000010000000011001010011100
+01011000000000000000000000000000
+00011010011000001000101011110101
+11100000101000011000000000000000
+11011010001000000000000110000011
+00100000010000000011001010111111
+11100000101000111000000000000000
+00100000010000000011000010111100
+00100100011000101000000000000000
+00011010011000001010001010010001
+11101010001000001000000000000000
+11011010001000000000000110000010
+00100000010000000011001010110011
+00011010011000001010001010010000
+11101010001000001000000000000000
+00100000001000000011000101001010
+01000100111000001100000000011000
+00100000010000000011001010000001
+00011111111000001111111000000001
+00011111111000010111111000000011
+00100000010000000011001010000100
+11000000000000000011000100001110
+11000000000000001011000100110010
+11000000000000010011000011101010
+11000000000000011011000100110010
+00100000011000000000000000000000
+00100000010000000010111111011111
+01011000000000000000000101100000
+00100000010000000011001001111110
+00100000001110100011000011100000
+00100000010000000011001000101100
+01011000000000000000000110001001
+00100000010000000011001011010000
+00100000010110100011000100001000
+01011000000000000000000110000111
+00100000010000000011001011010000
+00100000010000000011001000101111
+00011010011000001010001011110111
+11101010001010001000000000000000
+11011010001000000000111110011110
+00100000010000000010111001011000
+00011010011000001000101011110111
+11100000101010001000000000000000
+00100000010000000010111110010100
+00011010011000001000101011111010
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+01011000000000000000000110001000
+00100000010000000011001001110101
+00100000010000000010110010010000
+11011010001000000000000110001000
+00100000010000000011001011001000
+11100000101010001000000000000000
+11011010001000000000000110000111
+00100000001000000011001010110011
+01011000000000000000000000000001
+11011010001000000000000110001001
+00100000010000000011001010110011
+11011000010000000000000000000000
+00100000010000000010110010010100
+00100000001000000011000100000110
+00100000010000000010111111101010
+01011000000000000000000101100100
+00100000010000000011001001111110
+00100000001110100011000011100000
+00100000010000000011001000101100
+01011000000000000000000110000110
+00100000010000000011001011010000
+00100000010110100011000100101100
+01011000000000000000000110000100
+00100000010000000011001011010000
+00100000010000000011001000101111
+00011010011000001010001011110110
+11101010001010001000000000000000
+11011010001000000001000010011110
+00100000010000000010111001011000
+00011010011000001000101011110110
+11100000101010001000000000000000
+00100000010000000010111110010100
+00011010011000001000101011111001
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+01011000000000000000000110000101
+00100000010000000011001001110101
+00100000010000000010110010010000
+11011010001000000000000110000101
+00100000010000000011001011001000
+11100000101010001000000000000000
+11011010001000000000000110000100
+00100000001000000011001010110011
+01011000000000000000000000000001
+11011010001000000000000110000110
+00100000010000000011001010110011
+11011000010000000000000000000000
+00100000010000000010110010010100
+00100000001000000011000100101010
+00100000010000000010111111011111
+00100000010000000011001001111101
+00100000010000000011001000101100
+01011000000000000000000110000011
+00100000010000000011001011010000
+00100000010110100011000101001100
+00100000010000000011000101001111
+00011010011000001010001011110101
+11101010001010001000000000000000
+11011010001000000000111010011110
+00100000010000000010111001011000
+00011010011000001000101011110101
+11100000101010001000000000000000
+00100000010000000010111110010100
+00011010011000001000101011111000
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+01011000000000000000000110000010
+00100000010000000011001001110101
+00100000010000000010110010010000
+11011010001000000000000110000010
+00100000010000000011001011001000
+11100000101010001000000000000000
+11011010001000000000000110000001
+00100000001000000011001010110011
+01011000000000000000000000000001
+11011010001000000000000110000011
+00100000010000000011001010110011
+01011000000000000000000110000001
+00100000010000000011001011010000
+00100000001000000011001000101111
+00011010011000001010001000000000
+11101010001000001000000000000000
+00100000010000000011001000111100
+00100000010000000010110111011110
+00100000010000000011001001011111
+00101111111011111111111000000000
+00100000001000001011000101011100
+00100000010000000011000101011101
+00100000010000000010110101010011
+00100000010000000010110111110111
+00100000001000000010111001000101
+01000100111000010100000000011000
+00011010011000001000101010000110
+00100000010000000011001011010110
+01011000000000000000000100111011
+00100000010000000011001011010000
+00100000011110100000000000000000
+01011000000000000000000000000110
+00011010011000001000101010000110
+11100000101000001000000000000000
+11011111001000000000000000000110
+01011000000000000000000100101111
+10011010011000001000110000000000
+00011010011000001000101000100010
+00100000001000000111111100000001
+00100000010000000011000101101110
+00100100001101111010111101011110
+00100000001000000011000101110010
+00100000010000000010111101011110
+00100000010000000010111000010001
+00100100011101111000000000000000
+00100000001000000011000101010010
+01000100111000011100000000011000
+00100000010000000011000110001000
+00100100001101000010111101011110
+00011010011000001010001010000100
+11101010001000001000000000000000
+00100000001110100010111101011110
+00011111111000001111111000000010
+10011000000000000111001000000000
+00011010011000001000110000000000
+01011000000000000000000100001001
+10011010011000001000101000000000
+00100000010000000111111100000001
+00100000010000000011001010000110
+00100000010000000011001010110110
+00100000010110100011000010010011
+01011000000000000000000100001011
+00100000010000000011001011010000
+11000000000000001011000110011110
+11000000000000010011000111000110
+11000000000000011011000111110010
+11000000011111111011001000010010
+00100000001000000010111101011110
+00100000010000000010110001111010
+00100000010000000111111111101001
+00011010011000001010001011001010
+11101010001000001000000000000000
+00011010011000001010001011001011
+11101010001010001000000000000000
+10011000010001100111110000000000
+00100100010000101111111111100111
+00011010011000001010001011001010
+11101010001000001000000000000000
+00011010011000001000101011001011
+11100000101000001000000000000000
+00011010011000001010001011000100
+11101010001000011000000000000000
+00011010011000001010001011000111
+11101010001010011000000000000000
+10011000010001100111110000000000
+00100100010000101111111111100111
+00011010011000001010001011000100
+11101010001000011000000000000000
+00011010011000001000101011000111
+00100000001000000011001011000101
+00100000010000000010111110001000
+00100000010000000011001001001100
+01100000000000001000101010100010
+00100000010000000011001001110100
+01101000000000001000101010100010
+00101000010011111111111000000011
+01111001001000001111111000000000
+00011010011000001000101010110010
+11100000101000001000000000000000
+11000000000000001011001000010110
+00100000010000000011001001000101
+00100000010000000011001001110100
+00101000010011111111111000000100
+01111001001000001111111000000000
+00100000010000000011001001001001
+00011010011000001010001011011110
+11101010001000010000000000000000
+00100000001000000111111110011100
+01011000000000000000000000000001
+01100000000000001000110101010100
+00100000010000000011001010011110
+11100000101000111000000000000000
+00100000010000000011001010011110
+00100100010110100011000110111101
+00100000010000000011001010011110
+00100000010110100011000111000010
+01110000000011010101001000100000
+01101000000000001000110100111000
+01111001001000000111111000000010
+01100000000000001000110100111000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000010000000011001010101000
+01011000000000000000000101000000
+11011000111000000000000000001011
+00100000001000000111111100001000
+00100000010000000011001010100111
+01011000000000000000000000000000
+11011000111000000000000000001011
+00100000001000000111111100001000
+00100000010000000011001001110100
+00101000010011111111111000000011
+00100000001000001011001000011011
+11011000101000000000110101100100
+00100000010000000011000111100000
+01101000000001000000110101100100
+00100100010110100011000111100100
+01101000000001000000110101100100
+00100000010110100011000111101001
+00100000010000000010110001111010
+01101000000001000000110101100100
+11011010001000000000000101101000
+00100000010000000011001010111111
+11100000101001000000000000000000
+01011000000000000000000101110000
+10011010011000001010001000000000
+11101010001011000000000000000000
+10011000010001100111110000000000
+00100100010000101011000111101101
+01011000000000000000000101101000
+10011010011000001010001000000000
+11101010001001000000000000000000
+11011010001000000000000101110000
+00100000010000000011001010111111
+11100000101001000000000000000000
+00100000001000000010111101011110
+01011000000000000000000100001011
+10011010011000001000110000000000
+11011111001000000000000000001001
+00100000001000000111111111110011
+01011000000000000000000000000001
+00100000010000000011001010101011
+01011000000000000000000101000000
+11011000111000000000000000001110
+00100000001000000111111100001000
+00100000010000000011001010101010
+01011000000000000000000000000000
+11011000111000000000000000001110
+00100000001000000111111100001000
+01110000000011010101000100010000
+01101000000000001000110100111000
+01111001001000000111111000000001
+01100000000000001000110100111000
+00100000011000000000000000000000
+11011000101000000000110101110100
+00100000010000000011000111100000
+01101000000000010000110101110101
+00100100010110100011001000001001
+01101000000000010000110101110101
+00100000010110100011001000001110
+00100000010000000010110001111010
+01101000000000011000110101110100
+11011010001000000000000101111000
+00100000010000000011001011000100
+01011000000000000000000101111011
+10011010011000001010001000000000
+11101010001010011000000000000000
+10011000010001100111110000000000
+00100100010000101011001000000111
+01011000000000000000000101111000
+10011010011000001010001000000000
+11101010001000011000000000000000
+11011010001000000000000101111011
+00100000010000000011001011000100
+00100000001000000010111101011110
+01110000000011010101001000100001
+00100000001000000011000110111001
+01011000000000000000000000000001
+00100000010000000011001010101110
+01011000000000000000000101000000
+11011000111000000000000000001100
+00100000001000000111111100001000
+00100000010000000011001010101101
+01011000000000000000000000000000
+11011000111000000000000000001100
+00100000001000000111111100001000
+00100000010000000011001010111101
+11000000000000001011001000010110
+11000000000000010011001000011011
+00100000011000000000000000000000
+01011000000000000000000100001101
+00100000010000000011001001111110
+11011010001000000000000101100000
+00100000010000000011001010111111
+00100000001000000011001000101101
+01011000000000000000000100001101
+00100000010000000011001001111110
+11011010001000000000000101100100
+00100000010000000011001010111111
+00100000001000000011001000101101
+00100000010000000010110001111010
+00011010011000001000101011001101
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+00011010011000001010001010111110
+00100000001000000011001001111111
+00100000010000000010110001111010
+00011010011000001000101010111110
+00100000001000000011001000101101
+00011010011000001010001010101110
+00100000001000000011001001111111
+00011010011000001000101010101110
+11100000101000100000000000000000
+00100000011000000000000000000000
+00011010011000001000101010010000
+00100000001000000011001010110100
+01011000000000000000000000000000
+00100000010000000010110001111010
+00011010011000001000101010000101
+00100000001000000011001010110100
+00011010011000001000101001000010
+00100000001000000011001010110100
+01011000000000000000000000000100
+00011010011000001000101011001100
+00100000001000000011001010110100
+00011010011000001010001010000111
+00100000001000000011001011010001
+00011010011000001000101010000111
+00100000001000000011001010110100
+01011000000000000000000000000010
+00011010011000001000101011010000
+00100000001000000011001010110100
+01011000000000000000000000000001
+00100000010000000010110001111010
+00011010011000001000101011001110
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001010110100
+00100000001000000011001011010001
+01011000000000000000000000000001
+00100000010000000010110001111010
+00011010011000001000101010110100
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001010110010
+00100000001000000011001011010001
+01011000000000000000000000000001
+00100000010000000010110001111010
+00011010011000001000101010110010
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001010010110
+00100000001000000011001011010001
+00011010011000001000101010010110
+00100000001000000011001010110100
+00011010011000001010001011001111
+00100000001000000011001011010001
+01011000000000000000000000000000
+00011010011000001000101011001111
+00100000001000000011001010110100
+00011010011000001010001011010010
+00100000001000000011001011010001
+00011010011000001010001000000001
+00100000001000000011001011010001
+00011010011000001010001010110101
+00100000001000000011001011010001
+01011000000000000000000000000000
+00100000010000000010110001111010
+00011010011000001000101010110101
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001011111011
+11101010001000001000000000000000
+01100000000000001100000111011110
+00100000011000000000000000000000
+00100000010000000010110001111010
+01101000000000001100000111011110
+00011010011000001000101011111011
+00100000001000000011001010110100
+00011010011000001010001011111100
+00100000001000000011001011010001
+00011010011000001000101011111110
+00100000001000000011001010110100
+01011000000000000000000100001001
+10011010011000001010001000000000
+11101010001010001000000000000000
+00100000011000000000000000000000
+01011000000000000000000100110101
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000100110101
+00100000001000000011001010110011
+01011000000000000000000100101011
+00100000010000000011001011001101
+11101010001000100000000000000000
+00100000011000000000000000000000
+01011000000000000000000101011111
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000101011111
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000101011100
+00100000001000000011001010110011
+11011010001000000000000100101111
+00100000001000000011001010110011
+01011000000000000000000100001000
+00100000001000000011001011010000
+11011010001000000000000100001000
+00100000001000000011001010110011
+01011000000000000000000100000101
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000100000101
+00100000001000000011001010110011
+01011000000000000000000100000100
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000100000100
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000100111011
+00100000001000000011001010110011
+01011000000000000000000000000001
+00100000001000000011001010011010
+01011000000000000000000100001100
+00100000010000000011001011001101
+11101010001000111000000000000000
+00100000011000000000000000000000
+01011000000000000000000101011110
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000101011110
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000110000000
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000101111110
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000101111111
+00100000001000000011001010110011
+11011010001000000000000100000010
+00100000001000000011001010110011
+11011010001000000000000100000011
+00100000010000000011001011000111
+11100000101000001000000000000000
+00100000011000000000000000000000
+01011000000000000000000101011101
+00100000001000000011001011010000
+11011010001000000000000101011101
+00100000001000000011001010110011
+01011000000000000000000110001010
+00100000010000000011001011010000
+00100000001000000011001001101010
+01011000000000000000000100001100
+00100000001000000011001011010000
+00011111111000100000010000000000
+00011010001000100111111000000000
+10011010011000001000101000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00100000010000000011001010111111
+11100000101000011000000000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+00011111111000100010010000000000
+00011010001000100111111000000000
+10011010011000001000101000000000
+00011010010000100111111000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+10011010011000001010001000000000
+00100000011000000000000000000000
+00100000010000000011001011001101
+11101010001000001000000000000000
+00100000011000000000000000000000
+00100000010000000011001011001101
+11101010001010100000000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000001000000011001010110100
+01000100111000100100000000011000
+01101000000000001100000010010010
+00100000001110100011001011011000
+11000000000000100010111100110000
+11000000000001111011010000110110
+11000000000001001100010111011110
+11000000000001010011100100101010
+11000000000001110011010110111111
+11000000000010000100010010100100
+11000010100000110011110100000000
+00100000011000000000000000000000
+01000100111000101100000000011000
+01110000000000010101000100000000
+01110000000000010111111100000000
+01110000000000011000000000000000
+01011000000000000000000000000000
+01100000000000101000100110101110
+01101000000000001100000010010010
+00100000001110100011001011100011
+11000000000001010011100101100010
+00100000011000000000000000000000
+00100000010000000111110011010001
+00100000010000000111110110011100
+00100000010000000011001011110110
+01101000000000010100000111110011
+00100000001000000111111110011100
+01101000000000010100000111110001
+00100000001000000111111110011100
+01101000000000010100000111101111
+00100000001000000111111110011100
+01000100111000110100000000011000
+11011010001000000100011001101000
+00100000010000000111111111000100
+00100000011110100000000000000000
+00011111111000100010011000000000
+00100000010000000011001011111111
+00100000001000000011001100100100
+11011010011000000000000000000000
+00100000011000000000000000000000
+11000000000000001011001100010001
+11000000000010000011001101010111
+11000000000000101011001100110101
+11000000000010010011001100111100
+11000000000000110011001101010011
+11000000000000100011001110010100
+11000000000000010011001110011001
+11000000000010011011001110010100
+11000000000010100011001101001011
+11000000000010101011001101001111
+11000000000000011011001100101110
+11000000000001011011001101000000
+11000000000001100011001101000111
+11000000000010110011001101011011
+11000000000011000011001100101010
+11000000000101010011001100011010
+11000000000101011011001100011000
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000000
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001111111111111000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01110000000000100010100100000000
+00100000011000000000000000000000
+01101000000000001000001000101001
+00011111111000001111111000000001
+01100000000000001000001000101001
+00011111111001100111110000000001
+00100000001000010011001111011111
+01110000000000100010100100000000
+01101000000000010100001000001010
+01111001001000000111111000001001
+01100000000000010100001000001010
+00100000001000000011001111101001
+01101000000000010100000111110101
+00100000001000000111111110011100
+01101000000000010100000111101001
+00100000001000000111111110011100
+01101000000000010100000111101101
+00100000001000000111111110011100
+01101000000000010100001000001010
+01111001001000000111111000000001
+01100000000000010100001000001010
+00100000001000000011010000010010
+01101000000000010100011010000010
+01111001001000000111111000000111
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001000000111111000000010
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000001
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001000000111111000000100
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000011
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000101
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001000000111111000000011
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000000101
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000001001
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000001001
+01100000000000010100011010000010
+00100000001000000011010000011000
+01101000000000010100011010000010
+01111001001000000111111000000010
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001000000111111000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001000000111111000001000
+01100000000000010100001000001010
+00100000001000000011001111101001
+01000100111000111100000000011000
+01100000000000001000001000101010
+01101000000000001000001000101010
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001000001000101010
+00100000010000000111110011011101
+00100000010000000011001111010110
+00100000010000000011001110000111
+00100000010000000011001110001101
+00100000010000000110010100011011
+01101000000000010100000111111101
+00100000010000000111111110011100
+00100000001000000011001101100001
+11101010011000001000000000000000
+00100000011110100000000000000000
+00011111111000001111111111111111
+11100010011000001000000000000000
+00100100011110100000000000000000
+00011010010000100111111000000000
+00100000001000000111111110011100
+11101010011000010000000000000000
+00100000011110100000000000000000
+00011111111000001111111111111111
+11100010011000010000000000000000
+00100100011110100000000000000000
+00011010010000100111111000000000
+00100000001000000111111110011100
+01101000000010010100001000111111
+00011000010000001010011000000001
+11011010010000000011001101111111
+00100000001000000011001101101101
+00100000010000000011010000101101
+11000000000000001011001110000010
+00100000001000000011010000001010
+01011000000000000000000000000010
+11100010011000001000000000000000
+00011000010000001010010000001000
+11101010010000010000000000000000
+00100000001000000111111110011100
+11011010011000000100001000000101
+11011010010000000011001110001010
+00100000001000000011001101101101
+00100000010000000010001001010010
+00100000001000101011010000001110
+00100000011000000000000000000000
+11011010011000000100011001111110
+11011010010000000011001110010000
+00100000001000000011001101110100
+00100000010000000011001111110000
+00100000010000000011010000001000
+01101000000000010100000111110111
+00100000001000000111111110011100
+00100000010000000011001110101100
+01101000000000010100011010000010
+01111001001111111111111000000111
+01100000000000010100011010000010
+00100000011000000000000000000000
+01110000010000100000010100000000
+01101000000000010100011010000010
+11000010100000111011001110011110
+00101111111011000000000000000001
+00100000010000001011001011111101
+01000100111001000100000000011001
+01101000000000010100011010000010
+01111001001111111111111000000000
+01111001001111111111111000000001
+01111001001111111111111000000010
+01111001001111111111111000000011
+01111001001111111111111000000111
+01100000000000010100011010000010
+00100000001000000011010000011000
+00100000010000000011001110101001
+00100000001000000011010000001010
+01011000000000000000000000000000
+01100000000000010100001000001000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01100000000000010100001000001000
+01011000000000000000000000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001000000111111000000111
+01100000000000010100001000001000
+01011000000000000000000000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000001100011010000010
+00101111111011111111111000000101
+00100000011000000000000000000000
+01011000000000001010101001010101
+01100000000000010000101010101010
+01000100111001001100000000011001
+11011000010000000000000000000010
+11011010001000000000101010101010
+11011010010000000000000011000011
+00100000001000000110011000000110
+01000100111001010100000000011001
+11011000010000000000000000000010
+11011010001000000000101010011010
+11011010010000000000000011000011
+00100000010000000110010111011111
+01101000000000010000101010011010
+11011000010000001010101001010101
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000001100010101011010
+01100000000000001100001000000101
+00100000011000000000000000000000
+11011000111000000000000000001001
+00100000001000000010110000110010
+11011000111000000000000000001001
+00100000001000000010110000110110
+01110000010000100000011000000101
+00100000001000000011001111010000
+11011010011000000100001000000110
+11011010010000000011001111010010
+00100000001000000011001101101101
+01110000010000110110001100000001
+00100000011000000000000000000000
+01110000010000110110001100000000
+00100000011000000000000000000000
+01110000000010101001100100001010
+00100000001000000111110110001111
+01110000000010101001100100011101
+00100000001000000111110110001111
+01000100111001011100000000011001
+01101000000000001100001000000111
+01100000000000001000000101101101
+01110000000000100010100000000001
+01110000000010101001100100000011
+00100000001000000111110110001111
+01110000000010101001100100011110
+00100000001000000111110110001111
+01110000000010101001100100000100
+00100000001000000111110110001111
+01101000000000010100011010000111
+01100000000000010100011001111110
+00100000010000000011010000000100
+01110000000010101001100100000001
+00100000001000000111110110001111
+01011000000000000000000000000000
+01100000000000010100011001111110
+01110000000010101001100100000010
+00100000001000000111110110001111
+01110000000010101001100100001111
+00100000001000000111110110001111
+01110000000010101001100100010000
+00100000001000000111110110001111
+01110000000010101001100100001110
+00100000001000000111110110001111
+01110000000010101001100100001101
+00100000001000000111110110001111
+01110000000010101001100100010111
+00100000001000000111110110001111
+01110000000010101001100100011000
+00100000001000000111110110001111
+01110000000010101001100100010110
+00100000001000000111110110001111
+01110000000010101001100100010001
+00100000001000000111110110001111
+01110000000010101001100100010101
+00100000001000000111110110001111
+01110000000010101001100100010100
+00100000001000000111110110001111
+01110000000010101001100100010011
+00100000001000000111110110001111
+01110000000010101001100100011001
+00100000001000000111110110001111
+01110000000010101001100100000110
+00100000001000000111110110001111
+01110000000010101001100100000101
+00100000001000000111110110001111
+01110000000010101001100100011111
+00100000001000000111110110001111
+01110000000010101001100100100000
+00100000001000000111110110001111
+01110000000010101001100100100101
+00100000001000000111110110001111
+01111001001000000000000000001101
+00100000011000000000000000000000
+01111001001111111000000000001101
+00100000011000000000000000000000
+00100000010000000011010000101101
+11000000000000010011010000100100
+01011000000000000000000000000001
+11100010011000001000000000000000
+00011000010000001010001000000011
+00011000010000001010010000000110
+11101010001010001000000000000000
+00011010011000001010011000000001
+11100010011010001000000000000000
+00100000001000000011001110000101
+01011000000000000000000000000000
+11100010011000001000000000000000
+01101000000000010100011010000010
+11000011000001001011010000101001
+00100000010000000011010000000010
+01101000000010010100001000111111
+00011000010000001010001000000010
+00011000010000001010010000000100
+00100000001000000011010000100000
+01101000000010010100001000111111
+00011000010000001010011000000000
+11101010011000001000000000000000
+00100000011000000000000000000000
+00100000010000000011010000101101
+11000000100000000011010000110100
+00100000001000000011010000001010
+00011000010000001010010000001010
+00100000001000000011001110000101
+00100000011101011000000000000000
+01110000100000001000000100000000
+01011000000000000011010001100011
+01100000000000010100000111101011
+01011000000000000110100101101100
+01100000000000010100000111101101
+01011000000000000011010011110101
+01100000000000010100000111110011
+01011000000000000011010011110100
+01100000000000010100000111101111
+01011000000000000011010001111110
+01100000000000010100000111110101
+01011000000000000011010010110010
+01100000000000010100000111111101
+01011000000000000011010001100101
+01100000000000010100000111111011
+01011000000000000011010001110000
+01100000000000010100000111101001
+01011000000000000011010100000001
+01100000000000010100000111111001
+01000100111001100100000000011001
+00100000010000000011010110011011
+00100000010000000110100101001000
+00100000010000000011010110101101
+00100000010000000111110100001000
+00100000010000000111110011010011
+01011000000000000011010100001011
+01100000000000010100011101100110
+01011000000000000011010011111100
+01100000000000010100011101011101
+01011000000000000011010011111000
+01100000000000010100011101011111
+01011000000000000011010001101100
+01100000000000010100011101100001
+01011000000000000011010110100010
+01100000000000010100011010101001
+01011000000000000011010110100100
+01100000000000010100011010101011
+01011000000000000011010110101001
+01100000000000010100011010110100
+01011000000000000011010110100110
+01100000000000010100011010110110
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+00100000010000000011010110000110
+00100000001000000011010000001010
+00100000010000000101100010010010
+00100100011110100000000000000000
+11011010001000000000101100000110
+00100000010000000111111001010100
+00100100011101000000000000000000
+11011000110000000000101100000110
+00100000001000000100011101000110
+01101000000000010100011110010111
+01100000000000010100011110010001
+01110000010001110101001100000001
+00100000001000000011010110001111
+01101000000000001100011110011101
+11000000000000001011010001111001
+01101000000000010100011010000010
+11000011000001001011010001111001
+01101000000000001100011110011110
+11000000000000001011001111010000
+01101000000000001100011100000000
+00100100001110100011001111010000
+00100000001000000011001111010010
+01101000000000001100011110011011
+01101000000010001100011110011100
+10011000010000011111111000000000
+11000000000000001011001111010000
+00100000001000000011001111010010
+00011010011000100111111000000000
+11000000000101101011010000110001
+11000000000010000011010000011010
+11000000000010100011010011011111
+11000000000010101011010011101000
+11000000001000000011010010000101
+00100000011000000000000000000000
+01101000000000010100010100001001
+11000000000000001011010010001100
+01101000000000010100001111011000
+00100000001110100011010010100010
+01110000010001111000101000000010
+01110000010001111000111100111100
+00100000011000000000000000000000
+01101000000000010100010010011010
+00100000001110100011010010100000
+01110000010001111000101000000001
+01101000000010010100011110110100
+01101000000000010100010010010110
+10011000010000001111111000000000
+01100000000000010100010010010110
+00011111111000100010001000000000
+01101000000000010100010010011000
+10011000010000001111111000000000
+01100000000000010100010010011000
+10011010001000001111111000000000
+00011111111000110000010000000000
+01101000000000010100011111000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100010010011010
+01110000010001111001000000000001
+00100000011000000000000000000000
+01110000010001111000101000000011
+00100000011000000000000000000000
+01110000010000010111001000000000
+01110000010001111001000000000000
+01101000000000010100001111010110
+01101000000010010100011110111110
+10011000010001100111110000000000
+01111001001000010010001000000000
+01101000000000010100011111000000
+01101000000010010100001111010110
+10011000010001100111111000000000
+01111001001000010010001000000001
+00101010001000000000011000000011
+00100000011000001000000000000000
+01101000000001000100011110111110
+01100000000001000100010010010110
+01110000010001111001000000000001
+00100000011000000000000000000000
+00100000010000000011001101111011
+00100000010000000011010010111001
+00100000010000000011010010111110
+00100000010000000011010011010101
+00100000010000000011010011001010
+00100000010000000011010011000100
+00100000001000000011010011011001
+11011010011000000100011110011001
+11011010010000000011010010111100
+00100000001000000011001101101101
+01110000010001111001101000000000
+00100000011000000000000000000000
+11011010011000000100011110010011
+11011010010000000011010011000001
+00100000001000000011001101110100
+11011010011000000100011010111111
+11011010010000000100011010011110
+00100000001000000011010110010001
+11011010011000000100011110001111
+11011010010000000011010011000111
+00100000001000000011001101101101
+01101000000000010100010010011010
+01100000000000001100000101110010
+00100000011000000000000000000000
+11011010011000000100011110010000
+11011010010000000011010011001101
+00100000001000000011001101101101
+01101000000000001000010000111111
+00101111111000001100000000000000
+00100100001000001011010011010011
+01110000010001111000101000000001
+00100000010000000011010000010110
+00100000001000000101101010111111
+01110000010001111001000000000001
+00100000011000000000000000000000
+11011010011000000100011110010001
+11011010010000000011010011011000
+00100000001000000011001101110100
+00100000001000000011010000011010
+11011010011000000100011110001101
+11011010010000000011010011011100
+00100000001000000011001101110100
+01101000000000010100011110100111
+01100000000000010100011110001101
+00100000001000000011010110101111
+01101000000000010100011110100111
+01100000000000010100011110001101
+01011000000000000000000000000000
+01100000000000010100011110010011
+01100000000000010100011110010001
+00100000010000000011010101011100
+00100000010000000011010110000110
+01110000010000010111001000000000
+00100000001000000011001111111000
+01011000000000000000000000000000
+01100000000000100100011110001101
+01100000000000011100011110001010
+01100000000000010100010100001001
+01110000010001111010000000000001
+01101000000000010100011110010111
+01100000000000010100011110010001
+00100000010000000111111000111000
+01101000000000001100011101011001
+11000001000000000000000000000000
+00100000010000000011010110001111
+00100000001000000011010101101110
+00100000001000000011010100001000
+01101000000000001100011101011001
+11000001100000010000000000000000
+00100000001000000011010100001000
+11011010011000000100011011001101
+00100000010000000011010110000010
+11011010011000000100011011000110
+00100000001000000011010110000100
+01110000010000110110111000000000
+11011010011000000100011011011011
+00100000010000000011010110000010
+11011010011000000100011011010100
+00100000001000000011010011111011
+01101000000000001000010001110111
+11000000000010010011010100000100
+00100000011000000000000000000000
+01101000000000010000010001111000
+11000000000001101011010100110110
+11000000000001011011010101110001
+00100000011000000000000000000000
+01101000000000001100011101010011
+00100000011110100000000000000000
+00100000001000000110100101111000
+00011010001000100111111000000000
+00100000001110100011010100010000
+00011000111000100111111000000000
+11000000000000000011010100010011
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000011010100011011
+00100000011000000000000000000000
+01110000010001111001110100000001
+11011010011000000100011011110111
+00100000010000000011010110000010
+11011010011000000100011011110000
+00100000010000000011010110000100
+01101000000000010100011010000010
+11000011000001001011010100110010
+00100000001000000011010100100001
+01110000010001111001110100000000
+00100000001000000011010100011101
+01101000000000001100011110011010
+11000001100000001000000000000000
+01110000010001111001100100000101
+00100000011000000000000000000000
+01101000000000001100011110011010
+00011111111000001111111000000001
+01100000000000001100011110011010
+11000000000000001011010100100111
+11000000000000010011010100101011
+00100000011000000000000000000000
+00100000010000000011010101011100
+01110000010001110111000100000001
+11011010011000000100011101101100
+00100000001000000011010101000100
+01110000010001111001101000000000
+01110000010001110111000100000010
+11011010011000000100011101101100
+00100000010000000011010101000100
+01101000000000001100011110011110
+11000000000000001011010101010001
+00100000011000000000000000000000
+01101000000000010100011110010111
+01100000000000010100011110010001
+00100000010000000011010101011100
+00100000001000000011010110001111
+01000100111001101100000000011001
+00100000010000000011011011111100
+11101010001000001000000000000000
+11000000000000011011010100111100
+11000000000000111011010101000000
+00100000011000000000000000000000
+01101000000000001100011110011110
+11000000000000000011010101010001
+11000000000000001011010101011100
+00100000011000000000000000000000
+11101010010000001000000000000000
+11000000000000001011010101100100
+11000000000000000011010101101001
+00100000011000000000000000000000
+01000100111001110100000000011001
+01101000000000001100011110001011
+00101111111011111111111000000000
+00100100011000001000000000000000
+00011010011000001000110000000110
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011111111000001111001000000101
+00011010011000001000110000000011
+00100000010000000011011011110000
+11100000110000001000000000000000
+00011010011000100010001000000000
+00100000001000000111111000111101
+01101000000000001100011101011001
+00100000011110100000000000000000
+01110000010001111001111000000001
+11011010011000000100011011101001
+00100000010000000011010110000010
+11011010011000000100011011100010
+00100000010000000011010110000100
+01110000010001111000000000000100
+01110000010001111000001100000001
+11011010011000000100011101111011
+00100000001000000011010101000100
+01101000000000001100011110011110
+00100000011110100000000000000000
+01110000010001111001111000000000
+00100000010000000011010110000110
+01110000010001111000000000000100
+01110000010001111000001100000000
+11011010011000000100011101111011
+00100000001000000011010101000100
+01110000010001111001111100000001
+01110000010001111000000000000111
+01110000010001111000001100000001
+11011010011000000100011101111011
+00100000001000000011010101000100
+01110000010001111001111100000000
+01110000010001111000000000000111
+01110000010001111000001100000000
+11011010011000000100011101111011
+00100000001000000011010101000100
+01101000000000001100011110011111
+00100000011110100000000000000000
+00100000001000000011010101010001
+11101010001000010000000000000000
+01100000000000010100011110001011
+00101111111011111111111000000000
+00100100011000001000000000000000
+01101000000000001100011110100000
+00100000011110100000000000000000
+01110000010001111010000000000000
+01101000000001000100011110110110
+01100000000001000100010010010110
+01110000010001111001000000000010
+00100000010000000011010110101111
+00100000010000000011010110111001
+01110000010001111000000000000111
+01101000000000001100011110011111
+01100000000000001100011110000011
+11011010011000000100011101111011
+00100000001000000011010101000100
+11011010001000000000000000000001
+00100000001000000011010110000101
+11011010001000000000000000000000
+00100000001000000011010110001100
+11011010001000000000000000000000
+00100000010000000111110100011001
+11011010001000000000000000000001
+00100000010000000111110100011001
+01101000000000001100011110100001
+00100000001000000110100111010111
+00100000010000000111110100000100
+11011111001000000000000000000111
+00100000001000000111110100100110
+11011010011000000100011010111000
+11011010010000000100011010011010
+00100000010000000011010110010110
+00100000010000000011010110000100
+01101000000000010100011110010101
+01100000000000010100011110010011
+00100000001000000011001111111010
+11101010010000010000000000000000
+01100000000000010100000101010100
+11101000110000010000000000000000
+01100000000000010100010010000010
+00100000011000000000000000000000
+11011010001000000000000000000000
+00100000010000000110100110100110
+01101000000000110100011110100001
+01100000000000110000101010011010
+00100000010000000110100110101110
+01101000000000001100011110100001
+00100000001000000110100111010111
+01110000010001111001101100000001
+00100000011000000000000000000000
+01110000010001111001101100000000
+00100000011000000000000000000000
+01110000010001111001110000000000
+01101000000000001100011110100001
+00100000001000000110100111010111
+01110000010001111001110000000001
+01101000000000110100011110100001
+01100000000000110000101010011010
+00100000001000000110100110101110
+01110000010000100010110100000000
+00100000001000000110100010101000
+00100000010000000110100011101011
+00100000010000000110100100001000
+01100000000000010100011110110000
+11011010001000000100011110101010
+00100000010000000110100100110000
+01100000000000001100011110101001
+11000000000000000011010110111110
+00011111111001100111110001100100
+00100100001000010011010110111100
+01100000000000001100011110000011
+01110000010001111000000000000101
+11011010011000000100011101111011
+00100000001000000011010101000100
+01110000010001111000001101100100
+00100000001000000011010110111001
+00100000001000000011010000011010
+00100000011101011000000000000000
+01101000000100001000000010000001
+00011111111000010111111011110000
+01100000000100001000000010000001
+01011000000000000011011000110001
+01100000000000010100000111101011
+01011000000000000011011000110011
+01100000000000010100000111101101
+01011000000000000011010000001010
+01100000000000010100000111110111
+01011000000000000011011000110101
+01100000000000010100000111110011
+01011000000000000011011001001011
+01100000000000010100000111110101
+01011000000000000011001111010000
+01100000000000010100000111101001
+01011000000000000011011011110110
+01100000000000010100000111111001
+01011000000000000011011001111010
+01100000000000010100000111111101
+00100000010000000010110001111010
+01011000000000000011011100100010
+00011010011000001000101011011110
+11100000101000010000000000000000
+01011000000000000011010111101101
+01100000000000010100011101011011
+01011000000000000011010111101111
+01100000000000010100011101011111
+01000100111001111100000000011001
+00100000010000000011011000101000
+00100000010000000111111000111000
+01110000010000010111001000000010
+01110000010010011111011000000000
+01101000000000001100011111001011
+01100000000000001100011010011010
+11000000000000000011010111101110
+01101000000000001100011111001100
+01100000000000001100011010000110
+01110000010000110110111000000000
+00100000010000000011011000001111
+00100000010000000111110011010011
+00100000010000000111110011011101
+01110000010001111111001100000001
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+00100000001000000011011000001111
+01110000010001111111001100000010
+01110000010000110110111000000001
+00100000010000000011011000001111
+11011010001000000000000000000000
+00100000010000000111110100011110
+01011000000000000000000000100000
+00100000010000000100011011110000
+11011000101000000100001110110111
+01101000000000001100010010100000
+00011111111000010000010011110000
+00011000010100011000010000000000
+00100000010000000011011000001001
+11100000101010001000000000000000
+00011111111000010000010000001111
+00100000010000000011011000001001
+11100000101010001000000000000000
+00100000010000000101011110100110
+01101000000010001100001110101111
+00011000010000100111001000000000
+11011000101000000100001101110010
+11011000110000000100001110110000
+00100000010000000111111100000001
+01101000000010001100001110101111
+00011000010000100111001000000000
+11011000101000000100001110010010
+11011000110000000100001110110000
+00100000001000000111111100000001
+00011000010001100111110000001001
+00100000001000010011011000001101
+00011000010000001000010000110111
+00100000011000000000000000000000
+00011000010000001000010000110000
+00100000011000000000000000000000
+01101000000000001100011111000000
+11000000111111111011011000100001
+01101000000000001100011110111110
+11000000111111111011011000100100
+01101000000000001100011111001001
+11000000111111111011011000100110
+01101000000000001100011100101100
+00011111111000100111001000000000
+01011000000000000100011100101101
+00011111111000100010001000000000
+00011010001000100000110000000000
+11101000110000001000000000000000
+00011000110000100010001000000000
+11000000011111111011011000011111
+00011111111000100000010000000000
+00100000010000000110100000001110
+11000010000000000011011000011001
+00100000011000000000000000000000
+01101000000001000100011111000000
+01100000000001000100011100101111
+00100000001000000011011000010001
+01100000000000001100011100101101
+00100000001000000011011000010011
+01100000000000001100011100101110
+00100000001000000011011000010101
+11011010001000000000000000000000
+00100000010000000110100110100110
+00100000010000000011011111100100
+00100000010000000010110001111101
+00100000001000000011011000101101
+01110000010001111100111101100100
+01101000000000001100011111001001
+01100000000000001100011101000100
+00100000001000000110100010101000
+00100000010000000110100000110101
+00100000001000000110100101101100
+00100000001000000110100101101100
+00100000001000000110100101111000
+00100000010000000011011001000010
+00100000010000000011011111101110
+00100000010000000011011000111001
+00100000001000000011011000110100
+01101000000000010100011010000010
+11000011100001001000000000000000
+01101000000000001100100111110110
+11000000000000001011011000111110
+00100000011000000000000000000000
+01101000000000001100011111101010
+11000001000000001000000000000000
+01110000010001111110101000000001
+00100000001000000011011001010100
+01101000000000010100011010000010
+11000100000001001000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+11011010001000000100011100011000
+00100000010000000111111001010100
+00100100011101000000000000000000
+11011000110000000100011100011000
+00100000001000000100011101000110
+00011010011000100111111000000000
+11000000000101101011010000110001
+11000000000010000011010000011010
+11000000000010100011011001010001
+11000000000010101011011001100000
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000010000000011001000100000
+00100000001000000011011001010110
+01101000000000010100011111101011
+01100000000000010100011111101101
+01110000010001111100111000010100
+01110000010000001001000100000000
+00100000010000000011001111111000
+00100000010000000011010000010110
+01101000000000001100011110111101
+11000000000000001011011001011110
+11011010001000000000000000000000
+00100000001000000111110100010100
+11011010001000000000000000000000
+00100000001000000111110100011001
+01011000000000000000000000000010
+00100000010000000011001000100000
+01011000000000000000000000000000
+01100000000000101100011110011100
+01011000000000000000000000000100
+00100000010000000110100111010111
+01011000000000000000000000000101
+00100000010000000110100111010111
+01011000000000000000000000010100
+00100000010000000110100111010111
+01011000000000000000000000010101
+00100000010000000110100111010111
+01011000000000000000000000010110
+00100000010000000110100111010111
+01011000000000000000000000000111
+00100000010000000110100111010111
+00100000010000000111111000111000
+01110000010001110101111000001010
+01110000010001110110000000001010
+01110000010001110110001000001010
+01110000010000010111001000000010
+11011010001000000000000000000000
+00100000010000000111110100011110
+01011000000000000000000000100000
+00100000010000000100011011110000
+00100000001000000011001111111010
+00100000010000000011011100111011
+00100000010000000011011100111110
+00100000010000000011011101000001
+00100000010000000011001101111011
+00100000010000000011011011001000
+00100000010000000011011010100001
+00100000010000000011011010001010
+00100000010000000011011010000011
+00100000001000000011011010001111
+11011010011000000100011110011010
+11011010010000000011011010000110
+00100000001000000011001101101101
+00100000010000000011100001000111
+00100100011000001000000000000000
+01110000010001111001101100000001
+00100000011000000000000000000000
+11011010011000000100011111101101
+11011010010000000011011010001101
+00100000001000000011001101110100
+01110000010001111110101000000010
+00100000001000000011011001100010
+11011010011000000100011111110001
+11011010010000000011011010010010
+00100000001000000011001101101101
+01101000000000001100011111110010
+00100000001110100011011010011110
+01110000010001111111000100000010
+01110000010001111111001000000000
+01011000000000000000101000000010
+01100000000000010100011101010010
+01101000000000001100011110111001
+11000000000000011011011010011011
+00100000001000000011011101100010
+01011000000000000000101000000010
+01100000000000010100011101010100
+00100000001000000011011101100010
+01011000000000000000000000000000
+01100000000000100100011101010010
+00100000001000000011011101100010
+01101000000000001100011111001000
+00100000011110100000000000000000
+01101000000000010100011010000010
+11000011000001001011011011000110
+11011010011000000100011111001110
+11011010010000000011011010101000
+00100000001000000011001101101101
+01101000000000001100011111001101
+01100000000000001100011111001110
+01101000000000001100011111010001
+00100100011110100000000000000000
+00100000010000000110100011101011
+00100000010000000110100100001000
+01100000000000010100011111101000
+11011010001000000100011111100010
+00100000010000000110100100110000
+01101000000010001100011111001111
+10011000010001100111110000000000
+00100000001000010011011010110110
+01100000000000001100011111001111
+00011111111000100000010000000000
+01100000000010001100011111010000
+01101000000000001100011111001010
+10011000010001100111110000000000
+00100000010000010011011011000001
+01100000000010001100011111011011
+11011111001000000000000000000110
+11011000110000000100011111010110
+00100000010000000011011011110000
+01100000000000001100011111011100
+11011010001000000100011111010011
+00100000001000000111111000111101
+01101000000000001100011111010010
+00100100011110100000000000000000
+01110000010001111101001000000001
+11011010001000000000000000000001
+00100000001000000111110100011110
+11011010001000000000000000000001
+00100000001000000111110100011001
+11011010011000000100011110100100
+11011010010000000011011011001011
+00100000001000000011001101101101
+01110000010001111010010000000101
+01110000010001111010011000000000
+01101000000000001100011110100101
+11000000000000001011011011101110
+11000000000000000011011011101100
+11011000110000000100011110011100
+00011000110000100010001000000000
+11011111001000000000000000001000
+00011010001000100000110000000000
+11101000110000001000000000000000
+00011000110000100010001000000000
+11000000000000000011011011100011
+11000000000000001011011011100110
+11000000000000010011011011101001
+01101000000000001100011110100110
+00011111111000001111111000000001
+01100000000000001100011110100110
+11000010000000000011011011010011
+00100000011000000000000000000000
+01101000000000001100011110100110
+11011010010000000100011111000000
+10011010010000001010010000000000
+11101010010010001000000000000000
+00100000011000000000000000000000
+00100000010000000011011011011110
+00100000010000000110100000100101
+00100000001000000011011011011001
+00100000010000000011011011011110
+00100000010000000110100000101001
+00100000001000000011011011011001
+01101000000000001100011110100101
+11000000000000001011011011100011
+00100000001000000011011011100110
+01110000010001111010010100000001
+00100000001000000011011011010000
+01110000010001111010010100000000
+00100000001000000011011011010000
+11011010001000000000000000000000
+11101000110000001000000000000000
+10011010001000001010001000000000
+11000010000000000011011011110001
+00011010001000010111111011111111
+00100000011000000000000000000000
+01101000000000001000010001110111
+11000000000010010011011011111001
+00100000011000000000000000000000
+01101000000000010000010001111000
+11000000000010100011011100010000
+00100000011000000000000000000000
+01000100111010000100000000011010
+11101010001000101000000000000000
+01100000000000101000101100010010
+01101000000000010000101100010010
+11011000010000000110101101011010
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000010000101100010101
+00011111111100001111111000000000
+01100000000000010000101100010101
+00011111111000100111001000000000
+00011010001000001010001000000101
+00011010001000100000110000000000
+11011000101000000000101100010111
+00100000010000000111111100000001
+11101000110000001000000000000000
+01100000000000001000101100100001
+11011010001000000000101100010100
+11011010010000000000101100010111
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000101100011101010010
+01100000000000101100011101010111
+00100000010000000011011011111100
+00011010010000100000110000000000
+11011000101000000100011101010010
+11011111001000000000000000001010
+00100000010000000111111100000001
+01000100111010001100000000011010
+11101010001000001000000000000000
+11000000000000010011011101001010
+11000000000000011011011101011100
+11000000000000100011011101100010
+11000000000000101011011101100010
+11000000000000110011011110110001
+11000000000000111011100001001001
+11000000000001000011100001001100
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000011100001001000000000000000
+01101000000000010100011111101011
+01100000000000010100011111101101
+01110000010010011111011000000001
+01011000000000000000000100001100
+00100000010000000011001011001101
+00100000010000000011011100010000
+01101000000000001000101100010100
+11000000000000100011011100101110
+11000000000000101011011100101110
+00100000011000000000000000000000
+01101000000000001100011101010010
+00100100010110100011011100110101
+01101000000000001100011101010100
+00100100010110100011011100110111
+01101000000000001100011101010110
+00100100010110100011011100111001
+00100000011000000000000000000000
+01110000010010011111001100000101
+00100000011000000000000000000000
+01110000010010011111010000000101
+00100000011000000000000000000000
+01110000010010011111010100000101
+00100000011000000000000000000000
+11011010011000000100100111110011
+11011010010000000011011101000100
+00100000001000000011001101101101
+11011010011000000100100111110100
+11011010010000000011011101000110
+00100000001000000011001101101101
+11011010011000000100100111110101
+11011010010000000011011101001000
+00100000001000000011001101101101
+01110000010001110101001000000000
+00100000001000000011011101100010
+01110000010001110101010000000000
+00100000001000000011011101100010
+01110000010001110101011000000000
+00100000001000000011011101100010
+00100000010000000011011101001100
+00100000001000000011011101001111
+01101000000000001100011101010010
+01100000000000001100011101011111
+00100000001000000011011101110011
+01101000000000001100011101011110
+00100000010000000011011101010100
+01101000000000001100011101010011
+01100000000000001100011101011101
+00100000001000000011011101110000
+11000000000000010011011101011000
+11000000000000011011011101011010
+01100000000000001100011101011110
+00100000011000000000000000000000
+01110000010001110101111000000101
+00100000011000000000000000000000
+01110000010001110101111000001010
+00100000011000000000000000000000
+01101000000000001100011101010010
+00100000010000000011011101010100
+01101000000000001100011101011110
+00100000010000000011011110011110
+00100000010000000011011110100001
+00100000001000000110100111000100
+01101000000000001100011111110000
+00100100011110100000000000000000
+01101000000000110100011101010010
+01100000000000110100011101011101
+01101000000000001100011101011110
+01101000000010001100011101100000
+10011000010000010111111000000000
+01101000000010001100011101100010
+10011000010000010111111000000000
+00100000010110100011011101111001
+01000100111010010100000000011010
+00100000010000000011011101110000
+00100000010000000011011101110011
+00100000001000000011011101110110
+11011010010000000100011101100011
+11011000110000000100011101011101
+00100000001000000011011101111011
+11011010010000000100011101101011
+11011000110000000100011101011111
+00100000001000000011011101111011
+11011010010000000100011101110011
+11011000110000000100011101100001
+00100000001000000011011101111011
+01110000010001111101000100000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+11000000000000000011011110000111
+11000000000000001011011110000000
+11000000000000010011011110000010
+00100000011000000000000000000000
+01110000010001110111101100000000
+00100000001000000011011110000011
+01110000010001110111101100000001
+11101000110000001000000000000000
+01100000000000001100011101111101
+11101010010001000000000000000000
+00100000001000000011011110001100
+11101010010000001000000000000000
+00100000010000000110100111010111
+00011010010000001010010000000001
+11101010010000001000000000000000
+00100000001000000110100111010111
+01100000000001000100011101111110
+01110000010001111101000100000001
+01101000000000001100011101111011
+11000000000000000011011110011010
+01101000000000001100011101111111
+01100000000000001100011110000000
+01101000000000001100011101111110
+00100000010000000110100111010111
+01101000000000001100011101111101
+00100000010000000011011110011110
+01100000000000001100011110000101
+01101000000000110100011110000000
+01100000000000110000101010011010
+00100000001000000110100110101110
+01101000000000001100011101111110
+01100000000000001100011110000000
+01101000000000001100011101111111
+00100000001000000011011110010011
+00011111111011111111111000000101
+00011111111000001111111000110010
+00100000011000000000000000000000
+11011000010000000010111011100000
+10011000010011111111111000000000
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111000010000000000
+00011000010000100010001000000000
+01011000000000000010111011100000
+10011000010001100010010000000000
+00100000011000000000000000000000
+01101000000100001000000010000010
+01111001001000000111111000000010
+01100000000100001000000010000010
+01011000000000000000000010011110
+01100000000100010000000001101000
+01100000000100010000000001101010
+00100000011000000000000000000000
+01101000000000001100011111110000
+00100100011110100000000000000000
+01101000000000010100011101010010
+01100000000000010100011110000111
+01101000000000001100011111101010
+11000000100000001011011110111001
+01101000000000010100010010100000
+01100000000000010100011110000111
+01000100111010011100000000011010
+00100000010000000011011110101010
+00100000010000000011011111011100
+01011000000000001011101110000000
+00100000010000000010101010001111
+00100000010000000011011111100000
+01011000000000000001110000100000
+00100000010000000010101010001111
+11011111001000000000000000010000
+00100000010000000011011111011100
+01101000000000010100011110000111
+11000010100000000011011111001001
+01011000000000000001110000100000
+00100000010000000010101010001111
+00100000010000000011011111100000
+00100000001000000011011111001100
+01011000000000000011100001000000
+00100000010000000010101010001111
+00100000010000000011011111100000
+01011000000000000001110000100000
+00100000010000000010101010001111
+01101000000000010100011110000111
+00011111111000110111111000000000
+01100000000000010100011110000111
+11000010000000000011011111000010
+01110000010001111111000100000010
+01110000010001111111001000000001
+01011000000000000000101000000001
+01100000000000010100011101010010
+01101000000000001100011110111001
+11000000000000011011011111011001
+00100000001000000011011101100010
+01011000000000000000101000000001
+01100000000000010100011101010100
+00100000001000000011011101100010
+01101000000100001000000010000101
+00011111111000011111111001000000
+01100000000100001000000010000101
+00100000011000000000000000000000
+01101000000100001000000010000101
+00011111111000010111111010111111
+01100000000100001000000010000101
+00100000011000000000000000000000
+01101000000000001100011110111011
+11000001000000000000000000000000
+00100000010000000010110001100101
+01101000000010001100011110111100
+01100000000010001100011110000110
+00100000010000000110011111111011
+00100000010000000011100001000111
+00100100011000001000000000000000
+01110000010001111001101000000001
+00100000011000000000000000000000
+01101000000000001100011110111011
+11000001000000000000000000000000
+01101000000000001100011110011011
+00100100011110100000000000000000
+01101000000000010100011010000010
+11000010100001001011011111110110
+01101000000000001100011111101010
+11000001100000001000000000000000
+01000100111010100100000000011010
+00100000010000000011100001000111
+00100100011000001000000000000000
+01011000000000001000110010100000
+00100000010000000010101010001111
+00100000010000000011100001000111
+00100100011000001000000000000000
+00100000010000000011100000111111
+00100000010000000011100001000010
+00100100011000010000000000000000
+00100000010000000011100001000111
+00100000001000001011011111111110
+11011010001000000000000000000000
+11011111001000000000000000010000
+00100000010000000011100000111111
+00100000010000000011100001000010
+00100100011000010000000000000000
+00100000010000000011100001000111
+00100100001000001011100000000101
+01011000000000000010101000110000
+00100000010000000010101010001111
+00100000010000000011100001000111
+00100000001000001011100000010010
+01011000000000000000000000000000
+00011010001000110010001000000000
+10011010001000011010001000000000
+11000010000000000011100000000101
+00100000001000000011100000011011
+01011000000000001000000000000000
+00011010001000110010001000000000
+10011010001000011010001000000000
+00100000010000000011100000111111
+00100000010000000011100001000010
+00100100011000010000000000000000
+00100000010000000011100001000111
+00100000001000001011100000010110
+11000010000000000011100000000101
+01000100111010101100000000011010
+00011010001000100111111000000000
+01100000000000010100011110001001
+01100000000000010100011110010111
+01101000000000001100011111101010
+11000000000000001011100000100111
+11011111001000000000000000000111
+11011000110000000100011110010010
+00100000010000000011011011110000
+01100000000000001100011110011001
+11011010001000000100011110001111
+00100000001000000111111000111101
+01101000000000001100011111101111
+00011111111000001111111000000001
+01100000000000001100011111101111
+00011111111001101111110000000010
+00100000010000000111111110000110
+00011000000001111000010000000000
+00011000000001110111111000000000
+00100100001110100011100000111000
+01101000000000001100011110111111
+10011000010001100111110000000000
+00100000010000101011100000111101
+11011111111000000100011110011100
+00011000010000001000010111111111
+10011000010000001010001000000000
+11011111111000000000000000000000
+11100010001000001000000000000000
+00100000011000000000000000000000
+11011111111000000100011110011100
+10011000010000001010001000000000
+11011111111000000000000000000010
+11100010001000001000000000000000
+00100000011000000000000000000000
+01110000010001111111000000000001
+00100000011000000000000000000000
+00011100010000100111111000000000
+01100000000000100100011110001011
+00100000011000000000000000000000
+00011100010000100111111000000000
+01101000000010100100011110001011
+10011000010001100111111000000000
+00011111111001100111110011001000
+00100000011000000000000000000000
+01101000000010001100011110000110
+00100000001000000110100000011101
+01101000000001000100011101010010
+01100000000001000100011110011100
+00100000011000000000000000000000
+01101000000000001100011110111001
+01100000000000001100011110101111
+01101000000000001100011110111010
+01100000000000001100011110110000
+01101000000000001100011110111011
+01100000000000001100011110110001
+11011111001000000000000000001101
+11011000110000000100011110101010
+00100000010000000011011011110000
+01100000000000001100011110110111
+11011010001000000100011110100111
+00100000001000000111111000111101
+00100000010000000110010111000010
+01110000010001101111011001111010
+00100000010000000011100001101101
+00100000010000000011100001100111
+01011000000000000011100001100000
+01100000000000010100000111111101
+11011010001000000000000000000000
+00100000001000000110100110100110
+01101000000000010100011010100001
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000010100011010100001
+11000001100000000000000000000000
+01110000010001101010000000000000
+00100000011000000000000000000000
+01000100111010110100000000011010
+01101000000000001100011010100100
+00011111111001100111110000101000
+00100000011000010000000000000000
+01110000010001101010010000000000
+00100000011000000000000000000000
+11011010001000000100011010100100
+11011010010000000000000000000000
+11011000010000000000000001010001
+00100000001000000110010111011111
+01111000010101000111110000000000
+01101000000000001100011010100011
+00011111111000100111001000000000
+11011010001000000100011010100101
+00011010011000100010010000000000
+01000100111010111100000000011010
+00100000010000000011100001111100
+00100000001000101111111111100111
+00011010001000001010001000000100
+11000010000000000011100001110110
+00100000011000000000000000000000
+01000100111011000100000000011011
+11101010001000011000000000000000
+11101010010010011000000000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01000100111011001100000000011011
+11101010001000011000000000000000
+11101010010010011000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11101000110000001000000000000000
+00011111111001100111110000000000
+00100000011000101000000000000000
+00011010001000001000110000000011
+11101000110010001000000000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01000100111011010100000000011011
+01111000010101000111110000000000
+01101000000000001100011010100011
+00011111111000100111001000000000
+11011010001000000100011010100101
+00011010011000100010010000000000
+00100000010000000011100010000001
+00100000001000101111111111100111
+00011010001000001010001000000100
+11000010000000000011100010010011
+00100000011000000000000000000000
+01101000000000001000000000000100
+00011111111000001111111000000001
+01100000000000001000000000000100
+11011010011000000000001011100101
+11101010011000010000000000000000
+11011000010000000101010110101010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000100010011000000000
+11101010011010011000000000000000
+01011000111111111111111111111111
+10011000010001100111110000000000
+00100000001000101011100010101000
+00100000010000000011100010001101
+00100000001101000011100010101000
+00100000011000000000000000000000
+01000100111011011100000000011011
+00011010011000001010011000000100
+11101010011000001000000000000000
+01101000000010001100011011110110
+10011000010001100111110000000000
+00100000011000101000000000000000
+01100000000000001100011011110110
+01101000000000001000000000000011
+00011111111000001111111000000001
+01100000000000001000000000000011
+00011010011000001010011000000001
+11101010011000001000000000000000
+01100000000000001100011011110101
+00011111111000100111001000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+11000000000000000011100011000010
+11000000000000001011100011001111
+11000000000000010011100011010100
+11000000000000011011100011011001
+11000000000000100011100011011110
+11000000000000101011100011100011
+11000000000000110011100011101000
+11000000011111111011100011101010
+11000010000000000011100010110111
+00100000011000000000000000000000
+00011000110000100010011000000000
+01101000000000001100011010011010
+01100000000000001000101010011010
+11011000010000000000000000000000
+01100000000010001000101010011011
+01011000000000000010011100010000
+01100000000000011000101010011100
+11101010011000001000000000000000
+01100000000000001000101010011111
+00100000010000000110100110101110
+00011010011000010000110000000001
+11000010000000000011100010110111
+00100000011000000000000000000000
+00011010011000100000110000000000
+01101000000000001100011010011011
+01100000000000001000101010011010
+11011000010000000000000000000001
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011100
+01100000000000001000101010011010
+11011000010000000000000000000010
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011101
+01100000000000001000101010011010
+11011000010000000000000000000011
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011110
+01100000000000001000101010011010
+11011000010000000000000000000100
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011111
+01100000000000001000101010011010
+11011000010000000000000000000101
+00100000001000000011100011000110
+11101000110000001000000000000000
+00100000011000000000000000000000
+00011000110000100010011000000000
+01101000000000001100011010100000
+11000000100000001011100011101110
+00100000010000000011100011110000
+00011010011000010000110000000100
+00100000011000000000000000000000
+01000100111011100100000000011011
+00100000010000000011100001110001
+00100000001101000011100011111110
+01101000000000001100011010100100
+00011111111000100000010000000000
+00011111111000001111111000000001
+01100000000000001100011010100100
+00100000010000000011100001100111
+00011000010010111000010000000000
+01011000000000000100011010100101
+10011000010000001000101000000000
+11101010011000100000000000000000
+11100000101000100000000000000000
+00100000001000000011100100000011
+00011010011000001000110000000011
+11101000110000001000000000000000
+00100000011110100000000000000000
+11101010011000100000000000000000
+11100010001000100000000000000000
+11011010001000000100011010100100
+11011010010000000000000000000000
+11011000010000000000000001010001
+00100000001000000110011000000110
+01101000000010001100011010011010
+00100000010000000110100000100101
+00100000011000000000000000000000
+01101000000010001100011010011010
+00100000010000000110100000101001
+01101000000010001100011010011010
+00100000010000000110100000100101
+00100000010000000011100100011101
+01101000000000001100011010100111
+00100100011110100000000000000000
+00100000010000000010110000101001
+01101000000100100000000100111000
+01111001001111111111111000001111
+01100000000100100000000001001100
+00100000010000000010110000100001
+11011000010111111111111111111111
+00100000001000000010101100101010
+01101000000000001100011010100111
+00100000001110100101011011111001
+00011111111000001111111111111111
+01100000000000001100011010100111
+00100000001000000101011011111001
+00011111111011111111111000010100
+11011000110000000100011010101000
+10011000110000001000110000000000
+11101000110000001000000000000000
+00100000011110100000000000000000
+00011111111000100010001000000000
+00011010001000100111001000000000
+11011000101000000100001101110010
+00100000010000000111111100000001
+00011010001000100111111000000000
+00011111111000001111111000000010
+01100000000000001100001101101111
+00100000011000000000000000000000
+00100000011101011000000000000000
+00100000010000000101011110100011
+00100000010000000110100010101000
+01011000000000000011100110000010
+01100000000000010100000111110011
+01011000000000000011100101101110
+01100000000000010100000111110001
+01011000000000000011100110000110
+01100000000000010100000111110101
+01011000000000000011100101101101
+01100000000000010100000111101111
+01011000000000000011100101101001
+01100000000000010100000111101001
+01011000000000000011101010110111
+01100000000000010100000111111011
+01011000000000000011110000110010
+01100000000000010100010101101111
+01011000000000000011110011000010
+01100000000000010100000111111001
+01011000000000000011110011010111
+01100000000000010100000111111101
+00100000010000000011100101111111
+01000100111011101100000000011011
+00100000010000000011100101000101
+00100000010000000011100101100100
+00100000010000000010110001101111
+00100000001000000011110001001000
+01101000000000100100011010101010
+01100000000100100000000001010100
+01101000000000100100011010101110
+01100000000100100000000001011010
+01101000000100001000000010000001
+00011111111000011111111000000100
+00011111111000010111111011111100
+01100000000100001000000010000001
+01110000100000000110001000000000
+01101000000000010100011010101010
+01100000000100010000000001011000
+01101000000000010100011010101110
+01100000000100010000000001011110
+01100000000100010000000001100000
+01101000000100100000000001111000
+01111001001000000111111000000111
+01100000000100100000000001111000
+01101000000100010000000001010000
+01111001001111111111111000001111
+01100000000100010000000001010000
+00100000010000000110011011001110
+01110000100000000100001100000000
+01110000100000000110001010000001
+01101000000000001100011010111111
+00101111111011111111111000000000
+01101000000110001000000001100010
+01111001001000001000010000000100
+01100000000110001000000001100010
+00100000011000000000000000000000
+00100000010000000011100101111111
+00100000001000000011100101000101
+01101000000010001100011010011110
+00100000010000000110100000001110
+00100000010000000011100111100110
+01101000000010001100011010011100
+00100000001000000110011111111011
+01101000000010001100011010011100
+00100000010000000110100000011101
+00100100001000001011001111010010
+00100000001000000011001111010000
+00100000011000000000000000000000
+00100000010000000011100101110000
+00100000001000000011110011101001
+01101000000000001100011010000010
+11000011000000100011100101111111
+01000100111011110100000000011011
+01011000000000000011111011111111
+01101000000010100100011011000101
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01101000000000010100011010000010
+11000010100000101011100101111111
+01101000000000001100011010111111
+11000011100000110000000000000000
+00100000010000000011110011101100
+00100000010000000011010000001110
+00011100010000100111111000000000
+01100000000000100100011011000101
+00100000011000000000000000000000
+00100000010000000011110011101001
+00100000010000000101001001101110
+00100100011110100000000000000000
+00100000001000000011100111101011
+00011010011000100111111000000000
+11000000000000001011100111010100
+11000000000000010011100110100011
+11000000000000100011100111010111
+11000000000000101011100111000100
+11000000000001000011100110101010
+11000000000001001011100110110001
+11000000000001010011100111001001
+11000000000001011011100110110110
+11000000000001100011100111000010
+11000000000010011011100111010111
+11000000000010100011100111001111
+11000000000010101011100111000110
+11000000000100001011100111001010
+11000000000100011011100111001011
+11000000000100100011100111001110
+11000000000110000011110010001010
+11000000000110001011110010001100
+11000000000110010011110010011010
+11000000000110011011110010011000
+11000000000110100011110010000100
+11000000000110101011110001110011
+11000000000110110011110010000010
+11000000000110111011110010001110
+11000000000111000011110010010000
+11000000000111011011110010100001
+11000000000111101011110001101010
+11000000001000001011100111011001
+00100000011000000000000000000000
+00100000010000000011100101111111
+01101000000000001100011001100101
+00100100010110100011110010001110
+00100000010000000011100111010111
+01101000000000010100011010000010
+11000100000000100000000000000000
+00100000001000000011100110110001
+01101000000000010100011010000010
+01111001001000000111111000000100
+01100000000000010100011010000010
+01101000000000001100011010100111
+01100000000000001100000101110010
+00100000010000000011100111100110
+00100000001000000011110000011101
+01101000000000010100011010000010
+11000100000000100000000000000000
+01111001001111111111111000000100
+01100000000000010100011010000010
+00100000001000000011110000100001
+00100000010000000011100101111111
+01101000000000010100000001000010
+00011111111000110111111000000000
+01101000000010010100000111100011
+10011000010001100111110000000000
+00100100001000101011100110111101
+00100000001000000011010000010110
+01101000000000001100011010111111
+11000011100000101000000000000000
+01101000000100010000000100010010
+00100100010110100011110011110000
+00100000001000000011010000001100
+00100000010000000011110011101110
+00100000001000000011010000011000
+00100000010000000011100101111111
+00100000001000000011100111011101
+00100000010000000101100000010110
+00100000010000000011100111010111
+00100000001000000011110000100011
+00100000001000000011001111011101
+00100000001000000011110011101110
+01101000000000001100011010111111
+11000011000000101011010000001110
+00100000001000000011110011110010
+00100000001000000011110011110010
+00100000010000000101100010111010
+00100000010000000011100111011101
+01101000000000001100011010101000
+01100000000000001100000101110010
+00100000001000000011110000011111
+01110000010001100110000100000000
+00100000010000000011110011101110
+00100000001000000011110011110010
+00100000010000000011101001010010
+00100000001000000011100111011011
+00100000010000000101110011001001
+00100000001000000101101100000010
+01101000000010001100011010011110
+00100000001000000110100000101001
+00100000010000000011100111011111
+00100000001000000011100111100110
+01101000000000001100011010100001
+00101111111011111111111000000000
+00100000010000001011001111110000
+01101000000000001100011010100001
+00101111111011111111111000000001
+00100000010000001011001111111000
+00100000011000000000000000000000
+01101000000010001100011010011110
+00100000001000000110100000100101
+01101000000000001100010101101011
+11000001000000000000000000000000
+00100000001000000110110000101000
+01101000000100001000000100001100
+11000010100000011011100111101000
+00100000010000000110011011001011
+11101000011000001000000000000000
+11000000100000001011101000000001
+01101000000100010000000100010010
+00011111111001100111110000000010
+00100000011000010000000000000000
+11101000011000001000000000000000
+01100000000000001000101100000011
+11101000011010001000000000000000
+00011000011000100010001000000000
+01100000000010001000101100000100
+00011000010000001000010000000011
+01101000000100010000000100010010
+10011000010001100000010000000000
+00100100011000010000000000000000
+01110000000010110000010100000001
+00100000010000000011101000010111
+01101000000000001000101100000101
+11000001000000000000000000000000
+00100000001000000011101000010010
+00100000010000000111111011000001
+00100000010000000011110001111001
+00100000001000000011101000000100
+01000100111011111100000000011011
+01101000000100010000000100010010
+00100000011110100000000000000000
+00100000010000000110011011001011
+11101000011000001000000000000000
+00011111111001100111110000000001
+00100100010000101011101000010110
+00100100001000101011101000000100
+11101000011000001000000000000000
+11000001000000101000000000000000
+11000001000101001000000000000000
+00011000011000001000011111111111
+00100000010000000011101000010110
+00100000001000000011101000000100
+00100000010000000110011011001011
+00011000011000001000011000000010
+11101000011000001000000000000000
+10011000011000001000011000000000
+00100000001000000110011011001000
+01000100111100000100000000011100
+01101000000000001000101100000011
+11000000000000000011101000111111
+11000000000000001011101001000100
+11000000000000010011101001001001
+11000000000000011011101001011111
+11000000000000100011101001101011
+11000000000000101011101001110101
+11000000000001001011101010011010
+11000000000001011011101011010111
+11000000000001100011101011011000
+11000000000001101011101011101100
+11000000000001110011101011110100
+11000000000001111011101011111010
+11000000000010000011101100000110
+11000000000010001011101100001110
+11000000000010010011101100010010
+11000000000100110011101100010110
+11000000000101000011101100011101
+11000000000101001011101100101101
+11000000000101010011101100110110
+11000000000101011011101101101001
+11000000000101100011101101101111
+11000000000110000011101101110110
+11000000000110001011101101111100
+11000000000110010011101110010000
+11000000000110011011101110011000
+11000000000110100011101110111011
+11000000000110101011101111000100
+11000000000110110011101111001101
+11000000000110111011101111010111
+11000000000111000011101111011010
+11000000001000000011101111100010
+11000000001000010011101111101100
+11000000001001000011101111110001
+11000000001001001011101111111100
+11000000001010001011110000000010
+11000000001100001011110000000110
+11000000011111111011110000010101
+00100000001000000011110000010111
+01101000000000001000101100000100
+11000000100000110011110000010111
+11101000011000110000000000000000
+01100000000000110100000010100000
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000110011110000010111
+11101000011000110000000000000000
+01100000000000110100010010100000
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+00011010001000100000011000000000
+00100000010000000011110000011010
+11101000011010001000000000000000
+01100000000010001100011010101001
+01101000000000010100011010000010
+11000011100001001000000000000000
+11000011100000000000000000000000
+01101000000000001100011010100001
+00101111111011111111111000000000
+00100100001000001011101001011000
+01101000000010001100011010101001
+00011000010000010111111000000011
+01100000000000001100000010010011
+01101000000000001100011010100001
+00101111111011111111111000000001
+00100100011000001000000000000000
+01101000000010001100011010101001
+00101000010011111111111000000010
+00100000001000001011001111111010
+00100000001000000011001111111000
+01101000000000001000101100000100
+00011111111001100111110001000011
+00100100001000010011110000010111
+01100000000000001100010100010101
+11011111001000000000000000001000
+00100000010000000111111011000110
+01101000000000001000101100000100
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100010100010110
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111001100111110000011101
+00100100001000010011110000010111
+01100000000000001100001110101111
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001110110000
+00100000010000000110011011101010
+00100000010000000101011110100011
+00100000001000000011110000011010
+01101000000000001100011010000010
+11000011000000100011110000010111
+00100000010000000011001110111010
+00100000001000001011101010000110
+01110000000010110000010100000000
+00100000010000000011100101111111
+01101000000000001100010101101000
+00100000011110100000000000000000
+01101000000000010100010101110011
+11000000100000000011101010000100
+01101000000000001000101100000100
+01100000000000010100010101110011
+00011010001000100000011000000000
+00011000011000100111111000000000
+01100000000000010100010101110001
+00100000010000000011101010001000
+00100000001000000110110001001101
+01110000000010110000010100000000
+00100000001000000011110011010001
+00100000010000000011101010001110
+01101000000000010100010101110011
+01101000000010010100011010011111
+10011000010001100111111000000000
+01100000000000010100010101110011
+00100000011000000000000000000000
+01101000000000010100010101110011
+11011000010000000000000001101110
+00100000010000000111111111011101
+01101000000010010100010101101100
+00100000010000000111111111011101
+01101000000010010100010101011110
+00100000010000000111111111011101
+01100000000000010100011010011111
+00100000011000000000000000000000
+01110000000010110000010100000001
+01110000000010110000001100000101
+00100000001000000011110000011010
+01101000000000010100011010000010
+11000011000001001011110000010111
+00100000010000000011101011010100
+00100000001101000011110000010111
+01110000000010110000010100000000
+01101000000000001100011010111111
+11000010100000100011101010110100
+01101000000000001100011011000000
+00100100011110100000000000000000
+01110000000010110000010100000001
+11101000011000010000000000000000
+01100000000000010100011011000001
+00011000011000100111111000000000
+01100000000000010100011011000011
+01101000000000001000101100000100
+00011111111000001111111111111110
+00100100001000010011110000010111
+00100000001000101011110000010111
+01100000000000001100011011000000
+01110000000010110000010100000000
+00100000010000000101100000010100
+00100000010000000011101010110111
+00100000010000000011101010110111
+00100000010000000011101010110111
+01101000000000001100011010111111
+11000100000000100000000000000000
+01110000000010110000010100000001
+00100000010000000011110011110110
+00100000001000000011110000011010
+01101000000000001100011011000000
+00100000011110100000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+00100000010000000011101011001111
+01000100111100001100000000011100
+00011000010000001111111111111101
+01101000000010001100011011000000
+00100000010000000111111111011101
+00011111111000100010001000000000
+00011000010000100111111000000000
+10011010001001100111111000000000
+01100000000000001100011011000000
+01101000000010010100011011000001
+00100000010000000101101001100100
+01101000000000010100011011000011
+00011111111000100000011000000000
+00011010001000100111001000000000
+00100000010000000110011011101010
+00011000011000100111111000000000
+01100000000000010100011011000011
+01101000000000001100011011000000
+00100100011110100000000000000000
+00100000001000000011110011110100
+11011000010000000000000000010111
+01101000000000001100011010111111
+11000011100000001000000000000000
+01101000000010010100010010101000
+00100000011000000000000000000000
+01101000000000001100011010111111
+11000010100000010101101001000010
+00100000001000000111111111101001
+00100000001000000011110001001100
+00011010001000100000011000000000
+11101000011000001000000000000000
+11000000000000000011101011011111
+11000000000000001011101011100010
+11000000000000010011101011101000
+11000000000000011011101011101010
+00100000001000000011110000010111
+00100000010000000110000100101011
+01110000010001100101101000000000
+00100000001000000011110000011010
+01011000000001000000000000000011
+01100000000000011100011001011011
+01100000000000001100011001100010
+00100000010000000110000100100100
+01110000010001100101101000000001
+00100000001000000011110000011010
+01011000000001000000000000000010
+00100000001000000011101011100011
+01011000000001000000000000000001
+00100000001000000011101011100011
+01101000000000001000101100000100
+00011111111001100111110000010000
+00100100001000010011110000010111
+01100000000000001100011010001001
+00011111111000100111001000000000
+11011000101000000100011010001010
+00100000010000000110011011111101
+00100000001000000011110000011010
+00011010001000100000011000000000
+11101000011000001000000000000000
+01101000000110001000000001100010
+01111101001110100000010000000100
+01100000000110001000000001100010
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111000100111001000000000
+00011010001000100000011000000000
+00100000010000000111111101011000
+01011001011011100011011000000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100001001000011
+00100000010000000011110000011010
+00100000010000000111111110011110
+00100000001000000110011011001110
+11011010001000000000000000000010
+11011010010000000100011010011010
+11011000010000000000000000000000
+00100000001000000011110000100101
+01100000000000010000101011000010
+11011010010000000000101011000010
+11011000010000000000000000000000
+00100000001000000011110000100101
+01101000000000010100011010000010
+11000011000000000011110000010111
+00100000010000000011110000011010
+00100000001000000011001111101001
+01101000000000010100011010000010
+11000011000001001011110000010111
+00100000010000000011110000011010
+00100000001000000011010000000010
+01101000000000001000101100000100
+00011111111000100111001000000000
+00011010001000100000011000000000
+01101000000000010100001000010101
+00011111111000100000101000000000
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000001100011010000010
+11000011000000000011110000010111
+11101000011000001000000000000000
+01101000000010001100011001100001
+01111001001110100000010000000000
+01111001001000000000010000000111
+01100000000010001100011001100001
+00100000010000000011110000011010
+01101000000000001100011001100001
+11000010100000110011101100101011
+00100000011000000000000000000000
+01110000010001100110000100000000
+01110000000010101001100100100001
+00100000001000000111110110001111
+11000010100000000101111110010101
+00100000001000000011101100101000
+01101000000000001100011010000010
+11000100000000100000000000000000
+01101000000000001100010101101011
+11000001000000000000000000000000
+11101000011000001000000000000000
+01101000000010001100010101101001
+10011000010000001000010000000000
+01100000000010001100010101101001
+00100000011000000000000000000000
+11011111001000000000000001000000
+11011000101000000100001101101111
+00100000010000000111111011010100
+01011000000000000000000000000000
+01100000000000001000101010110010
+00011010001000100000011000000000
+00011000011000100111111000000000
+01100000000000010000101010110110
+00100000010000000011101101100100
+01101000000000001000101010110010
+01101000000010001000101010100010
+00011000010000001000010000000001
+10011000010000001111111000000000
+01100000000000001000101010110010
+00011111111001100111110000011111
+00100100001000010011101101010000
+01101000000010001100001101101111
+01011000000000000100001101110000
+10011000010000001111111000000000
+01100000000000010000101010111011
+01101000000010001000101010100010
+00011000010000001000010000000001
+01101000000000001100001101101111
+10011000010000001111111000000000
+01100000000000001100001101101111
+00100000001000000011101101011001
+01101000000010001100001110001111
+01011000000000000100001110010000
+10011000010000001111111000000000
+01100000000000010000101010111011
+01101000000010001000101010100010
+00011000010000001000010000000001
+01101000000000001100001110001111
+10011000010000001111111000000000
+01100000000000001100001110001111
+01101000000000010000101010111011
+00011111111000100000101000000000
+01101000000000010000101010110110
+00011111111000100000011000000000
+00011000010000100111001000000000
+00100000010000000110011011101010
+01101000000000001000101100000100
+01101000000010001000101010110010
+10011000010001100111110000000000
+00100100001000101011101100111100
+00100000001000000011110000011010
+11101000011000001000000000000000
+01100000000000001000101010100010
+11101000011000001000000000000000
+01100000000000001000101010101110
+00100000011000000000000000000000
+11011000010000000000000000000000
+11011010001000000000000000000010
+01101000000000010100011010110100
+01100000000000010000101011000010
+11011010010000000000101011000010
+00100000001000000011110000100101
+01101000000000001000101100000100
+11000000100000001011110000010111
+11101000011000001000000000000000
+01100000000000001100011010110010
+01011000000000000000000000000000
+01100000000000010100011010110100
+00100000001000000011110000011010
+11101000011000100000000000000000
+01100000000000100100011010001010
+01110000010001101000100100000100
+01110000010001100110001100000000
+00100000010000000011110000011010
+00100000001000000101111100110001
+01101000000000001000101100000100
+11000000100000011011110000010111
+11101000011000001000000000000000
+11000000000000000011101110000010
+11000000000000001011101110001010
+00100000001000000011110000010111
+11101000011010001000000000000000
+11101000011000001000000000000000
+11000000000000010011101110001000
+01111101001110100000010000000111
+00100000010000000110011111111011
+00100000001000000011110000011010
+00100000010000000110100000000110
+00100000001000000011110000011010
+11101000011010001000000000000000
+00100000010000000110100000010010
+11101000011000001000000000000000
+00101111111011111111111000000000
+00100000010000000110100000101100
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+11101000011010001000000000000000
+00100000010000000110100000011101
+01011000000000000000000000000000
+01111101001000001111111000000000
+11011010001000000000000000000001
+00100000001000000011101100001010
+00011010001000100000011000000000
+11101000011000001000000000000000
+00011111111000100000010000000000
+11000000010000001011101110100011
+11000000010000010011101110101000
+11000000010000011011101110101110
+01100000000000001100010011000110
+11000000000000000011101110110011
+11000000000000001011101110110110
+11000000000000010011101110111000
+00100000001000000011110000010111
+01101000000000001100010010111110
+00100000001110100011110000010111
+01100000000010001100010011000110
+01110000010001000101011000001101
+00100000001000000011101110110100
+01101000000000001100010010111110
+00100000001110100011110000010111
+01100000000010001100010011000110
+01110000010001000101011000001101
+01110000010001000101010000000001
+00100000001000000011110000011010
+01101000000000001100010010111110
+00100000001110100011110000010111
+01100000000010001100010011000110
+01110000010001000101011000001101
+00100000001000000011101110111001
+01110000010001000101011000000000
+01110000010001000101010000000011
+00100000001000000011110000011010
+01110000010001000101011000000101
+00100000001000000011101110110100
+01110000010001000101011000000101
+01110000010001000101010000000000
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111001100111110000011111
+00100100001000010011110000010111
+01100000000000001100001101101111
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001101110000
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111001100111110000011111
+00100100001000010011110000010111
+01100000000000001100001110001111
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001110010000
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000010100011010000010
+11000011000001001011110000010111
+01101000000000001000101100000100
+11000000100001000011110000010111
+00011010001000100000011000000000
+11101000011001000000000000000000
+01100000000001000100010010010110
+01110000000010101001100100010010
+00100000010000000111110110001111
+00100000001000000011110000011010
+11101000011000010000000000000000
+01100000000000010100010010000010
+00100000001000000011110000011010
+01101000000000001100010011000110
+00100000001110100011110000010111
+01101000000000001100010011000100
+11000000100000000011110000010111
+01101000000000001100010011000101
+11000000100000000011110000010111
+00100000010000000111111000100101
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000101011110000010111
+11101000011000001000000000000000
+01100000000000001100011010100010
+11101000011000100000000000000000
+01100000000000100100011010100011
+01101000000010001100011010100010
+00100000010000000110100000001110
+00100000010000000011110010111100
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+11101000011000001000000000000000
+01100000000000001100000111011110
+00100000001000000011110000011010
+11101000011000001000000000000000
+11000000000000001011101111111010
+01101000000000001100010011000001
+11000000000000011011101111111000
+11000000000000110011101111111000
+11000000000000111011101111111000
+00100000001000000011110000010111
+01110000010001001100001000000001
+00100000001000000011110000011010
+00100000010000000101101101010011
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+00100000010000000011110000011010
+11101000011000001000000000000000
+00100000001110100110000011001011
+00100000001000000110000011001001
+00100000010000000011110000011010
+00100000010000000111111110011110
+01110000100000000001000000000001
+00100000001000000010101010001110
+01101000000000001000101100000100
+11000000000000000011110000010111
+11101000011000001000000000000000
+00100000001110100011110000010011
+01101000000000001000101100000100
+11000000100000101011110000010111
+11101000011000100000000000000000
+11011000010011110100001001000000
+10011000010001100111110000000000
+00100000001000010011110000010111
+01100000000000100100010011000111
+00100000010000000101100000001100
+00100000001000000011110000011010
+00100000010000000101100000001110
+00100000001000000011110000011010
+01110000010000001001000100000000
+00100000001000000011110000011010
+11011000010000000000000000000001
+11011010001000000000000000000000
+00100000001000000011110000100101
+11011000010000000000000000000000
+11011010001000000000000000000000
+00100000001000000011110000100101
+01110000000010110000001100000000
+00100000001000000011110001001001
+01110000000010110000001100000010
+00100000001000000011110001001001
+01110000000010110000001100000011
+00100000001000000011110001001001
+01110000000010110000001100000101
+00100000001000000011110001001001
+01101000000000001000101100000011
+00011111111000100010011000000000
+01110000000010110000001100000110
+01011000000000000000000000000010
+10011010001000001111111000000000
+00100000010000000011110010100111
+00011010011000100111111000000000
+11100001010000001000000000000000
+11100001010010001000000000000000
+00011010001000100111001000000000
+00011010010000100000110000000000
+00100000010000000110011011100100
+00100000001000000110011011000101
+00100000010000000011100101111111
+01110000000010110000001100000111
+01101000000000001000010011111111
+00100000011110100000000000000000
+00100000010000000011110010100111
+01101000000000001000010011111111
+00011111111000100111001000000000
+01101000000000010000010100000001
+00011111111000100000110000000000
+00100000010000000110011011010001
+00100000001000000110011011000101
+01110000000010110000001100001000
+01101000000000001100011010110110
+00011111111000100111001000000000
+00011111111000001111111000000010
+00100000010000000011110010100111
+01101000000000010100011010111001
+11100001010000010000000000000000
+01101000000000010100011010110111
+00011111111000100000110000000000
+00100000010000000110011011010001
+00100000001000000110011011000101
+01110000000010110000001100001001
+01011000000000000000000000000000
+00100000010000000011110010100111
+00100000001000000110011011000101
+01110000000010110000001100001010
+01011000000000000000000000000001
+00100000010000000011110010100111
+00100000010000000011110001011101
+01101000000000010100011010000010
+11011000111000000000000000000010
+10101111111011111111111111111111
+01111001001000001000010000000011
+11011000111000000000000000001001
+10101111111011111111111111111111
+01111001001000001000010000000101
+01101000000000001100011010000010
+11011000111000000000000000000100
+10101111111011111111111111111111
+01111001001000001000010000000100
+11100001010010001000000000000000
+00100000001000000110011011000101
+11011000010000000000000000000000
+01101000000000001100000010010011
+11011000111000000000000000000000
+10101111111011111111111111111111
+01111001001000001000010000000000
+11011000111000000000000000000001
+10101111111011111111111111111111
+01111001001000001000010000000001
+01101000000000001100001101101110
+11011000111000000000000000000000
+10101111111011111111111111111111
+01111001001000001000010000000010
+00100000011000000000000000000000
+01110000000010110000001100001101
+01101000000000001100001000010111
+00011111111011111111111000100010
+00011111111000100111001000000000
+00100000010000000011110010100111
+01101000000000010100001000010101
+00011111111000100000110000000000
+00100000010000000110011011010001
+00100000001000000110011011000101
+01110000000010110000001100001110
+01011000000000000000000000000100
+00100000010000000011110010100111
+01101000000000100000100110111010
+11100001010000100000000000000000
+00100000001000000110011011000101
+01110000000010110000001100001111
+01101000000100010000000100010010
+11011000010000000000000011111111
+00100000010000000111111111011101
+00011111111000100111001000000000
+00100000010000000011110010100111
+00100000010000000110011011001011
+00100000010000000110011100000011
+00100000001000000110011011000101
+01110000000010110000001100010000
+00100000001000000011110001001001
+01110000000010110000001100010001
+01011000000000000000000000000100
+00100000010000000011110010100111
+01101000000000100100010011000111
+11100001010000100000000000000000
+00100000001000000110011011000101
+11011010001000000000000110000000
+00100000001000000011110010010001
+11011010001000000000000010000000
+00100000001000000011110010010001
+11011010001000000000000100000001
+00100000001000000011110010010001
+11011010001000000000000000000001
+01110000010001100110000100000000
+01110000000010110000001100010100
+01011000000000000000000000000010
+00100000010000000011110010100111
+00011010001000100111111000000000
+11100001010000010000000000000000
+00100000001000000110011011000101
+11011010011000000000000000000000
+00100000001000000011110010011011
+11011010011000000000000000000001
+01110000000010110000001100010101
+01011000000000000000000000000001
+00100000010000000011110010100111
+00011010011000100111111000000000
+11100001010000001000000000000000
+00100000001000000110011011000101
+01110000000010110000001100011101
+01011000000000000000000000000100
+00100000010000000011110010100111
+01101000000000100000100110111010
+11100001010000100000000000000000
+00100000001000000110011011000101
+01110000000010110000001000000010
+01100000000000001000101100000100
+01100000000011000000101010100010
+01000100111100010100000000011100
+00100000010000000011110010110001
+01101000000011000000101010100010
+00100000010000000110011011000010
+01101000000000011000101100000010
+11100001010000011000000000000000
+00100000011000000000000000000000
+00100000010000000011110010111010
+00100000011000001000000000000000
+00100000010000000011110010111000
+01101000000000100100011010100011
+00011111111010110111111000000000
+00100000011110100000000000000000
+00100000001000000011110010111110
+01101000000010001100011010100010
+00100000001000000110100000101001
+01101000000010001100011010100010
+00100000001000000110100000011011
+01101000000010001100011010100010
+00100000001000000110100000100101
+00011111111000001111111111111111
+00100000000000000000000000100110
+00100100001110100011110010111110
+00100000011000000000000000000000
+00100000010000000011101011010100
+00100000011101000000000000000000
+00011010001000100111111000000000
+01100000000000010100011010110111
+00011010010000100111111000000000
+01100000000000001100011010110110
+01101000000000010000010001111000
+01101000000010010100011010111011
+10011000010001100111110000000000
+00100000001000101011110011001111
+01101000000010010100011010111101
+10011000010001100111110000000000
+00100100011000101000000000000000
+01100000000000010100011010111001
+00100000001000000011110000111101
+01101000000000001100011010111111
+11000011100000101000000000000000
+00100000010000000011110011110000
+00100000001000000011010000001100
+01110000010000010111001000000010
+00100000011000000000000000000000
+00100000001000000011110011011000
+01101000000000001100011010110010
+00100000011110100000000000000000
+01101000000000001100011010110011
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011010110011
+00100100011110100000000000000000
+01110000010001101011001100001010
+00100000010000000110100011101011
+00100000010000000110100100001000
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011000000001110000010000000000
+01100000000000001100011010110100
+01100000000010001100011010110101
+00100000011000000000000000000000
+00100000010000000111111110110100
+00100000001000010011001111011001
+00100000001000000011001111011011
+11011000111000000000000000000110
+00100000001000000011110011111100
+11011000111000000000000000000110
+00100000001000000011110011111000
+11011000111000000000000000000101
+00100000001000000011110011111100
+11011000111000000000000000000101
+00100000001000000011110011111000
+11011000111000000000000000000100
+00100000001000000011110011111100
+11011000111000000000000000000100
+00100000001000000011110011111000
+01101000000000001100011010111111
+11111001001111111111111000000000
+01100000000000001100011010111111
+00100000011000000000000000000000
+01101000000000001100011010111111
+11111001001000000111111000000000
+01100000000000001100011010111111
+00100000011000000000000000000000
+00100000010000000011110100111001
+00100000010000000110010000001111
+00100000010000000100000011000110
+00100000010000000011110101100110
+00100000010000000110010000010001
+00100000011101011000000000000000
+00100000010000000011110100010110
+00100000010000000011110100011001
+01101000000000100100011011010011
+11000011100010000000000000000000
+00100000010000000011110101001110
+11000110000100110000000000000000
+01101000000000010100011010000010
+11000010100001100100001010110000
+00100000001000000100001010100010
+01101000000000100100011011010011
+11000100000011011000000000000000
+11011111001000000000000000010100
+01011000000000110000110101000000
+00100000010000000010101010001111
+11000010000000000111111011000001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000010000000000000000000
+00100000001000000100100011101010
+01011000000000000100000101101101
+01100000000000010100000111101111
+01011000000000000011111101110111
+01100000000000010100000111110001
+01011000000000000011111010111011
+01100000000000010100000111101101
+01011000000000000100000101111100
+01100000000000010100000111110101
+01011000000000000011110111100011
+01100000000000010100000111110011
+01011000000000000011111010110011
+01100000000000010100000111101011
+01011000000000000011110101011011
+01100000000000010100000111111001
+00100000010000000010110001111010
+01011000000000000100010000000001
+00011010011000001000101011011000
+11100000101000010000000000000000
+01011000000000000100010000000110
+00011010011000001000101011011010
+11100000101000010000000000000000
+01011000000000000011111010111111
+00011010011000001000101011011100
+11100000101000010000000000000000
+01011000000000000100000111111001
+01100000000000010100000111111101
+01011000000000000011110100110110
+01100000000000010100001000000001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000011000010010110010011010111
+00100000001000000110010011011010
+00100000011101011000000000000000
+00100000010000000010110010011101
+00100000010000000011111001101110
+00100000010000000011111000011110
+00100000010000000011111001010100
+00100000010000000101100000010000
+00100000010000000101100000111001
+00100000010000000101100000101100
+00100000010000000101100000011000
+01101000000000100100011011010011
+11000010100010100011110101000110
+11000010100010011100010000010100
+00100000011000000000000000000000
+00100000010000000110010110011100
+01101000000000100100011011010011
+00101111111011111111111000011001
+00100100010000001110010111000010
+00100000010000000100010000111111
+00100000010000000011110111001001
+00100000010000000100000110101010
+00100000001000000110010111011111
+01101000000000100100011011010011
+11000011000011110011110101010011
+01101000000000001000101010111101
+00101111111011000000000000000011
+00100100011000001000000000000000
+01101000000000001100011100011111
+01100000000000001100011100011110
+01101000000000001100011011110101
+11000011100000110000000000000000
+01101000000000100100011011010011
+11000100000010001000000000000000
+11000010100011101010111011100100
+00100000001000000010111100101100
+01101000000000001000010001111000
+00011111111001100111111000011010
+00100100011000101000000000000000
+01110000000010101001100100010010
+00100000010000000111110110001111
+11011000111000000000000000000000
+00100000001000000100000110111001
+01101000000000001100011010110110
+11000001000000001000000000000000
+01110000010001101011011000000001
+00100000011000000000000000000000
+01101000000000001100011011100001
+00011111111000010111111000001111
+01100000000000001100011101111010
+00100000001000000011110110000000
+01101000000010001100011011100111
+00100000010000000110100000011101
+00100100001000001011110101100010
+01101000000000001100011010110110
+11000001000000000000000000000000
+01110000010001101011011000000000
+01101000000000001100011101111010
+00011111111000001111111000000001
+00011111111000010111111000000011
+01100000000000001100011101111010
+00100000010000000011110101111110
+01101000000000100100011011010011
+11000010100010100100010000111011
+11000010100010011011110101111001
+00100000011000000000000000000000
+11011000010000000000000000011110
+00100000010000000110100000001110
+11011000010000000000000000011111
+00100000010000000110100000001110
+00100000001000000100010000110101
+01000100111100011100000000011100
+00100000010000000100001001001010
+01101000000000001100011011100000
+11000000000000101011110110101010
+11000000000000100011110110010110
+01101000000000001100011101111010
+11000000000000000011110110001010
+11000000000000001011110110001000
+11000000000000010011110110001100
+11000000000000011011110110001110
+01101000000000001100011110000000
+00100000001000000011110110111110
+01101000000000001100011101111111
+00100000001000000011110110111110
+01101000000000001100011110000001
+00100000001000000011110110111110
+01101000000000001100011110000010
+00100000001000000011110110111110
+01101000000000001100011011100000
+11000001000000110000000000000000
+01101000000000001100011010110101
+00011111111000001111111000000001
+01100000000000001100011010110101
+00100000011000000000000000000000
+01101000000000001100011101111010
+11000000000000000011110110011101
+11000000000000001011110110011011
+11000000000000010011110110011111
+11000000000000011011110110100001
+01101000000000001100011110000100
+00100000001000000011110110100010
+01101000000000001100011110000011
+00100000001000000011110110100010
+01101000000000001100011110000101
+00100000001000000011110110100010
+01101000000000001100011110000110
+01100000000000001100011010110101
+00011111111011010111111000000000
+00011111111000100010001000000000
+00011111111000001111111000001101
+00100000010000000110010000010011
+00011010001000100111111000000000
+00011111111000001111111000001110
+00100000001000000110010000010011
+01101000000000001100011101111010
+11000000000000000011110110110001
+11000000000000001011110110101111
+11000000000000010011110110110011
+11000000000000011011110110110101
+01101000000000001100011110001000
+00100000001000000011110110110110
+01101000000000001100011110000111
+00100000001000000011110110110110
+01101000000000001100011110001001
+00100000001000000011110110110110
+01101000000000001100011110001010
+01100000000000001100011010110101
+00100000010000000100000011000000
+01101000000000001100011010110101
+00011111111000001111111010000000
+00011111111011010111111000000000
+00011111111000001111111000000101
+00011111111000100010001000000000
+00100000001000000100000101011010
+01100000000000001100011010110101
+00100000010000000011110110010000
+01101000000000001100011010110101
+01011000000000000000000000000110
+00100000010000000110010000010100
+00011111111000010000010011111000
+01101000000000001100011010110101
+10011000010000001111111000000000
+00011111111011010111111000000000
+00011111111000001111111000000110
+00100000001000000110010000010011
+00100000010000000011001111000100
+00100000001000101100001100010110
+00100000010000000100010000011100
+00100000010000000100001011100100
+00100000001000000011001110111101
+01101000000000010100011100000111
+00100000011110100000000000000000
+01101000000000100100011011010011
+11000100000010001000000000000000
+11000011100000011000000000000000
+11000110000100110000000000000000
+00100000010000000100000010000011
+11000001100000111000000000000000
+00100000010000000100010010000010
+11011000111000000000000000000011
+00100000010000000100001111001110
+01011000000000000000000000000000
+01100000000000010100011010101110
+01100000000000001100011010110100
+00100000010000000011001001100011
+01101000000000010100011010000010
+11000010100000111100001110010010
+11000010100001001011010000000010
+11000010100000000011001111101001
+00100000010000000100001011001010
+00100000001000000010111010101101
+00100000010000000011110111001110
+00100000010000000111111000110100
+00100000010000000011110101101010
+00100000010000000011110111101001
+00100000010000000011111011100000
+00100000001000000011110111110111
+01101000000000100100011011010011
+11000100000010000000000000000000
+00100000010000000100100011010011
+00100000001000000100100011111101
+01101000000100001000101000000100
+11000011000000111011110111110001
+11000010100000111011110111110100
+00100000011000000000000000000000
+01101000000000001100011011111111
+11000100000000111000000000000000
+00100000001000000110010110011010
+01101000000000001100011011111111
+11000011100000111000000000000000
+00100000001000000100001110000001
+00100000010000000011110111101101
+01101000000100001000101000000100
+01100000000000001100011011111111
+11000100000000111000000000000000
+00100000010000000011111000000111
+01101000000000100100011011111001
+01101000000010001100011011111101
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01100000000000100100011011111001
+00100000010000000011111110010111
+00100100011101000000000000000000
+01110000000011010011100000000100
+00100000001000000011111000001111
+01101000000010100100011011111001
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010011111000001100
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000100100011011111001
+00100000011000000000000000000000
+01101000000000001000110100111000
+11000100000000010000000000000000
+00100000001000000011111000010010
+01101000000100001000101000000100
+11000100000000111000000000000000
+01110000000011010101001000100000
+01011000000000000000000000000001
+01100000000000001000110101010100
+01101000000000111100011010011010
+11100000101000111000000000000000
+00100000011000000000000000000000
+01101000000100010000000001010000
+01111001001111111111111000001011
+01100000000100010000000001010000
+00100000011000000000000000000000
+01011000000000001000110000000000
+01100000000000010100010101110101
+01011000000000001000111001111010
+01100000000000010100010010111100
+01011000000000000010010000000010
+01100000000000010100000010111101
+01011000000000000010010110000000
+01100000000000011100000010101010
+01110000010000010111001100000011
+01110000010000010101011000001000
+01110000010001101101100100000001
+01011000000000000000001000000000
+01100000000000010100000101010100
+01110000010001001010011000010111
+01110000010001001010100000010111
+01011000000000000000101001110111
+01100000000000010100001000010010
+00111000000000000000001100000110
+00111000000001000100010001000000
+00111000000010010000000000000000
+00111000000011000100010000001000
+01100000000001001100010101110111
+00111000000000000001001000100100
+00111000000001000100000000000000
+00111000000010000000000000000000
+11100000101000101000000000000000
+00111000000000111111111111111111
+00111000000001101111111000100011
+00111000000010011001100111011001
+00111000000011000000001000001101
+01100000000001000100000010011000
+01011000000000000000000100101100
+01100000000000010100011100000111
+00100000010000000101011110100011
+01101000000000100100011011010011
+11000100000011111000000000000000
+00100000010000000011111001000100
+00100000001000000011111001001100
+01101000000010001100011011110111
+00100000010000000110011111111011
+01101000000010001100011011110111
+00100000010000000110100000011101
+01110000010001101111011000000011
+00100000011000001000000000000000
+01110000010001101111011000000010
+00100000011000000000000000000000
+01101000000010001100011011111000
+00100000010000000110011111111011
+01101000000010001100011011111000
+00100000010000000110100000011101
+01110000010000100010110100000000
+00100000011000001000000000000000
+01110000010000100010110100000010
+00100000011000000000000000000000
+01101000000000001100001000101101
+11000000000000000011111001011001
+11000000000000001011111001100010
+11000000000000010011111001101011
+00100000001000000011111001011001
+01101000000010010100001000100001
+01101000000000010100001000100111
+10011000010001100111111000000000
+00011111111011111111111000010100
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100011011010000
+00100000011000000000000000000000
+01101000000010010100001000011111
+01101000000000010100001000100101
+10011000010001100111111000000000
+00011111111011111111111011100110
+00011111111001101111110110010000
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100011011010000
+00100000011000000000000000000000
+01101000000000010100001000100011
+01100000000000010100011011010000
+00100000011000000000000000000000
+01101000000010001100001000111010
+00100000010000000110100000001110
+00100000010000000100100011111011
+01101000000010001100011011100010
+00100000010000000110011111111011
+01101000000010001100011011100011
+00100000010000000110011111111011
+01101000000010001100011011100100
+00100000010000000110011111111011
+01101000000010001100011011110011
+00100000010000000110011111111011
+01101000000010001100011011011100
+00100000010000000110100000001110
+01101000000010001100011011101000
+00100000010000000110011111111011
+01101000000010001100011011101001
+00100000010000000110011111111011
+01101000000010001100011011101010
+00100000010000000110011111111011
+01101000000010001100011011101011
+00100000010000000110011111111011
+01101000000010001100011011100101
+00100000010000000110011111111011
+01101000000010001100011011100110
+00100000010000000110011111111011
+01101000000010001100011011101111
+00100000010000000110100000001110
+01101000000010001100011011110000
+00100000010000000110100000001110
+01101000000010001100011011110001
+00100000010000000110100000001110
+01101000000010001100011011110010
+00100000010000000110100000001110
+01101000000010001100011011110100
+00100000010000000110100000001110
+01101000000010001100011011101101
+00100000010000000110011111111011
+01101000000010001100011011101100
+00100000010000000110011111111011
+01101000000010001100011011100111
+00100000001000000110011111111011
+01101000000010001100011011101000
+00100000010000000110011111011101
+01101000000010001100011011101001
+00100000010000000110011111011101
+01101000000010001100011011101010
+00100000010000000110011111011101
+01101000000010001100011011101011
+00100000001000000110011111011101
+01101000000010001100011011101000
+00100000010000000011111010100111
+01101000000010001100011011101001
+00100000010000000011111010100111
+01101000000010001100011011101010
+00100000010000000011111010100111
+01101000000010001100011011101011
+00100000001000000011111010100111
+00011000010001100111110011111111
+00100000011000101000000000000000
+00011000010000010000111001111111
+01101000000100100000000100011100
+10101111111011111111111111111111
+01101000000100100000000001111000
+11111001001000001111111000000000
+01100000000100100000000001111000
+01101000000100100000000001111100
+11111101001000001111111000000000
+01100000000100100000000001111100
+00100000011000000000000000000000
+01111000001101000111110000000000
+01101000000100100000000100111000
+01111001001101000111111000011010
+01100000000100100000000001001100
+00100000010000000010110000100001
+00100000010000000100010010000010
+00100000010000000011111010011111
+00100000001000000011111010111111
+00100000010000000011111010111111
+01101000000000001000000010100000
+00100100011110100000000000000000
+00100000001000000110011111101101
+00100000010000000011111011100000
+11011000010000000000000000011001
+01101000000000100100011011010011
+00101111111011111111111000010010
+00100000010000001011111011011110
+00100000010000000110100000001110
+00100000010000000110001111101110
+01101000000010001100011011100010
+00100000010000000110011111011101
+01101000000010001100011011100011
+00100000010000000110011111011101
+01101000000010001100011011100100
+00100000010000000110011111011101
+01101000000010001100011011100101
+00100000010000000110011111011101
+01101000000010001100011011100110
+00100000010000000110011111011101
+01101000000010001100011011100111
+00100000010000000110011111011101
+01101000000010001100011011101101
+00100000010000000110011111011101
+01101000000010001100011011101000
+00100000010000000110011111011101
+01101000000010001100011011101001
+00100000010000000110011111011101
+01101000000010001100011011101010
+00100000010000000110011111011101
+01101000000010001100011011101011
+00100000010000000110011111011101
+01101000000010001100011011110011
+00100000001000000110011111100001
+11011000010000000000000000011110
+00100000011000000000000000000000
+01000100111100100100000000011100
+00100000010000000011111011101110
+00100000010000000011111100110110
+01101000000000001100011010111000
+01101000000010001100011010110111
+01100000000000001100011010110111
+10011000010001100111110000000000
+00100100001000101011001111010100
+01101000000000001100011010111110
+01101000000010001100011010111101
+01100000000000001100011010111101
+10011000010001100111110000000000
+00100100001000101011001111010100
+00100000011000000000000000000000
+01101000000000001100011011101010
+11000001011111111000000000000000
+11011010001000000000000000000000
+01101000000010001100011011101010
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011101011
+00100000010000000110100000011101
+01111001001000001010001000000001
+00011010001000100111111000000000
+01100000000000001100011010111000
+11000000000000001011111011111110
+11000000000000010011111100000010
+01101000000000001100011010111001
+11000010100000111011111100001110
+00100000011000000000000000000000
+01101000000000001100011010110111
+11000000000000000011111100000110
+11000000000000011011111100001000
+00100000011000000000000000000000
+01101000000000001100011010110111
+11000000000000000011111100001010
+11000000000000011011111100001100
+00100000011000000000000000000000
+01110000010001101011100110000010
+00100000011000000000000000000000
+01110000010001101011100110000001
+00100000011000000000000000000000
+01110000010001101011100110000000
+00100000011000000000000000000000
+01110000010001101011100110000011
+00100000011000000000000000000000
+01101000000000001100011010111001
+01111001001111111111111000000111
+01100000000000001100011010111001
+11000000000000000011111100010110
+11000000000000001011111100011001
+11000000000000010011111100011100
+11000000000000011011111100011111
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000011011111100100010
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000000011111100100010
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000011011111100101100
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000000011111100101100
+00100000011000000000000000000000
+01101000000000001100011010111100
+00011111111000001111111000000001
+01100000000000001100011010111100
+00011111111001100111110000000001
+00100000011000010000000000000000
+01110000010001101011110000000000
+01101000000000001100011010111010
+00011111111000001111111000000001
+01100000000000001100011010111010
+00100000011000000000000000000000
+01101000000000001100011010111011
+00011111111000001111111000000001
+01100000000000001100011010111011
+00011111111001100111110000000001
+00100000011000010000000000000000
+01110000010001101011101100000000
+01101000000000001100011010111010
+00011111111000001111111111111111
+01100000000000001100011010111010
+00100000011000000000000000000000
+01101000000000001100011011101000
+11000001011111111000000000000000
+11011010001000000000000000000000
+01101000000010001100011011101000
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011101001
+00100000010000000110100000011101
+01111001001000001010001000000001
+00011010001000100111111000000000
+01100000000000001100011010111110
+11000000000000001011111101000110
+11000000000000010011111101001010
+01101000000000001100011010111111
+11000010100000111011111101010110
+00100000011000000000000000000000
+01101000000000001100011010111101
+11000000000000000011111101001110
+11000000000000011011111101010000
+00100000011000000000000000000000
+01101000000000001100011010111101
+11000000000000000011111101010010
+11000000000000011011111101010100
+00100000011000000000000000000000
+01110000010001101011111110000010
+00100000011000000000000000000000
+01110000010001101011111110000001
+00100000011000000000000000000000
+01110000010001101011111110000000
+00100000011000000000000000000000
+01110000010001101011111110000011
+00100000011000000000000000000000
+01101000000000001100011010111111
+01111001001111111111111000000111
+01100000000000001100011010111111
+11000000000000000011111101011110
+11000000000000001011111101100001
+11000000000000010011111101100100
+11000000000000011011111101100111
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000011011111101101010
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000000011111101101010
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000011011111101101111
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000000011111101101111
+00100000011000000000000000000000
+01110000010001101100001000000000
+01101000000000001100011011000000
+00011111111000001111111000000001
+01100000000000001100011011000000
+00100000011000000000000000000000
+01110000010001101100000100000000
+01101000000000001100011011000000
+00011111111000001111111111111111
+01100000000000001100011011000000
+00100000011000000000000000000000
+01011000000000000000000000000010
+01100000000000001100011010000000
+00100000011000000000000000000000
+01101000000000001100000111100010
+00100000011110100000000000000000
+00100000010000000101001001110001
+00100100011110100000000000000000
+01101000000000100100011011010011
+11000010100000011011111110001010
+11000010100000000011111110001010
+11000010100000101011111110001010
+00100000010000000011111110010111
+00100100011101000000000000000000
+11011010001000000000000000001001
+00100000010000000100110101100011
+01101000000000010100001001001110
+11100000101000010000000000000000
+01011000000000000000001010100001
+11100000101000010000000000000000
+01101000000000111100011010011010
+11100000101000111000000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000111100011010011010
+00100000001000000011111110000001
+01101000000000010100011010101010
+01100000000000010100011010110000
+00100000011000000000000000000000
+01000100111100101100000000011100
+11011010001000000000000000000111
+01101000000010010100010001101111
+00100000010000000101101001100100
+01101000000000111100011010011010
+11100000101000111000000000000000
+00100000011000000000000000000000
+01000100111100110100000000011100
+01111000010101000111110000000000
+01011000000000000000000000000000
+01100000000000110100011010011011
+00100000010000000011111110110101
+00100000010000000100000001111001
+00100000010000000100000001111110
+00100000010000000100000010011001
+00100100011101000000000000000000
+00100000010000000011111110001101
+11011000111000000000000000001000
+00100000001000000100001111001110
+01101000000000010100011010011011
+00011111111001100111111000000000
+01100000000000010100011010011011
+00100000001000000111111111100111
+01101000000000010100011010011101
+00011111111001100111111000000000
+01100000000000010100011010011101
+00100000001000000111111111100111
+01101000000000010100011010011101
+00011111111001100111111000000000
+01100000000000010100011010011101
+01101000000000010100011010011011
+00011111111001100111111000000000
+01100000000000010100011010011011
+00100000010000000100000000000010
+00100000001000000111111111100111
+00100000010000000100000000000010
+00100000001000000111111111100111
+01101000000000001100001000111001
+11000001100000000000000000000000
+01101000000000001100011011100000
+11000000000000000011111111100010
+11000000000000001011111111100010
+11000000000000010011111111100010
+11000000000000011011111111100010
+11000000000000100011111111000100
+11000000000000101100000000010000
+11000000000000110011111111100010
+00100000001000000011111111100010
+01101000000000001100011010100111
+00100000010110100100000001011101
+01110000010001101010011100000001
+00100000011000000000000000000000
+00100000010000000011111111000000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+01011000000000000000000000000000
+00100000010000000110010000010100
+11000000100110000100000011010001
+01011000000000000000000000000010
+00100000010000000110010000010100
+11000100000000111000000000000000
+00100000010000000100000001011101
+00100000010000000011111111011110
+01100000000000001100011010100001
+00011111111100011111111000000000
+00100000010000000100000101101001
+01100000000000001100011010011100
+01101000000000001100011010100001
+00011111111000010111111000001111
+00100000010000000100000101101001
+01100000000000001100011010011110
+01101000000000001100011011110110
+11000000000000000011111110100011
+11000000000000001011111110101011
+11000000000000010011111110100111
+11000000000000011011111110110011
+00100000011000000000000000000000
+01011000000000000000000000010010
+00100000001000000110010000010100
+11000000000110001011111111101010
+00100000001000000100000011010001
+00100000010000000011111111000000
+01111000010101000111110000000000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+01011000000000000000000000000000
+00100000010000000110010000010100
+11000000100110000011111111100000
+01011000000000000000000000000010
+00100000010000000110010000010100
+11000100000000111000000000000000
+00100000010000000100000001011101
+01101000000000001100011010011011
+00100000010000000100000101100101
+01100000000000010100011010011011
+01101000000000001100011010011101
+00100000010000000100000101100101
+01100000000000010100011010011101
+01101000000000001100011011110110
+11000000000000000011111111111010
+11000000000000001011111111111100
+11000000000000010011111111111110
+11000000000000011100000000000000
+00100000011000000000000000000000
+00100000010000000011111110100011
+00100000001000000100000010110011
+00100000010000000011111110101011
+00100000001000000100000010110011
+00100000010000000011111110100111
+00100000001000000100000010110011
+00100000010000000011111110110011
+00100000001000000100000010110011
+01101000000000010100011010011101
+01101000000010010100011010011011
+01100000000000010100011010011011
+01100000000010010100011010011101
+00100000011000000000000000000000
+00100000010000000110010000001111
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000010000000110010000010100
+00011111111000100010010000000000
+00100000010000000110010000010001
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000011000000000000000000000
+01111000010101000111110000000000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+11011010010000000000000000000010
+00100000010000000100000000000111
+11000100000000111000000000000000
+11011010010000000000000000000000
+00100000010000000100000000000111
+01100000000000001100011011011101
+11000000100111110100000101000101
+01101000000000001100011010100111
+00100000010110100100000000111001
+01110000010001101010011100000001
+00100000010000000100000000111001
+01101000000000001100011010100001
+00011111111100011111111000000000
+00100000010000000100000101101001
+01100000000000001100011010011100
+01101000000000001100011010100001
+00011111111000010111111000001111
+00100000010000000100000101101001
+01100000000000001100011010011110
+01101000000000001100011011110110
+11000000000000000100000000110001
+11000000000000001100000000110101
+11000000000000010100000000110011
+11000000000000011100000000110111
+00100000011000000000000000000000
+01101000000000001100011010100100
+11000000000000000100000001010001
+11000000000000001100000001000101
+00100000011000000000000000000000
+00100000010000000011111110100011
+00100000001000000100000000101101
+00100000010000000011111110100111
+00100000001000000100000000101101
+00100000010000000011111110101011
+00100000001000000100000000101101
+00100000010000000011111110110011
+00100000001000000100000000101101
+00100000010000000110010000001111
+00100000010000000100000001011101
+11011111111000000000000000000101
+00100000010000000110010000010100
+01100000000000001100011010100001
+11011111111000000000000000000111
+00100000010000000110010000010100
+01100000000000001100011010100010
+11011111111000000000000000001000
+00100000010000000110010000010100
+01100000000000001100011010100011
+00100000001000000110010000010001
+01101000000000001100011010100010
+11000001100000000000000000000000
+01101000000000001100011010100011
+00011111111001100111110000101101
+00100000011000010000000000000000
+01110000010001101010010000000000
+01011000000000001011101001000001
+00100000010000000110010000000101
+01011000000000000000000000110010
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+01101000000000001100011010100010
+11000001100000000000000000000000
+01101000000000001100011010100011
+00011111111001100111110000101101
+00100100011000010000000000000000
+01110000010001101010010000000001
+01011000000000001011101001000001
+00100000010000000110010000000101
+01011000000000001000000000110010
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+11011111111000000000000000000011
+00100000010000000110010000010100
+01100000000000010100011010011011
+11011111111000000000000000000100
+00100000010000000110010000010100
+01100000000000010100011010011101
+00100000011000000000000000000000
+11011000010000000000000000011011
+00100000010000000110011111111011
+11011000010000000000000000011011
+00100000010000000110100000011101
+00100000011000001000000000000000
+01101000000100001000000100001001
+01111001001000000111111000000100
+01100000000100001000000100001001
+00100000011000000000000000000000
+01101000000010001100011011000000
+01101000000100001000000100001001
+10011000010000001111111000000000
+00100000011110100000000000000000
+01100000000000001100011010011111
+01110000010001101100000000000000
+00100000001000000111111111100111
+01101000000010001100011011000000
+01101000000100001000000100001001
+10011000010000001111111000000000
+01100000000000001100011011000000
+00100000011000000000000000000000
+01101000000000001100011011000000
+00100000011110100000000000000000
+01100000000000001100011010011111
+01110000010001101100000000000000
+00100000001000000111111111100111
+01101000000000001100011010111010
+00100000011110100000000000000000
+01100000000000001100011010100000
+01110000010001101011101000000000
+00100000001000000111111111100111
+11011010001000000000000000000000
+01101000000010001100011011100010
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011100011
+00100000010000000110100000011101
+01111001001000001010001000000001
+01101000000010001100011011100100
+00100000010000000110100000011101
+01111001001000001010001000000010
+00100000010000000100000010010000
+00011010001000100111111000000000
+00100000011000000000000000000000
+01101000000000001100011011100101
+11000001011111111000000000000000
+01101000000010001100011011100101
+00100000010000000110100000011101
+01111001001000001010001000000011
+01101000000010001100011011100110
+00100000010000000110100000011101
+01111001001000001010001000000100
+00100000011000000000000000000000
+00100000010000000100000010000011
+00100000010000000100000010101000
+00100000010000000100000010100011
+00011010001000100111111000000000
+01101000000010001100011010011010
+01100000000000001100011010011010
+10011000010000101111111000000000
+00011111111001100111110000000000
+00100000011000101000000000000000
+00100000001000000111111111100111
+11000110100100110000000000000000
+00011010001000100111111000000000
+00100000011110100000000000000000
+01100000000000001100011010011010
+00100000001000000111111111100111
+01101000000000010100011010000010
+11000010100001001100000010101101
+01101000000000010100011010000010
+11000010100000000100000010110000
+00100000011000000000000000000000
+00011010001000100111111000000000
+00100100001110100101100000100000
+00100000001000000101100000100010
+00011010001000100111111000000000
+00100100001110100010101111000111
+00100000001000000010101111001001
+01000100111100111100000000011100
+11011000010000000000000000011010
+01101000000000100100011011010011
+00101111111011111111111000010010
+00100000010000001100000010111110
+00100000010000000110100000011101
+00100000011000001000000000000000
+01011000000000000000000000001010
+00100000010000000110010000010100
+00100000000000000000001111101000
+00100000001000000100000010110011
+11011000010000000000000000011111
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000010100010010100000011000100
+11011000010000000000000000011010
+00100000001000000110011111111110
+11011000010000000000000000011111
+00100000001000000110011111111110
+00100000010000000011110100110110
+00100000011101011000000000000000
+00100000010000000100000011000000
+01101000000000001100011011100000
+11000000000000101100000011010101
+00100000010000000100000011011001
+11000000000110000100000011100000
+11000000000110001100000011101010
+00100000010000000100000011010001
+00100000000000000000001111101000
+00100000001000000100000011001011
+01000100111101000100000000011101
+01101000000000100100011011010011
+11000010100010010110001111100000
+00100000001000000110001111010001
+00100000010000000100000011011001
+11000000000111110100000101001011
+00100000010000000100000101000101
+00100000001000000100000011010101
+01011000000000000000000000000001
+00100000010000000110010000010100
+01100000000000001100011011011110
+01011000000000000000000000000000
+00100000010000000110010000010100
+01100000000000001100011011011101
+00100000011000000000000000000000
+01101000000000001100011011011110
+11000000011010001100000100111001
+11000000011010010100000011111000
+11000000000000010100000011101110
+11000000001010100100000011100110
+00100000011000000000000000000000
+01110000010001101110000000000010
+00100000011000000000000000000000
+01110000010001101110000000000110
+00100000011000000000000000000000
+01101000000000001100011011011110
+11000000001110000100000011101000
+01110000010001101110000000000001
+00100000011000000000000000000000
+01110000010001101110000000000100
+00100000010000000100000011110110
+01011000000000000011010000100110
+00100000010000000110010000010011
+01011000000000000000010000011001
+00100000010000000110010000010011
+01011000000000000000000000001001
+00100000001000000110010000010011
+01011000000000000101101000001001
+00100000001000000110010000010011
+01110000010001101110000000000011
+00100000010000000100000011110110
+01011000000000000000111100001101
+00100000010000000110010000010011
+01011000000000001110001100011101
+00100000010000000110010000010011
+01011000000000001101001001111101
+00100000010000000110010000010011
+00100000010000000100000100000010
+00100000001000000100000100011010
+01011000000000000011010100011011
+00100000010000000110010000010011
+01011000000000001011010000101000
+00100000010000000110010000010011
+01011000000000000100011000101001
+00100000010000000110010000010011
+01011000000000001001011000101010
+00100000010000000110010000010011
+01011000000000001000110000101011
+00100000010000000110010000010011
+01011000000000000110111000101100
+00100000010000000110010000010011
+01011000000000000110010000101101
+00100000010000000110010000010011
+01011000000000000101111100111000
+00100000010000000110010000010011
+01011000000000000000111100111001
+00100000010000000110010000010011
+01011000000000000011001000111010
+00100000010000000110010000010011
+01011000000000000100011100111011
+00100000010000000110010000010011
+01011000000000000001000001000010
+00100000001000000110010000010011
+01011000000000000010111001010100
+00100000010000000110010000010011
+01011000000000001111001001010101
+00100000010000000110010000010011
+01011000000000001111010001100001
+00100000010000000110010000010011
+01011000000000000111000001100011
+00100000010000000110010000010011
+01011000000000000101001001110101
+00100000010000000110010000010011
+01011000000000000100000101110110
+00100000010000000110010000010011
+01011000000000001110110101110111
+00100000010000000110010000010011
+01011000000000000010001101111000
+00100000010000000110010000010011
+01011000000000000100011001111001
+00100000010000000110010000010011
+01011000000000001110010101111010
+00100000010000000110010000010011
+01011000000000000100100001111100
+00100000010000000110010000010011
+01011000000000000111011101111110
+00100000010000000110010000010011
+01011000000000000000000101111111
+00100000010000000110010000010011
+01011000000000000000000000001011
+00100000010000000110010000010011
+01011000000000000000000001111111
+00100000010000000110010000010011
+00100000001000000100000011110100
+01110000010001101110000000000000
+00100000010000000100000011110110
+01011000000000000001000000001101
+00100000010000000110010000010011
+01011000000000001110110100011101
+00100000010000000110010000010011
+01011000000000001000000001111101
+00100000010000000110010000010011
+00100000010000000100000100000010
+01011000000000000000100101000011
+00100000010000000110010000010011
+00100000001000000100000100011010
+01101000000010001100011011011100
+00100000010000000110100000101001
+00100000010000000111111011000001
+01101000000010001100011011011100
+00100000010000000110100000100101
+00100000001000000111111011000001
+01110000010001101110000000000101
+01011000000000001011101001000001
+00100000010000000110010000000101
+01011000000000000000110100010001
+00100000010000000110010000000101
+01011000000000000000010000011011
+00100000010000000110010000000101
+01011000000000000000010000011100
+00100000010000000110010000000101
+01011000000000000000111100011101
+00100000010000000110010000000101
+01011000000000000000000000110010
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+01011000000000001011101001000001
+00100000010000000110010000000101
+00100000000000000000111110100000
+01011000000000001111111101111111
+00100000010000000110010000000101
+00011010001000100111111000000000
+00100000010000000110010000000101
+01011000000000000000000001111111
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+11000100000000111000000000000000
+11011000010000001111111100000000
+10011000010000011111111000000000
+00100000011000000000000000000000
+11000100000000011000000000000000
+11011000010000000000000011110000
+10011000010000011111111000000000
+00100000011000000000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+01101000000000001100011011000101
+00011111111000010111111000000011
+11000001100000011000000000000000
+01101000000000100100011011010011
+11000010100000011100000101111001
+11000010100000000100000101111001
+11000010100000101100000101111001
+00100000010000000011111110010111
+00100100011101000000000000000000
+00100000001000000011111110010000
+01011000000000000000000000000000
+01100000000000111100011010011010
+00100000001000000011111110010000
+00011010011000100111111000000000
+11000000000010100100000111000011
+11000000000000001100001011001010
+11000000000010101100000111011001
+11000000000000010100000111011001
+11000000000000101100000111010110
+11000000000010000100001001101100
+11000000000010010100001010011011
+11000000000000110100000111010101
+11000000000000100100000111001100
+11000000000010011100000111001100
+11000000000001010100000111001010
+11000000000101110011001111001101
+11000000000110001100000110110100
+11000000000110010100000110110110
+11000000000111110100000110010001
+11000000000100111100001110001110
+11000000000111001100000110011100
+11000000000111010100000110010010
+11000000000111100100000110011010
+00100000011000000000000000000000
+00100000001000000011010000010000
+01110000010001111000101100000001
+01101000000000001100011100011110
+00100100001110100100010010010010
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000001000101011010000001010
+00100000011000000000000000000000
+01110000010001111000101100000001
+00100000011000000000000000000000
+01110000010001111000101100000001
+11011000111000000000000000000011
+00100000010000000100001111010010
+01011000000000000000000000000000
+01100000000000010100011100000111
+01110000010001101010011100000000
+01101000000000001100011011100000
+00011111111001100111110000000101
+00100000010000101100000000111001
+00100100010000101100000001011101
+01101000000000001000000000000100
+11000010100010011100000110101111
+00100000010000000100000110101010
+00100000001000000110010111010001
+00100000010000000010110001111010
+00011010011000001010001010101110
+11011010010000000000000001011011
+11011000010000000000000000000100
+00100000011000000000000000000000
+00100000010000000010110001111010
+00011010011000001010010010101110
+11101010010000001000000000000000
+01100000000000001100011101111011
+00100000001000000100010000110101
+11011000111000000000000000000010
+00100000001000000100000110111001
+01110000010001101100011000000010
+11011000111000000000000000000001
+00100000001000000100000110111001
+01101000000000001100011011000101
+11111001001000000111111000000000
+01100000000000001100011011000101
+00100000011000000000000000000000
+01101000000000001100011011000101
+11111001001111111111111000000000
+01100000000000001100011011000101
+00100000011000000000000000000000
+01110000010001101100010100000000
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001111111111111000000000
+01100000000000010100001000001010
+01011000000000000000000000000000
+01100000000000010100011010101110
+00100000010000000011111110001101
+00100000001000000100001011001010
+00100000010000000110001111001011
+00100000001000000011001111011101
+01101000000000001100011100011110
+00100100001110100100010010010010
+01101000000000010100011010000010
+11000010100001100100001010110000
+01101000000000100100011011010011
+11000010100000000100000111010111
+11000010100000101100001010110000
+11000010100000011010111010101101
+00100000001000000011001110100111
+00100000001000000011111101110100
+00100000011000000000000000000000
+00100000010000000100001111000000
+00100000001000000110010110011010
+01000100111101001100000000011101
+00100000010000000100000111100111
+01101000000000100100011011010011
+11000010100000000100000111010111
+11000010100000011010111010101101
+01101000000000001100011100011110
+00100100001110100100010010010010
+01101000000000010100001000001000
+11000010100000111100000111110101
+11000010100000000011001110101001
+11000010100000001100000111101111
+11000010100000010100000111110010
+11000010100000011100000111110010
+00100000001000000100001010110000
+01011000000000000000000000000000
+01100000000001000100011010110111
+11100000101000100000000000000000
+01110000010001101011010000000000
+01110000010001101010011100000000
+01110000010000011110001000000000
+01110000010001000010100100000000
+00100000011000000000000000000000
+11000010100000101100000111110010
+11000010100000011100000111110010
+00100000001000000100001010110000
+01101000000000010100011010000010
+11000010100001100100001010110000
+00100000001000000011001110100111
+00100000010000000100000111000001
+01101000000000010100001000001000
+11000010100000000011001110101001
+00100000001000000011001110100111
+00100000010000000100001111010110
+00100000010000000100001001000011
+00100000010000000100001001000110
+00100000010000000100001001010000
+00100000010000000100010001011101
+00100000010000000100010001000011
+00100000010000000100001100110011
+00100000010000000100001110100101
+00100000010000000100001111101011
+00100000010000000100001000001001
+00100000010000000100001000110001
+00100000010000000100001000110100
+00100000010000000100001000110111
+00100000010000000100001000111010
+00100000010000000100001000111101
+00100000001000000100001001000000
+01101000000000001100011100010001
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011100010001
+00100100011110100000000000000000
+00100000001000000100001000001111
+01101000000000001100011100010010
+11000001000000000000000000000000
+11000000000000101100001000010110
+00100000010000000100001000100101
+01110000010001110001001000000101
+01110000010001110001000100000101
+00100000011000000000000000000000
+00100000010000000100001000101100
+01110000010001110001001000000100
+01110000010001110001000100000101
+00100000011000000000000000000000
+01011000000000001000000000000110
+00100000010000000110010000010011
+00100000000000000000001111101000
+01110000010001110001000100000000
+01110000010001110001001000000000
+00100000001000000100000011100000
+01011000000000001010000000000110
+00100000010000000110010000010011
+01011000000000001010000000000101
+00100000001000000110010000010011
+01110000010001110001000100000000
+01101000000000001100011011100000
+11000000000000100100001000100000
+01011000000000000000000100000110
+00100000010000000110010000010011
+01011000000000001010000100000101
+00100000001000000110010000010011
+01110000010001110001000100000000
+01011000000000000000100100000110
+00100000001000000110010000010011
+01110000010001110001000100000101
+01110000010001110001001000000001
+00100000011000000000000000000000
+11011010011000000100011010000000
+11011010010000000100001010011011
+00100000001000000011001101101101
+11011010011000000100011010101100
+11011010010000000100001001100100
+00100000001000000011001101110100
+11011010011000000100011010101110
+11011010010000000100001001100110
+00100000001000000011001101110100
+11011010011000000100011010110000
+11011010010000000100001001101010
+00100000001000000011001101110100
+11011010011000000100011011000100
+11011010010000000100010001111000
+00100000001000000011001101101101
+11011010011000000100011011000110
+11011010010000000100001001011110
+00100000001000000011001101101101
+11011010011000000100011100000100
+11011010010000000100001001001001
+00100000001000000011001101101101
+11011010011000000100011100000111
+11011010010000000100001001001001
+00100000001000000011001101110100
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000010111000000000000000
+01110000010001101101111100001010
+01101000000000001100011011110100
+01100000000000001100011100010101
+00100000011000000000000000000000
+11011010011000000100011011011111
+11011010010000000100001001010011
+00100000001000000011001101101101
+01101000000000001100011011110100
+01100000000000001100011100010101
+01011000000000000000000110010000
+01100000000000010100011100010110
+01100000000000010100011100011000
+11011010001000000000000000000000
+01101000000010001100011101111010
+00011000010000001000010000000001
+01100000000010001100011100010100
+01110000010001110001001100000001
+00100000011000000000000000000000
+01101000000000001100011011000101
+11000011100000010000000000000000
+01110000000010101001100100010010
+00100000010000000111110110001111
+11011000111000000000000000000000
+00100000001000000100000110111001
+00100000010000000100001011001010
+00100000001000000011010000001010
+00100000010000000011001111110110
+01101000000000001100011100011110
+00100100001110100100010010010010
+00100000001000000011010000001010
+11000101000100110111111000011101
+00100000001000000100001110000110
+01000100111101010100000000011101
+01110000010001101011010000000000
+00100000010000000100001110000110
+00100000010000000100000111000001
+00100000001000000100001010110000
+01101000000000110100000111010000
+00100000001110100011001111101011
+00100000010000000100001001111110
+01110000000000010110110100010111
+01101000000000001100011001011010
+00100100001110100011001111100001
+01110000000000010110110100000100
+00100000001000000011001111100001
+01101000000000010100011010101000
+01100000000000010100011010101110
+00100000010000000100001001111110
+00100000010000000011010000011000
+00100000001000000111110111110100
+01011000000000000000000011001000
+01100000000000010100011100010110
+01100000000000010100011100011000
+00100000001000000100001010000101
+01011000000000000000001111101000
+01100000000000010100011100010110
+01100000000000010100011100011000
+01101000000000001100011100100000
+11000000000000001100001010001010
+11000000000000010100001010001100
+11000000000000011100001010001110
+00100000011000000000000000000000
+01101000000000001100011011110000
+00100000001000000100001010001111
+01101000000000001100011011110001
+00100000001000000100001010001111
+01101000000000001100011011110010
+01100000000000001000101010100010
+00100000010000000100010010000010
+01101000000000001000101010100010
+01100000000000001100011100010101
+11011010001000000000000000000000
+01110000010001110001001100000001
+00100000001000000111110100011110
+11011010001000000000000000000000
+00100000001000000111110100011001
+11011010001000000000000000000000
+00100000001000000111110100010100
+00100000001000000100000111000001
+01110000010000011110001000000001
+00100000010000000011010000010110
+00100000010000000011010000010010
+01011000000000000000000000000000
+01100000000000010100011001111110
+01100000000000001100011010000000
+00100000001000000011010000001110
+00100000010000000100001101011111
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000001000101100001010101011
+01101000000000001100001000010000
+11000000000110011100001001110001
+11000000000110100100001001111001
+00100000001000000100001010110000
+00100000010000000011110101010111
+11000110000100110000000000000000
+01101000000000001100011100011110
+00100100001110100100010010010010
+00100000011000000000000000000000
+01000100111101011100000000011101
+01101000000000010100011010000010
+11000010100001011100001010110111
+01101000000000100100011011010011
+11000011000011000100001010110111
+00011000000010100111111000000000
+01100000000000001100010010100001
+00100000010000000011010000011000
+01101000000000010100011010000111
+01100000000000010100011010101100
+01110000000000010110110100000110
+01011000000000000000000000000000
+01100000000000010100011010110000
+01100000000000010100011010101110
+11011000111000000000000000000111
+00100000010000000100001111001110
+00100000010000000100001111001010
+01101000000000001100000010010010
+00101111111011111111111000000001
+00100000010000001111110111110100
+01101000000000001100000010010010
+00101111111011111111111000000000
+00100000010000001111110111011101
+01101000000000100100011011010011
+11000010100011100100001000101110
+00100000001000000100001010000010
+01000100111101100100000000011101
+01101000000000001100000010010010
+00101111111011111111111000000001
+00100000010000001100001011010100
+01101000000000001100000010010010
+00101111111011111111111000000000
+00100000010000001100001011010111
+01101000000000100100011011010011
+11000010100011100100001000011010
+00100000001000000100010010000010
+01011000000000000000000000000000
+01100000000000010100011010101110
+00100000001000000111110111111010
+01011000000000000000000000000000
+01100000000000010100011010101100
+00100000001000000111110111100010
+01101000000000100100011011010011
+11000100000000111000000000000000
+11011000111000000000000000000111
+00100000010000000100001111010010
+00100000010000000100001011101000
+00100000010000000100001011111011
+01101000000000100100011011010011
+11000010100010011100010000110101
+11000010100010100100001011100100
+00100000011000000000000000000000
+11011000010000000000000001011000
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000001000000110010111010001
+01101000000000001000000110000101
+11000000000110100100001011101100
+11000000000110011100001011101111
+00100000011000000000000000000000
+01100000000000001100011011000111
+01101000000000110000010001001111
+00100000001000000100001011110001
+01100000000000001100011011000111
+01101000000000110000000001000000
+01100000000000110100011011001000
+01101000000000111100011011000111
+11011000110000000100011100100001
+11011111001000000000000000000011
+11101000110010111000000000000000
+10011000010001100111110000000000
+00100000001000101100001100010000
+00011000110000001000110000010110
+11000010000000000100001011110101
+00100000011000000000000000000000
+11011010001000000100011100100001
+01101000000000001100011100100000
+00011111111000001111111111111111
+00011111111011111111111000011101
+10011010001000001010001000000000
+01101000000000001000000110000101
+11100010001000001000000000000000
+11000000000110100100001100000101
+11000000000110011100001100001100
+00100000011000000000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+11011000110000000100010000011001
+00100000010000000111111010111111
+01101000000000110100010010100000
+11100000101000110000000000000000
+00100000011000000000000000000000
+01101000000000110000000001000000
+11100000101000110000000000000000
+11011000110000000100000110111110
+00100000001000000111111010111111
+00011000110000001000110111111010
+00011000110000100000101000000000
+01101000000010110100011011001000
+00011000010000001000010000000011
+11100000101010110000000000000000
+00100000011000000000000000000000
+11011000010000000000000001011000
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000010000000110010111011111
+11011010001000000100011100100001
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000011000101000000000000000
+00011111111000001111111111111111
+00011111111011111111111000011101
+10011010001000001010001000000000
+11101010001000001000000000000000
+01100000000000001100001000010000
+11000000000110011100001100100111
+11000000000110100100001100101100
+00100000011000000000000000000000
+11101000110000110000000000000000
+01100000000000110100000111010000
+11011000101000000100000110111110
+00100000010000000111111010111111
+00100000001000000110011111010111
+11101000110000110000000000000000
+01100000000000110100000111010000
+11011000101000000100010000011001
+00100000010000000111111010111111
+11101000110000110000000000000000
+01100000000000110100010010100000
+00100000011000000000000000000000
+01101000000000001100011011110101
+11000010100000101100001101001001
+11000010100000110100001101011001
+00100000001000000100001100110111
+00100000010000000100000010000011
+11000000000000110100001100111110
+01110000010001101101100000011110
+01101000000000001100011011011001
+11000001000000001000000000000000
+01110000010001101101100100000001
+00100000011000000000000000000000
+00100000010000000100001101000011
+01101000000000001100011011011001
+11000001000000000000000000000000
+01110000010001101101100100000000
+00100000001000000100001111000000
+01101000000000001100011011011000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011011011000
+00100100011110100000000000000000
+00100000001000000100001101110000
+01101000000000001100011011101101
+11000001011111111000000000000000
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001100001101010100
+01101000000000001100011011011001
+11000001000000001000000000000000
+01110000010001101101100100000001
+01101000000000100100011011010011
+11000011100000110000000000000000
+00100000001000000100001101110000
+01101000000000001100011011011001
+11000001000000000000000000000000
+01110000010001101101100100000000
+11011000111000000000000000000110
+00100000001000000100001111010010
+01101000000000001000000000000100
+11000100000000110000000000000000
+01101000000000001100011100100000
+11000000000000001100001101101001
+11000000000000010100001101101100
+00100000011000000000000000000000
+01101000000000001000000000000100
+11000100000000110000000000000000
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001100001101100110
+01110000010001110010000000000001
+00100000011000000000000000000000
+01101000000000001100011100000011
+01100000000000001100011100100000
+00100000011000000000000000000000
+01101000000010001100011011101101
+00100100001000001100001101110000
+00100000011000000000000000000000
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001100001101010100
+00100000011000000000000000000000
+01101000000010001100011100100000
+00011000010000001000010000000001
+01101000000000001100011011010010
+10011000010001100111110000000000
+00100100010000010100001111001100
+01100000000010001100011100100000
+01110000010000011011110100000000
+00100000010000000100001101111010
+00100000010000000100001111000000
+00100000001000000100001101111110
+11011000010000000000000000000001
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000001000000110011000000110
+00100000010000000100001110000001
+00100000010000000100001111000010
+00100000001000000100000111010111
+01101000000000010100011010000010
+11000010100000111100001110010010
+11000010100001001011010000000010
+11000010100000000011001111101001
+00100000001000000100001011001010
+01000100111101101100000000011101
+01011000000000000000000000000000
+01100000000000010100011010110000
+01101000000000010100011010000010
+11000010100001001011010000000010
+01101000000000010100011010000010
+11000010100000000011001111101001
+00100000011000000000000000000000
+01011000000000000000000000000001
+01100000000000110000000001000000
+01110000000000011000010100110011
+00100000001000000100001011011111
+00100000010000000100001111000100
+00100000001000000111111000101111
+01101000000000001100011011101100
+11000001011111111000000000000000
+01101000000010001100011011101100
+00100000010000000110100000011101
+00100000001000001100001110011111
+01101000000000001100011010000101
+01100000000000001100011011011010
+01101000000000001100011011011011
+11000001000000001000000000000000
+01110000010001101101101100000001
+00100000001000000100001111001010
+00100000010000000100001110110101
+01101000000000001100011011011011
+11000001000000000000000000000000
+01110000010001101101101100000000
+00100000010000000111111000101111
+00100000001000000100001111001000
+01101000000000001100011011110101
+11000010100000100100001110010100
+00100000010000000100000010000011
+11000000000000111100001110101111
+01101000000000001100011010000101
+01100000000000001100011011011010
+01101000000000001100011011011011
+11000001000000001000000000000000
+01110000010001101101101100000001
+00100000001000000100001111001010
+00100000010000000100001110110101
+01101000000000001100011011011011
+11000001000000000000000000000000
+01110000010001101101101100000000
+00100000010000000111111000101111
+00100000001000000100001111001000
+11011010011000000100011011011010
+11011010010000000100001110111000
+00100000001000000011001101101101
+11011000111000000000000000000110
+00100000010000000100001111001110
+00100000010000000011001101010111
+00100000001000000100001001101100
+11011000111000000000000000000001
+00100000001000000100001111001110
+11011000111000000000000000000001
+00100000001000000100001111010010
+11011000111000000000000000000000
+00100000001000000100001111001110
+11011000111000000000000000000000
+00100000001000000100001111010010
+11011000111000000000000000000010
+00100000001000000100001111001110
+11011000111000000000000000000010
+00100000001000000100001111010010
+11011000111000000000000000000101
+00100000001000000100001111001110
+11011000111000000000000000000101
+00100000001000000100001111010010
+11011000010000000000000000000001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11111001001000000111111000000000
+01100000000000100100011011010011
+00100000011000000000000000000000
+01101000000000100100011011010011
+11111001001111111111111000000000
+01100000000000100100011011010011
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000011010000000000000000
+01101000000000001100011011001110
+00011111111000001111111000000001
+01100000000000001100011011001110
+00011111111001100111110000001010
+00100000011000010000000000000000
+01110000010001101100111000000000
+00100000010000000110100011101011
+00100000010000000110100100001000
+01100000000000010100011100001111
+11011010001000000100011100001001
+00100000010000000110100100110000
+01101000000000001100001000110001
+11000010100000001100010010100000
+11000011000000000100001111101001
+00100000001000000100001111100111
+11011000111000000000000000000100
+00100000001000000100001111001110
+11011000111000000000000000000100
+00100000001000000100001111010010
+01101000000000100100011011010011
+11000100000000100000000000000000
+01101000000000001100011011101111
+01100000000000001100011100010101
+01101000000000001100011011001111
+00011111111000001111111000000001
+01100000000000001100011011001111
+00011111111001100111110000010100
+00100100010000010100001111111001
+11000000000000010100001111111011
+11000000000000100100001111111110
+11000000000000110100001111111011
+11000000000001000100001111111110
+00100000011000000000000000000000
+01110000010001101100111100000001
+00100000001000000100001111111110
+11011010001000000000000000000000
+01110000010001110001001100000010
+00100000001000000111110100010100
+11011010001000000000000000000000
+01110000010001110001001100000010
+00100000001000000111110100011001
+00100000010000000011111110010111
+00100100011101000000000000000000
+11011010001000000000000000000111
+11011010010000000100011010011010
+00100000011000000000000000000000
+01101000000000001100011110001011
+00100000011110100000000000000000
+01101000000010001100011011100111
+00100000010000000110100000011101
+00100000010000001100010000010000
+01101000000000001100011100000100
+00100100011110100000000000000000
+00100000010000000100000010000011
+00100100011110100000000000000000
+00100000001000000010110110000011
+01101000000000001100011011100111
+11000001011111111000000000000000
+01110000010001110000010000001010
+00100000011000000000000000000000
+00100000010000000100010000100011
+01101000000000010100011101111000
+11011000010000001010101001010101
+10011000010001100111110000000000
+00100000001000101100010000101011
+01100000000010010100011101111000
+00100000010000000100010000011100
+00100000001000000100010000110101
+01101000000000110100010010100000
+01100000000000110100011100111000
+00011111111000001111111100000000
+01100000000000110100011101010101
+00011111111000001111111100000000
+01100000000000110100011101110010
+00100000011000000000000000000000
+01011000000000000100011101111000
+11011000010000000100011100100000
+10011000010001100000010000000000
+01101000000000011100011100000000
+10011000010000001111111000000000
+11011000010000000000000000000010
+11011010001000000100011101111000
+00100000001000000110010101100010
+01011000000000000100011101111111
+11011000010000000100011100100000
+10011000010001100000010000000000
+01101000000000011100011100000000
+11011010001000000100011100100000
+00100000010000000110010101100010
+00100000010000000100001100011010
+01101000000000100100011101111011
+00100000010000000010110001111010
+00100000001000000011001000101100
+01011000000000000100011101111111
+11011000010000000100011100100000
+10011000010001100000010000000000
+11011010001000000100011100100000
+01101000000000011100011100000000
+00100000001000000110010100010100
+11011000010000000000000000000001
+11011010001000000100011101111010
+11011010010000000000000001011010
+00100000001000000110010111010001
+11011000010000000000000000000001
+11011010001000000100011101111010
+11011010010000000000000001011010
+00100000001000000110010111011111
+11000110000100110000000000000000
+01101000000000100100011011010011
+11000100000010110000000000000000
+01101000000000001100011100000101
+00011111111000001111111000000001
+00011111111000010111111000000111
+01100000000000001100011100000101
+11000001100000111000000000000000
+01101000000000010100011010000010
+11000010100000000100010001001111
+11000010100001001100010001001111
+00100000011000000000000000000000
+01000100111101110100000000011101
+01101000000000001100011100000110
+00100100011110100000000000000000
+01101000000000100100011011010011
+11000100000001000000000000000000
+01101000000000001100011010100101
+00100000010000000110001111111011
+01100000000000001100011010100110
+00011111111001100111110000010000
+00100000001000010100010001011011
+01110000010001110000011000000000
+00100000011000000000000000000000
+01110000010001110000011000011110
+00100000011000000000000000000000
+11011010011000000100011100000110
+11011010010000000100010001100000
+00100000001000000011001101101101
+01101000000000001100011010100101
+00100000010000000110010000010100
+00011111111001100111110000010000
+00100100011000010000000000000000
+01101000000000100100011011010011
+11000100000001000000000000000000
+11011000111000000000000000001000
+00100000010000000100001111010010
+01110000010000010111001000000000
+01110000010001101100010000011110
+00100000010000000100010010000010
+01101000000000100100011011010011
+11000010100010101100010001110001
+01101000000000001100011100100000
+11000000000000001100010010001001
+11000000000000010100010001110110
+00100000011000000000000000000000
+01101000000000001100011100100000
+11000000000000001100010010001001
+11000000000000010100010010001100
+11000000000000011100010010001111
+00100000011000000000000000000000
+01101000000000001100011011110000
+00100000001000000100001010001111
+01110000010000010111001000100000
+00100000001000000100010010000010
+01101000000000001100011011110000
+11000001011111111000000000000000
+01100000000000001100011100010101
+00100000001000000100001010010110
+01101000000000001100011011110001
+11000001011111111000000000000000
+01100000000000001100011100010101
+00100000001000000100001010010110
+00100000010000000100001010010110
+00100000010000000100010001111010
+00100000010000000100010001111110
+01101000000000001100011011110010
+11000001011111111000000000000000
+01100000000000001100011100010101
+00100000001000000100001010010110
+01101000000000001100011011110000
+01100000000000001100011100010101
+00100000001000000100001010011000
+01101000000000001100011011110001
+01100000000000001100011100010101
+00100000001000000100001010011000
+01101000000000001100011011110010
+01100000000000001100011100010101
+00100000001000000100001010011000
+01000100111101111100000000011101
+01101000000000001100011100011110
+00011111111000001111111111111111
+01100000000000001100011100011110
+01101000000010001100011100100000
+00011000010000001000010000000001
+01101000000000001100011011010010
+10011000010001100111110000000000
+00100100010000010100001111001100
+01100000000010001100011100100000
+01110000010000011011110100000000
+00100000010000000100001101111010
+00100000010000000100001011111011
+00100000001000000100001010100010
+00100000010000000100010010000010
+01011000000000000000000000000000
+01100000000001000000000010100001
+00100000001000000010101100011111
+00100000011101011000000000000000
+01101000000100001000000010000001
+00011111111000010111111011110000
+01100000000100001000000010000001
+00100000010000000110100101001000
+01011000000000000100010011100110
+01100000000000010100000111101011
+01011000000000000100010011101001
+01100000000000010100000111101101
+01011000000000000100010011101111
+01100000000000010100000111110011
+01011000000000000100010011110010
+01100000000000010100000111110101
+01011000000000000011001111010000
+01100000000000010100000111101001
+00100000010000000010110001111010
+01011000000000000100010111000010
+00011010011000001000101011011000
+11100000101000010000000000000000
+01011000000000000100010011101010
+00011010011000001000101011011010
+11100000101000010000000000000000
+01011000000000000100010011101001
+00011010011000001000101011011100
+11100000101000010000000000000000
+01011000000000000100010100001110
+01100000000000010100000111111101
+01011000000000000100010011011010
+01100000000000010100011101011011
+01011000000000000100010011010110
+01100000000000010100011101011111
+01011000000000000100010101100000
+01100000000000010100011100001111
+01000100111110000100000000011110
+00100000010000000100010011100010
+00100000010000000111111000111000
+01110000010000010111001000000010
+01101000000000001100011100101011
+01100000000000001100011010011010
+11000000000000000100010011010101
+01101000000000001100011100101100
+01100000000000001100011010000110
+00100000010000000100010011011011
+00100000010000000111110011010011
+00100000010000000111110011011101
+01110000010001110101011100000001
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+01110000010001110101011100000010
+00100000010000000100010011011011
+11011010001000000000000000000000
+00100000010000000111110100011110
+00100000001000000010111011100100
+00100000001000000100010011011011
+01000100111110001100000000011110
+01101000000000001100011100101001
+11000000111111111100010011100000
+01101000000010001100011100000110
+00100000001000000110100000001110
+01100000000000001100011100000110
+00100000001000000100010011011110
+00100000010000000010110010011101
+01101000000000010100011101010011
+01100000000000010100011101010101
+00100000001000000100010100010101
+00100000010000000110100000110101
+00100000010000000100010011101001
+00100000001000000011010000001010
+00100000001000000110100101101100
+01101000000000001100011101100101
+00100000011110100000000000000000
+00100000001000000010110110000011
+00100000011000000000000000000000
+00100000001000000110100101111000
+00100000010000000100010101000100
+00100000010000000100010100000011
+00100000001000000100010011101110
+00011010011000100111111000000000
+11000000000101101011010000110001
+11000000000010000011010000011010
+11000000000111001100010011111011
+11000000000111100100010011111111
+11000000000111010100010011111001
+00100000011000000000000000000000
+01110000010001110110010100000001
+00100000011000000000000000000000
+01110000010001110110010100000001
+01110000010001110110001100000001
+01110000010001110110010000000001
+00100000011000000000000000000000
+01110000010001110110010100000001
+01110000010001110110001100000001
+01110000010001110110010000000001
+00100000011000000000000000000000
+01101000000000001100011101100011
+11000001000000000000000000000000
+01101000000000001100011101100010
+11000001000000001000000000000000
+01110000010001110110001000000001
+11011010001000000000000000000000
+00100000001000000111110100011001
+11011010001000000000000000000000
+00100000010000000111110100011001
+00100000010000000100010011011011
+00100000001000000011010000001010
+00100000010000000011001101111011
+00100000001000000100010100010000
+01101000000000001100011100101101
+00100000011110100000000000000000
+11011010011000000100011101010101
+11011010010000000100010100001010
+00100000001000000011001101110100
+00100000010000000100010100011010
+01100000000010010100011100011010
+00100000010000000100010100011111
+01100000000010010100011100011100
+00100000011000000000000000000000
+01101000000000010100011100011010
+01100000000000010100011100011110
+00100000010000000100010101000000
+00100000010000000100010100100101
+01100000000000001100011100100100
+01101000000000010100011100011100
+01100000000000010100011100011110
+00100000010000000100010101000010
+00100000010000000100010100100101
+01100000000000001100011100100101
+00100000011000000000000000000000
+01101000000000010100011100100000
+00011111111000100010001000000000
+01101000000000010100011100011110
+00100000010000000100010100101110
+01101000000000001100011100011001
+00100100001110100100010100110111
+00100100011000010000000000000000
+01101000000010010100011100011110
+00100000011000000000000000000000
+10011000010001100111111000000000
+00100000001000010100010100110100
+00011111111001100111111000000000
+01110000010001110001100000000001
+10011010001001100111110000000000
+00100000011000000000000000000000
+01110000010001110001100000000000
+10011010001001100111110000000000
+00100000011000000000000000000000
+00100100001000010100010100111110
+01101000000000001100011100011000
+00100100001110100100010100111100
+01011000000000000000000000000001
+00100000011000000000000000000000
+01011000000000000000000000000010
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+01110000010000100010111000110011
+00100000001000000110100011101011
+01110000010000100010111000110100
+00100000001000000110100011101011
+01101000000000001100011100101010
+11000001100000001000000000000000
+01000100111110010100000000011110
+01110000010001110001100100000001
+00100000010000000100010100011010
+01101000000000010100011100100100
+01101000000010010100011100100010
+10011000010001100111110000000000
+00100000011000101000000000000000
+01100000000000010100011100100010
+00100000010000000100010101010000
+00100000001000000100010101010100
+01101000000000001100011100100100
+00100000001110100100010101011010
+00011111111000001111111111111111
+00100000001000000100010101010111
+01101000000000001100011100100101
+00100000001110100100010101011101
+00011111111000001111111000000001
+00011111111000100000111000000000
+11011010001000000000000000000001
+00100000001000000100010101100000
+11011000111000000000000000000000
+11011010001000000000000000000000
+00100000001000000100010101100000
+11011000111000000000000000000010
+11011010001000000000000000000000
+00100000001000000100010101100000
+00011010001000100111111000000000
+01100000000000001100011101100001
+01101000000000001100011101100011
+11000000000000000010111011100100
+01101000000000010100011101010011
+01100000000000010100011101010101
+01101000000000001100011101100001
+00100000001110100100010110000000
+01000100111110011100000000011110
+11011010001000000000000000000000
+00100000010000000111110100010100
+00011000111000100111111000000000
+11000000000000100100010110100011
+11000000000000101100010110100101
+11000000000000110100010110100111
+00100000010000000100010110001011
+11000000000000000100010101110100
+11000000000000010100010101111010
+11000000000000011100010101110100
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000100010110001111
+11000000000000001100010110010001
+11000000000000010100010110010011
+11000000000000011100010110010101
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000100010110010111
+11000000000000001100010110011010
+11000000000000010100010110011101
+11000000000000011100010110100000
+00100000011000000000000000000000
+01000100111110100100000000011110
+11011010001000000000000000000000
+00100000010000000111110100011001
+00011000111000100111111000000000
+11000000000000100100010110111100
+11000000000000101100010110111100
+00100000010000000100010110001011
+11000000000000000100010110101001
+11000000000000010100010110101111
+11000000000000011100010110101001
+00100000011000000000000000000000
+01101000000000001100011100101000
+01101000000010001100011100100111
+10011000010000011111111000000000
+00100000011000000000000000000000
+01110000010001110011010000000001
+00100000001000000100010110111110
+01110000010001110011010000000010
+00100000001000000100010110111110
+01110000010001110011011000000001
+00100000001000000100010110111110
+01110000010001110011011000000010
+00100000001000000100010110111110
+01110000010001110011010000000001
+01110000010001110011011000000001
+00100000001000000100010110111110
+01110000010001110011010000000010
+01110000010001110011011000000010
+00100000001000000100010110111110
+01110000010001110011010000000010
+01110000010001110011011000000001
+00100000001000000100010110111110
+01110000010001110011010000000001
+01110000010001110011011000000010
+00100000001000000100010110111110
+01110000010001110011100000000001
+00100000001000000100010110111110
+01110000010001110011100000000010
+00100000001000000100010110111110
+01110000010001110100000100000001
+00100000001000000100010111000000
+00011000111000100111111000000000
+11000000000000000100010110110101
+11000000000000001100010110110101
+11000000000000010100010110110111
+11000000000000011100010110110111
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000100010110111001
+11000000000000001100010110111001
+11000000000000010100010110111001
+11000000000000011100010110111001
+00100000011000000000000000000000
+01110000010001110011010000000000
+00100000001000000100010110111110
+01110000010001110011011000000000
+00100000001000000100010110111110
+01110000010001110011010000000000
+01110000010001110011011000000000
+00100000001000000100010110111110
+01110000010001110011100000000000
+00100000001000000100010110111110
+11011010001000000100011100101110
+00100000001000000111111000111101
+11011010001000000100011100111011
+00100000001000000111111000111101
+01101000000000001100011101100100
+11000000000000001100010111001100
+11011010001000000100011101000100
+00100000010000000111111001010100
+00100100001101000100010111010001
+11011000110000000100011101000100
+11101000110000001000000000000000
+00011111111000100010001000000000
+11011010010000000100011101000101
+00100000011000000000000000000000
+01110000010001110110010000000000
+01111000001101000111110000000000
+11011010001000000000000000000001
+11011010010000000100011101100110
+00100000011000000000000000000000
+01101000000000001100011101000111
+11000000000000100100010111010101
+11000000000000101100010111010101
+00100000011000000000000000000000
+01101000000000001100011101001010
+00100100001110100100010111011100
+01101000000000001100011101001100
+00100100001110100100010111011100
+01101000000000001100011101001110
+00100100001110100100010111011100
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000100010111000111
+00100000011101011000000000000000
+01101000000100001000000010000001
+00011111111000010111111011111100
+01100000000100001000000010000001
+01011000000000000100011010110100
+01100000000000010100000111101011
+01011000000000000100011010110011
+01100000000000010100000111101101
+01011000000000000011010000001010
+01100000000000010100000111110111
+01011000000000000100011010110001
+01100000000000010100000111110011
+01011000000000000100011000010010
+01100000000000010100000111110101
+01011000000000000100011000001100
+01100000000000010100000111101001
+01011000000000000100011101101010
+01100000000000010100000111111001
+01011000000000000100011010000110
+01100000000000010100000111111101
+01011000000000000100011100101001
+01100000000000010100011011100111
+01011000000000000100100000000110
+01100000000000010100011011100010
+01011000000000000100100000000111
+01100000000000010100011011100100
+00100000010000000101011110100011
+00100000010000000100011111011010
+00100000010000000100011110001000
+00100000010000000100011101101101
+00100000010000000110100101001000
+00100000010000000100011101111010
+00100000010000000111111000111000
+00100000010000000111110100001000
+00100000010000000100011110010011
+00100000010000000100011111000111
+01000100111110101100000000011110
+00100000010000000100011001001111
+01101000000000001100011011011101
+11000000000000000100011000001001
+01101000000000001100011011011110
+01100000000000001100011010000110
+00100000001000000100100000001110
+01110000010001101000011011111111
+01110000010001101101111100000001
+00100000001000000100011011011001
+01101000000000001100011011011111
+11000000000000010011001111010000
+00100000010000000101001001111110
+01101000000000001100001001010110
+00100100001110100011001111010000
+00100000001000000011001111010010
+00011010011000100111111000000000
+11000000000000001100011000100110
+11000000000000010100011000101001
+11000000000000100100011000110001
+11000000000000101100011000110011
+11000000000000110100011000110101
+11000000000000111100011000111000
+11000000000010010100011000111100
+11000000000010011100011001000100
+11000000000100111100011001000101
+11000000000101110100011001001000
+11000000000111101100011001001001
+11000000000010100100011001011000
+11000000000010101100011001011100
+11000000000111111100011001011111
+11000000001000000100011001100101
+11000000000010000100011001101011
+11000000000101100100011001101100
+11000000000101101100011001110111
+00100000011000000000000000000000
+01110000010001101010110100000000
+01110000010001101010110000000000
+00100000011000000000000000000000
+00100000010000000100011000101011
+00100000001000000100011000110001
+01110000010000011110001000000000
+01110000010001101000000000000000
+01110000010000100000010100000000
+01110000010001101010110000000000
+01110000010001101010110100000000
+00100000001000000111111000111000
+00100000010000000011001110101001
+00100000001000000100011011000010
+00100000010000000100011010110110
+00100000001000000011010000001000
+01011000000000000000000000000010
+01100000000000001100011010000000
+00100000011000000000000000000000
+01110000010001101010110000000000
+01011000000000000000000000000001
+01100000000000001100011010101101
+00100000011000000000000000000000
+01101000000000001100000111100010
+11000001000000001000000000000000
+01110000010000011110001000000001
+00100000010000000011010000010110
+00100000010000000011010000010100
+00100000010000000100011010110110
+00100000010000000011010000001000
+00100000001000000011010000001110
+00100000001000000100011000110001
+01011000000000000000000000000101
+01100000000000001100011010101100
+00100000011000000000000000000000
+00100000001000000011001111001101
+11011010010000000000000000000000
+01101000000000001100001000010111
+00011111111011111000010000100010
+01101000000000010100001000010101
+00011111111000100010001000000000
+00100000001000000110011000000110
+11011010010000000000000000000000
+01101000000000001100011010011010
+11000100000000001000000000000000
+01101000000000001100001000010111
+00100000011110100000000000000000
+00011111111011111000010000100010
+01101000000000010100001000010101
+00011111111000100010001000000000
+00100000001000000110010111011111
+00100000010000000100011010110110
+01011000000000000000000000000000
+01100000000000010100011010110111
+00100000001000000011010000001000
+00100000010000000111111000111000
+01110000010001101011000000000000
+00100000001000000100011011011001
+00100000010000000111111000111000
+01110000010001101011000000000001
+01101000000001000100011011000001
+01100000000001000100010010010110
+00100000010000000011010000010110
+00100000001000000101101010111111
+01101000000000010100010100001001
+11000001000000000000000000000000
+01101000000001000100011011001001
+00100000011110100000000000000000
+01100000000001000100010010010110
+00100000001000000101101010111111
+00100000001000000100100000011111
+01101000000000001100011011011101
+11000001000000000000000000000000
+01101000000000001100011011011111
+11000001100000001000000000000000
+00100000010000000100011001110010
+00100000001000000011010000000110
+01110000010010001101111100000001
+11011111001000000000000000001011
+11011000101000000100100011100000
+11011000110000000100100011001001
+00100000001000000111111100000001
+01101000000000001100011011011101
+11000001000000000000000000000000
+01101000000000001100011011011111
+11000000000000001100011001111100
+00100000001000000100100000011011
+01101000000000001100100011011111
+11000001100000001000000000000000
+01110000010010001101111100000000
+01101000000000010100011010000010
+11000010100000000011010000001000
+11000010100001001011010000001000
+11011111001000000000000000001011
+11011000110000000100100011100000
+11011000101000000100100011001001
+00100000001000000111111100000001
+00100000010000000100011010001100
+00100000010000000100011010010011
+00100000010000000100011010011110
+00100000010000000100011010100110
+00100000010000000100011010101001
+00100000001000000100011010101100
+11011010011000000100011011011011
+11011010010000000100011010001111
+00100000001000000011001101110100
+01110000010001101101111100000010
+00100000010000000011010000001000
+00100000010000000100011011110100
+00100000001000000100100000001011
+11011010011000000100100011101100
+11011010010000000100011010010110
+00100000001000000011001101101101
+01101000000000010100011010000010
+11000010100001001100100000001011
+11000010100000000100100000001011
+01101000000000001100100011001001
+11000000000000001100100000001011
+11000000000000100100100000001011
+11000000000000101100100000001011
+00100000001000000011010000001010
+11011010011000000100011010101100
+11011010010000000100011010100001
+00100000001000000011001101101101
+01101000000000001000001001111111
+01111001001000000111111000000000
+01111001001000000111111000000111
+01100000000000001000001001111111
+00100000011000000000000000000000
+11011010011000000100011010000000
+11011010010000000100011000111100
+00100000001000000011001101101101
+11011010011000000100011010101101
+11011010010000000011001111101001
+00100000001000000011001101101101
+01101000000000001100011011011111
+11000001100000001000000000000000
+11011010011000000100011010110111
+11011010010000000100011011000010
+00100000001000000011001101110100
+00100000010000000100011100111010
+00100000001000000110100101111000
+00100000001000000110100101101100
+00100000010000000110100000110101
+00100000001000000100011010110011
+01101000000000001100011010011010
+11000010100000001100011010111110
+11000010100000000100011010111010
+00100000011000000000000000000000
+01101000000000010100011011010111
+01100000000000010100011011011001
+01100000000000010100011011011011
+00100000001000000011001111111000
+01101000000000010100011011010011
+01100000000000010100011011011001
+01100000000000010100011011011011
+00100000001000000011001111110000
+01101000000000001100011011011111
+11000001100000001000000000000000
+01101000000000001100011010011010
+11000010100000001100011011001000
+11000010100000000100011011001100
+00100000011000000000000000000000
+01101000000000010100011011010001
+01100000000000010100011011011001
+01100000000000010100011011011011
+00100000001000000011001111101011
+01101000000000010100011010000010
+11000011100001001000000000000000
+01101000000000010100011011010101
+01100000000000010100011011011001
+01100000000000010100011011011011
+01101000000000010100011010110011
+00100000010000000100011011110000
+00100000010000000011010000000100
+01101000000000100100011010111101
+01100000000000100100100011001100
+01101000000000010100011010000010
+11000011100001011000000000000000
+00100000001000000011001111111010
+01101000000000001100011011011111
+11000001100000001000000000000000
+01101000000000001100011010011010
+11000010100000001100011011011111
+11000010100000000100011011100100
+00100000011000000000000000000000
+00100000010000000100011011111000
+00100000001110100100011011000010
+00100000010000000011010000000110
+00100000010000000011001111110000
+00100000001000000011001111100001
+01101000000000010100011010110111
+01101000000010010100011010110101
+01100000000010010100011010110111
+00100100011110100000000000000000
+01101000000000010100011010110001
+00100000010000000100011011110000
+00100000010000000011010000000100
+01101000000000100100011010111001
+01100000000000100100100011001100
+01101000000000010100011010000010
+11000011100001011000000000000000
+00100000001000000011001111111010
+01100000000000010100000101010100
+00011111111000001111111111111100
+01100000000000010100010010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000010100001001011010000000010
+11000010100000000011001111101001
+00100000001000000100011010110110
+01101000000000001100001000010111
+00011111111000100111001000000000
+01101000000000010100001000010101
+00011111111000100010001000000000
+11101010001000010000000000000000
+11000000000000000100011100000001
+00011010001000001010001000100010
+11000010000000000100011011111100
+00100000001000000111111111110001
+11101000110000110000000000000000
+01100000000000110100000111010000
+00011000110000001000110000001010
+11011000101000000100000110111110
+00100000010000000111111010111111
+00100000010000000110011111010111
+00100000001000000111111111101111
+00100000010000000111111111101001
+01101000000000010100011010000010
+11000010100000000100011100001101
+11000010100001001100011100010000
+00100000011000000000000000000000
+01101000000000001100001001010011
+11000001100111111000000000000000
+00100000001000000111111111100111
+01101000000000001100011010110000
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000111111111101001
+01101000000000010100011010000010
+11000011100000000000000000000000
+11000011100001001000000000000000
+00100000001000000111111111100111
+01101000000000001100011010011010
+11000010100000001100011100011100
+11000010100000000100011100011111
+00100000011000000000000000000000
+01101000000000001100000010010011
+11000001100000011000000000000000
+00100000001000000100011011011001
+00100000001000000100011011011001
+01111000010101100111110000000000
+01101000000000010100011011011001
+01100000000000010100011011011011
+00100000010000000100011100010011
+00100000001101000100011100011000
+00100000010000000100011100001000
+00100100011101000000000000000000
+01111000001101100111110000000000
+00100000011000000000000000000000
+00100000010000000100011100100000
+00100100011101100000000000000000
+00011010001000100111111000000000
+00100000001110100100011100110000
+00100000010000000011010000000110
+11011010011000000100011011110001
+00100000001000000100011100110010
+00100000010000000011010000001000
+11011010011000000100011100011001
+11011111111000000000000000000101
+10011000111011111111111000000000
+10011010011000001010011000000000
+11101010011000001000000000000000
+00100000011110100000000000000000
+00100000010000000100011101100010
+00011010011000001010011000000001
+00100000001000000100011100110101
+01101000000000010100011010000010
+11000010100001001100011100111110
+11000010100000000100011101001110
+00100000011000000000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+00100000010000000100011101100101
+00100100011101000000000000000000
+00011111111000001111111111111111
+00011111111011111111111000000101
+11011000010000000100011101000001
+10011000010000001000110000000000
+11101000110000001000000000000000
+00011111111000100010001000000000
+11101000110010010000000000000000
+00100000010000000111111010100101
+00100000010000000101101001100100
+00011010001000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111100000001
+00100000010000000101001001110001
+00100100011110100000000000000000
+00100000010000000100011101100101
+00100100011101000000000000000000
+00011111111000001111111111111111
+00011111111011111111111000000101
+11011000010000000100011110100000
+10011000010000001000110000000000
+11101000110000101000000000000000
+01100000000000101100011110011011
+01101000000000001100011110011011
+00011111111000100010001000000000
+00100000010000000100110101100011
+01101000000000010100001001001110
+11100000101000010000000000000000
+01011000000000000000000010100001
+11100000101000001000000000000000
+01101000000000100100011110011100
+11100000101001001000000000000000
+00100000011000000000000000000000
+01100000000000001000101010011010
+11011010001000000000101010011010
+00100000001000000111111000111101
+11011010001000000000101010011010
+00100000010000000111111001010100
+00100100011101000000000000000000
+01101000000000001000101010011010
+00100000011000000000000000000000
+01101000000000010000010001111000
+11000000000011000100011001011111
+00100000011000000000000000000000
+01011000000000000000000000000010
+01100000000000001100100011101011
+01011000001000000000000000001000
+01100000000000100100011011000001
+01011001001011000000000000000101
+11100000101000100000000000000000
+01110000010001001010011000010111
+01011000000000000000000000011011
+01100000000000010100010011111010
+00100000010000000101100000010000
+00100000010000000101100000101100
+00100000010000000101100000111001
+00100000001000000101100000011000
+11011111001000000000000000101000
+11011000101000000100011101000001
+11011000110000001001010010011111
+00100000010000000111111011110100
+11011111001000000000000000101000
+11011000101000000100011110100000
+11011000110000001001010011000111
+00100000001000000111111011110100
+11011111001000000000000101111110
+11011000110000001001000100111010
+00100000001000000111111011110100
+11011111001000000000000111100111
+11011000110000001001001010111000
+00100000001000000111111011110100
+00100000010000000100011110101110
+00100100011101000000000000000000
+01101000000000001100011010011111
+00100000010000000100011110010000
+01101000000000001100011010100000
+00100000010000000100011110010000
+01101000000000001100011010100001
+00100000001000000100011110010000
+00100000011110100000000000000000
+00011111111000011000010010000000
+00100000001000000110011111111001
+00100000010000000100011110101110
+00100100011101000000000000000000
+00100000010000000100011110010111
+00100000001000000100011110110100
+11011010001000000000000000000000
+01101000000000001100011010011111
+00100000010000000100011110101001
+01111101001110100010001000000000
+01101000000000001100011010100000
+00100000010000000100011110101001
+01111101001110100010001000000001
+01101000000000001100011010100001
+00100000010000000100011110101001
+01111101001110100010001000000010
+00011010001000100111111000000000
+01100000000000001100011010101001
+01101000000000001100011010011110
+10011010001011111111111000000000
+01101000000010010100011010011100
+10011000010000001111111000000000
+01100000000000010100011010101010
+00100000011000000000000000000000
+00100000011110100000000000000000
+00011111111000011000010010000000
+00100000010000000110100000011101
+00100100001000001111111111110001
+00100000001000000111111111101111
+00100000010000000111111111101001
+01101000000000001100011010101000
+00100100011110100000000000000000
+01101000000000001100011010011011
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000110011001101010
+01101000000000010100011010101010
+11011010001000000000101011000010
+01101000000010001100011010011110
+00100000010000000110011010110011
+00100000010000000110011001101101
+01101000000000001000101011000010
+00011111111000100111001000000000
+01100000000000001100001110101111
+00100000010000000111111011110100
+01101000000000001000101011000010
+00011111111000100111001000000000
+01100000000000001100010100010101
+00100000010000000111111011110100
+11101000110000001000000000000000
+01100000000000001100011011100110
+11101000110000001000000000000000
+01100000000000001100011011011101
+00100000011000000000000000000000
+01101000000000001100011010011010
+11000100000000001000000000000000
+11011000010000000000000000000011
+01101000000000010100011010100100
+00011111111000100010010000000000
+11011010001000000100011010100110
+00100000010000000110010111011111
+01101000000010010100011010100110
+01011000000000000001101100111010
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000001100011010101000
+00100000011110100000000000000000
+00011111111000100000010000000000
+01101000000000010100011010100100
+00011111111000001010010000000011
+11011010001000000000101011000010
+00100000010000000110010111011111
+00100000001000000100011111101000
+01101000000000010100011010100010
+00100000011110100000000000000000
+00100000010000000110011001101010
+11011000010000000000000000000001
+11011010001000000100011010101000
+00100000010000000110011010110011
+01101000000000001100011010101000
+00100000011110100000000000000000
+01101000000000010100011010100010
+00011111111000001111111000000001
+11011010001000000000101011000010
+01101000000010001100011010101000
+00100000010000000110011010110011
+00100000010000000110011001101101
+00100000010000000100011110111010
+11101000110000010000000000000000
+00100000011110100000000000000000
+00011111111000100000101000000000
+11101000110010001000000000000000
+00011000010000100111001000000000
+00100000010000000111111100000001
+00100000001000000100011111101001
+01101000000000001100011010011010
+11000100000000001000000000000000
+01101000000000010100011010101110
+00011111111000100010010000000000
+11011000010000000000000000000100
+11011010001000000000101011000010
+00100000010000000110010111011111
+01101000000000001000101011000010
+11000000100000001100011111111001
+01011000000000000000000000000001
+01100000000000001000101011000010
+00011000000000000111001000000011
+00100000010000000110001100001101
+01101000000000010100011010101110
+00011111111000100010010000000000
+11011000010000000000000000000100
+11011010001000000000101011000010
+00100000010000000110011000000110
+01101000000000011000101011000011
+01100000000000011100000010100000
+01100000000000011100010010100000
+00100000011000000000000000000000
+00100000001000000100011011011001
+11011010001000000000000000000000
+11011010011000000100100011010100
+00100000010000000111110100100100
+00100000010000000100011011110100
+01101000000000001100100011101011
+01100000000000001100100011101100
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000010000000100100000010110
+01110000010001100111100100000001
+00100000010000000111110011010011
+00100000010000000111110011011101
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+01101000000010010100001000111111
+11100000010000001000000000000000
+11101000101000001000000000000000
+01100000000000001100011010000101
+00100000011000000000000000000000
+01101000000000010100001000111111
+11101111111000001000000000000000
+11000001100000000000000000000000
+00100000001000000011010000001010
+01101000000010010100001000111111
+11101000010000001000000000000000
+11000000000000001100100000101010
+01011000000000000000000000000001
+01101000000010010100001000111111
+11100000010000001000000000000000
+00011000010000001000110000000010
+11101000110000001000000000000000
+11100000101000001000000000000000
+11101000110000010000000000000000
+00100000001000000111111110011100
+01011000000000000000000000000010
+00100000010000000100100000010110
+00011000010000001000110000000101
+11101000110000010000000000000000
+00100000001110100011010000001010
+00100000001000000111111110011100
+01100000000000110000000100000001
+01101000000000001000000100000001
+01100000000000001000000100001100
+11101000110000001000000000000000
+01100000000000001000000100001011
+11101000110000001000000000000000
+01100000000000001000000100001010
+11101000110000001000000000000000
+01100000000000001000000100001001
+11101000110000001000000000000000
+01100000000000001000000100001000
+11101000110000001000000000000000
+01100000000000001000000100000111
+01101000000000110000000100000111
+00100000011000000000000000000000
+00100000010000000110100010100010
+01101000000000001100001000100011
+01100000000000001100010010100000
+01101000000000001100001000100101
+11100000101000001000000000000000
+01101000000000001100001000100111
+11100000101000001000000000000000
+01101000000000011100010010100000
+01100000000000011100000010100000
+00100000011000000000000000000000
+01101000000000010100001000000011
+10011010010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+00011000010000100010010000000000
+00100000010000000100100010011011
+01011000000000000000000010100000
+00100000010000000100100010001101
+01101000000000001000000111110111
+00100000010000000100100010001101
+11000101000101000100100001010110
+01101000000000001000000111111000
+00100000010000000100100010001101
+00100000010000000100100010100001
+00100000010000000100100010011011
+01011000000000000000000010100001
+00100000010000000100100010001101
+00100000010000000100100001111111
+11100010001000001000000000000000
+00011010001000001010001000000001
+00011010010000001010010111111111
+00100100001000101100100001011010
+00100000001000000100100010100001
+00011010010100001111111000000000
+01100000000000010000000111110111
+00011000010000100010010000000000
+00100000010000000100100010011011
+01011000000000000000000010100000
+00100000010000000100100010001101
+01101000000000001000000111110111
+00100000010000000100100010001101
+11000101000101000100100001101011
+01101000000000001000000111111000
+00100000010000000100100010001101
+11101010001000001000000000000000
+00100000010000000100100010001101
+00011010001000001010001000000001
+00011010010000001010010111111111
+00100100001000101100100001101011
+00100000001000000100100010100001
+11011111001000000000000000001010
+00100000010000000100100010111110
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100011000111
+00100000001110100100100010101001
+11000010000000000100100001110101
+00100000001000000100100010101001
+00100000010000000100100010101001
+00100000010000000100100010101111
+00100000010000000100100011010010
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000001000000100100010101001
+11011111001000000000000000001000
+11011010011000000000000000000000
+00100000010000000100100010111110
+00100000010000000100100010100110
+00100000010000000100100011010010
+00011010011000111010011000000000
+00100000010000000100100011000111
+10011010011000001010011000000000
+00100000010000000100100011010010
+00100000010000000100100010101001
+11000010000000000100100010000010
+00100000010000000100100001111001
+00011010011000100111111000000000
+00100000011000000000000000000000
+11011111001000000000000000001000
+00011111111000100010011000000000
+00100000010000000100100010101001
+00101010011011111111111000000111
+00100000010000001100100010101100
+00100100010000001100100010101111
+00011010011000111010011000000000
+00100000010000000100100011010010
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100010101001
+00100000010000000100100011010010
+11000010000000000100100010010000
+00100000001000000100100001110001
+00100000010000000100100010101100
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100010101111
+00100000010000000100100011010010
+00100000001000000100100010101001
+00100000010000000100100010101111
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100010101100
+00100000001000000100100011010010
+01111000001101000111110000000000
+01101000000000001100111111111110
+00100000001000000100100010110010
+01111000010101000111110000000000
+01101000000000001100111111111110
+00100000001000000100100010110010
+01111000001101000111110000000000
+01101000000000001100111111111111
+00100000001000000100100010110010
+01111000010101000111110000000000
+01101000000000001100111111111111
+00100000001000000100100010110010
+00011111111000010000111000000111
+00011111111010010111111000000000
+11011000010000001000000001110000
+10011000010000001000010000000000
+11101000010000001000000000000000
+11111001001000000111111000000000
+11100000010000001000000000000000
+00011000010000001000010000000100
+11101000010000001000000000000000
+11111001001101000111111000000000
+11100000010000001000000000000000
+00100000011000000000000000000000
+01101000000000001100111111111111
+00011111111000010000111000000111
+00011111111010010111111000000000
+11011000010000001000000001110000
+10011000010000001000010000000000
+11101000010000001000000000000000
+11111001001111111111111000000000
+11100000010000001000000000000000
+00100000011000000000000000000000
+00100000000000000000000000000100
+01101000000000001100111111111111
+00011111111000010000111000000111
+00011111111010010111111000000000
+11011000010000001000000100011100
+10011000010000001000010000000000
+01011000000000000000000000000000
+11101000010010001000000000000000
+10101000010011111111111111111111
+01111001001000001111111000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01000100111110110100000000011110
+01101000000100001000101000100110
+00101111111011111111111000000111
+00100000010000001100100011101010
+00100000010000000100100100101110
+01101000000100001000101000100110
+01100000000000001000101100100010
+01101000000100001000101000100111
+01100000000000001000101100100011
+01100000000100001000101000100111
+00011111111001000111111000000000
+01101000000010001000110100110111
+10011000010000010111111000000000
+01100000000000001000110100110111
+01110000100010100010011011100000
+01101000000000001000101100100011
+00101111111000000000001000000001
+00100000010000001100100101000001
+01101000000000001000101100100010
+00101111111000000000001000000001
+00100000010000001100100101001010
+00100000010000000100101101100001
+00100000001000000100100100000011
+01000100111110111100000000011110
+00100000010000000100100100011001
+01110000100010100000000000000000
+00100000000000000010011100010000
+01110000100010100001000011000000
+01101000000100010000000001010000
+01111001001111111111111000001010
+01100000000100010000000001010000
+01110000100010100000000000111100
+01110000100010100010011011111111
+01110000100010100010011111111111
+01110000100010100000010000000000
+01110000000011000110101100000010
+01011000000000000000110110011101
+11011000101000000000110001101110
+10011000101001100111001000000000
+00100000001000000111111011010100
+01101000000010001000110001101100
+00100000001000000110011111111011
+01101000000000001000110101000101
+00100000011110100000000000000000
+01101000000010001000110001101100
+00100000010000000110100000011101
+00100000001000001100100011101010
+00100000011000000000000000000000
+11011000111000000000000000000000
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000000001000110101000110
+00100100011110100000000000000000
+01101000000000001000110101000101
+00100100010110100100101110110111
+00100000011000000000000000000000
+11011000101000000000101101101000
+00111000000000010001001000010010
+00111000000001001000000000000000
+00111000000010000000000000000000
+00111000000011010000000000000000
+11100000101001001000000000000000
+00111000000000100010010000010010
+00111000000001001000011000000100
+00111000000010000001000000000000
+00111000000011000000000000001000
+11100000101001001000000000000000
+00111000000000000000000000000001
+11100000101000001000000000000000
+00100000011000000000000000000000
+01110000000011000110101100000010
+01011000000000000000000000000000
+01100000000000001000101101100111
+01100000000000010000110001100101
+00011111111000001111111000000001
+01100000000000010000110001100111
+00011111111000001111111000000001
+01100000000000010000110001101001
+01011000000000001000111111111010
+01100000000000010000101101111100
+01011000000000001001000000111010
+01100000000000010000101101111110
+11011000101000000000101110000000
+11011000110000001001000011111110
+00100000010000000111111010110011
+01101000000000001000110001101101
+00100100010110100100100100101011
+00100000001000000100100100001011
+01100000000000001000101110100010
+01100000000000001000101110111011
+00100000011000000000000000000000
+01101000000100001000101000100110
+11000010100000110100100100110001
+00100000011000000000000000000000
+00100000010000000100100100110110
+00100000010000000111111100010101
+01011000000000000000001010000000
+11011000111000000000000000000000
+00100000001000000111111100001000
+01101000000000001000110100110110
+11000000100000010100100100111011
+01110000000011010100011000000000
+01110000000011010100011100000000
+00100000011000000000000000000000
+01101000000000001000110101010011
+00100000011110100000000000000000
+01110000000011010101001100000000
+01110000000011010011011000000010
+01110000000011010100010100000001
+00100000011000000000000000000000
+01110000100010100010011100000001
+00100000001000000100101100110111
+01101000000000001000101100100010
+11000010100000100100100101010101
+00100000011000000000000000000000
+01101000000100001000101000011000
+11100000101000001000000000000000
+11000010000000000100100101000110
+00100000011000000000000000000000
+01000100111111000100000000011111
+01110000100010100010011000010001
+01101000000100001000101000100000
+01100000000000001000101100100100
+00011111111000100111001000000000
+00100000001110100100100101000011
+11011000101000000000110001101110
+00100000010000000100100101000110
+01101000000000001000101100100100
+00011111111001100111110000000111
+00100000011000010000000000000000
+01101000000000001000110001101110
+00011111111000010111111010000000
+11000000010000000100100101011010
+11000000000000000100100101100010
+00100000001000000010101010001100
+01101000000000001000110001101110
+00011111111100011111111000000000
+00011111111000110111111000000000
+00011111111000010111111000000011
+11000000000000000100100101101010
+11000000000000001100100101110000
+11000000000000010100100101110101
+00100000001000000010101010001100
+01101000000000001000110001101110
+00011111111100011111111000000000
+00011111111000110111111000000000
+00011111111000010111111000000011
+11000000000000000100100101110110
+11000000000000001100100101111110
+11000000000000010100100110000011
+00100000001000000010101010001100
+01101000000000001000110001101111
+11000000000001000100100110001010
+11000000000000110100100110100000
+11000000000001010100100111101010
+11000000000000000100100111111100
+00100000001000000100100110000100
+01101000000000001000110001101111
+11000000000000010100101000101111
+11000000000000001100101000110011
+11000000000000011100101001000101
+00100000001000000100100110000100
+00100000001000000100100110000100
+01101000000000001000110001101111
+11000000000000001100101001001111
+11000000000000011100101001111001
+11000000000000101100101010100011
+11000000000001001100101010111100
+11000000000001011100101011010111
+11000000000000111100100110000100
+00100000001000000100100110000100
+01101000000000001000110001101111
+11000000000001010100101011101000
+11000000000001001100101011111001
+11000000000001011100101100010001
+00100000001000000100100110000100
+00100000001000000100100110000100
+01101000000100001000101000010001
+01111001001000000111111000000000
+01100000000100001000101000010001
+00100000001000000100100110001000
+01110000100010100001001001000000
+00100000011000000000000000000000
+01101000000000001000110001101110
+11000000110000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000001100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001101011
+11000000000000100100100110011100
+11000000000000011100100110011110
+00100000001000000100100110000100
+11011010010000000000000000000001
+00100000001000000100101000010100
+11011010010000000000000000000001
+00100000001000000100101000010010
+01000100111111001100000000011111
+01111001001111111000000000100011
+01101000000000001000110001110001
+11000000000000001100100110110110
+11000000000000010100100111001111
+11000000000000011100100111010010
+11000000000100001100100110101001
+11000000000100010100100111100000
+00100000001000000100100110000100
+01110000000011010100101100000000
+01101000000000001000110001110010
+11000000000000000100100110101110
+11000000000000001100100110110010
+00100000001000000100100110000100
+11011010001000000000101110010011
+11101010001000001000000000000000
+10011000000000000010010000000000
+00100000001000000100101100100001
+11011010001000000000101110101100
+11101010001000001000000000000000
+10011000000000000010010000000000
+00100000001000000100101100100001
+01101000000000001000110101001000
+00100100010110100100100111000111
+01011000000000000000101101101000
+01101000000010001000101101101000
+01100000000000010000110100111111
+01100000000010001000110101000001
+01101000000000001000110001110100
+10011000010001100111110000000000
+00100100001000010100100111000101
+01101000000000001000110101000001
+10011000000000000010010000000000
+01101000000000010000110100111111
+00011111111000001111111000000001
+10011000000000000010001000000000
+00100000001000000100101100100001
+01101000000000001000110001110100
+00100000001000000100100111000000
+01101000000100001000101000000100
+00100100010110100100100111001011
+01110000000011010100100000000000
+00100000011000000000000000000000
+01101000000100001000101000000100
+01111001001000000111111000000111
+01100000000100001000101000000100
+00100000011000000000000000000000
+01011000000000000000101110000000
+01101000000010001000101110000000
+00100000001000000100100110111010
+01101000000000001000110001110000
+00011111111001100111110000000011
+00100100001000010100100110000100
+01101000000000001000110001110000
+11011010001000000000101111100100
+11000000000000000100101100011110
+01111001001000000000000000100011
+11011010001000000000101111101001
+11000000000000001100101100011110
+11011010001000000000110000000111
+11000000000000010100101100011110
+11011010001000000000110001000111
+11000000000000011100101100011110
+00100000011000000000000000000000
+01101000000000010000110001110010
+11000000000000001100100111100101
+01101000000000010000101101111100
+00011111111000100010001000000000
+00100000001000000100101100011110
+01110000000011010100010100000001
+01110000000011010011011000000001
+01101000000000010000101101111110
+00011111111000100010001000000000
+00100000001000000100101100011110
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001101110
+11000000110000001100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000001100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+11011010010000000000000000000001
+00100000001000000100101000010010
+01101000000000001000110001101011
+11000000000000010100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000010100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001101110
+11000000010000000100101000001101
+11000000010000001100101000011000
+11000000010000010100101000011100
+00100000001000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+11011010010000000000000000000010
+01101000000000001000110100111001
+11000000000000001100101000010110
+11011010001000000000110001100101
+00100000001000000100101100100001
+11011010001000000000110001100111
+00100000001000000100101100100001
+11011010001000000000110001101001
+00100000001000000100101100100001
+01101000000000001000110001101011
+11000000100000100100100110000100
+11011010010000000000000000000010
+00100000001000000100101000010010
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001110010
+11000000010000001100101000101001
+11000000010000010100101000101011
+11000000010000011100101000101101
+00011111111000010111111001111111
+11000000000000000100101000100101
+00100000001000000100100110000100
+01101000000000001000110100111011
+11011010010000000000000000000010
+11000000000000001100101000010100
+00100000001000000100101000010010
+01101000000000001000110100111100
+00100000001000000100101000100110
+01101000000000001000110100111101
+00100000001000000100101000100110
+01101000000000001000110100111110
+00100000001000000100101000100110
+01110000000011010100110000000001
+11011010001000000000110101001101
+11011010010000000000000000000001
+00100000001000000100101100100001
+01101000000000010000110001110000
+11011000010000000000000110111010
+10011000010001100111110000000000
+00100100001000101100100110000100
+01111001001111111000000000100011
+01101000000000001000110101000010
+00100100001110100100101001000010
+01110000000011001111011000000000
+01101000000000001000110001110100
+10011000000000000010010000000000
+11011010001000000000110011110110
+00100000010000000100101100100001
+11011000101000000000110011110110
+11011111001000000000000000001000
+00100000001000000111111011000110
+01110000000011010100001000000000
+01110000000011001111011000000001
+00100000001000000100101000111011
+01101000000000001000110001110100
+11000000100000001100100110000100
+01110000000011010100101100000001
+11011010010000000000000000000001
+01101000000000001000110101001001
+11000000000000000100101001001101
+11000000000000001100101001001110
+00100000001000000100101000010010
+00100000001000000100101000010100
+00100000001000000100101000010010
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001101110
+11000000000000000100101001011110
+11000000000000001100101001100110
+11000000000000010100101001100111
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000001100100110000100
+01101000000100001000101000000000
+01111001001111111111111000000111
+01100000000100001000101000000000
+01110000000011010011100100000000
+01110000000011010011101000000001
+00100000001000000100100110001000
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000010000001100101001110010
+11000000010000010100101001110101
+11000000010000011100101001110111
+00011111111000010111111001111111
+11000000000000000100101001110000
+00100000001000000100100110000100
+01110000000011010011101100000000
+00100000001000000100100110001000
+01110000000011010011110000000000
+01110000000011010101001100000001
+00100000001000000100100110001000
+01110000000011010011110100000000
+00100000001000000100101001110011
+01110000000011010011111000000000
+00100000001000000100101001110011
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001101110
+11000000000000000100101010000010
+11000000000000001100101010001111
+11000000000000010100101010010000
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000001100100110000100
+01101000000100001000101000000000
+01111001001000000111111000000111
+01100000000100001000101000000000
+01110000000011010011100100000001
+01110000000011010011011000000011
+01110000000011010100001100000000
+00100000010000000100100110001000
+00100000010000000111111100010101
+01011000000000000001001110001000
+11011000111000000000000000001111
+00100000001000000111111100001000
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000010000001100101010011101
+11000000010000010100101010011111
+11000000010000011100101010100001
+00011111111000010111111001111111
+11000000000000000100101010011011
+00100000001000000100100110000100
+01110000000011010011101100000001
+00100000001000000100100110001000
+01110000000011010011110000000001
+00100000001000000100100110001000
+01110000000011010011110100000001
+00100000001000000100100110001000
+01110000000011010011111000000001
+00100000001000000100100110001000
+01101000000000001000110001101110
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110000
+00011111111000010111111010000000
+11000000100000000100100110000100
+01101000000000001000110001110000
+11000000100000000100101010111010
+01110000000011000110101100000010
+01101000000000001000110001110000
+01100000000100001000101000000100
+00100000010000000100100110001000
+01110000000011010100100000000001
+00100000011000000000000000000000
+01110000000011000110101100000011
+00100000001000000100101010110101
+01101000000000001000110001101011
+11000000000000010100100110000100
+01101000000000001000110001101110
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110000
+00011111111001100111110000000001
+00100100001000010100100110000100
+01101000000000001000110001101011
+11000000000000011100101011010001
+11000000000000100100101011010001
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000000000000100101011010101
+01110000000011000110101100000100
+00100000001000000100100110001000
+01110000000011000110101100000011
+00100000001000000100100110001000
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001101110
+11000000100000001100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+00100000001000000100100110001000
+01110000000011010100110000000001
+01101000000000001000110001110001
+01100000000000001000110101001101
+01101000000000001000110001110010
+00011111111001100111110000000001
+00100000010000101100101011110101
+01101000000000001000110100110110
+11000000100000100100100110001000
+01110000000011010011011000000010
+00100000010000000100100110001000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+01110000000011010100010100000001
+01110000000011010011101000000000
+01110000000011010011011000000100
+00100000011000000000000000000000
+01110000000011010101000000000001
+00100000010000000100101100000011
+01101000000000010000110001110000
+01100000000000010000110101001110
+01101000000000001000110001110100
+10011000000000000111001000000000
+11011000110000000000110001110110
+11011000101000000000110010110110
+00100000010000000111111100000001
+00100000001000000100100110001000
+01101000000000010000110001110000
+11011000010000000000001000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000010000110001110010
+11011000010000000000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000010000110001110100
+11011000010000000000000000000001
+10011000010001100111110000000000
+00100100011000101000000000000000
+01110000000011010100001100000001
+00100000011000000000000000000000
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110000
+11000000000000000100101100010111
+11000000000000001100101100011010
+00100000001000000100100110000100
+01110000000011010100101000000000
+01110000000011010100100100000001
+00100000001000000100100110001000
+01110000000011010100010000000001
+01110000000011010100101000000001
+01110000000011010100100100000000
+00100000001000000100100110001000
+11101010001000001000000000000000
+10011000000000000010010000000000
+00011010001000001010001000000001
+01000100111111010100000000011111
+11000101100100011100101100101100
+00011010010000001111111000000001
+00011111111000111111111000000000
+01100000000100001000101000011000
+01110000100010100001100000000011
+01101000000000001000110001110100
+00011111111000001111111111111110
+00011111111000110111111000000000
+01100000000000001000110001110100
+11000000000000000100101100110101
+01101000000000010000110001110100
+10011010010001100111110000000000
+00100000001000010100101100110000
+00011111111000100010010000000000
+00011010001000100111111000000000
+01100000000000010000101101100101
+00011010010000100111111000000000
+01100000000000001000101101100111
+00100000001000000100101100110111
+11011000111000000000000000000000
+00100000001000000100101101010111
+01000100111111011100000000011111
+01101000000000001000101101100111
+00100000011110100000000000000000
+00011111111000100111001000000000
+00011111111001100111110001000000
+00100000001000010100101100111110
+11011111001000000000000001000000
+01101000000000001000101101100111
+10011111001001100111111000000000
+01100000000000001000101101100111
+01101000000000010000101101100101
+00011111111000100000110000000000
+11101000110000001000000000000000
+01100000000100001000101000011000
+11000101100100011100101101000111
+01110000100010100001100000000000
+11000010000000000100101101000011
+00011000110000100111111000000000
+01100000000000010000101101100101
+11011000111000000000000000000000
+00100000010000000100101101010111
+01101000000000001000101101100111
+00100100011110100000000000000000
+01101000000000001000110100110110
+11000001100000001000000000000000
+01110000000011010011011000000010
+00100000011000000000000000000000
+11011010001000001000101000011001
+11011000111000000000000000000001
+11101000110000001000000000000000
+11100010001000001000000000000000
+11000010000000000100101101010100
+01011000000000000000000000000000
+11111001001000000111111000000000
+01100000000100001000101000010000
+01101000000010001000110100110111
+10011000010000011111111000000000
+01100000000000001000110100110111
+00100000011000000000000000000000
+11011000111000000000000000000010
+11011010001000001000101000011010
+00100000001000000100101101010100
+01000100111111100100000000011111
+01101000000000001000110100111000
+00100000011110100000000000000000
+01101000000000001000110100110111
+00100100001110100100101110101100
+01101000000000001000110101000101
+00100000001110100100101110000110
+01101000000000001000110100110110
+11000000000000011100101110111111
+11000000100000010100101110000110
+01101000000000001000110100111010
+00100100001110100100101110000110
+00100000010000000100101101101111
+00100000001000000100101101111010
+01101000000000001000110100111000
+11000100000000001000000000000000
+01101000000000001000110100110111
+11000011100000001000000000000000
+01101000000000001000110100111000
+01111001001111111111111000000001
+01100000000000001000110100111000
+01101000000000001000110101010001
+00100000011110100000000000000000
+11000000000010000100101110101000
+00100000001000000010101010001100
+01101000000000001000110100111000
+11000100000000010000000000000000
+01101000000000001000110100110111
+11000011100000010000000000000000
+01101000000000001000110100111000
+01111001001111111111111000000010
+01100000000000001000110100111000
+01101000000000001000110101010010
+00100000011110100000000000000000
+11000000000100000100101110001001
+11000000000100001100101110100100
+00100000001000000010101010001100
+11011000101000000000110101010100
+11011111001000000000000000000110
+00100000001000000111111011000110
+01101000000000001000110101001100
+01101000000010001000110101001011
+10011000010000010111111000000000
+00100000001110100100101110100000
+01101000000010001000110101001010
+10011000010000001111111000000000
+11000000000000001100101110010001
+00100000001000000100101110100000
+01110000000011010101001000000000
+01101000000000001000110101010101
+11000000000000010100101110100001
+11000000000000011100101110100001
+01101000000000001000110101010101
+01100000000000001000110101010100
+01101000000000001000110101010110
+11100000101000001000000000000000
+01101000000000001000110101011000
+11100000101000001000000000000000
+01101000000000001000110101011010
+11100000101000001000000000000000
+11011111001000000000000000000100
+11011000110000000000110101010100
+00100000001000000100101101011110
+01110000000011010101001000000000
+11011111001000000000000000001000
+11011000110000000000110101010100
+00100000001000000100101101011110
+01110000000011010101001000000000
+11011111001000000000000000000011
+11011000110000000000110101110100
+00100000001000000100101101011110
+01110000000011010101000100000000
+11011111001000000000000000001000
+11011000110000000000110101100100
+00100000001000000100101101010010
+01101000000000001000110100110110
+11000000000000011100101110110000
+11000000000000010100101110110010
+00100000011000000000000000000000
+01110000000011010011011100000000
+00100000011000000000000000000000
+01101000000100001000101000000000
+01111001001000000111111000000111
+01100000000100001000101000000000
+01110000000011010100011100000001
+00100000011000000000000000000000
+01101000000000001000110100110110
+11000001000000011000000000000000
+11000000000000010100101110111011
+00100000011000000000000000000000
+01101000000000001000110101000111
+00100000011110100000000000000000
+01110000000011010100011000000001
+00100000001000000100101111000010
+11011000111000000000000000001111
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000100001000101000000000
+11000100000000111000000000000000
+01110000100010100000000011111100
+00100000000000000111010100110000
+01110000100010100000000000111100
+00100000011000000000000000000000
+01000100111111101100000000011111
+01101000000000001100000111001110
+00100100011110100000000000000000
+00100000010000000100101111001110
+00100100010101000100101111100110
+00100000011000000000000000000000
+01000100111111110100000000011111
+00011000011000100010001000000000
+11011000010000000000000000000100
+11101000011000001000000000000000
+11000000000000001100101111011000
+00011000010000001000010000000001
+11000000000000010100101111011000
+00011000011000100111111000000000
+01100000000100010000000001011000
+00100000011000000000000000000000
+01101000000100010000000100010010
+10011000010001100111110000000000
+00100100001000010100101111011000
+01111000010101000111110000000000
+00011010001000100000011000000000
+00100000010000000100101111101110
+10011000010000001000010000000000
+01101000000100010000000100010010
+10011000010001100111110000000000
+00100100001000010100101111011111
+00011010001000100000011000000000
+11101000011000001000000000000000
+11000000000000001100110000111111
+00100000001000000010101010001100
+01000100111111111100000000011111
+01101000000100010000000001011000
+10011000000000000000011000000000
+00100000010000000100101111101110
+10011000011000001000011000000000
+00011000011000100111111000000000
+01100000000100010000000001011000
+00100000011000000000000000000000
+11101000011000001000000000000000
+00011000011000001000011000000010
+11000000000000010100101111110011
+11101000011000001000000000000000
+00100000011000000000000000000000
+11101000011000010000000000000000
+00100000011000000000000000000000
+01101000000100010000000001011110
+00011001010000001001010111111011
+10011001010000001001010000000000
+00100000011000000000000000000000
+11011000010000000000000000000100
+00100000001000000100101111111100
+11011000010000000000000000000010
+01000111000000000100000000100000
+00011111001000001111001000000001
+01101000000100010000000001011110
+00011111111000100001010000000000
+00011111001000100111111000000000
+11100001010010001000000000000000
+00011111111000001111111111111111
+10011001010000001001010000000000
+00011001010000100111111000000000
+01100000000000010000001001011000
+00011000010000100111111000000000
+11000001000000010000000000000000
+01101000000000010000001001011000
+01100000000100010000000001011110
+00100000001000000100110000001011
+01011000000000000000000000000000
+01100000000000010000001001011000
+00100000011000000000000000000000
+00100000011101011000000000000000
+01011000000000000100110100101000
+01100000000000010100000111110011
+01011000000000000000000110100000
+01100000000000010100001001000011
+01011000000000000001100000000000
+01100000000100010000000001010100
+01011000000000000001101111111111
+01100000000100010000000001010110
+01011000000000000001110000000000
+01100000000100010000000001011010
+00100000010000000100110000101000
+01110000100000000110001000000000
+01011000000000000001110000000000
+01100000000100010000000001011110
+01100000000100010000000001100000
+01011000000000000001100000000000
+01100000000100010000000001011000
+01100000000000010000001001000100
+01101000000100010000000001010000
+01111001001111111111111000001111
+01100000000100010000000001010000
+00100000010000000110011011001110
+01110000100000000100001100000001
+01110000100000000110001010000001
+00100000011000000000000000000000
+01011000000000000001111111111111
+01100000000100010000000001011100
+01101000000100001000000010000001
+00011111111000011111111000000111
+01100000000100001000000010000001
+00100000011000000000000000000000
+01000111000000001100000000100000
+01101000000100001000000100001100
+10011000000000000010010000000000
+11000011000000011100110000110111
+01101000000100010000000100010010
+10011000000000000010011000000000
+11011000010000000000010001001111
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000100010000000001011000
+10011000000000000000011000000000
+00100000001000000100101111001000
+01101000000110001000000100001100
+00101000010011111111111000000110
+00100000001000001100110000111010
+01100000000100001000000000010101
+00100000011000000000000000000000
+01000111000000010100000000100000
+01101000000000001100000111001110
+00100000001110100100110001000100
+01111000001101000111110000000000
+00100000011000000000000000000000
+11101000011000010000000000000000
+10011000000000000110000000000000
+10011000000000000000111000000000
+11101000011000001000000000000000
+10011000000000000000010000000000
+00011110000010110111111000000000
+00011111111011001111111000000000
+11000000000111111100110001001101
+00100000011000000000000000000000
+01000111000000011100000000100000
+00011000111000100111111000000000
+11000000000000000100110011011100
+11000000000000001100110001100110
+11000000000000010100110001101011
+11000000000000011100110001111010
+11000000000000100100110010110011
+11000000000000101100110011011100
+11000000000000110100110011000110
+11000000000000111100110001011100
+11000000000010000100110011001001
+11000000000010001100110011010001
+11000000000010010100110010100101
+11000000000010011100110010000101
+00100000001000000100110011011100
+00100000010000000100110011011100
+00100000010000000111111110011110
+00100000010000000110100010001100
+00100000010000000011001111010010
+00100000010000000011001111011001
+00100000001000000110100010001111
+01110000010000100100010100000000
+00100000010000000011001111010000
+00100000010000000100110000010011
+00100000001000000011001111011011
+00100000010000000100110011110010
+01101000000100010000000000000000
+11100001010000010000000000000000
+00011000000000000111001000000110
+00100000001000000100110011011101
+11101000011000010000000000000000
+01100000000000010100001001000011
+01100000000100010000000001010010
+00100000011000000000000000000000
+11101000011000001000000000000000
+00011111111000100000010000000000
+01100000000100001000000000100100
+11101000011000001000000000000000
+10011000010000001000010000000000
+01111001001000000111111000000111
+01100000000100001000000000100011
+11101000011000001000000000000000
+10011000010000001000010000000000
+00011111111000100111001000000000
+00100000011000000000000000000000
+11000101000101011100110011000100
+00100000010000000100110001101111
+11101000011000001000000000000000
+01100000000100001000000000100101
+10011000010000001000010000000000
+11000010000000000100110001111100
+00011000010000010000010011111111
+11101000011000001000000000000000
+10011000010001100111110000000000
+00100100001000101100110011000100
+00100000001000000100110011011100
+11000101100101011100110011000100
+00100000010000000100110001101111
+01100000000001000000101010011010
+00100000010000000111010000100010
+11011111001000000000000000010000
+11011000101000000000101011000010
+00100000010000000100110010100000
+01100000000011000000101010100010
+11011000101000000000101011010010
+00100000010000000111010010010111
+11011010001000000000101011010010
+11011010010000000000101011000010
+11011000101000000000101011100010
+00100000010000000111001101010010
+11011111001000000000000000010000
+11011000110000000000101011100010
+00100000010000000100110010011100
+01101000000011000000101010100010
+01101000000001000000101010011010
+00011111111000001111111111110000
+01100000000001000000101010011010
+00100100001110100100110010001000
+00100000001000000100110010000000
+11101000110000001000000000000000
+01100000000100001000000000100101
+11000010000000000100110010011100
+00100000011000000000000000000000
+11101000011000001000000000000000
+11100000101000001000000000000000
+10011000010000001000010000000000
+11000010000000000100110010100000
+00100000011000000000000000000000
+11000101100101011100110011000100
+11011000010000000000000000000000
+11011111001000000000000000010000
+11011000101000000000101011000010
+00100000010000000100110010100000
+01101000000100001000000010000101
+00011111111000010111111011111101
+01100000000100001000000010000101
+11011000110000000000101011000010
+11011111001000000000000000010000
+00100000010000000111010001111000
+00100000010000000111010000101000
+00100000010000000111010010010001
+00100000001000000100110010000000
+11011111001000000000000000100000
+11011000101000000100000000000000
+11011000010000000000000000000000
+11101000011000001000000000000000
+11100000101000001000000000000000
+10011000010000001000010000000000
+11000010000000000100110010110110
+00011000010000010000010011111111
+11101000011000001000000000000000
+10011000010001100111110000000000
+00100100001000101100110011000100
+01110000100000000010001100000000
+00100000010000000100110011011100
+00100000010000000100101111100110
+00100000010000000110010010100011
+00100000010000000111111110011110
+00100000001000000010000000000001
+01110000100000000010001100000000
+00100000001000000010000000000000
+11101000011000110000000000000000
+01100000000000110100000010100000
+00100000001000000100110011011100
+11101000011000001000000000000000
+01100000000000001000001001011010
+00011111111000100111001000000000
+11101000011000010000000000000000
+01100000000000010000001001011011
+00011111111000100000101000000000
+00100000010000000110011011111101
+00100000001000000100110011011100
+11101000011000001000000000000000
+01100000000000001000001001011010
+00011111111000100111001000000000
+11101000011000010000000000000000
+01100000000000010000001001011011
+11011000101000000001000000000000
+00100000010000000110011011111101
+01101000000010001000001001011010
+11011010001000000001000000000000
+01101000000000010000001001011011
+00100000001000000110011000001000
+00011000000000000111001000000100
+00100000010000000100110011110100
+00011000000000000111111000000001
+11100001010000001000000000000000
+00011110000000100111111000000000
+11100001010000011000000000000000
+00011000000000000000111000001110
+01000111000000100100000000100000
+00100000010000000100110011110110
+00011000111000100111111000000000
+11100001010000001000000000000000
+00011111001000100111111000000000
+11100001010000001000000000000000
+00011000000000000000111000000101
+00011111001000001111001000000010
+00100000001000000100101111111001
+00011000000000000000111011111111
+00100000010000000100110011110100
+01011000000000000000000000000001
+11100001010000001000000000000000
+00011000000000000111001000000001
+00100000001000000100110011100011
+00011000000000000001010000001100
+00100000001000000100110011110111
+00011000000000000001010000001000
+00100000001000000100110011110111
+00011000000000000001010000000110
+00100000001000000100101111110101
+01111000001001111111110000000000
+01111000001001001111110000000000
+11101001010000001000000000000000
+00001000000000001000000000001000
+11000010000000000100110011111010
+01111000001001000111110000000000
+00001000000000001000000000010000
+01111000010001000111110000000000
+01111000010001001111110000000000
+01111000010001111111110000000000
+00011111111100001111111000000000
+00100000011000000000000000000000
+01110000010000011100111000000000
+00100000011000000000000000000000
+01101000000000110100000111010000
+01101000000010110000000001000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000001000000001001011
+11000010100000010100110100001111
+00100000010000000110001011101111
+01110000000000000111110000001000
+00100000001000000100110100000100
+01111001001111111111111000000010
+01100000000000001000000001001011
+00100000010000000110000000000001
+01011000000000000000000000000000
+01111001001101001111111000000001
+01100000000000001000000001111111
+00100000001000000100110100000100
+00100000011000000000000000000000
+01110000000000000111110000010111
+11011000101000000000010011011001
+01011000000000000000000000000000
+00101101000011111111111000011011
+01111001001000001111111000000001
+11100000101000001000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+01101000000000010100000111100011
+11100000101000010000000000000000
+01101000000000001100000111100101
+11100000101000010000000000000000
+01101000000000001100000111100111
+11100000101000010000000000000000
+00100000001000000100110100000100
+01110000000000000111110000011000
+00100000001000000100110100000100
+00100000010000000110100010011001
+00100000011000001000000000000000
+11011000010000000000000000000111
+00100000010000000110100000011101
+00100100001000001100110100101111
+01110000010000100100010100000001
+00100000011000000000000000000000
+01101000000000001100001001000101
+11000001100000001000000000000000
+00100000010000000100110001100010
+00100000001000000100110011101100
+01000111000000101100000000100000
+01101000000000010000001001100100
+00011111111000100000110000000000
+11101000110000001000000000000000
+00011111111000010000010000001111
+00011111111100011111111000000000
+11000000000001001100110101010011
+11000000000000111100110101010011
+11000000000001010100110101011111
+11000000000000101100110101001011
+11000000000000001100110100111111
+00100000011000000000000000000000
+00011000010000100111111000000000
+11000000000000101100110101000011
+11000000000000011100110101001010
+00100000011000000000000000000000
+01110000000010101001100100100111
+00100000010000000111110110000110
+01101000000000001100000010010010
+11000100000000110000000000000000
+00011000010000100111111000000000
+11000000000000101100001110001110
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000100110101011111
+11011010001000000000000000000001
+00100000010000000100110101100011
+01101000000000010100001001001100
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011010001000000000000000000001
+00100000010000000100110101100011
+01101000000000010100001001001100
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+01110000000010101000111000000001
+01101000000000001100001001010010
+01111001001000000111111000000110
+01100000000000001100001001010010
+01110000000010101001100100010010
+00100000001000000111110110000110
+11101000110000001000000000000000
+11000000000000001100110101100010
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000101001001000000
+00011010001000100000010000000000
+01100000000010001000101010001110
+00011111111000100000101000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000001101011100110101101111
+01011000000000000100001101100101
+11011000101000000100001001000110
+10011000101001100111001000000000
+00100000010000000111111011010100
+01000111000000110100000000100000
+01011000000000000000010101010001
+11011000101000000000010100010001
+10011000101001100111001000000000
+00100000010000000111111011010100
+01011000000000000000001011001001
+11011000101000000000001001011101
+10011000101001100111001000000000
+00100000010000000111111011010100
+00100000001000000101001100011000
+01000111000000111100000000100000
+00011000110000100000010000000000
+00011000010000100000110000000000
+11101000110000010000000000000000
+01100000000000010000001001100110
+11101000110000010000000000000000
+01100000000000010000001001101000
+00011000110000100111111000000000
+01100000000000010000001001100100
+01101000000000001100011010000001
+11000000000000000100110110000101
+00100000001000000101000011101111
+01101000000000010000001001100110
+00100000001110100100110111111100
+01000111000001000100000000100001
+01101000000000001000001001101000
+11000000000000001100110110011101
+11000000001010000100110111100000
+11000000001010001100110111110101
+11000000001010010100110111110011
+11000000001010011100110111110011
+00100000001000000100110111111100
+01000111000001001100000000100001
+00100000010000000101001001111110
+01101000000000001100001001010110
+11000000000000000100110110011011
+11000000000000001100110110011011
+11000000000000010100110110011011
+11000000000000011100110110011011
+11000000010000001100110110011011
+11000000011000000100110110011011
+11000000010000000100110110011011
+11000000001000000100110110011011
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+00100000010000000100110110001111
+00100100011110100000000000000000
+00100000010000000101001010111000
+00100000010000000100111000000001
+01101000000010010000001001101111
+00100000001110100100110111111011
+00100000010000000101001011000001
+01101000000000010000001001101111
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+00100000001000000100110111111100
+01101000000000001100001101100100
+00100000011110100000000000000000
+00011111111000100010001000000000
+01000111000001010100000000100001
+01101000000000100000001011010101
+11011000010000000000000100000000
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01110000010000110110010000000000
+00011010001000100111111000000000
+11000000001010000100110110110111
+00100000001000000010101010001100
+11011001000000000000000000000000
+00100000010000000101001010111000
+00100000010000000100111001111010
+00100000010000000101001011000011
+00100000010000000111111010101000
+00100000010000000100111010101101
+00100000010000000101001011000001
+01011000000000000000000000001100
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+00100000001000000100110111111100
+01000111000001011100000000100001
+01101000000000010000001001110101
+00011111111000001111111000000100
+00011111111100011111111000000000
+00011111111010010111111000000000
+00011111111000001000010000000001
+11011000110000000100001001100000
+11101000110000011000000000000000
+00100000011110100000000000000000
+01100000000000011000101011000010
+01101000000000001000101011000010
+00011111111000100010001000000000
+00100000010000000100110111010011
+00011010010000100111111000000000
+01100000000000001100001001100000
+00100000011000000000000000000000
+11011000111000000000000000000000
+11011010010000000000000000000000
+00011000111001100111110000000111
+00100100011000010000000000000000
+10101010001011111111111111111111
+00100000001000001100110111011010
+00100000001000000100110111011110
+00011000010000100111111000000000
+00100000001110100100110111011110
+11111001001000000010010000000000
+00011000010000001000010111111111
+00011000111000001000111000000001
+00100000001000000100110111010101
+00100000010000000101001001110100
+00100100011110100000000000000000
+00100000010000000100110110001111
+00100100011110100000000000000000
+00100000010000000101001011000101
+00100000010000000110111000010001
+00100000010000000100110111000011
+00100000001000000100110111101100
+00100000010000000101001001110100
+00100100011110100000000000000000
+00100000010000000101001011000101
+00100000010000000110111000010001
+00100000010000000101001011001110
+01101000000000010000001001110101
+00100000001110100100110111111011
+11100000101000010000000000000000
+01101000000000010100001001001000
+11100000101000010000000000000000
+00100000001000000100110111111100
+00100000010000000100110100110011
+00100000001000000100110111111100
+01000111000001100100000000100001
+01110000000000101000010000000000
+00100000010000000110101010001010
+01101000000000001000001010000100
+11000001000000001000000000000000
+00100000001000000100110111111100
+00100000010000000101001001100100
+01011000000000000000000000000000
+01100000000000010000001001100110
+01100000000000010000001001101000
+01110000000000100110101000000001
+00100000011000000000000000000000
+01000111000001101100000000100001
+00100000010000000101001011000011
+00011000000000000010010000000000
+01101000000000010000001001100110
+00011111111000100010011000000000
+01101000000000010000001001100100
+10011000000000000000110000000000
+00100000010000000100111000010000
+00011010011000100111111000000000
+00011010011000001010011111111100
+00011111111000001111111111111100
+00100100001110100100111000001000
+00011010010000100111111000000000
+01100000000000010000001001101111
+00100000011000000000000000000000
+01000111000001110100000000100001
+11101000110000001000000000000000
+11000000000000001100111001001001
+11000000000000010100111001010001
+11000000000000011100111011010101
+11000000000000100100111100000101
+11000000000000101100111110100010
+11000000000000110100111111001011
+11000000000000111101000000011011
+11000000000001000101000001010000
+11000000000001001101000001100000
+11000000000001010100111000011111
+11000000000001011101000001100001
+00100000010000000101000001100010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+01011000000000000000000000001011
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+11101000110000010000000000000000
+11000000000000010100111000101101
+11000000000000011100111000110011
+00100000011000000000000000000000
+01011000000000100000000000001000
+11100000101000110000000000000000
+01011000000000000000001010000000
+11100000101000100000000000000000
+00011000000000000111111000001100
+00100000001000000100111000111000
+01011000000000110000000000001100
+11100000101000110000000000000000
+01011000000000000000000000000110
+11100000101001000000000000000000
+00011000000000000111111000010000
+10011010010000001010010000000000
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+01100000000000010000101010100010
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000010000000101001011000011
+01011000000000000000000000001011
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01101000000000010000101010100010
+00100000001000000100111000101010
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+10011000110000001000110000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000100111000011110
+00100000010000000111111010101000
+00100000010000000111111010101101
+11011001000000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+01000111000001111100000000100001
+00011000010000100111111000000000
+11000000000000001100111001100100
+11000000000000011100111010000110
+11000000000010001100111010010010
+11000000000010011100111010011101
+00100000010000000101000001100010
+00100000001000000100111011010100
+00100000010000000111111010101000
+11011000010000000000000001010000
+01101000000000010100001001001000
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001000
+00011100010000100111111000000000
+01100000000000100000001011010101
+00100000010000000100111001101110
+00100000001000000100111010101001
+01100000000010010000001011010011
+00011001011000100111111000000000
+01100000000000010000001011001001
+00011010001000100111111000000000
+01100000000000010000001011001011
+00011010010000100111111000000000
+01100000000000010000001011001101
+00011010011000100111111000000000
+01100000000000010000001011001111
+00011000111000100111111000000000
+01100000000000010000001011010001
+00100000011000000000000000000000
+01101000000010010000001011010011
+01101000000000010000001011001001
+00011111111000100001011000000000
+01101000000000010000001011001011
+00011111111000100010001000000000
+01101000000000010000001011001101
+00011111111000100010010000000000
+01101000000000010000001011001111
+00011111111000100010011000000000
+01101000000000010000001011010001
+00011111111000100000111000000000
+00100000011000000000000000000000
+00100000010000000111111010101000
+01011000000000000000000001010001
+11011000010000000000000001010001
+01101000000000010100001001001010
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001010
+01101000000000001100001001010001
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010001
+00100000001000000100111010110001
+00100000010000000111111010101000
+11011000010000000000000001010010
+01101000000000010100001001001100
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001100
+01101000000000001100001001010010
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010010
+00100000001000000100111010110001
+00100000010000000111111010101000
+00011011010000100111111000000000
+11011000010000000000000001010011
+01101000000000010100001001001110
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001110
+01101000000000001100001001010011
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010011
+00100000001000000100111010110001
+01011000000000000000000000000001
+01100000000000010000001001111101
+01110000010000110110010001010000
+00100000001000000100111010110011
+01101000000000001100001001010000
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010000
+01011000000000000000000000000000
+01100000000000010000001001111101
+01000111000010000100000000100010
+00100000010000000111111010101101
+01011000000000000000000000000011
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000001000
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+01101000000000010000001001111101
+11000000000000001100111011001001
+00101001000011000000000000000000
+00100000001000001100111011000100
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+01011000000000000000000000001100
+00100000001000000100111011010000
+11100000101000010000000000000000
+00011000000000000111111000000010
+11100000101000010000000000000000
+01011000000000000000000000001100
+00100000001000000100111011010000
+01111001001000000001000000000000
+00100000001000000100111010110001
+10011010010000001010010000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000100111011010100
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+01000111000010001100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101100111011101101
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101100111011110011
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101100111011111111
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101100111011111001
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100000000000010100001001001000
+01101000000000001100001001010000
+01111001001000000111111000000001
+01100000000000001100001001010000
+00100000001000000100111000011110
+00011001011000100111111000000000
+01100000000000010100001001001010
+01101000000000001100001001010001
+01111001001000000111111000000001
+01100000000000001100001001010001
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100000000000010100001001001100
+01101000000000001100001001010011
+01111001001000000111111000000001
+01100000000000001100001001010011
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100000000000010100001001001110
+01101000000000001100001001010010
+01111001001000000111111000000001
+01100000000000001100001001010010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+00011000010000100010001000000000
+01000111000010010100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101100111100011100
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101100111100111010
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101100111100100110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101100111100110000
+00100000001000000101000001100010
+00011000101000100001011000000000
+01101000000000001100001001010000
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010000
+00011001011000100000101000000000
+11011001011000000000000001010000
+01101000000000010100001001001000
+00011111111000100000010000000000
+00100000001000000100111101000011
+00011000101000100001011000000000
+01101000000000001100001001010010
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010010
+00011001011000100000101000000000
+11011001011000000000000001010010
+01101000000000010100001001001100
+00011111111000100000010000000000
+00100000001000000100111101000011
+00011000101000100001011000000000
+01101000000000001100001001010011
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010011
+00011001011000100000101000000000
+11011001011000000000000001010011
+01101000000000010100001001001110
+00011111111000100000010000000000
+00100000001000000100111101000011
+00011000101000100001011000000000
+01101000000000001100001001010001
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010001
+00011001011000100000101000000000
+11011001011000000000000001010001
+01101000000000010100001001001010
+00011111111000100000010000000000
+01000111000010011100000000100010
+01011000000000000000000000000101
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000110
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001010
+10011010010000001010010000000000
+01100000000010010000001010000010
+00011000111000100111111000000000
+01100000000000001000001010000001
+00011000000000000111111001010000
+10101001011000011111111000000000
+00100000001000001100111101011001
+00011111111000001111111000000001
+00100000011000000000000000000000
+01111000010101000111110000000000
+11000011100000010000000000000000
+11000100000000000000000000000000
+11000100000000001000000000000000
+01111001001000000111111000000010
+00011000110000100000101000000000
+00011000101000001000101111111111
+11100000101000001000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000001100001001010000
+00100000010000000100111101011010
+00100100001101000100111101101011
+01110000000000101000000001010000
+01101000000000010100001001001000
+01100000000000010000001010000010
+00100000001000000100111101111111
+01101000000000001100001001010001
+00100000010000000100111101011010
+00100100001101000100111101110010
+01110000000000101000000001010001
+01101000000000010100001001001010
+01100000000000010000001010000010
+00100000001000000100111101111111
+01101000000000001100001001010010
+00100000010000000100111101011010
+00100100001101000100111101111001
+01110000000000101000000001010010
+01101000000000010100001001001100
+01100000000000010000001010000010
+00100000001000000100111101111111
+01101000000000001100001001010011
+00100000010000000100111101011010
+00100100011101000000000000000000
+01110000000000101000000001010011
+01101000000000010100001001001110
+01100000000000010000001010000010
+01000111000010100100000000100010
+00100000010000000101001000111010
+00100000010000000101001010111000
+00011000000000000010010000000000
+00100000010000000101001011000011
+00011000000000000111111000000100
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000000010000001010000010
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000001000000000000000
+00011000000000000111111000000010
+11100000101000001000000000000000
+01101000000000001000001010000000
+11000000001010001100111110010111
+01011000000000000000000000110000
+11100000101000010000000000000000
+00100000001000000100111110011001
+01011000000000000000001111100011
+11100000101000010000000000000000
+11011000010000000000000000001100
+01100000000010010000001001101111
+00100000010000000101001011000001
+01101000000000010000001001101111
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+01110000000000101000000000000000
+00100000001000000100111000011110
+00011000110000001000110000000001
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+01000111000010101100000000100010
+01011000000000000000000001010000
+10011010001001100111110000000000
+00100000001000101100111110111010
+01011000000000000000000001010001
+10011010001001100111110000000000
+00100000001000101100111110111110
+01011000000000000000000001010010
+10011010001001100111110000000000
+00100000001000101100111111000010
+01011000000000000000000001010011
+10011010001001100111110000000000
+00100000001000101100111111000110
+00011000110000001000110000000010
+11101000110000010000000000000000
+10011000000000000111110000000000
+00100000001000000100111000011110
+01101000000000001100001001010000
+01111001001000000111111000000101
+01100000000000001100001001010000
+00100000001000000100111000011110
+01101000000000001100001001010001
+01111001001000000111111000000101
+01100000000000001100001001010001
+00100000001000000100111000011110
+01101000000000001100001001010010
+01111001001000000111111000000101
+01100000000000001100001001010010
+00100000001000000100111000011110
+01101000000000001100001001010011
+01111001001000000111111000000101
+01100000000000001100001001010011
+01110000000010101001100100000110
+00100000001000000111110110000110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+00011010001000100000010000000000
+00100000010000000111111010101000
+01000111000010110100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101100111111110010
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000000000010
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101100111111100110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101100111111101100
+00100000010000000101000001100010
+00100000001000000101000000010111
+00011001011000100000010000000000
+01101000000000010100001001001100
+10011000010001100111110000000000
+00100000001000101100111111111000
+00100000010000000101000001100010
+00100000001000000101000000010111
+00011001011000100000010000000000
+01101000000000010100001001001110
+10011000010001100111110000000000
+00100000001000101100111111111010
+00100000010000000101000001100010
+00100000001000000101000000010111
+00011001011000100000010000000000
+01101000000000010100001001001000
+10011000010001100111110000000000
+00100000001000101100111111111110
+00100000010000000101000001100010
+00100000001000000101000000010111
+00100000010000000101000001111001
+00100000001000000101000000001010
+00100000010000000101000001111111
+01101000000000010100001001001100
+00100000001110100101000000001010
+00100000001000000101000000001010
+00100000010000000101000001110100
+01101000000000001000001010001000
+00100100001110100101000000001010
+00100000001000000101000000001010
+00011001011000100000010000000000
+01101000000000010100001001001010
+10011000010001100111110000000000
+00100000001000101101000000001000
+00100000010000000101000001100010
+00100000001000000101000000010111
+00100000010000000101000001101111
+00100000001000000101000000001010
+00100000010000000111111010101101
+01011000000000000000000000000111
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001000
+00100000001000000101000000011001
+00100000010000000111111010101101
+00100000001000000101000000011001
+10011010010000001010010000000000
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+00100000010000000111111010101000
+01000111000010111100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000000110101
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000000111011
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000001000001
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000001000111
+00100000010000000101000001100010
+00100000001000000101000001001111
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001000
+10011000010001100111110000000000
+00100000010000101101000001110100
+00100000001000000101000001001101
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001010
+10011000010001100111110000000000
+00100000010000101101000001101111
+00100000001000000101000001001101
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001100
+10011000010001100111110000000000
+00100000010000101101000001111001
+00100000001000000101000001001101
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001110
+10011000010001100111110000000000
+00100000010000101101000001111111
+00100000001000000101000001001101
+00100000010000000111111010101101
+00100000001000000100111000011110
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+10011000110000001000110000000000
+01011000000000000000000000001001
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000100
+10011010010000001010010000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000100111000011110
+00100000001000000100111000011110
+00100000001000000100111000011110
+00011000000000000010010000000000
+00100000010000000101001011000011
+01011000000000000000000000000001
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000010
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+00011010010000001010010000000110
+11011010011000000000000000000100
+00100000001000000100111000011110
+01011000000000000000000000000000
+01100000000000010000001001111011
+01100000000000010100001001001010
+01110000010000100101000100000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010000001001110101
+01100000000000010100001001001000
+01110000010000100101000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100001001001100
+01110000010000100101001000000000
+01101000000000001100001001010011
+11000000000000000101000010000101
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100001001001110
+01110000010000100101001100000000
+01101000000000001100001001010010
+11000000000000000101000010000101
+00100000011000000000000000000000
+01110000000010101001100100000111
+00100000001000000111110110000110
+01101000000000001000001001111111
+01111001001111111111111000000000
+01100000000000001000001001111111
+01101000000000010100001001001110
+00100000011110100000000000000000
+00100000010000000101001010111000
+01101000000000010100001001001110
+00011111111000100010001000000000
+00011000000000000010010001010011
+00100000001000000101000010011010
+01101000000000001000001001111111
+01111001001111111111111000000111
+01100000000000001000001001111111
+01101000000000010100001001001100
+00100000011110100000000000000000
+00100000010000000101001010111000
+01101000000000010100001001001100
+00011111111000100010001000000000
+00011000000000000010010001010010
+00100000010000000101001000111010
+00100000010000000101001011000011
+00011000000000000111111000000110
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011010010000100111111000000000
+11100000101000010000000000000000
+00011000000000000000010000001000
+00100000001000000101000011011110
+01000111000011000100000000100011
+00100000010000000101001000111010
+00100000010000000101001011000011
+01011000000000000000000000000010
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+11011000010000000000000000001000
+00100000001000000101000011011110
+01000111000011001100000000100011
+00100000010000000101001000111010
+00100000010000000101001011000011
+01011000000000000000000000000100
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000001000
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+01011000000000000000000000000010
+11100000101000001000000000000000
+01011000000000000000001111100011
+11100000101000010000000000000000
+11011000010000000000000000001100
+00100000001000000101000011011110
+01000111000011010100000000100011
+00100000010000000101001000111010
+00100000010000000101001011000011
+01011000000000000000000000000110
+11100000101000001000000000000000
+01101000000000001100001001010101
+00011111111000001111111000000001
+00011000101000100010001000000000
+01100000000000001100001001010101
+00011010001000100000101000000000
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+11011000010000000000000000001000
+01100000000010010000001001101111
+00011000010000100111111000000000
+00100000001110100101001001100100
+00100000010000000101001011000001
+01101000000000010000001001101111
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+00100000011000000000000000000000
+01101000000000010000001001110101
+00100000001110100010101010001100
+00100000010000000101001011001110
+01101000000000010000001001110101
+11100000101000010000000000000000
+01101000000000010100001001001000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01101000000000010000001001100110
+00100000001110100100110111111100
+01000111000011011100000000100011
+01101000000000001000001001101000
+11000000000000001101000011111001
+11000000001010000100110111101000
+11000000001010001100110111110101
+11000000001010010100110111110011
+11000000001010011100110111110011
+00100000001000000100110111111100
+01000111000011100100000000100011
+00100000010000000101001010111000
+00011000000000000010010000000000
+00100000010000000101001011000011
+00011111111000100000101000000000
+01101000000000010000001001100110
+00011111111000100010011000000000
+01101000000000010000001001100100
+10011000000000000000110000000000
+00100000010000000101000100001000
+00011010011000001010011111111100
+00100100001000101101000100000010
+00011010010000100000010000000000
+00100000010000000101000011011110
+00100000001000000100110111111100
+11101000110000001000000000000000
+11000000000000010101000100010011
+11000000000000001101000100010110
+11000000000000011101000100100000
+11000000000000101101000101011100
+11000000000000100101000110001110
+11000000000000111101001000010011
+11000000000000110101000111100001
+11000000000001000101000001010000
+11000000000001010100111000111010
+00100000001000000101001000101110
+00100000010000000111111010101000
+00100000010000000111111010101101
+00100000001000000100111001010001
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000001000000000000000
+00011010001000001010001111111111
+00100100001000101101000100011100
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+11101000110000010000000000000000
+00011111111001100111110000000000
+00100000001000101101000100110010
+11000000000000010101000100101110
+11000000000000100101000100101110
+00100000001000000101000100110000
+01110000000010101001100100010110
+00100000010000000111110110000110
+11101000110000010000000000000000
+00100000001000000101000101011001
+00100000010000000111111010101000
+01000111000011101100000000100011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000101000001
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000101000111
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000101010011
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000101001101
+00100000001000000101000101011001
+00011001011000100111111000000000
+01100000000000010100001001001000
+01101000000000001100001001010000
+01111001001000000111111000000001
+01100000000000001100001001010000
+00100000001000000101000101011000
+00011001011000100111111000000000
+01100000000000010100001001001010
+01101000000000001100001001010001
+01111001001000000111111000000001
+01100000000000001100001001010001
+00100000001000000101000101011000
+00011001011000100111111000000000
+01100000000000010100001001001100
+01101000000000001100001001010010
+01111001001000000111111000000001
+01100000000000001100001001010010
+00100000001000000101000101011000
+00011001011000100111111000000000
+01100000000000010100001001001110
+01101000000000001100001001010011
+01111001001000000111111000000001
+01100000000000001100001001010011
+00100000010000000111111010101101
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+11101000110000010000000000000000
+00100100001110100101000110001000
+00100000010000000111111010101000
+00011001011000100000010000000000
+01000111000011110100000000100011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000101110110
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000101111010
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000101111110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000110000010
+01101000000000001100001001010000
+01111001001000000111111000000101
+01100000000000001100001001010000
+00100000011000000000000000000000
+01101000000000001100001001010001
+01111001001000000111111000000101
+01100000000000001100001001010001
+00100000011000000000000000000000
+01101000000000001100001001010010
+01111001001000000111111000000101
+01100000000000001100001001010010
+00100000011000000000000000000000
+01101000000000001100001001010011
+01111001001000000111111000000101
+01100000000000001100001001010011
+01110000000010101001100100000110
+00100000001000000111110110000110
+00100000010000000111111010101101
+00011010001000001010001111111010
+00100000001000101101000110001101
+00011000110000001000110000000001
+00011010001000001010001111111111
+00100000001000000101000110001001
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011000110000001000110000000010
+00011111111000100000010000000000
+01011000000000000000000000000101
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+00011010001000001010001000000010
+00011010001000100111111000000000
+11100000101000010000000000000000
+00100000010000000111111010101000
+01000111000011111100000000100011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000110101101
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000110111110
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000111000100
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000111001010
+00100000001000000101000111001111
+01101000000000001100001001010000
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010000
+11000010100000010101000110111011
+01101000000010001000001001111111
+01111001001000000000010000000110
+01100000000010001000001001111111
+00011000111000100111111000000000
+00011111111000001111111000000001
+01100000000000001000001010000001
+01101000000000001100001001010000
+01111001001000000111111000000010
+01100000000000001100001001010000
+01101000000000010100001001001000
+01100000000000010000001010000010
+00100000001000000101000111001111
+01101000000000001100001001010001
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010001
+01101000000000010100001001001010
+00100000001000000101000111001111
+01101000000000001100001001010010
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010010
+01101000000000010100001001001100
+00100000001000000101000111001111
+01101000000000001100001001010011
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010011
+01101000000000010100001001001110
+00011111111000100001011000000000
+00100000010000000111111010101101
+00011001011000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001010
+10011010010000001010010000000000
+00011010001000001010001111111010
+00100000001000101101000111100000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+00011010001000001010001111111111
+00100000001000000101000111011010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+00100000010000000111111010101000
+01000111000100000100000000100100
+01011000000000000000000001010000
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101000111111010
+01011000000000000000000001010010
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101000111111111
+01011000000000000000000001010011
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101001000000001
+00100000001000000101001000000011
+01011000000000000000000000000000
+01100000000000010000001001110101
+01100000000000010100001001001000
+01100000000000001100001001010000
+00100000001000000101001000000101
+00100000010000000101000001111001
+00100000001000000101001000000101
+00100000010000000101000001111111
+00100000001000000101001000000101
+01011000000000000000000000000000
+01100000000000010000001001111011
+00100000010000000111111010101101
+01011000000000000000000000000111
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001000
+10011010010000001010010000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+00100000010000000111111010101000
+01000111000100001100000000100100
+01101000000000001100001001010101
+10101000111000011111111000000000
+00100100001000001101001000101010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101001000100111
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101001000101010
+00100000001000000101001000101010
+01110000010000100100100000000000
+01110000010000100101000000000000
+00100000001000000101001000101010
+00100000010000000111111010101101
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000011000000000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+01011000000000000000000000000010
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+01011000000000000000000000000110
+10011010010000001010010000000000
+00011000000000000010011000000100
+00100000011000000000000000000000
+01101000000000001100001001010101
+00011111111000001111111000000001
+11000000100000000101001000111110
+00011111111000001111111000000001
+01100000000000001100001001010101
+00100000011000000000000000000000
+01000111000100010100000000100100
+11011010010000000000000000000000
+00100000010000000101001001101110
+00100100001110100010101010001100
+00100000010000000101001001111110
+11011010010000000001100000000000
+11011000111000000000000000000000
+01101000000010001100001001010110
+10101000010011111111111111111111
+00100000001000001101001001001111
+00100000010000000101001010100000
+00011001011001100111110000000000
+00100000001000010101001001001111
+00100000010000000101001010001000
+00100000001000000101001001010101
+00011010010000001010010010000000
+00011000111000001000111000000001
+01011000000000000000000000001000
+10011000111001100111110000000000
+00100000001000010101001001000111
+11011010010000000000000000000000
+00011010010000100111111000000000
+00100000001110100010101010001100
+00100000011000000000000000000000
+01000111000100011100000000100100
+00100000010000000101001001110111
+00011000110000001000110000000001
+11101000110000010000000000000000
+00100000011000000000000000000000
+01000111000100100100000000100100
+00100000010000000101001001110111
+00011000110000100000101000000000
+00011000110000100000010000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+00100000011000000000000000000000
+01000111000100101100000000100100
+00100000010000000101001001110100
+00100000001110100010101010001100
+01101000000000011100001001011101
+01100000000000011100001001100000
+01101000000000011100001001011010
+01100000000000011100001001011101
+01101000000000011100001001010111
+01100000000000011100001001011010
+00100000011000000000000000000000
+01000111000100110100000000100100
+01101000000000011100001001010111
+00100000011000000000000000000000
+01000111000100111100000000100100
+01101000000000011100001001011010
+00100000011000000000000000000000
+01000111000101000100000000100101
+01101000000000011100001001100000
+00100000011000000000000000000000
+00100000010000000101001001110100
+00100000001110100010101010001100
+11011000110000000100001001010111
+11101000110000011000000000000000
+00100000001110100101001001111010
+00011000110000001000110111111101
+00100000011000000000000000000000
+01000111000101001100000000100101
+11011111001000000000000000000100
+11011000110000000100001001010111
+11011000010000000000000000000000
+11101000110000011000000000000000
+00011111111000010111111011111111
+10011000010000011000010000000000
+11000010000000000101001010000010
+01100000000010001100001001010110
+00100000011000000000000000000000
+01000111000101010100000000100101
+00100000010000000101001001101110
+00100100001110100010101010001100
+00100000010000000101001001110100
+00100000001110100101001010010101
+01101000000000011100001001011010
+01100000000000011100001001010111
+11101000110000011000000000000000
+11100000101000011000000000000000
+11101000110000011000000000000000
+11100000101000011000000000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+11011000010000000000000000000000
+00011001011000100111111000000000
+10011000111000001111111000000000
+11111001001000000000010000000000
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100100001000101101001010011000
+00011010010011010111111000000000
+10011000010000011111111000000000
+01100000000000011100001001100000
+00100000011000000000000000000000
+01000111000101011100000000100101
+00100000010000000101001001111110
+00011000111000100010011000000000
+11011000010000000000000000000000
+11011001011000000000000000000000
+00011000111000100111111000000000
+11000000000001000101001010110000
+01101000000000001100001001010110
+10101111111011111111111111111111
+00100000001000001101001010110000
+00011000010000001000010010000000
+00011000111000001000111000000001
+00011010001000100111111000000000
+10011000010001100111110000000000
+00100000001000101101001010110000
+00100000001000010101001010100101
+00011000010000100111111000000000
+10011010001001100111110000000000
+00100100001000010101001010110110
+00011000111000100111111000000000
+00011010011000100000010000000000
+10011000010001100001011000000000
+00011010011000100000111000000000
+00100000011000000000000000000000
+01000111000101100100000000100101
+11011010001000000000000001111111
+00100000010000000101001001000000
+01100000000000010000001001101011
+00011111111000001111111000000100
+01100000000000010000001001101101
+01011000000000000000000000000000
+01100000000000010000001001101111
+00100000011000000000000000000000
+01101000000000010000001001101011
+00100000001000000101001011100010
+01101000000000010000001001101101
+00100000001000000101001011100010
+01000111000101101100000000100101
+11011010001000000000000011111010
+00100000010000000101001001000000
+01100000000000010000001001110001
+00011111111000001111111000000100
+01100000000000010000001001110011
+01011000000000000000000000000000
+01100000000000010000001001110101
+00100000011000000000000000000000
+01101000000000010000001001110001
+00100000001000000101001011100010
+01101000000000010000001001110011
+00100000001000000101001011100010
+01000111000101110100000000100101
+00100000010000000111111001111100
+01110000000000101000010000000001
+00100000010000000101001001101110
+00100100011110100000000000000000
+11011010001000000000000001111111
+00100000010000000101001001000000
+01100000000000010000001001110111
+00011111111000001111111000000100
+01100000000000010000001001111001
+01011000000000000000000000000000
+01100000000000010000001001111011
+01110000000000101000010000000000
+00100000001000000111111010001100
+01101000000000010000001001110111
+00100000001000000101001011100010
+00100000001110100010101010001100
+00011111111000100000101000000000
+00100000011000000000000000000000
+01000111000101111100000000100101
+11011010010000000000000000000000
+11011010001000000100001001010111
+00011010001000001010001111111110
+00011010001000001010001000000010
+01011000000000000100001001100011
+10011010001001100111110000000000
+00100000001000101101001011110101
+11101010001000001000000000000000
+00011010001000001010001000000001
+00100000001110100101001011101001
+11101010001010010000000000000000
+11101000010000010000000000000000
+10011010010000001010010000000000
+00011010010000001010010000000100
+00100000001000000101001011101001
+00011010010000100111111000000000
+00100000011000000000000000000000
+11011000111000000000000000001100
+00100000001000000010110000110010
+11011000111000000000000000001100
+00100000001000000010110000110110
+01000111000110000100000000100110
+00100000010000000101001001111110
+01101000000000001100001001010110
+00100000011110100000000000000000
+00100000010000000101001011100101
+11011000010000000000000100000000
+10011000010001100111110000000000
+00100000001000010101001011110111
+00100000010000000101001011111001
+11011000101000000100001001100011
+11011010001000000100001001010111
+01011000000000000100001001100011
+10011010001001100111110000000000
+00100000011000101000000000000000
+11101010001000001000000000000000
+00011010001000001010001000000001
+00100100001110100101001100001111
+11100000101000010000000000000000
+00011010001000001010001000000010
+00100000001000000101001100000110
+11101010001000010000000000000000
+00011010001000001010001000000010
+00011111111000100000110000000000
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011111111000100111001000000000
+00011111001000001111001000000010
+00100000010000000111111100000001
+00100000001000000101001100000110
+01000111000110001100000000100110
+00100000010000000101001001111110
+01101000000000001100001001010110
+00100000011110100000000000000000
+11011010001000000100001001011000
+00011010001000001010001111111101
+11011000110000000100001001100011
+00011010001000001010001000000011
+01011000000000000100001001100100
+10011010001001100111110000000000
+00100000011000101000000000000000
+11101000110000010000000000000000
+00100000001110100101001100011111
+00011111111000001111111000000100
+00011111111000100111001000000000
+00011000110000100010010000000000
+11101010001000010000000000000000
+00011111111000100000101000000000
+00011010010000100000110000000000
+00011000110000001000110111111110
+00100000010000000111111100000001
+00100000001000000101001100011111
+01000111000110010100000000100110
+01111000010101011111110000000000
+01110000000001000101010100000001
+01110000000001000011111100000011
+01110000000001000101011000000001
+01011111111111111111111111111111
+01100000000000010000010001011001
+00011000000000000111111000000000
+01100000000000001000010001010111
+01100000000000001000010001100010
+01100000000000011100000101101001
+01100000000000011100000101101100
+01100000000000101100010000000011
+01111001001000000111111000100111
+01100000000000101100010000001000
+01110000010000111101110000000001
+01110000010000111101110100000000
+00100000001000000101011011101101
+01000111000110011100000000100110
+01111000001101001111110000000000
+01110000000001000100000000000011
+01110000000001000111100000000001
+01110000010001000101101000000001
+01011000000000001111111111111111
+01100000000000010100010001011100
+00011000000000000111111000000000
+01100000000000101100010000001000
+01111001001000000111111000100111
+01100000000000101100010000000011
+00100000001000000101001100101110
+01000111000110100100000000100110
+01111000010101001111110000000000
+01011000000000000000000000010111
+01100000000000010100010010101000
+01110000000001000100000000000001
+01110000010000110110111000000000
+01110000000000001010000000000000
+01110000010001001100010000000000
+01110000010001001100010100000000
+01101000000000010000010001101101
+01100000000000010100010010111010
+01101000000000010000010001000001
+00011111111011111111111000000101
+00011111111100011111111000000000
+01100000000000010000010001101101
+00100000001000000101001100101110
+00100000010000000101001111000100
+00100000010000000101010111101000
+00100000010000000101011011110000
+00100000001000000101001111001110
+01000111000110101100000000100110
+00100000010000000101001111000100
+00100000010000000011001011110100
+01101000000000001000010001000000
+11000000000000011101001101100110
+00100000001000000101001101111010
+01000111000110110100000000100110
+01111000001101001111110000000000
+00100000010000000101011011100100
+00100000001000010101001101110111
+00100000010000000010110001101100
+00100000010000000101010000010011
+00100000010000000101011000011110
+01111000010101101111110000000000
+00100000010000000101010010111111
+00100100011101101000000000000000
+01000111000110111100000000100110
+01101000000000001000000000000101
+00011111111000001111111000000001
+01100000000000001000000000000101
+00100000010000000101010110101010
+01111000010101001111110000000000
+00100000011000000000000000000000
+00100000010000000101001110101001
+01111000010101001111110000000000
+00100000011000000000000000000000
+01000111000111000100000000100111
+01110000010001010000111100000000
+00100000010000000111101010101111
+00100000010000000101110000011000
+01111000010101110111110000000000
+00100000010000000101011011100100
+00100000001000010101001110101001
+00100000010000000010110001101100
+00100000010000000101010000010011
+00100000010000000101010010001001
+00100100001011000101001110011011
+00100000010000000101001110110111
+00100000001101101101001110001000
+00100000001000000101001110010101
+01000111000111001100000000100111
+01101000000000001100010100001111
+00011111111000001111111000000001
+01100000000000001100010100001111
+11000000000001100101001110010101
+00100000010000000101010110101010
+00100000010000000101011000011110
+00100000010000000101010011000111
+00100000010000000101011001111110
+01101000000000010100000111111011
+00100000010000000111111110011100
+00100000010000000101001110100000
+00100000001101000101001110100100
+01000111000111010100000000100111
+00100000010000000101101111100100
+00100000010000000101101111011011
+00100000010000000111110110011100
+01101000000000001000010001100010
+11000010100000011101001110101001
+01000111000111011100000000100111
+00100000010000000101011111110100
+00100000010000000101010110011101
+00100000010000000101010101110101
+00100000001000000010100001000001
+01111000010101000111110000000000
+11000101000101010111111111100111
+11000101000101001111111111100111
+00100000011000000000000000000000
+01000111000111100100000000100111
+01111000001101110111110000000000
+00100000010000000101010011000001
+00100000001101101101001110001000
+00100000001000000101001110010101
+01000111000111101100000000100111
+00100000010000000101001110101111
+00100000010000000011001110110100
+00100000010000000111101001110111
+01110000000010101001100100010101
+00100000001000000111110110000110
+01011000000000000000000000000000
+01100000000001001100010011111111
+01110000000001000101010100000000
+01110000000001000100000000000000
+01110000000001000011111100000000
+01110000010001001100010100000000
+01110000010001001100010000000000
+00100000011000000000000000000000
+01000111000111110100000000100111
+01101000000000001000000000000101
+00011111111000001111111000000001
+01100000000000001000000000000101
+01101000000000001000010000111111
+11000011100000011000000000000000
+01111001001000000111111000000011
+01100000000000001000010000111111
+01101000000000010100010010111010
+01100000000000010000010001101101
+01011000000000000000000000000000
+01100000000000100100010011100101
+00100000011000000000000000000000
+01000111000111111100000000100111
+01110000100010010000111100110110
+01110000100010010000101101011111
+01111000001110110111110000000000
+01110000100010010001010000000111
+00100000010000000010110001101100
+01101000000000001100000111100000
+00100000011110100000000000000000
+01110000100010010000101010111000
+00100000011000000000000000000000
+01000111001000000100000000101000
+01110000100010010000111100101110
+01110000100010010000101111111111
+01111000010110110111110000000000
+01110000100010010001010000000011
+11011011011000000000000000000000
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01101000000000011000010001100111
+10011000000000000001111000000000
+01101000000000001000000000010110
+00011111111011011000010000000000
+01111001001000000000010000000001
+00011000010000110001110000000000
+00100000011000000000000000000000
+00100000010000000101001111100110
+00100000010000000010100100011111
+01011000000000000000010100000000
+00100000010000000010101010001111
+00100000001000000010100100100100
+00100000001101101010100100111001
+00100000010000000101001111100110
+00100000001000000010100100110011
+01000111001000001100000000101000
+00100000010000000010100100011000
+01101000000000001000010010001100
+00100100001110100101001111111001
+01101000000000001000000000010110
+00011111111001100111110000100100
+00100000001000010101001111110011
+00011000000000000000010000000000
+11000001000100101000000000000000
+00011000000000000000010000011000
+11000001000100110000000000000000
+00011000000000000000010001001110
+00100000011000000000000000000000
+00011111111001100111110000001010
+00100000001000010101001111110110
+00011111111000001111111000000001
+00011111111000111111111000000000
+00011111111000001000010000000010
+00100000011000000000000000000000
+01101000000000001000000000010110
+00011111111000111000010000000000
+00100000011000000000000000000000
+11011000010000000000000111110100
+00100000011110100000000000000000
+11011000010000000000000011111010
+11000001000000001000000000000000
+11011000010000000000000010010110
+11000001000000010000000000000000
+11011000010000000000000001100100
+11000001000000011000000000000000
+11011000010000000000000001001011
+11000001000000100000000000000000
+11011000010000000000000000110010
+11000001000000101000000000000000
+11011000010000000000000000101000
+11000001000000110000000000000000
+11011000010000000000000000010100
+00100000011000000000000000000000
+01011000100011101000100110111110
+00011111111011010111111000000000
+00011111111000011111111011010110
+10011000000000000001001000000000
+01011000010101010101010101010101
+01100000000000011000010001100111
+00100000011000000000000000000000
+01000111001000010100000000101000
+01111000001010000111110000000000
+01101000000000100000010001100011
+10011000000000000001001000000000
+00100000010000000101010001100110
+01011000000000000000001000000000
+00100000001101001101010000011100
+01101000000000010000010001001101
+00011111111000110111111000000000
+11011000010000000000010100000000
+10011000010000001111111000000000
+00100000010000000010101000100100
+00011011010000100111111000000000
+01100000000000110000010010010001
+00100000011000000000000000000000
+01000111001000011100000000101000
+01101000000000001000000000010110
+11000000000100101101010000101000
+11000000000100110101010000101110
+11000000000100111101010000110100
+00100000001000000101010000110100
+01101000000010001100010010001101
+00101000010011111111111000000001
+00100000001000001101010000111111
+00101000010011111111111000000010
+00100000001000001101010001000100
+00100000001000000101010000111010
+01101000000010001100010010001101
+00101000010011111111111000000010
+00100000001000001101010001000100
+00101000010011111111111000000000
+00100000001000001101010000111010
+00100000001000000101010000111111
+01101000000010001100010010001101
+00101000010011111111111000000000
+00100000001000001101010000111010
+00101000010011111111111000000001
+00100000001000001101010000111111
+00100000001000000101010001000100
+01110000000000000001011000100101
+01101000000000001000101011000010
+01111001001000000111111000000000
+01100000000000001000101011000010
+00100000011000000000000000000000
+01110000000000000001011000100110
+01101000000000001000101011000010
+01111001001000000111111000000001
+01100000000000001000101011000010
+00100000011000000000000000000000
+01110000000000000001011000100111
+01101000000000001000101011000010
+01111001001000000111111000000010
+01100000000000001000101011000010
+00100000011000000000000000000000
+01000111001000100100000000101000
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000100000000000000000000000000
+00011010001000001000101000011010
+11101000101000010000000000000000
+00011111111000001111111000000001
+11100000101000010000000000000000
+00011010001000001000110000011001
+11101000110000001000000000000000
+00011010001000001000101000011000
+11101000101010001000000000000000
+10011000010000001111111000000000
+00011111111001100111110000100100
+00100000001000010101010001011001
+00011111111000001111111111011011
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000111001000101100000000101000
+01101000000000101000010001101111
+00011000000000000000010000000000
+00011000000000000111001000100101
+11000011000000000101010001100001
+00011000010000001000010000000001
+00011111111000110111111000000000
+11000010000000000101010001011111
+00011000010000001111111111111111
+01100000000000001000010001100001
+00100000011000000000000000000000
+01000111001000110100000000101000
+01101000000000001000010001010111
+10011000000000000000111000000000
+01101000000010101000010001101111
+10101000010011111111111111111111
+00100000001000001101010001111100
+01000111001000111100000000101000
+01101000000000001000010001100001
+10011000111001100111111000000000
+00100000001000010101010001110010
+00011111111001100000111111111111
+00100000001000000101010001101100
+00011000111000100111001000000000
+00011000000000000000111000000000
+10101000010011111111111111111111
+00100000001000001101010001110111
+00011111001000001111001000000001
+00011111001000100111111000000000
+00100000001110100101010001111100
+00011000111000001000111000000001
+00011111001000001111001111111111
+00100000001000000101010001110100
+00011000111000100111111000000000
+01100000000000001000000000010110
+00100000011000000000000000000000
+00100000001101001101010010000010
+00110111110000011000001000000000
+00100000011000000000000000000000
+11011001011000000000111010100000
+00110100011100110000001000000000
+00100000011000000000000000000000
+01111000010010000111110000000000
+01101000000000010100001101101100
+00011111111000100001011000000000
+00100000001000000101010010001110
+01000111001001000100000000101001
+01111000001010000111110000000000
+01101000000000010000010001001101
+01101000000010100100010011100101
+10011000010000001001011000000000
+00100000010000000101001111011110
+01000111001001001100000000101001
+00100000010000000101001111010101
+01111000010101101111110000000000
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+00011001011000100011011000000000
+00110111110000011000010000000000
+00100000001101110101010010011010
+00011011010000100000010000000000
+01100000000010110000000010011010
+00100100001011000010011001001101
+00100000001101110101010010100001
+11011101001000000000000111100000
+00011100001000100101000000000000
+01101000000000001000010000111111
+11000011000000011101010010100001
+00100000010101011010101100000101
+01000111001001010100000000101001
+00100000010000000010100110111011
+01111000001000111111110000000000
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+01100000000000001000001011011001
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+00011111111000010111001000111111
+00100000001000101101010010110001
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000101010010101101
+01000111001001011100000000101001
+00001001100000000000000000011000
+01111000001010000111110000000000
+11011011011000000000011001100100
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+00100000001000110010011001001101
+01111000001101101111110000000000
+01101000000000001000000000010111
+00011111111000001010001000000000
+00100000010000000010100110000001
+01111000010001101111110000000000
+00100000001000000010100100011000
+01000111001001100100000000101001
+00100000010000000101010011001001
+01101000000010001000000000010111
+00100000010000000010100100011111
+00100000010000000010100100100100
+01111000001010000111110000000000
+11011001011000000001010101111100
+00100000001000000101010010001111
+00100000010000000101010011001001
+00100000001000000010011001001101
+01000111001001101100000000101001
+00100000010000000101001111010101
+00100000010000000101001111100011
+00100000001000000101010011001101
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00100000010000000101010001111111
+00011001001100010111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00001000000000001000011000101000
+01111000001000111111110000000000
+01111000001001001111110000000000
+01000111001001110100000000101001
+01101000000000001100001111011100
+00001000000000001000011000001000
+11101000110000001000000000000000
+00011111111000010111001000111111
+00001000000000001000011000001000
+00100000001000101101010011100010
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000101010011011111
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+00100000000000000000000001100100
+01111000010011101111110000000000
+00100000011000000000000000000000
+01000111001001111100000000101001
+01101000000000001100010010000100
+11000000000000001101010011111001
+01101000000000001100010010000101
+00011111111100100111111000000000
+00011111111010111111111000000000
+01100000000000001100001111011100
+01101000000010001100001101101111
+00011000010000001111111000000110
+01100000000000001100001111011101
+01101000000000110100010010100000
+01100000000000110100001111011110
+00011000010000100111001000000000
+11011000110000000100001101110000
+00100000010000000111111011110100
+00100000001000000101010100000100
+01101000000000001100010010000110
+00011111111100100111111000000000
+00011111111010111111111000000000
+00011111111000001111111000000001
+01100000000000001100001111011100
+01011000000000000000000000001100
+01100000000000001100001111011101
+01101000000000110100010010100000
+01100000000000110100001111011110
+01101000000000110100000111010000
+11100000101000110000000000000000
+01000111001010000100000000101010
+01101000000000001000000000000000
+00011111111000001111111000000001
+01100000000000001000000000000000
+11011011011000000000011100001000
+01111000010101101111110000000000
+00100000001000000101010010111111
+01000111001010001100000000101010
+01101000000000001100010010011110
+11000001100000001000000000000000
+01101000000000001000000000000000
+00011111111000001111111000000001
+01100000000000001000000000000000
+11011000010000000000110000000011
+01101000000000001100010010011111
+01111101001110100000010000000110
+00011010001000100111111000000000
+01111101001110100000010000000111
+01100000000010010100001111011100
+01101000000000110100010010100000
+11100000101000110000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+00100000001000000101010010111111
+01000111001010010100000000101010
+11011000010000000000000000000100
+01101000000000001100010010000101
+01111101001110100000010000000110
+01100000000010001100001111011100
+01101000000010001100001110001111
+00011000010000001111111000000110
+01100000000000001100001111011101
+01101000000000110100010010100000
+01100000000000110100001111011110
+11011000110000000100001110010000
+00011000010000100111001000000000
+00100000010000000111111011110100
+00100000010000000101010011000111
+00100000001000000101011100000110
+01000111001010011100000000101010
+00011000000000000111111111111111
+00111000000010000000000000000001
+01100000000000101000010001101111
+00100000010000000101010001011011
+00011000000000000111001000000100
+11011000101000000000010001100011
+00100000010000000110001100001101
+01101000000000010100010010011100
+01100000000000010000010001101101
+00011000000010100111111000000000
+00011111111000010111111000001111
+00011111111001100111110000000100
+00100000001000010101010100110101
+01100000000000001000010001011000
+01100000000000001000011011100110
+01000111001010100100000000101010
+01101000000010010100001101100111
+01100000000010010000010001000001
+00011000010000100010011000000000
+00011100010000001111111000000111
+10011010011001101111110000000000
+00100000010000000111111110000110
+00011000000001110010001000000000
+10011010001001100111111000000000
+10011010011000001111111000000000
+01101000000010010100001101100101
+10011000010000001111111000000000
+01100000000000100000010001000011
+10011100010001100010001000000000
+00011010001000001010001111111010
+11011010010000000010001000000101
+01101000000000001100010010010101
+01111101001110100010010000000110
+01101000000000001100010010001110
+01111101001110100010010000000111
+00011010010000100111111000000000
+01100000000000010100001111011100
+01101000000000110100010010100000
+11100000101000110000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+01101000000000100000010001100011
+11100000101000100000000000000000
+00011000000010100111111000000000
+11100000101000010000000000000000
+00011000000010100111111000000000
+11100000101000001000000000000000
+00011000000000000111111000000010
+11100000101000001000000000000000
+00011010001010110111111000000000
+11100000101000010000000000000000
+00011010011010110111111000000000
+11100000101000010000000000000000
+01000111001010101100000000101010
+01011000000000000000000000000000
+11100000101000010000000000000000
+01101000000000010100010010011100
+11100000101000010000000000000000
+01101000000000101000010001101111
+11100000101000101000000000000000
+01101000000000001000010001011000
+11011000010000000000000010100000
+10011000010000011111111000000000
+11100000101000001000000000000000
+00100000010000000101010011000111
+01011000000000000100001111011100
+00011111111000001000110000010010
+11101000110000011000000000000000
+01100000000000011000010001100111
+00100000011000000000000000000000
+01000111001010110100000000101010
+01111000010101001111110000000000
+00100000001000000101010000001100
+01101000000000001000010000111111
+11000100000000101000000000000000
+01101000000000010000010001011001
+01101000000010010000010001011111
+10011000010001100111111000000000
+00100100011000010000000000000000
+01100000000000010000101010011010
+01000111001010111100000000101010
+01101000000000001000010000111111
+01111001001111111111111000000101
+01111001001111111111111000000011
+01100000000000001000010000111111
+01101000000000100000010001000011
+01101000000010010000010001000001
+01100000000010010000101010100010
+10011000010001100010001000000000
+01000111001011000100000000101011
+01101000000000001100001111010011
+01100000000000001000010001101010
+11101000110010010000000000000000
+11101000110000010000000000000000
+00011111111010111111111000000000
+01100000000000010000010001000001
+00011000010010111000010000000000
+10011000010000001111111000000000
+11101000110010100000000000000000
+01100000000010100000010001101011
+10011010001000001111111000000000
+00011111111000100010100000000000
+01101000000000010000010001000001
+01101000000010010000101010100010
+10011000010001100111111000000000
+01101000000010010000101010011010
+10011000010011111111111000000000
+10011010100000001111111000000000
+01100000000000100000010001000011
+00100000010000000101011100010011
+01101000000000010000010001101101
+01100000000000010100010010111010
+00100000011000000000000000000000
+01000111001011001100000000101011
+01101000000000001000010000111111
+11000100000000110000000000000000
+01101000000000010000010001011001
+01101000000010010000010001011111
+10011000010001100111111000000000
+00100100011000010000000000000000
+01101000000000001000010000111111
+01111001001111111111111000000110
+01100000000000001000010000111111
+01101000000000101100001111001110
+01100000000000101000010001101111
+00100000001000000101010001011011
+01000111001011010100000000101011
+00100000010000000101011011101101
+00100000010000000101010111000000
+01101000000000001000001011011001
+00101111111011111111111000000100
+01111001001000001000000000101010
+00011111111000110111111000000000
+10011000010000101111111000000000
+00101111111011111111111000000010
+01111001001000001000000000001111
+11000110000001111000000000000000
+01101000000000001000001011011010
+00100000001110100101010110111100
+01101000000000001000010000111111
+11000011000000100101010110111100
+00100000010000000111010010001101
+00100000010000000111001111111011
+00100100011110100000000000000000
+01101000000010001000010001010110
+01111001010000000000010000000010
+01100000000010001000010001010110
+00100000011000000000000000000000
+01000111001011011100000000101011
+01101000000010001000010001010110
+00101000010011000000000000000101
+00100000011000001000000000000000
+01101000000000001000001011011001
+00011111111000111111111000000000
+10011000010000101111111000000000
+11000100000000011000000000000000
+01111001001111111000010000000101
+01111001010000000000010000000011
+01100000000010001000010001010110
+00101000010000000000011000000011
+00100100011000001000000000000000
+01101000000000001100001111011110
+11000000000000101101010111010010
+01101000000000001100010011000101
+11000000000000010101010111010110
+00100000011000000000000000000000
+01101000000000001000010000111111
+01111001001000000111111000000100
+01100000000000001000010000111111
+00100000011000000000000000000000
+01000111001011100100000000101011
+01110000010001001100010100000000
+11011111111000000000000000000000
+01100000000000100100010000001101
+01100000000000101100010000000011
+01111001001000000111111000100111
+01100000000000101100010000001000
+01101000000000001000010000111111
+01111001001111111111111000000100
+01100000000000001000010000111111
+00100000011000000000000000000000
+01000111001011101100000000101011
+00100000010000000101010000100010
+00100000010000000101010010000101
+01101000000000001000000000000001
+00011111111000001111111000000001
+01100000000000001000000000000001
+00100000011000000000000000000000
+01000111001011110100000000101011
+01101000000000001100001101101001
+11000001100000001000000000000000
+11011000111000000000000000000010
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000000010100001101101010
+01101000000010010100001101101100
+10011000010001100111111000000000
+11011000111000000000000000000010
+00100000010000000111111100001000
+01111000010101001111110000000000
+00100000010000000101010101110010
+00100000010000000101010111100001
+00100100011101101000000000000000
+01000111001011111100000000101011
+01101000000000110000001011011011
+01100000000000110000010001001111
+01101000000000001000000000000010
+00011111111000001111111000000001
+01100000000000001000000000000010
+00100000010000000101011000001000
+00100000011101001000000000000000
+00100000010000000101010100001011
+00100100011101101000000000000000
+01000111001100000100000000101100
+01101000000000001000000000000100
+00011111111000001111111000000001
+01100000000000001000000000000100
+01101000000001001000001011100001
+01100000000001001000000100000001
+00100000011000000000000000000000
+01000111001100001100000000101100
+01101000000000001000010010011011
+11000001100011011000000000000000
+01101000000000110000010001001111
+01101000000010110100010010001111
+10011000010001100111110000000000
+00100100011000101000000000000000
+00100000010000000010001000111011
+00100100011000101000000000000000
+00100000010000000101010100101011
+00100000010000000101001101000000
+01000111001100010100000000101100
+01110000010000011100111000000000
+01110000000001000111011000000000
+01110000010000110110100100000000
+01110000000001001001101100000000
+00100000001000000010001000100011
+11011010001000000000000000000001
+01101000000000001000001011011001
+11000011100000110000000000000000
+11011010001000000000000000000000
+00100000011000000000000000000000
+01000111001100011100000000101100
+01101000000000001000010001010110
+11000011100000101000000000000000
+00100000010000000101011001000010
+00100000010000000101100001110011
+00100000001110100101011001100100
+11101000110000001000000000000000
+11101000110010001000000000000000
+00011000010000100010001000000000
+10011010001001100111111000000000
+11011000010000000000000000011011
+00100000010000000111111111011101
+00011111111000100000010000000000
+11101000110000001000000000000000
+00011111111000100000001000000000
+00011010001000100111111000000000
+10011000110000001000110000000000
+11011000101000000100001111011110
+00011000010000100111001000000000
+00100000010000000111111100000001
+00100000010000000101011001010100
+00100000010000000101011001100110
+00100000010000000101100001110011
+11101000110000001000000000000000
+00011111111000100010001000000000
+00011000110000100010011000000000
+11101000110010001000000000000000
+00011000010000100010010000000000
+10011010010001100111111000000000
+11011000010000000000000000011011
+00100000010000000111111111011101
+10011010010000001111111000000000
+11100010011000001000000000000000
+10011010001001100111110000000000
+00100100011000101000000000000000
+00100000001000000101100010010110
+00100000010000000101011001001001
+11000110000101001000000000000000
+01101000000000001100010011101001
+11000011000000010101011001010010
+00100000010000000101100001110110
+00100000001110100101011001010010
+00100000001000000101011001010000
+00100000010000000101100001110011
+00100000001110100101011001010010
+11101000110000001000000000000000
+11101000110010001000000000000000
+10011000010001100111111000000000
+00011111111001100111110000011011
+00100000001000010101011001010010
+01111001001000000000000000101001
+00100000011000000000000000000000
+01111001001111111000000000101001
+00100000011000000000000000000000
+00011010001000100111111000000000
+00100000011110100000000000000000
+11011000001000000000000000000001
+00100000011000000000000000000000
+01000111001100100100000000101100
+00011000010000001000010000000001
+00100000010000000101011101101010
+00011000110000001000110111111110
+11101000110000010000000000000000
+11011000010000000010100100000010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000001000110000000001
+00011000110000100010001000000000
+11101000110000001000000000000000
+00100000011000000000000000000000
+00011000000000000000010000000000
+00011000000000000000001000000001
+01000111001100101100000000101100
+01100000000010001100001111011101
+01101000000010001000010001010110
+01111001001000000000010000000101
+00011000010000010111111011111100
+10011000001000011111111000000000
+01100000000000001000010001010110
+00011111111000010111111000011111
+00101000000011111111111000101001
+01111001001000001111111000000100
+01100000000000001100001111011100
+01101000000000001100001111011100
+00101000001000000000011000000001
+00100100001000001101011001110110
+01101000000000001100001111011101
+00100000011110100000000000000000
+01101000000000001000010000111111
+11000100000000100000000000000000
+00100000010000000111010010001101
+00100000001000000111001111100011
+11011000111000000000000000000000
+00100000001000000010110000110010
+11011000111000000000000000000000
+00100000001000000010110000110110
+01000111001100110100000000101100
+11000110000001111000000000000000
+00100000010000000101100010010000
+00100100011110100000000000000000
+01101000000000001000001011011001
+00011111111000010111111000000011
+01100000000000001100010100001100
+11101000110000001000000000000000
+00011111111000010111111000011111
+01100000000000001100010100001011
+00100000011110100000000000000000
+00011000110000100111111000000000
+01100000000000010100010100001101
+01101000000000001100010100001100
+11000000000000011101110001100100
+00100000010000000101011010011010
+00100100001101000101011001111010
+00100000010000000101011001111100
+01101000000000010100010100001101
+00011111111000100000110000000000
+11101000110000010000000000000000
+01100000000000010100010011111100
+01000111001100111100000000101100
+11101000110000010000000000000000
+11000000000000100101100010101011
+11000000000000110101101011110100
+11000000000000101101101010110110
+00100000011000000000000000000000
+01101000000000001100010100001100
+11000000000000010101011010101001
+11000000000000001101011011000001
+00100000011000000000000000000000
+00100000010000000111111111100111
+11011000010000000000000000000100
+10011111111001100111110000000000
+00100000011000101000000000000000
+11011000010000000000000000000101
+10011111111001100111110000000000
+00100000011000101000000000000000
+11011000010000000000000000000110
+10011111111001100111110000000000
+00100000011000101000000000000000
+00100000001000000111111111101001
+01101000000000010100010100001101
+00011111111000100000110000000000
+11101000110000010000000000000000
+01100000000000010100010011111100
+11101000110000010000000000000000
+00100000010000000101011010011110
+00100100011101000000000000000000
+01101000000010001100010100001011
+01100000000010001100010011111110
+01101000000000010100010011111100
+00011111111000001111111000000100
+10011000010001100111110000000000
+00100000001000101111111111100111
+01101000000000001100010100001011
+00011111111000100111001000000000
+11011000101000000000001100010001
+01101000000000010100010100001101
+00011111111000100000110000000000
+00100000010000000111111100000001
+00100000001000000111111111101001
+00100000010000000111111111100111
+01101000000000001100010011111110
+00100100011110100000000000000000
+00100000001000000111111111101001
+00100000010000000101011010111101
+00100100011101000000000000000000
+01101000000000001100010011111110
+11011000101000000000001100010001
+10011000101000001010001000000000
+01101000000010001100010100001011
+10011000010000001111111000000000
+01100000000000001100010011111110
+01101000000000001100010100001011
+00011111111000100111001000000000
+00011010001000100000101000000000
+01101000000000010100010100001101
+00011111111000100000110000000000
+00100000010000000111111011110100
+01011000000000000000001100010001
+01100000000000010100010100001101
+01101000000000010100010011111100
+00011111111000001111111000000100
+01101000000010001100010011111110
+10011000010001100111110000000000
+00100000001000101111111111100111
+00100000001000000111111111101001
+00100000010000000111111010100101
+11011000101000000100010001011110
+01101000000000010100010011111100
+00011111111000001111111111111011
+11100000101000001000000000000000
+00011111111000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111011110100
+00100000010000000111111010100101
+11011000101000000100010001110001
+00100000001000000101011011011001
+01101000000000010100000111111001
+00100000001000000111111110011100
+01101000000010100000010001011011
+00100000010000000010101001111011
+10011000010001100001011000000000
+00011001011000100111111000000000
+01101000000010010000010001101101
+00011000010100100000010000000000
+00011000010000111000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+00100000010000000010101001111011
+01100000000000100000010001011011
+00100000011000000000000000000000
+01110000000000000001011000100100
+01110000000010101100001000000000
+01000111001101000100000000101101
+01101000000000001100001101101110
+00100000011110100000000000000000
+11011000111000000000000000000000
+00100000010000000111111100010110
+00100100011110100000000000000000
+01000111001101001100000000101101
+01111000010101001111110000000000
+01111000001010000111110000000000
+00100000010000000101010101110010
+00100000010000000101010000100010
+00100000010000000101010011101001
+00100100001101101101011100000110
+01101000000000001000000000000011
+00011111111000001111111000000001
+01100000000000001000000000000011
+01101000000000001000001011011001
+00011111111000010111111000001111
+11000000000000011101010100011100
+11000000000000101101011100101000
+01000111001101010100000000101101
+00011000000010100111111000000000
+11011000010000000000000111111111
+10011000010000010111111000000000
+00011111111000001111111011111010
+00100000010000000011110010111110
+01101000000000001000101011000010
+01101000000010001100010010001101
+10011000010001100111110000000000
+00100100001000101101011011110010
+11011000111000000000000000000000
+01101000000000010100010010000010
+00100000001000000111111100001000
+01000111001101011100000000101101
+01101000000000001000010001110110
+00100000010000000101001111111100
+01101000000000010000010001000001
+10011000010011111111111000000000
+11011000010000000000000101110111
+10011000010011111111111000000000
+11011000010000011000011010100000
+10011000010001101111110000000000
+01101000000000001000010001101010
+11011000010000000100111000100000
+10011000010011111111111000000000
+10011000010000001111111000000000
+01100000000000100100010011100101
+01000111001101100100000000101101
+01101000000000010100000011000001
+00100000010000000111111110000110
+00011000000001111000010000000000
+10011000010000001111111000000000
+01100000000000010000010001001101
+00100000011000000000000000000000
+01000111001101101100000000101101
+01101000000000110000001011100001
+01101000000010110100010010100000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00100000010000000101011000011001
+00011010001000100111111000000000
+01100000000000001100010010001110
+01101000000000111000001011101110
+01100000000000111000000100000001
+11101000110001000000000000000000
+11100000101001000000000000000000
+01101000000000110000001011011011
+01100000000000110000010001001111
+00011000110000001000110000000110
+11101000110001000000000000000000
+01100000000001000000010001100011
+11101000110010010000000000000000
+01000111001101110100000000101101
+00011000010010111000010000000000
+11101000110000010000000000000000
+00011111111010111111111000000000
+01100000000000010000010001000001
+01100000000000100000010001000011
+10011000010001100111111000000000
+00011111111000001101000111111110
+11101000110001001000000000000000
+01100000000001001000010001101011
+01000111001101111100000000101101
+11101000110000001000000000000000
+00011111111100011000010000000000
+00011000010000110000010000000000
+01100000000010001000010001110110
+00011111111000010111111000011111
+01100000000000001000010001011000
+00100000010000000101011100010011
+00100000010000000101010001011011
+00100000010000000101001101001100
+00100000010000000010001000111011
+00100100011000101000000000000000
+01000111001110000100000000101110
+00100000010000000010100001000001
+00100000010000000101101011010011
+01110000000010101001100100010100
+00100000010000000111110110000110
+00100000001000000010001000100011
+01000111001110001100000000101110
+01101000000000010100010001011010
+10011000000000000010010000000000
+01101000000000010100010001011100
+10011000000000000010011000000000
+01101000000000010100010010111100
+10011000000000000000110000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+11101000110000010000000000000000
+00100000011110100000000000000000
+10011010010001100111110000000000
+00100100011000010000000000000000
+10011010011001100111110000000000
+00100000011000101000000000000000
+00100000001000010101011101101000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+00100000010000000101011101101101
+00100000001000101101011101111001
+00100000011000000000000000000000
+01000111001110010100000000101110
+01101000000000010100010010111100
+10011000000000000000110000000000
+11101000110000010000000000000000
+00100000011110100000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101011101110000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000011000000000000000000000
+01000111001110011100000000101110
+01101000000000010100010010111100
+10011000000000000000110000000000
+11101000110000010000000000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00011000110000001000110111111110
+11101000110000010000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101011101111111
+01101000000000010000010010011100
+00100000001000000101011110001110
+01000111001110100100000000101110
+01101000000000010100010010111100
+10011000000000000000110000000000
+00011000010000100010001000000000
+11101000110000010000000000000000
+00100000001110100101011110011001
+10011010001001100111110000000000
+00100000001000101101011110011010
+11101000110000001000000000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101011110010000
+00100000001000000111111111101111
+11101000110000001000000000000000
+01100000000000001000010010100010
+00011111111000100111001000000000
+11011000101000000000010010100011
+00100000010000000111111011110100
+11101000110000001000000000000000
+01100000000000001000010010110011
+00100000010000000111111010100101
+00100000001000000111111111110001
+01000111001110101100000000101110
+00100000010000000101011110100110
+00100000001000000101011110111000
+11011000010000000010101000000000
+00100000010000000101011101111100
+00100000011110100000000000000000
+11101000110000001000000000000000
+00011000110000100000101000000000
+01101000000010001100001110101111
+00011000010000100111001000000000
+10011000010001100111110000000000
+00100100001000010101011110110101
+10011000010001100000010000000000
+11011000110000000100001110110000
+00100000010000000111111100000001
+00011000010000100111001000000000
+00100100010000101101011111110000
+00100000011000000000000000000000
+00011111111000100111001000000000
+11011000110000000100001110110000
+00100000001000000111111011110100
+11011010011000000100001110001111
+11011010001000000100001101110000
+00100000010000000101011111000101
+01011000000000000000000000000000
+01111001001101000111111000000000
+01100000000000001000101010011010
+11011010011000000100001110101111
+11011010001000000100001110010000
+00100000010000000101011111000101
+00100000011101000000000000000000
+01101000000000001000101010011010
+00100000001110100010101010001100
+00100000011000000000000000000000
+01000111001110110100000000101110
+00100000010000000111111111100111
+00100000010000000111111011011010
+11011010010000000000000000000000
+11011000101000000000101011000011
+00100000010000000101011111011111
+01101000000000001100001110101111
+00011111111000001000010000000001
+10011010010000001010001000000000
+00011010001000001010001000000010
+00011010001001100111110000011111
+00100100001000010101011111011101
+11100000101010001000000000000000
+11011000010000000000000000001001
+11100000101010001000000000000000
+10011000000000000111001000000000
+00100000010000000111111011110100
+00011010001000100010010000000000
+00011010010000100111111000000000
+01100000000000001000101011000010
+11011000110000000000101011000010
+01011111111111111111111111100000
+10011010011000001000101000000000
+00100000001000000111111010111101
+00100000010000000111111111101001
+00100000001000000101011111010111
+11101010001000001000000000000000
+00100000011110100000000000000000
+00011111111000001111111000000001
+11101000110010001000000000000000
+00011000010001100111110000001001
+00100000001000101101011111101110
+10011010010000001010010000000000
+00011010001000100000110000000000
+10011000000000000111001000000000
+00100000010000000111111011110100
+00011000110000100010001000000000
+00011010001000100111111000000000
+10011010011001100111110000000000
+00100000011000010000000000000000
+00100000001000000101011111011111
+10011010001000001010001000000000
+00100000001000000101011111101010
+01011000000000000000000000100000
+11100000101000001000000000000000
+11000010000000000101011111110000
+00100000011000000000000000000000
+01000111001110111100000000101110
+01111000010101011111110000000000
+00100000001101110101011111111000
+00100100001101101101100000000110
+00100000010000000010101111001011
+01101000000000010100000011000001
+01100000000000010000010001001101
+00100100001101101010101111011110
+11000101000001111010101111011110
+01101000000000001100010100001011
+00100100001110100010101111011110
+01101000000000001100001111011101
+00100100001110100010101111011110
+01101000000000001100010011101001
+11000010100000101010101111011110
+01101000000000001000010000111111
+11000010100000101010101111011110
+00100000001000000010101111000000
+01101000000010010100000011000001
+00011000010000110000010000000000
+01101000000000010000010001001101
+10011000010000001111111000000000
+01100000000000010000010001001101
+00100000001000000010101111010110
+11011000111000000000000000000000
+00100000001000000101100000100100
+11011000111000000000000000000000
+00100000001000000101100000101000
+11011000111000000000000000000001
+00100000001000000101100000100100
+11011000111000000000000000000001
+00100000001000000101100000101000
+11011000111000000000000000000010
+00100000001000000101100000100100
+11011000111000000000000000000010
+00100000001000000101100000101000
+11011000111000000000000000000011
+00100000001000000101100000100100
+11011000111000000000000000000011
+00100000001000000101100000101000
+11011000111000000000000000000100
+00100000001000000101100000100100
+11011000111000000000000000000100
+00100000001000000101100000101000
+11011000111000000000000000000101
+00100000001000000101100000100100
+11011000111000000000000000000101
+00100000001000000101100000101000
+01101000000000001100010011101001
+11111001001000000111111000000000
+01100000000000001100010011101001
+00100000011000000000000000000000
+01101000000000001100010011101001
+11111001001111111111111000000000
+01100000000000001100010011101001
+00100000011000000000000000000000
+01011000000100010010001000110011
+01100000000000011100010011101010
+01011000010001000101010101100110
+11100000101000011000000000000000
+01011000011101111000100010011001
+11100000101000011000000000000000
+01011000000000000001000100100010
+11100000101000011000000000000000
+01011000001100110100010001010101
+11100000101000011000000000000000
+01011000000000000000000001100110
+11100000101000001000000000000000
+00100000011000000000000000000000
+01011001000000000000001100000010
+01100000000000100100010001010011
+01011000000000010000000000010000
+01100000000000011100010001010111
+01110000010001001100011000000001
+00100000011000000000000000000000
+11011010001000000000000000000000
+11011000001000000000000000000001
+00100000001000000101100001010000
+11011000001000000000000000000011
+00100000010000000101100001010000
+00011010010000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011000000000000000001000000010
+00011010001000001010001000000100
+00100000010000000101100001010000
+00011010001000001010001111111100
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011010010000100111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00011010001001100111110011110000
+00100100001000010010101010001100
+01101000000000001100010011111111
+11011000010000000000000000000001
+11011111001000000000000000000100
+10011000010000010111110000000000
+00100000001000101101100001011010
+00011000010000111000010000000000
+11000010000000000101100001010101
+00100000001000000010101010001100
+10011000010000101111111000000000
+01100000000000001100010011111111
+00011111001001100111111000000100
+00011111111100100111111000000000
+00011111111100100111111000000000
+11011000010000000001100000000000
+10011000010000001000010000000000
+11011111001000000000000000000000
+11011000110000000100010100000000
+11101000110000010000000000000000
+00100000001110100101100001101001
+00011111001000100111111000000000
+00011111001000001111001000000001
+11000000100000100101100001100011
+00100000001000000010101010001100
+00011000110000001000110111111110
+11100000110010010000000000000000
+00011000010000100000101000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+00011000001000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000010100010100000000
+00011111111000100000110000000000
+00100000011000000000000000000000
+01101000000000010100010100000010
+00011111111000100000110000000000
+00100000011000000000000000000000
+00100000010000000101100001111100
+00011111111000100000110000000000
+00100000011000000000000000000000
+01101000000000010100010100000110
+00100100011110100000000000000000
+01101000000000010100010100000100
+00100100011110100000000000000000
+01101000000000010100010100000010
+00100100011110100000000000000000
+01101000000000010100010100000000
+00100000011000000000000000000000
+00100000010000000101100001110011
+00011000110000001000110000000011
+00100000011000000000000000000000
+00100000010000000101100001110011
+00011000110000001000110000000111
+00100000011000000000000000000000
+00100000010000000101100001111001
+00011000110000001000110000000111
+00100000011000000000000000000000
+00100000010000000101100001111001
+00011000110000001000110000000011
+00100000011000000000000000000000
+01101000000000010100010100000110
+00100000011000000000000000000000
+01101000000000010100010100000100
+00100000011000000000000000000000
+01101000000000010100010100000000
+00100000011000000000000000000000
+01101000000000010100010100000000
+11011000010000000001100000000000
+10011000010001100111111000000000
+00011111111100011111111000000000
+00011111111100011000111000000000
+01101000000000001100010011111111
+11111001001111111111111000000000
+01100000000000001100010011111111
+11011111001000000000000000000000
+00011111001000111111111000000000
+11011000010000000100010100000010
+10011000010000001000010000000000
+11101000010000010000000000000000
+00011000010000001000010111111110
+11100000010000010000000000000000
+00011111001000100111111000000000
+00011111001000001111001000000001
+11000000100000011101100010011111
+01011000000000000000000000000000
+11100000010000010000000000000000
+00100000011000000000000000000000
+11101000110000011000000000000000
+01100000000000011000010001110111
+11000000000000010101100011000001
+11000000000000011101100011001001
+11000000000000100101100011001100
+11000000000000110101100011110010
+11000000000001000101100100111111
+11000000000001010101100110111100
+11000000000001100101100111100100
+11000000000010000101100111111010
+11000000000010010101101000101111
+11000000000010110101101001001000
+11000000000011000101101001011011
+11000000001010010101101001100000
+00100000011000000000000000000000
+00011000000000000010001000000011
+00100000010000000101101010000010
+01011000000000000000000000000010
+11100000101000001000000000000000
+01101000000000010100010010100110
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000010000000101100011001001
+00011000000000000010001000000011
+00100000010000000101101010000010
+01011000000000000000000000000011
+11100000101000001000000000000000
+01101000000000010100010010100110
+11100000101000010000000000000000
+00100000011000000000000000000000
+00011111111011001111111000000000
+01100000000000010100010010101000
+00100000011000000000000000000000
+00100000010000000101101010110001
+00100000010000000111111111100111
+00100000001000000101100011001111
+11011001011000000000000000000011
+00100000010000000101011101010110
+00100000010000000101011101011111
+00100000001110100101100011110000
+00100100001000010101100011101101
+00011000110000001000110111111110
+00100000010000000111111010100101
+00100000010000000111111010011100
+00100100001101000101100011100001
+00100000010000000111111010000101
+00100000010000000111111111101001
+00011000000000000010001000010100
+00100000010000000101101010000010
+00100000010000000111111010010101
+01011000000000000000000000000101
+11100000101000001000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+00100000010000000111111010011111
+11101000110000010000000000000000
+11100000101000010000000000000000
+11101000110000001000000000000000
+00011111111000100111001000000000
+00100000010000000111111100000001
+00100000010000000111111010100010
+00011001011000001001011111111111
+00100000001000101101100011110000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101100011010001
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101100011101010
+00100000001101000101101001110110
+00100000001000000101101010100101
+00100000010000000101101010110001
+11101000110000010000000000000000
+01100000000000010100010001110010
+00100000010000000111111010100101
+11011000101000000100010001011110
+01101000000000010100010011111100
+00011111111000001111111111111001
+00100000010000000101011011011011
+00100000001000000101100100000101
+01111000010101000111110000000000
+01101000000010010100010001011010
+01101000000000010100010001011100
+10011000010001100111110000000000
+00100100001000010101100100000010
+00011000010000100111111000000000
+11000001100000000000000000000000
+01111000001101000111110000000000
+01110000000001000111101000000001
+00100000001000000101101001110111
+00100000010000000101100011111011
+00100000011101000000000000000000
+01101000000010010100010001110010
+01011000000000000010100000000000
+10011000010001100111110000000000
+00100000001000101101100100001100
+00100000001000000101101001110110
+01110000000001001011010000000000
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101011110001100
+00100100001110100101101001110110
+01101000000010010000101010100010
+00100000010000000101011110001100
+00100100001110100101100100100101
+00011000110000100010001000000000
+01101000000000001000010010110011
+00011111111000100111001000000000
+01101000000010001100010001011110
+10011000010001100111110000000000
+00100100001000101101100100100001
+11011010010000000100010001011111
+00100000010000000111111110001000
+00100000001000101101100100101000
+01101000000000010000010010100011
+01101000000010010100010001110010
+10011000010001100111110000000000
+00100000001000101101100100110000
+01101000000000010000101010100010
+00011111111000001111111000000001
+01100000000000010000101010100010
+00100000001000000101100100010001
+01101000000000001000010010110100
+11000000000000001101100100110000
+00100000001000000101101001110110
+01101000000000010000010010100011
+01101000000010010100010001110010
+10011000010001100111110000000000
+00100100001000101101100100100001
+01110000000001001011010000000001
+01101000000010010000101010100010
+01100000000010010000010010011110
+00100000001000000101100100100001
+01101000000000001000010010110100
+11000000000000000101100100100001
+01110000000001001011010000000010
+01101000000010010000101010100010
+00011000010000001000010111111111
+01100000000010010000010010100000
+11011010001000000000000000000101
+00100000010000000101101010000010
+01011000000000000000000000000111
+11100000101000001000000000000000
+01101000000000010000010010011110
+11100000101000010000000000000000
+01101000000000010000010010100000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000010000000101101010110001
+00100000010000000101011011011111
+00100000001000000101100101000010
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101011101010110
+00100000010000000101011101101101
+00011000110000001000110111111110
+00011000110000100111111000000000
+01100000000000010000010010011100
+01101000000010010100010001110010
+01011000000000000010101000000000
+10011000010001100111110000000000
+00100000001000101101100110101000
+01011000000000000010100000000011
+10011000010001100111110000000000
+00100100001000101101100110010000
+11011001011000000000000000000010
+00100000010000000101101010001000
+00100100001000010101100101101101
+01101000000010010000101010100010
+00100000010000000101011110001010
+11000000000000001101100101101101
+00100000010000000101101010010100
+00100100001000101101100101101011
+00100100001101000101100101101111
+01111000010101000111110000000000
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001001
+11100000101000001000000000000000
+00011000101000100110000000000000
+00011000101000001000101000000001
+00100000010000000101100101111101
+00100000010000000101101010000100
+00100000010000000101011110001010
+00100000010000000101100110000100
+01101000000000001000010010100010
+00011111111000001111111000000101
+11100110000000001000000000000000
+01101000000000001000010010100010
+11000000000010000101100101101101
+00011001011000001001011111111111
+00100000001000101101100101101101
+00100000010000000101101010000100
+00100000001000000101100101010001
+00100000001101000101101001110110
+00100000001000000101101010100101
+00100000010000000101101010010111
+00100000010000000101101010000100
+00100000010000000101011110001010
+01101000000000001000010010100010
+11000000000010000101100101101101
+00100000010000000111111010011100
+01101000000000010000101010100010
+00011111111000001111111111111111
+11100000101000010000000000000000
+00100000010000000101101010100001
+00100000010000000101100110000100
+00011001011000001001011111111111
+00100000001000101101100101101101
+00100000001000000101100101101011
+01101000000000010000101010100010
+11100000101000010000000000000000
+01101000000000001000010010110011
+00011111111000100111001000000000
+00100000010000000111111010011111
+00100000010000000111111011110100
+00100000001000000111111010100010
+00100000010000000111111010011100
+01101000000000010000101010100010
+11100000101000010000000000000000
+00100000010000000111111010100010
+01101000000000001000010010100010
+00011111111000100111001000000000
+00100000010000000111111010011100
+00100000010000000111111010011111
+10011111001001100000110000000000
+00011000110000001000110111111111
+00100000010000000111111011110100
+00100000001000000111111010100010
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101101010001000
+00100100001000010101101001110110
+00100000010000000101011110001010
+11000000000000001101101001110110
+00100000010000000101101010010100
+00100100001000101101100110100110
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001001
+11100000101000001000000000000000
+01101000000000001000010010110011
+00011111111000100111001000000000
+00011111111000001111111000000010
+11100000101000001000000000000000
+01101000000000010000101010100010
+11100000101000010000000000000000
+00100000010000000111111010011111
+00100000010000000111111011110100
+00100000010000000111111010100010
+00100000001000000101101010100101
+00100000010000000101101010000100
+00100000001000000101100110010010
+11011000010000000010101000000000
+00100000010000000101011101111100
+00100000011110100000000000000000
+00011000110000001000110111111011
+11101000110000010000000000000000
+01100000000000010000101010100010
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001001
+11100000101000001000000000000000
+01101000000000001100001110101111
+00011111111000100111001000000000
+00011111111000001111111000000010
+11100000101000001000000000000000
+01101000000000010000101010100010
+11100000101000010000000000000000
+11011000110000000100001110110000
+00100000010000000111111011110100
+00100000010000000111111010100010
+00100000001000000101101010100101
+01101000000010010000010001111000
+01101000000000001100010011101001
+11000010100000011101100111011101
+00100000010000000101011101101010
+00100000001110100101101001110110
+00011000110000001000110111111110
+11101000110000010000000000000000
+11011000010000000010101000000000
+10011000010001100111110000000000
+00100000001000101101100111010011
+11101000110000001000000000000000
+00011111111001100111110000010110
+00100000001000010101100111001010
+00011000000000000111111000010110
+00011111111000100010011000000000
+00100000010000000111111010100101
+00011010011000001010001000000001
+00100000010000000101101010000010
+01011000000000000000000000001011
+11100000101000001000000000000000
+00011010011000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111100000001
+00100000010000000111111010100101
+01101000000000001100001110101111
+00011111111000001010001000000001
+00100000010000000101101010000010
+01011000000000000000000000001011
+11100000101000001000000000000000
+01101000000000001100001110101111
+00011111111000100111001000000000
+11011000110000000100001110110000
+00100000001000000111111100000001
+01101000000000010100010011111010
+10011000010001100111110000000000
+00100100001000101101100110111111
+00100000010000000101101001000010
+00100100001101000101100110111111
+01110000000001000111101000000101
+00100000001000000101101001110111
+11101000110000010000000000000000
+01100000000000010100010001011110
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001101
+11100000101000001000000000000000
+01101000000000010100010001011110
+10011000000000000010001000000000
+01101000000010010000010001111000
+00100000010000000101011101101010
+00100000001110100101101001110110
+11101000110000001000000000000000
+10011010001001100111001000000000
+00100100001000010101101001110110
+00011111001001100111110000010110
+00100000001000010101100111110101
+00011000000000000111001000010110
+00011010001000100111111000000000
+10011000110000001000110000000000
+00100000010000000111111011110100
+00100000010000000111111010100010
+00100000001000000101101010100101
+00100000010000000101101010110001
+00100000010000000101011011010111
+00100000001000000101100111111101
+11011001011000000000000000000010
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101011101010110
+00100000010000000101011101101101
+00011000110000001000110111111110
+00011000110000100111111000000000
+01100000000000010000010010011100
+00100000010000000101101010001000
+00100100001000010101101000100101
+01101000000010010000101010100010
+00100000010000000101011110001010
+11000000000000001101101000101000
+00100000010000000101101010001100
+00100100001000101101101000100011
+00011001011000100111111000000000
+11000000000000000101101000101000
+00100100001101000101101000011001
+01111000010101000111110000000000
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000010001
+11100000101000001000000000000000
+01101000000000001000010010110011
+00011111111000001111111000000100
+11100000101000001000000000000000
+00100000010000000111111010100010
+00100000001000000101101000011111
+01101000000000001000010010110011
+11000000000010000101101000101000
+01101000000000010000101010100010
+00011111111000001111111111111111
+01100000000000010000010010100000
+00100000010000000101101010011100
+01101000000000010000101010100010
+01100000000000010000010010011110
+00100000010000000101101010010111
+00011001011000001001011111111111
+00100000010000000101101010000100
+00100000001000000101101000000101
+01101000000000010000101010100010
+01100000000000010000010010100000
+00100000001000000101101000101100
+01101000000000010000101010100010
+00011111111000001111111111111111
+01100000000000010000010010100000
+00100000001000000101101000101100
+00100000001101000101101001110110
+00100000010000000101101010011100
+00100000001000000101101010100101
+00011000110000100010001000000000
+01101000000000010100010011111100
+00011111111000001010010111111101
+00100000010000000101011011100010
+01101000000000001100010011101001
+11000011000000100101101000111101
+01101000000010010000010001111000
+01101000000000010100010011111010
+10011000010001100111110000000000
+00100100001000101101101000111101
+00100000010000000101101001000010
+00100100001101000101101000111101
+01110000000001000111101000000101
+00100000001000000101101001110111
+00011000000000000010001000000001
+00100000010000000101101010000010
+01011000000000000000000000010011
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000111111111101001
+01101000000000001100010011000110
+11000001000000000000000000000000
+01101000000000001100000001000000
+11000011100000100000000000000000
+00100000001000000111111111100111
+00011000110000001010001000000010
+01101000000000010100010011111100
+00011111111000001010010111111011
+00100000010000000101011011100010
+00100000001000000101101001001101
+01101000000000010100010011111100
+00011111111000100010001000000000
+00100000010000000101101010000010
+01011000000000000000000000010111
+11100000101000001000000000000000
+01101000000000010000010001111000
+11100000101000010000000000000000
+01101000000000010100010011111100
+00011111111000001111001111111011
+01101000000000010100010100001101
+00011111111000001000110000000111
+11101000110000010000000000000000
+11100000101000010000000000000000
+00100000001000000111111011110100
+00011000000000000010001000000001
+00100000010000000101101010000010
+01011000000000000000000000011001
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011000110000100010001000000000
+01101000000000010100010011111100
+00011111111000001010010111111101
+00100000001000000101011011100010
+00011000010000100010011000000000
+00011010001000001010001000000011
+00100000010000000101101010000010
+00011010001000001010001111111101
+01011000000000000000000000011011
+11100000101000001000000000000000
+00011010011000100000010000000000
+11100000101010010000000000000000
+00100000011000000000000000000000
+00011000010000100010011000000000
+00011010001000001010001000000011
+00100000010000000101101010000010
+00011010001000001010001111111101
+01011000000000000000000000011101
+11100000101000001000000000000000
+00011010011000100000010000000000
+11100000101010010000000000000000
+00100000011000000000000000000000
+01110000000001000111101000001010
+00011000000000000010001000000101
+00100000010000000101101010000010
+01011000000000000000000000000001
+11100000101000001000000000000000
+01101000000000001000010001110111
+11100000101000001000000000000000
+01101000000000010000010001111000
+11100000101000010000000000000000
+01101000000000001000010001111010
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011000000000000010010000000100
+00100000001000000101100001000111
+01101000000010010000101010100010
+00011000010000001000010000000001
+01100000000010010000101010100010
+00100000011000000000000000000000
+01101000000010010000101010100010
+01101000000000010100010001011100
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000010001100010001011110
+11011010001000000100010001011111
+01101000000000001000010010100010
+00011111111000100111001000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11011010010000000000010010100011
+00100000001000000111111110001000
+01101000000010001100010001110001
+11011010001000000100010001110010
+00100000001000000101101010001110
+01101000000000001000010010110011
+01100000000000001000000100000001
+00011111111000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111011110100
+00100000010000000111111010011100
+01101000000000010000010010011110
+11100000101000010000000000000000
+01101000000000010000010010100000
+11100000101000010000000000000000
+01101000000000001000000100000001
+00011111111000100111001000000000
+00100000010000000111111011110100
+00100000001000000111111010100010
+00100000010000000111111010011100
+00100000010000000101100010001010
+00011000101000100111111000000000
+10011000110001100010001000000000
+00100000010000000101100010001101
+00011010001000100111111000000000
+11100000110000010000000000000000
+00011010001000001010001000000100
+00100000010000000101100001111001
+00011010001000100111111000000000
+11100000110000001000000000000000
+00100000011000000000000000000000
+00011111111011001111111000000000
+01100000000000010100010001011010
+11101000110000010000000000000000
+01100000000000010100010001011100
+00100000011000000000000000000000
+11101000110000001000000000000000
+11101000110010001000000000000000
+11101000110010010000000000000000
+11000000000010011101101010111011
+00100000011000000000000000000000
+11101000110000010000000000000000
+01100000000000010100010100001001
+01110000000010101001100101000000
+00100000001000000111110110000110
+11011010001000000000000000001100
+11011010011000000000000000010010
+00100000010000000101101011000111
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000001000100010010010110
+11100000101001000000000000000000
+00100000011000000000000000000000
+00100000010000000101101011001111
+11011010010000000000000000000101
+00100000010000000101100001000111
+00011010011000100111111000000000
+11100000101000001000000000000000
+01101000000000001100010100001000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000001100010100001000
+00011111111000001111111000000001
+01100000000000001100010100001000
+11000001100000000000000000000000
+01110000010001010000100000000001
+00100000011000000000000000000000
+01101000000000001100010011000110
+11000000000000000101101011100100
+11000000000000001101101011100111
+11000000000000010101101011101001
+11000000010000001101101011011101
+11000000010000010101101011011111
+11000000010000011101101011100010
+00100000011000000000000000000000
+01110000010001000101011000001101
+00100000001000000101101011100101
+01110000010001000101011000001101
+01110000010001000101010000000001
+00100000011000000000000000000000
+01110000010001000101011000001101
+00100000001000000101101011101010
+01110000010001000101011000000000
+01110000010001000101010000000011
+00100000011000000000000000000000
+01110000010001000101011000000101
+00100000001000000101101011100101
+01110000010001000101011000000101
+01110000010001000101010000000000
+00100000011000000000000000000000
+01101000000000001100010001010110
+01111001001000000111111000000011
+01100000000000001100010001010110
+00100000011000000000000000000000
+01101000000000001100010001010110
+01111001001111111111111000000011
+01100000000000001100010001010110
+00100000011000000000000000000000
+11101000110000001000000000000000
+11000000000000001101101100001001
+11000000000000011101101100110000
+11000000000000100101101101001101
+11000000000000101101101101011010
+11000000000000110101101110000000
+11000000000000111101101111000100
+11000000000001000101101110101111
+11000000000001001101101111000000
+11000000000001010101101111000100
+11000000000001011101101111000100
+11000000000001100101101111000101
+11000000000001101101101111001010
+00100000011000000000000000000000
+00011000000000000010001000000010
+00100000010000000101110001100010
+01011000000000000000000000001011
+11100000101000001000000000000000
+01101000000000001100010001010110
+11100000101000001000000000000000
+00100000011000000000000000000000
+01100000000000001100010001001100
+11101000110000110000000000000000
+11100000101000110000000000000000
+01101000000000001100010011000110
+11000000000000000101101101011111
+00100000010000000101101100101011
+00100000010000000101101100100110
+01110000010001001100010000000011
+01101000000000001100010001001101
+11000000000000000101101100011000
+11000000000000001101101100011000
+11000000000000011101101100011000
+01101000000000001100010011000110
+11000000000000010101101100011011
+11000001010000011000000000000000
+11011111111000000000000000000000
+01100000000000100100010011000111
+00100000011000000000000000000000
+01101000000000001100010011101001
+11000010100000000101101100100100
+11011010001000000100010011000111
+00011010001000100000101000000000
+11011111001000000000000000000011
+00100000010000000110001100001101
+01101000000000010100010011001001
+00011111111000010111111000000111
+01100000000000010100010011001001
+01110000000010101001100100110100
+00100000001000000111110110000110
+01101000000000001100010001001111
+11000011100000011000000000000000
+01101000000000001100010011000110
+11000100000000111000000000000000
+00100000001000000011010000000010
+00011000000000000010001000000111
+00100000010000000101110001100010
+01101000000000111100010001010011
+11100000101000111000000000000000
+00100000011000000000000000000000
+00011000110000100010001000000000
+01101000000000001100010011000110
+11000000010000011101101100110111
+00011010001000100000110000000000
+11011000101000000100010000101010
+00100000010000000111111010111111
+00100000001000000101101100111101
+00011010001000100000110000000000
+11011000101000000100010000101010
+00100000010000000111111010111111
+01110000010001001011111100000010
+01110000010001001100000100001000
+00100000011000000000000000000000
+01101000000000001100010011000110
+11000010100000111101101101000101
+00100000010000000111001110011100
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000011
+11100000101000001000000000000000
+00100000001000000111010010010111
+11011000101000000100010000111010
+00100000010000000110001100001100
+00100000010000000111000111000101
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000011
+11100000101000001000000000000000
+00100000001000000111001000000001
+00011000110000100010001000000000
+01101000000000001100010011000110
+11000010100000111101101101100001
+00011010001000100000110000000000
+00100000010000000111001110010100
+00100000001000101101101101110101
+01110000000001000111101100000100
+00011000000000000010001000000010
+00100000010000000101110001100010
+01011000000000000000000000000101
+11100000101000001000000000000000
+01101000000000001000010001111011
+11100000101000001000000000000000
+00011000000000000000111000001010
+00100000010000000111111100000111
+01110000010001001100010000000000
+01110000000010101001100100110000
+00100000001000000111110110000110
+01110000000001000111101100000101
+00100000001000000101101101010100
+11011000101000000000010000101111
+00011010001000100000110000000000
+00100000010000000111111010111111
+01101000000000001100010011000110
+11000000010000011101101101101100
+00100000010000000111000101001111
+00100000010000000101101101111010
+01101000000000001100010011000110
+11000001110000010000000000000000
+01110000000010101001100100111011
+00100000001000000111110110000110
+00100000010000000111000110111010
+11011000101000000000101011110010
+00100000010000000111001000000001
+11011010001000000000101011110010
+11011010010000000100010000101010
+11011111001000000000000000010000
+00100000010000000111111110001000
+00100100001000101101101101010011
+00100000001000000101101101111010
+00100000010000000111001110010000
+01110000000010101001100100110001
+00100000010000000111110110000110
+01110000010001000010100100000001
+01110000010001001100010000000101
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000100
+11100000101000001000000000000000
+11011000110000000100010000111010
+00100000001000000111111010111111
+11011000101000000000010000011111
+00100000001000000111111010111111
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000110
+11100000101000001000000000000000
+01101000000000001100010011101001
+11000010100000001101101110001010
+11011000110000000100010000011001
+00100000001000000111111010111111
+11011000110000000100010011101010
+00100000001000000111111010111111
+11011000101000000100010011001011
+00011000000000000111001000001010
+00100000010000000110001100001101
+00011000000000000010001000001011
+00100000010000000101110001100010
+01011000000000000000000000000111
+11100000101000001000000000000000
+01101000000000010100010011001011
+11100000101000010000000000000000
+01101000000001000100010011001101
+11100000101001000000000000000000
+00100000011000000000000000000000
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000001000
+11100000101000001000000000000000
+01011000000000000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+00011000000000000010001000001000
+00100000010000000101110001100010
+01011000000000000000000000001001
+11100000101000001000000000000000
+01101000000000001100010010010101
+11100000101000001000000000000000
+01101000000000110100010010100000
+11100000101000110000000000000000
+00100000011000000000000000000000
+01110000000001000111101100001000
+00100000001000000101101101010100
+01101000000000001100010001011000
+01101000000010001100010001011000
+10011000010000010111111000000000
+00100000011000000000000000000000
+11011000101000000100010011010101
+00100000010000000111111010111111
+00100000010000000101101110101011
+00101111111011000000000000000001
+00100000001000001101101110101001
+01101000000000001100000010010010
+11000001100001010000000000000000
+00100000010000000101101110111001
+00100100011101000000000000000000
+00100000001000000011010000010000
+00100000010000000111111111101001
+01101000000000001100010010001110
+11000001000000000000000000000000
+01101000000000001000010001010100
+00101111111000011000000011000000
+00100000011000001000000000000000
+00100000001000000111111111100111
+00100000010000000101101110101011
+00101111111011000000000000000001
+00100000001000001101101110101001
+00100000011000000000000000000000
+00100000011000000000000000000000
+11011000101000000000100110111110
+00100000010000000111111010110011
+01110000010001001011111100000010
+01110000010001001100000100000001
+00100000011000000000000000000000
+11011000101000000000101001101110
+00100000010000000111111010111111
+01110000010001001100000100000110
+01110000010001001011111100000010
+00100000011000000000000000000000
+00011000000000000010001001000001
+00100000010000000101110001100010
+01011000000000000000000000001100
+11100000101000001000000000000000
+11011000110000000100010111010010
+00100000001000000111111010110011
+00100000010000000111000101100110
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000001101
+11100000101000001000000000000000
+00100000001000000111001000000001
+01101000000000001100010011000100
+11000001011111111000000000000000
+11011000010000000000000000000011
+10011000010001100111110000000000
+00100100011000010000000000000000
+11011000111000000000000000001010
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000001000000101101110101001
+01000111001111000100000000101111
+01101000000000001100010011000100
+11000000000000000101101111101111
+11000000000000001101101111110101
+11000000000000010101101111101111
+11000000000000011101101111110111
+11000000000000101101101111111011
+11000000000000111101110000000111
+11000000000001000101110000001001
+11000000000001001101110000010000
+00100000011000000000000000000000
+01101000000000001100010011000101
+11000001100000100000000000000000
+01110000010001001100010111111111
+01110000010001001100010011111111
+01110000000010101001100100111111
+00100000001000000111110110000110
+01110000010001001100010000000010
+00100000001000000101101100000010
+01110000010001001100010000000100
+01011000000000010111011100000000
+11011000111000000000000000001010
+00100000001000000111111100001000
+01101000000000001100010011000101
+11000000000000100101101111111110
+00100000011000000000000000000000
+01110000010001001100010000000111
+01110000000010101001100100101001
+00100000010000000111110110000110
+00100000010000000101101110000010
+01101000000000001100000010010010
+11000001100001010000000000000000
+00100000010000000101101110111001
+00100000011101000000000000000000
+00100000001000000011010000010000
+01110000010001001100010000001000
+00100000001000000101101110001100
+01101000000000001100010001010010
+01101000000010001100010001011001
+10011000010000010111111000000000
+00101111111011000000000000000001
+00100000001000001101110000010010
+01110000010001001100010000001001
+00100000001000000101101110011000
+00100000010000000101101110100000
+00100000001000000101110000010010
+00011000000000000000111000001010
+00100000010000000111111100000111
+01110000010001001100010111111111
+01110000010001001100010011111111
+01110000000010101001100100111110
+00100000001000000111110110000110
+01000111001111001100000000101111
+01101000000000001100010011000110
+11000100000000111000000000000000
+01101000000000001100010010111111
+11000001100000010000000000000000
+01110000010001001011111100000000
+01101000000000001100010011000001
+11000000000000001101110001011000
+11000000000000010101110001011111
+11000000000000011101110001010010
+11000000000000110101110000111001
+11000000000000111101110000110000
+11000000000001000101110000100110
+00100000011000000000000000000000
+01101000000000001100011001100011
+00011111111000100000111000000000
+00011111111000001111111000000001
+01100000000000001100011001100011
+01101000000000100100010011000111
+10101111111011111111111111111111
+01011000000000000000000010000000
+01111001001000001111111000000000
+01100000000000001100011001100100
+00100000001000000101110001010101
+01101000000000001100010011000010
+01110000010001001100001000000000
+11000000000000001101110000110101
+01110000010001001011111100000010
+00100000011000000000000000000000
+01110000000010101001100100110001
+00100000010000000111110110000110
+01110000010001001100010000000101
+00100000001000000101101111010101
+01101000000000001000100110111001
+11000000000000011101110000111101
+01110000010001001011111100000010
+00100000011000000000000000000000
+00100000010000000111000110001101
+01101000000000001100010011000110
+11000000010000011101110001000001
+00100000010000000101101100011000
+00100000010000000111000101111010
+11011010001000000000101011110010
+11011010010000000000101001101110
+11011111001000000000000000010000
+00100000010000000111111110001000
+00100000001000101101110001001001
+01110000000001000111101100001011
+00100000001000000101101101010100
+00100000010000000111010110010101
+00100100001000101101110001000111
+01110000010001000010100100000001
+01101000000000001100010011000110
+11000000010000001101110000110101
+11000000010000011101110000110101
+01110000010001001011111100000010
+01110000010001001100000100000111
+00100000011000000000000000000000
+01101000000000001100010011000110
+11000000010000011101110001010110
+01110000010001100110010000000000
+00100000001000000101101100111101
+01110000010001100110001100000000
+00100000001000000101101100011011
+01110000010001001011111100000010
+01101000000000001100010011000011
+11000000000000011101110001011100
+00100000011000000000000000000000
+01110000010001001100000100000010
+01110000000010011011100100000000
+00100000001000000111101010011001
+01110000010001001011111100000010
+01110000010001001100000100000011
+00100000001000000101101111001111
+00011000000000000010010000000110
+00100000001000000101100001000111
+01101000000000001000001011011011
+11000000000000000101110001111011
+11000000000000001101110010000011
+11000000000000010101110010001110
+11000000000000011101110010101010
+11000000000000100101110011100001
+11000000000000101101110011100110
+11000000000000110101110011101010
+11000000000000111101110011110101
+11000000000001000101110010011001
+11000000000001001101110011110101
+11000000000001010101110011101111
+11000000000001011101110011110101
+11000000000001100101110010011111
+11000000000001101101110011110101
+11000000000010010101110010100110
+11000000000010011101110011110101
+11011010001000000000000000000010
+11011010010000000000000000000111
+00100000010000000101100001000010
+01101000000000001000001011011011
+11100000101000001000000000000000
+00100000011000000000000000000000
+11101000110001001000000000000000
+01100000000001001100001111010011
+11101000110000010000000000000000
+01100000000000010000010001011111
+01101000000000001000010000111111
+01111001001000000111111000000101
+01100000000000001000010000111111
+00100000011000000000000000000000
+11101000110000101000000000000000
+01100000000000101100001111001110
+11101000110000010000000000000000
+01100000000000010000010001011111
+01101000000010010000010001011001
+10011000010001100111110000000000
+00100100001000010101110010001110
+01101000000000001000010000111111
+01111001001000000111111000000110
+01100000000000001000010000111111
+00100000011000000000000000000000
+01011000000000000000000000010100
+01100000000000010000010001101101
+01100000000000010100010010111010
+00100000011000000000000000000000
+11011010011000000000000000010011
+11011010001000000000000000000010
+11011010010000000000000000000010
+00100000010000000101100001000010
+00011010011000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011010001000000000000000001001
+11011010010000000000000000001001
+00100000010000000101100001000010
+01011000000000000000000000000001
+11100000101001000000000000000000
+00100000011000000000000000000000
+00100000011101001000000000000000
+11011010001000000000000000000110
+11011010010000000000000000001100
+00100000010000000101100001000010
+01101000000000101100010100010000
+11100000101000101000000000000000
+00100000011000000000000000000000
+11011010010000000000000000010011
+00100000001000000101110010101000
+11011010001000000000000000000001
+00100000001000000101100001000010
+11101000110001000000000000000000
+01100000000001000100010011001101
+11101000110000010000000000000000
+01100000000000010100010011001011
+11101000110001000000000000000000
+01100000000001000100010010101010
+11101000110000100000000000000000
+01100000000000100100010000010001
+00100000010000000101110011001111
+01000111001111010100000000101111
+01101000000000001100010011000100
+11000000000000101101110010111100
+01101000000000001100010011101001
+11000010100000001101110010111111
+01101000000000001100001000010111
+00100100010110100110011110111110
+01101000000000001100010000101001
+11000000000000000101110011000100
+01110000010001001100010100000001
+00100000010000000101110011011101
+00100000001000000111001110100010
+01110000010001000010100100000001
+11011000110000000100010011101010
+11011000101000000100010000011001
+00100000010000000111111010111111
+00100000001000000101110010111100
+01000111001111011100000000101111
+01110000010001001100010100000000
+01110000010001001100010000000000
+01110000000010101001100101000001
+00100000001000000111110110000110
+11011010001000000000000000000010
+11011010010000000000000000001101
+00100000010000000101100001000010
+01011000000000000000000000000110
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011000101000000100010010110010
+00011000000000000111001000001000
+00100000010000000110001100001101
+11011000101000000100010000010101
+00011000000000000111001000000100
+00100000010000000110001100001101
+11011010001000000000000000001101
+11011010010000000000000000000100
+00100000010000000101100001000010
+01101000000001000100010010110010
+11100000101001000000000000000000
+01101000000000100100010000010101
+11100000101000100000000000000000
+00100000011000000000000000000000
+11011010010000000000000000000101
+00100000001000000101110010101000
+11011010010000000000000000000110
+00100000001000000101110010101000
+11101000110001000000000000000000
+01100000000001000100010010110010
+11101000110000100000000000000000
+01100000000000100100010000010101
+00100000001000000111001110100010
+01101000000000001000010000111111
+01111001001000000111111000000100
+01100000000000001000010000111111
+00100000011000000000000000000000
+00100000011101001000000000000000
+01110000000010101001100100110010
+00100000010000000111110110000110
+01110000010001001100010100000100
+00100000001000000101110011011111
+01110000010001001100010100000010
+00100000010000000101110011110011
+01110000000010101001100100110011
+00100000001000000111110110000110
+11011010010000000000000000001011
+00100000001000000101110010101000
+00100000011000000000000000000000
+00100000011101011000000000000000
+01000111001111100100000000101111
+01011000000000000000000000000000
+01100000000000001000000001001000
+01100000000000001000000001010101
+01100000000000001000000001111000
+01100000000000001000000001111100
+01100000000000001100000101011000
+01100000000000001000010011010111
+01100000000000001000000101101101
+01100000000000001000100110110101
+01110000010001010101101100000000
+01110000000000100010100100000000
+01110000000001001101100000000000
+01110000000010011011010100000000
+01110000000010011011010000000000
+01110000000001001101000100000000
+00100000011000000000000000000000
+01000111001111101100000000101111
+00100000010101001110001011111111
+00100100010101001110001100000011
+00100000010000000110001010111100
+00100100011110100000000000000000
+01101000000000001000000001001100
+11000100000000110000000000000000
+01111001001111111111111000000110
+01111001001111111000000000000001
+01100000000000001000000001001100
+01101000000000001000010101010001
+01101000000010001000000001001100
+00101111111011111111111000000000
+01111001001000001000010000000001
+01100000000010001000000001001100
+00011000010000010000010000000010
+01100000000010001000000001111111
+01101000000010001000000001001100
+00011111111000110111111000000000
+01100000000000001000000001111101
+01000111001111110100000000101111
+01101000000000001000000001111101
+11000000001111111101110101100110
+11000000000000011101110110110001
+11000000000000100101110111000010
+11000000000111100101110101011001
+11000000000000101101110101010101
+11000000000001111101111110101000
+11000000000010000101111000100100
+11000000000100011101111001000010
+11000000000111001101111111000001
+11000000000111000101111110111100
+11000000000110001101111000100111
+11000000000110111101111010110000
+11000000000100111101111010101100
+11000000000110011101111010101001
+11000000000100101101111010101110
+11000000000100110101111000111110
+11000000000000111101111000110110
+11000000000101101101111000101101
+11000000000101110101111000101110
+11000000000000001101111010100101
+11000000000000010101111010010000
+11000000000101000101111110110011
+11000000000001001101111010000110
+11000000000001011101111001011111
+11000000000001000101111001000011
+11000000000001100101111001101010
+11000000000011111101111000111010
+11000000000100000101111000111100
+11000000000100001101111011001010
+11000000000100010101111011001010
+11000000000110101101111011001011
+11000000000110110101111011001100
+11000000000100100101111011001010
+11000000000110100101111011001101
+11000000000010111101111011010110
+11000000000010001101111011110010
+11000000000010010101111011110110
+11000000000010011101111011111000
+11000000000001101101111100001010
+11000000000001110101111100001010
+11000000000101111101111010101010
+11000000000110000101111100001010
+11000000000001010101111100001010
+11000000000011000101111100001011
+11000000000110010101111100001010
+11000000000111101101111100010000
+11000000000111110101111101010001
+11000000000111111101111101001011
+11000000001000000101111101111000
+11000000001000001101111110001010
+11000000000000110101111110100111
+11000000000111010101110101010111
+01110000000000000111111000011001
+01110000000000000111110000000100
+00100000011000000000000000000000
+01110000000000000111110000000110
+00100000011000000000000000000000
+01110000000000000111110000111011
+00100000011000000000000000000000
+01101000000000100000010101010010
+00011111111000111111111000000000
+01100000000000100100000011010010
+01101000000000001000010101010110
+01100000000000001100000011011001
+01101000000000101000010101010111
+01100000000000101100000011100111
+01101000000000101000010101011100
+11100000101000101000000000000000
+01101000000000001000000000110001
+01111001001000000111111000000011
+01100000000000001000000000110001
+00100000011000000000000000000000
+01000111001111111100000000101111
+01101000000000001000010101010010
+01111001001000000111111000000111
+01100000000000001000000001111101
+11000000010000001101110110001000
+11000000010000010101110110001101
+11000000010010101101111010110001
+11000000010010110101111011001010
+11000000010001011101111010111111
+11000000010000011101110110100101
+11000000010000100101110110100111
+11000000010010000101110101111010
+11000000010010111101110110011110
+11000000010011000101110110100011
+11000000010011001101110101111101
+11000000010011010101110110000000
+11000001010000100000000000000000
+01110000000000000111110010000010
+01110000000000000111111000011001
+00100000011000000000000000000000
+01110000000000000111110010000010
+01110000000000000111111000101110
+00100000011000000000000000000000
+00100000010000000101110110000010
+01110000000000000111110010011010
+00100000011000000000000000000000
+00100000010000000101110110000010
+00100000001000000101110110000110
+11011000101000000100011001011110
+01101000000000011000010101010011
+11100000101000011000000000000000
+00100000011000000000000000000000
+00100000001000001111011011011000
+00100000011000000000000000000000
+01101000000000001000010101010100
+01111001001000000111111000000111
+01100000000000001000010011001001
+11000000010001011101110110010010
+00100000011000000000000000000000
+01101000000000001000010101010100
+01111001001000000111111000000111
+01100000000000001000010011001001
+11000000010001011101110110010110
+00100000011000000000000000000000
+01101000000000001100000101011010
+01101000000010001000000001001100
+01111101001110100000010000000101
+01100000000010001000000001001100
+01101000000000001000000000110000
+11000100000000101000000000000000
+01111001001111111111111000000101
+01100000000000001000000000110000
+01101000000000001000010011010111
+00100100011110100000000000000000
+01110000000000000111110000110001
+00100000011000000000000000000000
+00100100001101001101110110100001
+01110000000000000111110000010010
+00100000001000000110001011101011
+01110000000000000111110010010111
+00100000011000000000000000000000
+00100000010000000110001011101011
+00100000001000000101111111111110
+01110000000000000111110010000100
+00100000011000000000000000000000
+01101000000010001000010101010101
+00011000010000010000010000000001
+01100000000010001000010011010000
+01101000000000001100000111001110
+11000000101010001101110110101101
+01110000010000011100111000000000
+01101000000000001000000001010101
+11000001100010101000000000000000
+01110000000000000101010100000100
+00100000001000000110001100011011
+01000111010000000100000000110000
+01101000000000001000010101010010
+01100000000000001000010011001001
+11000000000110011101110111011000
+11000000000001000101110111100111
+11000000000001111101110111101110
+11000000000010000101110111110100
+11000000000010001101110111110101
+11000000000010010101110111111101
+11000000000011000101111000010011
+11000000000010111101111000010110
+11000000000010011101110111001111
+11000000000111101101111100011110
+11000000000111110101111101101010
+11000000001000000101111100100000
+11000000001000001101111100111101
+00100000011000000000000000000000
+01000111010000001100000000110000
+01101000000000001000010101010010
+01100000000000001000010011001001
+11000000000000001101111000001010
+11000000000110011101110111100010
+11000000000001011101110111111110
+11000000000001000101111000000001
+11000000000010011101110111010010
+11000000001000000101111000001011
+11000000001000001101111000001110
+11000000000011000101111000010001
+11000000000010111101111000100010
+00100000011000000000000000000000
+01110000000010101001100100100000
+00100000010000000111110110000110
+00100000001000000010000111011100
+01110000000010101001100100011001
+00100000010000000111110110000110
+01110000010001010101101100000010
+01011000000000000000000001010000
+11011000111000000000000000000110
+00100000001000000111111100001000
+01101000000000001000010011010001
+01111001001000000111111000000000
+01100000000000001000010011010001
+01110000000010101001100100000001
+00100000010000000111110110000110
+01110000000000000111110010001011
+01101000000000001000000001010101
+11000000100000101101110100000111
+01110000000000000101010100000110
+00100000011000000000000000000000
+01110000000001001100101000001011
+01110000000000000111110000000111
+01110000000000000101010100000000
+00100000001000001101110100000111
+00100000011000000000000000000000
+01101000000000001100000110111101
+00100100011110100000000000000000
+00100000010000000010010001001111
+00100000010000000101111111111100
+00100000011101001000000000000000
+01111001001000000000000000100001
+00100000011000000000000000000000
+00100100011101001000000000000000
+01110000000000000111110000010000
+01101000000000001000000001001100
+11000100000000010000000000000000
+01110000000000000111110000010010
+00100000011000000000000000000000
+00100000001000000101111111111110
+00100000010000000110000001011001
+01101000000000001000000000110000
+11000011100000100000000000000000
+01110000000000000111110000110001
+01101000000000001000000001010101
+11000001100001010000000000000000
+01110000000000000101010100001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100101000010011
+00100000011000000000000000000000
+01101000000000001000010101010011
+11000000000000110101111000000111
+11000001100011000000000000000000
+01110000000001001100101000011000
+01110000000000000111110000000111
+00100000011000000000000000000000
+01110000000001001100101000000110
+01110000000000000111110000000111
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000010011010111000000000
+01110000000000000111110000000111
+00100000001000000101110100000111
+01110000000010011010111000000000
+01110000000000000111110000000111
+00100000001000000101110100000111
+01110000000010101001100100100100
+00100000001000000111110110000110
+01110000000010101001100100100011
+00100000010000000111110110000110
+00100000001000000010011011101001
+01110000000010101001100100100010
+00100000010000000111110110000110
+01011000000000000000000000000000
+01100000000000010000000001110101
+01101000000000010100000111100011
+00011111111000111111111000000000
+01100000000000010000000000110010
+01101000000000001100000111100101
+01100000000000001000000001110011
+01101000000000001100000111100111
+01100000000000001000000001110100
+00100000001000000010011011000110
+01110000000010101001100100100001
+00100000001000000111110110000110
+01101000000010001000010101010010
+01100000000010001000000001010100
+00100000001000000101111000111000
+01101000000000001000010011010001
+01111001001000000111111000000010
+01100000000000001000010011010001
+11000011100000011000000000000000
+01110000000000000111110000110001
+00100000001000000101110100000111
+00100000011000000000000000000000
+01101000000000001100000011010000
+01101000000010001000010101010010
+10011000010001100111110000000000
+00100000001000010101111000111000
+01110000000000000111110000000100
+01110000000000000111111000011111
+01110000000000000111110100101110
+00100000011000000000000000000000
+00100000010000000110000101010111
+00100000001000000101111000111000
+01110000000000000111110000000011
+00100000011000000000000000000000
+01110000000000000111110000100001
+00100000011000000000000000000000
+01110000000000000111110000100010
+00100000011000000000000000000000
+01101000000000001000000001010101
+11000001000010011000000000000000
+01110000000000000101010100000010
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000101111111111001
+01110000000001001101010000000001
+01110000000010101001100100001010
+00100000010000000111110110000110
+00100000010000000110001011110011
+00100100001000001110000000000001
+00100100001101001101111001001110
+01110000000000000111110000000100
+01110000000000000111110100001000
+01110000000000000111111000100011
+00100000011000000000000000000000
+01101000000000001000000001001011
+01111001001000000111111000000010
+01100000000000001000000001001011
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111101001110100000010000000001
+01100000000010001000000001001100
+00100000011000000000000000000000
+01101000000000001000000001111111
+00011111111000110111111000000000
+00011111111000010111111000000001
+00100000011000000000000000000000
+01101000000000001100001000010111
+00100000011110100000000000000000
+01101000000000001000100110110101
+00100000010110100110011110110010
+00100000011000000000000000000000
+00100000010000000101111001011010
+00100000010000000101111001010110
+01100000000000001000010011010101
+00100000010000000101111111111001
+01110000000000000111110000001100
+01101000000000001100000110111101
+00100100011110100000000000000000
+01101000000000001000000000110000
+11000011100000110000000000000000
+01110000000000000111111000000110
+00100000001000000101110101010011
+11011010001000000000000001000000
+00100000010000000111001010001000
+01101000000000100000010101010010
+01101000000010100000010110010010
+10011000010001100111110000000000
+00100000001000101101111001110011
+01110000000000000111110000000111
+01110000000001001100101000000101
+00100000011000000000000000000000
+00100000010000000101111001110111
+01101000000000001100011001011010
+00100000001110100101111100111110
+00100000011000000000000000000000
+00100000010000000111001110000110
+00100000010000000010000110110010
+01101000000000001000000001001011
+00101111111011111111111000000001
+01111001001111111111111000000001
+01100000000000001000000001001011
+01101000000000001000000001010101
+11000000000011001101111010000001
+11000000000011000101111010000001
+00100000011000000000000000000000
+01101000000000001000100110110101
+11000001100000000000000000000000
+01101000000000001000000001001100
+11000011100000010000000000000000
+00100000001000000110001110110001
+11011010001000000000010101010010
+11011010010000000000010110000010
+11011000101000000000010101100010
+00100000010000000111001101010010
+11011010001000000000000001000000
+00100000010000000110001100010001
+01110000000000000111110000001011
+01101000000000001000000000110000
+11000011000000110101111111111100
+00100000011000000000000000000000
+01101000000000010000000101011111
+00011111111000001111001111111101
+01101000000010001000010101010010
+01011000000000000000000100000001
+10011000010000001000101000000000
+11011000110000000000010101010100
+00100000010000000111111100000001
+01101000000010001000000001010011
+01101000000000001000010101010011
+10011000010001100111111000000000
+00011111111001100111110000001110
+00100000001000010101111010100000
+00011000010000001111111000001110
+01100000000000001000000001010011
+01110000000000000111110000000001
+00100000011000000000000000000000
+01101000000000001000000001001100
+01111001001000000111111000000011
+01100000000000001000000001001100
+11000010100000100110000000000110
+00100000011000000000000000000000
+01101000000000001000010101010010
+01100000000000001000000001111101
+01110000000000000111110000000010
+00100000011000000000000000000000
+00100000001000000101111000111000
+01110000000000000111110000110000
+00100000011000000000000000000000
+01110000000000000111110000101000
+00100000011000000000000000000000
+01110000000000000111110000100110
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101000000000010000000000110010
+10011000000000000000010000000000
+01101000000000001000010101010011
+01100000000000001000000010010101
+10011000010011111000010000000000
+01101000000000010000010101010100
+00011111111000111111111000000000
+01100000000000010000000010010110
+01101000000000100000010101010110
+00011111111000111111111000000000
+01100000000000100000000010010001
+00011000010000100111111000000000
+01100000000000010000000010011000
+00100000011000000000000000000000
+01101000000010001100000101011010
+01101000000000001000010101010011
+10011000010000101111110000000000
+00100100001000101101110101110111
+00101111111011111111111000000000
+01101000000000001000000001001100
+01111001001000001111111000000101
+01100000000000001000000001001100
+01110000000000000111110010000001
+01110000000000000111110110001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000001000000101111000111000
+00100000001000000101111000111000
+01101000000000010000010101010010
+01100000000000010000000101110001
+00100000011000000000000000000000
+01101000000000010000010101010101
+01101000000010001100000101110010
+10011000010011111111111000000000
+11011000010000000000011001000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000010000010101010111
+00100000001110100101111011110000
+00100000010000000101111011010000
+00100000001000010101111011110000
+01101000000000001100000010010010
+00011111111001100111110000001010
+00100000010000101011110011010101
+01101000000000001000000000110000
+11000010100000001101111011110000
+01101000000000010000010101010011
+00011111111000111111111000000000
+01100000000000010000000001110101
+01101000000000010000010101010101
+00011111111000111111111000000000
+01100000000000010000000000110010
+01101000000000010000010101010111
+01100000000000001000000001110011
+10011000000000000000010000000000
+01101000000000010000010101011001
+01100000000000001000000001110100
+10011000010001100111110000000000
+00100100001000010101111011101101
+01100000000000001000000001110011
+01110000000000000111110000000011
+01110000000000000111110100010111
+00100000011000000000000000000000
+01110000000000000111111000100100
+00100000001000000101110101010011
+00100000010000000101111000111000
+00100000010000000101111111111001
+00100000010000000111001010001011
+00100000001000000010011010111000
+00100000010000000101111000111000
+00100000001000000010011011000000
+01101000000000100000010101010010
+00011111111000111111111000000000
+00100000001101001101111100000100
+01101000000010001100000110111101
+00100100001110100101111100000001
+01110000000000000111110000000100
+01110000000000000111110100010011
+01110000000000000111111000100100
+00100000011000000000000000000000
+01110000000000000111110000110100
+01110000000000000101010100000000
+00100000001000000010000111011001
+00100000010000000010000111011001
+01111001001000000000000000100010
+01101000000000001000000101101101
+01111001001111111111111000000010
+01100000000000001000000101101101
+00100000001000000101111000111000
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000000000111110100011000
+01110000000010101001100100101110
+00100000010000000111110110000110
+00100000001000000010011011101001
+01101000000000001000010101010010
+11000000100000001101111100011100
+01101000000000001000010101010011
+11000000100000001101111100011100
+01101000000000001000010101010100
+11000000100110000101111100011100
+00100000010000000110001011111100
+00100000001000001101111100011001
+01110000000010011010111000000001
+01110000000000000111110000000011
+01110000000000000111110100111101
+00100000001000000101110100000111
+01110000000000000111111000100100
+00100000001000000101110101010011
+01110000000000000111110000111110
+00100000011000000000000000000000
+01101000000000001100011001100010
+11000000000000001101111100100111
+11000000000000010101111100101011
+00100000010000000110001011111100
+00100000011000001000000000000000
+01110000000010011010111000001000
+00100000011000000000000000000000
+00100000010000000111100101100010
+01110000000010101001100100110101
+00100000010000000111110110000110
+00100000001000000101111100100011
+00100000010000000110001011111100
+00100000011000001000000000000000
+01101000000000001100011001100011
+11000000000010011101111100111011
+00011111111000001111111000000001
+01100000000000001100011001100011
+01110000000010011011000000000001
+01110000000010011010111000000100
+01101000000000001100011001100011
+00011111111000100000111000000000
+01101000000000110100011010001010
+10101111111011111111111111111111
+01011000000000000000000010000000
+01111001001000001111111000000000
+01100000000000001100011001100100
+00100000011000000000000000000000
+01110000000010011010111000001000
+00100000011000000000000000000000
+00100000010000000101111101000011
+01101000000000001100011001100101
+00100000011110100000000000000000
+01110000010001100110010100000000
+01110000000010101001100100111000
+00100000001000000111110110000110
+00100000010000000110001011111100
+00100100010000001111100101100101
+00100000010000001111100101110101
+00100000010000000110001011111100
+00100000011000001000000000000000
+01110000000010011010111000001100
+01110000000010011011000000000001
+00100000011000000000000000000000
+11011000101000000000101001101110
+11011000110000000000010101010010
+00100000010000000111111010111111
+01101000000000001100011001100010
+11000001000000010000000000000000
+00100000001000000111011011011000
+01101000000000001000100110101111
+11000000000000111101111101010101
+01101000000000001000100110101110
+11000000100000001101111101101000
+01101000000000001000100110110111
+00011111111001100000101000100000
+00100100001000010101111101101000
+11011000101000000000100111000110
+10011000101000001000101000000000
+01101000000001000000010101010010
+11100000101001000000000000000000
+01101000000001000000010101011010
+11100000101001000000000000000000
+01101000000000001000100110110111
+00011111111000001111111000010000
+01100000000000001000100110110111
+11000000100110000101111000111000
+00100000010000000110001011111100
+00100000001000001101111000111000
+01110000000010011011100000000001
+01110000000010011010111000000010
+01110000000010011011000000000001
+00100000001000000101111000111000
+01110000000000000111111000100100
+00100000001000000101110101010011
+01101000000000001000100110110110
+11000000000110000101111101101110
+01110000000000000111110000111110
+00100000001000000101110100000111
+00100000010000000110001011111100
+00100000001000001101111101110111
+01101000000000001100011001100010
+11000000000000010101111101110101
+01110000000010011011000000000001
+01110000000010011010111000000100
+00100000001000000101110100000111
+01110000000010101001100100110110
+00100000001000000111110110000110
+00100000001000000101110100000111
+01101000000000001000100110101111
+11000000000000111101111101111100
+01101000000000001000100110101110
+11000000100000110101111110001000
+11011000101000000000101000101110
+01101000000001000000010101010010
+11100000101001000000000000000000
+01101000000001000000010101011010
+11100000101001000000000000000000
+00100000010000000110001011111100
+00100000001000001101111110000110
+01110000000010011010111000000111
+01110000000010011011000000000001
+00100000001000000101111000111000
+01110000000010011010111100000100
+00100000001000000111011011011000
+01110000000000000111111000100100
+00100000001000000101110101010011
+01101000000000001000100110101111
+11000000000001011101111110001110
+01101000000000001000100110101110
+11000000100001000101111110011101
+11011000101000000000101001011110
+11011000110000000000010101010010
+00100000010000000111111010111111
+00100000010000000110001011111100
+00100000001000001101111110011010
+01101000000000001100011001100010
+11000000000000001101111110011111
+01110000010001100110000100000000
+01110000000010011010111000001001
+01110000000010011011000000000001
+01110000000000000111110101000001
+00100000001000000101110100000111
+01110000000010011010111100001001
+01110000000010011011000100000001
+00100000001000000101110100000111
+01110000000000000111111000100100
+00100000001000000101110101010011
+01101000000000001100011001100001
+11000010100000111101111110100100
+01111001001000000111111000000110
+01100000000000001100011001100001
+00100000011000000000000000000000
+11000010100000000101111110010101
+01110000010001100110000100000000
+00100000001000000101111110011101
+00100000001000000101110100000111
+01101000000000001000000101101101
+01111001001111111111111000000001
+01100000000000001000000101101101
+00100000010000000101111000111000
+00100100011101001000000000000000
+01101000000000001000010101010010
+01101000000010001000000001001011
+01111001001110100000010000000100
+01111101001110100000010000000101
+01100000000010001000000001001011
+00100000011000000000000000000000
+01101000000011000000010101010010
+01101000000000001000000001010101
+11000001100000011000000000000000
+01101000000000001000000101101101
+11000011000000100101111110111010
+01110000000000000101010100010100
+00100000011000000000000000000000
+01110000000000000101010100000100
+00100000011000000000000000000000
+01101000000000001000000101111111
+01100000000000001000000101011011
+01110000000000000111110000000011
+01110000000000000111110100111000
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000000000111110100111001
+00011000000000000111001000001001
+11011000110000000000010101010010
+11011000101000000000000101010010
+11101000110000001000000000000000
+00011111111000101111111001010101
+11100000101000001000000000000000
+11000010000000000101111111000110
+01101000000000001000000101010010
+01101000000010001000000101010001
+01111001001111111000010000000111
+01111001001111111000010000000100
+11000000011111111101111111011010
+11000000000000000101111111110011
+11000000000000101101111111100111
+11000000000000111101111111100110
+11000000000000110101111111100111
+11000000000001000101111111100110
+11000000000000001101111111011111
+11000000000000010101111111011111
+11000000000000011101111111011111
+11000000000001001101111111011111
+11000000000000100101111111011111
+00100000011000000000000000000000
+01101000000000001000000101010001
+01111001001000000111111000000011
+01111001001000000111111000000010
+01100000000000001000000101010001
+00100000011000000000000000000000
+01111001001000000000010000000100
+01110000000000011000000000000101
+01101000000000010000000101011001
+10011000000000000111001000000000
+01100000000000010000000101011111
+11011000101000000000010101010001
+00100000010000000111111101110011
+01111001001000000000010000000111
+01111001001000000000010000000010
+00011000000000000111111000000000
+01100000000000001000000000001011
+01100000000000010000000011111010
+01100000000000010000000011111100
+01100000000000010000000011111000
+01100000000000010000000011110110
+01101000000000001000000101010011
+00101111111000011111111000000000
+01111001001000001000010000000110
+01100000000010001000000101010001
+00100000011000000000000000000000
+01111001001111111000000000010001
+01110000000000010101000100000000
+01101000000000001000000101111111
+01111001001111111111111000000110
+01100000000000001000000101111111
+00100000011000000000000000000000
+11011000110000000000010101010010
+11011000101000000000010101100010
+00100000001000000111111010111111
+01110000000000000111110000001001
+00100000011000000000000000000000
+00100100011101001000000000000000
+01110000000000000111110000010001
+00100000011000000000000000000000
+11011010001000000100000010100000
+00100000010000000111001001010101
+01110000000000000111110000000011
+01110000000000000111110100001000
+00100000011000000000000000000000
+01110000000000000111001000001010
+01110000000000000111110000000111
+01110000000001001100101000010110
+00100000011000000000000000000000
+01000111010000010100000000110000
+01111000010101000111110000000000
+00100000010000000110001011000001
+01101000000000001000000001001000
+00100000011110100000000000000000
+11000010100000111110000000111111
+11000000000000001110000101101111
+11000000000000010110000011100100
+11000000000000011110000001001010
+11000000000000100110000001100000
+11000000000100111110000111011011
+11000000000101000110000100001000
+11000000000110000110000011110100
+11000000000100101110000111010110
+11000000000100110110000100000011
+11000000000110001110000111000011
+11000000000110111110000101101010
+11000000000110011110000101011100
+11000000000001000110001001011001
+11000000000001001110001001001111
+11000000000001011110001001100100
+11000000000001100110001001101101
+11000000000001111110000101100010
+11000000000010000110001010010010
+11000000000010001110001010001000
+11000000000000111110000101010010
+11000000000101010110000101111110
+11000000000001010110000101111111
+11000000000011111110000110111100
+11000000000000110110000011111001
+11000000000100001110000101011111
+11000000000101101110000110110010
+11000000000101110110000110110111
+11000000000100010110000101011111
+11000000000110100110000110000000
+11000000000010011110000110010101
+11000000000010111110000110100100
+11000000000010010110001010001111
+11000000000101111110000110101010
+11000000000011000110000110101111
+11000000000111101110000111111111
+11000000000111110110001000001011
+11000000000111111110001000011101
+11000000001000000110001000100111
+11000000001000001110001000111100
+11000000000100011110001001001011
+11000000000111011110001001000110
+11000000000000101110001001001100
+11000000000101001110001001001101
+11000000000111000110001001001110
+11000000000111001110000101110101
+00100000001000000010101010001100
+00100000011000000000000000000000
+11000000010000001110000001101101
+11000000010000100110000010011001
+11000000010000010110000001110110
+11000000010000011110000100001101
+11000000010001011110000100011000
+11000000010010111110000101001110
+11000000010011001110000011010101
+11000000010011010110000010100100
+11000000010010101110000011011010
+11000000010010110110000011011011
+00100000001000000010101010001100
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001001001
+11100000101000001000000000000000
+00100000010000000110001010100111
+01000111010000011100000000110000
+01101000000000001000000001001001
+11000000000001000110000010000000
+11000000000001111110000010000100
+11000000000010000110000010001111
+11000000000010111110000001011111
+11000000000110011110000010010010
+11000000001000001110000010011000
+11000000000010001110000001011001
+00100000011000000000000000000000
+01101000000000001000000001010101
+00100000011110100000000000000000
+01110000000000000101010100011011
+01011000000000000000000000001100
+11011000111000000000000000000111
+00100000001000000111111100001000
+00100000001000000010011011000110
+00011000000000000111111000000011
+00100000010000000110001010011000
+01101000000000001000000001001001
+11000000000001011110000001101000
+11100000101000001000000000000000
+01101000000000001000000001001010
+11100000101000001000000000000000
+00100000001000000110001010100111
+11100000101000001000000000000000
+01101000000000001000000001001010
+11100000101000001000000000000000
+11011000010000000000010011010101
+00100000001000000110001011100010
+00011000000000000000111000000100
+00100000010000000110001010100000
+01011000000000000000000001111111
+11100000101000001000000000000000
+01101000000000001000000001001001
+01111001001111111111111000000111
+11100000101000001000000000000000
+01101000000000001000000001001001
+00100000001000000110001010100111
+00011000000000000000111000000101
+00100000010000000110001010100000
+01011000000000000000000001111111
+11100000101000001000000000000000
+01101000000000001000000001001001
+01111001001111111111111000000111
+11100000101000001000000000000000
+01101000000000001000000001001010
+11100000101000001000000000000000
+00100000001000000110001010100111
+00100000010000000010010001001111
+00100000010000000110001011110011
+00100000011000001000000000000000
+00100000001000000101111111111100
+01101000000000001000000001001011
+11000010100000101110000010001011
+11000100000000100000000000000000
+01110000000000000111110000010010
+01111001001111111111111000000100
+00100000010000000110001011101011
+00100000001000000110000010001101
+01110000000000000111110000010000
+01111001001111111111111000000101
+01100000000000001000000001001011
+00100000011000000000000000000000
+00100000010000000110001011111100
+00100000001000001101111111111110
+00100000011000000000000000000000
+01110000000000000111110010001011
+01101000000000001000010011010001
+01111001001000000111111000000000
+01100000000000001000010011010001
+01110000000010101001100100000001
+00100000001000000111110110000110
+00100000011000000000000000000000
+00011000000000000000111000001100
+00100000010000000110001010100000
+01011000000000000000000000000001
+11100000101000001000000000000000
+01101000000000010000010011001110
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+01011000000000000000000000000000
+11100000101000100000000000000000
+00100000001000000110001010110000
+00011000000000000000111000000101
+00100000010000000110001010100000
+01101000000000011100011001011011
+11100000101000011000000000000000
+00100000010000000110001010110000
+01110000010001100110010100000001
+01101000000000001100011001011011
+11000000000000001110000010110101
+11000000000000010110000010101111
+11000000000000011110000010111011
+00100000011000000000000000000000
+01101000000000001100011001011110
+11000000000000000110000011000111
+11000000000000001110000011000111
+11000000000000010110000011000111
+11000000000000011110000011000001
+00100000011000000000000000000000
+01101000000000001100011001011110
+11000000000000000110000011000001
+11000000000000001110000011000101
+11000000000000010110000011000111
+11000000000000011110000011000001
+00100000011000000000000000000000
+01101000000000001100011001011110
+11000000000000000110000011000001
+11000000000000001110000011000001
+11000000000000010110000011000001
+11000000000000011110000011000001
+00100000011000000000000000000000
+01110000010001100110001000000011
+01101000000000001100010101011100
+11000010100000000011001111101001
+00100000011000000000000000000000
+01110000010001100110001000000001
+00100000011000000000000000000000
+01110000010001100110001000000010
+00100000011000000000000000000000
+11011000111000000000000000000000
+00100000001000000110000011001101
+11011000111000000000000000000000
+00100000001000000110000011010001
+01101000000000001100010101011100
+11111001001000000111111000000000
+01100000000000001100010101011100
+00100000011000000000000000000000
+01101000000000001100010101011100
+11111001001111111111111000000000
+01100000000000001100010101011100
+00100000011000000000000000000000
+00011000000000000000111000000101
+00100000010000000110001010100000
+01101000000000011100011001011011
+11100000101000011000000000000000
+00100000001000000110001010110010
+00100000011000000000000000000000
+00011000000000000000111000001001
+00100000010000000110001010100000
+01101000000000001000000010010101
+11100000101000001000000000000000
+01101000000000010000000010010110
+11100000101000010000000000000000
+01101000000000100000000010010001
+11100000101000100000000000000000
+00100000001000000110001010110000
+00011000000000000111111000010001
+00100000010000000110001010011000
+01101000000000001000000001001001
+00011111111000100000010000000000
+11000000000000000110000011101100
+11000000000001110110000011101100
+11000000000011100110000011101100
+00100000011000000000000000000000
+11100000101000001000000000000000
+01101000000000001100010100010101
+11100000101000001000000000000000
+11011111001000000000000000001110
+01011000000000000100010100010110
+10011000010000001000110000000000
+00100000010000000111111100000001
+00100000001000000110001010110000
+00011000000000000111111000000011
+00100000010000000110001010011000
+01011000000000000000000100010100
+11100000101000010000000000000000
+00100000001000000110001010110000
+00011000000000000111111000000011
+00100000010000000110001010011000
+01101000000000100000000101100101
+10011100010001100111111000000000
+00100000001101001110000011111111
+00011111111001100111111000000000
+00011111111010110111111000000000
+01111001001111111111111000001111
+11100000101000010000000000000000
+00100000001000000110001010110000
+00011000000000000111111000000110
+00100000010000000110001010011000
+01101000000000101100010100010000
+11100000101000101000000000000000
+00100000001000000110001010110000
+00011000000000000111111000001001
+00100000010000000110001010011000
+01101000000001000100000010011000
+11100000101001000000000000000000
+00100000001000000110001010110000
+00011000000000000000111000001100
+00100000010000000110001010100000
+01011000000000000000000000000001
+11100000101000001000000000000000
+01101000000000010000010011001110
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+01011000000000000000000000000000
+11100000101000100000000000000000
+00100000001000000110001010110010
+00011000000000000000111000000011
+00100000010000000110001010100000
+01101000000000001100000101011010
+11100000101000001000000000000000
+01111000010101000111110000000000
+00100000010000000110001010110010
+00100100011101000000000000000000
+00100100011101001000000000000000
+01101000000000001100000011011000
+11000100000000000000000000000000
+00100000010000000110000100110010
+00100000001000000110000100111100
+01000111010000100100000000110000
+01101000000000001100000010011110
+01111001001000000111111000000011
+01100000000000001100000010011110
+01011000000000000000000100000001
+01100000000000010000010011001110
+00100000011000000000000000000000
+01000111010000101100000000110000
+01101000000000001100000010011110
+01111001001111111111111000000011
+01100000000000001100000010011110
+01011000000000000000000000000000
+01100000000000010000010011001110
+00100000011000000000000000000000
+01110000010000001101100000000011
+01011000000000000000000000000000
+01100000000000100100000101000010
+11011000101000000100000011011010
+00100000010000000110000101000000
+11011000101000000100000011100111
+00100000010000000110000101000000
+11011000101000000100000101000110
+00100000010000000110000101000000
+00100000001000000110000101000111
+11011000101000000100000011100111
+00100000010000000110000101000000
+00100000010000000110000101000111
+00100000001000000110000101001010
+01011000111111111111111111111111
+11100000101000011000000000000000
+11100000101000011000000000000000
+11100000101000011000000000000000
+01011000000000000000000001111111
+11100000101000001000000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100000011010110
+00100000011000000000000000000000
+01101000000000001100000011011000
+01111001001000000111111000000010
+01100000000000001100000011011000
+00100000011000000000000000000000
+00011000000000000000111000000010
+00100000010000000110001010100000
+00100100001101001110001010110000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000010011001010
+11100000101000001000000000000000
+00100000010000000110001010110010
+01101000000000001000000001001011
+01111001001000000111111000000011
+01100000000000001000000001001011
+01110000000000000111001000110010
+00100000011000000000000000000000
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110010
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110000
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001001100
+00101111111011000000000000000010
+01111001001000001111111000000000
+00011111111000010111111000000001
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000011
+00100000010000000110001010011000
+01101000000000010000000001010001
+11100000101000010000000000000000
+00100000001000000110001010110010
+01110000000000000111001011111010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001010011
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000001010
+00100000010000000110001010011000
+11011000110000000000000101010010
+00011000000000000111001000001001
+11101000110000001000000000000000
+00011111111000101111111001010101
+11100000101000001000000000000000
+11000010000000000110000101111001
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000011101001000000000000000
+00100000010000000010100000101101
+00011000000000000111111000001001
+00100000010000000110001010011000
+01101000000000010000000101110001
+11100000101000010000000000000000
+01101000000000011100000010100000
+11100000101000011000000000000000
+01101000000000001100000010100011
+11100000101000001000000000000000
+01101000000000010100000010100100
+11100000101000010000000000000000
+11000101100000011110000110010001
+01111001001111111000000000000011
+00100000010000000110001010110010
+01110000000000000111110000010011
+00100000011000000000000000000000
+00100000010000000110001010110000
+01110000000000000111110000000011
+01110000000000000111110100010011
+00100000011000000000000000000000
+11011000010000000000001000000000
+00100000001101001110000110011001
+00011101000000100111111000000000
+00100000001000000110000110011010
+00011100010000100111111000000000
+00011100001000100111111000000000
+10011000010000001111111000000000
+00011111111000010111111111111100
+01100000000000100000000000110100
+00011000000000000111111000000101
+00100000010000000110001010011000
+01101000000000100000000000110100
+00011111111000110111111000000000
+11100000101000100000000000000000
+00100000001000000110001010110010
+00011000000000000111111000001010
+00100000010000000110001010011000
+11011000110000000000010011011001
+11101000110001001000000000000000
+11100000101001001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000011
+00100000010000000110001010011000
+01011000000000000000000100010100
+11100000101000010000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001100000011010000
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01011000000000000000000000000101
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01011000000000000000000000000000
+11100000101000001000000000000000
+00100000001000000110001010110010
+01110000000000000111110000101110
+00100000011000000000000000000000
+01101000000000001100000010010010
+00011111111001100111110000001010
+00100000010000101110000111000001
+01101000000000001000000000110000
+01111001001000000111111000000100
+01100000000000001000000000110000
+00011100010000100111111000000000
+01100000000000100000010011101001
+01101000000000001000010011010001
+11000010100000011110000111010100
+01111001001000000111111000000011
+01100000000000001000010011010001
+01110000000010101001100100000101
+00100000010000000111110110000110
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110010
+01110000000000000100100000000000
+00100000011000000000000000000000
+00011000000000000111111000000110
+00100000010000000110001010011000
+01101000000000101100010100010000
+11100000101000101000000000000000
+00100000001000000110001010110010
+00011000000000000111111000001001
+00100000010000000110001010011000
+01101000000001000100000010011000
+11100000101001000000000000000000
+00100000001000000110001010110010
+01110000000010011011000100000001
+01101000000000001100010110110001
+11000001100000001000000000000000
+01110000000010011010111100010011
+00100000011000000000000000000000
+00100000010000000110001011101111
+01110000000000000111110010011001
+01110000000010011010111100000011
+00100000011000000000000000000000
+00100000010000000110001011101111
+01110000000000000111110000111101
+01110000000010011010111100000111
+00100000011000000000000000000000
+11011010001000000000101001001110
+11011010010000000000101001101110
+11011111001000000000000000010000
+00100000010000000111111110001000
+00100000001000101110000111110111
+01110000000010011010111100000000
+00100000010000000111011011011010
+01110000000000000111111000100100
+01110000000000000111110101000000
+00100000001000000101110101010011
+01110000000010011010111100001010
+00100000010000000111011011011000
+01110000000000000111110101000000
+00100000001000000101111000111000
+01110000000000000111110001000000
+00100000011000000000000000000000
+01110000000000000111110000111101
+00100000011000000000000000000000
+01110000000010011011011000000000
+00011000000000000111111000000100
+00100000010000000110001010011000
+00011000000000000111111000000001
+11100000101000001000000000000000
+00011000000000000111111000000001
+11100000101000001000000000000000
+00011000000000000111111000110000
+11100000101000001000000000000000
+00100000010000000110001011111100
+00100000001000001110001010110010
+00100000001000000110001010110000
+00011000000000000111111000010001
+00100000010000000110001010011000
+01101000000000001000100110110110
+11011000110000000100011000101010
+10011000110000001000110000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+01101000000000001000100110110110
+00011111111000001111111000010000
+01100000000000001000100110110110
+00100000010000000110001011111100
+00100000001000001110001010110010
+00100000001000000110001010110000
+01110000000010011010111000000110
+01110000000000000111110000111111
+00100000011000000000000000000000
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000101001001110
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000001000000110001010110000
+01110000000000000111110001000000
+00100000011000000000000000000000
+00100000010000000110001011111100
+00100000010000001111011000010010
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000101000011110
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000010000000110001011111100
+00100100001000001110001010110000
+00100000001000001110001010110010
+01110000000010011010111100001111
+00100000010000000110001011101111
+01110000000000000111110000001011
+00100000010000000110001100000111
+00100000001000001111011001001110
+00100000001000000111011001011000
+00100000010000000110001011101011
+01110000000000000111110001000001
+00100000011000000000000000000000
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000101001001110
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000010000000110001011111100
+00100100001000001110001010110000
+00100000001000001110001010110010
+00011000000000000111111000000011
+00100000010000000110001010011000
+01011000000000001111111111111110
+11100000101000010000000000000000
+00100000001000000110001010110000
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000010000000110001100001011
+11011010001000000100000010100000
+00100000010000000110001100010001
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011010001000000000010110000010
+11011010010000000000010101100010
+00100000010000000111001101010010
+00100100001101001110001010100111
+00100000001000000110001010101101
+00100000010000000110001100001011
+11011010001000000000000001000000
+00100000010000000111001001010101
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000010101100010
+00100000010000000111111010111111
+01101000000000001000000001010101
+11000000000011001110001010110010
+11000000000011000110001010110010
+00100000001000000110001010101101
+01101000000000001000100110110101
+00100000001110100110001001101010
+00100000010000000110001011111100
+00100000010000001110001011101111
+00100100010000001110001011101011
+00100000001000000110001001101011
+00100000010000000110001011101111
+00100000010000000110001100001011
+00100000001000000110001001011100
+11011010001000000100000010100000
+00100000010000000111001010001000
+00011000000000000111111000000101
+00100000010000000110001010011000
+01101000000000100000010110010010
+11100000101000100000000000000000
+11011000010000000000010011010101
+00100000010000000110001011100010
+00100000010000000111001110000110
+00100000010000000110001011111100
+00100000001000001110001001111100
+01110000000001001101100000000001
+01101000000000001000100110110101
+00100000011110100000000000000000
+01110000000000000111110000001011
+01101000000000001100000110111101
+00100000011110100000000000000000
+00100000010000000110001011111100
+00100100001000001110001010000100
+01101000000000001000010011010111
+00100000011110100000000000000000
+01110000000000000111110000001111
+00100000011000000000000000000000
+11000110100100001000000000000000
+01111001001111111000000000100001
+01110000000000000111110000001111
+00100000011000000000000000000000
+00100000010000000110001100001011
+00100000010000000111001010001011
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000010101100010
+00100000010000000111111010111111
+00100000001000000110001010101101
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010101101
+00011000000000000111111000000010
+00100000010000000110001010011000
+00011000000000000111111000010000
+11100000101000001000000000000000
+01100000000000001000000001010100
+00100000001000000110001010101101
+00011111111010011111111000000000
+00011111111000011111111000000111
+01100000000000001000010010110110
+11011111001000000000000000010001
+11011000101000000000010010111000
+00100000010000000111111011010100
+11011000101000000000010010111000
+00100000011000000000000000000000
+00011111111000010010001001111111
+01110000000000000100100001111111
+00011000111000100111111000000000
+00100000010000000110001010011000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000001000000001001000
+00011111111000111111111000000000
+01101000000010001000000001001100
+00101000010011111111111000000001
+01111001001000001111111000000000
+00100000001000000110001010110111
+01101000000010001000000001001100
+00011000010000010000010000000001
+00100000001000000110001010110011
+00011000000000000000010000000000
+00100000001000000110001010110011
+00011000000000000000010000000001
+01101000000000001000000001001000
+00011111111000111111111000000000
+01111001001101001111111000000000
+10011000010000101111111000000000
+01100000000000001000010010110111
+01110000000000000100100000000000
+00100000010000000110001011000111
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000001000000001111100
+00100000011110100000000000000000
+00100000010000000110001011000001
+01101000000000001000000001111100
+00100000011000000000000000000000
+01000111010000110100000000110000
+01101000000000001000000001001000
+00100000001110100110001011000111
+01101000000000001000000001111000
+00100100011110100000000000000000
+00100000001000000110001011010001
+01101000000000001000000001111000
+00100000001110100110001011010111
+01101000000000011000000001111000
+01100000000000011000000001001000
+01101000000010001000000001111011
+01101000000000001000000001001100
+01111001001111111111111000000001
+10011000010000011111111000000000
+01100000000000001000000001001100
+01110000000000000111100000000000
+01101000000000001000000001111100
+00100000011110100000000000000000
+01101000000000100000000001111100
+01100000000000100000000001111000
+01110000000000000111110000000000
+00100000011000000000000000000000
+01101000000000001000000001111100
+00100000011110100000000000000000
+01101000000000011000000001111100
+01100000000000011000000001001000
+01101000000010001000000001111111
+01101000000000001000000001001100
+01111001001111111111111000000001
+10011000010000011111111000000000
+01100000000000001000000001001100
+01110000000000000111110000000000
+00100000011000000000000000000000
+01000111010000111100000000110000
+01101000000000001000000001001100
+00011111111000100010011000000000
+11101000010000001000000000000000
+00100000010000000101111001010010
+00100000010000000110001010100111
+00011010011000100111111000000000
+01100000000000001000000001001100
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111001001111111000010000000000
+01100000000010001000000001001100
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111001001000000000010000000000
+01100000000010001000000001001100
+00100000011000000000000000000000
+01111101001101001111111000000001
+01101000000010001000000001001100
+10011000010000101111111000000000
+00101111111011111111111000000001
+00100000011000000000000000000000
+01101000000000001000000001001100
+01111001001101001111111000000001
+01100000000000001000000001001100
+00100000011000000000000000000000
+01101000000000001000100110110100
+00101111111000001111111000000001
+00100000011000000000000000000000
+01101000000000001000100110110100
+01111001001000000111111000000111
+01100000000000001000100110110100
+00100000011000000000000000000000
+01101000000000001000100110110100
+01111001001111111111111000000111
+01100000000000001000100110110100
+00100000011000000000000000000000
+01101000000000001000100110110100
+00101111111011111111111000000111
+01100000000000001000100110110100
+00100000011000000000000000000000
+11011000101000000000010101100010
+00011000000000000111001000010000
+00011000000010100111111000000000
+11100000101000001000000000000000
+11000010000000000110001100001101
+00100000011000000000000000000000
+00100000010000000111001001011001
+11011010001000000100000110111110
+11011010010000000000010110010010
+11101010001001000000000000000000
+01101000000010001000000000110000
+01111101001110100000010000000110
+01100000000010001000000000110000
+00011010001000100000101000000000
+00100000010000000111001101010010
+00100000001000000010000111000100
+01000111010001000100000000110001
+00100000010000000110001010111100
+00100100011110100000000000000000
+01101000000000001000000001010101
+00100000011110100000000000000000
+11000000000000100110001101101111
+11000000000000101110001101110100
+11000000000000010110001101100110
+11000000000000011110001101111100
+11000000000001110110001101101001
+11000000000000110110001110011000
+11000000000000111110001110110000
+11000000000001001110001110110001
+11000000000001010110001110111010
+11000000000001011110001110111110
+11000000000001100110001110000110
+11000000000001101110001110001001
+11000000000001111110001110001111
+11000000000010010110001101011001
+11000000000010011110001101111100
+11000000000010000110001101011100
+11000000000010100110001101010110
+11000000000010101110001101111100
+11000000000010110110001101010000
+11000000000011000110001101010101
+11000000000010111110001101001001
+11000000000011001110001101001111
+11000000000011010110001100111010
+11000000000011011110001101000100
+01110000000000000101010100000000
+00100000011000000000000000000000
+01101000000000001000010011010001
+11000100000000010000000000000000
+11000100000000011000000000000000
+01110000000000000101010100000000
+00100000010000000110001101000000
+00100000001000000110110011101111
+01101000000000001000000101101101
+11000100000000001000000000000000
+01110000000000000101010100001010
+00100000011000000000000000000000
+11011000111000000000000000000111
+00100000010000000111111100010110
+00100100011110100000000000000000
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101000000000001000000101101101
+01111001001111111111111000000000
+01100000000000001000000101101101
+01110000000000000101010100011001
+01110000000000000111110000001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101000000000001000010011010100
+11000001100000010000000000000000
+00100000010000000110001111000000
+01110000000000000101010100011000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000000000101010100010101
+01110000000000000111110010000011
+00100000011000000000000000000000
+01110000000000000101010100010011
+01110000000000000111110000100101
+00100000011000000000000000000000
+01101000000000001100010101011011
+11000001000000000000000000000000
+11000000000000001110001101100100
+11011000111000000000000000000110
+00100000010000000111111100010110
+00100100011110100000000000000000
+01110000010001010101101100000000
+00100000001000000110001101111101
+00100000011101001000000000000000
+00100000001000000110001110011000
+01110000000000000101010100000011
+01110000000000000111110000100111
+00100000011000000000000000000000
+01110000000000000111110000010011
+01111001001000000000000000000011
+01110000000000000101010100000101
+01011000000000000000000111111111
+01100000000000010000010011010010
+00100000011000000000000000000000
+01110000000000000101010100000101
+01110000000001001101001011111111
+01111001001111111000000000100010
+01110000000000000111110000110011
+00100000001000000101110100000100
+11000110000100010000000000000000
+01101000000000010000010011010010
+00011111111001100111111000000001
+00100000001000101110001101111010
+01100000000000010000010011010010
+00100000011000000000000000000000
+01110000000000000101010100001110
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101000000000001000010011010001
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101000000000001000000101101101
+01111001001111111111111000000010
+01100000000000001000000101101101
+01110000000000000111110000010011
+01110000000000000101010100010000
+00100000011000000000000000000000
+01110000000000000101010100001101
+01110000000000000111110000110001
+00100000011000000000000000000000
+01101000000000001000010011010001
+11000100000000010000000000000000
+01110000000000000101010100000000
+00100000011000000000000000000000
+01110000000000000101010100000110
+00100000011000000000000000000000
+01101000000000001000010011010010
+00011111111000001111111111111111
+00100000001110100110001110010100
+01100000000000001000010011010010
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100101000010110
+01110000000000000101010100000000
+00100000011000000000000000000000
+01101000000000001000000101101101
+11000010100000010110001101111101
+11000010100000000110001110011101
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101000000000001100000110111101
+00100000001110100110001110101001
+01101000000000001000010011010001
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101000000000100000010011101001
+11011000010000000000000001100100
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00100000001000000110001101001001
+01110000000000000101010100010110
+01110000010001101000100100000100
+01011000000000000011000000110000
+01100000000000010100011010001010
+11100000101000010000000000000000
+01110000000001001101010000000010
+00100000001000000110001101010000
+00100000011000000000000000000000
+01101000000000001000000101101101
+11000010100000001110001110110101
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101000000000001000000101101101
+01111001001111111111111000000001
+01100000000000001000000101101101
+01110000000000000111110000001111
+00100000011000000000000000000000
+01101000000000001000010011011000
+00100000011110100000000000000000
+01110000000000000101010100000000
+00100000001000000110001110110101
+01110000000000000101010100001100
+00100000011000000000000000000000
+01101000000000001000000001001011
+11000010100000010110001111000101
+00100000010000000110001011101111
+01110000000000000111110000001000
+00100000001000000100110100000100
+01101000000000001000000001001011
+01111001001111111111111000000010
+01100000000000001000000001001011
+00100000010000000110000000000001
+00100000010000000110001011111000
+00100000001000000100110100000100
+01011000000000000000000000000100
+01100000000000001100011010001001
+01011000000000000011000000110000
+11100000101000010000000000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01000111010001100100000000110001
+01101000000100001000000001110011
+11011000010000000000000000000110
+10011000010000011111111000000000
+01100000000100001000000001110011
+01101000000100001000000001110111
+10011000010000011111111000000000
+01100000000100001000000001110111
+00100000010000000110001111101110
+01101000000100001000000001110111
+01111001001111111111111000000001
+01111001001111111111111000000010
+01100000000100001000000001110111
+00100000000000000000000000011110
+00100000001000000110001111110010
+01101000000100001000000001110011
+11011000010000000000000011000000
+10011000010000011111111000000000
+01100000000100001000000001110011
+01101000000100001000000001110111
+10011000010000011111111000000000
+01100000000100001000000001110111
+00100000010000000110001111101110
+01101000000100001000000001110111
+01111001001111111111111000000110
+01111001001111111111111000000111
+01100000000100001000000001110111
+00100000000000000000000000011110
+00100000001000000110001111110110
+01101000000100001000000010000001
+00011111111000010111111011111100
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000010000001
+00011111111000011111111000000001
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000010000001
+00011111111000011111111000000011
+01111001001111111111111000000100
+01100000000100001000000010000001
+00100000011000000000000000000000
+00011111111000100010010000000000
+00100000010000000110010000001111
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000010000000110010000010100
+00011111111000100010010000000000
+00100000010000000110010000010001
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000011000000000000000000000
+00011111111000100010010000000000
+00100000010000000110010000001111
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000010000000110010000010011
+00100000010000000110010000010001
+00100000000000000000000001100100
+00100000011000000000000000000000
+01101000000010001100001000010100
+00100000001000000110100000001110
+01101000000010001100001000010100
+00100000001000000110100000101001
+01101000000010001100001000010100
+00100000001000000110100000100101
+00100000001000000110010011101100
+00100000001000000110010011110011
+00100100001101000110010000011001
+01101000000100001000000010000101
+00011111111000011111111000000010
+01100000000100001000000010000101
+00011000010000100111110000000000
+00100000001000101110010000011100
+00011010011000100111101000000000
+00101111110011000000000000000000
+00100000001000000110010010111001
+00011000000000000000010000000100
+11011010001000000000000111111110
+01101000000100001000000010000101
+00011111111000010111111011111101
+01100000000100001000000010000101
+00100000010000000110010000011001
+11011010001000000101010110101010
+01101000000000010000000111111110
+11101000110010010000000000000000
+10011010001001100111110000000000
+00100000011000000000000000000000
+11011000010000000000000000000010
+11011010001000000000001000000100
+00100000010000000110010000011001
+01101000000000010000001000000100
+01100000000000010000000111110111
+00100000010101000110010000110000
+00100000011000000000000000000000
+11011000010000000000000000010000
+11011010001000000000001000000110
+01101000000100001000000010000101
+00011111111000010111111011111101
+01100000000100001000000010000101
+00100000010000000110010000011001
+11011000110000000000001000000110
+11011111001000000000000000010000
+00100000010000000111010001111000
+00100000010000000111010000101000
+00100000010000000111010010010001
+00100000001000000111010000100010
+01111000010101101111110000000000
+00100000010000000110010000011110
+00100100011000101000000000000000
+01111000001101101111110000000000
+01110000100000000010001110000000
+01110000100000000010001000000000
+01110000100000000010010000000000
+11011010001000001000000000100101
+00100000010000000110010000010101
+01110000100000000010001100000000
+11011000010000000000000000000110
+00100000010000000110010000011111
+00100100011000101000000000000000
+11101000110000010000000000000000
+10011000000000000010001000000000
+00100000010000000110010000011001
+00100000001000000110010001000110
+00100000010000000111111110011001
+01011000000000000001000000000000
+01100000000000010000000111110111
+11011010011000000110010111100101
+11011111001000000000000000000010
+00100000010000000110010000011110
+00100100011000101000000000000000
+01101000000000010000000111110111
+00011111111100001111111000000000
+10011000010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+11000010000000000110010001010010
+00100000001000000110010001000110
+00100000010000000111111110011001
+01111000010101000111110000000000
+00100000010000000110011001101010
+01011000000000000000000000000000
+11011010001000000000000111110011
+11011000010000000000000000000010
+00100000010000000110011010110011
+01101000000000010000000111110011
+11000011000000111110010001101110
+01110000100000000101000000100101
+01011000000000000000011111110000
+11011010001000000000001000000110
+11011000010000000000000000010000
+00100000010000000110011010110011
+01110000100000000000011000001000
+01111001001000000000000000101011
+11011000110000000000001000000110
+00100000010000000111010010000100
+01111000001101000111110000000000
+01110000010000011101101000000000
+00100000010000000110010010110000
+01101000000000010000000111110011
+00011111111100001111111000000000
+11011000010000000000011111111111
+10011000010000010111111000000000
+00100000001000101110010001111011
+00100000010000000110011001101111
+11011010011000000110011010111000
+00100000010101000110010000110000
+00100000010000000110010000111100
+01101000000000001000000111110010
+11000011000000000110010001101111
+00100000010000000110011001101101
+01110000010000011101101000000000
+00100000010000000110010010110000
+00100000010000000110010111000010
+01101000000000001000000111110011
+11000010100000110110010010001110
+00100000010000000110010010101010
+00100100001101101110010010000110
+01101000000000001000000111110010
+11000011000000000110010001111101
+00100000001000000110010010011011
+00100000010000000110010110111111
+01101000000000001000000111110011
+11000010100000110110010010001110
+00100000010000000110010010101010
+00100100001101101110010010001110
+01101000000000001000000111110010
+11000011000000000110010001111101
+00100000001000000110010010011011
+01110000010000011101101000000000
+00100000010000000110010010110000
+01101000000000001000000111110011
+11000010100000101110010010011011
+01011000000000000000000000000000
+01100000000000011000000111110110
+00100000010000000110010100000010
+11011010011000000110010101111000
+00100000010000000110010000101001
+00100000010000000110010000111100
+00100100001101101110010010011011
+01101000000000001000000111110010
+11000011000000000110010010001111
+11000101000101011110010010011101
+00100000010000000110010010100011
+01101000000000001000000111110011
+11000011000000100110010010100011
+01110000100000000101000000100001
+00100000010000000100110000001110
+00100000010000000100110000101110
+00100000001000000110010010100001
+01011000000000000000000000000000
+01100000000001000000001000000110
+01100000000001000000001000001110
+00011000000000000111000000000100
+00100000010000000111010010010010
+01110000100000000101000000100001
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010000000111110111
+11011010011000000110010111100101
+00100000010000000110010110100011
+00100000010000000110010000101001
+00100000001000000110010000111100
+01101000000000001100000111011010
+00011111111000001111111000000001
+00011111111001100111110000000011
+00100100001000010110010010110110
+01100000000000001100000111011010
+00100000011000000000000000000000
+00100000010000000110010010100011
+00100000010000000111111110100001
+00100000011000000000000000000000
+01101000000000001000000111110010
+00011111111000111111111000000000
+01111001001000001111111000000000
+00101010001011000000000000001111
+00100000011000001000000000000000
+01100000000000001000000111110010
+00100000011000000000000000000000
+01101000000100001000000010000101
+11000100000000001000000000000000
+00100000001000000110010011000110
+01101000000100001000000100101100
+10101111111011111111111111111111
+00100000011000001000000000000000
+01101000000100001000000100001000
+11000011000000001110010011000011
+00100000010000000111010000100010
+00100000001000000110010011000011
+01101000000000010100000110011001
+00100000011110100000000000000000
+01110000100000000010001110000000
+01110000100000000010001000000000
+01110000100000000010010000000000
+01101000000010010100000110011011
+00011000010010111111001000000000
+10011000000000000000110000000000
+11101000110000001000000000000000
+01100000000100001000000000100101
+11000010000000000110010011010010
+01110000100000000010001100000000
+00100000011000000000000000000000
+01000111010001101100000000110001
+00100000010000000110010011011101
+00100000001000000110001111110010
+00100000010000000110010011011101
+00100000010000000110001111101110
+00100000001000000110001111110110
+01101000000000001100001000010010
+01100000000100001000000010000110
+01101000000000001100001000010011
+01100000000100001000000010000111
+01011000000000000000000111110101
+01100000000100010000000010001010
+01011000000000000000000111111010
+01100000000100010000000010001100
+00100000001000000110001111101110
+01101000000100001000000010000110
+01111001001000000111111000000111
+01100000000100001000000010000110
+01111001001111111111111000000111
+01100000000100001000000010000110
+00100000011000000000000000000000
+01111001001000000111111000000111
+01100000000000010000000111110101
+01000111010001110100000000110001
+01110000100000001000100000000010
+01110000100000001000111000000000
+01110000100000000000011000000010
+00100000001000000110010011111100
+00011000000000000000010000000001
+01100000000000001000000111110101
+01000111010001111100000000110001
+01110000100000001000100000000001
+01100000000110010000000010001110
+01110000100000000000011000000010
+00100000010000000110010011111100
+01101000000000001000000111111010
+00100000011000000000000000000000
+01101000000000010100000011010110
+00011111111000001111111000000001
+01100000000000010100000011010110
+01101000000100001000000100101100
+11000011000000011110010011111100
+00100000011000000000000000000000
+01110000100000001000011001000000
+01110000100000001000011100000000
+01101000000100001000000010000001
+01111001001111111111111000000000
+01111001001000000111111000000001
+01100000000100001000000010000001
+01011000000000000000000000000000
+01100000000000100000000111110101
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000100010000000010001110
+01011000000000000000000000000001
+01100000000100010000000010001000
+01011000000000000000000111110101
+01100000000100010000000010001010
+01110000000000011111010100000110
+01110000100000000000011000000010
+00100000001000000110010011111100
+01111000010101000111110000000000
+00011111111000100010010000000000
+01101000000000001100001000111001
+11000001100000000000000000000000
+01111000001101000111110000000000
+00011010010000100111111000000000
+00100000001000000110010100100010
+01101000000000001100001000111001
+11000000000000001110010100100010
+11000000000000010110010100101000
+11000000000000011110010100110000
+11000000000000100110010100110111
+11000000000000101110010100111101
+00100000011000000000000000000000
+01100000000000011100001000110010
+00011010001000100111111000000000
+01100000000000010100001000110101
+01100000000010010100001000110111
+01110000010000100011100100000010
+00100000001000000110010100000010
+00100000010000000110010100000010
+01110000010000100011100100000011
+00100000010000000110010100001011
+11011010001000000000000111110101
+01101000000000011100001000110010
+01110000100000001000100000000100
+11011000010000000000000000100000
+00100000001000000110010101010110
+00100000010000000110010100000010
+00100000010000000110010100001011
+01011000000000000000000000000101
+00100000010000000110010011110011
+11000011100000000000000000000000
+01110000010000100011100100000100
+00100000011000000000000000000000
+00100000010000000110010100000010
+01110000010000100011100100000101
+00100000010000000110010100001011
+00100000010000000110010101001010
+00100000010000000110010101010010
+00100000001000000110010101000101
+00100000010000000110010100000010
+00100000010000000110010100001011
+01011000000000000000000000000101
+00100000010000000110010011110011
+11000011100000000000000000000000
+01110000010000100011100100000000
+01101000000000010100001000000001
+00100000001000000111111110011100
+01101000000000100000101010100010
+01101000000010010100001000110101
+00011000010000001000010111111100
+11100000010000100000000000000000
+00100000011000000000000000000000
+01101000000010010100001000110101
+00011000010000100010001000000000
+00011000010000001000010111111100
+11101000010000100000000000000000
+01100000000000100000101010100010
+01101000000010010100001000110111
+01101000000000011100001000110010
+00100000011000000000000000000000
+00011000010000001000010000000100
+01100000000110010000000010001000
+11011000010000000000000000000010
+00011010001000001010001111111100
+11100010001010001000000000000000
+00011111111100010000010000000000
+11100000101010001000000000000000
+00011111111011001000010000000000
+11100000101010001000000000000000
+11100000101000001000000000000000
+00011010001000100111111000000000
+01100000000100010000000010001010
+01011000000000000000000000000000
+01100000000100010000000010001110
+01110000100000000000011000000010
+00100000001000000110010011111100
+01100000000110010000000010001110
+00011111111100010000010000000000
+01100000000010001000000111110110
+00011111111011001000010000000000
+01100000000010001000000111110111
+01100000000000001000000111111000
+01011000000000000000000000000100
+01100000000100010000000010001000
+01110000000000011111010100000011
+01011000000000000000000111110101
+01100000000100010000000010001010
+00011010001000100111111000000000
+01100000000100010000000010001100
+01101000000100001000000010000110
+00101010001011000000000000001111
+01111001001000001111111000000110
+01100000000100001000000010000110
+01110000100000000000011000000010
+01101000000100001000000100101100
+11000010100000111110010101110100
+11011000111000000000000000000011
+00100000001000000110010011111100
+01100000000110010000000010001110
+01011000000000000000000000000100
+01100000000100010000000010001000
+01110000000000011111010100000011
+01011000000000000000000111110101
+01100000000100010000000010001010
+00011010001000100111111000000000
+01100000000100010000000010001100
+01101000000100001000000010000110
+00101010001011000000000000001111
+01111001001000001111111000000110
+01100000000100001000000010000110
+01110000100000000000011000000010
+01101000000100001000000100101100
+11000010100000111110010110000101
+11011000111000000000000000000011
+00100000010000000110010011000000
+00100000010000000110010011111100
+00101111111011111111111000000010
+00100000010000000110010010111001
+01101000000000001000000111110110
+00011111111100000010010000000000
+01101000000000001000000111110111
+00011111111011010111111000000000
+10011010010000011010010000000000
+01101000000000001000000111111000
+10011010010000011111111000000000
+10011000010000001111111000000000
+01100000000000001000000111111000
+00011111111011001111111000000000
+01100000000000001000000111110111
+00011111111011001111111000000000
+01100000000000001000000111110110
+00100000011000000000000000000000
+01110000100000000001000000000001
+00100000011000000000000000000000
+01110000100000001001000100001100
+01110000100000001001001000001101
+01110000100000001001001100001101
+01110000100000001001010000001101
+01110000100000001001010100001101
+01110000100000001001011000001100
+00100000001000000110010110101001
+01110000100000001001000100000101
+01110000100000001001001000000111
+01110000100000001001001100000111
+01110000100000001001010000000111
+01110000100000001001010100000111
+01110000100000001001011000000101
+01101000000100001000000001111011
+00011111111000011111111011000000
+01100000000100001000000001111011
+01101000000100001000000010000001
+00011111111000011111111000010000
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000100101100
+11000011000000101110010110110000
+00100000011000000000000000000000
+01100000000100010000000010011000
+00011010001000100111111000000000
+01100000000100010000000010011010
+00011010010000100111111000000000
+01100000000100010000000010011100
+00011000010000100111111000000000
+01100000000100010000000010011110
+11011000010000000000000000000001
+01111101001110100000010000000001
+01100000000100001000000010010000
+01110000100000000000011000000100
+00100000001000000110010110110000
+01111001001000000000000000101000
+01110000010000100001000100001000
+00100000011000000000000000000000
+01111001001111111000000000101000
+01110000010000100001000100100000
+00100000011000000000000000000000
+01101000000000001100001000000011
+10011010010000001111111000000000
+01100000000000001000000111110111
+00100000001000000110010111001100
+01101000000000010000000111110111
+00011111111100001111111000000000
+01100000000000001000000111110111
+01011000000000000000000000000011
+01100000000100010000000010011000
+01110000000000011111011010100000
+01110000000000011111100010100001
+00100000001000000110010111101011
+01100000000010010000101010100010
+00100000010000000110010111010110
+01101000000010010000101010100010
+00100000010000000110011000000110
+00100000001000000110010111011101
+01101000000000001100001000111010
+11000001011111111000000000000000
+11000011000000110110010111011011
+01011000000000100100100111110000
+00100000010000000010101010001111
+01101000000010001100001000111010
+00100000001000000110100000101001
+01101000000010001100001000111010
+00100000001000000110100000100101
+01000111010010000100000000110010
+11000101000101000110010111000101
+01101000000000010100001000000011
+10011010010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+01000111010010001100000000110010
+11000101000101000110010111001001
+01011000000000000000000000000100
+01100000000100010000000010011000
+01110000000000011111011010100000
+01110000000000011111100110100001
+01011000000000000000000111110110
+01100000000100010000000010011010
+01100000000110010000000010011110
+00011010001000100111111000000000
+01100000000100010000000010011100
+01011000000000000000000000000010
+00101010001011000000000000001111
+01111001001000001111111000000000
+01100000000100001000000010010000
+01110000100000000000011000000100
+11011000111000000000000000000101
+00100000010000000110010011000000
+00100000010000000110010110110000
+00101111111011111111111000000100
+00100000010000000110010010111001
+11000101000101000110011000000001
+01101000000000010000000111110111
+00011111111100001111111000000000
+10011000010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+00100000011000000000000000000000
+01101000000000001000000111110111
+10011000010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+00100000011000000000000000000000
+01101000000000010100001000000011
+10011010010000001111111000000000
+01100000000000010000101010011010
+01000111010010010100000000110010
+01100000000010010000101010100010
+00011010001000100111111000000000
+01100000000000010000101010111001
+00100000010000000110011000011101
+01101000000010010000101010110010
+01101000000000010000101010111001
+00011111111000100010001000000000
+01101000000000010000101010011010
+00100000010000000110011000111101
+01101000000000010000101010110010
+01101000000010010000101010111001
+10011000010000001000010000000000
+01100000000010010000101010111001
+01101000000010010000101010011010
+10011000010000001000010000000000
+01100000000010010000101010011010
+01101000000000010000101010100010
+00100100001110100110011000001101
+00100000011000000000000000000000
+01000111010010011100000000110010
+01101000000000001100001000010001
+00011111111000001111111111111111
+01101000000010010000101010011010
+10011000010000011111111000000000
+00011111111000001111111000000001
+01100000000000011000101010110110
+01101000000000010000101010100010
+10011000010000001111111000000000
+01101000000010011000101010110110
+10011000010001100111111000000000
+00100100001000010110011000101111
+01100000000000010000101010100010
+01101000000000011000101010110110
+01101000000010010000101010011010
+10011000010001100111111000000000
+01100000000000010000101010110010
+00100000011000000000000000000000
+01101000000000010000101010100010
+01100000000000010000101010110010
+01011000000000000000000000000000
+01100000000000010000101010100010
+00100000011000000000000000000000
+00011000010000001000010000000010
+01100000000110010000000010011000
+00011010001000001010001111111110
+11101010001010011000000000000000
+00011000010000100010010000000000
+11011000010000000000000010100000
+11100010001010001000000000000000
+11100000101000001000000000000000
+00100000001000000110011001001010
+00011111111000100010010000000000
+01000111010010100100000000110010
+11000101000101000110011000110100
+00011010010000100111111000000000
+00011000010000001000010000000011
+01100000000110010000000010011000
+00011010001000001010001111111101
+11101010001010011000000000000000
+00011000010000100010010000000000
+11011000010000000000000010100000
+11100010001010001000000000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011010001000100111111000000000
+01100000000100010000000010011010
+01011000000000000000000000000000
+01100000000100010000000010011110
+01110000100000001001000000000001
+01110000100000000000011000000100
+00100000010000000110010110110000
+00011010010000100111111000000000
+11100010001000011000000000000000
+01000111010010101100000000110010
+01110000000000011111100100000000
+01011000000000000000000000000001
+01100000000100010000000010011000
+01110000000000011111011010100000
+01011000000000000000000111110110
+01100000000100010000000010011010
+01011000000000000000000000000000
+01100000000100010000000010011110
+01100000000100010000000010011100
+01011000000000000000000000000011
+01100000000100001000000010010000
+01110000100000000000011000000100
+00100000010000000110010110110000
+01101000000100001000000100101100
+11000100000000110000000000000000
+00100000000000000000010111011100
+01101000000000001000000111111001
+00011111111000001111111000000001
+01100000000000001000000111111001
+00011111111001100111110000101000
+00100100011000010000000000000000
+00100000001000000110011001010101
+01110000100010010111001101110000
+00100000000000000000101110111000
+00100000011000000000000000000000
+01110000100010010111001100110000
+00100000011000000000000000000000
+00011111111010011111111000000000
+01100000000100010000000001000101
+01110000100000000100101100000000
+00100000011000000000000000000000
+00100000010000000110011001101111
+00100000010000000110011010100000
+11101010001010001000000000000000
+00011010001000001010001000000001
+00011000000000000000111000000000
+10101000010011000000000000000000
+00100000001000001110011010010111
+01101000000100001000000001000110
+01111001001000000111111000000110
+01111001001000000111111000000111
+01100000000100001000000001000110
+01110000100000000100011100000010
+01110000100000000100011110000010
+01111001001111111111111000000111
+01100000000100001000000001000110
+01110000100000000100011110001010
+00100000000000000000000000001011
+01110000100000000100011111001010
+00100000000000000000000000100001
+01110000100000000100011101001010
+00100000000000000000000000101100
+01110000100000000100011111001010
+00100000000000000000000000010110
+01110000100000000100011110001010
+00100000000000000000000000100001
+01110000100000000100011110000010
+00100000000000000000000000000001
+01110000100000000100011110010010
+00100000000000000000000000001010
+01110000100000000100011110110010
+01101000000100001000000000000111
+01110000100000000100011110010010
+00100000000000000000000000000001
+01110000100000000100011110000010
+10101111111011000000000000000000
+00100000001000001110011001111000
+01101000000100010000000001000101
+00011111111000001111111000000001
+01100000000100010000000001000101
+00011000111000001000111000000001
+00101000111000000001111000001000
+00100100001000001110011001111000
+11000010000000000110011001110101
+01110000100000000100011110000011
+00100000011000000000000000000000
+01110000100000000100011110000010
+00100000000000000000000000001100
+01110000100000000100011110000000
+01110000100000000100011110000010
+00100000000000000000000010010110
+00100000011000000000000000000000
+00100000010000000110011010100000
+01110000100000000100011110100010
+00011010001000100111111000000000
+01100000000100010000000001001000
+01111001001000000000010000001011
+00101111111011000000000000001111
+01111001001000001000010000001111
+01100000000110010000000001001010
+01110000100000000000011000000001
+00100000011000000000000000000000
+01101000000100001000000100101100
+11000011000000001110011010110000
+00100000011000000000000000000000
+00100000010000000110011001101111
+00100000010000000110011010100110
+00100000010000000110011010110000
+01110000100000000100011110000011
+00100000011000000000000000000000
+01101000000100010000000100100100
+01100000000100010000000001000101
+00100000010000000110011010100110
+11011000111000000000000000000001
+00100000010000000110010011000000
+00100000010000000110011010110000
+00101111111011111111111000000000
+00100000010000000110010010111001
+01110000100000000100011110000011
+00100000011000000000000000000000
+01101000000100010000000001011110
+10011000000000000001010000000000
+00100000011000000000000000000000
+00011001010000100111111000000000
+01100000000100010000000001011110
+00100000011000000000000000000000
+00011000011000100111111000000000
+01100000000100010000000001011000
+00100000011000000000000000000000
+01101000000100010000000001011000
+00011111111000100000011000000000
+00100000011000000000000000000000
+01101000000000010100001001000011
+01100000000100010000000001010010
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010110011011011110
+00100000011000101000000000000000
+00100000001000010110011011010011
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010110011011100001
+00100000011000101000000000000000
+00100000001000010110011011011000
+00011111001000001111001000000100
+00100000001000000110011011100100
+11101000110001000000000000000000
+11100001010001000000000000000000
+00100000011000000000000000000000
+11101000110000100000000000000000
+11100001010000100000000000000000
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+11100001010000001000000000000000
+11000010000000000110011011100110
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010110011011110111
+00100000011000101000000000000000
+00100000001000010110011011101100
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010110011011111010
+00100000011000101000000000000000
+00100000001000010110011011110001
+00011111001000001111001000000100
+00100000001000000110011011111101
+11101000011001000000000000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+11101000011000100000000000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000011000001000000000000000
+11100000101000001000000000000000
+11000010000000000110011011111111
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000011000001000000000000000
+11100001010000001000000000000000
+11000010000000000110011100000101
+00100000011000000000000000000000
+01110000000010101001100100111101
+00100000001000000111110110000110
+01000111010010110100000000110010
+01101000000000001100001000010111
+00100000011110100000000000000000
+00100000010000000110011110100011
+00100000010000101110011110101001
+00100000010000000110011100111110
+01101000000000001100001000010111
+00011111111000100010011000000000
+01101000000010010100001000010101
+01100000000010010000000110001100
+00011010011000100111111000000000
+00100000001110100110011100001001
+00011010011000001010011111111111
+00011000010000100010001000000000
+11101010001000001000000000000000
+01101000000010001000000110000100
+10011000010001100111110000000000
+00100000010000101110011100100101
+00100000001000010110011100100001
+11101010001000001000000000000000
+00011111111000001111111000000001
+11100010001000001000000000000000
+01101000000010010000000110001100
+00011000010000001000010000100010
+01100000000010010000000110001100
+00100000001000000110011100010101
+01011000000000000000000000000000
+11100010001000001000000000000000
+01101000000000001000000110000101
+11100000101000001000000000000000
+11000000100110011110011100110011
+11011010010000000100000110111110
+11101000110000110000000000000000
+11100000101001000000000000000000
+01011000000000000000000000000000
+11100000101001000000000000000000
+00011010010000100000110000000000
+00100000010000000111111010111111
+00011000000000000111110000000001
+00100000011000000000000000000000
+11000000000110110110011100110111
+11000000000110111110011100111011
+11011010010000000100010000011001
+00100000001000000110011100101011
+11011000110000000100010011010101
+00100000010000000111111010111111
+11011000110000000100010000011001
+00100000001000000110011100110000
+11011000110000000100010011001101
+00100000010000000111111010111111
+00100000001000000110011100111001
+00100000010000000111111111101001
+01101000000000001100001000010111
+00100000011110100000000000000000
+01101000000000010100011010000010
+11000010100000000110011101010100
+01000111010010111100000000110010
+01101000000000001100010010001110
+11000000000000000110011101001101
+01101000000000001000010001010100
+00101111111000011000000011000000
+00100000001000001110011101001101
+00101111111000011000000001000000
+00100000001000001110011101010010
+00101111111000011000000000000000
+00100000001000001110011101010000
+01110000000000011000010100110101
+01101000000000110000010001001111
+00100000001000000110011101010111
+01110000000000011000010100110111
+00100000001000000110011101010111
+01110000000000011000010100110110
+00100000001000000110011101010111
+01000111010011000100000000110011
+01110000000000011000010100110011
+01101000000000110000000001000000
+01100000000000110000000110000110
+01101000000000010100001000010101
+11101111111010001000000000000000
+00011111111000001111111000000001
+01100000000000010000000110001100
+01100000000010001000000110000100
+01101000000000001100001000010111
+00011111111000100010011000000000
+01101000000000010000000110001100
+00011111111000100010001000000000
+00100000010000000110011101101111
+00100000011101000000000000000000
+01101000000010010000000110001100
+00011000010000001000010000100010
+01100000000010010000000110001100
+00011000010000001000010111111111
+11101000010000001000000000000000
+01100000000000001000000110000100
+00011010011000001010011111111111
+00100100001000101110011101011111
+01101000000000001100001000010111
+00011111111000001111111111111111
+01100000000000001000000110000100
+00100000011000000000000000000000
+01101000000000001000000110000101
+11000000100110011110011101110110
+11011010010000000000000110000101
+11011111001000000000000000000111
+00100000010000000111111110001000
+00100000001000101111111111100111
+00100000011000000000000000000000
+11000000000110110110011101111001
+11000000000110111110011110010100
+00100000001000000110011101110001
+11101010001010001000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11011000101000000000101011000010
+11011111001000000000000000010000
+00100000010000000111111011010100
+01101000000000011000010001010010
+01100000000000011000101011000010
+00100000010000000110011110001011
+01101000000000010000101011011111
+00011111111100001111111000000000
+00011111111011010000010000000000
+11101000110000001000000000000000
+10011000010000001111111000000000
+01101000000010011000010001001111
+10011000010001100111110000000000
+00100000001000101111111111100111
+00100000011000000000000000000000
+11011000110000000000101011000010
+00100000010000000111010010000110
+11101010001000001000000000000000
+00100000010000000111010010000111
+00011000000000000110110000111000
+00011000000000000110110000000000
+00100000010000000111010000011101
+11011000101000000000101011010010
+00100000001000000111010010010111
+11101010001010001000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000100010001000000000
+00011000110000001010011000001000
+11011010010000000100010011001101
+11011111001000000000000000001000
+00100000010000000111111110001000
+00100000001000101111111111100111
+00011010011000100010001000000000
+11011010010000000100010011010101
+11011111001000000000000000001000
+00100000010000000111111110001000
+00100000001000101111111111100111
+00100000011000000000000000000000
+01101000000000010100001000010101
+11101111111010001000000000000000
+00011111111000001111111000100010
+11101111111000001000000000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000001100001000010111
+00011111111000100111001000000000
+01101000000010010100001000010101
+01011000000000000000000000000000
+11100000010000001000000000000000
+00011000010000001000010000100010
+00011111111000001111111000000001
+11000010000000000110011110101101
+00100000011000000000000000000000
+01000111010011001100000000110011
+00100000010000000110011100111110
+01101000000000001000000000110000
+01111001001101000111111000000110
+01100000000000001000000000110000
+00100100001101000110011110111100
+00011010001000001000110000001010
+11011000101000000100000110111110
+00100000010000000111111010111111
+00100000001000000110011111010111
+01110000010000011011110100000000
+00100000011000000000000000000000
+01101000000001001100010011001011
+00100000001110100110011111001010
+00100000010000000110011100111110
+00100100001101000110011111001010
+01101000000000010000000110001100
+00011111111000001000110000000001
+11011000101000000100010011010101
+00100000010000000111111010111111
+11011000101000000100010000011001
+00100000010000000111111010111111
+01110000010001000010100100000001
+00100000011000000000000000000000
+01110000010001000010100100000000
+00100000011000000000000000000000
+01101000000000110000010001001111
+01100000000000110000000110000110
+01110000000000011000010100110100
+00100000001000000110011111010011
+01101000000000110000000001000000
+01100000000000110000000110000110
+01110000000000011000010100110011
+01101000000000001100000010010010
+11000000000001010110011100001011
+11000010100000110100001011011010
+00100000011000000000000000000000
+01101000000001000100000110111110
+01101000000011000100000111000110
+10011000010000011111111000000000
+00100000011110100000000000000000
+01110000010000011011110100000001
+00100000011000000000000000000000
+01000111010011010100000000110011
+01111001001000000000010000000111
+00100000010000000110100000011101
+01111101001000001000010000000111
+01000111010011011100000000110011
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101000010011000000000000000111
+00011000010000010000111000011111
+01101000000000100000000010100001
+11111001001000001111111000000000
+01100000000000100000000010100001
+01101000000000100000000010100101
+11111101001000001111111000000000
+01100000000000100000000010100101
+00100000011000000000000000000000
+01000111010011100100000000110011
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101000010011000000000000000111
+00011000010000010000111000011111
+01101000000000100000000010100001
+11111001001111111111111000000000
+01100000000000100000000010100001
+01101000000000100000000010100101
+11111001001111111111111000000000
+01100000000000100000000010100101
+00100000011000000000000000000000
+00100000010000000110011111101101
+00100000001000000110011111111110
+00011000010001100111110011111111
+00100000011000101000000000000000
+00100100010101011110011111100001
+11011000101000001000000001111100
+00100000010000000110100000110000
+01111001010000000000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+11011000101000001000000001111100
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+00011000010001100111110011111111
+00100000011000101000000000000000
+01111001010000000000010000000111
+00100000010000000110100000101111
+01111001001000000000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+00011000010000010000111000000111
+00011000010010010111111000000000
+00011111111000010111111000000011
+10011000101000001000101000000000
+11101000101000001000000000000000
+00100000011000000000000000000000
+11011000101000001000000001110100
+00100000001000000110100000011110
+11011000101000001000000100011100
+00100000010000000110100000010101
+00101000010011111111111000000111
+00100000001000001110100000100011
+10101111111011000000000000000000
+00100000011000000000000000000000
+10101111111011111111111111111111
+00100000011000000000000000000000
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101111110011111111111000000111
+00100000001000000110100000101100
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101111110011000000000000000111
+01011000000000000000000000000000
+01111101001000001111111000000111
+10011000010000101000010000000000
+11011000101000001000000001110100
+00100000010000000110100000010101
+00101000010011111111111000000111
+11111001001000001111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011010001111111111111111111111
+01101000000100001000000010000001
+00101111111000000000011000000010
+00100000010000001110100001111000
+00101111111000000000011000000001
+00100000010000001110100001111010
+00101111111000000000011000000011
+00100000010000001110100001111010
+00101111111011111111111000000010
+00100000010000001110100001110100
+00101111111011111111111000000011
+00100000010000001110100001110110
+00101111111011111111111000000100
+00100000010000001110100001111100
+00101111111011111111111000000110
+01111101001000001010001000000100
+00101111111011111111111000000111
+01111101001000001010001000000101
+01101000000100001000000010000010
+00101111111011111111111000000000
+01111101001000001010001000011011
+00101111111011111111111000000001
+01111101001000001010001000011100
+00101111111011111111111000000010
+01111101001000001010001000000011
+00101111111011111111111000000011
+01111101001000001010001000001000
+00101111111011111111111000000100
+01111101001000001010001000010100
+00101111111011111111111000000101
+01111101001000001010001000010101
+00101111111011111111111000000110
+01111101001000001010001000010110
+00101111111011111111111000000111
+01111101001000001010001000010111
+01101000000100001000000010000000
+00101111111011111111111000000000
+01111101001000001010001000000101
+00101111111011111111111000000001
+01111101001000001010001000000110
+00101111111011111111111000000010
+01111101001000001010001000000111
+00101111111011111111111000000011
+01111101001000001010001000010010
+00101111111011111111111000000100
+01111101001000001010001000010011
+00101111111011111111111000000101
+01111101001000001010001000010100
+00101111111011111111111000000110
+01111101001000001010001000010101
+00101111111011111111111000000111
+01111101001000001010001000010110
+01101000000100001000000001100010
+00101111111011111111111000000100
+00100000010000001110100001111110
+01000111010011101100000000110011
+01101000000100100000000001111000
+01101000000110100000000001111100
+10011000010000011111111000000000
+00011111111001000111111000000000
+10011010001000010111111000000000
+01100000000100100000000001110000
+00100000011000000000000000000000
+11011000111000000000000000000110
+00100000001000000110100010000100
+11011000111000000000000000001001
+00100000001000000110100010000010
+11011000111000000000000000010111
+00100000001000000110100010000010
+11011000111000000000000000011001
+00100000001000000110100010000100
+11011000111000000000000000011110
+00100000001000000110100010000100
+11011000111000000000000000000010
+00100000001000000110100010000100
+11011111001000000000000000000001
+00100000001000000110100010000101
+11011111001000000000000000000100
+00100000001000000110100010000101
+11011111001000000000000000000010
+11111001001111111010001000000000
+00011000111000001000111000000001
+11000010000000000110100010000101
+00100000011000000000000000000000
+00100000010000000110100010010101
+11011000010000000000000000000110
+00100000001000000110100000001110
+00100000010000000110100010001001
+11011000010000000000000000000110
+00100000001000000110100000100101
+00100000010000000110100010010101
+01101000000100001000000001111000
+01111001001000000111111000000111
+01100000000100001000000001111000
+11011000010000000000000000000111
+00100000001000000110011111111011
+01101000000100001000000010000001
+00011111111000010111111011111011
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000010000001
+00101111111011111111111000000010
+00100000011000000000000000000000
+00100000010000000110011001101010
+01011000000000000000011111100000
+11011010001000000100000101010000
+11011000010000000000000000000010
+00100000010000000110011010110011
+00100000001000000110011001101101
+00100000010000000110011001101010
+01011000000000000000011111100010
+11011010001000000100001000011101
+11011000010000000000000000001110
+00100000010000000110011010110011
+00100000001000000110011001101101
+01000111010011110100000000110011
+00100000010000000110100010100010
+01101000000000001100001000101101
+11000000000000000110100010101111
+11000000000000001110100011000011
+11000000000000010110100011010111
+00100000011000000000000000000000
+01101000000010010100001000101001
+01011000000000001010101001010101
+10011000010001100111110000000000
+00100000001000101110100010111000
+01011000000000000100110111111010
+01100000000000010100001000100111
+01011000000000000100100010010100
+01100000000000010100001000100001
+00100000001000000110100011000000
+01101000000000010100001000100111
+00100100001110100110100010111100
+01011000000000000100110111111010
+01100000000000010100001000100111
+01101000000000010100001000100001
+00100100001110100110100011000000
+01011000000000000100100010010100
+01100000000000010100001000100001
+01011000000000000000000001100100
+01100000000000010100001000101011
+00100000011000000000000000000000
+01101000000010010100001000101001
+01011000000000001010101001010101
+10011000010001100111110000000000
+00100000001000101110100011001100
+01011000000000000101100100110010
+01100000000000010100001000100101
+01011000000000000100001100100011
+01100000000000010100001000011111
+00100000001000000110100011010100
+01101000000000010100001000100101
+00100100001110100110100011010000
+01011000000000000101100100110010
+01100000000000010100001000100101
+01101000000000010100001000011111
+00100100001110100110100011010100
+01011000000000000100001100100011
+01100000000000010100001000011111
+01011000000000000000000110010000
+01100000000000010100001000101011
+00100000011000000000000000000000
+01101000000010010100001000101001
+01011000000000001010101001010101
+10011000010001100111110000000000
+00100000001000101110100011100000
+01011000000000000110100101000110
+01100000000000010100001000100011
+01011000000000000101001101110111
+01100000000000010100001000011101
+00100000001000000110100011101000
+01101000000000010100001000100011
+00100100001110100110100011100100
+01011000000000000110100101000110
+01100000000000010100001000100011
+01101000000000010100001000011101
+00100100001110100110100011101000
+01011000000000000101001101110111
+01100000000000010100001000011101
+01011000000000000000000000110010
+01100000000000010100001000101011
+00100000011000000000000000000000
+01101000000000001100001000101101
+11000000000000000110100011110000
+11000000000000001110100011110010
+11000000000000010110100011110100
+00100000011000000000000000000000
+01110000100010010111000110111111
+00100000001000000110100011111000
+01110000100010010111000110101111
+00100000001000000110100011111000
+01110000100010010111000110001111
+01101000000000001100001000101110
+01100000000100001000100101110011
+00100000001000000110100011111000
+01000111010011111100000000110011
+01101000000100001000000001010011
+01111001001000000111111000000111
+01100000000100001000000001010011
+01101000000100001000100101110011
+00011111111000011111111000110000
+01100000000100001000100101110011
+01110000100010010000011001111100
+01110000100010010111001010101010
+00100000000000000001001110001000
+01101000000110010000000101010000
+01101000000100001000000001010011
+01111001001111111111111000000111
+01100000000100001000000001010011
+01100000000010010100001000101111
+00100000011000000000000000000000
+01000111010100000100000000110100
+01101000000000001100001000101101
+11000000000000000110100100001110
+11000000000000001110100100010010
+11000000000000010110100100010110
+00100000011000000000000000000000
+01101000000000010100001000100111
+01101000000010010100001000100001
+11011010011000000000000011001000
+00100000001000000110100100011010
+01101000000000010100001000100101
+01101000000010010100001000011111
+11011010011000000000000001100100
+00100000001000000110100100011010
+01101000000000010100001000100011
+01101000000010010100001000011101
+11011010011000000000000000110010
+00100000001000000110100100011010
+10011000010001100010001000000000
+01101000000000010100001000101111
+10011000010001100111111000000000
+00100100001000010110100100100111
+01101000000010010100001000101011
+10011000010011111010010000000000
+00011010011000100111111000000000
+10011010001011111111111000000000
+10011010010000001111111000000000
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00100000011000000000000000000000
+00011000010000100111111000000000
+01101000000010010100001000101111
+10011000010001100111111000000000
+01101000000010010100001000101011
+10011000010011111010010000000000
+00011010011000100111111000000000
+10011010001011111111111000000000
+10011010010001100111111000000000
+00100000001000000110100100100011
+11101010001001000000000000000000
+01100000000001000000101010011010
+01101000000000010000101010011010
+01101000000010010000101010011100
+10011000010001100010001000000000
+01101000000000010000101010100000
+10011000010001100010010000000000
+01101000000010010000101010011110
+10011000010001100111110000000000
+00100100010000010110100101000000
+00011010010011111111111001100100
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00100000010110100110100101000100
+00100000011000000000000000000000
+01101000000000001100001000110001
+01111001001000000111111000000000
+01100000000000001100001000110001
+00100000011000000000000000000000
+01101000000010001100001000110001
+01111001001000000000010000000001
+01100000000010001100001000110001
+00100000011000000000000000000000
+01101000000000010100001000111101
+11101111111000001000000000000000
+00100000011110100000000000000000
+00011111111000100111001000000000
+01101000000000010100001000111101
+00011111111000001111111000000011
+00011111111000100010001000000000
+11101010001010001000000000000000
+00100000010000000110011111111011
+00011010001000001010001000000001
+11000010000000000110100101001111
+00100000011000000000000000000000
+01101000000000010100001000111101
+00011111111000001111111000000011
+00011111111000100010001000000000
+00011000000000000010010000000000
+01110000000010110001001000000000
+11101010001010001000000000000000
+00100000010000000110100000011101
+01000111010100001100000000110100
+01101000000000010000101100010010
+00011010010000100000111000000000
+11111001001000001111111000000000
+01100000000000010000101100010010
+00011010001000001010001000000001
+00011010010000001010010000000001
+01101000000000010100001000111101
+11101111111000001000000000000000
+10011010010000101111110000000000
+00100100001000101110100101011001
+01101000000000010000101100010010
+01101000000010010000101100010100
+10011000010000101111110000000000
+00100000011000101000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000010100001000111101
+11101111111000001000000000000000
+00100000011110100000000000000000
+00011111111000100111001000000000
+01101000000000010100001000111101
+00011111111000001111111000000011
+00011111111000100010001000000000
+11101010001010001000000000000000
+00100000010000000110011111011101
+00011010001000001010001000000001
+11000010000000000110100101110011
+00100000011000000000000000000000
+11011000111000000000000000001001
+00100000010000000111111100010110
+00100100011110100000000000000000
+01011000000000000000000000100000
+11011000111000000000000000001001
+00100000010000000111111100001000
+01111000010101000111110000000000
+00100000010000000110100101101100
+01000111010100010100000000110100
+01101000000000010100001000111101
+11101111111000001000000000000000
+00100000011110100000000000000000
+00100000010000000110100101010100
+00100100001101000111110100000010
+00100000010000000111110100000000
+01111000010101000111110000000000
+01101000000000010000101100010010
+01100000000000010000101100011001
+01110000000010110001101100000000
+00011000000000000000111000000000
+01101000000000010000101100010100
+00011111111000110000010000000000
+01100000000010010000101100010100
+00011111111000010111111000000001
+01101000000010010000101100011001
+00011000010000010010001000000001
+00011000010000110000010000000000
+01100000000010010000101100011001
+10011010001000101111110000000000
+00100100010000101110100110100001
+01101000000000010100001000111101
+11101111111000001000000000000000
+01101000000010001000101100011011
+00011000010000001000010000000001
+01100000000010001000101100011011
+00011000010000100000111000000000
+10011000111000101111110000000000
+00100100001000101110100110001100
+01101000000000010000101100010010
+01100000000000010000101100010100
+00100000011000000000000000000000
+01000111010100011100000000110100
+01101000000000010100001000111101
+00011111111000001111111000000001
+11101111111000010000000000000000
+00100000001000000111111110011100
+01101000000100001000000001000010
+10011010001000011111111000000000
+01100000000100001000000001000010
+01101000000100010000000001010000
+01111001001111111111111000001101
+01100000000100010000000001010000
+00100000000000000000000001100100
+00100000011000000000000000000000
+01101000000010011000101010011100
+01011000101101110001101100000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111000010000000000
+01101000000000001000101010011111
+10011000010011111111111000000000
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111010001000000000
+00011000010000100111111000000000
+10011010001001100010010000000000
+01101000000000001000101010011011
+00100000010000000110100110111110
+01101000000000001000101010011010
+00100000001000000110100111010101
+11000000000000000110100111000100
+11000000000000001110100111000110
+11000000000000010110100111001000
+11000000000000011110100111001010
+11000000000000100110100111001100
+11000000000000101110100111001110
+11011000101000001000000010100000
+00100000001000000110100111010000
+11011000101000001000000010100100
+00100000001000000110100111010000
+11011000101000001000000010101000
+00100000001000000110100111010000
+11011000101000001000000001100100
+00100000001000000110100111010000
+11011000101000001000000001101000
+00100000001000000110100111010000
+11011000101000001000000001101100
+00100000001000000110100111010000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011010010000100111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000110100111011000
+01111000010101000111110000000000
+11000000000000100110100111100011
+11000000000000101110100111100101
+11000000000011011110100111100111
+11000000000011100110100111101001
+11000000000000011110100111101011
+11000000000001000110100111101101
+11000000000010100110100111101111
+11000000000010101110100111110001
+11000000000010110110100111110011
+11000000000010111110100111110101
+00100000011000000000000000000000
+11011000111000000000000000000110
+00100000001000000110100111111111
+11011000111000000000000000000111
+00100000001000000110100111111111
+11011000111000000000000000001000
+00100000001000000110100111111111
+11011000111000000000000000001001
+00100000001000000110100111111111
+11011000111000000000000000001010
+00100000001000000110100111111111
+11011000111000000000000000001011
+00100000001000000110100111111111
+11011000111000000000000000001100
+00100000001000000110101000000001
+11011000111000000000000000001101
+00100000001000000110101000000001
+11011000111000000000000000001110
+00100000001000000110101000000001
+11011000111000000000000000001111
+00100000001000000110101000000001
+01101000000100010000000010000001
+11111001001101000111111000000000
+01100000000100010000000010000001
+00011010001000100000111000000000
+01101000000100001000000010000101
+11111001001101000111111000000000
+01100000000100001000000010000101
+00100000011000000000000000000000
+00011000111000001010001111111100
+00100000001000000110100111110111
+00011000111000001010001111110110
+00100000001000000110100111110111
+00100000011101011000000000000000
+01110000010001010110011100000000
+01110000000001001110110100000011
+01110000000001001110111000000011
+01110000000001001111001000010001
+01110000000001001111001100010011
+01011000000000000000000000000000
+01100000000000011000010011101111
+01100000000000001100001001010100
+01110000010001101000000100000000
+01000111010100100100000000110100
+01011000000000000000000000000000
+01100000000000001100001001010100
+01100000000000001100010101100100
+01100000000000001100010101011101
+01101000000000001100010101101011
+11000000000000001110101000010110
+01110000010001010110100101010000
+00100000011000000000000000000000
+01110000010001010110100100000000
+00100000011000000000000000000000
+00011000010000011000010000000010
+00100000011000000000000000000000
+00011000010000100111111000000000
+00011111111011011111111000000000
+01100000000000001100010101100010
+00011000000000000111111000111111
+00011111111011011111111000000000
+01100000000000001100010101100001
+00011000000000000111111000000001
+00011111111011011111111000000000
+01100000000000001100010101100000
+00100000010000000110101001010000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100000000000001100010101100010
+00011000000000000111111001110011
+00011111111011011111111000000000
+01100000000000001100010101100001
+00011000000000000111111000000001
+00011111111011011111111000000000
+01100000000000001100010101100000
+00100000001000000110101001010000
+01101000000000001100010101100011
+00100000001110100110101000110011
+01011000000000000000000001110000
+00100000011000000000000000000000
+01011000000000000000000010101010
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100000000000001100010101100010
+00011000000000000111111011101111
+00100000010000000110101001000100
+01101000000010010000010011110111
+00011000010000100000101000000000
+11100000101000001000000000000000
+00011000101000100000010000000000
+01100000000010010000010011110111
+00011000000000000111111011111111
+00100000010000000110101001000100
+01101000000010010000010011110111
+00011000010000100000101000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100000000000001100010101100001
+01101000000000010100010101100001
+00011111111011010111111000000000
+01100000000000011000010011110100
+11011010001000000000000100000111
+11011010010000000000000000001111
+00100000010000000110101001011101
+00011111111000101111111011010111
+00011111111001000111111000000000
+00011111111011011111111000000000
+00100000011000000000000000000000
+01101000000000011100010101100000
+01100000000000011000010011110100
+11011010001000000000000100000111
+11011010010000000000000000001111
+00100000010000000110101001011101
+00011111111011010111111000000000
+11011010010000000000000000000111
+00100000010000000110101001011101
+00011111111000101111111000101011
+00011111111001000111111000000000
+00011111111011011111111000000000
+00011111111000100000010000000000
+00100000011000000000000000000000
+11011010011000000000000000000000
+00011010010000100111001000000000
+00100000010000000111111001110001
+00011111111000100000010000000000
+00011000010000100111111000000000
+00011010011000111010011000000000
+11000011000001000110101001100110
+10011010001000101000010000000000
+00011010011000001010011000000001
+00011000010000111000010000000000
+01101000000000011000010011110100
+00011010010000001010010111111111
+00101010010000011111111011111111
+00100000001000001110101001110000
+00011010010000100111001000000000
+00100000010000000111111001110001
+00101111111011111111111000000000
+01111001001000001000010000000000
+00100000001000000110101001100001
+00011000010000110111111000000000
+00100000011000000000000000000000
+01101000000010001100010101011101
+00011000010010111000010000000000
+01111001001000000000010000000000
+01101000000000001100010101100011
+00100100010110100110101000011000
+01100000000010001000010100001101
+00100000011000000000000000000000
+00011000010000111000010000000000
+01101000000000001100010101100011
+01111001001110100000010000000000
+00100000011000000000000000000000
+01101000000010001000010011111100
+01110000000001001111111011010111
+00100000010000000110101110110110
+01101000000000001100001001010001
+01111001001000000111111000000110
+01111001001000000111111000000111
+01100000000000001100001001010001
+01110000010001010110001100000000
+00100000001000000110101110010111
+01101000000000001100001001010001
+01111001001000000111111000000111
+01100000000000001100001001010001
+00100000001000000110101110010111
+01000111010100101100000000110100
+01101000000000001100011010000001
+11000000000000000110101010001110
+00100000001000000110101101001100
+01101000000000010000001001100100
+00011111111000100000110000000000
+00100000010000000110101010111000
+01101000000000001000010011111100
+11000000000000000110101010010100
+00100000001000000110101100011000
+01000111010100110100000000110100
+01101000000000001000010011111101
+11000000000111111110101001111101
+11000000001110011110101010000110
+11000000011101111110101010011011
+11000000001010011110101101000100
+00100000011000000000000000000000
+01101000000000010000010100000001
+00011111111000100000110000000000
+00100000010000000110101011000011
+01101000000000001000010100000011
+11000000001000001110101010100101
+11000000001000000110101010101101
+11000000001110001110101011100110
+11000000001110000110101011110010
+11000000001001001110101011111101
+00100000001000000110101110010111
+00100000010000000110101010101111
+00100000001000000110101010100111
+01101000000000001100001001010100
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010100
+00100000010000000110101111100000
+00100000001000000110101110010111
+00100000010000000110101010101111
+00100000001000000110101110010111
+00100000010000000110101011001011
+00100000001000000110101011010111
+00100000010000000110101011001011
+11101000110000001000000000000000
+00011111111010010111111000000000
+01100000000000001100010101101010
+11101000110000001000000000000000
+01100000000000001000010100001000
+00100000011000000000000000000000
+11101000110000001000000000000000
+01100000000000001000010011111011
+00011111111010010111111000000000
+01100000000000001000010011111100
+11101000110000001000000000000000
+01100000000000001000010011111101
+00100000010000000110101011001110
+01100000000010010000010011111111
+00011000110000100111111000000000
+01100000000000010000010100000001
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000110111111000000000
+01100000000000001000010100000011
+00100000010000000110101011001110
+01100000000010010000010100000100
+00011000110000100111111000000000
+01100000000000010000010100000110
+00100000011000000000000000000000
+01101000000000010000010100000110
+00011111111000100000110000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000010000000000
+00011000010000110000010000000000
+11000011100000000000000000000000
+11101000110000001000000000000000
+00011111111010011111111000000000
+00011111111100100111111000000000
+10011000010000001000010000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+01100000000000001100010101011101
+11101000110000001000000000000000
+01100000000000001000010100001001
+11101000110000001000000000000000
+01100000000000001000010100001010
+11101000110000001000000000000000
+01100000000000001000010100001011
+11101000110000010000000000000000
+01100000000000010100010101011110
+11101000110000001000000000000000
+01100000000000001000010100001100
+11101000110000001000000000000000
+01100000000000001100010101101000
+00100000011000000000000000000000
+00100000010000000110101010110001
+00100000001000000110101011101000
+01101000000000001100001001010100
+01111001001000000111111000000101
+01111001001000000111111000000110
+01100000000000001100001001010100
+01101000000010001100010101011101
+00011000010010111000010000000000
+00011000010000011000010000000011
+00100000010000000110110000010001
+01110000010001010110011100000011
+00100000001000000110101110010111
+01110000000010101001100100001000
+00100000010000000111110110000110
+00100000010000000110101010110001
+01101000000000001100010101101010
+00011111111001100111110000000001
+00100000001000101110101011111001
+00100000001000000010101010001100
+01101000000000001100001001010100
+01111001001000000111111000000111
+01100000000000001100001001010100
+00100000001000000110101110010111
+00100000010000000110101011001011
+11101000110000001000000000000000
+01100000000000001000101011000010
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000001110
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010100111100000000110100
+01011000000000000001010111101111
+11100000101000010000000000000000
+01011000000000000001000110010001
+11100000101000010000000000000000
+01101000000000001000101011000010
+11100000101000001000000000000000
+01011000000000000000000000000111
+11100000101000101000000000000000
+01011000000000000000000000000001
+11100000101000010000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000001000000110101100011001
+01000111010101000100000000110101
+01101000000000001000010011111101
+11000000001110011110101100100001
+11000000000111111110101100100101
+11000000011101111110101100111111
+11000000011111111110101100110111
+11000000001010011110101101000110
+00100000011000000000000000000000
+01101000000000001100001001010100
+01111001001000000111111000000011
+01100000000000001100001001010100
+00100000001000000110101110010111
+01101000000000001100001001010100
+01111001001000000111111000000011
+01111001001000000111111000000010
+01100000000000001100001001010100
+01101000000000001000010011111011
+00100000010000000110101000100110
+01100000000000001000010011111110
+00100000010000000110101110110110
+01101000000000001000010011111011
+00011111111010110111111000000000
+01100000000000001100010101011101
+00011111111010111111111000000000
+01111001001111111111111000000001
+01111001001000000111111000000000
+11011000010000000100010101100101
+01100000000010010000010011110111
+00100000010000000110101000110101
+00100000001000000110101110010111
+01101000000000010000010100000001
+00011111111000100000110000000000
+00011111111000001111111000000001
+01100000000000010000010100000001
+11101000110000001000000000000000
+01101000000010001100010101101000
+10011000010000001111111000000000
+01100000000000001100010101101000
+00100000010000000110110001000010
+00100000010000000110101001110010
+00100000010000000110110000101000
+00100000010000000110110001001011
+00100000001000000110101110010111
+01110000000010101001100100001001
+00100000010000000111110110000110
+00100000010000000110101000001101
+01101000000000001000010011111011
+00100000010000000110101000100110
+01100000000000001000010011111110
+00100000010000000110101110110110
+00100000001000000110101110010111
+01101000000000010000001001100100
+00011111111000100000110000000000
+00100000010000000110101010111000
+01101000000000001000010011111100
+11000000000000000110101101010010
+00100000001000000110101110000110
+01000111010101001100000000110101
+01101000000000001000010011111101
+11000000000111111110101001111101
+11000000001110011110101010000110
+11000000011101111110101101011000
+00100000001000000110101110010111
+01101000000000010000010100000001
+00011111111000100000110000000000
+00100000010000000110101011000011
+01101000000000001000010100000011
+11000000001000001110101101100001
+11000000001000000110101101100001
+11000000001110001110101101101100
+11000000001110000110101101111100
+00100000001000000110101110010111
+00100000010000000110101010101111
+01101000000000001100010101011101
+00011111111000110111111000000000
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101101101000
+00100000001000000010101010001100
+01101000000000001100001001010100
+01111001001000000111111000000001
+01100000000000001100001001010100
+00100000001000000110101110010111
+00100000010000000110101010110001
+01101000000000001100010101101010
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101101110011
+00100000001000000010101010001100
+00100000001000000110101110010111
+01101000000000001100001001010100
+01111001001000000111111000000101
+01111001001000000111111000000110
+01100000000000001100001001010100
+01101000000010001100010101011101
+00011000010010111000010000000000
+00011000010000011000010000000011
+00100000010000000110110000010001
+00100000001000000110101110010111
+00100000010000000110101010110001
+01101000000000001100010101101010
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101110000010
+00100000001000000010101010001100
+01101000000000001100001001010100
+01111001001000000111111000000111
+01100000000000001100001001010100
+00100000001000000110101110010111
+01101000000000001000010011111100
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101110001100
+00100000001000000010101010001100
+00100000001000000110101110010111
+01101000000000001000010011111101
+11000000001110011110101110010001
+11000000011101111110101100111111
+11000000011111111110101100110111
+11000000001010011110101110010110
+01101000000000001100001001010100
+01111001001000000111111000000011
+01100000000000001100001001010100
+00100000001000000110101110010111
+00100000001000000110101110010101
+00100000001000000110101101000110
+00100000011000000000000000000000
+01101000000000001100010101100111
+00100000011110100000000000000000
+11000000000000011110101110011100
+00100000001000000010101010001100
+01110000010001010110011100000000
+00100000010000000101001011010010
+11011000010000000000000000000001
+01101000000010001100010101011101
+00011000010010111000010000000000
+00011000010000011000010000000011
+11011010001000000000000010101010
+00100000010000000110101111111100
+00100000010000000101001011100000
+00011000101000100000110000000000
+11101000110000010000000000000000
+00100000001110100010101010001100
+00100000011000000000000000000000
+00100000010000000101001011100000
+01011000000000000000000000000100
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001000010011111011
+11100000101000001000000000000000
+01000111010101010100000000110101
+01011000000000000000000100111111
+11100000101000010000000000000000
+01101000000000001000010011111110
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000000100
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001000010011111011
+11100000101000001000000000000000
+01000111010101011100000000110101
+01011000000000000000000101110011
+11100000101000010000000000000000
+01101000000000001000010011111110
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011100000
+01011000000000000000000000001110
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101100100000000110101
+01011000000000000001010111101111
+11100000101000010000000000000000
+01011000000000000001000110000011
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000011110000
+11100000101000011000000000000000
+01011000000000000000000001111111
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+01110000010001010110100100010000
+00100000011000000000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000001110
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101101100000000110101
+01011000000000000001010111101111
+11100000101000010000000000000000
+01011000000000000001000110000001
+11100000101000010000000000000000
+01101000000000001100010101011101
+11100000101000001000000000000000
+01011000000000000000000011100000
+11100000101000011000000000000000
+01101000000000010100010101101100
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+01101000000000001100010101101110
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011100000
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101110100000000110101
+01011000000000000000100111101111
+11100000101000010000000000000000
+01011000000000000000010111100011
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000010001101
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+00011000010000100001011000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101111100000000110101
+01011000000000000000100111101111
+11100000101000010000000000000000
+01011000000000000000010111100001
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000010001101
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000111010110000100000000110110
+01101000000000001100010101101001
+00100000011110100000000000000000
+01101000000100010000000100010010
+00100100011110100000000000000000
+00011010001000100111111000000000
+01100000000000001000101010011011
+01100000000010001000101010011010
+00100000010000000101001001101110
+00100100011110100000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000000101
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001000010100001101
+11100000101000001000000000000000
+01011000000000000000000111111111
+11100000101000010000000000000000
+01101000000000001100010101101001
+11100000101000001000000000000000
+01101000000000001100010101100110
+11100000101000001000000000000000
+01110000010001010110100100000000
+00100000011000000000000000000000
+01000111010110001100000000110110
+01101000000000001100010101101011
+11000001000000001000000000000000
+01101000000000010000010011111111
+00100000011110100000000000000000
+01101000000000001100010101101001
+00011111111000001111111000000001
+01100000000000001100010101101001
+00100000011000000000000000000000
+01101000000000010100010101101111
+00100000001000000111111110011100
+01000111010110010100000000110110
+01101000000000001100010101101000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100010101101000
+01101000000000010100010101011110
+01101000000010010100011010011111
+10011000010001100111110000000000
+00100000001000010110110001010111
+01100000000000010100011010011111
+01101000000000001100010101101001
+00100000001110100110110001011111
+01110000000001010001000000000001
+01101000000000001100010101100110
+01100000000000001000010100001111
+01011000000000000000000011111111
+01100000000000001000010100001110
+00100000001000000110110001100100
+01110000000001010001000000000000
+01101000000000001100010101100101
+01100000000000001000010100001111
+01011000000000000000000011101111
+01100000000000001000010100001110
+01000111010110011100000000110110
+01101000000000010100011010011111
+00011111111001100111110001111111
+00100000001000010110110001101011
+01101000000000001000010100010000
+00011111111000001111111000000001
+01100000000000001000010100010000
+00100000010000000110101001110010
+01101000000000010100011010011111
+00011111111000001111111000001000
+01101000000010001000010100010000
+10011000010000001010001000000000
+00100000010000000101001001000000
+01100000000000010000001001110111
+00011111111000001111111000000100
+01100000000000010000001001111001
+00011111111000100000101000000000
+01101000000000001000010100001101
+11100000101000001000000000000000
+01101000000000001000010100001110
+11100000101000001000000000000000
+00100000010000000110110010010101
+00100000010000000110110010100110
+01000111010110100100000000110110
+01101000000000010100010101110001
+00011111111000100000011000000000
+01101000000000010100011010011111
+00011111111000100111001000000000
+00100000010000000110011011101010
+00011000101000100000010000000000
+00011000011000100111111000000000
+01100000000000010100010101110001
+00011000010000100000101000000000
+01101000000000001000010100001111
+11100000101000001000000000000000
+01101000000000010000001001110111
+00011111111000100000101000000000
+01101000000000010100011010011111
+01101000000010001000010100010000
+10011000010000001111111000000000
+00011111111000001111111000000100
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01110000010001010110100100000000
+01101000000000010100010101110011
+11000000000000000011101010010111
+01110000000010110000010100000000
+00100000011000000000000000000000
+01000111010110101100000000110110
+01101000000000010100011010011111
+00011111111001100111110001111111
+00100100001000010110110010011101
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000010100011010011111
+00011111111010010111111000000000
+00011111111100011000010000000000
+00011111111000010111111001111111
+00011111111000111111111000000000
+01111001001111111111111000000000
+11100000101000001000000000000000
+11100000101010001000000000000000
+00100000011000000000000000000000
+01101000000000001100010101101001
+00100000011110100000000000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000111010110110100000000110110
+00100000010000000111110110011100
+00100000010000000011001011110110
+00100000010000000110001100011011
+01000111010110111100000000110110
+00100000010000000111011011011100
+00100000010000000111011010110101
+00100000010000000111011011000110
+00100000010000000101001001101110
+00100100011110100000000000000000
+00100000010000000100110110101001
+00100000010000000101001001101110
+00100100011110100000000000000000
+01000111010111000100000000110111
+00100000010000000110110011110101
+00100000010000000100111101100100
+00100000010000000110101110011000
+00100000010000000110110010111110
+01000111010111001100000000110111
+00100000001000000011001011110010
+01101000000000001000001001111111
+11000010100000000101000010000111
+11000010100000111101000010010001
+00100000011000000000000000000000
+01000111010111010100000000110111
+00100000010000000101001001110100
+00100000011110100000000000000000
+01101000000000001000000001001011
+11000011100000110000000000000000
+00100000010000000101001001011000
+01100000000000010000000101101111
+00011111111000100000110000000000
+11101000110000010000000000000000
+00011111111000001111111000000100
+01100000000000010100000111011100
+01110000010000011101101100000110
+01000111010111011100000000110111
+01101000000000010100001001000110
+00100000001110100110110011011101
+01101000000000001000000001001011
+11000100000000111000000000000000
+01111001001111111111111000000111
+01100000000000001000000001001011
+01110000010000011101101100000101
+01101000000010010100001001000110
+01101000000000010000000101101111
+10011000010000001111111000000000
+01100000000000010000000101101111
+01101000000000010100000111011100
+10011000010001100111111000000000
+01100000000000010100000111011100
+01000111010111100100000000110111
+01101000000000010100000111011100
+00100000001110100010101010001100
+11011000010000000000000100000100
+10011000010001100111111000000000
+00100100001000010110110011101001
+01000111010111101100000000110111
+01100000000010010100000111011100
+01101000000000010100001001000110
+10011000010000001111111000000000
+01100000000000010100001001000110
+00100000001000000110110011101011
+01011000000000000000000000000000
+01100000000000010100001001000110
+01101000000000001000000001001011
+01111001001000000111111000000110
+01100000000000001000000001001011
+00100000011000000000000000000000
+01101000000000001100011010000100
+11000010100000000110110011110011
+01110000000000101000011100000001
+00100000011000000000000000000000
+01110000000000101000011100001111
+00100000011000000000000000000000
+01101000000000001100011010000001
+00100100001110100110110011111011
+01101000000000001000001010000110
+00100000011110100000000000000000
+01110000000000101000011000000000
+00100000011000000000000000000000
+01000111010111110100000000110111
+01101000000000001000001010000111
+00100000011110100000000000000000
+11000000000000001110110100011011
+11000000000000010110110101110100
+11000000000000011110110100100001
+11000000000000100110110101111000
+11000000000111011110110100101011
+11000000000111100110110101111011
+11000000000001101110110100110000
+11000000000001110110110110000000
+11000000000001111110110100110011
+11000000000010000110110110000110
+11000000000010001110110100111001
+11000000000010010110110110001010
+11000000000010011110110100111111
+11000000000010100110110110001110
+11000000000010101110110101000101
+11000000000010110110110110010010
+11000000000010111110110101001011
+11000000000011000110110110010111
+11000000000011001110110101010001
+11000000000011010110110110011011
+11000000000011011110110101010111
+11000000000011100110110110011111
+11000000000011101110110101011101
+11000000000011110110110110100100
+11000000000011111110110101100011
+11000000000100000110110110101000
+11000000000100001110110101101110
+11000000000100010110110110101100
+00100000011000000000000000000000
+00100000010000000110110110110111
+01110000000000101000011100000010
+01101000000000001100001001010000
+01111001001000000111111000000000
+01100000000000001100001001010000
+00100000011000000000000000000000
+01110000000000101000011100000100
+01101000000000001100001001010000
+11000011100000010000000000000000
+01110000000000101000011100000011
+00100000010000000110110110111110
+01110000000000101000011100000100
+01101000000000001100001001010000
+01111001001000000111111000000010
+01100000000000001100001001010000
+00100000011000000000000000000000
+00100000010000000101001001110100
+00100100011110100000000000000000
+00100000010000000110110111001101
+01110000000000101000011100111100
+00100000011000000000000000000000
+00100000010000000110110111000011
+01110000000000101000011100001110
+00100000011000000000000000000000
+00100000010000000110110111011101
+01110000000000101000011100010000
+01101000000000001100001001010010
+01111001001000000111111000000000
+01100000000000001100001001010010
+00100000011000000000000000000000
+00100000010000000110110111100100
+01110000000000101000011100010010
+01101000000000001100001001010010
+01111001001000000111111000000010
+01100000000000001100001001010010
+00100000011000000000000000000000
+00100000010000000110110111101001
+01110000000000101000011100010100
+01101000000000001100001001010011
+01111001001000000111111000000000
+01100000000000001100001001010011
+00100000011000000000000000000000
+00100000010000000110110111110000
+01110000000000101000011100010110
+01101000000000001100001001010011
+01111001001000000111111000000010
+01100000000000001100001001010011
+00100000011000000000000000000000
+00100000010000000110110111010001
+01110000000000101000011100011000
+01101000000000001100001001010001
+01111001001000000111111000000000
+01100000000000001100001001010001
+00100000011000000000000000000000
+00100000010000000110110111011000
+01110000000000101000011100011010
+01101000000000001100001001010001
+01111001001000000111111000000010
+01100000000000001100001001010001
+00100000011000000000000000000000
+00100000010000000110110111110101
+01110000000000101000011100011100
+01101000000000001100001001010001
+01111001001000000111111000000110
+01100000000000001100001001010001
+00100000011000000000000000000000
+00100000010000000110110111111100
+01101000000000001100001001010100
+01111001001000000111111000000000
+01100000000000001100001001010100
+01110000000000101000011100011110
+00100000011000000000000000000000
+00100000010000000110111000000010
+01101000000000001100001001010100
+01111001001000000111111000000010
+01100000000000001100001001010100
+01110000000000101000011100100000
+01101000000000001100010101100100
+00011111111010011111111000000000
+00011111111000011111111000000011
+11011000010000000100010101100101
+01100000000010010000010011110111
+00100000001000000110101000110101
+00100000010000000110111000001100
+01101000000000001100001001010100
+01111001001000000111111000000100
+01100000000000001100001001010100
+01110000000000101000011100100010
+00100000011000000000000000000000
+01101000000000001100001001010000
+11000100000000001000000000000000
+01110000000000101000011100000011
+00100000001000000110110011111011
+01101000000000001100001001010000
+11000001100111111000000000000000
+01110000000000101000011100111011
+01101000000000001000001010000101
+11000001100010111000000000000000
+01110000000000101000010100000000
+01110000000000101000011100001101
+00100000001000000110110011111011
+01101000000000001100001001010000
+00100100011110100000000000000000
+01101000000000001100011010000100
+11000010100000000110110110101111
+11000010100000110110110110110001
+00100000001000000110110110110101
+01101000000000001100001001010010
+11000100000000001000000000000000
+01110000000000101000011100010001
+00100000001000000110110011111011
+01101000000000001100001001010010
+11000001100111111000000000000000
+01110000000000101000011100010011
+00100000001000000110110011111011
+01101000000000001100001001010011
+11000100000000001000000000000000
+01110000000000101000011100010101
+00100000001000000110110011111011
+01101000000000001100001001010011
+11000001100111111000000000000000
+01101000000000001100011010000100
+11000010100000110110110110110001
+00100000001000000110110110110101
+01101000000000001100001001010001
+11000100000000001000000000000000
+01110000000000101000011100011001
+00100000001000000110110011111011
+01101000000000001100001001010001
+11000001100111111000000000000000
+01110000000000101000011100011011
+00100000001000000110110011111011
+01101000000000001100001001010001
+11000001111111111000000000000000
+01101000000000001100011010000100
+11000010100000110110110110110011
+00100000001000000110110110110101
+01101000000000001100001001010100
+11000100000000001000000000000000
+01110000000000101000011100011111
+00100000001000000110110011111011
+01101000000000001100001001010100
+11000100000000011000000000000000
+01110000000000101000011100100001
+00100000001000000110110011111011
+01101000000000001100001001010100
+11000001111111111000000000000000
+00100000001000000110110110110101
+01110000000000101000011100001111
+00100000001000000110110011111011
+01110000000000101000011100010111
+00100000001000000110110011111011
+01110000000000101000011100011101
+00100000001000000110110011111011
+01110000000000101000011100000000
+00100000011000000000000000000000
+01000111010111111100000000110111
+00100000010000000101001010111000
+01011000000000000000000000000001
+00011111111000100000010000000000
+01011000000000000000000001010000
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011000000100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001000
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011000001100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001000
+00011111111000100000010000000000
+11011001011000000000000001010000
+00100000010000000101000011001100
+01101000000000001100001001010000
+01111001001111111111111000000101
+01100000000000001100001001010000
+00100000011000000000000000000000
+01000111011000010100000000111000
+00100000010000000101001011000101
+00100000010000000111000100111000
+00100000001000000101000011100111
+01000111011000011100000000111000
+00100000010000000101001010111000
+01011000000000000000000000000011
+00011111111000100000010000000000
+01011000000000000000000001010001
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011000100100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001010
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011000101100000000111000
+00100000010000000101001010111000
+01011000000000000000000000010001
+00011111111000100000010000000000
+01011000000000000000000001010010
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011000110100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001100
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011000111100000000111000
+00100000010000000101001010111000
+01011000000000000000000000010011
+00011111111000100000010000000000
+01011000000000000000000001010011
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011001000100000000111001
+00100000010000000101001010111000
+01101000000000010100001001001110
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011001001100000000111001
+00100000010000000101001011010010
+01110000000001001111101100000011
+01110000000001001111111000011100
+00100000010000000110101110101001
+01110000010001010110001100000001
+00100000011000000000000000000000
+01000111011001010100000000111001
+00100000010000000101001011010010
+01101000000010001100010101100100
+00100000010000000110101001111001
+01100000000010001100010101011101
+00100000001000000110101111000100
+01000111011001011100000000111001
+00100000010000000101001011010010
+01101000000010001100010101011101
+00100000010000000110101001110011
+00100000010000000110101000011010
+01100000000000001000010011111110
+01101000000010001100010101011101
+00100000010000000110101001110011
+01100000000010001000010011111011
+00100000001000000110101110101001
+01000111011001100100000000111001
+00100000010000000101001011010010
+01101000000010001100010101011101
+00100000010000000110101001110011
+00100000001000000110101111111100
+01000111011001101100000000111001
+01101000000000010000001001100100
+10011000000000000000110000000000
+11101000110000001000000000000000
+00011111111000100010010000000000
+01100000000000001000010100011011
+11101000110000010000000000000000
+01100000000000010000010100011100
+11101000110000001000000000000000
+00011111111011010001011000000000
+11101000110000001000000000000000
+10011001011000001001011000000000
+01000111011001110100000000111001
+00011000110000100000010000000000
+11011111001000000000000000000100
+11011000101000000000010100101010
+00100000010000000111111011000110
+00011000010000100000110000000000
+00011010010000100111111000000000
+11000000000000001110111110111010
+11000000000000010110111000101100
+11000000000000011110111110111010
+11000000000000100110111001010100
+11000000000000101110111110111010
+11000000000000110110111100000010
+11000000000000111110111110111010
+00100000001000000110111111000001
+01000111011001111100000000111001
+00100000010000000110111111010000
+00101000010000011111111000000001
+00100000001000001111000001000000
+00101000010000011111111011111111
+00100000001000001110111111000100
+11101000110000010000000000000000
+01100000000000010000010100100010
+00011001011000001001011111111110
+00011001011000001001011111111111
+00100100001000101110111110111110
+11011001011000000000010100010001
+11101001011000010000000000000000
+00100000011110100000000000000000
+00100000010000000111000010000010
+00100000010000000101001011010000
+00011000000000000111111000000011
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+00011000111010111111111000000000
+00011111111000001111111000000101
+00011111111000001010011000000101
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011000111000100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+11100000101000010000000000000000
+11011000110000000000010100101010
+00011000111000100111001000000000
+00100000001000101110111001001111
+11101000110000100000000000000000
+11100000101000100000000000000000
+11000010000000000110111001001100
+00011000000000000111111000000000
+11100000101000001000000000000000
+00011010011000100111111000000000
+01100000000000010000001001110101
+00100000011000000000000000000000
+01000111011010000100000000111010
+11101000110000100000000000000000
+01100000000000100000010100100100
+00011001011000001001011111111100
+00100000010000000110111100101110
+01100000000000010000010100100000
+00011001011000001001011111111110
+00100000010000000111000000101000
+00100000001000101110111111000100
+00101010001000011111111000000101
+00100000001000001110111001100010
+11011000101000000000010100101010
+00011000000000000000111000000000
+00100000001000000110111001110001
+11101000110000001000000000000000
+11000000100001010110111111000100
+11101000110000010000000000000000
+00100100001110100110111001101111
+11101000110000001000000000000000
+11000000111111111110111001101101
+11101000110000001000000000000000
+11000000111111111110111001101011
+00100000001000000110111010111000
+00011000110000001000110111111011
+00100000001000000110111001011111
+00011000110000001000110111111100
+00100000001000000110111001011111
+00011000110000001000110111111101
+00100000001000000110111001011111
+11101000110000001000000000000000
+11000000000001001110111010000110
+11000000000001010110111001110100
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011111111100001010010000000000
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011010010000001010010000000001
+10011010010001100111110000000000
+00100100001000010110111010000011
+00011111111000100010011000000000
+00011010010100001111111000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011010011000100111111000000000
+00100000001000000110111001111010
+00011001011000001001011111111011
+00011010001000001010001111111011
+00100000001000000110111010001011
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011001011000001001011111111101
+00011010001000001010001111111101
+00100100001000010110111111000100
+00100100001000101110111001110001
+00011001011000001001011111111111
+00100100001000101110111111000100
+00100000010000000101001011010000
+00011000101000001000101000001010
+11011010001000000000010100101010
+00011000111000100111111000000000
+00100000001110100110111010100101
+11101010001000010000000000000000
+00100000001110100110111010100101
+10011000000000000010010000000000
+01101000000000100000010100100100
+10011000000000000000010000000000
+00100000010000000111000011100111
+00011000110000100111111000000000
+00100000001110100110111010100010
+00011000110000001000110111111101
+11101000110000011000000000000000
+11100000101000011000000000000000
+00100000010000000111000001011011
+10011000000000000111001000000000
+00100000010000000111111100000001
+00011010001000001010001000000010
+00011000111000001000111111111111
+00100000001000000110111010010010
+11011010001000000000000000000101
+00100000010000000110111110000100
+01101000000000010000001001110101
+11000000000001011111000001000011
+00100000001000000110111110011010
+11101000110000001000000000000000
+11000000000000000110111010101110
+11000000000000001110111010110000
+11000000000000010110111010110011
+00011001011000001001011111111111
+00100000001000000110111010110110
+11101000110000001000000000000000
+00011001011000001001011111111110
+00100000001000000110111010110110
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011001011000001001011111111101
+01100000000000010000010100011001
+00100000011000000000000000000000
+00011001011000001001011111111011
+00100000010000000110111010101010
+00100100001000101110111110111110
+01101000000010100000010100100100
+00100000010000000111000010110001
+00100100001000101110111110111011
+00011000110000100010001000000000
+00100000010000000101001011010000
+00011010001000100000110000000000
+00011000101000001000101000000011
+00011000110000100001011000000000
+00100000010000000111000001100010
+00011111111000100010001000000000
+01101000000000010000010100011001
+00011111111000100010010000000000
+00011010001000100111111000000000
+10011010010001100010010000000000
+01101000000000010000010100100000
+10011010010001100111110000000000
+00100100001000010110111011100111
+01111000010101000111110000000000
+01101000000000010000010100011001
+00100000001110100110111011011010
+10011001011000001000110000000000
+00011010010000001010010000000011
+00011010010000100111001000000000
+00011111001000100111111000000000
+00011111111000001111111000000011
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011111001000100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000001000000110111011110101
+00011010001000001111001000000110
+00100000001101000110111011011110
+00011111001100001111111000000000
+00100000001000000110111011100001
+00011111001000100111111000000000
+00011111111000001111111000000010
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011111001000001111001111111101
+00011111001100001111111000000000
+11100000101000010000000000000000
+00011001011000100000110000000000
+00100000001000000110111011110101
+01111000001101000111110000000000
+01101000000000010000010100100000
+00011111111000100010001000000000
+00011010001000100111001000000000
+01101000000000010000010100011001
+00100000001110100110111011011010
+10011001011000001000110000000000
+00011010001000100111111000000000
+00011111111000001111111000000101
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011010001000100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000010000000111111100000001
+00100100001101000110111011111110
+00011000000000000111111000000010
+11100000101000001000000000000000
+00011000110000100111111000000000
+10011001011001100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000001000000110111100000000
+00011000000000000111111000000000
+11100000101000001000000000000000
+11011010001000000000000000000101
+00100000001000000110111110110000
+01000111011010001100000000111010
+00100000010000000110111111010000
+00101000010000011111111011111111
+00100000001000001110111111000100
+00100000010000000110111100101110
+01100000000000010000010100100000
+00011001011000001001011111111110
+00100000010000000111000000101000
+11011000101000000000010100101010
+00011000000000000000111000000000
+11101000110000001000000000000000
+11000000000001010110111100110110
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011001011000001001011111111101
+00011010001000001010001111111101
+00100100001000010110111111000100
+00100100001000101110111100001100
+00011001011000001001011111111111
+00100100001000101110111111000100
+00100000010000000101001011010000
+00011000101000001000101000001101
+01101000000000010000010100010001
+10011000000000000010011000000000
+11011010001000000000010100101010
+11101010001000010000000000000000
+00100000001110100110111100101001
+10011000000000000010010000000000
+00100000010000000111000011000110
+00100000001110100110111100100111
+00011000110000001000110111111101
+11101000110000011000000000000000
+11100000101000011000000000000000
+00100000010000000111000001011011
+10011000000000000111001000000000
+00100000010000000111111100000001
+00011010001000001010001000000010
+00100000001000000110111100011100
+00100000010000000110111110000011
+01101000000000010000001001110101
+11000000000001110111000001000110
+00100000010000000110111110011010
+00100000001000000110111110011010
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011111111000001111111111111101
+11011000010000000000000011001000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01011000000000000000000011001000
+00100000011000000000000000000000
+00011000110000001000110000000100
+00011001011000001001011111111011
+00011010001000001010001111111011
+00100100001000101110111111000100
+00100000010000000110111010101010
+00100100001000101110111110111110
+11011001011000000000010100010001
+00100000010000000111000010000010
+00011000111000100111111000000000
+00100000001110100111000001000110
+01100000000000001000010101001110
+00011010010000100111111000000000
+01100000000000010000010101001100
+11011000111000000000000000000000
+11011010001000000000000000000000
+00100000010000000101001011010000
+00011000101000001000101000001010
+00100000010000000110111101101100
+00100100001101000010101010001100
+00011000110000100001011000000000
+00011111111000100010011000000000
+10011010001000001010001000000000
+01101000000000010000010100011001
+00011111111000100010010000000000
+00100000001110100110111101110101
+00011010001000100111111000000000
+10011010010001100010010000000000
+00100000001000101110111101100111
+00100100001000010110111101100111
+01101000000000010000010100100000
+10011010010001100111110000000000
+00100000001000101110111101011110
+00100100001000010110111101011110
+00011010010000100111001000000000
+00100000010000000110111101100001
+01101000000000001000010101001110
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100000001000101110111110000011
+00100000001000000110111110100000
+00011111111000100111001000000000
+00100000010000000110111101100001
+00100000001000000110111110100000
+00011000101000001000101111111101
+00011111001000100000010000000000
+00011010011000100111111000000000
+10011010010001100111111000000000
+10011001011000001000110000000000
+00100000001000000111111100000001
+01101000000000001000010101001110
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100000011000101000000000000000
+00100000001000000110111101000111
+00100000010000000111111111101001
+11011000110000000000010100101010
+00011000111010111111111000000000
+10011000110000001000110000000000
+11101000110010100000000000000000
+00100000010000000111000010110001
+00100100011000101000000000000000
+00100000010000000111000001011011
+00100000001000000111111111100111
+01101000000000010000010100100000
+10011010001001100111110000000000
+00100100001000010110111110001111
+00011010001000100111001000000000
+00011111001000100000010000000000
+00011001011000100000110000000000
+00100000010000000111111100000001
+01101000000000010000010101001100
+10011010001001100111110000000000
+00100000001000101110111110000001
+00100000010000000110111110100000
+00100000001000000110111110010100
+00100000010000000110111110000011
+00100000001000000110111110010100
+11011010001000000000000000000111
+00011000000000000111111000000000
+11100000101000001000000000000000
+00100000010000000110111110110000
+01101000000010010000001001110101
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100000101000010000000000000000
+00011000010000001000010111111101
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00011111111000100111001000000000
+00011111001000100000010000000000
+00011001011000100000110000000000
+00100000010000000111111100000001
+00100000010000000110111110100000
+01011000000000000000000000110110
+11100000101000001000000000000000
+01101000000000010000010101001100
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01011000000000000000000000110110
+11100000101000001000000000000000
+00011000010000001000010111111101
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+11011010001000000000000000000111
+01011000000000000000000000000010
+11100000101000001000000000000000
+01101000000000010000010100011001
+10011000010000001000010000000000
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000010000000110111110110000
+01101000000010010000001001110101
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100000101000010000000000000000
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01101000000000010000001001110011
+10011000101001100111111000000000
+00011111111001100111111000000000
+01100000000000010000001001110101
+00100000010000000101001011010000
+00011010001000100111111000000000
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01011000000000000000001000000000
+01100000000000010000010101001010
+00100000001000000110111111000110
+01011000000000000000010000000000
+01100000000000010000010101001010
+00100000001000000110111111000110
+01011000000000000000011000000000
+01100000000000010000010101001010
+00100000001000000110111111000110
+01011000000000000000001100000000
+01100000000000010000010101001010
+00100000010000000101001011010000
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+01011000000000000000001000000000
+11100000101000010000000000000000
+01101000000000010000010101001010
+11100000101000010000000000000000
+01110000000000100111010100000111
+00100000011000000000000000000000
+11011010010000000000000000000000
+00011000000000000000010000000000
+11011000101000000000010100010001
+00100000010000000111000000101000
+00100000001000101111000000100110
+00011010010000001010010000000001
+11101000110000001000000000000000
+00011010001000001010001111111111
+00011001011000001001011111111111
+00101111111000011111000000011000
+00100100001000001111000000100110
+00101111111000000000111000000100
+00100100001000001110111111110011
+00011000000000000000010000000001
+11101000110000001000000000000000
+00011010001000001010001111111111
+00011001011000001001011111111111
+11000000100000000110111111100111
+11101000110000001000000000000000
+00011010001000001010001111111111
+00011001011000001001011111111111
+11000000000000000110111111111000
+00100000001000000110111111101010
+00011000110000001000110000000001
+00011010001000001010001111111111
+00011001011000001001011111111111
+00011000110000001000110000000010
+00011010001000001010001111111110
+00011001011000001001011111111110
+00101000010000011111111000000000
+00100000001000001111000000100000
+00011000110000001000110000001100
+00011010001000001010001111110100
+00011001011000001001011111110100
+00100000001000000111000000100000
+00101111111000000000111000000010
+00100100001000001110111111110110
+00100000001000000110111111011110
+00101111111000000000111000000001
+00100100001000001111000000100110
+00011010001000001010001111111110
+00011001011000001001011111111110
+11101000110000010000000000000000
+00011010010001100111110000000100
+00100000001000101110111111111110
+11100000101000010000000000000000
+00101000010000011111111000000000
+00100000001000001111000000100000
+00011000110000100000010000000000
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000100010000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000110000000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000110000000111000000011001
+11101000110000001000000000000000
+11000000101011111111000000011001
+11101000110000001000000000000000
+11000000110011011111000000011001
+11101000110000001000000000000000
+11000000100110100111000000011001
+11101000110000001000000000000000
+11000000011111011111000000011110
+00011000010000100000110000000000
+00011000110000001000110000001100
+00011000000000000000111000000000
+00011000000000000000010000000000
+00100000001000000111000000011110
+00011001011000001001011111110100
+00011010001000001010001111110100
+00011000000000000000010000000000
+00101010001000011111111000000000
+00100100001000001110111111010101
+00011000000000000111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+11011000010000000000000011111111
+00100000011000000000000000000000
+01000111011010100100000000111010
+11101000110000001000000000000000
+00011001011000001001011111111111
+00101111111000011111000000110000
+00100100001000001111000000111110
+00101111111000000000111000000111
+00100000001000001111000000110111
+00101111111000000000111000000110
+00100000001000001111000000111001
+00101111111000000000111000000101
+00100100001000001111000000111110
+11101000110000001000000000000000
+00011111111000100010001000000000
+00011001011000001001011111111111
+00100000001000000111000000111100
+00011000110000001000110000000010
+00011001011000001001011111111110
+11101000110000010000000000000000
+00011111111100001010001000000000
+00011001011000001001011111111110
+00011000000000000111111000000001
+00100000011000000000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+01011000000000000000000000000011
+01100000000000001000010100011011
+00100000001000000111000001001000
+01011000000000000000000000000101
+01100000000000001000010100011011
+00100000001000000111000001001000
+01011000000000000000000000000111
+01100000000000001000010100011011
+00100000010000000101001011010000
+01101000000000001000010100011011
+00011111111000100010010000000000
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+01011000000000000000010100000000
+11100000101000010000000000000000
+00101010010000011111111000000101
+00100000001000001111000001010111
+00101010010000011111111000000111
+00100000001000001111000001010111
+01011000000000000000000000000000
+11100000101000101000000000000000
+00100000001000000111000001011001
+01011000001101010000001000000000
+11100000101000101000000000000000
+01110000000000100111010100001010
+00100000011000000000000000000000
+00100000010000000111111010100010
+00100000010000000111111010100101
+00100000010000000111000001100010
+00100000010000000111111010011100
+00100000010000000111111010011111
+00011000010000100111111000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000010111001000000111
+00011111111010010111111000000000
+11000000100000000111000001101100
+00011000000000000111111000000001
+00011000000000000000010000000001
+00100000011000000000000000000000
+00100000010000000111111001110110
+00011111111000001000010000000001
+00100000011000000000000000000000
+00011111001000100111111000000000
+00011111111001100111110000000100
+00100000001000010111000001101001
+11000000000000101111000001110011
+11000000000000110111000001110110
+11000000000000111111000001111010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000001000010000000010
+00100000011000000000000000000000
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011111111000001000010000000011
+00100000011000000000000000000000
+11101000110000010000000000000000
+00011111111100001111111000000000
+11101000110010010000000000000000
+00011000010100001000010000000000
+00011000010100000000010000000000
+10011000010000001111111000000000
+00011111111000001000010000000101
+00100000011000000000000000000000
+01000111011010101100000000111010
+00011000000000000000111000000000
+11011010010000000000000000000000
+11011000101000000000010100101010
+11101001011000010000000000000000
+00100000011110100000000000000000
+00100000010000000111000010001101
+00011000111000100111111000000000
+11000001000000111000000000000000
+00011001011000001001011000000010
+00100000001000000111000010000110
+10011000000000000010011000000000
+01101000000000010100010101110101
+10011000000000000000110000000000
+00011000111000100111111000000000
+11000001000000111000000000000000
+01111000010101000111110000000000
+11101000110000001000000000000000
+00100000011110100000000000000000
+10011000000000000111001000000000
+11101000110000010000000000000000
+10011010011001100111110000000000
+00100100001000101111000010011010
+01111000001101000111110000000000
+11000010000000000111000010010110
+11101000110010100000000000000000
+00011000110000100010001000000000
+00100100001101000111000010101101
+11011000110000000000010100101010
+11011111001000000000000000000111
+11101000110000100000000000000000
+00100000001110100111000010100110
+10011000010001100111110000000000
+00100000001000101111000010101101
+11000010000000000111000010100000
+00100000011000000000000000000000
+11100000101010100000000000000000
+00011000111000001000111000000001
+00011010001000100000110000000000
+00100000010000000111000001011011
+10011010010000001010010000000000
+10011000110000001000110000000000
+00100000001000000111000010010000
+00011010001000100000110000000000
+00100000010000000111000001100010
+10011000110000001000110000000000
+00100000001000000111000010010000
+01000111011010110100000000111010
+01101000000000010100010101110101
+10011000000000000000110000000000
+11101000110000001000000000000000
+00100000001110100111111111100011
+00011111111000111111111000000000
+10011000110000001000110000000000
+11101000110000100000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+00011000101000100111111000000000
+01100000000000010000101010111011
+01100000000011000000101010100010
+00100000010000000111000001100010
+10011000110000001000110000000000
+00011000110000100111111000000000
+01101000000010010000101010111011
+00011000010000100000101000000000
+01101000000011000000101010100010
+00011111111000100000110000000000
+00100000001000000111000010110100
+01000111011010111100000000111010
+01101000000000010100010101110101
+10011000000000000000110000000000
+11101000110000001000000000000000
+00100000001110100111000011100100
+10011000000000000111001000000000
+11101000110000010000000000000000
+10011010011001100111110000000000
+00100000001000101111000011010100
+11000010000000000111000011001100
+00011000110000001000110000000100
+00100000010000000111000001100010
+10011000110000001000110000000000
+00100000001000000111000011001001
+00011111001000001111001111111111
+00011111001000111111111000000000
+10011000110000001000110000000000
+00011000110000001000110000000100
+00100000010000000111000001100010
+10011000110000001001011000000000
+00011000110000001000110000000001
+11101000110000010000000000000000
+10011010010001100111110000000000
+00100000001000101111111111101111
+00100000010000000111000001011011
+10011000110000001000110000000000
+00011001011000100111111000000000
+10011000110001100111110000000000
+00100000001000101111000011100100
+00100000001000000111000011011010
+00011000000000000000110000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+01000111011011000100000000111011
+01101000000000010100010101110101
+10011000000000000000110000000000
+11101000110000001000000000000000
+00100000001110100111000100000000
+00011111111000111111111000000000
+10011000110000001000110000000000
+11101000110000100000000000000000
+10011000010001100111110000000000
+00100000001000101111000011110100
+00100000010000000111000001100010
+10011000110000001000110000000000
+00100000001000000111000011101010
+00100000010000000111000001100010
+10011000110000001001011000000000
+00011000110000001000110000000001
+11101000110000010000000000000000
+10011010010001100111110000000000
+00100000011000101000000000000000
+00100000010000000111000001011011
+10011000110000001000110000000000
+00011001011000100111111000000000
+10011000110001100111110000000000
+00100000001000101111000100000000
+00100000001000000111000011110110
+00011000000000000000110000000000
+00100000011000000000000000000000
+11011010010000000000010000000000
+00100000010000000111000011110100
+11011010010000000000001100000000
+00100000010000000111000100001101
+00100100011101000000000000000000
+00011010001001100111110000000011
+00100000001000010111111111101001
+11101000110000001000000000000000
+11000000100001000111111111101001
+11101000110000001000000000000000
+00100000011000000000000000000000
+01000111011011001100000000111011
+00100000010000000111000001100010
+00011111111000100010001000000000
+11101000110000001000000000000000
+00011111111000010111001000000111
+00011111111010010111111000000000
+00011111111001100111110000000011
+00100000001000101111000100101001
+00011111001000100111111000000000
+11000000000000101111000100100000
+11000000000000110111000100100011
+11000000000000111111000100100110
+00011000110000001000110111111111
+00100000010000000111000001100010
+10011000110000001000110000000000
+00011010001000100111111000000000
+10011000010001100010001000000000
+00100000001000101111111111101001
+00100000001000000111000100010000
+00011010001000001010001111111110
+00011000110000001000110000000001
+00100000001000000111000100010000
+00011010001000001010001111111101
+00011000110000001000110000000010
+00100000001000000111000100010000
+00011010001000001010001111111011
+00011000110000001000110000000100
+00100000001000000111000100010000
+00011010001000001010001111111111
+00011111001000100111111000000000
+11000000000000001111000100110010
+11000000000000010111000100110000
+11000000000000100111000100101111
+00100000001000000111111111101001
+00011010001000001010001111110100
+11101000110000010000000000000000
+00011010001000001010001111111110
+11101000110000010000000000000000
+10011010010001100111110000000000
+00100000001000101111111111100111
+00011010001000001010001111111110
+00100000001000101111111111101001
+00100000001000000111000100010000
+00100000010000000101001011010000
+00011111111000100000101000000000
+01011000000000000000000000000110
+11100000101000001000000000000000
+01011000000000000000000001101110
+11100000101000010000000000000000
+01011000000000000000111100000000
+11100000101000010000000000000000
+01011000000110100000010100110101
+11100000101000011000000000000000
+01011000000000000000000100010001
+00011111111100000111111000000000
+11100000101000100000000000000000
+01011000000000000010011000000000
+11100000101000010000000000000000
+01011000000000000000001100110101
+11100000101000010000000000000000
+01011000000000000000000000001001
+11100000101000010000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+01110000000000100111010100010100
+00100000011000000000000000000000
+01000111011011010100000000111011
+01110000000001011110010101010000
+11011000101000000000010111100110
+11011000110000000100010000111010
+00100000010000000111111010111111
+11011000110000000100010111010010
+00100000010000000111111010111101
+11011000110000000000100110111110
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000000010000101111
+00100000010000000111001000000101
+00100000010000000111000111010000
+11011000101000000000101011110010
+00100000010000000111001000000001
+01011000000011110100001001000000
+00011111111000100010001000000000
+01101000000000100000101011110010
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001110111111000000000
+01100000000000100000100110111010
+00100000011000000000000000000000
+01110000000001011110010101000001
+11011000101000000000010111100110
+00100000010000000111000110110101
+00100000010000000111000110110000
+01101000000000011100010001010100
+11100000101000011000000000000000
+00100000010000000111000101110110
+11011000110000000000010000101111
+00100000010000000111111010111111
+11011000110000000100010000111010
+00100000010000000111111010111111
+00100000010000000111001000001010
+11011000110000000000101100010010
+11011000101000000000101011000010
+00100000010000000111111010111111
+00100000001000000111000111010000
+01101000000000100100010011000111
+11100000101000100000000000000000
+00100000010000000111111011001101
+00100000001000000111111011001010
+01000111011011011100000000111011
+01110000000001011110010101000001
+11011000101000000000010111100110
+00100000010000000111000110110000
+00100000010000000111000110110101
+01101000000000011100010001001101
+11100000101000011000000000000000
+00100000010000000111000101110110
+11011000110000000100010000111010
+00100000010000000111111010111111
+11011000110000000000010000101111
+00100000010000000111111010111111
+00100000010000000111001000001010
+11011000110000000000101100010010
+11011000101000000000101011000010
+00100000010000000111111010111111
+00100000010000000111000111010000
+11011000101000000000101011110010
+00100000001000000111001000000001
+01110000000001011110010100100000
+11011000110000000000100111111110
+11011000101000000000010111100110
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000000100110011110
+00100000010000000111001000000101
+00100000010000000111000111010000
+11011000101000000000101011000010
+00100000010000000111010010010111
+11011000010000000000000000000001
+00100000010000000111000110011111
+11011000101000000100010000011001
+00100000010000000111001000000001
+11011000010000000000000000000000
+00100000010000000111000110011111
+11011000101000000000101100010010
+00100000001000000111010010010111
+01000111011011100100000000111011
+01110000000001011110010100110101
+01011000000000000000000100000000
+01100000000000010000010111100110
+00100000010000000111000110110000
+00100000010000000111000110110101
+11011000110000000100010000111010
+00100000010000000111111010111111
+11011000110000000000010000101111
+00100000010000000111111010111111
+01011000000000000110110001100101
+11100000101000010000000000000000
+01011000000000000110001001110100
+11100000101000010000000000000000
+11100000101010001000000000000000
+00100000010000000111001000001010
+00100000001000000111000111010000
+01101000000000110100010010100000
+11100000101000110000000000000000
+01101000000000001100010010010101
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+01101000000000001100010010001110
+11100000101000001000000000000000
+00100000011000000000000000000000
+01110000000001011110010101000001
+01101000000000001100011001100100
+01100000000000001000010111100110
+11011000110000000100010111010010
+00100000010000000111111010111101
+11011000110000000000100110111110
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000000010000101111
+00100000010000000111001000000101
+00100000001000000111000111010000
+01110000000001011110010101000001
+01101000000000001100011001100100
+01100000000000001000010111100110
+11011000110000000000100110111110
+00100000010000000111111010111101
+11011000110000000100010111010010
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000100010000111010
+00100000010000000111001000000101
+00100000001000000111000111010000
+01000111011011101100000000111011
+00100000010000000111001000011111
+01101000000000001000010111100101
+00011111111000100000010000000000
+00011111111000001111111000001111
+00011111111100011111111000000000
+00011111111000100010010000000000
+00100000001110100111000111100010
+00011000010000010111111000001111
+00100100001110100111000111100101
+11011010011000000000101011010010
+11011111111000000000010111100110
+00011111111000001111111111110000
+10011000010000001010001000000000
+11011000101000000000101100000010
+11011111001000000000000000000100
+00100000010000000111111011011101
+00100000001000000111000111110000
+11011010010000000000000000000001
+11011010001000000000000000000000
+00100000001000000111000111100110
+00011000010000010010001000001111
+11011111111000000000010111100110
+10011000010000001111111000000000
+10011010001001100000110000000000
+11011000101000000000101011110010
+00100000010000000111001001000101
+11011010011000000000101011100010
+11011010001000000000101011110010
+11011000101000000000101100000010
+11011111001000000000000000000100
+00100000010000000111111011011101
+00100000010000000111010010010001
+00100000010000000111010000101000
+11011000110000000000010111100110
+00011010010000001010010111111111
+00011010010000100111111000000000
+00100000001110100111000111111001
+00100000010000000111010010000110
+00100000010000000111010000100010
+00100000001000000111000111110011
+11011000101000000000101011110010
+00100000010000000111010010010111
+11011000110000000000101100000010
+00100000010000000111010010000110
+00100000010000000111010000101000
+11011000110000000000101011110010
+00100000010000000111010010000110
+00100000001000000111010000100010
+00011000101000100010001000000000
+00100000010000000111010010010111
+11011111001000000000000000010000
+00100000001000000111111011100101
+11011000101000000000101011000010
+00100000010000000111111010111111
+11011111001000000000000000010000
+11011010001000000000101011000010
+00100000001000000111111011100101
+01101000000000001000010111100101
+00011111111000100111001000000000
+11011010001000000000010111100110
+00100000001000000111111011100101
+11101010001000001000000000000000
+00011111111000111111111000000000
+00101010011011111111111000000000
+01111001001000001111111000000000
+00101111111011111111111000001000
+01111001001000001010011000000000
+11100010001000001000000000000000
+00011010001000001010001111111111
+11000010000000000111001000001110
+00100000011000000000000000000000
+11011010001000000000101011010010
+00011010001000001010001000001111
+00011000000000000111001000010000
+00011000000000000010011000000000
+00100000001000000111001000001110
+11011010001000000000101011100010
+00100000001000000111001000011001
+11011000110000000000101011000010
+00100000010000000111010010000100
+00011000000000000111000000001000
+00100000010000000111010010010010
+00100000010000000111010010010001
+00100000010000000111010000011111
+11011000101000000000101011010010
+00100000010000000111010010010111
+01000111011011110100000000111011
+01101000000000001000101011010010
+00101111111011111111111000000111
+00100100001000001111001000110000
+00100000010000000111001000011000
+11011010011000000000101011010010
+11011000101000000000101011010010
+00100000010000000111001000111010
+00100000001000000111001000110001
+00100000010000000111001000011000
+11011000110000000000101011010010
+11011000101000000000101011100010
+00100000010000000111111010111111
+01101000000000001000101011100010
+00101111111011111111111000000111
+00100100001000001111001000011101
+00100000010000000111001000011101
+11011010011000000000101011100010
+11011000101000000000101011100010
+11011111001000000000000000000011
+11011000010000000000000000000000
+00100000010000000111001001000001
+00011010011000001010011000000100
+11000010000000000111001000111011
+11011000010000001000011100000000
+00011000010100000000010000000000
+11101010011000100000000000000000
+10011000010000101111111000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+01000111011011111100000000111011
+11011111001000000000000000010000
+11011111111000000000000000000000
+10011010001001100111110000000000
+00100000001000101111001001010000
+00100000001000010111001001010011
+11101000110010001000000000000000
+11100000101010001000000000000000
+00011111111000001111111000000001
+11000010000000000111001001001000
+00100000011000000000000000000000
+11011000010000000000000010000000
+11100000101010001000000000000000
+00100000001000000111001001001101
+11011000010000000000000000000000
+00100000001000000111001001010001
+00100000010000000111001001101000
+11011000110000000000010110010010
+11011000101000000000010110000010
+00100000001000000111111010111111
+01111000010101000111110000000000
+00100000010000000111001101011111
+11011000110000000000010101100010
+11011000101000000000010110100010
+00011000000000000111001000001111
+00100000010000000111111100000001
+11101000110000001000000000000000
+00011111111000101111111000000110
+11100000101000001000000000000000
+01011000000000000000010110110010
+01100000000000010000010111010110
+01011000000000000000010110100010
+01100000000000010000010111010100
+01111001001000000000000000010010
+00100000001000000111001010101000
+01101000000010001100011010001001
+00011000000000000010010000010000
+00011000010000001010011000000110
+00011010011001100111110000010000
+00100000001000010111001001101110
+00011000000000000010011000010000
+11011000101000000000010110100010
+11011000110000000100011010001010
+00011000010000100111001000000000
+01111000010101000111110000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00011010010000001010010111111111
+00100000001000101111001001111100
+11000010000000000111001001110010
+00100000001101000111001001101111
+01111000001101000111110000000000
+00011000000000000111001000000110
+00011010001000100000110000000000
+00100000001000000111001001110010
+11011000110000000000010101100010
+11011000101000000000010110110010
+00100000010000000111111010111111
+01101000000000001000010111000001
+10011010011000101111111000000000
+01100000000000001000010111000001
+01011000000000000000010110110010
+01100000000000010000010111010110
+01011000000000000000010110100010
+01100000000000010000010111010100
+01111001001000000000000000010010
+00100000001000000111001010101000
+01111000010101000111110000000000
+00100000010000000111001101011111
+00100000001000000111001010010010
+11011010001000000000000001010110
+01111000001101000111110000000000
+00100000010000000111001101011111
+00100000010000000111001010010010
+11011000110000000000010110010010
+11011000101000000000000001100010
+00100000001000000111111010111111
+01011000000000000000010101100010
+01100000000000010000010111010110
+01011000000000000100000110111110
+01100000000000010000010111010100
+01111001001111111000000000010010
+00100000010000000111001010101000
+11011010001000000000010110010010
+11011010010000000000010101100010
+11011000101000000000010110100010
+00100000010000000111001101010010
+11011010001000000000010110100010
+11011010010000000000010110110010
+00011010010000100000101000000000
+01111000001101000111110000000000
+00100000010000000111001101010000
+00100000010000000111001101101010
+01011000000000000000010110110010
+01100000000000010000010111010110
+01011000000000000000010110100010
+01100000000000010000010111010100
+01111001001000000000000000010010
+00100000001000000111001010101000
+01110000000001011101100000000000
+01101000000000010000010111010100
+10011000000000000000110000000000
+11011000101000000000010111000010
+00100000010000000111111010111111
+01101000000000010000010111010110
+10011000000000000000110000000000
+11011000101000000000010110010010
+00100000010000000111111010111111
+00100000010000000111001011001111
+01111000010101000111110000000000
+11000101100010010111001010111001
+01101000000000001000010111011000
+11000000100000100111001010111001
+01101000000000010000010111010110
+10011000000000000010010000000000
+00100000010000000111001100000001
+00100000010000000111001100000000
+00100000010000000111001100010011
+01101000000000001000010111011000
+00011111111000001111111000000001
+01100000000000001000010111011000
+00100000010000000111001011001111
+01111000001101000111110000000000
+00100000010000000111001100000000
+00100000010000000111001100100010
+00100000010000000111001100110001
+00100000010000000111001100100010
+00100000010000000111001100110001
+00100000010000000111001100100010
+00100000010000000111001100110001
+00100000010000000111001100100010
+01101000000000001000010111011000
+00011111111000001111111000000001
+01100000000000001000010111011000
+11000000100010000111001010110001
+00100000010000000111001011001111
+01111000010101000111110000000000
+00100000001000000111001100000000
+01101000000000001000010111011000
+11011000110000000000010111000010
+00100000001110100111001011110110
+10011000000000000010010000000000
+00011000000000000111001000010001
+00011000110000100000101000000000
+11101000110000001000000000000000
+00011111111010011000010000000000
+00011111111010110111111000000000
+00011111111010010111111000000000
+10011000010000011111111000000000
+11100000101000001000000000000000
+11000010000000000111001011010101
+01011000000000000000010111000010
+10011010010000001000110000000000
+00011000000000000111001000010000
+11011000101000000000010101110010
+11101000110000001000000000000000
+11100000101000001000000000000000
+00101000110000011111111111010011
+00100100001000001111001011100101
+00011000110000001000110111101111
+11000010000000000111001011100000
+00011000000000000010001000000000
+00011010010000001010011111111111
+00011010011010111010011000000000
+00011010011010111010011000000000
+00100000010000000111010010111001
+01011000000000001000010000000000
+10011010011000001010011000000000
+11011000101000000000010101110010
+00011000000000000111001000010000
+11101010011010001000000000000000
+11101000101000001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010011000001010011000000001
+11000010000000000111001011101111
+00100000001000000111010010111101
+00011000000000000111001000010000
+00011000000000000000010000000000
+11101000110000001000000000000000
+10011000010000101000010000000000
+11000010000000000111001011111000
+00011000010000100111111000000000
+11100000110000001000000000000000
+11011000110000000000010111000010
+11011000101000000000010101110010
+00100000001000000111111010111111
+11011010010000000000010101110010
+00011000000000000111001000010000
+11011010001000000000010110010010
+00011010001000100000101000000000
+11101010001010001000000000000000
+11101010010000001000000000000000
+10011000010000101110000000000000
+00011111001000010010011000000011
+00100100001101000111001100001010
+00011010011000101010011000000011
+00011010011001100010011000000001
+00100000001000010111001100001101
+10011000010000001110000000000000
+00011110000000100111111000000000
+11100000101000001000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111001100000100
+00100000011000000000000000000000
+00100000010000000111010010111001
+00011000000000000111001000010000
+11011010001000000000010110010010
+11101010001000001000000000000000
+11011000110000001000010100000000
+00011111001000010010011000000011
+00011010011001100111110000000001
+00100000001000010111001100011100
+11011000110000001000011000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+11100010001000001000000000000000
+00011010001000001010001000000001
+11000010000000000111001100010110
+00100000001000000111010010111101
+00011000000000000111001000001000
+11011000110000000000010110010010
+00011000110000100000101000000000
+11101000110000001000000000000000
+10011000000000000010001000000000
+11101000110000001000000000000000
+10011000000000000010010000000000
+00011010001000111111111000000000
+10011010010000001111111000000000
+11100000101000001000000000000000
+00011010001000100111111000000000
+10011010010000001111111000000000
+11100000101000001000000000000000
+11000010000000000111001100100101
+00100000011000000000000000000000
+01011000100010101110010000101100
+10011000000000000000010000000000
+00011000000000000111001000000111
+00100000010000000111001101000000
+01011000000011010111010100011011
+10011000000000000000010000000000
+00011000000000000111001000000101
+00100000010000000111001101000000
+01101000000000001000010110100001
+10011000000000000010001000000000
+01101000000000001000010110010101
+01100000000000001000010110100001
+00011010001000100111111000000000
+01100000000000001000010110010101
+00100000011000000000000000000000
+00011000010000010010010000001111
+00011000010000010111111000001111
+11011000101000000000010110010010
+10011000101000001000101000000000
+11101000101000001000000000000000
+10011000000000000010011000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00011010011000100010001000000000
+00011000010100011000010000000000
+11000010000000000111001101000001
+01011000000000000000010110010010
+10011010010000001000101000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000111001101010011
+01111000010101000111110000000000
+00011000000000000111001000010000
+11101010001010001000000000000000
+11101010010000001000000000000000
+00100000001101000111001101011001
+10011000010000101111111000000000
+00100000001000000111001101011010
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111001101010100
+00100000011000000000000000000000
+11011000101000000000010110110010
+11101010001000110000000000000000
+11100000101000110000000000000000
+00100000001101000111001101100101
+11101010001000110000000000000000
+00100000001000000111001101100110
+11101000110000110000000000000000
+11100000101000110000000000000000
+11101010001000100000000000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+11011000110000000100000110111110
+11011000101000000000010110100010
+11011000010000000000000000000000
+01011000100000111001010110100111
+00100000010000000111001110001011
+01011000101100111100000111011111
+00100000010000000111001110001011
+01011000000000001110010111101001
+00100000010000000111001110001100
+00011000010000100010100000000000
+01111000010101000111110000000000
+00100000010000000111001101111001
+00011010100000100000010000000000
+01111000001101000111110000000000
+00100000001000000111001101111001
+00011000000000000111001000001000
+11101000110000001000000000000000
+00101111001000000000001000000001
+00100000001101000111001110000000
+00100000001000001111001110000001
+10011000010000001111111000000000
+00100000001000000111001110000010
+00100000001000001111001101111110
+10011000010000101111111000000000
+11100000101000001000000000000000
+00011000010011001000010000000000
+11000010000000000111001101111010
+00100000011000000000000000000000
+01101000000000110000010110010110
+01100000000000110000000001010110
+11101000110000110000000000000000
+11100000101000110000000000000000
+00100000011000000000000000000000
+00011000010011010000010000000000
+00011000010100000000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000001000000111001110001111
+01000111011100000100000000111100
+00100000010000000111010000101011
+11011000101000000100010000011001
+00100000001000000111010010010111
+11011000101000000100010000111010
+00100000001101001111001110010111
+11011000101000000000010000101111
+00011000110000100010001000000000
+00100000010000000111111010111111
+00100000010000000111010001000000
+11011000110000000100010000101010
+00100000001000000111010010110000
+11011010001000000000010000101111
+00100000001101001111001110011111
+11011010001000000100010000111010
+00011010001000100000101000000000
+00100000010000000110001100001100
+00100000001000000111010001000000
+11011000110000000100010010101010
+00100000010000000111010010000110
+11011000110000000100010000011001
+00100000010000000111010010000111
+00011000000000000110110000111000
+00011000000000000110110000000000
+00100000010000000111010000011101
+11011000101000000000010001111100
+00100000001000000111010010010111
+00011000000000000111111001001001
+00100000001000000111001110101110
+00011000000000000111111000000001
+00011000000000000111000000000000
+00011000010011010101111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00011000010011001101111000000000
+00011101111100010101111000000000
+01101000000000010100010000010001
+00011111111100000111111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101000110000010000000000000000
+00011010001100001101111000000000
+00011101111100000101111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00100000011000000000000000000000
+00011010011000001000110000000001
+11101000110000001000000000000000
+10011000000000000010001000000000
+00100000010000000111001110101011
+00100000010000000111010000011111
+00011000000000000111000000000000
+11101010011000001000000000000000
+00011111111000010111111000000011
+00011111111100000101111000000000
+01111001001000000101111000001000
+00100000010000000111010010001111
+00100000010000000111010000100010
+00011010001000100111001000000000
+00011010011000001000110000000010
+00100000010000000111010001101110
+00100000010000000111010001111000
+00100000010000000111010000100010
+00011111001000100111111000000000
+00100000001110100111001111010101
+00100000001000000111001111010000
+00011000000000000111000000001100
+00011101111000100111111000000000
+01100000000000100000010000010111
+00100000011000000000000000000000
+00011010001000001010001000000001
+00100000010000000111001110101101
+00011010011000100000110000000000
+00100000010000000111010010000010
+00100000010000000111010000100101
+00100000010000000111010010011110
+00011010011000001010011000010000
+00011010010000001010010111110000
+00100000001000010111001111011001
+00100000011000000000000000000000
+01000111011100001100000000111100
+11011010011000000100001111011100
+01101000000010101100010000000011
+00100000010000000111001111000001
+00011000000000000111000000001000
+10011000000000000101111000000000
+00011000000000000010001000000000
+00100000010000000111001110101101
+00100000010000000111010000100101
+11011010011000000100001111011110
+01101000000000001100001111011101
+00011111111000001010010111111111
+10011010011000001000101000000000
+00011000000000000111000000001100
+00011101111000100111111000000000
+11100000101000100000000000000000
+00100000010000000111001111011001
+01101000000000001100001111011101
+00011111111000001111111000000100
+01100000000000001100001111011101
+01101000000010101100010000000011
+00011000010000001000010000000001
+01100000000010101100010000000011
+00100000011000000000000000000000
+01000111011100010100000000111100
+01101000000000001000001011011010
+00011111111001100111110000010100
+00100000001000010111001111111111
+11011010011000000000001011011011
+00011111111000001010010111111111
+00011111111000001111111111111100
+01100000000000001000001011011010
+10011010011000001000110000000000
+11101000110000100000000000000000
+00011000000000000111000000001000
+10011000000000000101111000000000
+00011000000000000010001000000000
+01101000000010101100010000001000
+00100000010000000111001110101101
+00100000010000000111010000100101
+00011000000000000111000000001100
+00011101111000100111111000000000
+01100000000000100000010000011011
+00100000010000000111001111011001
+11011010011000000000001011011001
+00100000010000000111001111000001
+01101000000010100000010000011011
+10011000010001100111111000000000
+00100100011110100000000000000000
+01101000000000100100010000001101
+10011000010001100111111000000000
+00100000011110100000000000000000
+01100000000010100100010000001101
+01101000000000101100010000001000
+00011111111000001111111000000001
+01100000000000101100010000001000
+00011000000000000111111000000000
+00100000011000000000000000000000
+00100100001110111111010000011101
+00100000011000000000000000000000
+00011000000000000110110000110000
+00011000000000000110110000000000
+00100000001000000111010000011101
+00011000000000000110110000110010
+00011000000000000110110000000010
+00100000001000000111010000011101
+00011000000000000110110000110100
+00011000000000000110110000000100
+00100000001000000111010000011101
+00011000000000000110110000000001
+00011000000000000110110000000000
+00100000011000000000000000000000
+00011000000000000111000000000000
+01101000000000100000010000101111
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+01101000000000100100010000111010
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+00100000010000000111010010010010
+00011111000000001111000111111100
+01101000000000100100010011000111
+00011111111000100101111000000000
+00011111000000001111000000000100
+00011000000000000110110000111000
+00011000000000000110110000001000
+00100000001000000111010000011101
+01000111011100011100000000111100
+01101000000000110100010010100000
+01101000000010110000010001001111
+00100000001101001111010001000110
+01101000000000110000010001001111
+01101000000010110100010010100000
+00011000000000000111000000001000
+00011000010000100101111000000000
+00011111000000001111000000000001
+00011000010011110101111000000000
+00011111111100000111111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00011111111011110101111000000000
+00011111000000001111000000000001
+00011000000000000101111000000000
+00011000000000000111111000000000
+01101000000000001100010010001110
+01101000000010001100010010000101
+00100100001101001111010001010110
+01101000000000001100010010010101
+01101000000010001100010010001110
+01100000000000001100010001001010
+01100000000010001100010001001011
+00011000000000000111000000000000
+11011010010000000100010001001010
+00011000000000000111001000000100
+11101010001000100000000000000000
+11101010010010100000000000000000
+10011000010000101101111000000000
+00011111000000001111000000000001
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111010001011011
+00100000010000000111010010010010
+00011111000000001111000111111100
+01101000000000100100010011000111
+00011111111000100101111000000000
+00011111000000001111000000000100
+00011000000000000110110000111000
+00011000000000000110110000001100
+00100000010000000111010000011101
+00100000010000000111010010010001
+00011000000000000110110000111010
+00011000000000000110110000001000
+00100000001000000111010000011101
+00101111001000000000011000000000
+00100000011000001000000000000000
+00011000110000100111111000000000
+10011111001000001000101000000000
+00011000000000000111111000000000
+11100000101000001000000000000000
+00011111001000001111001000000001
+00101111001000000000011000000000
+00100000011000001000000000000000
+00100000001000000111010001110011
+00011000000000000111000000000000
+00011111001000100111111000000000
+00100000001110100111010001111101
+11101000110000100000000000000000
+00011111001000001111001111111100
+10011000000000000101111000000000
+00011111000000001111000000000001
+00101111000000000001111000000100
+00100000011000001000000000000000
+00100000001000000111010001111001
+00011000000000000111000000001000
+00100000001000000111010010000111
+00011000000000000111000000000100
+00100000001000000111010010000111
+00011000000000000111000000000000
+00011000000000000111001000000100
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111010010001000
+00100000011000000000000000000000
+11011000110000000000010001111100
+00100000001000000111010010000100
+00011000000000000111001000000100
+00100000001000000111010010010100
+00011000000000000111000000000000
+00011000000000000111001000000100
+00011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111010010010011
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011000000000000111001000000100
+00011101111000100111111000000000
+11100000101000100000000000000000
+00011111000000001111000000000001
+11000010000000000111010010011001
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011010011000100000101000000000
+00011010010000001111001000000001
+00011111001001100111110000001111
+00100000001000010111010010100100
+00011000000000000111001000010000
+00011101111000100111111000000000
+00011111001001100111110000000011
+00100000001000010111010010101100
+11100000101000100000000000000000
+00011111001000001111001111111100
+00100000011000101000000000000000
+00011111000000001111000000000001
+00100000001000000111010010100100
+11100000101000001000000000000000
+00011111111011001111111000000000
+11000010000000000111010010101100
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011000000000000111001000000100
+11101000110000100000000000000000
+10011101111001100111110000000000
+00100100011000101000000000000000
+00011111000000001111000000000001
+11000010000000000111010010110010
+00011000000000000111110000000000
+00100000011000000000000000000000
+01101000000100001000000001010000
+01111001001111111111111000000000
+01100000000100001000000001010000
+00100000011000000000000000000000
+01101000000100001000000001010000
+01111001001000000111111000000000
+01100000000100001000000001010000
+00100000011000000000000000000000
+11011000101000000000100010000110
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111101111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111100111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111101111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001100110110001111111
+00111000000010000001010001101011
+00111000000011110111101110110011
+11100000101001001000000000000000
+00111000000000011111111010111000
+00111000000001010000110000010010
+00111000000010101011011100100010
+00111000000011101001111110100110
+11100000101001001000000000000000
+00111000000000001110011100001111
+00111000000001010110011100100000
+00111000000010000101000110011110
+00111000000011011001000010000100
+11100000101001001000000000000000
+00111000000000110001000000010010
+00111000000001110110000010111111
+00111000000010111111000010101111
+00111000000011000000001111010011
+11100000101001001000000000000000
+00111000000000111010000110001000
+00111000000001000011101011010000
+00111000000010111100101111110010
+00111000000011100100001111011001
+11100000101001001000000000000000
+00111000000000101011000000110000
+00111000000001110110101000000011
+00111000000010010001000110001000
+00111000000011011110010100100000
+11100000101001001000000000000000
+00111000000000111010000100011110
+00111000000001001111111001011101
+00111000000010001101110101010111
+00111000000011011010110010010011
+11100000101001001000000000000000
+00111000000000000001000111101101
+00111000000001100001100011000100
+00111000000010001000110110100111
+00111000000011100101011111111111
+11100000101001001000000000000000
+00111000000000110001100100101011
+00111000000001110100011001000001
+00111000000010011011111000001100
+00111000000011110110011010101101
+11100000101001001000000000000000
+00111000000000000001111110000011
+00111000000001010101101000100011
+00111000000010111111100110110000
+00111000000011000011100101001001
+11100000101001001000000000000000
+00111000000000010011101001010001
+00111000000001010101001111111101
+00111000000010110011011100101010
+00111000000011001111000110111011
+11100000101001001000000000000000
+00111000000000111010111010000101
+00111000000001011110111011011001
+00111000000010001001111001100110
+00111000000011000000000110101000
+11100000101001000000000000000000
+00100000011000000000000000000000
+11011000101000000000100100011110
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001000000000000111111
+00111000000010000000000000000000
+00111000000011000000000000000000
+11100000101001001000000000000000
+00111000000000000000000000000000
+00111000000001000000000000000000
+00111000000010000001000000000000
+00111000000011000000000000000000
+11100000101001001000000000000000
+00111000000000111111111100000000
+00111000000001111111111111111111
+00111000000010111111111111001111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011000000001111111111
+11100000101001001000000000000000
+00111000000000000000000000000000
+00111000000001000000000000000000
+00111000000010000000000000000000
+00111000000011000000000000000000
+11100000101001001000000000000000
+00111000000000010000000000000000
+00111000000001000000000000000000
+00111000000010111111000000000000
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000101001011011111111
+00111000000001100010011000110000
+00111000000010111001010001011101
+00111000000011111101001010000100
+11100000101001001000000000000000
+00111000000000110011001110100000
+00111000000001000100101101111010
+00111000000010000011011111011000
+00111000000011111100100111011100
+11100000101001001000000000000000
+00111000000000111010010001000000
+00111000000001011011100101011000
+00111000000010111000101111001110
+00111000000011010000100100011111
+11100000101001001000000000000000
+00111000000000101110000100101100
+00111000000001011111010001111100
+00111000000010110101011010110001
+00111000000011101111110101000111
+11100000101001001000000000000000
+00111000000000000110100000110111
+00111000000001101110110110010000
+00111000000010011110110011101100
+00111000000011011010110011000101
+11100000101001001000000000000000
+00111000000000100011001101010111
+00111000000001011000101011110011
+00111000000010001111100111100001
+00111000000011010010100111110000
+11100000101001001000000000000000
+00111000000000101110011111101011
+00111000000001111110011011100011
+00111000000010111110000110100111
+00111000000011010000101110001011
+11100000101001001000000000000000
+00111000000000100100111111100011
+00111000000001000010000011101111
+00111000000010011011010110100110
+00111000000011001101110000101111
+11100000101001001000000000000000
+00111000000000010011100001100000
+00111000000001101011110101101001
+00111000000010000011100100011010
+00111000000011011011001000100010
+11100000101001001000000000000000
+00100000011000000000000000000000
+01101000000000001100011001011010
+00100100001110100111010101111101
+00100000001000000111101001110111
+01000111011100100100000000111100
+01101000000000001100011001011010
+00100000011110100000000000000000
+01101000000000001100010110110001
+11000001100000001000000000000000
+01101000000000001100010010111110
+00100000011110100000000000000000
+01101000000000001100010011000011
+11000001000000011000000000000000
+01101000000000010100011010000010
+11000010100000000111010101111011
+01101000000000001100010011000000
+11000000000000000111101001110111
+00100000011000000000000000000000
+01110000010001001100000000000000
+00100000011000000000000000000000
+01000111011100101100000000111100
+01101000000000001100011001011010
+00100000001110100110000100101011
+00100000010000000110000100100100
+00100000010000000111010110000011
+00100000001000000111011001101101
+01011000000000000000000000000000
+01100000000001000000100110101110
+01100000000000100000100110110110
+01100000000000111100011001011110
+00100000011000000000000000000000
+01110000000010011011000000000001
+00100000001000000111010110001101
+01101000000000001100010110110001
+11000000000000001111011010001010
+00100000001000000010101010001100
+01101000000000001100010110110001
+11000000000000001111010110010000
+00100000001000000111011001101101
+00100000010000000111011010001010
+01101000000000001000100110101111
+00100100011110100000000000000000
+01110000000010011010111000000011
+00100000011000000000000000000000
+00100000010000000111010110110000
+11011010001000000000100111011110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000100110111110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011010001000000000100000100110
+11011010010000000000100110111110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000100100111110
+11011010010000000000100110111110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000010000000111110001111101
+11011111001000000000000000100000
+11011010001000000000100001100110
+11011010010000000000100000000110
+00100000001000000111111110001000
+11011010001000000000100101111110
+11011000101000000000100000000110
+00100000010000000111110001111001
+11011010001000000000100101011110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011010001000000000100000100110
+11011010010000000000100101011110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000100100111110
+11011010010000000000100101011110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000001000000111110010010110
+00100000010000000111010111100001
+11011010001000000000100111100110
+11011000101000000000100001100110
+00100000010000000111011110101000
+11011010001000000000100111000110
+11011000101000000000100000100110
+00100000010000000111011110101000
+11011010001000000000100000100110
+11011010010000000000100111000110
+11011000101000000000100000100110
+00100000010000000111011110000110
+11011010001000000000100010011110
+11011010010000000000100111000110
+11011000101000000000100001000110
+00100000010000000111011110000110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111011101010101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000010000000111011101010101
+11011111001000000000000000011000
+11011010001000000000100001100110
+11011010010000000000100000000110
+00100000001000000111111110001000
+11011010001000000000100011100110
+11011000101000000000100000000110
+00100000010000000111011110101000
+11011010001000000000100011001110
+11011000101000000000100000100110
+00100000010000000111011110101000
+11011010001000000000100000100110
+11011010010000000000100011001110
+11011000101000000000100000100110
+00100000010000000111011110000110
+11011010001000000000100010011110
+11011010010000000000100011001110
+11011000101000000000100001000110
+00100000010000000111011110000110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111011101010101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000001000000111011101011000
+01101000000000001000100110110010
+11000000100000000111011000010101
+00100000010000000111011000010010
+11011000101000000000101001111110
+01011000000000000000101000101110
+11100000101000010000000000000000
+01011000000000000100011001000010
+11100000101000010000000000000000
+01011000000000000000100111011110
+11100000101000010000000000000000
+00100000001000000111011000001001
+11011000101000000000101001111110
+01011000000000000000101000111110
+11100000101000010000000000000000
+01011000000000000000100111011110
+11100000101000010000000000000000
+01011000000000000100011001000010
+11100000101000010000000000000000
+00100000010000000111100110100000
+01101000000000001000100110101111
+11000000000000100111011000001111
+01110000000010011011000000000001
+01110000000010011010111000000101
+00100000011000000000000000000000
+01110000000010011010111100010100
+00100000010000000111010110001010
+00100000001000000111011011011000
+11011000101000000000101000011110
+00011000000000000000111000001000
+00100000001000000111011010100010
+01110000000010011011000000000001
+00100000011000000000000000000000
+01000111011100110100000000111100
+11011000101000000000011100100111
+01101000000000110100000010100000
+11100000101000110000000000000000
+01101000000000110000000001000000
+11100000101000110000000000000000
+01101000000000011100011001011110
+11100000101000011000000000000000
+00100000010000000111101000001101
+11011010001000000000101001001110
+11011010010000000000101001011110
+00011000000000000000111000000100
+00100000010000000111011010100111
+00100100001000001111011000110001
+00100000010000000111011000101000
+01110000000000000111110101000001
+00100000001000000110001011111000
+01101000000000001000100110101111
+11000000000001001111011000101110
+01110000000010011010111000001010
+01110000000010011011000000000001
+01110000000000000111110000000011
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000010011010111100010101
+00100000001000000111011011011000
+01101000000000001000100110101111
+11000000000001001111011000110111
+01110000000010011010111000000000
+01110000000000000111110000000100
+01110000000000000111111000000101
+00100000011000000000000000000000
+01110000000000000111110000000100
+01110000000010011010111100000000
+00100000011000000000000000000000
+01101000000000001000100110110011
+11000000000000001111011000111110
+01110000000010011010111100001010
+00100000001000000111011011011000
+11011000101000000000011100100111
+01101000000000110000000001000000
+11100000101000110000000000000000
+01101000000000110100000010100000
+11100000101000110000000000000000
+01101000000000011100011001011011
+11100000101000011000000000000000
+00100000010000000111101000100100
+01101000000000001000100110101111
+11000000000001010111011001001011
+01110000000010011010111000001011
+01110000000010011011000000000001
+00100000011000000000000000000000
+01110000000010011010111100001011
+01110000000010011011000100000001
+00100000011000000000000000000000
+11011000101000000000101001111110
+01101000000000110000000001000000
+11100000101000110000000000000000
+01101000000000110100000010100000
+11100000101000110000000000000000
+01011000000000000000101000101110
+11100000101000010000000000000000
+01011000000000000000101000111110
+11100000101000010000000000000000
+00100000001000000111011001100010
+01110000000010011010111000001111
+11011000101000000000101001111110
+01101000000000110100000010100000
+11100000101000110000000000000000
+01101000000000110000000001000000
+11100000101000110000000000000000
+01011000000000000000101000111110
+11100000101000010000000000000000
+01011000000000000000101000101110
+11100000101000010000000000000000
+11011000101000000000011100100111
+01101000000000110000101001111110
+11100000101000110000000000000000
+01101000000000110000101010000100
+11100000101000110000000000000000
+00100000010000000111100111010111
+01110000010000011011110100000001
+11011000101000000100000110111110
+11011000110000000000101001001110
+00100000010000000111111010111111
+00100000001000000010000111000100
+01000111011100111100000000111100
+01101000000000001100010110110001
+11000001100000000000000000000000
+01101000000000001000100110110010
+11000001100000000000000000000000
+11011000101000000100011000010010
+00011000000000000000111000001011
+00100000010000000111011010100010
+00011000000010100111111000000000
+00011111111000110111111000000000
+11100000101000010000000000000000
+11011000101000000000011010111110
+11011000110000000100011000010010
+00100000010000000111111010111110
+11011000101000000000010111100110
+11011000110000000000100011001110
+00100000010000000111111010111100
+11011000101000000000011000010110
+00100000010000000111111011000101
+01110000000001100001011000000001
+00100000010000000111101001011101
+01110000000010011011001000000001
+00100000011000000000000000000000
+11011000101000000100011000101010
+11011000110000000000011000101110
+00100000010000000111111010111100
+01110000010001011011000100000001
+01110000000010011011001000000000
+00100000011000000000000000000000
+01000111011101000100000000111101
+01101000000000001000100110111001
+11000001100000000000000000000000
+01101000000000001000100110110010
+11000001100000000000000000000000
+11011000101000000000011010111110
+11011000110000000100011000010010
+00100000010000000111111010111110
+11011000101000000000010111100110
+11011000110000000000100111000110
+00100000010000000111111010111100
+11011000101000000000011000010110
+00100000010000000111111011000101
+01110000000001100001011000000001
+00100000010000000111101001011101
+01110000000010011011001000000010
+00100000011000000000000000000000
+01110000000010011011001100000001
+11011000101000000000101000000110
+11011000110000000000011000101110
+00100000010000000111111010111110
+01110000000010011011100100000001
+01110000000010011011001000000000
+00100000011000000000000000000000
+00011000111000001000111111111111
+00100100011000010000000000000000
+00011000000010100111111000000000
+11100000101000010000000000000000
+00100000001000000111011010100010
+00011000111000001000111111111111
+00100100001000010111011010110011
+11101010001000100000000000000000
+00011111111000100000010000000000
+11101010010000100000000000000000
+10011000010000101111111000000000
+00100100001000101111011010110001
+00011010001000001010001000000100
+00011010010000001010010000000100
+00100000001000000111011010100111
+01111000010000001111110000000000
+00100000011000000000000000000000
+01111000001000001111110000000000
+00100000011000000000000000000000
+01000111011101001100000000111101
+01101000000000001000100110110000
+00100000011110100000000000000000
+00100000010000000110001010111100
+00100100011110100000000000000000
+01110000000010011011000000000000
+01101000000000001000100110101110
+11000000000000011110000111111101
+11000000000000101110001000011010
+11000000000000111110001000100101
+11000000000001011110001000111010
+11000000000000010111010110001000
+11000000000000100111010111110111
+11000000000001001111011000010111
+11000000000001010111011000111010
+11000000000001100111011001011000
+00100000011000000000000000000000
+01000111011101010100000000111101
+01101000000000001000100110110001
+00100000011110100000000000000000
+00100000010000000110001010111100
+00100100011110100000000000000000
+01110000000010011011000100000000
+01101000000000001000100110101111
+11000000000010010110000111100000
+11000000000010011110000111100101
+11000000000000011110000111101001
+11000000000000100111011000000010
+11000000000010100110000111101101
+11000000000000111110000111111011
+11000000000001010111011000111010
+11000000000001011110001000111001
+11000000000001001111011000010111
+11000000000010101110001000110011
+00100000011000000000000000000000
+01110000000010011011000100000001
+00100000011000000000000000000000
+01110000000010011011000100000000
+00100000011000000000000000000000
+01000111011101011100000000111101
+01101000000000001100011001011010
+00100000011110100000000000000000
+01101000000000001000100110110010
+00100000011110100000000000000000
+00011111111000001111111010000000
+01100000000000001000100110110010
+11000011100000111000000000000000
+01101000000000001000010111100011
+00100000001110100111011011100111
+00100000001000000111101001101000
+00100000010000000111100011010011
+01101000000000001000100110110010
+11000000000000001111011010000100
+11000000000000010111011010011011
+00100000011000000000000000000000
+00011111111000010000111000000111
+00011111111010010111111000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+10101111111011000000000000000000
+00100000011000000000000000000000
+00100000010000000111111010111110
+00100000010000000111111010111110
+00100000001000000111111010111110
+11101000110001000000000000000000
+00100100011110100000000000000000
+11101000110001000000000000000000
+00100100011110100000000000000000
+11101000110001000000000000000000
+00100000011000000000000000000000
+11101010001000100000000000000000
+10011000000000000000010000000000
+11101010010000100000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111011011111011
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011010001000001010001000010100
+00011010010000001010010000010100
+11101010010000100000000000000000
+10011000000000000000010000000000
+11101010001000100000000000000000
+10011000010001100111111000000000
+00100100011000010000000000000000
+00100100011110100000000000000000
+00011010001000001010001111111100
+00011010010000001010010111111100
+11000010000000000111011100000111
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101010001000100000000000000000
+10011000000000000000010000000000
+11101010010000100000000000000000
+10011000010000001111111000000000
+10011010011000001111111000000000
+11100000101000100000000000000000
+00101111111011111111111000100000
+01111001001000001010011000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111011100010011
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101010010000100000000000000000
+10011000000000000000010000000000
+11101010001000100000000000000000
+10011000010001100111111000000000
+10011010011001100111111000000000
+11100000101000100000000000000000
+00101111111011111111111000100000
+01111001001000001010011000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111011100100001
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011010001000001010001000010100
+00011000000000000010011000000000
+11101010001000100000000000000000
+00101111111011111111111000000000
+01111001001000001010011000000001
+00011111111000110111111000000000
+00101010011011111111111000000000
+01111001001000001111111000011111
+11100010001000100000000000000000
+00011010001000001010001111111100
+00011010011000110010011000000000
+11000010000000000111011100110000
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101010001000100000000000000000
+00101111111011111111111000011111
+01111001001000001010011000000001
+00011111111000111111111000000000
+00101010011011111111111000000000
+01111001001000001111111000000000
+11100010001000100000000000000000
+00011010001000001010001000000100
+00011010011000110010011000000000
+11000010000000000111011100111101
+00100000011000000000000000000000
+00100000010000000111011100111011
+00101010011011111111111000000000
+00100000001000001111011101010001
+11011010010000000000100010000110
+00011010001000100010011000000000
+00011010001000001010001111101000
+00100000010000000111011100000100
+00100100011000010000000000000000
+00011010011000100010001000000000
+00011010001000001010001111101000
+11011010010000000000100010000110
+00011010001000100000101000000000
+00100000001000000111011100011111
+00100000010000000111011100010001
+00011000101000100010001000000000
+00100000001000000111011101001001
+00100000010000000111011100011111
+00101010011011000000000000000000
+00100000011000001000000000000000
+11011010010000000000100010000110
+00011000101000001010001111101000
+00011010001000100000101000000000
+00100000001000000111011100010001
+00011000101000100001011000000000
+00011010001000100110000000000000
+11011010010000000000011100010110
+00011010010000100000101000000000
+00011010001000001000110000011000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+00011001011000100000101000000000
+00100000010000000111011101010101
+11011010010000000000011100010110
+00011010010000100000101000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+00011110000000001000110000100000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111011101010101
+11011010010000000000011100010110
+00011010010000100000101000000000
+00011110000000001000110000101000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000001000000111011101010101
+00011000000000000111001000000110
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111011110000001
+00100000011000000000000000000000
+00011000101000100001011000000000
+11011000101000000000011011100110
+00100000010000000111111011000101
+11011000101000000000011011100110
+00011010001000100000110000000000
+00011000000000000111000000000000
+00100000010000000111011110000000
+00011010010000100000110000000000
+00100000010000000111011110000000
+00011000000000000010010000000000
+00011000000000000000010000000000
+00011000000000000010011000000110
+11101000101000100000000000000000
+10011000000000000010001000000000
+00011010010000100111000000000000
+00011101111000100111111000000000
+00011010011000100111000000000000
+10011101111011111111111000000000
+10011010001000001111111000000000
+10011000010000001111111000000000
+11100000101000100000000000000000
+00011111111011110000010000000000
+00011010011000001010011000000001
+00101010011000011111111000001100
+00100100001000001111011110010010
+00011000010000100111111000000000
+11100000101000100000000000000000
+00011000101000001000101111101000
+00011010010000001010010000000001
+00101010010000011111111000000110
+00100100001000001111011110010000
+11011010001000000000011011100110
+00011001011000100000101000000000
+00100000001000000111011101011111
+00011010001000100010010000000000
+00100000001000000111011110000110
+00011010001000100110000000000000
+00011110000000100010001000000000
+11101010001000001000000000000000
+00101111111011111111111000000000
+00100000011000001000000000000000
+00100000010000000111011100101101
+11101010010000001000000000000000
+00101111111011000000000000000000
+00100000001000001111011110111010
+11011010001000000000100010000110
+00011010010000100000101000000000
+00100000010000000111011100010001
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00011010010000001010010111101000
+00011010010000001010001000011000
+00011000000000000111001000000111
+00100000010000000111011100101111
+00100000001000000111011110101011
+00011000101000100001011000000000
+11011000101000000000011101000110
+00100000010000000111111011000101
+00011000000000000111111000000000
+01100000000000100000011011111110
+01100000000000100000011101011110
+01110000000001110100011000000001
+11011000101000000000011011100110
+00100000010000000111111011000101
+11011000110000000000100010000110
+11011000101000000000011100010110
+00100000010000000111111010111110
+00011010001000100000110000000000
+11011000101000000000011100101110
+00100000010000000111111010111110
+11011000110000000000011100101110
+00100000010000000111011011110101
+00100000001110100111011111110110
+11011010001000000000011100101110
+11011010010000000000011101000110
+00100000010000000111011110101010
+11011010001000000000011100010110
+11011010010000000000011011100110
+00100000010000000111011110101010
+11011010001000000000011100101110
+11011010010000000000011100010110
+00100000010000000111011100000100
+00100000001000010111011111101000
+11011010001000000000011100010110
+11011010010000000000011100101110
+00011010001000100000101000000000
+00100000010000000111011100011111
+11011010001000000000011101000110
+11011010010000000000011011100110
+00011010010000100000101000000000
+00100000010000000111011100010001
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111011111001101
+11011010001000000000011100101110
+11011010010000000000011100010110
+00011010001000100000101000000000
+00100000010000000111011100011111
+11011010001000000000011011100110
+11011010010000000000011101000110
+00011010010000100000101000000000
+00100000010000000111011100010001
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111011111001101
+11011000101000000000011101000110
+00100000010000000111111011000101
+01101000000000001000011011111110
+01100000000000001000011101000110
+01100000000000001000011101001110
+11011010001000000000011101000110
+11011010010000000000011011100110
+00011010010000100000101000000000
+00100000010000000111011101010101
+11011010001000000000100010000110
+11011010010000000000011011100110
+00011001011000100000101000000000
+00100000001000000111011101011000
+11011010001000000000011010100110
+11011000101000000000011101011110
+00100000010000000111011110101000
+11011010001000000000011101011110
+11011000101000000000011101110110
+00100000010000000111011110101000
+11011010001000000000100010011110
+11011010010000000000011101110110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011001110110
+11011000101000000000011101011110
+00100000010000000111011110101000
+11011000110000000000011101011110
+11011000101000000000011100101110
+00100000010000000111111010111110
+11011010001000000000011100101110
+00100000010000000111011101001000
+11011010001000000000011101011110
+11011010010000000000011100101110
+11011000101000000000011101011110
+00100000010000000111011101010101
+11011010001000000000011101011110
+11011010010000000000011101110110
+11011000101000000000011101011110
+00100000010000000111011101010101
+11011000110000000000011001110110
+11011000101000000000011100101110
+00100000010000000111111010111110
+11011010001000000000011010001110
+11011000101000000000011101110110
+00100000010000000111011110101000
+11011010001000000000011100101110
+00100000010000000111011101001000
+11011010001000000000011100101110
+00100000010000000111011101001000
+11011010001000000000011100101110
+11011010010000000000011101110110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011000101000000000011101000110
+00100000010000000111011110101000
+11011010001000000000011101000110
+00100000010000000111011101001000
+11011010001000000000011101000110
+00100000010000000111011101001000
+11011010001000000000011101000110
+00100000010000000111011101001000
+11011000110000000000011010001110
+11011000101000000000011101110110
+00100000010000000111111010111110
+11011010001000000000011101110110
+00100000010000000111011101001000
+11011010001000000000011101110110
+11011010010000000000011010100110
+11011000101000000000011010100110
+00100000010000000111011110000110
+11011010001000000000011101011110
+11011000101000000000011101110110
+00100000010000000111011110101000
+11011010001000000000011101110110
+11011010010000000000011100101110
+11011000101000000000011101110110
+00100000010000000111011101011000
+11011010001000000000011101110110
+11011010010000000000011100101110
+11011000101000000000011001110110
+00100000010000000111011101011000
+11011010001000000000011100101110
+11011010010000000000011001110110
+11011000101000000000011101110110
+00100000010000000111011101011000
+11011010001000000000011101110110
+11011010010000000000011101011110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011010010000000000011101000110
+11011000101000000000011010001110
+00100000001000000111011101011000
+11011010001000000000011000010110
+11011000101000000000011110001110
+00100000010000000111011110101000
+11011010001000000000011001110110
+11011010010000000000011110001110
+11011000101000000000011101000110
+00100000010000000111011110000110
+11011010001000000000011000010110
+11011010010000000000011110001110
+11011000101000000000011110001110
+00100000010000000111011110000110
+11011010001000000000011010001110
+11011010010000000000011110001110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011010100110
+11011000101000000000011110001110
+00100000010000000111011110101000
+11011010001000000000010111100110
+11011010010000000000011110001110
+11011000101000000000011101011110
+00100000010000000111011110000110
+11011010001000000000011010100110
+11011010010000000000011110001110
+11011000101000000000011110001110
+00100000010000000111011110000110
+11011010001000000000010111111110
+11011010010000000000011110001110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011101000110
+11011010010000000000011101011110
+11011000101000000000011110001110
+00100000010000000111011101011000
+11011010001000000000011101000110
+11011010010000000000011101011110
+11011000101000000000011101000110
+00100000010000000111011101010101
+11011010001000000000011100101110
+11011010010000000000011101110110
+11011000101000000000011101011110
+00100000010000000111011101011000
+11011010001000000000011100101110
+11011010010000000000011101110110
+11011000101000000000011100101110
+00100000010000000111011101010101
+11011010001000000000011100101110
+11011010010000000000011110001110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011010100110
+11011010010000000000011000010110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011010010000000000011110001110
+11011000101000000000011010100110
+00100000010000000111011110000110
+11011010001000000000011110001110
+11011000101000000000011110001110
+00100000010000000111011110101000
+11011010001000000000011110001110
+11011010010000000000011101000110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011110001110
+11011010010000000000011100101110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011101011110
+11011000101000000000011001110110
+00100000010000000111011110101000
+11011010001000000000011001110110
+11011010010000000000011101110110
+11011000101000000000011001110110
+00100000010000000111011101011000
+11011000110000000000011001110110
+11011000101000000000011110001110
+00100000010000000111111010111110
+11011010001000000000011110001110
+00100000010000000111011101001000
+11011010001000000000011101110110
+11011010010000000000011110001110
+11011000101000000000011101110110
+00100000010000000111011101011000
+11011010001000000000011101110110
+11011010010000000000011101011110
+11011000101000000000011101011110
+00100000010000000111011110000110
+11011010001000000000011101011110
+11011010010000000000011100101110
+11011000101000000000011010001110
+00100000010000000111011101011000
+11011010001000000000011010001110
+11011010010000000000100010000110
+11011000101000000000011010001110
+00011000000000000010011000000000
+01101000000000001000011010001110
+00101111111011111111111000000000
+00100000010000001111011100010001
+00011010011000100110000000000000
+11011010001000000000011010001110
+00100000010000000111011100101101
+01101000000000001000011010100101
+00101110000011111111111000000000
+01111001001000001111111000000111
+01100000000000001000011010100101
+00100000011000000000000000000000
+01101000000000001000010111100011
+00011111111000001111111111111111
+00100100011000010000000000000000
+01100000000000001000010111100011
+01101000000000001000010111100010
+00100000010110100111100000000011
+01101000000000001000010111100011
+11011000110000000000011010111110
+00100000010000000111011011101100
+00100000001000001111100011000000
+01101000000000001000010111100010
+00100100001110100111100011001110
+00100000010000000111100001010100
+00100000001000000111100011000000
+01110000000001011110001000000000
+11011000110000000000010111100110
+11011000101000000000011001110110
+00100000010000000111011011110010
+00100000001000000111100011000000
+11011010001000000000011010100110
+11011000101000000000011101110110
+00100000010000000111011110111110
+11011010001000000000011101110110
+11011000101000000000011100101110
+00100000010000000111011110101000
+11011010001000000000011001110110
+11011010010000000000011100101110
+11011000101000000000011000101110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011010010000000000011100101110
+11011000101000000000011101011110
+00100000010000000111011110000110
+11011010001000000000011010001110
+11011010010000000000011101011110
+11011000101000000000011001000110
+00100000001000000111011110000110
+11101000110000100000000000000000
+00011000000000000010001000000100
+00011000101000001000101000000011
+11100000101000001000000000000000
+00011111111011001111111000000000
+00011000101000001000101111111110
+00011010001000001010001111111111
+00100100001000101111100011101000
+00011000101000001000101000000101
+11000010000000000111100011100101
+00100000011000000000000000000000
+00011000111010111111111000000000
+10011001011000001000110000000000
+11101000110000100000000000000000
+00100000011000000000000000000000
+00011000000000000110000000010000
+11011001011000000000010111100110
+00011110000000001000111111111001
+00100000010000000111100011110000
+10011000000000000000010000000000
+00011110000000001000111111110000
+00100000010000000111100011110000
+10011000010000001000010000000000
+00011110000000001000111111111110
+00100000010000000111100011110000
+00011111111011100111111000000001
+10011000010000001000010000000000
+00011110000000001000111111110001
+00100000010000000111100011110000
+00011111111011100111111000000000
+10011000010000001000010000000000
+00011110000010111111111000000000
+10011001011000001000101000000000
+11100000101010100000000000000000
+00011110000000001110000000000001
+00101110000000011111111001000000
+00100100001000001111100011110110
+00100000011000000000000000000000
+11011000110000000000100011111110
+00011000000000000111000000000111
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000111111111
+00100000001000010111100100001101
+00100000011000000000000000000000
+01000111011101100100000000111101
+00100000010000000111100011110100
+11011000101000000000011011100110
+00011000000000000111000000000000
+00011101111000100111111000000000
+11100000101000100000000000000000
+00011111000000001111000000000001
+00101111000000011111111000001000
+00100100001000001111100100010110
+00100000010000000111010010111001
+11011001011000001000011100000000
+11011110000000000000010111100110
+00011000000000000111001001000000
+11101110000010100000000000000000
+11101001011000100000000000000000
+00011001011000001001011000000100
+00011110000000001110000000000100
+10011000010000001111111000000000
+00011000000000000111000000000111
+10011101111000001000010000000000
+00011000000000000111000000000100
+00011101111011100111111000000011
+10011000010000001000010000000000
+00011000000000000111000000000101
+00011101111000100111111000000000
+00011000000000000111000000000110
+10011101111000101111111000000000
+00011000000000000111000000000100
+10011101111000010111111000000000
+00011000000000000111000000000110
+10011101111000101111111000000000
+10011000010000001000010000000000
+00011000000000000111000000000111
+00011000010000100101111000000000
+00011000000000000111000000000011
+00011101111000100111111000000000
+10011000010000001101111000000000
+00011000000000000111000000000000
+00011101111000100111111000000000
+00011000000000000111000000000001
+10011101111000010000010000000000
+10011101111000011111111000000000
+00011000000000000111000000000010
+10011101111000010111111000000000
+10011000010000011000010000000000
+00011000000000000111000000000000
+00011101111011100111111000000010
+10011000010000001111111000000000
+00011000000000000111000000000111
+10011101111000001101111000000000
+10011000000011101111110000000000
+11000010000000000111100100011111
+11011000110000000000011011100110
+00011000000000000111000000000000
+11101000110000100000000000000000
+10011101111000001101111000000000
+00011111000000001111000000000001
+00101111000000011111111000001000
+00100100001000001111100101001000
+00100000001000000111010010111101
+11011000101000000000101000111110
+00011000000000000111000000000111
+00011101111000100111111000000000
+11100000101000100000000000000000
+00011111000000001111000111111111
+00100000001000010111100101010000
+00100000011000000000000000000000
+11011000101000000000010111100110
+00011000110000001000110111111100
+00011111001001100010001000010000
+11101000110000100000000000000000
+10011000010000101111111000000000
+11100000101000100000000000000000
+00011000110000001000110111111000
+11000010000000000111100101011000
+00011010001000100111001000000000
+00011000010000100111111000000000
+11100000101000100000000000000000
+11000010000000000111100101011111
+00100000011000000000000000000000
+00100000010000000111100101100111
+00100000010000000111100101001110
+00100000001000000111100110001101
+00100000010000000111100101100111
+00100000001000000111100110001101
+11011000110000000000100111011110
+11011000101000000000010111100110
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000100011001000010
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000000101000111110
+00100000010000000111101001110000
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000101110
+11011000101000000000010111100110
+00100000001000000111100110000100
+11011000110000000100011001000010
+11011000101000000000010111100110
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000000100111011110
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000000101000101110
+00100000010000000111101001110000
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000111110
+11011000101000000000010111100110
+00100000010000000111100110000100
+00100000001000000111100110001101
+00100000010000000111101001110000
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00011000000000000111001000000101
+00100000010000000111111011000110
+01011000000000000000001010000000
+11100000101000100000000000000000
+00100000001000000111100100010010
+01101000000000100000101000111110
+11011010001000000000001111101000
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001110111111000000000
+01100000000000100000100110111010
+00011000000001111111111000000000
+11011010001000000000001111101000
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001110111111000000000
+11011010001000000000001111101000
+10011010001011111111111000000000
+01101000000010100000100110111010
+10011000010000001111111000000000
+01100000000000100000100110111010
+00100000011000000000000000000000
+01110000010001100110010000000000
+00100000001000000111100110100010
+01101000000000001100011001100010
+11000000100000010111100110011110
+01000111011101101100000000111101
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+01101000000000010000101001111110
+00011111111000100000110000000000
+00011000000000000111001000000100
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+01101000000000010000101010000000
+00011111111000100000110000000000
+11011000101000000000010111100110
+00011000000000000111001000000110
+00100000010000000111101001110001
+01101000000000010000101010000010
+00011111111000100000110000000000
+00011000000000000111001000000110
+00100000010000000111101001110001
+01011000100000000000000000000000
+11100000101000011000000000000000
+01101000000000001100011001100100
+11100000101000001000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+01011000000000000000001110001000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000010000000111100101001110
+11011000110000000000101000111110
+11011000101000000000011100000110
+00100000010000000111111010111101
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+01101000000000010000101001111110
+00011111111000100000110000000000
+00011000000000000111001000000100
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000011100100110
+11011000101000000000010111100110
+00011000000000000111001000001000
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00100000010000000111111011000101
+01011000000000000000001100000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000001000000111100101001110
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+01101000000000010000101010001010
+00011111111000100000110000000000
+11011000101000000000010111100110
+00100000010000000111101001110000
+01101000000000010000101010001100
+00011111111000100000110000000000
+00100000010000000111101001110000
+01011000011000100111010001101100
+00011111111011010111111000000000
+00011111111000011111111001101011
+11100000101000100000000000000000
+11011000110000000000011100110011
+00011000000000000111001000000011
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+01011000000000000000001110000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000010000000111100101001110
+11011000110000000000101000111110
+11011000101000000000011100000110
+00100000010000000111111010111101
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000011100100110
+11011000101000000000010111100110
+00011000000000000111001000001000
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00100000010000000111111011000101
+01011000000000000000001100000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000001000000111100101001110
+01101000000000001100011001100010
+11000000100000010111101000011110
+01000111011101110100000000111101
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000111110
+11011000101000000000010111100110
+00100000010000000111101001110000
+11011000110000000000101000101110
+00100000010000000111101001110000
+00100000001000000111101000110011
+01011000000000000000000000000000
+01100000000000100100011010001010
+00100000001000000111101000001111
+01011000000000000000000000000000
+01100000000000100100011010001010
+00100000001000000111101000100110
+01101000000000001100011001100010
+11000000100000010111101000100001
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000101110
+11011000101000000000010111100110
+00100000010000000111101001110000
+11011000110000000000101000111110
+00100000010000000111101001110000
+01011000000000000000000000000000
+11100000101001000000000000000000
+11100000101000100000000000000000
+01101000000000100100011010001010
+11100000101000100000000000000000
+00011000101000100000010000000000
+01110000000001110010011010000000
+00011000010000100000101000000000
+11011000110000000000011100110110
+00100000010000000111101001110000
+00100000010000000111100100010010
+11011000101000000000010111100110
+00011000000000000111001000000111
+00100000010000000111111011000110
+11100000101000100000000000000000
+01011000000000000000001111111000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000010000000111100101001110
+11011000110000000000101000111110
+11011000101000000000011100000110
+00100000010000000111111010111101
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000011100100110
+11011000101000000000010111100110
+00011000000000000111001000001000
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00100000010000000111111011000101
+01011000000000000000001100000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000001000000111100101001110
+01110000000001011110001111000000
+01101000000000001000010111100011
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001000010111100011
+11011000110000000000011010111110
+00100000010000000111011011101100
+00100000001000001111101001011110
+11011000110000000000010111100110
+11011000101000000000011001110110
+00100000001000000111011011110010
+00100000010000000111100000000011
+01101000000000001000010111100011
+00011111111000001111111111111111
+01100000000000001000010111100011
+11011000110000000000011010111110
+00100000010000000111011011101100
+00100000011000001000000000000000
+00100000001000000111100001010100
+00011000000000000111001000000100
+00011000110000001000110111111100
+11101000110000100000000000000000
+11100000101000100000000000000000
+00011000110000001000110111111000
+11000010000000000111101001110010
+00100000011000000000000000000000
+01000111011101111100000000111101
+01101000000000001100010010111110
+00100000001110100101101011110000
+00100000010000000101101011101100
+00100000010000000111010110000011
+00100000001000000111101001111101
+01101000000000001100010011000011
+11000001100000000000000000000000
+01101000000000001100010011000000
+11000001100000000000000000000000
+11011000101000000100010110110010
+00011000000000000000111000001111
+00100000010000000111011010100010
+00011000000010100111111000000000
+00011111111000110111111000000000
+11100000101000010000000000000000
+11011000101000000000011101100110
+11011000110000000100010110110010
+00100000010000000111111010111101
+11011000101000000000011001000110
+11011000110000000000100101011110
+00100000010000000111111010110011
+11011000101000000000011010000110
+00100000010000000111111011010000
+01110000000001101000011000000001
+00100000010000000111101011000111
+01110000010001001100000000000011
+00100000011000000000000000000000
+11011000101000000100010111010010
+11011000110000000000011010100110
+00100000010000000111111010110011
+01110000010001001100001100000011
+01110000010001001100000000000000
+00100000011000000000000000000000
+01101000000000001000100110111001
+11000001100000000000000000000000
+01101000000000001100010011000000
+11000001100000000000000000000000
+11011000101000000000011101100110
+11011000110000000100010110110010
+00100000010000000111111010111101
+11011000101000000000011001000110
+11011000110000000000100110111110
+00100000010000000111111010110011
+11011000101000000000011010000110
+00100000010000000111111011010000
+01110000000001101000011000000001
+00100000010000000111101011000111
+01110000010001001100000000000100
+00100000011000000000000000000000
+11011000101000000000100111111110
+11011000110000000000011010100110
+00100000010000000111111010111101
+01110000000010011011100100000011
+01110000010001001100000000000000
+00100000011000000000000000000000
+01101000000000001100010010111110
+00100000011110100000000000000000
+01101000000000001100010011000000
+00100000011110100000000000000000
+00011111111000001111111010000000
+01100000000000001100010011000000
+11000011100000111000000000000000
+01101000000000010000010111100011
+00100000001110100111101010111001
+00100000001000000111101010111111
+01000111011110000100000000111110
+00100000010000000111101011010100
+01101000000000001100010011000000
+11000000000000011111101010010011
+11000000000000100111101010101001
+00100000011000000000000000000000
+00100000010000000111101011100110
+01101000000000010000010111100011
+00011111111000001111111111111111
+01100000000000010000010111100011
+11011000110000000000011101100110
+00100000010000000111011011101100
+00100000011000001000000000000000
+00100000001000000111101100110111
+01000111011110001100000000111110
+01011000000000000000000100000000
+01100000000000010000010111100011
+01101000000000010000010111100011
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000010000010111100011
+11011000110000000000011101100110
+00100000010000000111011011101100
+00100000001000001111101011001010
+11011000110000000000011001000110
+11011000101000000000011100000110
+00100000001000000111111010110010
+11011010001000000000011101000110
+11011000101000000000100001000110
+00100000010000000111101110100011
+11011010001000000000100001000110
+11011000101000000000011111100110
+00100000010000000111110001111001
+11011010001000000000011100000110
+11011010010000000000011111100110
+11011000101000000000011010100110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000011111100110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000011100100110
+11011010010000000000100000100110
+11011000101000000000011011000110
+00100000001000000111101111100001
+11011010001000000000011101000110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011010001000000000100000100110
+11011000101000000000100001000110
+00100000010000000111110001111001
+11011010001000000000100100111110
+11011010010000000000100001000110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000011100000110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011000110000000000100000100110
+11011000101000000000011111100110
+00100000010000000111111010111101
+11011010001000000000011111100110
+00100000010000000111110010000000
+11011010001000000000100000100110
+11011010010000000000011111100110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011010001000000000100000100110
+11011010010000000000100001000110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011000110000000000011100000110
+11011000101000000000011111100110
+00100000010000000111111010111101
+11011010001000000000011100100110
+11011000101000000000100001000110
+00100000010000000111110001111001
+11011010001000000000011111100110
+00100000010000000111110010000000
+11011010001000000000011111100110
+00100000010000000111110010000000
+11011010001000000000011111100110
+11011010010000000000100001000110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011000101000000000100000000110
+00100000010000000111110001111001
+11011010001000000000100000000110
+00100000010000000111110010000000
+11011010001000000000100000000110
+00100000010000000111110010000000
+11011010001000000000100000000110
+00100000010000000111110010000000
+11011000110000000000011100100110
+11011000101000000000100001000110
+00100000010000000111111010111101
+11011010001000000000100001000110
+00100000010000000111110010000000
+11011010001000000000100001000110
+11011010010000000000011101000110
+11011000101000000000011101000110
+00100000010000000111101111100001
+11011010001000000000100000100110
+11011000101000000000100001000110
+00100000010000000111110001111001
+11011010001000000000100001000110
+11011010010000000000011111100110
+11011000101000000000100001000110
+00100000010000000111110010010110
+11011010001000000000100001000110
+11011010010000000000011111100110
+11011000101000000000011100000110
+00100000010000000111110010010110
+11011010001000000000011111100110
+11011010010000000000011100000110
+11011000101000000000100001000110
+00100000010000000111110010010110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100000000110
+11011000101000000000011100100110
+00100000001000000111110010010110
+11011010001000000000011010000110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000011100000110
+11011010010000000000100001100110
+11011000101000000000100000000110
+00100000010000000111101111100001
+11011010001000000000011010000110
+11011010010000000000100001100110
+11011000101000000000100001100110
+00100000010000000111101111100001
+11011010001000000000011100100110
+11011010010000000000100001100110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000011101000110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000011001000110
+11011010010000000000100001100110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000011101000110
+11011010010000000000100001100110
+11011000101000000000100001100110
+00100000010000000111101111100001
+11011010001000000000011001100110
+11011010010000000000100001100110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010010000000000100000000110
+11011010001000000000100000100110
+11011000101000000000100001100110
+00100000010000000111110010010110
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000010000000111110001111101
+11011010010000000000011111100110
+11011010001000000000100001000110
+11011000101000000000100000100110
+00100000010000000111110010010110
+11011010001000000000011111100110
+11011010010000000000100001000110
+11011000101000000000011111100110
+00100000010000000111110001111101
+11011010001000000000011111100110
+11011010010000000000100001100110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000011101000110
+11011010010000000000011010000110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100001100110
+11011000101000000000011101000110
+00100000010000000111101111100001
+11011010001000000000100001100110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000100001100110
+11011010010000000000100000000110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001100110
+11011010010000000000011111100110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000100000100110
+11011000101000000000011100000110
+00100000010000000111110001111001
+11011010001000000000011100000110
+11011010010000000000100001000110
+11011000101000000000011100000110
+00100000010000000111110010010110
+11011000110000000000011100000110
+11011000101000000000100001100110
+00100000010000000111111010111101
+11011010001000000000100001100110
+00100000010000000111110010000000
+11011010001000000000100001000110
+11011010010000000000100001100110
+11011000101000000000100001000110
+00100000010000000111110010010110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000100000100110
+11011010010000000000011111100110
+11011000101000000000011100100110
+00100000010000000111110010010110
+11011010001000000000011100100110
+11011010010000000000100100011110
+11011000101000000000011100100110
+00011000000000000010011000000000
+01101000000000001000011100100110
+00101111111011111111111000000000
+00100000010000001111110001111011
+00011010011000100110000000000000
+11011010001000000000011100100110
+00100000010000000111110010101011
+01101000000000001000011101000101
+00101110000011111111111000000000
+01111001001000001111111000000111
+01100000000000001000011101000101
+00100000011000000000000000000000
+00011000101000100001011000000000
+11011000101000000000100000000110
+00100000010000000111111011010000
+00011000000000000111111000000000
+01100000000000100000100000100110
+01110000000010000000011000000001
+11011000101000000000011110000110
+00100000010000000111111011010010
+11011000110000000000100100011110
+11011000101000000000011111000110
+00100000010000000111111010111101
+00011010001000100000110000000000
+11011000101000000000011111100110
+00100000010000000111111010111101
+11011000110000000000011111100110
+00100000010000000111110010110101
+00100000001110100111101111011010
+11011010001000000000011111100110
+11011010010000000000100000000110
+00100000010000000111110010111000
+11011010001000000000011111000110
+11011010010000000000011110000110
+00100000010000000111110010111000
+11011010001000000000011111100110
+11011010010000000000011111000110
+00100000010000000111110010110001
+00100000001000010111101111001100
+11011010001000000000011111000110
+11011010010000000000011111100110
+00011010001000100000101000000000
+00100000010000000111110010101001
+11011010001000000000100000000110
+11011010010000000000011110000110
+00011010010000100000101000000000
+00100000010000000111110001111011
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111101110110001
+11011010001000000000011111100110
+11011010010000000000011111000110
+00011010001000100000101000000000
+00100000010000000111110010101001
+11011010001000000000011110000110
+11011010010000000000100000000110
+00011010010000100000101000000000
+00100000010000000111110001111011
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111101110110001
+11011010001000000000011110000110
+00011001011000100000101000000000
+00100000010000000111110000001010
+11011010001000000000100100011110
+00011001011000100010010000000000
+00011001011000100000101000000000
+00100000001000000111110010010110
+00011000101000100001011000000000
+00011000000000000111000000000000
+11011000101000000000011110000110
+00100000010000000111111011010010
+11011000101000000000101011010010
+00100000010000000111111011010010
+00011010001000100000110000000000
+01110000000010101101001000000000
+01011000000000000000000000000000
+00100000010000000111110001110011
+00011010010000100000110000000000
+00100000010000000111110001110111
+00011000000000000000111000000000
+11011000101000000000011110000110
+11011000010000000000101011010010
+00011000111000100010010000000000
+00011010010010111111111000000000
+10011000010000001010010000000000
+00011000000000000000010000000000
+00011000000000000010011000000000
+11101000101000100000000000000000
+10011000000000000010001000000000
+11101010010000100000000000000000
+00011010011000100111000000000000
+10011101111011111111111000000000
+10011010001000001111111000000000
+10011000010000001111111000000000
+11100000101000100000000000000000
+00011111111011110000010000000000
+00011010011000001010011000000001
+00101010011000011111111000001000
+00100100001000001111101111110101
+00011000010000100111111000000000
+11100000101000100000000000000000
+00011000101000001000101111100000
+00011000111000001000111000000001
+00101000111000011111111000001000
+00100100001000001111101111101111
+11011010001000000000011110000110
+00011001011000100000101000000000
+00100000001000000111110000001010
+01000111011110010100000000111110
+00011000101000100001011000000000
+00011010001000100110000000000000
+11011010010000000000011111000110
+00011010010000100000101000000000
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011010001000001000110000101100
+00100000010000000111111010111001
+00100000010000000111111010110101
+00011010010000100010001000000000
+00100000010000000111110010000000
+11011010010000000000011111000110
+00011110000000100010001000000000
+00011001011000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011110000000001000110000110000
+00100000010000000111111010111111
+00100000010000000111111011001101
+00011010010000100010001000000000
+00100000010000000111110010000000
+11011010010000000000011111000110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000100000
+00100000010000000111111010110101
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011110000000001000110000111000
+00100000010000000111111010111001
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000100100
+00100000010000000111111010110101
+00011110000000001000110000110100
+00100000010000000111111010110101
+00011110000000001000110000110100
+00100000010000000111111010110110
+00011110000000001000110000100000
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000101100
+00100000010000000111111010110101
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011110000000001000110000100000
+00100000010000000111111010110110
+00011110000000001000110000101000
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110010010110
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000110000
+00100000010000000111111010111001
+00100000010000000111111010111001
+00011000000000000111111000000000
+11100000101001000000000000000000
+00011110000000001000110000100100
+00100000010000000111111010110110
+00011110000000001000110000101100
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110010010110
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000110100
+00100000010000000111111010110101
+00011110000000001000110000100000
+00100000010000000111111010110101
+00100000010000000111111011001101
+00011110000000001000110000110000
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110010010110
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000111000
+00100000010000000111111010111001
+00100000010000000111111011001101
+00011110000000001000110000100100
+00100000010000000111111010110101
+00100000010000000111111011001101
+00011110000000001000110000110100
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000001000000111110010010110
+00011000000000000111001000100000
+11011000101000000000101011010010
+10011000101000001000101000000000
+00100000001000000111111100000001
+00011000000000000111001000001000
+00100000001000000111011110000001
+00011010001000100010010000000000
+00100000001000000111101111100001
+00011000000000000111001000001000
+00100000001000000111011100010010
+00100000010000000111110001111011
+00011000101000100010001000000000
+00100000001000000111110010000001
+00100000010000000111110010101110
+00101010011011111111111000000000
+00100000001000001111110010001010
+11011010010000000000100100011110
+00011010001000100010011000000000
+00011010001000001010001111100000
+00100000010000000111110010110001
+00100100011000010000000000000000
+00011010011000100010001000000000
+00100000001000000111110010010010
+00100000010000000111110010010010
+00011010001000100010011000000000
+00011010001000001010001111100000
+11011010010000000000100100011110
+00100000010000000111110010110001
+00100100011000010000000000000000
+00011010011000100010001000000000
+00100000001000000111110010010010
+00011010001000001010001111100000
+11011010010000000000100100011110
+00011010001000100000101000000000
+00100000001000000111110010101001
+00100000010000000111110010101001
+00100000001000001111110010100000
+00011000101000001010001111100000
+11011010010000000000100100011110
+00100000010000000111110010110001
+00100100011000010000000000000000
+11011010010000000000100100011110
+00011000101000001010001111100000
+00011010001000100000101000000000
+00100000001000000111110010101001
+00011000101000001010001111100000
+11011010010000000000100100011110
+00011010001000100000101000000000
+00100000010000000111110001111011
+00100000011000001000000000000000
+00011000101000001010001111100000
+11011010010000000000100100011110
+00011010001000100000101000000000
+00100000001000000111110001111011
+00011000000000000111001000001000
+00100000001000000111011100100000
+00011000000000000111001000001000
+00011010001000001010001000011100
+00100000001000000111011100101111
+00011000000000000111001000001000
+00011000000000000010011000000000
+00100000001000000111011100111101
+00011000000000000111001000001000
+00011010001000001010001000011100
+00011010010000001010010000011100
+00100000001000000111011100000111
+11101000110001000000000000000000
+00100100011110100000000000000000
+00100000001000000111011011110101
+00011010001000100110000000000000
+00011110000000100010001000000000
+11101010001000001000000000000000
+00101111111011111111111000000000
+00100000011000001000000000000000
+00100000010000000111110010101011
+11101010010000001000000000000000
+00101111111011000000000000000000
+00100000001000001111110011001000
+11011010001000000000100100011110
+00011010010000100000101000000000
+00100000010000000111110001111011
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00011010010000001010010111100000
+00011010010000001010001000100000
+00011000000000000111001000001001
+00100000010000000111011100101111
+00100000001000000111110010111001
+00100000010000000010110001100101
+00100000011101011000000000000000
+00100000010000000111110011010011
+00100000010000000111110101110101
+00100000001000000111110100001000
+00100000010000000111110100101001
+00100000001000000111110101100100
+01101000000000001100011010000110
+11000001011111111000000000000000
+10011000000000000000010000000000
+00100000010000000110100000001110
+01101000000010001100011010000110
+00100000010000000110100000100101
+00100000000000000000000001100100
+01101000000010001100011010000110
+00100000010000000110011111111011
+00100000001000000111110011011101
+01000111011110011100000000111110
+01101000000000001100011010000110
+11000001011111111000000000000000
+00011111111000100000010000000000
+00100000010000000110100000011101
+00100100001000001111110011101111
+00100000010000000111110011111001
+01101000000000010100011010000010
+01111001001000000111111000001100
+01100000000000010100011010000010
+01101000000000001100011001111001
+11000001000000000000000000000000
+01110000010001100111100100000000
+01101000000000001100011010000101
+01100000000000001100011001111000
+00100000010000000111110100000000
+01110000000010101001100100101100
+00100000001000000111110110000110
+01101000000000010100011010000010
+01111001001111111111111000001100
+01100000000000010100011010000010
+01101000000000001100011001111001
+11000001000000001000000000000000
+01110000010001100111100100000001
+01110000010001100111100000000000
+00100000010000000111110100000010
+01110000000010101001100100101101
+00100000001000000111110110000110
+01101000000000001100011001111000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011001111000
+00100100011110100000000000000000
+01110000000010101001100100010000
+00100000001000000111110110000110
+11011000111000000000000000000111
+00100000001000000010110000110010
+11011000111000000000000000000111
+00100000001000000010110000110110
+01101000000000010100001000011011
+00011010001011111010010000001011
+10011010010000001010010000000000
+00100000011000000000000000000000
+01101000000000001100001000011010
+00100000011110100000000000000000
+00011111111000100111001000000000
+01101000000000010100001000011011
+00011111111000100010010000000000
+00011010010000001010011000000010
+11101010011010001000000000000000
+00100000010000000110100000001110
+00100000010000000111110100110010
+00011010010000001010010000001011
+11000010000000000111110100001101
+00100000011000000000000000000000
+00100000010000000111110100000100
+01011000000000000000000000000010
+11100010010000001000000000000000
+00100000010000000111110101011110
+00100000001000000111110100110101
+00100000010000000111110100000100
+01011000000000000000000000000011
+11100010010000001000000000000000
+00100000010000000111110101011110
+00100000001000000111110100110010
+00100000010000000111110100000100
+01011000000000000000000000000001
+11100010010000001000000000000000
+01011000000000000000000011111111
+11100000101000001000000000000000
+00100000001000000111110100110010
+00100000010000000111110100000100
+11011111001000000000000000001011
+00011010011000100000110000000000
+00011010010000100000101000000000
+00100000001000000111111011110100
+01101000000000001100001000011010
+00100000011110100000000000000000
+11011010001000000000000000000000
+00100000010000000111110100111000
+00011010001000001010001000000001
+01101000000000001100001000011010
+10011010001001100111110000000000
+00100000011000101000000000000000
+00100000001000000111110100101100
+00011010010000001010011000000010
+11101010011010001000000000000000
+00100000001000000110100000100101
+00011010010000001010011000000010
+11101010011010001000000000000000
+00100000001000000110100000101001
+00011010001000001000111000001011
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000111110100000100
+11101010010000001000000000000000
+11000000000000010111110100110101
+11000000000000011111110100110010
+11000000000000000111110100110010
+11000000000000101111110101001100
+00100000010000000111110100110101
+00011010010000001010011000000111
+00100000010000000111111001111100
+11101010011000010000000000000000
+00100000010000000111111110011100
+00100000010000000111111010001100
+01011000000000000000000000000101
+11100010010000001000000000000000
+00011010010000001010011000000011
+11101010011000010000000000000000
+00100000001000000111110101011100
+00100000010000000111110100110010
+00011010010000001010011000001001
+00100000010000000111111001111100
+11101010011000010000000000000000
+00100000010000000111111110011100
+00100000010000000111111010001100
+00011010010000001010011000000001
+11101010011000001000000000000000
+11000000011111111111110101011000
+00011111111000001111111111111111
+11100010011000001000000000000000
+00100000001110100111110100011001
+01011000000000000000000000000100
+11100010010000001000000000000000
+00011010010000001010011000000101
+11101010011000010000000000000000
+00011010001000001000111000001011
+00100000001000000111111100001000
+01011000000000000000000000000000
+00100000001000000111110101011100
+01011000000000000001000000000000
+00011111111100000111111000000000
+10011010010000001010010000000000
+00100000011000000000000000000000
+01000111011110100100000000111110
+11011010001000000000000000000000
+01101000000010100100011001111010
+00011100010000100010010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100010000010111110101100000
+00011010010000100111111000000000
+00011000010000001000010010100000
+00011000010000001000010010100000
+10011000010001100111110000000000
+00100100001000010111110101111000
+00011010001000001010001000000001
+00011010001000010111111000001111
+00100100001110100111110101101011
+11011010001000000000000000000000
+00100000010000000111110101111111
+00011100010000100111111000000000
+01100000000000100100011001111010
+00100000011000000000000000000000
+01000111011110101100000000111110
+00011010001000100111111000000000
+00100000011110100000000000000000
+00011000010000001000010101100000
+00011000010000001000010101100000
+01111001001111111000010000011100
+01100000000010100100011001111010
+00100000001000000011001101011111
+01110000010001100110011000000001
+01101000000000001100011001100111
+00100100001110100111110110000001
+00100000011000000000000000000000
+01110000010001100110011000000000
+00100000011000000000000000000000
+01000111011110110100000000111110
+00100000010000000111110110000000
+00011010001000100111111000000000
+01100000000000100000101010010001
+11011010001000000100011001101000
+00100000010000000111111110111000
+01101000000000100000101010010001
+00011111111000100010001000000000
+00100000001000000111110110000100
+01000111011110111100000000111110
+00100000010000000111110110000000
+00011010001000100111111000000000
+01100000000000100000101010010001
+11011010001000000100011001110000
+00100000010000000111111110111000
+01101000000000100000101010010001
+00011111111000100010001000000000
+00100000001000000111110110000100
+01011000000000000000000000000000
+01100000000001000100011001110000
+01100000000001000100011001101000
+00100000011000000000000000000000
+01000111011111000100000000111111
+01101000000000001100000111001110
+00100100011110100000000000000000
+11011010001000000100011001110000
+00100000010000000111111111010000
+00100000011110100000000000000000
+01110000000010101001000000000000
+00100000010000000111110110100111
+01101000000000001000101010010000
+00100000001110100111110110011100
+00100000011000000000000000000000
+00100000010000000111110110000000
+11011010001000000100011001110000
+00100000010000000111111111000100
+00011111111000100000010000000000
+00100000010000000111110110000100
+01000111011111001100000000111111
+00011000010000100111111000000000
+00100000011110100000000000000000
+11000000000000001111110111011101
+11000000000000010111110111100010
+11000000000000011111110111101000
+11000000000000111111110111101101
+11000000000001000111110111101110
+11000000000001001111110111101111
+11000000000001011111110111110010
+11000000000001100111110111110011
+11000000000001101111110111110100
+11000000000001110111110111111010
+11000000000001111111110111111111
+11000000000010000111111000000101
+11000000000010011111111000001111
+11000000000010100111111000010001
+11000000000010101111111000010011
+11000000000010110111111000010101
+11000000000010111111111000011000
+11000000000011000111111000011010
+11000000000011001111111000011101
+11000000000011011111111000100101
+11000000000011110111111000101111
+01100000000000001000101010011001
+01000111011111010100000000111111
+00100000010000000110001010111100
+00100100001110100111110111011011
+01101000000000001000101010011001
+11000101100001001111110111010110
+11000000000000100111110111101010
+11000000000000101100110100010111
+11000000000000110100110100100110
+11000000000001010111110111110000
+11000000000010001111111000001010
+11000000000010010111111000001110
+11000000000011101111111000100110
+11000000000011111110011111001100
+11000000000100000110011111010000
+11000000000100001111111000110001
+11000000000100101110011100001011
+00100000011000000000000000000000
+01100000000000001000101010011001
+00100000010000000010001001010010
+00100000001000101111110111011011
+00100000010000000010001001011010
+00100100011000101000000000000000
+01110000000010101001000000000001
+00100000001000000111110110001111
+01101000000000010100011010000010
+01111001001000000111111000000110
+01100000000000010100011010000010
+01110000010000001001001100000011
+00100000011000000000000000000000
+01110000010001101000000000000000
+01110000010000001001001100000000
+01101000000000010100011010000010
+01111001001111111111111000000110
+01100000000000010100011010000010
+00100000011000000000000000000000
+01110000010000011100111000000101
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100101000010011
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000001001101010000000010
+00100000001000000100110100001010
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000010000110110111000000001
+01110000010001001000010000000000
+01101000000000010100011010000010
+01111001001000000111111000001011
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000001011
+01100000000000010100011010000010
+01110000010000110110111000000000
+00100000011000000000000000000000
+01110000010000110110111000000001
+01110000010001001000010000000001
+01101000000000010100011010000010
+01111001001000000111111000001011
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000001011
+01100000000000010100011010000010
+01110000010000110110111000000000
+00100000011000000000000000000000
+01011000000000000000000000010100
+01100000000000010000010001101101
+01100000000000010100010010111010
+00100000001000000101110010010010
+00100000001000000101101010111111
+11011010001000000000000000000000
+00100000001000000111110100011001
+11011010001000000000000000000000
+00100000001000000111110100010100
+11011010001000000000000000000000
+00100000001000000111110100011110
+01110000010000110110100100000001
+01110000010000011100111000011011
+00100000011000000000000000000000
+01110000010000110110100100000001
+00100000011000000000000000000000
+01110000010000110110100100000000
+01110000010000011100111000000000
+00100000011000000000000000000000
+01101000000000010100000111101011
+00100000010000000111111110011100
+01101000000000001100011010000110
+11000000011111111111111000100011
+00011111111000100000010000000000
+00100000010000000110011111111011
+00100000010000000111110110011000
+00100000001000000010101100011111
+00100000001000000101101100000010
+01110000000000000111110000110100
+01111001001000000000000000000011
+00100100011101001000000000000000
+01110000010001010101101100000000
+01110000000000000111110000010011
+01101000000000001000000101101101
+01111001001111111111111000000010
+01100000000000001000000101101101
+00100000011000000000000000000000
+00011000000000000000111000000011
+00100000001000000111111100000111
+00100000010000000110001011111000
+01110000000000000111110101000001
+00100000001000000101111110011101
+01101000000000001100011010000010
+11000100000001100000000000000000
+11000100000000111000000000000000
+00100000001000000111111000101111
+01101000000000010100001000011000
+00011111111000001000101000000010
+01011000000000000000000000000000
+11100000101000011000000000000000
+00100000011000000000000000000000
+00100000010000000111111111101001
+00100000010000000111111001101001
+00100000011110100000000000000000
+01101000000000010100001000011000
+00011111111000001010010000000010
+11101010010010001000000000000000
+00011000010000001000010000000001
+11100010010010001000000000000000
+11101111111010001000000000000000
+00011000010000100111001000000000
+00011111111000001010010000000100
+11101010010000001000000000000000
+10011000010011111111111000000000
+10011000110000001000101000000000
+00011010001000100000110000000000
+00100000010000000111111100000001
+00100000010000000111111001101101
+00011111111000001111111111111111
+11101010010010001000000000000000
+00011000010000001000010000000001
+10011000010000010000010000000000
+11100010010010001000000000000000
+00100000001000000111111111100111
+00100000010000000111111111101001
+00100000010000000111111001100101
+00100000011110100000000000000000
+01101000000000010100001000011000
+00011111111000001010010000000010
+11101010010010001000000000000000
+00011000010000001000010111111111
+11100010010010001000000000000000
+11101111111010001000000000000000
+00011000010000100111001000000000
+00011111111000001010010000000011
+11101010010000001000000000000000
+10011000010011111111111000000000
+10011000110000001000110000000000
+00011000110000001000110000000001
+00011010001000100000101000000000
+00100000001000000111111001001100
+01101000000000010100001000011000
+00011111111000001000110000000010
+11101000110000001000000000000000
+00100000011000000000000000000000
+00100000010000000111111001101101
+11101000110010001000000000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+01101000000000010100001000011000
+00011111111000001000110000000001
+11101000110000001000000000000000
+00100000011000000000000000000000
+00011111001001100111110000000000
+00100000011000101000000000000000
+00011111111000110111111000000000
+11000010000000000111111001110011
+00100000011000000000000000000000
+00011000000000000111111000000001
+00011111001001100111110000000000
+00100000011000101000000000000000
+00011111111000111111111000000000
+11000010000000000111111001111001
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100000000000010000101010111011
+01100000000011000000101010100010
+00011001011000100111111000000000
+01100000000000100000101010101010
+00100000010000000111111010000101
+00011000110000100111111000000000
+01100000000000010000101010111001
+00100000011000000000000000000000
+00011010001000100111111000000000
+01100000000000100000101010101110
+00011010010000100111111000000000
+01100000000000100000101010110010
+00011010011000100111111000000000
+01100000000000011000101010110110
+00100000011000000000000000000000
+01101000000011000000101010100010
+01101000000000100000101010101010
+10011000000000000001011000000000
+00100000010000000111111010010101
+01101000000000010000101010111011
+10011000000000000000101000000000
+01101000000000010000101010111001
+10011000000000000000110000000000
+00100000011000000000000000000000
+01101000000000100000101010101110
+10011000000000000010001000000000
+01101000000000100000101010110010
+10011000000000000010010000000000
+01101000000000011000101010110110
+10011000000000000010011000000000
+00100000011000000000000000000000
+01101000000000010000101010111011
+00011111111000100000101000000000
+00100000011000000000000000000000
+01101000000000010000101010111001
+00011111111000100000110000000000
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100000000000010000101010111011
+00100000011000000000000000000000
+00011000110000100111111000000000
+01100000000000010000101010111001
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100000000000010000101010010111
+00011000110000100111111000000000
+01100000000000010000101010010101
+00100000011000000000000000000000
+01101000000000010000101010010111
+00011111111000100000101000000000
+01101000000000010000101010010101
+00011111111000100000110000000000
+00100000011000000000000000000000
+00100000010000000111111010111101
+00100000010000000111111010111101
+00100000001000000111111010111101
+00100000010000000111111010111001
+11101000110000100000000000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+00100000010000000111111010111111
+00100000010000000111111010111001
+00100000010000000111111010111001
+00100000010000000111111010111001
+00100000001000000111111010111001
+11011111001000000000000000001010
+00100000000000000010111011100000
+11000010000000000111111011000010
+00100000011000000000000000000000
+00011000000000000111001000000011
+00011000000000000111111000000000
+11100000101001000000000000000000
+11000010000000000111111011000111
+00100000011000000000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+00011000000000000111111000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+00011000000000000111001000000100
+00100000001000000111111011000110
+00011000000000000111001000001000
+00100000001000000111111011000110
+00011111001000100111111000000000
+00100000011110100000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+11000010000000000111111011010111
+00100000011000000000000000000000
+11011111001000000000000000100000
+11011000101000000000101011000010
+00100000001000000111111011010100
+11101010011000100000000000000000
+11101010001010100000000000000000
+10011000010000101111111000000000
+11100000101000100000000000000000
+00011010001000001010001000000100
+00011010011000001010011000000100
+11000010000000000111111011011101
+00100000011000000000000000000000
+01000111011111011100000000111111
+00011111001000100111111000000000
+00011111111001100111110000000001
+00100000011000010000000000000000
+10011010001000001010010000000000
+00011010010000001010010111111111
+00011111001000110111001000000000
+11101010001010001000000000000000
+11101010010000001000000000000000
+11100010001000001000000000000000
+11100010010010001000000000000000
+00011010010000001010010111111111
+00011010001000001010001000000001
+11000010000000000111111011101100
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010111111010111001
+00100000011000101000000000000000
+00100000001000010111111011110110
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010111111010110110
+00100000011000101000000000000000
+00100000001000010111111011111011
+00011111001000001111001000000100
+00100000001000000111111100000001
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+11000010000000000111111100000011
+00100000011000000000000000000000
+01011000000000000000000000000000
+00011100010000110000010000000000
+01100000000010100100000010010100
+11011000101000000100000110011101
+10011000000000000000010000000000
+00011000111000111111111000000000
+10011000101000001000101000000000
+11100000101010010000000000000000
+01000111011111100100000000111111
+00100000011000000000000000000000
+11011001011000000000100000000000
+00011001011100000001011000000000
+10011001011000001111111000000000
+00100000011000000000000000000000
+11011000111000000000000000000000
+01000111011111101100000000111111
+01101000000010100100000010010100
+00011100010000110111111000000000
+01100000000000100100000010010100
+10011000010001100111110000000000
+00100100010000010111111100010001
+10011000010001100001011000000000
+00011001011000100000010000000000
+11011000110000000100000110011101
+00011000110000100000101000000000
+11011111001000000000000000010000
+11101000110000010000000000000000
+10011000010001100111111000000000
+00100000001000010111111100100101
+00011000000000000111111000000000
+11100000101000010000000000000000
+11000010000000000111111100100001
+11011000110000000100000110011101
+00011000111000111111111000000000
+10011000110000001000110000000000
+11101000110000010000000000000000
+00100000011000000000000000000000
+10011000010000001000010000000000
+00011000010000100111001000000000
+01011000000000000000111010100110
+10011111001001100111111000000000
+00100000011000010000000000000000
+00011111111001100111111000000000
+00011000010100010000010000000000
+00011000010000001000010000000001
+00011000010100000000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000010000000111111100111001
+00100000001000000111111101000011
+01111000010101000111110000000000
+10011000010001100111111000000000
+00100000001000010111111100111110
+01111000001101000111110000000000
+00011111111001100111111000000000
+11000100000001111000000000000000
+11011000010111110000111010100110
+10011000010000001111111000000000
+01111001001111111111111001000000
+00100000011000000000000000000000
+10011000000000000000110000000000
+00011111111100010111111000000000
+11011000010000000000111010100110
+10011000010011111111111000000000
+10011000110000001111111000000000
+00100000011000000000000000000000
+00011111111011010111111000000000
+00011111111100100111111000000000
+01101000000010011100000101101111
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111000010000000000
+00100000011000000000000000000000
+11011000010000000000111010100110
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100000111111000000000
+00011000000001110000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+00011000010000100010011000000000
+11101000011000001000000000000000
+00100000010000000111111101100100
+00011010011000100000010000000000
+00100000010000000111111110010101
+11011010010000000000000000001010
+10011010010011111111111000000000
+10011000010000001111111000000000
+00011111111000100000010000000000
+11000010000000000111111101011001
+00100000011000000000000000000000
+11011000010000000000000000111010
+10011000010001100111110000000000
+00100100001000010111111101101101
+11011000010000000000000001100001
+10011000010001100111110000000000
+00100000001000010111111101110000
+11011000010000000000000000110111
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011000010000000000000000110000
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011000010000000000000001010111
+10011000010001100111111000000000
+00100000011000000000000000000000
+00011000010000100110000000000000
+01011000000000000000000111111111
+00011000000000000010010000000000
+00011111111010010010001000000000
+00011010001000110010001000000000
+10011010001000101010001000000000
+00101010001011111111111000000000
+01111001001000001111111000001001
+00011000010000110000010000000000
+00101111111011111111111000000000
+01111001001000001000010000000111
+00011111111000110111111000000000
+00011010010000001010010000000001
+00101010010000000000111000000000
+00100100001000001111111101110110
+11100000101010001000000000000000
+11000010000000000111111101110110
+00011110000000100000010000000000
+00100000011000000000000000000000
+00100000011110101000000000000000
+00100000001000000111111110000110
+11101010001000001000000000000000
+11101010010010001000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111111110001000
+00011000000000000111110000000000
+00100000011000000000000000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+10011000010000001111111000000000
+10011000010001100000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011111001000000000001000000000
+11011000101000000100000000000000
+00100000001000000111111011000110
+00100000011110100000000000000000
+00011111111000100111101000000000
+01101000000100010000000100001110
+00100100001110100111111110011110
+00100000011000000000000000000000
+01110000100000100000001100000001
+00100000011000000000000000000000
+01100000000100010000001000000101
+01101000000100001000001000000011
+01111001001000000111111000000100
+01100000000100001000001000000011
+00100000011000000000000000000000
+01100000000100010000001000000111
+01101000000100001000001000000011
+01111001001000000111111000000110
+01100000000100001000001000000011
+00100000011000000000000000000000
+01100000000100010000001000000101
+01110000100000100000001100110000
+00100000011000000000000000000000
+01101000000100001000000001000011
+01111001001111111111111000000100
+01100000000100001000000001000011
+00100000011000000000000000000000
+01101000000100010000000100001110
+11011000010000000000001000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01000111011111110100000000111111
+11101010001011000000000000000000
+00011000010000010111111011111111
+00100100001110100111111110111110
+00011000010011001111111000000000
+11100010001001000000000000000000
+00011010001000001010001000000111
+11101010001000001000000000000000
+00100100001110100010101010001100
+01101000000000001000101010011001
+11100010001000001000000000000000
+00100000011000000000000000000000
+01000111011111111100000000111111
+11011111001000000000000000001000
+11101010001001000000000000000000
+00100000011110100000000000000000
+11101010001000001000000000000000
+00100100001110100111111111001101
+00011010001000001010001000000001
+11000010000000000111111111001000
+00100000001000000010101010001100
+11011000010000000000000000000000
+11100010001010001000000000000000
+00100000011000000000000000000000
+11101010001001000000000000000000
+00100000011000000000000000000000
+11101010001000001000000000000000
+00100000011000000000000000000000
+11101010001000010000000000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+01101000000000001000000000000110
+11000010000000000111111111010111
+00011000010000001000010000000001
+11000010000000000111111111010111
+00011000010000100111111000000000
+00100000011000000000000000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00011000000000000111110111111111
+00100000011000000000000000000000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01111000010101000111110000000000
+00100000011000000000000000000000
+01111000001101100111110000000000
+00100000011000000000000000000000
+01111000010101100111110000000000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011000110000100111111000000000
+10011111001000001111111000000000
+00011111111000001111111111111111
+00011111111000100000110000000000
+11101000110000001000000000000000
+00011000110000001000110111111110
+11100000101000001000000000000000
+11000010000000000111111111111001
+00100000011000000000000000000000
Index: YJX_Only24g/FCC_1021S/output/eeprom.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/eeprom.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/eeprom.dat	(working copy)
@@ -0,0 +1,3414 @@
+00
+02
+aa
+55
+66
+0a
+20
+40
+02
+8f
+20
+40
+00
+3f
+20
+40
+00
+4c
+20
+40
+00
+75
+20
+40
+00
+3b
+70
+80
+50
+21
+68
+08
+c6
+e2
+20
+40
+67
+fb
+68
+08
+c6
+e3
+20
+40
+67
+fb
+68
+08
+c6
+e4
+20
+40
+67
+fb
+20
+40
+65
+9c
+58
+00
+02
+00
+60
+01
+47
+20
+d8
+40
+00
+02
+da
+20
+47
+20
+58
+00
+00
+00
+20
+40
+66
+3d
+20
+40
+02
+74
+20
+20
+01
+2c
+da
+20
+00
+00
+20
+40
+00
+27
+20
+40
+00
+1b
+20
+40
+00
+21
+1a
+22
+7e
+00
+20
+60
+00
+00
+68
+08
+c6
+e3
+20
+40
+00
+36
+68
+08
+c6
+e3
+20
+40
+68
+1d
+79
+20
+a2
+01
+20
+60
+00
+00
+68
+08
+c6
+e4
+20
+40
+00
+36
+68
+08
+c6
+e4
+20
+40
+68
+1d
+79
+20
+a2
+02
+20
+60
+00
+00
+68
+08
+c6
+e2
+20
+40
+00
+36
+68
+08
+c6
+e2
+20
+40
+68
+1d
+79
+20
+a2
+00
+20
+60
+00
+00
+79
+3f
+84
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+7c
+20
+40
+68
+30
+79
+3f
+84
+07
+d8
+a0
+80
+70
+20
+20
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+3f
+84
+07
+20
+20
+00
+31
+70
+41
+75
+8f
+70
+41
+76
+10
+70
+41
+77
+ca
+20
+20
+29
+e9
+d8
+a0
+00
+00
+df
+20
+04
+00
+20
+40
+00
+48
+68
+10
+81
+08
+c4
+01
+00
+00
+d8
+a0
+40
+00
+df
+20
+02
+00
+20
+40
+00
+48
+20
+60
+00
+00
+18
+00
+7e
+00
+e0
+a4
+00
+00
+c2
+00
+00
+49
+20
+60
+00
+00
+58
+8f
+ff
+ff
+60
+01
+c0
+98
+58
+9d
+83
+fe
+79
+3f
+fe
+02
+e0
+a1
+80
+00
+58
+00
+83
+59
+e0
+a1
+00
+00
+58
+00
+11
+77
+60
+01
+c0
+a0
+58
+00
+00
+33
+60
+01
+c0
+a3
+58
+9e
+8b
+33
+60
+01
+c0
+a7
+58
+00
+00
+12
+60
+01
+40
+ad
+58
+00
+10
+00
+60
+01
+40
+af
+58
+00
+02
+00
+60
+01
+40
+b1
+58
+00
+08
+00
+60
+01
+40
+b3
+58
+00
+00
+20
+60
+01
+40
+bb
+58
+00
+00
+20
+60
+01
+40
+b7
+58
+00
+20
+00
+60
+01
+40
+b9
+58
+00
+0a
+04
+60
+01
+c5
+10
+58
+00
+12
+e9
+60
+01
+45
+13
+70
+45
+15
+06
+58
+53
+54
+42
+60
+01
+c5
+16
+58
+34
+49
+50
+60
+01
+c5
+19
+70
+40
+bd
+02
+70
+00
+90
+60
+70
+40
+d0
+05
+70
+40
+93
+03
+20
+60
+00
+00
+70
+80
+42
+06
+70
+89
+07
+00
+70
+89
+08
+00
+70
+89
+09
+00
+70
+89
+0a
+ff
+70
+89
+0b
+ff
+70
+89
+0f
+2e
+70
+89
+12
+47
+70
+89
+4b
+ba
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
+70
+89
+6f
+88
+70
+89
+73
+00
+70
+89
+5a
+4a
+70
+89
+5c
+80
+70
+4a
+f9
+20
+70
+4a
+f7
+01
+70
+89
+30
+a9
+70
+89
+2f
+ad
+70
+89
+2e
+b1
+70
+89
+2d
+b5
+70
+89
+2c
+b9
+70
+89
+2b
+bd
+70
+89
+2a
+c2
+70
+89
+29
+c6
+70
+89
+28
+ca
+70
+89
+27
+ce
+70
+89
+26
+d2
+70
+89
+25
+d6
+70
+89
+24
+da
+70
+89
+23
+de
+70
+89
+22
+e2
+70
+89
+21
+e6
+70
+89
+20
+ea
+70
+89
+1f
+ee
+70
+89
+1e
+f2
+70
+89
+1d
+f6
+70
+89
+1c
+fb
+70
+89
+1b
+fb
+70
+89
+1a
+fb
+70
+89
+47
+f5
+70
+89
+46
+e6
+70
+89
+45
+d7
+70
+89
+44
+d6
+70
+89
+43
+c7
+70
+89
+42
+c6
+70
+89
+41
+87
+70
+89
+40
+86
+70
+89
+3f
+85
+70
+89
+3e
+46
+70
+89
+3d
+07
+70
+89
+3c
+06
+70
+89
+3b
+c7
+70
+89
+3a
+c6
+70
+89
+39
+c5
+70
+89
+38
+c4
+70
+89
+37
+c3
+70
+89
+36
+c2
+70
+89
+35
+c1
+70
+89
+34
+c0
+70
+89
+33
+80
+70
+89
+32
+80
+70
+89
+31
+80
+70
+89
+4a
+7f
+70
+89
+49
+f8
+70
+89
+48
+00
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+3c
+70
+89
+59
+10
+58
+30
+00
+00
+60
+11
+89
+69
+70
+89
+68
+64
+70
+40
+be
+24
+20
+40
+00
+ea
+70
+89
+68
+e4
+79
+20
+2a
+03
+18
+00
+2a
+00
+20
+40
+00
+c9
+20
+40
+00
+db
+20
+60
+00
+00
+70
+89
+06
+02
+58
+26
+25
+a0
+20
+40
+01
+1f
+70
+89
+00
+7f
+20
+00
+00
+82
+70
+89
+01
+10
+70
+89
+52
+30
+20
+00
+00
+c8
+70
+89
+52
+f0
+18
+00
+72
+32
+68
+10
+89
+80
+c2
+82
+80
+d6
+c2
+00
+00
+d3
+60
+00
+c0
+ce
+70
+89
+01
+00
+70
+89
+00
+00
+70
+89
+06
+00
+20
+60
+00
+00
+68
+00
+c0
+ce
+79
+20
+7e
+05
+60
+10
+89
+52
+68
+18
+89
+50
+18
+41
+04
+07
+1f
+e9
+fe
+00
+98
+41
+fe
+00
+60
+10
+89
+50
+68
+10
+89
+51
+79
+3f
+fe
+00
+60
+10
+89
+51
+68
+10
+89
+52
+79
+3f
+fe
+05
+60
+10
+89
+52
+20
+60
+00
+00
+68
+10
+89
+6b
+79
+3f
+fe
+04
+79
+3f
+fe
+05
+60
+10
+89
+6b
+70
+89
+05
+00
+70
+89
+04
+70
+70
+89
+05
+ff
+68
+10
+89
+6b
+79
+20
+7e
+04
+79
+20
+7e
+05
+60
+10
+89
+6b
+20
+40
+00
+fc
+70
+80
+42
+05
+20
+60
+00
+00
+70
+80
+42
+08
+70
+89
+05
+00
+70
+89
+04
+70
+20
+60
+00
+00
+68
+19
+81
+38
+58
+10
+0f
+0f
+98
+46
+7c
+00
+20
+62
+80
+00
+60
+11
+80
+4c
+70
+80
+4f
+ca
+20
+40
+01
+05
+70
+80
+74
+00
+20
+60
+00
+00
+58
+00
+00
+01
+37
+d9
+82
+00
+60
+10
+80
+05
+37
+d9
+82
+00
+37
+d9
+82
+00
+20
+60
+00
+00
+20
+00
+00
+64
+70
+89
+55
+d8
+20
+00
+00
+28
+70
+89
+55
+d2
+20
+00
+00
+28
+70
+89
+55
+d1
+20
+00
+00
+28
+70
+89
+55
+d0
+70
+89
+56
+e0
+18
+00
+2a
+00
+78
+50
+fc
+00
+78
+50
+7c
+00
+78
+2f
+7c
+00
+70
+89
+06
+00
+70
+89
+03
+00
+70
+89
+04
+70
+70
+89
+02
+00
+70
+89
+01
+00
+70
+89
+00
+00
+20
+60
+00
+00
+1f
+e3
+7e
+00
+1f
+e0
+ff
+fd
+1f
+e0
+ff
+ff
+24
+22
+81
+21
+18
+00
+7e
+00
+20
+60
+00
+00
+70
+89
+04
+77
+70
+89
+03
+03
+20
+00
+00
+0a
+70
+89
+03
+83
+70
+89
+04
+7f
+70
+89
+03
+a7
+20
+60
+00
+00
+70
+4a
+f8
+01
+70
+4a
+fa
+01
+70
+4a
+f7
+4f
+68
+02
+4a
+f7
+60
+02
+4a
+fb
+68
+08
+ca
+fb
+18
+40
+85
+ff
+68
+00
+ca
+fe
+c0
+00
+01
+41
+20
+40
+01
+25
+20
+40
+02
+42
+78
+43
+fc
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+68
+08
+ca
+fc
+18
+42
+2a
+00
+68
+10
+89
+08
+28
+4f
+fe
+03
+79
+20
+fe
+05
+60
+10
+89
+08
+20
+20
+01
+a1
+20
+40
+01
+25
+20
+40
+02
+42
+20
+40
+02
+93
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+20
+40
+54
+7f
+68
+10
+89
+08
+28
+4f
+fe
+03
+79
+20
+fe
+05
+60
+10
+89
+08
+d8
+a0
+11
+9e
+58
+cc
+cc
+cc
+60
+01
+91
+9e
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+df
+20
+00
+18
+d8
+c0
+11
+9e
+20
+20
+01
+5a
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+01
+5a
+20
+40
+01
+78
+58
+00
+2e
+e0
+20
+40
+2a
+8f
+20
+40
+01
+ad
+68
+02
+4a
+fb
+68
+0a
+4a
+f7
+98
+46
+7c
+00
+24
+42
+81
+66
+20
+20
+01
+2f
+58
+12
+4f
+80
+20
+40
+2a
+8f
+58
+12
+4f
+80
+20
+40
+2a
+8f
+58
+12
+4f
+80
+20
+40
+2a
+8f
+20
+20
+00
+15
+20
+40
+01
+25
+20
+40
+02
+42
+20
+40
+02
+93
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+20
+40
+54
+7f
+68
+00
+ca
+fd
+60
+10
+89
+08
+20
+20
+01
+c2
+20
+20
+01
+0b
+68
+08
+ca
+fb
+18
+40
+85
+ff
+68
+00
+ca
+ff
+2f
+e0
+02
+01
+20
+40
+81
+92
+24
+40
+81
+85
+20
+40
+4c
+2e
+68
+03
+ca
+fb
+68
+0b
+ca
+f7
+98
+46
+7c
+00
+20
+22
+81
+7f
+20
+20
+01
+2c
+20
+40
+01
+78
+20
+40
+02
+96
+58
+00
+05
+00
+20
+40
+2a
+8f
+20
+20
+29
+24
+78
+4e
+fc
+00
+78
+4e
+7c
+00
+78
+46
+fc
+00
+78
+46
+7c
+00
+78
+44
+fc
+00
+78
+47
+7c
+00
+78
+43
+fc
+00
+20
+20
+01
+0b
+20
+40
+01
+78
+20
+40
+02
+96
+68
+08
+ca
+fc
+18
+41
+2a
+07
+20
+20
+29
+eb
+20
+40
+01
+25
+20
+40
+02
+42
+78
+43
+fc
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+68
+08
+ca
+fc
+18
+42
+2a
+00
+68
+00
+ca
+fd
+60
+10
+89
+08
+c0
+00
+01
+c0
+df
+20
+00
+1e
+d8
+c0
+4c
+07
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+01
+a3
+20
+40
+01
+ad
+68
+02
+4a
+fb
+68
+0a
+4a
+f7
+98
+46
+7c
+00
+20
+22
+81
+a1
+20
+40
+01
+66
+20
+20
+01
+2f
+20
+40
+00
+15
+c0
+02
+01
+ba
+c0
+00
+81
+b1
+20
+60
+00
+00
+68
+00
+ca
+f7
+c0
+27
+81
+b6
+c0
+17
+01
+b8
+70
+4a
+f7
+4f
+20
+60
+00
+00
+70
+4a
+f7
+2e
+20
+60
+00
+00
+70
+4a
+f7
+02
+20
+60
+00
+00
+68
+00
+ca
+fe
+c0
+00
+01
+be
+70
+4a
+fa
+00
+20
+60
+00
+00
+70
+4a
+fa
+01
+20
+60
+00
+00
+68
+00
+cb
+00
+c0
+00
+82
+08
+68
+00
+ca
+fc
+c0
+00
+81
+c7
+c0
+01
+81
+d4
+c0
+03
+81
+e1
+20
+60
+00
+00
+68
+00
+cb
+01
+c0
+0c
+81
+cb
+c0
+3c
+01
+ce
+c0
+78
+01
+d1
+df
+20
+00
+37
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+00
+cd
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+01
+63
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+68
+00
+cb
+01
+c0
+0c
+81
+d8
+c0
+3c
+01
+db
+c0
+78
+01
+de
+df
+20
+00
+69
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+01
+95
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+02
+c1
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+68
+00
+cb
+01
+c0
+0c
+81
+e5
+c0
+3c
+01
+e8
+c0
+78
+01
+eb
+df
+20
+00
+78
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+02
+4e
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+03
+e8
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+68
+00
+cb
+01
+c0
+0c
+81
+f2
+c0
+3c
+01
+f5
+c0
+78
+01
+f8
+df
+20
+00
+69
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+01
+95
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+02
+c1
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+68
+00
+cb
+01
+c0
+0c
+81
+ff
+c0
+3c
+02
+02
+c0
+78
+02
+05
+df
+20
+00
+78
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+02
+4e
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+03
+e8
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+68
+00
+ca
+fc
+c0
+00
+82
+0d
+c0
+01
+81
+ee
+c0
+03
+81
+fb
+20
+60
+00
+00
+68
+00
+cb
+01
+c0
+0c
+82
+11
+c0
+3c
+02
+14
+c0
+78
+02
+17
+df
+20
+00
+37
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+00
+cd
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+01
+63
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+02
+1a
+20
+20
+02
+25
+20
+40
+4c
+2e
+68
+03
+ca
+fb
+68
+0b
+ca
+f7
+98
+46
+7c
+00
+20
+22
+81
+c2
+20
+40
+01
+78
+20
+20
+01
+2c
+20
+40
+01
+78
+20
+40
+7f
+16
+d8
+e0
+00
+0f
+58
+00
+00
+0c
+20
+40
+7f
+08
+d8
+e0
+00
+0f
+20
+40
+7f
+16
+20
+3a
+02
+33
+20
+40
+4c
+2e
+68
+03
+ca
+fb
+68
+0b
+ca
+f7
+98
+46
+7c
+00
+20
+22
+82
+2a
+20
+20
+01
+2c
+18
+0a
+7e
+00
+60
+00
+cc
+06
+68
+00
+cc
+06
+1f
+e6
+7c
+50
+20
+21
+02
+3b
+1f
+e0
+ff
+b0
+60
+00
+cc
+06
+20
+20
+02
+35
+68
+00
+cc
+06
+c0
+00
+02
+40
+c0
+00
+82
+40
+60
+00
+ca
+f7
+20
+20
+01
+2c
+70
+4a
+f7
+02
+20
+20
+01
+2c
+60
+08
+80
+17
+18
+40
+a2
+01
+20
+40
+02
+5c
+58
+00
+05
+00
+20
+40
+01
+1f
+70
+89
+06
+01
+70
+89
+00
+3c
+70
+89
+01
+e0
+70
+89
+6d
+12
+20
+00
+00
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
+20
+00
+00
+0a
+70
+89
+03
+b7
+20
+00
+00
+0a
+70
+89
+02
+7d
+70
+89
+56
+ff
+20
+00
+00
+04
+70
+89
+55
+d1
+20
+00
+00
+04
+70
+89
+55
+d2
+20
+00
+00
+04
+70
+89
+55
+d8
+20
+00
+00
+04
+70
+89
+55
+df
+20
+60
+00
+00
+58
+00
+09
+60
+9a
+20
+84
+00
+68
+00
+c0
+bd
+70
+89
+5f
+04
+98
+4f
+fe
+00
+68
+08
+c0
+be
+98
+46
+fc
+00
+20
+40
+02
+72
+18
+07
+a2
+00
+18
+07
+7e
+00
+1f
+f0
+7e
+00
+1f
+f2
+7e
+00
+98
+46
+fc
+00
+20
+40
+02
+72
+18
+07
+fe
+00
+1f
+ed
+7e
+00
+1f
+e3
+fe
+00
+9a
+21
+fe
+00
+60
+12
+09
+60
+70
+89
+5f
+44
+70
+89
+5f
+c4
+20
+60
+00
+00
+20
+7a
+80
+00
+20
+20
+02
+72
+df
+20
+00
+ff
+d8
+a0
+4c
+07
+58
+00
+01
+ff
+18
+00
+24
+00
+1f
+e9
+22
+00
+1a
+23
+22
+00
+9a
+22
+a2
+00
+2a
+2f
+fe
+00
+79
+20
+fe
+09
+18
+43
+04
+00
+2f
+ef
+fe
+00
+79
+20
+84
+07
+1f
+e3
+7e
+00
+1a
+40
+a4
+01
+2a
+40
+0e
+00
+24
+20
+82
+78
+e0
+a8
+80
+00
+c2
+00
+02
+78
+20
+60
+00
+00
+68
+12
+00
+78
+68
+1a
+00
+7c
+98
+41
+fe
+00
+1f
+e4
+7e
+00
+68
+1a
+00
+70
+98
+41
+fe
+00
+60
+12
+00
+70
+20
+60
+00
+00
+70
+82
+80
+05
+20
+60
+00
+00
+20
+20
+02
+91
+20
+20
+02
+92
+78
+3b
+7c
+00
+70
+89
+14
+07
+20
+60
+00
+00
+60
+08
+80
+17
+18
+40
+a2
+04
+20
+20
+02
+5c
+e0
+92
+aa
+55
+01
+00
+9a
+46
+02
+aa
+55
+06
+00
+a0
+44
+72
+32
+00
+98
+07
+2a
+aa
+55
+0d
+00
+af
+43
+0c
+53
+68
+75
+74
+74
+65
+72
+20
+54
+65
+73
+74
+aa
+55
+06
+00
+a0
+40
+21
+00
+24
+00
+20
+00
+aa
+55
+0c
+00
+15
+45
+0b
+5a
+52
+50
+20
+53
+68
+75
+74
+74
+65
+72
+aa
+55
+02
+00
+ae
+46
+30
+00
+aa
+55
+02
+00
+a4
+46
+00
+00
+aa
+55
+04
+00
+9b
+46
+00
+fb
+05
+20
+aa
+55
+02
+00
+a2
+46
+00
+00
+aa
+55
+02
+00
+f1
+46
+01
+00
+aa
+55
+02
+00
+19
+47
+06
+00
+aa
+55
+02
+00
+f6
+46
+02
+00
+aa
+55
+02
+00
+1e
+47
+06
+00
+aa
+55
+02
+00
+fb
+46
+07
+00
+aa
+55
+02
+00
+23
+47
+08
+00
+aa
+55
+01
+00
+86
+46
+ff
+aa
+55
+02
+00
+dd
+46
+00
+08
+aa
+55
+02
+00
+3f
+42
+df
+46
+aa
+55
+03
+00
+df
+46
+00
+14
+20
+aa
+55
+01
+00
+91
+40
+01
+aa
+55
+03
+00
+54
+41
+00
+01
+08
+aa
+55
+02
+00
+72
+41
+05
+02
+aa
+55
+03
+00
+9f
+46
+09
+0a
+0b
+aa
+55
+04
+00
+e3
+41
+30
+00
+01
+00
+aa
+55
+01
+00
+5a
+45
+0a
+aa
+55
+08
+00
+b9
+46
+96
+00
+96
+00
+96
+02
+96
+02
+aa
+55
+08
+00
+c9
+46
+10
+00
+20
+00
+02
+00
+2c
+01
+aa
+55
+03
+00
+1a
+42
+01
+c9
+48
+aa
+55
+16
+00
+c9
+48
+00
+00
+01
+a0
+01
+a0
+01
+00
+00
+00
+00
+01
+07
+01
+a0
+03
+a0
+03
+00
+00
+00
+00
+aa
+55
+04
+00
+b1
+46
+10
+00
+40
+01
+aa
+55
+02
+00
+82
+44
+40
+01
+aa
+55
+02
+00
+b5
+46
+50
+00
+aa
+55
+01
+00
+92
+40
+09
+aa
+55
+01
+00
+8d
+44
+07
+aa
+55
+01
+00
+6e
+43
+00
+aa
+55
+08
+00
+d1
+46
+00
+ff
+00
+ff
+00
+ff
+00
+ff
+aa
+55
+02
+00
+18
+42
+fa
+47
+aa
+55
+02
+00
+fa
+47
+01
+20
+aa
+55
+0c
+00
+6f
+43
+1f
+02
+01
+05
+03
+02
+12
+18
+03
+19
+c1
+03
+aa
+55
+20
+00
+8f
+43
+1f
+0d
+09
+56
+30
+2d
+53
+68
+75
+74
+74
+65
+72
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+02
+00
+3d
+42
+e6
+46
+aa
+55
+01
+00
+e6
+46
+01
+aa
+55
+03
+00
+e9
+46
+08
+0c
+0d
+aa
+55
+01
+00
+07
+42
+17
+aa
+55
+03
+00
+15
+42
+1f
+48
+05
+aa
+55
+02
+00
+aa
+40
+40
+25
+aa
+55
+03
+00
+5b
+46
+03
+00
+04
+aa
+55
+01
+00
+62
+46
+03
+aa
+55
+01
+00
+5a
+46
+01
+aa
+55
+01
+00
+84
+46
+01
+aa
+55
+01
+00
+5a
+41
+00
+aa
+55
+08
+00
+98
+40
+ff
+ff
+8f
+f8
+9b
+9d
+59
+83
+aa
+55
+03
+00
+e2
+46
+03
+07
+02
+aa
+55
+02
+00
+bc
+44
+3a
+91
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+0e
+00
+77
+45
+06
+03
+11
+00
+00
+01
+02
+10
+24
+11
+00
+12
+01
+00
+aa
+55
+01
+00
+8d
+45
+00
+aa
+55
+02
+00
+75
+45
+b8
+92
+aa
+55
+01
+00
+00
+40
+01
+aa
+55
+03
+00
+75
+41
+8f
+10
+ca
+aa
+55
+04
+00
+79
+41
+0a
+0b
+ef
+07
+aa
+55
+01
+00
+57
+41
+00
+aa
+55
+08
+00
+a1
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+02
+00
+bd
+40
+02
+24
+aa
+55
+08
+00
+ad
+40
+24
+00
+00
+02
+24
+00
+00
+02
+aa
+55
+02
+00
+bb
+40
+20
+00
+aa
+55
+04
+00
+b7
+40
+20
+00
+00
+20
+aa
+55
+04
+00
+bf
+40
+80
+04
+00
+08
+aa
+55
+05
+00
+78
+41
+00
+0a
+1b
+ef
+07
+aa
+55
+05
+00
+10
+45
+08
+0e
+05
+04
+00
+aa
+55
+02
+00
+03
+42
+30
+1f
+aa
+55
+01
+00
+11
+42
+20
+aa
+55
+01
+00
+df
+41
+01
+aa
+55
+01
+00
+e1
+41
+ff
+aa
+55
+02
+00
+c3
+40
+e1
+41
+37
+f9
Index: YJX_Only24g/FCC_1021S/output/eeprom2hciimage.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/eeprom2hciimage.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/eeprom2hciimage.pl	(working copy)
@@ -0,0 +1,522 @@
+    @data = ();
+    $_DEBUG_ = 0;
+    $MAX_CODE_PACKET_LEN = 0xF0;
+    $MAX_MEM_PACKET_LEN = 0xF0;
+    $i = 0;
+    @mem_patch = ();
+    $mem_patch_len = 0;
+    
+    
+		##############################
+		####Get All Data##############
+		##############################
+    open(EEP,"eeprom.dat") or die $!;
+    while (<EEP>) {
+    	$data[$i ++] = hex();
+    	#printf "%x ",$data[$i-1]; #DEBUG;
+    }
+    close(EEP);
+   	if(int($_DEBUG_)){printf "DEBUG:debug code\n";}
+ 
+ 		##############################
+		#####Get Eeprom Type##########
+		##############################
+		$Type_Not_Encrypt_IS_8051 = 0;
+		$Type_Not_Encrypt_No_8051	= 1;
+		$Type_Encrpt_IS_8051			= 2;
+		$Type_Encrpt_No_8051			= 3;
+		$EepromType = 0;
+    $fileOffset = $data[0] + $data[1];
+		if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8) + 4 + $fileOffset;
+		   	if(int($_DEBUG_)){printf "DEBUG:Bt code lenght is %d \n", $blockSize;}
+				if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+					$blockSize = $blockSize + $data[$blockSize + 2] + ($data[$blockSize + 3] << 8) + 4;
+					if(int($_DEBUG_)){printf "DEBUG:8051 code lenght is %d \n", $blockSize;}
+					if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+						$EepromType = $Type_Not_Encrypt_IS_8051;
+					}
+					else{
+						$EepromType = $Type_Not_Encrypt_No_8051;
+					}
+				}
+				else {
+	    		die "ERROR:Block header \"aa55\" Error while Get Eeprom Type!\n";
+				}
+		}
+		else {
+			$fileOffset += 16;
+			if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8) + 4 + $fileOffset;
+		   	if(int($_DEBUG_)){printf "DEBUG:Encrpt Bt code lenght is %d \n", $blockSize;}
+				if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+					$blockSize = $blockSize + $data[$blockSize + 2] + ($data[$blockSize + 3] << 8) + 4;
+					if(int($_DEBUG_)){printf "DEBUG:Encrpt 8051 code lenght is %d \n", $blockSize;}
+					if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+						$EepromType = $Type_Encrpt_IS_8051;
+					}
+					else{
+						$EepromType = $Type_Encrpt_No_8051;
+					}
+				}
+				else {
+	    		die "ERROR:Block header \"aa55\" Error while Get Eeprom Type!\n";
+				}
+		}
+		}
+		{#type code debug
+		if(int($_DEBUG_)){printf "DEBUG:0:not encrypt have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:1:not encrypt no have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:2:encrypt have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:3:encrypt no have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:eeprom type is $EepromType\n";}
+		}
+#   	die ;
+   	if($EepromType == $Type_Not_Encrypt_IS_8051 || $EepromType == $Type_Not_Encrypt_No_8051)
+   	{
+    open(BINFILE, ">bt_patch.bin");
+    binmode(BINFILE);
+		##############################
+		####Calc Output Size##########
+		##############################
+    $fileSize = @data;
+    $blocksCount = 0;
+    $outputSize = 0;
+    $codeBlockSize = 0;
+    $fileOffset = $data[0] + $data[1];
+    while($fileOffset < ($fileSize - 1)){
+    	if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);
+    		$outputSize += $blockSize;
+    		if(0 == $blocksCount){
+    			$codeCmdPacketCnt = int(($blockSize - 2) / $MAX_CODE_PACKET_LEN);
+					if(0 != ($blockSize - 2) % $MAX_CODE_PACKET_LEN){
+			    	$codeCmdPacketCnt ++;
+			    }
+			    $outputSize += (9 * $codeCmdPacketCnt) - 2; #2byte crc was behind code block
+    			$fileOffset += $blockSize + 4;
+    			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,codeCmdPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$codeCmdPacketCnt,$outputSize;}
+    		}elsif(1 == $blocksCount && $EepromType == $Type_Not_Encrypt_IS_8051){
+    			$fileOffset += $blockSize + 4;
+    		}else{
+    			
+	  			$memPacketCnt = int($blockSize / $MAX_MEM_PACKET_LEN);
+	  			if(0 != $blockSize % $MAX_MEM_PACKET_LEN){
+	  				$memPacketCnt ++;
+	  			}
+	  			$outputSize += 8 * $memPacketCnt;
+	  			$fileOffset += $blockSize + 6;
+	  			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,memPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$memPacketCnt,$outputSize;}
+    		}
+    		$blocksCount ++;
+    	}else{
+    		if($fileOffset == $fileSize - 2){
+    			$fileOffset += 2;
+    		}else{
+	    		printf "ERROR:blockSize:%d blocksCount: %d\n",$blockSize, $blocksCount;
+	    		printf "ERROR:fileOffset:%d Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+	    		die "ERROR:Block header \"aa55\" Error while Calc output size!\n";
+    		}
+    	}
+    }
+		
+    $outputSize +=  40;
+    printf BINFILE "%c", ($outputSize & 0xff);#offset low
+		printf BINFILE "%c", (($outputSize >> 8) & 0xff);#offset High
+		
+		
+		##############################
+		####Start Generate Bin########
+		##############################
+		$blocksCount = 0;
+    $fileOffset = $data[0] + $data[1];
+    while($fileOffset < ($fileSize - 1)){ #file was endof a 0xff, ignore it.
+    	if(int($_DEBUG_)){printf "DEBUG:Process a new block:%d\n", $blocksCount;}
+    	if(0 == $blocksCount){#bt code block 
+    		##############################
+    		####Process bt code block!####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x01!\n";
+    		}
+    		if(int($_DEBUG_)){printf "DEBUG:fileOffset:%x, data+2:%x, data+3:%x\n",$fileOffset, $data[$fileOffset + 2], $data[$fileOffset + 3];}
+    		$codeSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8) - 2;
+    		$codeStart = $fileOffset + 4;#aa 55 LL LH
+    		$codeEnd = $codeStart + $codeSize;
+    		$codeoffset = $codeStart;
+    		
+    		if(int($_DEBUG_)){printf "DEBUG:Begain to Process bt code block.\n";}
+    		if(int($_DEBUG_)){printf "DEBUG:codeSize:%x, codeoffset:%x, codeEnd:%x\n",$codeSize, $codeoffset, $codeEnd;}
+    		if(int($_DEBUG_)){printf "DEBUG:codeEnd data:%x\n", $data[$codeEnd];}
+
+    		while($codeoffset < $codeEnd){
+    			
+	    		$packetLen = $MAX_CODE_PACKET_LEN;
+	    		if($codeoffset + $packetLen > $codeSize){
+	    			$packetLen = $codeEnd - $codeoffset;
+	    			if($packetLen > $MAX_CODE_PACKET_LEN){
+	    				$packetLen = $MAX_CODE_PACKET_LEN;
+	    			}
+	    		}
+	    		if(int($_DEBUG_)){printf "DEBUG:new packet codeoffset:%x, length:%x\n", $codeoffset, $packetLen;}
+	    		$packetEnd = $codeoffset + $packetLen;
+	    		printf BINFILE "%c", (($packetLen + 8) & 0xff);#whole packet len;
+					printf BINFILE "%c%c%c", 0x01, 0x03, 0xfc;
+					printf BINFILE "%c", (($packetLen + 4) & 0xff);#packet len;
+					printf BINFILE "%c", (($codeoffset - 6) & 0xff);#offset low
+					printf BINFILE "%c", ((($codeoffset - 6) >> 8) & 0xff);#offset High
+					printf BINFILE "%c", (($packetLen) & 0xff);#code len;
+					$checkSum = ($codeoffset - 6) + (($codeoffset - 6) >> 8) + ($packetLen);
+	    		while($codeoffset < $packetEnd){
+	    			if(int($_DEBUG_)){printf "%02x ", $data[$codeoffset];}#DEBUG
+	    			{printf BINFILE "%c", ($data[$codeoffset] & 0xff);}#code;
+	    			$checkSum += $data[$codeoffset];
+	    			$codeoffset ++;
+	    		}
+	    		printf BINFILE "%c", ($checkSum & 0xff);#check sum;
+	    		if(int($_DEBUG_)){printf "DEBUG: Packet End.\n"}
+    		}
+    		
+    		$fileOffset = $codeEnd + 2; #add crc16
+    		##############################
+    		####End of bt code block  ####
+    		##############################
+    		
+    	}elsif(1 == $blocksCount && $EepromType == $Type_Not_Encrypt_IS_8051){#c51 code block 
+    		##############################
+    		####Process C51 code block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x02\n";
+    		}
+    		
+    		$fileOffset += 4;
+    		##############################
+    		####End of C51 code block ####
+    		##############################
+    	}else{
+    		##############################
+    		####Process a memory block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			if($fileOffset == $fileSize - 2){
+    				$fileOffset += 2;
+    			}else{
+    				printf "ERROR:fileSize = %d\n", $fileSize;
+    				printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    				die "ERROR:Block header \"aa55\" Error Code 0x03\n";
+    			}
+    		}
+    		$memBlockLen = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);
+    		$memBlockAddr = $data[$fileOffset + 4] + ($data[$fileOffset + 5] << 8);
+  			$memBlockBreakCnt = int($memBlockLen / $MAX_MEM_PACKET_LEN);
+  			if(0 != $memBlockLen % $MAX_MEM_PACKET_LEN){
+  				$memBlockBreakCnt ++;
+  			}
+
+  			if(int($_DEBUG_)){printf "DEBUG:memBlock, memBlockLen:%d, memBlockAddr:0x%x, memBlockBreakCnt:%d\n",$memBlockLen,$memBlockAddr,$memBlockBreakCnt ;}
+  			if(0x4000 == $memBlockAddr){
+    			$mem_patch_len = $memBlockLen;
+    			if(int($_DEBUG_)){printf "DEBUG:Find mem_patch, length = %d\n",$mem_patch_len;}
+    		}
+    		
+  			$j = 0;
+  			$memOffset = 0;                     #mem data offset in binfile
+  			$currentPacketAddr = $memBlockAddr;  #addr write in packet
+  			$memBlockStart = $fileOffset + 6;   #mem data start in binfile
+  			
+  			while($j++ < $memBlockBreakCnt){
+  				#for one single packet.
+  				$currentPacketLen = $MAX_MEM_PACKET_LEN;
+  				if($memOffset + $currentPacketLen > $memBlockLen){
+    				$currentPacketLen = $memBlockLen - $memOffset;#last packet
+    			}
+    			
+    			if(int($_DEBUG_)){printf "DEBUG:memPacket, currentPacketLen:%d, currentPacketAddr:0x%x, memOffset:%d\n",$currentPacketLen,$currentPacketAddr,$memOffset ;}
+    			
+  				#packet header
+  				printf BINFILE "%c", (($currentPacketLen + 7) & 0xff);
+					printf BINFILE "%c%c%c", 0x01, 0x10, 0xfc;
+					printf BINFILE "%c", (($currentPacketLen + 3) & 0xff);
+					printf BINFILE "%c", ($currentPacketLen & 0xff);
+					printf BINFILE "%c", ($currentPacketAddr & 0xff);
+					printf BINFILE "%c", (($currentPacketAddr >> 8) & 0xff);
+					
+					#copy data
+					$i = 0;
+					while($i < $currentPacketLen){
+						printf BINFILE "%c",($data[$memBlockStart + $memOffset + $i] & 0xff);
+						if(0x4000 == $memBlockAddr){
+							$mem_patch[$i] = ($data[$memBlockStart + $memOffset + $i] & 0xff)
+						}
+						$i++;
+					}
+					
+					#endof one packet
+  				$currentPacketAddr += $i;
+  				$memOffset += $i;
+  				
+  			}
+  			#endof a mem block
+  			$fileOffset = ($memBlockStart + $memOffset);
+  			##############################
+  			####End of a memory block#####
+  			##############################
+	    		
+    	}
+    	$blocksCount ++;
+    }
+    if(int($_DEBUG_)){printf "DEBUG:fileOffset:%d, fileSize:%d", $fileOffset, $fileSize;}
+    if(int($_DEBUG_)){printf "DEBUG:End of block process.Memory block count:%d\n", ($blocksCount - 2);}
+    if(0x40 != $mem_patch_len){
+    	printf "ERROR:mem_patch_len:%d",$mem_patch_len;
+    	die "ERROR:Cannot find mem_patch block or length error.";
+    }
+    
+    printf BINFILE "%c%c%c%c%c", 0x25, 0x01, 0x04, 0xfc, 0x21;
+		$i = 0;
+		$checksum = 0;
+		while($i < 0x20){
+			printf BINFILE "%c", ($mem_patch[$i] & 0xff);
+			
+			$checksum += ($mem_patch[$i] & 0xff);
+			$i ++;
+		}
+		printf BINFILE "%c", ($checksum & 0xff);
+		
+		close(BINFILE);
+		
+		
+		}
+		else{
+    open(BINFILE, ">bt_patch.bin");
+    binmode(BINFILE);
+		##############################
+		####Calc Output Size##########
+		##############################
+    $fileSize = @data;
+    $blocksCount = 0;
+    $outputSize = 0;
+    $codeBlockSize = 0;
+    $fileOffset = $data[0] + $data[1] + 16;
+    while($fileOffset < ($fileSize - 1)){
+    	if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);#no crc
+    		$outputSize += $blockSize + 2;
+    		if(0 == $blocksCount){
+    			$codeCmdPacketCnt = int(($blockSize) / $MAX_CODE_PACKET_LEN);
+					if(0 != ($blockSize) % $MAX_CODE_PACKET_LEN){
+			    	$codeCmdPacketCnt ++;
+			    }
+			    $outputSize += (9 * $codeCmdPacketCnt); #2byte crc was behind code block
+    			$fileOffset += $blockSize + 4;
+    			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,codeCmdPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$codeCmdPacketCnt,$outputSize;}
+    		}elsif(1 == $blocksCount && $EepromType == $Type_Encrpt_IS_8051){
+    			$fileOffset += $blockSize + 4;
+    		}else{
+    			
+	  			$memPacketCnt = int($blockSize / $MAX_MEM_PACKET_LEN);
+	  			if(0 != $blockSize % $MAX_MEM_PACKET_LEN){
+	  				$memPacketCnt ++;
+	  			}
+	  			$outputSize += 8 * $memPacketCnt;
+	  			$fileOffset += $blockSize + 6;
+	  			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,memPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$memPacketCnt,$outputSize;}
+    		}
+    		$blocksCount ++;
+    	}else{
+    		if($fileOffset == $fileSize - 2){
+    			$fileOffset += 2;
+    		}else{
+	    		printf "ERROR:blockSize:%d blocksCount: %d\n",$blockSize, $blocksCount;
+	    		printf "ERROR:fileOffset:%d Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+	    		die "ERROR:Block header \"aa55\" Error while Calc output size!\n";
+    		}
+    	}
+    }
+		
+    $outputSize +=  40 + 0x16 - 5;
+    printf BINFILE "%c", ($outputSize & 0xff);#offset low
+		printf BINFILE "%c", (($outputSize >> 8) & 0xff);#offset High
+		
+    printf BINFILE "%c%c%c%c%c", 0x15, 0x01, 0x12, 0xfc, 0x11;
+		$i = 0;
+		$checksum = 0;
+		$fileOffset = $data[0] + $data[1];
+		while($i < 0x10){
+			printf BINFILE "%c", ($data[$i + $fileOffset] & 0xff);
+			
+			$checksum += ($data[$i + $fileOffset] & 0xff);
+			$i ++;
+		}
+		printf BINFILE "%c", ($checksum & 0xff);
+		
+		
+		##############################
+		####Start Generate Bin########
+		##############################
+		$blocksCount = 0;
+    $fileOffset = $data[0] + $data[1] + 16;
+    while($fileOffset < ($fileSize - 1)){ #file was endof a 0xff, ignore it.
+    	if(int($_DEBUG_)){printf "DEBUG:Process a new block:%d\n", $blocksCount;}
+    	if(0 == $blocksCount){#bt code block 
+    		##############################
+    		####Process bt code block!####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x01!\n";
+    		}
+    		if(int($_DEBUG_)){printf "DEBUG:fileOffset:%x, data+2:%x, data+3:%x\n",$fileOffset, $data[$fileOffset + 2], $data[$fileOffset + 3];}
+    		$codeSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);#no crc
+    		$codeStart = $fileOffset + 4;#aa 55 LL LH
+    		$codeEnd = $codeStart + $codeSize;
+    		$codeoffset = $codeStart;
+    		
+    		if(int($_DEBUG_)){printf "DEBUG:Begain to Process bt code block.\n";}
+    		if(int($_DEBUG_)){printf "DEBUG:codeSize:%x, codeoffset:%x, codeEnd:%x\n",$codeSize, $codeoffset, $codeEnd;}
+    		if(int($_DEBUG_)){printf "DEBUG:codeEnd data:%x\n", $data[$codeEnd];}
+
+    		while($codeoffset < $codeEnd){
+    			
+	    		$packetLen = $MAX_CODE_PACKET_LEN;
+	    		if($codeoffset + $packetLen > $codeSize){
+	    			$packetLen = $codeEnd - $codeoffset;
+	    			if($packetLen > $MAX_CODE_PACKET_LEN){
+	    				$packetLen = $MAX_CODE_PACKET_LEN;
+	    			}
+	    		}
+	    		if(int($_DEBUG_)){printf "DEBUG:new packet codeoffset:%x, length:%x\n", $codeoffset, $packetLen;}
+	    		$packetEnd = $codeoffset + $packetLen;
+	    		printf BINFILE "%c", (($packetLen + 8) & 0xff);#whole packet len;
+					printf BINFILE "%c%c%c", 0x01, 0x13, 0xfc;
+					printf BINFILE "%c", (($packetLen + 4) & 0xff);#packet len;
+					printf BINFILE "%c", (($codeoffset - 6 - 16) & 0xff);#offset low
+					printf BINFILE "%c", ((($codeoffset - 6 - 16) >> 8) & 0xff);#offset High
+					printf BINFILE "%c", (($packetLen) & 0xff);#code len;
+					$checkSum = ($codeoffset - 6 - 16) + (($codeoffset - 6 - 16) >> 8) + ($packetLen);
+	    		while($codeoffset < $packetEnd){
+	    			if(int($_DEBUG_)){printf "%02x ", $data[$codeoffset];}#DEBUG
+	    			{printf BINFILE "%c", ($data[$codeoffset] & 0xff);}#code;
+	    			$checkSum += $data[$codeoffset];
+	    			$codeoffset ++;
+	    		}
+	    		printf BINFILE "%c", ($checkSum & 0xff);#check sum;
+	    		if(int($_DEBUG_)){printf "DEBUG: Packet End.\n"}
+    		}
+    		
+    		$fileOffset = $codeEnd; #no crc16
+    		##############################
+    		####End of bt code block  ####
+    		##############################
+    		
+    	}elsif(1 == $blocksCount && $EepromType == $Type_Encrpt_IS_8051){#c51 code block 
+    		##############################
+    		####Process C51 code block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x02\n";
+    		}
+    		
+    		$fileOffset += 4;
+    		##############################
+    		####End of C51 code block ####
+    		##############################
+    	}else{
+    		##############################
+    		####Process a memory block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			if($fileOffset == $fileSize - 2){
+    				$fileOffset += 2;
+    			}else{
+    				printf "ERROR:fileSize = %d\n", $fileSize;
+    				printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    				die "ERROR:Block header \"aa55\" Error Code 0x03\n";
+    			}
+    		}
+    		$memBlockLen = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);
+    		$memBlockAddr = $data[$fileOffset + 4] + ($data[$fileOffset + 5] << 8);
+  			$memBlockBreakCnt = int($memBlockLen / $MAX_MEM_PACKET_LEN);
+  			if(0 != $memBlockLen % $MAX_MEM_PACKET_LEN){
+  				$memBlockBreakCnt ++;
+  			}
+
+  			if(int($_DEBUG_)){printf "DEBUG:memBlock, memBlockLen:%d, memBlockAddr:0x%x, memBlockBreakCnt:%d\n",$memBlockLen,$memBlockAddr,$memBlockBreakCnt ;}
+  			if(0x4000 == $memBlockAddr){
+    			$mem_patch_len = $memBlockLen;
+    			if(int($_DEBUG_)){printf "DEBUG:Find mem_patch, length = %d\n",$mem_patch_len;}
+    		}
+    		
+  			$j = 0;
+  			$memOffset = 0;                     #mem data offset in binfile
+  			$currentPacketAddr = $memBlockAddr;  #addr write in packet
+  			$memBlockStart = $fileOffset + 6;   #mem data start in binfile
+  			
+  			while($j++ < $memBlockBreakCnt){
+  				#for one single packet.
+  				$currentPacketLen = $MAX_MEM_PACKET_LEN;
+  				if($memOffset + $currentPacketLen > $memBlockLen){
+    				$currentPacketLen = $memBlockLen - $memOffset;#last packet
+    			}
+    			
+    			if(int($_DEBUG_)){printf "DEBUG:memPacket, currentPacketLen:%d, currentPacketAddr:0x%x, memOffset:%d\n",$currentPacketLen,$currentPacketAddr,$memOffset ;}
+    			
+  				#packet header
+  				printf BINFILE "%c", (($currentPacketLen + 7) & 0xff);
+					printf BINFILE "%c%c%c", 0x01, 0x10, 0xfc;
+					printf BINFILE "%c", (($currentPacketLen + 3) & 0xff);
+					printf BINFILE "%c", ($currentPacketLen & 0xff);
+					printf BINFILE "%c", ($currentPacketAddr & 0xff);
+					printf BINFILE "%c", (($currentPacketAddr >> 8) & 0xff);
+					
+					#copy data
+					$i = 0;
+					while($i < $currentPacketLen){
+						printf BINFILE "%c",($data[$memBlockStart + $memOffset + $i] & 0xff);
+						if(0x4000 == $memBlockAddr){
+							$mem_patch[$i] = ($data[$memBlockStart + $memOffset + $i] & 0xff)
+						}
+						$i++;
+					}
+					
+					#endof one packet
+  				$currentPacketAddr += $i;
+  				$memOffset += $i;
+  				
+  			}
+  			#endof a mem block
+  			$fileOffset = ($memBlockStart + $memOffset);
+  			##############################
+  			####End of a memory block#####
+  			##############################
+	    		
+    	}
+    	$blocksCount ++;
+    }
+    if(int($_DEBUG_)){printf "DEBUG:fileOffset:%d, fileSize:%d", $fileOffset, $fileSize;}
+    if(int($_DEBUG_)){printf "DEBUG:End of block process.Memory block count:%d\n", ($blocksCount - 2);}
+    if(0x40 != $mem_patch_len){
+    	printf "ERROR:mem_patch_len:%d",$mem_patch_len;
+    	die "ERROR:Cannot find mem_patch block or length error.";
+    }
+    printf BINFILE "%c%c%c%c%c", 0x25, 0x01, 0x04, 0xfc, 0x21;
+		$i = 0;
+		$checksum = 0;
+		while($i < 0x20){
+			printf BINFILE "%c", ($mem_patch[$i] & 0xff);
+			
+			$checksum += ($mem_patch[$i] & 0xff);
+			$i ++;
+		}
+		printf BINFILE "%c", ($checksum & 0xff);
+		
+		close(BINFILE);
+		
+		}
+		
+		
+		
Index: YJX_Only24g/FCC_1021S/output/eeprom2hciimage.pl.bak
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/eeprom2hciimage.pl.bak	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/eeprom2hciimage.pl.bak	(working copy)
@@ -0,0 +1,522 @@
+    @data = ();
+    $_DEBUG_ = 1;
+    $MAX_CODE_PACKET_LEN = 0xF0;
+    $MAX_MEM_PACKET_LEN = 0xF0;
+    $i = 0;
+    @mem_patch = ();
+    $mem_patch_len = 0;
+    
+    
+		##############################
+		####Get All Data##############
+		##############################
+    open(EEP,"eeprom.dat") or die $!;
+    while (<EEP>) {
+    	$data[$i ++] = hex();
+    	#printf "%x ",$data[$i-1]; #DEBUG;
+    }
+    close(EEP);
+   	if(int($_DEBUG_)){printf "DEBUG:debug code\n";}
+ 
+ 		##############################
+		#####Get Eeprom Type##########
+		##############################
+		$Type_Not_Encrypt_IS_8051 = 0;
+		$Type_Not_Encrypt_No_8051	= 1;
+		$Type_Encrpt_IS_8051			= 2;
+		$Type_Encrpt_No_8051			= 3;
+		$EepromType = 0;
+    $fileOffset = $data[0] + $data[1];
+		if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8) + 4 + $fileOffset;
+		   	if(int($_DEBUG_)){printf "DEBUG:Bt code lenght is %d \n", $blockSize;}
+				if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+					$blockSize = $blockSize + $data[$blockSize + 2] + ($data[$blockSize + 3] << 8) + 4;
+					if(int($_DEBUG_)){printf "DEBUG:8051 code lenght is %d \n", $blockSize;}
+					if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+						$EepromType = $Type_Not_Encrypt_IS_8051;
+					}
+					else{
+						$EepromType = $Type_Not_Encrypt_No_8051;
+					}
+				}
+				else {
+	    		die "ERROR:Block header \"aa55\" Error while Get Eeprom Type!\n";
+				}
+		}
+		else {
+			$fileOffset += 16;
+			if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8) + 4 + $fileOffset;
+		   	if(int($_DEBUG_)){printf "DEBUG:Encrpt Bt code lenght is %d \n", $blockSize;}
+				if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+					$blockSize = $blockSize + $data[$blockSize + 2] + ($data[$blockSize + 3] << 8) + 4;
+					if(int($_DEBUG_)){printf "DEBUG:Encrpt 8051 code lenght is %d \n", $blockSize;}
+					if(0xaa == $data[$blockSize] || 0x55 == $data[$blockSize + 1]) {
+						$EepromType = $Type_Encrpt_IS_8051;
+					}
+					else{
+						$EepromType = $Type_Encrpt_No_8051;
+					}
+				}
+				else {
+	    		die "ERROR:Block header \"aa55\" Error while Get Eeprom Type!\n";
+				}
+		}
+		}
+		{#type code debug
+		if(int($_DEBUG_)){printf "DEBUG:0:not encrypt have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:1:not encrypt no have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:2:encrypt have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:3:encrypt no have 8051 code\n";}
+		if(int($_DEBUG_)){printf "DEBUG:eeprom type is $EepromType\n";}
+		}
+#   	die ;
+   	if($EepromType == $Type_Not_Encrypt_IS_8051 || $EepromType == $Type_Not_Encrypt_No_8051)
+   	{
+    open(BINFILE, ">bt_patch.bin");
+    binmode(BINFILE);
+		##############################
+		####Calc Output Size##########
+		##############################
+    $fileSize = @data;
+    $blocksCount = 0;
+    $outputSize = 0;
+    $codeBlockSize = 0;
+    $fileOffset = $data[0] + $data[1];
+    while($fileOffset < ($fileSize - 1)){
+    	if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);
+    		$outputSize += $blockSize;
+    		if(0 == $blocksCount){
+    			$codeCmdPacketCnt = int(($blockSize - 2) / $MAX_CODE_PACKET_LEN);
+					if(0 != ($blockSize - 2) % $MAX_CODE_PACKET_LEN){
+			    	$codeCmdPacketCnt ++;
+			    }
+			    $outputSize += (9 * $codeCmdPacketCnt) - 2; #2byte crc was behind code block
+    			$fileOffset += $blockSize + 4;
+    			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,codeCmdPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$codeCmdPacketCnt,$outputSize;}
+    		}elsif(1 == $blocksCount && $EepromType == $Type_Not_Encrypt_IS_8051){
+    			$fileOffset += $blockSize + 4;
+    		}else{
+    			
+	  			$memPacketCnt = int($blockSize / $MAX_MEM_PACKET_LEN);
+	  			if(0 != $blockSize % $MAX_MEM_PACKET_LEN){
+	  				$memPacketCnt ++;
+	  			}
+	  			$outputSize += 8 * $memPacketCnt;
+	  			$fileOffset += $blockSize + 6;
+	  			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,memPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$memPacketCnt,$outputSize;}
+    		}
+    		$blocksCount ++;
+    	}else{
+    		if($fileOffset == $fileSize - 2){
+    			$fileOffset += 2;
+    		}else{
+	    		printf "ERROR:blockSize:%d blocksCount: %d\n",$blockSize, $blocksCount;
+	    		printf "ERROR:fileOffset:%d Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+	    		die "ERROR:Block header \"aa55\" Error while Calc output size!\n";
+    		}
+    	}
+    }
+		
+    $outputSize +=  40;
+    printf BINFILE "%c", ($outputSize & 0xff);#offset low
+		printf BINFILE "%c", (($outputSize >> 8) & 0xff);#offset High
+		
+		
+		##############################
+		####Start Generate Bin########
+		##############################
+		$blocksCount = 0;
+    $fileOffset = $data[0] + $data[1];
+    while($fileOffset < ($fileSize - 1)){ #file was endof a 0xff, ignore it.
+    	if(int($_DEBUG_)){printf "DEBUG:Process a new block:%d\n", $blocksCount;}
+    	if(0 == $blocksCount){#bt code block 
+    		##############################
+    		####Process bt code block!####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x01!\n";
+    		}
+    		if(int($_DEBUG_)){printf "DEBUG:fileOffset:%x, data+2:%x, data+3:%x\n",$fileOffset, $data[$fileOffset + 2], $data[$fileOffset + 3];}
+    		$codeSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8) - 2;
+    		$codeStart = $fileOffset + 4;#aa 55 LL LH
+    		$codeEnd = $codeStart + $codeSize;
+    		$codeoffset = $codeStart;
+    		
+    		if(int($_DEBUG_)){printf "DEBUG:Begain to Process bt code block.\n";}
+    		if(int($_DEBUG_)){printf "DEBUG:codeSize:%x, codeoffset:%x, codeEnd:%x\n",$codeSize, $codeoffset, $codeEnd;}
+    		if(int($_DEBUG_)){printf "DEBUG:codeEnd data:%x\n", $data[$codeEnd];}
+
+    		while($codeoffset < $codeEnd){
+    			
+	    		$packetLen = $MAX_CODE_PACKET_LEN;
+	    		if($codeoffset + $packetLen > $codeSize){
+	    			$packetLen = $codeEnd - $codeoffset;
+	    			if($packetLen > $MAX_CODE_PACKET_LEN){
+	    				$packetLen = $MAX_CODE_PACKET_LEN;
+	    			}
+	    		}
+	    		if(int($_DEBUG_)){printf "DEBUG:new packet codeoffset:%x, length:%x\n", $codeoffset, $packetLen;}
+	    		$packetEnd = $codeoffset + $packetLen;
+	    		printf BINFILE "%c", (($packetLen + 8) & 0xff);#whole packet len;
+					printf BINFILE "%c%c%c", 0x01, 0x03, 0xfc;
+					printf BINFILE "%c", (($packetLen + 4) & 0xff);#packet len;
+					printf BINFILE "%c", (($codeoffset - 6) & 0xff);#offset low
+					printf BINFILE "%c", ((($codeoffset - 6) >> 8) & 0xff);#offset High
+					printf BINFILE "%c", (($packetLen) & 0xff);#code len;
+					$checkSum = ($codeoffset - 6) + (($codeoffset - 6) >> 8) + ($packetLen);
+	    		while($codeoffset < $packetEnd){
+	    			if(int($_DEBUG_)){printf "%02x ", $data[$codeoffset];}#DEBUG
+	    			{printf BINFILE "%c", ($data[$codeoffset] & 0xff);}#code;
+	    			$checkSum += $data[$codeoffset];
+	    			$codeoffset ++;
+	    		}
+	    		printf BINFILE "%c", ($checkSum & 0xff);#check sum;
+	    		if(int($_DEBUG_)){printf "DEBUG: Packet End.\n"}
+    		}
+    		
+    		$fileOffset = $codeEnd + 2; #add crc16
+    		##############################
+    		####End of bt code block  ####
+    		##############################
+    		
+    	}elsif(1 == $blocksCount && $EepromType == $Type_Not_Encrypt_IS_8051){#c51 code block 
+    		##############################
+    		####Process C51 code block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x02\n";
+    		}
+    		
+    		$fileOffset += 4;
+    		##############################
+    		####End of C51 code block ####
+    		##############################
+    	}else{
+    		##############################
+    		####Process a memory block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			if($fileOffset == $fileSize - 2){
+    				$fileOffset += 2;
+    			}else{
+    				printf "ERROR:fileSize = %d\n", $fileSize;
+    				printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    				die "ERROR:Block header \"aa55\" Error Code 0x03\n";
+    			}
+    		}
+    		$memBlockLen = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);
+    		$memBlockAddr = $data[$fileOffset + 4] + ($data[$fileOffset + 5] << 8);
+  			$memBlockBreakCnt = int($memBlockLen / $MAX_MEM_PACKET_LEN);
+  			if(0 != $memBlockLen % $MAX_MEM_PACKET_LEN){
+  				$memBlockBreakCnt ++;
+  			}
+
+  			if(int($_DEBUG_)){printf "DEBUG:memBlock, memBlockLen:%d, memBlockAddr:0x%x, memBlockBreakCnt:%d\n",$memBlockLen,$memBlockAddr,$memBlockBreakCnt ;}
+  			if(0x4000 == $memBlockAddr){
+    			$mem_patch_len = $memBlockLen;
+    			if(int($_DEBUG_)){printf "DEBUG:Find mem_patch, length = %d\n",$mem_patch_len;}
+    		}
+    		
+  			$j = 0;
+  			$memOffset = 0;                     #mem data offset in binfile
+  			$currentPacketAddr = $memBlockAddr;  #addr write in packet
+  			$memBlockStart = $fileOffset + 6;   #mem data start in binfile
+  			
+  			while($j++ < $memBlockBreakCnt){
+  				#for one single packet.
+  				$currentPacketLen = $MAX_MEM_PACKET_LEN;
+  				if($memOffset + $currentPacketLen > $memBlockLen){
+    				$currentPacketLen = $memBlockLen - $memOffset;#last packet
+    			}
+    			
+    			if(int($_DEBUG_)){printf "DEBUG:memPacket, currentPacketLen:%d, currentPacketAddr:0x%x, memOffset:%d\n",$currentPacketLen,$currentPacketAddr,$memOffset ;}
+    			
+  				#packet header
+  				printf BINFILE "%c", (($currentPacketLen + 7) & 0xff);
+					printf BINFILE "%c%c%c", 0x01, 0x10, 0xfc;
+					printf BINFILE "%c", (($currentPacketLen + 3) & 0xff);
+					printf BINFILE "%c", ($currentPacketLen & 0xff);
+					printf BINFILE "%c", ($currentPacketAddr & 0xff);
+					printf BINFILE "%c", (($currentPacketAddr >> 8) & 0xff);
+					
+					#copy data
+					$i = 0;
+					while($i < $currentPacketLen){
+						printf BINFILE "%c",($data[$memBlockStart + $memOffset + $i] & 0xff);
+						if(0x4000 == $memBlockAddr){
+							$mem_patch[$i] = ($data[$memBlockStart + $memOffset + $i] & 0xff)
+						}
+						$i++;
+					}
+					
+					#endof one packet
+  				$currentPacketAddr += $i;
+  				$memOffset += $i;
+  				
+  			}
+  			#endof a mem block
+  			$fileOffset = ($memBlockStart + $memOffset);
+  			##############################
+  			####End of a memory block#####
+  			##############################
+	    		
+    	}
+    	$blocksCount ++;
+    }
+    if(int($_DEBUG_)){printf "DEBUG:fileOffset:%d, fileSize:%d", $fileOffset, $fileSize;}
+    if(int($_DEBUG_)){printf "DEBUG:End of block process.Memory block count:%d\n", ($blocksCount - 2);}
+    if(0x40 != $mem_patch_len){
+    	printf "ERROR:mem_patch_len:%d",$mem_patch_len;
+    	die "ERROR:Cannot find mem_patch block or length error.";
+    }
+    
+    printf BINFILE "%c%c%c%c%c", 0x25, 0x01, 0x04, 0xfc, 0x21;
+		$i = 0;
+		$checksum = 0;
+		while($i < 0x20){
+			printf BINFILE "%c", ($mem_patch[$i] & 0xff);
+			
+			$checksum += ($mem_patch[$i] & 0xff);
+			$i ++;
+		}
+		printf BINFILE "%c", ($checksum & 0xff);
+		
+		close(BINFILE);
+		
+		
+		}
+		else{
+    open(BINFILE, ">bt_patch.bin");
+    binmode(BINFILE);
+		##############################
+		####Calc Output Size##########
+		##############################
+    $fileSize = @data;
+    $blocksCount = 0;
+    $outputSize = 0;
+    $codeBlockSize = 0;
+    $fileOffset = $data[0] + $data[1] + 16;
+    while($fileOffset < ($fileSize - 1)){
+    	if(0xaa == $data[$fileOffset] || 0x55 == $data[$fileOffset + 1]){
+    		$blockSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);#no crc
+    		$outputSize += $blockSize + 2;
+    		if(0 == $blocksCount){
+    			$codeCmdPacketCnt = int(($blockSize) / $MAX_CODE_PACKET_LEN);
+					if(0 != ($blockSize) % $MAX_CODE_PACKET_LEN){
+			    	$codeCmdPacketCnt ++;
+			    }
+			    $outputSize += (9 * $codeCmdPacketCnt); #2byte crc was behind code block
+    			$fileOffset += $blockSize + 4;
+    			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,codeCmdPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$codeCmdPacketCnt,$outputSize;}
+    		}elsif(1 == $blocksCount && $EepromType == $Type_Encrpt_IS_8051){
+    			$fileOffset += $blockSize + 4;
+    		}else{
+    			
+	  			$memPacketCnt = int($blockSize / $MAX_MEM_PACKET_LEN);
+	  			if(0 != $blockSize % $MAX_MEM_PACKET_LEN){
+	  				$memPacketCnt ++;
+	  			}
+	  			$outputSize += 8 * $memPacketCnt;
+	  			$fileOffset += $blockSize + 6;
+	  			if(int($_DEBUG_)){printf "DEBUG:blockSize:%d blocksCount: %d,fileOffset:%d,memPacketCnt:%d,outputSize:%d\n",$blockSize, $blocksCount,$fileOffset,$memPacketCnt,$outputSize;}
+    		}
+    		$blocksCount ++;
+    	}else{
+    		if($fileOffset == $fileSize - 2){
+    			$fileOffset += 2;
+    		}else{
+	    		printf "ERROR:blockSize:%d blocksCount: %d\n",$blockSize, $blocksCount;
+	    		printf "ERROR:fileOffset:%d Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+	    		die "ERROR:Block header \"aa55\" Error while Calc output size!\n";
+    		}
+    	}
+    }
+		
+    $outputSize +=  40 + 0x16 - 5;
+    printf BINFILE "%c", ($outputSize & 0xff);#offset low
+		printf BINFILE "%c", (($outputSize >> 8) & 0xff);#offset High
+		
+    printf BINFILE "%c%c%c%c%c", 0x15, 0x01, 0x12, 0xfc, 0x11;
+		$i = 0;
+		$checksum = 0;
+		$fileOffset = $data[0] + $data[1];
+		while($i < 0x10){
+			printf BINFILE "%c", ($data[$i + $fileOffset] & 0xff);
+			
+			$checksum += ($data[$i + $fileOffset] & 0xff);
+			$i ++;
+		}
+		printf BINFILE "%c", ($checksum & 0xff);
+		
+		
+		##############################
+		####Start Generate Bin########
+		##############################
+		$blocksCount = 0;
+    $fileOffset = $data[0] + $data[1] + 16;
+    while($fileOffset < ($fileSize - 1)){ #file was endof a 0xff, ignore it.
+    	if(int($_DEBUG_)){printf "DEBUG:Process a new block:%d\n", $blocksCount;}
+    	if(0 == $blocksCount){#bt code block 
+    		##############################
+    		####Process bt code block!####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x01!\n";
+    		}
+    		if(int($_DEBUG_)){printf "DEBUG:fileOffset:%x, data+2:%x, data+3:%x\n",$fileOffset, $data[$fileOffset + 2], $data[$fileOffset + 3];}
+    		$codeSize = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);#no crc
+    		$codeStart = $fileOffset + 4;#aa 55 LL LH
+    		$codeEnd = $codeStart + $codeSize;
+    		$codeoffset = $codeStart;
+    		
+    		if(int($_DEBUG_)){printf "DEBUG:Begain to Process bt code block.\n";}
+    		if(int($_DEBUG_)){printf "DEBUG:codeSize:%x, codeoffset:%x, codeEnd:%x\n",$codeSize, $codeoffset, $codeEnd;}
+    		if(int($_DEBUG_)){printf "DEBUG:codeEnd data:%x\n", $data[$codeEnd];}
+
+    		while($codeoffset < $codeEnd){
+    			
+	    		$packetLen = $MAX_CODE_PACKET_LEN;
+	    		if($codeoffset + $packetLen > $codeSize){
+	    			$packetLen = $codeEnd - $codeoffset;
+	    			if($packetLen > $MAX_CODE_PACKET_LEN){
+	    				$packetLen = $MAX_CODE_PACKET_LEN;
+	    			}
+	    		}
+	    		if(int($_DEBUG_)){printf "DEBUG:new packet codeoffset:%x, length:%x\n", $codeoffset, $packetLen;}
+	    		$packetEnd = $codeoffset + $packetLen;
+	    		printf BINFILE "%c", (($packetLen + 8) & 0xff);#whole packet len;
+					printf BINFILE "%c%c%c", 0x01, 0x13, 0xfc;
+					printf BINFILE "%c", (($packetLen + 4) & 0xff);#packet len;
+					printf BINFILE "%c", (($codeoffset - 6 - 16) & 0xff);#offset low
+					printf BINFILE "%c", ((($codeoffset - 6 - 16) >> 8) & 0xff);#offset High
+					printf BINFILE "%c", (($packetLen) & 0xff);#code len;
+					$checkSum = ($codeoffset - 6 - 16) + (($codeoffset - 6 - 16) >> 8) + ($packetLen);
+	    		while($codeoffset < $packetEnd){
+	    			if(int($_DEBUG_)){printf "%02x ", $data[$codeoffset];}#DEBUG
+	    			{printf BINFILE "%c", ($data[$codeoffset] & 0xff);}#code;
+	    			$checkSum += $data[$codeoffset];
+	    			$codeoffset ++;
+	    		}
+	    		printf BINFILE "%c", ($checkSum & 0xff);#check sum;
+	    		if(int($_DEBUG_)){printf "DEBUG: Packet End.\n"}
+    		}
+    		
+    		$fileOffset = $codeEnd; #no crc16
+    		##############################
+    		####End of bt code block  ####
+    		##############################
+    		
+    	}elsif(1 == $blocksCount && $EepromType == $Type_Encrpt_IS_8051){#c51 code block 
+    		##############################
+    		####Process C51 code block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    			die "ERROR:Block header \"aa55\" Error Code 0x02\n";
+    		}
+    		
+    		$fileOffset += 4;
+    		##############################
+    		####End of C51 code block ####
+    		##############################
+    	}else{
+    		##############################
+    		####Process a memory block####
+    		##############################
+    		if(0xaa != $data[$fileOffset] || 0x55 != $data[$fileOffset + 1]){
+    			if($fileOffset == $fileSize - 2){
+    				$fileOffset += 2;
+    			}else{
+    				printf "ERROR:fileSize = %d\n", $fileSize;
+    				printf "ERROR:fileOffset = %d\n Block data: %x %x\n",$fileOffset, $data[$fileOffset], $data[$fileOffset + 1];
+    				die "ERROR:Block header \"aa55\" Error Code 0x03\n";
+    			}
+    		}
+    		$memBlockLen = $data[$fileOffset + 2] + ($data[$fileOffset + 3] << 8);
+    		$memBlockAddr = $data[$fileOffset + 4] + ($data[$fileOffset + 5] << 8);
+  			$memBlockBreakCnt = int($memBlockLen / $MAX_MEM_PACKET_LEN);
+  			if(0 != $memBlockLen % $MAX_MEM_PACKET_LEN){
+  				$memBlockBreakCnt ++;
+  			}
+
+  			if(int($_DEBUG_)){printf "DEBUG:memBlock, memBlockLen:%d, memBlockAddr:0x%x, memBlockBreakCnt:%d\n",$memBlockLen,$memBlockAddr,$memBlockBreakCnt ;}
+  			if(0x4000 == $memBlockAddr){
+    			$mem_patch_len = $memBlockLen;
+    			if(int($_DEBUG_)){printf "DEBUG:Find mem_patch, length = %d\n",$mem_patch_len;}
+    		}
+    		
+  			$j = 0;
+  			$memOffset = 0;                     #mem data offset in binfile
+  			$currentPacketAddr = $memBlockAddr;  #addr write in packet
+  			$memBlockStart = $fileOffset + 6;   #mem data start in binfile
+  			
+  			while($j++ < $memBlockBreakCnt){
+  				#for one single packet.
+  				$currentPacketLen = $MAX_MEM_PACKET_LEN;
+  				if($memOffset + $currentPacketLen > $memBlockLen){
+    				$currentPacketLen = $memBlockLen - $memOffset;#last packet
+    			}
+    			
+    			if(int($_DEBUG_)){printf "DEBUG:memPacket, currentPacketLen:%d, currentPacketAddr:0x%x, memOffset:%d\n",$currentPacketLen,$currentPacketAddr,$memOffset ;}
+    			
+  				#packet header
+  				printf BINFILE "%c", (($currentPacketLen + 7) & 0xff);
+					printf BINFILE "%c%c%c", 0x01, 0x10, 0xfc;
+					printf BINFILE "%c", (($currentPacketLen + 3) & 0xff);
+					printf BINFILE "%c", ($currentPacketLen & 0xff);
+					printf BINFILE "%c", ($currentPacketAddr & 0xff);
+					printf BINFILE "%c", (($currentPacketAddr >> 8) & 0xff);
+					
+					#copy data
+					$i = 0;
+					while($i < $currentPacketLen){
+						printf BINFILE "%c",($data[$memBlockStart + $memOffset + $i] & 0xff);
+						if(0x4000 == $memBlockAddr){
+							$mem_patch[$i] = ($data[$memBlockStart + $memOffset + $i] & 0xff)
+						}
+						$i++;
+					}
+					
+					#endof one packet
+  				$currentPacketAddr += $i;
+  				$memOffset += $i;
+  				
+  			}
+  			#endof a mem block
+  			$fileOffset = ($memBlockStart + $memOffset);
+  			##############################
+  			####End of a memory block#####
+  			##############################
+	    		
+    	}
+    	$blocksCount ++;
+    }
+    if(int($_DEBUG_)){printf "DEBUG:fileOffset:%d, fileSize:%d", $fileOffset, $fileSize;}
+    if(int($_DEBUG_)){printf "DEBUG:End of block process.Memory block count:%d\n", ($blocksCount - 2);}
+    if(0x40 != $mem_patch_len){
+    	printf "ERROR:mem_patch_len:%d",$mem_patch_len;
+    	die "ERROR:Cannot find mem_patch block or length error.";
+    }
+    printf BINFILE "%c%c%c%c%c", 0x25, 0x01, 0x04, 0xfc, 0x21;
+		$i = 0;
+		$checksum = 0;
+		while($i < 0x20){
+			printf BINFILE "%c", ($mem_patch[$i] & 0xff);
+			
+			$checksum += ($mem_patch[$i] & 0xff);
+			$i ++;
+		}
+		printf BINFILE "%c", ($checksum & 0xff);
+		
+		close(BINFILE);
+		
+		}
+		
+		
+		
Index: YJX_Only24g/FCC_1021S/output/key.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/key.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/key.txt	(working copy)
@@ -0,0 +1,16 @@
+a3
+1b
+d3
+29
+c3
+a9
+12
+d6
+8c
+b8
+35
+a5
+79
+dc
+a7
+54
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/output/memmap.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/memmap.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/memmap.format	(working copy)
@@ -0,0 +1,1750 @@
+0x0000 mem_le_adv_transmit
+0x0001 mem_le_adv_waitcnt
+0x0002 mem_le_adv_rcv
+0x0003 mem_le_req_rcv
+0x0004 mem_le_scanrsp_rcv
+0x0005 mem_le_conn_rcv
+0x0006 mem_inquiryscan_waitcnt
+0x0007 mem_inquiryscan_rcvcnt
+0x0008 mem_pagescan_waitcnt
+0x0009 mem_pagescan_rcvcnt
+0x000a mem_pagescan_rcvfhscnt
+0x000b mem_slave_rcvcnt
+0x000c mem_page_transmit
+0x000d mem_page_rcv
+0x000e mem_page_rcv_fhs
+0x000f mem_master_rcvcnt
+0x0010 mem_fhs_wait_counter
+0x0011 mem_newconnto_counter
+0x0012 mem_inquiry_transmit
+0x0013 mem_inquiry_rcv
+0x0014 mem_fw_ver
+0x0015 mem_current_context
+0x0016 mem_le_ch_mapped
+0x0017 mem_last_freq
+0x0018 mem_rssi
+0x0019 mem_rx_type
+0x001a mem_rx_hec_err
+0x001c mem_rx_crc_err
+0x001e mem_context_ptr
+0x0020 mem_display
+0x0028 mem_bcd
+0x0030 mem_state
+0x0031 mem_mode
+0x0032 mem_tsniff
+0x0034 mem_sniff_anchor
+0x0038 mem_clk_offset
+0x003e mem_rx_window
+0x0040 mem_plap
+0x0043 mem_puap
+0x0044 mem_pnap
+0x0046 mem_conn_handle
+0x0047 mem_arq
+0x0048 mem_lmp_to_send
+0x0049 mem_lmi_opcode
+0x004a mem_lmo_reason
+0x004b mem_op
+0x004c mem_state_map
+0x004d mem_supervision_timer
+0x0051 mem_supervision_to
+0x0053 mem_name_offset
+0x0054 mem_key_size
+0x0055 mem_conn_sm
+0x0056 mem_aco
+0x0062 mem_kc
+0x0072 mem_conn_timer
+0x0073 mem_sniff_attempt
+0x0074 mem_sniff_timeout
+0x0075 mem_dsniff
+0x0077 mem_amaddr
+0x0078 mem_lmo_opcode1
+0x0079 mem_lmi_opcode1
+0x007a mem_lmo_reason1
+0x007b mem_lmo_tid1
+0x007c mem_lmo_opcode2
+0x007d mem_lmi_opcode2
+0x007e mem_lmo_reason2
+0x007f mem_lmo_tid2
+0x0080 mem_hci_version
+0x0083 mem_acl_pktlen
+0x0085 mem_sco_pktlen
+0x0086 mem_acl_pktcnt
+0x0088 mem_sco_pktcnt
+0x008a mem_current_sniff_attempt
+0x008b mem_current_sniff_timeout
+0x008c mem_sniff_timeout_temp
+0x008d mem_nfreq_index_inq
+0x008e mem_nfreq_index_page
+0x008f mem_ninqy_index
+0x0090 mem_fhs_misc
+0x0091 mem_subsniff_instant
+0x0095 mem_subsniff_rate
+0x0096 mem_subsniff_tcmax
+0x0098 mem_subsniff_tsniff
+0x0099 mem_lpm_adjust
+0x009a mem_sync_clke
+0x00a0 mem_lpm_current_mult
+0x00a1 mem_gpio_wakeup_low
+0x00a5 mem_gpio_wakeup_high
+0x00a9 mem_air_mode
+0x00aa mem_sco_asso_handle
+0x00ab mem_sco_handle
+0x00ad mem_esco_desco
+0x00ae mem_esco_type
+0x00af mem_neogotiation_state
+0x00b0 mem_saved_amaddr
+0x00b1 mem_esco_arq
+0x00b2 mem_esco_saved_arq
+0x00b3 mem_sco_obuf
+0x00d1 mem_sco_ibuf
+0x00ef mem_sco_poll
+0x00f0 mem_npage_index
+0x00f1 mem_page_mode
+0x00f2 mem_page_clk
+0x00f6 mem_tst_pktcnt_sync
+0x00f8 mem_tst_pktcnt_hec
+0x00fa mem_tst_pktcnt_crc
+0x00fc mem_tst_pktcnt_dmh
+0x00fe mem_tmp_buffer_head
+0x0101 mem_tmp_buffer
+0x0151 mem_tester_emulate
+0x0152 mem_temp_payload
+0x0152 test_mode_scenario
+0x0153 test_mode_hopping_mode
+0x0154 test_mode_tx_freq
+0x0155 test_mode_rx_freq
+0x0156 test_mode_power_mode
+0x0157 test_mode_poll_period
+0x0158 test_mode_packet_type
+0x0159 test_mode_data_length
+0x015b mem_test_mode_old_debug_config
+0x015c mem_tester_cnt
+0x015d mem_temp_am_addr
+0x015e mem_temp_arq
+0x015f mem_len
+0x0161 mem_clkn_bt
+0x0165 mem_clke_bt
+0x0169 mem_dpll_clkn
+0x016d mem_connection_options
+0x016e mem_nameres_cnt
+0x016f mem_txptr
+0x0171 mem_slot_offset
+0x0173 extm_fhs_misc
+0x0174 extm_newconn_am_addr
+0x0175 extm_class
+0x0178 extm_lap
+0x017b extm_uap
+0x017c extm_nap
+0x017f mem_debug_config
+0x0180 mem_lch_code
+0x0181 mem_fhs_am_addr
+0x0182 mem_dpll_error
+0x0184 mem_select_list_item
+0x0185 mem_temp_reconn_record
+0x0185 mem_record_bt_mode
+0x0186 mem_temp_lap
+0x018c mem_list_item_ptr
+0x018e mem_eir
+0x01f2 mem_ucode_status
+0x01f3 mem_otp_ucode_flag
+0x01f5 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f6 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f6 mem_addr_hi
+0x01f7 mem_addr_mi
+0x01f8 mem_addr_lo
+0x01f9 mem_iicd_addr
+0x01fa mem_spid_rbuf
+0x01fe mem_ucode_buf
+0x0200 mem_ucode_len
+0x0202 mem_sched_addr
+0x0204 mem_ucode_ptr
+0x0206 mem_ucode_keybuf
+0x0216 mem_check_plap_temp
+0x0228 mem_reconnect_flag
+0x0229 mem_switch_fail_master_count
+0x022a mem_app_evt_timer_count
+0x022b mem_init_cnt
+0x022d mem_h5rx_ackcnt
+0x022e mem_check_err_acl_cont
+0x022f mem_rp_packets
+0x0230 mem_packet_type
+0x0232 mem_hci_sniff_conn_handle
+0x0234 mem_hci_sniff_max_interval
+0x0236 mem_hci_sniff_min_interval
+0x0238 mem_hci_sniff_attempt
+0x023a mem_hci_sniff_timeout
+0x023c mem_voice_setting
+0x023e mem_retransmission_effort
+0x023f mem_sco_ptype
+0x0241 mem_extm_uap_restore
+0x0244 mem_h5rx_rptr
+0x0246 mem_h5rx_ack
+0x0247 mem_h5tx_ack
+0x0248 mem_h5tx_rptr
+0x024a mem_h5tx_wptr
+0x024c mem_h5tx_free
+0x024e mem_h5rx_tmp
+0x024f mem_h5tx_seq
+0x0250 mem_hci_acl_queue_wptr
+0x0252 mem_hci_acl_queue_rptr
+0x0254 mem_hci_acl_queue_end
+0x0256 mem_hci_acl_queue_wcnt
+0x0257 mem_hci_acl_cnt
+0x0258 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x025a mem_hci_curr_len
+0x025b mem_hci_curr_target
+0x025d mem_l2cap_mem_start
+0x025d mem_l2cap_rxbuff1_len
+0x025f mem_l2cap_rxbuff2_len
+0x0261 mem_l2cap_rxbuff_new
+0x0263 mem_l2cap_rxbuff_inuse
+0x0264 mem_l2cap_payload_ptr
+0x0266 mem_l2cap_rx_pkt_length
+0x0268 mem_l2cap_rx_cid
+0x026a mem_l2cap_rx_done
+0x026b mem_l2cap_signal_tx_buff_ptr
+0x026d mem_l2cap_signal_tx_payload_ptr
+0x026f mem_l2cap_signal_tx_length
+0x0271 mem_sdp_tx_buff_ptr
+0x0273 mem_sdp_tx_payload_ptr
+0x0275 mem_sdp_tx_pkt_length
+0x0277 mem_rfcomm_tx_buff_ptr
+0x0279 mem_rfcomm_tx_payload_ptr
+0x027b mem_rfcomm_tx_pkt_length
+0x027d memL2CAP_T1
+0x027f mem_CONTROL_tasks
+0x0280 mem_send_config_req
+0x0281 mem_config_identifier
+0x0282 mem_config_req_dest_CID
+0x0284 mem_rfcomm_malloc_fail_flag
+0x0285 mem_message_to_uppersm
+0x0286 mem_upper_sm_remote_page
+0x0287 mem_upper_sm_reconn
+0x0288 mem_upper_sm_ss
+0x0289 mem_tx_malloc_log
+0x02c9 mem_l2cap_mem_end
+0x02c9 mem_scid
+0x02cb mem_cmd_length
+0x02cd mem_tt2
+0x02cf mem_tt3
+0x02d1 mem_id
+0x02d3 mem_psm
+0x02d5 mem_l2cap_sdpres_delay_time
+0x02d9 mem_le_rxbuf
+0x0311 mem_le_l2capbuf
+0x0417 mem_le_mic
+0x041b mem_le_peer_mic
+0x041f mem_le_peer_ltk
+0x042f mem_le_mrand
+0x043f mem_le_state
+0x0440 mem_le_mode
+0x0441 mem_le_tsniff
+0x0443 mem_le_anchor
+0x0447 mem_le_clk_offset
+0x044d mem_le_receive_window
+0x044f mem_le_plap
+0x0455 mem_le_conn_handle
+0x0456 mem_le_arq
+0x0457 mem_le_ch
+0x0458 mem_le_hop
+0x0459 mem_le_event_count
+0x045b mem_le_supervision_timer
+0x045f mem_le_instant
+0x0461 mem_le_channels
+0x0462 mem_le_op
+0x0463 mem_le_access
+0x0467 mem_le_crcinit
+0x046a mem_le_window_size
+0x046b mem_le_slave_latency
+0x046d mem_le_superto
+0x046f mem_le_channel_map
+0x0474 mem_le_no_using
+0x0476 mem_le_peer_sca
+0x0477 mem_le_att_opcode
+0x0478 mem_le_att_handle
+0x047a mem_le_err_code
+0x047b mem_le_ll_pairing_fail_reason
+0x047c mem_le_sk
+0x048c mem_le_testtype
+0x048d mem_le_test_sync
+0x048f mem_le_test_pcnt
+0x0491 mem_le_rxon_ts
+0x0497 mem_le_rx_ll_opcode
+0x0498 mem_le_notify_attr_start
+0x049a mem_le_notify_len
+0x049b mem_cmd_le_create_conn
+0x049c mem_le_cur_attlist_start_ptr
+0x049e mem_le_cur_handle_start
+0x04a0 mem_le_cur_handle_end
+0x04a2 mem_le_cur_uuid_length
+0x04a3 mem_le_cur_uuid
+0x04b3 mem_le_curr_att_len
+0x04b4 mem_le_search_res
+0x04b5 mem_le_continue_type
+0x04b6 mem_lmo_header_length
+0x04b7 mem_lmo_header_opcode
+0x04b8 mem_lmo_payload
+0x04c9 mem_lmi_accepted_opcode
+0x04ca mem_disconn_reason_send
+0x04cb mem_tx_fixed_freq
+0x04cc mem_rx_fixed_freq
+0x04cd mem_ext_features_page
+0x04ce mem_lmpext_ssp_enable
+0x04d0 mem_remote_sppcap
+0x04d1 mem_lmp_conn_state
+0x04d2 mem_soft_timer
+0x04d4 mem_pincode_state
+0x04d5 mem_sres_tid
+0x04d6 mem_accptsco_tid
+0x04d7 mem_auth_enable
+0x04d8 mem_wait_encryption
+0x04d9 mem_sniff_payload
+0x04e9 mem_aurand_send_delay_time
+0x04ed memRemoteRPNBitRate
+0x04ee memRemotePRNDataBits
+0x04ef memRemotePRNStopBit
+0x04f0 memRemotePRNParity
+0x04f1 memRemotePRNFlowControl
+0x04f2 memRemotePRNXon
+0x04f3 memRemotePRNXoff
+0x04f4 mem_mod2div_temp
+0x04f7 mem_contw_temp
+0x04f9 mem_attrib_list
+0x04fb mem_current_adss
+0x04fc mem_current_channel
+0x04fd mem_current_frame_type
+0x04fe mem_current_fcs
+0x04ff mem_current_length
+0x0501 mem_rfcomm_uih_payload_ptr
+0x0503 mem_uih_cmd_type
+0x0504 mem_uih_length
+0x0506 mem_param_payload_ptr
+0x0508 mem_ms_param
+0x0509 mem_pn_credit_flow_type_info
+0x050a mem_pn_priority
+0x050b mem_pn_acknowledg_timer
+0x050c mem_pn_max_retrans
+0x050d mem_rfcomm_send_adss
+0x050e mem_rfcomm_send_frame_type
+0x050f mem_rfcomm_send_fcs
+0x0510 mem_rfcomm_send_offset
+0x0511 mem_sdp_mem_start
+0x0511 mem_sdp_uuid_search_ptr
+0x0519 mem_sdp_continue_byte
+0x051b mem_sdp_pduid
+0x051c mem_sdp_transactionid
+0x051e mem_sdp_transactionid_local
+0x0520 mem_sdp_attribute_maxbyte
+0x0522 mem_sdp_record_maxcnt
+0x0524 mem_sdp_record_handle
+0x0528 mem_sdp_LACAP_found
+0x0529 mem_sdp_RFCOMM_found
+0x052a mem_sdp_handle_list
+0x052a mem_sdp_attrib_list
+0x054a mem_sdp_error_code
+0x054c mem_sdp_all_length
+0x054e mem_handle_humber
+0x054f mem_search_uuid
+0x0551 mem_sdp_mem_end
+0x0551 mem_rxbuf
+0x0562 mem_random_number
+0x0572 mem_round_key
+0x0582 mem_kinit
+0x0592 mem_input_store
+0x05a2 mem_x
+0x05b2 mem_y
+0x05c1 mem_y15
+0x05c2 mem_key_store
+0x05d3 mem_key_store_end
+0x05d4 memp_ar_key
+0x05d6 memp_ar_input
+0x05d8 mem_ar_hround
+0x05e2 mem_ec_infinite
+0x05e3 mem_ec_loopc
+0x05e5 mem_aes_cmac_data_length
+0x05e6 memdat
+0x05e6 mem_ax
+0x05fe mem_ay
+0x0616 mem_az
+0x062e mem_bx
+0x0646 mem_ax_256//32 bytes
+0x0646 mem_by
+0x065e mem_bz
+0x0666 mem_ay_256// 32 bytes
+0x0676 mem_cx
+0x0686 mem_az_256// 32 bytes
+0x068e mem_cy
+0x06a5 mem_cy5
+0x06a6 mem_bx_256// 32 bytes
+0x06a6 mem_cz
+0x06be mem_k
+0x06c6 mem_by_256// 31 bytes
+0x06d6 mem_align
+0x06e6 mem_bz_256//32 bytes
+0x06e6 mem_tmp1
+0x06e6 memahbak
+0x06fe mem_tmp5
+0x0706 mem_cx_256//32 bytes
+0x0706 memahsave
+0x0716 mem_tmp2
+0x0726 mem_cy_256// 32 bytes
+0x0726 memahsave_end
+0x0726 mem_addr_padding
+0x0727 mem_addr_value/* 12 bytes     */ 
+0x072e mem_tmp3
+0x072e mem_t1
+0x0733 mem_addr_value_end
+0x0736 mem_addr_iocap_end
+0x0745 mem_cy5_256// 1 byte
+0x0746 mem_cz_256// 32 bytes
+0x0746 mem_tmp0
+0x0746 mem_t0
+0x074e mem_tmp0a
+0x075e mem_t2
+0x0766 mem_k_256//32 bytes
+0x0776 mem_t3
+0x0786 mem_tmp1_256//32 bytes
+0x078e mem_t7
+0x07a6 mem_tmp5_256
+0x07c6 mem_tmp2_256
+0x07e6 mem_tmp3_256
+0x07e6 mem_t1_256
+0x0806 mem_tmp0_256
+0x0806 mem_t0_256
+0x0826 mem_t2_256
+0x0846 mem_t3_256
+0x0866 mem_t7_256
+0x0886 mem_p
+0x089e mem_a
+0x08b6 mem_b
+0x08ce mem_gx
+0x08e6 mem_gy
+0x08fe memh0
+0x091e mem_p_256
+0x093e mem_a_256
+0x095e mem_gx_256
+0x097e mem_gy_256
+0x099e mem_le_slat
+0x09ae mem_sp_state_start
+0x09ae mem_sp_state
+0x09af mem_master_sp_state
+0x09b0 mem_sp_flag
+0x09b1 mem_master_sp_flag
+0x09b2 mem_sp_calc
+0x09b3 mem_sp_dh_ready
+0x09b4 mem_sp_localsm
+0x09b5 mem_pairing_auth
+0x09b6 mem_sp_flag_start
+0x09b6 mem_sp_local_key_send_count
+0x09b7 mem_sp_remote_key_recv_count
+0x09b8 mem_sp_remote_key_invalid
+0x09b9 mem_sp_dhkey_invalid
+0x09ba mem_gkey
+0x09be mem_le_pubkey_remote_x_256
+0x09c6 mem_sp_pubkey_remote
+0x09c6 mem_sp_pubkey_remote_x
+0x09de mem_sp_pubkey_remote_x_end
+0x09de mem_le_pubkey_remote_y_256
+0x09e6 mem_sp_pubkey_remote_y
+0x09fe mem_le_dhkey_256
+0x0a06 mem_sp_dhkey
+0x0a1e mem_sp_dhkey_end
+0x0a1e mem_sp_random_local
+0x0a2e mem_sp_random_local_end
+0x0a2e mem_sp_random_remote
+0x0a3e mem_sp_random_remote_end
+0x0a3e memresult
+0x0a3e mem_sp_calc_result
+0x0a3e memh
+0x0a42 memg
+0x0a46 memf
+0x0a4a meme
+0x0a4e mem_sp_calc_result_high
+0x0a4e memd
+0x0a52 memc
+0x0a56 memb
+0x0a5a mema
+0x0a5e mem_sp_check_result
+0x0a6e mem_sp_confirm_remote
+0x0a7e mem_sp_prarm_stack
+0x0a8e mem_UI_data_txbuff_length
+0x0a90 mem_ipc_skip_continue_proc
+0x0a91 mem_ui_timer_temp//length 4
+0x0a91 mem_ipc_rega_temp
+0x0a95 mem_hold_contr
+0x0a97 mem_hold_contw
+0x0a99 mem_fifo_temp
+0x0a9a mem_pdatatemp
+0x0aa2 mem_temp//8 bytes
+0x0aaa mem_timeup// 4 bytes
+0x0aae mem_rega//4 bytes
+0x0ab2 mem_regb//4 bytes
+0x0ab6 mem_regc//3 bytes
+0x0ab9 mem_contr//2 bytes
+0x0abb mem_contw//2 bytes
+0x0abd mem_wakup_from_power_flag
+0x0abe mem_saved_gpio_in
+0x0ac2 mem_shutter_random_mac_data_temp
+0x0ac2 mem_shutter_config_data_temp
+0x0ac2 mem_le_adv_channel_map_temp
+0x0ac2 mem_le_data_len_temp//1byte
+0x0ac2 mem_tx_fifo_map_temp
+0x0ac2 mem_rpn_dlci//1byte
+0x0ac2 mem_event_cmd_response_content//2byte
+0x0ac2 mem_le_prand//16byte
+0x0ac2 mem_AES_CMAC_k//16 bytes
+0x0ac2 mem_regext_index//1 bytes
+0x0ac2 mem_temp_block0
+0x0ac3 mem_le_data_temp//15bytes
+0x0ac3 mem_temp_block1
+0x0ad2 mem_le_aes_128//16byte
+0x0ad2 mem_regext//64 bytes
+0x0ad2 mem_AES_CMAC_k1//16 bytes
+0x0ad2 mem_temp_block2
+0x0ae2 mem_AES_CMAC_k2//16 bytes
+0x0ae2 mem_temp_block3
+0x0af2 mem_AES_CMAC_temp// 16 bytes
+0x0af2 mem_temp_block4
+0x0b02 mem_AES_CMAC_M_last// 16 bytes
+0x0b02 mem_module_uart_cmd
+0x0b03 mem_module_uart_opcode
+0x0b04 mem_module_uart_len
+0x0b05 mem_module_temp_nl_discard_packet
+0x0b06 mem_temp_block5
+0x0b12 mem_le_mackey//16 bytes
+0x0b12 mem_app_receive_temp
+0x0b12 mem_key_value_temp
+0x0b14 mem_key_value
+0x0b16 mem_key_value_temp1
+0x0b17 mem_key_value_temp2
+0x0b18 mem_key_value_temp3
+0x0b19 mem_key_value_temp4
+0x0b1a mem_key_value_temp5
+0x0b1b mem_key_value_temp6
+0x0b1c mem_temp_block6
+0x0b22 mem_usb_status
+0x0b23 mem_usb_fifo_empty
+0x0b24 mem_usb_read_len
+0x0b25 mem_usb_rxbuf
+0x0b65 mem_bufptr
+0x0b67 mem_remain
+0x0b68 mem_devicedesc
+0x0b7c mem_hidreportdesc_kb
+0x0b7e mem_hidreportdesc_m
+0x0b80 mem_confdesc
+0x0be4 mem_string0
+0x0be9 mem_string1
+0x0c07 mem_string2
+0x0c47 mem_string3
+0x0c65 mem_usb_zero_packet
+0x0c67 mem_usb_ones_packet
+0x0c69 mem_usb_two_packet
+0x0c6b mem_usb0_state
+0x0c6c mem_usb_offline_check_gpio
+0x0c6d mem_usb_tx_interval
+0x0c6e mem_usb_clear_mem_start
+0x0c6e mem_usb_setup
+0x0c6e mem_usb_setup_bmRequestType
+0x0c6f mem_usb_setup_bRequest
+0x0c70 mem_usb_setup_bValue
+0x0c71 mem_usb_setup_bValueH
+0x0c72 mem_usb_setup_wIndex
+0x0c74 mem_usb_setup_bLength
+0x0c75 mem_usb_setup_bLengthH
+0x0c76 mem_usb0_setup
+0x0cb6 mem_usb0_set_report_data
+0x0cf6 mem_usb0_get_report_data
+0x0d36 mem_usb_state
+0x0d37 mem_usb_tx_wait
+0x0d38 mem_usb_tx_enable
+0x0d39 mem_usb_remote_wakeup
+0x0d3a mem_usb_clear_remote_wakeup
+0x0d3b mem_usb_ep0_stall_status
+0x0d3c mem_usb_ep1_stall_status
+0x0d3d mem_usb_ep2_stall_status
+0x0d3e mem_usb_ep3_stall_status
+0x0d3f mem_dsc_info_data_pointer
+0x0d41 mem_dsc_info_len
+0x0d42 mem_usb0_data_ready_report
+0x0d43 mem_usb_tx_win_enable
+0x0d44 mem_usb_tx_mac_enable
+0x0d45 mem_usb_device_enumeration_endflag
+0x0d46 mem_usb_wakestate_onetime_flag
+0x0d47 mem_usb_mac_wakeup_trig
+0x0d48 mem_usb_set_high_addr_flag
+0x0d49 mem_usb_set_protocol_value
+0x0d4a mem_usb_set_protocol_status
+0x0d4b mem_usb_get_protocol_flag
+0x0d4c mem_usb_idle_flag
+0x0d4d mem_usb_idle_rate
+0x0d4e mem_usb_setup_bValue_temp
+0x0d50 mem_usb0_get_set_report
+0x0d51 mem_usb_ep1_data
+0x0d52 mem_usb_ep2_data
+0x0d53 mem_usb_clear_halt
+0x0d54 mem_usb_mouse_data
+0x0d64 mem_usb_kb_data
+0x0d74 mem_usb_kb_multikey
+0x0d84 mem_usb_kb_data_sta_data
+0x0d8c mem_usb_kb_data_last_data
+0x0d94 mem_usb_kb_multikey_sta_data
+0x0d97 mem_usb_kb_multikey_last_data
+0x0d9a mem_usb_kb_blank_data_enable
+0x0d9b mem_usb_kb_mul_blank_data_enable
+0x0d9c mem_usb_test_cnt
+0x0d9d mem_usb_clear_mem_end
+0x0d9d mem_usb_test_kb
+0x0d9e mem_rssi_noise_buffer
+0x0e9e mem_rssi_noise_dg_buffer
+0x0f9e mem_rssi_noise_ms_buffer
+0x109e mem_rssi_noise_kb_buffer
+0x119e mem_24g_common_temp
+0x4000 mem_patch00
+0x4001 mem_patch01
+0x4002 mem_patch02
+0x4003 mem_patch03
+0x4004 mem_patch04
+0x4005 mem_patch05
+0x4006 mem_patch06
+0x4007 mem_patch07
+0x4008 mem_patch08
+0x4009 mem_patch09
+0x400a mem_patch0a
+0x400b mem_patch0b
+0x400c mem_patch0c
+0x400d mem_patch0d
+0x400e mem_patch0e
+0x400f mem_patch0f
+0x4010 mem_patch10
+0x4011 mem_patch11
+0x4012 mem_patch12
+0x4013 mem_patch13
+0x4014 mem_patch14
+0x4015 mem_patch15
+0x4016 mem_patch16
+0x4017 mem_patch17
+0x4018 mem_patch18
+0x4019 mem_patch19
+0x401a mem_patch1a
+0x401b mem_patch1b
+0x401c mem_patch1c
+0x401d mem_patch1d
+0x401e mem_patch1e
+0x401f mem_patch1f
+0x4020 mem_patch20
+0x4021 mem_patch21
+0x4022 mem_patch22
+0x4023 mem_patch23
+0x4024 mem_patch24
+0x4025 mem_patch25
+0x4026 mem_patch26
+0x4027 mem_patch27
+0x4028 mem_patch28
+0x4029 mem_patch29
+0x402a mem_patch2a
+0x402b mem_patch2b
+0x402c mem_patch2c
+0x402d mem_patch2d
+0x402e mem_patch2e
+0x402f mem_patch2f
+0x4030 mem_patch30
+0x4031 mem_patch31
+0x4032 mem_patch32
+0x4033 mem_patch33
+0x4034 mem_patch34
+0x4035 mem_patch35
+0x4036 mem_patch36
+0x4037 mem_patch37
+0x4038 mem_patch38
+0x4039 mem_patch39
+0x403a mem_patch3a
+0x403b mem_patch3b
+0x403c mem_patch3c
+0x403d mem_patch3d
+0x403e mem_patch3e
+0x403f mem_patch3f
+0x4040 mem_context
+0x4090 mem_current_amaddr
+0x4091 mem_lpm_mode
+0x4092 mem_device_option
+0x4093 mem_scan_mode
+0x4094 mem_last_clkn
+0x4098 mem_features
+0x40a0 mem_lap
+0x40a3 mem_uap
+0x40a4 mem_nap
+0x40a6 mem_npage
+0x40a7 mem_glap
+0x40aa mem_class
+0x40ad mem_iscan_window
+0x40af mem_iscan_interval
+0x40b1 mem_pscan_window
+0x40b3 mem_pscan_interval
+0x40b5 mem_page_interval
+0x40b7 mem_page_window
+0x40b9 mem_page_to
+0x40bb mem_inq_window
+0x40bd mem_fcomp_mul
+0x40be mem_fcomp_div
+0x40bf mem_rx_window_init
+0x40c1 mem_rx_window_sniff
+0x40c3 mem_rf_init_ptr
+0x40c5 mem_last_type
+0x40c6 mem_last_type_esco
+0x40c7 mem_last_type_saved
+0x40c8 mem_retransmission_cnt
+0x40ca mem_next_btclk
+0x40ce mem_rf_rccal
+0x40cf mem_handle_num
+0x40d0 mem_max_slot
+0x40d1 mem_eir_enable
+0x40d2 mem_afh_instant
+0x40d6 mem_afh_error_total
+0x40d8 mem_afh_cfg
+0x40d9 mem_afh_new_mod
+0x40da mem_afh_map_lo
+0x40df mem_afh_map_hi
+0x40e4 mem_afh_used
+0x40e5 mem_afh_index
+0x40e7 mem_afh_map_new
+0x40f2 mem_afh_map
+0x4142 mem_afh_timer
+0x4146 mem_afh_classify_channel_map
+0x4150 mem_chip_functions
+0x4152 mem_lpm_wake_lock
+0x4154 mem_lpm_interval
+0x4156 mem_lpm_overhead
+0x4157 mem_lpm_hibernate_switch
+0x4158 mem_esco_addr
+0x4159 mem_sniff_unint_lost
+0x415a mem_ptt
+0x415b mem_sleep_counter//should be 0x41fc in REVC
+0x415f mem_sleep_counter_all
+0x4163 mem_sleep_clkn
+0x4169 mem_sniff_rcv
+0x416c mem_sniff_lost
+0x416f mem_clks_per_lpo
+0x4172 mem_lpm_mult
+0x4173 mem_lpm_mult_timeout
+0x4174 mem_lpm_mult_cnt
+0x4175 mem_lpm_config
+0x4178 mem_lpm_xtalcnt
+0x4179 mem_lpm_buckcnt
+0x417a mem_lpm_ldocnt
+0x417b mem_lpm_isogate
+0x417c mem_lpm_isogate_final
+0x417d mem_saved_gpio// should be 0x421e in REVC
+0x418d mem_saved_gsel
+0x4190 mem_saved_mark
+0x4198 mem_saved_spidctrl
+0x4199 mem_patch_ptr
+0x419b mem_patch_len
+0x419d mem_timers
+0x41bd mem_link_key_exists
+0x41be mem_link_key
+0x41ce mem_hci_cmd
+0x41cf mem_hci_conn_handle
+0x41d0 mem_hci_plap
+0x41d3 mem_hci_puap
+0x41d4 mem_hci_pnap
+0x41d6 mem_uartd_rxitems_got_data
+0x41d7 mem_uartd_rxitems_threshold
+0x41d8 mem_uartd_rx_timeout
+0x41da mem_loadcode_times
+0x41db mem_tx_lch
+0x41dc mem_tx_len
+0x41de mem_tx_power
+0x41df mem_context_number
+0x41e0 mem_250k_freq_enable
+0x41e1 mem_rf_init_data
+0x41e2 mem_app_handshake_flag
+0x41e3 mem_sniff_param_interval
+0x41e5 mem_sniff_param_attempt
+0x41e7 mem_sniff_param_timeout
+0x41e9 mem_cb_check_wakelock
+0x41eb mem_cb_before_hibernate
+0x41ed mem_cb_before_lpm
+0x41ef mem_cb_le_process
+0x41f1 mem_cb_bt_process
+0x41f3 mem_cb_idle_process
+0x41f5 mem_cb_bb_event_process
+0x41f7 mem_cb_discovry_timeout
+0x41f9 mem_cb_att_write
+0x41fb mem_cb_ble_transmit
+0x41fd mem_cb_event_timer
+0x41ff mem_cb_bt_set_mult
+0x4201 mem_cb_spi_flash_write_complate
+0x4203 mem_eeprom_base
+0x4205 mem_unsniff2sniff_timer_count
+0x4206 mem_wake_up_delay_timer
+0x4207 mem_app_connection_options
+0x4208 mem_app_disconn_reason
+0x420a mem_app_disconn_reason_flag
+0x420c mem_lpm_delay_after_sniff
+0x4210 mem_xrecord_mode
+0x4211 mem_eeprom_block_size
+0x4212 mem_spi_init_clk
+0x4213 mem_spi_init_delay_time
+0x4214 mem_spi_ncs_gpio
+0x4215 mem_nv_data_ptr
+0x4217 mem_nv_data_number
+0x4218 mem_queue_ptr
+0x421a mem_ui_led_struct_num
+0x421b mem_ui_led_struct_ptr
+0x421d mem_0_5_adc_io_data
+0x421f mem_1v_adc_hvin_data
+0x4221 mem_2v_adc_vinlpm_data
+0x4223 mem_1v_adc_io_data
+0x4225 mem_5v_adc_hvin_data
+0x4227 mem_3v_adc_vinlpm_data
+0x4229 mem_otp_adc_flag
+0x422b mem_reference_voltage
+0x422d mem_adc_config_flag
+0x422e mem_adc_channel
+0x422f mem_adc_current_value
+0x4231 mem_adc_power_flag//bit0:low power falg ; bit1:no power flag
+0x4232 mem_spi_write_addr
+0x4235 mem_spi_write_ptr
+0x4237 mem_spi_write_len
+0x4239 mem_spi_write_flash_sm
+0x423a mem_eeprom_wp_gpio
+0x423b mem_kscan_ptr
+0x423d mem_key_num_ptr
+0x423d mem_keyscan_ptr
+0x423f mem_power_param_ptr
+0x4241 mem_24g_head_ptr
+0x4243 mem_baud
+0x4245 mem_hci_lt_rx_state
+0x4246 mem_l2cap_xmem_start
+0x4246 mem_l2cap_tx_multi_offset//0 means single packet
+0x4248 mem_sdp_remote_cid
+0x424a mem_rfcomm_remote_cid
+0x424c mem_hid_ctrl_remote_cid
+0x424e mem_hid_int_remote_cid
+0x4250 mem_sdp_state
+0x4251 mem_rfcomm_state
+0x4252 mem_hid_control_state
+0x4253 mem_hid_interrupt_state
+0x4254 mem_spp_state
+0x4255 mem_ML2CAP_comm_id
+0x4256 mem_used_map
+0x4257 mem_tx_fifo0
+0x4257 mem_tx_fifo0_map
+0x4258 mem_tx_fifo0_ptr
+0x425a mem_tx_fifo1
+0x425a mem_tx_fifo1_map
+0x425b mem_tx_fifo1_ptr
+0x425d mem_tx_fifo2
+0x425d mem_tx_fifo2_map
+0x425e mem_tx_fifo2_ptr
+0x4260 mem_tx_fifo3
+0x4260 mem_tx_fifo3_map
+0x4261 mem_tx_fifo3_ptr
+0x4263 mem_tx_fifo_end
+0x4263 mem_l2cap_lpm_txbuf
+0x4363 mem_l2cap_flow_ctrl_flag
+0x4364 mem_l2cap_pending_item
+0x4365 mem_l2cap_xmem_end
+0x4365 mem_le_dsniff
+0x4367 mem_le_conn_interval
+0x4369 mem_le_scan_enable
+0x436a mem_le_scan_interval
+0x436c mem_le_scan_window
+0x436e mem_le_adv_enable
+0x436f mem_le_adv_data_len
+0x4370 mem_le_adv_data
+0x438f mem_le_scan_data_len
+0x4390 mem_le_scan_data
+0x43af mem_le_name_len
+0x43b0 mem_le_name
+0x43ce mem_le_new_map
+0x43d3 mem_le_new_param
+0x43d3 mem_le_new_transmitwindowsize
+0x43d4 mem_le_new_transmitwindowoffset
+0x43d6 mem_le_new_conninterval
+0x43d8 mem_le_new_connslavelatency
+0x43da mem_le_new_connsupervisiontimeout
+0x43dc mem_le_txheader
+0x43dd mem_le_txlen
+0x43de mem_le_txpayload
+0x43e0 mem_le_txcid
+0x43e2 mem_le_l2cap
+0x43e3 mem_le_l2cap_response
+0x43e4 mem_le_txbdy
+0x4403 mem_le_pcnt_tx
+0x4408 mem_le_pcnt_rx
+0x440d mem_le_last_mic
+0x4411 mem_le_ivm
+0x4415 mem_le_ivs
+0x4419 mem_le_ltk
+0x4429 mem_ltk_exists
+0x442a mem_le_rconfirm
+0x443a mem_le_srand
+0x444a mem_le_iat
+0x444b mem_le_rat
+0x444c mem_le_preq
+0x444d mem_le_preq_iocap
+0x444e mem_le_preq_oob
+0x444f mem_le_preq_auth
+0x4450 mem_le_preq_max_keysize
+0x4451 mem_le_preq_init_key_distribution
+0x4452 mem_le_preq_resp_key_distribution
+0x4453 mem_le_pres
+0x4454 mem_le_pres_iocap
+0x4455 mem_le_pres_oob
+0x4456 mem_le_pres_auth
+0x4457 mem_le_pres_max_keysize
+0x4458 mem_le_pres_init_key_distribution
+0x4459 mem_le_pres_resp_key_distribution
+0x445a mem_le_search_handle_start
+0x445c mem_le_search_handle_end
+0x445e mem_le_att_offset
+0x445e mem_le_search_att_type_length
+0x445f mem_le_search_att_type
+0x446f mem_le_notify_handle
+0x4471 mem_le_search_uuid_length
+0x4472 mem_le_search_uuid
+0x4482 mem_le_adv_param
+0x4482 mem_le_adv_interval
+0x4484 mem_le_adv_type
+0x4485 mem_le_adv_own_addr_type
+0x4486 mem_le_adv_direct_addr_type
+0x4487 mem_le_adv_direct_addr
+0x448d mem_le_adv_channel_map
+0x448e mem_le_conn_param
+0x448e mem_le_conn_peer_addr_type
+0x448f mem_le_conn_peer_addr
+0x4495 mem_le_conn_own_addr_type
+0x4496 mem_le_interval_min
+0x4498 mem_le_interval_max
+0x449a mem_le_latency
+0x449c mem_le_timeout
+0x449e mem_le_scan_params
+0x449e mem_le_scan_type
+0x449f mem_le_scan_own_addr_type
+0x44a0 mem_le_lap
+0x44a3 mem_le_uap
+0x44a4 mem_le_nap
+0x44a6 mem_le_local_mtu
+0x44a8 mem_le_remote_mtu
+0x44aa mem_le_skdm
+0x44b2 mem_le_skds
+0x44ba mem_le_init_superto
+0x44bc mem_ui_le_uuid_table
+0x44be mem_le_secure_connect_enable
+0x44bf mem_le_secure_connect_flag
+0x44c0 mem_le_sc_calc
+0x44c1 mem_le_secure_connect_state
+0x44c2 mem_le_sc_confirm_gkey_flag
+0x44c3 mem_le_sc_local_key_invalid
+0x44c4 mem_le_pairing_state
+0x44c5 mem_le_enc_state
+0x44c6 mem_le_pairing_mode
+0x44c7 mem_le_tk
+0x44cb mem_le_ediv
+0x44cd mem_le_rand
+0x44d5 mem_le_irk
+0x44e5 mem_le_transmit_window
+0x44e9 mem_le_configuration
+0x44ea mem_le_fixed_ltk
+0x44fa mem_le_pairing_handle
+0x44fc mem_le_l2cap_size
+0x44fe mem_le_packet_len_recved
+0x44ff mem_le_tx_buff_used
+0x4500 mem_le_tx_ptr0
+0x4502 mem_le_tx_ptr1
+0x4504 mem_le_tx_ptr2
+0x4506 mem_le_tx_ptr3
+0x4508 mem_le_signaling_identifier
+0x4509 mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x450b mem_le_packet_size
+0x450c mem_le_packet_llid
+0x450d mem_le_payload_ptr
+0x450f mem_le_md_count
+0x4510 mem_lmp_version
+0x4513 mem_lmp_subversion
+0x4515 mem_local_name_length
+0x4516 mem_local_name
+0x4519 mem_local_name2
+0x4559 mem_local_name_end
+0x455a mem_unsniff2sniff_timer
+0x455b mem_switch_flag
+0x455c mem_classic_bt_flag
+0x455d mem_pn_dlci
+0x455e mem_pn_max_frame_size
+0x4560 memFCStemp1
+0x4561 memFCStemp2
+0x4562 memFCStemp3
+0x4563 mem_rfcomm_initiator
+0x4564 mem_remote_spp_channel
+0x4565 mem_HIUfcs_SPP
+0x4566 mem_HIUfcs_SPP_WCredits
+0x4567 mem_rfcomm_send_more_pkt
+0x4568 mem_remote_credits
+0x4569 mem_credit_given
+0x456a mem_ms_channel
+0x456b mem_credit_flag
+0x456c mem_rfcomm_max_frame_size
+0x456e mem_rfcomm_credit_init_data
+0x456f mem_cb_receive_spp_data
+0x4571 mem_nl_rx_data_src
+0x4573 mem_nl_rx_len_all
+0x4575 mem_ui_uuid_table
+0x4577 mem_all_uuid_16bits
+0x458d mem_all_uuid_128bits
+0x45af mem_sdp_l2capch_ptr
+0x45b1 mem_sp_local_key_invalid
+0x45b2 mem_le_private_key_256
+0x45d2 mem_le_pubkey_local_x_256
+0x45f2 mem_le_pubkey_local_y_256
+0x4612 mem_sp_private_key
+0x462a mem_sp_pubkey_local
+0x462a mem_sp_pubkey_local_x
+0x4642 mem_sp_pubkey_local_x_end
+0x4642 mem_sp_pubkey_local_y
+0x465a mem_ssp_enable
+0x465b mem_sp_iocap_local
+0x465e mem_sp_iocap_remote
+0x4661 mem_flag_mode_ssp_pin
+0x4662 mem_ssp_mode_flag
+0x4663 mem_authentication_passkey_times
+0x4664 mem_passkey_1bit
+0x4665 mem_flag_pairing_state
+0x4666 mem_ipc_lock_bt
+0x4667 mem_ipc_lock_c51
+0x4668 mem_ipc_fifo_bt2c51
+0x4670 mem_ipc_fifo_c512bt
+0x4678 mem_ui_button_timer
+0x4679 mem_ui_button_last_state
+0x467a mem_ui_timer_last_btclk
+0x467e mem_discovery_timeout_timer_count
+0x4680 mem_hid_handshake_timer_count
+0x4681 memui_reconnect_mode
+0x4682 mem_ui_state_map
+0x4684 mem_ui_profile_supported
+0x4685 mem_ui_button_timeout
+0x4686 mem_ui_button_gpio
+0x4687 mem_discovery_timeout
+0x4689 mem_pin_length
+0x468a mem_pin
+0x469a mem_antl_lpm_interval
+0x469c mem_antl_adv_interval
+0x469e mem_antl_slow_adv_lpm_interval
+0x46a0 mem_antl_slow_adv_adv_interval
+0x46a2 mem_antl_led_style
+0x46a2 mem_antl_led_type
+0x46a3 mem_antl_led_blink_count
+0x46a4 mem_antl_led_gpio
+0x46a5 mem_antl_led_on_time
+0x46a7 mem_antl_led_off_time
+0x46a9 mem_antl_led_cb_on
+0x46ab mem_antl_led_cb_off
+0x46ad mem_antl_buzzer_style
+0x46ad mem_antl_buzzer_type
+0x46ae mem_antl_buzzer_blink_count
+0x46af mem_antl_buzzer_gpio
+0x46b0 mem_antl_buzzer_on_time
+0x46b2 mem_antl_buzzer_off_time
+0x46b4 mem_antl_buzzer_cb_on
+0x46b6 mem_antl_buzzer_cb_off
+0x46b8 mem_antl_fast_adv_led_style
+0x46b8 mem_antl_fast_adv_led_type
+0x46b9 mem_antl_fast_adv_led_blink_count
+0x46ba mem_antl_fast_adv_led_gpio
+0x46bb mem_antl_fast_adv_led_on_time
+0x46bd mem_antl_fast_adv_led_off_time
+0x46bf mem_antl_slow_adv_led_style
+0x46bf mem_antl_slow_adv_led_type
+0x46c0 mem_antl_slow_adv_led_blink_count
+0x46c1 mem_antl_slow_adv_led_gpio
+0x46c2 mem_antl_slow_adv_led_on_time
+0x46c4 mem_antl_slow_adv_led_off_time
+0x46c6 mem_antl_power_starting_led_style
+0x46c6 mem_antl_power_starting_led_type
+0x46c7 mem_antl_power_starting_led_blink_count
+0x46c8 mem_antl_power_starting_led_gpio
+0x46c9 mem_antl_power_starting_led_on_time
+0x46cb mem_antl_power_starting_led_off_time
+0x46cd mem_antl_power_starting_buzzer_style
+0x46d4 mem_antl_power_off_led_style
+0x46d4 mem_antl_power_off_led_type
+0x46d5 mem_antl_power_off_led_link_count
+0x46d6 mem_antl_power_off_led_gpio
+0x46d7 mem_antl_power_off_led_on_time
+0x46d9 mem_antl_power_off_led_off_time
+0x46db mem_antl_power_off_buzzer_style
+0x46db mem_antl_power_off_buzzer_type
+0x46dc mem_antl_power_off_buzzer_link_count
+0x46dd mem_antl_power_off_buzzer_gpio
+0x46de mem_antl_power_off_buzzer_on_time
+0x46e0 mem_antl_power_off_buzzer_off_time
+0x46e2 mem_antl_alert_led_stlye
+0x46e9 mem_antl_alert_buzzer_stlye
+0x46e9 mem_antl_alert_buzzer_type
+0x46ea mem_antl_alert_buzzer_blink_count
+0x46eb mem_antl_alert_buzzer_gpio
+0x46ec mem_antl_alert_buzzer_on_time
+0x46ee mem_antl_alert_buzzer_off_time
+0x46f0 mem_antl_key_led_style
+0x46f0 mem_antl_key_led_type
+0x46f1 mem_antl_key_led_blink_count
+0x46f2 mem_antl_key_led_gpio
+0x46f3 mem_antl_key_led_on_time
+0x46f5 mem_antl_key_led_off_time
+0x46f7 mem_antl_key_buzzer_style
+0x46fe mem_antl_queue_width
+0x46ff mem_antl_queue_depth
+0x4700 mem_antl_queue_curr_num
+0x4701 mem_antl_queue_read_ptr
+0x4702 mem_antl_queue_write_ptr
+0x4703 mem_antl_queue_buff
+0x4753 mem_antl_key_scan_enable
+0x4754 mem_antl_led_num
+0x4755 mem_antl_led_gpio_map
+0x4759 mem_antl_power_param
+0x4759 mem_antl_power_state
+0x475a mem_antl_power_timer
+0x475b mem_antl_power_off_timeout
+0x475c mem_antl_power_starting_timeout
+0x475d mem_antl_power_off_cb
+0x475f mem_antl_power_starting_cb
+0x4761 mem_antl_power_standby_cb
+0x4763 mem_event_button_up_cb
+0x4765 mem_antl_key_num
+0x4766 mem_cb_antl_key
+0x4768 mem_antl_key_conf0
+0x476c mem_antl_key0_press
+0x477b mem_antl_key0_release
+0x478a mem_antl_conn_updata_procedure_state
+0x478b mem_client_characteristic_configuration_descriptor
+0x478d mem_adc_timer
+0x478f mem_antl_conn_update_timer
+0x4790 mem_antl_send_updata_le_param_timer
+0x4791 mem_antl_le_sleep_timer
+0x4793 mem_antl_fast_adv_timer
+0x4795 mem_antl_fast_adv_timeout
+0x4797 mem_antl_le_sleep_timeout
+0x4799 mem_double_click_timer
+0x479a mem_butten_click_cnt
+0x479b mem_antl_led_state
+0x479c mem_antl_buzzer_state
+0x479d mem_antl_key_state
+0x479e mem_antl_lost_mode
+0x479f mem_alarm_config
+0x47a0 mem_alarm_config_notfy_cnt
+0x47a1 mem_buzzer_pwm_conf
+0x47a7 mem_adc_timeout
+0x47a9 mem_voltage_remain_percent
+0x47aa mem_battery_calculate_set
+0x47aa mem_battery_full_voltage
+0x47ac mem_battery_empty_voltage
+0x47ae mem_battery_low_voltage
+0x47b0 mem_battery_current_voltage
+0x47b2 mem_rx_window_sniff_inc
+0x47b4 mem_interval_increment
+0x47b6 mem_antl_le_interval_min
+0x47b8 mem_antl_le_interval_max
+0x47ba mem_antl_le_latency
+0x47bc mem_antl_le_timeout
+0x47be mem_antl_le_unnormal_interval_min
+0x47c0 mem_antl_le_unnormal_interval_max
+0x47c2 mem_antl_le_unnormal_latency
+0x47c4 mem_antl_le_unnormal_timeout
+0x47c6 mem_AntiLost_le_att_list
+0x469a mem_car_hard_soft_switch
+0x469b mem_car_queue_each_size
+0x469c mem_car__queue_length
+0x469d mem_car_queue_curr_num
+0x469e mem_car_queue_read_ptr
+0x469f mem_car_queue_write_ptr
+0x46a0 mem_car_queue_ele
+0x4718 mem_car_pop_queue_buff
+0x472c mem_car_led_num
+0x472d mem_car_led_map
+0x4737 mem_car_style1_led_type
+0x4738 mem_car_style1_blink_count
+0x4739 mem_car_style1_struct_led_gpio
+0x473a mem_car_style1_on_time
+0x473c mem_car_style1_off_time
+0x473e mem_car_style1_cb_ledon
+0x4740 mem_car_style1_cb_ledoff
+0x4742 mem_car_style2_led_type
+0x4743 mem_car_style2_blink_count
+0x4744 mem_car_style2_struct_led_gpio
+0x4745 mem_car_style2_on_time
+0x4747 mem_car_style2_off_time
+0x4749 mem_car_style2_cb_ledon
+0x474b mem_car_style2_cb_ledoff
+0x474d mem_le_receive_data
+0x474d mem_le_receive_packet_head
+0x474f mem_le_receive_cmd
+0x4750 mem_le_receive_length
+0x4752 mem_le_receive_payload
+0x475c mem_le_receive_checksum
+0x475d mem_motor1_status
+0x475e mem_motor1_speed
+0x475f mem_motor2_status
+0x4760 mem_motor2_speed
+0x4761 mem_motor3_status
+0x4762 mem_motor3_speed
+0x4763 mem_motor1_pwm_set
+0x4763 mem_motor1_pwm_pin1_set
+0x4764 mem_motor1_pwm_pin2_set
+0x4765 mem_motor1_pwm_pin_set
+0x4766 mem_motor1_pwm_channel_set
+0x4767 mem_motor1_pwm_freq_set
+0x476a mem_motor1_pwm_dute_set
+0x476b mem_motor2_pwm_set
+0x476b mem_motor2_pwm_pin1_set
+0x476c mem_motor2_pwm_pin2_set
+0x476d mem_motor2_pwm_pin_set
+0x476e mem_motor2_pwm_channel_set
+0x476f mem_motor2_pwm_freq_set
+0x4772 mem_motor2_pwm_dute_set
+0x4773 mem_motor3_pwm_set
+0x4773 mem_motor3_pwm_pin1_set
+0x4774 mem_motor3_pwm_pin2_set
+0x4775 mem_motor3_pwm_pin_set
+0x4776 mem_motor3_pwm_channel_set
+0x4777 mem_motor3_pwm_freq_set
+0x477a mem_motor3_pwm_dute_set
+0x477b mem_motor_select_p_n
+0x477c mem_car_motor_status
+0x477d mem_car_motor_speed
+0x477e mem_motor_pwm_set
+0x477e mem_motor_pwm_pin1_set
+0x477f mem_motor_pwm_pin2_set
+0x4780 mem_motor_pwm_pin_set
+0x4781 mem_motor_pwm_channel_set
+0x4782 mem_motor_pwm_freq_set
+0x4785 mem_motor_pwm_dute_set
+0x4786 mem_ir_rx_gpio
+0x4787 mem_ir_data
+0x4789 mem_ir_rx_buf
+0x478b mem_ir_receive_clkn
+0x478f mem_ir_notify_data
+0x4792 mem_ir_notify_data_head
+0x4797 mem_ir_notify_data_payload
+0x4799 mem_ir_notify_data_check_sum
+0x479a mem_car_ir_breakdown_check_timer
+0x479b mem_car_ir_breakdown_flag
+0x479c mem_car_led_control
+0x479c mem_car_led1_status
+0x479d mem_car_led2_status
+0x479e mem_car_led3_status
+0x479f mem_car_led4_status
+0x47a0 mem_car_led5_status
+0x47a1 mem_car_led6_status
+0x47a2 mem_car_led7_status
+0x47a3 mem_car_led8_status
+0x47a4 mem_car_led_control_timer
+0x47a5 mem_car_led_blink_status
+0x47a6 mem_car_led_no
+0x47a7 mem_car_info_request
+0x47aa mem_car_info_request_head
+0x47af mem_car_info_request_payload
+0x47b7 mem_car_info_request_checksum
+0x47b8 mem_car_config_param
+0x47b8 mem_car_config_setting_flag
+0x47b9 mem_car_config_device_select
+0x47ba mem_car_config_motor_layout
+0x47bb mem_car_config_ir_enable
+0x47bc mem_car_config_ir_rx_gpio
+0x47bd mem_car_config_pairing_led_conn_status
+0x47be mem_car_config_pairing_led_gpio
+0x47bf mem_car_config_led_num
+0x47c0 mem_car_config_blood_led_gpio
+0x47c0 mem_car_config_blood_led1_gpio
+0x47c1 mem_car_config_blood_led2_gpio
+0x47c2 mem_car_config_blood_led3_gpio
+0x47c3 mem_car_config_blood_led4_gpio
+0x47c4 mem_car_config_blood_led5_gpio
+0x47c5 mem_car_config_blood_led6_gpio
+0x47c6 mem_car_config_blood_led7_gpio
+0x47c7 mem_car_config_blood_led8_gpio
+0x47c8 mem_car_config_bat_notify_enable
+0x47c9 mem_car_config_low_voltage_led_gpio
+0x47ca mem_car_config_low_voltage_percent
+0x47cb mem_car_config_soft_switch_enable
+0x47cc mem_car_config_soft_switch_gpio
+0x47cd mem_car_notify_vdd_count
+0x47ce mem_car_notify_vdd_timer
+0x47cf mem_car_notify_vdd_value_last
+0x47d0 mem_car_notify_vdd_percent
+0x47d1 mem_car_working_flag
+0x47d2 mem_low_bat_flag
+0x47d3 mem_notify_bat_packet
+0x47d6 mem_notify_bat_head
+0x47db mem_notify_bat_payload
+0x47dc mem_notify_bat_check_sum
+0x47dd mem_vdd_notify_flag
+0x47de mem_car_current_vdd_value_temp
+0x47e0 mem_car_last_vdd_value
+0x47e2 mem_vdd_calculate_set
+0x47e2 mem_vdd_full_vol
+0x47e4 mem_vdd_empty_vol
+0x47e6 mem_vdd_low_vol
+0x47e8 mem_vdd_now_vol
+0x47ea mem_car_24g_status
+0x47eb mem_car_24g_no_data_timeout_count
+0x47ed mem_car_24g_no_data_timeout_timer
+0x47ef mem_car_24g_ir_receive_attack_count
+0x47f0 mem_car_24g_go_die_flag
+0x47f1 mem_car_attack_shake_timer
+0x47f2 mem_car_attack_shake_flag
+0x47f3 mem_car_soft_power
+0x47f3 mem_car_power_state
+0x47f4 mem_car_power_timer
+0x47f5 mem_car_power_off_timeout
+0x47f6 mem_car_power_starting_timeout
+0x47f7 mem_car_power_off_cb
+0x47f9 mem_car_power_starting_cb
+0x47fb mem_car_power_standby_cb
+0x47fd mem_car_ui_button_up_cb
+0x47ff mem_car_le_att_list
+0x49f3 mem_car_moto1_blank_timer
+0x49f4 mem_car_moto2_blank_timer
+0x49f5 mem_car_moto3_blank_timer
+0x49f6 mem_car_24g_received_pac
+0x49f7 mem_24g_car_head_ptr
+0x469a mem_light_pwm0
+0x469b mem_light_pwm1
+0x469c mem_light_pwm2
+0x469d mem_light_pwm3
+0x469e mem_light_pwm4
+0x469f mem_light_pwm5
+0x46a0 mem_light_pairing_enable
+0x46a1 mem_light_pairing_timer
+0x46a3 mem_light_cnum
+0x46a4 mem_light_next_record
+0x46a5 mem_light_clist
+0x46f5 mem_light_crr_cmd_count
+0x46f6 mem_curr_packet_num
+0x469a mem_lightc_led_gpio
+0x469b mem_lightc_row
+0x46a1 mem_lightc_col
+0x46a7 mem_adv_time
+0x46a8 mem_cmd0_string
+0x46bc mem_cmd1_string
+0x46d0 mem_cmd2_string
+0x46e4 mem_cmd3_string
+0x46f8 mem_cmd4_string
+0x470c mem_cmd5_string
+0x4720 mem_cmd6_string
+0x4734 mem_cmd7_string
+0x4748 mem_cmd8_string
+0x475c mem_cmd9_string
+0x4770 mem_cmd10_string
+0x4784 mem_cmd11_string
+0x4798 mem_cmd12_string
+0x47ac mem_cmd13_string
+0x47c0 mem_cmd14_string
+0x47d4 mem_cmd15_string
+0x47e8 mem_cmd16_string
+0x47fc mem_cmd17_string
+0x4810 mem_cmd18_string
+0x4824 mem_cmd19_string
+0x4838 mem_cmd20_string
+0x469a mem_soft_version_num
+0x469c mem_module_wake_up_gpio
+0x469d mem_module_state_gpio
+0x469e mem_module_connect_state_gpio
+0x469f mem_current_packet_length
+0x46a1 mem_module_state
+0x46a2 mem_module_mcu_wake_pin
+0x46a3 mem_module_mcu_wake_delay_us
+0x46a7 mem_module_spp_lpm_mult
+0x46a8 mem_module_le_lpm_mult
+0x46a9 mem_module_bluetooth_stauts_by_command
+0x46aa mem_module_uart_rx_buffer
+0x46ac mem_module_uart_rx_buffer_end
+0x46ae mem_module_uart_tx_buffer
+0x46b0 mem_module_uart_tx_buffer_end
+0x46b2 mem_module_read_vdd_flag
+0x46b3 mem_module_read_vdd_count
+0x46b4 mem_module_vdd_quotient
+0x46b5 mem_module_vdd_remainder
+0x46b6 mem_module_le_rx_data_len
+0x46b7 mem_module_le_rx_data_address
+0x46b9 mem_module_le_rx_data_handle
+0x46bb mem_module_data_write_handle
+0x46bd mem_module_data_write_handle2
+0x46bf mem_module_flag
+0x46c0 mem_module_hci_notify_len
+0x46c1 mem_module_hci_notify_handle
+0x46c3 mem_module_hci_nofiy_addr
+0x46c5 mem_last_transmite_clock
+0x46c9 mem_module_uuid_list
+0x47f5 mem_module_uuid_list_end
+0x47f5 mem_module_le_att_list
+0x4a4d mem_module_le_att_list_end
+0x4a4d mem_module_nv_data
+0x4a4d mem_module_nv_data0
+0x4a6f mem_module_nv_data1
+0x4a91 mem_module_nv_data2
+0x4ab3 mem_module_nv_data3
+0x4ad5 mem_module_nv_data4
+0x4af7 mem_fcc_param_new
+0x4af7 mem_fcc_ch_new
+0x4af8 mem_fcc_mod_new
+0x4af9 mem_fcc_data_new
+0x4afa mem_fcc_send_mode_new
+0x4afb mem_fcc_param
+0x4afb mem_fcc_ch
+0x4afc mem_fcc_mod
+0x4afd mem_fcc_data
+0x4afe mem_fcc_send_mode
+0x4aff mem_fcc_btble
+0x4b00 mem_fcc_hop
+0x4b01 mem_fcc_data_length
+0x4b02 mem_log
+0x4c02 mem_wptr
+0x4c04 mem_rptr
+0x4c06 mem_random_ch
+0x4c07 mem_pn9
+0x4d07 mem_fcc_pack
+0x469a mem_mouse_key
+0x469b mem_mouse_x
+0x469d mem_mouse_y
+0x469f mem_mouse_z
+0x46a0 mem_mouse_tz
+0x46a1 mem_mouse_xy_h
+0x46a2 mem_sensor_shutter_hi
+0x46a3 mem_sensor_shutter_lo
+0x46a4 mem_sensor_smart_flag
+0x46a5 mem_sensor_squal_reg
+0x46a6 mem_sensor_iqc
+0x46a7 mem_mouse_move_flag
+0x46a8 mem_mouse_direct_timeout
+0x46aa mem_mouse_no_data_timeout
+0x46ac mem_mouse_discovery_timer
+0x46ae mem_mouse_direct_timer
+0x46b0 mem_mouse_no_data_timer
+0x46b2 mem_mouse_blank_data_timer
+0x46b4 mem_mouse_send_blank_timer
+0x46b5 mem_mouse_cpi_count
+0x46b6 mem_mouse_dpi_button_state
+0x46b7 mem_wheel_tb_old_pinlevel
+0x46b8 mem_wheel_tb_new_pinlevel
+0x46b9 mem_wheel_tog
+0x46ba mem_mouse_tz_data
+0x46bb mem_mouse_tz_data_count
+0x46bc mem_mouse_tz_data_count1
+0x46bd mem_mwheel_b_old_pinlevel
+0x46be mem_mwheel_b_new_pinlevel
+0x46bf mem_mwheel_tog
+0x46c0 mem_mouse_z_data
+0x46c1 mem_mouse_z_data_count
+0x46c2 mem_mouse_z_data_count1
+0x46c3 mem_reconn_mode
+0x46c4 mem_mouse_statue_led_timer
+0x46c5 mem_le_connect_statue_flag
+0x46c6 mem_le_start_encrypt_timer
+0x46c7 mem_device_addr_temp
+0x46ce mem_adc_read_timer
+0x46cf mem_adc_low_volatage_led_timer_count
+0x46d0 mem_adc_reference_voltage
+0x46d2 mem_device_number
+0x46d3 mem_mouse_flag
+0x46d5 mem_mouse_function_enable
+0x46d7 mem_combination_select_device_timer_init
+0x46d8 mem_combination_select_device_count
+0x46d9 mem_select_device_button_statue
+0x46da mem_combination_ui_button_count
+0x46db mem_bt_discovey_button_statue
+0x46dc mem_sensor_reset_gpio
+0x46dd mem_sensor_id1
+0x46de mem_sensor_id2
+0x46df mem_mouse_dpi_led_delay_count
+0x46e0 mem_config_sensor_type
+0x46e1 mem_config_sensor_motion
+0x46e2 mem_lbutton_gpio
+0x46e3 mem_rbutton_gpio
+0x46e4 mem_mbutton_gpio
+0x46e5 mem_bk_button_gpio
+0x46e6 mem_fw_button_gpio
+0x46e7 mem_dpi_button_gpio
+0x46e8 mem_whee_a_data_gpio
+0x46e9 mem_whee_b_data_gpio
+0x46ea mem_whee_ta_data_gpio
+0x46eb mem_whee_tb_data_gpio
+0x46ec mem_config_bt_button_gpio
+0x46ed mem_config_select_device_button_gpio
+0x46ee mem_config_paraing_led_gpio
+0x46ef mem_config_low_voltage_alarm_gpio
+0x46f0 mem_config_device1_led_gpio
+0x46f1 mem_config_device2_led_gpio
+0x46f2 mem_config_device3_led_gpio
+0x46f3 mem_sensor_data_gpio
+0x46f4 mem_dpi_led_gpio
+0x46f5 mem_config_function_enable
+0x46f6 mem_config_sensor_angle
+0x46f7 mem_select_sensor_angle_gpio
+0x46f8 mem_select_adc_gpio
+0x46f9 mem_config_end
+0x46f9 mem_btclk_sensor
+0x46fd mem_wire_usb_interval
+0x46fe mem_mouse_mode_flag
+0x46ff mem_usb_addr
+0x4700 mem_flash_base
+0x4703 mem_24g_device_number
+0x4704 mem_24g_enter_lpm_timer
+0x4705 mem_mouse_1step_up_count
+0x4706 mem_mouse_2step_up_count
+0x4707 mem_24g_pairing_timer_count
+0x4709 mem_mouse_vdd_calculate_set
+0x4709 mem_mouse_vdd_full_vol
+0x470b mem_mouse_vdd_empty_vol
+0x470d mem_mouse_vdd_low_vol
+0x470f mem_mouse_vdd_now_vol
+0x4711 mem_mouse_sensor_timer_count
+0x4712 mem_sensor_led_style
+0x4713 mem_mouse_led_type
+0x4714 mem_mouse_blink_count
+0x4715 mem_mouse_struct_led_gpio
+0x4716 mem_mouse_on_time
+0x4718 mem_mouse_off_time
+0x471a mem_mouse_cb_ledon
+0x471c mem_mouse_cb_ledoff
+0x471e mem_reconn_times
+0x471f mem_reconn_times_init
+0x4720 mem_mouse_information_start
+0x4720 mem_device_flag
+0x4721 mem_device1_type
+0x4722 mem_device1_addr
+0x4728 mem_device1_link_key
+0x4738 mem_device1_locall_addr
+0x473e mem_device2_type
+0x473f mem_device2_addr
+0x4745 mem_device2_link_key
+0x4755 mem_device2_locall_addr
+0x475b mem_device3_type
+0x475c mem_device3_addr
+0x4762 mem_device3_link_key
+0x4772 mem_device3_locall_addr
+0x4778 mem_store_flag
+0x477a mem_mouse_dpi
+0x477b mem_mouse_24g_addr
+0x477f mem_mouse_information_end
+0x477f mem_mouse_dpi_seting
+0x477f mem_320x_dpi_1
+0x4780 mem_320x_dpi_2
+0x4781 mem_320x_dpi_3
+0x4782 mem_320x_dpi_4
+0x4783 mem_3212_dpi_1
+0x4784 mem_3212_dpi_2
+0x4785 mem_3212_dpi_3
+0x4786 mem_3212_dpi_4
+0x4787 mem_3610_dpi_1
+0x4788 mem_3610_dpi_2
+0x4789 mem_3610_dpi_3
+0x478a mem_3610_dpi_4
+0x478b mem_mouse_24g_enter_lpm_enable
+0x478c mem_24g_ms_head_ptr
+0x469a mem_remote_car_hard_soft_switch
+0x469b mem_remote_car_queue_each_size
+0x469c mem_remote_car_queue_length
+0x469d mem_remote_car_queue_curr_num
+0x469e mem_remote_car_queue_read_ptr
+0x469f mem_remote_car_queue_write_ptr
+0x46a0 mem_remote_car_queue_ele
+0x46fa mem_remote_style_led_type
+0x46fb mem_remote_style_blink_count
+0x46fc mem_remote_style_struct_led_gpio
+0x46fd mem_remote_style_on_time
+0x46ff mem_remote_style_off_time
+0x4701 mem_remote_style_cb_ledon
+0x4703 mem_remote_style_cb_ledoff
+0x4705 mem_remote_car_led_num
+0x4706 mem_remote_car_led_map
+0x470e mem_remote_car_keyscan
+0x470e mem_remote_car_key_num
+0x470f mem_cb_remote_car_keyscan
+0x4711 mem_remote_car_key_conf0
+0x4711 mem_remote_car_key_conf0_pin
+0x4712 mem_remote_car_key_conf1
+0x4712 mem_remote_car_key_conf1_pin
+0x4713 mem_remote_car_key_conf2
+0x4713 mem_remote_car_key_conf2_pin
+0x4714 mem_remote_car_key_conf3
+0x4714 mem_remote_car_key_conf3_pin
+0x4715 mem_remote_car_key_conf4
+0x4715 mem_remote_car_key_conf4_pin
+0x4716 mem_remote_car_key_conf5
+0x4716 mem_remote_car_key_conf5_pin
+0x4717 mem_remote_car_key_conf6
+0x4717 mem_remote_car_key_conf6_pin
+0x4718 mem_rocker_negative_flag
+0x4719 mem_rocker_work_status
+0x471a mem_current_vdd_value_default_mid_x
+0x471c mem_current_vdd_value_default_mid_y
+0x471e mem_current_vdd_value_default_mid_temp
+0x4720 mem_current_vdd_default_range
+0x4722 mem_rocker_last_status
+0x4724 mem_rocker_status
+0x4724 mem_rocker_x_status
+0x4725 mem_rocker_y_status
+0x4726 mem_remote_car_config_param
+0x4726 mem_remote_car_config_setting_flag
+0x4727 mem_remote_car_config_key_map
+0x4728 mem_remote_car_config_layout
+0x4729 mem_remote_car_config_connect_led_gpio
+0x472a mem_remote_car_config_check_way
+0x472b mem_remote_car_config_soft_switch_enable
+0x472c mem_remote_car_config_soft_switch_gpio
+0x472d mem_remote_car_config_timeout_shutdown_enable
+0x472e mem_remote_car_24g_motor_packet
+0x472e mem_remote_car_24g_motor_packet_lenght
+0x472f mem_remote_car_24g_motor_send_packet_head
+0x4731 mem_remote_car_24g_motor_send_cmd
+0x4732 mem_remote_car_24g_motor_send_length
+0x4734 mem_remote_car_24g_motor_send_payload
+0x4734 mem_remote_car_24g_motor1_payload
+0x4736 mem_remote_car_24g_motor2_payload
+0x4738 mem_remote_car_24g_motor3_payload
+0x473a mem_remote_car_24g_motor_send_checksum
+0x473b mem_remote_car_24g_fire_packet
+0x473b mem_remote_car_24g_fire_packet_lenght
+0x473c mem_remote_car_24g_fire_send_packet_head
+0x473e mem_remote_car_24g_fire_send_cmd
+0x473f mem_remote_car_24g_fire_send_length
+0x4741 mem_remote_car_24g_fire_send_payload
+0x4743 mem_remote_car_24g_fire_send_checksum
+0x4744 mem_remote_car_24g_tx_temp
+0x4753 mem_remote_car_no_data_timeout
+0x4755 mem_remote_car_no_data_timer
+0x4757 mem_remote_car_soft_power
+0x4757 mem_remote_car_power_state
+0x4758 mem_remote_car_power_timer
+0x4759 mem_remote_car_power_off_timeout
+0x475a mem_remote_car_power_starting_timeout
+0x475b mem_remote_car_power_off_cb
+0x475d mem_remote_car_power_starting_cb
+0x475f mem_remote_car_power_standby_cb
+0x4761 mem_remote_key_status
+0x4762 mem_remote_car_24g_status
+0x4763 mem_remote_car_24g_auto_work_step
+0x4764 mem_remote_car_24g_pair_success_flag
+0x4765 mem_remote_car_24g_enter_lpm_enable
+0x4766 mem_remote_car_empty_packet
+0x4767 mem_24g_RC_head_ptr
+0x469a mem_shutter_bluetooth_type
+0x469b mem_shutter_config_enable
+0x469c mem_shutter_config_otp_base_address
+0x469e mem_shutter_config_size
+0x469f mem_shutter_config_select_gpio1
+0x46a0 mem_shutter_config_select_gpio2
+0x46a1 mem_shutter_config_select_gpio3
+0x46a2 mem_shutter_config_user_otp_address
+0x46a4 mem_shutter_config_eeprom_offset_addr
+0x46a6 mem_shutter_config_eeprom_start_flag
+0x46a8 mem_shutter_config_user_size
+0x46a9 mem_shutter_config_label
+0x46aa mem_shutter_config_otp_addr
+0x46ac mem_classic_shutter_cable_unplug_conut
+0x46ad mem_classic_shutter_hid_disconn_count
+0x46ae mem_classic_shutter_random_mac_offset_addr
+0x46b0 mem_ble_shutter_enable_notify
+0x46b1 mem_ble_shutter_reconn_dav_interval
+0x46b3 mem_ble_shutter_discovery_adv_interval
+0x46b5 mem_ble_shutter_reconn_timeout
+0x46b7 mem_ble_shutter_reconn_timer
+0x46b9 mem_ble_shutter_reconn_blink_on_time
+0x46bb mem_ble_shutter_reconn_blink_off_time
+0x46bd mem_ble_shutter_discovery_blink_on_time
+0x46bf mem_ble_shutter_discovery_blink_off_time
+0x46c1 mem_ble_shutter_interval_min
+0x46c3 mem_ble_shutter_interval_max
+0x46c5 mem_ble_shutter_latency
+0x46c7 mem_ble_shutter_timeout
+0x46c9 mem_ble_shutter_interval_min_new
+0x46cb mem_ble_shutter_interval_max_new
+0x46cd mem_ble_shutter_latency_new
+0x46cf mem_ble_shutter_timeout_new
+0x46d1 mem_classic_shutter_discovery_timeout
+0x46d3 mem_classic_shutter_connect_timeout
+0x46d5 mem_ble_shutter_discovery_timeout
+0x46d7 mem_ble_shutter_connect_timeout
+0x46d9 mem_shutter_sleep_timeout
+0x46db mem_shutter_sleep_timer
+0x46dd mem_shutter_hard_soft_switch_case
+0x46de mem_shutter_soft_switch_button_gpio
+0x46df mem_shutter_soft_switch_power_state
+0x46e0 mem_shutter_soft_switch_poweron_time
+0x46e1 mem_shutter_soft_switch_poweroff_time
+0x46e2 mem_shutter_soft_switch_poweron_callback_function
+0x46e4 mem_shutter_soft_switch_poweroff_callback_function
+0x46e6 mem_shutter_keyscan
+0x46e6 mem_shutter_key_num
+0x46e7 mem_cb_shutter_keycan
+0x46e9 mem_shutter_key_conf0
+0x46ea mem_shutter_key_conf1
+0x46eb mem_shutter_key_conf2
+0x46ec mem_shutter_key_conf3
+0x46ed mem_shutter_key_conf4
+0x46ee mem_shutter_key_conf5
+0x46ef mem_shutter_key_conf6
+0x46f0 mem_shutter_key_conf7
+0x46f1 mem_key0_press
+0x46f6 mem_key1_press
+0x46fb mem_key2_press
+0x4700 mem_key3_press
+0x4705 mem_key4_press
+0x470a mem_key5_press
+0x470f mem_key6_press
+0x4714 mem_key7_press
+0x4719 mem_key0_release
+0x471e mem_key1_release
+0x4723 mem_key2_release
+0x4728 mem_key3_release
+0x472d mem_key4_release
+0x4732 mem_key5_release
+0x4737 mem_key6_release
+0x473c mem_key7_release
+0x4741 mem_ble_data_buffer1
+0x4746 mem_ble_data_buffer2
+0x474b mem_ble_data_buffer3
+0x4750 mem_ble_data_buffer4
+0x4755 mem_ble_data_buffer5
+0x475a mem_ble_data_buffer6
+0x475f mem_ble_data_buffer7
+0x4764 mem_ble_data_buffer8
+0x4769 mem_ble_data_buffer9_58
+0x479b mem_classic_data_buffer
+0x47a0 mem_classic_data_buffer1
+0x47a5 mem_classic_data_buffer2
+0x47aa mem_classic_data_buffer3
+0x47af mem_classic_data_buffer4
+0x47b4 mem_classic_data_buffer5
+0x47b9 mem_classic_data_buffer6
+0x47be mem_classic_data_buffer7
+0x47c3 mem_classic_data_buffer8
+0x47c8 mem_classic_data_buffer9_58
+0x47fa mem_queue_each_size
+0x47fb mem_queue_length
+0x47fc mem_queue_curr_num
+0x47fd mem_queue_read_ptr
+0x47fe mem_queue_write_ptr
+0x47ff mem_queue_ele
+0x481f mem_shutter_nv_data
+0x48c9 mem_shutter_led_struct_app_led
+0x48c9 mem_shutter_led_struct_app_led_type
+0x48ca mem_shutter_led_struct_app_led_blink_count
+0x48cb mem_shutter_led_struct_app_led_gpio
+0x48cc mem_shutter_led_struct_app_led_on_time
+0x48ce mem_shutter_led_struct_app_led_off_time
+0x48d0 mem_shutter_led_struct_app_led_on_callback
+0x48d2 mem_shutter_led_struct_app_led_off_callback
+0x48d4 mem_shutter_power_off_led_style
+0x48d4 mem_shutter_power_off_led_style_type
+0x48d5 mem_shutter_power_off_led_style_blink_count
+0x48d6 mem_shutter_power_off_led_style_gpio
+0x48d7 mem_shutter_power_off_led_style_on_time
+0x48d9 mem_shutter_power_off_led_style_off_time
+0x48db mem_shutter_power_off_led_style_on_callback
+0x48dd mem_shutter_power_off_led_style_off_callback
+0x48df mem_shutter_soft_swtich_botton_down
+0x48e0 mem_shutter_soft_swtich_led_struct_temp
+0x48eb mem_shutter_power_off_timeout
+0x48ec mem_shutter_power_off_timer
+0x469a mem_24g_dongle_head_ptr
Index: YJX_Only24g/FCC_1021S/output/otp.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/otp.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/otp.dat	(working copy)
@@ -0,0 +1,8 @@
+00
+02
+aa
+55
+00
+00
+b3
+23
Index: YJX_Only24g/FCC_1021S/output/otp.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/otp.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/otp.rom	(working copy)
@@ -0,0 +1,16384 @@
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
Index: YJX_Only24g/FCC_1021S/output/program.lis
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/program.lis	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/program.lis	(working copy)
@@ -0,0 +1,33437 @@
+include "bt_format "
+org 0x0000
+
+p_start:
+0000 2040028f call p_pause_c51 
+0001 2040003f call p_clean_mem 
+0002 2040004c call p_init_param 
+0003 20400075 call p_initialize_radio 
+0004 2040003b call p_xtal_test 
+0005 70805021 hjam 0x21 ,core_clkoff 
+0006 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0007 204067fb call gpio_config_input 
+0008 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+0009 204067fb call gpio_config_input 
+000a 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+000b 204067fb call gpio_config_input 
+000c 2040659c call iic_init_390k 
+000d 58000200 setarg 0x0200 
+000e 60014720 store 2 ,mem_device_flag 
+000f d8400002 arg 2 ,temp 
+0010 da204720 arg mem_device_flag ,rega 
+0011 58000000 setarg 0 
+0012 2040663d call iicd_write_eep 
+0013 20400274 call pp_pn9 
+0014 2020012c branch p_test_tx_new_param 
+
+p_mouse_check_key_gpio:
+0015 da200000 arg 0 ,rega 
+0016 20400027 call p_mouse_check_lkey_gpio 
+0017 2040001b call p_mouse_check_rkey_gpio 
+0018 20400021 call p_mouse_check_mkey_gpio 
+0019 1a227e00 copy rega ,pdata 
+001a 20600000 rtn 
+
+p_mouse_check_rkey_gpio:
+001b 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+001c 20400036 call p_gpio_set_input_pu 
+001d 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+001e 2040681d call gpio_get_bit 
+001f 7920a201 setflag true ,1 ,rega 
+0020 20600000 rtn 
+
+p_mouse_check_mkey_gpio:
+0021 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+0022 20400036 call p_gpio_set_input_pu 
+0023 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+0024 2040681d call gpio_get_bit 
+0025 7920a202 setflag true ,2 ,rega 
+0026 20600000 rtn 
+
+p_mouse_check_lkey_gpio:
+0027 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0028 20400036 call p_gpio_set_input_pu 
+0029 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+002a 2040681d call gpio_get_bit 
+002b 7920a200 setflag true ,0 ,rega 
+002c 20600000 rtn 
+
+p_gpio_set_input_pd:
+002d 793f8407 set0 gpio_active_bit ,temp 
+002e d8a08078 arg core_gpio_pu0 ,contw 
+002f 20406830 call gpio_set_bit 
+0030 79200407 set1 gpio_active_bit ,temp 
+0031 d8a0807c arg core_gpio_pd0 ,contw 
+0032 20406830 call gpio_set_bit 
+0033 793f8407 set0 gpio_active_bit ,temp 
+0034 d8a08070 arg core_gpio_oe0 ,contw 
+0035 20206830 branch gpio_set_bit 
+
+p_gpio_set_input_pu:
+0036 79200407 set1 gpio_active_bit ,temp 
+0037 d8a08078 arg core_gpio_pu0 ,contw 
+0038 20406830 call gpio_set_bit 
+0039 793f8407 set0 gpio_active_bit ,temp 
+003a 20200031 branch p_gpio_set_input_pd + 4 
+
+p_xtal_test:
+003b 7041758f jam 0x8f ,mem_lpm_config 
+003c 70417610 jam 0x10 ,mem_lpm_config + 1 
+003d 704177ca jam 0xca ,mem_lpm_config + 2 
+003e 202029e9 branch init_lpm_ctrl 
+
+p_clean_mem:
+003f d8a00000 arg 0x0 ,contw 
+0040 df200400 arg 0x400 ,loopcnt 
+0041 20400048 call p_memset0 
+0042 68108108 hfetch 1 ,core_misc_status 
+0043 c4010000 rtnbit0 2 
+0044 d8a04000 arg 0x4000 ,contw 
+0045 df200200 arg 0x200 ,loopcnt 
+0046 20400048 call p_memset0 
+0047 20600000 rtn 
+
+p_memset0:
+0048 18007e00 force 0 ,pdata 
+
+p_memset8:
+0049 e0a40000 istore 8 ,contw 
+004a c2000049 loop p_memset8 
+004b 20600000 rtn 
+
+p_init_param:
+004c 588fffff setarg param_features0 
+004d 6001c098 store 3 ,mem_features 
+004e 589d83fe setarg param_features1 
+004f 793ffe02 set0 2 ,pdata 
+0050 e0a18000 istore 3 ,contw 
+0051 58008359 setarg param_features2 
+0052 e0a10000 istore 2 ,contw 
+0053 58001177 setarg param_lap 
+0054 6001c0a0 store 3 ,mem_lap 
+0055 58000033 setarg param_unap 
+0056 6001c0a3 store 3 ,mem_uap 
+0057 589e8b33 setarg param_glap 
+0058 6001c0a7 store 3 ,mem_glap 
+0059 58000012 setarg param_tisw 
+005a 600140ad store 2 ,mem_iscan_window 
+005b 58001000 setarg param_tisi 
+005c 600140af store 2 ,mem_iscan_interval 
+005d 58000200 setarg 0x200 
+005e 600140b1 store 2 ,mem_pscan_window 
+005f 58000800 setarg param_tpsi 
+0060 600140b3 store 2 ,mem_pscan_interval 
+0061 58000020 setarg param_inq_window 
+0062 600140bb store 2 ,mem_inq_window 
+0063 58000020 setarg param_page_window 
+0064 600140b7 store 2 ,mem_page_window 
+0065 58002000 setarg param_page_to 
+0066 600140b9 store 2 ,mem_page_to 
+0067 58000a04 setarg param_lmp_version 
+0068 6001c510 store 3 ,mem_lmp_version 
+0069 580012e9 setarg param_lmp_subversion 
+006a 60014513 store 2 ,mem_lmp_subversion 
+006b 70451506 jam param_name_len ,mem_local_name_length 
+006c 58535442 setarg param_name 
+006d 6001c516 store 3 ,mem_local_name 
+006e 58344950 setarg param_name1 
+006f 6001c519 store 3 ,mem_local_name2 
+0070 7040bd02 jam param_fcomp_mul ,mem_fcomp_mul 
+0071 70009060 jam 0x60 ,mem_fhs_misc 
+0072 7040d005 jam param_max_slot ,mem_max_slot 
+0073 70409303 jam 3 ,mem_scan_mode 
+0074 20600000 rtn 
+
+p_initialize_radio:
+0075 70804206 hjam clksel_rc ,core_clksel 
+0076 70890700 hjam 0x00 ,0x907 
+0077 70890800 hjam 0x00 ,0x908 
+0078 70890900 hjam 0x00 ,0x909 
+0079 70890aff hjam 0xff ,0x90a 
+007a 70890bff hjam 0xff ,0x90b 
+007b 70890f2e hjam 0x2e ,0x90f 
+007c 70891247 hjam 0x47 ,rf_agc_ctrl 
+007d 70894bba hjam 0xba ,0x94b 
+007e 70894cfb hjam 0xfb ,0x94c 
+007f 70894def hjam 0xef ,0x94d 
+0080 70894eec hjam 0xec ,0x94e 
+0081 70894f5e hjam 0x5e ,0x94f 
+0082 70896f88 hjam 0x88 ,0x96f 
+0083 70897300 hjam 0x00 ,0x973 
+0084 70895a4a hjam 0x4a ,0x895a 
+0085 70895c80 hjam 0x80 ,0x895c 
+0086 704af920 jam 0x20 ,mem_fcc_data_new 
+0087 704af701 jam 1 ,mem_fcc_ch_new 
+0088 708930a9 hjam 0xa9 ,0x930 
+0089 70892fad hjam 0xad ,0x92f 
+008a 70892eb1 hjam 0xb1 ,0x92e 
+008b 70892db5 hjam 0xb5 ,0x92d 
+008c 70892cb9 hjam 0xb9 ,0x92c 
+008d 70892bbd hjam 0xbd ,0x92b 
+008e 70892ac2 hjam 0xc2 ,0x92a 
+008f 708929c6 hjam 0xc6 ,0x929 
+0090 708928ca hjam 0xca ,0x928 
+0091 708927ce hjam 0xce ,0x927 
+0092 708926d2 hjam 0xd2 ,0x926 
+0093 708925d6 hjam 0xd6 ,0x925 
+0094 708924da hjam 0xda ,0x924 
+0095 708923de hjam 0xde ,0x923 
+0096 708922e2 hjam 0xe2 ,0x922 
+0097 708921e6 hjam 0xe6 ,0x921 
+0098 708920ea hjam 0xea ,0x920 
+0099 70891fee hjam 0xee ,0x91f 
+009a 70891ef2 hjam 0xf2 ,0x91e 
+009b 70891df6 hjam 0xf6 ,0x91d 
+009c 70891cfb hjam 0xfb ,0x91c 
+009d 70891bfb hjam 0xfb ,0x91b 
+009e 70891afb hjam 0xfb ,0x91a 
+009f 708947f5 hjam 0xf5 ,0x947 
+00a0 708946e6 hjam 0xe6 ,0x946 
+00a1 708945d7 hjam 0xD7 ,0x945 
+00a2 708944d6 hjam 0xD6 ,0x944 
+00a3 708943c7 hjam 0xC7 ,0x943 
+00a4 708942c6 hjam 0xC6 ,0x942 
+00a5 70894187 hjam 0x87 ,0x941 
+00a6 70894086 hjam 0x86 ,0x940 
+00a7 70893f85 hjam 0x85 ,0x93f 
+00a8 70893e46 hjam 0x46 ,0x93e 
+00a9 70893d07 hjam 0x07 ,0x93d 
+00aa 70893c06 hjam 0x06 ,0x93c 
+00ab 70893bc7 hjam 0xC7 ,0x93b 
+00ac 70893ac6 hjam 0xC6 ,0x93a 
+00ad 708939c5 hjam 0xC5 ,0x939 
+00ae 708938c4 hjam 0xC4 ,0x938 
+00af 708937c3 hjam 0xC3 ,0x937 
+00b0 708936c2 hjam 0xC2 ,0x936 
+00b1 708935c1 hjam 0xC1 ,0x935 
+00b2 708934c0 hjam 0xC0 ,0x934 
+00b3 70893380 hjam 0x80 ,0x933 
+00b4 70893280 hjam 0x80 ,0x932 
+00b5 70893180 hjam 0x80 ,0x931 
+00b6 70894a7f hjam 0x7f ,0x94a 
+00b7 708949f8 hjam 0xf8 ,0x949 
+00b8 70894800 hjam 0x00 ,0x948 
+00b9 708955d0 hjam 0xd0 ,0x955 
+00ba 708956e0 hjam 0xe0 ,0x956 
+00bb 70895788 hjam 0x88 ,0x957 
+00bc 7089583c hjam 0x3c ,0x958 
+00bd 70895910 hjam 0x10 ,0x959 
+00be 58300000 setarg 0x300000 
+00bf 60118969 hstore 3 ,rf_clkpll_frac 
+00c0 70896864 hjam 0x64 ,rf_clkpll_int 
+00c1 7040be24 jam 36 ,mem_fcomp_div 
+00c2 204000ea call p_switchto_dpllclk 
+00c3 708968e4 hjam 0xe4 ,rf_clkpll_int 
+00c4 79202a03 set1 reset ,radio_ctrl 
+00c5 18002a00 force 0 ,radio_ctrl 
+00c6 204000c9 call p_do_rccal 
+00c7 204000db call p_set_rccal 
+00c8 20600000 rtn 
+
+p_do_rccal:
+00c9 70890602 hjam 0x02 ,rfen_adc 
+00ca 582625a0 setarg 2500000 
+00cb 2040011f call p_sleep 
+00cc 7089007f hjam 0x7f ,rfen_rx 
+00cd 20000082 nop 130 
+00ce 70890110 hjam 0x10 ,rfen_tx 
+00cf 70895230 hjam 0x30 ,rf_rccal_ctrl 
+00d0 200000c8 nop 200 
+00d1 708952f0 hjam 0xf0 ,rf_rccal_ctrl 
+00d2 18007232 force 50 ,loopcnt 
+
+p_do_rccal_loop:
+00d3 68108980 hfetch 1 ,rf_rccal_result 
+00d4 c28280d6 bbit1 5 ,p_do_rccal_end 
+00d5 c20000d3 loop p_do_rccal_loop 
+
+p_do_rccal_end:
+00d6 6000c0ce store 1 ,mem_rf_rccal 
+00d7 70890100 hjam 0 ,rfen_tx 
+00d8 70890000 hjam 0 ,rfen_rx 
+00d9 70890600 hjam 0x00 ,rfen_adc 
+00da 20600000 rtn 
+
+p_set_rccal:
+00db 6800c0ce fetch 1 ,mem_rf_rccal 
+00dc 79207e05 set1 5 ,pdata 
+00dd 60108952 hstore 1 ,rf_rccal_ctrl 
+00de 68188950 hfetcht 1 ,rf_bpf_ctrim 
+00df 18410407 and_into 7 ,temp 
+00e0 1fe9fe00 lshift3 pdata ,pdata 
+00e1 9841fe00 ior temp ,pdata 
+00e2 60108950 hstore 1 ,rf_bpf_ctrim 
+00e3 68108951 hfetch 1 ,rf_bpf_ib 
+00e4 793ffe00 set0 bpf_rccal ,pdata 
+00e5 60108951 hstore 1 ,rf_bpf_ib 
+00e6 68108952 hfetch 1 ,rf_adc_rccal 
+00e7 793ffe05 set0 adc_rccal ,pdata 
+00e8 60108952 hstore 1 ,rf_adc_rccal 
+00e9 20600000 rtn 
+
+p_switchto_dpllclk:
+00ea 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+00eb 793ffe04 set0 4 ,pdata 
+00ec 793ffe05 set0 5 ,pdata 
+00ed 6010896b hstore 1 ,rf_clkpll_frac + 2 
+00ee 70890500 hjam 0x00 ,rfen_ck 
+00ef 70890470 hjam 0x70 ,rfen_msc 
+00f0 708905ff hjam 0xff ,rfen_ck 
+00f1 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+00f2 79207e04 set1 4 ,pdata 
+00f3 79207e05 set1 5 ,pdata 
+00f4 6010896b hstore 1 ,rf_clkpll_frac + 2 
+00f5 204000fc call p_init_lpm_ctrl 
+00f6 70804205 hjam clksel_dpll ,core_clksel 
+00f7 20600000 rtn 
+
+p_switchto_xclk:
+00f8 70804208 hjam 0x8 ,core_clksel 
+00f9 70890500 hjam 0x00 ,rfen_ck 
+00fa 70890470 hjam 0x70 ,rfen_msc 
+00fb 20600000 rtn 
+
+p_init_lpm_ctrl:
+00fc 68198138 hfetcht 3 ,core_lpm_ctrl 
+00fd 58100f0f setarg 0x100f0f 
+00fe 98467c00 isub temp ,null 
+00ff 20628000 rtn zero 
+0100 6011804c hstore 3 ,core_lpm_reg 
+0101 70804fca hjam 0xca ,core_lpm_reg + 3 
+0102 20400105 call p_lpm_write_ctrl 
+0103 70807400 hjam 0 ,core_gpio_out0 
+0104 20600000 rtn 
+
+p_lpm_write_ctrl:
+0105 58000001 setarg lpmreg_sel_ctrl 
+
+p_lpm_write:
+0106 37d98200 until null ,lpo_edge 
+0107 60108005 hstore 1 ,core_lpm_wr 
+0108 37d98200 until null ,lpo_edge 
+0109 37d98200 until null ,lpo_edge 
+010a 20600000 rtn 
+
+p_shutdown_radio:
+010b 20000064 nop 100 
+010c 708955d8 hjam 0xd8 ,0x955 
+010d 20000028 nop 40 
+010e 708955d2 hjam 0xd2 ,0x955 
+010f 20000028 nop 40 
+0110 708955d1 hjam 0xd1 ,0x955 
+0111 20000028 nop 40 
+0112 708955d0 hjam 0xd0 ,0x955 
+0113 708956e0 hjam 0xe0 ,0x956 
+0114 18002a00 force 0 ,radio_ctrl 
+0115 7850fc00 disable is_rx 
+0116 78507c00 disable is_tx 
+0117 782f7c00 pulse packet_end 
+0118 70890600 hjam 0x0 ,rfen_adc 
+0119 70890300 hjam 0 ,rfen_sn 
+011a 70890470 hjam 0x70 ,rfen_msc 
+011b 70890200 hjam 0x0 ,rfen_mdm 
+011c 70890100 hjam 0x0 ,rfen_tx 
+011d 70890000 hjam 0x0 ,rfen_rx 
+011e 20600000 rtn 
+
+p_sleep:
+011f 1fe37e00 rshift pdata ,pdata 
+0120 1fe0fffd increase -3 ,pdata 
+
+p_sleep_loop:
+0121 1fe0ffff increase -1 ,pdata 
+0122 24228121 nbranch p_sleep_loop ,zero 
+0123 18007e00 force 0 ,pdata 
+0124 20600000 rtn 
+
+p_set_sync_on:
+0125 70890477 hjam 0x77 ,rfen_msc 
+0126 70890303 hjam 0x03 ,rfen_sn 
+0127 2000000a nop 10 
+0128 70890383 hjam 0x83 ,rfen_sn 
+0129 7089047f hjam 0x7f ,rfen_msc 
+012a 708903a7 hjam 0xa7 ,rfen_sn 
+012b 20600000 rtn 
+
+p_test_tx_new_param:
+012c 704af801 jam 0x01 ,mem_fcc_mod_new 
+012d 704afa01 jam 1 ,mem_fcc_send_mode_new 
+
+p_test_tx_new_param_cont:
+012e 704af74f jam 79 ,mem_fcc_ch_new 
+
+p_test_tx_new_param_copy:
+012f 68024af7 fetch 4 ,mem_fcc_param_new 
+0130 60024afb store 4 ,mem_fcc_param 
+
+p_test_tx_start:
+0131 6808cafb fetcht 1 ,mem_fcc_ch 
+0132 184085ff increase -1 ,temp 
+
+p_test_24g_tx_on:
+0133 6800cafe fetch 1 ,mem_fcc_send_mode 
+0134 c0000141 beq 0 ,p_test_24g_tx_data 
+0135 20400125 call p_set_sync_on 
+0136 20400242 call p_set_freq_tx 
+0137 7843fc00 disable enable_white 
+0138 782efc00 enable encode_fec0 
+0139 78307c00 enable is_tx 
+013a 6808cafc fetcht 1 ,mem_fcc_mod 
+013b 18422a00 copy temp ,radio_ctrl 
+013c 68108908 hfetch 1 ,0x8908 
+013d 284ffe03 isolate1 3 ,temp 
+013e 7920fe05 setflag true ,5 ,pdata 
+013f 60108908 hstore 1 ,0x8908 
+0140 202001a1 branch p_test_tx_carrier_loop 
+
+p_test_24g_tx_data:
+0141 20400125 call p_set_sync_on 
+0142 20400242 call p_set_freq_tx 
+0143 20400293 call p_le_enable 
+0144 79202a00 set1 txgfsk ,radio_ctrl 
+0145 782efc00 enable encode_fec0 
+0146 78307c00 enable is_tx 
+0147 7850fc00 disable is_rx 
+0148 2040547f call le_wait_tx 
+0149 68108908 hfetch 1 ,0x8908 
+014a 284ffe03 isolate1 3 ,temp 
+014b 7920fe05 setflag true ,5 ,pdata 
+014c 60108908 hstore 1 ,0x8908 
+
+p_pk:
+014d d8a0119e arg mem_24g_common_temp ,contw 
+014e 58cccccc setarg 0xcccccc 
+014f 6001919e store 3 ,mem_24g_common_temp 
+0150 e0a18000 istore 3 ,contw 
+0151 e0a18000 istore 3 ,contw 
+0152 e0a18000 istore 3 ,contw 
+0153 e0a18000 istore 3 ,contw 
+0154 e0a18000 istore 3 ,contw 
+0155 e0a18000 istore 3 ,contw 
+0156 e0a18000 istore 3 ,contw 
+0157 df200018 arg 24 ,loopcnt 
+0158 d8c0119e arg mem_24g_common_temp ,contr 
+0159 2020015a branch p_pnloop_stable 
+
+p_pnloop_stable:
+015a e8c08000 ifetch 1 ,contr 
+015b 08008608 inject mod ,8 
+015c c200015a loop p_pnloop_stable 
+015d 20400178 call p_test_ble_bt_tx_off 
+015e 58002ee0 setarg 12000 
+015f 20402a8f call sleep 
+0160 204001ad call p_test_check_paramer_change 
+0161 68024afb fetch 4 ,mem_fcc_param 
+0162 680a4af7 fetcht 4 ,mem_fcc_param_new 
+0163 98467c00 isub temp ,null 
+0164 24428166 ncall p_test_tx_change_sleep ,zero 
+0165 2020012f branch p_test_tx_new_param_copy 
+
+p_test_tx_change_sleep:
+0166 58124f80 setarg 1200000 
+0167 20402a8f call sleep 
+0168 58124f80 setarg 1200000 
+0169 20402a8f call sleep 
+016a 58124f80 setarg 1200000 
+016b 20402a8f call sleep 
+016c 20200015 branch p_mouse_check_key_gpio 
+
+p_test_ble_tx_on:
+016d 20400125 call p_set_sync_on 
+016e 20400242 call p_set_freq_tx 
+016f 20400293 call p_le_enable 
+0170 79202a00 set1 txgfsk ,radio_ctrl 
+0171 782efc00 enable encode_fec0 
+0172 78307c00 enable is_tx 
+0173 7850fc00 disable is_rx 
+0174 2040547f call le_wait_tx 
+0175 6800cafd fetch 1 ,mem_fcc_data 
+0176 60108908 hstore 1 ,0x8908 
+0177 202001c2 branch p_tx_data 
+
+p_test_ble_bt_tx_off:
+0178 2020010b branch p_shutdown_radio 
+
+p_test_rx_start:
+0179 6808cafb fetcht 1 ,mem_fcc_ch 
+017a 184085ff increase -1 ,temp 
+017b 6800caff fetch 1 ,mem_fcc_btble 
+017c 2fe00201 compare 0x01 ,pdata ,0x01 
+017d 20408192 call p_test_bt_rx_on ,true 
+017e 24408185 ncall p_test_ble_rx_on ,true 
+
+p_test_rx_loop:
+017f 20404c2e call hci_rx_packet 
+0180 6803cafb fetch 7 ,mem_fcc_param 
+0181 680bcaf7 fetcht 7 ,mem_fcc_param_new 
+0182 98467c00 isub temp ,null 
+0183 2022817f branch p_test_rx_loop ,zero 
+0184 2020012c branch p_test_tx_new_param 
+
+p_test_ble_rx_on:
+0185 20400178 call p_test_ble_bt_tx_off 
+0186 20400296 call p_set_freq_rx 
+0187 58000500 setarg param_pll_setup 
+0188 20402a8f call sleep 
+0189 20202924 branch rf_rx_enable 
+
+p_test_ble_bt_rx_off:
+018a 784efc00 disable encode_fec0 
+018b 784e7c00 disable encode_fec2 
+018c 7846fc00 disable decode_fec0 
+018d 78467c00 disable decode_fec2 
+018e 7844fc00 disable enable_crc 
+018f 78477c00 disable encrypt 
+0190 7843fc00 disable enable_white 
+0191 2020010b branch p_shutdown_radio 
+
+p_test_bt_rx_on:
+0192 20400178 call p_test_ble_bt_tx_off 
+0193 20400296 call p_set_freq_rx 
+0194 6808cafc fetcht 1 ,mem_fcc_mod 
+0195 18412a07 and temp ,7 ,radio_ctrl 
+0196 202029eb branch start_receiver 
+
+p_test_bt_tx_on:
+0197 20400125 call p_set_sync_on 
+0198 20400242 call p_set_freq_tx 
+0199 7843fc00 disable enable_white 
+019a 782efc00 enable encode_fec0 
+019b 78307c00 enable is_tx 
+019c 6808cafc fetcht 1 ,mem_fcc_mod 
+019d 18422a00 copy temp ,radio_ctrl 
+019e 6800cafd fetch 1 ,mem_fcc_data 
+019f 60108908 hstore 1 ,0x8908 
+01a0 c00001c0 beq 0 ,p_test_tx_data 
+
+p_test_tx_carrier_loop:
+01a1 df20001e arg 30 ,loopcnt 
+01a2 d8c04c07 arg mem_pn9 ,contr 
+
+p_pnloop_carrier:
+01a3 e8c08000 ifetch 1 ,contr 
+01a4 08008608 inject mod ,8 
+01a5 c20001a3 loop p_pnloop_carrier 
+01a6 204001ad call p_test_check_paramer_change 
+01a7 68024afb fetch 4 ,mem_fcc_param 
+01a8 680a4af7 fetcht 4 ,mem_fcc_param_new 
+01a9 98467c00 isub temp ,null 
+01aa 202281a1 branch p_test_tx_carrier_loop ,zero 
+01ab 20400166 call p_test_tx_change_sleep 
+01ac 2020012f branch p_test_tx_new_param_copy 
+
+p_test_check_paramer_change:
+01ad 20400015 call p_mouse_check_key_gpio 
+01ae c00201ba beq mouse_m_button ,p_test_switch_mode 
+01af c00081b1 beq mouse_l_button ,p_test_switch_frequency 
+01b0 20600000 rtn 
+
+p_test_switch_frequency:
+01b1 6800caf7 fetch 1 ,mem_fcc_ch_new 
+01b2 c02781b6 beq 79 ,p_frequency_set_46hz 
+01b3 c01701b8 beq 46 ,p_frequency_set_2hz 
+01b4 704af74f jam 79 ,mem_fcc_ch_new 
+01b5 20600000 rtn 
+
+p_frequency_set_46hz:
+01b6 704af72e jam 46 ,mem_fcc_ch_new 
+01b7 20600000 rtn 
+
+p_frequency_set_2hz:
+01b8 704af702 jam 2 ,mem_fcc_ch_new 
+01b9 20600000 rtn 
+
+p_test_switch_mode:
+01ba 6800cafe fetch 1 ,mem_fcc_send_mode 
+01bb c00001be beq 0 ,p_set_send_mode1 
+01bc 704afa00 jam 0 ,mem_fcc_send_mode_new 
+01bd 20600000 rtn 
+
+p_set_send_mode1:
+01be 704afa01 jam 1 ,mem_fcc_send_mode_new 
+01bf 20600000 rtn 
+
+p_test_tx_data:
+01c0 6800cb00 fetch 1 ,mem_fcc_hop 
+01c1 c0008208 beq 1 ,p_tx_data_hopping 
+
+p_tx_data:
+01c2 6800cafc fetch 1 ,mem_fcc_mod 
+01c3 c00081c7 beq 1 ,p_calculate_gfsk_modulation_length 
+01c4 c00181d4 beq 3 ,p_calculate_pai4_modulation_length 
+01c5 c00381e1 beq 7 ,p_calculate_pai8_modulation_length 
+01c6 20600000 rtn 
+
+p_calculate_gfsk_modulation_length:
+01c7 6800cb01 fetch 1 ,mem_fcc_data_length 
+01c8 c00c81cb beq 0x19 ,p_calculate_gfsk_modulation_length_dh1 
+01c9 c03c01ce beq 0x78 ,p_calculate_gfsk_modulation_length_dh3 
+01ca c07801d1 beq 0xf0 ,p_calculate_gfsk_modulation_length_dh5 
+
+p_calculate_gfsk_modulation_length_dh1:
+01cb df200037 arg 55 ,loopcnt 
+01cc d8c04c07 arg mem_pn9 ,contr 
+01cd 2020015a branch p_pnloop_stable 
+
+p_calculate_gfsk_modulation_length_dh3:
+01ce df2000cd arg 205 ,loopcnt 
+01cf d8c04c07 arg mem_pn9 ,contr 
+01d0 2020015a branch p_pnloop_stable 
+
+p_calculate_gfsk_modulation_length_dh5:
+01d1 df200163 arg 355 ,loopcnt 
+01d2 d8c04c07 arg mem_pn9 ,contr 
+01d3 2020015a branch p_pnloop_stable 
+
+p_calculate_pai4_modulation_length:
+01d4 6800cb01 fetch 1 ,mem_fcc_data_length 
+01d5 c00c81d8 beq 0x19 ,p_calculate_pai4_modulation_length_dh1 
+01d6 c03c01db beq 0x78 ,p_calculate_pai4_modulation_length_dh3 
+01d7 c07801de beq 0xf0 ,p_calculate_pai4_modulation_length_dh5 
+
+p_calculate_pai4_modulation_length_dh1:
+01d8 df200069 arg 105 ,loopcnt 
+01d9 d8c04c07 arg mem_pn9 ,contr 
+01da 2020015a branch p_pnloop_stable 
+
+p_calculate_pai4_modulation_length_dh3:
+01db df200195 arg 405 ,loopcnt 
+01dc d8c04c07 arg mem_pn9 ,contr 
+01dd 2020015a branch p_pnloop_stable 
+
+p_calculate_pai4_modulation_length_dh5:
+01de df2002c1 arg 705 ,loopcnt 
+01df d8c04c07 arg mem_pn9 ,contr 
+01e0 2020015a branch p_pnloop_stable 
+
+p_calculate_pai8_modulation_length:
+01e1 6800cb01 fetch 1 ,mem_fcc_data_length 
+01e2 c00c81e5 beq 0x19 ,p_calculate_pai8_modulation_length_dh1 
+01e3 c03c01e8 beq 0x78 ,p_calculate_pai8_modulation_length_dh3 
+01e4 c07801eb beq 0xf0 ,p_calculate_pai8_modulation_length_dh5 
+
+p_calculate_pai8_modulation_length_dh1:
+01e5 df200078 arg 120 ,loopcnt 
+01e6 d8c04c07 arg mem_pn9 ,contr 
+01e7 2020015a branch p_pnloop_stable 
+
+p_calculate_pai8_modulation_length_dh3:
+01e8 df20024e arg 590 ,loopcnt 
+01e9 d8c04c07 arg mem_pn9 ,contr 
+01ea 2020015a branch p_pnloop_stable 
+
+p_calculate_pai8_modulation_length_dh5:
+01eb df2003e8 arg 1000 ,loopcnt 
+01ec d8c04c07 arg mem_pn9 ,contr 
+01ed 2020015a branch p_pnloop_stable 
+
+p_calculate_pai4_modulation_length_hoping:
+01ee 6800cb01 fetch 1 ,mem_fcc_data_length 
+01ef c00c81f2 beq 0x19 ,p_calculate_pai4_modulation_length_dh1_hoping 
+01f0 c03c01f5 beq 0x78 ,p_calculate_pai4_modulation_length_dh3_hoping 
+01f1 c07801f8 beq 0xf0 ,p_calculate_pai4_modulation_length_dh5_hoping 
+
+p_calculate_pai4_modulation_length_dh1_hoping:
+01f2 df200069 arg 105 ,loopcnt 
+01f3 d8c04c07 arg mem_pn9 ,contr 
+01f4 2020021a branch p_pnloop2 
+
+p_calculate_pai4_modulation_length_dh3_hoping:
+01f5 df200195 arg 405 ,loopcnt 
+01f6 d8c04c07 arg mem_pn9 ,contr 
+01f7 2020021a branch p_pnloop2 
+
+p_calculate_pai4_modulation_length_dh5_hoping:
+01f8 df2002c1 arg 705 ,loopcnt 
+01f9 d8c04c07 arg mem_pn9 ,contr 
+01fa 2020021a branch p_pnloop2 
+
+p_calculate_pai8_modulation_length_hoping:
+01fb 6800cb01 fetch 1 ,mem_fcc_data_length 
+01fc c00c81ff beq 0x19 ,p_calculate_pai8_modulation_length_dh1_hoping 
+01fd c03c0202 beq 0x78 ,p_calculate_pai8_modulation_length_dh3_hoping 
+01fe c0780205 beq 0xf0 ,p_calculate_pai8_modulation_length_dh5_hoping 
+
+p_calculate_pai8_modulation_length_dh1_hoping:
+01ff df200078 arg 120 ,loopcnt 
+0200 d8c04c07 arg mem_pn9 ,contr 
+0201 2020021a branch p_pnloop2 
+
+p_calculate_pai8_modulation_length_dh3_hoping:
+0202 df20024e arg 590 ,loopcnt 
+0203 d8c04c07 arg mem_pn9 ,contr 
+0204 2020021a branch p_pnloop2 
+
+p_calculate_pai8_modulation_length_dh5_hoping:
+0205 df2003e8 arg 1000 ,loopcnt 
+0206 d8c04c07 arg mem_pn9 ,contr 
+0207 2020021a branch p_pnloop2 
+
+p_tx_data_hopping:
+0208 6800cafc fetch 1 ,mem_fcc_mod 
+0209 c000820d beq 1 ,p_calculate_gfsk_modulation_length_hoping 
+020a c00181ee beq 3 ,p_calculate_pai4_modulation_length_hoping 
+020b c00381fb beq 7 ,p_calculate_pai8_modulation_length_hoping 
+020c 20600000 rtn 
+
+p_calculate_gfsk_modulation_length_hoping:
+020d 6800cb01 fetch 1 ,mem_fcc_data_length 
+020e c00c8211 beq 0x19 ,p_calculate_gfsk_modulation_length_dh1_hoping 
+020f c03c0214 beq 0x78 ,p_calculate_gfsk_modulation_length_dh3_hoping 
+0210 c0780217 beq 0xf0 ,p_calculate_gfsk_modulation_length_dh5_hoping 
+
+p_calculate_gfsk_modulation_length_dh1_hoping:
+0211 df200037 arg 55 ,loopcnt 
+0212 d8c04c07 arg mem_pn9 ,contr 
+0213 2020021a branch p_pnloop2 
+
+p_calculate_gfsk_modulation_length_dh3_hoping:
+0214 df2000cd arg 205 ,loopcnt 
+0215 d8c04c07 arg mem_pn9 ,contr 
+0216 2020021a branch p_pnloop2 
+
+p_calculate_gfsk_modulation_length_dh5_hoping:
+0217 df200163 arg 355 ,loopcnt 
+0218 d8c04c07 arg mem_pn9 ,contr 
+0219 2020021a branch p_pnloop2 
+
+p_pnloop2:
+021a e8c08000 ifetch 1 ,contr 
+021b 08008608 inject mod ,8 
+021c c200021a loop p_pnloop2 
+021d 20200225 branch p_test_tx_off 
+021e 20404c2e call hci_rx_packet 
+021f 6803cafb fetch 7 ,mem_fcc_param 
+0220 680bcaf7 fetcht 7 ,mem_fcc_param_new 
+0221 98467c00 isub temp ,null 
+0222 202281c2 branch p_tx_data ,zero 
+0223 20400178 call p_test_ble_bt_tx_off 
+0224 2020012c branch p_test_tx_new_param 
+
+p_test_tx_off:
+0225 20400178 call p_test_ble_bt_tx_off 
+0226 20407f16 call timer_check 
+0227 d8e0000f arg 15 ,queue 
+0228 5800000c setarg 12 
+0229 20407f08 call timer_init 
+
+p_125_clk:
+022a d8e0000f arg 15 ,queue 
+022b 20407f16 call timer_check 
+022c 203a0233 branch p_change_ch ,blank 
+022d 20404c2e call hci_rx_packet 
+022e 6803cafb fetch 7 ,mem_fcc_param 
+022f 680bcaf7 fetcht 7 ,mem_fcc_param_new 
+0230 98467c00 isub temp ,null 
+0231 2022822a branch p_125_clk ,zero 
+0232 2020012c branch p_test_tx_new_param 
+
+p_change_ch:
+0233 180a7e00 random pdata 
+0234 6000cc06 store 1 ,mem_random_ch 
+
+p_less_max:
+0235 6800cc06 fetch 1 ,mem_random_ch 
+0236 1fe67c50 sub pdata ,0x50 ,null 
+0237 2021023b branch p_rewrite_ch ,positive 
+0238 1fe0ffb0 increase -80 ,pdata 
+0239 6000cc06 store 1 ,mem_random_ch 
+023a 20200235 branch p_less_max 
+
+p_rewrite_ch:
+023b 6800cc06 fetch 1 ,mem_random_ch 
+023c c0000240 beq 0 ,p_randomis0 
+023d c0008240 beq 1 ,p_randomis0 
+023e 6000caf7 store 1 ,mem_fcc_ch_new 
+023f 2020012c branch p_test_tx_new_param 
+
+p_randomis0:
+0240 704af702 jam 0x02 ,mem_fcc_ch_new 
+0241 2020012c branch p_test_tx_new_param 
+
+p_set_freq_tx:
+0242 60088017 storet 1 ,mem_last_freq 
+0243 1840a201 add temp ,1 ,rega 
+0244 2040025c call p_rf_write_freq 
+0245 58000500 setarg param_pll_setup 
+0246 2040011f call p_sleep 
+
+p_txon:
+0247 70890601 hjam 0x1 ,rfen_adc 
+0248 7089003c hjam 0x3c ,rfen_rx 
+0249 708901e0 hjam 0xe0 ,rfen_tx 
+024a 70896d12 hjam 0x12 ,0x96d 
+024b 2000000a nop 10 
+024c 70890201 hjam 0x01 ,rfen_mdm 
+024d 7089023d hjam 0x3d ,rfen_mdm 
+024e 2000000a nop 10 
+024f 708903b7 hjam 0xb7 ,rfen_sn 
+0250 2000000a nop 10 
+0251 7089027d hjam 0x7d ,rfen_mdm 
+0252 708956ff hjam 0xff ,0x956 
+0253 20000004 nop 4 
+0254 708955d1 hjam 0xd1 ,0x955 
+0255 20000004 nop 4 
+0256 708955d2 hjam 0xd2 ,0x955 
+0257 20000004 nop 4 
+0258 708955d8 hjam 0xd8 ,0x955 
+0259 20000004 nop 4 
+025a 708955df hjam 0xdf ,0x955 
+025b 20600000 rtn 
+
+p_rf_write_freq:
+025c 58000960 setarg 2400 
+025d 9a208400 iadd rega ,temp 
+025e 6800c0bd fetch 1 ,mem_fcomp_mul 
+025f 70895f04 hjam 0x04 ,rf_pll_rstn 
+0260 984ffe00 imul32 temp ,pdata 
+0261 6808c0be fetcht 1 ,mem_fcomp_div 
+0262 9846fc00 idiv temp 
+0263 20400272 call p_wait_div_end 
+0264 1807a200 quotient rega 
+0265 18077e00 remainder pdata 
+0266 1ff07e00 lshift16 pdata ,pdata 
+0267 1ff27e00 lshift4 pdata ,pdata 
+0268 9846fc00 idiv temp 
+0269 20400272 call p_wait_div_end 
+026a 1807fe00 quotient pdata 
+026b 1fed7e00 lshift8 pdata ,pdata 
+026c 1fe3fe00 lshift pdata ,pdata 
+026d 9a21fe00 ior rega ,pdata 
+026e 60120960 hstore 4 ,rf_pll_intg 
+026f 70895f44 hjam 0x44 ,rf_pll_rstn 
+0270 70895fc4 hjam 0xc4 ,rf_pll_rstn 
+0271 20600000 rtn 
+
+p_wait_div_end:
+0272 207a8000 rtn modone 
+0273 20200272 branch p_wait_div_end 
+
+pp_pn9:
+0274 df2000ff arg 0xff ,loopcnt 
+0275 d8a04c07 arg mem_pn9 ,contw 
+0276 580001ff setarg 0x1ff 
+0277 18002400 force 0 ,regb 
+
+pp_pn9_loop:
+0278 1fe92200 rshift3 pdata ,rega 
+0279 1a232200 rshift rega ,rega 
+027a 9a22a200 ixor rega ,rega 
+027b 2a2ffe00 isolate1 0 ,rega 
+027c 7920fe09 setflag true ,9 ,pdata 
+027d 18430400 rshift temp ,temp 
+027e 2feffe00 isolate1 0 ,pdata 
+027f 79208407 setflag true ,7 ,temp 
+0280 1fe37e00 rshift pdata ,pdata 
+0281 1a40a401 increase 1 ,regb 
+0282 2a400e00 compare 0 ,regb ,0x7 
+0283 24208278 nbranch pp_pn9_loop ,true 
+0284 e0a88000 istoret 1 ,contw 
+0285 c2000278 loop pp_pn9_loop 
+0286 20600000 rtn 
+
+p_gpio:
+0287 68120078 hfetch 4 ,core_gpio_pu0 
+0288 681a007c hfetcht 4 ,core_gpio_pd0 
+0289 9841fe00 ior temp ,pdata 
+028a 1fe47e00 pinvert 
+028b 681a0070 hfetcht 4 ,core_gpio_oe0 
+028c 9841fe00 ior temp ,pdata 
+028d 60120070 hstore 4 ,core_gpio_oe0 
+028e 20600000 rtn 
+
+p_pause_c51:
+028f 70828005 hjam 5 ,core_docd_ctrl 
+0290 20600000 rtn 
+
+p_assert:
+0291 20200291 branch p_assert 
+
+p_loop:
+0292 20200292 branch p_loop 
+
+p_le_enable:
+0293 783b7c00 enable le 
+0294 70891407 hjam 7 ,rfen_ulp 
+0295 20600000 rtn 
+
+p_set_freq_rx:
+0296 60088017 storet 1 ,mem_last_freq 
+0297 1840a204 add temp ,rx_freq_offset ,rega 
+0298 2020025c branch p_rf_write_freq 
+org 0x2000
+
+start:
+2000 20402abc call lpmstate 
+
+soft_reset:
+2001 44804000 bpatch patch00_0 ,mem_patch00 
+2002 20800000 clear_stack 
+2003 2040640d call spi_ncs_gpio_init 
+2004 2040296c call initialize_radio 
+2005 204065a3 call iicd_init_12m 
+2006 20402a96 call init_param 
+2007 20404d6a call l2cap_init 
+2008 4480c000 bpatch patch00_1 ,mem_patch00 
+2009 20406a03 call rfcomm_init 
+200a 20405cf6 call init_lmp 
+200b 20407ccc call ui_init 
+200c 204032d8 call app_init 
+200d 2455e89c ncall load_chip_option ,wake 
+200e 44814000 bpatch patch00_2 ,mem_patch00 
+200f 2055b2e3 call app_lpm_init ,wake 
+2010 2040756a call publickey_init 
+2011 2055ab41 call lpm_recover_clk ,wake 
+
+main_loop:
+2012 4481c000 bpatch patch00_3 ,mem_patch00 
+2013 204076dc call sp_calc_sequence 
+2014 20407aaf call sp_calc_sequence_256 
+2015 2040756d call sp_calc_sequence_256_check 
+2016 2040535c call le_dispatch 
+2017 44824000 bpatch patch00_4 ,mem_patch00 
+2018 20402038 call idle_dispatch 
+2019 204032ed call app_process_idle 
+201a 2040208f call inquiry_dispatch 
+201b 204022f8 call inquiry_scan_dispatch 
+201c 2040236a call page_scan_dispatch 
+201d 20402021 call connection_dispatch 
+201e 20402b6a call lpm_dispatch 
+201f 20402c72 call g24_dispatch 
+2020 20202012 branch main_loop 
+
+connection_dispatch:
+2021 20402026 call connection_incontext 
+2022 c6848000 rtnmark0 mark_context 
+2023 793f8009 set0 mark_context ,mark 
+2024 20402223 call context_save 
+2025 202053ce branch le_disable 
+
+connection_incontext:
+2026 4482c000 bpatch patch00_5 ,mem_patch00 
+2027 2040225e call context_search_insniff 
+2028 2422a02f nbranch connection_nosniff ,zero 
+2029 2040220a call context_load 
+202a 1a208c01 add rega ,coffset_mode ,contr 
+202b e8c08000 ifetch 1 ,contr 
+202c c2805360 bbit1 mode_le ,le_conn_dispatch 
+202d c280a166 bbit1 mode_master ,master_dispatch 
+202e 202023cf branch slave_dispatch 
+
+connection_nosniff:
+202f 2040222b call context_get_next 
+2030 1f227c00 copy loopcnt ,null 
+2031 20628000 rtn zero 
+2032 2040220a call context_load 
+2033 68008030 fetch 1 ,mem_state 
+2034 c281a0d3 bbit1 state_inpage ,master_page 
+2035 68008031 fetch 1 ,mem_mode 
+2036 c280a166 bbit1 mode_master ,master_dispatch 
+2037 202023cf branch slave_dispatch 
+
+idle_dispatch:
+2038 6800c1ce fetch 1 ,mem_hci_cmd 
+2039 207a0000 rtn blank 
+203a c000a048 beq hci_cmd_inquiry ,idle_inquiry 
+203b c001204d beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+203c c001a050 beq hci_cmd_remote_name_req ,idle_remote_name_req 
+203d c002a055 beq hci_cmd_create_conn ,idle_create_conn 
+203e c00da045 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+203f 20402257 call context_search_conn_handle 
+2040 20628000 rtn zero 
+2041 2040225a call context_search_plap 
+2042 20628000 rtn zero 
+
+idle_exit:
+2043 7041ce00 jam 0 ,mem_hci_cmd 
+2044 20600000 rtn 
+
+idle_le_create_conn:
+2045 70049b1b jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+2046 7041ce00 jam 0 ,mem_hci_cmd 
+2047 20600000 rtn 
+
+idle_inquiry:
+2048 7920001c set1 mark_inquiry_on ,mark 
+2049 793f801e set0 mark_inquiry_trainb ,mark 
+204a 70008fff jam param_ninquiry ,mem_ninqy_index 
+204b 70008d1f jam 31 ,mem_nfreq_index_inq 
+204c 20202043 branch idle_exit 
+
+idle_inquiry_cancel:
+204d 793f801c set0 mark_inquiry_on ,mark 
+204e 18003600 force 0 ,stop_watch 
+204f 20202043 branch idle_exit 
+
+idle_remote_name_req:
+2050 2040225a call context_search_plap 
+2051 20628000 rtn zero 
+2052 18000401 force lmp_name_req ,temp 
+2053 70016e05 jam 5 ,mem_nameres_cnt 
+2054 2020205c branch idle_start_page 
+
+idle_create_conn:
+2055 44834000 bpatch patch00_6 ,mem_patch00 
+
+idle_create_conn_device:
+2056 680341d0 fetch 6 ,mem_hci_plap 
+2057 203a2043 branch idle_exit ,blank 
+2058 70468101 jam reconnect_hid ,memui_reconnect_mode 
+2059 70005503 jam conn_sm_wait_features_res ,mem_conn_sm 
+205a 2020205b branch idle_create_conn_cont 
+
+idle_create_conn_cont:
+205b 18000425 force lmp_version_req ,temp 
+
+idle_start_page:
+205c 4483c000 bpatch patch00_7 ,mem_patch00 
+205d 680080f1 fetch 1 ,mem_page_mode 
+205e 203a2062 branch idle_page_mode_r0 ,blank 
+205f 1fe9fe00 lshift3 pdata ,pdata 
+2060 1ff27e00 lshift4 pdata ,pdata 
+2061 1fe0ffff increase -1 ,pdata 
+
+idle_page_mode_r0:
+2062 6000c0a6 store 1 ,mem_npage 
+2063 600080f0 store 1 ,mem_npage_index 
+2064 70008e1f jam 31 ,mem_nfreq_index_page 
+2065 793f800c set0 mark_page_trainb ,mark 
+2066 2040223b call context_new 
+2067 2422a083 nbranch idle_page_fail ,zero 
+2068 20402a6f call get_free_amaddr 
+2069 60008077 store 1 ,mem_amaddr 
+206a 6008807c storet 1 ,mem_lmo_opcode2 
+206b 680341d0 fetch 6 ,mem_hci_plap 
+206c 60030040 store 6 ,mem_plap 
+206d 44844001 bpatch patch01_0 ,mem_patch01 
+206e 20407f15 call timer_reinit 
+206f 18007e00 force 0 ,pdata 
+2070 2841fe01 compare lmp_name_req ,temp ,0xff 
+2071 7d20fe05 nsetflag true ,state_init_seq ,pdata 
+2072 79207e03 set1 state_inpage ,pdata 
+2073 60008030 store 1 ,mem_state 
+2074 700a9903 jam bt_evt_reconn_started ,mem_fifo_temp 
+2075 20407d86 call ui_ipc_send_event 
+2076 18007e00 force 0 ,pdata 
+2077 7920fe04 setflag true ,smap_name_req ,pdata 
+2078 6000804c store 1 ,mem_state_map 
+2079 58000000 setarg 0 
+207a 79207e01 set1 mode_master ,pdata 
+207b 60008031 store 1 ,mem_mode 
+207c 7834fc00 enable master 
+207d 20402223 call context_save 
+207e 7854fc00 disable master 
+207f 18000e03 force page_length_timer ,queue 
+2080 680140b9 fetch 2 ,mem_page_to 
+2081 20407f08 call timer_init 
+2082 20202043 branch idle_exit 
+
+idle_page_fail:
+2083 4484c001 bpatch patch01_1 ,mem_patch01 
+2084 680341d0 fetch 6 ,mem_hci_plap 
+2085 60030040 store 6 ,mem_plap 
+2086 2841fe01 compare lmp_name_req ,temp ,0xff 
+2087 2020a089 branch idle_name_fail ,true 
+2088 20202043 branch idle_exit 
+
+idle_name_fail:
+2089 d8a00101 arg mem_tmp_buffer ,contw 
+208a df200008 arg 8 ,loopcnt 
+208b 20407ec6 call memset0 
+208c 700a9904 jam bt_evt_reconn_failed ,mem_fifo_temp 
+208d 20407d86 call ui_ipc_send_event 
+208e 20202043 branch idle_exit 
+
+inquiry_dispatch:
+208f c68e0000 rtnmark0 mark_inquiry_on 
+2090 18000e01 force inquiry_length_timer ,queue 
+2091 20407f16 call timer_check 
+2092 7d3a001c nsetflag blank ,mark_inquiry_on ,mark 
+2093 243a2095 nbranch inquiry_start ,blank 
+2094 20600000 rtn 
+
+inquiry_start:
+2095 44854001 bpatch patch01_2 ,mem_patch01 
+2096 680940bb fetcht 2 ,mem_inq_window 
+2097 18000e04 force 4 ,queue 
+2098 2040271c call sniff_check_window 
+2099 20740000 rtn user 
+209a 204028a4 call afh_clear 
+209b 18004800 force 0 ,freq_mode 
+
+inquiry_restart:
+209c 20618000 rtn timeout 
+209d 793f800b set0 mark_fhs_already_good ,mark 
+209e 793f8000 set0 mark_fhs_eir ,mark 
+
+inquiry_rx_restart:
+209f 1c40c201 add clkn_bt ,1 ,bt_clk 
+20a0 280ffe1e isolate1 mark_inquiry_trainb ,mark 
+20a1 7920c802 setflag true ,2 ,freq_mode 
+20a2 2c200400 compare 0x00 ,bt_clk ,0x02 
+20a3 2420a0be nbranch inquiry_receive ,true 
+
+inquiry_transmit:
+20a4 4485c001 bpatch patch01_3 ,mem_patch01 
+20a5 68008012 fetch 1 ,mem_inquiry_transmit 
+20a6 1fe0fe01 increase 1 ,pdata 
+20a7 60008012 store 1 ,mem_inquiry_transmit 
+20a8 204028d8 call fetch_giac 
+20a9 204028d2 call tx_radio_freq 
+20aa 204028f2 call fetch_diac 
+20ab 20402a51 call start_transmitter 
+20ac 20402a56 call start_tx_native 
+20ad 20402a64 call send_access_word 
+20ae 2040264d call end_of_packet 
+20af 204020b1 call inquiry_check_train 
+20b0 2020209c branch inquiry_restart 
+
+inquiry_check_train:
+20b1 44864001 bpatch patch01_4 ,mem_patch01 
+20b2 6800808d fetch 1 ,mem_nfreq_index_inq 
+20b3 1fe0ffff increase -1 ,pdata 
+20b4 6000808d store 1 ,mem_nfreq_index_inq 
+20b5 20610000 rtn positive 
+20b6 70008d1f jam 31 ,mem_nfreq_index_inq 
+20b7 6800808f fetch 1 ,mem_ninqy_index 
+20b8 1fe0ffff increase -1 ,pdata 
+20b9 6000808f store 1 ,mem_ninqy_index 
+20ba 20610000 rtn positive 
+20bb 7940001e setflip mark_inquiry_trainb ,mark 
+20bc 70008fff jam param_ninquiry ,mem_ninqy_index 
+20bd 20600000 rtn 
+
+inquiry_receive:
+20be 4486c001 bpatch patch01_5 ,mem_patch01 
+20bf 204028d8 call fetch_giac 
+20c0 204028cc call rx_radio_freq 
+20c1 204028f2 call fetch_diac 
+20c2 20402a5b call start_rx_native 
+20c3 204029eb call start_receiver 
+20c4 20402a0d call wait_access_clkn_rt 
+20c5 202c20c8 branch inquiry_sync ,sync 
+20c6 204020b1 call inquiry_check_train 
+20c7 2020209f branch inquiry_rx_restart 
+
+inquiry_sync:
+20c8 44874001 bpatch patch01_6 ,mem_patch01 
+20c9 204029bb call save_rssi 
+20ca 20402a6b call scan_mode_whiten 
+20cb 2040251e call receive_packet_whitened 
+20cc 793f8001 set0 mark_rxbuf_inuse ,mark 
+20cd c6858000 rtnmark0 mark_fhs_already_good 
+
+inquiry_receive_rtn:
+20ce 4487c001 bpatch patch01_7 ,mem_patch01 
+
+inquiry_receive_eir_rtn:
+20cf 68008013 fetch 1 ,mem_inquiry_rcv 
+20d0 1fe0fe01 increase 1 ,pdata 
+20d1 60008013 store 1 ,mem_inquiry_rcv 
+20d2 20600000 rtn 
+
+master_page:
+20d3 44884002 bpatch patch02_0 ,mem_patch02 
+20d4 7834fc00 enable master 
+20d5 78387c00 enable clknt 
+20d6 680140b5 fetch 2 ,mem_page_interval 
+20d7 203a20db branch master_page_no_interval ,blank 
+20d8 18000e08 force page_interval_timer ,queue 
+20d9 20407f16 call timer_check 
+20da 247a0000 nrtn blank 
+
+master_page_no_interval:
+20db 4488c002 bpatch patch02_1 ,mem_patch02 
+20dc 680940b7 fetcht 2 ,mem_page_window 
+20dd 18000e28 force 40 ,queue 
+20de 2040271c call sniff_check_window 
+20df 20342114 branch page_exit ,user 
+20e0 18000e03 force page_length_timer ,queue 
+20e1 20407f16 call timer_check 
+20e2 243a20f0 nbranch page_start ,blank 
+20e3 6800804c fetch 1 ,mem_state_map 
+20e4 c28220e6 bbit1 smap_name_req ,master_npage_timeout 
+20e5 202020e9 branch master_page_timeout 
+
+master_npage_timeout:
+20e6 d8a00101 arg mem_tmp_buffer ,contw 
+20e7 df200008 arg 8 ,loopcnt 
+20e8 20407ec6 call memset0 
+
+master_page_timeout:
+20e9 44894002 bpatch patch02_2 ,mem_patch02 
+20ea 70003000 jam 0 ,mem_state 
+20eb 20405cf7 call init_lmp_work 
+20ec 70468100 jam 0 ,memui_reconnect_mode 
+20ed 700a9913 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+20ee 20407d86 call ui_ipc_send_event 
+20ef 20202114 branch page_exit 
+
+page_start:
+20f0 4489c002 bpatch patch02_3 ,mem_patch02 
+20f1 18001600 force 0 ,timeup 
+20f2 34730200 until clkn_rt ,meet 
+20f3 680080f2 fetch 1 ,mem_page_clk 
+20f4 1fe0ffff increase -1 ,pdata 
+20f5 9c42fe00 ixor clkn_bt ,pdata 
+20f6 2fe00600 compare 0 ,pdata ,3 
+20f7 2420a0f0 nbranch page_start ,true 
+20f8 18827e00 deposit am_addr 
+20f9 60008181 store 1 ,mem_fhs_am_addr 
+20fa 18004c00 force 0 ,n_tx_slot 
+20fb 18004800 force 0 ,freq_mode 
+
+page_restart:
+20fc 448a4002 bpatch patch02_4 ,mem_patch02 
+20fd 2021a114 branch page_exit ,timeout 
+20fe 204028dc call fetch_page_bt_adr 
+20ff d9600600 arg param_rf_setup ,timeup 
+2100 34730200 until clkn_rt ,meet 
+
+page_rx_restart:
+2101 448ac002 bpatch patch02_5 ,mem_patch02 
+2102 680200f2 fetch 4 ,mem_page_clk 
+2103 98004200 iforce bt_clk 
+2104 1fe0fe01 increase 1 ,pdata 
+2105 600200f2 store 4 ,mem_page_clk 
+2106 280ffe0c isolate1 mark_page_trainb ,mark 
+2107 7920c802 setflag true ,2 ,freq_mode 
+2108 2c200400 compare 0x00 ,bt_clk ,0x02 
+2109 2420a128 nbranch page_receive ,true 
+210a 6800800c fetch 1 ,mem_page_transmit 
+210b 1fe0fe01 increase 1 ,pdata 
+210c 6000800c store 1 ,mem_page_transmit 
+210d 204028d2 call tx_radio_freq 
+210e 20402a51 call start_transmitter 
+210f 20402a56 call start_tx_native 
+2110 20402a64 call send_access_word 
+2111 2040264d call end_of_packet 
+2112 2040211a call page_check_train 
+2113 202020fc branch page_restart 
+
+page_exit:
+2114 448b4002 bpatch patch02_6 ,mem_patch02 
+2115 7854fc00 disable master 
+2116 680140b5 fetch 2 ,mem_page_interval 
+2117 207a0000 rtn blank 
+2118 18000e08 force page_interval_timer ,queue 
+2119 20207f08 branch timer_init 
+
+page_check_train:
+211a 448bc002 bpatch patch02_7 ,mem_patch02 
+211b 6800808e fetch 1 ,mem_nfreq_index_page 
+211c 1fe0ffff increase -1 ,pdata 
+211d 6000808e store 1 ,mem_nfreq_index_page 
+211e 20610000 rtn positive 
+211f 70008e1f jam 31 ,mem_nfreq_index_page 
+2120 680080f0 fetch 1 ,mem_npage_index 
+2121 1fe0ffff increase -1 ,pdata 
+2122 600080f0 store 1 ,mem_npage_index 
+2123 20610000 rtn positive 
+2124 7940000c setflip mark_page_trainb ,mark 
+2125 6800c0a6 fetch 1 ,mem_npage 
+2126 600080f0 store 1 ,mem_npage_index 
+2127 20600000 rtn 
+
+page_receive:
+2128 448c4003 bpatch patch03_0 ,mem_patch03 
+2129 204028cc call rx_radio_freq 
+212a 20402a5b call start_rx_native 
+212b 204029eb call start_receiver 
+212c 20402a0d call wait_access_clkn_rt 
+212d 202c2130 branch page_sync ,sync 
+212e 2040211a call page_check_train 
+212f 20202101 branch page_rx_restart 
+
+page_sync:
+2130 2040264d call end_of_packet 
+2131 6800800d fetch 1 ,mem_page_rcv 
+2132 1fe0fe01 increase 1 ,pdata 
+2133 6000800d store 1 ,mem_page_rcv 
+2134 18003600 force 0 ,stop_watch 
+2135 680200f2 fetch 4 ,mem_page_clk 
+
+page_send_fhs:
+2136 448cc003 bpatch patch03_1 ,mem_patch03 
+2137 20402a4f call rf_setup_time_master_slot 
+2138 204028dc call fetch_page_bt_adr 
+2139 1cc0cc01 increase 1 ,n_tx_slot 
+
+page_send_fhs_continue:
+213a 1c2143fd and_into 0x1fd ,bt_clk 
+213b 1c8149fc and_into 0x1fc ,freq_mode 
+213c 204028d2 call tx_radio_freq 
+213d 20402a51 call start_transmitter 
+213e 20402a56 call start_tx_native 
+213f 20402a64 call send_access_word 
+2140 1c427e00 deposit clkn_bt 
+2141 60020161 store 4 ,mem_clkn_bt 
+2142 18000800 force 0 ,am_addr 
+2143 18000202 force type_fhs ,type 
+2144 20402a6b call scan_mode_whiten 
+2145 20402766 call transmit_packet_whitened 
+
+page_wait_fhs_reply:
+2146 448d4003 bpatch patch03_2 ,mem_patch03 
+2147 20402a4d call rf_setup_time_slave_slot 
+2148 1c21c202 or_into 0x02 ,bt_clk 
+2149 1c8149fc and_into 0x1fc ,freq_mode 
+214a 204028cc call rx_radio_freq 
+214b 20402a5b call start_rx_native 
+214c 204029eb call start_receiver 
+214d 20402a0d call wait_access_clkn_rt 
+214e 204c264d call end_of_packet ,sync 
+214f 202c2155 branch page_wait_fhs_reply_ok ,sync 
+2150 68008010 fetch 1 ,mem_fhs_wait_counter 
+2151 203a20fc branch page_restart ,blank 
+2152 1fe0ffff increase -1 ,pdata 
+2153 60008010 store 1 ,mem_fhs_wait_counter 
+2154 20202136 branch page_send_fhs 
+
+page_wait_fhs_reply_ok:
+2155 448dc003 bpatch patch03_3 ,mem_patch03 
+2156 6800800e fetch 1 ,mem_page_rcv_fhs 
+2157 1fe0fe01 increase 1 ,pdata 
+2158 6000800e store 1 ,mem_page_rcv_fhs 
+2159 20402435 call prepare_newconn 
+
+master_newconn_loop:
+215a 204022f2 call master_newconn_once 
+215b 202c215f branch newconn_poll_responded ,sync 
+215c 20402455 call new_conn_timeout 
+215d 243a215a nbranch master_newconn_loop ,blank 
+215e 202020fc branch page_restart 
+
+newconn_poll_responded:
+215f 448e4003 bpatch patch03_4 ,mem_patch03 
+2160 68008030 fetch 1 ,mem_state 
+2161 793ffe03 set0 state_inpage ,pdata 
+2162 60008030 store 1 ,mem_state 
+2163 20402440 call newconn_init 
+2164 7854fc00 disable master 
+2165 20600000 rtn 
+
+master_dispatch:
+2166 448ec003 bpatch patch03_5 ,mem_patch03 
+2167 7834fc00 enable master 
+2168 78387c00 enable clknt 
+2169 204021e1 call role_switch_master 
+216a 20740000 rtn user 
+216b 20402c69 call check_bt_disabled 
+216c 20402a4f call rf_setup_time_master_slot 
+216d 1c40c201 add clkn_bt ,1 ,bt_clk 
+216e 204028e2 call fetch_self_bt_adr 
+216f 18004803 force 0x03 ,freq_mode 
+2170 20406cc2 call scheduler_tx_l2cap_pkt 
+2171 20402489 call prepare_tx 
+2172 204028d2 call tx_radio_freq 
+2173 20402a51 call start_transmitter 
+2174 20402a56 call start_tx_native 
+2175 20402a64 call send_access_word 
+2176 20402762 call transmit_packet 
+
+master_loop:
+2177 448f4003 bpatch patch03_6 ,mem_patch03 
+2178 20405d08 call parse_lmp 
+2179 204022e4 call master_conn_recv_packet 
+217a 2436a180 nbranch master_notmatch ,match 
+217b 20402a88 call supervision_flush 
+217c 20402728 call parse_l2cap 
+217d 6800800f fetch 1 ,mem_master_rcvcnt 
+217e 1fe0fe01 increase 1 ,pdata 
+217f 6000800f store 1 ,mem_master_rcvcnt 
+
+master_notmatch:
+2180 448fc003 bpatch patch03_7 ,mem_patch03 
+2181 20406caa call scheduler_process 
+2182 2040218b call check_master_disconnect 
+2183 24748000 nrtn master 
+2184 204026f3 call check_attempt 
+2185 243a2188 nbranch master_attempt ,blank 
+
+master_exit:
+2186 7854fc00 disable master 
+2187 20600000 rtn 
+
+master_attempt:
+2188 20402489 call prepare_tx 
+2189 204022da call master_conn_send_packet 
+218a 20202177 branch master_loop 
+
+check_master_disconnect:
+218b 2036a18e branch check_master_match ,match 
+218c 20402a7f call supervision_update 
+218d 2021219c branch master_disconnect ,positive 
+
+check_master_match:
+218e 204021a7 call check_disconnect_timeout 
+218f 2434219c nbranch master_disconnect ,user 
+2190 6800804c fetch 1 ,mem_state_map 
+2191 c4020000 rtnbit0 smap_name_req 
+2192 c3818000 rtnbit1 smap_name_res 
+2193 6800804b fetch 1 ,mem_op 
+2194 c3818000 rtnbit1 op_disconn 
+2195 204021ae call conn_timer_expired 
+2196 247a0000 nrtn blank 
+2197 6800816e fetch 1 ,mem_nameres_cnt 
+2198 1fe0ffff increase -1 ,pdata 
+2199 6000816e store 1 ,mem_nameres_cnt 
+219a 247a0000 nrtn blank 
+219b 20206006 branch lmp_disconnect 
+
+master_disconnect:
+219c 44904004 bpatch patch04_0 ,mem_patch04 
+219d 2040245d call quit_connection 
+219e 7854fc00 disable master 
+219f 6800804c fetch 1 ,mem_state_map 
+21a0 c28221a2 bbit1 smap_name_req ,master_name_disconnect 
+21a1 20600000 rtn 
+
+master_name_disconnect:
+21a2 6800804c fetch 1 ,mem_state_map 
+21a3 c3818000 rtnbit1 smap_name_res 
+
+master_name_error:
+21a4 d8a00101 arg mem_tmp_buffer ,contw 
+21a5 df200008 arg 8 ,loopcnt 
+21a6 20207ec6 branch memset0 
+
+check_disconnect_timeout:
+21a7 4490c004 bpatch patch04_1 ,mem_patch04 
+21a8 78347c00 enable user 
+21a9 6800804b fetch 1 ,mem_op 
+21aa c4018000 rtnbit0 op_disconn 
+21ab 204021ae call conn_timer_expired 
+21ac 247a0000 nrtn blank 
+21ad 20207fe9 branch disable_user 
+
+conn_timer_expired:
+21ae 68008072 fetch 1 ,mem_conn_timer 
+21af 1fe0ffff increase -1 ,pdata 
+21b0 60008072 store 1 ,mem_conn_timer 
+21b1 20600000 rtn 
+
+linkkey_ready:
+21b2 44914004 bpatch patch04_2 ,mem_patch04 
+21b3 68008030 fetch 1 ,mem_state 
+21b4 c283a1bb bbit1 state_linkkey ,linkkey_set 
+21b5 680089b5 fetch 1 ,mem_pairing_auth 
+21b6 203a21bb branch linkkey_set ,blank 
+21b7 7009b500 jam defalt_pairing_auth ,mem_pairing_auth 
+21b8 700a9918 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+21b9 20407d86 call ui_ipc_send_event 
+21ba 202021bb branch linkkey_set 
+
+linkkey_set:
+21bb 4491c004 bpatch patch04_3 ,mem_patch04 
+21bc 20402254 call context_traverse_linkkey 
+21bd 68008030 fetch 1 ,mem_state 
+21be 79207e07 set1 state_linkkey ,pdata 
+21bf 60008030 store 1 ,mem_state 
+21c0 7041bd01 jam 1 ,mem_link_key_exists 
+21c1 68008055 fetch 1 ,mem_conn_sm 
+21c2 c08b21c3 bne conn_sm_pairing ,linkkey_set_continue 
+
+linkkey_set_continue:
+21c3 20600000 rtn 
+
+generate_linkkey_continue:
+21c4 7009b501 jam pairing_auth ,mem_pairing_auth 
+
+clear_linkstate:
+21c5 68008030 fetch 1 ,mem_state 
+21c6 793ffe07 set0 state_linkkey ,pdata 
+21c7 60008030 store 1 ,mem_state 
+21c8 20600000 rtn 
+
+role_switch_check:
+21c9 44924004 bpatch patch04_4 ,mem_patch04 
+21ca 78547c00 disable user 
+21cb 68010032 fetch 2 ,mem_tsniff 
+21cc d840ffff arg 0xffff ,temp 
+21cd 98467c00 isub temp ,null 
+21ce 24628000 nrtn zero 
+21cf 68020034 fetch 4 ,mem_sniff_anchor 
+21d0 203821d3 branch role_switch_clkn ,clknt 
+21d1 9d067e00 isub clke_bt ,pdata 
+21d2 202021d4 branch role_switch_clke 
+
+role_switch_clkn:
+21d3 9c467e00 isub clkn_bt ,pdata 
+
+role_switch_clke:
+21d4 1fe67c04 sub pdata ,4 ,null 
+21d5 24610000 nrtn positive 
+21d6 18007e00 force 0 ,pdata 
+21d7 60010032 store 2 ,mem_tsniff 
+21d8 20207fe7 branch enable_user 
+
+role_switch_prepare:
+21d9 1fe20400 copy pdata ,temp 
+21da 4492c004 bpatch patch04_5 ,mem_patch04 
+21db 600a0034 storet 4 ,mem_sniff_anchor 
+
+role_switch_prepare0:
+21dc 70455b01 jam switch_flag_accept ,mem_switch_flag 
+21dd 5800ffff setarg 0xffff 
+21de 60010032 store 2 ,mem_tsniff 
+21df 70007301 jam 1 ,mem_sniff_attempt 
+21e0 20600000 rtn 
+
+role_switch_master:
+21e1 44934004 bpatch patch04_6 ,mem_patch04 
+21e2 204021c9 call role_switch_check 
+21e3 24740000 nrtn user 
+21e4 78547c00 disable user 
+21e5 70001120 jam param_newconnto ,mem_newconnto_counter 
+21e6 793f800b set0 mark_fhs_already_good ,mark 
+
+roles_waitfhs_loop:
+21e7 20402a4f call rf_setup_time_master_slot 
+21e8 204022e6 call master_recv_packet 
+21e9 c505a1f4 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+21ea 20402455 call new_conn_timeout 
+21eb 243a21e7 nbranch roles_waitfhs_loop ,blank 
+
+role_switch_fail_master:
+21ec 4493c004 bpatch patch04_7 ,mem_patch04 
+21ed 78547c00 disable user 
+21ee 1c427e00 deposit clkn_bt 
+21ef 600240ca store 4 ,mem_next_btclk 
+21f0 78387c00 enable clknt 
+21f1 7834fc00 enable master 
+21f2 700a992a jam bt_evt_switch_fail_master ,mem_fifo_temp 
+21f3 20207d86 branch ui_ipc_send_event 
+
+roles_replyto_fhs:
+21f4 44944005 bpatch patch05_0 ,mem_patch05 
+21f5 20402a4d call rf_setup_time_slave_slot 
+21f6 d8200010 arg type_id ,type 
+21f7 204022dc call master_send_packet 
+21f8 78587c00 disable clknt 
+21f9 7854fc00 disable master 
+21fa 20402818 call apply_switch_clke 
+21fb 20402435 call prepare_newconn 
+
+roles_newconns_loop:
+21fc 4494c005 bpatch patch05_1 ,mem_patch05 
+21fd 2040247c call slave_newconn_once 
+21fe 2036a202 branch roles_newconns_responded ,match 
+21ff 20402455 call new_conn_timeout 
+2200 243a21fc nbranch roles_newconns_loop ,blank 
+2201 202021ec branch role_switch_fail_master 
+
+roles_newconns_responded:
+2202 68008031 fetch 1 ,mem_mode 
+2203 793ffe01 set0 mode_master ,pdata 
+2204 60008031 store 1 ,mem_mode 
+2205 20402a88 call supervision_flush 
+2206 20402841 call calc_clke_offset 
+2207 78347c00 enable user 
+2208 700a992b jam bt_evt_switch_success_master ,mem_fifo_temp 
+2209 20207d86 branch ui_ipc_send_event 
+
+context_load:
+220a 44954005 bpatch patch05_2 ,mem_patch05 
+220b 79200009 set1 mark_context ,mark 
+220c 1a227e00 deposit rega 
+220d 6001001e store 2 ,mem_context_ptr 
+220e 18007250 force context_size ,loopcnt 
+220f d8a0043f arg mem_le_state ,contw 
+2210 1a208c01 add rega ,coffset_mode ,contr 
+2211 e8c08000 ifetch 1 ,contr 
+2212 1a220c00 copy rega ,contr 
+2213 c2807f01 bbit1 mode_le ,memcpy 
+2214 d8a00030 arg mem_state ,contw 
+2215 20407f01 call memcpy 
+2216 78577c00 disable attempt 
+2217 68008077 fetch 1 ,mem_amaddr 
+2218 98000800 iforce am_addr 
+2219 70008a01 jam 1 ,mem_current_sniff_attempt 
+221a 2034a21c branch context_load_master ,master 
+221b 70008a01 jam 1 ,mem_current_sniff_attempt 
+
+context_load_master:
+221c 68008030 fetch 1 ,mem_state 
+221d c4008000 rtnbit0 state_insniff 
+221e 68008073 fetch 1 ,mem_sniff_attempt 
+221f 6000808a store 1 ,mem_current_sniff_attempt 
+2220 68008074 fetch 1 ,mem_sniff_timeout 
+2221 6000808b store 1 ,mem_current_sniff_timeout 
+2222 20600000 rtn 
+
+context_save:
+2223 4495c005 bpatch patch05_3 ,mem_patch05 
+2224 6801001e fetch 2 ,mem_context_ptr 
+2225 98000a00 iforce contw 
+2226 18007250 force context_size ,loopcnt 
+2227 d8c0043f arg mem_le_state ,contr 
+2228 203b7f01 branch memcpy ,le 
+2229 d8c00030 arg mem_state ,contr 
+222a 20207f01 branch memcpy 
+
+context_get_next:
+222b df200001 arg context_num ,loopcnt 
+222c 68088015 fetcht 1 ,mem_current_context 
+
+context_get_next_loop:
+222d 18408401 increase 1 ,temp 
+222e 2841fe01 compare context_num ,temp ,0xff 
+222f 2420a231 nbranch context_get_next_cont ,true 
+2230 d8400000 arg 0 ,temp 
+
+context_get_next_cont:
+2231 60088015 storet 1 ,mem_current_context 
+2232 184ffe50 mul32 temp ,context_size ,pdata 
+2233 da204040 arg mem_context ,rega 
+2234 9a20a200 iadd rega ,rega 
+2235 ea208000 ifetch 1 ,rega 
+2236 c280a239 bbit1 state_insniff ,context_get_next_sniff 
+2237 c3800000 rtnbit1 state_inconn 
+2238 c3818000 rtnbit1 state_inpage 
+
+context_get_next_sniff:
+2239 c200222d loop context_get_next_loop 
+223a 20600000 rtn 
+
+context_new:
+223b 44964005 bpatch patch05_4 ,mem_patch05 
+223c da60226a arg context_search_empty ,regc 
+223d 20402261 call context_search 
+223e 24628000 nrtn zero 
+223f 1a227e00 deposit rega 
+2240 6001001e store 2 ,mem_context_ptr 
+2241 18007c00 force 0 ,null 
+2242 20600000 rtn 
+
+context_check_all_wack:
+2243 20402725 call check_esco_amaddr 
+2244 2020a24b branch context_check_esco_wack ,true 
+2245 6801001e fetch 2 ,mem_context_ptr 
+2246 1fe08a17 add pdata ,coffset_arq ,contw 
+2247 68008047 fetch 1 ,mem_arq 
+2248 e0a08000 istore 1 ,contw 
+2249 da6022aa arg context_check_a_wack ,regc 
+224a 20202261 branch context_search 
+
+context_check_esco_wack:
+224b 68008047 fetch 1 ,mem_arq 
+224c 2feffe03 isolate1 wack ,pdata 
+224d 2020a250 branch context_esco_wack ,true 
+224e 18007c01 force 1 ,null 
+224f 20600000 rtn 
+
+context_esco_wack:
+2250 18007c00 force 0 ,null 
+2251 20600000 rtn 
+
+context_check_idle:
+2252 da6022a7 arg context_check_inconn ,regc 
+2253 20202261 branch context_search 
+
+context_traverse_linkkey:
+2254 6809001e fetcht 2 ,mem_context_ptr 
+2255 da6022cf arg context_traverse_clearkey ,regc 
+2256 20202261 branch context_search 
+
+context_search_conn_handle:
+2257 6808c1cf fetcht 1 ,mem_hci_conn_handle 
+
+context_search_conn_handle2:
+2258 da602275 arg context_search_handle ,regc 
+2259 20202261 branch context_search 
+
+context_search_plap:
+225a 4496c005 bpatch patch05_5 ,mem_patch05 
+225b 680b41d0 fetcht 6 ,mem_hci_plap 
+
+context_search_plap2:
+225c da60226e arg context_search_lap ,regc 
+225d 20202261 branch context_search 
+
+context_search_insniff:
+225e da60227b arg context_search_sniff ,regc 
+225f 20202261 branch context_search 
+
+context_search_sniff_window:
+2260 da6022c6 arg context_search_window ,regc 
+
+context_search:
+2261 44974005 bpatch patch05_6 ,mem_patch05 
+2262 da204040 arg mem_context ,rega 
+2263 df200001 arg context_num ,loopcnt 
+
+context_search_loop:
+2264 ea208000 ifetch 1 ,rega 
+2265 1a627a00 copy regc ,pc 
+
+context_search_next:
+2266 1a20a250 increase context_size ,rega 
+2267 c2002264 loop context_search_loop 
+2268 18007c01 force 1 ,null 
+2269 20600000 rtn 
+
+context_search_empty:
+226a c2802266 bbit1 state_inconn ,context_search_next 
+226b c281a266 bbit1 state_inpage ,context_search_next 
+226c 18007c00 force 0 ,null 
+226d 20600000 rtn 
+
+context_search_lap:
+226e c281a270 bbit1 state_inpage ,context_search_lap_cont 
+226f c3002266 bbit0 state_inconn ,context_search_next 
+
+context_search_lap_cont:
+2270 1a208c10 add rega ,coffset_plap ,contr 
+2271 e8c30000 ifetch 6 ,contr 
+2272 98467c00 isub temp ,null 
+2273 20628000 rtn zero 
+2274 20202266 branch context_search_next 
+
+context_search_handle:
+2275 c3002266 bbit0 state_inconn ,context_search_next 
+2276 1a208c16 add rega ,coffset_conn_handle ,contr 
+2277 e8c08000 ifetch 1 ,contr 
+2278 98467c00 isub temp ,null 
+2279 20628000 rtn zero 
+227a 20202266 branch context_search_next 
+
+context_search_sniff:
+227b c300a266 bbit0 state_insniff ,context_search_next 
+
+context_search_sniff_loop:
+227c 204022b3 call context_get_anchor 
+227d 20402297 call sign_pdata_temp 
+227e 98467e00 isub temp ,pdata 
+227f 1fe0fe01 increase 1 ,pdata 
+2280 20212291 branch context_search_sniff_miss ,positive 
+2281 18c22400 copy contr ,regb 
+2282 60048aa2 store 9 ,mem_temp 
+2283 6800c4c0 fetch 1 ,mem_le_sc_calc 
+2284 243a2289 nbranch context_search_sniff_sc ,blank 
+2285 68048aa2 fetch 9 ,mem_temp 
+2286 1a420c00 copy regb ,contr 
+2287 1fe0fe05 increase 5 ,pdata 
+2288 2020228c branch context_search_meet1 
+
+context_search_sniff_sc:
+2289 68048aa2 fetch 9 ,mem_temp 
+228a 1a420c00 copy regb ,contr 
+228b 1fe0fe14 increase 20 ,pdata 
+
+context_search_meet1:
+228c 24212266 nbranch context_search_next ,positive 
+
+context_search_meet:
+228d 18424200 copy temp ,bt_clk 
+228e 204022bf call context_next_anchor 
+228f 18007c00 force 0 ,null 
+2290 20600000 rtn 
+
+context_search_sniff_miss:
+2291 98002400 iforce regb 
+2292 1a208c02 add rega ,coffset_tsniff ,contr 
+2293 e8c10000 ifetch 2 ,contr 
+2294 203a228d branch context_search_meet ,blank 
+2295 204022bf call context_next_anchor 
+2296 2020227c branch context_search_sniff_loop 
+
+sign_pdata_temp:
+2297 1ff11600 rshift16 pdata ,timeup 
+2298 196c9600 rshift8 timeup ,timeup 
+2299 2022a2a1 branch sign_pdata_temp_p0 ,zero 
+229a 29601e0f compare 0xf ,timeup ,0xf 
+229b 24608000 nrtn true 
+229c 18511600 rshift16 temp ,timeup 
+229d 196c9600 rshift8 timeup ,timeup 
+229e 24628000 nrtn zero 
+229f 7920041c set1 28 ,temp 
+22a0 20600000 rtn 
+
+sign_pdata_temp_p0:
+22a1 18511600 rshift16 temp ,timeup 
+22a2 196c9600 rshift8 timeup ,timeup 
+22a3 29601e0f compare 0xf ,timeup ,0xf 
+22a4 24608000 nrtn true 
+22a5 79207e1c set1 28 ,pdata 
+22a6 20600000 rtn 
+
+context_check_inconn:
+22a7 c3002266 bbit0 state_inconn ,context_search_next 
+22a8 18007c00 force 0 ,null 
+22a9 20600000 rtn 
+
+context_check_a_wack:
+22aa c3002266 bbit0 state_inconn ,context_search_next 
+22ab 1a208c01 add rega ,coffset_mode ,contr 
+22ac e8c08000 ifetch 1 ,contr 
+22ad c2802266 bbit1 mode_le ,context_search_next 
+22ae 1a208c17 add rega ,coffset_arq ,contr 
+22af e8c08000 ifetch 1 ,contr 
+22b0 c301a266 bbit0 wack ,context_search_next 
+22b1 18007c00 force 0 ,null 
+22b2 20600000 rtn 
+
+context_get_anchor:
+22b3 1a208c01 add rega ,coffset_mode ,contr 
+22b4 e8c88000 ifetcht 1 ,contr 
+22b5 1c427e00 deposit clkn_bt 
+22b6 284ffe01 isolate1 mode_master ,temp 
+22b7 1a208c04 add rega ,coffset_sniff_anchor ,contr 
+22b8 e8ca0000 ifetcht 4 ,contr 
+22b9 20608000 rtn true 
+22ba 1a208c08 add rega ,coffset_clk_offset ,contr 
+22bb e8c30000 ifetch 6 ,contr 
+22bc 20402854 call calc_clke2 
+22bd 1d027e00 deposit clke_bt 
+22be 20600000 rtn 
+
+context_next_anchor:
+22bf 1a208c02 add rega ,coffset_tsniff ,contr 
+22c0 1a208a04 add rega ,coffset_sniff_anchor ,contw 
+22c1 e8c10000 ifetch 2 ,contr 
+22c2 98409600 iadd temp ,timeup 
+22c3 19627e00 deposit timeup 
+22c4 e0a20000 istore 4 ,contw 
+22c5 20205449 branch le_context_nexthop 
+
+context_search_window:
+22c6 c300a266 bbit0 state_insniff ,context_search_next 
+22c7 204022b3 call context_get_anchor 
+22c8 9b60fe00 iadd stop_watch ,pdata 
+22c9 9b60fe00 iadd stop_watch ,pdata 
+22ca 98e0fe00 iadd queue ,pdata 
+22cb 98467c00 isub temp ,null 
+22cc 24212266 nbranch context_search_next ,positive 
+22cd 18007c00 force 0 ,null 
+22ce 20600000 rtn 
+
+context_traverse_clearkey:
+22cf c3002266 bbit0 state_inconn ,context_search_next 
+22d0 18427e00 deposit temp 
+22d1 9a267c00 isub rega ,null 
+22d2 203f2266 branch context_search_next ,null 
+22d3 1a208c01 add rega ,coffset_mode ,contr 
+22d4 e8c08000 ifetch 1 ,contr 
+22d5 c2802266 bbit1 mode_le ,context_search_next 
+22d6 ea208000 ifetch 1 ,rega 
+22d7 793ffe07 set0 state_linkkey ,pdata 
+22d8 e2208000 istore 1 ,rega 
+22d9 20202266 branch context_search_next 
+
+master_conn_send_packet:
+22da 4497c005 bpatch patch05_7 ,mem_patch05 
+22db 20402a4f call rf_setup_time_master_slot 
+
+master_send_packet:
+22dc 1c40c201 add clkn_bt ,1 ,bt_clk 
+22dd 204028e2 call fetch_self_bt_adr 
+22de 18004803 force 0x03 ,freq_mode 
+22df 204028d2 call tx_radio_freq 
+22e0 20402a51 call start_transmitter 
+22e1 20402a56 call start_tx_native 
+22e2 20402a64 call send_access_word 
+22e3 20202762 branch transmit_packet 
+
+master_conn_recv_packet:
+22e4 44984006 bpatch patch06_0 ,mem_patch06 
+22e5 20402a4d call rf_setup_time_slave_slot 
+
+master_recv_packet:
+22e6 1c40c201 add clkn_bt ,1 ,bt_clk 
+22e7 204028e2 call fetch_self_bt_adr 
+22e8 18004803 force 0x03 ,freq_mode 
+22e9 204028cc call rx_radio_freq 
+22ea 2040242a call init_rx_packet_flags 
+22eb 204029f1 call prep_crypt 
+22ec 20402a5b call start_rx_native 
+22ed 204029eb call start_receiver 
+
+master_rx_conn_finish_packet:
+22ee 20402a0d call wait_access_clkn_rt 
+22ef 246c0000 nrtn sync 
+22f0 204029bb call save_rssi 
+22f1 2020251c branch receive_packet 
+
+master_newconn_once:
+22f2 4498c006 bpatch patch06_1 ,mem_patch06 
+22f3 68008181 fetch 1 ,mem_fhs_am_addr 
+22f4 98000800 iforce am_addr 
+22f5 18000201 force type_poll ,type 
+22f6 204022da call master_conn_send_packet 
+22f7 202022e4 branch master_conn_recv_packet 
+
+inquiry_scan_dispatch:
+22f8 6800c093 fetch 1 ,mem_scan_mode 
+22f9 c4000000 rtnbit0 inq_scan_mode 
+22fa 18000e04 force iscan_interval_timer ,queue 
+22fb 20407f16 call timer_check 
+22fc 247a0000 nrtn blank 
+22fd 680940ad fetcht 2 ,mem_iscan_window 
+22fe 18000e04 force 4 ,queue 
+22ff 2040271c call sniff_check_window 
+2300 20740000 rtn user 
+2301 20402308 call inquiry_scan_start 
+2302 18000e04 force iscan_interval_timer ,queue 
+2303 680140af fetch 2 ,mem_iscan_interval 
+2304 242c7f08 nbranch timer_init ,sync 
+2305 180a7e00 random pdata 
+2306 9ea17e00 iand mask3ff ,pdata 
+2307 20207f08 branch timer_init 
+
+inquiry_scan_start:
+2308 44994006 bpatch patch06_2 ,mem_patch06 
+2309 70018100 jam 0 ,mem_fhs_am_addr 
+230a 78587c00 disable clknt 
+230b 78577c00 disable attempt 
+230c 204028a4 call afh_clear 
+230d 1c4143fc and clkn_bt ,0x1fc ,bt_clk 
+230e 18004801 force 0x01 ,freq_mode 
+230f 204028d8 call fetch_giac 
+2310 204028cc call rx_radio_freq 
+2311 7940001d setflip mark_inquiry_state ,mark 
+2312 68008006 fetch 1 ,mem_inquiryscan_waitcnt 
+2313 1fe0fe01 increase 1 ,pdata 
+2314 60008006 store 1 ,mem_inquiryscan_waitcnt 
+2315 204028f2 call fetch_diac 
+2316 204029eb call start_receiver 
+2317 20402a14 call wait_access_forever 
+2318 246c0000 nrtn sync 
+2319 4499c006 bpatch patch06_3 ,mem_patch06 
+231a 18003600 force 0 ,stop_watch 
+231b 204028f9 call shutdown_radio 
+231c 68008007 fetch 1 ,mem_inquiryscan_rcvcnt 
+231d 1fe0fe01 increase 1 ,pdata 
+231e 60008007 store 1 ,mem_inquiryscan_rcvcnt 
+231f 204028d8 call fetch_giac 
+2320 20402a4d call rf_setup_time_slave_slot 
+2321 1c21c202 or_into 0x002 ,bt_clk 
+2322 18004801 force 0x01 ,freq_mode 
+2323 204028d2 call tx_radio_freq 
+2324 204028f2 call fetch_diac 
+2325 20402a51 call start_transmitter 
+2326 20402a5f call start_tx_external 
+2327 1c427e00 deposit clkn_bt 
+2328 60020161 store 4 ,mem_clkn_bt 
+2329 20402a64 call send_access_word 
+232a 18000202 force type_fhs ,type 
+232b 18000800 force 0 ,am_addr 
+232c 20402a6b call scan_mode_whiten 
+232d 20402766 call transmit_packet_whitened 
+232e 20402332 call send_eir 
+232f 1c2143fd and_into 0x1fd ,bt_clk 
+2330 1cc0cc01 increase 1 ,n_tx_slot 
+2331 20600000 rtn 
+
+send_eir:
+2332 449a4006 bpatch patch06_4 ,mem_patch06 
+2333 6800c0d1 fetch 1 ,mem_eir_enable 
+2334 207a0000 rtn blank 
+2335 d8a0018e arg mem_eir ,contw 
+2336 6800c515 fetch 1 ,mem_local_name_length 
+2337 1fe27200 copy pdata ,loopcnt 
+2338 1fe0fe01 increase 1 ,pdata 
+2339 e0a08000 istore 1 ,contw 
+233a 18a20400 copy contw ,temp 
+233b 1fe0fe01 increase 1 ,pdata 
+233c 600141dc store 2 ,mem_tx_len 
+233d 18420a00 copy temp ,contw 
+233e 58000009 setarg 0x09 
+233f e0a08000 istore 1 ,contw 
+2340 d8c04516 arg mem_local_name ,contr 
+2341 20407f01 call memcpy 
+2342 da60458d arg mem_all_uuid_128bits ,regc 
+2343 df200004 arg 4 ,loopcnt 
+2344 20402354 call get_all_uuid 
+2345 da604577 arg mem_all_uuid_16bits ,regc 
+2346 df200001 arg 1 ,loopcnt 
+2347 20402354 call get_all_uuid 
+2348 1800020a force type_dm3 ,type 
+2349 7041db02 jam 2 ,mem_tx_lch 
+234a 5800018e setarg mem_eir 
+234b 6001016f store 2 ,mem_txptr 
+234c 20402a4d call rf_setup_time_slave_slot 
+234d 204028d2 call tx_radio_freq 
+234e 20402a51 call start_transmitter 
+234f 20402a5f call start_tx_external 
+2350 20402a64 call send_access_word 
+2351 20402a6b call scan_mode_whiten 
+2352 20402766 call transmit_packet_whitened 
+2353 20600000 rtn 
+
+get_all_uuid:
+2354 18a20400 copy contw ,temp 
+2355 1a620c00 copy regc ,contr 
+2356 e8c08000 ifetch 1 ,contr 
+2357 207a0000 rtn blank 
+
+lshift_loop:
+2358 1fe3fe00 lshift pdata ,pdata 
+2359 c2002358 loop lshift_loop 
+235a 1fe22200 copy pdata ,rega 
+235b 1fe0fe02 increase 2 ,pdata 
+235c 1fe20e00 copy pdata ,queue 
+235d 680141dc fetch 2 ,mem_tx_len 
+235e 98e0fe00 iadd queue ,pdata 
+235f 600141dc store 2 ,mem_tx_len 
+2360 18420a00 copy temp ,contw 
+2361 1a227e00 copy rega ,pdata 
+2362 1fe0fe01 increase 1 ,pdata 
+2363 e0a08000 istore 1 ,contw 
+2364 1a620c00 copy regc ,contr 
+2365 e8c08000 ifetch 1 ,contr 
+2366 e8c08000 ifetch 1 ,contr 
+2367 e0a08000 istore 1 ,contw 
+2368 1a227200 copy rega ,loopcnt 
+2369 20207f01 branch memcpy 
+
+page_scan_dispatch:
+236a 6800c093 fetch 1 ,mem_scan_mode 
+236b c4008000 rtnbit0 page_scan_mode 
+236c 18000e05 force pscan_interval_timer ,queue 
+236d 20407f16 call timer_check 
+236e 247a0000 nrtn blank 
+236f 680940b1 fetcht 2 ,mem_pscan_window 
+2370 18000e28 force 40 ,queue 
+2371 2040271c call sniff_check_window 
+2372 20740000 rtn user 
+2373 18000800 force 0 ,am_addr 
+2374 70001008 jam param_pagerespto ,mem_fhs_wait_counter 
+2375 793f800b set0 mark_fhs_already_good ,mark 
+2376 2040237a call page_scan_start 
+2377 18000e05 force pscan_interval_timer ,queue 
+2378 680140b3 fetch 2 ,mem_pscan_interval 
+2379 20207f08 branch timer_init 
+
+page_scan_start:
+237a 449ac006 bpatch patch06_5 ,mem_patch06 
+237b 78587c00 disable clknt 
+237c 204028a4 call afh_clear 
+237d 68008008 fetch 1 ,mem_pagescan_waitcnt 
+237e 1fe0fe01 increase 1 ,pdata 
+237f 60008008 store 1 ,mem_pagescan_waitcnt 
+2380 18004c00 force 0 ,n_tx_slot 
+2381 204028e2 call fetch_self_bt_adr 
+2382 1c40c201 add clkn_bt ,1 ,bt_clk 
+2383 18004802 force 0x02 ,freq_mode 
+2384 449b4006 bpatch patch06_6 ,mem_patch06 
+2385 204028cc call rx_radio_freq 
+2386 204029eb call start_receiver 
+2387 20402a14 call wait_access_forever 
+2388 246c0000 nrtn sync 
+2389 204028f9 call shutdown_radio 
+238a 68008009 fetch 1 ,mem_pagescan_rcvcnt 
+238b 1fe0fe01 increase 1 ,pdata 
+238c 60008009 store 1 ,mem_pagescan_rcvcnt 
+238d 18003600 force 0 ,stop_watch 
+238e 20402a4d call rf_setup_time_slave_slot 
+238f 1c21c202 or_into 0x002 ,bt_clk 
+2390 18004801 force 0x01 ,freq_mode 
+2391 204028d2 call tx_radio_freq 
+2392 20402a51 call start_transmitter 
+2393 20402a5f call start_tx_external 
+2394 20402a64 call send_access_word 
+2395 2040264d call end_of_packet 
+2396 18000800 force 0 ,am_addr 
+2397 d9600600 arg param_rf_setup ,timeup 
+2398 35330200 until clke_rt ,meet 
+2399 1d01d003 or_into 0x03 ,clke_bt 
+239a 1c2143fd and_into 0x1fd ,bt_clk 
+
+page_scan_wait_fhs_restart:
+239b 449bc006 bpatch patch06_7 ,mem_patch06 
+239c 1cc0cc01 increase 1 ,n_tx_slot 
+239d 204028cc call rx_radio_freq 
+239e 204029eb call start_receiver 
+239f 20402a07 call wait_access_mhalfbnd 
+23a0 242c23a4 nbranch page_scan_wait_fhs_again ,sync 
+23a1 20402a6b call scan_mode_whiten 
+23a2 2040251e call receive_packet_whitened 
+23a3 c505a3ab bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+
+page_scan_wait_fhs_again:
+23a4 449c4007 bpatch patch07_0 ,mem_patch07 
+23a5 68008010 fetch 1 ,mem_fhs_wait_counter 
+23a6 207a0000 rtn blank 
+23a7 1fe0ffff increase -1 ,pdata 
+23a8 60008010 store 1 ,mem_fhs_wait_counter 
+23a9 20402a4f call rf_setup_time_master_slot 
+23aa 2020239b branch page_scan_wait_fhs_restart 
+
+page_scan_reply_to_fhs:
+23ab 449cc007 bpatch patch07_1 ,mem_patch07 
+23ac 793fd001 set0 1 ,clke_bt 
+23ad 79205000 set1 0 ,clke_bt 
+23ae 6800800a fetch 1 ,mem_pagescan_rcvfhscnt 
+23af 1fe0fe01 increase 1 ,pdata 
+23b0 6000800a store 1 ,mem_pagescan_rcvfhscnt 
+23b1 20402a4d call rf_setup_time_slave_slot 
+23b2 1c21c202 or_into 0x02 ,bt_clk 
+23b3 204028d2 call tx_radio_freq 
+23b4 20402a51 call start_transmitter 
+23b5 20402a5f call start_tx_external 
+23b6 20402a64 call send_access_word 
+23b7 2040264d call end_of_packet 
+
+slave_apply_clke_bt:
+23b8 2d000603 compare 0x03 ,clke_bt ,0x03 
+23b9 2020a3bc branch slave_apply_clke_bt_now ,true 
+23ba 37cb8200 until null ,mhalfbnd 
+23bb 202023b8 branch slave_apply_clke_bt 
+
+slave_apply_clke_bt_now:
+23bc 68020165 fetch 4 ,mem_clke_bt 
+23bd 1fe1fe03 or_into 0x03 ,pdata 
+23be 1fe25000 icopy clke_bt 
+
+start_slave_connection:
+23bf 449d4007 bpatch patch07_2 ,mem_patch07 
+23c0 68030178 fetch 6 ,extm_lap 
+23c1 60030040 store 6 ,mem_plap 
+23c2 20402435 call prepare_newconn 
+
+slave_newconn_loop:
+23c3 2040247c call slave_newconn_once 
+23c4 2036a3c8 branch sconn_successful ,match 
+23c5 20402455 call new_conn_timeout 
+23c6 243a23c3 nbranch slave_newconn_loop ,blank 
+23c7 20600000 rtn 
+
+sconn_successful:
+23c8 449dc007 bpatch patch07_3 ,mem_patch07 
+23c9 20402440 call newconn_init 
+23ca 2040223b call context_new 
+23cb 24628000 nrtn zero 
+23cc 70003100 jam 0 ,mem_mode 
+23cd 20402841 call calc_clke_offset 
+23ce 20202223 branch context_save 
+
+slave_dispatch:
+23cf 449e4007 bpatch patch07_4 ,mem_patch07 
+23d0 20402850 call calc_clke 
+23d1 204023f3 call role_switch_slave 
+23d2 20740000 rtn user 
+
+slave_loop:
+23d3 449ec007 bpatch patch07_5 ,mem_patch07 
+23d4 20402c69 call check_bt_disabled 
+23d5 20406caa call scheduler_process 
+23d6 20402514 call slave_conn_recv_packet 
+23d7 2436a3e2 nbranch slave_notmatch ,match 
+23d8 20402a88 call supervision_flush 
+23d9 20406cc2 call scheduler_tx_l2cap_pkt 
+23da 20402489 call prepare_tx 
+23db 20402757 call slave_conn_send_packet 
+23dc 20402728 call parse_l2cap 
+23dd 20405d08 call parse_lmp 
+23de 6800800b fetch 1 ,mem_slave_rcvcnt 
+23df 1fe0fe01 increase 1 ,pdata 
+23e0 6000800b store 1 ,mem_slave_rcvcnt 
+23e1 20402841 call calc_clke_offset 
+
+slave_notmatch:
+23e2 449f4007 bpatch patch07_6 ,mem_patch07 
+23e3 20402bb1 call lpm_set_mult 
+23e4 20402a7f call supervision_update 
+23e5 202123eb branch slave_disconnect ,positive 
+23e6 204021a7 call check_disconnect_timeout 
+23e7 243423eb nbranch slave_disconnect ,user 
+23e8 204026f3 call check_attempt 
+23e9 243a23d3 nbranch slave_loop ,blank 
+23ea 20600000 rtn 
+
+slave_disconnect:
+23eb 449fc007 bpatch patch07_7 ,mem_patch07 
+23ec 70015100 jam 0 ,mem_tester_emulate 
+23ed 70017f00 jam 0 ,mem_debug_config 
+23ee 2040245d call quit_connection 
+23ef 793f8011 set0 mark_testmode ,mark 
+23f0 20407fb0 call test_enable_white 
+23f1 68008030 fetch 1 ,mem_state 
+23f2 20600000 rtn 
+
+role_switch_slave:
+23f3 44a04008 bpatch patch08_0 ,mem_patch08 
+23f4 204021c9 call role_switch_check 
+23f5 24740000 nrtn user 
+23f6 18820400 copy am_addr ,temp 
+23f7 20402a6f call get_free_amaddr 
+23f8 60008181 store 1 ,mem_fhs_am_addr 
+23f9 18420800 copy temp ,am_addr 
+23fa 70001120 jam param_newconnto ,mem_newconnto_counter 
+
+roles_sendfhs_loop:
+23fb 44a0c008 bpatch patch08_1 ,mem_patch08 
+23fc 20402a4f call rf_setup_time_master_slot 
+23fd 18000202 force type_fhs ,type 
+23fe 2040274f call slave_send_access 
+23ff 1c427e00 deposit clkn_bt 
+2400 60020161 store 4 ,mem_clkn_bt 
+2401 20402762 call transmit_packet 
+2402 20402a4d call rf_setup_time_slave_slot 
+2403 7837fc00 enable user3 
+2404 204024f6 call slave_receive_access 
+2405 202c240d branch roles_got_fhs_reply ,sync 
+2406 204028f9 call shutdown_radio 
+2407 20402455 call new_conn_timeout 
+2408 243a23fb nbranch roles_sendfhs_loop ,blank 
+2409 c6820000 rtnmark0 mark_accept_switch 
+240a 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+240b 79200003 set1 mark_switch_initiated ,mark 
+240c 20600000 rtn 
+
+roles_got_fhs_reply:
+240d 78387c00 enable clknt 
+240e 20402435 call prepare_newconn 
+240f 204028a4 call afh_clear 
+
+roles_newconn_loop:
+2410 44a14008 bpatch patch08_2 ,mem_patch08 
+2411 204022f2 call master_newconn_once 
+2412 202c2419 branch roles_newconn_responded ,sync 
+2413 20402455 call new_conn_timeout 
+2414 243a2410 nbranch roles_newconn_loop ,blank 
+2415 78587c00 disable clknt 
+2416 1d027e00 deposit clke_bt 
+2417 600240ca store 4 ,mem_next_btclk 
+2418 20600000 rtn 
+
+roles_newconn_responded:
+2419 7834fc00 enable master 
+241a c582241f bmark0 mark_accept_switch ,roles_newconn_nolmp 
+241b 793f8004 set0 mark_accept_switch ,mark 
+241c 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+241d 70007d33 jam lmp_host_connection_req ,mem_lmi_opcode2 
+241e 204062f8 call tid_set_reply 
+
+roles_newconn_nolmp:
+241f 18827e00 deposit am_addr 
+2420 60008077 store 1 ,mem_amaddr 
+2421 18007e00 force 0 ,pdata 
+2422 60030038 store 6 ,mem_clk_offset 
+2423 68008031 fetch 1 ,mem_mode 
+2424 79207e01 set1 mode_master ,pdata 
+2425 60008031 store 1 ,mem_mode 
+2426 20402a88 call supervision_flush 
+2427 7854fc00 disable master 
+2428 78347c00 enable user 
+2429 20600000 rtn 
+
+init_rx_packet_flags:
+242a 44a1c008 bpatch patch08_3 ,mem_patch08 
+242b 7856fc00 disable match 
+242c 793f8005 set0 mark_loopback ,mark 
+242d 793f800a set0 mark_am_addr_broadcast ,mark 
+242e 793f8010 set0 mark_longpacket ,mark 
+242f 793f800f set0 mark_old_packet ,mark 
+2430 68008047 fetch 1 ,mem_arq 
+2431 793ffe05 set0 arqnx ,pdata 
+2432 79207e04 set1 flowx ,pdata 
+2433 60008047 store 1 ,mem_arq 
+2434 20600000 rtn 
+
+prepare_newconn:
+2435 44a24008 bpatch patch08_4 ,mem_patch08 
+2436 70001120 jam param_newconnto ,mem_newconnto_counter 
+2437 70004750 jam param_newconn_arq ,mem_arq 
+2438 680140bf fetch 2 ,mem_rx_window_init 
+2439 6001003e store 2 ,mem_rx_window 
+243a 1c427e00 deposit clkn_bt 
+243b 600240ca store 4 ,mem_next_btclk 
+243c 20780000 rtn clknt 
+243d 1d027e00 deposit clke_bt 
+243e 600240ca store 4 ,mem_next_btclk 
+243f 20600000 rtn 
+
+newconn_init:
+2440 44a2c008 bpatch patch08_5 ,mem_patch08 
+2441 20405d04 call init_lmp_reinit 
+2442 20402459 call new_conn_handle 
+2443 60008046 store 1 ,mem_conn_handle 
+2444 58000000 setarg 0 
+2445 6001025d store 2 ,mem_l2cap_rxbuff1_len 
+2446 58001c80 setarg param_supervision_to 
+2447 60010051 store 2 ,mem_supervision_to 
+2448 68008030 fetch 1 ,mem_state 
+2449 79207e00 set1 state_inconn ,pdata 
+244a 60008030 store 1 ,mem_state 
+244b 70004b00 jam 0 ,mem_op 
+244c 70004c00 jam 0 ,mem_state_map 
+244d 7000a000 jam 0 ,mem_lpm_current_mult 
+244e 20202a88 branch supervision_flush 
+
+clear_linkkey:
+244f 44a34008 bpatch patch08_6 ,mem_patch08 
+2450 18007e00 force 0 ,pdata 
+2451 600441be store 8 ,mem_link_key 
+2452 e0a40000 istore 8 ,contw 
+2453 204021c5 call clear_linkstate 
+2454 20202254 branch context_traverse_linkkey 
+
+new_conn_timeout:
+2455 68008011 fetch 1 ,mem_newconnto_counter 
+2456 1fe0ffff increase -1 ,pdata 
+2457 60008011 store 1 ,mem_newconnto_counter 
+2458 20600000 rtn 
+
+new_conn_handle:
+2459 6800c0cf fetch 1 ,mem_handle_num 
+245a 1fe0fe01 increase 1 ,pdata 
+245b 6000c0cf store 1 ,mem_handle_num 
+245c 20600000 rtn 
+
+quit_connection:
+245d 44a3c008 bpatch patch08_7 ,mem_patch08 
+245e 6800c1ce fetch 1 ,mem_hci_cmd 
+245f c001a462 beq hci_cmd_remote_name_req ,quit_connection_name 
+2460 68008048 fetch 1 ,mem_lmp_to_send 
+2461 c080a466 bne lmp_name_req ,quit_connection_cont 
+
+quit_connection_name:
+2462 20404d06 call cmd_check_plap 
+2463 2422a466 nbranch quit_connection_cont ,zero 
+2464 204021a4 call master_name_error 
+2465 7041ce00 jam 0 ,mem_hci_cmd 
+
+quit_connection_cont:
+2466 44a44009 bpatch patch09_0 ,mem_patch09 
+2467 204033af call app_disconn_reason_collect_bt 
+2468 204026e9 call sniff_exit 
+2469 700a9902 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+246a 20407d86 call ui_ipc_send_event 
+246b 20405cf7 call init_lmp_work 
+246c 20404d6b call l2cap_init_work 
+246d 2040757d call sp_initialize 
+246e 68008030 fetch 1 ,mem_state 
+246f 793ffe00 set0 state_inconn 
+2470 60008030 store 1 ,mem_state 
+2471 70468100 jam 0 ,memui_reconnect_mode 
+2472 6800804c fetch 1 ,mem_state_map 
+2473 2fe18000 compare 0x0 ,pdata ,0xc0 
+2474 2020a476 branch quit_connection_not_clear_mark ,true 
+2475 793f8001 set0 mark_rxbuf_inuse ,mark 
+
+quit_connection_not_clear_mark:
+2476 68008047 fetch 1 ,mem_arq 
+2477 c301a478 bbit0 wack ,quit_connection_not_clear_tx 
+
+quit_connection_not_clear_tx:
+2478 6800804b fetch 1 ,mem_op 
+2479 c4030000 rtnbit0 op_txl2cap 
+247a 793f8002 set0 mark_tx_l2cap ,mark 
+247b 20600000 rtn 
+
+slave_newconn_once:
+247c 44a4c009 bpatch patch09_1 ,mem_patch09 
+247d 68008174 fetch 1 ,extm_newconn_am_addr 
+247e 207a0000 rtn blank 
+247f 1fe20800 icopy am_addr 
+2480 20402514 call slave_conn_recv_packet 
+2481 24768000 nrtn match 
+2482 18000200 force type_null ,type 
+2483 20402757 call slave_conn_send_packet 
+2484 18827e00 deposit am_addr 
+2485 60008077 store 1 ,mem_amaddr 
+2486 18007e00 force 0 ,pdata 
+2487 60008174 store 1 ,extm_newconn_am_addr 
+2488 20600000 rtn 
+
+prepare_tx:
+2489 44a54009 bpatch patch09_2 ,mem_patch09 
+248a 68008030 fetch 1 ,mem_state 
+248b c3012496 bbit0 state_insco ,prepare_tx_not_sco 
+248c 18000207 force type_hv3 ,type 
+248d c583a495 bmark0 mark_esco ,prepare_tx_not_esco 
+248e 20402725 call check_esco_amaddr 
+248f 2420a496 nbranch prepare_tx_not_sco ,true 
+2490 20372496 branch prepare_tx_not_sco ,attempt 
+2491 204024c1 call set_wait_ack 
+2492 58000002 setarg 2 
+2493 600140c8 store 2 ,mem_retransmission_cnt 
+2494 20600000 rtn 
+
+prepare_tx_not_esco:
+2495 24770000 nrtn attempt 
+
+prepare_tx_not_sco:
+2496 44a5c009 bpatch patch09_3 ,mem_patch09 
+2497 20402243 call context_check_all_wack 
+2498 2422a4a7 nbranch prepare_tx_no_retransmit ,zero 
+2499 68008047 fetch 1 ,mem_arq 
+249a c301a4b0 bbit0 wack ,prepare_tx_pollnull 
+
+prepare_tx_retransmit:
+249b c502a4b4 bmark1 mark_loopback ,prepare_tx_loopback 
+249c 6800817f fetch 1 ,mem_debug_config 
+249d c28324ba bbit1 debug_tx_pattern ,prepare_tx_txpat 
+249e 680140c8 fetch 2 ,mem_retransmission_cnt 
+249f 1fe0ffff increase -1 ,pdata 
+24a0 600140c8 store 2 ,mem_retransmission_cnt 
+24a1 203a24a5 branch prepare_tx_nomore_retransmit ,blank 
+24a2 6800c0c5 fetch 1 ,mem_last_type 
+24a3 98000200 iforce type 
+24a4 20600000 rtn 
+
+prepare_tx_nomore_retransmit:
+24a5 44a64009 bpatch patch09_4 ,mem_patch09 
+24a6 20402687 call clear_got_tx 
+
+prepare_tx_no_retransmit:
+24a7 20402725 call check_esco_amaddr 
+24a8 2020a4b0 branch prepare_tx_pollnull ,true 
+24a9 2040600a call send_lmp 
+24aa 203424be branch prepare_tx_sendlmp ,user 
+24ab 6800804b fetch 1 ,mem_op 
+24ac c28324c0 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+24ad c502a4b4 bmark1 mark_loopback ,prepare_tx_loopback 
+24ae 6800817f fetch 1 ,mem_debug_config 
+24af c28324ba bbit1 debug_tx_pattern ,prepare_tx_txpat 
+
+prepare_tx_pollnull:
+24b0 18000201 force type_poll ,type 
+24b1 20748000 rtn master 
+24b2 18000200 force type_null ,type 
+24b3 20600000 rtn 
+
+prepare_tx_loopback:
+24b4 44a6c009 bpatch patch09_5 ,mem_patch09 
+24b5 68008019 fetch 1 ,mem_rx_type 
+24b6 98000200 iforce type 
+24b7 c1808000 rtnne 1 
+24b8 18000200 force type_null ,type 
+24b9 20600000 rtn 
+
+prepare_tx_txpat:
+24ba 68008158 fetch 1 ,test_mode_packet_type 
+24bb 1fe1020f and pdata ,0xf ,type 
+24bc 79200005 set1 mark_loopback ,mark 
+24bd 20600000 rtn 
+
+prepare_tx_sendlmp:
+24be 18000213 force type_lmp ,type 
+24bf 202024c1 branch set_wait_ack 
+
+prepare_tx_sendl2cap:
+24c0 204024ca call tx_l2cap_type 
+
+set_wait_ack:
+24c1 44a74009 bpatch patch09_6 ,mem_patch09 
+24c2 68088047 fetcht 1 ,mem_arq 
+24c3 79200403 set1 wack ,temp 
+24c4 60088047 storet 1 ,mem_arq 
+24c5 18227e00 deposit type 
+24c6 6000c0c5 store 1 ,mem_last_type 
+24c7 5800ffff setarg 0xffff 
+24c8 600140c8 store 2 ,mem_retransmission_cnt 
+24c9 20600000 rtn 
+
+tx_l2cap_type:
+24ca 44a7c009 bpatch patch09_7 ,mem_patch09 
+24cb 6800804c fetch 1 ,mem_state_map 
+24cc 2feffe05 isolate1 smap_edr ,pdata 
+24cd 680141dc fetch 2 ,mem_tx_len 
+24ce 2020a4e0 branch tx_l2cap_type_edr ,true 
+24cf 18000203 force type_dm1 ,type 
+24d0 1fe67c11 sub pdata ,17 ,null 
+24d1 20610000 rtn positive 
+24d2 18000204 force type_dh1 ,type 
+24d3 1fe67c1b sub pdata ,27 ,null 
+24d4 20610000 rtn positive 
+24d5 1800020a force type_dm3 ,type 
+24d6 1fe67c79 sub pdata ,121 ,null 
+24d7 20610000 rtn positive 
+24d8 1800020b force type_dh3 ,type 
+24d9 1fe67cb7 sub pdata ,183 ,null 
+24da 20610000 rtn positive 
+24db 1800020e force type_dm5 ,type 
+24dc 1fe67ce0 sub pdata ,224 ,null 
+24dd 20610000 rtn positive 
+24de 1800020f force type_dh5 ,type 
+24df 20600000 rtn 
+
+tx_l2cap_type_edr:
+24e0 18000203 force type_dm1 ,type 
+24e1 1fe67c11 sub pdata ,17 ,null 
+24e2 20610000 rtn positive 
+24e3 18000204 force type_dh1 ,type 
+24e4 1fe67c36 sub pdata ,54 ,null 
+24e5 20610000 rtn positive 
+24e6 1800020a force type_dm3 ,type 
+24e7 d840016f arg 367 ,temp 
+24e8 98467c00 isub temp ,null 
+24e9 24610000 nrtn positive 
+24ea 1800020e force type_dm5 ,type 
+24eb d84002a7 arg 679 ,temp 
+24ec 98467c00 isub temp ,null 
+24ed 24610000 nrtn positive 
+24ee 1800020f force type_dh5 ,type 
+24ef 20600000 rtn 
+
+slave_receive_master_slot:
+24f0 68008030 fetch 1 ,mem_state 
+24f1 c300a4f5 bbit0 state_insniff ,slave_receive_notsniff 
+24f2 68010032 fetch 2 ,mem_tsniff 
+24f3 203a24f5 branch slave_receive_notsniff ,blank 
+24f4 243724f7 nbranch slave_receive_sniff ,attempt 
+
+slave_receive_notsniff:
+24f5 20402a4f call rf_setup_time_master_slot 
+
+slave_receive_access:
+24f6 1d00c201 add clke_bt ,1 ,bt_clk 
+
+slave_receive_sniff:
+24f7 78287c00 enable swfine 
+24f8 6801003e fetch 2 ,mem_rx_window 
+24f9 1fe37e00 rshift pdata ,pdata 
+24fa d8400500 arg param_pll_setup ,temp 
+24fb 9840fe00 iadd temp ,pdata 
+24fc 20402a24 call ahead_window 
+24fd 204028ea call fetch_extm_bt_adr 
+24fe 18004803 force 0x03 ,freq_mode 
+24ff 204028cc call rx_radio_freq 
+2500 2040242a call init_rx_packet_flags 
+2501 204029f1 call prep_crypt 
+2502 44a8400a bpatch patch0a_0 ,mem_patch0a 
+2503 6801003e fetch 2 ,mem_rx_window 
+2504 1fe37e00 rshift pdata ,pdata 
+2505 20402a24 call ahead_window 
+2506 204029eb call start_receiver 
+2507 7826fc00 enable decode_fec0 
+2508 6801003e fetch 2 ,mem_rx_window 
+2509 d84003bb arg param_clke_cal ,temp 
+250a 9840b600 iadd temp ,stop_watch 
+250b 37c18400 correlate null ,timeout 
+250c 1b420400 copy clke ,temp 
+250d 600b009a storet 6 ,mem_sync_clke 
+250e 7846fc00 disable decode_fec0 
+250f 246c0000 nrtn sync 
+2510 dd2003bb arg param_clke_cal ,clke_rt 
+2511 1c225000 copy bt_clk ,clke_bt 
+2512 2035ab05 branch lpm_adjust_clk ,wake 
+2513 20600000 rtn 
+
+slave_conn_recv_packet:
+2514 44a8c00a bpatch patch0a_1 ,mem_patch0a 
+2515 204024f0 call slave_receive_master_slot 
+2516 242c28f9 nbranch shutdown_radio ,sync 
+2517 204029bb call save_rssi 
+2518 c588a51c bmark0 mark_testmode ,receive_packet 
+2519 680100f6 fetch 2 ,mem_tst_pktcnt_sync 
+251a 1fe0fe01 increase 1 ,pdata 
+251b 600100f6 store 2 ,mem_tst_pktcnt_sync 
+
+receive_packet:
+251c 1c230400 rshift bt_clk ,temp 
+251d 18419c40 or temp ,0x40 ,white_init 
+
+receive_packet_whitened:
+251e 44a9400a bpatch patch0a_2 ,mem_patch0a 
+251f 7823fc00 enable enable_white 
+2520 78257c00 enable enable_hec 
+2521 7825fc00 enable decode_fec1 
+2522 09800003 parse demod ,bucket ,3 
+2523 198cfe00 rshift8 pwindow ,pdata 
+2524 6000815d store 1 ,mem_temp_am_addr 
+2525 09800004 parse demod ,bucket ,4 
+2526 08008007 inject bucket ,7 
+2527 19827e00 copy pwindow ,pdata 
+2528 60008019 store 1 ,mem_rx_type 
+2529 09800003 parse demod ,bucket ,3 
+252a 198cfe00 rshift8 pwindow ,pdata 
+252b 6000815e store 1 ,mem_temp_arq 
+252c 68008019 fetch 1 ,mem_rx_type 
+252d 1fe67c03 sub pdata ,3 ,null 
+252e 20212533 branch receive_packet_noedr ,positive 
+252f c003a533 beq 7 ,receive_packet_noedr 
+2530 6800804c fetch 1 ,mem_state_map 
+2531 2feffe05 isolate1 smap_edr ,pdata 
+2532 7920aa01 setflag true ,psk ,radio_ctrl 
+
+receive_packet_noedr:
+2533 44a9c00a bpatch patch0a_3 ,mem_patch0a 
+2534 09800008 parse demod ,bucket ,8 
+2535 7845fc00 disable decode_fec1 
+2536 78457c00 disable enable_hec 
+2537 20232631 branch error_header ,crc_failed 
+2538 c588a53c bmark0 mark_testmode ,receive_packet_amchk 
+2539 680100f8 fetch 2 ,mem_tst_pktcnt_hec 
+253a 1fe0fe01 increase 1 ,pdata 
+253b 600100f8 store 2 ,mem_tst_pktcnt_hec 
+
+receive_packet_amchk:
+253c 44aa400a bpatch patch0a_4 ,mem_patch0a 
+253d 6800815d fetch 1 ,mem_temp_am_addr 
+253e 2fe00e00 compare 0 ,pdata ,0x07 
+253f 7920800a setflag true ,mark_am_addr_broadcast ,mark 
+2540 2020a54c branch am_addr_ok ,true 
+2541 a8800e00 icompare 0x07 ,am_addr 
+2542 2020a54b branch am_addr_match ,true 
+2543 c583a64d bmark0 mark_esco ,end_of_packet 
+2544 680880b0 fetcht 1 ,mem_saved_amaddr 
+2545 a8400e00 icompare 0x7 ,temp 
+2546 2420a64d nbranch end_of_packet ,true 
+2547 68008047 fetch 1 ,mem_arq 
+2548 793ffe05 set0 arqnx ,pdata 
+2549 79207e04 set1 flowx ,pdata 
+254a 60008047 store 1 ,mem_arq 
+
+am_addr_match:
+254b 7836fc00 enable match 
+
+am_addr_ok:
+254c 44aac00a bpatch patch0a_5 ,mem_patch0a 
+254d 68008019 fetch 1 ,mem_rx_type 
+254e 1fe20200 icopy type 
+254f c505255b bmark1 mark_am_addr_broadcast ,arqn_bypass 
+2550 6808815e fetcht 1 ,mem_temp_arq 
+2551 68008047 fetch 1 ,mem_arq 
+2552 793ffe00 set0 flow ,pdata 
+2553 284ffe00 isolate1 flow ,temp 
+2554 7920fe00 setflag true ,flow ,pdata 
+2555 284ffe01 isolate1 arqn ,temp 
+2556 7920fe01 setflag true ,arqn ,pdata 
+2557 60008047 store 1 ,mem_arq 
+2558 284c0001 isolate0 arqn ,temp 
+2559 2020a55b branch arqn_bypass ,true 
+255a 20402687 call clear_got_tx 
+
+arqn_bypass:
+255b 44ab400a bpatch patch0a_6 ,mem_patch0a 
+255c d8400000 arg 0 ,temp 
+255d 20402a1c call reserve_slot 
+255e 18217e0f and type ,0xf ,pdata 
+255f c000a587 beq type_poll ,process_poll 
+2560 c000264d beq type_null ,end_of_packet 
+2561 c0012659 beq type_fhs ,process_fhs 
+2562 6808815e fetcht 1 ,mem_temp_arq 
+2563 68008047 fetch 1 ,mem_arq 
+2564 a8400800 icompare 0x04 ,temp 
+2565 2420a569 nbranch rx_type_dispatch ,true 
+2566 c5852568 bmark0 mark_am_addr_broadcast ,failed_seqn 
+2567 c303a569 bbit0 bcast1 ,rx_type_dispatch 
+
+failed_seqn:
+2568 7920000f set1 mark_old_packet ,mark 
+
+rx_type_dispatch:
+2569 44abc00a bpatch patch0a_7 ,mem_patch0a 
+256a 18227e00 deposit type 
+256b c001a589 beq type_dm1 ,process_dm1 
+256c c002258d beq type_dh1 ,process_dh1 
+256d c003a578 beq type_hv3 ,process_hev 
+256e c004258c beq type_3dh1 ,process_3dh1 
+256f d8400004 arg 4 ,temp 
+2570 20402a1c call reserve_slot 
+2571 c0052588 beq type_dm3 ,process_dm3 
+2572 c005a58b beq type_dh3 ,process_dh3 
+2573 d8400008 arg 8 ,temp 
+2574 20402a1c call reserve_slot 
+2575 c0072588 beq type_dm5 ,process_dm5 
+2576 c007a58b beq type_dh5 ,process_dh5 
+2577 20600000 rtn 
+
+process_hev:
+2578 44ac400b bpatch patch0b_0 ,mem_patch0b 
+2579 7826fc00 enable decode_fec0 
+257a 7824fc00 enable enable_crc 
+257b 78277c00 enable encrypt 
+257c d8a000d1 arg mem_sco_ibuf ,contw 
+257d 1800721e force 30 ,loopcnt 
+
+process_hev_loop:
+257e 09800008 parse demod ,bucket ,8 
+257f 19897e00 rshift3 pwindow ,pdata 
+2580 e0a08000 istore 1 ,contw 
+2581 c200257e loop process_hev_loop 
+2582 c583a64d bmark0 mark_esco ,end_of_packet 
+2583 09800010 parse demod ,bucket ,16 
+2584 7d230008 nsetflag crc_failed ,mark_esco_rxok ,mark 
+2585 2023263d branch error_payload ,crc_failed 
+2586 20202620 branch ack_payload 
+
+process_poll:
+2587 2020264d branch end_of_packet 
+
+process_dm3:
+
+process_dm5:
+2588 79200010 set1 mark_longpacket ,mark 
+
+process_dm1:
+2589 78267c00 enable decode_fec2 
+258a 2020258e branch process_dmh 
+
+process_dh3:
+
+process_dh5:
+258b 79200010 set1 mark_longpacket ,mark 
+
+process_3dh1:
+258c 79202a02 set1 psk3m ,radio_ctrl 
+
+process_dh1:
+258d 7826fc00 enable decode_fec0 
+
+process_dmh:
+258e 44acc00b bpatch patch0b_1 ,mem_patch0b 
+258f c500a64d bmark1 mark_rxbuf_inuse ,end_of_packet 
+2590 2aac0001 isolate0 psk ,radio_ctrl 
+2591 2020a59a branch process_dmh_noedr ,true 
+2592 7843fc00 disable enable_white 
+2593 7826fc00 enable decode_fec0 
+2594 78467c00 disable decode_fec2 
+2595 1c409602 add clkn_bt ,2 ,timeup 
+2596 34530400 correlate clkn_bt ,meet 
+2597 242c263d nbranch error_payload ,sync 
+2598 79200010 set1 mark_longpacket ,mark 
+2599 7823fc00 enable enable_white 
+
+process_dmh_noedr:
+259a 44ad400b bpatch patch0b_2 ,mem_patch0b 
+259b 78277c00 enable encrypt 
+259c 7824fc00 enable enable_crc 
+259d 09800003 parse demod ,bucket ,3 
+259e 198cfe00 rshift8 pwindow ,pdata 
+259f 60008180 store 1 ,mem_lch_code 
+25a0 09800005 parse demod ,bucket ,5 
+25a1 c50825a5 bmark1 mark_longpacket ,process_dmh_long 
+25a2 19897200 rshift3 pwindow ,loopcnt 
+25a3 1f297200 rshift3 loopcnt ,loopcnt 
+25a4 202025a8 branch process_dmh_common 
+
+process_dmh_long:
+25a5 09800005 parse demod ,bucket ,5 
+25a6 19837200 rshift pwindow ,loopcnt 
+25a7 09800003 parse demod ,bucket ,3 
+
+process_dmh_common:
+25a8 44adc00b bpatch patch0b_3 ,mem_patch0b 
+25a9 1f227e00 deposit loopcnt 
+25aa 6001015f store 2 ,mem_len 
+25ab 203a25e8 branch process_dmh_data_end ,blank 
+25ac 9ea67c00 isub mask3ff ,null 
+25ad 2021263d branch error_payload ,positive 
+25ae 44ae400b bpatch patch0b_4 ,mem_patch0b 
+25af 793f8000 set0 mark_fhs_eir ,mark 
+25b0 68008180 fetch 1 ,mem_lch_code 
+25b1 1fe17e03 and_into 0x03 ,pdata 
+25b2 d8a00551 arg mem_rxbuf ,contw 
+25b3 c001a5ba beq llid_lmp ,process_lmp 
+25b4 c508a5e4 bmark1 mark_testmode ,process_dmh_data 
+25b5 68008180 fetch 1 ,mem_lch_code 
+25b6 1fe17e03 and_into 0x03 ,pdata 
+25b7 c00125bf beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+25b8 c000a5d3 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+25b9 2020263d branch error_payload 
+
+process_lmp:
+25ba 6801015f fetch 2 ,mem_len 
+25bb 1fe67c70 sub pdata ,0x70 ,null 
+25bc 2421263d nbranch error_payload ,positive 
+25bd c507a620 bmark1 mark_old_packet ,ack_payload 
+25be 202025e4 branch process_dmh_data 
+
+process_dmh_data_l2cap_start_pkt:
+25bf 44aec00b bpatch patch0b_5 ,mem_patch0b 
+25c0 c507a620 bmark1 mark_old_packet ,ack_payload 
+25c1 6801015f fetch 2 ,mem_len 
+25c2 d84002e0 arg 0x2e0 ,temp 
+25c3 98467c00 isub temp ,null 
+25c4 2021263d branch error_payload ,positive 
+25c5 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+25c6 c30025c9 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+25c7 c300a5ce bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+25c8 2020264d branch end_of_packet 
+
+process_dmh_data_into_buff1:
+25c9 70026101 jam 1 ,mem_l2cap_rxbuff_new 
+25ca 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+25cb c080264d bne 0 ,end_of_packet 
+25cc d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+25cd 202025e4 branch process_dmh_data 
+
+process_dmh_data_into_buff2:
+25ce 70026102 jam 2 ,mem_l2cap_rxbuff_new 
+25cf 6801025f fetch 2 ,mem_l2cap_rxbuff2_len 
+25d0 c080264d bne 0 ,end_of_packet 
+25d1 d8a01400 arg mem_l2cap_rxbuff2 ,contw 
+25d2 202025e4 branch process_dmh_data 
+
+process_dmh_data_l2cap_continue_pkt:
+25d3 44af400b bpatch patch0b_6 ,mem_patch0b 
+25d4 c507a620 bmark1 mark_old_packet ,ack_payload 
+25d5 6801015f fetch 2 ,mem_len 
+25d6 d84002e0 arg 0x2e0 ,temp 
+25d7 98467c00 isub temp ,null 
+25d8 2021263d branch error_payload ,positive 
+25d9 68008261 fetch 1 ,mem_l2cap_rxbuff_new 
+25da c000a5dd beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+25db c00125e1 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+25dc 2020264d branch end_of_packet 
+
+process_dmh_data_l2cap_continue_pkt1:
+25dd d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+25de 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+25df 98a08a00 iadd contw ,contw 
+25e0 202025e4 branch process_dmh_data 
+
+process_dmh_data_l2cap_continue_pkt2:
+25e1 d8a01400 arg mem_l2cap_rxbuff2 ,contw 
+25e2 6801025f fetch 2 ,mem_l2cap_rxbuff2_len 
+25e3 98a08a00 iadd contw ,contw 
+
+process_dmh_data:
+25e4 09800008 parse demod ,bucket ,8 
+25e5 19897e00 rshift3 pwindow ,pdata 
+25e6 e0a08000 istore 1 ,contw 
+25e7 c20025e4 loop process_dmh_data 
+
+process_dmh_data_end:
+25e8 44afc00b bpatch patch0b_7 ,mem_patch0b 
+25e9 09800010 parse demod ,bucket ,16 
+25ea 20232637 branch error_payload_crc ,crc_failed 
+25eb 6800c363 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+25ec c000a64d beq l2cap_flow_ctrl_enable ,end_of_packet 
+25ed c508a60d bmark1 mark_testmode ,process_dmh_cont 
+25ee c507a64a bmark1 mark_old_packet ,redundant_payload 
+25ef 68008180 fetch 1 ,mem_lch_code 
+25f0 2fe00603 compare 3 ,pdata ,3 
+25f1 2020a60d branch process_dmh_cont ,true 
+25f2 6801015f fetch 2 ,mem_len 
+25f3 203a260d branch process_dmh_cont ,blank 
+25f4 44b0400c bpatch patch0c_0 ,mem_patch0c 
+25f5 68008261 fetch 1 ,mem_l2cap_rxbuff_new 
+25f6 c000a5f9 beq 1 ,process_l2cap_pass_crc_buff1 
+25f7 c0012603 beq 2 ,process_l2cap_pass_crc_buff2 
+25f8 20202a8c branch assert 
+
+process_l2cap_pass_crc_buff1:
+25f9 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+25fa 6809015f fetcht 2 ,mem_len 
+25fb 9840fe00 iadd temp ,pdata 
+25fc 6001025d store 2 ,mem_l2cap_rxbuff1_len 
+25fd c0002a8c beq 0 ,assert 
+25fe 68091000 fetcht 2 ,mem_l2cap_rxbuff1 
+25ff 18408404 increase 4 ,temp 
+2600 98467c00 isub temp ,null 
+2601 2042a747 call l2cap_buff1_inuse ,zero 
+2602 2020260d branch process_dmh_cont 
+
+process_l2cap_pass_crc_buff2:
+2603 6801025f fetch 2 ,mem_l2cap_rxbuff2_len 
+2604 6809015f fetcht 2 ,mem_len 
+2605 9840fe00 iadd temp ,pdata 
+2606 6001025f store 2 ,mem_l2cap_rxbuff2_len 
+2607 c0002a8c beq 0 ,assert 
+2608 68091400 fetcht 2 ,mem_l2cap_rxbuff2 
+2609 18408404 add temp ,4 ,temp 
+260a 98467c00 isub temp ,null 
+260b 2042a74b call l2cap_buff2_inuse ,zero 
+260c 2020260d branch process_dmh_cont 
+
+process_dmh_cont:
+260d 44b0c00c bpatch patch0c_1 ,mem_patch0c 
+260e 6808804c fetcht 1 ,mem_state_map 
+260f 68008180 fetch 1 ,mem_lch_code 
+2610 2fe00603 compare 3 ,pdata ,0x03 
+2611 79208406 setflag true ,smap_rxlmp ,temp 
+2612 7d208407 nsetflag true ,smap_rxl2cap ,temp 
+2613 6008804c storet 1 ,mem_state_map 
+2614 2420a616 nbranch process_dmh_cont_rxbuf_not_use ,true 
+2615 79200001 set1 mark_rxbuf_inuse ,mark 
+
+process_dmh_cont_rxbuf_not_use:
+2616 c588a620 bmark0 mark_testmode ,ack_payload 
+2617 284ffe06 isolate1 smap_rxlmp ,temp 
+2618 2020a620 branch ack_payload ,true 
+2619 680100fa fetch 2 ,mem_tst_pktcnt_crc 
+261a 1fe0fe01 increase 1 ,pdata 
+261b 600100fa store 2 ,mem_tst_pktcnt_crc 
+261c 79200005 set1 mark_loopback ,mark 
+261d 793f8407 set0 smap_rxl2cap ,temp 
+261e 793f8001 set0 mark_rxbuf_inuse ,mark 
+261f 6008804c storet 1 ,mem_state_map 
+
+ack_payload:
+2620 44b1400c bpatch patch0c_2 ,mem_patch0c 
+2621 6808815e fetcht 1 ,mem_temp_arq 
+2622 68008047 fetch 1 ,mem_arq 
+2623 79207e05 set1 arqnx ,pdata 
+2624 284ffe02 isolate1 seqn ,temp 
+2625 7920fe02 setflag true ,seqn ,pdata 
+2626 280ffe0a isolate1 mark_am_addr_broadcast ,mark 
+2627 7920fe07 setflag true ,bcast1 ,pdata 
+2628 60008047 store 1 ,mem_arq 
+2629 6801015f fetch 2 ,mem_len 
+262a 243a264d nbranch end_of_packet ,blank 
+262b 6800804c fetch 1 ,mem_state_map 
+262c 793ffe07 set0 smap_rxl2cap ,pdata 
+262d 6000804c store 1 ,mem_state_map 
+262e 68008180 fetch 1 ,mem_lch_code 
+262f 2fe00e01 compare 0x01 ,pdata ,0x07 
+2630 2020264d branch end_of_packet 
+
+error_header:
+2631 44b1c00c bpatch patch0c_3 ,mem_patch0c 
+2632 7856fc00 disable match 
+2633 6801001a fetch 2 ,mem_rx_hec_err 
+2634 1fe0fe01 increase 1 ,pdata 
+2635 6001001a store 2 ,mem_rx_hec_err 
+2636 2020264d branch end_of_packet 
+
+error_payload_crc:
+2637 6801001c fetch 2 ,mem_rx_crc_err 
+2638 1fe0fe01 increase 1 ,pdata 
+2639 6001001c store 2 ,mem_rx_crc_err 
+263a 2040263e call discard_pkt 
+263b c588a63d bmark0 mark_testmode ,error_payload 
+263c 79200005 set1 mark_loopback ,mark 
+
+error_payload:
+263d 2020264d branch end_of_packet 
+
+discard_pkt:
+263e 44b2400c bpatch patch0c_4 ,mem_patch0c 
+263f 68008180 fetch 1 ,mem_lch_code 
+2640 2fe00603 compare 3 ,pdata ,0x03 
+2641 2420a646 nbranch discard_pkt_l2cap ,true 
+
+discard_pkt_lmp:
+2642 6808804c fetcht 1 ,mem_state_map 
+2643 793f8406 set0 smap_rxlmp ,temp 
+2644 6008804c storet 1 ,mem_state_map 
+2645 20600000 rtn 
+
+discard_pkt_l2cap:
+2646 6808804c fetcht 1 ,mem_state_map 
+2647 793f8407 set0 smap_rxl2cap ,temp 
+2648 6008804c storet 1 ,mem_state_map 
+2649 20204c0b branch h4_send_acl_trigger_clear 
+
+redundant_payload:
+264a 68008047 fetch 1 ,mem_arq 
+264b 79207e05 set1 arqnx ,pdata 
+264c 60008047 store 1 ,mem_arq 
+
+end_of_packet:
+264d 44b2c00c bpatch patch0c_5 ,mem_patch0c 
+264e 784efc00 disable encode_fec0 
+264f 784e7c00 disable encode_fec2 
+2650 7846fc00 disable decode_fec0 
+2651 78467c00 disable decode_fec2 
+2652 7844fc00 disable enable_crc 
+2653 78477c00 disable encrypt 
+2654 7843fc00 disable enable_white 
+2655 2030a8f9 branch shutdown_radio ,is_rx 
+2656 37d38200 until null ,tx_clear 
+2657 20000064 nop 100 
+2658 202028f9 branch shutdown_radio 
+
+process_fhs:
+2659 44b3400c bpatch patch0c_6 ,mem_patch0c 
+265a 7824fc00 enable enable_crc 
+265b 78267c00 enable decode_fec2 
+265c 09800048 parse demod ,bucket ,72 
+265d 2feffe3a isolate1 58 ,pdata 
+265e 79208000 setflag true ,mark_fhs_eir ,mark 
+265f 1c020400 copy bt_adr ,temp 
+2660 57e04000 ialigned bt_adr 
+2661 57e03c00 ialigned fhs0 
+2662 782afc00 pulse recalc 
+2663 380bffff setsect 2 ,0xfffff 
+2664 380cffff setsect 3 ,0x0ffff 
+2665 20000020 nop 32 
+2666 29a80000 iverify fhs_parity 
+2667 1d827e00 deposit lap 
+2668 60018178 store 3 ,extm_lap 
+2669 1da27e00 deposit uap 
+266a 6000817b store 1 ,extm_uap 
+266b 18424000 copy temp ,bt_adr 
+266c 2020a66e branch fhs_parity_ok ,true 
+266d 2020263d branch error_payload 
+
+fhs_parity_ok:
+266e 44b3c00c bpatch patch0c_7 ,mem_patch0c 
+266f 09800048 parse demod ,bucket ,72 
+2670 57e03e00 ialigned fhs1 
+2671 57e00800 ialigned am_addr 
+2672 57e05c00 ialigned nap 
+2673 57e02400 ialigned regb 
+2674 18007e00 force 0 ,pdata 
+2675 09800010 parse demod ,bucket ,16 
+2676 2023263d branch error_payload ,crc_failed 
+2677 5ffffffc setarg 0x0ffffffc 
+2678 9a417e00 iand regb ,pdata 
+2679 60020165 store 4 ,mem_clke_bt 
+267a 1ba27e00 deposit fhs_class 
+267b 60018175 store 3 ,extm_class 
+267c 1b827e00 deposit fhs_misc 
+267d 60008173 store 1 ,extm_fhs_misc 
+267e 18827e00 deposit am_addr 
+267f 60008174 store 1 ,extm_newconn_am_addr 
+2680 1dc27e00 deposit nap 
+2681 6001017c store 2 ,extm_nap 
+2682 1c227e00 deposit bt_clk 
+2683 08008220 inject rxf ,32 
+2684 28201e02 compare type_fhs ,type ,0x0f 
+2685 7920800b setflag true ,mark_fhs_already_good ,mark 
+2686 2020264d branch end_of_packet 
+
+clear_got_tx:
+2687 44b4400d bpatch patch0d_0 ,mem_patch0d 
+2688 68008047 fetch 1 ,mem_arq 
+2689 c4018000 rtnbit0 wack 
+268a 793ffe03 set0 wack ,pdata 
+268b 79407e06 setflip seqnx ,pdata 
+268c 60008047 store 1 ,mem_arq 
+268d 6800c0c5 fetch 1 ,mem_last_type 
+268e c009a69c beq type_lmp ,clear_got_txlmp 
+268f c1038000 rtneq type_hv3 
+2690 6800804b fetch 1 ,mem_op 
+2691 c4030000 rtnbit0 op_txl2cap ,pdata 
+2692 793ffe06 set0 op_txl2cap ,pdata 
+2693 79207e07 set1 op_pkt_comp ,pdata 
+2694 6000804b store 1 ,mem_op 
+2695 793f8002 set0 mark_tx_l2cap ,mark 
+2696 68014246 fetch 2 ,mem_l2cap_tx_multi_offset 
+2697 247a0000 nrtn blank 
+2698 6800804b fetch 1 ,mem_op 
+2699 793ffe07 set0 op_pkt_comp ,pdata 
+269a 6000804b store 1 ,mem_op 
+269b 2020525d branch l2cap_malloc_free 
+
+clear_got_txlmp:
+269c 44b4c00d bpatch patch0d_1 ,mem_patch0d 
+269d 680084b7 fetch 1 ,mem_lmo_header_opcode 
+269e 1fe37e00 rshift pdata ,pdata 
+269f c008a6b8 beq lmp_start_encryption_req ,start_encryption 
+26a0 c00926c0 beq lmp_stop_encryption_req ,stop_encryption 
+26a1 c00c26e9 beq lmp_unsniff_req ,sniff_exit 
+26a2 c03fa6a8 beq lmp_escape ,clear_lmp_escape 
+26a3 c1818000 rtnne lmp_accepted 
+26a4 680084b8 fetch 1 ,mem_lmo_payload 
+26a5 c015a6b0 beq lmp_sco_link_req ,sco_link_req_by_slave 
+26a6 c008a6ab beq lmp_start_encryption_req ,clear_send_setup_complete 
+26a7 20600000 rtn 
+
+clear_lmp_escape:
+26a8 680084b8 fetch 1 ,mem_lmo_payload 
+26a9 79207e07 set1 7 ,pdata 
+26aa 20600000 rtn 
+
+clear_send_setup_complete:
+26ab 20748000 rtn master 
+26ac 68008030 fetch 1 ,mem_state 
+26ad c3820000 rtnbit1 state_conn_comp 
+26ae 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+26af 20600000 rtn 
+
+sco_link_req_by_slave:
+26b0 20748000 rtn master 
+26b1 68008031 fetch 1 ,mem_mode 
+26b2 2feffe04 isolate1 send_sco_when_slave ,pdata 
+26b3 2020a6b5 branch clean_mem_mode ,true 
+26b4 20600000 rtn 
+
+clean_mem_mode:
+26b5 793ffe04 set0 send_sco_when_slave ,pdata 
+26b6 60008031 store 1 ,mem_mode 
+26b7 20600000 rtn 
+
+start_encryption:
+26b8 44b5400d bpatch patch0d_2 ,mem_patch0d 
+26b9 6800804c fetch 1 ,mem_state_map 
+26ba 79207e02 set1 smap_encryption ,pdata 
+26bb 6000804c store 1 ,mem_state_map 
+26bc 70801101 hjam 1 ,core_encrypt 
+26bd 68008030 fetch 1 ,mem_state 
+26be 2feffe04 isolate1 state_conn_comp ,pdata 
+26bf 20600000 rtn 
+
+stop_encryption:
+26c0 44b5c00d bpatch patch0d_3 ,mem_patch0d 
+26c1 6800804c fetch 1 ,mem_state_map 
+26c2 793ffe02 set0 smap_encryption ,pdata 
+26c3 6000804c store 1 ,mem_state_map 
+26c4 70801100 hjam 0 ,core_encrypt 
+26c5 20600000 rtn 
+
+sniff_init:
+26c6 44b6400d bpatch patch0d_4 ,mem_patch0d 
+26c7 1c427e00 copy clkn_bt ,pdata 
+26c8 6002420c store 4 ,mem_lpm_delay_after_sniff 
+26c9 1c40a203 add clkn_bt ,3 ,rega 
+26ca 2034a6cc branch sniff_init_master ,master 
+26cb 1d00a203 add clke_bt ,3 ,rega 
+
+sniff_init_master:
+26cc 68090032 fetcht 2 ,mem_tsniff 
+26cd 1a227e00 deposit rega 
+26ce 793ffe1b set0 27 ,pdata 
+26cf 9846fc00 idiv temp 
+26d0 68010075 fetch 2 ,mem_dsniff 
+26d1 20407f86 call wait_div_end 
+26d2 18072600 remainder regc 
+26d3 9a667e00 isub regc ,pdata 
+26d4 202126d6 branch sniff_init_nowrap ,positive 
+26d5 9840fe00 iadd temp ,pdata 
+
+sniff_init_nowrap:
+26d6 9a20fe00 iadd rega ,pdata 
+26d7 60020034 store 4 ,mem_sniff_anchor 
+26d8 70455b00 jam switch_flag_init ,mem_switch_flag 
+26d9 68008030 fetch 1 ,mem_state 
+26da 79207e01 set1 state_insniff ,pdata 
+26db 60008030 store 1 ,mem_state 
+26dc 68008073 fetch 1 ,mem_sniff_attempt 
+26dd 6000808a store 1 ,mem_current_sniff_attempt 
+26de 58000000 setarg 0 
+26df 6001c169 store 3 ,mem_sniff_rcv 
+26e0 6001c16c store 3 ,mem_sniff_lost 
+26e1 6000c159 store 1 ,mem_sniff_unint_lost 
+26e2 700a990b jam bt_evt_enter_sniff ,mem_fifo_temp 
+26e3 20407d86 call ui_ipc_send_event 
+26e4 680140c1 fetch 2 ,mem_rx_window_sniff 
+26e5 6001003e store 2 ,mem_rx_window 
+26e6 24748000 nrtn master 
+26e7 18808fff add am_addr ,-1 ,queue 
+26e8 20600000 rtn 
+
+sniff_exit:
+26e9 44b6c00d bpatch patch0d_5 ,mem_patch0d 
+26ea 68008030 fetch 1 ,mem_state 
+26eb c4008000 rtnbit0 state_insniff 
+26ec 793ffe01 set0 state_insniff ,pdata 
+26ed 60008030 store 1 ,mem_state 
+26ee 680140bf fetch 2 ,mem_rx_window_init 
+26ef 6001003e store 2 ,mem_rx_window 
+26f0 7855fc00 disable wake 
+26f1 700a990c jam bt_evt_exit_sniff ,mem_fifo_temp 
+26f2 20207d86 branch ui_ipc_send_event 
+
+check_attempt:
+26f3 44b7400d bpatch patch0d_6 ,mem_patch0d 
+26f4 78377c00 enable attempt 
+26f5 68008030 fetch 1 ,mem_state 
+26f6 c280a700 bbit1 state_insniff ,check_attempt_sniff 
+26f7 c6088000 rtnmark1 mark_testmode 
+26f8 68008047 fetch 1 ,mem_arq 
+26f9 c3818000 rtnbit1 wack 
+26fa 68008048 fetch 1 ,mem_lmp_to_send 
+26fb 247a0000 nrtn blank 
+26fc 6800804b fetch 1 ,mem_op 
+26fd c3830000 rtnbit1 op_txl2cap 
+
+check_attempt_nomore:
+26fe 18007e00 force 0 ,pdata 
+26ff 20600000 rtn 
+
+check_attempt_sniff:
+2700 c301270f bbit0 state_insco ,check_attempt_not_sco 
+2701 6800808a fetch 1 ,mem_current_sniff_attempt 
+2702 c0012706 beq 2 ,check_attempt_sniff_restore_sco 
+2703 68008047 fetch 1 ,mem_arq 
+2704 c281a718 bbit1 wack ,check_attempt_notimeout 
+2705 c5842718 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+
+check_attempt_sniff_restore_sco:
+2706 2434a718 nbranch check_attempt_notimeout ,master 
+2707 68008048 fetch 1 ,mem_lmp_to_send 
+2708 243a2718 nbranch check_attempt_notimeout ,blank 
+
+check_attempt_sco_master:
+2709 680080ef fetch 1 ,mem_sco_poll 
+270a 1fe0ffff increase -1 ,pdata 
+270b 600080ef store 1 ,mem_sco_poll 
+270c 243a26fe nbranch check_attempt_nomore ,blank 
+270d 7000ef10 jam param_sco_poll ,mem_sco_poll 
+270e 20202718 branch check_attempt_notimeout 
+
+check_attempt_not_sco:
+270f 6800808a fetch 1 ,mem_current_sniff_attempt 
+2710 c080a718 bne 1 ,check_attempt_notimeout 
+2711 6800808b fetch 1 ,mem_current_sniff_timeout 
+2712 203a2718 branch check_attempt_notimeout ,blank 
+2713 1fe0ffff increase -1 ,pdata 
+2714 6000808b store 1 ,mem_current_sniff_timeout 
+2715 68008047 fetch 1 ,mem_arq 
+2716 c3818000 rtnbit1 wack 
+2717 24768000 nrtn match 
+
+check_attempt_notimeout:
+2718 6800808a fetch 1 ,mem_current_sniff_attempt 
+2719 1fe0ffff increase -1 ,pdata 
+271a 6000808a store 1 ,mem_current_sniff_attempt 
+271b 20600000 rtn 
+
+sniff_check_window:
+271c 44b7c00d bpatch patch0d_7 ,mem_patch0d 
+271d 78487c00 disable swfine 
+271e 18423600 copy temp ,stop_watch 
+271f 20402260 call context_search_sniff_window 
+2720 78547c00 disable user 
+2721 24628000 nrtn zero 
+2722 18003600 force 0 ,stop_watch 
+2723 78347c00 enable user 
+2724 20600000 rtn 
+
+check_esco_amaddr:
+2725 6800c158 fetch 1 ,mem_esco_addr 
+2726 a881fe00 icompare 0xff ,am_addr 
+2727 20600000 rtn 
+
+parse_l2cap:
+2728 44b8400e bpatch patch0e_0 ,mem_patch0e 
+2729 793f8001 set0 mark_rxbuf_inuse ,mark 
+
+parse_l2cap_cont:
+272a 70026a00 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+272b 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+272c 207a0000 rtn blank 
+272d 2feffe00 isolate1 l2cap_inuse_buff1 ,pdata 
+272e d8c01000 arg mem_l2cap_rxbuff1 ,contr 
+272f 2040cd79 call process_rx_l2cap_pkt ,true 
+2730 44b8c00e bpatch patch0e_1 ,mem_patch0e 
+2731 6800826a fetch 1 ,mem_l2cap_rx_done 
+2732 c000a73b beq l2cap_rx_done ,parse_l2cap_release_buff1 
+2733 70026a00 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+2734 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+2735 c4008000 rtnbit0 l2cap_inuse_buff2 
+2736 d8c01400 arg mem_l2cap_rxbuff2 ,contr 
+2737 20404d79 call process_rx_l2cap_pkt 
+2738 6800826a fetch 1 ,mem_l2cap_rx_done 
+2739 c000a741 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+273a 20600000 rtn 
+
+parse_l2cap_release_buff1:
+273b 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+273c 793ffe00 set0 l2cap_inuse_buff1 ,pdata 
+273d 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+273e 58000000 setarg 0 
+273f 6001025d store 2 ,mem_l2cap_rxbuff1_len 
+2740 20600000 rtn 
+
+parse_l2cap_release_buff2:
+2741 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+2742 793ffe01 set0 l2cap_inuse_buff2 ,pdata 
+2743 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+2744 58000000 setarg 0 
+2745 6001025f store 2 ,mem_l2cap_rxbuff2_len 
+2746 20600000 rtn 
+
+l2cap_buff1_inuse:
+2747 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+2748 79207e00 set1 l2cap_inuse_buff1 ,pdata 
+2749 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+274a 20600000 rtn 
+
+l2cap_buff2_inuse:
+274b 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+274c 79207e01 set1 l2cap_inuse_buff2 ,pdata 
+274d 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+274e 20600000 rtn 
+
+slave_send_access:
+274f 44b9400e bpatch patch0e_2 ,mem_patch0e 
+2750 1d00c201 add clke_bt ,1 ,bt_clk 
+2751 204028ea call fetch_extm_bt_adr 
+2752 18004803 force 0x03 ,freq_mode 
+2753 204028d2 call tx_radio_freq 
+2754 20402a51 call start_transmitter 
+2755 20402a5f call start_tx_external 
+2756 20202a64 branch send_access_word 
+
+slave_conn_send_packet:
+2757 44b9c00e bpatch patch0e_3 ,mem_patch0e 
+2758 20402a4d call rf_setup_time_slave_slot 
+2759 1d027e00 deposit clke_bt 
+275a 680a40ca fetcht 4 ,mem_next_btclk 
+275b 98467e00 isub temp ,pdata 
+275c c1808000 rtnne 1 
+275d 28203e00 compare type_null ,type ,0x1f 
+275e 2420a761 nbranch slave_conn_send_access ,true 
+275f 68008019 fetch 1 ,mem_rx_type 
+2760 207a0000 rtn blank 
+
+slave_conn_send_access:
+2761 2040274f call slave_send_access 
+
+transmit_packet:
+2762 28203e10 compare type_id ,type ,0x1f 
+2763 2020a64d branch end_of_packet ,true 
+2764 1c230400 rshift bt_clk ,temp 
+2765 18419c40 or temp ,0x40 ,white_init 
+
+transmit_packet_whitened:
+2766 44ba400e bpatch patch0e_4 ,mem_patch0e 
+2767 7823fc00 enable enable_white 
+2768 78257c00 enable enable_hec 
+2769 782dfc00 enable encode_fec1 
+276a 793f8010 set0 mark_longpacket ,mark 
+276b 18827e00 deposit am_addr 
+276c 08008603 inject mod ,3 
+276d 18227e00 deposit type 
+276e 08008604 inject mod ,4 
+276f 68008047 fetch 1 ,mem_arq 
+2770 08008004 inject bucket ,4 
+2771 08008603 inject mod ,3 
+2772 78247c00 enable enable_parity 
+2773 08008608 inject mod ,8 
+2774 784dfc00 disable encode_fec1 
+2775 78447c00 disable enable_parity 
+2776 78457c00 disable enable_hec 
+2777 793faa02 set0 psk3m ,radio_ctrl 
+2778 d8400000 arg 0 ,temp 
+2779 20402a1c call reserve_slot 
+277a 44bac00e bpatch patch0e_5 ,mem_patch0e 
+277b 18217e1f and type ,0x1f ,pdata 
+277c c009a7b4 beq type_lmp ,transmit_lmp 
+277d c000264d beq type_null ,end_of_packet 
+277e c000a64d beq type_poll ,end_of_packet 
+277f c0012797 beq type_fhs ,transmit_fhs 
+2780 c001a7c5 beq type_dm1 ,transmit_dm1 
+2781 c00227cb beq type_dh1 ,transmit_dh1 
+2782 c003a78c beq type_hv3 ,transmit_hev 
+2783 c00427ca beq type_3dh1 ,transmit_3dh1 
+2784 d8400004 arg 4 ,temp 
+2785 20402a1c call reserve_slot 
+2786 c00527c7 beq type_dm3 ,transmit_dm3 
+2787 c005a7cd beq type_dh3 ,transmit_dh3 
+2788 d8400008 arg 8 ,temp 
+2789 20402a1c call reserve_slot 
+278a c007a7cd beq type_dh5 ,transmit_dh5 
+278b 202027c7 branch transmit_dm5 
+
+transmit_hev:
+278c 44bb400e bpatch patch0e_6 ,mem_patch0e 
+278d 782efc00 enable encode_fec0 
+278e 7824fc00 enable enable_crc 
+278f 78277c00 enable encrypt 
+2790 1800721e force 30 ,loopcnt 
+2791 d8c000b3 arg mem_sco_obuf ,contr 
+
+transmit_ev_loop:
+2792 e8c08000 ifetch 1 ,contr 
+2793 08008608 inject mod ,8 
+2794 c2002792 loop transmit_ev_loop 
+2795 c503a7f7 bmark1 mark_esco ,transmit_end 
+2796 2020264d branch end_of_packet 
+
+transmit_fhs:
+2797 44bbc00e bpatch patch0e_7 ,mem_patch0e 
+2798 68008181 fetch 1 ,mem_fhs_am_addr 
+2799 1fe20800 icopy am_addr 
+279a 68008090 fetch 1 ,mem_fhs_misc 
+279b 1fe23800 icopy fhs_misc 
+279c 6801c0aa fetch 3 ,mem_class 
+279d 1fe23a00 icopy fhs_class 
+279e 680140a4 fetch 2 ,mem_nap 
+279f 1fe25c00 icopy nap 
+27a0 7824fc00 enable enable_crc 
+27a1 782e7c00 enable encode_fec2 
+27a2 1c022200 copy bt_adr ,rega 
+27a3 204028e2 call fetch_self_bt_adr 
+27a4 782afc00 pulse recalc 
+27a5 20000020 nop 32 
+27a6 1c221600 copy bt_clk ,timeup 
+27a7 68020161 fetch 4 ,mem_clkn_bt 
+27a8 1fe24200 icopy bt_clk 
+27a9 53c07e00 preload fhs0 
+27aa 79207e3a set1 58 ,pdata 
+27ab 08008648 inject mod ,72 
+27ac 53e07e00 preload fhs1 
+27ad 08008648 inject mod ,72 
+27ae 19624200 copy timeup ,bt_clk 
+27af 1a224000 copy rega ,bt_adr 
+27b0 78247c00 enable enable_parity 
+27b1 08008610 inject mod ,16 
+27b2 78447c00 disable enable_parity 
+27b3 2020264d branch end_of_packet 
+
+transmit_lmp:
+27b4 44bc400f bpatch patch0f_0 ,mem_patch0f 
+27b5 78277c00 enable encrypt 
+27b6 7824fc00 enable enable_crc 
+27b7 782e7c00 enable encode_fec2 
+27b8 680084b6 fetch 1 ,mem_lmo_header_length 
+27b9 1fe105f8 and pdata ,0x1f8 ,temp 
+27ba d8c004b6 arg mem_lmo_header_length ,contr 
+27bb 18408408 increase 8 ,temp 
+
+transmit_lmp_loop:
+27bc 1840a7b8 add temp ,-72 ,regc 
+27bd 242127c2 nbranch transmit_lmp_finish ,positive 
+27be e8c48000 ifetch 9 ,contr 
+27bf 08008648 inject mod ,72 
+27c0 1a620400 copy regc ,temp 
+27c1 202027bc branch transmit_lmp_loop 
+
+transmit_lmp_finish:
+27c2 e8c48000 ifetch 9 ,contr 
+27c3 08418600 iinject mod ,temp 
+27c4 202027f7 branch transmit_end 
+
+transmit_dm1:
+27c5 782e7c00 enable encode_fec2 
+27c6 202027d0 branch transmit_dmh 
+
+transmit_dm3:
+
+transmit_dm5:
+27c7 782e7c00 enable encode_fec2 
+27c8 79200010 set1 mark_longpacket ,mark 
+27c9 202027d0 branch transmit_dmh 
+
+transmit_3dh1:
+27ca 79202a02 set1 psk3m ,radio_ctrl 
+
+transmit_dh1:
+27cb 782efc00 enable encode_fec0 
+27cc 202027d0 branch transmit_dmh 
+
+transmit_dh3:
+
+transmit_dh5:
+27cd 79202a02 set1 psk3m ,radio_ctrl 
+27ce 782efc00 enable encode_fec0 
+27cf 79200010 set1 mark_longpacket ,mark 
+
+transmit_dmh:
+27d0 44bcc00f bpatch patch0f_1 ,mem_patch0f 
+27d1 6800804c fetch 1 ,mem_state_map 
+27d2 c302a7e5 bbit0 smap_edr ,transmit_noedr 
+27d3 18267c03 sub type ,3 ,null 
+27d4 202127e5 branch transmit_noedr ,positive 
+27d5 78477c00 disable encrypt 
+27d6 784e7c00 disable encode_fec2 
+27d7 782efc00 enable encode_fec0 
+27d8 7843fc00 disable enable_white 
+27d9 79202a01 set1 psk ,radio_ctrl 
+27da 2aaffe02 isolate1 psk3m ,radio_ctrl 
+27db 2020a7df branch transmit_edr3m ,true 
+27dc 580abeee setarg 0xabeee 
+27dd 08008614 inject mod ,20 
+27de 202027e3 branch transmit_edr_sync_end 
+
+transmit_edr3m:
+27df 585faeba setarg 0x5faeba 
+27e0 08008618 inject mod ,24 
+27e1 58000012 setarg 0x12 
+27e2 08008606 inject mod ,6 
+
+transmit_edr_sync_end:
+27e3 7823fc00 enable enable_white 
+27e4 79200010 set1 mark_longpacket ,mark 
+
+transmit_noedr:
+27e5 78277c00 enable encrypt 
+27e6 7824fc00 enable enable_crc 
+27e7 c502a800 bmark1 mark_loopback ,transmit_loopback 
+27e8 6800c1db fetch 1 ,mem_tx_lch 
+27e9 08008603 inject mod ,3 
+27ea 680141dc fetch 2 ,mem_tx_len 
+27eb 98007200 iforce loopcnt 
+27ec c50827ef bmark1 mark_longpacket ,transmit_long 
+27ed 08008605 inject mod ,5 
+27ee 202027f0 branch transmit_stuff 
+
+transmit_long:
+27ef 0800860d inject mod ,13 
+
+transmit_stuff:
+27f0 1f227e00 deposit loopcnt 
+27f1 203a27f7 branch transmit_end ,blank 
+27f2 6801016f fetch 2 ,mem_txptr 
+27f3 98000c00 iforce contr 
+
+transmit_stuff_loop:
+27f4 e8c08000 ifetch 1 ,contr 
+27f5 08008608 inject mod ,8 
+27f6 c20027f4 loop transmit_stuff_loop 
+
+transmit_end:
+27f7 78247c00 enable enable_parity 
+27f8 08008610 inject mod ,16 
+27f9 78447c00 disable enable_parity 
+27fa 204024c1 call set_wait_ack 
+27fb 6800804c fetch 1 ,mem_state_map 
+27fc c302a64d bbit0 smap_edr ,end_of_packet 
+27fd 18007e00 force 0 ,pdata 
+27fe 08008606 inject mod ,6 
+27ff 2020264d branch end_of_packet 
+
+transmit_loopback:
+2800 44bd400f bpatch patch0f_2 ,mem_patch0f 
+2801 c5082808 bmark1 mark_longpacket ,transmit_loopback_long 
+
+transmit_loopback_short:
+2802 68008180 fetch 1 ,mem_lch_code 
+2803 08008603 inject mod ,3 
+2804 6800815f fetch 1 ,mem_len 
+2805 98002600 iforce regc 
+2806 08008605 inject mod ,5 
+2807 2020280d branch transmit_loopback_cont 
+
+transmit_loopback_long:
+2808 68008180 fetch 1 ,mem_lch_code 
+2809 08008603 inject mod ,3 
+280a 6801015f fetch 2 ,mem_len 
+280b 98002600 iforce regc 
+280c 0800860d inject mod ,13 
+
+transmit_loopback_cont:
+280d d8c00551 arg mem_rxbuf ,contr 
+
+transmit_loopback_loop:
+280e 1a627c00 copy regc ,null 
+280f 2022a814 branch transmit_loopback_end ,zero 
+2810 e8c08000 ifetch 1 ,contr 
+2811 08008608 inject mod ,8 
+2812 1a60a7ff increase -1 ,regc 
+2813 2020280e branch transmit_loopback_loop 
+
+transmit_loopback_end:
+2814 680100fc fetch 2 ,mem_tst_pktcnt_dmh 
+2815 1fe0fe01 increase 1 ,pdata 
+2816 600100fc store 2 ,mem_tst_pktcnt_dmh 
+2817 202027f7 branch transmit_end 
+
+apply_switch_clke:
+2818 68020165 fetch 4 ,mem_clke_bt 
+2819 1fe0a207 add pdata ,7 ,rega 
+281a 68010171 fetch 2 ,mem_slot_offset 
+281b 243a281e nbranch apply_switch_nozero ,blank 
+281c 1a20a3fd increase -3 ,rega 
+281d 20202826 branch apply_switch_wait_loop 
+
+apply_switch_nozero:
+281e 1feffe0c mul32 pdata ,12 ,pdata 
+281f 68190040 hfetcht 2 ,core_halfslot 
+2820 18408401 increase 1 ,temp 
+
+apply_switch_loop:
+2821 98467e00 isub temp ,pdata 
+2822 24212825 nbranch apply_switch_bt ,positive 
+2823 1a20a3ff increase -1 ,rega 
+2824 20202821 branch apply_switch_loop 
+
+apply_switch_bt:
+2825 1fe67e00 sub pdata ,0 ,pdata 
+
+apply_switch_wait_loop:
+2826 37d18200 until null ,oneslot 
+2827 2c400600 compare 0 ,clkn_bt ,3 
+2828 2420a826 nbranch apply_switch_wait_loop ,true 
+2829 98005200 iforce clke_rt 
+282a 1a225000 copy rega ,clke_bt 
+282b 98005200 iforce clke_rt 
+282c 20600000 rtn 
+
+calc_slot_offset:
+282d 44bdc00f bpatch patch0f_3 ,mem_patch0f 
+282e 37d10200 until null ,halfslot 
+282f 1b427e00 deposit clke 
+2830 98000c00 iforce contr 
+2831 1ff17e00 rshift16 ,pdata ,pdata 
+2832 9c467200 isub clkn_bt ,loopcnt 
+2833 1f217203 and_into 3 ,loopcnt 
+2834 2422a837 nbranch calc_bt_portion ,zero 
+2835 18007e00 force 0 ,pdata 
+2836 2020283b branch calc_skip_bt 
+
+calc_bt_portion:
+2837 d8400ea6 arg 3750 ,temp 
+2838 18007e00 force 0 ,pdata 
+
+calc_slot_offset_loop:
+2839 9840fe00 iadd temp ,pdata 
+283a c2002839 loop calc_slot_offset_loop 
+
+calc_skip_bt:
+283b 98c0fe00 iadd contr ,pdata 
+283c 1fe6fc0c div pdata ,12 
+283d 20407f86 call wait_div_end 
+283e 1807fe00 quotient pdata 
+283f 60010171 store 2 ,mem_slot_offset 
+2840 20600000 rtn 
+
+calc_clke_offset:
+2841 44be400f bpatch patch0f_4 ,mem_patch0f 
+2842 1b427e00 deposit clke 
+2843 1b220400 copy clkn ,temp 
+2844 98467c00 isub temp ,null 
+2845 7d217e2c nsetflag positive ,44 ,pdata 
+2846 98460400 isub temp ,temp 
+2847 58000ea6 setarg 3750 
+2848 284c000f isolate0 15 ,temp 
+2849 2020a84c branch calc_clke_pos ,true 
+284a 5fff0ea6 setarg -61786 
+284b 98408400 iadd temp ,temp 
+
+calc_clke_pos:
+284c 600b0447 storet 6 ,mem_le_clk_offset 
+284d 207b0000 rtn le 
+284e 600b0038 storet 6 ,mem_clk_offset 
+284f 20600000 rtn 
+
+calc_clke:
+2850 78587c00 disable clknt 
+2851 68030447 fetch 6 ,mem_le_clk_offset 
+2852 203b2854 branch calc_clke2 ,le 
+2853 68030038 fetch 6 ,mem_clk_offset 
+
+calc_clke2:
+2854 9b20e000 iadd clkn ,alarm 
+2855 1e00e00a increase 10 ,alarm 
+2856 58000ea6 setarg 3750 
+2857 9e067e00 isub alarm ,pdata 
+2858 2fec000f isolate0 15 ,pdata 
+2859 2020a85e branch calc_clke_pos_adj ,true 
+285a 5800f15a setarg 0xf15a 
+285b 9e00e000 iadd alarm ,alarm 
+
+calc_clke_pos2:
+285c 1e023400 copy alarm ,clke 
+285d 20600000 rtn 
+
+calc_clke_pos_adj:
+285e 18007c00 force 0 ,null 
+285f 2020285c branch calc_clke_pos2 
+
+calc_radio_freq:
+2860 44bec00f bpatch patch0f_5 ,mem_patch0f 
+2861 20402918 call set_sync_on 
+2862 1c227e00 copy bt_clk ,pdata 
+2863 1fe17f80 and_into 0x180 ,pdata 
+2864 2c800e03 compare 3 ,freq_mode ,0x07 
+2865 2420a869 nbranch freq_not_connection ,true 
+2866 1fe97e00 rshift3 pdata ,pdata 
+2867 9ae0fe00 iadd freq_index ,pdata 
+2868 2020286a branch do_hop_mod_now 
+
+freq_not_connection:
+2869 1ae27e00 copy freq_index ,pdata 
+
+do_hop_mod_now:
+286a 1fe6fc4f div pdata ,79 
+286b 782afc00 pulse recalc 
+286c 20407f86 call wait_div_end 
+286d 18072200 remainder rega 
+286e 1a2085d8 add rega ,-40 ,temp 
+286f 20212872 branch odd_half ,positive 
+2870 1a238400 lshift rega ,temp 
+2871 20202874 branch freq_result 
+
+odd_half:
+2872 18438400 lshift temp ,temp 
+2873 18408401 increase 1 ,temp 
+
+freq_result:
+2874 44bf400f bpatch patch0f_6 ,mem_patch0f 
+2875 68008031 fetch 1 ,mem_mode 
+2876 c301a885 bbit0 afh_change ,afh_process_con 
+
+afh_process_0:
+2877 680240d2 fetch 4 ,mem_afh_instant 
+2878 9c267c00 isub bt_clk ,null 
+2879 20212885 branch afh_process_con ,positive 
+287a 204028a4 call afh_clear 
+287b 6800c0d9 fetch 1 ,mem_afh_new_mod 
+287c 207a0000 rtn blank 
+287d 68008031 fetch 1 ,mem_mode 
+287e 79207e02 set1 afh_enable ,pdata 
+287f 60008031 store 1 ,mem_mode 
+2880 6802c0e7 fetch 5 ,mem_afh_map_new 
+2881 6002c0da store 5 ,mem_afh_map_lo 
+2882 e8c28000 ifetch 5 ,contr 
+2883 6002c0df store 5 ,mem_afh_map_hi 
+2884 204028a9 call afh_process_freq_map 
+
+afh_process_con:
+2885 68008031 fetch 1 ,mem_mode 
+2886 c4010000 rtnbit0 afh_enable 
+2887 2c2ffe01 isolate1 1 ,bt_clk 
+2888 2020a8a1 branch afh_same_channel ,true 
+2889 18492200 rshift3 temp ,rega 
+288a 18410e07 and temp ,7 ,queue 
+288b 580040da setarg mem_afh_map_lo 
+288c 9a20a200 iadd rega ,rega 
+288d ea208000 ifetch 1 ,rega 
+288e afec0000 qisolate0 pdata 
+288f 2020a892 branch afh_process_1 ,true 
+2890 18427e00 deposit temp 
+2891 2020289e branch afh_process_end 
+
+afh_process_1:
+2892 6800c0e4 fetch 1 ,mem_afh_used 
+2893 98002400 iforce regb 
+2894 1c227e00 deposit bt_clk 
+2895 1fe17f80 and_into 0x180 ,pdata 
+2896 1fe97e00 rshift3 pdata ,pdata 
+2897 9ae0fe00 iadd freq_index ,pdata 
+2898 9a46fc00 idiv regb 
+2899 580040f2 setarg mem_afh_map 
+289a 20407f86 call wait_div_end 
+289b 18072200 remainder rega 
+289c 9a208c00 iadd rega ,contr 
+289d e8c08000 ifetch 1 ,contr 
+
+afh_process_end:
+289e 6000c0e5 store 1 ,mem_afh_index 
+289f 98000400 iforce temp 
+28a0 20600000 rtn 
+
+afh_same_channel:
+28a1 6800c0e5 fetch 1 ,mem_afh_index 
+28a2 98000400 iforce temp 
+28a3 20600000 rtn 
+
+afh_clear:
+28a4 68008031 fetch 1 ,mem_mode 
+28a5 793ffe02 set0 afh_enable ,pdata 
+28a6 793ffe03 set0 afh_change ,pdata 
+28a7 60008031 store 1 ,mem_mode 
+28a8 20600000 rtn 
+
+afh_process_freq_map:
+28a9 44bfc00f bpatch patch0f_7 ,mem_patch0f 
+28aa d8a040f2 arg mem_afh_map ,contw 
+28ab 1800720a force 10 ,loopcnt 
+28ac 20407ec6 call memset0 
+28ad d8a040f2 arg mem_afh_map ,contw 
+28ae 18002600 force 0 ,regc 
+28af 18000e02 force 2 ,queue 
+
+process_freq_3:
+28b0 6802c0da fetch 5 ,mem_afh_map_lo 
+28b1 98000400 iforce temp 
+28b2 28e1fe02 compare 2 ,queue ,0xff 
+28b3 2020a8b5 branch process_freq_1 ,true 
+28b4 18430400 rshift temp ,temp 
+
+process_freq_1:
+28b5 284c0000 isolate0 0 ,temp 
+28b6 2020a8b9 branch process_freq_0 ,true 
+28b7 1a627e00 deposit regc 
+28b8 e0a08000 istore 1 ,contw 
+
+process_freq_0:
+28b9 184b0400 rshift2 temp ,temp 
+28ba 1a60a602 increase 2 ,regc 
+28bb 2a61fc28 compare 40 ,regc ,0xfe 
+28bc 2420a8c2 nbranch process_freq_2 ,true 
+28bd 6802c0df fetch 5 ,mem_afh_map_hi 
+28be 98000400 iforce temp 
+28bf 28e1fe02 compare 2 ,queue ,0xff 
+28c0 2020a8c2 branch process_freq_2 ,true 
+28c1 18430400 rshift temp ,temp 
+
+process_freq_2:
+28c2 1a667c4e sub regc ,78 ,null 
+28c3 202128b5 branch process_freq_1 ,positive 
+28c4 18002601 force 1 ,regc 
+28c5 18e08fff increase -1 ,queue 
+28c6 2422a8b0 nbranch process_freq_3 ,zero 
+28c7 da2040f2 arg mem_afh_map ,rega 
+28c8 18a27e00 deposit contw 
+28c9 9a267e00 isub rega ,pdata 
+28ca 6000c0e4 store 1 ,mem_afh_used 
+28cb 20600000 rtn 
+
+rx_radio_freq:
+28cc 44c04010 bpatch patch10_0 ,mem_patch10 
+28cd 20402860 call calc_radio_freq 
+28ce 6800817f fetch 1 ,mem_debug_config 
+28cf c302a8d1 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+28d0 680884cc fetcht 1 ,mem_rx_fixed_freq 
+
+rx_radio_freq_now:
+28d1 2020291f branch set_freq_rx 
+
+tx_radio_freq:
+28d2 44c0c010 bpatch patch10_1 ,mem_patch10 
+28d3 20402860 call calc_radio_freq 
+28d4 6800817f fetch 1 ,mem_debug_config 
+28d5 c30228d7 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+28d6 680884cb fetcht 1 ,mem_tx_fixed_freq 
+
+tx_radio_freq_now:
+28d7 20202933 branch set_freq_tx 
+
+fetch_giac:
+28d8 18005a00 force 0 ,uap 
+28d9 6801c0a7 fetch 3 ,mem_glap 
+28da 98005800 iforce lap 
+28db 20600000 rtn 
+
+fetch_page_bt_adr:
+28dc 44c14010 bpatch patch10_2 ,mem_patch10 
+28dd 6800c1d3 fetch 1 ,mem_hci_puap 
+28de 1fe25a00 icopy uap 
+28df 6801c1d0 fetch 3 ,mem_hci_plap 
+28e0 1fe25800 icopy lap 
+28e1 20600000 rtn 
+
+fetch_self_bt_adr:
+28e2 44c1c010 bpatch patch10_3 ,mem_patch10 
+28e3 680140a4 fetch 2 ,mem_nap 
+28e4 1fe25c00 icopy nap 
+28e5 6800c0a3 fetch 1 ,mem_uap 
+28e6 1fe25a00 icopy uap 
+28e7 6801c0a0 fetch 3 ,mem_lap 
+28e8 1fe25800 icopy lap 
+28e9 20600000 rtn 
+
+fetch_extm_bt_adr:
+28ea 44c24010 bpatch patch10_4 ,mem_patch10 
+28eb 68010044 fetch 2 ,mem_pnap 
+28ec 1fe25c00 icopy nap 
+28ed 68008043 fetch 1 ,mem_puap 
+28ee 1fe25a00 icopy uap 
+28ef 68018040 fetch 3 ,mem_plap 
+28f0 1fe25800 icopy lap 
+28f1 20600000 rtn 
+
+fetch_diac:
+28f2 c51028f5 bmark1 mark_all_diac ,fetch_diac_do 
+28f3 c68e8000 rtnmark0 mark_inquiry_state 
+28f4 c68f8000 rtnmark0 mark_periodical_diac 
+
+fetch_diac_do:
+28f5 1d815900 and_into -256 ,lap 
+28f6 782afc00 pulse recalc 
+28f7 20000020 nop 32 
+28f8 20600000 rtn 
+
+shutdown_radio:
+28f9 44c2c010 bpatch patch10_5 ,mem_patch10 
+28fa 2030a90a branch shutdown_radio0 ,is_rx 
+28fb 708955d4 hjam 0xd4 ,0x955 
+28fc 20000004 nop 4 
+28fd 708955d2 hjam 0xd2 ,0x955 
+28fe 20000004 nop 4 
+28ff 708955d1 hjam 0xd1 ,0x955 
+2900 20000004 nop 4 
+2901 6800c1de fetch 1 ,mem_tx_power 
+2902 c0002908 beq tx_power_0db ,shutdown_radio_0db 
+2903 c000a915 beq tx_power_3db ,shutdown_radio_3db 
+2904 c0012908 beq tx_power_5db ,shutdown_radio_5db 
+2905 c001a915 beq tx_power_f3db ,shutdown_radio_f3db 
+2906 c0022915 beq tx_power_f5db ,shutdown_radio_f5db 
+2907 c0102915 beq tx_power_pair ,shutdown_radio_pair 
+
+shutdown_radio_5db:
+
+shutdown_radio_0db:
+2908 708955d0 hjam 0xd0 ,0x955 
+2909 708956e0 hjam 0xe0 ,0x956 
+
+shutdown_radio0:
+290a 18002a00 force 0 ,radio_ctrl 
+290b 7850fc00 disable is_rx 
+290c 78507c00 disable is_tx 
+290d 782f7c00 pulse packet_end 
+290e 70890200 hjam 0x0 ,rfen_mdm 
+290f 70890100 hjam 0x0 ,rfen_tx 
+2910 70890000 hjam 0x0 ,rfen_rx 
+2911 70890300 hjam 0 ,rfen_sn 
+2912 70890470 hjam 0x70 ,rfen_msc 
+2913 70890600 hjam 0x0 ,rfen_adc 
+2914 20600000 rtn 
+
+shutdown_radio_pair:
+
+shutdown_radio_f5db:
+
+shutdown_radio_f3db:
+
+shutdown_radio_3db:
+2915 708955d0 hjam 0xd0 ,0x955 
+2916 708956c0 hjam 0xc0 ,0x956 
+2917 2020290a branch shutdown_radio0 
+
+set_sync_on:
+2918 44c34010 bpatch patch10_6 ,mem_patch10 
+2919 70890200 hjam 0x0 ,rfen_mdm 
+291a 70890100 hjam 0x0 ,rfen_tx 
+291b 70890018 hjam 0x18 ,rfen_rx 
+291c 708903a7 hjam 0xa7 ,rfen_sn 
+291d 7089047f hjam 0x7f ,rfen_msc 
+291e 20600000 rtn 
+
+set_freq_rx:
+291f 44c3c010 bpatch patch10_7 ,mem_patch10 
+2920 60088017 storet 1 ,mem_last_freq 
+2921 1840a204 add temp ,rx_freq_offset ,rega 
+2922 70896d07 hjam 0x07 ,0x96d 
+2923 20202981 branch rf_write_freq 
+
+rf_rx_enable:
+2924 44c44011 bpatch patch11_0 ,mem_patch11 
+2925 708901cf hjam 0xcf ,rfen_tx 
+2926 2000000a nop 10 
+2927 708900ff hjam 0xff ,rfen_rx 
+2928 708903af hjam 0xaf ,rfen_sn 
+2929 708904ff hjam 0xff ,rfen_msc 
+292a 2000000a nop 10 
+292b 708902a0 hjam 0xa0 ,rfen_mdm 
+292c 20600000 rtn 
+
+set_freq_tx_offset:
+292d 6800c1e0 fetch 1 ,mem_250k_freq_enable 
+292e 203a2931 branch set_freq_tx_2m_offset ,blank 
+
+set_freq_tx_0m_offset:
+292f 1840a202 add temp ,2 ,rega 
+2930 20600000 rtn 
+
+set_freq_tx_2m_offset:
+2931 1840a200 add temp ,0 ,rega 
+2932 20600000 rtn 
+
+set_freq_tx:
+2933 44c4c011 bpatch patch11_1 ,mem_patch11 
+2934 60088017 storet 1 ,mem_last_freq 
+2935 2040292d call set_freq_tx_offset 
+2936 20402981 call rf_write_freq 
+2937 58000500 setarg param_pll_setup 
+2938 20402a8f call sleep 
+
+txon:
+2939 70890601 hjam 0x1 ,rfen_adc 
+293a 7089003c hjam 0x3c ,rfen_rx 
+293b 708901e0 hjam 0xe0 ,rfen_tx 
+293c 70896d12 hjam 0x12 ,0x96d 
+293d 2000000a nop 10 
+293e 70890201 hjam 0x01 ,rfen_mdm 
+293f 7089023d hjam 0x3d ,rfen_mdm 
+2940 2000000a nop 10 
+2941 708903b7 hjam 0xb7 ,rfen_sn 
+2942 2000000a nop 10 
+2943 7089027f hjam 0x7f ,rfen_mdm 
+2944 6800c1de fetch 1 ,mem_tx_power 
+2945 c000294b beq tx_power_0db ,set_tx_power_0db 
+2946 c000a94f beq tx_power_3db ,set_tx_power_3db 
+2947 c0012953 beq tx_power_5db ,set_tx_power_5db 
+2948 c001a957 beq tx_power_f3db ,set_tx_power_f3db 
+2949 c002295b beq tx_power_f5db ,set_tx_power_f5db 
+294a c010295f beq tx_power_pair ,set_tx_power_pair 
+
+set_tx_power_0db:
+294b 708956f0 hjam 0xf0 ,0x956 
+294c 20402965 call txon_common 
+294d 708955d8 hjam 0xd8 ,0x955 
+294e 20600000 rtn 
+
+set_tx_power_3db:
+294f 708956df hjam 0xdf ,0x956 
+2950 20402965 call txon_common 
+2951 708955df hjam 0xdf ,0x955 
+2952 20600000 rtn 
+
+set_tx_power_5db:
+2953 708956ff hjam 0xff ,0x956 
+2954 20402965 call txon_common 
+2955 708955df hjam 0xdf ,0x955 
+2956 20600000 rtn 
+
+set_tx_power_f3db:
+2957 708956ce hjam 0xce ,0x956 
+2958 20402965 call txon_common 
+2959 708955d8 hjam 0xd8 ,0x955 
+295a 20600000 rtn 
+
+set_tx_power_f5db:
+295b 708956cb hjam 0xcb ,0x956 
+295c 20402965 call txon_common 
+295d 708955d8 hjam 0xd8 ,0x955 
+295e 20600000 rtn 
+
+set_tx_power_pair:
+295f 708955d0 hjam 0xd0 ,0x955 
+2960 708956c0 hjam 0xc0 ,0x956 
+2961 7089574c hjam 0x4c ,0x957 
+2962 7089586c hjam 0x6c ,0x958 
+2963 70895950 hjam 0x50 ,0x959 
+2964 20600000 rtn 
+
+txon_common:
+2965 20000004 nop 4 
+2966 708955d1 hjam 0xd1 ,0x955 
+2967 20000004 nop 4 
+2968 708955d2 hjam 0xd2 ,0x955 
+2969 20000004 nop 4 
+296a 708955d4 hjam 0xd4 ,0x955 
+296b 20600000 rtn 
+
+initialize_radio:
+296c 70804206 hjam clksel_rc ,core_clksel 
+
+initialize_radio_wait:
+296d 680140c3 fetch 2 ,mem_rf_init_ptr 
+296e c307296d bbit0 14 ,initialize_radio_wait 
+296f 98000c00 iforce contr 
+2970 d8408900 arg 0x8900 ,temp 
+
+initialize_radio_loop:
+2971 e8c08000 ifetch 1 ,contr 
+2972 c07fa977 beq 0xff ,initialize_radio_cont 
+2973 98418a00 ior temp ,contw 
+2974 e8c08000 ifetch 1 ,contr 
+2975 e0a08000 istore 1 ,contw 
+2976 20202971 branch initialize_radio_loop 
+
+initialize_radio_cont:
+2977 44c54011 bpatch patch11_2 ,mem_patch11 
+2978 20402be5 call lpm_cal_xtal_startup 
+2979 204029c9 call switchto_dpllclk 
+297a 580007d0 setarg param_dpll_start_delay 
+297b 9c40fe00 iadd clkn_bt ,pdata 
+297c 60020169 store 4 ,mem_dpll_clkn 
+297d 79202a03 set1 reset ,radio_ctrl 
+297e 18002a00 force 0 ,radio_ctrl 
+297f 2455a998 ncall do_rccal ,wake 
+2980 202029ab branch set_rccal 
+
+rf_write_freq:
+2981 44c5c011 bpatch patch11_3 ,mem_patch11 
+2982 58000960 setarg 2400 
+2983 9a208400 iadd rega ,temp 
+2984 6800c0bd fetch 1 ,mem_fcomp_mul 
+2985 70895f04 hjam 0x04 ,rf_pll_rstn 
+2986 984ffe00 imul32 temp ,pdata 
+2987 6808c0be fetcht 1 ,mem_fcomp_div 
+2988 9846fc00 idiv temp 
+2989 20407f86 call wait_div_end 
+298a 1807a200 quotient rega 
+298b 18077e00 remainder pdata 
+298c 1ff07e00 lshift16 pdata ,pdata 
+298d 1ff27e00 lshift4 pdata ,pdata 
+298e 9846fc00 idiv temp 
+298f 20407f86 call wait_div_end 
+2990 1807fe00 quotient pdata 
+2991 1fed7e00 lshift8 pdata ,pdata 
+2992 1fe3fe00 lshift pdata ,pdata 
+2993 9a21fe00 ior rega ,pdata 
+2994 60120960 hstore 4 ,rf_pll_intg 
+2995 70895f44 hjam 0x44 ,rf_pll_rstn 
+2996 70895fc4 hjam 0xc4 ,rf_pll_rstn 
+2997 20600000 rtn 
+
+do_rccal:
+2998 44c64011 bpatch patch11_4 ,mem_patch11 
+2999 70890602 hjam 0x02 ,rfen_adc 
+299a 5803d090 setarg 250000 
+299b 20402a8f call sleep 
+299c 7089007f hjam 0x7f ,rfen_rx 
+299d 20000082 nop 130 
+299e 70895230 hjam 0x30 ,rf_rccal_ctrl 
+299f 708901d0 hjam 0xd0 ,rfen_tx 
+29a0 70895270 hjam 0x70 ,rf_rccal_ctrl 
+29a1 708952f0 hjam 0xf0 ,rf_rccal_ctrl 
+29a2 18007232 force 50 ,loopcnt 
+
+do_rccal_loop:
+29a3 68108980 hfetch 1 ,rf_rccal_result 
+29a4 c282a9a6 bbit1 5 ,do_rccal_end 
+29a5 c20029a3 loop do_rccal_loop 
+
+do_rccal_end:
+29a6 6000c0ce store 1 ,mem_rf_rccal 
+29a7 70890100 hjam 0 ,rfen_tx 
+29a8 70890000 hjam 0 ,rfen_rx 
+29a9 70890600 hjam 0x00 ,rfen_adc 
+29aa 20600000 rtn 
+
+set_rccal:
+29ab 44c6c011 bpatch patch11_5 ,mem_patch11 
+29ac 6800c0ce fetch 1 ,mem_rf_rccal 
+29ad 79207e05 set1 5 ,pdata 
+29ae 60108952 hstore 1 ,rf_rccal_ctrl 
+29af 68188950 hfetcht 1 ,rf_bpf_ctrim 
+29b0 18410407 and_into 7 ,temp 
+29b1 1fe9fe00 lshift3 pdata ,pdata 
+29b2 9841fe00 ior temp ,pdata 
+29b3 60108950 hstore 1 ,rf_bpf_ctrim 
+29b4 68108951 hfetch 1 ,rf_bpf_ib 
+29b5 793ffe00 set0 bpf_rccal ,pdata 
+29b6 60108951 hstore 1 ,rf_bpf_ib 
+29b7 68108952 hfetch 1 ,rf_adc_rccal 
+29b8 793ffe05 set0 adc_rccal ,pdata 
+29b9 60108952 hstore 1 ,rf_adc_rccal 
+29ba 20600000 rtn 
+
+save_rssi:
+29bb 44c74011 bpatch patch11_6 ,mem_patch11 
+29bc 68110981 hfetch 2 ,rf_afc_d2a 
+29bd 1ff1fe00 rshift4 pdata ,pdata 
+29be 1fe97e00 rshift3 pdata ,pdata 
+29bf 1fe67e00 sub pdata ,0 ,pdata 
+29c0 1fe17eff and_into 0xff ,pdata 
+29c1 1fe6fc0a div pdata ,10 
+29c2 20407f86 call wait_div_end 
+29c3 1807fe00 quotient pdata 
+29c4 1ff27e00 lshift4 pdata ,pdata 
+29c5 18070400 remainder temp 
+29c6 9841fe00 ior temp ,pdata 
+29c7 60008018 store 1 ,mem_rssi 
+29c8 20600000 rtn 
+
+switchto_dpllclk:
+29c9 70804206 hjam clksel_rc ,core_clksel 
+29ca 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+29cb 793ffe04 set0 4 ,pdata 
+29cc 793ffe05 set0 5 ,pdata 
+29cd 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29ce 70890500 hjam 0x00 ,rfen_ck 
+29cf 70890400 hjam 0x00 ,rfen_msc 
+29d0 70890470 hjam 0x70 ,rfen_msc 
+29d1 708905ff hjam 0xff ,rfen_ck 
+29d2 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+29d3 79207e04 set1 4 ,pdata 
+29d4 79207e05 set1 5 ,pdata 
+29d5 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29d6 204029e9 call init_lpm_ctrl 
+29d7 68108968 hfetch 1 ,rf_clkpll_int 
+29d8 79207e07 set1 7 ,pdata 
+29d9 60108968 hstore 1 ,rf_clkpll_int 
+29da 793ffe07 set0 7 ,pdata 
+29db 60108968 hstore 1 ,rf_clkpll_int 
+29dc 79207e07 set1 7 ,pdata 
+29dd 60108968 hstore 1 ,rf_clkpll_int 
+29de 70804205 hjam clksel_dpll ,core_clksel 
+29df 20000001 nop 1 
+29e0 70804204 hjam clksel_xtal ,core_clksel 
+29e1 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+29e2 1fe17ecf and_into 0xcf ,pdata 
+29e3 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29e4 1fe1fe30 or_into 0x30 ,pdata 
+29e5 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29e6 20600000 rtn 
+
+xtal_fast_wake:
+29e7 58000f0f setarg 0xf0f 
+29e8 20202c18 branch lpm_write_config 
+
+init_lpm_ctrl:
+29e9 5800080f setarg 0x80f 
+29ea 20202c18 branch lpm_write_config 
+
+start_receiver:
+29eb 44c7c011 bpatch patch11_7 ,mem_patch11 
+29ec 20402924 call rf_rx_enable 
+29ed 78507c00 disable is_tx 
+29ee 7830fc00 enable is_rx 
+29ef 782b7c00 pulse init_encrypt 
+29f0 20600000 rtn 
+
+prep_crypt:
+29f1 44c84012 bpatch patch12_0 ,mem_patch12 
+29f2 6800804c fetch 1 ,mem_state_map 
+29f3 2feffe02 isolate1 smap_encryption ,pdata 
+29f4 7920fe00 setflag true ,0 ,pdata 
+29f5 60108011 hstore 1 ,core_encrypt 
+29f6 d8c00062 arg mem_kc ,contr 
+29f7 e8c48000 ifetch 9 ,contr 
+29f8 98006400 iforce kc_ls 
+29f9 e8c38000 ifetch 7 ,contr 
+29fa 98006600 iforce kc_ms 
+29fb 68008054 fetch 1 ,mem_key_size 
+29fc 1fe0e9ff add pdata ,-1 ,g1l 
+29fd 782d7c00 pulse kc_p_activate 
+29fe 20600000 rtn 
+
+wait_access_end:
+29ff 1b427e00 deposit clke 
+2a00 6003009a store 6 ,mem_sync_clke 
+2a01 7846fc00 disable decode_fec0 
+2a02 242c28f9 nbranch shutdown_radio ,sync 
+2a03 dd2003bb arg param_clke_cal ,clke_rt 
+2a04 1d00d001 increase 1 ,clke_bt 
+2a05 1d0151fc and_into 0x1fc ,clke_bt 
+2a06 20600000 rtn 
+
+wait_access_mhalfbnd:
+2a07 7826fc00 enable decode_fec0 
+
+wait_access_mhalfbnd_correlate:
+2a08 37cb8400 correlate null ,mhalfbnd 
+2a09 202c29ff branch wait_access_end ,sync 
+2a0a 2d000402 compare 0x02 ,clke_bt ,0x02 
+2a0b 2420aa08 nbranch wait_access_mhalfbnd_correlate ,true 
+2a0c 202029ff branch wait_access_end 
+
+wait_access_clkn_rt:
+2a0d 44c8c012 bpatch patch12_1 ,mem_patch12 
+2a0e d9600600 arg param_conn_access ,timeup 
+2a0f 7826fc00 enable decode_fec0 
+2a10 34730400 correlate clkn_rt ,meet 
+2a11 7846fc00 disable decode_fec0 
+2a12 242c28f9 nbranch shutdown_radio ,sync 
+2a13 20600000 rtn 
+
+wait_access_forever:
+2a14 44c94012 bpatch patch12_2 ,mem_patch12 
+2a15 7826fc00 enable decode_fec0 
+2a16 37c18400 correlate null ,timeout 
+2a17 7846fc00 disable decode_fec0 
+2a18 242c28f9 nbranch shutdown_radio ,sync 
+2a19 dd2003bb arg param_clke_cal ,clke_rt 
+2a1a 1d0151fc and_into 0x1fc ,clke_bt 
+2a1b 20600000 rtn 
+
+reserve_slot:
+2a1c 44c9c012 bpatch patch12_3 ,mem_patch12 
+2a1d 98002200 iforce rega 
+2a1e 1c227e00 deposit bt_clk 
+2a1f 98409600 iadd temp ,timeup 
+2a20 19627e00 copy timeup ,pdata 
+2a21 600240ca store 4 ,mem_next_btclk 
+2a22 1a227e00 deposit rega 
+2a23 20600000 rtn 
+
+ahead_window:
+2a24 1fe20400 copy pdata ,temp 
+2a25 44ca4012 bpatch patch12_4 ,mem_patch12 
+2a26 18427e00 copy temp ,pdata 
+2a27 20407f50 call clk2bt 
+2a28 1c307e00 lshift16 bt_clk ,pdata 
+2a29 79207e2c set1 44 ,pdata 
+2a2a 20407f39 call clk_diff 
+2a2b 793ffe2c set0 44 ,pdata 
+2a2c 20402a77 call get_clk 
+2a2d 20407f39 call clk_diff 
+2a2e 20740000 rtn user 
+2a2f 20407f43 call clk2rt 
+2a30 98003600 iforce stop_watch 
+2a31 37c18200 until null ,timeout 
+2a32 20600000 rtn 
+
+setup_clk:
+2a33 44cac012 bpatch patch12_5 ,mem_patch12 
+2a34 20382a38 branch setup_clkn ,clknt 
+2a35 35330200 until clke_rt ,meet 
+
+skip_setup_clke:
+2a36 1d020400 copy clke_bt ,temp 
+2a37 20202a3b branch setup_clknbt 
+
+setup_clkn:
+2a38 20372a3a branch skip_setup_clkn ,attempt 
+2a39 34730200 until clkn_rt ,meet 
+
+skip_setup_clkn:
+2a3a 1c420400 copy clkn_bt ,temp 
+
+setup_clknbt:
+2a3b 20342a47 branch setup_clk11 ,user 
+2a3c 28400601 compare 1 ,temp ,3 
+2a3d 2420aa33 nbranch setup_clk ,true 
+
+setup_complete:
+2a3e 44cb4012 bpatch patch12_6 ,mem_patch12 
+2a3f 68008030 fetch 1 ,mem_state 
+2a40 c4000000 rtnbit0 state_inconn 
+2a41 680240ca fetch 4 ,mem_next_btclk 
+2a42 98467e00 isub temp ,pdata 
+2a43 24610000 nrtn positive 
+2a44 1fe67cff sub pdata ,0xff ,null 
+2a45 20212a33 branch setup_clk ,positive 
+2a46 20600000 rtn 
+
+setup_clk11:
+2a47 28400603 compare 3 ,temp ,3 
+2a48 2420aa33 nbranch setup_clk ,true 
+2a49 20202a3e branch setup_complete 
+
+rf_setup_time:
+2a4a 44cbc012 bpatch patch12_7 ,mem_patch12 
+2a4b d9600600 arg param_rf_setup ,timeup 
+2a4c 20202a33 branch setup_clk 
+
+rf_setup_time_slave_slot:
+2a4d 78547c00 disable user 
+2a4e 20202a4a branch rf_setup_time 
+
+rf_setup_time_master_slot:
+2a4f 78347c00 enable user 
+2a50 20202a4a branch rf_setup_time 
+
+start_transmitter:
+2a51 44cc4013 bpatch patch13_0 ,mem_patch13 
+2a52 204029f1 call prep_crypt 
+2a53 7850fc00 disable is_rx 
+2a54 78307c00 enable is_tx 
+2a55 20600000 rtn 
+
+start_tx_native:
+2a56 44ccc013 bpatch patch13_1 ,mem_patch13 
+2a57 d9600e43 arg param_tx_setup ,timeup 
+2a58 34730200 until clkn_rt ,meet 
+2a59 782b7c00 pulse init_encrypt 
+2a5a 20600000 rtn 
+
+start_rx_native:
+2a5b 44cd4013 bpatch patch13_2 ,mem_patch13 
+2a5c d9600d00 arg param_rx_setup ,timeup 
+2a5d 34730200 until clkn_rt ,meet 
+2a5e 20600000 rtn 
+
+start_tx_external:
+2a5f 44cdc013 bpatch patch13_3 ,mem_patch13 
+2a60 d9600e43 arg param_tx_setup ,timeup 
+2a61 35330200 until clke_rt ,meet 
+2a62 782b7c00 pulse init_encrypt 
+2a63 20600000 rtn 
+
+send_access_word:
+2a64 44ce4013 bpatch patch13_4 ,mem_patch13 
+2a65 51207e00 preload access 
+2a66 782efc00 enable encode_fec0 
+2a67 79202a00 set1 txgfsk ,radio_ctrl 
+2a68 08008648 inject mod ,72 
+2a69 784efc00 disable encode_fec0 
+2a6a 20600000 rtn 
+
+scan_mode_whiten:
+2a6b 1ca20400 copy xin ,temp 
+2a6c 18418460 or_into 0x60 ,temp 
+2a6d 18421c00 copy temp ,white_init 
+2a6e 20600000 rtn 
+
+get_free_amaddr:
+2a6f 44cec013 bpatch patch13_5 ,mem_patch13 
+2a70 6800c090 fetch 1 ,mem_current_amaddr 
+2a71 1fe0fe01 increase 1 ,pdata 
+2a72 c083aa74 bne param_esco_addr ,get_free_amaddr_cont 
+2a73 18007e01 force 1 ,pdata 
+
+get_free_amaddr_cont:
+2a74 6000c090 store 1 ,mem_current_amaddr 
+2a75 98000800 iforce am_addr 
+2a76 20600000 rtn 
+
+get_clk:
+2a77 1b220400 copy clkn ,temp 
+2a78 20748000 rtn master 
+2a79 1b420400 copy clke ,temp 
+2a7a 20600000 rtn 
+
+get_clkbt:
+2a7b 1c427e00 deposit clkn_bt 
+2a7c 20748000 rtn master 
+2a7d 1d027e00 deposit clke_bt 
+2a7e 20600000 rtn 
+
+supervision_update:
+2a7f 44cf4013 bpatch patch13_6 ,mem_patch13 
+2a80 680a004d fetcht 4 ,mem_supervision_timer 
+2a81 20402a7b call get_clkbt 
+2a82 98461600 isub temp ,timeup 
+2a83 19627e00 deposit timeup 
+2a84 68090051 fetcht 2 ,mem_supervision_to 
+2a85 18438400 lshift temp ,temp 
+2a86 98467e00 isub temp ,pdata 
+2a87 20600000 rtn 
+
+supervision_flush:
+2a88 44cfc013 bpatch patch13_7 ,mem_patch13 
+2a89 20402a7b call get_clkbt 
+2a8a 6002004d store 4 ,mem_supervision_timer 
+2a8b 20600000 rtn 
+
+assert:
+2a8c 44d04014 bpatch patch14_0 ,mem_patch14 
+2a8d 20202a8c branch assert 
+
+loop:
+2a8e 20202a8e branch loop 
+
+sleep:
+2a8f 207a0000 rtn blank 
+2a90 1fe37e00 rshift pdata ,pdata 
+2a91 1fe0fffd increase -3 ,pdata 
+
+sleep_loop:
+2a92 1fe0ffff increase -1 ,pdata 
+2a93 2422aa92 nbranch sleep_loop ,zero 
+2a94 18007e00 force 0 ,pdata 
+2a95 20600000 rtn 
+
+init_param:
+2a96 df200010 arg 0x10 ,loopcnt 
+2a97 d8a00000 arg 0 ,contw 
+2a98 20407ec6 call memset0 
+2a99 d8a0043f arg mem_le_state ,contw 
+2a9a df20000a arg 10 ,loopcnt 
+2a9b 20407ec6 call memset0 
+2a9c 7009b200 jam 0 ,mem_sp_calc 
+2a9d 700a9900 jam 0 ,mem_fifo_temp 
+2a9e 70048c00 jam 0 ,mem_le_testtype 
+2a9f 70017f00 jam 0 ,mem_debug_config 
+2aa0 7004d100 jam 0 ,mem_lmp_conn_state 
+2aa1 44d0c014 bpatch patch14_1 ,mem_patch14 
+2aa2 70016d00 jam 0 ,mem_connection_options 
+2aa3 70015100 jam 0 ,mem_tester_emulate 
+2aa4 70015c00 jam 0 ,mem_tester_cnt 
+2aa5 589e8b33 setarg param_glap 
+2aa6 6001c0a7 store 3 ,mem_glap 
+2aa7 58000153 setarg param_acl_pktlen 
+2aa8 60010083 store 2 ,mem_acl_pktlen 
+2aa9 7000851e jam param_sco_pktlen ,mem_sco_pktlen 
+2aaa 70008601 jam param_acl_pktcnt ,mem_acl_pktcnt 
+2aab 70008807 jam param_sco_pktcnt ,mem_sco_pktcnt 
+2aac 5812e904 setarg param_hci_version 
+2aad 60018080 store 3 ,mem_hci_version 
+2aae 70009060 jam 0x60 ,mem_fhs_misc 
+2aaf 7040d005 jam param_max_slot ,mem_max_slot 
+2ab0 70001402 jam 0x02 ,mem_fw_ver 
+2ab1 6800c65a fetch 1 ,mem_ssp_enable 
+2ab2 245a74c1 ncall init_memp ,blank 
+2ab3 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+2ab4 245a7518 ncall init_memp_256 ,blank 
+2ab5 44d14014 bpatch patch14_2 ,mem_patch14 
+2ab6 20758000 rtn wake 
+2ab7 58000000 setarg 0 
+2ab8 600141dc store 2 ,mem_tx_len 
+2ab9 1c437e00 rshift clkn_bt ,pdata 
+2aba 60024094 store 4 ,mem_last_clkn 
+2abb 20600000 rtn 
+
+lpmstate:
+2abc 5800ee21 setarg 0xee21 
+2abd 60110050 hstore 2 ,core_clkoff 
+2abe 6812011c hfetch 4 ,core_gpio_in 
+2abf 60020abe store 4 ,mem_saved_gpio_in 
+2ac0 6810813e hfetch 1 ,core_lpm_ldocnt 
+2ac1 60008abd store 1 ,mem_wakup_from_power_flag 
+2ac2 c301e45b bbit0 gpio_latch ,loadcode 
+2ac3 7835fc00 enable wake 
+2ac4 c303aacc bbit0 cold_wake ,lpmwake 
+2ac5 7855fc00 disable wake 
+2ac6 1ce27e00 deposit auxcnt 
+2ac7 243a2acc nbranch lpmwake ,blank 
+2ac8 6810813b hfetch 1 ,core_lpm_ctrl + 3 
+2ac9 c2812acc bbit1 reload_code ,lpmwake 
+2aca d85fffff arg param_hibernate_clks ,temp 
+2acb 20202b3c branch lpm_enter_sleep 
+
+lpmwake:
+2acc 6811813c hfetch 3 ,core_lpm_xtalcnt 
+2acd 6011804c hstore 3 ,core_lpm_reg 
+2ace e8c08000 ifetch 1 ,contr 
+2acf 1fe1feef or_into isogate_mask ,pdata 
+2ad0 e0a08000 istore 1 ,contw 
+2ad1 20402c23 call lpm_write_ctrl2 
+2ad2 6810804f hfetch 1 ,core_lpm_isogate 
+2ad3 79207e04 set1 enable_retmem ,pdata 
+2ad4 6010804f hstore 1 ,core_lpm_isogate 
+2ad5 20402c23 call lpm_write_ctrl2 
+2ad6 2055aadf call lpm_load_context ,wake 
+2ad7 6810804e hfetch 1 ,core_lpm_reg + 2 
+2ad8 793ffe03 set0 gpio_latch ,pdata 
+2ad9 6010804e hstore 1 ,core_lpm_reg + 2 
+2ada 20402c23 call lpm_write_ctrl2 
+2adb 2435e45b nbranch loadcode ,wake 
+2adc c6958000 rtnmark0 mark_otp_encrypt 
+2add 70800608 hjam lock_otp ,core_misc_ctrl 
+2ade 20600000 rtn 
+
+lpm_load_context:
+2adf 6800c198 fetch 1 ,mem_saved_spidctrl 
+2ae0 60108086 hstore 1 ,core_spid_ctrl 
+2ae1 6801c18d fetch 3 ,mem_saved_gsel 
+2ae2 60118080 hstore 3 ,core_gpio_sel 
+2ae3 68024181 fetch 4 ,mem_saved_gpio + 4 
+2ae4 60120074 hstore 4 ,core_gpio_out0 
+2ae5 6802417d fetch 4 ,mem_saved_gpio 
+2ae6 60120070 hstore 4 ,core_gpio_oe0 
+2ae7 68044185 fetch 8 ,mem_saved_gpio + 8 
+2ae8 60140078 hstore 8 ,core_gpio_pu0 
+2ae9 68044190 fetch 8 ,mem_saved_mark 
+2aea 98000000 iforce mark 
+2aeb 68140140 hfetch 8 ,core_gpio_wakeup_low 
+2aec 600400a1 store 8 ,mem_gpio_wakeup_low 
+2aed 204064ca call load_ucode 
+2aee 20600000 rtn 
+
+lpm_save_context:
+2aef 18027e00 deposit mark 
+2af0 60044190 store 8 ,mem_saved_mark 
+2af1 68140070 hfetch 8 ,core_gpio_oe0 
+2af2 6004417d store 8 ,mem_saved_gpio 
+2af3 e8c40000 ifetch 8 ,contr 
+2af4 e0a40000 istore 8 ,contw 
+2af5 68118080 hfetch 3 ,core_gpio_sel 
+2af6 6001c18d store 3 ,mem_saved_gsel 
+2af7 68108086 hfetch 1 ,core_spid_ctrl 
+2af8 6000c198 store 1 ,mem_saved_spidctrl 
+2af9 20202c29 branch lpm_write_gpio_wakeup 
+
+lpo_calibration:
+2afa 68108063 hfetch 1 ,core_bist_ctrl 
+2afb 243a2b00 nbranch lpo_cal_inited ,blank 
+2afc 6801c16f fetch 3 ,mem_clks_per_lpo 
+2afd 247a0000 nrtn blank 
+2afe 708063c0 hjam 0xc0 ,core_bist_ctrl 
+2aff 70800680 hjam ccnt_start ,core_misc_ctrl 
+
+lpo_cal_inited:
+2b00 6810812d hfetch 1 ,core_perf_status 
+2b01 c4008000 rtnbit0 1 
+2b02 68118149 hfetch 3 ,core_clk_counter 
+2b03 6001c16f store 3 ,mem_clks_per_lpo 
+2b04 20600000 rtn 
+
+lpm_adjust_clk:
+2b05 44d1c014 bpatch patch14_3 ,mem_patch14 
+2b06 1b427e00 deposit clke 
+2b07 20407f37 call clk_diff_rt 
+2b08 680a415f fetcht 4 ,mem_sleep_counter_all 
+2b09 18467cff sub temp ,0xff ,null 
+2b0a 20610000 rtn positive 
+2b0b 1fed7e00 lshift8 pdata ,pdata 
+2b0c 1ff27e00 lshift4 pdata ,pdata 
+2b0d 9846fc00 idiv temp 
+2b0e 20407f86 call wait_div_end 
+2b0f 1807fe00 quotient pdata 
+2b10 d84000c8 arg param_lpm_adjmax ,temp 
+2b11 20407f91 call ceiling 
+2b12 60008099 store 1 ,mem_lpm_adjust 
+2b13 24342b15 nbranch lpm_adjust_positive ,user 
+2b14 1fe67e00 sub pdata ,0 ,pdata 
+
+lpm_adjust_positive:
+2b15 6809c16f fetcht 3 ,mem_clks_per_lpo 
+2b16 9840fe00 iadd temp ,pdata 
+2b17 6001c16f store 3 ,mem_clks_per_lpo 
+
+lpm_clear_counter:
+2b18 58000000 setarg 0 
+2b19 6002415f store 4 ,mem_sleep_counter_all 
+2b1a 20600000 rtn 
+
+lpm_doze:
+2b1b 6800c177 fetch 1 ,mem_lpm_config + 2 
+2b1c 79207e02 set1 reload_code ,pdata 
+2b1d 6000c177 store 1 ,mem_lpm_config + 2 
+2b1e 20202b23 branch lpm_hibernate_normal 
+
+lpm_hibernate:
+2b1f d85fffff arg param_hibernate_clks ,temp 
+2b20 6800c176 fetch 1 ,mem_lpm_config + 1 
+2b21 793ffe07 set0 7 ,pdata 
+2b22 6000c176 store 1 ,mem_lpm_config + 1 
+
+lpm_hibernate_normal:
+2b23 44d24014 bpatch patch14_4 ,mem_patch14 
+2b24 20402c29 call lpm_write_gpio_wakeup 
+2b25 6800c157 fetch 1 ,mem_lpm_hibernate_switch 
+2b26 6000c17c store 1 ,mem_lpm_xtalcnt + 4 
+2b27 6800c17a fetch 1 ,mem_lpm_xtalcnt + 2 
+2b28 79207e07 set1 cold_wake ,pdata 
+2b29 6000c17a store 1 ,mem_lpm_xtalcnt + 2 
+
+lpm_sleep:
+2b2a 44d2c014 bpatch patch14_5 ,mem_patch14 
+2b2b 204029e7 call xtal_fast_wake 
+2b2c 6802415f fetch 4 ,mem_sleep_counter_all 
+2b2d 9840fe00 iadd temp ,pdata 
+2b2e 6002415f store 4 ,mem_sleep_counter_all 
+2b2f 20402aef call lpm_save_context 
+2b30 6802c178 fetch 5 ,mem_lpm_xtalcnt 
+2b31 6012004c hstore 4 ,core_lpm_reg 
+2b32 1fef2200 rshift32 pdata ,rega 
+2b33 37d98200 until null ,lpo_edge 
+2b34 1b227e00 deposit clkn 
+2b35 60034163 store 6 ,mem_sleep_clkn 
+2b36 70800502 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+2b37 37d98200 until null ,lpo_edge 
+2b38 37d98200 until null ,lpo_edge 
+2b39 1a227e00 deposit rega 
+2b3a 6010804f hstore 1 ,core_lpm_isogate 
+2b3b 70800502 hjam lpmreg_sel_ctrl2 ,core_lpm_wr 
+
+lpm_enter_sleep:
+2b3c 37d98200 until null ,lpo_edge 
+2b3d 37d98200 until null ,lpo_edge 
+2b3e 601a004c hstoret 4 ,core_lpm_reg 
+2b3f 70800510 hjam lpmreg_sel_counter ,core_lpm_wr 
+2b40 37df8200 until null ,never 
+
+lpm_recover_clk:
+2b41 44d34014 bpatch patch14_6 ,mem_patch14 
+2b42 58000000 setarg 0 
+2b43 1ce27c00 copy auxcnt ,null 
+2b44 2022ab4c branch lpm_recover_timeout ,zero 
+2b45 6810813c hfetch 1 ,core_lpm_xtalcnt 
+2b46 6818813d hfetcht 1 ,core_lpm_buckcnt 
+2b47 98467c00 isub temp ,null 
+2b48 20212b4a branch lpm_recover_xtal ,positive 
+2b49 18427e00 deposit temp 
+
+lpm_recover_xtal:
+2b4a 9ce67e00 isub auxcnt ,pdata 
+2b4b 1fe0fe01 increase 1 ,pdata 
+
+lpm_recover_timeout:
+2b4c 1fe0fe08 increase 8 ,pdata 
+2b4d 37d98200 until null ,lpo_edge 
+2b4e 9e20fe00 iadd lpo_time ,pdata 
+2b4f 680a415b fetcht 4 ,mem_sleep_counter 
+2b50 9840fe00 iadd temp ,pdata 
+2b51 6809c16f fetcht 3 ,mem_clks_per_lpo 
+2b52 984ffe00 imul32 temp ,pdata 
+2b53 1fecfe00 rshift8 pdata ,pdata 
+2b54 1ff1fe00 rshift4 pdata ,pdata 
+2b55 1fe0fe6e increase param_lpm_fix ,pdata 
+2b56 d8400ea6 arg 3750 ,temp 
+2b57 9846fc00 idiv temp 
+2b58 20407f86 call wait_div_end 
+2b59 1807fe00 quotient pdata 
+2b5a 1ff07e00 lshift16 pdata ,pdata 
+2b5b 18070400 remainder temp 
+2b5c 9841fe00 ior temp ,pdata 
+2b5d 680b4163 fetcht 6 ,mem_sleep_clkn 
+2b5e 20407f2c call clk_add 
+2b5f 18423200 copy temp ,clkn 
+2b60 68034048 fetch 6 ,mem_context + coffset_clk_offset 
+2b61 20402854 call calc_clke2 
+2b62 1b427e00 deposit clke 
+2b63 60030a9a store 6 ,mem_pdatatemp 
+2b64 1ce27e00 deposit auxcnt 
+2b65 e0a08000 istore 1 ,contw 
+2b66 6810811d hfetch 1 ,core_gpio_in1 
+2b67 1fe1fef0 or_into 0xf0 ,pdata 
+2b68 e0a08000 istore 1 ,contw 
+2b69 20600000 rtn 
+
+lpm_dispatch:
+2b6a 44d3c014 bpatch patch14_7 ,mem_patch14 
+2b6b 20402afa call lpo_calibration 
+2b6c 6801c16f fetch 3 ,mem_clks_per_lpo 
+2b6d 207a0000 rtn blank 
+2b6e 6800c091 fetch 1 ,mem_lpm_mode 
+2b6f 207a0000 rtn blank 
+2b70 6800c65a fetch 1 ,mem_ssp_enable 
+2b71 203a2b74 branch lpm_dispatch_next ,blank 
+2b72 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+2b73 207a0000 rtn blank 
+
+lpm_dispatch_next:
+2b74 6800c4c0 fetch 1 ,mem_le_sc_calc 
+2b75 247a0000 nrtn blank 
+2b76 20402c3a call lpm_check_wake_lock 
+2b77 247a0000 nrtn blank 
+2b78 6800c040 fetch 1 ,mem_context 
+2b79 2fe00e03 compare 3 ,pdata ,0x7 
+2b7a 2420ab9d nbranch lpm_dispatch_unconn ,true 
+2b7b 68014042 fetch 2 ,mem_context + coffset_tsniff 
+2b7c 207a0000 rtn blank 
+2b7d 20758000 rtn wake 
+2b7e 44d44015 bpatch patch15_0 ,mem_patch15 
+2b7f 680880a0 fetcht 1 ,mem_lpm_current_mult 
+2b80 68014042 fetch 2 ,mem_context + coffset_tsniff 
+2b81 984ffe00 imul32 temp ,pdata 
+2b82 18518400 rshift4 temp ,temp 
+2b83 184b0400 rshift2 temp ,temp 
+2b84 98467e00 isub temp ,pdata 
+2b85 680a4044 fetcht 4 ,mem_context + coffset_sniff_anchor 
+2b86 9840fe00 iadd temp ,pdata 
+2b87 6808c156 fetcht 1 ,mem_lpm_overhead 
+2b88 98467e00 isub temp ,pdata 
+2b89 1ff06000 lshift16 pdata ,alarm 
+2b8a 44d4c015 bpatch patch15_1 ,mem_patch15 
+2b8b 6801404e fetch 2 ,mem_context + coffset_rx_window 
+2b8c 1fe37e00 rshift pdata ,pdata 
+2b8d 20407f50 call clk2bt 
+2b8e 1e027e00 deposit alarm 
+2b8f 20407f39 call clk_diff 
+2b90 1b420400 copy clke ,temp 
+2b91 20407f37 call clk_diff_rt 
+2b92 20740000 rtn user 
+
+lpm_dispatch_sleep:
+2b93 20407f49 call clk2lpo 
+
+lpm_dispatch_lpo:
+2b94 44d54015 bpatch patch15_2 ,mem_patch15 
+2b95 6800c178 fetch 1 ,mem_lpm_xtalcnt 
+2b96 98467c00 isub temp ,null 
+2b97 20212b18 branch lpm_clear_counter ,positive 
+2b98 600a415b storet 4 ,mem_sleep_counter 
+2b99 20403328 call app_will_enter_lpm 
+2b9a 204052fb call l2cap_lpm_save_txbuf 
+2b9b 680a415b fetcht 4 ,mem_sleep_counter 
+2b9c 20202b2a branch lpm_sleep 
+
+lpm_dispatch_unconn:
+2b9d 44d5c015 bpatch patch15_3 ,mem_patch15 
+2b9e 6800c040 fetch 1 ,mem_context 
+2b9f c3800000 rtnbit1 state_inconn 
+2ba0 c3818000 rtnbit1 state_inpage 
+2ba1 6800c65a fetch 1 ,mem_ssp_enable 
+2ba2 203a2ba5 branch lpm_unconn_nossp ,blank 
+2ba3 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+2ba4 207a0000 rtn blank 
+
+lpm_unconn_nossp:
+2ba5 44d64015 bpatch patch15_4 ,mem_patch15 
+2ba6 6800c36e fetch 1 ,mem_le_adv_enable 
+2ba7 243a2baa nbranch lpm_unconn_cont ,blank 
+2ba8 6800c093 fetch 1 ,mem_scan_mode 
+2ba9 207a0000 rtn blank 
+
+lpm_unconn_cont:
+2baa 68014154 fetch 2 ,mem_lpm_interval 
+2bab 207a0000 rtn blank 
+
+lpm_sleep_btclk:
+2bac 6808c156 fetcht 1 ,mem_lpm_overhead 
+2bad 98467e00 isub temp ,pdata 
+2bae d8401d4c arg 7500 ,temp 
+2baf 984ffe00 imul32 temp ,pdata 
+2bb0 20202b93 branch lpm_dispatch_sleep 
+
+lpm_set_mult:
+2bb1 44d6c015 bpatch patch15_5 ,mem_patch15 
+2bb2 7855fc00 disable wake 
+2bb3 68008030 fetch 1 ,mem_state 
+2bb4 c4008000 rtnbit0 state_insniff 
+2bb5 2436abd0 nbranch lpm_not_match ,match 
+2bb6 20402bcb call lpm_match 
+2bb7 680140c1 fetch 2 ,mem_rx_window_sniff 
+2bb8 6001003e store 2 ,mem_rx_window 
+2bb9 68008047 fetch 1 ,mem_arq 
+2bba c281abde bbit1 wack ,lpm_mult_short 
+2bbb c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+2bbc 20405274 call l2cap_malloc_is_fifo_empty 
+2bbd 243a2bde nbranch lpm_mult_short ,blank 
+2bbe 6800c55c fetch 1 ,mem_classic_bt_flag 
+2bbf c280abde bbit1 short_mult_flag ,lpm_mult_short 
+
+lpm_mult_wait_timeout:
+2bc0 7000a000 jam 0 ,mem_lpm_current_mult 
+2bc1 c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+2bc2 6800c174 fetch 1 ,mem_lpm_mult_cnt 
+2bc3 203a2be2 branch lpm_mult_long ,blank 
+2bc4 1fe0ffff increase -1 ,pdata 
+2bc5 6000c174 store 1 ,mem_lpm_mult_cnt 
+2bc6 20600000 rtn 
+
+classic_bt_set_mult_short_flag:
+2bc7 d8e00001 arg short_mult_flag ,queue 
+2bc8 202060cd branch classic_bluetooth_set_flag 
+
+classic_bt_clr_mult_short_flag:
+2bc9 d8e00001 arg short_mult_flag ,queue 
+2bca 202060d1 branch classic_bluetooth_clr_flag 
+
+lpm_match:
+2bcb 70415900 jam 0 ,mem_sniff_unint_lost 
+2bcc 6801c169 fetch 3 ,mem_sniff_rcv 
+2bcd 1fe0fe01 increase 1 ,pdata 
+2bce 6001c169 store 3 ,mem_sniff_rcv 
+2bcf 20600000 rtn 
+
+lpm_not_match:
+2bd0 44d74015 bpatch patch15_6 ,mem_patch15 
+2bd1 680940c1 fetcht 2 ,mem_rx_window_sniff 
+2bd2 18430400 rshift temp ,temp 
+2bd3 6801003e fetch 2 ,mem_rx_window 
+2bd4 9840fe00 iadd temp ,pdata 
+2bd5 6001003e store 2 ,mem_rx_window 
+
+lpm_lost:
+2bd6 7000a000 jam 0 ,mem_lpm_current_mult 
+2bd7 6801c16c fetch 3 ,mem_sniff_lost 
+2bd8 1fe0fe01 increase 1 ,pdata 
+2bd9 6001c16c store 3 ,mem_sniff_lost 
+2bda 6800c159 fetch 1 ,mem_sniff_unint_lost 
+2bdb 1fe0fe01 increase 1 ,pdata 
+2bdc 6000c159 store 1 ,mem_sniff_unint_lost 
+2bdd 20600000 rtn 
+
+lpm_mult_short:
+2bde 7000a000 jam 0 ,mem_lpm_current_mult 
+2bdf 6800c173 fetch 1 ,mem_lpm_mult_timeout 
+2be0 6000c174 store 1 ,mem_lpm_mult_cnt 
+2be1 20600000 rtn 
+
+lpm_mult_long:
+2be2 6808c172 fetcht 1 ,mem_lpm_mult 
+2be3 600880a0 storet 1 ,mem_lpm_current_mult 
+2be4 20600000 rtn 
+
+lpm_cal_xtal_startup:
+2be5 44d7c015 bpatch patch15_7 ,mem_patch15 
+2be6 6800c178 fetch 1 ,mem_lpm_xtalcnt 
+2be7 247a0000 nrtn blank 
+2be8 70804206 hjam clksel_rc ,core_clksel 
+2be9 58000f0c setarg 0xf0c 
+2bea 20402c18 call lpm_write_config 
+2beb 58030d40 setarg 200000 
+2bec 20402a8f call sleep 
+2bed 37d98200 until null ,lpo_edge 
+2bee 1e226000 copy lpo_time ,alarm 
+2bef 204029e7 call xtal_fast_wake 
+2bf0 70804204 hjam clksel_xtal ,core_clksel 
+2bf1 2000000a nop 10 
+2bf2 37d98200 until null ,lpo_edge 
+2bf3 1e227e00 deposit lpo_time 
+2bf4 9e067e00 isub alarm ,pdata 
+2bf5 1fe0fe30 increase 0x30 ,pdata 
+2bf6 d84000ff arg 0xff ,temp 
+2bf7 20407f91 call ceiling 
+2bf8 6000c178 store 1 ,mem_lpm_xtalcnt 
+2bf9 20007530 nop 30000 
+2bfa 20007530 nop 30000 
+2bfb 20007530 nop 30000 
+2bfc 20600000 rtn 
+
+lpm_cal_xtal_startup_by_snooze:
+2bfd 6800c178 fetch 1 ,mem_lpm_xtalcnt 
+2bfe 247a0000 nrtn blank 
+2bff 708044ff hjam 0xff ,core_xtal_stable_time 
+2c00 70804206 hjam clksel_rc ,core_clksel 
+2c01 204029e7 call xtal_fast_wake 
+2c02 580003e8 setarg 1000 
+2c03 9e20e000 iadd lpo_time ,alarm 
+2c04 07e00000 snooze 
+2c05 1e227e00 deposit lpo_time 
+2c06 20002ee0 nop 12000 
+2c07 20002ee0 nop 12000 
+2c08 20002ee0 nop 12000 
+2c09 20002ee0 nop 12000 
+2c0a 20002ee0 nop 12000 
+2c0b 20002ee0 nop 12000 
+2c0c 20002ee0 nop 12000 
+2c0d 20002ee0 nop 12000 
+2c0e 20002ee0 nop 12000 
+2c0f 9e067e00 isub alarm ,pdata 
+2c10 1fe0fe30 add pdata ,0x30 ,pdata 
+2c11 d84000ff arg 0xff ,temp 
+2c12 20407f91 call ceiling 
+2c13 6000c178 store 1 ,mem_lpm_xtalcnt 
+2c14 20007530 nop 30000 
+2c15 20007530 nop 30000 
+2c16 20007530 nop 30000 
+2c17 20600000 rtn 
+
+lpm_write_config:
+2c18 d8a00fff arg 0xfff ,contw 
+2c19 98a10a00 iand contw ,contw 
+2c1a 6800c175 fetch 1 ,mem_lpm_config 
+2c1b 1fe17ef0 and_into 0xf0 ,pdata 
+2c1c 1fed7e00 lshift8 pdata ,pdata 
+2c1d 98a1fe00 ior contw ,pdata 
+2c1e 6011004c hstore 2 ,core_lpm_reg 
+2c1f e8c10000 ifetch 2 ,contr 
+2c20 e0a10000 istore 2 ,contw 
+
+lpm_write_ctrl:
+2c21 58000001 setarg lpmreg_sel_ctrl 
+2c22 20202c24 branch lpm_write 
+
+lpm_write_ctrl2:
+2c23 58000002 setarg lpmreg_sel_ctrl2 
+
+lpm_write:
+2c24 37d98200 until null ,lpo_edge 
+2c25 60108005 hstore 1 ,core_lpm_wr 
+2c26 37d98200 until null ,lpo_edge 
+2c27 37d98200 until null ,lpo_edge 
+2c28 20600000 rtn 
+
+lpm_write_gpio_wakeup:
+2c29 44d84016 bpatch patch16_0 ,mem_patch16 
+2c2a 680200a1 fetch 4 ,mem_gpio_wakeup_low 
+2c2b 6012004c hstore 4 ,core_lpm_reg 
+2c2c 58000004 setarg lpmreg_sel_gpiolow 
+2c2d 20402c24 call lpm_write 
+2c2e 680200a5 fetch 4 ,mem_gpio_wakeup_high 
+2c2f 6012004c hstore 4 ,core_lpm_reg 
+2c30 58000008 setarg lpmreg_sel_gpiohigh 
+2c31 20202c24 branch lpm_write 
+
+lpm_get_wake_lock:
+2c32 68014152 fetch 2 ,mem_lpm_wake_lock 
+2c33 f9207e00 qset1 pdata 
+2c34 60014152 store 2 ,mem_lpm_wake_lock 
+2c35 20600000 rtn 
+
+lpm_put_wake_lock:
+2c36 68014152 fetch 2 ,mem_lpm_wake_lock 
+2c37 f93ffe00 qset0 pdata 
+2c38 60014152 store 2 ,mem_lpm_wake_lock 
+2c39 20600000 rtn 
+
+lpm_check_wake_lock:
+2c3a 44d8c016 bpatch patch16_1 ,mem_patch16 
+2c3b 20403326 call app_check_wake_lock 
+2c3c 68014152 fetch 2 ,mem_lpm_wake_lock 
+2c3d 1fe22200 copy pdata ,rega 
+2c3e 6800804c fetch 1 ,mem_state_map 
+2c3f 2feffe06 isolate1 smap_rxlmp ,pdata 
+2c40 7920a20b setflag true ,wake_lock_lmp_rx ,rega 
+2c41 68008078 fetch 1 ,mem_lmo_opcode1 
+2c42 6808807c fetcht 1 ,mem_lmo_opcode2 
+2c43 9840fe00 iadd temp ,pdata 
+2c44 68088048 fetcht 1 ,mem_lmp_to_send 
+2c45 9840fe00 iadd temp ,pdata 
+2c46 7d3a220a nsetflag blank ,wake_lock_lmp_tx ,rega 
+2c47 6800c4ff fetch 1 ,mem_le_tx_buff_used 
+2c48 7d3a2201 nsetflag blank ,wake_lock_ble_tx ,rega 
+2c49 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+2c4a 6809025f fetcht 2 ,mem_l2cap_rxbuff2_len 
+2c4b 9840fe00 iadd temp ,pdata 
+2c4c 7d3a220d nsetflag blank ,wake_lock_l2cap_rx ,rega 
+2c4d 68044668 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+2c4e 7d3a220f nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+2c4f 68044670 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+2c50 7d3a220e nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+2c51 6800c1ce fetch 1 ,mem_hci_cmd 
+2c52 7d3a2208 nsetflag blank ,wake_lock_cmd ,rega 
+2c53 6800c092 fetch 1 ,mem_device_option 
+2c54 2fe1fe0a compare dvc_op_module ,pdata ,0xff 
+2c55 2040ac5b call lpm_uart_wake_lock ,true 
+2c56 5ffffff8 setarg -8 
+2c57 9a212200 iand rega ,rega 
+2c58 1a227e00 copy rega ,pdata 
+2c59 60014152 store 2 ,mem_lpm_wake_lock 
+2c5a 20600000 rtn 
+
+lpm_uart_wake_lock:
+2c5b 68110112 hfetch 2 ,core_uart_rxitems 
+2c5c 7d3a2206 nsetflag blank ,wake_lock_uart_rx ,rega 
+2c5d 6811010e hfetch 2 ,core_uart_txitems 
+2c5e 7d3a2205 nsetflag blank ,wake_lock_uart_tx ,rega 
+2c5f 20600000 rtn 
+
+lpm_shut_down:
+2c60 68120138 hfetch 4 ,core_lpm_ctrl 
+2c61 793ffe1b set0 27 ,pdata 
+2c62 6012004c hstore 4 ,core_lpm_reg 
+2c63 20402c21 call lpm_write_ctrl 
+2c64 20202a8c branch assert 
+
+lpm_disable_exen_output:
+2c65 6812013c hfetch 4 ,core_lpm_xtalcnt 
+2c66 793ffe14 set0 20 ,pdata 
+2c67 6012004c hstore 4 ,core_lpm_reg 
+2c68 20202c23 branch lpm_write_ctrl2 
+
+check_bt_disabled:
+2c69 68014150 fetch 2 ,mem_chip_functions 
+2c6a c2802a8c bbit1 bt_disabled ,assert 
+2c6b 20600000 rtn 
+
+check_ble_disabled:
+2c6c 68014150 fetch 2 ,mem_chip_functions 
+2c6d c280aa8c bbit1 ble_disabled ,assert 
+2c6e 20600000 rtn 
+
+check_module_disabled:
+2c6f 68014150 fetch 2 ,mem_chip_functions 
+2c70 c2812a8c bbit1 module_disable ,assert 
+2c71 20600000 rtn 
+
+g24_dispatch:
+2c72 44d94016 bpatch patch16_2 ,mem_patch16 
+2c73 20402c7a call g24_head_ptr2regc 
+2c74 1a60a4cd add regc ,offset_24g_mode ,regb 
+2c75 ea408000 ifetch 1 ,regb 
+2c76 c1000000 rtneq disable_24g 
+2c77 c000ad06 beq tx_24g ,g24_transmit_process 
+2c78 c0012c7f beq rx_24g ,g24_receive_process 
+2c79 20600000 rtn 
+
+g24_head_ptr2regc:
+2c7a 68094241 fetcht 2 ,mem_24g_head_ptr 
+2c7b 18422600 copy temp ,regc 
+2c7c 20600000 rtn 
+
+g24_receive_process_init:
+2c7d 20402f3d call g24_receive_init 
+2c7e 2020307d branch g24_mode_switch_init 
+
+g24_receive_process:
+2c7f 20403084 call g24_mode_switch 
+2c80 2040305a call g24_dongle_work_mode_auto 
+2c81 2040305e call g24_dongle_bind_mode_auto 
+2c82 202030a2 branch g24_dongle_search_mode_auto 
+
+g24_pair_init:
+2c83 20403231 call g24_set0_mem_pid 
+2c84 5800004e setarg g24_pair_ch 
+2c85 2040322f call g24_store_mem_ch 
+2c86 204032ba call g24_store_mem_pair_txpower 
+2c87 1a60a292 add regc ,offset_24g_paring_addr ,rega 
+2c88 ea220000 ifetch 4 ,rega 
+2c89 2020322c branch g24_store_mem_addr 
+
+g24_ch:
+2c8a 20402c7a call g24_head_ptr2regc 
+2c8b 1a60a491 add regc ,offset_24g_current_ch_number ,regb 
+2c8c ea488000 ifetcht 1 ,regb 
+2c8d 20402c90 call g24_ch_temp_incre_size4 
+2c8e 1a608a91 add regc ,offset_24g_current_ch_number ,contw 
+2c8f 20202e56 branch g24_contw_istoret_1byte 
+
+g24_ch_temp_incre_size4:
+2c90 20402c94 call g24_ch_calc 
+2c91 18408401 increase 1 ,temp 
+2c92 18410403 and_into 3 ,temp 
+2c93 20600000 rtn 
+
+g24_ch_calc:
+2c94 1a60a4ae add regc ,offset_24g_addr ,regb 
+2c95 ea408000 ifetch 1 ,regb 
+2c96 1fe17e03 and_into 0x03 ,pdata 
+2c97 1fefa204 mul32 pdata ,4 ,rega 
+2c98 1a60fe97 add regc ,offset_24g_ch_map1 ,pdata 
+2c99 9a20fe00 iadd rega ,pdata 
+2c9a 98408c00 iadd temp ,contr 
+2c9b e8c08000 ifetch 1 ,contr 
+2c9c 2020322f branch g24_store_mem_ch 
+
+g24_set_device_addr:
+2c9d 2040326c call g24_store_mem_tx_power_temp 
+2c9e 2040666a call otp_enable_chgpump 
+2c9f 580007e2 setarg 0x7e2 
+2ca0 da200aa2 arg mem_temp ,rega 
+2ca1 d8400004 arg 4 ,temp 
+2ca2 204066b3 call otpd_read_data 
+2ca3 2040666d call otp_disable_chgpump 
+2ca4 68020aa2 fetch 4 ,mem_temp 
+2ca5 20403227 call g24_store_mem_device_addr 
+2ca6 247a0000 nrtn blank 
+2ca7 680240a0 fetch 4 ,mem_lap 
+2ca8 20203227 branch g24_store_mem_device_addr 
+
+g24_transmit_rf_sta_init:
+2ca9 20403241 call g24_set1_mem_rf_last_sta 
+2caa 58000000 setarg 0 
+2cab 2040323f call g24_store_mem_sync_cnt 
+
+g24_transmit_rf_ctrl_clear:
+2cac 2040323a call g24_fetch_mem_data_type 
+2cad 1fe17e07 and_into bits_data ,pdata 
+2cae 2020323c branch g24_store_mem_data_type 
+
+g24_hop_ch_enable:
+2caf 2040323a call g24_fetch_mem_data_type 
+2cb0 79207e04 set1 bit_hop ,pdata 
+2cb1 2040323c call g24_store_mem_data_type 
+2cb2 20203235 branch g24_store_mem_txpayload 
+
+g24_transmit_hop_pac_fail:
+2cb3 2040325d call g24_fetch_mem_rf_work_stage 
+2cb4 c000acb7 beq 1 ,g24_transmit_hop_pac_fail_wo_hop 
+2cb5 c0012cbc beq 2 ,g24_transmit_hop_pac_fail_hop_stage2 
+2cb6 20600000 rtn 
+
+g24_transmit_hop_pac_fail_wo_hop:
+2cb7 2040323e call g24_set2_mem_sync_cnt 
+
+g24_transmit_hop_pac_fail_stage1:
+2cb8 1a608ad1 add regc ,offset_24g_hop_pac_retry ,contw 
+2cb9 204032d6 call g24_mem_set0 
+2cba 20403242 call g24_store_mem_rf_last_sta 
+2cbb 20202cac branch g24_transmit_rf_ctrl_clear 
+
+g24_transmit_hop_pac_fail_hop_stage2:
+2cbc 2040325a call g24_set0_mem_rf_hop_ch 
+2cbd 20202cb8 branch g24_transmit_hop_pac_fail_stage1 
+
+g24_transmit_pac_fail_hop_stage3:
+2cbe 1a60a28c add regc ,offset_24g_txfail_cnt ,rega 
+2cbf ea208000 ifetch 1 ,rega 
+2cc0 1fe0fe01 increase 1 ,pdata 
+2cc1 1a608a8c add regc ,offset_24g_txfail_cnt ,contw 
+2cc2 e0a08000 istore 1 ,contw 
+2cc3 c0102dd2 beq 0x20 ,g24_tx_attempt_fail 
+2cc4 20403258 call g24_fetch_mem_rf_hop_ch 
+2cc5 c000acca beq 1 ,g24_rf_hop_fastly 
+2cc6 58000001 setarg 1 
+2cc7 2040325b call g24_store_mem_rf_hop_ch 
+
+g24_rf_hop_attemp_again:
+2cc8 20403258 call g24_fetch_mem_rf_hop_ch 
+2cc9 c080acac bne 1 ,g24_transmit_rf_ctrl_clear 
+
+g24_rf_hop_fastly:
+2cca 1a60a2d3 add regc ,offset_24g_hop_fastly_cnt ,rega 
+2ccb ea208000 ifetch 1 ,rega 
+2ccc 1fe0fe01 increase 1 ,pdata 
+2ccd 20402cd5 call g24_store_mem_hop_fastly_cnt 
+2cce c0022cd2 beq 4 ,g24_rf_hop_fastly_exit 
+2ccf 20402c8a call g24_ch 
+2cd0 20402d04 call g24_set2_mem_max_retry 
+2cd1 20202d8f branch g24_transmit_packet 
+
+g24_rf_hop_fastly_exit:
+2cd2 20402cd4 call g24_set0_mem_hop_fastly_cnt 
+2cd3 20202cac branch g24_transmit_rf_ctrl_clear 
+
+g24_set0_mem_hop_fastly_cnt:
+2cd4 58000000 setarg 0 
+
+g24_store_mem_hop_fastly_cnt:
+2cd5 1a608ad3 add regc ,offset_24g_hop_fastly_cnt ,contw 
+2cd6 202032b4 branch g24_contw_istore_1byte 
+
+g24_transmit_hop_pac_succ_wo_hop:
+2cd7 2040323e call g24_set2_mem_sync_cnt 
+
+g24_transmit_hop_pac_succ:
+2cd8 2040325a call g24_set0_mem_rf_hop_ch 
+2cd9 20403241 call g24_set1_mem_rf_last_sta 
+2cda 20202cac branch g24_transmit_rf_ctrl_clear 
+
+g24_transmit_succ_rf_config:
+2cdb 2040325d call g24_fetch_mem_rf_work_stage 
+2cdc c001acd8 beq 3 ,g24_transmit_hop_pac_succ 
+2cdd 2040323a call g24_fetch_mem_data_type 
+2cde 2fec0004 isolate0 bit_hop ,pdata 
+2cdf 2020aca9 branch g24_transmit_rf_sta_init ,true 
+2ce0 2040325d call g24_fetch_mem_rf_work_stage 
+2ce1 c000acd7 beq 1 ,g24_transmit_hop_pac_succ_wo_hop 
+2ce2 c0012cd8 beq 2 ,g24_transmit_hop_pac_succ 
+2ce3 20600000 rtn 
+
+g24_rf_sta_check:
+2ce4 20403253 call g24_fetch_mem_pairing_sm 
+2ce5 c1ff8000 rtnne state_24g_pairing_success 
+2ce6 20402ce9 call g24_rf_laststa_synccnt_check 
+2ce7 24562cf4 ncall g24_rf_sync_cnt_check ,user2 
+2ce8 20600000 rtn 
+
+g24_rf_laststa_synccnt_check:
+2ce9 78567c00 disable user2 
+2cea 1a60a2ce add regc ,offset_24g_rf_last_sta ,rega 
+2ceb ea208000 ifetch 1 ,rega 
+2cec c1808000 rtnne 1 
+2ced 1a60a2d0 add regc ,offset_24g_sync_cnt ,rega 
+2cee ea208000 ifetch 1 ,rega 
+2cef c1800000 rtnne 0 
+2cf0 58000001 setarg 1 
+2cf1 20402cfd call g24_store_mem_rf_work_stage 
+2cf2 20403237 call g24_set4_mem_max_retry 
+2cf3 20207feb branch enable_user2 
+
+g24_rf_sync_cnt_check:
+2cf4 1a60a2d0 add regc ,offset_24g_sync_cnt ,rega 
+2cf5 ea208000 ifetch 1 ,rega 
+2cf6 203a2cff branch g24_rf_hop_attemp ,blank 
+2cf7 1fe0ffff increase -1 ,pdata 
+2cf8 2040323f call g24_store_mem_sync_cnt 
+2cf9 58000002 setarg 2 
+2cfa 20402cfd call g24_store_mem_rf_work_stage 
+2cfb 20402c8a call g24_ch 
+2cfc 20203237 branch g24_set4_mem_max_retry 
+
+g24_store_mem_rf_work_stage:
+2cfd 1a608ad2 add regc ,offset_24g_rf_work_stage ,contw 
+2cfe 202032b4 branch g24_contw_istore_1byte 
+
+g24_rf_hop_attemp:
+2cff 58000003 setarg 3 
+2d00 20402cfd call g24_store_mem_rf_work_stage 
+2d01 20403258 call g24_fetch_mem_rf_hop_ch 
+2d02 243a2cc8 nbranch g24_rf_hop_attemp_again ,blank 
+2d03 20402c8a call g24_ch 
+
+g24_set2_mem_max_retry:
+2d04 58000002 setarg 2 
+2d05 20203238 branch g24_store_mem_max_retry 
+
+g24_transmit_process:
+2d06 c6930000 rtnmark0 mark_24g 
+2d07 79200027 set1 mark_24g_conext ,mark 
+2d08 44d9c016 bpatch patch16_3 ,mem_patch16 
+2d09 1a60a28e add regc ,offset_24g_tx_without_int ,rega 
+2d0a ea208000 ifetch 1 ,rega 
+2d0b c000ad0f beq 1 ,g24_transmit_without_int 
+2d0c 2040306a call g24_timer_check 
+2d0d 24342d16 nbranch g24_transmit_exit ,user 
+2d0e 20402d1b call g24_interval_calibrate 
+
+g24_transmit_without_int:
+2d0f 1a608a8e add regc ,offset_24g_tx_without_int ,contw 
+2d10 204032d6 call g24_mem_set0 
+2d11 20402d2c call g24_txdata_prep 
+2d12 24342d7d nbranch g24_enter_lpm ,user 
+2d13 20402ce4 call g24_rf_sta_check 
+
+g24_transmit_start:
+2d14 20402d8f call g24_transmit_packet 
+2d15 20402e7a call g24_power_ctrl 
+
+g24_transmit_exit:
+2d16 793f8027 set0 mark_24g_conext ,mark 
+2d17 20600000 rtn 
+
+g24_timer_timeout:
+2d18 20628000 rtn zero 
+2d19 79207e1c set1 28 ,pdata 
+2d1a 20600000 rtn 
+
+g24_interval_calibrate:
+2d1b 1a60a2c2 add regc ,offset_24g_pac_index ,rega 
+2d1c ea208000 ifetch 1 ,rega 
+2d1d 1fe0fe01 increase 1 ,pdata 
+2d1e 1a608ac2 add regc ,offset_24g_pac_index ,contw 
+2d1f e0a08000 istore 1 ,contw 
+2d20 c0022d23 beq 4 ,g24_interval_max 
+2d21 c002ad27 beq 5 ,g24_interval_min 
+2d22 20600000 rtn 
+
+g24_interval_max:
+2d23 1a60a2ad add regc ,offset_24g_interval_max ,rega 
+2d24 ea208000 ifetch 1 ,rega 
+
+g24_interval_update:
+2d25 1a608aab add regc ,offset_24g_interval ,contw 
+2d26 202032b4 branch g24_contw_istore_1byte 
+
+g24_interval_min:
+2d27 1a608ac2 add regc ,offset_24g_pac_index ,contw 
+2d28 204032d6 call g24_mem_set0 
+2d29 1a60a2ac add regc ,offset_24g_interval_min ,rega 
+2d2a ea208000 ifetch 1 ,rega 
+2d2b 20202d25 branch g24_interval_update 
+
+g24_txdata_prep:
+2d2c 20403253 call g24_fetch_mem_pairing_sm 
+2d2d c0ffaeb1 bne state_24g_pairing_success ,g24_pairing_sm 
+2d2e 44da4016 bpatch patch16_4 ,mem_patch16 
+2d2f 20402d3a call g24_package_data 
+2d30 24342d36 nbranch g24_txdata_last_pac ,user 
+2d31 20402d53 call g24_transmit_prep 
+2d32 20402e71 call g24_power_ctrl_pac_incrs 
+
+g24_txdata_enable_tx:
+2d33 58000001 setarg ensure_on_24g 
+
+g24_store_mem_ensure:
+2d34 1a608a8b add regc ,offset_24g_ensure ,contw 
+2d35 202032b4 branch g24_contw_istore_1byte 
+
+g24_txdata_last_pac:
+2d36 1a60a28b add regc ,offset_24g_ensure ,rega 
+2d37 ea208000 ifetch 1 ,rega 
+2d38 c000ffe7 beq ensure_on_24g ,enable_user 
+2d39 20600000 rtn 
+
+g24_package_data:
+2d3a 1a6084d8 add regc ,offset_24g_cb_data ,temp 
+2d3b e8410000 ifetch 2 ,temp 
+2d3c 20407f9c call callback_func 
+2d3d 24740000 nrtn user 
+2d3e 1a227e00 copy rega ,pdata 
+2d3f 60008aae store 1 ,mem_rega 
+2d40 1a608ab2 add regc ,offset_24g_abort_pac ,contw 
+2d41 204032d6 call g24_mem_set0 
+2d42 20402cac call g24_transmit_rf_ctrl_clear 
+2d43 6000919e store 1 ,mem_24g_common_temp 
+2d44 68008aae fetch 1 ,mem_rega 
+2d45 1fe22200 copy pdata ,rega 
+2d46 1a208401 add rega ,1 ,temp 
+2d47 d8a0119f arg mem_24g_common_temp + 1 ,contw 
+2d48 1a227200 copy rega ,loopcnt 
+2d49 1a420c00 copy regb ,contr 
+2d4a 20407f01 call memcpy 
+2d4b da20119e arg mem_24g_common_temp ,rega 
+
+g24_put_data_in_buff:
+2d4c c6938000 rtnmark0 mark_24g_conext 
+2d4d 1a608a86 add regc ,offset_24g_datalen ,contw 
+2d4e e0a88000 istoret 1 ,contw 
+2d4f 18427200 copy temp ,loopcnt 
+2d50 1a608a22 add regc ,offset_24g_txbuf ,contw 
+2d51 1a220c00 copy rega ,contr 
+2d52 20207f01 branch memcpy 
+
+g24_transmit_prep:
+2d53 1a60a286 add regc ,offset_24g_datalen ,rega 
+2d54 ea208000 ifetch 1 ,rega 
+2d55 1fe0fe02 increase 2 ,pdata 
+2d56 1a608a88 add regc ,offset_24g_txlen ,contw 
+2d57 e0a08000 istore 1 ,contw 
+2d58 2040323a call g24_fetch_mem_data_type 
+2d59 20403235 call g24_store_mem_txpayload 
+2d5a 1a60a286 add regc ,offset_24g_datalen ,rega 
+2d5b ea208000 ifetch 1 ,rega 
+2d5c 1fe9fe00 lshift3 pdata ,pdata 
+2d5d 1a60a285 add regc ,offset_24g_pid ,rega 
+2d5e ea288000 ifetcht 1 ,rega 
+2d5f 18410403 and temp ,0x03 ,temp 
+2d60 18438400 lshift temp ,temp 
+2d61 9841fe00 ior temp ,pdata 
+2d62 1a60a2c3 add regc ,offset_24g_no_ack ,rega 
+2d63 ea288000 ifetcht 1 ,rega 
+2d64 9840fe00 iadd temp ,pdata 
+2d65 e0a08000 istore 1 ,contw 
+2d66 1a60a286 add regc ,offset_24g_datalen ,rega 
+2d67 ea208000 ifetch 1 ,rega 
+2d68 98007200 iforce loopcnt 
+2d69 1a608c22 add regc ,offset_24g_txbuf ,contr 
+2d6a 20207f01 branch memcpy 
+
+g24_send_abort_packet:
+2d6b 2040324f call g24_set1_mem_abort_pac 
+2d6c 2040325a call g24_set0_mem_rf_hop_ch 
+2d6d 20402e6d call g24_power_ctrl_reinit 
+2d6e 20402cac call g24_transmit_rf_ctrl_clear 
+2d6f 6000919e store 1 ,mem_24g_common_temp 
+2d70 20402d77 call g24_put_data_in_buff_pre 
+2d71 2040323a call g24_fetch_mem_data_type 
+2d72 79207e03 set1 bit_abort ,pdata 
+2d73 2040323c call g24_store_mem_data_type 
+2d74 20402d53 call g24_transmit_prep 
+2d75 20402d33 call g24_txdata_enable_tx 
+2d76 20202d14 branch g24_transmit_start 
+
+g24_put_data_in_buff_pre:
+2d77 6000919f store 1 ,mem_24g_common_temp + 1 
+2d78 20403224 call g24_fetch_mem_device_addr 
+2d79 600211a0 store 4 ,mem_24g_common_temp + 2 
+2d7a d8400006 arg 6 ,temp 
+2d7b da20119e arg mem_24g_common_temp ,rega 
+2d7c 20202d4c branch g24_put_data_in_buff 
+
+g24_enter_lpm:
+2d7d 1a60a2b2 add regc ,offset_24g_abort_pac ,rega 
+2d7e ea208000 ifetch 1 ,rega 
+2d7f 203a2d6b branch g24_send_abort_packet ,blank 
+
+g24_enter_lpm_prepare:
+2d80 1a60a2da add regc ,offset_24g_cb_lpm_prepare ,rega 
+2d81 ea210000 ifetch 2 ,rega 
+2d82 20207f9c branch callback_func 
+
+g24_lpm_long_sleep:
+2d83 20402c7a call g24_head_ptr2regc 
+2d84 20402afa call lpo_calibration 
+2d85 6801c16f fetch 3 ,mem_clks_per_lpo 
+2d86 207a0000 rtn blank 
+2d87 1a6084dc add regc ,offset_24g_cb_lpm_before ,temp 
+2d88 e8410000 ifetch 2 ,temp 
+2d89 20407f9c call callback_func 
+2d8a 1a6084b6 add regc ,offset_24g_enter_hibernate ,temp 
+2d8b e8440000 ifetch 8 ,temp 
+2d8c 20407f49 call clk2lpo 
+2d8d 600a415b storet 4 ,mem_sleep_counter 
+2d8e 20202b2a branch lpm_sleep 
+
+g24_transmit_packet:
+2d8f 20402c7a call g24_head_ptr2regc 
+2d90 1a608a8f add regc ,offset_24g_retry ,contw 
+2d91 204032d6 call g24_mem_set0 
+
+g24_transmit_loop:
+2d92 20402da4 call g24_transmit_receive_ack 
+2d93 242c2dae nbranch g24_retransmit ,sync 
+2d94 2437adae nbranch g24_retransmit ,user3 
+2d95 20402dd6 call g24_ackpayload_parse 
+2d96 20402e75 call g24_power_ctrl_ack_incrs 
+
+g24_transmit_next_packet:
+2d97 20402c7a call g24_head_ptr2regc 
+2d98 1a60a285 add regc ,offset_24g_pid ,rega 
+2d99 ea208000 ifetch 1 ,rega 
+2d9a 1fe0fe01 increase 1 ,pdata 
+2d9b 20403232 call g24_store_mem_pid 
+2d9c 20403253 call g24_fetch_mem_pairing_sm 
+2d9d c0ffaed0 bne state_24g_pairing_success ,g24_paring_mode 
+2d9e 20402cdb call g24_transmit_succ_rf_config 
+
+g24_transmit_abandon:
+2d9f 58000000 setarg 0 
+2da0 1a608a8c add regc ,offset_24g_txfail_cnt ,contw 
+2da1 e0a10000 istore 2 ,contw 
+2da2 58000000 setarg ensure_off_24g 
+2da3 20202d34 branch g24_store_mem_ensure 
+
+g24_transmit_receive_ack:
+2da4 7857fc00 disable user3 
+2da5 20402df7 call g24_transmit 
+2da6 20402c7a call g24_head_ptr2regc 
+2da7 1a60a2c3 add regc ,offset_24g_no_ack ,rega 
+2da8 ea208000 ifetch 1 ,rega 
+2da9 c000adac beq no_ack_24g ,g24_transmit_no_ack 
+2daa 20402e11 call g24_receive_packet 
+2dab 20202e45 branch g24_end_of_packet 
+
+g24_transmit_no_ack:
+2dac 20402e45 call g24_end_of_packet 
+2dad 20202d97 branch g24_transmit_next_packet 
+
+g24_retransmit:
+2dae 44dac016 bpatch patch16_5 ,mem_patch16 
+2daf 1a60a28d add regc ,offset_24g_get_ack_fail ,rega 
+2db0 ea208000 ifetch 1 ,rega 
+2db1 1fe0fe01 increase 1 ,pdata 
+2db2 1a608a8d add regc ,offset_24g_get_ack_fail ,contw 
+2db3 e0a08000 istore 1 ,contw 
+2db4 20403253 call g24_fetch_mem_pairing_sm 
+2db5 c0ffadcc bne state_24g_pairing_success ,g24_tx_paring_retry 
+2db6 1a60a28f add regc ,offset_24g_retry ,rega 
+2db7 ea288000 ifetcht 1 ,rega 
+2db8 18408401 increase 1 ,temp 
+2db9 1a608a8f add regc ,offset_24g_retry ,contw 
+2dba e0a88000 istoret 1 ,contw 
+2dbb 1a60a2cc add regc ,offset_24g_max_retry ,rega 
+2dbc ea208000 ifetch 1 ,rega 
+2dbd 98467e00 isub temp ,pdata 
+2dbe 243a2d92 nbranch g24_transmit_loop ,blank 
+2dbf 44db4016 bpatch patch16_6 ,mem_patch16 
+2dc0 2040325d call g24_fetch_mem_rf_work_stage 
+2dc1 c001acbe beq 3 ,g24_transmit_pac_fail_hop_stage3 
+2dc2 1a60a2d1 add regc ,offset_24g_hop_pac_retry ,rega 
+2dc3 ea208000 ifetch 1 ,rega 
+2dc4 1fe0fe01 increase 1 ,pdata 
+2dc5 1a608ad1 add regc ,offset_24g_hop_pac_retry ,contw 
+2dc6 e0a08000 istore 1 ,contw 
+2dc7 c0012cb3 beq 2 ,g24_transmit_hop_pac_fail 
+2dc8 20402caf call g24_hop_ch_enable 
+2dc9 58000001 setarg 1 
+2dca 20403238 call g24_store_mem_max_retry 
+2dcb 20202d8f branch g24_transmit_packet 
+
+g24_tx_paring_retry:
+2dcc 1a60a28d add regc ,offset_24g_get_ack_fail ,rega 
+2dcd ea208000 ifetch 1 ,rega 
+2dce c1ff8000 rtnne 0xff 
+2dcf 1a608a8d add regc ,offset_24g_get_ack_fail ,contw 
+2dd0 204032d6 call g24_mem_set0 
+2dd1 20202dd4 branch g24_stop_24g_mode 
+
+g24_tx_attempt_fail:
+2dd2 1a608a8c add regc ,offset_24g_txfail_cnt ,contw 
+2dd3 204032d6 call g24_mem_set0 
+
+g24_stop_24g_mode:
+2dd4 700a993a jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+2dd5 20207d86 branch ui_ipc_send_event 
+
+g24_ackpayload_parse:
+2dd6 20402dde call g24_read_len_pid_crc 
+2dd7 1a60a284 add regc ,offset_24g_rxdata_length ,rega 
+2dd8 ea208000 ifetch 1 ,rega 
+2dd9 207a0000 rtn blank 
+2dda 98007200 iforce loopcnt 
+2ddb 1a608c02 add regc ,offset_24g_rxbuf_add2 ,contr 
+2ddc 1a608a64 add regc ,offset_24g_rxpayload ,contw 
+2ddd 20207f01 branch memcpy 
+
+g24_read_len_pid_crc:
+2dde 2040325f call g24_fetch_mem_rxbuf_add1 
+2ddf 1fe97e00 rshift3 pdata ,pdata 
+2de0 1a608a84 add regc ,offset_24g_rxdata_length ,contw 
+2de1 e0a08000 istore 1 ,contw 
+2de2 1fe0fe01 increase 1 ,pdata 
+2de3 1a608c01 add regc ,offset_24g_rxbuf_add1 ,contr 
+2de4 98c08c00 iadd contr ,contr 
+2de5 e8c18000 ifetch 3 ,contr 
+2de6 1a608ac4 add regc ,offset_24g_sta_crc ,contw 
+2de7 e0a18000 istore 3 ,contw 
+2de8 2040325f call g24_fetch_mem_rxbuf_add1 
+2de9 1fe37e00 rshift pdata ,pdata 
+2dea 1fe17e03 and pdata ,0x03 ,pdata 
+2deb 1a608aca add regc ,offset_24g_sta_pid ,contw 
+2dec e0a08000 istore 1 ,contw 
+2ded 20600000 rtn 
+
+g24_prep:
+2dee 7844fc00 disable enable_crc 
+2def 7843fc00 disable enable_white 
+2df0 58555555 setarg 0x555555 
+2df1 98001e00 iforce crc24_init 
+2df2 20600000 rtn 
+
+g24_set_freq_tx:
+2df3 20402918 call set_sync_on 
+2df4 1a60a290 add regc ,offset_24g_ch ,rega 
+2df5 ea288000 ifetcht 1 ,rega 
+2df6 20202933 branch set_freq_tx 
+
+g24_transmit:
+2df7 20402dee call g24_prep 
+2df8 20402df3 call g24_set_freq_tx 
+2df9 79202a00 set1 txgfsk ,radio_ctrl 
+2dfa 782efc00 enable encode_fec0 
+2dfb 78307c00 enable is_tx 
+2dfc 7850fc00 disable is_rx 
+2dfd 204053c4 call le_enable 
+2dfe 2040322a call g24_fetch_mem_addr 
+2dff 98001200 iforce access 
+2e00 08008620 inject mod ,32 
+2e01 7824fc00 enable enable_crc 
+2e02 1a60a288 add regc ,offset_24g_txlen ,rega 
+2e03 ea208000 ifetch 1 ,rega 
+2e04 98007200 iforce loopcnt 
+2e05 1a608c42 add regc ,offset_24g_txpayload ,contr 
+
+g24tr_loop:
+2e06 e8c08000 ifetch 1 ,contr 
+2e07 08008608 inject mod ,8 
+2e08 c2002e06 loop g24tr_loop 
+2e09 78247c00 enable enable_parity 
+2e0a 08008618 inject mod ,24 
+2e0b 78447c00 disable enable_parity 
+2e0c 37d38200 until null ,tx_clear 
+2e0d 44dbc016 bpatch patch16_7 ,mem_patch16 
+2e0e 20000064 nop 100 
+2e0f 784efc00 disable encode_fec0 
+2e10 20600000 rtn 
+
+g24_receive_packet:
+2e11 7857fc00 disable user3 
+2e12 18002a00 force 0 ,radio_ctrl 
+2e13 1a60a290 add regc ,offset_24g_ch ,rega 
+2e14 ea288000 ifetcht 1 ,rega 
+2e15 2040291f call set_freq_rx 
+2e16 20402924 call rf_rx_enable 
+
+g24_receive_rxon:
+2e17 20402dee call g24_prep 
+2e18 7826fc00 enable decode_fec0 
+2e19 7830fc00 enable is_rx 
+2e1a 78507c00 disable is_tx 
+2e1b 204053c4 call le_enable 
+2e1c 2040322a call g24_fetch_mem_addr 
+2e1d 98001200 iforce access 
+2e1e 78287c00 enable swfine 
+2e1f 1a60a289 add regc ,offset_24g_rx_window ,rega 
+2e20 ea210000 ifetch 2 ,rega 
+2e21 98003600 iforce stop_watch 
+2e22 37c18400 correlate null ,timeout 
+2e23 242c2e4d nbranch g24_sync_timeout ,sync 
+2e24 7824fc00 enable enable_crc 
+2e25 09800008 parse demod ,bucket ,8 
+2e26 19897e00 rshift3 pwindow ,pdata 
+2e27 1a608a00 add regc ,offset_24g_rxbuf ,contw 
+2e28 e0a08000 istore 1 ,contw 
+2e29 1a60a2cd add regc ,offset_24g_mode ,rega 
+2e2a ea208000 ifetch 1 ,rega 
+2e2b c0012e33 beq rx_24g ,g24_receive_skip 
+2e2c 44dc4017 bpatch patch17_0 ,mem_patch17 
+2e2d 1a60a200 add regc ,offset_24g_rxbuf ,rega 
+2e2e ea208000 ifetch 1 ,rega 
+2e2f 1a60a287 add regc ,offset_24g_data_type ,rega 
+2e30 ea288000 ifetcht 1 ,rega 
+2e31 a8400e00 icompare bits_data ,temp 
+2e32 2420ae45 nbranch g24_end_of_packet ,true 
+
+g24_receive_skip:
+2e33 09800008 parse demod ,bucket ,8 
+2e34 19897e00 rshift3 pwindow ,pdata 
+2e35 e0a08000 istore 1 ,contw 
+2e36 1fe97e00 rshift3 pdata ,pdata 
+2e37 1fe1721f and pdata ,0x1f ,loopcnt 
+2e38 2022ae3d branch g24rx_nopayload ,zero 
+
+g24rx_loop:
+2e39 09800008 parse demod ,bucket ,8 
+2e3a 19897e00 rshift3 pwindow ,pdata 
+2e3b e0a08000 istore 1 ,contw 
+2e3c c2002e39 loop g24rx_loop 
+
+g24rx_nopayload:
+2e3d 09800018 parse demod ,bucket ,24 
+2e3e 1fef7e00 rshift32 pdata ,pdata 
+2e3f 1ff17e00 rshift16 pdata ,pdata 
+2e40 e0a18000 istore 3 ,contw 
+2e41 20232e45 branch g24_end_of_packet ,crc_failed 
+2e42 7837fc00 enable user3 
+2e43 7846fc00 disable decode_fec0 
+2e44 20600000 rtn 
+
+g24_end_of_packet:
+2e45 784efc00 disable encode_fec0 
+2e46 7846fc00 disable decode_fec0 
+2e47 7844fc00 disable enable_crc 
+2e48 7843fc00 disable enable_white 
+2e49 2030a8f9 branch shutdown_radio ,is_rx 
+2e4a 37d38200 until null ,tx_clear 
+2e4b 20000064 nop 100 
+2e4c 202028f9 branch shutdown_radio 
+
+g24_sync_timeout:
+2e4d 20402e4f call rssi_noise 
+2e4e 20202e45 branch g24_end_of_packet 
+
+rssi_noise:
+2e4f 204029bb call save_rssi 
+2e50 207a0000 rtn blank 
+2e51 1a60a2ea add regc ,offset_rssi_noise_index ,rega 
+2e52 ea288000 ifetcht 1 ,rega 
+2e53 da200d9e arg mem_rssi_noise_buffer ,rega 
+2e54 20402e58 call rssi_noise_store 
+2e55 1a608aea add regc ,offset_rssi_noise_index ,contw 
+
+g24_contw_istoret_1byte:
+2e56 e0a88000 istoret 1 ,contw 
+2e57 20600000 rtn 
+
+rssi_noise_store:
+2e58 da4000ff arg rssi_buf_len_noise ,regb 
+2e59 20202e5a branch rssi_store 
+
+rssi_store:
+2e5a 1a227e00 copy rega ,pdata 
+2e5b 98408a00 iadd temp ,contw 
+2e5c 68008018 fetch 1 ,mem_rssi 
+2e5d e0a08000 istore 1 ,contw 
+2e5e 18408401 increase 1 ,temp 
+2e5f 1a427e00 copy regb ,pdata 
+2e60 98410400 iand_into temp 
+2e61 20600000 rtn 
+
+rssi_average:
+2e62 d8400000 arg 0 ,temp 
+2e63 1a220c00 copy rega ,contr 
+
+rssi_average_loop:
+2e64 e8c08000 ifetch 1 ,contr 
+2e65 98408400 iadd temp ,temp 
+2e66 c2002e64 loop rssi_average_loop 
+2e67 184c8400 rshift8 temp ,temp 
+2e68 20600000 rtn 
+
+g24_power_ctrl_init:
+2e69 20402c7a call g24_head_ptr2regc 
+2e6a 20402e9f call g24_power_ctrl_incrs_level1 
+2e6b 58000001 setarg 1 
+2e6c 20403272 call g24_store_mem_power_ctrl_level 
+
+g24_power_ctrl_reinit:
+2e6d 58000000 setarg 0 
+2e6e 20402e73 call g24_store_mem_power_ctrl_pac 
+2e6f e0a08000 istore 1 ,contw 
+2e70 20600000 rtn 
+
+g24_power_ctrl_pac_incrs:
+2e71 20403270 call g24_fetch_mem_power_ctrl_pac 
+2e72 1fe0fe01 increase 1 ,pdata 
+
+g24_store_mem_power_ctrl_pac:
+2e73 1a608afc add regc ,offset_power_ctrl_packet_cnt ,contw 
+2e74 202032b4 branch g24_contw_istore_1byte 
+
+g24_power_ctrl_ack_incrs:
+2e75 1a60a2fd add regc ,offset_power_ctrl_ack_cnt ,rega 
+2e76 ea208000 ifetch 1 ,rega 
+2e77 1fe0fe01 increase 1 ,pdata 
+2e78 1a608afd add regc ,offset_power_ctrl_ack_cnt ,contw 
+2e79 202032b4 branch g24_contw_istore_1byte 
+
+g24_power_ctrl:
+2e7a 44dcc017 bpatch patch17_1 ,mem_patch17 
+2e7b 20403270 call g24_fetch_mem_power_ctrl_pac 
+2e7c 1fe67c7c sub pdata ,power_ctrl_max_packet_cnt ,null 
+2e7d 20610000 rtn positive 
+2e7e 1a60a2fd add regc ,offset_power_ctrl_ack_cnt ,rega 
+2e7f ea288000 ifetcht 1 ,rega 
+2e80 98460400 isub temp ,temp 
+2e81 20402e6d call g24_power_ctrl_reinit 
+2e82 58000102 setarg offset_power_ctrl_threshold_up 
+2e83 9a60a200 iadd regc ,rega 
+2e84 ea208000 ifetch 1 ,rega 
+2e85 98467c00 isub temp ,null 
+2e86 24212e8d nbranch g24_power_ctrl_incrs ,positive 
+2e87 58000103 setarg offset_power_ctrl_threshold_down 
+2e88 9a60a200 iadd regc ,rega 
+2e89 ea208000 ifetch 1 ,rega 
+2e8a 98467c00 isub temp ,null 
+2e8b 20212e99 branch g24_power_ctrl_decrs ,positive 
+2e8c 20600000 rtn 
+
+g24_power_ctrl_incrs:
+2e8d 1a60a2fe add regc ,offset_power_ctrl_level ,rega 
+2e8e ea208000 ifetch 1 ,rega 
+2e8f c0012e93 beq 2 ,g24_power_ctrl_incrs_level2 
+2e90 1fe0fe01 increase 1 ,pdata 
+2e91 20403272 call g24_store_mem_power_ctrl_level 
+2e92 c000ae9f beq 1 ,g24_power_ctrl_incrs_level1 
+
+g24_power_ctrl_incrs_level2:
+2e93 5800000a setarg power_ctrl_losspac_thresh_up2 
+2e94 204032b0 call g24_store_mem_power_ctrl_threshold_up 
+2e95 58000000 setarg power_ctrl_losspac_thresh_down2 
+2e96 204032b2 call g24_store_mem_power_ctrl_threshold_down 
+2e97 1a60a2ff add regc ,offset_power_ctrl_txpwr_level2 ,rega 
+2e98 20202ea5 branch g24_ifetch_rega_store_mem_txpower 
+
+g24_power_ctrl_decrs:
+2e99 1a60a2fe add regc ,offset_power_ctrl_level ,rega 
+2e9a ea208000 ifetch 1 ,rega 
+2e9b c0002ea7 beq 0 ,g24_power_ctrl_decrs_level0 
+2e9c 1fe0ffff increase -1 ,pdata 
+2e9d 20403272 call g24_store_mem_power_ctrl_level 
+2e9e c0002ea7 beq 0 ,g24_power_ctrl_decrs_level0 
+
+g24_power_ctrl_decrs_level1:
+
+g24_power_ctrl_incrs_level1:
+2e9f 58000005 setarg power_ctrl_losspac_thresh_up1 
+2ea0 204032b0 call g24_store_mem_power_ctrl_threshold_up 
+2ea1 58000000 setarg power_ctrl_losspac_thresh_down1 
+2ea2 204032b2 call g24_store_mem_power_ctrl_threshold_down 
+2ea3 58000100 setarg offset_power_ctrl_txpwr_level1 
+
+g24_iadd_offset_mem_txpower:
+2ea4 9a60a200 iadd regc ,rega 
+
+g24_ifetch_rega_store_mem_txpower:
+2ea5 ea208000 ifetch 1 ,rega 
+2ea6 2020326a branch g24_store_mem_txpower 
+
+g24_power_ctrl_decrs_level0:
+2ea7 58000002 setarg power_ctrl_losspac_thresh_up0 
+2ea8 204032b0 call g24_store_mem_power_ctrl_threshold_up 
+2ea9 58000000 setarg power_ctrl_losspac_thresh_down0 
+2eaa 204032b2 call g24_store_mem_power_ctrl_threshold_down 
+2eab 58000101 setarg offset_power_ctrl_txpwr_level0 
+2eac 20202ea4 branch g24_iadd_offset_mem_txpower 
+
+g24_start_pairing_sm1:
+2ead 79200026 set1 mark_24g ,mark 
+2eae 20402c83 call g24_pair_init 
+
+g24_set_pairing_sm_1:
+2eaf 58000001 setarg state_24g_pairing_1 
+2eb0 20203256 branch g24_store_mem_pairing_sm 
+
+g24_pairing_sm:
+2eb1 1a60a28b add regc ,offset_24g_ensure ,rega 
+2eb2 ea208000 ifetch 1 ,rega 
+2eb3 c000ffe7 beq ensure_on_24g ,enable_user 
+2eb4 20403253 call g24_fetch_mem_pairing_sm 
+2eb5 c000aeb9 beq state_24g_pairing_1 ,g24_pairing_sm_1 
+2eb6 c0012ebd beq state_24g_pairing_2 ,g24_pairing_sm_2 
+2eb7 c001aec1 beq state_24g_pairing_3 ,g24_pairing_sm_3 
+2eb8 20202a8c branch assert 
+
+g24_pairing_sm_1:
+2eb9 58000011 setarg state_24g_pairing_1_waiting_ack 
+2eba 20403256 call g24_store_mem_pairing_sm 
+2ebb 70119eaa jam 0xaa ,mem_24g_common_temp 
+2ebc 20202ec4 branch g24_pairing_sm_common 
+
+g24_pairing_sm_2:
+2ebd 58000012 setarg state_24g_pairing_2_waiting_ack 
+2ebe 20403256 call g24_store_mem_pairing_sm 
+2ebf 70119e55 jam 0x55 ,mem_24g_common_temp 
+2ec0 20202ec4 branch g24_pairing_sm_common 
+
+g24_pairing_sm_3:
+2ec1 58000013 setarg state_24g_pairing_3_waiting_ack 
+2ec2 20403256 call g24_store_mem_pairing_sm 
+2ec3 70119e22 jam 0x22 ,mem_24g_common_temp 
+
+g24_pairing_sm_common:
+2ec4 2040323a call g24_fetch_mem_data_type 
+2ec5 1fe17e07 and_into bits_data ,pdata 
+2ec6 6000919f store 1 ,mem_24g_common_temp + 1 
+2ec7 20403224 call g24_fetch_mem_device_addr 
+2ec8 600211a0 store 4 ,mem_24g_common_temp + 2 
+
+g24_put_pairing_data_in_buff:
+2ec9 7011a400 jam 0 ,mem_24g_common_temp + 6 
+2eca da20119e arg mem_24g_common_temp ,rega 
+2ecb d8400007 arg 7 ,temp 
+2ecc 20402d4c call g24_put_data_in_buff 
+2ecd 20402d53 call g24_transmit_prep 
+2ece 20402d33 call g24_txdata_enable_tx 
+2ecf 20207fe7 branch enable_user 
+
+g24_paring_mode:
+2ed0 20403253 call g24_fetch_mem_pairing_sm 
+2ed1 c17f8000 rtneq state_24g_pairing_success 
+2ed2 c008aed6 beq state_24g_pairing_1_waiting_ack ,g24_pairing_sm_1_waiting_ack 
+2ed3 c0092ed9 beq state_24g_pairing_2_waiting_ack ,g24_pairing_sm_2_waiting_ack 
+2ed4 c009aedc beq state_24g_pairing_3_waiting_ack ,g24_pairing_sm_3_waiting_ack 
+2ed5 20600000 rtn 
+
+g24_pairing_sm_1_waiting_ack:
+2ed6 58000002 setarg state_24g_pairing_2 
+2ed7 20403256 call g24_store_mem_pairing_sm 
+2ed8 20202d9f branch g24_transmit_abandon 
+
+g24_pairing_sm_2_waiting_ack:
+2ed9 58000003 setarg state_24g_pairing_3 
+2eda 20403256 call g24_store_mem_pairing_sm 
+2edb 20202d9f branch g24_transmit_abandon 
+
+g24_pairing_sm_3_waiting_ack:
+2edc 580000ff setarg state_24g_pairing_success 
+2edd 20403256 call g24_store_mem_pairing_sm 
+2ede 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+2edf 20407d86 call ui_ipc_send_event 
+2ee0 1a60a266 add regc ,offset_24g_rxpayload_add2 ,rega 
+2ee1 ea220000 ifetch 4 ,rega 
+2ee2 2040322c call g24_store_mem_addr 
+2ee3 20202d9f branch g24_transmit_abandon 
+
+g24_auto_pair_start:
+2ee4 793f8026 set0 mark_24g ,mark 
+2ee5 20402f08 call g24_auto_pair_set_device_info 
+2ee6 20402f22 call g24_tx_attemp_data_prep 
+
+g24_auto_pair_restart:
+2ee7 20403263 call g24_set0_mem_check_dongle_times 
+
+g24_auto_pair_start_loop:
+2ee8 200007d0 nop 2000 
+2ee9 20403261 call g24_fetch_mem_check_dongle_times 
+2eea c07fadd4 beq 0xff ,g24_stop_24g_mode 
+2eeb 20402da4 call g24_transmit_receive_ack 
+2eec 242c2efa nbranch g24_auto_pair_retry ,sync 
+2eed 2437aefa nbranch g24_auto_pair_retry ,user3 
+2eee 20402dd6 call g24_ackpayload_parse 
+2eef 20402c7a call g24_head_ptr2regc 
+2ef0 1a60a292 add regc ,offset_24g_paring_addr ,rega 
+2ef1 ea2a0000 ifetcht 4 ,rega 
+2ef2 204030be call g24_fetch_mem_addr_isub_temp 
+2ef3 2022aead branch g24_start_pairing_sm1 ,zero 
+2ef4 20402c7a call g24_head_ptr2regc 
+2ef5 1a60a266 add regc ,offset_24g_rxpayload_add2 ,rega 
+2ef6 ea220000 ifetch 4 ,rega 
+2ef7 c0002ee7 beq 0 ,g24_auto_pair_restart 
+2ef8 2040322c call g24_store_mem_addr 
+2ef9 20202f1c branch g24_tx_attemp_dongle_succ 
+
+g24_auto_pair_retry:
+2efa 20403261 call g24_fetch_mem_check_dongle_times 
+2efb 1fe0fe01 increase 1 ,pdata 
+2efc 20403264 call g24_store_mem_check_dongle_times 
+2efd 20402f04 call g24_fetch_mem_auto_paring_switch 
+2efe 1fe0fe01 increase 1 ,pdata 
+2eff 1fe17e01 and_into 1 ,pdata 
+2f00 20402f06 call g24_store_mem_auto_paring_switch 
+2f01 c0002f0c beq 0 ,g24_auto_pair_device_attemp 
+2f02 c000af0e beq 1 ,g24_auto_pair_pair_attemp 
+2f03 20600000 rtn 
+
+g24_fetch_mem_auto_paring_switch:
+2f04 5800018b setarg offset_24g_auto_pair_switch 
+2f05 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_store_mem_auto_paring_switch:
+2f06 da20018b arg offset_24g_auto_pair_switch ,rega 
+2f07 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_auto_pair_set_device_info:
+2f08 20403267 call g24_store_mem_tx_power 
+2f09 20403224 call g24_fetch_mem_device_addr 
+2f0a 2040322c call g24_store_mem_addr 
+2f0b 20202c8a branch g24_ch 
+
+g24_auto_pair_device_attemp:
+2f0c 20402f08 call g24_auto_pair_set_device_info 
+2f0d 20202ee8 branch g24_auto_pair_start_loop 
+
+g24_auto_pair_pair_attemp:
+2f0e 20402c83 call g24_pair_init 
+2f0f 20202ee8 branch g24_auto_pair_start_loop 
+
+g24_start_24g_mode:
+2f10 793f8026 set0 mark_24g ,mark 
+2f11 20402c8a call g24_ch 
+2f12 20403253 call g24_fetch_mem_pairing_sm 
+2f13 c1ff8000 rtnne state_24g_pairing_success 
+2f14 20402f22 call g24_tx_attemp_data_prep 
+2f15 20403263 call g24_set0_mem_check_dongle_times 
+
+g24_tx_attemp_dongle_loop:
+2f16 200007d0 nop 2000 
+2f17 20403261 call g24_fetch_mem_check_dongle_times 
+2f18 c07fadd4 beq 0xff ,g24_stop_24g_mode 
+2f19 20402da4 call g24_transmit_receive_ack 
+2f1a 242c2f27 nbranch g24_attemp_txdata_retry ,sync 
+2f1b 2437af27 nbranch g24_attemp_txdata_retry ,user3 
+
+g24_tx_attemp_dongle_succ:
+2f1c 79200026 set1 mark_24g ,mark 
+2f1d 20403263 call g24_set0_mem_check_dongle_times 
+2f1e 580000ff setarg state_24g_pairing_success 
+2f1f 20403256 call g24_store_mem_pairing_sm 
+2f20 700a993c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+2f21 20207d86 branch ui_ipc_send_event 
+
+g24_tx_attemp_data_prep:
+2f22 79200027 set1 mark_24g_conext ,mark 
+2f23 70119eff jam 0xff ,mem_24g_common_temp 
+2f24 2040323a call g24_fetch_mem_data_type 
+2f25 20402d77 call g24_put_data_in_buff_pre 
+2f26 20202d53 branch g24_transmit_prep 
+
+g24_attemp_txdata_retry:
+2f27 20403261 call g24_fetch_mem_check_dongle_times 
+2f28 1fe0fe01 increase 1 ,pdata 
+2f29 20403264 call g24_store_mem_check_dongle_times 
+2f2a 20402c8a call g24_ch 
+2f2b 20202f16 branch g24_tx_attemp_dongle_loop 
+
+g24_check_51cmd_start_24g:
+2f2c 20403267 call g24_store_mem_tx_power 
+2f2d 580000ff setarg state_24g_pairing_success 
+2f2e 20403256 call g24_store_mem_pairing_sm 
+2f2f 20202f10 branch g24_start_24g_mode 
+
+dongle_init:
+2f30 44dd4017 bpatch patch17_2 ,mem_patch17 
+2f31 20402c7a call g24_head_ptr2regc 
+2f32 580031b0 setarg dongle_rxdata_type1 
+2f33 1a608ade add regc ,offset_24g_cb_rxdata_type1 ,contw 
+2f34 e0a10000 istore 2 ,contw 
+2f35 20402f3d call g24_receive_init 
+2f36 204048ea call usb_init 
+2f37 204032b6 call g24_fetch_mem_pair_mode 
+2f38 44ddc017 bpatch patch17_3 ,mem_patch17 
+2f39 c0003055 beq 0x00 ,dongle_auto_bind 
+2f3a c000af45 beq 0x01 ,dongle_pc_bind 
+2f3b c007af41 beq 0x0f ,dongle_all_powerful 
+2f3c 20202a8c branch assert 
+
+g24_receive_init:
+2f3d 2040326c call g24_store_mem_tx_power_temp 
+2f3e df200080 arg 0x80 ,loopcnt 
+2f3f d8a00d9e arg mem_rssi_noise_buffer ,contw 
+2f40 20207ec6 branch memset0 
+
+dongle_all_powerful:
+2f41 20402f4c call dongle_check_mode 
+
+dongle_all_powerful_loop:
+2f42 20402f4f call g24_dongle_work_mode 
+2f43 204048d3 call usb_isr 
+2f44 20202f42 branch dongle_all_powerful_loop 
+
+dongle_pc_bind:
+2f45 44de4017 bpatch patch17_4 ,mem_patch17 
+2f46 20402f4c call dongle_check_mode 
+
+dongle_pc_bind_loop:
+2f47 20402f4f call g24_dongle_work_mode 
+2f48 20402fbd call g24_dongle_bind_mode 
+2f49 204048d3 call usb_isr 
+2f4a 20403019 call dongle_usb_dispatch 
+2f4b 20202f47 branch dongle_pc_bind_loop 
+
+dongle_check_mode:
+2f4c 20403291 call g24_set_work_mem_dongle_work_mode 
+2f4d 20403296 call g24_set0_mem_dongle_mode_init 
+2f4e 20203299 branch g24_set0_mem_ackpayload_enable 
+
+g24_dongle_work_mode:
+2f4f 2040328f call g24_fetch_mem_dongle_work_mode 
+2f50 c1800000 rtnne dongle_work 
+
+g24_dongle_work_mode_start:
+2f51 20402f55 call g24_dongle_work_init 
+2f52 20402f65 call g24_ch_process 
+2f53 2040316b call g24_receive_packet_start 
+2f54 20202f96 branch g24_blank_data_process 
+
+g24_dongle_work_init:
+2f55 20403294 call g24_fetch_mem_dongle_mode_init 
+2f56 c3800000 rtnbit1 dongle_work 
+2f57 79207e00 set1 dongle_work ,pdata 
+2f58 20403297 call g24_store_mem_dongle_mode_init 
+2f59 20403267 call g24_store_mem_tx_power 
+2f5a 20403299 call g24_set0_mem_ackpayload_enable 
+2f5b 700d3800 jam 0 ,mem_usb_tx_enable 
+2f5c 2040324f call g24_set1_mem_abort_pac 
+2f5d 20402f61 call g24_dongle_init 
+
+g24_rx_interrupt_clear:
+2f5e 1a608a00 add regc ,offset_24g_rxbuf ,contw 
+2f5f df200042 arg 66 ,loopcnt 
+2f60 20207ed4 branch clear_mem 
+
+g24_dongle_init:
+2f61 20403231 call g24_set0_mem_pid 
+2f62 2040327d call g24_fetch_mem_rx_addr 
+2f63 2040322c call g24_store_mem_addr 
+2f64 20202c8a branch g24_ch 
+
+g24_ch_process:
+2f65 44dec017 bpatch patch17_5 ,mem_patch17 
+2f66 2040324c call g24_fetch_mem_abort_pac 
+2f67 c000af8d beq 1 ,g24_noise_rssi 
+2f68 20403245 call g24_fetch_mem_hop_pac 
+2f69 c000ac8a beq 1 ,g24_ch 
+2f6a 58000136 setarg offset_24g_hop_btclk 
+2f6b 9a60a200 iadd regc ,rega 
+2f6c ea2a0000 ifetcht 4 ,rega 
+2f6d 1c427e00 copy clkn_bt ,pdata 
+2f6e 98467c00 isub temp ,null 
+2f6f 24412d18 ncall g24_timer_timeout ,positive 
+2f70 1fe22400 copy pdata ,regb 
+2f71 58000136 setarg offset_24g_hop_btclk 
+2f72 9a60a200 iadd regc ,rega 
+2f73 ea220000 ifetch 4 ,rega 
+2f74 1fe20400 copy pdata ,temp 
+2f75 5800013a setarg offset_24g_hop_interval 
+2f76 9a60a200 iadd regc ,rega 
+2f77 18427e00 copy temp ,pdata 
+2f78 ea288000 ifetcht 1 ,rega 
+2f79 98408400 iadd temp ,temp 
+2f7a 1a427e00 copy regb ,pdata 
+2f7b 98467c00 isub temp ,null 
+2f7c 24610000 nrtn positive 
+2f7d 793ffe1c set0 28 ,pdata 
+2f7e 58000136 setarg offset_24g_hop_btclk 
+2f7f 9a608a00 iadd regc ,contw 
+2f80 e0a20000 istore 4 ,contw 
+
+g24_ch_update:
+2f81 20402c8a call g24_ch 
+2f82 20403278 call g24_fetch_mem_rf_laststa 
+2f83 1fe0fe01 increase 1 ,pdata 
+2f84 2040327b call g24_store_mem_rf_laststa 
+2f85 c1810000 rtnne 2 
+2f86 2040327a call g24_set0_mem_rf_laststa 
+2f87 2020324f branch g24_set1_mem_abort_pac 
+
+g24_ch_timer_reinit:
+2f88 1c427e00 copy clkn_bt ,pdata 
+2f89 da200136 arg offset_24g_hop_btclk ,rega 
+2f8a 204032bf call g24_set_contw_with_temp 
+2f8b e0a20000 istore 4 ,contw 
+2f8c 2020327a branch g24_set0_mem_rf_laststa 
+
+g24_noise_rssi:
+2f8d da200d9e arg mem_rssi_noise_buffer ,rega 
+2f8e 20402f94 call g24_noise_rssi_average 
+2f8f 1a608aeb add regc ,offset_rssi_noise_avg ,contw 
+2f90 e0a88000 istoret 1 ,contw 
+2f91 18467c50 sub temp ,rssi_thresh_noise ,null 
+2f92 24610000 nrtn positive 
+2f93 20202c8a branch g24_ch 
+
+g24_noise_rssi_average:
+2f94 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+2f95 20202e62 branch rssi_average 
+
+g24_blank_data_process:
+2f96 20402f99 call g24_ms_blank_data 
+2f97 20402fa5 call g24_kb_blank_data 
+2f98 20202fb1 branch g24_kb_mul_blank_data 
+
+g24_ms_blank_data:
+2f99 58000180 setarg offset_24g_ms_blank_data_enable 
+2f9a 204032d0 call g24_set_rega_ifetch_1byte 
+2f9b 207a0000 rtn blank 
+2f9c d8e0000b arg timer_ms_blank ,queue 
+2f9d 20407f16 call timer_check 
+2f9e 247a0000 nrtn blank 
+2f9f 204032a7 call g24_set0_mem_ms_blank_data_enable 
+2fa0 58000001 setarg ms_report_id 
+2fa1 60008d54 store 1 ,mem_usb_mouse_data 
+2fa2 58000000 setarg 0 
+2fa3 e0a38000 istore 7 ,contw 
+2fa4 202031b8 branch g24_data_type1_usbtx_enable 
+
+g24_kb_blank_data:
+2fa5 5800017e setarg offset_24g_kb_blank_data_enable 
+2fa6 204032d0 call g24_set_rega_ifetch_1byte 
+2fa7 207a0000 rtn blank 
+2fa8 d8e0000e arg timer_kb_blank ,queue 
+2fa9 20407f16 call timer_check 
+2faa 247a0000 nrtn blank 
+2fab 204032aa call g24_set0_mem_kb_blank_data_enable 
+2fac d8a00d64 arg mem_usb_kb_data ,contw 
+2fad df200002 arg 2 ,loopcnt 
+2fae 20407ec6 call memset0 
+2faf 700d6400 jam kb_normal_report_id ,mem_usb_kb_data 
+2fb0 202031ed branch g24_kb_data_into_ep1_fifo 
+
+g24_kb_mul_blank_data:
+2fb1 5800017f setarg offset_24g_kb_mul_blank_data_enable 
+2fb2 204032d0 call g24_set_rega_ifetch_1byte 
+2fb3 207a0000 rtn blank 
+2fb4 d8e0000c arg timer_kb_mul_blank ,queue 
+2fb5 20407f16 call timer_check 
+2fb6 247a0000 nrtn blank 
+2fb7 204032ad call g24_set0_mem_kb_mul_blank_data_enable 
+2fb8 d8a00d74 arg mem_usb_kb_multikey ,contw 
+2fb9 df200002 arg 2 ,loopcnt 
+2fba 20407ec6 call memset0 
+2fbb 700d7403 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+2fbc 20203207 branch g24_kb_mul_data_into_ep2_fifo 
+
+g24_dongle_bind_mode:
+2fbd 2040328f call g24_fetch_mem_dongle_work_mode 
+2fbe c1808000 rtnne dongle_bind 
+2fbf 20402fc1 call g24_dongle_bind_init 
+2fc0 20202fcb branch g24_dongle_bind_data_process 
+
+g24_dongle_bind_init:
+2fc1 20403294 call g24_fetch_mem_dongle_mode_init 
+2fc2 c3808000 rtnbit1 dongle_bind 
+2fc3 79207e01 set1 dongle_bind ,pdata 
+2fc4 20403297 call g24_store_mem_dongle_mode_init 
+2fc5 2040329c call g24_set1_mem_ackpayload_enable 
+2fc6 20402c83 call g24_pair_init 
+2fc7 58000000 setarg 0 
+2fc8 da200106 arg offset_dongle_ms_bind_step ,rega 
+2fc9 204032bf call g24_set_contw_with_temp 
+2fca 202032c5 branch g24_contw_istore_3byte 
+
+g24_dongle_bind_data_process:
+2fcb 2040316e call g24_receive_transmit_ack 
+2fcc 2437af5e nbranch g24_rx_interrupt_clear ,user3 
+2fcd 1a608c00 add regc ,offset_24g_rxbuf ,contr 
+2fce 58000109 setarg offset_24g_rxdata_temp 
+2fcf 9a608a00 iadd regc ,contw 
+2fd0 df200008 arg 8 ,loopcnt 
+2fd1 20407f01 call memcpy 
+2fd2 5800010b setarg offset_24g_rxdata_temp_add2 
+2fd3 204032d0 call g24_set_rega_ifetch_1byte 
+2fd4 c0552fd9 beq datatype_bind ,g24_dongle_bind_first_step 
+2fd5 c02aafed beq datatype_config ,g24_dongle_bind_second_step 
+2fd6 c0113001 beq datatype_ok ,g24_dongle_bind_third_step 
+2fd7 c07fb212 beq 0xff ,g24_data_attemp 
+2fd8 20202f5e branch g24_rx_interrupt_clear 
+
+g24_dongle_bind_first_step:
+2fd9 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+2fda c000afdd beq bind_mouse ,g24_dongle_bind_first_step_mouse 
+2fdb c0012fe8 beq bind_keyboard ,g24_dongle_bind_first_step_keyboard 
+2fdc 20600000 rtn 
+
+g24_dongle_bind_first_step_mouse:
+2fdd 58000001 setarg 1 
+2fde 20402ff7 call g24_store_mem_ms_bind_step 
+
+g24_dongle_bind_ms_payload_cfg:
+2fdf 58000001 setarg datatype_mouse 
+2fe0 20403289 call g24_store_mem_bind_payload 
+
+g24_dongle_bind_payload_cfg:
+2fe1 58000080 setarg 0x80 
+2fe2 da200130 arg offset_24g_bind_payload_add1 ,rega 
+2fe3 204032b3 call g24_set_contw_with_regb_store_1byte 
+2fe4 2040327d call g24_fetch_mem_rx_addr 
+2fe5 da200131 arg offset_24g_bind_payload_add2 ,rega 
+2fe6 204032bf call g24_set_contw_with_temp 
+2fe7 2020322d branch g24_contw_istore_4byte 
+
+g24_dongle_bind_first_step_keyboard:
+2fe8 58000001 setarg 1 
+2fe9 20402fff call g24_store_mem_kb_bind_step 
+
+g24_dongle_bind_kb_payload_cfg:
+2fea 58000002 setarg datatype_keyboard 
+2feb 20403289 call g24_store_mem_bind_payload 
+2fec 20202fe1 branch g24_dongle_bind_payload_cfg 
+
+g24_dongle_bind_second_step:
+2fed 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+2fee c000aff1 beq bind_mouse ,g24_dongle_bind_second_step_mouse 
+2fef c0012ff9 beq bind_keyboard ,g24_dongle_bind_second_step_keyboard 
+2ff0 20600000 rtn 
+
+g24_dongle_bind_second_step_mouse:
+2ff1 20402fdf call g24_dongle_bind_ms_payload_cfg 
+2ff2 58000106 setarg offset_dongle_ms_bind_step 
+2ff3 204032d0 call g24_set_rega_ifetch_1byte 
+2ff4 c000aff6 beq 1 ,g24_dongle_ms_bind_step_set2 
+2ff5 20600000 rtn 
+
+g24_dongle_ms_bind_step_set2:
+2ff6 58000002 setarg 2 
+
+g24_store_mem_ms_bind_step:
+2ff7 da200106 arg offset_dongle_ms_bind_step ,rega 
+2ff8 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_dongle_bind_second_step_keyboard:
+2ff9 20402fea call g24_dongle_bind_kb_payload_cfg 
+2ffa 58000107 setarg offset_dongle_kb_bind_step 
+2ffb 204032d0 call g24_set_rega_ifetch_1byte 
+2ffc c000affe beq 1 ,g24_dongle_kb_bind_step_set2 
+2ffd 20600000 rtn 
+
+g24_dongle_kb_bind_step_set2:
+2ffe 58000002 setarg 2 
+
+g24_store_mem_kb_bind_step:
+2fff da200107 arg offset_dongle_kb_bind_step ,rega 
+3000 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_dongle_bind_third_step:
+3001 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+3002 c000b005 beq bind_mouse ,g24_dongle_bind_third_step_mouse 
+3003 c0013011 beq bind_keyboard ,g24_dongle_bind_third_step_keyboard 
+3004 20600000 rtn 
+
+g24_dongle_bind_third_step_mouse:
+3005 58000106 setarg offset_dongle_ms_bind_step 
+3006 204032d0 call g24_set_rega_ifetch_1byte 
+3007 c0013009 beq 2 ,g24_dongle_ms_bind_step_success 
+3008 20600000 rtn 
+
+g24_dongle_ms_bind_step_success:
+3009 2040328b call g24_fetch_mem_bind_device_status 
+300a 1fe1fe01 or_into 0x01 ,pdata 
+300b 2040328d call g24_store_mem_bind_device_status 
+
+g24_dongle_bind_exit:
+300c 58000000 setarg 0 
+300d 58000106 setarg offset_dongle_ms_bind_step 
+300e 9a608a00 iadd regc ,contw 
+300f e0a10000 istore 2 ,contw 
+3010 20202f5e branch g24_rx_interrupt_clear 
+
+g24_dongle_bind_third_step_keyboard:
+3011 58000107 setarg offset_dongle_kb_bind_step 
+3012 204032d0 call g24_set_rega_ifetch_1byte 
+3013 c0803015 bne 0 ,g24_dongle_kb_bind_step_success 
+3014 20600000 rtn 
+
+g24_dongle_kb_bind_step_success:
+3015 2040328b call g24_fetch_mem_bind_device_status 
+3016 1fe1fe02 or_into 0x02 ,pdata 
+3017 2040328d call g24_store_mem_bind_device_status 
+3018 2020300c branch g24_dongle_bind_exit 
+
+dongle_usb_dispatch:
+3019 68008d50 fetch 1 ,mem_usb0_get_set_report 
+301a 207a0000 rtn blank 
+301b 700d5000 jam 0 ,mem_usb0_get_set_report 
+301c 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
+301d d84002ba arg pc_set_report ,temp 
+301e 98467c00 isub temp ,null 
+301f 24628000 nrtn zero 
+3020 68008cb6 fetch 1 ,mem_usb0_set_report_data 
+3021 c1dd0000 rtnne pc_report_id 
+3022 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
+3023 44df4017 bpatch patch17_6 ,mem_patch17 
+3024 c050303b beq command_mode ,dongle_dispose_cmd_mode 
+3025 c050b02c beq command_bind ,dongle_dispose_cmd_bind 
+3026 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
+3027 c053b043 beq command_current_mode ,dongle_dispose_cmd_current_mode 
+3028 c054b049 beq command_current_fw_version ,dongle_dispose_cmd_current_fw_version 
+3029 c058304d beq command_user_defined ,dongle_dispose_cmd_user_defined 
+
+usb0_data_ready_report_set0:
+302a 700d4200 jam 0 ,mem_usb0_data_ready_report 
+302b 20600000 rtn 
+
+dongle_dispose_cmd_bind:
+302c 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+302d c000b031 beq com_bind_get ,dongle_dispose_cmd_get_bind 
+302e c0423034 beq com_bind_exit ,dongle_dispose_cmd_exit_bind 
+302f c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+3030 2020302a branch usb0_data_ready_report_set0 
+
+dongle_dispose_cmd_get_bind:
+3031 2040328b call g24_fetch_mem_bind_device_status 
+3032 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+3033 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_exit_bind:
+3034 20403291 call g24_set_work_mem_dongle_work_mode 
+3035 20403296 call g24_set0_mem_dongle_mode_init 
+3036 2040328b call g24_fetch_mem_bind_device_status 
+3037 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+3038 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_read_mode:
+
+dongle_dispose_in_bind_mode:
+3039 700cf7a1 jam command_bind ,mem_usb0_get_report_data + 1 
+303a 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_mode:
+303b 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+303c c040b03e beq com_mode_bind ,dongle_enter_bind_mode 
+303d 2020302a branch usb0_data_ready_report_set0 
+
+dongle_enter_bind_mode:
+303e 20403090 call g24_bind_mode_enable 
+
+usb0_data_ready_report_set1:
+303f 700d4201 jam 1 ,mem_usb0_data_ready_report 
+3040 20600000 rtn 
+
+dongle_dispose_cmd_current_project:
+3041 700cf715 jam product_id ,mem_usb0_get_report_data + 1 
+3042 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_current_mode:
+3043 2040328f call g24_fetch_mem_dongle_work_mode 
+3044 c0003047 beq dongle_work ,dongle_dispose_in_work_mode 
+3045 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
+3046 20600000 rtn 
+
+dongle_dispose_in_work_mode:
+3047 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
+3048 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_current_fw_version:
+3049 700cf700 jam fw_version0 ,mem_usb0_get_report_data + 1 
+304a 700cf800 jam fw_version1 ,mem_usb0_get_report_data + 2 
+304b 700cf901 jam fw_version2 ,mem_usb0_get_report_data + 3 
+304c 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_user_defined:
+304d 2040329c call g24_set1_mem_ackpayload_enable 
+304e 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+304f 1fe0fe02 increase 2 ,pdata 
+3050 1fe27200 copy pdata ,loopcnt 
+3051 d8c00cb6 arg mem_usb0_set_report_data ,contr 
+3052 5800013c setarg offset_24g_ackpayload 
+3053 9a608a00 iadd regc ,contw 
+3054 20207f01 branch memcpy 
+
+dongle_auto_bind:
+3055 44dfc017 bpatch patch17_7 ,mem_patch17 
+3056 2040307d call g24_mode_switch_init 
+
+dongle_auto_bind_loop:
+3057 20402c7f call g24_receive_process 
+3058 204048d3 call usb_isr 
+3059 20203057 branch dongle_auto_bind_loop 
+
+g24_dongle_work_mode_auto:
+305a 2040328f call g24_fetch_mem_dongle_work_mode 
+305b c1800000 rtnne dongle_work 
+305c 20402f51 call g24_dongle_work_mode_start 
+305d 20203098 branch g24_rx_nodata_process 
+
+g24_dongle_bind_mode_auto:
+305e 2040328f call g24_fetch_mem_dongle_work_mode 
+305f c1808000 rtnne dongle_bind 
+3060 20402fc1 call g24_dongle_bind_init 
+3061 20402fcb call g24_dongle_bind_data_process 
+3062 2040328b call g24_fetch_mem_bind_device_status 
+3063 207a0000 rtn blank 
+3064 20403286 call g24_set0_mem_mode_switch 
+3065 20402f4c call dongle_check_mode 
+3066 20403093 call g24_enable_nodata_timer 
+
+g24_timer_init:
+3067 58000000 setarg 0 
+3068 1a608aa7 add regc ,offset_24g_tx_btclk ,contw 
+3069 2020322d branch g24_contw_istore_4byte 
+
+g24_timer_check:
+306a 20407fe9 call disable_user 
+306b 1a60a2a7 add regc ,offset_24g_tx_btclk ,rega 
+306c ea2a0000 ifetcht 4 ,rega 
+306d 1c427e00 copy clkn_bt ,pdata 
+306e 98467c00 isub temp ,null 
+306f 24412d18 ncall g24_timer_timeout ,positive 
+3070 1fe22400 copy pdata ,regb 
+3071 1a60a2a7 add regc ,offset_24g_tx_btclk ,rega 
+3072 ea220000 ifetch 4 ,rega 
+3073 1a60a2ab add regc ,offset_24g_interval ,rega 
+3074 ea288000 ifetcht 1 ,rega 
+3075 98408400 iadd temp ,temp 
+3076 1a427e00 copy regb ,pdata 
+3077 98467c00 isub temp ,null 
+3078 24610000 nrtn positive 
+3079 793ffe1c set0 28 ,pdata 
+307a 1a608aa7 add regc ,offset_24g_tx_btclk ,contw 
+307b e0a20000 istore 4 ,contw 
+307c 20207fe7 branch enable_user 
+
+g24_mode_switch_init:
+307d 58000001 setarg 1 
+307e 20403287 call g24_store_mem_mode_switch 
+307f 20403283 call g24_set0_mem_time_slice 
+3080 580000ff setarg 0xff 
+3081 1a608aab add regc ,offset_24g_interval ,contw 
+3082 e0a08000 istore 1 ,contw 
+3083 20203067 branch g24_timer_init 
+
+g24_mode_switch:
+3084 5800015c setarg offset_24g_mode_switch 
+3085 204032d0 call g24_set_rega_ifetch_1byte 
+3086 207a0000 rtn blank 
+3087 2040306a call g24_timer_check 
+3088 24740000 nrtn user 
+3089 20403281 call g24_fetch_mem_time_slice 
+308a 1fe0fe01 increase 1 ,pdata 
+308b 1fe17e01 and_into 1 ,pdata 
+308c 20403284 call g24_store_mem_time_slice 
+308d c0002f4c beq 0 ,dongle_check_mode 
+308e c000b090 beq 1 ,g24_bind_mode_enable 
+308f 20600000 rtn 
+
+g24_bind_mode_enable:
+3090 58000001 setarg dongle_bind 
+3091 20403292 call g24_store_mem_dongle_work_mode 
+3092 20203296 branch g24_set0_mem_dongle_mode_init 
+
+g24_enable_nodata_timer:
+3093 58000001 setarg 1 
+3094 204032a5 call g24_store_mem_nodata_timer_enable 
+3095 58000280 setarg timer_nodata_delay 
+3096 d8e00008 arg timer_nodata ,queue 
+3097 20207f08 branch timer_init 
+
+g24_rx_nodata_process:
+3098 204032a2 call g24_fetch_mem_nodata_timer_enable 
+3099 207a0000 rtn blank 
+309a d8e00008 arg timer_nodata ,queue 
+309b 20407f16 call timer_check 
+309c 247a0000 nrtn blank 
+309d 204032a4 call g24_set0_mem_nodata_timer_enable 
+309e 58000007 setarg dongle_search 
+309f 20403292 call g24_store_mem_dongle_work_mode 
+30a0 20403296 call g24_set0_mem_dongle_mode_init 
+30a1 20202f5e branch g24_rx_interrupt_clear 
+
+g24_dongle_search_mode_auto:
+30a2 44e04018 bpatch patch18_0 ,mem_patch18 
+30a3 2040328f call g24_fetch_mem_dongle_work_mode 
+30a4 c1838000 rtnne dongle_search 
+30a5 204030cb call g24_dongle_search_mode_init 
+30a6 204030e0 call g24_rx_auto_addr_ch_search 
+30a7 2040316e call g24_receive_transmit_ack 
+30a8 2437af5e nbranch g24_rx_interrupt_clear ,user3 
+30a9 204030bc call g24_dongle_search_addr_check 
+30aa 2042b172 call g24_receive_packet_parse ,zero 
+30ab 20402f4c call dongle_check_mode 
+30ac 20403294 call g24_fetch_mem_dongle_mode_init 
+30ad 79207e00 set1 dongle_work ,pdata 
+30ae 20403297 call g24_store_mem_dongle_mode_init 
+30af 20402f5e call g24_rx_interrupt_clear 
+30b0 20403093 call g24_enable_nodata_timer 
+30b1 204030bc call g24_dongle_search_addr_check 
+30b2 2022b0c1 branch g24_dg_ch_num_reinit ,zero 
+30b3 58000164 setarg offset_24g_kb_addr 
+30b4 204032d3 call g24_set_rega_ifetcht_4byte 
+30b5 204030be call g24_fetch_mem_addr_isub_temp 
+30b6 2022b0c5 branch g24_kb_ch_num_reinit ,zero 
+30b7 58000160 setarg offset_24g_mouse_addr 
+30b8 204032d3 call g24_set_rega_ifetcht_4byte 
+30b9 204030be call g24_fetch_mem_addr_isub_temp 
+30ba 2022b0c8 branch g24_ms_ch_num_reinit ,zero 
+30bb 20600000 rtn 
+
+g24_dongle_search_addr_check:
+30bc 5800012b setarg offset_24g_rx_addr 
+30bd 204032d3 call g24_set_rega_ifetcht_4byte 
+
+g24_fetch_mem_addr_isub_temp:
+30be 2040322a call g24_fetch_mem_addr 
+30bf 98467c00 isub temp ,null 
+30c0 20600000 rtn 
+
+g24_dg_ch_num_reinit:
+30c1 58000182 setarg offset_24g_dg_ch_number 
+30c2 204032d0 call g24_set_rega_ifetch_1byte 
+
+g24_current_ch_num_reinit:
+30c3 1a608a91 add regc ,offset_24g_current_ch_number ,contw 
+30c4 202032b4 branch g24_contw_istore_1byte 
+
+g24_kb_ch_num_reinit:
+30c5 58000185 setarg offset_24g_kb_ch_number 
+30c6 204032d0 call g24_set_rega_ifetch_1byte 
+30c7 202030c3 branch g24_current_ch_num_reinit 
+
+g24_ms_ch_num_reinit:
+30c8 58000188 setarg offset_24g_ms_ch_number 
+30c9 204032d0 call g24_set_rega_ifetch_1byte 
+30ca 202030c3 branch g24_current_ch_num_reinit 
+
+g24_dongle_search_mode_init:
+30cb 20403294 call g24_fetch_mem_dongle_mode_init 
+30cc c3838000 rtnbit1 dongle_search 
+30cd 79207e07 set1 dongle_search ,pdata 
+30ce 20403297 call g24_store_mem_dongle_mode_init 
+30cf 20403283 call g24_set0_mem_time_slice 
+30d0 2040329c call g24_set1_mem_ackpayload_enable 
+30d1 58000000 setarg 0 
+30d2 1a608af5 add regc ,offset_rssi_noise_dg_index ,contw 
+30d3 e0a18000 istore 3 ,contw 
+30d4 da200183 arg offset_24g_dg_config_ch_once ,rega 
+30d5 204032bf call g24_set_contw_with_temp 
+30d6 e0a38000 istore 7 ,contw 
+30d7 204030bc call g24_dongle_search_addr_check 
+30d8 24628000 nrtn zero 
+30d9 1a60a291 add regc ,offset_24g_current_ch_number ,rega 
+30da ea208000 ifetch 1 ,rega 
+30db da200182 arg offset_24g_dg_ch_number ,rega 
+30dc 204032b3 call g24_set_contw_with_regb_store_1byte 
+30dd 1a60a290 add regc ,offset_24g_ch ,rega 
+30de ea208000 ifetch 1 ,rega 
+30df 2020314a branch g24_store_mem_dg_last_ch 
+
+g24_rx_auto_addr_ch_search:
+30e0 44e0c018 bpatch patch18_1 ,mem_patch18 
+30e1 20403281 call g24_fetch_mem_time_slice 
+30e2 1fe0fe01 increase 1 ,pdata 
+30e3 1fe17e03 and_into 3 ,pdata 
+30e4 20403284 call g24_store_mem_time_slice 
+30e5 c000310e beq 0 ,g24_rx_auto_bind_config_kb 
+30e6 c000b132 beq 1 ,g24_rx_auto_bind_config_dongle 
+30e7 c00130ea beq 2 ,g24_rx_auto_bind_config_mouse 
+30e8 c001b132 beq 3 ,g24_rx_auto_bind_config_dongle 
+30e9 20600000 rtn 
+
+g24_rx_auto_bind_config_mouse:
+30ea 20402fdf call g24_dongle_bind_ms_payload_cfg 
+30eb 58000160 setarg offset_24g_mouse_addr 
+30ec 2040327e call g24_set_rega_ifetch_4byte 
+30ed 203a30e0 branch g24_rx_auto_addr_ch_search ,blank 
+30ee 2040322c call g24_store_mem_addr 
+30ef 58000189 setarg offset_24g_ms_config_ch_once 
+30f0 204032d0 call g24_set_rega_ifetch_1byte 
+30f1 205a3108 call g24_ms_config_ch_once ,blank 
+30f2 58000187 setarg offset_24g_ms_last_ch 
+30f3 204032d0 call g24_set_rega_ifetch_1byte 
+30f4 2040322f call g24_store_mem_ch 
+30f5 1a60a2f7 add regc ,offset_rssi_noise_ms_index ,rega 
+30f6 ea288000 ifetcht 1 ,rega 
+30f7 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
+30f8 20402e58 call rssi_noise_store 
+30f9 1a608af7 add regc ,offset_rssi_noise_ms_index ,contw 
+30fa e0a88000 istoret 1 ,contw 
+30fb 20402f94 call g24_noise_rssi_average 
+30fc 1a608afa add regc ,offset_rssi_noise_ms_avg ,contw 
+30fd e0a88000 istoret 1 ,contw 
+30fe 18467c50 sub temp ,rssi_thresh_noise ,null 
+30ff 24610000 nrtn positive 
+3100 58000188 setarg offset_24g_ms_ch_number 
+3101 20403275 call g24_set_rega_ifetcht_1byte 
+3102 20402c90 call g24_ch_temp_incre_size4 
+3103 da200188 arg offset_24g_ms_ch_number ,rega 
+3104 204032c8 call g24_set_contw_with_regb2 
+3105 e0a88000 istoret 1 ,contw 
+
+g24_store_mem_ms_last_ch:
+3106 da200187 arg offset_24g_ms_last_ch ,rega 
+3107 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_ms_config_ch_once:
+3108 58000001 setarg 1 
+3109 da200189 arg offset_24g_ms_config_ch_once ,rega 
+310a 204032b3 call g24_set_contw_with_regb_store_1byte 
+310b d8400000 arg 0 ,temp 
+310c 20402c94 call g24_ch_calc 
+310d 20203106 branch g24_store_mem_ms_last_ch 
+
+g24_rx_auto_bind_config_kb:
+310e 20402fea call g24_dongle_bind_kb_payload_cfg 
+310f 58000164 setarg offset_24g_kb_addr 
+3110 2040327e call g24_set_rega_ifetch_4byte 
+3111 203a30e0 branch g24_rx_auto_addr_ch_search ,blank 
+3112 2040322c call g24_store_mem_addr 
+3113 58000186 setarg offset_24g_kb_config_ch_once 
+3114 204032d0 call g24_set_rega_ifetch_1byte 
+3115 205a312c call g24_kb_config_ch_once ,blank 
+3116 58000184 setarg offset_24g_kb_last_ch 
+3117 204032d0 call g24_set_rega_ifetch_1byte 
+3118 2040322f call g24_store_mem_ch 
+3119 1a60a2f6 add regc ,offset_rssi_noise_kb_index ,rega 
+311a ea288000 ifetcht 1 ,rega 
+311b da20109e arg mem_rssi_noise_kb_buffer ,rega 
+311c 20402e58 call rssi_noise_store 
+311d 1a608af6 add regc ,offset_rssi_noise_kb_index ,contw 
+311e e0a88000 istoret 1 ,contw 
+311f 20402f94 call g24_noise_rssi_average 
+3120 1a608af9 add regc ,offset_rssi_noise_kb_avg ,contw 
+3121 e0a88000 istoret 1 ,contw 
+3122 18467c50 sub temp ,rssi_thresh_noise ,null 
+3123 24610000 nrtn positive 
+3124 58000185 setarg offset_24g_kb_ch_number 
+3125 20403275 call g24_set_rega_ifetcht_1byte 
+3126 20402c90 call g24_ch_temp_incre_size4 
+3127 da200185 arg offset_24g_kb_ch_number ,rega 
+3128 204032c8 call g24_set_contw_with_regb2 
+3129 e0a88000 istoret 1 ,contw 
+
+g24_store_mem_kb_last_ch:
+312a da200184 arg offset_24g_kb_last_ch ,rega 
+312b 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_kb_config_ch_once:
+312c 58000001 setarg 1 
+312d da200186 arg offset_24g_kb_config_ch_once ,rega 
+312e 204032b3 call g24_set_contw_with_regb_store_1byte 
+312f d8400000 arg 0 ,temp 
+3130 20402c94 call g24_ch_calc 
+3131 2020312a branch g24_store_mem_kb_last_ch 
+
+g24_rx_auto_bind_config_dongle:
+3132 20402fdf call g24_dongle_bind_ms_payload_cfg 
+3133 2040327d call g24_fetch_mem_rx_addr 
+3134 2040322c call g24_store_mem_addr 
+3135 58000183 setarg offset_24g_dg_config_ch_once 
+3136 204032d0 call g24_set_rega_ifetch_1byte 
+3137 205a314c call g24_dg_config_ch_once ,blank 
+3138 2040314f call g24_dg_store_config_ch 
+3139 1a60a2f5 add regc ,offset_rssi_noise_dg_index ,rega 
+313a ea288000 ifetcht 1 ,rega 
+313b da200e9e arg mem_rssi_noise_dg_buffer ,rega 
+313c 20402e58 call rssi_noise_store 
+313d 1a608af5 add regc ,offset_rssi_noise_dg_index ,contw 
+313e e0a88000 istoret 1 ,contw 
+313f 20402f94 call g24_noise_rssi_average 
+3140 1a608af8 add regc ,offset_rssi_noise_dg_avg ,contw 
+3141 e0a88000 istoret 1 ,contw 
+3142 18467c50 sub temp ,rssi_thresh_noise ,null 
+3143 24610000 nrtn positive 
+3144 58000182 setarg offset_24g_dg_ch_number 
+3145 20403275 call g24_set_rega_ifetcht_1byte 
+3146 20402c90 call g24_ch_temp_incre_size4 
+3147 da200182 arg offset_24g_dg_ch_number ,rega 
+3148 204032c8 call g24_set_contw_with_regb2 
+3149 e0a88000 istoret 1 ,contw 
+
+g24_store_mem_dg_last_ch:
+314a da200181 arg offset_24g_dg_last_ch ,rega 
+314b 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_dg_config_ch_once:
+314c 58000001 setarg 1 
+314d da200183 arg offset_24g_dg_config_ch_once ,rega 
+314e 204032b3 call g24_set_contw_with_regb_store_1byte 
+
+g24_dg_store_config_ch:
+314f 58000181 setarg offset_24g_dg_last_ch 
+3150 204032d0 call g24_set_rega_ifetch_1byte 
+3151 2020322f branch g24_store_mem_ch 
+
+g24_transmit_ack:
+3152 1a60a200 add regc ,offset_24g_rxbuf ,rega 
+3153 ea208000 ifetch 1 ,rega 
+3154 2040323c call g24_store_mem_data_type 
+3155 20402dde call g24_read_len_pid_crc 
+3156 2040325f call g24_fetch_mem_rxbuf_add1 
+3157 2feffe00 isolate1 bit_ack_24g ,pdata 
+3158 2020b15c branch g24tx_no_ack ,true 
+
+g24tx_with_ack:
+3159 2040315d call g24_ackpayload_prep 
+315a 20402d53 call g24_transmit_prep 
+315b 20402df7 call g24_transmit 
+
+g24tx_no_ack:
+315c 20202e45 branch g24_end_of_packet 
+
+g24_ackpayload_prep:
+315d 44e14018 bpatch patch18_2 ,mem_patch18 
+315e 1a608a86 add regc ,offset_24g_datalen ,contw 
+315f 204032d6 call g24_mem_set0 
+3160 5800013b setarg offset_24g_ackpayload_enable 
+3161 204032d0 call g24_set_rega_ifetch_1byte 
+3162 207a0000 rtn blank 
+3163 58000006 setarg 0x06 
+3164 1a608a86 add regc ,offset_24g_datalen ,contw 
+3165 e0a08000 istore 1 ,contw 
+3166 df200006 arg 0x06 ,loopcnt 
+3167 5800012f setarg offset_24g_bind_payload 
+3168 9a608c00 iadd regc ,contr 
+3169 1a608a22 add regc ,offset_24g_txbuf ,contw 
+316a 20207f01 branch memcpy 
+
+g24_receive_packet_start:
+316b 2040316e call g24_receive_transmit_ack 
+316c 2437af5e nbranch g24_rx_interrupt_clear ,user3 
+316d 20203172 branch g24_receive_packet_parse 
+
+g24_receive_transmit_ack:
+316e 20402f5e call g24_rx_interrupt_clear 
+316f 20402e11 call g24_receive_packet 
+3170 24778000 nrtn user3 
+3171 20203152 branch g24_transmit_ack 
+
+g24_receive_packet_parse:
+3172 44e1c018 bpatch patch18_3 ,mem_patch18 
+3173 20403188 call g24_receive_packet_parse_pid_crc 
+3174 24342f5e nbranch g24_rx_interrupt_clear ,user 
+3175 1a60a284 add regc ,offset_24g_rxdata_length ,rega 
+3176 ea208000 ifetch 1 ,rega 
+3177 203a2f5e branch g24_rx_interrupt_clear ,blank 
+3178 1fe0fe02 increase 2 ,pdata 
+3179 98007200 iforce loopcnt 
+317a 1a608c00 add regc ,offset_24g_rxbuf ,contr 
+317b 58000109 setarg offset_24g_rxdata_temp 
+317c 9a608a00 iadd regc ,contw 
+317d 20407f01 call memcpy 
+317e 20403286 call g24_set0_mem_mode_switch 
+317f 204032b6 call g24_fetch_mem_pair_mode 
+3180 205a3093 call g24_enable_nodata_timer ,blank 
+3181 5800010b setarg offset_24g_rxdata_temp_add2 
+3182 204032d0 call g24_set_rega_ifetch_1byte 
+3183 c000b19e beq 0x01 ,g24_data_type1 
+3184 c00131c6 beq 0x02 ,g24_data_type2 
+3185 c001b1f2 beq 0x03 ,g24_data_type3 
+3186 c07fb212 beq 0xff ,g24_data_attemp 
+3187 20202f5e branch g24_rx_interrupt_clear 
+
+g24_receive_packet_parse_pid_crc:
+3188 20402c7a call g24_head_ptr2regc 
+3189 20407fe9 call disable_user 
+318a 1a60a2ca add regc ,offset_24g_sta_pid ,rega 
+318b ea208000 ifetch 1 ,rega 
+318c 1a60a2cb add regc ,offset_24g_last_pid ,rega 
+318d ea288000 ifetcht 1 ,rega 
+318e 98467c00 isub temp ,null 
+318f 2442ffe7 ncall enable_user ,zero 
+3190 1a60a2ca add regc ,offset_24g_sta_pid ,rega 
+3191 ea208000 ifetch 1 ,rega 
+3192 1a608acb add regc ,offset_24g_last_pid ,contw 
+3193 e0a08000 istore 1 ,contw 
+3194 1a60a2c4 add regc ,offset_24g_sta_crc ,rega 
+3195 ea218000 ifetch 3 ,rega 
+3196 1a60a2c7 add regc ,offset_24g_last_crc ,rega 
+3197 ea298000 ifetcht 3 ,rega 
+3198 98467c00 isub temp ,null 
+3199 2442ffe7 ncall enable_user ,zero 
+319a 1a60a2c4 add regc ,offset_24g_sta_crc ,rega 
+319b ea218000 ifetch 3 ,rega 
+319c 1a608ac7 add regc ,offset_24g_last_crc ,contw 
+319d 202032c5 branch g24_contw_istore_3byte 
+
+g24_data_type1:
+319e 20402f88 call g24_ch_timer_reinit 
+319f 2040324c call g24_fetch_mem_abort_pac 
+31a0 60008aa2 store 1 ,mem_temp 
+31a1 20403274 call g24_fetcht_mem_rxdata_temp 
+31a2 68008aa2 fetch 1 ,mem_temp 
+31a3 284ffe03 isolate1 bit_abort ,temp 
+31a4 7920fe00 setflag true ,0 ,pdata 
+31a5 1a608ab2 add regc ,offset_24g_abort_pac ,contw 
+31a6 e0a08000 istore 1 ,contw 
+31a7 c000b216 beq 1 ,g24_data_attemp_mouse 
+31a8 20403245 call g24_fetch_mem_hop_pac 
+31a9 20403274 call g24_fetcht_mem_rxdata_temp 
+31aa 284ffe04 isolate1 bit_hop ,temp 
+31ab 7920fe00 setflag true ,0 ,pdata 
+31ac 20403249 call g24_store_mem_hop_pac 
+31ad 1a60a2de add regc ,offset_24g_cb_rxdata_type1 ,rega 
+31ae ea210000 ifetch 2 ,rega 
+31af 20207f9c branch callback_func 
+
+dongle_rxdata_type1:
+31b0 58000001 setarg ms_report_id 
+31b1 60008d54 store 1 ,mem_usb_mouse_data 
+31b2 2040329e call g24_fetch_mem_rxdata_temp_add3_7byte 
+31b3 e0a38000 istore 7 ,contw 
+31b4 2040329e call g24_fetch_mem_rxdata_temp_add3_7byte 
+31b5 245a31bd ncall g24_ms_enable_blank_data_forcibly ,blank 
+31b6 2040329e call g24_fetch_mem_rxdata_temp_add3_7byte 
+31b7 205a31c2 call g24_ms_disable_blank_data_forcibly ,blank 
+
+g24_data_type1_usbtx_enable:
+31b8 700d5220 jam usb_ep2_ms ,mem_usb_ep2_data 
+
+g24_data_type1_usbtx_enable_ep2:
+31b9 68008d38 fetch 1 ,mem_usb_tx_enable 
+31ba 79207e02 set1 2 ,pdata 
+31bb 60008d38 store 1 ,mem_usb_tx_enable 
+31bc 20600000 rtn 
+
+g24_ms_enable_blank_data_forcibly:
+31bd 58000001 setarg 1 
+31be 204032a8 call g24_store_mem_ms_blank_data_enable 
+31bf 58000140 setarg timer_ms_blank_delay 
+31c0 d8e0000b arg timer_ms_blank ,queue 
+31c1 20207f08 branch timer_init 
+
+g24_ms_disable_blank_data_forcibly:
+31c2 204032a7 call g24_set0_mem_ms_blank_data_enable 
+31c3 58000000 setarg 0 
+31c4 d8e0000b arg timer_ms_blank ,queue 
+31c5 20207f08 branch timer_init 
+
+g24_data_type2:
+31c6 20403274 call g24_fetcht_mem_rxdata_temp 
+31c7 284ffe03 isolate1 bit_abort ,temp 
+31c8 2020b21b branch g24_data_attemp_kbd ,true 
+31c9 d8a00d64 arg mem_usb_kb_data ,contw 
+31ca 204031e0 call g24_data_type2_reverse_data 
+31cb 68040d64 fetch 8 ,mem_usb_kb_data 
+31cc 245a31e4 ncall g24_kb_enable_blank_data_forcibly ,blank 
+31cd 68040d64 fetch 8 ,mem_usb_kb_data 
+31ce 205a31e9 call g24_kb_disable_blank_data_forcibly ,blank 
+31cf 20402c7a call g24_head_ptr2regc 
+31d0 68040d64 fetch 8 ,mem_usb_kb_data 
+31d1 da200168 arg offset_24g_kb_data_sta_data ,rega 
+31d2 204032bf call g24_set_contw_with_temp 
+31d3 e0a40000 istore 8 ,contw 
+31d4 58000170 setarg offset_24g_kb_data_last_data 
+31d5 9a60a200 iadd regc ,rega 
+31d6 ea2c0000 ifetcht 8 ,rega 
+31d7 98467c00 isub temp ,null 
+31d8 2442b1ed ncall g24_kb_data_dispose ,zero 
+31d9 58000168 setarg offset_24g_kb_data_sta_data 
+31da 9a60a200 iadd regc ,rega 
+31db ea240000 ifetch 8 ,rega 
+31dc da200170 arg offset_24g_kb_data_last_data ,rega 
+31dd 204032bf call g24_set_contw_with_temp 
+31de e0a40000 istore 8 ,contw 
+31df 20202f5e branch g24_rx_interrupt_clear 
+
+g24_data_type2_reverse_data:
+31e0 5800010b setarg offset_24g_rxdata_temp_add2 
+31e1 9a608c00 iadd regc ,contr 
+31e2 df200009 arg 9 ,loopcnt 
+31e3 20207ff3 branch reverse_byte 
+
+g24_kb_enable_blank_data_forcibly:
+31e4 58000001 setarg 1 
+31e5 204032ab call g24_store_mem_kb_blank_data_enable 
+31e6 58000140 setarg timer_kb_blank_delay 
+31e7 d8e0000e arg timer_kb_blank ,queue 
+31e8 20207f08 branch timer_init 
+
+g24_kb_disable_blank_data_forcibly:
+31e9 204032aa call g24_set0_mem_kb_blank_data_enable 
+31ea 58000000 setarg 0 
+31eb d8e0000e arg timer_kb_blank ,queue 
+31ec 20207f08 branch timer_init 
+
+g24_kb_data_dispose:
+
+g24_kb_data_into_ep1_fifo:
+31ed 700d5110 jam usb_ep1_kb ,mem_usb_ep1_data 
+31ee 68008d38 fetch 1 ,mem_usb_tx_enable 
+31ef 79207e01 set1 1 ,pdata 
+31f0 60008d38 store 1 ,mem_usb_tx_enable 
+31f1 20600000 rtn 
+
+g24_data_type3:
+31f2 d8a00d74 arg mem_usb_kb_multikey ,contw 
+31f3 204031e0 call g24_data_type2_reverse_data 
+31f4 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+31f5 245a3209 ncall g24_kb_mul_enable_blank_data_forcibly ,blank 
+31f6 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+31f7 205a320e call g24_kb_mul_disable_blank_data_forcibly ,blank 
+31f8 20402c7a call g24_head_ptr2regc 
+31f9 68018d74 fetch 3 ,mem_usb_kb_multikey 
+31fa da200178 arg offset_24g_kb_multikey_sta_data ,rega 
+31fb 204032c4 call g24_set_contw_with_temp_store_3byte 
+31fc 5800017b setarg offset_24g_kb_multikey_last_data 
+31fd 9a60a200 iadd regc ,rega 
+31fe ea298000 ifetcht 3 ,rega 
+31ff 98467c00 isub temp ,null 
+3200 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+3201 58000178 setarg offset_24g_kb_multikey_sta_data 
+3202 9a60a200 iadd regc ,rega 
+3203 ea218000 ifetch 3 ,rega 
+3204 da20017b arg offset_24g_kb_multikey_last_data ,rega 
+3205 204032c4 call g24_set_contw_with_temp_store_3byte 
+3206 20202f5e branch g24_rx_interrupt_clear 
+
+g24_kb_mul_data_into_ep2_fifo:
+3207 700d5221 jam usb_ep2_multikey ,mem_usb_ep2_data 
+3208 202031b9 branch g24_data_type1_usbtx_enable_ep2 
+
+g24_kb_mul_enable_blank_data_forcibly:
+3209 58000001 setarg 1 
+320a 204032ae call g24_store_mem_kb_mul_blank_data_enable 
+320b 58000140 setarg timer_kb_mul_blank_delay 
+320c d8e0000c arg timer_kb_mul_blank ,queue 
+320d 20207f08 branch timer_init 
+
+g24_kb_mul_disable_blank_data_forcibly:
+320e 204032ad call g24_set0_mem_kb_mul_blank_data_enable 
+320f 58000000 setarg 0 
+3210 d8e0000c arg timer_kb_mul_blank ,queue 
+3211 20207f08 branch timer_init 
+
+g24_data_attemp:
+3212 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+3213 c000b216 beq datatype_mouse ,g24_data_attemp_mouse 
+3214 c001321b beq datatype_keyboard ,g24_data_attemp_kbd 
+3215 20600000 rtn 
+
+g24_data_attemp_mouse:
+3216 5800010d setarg offset_24g_rxdata_temp_add4 
+3217 2040327e call g24_set_rega_ifetch_4byte 
+3218 da200160 arg offset_24g_mouse_addr ,rega 
+3219 204032bf call g24_set_contw_with_temp 
+321a 2020322d branch g24_contw_istore_4byte 
+
+g24_data_attemp_kbd:
+321b 5800010d setarg offset_24g_rxdata_temp_add4 
+321c 2040327e call g24_set_rega_ifetch_4byte 
+321d da200164 arg offset_24g_kb_addr ,rega 
+321e 204032bf call g24_set_contw_with_temp 
+321f 2020322d branch g24_contw_istore_4byte 
+
+g24_store_mem_24g_mode:
+3220 20402c7a call g24_head_ptr2regc 
+3221 1a608acd add regc ,offset_24g_mode ,contw 
+3222 e0a08000 istore 1 ,contw 
+3223 20600000 rtn 
+
+g24_fetch_mem_device_addr:
+3224 20402c7a call g24_head_ptr2regc 
+3225 1a60a2be add regc ,offset_24g_device_addr ,rega 
+3226 2020327f branch g24_rega_ifetch_4byte 
+
+g24_store_mem_device_addr:
+3227 20402c7a call g24_head_ptr2regc 
+3228 1a608abe add regc ,offset_24g_device_addr ,contw 
+3229 2020322d branch g24_contw_istore_4byte 
+
+g24_fetch_mem_addr:
+322a 1a60a2ae add regc ,offset_24g_addr ,rega 
+322b 2020327f branch g24_rega_ifetch_4byte 
+
+g24_store_mem_addr:
+322c 1a608aae add regc ,offset_24g_addr ,contw 
+
+g24_contw_istore_4byte:
+322d e0a20000 istore 4 ,contw 
+322e 20600000 rtn 
+
+g24_store_mem_ch:
+322f 1a608a90 add regc ,offset_24g_ch ,contw 
+3230 202032b4 branch g24_contw_istore_1byte 
+
+g24_set0_mem_pid:
+3231 58000000 setarg 0 
+
+g24_store_mem_pid:
+3232 20402c7a call g24_head_ptr2regc 
+3233 1a608a85 add regc ,offset_24g_pid ,contw 
+3234 202032b4 branch g24_contw_istore_1byte 
+
+g24_store_mem_txpayload:
+3235 1a608a42 add regc ,offset_24g_txpayload ,contw 
+3236 202032b4 branch g24_contw_istore_1byte 
+
+g24_set4_mem_max_retry:
+3237 58000004 setarg 4 
+
+g24_store_mem_max_retry:
+3238 1a608acc add regc ,offset_24g_max_retry ,contw 
+3239 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_data_type:
+323a 1a60a287 add regc ,offset_24g_data_type ,rega 
+323b 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_store_mem_data_type:
+323c 1a608a87 add regc ,offset_24g_data_type ,contw 
+323d 202032b4 branch g24_contw_istore_1byte 
+
+g24_set2_mem_sync_cnt:
+323e 58000002 setarg 2 
+
+g24_store_mem_sync_cnt:
+323f 1a608ad0 add regc ,offset_24g_sync_cnt ,contw 
+3240 202032b4 branch g24_contw_istore_1byte 
+
+g24_set1_mem_rf_last_sta:
+3241 58000001 setarg 1 
+
+g24_store_mem_rf_last_sta:
+3242 20402c7a call g24_head_ptr2regc 
+3243 1a608ace add regc ,offset_24g_rf_last_sta ,contw 
+3244 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_hop_pac:
+3245 20402c7a call g24_head_ptr2regc 
+3246 1a60a2b4 add regc ,offset_24g_hop_pac ,rega 
+3247 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set1_mem_hop_pac:
+3248 58000001 setarg 1 
+
+g24_store_mem_hop_pac:
+3249 20402c7a call g24_head_ptr2regc 
+324a 1a608ab4 add regc ,offset_24g_hop_pac ,contw 
+324b 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_abort_pac:
+324c 20402c7a call g24_head_ptr2regc 
+324d 1a60a2b2 add regc ,offset_24g_abort_pac ,rega 
+324e 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set1_mem_abort_pac:
+324f 58000001 setarg 1 
+
+g24_store_mem_abort_pac:
+3250 20402c7a call g24_head_ptr2regc 
+3251 1a608ab2 add regc ,offset_24g_abort_pac ,contw 
+3252 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_pairing_sm:
+3253 20402c7a call g24_head_ptr2regc 
+3254 1a60a296 add regc ,offset_24g_pairing_sm ,rega 
+3255 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_store_mem_pairing_sm:
+3256 1a608a96 add regc ,offset_24g_pairing_sm ,contw 
+3257 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_rf_hop_ch:
+3258 1a60a2cf add regc ,offset_24g_rf_hop_ch ,rega 
+3259 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set0_mem_rf_hop_ch:
+325a 58000000 setarg 0 
+
+g24_store_mem_rf_hop_ch:
+325b 1a608acf add regc ,offset_24g_rf_hop_ch ,contw 
+325c 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_rf_work_stage:
+325d 1a60a2d2 add regc ,offset_24g_rf_work_stage ,rega 
+325e 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_fetch_mem_rxbuf_add1:
+325f 1a60a201 add regc ,offset_24g_rxbuf_add1 ,rega 
+3260 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_fetch_mem_check_dongle_times:
+3261 1a60a2b5 add regc ,offset_24g_check_dongle_times ,rega 
+3262 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set0_mem_check_dongle_times:
+3263 58000000 setarg 0 
+
+g24_store_mem_check_dongle_times:
+3264 20402c7a call g24_head_ptr2regc 
+3265 1a608ab5 add regc ,offset_24g_check_dongle_times ,contw 
+3266 202032b4 branch g24_contw_istore_1byte 
+
+g24_store_mem_tx_power:
+3267 20402c7a call g24_head_ptr2regc 
+3268 1a60a2fb add regc ,offset_tx_power_temp ,rega 
+3269 ea208000 ifetch 1 ,rega 
+
+g24_store_mem_txpower:
+326a 6000c1de store 1 ,mem_tx_power 
+326b 20600000 rtn 
+
+g24_store_mem_tx_power_temp:
+326c 20402c7a call g24_head_ptr2regc 
+326d 6800c1de fetch 1 ,mem_tx_power 
+326e 1a608afb add regc ,offset_tx_power_temp ,contw 
+326f 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_power_ctrl_pac:
+3270 1a60a2fc add regc ,offset_power_ctrl_packet_cnt ,rega 
+3271 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_store_mem_power_ctrl_level:
+3272 1a608afe add regc ,offset_power_ctrl_level ,contw 
+3273 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetcht_mem_rxdata_temp:
+3274 58000109 setarg offset_24g_rxdata_temp 
+
+g24_set_rega_ifetcht_1byte:
+3275 9a60a200 iadd regc ,rega 
+3276 ea288000 ifetcht 1 ,rega 
+3277 20600000 rtn 
+
+g24_fetch_mem_rf_laststa:
+3278 58000135 setarg offset_24g_rf_laststa 
+3279 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_rf_laststa:
+327a 58000000 setarg 0 
+
+g24_store_mem_rf_laststa:
+327b da200135 arg offset_24g_rf_laststa ,rega 
+327c 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_rx_addr:
+327d 5800012b setarg offset_24g_rx_addr 
+
+g24_set_rega_ifetch_4byte:
+327e 204032cd call g24_set_rega 
+
+g24_rega_ifetch_4byte:
+327f ea220000 ifetch 4 ,rega 
+3280 20600000 rtn 
+
+g24_fetch_mem_time_slice:
+3281 5800015f setarg offset_24g_time_slice 
+3282 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_time_slice:
+3283 58000000 setarg 0 
+
+g24_store_mem_time_slice:
+3284 da20015f arg offset_24g_time_slice ,rega 
+3285 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_mode_switch:
+3286 58000000 setarg 0 
+
+g24_store_mem_mode_switch:
+3287 da20015c arg offset_24g_mode_switch ,rega 
+3288 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_bind_payload:
+3289 da20012f arg offset_24g_bind_payload ,rega 
+328a 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_bind_device_status:
+328b 58000108 setarg offset_dongle_bind_device_status 
+328c 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_store_mem_bind_device_status:
+328d da200108 arg offset_dongle_bind_device_status ,rega 
+328e 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_dongle_work_mode:
+328f 58000105 setarg offset_dongle_work_mode 
+3290 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set_work_mem_dongle_work_mode:
+3291 58000000 setarg dongle_work 
+
+g24_store_mem_dongle_work_mode:
+3292 da200105 arg offset_dongle_work_mode ,rega 
+3293 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_dongle_mode_init:
+3294 58000104 setarg offset_dongle_mode_init 
+3295 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_dongle_mode_init:
+3296 58000000 setarg clear_init 
+
+g24_store_mem_dongle_mode_init:
+3297 da200104 arg offset_dongle_mode_init ,rega 
+3298 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_ackpayload_enable:
+3299 58000000 setarg 0 
+
+g24_store_mem_ackpayload_enable:
+329a da20013b arg offset_24g_ackpayload_enable ,rega 
+329b 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set1_mem_ackpayload_enable:
+329c 58000001 setarg 1 
+329d 2020329a branch g24_store_mem_ackpayload_enable 
+
+g24_fetch_mem_rxdata_temp_add3_7byte:
+329e 5800010c setarg offset_24g_rxdata_temp_add3 
+329f 204032cd call g24_set_rega 
+32a0 ea238000 ifetch 7 ,rega 
+32a1 20600000 rtn 
+
+g24_fetch_mem_nodata_timer_enable:
+32a2 5800015e setarg offset_24g_nodata_timer_enable 
+32a3 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_nodata_timer_enable:
+32a4 58000000 setarg 0 
+
+g24_store_mem_nodata_timer_enable:
+32a5 da20015e arg offset_24g_nodata_timer_enable ,rega 
+32a6 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_ms_blank_data_enable:
+32a7 58000000 setarg 0 
+
+g24_store_mem_ms_blank_data_enable:
+32a8 da200180 arg offset_24g_ms_blank_data_enable ,rega 
+32a9 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_kb_blank_data_enable:
+32aa 58000000 setarg 0 
+
+g24_store_mem_kb_blank_data_enable:
+32ab da20017e arg offset_24g_kb_blank_data_enable ,rega 
+32ac 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_kb_mul_blank_data_enable:
+32ad 58000000 setarg 0 
+
+g24_store_mem_kb_mul_blank_data_enable:
+32ae da20017f arg offset_24g_kb_mul_blank_data_enable ,rega 
+32af 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_power_ctrl_threshold_up:
+32b0 da200102 arg offset_power_ctrl_threshold_up ,rega 
+32b1 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_power_ctrl_threshold_down:
+32b2 da200103 arg offset_power_ctrl_threshold_down ,rega 
+
+g24_set_contw_with_regb_store_1byte:
+32b3 204032c7 call g24_set_contw_with_regb 
+
+g24_contw_istore_1byte:
+32b4 e0a08000 istore 1 ,contw 
+32b5 20600000 rtn 
+
+g24_fetch_mem_pair_mode:
+32b6 5800015d setarg offset_24g_pair_mode 
+32b7 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_store_mem_pair_mode:
+32b8 da20015d arg offset_24g_pair_mode ,rega 
+32b9 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_pair_txpower:
+32ba 5800018a setarg offset_24g_pair_txpower 
+32bb 204032d0 call g24_set_rega_ifetch_1byte 
+32bc 2020326a branch g24_store_mem_txpower 
+
+g24_fetch_mem_rxdata_temp_add3_1byte:
+32bd 5800010c setarg offset_24g_rxdata_temp_add3 
+32be 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set_contw_with_temp:
+32bf 1fe20400 copy pdata ,temp 
+32c0 1a227e00 copy rega ,pdata 
+32c1 9a608a00 iadd regc ,contw 
+32c2 18427e00 copy temp ,pdata 
+32c3 20600000 rtn 
+
+g24_set_contw_with_temp_store_3byte:
+32c4 204032bf call g24_set_contw_with_temp 
+
+g24_contw_istore_3byte:
+32c5 e0a18000 istore 3 ,contw 
+32c6 20600000 rtn 
+
+g24_set_contw_with_regb:
+32c7 20402c7a call g24_head_ptr2regc 
+
+g24_set_contw_with_regb2:
+32c8 1fe22400 copy pdata ,regb 
+32c9 1a227e00 copy rega ,pdata 
+32ca 9a608a00 iadd regc ,contw 
+32cb 1a427e00 copy regb ,pdata 
+32cc 20600000 rtn 
+
+g24_set_rega:
+32cd 20402c7a call g24_head_ptr2regc 
+32ce 9a60a200 iadd regc ,rega 
+32cf 20600000 rtn 
+
+g24_set_rega_ifetch_1byte:
+32d0 204032cd call g24_set_rega 
+
+g24_rega_ifetch_1byte:
+32d1 ea208000 ifetch 1 ,rega 
+32d2 20600000 rtn 
+
+g24_set_rega_ifetcht_4byte:
+32d3 204032cd call g24_set_rega 
+32d4 ea2a0000 ifetcht 4 ,rega 
+32d5 20600000 rtn 
+
+g24_mem_set0:
+32d6 58000000 setarg 0 
+32d7 202032b4 branch g24_contw_istore_1byte 
+
+app_init:
+32d8 44e24018 bpatch patch18_4 ,mem_patch18 
+32d9 6800c092 fetch 1 ,mem_device_option 
+32da 203a32d8 branch app_init ,blank 
+32db c0022f30 beq dvc_op_dongle ,dongle_init 
+32dc c007b436 beq dvc_op_antilost ,antilost_init 
+32dd c004c5de beq dvc_op_shutter ,shutter_init 
+32de c005392a beq dvc_op_module ,module_init 
+32df c00735bf beq dvc_op_car ,car_init 
+32e0 c00844a4 beq dvc_op_remote_car ,remote_car_init 
+32e1 c2833d00 bbit1 dvc_op_mouse ,mouse_init 
+32e2 20600000 rtn 
+
+app_lpm_init:
+32e3 44e2c018 bpatch patch18_5 ,mem_patch18 
+32e4 70015100 jam 0 ,mem_tester_emulate 
+32e5 70017f00 jam 0 ,mem_debug_config 
+32e6 70018000 jam 0 ,mem_lch_code 
+32e7 58000000 setarg 0 
+32e8 600289ae store 5 ,mem_sp_state_start 
+32e9 6800c092 fetch 1 ,mem_device_option 
+32ea 203a32e3 branch app_lpm_init ,blank 
+32eb c0053962 beq dvc_op_module ,module_lpm_init 
+
+app_lpm_init0:
+32ec 20600000 rtn 
+
+app_process_idle:
+32ed 20407cd1 call ui_dispatch 
+32ee 20407d9c call check_51cmd 
+32ef 204032f6 call app_process_bb_event 
+32f0 680141f3 fetch 2 ,mem_cb_idle_process 
+32f1 20207f9c branch callback_func 
+
+app_process_bt:
+32f2 680141f1 fetch 2 ,mem_cb_bt_process 
+32f3 20207f9c branch callback_func 
+
+app_process_ble:
+32f4 680141ef fetch 2 ,mem_cb_le_process 
+32f5 20207f9c branch callback_func 
+
+app_process_bb_event:
+32f6 44e34018 bpatch patch18_6 ,mem_patch18 
+32f7 da204668 arg mem_ipc_fifo_bt2c51 ,rega 
+32f8 20407fc4 call fifo_out 
+32f9 207a0000 rtn blank 
+32fa 1fe22600 copy pdata ,regc 
+32fb 204032ff call app_event_normal_process 
+32fc 20203324 branch app_process_bb_event_priority 
+
+app_discard_event:
+32fd da600000 arg 0 ,regc 
+32fe 20600000 rtn 
+
+app_event_normal_process:
+32ff c000b311 beq bt_evt_bb_connected ,app_evt_bt_conn 
+3300 c0083357 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+3301 c002b335 beq bt_evt_setup_complete ,app_evt_setup_complete 
+3302 c009333c beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+3303 c0033353 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+3304 c0023394 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+3305 c0013399 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+3306 c009b394 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+3307 c00a334b beq bt_evt_le_connected ,app_le_event_bb_connected 
+3308 c00ab34f beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+3309 c001b32e beq bt_evt_reconn_started ,app_event_reconn_start 
+330a c005b340 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+330b c0063347 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+330c c00b335b beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+330d c00c332a beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+330e c015331a beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+330f c015b318 beq bt_evt_switch_success_master ,app_event_switch_success 
+3310 20600000 rtn 
+
+app_evt_bt_conn:
+3311 68014682 fetch 2 ,mem_ui_state_map 
+3312 79207e00 set1 ui_state_bt_connected ,pdata 
+3313 60014682 store 2 ,mem_ui_state_map 
+3314 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3315 793ffe00 set0 app_disc_by_button ,pdata 
+3316 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3317 20600000 rtn 
+
+app_event_switch_success:
+3318 70022900 jam 0 ,mem_switch_fail_master_count 
+3319 20600000 rtn 
+
+app_event_switch_fail_master:
+331a 68008229 fetch 1 ,mem_switch_fail_master_count 
+331b 1fe0fe01 increase 1 ,pdata 
+331c 60008229 store 1 ,mem_switch_fail_master_count 
+331d 1fe67c01 sub pdata ,1 ,null 
+331e 202133df branch app_bt_role_switch ,positive 
+331f 70022900 jam 0 ,mem_switch_fail_master_count 
+3320 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3321 79207e09 set1 app_disc_switch_fail ,pdata 
+3322 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3323 202033e9 branch app_bt_disconnect 
+
+app_process_bb_event_priority:
+3324 680141f5 fetch 2 ,mem_cb_bb_event_process 
+3325 20207f9c branch callback_func 
+
+app_check_wake_lock:
+3326 680141e9 fetch 2 ,mem_cb_check_wakelock 
+3327 20207f9c branch callback_func 
+
+app_will_enter_lpm:
+3328 680141ed fetch 2 ,mem_cb_before_lpm 
+3329 20207f9c branch callback_func 
+
+app_event_linkkey_generate:
+332a 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+332b 79207e01 set1 app_disc_after_pairing ,pdata 
+332c 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+332d 20203412 branch app_bt_store_reconn_info 
+
+app_event_reconn_start:
+332e 68014682 fetch 2 ,mem_ui_state_map 
+332f 79207e07 set1 ui_state_bt_reconnect ,pdata 
+3330 60014682 store 2 ,mem_ui_state_map 
+3331 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3332 79207e02 set1 app_disc_after_reconn ,pdata 
+3333 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3334 20600000 rtn 
+
+app_evt_setup_complete:
+3335 68014682 fetch 2 ,mem_ui_state_map 
+3336 79207e01 set1 ui_state_bt_setup_complete ,pdata 
+3337 60014682 store 2 ,mem_ui_state_map 
+3338 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3339 79207e04 set1 app_disc_after_setup_done ,pdata 
+333a 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+333b 20600000 rtn 
+
+app_evt_hid_handshake:
+333c 68014682 fetch 2 ,mem_ui_state_map 
+333d 79207e03 set1 ui_state_bt_hid_handshake ,pdata 
+333e 60014682 store 2 ,mem_ui_state_map 
+333f 20600000 rtn 
+
+app_event_enter_sniff:
+3340 68014682 fetch 2 ,mem_ui_state_map 
+3341 79207e05 set1 ui_state_bt_sniff ,pdata 
+3342 60014682 store 2 ,mem_ui_state_map 
+3343 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3344 79207e03 set1 app_disc_after_sniff ,pdata 
+3345 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3346 20600000 rtn 
+
+app_event_exit_sniff:
+3347 68014682 fetch 2 ,mem_ui_state_map 
+3348 793ffe05 set0 ui_state_bt_sniff ,pdata 
+3349 60014682 store 2 ,mem_ui_state_map 
+334a 20600000 rtn 
+
+app_le_event_bb_connected:
+334b 68014682 fetch 2 ,mem_ui_state_map 
+334c 79207e09 set1 ui_state_ble_connected ,pdata 
+334d 60014682 store 2 ,mem_ui_state_map 
+334e 20600000 rtn 
+
+app_le_event_bb_disconn:
+334f 68014682 fetch 2 ,mem_ui_state_map 
+3350 793ffe09 set0 ui_state_ble_connected ,pdata 
+3351 60014682 store 2 ,mem_ui_state_map 
+3352 20203418 branch app_lpm_mult_disable 
+
+app_bb_event_hid_connected:
+3353 68014682 fetch 2 ,mem_ui_state_map 
+3354 79207e02 set1 ui_state_bt_hid_conn ,pdata 
+3355 60014682 store 2 ,mem_ui_state_map 
+3356 20600000 rtn 
+
+app_evt_button_long_pressed:
+3357 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3358 79207e00 set1 app_disc_by_button ,pdata 
+3359 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+335a 20600000 rtn 
+
+app_event_ml2cap_conn_refused:
+335b 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+335c 79207e08 set1 app_disc_l2cap_refused ,pdata 
+335d 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+335e 202033e9 branch app_bt_disconnect 
+
+app_evt_timer:
+335f 44e3c018 bpatch patch18_7 ,mem_patch18 
+3360 6000822a store 1 ,mem_app_evt_timer_count 
+
+app_evt_100ms_loop:
+3361 6800822a fetch 1 ,mem_app_evt_timer_count 
+3362 207a0000 rtn blank 
+3363 1fe0ffff increase -1 ,pdata 
+3364 6000822a store 1 ,mem_app_evt_timer_count 
+3365 20407cdd call ui_button_polling 
+3366 204033d6 call app_lpm_wake_auto_lock_timer 
+3367 20403387 call app_unsniff_delay_timer 
+3368 2040338d call app_discovery_timer 
+3369 2040651b call flash_write_spi_sm_timer 
+336a 680141fd fetch 2 ,mem_cb_event_timer 
+336b 20407f9c call callback_func 
+336c 20203361 branch app_evt_100ms_loop 
+
+timer_single_step:
+336d ea608000 ifetch 1 ,regc 
+336e 207a0000 rtn blank 
+336f 1fe0ffff pincrease -1 
+3370 e2608000 istore 1 ,regc 
+3371 247a0000 nrtn blank 
+3372 1a427e00 copy regb ,pdata 
+3373 20207f9c branch callback_func 
+
+timer_single_step_2b:
+3374 ea610000 ifetch 2 ,regc 
+3375 207a0000 rtn blank 
+3376 1fe0ffff pincrease -1 
+3377 e2610000 istore 2 ,regc 
+3378 247a0000 nrtn blank 
+3379 1a427e00 copy regb ,pdata 
+337a 20207f9c branch callback_func 
+
+app_power_timer:
+337b 6809423f fetcht 2 ,mem_power_param_ptr 
+337c 1840a601 add temp ,power_timer_offset ,regc 
+337d da40337f arg app_power_timer_timeout ,regb 
+337e 2020336d branch timer_single_step 
+
+app_power_timer_timeout:
+337f 2040342d call app_got_power_state_common 
+3380 c000b382 beq power_starting ,app_enter_power_stanby_state 
+
+app_enter_power_off_state:
+3381 2020340a branch app_enter_hibernate 
+
+app_enter_power_stanby_state:
+3382 58000002 setarg power_standby 
+3383 e2608000 istore 1 ,regc 
+3384 1840a408 add temp ,power_standby_cb_offset ,regb 
+
+app_power_cb_common:
+3385 ea410000 ifetch 2 ,regb 
+3386 20207f9c branch callback_func 
+
+app_unsniff_delay_timer:
+3387 da604205 arg mem_unsniff2sniff_timer_count ,regc 
+3388 da40338a arg app_unsniff_delay_timeout ,regb 
+3389 2020336d branch timer_single_step 
+
+app_unsniff_delay_timeout:
+338a 20402252 call context_check_idle 
+338b 2022b40e branch app_bt_enter_sniff ,zero 
+338c 20600000 rtn 
+
+app_discovery_timer:
+338d da60467e arg mem_discovery_timeout_timer_count ,regc 
+338e da403390 arg app_discovery_timeout ,regb 
+338f 20203374 branch timer_single_step_2b 
+
+app_discovery_timeout:
+3390 204033f0 call app_bt_stop_discovery 
+3391 20403408 call app_led_off 
+3392 680141f7 fetch 2 ,mem_cb_discovry_timeout 
+3393 20207f9c branch callback_func 
+
+app_bb_event_reconn_failed:
+3394 204033ac call app_disconn_reason_flag_clear 
+
+app_clear_reconnect_flag:
+3395 68014682 fetch 2 ,mem_ui_state_map 
+3396 793ffe07 set0 ui_state_bt_reconnect ,pdata 
+3397 60014682 store 2 ,mem_ui_state_map 
+3398 20600000 rtn 
+
+app_bb_event_bb_disconn:
+3399 70420500 jam 0 ,mem_unsniff2sniff_timer_count 
+339a 68014682 fetch 2 ,mem_ui_state_map 
+339b c283b39e bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+339c 2fec0001 isolate0 ui_state_bt_setup_complete ,pdata 
+339d 2040b2fd call app_discard_event ,true 
+
+app_bb_event_bb_reconn_disconn:
+339e 44e44019 bpatch patch19_0 ,mem_patch19 
+339f 68014682 fetch 2 ,mem_ui_state_map 
+33a0 793ffe00 set0 ui_state_bt_connected ,pdata 
+33a1 793ffe01 set0 ui_state_bt_setup_complete ,pdata 
+33a2 793ffe02 set0 ui_state_bt_hid_conn ,pdata 
+33a3 793ffe03 set0 ui_state_bt_hid_handshake ,pdata 
+33a4 793ffe07 set0 ui_state_bt_reconnect ,pdata 
+33a5 60014682 store 2 ,mem_ui_state_map 
+33a6 20203418 branch app_lpm_mult_disable 
+
+app_bb_hibernate:
+33a7 204033a9 call app_disconn_reason_clear 
+33a8 2020340a branch app_enter_hibernate 
+
+app_disconn_reason_clear:
+33a9 58000000 setarg 0 
+33aa 60014208 store app_disc_rsn_size ,mem_app_disconn_reason 
+33ab 20600000 rtn 
+
+app_disconn_reason_flag_clear:
+33ac 58000000 setarg 0 
+33ad 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33ae 20600000 rtn 
+
+app_disconn_reason_collect_bt:
+33af 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b0 60014208 store app_disc_rsn_size ,mem_app_disconn_reason 
+33b1 58000000 setarg 0 
+33b2 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b3 20600000 rtn 
+
+app_disconn_reason_collect_ble:
+33b4 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b5 79207e07 set1 app_disc_ble ,pdata 
+33b6 60014208 store app_disc_rsn_size ,mem_app_disconn_reason 
+33b7 58000000 setarg 0 
+33b8 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b9 20600000 rtn 
+
+app_check_sniff:
+33ba 6800c682 fetch 1 ,mem_ui_state_map 
+33bb 2feffe05 isolate1 ui_state_bt_sniff ,pdata 
+33bc 20600000 rtn 
+
+app_initflag_store:
+33bd 5800aa55 setarg eeprom_init_flag 
+
+app_flag_store:
+33be 60010aaa store 2 ,mem_timeup 
+33bf 44e4c019 bpatch patch19_1 ,mem_patch19 
+33c0 d8400002 arg 2 ,temp 
+33c1 da200aaa arg mem_timeup ,rega 
+33c2 da4000c3 arg eeprom_module_init_flag ,regb 
+33c3 20206606 branch iicd_write_eep_data 
+
+app_initflag_check:
+33c4 44e54019 bpatch patch19_2 ,mem_patch19 
+33c5 d8400002 arg 2 ,temp 
+33c6 da200a9a arg mem_pdatatemp ,rega 
+33c7 da4000c3 arg eeprom_module_init_flag ,regb 
+33c8 204065df call iicd_read_eep_data 
+33c9 68010a9a fetch 2 ,mem_pdatatemp 
+33ca d840aa55 arg eeprom_init_flag ,temp 
+33cb 98467c00 isub temp ,null 
+33cc 20600000 rtn 
+
+app_start_auto_sniff:
+33cd 6800c55a fetch 1 ,mem_unsniff2sniff_timer 
+33ce 6000c205 store 1 ,mem_unsniff2sniff_timer_count 
+33cf 20600000 rtn 
+
+app_get_lpm_wake_lock:
+33d0 d8e00009 arg wake_lock_app ,queue 
+33d1 20202c32 branch lpm_get_wake_lock 
+
+app_put_lpm_wake_lock:
+33d2 d8e00009 arg wake_lock_app ,queue 
+33d3 20202c36 branch lpm_put_wake_lock 
+
+app_lpm_wake_auto_lock:
+33d4 70420605 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+33d5 202033d0 branch app_get_lpm_wake_lock 
+
+app_lpm_wake_auto_lock_timer:
+33d6 da604206 arg mem_wake_up_delay_timer ,regc 
+33d7 da4033d2 arg app_put_lpm_wake_lock ,regb 
+33d8 2020336d branch timer_single_step 
+
+app_l2cap_flow_control_enable:
+33d9 70436301 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+33da 20600000 rtn 
+
+app_l2cap_flow_control_disable:
+33db 70436300 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+33dc 20600000 rtn 
+
+app_bt_set_pincode:
+33dd 700a990a jam bt_cmd_set_pin_code ,mem_fifo_temp 
+33de 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_role_switch:
+33df 700a991d jam bt_cmd_role_switch ,mem_fifo_temp 
+33e0 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_start_reconnect:
+33e1 44e5c019 bpatch patch19_3 ,mem_patch19 
+33e2 6800c207 fetch 1 ,mem_app_connection_options 
+33e3 6000816d store 1 ,mem_connection_options 
+33e4 70022801 jam app_flag_reconnect ,mem_reconnect_flag 
+33e5 700a9903 jam bt_cmd_reconnect ,mem_fifo_temp 
+33e6 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_reconnect_cancel:
+33e7 700a991e jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+33e8 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_disconnect:
+33e9 700a9904 jam bt_cmd_disconnect ,mem_fifo_temp 
+33ea 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_start_discovery_short:
+33eb 68014687 fetch 2 ,mem_discovery_timeout 
+33ec 6001467e store 2 ,mem_discovery_timeout_timer_count 
+
+app_bt_start_discovery_led_blink:
+33ed 20403404 call app_led_start_blink 
+
+app_bt_start_discovery:
+33ee 700a9901 jam bt_cmd_start_discovery ,mem_fifo_temp 
+33ef 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_stop_discovery:
+33f0 58000000 setarg 0 
+33f1 6001467e store 2 ,mem_discovery_timeout_timer_count 
+33f2 700a9902 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+33f3 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_direct_adv:
+33f4 700a990f jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+33f5 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_stop_direct_adv:
+33f6 700a9910 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+33f7 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_stop_adv:
+33f8 700a990e jam bt_cmd_stop_adv ,mem_fifo_temp 
+33f9 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_adv:
+33fa 700a990d jam bt_cmd_start_adv ,mem_fifo_temp 
+33fb 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_scan:
+33fc 700a9917 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+33fd 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_stop_scan:
+33fe 700a9918 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+33ff 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_conn:
+3400 700a9916 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+3401 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_disconnect:
+3402 700a9911 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+3403 20207d8f branch ui_ipc_send_cmd 
+
+app_led_start_blink:
+3404 700a9915 jam bt_cmd_led_blink ,mem_fifo_temp 
+3405 20207d8f branch ui_ipc_send_cmd 
+
+app_led_on:
+3406 700a9914 jam bt_cmd_led_on ,mem_fifo_temp 
+3407 20207d8f branch ui_ipc_send_cmd 
+
+app_led_stop_blink:
+
+app_led_off:
+3408 700a9913 jam bt_cmd_led_off ,mem_fifo_temp 
+3409 20207d8f branch ui_ipc_send_cmd 
+
+app_enter_hibernate:
+340a 700a9919 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+340b 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_sniff_exit:
+340c 700a9906 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+340d 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_enter_sniff:
+340e 700a9905 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+340f 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_store_reconn_info:
+3410 700a991f jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+3411 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_store_reconn_info:
+3412 700a9920 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+3413 20207d8f branch ui_ipc_send_cmd 
+
+app_store_reconn_info:
+3414 700a9925 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+3415 20207d8f branch ui_ipc_send_cmd 
+
+app_lpm_mult_enable:
+3416 7920000d set1 mark_lpm_mult_enable ,mark 
+3417 20600000 rtn 
+
+app_lpm_mult_disable:
+3418 793f800d set0 mark_lpm_mult_enable ,mark 
+3419 20600000 rtn 
+
+app_button_long_pressed:
+341a 2040342d call app_got_power_state_common 
+341b c0013424 beq power_standby ,app_power_shutting_down 
+
+app_power_starting:
+341c 58000001 setarg power_starting 
+341d e2608000 istore 1 ,regc 
+341e 1840a203 add temp ,power_starting_timeout_offset ,rega 
+341f 1840a406 add temp ,power_starting_cb_offset ,regb 
+
+app_power_common:
+3420 ea288000 ifetcht 1 ,rega 
+3421 1a60a601 increase 1 ,regc 
+3422 e2688000 istoret 1 ,regc 
+3423 20203385 branch app_power_cb_common 
+
+app_power_shutting_down:
+3424 58000000 setarg power_off 
+3425 e2608000 istore 1 ,regc 
+3426 68014682 fetch 2 ,mem_ui_state_map 
+3427 c304b429 bbit0 ui_state_ble_connected ,app_power_off_end 
+3428 20403402 call app_ble_disconnect 
+
+app_power_off_end:
+3429 6809423f fetcht 2 ,mem_power_param_ptr 
+342a 1840a202 add temp ,power_off_timeout_offset ,rega 
+342b 1840a404 add temp ,power_off_cb_offset ,regb 
+342c 20203420 branch app_power_common 
+
+app_got_power_state_common:
+342d 6809423f fetcht 2 ,mem_power_param_ptr 
+342e 1840a600 add temp ,power_state_offset ,regc 
+342f ea608000 ifetch 1 ,regc 
+3430 20600000 rtn 
+
+app_event_button_up:
+3431 2040342d call app_got_power_state_common 
+3432 c0803434 bne power_off ,app_power_release 
+3433 2020340a branch app_enter_hibernate 
+
+app_power_release:
+3434 1840a40a add temp ,ui_butten_up_cb_offset ,regb 
+3435 20203385 branch app_power_cb_common 
+
+antilost_init:
+3436 20758000 rtn wake 
+3437 70808100 hjam 0x00 ,core_gpio_sel1 
+3438 58003463 setarg antilost_le_before_hibernate 
+3439 600141eb store 2 ,mem_cb_before_hibernate 
+343a 5800696c setarg keyscan_process_lpm_before 
+343b 600141ed store 2 ,mem_cb_before_lpm 
+343c 580034f5 setarg antilost_idle_process 
+343d 600141f3 store 2 ,mem_cb_idle_process 
+343e 580034f4 setarg antilost_le_conn_process 
+343f 600141ef store 2 ,mem_cb_le_process 
+3440 5800347e setarg antilost_bb_event_process 
+3441 600141f5 store 2 ,mem_cb_bb_event_process 
+3442 580034b2 setarg antilost_le_bb_event_timer 
+3443 600141fd store 2 ,mem_cb_event_timer 
+3444 58003465 setarg antilost_le_notification 
+3445 600141fb store 2 ,mem_cb_ble_transmit 
+3446 58003470 setarg antilost_lpm_lock_process 
+3447 600141e9 store 2 ,mem_cb_check_wakelock 
+3448 58003501 setarg antilost_le_receive_data_process 
+3449 600141f9 store 2 ,mem_cb_att_write 
+344a 44e64019 bpatch patch19_4 ,mem_patch19 
+344b 2040359b call antilost_buzzer_pwm_init 
+344c 20406948 call keyscan_key_init 
+344d 204035ad call antilost_adc_init 
+344e 20407d08 call ui_led_init_global 
+344f 20407cd3 call ui_button_init 
+3450 5800350b setarg antilost_key_up_down 
+3451 60014766 store 2 ,mem_cb_antl_key 
+3452 580034fc setarg antilost_power_off_cb 
+3453 6001475d store 2 ,mem_antl_power_off_cb 
+3454 580034f8 setarg antilost_power_starting_cb 
+3455 6001475f store 2 ,mem_antl_power_starting_cb 
+3456 5800346c setarg antilost_power_standby_cb 
+3457 60014761 store 2 ,mem_antl_power_standby_cb 
+3458 580035a2 setarg antilost_led_on_cb 
+3459 600146a9 store 2 ,mem_antl_led_cb_on 
+345a 580035a4 setarg antilost_led_off_cb 
+345b 600146ab store 2 ,mem_antl_led_cb_off 
+345c 580035a9 setarg antilost_buzzer_on 
+345d 600146b4 store 2 ,mem_antl_buzzer_cb_on 
+345e 580035a6 setarg antilost_buzzer_off 
+345f 600146b6 store 2 ,mem_antl_buzzer_cb_off 
+3460 68014682 fetch 2 ,mem_ui_state_map 
+3461 c3860000 rtnbit1 ui_state_btn_down 
+3462 2020340a branch app_enter_hibernate 
+
+antilost_le_before_hibernate:
+3463 20403586 call antilost_led_buzzer_stop_blink 
+3464 2020340a branch app_enter_hibernate 
+
+antilost_le_notification:
+3465 20405892 call le_fifo_check_nearly_full 
+3466 247a0000 nrtn blank 
+3467 da200b06 arg mem_temp_block5 ,rega 
+3468 20407e54 call queue_pop 
+3469 24740000 nrtn user 
+346a d8c00b06 arg mem_temp_block5 ,contr 
+346b 20204746 branch le_send_notify_from_list 
+
+antilost_power_standby_cb:
+346c 68014797 fetch 2 ,mem_antl_le_sleep_timeout 
+346d 60014791 store 2 ,mem_antl_le_sleep_timer 
+346e 70475301 jam 1 ,mem_antl_key_scan_enable 
+346f 2020358f branch antilost_fast_adv_start 
+
+antilost_lpm_lock_process:
+3470 6800c79d fetch 1 ,mem_antl_key_state 
+3471 c000b479 beq 1 ,antilost_lpm_ctrl_for_led_buzzer 
+3472 68014682 fetch 2 ,mem_ui_state_map 
+3473 c304b479 bbit0 ui_state_ble_connected ,antilost_lpm_ctrl_for_led_buzzer 
+3474 6800c79e fetch 1 ,mem_antl_lost_mode 
+3475 c000b3d0 beq 1 ,app_get_lpm_wake_lock 
+3476 6800c700 fetch 1 ,mem_antl_queue_curr_num 
+3477 243a33d0 nbranch app_get_lpm_wake_lock ,blank 
+3478 202033d2 branch app_put_lpm_wake_lock 
+
+antilost_lpm_ctrl_for_led_buzzer:
+3479 6800c79b fetch 1 ,mem_antl_led_state 
+347a 6808c79c fetcht 1 ,mem_antl_buzzer_state 
+347b 9841fe00 ior temp ,pdata 
+347c c000b3d0 beq 1 ,app_get_lpm_wake_lock 
+347d 202033d2 branch app_put_lpm_wake_lock 
+
+antilost_bb_event_process:
+347e 1a627e00 copy regc ,pdata 
+347f c016b431 beq bt_evt_button_up ,app_event_button_up 
+3480 c008341a beq bt_evt_button_long_pressed ,app_button_long_pressed 
+3481 c00a34df beq bt_evt_le_connected ,antilost_le_process_conn 
+3482 c00ab4e8 beq bt_evt_le_disconnected ,antilost_le_process_discon 
+3483 c0203485 beq bt_evt_le_parse_conn_papa_update_rsp ,antilost_le_conn_param_update_rsp_recieved 
+3484 20600000 rtn 
+
+antilost_le_conn_param_update_rsp_recieved:
+3485 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+3486 c000b48c beq ble_signaling_connect_parameter_update_rejected ,antilost_le_conn_param_rejected 
+
+antilost_le_conn_param_accepted:
+3487 680143d8 fetch 2 ,mem_le_new_connslavelatency 
+3488 203a34a2 branch antilost_master_nonsupport_latency ,blank 
+
+antilost_le_conn_param_updata_procedure_sucsess:
+3489 70478a02 jam conn_param_updata_procedure_complete ,mem_antl_conn_updata_procedure_state 
+348a 70478f3c jam 60 ,mem_antl_conn_update_timer 
+348b 20600000 rtn 
+
+antilost_le_conn_param_rejected:
+348c 6801449a fetch 2 ,mem_le_latency 
+348d 203a34a0 branch antilost_conn_param_updata_procedure_faild ,blank 
+
+antilost_conn_param_retransimiting:
+348e 70478a01 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+348f 680947b4 fetcht 2 ,mem_interval_increment 
+3490 68014496 fetch 2 ,mem_le_interval_min 
+3491 9840fe00 iadd temp ,pdata 
+3492 60014496 store 2 ,mem_le_interval_min 
+3493 1fe22200 copy pdata ,rega 
+3494 68014498 fetch 2 ,mem_le_interval_max 
+3495 9840fe00 iadd temp ,pdata 
+3496 60014498 store 2 ,mem_le_interval_max 
+3497 9a20fe00 iadd rega ,pdata 
+3498 1fe30400 rshift pdata ,temp 
+3499 680147c0 fetch 2 ,mem_antl_le_unnormal_interval_max 
+349a 9846fc00 idiv temp 
+349b 20407f86 call wait_div_end 
+349c 1807fe00 quotient pdata 
+349d 6001449a store 2 ,mem_le_latency 
+349e 70479001 jam 1 ,mem_antl_send_updata_le_param_timer 
+349f 20600000 rtn 
+
+antilost_conn_param_updata_procedure_faild:
+34a0 70478a03 jam conn_param_updata_procedure_faild ,mem_antl_conn_updata_procedure_state 
+34a1 20600000 rtn 
+
+antilost_master_nonsupport_latency:
+34a2 70417200 jam 0 ,mem_lpm_mult 
+34a3 70479000 jam 0 ,mem_antl_send_updata_le_param_timer 
+34a4 680143d6 fetch 2 ,mem_le_new_conninterval 
+34a5 680947be fetcht 2 ,mem_antl_le_unnormal_interval_min 
+34a6 98467c00 isub temp ,null 
+34a7 79212200 setflag positive ,0 ,rega 
+34a8 680147c0 fetch 2 ,mem_antl_le_unnormal_interval_max 
+34a9 680943d6 fetcht 2 ,mem_le_new_conninterval 
+34aa 98467e00 isub temp ,pdata 
+34ab 79212201 setflag positive ,1 ,rega 
+34ac 2a200603 compare 0x03 ,rega ,0x03 
+34ad 20608000 rtn true 
+34ae 680447be fetch 8 ,mem_antl_le_unnormal_interval_min 
+34af 60044496 store 8 ,mem_le_interval_min 
+34b0 70479001 jam 1 ,mem_antl_send_updata_le_param_timer 
+34b1 20600000 rtn 
+
+antilost_le_bb_event_timer:
+34b2 2040337b call app_power_timer 
+34b3 204034b9 call antilost_double_click_timer 
+34b4 204034be call antilost_le_fast_adv_timer 
+34b5 204034d5 call antilost_le_sleep_timer 
+34b6 204034ca call antilost_app_updata_le_param_timer 
+34b7 204034c4 call antilost_conn_update_timer 
+34b8 202034d9 branch antilost_adc_check_timer 
+
+antilost_double_click_timer:
+34b9 da604799 arg mem_double_click_timer ,regc 
+34ba da4034bc arg antilost_double_click_timeout ,regb 
+34bb 2020336d branch timer_single_step 
+
+antilost_double_click_timeout:
+34bc 70479a00 jam 0 ,mem_butten_click_cnt 
+34bd 20600000 rtn 
+
+antilost_le_fast_adv_timer:
+34be da604793 arg mem_antl_fast_adv_timer ,regc 
+34bf da4034c1 arg antilost_le_fast_adv_timeout ,regb 
+34c0 20203374 branch timer_single_step_2b 
+
+antilost_le_fast_adv_timeout:
+34c1 da6046bf arg mem_antl_slow_adv_led_style ,regc 
+34c2 da40469e arg mem_antl_slow_adv_lpm_interval ,regb 
+34c3 20203591 branch antilost_adv_start_common 
+
+antilost_conn_update_timer:
+34c4 da60478f arg mem_antl_conn_update_timer ,regc 
+34c5 da4034c7 arg antilost_conn_update_timer_time_out ,regb 
+34c6 2020336d branch timer_single_step 
+
+antilost_conn_update_timer_time_out:
+34c7 6801449a fetch 2 ,mem_le_latency 
+34c8 6000c172 store 1 ,mem_lpm_mult 
+34c9 20600000 rtn 
+
+antilost_app_updata_le_param_timer:
+34ca da604790 arg mem_antl_send_updata_le_param_timer ,regc 
+34cb da4034cd arg antilost_app_updata_le_param_timeout ,regb 
+34cc 2020336d branch timer_single_step 
+
+antilost_app_updata_le_param_timeout:
+34cd 6800843f fetch 1 ,mem_le_state 
+34ce 2fe0c000 compare 0 ,pdata ,0x60 
+34cf 2420b4d3 nbranch antilost_wait_for_updata_param_instant_expire ,true 
+34d0 70478a01 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+34d1 20403416 call app_lpm_mult_enable 
+34d2 20205abf branch le_l2cap_tx_update_req 
+
+antilost_wait_for_updata_param_instant_expire:
+34d3 70479001 jam 1 ,mem_antl_send_updata_le_param_timer 
+34d4 20600000 rtn 
+
+antilost_le_sleep_timer:
+34d5 da604791 arg mem_antl_le_sleep_timer ,regc 
+34d6 da4034d8 arg antilost_le_sleep_timer_timeout ,regb 
+34d7 20203374 branch timer_single_step_2b 
+
+antilost_le_sleep_timer_timeout:
+34d8 2020341a branch app_button_long_pressed 
+
+antilost_adc_check_timer:
+34d9 da60478d arg mem_adc_timer ,regc 
+34da da4034dc arg antilost_adc_check_timer_timeout ,regb 
+34db 20203374 branch timer_single_step_2b 
+
+antilost_adc_check_timer_timeout:
+34dc 680147a7 fetch 2 ,mem_adc_timeout 
+34dd 6001478d store 2 ,mem_adc_timer 
+34de 202035af branch antilost_battery_process 
+
+antilost_le_process_conn:
+34df 680147a7 fetch 2 ,mem_adc_timeout 
+34e0 6001478d store 2 ,mem_adc_timer 
+34e1 58000000 setarg 0 
+34e2 60014793 store 2 ,mem_antl_fast_adv_timer 
+34e3 60014791 store 2 ,mem_antl_le_sleep_timer 
+34e4 2040355c call antilost_alert_off 
+34e5 20403586 call antilost_led_buzzer_stop_blink 
+34e6 70417200 jam 0 ,mem_lpm_mult 
+34e7 202033f8 branch app_ble_stop_adv 
+
+antilost_le_process_discon:
+34e8 58000000 setarg 0 
+34e9 6002478d store 4 ,mem_adc_timer 
+34ea 6001c78a store 3 ,mem_antl_conn_updata_procedure_state 
+34eb 60014509 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+34ec 7047a001 jam 1 ,mem_alarm_config_notfy_cnt 
+34ed 68014797 fetch 2 ,mem_antl_le_sleep_timeout 
+34ee 60014791 store 2 ,mem_antl_le_sleep_timer 
+34ef 20407e38 call queue_init 
+34f0 6800c759 fetch 1 ,mem_antl_power_state 
+34f1 c1000000 rtneq power_off 
+34f2 2040358f call antilost_fast_adv_start 
+34f3 2020356e branch antilost_on_off_alarm_after_disconn 
+
+antilost_le_conn_process:
+34f4 20203508 branch antilost_key_process 
+
+antilost_idle_process:
+34f5 6800c759 fetch 1 ,mem_antl_power_state 
+34f6 c1810000 rtnne power_standby 
+34f7 20203508 branch antilost_key_process 
+
+antilost_power_starting_cb:
+34f8 da6046cd arg mem_antl_power_starting_buzzer_style ,regc 
+34f9 20403582 call antilost_buzzer_configuration 
+34fa da6046c6 arg mem_antl_power_starting_led_style ,regc 
+
+antilost_power_common:
+34fb 20203584 branch antilost_led_configuration 
+
+antilost_power_off_cb:
+34fc 70436e00 jam off ,mem_le_adv_enable 
+34fd da6046db arg mem_antl_power_off_buzzer_style ,regc 
+34fe 20403582 call antilost_buzzer_configuration 
+34ff da6046d4 arg mem_antl_power_off_led_style ,regc 
+3500 202034fb branch antilost_power_common 
+
+antilost_le_receive_data_process:
+3501 68008477 fetch 1 ,mem_le_att_opcode 
+3502 c0093504 beq attop_write_request ,antilost_le_parse_att_write_request 
+3503 20600000 rtn 
+
+antilost_le_parse_att_write_request:
+3504 68010478 fetch 2 ,mem_le_att_handle 
+3505 c006b536 beq new_spec_write_handle ,antilost_cmd_parse_for_application 
+3506 c005b571 beq new_spec_notification_enable_handle ,antilost_notify_alarm_config_first_time 
+3507 20600000 rtn 
+
+antilost_key_process:
+3508 6800c753 fetch 1 ,mem_antl_key_scan_enable 
+3509 207a0000 rtn blank 
+350a 20206978 branch keyscan_key_process 
+
+antilost_key_up_down:
+350b 1a227e00 copy rega ,pdata 
+350c 203a3510 branch antilost_key_is_up ,blank 
+
+antilost_key_is_down:
+350d 18e27e00 copy queue ,pdata 
+350e c0003513 beq 0 ,antilost_key0_down 
+350f 20600000 rtn 
+
+antilost_key_is_up:
+3510 18e27e00 copy queue ,pdata 
+3511 c000351b beq 0 ,antilost_key0_up 
+3512 20600000 rtn 
+
+antilost_key0_down:
+3513 70479d01 jam 1 ,mem_antl_key_state 
+3514 da6046f7 arg mem_antl_key_buzzer_style ,regc 
+3515 20403582 call antilost_buzzer_configuration 
+3516 da6046f0 arg mem_antl_key_led_style ,regc 
+3517 20403584 call antilost_led_configuration 
+3518 68014682 fetch 2 ,mem_ui_state_map 
+3519 c304b532 bbit0 ui_state_ble_connected ,antilost_butten_down_while_disconn 
+351a 20203521 branch antilost_butten_down_after_conn 
+
+antilost_key0_up:
+351b 70479d00 jam 0 ,mem_antl_key_state 
+351c 2020351d branch antilost_double_click_timer_init 
+
+antilost_double_click_timer_init:
+351d 6800c79a fetch 1 ,mem_butten_click_cnt 
+351e c1808000 rtnne 1 
+351f 70479905 jam 5 ,mem_double_click_timer 
+3520 20600000 rtn 
+
+antilost_butten_down_after_conn:
+3521 6800c79a fetch 1 ,mem_butten_click_cnt 
+3522 1fe0fe01 pincrease 1 
+3523 6000c79a store 1 ,mem_butten_click_cnt 
+3524 c000b527 beq 1 ,antilost_click_once 
+3525 c001352b beq 2 ,antilost_click_twice 
+3526 20600000 rtn 
+
+antilost_click_once:
+3527 2040355c call antilost_alert_off 
+3528 70477101 jam opcode1_butten_click_once ,mem_antl_key0_press + 5 
+3529 da60476c arg mem_antl_key0_press ,regc 
+352a 20203544 branch antilost_prepare_data_and_send 
+
+antilost_click_twice:
+352b 70479a00 jam 0 ,mem_butten_click_cnt 
+352c 70477102 jam opcode2_butten_double_click ,mem_antl_key0_press + 5 
+352d da60476c arg mem_antl_key0_press ,regc 
+352e 20403544 call antilost_prepare_data_and_send 
+352f 6800c79e fetch 1 ,mem_antl_lost_mode 
+3530 c000b551 beq 1 ,antilost_alert_on 
+3531 20600000 rtn 
+
+antilost_butten_down_while_disconn:
+3532 68014797 fetch 2 ,mem_antl_le_sleep_timeout 
+3533 60014791 store 2 ,mem_antl_le_sleep_timer 
+3534 2040355c call antilost_alert_off 
+3535 2020358f branch antilost_fast_adv_start 
+
+antilost_cmd_parse_for_application:
+3536 44e6c019 bpatch patch19_5 ,mem_patch19 
+3537 204036fc call le_app_receive_data 
+3538 ea208000 ifetch 1 ,rega 
+3539 c001b53c beq opcode3_antl_start_alram ,antilost_on_of_alram 
+353a c003b540 beq opcode7_antl_config_alram ,antilost_configuration_for_alram 
+353b 20600000 rtn 
+
+antilost_on_of_alram:
+353c 6800c79e fetch 1 ,mem_antl_lost_mode 
+353d c0003551 beq anti_le_alarm_off ,antilost_alert_on 
+353e c000b55c beq anti_le_alarm_on ,antilost_alert_off 
+353f 20600000 rtn 
+
+antilost_configuration_for_alram:
+3540 ea408000 ifetch 1 ,regb 
+3541 c000b564 beq 1 ,antilost_set_start_alarm_after_disconn 
+3542 c0003569 beq 0 ,antilost_set_no_alarm_after_disconn 
+3543 20600000 rtn 
+
+antilost_prepare_data_and_send:
+3544 44e74019 bpatch patch19_6 ,mem_patch19 
+3545 6800c78b fetch 1 ,mem_client_characteristic_configuration_descriptor 
+3546 2feffe00 isolate1 notification_enable_bit ,pdata 
+3547 24608000 nrtn true 
+3548 1a608c06 add regc ,6 ,contr 
+3549 e8c10000 ifetch 2 ,contr 
+354a 1ff0fe00 byteswap pdata ,pdata 
+354b 1fe0f205 add pdata ,5 ,loopcnt 
+354c 1a608c03 add regc ,3 ,contr 
+354d 204036f0 call calc_check_sum_start 
+354e e0c08000 istore 1 ,contr 
+354f 1a622200 copy regc ,rega 
+3550 20207e3d branch queue_push 
+
+antilost_alert_on:
+3551 6800c759 fetch 1 ,mem_antl_power_state 
+3552 207a0000 rtn blank 
+3553 70479e01 jam 1 ,mem_antl_lost_mode 
+3554 da6046e9 arg mem_antl_alert_buzzer_stlye ,regc 
+3555 20403582 call antilost_buzzer_configuration 
+3556 da6046e2 arg mem_antl_alert_led_stlye ,regc 
+3557 20403584 call antilost_led_configuration 
+3558 70478004 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+3559 70478301 jam 1 ,mem_antl_key0_release + 8 
+355a da60477b arg mem_antl_key0_release ,regc 
+355b 20203544 branch antilost_prepare_data_and_send 
+
+antilost_alert_off:
+355c 6800c79e fetch 1 ,mem_antl_lost_mode 
+355d 207a0000 rtn blank 
+355e 70479e00 jam 0 ,mem_antl_lost_mode 
+355f 20403586 call antilost_led_buzzer_stop_blink 
+3560 70478004 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+3561 70478300 jam 0 ,mem_antl_key0_release + 8 
+3562 da60477b arg mem_antl_key0_release ,regc 
+3563 20203544 branch antilost_prepare_data_and_send 
+
+antilost_set_start_alarm_after_disconn:
+3564 70479f01 jam 1 ,mem_alarm_config 
+3565 70478007 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+3566 70478301 jam 1 ,mem_antl_key0_release + 8 
+3567 da60477b arg mem_antl_key0_release ,regc 
+3568 20203544 branch antilost_prepare_data_and_send 
+
+antilost_set_no_alarm_after_disconn:
+3569 70479f00 jam 0 ,mem_alarm_config 
+356a 70478007 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+356b 70478300 jam 0 ,mem_antl_key0_release + 8 
+356c da60477b arg mem_antl_key0_release ,regc 
+356d 20203544 branch antilost_prepare_data_and_send 
+
+antilost_on_off_alarm_after_disconn:
+356e 6800c79f fetch 1 ,mem_alarm_config 
+356f 207a0000 rtn blank 
+3570 20203551 branch antilost_alert_on 
+
+antilost_notify_alarm_config_first_time:
+3571 ea210000 ifetch 2 ,rega 
+3572 6001478b store 2 ,mem_client_characteristic_configuration_descriptor 
+3573 2feffe00 isolate1 notification_enable_bit ,pdata 
+3574 24608000 nrtn true 
+3575 6800c7a0 fetch 1 ,mem_alarm_config_notfy_cnt 
+3576 207a0000 rtn blank 
+3577 7047a000 jam 0 ,mem_alarm_config_notfy_cnt 
+3578 680447b6 fetch 8 ,mem_antl_le_interval_min 
+3579 60044496 store 8 ,mem_le_interval_min 
+357a 70479002 jam 2 ,mem_antl_send_updata_le_param_timer 
+357b 204035af call antilost_battery_process 
+357c 204035b9 call antilost_battery_calculate_end 
+357d 70478007 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+357e 6800c79f fetch 1 ,mem_alarm_config 
+357f 6000c783 store 1 ,mem_antl_key0_release + 8 
+3580 da60477b arg mem_antl_key0_release ,regc 
+3581 20203544 branch antilost_prepare_data_and_send 
+
+antilost_buzzer_configuration:
+3582 da200001 arg 1 ,rega 
+3583 20203585 branch antilost_configuration_common 
+
+antilost_led_configuration:
+3584 da200000 arg 0 ,rega 
+
+antilost_configuration_common:
+3585 2020358c branch antilost_led_buzzer_style_configuration 
+
+antilost_led_buzzer_stop_blink:
+3586 da200000 arg 0 ,rega 
+3587 20407d19 call ui_led_blink_stop_global 
+3588 da200001 arg 1 ,rega 
+3589 20407d19 call ui_led_blink_stop_global 
+358a 6800c7a1 fetch 1 ,mem_buzzer_pwm_conf 
+358b 202069d7 branch pwm_disable 
+
+antilost_led_buzzer_style_configuration:
+358c 20407d04 call calc_curr_struct_prt 
+358d df200007 arg 7 ,loopcnt 
+358e 20207d26 branch ui_led_set_style_global + 2 
+
+antilost_fast_adv_start:
+358f da6046b8 arg mem_antl_fast_adv_led_style ,regc 
+3590 da40469a arg mem_antl_lpm_interval ,regb 
+
+antilost_adv_start_common:
+3591 20403596 call antilost_adv_interval_lpm_interval_set 
+3592 20403584 call antilost_led_configuration 
+3593 68014795 fetch 2 ,mem_antl_fast_adv_timeout 
+3594 60014793 store 2 ,mem_antl_fast_adv_timer 
+3595 202033fa branch app_ble_start_adv 
+
+antilost_adv_interval_lpm_interval_set:
+3596 ea410000 ifetch 2 ,regb 
+3597 60014154 store 2 ,mem_lpm_interval 
+3598 e8c10000 ifetch 2 ,contr 
+3599 60014482 store 2 ,mem_le_adv_interval 
+359a 20600000 rtn 
+
+antilost_buzzer_pwm_init:
+359b da200000 arg 0 ,rega 
+359c 204069a6 call pwm_init 
+359d 680347a1 fetch 6 ,mem_buzzer_pwm_conf 
+359e 60030a9a store 6 ,mem_pdatatemp 
+359f 204069ae call pwm_out_set 
+35a0 6800c7a1 fetch 1 ,mem_buzzer_pwm_conf 
+35a1 202069d7 branch pwm_disable 
+
+antilost_led_on_cb:
+35a2 70479b01 jam 1 ,mem_antl_led_state 
+35a3 20600000 rtn 
+
+antilost_led_off_cb:
+35a4 70479b00 jam 0 ,mem_antl_led_state 
+35a5 20600000 rtn 
+
+antilost_buzzer_off:
+35a6 70479c00 jam 0 ,mem_antl_buzzer_state 
+35a7 6800c7a1 fetch 1 ,mem_buzzer_pwm_conf 
+35a8 202069d7 branch pwm_disable 
+
+antilost_buzzer_on:
+35a9 70479c01 jam 1 ,mem_antl_buzzer_state 
+35aa 680347a1 fetch 6 ,mem_buzzer_pwm_conf 
+35ab 60030a9a store 6 ,mem_pdatatemp 
+35ac 202069ae branch pwm_out_set 
+
+antilost_adc_init:
+35ad 70422d00 jam 0 ,mem_adc_config_flag 
+35ae 202068a8 branch adc_init_data 
+
+antilost_battery_process:
+35af 204068eb call adc_set_mode 
+35b0 20406908 call vdd_calculate_by_mode 
+35b1 600147b0 store 2 ,mem_battery_current_voltage 
+35b2 da2047aa arg mem_battery_calculate_set ,rega 
+35b3 20406930 call adc_bat_percent_lowpower_out 
+35b4 6000c7a9 store 1 ,mem_voltage_remain_percent 
+35b5 c00035be beq 0 ,antilost_low_battery 
+35b6 1fe67c64 sub pdata ,0x64 ,null 
+35b7 242135bc nbranch antilost_full_battery ,positive 
+35b8 6000c783 store 1 ,mem_antl_key0_release + 8 
+
+antilost_battery_calculate_end:
+35b9 70478005 jam opcode5_batter_information ,mem_antl_key0_release + 5 
+35ba da60477b arg mem_antl_key0_release ,regc 
+35bb 20203544 branch antilost_prepare_data_and_send 
+
+antilost_full_battery:
+35bc 70478364 jam 100 ,mem_antl_key0_release + 8 
+35bd 202035b9 branch antilost_battery_calculate_end 
+
+antilost_low_battery:
+35be 2020341a branch app_button_long_pressed 
+
+car_init:
+35bf 20758000 rtn wake 
+35c0 68108081 hfetch 1 ,core_gpio_sel1 
+35c1 1fe17ef0 and_into 0xf0 ,pdata 
+35c2 60108081 hstore 1 ,core_gpio_sel1 
+35c3 58003631 setarg car_le_before_hibernate 
+35c4 600141eb store 2 ,mem_cb_before_hibernate 
+35c5 58003633 setarg car_le_process_lpm_before 
+35c6 600141ed store 2 ,mem_cb_before_lpm 
+35c7 5800340a setarg app_enter_hibernate 
+35c8 600141f7 store 2 ,mem_cb_discovry_timeout 
+35c9 58003635 setarg car_scale_process_idle 
+35ca 600141f3 store 2 ,mem_cb_idle_process 
+35cb 5800364b setarg car_scale_process_bb_event 
+35cc 600141f5 store 2 ,mem_cb_bb_event_process 
+35cd 580033d0 setarg app_get_lpm_wake_lock 
+35ce 600141e9 store 2 ,mem_cb_check_wakelock 
+35cf 580036f6 setarg car_le_receive_data 
+35d0 600141f9 store 2 ,mem_cb_att_write 
+35d1 5800367a setarg car_le_bb_event_timer 
+35d2 600141fd store 2 ,mem_cb_event_timer 
+35d3 20402c7a call g24_head_ptr2regc 
+35d4 58003722 setarg car_24g_receive_data 
+35d5 1a608ade add regc ,offset_24g_cb_rxdata_type1 ,contw 
+35d6 e0a10000 istore 2 ,contw 
+35d7 580035ed setarg car_power_off_signal 
+35d8 6001475b store 2 ,mem_remote_car_power_off_cb 
+35d9 580035ef setarg car_soft_switch_power_on_signal 
+35da 6001475f store 2 ,mem_remote_car_power_standby_cb 
+35db 44e7c019 bpatch patch19_7 ,mem_patch19 
+35dc 20403628 call car_init_environment 
+35dd 20407e38 call queue_init 
+35de 70417202 jam 2 ,mem_lpm_mult 
+35df 7049f600 jam power_on ,mem_car_24g_received_pac 
+35e0 6800c7cb fetch 1 ,mem_car_config_soft_switch_enable 
+35e1 6000c69a store 1 ,mem_car_hard_soft_switch 
+35e2 c00035ee beq hard_switch ,car_hard_switch_power_on_signal 
+35e3 6800c7cc fetch 1 ,mem_car_config_soft_switch_gpio 
+35e4 6000c686 store 1 ,mem_ui_button_gpio 
+35e5 70436e00 jam off ,mem_le_adv_enable 
+
+car_soft_switch_power_on_init:
+35e6 2040360f call car_ui_led_init 
+35e7 20407cd3 call ui_button_init 
+35e8 20407cdd call ui_button_polling 
+35e9 7047f301 jam power_starting ,mem_car_power_state 
+35ea 68014682 fetch 2 ,mem_ui_state_map 
+35eb c3860000 rtnbit1 ui_state_btn_down 
+35ec 2020340a branch app_enter_hibernate 
+
+car_power_off_signal:
+35ed 2020360f branch car_ui_led_init 
+
+car_hard_switch_power_on_signal:
+35ee 7047f302 jam power_standby ,mem_car_power_state 
+
+car_soft_switch_power_on_signal:
+35ef 70436e01 jam on ,mem_le_adv_enable 
+35f0 2040360f call car_ui_led_init 
+35f1 da200000 arg 0 ,rega 
+35f2 20407d1e call ui_led_blink_start_global 
+35f3 58000020 setarg fast_adv_interval_value_car 
+35f4 204046f0 call shutter_ble_adv_interval_set 
+
+car_le_modified_name_adv:
+35f5 d8a043b7 arg mem_le_name + 7 ,contw 
+35f6 6800c4a0 fetch 1 ,mem_le_lap 
+
+car_name_loop:
+35f7 1fe104f0 and pdata ,0xF0 ,temp 
+35f8 18518400 rshift4 temp ,temp 
+35f9 20403609 call car_hex_to_ascii 
+35fa e0a88000 istoret 1 ,contw 
+35fb 1fe1040f and pdata ,0x0F ,temp 
+35fc 20403609 call car_hex_to_ascii 
+35fd e0a88000 istoret 1 ,contw 
+35fe 204057a6 call le_modified_name_att_list 
+35ff 6808c3af fetcht 1 ,mem_le_name_len 
+3600 18427200 copy temp ,loopcnt 
+3601 d8a04372 arg mem_le_adv_data + 2 ,contw 
+3602 d8c043b0 arg mem_le_name ,contr 
+3603 20407f01 call memcpy 
+
+car_le_modified_name_scan:
+3604 6808c3af fetcht 1 ,mem_le_name_len 
+3605 18427200 copy temp ,loopcnt 
+3606 d8a04392 arg mem_le_scan_data + 2 ,contw 
+3607 d8c043b0 arg mem_le_name ,contr 
+3608 20207f01 branch memcpy 
+
+car_hex_to_ascii:
+3609 18467c09 sub temp ,9 ,null 
+360a 2021360d branch car_hex_num ,positive 
+360b 18408437 add temp ,55 ,temp 
+360c 20600000 rtn 
+
+car_hex_num:
+360d 18408430 add temp ,48 ,temp 
+360e 20600000 rtn 
+
+car_ui_led_init:
+360f 6800c7c0 fetch 1 ,mem_car_config_blood_led1_gpio 
+3610 c0ffb621 bne invalid_pin_num ,car_blood_led_gpio_set 
+
+car_ui_led_init_1:
+3611 6800c7be fetch 1 ,mem_car_config_pairing_led_gpio 
+3612 c0ffb624 bne invalid_pin_num ,car_pairing_led_gpio_set 
+
+car_ui_led_init_2:
+3613 6800c7c9 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+3614 c0ffb626 bne invalid_pin_num ,car_low_voltage_led_gpio_set 
+
+car_ui_led_init_3:
+3615 6800c72c fetch 1 ,mem_car_led_num 
+3616 1fe27200 copy pdata ,loopcnt 
+3617 5800472d setarg mem_car_led_map 
+3618 1fe22200 copy pdata ,rega 
+
+car_in_lp1:
+3619 1a220c00 copy rega ,contr 
+361a e8c08000 ifetch 1 ,contr 
+361b 18c22200 copy contr ,rega 
+361c c07fb61f beq invalid_pin_num ,car_in_lp1_end 
+361d 1fe20400 copy pdata ,temp 
+361e 2040680e call gpio_config_output 
+
+car_in_lp1_end:
+361f c2003619 loop car_in_lp1 
+
+car_ui_led_init_end:
+3620 20600000 rtn 
+
+car_blood_led_gpio_set:
+3621 680447c0 fetch 8 ,mem_car_config_blood_led1_gpio 
+3622 6004472f store 8 ,mem_car_led_map + 2 
+3623 20203611 branch car_ui_led_init_1 
+
+car_pairing_led_gpio_set:
+3624 6000c72d store 1 ,mem_car_led_map 
+3625 20203613 branch car_ui_led_init_2 
+
+car_low_voltage_led_gpio_set:
+3626 6000c72e store 1 ,mem_car_led_map + 1 
+3627 20203615 branch car_ui_led_init_3 
+
+car_init_environment:
+3628 da200000 arg 0 ,rega 
+3629 204069a6 call pwm_init 
+362a 204037e4 call car_ir_rx_init 
+362b 20402c7d call g24_receive_process_init 
+362c 2020362d branch car_init_adc_hvin 
+
+car_init_adc_hvin:
+362d 7047cf64 jam 100 ,mem_car_notify_vdd_value_last 
+362e 6800c7c9 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+362f 6000c744 store 1 ,mem_car_style2_struct_led_gpio 
+3630 202068a8 branch adc_init_data 
+
+car_le_before_hibernate:
+3631 20406835 call gpio_set_before_lpm_common 
+3632 2020696c branch keyscan_process_lpm_before 
+
+car_le_process_lpm_before:
+3633 2020696c branch keyscan_process_lpm_before 
+
+car_key_scan_process:
+3634 20206978 branch keyscan_key_process 
+
+car_scale_process_idle:
+3635 20403642 call car_le_send_packet 
+3636 204037ee call car_ir_receive_process 
+3637 20403639 call car_g24_status_process 
+3638 20203634 branch car_key_scan_process 
+
+car_g24_status_process:
+3639 68014682 fetch 2 ,mem_ui_state_map 
+363a c3848000 rtnbit1 ui_state_ble_connected 
+363b 6800c9f6 fetch 1 ,mem_car_24g_received_pac 
+363c c000b63e beq work_paired ,car_g24_connected_event 
+363d 20600000 rtn 
+
+car_g24_connected_event:
+363e 6800c7ea fetch 1 ,mem_car_24g_status 
+363f c1008000 rtneq work_paired 
+3640 7047ea01 jam work_paired ,mem_car_24g_status 
+3641 20203654 branch car_g24_connected 
+
+car_le_send_packet:
+3642 68014682 fetch 2 ,mem_ui_state_map 
+3643 c4048000 rtnbit0 ui_state_ble_connected 
+3644 20405892 call le_fifo_check_nearly_full 
+3645 247a0000 nrtn blank 
+3646 da204718 arg mem_car_pop_queue_buff ,rega 
+3647 20407e54 call queue_pop 
+3648 24740000 nrtn user 
+3649 d8c04718 arg mem_car_pop_queue_buff ,contr 
+364a 20204746 branch le_send_notify_from_list 
+
+car_scale_process_bb_event:
+364b 1a627e00 copy regc ,pdata 
+364c c016b431 beq bt_evt_button_up ,app_event_button_up 
+364d c008341a beq bt_evt_button_long_pressed ,app_button_long_pressed 
+364e c00a3651 beq bt_evt_le_connected ,car_scale_event_le_conn 
+364f c00ab660 beq bt_evt_le_disconnected ,car_scale_event_le_discon 
+3650 20600000 rtn 
+
+car_scale_event_le_conn:
+3651 58000000 setarg disable_24g 
+3652 20403220 call g24_store_mem_24g_mode 
+3653 20203656 branch car_scale_process_conn 
+
+car_g24_connected:
+3654 680147eb fetch 2 ,mem_car_24g_no_data_timeout_count 
+3655 600147ed store 2 ,mem_car_24g_no_data_timeout_timer 
+
+car_scale_process_conn:
+3656 7047ce14 jam 0x14 ,mem_car_notify_vdd_timer 
+3657 70409100 jam 0 ,mem_lpm_mode 
+3658 204033f8 call app_ble_stop_adv 
+3659 20403416 call app_lpm_mult_enable 
+365a 6800c7bd fetch 1 ,mem_car_config_pairing_led_conn_status 
+365b c000b65e beq 0x01 ,car_pairing_led_conn_status_setting 
+
+car_scale_process_conn_next:
+365c da200000 arg 0 ,rega 
+365d 20207d14 branch ui_led_on_global 
+
+car_pairing_led_conn_status_setting:
+365e da200000 arg 0 ,rega 
+365f 20207d19 branch ui_led_blink_stop_global 
+
+car_scale_event_le_discon:
+3660 58000002 setarg rx_24g 
+3661 20403220 call g24_store_mem_24g_mode 
+
+car_g24_disconnect:
+3662 58000000 setarg 0 
+3663 6002c79c store 5 ,mem_car_led_control 
+3664 58000004 setarg 4 
+3665 204069d7 call pwm_disable 
+3666 58000005 setarg 5 
+3667 204069d7 call pwm_disable 
+3668 58000014 setarg 20 
+3669 204069d7 call pwm_disable 
+366a 58000015 setarg 21 
+366b 204069d7 call pwm_disable 
+366c 58000016 setarg 22 
+366d 204069d7 call pwm_disable 
+366e 58000007 setarg 7 
+366f 204069d7 call pwm_disable 
+3670 20407e38 call queue_init 
+3671 70475e0a jam 10 ,mem_motor1_speed 
+3672 7047600a jam 10 ,mem_motor2_speed 
+3673 7047620a jam 10 ,mem_motor3_speed 
+3674 70417202 jam 2 ,mem_lpm_mult 
+3675 da200000 arg 0 ,rega 
+3676 20407d1e call ui_led_blink_start_global 
+3677 58000020 setarg fast_adv_interval_value_car 
+3678 204046f0 call shutter_ble_adv_interval_set 
+3679 202033fa branch app_ble_start_adv 
+
+car_le_bb_event_timer:
+367a 2040373b call car_moto1_blank_data_timer 
+367b 2040373e call car_moto2_blank_data_timer 
+367c 20403741 call car_moto3_blank_data_timer 
+367d 2040337b call app_power_timer 
+367e 204036c8 call car_led_control_timer 
+367f 204036a1 call car_notify_vdd_timer 
+3680 2040368a call car_24g_no_data_timeout_timer 
+3681 20403683 call car_ir_breakdown_timer 
+3682 2020368f branch car_attack_shake_timer 
+
+car_ir_breakdown_timer:
+3683 da60479a arg mem_car_ir_breakdown_check_timer ,regc 
+3684 da403686 arg car_ir_breakdown_timeout ,regb 
+3685 2020336d branch timer_single_step 
+
+car_ir_breakdown_timeout:
+3686 20403847 call car_ir_gpio_get_status 
+3687 24608000 nrtn true 
+3688 70479b01 jam 1 ,mem_car_ir_breakdown_flag 
+3689 20600000 rtn 
+
+car_24g_no_data_timeout_timer:
+368a da6047ed arg mem_car_24g_no_data_timeout_timer ,regc 
+368b da40368d arg car_24g_no_data_timer_timeout ,regb 
+368c 20203374 branch timer_single_step_2b 
+
+car_24g_no_data_timer_timeout:
+368d 7047ea02 jam work_search ,mem_car_24g_status 
+368e 20203662 branch car_g24_disconnect 
+
+car_attack_shake_timer:
+368f da6047f1 arg mem_car_attack_shake_timer ,regc 
+3690 da403692 arg car_attack_shake ,regb 
+3691 2020336d branch timer_single_step 
+
+car_attack_shake:
+3692 6800c7f2 fetch 1 ,mem_car_attack_shake_flag 
+3693 203a369e branch car_attack_shake_stop ,blank 
+3694 7047f102 jam 2 ,mem_car_attack_shake_timer 
+3695 7047f200 jam 0 ,mem_car_attack_shake_flag 
+3696 58000a02 setarg 0x0a02 
+3697 60014752 store 2 ,mem_le_receive_payload 
+3698 6800c7b9 fetch 1 ,mem_car_config_device_select 
+3699 c001b69b beq device_battle_tank ,car_attack_shake_front_battle_tank 
+
+car_attack_shake_front_battle_car:
+369a 20203762 branch car_motor_control 
+
+car_attack_shake_front_battle_tank:
+369b 58000a02 setarg 0x0a02 
+369c 60014754 store 2 ,mem_le_receive_payload + 2 
+369d 20203762 branch car_motor_control 
+
+car_attack_shake_stop:
+369e 58000000 setarg 0 
+369f 60024752 store 4 ,mem_le_receive_payload 
+36a0 20203762 branch car_motor_control 
+
+car_notify_vdd_timer:
+36a1 6800c7c8 fetch 1 ,mem_car_config_bat_notify_enable 
+36a2 207a0000 rtn blank 
+36a3 68014682 fetch 2 ,mem_ui_state_map 
+36a4 c304b6c6 bbit0 ui_state_ble_connected ,car_low_bat_led_off 
+36a5 da6047ce arg mem_car_notify_vdd_timer ,regc 
+36a6 da4036a8 arg car_notify_vdd ,regb 
+36a7 2020336d branch timer_single_step 
+
+car_notify_vdd:
+36a8 6800c7cd fetch 1 ,mem_car_notify_vdd_count 
+36a9 6000c7ce store 1 ,mem_car_notify_vdd_timer 
+36aa 6800c7d1 fetch 1 ,mem_car_working_flag 
+36ab 247a0000 nrtn blank 
+
+car_read_hvin:
+36ac 204068eb call adc_set_mode 
+36ad 20406908 call vdd_calculate_by_mode 
+36ae 600147e8 store 2 ,mem_vdd_now_vol 
+36af da2047e2 arg mem_vdd_calculate_set ,rega 
+36b0 20406930 call adc_bat_percent_lowpower_out 
+36b1 6808c7cf fetcht 1 ,mem_car_notify_vdd_value_last 
+36b2 98467c00 isub temp ,null 
+36b3 202136b6 branch car_notify_vdd_next2 ,positive 
+36b4 6000c7cf store 1 ,mem_car_notify_vdd_value_last 
+36b5 1fe20400 copy pdata ,temp 
+
+car_notify_vdd_next2:
+36b6 6008c7d0 storet 1 ,mem_car_notify_vdd_percent 
+36b7 6800c7ca fetch 1 ,mem_car_config_low_voltage_percent 
+36b8 98467c00 isub temp ,null 
+36b9 204136c1 call car_enter_low_bat ,positive 
+36ba 6008c7db storet 1 ,mem_notify_bat_payload 
+36bb df200006 arg 6 ,loopcnt 
+36bc d8c047d6 arg mem_notify_bat_head ,contr 
+36bd 204036f0 call calc_check_sum_start 
+36be 6000c7dc store 1 ,mem_notify_bat_check_sum 
+36bf da2047d3 arg mem_notify_bat_packet ,rega 
+36c0 20207e3d branch queue_push 
+
+car_enter_low_bat:
+36c1 6800c7d2 fetch 1 ,mem_low_bat_flag 
+36c2 247a0000 nrtn blank 
+36c3 7047d201 jam 1 ,mem_low_bat_flag 
+36c4 da200001 arg 1 ,rega 
+36c5 20207d1e branch ui_led_blink_start_global 
+
+car_low_bat_led_off:
+36c6 da200001 arg 1 ,rega 
+36c7 20207d19 branch ui_led_blink_stop_global 
+
+car_led_control_timer:
+36c8 da6047a4 arg mem_car_led_control_timer ,regc 
+36c9 da4036cb arg car_led_control ,regb 
+36ca 2020336d branch timer_single_step 
+
+car_led_control:
+36cb 7047a405 jam 5 ,mem_car_led_control_timer 
+36cc 7047a600 jam 0 ,mem_car_led_no 
+36cd 6800c7a5 fetch 1 ,mem_car_led_blink_status 
+36ce c000b6ee beq led_on ,car_led_control_blink_off 
+36cf c00036ec beq led_off ,car_led_control_blink_on 
+
+car_led_control_set:
+36d0 d8c0479c arg mem_car_led_control ,contr 
+36d1 18c22200 copy contr ,rega 
+36d2 df200008 arg 8 ,loopcnt 
+
+car_led_control_timer_next:
+36d3 1a220c00 copy rega ,contr 
+36d4 e8c08000 ifetch 1 ,contr 
+36d5 18c22200 copy contr ,rega 
+36d6 c00036e3 beq led_off ,car_led_control_off 
+36d7 c000b6e6 beq led_on ,car_led_control_on 
+36d8 c00136e9 beq led_blink ,car_led_control_blink 
+
+car_led_control_timer_next_2:
+36d9 6800c7a6 fetch 1 ,mem_car_led_no 
+36da 1fe0fe01 increase 1 ,pdata 
+36db 6000c7a6 store 1 ,mem_car_led_no 
+36dc c20036d3 loop car_led_control_timer_next 
+36dd 20600000 rtn 
+
+car_led_switch:
+36de 6800c7a6 fetch 1 ,mem_car_led_no 
+36df da4047c0 arg mem_car_config_blood_led_gpio ,regb 
+36e0 9a40a400 iadd regb ,regb 
+36e1 ea488000 ifetcht 1 ,regb 
+36e2 20600000 rtn 
+
+car_led_control_off:
+36e3 204036de call car_led_switch 
+36e4 20406825 call gpio_out_inactive 
+36e5 202036d9 branch car_led_control_timer_next_2 
+
+car_led_control_on:
+36e6 204036de call car_led_switch 
+36e7 20406829 call gpio_out_active 
+36e8 202036d9 branch car_led_control_timer_next_2 
+
+car_led_control_blink:
+36e9 6800c7a5 fetch 1 ,mem_car_led_blink_status 
+36ea c000b6e3 beq led_on ,car_led_control_off 
+36eb 202036e6 branch car_led_control_on 
+
+car_led_control_blink_on:
+36ec 7047a501 jam led_on ,mem_car_led_blink_status 
+36ed 202036d0 branch car_led_control_set 
+
+car_led_control_blink_off:
+36ee 7047a500 jam led_off ,mem_car_led_blink_status 
+36ef 202036d0 branch car_led_control_set 
+
+calc_check_sum_start:
+36f0 da200000 arg 0 ,rega 
+
+calc_check_sum_loop:
+36f1 e8c08000 ifetch 1 ,contr 
+36f2 9a20a200 iadd rega ,rega 
+36f3 c20036f1 loop calc_check_sum_loop 
+
+calc_check_sum_and:
+36f4 1a217eff and rega ,0xff ,pdata 
+36f5 20600000 rtn 
+
+car_le_receive_data:
+36f6 68008477 fetch 1 ,mem_le_att_opcode 
+36f7 c00936f9 beq attop_write_request ,car_le_parse_att_write_request 
+36f8 20600000 rtn 
+
+car_le_parse_att_write_request:
+36f9 68010478 fetch 2 ,mem_le_att_handle 
+36fa c00a3710 beq att_car_control_handle ,car_control_le_receive 
+36fb 20600000 rtn 
+
+le_app_receive_data:
+36fc 44e8401a bpatch patch1a_0 ,mem_patch1a 
+36fd ea228000 ifetch 5 ,rega 
+36fe 60028b12 store 5 ,mem_app_receive_temp 
+36ff 68010b12 fetch 2 ,mem_app_receive_temp 
+3700 d8406b5a arg le_receive_packet_head ,temp 
+3701 98467c00 isub temp ,null 
+3702 24628000 nrtn zero 
+3703 68010b15 fetch 2 ,mem_app_receive_temp + 3 
+3704 1ff0fe00 byteswap pdata ,pdata 
+3705 60010b15 store 2 ,mem_app_receive_temp + 3 
+3706 1fe27200 copy pdata ,loopcnt 
+3707 1a20a205 increase 5 ,rega 
+3708 1a220c00 copy rega ,contr 
+3709 d8a00b17 arg mem_app_receive_temp + 5 ,contw 
+370a 20407f01 call memcpy 
+370b e8c08000 ifetch 1 ,contr 
+370c 60008b21 store 1 ,mem_app_receive_temp + 15 
+370d da200b14 arg mem_app_receive_temp + 2 ,rega 
+370e da400b17 arg mem_app_receive_temp + 5 ,regb 
+370f 20600000 rtn 
+
+car_control_le_receive:
+3710 58000000 setarg 0 
+3711 6002c752 store 5 ,mem_le_receive_payload 
+3712 6002c757 store 5 ,mem_le_receive_payload + 5 
+3713 204036fc call le_app_receive_data 
+3714 1a420c00 copy regb ,contr 
+3715 d8a04752 arg mem_le_receive_payload ,contw 
+3716 df20000a arg 10 ,loopcnt 
+3717 20407f01 call memcpy 
+
+car_receive_cmd_select:
+3718 44e8c01a bpatch patch1a_1 ,mem_patch1a 
+3719 ea208000 ifetch 1 ,rega 
+371a c001374a beq car_cmd_old_car_control ,car_drive_old 
+371b c001b75c beq car_cmd_old_speed_control ,car_speed_set_old 
+371c c0023762 beq car_cmd_l_r_motor_control ,car_motor_control 
+371d c002b762 beq car_cmd_f_b_motor_control ,car_motor_control 
+371e c00337b1 beq car_cmd_ir_control ,car_ir_data_rx_from_app 
+371f c003b849 beq car_cmd_led_control ,car_led_control_receive 
+3720 c004384c beq car_cmd_device_info ,car_info_request 
+3721 20600000 rtn 
+
+car_24g_receive_data:
+3722 68014682 fetch 2 ,mem_ui_state_map 
+3723 c3848000 rtnbit1 ui_state_ble_connected 
+3724 680147eb fetch 2 ,mem_car_24g_no_data_timeout_count 
+3725 600147ed store 2 ,mem_car_24g_no_data_timeout_timer 
+3726 7049f601 jam work_paired ,mem_car_24g_received_pac 
+3727 5800010c setarg offset_24g_rxdata_temp_add3 
+3728 204032cd call g24_set_rega 
+3729 20403710 call car_control_le_receive 
+372a 68008b14 fetch 1 ,mem_app_receive_temp + 2 
+372b c002372e beq car_cmd_l_r_motor_control ,car_24g_receive_data_next 
+372c c002b72e beq car_cmd_f_b_motor_control ,car_24g_receive_data_next 
+372d 20600000 rtn 
+
+car_24g_receive_data_next:
+372e 6800c752 fetch 1 ,mem_le_receive_payload 
+372f 245a3735 ncall car_moto1_enable_blank_data_timer ,blank 
+3730 6800c754 fetch 1 ,mem_le_receive_payload + 2 
+3731 245a3737 ncall car_moto2_enable_blank_data_timer ,blank 
+3732 6800c756 fetch 1 ,mem_le_receive_payload + 4 
+3733 245a3739 ncall car_moto3_enable_blank_data_timer ,blank 
+3734 20600000 rtn 
+
+car_moto1_enable_blank_data_timer:
+3735 7049f305 jam 5 ,mem_car_moto1_blank_timer 
+3736 20600000 rtn 
+
+car_moto2_enable_blank_data_timer:
+3737 7049f405 jam 5 ,mem_car_moto2_blank_timer 
+3738 20600000 rtn 
+
+car_moto3_enable_blank_data_timer:
+3739 7049f505 jam 5 ,mem_car_moto3_blank_timer 
+373a 20600000 rtn 
+
+car_moto1_blank_data_timer:
+373b da6049f3 arg mem_car_moto1_blank_timer ,regc 
+373c da403744 arg car_moto1_blank_data ,regb 
+373d 2020336d branch timer_single_step 
+
+car_moto2_blank_data_timer:
+373e da6049f4 arg mem_car_moto2_blank_timer ,regc 
+373f da403746 arg car_moto2_blank_data ,regb 
+3740 2020336d branch timer_single_step 
+
+car_moto3_blank_data_timer:
+3741 da6049f5 arg mem_car_moto3_blank_timer ,regc 
+3742 da403748 arg car_moto3_blank_data ,regb 
+3743 2020336d branch timer_single_step 
+
+car_moto1_blank_data:
+3744 70475200 jam 0 ,mem_le_receive_payload 
+3745 20203762 branch car_motor_control 
+
+car_moto2_blank_data:
+3746 70475400 jam 0 ,mem_le_receive_payload + 2 
+3747 20203762 branch car_motor_control 
+
+car_moto3_blank_data:
+3748 70475600 jam 0 ,mem_le_receive_payload + 4 
+3749 20203762 branch car_motor_control 
+
+car_drive_old:
+374a 2040374c call car_left_right_control_old 
+374b 2020374f branch car_front_back_control_old 
+
+car_left_right_control_old:
+374c 6800c752 fetch 1 ,mem_le_receive_payload 
+374d 6000c75f store 1 ,mem_motor2_status 
+374e 20203773 branch car_motor2_control 
+
+car_front_back_control_old:
+374f 6800c75e fetch 1 ,mem_motor1_speed 
+3750 20403754 call car_reset_old_speed 
+3751 6800c753 fetch 1 ,mem_le_receive_payload + 1 
+3752 6000c75d store 1 ,mem_motor1_status 
+3753 20203770 branch car_motor1_control 
+
+car_reset_old_speed:
+3754 c0013758 beq speed_level_2 ,car_reset_old_speed2 
+3755 c001b75a beq speed_level_3 ,car_reset_old_speed3 
+3756 6000c75e store 1 ,mem_motor1_speed 
+3757 20600000 rtn 
+
+car_reset_old_speed2:
+3758 70475e05 jam speed_level_5 ,mem_motor1_speed 
+3759 20600000 rtn 
+
+car_reset_old_speed3:
+375a 70475e0a jam speed_level_10 ,mem_motor1_speed 
+375b 20600000 rtn 
+
+car_speed_set_old:
+375c 6800c752 fetch 1 ,mem_le_receive_payload 
+375d 20403754 call car_reset_old_speed 
+375e 6800c75e fetch 1 ,mem_motor1_speed 
+375f 2040379e call car_motor_speed_duty_setting 
+3760 204037a1 call car_motor_speed_duty_transform 
+3761 202069c4 branch pwm_pwm0_duty_set 
+
+car_motor_control:
+3762 6800c7f0 fetch 1 ,mem_car_24g_go_die_flag 
+3763 247a0000 nrtn blank 
+3764 68034752 fetch 6 ,mem_le_receive_payload 
+3765 6003475d store 6 ,mem_motor1_status 
+3766 6800c75e fetch 1 ,mem_motor1_speed 
+3767 6808c760 fetcht 1 ,mem_motor2_speed 
+3768 98417e00 iand temp ,pdata 
+3769 6808c762 fetcht 1 ,mem_motor3_speed 
+376a 98417e00 iand temp ,pdata 
+376b 205a3779 call car_motor_working_flag ,blank 
+376c 44e9401a bpatch patch1a_2 ,mem_patch1a 
+376d 20403770 call car_motor1_control 
+376e 20403773 call car_motor2_control 
+376f 20203776 branch car_motor3_control 
+
+car_motor1_control:
+3770 da404763 arg mem_motor1_pwm_set ,regb 
+3771 d8c0475d arg mem_motor1_status ,contr 
+3772 2020377b branch car_motor_status_select 
+
+car_motor2_control:
+3773 da40476b arg mem_motor2_pwm_set ,regb 
+3774 d8c0475f arg mem_motor2_status ,contr 
+3775 2020377b branch car_motor_status_select 
+
+car_motor3_control:
+3776 da404773 arg mem_motor3_pwm_set ,regb 
+3777 d8c04761 arg mem_motor3_status ,contr 
+3778 2020377b branch car_motor_status_select 
+
+car_motor_working_flag:
+3779 7047d100 jam 0 ,mem_car_working_flag 
+377a 20600000 rtn 
+
+car_motor_status_select:
+377b e8c08000 ifetch 1 ,contr 
+377c c0003787 beq motor_stop ,car_motor_stop 
+377d c000b780 beq go_front ,car_motor_positive 
+377e c0013782 beq go_back ,car_motor_negative 
+377f 20600000 rtn 
+
+car_motor_positive:
+3780 70477b00 jam 0 ,mem_motor_select_p_n 
+3781 20203783 branch car_motor_negative + 1 
+
+car_motor_negative:
+3782 70477b01 jam 1 ,mem_motor_select_p_n 
+3783 e8c08000 ifetch 1 ,contr 
+3784 6000c77d store 1 ,mem_car_motor_speed 
+3785 ea440000 ifetch 8 ,regb 
+3786 2020378c branch car_motor_work 
+
+car_motor_stop:
+3787 ea408000 ifetch 1 ,regb 
+3788 204069d7 call pwm_disable 
+3789 1a40a401 increase 1 ,regb 
+378a ea408000 ifetch 1 ,regb 
+378b 202069d7 branch pwm_disable 
+
+car_motor_work:
+378c 6004477e store 8 ,mem_motor_pwm_pin1_set 
+378d 7047d101 jam 1 ,mem_car_working_flag 
+378e 6800c77b fetch 1 ,mem_motor_select_p_n 
+378f c000379a beq 0 ,car_motor_select_positive 
+
+car_motor_select_negative:
+3790 6800c77f fetch 1 ,mem_motor_pwm_pin2_set 
+3791 6000c780 store 1 ,mem_motor_pwm_pin_set 
+3792 6800c77e fetch 1 ,mem_motor_pwm_pin1_set 
+
+car_motor_work_next:
+3793 204069d7 call pwm_disable 
+3794 6800c77d fetch 1 ,mem_car_motor_speed 
+3795 2040379e call car_motor_speed_duty_setting 
+3796 6000c785 store 1 ,mem_motor_pwm_dute_set 
+3797 68034780 fetch 6 ,mem_motor_pwm_pin_set 
+3798 60030a9a store 6 ,mem_pdatatemp 
+3799 202069ae branch pwm_out_set 
+
+car_motor_select_positive:
+379a 6800c77e fetch 1 ,mem_motor_pwm_pin1_set 
+379b 6000c780 store 1 ,mem_motor_pwm_pin_set 
+379c 6800c77f fetch 1 ,mem_motor_pwm_pin2_set 
+379d 20203793 branch car_motor_work_next 
+
+car_motor_speed_duty_setting:
+379e 1feffe05 mul32 pdata ,5 ,pdata 
+379f 1fe0fe32 add pdata ,50 ,pdata 
+37a0 20600000 rtn 
+
+car_motor_speed_duty_transform:
+37a1 d8402ee0 arg 12000 ,temp 
+37a2 984ffe00 imul32 temp ,pdata 
+37a3 1fe6fc64 div pdata ,100 
+37a4 20407f86 call wait_div_end 
+37a5 18078400 quotient temp 
+37a6 18422200 copy temp ,rega 
+37a7 58002ee0 setarg 12000 
+37a8 98462400 isub temp ,regb 
+37a9 20600000 rtn 
+
+car_ir_init:
+37aa 68108082 hfetch 1 ,core_gpio_sel2 
+37ab 79207e02 set1 2 ,pdata 
+37ac 60108082 hstore 1 ,core_gpio_sel2 
+37ad 5800009e setarg 158 
+37ae 60110068 hstore 2 ,core_pwm_pcnt4 
+37af 6011006a hstore 2 ,core_pwm_ncnt4 
+37b0 20600000 rtn 
+
+car_ir_data_rx_from_app:
+37b1 6800c7f0 fetch 1 ,mem_car_24g_go_die_flag 
+37b2 247a0000 nrtn blank 
+37b3 68014752 fetch 2 ,mem_le_receive_payload 
+37b4 60014787 store 2 ,mem_ir_data 
+37b5 6800c7ea fetch 1 ,mem_car_24g_status 
+37b6 c080b7b9 bne work_paired ,car_ir_data_tx 
+37b7 680144a0 fetch 2 ,mem_le_lap 
+37b8 60014787 store 2 ,mem_ir_data 
+
+car_ir_data_tx:
+37b9 44e9c01a bpatch patch1a_3 ,mem_patch1a 
+37ba 204037aa call car_ir_init 
+37bb 204037dc call car_ir_enable 
+37bc 5800bb80 setarg 48000 
+37bd 20402a8f call sleep 
+37be 204037e0 call car_ir_disable 
+37bf 58001c20 setarg 7200 
+37c0 20402a8f call sleep 
+37c1 df200010 arg 16 ,loopcnt 
+
+car_ir_send_loop:
+37c2 204037dc call car_ir_enable 
+37c3 68014787 fetch 2 ,mem_ir_data 
+37c4 c28037c9 bbit1 0 ,car_ir_is_bit1 
+37c5 58001c20 setarg 7200 
+37c6 20402a8f call sleep 
+37c7 204037e0 call car_ir_disable 
+37c8 202037cc branch car_ir_wait_finish 
+
+car_ir_is_bit1:
+37c9 58003840 setarg 14400 
+37ca 20402a8f call sleep 
+37cb 204037e0 call car_ir_disable 
+
+car_ir_wait_finish:
+37cc 58001c20 setarg 7200 
+37cd 20402a8f call sleep 
+37ce 68014787 fetch 2 ,mem_ir_data 
+37cf 1fe37e00 rshift pdata ,pdata 
+37d0 60014787 store 2 ,mem_ir_data 
+37d1 c20037c2 loop car_ir_send_loop 
+37d2 7047f102 jam 2 ,mem_car_attack_shake_timer 
+37d3 7047f201 jam 1 ,mem_car_attack_shake_flag 
+37d4 58000a01 setarg 0x0a01 
+37d5 60014752 store 2 ,mem_le_receive_payload 
+37d6 6800c7b9 fetch 1 ,mem_car_config_device_select 
+37d7 c001b7d9 beq device_battle_tank ,car_attack_shake_back_battle_tank 
+
+car_attack_shake_back_battle_car:
+37d8 20203762 branch car_motor_control 
+
+car_attack_shake_back_battle_tank:
+37d9 58000a01 setarg 0x0a01 
+37da 60014754 store 2 ,mem_le_receive_payload + 2 
+37db 20203762 branch car_motor_control 
+
+car_ir_enable:
+37dc 68108085 hfetch 1 ,core_gpio_key2 
+37dd 1fe1fe40 or_into 0x40 ,pdata 
+37de 60108085 hstore 1 ,core_gpio_key2 
+37df 20600000 rtn 
+
+car_ir_disable:
+37e0 68108085 hfetch 1 ,core_gpio_key2 
+37e1 1fe17ebf and_into 0xbf ,pdata 
+37e2 60108085 hstore 1 ,core_gpio_key2 
+37e3 20600000 rtn 
+
+car_ir_rx_init:
+37e4 6800c7bb fetch 1 ,mem_car_config_ir_enable 
+37e5 c1000000 rtneq 0x00 
+37e6 20402c65 call lpm_disable_exen_output 
+37e7 6808c7bc fetcht 1 ,mem_car_config_ir_rx_gpio 
+37e8 6008c786 storet 1 ,mem_ir_rx_gpio 
+37e9 204067fb call gpio_config_input 
+37ea 20403847 call car_ir_gpio_get_status 
+37eb 24608000 nrtn true 
+37ec 70479a01 jam 1 ,mem_car_ir_breakdown_check_timer 
+37ed 20600000 rtn 
+
+car_ir_receive_process:
+37ee 6800c7bb fetch 1 ,mem_car_config_ir_enable 
+37ef c1000000 rtneq flag_ir_disable 
+37f0 6800c79b fetch 1 ,mem_car_ir_breakdown_flag 
+37f1 247a0000 nrtn blank 
+37f2 68014682 fetch 2 ,mem_ui_state_map 
+37f3 c284b7f6 bbit1 ui_state_ble_connected ,car_ir_receive_process_next 
+37f4 6800c7ea fetch 1 ,mem_car_24g_status 
+37f5 c1808000 rtnne work_paired 
+
+car_ir_receive_process_next:
+37f6 44ea401a bpatch patch1a_4 ,mem_patch1a 
+37f7 20403847 call car_ir_gpio_get_status 
+37f8 24608000 nrtn true 
+37f9 58008ca0 setarg 36000 
+37fa 20402a8f call sleep 
+37fb 20403847 call car_ir_gpio_get_status 
+37fc 24608000 nrtn true 
+37fd 2040383f call car_ir_clk_get 
+
+car_ir_packet_head_wait_end:
+37fe 20403842 call car_ir_clk_check 
+37ff 24610000 nrtn positive 
+3800 20403847 call car_ir_gpio_get_status 
+3801 2020b7fe branch car_ir_packet_head_wait_end ,true 
+3802 da200000 arg 0 ,rega 
+3803 df200010 arg 16 ,loopcnt 
+3804 2040383f call car_ir_clk_get 
+
+car_ir_receive_process_loop:
+3805 20403842 call car_ir_clk_check 
+3806 24610000 nrtn positive 
+3807 20403847 call car_ir_gpio_get_status 
+3808 2420b805 nbranch car_ir_receive_process_loop ,true 
+3809 58002a30 setarg 10800 
+380a 20402a8f call sleep 
+380b 20403847 call car_ir_gpio_get_status 
+380c 2020b812 branch car_ir_get_bit1 ,true 
+
+car_ir_get_bit0:
+380d 58000000 setarg 0 
+380e 1a232200 rshift rega ,rega 
+380f 9a21a200 ior rega ,rega 
+3810 c2003805 loop car_ir_receive_process_loop 
+3811 2020381b branch car_ir_receive_process_end 
+
+car_ir_get_bit1:
+3812 58008000 setarg 0x8000 
+3813 1a232200 rshift rega ,rega 
+3814 9a21a200 ior rega ,rega 
+3815 2040383f call car_ir_clk_get 
+
+car_ir_get_bit1_wait_low_end:
+3816 20403842 call car_ir_clk_check 
+3817 24610000 nrtn positive 
+3818 20403847 call car_ir_gpio_get_status 
+3819 2020b816 branch car_ir_get_bit1_wait_low_end ,true 
+381a c2003805 loop car_ir_receive_process_loop 
+
+car_ir_receive_process_end:
+381b 44eac01a bpatch patch1a_5 ,mem_patch1a 
+381c 1a227e00 copy rega ,pdata 
+381d 60014789 store 2 ,mem_ir_rx_buf 
+381e 60014797 store 2 ,mem_ir_notify_data + 8 
+381f 6800c7ea fetch 1 ,mem_car_24g_status 
+3820 c000b827 beq work_paired ,car_ir_24g_receive_attack 
+
+car_ir_data_notify:
+3821 df200007 arg 0x07 ,loopcnt 
+3822 d8c04792 arg mem_ir_notify_data_head ,contr 
+3823 204036f0 call calc_check_sum_start 
+3824 6000c799 store 1 ,mem_ir_notify_data_check_sum 
+3825 da20478f arg mem_ir_notify_data ,rega 
+3826 20207e3d branch queue_push 
+
+car_ir_24g_receive_attack:
+3827 6800c7ef fetch 1 ,mem_car_24g_ir_receive_attack_count 
+3828 1fe0fe01 increase 1 ,pdata 
+3829 6000c7ef store 1 ,mem_car_24g_ir_receive_attack_count 
+382a 1fe6fc02 div pdata ,2 
+382b 20407f86 call wait_div_end 
+382c 18078400 quotient temp 
+382d 18077e00 remainder pdata 
+382e 243a3838 nbranch car_ir_24g_receive_attack_blink ,blank 
+
+car_ir_24g_receive_attack_off:
+382f 6800c7bf fetch 1 ,mem_car_config_led_num 
+3830 98467c00 isub temp ,null 
+3831 2042b83d call car_ir_24g_go_die ,zero 
+3832 dfe0479c arg mem_car_led_control ,pdata 
+3833 184085ff increase -1 ,temp 
+3834 9840a200 iadd temp ,rega 
+3835 dfe00000 arg 0 ,pdata 
+3836 e2208000 istore 1 ,rega 
+3837 20600000 rtn 
+
+car_ir_24g_receive_attack_blink:
+3838 dfe0479c arg mem_car_led_control ,pdata 
+3839 9840a200 iadd temp ,rega 
+383a dfe00002 arg 2 ,pdata 
+383b e2208000 istore 1 ,rega 
+383c 20600000 rtn 
+
+car_ir_24g_go_die:
+383d 7047f001 jam 1 ,mem_car_24g_go_die_flag 
+383e 20600000 rtn 
+
+car_ir_clk_get:
+383f 1c427e00 copy clkn_bt ,pdata 
+3840 6002478b store 4 ,mem_ir_receive_clkn 
+3841 20600000 rtn 
+
+car_ir_clk_check:
+3842 1c427e00 copy clkn_bt ,pdata 
+3843 680a478b fetcht 4 ,mem_ir_receive_clkn 
+3844 98467e00 isub temp ,pdata 
+3845 1fe67cc8 sub pdata ,200 ,null 
+3846 20600000 rtn 
+
+car_ir_gpio_get_status:
+3847 6808c786 fetcht 1 ,mem_ir_rx_gpio 
+3848 2020681d branch gpio_get_bit 
+
+car_led_control_receive:
+3849 68044752 fetch 8 ,mem_le_receive_payload 
+384a 6004479c store 8 ,mem_car_led_control 
+384b 20600000 rtn 
+
+car_info_request:
+384c 6800c7b9 fetch 1 ,mem_car_config_device_select 
+384d 6000c7af store 1 ,mem_car_info_request_payload 
+384e 6800c7ba fetch 1 ,mem_car_config_motor_layout 
+384f 6000c7b0 store 1 ,mem_car_info_request_payload + 1 
+3850 6800c7bb fetch 1 ,mem_car_config_ir_enable 
+3851 6000c7b1 store 1 ,mem_car_info_request_payload + 2 
+3852 df20000d arg 13 ,loopcnt 
+3853 d8c047aa arg mem_car_info_request_head ,contr 
+3854 204036f0 call calc_check_sum_start 
+3855 6000c7b7 store 1 ,mem_car_info_request_checksum 
+3856 da2047a7 arg mem_car_info_request ,rega 
+3857 20207e3d branch queue_push 
+
+light_init:
+3858 204065c2 call clear_eeprom_size_2k 
+3859 7046f67a jam 0x7a ,mem_curr_packet_num 
+385a 2040386d call light_load_controler_list 
+385b 20403867 call light_init_crr_cmd_count 
+385c 58003860 setarg light_pairing_timer 
+385d 600141fd store 2 ,mem_cb_event_timer 
+385e da200000 arg 0 ,rega 
+385f 202069a6 branch pwm_init 
+
+light_pairing_timer:
+3860 680146a1 fetch 2 ,mem_light_pairing_timer 
+3861 207a0000 rtn blank 
+3862 1fe0ffff increase -1 ,pdata 
+3863 600146a1 store 2 ,mem_light_pairing_timer 
+3864 c1800000 rtnne 0 
+3865 7046a000 jam 0 ,mem_light_pairing_enable 
+3866 20600000 rtn 
+
+light_init_crr_cmd_count:
+3867 44eb401a bpatch patch1a_6 ,mem_patch1a 
+3868 6800c6a4 fetch 1 ,mem_light_next_record 
+3869 1fe67c28 sub pdata ,40 ,null 
+386a 20610000 rtn positive 
+386b 7046a400 jam 0 ,mem_light_next_record 
+386c 20600000 rtn 
+
+light_load_controler_list:
+386d da2046a4 arg mem_light_next_record ,rega 
+386e da400000 arg 0 ,regb 
+386f d8400051 arg 81 ,temp 
+3870 202065df branch iicd_read_eep_data 
+
+light_find_controler_pairing:
+3871 78547c00 disable user 
+3872 6800c6a3 fetch 1 ,mem_light_cnum 
+3873 1fe27200 copy pdata ,loopcnt 
+3874 da2046a5 arg mem_light_clist ,rega 
+3875 1a622400 copy regc ,regb 
+
+light_find_controler_pairing_loop:
+3876 44ebc01a bpatch patch1a_7 ,mem_patch1a 
+3877 2040387c call light_compare_addr_record 
+3878 2022ffe7 branch enable_user ,zero 
+
+light_find_single_pairing_diff:
+3879 1a20a204 increase 4 ,rega 
+387a c2003876 loop light_find_controler_pairing_loop 
+387b 20600000 rtn 
+
+light_compare_addr_record:
+387c 44ec401b bpatch patch1b_0 ,mem_patch1b 
+387d ea218000 ifetch 3 ,rega 
+387e ea498000 ifetcht 3 ,regb 
+387f 98467c00 isub temp ,null 
+3880 20600000 rtn 
+
+light_compare_single_record:
+3881 44ecc01b bpatch patch1b_1 ,mem_patch1b 
+3882 ea218000 ifetch 3 ,rega 
+3883 ea498000 ifetcht 3 ,regb 
+3884 98467c00 isub temp ,null 
+3885 24628000 nrtn zero 
+3886 e8c08000 ifetch 1 ,contr 
+3887 1fe67c00 sub pdata ,0 ,null 
+3888 20628000 rtn zero 
+3889 1a208c03 add rega ,3 ,contr 
+388a e8c88000 ifetcht 1 ,contr 
+388b 98467c00 isub temp ,null 
+388c 20600000 rtn 
+
+light_find_controler_cmd:
+388d 44ed401b bpatch patch1b_2 ,mem_patch1b 
+388e 78547c00 disable user 
+388f 6800c6a3 fetch 1 ,mem_light_cnum 
+3890 1fe27200 copy pdata ,loopcnt 
+3891 da2046a5 arg mem_light_clist ,rega 
+3892 1a622400 copy regc ,regb 
+
+light_find_controler_cmd_loop:
+3893 20403881 call light_compare_single_record 
+3894 2022ffe7 branch enable_user ,zero 
+3895 1a20a204 increase 4 ,rega 
+3896 c2003893 loop light_find_controler_cmd_loop 
+3897 20600000 rtn 
+
+light_recv_adv:
+3898 68008004 fetch 1 ,mem_le_scanrsp_rcv 
+3899 1fe0fe01 increase 1 ,pdata 
+389a 60008004 store 1 ,mem_le_scanrsp_rcv 
+389b da6002e5 arg mem_le_rxbuf + 12 ,regc 
+
+light_anylize_command:
+389c ea610000 ifetch 2 ,regc 
+389d d84055aa arg 0x55aa ,temp 
+389e 98467c00 isub temp ,null 
+389f 24628000 nrtn zero 
+38a0 18c22600 copy contr ,regc 
+38a1 ea698000 ifetcht 3 ,regc 
+38a2 58ffffff setarg 0xffffff 
+38a3 98467c00 isub temp ,null 
+38a4 2022b8a8 branch light_parse_cmd ,zero 
+38a5 2040388d call light_find_controler_cmd 
+38a6 203438a8 branch light_parse_cmd ,user 
+38a7 20600000 rtn 
+
+light_parse_cmd:
+38a8 44edc01b bpatch patch1b_3 ,mem_patch1b 
+38a9 1a60a604 increase 4 ,regc 
+38aa ea608000 ifetch 1 ,regc 
+38ab 6808c6f6 fetcht 1 ,mem_curr_packet_num 
+38ac 98467c00 isub temp ,null 
+38ad 20628000 rtn zero 
+38ae 6000c6f6 store 1 ,mem_curr_packet_num 
+38af 68008003 fetch 1 ,mem_le_req_rcv 
+38b0 1fe0fe01 increase 1 ,pdata 
+38b1 60008003 store 1 ,mem_le_req_rcv 
+38b2 1a60a601 increase 1 ,regc 
+38b3 ea608000 ifetch 1 ,regc 
+38b4 6000c6f5 store 1 ,mem_light_crr_cmd_count 
+38b5 1fe27200 copy pdata ,loopcnt 
+38b6 207a0000 rtn blank 
+
+light_parse_cmd_loop:
+38b7 e8c08000 ifetch 1 ,contr 
+38b8 c00038c2 beq light_cmd_pwm0 ,light_parse_cmd_pwm0 
+38b9 c000b8cf beq light_cmd_pwm1 ,light_parse_cmd_pwm1 
+38ba c00138d4 beq light_cmd_pwm2 ,light_parse_cmd_pwm2 
+38bb c001b8d9 beq light_cmd_pwm3 ,light_parse_cmd_pwm3 
+38bc c00238de beq light_cmd_pwm4 ,light_parse_cmd_pwm4 
+38bd c002b8e3 beq light_cmd_pwm5 ,light_parse_cmd_pwm5 
+38be c00338e8 beq light_cmd_auto_mode ,light_parse_auto_mode 
+38bf c07fb8ea beq light_cmd_pairing ,light_parse_pairing 
+38c0 c20038b7 loop light_parse_cmd_loop 
+38c1 20600000 rtn 
+
+light_parse_cmd_pwm0:
+38c2 18c22600 copy contr ,regc 
+38c3 6800c69a fetch 1 ,mem_light_pwm0 
+38c4 60008a9a store 1 ,mem_pdatatemp 
+38c5 d8400000 arg 0 ,temp 
+
+light_parse_cmd_pwm_common:
+38c6 60088a9b storet 1 ,mem_pdatatemp + 1 
+38c7 58002710 setarg 10000 
+38c8 60018a9c store 3 ,mem_pdatatemp + 2 
+38c9 ea608000 ifetch 1 ,regc 
+38ca 60008a9f store 1 ,mem_pdatatemp + 5 
+38cb 204069ae call pwm_out_set 
+38cc 1a610c01 and regc ,1 ,contr 
+38cd c20038b7 loop light_parse_cmd_loop 
+38ce 20600000 rtn 
+
+light_parse_cmd_pwm1:
+38cf 1a620c00 copy regc ,contr 
+38d0 6800c69b fetch 1 ,mem_light_pwm1 
+38d1 60008a9a store 1 ,mem_pdatatemp 
+38d2 d8400001 arg 1 ,temp 
+38d3 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm2:
+38d4 1a620c00 copy regc ,contr 
+38d5 6800c69c fetch 1 ,mem_light_pwm2 
+38d6 60008a9a store 1 ,mem_pdatatemp 
+38d7 d8400002 arg 2 ,temp 
+38d8 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm3:
+38d9 1a620c00 copy regc ,contr 
+38da 6800c69d fetch 1 ,mem_light_pwm3 
+38db 60008a9a store 1 ,mem_pdatatemp 
+38dc d8400003 arg 3 ,temp 
+38dd 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm4:
+38de 1a620c00 copy regc ,contr 
+38df 6800c69e fetch 1 ,mem_light_pwm4 
+38e0 60008a9a store 1 ,mem_pdatatemp 
+38e1 d8400004 arg 4 ,temp 
+38e2 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm5:
+38e3 1a620c00 copy regc ,contr 
+38e4 6800c69f fetch 1 ,mem_light_pwm5 
+38e5 60008a9a store 1 ,mem_pdatatemp 
+38e6 d8400005 arg 5 ,temp 
+38e7 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_auto_mode:
+38e8 e8c08000 ifetch 1 ,contr 
+38e9 20600000 rtn 
+
+light_parse_pairing:
+38ea 18c22600 copy contr ,regc 
+38eb 6800c6a0 fetch 1 ,mem_light_pairing_enable 
+38ec c080b8ee bne 1 ,light_parse_pairing_abandon 
+38ed 204038f0 call update_controler_list 
+
+light_parse_pairing_abandon:
+38ee 1a610c04 and regc ,4 ,contr 
+38ef 20600000 rtn 
+
+update_controler_list:
+38f0 44ee401b bpatch patch1b_4 ,mem_patch1b 
+38f1 20403871 call light_find_controler_pairing 
+38f2 203438fe branch update_conrtoler_list_found ,user 
+38f3 6800c6a4 fetch 1 ,mem_light_next_record 
+38f4 1fe20400 copy pdata ,temp 
+38f5 1fe0fe01 increase 1 ,pdata 
+38f6 6000c6a4 store 1 ,mem_light_next_record 
+38f7 20403867 call light_init_crr_cmd_count 
+38f8 184b8400 lshift2 temp ,temp 
+38f9 580046a5 setarg mem_light_clist 
+38fa 98408a00 iadd temp ,contw 
+38fb ea620000 ifetch 4 ,regc 
+38fc e0a20000 istore 4 ,contw 
+38fd 20203903 branch update_conrtoler_store_list 
+
+update_conrtoler_list_found:
+38fe 1a608c03 add regc ,3 ,contr 
+38ff e8c08000 ifetch 1 ,contr 
+3900 207a0000 rtn blank 
+3901 ea620000 ifetch 4 ,regc 
+3902 e2220000 istore 4 ,rega 
+
+update_conrtoler_store_list:
+3903 da2046a4 arg mem_light_next_record ,rega 
+3904 da400000 arg 0 ,regb 
+3905 d8400051 arg 81 ,temp 
+3906 20206606 branch iicd_write_eep_data 
+
+lightc_init:
+3907 6808c69a fetcht 1 ,mem_lightc_led_gpio 
+3908 20406825 call gpio_out_inactive 
+3909 20600000 rtn 
+
+lightc_dispatch:
+390a 6808c69a fetcht 1 ,mem_lightc_led_gpio 
+390b 20406829 call gpio_out_active 
+390c 6808c69a fetcht 1 ,mem_lightc_led_gpio 
+390d 20406825 call gpio_out_inactive 
+390e 2040391d call lightc_start_adv 
+390f 6800c6a7 fetch 1 ,mem_adv_time 
+3910 247a0000 nrtn blank 
+3911 20402c29 call lpm_write_gpio_wakeup 
+3912 68120138 hfetch 4 ,core_lpm_ctrl 
+3913 793ffe0f set0 15 ,pdata 
+3914 6012004c hstore 4 ,core_lpm_reg 
+3915 20402c21 call lpm_write_ctrl 
+3916 d85fffff arg param_hibernate_clks ,temp 
+3917 20202b2a branch lpm_sleep 
+
+lightc_adv:
+3918 6800c6a7 fetch 1 ,mem_adv_time 
+3919 203a56f9 branch le_adv_loop_tx ,blank 
+391a 1fe0ffff increase -1 ,pdata 
+391b 6000c6a7 store 1 ,mem_adv_time 
+391c 202056f9 branch le_adv_loop_tx 
+
+lightc_start_adv:
+391d 1feffe14 mul32 pdata ,20 ,pdata 
+391e d8c046a8 arg mem_cmd0_string ,contr 
+391f 98c08c00 iadd contr ,contr 
+3920 e8c08000 ifetch 1 ,contr 
+3921 207a0000 rtn blank 
+3922 1fe22200 copy pdata ,rega 
+3923 1a227200 copy rega ,loopcnt 
+3924 d8a04372 arg mem_le_adv_data + 2 ,contw 
+3925 20407f01 call memcpy 
+3926 1a227e00 copy rega ,pdata 
+3927 1fe0fe02 increase 2 ,pdata 
+3928 6000c36f store 1 ,mem_le_adv_data_len 
+3929 20600000 rtn 
+
+module_init:
+392a 20758000 rtn wake 
+392b 204057a3 call le_modified_name 
+392c 204068a8 call adc_init_data 
+392d 58003982 setarg module_process_idle 
+392e 600141f3 store 2 ,mem_cb_idle_process 
+392f 5800396e setarg module_bt_conn_process 
+3930 600141f1 store 2 ,mem_cb_bt_process 
+3931 58003986 setarg module_process_bb_event 
+3932 600141f5 store 2 ,mem_cb_bb_event_process 
+3933 5800396d setarg module_le_conn_process 
+3934 600141ef store 2 ,mem_cb_le_process 
+3935 58003969 setarg module_lpm_lock 
+3936 600141e9 store 2 ,mem_cb_check_wakelock 
+3937 58003ab7 setarg module_hci_cmd_transmit_le_notify 
+3938 600141fb store 2 ,mem_cb_ble_transmit 
+3939 58003c32 setarg module_hci_event_receive_spp_data 
+393a 6001456f store 2 ,mem_cb_receive_spp_data 
+393b 58003cc2 setarg module_le_receive_data 
+393c 600141f9 store 2 ,mem_cb_att_write 
+393d 58003cd7 setarg module_bb_event_timer 
+393e 600141fd store 2 ,mem_cb_event_timer 
+393f 2040397f call module_spp_clear_last_transmite_clock 
+3940 44eec01b bpatch patch1b_5 ,mem_patch1b 
+3941 20403945 call module_lpm_uart_init 
+3942 20403964 call module_gpio_init 
+3943 20402c6f call check_module_disabled 
+3944 20203c48 branch module_hci_event_enter_standby_mode 
+
+module_lpm_uart_init:
+3945 680246aa fetch 4 ,mem_module_uart_rx_buffer 
+3946 60120054 hstore 4 ,core_uart_rsaddr 
+3947 680246ae fetch 4 ,mem_module_uart_tx_buffer 
+3948 6012005a hstore 4 ,core_uart_tsaddr 
+3949 68108081 hfetch 1 ,core_gpio_sel1 
+394a 1fe1fe04 or_into 0x04 ,pdata 
+394b 1fe17efc and_into 0xfc ,pdata 
+394c 60108081 hstore 1 ,core_gpio_sel1 
+394d 70806200 hjam 0x00 ,core_uart_ctrl 
+394e 680146aa fetch 2 ,mem_module_uart_rx_buffer 
+394f 60110058 hstore 2 ,core_uart_rrptr 
+3950 680146ae fetch 2 ,mem_module_uart_tx_buffer 
+3951 6011005e hstore 2 ,core_uart_twptr 
+3952 60110060 hstore 2 ,core_uart_trptrp 
+3953 68120078 hfetch 4 ,core_gpio_pu0 
+3954 79207e07 set1 7 ,pdata 
+3955 60120078 hstore 4 ,core_gpio_pu0 
+3956 68110050 hfetch 2 ,core_clkoff 
+3957 793ffe0f set0 clock_off_uart ,pdata 
+3958 60110050 hstore 2 ,core_clkoff 
+3959 204066ce call uart_set_baud_by_mem 
+395a 70804300 hjam uartclk_crystal ,core_uart_clksel 
+395b 70806281 hjam uart_ctrl_h4 ,core_uart_ctrl 
+395c 6800c6bf fetch 1 ,mem_module_flag 
+395d 2feffe00 isolate1 module_flag_uart_flow_control ,pdata 
+395e 68188062 hfetcht 1 ,core_uart_ctrl 
+395f 79208404 setflag true ,4 ,temp 
+3960 60188062 hstoret 1 ,core_uart_ctrl 
+3961 20600000 rtn 
+
+module_lpm_init:
+3962 2040397f call module_spp_clear_last_transmite_clock 
+3963 20203945 branch module_lpm_uart_init 
+
+module_gpio_init:
+3964 6808c69e fetcht 1 ,mem_module_connect_state_gpio 
+3965 2040680e call gpio_config_output 
+3966 204039e6 call module_set_conn_pin_low 
+3967 6808c69c fetcht 1 ,mem_module_wake_up_gpio 
+3968 202067fb branch gpio_config_input 
+
+module_lpm_lock:
+3969 6808c69c fetcht 1 ,mem_module_wake_up_gpio 
+396a 2040681d call gpio_get_bit 
+396b 2420b3d2 nbranch app_put_lpm_wake_lock ,true 
+396c 202033d0 branch app_get_lpm_wake_lock 
+
+module_le_conn_process:
+396d 20600000 rtn 
+
+module_bt_conn_process:
+396e 20403970 call module_spp_enter_sniff 
+396f 20203ce9 branch module_control_air_flow 
+
+module_spp_enter_sniff:
+3970 6800c682 fetch 1 ,mem_ui_state_map 
+3971 c302397f bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+3972 44ef401b bpatch patch1b_6 ,mem_patch1b 
+3973 58003eff setarg 0x3eff 
+3974 680a46c5 fetcht 4 ,mem_last_transmite_clock 
+3975 98408400 iadd temp ,temp 
+3976 1c427e00 copy clkn_bt ,pdata 
+3977 98467c00 isub temp ,null 
+3978 24610000 nrtn positive 
+3979 68014682 fetch 2 ,mem_ui_state_map 
+397a c282b97f bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+397b 6800c6bf fetch 1 ,mem_module_flag 
+397c c3830000 rtnbit1 moudle_task_sniff 
+397d 20403cec call module_set_sniff_task_flag 
+397e 2040340e call app_bt_enter_sniff 
+
+module_spp_clear_last_transmite_clock:
+397f 1c427e00 copy clkn_bt ,pdata 
+3980 600246c5 store 4 ,mem_last_transmite_clock 
+3981 20600000 rtn 
+
+module_process_idle:
+3982 20403ce9 call module_control_air_flow 
+3983 2040526e call l2cap_malloc_is_fifo_full 
+3984 247a0000 nrtn blank 
+3985 202039eb branch module_process 
+
+module_process_bb_event:
+3986 1a627e00 copy regc ,pdata 
+3987 c000b9d4 beq bt_evt_bb_connected ,module_process_bb_conn 
+3988 c00139a3 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+3989 c00239d7 beq bt_evt_reconn_failed ,module_process_reconn_fail 
+398a c002b9c4 beq bt_evt_setup_complete ,module_process_setup_complete 
+398b c00439aa beq bt_evt_spp_connected ,module_process_spp_connected 
+398c c004b9b1 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+398d c00539c9 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+398e c005b9b6 beq bt_evt_enter_sniff ,module_process_enter_sniff 
+398f c00639c2 beq bt_evt_exit_sniff ,module_process_exit_sniff 
+3990 c009b9d7 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+3991 c00a39cf beq bt_evt_le_connected ,module_process_le_conn 
+3992 c00ab9c6 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+3993 c010b9ca beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+3994 c011b9cb beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+3995 c01239ce beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+3996 c0183c8a beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+3997 c018bc8c beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+3998 c0193c9a beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+3999 c019bc98 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+399a c01a3c84 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+399b c01abc73 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+399c c01b3c82 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+399d c01bbc8e beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+399e c01c3c90 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+399f c01dbca1 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+39a0 c01ebc6a beq bt_evt_store_nvram ,module_hci_event_store_device 
+39a1 c020b9d9 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+39a2 20600000 rtn 
+
+module_process_bb_event_disconned:
+39a3 2040397f call module_spp_clear_last_transmite_clock 
+39a4 6800c665 fetch 1 ,mem_flag_pairing_state 
+39a5 245a3c8e ncall module_hci_event_bt_pairing_fail ,blank 
+39a6 204039d7 call module_disconn_start 
+39a7 68014682 fetch 2 ,mem_ui_state_map 
+39a8 c4020000 rtnbit0 ui_state_bt_spp_conn 
+39a9 202039b1 branch module_spp_disconnected 
+
+module_process_spp_connected:
+39aa 68014682 fetch 2 ,mem_ui_state_map 
+39ab 79207e04 set1 ui_state_bt_spp_conn ,pdata 
+39ac 60014682 store 2 ,mem_ui_state_map 
+39ad 6800c6a7 fetch 1 ,mem_module_spp_lpm_mult 
+39ae 6000c172 store 1 ,mem_lpm_mult 
+39af 204039e6 call module_set_conn_pin_low 
+39b0 20203c1d branch module_hci_event_spp_connect 
+
+module_process_spp_disconnected:
+
+module_spp_disconnected:
+39b1 68014682 fetch 2 ,mem_ui_state_map 
+39b2 c4020000 rtnbit0 ui_state_bt_spp_conn 
+39b3 793ffe04 set0 ui_state_bt_spp_conn ,pdata 
+39b4 60014682 store 2 ,mem_ui_state_map 
+39b5 20203c21 branch module_hci_event_spp_disconnect 
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+39b6 2040397f call module_spp_clear_last_transmite_clock 
+39b7 68014042 fetch 2 ,mem_context + coffset_tsniff 
+39b8 1fe37e00 rshift pdata ,pdata 
+39b9 680941e3 fetcht 2 ,mem_sniff_param_interval 
+39ba 98467c00 isub temp ,null 
+39bb 2422b9bd nbranch module_sniff_param_check_unsniff ,zero 
+39bc 20203416 branch app_lpm_mult_enable 
+
+module_sniff_param_check_unsniff:
+39bd 6800c6bf fetch 1 ,mem_module_flag 
+39be c3828000 rtnbit1 moudle_task_unsniff 
+39bf 68110112 hfetch 2 ,core_uart_rxitems 
+39c0 245a3cf0 ncall module_set_unsniff_task_flag ,blank 
+39c1 2020340c branch app_bt_sniff_exit 
+
+module_process_exit_sniff:
+39c2 20403cee call module_clear_sniff_task_flag 
+39c3 20203418 branch app_lpm_mult_disable 
+
+module_process_setup_complete:
+39c4 2040397f call module_spp_clear_last_transmite_clock 
+39c5 202039dd branch module_conn_start 
+
+module_process_bb_even_le_disconn:
+39c6 20405816 call le_clr_config_more_data 
+39c7 204039d7 call module_disconn_start 
+39c8 20203c23 branch module_hci_event_le_disconnect 
+
+module_process_evt_pincode_req:
+39c9 202033dd branch app_bt_set_pincode 
+
+module_process_sniff_not_accept:
+39ca 20203cee branch module_clear_sniff_task_flag 
+
+module_process_unsniff_accept:
+39cb 6800c6bf fetch 1 ,mem_module_flag 
+39cc c302b40e bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+39cd 20203cf2 branch module_clear_unsniff_task_flag 
+
+module_process_unsniff_not_accept:
+39ce 20203cf2 branch module_clear_unsniff_task_flag 
+
+module_process_le_conn:
+39cf 204058ba call le_send_att_exchange_mtu_requset 
+39d0 204039dd call module_conn_start 
+39d1 6800c6a8 fetch 1 ,mem_module_le_lpm_mult 
+39d2 6000c172 store 1 ,mem_lpm_mult 
+39d3 20203c1f branch module_hci_event_le_connect 
+
+module_process_bb_conn:
+39d4 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+39d5 20403cee call module_clear_sniff_task_flag 
+39d6 20203cf2 branch module_clear_unsniff_task_flag 
+
+module_process_page_time_out:
+
+module_process_reconn_fail:
+
+module_disconn_start:
+39d7 20403a52 call module_start_adv_discovery_by_command 
+39d8 202039db branch module_set_conn_pin_high 
+
+module_process_ble_ltk_lost:
+39d9 20405cc9 call le_send_reject_ind 
+39da 20205b02 branch le_send_smp_security_request 
+
+module_set_conn_pin_high:
+39db 6808c69e fetcht 1 ,mem_module_connect_state_gpio 
+39dc 20206829 branch gpio_out_active 
+
+module_conn_start:
+39dd 204039df call module_stop_adv_discovery 
+39de 202039e6 branch module_set_conn_pin_low 
+
+module_stop_adv_discovery:
+39df 6800c6a1 fetch 1 ,mem_module_state 
+39e0 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+39e1 2040b3f0 call app_bt_stop_discovery ,true 
+39e2 6800c6a1 fetch 1 ,mem_module_state 
+39e3 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+39e4 2040b3f8 call app_ble_stop_adv ,true 
+39e5 20600000 rtn 
+
+module_set_conn_pin_low:
+39e6 6808c69e fetcht 1 ,mem_module_connect_state_gpio 
+39e7 20206825 branch gpio_out_inactive 
+
+module_process_with_credit:
+39e8 6800c56b fetch 1 ,mem_credit_flag 
+39e9 c1000000 rtneq credit_disable 
+39ea 20206c28 branch rfcomm_send_uih_without_payload 
+
+module_process:
+39eb 6810810c hfetch 1 ,core_uart_status 
+39ec c281b9e8 bbit1 uart_status_rx_fifo_empty ,module_process_with_credit 
+39ed 204066cb call uartd_prepare_rx 
+39ee e8608000 ifetch 1 ,contru 
+39ef c080ba01 bne 0x01 ,module_hci_in_excp 
+39f0 68110112 hfetch 2 ,core_uart_rxitems 
+39f1 1fe67c02 sub pdata ,2 ,null 
+39f2 20610000 rtn positive 
+39f3 e8608000 ifetch 1 ,contru 
+39f4 60008b03 store 1 ,mem_module_uart_opcode 
+39f5 e8688000 ifetcht 1 ,contru 
+39f6 18622200 copy contru ,rega 
+39f7 60088b04 storet 1 ,mem_module_uart_len 
+39f8 18408403 add temp ,3 ,temp 
+39f9 68110112 hfetch 2 ,core_uart_rxitems 
+39fa 98460400 isub temp ,temp 
+39fb 24610000 nrtn positive 
+39fc 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+39fd 20403a17 call module_hci_cmd_control 
+39fe 68008b05 fetch 1 ,mem_module_temp_nl_discard_packet 
+39ff c1000000 rtneq hci_not_discard_packet 
+3a00 20203a12 branch module_hci_dicard_packet 
+
+module_hci_in_excp:
+3a01 20407ec1 call delay_10ms 
+3a02 20403c79 call module_hci_event_invalid_packet 
+3a03 20203a04 branch module_hci_release_except 
+
+module_hci_release_except:
+3a04 44efc01b bpatch patch1b_7 ,mem_patch1b 
+3a05 68110112 hfetch 2 ,core_uart_rxitems 
+3a06 207a0000 rtn blank 
+3a07 204066cb call uartd_prepare_rx 
+3a08 e8608000 ifetch 1 ,contru 
+3a09 1fe67c01 sub pdata ,0x01 ,null 
+3a0a 2442ba16 ncall module_hci_dicard_bytes ,zero 
+3a0b 2422ba04 nbranch module_hci_release_except ,zero 
+3a0c e8608000 ifetch 1 ,contru 
+3a0d c1028000 rtneq hci_cmd_spp_data_req 
+3a0e c1148000 rtneq hci_cmd_set_credit_given 
+3a0f 186087ff increase -1 ,contru 
+3a10 20403a16 call module_hci_dicard_bytes 
+3a11 20203a04 branch module_hci_release_except 
+
+module_hci_dicard_packet:
+3a12 204066cb call uartd_prepare_rx 
+3a13 18608602 increase 2 ,contru 
+3a14 e8608000 ifetch 1 ,contru 
+3a15 98608600 iadd contru ,contru 
+
+module_hci_dicard_bytes:
+3a16 202066c8 branch uartd_rxdone 
+
+module_hci_cmd_control:
+3a17 44f0401c bpatch patch1c_0 ,mem_patch1c 
+3a18 68008b03 fetch 1 ,mem_module_uart_opcode 
+3a19 c0003a3f beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+3a1a c000ba44 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+3a1b c0013a49 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+3a1c c001ba5f beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+3a1d c0023a6b beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+3a1e c002ba75 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+3a1f c004ba9a beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+3a20 c005bad7 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+3a21 c0063ad8 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+3a22 c006baec beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+3a23 c0073af4 beq hci_cmd_set_uartcontrol_req ,module_hci_cmd_set_uart_control_mode 
+3a24 c007bafa beq hci_cmd_set_uart_baud_req ,module_hci_cmd_set_uart_baud 
+3a25 c0083b06 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+3a26 c008bb0e beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+3a27 c0093b12 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+3a28 c0133b16 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+3a29 c0143b1d beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+3a2a c014bb2d beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+3a2b c0153b36 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+3a2c c015bb69 beq hci_cmd_power_req ,module_hci_cmd_power_request 
+3a2d c0163b6f beq hci_cmd_power_set ,module_hci_cmd_power_set 
+3a2e c0183b76 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+3a2f c018bb7c beq hci_cmd_set_gpio ,module_hci_cmd_set_gpio 
+3a30 c0193b90 beq hci_cmd_read_gpio ,module_hci_cmd_read_gpio 
+3a31 c019bb98 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+3a32 c01a3bbb beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+3a33 c01abbc4 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+3a34 c01b3bcd beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+3a35 c01bbbd7 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+3a36 c01c3bda beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+3a37 c0203be2 beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
+3a38 c0213bec beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+3a39 c0243bf1 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+3a3a c024bbfc beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+3a3b c028bc02 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+3a3c c030bc06 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+3a3d c07fbc15 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+3a3e 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_set_bt_addr:
+3a3f 68008b04 fetch 1 ,mem_module_uart_len 
+3a40 c0833c17 bne 6 ,module_hci_event_receive_invalid_cmd 
+3a41 e8630000 ifetch 6 ,contru 
+3a42 600340a0 store 6 ,mem_lap 
+3a43 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_addr:
+3a44 68008b04 fetch 1 ,mem_module_uart_len 
+3a45 c0833c17 bne 6 ,module_hci_event_receive_invalid_cmd 
+3a46 e8630000 ifetch 6 ,contru 
+3a47 600344a0 store 6 ,mem_le_lap 
+3a48 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_visibility:
+3a49 68008b04 fetch 1 ,mem_module_uart_len 
+3a4a c080bc17 bne 1 ,module_hci_event_receive_invalid_cmd 
+3a4b 1a220600 copy rega ,contru 
+3a4c 20403c1a call module_hci_event_receive_valid_cmd 
+3a4d e8688000 ifetcht 1 ,contru 
+3a4e 6008c6a9 storet 1 ,mem_module_bluetooth_stauts_by_command 
+3a4f 68014682 fetch 2 ,mem_ui_state_map 
+3a50 c3848000 rtnbit1 ui_state_ble_connected 
+3a51 c3800000 rtnbit1 ui_state_bt_connected 
+
+module_start_adv_discovery_by_command:
+3a52 6800c6a1 fetch 1 ,mem_module_state 
+3a53 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+3a54 2420ba58 nbranch moudle_start_adv_by_command ,true 
+3a55 6808c6a9 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+3a56 18417e03 and temp ,0x03 ,pdata 
+3a57 6000c093 store 1 ,mem_scan_mode 
+
+moudle_start_adv_by_command:
+3a58 6800c6a1 fetch 1 ,mem_module_state 
+3a59 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+3a5a 24608000 nrtn true 
+3a5b 6808c6a9 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+3a5c 284ffe02 isolate1 2 ,temp 
+3a5d 2020b3fa branch app_ble_start_adv ,true 
+3a5e 202033f8 branch app_ble_stop_adv 
+
+module_hci_cmd_set_bt_name:
+3a5f 68008b04 fetch 1 ,mem_module_uart_len 
+3a60 1fe67c43 sub pdata ,67 ,null 
+3a61 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3a62 6000c515 store 1 ,mem_local_name_length 
+3a63 df200008 arg 8 ,loopcnt 
+3a64 20407ec6 call memset0 
+3a65 68008b04 fetch 1 ,mem_module_uart_len 
+3a66 1fe27200 copy pdata ,loopcnt 
+3a67 1a220600 copy rega ,contru 
+3a68 d8a04516 arg mem_local_name ,contw 
+3a69 204066ea call uart_copy_rx_bytes_fast 
+3a6a 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_name:
+3a6b 68008b04 fetch 1 ,mem_module_uart_len 
+3a6c 1fe67c1d sub pdata ,29 ,null 
+3a6d 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3a6e 6000c3af store 1 ,mem_le_name_len 
+3a6f 1fe27200 copy pdata ,loopcnt 
+3a70 1a220600 copy rega ,contru 
+3a71 d8a043b0 arg mem_le_name ,contw 
+3a72 204066ea call uart_copy_rx_bytes_fast 
+3a73 204057a3 call le_modified_name 
+3a74 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_receive_spp_data:
+3a75 6800c682 fetch 1 ,mem_ui_state_map 
+3a76 c3023c17 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+3a77 204033ba call app_check_sniff 
+3a78 2020ba86 branch module_hci_cmd_spp_exit_sniff ,true 
+3a79 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3a7a 2040397f call module_spp_clear_last_transmite_clock 
+3a7b 6800c568 fetch 1 ,mem_remote_credits 
+3a7c 207a0000 rtn blank 
+3a7d 68014573 fetch 2 ,mem_nl_rx_len_all 
+3a7e c0803a84 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+3a7f 68008b04 fetch 1 ,mem_module_uart_len 
+3a80 60014573 store 2 ,mem_nl_rx_len_all 
+3a81 1a220600 copy rega ,contru 
+3a82 18627e00 copy contru ,pdata 
+3a83 60014571 store 2 ,mem_nl_rx_data_src 
+
+module_hci_cmd_pass_init_ng_rx_len_all:
+3a84 20403a88 call module_hci_cmd_get_current_packet_len_and_remain_len 
+3a85 20206c4d branch spp_tx_rfcomm_packet 
+
+module_hci_cmd_spp_exit_sniff:
+3a86 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3a87 20203cd1 branch module_exit_sniff 
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+3a88 20403a8e call module_hci_cmd_get_current_patcket_len 
+3a89 68014573 fetch 2 ,mem_nl_rx_len_all 
+3a8a 6809469f fetcht 2 ,mem_current_packet_length 
+3a8b 98467e00 isub temp ,pdata 
+3a8c 60014573 store 2 ,mem_nl_rx_len_all 
+3a8d 20600000 rtn 
+
+module_hci_cmd_get_current_patcket_len:
+3a8e 68014573 fetch 2 ,mem_nl_rx_len_all 
+3a8f d840006e arg dm_refcom_buff_len ,temp 
+3a90 20407fdd call not_greater_than 
+3a91 6809456c fetcht 2 ,mem_rfcomm_max_frame_size 
+3a92 20407fdd call not_greater_than 
+3a93 6809455e fetcht 2 ,mem_pn_max_frame_size 
+3a94 20407fdd call not_greater_than 
+3a95 6001469f store 2 ,mem_current_packet_length 
+3a96 20600000 rtn 
+
+module_hci_command_tx_spp_tx_complete:
+3a97 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+3a98 700b0305 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+3a99 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_receive_le_data:
+3a9a 68014682 fetch 2 ,mem_ui_state_map 
+3a9b c304bc17 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+3a9c 20403ad4 call module_check_ble_encrypt_state 
+3a9d 20343c17 branch module_hci_event_receive_invalid_cmd ,user 
+3a9e 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3a9f 6800c6bf fetch 1 ,mem_module_flag 
+3aa0 c2823ab4 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+3aa1 6800c6c0 fetch 1 ,mem_module_hci_notify_len 
+3aa2 247a0000 nrtn blank 
+3aa3 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+3aa4 e8610000 ifetch 2 ,contru 
+3aa5 600146c1 store 2 ,mem_module_hci_notify_handle 
+3aa6 18627e00 copy contru ,pdata 
+3aa7 600146c3 store 2 ,mem_module_hci_nofiy_addr 
+3aa8 68008b04 fetch 1 ,mem_module_uart_len 
+3aa9 1fe0fffe pincrease -2 
+3aaa 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3aab 2022bc17 branch module_hci_event_receive_invalid_cmd ,zero 
+3aac 6000c6c0 store 1 ,mem_module_hci_notify_len 
+3aad 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3aae 20405814 call le_set_config_more_data 
+3aaf 20403ab7 call module_hci_cmd_transmit_le_notify 
+3ab0 20403ab7 call module_hci_cmd_transmit_le_notify 
+3ab1 20403ab7 call module_hci_cmd_transmit_le_notify 
+3ab2 6800c6bf fetch 1 ,mem_module_flag 
+3ab3 c4020000 rtnbit0 module_flag_ble_data_finish 
+
+module_hci_cmd_receive_le_data_finish:
+3ab4 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+3ab5 20403cf6 call module_clear_le_tx_data_flag 
+3ab6 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_transmit_le_notify:
+3ab7 6800c6c0 fetch 1 ,mem_module_hci_notify_len 
+3ab8 207a0000 rtn blank 
+3ab9 20405892 call le_fifo_check_nearly_full 
+3aba 247a0000 nrtn blank 
+3abb 20403acf call module_get_le_remote_mtu 
+3abc 44f0c01c bpatch patch1c_1 ,mem_patch1c 
+3abd 1840fffd add temp ,-3 ,pdata 
+3abe 6808c6c0 fetcht 1 ,mem_module_hci_notify_len 
+3abf 20407fdd call not_greater_than 
+3ac0 1fe22200 copy pdata ,rega 
+3ac1 18427e00 copy temp ,pdata 
+3ac2 9a267e00 isub rega ,pdata 
+3ac3 6000c6c0 store 1 ,mem_module_hci_notify_len 
+3ac4 680946c1 fetcht 2 ,mem_module_hci_notify_handle 
+3ac5 20405a64 call le_att_malloc_tx_notify 
+3ac6 680146c3 fetch 2 ,mem_module_hci_nofiy_addr 
+3ac7 1fe20600 copy pdata ,contru 
+3ac8 1a227200 copy rega ,loopcnt 
+3ac9 204066ea call uart_copy_rx_bytes_fast 
+3aca 18627e00 copy contru ,pdata 
+3acb 600146c3 store 2 ,mem_module_hci_nofiy_addr 
+3acc 6800c6c0 fetch 1 ,mem_module_hci_notify_len 
+3acd 247a0000 nrtn blank 
+3ace 20203cf4 branch module_set_le_tx_data_flag 
+
+module_get_le_remote_mtu:
+3acf d8400017 arg 0x17 ,temp 
+3ad0 6800c6bf fetch 1 ,mem_module_flag 
+3ad1 c3808000 rtnbit1 module_flag_ble_send_mtu23 
+3ad2 680944a8 fetcht 2 ,mem_le_remote_mtu 
+3ad3 20600000 rtn 
+
+module_check_ble_encrypt_state:
+3ad4 6800c6bf fetch 1 ,mem_module_flag 
+3ad5 c2815a42 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+3ad6 20207fe9 branch disable_user 
+
+module_hci_cmd_inquire_status:
+3ad7 20203c4c branch module_hci_event_status_res 
+
+module_hci_cmd_set_pairing_mode:
+3ad8 1a220600 copy rega ,contru 
+3ad9 e8608000 ifetch 1 ,contru 
+3ada c0003adf beq pairing_pincode ,module_hci_pairing_pincode_mode 
+3adb c000bae2 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+3adc c0013ae8 beq pairing_passkey ,module_hci_pairing_passkey 
+3add c001baea beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+3ade 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_hci_pairing_pincode_mode:
+3adf 2040612b call ssp_disable 
+3ae0 70465a00 jam 0 ,mem_ssp_enable 
+3ae1 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_pairing_just_work_mode:
+3ae2 58040003 setarg ssp_mode_just_work_io_cap_data 
+
+module_hci_sspairing_mode:
+3ae3 6001c65b store 3 ,mem_sp_iocap_local 
+3ae4 6000c662 store 1 ,mem_ssp_mode_flag 
+3ae5 20406124 call ssp_enable 
+3ae6 70465a01 jam 1 ,mem_ssp_enable 
+3ae7 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_pairing_passkey:
+3ae8 58040002 setarg ssp_mode_passkey_io_cap_data 
+3ae9 20203ae3 branch module_hci_sspairing_mode 
+
+module_hci_pairing_numeric_comparison:
+3aea 58040001 setarg ssp_mode_ssp_pin_io_cap_data 
+3aeb 20203ae3 branch module_hci_sspairing_mode 
+
+module_hci_cmd_set_pincode:
+3aec 68008b04 fetch 1 ,mem_module_uart_len 
+3aed 1fe67c10 sub pdata ,16 ,null 
+3aee 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3aef 6000c689 store 1 ,mem_pin_length 
+3af0 1fe27200 copy pdata ,loopcnt 
+3af1 d8a0468a arg mem_pin ,contw 
+3af2 204066fd call uart_copy_rx_bytes 
+3af3 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_uart_control_mode:
+3af4 1a220600 copy rega ,contru 
+3af5 e8608000 ifetch 1 ,contru 
+3af6 68188062 hfetcht 1 ,core_uart_ctrl 
+3af7 7d3a0404 nsetflag blank ,4 ,temp 
+3af8 60188062 hstoret 1 ,core_uart_ctrl 
+3af9 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_uart_baud:
+3afa 68008b04 fetch 1 ,mem_module_uart_len 
+3afb 1fe27200 copy pdata ,loopcnt 
+3afc 1a220600 copy rega ,contru 
+3afd 20407f58 call string2dec_from_uart 
+3afe 596e3600 setarg uart_clk_24 
+3aff 9846fc00 idiv temp 
+3b00 20407f86 call wait_div_end 
+3b01 1807fe00 quotient pdata 
+
+module_hci_cmd_set_uart_baud_ok:
+3b02 60014243 store uart_baud_len ,mem_baud 
+3b03 20403c1a call module_hci_event_receive_valid_cmd 
+3b04 20407f9e call wait_uarttx 
+3b05 202066ce branch uart_set_baud_by_mem 
+
+module_hci_cmd_version_request:
+3b06 da200002 arg 2 ,rega 
+3b07 da40469a arg mem_soft_version_num ,regb 
+3b08 d8400000 arg 0 ,temp 
+3b09 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_event_set_cmd_send_response:
+3b0a 60010ac2 store 2 ,mem_event_cmd_response_content 
+3b0b da400ac2 arg mem_event_cmd_response_content ,regb 
+3b0c d8400000 arg 0 ,temp 
+3b0d 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_cmd_bt_disconnect:
+3b0e 68014682 fetch 2 ,mem_ui_state_map 
+3b0f c3003c17 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_bt_disconnect_doing:
+3b10 20403c1a call module_hci_event_receive_valid_cmd 
+3b11 202033e9 branch app_bt_disconnect 
+
+module_hci_cmd_ble_disconnect:
+3b12 68014682 fetch 2 ,mem_ui_state_map 
+3b13 c304bc17 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_ble_disconnect_doing:
+3b14 20403c1a call module_hci_event_receive_valid_cmd 
+3b15 20203402 branch app_ble_disconnect 
+
+module_hci_cmd_set_nvram:
+3b16 68008b04 fetch 1 ,mem_module_uart_len 
+3b17 1fe27200 copy pdata ,loopcnt 
+3b18 1a220600 copy rega ,contru 
+3b19 68014215 fetch 2 ,mem_nv_data_ptr 
+3b1a 1fe20a00 icopy contw 
+3b1b 204066ea call uart_copy_rx_bytes_fast 
+3b1c 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_confirm_gkey:
+3b1d 6800c682 fetch 1 ,mem_ui_state_map 
+3b1e c3003c17 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+3b1f e8608000 ifetch 1 ,contru 
+3b20 6808c661 fetcht 1 ,mem_flag_mode_ssp_pin 
+3b21 793a0400 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+3b22 79200407 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+3b23 6008c661 storet 1 ,mem_flag_mode_ssp_pin 
+3b24 20403c1a call module_hci_event_receive_valid_cmd 
+3b25 6800c661 fetch 1 ,mem_flag_mode_ssp_pin 
+3b26 c2833b2b bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+3b27 20600000 rtn 
+
+dhkey_not_accept:
+3b28 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+3b29 700a9921 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+3b2a 20207d8f branch ui_ipc_send_cmd 
+
+module_hci_cmd_spp_number_comparison_result_is1:
+3b2b c2805f95 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+3b2c 20203b28 branch dhkey_not_accept 
+
+module_hci_cmd_set_credit_given:
+3b2d 6800c682 fetch 1 ,mem_ui_state_map 
+3b2e c4020000 rtnbit0 ui_state_bt_spp_conn 
+3b2f 6800c56b fetch 1 ,mem_credit_flag 
+3b30 c1000000 rtneq credit_disable 
+3b31 e8608000 ifetch 1 ,contru 
+3b32 6808c569 fetcht 1 ,mem_credit_given 
+3b33 98408400 iadd temp ,temp 
+3b34 6008c569 storet 1 ,mem_credit_given 
+3b35 20600000 rtn 
+
+module_hci_cmd_auto_adv:
+3b36 df200040 arg 0x40 ,loopcnt 
+3b37 d8a0436f arg mem_le_adv_data_len ,contw 
+3b38 20407ed4 call clear_mem 
+3b39 58000000 setarg 0 
+3b3a 60008ab2 store 1 ,mem_regb 
+3b3b 1a220600 copy rega ,contru 
+
+module_hci_cmd_auto_adv_loop:
+3b3c 18627e00 copy contru ,pdata 
+3b3d 60010ab6 store 2 ,mem_regc 
+3b3e 20403b64 call module_hci_cmd_auto_adv_adv_analys 
+3b3f 68008ab2 fetch 1 ,mem_regb 
+3b40 68088aa2 fetcht 1 ,mem_temp 
+3b41 18408401 increase 1 ,temp 
+3b42 9840fe00 iadd temp ,pdata 
+3b43 60008ab2 store 1 ,mem_regb 
+3b44 1fe67c1f sub pdata ,31 ,null 
+3b45 24213b50 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+
+module_hci_cmd_auto_adv_store_adv:
+3b46 6808c36f fetcht 1 ,mem_le_adv_data_len 
+3b47 58004370 setarg mem_le_adv_data 
+3b48 9840fe00 iadd temp ,pdata 
+3b49 60010abb store 2 ,mem_contw 
+3b4a 68088aa2 fetcht 1 ,mem_temp 
+3b4b 18408401 increase 1 ,temp 
+3b4c 6800c36f fetch 1 ,mem_le_adv_data_len 
+3b4d 9840fe00 iadd temp ,pdata 
+3b4e 6000c36f store 1 ,mem_le_adv_data_len 
+3b4f 20203b59 branch module_hci_cmd_auto_adv_store_common 
+
+module_hci_cmd_auto_adv_store_scan:
+3b50 6808c38f fetcht 1 ,mem_le_scan_data_len 
+3b51 58004390 setarg mem_le_scan_data 
+3b52 9840fe00 iadd temp ,pdata 
+3b53 60010abb store 2 ,mem_contw 
+3b54 68088aa2 fetcht 1 ,mem_temp 
+3b55 18408401 increase 1 ,temp 
+3b56 6800c38f fetch 1 ,mem_le_scan_data_len 
+3b57 9840fe00 iadd temp ,pdata 
+3b58 6000c38f store 1 ,mem_le_scan_data_len 
+
+module_hci_cmd_auto_adv_store_common:
+3b59 68010abb fetch 2 ,mem_contw 
+3b5a 1fe20a00 copy pdata ,contw 
+3b5b 68010ab6 fetch 2 ,mem_regc 
+3b5c 1fe20600 copy pdata ,contru 
+3b5d 18427200 copy temp ,loopcnt 
+3b5e 204066ea call uart_copy_rx_bytes_fast 
+3b5f 68008b04 fetch 1 ,mem_module_uart_len 
+3b60 68088ab2 fetcht 1 ,mem_regb 
+3b61 98467c00 isub temp ,null 
+3b62 2422bb3c nbranch module_hci_cmd_auto_adv_loop ,zero 
+3b63 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_auto_adv_adv_analys:
+3b64 e8608000 ifetch 1 ,contru 
+3b65 60008aa2 store 1 ,mem_temp 
+3b66 e8608000 ifetch 1 ,contru 
+3b67 60008aae store 1 ,mem_rega 
+3b68 20600000 rtn 
+
+module_hci_cmd_power_request:
+3b69 d8400000 arg 0 ,temp 
+3b6a da200002 arg 2 ,rega 
+3b6b 680146b4 fetch 2 ,mem_module_vdd_quotient 
+3b6c 60010ac2 store 2 ,mem_event_cmd_response_content 
+3b6d da400ac2 arg mem_event_cmd_response_content ,regb 
+3b6e 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_cmd_power_set:
+3b6f 68008b04 fetch 1 ,mem_module_uart_len 
+3b70 c080bc17 bne 1 ,module_hci_event_receive_invalid_cmd 
+3b71 e8608000 ifetch 1 ,contru 
+3b72 6000c6b2 store 1 ,mem_module_read_vdd_flag 
+3b73 58000000 setarg 0x00 
+3b74 600146b4 store 2 ,mem_module_vdd_quotient 
+3b75 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_passkey_entry:
+3b76 e8620000 ifetch 4 ,contru 
+3b77 6002468a store 4 ,mem_pin 
+3b78 70468904 jam 4 ,mem_pin_length 
+3b79 70466300 jam 0 ,mem_authentication_passkey_times 
+3b7a 20403c1a call module_hci_event_receive_valid_cmd 
+3b7b 20205f31 branch authentication_passkey 
+
+module_hci_cmd_set_gpio:
+3b7c 68008b04 fetch 1 ,mem_module_uart_len 
+3b7d c081bc17 bne 3 ,module_hci_event_receive_invalid_cmd 
+3b7e e8608000 ifetch 1 ,contru 
+3b7f c0003b82 beq hci_cmd_config_gpio_input ,module_set_gpio_input 
+3b80 c000bb8a beq hci_cmd_config_gpio_output ,module_set_gpio_output 
+3b81 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_set_gpio_input:
+3b82 e8688000 ifetcht 1 ,contru 
+3b83 e8608000 ifetch 1 ,contru 
+3b84 c0013b88 beq gpio_input_high_impedance ,module_set_gpio_high_impedance 
+3b85 7d3a0407 nsetflag blank ,7 ,temp 
+3b86 204067fb call gpio_config_input 
+3b87 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_set_gpio_high_impedance:
+3b88 20406806 call gpio_set_high_impedance 
+3b89 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_set_gpio_output:
+3b8a e8688000 ifetcht 1 ,contru 
+3b8b 20406812 call gpio_config_output0 
+3b8c e8608000 ifetch 1 ,contru 
+3b8d 2feffe00 isolate1 0 ,pdata 
+3b8e 2040682c call gpio_out_flag 
+3b8f 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_read_gpio:
+3b90 68008b04 fetch 1 ,mem_module_uart_len 
+3b91 c080bc17 bne 1 ,module_hci_event_receive_invalid_cmd 
+3b92 e8688000 ifetcht 1 ,contru 
+3b93 2040681d call gpio_get_bit 
+3b94 58000000 setarg 0x0 
+3b95 7d20fe00 nsetflag true ,0 ,pdata 
+3b96 da200001 arg 1 ,rega 
+3b97 20203b0a branch module_hci_event_set_cmd_send_response 
+
+module_hci_cmd_le_set_pairing_mode:
+3b98 1a220600 copy rega ,contru 
+3b99 e8608000 ifetch 1 ,contru 
+3b9a 1fe20400 copy pdata ,temp 
+3b9b c040bba3 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+3b9c c0413ba8 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+3b9d c041bbae beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+3b9e 6000c4c6 store 1 ,mem_le_pairing_mode 
+3b9f c0003bb3 beq le_pairing_mode_none ,module_le_set_no_pairing 
+3ba0 c000bbb6 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+3ba1 c0013bb8 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+3ba2 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_le_set_pairing_mode_secure_justwork:
+3ba3 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+3ba4 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3ba5 6008c4c6 storet 1 ,mem_le_pairing_mode 
+3ba6 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+3ba7 20203bb4 branch module_le_set_noinputnooutput 
+
+module_le_set_pairing_mode_secure_numeric:
+3ba8 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+3ba9 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3baa 6008c4c6 storet 1 ,mem_le_pairing_mode 
+3bab 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+3bac 70445401 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+3bad 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_le_set_pairing_mode_secure_passkey:
+3bae 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+3baf 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3bb0 6008c4c6 storet 1 ,mem_le_pairing_mode 
+3bb1 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+3bb2 20203bb9 branch module_le_set_displayonly 
+
+module_le_set_no_pairing:
+3bb3 70445600 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+
+module_le_set_noinputnooutput:
+3bb4 70445403 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+3bb5 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_le_set_pairing_mode_lagacy_just_work:
+3bb6 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+3bb7 20203bb4 branch module_le_set_noinputnooutput 
+
+module_le_set_pairing_mode_lagacy_passkey:
+3bb8 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+
+module_le_set_displayonly:
+3bb9 70445400 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+3bba 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_adv_data:
+3bbb 68008b04 fetch 1 ,mem_module_uart_len 
+3bbc 1fe67c1f sub pdata ,31 ,null 
+3bbd 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3bbe 6000c36f store 1 ,mem_le_adv_data_len 
+3bbf 1fe27200 copy pdata ,loopcnt 
+3bc0 1a220600 copy rega ,contru 
+3bc1 d8a04370 arg mem_le_adv_data ,contw 
+3bc2 204066ea call uart_copy_rx_bytes_fast 
+3bc3 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_scan_data:
+3bc4 68008b04 fetch 1 ,mem_module_uart_len 
+3bc5 1fe67c1f sub pdata ,31 ,null 
+3bc6 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3bc7 6000c38f store 1 ,mem_le_scan_data_len 
+3bc8 1fe27200 copy pdata ,loopcnt 
+3bc9 1a220600 copy rega ,contru 
+3bca d8a04390 arg mem_le_scan_data ,contw 
+3bcb 204066ea call uart_copy_rx_bytes_fast 
+3bcc 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_send_conn_update_req:
+3bcd 68014682 fetch 2 ,mem_ui_state_map 
+3bce c304bc17 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+3bcf 68008b04 fetch 1 ,mem_module_uart_len 
+3bd0 c0843c17 bne 0x08 ,module_hci_event_receive_invalid_cmd 
+3bd1 1a220600 copy rega ,contru 
+3bd2 e8640000 ifetch 8 ,contru 
+3bd3 60044496 store 8 ,mem_le_interval_min 
+3bd4 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+3bd5 20407d8f call ui_ipc_send_cmd 
+3bd6 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_adv_parameter:
+3bd7 e8610000 ifetch 2 ,contru 
+3bd8 60014482 store 2 ,mem_le_adv_interval 
+3bd9 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_start_pairing:
+3bda 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+3bdb 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3bdc 6800c4c4 fetch 1 ,mem_le_pairing_state 
+3bdd c0803c17 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+3bde 6800c4c5 fetch 1 ,mem_le_enc_state 
+3bdf c0803c17 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+3be0 20407e25 call check_51cmd_le_smp_sec_req 
+3be1 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_wake_gpio:
+3be2 68008b04 fetch 1 ,mem_module_uart_len 
+3be3 c082bc17 bne 5 ,module_hci_event_receive_invalid_cmd 
+3be4 e8608000 ifetch 1 ,contru 
+3be5 6000c6a2 store 1 ,mem_module_mcu_wake_pin 
+3be6 e8620000 ifetch 4 ,contru 
+3be7 600246a3 store 4 ,mem_module_mcu_wake_delay_us 
+3be8 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3be9 2040680e call gpio_config_output 
+3bea 20403cbc call module_set_mcu_wake_pin_low 
+3beb 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_tx_power:
+3bec 68008b04 fetch 1 ,mem_module_uart_len 
+3bed c080bc17 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+3bee e8608000 ifetch 1 ,contru 
+3bef 6000c1de store 1 ,mem_tx_power 
+3bf0 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_confirm_gkey:
+3bf1 e8608000 ifetch 1 ,contru 
+3bf2 c000bbfa beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+3bf3 6800c4c1 fetch 1 ,mem_le_secure_connect_state 
+3bf4 c001bbf8 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+3bf5 c0033bf8 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+3bf6 c003bbf8 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+3bf7 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_le_confirm_gkey_ok:
+3bf8 7044c201 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+3bf9 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_confirm_gkey_fail:
+3bfa 20405b53 call le_send_pairing_confirm_value_failed 
+3bfb 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_reject_justwork_flag:
+3bfc 68008b04 fetch 1 ,mem_module_uart_len 
+3bfd c080bc17 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+3bfe 20403c1a call module_hci_event_receive_valid_cmd 
+3bff e8608000 ifetch 1 ,contru 
+3c00 203a60cb branch classic_bt_clr_reject_justwork_flag ,blank 
+3c01 202060c9 branch classic_bt_set_reject_justwork_flag 
+
+module_hci_cmd_reset_chip:
+3c02 20403c1a call module_hci_event_receive_valid_cmd 
+3c03 20407f9e call wait_uarttx 
+3c04 70801001 hjam 0x01 ,core_reset 
+3c05 20202a8e branch loop 
+
+module_hci_cmd_le_set_fixed_passkey:
+3c06 68008b04 fetch 1 ,mem_module_uart_len 
+3c07 c0003c17 beq 0 ,module_hci_event_receive_invalid_cmd 
+3c08 e8608000 ifetch 1 ,contru 
+3c09 203a3c13 branch module_hci_cmd_le_set_random_passkey ,blank 
+3c0a 68008b04 fetch 1 ,mem_module_uart_len 
+3c0b c082bc17 bne 5 ,module_hci_event_receive_invalid_cmd 
+3c0c e8620000 ifetch 4 ,contru 
+3c0d d84f4240 arg 1000000 ,temp 
+3c0e 98467c00 isub temp ,null 
+3c0f 20213c17 branch module_hci_event_receive_invalid_cmd ,positive 
+3c10 600244c7 store 4 ,mem_le_tk 
+3c11 2040580c call le_set_config_fixed_tk 
+3c12 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_random_passkey:
+3c13 2040580e call le_clr_config_fixed_tk 
+3c14 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_test_cmde_close_lpm:
+3c15 70409100 jam 0 ,mem_lpm_mode 
+3c16 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_event_receive_invalid_cmd:
+3c17 d8400001 arg 1 ,temp 
+3c18 da200000 arg 0 ,rega 
+3c19 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_event_receive_valid_cmd:
+3c1a d8400000 arg 0 ,temp 
+3c1b da200000 arg 0 ,rega 
+3c1c 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_event_spp_connect:
+3c1d 700b0300 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+3c1e 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_connect:
+3c1f 700b0302 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+3c20 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_spp_disconnect:
+3c21 700b0303 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+3c22 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_disconnect:
+3c23 700b0305 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+3c24 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_set_cmd:
+3c25 68008b03 fetch 1 ,mem_module_uart_opcode 
+3c26 1fe22600 copy pdata ,regc 
+3c27 700b0306 jam hci_event_cmd_res ,mem_module_uart_opcode 
+3c28 58000002 setarg 2 
+3c29 9a20fe00 iadd rega ,pdata 
+3c2a 20403ca7 call module_hci_prepare_tx 
+3c2b 1a627e00 copy regc ,pdata 
+3c2c e1408000 istore 1 ,contwu 
+3c2d e1488000 istoret 1 ,contwu 
+3c2e 1a227200 copy rega ,loopcnt 
+3c2f 1a420c00 copy regb ,contr 
+3c30 204066e4 call uart_copy_tx_bytes 
+3c31 202066c5 branch uartd_send 
+
+module_hci_event_receive_spp_data:
+3c32 2040397f call module_spp_clear_last_transmite_clock 
+3c33 700b0307 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+3c34 680084ff fetch 1 ,mem_current_length 
+3c35 207a0000 rtn blank 
+3c36 20403ca7 call module_hci_prepare_tx 
+3c37 680084ff fetch 1 ,mem_current_length 
+3c38 1fe27200 copy pdata ,loopcnt 
+3c39 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+3c3a 1fe20c00 copy pdata ,contr 
+3c3b 204066d1 call uart_copy_tx_bytes_fast 
+3c3c 202066c5 branch uartd_send 
+
+module_hci_event_receive_le_data:
+3c3d 700b0308 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+3c3e 6800c6b6 fetch 1 ,mem_module_le_rx_data_len 
+3c3f 1fe27200 icopy loopcnt 
+3c40 1fe0fe02 increase 2 ,pdata 
+3c41 20403ca7 call module_hci_prepare_tx 
+3c42 680146b9 fetch 2 ,mem_module_le_rx_data_handle 
+3c43 e1410000 istore 2 ,contwu 
+3c44 680146b7 fetch 2 ,mem_module_le_rx_data_address 
+3c45 1fe20c00 icopy contr 
+3c46 204066d1 call uart_copy_tx_bytes_fast 
+3c47 202066c5 branch uartd_send 
+
+module_hci_event_enter_standby_mode:
+3c48 700b0309 jam hci_event_standby_rep ,mem_module_uart_opcode 
+
+module_hci_event_enter_standby_mode_len0:
+3c49 58000000 setarg 0 
+3c4a 20403ca7 call module_hci_prepare_tx 
+3c4b 202066c5 branch uartd_send 
+
+module_hci_event_status_res:
+3c4c 700b030a jam hci_event_status_res ,mem_module_uart_opcode 
+3c4d 58000001 setarg 1 
+3c4e 20403ca7 call module_hci_prepare_tx 
+3c4f 20403c5d call module_hci_read_bt_status 
+3c50 68014682 fetch 2 ,mem_ui_state_map 
+3c51 d8e00002 arg ui_state_bt_hid_conn ,queue 
+3c52 afefffff qisolate1 pdata 
+3c53 79208403 setflag true ,3 ,temp 
+3c54 d8e00009 arg ui_state_ble_connected ,queue 
+3c55 afefffff qisolate1 pdata 
+3c56 79208405 setflag true ,5 ,temp 
+3c57 6800c682 fetch 1 ,mem_ui_state_map 
+3c58 d8e00004 arg ui_state_bt_spp_conn ,queue 
+3c59 afefffff qisolate1 pdata 
+3c5a 79208404 setflag true ,4 ,temp 
+3c5b e1488000 istoret 1 ,contwu 
+3c5c 202066c5 branch uartd_send 
+
+module_hci_read_bt_status:
+3c5d d8400000 arg 0 ,temp 
+3c5e 6800c093 fetch 1 ,mem_scan_mode 
+3c5f d8e00000 arg inq_scan_mode ,queue 
+3c60 afefffff qisolate1 pdata 
+3c61 79208400 setflag true ,0 ,temp 
+3c62 d8e00001 arg page_scan_mode ,queue 
+3c63 afefffff qisolate1 pdata 
+3c64 79208401 setflag true ,1 ,temp 
+3c65 6800c36e fetch 1 ,mem_le_adv_enable 
+3c66 d8e00000 arg 0 ,queue 
+3c67 afefffff qisolate1 pdata 
+3c68 79208402 setflag true ,2 ,temp 
+3c69 20600000 rtn 
+
+module_hci_event_store_device:
+3c6a 700b030d jam hci_event_nvram_rep ,mem_module_uart_opcode 
+3c6b 6800c217 fetch 1 ,mem_nv_data_number 
+3c6c 1feffe22 mul32 pdata ,34 ,pdata 
+3c6d 1fe27200 icopy loopcnt 
+3c6e 20403ca7 call module_hci_prepare_tx 
+3c6f 68014215 fetch 2 ,mem_nv_data_ptr 
+3c70 1fe20c00 icopy contr 
+3c71 204066d1 call uart_copy_tx_bytes_fast 
+3c72 202066c5 branch uartd_send 
+
+module_hci_event_gkey_generate:
+3c73 700b030e jam hci_event_gkey ,mem_module_uart_opcode 
+3c74 58000004 setarg 4 
+3c75 20403ca7 call module_hci_prepare_tx 
+3c76 680209ba fetch 4 ,mem_gkey 
+3c77 e1420000 istore 4 ,contwu 
+3c78 202066c5 branch uartd_send 
+
+module_hci_event_invalid_packet:
+3c79 700b030f jam hci_event_invalid_packet ,mem_module_uart_opcode 
+3c7a 68110112 hfetch 2 ,core_uart_rxitems 
+3c7b d84000ff arg 0xff ,temp 
+3c7c 20407fdd call not_greater_than 
+3c7d 1fe27200 copy pdata ,loopcnt 
+3c7e 20403ca7 call module_hci_prepare_tx 
+3c7f 204066cb call uartd_prepare_rx 
+3c80 20406703 call uart_copy_rx2tx 
+3c81 202066c5 branch uartd_send 
+
+module_hci_event_passkey_entry_mode:
+3c82 700b0310 jam hci_event_get_passkey ,mem_module_uart_opcode 
+3c83 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_tk:
+3c84 700b0311 jam hci_event_le_tk ,mem_module_uart_opcode 
+3c85 58000004 setarg 4 
+3c86 20403ca7 call module_hci_prepare_tx 
+3c87 680244c7 fetch 4 ,mem_le_tk 
+3c88 e1420000 istore 4 ,contwu 
+3c89 202066c5 branch uartd_send 
+
+module_hci_event_le_pairing_fail:
+3c8a da200180 arg flag_ble_pairing_fail ,rega 
+3c8b 20203c91 branch module_hci_event_pairing_completed 
+
+module_hci_event_le_pairing_success:
+3c8c da200080 arg flag_ble_pairing_success ,rega 
+3c8d 20203c91 branch module_hci_event_pairing_completed 
+
+module_hci_event_bt_pairing_fail:
+3c8e da200101 arg flag_bt_pairing_fail ,rega 
+3c8f 20203c91 branch module_hci_event_pairing_completed 
+
+module_hci_event_bt_pairing_success:
+3c90 da200001 arg flag_bt_pairing_success ,rega 
+
+module_hci_event_pairing_completed:
+3c91 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+3c92 700b0314 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+3c93 58000002 setarg 2 
+3c94 20403ca7 call module_hci_prepare_tx 
+3c95 1a227e00 copy rega ,pdata 
+3c96 e1410000 istore 2 ,contwu 
+3c97 202066c5 branch uartd_send 
+
+module_hci_event_pause_enc:
+3c98 da600000 arg flag_event_pause_enc ,regc 
+3c99 20203c9b branch module_hci_event_enc 
+
+module_hci_event_start_enc:
+3c9a da600001 arg flag_event_start_enc ,regc 
+
+module_hci_event_enc:
+3c9b 700b0315 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+3c9c 58000001 setarg 1 
+3c9d 20403ca7 call module_hci_prepare_tx 
+3c9e 1a627e00 copy regc ,pdata 
+3c9f e1408000 istore 1 ,contwu 
+3ca0 202066c5 branch uartd_send 
+
+module_hci_event_le_gkey:
+3ca1 700b031d jam hci_event_le_gkey ,mem_module_uart_opcode 
+3ca2 58000004 setarg 4 
+3ca3 20403ca7 call module_hci_prepare_tx 
+3ca4 680209ba fetch 4 ,mem_gkey 
+3ca5 e1420000 istore 4 ,contwu 
+3ca6 202066c5 branch uartd_send 
+
+module_hci_prepare_tx:
+3ca7 700b0202 jam 0x02 ,mem_module_uart_cmd 
+3ca8 60008b04 store 1 ,mem_module_uart_len 
+3ca9 600c0aa2 storet 8 ,mem_temp 
+3caa 44f1401c bpatch patch1c_2 ,mem_patch1c 
+3cab 20403cb1 call module_set_mcu_wake_pin_high_delay 
+3cac 680c0aa2 fetcht 8 ,mem_temp 
+3cad 204066c2 call uartd_prepare_tx 
+3cae 68018b02 fetch 3 ,mem_module_uart_cmd 
+3caf e1418000 istore 3 ,contwu 
+3cb0 20600000 rtn 
+
+module_set_mcu_wake_pin_high_delay:
+3cb1 20403cba call module_check_mcu_wake_pin_high 
+3cb2 20608000 rtn true 
+
+module_set_mcu_wake_pin_h_delay:
+3cb3 20403cb8 call module_set_mcu_wake_pin_high 
+3cb4 680246a3 fetch 4 ,mem_module_mcu_wake_delay_us 
+3cb5 1feb7e00 rshift2 pdata ,pdata 
+3cb6 207a0000 rtn blank 
+3cb7 20203cbe branch delay 
+
+module_set_mcu_wake_pin_high:
+3cb8 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3cb9 20206829 branch gpio_out_active 
+
+module_check_mcu_wake_pin_high:
+3cba 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3cbb 2020681b branch gpio_check_active 
+
+module_set_mcu_wake_pin_low:
+3cbc 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3cbd 20206825 branch gpio_out_inactive 
+
+delay:
+3cbe 1fe0ffff increase -1 ,pdata 
+3cbf 20000026 nop 38 
+3cc0 243a3cbe nbranch delay ,blank 
+3cc1 20600000 rtn 
+
+module_le_receive_data:
+3cc2 20403ad4 call module_check_ble_encrypt_state 
+3cc3 20740000 rtn user 
+3cc4 1a227e00 copy rega ,pdata 
+3cc5 600146b7 store 2 ,mem_module_le_rx_data_address 
+3cc6 1a427e00 copy regb ,pdata 
+3cc7 6000c6b6 store 1 ,mem_module_le_rx_data_len 
+3cc8 68010478 fetch 2 ,mem_le_att_handle 
+3cc9 680946bb fetcht 2 ,mem_module_data_write_handle 
+3cca 98467c00 isub temp ,null 
+3ccb 2022bccf branch module_le_receive_data_ok ,zero 
+3ccc 680946bd fetcht 2 ,mem_module_data_write_handle2 
+3ccd 98467c00 isub temp ,null 
+3cce 24628000 nrtn zero 
+
+module_le_receive_data_ok:
+3ccf 600146b9 store 2 ,mem_module_le_rx_data_handle 
+3cd0 20203c3d branch module_hci_event_receive_le_data 
+
+module_exit_sniff:
+3cd1 6800c6bf fetch 1 ,mem_module_flag 
+3cd2 c3828000 rtnbit1 moudle_task_unsniff 
+3cd3 20403cf0 call module_set_unsniff_task_flag 
+3cd4 2020340c branch app_bt_sniff_exit 
+
+module_set_lpm_mult_2:
+3cd5 70417202 jam 2 ,mem_lpm_mult 
+3cd6 20600000 rtn 
+
+module_bb_event_timer:
+3cd7 20203cd8 branch module_read_vdd_timer 
+
+module_read_vdd_timer:
+3cd8 6800c6b2 fetch 1 ,mem_module_read_vdd_flag 
+3cd9 207a0000 rtn blank 
+3cda 6800c6b3 fetch 1 ,mem_module_read_vdd_count 
+3cdb 207a0000 rtn blank 
+3cdc 1fe0ffff increase -1 ,pdata 
+3cdd 6000c6b3 store 1 ,mem_module_read_vdd_count 
+3cde 247a0000 nrtn blank 
+3cdf 7046b30a jam flag_module_read_vdd_count ,mem_module_read_vdd_count 
+3ce0 204068eb call adc_set_mode 
+3ce1 20406908 call vdd_calculate_by_mode 
+3ce2 1fe6fc64 div pdata ,0x64 
+3ce3 20407f86 call wait_div_end 
+3ce4 1807fe00 quotient pdata 
+3ce5 18070400 remainder temp 
+3ce6 6000c6b4 store 1 ,mem_module_vdd_quotient 
+3ce7 6008c6b5 storet 1 ,mem_module_vdd_remainder 
+3ce8 20600000 rtn 
+
+module_control_air_flow:
+3ce9 20407fb4 call check_uart_tx_buff 
+3cea 202133d9 branch app_l2cap_flow_control_enable ,positive 
+3ceb 202033db branch app_l2cap_flow_control_disable 
+
+module_set_sniff_task_flag:
+3cec d8e00006 arg moudle_task_sniff ,queue 
+3ced 20203cfc branch module_set_state 
+
+module_clear_sniff_task_flag:
+3cee d8e00006 arg moudle_task_sniff ,queue 
+3cef 20203cf8 branch module_clr_state 
+
+module_set_unsniff_task_flag:
+3cf0 d8e00005 arg moudle_task_unsniff ,queue 
+3cf1 20203cfc branch module_set_state 
+
+module_clear_unsniff_task_flag:
+3cf2 d8e00005 arg moudle_task_unsniff ,queue 
+3cf3 20203cf8 branch module_clr_state 
+
+module_set_le_tx_data_flag:
+3cf4 d8e00004 arg module_flag_ble_data_finish ,queue 
+3cf5 20203cfc branch module_set_state 
+
+module_clear_le_tx_data_flag:
+3cf6 d8e00004 arg module_flag_ble_data_finish ,queue 
+3cf7 20203cf8 branch module_clr_state 
+
+module_clr_state:
+3cf8 6800c6bf fetch 1 ,mem_module_flag 
+3cf9 f93ffe00 qset0 pdata 
+3cfa 6000c6bf store 1 ,mem_module_flag 
+3cfb 20600000 rtn 
+
+module_set_state:
+3cfc 6800c6bf fetch 1 ,mem_module_flag 
+3cfd f9207e00 qset1 pdata 
+3cfe 6000c6bf store 1 ,mem_module_flag 
+3cff 20600000 rtn 
+
+mouse_init:
+3d00 20403d39 call mouse_setting_config 
+3d01 2040640f call spi_ncs_enable 
+3d02 204040c6 call mouse_init_sunt 
+3d03 20403d66 call mouse_dpi_config 
+3d04 20406411 call spi_ncs_disable 
+3d05 20758000 rtn wake 
+3d06 20403d16 call mouse_cheak_enable_usb 
+3d07 20403d19 call mouse_cb_fuction 
+3d08 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d09 c3880000 rtnbit1 mouse_enable_usb 
+3d0a 20403d4e call mouse_wakeup_from_power 
+3d0b c6130000 rtnmark1 mark_24g 
+3d0c 68014682 fetch 2 ,mem_ui_state_map 
+3d0d c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
+3d0e 202042a2 branch mouse_check_reconn_target 
+
+mouse_delay_4s:
+3d0f 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d10 c40d8000 rtnbit0 mouse_enable_init_delay 
+3d11 df200014 arg 20 ,loopcnt 
+
+mouse_delay_20ms:
+3d12 58030d40 setarg 200000 
+3d13 20402a8f call sleep 
+3d14 c2007ec1 loop delay_10ms 
+3d15 20600000 rtn 
+
+mouse_cheak_enable_usb:
+3d16 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d17 c4080000 rtnbit0 mouse_enable_usb 
+3d18 202048ea branch usb_init 
+
+mouse_cb_fuction:
+3d19 5800416d setarg mouse_le 
+3d1a 600141ef store 2 ,mem_cb_le_process 
+3d1b 58003f77 setarg mouse_send_process 
+3d1c 600141f1 store 2 ,mem_cb_bt_process 
+3d1d 58003ebb setarg mouse_process_lpm_before 
+3d1e 600141ed store 2 ,mem_cb_before_lpm 
+3d1f 5800417c setarg mouse_priority_bb_event 
+3d20 600141f5 store 2 ,mem_cb_bb_event_process 
+3d21 58003de3 setarg mouse_idle 
+3d22 600141f3 store 2 ,mem_cb_idle_process 
+3d23 58003eb3 setarg mouse_before_hibernate 
+3d24 600141eb store 2 ,mem_cb_before_hibernate 
+3d25 58003d5b setarg le_mouse_bb_event_connect_complete 
+3d26 600141f9 store 2 ,mem_cb_att_write 
+3d27 20402c7a call g24_head_ptr2regc 
+3d28 58004401 setarg mouse_g24_package_data 
+3d29 1a608ad8 add regc ,offset_24g_cb_data ,contw 
+3d2a e0a10000 istore 2 ,contw 
+3d2b 58004406 setarg mouse_g24_enter_lpm 
+3d2c 1a608ada add regc ,offset_24g_cb_lpm_prepare ,contw 
+3d2d e0a10000 istore 2 ,contw 
+3d2e 58003ebf setarg mouse_lpm_before_common 
+3d2f 1a608adc add regc ,offset_24g_cb_lpm_before ,contw 
+3d30 e0a10000 istore 2 ,contw 
+3d31 580041f9 setarg mouse_bb_event_timer 
+3d32 600141fd store 2 ,mem_cb_event_timer 
+3d33 58003d36 setarg mouse_spi_write_flash_cb 
+3d34 60014201 store 2 ,mem_cb_spi_flash_write_complate 
+3d35 20600000 rtn 
+
+mouse_spi_write_flash_cb:
+
+mouse_spi_init:
+3d36 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d37 c30964d7 bbit0 mouse_enable_spi2 ,spid_init 
+3d38 202064da branch spid_init2 
+
+mouse_setting_config:
+3d39 20758000 rtn wake 
+3d3a 20402c9d call g24_set_device_addr 
+3d3b 20403e6e call mouse_gpio_init 
+3d3c 20403e1e call mouse_param_init 
+3d3d 20403e54 call mouse_adc_init 
+3d3e 20405810 call le_set_config_fixed_ltk 
+3d3f 20405839 call le_set_justwork 
+3d40 2040582c call le_set_fixed_ltk 
+3d41 20405818 call le_set_config_read_authentication 
+3d42 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d43 c28a3d46 bbit1 mouse_enable_eeprom ,mouse_init_iic 
+3d44 c289c414 bbit1 mouse_enable_flash ,mouse_load_flash_info_cheak 
+3d45 20600000 rtn 
+
+mouse_init_iic:
+3d46 2040659c call iic_init_390k 
+3d47 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d48 2feffe19 isolate1 mouse_enable_2k_eeprom ,pdata 
+3d49 2440e5c2 ncall clear_eeprom_size_2k ,true 
+3d4a 2040443f call mouse_load_eeprom_dpi 
+3d4b 20403dc9 call mouse_init_environment 
+3d4c 204041aa call mouse_set_24g_addr_eeprom 
+3d4d 202065df branch iicd_read_eep_data 
+
+mouse_wakeup_from_power:
+3d4e 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d4f c30f3d53 bbit0 mouse_enable_wakeup_from_power ,mouse_wakeup_no_from_power 
+3d50 68008abd fetch 1 ,mem_wakup_from_power_flag 
+3d51 2fec0003 isolate0 gpio_latch ,pdata 
+3d52 24608000 nrtn true 
+
+mouse_wakeup_no_from_power:
+3d53 6800c71f fetch 1 ,mem_reconn_times_init 
+3d54 6000c71e store 1 ,mem_reconn_times 
+3d55 6800c6f5 fetch 1 ,mem_config_function_enable 
+3d56 c3830000 rtnbit1 enable_select_device_by_switch 
+
+mouse_start_24g_mode:
+3d57 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d58 c4088000 rtnbit0 mouse_enable_24g 
+3d59 c28eaee4 bbit1 mouse_enable_auto_24g_paring ,g24_auto_pair_start 
+3d5a 20202f2c branch g24_check_51cmd_start_24g 
+
+le_mouse_bb_event_connect_complete:
+3d5b 68008478 fetch 1 ,mem_le_att_handle 
+3d5c 1fe67e1a sub pdata ,26 ,pdata 
+3d5d 24628000 nrtn zero 
+3d5e 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+3d5f 20407d8f call ui_ipc_send_cmd 
+3d60 d8e00000 arg write_req_enable_flag ,queue 
+3d61 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_dpi_up:
+3d62 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+3d63 c1008000 rtneq dpi_button_state_up 
+3d64 7046b601 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+3d65 20600000 rtn 
+
+mouse_dpi_config:
+3d66 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+3d67 1fe17e0f and pdata ,0x0f ,pdata 
+3d68 6000c77a store 1 ,mem_mouse_dpi 
+3d69 20203d80 branch mouse_seting_dpi + 2 
+
+mouse_dpi_cheak:
+3d6a 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+3d6b 2040681d call gpio_get_bit 
+3d6c 2420bd62 nbranch mouse_dpi_up ,true 
+
+mouse_dpi_down:
+3d6d 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+3d6e c1000000 rtneq dpi_button_state_down 
+3d6f 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+3d70 6800c77a fetch 1 ,mem_mouse_dpi 
+3d71 1fe0fe01 increase 1 ,pdata 
+3d72 1fe17e03 and pdata ,0x03 ,pdata 
+3d73 6000c77a store 1 ,mem_mouse_dpi 
+3d74 20403d7e call mouse_seting_dpi 
+3d75 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d76 c28a443b bbit1 mouse_enable_eeprom ,mouse_store_eerpom_dpi 
+3d77 c289bd79 bbit1 mouse_enable_flash ,mouse_before_store_flash_cpi 
+3d78 20600000 rtn 
+
+mouse_before_store_flash_cpi:
+3d79 d840001e arg mouse_spi2_clk_gpio ,temp 
+3d7a 2040680e call gpio_config_output 
+3d7b d840001f arg mouse_spi2_sdio_gpio ,temp 
+3d7c 2040680e call gpio_config_output 
+3d7d 20204435 branch mouse_store_flash_device_info 
+
+mouse_seting_dpi:
+3d7e 44f1c01c bpatch patch1c_3 ,mem_patch1c 
+3d7f 2040424a call mosue_dpi_led_blink_init 
+3d80 6800c6e0 fetch 1 ,mem_config_sensor_type 
+3d81 c002bdaa beq p3610 ,mouse_seting_3610_dpi 
+3d82 c0023d96 beq p3212 ,mouse_seting_3212_dpi 
+3d83 6800c77a fetch 1 ,mem_mouse_dpi 
+3d84 c0003d8a beq mouse_dpi_level1 ,mouse_set_cpi1 
+3d85 c000bd88 beq mouse_dpi_level2 ,mouse_set_cpi2 
+3d86 c0013d8c beq mouse_dpi_level3 ,mouse_set_cpi3 
+3d87 c001bd8e beq mouse_dpi_level4 ,mouse_set_cpi4 
+
+mouse_set_cpi2:
+3d88 6800c780 fetch 1 ,mem_320x_dpi_2 
+3d89 20203dbe branch mouse_p3205_dpi 
+
+mouse_set_cpi1:
+3d8a 6800c77f fetch 1 ,mem_320x_dpi_1 
+3d8b 20203dbe branch mouse_p3205_dpi 
+
+mouse_set_cpi3:
+3d8c 6800c781 fetch 1 ,mem_320x_dpi_3 
+3d8d 20203dbe branch mouse_p3205_dpi 
+
+mouse_set_cpi4:
+3d8e 6800c782 fetch 1 ,mem_320x_dpi_4 
+3d8f 20203dbe branch mouse_p3205_dpi 
+
+moue_seting_cpi_count:
+3d90 6800c6e0 fetch 1 ,mem_config_sensor_type 
+3d91 c1030000 rtneq p3065_xy 
+3d92 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+3d93 1fe0fe01 increase 1 ,pdata 
+3d94 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3d95 20600000 rtn 
+
+mouse_seting_3212_dpi:
+3d96 6800c77a fetch 1 ,mem_mouse_dpi 
+3d97 c0003d9d beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+3d98 c000bd9b beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+3d99 c0013d9f beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
+3d9a c001bda1 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+
+mouse_set_p3212_cpi2:
+3d9b 6800c784 fetch 1 ,mem_3212_dpi_2 
+3d9c 20203da2 branch mouse_p3212_dpi 
+
+mouse_set_p3212_cpi1:
+3d9d 6800c783 fetch 1 ,mem_3212_dpi_1 
+3d9e 20203da2 branch mouse_p3212_dpi 
+
+mouse_set_p3212_cpi3:
+3d9f 6800c785 fetch 1 ,mem_3212_dpi_3 
+3da0 20203da2 branch mouse_p3212_dpi 
+
+mouse_set_p3212_cpi4:
+3da1 6800c786 fetch 1 ,mem_3212_dpi_4 
+
+mouse_p3212_dpi:
+3da2 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3da3 1fed7e00 lshift8 pdata ,pdata 
+3da4 1fe22200 copy pdata ,rega 
+3da5 1fe0fe0d add pdata ,mouse_p3212_dpi_xaddress ,pdata 
+3da6 20406413 call twspi_write 
+3da7 1a227e00 copy rega ,pdata 
+3da8 1fe0fe0e add pdata ,mouse_p3212_dpi_yaddress ,pdata 
+3da9 20206413 branch twspi_write 
+
+mouse_seting_3610_dpi:
+3daa 6800c77a fetch 1 ,mem_mouse_dpi 
+3dab c0003db1 beq mouse_dpi_level1 ,mouse_set_p3610_cpi1 
+3dac c000bdaf beq mouse_dpi_level2 ,mouse_set_p3610_cpi2 
+3dad c0013db3 beq mouse_dpi_level3 ,mouse_set_p3610_cpi3 
+3dae c001bdb5 beq mouse_dpi_level4 ,mouse_set_p3610_cpi4 
+
+mouse_set_p3610_cpi2:
+3daf 6800c788 fetch 1 ,mem_3610_dpi_2 
+3db0 20203db6 branch mouse_p3610_dpi 
+
+mouse_set_p3610_cpi1:
+3db1 6800c787 fetch 1 ,mem_3610_dpi_1 
+3db2 20203db6 branch mouse_p3610_dpi 
+
+mouse_set_p3610_cpi3:
+3db3 6800c789 fetch 1 ,mem_3610_dpi_3 
+3db4 20203db6 branch mouse_p3610_dpi 
+
+mouse_set_p3610_cpi4:
+3db5 6800c78a fetch 1 ,mem_3610_dpi_4 
+
+mouse_p3610_dpi:
+3db6 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3db7 204040c0 call mouse_spi_sdio_gpio_pollup 
+3db8 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+
+mouse_reset_p3610_dpi:
+3db9 1fe0fe80 add pdata ,0x80 ,pdata 
+3dba 1fed7e00 lshift8 pdata ,pdata 
+3dbb 1fe0fe05 add pdata ,mouse_p3610_dpi_address ,pdata 
+3dbc 1fe22200 copy pdata ,rega 
+3dbd 2020415a branch mouse_set_sensor_reg 
+
+mouse_p3205_dpi:
+3dbe 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3dbf 20403d90 call moue_seting_cpi_count 
+3dc0 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+3dc1 58000006 setarg mouse_dpi_address 
+3dc2 20406414 call twspi_read 
+3dc3 1fe104f8 and pdata ,0xf8 ,temp 
+3dc4 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+3dc5 9840fe00 iadd temp ,pdata 
+3dc6 1fed7e00 lshift8 pdata ,pdata 
+3dc7 1fe0fe06 add pdata ,mouse_dpi_address ,pdata 
+3dc8 20206413 branch twspi_write 
+
+mouse_init_environment:
+3dc9 204033c4 call app_initflag_check 
+3dca 2022c316 branch mouse_eeprom_load_recon_info ,zero 
+3dcb 2040441c call mouse_ble_init_address 
+3dcc 204042e4 call mouse_store_eeprom_device_info 
+3dcd 202033bd branch app_initflag_store 
+
+mouse_24g_pairing_button:
+3dce 68014707 fetch 2 ,mem_24g_pairing_timer_count 
+3dcf 207a0000 rtn blank 
+3dd0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3dd1 c4088000 rtnbit0 mouse_enable_24g 
+3dd2 c3818000 rtnbit1 mosue_24g_pairing_flag 
+3dd3 c6130000 rtnmark1 mark_24g 
+3dd4 20404083 call mouse_check_key_gpio 
+3dd5 c1838000 rtnne mouse_lmr_button 
+3dd6 20404482 call mouse_devce_led_off 
+3dd7 d8e00003 arg mosue_24g_pairing_flag ,queue 
+3dd8 204043ce call mouse_enable_function_flag 
+3dd9 58000000 setarg 0 
+3dda 600146ae store 2 ,mem_mouse_direct_timer 
+3ddb 6000c6b4 store 1 ,mem_mouse_send_blank_timer 
+3ddc 20403263 call g24_set0_mem_check_dongle_times 
+3ddd 68014682 fetch 2 ,mem_ui_state_map 
+3dde c283c392 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+3ddf c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+3de0 c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+3de1 204042ca call mouse_stop_discovery 
+3de2 20202ead branch g24_start_pairing_sm1 
+
+mouse_idle:
+3de3 20403dce call mouse_24g_pairing_button 
+3de4 20407e34 call ui_check_paring_button 
+3de5 20403d6a call mouse_dpi_cheak 
+3de6 20403de9 call mouse_usb_isr 
+3de7 20403ee0 call mouse_wheel_check 
+3de8 20203df7 branch mouse_usb_mode 
+
+mouse_usb_isr:
+3de9 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3dea c4080000 rtnbit0 mouse_enable_usb 
+3deb 204048d3 call usb_isr 
+3dec 202048fd branch usb_offline_state 
+
+mouse_cheak_usb:
+3ded 68108a04 hfetch 1 ,core_usb_addr 
+3dee c303bdf1 bbit0 7 ,mouse_usb_no_exsit 
+3def c283bdf4 bbit1 7 ,mouse_usb_exsit 
+3df0 20600000 rtn 
+
+mouse_usb_no_exsit:
+3df1 6800c6ff fetch 1 ,mem_usb_addr 
+3df2 c4038000 rtnbit0 7 
+3df3 2020659a branch soft_reset_chip 
+
+mouse_usb_exsit:
+3df4 6800c6ff fetch 1 ,mem_usb_addr 
+3df5 c3838000 rtnbit1 7 
+3df6 20204381 branch mouse_stop_bluetooth_mode 
+
+mouse_usb_mode:
+3df7 20403ded call mouse_cheak_usb 
+3df8 68108a04 hfetch 1 ,core_usb_addr 
+3df9 6000c6ff store 1 ,mem_usb_addr 
+3dfa c4038000 rtnbit0 7 
+3dfb 20403e07 call mouse_clkn_check 
+3dfc 680246f9 fetch 4 ,mem_btclk_sensor 
+3dfd 6808c6fd fetcht 1 ,mem_wire_usb_interval 
+3dfe 98408400 iadd temp ,temp 
+3dff 1c427e00 copy clkn_bt ,pdata 
+3e00 98467c00 isub temp ,null 
+3e01 24610000 nrtn positive 
+3e02 600246f9 store 4 ,mem_btclk_sensor 
+3e03 20403f97 call mouse_motion 
+3e04 24740000 nrtn user 
+3e05 700d3804 jam 4 ,mem_usb_tx_enable 
+3e06 20203e0f branch mouse_wired_to_usb 
+
+mouse_clkn_check:
+3e07 680a46f9 fetcht 4 ,mem_btclk_sensor 
+3e08 1c427e00 copy clkn_bt ,pdata 
+3e09 98467c00 isub temp ,null 
+3e0a 24413e0c ncall mouse_clkn_timeout ,positive 
+3e0b 20600000 rtn 
+
+mouse_clkn_timeout:
+3e0c 58000000 setarg 0 
+3e0d 600246f9 store 4 ,mem_btclk_sensor 
+3e0e 20600000 rtn 
+
+mouse_wired_to_usb:
+3e0f 68008d38 fetch 1 ,mem_usb_tx_enable 
+3e10 c4010000 rtnbit0 2 
+3e11 20203e12 branch mouse_data_push 
+
+mouse_data_push:
+3e12 68108a04 hfetch 1 ,core_usb_addr 
+3e13 c4038000 rtnbit0 7 
+3e14 700d5220 jam usb_ep2_ms ,mem_usb_ep2_data 
+3e15 58000001 setarg ms_report_id 
+3e16 60008d54 store 1 ,mem_usb_mouse_data 
+3e17 6803c69a fetch 7 ,mem_mouse_key 
+3e18 e0a38000 istore 7 ,contw 
+3e19 20600000 rtn 
+
+mouse_enable_clock_qdecoder:
+3e1a 68110050 hfetch 2 ,core_clkoff 
+3e1b 793ffe0b set0 clock_off_qdecoder ,pdata 
+3e1c 60110050 hstore 2 ,core_clkoff 
+3e1d 20600000 rtn 
+
+mouse_param_init:
+3e1e 58008c00 setarg 0x8c00 
+3e1f 60014575 store 2 ,mem_ui_uuid_table 
+3e20 58008e7a setarg 0x8e7a 
+3e21 600144bc store 2 ,mem_ui_le_uuid_table 
+3e22 58002402 setarg 0x2402 
+3e23 600140bd store 2 ,mem_fcomp_mul 
+3e24 58002580 setarg 0x2580 
+3e25 6001c0aa store 3 ,mem_class 
+3e26 70417303 jam 3 ,mem_lpm_mult_timeout 
+3e27 70415608 jam 8 ,mem_lpm_overhead 
+3e28 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+3e29 58000200 setarg 0x0200 
+3e2a 60014154 store 2 ,mem_lpm_interval 
+3e2b 7044a617 jam 0x17 ,mem_le_local_mtu 
+3e2c 7044a817 jam 0x17 ,mem_le_remote_mtu 
+3e2d 58000a77 setarg 0x0a77 
+3e2e 60014212 store 2 ,mem_spi_init_clk 
+3e2f 38000306 setsect 0 ,0x306 
+3e30 38044440 setsect 1 ,0x4440 
+3e31 38090000 setsect 2 ,0x10000 
+3e32 380c4408 setsect 3 ,0x4408 
+3e33 6004c577 store 9 ,mem_all_uuid_16bits 
+3e34 38001224 setsect 0 ,0x1224 
+3e35 38044000 setsect 1 ,0x4000 
+3e36 38080000 setsect 2 ,0x0 
+3e37 e0a28000 istore 5 ,contw 
+3e38 3803ffff setsect 0 ,0x3ffff 
+3e39 3806fe23 setsect 1 ,0x2fe23 
+3e3a 380999d9 setsect 2 ,0x199d9 
+3e3b 380c020d setsect 3 ,0x20d 
+3e3c 60044098 store 8 ,mem_features 
+3e3d 5800012c setarg 0x012c 
+3e3e 60014707 store 2 ,mem_24g_pairing_timer_count 
+3e3f 204057a3 call le_modified_name 
+3e40 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3e41 c40f8000 rtnbit0 mouse_enable_gpio_control_adc_sensor 
+3e42 20403e44 call mouse_sensor_set_angle 
+3e43 20203e4c branch mouse_select_adc 
+
+mouse_sensor_set_angle:
+3e44 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+3e45 204067fb call gpio_config_input 
+3e46 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+3e47 2040681d call gpio_get_bit 
+3e48 7046f603 jam mouse_3clk_angle ,mem_config_sensor_angle 
+3e49 20608000 rtn true 
+3e4a 7046f602 jam mouse_12clk_angle ,mem_config_sensor_angle 
+3e4b 20600000 rtn 
+
+mouse_select_adc:
+3e4c 6808c6f8 fetcht 1 ,mem_select_adc_gpio 
+3e4d 204067fb call gpio_config_input 
+3e4e 6808c6f8 fetcht 1 ,mem_select_adc_gpio 
+3e4f 2040681d call gpio_get_bit 
+3e50 70422d00 jam adc_config_vinlpm ,mem_adc_config_flag 
+3e51 20608000 rtn true 
+3e52 70422d02 jam adc_config_gpio ,mem_adc_config_flag 
+3e53 20600000 rtn 
+
+mouse_adc_init:
+3e54 6800c22d fetch 1 ,mem_adc_config_flag 
+3e55 c0003e59 beq adc_config_vinlpm ,mouse_adc_init_data_vinlpm 
+3e56 c000be62 beq adc_config_hvin ,mouse_adc_init_data_hvin 
+3e57 c0013e6b beq adc_config_gpio ,mouse_adc_init_data_io 
+3e58 20203e59 branch mouse_adc_init_data_vinlpm 
+
+mouse_adc_init_data_vinlpm:
+3e59 68094221 fetcht 2 ,mem_2v_adc_vinlpm_data 
+3e5a 68014227 fetch 2 ,mem_3v_adc_vinlpm_data 
+3e5b 98467e00 isub temp ,pdata 
+3e5c 1feffe14 mul32 pdata ,20 ,pdata 
+3e5d 1fe6fc64 div pdata ,100 
+3e5e 20407f86 call wait_div_end 
+3e5f 1807fe00 quotient pdata 
+3e60 600146d0 store 2 ,mem_adc_reference_voltage 
+3e61 20600000 rtn 
+
+mouse_adc_init_data_hvin:
+3e62 6809421f fetcht 2 ,mem_1v_adc_hvin_data 
+3e63 68014225 fetch 2 ,mem_5v_adc_hvin_data 
+3e64 98467e00 isub temp ,pdata 
+3e65 1feffee6 mul32 pdata ,230 ,pdata 
+3e66 1fe6fd90 div pdata ,400 
+3e67 20407f86 call wait_div_end 
+3e68 1807fe00 quotient pdata 
+3e69 600146d0 store 2 ,mem_adc_reference_voltage 
+3e6a 20600000 rtn 
+
+mouse_adc_init_data_io:
+3e6b 68014223 fetch 2 ,mem_1v_adc_io_data 
+3e6c 600146d0 store 2 ,mem_adc_reference_voltage 
+3e6d 20600000 rtn 
+
+mouse_gpio_init:
+3e6e 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+3e6f 2040680e call gpio_config_output 
+3e70 204048fb call usb_offline_check_init 
+3e71 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+3e72 204067fb call gpio_config_input 
+3e73 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+3e74 204067fb call gpio_config_input 
+3e75 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+3e76 204067fb call gpio_config_input 
+3e77 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3e78 204067fb call gpio_config_input 
+3e79 6808c6dc fetcht 1 ,mem_sensor_reset_gpio 
+3e7a 2040680e call gpio_config_output 
+3e7b 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3e7c 204067fb call gpio_config_input 
+3e7d 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3e7e 204067fb call gpio_config_input 
+3e7f 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3e80 204067fb call gpio_config_input 
+3e81 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3e82 204067fb call gpio_config_input 
+3e83 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+3e84 204067fb call gpio_config_input 
+3e85 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+3e86 204067fb call gpio_config_input 
+3e87 6808c6ef fetcht 1 ,mem_config_low_voltage_alarm_gpio 
+3e88 2040680e call gpio_config_output 
+3e89 6808c6f0 fetcht 1 ,mem_config_device1_led_gpio 
+3e8a 2040680e call gpio_config_output 
+3e8b 6808c6f1 fetcht 1 ,mem_config_device2_led_gpio 
+3e8c 2040680e call gpio_config_output 
+3e8d 6808c6f2 fetcht 1 ,mem_config_device3_led_gpio 
+3e8e 2040680e call gpio_config_output 
+3e8f 6808c6f4 fetcht 1 ,mem_dpi_led_gpio 
+3e90 2040680e call gpio_config_output 
+3e91 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+3e92 204067fb call gpio_config_input 
+3e93 6808c6ec fetcht 1 ,mem_config_bt_button_gpio 
+3e94 204067fb call gpio_config_input 
+3e95 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+3e96 202067fb branch gpio_config_input 
+
+mouse_wheel_gpio_set_wake:
+3e97 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3e98 204067dd call gpio_set_wake_by_current_state 
+3e99 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3e9a 204067dd call gpio_set_wake_by_current_state 
+3e9b 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3e9c 204067dd call gpio_set_wake_by_current_state 
+3e9d 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3e9e 202067dd branch gpio_set_wake_by_current_state 
+
+mouse_before_hibernate_wheel_gpio_set:
+3e9f 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3ea0 20403ea7 call mouse_gpio_set_pupd_by_input 
+3ea1 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3ea2 20403ea7 call mouse_gpio_set_pupd_by_input 
+3ea3 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3ea4 20403ea7 call mouse_gpio_set_pupd_by_input 
+3ea5 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3ea6 20203ea7 branch mouse_gpio_set_pupd_by_input 
+
+mouse_gpio_set_pupd_by_input:
+3ea7 18467cff sub temp ,ui_button_gpio_disable ,null 
+3ea8 20628000 rtn zero 
+3ea9 18410e7f and temp ,0x7f ,queue 
+3eaa 6812011c hfetch 4 ,core_gpio_in 
+3eab afefffff qisolate1 pdata 
+3eac 68120078 hfetch 4 ,core_gpio_pu0 
+3ead f920fe00 qsetflag true ,pdata 
+3eae 60120078 hstore 4 ,core_gpio_pu0 
+3eaf 6812007c hfetch 4 ,core_gpio_pd0 
+3eb0 fd20fe00 nqsetflag true ,pdata 
+3eb1 6012007c hstore 4 ,core_gpio_pd0 
+3eb2 20600000 rtn 
+
+mouse_before_hibernate:
+3eb3 78347c00 enable user 
+3eb4 68120138 hfetch 4 ,0x8138 
+3eb5 79347e1a setflag user ,26 ,pdata 
+3eb6 6012004c hstore 4 ,core_lpm_reg 
+3eb7 20402c21 call lpm_write_ctrl 
+3eb8 20404482 call mouse_devce_led_off 
+3eb9 20403e9f call mouse_before_hibernate_wheel_gpio_set 
+3eba 20203ebf branch mouse_lpm_before_common 
+
+mouse_process_lpm_before:
+3ebb 20403ebf call mouse_lpm_before_common 
+3ebc 680080a0 fetch 1 ,mem_lpm_current_mult 
+3ebd 247a0000 nrtn blank 
+3ebe 202067ed branch gpio_clr_wake 
+
+mouse_lpm_before_common:
+3ebf 20403ee0 call mouse_wheel_check 
+3ec0 d8400019 arg mouse_spi1_clk_gpio ,temp 
+3ec1 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3ec2 2feffe12 isolate1 mouse_enable_spi2 ,pdata 
+3ec3 2040bede call mouse_spi_clk_gpio ,true 
+3ec4 2040680e call gpio_config_output 
+3ec5 204063ee call twspi_disable 
+3ec6 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+3ec7 204067dd call gpio_set_wake_by_current_state 
+3ec8 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+3ec9 204067dd call gpio_set_wake_by_current_state 
+3eca 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+3ecb 204067dd call gpio_set_wake_by_current_state 
+3ecc 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+3ecd 204067dd call gpio_set_wake_by_current_state 
+3ece 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+3ecf 204067dd call gpio_set_wake_by_current_state 
+3ed0 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+3ed1 204067dd call gpio_set_wake_by_current_state 
+3ed2 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+3ed3 204067dd call gpio_set_wake_by_current_state 
+3ed4 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3ed5 204067dd call gpio_set_wake_by_current_state 
+3ed6 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3ed7 204067dd call gpio_set_wake_by_current_state 
+3ed8 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3ed9 204067dd call gpio_set_wake_by_current_state 
+3eda 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3edb 204067dd call gpio_set_wake_by_current_state 
+3edc 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3edd 202067e1 branch gpio_set_wake 
+
+mouse_spi_clk_gpio:
+3ede d840001e arg mouse_spi2_clk_gpio ,temp 
+3edf 20600000 rtn 
+
+mouse_wheel_check:
+3ee0 44f2401c bpatch patch1c_4 ,mem_patch1c 
+3ee1 20403eee call mouse_t_wheel_scan 
+3ee2 20403f36 call mouse_wheel_scan 
+3ee3 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3ee4 6808c6b7 fetcht 1 ,mem_wheel_tb_old_pinlevel 
+3ee5 6000c6b7 store 1 ,mem_wheel_tb_old_pinlevel 
+3ee6 98467c00 isub temp ,null 
+3ee7 2422b3d4 nbranch app_lpm_wake_auto_lock ,zero 
+3ee8 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3ee9 6808c6bd fetcht 1 ,mem_mwheel_b_old_pinlevel 
+3eea 6000c6bd store 1 ,mem_mwheel_b_old_pinlevel 
+3eeb 98467c00 isub temp ,null 
+3eec 2422b3d4 nbranch app_lpm_wake_auto_lock ,zero 
+3eed 20600000 rtn 
+
+mouse_t_wheel_scan:
+3eee 6800c6ea fetch 1 ,mem_whee_ta_data_gpio 
+3eef c17f8000 rtneq gpio_disable 
+3ef0 da200000 arg 0 ,rega 
+3ef1 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3ef2 2040681d call gpio_get_bit 
+3ef3 7920a200 setflag true ,0 ,rega 
+3ef4 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3ef5 2040681d call gpio_get_bit 
+3ef6 7920a201 setflag true ,1 ,rega 
+3ef7 1a227e00 copy rega ,pdata 
+3ef8 6000c6b8 store 1 ,mem_wheel_tb_new_pinlevel 
+3ef9 c000befe beq 0x01 ,mouse_t_wheel_scan_judge1 
+3efa c0013f02 beq 0x02 ,mouse_t_wheel_scan_judge2 
+3efb 6800c6b9 fetch 1 ,mem_wheel_tog 
+3efc c283bf0e bbit1 7 ,mouse_t_wheel_scan_judge3 
+3efd 20600000 rtn 
+
+mouse_t_wheel_scan_judge1:
+3efe 6800c6b7 fetch 1 ,mem_wheel_tb_old_pinlevel 
+3eff c0003f06 beq 0 ,mouse_t_wheel_scan_judge11 
+3f00 c001bf08 beq 3 ,mouse_t_wheel_scan_judge12 
+3f01 20600000 rtn 
+
+mouse_t_wheel_scan_judge2:
+3f02 6800c6b7 fetch 1 ,mem_wheel_tb_old_pinlevel 
+3f03 c0003f0a beq 0 ,mouse_t_wheel_scan_judge21 
+3f04 c001bf0c beq 3 ,mouse_t_wheel_scan_judge22 
+3f05 20600000 rtn 
+
+mouse_t_wheel_scan_judge11:
+3f06 7046b982 jam 0x82 ,mem_wheel_tog 
+3f07 20600000 rtn 
+
+mouse_t_wheel_scan_judge12:
+3f08 7046b981 jam 0x81 ,mem_wheel_tog 
+3f09 20600000 rtn 
+
+mouse_t_wheel_scan_judge21:
+3f0a 7046b980 jam 0x80 ,mem_wheel_tog 
+3f0b 20600000 rtn 
+
+mouse_t_wheel_scan_judge22:
+3f0c 7046b983 jam 0x83 ,mem_wheel_tog 
+3f0d 20600000 rtn 
+
+mouse_t_wheel_scan_judge3:
+3f0e 6800c6b9 fetch 1 ,mem_wheel_tog 
+3f0f 793ffe07 set0 7 ,pdata 
+3f10 6000c6b9 store 1 ,mem_wheel_tog 
+3f11 c0003f16 beq 0 ,mouse_t_wheel_scan_judge30 
+3f12 c000bf19 beq 1 ,mouse_t_wheel_scan_judge31 
+3f13 c0013f1c beq 2 ,mouse_t_wheel_scan_judge32 
+3f14 c001bf1f beq 3 ,mouse_t_wheel_scan_judge33 
+3f15 20600000 rtn 
+
+mouse_t_wheel_scan_judge30:
+3f16 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f17 c001bf22 beq 3 ,mouse_wheel_t_forward 
+3f18 20600000 rtn 
+
+mouse_t_wheel_scan_judge31:
+3f19 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f1a c0003f22 beq 0 ,mouse_wheel_t_forward 
+3f1b 20600000 rtn 
+
+mouse_t_wheel_scan_judge32:
+3f1c 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f1d c001bf2c beq 3 ,mouse_wheel_t_back 
+3f1e 20600000 rtn 
+
+mouse_t_wheel_scan_judge33:
+3f1f 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f20 c0003f2c beq 0 ,mouse_wheel_t_back 
+3f21 20600000 rtn 
+
+mouse_wheel_t_forward:
+3f22 6800c6bc fetch 1 ,mem_mouse_tz_data_count1 
+3f23 1fe0fe01 increase 1 ,pdata 
+3f24 6000c6bc store 1 ,mem_mouse_tz_data_count1 
+3f25 1fe67c01 sub pdata ,1 ,null 
+3f26 20610000 rtn positive 
+3f27 7046bc00 jam 0 ,mem_mouse_tz_data_count1 
+3f28 6800c6ba fetch 1 ,mem_mouse_tz_data 
+3f29 1fe0fe01 increase 1 ,pdata 
+3f2a 6000c6ba store 1 ,mem_mouse_tz_data 
+3f2b 20600000 rtn 
+
+mouse_wheel_t_back:
+3f2c 6800c6bb fetch 1 ,mem_mouse_tz_data_count 
+3f2d 1fe0fe01 increase 1 ,pdata 
+3f2e 6000c6bb store 1 ,mem_mouse_tz_data_count 
+3f2f 1fe67c01 sub pdata ,1 ,null 
+3f30 20610000 rtn positive 
+3f31 7046bb00 jam 0 ,mem_mouse_tz_data_count 
+3f32 6800c6ba fetch 1 ,mem_mouse_tz_data 
+3f33 1fe0ffff increase -1 ,pdata 
+3f34 6000c6ba store 1 ,mem_mouse_tz_data 
+3f35 20600000 rtn 
+
+mouse_wheel_scan:
+3f36 6800c6e8 fetch 1 ,mem_whee_a_data_gpio 
+3f37 c17f8000 rtneq gpio_disable 
+3f38 da200000 arg 0 ,rega 
+3f39 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3f3a 2040681d call gpio_get_bit 
+3f3b 7920a200 setflag true ,0 ,rega 
+3f3c 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3f3d 2040681d call gpio_get_bit 
+3f3e 7920a201 setflag true ,1 ,rega 
+3f3f 1a227e00 copy rega ,pdata 
+3f40 6000c6be store 1 ,mem_mwheel_b_new_pinlevel 
+3f41 c000bf46 beq 0x01 ,mouse_wheel_scan_judge1 
+3f42 c0013f4a beq 0x02 ,mouse_wheel_scan_judge2 
+3f43 6800c6bf fetch 1 ,mem_mwheel_tog 
+3f44 c283bf56 bbit1 7 ,mouse_wheel_scan_judge3 
+3f45 20600000 rtn 
+
+mouse_wheel_scan_judge1:
+3f46 6800c6bd fetch 1 ,mem_mwheel_b_old_pinlevel 
+3f47 c0003f4e beq 0 ,mouse_wheel_scan_judge11 
+3f48 c001bf50 beq 3 ,mouse_wheel_scan_judge12 
+3f49 20600000 rtn 
+
+mouse_wheel_scan_judge2:
+3f4a 6800c6bd fetch 1 ,mem_mwheel_b_old_pinlevel 
+3f4b c0003f52 beq 0 ,mouse_wheel_scan_judge21 
+3f4c c001bf54 beq 3 ,mouse_wheel_scan_judge22 
+3f4d 20600000 rtn 
+
+mouse_wheel_scan_judge11:
+3f4e 7046bf82 jam 0x82 ,mem_mwheel_tog 
+3f4f 20600000 rtn 
+
+mouse_wheel_scan_judge12:
+3f50 7046bf81 jam 0x81 ,mem_mwheel_tog 
+3f51 20600000 rtn 
+
+mouse_wheel_scan_judge21:
+3f52 7046bf80 jam 0x80 ,mem_mwheel_tog 
+3f53 20600000 rtn 
+
+mouse_wheel_scan_judge22:
+3f54 7046bf83 jam 0x83 ,mem_mwheel_tog 
+3f55 20600000 rtn 
+
+mouse_wheel_scan_judge3:
+3f56 6800c6bf fetch 1 ,mem_mwheel_tog 
+3f57 793ffe07 set0 7 ,pdata 
+3f58 6000c6bf store 1 ,mem_mwheel_tog 
+3f59 c0003f5e beq 0 ,mouse_wheel_scan_judge30 
+3f5a c000bf61 beq 1 ,mouse_wheel_scan_judge31 
+3f5b c0013f64 beq 2 ,mouse_wheel_scan_judge32 
+3f5c c001bf67 beq 3 ,mouse_wheel_scan_judge33 
+3f5d 20600000 rtn 
+
+mouse_wheel_scan_judge30:
+3f5e 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f5f c001bf6a beq 3 ,mouse_wheel_forward 
+3f60 20600000 rtn 
+
+mouse_wheel_scan_judge31:
+3f61 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f62 c0003f6a beq 0 ,mouse_wheel_forward 
+3f63 20600000 rtn 
+
+mouse_wheel_scan_judge32:
+3f64 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f65 c001bf6f beq 3 ,mouse_wheel_back 
+3f66 20600000 rtn 
+
+mouse_wheel_scan_judge33:
+3f67 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f68 c0003f6f beq 0 ,mouse_wheel_back 
+3f69 20600000 rtn 
+
+mouse_wheel_forward:
+3f6a 7046c200 jam 0 ,mem_mouse_z_data_count1 
+3f6b 6800c6c0 fetch 1 ,mem_mouse_z_data 
+3f6c 1fe0fe01 increase 1 ,pdata 
+3f6d 6000c6c0 store 1 ,mem_mouse_z_data 
+3f6e 20600000 rtn 
+
+mouse_wheel_back:
+3f6f 7046c100 jam 0 ,mem_mouse_z_data_count 
+3f70 6800c6c0 fetch 1 ,mem_mouse_z_data 
+3f71 1fe0ffff increase -1 ,pdata 
+3f72 6000c6c0 store 1 ,mem_mouse_z_data 
+3f73 20600000 rtn 
+
+mouse_hid_connected:
+3f74 58000002 setarg hid_handshake_timeout 
+3f75 6000c680 store 1 ,mem_hid_handshake_timer_count 
+3f76 20600000 rtn 
+
+mouse_send_process:
+3f77 6800c1e2 fetch 1 ,mem_app_handshake_flag 
+3f78 207a0000 rtn blank 
+3f79 20405271 call l2cap_malloc_is_fifo_nearly_full 
+3f7a 247a0000 nrtn blank 
+3f7b 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3f7c c281bf8a bbit1 mosue_24g_pairing_flag ,mouse_send_empty_data 
+3f7d c2803f8a bbit1 mouse_select_device_flag ,mouse_send_empty_data 
+3f7e c282bf8a bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+3f7f 20403f97 call mouse_motion 
+3f80 24740000 nrtn user 
+
+mouse_send_data:
+3f81 da200009 arg 9 ,rega 
+3f82 20404d63 call hid_malloc_tx_buff 
+3f83 6801424e fetch 2 ,mem_hid_int_remote_cid 
+3f84 e0a10000 istore 2 ,contw 
+3f85 580002a1 setarg 0x02a1 
+3f86 e0a10000 istore 2 ,contw 
+3f87 6803c69a fetch 7 ,mem_mouse_key 
+3f88 e0a38000 istore 7 ,contw 
+3f89 20600000 rtn 
+
+mouse_send_empty_data:
+3f8a 58000000 setarg 0 
+3f8b 6003c69a store 7 ,mem_mouse_key 
+3f8c 20203f81 branch mouse_send_data 
+
+mouse_no_data_timer_init:
+3f8d 680146aa fetch 2 ,mem_mouse_no_data_timeout 
+3f8e 600146b0 store 2 ,mem_mouse_no_data_timer 
+3f8f 20600000 rtn 
+
+mouse_fill_data_le:
+3f90 44f2c01c bpatch patch1c_5 ,mem_patch1c 
+3f91 da200007 arg 7 ,rega 
+3f92 6809446f fetcht 2 ,mem_le_notify_handle 
+3f93 20405a64 call le_att_malloc_tx_notify 
+3f94 6803c69a fetch 7 ,mem_mouse_key 
+3f95 e0a38000 istore 7 ,contw 
+3f96 20600000 rtn 
+
+mouse_motion:
+3f97 44f3401c bpatch patch1c_6 ,mem_patch1c 
+3f98 78547c00 disable user 
+3f99 58000000 setarg 0 
+3f9a 6003469b store 6 ,mem_mouse_x 
+3f9b 20403fb5 call mouse_cheak_sensor_data 
+3f9c 20404079 call mouse_zwheel 
+3f9d 2040407e call mouse_t_zwheel 
+3f9e 20404099 call mouse_key 
+3f9f 24740000 nrtn user 
+3fa0 20403f8d call mouse_no_data_timer_init 
+3fa1 d8e00008 arg mouse_statue_up_flag ,queue 
+3fa2 202043ce branch mouse_enable_function_flag 
+
+motion_6clk_direction_dispose:
+3fa3 6801469b fetch 2 ,mem_mouse_x 
+3fa4 1fe67e00 sub pdata ,0 ,pdata 
+3fa5 6001469b store 2 ,mem_mouse_x 
+3fa6 20207fe7 branch enable_user 
+
+motion_12clk_direction_dispose:
+3fa7 6801469d fetch 2 ,mem_mouse_y 
+3fa8 1fe67e00 sub pdata ,0 ,pdata 
+3fa9 6001469d store 2 ,mem_mouse_y 
+3faa 20207fe7 branch enable_user 
+
+motion_9clk_direction_dispose:
+3fab 6801469d fetch 2 ,mem_mouse_y 
+3fac 1fe67e00 sub pdata ,0 ,pdata 
+3fad 6001469d store 2 ,mem_mouse_y 
+3fae 6801469b fetch 2 ,mem_mouse_x 
+3faf 1fe67e00 sub pdata ,0 ,pdata 
+3fb0 6001469b store 2 ,mem_mouse_x 
+3fb1 20404002 call mouse_sensor_data_swap_places 
+3fb2 20207fe7 branch enable_user 
+
+motion_3clk_direction_dispose:
+3fb3 20404002 call mouse_sensor_data_swap_places 
+3fb4 20207fe7 branch enable_user 
+
+mouse_cheak_sensor_data:
+3fb5 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+3fb6 c1800000 rtnne flash_sm_no_buys 
+3fb7 6800c6e0 fetch 1 ,mem_config_sensor_type 
+3fb8 c0003fe2 beq p3205 ,mouse_p32xx_sensor_motion 
+3fb9 c000bfe2 beq p3065 ,mouse_p32xx_sensor_motion 
+3fba c0013fe2 beq ka8 ,mouse_p32xx_sensor_motion 
+3fbb c001bfe2 beq p3204 ,mouse_p32xx_sensor_motion 
+3fbc c0023fc4 beq p3212 ,mouse_p3212_sensor_motion 
+3fbd c002c010 beq p3610 ,mouse_p3610_sensor_motion 
+3fbe c0033fe2 beq p3065_xy ,mouse_p32xx_sensor_motion 
+3fbf 20203fe2 branch mouse_p32xx_sensor_motion 
+
+mouse_clear_sensor_data:
+3fc0 6800c6a7 fetch 1 ,mem_mouse_move_flag 
+3fc1 205a405d call mouse_read_sensor_common ,blank 
+3fc2 7046a701 jam 1 ,mem_mouse_move_flag 
+3fc3 20600000 rtn 
+
+mouse_p3212_sensor_motion:
+3fc4 20403fc0 call mouse_clear_sensor_data 
+3fc5 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3fc6 2040681d call gpio_get_bit 
+3fc7 24608000 nrtn true 
+3fc8 58000000 setarg pan_reg_pid_l 
+3fc9 20406414 call twspi_read 
+3fca c09840d1 bne p32xx_id1 ,mouse_twspi_reset 
+3fcb 58000002 setarg pan_reg_motion_staus 
+3fcc 20406414 call twspi_read 
+3fcd c4038000 rtnbit0 7 
+3fce 2040405d call mouse_read_sensor_common 
+3fcf 20403fde call mouse_read_3212sensor_xy_high 
+3fd0 6000c6a1 store 1 ,mem_mouse_xy_h 
+3fd1 1ff1fe00 rshift4 pdata ,pdata 
+3fd2 20404169 call extsign_bit3 
+3fd3 6000c69c store 1 ,mem_mouse_x + 1 
+3fd4 6800c6a1 fetch 1 ,mem_mouse_xy_h 
+3fd5 1fe17e0f and pdata ,0x0f ,pdata 
+3fd6 20404169 call extsign_bit3 
+3fd7 6000c69e store 1 ,mem_mouse_y + 1 
+3fd8 6800c6f6 fetch 1 ,mem_config_sensor_angle 
+3fd9 c0003fa3 beq mouse_6clk_angle ,motion_6clk_direction_dispose 
+3fda c000bfab beq mouse_9clk_angle ,motion_9clk_direction_dispose 
+3fdb c0013fa7 beq mouse_12clk_angle ,motion_12clk_direction_dispose 
+3fdc c001bfb3 beq mouse_3clk_angle ,motion_3clk_direction_dispose 
+3fdd 20600000 rtn 
+
+mouse_read_3212sensor_xy_high:
+3fde 58000012 setarg 0x12 
+3fdf 20206414 branch twspi_read 
+
+mouse_p3065_judge:
+3fe0 c018bfea beq p3065_id1 ,mouse_p32xx_sensor_motion_1 
+3fe1 202040d1 branch mouse_twspi_reset 
+
+mouse_p32xx_sensor_motion:
+3fe2 20403fc0 call mouse_clear_sensor_data 
+3fe3 78547c00 disable user 
+3fe4 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3fe5 2040681d call gpio_get_bit 
+3fe6 24608000 nrtn true 
+3fe7 58000000 setarg pan_reg_pid_l 
+3fe8 20406414 call twspi_read 
+3fe9 c0983fe0 bne p32xx_id1 ,mouse_p3065_judge 
+
+mouse_p32xx_sensor_motion_1:
+3fea 58000002 setarg pan_reg_motion_staus 
+3feb 20406414 call twspi_read 
+3fec c4038000 rtnbit0 7 
+3fed 2040405d call mouse_read_sensor_common 
+3fee 6800c69b fetch 1 ,mem_mouse_x 
+3fef 20404165 call extsign 
+3ff0 6001469b store 2 ,mem_mouse_x 
+3ff1 6800c69d fetch 1 ,mem_mouse_y 
+3ff2 20404165 call extsign 
+3ff3 6001469d store 2 ,mem_mouse_y 
+3ff4 6800c6f6 fetch 1 ,mem_config_sensor_angle 
+3ff5 c0003ffa beq mouse_6clk_angle ,motion32xx_6clk_direction_selection 
+3ff6 c000bffc beq mouse_9clk_angle ,motion32xx_9clk_direction_selection 
+3ff7 c0013ffe beq mouse_12clk_angle ,motion32xx_12clk_direction_selection 
+3ff8 c001c000 beq mouse_3clk_angle ,motion32xx_3clk_direction_selection 
+3ff9 20600000 rtn 
+
+motion32xx_6clk_direction_selection:
+3ffa 20403fa3 call motion_6clk_direction_dispose 
+3ffb 202040b3 branch mouse_sensor_sdio_low 
+
+motion32xx_9clk_direction_selection:
+3ffc 20403fab call motion_9clk_direction_dispose 
+3ffd 202040b3 branch mouse_sensor_sdio_low 
+
+motion32xx_12clk_direction_selection:
+3ffe 20403fa7 call motion_12clk_direction_dispose 
+3fff 202040b3 branch mouse_sensor_sdio_low 
+
+motion32xx_3clk_direction_selection:
+4000 20403fb3 call motion_3clk_direction_dispose 
+4001 202040b3 branch mouse_sensor_sdio_low 
+
+mouse_sensor_data_swap_places:
+4002 6801469d fetch 2 ,mem_mouse_y 
+4003 6809469b fetcht 2 ,mem_mouse_x 
+4004 6001469b store 2 ,mem_mouse_x 
+4005 6009469d storet 2 ,mem_mouse_y 
+4006 20600000 rtn 
+
+mouse_p3610sensor_read:
+4007 2040640f call spi_ncs_enable 
+4008 20000064 nop 100 
+4009 1a427e00 copy regb ,pdata 
+400a 20406414 call twspi_read 
+400b 1fe22400 copy pdata ,regb 
+400c 20406411 call spi_ncs_disable 
+400d 20000064 nop 100 
+400e 1a427e00 copy regb ,pdata 
+400f 20600000 rtn 
+
+mouse_p3610_sensor_motion:
+4010 78547c00 disable user 
+4011 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+4012 2040681d call gpio_get_bit 
+4013 24608000 nrtn true 
+4014 da400002 arg pan_reg_motion_staus ,regb 
+4015 20404007 call mouse_p3610sensor_read 
+4016 c4038000 rtnbit0 7 
+4017 da400000 arg pan_reg_pid_l ,regb 
+4018 20404007 call mouse_p3610sensor_read 
+4019 6000c6dd store 1 ,mem_sensor_id1 
+401a c09f4145 bne p3610_id1 ,mouse_init_3610sensor_reset 
+401b 6800c6a7 fetch 1 ,mem_mouse_move_flag 
+401c 205a4039 call mouse_read_sensor3610_data ,blank 
+401d 7046a701 jam 1 ,mem_mouse_move_flag 
+401e 20404039 call mouse_read_sensor3610_data 
+401f 6800c6a1 fetch 1 ,mem_mouse_xy_h 
+4020 1ff1fe00 rshift4 pdata ,pdata 
+4021 20404169 call extsign_bit3 
+4022 6000c69c store 1 ,mem_mouse_x + 1 
+4023 6800c6a1 fetch 1 ,mem_mouse_xy_h 
+4024 1fe17e0f and pdata ,0x0f ,pdata 
+4025 20404169 call extsign_bit3 
+4026 6000c69e store 1 ,mem_mouse_y + 1 
+4027 6800c6f6 fetch 1 ,mem_config_sensor_angle 
+4028 c0004031 beq 0 ,motion3610_6clk_direction_selection 
+4029 c000c035 beq 1 ,motion3610_9clk_direction_selection 
+402a c0014033 beq 2 ,motion3610_12clk_direction_selection 
+402b c001c037 beq 3 ,motion3610_3clk_direction_selection 
+402c 20600000 rtn 
+
+mouse_3610_smart_select:
+402d 6800c6a4 fetch 1 ,mem_sensor_smart_flag 
+402e c0004051 beq p3610_smart_enable ,mouse_3610_smart_disable 
+402f c000c045 beq p3610_smart_disable ,mouse_3610_smart_enable 
+4030 20600000 rtn 
+
+motion3610_6clk_direction_selection:
+4031 20403fa3 call motion_6clk_direction_dispose 
+4032 2020402d branch mouse_3610_smart_select 
+
+motion3610_12clk_direction_selection:
+4033 20403fa7 call motion_12clk_direction_dispose 
+4034 2020402d branch mouse_3610_smart_select 
+
+motion3610_9clk_direction_selection:
+4035 20403fab call motion_9clk_direction_dispose 
+4036 2020402d branch mouse_3610_smart_select 
+
+motion3610_3clk_direction_selection:
+4037 20403fb3 call motion_3clk_direction_dispose 
+4038 2020402d branch mouse_3610_smart_select 
+
+mouse_read_sensor3610_data:
+4039 2040640f call spi_ncs_enable 
+403a 2040405d call mouse_read_sensor_common 
+403b dfe00005 arg 5 ,pdata 
+403c 20406414 call twspi_read 
+403d 6000c6a1 store 1 ,mem_mouse_xy_h 
+403e dfe00007 arg 7 ,pdata 
+403f 20406414 call twspi_read 
+4040 6000c6a2 store 1 ,mem_sensor_shutter_hi 
+4041 dfe00008 arg 8 ,pdata 
+4042 20406414 call twspi_read 
+4043 6000c6a3 store 1 ,mem_sensor_shutter_lo 
+4044 20206411 branch spi_ncs_disable 
+
+mouse_3610_smart_enable:
+4045 6800c6a2 fetch 1 ,mem_sensor_shutter_hi 
+4046 c1800000 rtnne 0 
+4047 6800c6a3 fetch 1 ,mem_sensor_shutter_lo 
+4048 1fe67c2d sub pdata ,45 ,null 
+4049 20610000 rtn positive 
+404a 7046a400 jam p3610_smart_enable ,mem_sensor_smart_flag 
+404b 5800ba41 setarg 0xba41 
+404c 20406405 call sensor_write 
+404d 58000032 setarg 0x0032 
+404e 20406405 call sensor_write 
+404f 5800b541 setarg 0xb541 
+4050 20206405 branch sensor_write 
+
+mouse_3610_smart_disable:
+4051 6800c6a2 fetch 1 ,mem_sensor_shutter_hi 
+4052 c1800000 rtnne 0 
+4053 6800c6a3 fetch 1 ,mem_sensor_shutter_lo 
+4054 1fe67c2d sub pdata ,45 ,null 
+4055 24610000 nrtn positive 
+4056 7046a401 jam p3610_smart_disable ,mem_sensor_smart_flag 
+4057 5800ba41 setarg 0xba41 
+4058 20406405 call sensor_write 
+4059 58008032 setarg 0x8032 
+405a 20406405 call sensor_write 
+405b 5800b541 setarg 0xb541 
+405c 20206405 branch sensor_write 
+
+mouse_read_sensor_common:
+405d dfe00003 arg pan_reg_delta_x ,pdata 
+405e 20406414 call twspi_read 
+405f 6001469b store 2 ,mem_mouse_x 
+4060 dfe00004 arg pan_reg_delta_y ,pdata 
+4061 20406414 call twspi_read 
+4062 6001469d store 2 ,mem_mouse_y 
+4063 20600000 rtn 
+
+mouse_set_qdecoder_x:
+4064 d840001b arg mouse_default_xa_gpio ,temp 
+4065 204067fb call gpio_config_input 
+4066 d840001b arg mouse_default_xa_gpio ,temp 
+4067 2040681d call gpio_get_bit 
+4068 20608000 rtn true 
+4069 68108109 hfetch 1 ,core_qdec_cntx 
+406a 79207e04 set1 4 ,pdata 
+406b 60108109 hstore 1 ,core_qdec_cntx 
+406c 20600000 rtn 
+
+mouse_hardware_zwheel:
+406d 6808c6c0 fetcht 1 ,mem_mouse_z_data 
+406e 68108109 hfetch 1 ,core_qdec_cntx 
+406f 9840fe00 iadd temp ,pdata 
+4070 207a0000 rtn blank 
+4071 6000c69f store 1 ,mem_mouse_z 
+4072 7046c000 jam 0 ,mem_mouse_z_data 
+4073 20207fe7 branch enable_user 
+
+mouse_hardware_zwheel_beforelpm:
+4074 6808c6c0 fetcht 1 ,mem_mouse_z_data 
+4075 68108109 hfetch 1 ,core_qdec_cntx 
+4076 9840fe00 iadd temp ,pdata 
+4077 6000c6c0 store 1 ,mem_mouse_z_data 
+4078 20600000 rtn 
+
+mouse_zwheel:
+4079 6800c6c0 fetch 1 ,mem_mouse_z_data 
+407a 207a0000 rtn blank 
+407b 6000c69f store 1 ,mem_mouse_z 
+407c 7046c000 jam 0 ,mem_mouse_z_data 
+407d 20207fe7 branch enable_user 
+
+mouse_t_zwheel:
+407e 6800c6ba fetch 1 ,mem_mouse_tz_data 
+407f 207a0000 rtn blank 
+4080 6000c6a0 store 1 ,mem_mouse_tz 
+4081 7046ba00 jam 0 ,mem_mouse_tz_data 
+4082 20207fe7 branch enable_user 
+
+mouse_check_key_gpio:
+4083 da200000 arg 0 ,rega 
+4084 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+4085 2040681d call gpio_get_bit 
+4086 7920a200 setflag true ,0 ,rega 
+4087 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+4088 2040681d call gpio_get_bit 
+4089 7920a201 setflag true ,1 ,rega 
+408a 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+408b 2040681d call gpio_get_bit 
+408c 7920a202 setflag true ,2 ,rega 
+408d 20404090 call mouse_check_s_key_gpio 
+408e 1a227e00 copy rega ,pdata 
+408f 20600000 rtn 
+
+mouse_check_s_key_gpio:
+4090 6800c6e5 fetch 1 ,mem_bk_button_gpio 
+4091 c17f8000 rtneq gpio_disable 
+4092 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+4093 2040681d call gpio_get_bit 
+4094 7920a203 setflag true ,3 ,rega 
+4095 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+4096 2040681d call gpio_get_bit 
+4097 7920a204 setflag true ,4 ,rega 
+4098 20600000 rtn 
+
+mouse_key:
+4099 20404083 call mouse_check_key_gpio 
+409a 204040a8 call mouse_set_mult 
+409b 204040a3 call mouse_24g_key 
+409c 1a227e00 copy rega ,pdata 
+409d 6808c69a fetcht 1 ,mem_mouse_key 
+409e 6000c69a store 1 ,mem_mouse_key 
+409f 9842fe00 ixor temp ,pdata 
+40a0 1fe67c00 sub pdata ,0 ,null 
+40a1 20628000 rtn zero 
+40a2 20207fe7 branch enable_user 
+
+mouse_24g_key:
+40a3 c6930000 rtnmark0 mark_24g 
+40a4 1a227e00 copy rega ,pdata 
+40a5 207a0000 rtn blank 
+40a6 6000c69a store 1 ,mem_mouse_key 
+40a7 20207fe7 branch enable_user 
+
+mouse_set_mult:
+40a8 68014682 fetch 2 ,mem_ui_state_map 
+40a9 c284c0ad bbit1 ui_state_ble_connected ,mouse_set_ble_mult 
+40aa 68014682 fetch 2 ,mem_ui_state_map 
+40ab c28040b0 bbit1 ui_state_bt_connected ,mouse_set_bt_mult 
+40ac 20600000 rtn 
+
+mouse_set_ble_mult:
+40ad 1a227e00 copy rega ,pdata 
+40ae 243a5820 nbranch le_set_config_short_mult ,blank 
+40af 20205822 branch le_clr_config_short_mult 
+
+mouse_set_bt_mult:
+40b0 1a227e00 copy rega ,pdata 
+40b1 243a2bc7 nbranch classic_bt_set_mult_short_flag ,blank 
+40b2 20202bc9 branch classic_bt_clr_mult_short_flag 
+
+mouse_sensor_sdio_low:
+40b3 44f3c01c bpatch patch1c_7 ,mem_patch1c 
+40b4 d840001a arg mouse_spi1_sdio_gpio ,temp 
+40b5 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+40b6 2feffe12 isolate1 mouse_enable_spi2 ,pdata 
+40b7 2040c0be call mouse_sensor_sdio_low2 ,true 
+40b8 2040681d call gpio_get_bit 
+40b9 20608000 rtn true 
+40ba 5800000a setarg 0x0a 
+40bb 20406414 call twspi_read 
+40bc 200003e8 nop 1000 
+40bd 202040b3 branch mouse_sensor_sdio_low 
+
+mouse_sensor_sdio_low2:
+40be d840001f arg mouse_spi2_sdio_gpio ,temp 
+40bf 20600000 rtn 
+
+mouse_spi_sdio_gpio_pollup:
+40c0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+40c1 c28940c4 bbit1 mouse_enable_spi2 ,mouse_spi2_sdio_gpio_pollup 
+
+mouse_spi1_sdio_gpio_pollup:
+40c2 d840001a arg mouse_spi1_sdio_gpio ,temp 
+40c3 202067fe branch gpio_config_input_without_wake 
+
+mouse_spi2_sdio_gpio_pollup:
+40c4 d840001f arg mouse_spi2_sdio_gpio ,temp 
+40c5 202067fe branch gpio_config_input_without_wake 
+
+mouse_init_sunt:
+40c6 20403d36 call mouse_spi_init 
+40c7 20758000 rtn wake 
+40c8 204040c0 call mouse_spi_sdio_gpio_pollup 
+40c9 6800c6e0 fetch 1 ,mem_config_sensor_type 
+40ca c002c0d5 beq p3610 ,mouse_init_3610sensor 
+
+mouse_init_sensor:
+40cb 204040d9 call mouse_read_sensor_id 
+40cc c01840e0 beq p32xx_id1 ,mouse_init_p32xx_id2_judge 
+40cd c018c0ea beq p3065_id1 ,mouse_p3065_init_param 
+40ce 204040d1 call mouse_twspi_reset 
+40cf 200003e8 nop 1000 
+40d0 202040cb branch mouse_init_sensor 
+
+mouse_twspi_reset:
+40d1 44f4401d bpatch patch1d_0 ,mem_patch1d 
+40d2 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+40d3 c28963e0 bbit1 mouse_enable_spi2 ,twspi_reset2 
+40d4 202063d1 branch twspi_reset 
+
+mouse_init_3610sensor:
+40d5 204040d9 call mouse_read_sensor_id 
+40d6 c01f414b beq p3610_id1 ,mouse_init_p3610 
+40d7 20404145 call mouse_init_3610sensor_reset 
+40d8 202040d5 branch mouse_init_3610sensor 
+
+mouse_read_sensor_id:
+40d9 58000001 setarg pan_reg_pid_h 
+40da 20406414 call twspi_read 
+40db 6000c6de store 1 ,mem_sensor_id2 
+40dc 58000000 setarg pan_reg_pid_l 
+40dd 20406414 call twspi_read 
+40de 6000c6dd store 1 ,mem_sensor_id1 
+40df 20600000 rtn 
+
+mouse_init_p32xx_id2_judge:
+40e0 6800c6de fetch 1 ,mem_sensor_id2 
+40e1 c068c139 beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
+40e2 c06940f8 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
+40e3 c00140ee beq p3212_id2 ,mouse_3212_init_param 
+40e4 c02a40e6 beq pka8_id2 ,mouse_ka8_init_param 
+40e5 20600000 rtn 
+
+mouse_ka8_init_param:
+40e6 7046e002 jam ka8 ,mem_config_sensor_type 
+40e7 20600000 rtn 
+
+mouse_p3065xy_init_param:
+40e8 7046e006 jam p3065_xy ,mem_config_sensor_type 
+40e9 20600000 rtn 
+
+mouse_p3065_init_param:
+40ea 6800c6de fetch 1 ,mem_sensor_id2 
+40eb c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+40ec 7046e001 jam p3065 ,mem_config_sensor_type 
+40ed 20600000 rtn 
+
+mouse_3212_init_param:
+40ee 7046e004 jam p3212 ,mem_config_sensor_type 
+40ef 204040f6 call mouse_sensor_disable_wp 
+40f0 58003426 setarg 0x3426 
+40f1 20406413 call twspi_write 
+40f2 58000419 setarg 0x0419 
+40f3 20406413 call twspi_write 
+
+mouse_sensor_enable_wp:
+40f4 58000009 setarg 0x0009 
+40f5 20206413 branch twspi_write 
+
+mouse_sensor_disable_wp:
+40f6 58005a09 setarg 0x5a09 
+40f7 20206413 branch twspi_write 
+
+mouse_3204_3l_init_param:
+40f8 7046e003 jam p3204 ,mem_config_sensor_type 
+40f9 204040f6 call mouse_sensor_disable_wp 
+40fa 58000f0d setarg 0x0f0d 
+40fb 20406413 call twspi_write 
+40fc 5800e31d setarg 0xe31d 
+40fd 20406413 call twspi_write 
+40fe 5800d27d setarg 0xd27d 
+40ff 20406413 call twspi_write 
+4100 20404102 call mouse_32xx_init_param 
+4101 2020411a branch mouse_32xx_init_param_1 
+
+mouse_32xx_init_param:
+4102 5800351b setarg 0x351b 
+4103 20406413 call twspi_write 
+4104 5800b428 setarg 0xb428 
+4105 20406413 call twspi_write 
+4106 58004629 setarg 0x4629 
+4107 20406413 call twspi_write 
+4108 5800962a setarg 0x962a 
+4109 20406413 call twspi_write 
+410a 58008c2b setarg 0x8c2b 
+410b 20406413 call twspi_write 
+410c 58006e2c setarg 0x6e2c 
+410d 20406413 call twspi_write 
+410e 5800642d setarg 0x642d 
+410f 20406413 call twspi_write 
+4110 58005f38 setarg 0x5f38 
+4111 20406413 call twspi_write 
+4112 58000f39 setarg 0x0f39 
+4113 20406413 call twspi_write 
+4114 5800323a setarg 0x323a 
+4115 20406413 call twspi_write 
+4116 5800473b setarg 0x473b 
+4117 20406413 call twspi_write 
+4118 58001042 setarg 0x1042 
+4119 20206413 branch twspi_write 
+
+mouse_32xx_init_param_1:
+411a 58002e54 setarg 0x2e54 
+411b 20406413 call twspi_write 
+411c 5800f255 setarg 0xf255 
+411d 20406413 call twspi_write 
+411e 5800f461 setarg 0xf461 
+411f 20406413 call twspi_write 
+4120 58007063 setarg 0x7063 
+4121 20406413 call twspi_write 
+4122 58005275 setarg 0x5275 
+4123 20406413 call twspi_write 
+4124 58004176 setarg 0x4176 
+4125 20406413 call twspi_write 
+4126 5800ed77 setarg 0xed77 
+4127 20406413 call twspi_write 
+4128 58002378 setarg 0x2378 
+4129 20406413 call twspi_write 
+412a 58004679 setarg 0x4679 
+412b 20406413 call twspi_write 
+412c 5800e57a setarg 0xe57a 
+412d 20406413 call twspi_write 
+412e 5800487c setarg 0x487c 
+412f 20406413 call twspi_write 
+4130 5800777e setarg 0x777e 
+4131 20406413 call twspi_write 
+4132 5800017f setarg 0x017f 
+4133 20406413 call twspi_write 
+4134 5800000b setarg 0x000b 
+4135 20406413 call twspi_write 
+4136 5800007f setarg 0x007f 
+4137 20406413 call twspi_write 
+4138 202040f4 branch mouse_sensor_enable_wp 
+
+mouse_3205_3t_init_param:
+4139 7046e000 jam p3205 ,mem_config_sensor_type 
+413a 204040f6 call mouse_sensor_disable_wp 
+413b 5800100d setarg 0x100d 
+413c 20406413 call twspi_write 
+413d 5800ed1d setarg 0xed1d 
+413e 20406413 call twspi_write 
+413f 5800807d setarg 0x807d 
+4140 20406413 call twspi_write 
+4141 20404102 call mouse_32xx_init_param 
+4142 58000943 setarg 0x0943 
+4143 20406413 call twspi_write 
+4144 2020411a branch mouse_32xx_init_param_1 
+
+mouse_init_3610sensor_reset:
+4145 6808c6dc fetcht 1 ,mem_sensor_reset_gpio 
+4146 20406829 call gpio_out_active 
+4147 20407ec1 call delay_10ms 
+4148 6808c6dc fetcht 1 ,mem_sensor_reset_gpio 
+4149 20406825 call gpio_out_inactive 
+414a 20207ec1 branch delay_10ms 
+
+mouse_init_p3610:
+414b 7046e005 jam p3610 ,mem_config_sensor_type 
+414c 5800ba41 setarg 0xba41 
+414d 20406405 call sensor_write 
+414e 58000d11 setarg 0x0d11 
+414f 20406405 call sensor_write 
+4150 5800041b setarg 0x041b 
+4151 20406405 call sensor_write 
+4152 5800041c setarg 0x041c 
+4153 20406405 call sensor_write 
+4154 58000f1d setarg 0x0f1d 
+4155 20406405 call sensor_write 
+4156 58000032 setarg 0x0032 
+4157 20406405 call sensor_write 
+4158 5800b541 setarg 0xb541 
+4159 20206405 branch sensor_write 
+
+mouse_set_sensor_reg:
+415a 5800ba41 setarg 0xba41 
+415b 20406405 call sensor_write 
+415c 20000fa0 nop 4000 
+415d 5800ff7f setarg 0xff7f 
+415e 20406405 call sensor_write 
+415f 1a227e00 copy rega ,pdata 
+4160 20406405 call sensor_write 
+4161 5800007f setarg 0x007f 
+4162 20406405 call sensor_write 
+4163 5800b541 setarg 0xb541 
+4164 20206405 branch sensor_write 
+
+extsign:
+4165 c4038000 rtnbit0 7 
+4166 d840ff00 arg 0xff00 ,temp 
+4167 9841fe00 ior temp ,pdata 
+4168 20600000 rtn 
+
+extsign_bit3:
+4169 c4018000 rtnbit0 3 
+416a d84000f0 arg 0xf0 ,temp 
+416b 9841fe00 ior temp ,pdata 
+416c 20600000 rtn 
+
+mouse_le:
+416d 20405892 call le_fifo_check_nearly_full 
+416e 247a0000 nrtn blank 
+416f 6800c6c5 fetch 1 ,mem_le_connect_statue_flag 
+4170 1fe17e03 and pdata ,0x03 ,pdata 
+4171 c1818000 rtnne 0x03 
+4172 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4173 c281c179 bbit1 mosue_24g_pairing_flag ,mouse_le_send_empty_packet 
+4174 c2804179 bbit1 mouse_select_device_flag ,mouse_le_send_empty_packet 
+4175 c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+4176 20403f97 call mouse_motion 
+4177 24740000 nrtn user 
+4178 20203f90 branch mouse_fill_data_le 
+
+mouse_le_send_empty_packet:
+4179 58000000 setarg 0 
+417a 6003c69a store 7 ,mem_mouse_key 
+417b 20203f90 branch mouse_fill_data_le 
+
+mouse_priority_bb_event:
+417c 1a627e00 copy regc ,pdata 
+417d c00a41c3 beq bt_evt_le_connected ,mouse_le_bb_event_connected 
+417e c000c2ca beq bt_evt_bb_connected ,mouse_stop_discovery 
+417f c00ac1d9 beq bt_evt_le_disconnected ,mouse_bb_disconnected 
+4180 c00141d9 beq bt_evt_bb_disconnected ,mouse_bb_disconnected 
+4181 c002c1d6 beq bt_evt_setup_complete ,mouse_bt_event_setup_complete 
+4182 c008426c beq bt_evt_button_long_pressed ,mouse_bb_event_discovery_btn 
+4183 c009429b beq bt_evt_hid_handshake ,mouse_bt_hid_handshake 
+4184 c00341d5 beq bt_evt_hid_connected ,mouse_bt_hid_connected 
+4185 c00241cc beq bt_evt_reconn_failed ,mouse_bb_event_reconn_failed 
+4186 c009c1cc beq bt_evt_reconn_page_timeout ,mouse_bb_event_reconn_timeout 
+4187 c00541ca beq bt_evt_pincode_req ,mouse_bb_event_pincode 
+4188 c01733cd beq bt_evt_remote_unsniff ,app_start_auto_sniff 
+4189 c018c1b4 beq bt_evt_le_pairing_success ,mouse_le_pairing_success 
+418a c01941b6 beq bt_evt_le_start_enc ,mouse_le_ll_start_encryt 
+418b c01f4191 beq bt_evt_le_pairing_complete ,mouse_le_pairing_complete 
+418c c013c38e beq bt_evt_virtual_cable_unplug ,mouse_irtual_cable_unplug 
+418d c01cc19c beq bt_evt_24g_pairing_complete ,mouse_24g_pairing_complete 
+418e c01d4192 beq bt_evt_24g_attempt_fail ,mouse_24g_attempt_fail 
+418f c01e419a beq bt_evt_24g_attempt_success ,mouse_24g_attempt_success 
+4190 20600000 rtn 
+
+mouse_le_pairing_complete:
+4191 20203410 branch app_ble_store_reconn_info 
+
+mouse_24g_attempt_fail:
+4192 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+4193 6800c71e fetch 1 ,mem_reconn_times 
+4194 243a4492 nbranch mouse_polling_device ,blank 
+4195 6800c720 fetch 1 ,mem_device_flag 
+4196 6808c703 fetcht 1 ,mem_24g_device_number 
+4197 98467c00 isub temp ,null 
+4198 2022b40a branch app_enter_hibernate ,zero 
+4199 20600000 rtn 
+
+mouse_24g_attempt_success:
+419a 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+419b 20600000 rtn 
+
+mouse_24g_pairing_complete:
+419c 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+419d d8e00003 arg mosue_24g_pairing_flag ,queue 
+419e 204043d2 call mouse_disable_function_flag 
+419f 58000000 setarg 0 
+41a0 60014707 store 2 ,mem_24g_pairing_timer_count 
+41a1 7046a700 jam 0 ,mem_mouse_move_flag 
+41a2 6800c6e0 fetch 1 ,mem_config_sensor_type 
+41a3 1fe67c05 sub pdata ,p3610 ,null 
+41a4 2042c039 call mouse_read_sensor3610_data ,zero 
+41a5 2442c05d ncall mouse_read_sensor_common ,zero 
+41a6 68008004 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+41a7 c289c1af bbit1 mouse_enable_flash ,mouse_store_flash_24g_address 
+41a8 204041aa call mouse_set_24g_addr_eeprom 
+41a9 202065d1 branch iicd_write_protect_eep_data 
+
+mouse_set_24g_addr_eeprom:
+41aa 20402c7a call g24_head_ptr2regc 
+41ab 1a60a2ae add regc ,offset_24g_addr ,rega 
+41ac da40005b arg mouse_g24_addr_eeprom_offect ,regb 
+41ad d8400004 arg 4 ,temp 
+41ae 20600000 rtn 
+
+mouse_store_flash_24g_address:
+41af 20402c7a call g24_head_ptr2regc 
+41b0 1a60a4ae add regc ,offset_24g_addr ,regb 
+41b1 ea408000 ifetch 1 ,regb 
+41b2 6000c77b store 1 ,mem_mouse_24g_addr 
+41b3 20204435 branch mouse_store_flash_device_info 
+
+mouse_le_pairing_success:
+41b4 d8e00002 arg ll_pairing_success_flag ,queue 
+41b5 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_le_ll_start_encryt:
+41b6 7046c602 jam 2 ,mem_le_start_encrypt_timer 
+41b7 d8e00001 arg ll_start_enc_flag ,queue 
+41b8 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_le_enable_connect_flag:
+41b9 6800c6c5 fetch 1 ,mem_le_connect_statue_flag 
+41ba f9207e00 qset1 pdata 
+41bb 6000c6c5 store 1 ,mem_le_connect_statue_flag 
+41bc 20600000 rtn 
+
+mouse_le_disable_connect_flag:
+41bd 6800c6c5 fetch 1 ,mem_le_connect_statue_flag 
+41be f93ffe00 qset0 pdata 
+41bf 6000c6c5 store 1 ,mem_le_connect_statue_flag 
+41c0 20600000 rtn 
+
+mouse_le_clean_connect_flag:
+41c1 7046c500 jam 0 ,mem_le_connect_statue_flag 
+41c2 20600000 rtn 
+
+mouse_le_bb_event_connected:
+41c3 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+41c4 793ffe00 set0 app_disc_by_button ,pdata 
+41c5 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+41c6 58000000 setarg 0 
+41c7 600146ae store 2 ,mem_mouse_direct_timer 
+41c8 20403f8d call mouse_no_data_timer_init 
+41c9 202042ca branch mouse_stop_discovery 
+
+mouse_bb_event_pincode:
+41ca 204063cb call pincode_reinit 
+41cb 202033dd branch app_bt_set_pincode 
+
+mouse_bb_event_reconn_timeout:
+
+mouse_bb_event_reconn_failed:
+41cc 6800c71e fetch 1 ,mem_reconn_times 
+41cd 243a4492 nbranch mouse_polling_device ,blank 
+41ce 68014682 fetch 2 ,mem_ui_state_map 
+41cf c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
+41d0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+41d1 c28041d7 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+41d2 c282c2b0 bbit1 mouse_bt_discovery_button_down_flag ,mouse_start_discovery 
+41d3 c281aead bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+41d4 202033a7 branch app_bb_hibernate 
+
+mouse_bt_hid_connected:
+41d5 20203f74 branch mouse_hid_connected 
+
+mouse_bt_event_setup_complete:
+41d6 20600000 rtn 
+
+mouse_soft_reset:
+41d7 204043c0 call mouse_select_device_enable 
+41d8 2020659a branch soft_reset_chip 
+
+mouse_bb_disconnected:
+41d9 44f4c01d bpatch patch1d_1 ,mem_patch1d 
+41da 204041e7 call mouse_bb_discon_clear_stack 
+41db 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+41dc c28041d7 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+41dd c281aead bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+41de 6800c71e fetch 1 ,mem_reconn_times 
+41df 243a4492 nbranch mouse_polling_device ,blank 
+41e0 68014208 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+41e1 c283c1f5 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn 
+41e2 c28033a9 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+41e3 c280c1ef bbit1 app_disc_after_pairing ,mouse_event_light_state_pairing 
+41e4 c28141f2 bbit1 app_disc_after_reconn ,mouse_event_light_state_hibernate 
+41e5 c281c1f2 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+41e6 202042b0 branch mouse_start_discovery 
+
+mouse_bb_discon_clear_stack:
+41e7 58000000 setarg 0 
+41e8 600446b7 store 8 ,mem_wheel_tb_old_pinlevel 
+41e9 e0a20000 istore 4 ,contw 
+41ea 7046b400 jam 0 ,mem_mouse_send_blank_timer 
+41eb 7046a700 jam 0 ,mem_mouse_move_flag 
+41ec 7041e200 jam app_handshake_null ,mem_app_handshake_flag 
+41ed 70442900 jam 0 ,mem_ltk_exists 
+41ee 20600000 rtn 
+
+mouse_event_light_state_pairing:
+41ef c282c1f2 bbit1 app_disc_after_handshake ,mouse_event_light_state_hibernate 
+41f0 c281c1f2 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+41f1 202042b0 branch mouse_start_discovery 
+
+mouse_event_light_state_hibernate:
+41f2 68014682 fetch 2 ,mem_ui_state_map 
+41f3 c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
+41f4 202033a7 branch app_bb_hibernate 
+
+mouse4_0_event_bb_disconn:
+41f5 204041c1 call mouse_le_clean_connect_flag 
+41f6 68014208 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+41f7 c28033a9 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+41f8 202033a7 branch app_bb_hibernate 
+
+mouse_bb_event_timer:
+41f9 204043d6 call mouse_adc_read 
+41fa 20404243 call mouse_24g_delay_timer 
+41fb 20404246 call mouse_ban_24g_pairing_timer 
+41fc 20404250 call mouse_dpi_led_blink_delay_timer 
+41fd 2040445d call mouse_statue_up_timer 
+41fe 20404443 call mouse_statue_cheak_timer 
+41ff 20404333 call mouse_select_device 
+4200 204043a5 call mouse_bt_discovery_cheak 
+4201 204043eb call mouse_low_voltage_led_timer 
+4202 20404209 call mouse_sensor_led_contrl_timer 
+4203 20404231 call mouse_check_hid_handshake_timer 
+4204 20404234 call mouse_check_discovery_timeout_timer 
+4205 20404237 call mouse_check_direct_timeout_timer 
+4206 2040423a call mouse_check_no_data_timeout_timer 
+4207 2040423d call mouse_check_mouse_state_timer 
+4208 20204240 branch mouse_le_enable_att_list_timer 
+
+mouse_sensor_led_contrl_timer:
+4209 6800c711 fetch 1 ,mem_mouse_sensor_timer_count 
+420a 207a0000 rtn blank 
+420b 1fe0ffff increase -1 ,pdata 
+420c 6000c711 store 1 ,mem_mouse_sensor_timer_count 
+420d 247a0000 nrtn blank 
+420e 2020420f branch mouse_sensor_led_contrl 
+
+mouse_sensor_led_contrl:
+420f 6800c712 fetch 1 ,mem_sensor_led_style 
+4210 c1000000 rtneq ui_led_state_blink_stop 
+4211 c002c216 beq ui_led_state_blink_darking ,mouse_sensor_led_blink_state_darking 
+
+mouse_sensor_led_blink_state_lighting:
+4212 20404225 call mouse_sensor_led_on 
+4213 70471205 jam ui_led_state_blink_darking ,mem_sensor_led_style 
+4214 70471105 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+4215 20600000 rtn 
+
+mouse_sensor_led_blink_state_darking:
+4216 2040422c call mouse_sensor_led_off 
+4217 70471204 jam ui_led_state_blink_lighting ,mem_sensor_led_style 
+4218 70471105 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+4219 20600000 rtn 
+
+mouse_sensor_led_blink_stop:
+
+mouse_sensor_reset:
+421a 58008006 setarg 0x8006 
+421b 20406413 call twspi_write 
+421c 200003e8 nop 1000 
+421d 70471100 jam 0x00 ,mem_mouse_sensor_timer_count 
+421e 70471200 jam ui_led_state_blink_stop ,mem_sensor_led_style 
+421f 202040e0 branch mouse_init_p32xx_id2_judge 
+
+mouse_p3212sensor_led_on:
+4220 5800a006 setarg 0xa006 
+4221 20406413 call twspi_write 
+4222 5800a005 setarg 0xa005 
+4223 20206413 branch twspi_write 
+
+mouse_sensor_led_on_global:
+4224 70471100 jam 0 ,mem_mouse_sensor_timer_count 
+
+mouse_sensor_led_on:
+4225 6800c6e0 fetch 1 ,mem_config_sensor_type 
+4226 c0024220 beq p3212 ,mouse_p3212sensor_led_on 
+4227 58000106 setarg 0x0106 
+4228 20406413 call twspi_write 
+4229 5800a105 setarg 0xa105 
+422a 20206413 branch twspi_write 
+
+mouse_sensor_led_off_global:
+422b 70471100 jam 0 ,mem_mouse_sensor_timer_count 
+
+mouse_sensor_led_off:
+422c 58000906 setarg 0x0906 
+422d 20206413 branch twspi_write 
+
+mouse_sensor_start_blink:
+422e 70471105 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+422f 70471201 jam ui_led_state_blink_start ,mem_sensor_led_style 
+4230 20600000 rtn 
+
+mouse_check_hid_handshake_timer:
+4231 da604680 arg mem_hid_handshake_timer_count ,regc 
+4232 da40429b arg mouse_bt_hid_handshake ,regb 
+4233 2020336d branch timer_single_step 
+
+mouse_check_discovery_timeout_timer:
+4234 da6046ac arg mem_mouse_discovery_timer ,regc 
+4235 da404264 arg mouse_check_discovery_timeout ,regb 
+4236 20203374 branch timer_single_step_2b 
+
+mouse_check_direct_timeout_timer:
+4237 da6046ae arg mem_mouse_direct_timer ,regc 
+4238 da404266 arg mouse_check_direct_timeout ,regb 
+4239 20203374 branch timer_single_step_2b 
+
+mouse_check_no_data_timeout_timer:
+423a da6046b0 arg mem_mouse_no_data_timer ,regc 
+423b da40426a arg mouse_check_no_data_timeout ,regb 
+423c 20203374 branch timer_single_step_2b 
+
+mouse_check_mouse_state_timer:
+423d da6046c4 arg mem_mouse_statue_led_timer ,regc 
+423e da404478 arg mouse_statue_led_off ,regb 
+423f 2020336d branch timer_single_step 
+
+mouse_le_enable_att_list_timer:
+4240 da6046c6 arg mem_le_start_encrypt_timer ,regc 
+4241 da40425e arg mouse_le_enable_att_list ,regb 
+4242 2020336d branch timer_single_step 
+
+mouse_24g_delay_timer:
+4243 da604704 arg mem_24g_enter_lpm_timer ,regc 
+4244 da404249 arg mouse_24g_delay ,regb 
+4245 2020336d branch timer_single_step 
+
+mouse_ban_24g_pairing_timer:
+4246 da604707 arg mem_24g_pairing_timer_count ,regc 
+4247 da404249 arg mouse_ban_24g_pairing ,regb 
+4248 20203374 branch timer_single_step_2b 
+
+mouse_ban_24g_pairing:
+
+mouse_24g_delay:
+4249 20600000 rtn 
+
+mosue_dpi_led_blink_init:
+424a 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+424b c40b8000 rtnbit0 mouse_enable_dpi_led_blink 
+424c 7046df0a jam 10 ,mem_mouse_dpi_led_delay_count 
+424d 6800c6f4 fetch 1 ,mem_dpi_led_gpio 
+424e 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+424f 20600000 rtn 
+
+mouse_dpi_led_blink_delay_timer:
+4250 da6046df arg mem_mouse_dpi_led_delay_count ,regc 
+4251 da404253 arg mouse_dpi_led_setting ,regb 
+4252 2020336d branch timer_single_step 
+
+mouse_dpi_led_setting:
+4253 6800c6f4 fetch 1 ,mem_dpi_led_gpio 
+4254 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4255 58000190 setarg led_dpi_blink 
+4256 60014716 store 2 ,mem_mouse_on_time 
+4257 60014718 store 2 ,mem_mouse_off_time 
+4258 da200000 arg 0 ,rega 
+4259 6808c77a fetcht 1 ,mem_mouse_dpi 
+425a 18408401 increase 1 ,temp 
+425b 6008c714 storet 1 ,mem_mouse_blink_count 
+425c 70471301 jam ui_led_state_blink_start ,mem_mouse_led_type 
+425d 20600000 rtn 
+
+mouse_le_enable_att_list:
+425e 6800c6c5 fetch 1 ,mem_le_connect_statue_flag 
+425f c3810000 rtnbit1 ll_pairing_success_flag 
+4260 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+4261 20407d8f call ui_ipc_send_cmd 
+4262 d8e00000 arg write_req_enable_flag ,queue 
+4263 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_check_discovery_timeout:
+4264 204042ca call mouse_stop_discovery 
+4265 2020340a branch app_enter_hibernate 
+
+mouse_check_direct_timeout:
+4266 204033f6 call app_ble_stop_direct_adv 
+4267 6800c71e fetch 1 ,mem_reconn_times 
+4268 243a4492 nbranch mouse_polling_device ,blank 
+4269 2020340a branch app_enter_hibernate 
+
+mouse_check_no_data_timeout:
+426a c5137e1d bmark1 mark_24g ,check_51cmd_hibernate 
+426b 20204386 branch mouse_disconnect 
+
+mouse_bb_event_discovery_btn:
+426c 44f5401d bpatch patch1d_2 ,mem_patch1d 
+426d 7046b400 jam 0 ,mem_mouse_send_blank_timer 
+426e 20404386 call mouse_disconnect 
+426f 204041c1 call mouse_le_clean_connect_flag 
+4270 202042b0 branch mouse_start_discovery 
+
+mouse3_0_check_reconn_target:
+4271 680341d0 fetch 6 ,mem_hci_plap 
+4272 203a33eb branch app_bt_start_discovery_short ,blank 
+4273 2040427e call mouse_reconn_setting_led_gpio 
+4274 70016d17 jam 0x17 ,mem_connection_options 
+4275 6800c65a fetch 1 ,mem_ssp_enable 
+4276 243a33e1 nbranch app_bt_start_reconnect ,blank 
+4277 70016d04 jam 0x04 ,mem_connection_options 
+4278 202033e1 branch app_bt_start_reconnect 
+
+mouse4_0_check_reconn_target:
+4279 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+427a 600146ae store 2 ,mem_mouse_direct_timer 
+427b 2040427e call mouse_reconn_setting_led_gpio 
+427c 20403418 call app_lpm_mult_disable 
+427d 20207df4 branch check_51cmd_adv 
+
+mouse_reconn_setting_led_gpio:
+427e 580000c8 setarg led_reconnect_blink 
+427f 60014716 store 2 ,mem_mouse_on_time 
+4280 60014718 store 2 ,mem_mouse_off_time 
+4281 20204285 branch mouse_setting_led_gpio_comman 
+
+mouse_discover_setting_led_gpio:
+4282 580003e8 setarg led_discovery_blink 
+4283 60014716 store 2 ,mem_mouse_on_time 
+4284 60014718 store 2 ,mem_mouse_off_time 
+
+mouse_setting_led_gpio_comman:
+4285 6800c720 fetch 1 ,mem_device_flag 
+4286 c000c28a beq mode_bt_device1 ,mouse_device_led1 
+4287 c001428c beq mode_bt_device2 ,mouse_device_led2 
+4288 c001c28e beq mode_bt_device3 ,mouse_device_led3 
+4289 20600000 rtn 
+
+mouse_device_led1:
+428a 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+428b 2020428f branch mouse_led_blink 
+
+mouse_device_led2:
+428c 6800c6f1 fetch 1 ,mem_config_device2_led_gpio 
+428d 2020428f branch mouse_led_blink 
+
+mouse_device_led3:
+428e 6800c6f2 fetch 1 ,mem_config_device3_led_gpio 
+
+mouse_led_blink:
+428f 60008aa2 store 1 ,mem_temp 
+4290 20404482 call mouse_devce_led_off 
+4291 68008aa2 fetch 1 ,mem_temp 
+4292 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4293 da200000 arg 0 ,rega 
+4294 70471301 jam ui_led_state_blink_start ,mem_mouse_led_type 
+4295 20207d1e branch ui_led_blink_start_global 
+
+mouse_led_off:
+4296 da200000 arg 0 ,rega 
+4297 20207d19 branch ui_led_off_global 
+
+mouse_led_on:
+4298 da200000 arg 0 ,rega 
+4299 20207d14 branch ui_led_on_global 
+
+mouse4_0_bb_event_discovery_btn:
+429a 202041c1 branch mouse_le_clean_connect_flag 
+
+mouse_bt_hid_handshake:
+429b 7041e201 jam app_handshake_done ,mem_app_handshake_flag 
+429c 20403416 call app_lpm_mult_enable 
+429d 20403412 call app_bt_store_reconn_info 
+429e 58000000 setarg 0 
+429f 6001467e store 2 ,mem_discovery_timeout_timer_count 
+42a0 6000c680 store 1 ,mem_hid_handshake_timer_count 
+42a1 2020340e branch app_bt_enter_sniff 
+
+mouse_check_reconn_target:
+42a2 2040435f call mouse_cheak_select_device_by_switch 
+42a3 6800c720 fetch 1 ,mem_device_flag 
+42a4 6808c703 fetcht 1 ,mem_24g_device_number 
+42a5 98467c00 isub temp ,null 
+42a6 2022c2ab branch mouse_connect_24g_mode ,zero 
+42a7 6800c210 fetch 1 ,mem_xrecord_mode 
+42a8 c019c271 beq rec_3_mode ,mouse3_0_check_reconn_target 
+42a9 c01a4279 beq rec_4_mode ,mouse4_0_check_reconn_target 
+42aa 202042b0 branch mouse_start_discovery 
+
+mouse_connect_24g_mode:
+42ab 20403d57 call mouse_start_24g_mode 
+42ac c6130000 rtnmark1 mark_24g 
+42ad 6800c71e fetch 1 ,mem_reconn_times 
+42ae 243a4492 nbranch mouse_polling_device ,blank 
+42af 20600000 rtn 
+
+mouse_start_discovery:
+42b0 44f5c01d bpatch patch1d_3 ,mem_patch1d 
+42b1 68014682 fetch 2 ,mem_ui_state_map 
+42b2 c285c2b7 bbit1 ui_state_ble_adv ,mouse_start_discovery_norandom 
+42b3 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42b4 c30c42b7 bbit0 mouse_enable_ble_random_addre ,mouse_start_discovery_norandom 
+42b5 180a7e00 random pdata 
+42b6 6000c4a1 store 1 ,mem_le_lap + 1 
+
+mouse_start_discovery_norandom:
+42b7 20403418 call app_lpm_mult_disable 
+42b8 68014687 fetch 2 ,mem_discovery_timeout 
+42b9 600146ac store 2 ,mem_mouse_discovery_timer 
+42ba 70016d06 jam 6 ,mem_connection_options 
+42bb 58000000 setarg 0 
+42bc 600146b0 store 2 ,mem_mouse_no_data_timer 
+42bd 600146ae store 2 ,mem_mouse_direct_timer 
+42be d8e00007 arg mouse_store_eeprom_flag ,queue 
+42bf 204043ce call mouse_enable_function_flag 
+42c0 204043ca call mouse_bt_discovery_button_down_disable 
+42c1 6800c092 fetch 1 ,mem_device_option 
+42c2 2feffe01 isolate1 mode_4_mouse ,pdata 
+42c3 2040fdf4 call check_51cmd_adv ,true 
+42c4 6800c092 fetch 1 ,mem_device_option 
+42c5 2feffe00 isolate1 mode_3_mouse ,pdata 
+42c6 2040fddd call check_51cmd_start_discovery ,true 
+42c7 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42c8 c28e422e bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_start_blink 
+42c9 20204282 branch mouse_discover_setting_led_gpio 
+
+mouse_stop_discovery:
+42ca 44f6401d bpatch patch1d_4 ,mem_patch1d 
+42cb 6800c092 fetch 1 ,mem_device_option 
+42cc 2feffe01 isolate1 mode_4_mouse ,pdata 
+42cd 2040c2d4 call mouse_stop_le_adv ,true 
+42ce 6800c092 fetch 1 ,mem_device_option 
+42cf 2feffe00 isolate1 mode_3_mouse ,pdata 
+42d0 2040c2d7 call mouse_stop_bt3_discovery ,true 
+42d1 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42d2 c28e421a bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_led_blink_stop 
+42d3 20204482 branch mouse_devce_led_off 
+
+mouse_stop_le_adv:
+42d4 58000000 setarg 0 
+42d5 600146ae store 2 ,mem_mouse_direct_timer 
+42d6 20207dfa branch check_51cmd_stop_adv 
+
+mouse_stop_bt3_discovery:
+42d7 58000000 setarg 0 
+42d8 600146ac store 2 ,mem_mouse_discovery_timer 
+42d9 20207de2 branch check_51cmd_stop_discovery 
+
+mouse_store_remote_bdaddr:
+42da 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42db c4038000 rtnbit0 mouse_store_eeprom_flag 
+42dc d8e00007 arg mouse_store_eeprom_flag ,queue 
+42dd 204043d2 call mouse_disable_function_flag 
+42de 204042e8 call mouse_check_device_addr 
+
+mouse_unplug_clean_bdaddr:
+42df 204042fb call mouse_before_store_reconn_info 
+42e0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42e1 c289c435 bbit1 mouse_enable_flash ,mouse_store_flash_device_info 
+42e2 c28a42e4 bbit1 mouse_enable_eeprom ,mouse_store_eeprom_device_info 
+42e3 20600000 rtn 
+
+mouse_store_eeprom_device_info:
+42e4 d8400058 arg 88 ,temp 
+42e5 da204720 arg mem_device_flag ,rega 
+42e6 da400000 arg mouse_info_eeprom_offect ,regb 
+42e7 202065d1 branch iicd_write_protect_eep_data 
+
+mouse_check_device_addr:
+42e8 68008185 fetch 1 ,mem_record_bt_mode 
+42e9 c01a42ec beq rec_4_mode ,mouse_check_le_device_addr 
+42ea c019c2ef beq rec_3_mode ,mouse_check_bt_device_addr 
+42eb 20600000 rtn 
+
+mouse_check_le_device_addr:
+42ec 6000c6c7 store 1 ,mem_device_addr_temp 
+42ed 6803044f fetch 6 ,mem_le_plap 
+42ee 202042f1 branch mouse_check_bt_device_addr_common 
+
+mouse_check_bt_device_addr:
+42ef 6000c6c7 store 1 ,mem_device_addr_temp 
+42f0 68030040 fetch 6 ,mem_plap 
+
+mouse_check_bt_device_addr_common:
+42f1 600346c8 store 6 ,mem_device_addr_temp + 1 
+42f2 6803c6c7 fetch 7 ,mem_device_addr_temp 
+42f3 d8c04721 arg mem_device1_type ,contr 
+42f4 df200003 arg 3 ,loopcnt 
+
+mouse_check_device_addr_end:
+42f5 e8cb8000 ifetcht 7 ,contr 
+42f6 98467c00 isub temp ,null 
+42f7 2022c310 branch mouse_clean_addr ,zero 
+42f8 18c08c16 increase 22 ,contr 
+42f9 c20042f5 loop mouse_check_device_addr_end 
+42fa 20600000 rtn 
+
+mouse_before_store_reconn_info:
+42fb da204721 arg mem_device1_type ,rega 
+42fc 6800c720 fetch 1 ,mem_device_flag 
+42fd 1fe0ffff increase -1 ,pdata 
+42fe 1feffe1d mul32 pdata ,29 ,pdata 
+42ff 9a20a200 iadd rega ,rega 
+4300 68008185 fetch 1 ,mem_record_bt_mode 
+4301 e2208000 istore 1 ,rega 
+4302 c01a4305 beq rec_4_mode ,mouse_store_le_device 
+4303 c019c30c beq rec_3_mode ,mouse_store_bt_device 
+4304 20600000 rtn 
+
+mouse_store_le_device:
+4305 6803044f fetch 6 ,mem_le_plap 
+4306 e0a30000 istore 6 ,contw 
+4307 d8c04419 arg mem_le_ltk ,contr 
+4308 20407ebf call memcpy16 
+4309 680344a0 fetch 6 ,mem_le_lap 
+430a e0a30000 istore 6 ,contw 
+430b 20600000 rtn 
+
+mouse_store_bt_device:
+430c 68030040 fetch 6 ,mem_plap 
+430d e0a30000 istore 6 ,contw 
+430e d8c041be arg mem_link_key ,contr 
+430f 20207ebf branch memcpy16 
+
+mouse_clean_addr:
+4310 18c08dfa increase -6 ,contr 
+4311 18c20a00 copy contr ,contw 
+4312 680b46c8 fetcht 6 ,mem_device_addr_temp + 1 
+4313 18408403 increase 3 ,temp 
+4314 e0ab0000 istoret 6 ,contw 
+4315 20600000 rtn 
+
+mouse_eeprom_load_recon_info:
+4316 d8400058 arg 88 ,temp 
+4317 da204720 arg mem_device_flag ,rega 
+4318 da400000 arg mouse_info_eeprom_offect ,regb 
+4319 204065df call iicd_read_eep_data 
+
+mouse_select_reconn_device:
+431a da204721 arg mem_device1_type ,rega 
+431b 6800c720 fetch 1 ,mem_device_flag 
+431c 6808c703 fetcht 1 ,mem_24g_device_number 
+431d 98467c00 isub temp ,null 
+431e 20628000 rtn zero 
+431f 1fe0ffff increase -1 ,pdata 
+4320 1feffe1d mul32 pdata ,29 ,pdata 
+4321 9a20a200 iadd rega ,rega 
+4322 ea208000 ifetch 1 ,rega 
+4323 6000c210 store 1 ,mem_xrecord_mode 
+4324 c019c327 beq rec_3_mode ,mouse_load_bt_device 
+4325 c01a432c beq rec_4_mode ,mouse_load_le_device 
+4326 20600000 rtn 
+
+mouse_load_bt_device:
+4327 e8c30000 ifetch 6 ,contr 
+
+mouse_load_bt_device_end:
+4328 600341d0 store 6 ,mem_hci_plap 
+4329 d8a041be arg mem_link_key ,contw 
+432a 20407ebf call memcpy16 
+432b 202067d7 branch check_link_key_load 
+
+mouse_load_le_device:
+432c e8c30000 ifetch 6 ,contr 
+
+mouse_load_le_device_end:
+432d 600341d0 store 6 ,mem_hci_plap 
+432e d8a04419 arg mem_le_ltk ,contw 
+432f 20407ebf call memcpy16 
+4330 e8c30000 ifetch 6 ,contr 
+4331 600344a0 store 6 ,mem_le_lap 
+4332 20600000 rtn 
+
+mouse_select_device:
+4333 6800c6f5 fetch 1 ,mem_config_function_enable 
+4334 c282c349 bbit1 enable_select_device_by_gpio_button ,mouse_select_device_by_button 
+4335 c2834359 bbit1 enable_select_device_by_switch ,mouse_select_device_by_switch 
+4336 20204337 branch mouse_select_device_by_combination_key 
+
+mouse_select_device_by_combination_key:
+4337 20404083 call mouse_check_key_gpio 
+4338 c003433e beq mouse_rm_button ,mouse_select_device_commbination_key_down 
+
+mouse_select_device_commbination_key_up:
+4339 7046d81e jam 30 ,mem_combination_select_device_count 
+433a 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+433b c1008000 rtneq dpi_button_state_up 
+433c 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+433d 20600000 rtn 
+
+mouse_select_device_commbination_key_down:
+433e 20404343 call mouse_combination_select_device_timer 
+433f 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+4340 c1000000 rtneq dpi_button_state_down 
+4341 7046d900 jam dpi_button_state_down ,mem_select_device_button_statue 
+4342 202043c0 branch mouse_select_device_enable 
+
+mouse_combination_select_device_timer:
+4343 6800c6d8 fetch 1 ,mem_combination_select_device_count 
+4344 207a0000 rtn blank 
+4345 1fe0ffff pincrease -1 
+4346 6000c6d8 store 1 ,mem_combination_select_device_count 
+4347 247a0000 nrtn blank 
+4348 20204370 branch mouse_ready_reconnection_by_button 
+
+mouse_select_device_by_button:
+4349 6800c6ed fetch 1 ,mem_config_select_device_button_gpio 
+434a c17f8000 rtneq gpio_disable 
+434b 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+434c 2040681d call gpio_get_bit 
+434d 2020c354 branch mouse_select_device_button_down ,true 
+
+mouse_select_device_button_up:
+434e 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+434f c1008000 rtneq dpi_button_state_up 
+4350 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+4351 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4352 c3830000 rtnbit1 mouse_long_bt_button_flag 
+4353 20204370 branch mouse_ready_reconnection_by_button 
+
+mouse_select_device_button_down:
+4354 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+4355 c1000000 rtneq dpi_button_state_down 
+4356 7046d900 jam dpi_button_state_down ,mem_select_device_button_statue 
+4357 d8e00006 arg mouse_long_bt_button_flag ,queue 
+4358 202043d2 branch mouse_disable_function_flag 
+
+mouse_select_device_by_switch:
+4359 68008004 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+435a c4030000 rtnbit0 enable_select_device_by_switch 
+435b 6800c720 fetch 1 ,mem_device_flag 
+435c c000c369 beq mode_bt_device1 ,mouse_select1_device 
+435d c001436c beq mode_24g_device ,mouse_select2_device 
+435e 20600000 rtn 
+
+mouse_cheak_select_device_by_switch:
+435f 68008004 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+4360 c4030000 rtnbit0 enable_select_device_by_switch 
+4361 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+4362 2040681d call gpio_get_bit 
+4363 2020c366 branch mouse_cheak_select_24gdevice ,true 
+
+mouse_select_btdevice:
+4364 70472001 jam mode_bt_device1 ,mem_device_flag 
+4365 20600000 rtn 
+
+mouse_cheak_select_24gdevice:
+4366 6800c703 fetch 1 ,mem_24g_device_number 
+4367 6000c720 store 1 ,mem_device_flag 
+4368 20600000 rtn 
+
+mouse_select1_device:
+4369 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+436a 2420c370 nbranch mouse_ready_reconnection_by_button ,true 
+436b 20600000 rtn 
+
+mouse_select2_device:
+436c 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+436d 2040681d call gpio_get_bit 
+436e 2020c354 branch mouse_select_device_button_down ,true 
+436f 20600000 rtn 
+
+mouse_ready_reconnection_by_button:
+4370 6808c720 fetcht 1 ,mem_device_flag 
+4371 18408401 increase 1 ,temp 
+4372 6800c6d2 fetch 1 ,mem_device_number 
+4373 98467c00 isub temp ,null 
+4374 244143cc ncall mouse_select_device_count_clean ,positive 
+4375 6008c720 storet 1 ,mem_device_flag 
+4376 7041bd00 jam 0 ,mem_link_key_exists 
+4377 2040437a call mouse_store_device_number2eeprom 
+4378 204043c0 call mouse_select_device_enable 
+4379 2020437e branch mouse_set_reconnection 
+
+mouse_store_device_number2eeprom:
+437a d8400001 arg 1 ,temp 
+437b da204720 arg mem_device_flag ,rega 
+437c da400000 arg 0 ,regb 
+437d 20206606 branch iicd_write_eep_data 
+
+mouse_set_reconnection:
+437e 20404381 call mouse_stop_bluetooth_mode 
+437f 204043c2 call mouse_select_device_disable 
+4380 202041d7 branch mouse_soft_reset 
+
+mouse_stop_bluetooth_mode:
+4381 68014682 fetch 2 ,mem_ui_state_map 
+4382 c283c392 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+4383 c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+4384 c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+4385 202042ca branch mouse_stop_discovery 
+
+mouse_disconnect:
+4386 44f6c01d bpatch patch1d_5 ,mem_patch1d 
+4387 58000000 setarg 0 
+4388 600146b0 store 2 ,mem_mouse_no_data_timer 
+4389 68014682 fetch 2 ,mem_ui_state_map 
+438a c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+438b 68014682 fetch 2 ,mem_ui_state_map 
+438c c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+438d 20600000 rtn 
+
+mouse_irtual_cable_unplug:
+438e 58000001 setarg 0x01 
+438f 60030040 store 6 ,mem_plap 
+4390 70018533 jam rec_3_mode ,mem_record_bt_mode 
+4391 202042df branch mouse_unplug_clean_bdaddr 
+
+mouse_cancel_reconnect:
+4392 204043c4 call mouse_bt_cannel_reconn_enable 
+4393 20207e2f branch check_51cmd_bb_reconn_cancel 
+
+mouse_bt_discovery_by_button:
+4394 6800c6ec fetch 1 ,mem_config_bt_button_gpio 
+4395 c17f8000 rtneq gpio_disable 
+4396 6808c6ec fetcht 1 ,mem_config_bt_button_gpio 
+4397 2040681d call gpio_get_bit 
+4398 2020c39f branch mouse_bt_discovery_button_down ,true 
+
+mouse_bt_discovery_button_up:
+4399 6800c685 fetch 1 ,mem_ui_button_timeout 
+439a 6000c6da store 1 ,mem_combination_ui_button_count 
+439b 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+439c c1008000 rtneq dpi_button_state_up 
+439d 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+439e 202043ca branch mouse_bt_discovery_button_down_disable 
+
+mouse_bt_discovery_button_down:
+439f 204043b5 call mouse_bt_discovry_timer 
+43a0 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+43a1 c1000000 rtneq dpi_button_state_down 
+43a2 7046db00 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+43a3 20407e2f call check_51cmd_bb_reconn_cancel 
+43a4 202043c8 branch mouse_bt_discovery_button_down_enable 
+
+mouse_bt_discovery_cheak:
+43a5 6800c6f5 fetch 1 ,mem_config_function_enable 
+43a6 c2824394 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
+
+mouse_bt_discovery_commbination_key:
+43a7 20404083 call mouse_check_key_gpio 
+43a8 c003c3af beq mouse_lmr_button ,mouse_bt_discovery_commbination_key_down 
+
+mouse_bt_discovery_commbination_key_up:
+43a9 6800c685 fetch 1 ,mem_ui_button_timeout 
+43aa 6000c6da store 1 ,mem_combination_ui_button_count 
+43ab 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+43ac c1008000 rtneq dpi_button_state_up 
+43ad 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+43ae 202043ca branch mouse_bt_discovery_button_down_disable 
+
+mouse_bt_discovery_commbination_key_down:
+43af 204043b5 call mouse_bt_discovry_timer 
+43b0 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+43b1 c1000000 rtneq dpi_button_state_down 
+43b2 7046db00 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+43b3 20407e2f call check_51cmd_bb_reconn_cancel 
+43b4 202043c8 branch mouse_bt_discovery_button_down_enable 
+
+mouse_bt_discovry_timer:
+43b5 da6046da arg mem_combination_ui_button_count ,regc 
+43b6 da4043b8 arg mouse_long_button_bt_discovry ,regb 
+43b7 2020336d branch timer_single_step 
+
+mouse_long_button_bt_discovry:
+43b8 d8e00006 arg mouse_long_bt_button_flag ,queue 
+43b9 204043ce call mouse_enable_function_flag 
+43ba 20403357 call app_evt_button_long_pressed 
+43bb 2020426c branch mouse_bb_event_discovery_btn 
+
+mouse_cpi_enable:
+43bc d8e00001 arg mouse_cpi_flag ,queue 
+43bd 202043ce branch mouse_enable_function_flag 
+
+mouse_cpi_disable:
+43be d8e00001 arg mouse_cpi_flag ,queue 
+43bf 202043d2 branch mouse_disable_function_flag 
+
+mouse_select_device_enable:
+43c0 d8e00000 arg mouse_select_device_flag ,queue 
+43c1 202043ce branch mouse_enable_function_flag 
+
+mouse_select_device_disable:
+43c2 d8e00000 arg mouse_select_device_flag ,queue 
+43c3 202043d2 branch mouse_disable_function_flag 
+
+mouse_bt_cannel_reconn_enable:
+43c4 d8e00002 arg mouse_bt_cannel_reconn_flag ,queue 
+43c5 202043ce branch mouse_enable_function_flag 
+
+mouse_bt_cannel_reconn_disable:
+43c6 d8e00002 arg mouse_bt_cannel_reconn_flag ,queue 
+43c7 202043d2 branch mouse_disable_function_flag 
+
+mouse_bt_discovery_button_down_enable:
+43c8 d8e00005 arg mouse_bt_discovery_button_down_flag ,queue 
+43c9 202043ce branch mouse_enable_function_flag 
+
+mouse_bt_discovery_button_down_disable:
+43ca d8e00005 arg mouse_bt_discovery_button_down_flag ,queue 
+43cb 202043d2 branch mouse_disable_function_flag 
+
+mouse_select_device_count_clean:
+43cc d8400001 arg 1 ,temp 
+43cd 20600000 rtn 
+
+mouse_enable_function_flag:
+43ce 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43cf f9207e00 qset1 pdata 
+43d0 600246d3 store mouse_flag_len ,mem_mouse_flag 
+43d1 20600000 rtn 
+
+mouse_disable_function_flag:
+43d2 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43d3 f93ffe00 qset0 pdata 
+43d4 600246d3 store mouse_flag_len ,mem_mouse_flag 
+43d5 20600000 rtn 
+
+mouse_adc_read:
+43d6 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43d7 c40d0000 rtnbit0 mouse_enable_adc 
+43d8 6800c6ce fetch 1 ,mem_adc_read_timer 
+43d9 1fe0fe01 increase 1 ,pdata 
+43da 6000c6ce store 1 ,mem_adc_read_timer 
+43db 1fe67c0a sub pdata ,10 ,null 
+43dc 20610000 rtn positive 
+43dd 7046ce00 jam 0 ,mem_adc_read_timer 
+43de 204068eb call adc_set_mode 
+43df 20406908 call vdd_calculate_by_mode 
+43e0 6001470f store 2 ,mem_mouse_vdd_now_vol 
+43e1 da204709 arg mem_mouse_vdd_calculate_set ,rega 
+43e2 20406930 call adc_bat_percent_lowpower_out 
+43e3 6800c231 fetch 1 ,mem_adc_power_flag 
+43e4 c280c4a0 bbit1 1 ,mouse_power_down 
+43e5 c30043e9 bbit0 0 ,mouse_adc_no_low_voltage 
+43e6 202043e7 branch mouse_adc_low_voltage 
+
+mouse_adc_low_voltage:
+43e7 d8e00004 arg mouse_low_voltage_flag ,queue 
+43e8 202043ce branch mouse_enable_function_flag 
+
+mouse_adc_no_low_voltage:
+43e9 d8e00004 arg mouse_low_voltage_flag ,queue 
+43ea 202043d2 branch mouse_disable_function_flag 
+
+mouse_low_voltage_led_timer:
+43eb 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43ec c4020000 rtnbit0 mouse_low_voltage_flag 
+43ed 6800c6ef fetch 1 ,mem_config_low_voltage_alarm_gpio 
+43ee 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+43ef 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+43f0 1fe0fe01 pincrease 1 
+43f1 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
+43f2 1fe67c14 sub pdata ,20 ,null 
+43f3 244143f9 ncall mouse_adc_low_volatage_led_timer_count_clean ,positive 
+43f4 c00143fb beq 2 ,mouse_low_voltage_led_on 
+43f5 c00243fe beq 4 ,mouse_low_voltage_led_off 
+43f6 c00343fb beq 6 ,mouse_low_voltage_led_on 
+43f7 c00443fe beq 8 ,mouse_low_voltage_led_off 
+43f8 20600000 rtn 
+
+mouse_adc_low_volatage_led_timer_count_clean:
+43f9 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
+43fa 202043fe branch mouse_low_voltage_led_off 
+
+mouse_low_voltage_led_on:
+43fb da200000 arg 0 ,rega 
+43fc 70471302 jam ui_led_state_lighting ,mem_mouse_led_type 
+43fd 20207d14 branch ui_led_on_global 
+
+mouse_low_voltage_led_off:
+43fe da200000 arg 0 ,rega 
+43ff 70471302 jam ui_led_state_lighting ,mem_mouse_led_type 
+4400 20207d19 branch ui_led_off_global 
+
+mouse_g24_package_data:
+4401 20403f97 call mouse_motion 
+4402 24740000 nrtn user 
+4403 da200007 arg 7 ,rega 
+4404 da40469a arg mem_mouse_key ,regb 
+4405 20600000 rtn 
+
+mouse_g24_enter_lpm:
+4406 6800c78b fetch 1 ,mem_mouse_24g_enter_lpm_enable 
+4407 207a0000 rtn blank 
+4408 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+4409 2040681d call gpio_get_bit 
+440a 2040c410 call mouse_24g_dpi_delay_init ,true 
+440b 6800c704 fetch 1 ,mem_24g_enter_lpm_timer 
+440c 247a0000 nrtn blank 
+440d 20404083 call mouse_check_key_gpio 
+440e 247a0000 nrtn blank 
+440f 20202d83 branch g24_lpm_long_sleep 
+
+mouse_24g_dpi_delay_init:
+4410 6800c6e7 fetch 1 ,mem_dpi_button_gpio 
+4411 c17f8000 rtneq ui_button_gpio_disable 
+4412 7047040a jam 10 ,mem_24g_enter_lpm_timer 
+4413 20600000 rtn 
+
+mouse_load_flash_info_cheak:
+4414 20404423 call mouse_load_flash_flag 
+4415 68014778 fetch 2 ,mem_store_flag 
+4416 d840aa55 arg eeprom_init_flag ,temp 
+4417 98467c00 isub temp ,null 
+4418 2022c42b branch mouse_load_flash_device_info ,zero 
+4419 60094778 storet 2 ,mem_store_flag 
+441a 2040441c call mouse_ble_init_address 
+441b 20204435 branch mouse_store_flash_device_info 
+
+mouse_ble_init_address:
+441c 680344a0 fetch 6 ,mem_le_lap 
+441d 60034738 store 6 ,mem_device1_locall_addr 
+441e 1fe0ff00 add pdata ,0x0100 ,pdata 
+441f 60034755 store 6 ,mem_device2_locall_addr 
+4420 1fe0ff00 add pdata ,0x0100 ,pdata 
+4421 60034772 store 6 ,mem_device3_locall_addr 
+4422 20600000 rtn 
+
+mouse_load_flash_flag:
+4423 58004778 setarg mem_store_flag 
+4424 d8404720 arg mem_mouse_information_start ,temp 
+4425 98460400 isub temp ,temp 
+4426 6801c700 fetch 3 ,mem_flash_base 
+4427 9840fe00 iadd temp ,pdata 
+4428 d8400002 arg 2 ,temp 
+4429 da204778 arg mem_store_flag ,rega 
+442a 20206562 branch spid_read_flash 
+
+mouse_load_flash_device_info:
+442b 5800477f setarg mem_mouse_information_end 
+442c d8404720 arg mem_mouse_information_start ,temp 
+442d 98460400 isub temp ,temp 
+442e 6801c700 fetch 3 ,mem_flash_base 
+442f da204720 arg mem_mouse_information_start ,rega 
+4430 20406562 call spid_read_flash 
+4431 2040431a call mouse_select_reconn_device 
+4432 6802477b fetch 4 ,mem_mouse_24g_addr 
+4433 20402c7a call g24_head_ptr2regc 
+4434 2020322c branch g24_store_mem_addr 
+
+mouse_store_flash_device_info:
+4435 5800477f setarg mem_mouse_information_end 
+4436 d8404720 arg mem_mouse_information_start ,temp 
+4437 98460400 isub temp ,temp 
+4438 da204720 arg mem_mouse_information_start ,rega 
+4439 6801c700 fetch 3 ,mem_flash_base 
+443a 20206514 branch flash_write 
+
+mouse_store_eerpom_dpi:
+443b d8400001 arg 1 ,temp 
+443c da20477a arg mem_mouse_dpi ,rega 
+443d da40005a arg mouse_dpi_eeprom_offect ,regb 
+443e 202065d1 branch iicd_write_protect_eep_data 
+
+mouse_load_eeprom_dpi:
+443f d8400001 arg 1 ,temp 
+4440 da20477a arg mem_mouse_dpi ,rega 
+4441 da40005a arg mouse_dpi_eeprom_offect ,regb 
+4442 202065df branch iicd_read_eep_data 
+
+mouse_statue_cheak_timer:
+4443 c6130000 rtnmark1 mark_24g 
+4444 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4445 c40b0000 rtnbit0 mouse_enable_statue_up 
+4446 6800c705 fetch 1 ,mem_mouse_1step_up_count 
+4447 1fe0fe01 pincrease 1 
+4448 1fe17e07 and pdata ,0x07 ,pdata 
+4449 6000c705 store 1 ,mem_mouse_1step_up_count 
+444a c1838000 rtnne 0x07 
+444b 68014682 fetch 2 ,mem_ui_state_map 
+444c c280444f bbit1 ui_state_bt_connected ,mouse_check_statue_up 
+444d c284c44f bbit1 ui_state_ble_connected ,mouse_check_statue_up 
+444e 20600000 rtn 
+
+mouse_check_statue_up:
+444f 44f7401d bpatch patch1d_6 ,mem_patch1d 
+4450 6800c706 fetch 1 ,mem_mouse_2step_up_count 
+4451 247a0000 nrtn blank 
+4452 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4453 c4040000 rtnbit0 mouse_statue_up_flag 
+4454 6800c6a5 fetch 1 ,mem_sensor_squal_reg 
+4455 204063fb call sensor_read 
+4456 6000c6a6 store 1 ,mem_sensor_iqc 
+4457 1fe67c10 sub pdata ,0x10 ,null 
+4458 2021445b branch mouse_statue_up_timer_init ,positive 
+4459 70470600 jam 0 ,mem_mouse_2step_up_count 
+445a 20600000 rtn 
+
+mouse_statue_up_timer_init:
+445b 7047061e jam 30 ,mem_mouse_2step_up_count 
+445c 20600000 rtn 
+
+mouse_statue_up_timer:
+445d da604706 arg mem_mouse_2step_up_count ,regc 
+445e da404460 arg mouse_statue_up ,regb 
+445f 2020336d branch timer_single_step 
+
+mouse_statue_up:
+4460 6800c6a5 fetch 1 ,mem_sensor_squal_reg 
+4461 20406414 call twspi_read 
+4462 1fe67c10 sub pdata ,0x10 ,null 
+4463 24610000 nrtn positive 
+4464 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4465 c4040000 rtnbit0 mouse_statue_up_flag 
+4466 d8e00008 arg mouse_statue_up_flag ,queue 
+4467 204043d2 call mouse_disable_function_flag 
+4468 70417200 jam 0 ,mem_lpm_mult 
+4469 7046c41e jam 30 ,mem_mouse_statue_led_timer 
+446a 20404482 call mouse_devce_led_off 
+446b 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+446c c28ac471 bbit1 mouse_enable_statue_up_three_led ,mouse_three_device_statue_up 
+
+mouse_two_device_statue_up:
+446d 6800c720 fetch 1 ,mem_device_flag 
+446e c000c489 beq mode_bt_device1 ,mouse_device1_led_on 
+446f c0014476 beq mode_bt_device2 ,mouse_device_blink_led_init 
+4470 20600000 rtn 
+
+mouse_three_device_statue_up:
+4471 6800c720 fetch 1 ,mem_device_flag 
+4472 c000c489 beq mode_bt_device1 ,mouse_device1_led_on 
+4473 c001448c beq mode_bt_device2 ,mouse_device2_led_on 
+4474 c001c48f beq mode_bt_device3 ,mouse_device3_led_on 
+4475 20600000 rtn 
+
+mouse_device_blink_led_init:
+4476 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+4477 2020428f branch mouse_led_blink 
+
+mouse_statue_led_off:
+4478 70417220 jam 0x20 ,mem_lpm_mult 
+4479 20204482 branch mouse_devce_led_off 
+
+mouse_devce1_led_off:
+447a 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+447b c17f8000 rtneq gpio_disable 
+447c 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+447d 20204296 branch mouse_led_off 
+
+mouse_devce2_led_off:
+447e 6800c6f1 fetch 1 ,mem_config_device2_led_gpio 
+447f c17f8000 rtneq gpio_disable 
+4480 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4481 20204296 branch mouse_led_off 
+
+mouse_devce_led_off:
+4482 20404296 call mouse_led_off 
+4483 2040447a call mouse_devce1_led_off 
+4484 2040447e call mouse_devce2_led_off 
+
+mouse_devce3_led_off:
+4485 6800c6f2 fetch 1 ,mem_config_device3_led_gpio 
+4486 c17f8000 rtneq gpio_disable 
+4487 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4488 20204296 branch mouse_led_off 
+
+mouse_device1_led_on:
+4489 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+448a 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+448b 20204298 branch mouse_led_on 
+
+mouse_device2_led_on:
+448c 6800c6f1 fetch 1 ,mem_config_device2_led_gpio 
+448d 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+448e 20204298 branch mouse_led_on 
+
+mouse_device3_led_on:
+448f 6800c6f2 fetch 1 ,mem_config_device3_led_gpio 
+4490 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4491 20204298 branch mouse_led_on 
+
+mouse_polling_device:
+4492 44f7c01d bpatch patch1d_7 ,mem_patch1d 
+4493 6800c71e fetch 1 ,mem_reconn_times 
+4494 1fe0ffff increase -1 ,pdata 
+4495 6000c71e store 1 ,mem_reconn_times 
+4496 6808c720 fetcht 1 ,mem_device_flag 
+4497 18408401 increase 1 ,temp 
+4498 6800c6d2 fetch 1 ,mem_device_number 
+4499 98467c00 isub temp ,null 
+449a 244143cc ncall mouse_select_device_count_clean ,positive 
+449b 6008c720 storet 1 ,mem_device_flag 
+449c 7041bd00 jam 0 ,mem_link_key_exists 
+449d 2040437a call mouse_store_device_number2eeprom 
+449e 204042fb call mouse_before_store_reconn_info 
+449f 202042a2 branch mouse_check_reconn_target 
+
+mouse_power_down:
+44a0 20404482 call mouse_devce_led_off 
+44a1 58000000 setarg 0 
+44a2 600400a1 store 8 ,mem_gpio_wakeup_low 
+44a3 20202b1f branch lpm_hibernate 
+
+remote_car_init:
+44a4 20758000 rtn wake 
+44a5 68108081 hfetch 1 ,core_gpio_sel1 
+44a6 1fe17ef0 and_into 0xf0 ,pdata 
+44a7 60108081 hstore 1 ,core_gpio_sel1 
+44a8 20406948 call keyscan_key_init 
+44a9 580044e6 setarg remote_car_le_before_hibernate 
+44aa 600141eb store 2 ,mem_cb_before_hibernate 
+44ab 580044e9 setarg remote_car_process_lpm_before 
+44ac 600141ed store 2 ,mem_cb_before_lpm 
+44ad 580044ef setarg remote_car_scale_process_idle 
+44ae 600141f3 store 2 ,mem_cb_idle_process 
+44af 580044f2 setarg remote_car_scale_process_bb_event 
+44b0 600141f5 store 2 ,mem_cb_bb_event_process 
+44b1 580033d0 setarg app_get_lpm_wake_lock 
+44b2 600141e9 store 2 ,mem_cb_check_wakelock 
+44b3 20402c7a call g24_head_ptr2regc 
+44b4 580045c2 setarg remote_car_g24_package_data 
+44b5 1a608ad8 add regc ,offset_24g_cb_data ,contw 
+44b6 e0a10000 istore 2 ,contw 
+44b7 580044ea setarg remote_car_g24_enter_lpm 
+44b8 1a608ada add regc ,offset_24g_cb_lpm_prepare ,contw 
+44b9 e0a10000 istore 2 ,contw 
+44ba 580044e9 setarg remote_car_process_lpm_before 
+44bb 1a608adc add regc ,offset_24g_cb_lpm_before ,contw 
+44bc e0a10000 istore 2 ,contw 
+44bd 5800450e setarg remote_car_event_timer 
+44be 600141fd store 2 ,mem_cb_event_timer 
+44bf 580044da setarg remote_car_power_off_signal 
+44c0 6001475b store 2 ,mem_remote_car_power_off_cb 
+44c1 580044d6 setarg remote_car_soft_switch_power_on_signal 
+44c2 6001475f store 2 ,mem_remote_car_power_standby_cb 
+44c3 58004560 setarg remote_car_send_key_data 
+44c4 6001470f store 2 ,mem_cb_remote_car_keyscan 
+44c5 44f8401e bpatch patch1e_0 ,mem_patch1e 
+44c6 204044e2 call remote_car_init_environment 
+44c7 20407e38 call queue_init 
+44c8 70417202 jam 2 ,mem_lpm_mult 
+44c9 6800c72b fetch 1 ,mem_remote_car_config_soft_switch_enable 
+44ca 6000c69a store 1 ,mem_remote_car_hard_soft_switch 
+44cb c00044d5 beq hard_switch ,remote_car_hard_switch_power_on_signal 
+44cc 6800c72c fetch 1 ,mem_remote_car_config_soft_switch_gpio 
+44cd 6000c686 store 1 ,mem_ui_button_gpio 
+
+remote_car_soft_switch_power_on_init:
+44ce 204044db call remote_car_ui_led_init 
+44cf 20407cd3 call ui_button_init 
+44d0 20407cdd call ui_button_polling 
+44d1 70475701 jam power_starting ,mem_remote_car_power_state 
+44d2 68014682 fetch 2 ,mem_ui_state_map 
+44d3 c3860000 rtnbit1 ui_state_btn_down 
+44d4 2020340a branch app_enter_hibernate 
+
+remote_car_hard_switch_power_on_signal:
+44d5 70475702 jam power_standby ,mem_remote_car_power_state 
+
+remote_car_soft_switch_power_on_signal:
+44d6 204044db call remote_car_ui_led_init 
+44d7 da200000 arg 0 ,rega 
+44d8 20407d1e call ui_led_blink_start_global 
+
+remote_car_connect_24g_mode:
+44d9 20202ee4 branch g24_auto_pair_start 
+
+remote_car_power_off_signal:
+44da 202044db branch remote_car_ui_led_init 
+
+remote_car_ui_led_init:
+44db 44f8c01e bpatch patch1e_1 ,mem_patch1e 
+44dc 6800c729 fetch 1 ,mem_remote_car_config_connect_led_gpio 
+44dd c0ffc4e0 bne invalid_pin_num ,remote_car_pairing_led_gpio_set 
+
+remote_car_ui_led_init_1:
+44de 6808c706 fetcht 1 ,mem_remote_car_led_map 
+44df 2020680e branch gpio_config_output 
+
+remote_car_pairing_led_gpio_set:
+44e0 6000c706 store 1 ,mem_remote_car_led_map 
+44e1 202044de branch remote_car_ui_led_init_1 
+
+remote_car_init_environment:
+44e2 20402c9d call g24_set_device_addr 
+44e3 68014753 fetch 2 ,mem_remote_car_no_data_timeout 
+44e4 60014755 store 2 ,mem_remote_car_no_data_timer 
+44e5 20204515 branch remote_car_get_adc_default_data 
+
+remote_car_le_before_hibernate:
+
+remote_car_in_enter_hibernate:
+44e6 20406835 call gpio_set_before_lpm_common 
+44e7 204044e9 call remote_car_process_lpm_before 
+44e8 2020340a branch app_enter_hibernate 
+
+remote_car_process_lpm_before:
+44e9 2020696c branch keyscan_process_lpm_before 
+
+remote_car_g24_enter_lpm:
+44ea 6800c765 fetch 1 ,mem_remote_car_24g_enter_lpm_enable 
+44eb 207a0000 rtn blank 
+44ec 20202d83 branch g24_lpm_long_sleep 
+
+remote_car_process_auto_pair_exit:
+44ed 20600000 rtn 
+
+remote_car_key_scan_process:
+44ee 20206978 branch keyscan_key_process 
+
+remote_car_scale_process_idle:
+44ef 20404544 call remote_car_rocker_process 
+44f0 20404503 call remote_car_24g_status_process 
+44f1 202044ee branch remote_car_key_scan_process 
+
+remote_car_scale_process_bb_event:
+44f2 1a627e00 copy regc ,pdata 
+44f3 c016b431 beq bt_evt_button_up ,app_event_button_up 
+44f4 c008341a beq bt_evt_button_long_pressed ,app_button_long_pressed 
+44f5 c01cc4fb beq bt_evt_24g_pairing_complete ,remote_car_24g_pairing_complete 
+44f6 c01e44ff beq bt_evt_24g_attempt_success ,remote_car_24g_attempt_success 
+44f7 c01d44f9 beq bt_evt_24g_attempt_fail ,remote_car_24g_attempt_fail 
+44f8 20600000 rtn 
+
+remote_car_24g_attempt_fail:
+44f9 70476501 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+44fa 20600000 rtn 
+
+remote_car_24g_pairing_complete:
+44fb 70476501 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+44fc 70476301 jam work_paired ,mem_remote_car_24g_auto_work_step 
+44fd 70476401 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+44fe 20600000 rtn 
+
+remote_car_24g_attempt_success:
+44ff 70476501 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+4500 70476301 jam work_paired ,mem_remote_car_24g_auto_work_step 
+4501 70476401 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+4502 20600000 rtn 
+
+remote_car_24g_status_process:
+4503 6800c763 fetch 1 ,mem_remote_car_24g_auto_work_step 
+4504 c1000000 rtneq power_on 
+4505 6800c762 fetch 1 ,mem_remote_car_24g_status 
+4506 c1008000 rtneq work_paired 
+4507 70476201 jam work_paired ,mem_remote_car_24g_status 
+
+remote_car_scale_process_paired:
+4508 da200000 arg 0 ,rega 
+4509 20207d19 branch ui_led_off_global 
+
+remote_car_scale_process_shutdown:
+450a da200000 arg 0 ,rega 
+450b 20407d19 call ui_led_off_global 
+450c 204044db call remote_car_ui_led_init 
+450d 2020340a branch app_enter_hibernate 
+
+remote_car_event_timer:
+450e 2040337b call app_power_timer 
+450f 20204510 branch remote_car_no_data_timer 
+
+remote_car_no_data_timer:
+4510 6800c72d fetch 1 ,mem_remote_car_config_timeout_shutdown_enable 
+4511 207a0000 rtn blank 
+4512 da604755 arg mem_remote_car_no_data_timer ,regc 
+4513 da40450a arg remote_car_scale_process_shutdown ,regb 
+4514 20203374 branch timer_single_step_2b 
+
+remote_car_get_adc_default_data:
+4515 2040451a call remote_car_rocker_get_x 
+4516 6009471a storet 2 ,mem_current_vdd_value_default_mid_x 
+4517 2040451f call remote_car_rocker_get_y 
+4518 6009471c storet 2 ,mem_current_vdd_value_default_mid_y 
+4519 20600000 rtn 
+
+remote_car_rocker_data_get:
+
+remote_car_rocker_get_x:
+451a 6801471a fetch 2 ,mem_current_vdd_value_default_mid_x 
+451b 6001471e store 2 ,mem_current_vdd_value_default_mid_temp 
+451c 20404540 call remote_car_get_adc_from_gpio6 
+451d 20404525 call remote_car_rocker_get_value 
+451e 6000c724 store 1 ,mem_rocker_status 
+
+remote_car_rocker_get_y:
+451f 6801471c fetch 2 ,mem_current_vdd_value_default_mid_y 
+4520 6001471e store 2 ,mem_current_vdd_value_default_mid_temp 
+4521 20404542 call remote_car_get_adc_from_gpio7 
+4522 20404525 call remote_car_rocker_get_value 
+4523 6000c725 store 1 ,mem_rocker_status + 1 
+4524 20600000 rtn 
+
+remote_car_rocker_get_value:
+4525 68014720 fetch 2 ,mem_current_vdd_default_range 
+4526 1fe22200 copy pdata ,rega 
+4527 6801471e fetch 2 ,mem_current_vdd_value_default_mid_temp 
+4528 2040452e call remote_car_rocker_mid_value_adjust 
+4529 6800c719 fetch 1 ,mem_rocker_work_status 
+452a 243a4537 nbranch remote_car_rocker_translate_key ,blank 
+452b 24610000 nrtn positive 
+452c 6809471e fetcht 2 ,mem_current_vdd_value_default_mid_temp 
+452d 20600000 rtn 
+
+remote_car_rocker_mid_value_adjust:
+452e 98467e00 isub temp ,pdata 
+452f 20214534 branch remote_car_rocker_mid_adjust_positive ,positive 
+4530 1fe67e00 sub pdata ,0 ,pdata 
+4531 70471801 jam 1 ,mem_rocker_negative_flag 
+4532 9a267c00 isub rega ,null 
+4533 20600000 rtn 
+
+remote_car_rocker_mid_adjust_positive:
+4534 70471800 jam 0 ,mem_rocker_negative_flag 
+4535 9a267c00 isub rega ,null 
+4536 20600000 rtn 
+
+remote_car_rocker_translate_key:
+4537 2421453e nbranch remote_car_rocker_middle_key ,positive 
+4538 6800c718 fetch 1 ,mem_rocker_negative_flag 
+4539 243a453c nbranch remote_car_rocker_negative_key ,blank 
+
+remote_car_rocker_positive_key:
+453a 58000001 setarg rocker_positive_key 
+453b 20600000 rtn 
+
+remote_car_rocker_negative_key:
+453c 58000002 setarg rocker_negative_key 
+453d 20600000 rtn 
+
+remote_car_rocker_middle_key:
+453e 58000000 setarg rocker_middle_key 
+453f 20600000 rtn 
+
+remote_car_get_adc_from_gpio6:
+4540 70422e33 jam 0x33 ,mem_adc_channel 
+4541 202068eb branch adc_set_mode 
+
+remote_car_get_adc_from_gpio7:
+4542 70422e34 jam 0x34 ,mem_adc_channel 
+4543 202068eb branch adc_set_mode 
+
+remote_car_rocker_process:
+4544 6800c72a fetch 1 ,mem_remote_car_config_check_way 
+4545 c1808000 rtnne car_remote_check_rocker 
+
+remote_car_read_rocker_check_start:
+4546 44f9401e bpatch patch1e_2 ,mem_patch1e 
+4547 70471901 jam 1 ,mem_rocker_work_status 
+4548 2040451a call remote_car_rocker_data_get 
+4549 68014724 fetch 2 ,mem_rocker_status 
+454a 68094722 fetcht 2 ,mem_rocker_last_status 
+454b 98467c00 isub temp ,null 
+454c 20628000 rtn zero 
+454d 60014722 store 2 ,mem_rocker_last_status 
+454e 20404550 call remote_car_rocker_x_to_key 
+454f 20204554 branch remote_car_rocker_y_to_key 
+
+remote_car_rocker_x_to_key:
+4550 6800c724 fetch 1 ,mem_rocker_x_status 
+4551 203a455a branch rocker_to_queue_set_0 ,blank 
+4552 1fe0ffff increase -1 ,pdata 
+4553 20204557 branch remote_car_rocker_to_key 
+
+remote_car_rocker_y_to_key:
+4554 6800c725 fetch 1 ,mem_rocker_y_status 
+4555 203a455d branch rocker_to_queue_set_2 ,blank 
+4556 1fe0fe01 increase 1 ,pdata 
+
+remote_car_rocker_to_key:
+4557 1fe20e00 copy pdata ,queue 
+4558 da200001 arg 1 ,rega 
+4559 20204560 branch remote_car_send_key_data 
+
+rocker_to_queue_set_0:
+455a d8e00000 arg 0 ,queue 
+455b da200000 arg 0 ,rega 
+455c 20204560 branch remote_car_send_key_data 
+
+rocker_to_queue_set_2:
+455d d8e00002 arg 2 ,queue 
+455e da200000 arg 0 ,rega 
+455f 20204560 branch remote_car_send_key_data 
+
+remote_car_send_key_data:
+4560 1a227e00 copy rega ,pdata 
+4561 6000c761 store 1 ,mem_remote_key_status 
+4562 6800c763 fetch 1 ,mem_remote_car_24g_auto_work_step 
+4563 c0002ee4 beq power_on ,g24_auto_pair_start 
+4564 68014753 fetch 2 ,mem_remote_car_no_data_timeout 
+4565 60014755 store 2 ,mem_remote_car_no_data_timer 
+4566 6800c761 fetch 1 ,mem_remote_key_status 
+4567 203a4580 branch remote_car_key_is_release ,blank 
+
+remote_car_key_is_press:
+4568 44f9c01e bpatch patch1e_3 ,mem_patch1e 
+4569 da200000 arg 0 ,rega 
+456a 20407d14 call ui_led_on_global 
+
+remote_car_attack_key_press:
+456b 18e27e00 copy queue ,pdata 
+456c c00245a3 beq 4 ,remote_car_send_attack_key4_press 
+456d c002c5a5 beq 5 ,remote_car_send_attack_key5_press 
+456e c00345a7 beq 6 ,remote_car_send_fire_key6_press 
+
+remote_car_motor_key_press:
+456f 2040458b call remote_car_device_layout_select 
+4570 c0004574 beq control_f_b_ten ,remote_car_single_motor_key_is_press 
+4571 c001457a beq control_l_r_ten ,remote_car_double_motor_key_press 
+4572 c001c574 beq control_l_r_lr ,remote_car_single_motor_key_is_press 
+4573 20600000 rtn 
+
+remote_car_single_motor_key_is_press:
+4574 18e27e00 copy queue ,pdata 
+4575 c000458f beq 0 ,remote_car_send_motor1_key0_press 
+4576 c000c591 beq 1 ,remote_car_send_motor1_key1_press 
+4577 c0014593 beq 2 ,remote_car_send_motor2_key2_press 
+4578 c001c595 beq 3 ,remote_car_send_motor2_key3_press 
+4579 20600000 rtn 
+
+remote_car_double_motor_key_press:
+457a 18e27e00 copy queue ,pdata 
+457b c0004597 beq 0 ,remote_car_send_double_motor_key0_press 
+457c c000c59a beq 1 ,remote_car_send_double_motor_key1_press 
+457d c001459d beq 2 ,remote_car_send_double_motor_key2_press 
+457e c001c5a0 beq 3 ,remote_car_send_double_motor_key3_press 
+457f 20600000 rtn 
+
+remote_car_key_is_release:
+4580 44fa401e bpatch patch1e_4 ,mem_patch1e 
+4581 da200000 arg 0 ,rega 
+4582 20407d19 call ui_led_off_global 
+
+remote_car_attack_key_release:
+4583 18e27e00 copy queue ,pdata 
+4584 c00245bc beq 4 ,remote_car_send_attack_key4_rel 
+4585 c002c5bc beq 5 ,remote_car_send_attack_key5_rel 
+
+remote_car_motor_key_release:
+4586 2040458b call remote_car_device_layout_select 
+4587 c00045a9 beq control_f_b_ten ,remote_car_single_motor_key_rel 
+4588 c00145af beq control_l_r_ten ,remote_car_double_motor_key_rel 
+4589 c001c5a9 beq control_l_r_lr ,remote_car_single_motor_key_rel 
+458a 20600000 rtn 
+
+remote_car_device_layout_select:
+458b 6800c728 fetch 1 ,mem_remote_car_config_layout 
+458c 6808c727 fetcht 1 ,mem_remote_car_config_key_map 
+458d 9841fe00 ior temp ,pdata 
+458e 20600000 rtn 
+
+remote_car_send_motor1_key0_press:
+458f 70473401 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+4590 202045be branch remote_car_send_key 
+
+remote_car_send_motor1_key1_press:
+4591 70473402 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+4592 202045be branch remote_car_send_key 
+
+remote_car_send_motor2_key2_press:
+4593 70473601 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+4594 202045be branch remote_car_send_key 
+
+remote_car_send_motor2_key3_press:
+4595 70473602 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+4596 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key0_press:
+4597 70473401 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+4598 70473601 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+4599 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key1_press:
+459a 70473402 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+459b 70473602 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+459c 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key2_press:
+459d 70473402 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+459e 70473601 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+459f 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key3_press:
+45a0 70473401 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+45a1 70473602 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+45a2 202045be branch remote_car_send_key 
+
+remote_car_send_attack_key4_press:
+45a3 70473801 jam motor_positive ,mem_remote_car_24g_motor3_payload 
+45a4 202045be branch remote_car_send_key 
+
+remote_car_send_attack_key5_press:
+45a5 70473802 jam motor_negative ,mem_remote_car_24g_motor3_payload 
+45a6 202045be branch remote_car_send_key 
+
+remote_car_send_fire_key6_press:
+45a7 70474101 jam 0x01 ,mem_remote_car_24g_fire_send_payload 
+45a8 202045c0 branch remote_car_send_attack 
+
+remote_car_single_motor_key_rel:
+45a9 18e27e00 copy queue ,pdata 
+45aa c00045b5 beq 0 ,remote_car_send_motor1_key0_rel 
+45ab c000c5b5 beq 1 ,remote_car_send_motor1_key1_rel 
+45ac c00145b7 beq 2 ,remote_car_send_motor2_key2_rel 
+45ad c001c5b7 beq 3 ,remote_car_send_motor2_key3_rel 
+45ae 20600000 rtn 
+
+remote_car_double_motor_key_rel:
+45af 18e27e00 copy queue ,pdata 
+45b0 c00045b9 beq 0 ,remote_car_send_double_motor_key0_rel 
+45b1 c000c5b9 beq 1 ,remote_car_send_double_motor_key1_rel 
+45b2 c00145b9 beq 2 ,remote_car_send_double_motor_key2_rel 
+45b3 c001c5b9 beq 3 ,remote_car_send_double_motor_key3_rel 
+45b4 20600000 rtn 
+
+remote_car_send_motor1_key0_rel:
+
+remote_car_send_motor1_key1_rel:
+45b5 70473400 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+45b6 202045be branch remote_car_send_key 
+
+remote_car_send_motor2_key2_rel:
+
+remote_car_send_motor2_key3_rel:
+45b7 70473600 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+45b8 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key0_rel:
+
+remote_car_send_double_motor_key1_rel:
+
+remote_car_send_double_motor_key2_rel:
+
+remote_car_send_double_motor_key3_rel:
+45b9 70473400 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+45ba 70473600 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+45bb 202045be branch remote_car_send_key 
+
+remote_car_send_attack_key4_rel:
+
+remote_car_send_attack_key5_rel:
+45bc 70473800 jam motor_stop ,mem_remote_car_24g_motor3_payload 
+45bd 202045be branch remote_car_send_key 
+
+remote_car_send_key:
+45be da20472e arg mem_remote_car_24g_motor_packet ,rega 
+45bf 20207e3d branch queue_push 
+
+remote_car_send_attack:
+45c0 da20473b arg mem_remote_car_24g_fire_packet ,rega 
+45c1 20207e3d branch queue_push 
+
+remote_car_g24_package_data:
+45c2 6800c764 fetch 1 ,mem_remote_car_24g_pair_success_flag 
+45c3 c000c5cc beq work_paired ,remote_car_g24_send_empty 
+45c4 da204744 arg mem_remote_car_24g_tx_temp ,rega 
+45c5 20407e54 call queue_pop 
+45c6 243445d1 nbranch remote_car_moto_data ,user 
+
+remote_car_g24_package_data_continue:
+45c7 d8c04744 arg mem_remote_car_24g_tx_temp ,contr 
+45c8 e8c08000 ifetch 1 ,contr 
+45c9 1fe22200 copy pdata ,rega 
+45ca da404745 arg mem_remote_car_24g_tx_temp + 1 ,regb 
+45cb 20600000 rtn 
+
+remote_car_g24_send_empty:
+45cc 70476400 jam 0 ,mem_remote_car_24g_pair_success_flag 
+45cd 78347c00 enable user 
+45ce da200001 arg 1 ,rega 
+45cf da404766 arg mem_remote_car_empty_packet ,regb 
+45d0 20600000 rtn 
+
+remote_car_moto_data:
+45d1 6800c747 fetch 1 ,mem_remote_car_24g_tx_temp + 3 
+45d2 c00245d5 beq car_cmd_l_r_motor_control ,remote_car_moto_data_next 
+45d3 c002c5d5 beq car_cmd_f_b_motor_control ,remote_car_moto_data_next 
+45d4 20600000 rtn 
+
+remote_car_moto_data_next:
+45d5 6800c74a fetch 1 ,mem_remote_car_24g_tx_temp + 6 
+45d6 243a45dc nbranch remote_car_moto_data_enable_user ,blank 
+45d7 6800c74c fetch 1 ,mem_remote_car_24g_tx_temp + 8 
+45d8 243a45dc nbranch remote_car_moto_data_enable_user ,blank 
+45d9 6800c74e fetch 1 ,mem_remote_car_24g_tx_temp + 10 
+45da 243a45dc nbranch remote_car_moto_data_enable_user ,blank 
+45db 20600000 rtn 
+
+remote_car_moto_data_enable_user:
+45dc 78347c00 enable user 
+45dd 202045c7 branch remote_car_g24_package_data_continue 
+
+shutter_init:
+45de 20758000 rtn wake 
+45df 68108081 hfetch 1 ,core_gpio_sel1 
+45e0 1fe17efc and_into 0xfc ,pdata 
+45e1 60108081 hstore 1 ,core_gpio_sel1 
+45e2 580046b4 setarg shutter_le_before_hibernate 
+45e3 600141eb store 2 ,mem_cb_before_hibernate 
+45e4 580046b3 setarg shutter_process_lpm_before 
+45e5 600141ed store 2 ,mem_cb_before_lpm 
+45e6 5800340a setarg app_enter_hibernate 
+45e7 600141f7 store 2 ,mem_cb_discovry_timeout 
+45e8 580046b1 setarg shutter_process_idle 
+45e9 600141f3 store 2 ,mem_cb_idle_process 
+45ea 58004612 setarg shutter_process_bb_event 
+45eb 600141f5 store 2 ,mem_cb_bb_event_process 
+45ec 5800460c setarg shutter_le_scale_lpm_lock 
+45ed 600141e9 store 2 ,mem_cb_check_wakelock 
+45ee 5800476a setarg ble_shutter_receive_data 
+45ef 600141f9 store 2 ,mem_cb_att_write 
+45f0 58004686 setarg shutter_le_bb_event_timer 
+45f1 600141fd store 2 ,mem_cb_event_timer 
+45f2 58004729 setarg shutter_key_change 
+45f3 600146e7 store 2 ,mem_cb_shutter_keycan 
+45f4 58004806 setarg shutter_soft_swtich_power_on 
+45f5 600146e2 store 2 ,mem_shutter_soft_switch_poweron_callback_function 
+45f6 58004807 setarg shutter_soft_swtich_power_off 
+45f7 600146e4 store 2 ,mem_shutter_soft_switch_poweroff_callback_function 
+45f8 204057a3 call le_modified_name 
+45f9 204047da call shutter_load_bluetooth_config_by_user_config 
+45fa 20404788 call shutter_init_bluetooth_config 
+45fb 2040476d call shutter_init_param 
+45fc 20406948 call keyscan_key_init 
+45fd 2040477a call shutter_load_buffer_config_form_datarom 
+45fe 20407e38 call queue_init 
+45ff 20407d08 call ui_led_init_global 
+4600 20404793 call shutter_load_bluetooth_config 
+4601 204047c7 call shutter_load_bluetooth_config_by_eeprom 
+4602 44fac01e bpatch patch1e_5 ,mem_patch1e 
+4603 2040464f call classic_shutter_load_reconn_info 
+4604 6800c6dd fetch 1 ,mem_shutter_hard_soft_switch_case 
+4605 c0004609 beq hard_switch ,shutter_hart_swtich_power_on 
+4606 6800c6de fetch 1 ,mem_shutter_soft_switch_button_gpio 
+4607 6000c686 store 1 ,mem_ui_button_gpio 
+4608 2020480e branch ui_soft_swtich_init 
+
+shutter_hart_swtich_power_on:
+4609 704686ff jam ui_button_gpio_disable ,mem_ui_button_gpio 
+460a 7046df01 jam ss_state_power_on ,mem_shutter_soft_switch_power_state 
+460b 202046d9 branch shutter_start_reconnect 
+
+shutter_le_scale_lpm_lock:
+460c 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+460d c00133d0 beq ss_state_power_off ,app_get_lpm_wake_lock 
+460e 2040527e call l2cap_malloc_get_full_map 
+460f 6800c256 fetch 1 ,mem_used_map 
+4610 243a33d0 nbranch app_get_lpm_wake_lock ,blank 
+4611 202033d2 branch app_put_lpm_wake_lock 
+
+shutter_process_bb_event:
+4612 1a627e00 copy regc ,pdata 
+4613 c000c626 beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
+4614 c0014629 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
+4615 c0024631 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
+4616 c002c633 beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
+4617 c0034635 beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
+4618 c003c638 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
+4619 c009463c beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
+461a c009c644 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
+461b c013c645 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
+461c c0174648 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
+461d c01ec649 beq bt_evt_store_nvram ,classic_shutter_process_store_reconnect_information 
+461e c00a4658 beq bt_evt_le_connected ,ble_shutter_process_baseband_connect 
+461f c00ac65c beq bt_evt_le_disconnected ,ble_shutter_process_baseband_disconnect 
+4620 c01fc65f beq bt_evt_le_reconnect_complete ,ble_shutter_process_reconnect_complete 
+4621 c0204665 beq bt_evt_le_parse_conn_papa_update_rsp ,ble_shutter_process_parse_connect_parameter_update_response 
+4622 c008466b beq bt_evt_button_long_pressed ,shutter_process_soft_swtich_button_long_press 
+4623 c016466c beq bt_evt_button_down ,shutter_process_soft_swtich_button_down 
+4624 c016c677 beq bt_evt_button_up ,shutter_process_soft_swtich_button_up 
+4625 20600000 rtn 
+
+classic_shutter_process_baseband_connect:
+4626 7046ad00 jam 0 ,mem_classic_shutter_hid_disconn_count 
+4627 7046ac00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+4628 20600000 rtn 
+
+classic_shutter_process_baseband_disconnect:
+4629 2040462b call classic_shutter_disconnect_clear_flag 
+462a 20204631 branch classic_shutter_process_reconnect_failed 
+
+classic_shutter_disconnect_clear_flag:
+462b 7041e200 jam app_handshake_null ,mem_app_handshake_flag 
+462c 70468000 jam 0 ,mem_hid_handshake_timer_count 
+462d 70420500 jam 0 ,mem_unsniff2sniff_timer_count 
+462e 7046ac00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+462f 7046ad00 jam 0 ,mem_classic_shutter_hid_disconn_count 
+4630 20207e38 branch queue_init 
+
+classic_shutter_process_reconnect_failed:
+4631 204033a9 call app_disconn_reason_clear 
+4632 202046c2 branch shutter_start_bluetooth_discovery 
+
+classic_shutter_process_setup_complete:
+4633 204046b6 call shutter_stop_bluetooth_discovery 
+4634 20203408 branch app_led_stop_blink 
+
+classic_shutter_process_hid_connect:
+4635 58000002 setarg hid_handshake_timeout 
+4636 6000c680 store 1 ,mem_hid_handshake_timer_count 
+4637 20600000 rtn 
+
+classic_shutter_process_hid_disconnect:
+4638 7046ac00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+4639 58000001 setarg flag_shutter_hid_disconn_timeout 
+463a 6000c6ad store 1 ,mem_classic_shutter_hid_disconn_count 
+463b 20600000 rtn 
+
+classic_shutter_process_hid_handshake:
+463c 6800c1e2 fetch 1 ,mem_app_handshake_flag 
+463d c1008000 rtneq app_handshake_done 
+463e 7041e201 jam app_handshake_done ,mem_app_handshake_flag 
+463f 20403416 call app_lpm_mult_enable 
+4640 20403414 call app_store_reconn_info 
+4641 204046b6 call shutter_stop_bluetooth_discovery 
+4642 20403408 call app_led_off 
+4643 2020340e branch app_bt_enter_sniff 
+
+classic_shutter_process_reconnect_page_timeout:
+4644 20204631 branch classic_shutter_process_reconnect_failed 
+
+classic_shutter_process_virtual_cable_unplug:
+4645 58000005 setarg flag_shutter_cable_unplug_timeout 
+4646 6000c6ac store 1 ,mem_classic_shutter_cable_unplug_conut 
+4647 20600000 rtn 
+
+classic_shutter_process_remote_unsniff:
+4648 202033cd branch app_start_auto_sniff 
+
+classic_shutter_process_store_reconnect_information:
+4649 da400000 arg nvram_eeprom_offset ,regb 
+464a 6800c217 fetch 1 ,mem_nv_data_number 
+464b 1fef8422 mul32 pdata ,34 ,temp 
+464c 68014215 fetch 2 ,mem_nv_data_ptr 
+464d 1fe22200 copy pdata ,rega 
+464e 20206606 branch iicd_write_eep_data 
+
+classic_shutter_load_reconn_info:
+464f da400000 arg nvram_eeprom_offset ,regb 
+4650 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+4651 c4008000 rtnbit0 classic_shutter 
+4652 6800c217 fetch 1 ,mem_nv_data_number 
+4653 207a0000 rtn blank 
+4654 1fef8422 mul32 pdata ,34 ,temp 
+4655 68014215 fetch 2 ,mem_nv_data_ptr 
+4656 1fe22200 copy pdata ,rega 
+4657 202065df branch iicd_read_eep_data 
+
+ble_shutter_process_baseband_connect:
+4658 204046b6 call shutter_stop_bluetooth_discovery 
+4659 58000000 setarg 0 
+465a 600146b7 store 2 ,mem_ble_shutter_reconn_timer 
+465b 20203408 branch app_led_off 
+
+ble_shutter_process_baseband_disconnect:
+465c 20407e38 call queue_init 
+465d 7046b000 jam 0 ,mem_ble_shutter_enable_notify 
+465e 202046d9 branch shutter_start_reconnect 
+
+ble_shutter_process_reconnect_complete:
+465f 20407e38 call queue_init 
+4660 7046b001 jam 1 ,mem_ble_shutter_enable_notify 
+4661 680446c1 fetch 8 ,mem_ble_shutter_interval_min 
+4662 60044496 store 8 ,mem_le_interval_min 
+4663 20403416 call app_lpm_mult_enable 
+4664 20205abf branch le_l2cap_tx_update_req 
+
+ble_shutter_process_parse_connect_parameter_update_response:
+4665 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+4666 c1000000 rtneq ble_signaling_connect_parameter_update_accepted 
+4667 680446c9 fetch 8 ,mem_ble_shutter_interval_min_new 
+4668 207a0000 rtn blank 
+4669 60044496 store 8 ,mem_le_interval_min 
+466a 20205abf branch le_l2cap_tx_update_req 
+
+shutter_process_soft_swtich_button_long_press:
+466b 2020481f branch ui_soft_switch_botton_long_press 
+
+shutter_process_soft_swtich_button_down:
+466c 6800c6dd fetch 1 ,mem_shutter_hard_soft_switch_case 
+466d c1000000 rtneq hard_switch 
+466e 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+466f c1808000 rtnne ss_state_power_on 
+4670 20404672 call shutter_store_currenct_led_state 
+4671 20203406 branch app_led_on 
+
+shutter_store_currenct_led_state:
+4672 7048df01 jam 1 ,mem_shutter_soft_swtich_botton_down 
+4673 df20000b arg 11 ,loopcnt 
+4674 d8a048e0 arg mem_shutter_soft_swtich_led_struct_temp ,contw 
+4675 d8c048c9 arg mem_shutter_led_struct_app_led ,contr 
+4676 20207f01 branch memcpy 
+
+shutter_process_soft_swtich_button_up:
+4677 6800c6dd fetch 1 ,mem_shutter_hard_soft_switch_case 
+4678 c1000000 rtneq hard_switch 
+4679 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+467a c000c67c beq ss_state_power_on ,shutter_load_currenct_led_state 
+467b 2020481b branch ui_soft_switch_botton_up 
+
+shutter_load_currenct_led_state:
+467c 6800c8df fetch 1 ,mem_shutter_soft_swtich_botton_down 
+467d c1808000 rtnne 1 
+467e 7048df00 jam 0 ,mem_shutter_soft_swtich_botton_down 
+467f 68014682 fetch 2 ,mem_ui_state_map 
+4680 c2803408 bbit1 ui_state_bt_connected ,app_led_off 
+4681 c284b408 bbit1 ui_state_ble_connected ,app_led_off 
+4682 df20000b arg 11 ,loopcnt 
+4683 d8c048e0 arg mem_shutter_soft_swtich_led_struct_temp ,contr 
+4684 d8a048c9 arg mem_shutter_led_struct_app_led ,contw 
+4685 20207f01 branch memcpy 
+
+shutter_le_bb_event_timer:
+4686 2040468c call shutter_check_sleep_timer 
+4687 20404693 call shutter_check_power_off_timer 
+4688 2040469e call classic_shutter_check_unplug_timer 
+4689 204046a6 call classic_shutter_hid_handshake_timer 
+468a 204046a9 call classic_shutter_hid_disconn_timer 
+468b 202046ac branch ble_shutter_reconn_timer 
+
+shutter_check_sleep_timer:
+468c da6046db arg mem_shutter_sleep_timer ,regc 
+468d da40468f arg shutter_sleep_timeout ,regb 
+468e 20203374 branch timer_single_step_2b 
+
+shutter_sleep_timeout:
+468f 7046df02 jam ss_state_power_off ,mem_shutter_soft_switch_power_state 
+4690 20403408 call app_led_off 
+4691 204046f4 call shutter_disconnect_current_connection 
+4692 2020480b branch shutter_wait_power_off 
+
+shutter_check_power_off_timer:
+4693 da6048ec arg mem_shutter_power_off_timer ,regc 
+4694 da404696 arg shutter_check_power_off_timeout ,regb 
+4695 2020336d branch timer_single_step 
+
+shutter_check_power_off_timeout:
+4696 68014682 fetch 2 ,mem_ui_state_map 
+4697 c284c80b bbit1 ui_state_ble_connected ,shutter_wait_power_off 
+4698 c280480b bbit1 ui_state_bt_connected ,shutter_wait_power_off 
+4699 6800c8c9 fetch 1 ,mem_shutter_led_struct_app_led_type 
+469a c000c80b beq ui_led_state_blink_start ,shutter_wait_power_off 
+469b c002480b beq ui_led_state_blink_lighting ,shutter_wait_power_off 
+469c c002c80b beq ui_led_state_blink_darking ,shutter_wait_power_off 
+469d 2020340a branch app_enter_hibernate 
+
+classic_shutter_check_unplug_timer:
+469e da6046ac arg mem_classic_shutter_cable_unplug_conut ,regc 
+469f da4046a1 arg classic_shutter_unplug_timeout ,regb 
+46a0 2020336d branch timer_single_step 
+
+classic_shutter_unplug_timeout:
+46a1 6800827f fetch 1 ,mem_control_tasks 
+46a2 79207e00 set1 l2cap_disconnect_interrupt ,pdata 
+46a3 79207e07 set1 l2cap_disconnect_control ,pdata 
+46a4 6000827f store 1 ,mem_control_tasks 
+46a5 20600000 rtn 
+
+classic_shutter_hid_handshake_timer:
+46a6 da604680 arg mem_hid_handshake_timer_count ,regc 
+46a7 da40463c arg classic_shutter_process_hid_handshake ,regb 
+46a8 2020336d branch timer_single_step 
+
+classic_shutter_hid_disconn_timer:
+46a9 da6046ad arg mem_classic_shutter_hid_disconn_count ,regc 
+46aa da4033e9 arg app_bt_disconnect ,regb 
+46ab 2020336d branch timer_single_step 
+
+ble_shutter_reconn_timer:
+46ac 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+46ad c1808000 rtnne ss_state_power_on 
+46ae da6046b7 arg mem_ble_shutter_reconn_timer ,regc 
+46af da4046c2 arg shutter_start_bluetooth_discovery ,regb 
+46b0 20203374 branch timer_single_step_2b 
+
+shutter_process_idle:
+46b1 2040473a call shutter_send_data_to_master 
+46b2 20206978 branch keyscan_key_process 
+
+shutter_process_lpm_before:
+46b3 2020696c branch keyscan_process_lpm_before 
+
+shutter_le_before_hibernate:
+46b4 20406835 call gpio_set_before_lpm_common 
+46b5 202046b3 branch shutter_process_lpm_before 
+
+shutter_stop_bluetooth_discovery:
+46b6 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+46b7 c280c6be bbit1 classic_shutter ,classic_shutter_stop_bluetooth_discovery 
+46b8 c28046ba bbit1 ble_shutter ,ble_shutter_stop_bluetooth_discovery 
+46b9 20600000 rtn 
+
+ble_shutter_stop_bluetooth_discovery:
+46ba 680146d7 fetch 2 ,mem_ble_shutter_connect_timeout 
+46bb 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46bc 600146db store 2 ,mem_shutter_sleep_timer 
+46bd 202033f8 branch app_ble_stop_adv 
+
+classic_shutter_stop_bluetooth_discovery:
+46be 680146d3 fetch 2 ,mem_classic_shutter_connect_timeout 
+46bf 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46c0 600146db store 2 ,mem_shutter_sleep_timer 
+46c1 202033f0 branch app_bt_stop_discovery 
+
+shutter_start_bluetooth_discovery:
+46c2 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+46c3 c1808000 rtnne ss_state_power_on 
+46c4 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+46c5 c280c6c8 bbit1 classic_shutter ,classic_shutter_start_discovery 
+46c6 c28046cc bbit1 ble_shutter ,ble_shutter_start_discovery 
+46c7 20600000 rtn 
+
+classic_shutter_start_discovery:
+46c8 680146d1 fetch 2 ,mem_classic_shutter_discovery_timeout ,
+46c9 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46ca 600146db store 2 ,mem_shutter_sleep_timer 
+46cb 202033eb branch app_bt_start_discovery_short 
+
+ble_shutter_start_discovery:
+46cc 68014682 fetch 2 ,mem_ui_state_map 
+46cd c3848000 rtnbit1 ui_state_ble_connected 
+46ce 680146d5 fetch 2 ,mem_ble_shutter_discovery_timeout 
+46cf 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46d0 600146db store 2 ,mem_shutter_sleep_timer 
+46d1 680146b3 fetch 2 ,mem_ble_shutter_discovery_adv_interval 
+46d2 204046f0 call shutter_ble_adv_interval_set 
+46d3 20403404 call app_led_start_blink 
+46d4 680246bd fetch 4 ,mem_ble_shutter_discovery_blink_on_time 
+46d5 600248cc store 4 ,mem_shutter_led_struct_app_led_on_time 
+46d6 68014682 fetch 2 ,mem_ui_state_map 
+46d7 c3858000 rtnbit1 ui_state_ble_adv 
+46d8 202033fa branch app_ble_start_adv 
+
+shutter_start_reconnect:
+46d9 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+46da c1808000 rtnne ss_state_power_on 
+46db 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+46dc c280c6df bbit1 classic_shutter ,classic_shutter_start_reconnect 
+46dd c28046e4 bbit1 ble_shutter ,ble_shutter_start_reconnect 
+46de 20600000 rtn 
+
+classic_shutter_start_reconnect:
+46df 204046f8 call app_check_reconn_target 
+46e0 203a46c2 branch shutter_start_bluetooth_discovery ,blank 
+46e1 20403406 call app_led_on 
+46e2 204033f0 call app_bt_stop_discovery 
+46e3 202033e1 branch app_bt_start_reconnect 
+
+ble_shutter_start_reconnect:
+46e4 680146b7 fetch 2 ,mem_ble_shutter_reconn_timer 
+46e5 680946b5 fetcht 2 ,mem_ble_shutter_reconn_timeout 
+46e6 600946b7 storet 2 ,mem_ble_shutter_reconn_timer 
+46e7 247a0000 nrtn blank 
+46e8 680146b1 fetch 2 ,mem_ble_shutter_reconn_dav_interval 
+46e9 204046f0 call shutter_ble_adv_interval_set 
+46ea 20403404 call app_led_start_blink 
+46eb 680246b9 fetch 4 ,mem_ble_shutter_reconn_blink_on_time 
+46ec 600248cc store 4 ,mem_shutter_led_struct_app_led_on_time 
+46ed 68014682 fetch 2 ,mem_ui_state_map 
+46ee c3858000 rtnbit1 ui_state_ble_adv 
+46ef 202033fa branch app_ble_start_adv 
+
+shutter_ble_adv_interval_set:
+46f0 60014154 store 2 ,mem_lpm_interval 
+46f1 1fe0fffc increase -4 ,pdata 
+46f2 60014482 store 2 ,mem_le_adv_interval 
+46f3 20600000 rtn 
+
+shutter_disconnect_current_connection:
+46f4 68014682 fetch 2 ,mem_ui_state_map 
+46f5 c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+46f6 c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+46f7 202046b6 branch shutter_stop_bluetooth_discovery 
+
+app_check_reconn_target:
+46f8 6800c217 fetch 1 ,mem_nv_data_number 
+46f9 1fe27200 copy pdata ,loopcnt 
+46fa 68014215 fetch 2 ,mem_nv_data_ptr 
+46fb 1fe22200 copy pdata ,rega 
+
+app_check_reconn_target_loop:
+46fc ea210000 ifetch 2 ,rega 
+46fd c0004701 beq 0 ,found_reconn_device 
+46fe 1a20a222 increase nv_data_len ,rega 
+46ff c20046fc loop app_check_reconn_target_loop 
+4700 20207ff1 branch enable_blank 
+
+found_reconn_device:
+4701 e8c30000 ifetch 6 ,contr 
+4702 600341d0 store 6 ,mem_hci_plap 
+4703 18c08c0a increase 10 ,contr 
+4704 d8a041be arg mem_link_key ,contw 
+4705 20407ebf call memcpy16 
+4706 204067d7 call check_link_key_load 
+4707 20207fef branch disable_blank 
+
+shutter_check_data_enable:
+4708 20407fe9 call disable_user 
+4709 68014682 fetch 2 ,mem_ui_state_map 
+470a c280470d bbit1 ui_state_bt_connected ,shutter_check_bt_data_enable 
+470b c284c710 bbit1 ui_state_ble_connected ,shutter_check_ble_data_enable 
+470c 20600000 rtn 
+
+shutter_check_bt_data_enable:
+470d 6800c253 fetch 1 ,mem_hid_interrupt_state 
+470e c19f8000 rtnne 0x3f 
+470f 20207fe7 branch enable_user 
+
+shutter_check_ble_data_enable:
+4710 6800c6b0 fetch 1 ,mem_ble_shutter_enable_notify 
+4711 207a0000 rtn blank 
+4712 20207fe7 branch enable_user 
+
+shutter_check_bluetooth_conn:
+4713 20407fe9 call disable_user 
+4714 68014682 fetch 2 ,mem_ui_state_map 
+4715 c3800000 rtnbit1 ui_state_bt_connected 
+4716 c3848000 rtnbit1 ui_state_ble_connected 
+4717 20207fe7 branch enable_user 
+
+shutter_change_bluetooth_status_bt_disconn:
+4718 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+4719 c280c71c bbit1 classic_shutter ,classic_shutter_change_bluetooth_status_bt_disconn 
+471a c280471f bbit1 ble_shutter ,ble_shutter_change_bluetooth_status_bt_disconn 
+471b 20600000 rtn 
+
+classic_shutter_change_bluetooth_status_bt_disconn:
+471c 6800c093 fetch 1 ,mem_scan_mode 
+471d c1818000 rtnne 0x03 
+471e 202046d9 branch shutter_start_reconnect 
+
+ble_shutter_change_bluetooth_status_bt_disconn:
+471f 202046d9 branch shutter_start_reconnect 
+
+shutter_check_send_data:
+4720 78567c00 disable user2 
+4721 680146d9 fetch 2 ,mem_shutter_sleep_timeout 
+4722 600146db store 2 ,mem_shutter_sleep_timer 
+4723 20404713 call shutter_check_bluetooth_conn 
+4724 20344718 branch shutter_change_bluetooth_status_bt_disconn ,user 
+4725 20404708 call shutter_check_data_enable 
+4726 24740000 nrtn user 
+4727 78367c00 enable user2 
+4728 20600000 rtn 
+
+shutter_key_change:
+4729 20404720 call shutter_check_send_data 
+472a 24760000 nrtn user2 
+472b 1a227e00 deposit rega 
+472c 203a4730 branch shutter_key_release ,blank 
+
+shutter_key_press:
+472d 20403406 call app_led_on 
+472e da6046f1 arg mem_key0_press ,regc 
+472f 20204732 branch push_queue_press_or_release 
+
+shutter_key_release:
+4730 20403408 call app_led_off 
+4731 da604719 arg mem_key0_release ,regc 
+
+push_queue_press_or_release:
+4732 dfe00005 arg max_queue_num ,pdata 
+4733 98effe00 imul32 queue ,pdata 
+4734 9a60a600 iadd regc ,regc 
+
+push_buffer_in_queue:
+4735 ea608000 ifetch 1 ,regc 
+4736 207a0000 rtn blank 
+4737 20404762 call queue_push_one_byte 
+4738 1a60a601 increase 1 ,regc 
+4739 20204735 branch push_buffer_in_queue 
+
+shutter_send_data_to_master:
+473a 68014682 fetch 2 ,mem_ui_state_map 
+473b c284c73e bbit1 ui_state_ble_connected ,pop_queue_to_ble_data 
+473c c280474e bbit1 ui_state_bt_connected ,pop_queue_to_classic_data 
+473d 20600000 rtn 
+
+pop_queue_to_ble_data:
+473e 20405892 call le_fifo_check_nearly_full 
+473f 247a0000 nrtn blank 
+4740 20404765 call queue_pop_one_byte 
+4741 24740000 nrtn user 
+4742 1fe0ffff pincrease -1 
+4743 1feffe05 mul32 pdata ,shutter_ble_data_buffer ,pdata 
+4744 d8404741 arg mem_ble_data_buffer1 ,temp 
+4745 98408c00 iadd temp ,contr 
+
+le_send_notify_from_list:
+4746 e8c08000 ifetch 1 ,contr 
+4747 1fe22200 copy pdata ,rega 
+4748 e8c90000 ifetcht 2 ,contr 
+4749 20407ea5 call store_contr 
+474a 20405a64 call le_att_malloc_tx_notify 
+474b 1a227200 copy rega ,loopcnt 
+474c 20407e9f call get_contr 
+474d 20207f01 branch memcpy 
+
+pop_queue_to_classic_data:
+474e 20405271 call l2cap_malloc_is_fifo_nearly_full 
+474f 247a0000 nrtn blank 
+4750 20404765 call queue_pop_one_byte 
+4751 24740000 nrtn user 
+4752 1fe0ffff pincrease -1 
+4753 1feffe05 mul32 pdata ,shutter_classic_data_buffer ,pdata 
+4754 d84047a0 arg mem_classic_data_buffer1 ,temp 
+4755 98408c00 iadd temp ,contr 
+4756 e8c28000 ifetch 5 ,contr 
+4757 6002c79b store 5 ,mem_classic_data_buffer 
+
+classic_send_hid_data:
+4758 6800c79b fetch 1 ,mem_classic_data_buffer 
+4759 1fe22200 copy pdata ,rega 
+475a 20404d63 call hid_malloc_tx_buff 
+475b 6801424e fetch 2 ,mem_hid_int_remote_cid 
+475c e0a10000 istore 2 ,contw 
+475d 580000a1 setarg 0xa1 
+475e e0a08000 istore 1 ,contw 
+475f 6802479c fetch 4 ,mem_classic_data_buffer + 1 
+4760 e0a48000 istore 9 ,contw 
+4761 20600000 rtn 
+
+queue_push_one_byte:
+4762 60008a9a store 1 ,mem_pdatatemp 
+4763 da200a9a arg mem_pdatatemp ,rega 
+4764 20207e3d branch queue_push 
+
+queue_pop_one_byte:
+4765 da200a9a arg mem_pdatatemp ,rega 
+4766 20407e54 call queue_pop 
+4767 24740000 nrtn user 
+4768 68008a9a fetch 1 ,mem_pdatatemp 
+4769 20600000 rtn 
+
+ble_shutter_receive_data:
+476a 68010478 fetch 2 ,mem_le_att_handle 
+476b c00c465f beq gatt_keyboard_write_handle ,ble_shutter_process_reconnect_complete 
+476c 20600000 rtn 
+
+shutter_init_param:
+476d 58000002 setarg 0x02 
+476e 6000c8eb store 1 ,mem_shutter_power_off_timeout 
+476f 58200008 setarg 0x00200008 
+4770 600246c1 store 4 ,mem_ble_shutter_interval_min 
+4771 592c0005 setarg 0x012c0005 
+4772 e0a20000 istore 4 ,contw 
+4773 7044a617 jam 0x17 ,mem_le_local_mtu 
+4774 5800001b setarg 0x1b 
+4775 600144fa store 2 ,mem_le_pairing_handle 
+4776 20405810 call le_set_config_fixed_ltk 
+4777 2040582c call le_set_fixed_ltk 
+4778 20405839 call le_set_justwork 
+4779 20205818 branch le_set_config_read_authentication 
+
+shutter_load_buffer_config_form_datarom:
+477a df200028 arg ble_key_value_list_size ,loopcnt 
+477b d8a04741 arg mem_ble_data_buffer1 ,contw 
+477c d8c0949f arg ble_shutter_key_value_list ,contr 
+477d 20407ef4 call memcpy_fast 
+477e df200028 arg bt_key_value_list_size ,loopcnt 
+477f d8a047a0 arg mem_classic_data_buffer1 ,contw 
+4780 d8c094c7 arg classic_shutter_key_value_list ,contr 
+4781 20207ef4 branch memcpy_fast 
+
+shutter_load_ble_gatt_form_datarom:
+4782 df20017e arg ble_gatt_list_size ,loopcnt 
+4783 d8c0913a arg ble_shutter_gatt_list ,contr 
+4784 20207ef4 branch memcpy_fast 
+
+shutter_load_bt_sdp_form_datarom:
+4785 df2001e7 arg bt_sdp_list_size ,loopcnt 
+4786 d8c092b8 arg classic_shutter_sdp_list ,contr 
+4787 20207ef4 branch memcpy_fast 
+
+shutter_init_bluetooth_config:
+4788 204047ae call shutter_check_load_config_flag 
+4789 24740000 nrtn user 
+478a 6800c69f fetch 1 ,mem_shutter_config_select_gpio1 
+478b 20404790 call shutter_init_bluetooth_config_gpio_input 
+478c 6800c6a0 fetch 1 ,mem_shutter_config_select_gpio2 
+478d 20404790 call shutter_init_bluetooth_config_gpio_input 
+478e 6800c6a1 fetch 1 ,mem_shutter_config_select_gpio3 
+478f 20204790 branch shutter_init_bluetooth_config_gpio_input 
+
+shutter_init_bluetooth_config_gpio_input:
+4790 207a0000 rtn blank 
+4791 1fe18480 or pdata ,0x80 ,temp 
+4792 202067f9 branch gpio_config_input_nowake 
+
+shutter_load_bluetooth_config:
+4793 204047ae call shutter_check_load_config_flag 
+4794 24740000 nrtn user 
+4795 20404797 call shutter_load_bluetooth_config_label 
+4796 202047b4 branch shutter_load_bluetooth_config_by_otp 
+
+shutter_load_bluetooth_config_label:
+4797 da200000 arg 0 ,rega 
+4798 6800c69f fetch 1 ,mem_shutter_config_select_gpio1 
+4799 204047a9 call shutter_load_bluetooth_config_read_gpio_input 
+479a 7d3a2200 nsetflag blank ,0 ,rega 
+479b 6800c6a0 fetch 1 ,mem_shutter_config_select_gpio2 
+479c 204047a9 call shutter_load_bluetooth_config_read_gpio_input 
+479d 7d3a2201 nsetflag blank ,1 ,rega 
+479e 6800c6a1 fetch 1 ,mem_shutter_config_select_gpio3 
+479f 204047a9 call shutter_load_bluetooth_config_read_gpio_input 
+47a0 7d3a2202 nsetflag blank ,2 ,rega 
+47a1 1a227e00 copy rega ,pdata 
+47a2 6000c6a9 store 1 ,mem_shutter_config_label 
+47a3 6800c69e fetch 1 ,mem_shutter_config_size 
+47a4 9a2ffe00 imul32 rega ,pdata 
+47a5 6809469c fetcht 2 ,mem_shutter_config_otp_base_address 
+47a6 9840fe00 iadd temp ,pdata 
+47a7 600146aa store 2 ,mem_shutter_config_otp_addr 
+47a8 20600000 rtn 
+
+shutter_load_bluetooth_config_read_gpio_input:
+47a9 207a0000 rtn blank 
+47aa 1fe18480 or pdata ,0x80 ,temp 
+47ab 2040681d call gpio_get_bit 
+47ac 2420fff1 nbranch enable_blank ,true 
+47ad 20207fef branch disable_blank 
+
+shutter_check_load_config_flag:
+47ae 20407fe9 call disable_user 
+47af 6800c6a8 fetch 1 ,mem_shutter_config_user_size 
+47b0 247a0000 nrtn blank 
+47b1 6800c69b fetch 1 ,mem_shutter_config_enable 
+47b2 207a0000 rtn blank 
+47b3 20207fe7 branch enable_user 
+
+shutter_load_bluetooth_config_by_otp:
+47b4 2040666a call otp_enable_chgpump 
+47b5 680146aa fetch 2 ,mem_shutter_config_otp_addr 
+47b6 da200ac2 arg mem_shutter_config_data_temp ,rega 
+47b7 6808c69e fetcht 1 ,mem_shutter_config_size 
+47b8 204066b3 call otpd_read_data 
+47b9 2040666d call otp_disable_chgpump 
+
+shutter_load_bluetooth_config_store_name:
+47ba 68008ac2 fetch 1 ,mem_shutter_config_data_temp 
+47bb 1fe27200 copy pdata ,loopcnt 
+47bc 6000c3af store 1 ,mem_le_name_len 
+47bd 20407ef4 call memcpy_fast 
+47be 68008ac2 fetch 1 ,mem_shutter_config_data_temp 
+47bf 1fe27200 copy pdata ,loopcnt 
+47c0 6000c515 store 1 ,mem_local_name_length 
+47c1 20407ef4 call memcpy_fast 
+47c2 e8c08000 ifetch 1 ,contr 
+47c3 6000c6e6 store 1 ,mem_shutter_key_num 
+47c4 e8c08000 ifetch 1 ,contr 
+47c5 6000c6dd store 1 ,mem_shutter_hard_soft_switch_case 
+47c6 20600000 rtn 
+
+shutter_load_bluetooth_config_by_eeprom:
+47c7 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+47c8 c4008000 rtnbit0 classic_shutter 
+47c9 d8400003 arg 3 ,temp 
+47ca 680146a4 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+47cb 1fe22400 copy pdata ,regb 
+47cc da2046a6 arg mem_shutter_config_eeprom_start_flag ,rega 
+47cd 204065df call iicd_read_eep_data 
+47ce 680946a6 fetcht 2 ,mem_shutter_config_eeprom_start_flag 
+47cf 58001b3a setarg shutter_eeprom_config_crc 
+47d0 98467c00 isub temp ,null 
+47d1 24628000 nrtn zero 
+47d2 6800c6a8 fetch 1 ,mem_shutter_config_user_size 
+47d3 207a0000 rtn blank 
+47d4 1fe20400 copy pdata ,temp 
+47d5 680146a4 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+47d6 1fe0a403 add pdata ,3 ,regb 
+47d7 da200ac2 arg mem_shutter_config_data_temp ,rega 
+47d8 204065df call iicd_read_eep_data 
+47d9 202047e8 branch shutter_store_config 
+
+shutter_load_bluetooth_config_by_user_config:
+47da 680146a2 fetch 2 ,mem_shutter_config_user_otp_address 
+47db 207a0000 rtn blank 
+47dc 2040666a call otp_enable_chgpump 
+47dd d8400001 arg 1 ,temp 
+47de da2046a8 arg mem_shutter_config_user_size ,rega 
+47df 204066b3 call otpd_read_data 
+47e0 6800c6a8 fetch 1 ,mem_shutter_config_user_size 
+47e1 207a0000 rtn blank 
+47e2 680146a2 fetch 2 ,mem_shutter_config_user_otp_address 
+47e3 1fe0fe01 pincrease 1 
+47e4 da200ac2 arg mem_shutter_config_data_temp ,rega 
+47e5 6808c6a8 fetcht 1 ,mem_shutter_config_user_size 
+47e6 204066b3 call otpd_read_data 
+47e7 2040666d call otp_disable_chgpump 
+
+shutter_store_config:
+47e8 204047ba call shutter_load_bluetooth_config_store_name 
+
+shutter_load_bluetooth_config_custom:
+47e9 e8c10000 ifetch 2 ,contr 
+47ea 207a0000 rtn blank 
+47eb 1fe20a00 copy pdata ,contw 
+47ec e8c88000 ifetcht 1 ,contr 
+47ed 18427200 copy temp ,loopcnt 
+47ee 20407f01 call memcpy 
+47ef 202047e9 branch shutter_load_bluetooth_config_custom 
+
+shutter_random_mac_addr:
+47f0 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+47f1 c4008000 rtnbit0 classic_shutter 
+47f2 680146ae fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+47f3 1fe22400 copy pdata ,regb 
+47f4 d8400004 arg 4 ,temp 
+47f5 da200ac2 arg mem_shutter_random_mac_data_temp ,rega 
+47f6 204065df call iicd_read_eep_data 
+47f7 68008ac2 fetch 1 ,mem_shutter_random_mac_data_temp 
+47f8 c080c7f9 bne 1 ,shutter_write_random_mac_addr_to_eeprom 
+
+shutter_write_random_mac_addr_to_eeprom:
+47f9 58000001 setarg 1 
+47fa 60008ac2 store 1 ,mem_shutter_random_mac_data_temp 
+47fb 18007203 force 3 ,loopcnt 
+47fc 2040630d call generate_random_loop 
+47fd 680146ae fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+47fe 1fe22400 copy pdata ,regb 
+47ff d8400004 arg 4 ,temp 
+4800 da200ac2 arg mem_shutter_random_mac_data_temp ,rega 
+4801 20406606 call iicd_write_eep_data 
+
+shutter_write_random_mac_addr:
+4802 68018ac3 fetch 3 ,mem_shutter_random_mac_data_temp + 1 
+4803 6001c0a0 store 3 ,mem_lap 
+4804 6001c4a0 store 3 ,mem_le_lap 
+4805 20600000 rtn 
+
+shutter_soft_swtich_power_on:
+4806 202046d9 branch shutter_start_reconnect 
+
+shutter_soft_swtich_power_off:
+4807 da200000 arg 0 ,rega 
+4808 da6048d4 arg mem_shutter_power_off_led_style ,regc 
+4809 20407d24 call ui_led_set_style_global 
+480a 204046f4 call shutter_disconnect_current_connection 
+
+shutter_wait_power_off:
+480b 6800c8eb fetch 1 ,mem_shutter_power_off_timeout 
+480c 6000c8ec store 1 ,mem_shutter_power_off_timer 
+480d 20600000 rtn 
+
+ui_soft_swtich_init:
+480e 58000000 setarg ss_state_power_up 
+480f 20404816 call ui_soft_swtich_init_power_on_time 
+4810 70467901 jam ui_button_state_up ,mem_ui_button_last_state 
+4811 20407cd3 call ui_button_init 
+4812 20407cdd call ui_button_polling 
+4813 68014682 fetch 2 ,mem_ui_state_map 
+4814 c3860000 rtnbit1 ui_state_btn_down 
+4815 2020340a branch app_enter_hibernate 
+
+ui_soft_swtich_init_power_on_time:
+4816 6809423f fetcht 2 ,mem_power_param_ptr 
+4817 e0408000 istore 1 ,temp 
+4818 e8a08000 ifetch 1 ,contw 
+4819 6000c685 store 1 ,mem_ui_button_timeout 
+481a 20600000 rtn 
+
+ui_soft_switch_botton_up:
+481b 6801423f fetch 2 ,mem_power_param_ptr 
+481c efe08000 ifetch 1 ,pdata 
+481d c1800000 rtnne ss_state_power_up 
+481e 2020340a branch app_enter_hibernate 
+
+ui_soft_switch_botton_long_press:
+481f 6809423f fetcht 2 ,mem_power_param_ptr 
+4820 e8408000 ifetch 1 ,temp 
+4821 c000c82a beq ss_state_power_on ,ui_soft_switch_power_off 
+
+ui_soft_switch_power_on:
+4822 58000001 setarg ss_state_power_on 
+4823 6809423f fetcht 2 ,mem_power_param_ptr 
+4824 e0408000 istore 1 ,temp 
+4825 18408c02 add temp ,ss_power_off_time ,contr 
+4826 e8c08000 ifetch 1 ,contr 
+4827 e0a08000 istore 1 ,mem_ui_button_timeout 
+4828 e8c10000 ifetch 2 ,contr 
+4829 20207f9c branch callback_func 
+
+ui_soft_switch_power_off:
+482a 58000002 setarg ss_state_power_off 
+482b 20404816 call ui_soft_swtich_init_power_on_time 
+482c 18408c05 add temp ,ss_power_off_cb ,contr 
+482d e8c10000 ifetch 2 ,contr 
+482e 203a340a branch app_enter_hibernate ,blank 
+482f 20207f9c branch callback_func 
+
+shutter_byteswap:
+4830 60030101 store 6 ,mem_tmp_buffer 
+4831 68008101 fetch 1 ,mem_tmp_buffer 
+4832 6000810c store 1 ,mem_tmp_buffer + 11 
+4833 e8c08000 ifetch 1 ,contr 
+4834 6000810b store 1 ,mem_tmp_buffer + 10 
+4835 e8c08000 ifetch 1 ,contr 
+4836 6000810a store 1 ,mem_tmp_buffer + 9 
+4837 e8c08000 ifetch 1 ,contr 
+4838 60008109 store 1 ,mem_tmp_buffer + 8 
+4839 e8c08000 ifetch 1 ,contr 
+483a 60008108 store 1 ,mem_tmp_buffer + 7 
+483b e8c08000 ifetch 1 ,contr 
+483c 60008107 store 1 ,mem_tmp_buffer + 6 
+483d 68030107 fetch 6 ,mem_tmp_buffer + 6 
+483e 20600000 rtn 
+
+shutter_random_addr_by_otp:
+483f 204068a2 call load_adc_init 
+4840 6800c223 fetch 1 ,mem_1v_adc_io_data 
+4841 6000c4a0 store 1 ,mem_le_lap 
+4842 6800c225 fetch 1 ,mem_5v_adc_hvin_data 
+4843 e0a08000 istore 1 ,contw 
+4844 6800c227 fetch 1 ,mem_3v_adc_vinlpm_data 
+4845 e0a08000 istore 1 ,contw 
+4846 6801c4a0 fetch 3 ,mem_le_lap 
+4847 6001c0a0 store 3 ,mem_lap 
+4848 20600000 rtn 
+
+sim_iic_read_eep_data:
+4849 68014203 fetch 2 ,mem_eeprom_base 
+484a 9a40fe00 iadd regb ,pdata 
+484b 1ff0fe00 byteswap pdata ,pdata 
+484c 600101f7 store 2 ,mem_addr_mi 
+484d 18422400 copy temp ,regb 
+484e 2040489b call sim_iic_start 
+484f 580000a0 setarg 0xa0 
+4850 2040488d call sim_iic_send_byte 
+4851 680081f7 fetch 1 ,mem_addr_mi 
+4852 2040488d call sim_iic_send_byte 
+4853 c5144856 bmark1 mark_eeprom_size ,sim_iic_read_eep_data_2k 
+4854 680081f8 fetch 1 ,mem_addr_mi + 1 
+4855 2040488d call sim_iic_send_byte 
+
+sim_iic_read_eep_data_2k:
+4856 204048a1 call sim_iic_stop 
+4857 2040489b call sim_iic_start 
+4858 580000a1 setarg 0xa1 
+4859 2040488d call sim_iic_send_byte 
+
+sim_iic_read_eep_data_loop:
+485a 2040487f call sim_iic_read_byte 
+485b e2208000 istore 1 ,rega 
+485c 1a20a201 increase 1 ,rega 
+485d 1a40a5ff increase -1 ,regb 
+485e 2422c85a nbranch sim_iic_read_eep_data_loop ,zero 
+485f 202048a1 branch sim_iic_stop 
+
+sim_iic_write_eep_data:
+4860 1a50fe00 byteswap regb ,pdata 
+4861 600101f7 store 2 ,mem_addr_mi 
+4862 18422400 copy temp ,regb 
+4863 2040489b call sim_iic_start 
+4864 580000a0 setarg 0xa0 
+4865 2040488d call sim_iic_send_byte 
+4866 680081f7 fetch 1 ,mem_addr_mi 
+4867 2040488d call sim_iic_send_byte 
+4868 c514486b bmark1 mark_eeprom_size ,sim_iic_write_eep_data_loop 
+4869 680081f8 fetch 1 ,mem_addr_mi + 1 
+486a 2040488d call sim_iic_send_byte 
+
+sim_iic_write_eep_data_loop:
+486b ea208000 ifetch 1 ,rega 
+486c 2040488d call sim_iic_send_byte 
+486d 1a20a201 increase 1 ,rega 
+486e 1a40a5ff increase -1 ,regb 
+486f 2422c86b nbranch sim_iic_write_eep_data_loop ,zero 
+4870 202048a1 branch sim_iic_stop 
+
+sim_iic_wait_ack:
+4871 df20000a arg 10 ,loopcnt 
+4872 204048be call sim_iic_release_sda 
+4873 204048a6 call sim_iic_scl_output_high 
+4874 204048d2 call sim_iic_delay 
+
+sim_iic_wait_ack_loop:
+4875 204048c7 call sim_iic_read_sda_level 
+4876 203a48a9 branch sim_iic_scl_output_low ,blank 
+4877 c2004875 loop sim_iic_wait_ack_loop 
+4878 202048a9 branch sim_iic_scl_output_low 
+
+sim_iic_ack_slave:
+4879 204048a9 call sim_iic_scl_output_low 
+487a 204048af call sim_iic_sda_output_low 
+487b 204048d2 call sim_iic_delay 
+487c 204048a6 call sim_iic_scl_output_high 
+487d 204048d2 call sim_iic_delay 
+487e 202048a9 branch sim_iic_scl_output_low 
+
+sim_iic_read_byte:
+487f df200008 arg 8 ,loopcnt 
+4880 da600000 arg 0 ,regc 
+4881 204048be call sim_iic_release_sda 
+
+sim_iic_read_byte_loop:
+4882 204048a6 call sim_iic_scl_output_high 
+4883 204048d2 call sim_iic_delay 
+4884 1a63a600 lshift regc ,regc 
+4885 204048c7 call sim_iic_read_sda_level 
+4886 9a60a600 iadd regc ,regc 
+4887 204048d2 call sim_iic_delay 
+4888 204048a9 call sim_iic_scl_output_low 
+4889 c2004882 loop sim_iic_read_byte_loop 
+488a 20404879 call sim_iic_ack_slave 
+488b 1a627e00 copy regc ,pdata 
+488c 20600000 rtn 
+
+sim_iic_send_byte:
+488d df200008 arg 8 ,loopcnt 
+488e 1fe22600 copy pdata ,regc 
+488f 204048a9 call sim_iic_scl_output_low 
+
+sim_iic_send_byte_loop:
+4890 2a6ffe07 isolate1 7 ,regc 
+4891 2040c8ac call sim_iic_sda_output_high ,true 
+4892 2440c8af ncall sim_iic_sda_output_low ,true 
+4893 1a63a600 lshift regc ,regc 
+4894 204048d2 call sim_iic_delay 
+4895 204048a6 call sim_iic_scl_output_high 
+4896 204048d2 call sim_iic_delay 
+4897 204048a9 call sim_iic_scl_output_low 
+4898 204048d2 call sim_iic_delay 
+4899 c2004890 loop sim_iic_send_byte_loop 
+489a 20204871 branch sim_iic_wait_ack 
+
+sim_iic_start:
+489b 204048ac call sim_iic_sda_output_high 
+489c 204048a6 call sim_iic_scl_output_high 
+489d 204048d2 call sim_iic_delay 
+489e 204048af call sim_iic_sda_output_low 
+489f 204048d2 call sim_iic_delay 
+48a0 202048a9 branch sim_iic_scl_output_low 
+
+sim_iic_stop:
+48a1 204048af call sim_iic_sda_output_low 
+48a2 204048a6 call sim_iic_scl_output_high 
+48a3 204048d2 call sim_iic_delay 
+48a4 204048ac call sim_iic_sda_output_high 
+48a5 202048d2 branch sim_iic_delay 
+
+sim_iic_scl_output_high:
+48a6 78347c00 enable user 
+48a7 6800cffe fetch 1 ,sim_iic_scl_gpio_num 
+48a8 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_scl_output_low:
+48a9 78547c00 disable user 
+48aa 6800cffe fetch 1 ,sim_iic_scl_gpio_num 
+48ab 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_sda_output_high:
+48ac 78347c00 enable user 
+48ad 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48ae 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_sda_output_low:
+48af 78547c00 disable user 
+48b0 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48b1 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_config_gpio:
+48b2 1fe10e07 and pdata ,0x07 ,queue 
+48b3 1fe97e00 rshift3 pdata ,pdata 
+48b4 d8408070 arg core_gpio_oe0 ,temp 
+48b5 98408400 iadd temp ,temp 
+48b6 e8408000 ifetch 1 ,temp 
+48b7 f9207e00 qset1 pdata 
+48b8 e0408000 istore 1 ,temp 
+48b9 18408404 increase 4 ,temp 
+48ba e8408000 ifetch 1 ,temp 
+48bb f9347e00 qsetflag user ,pdata 
+48bc e0408000 istore 1 ,temp 
+48bd 20600000 rtn 
+
+sim_iic_release_sda:
+48be 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48bf 1fe10e07 and pdata ,0x07 ,queue 
+48c0 1fe97e00 rshift3 pdata ,pdata 
+48c1 d8408070 arg core_gpio_oe0 ,temp 
+48c2 98408400 iadd temp ,temp 
+48c3 e8408000 ifetch 1 ,temp 
+48c4 f93ffe00 qset0 pdata 
+48c5 e0408000 istore 1 ,temp 
+48c6 20600000 rtn 
+
+sim_iic_read_sda_level:
+48c7 20000004 nop 4 
+48c8 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48c9 1fe10e07 and pdata ,0x07 ,queue 
+48ca 1fe97e00 rshift3 pdata ,pdata 
+48cb d840811c arg core_gpio_in ,temp 
+48cc 98408400 iadd temp ,temp 
+48cd 58000000 setarg 0 
+48ce e8488000 ifetcht 1 ,temp 
+48cf a84fffff qisolate1 temp 
+48d0 7920fe00 setflag true ,0 ,pdata 
+48d1 20600000 rtn 
+
+sim_iic_delay:
+48d2 20600000 rtn 
+
+usb_isr:
+48d3 44fb401e bpatch patch1e_6 ,mem_patch1e 
+48d4 68108a26 hfetch 1 ,core_usb_status 
+48d5 2feffe07 isolate1 7 ,pdata 
+48d6 2040c8ea call usb_init ,true 
+48d7 2040492e call usb_nak_state_judge 
+48d8 68108a26 hfetch 1 ,core_usb_status 
+48d9 60008b22 store 1 ,mem_usb_status 
+48da 68108a27 hfetch 1 ,core_usb_fifo_empty 
+48db 60008b23 store 1 ,mem_usb_fifo_empty 
+48dc 60108a27 hstore 1 ,core_usb_fifo_empty 
+48dd 1fe47e00 pinvert 
+48de 68088d37 fetcht 1 ,mem_usb_tx_wait 
+48df 98417e00 iand temp ,pdata 
+48e0 60008d37 store 1 ,mem_usb_tx_wait 
+48e1 708a26e0 hjam 0xe0 ,core_usb_status 
+48e2 68008b23 fetch 1 ,mem_usb_fifo_empty 
+48e3 2fe00201 compare 0x1 ,pdata ,0x1 
+48e4 2040c941 call usb0_fifo_empty ,true 
+48e5 68008b22 fetch 1 ,mem_usb_status 
+48e6 2fe00201 compare 0x1 ,pdata ,0x1 
+48e7 2040c94a call usb_status1 ,true 
+48e8 20404b61 call usb_tx 
+48e9 20204903 branch usb_nak_state 
+
+usb_init:
+48ea 44fbc01e bpatch patch1e_7 ,mem_patch1e 
+48eb 20404919 call usb_init_param 
+48ec 708a0000 hjam 0x00 ,core_usb_config 
+48ed 20002710 nop 10000 
+48ee 708a10c0 hjam 0xc0 ,core_usb_trig 
+48ef 68110050 hfetch 2 ,core_clkoff 
+48f0 793ffe0a set0 clock_off_usb ,pdata 
+48f1 60110050 hstore 2 ,core_clkoff 
+48f2 708a003c hjam 0x3c ,core_usb_config 
+48f3 708a26ff hjam 0xff ,core_usb_status 
+48f4 708a27ff hjam 0xff ,core_usb_fifo_empty 
+48f5 708a0400 hjam 0 ,core_usb_addr 
+48f6 700c6b02 jam dev_default ,mem_usb0_state 
+48f7 58000d9d setarg mem_usb_clear_mem_end 
+48f8 d8a00c6e arg mem_usb_clear_mem_start ,contw 
+48f9 98a67200 isub contw ,loopcnt 
+48fa 20207ed4 branch clear_mem 
+
+usb_offline_check_init:
+48fb 68088c6c fetcht 1 ,mem_usb_offline_check_gpio 
+48fc 202067fb branch gpio_config_input 
+
+usb_offline_state:
+48fd 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+48fe 207a0000 rtn blank 
+48ff 68088c6c fetcht 1 ,mem_usb_offline_check_gpio 
+4900 2040681d call gpio_get_bit 
+4901 2020c8ea branch usb_init ,true 
+4902 20600000 rtn 
+
+usb_nak_state:
+4903 d8e00000 arg timer_nak ,queue 
+4904 20407f16 call timer_check 
+4905 247a0000 nrtn blank 
+4906 68008d46 fetch 1 ,mem_usb_wakestate_onetime_flag 
+4907 247a0000 nrtn blank 
+4908 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+4909 245a4bb7 ncall usb_mac_wakeup_judge ,blank 
+490a 20600000 rtn 
+
+usb_mem_devicedesc_init:
+490b d8a00b68 arg mem_devicedesc ,contw 
+490c 38011212 setsect 0 ,0x11212 
+490d 38048000 setsect 1 ,0x8000 
+490e 38080000 setsect 2 ,0x0 
+490f 380d0000 setsect 3 ,0x10000 
+4910 e0a48000 istore 9 ,contw 
+4911 38022412 setsect 0 ,0x22412 
+4912 38048604 setsect 1 ,0x8604 
+4913 38081000 setsect 2 ,0x1000 
+4914 380c0008 setsect 3 ,0x8 
+4915 e0a48000 istore 9 ,contw 
+4916 38000001 setsect 0 ,0x1 
+4917 e0a08000 istore 1 ,contw 
+4918 20600000 rtn 
+
+usb_init_param:
+4919 700c6b02 jam 2 ,mem_usb0_state 
+491a 58000000 setarg 0x0 
+491b 60008b67 store 1 ,mem_remain 
+491c 60010c65 store 2 ,mem_usb_zero_packet 
+491d 1fe0fe01 pincrease 1 
+491e 60010c67 store 2 ,mem_usb_ones_packet 
+491f 1fe0fe01 pincrease 1 
+4920 60010c69 store 2 ,mem_usb_two_packet 
+4921 58008ffa setarg hid_kbdata_addr 
+4922 60010b7c store 2 ,mem_hidreportdesc_kb 
+4923 5800903a setarg hid_msdata_addr 
+4924 60010b7e store 2 ,mem_hidreportdesc_m 
+4925 d8a00b80 arg mem_confdesc ,contw 
+4926 d8c090fe arg hid_confdata_addr ,contr 
+4927 20407eb3 call memcpy64 
+4928 68008c6d fetch 1 ,mem_usb_tx_interval 
+4929 245a492b ncall usb_tx_interval_config ,blank 
+492a 2020490b branch usb_mem_devicedesc_init 
+
+usb_tx_interval_config:
+492b 60008ba2 store 1 ,mem_confdesc + 34 
+492c 60008bbb store 1 ,mem_confdesc + 59 
+492d 20600000 rtn 
+
+usb_nak_state_judge:
+492e 68108a26 hfetch 1 ,core_usb_status 
+492f c2834931 bbit1 usb_status_nak ,usb_nak_state_timer_init 
+4930 20600000 rtn 
+
+usb_nak_state_timer_init:
+4931 20404936 call usb0_attached_state_judge 
+4932 20407f15 call timer_reinit 
+4933 58000280 setarg timer_nak_delay 
+4934 d8e00000 arg timer_nak ,queue 
+4935 20207f08 branch timer_init 
+
+usb0_attached_state_judge:
+4936 68008d36 fetch 1 ,mem_usb_state 
+4937 c081493b bne usb_connected ,usb_clear_halt_dispose 
+4938 700d4600 jam 0 ,mem_usb_wakestate_onetime_flag 
+4939 700d4700 jam 0 ,mem_usb_mac_wakeup_trig 
+493a 20600000 rtn 
+
+usb_clear_halt_dispose:
+493b 68008d53 fetch 1 ,mem_usb_clear_halt 
+493c 207a0000 rtn blank 
+493d 700d5300 jam 0 ,mem_usb_clear_halt 
+493e 700d3602 jam usb_connected ,mem_usb_state 
+493f 700d4501 jam 1 ,mem_usb_device_enumeration_endflag 
+4940 20600000 rtn 
+
+usb0_fifo_empty:
+4941 708a2701 hjam 0x1 ,core_usb_fifo_empty 
+4942 20204b37 branch usb0_tx 
+
+usb_rx_no_data:
+4943 68008b22 fetch 1 ,mem_usb_status 
+4944 c2824955 bbit1 usb_status_setup ,usb_class_type 
+4945 20600000 rtn 
+
+usb_rx_read:
+4946 68108a18 hfetch 1 ,core_usb_ep 
+4947 e0a08000 istore 1 ,contw 
+4948 c2004946 loop usb_rx_read 
+4949 20600000 rtn 
+
+usb_status1:
+494a 44fc401f bpatch patch1f_0 ,mem_patch1f 
+494b 708a2611 hjam 0x11 ,core_usb_status 
+494c 68108a20 hfetch 1 ,core_usb_ep_len 
+494d 60008b24 store 1 ,mem_usb_read_len 
+494e 1fe27200 copy pdata ,loopcnt 
+494f 203a4943 branch usb_rx_no_data ,blank 
+4950 d8a00c6e arg mem_usb_setup ,contw 
+4951 20404946 call usb_rx_read 
+4952 68008b24 fetch 1 ,mem_usb_read_len 
+4953 1fe67c07 sub pdata ,7 ,null 
+4954 20610000 rtn positive 
+
+usb_class_type:
+4955 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4956 1fe17e80 and_into 0x80 ,pdata 
+4957 c040495a beq in_device ,usb_in_device 
+4958 c0004962 beq out_device ,usb_out_device 
+4959 20202a8c branch assert 
+
+usb_in_device:
+495a 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+495b 1ff1fe00 rshift4 pdata ,pdata 
+495c 1fe37e00 rshift pdata ,pdata 
+495d 1fe17e03 and_into 0x03 ,pdata 
+495e c000496a beq standard_req ,usb_in_standard_req 
+495f c000c970 beq class_req ,usb_in_class_req 
+4960 c0014975 beq manufacturer_req ,usb_in_manufacturer_req 
+4961 20202a8c branch assert 
+
+usb_out_device:
+4962 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4963 1ff1fe00 rshift4 pdata ,pdata 
+4964 1fe37e00 rshift pdata ,pdata 
+4965 1fe17e03 and_into 0x03 ,pdata 
+4966 c0004976 beq standard_req ,usb_out_standard_req 
+4967 c000c97e beq class_req ,usb_out_class_req 
+4968 c0014983 beq manufacturer_req ,usb_out_manufacturer_req 
+4969 20202a8c branch assert 
+
+usb_in_standard_req:
+496a 68008c6f fetch 1 ,mem_usb_setup_brequest 
+496b c004498a beq get_configuration ,usb0_request_get_configuration 
+496c c00349a0 beq get_descriptor ,usb0_request_get_descriptor 
+496d c00549ea beq get_interface ,usb0_request_get_interface 
+496e c00049fc beq get_status ,usb0_request_get_status 
+496f 20204984 branch usb0_force_stall 
+
+usb_in_class_req:
+4970 68008c6f fetch 1 ,mem_usb_setup_brequest 
+4971 c0014a2f beq get_idle ,usb_get_idle 
+4972 c000ca33 beq get_report ,usb_get_report 
+4973 c001ca45 beq get_protocol ,usb_get_protocol_req 
+4974 20204984 branch usb0_force_stall 
+
+usb_in_manufacturer_req:
+4975 20204984 branch usb0_force_stall 
+
+usb_out_standard_req:
+4976 68008c6f fetch 1 ,mem_usb_setup_brequest 
+4977 c000ca4f beq clear_feature ,usb0_request_clear_feature 
+4978 c001ca79 beq set_feature ,usb0_request_set_feature 
+4979 c002caa3 beq set_address ,usb0_request_set_address 
+497a c004cabc beq set_configuration ,usb0_request_set_configuration 
+497b c005cad7 beq set_interface ,usb0_request_set_interface 
+497c c003c984 beq set_descriptor ,usb0_force_stall 
+497d 20204984 branch usb0_force_stall 
+
+usb_out_class_req:
+497e 68008c6f fetch 1 ,mem_usb_setup_brequest 
+497f c0054ae8 beq set_idle ,usb_set_idle 
+4980 c004caf9 beq set_report ,usb_set_report 
+4981 c005cb11 beq set_protocol ,usb_set_protocol_req 
+4982 20204984 branch usb0_force_stall 
+
+usb_out_manufacturer_req:
+4983 20204984 branch usb0_force_stall 
+
+usb0_force_stall:
+4984 68108a11 hfetch 1 ,core_usb_stall 
+4985 79207e00 set1 0 ,pdata 
+4986 60108a11 hstore 1 ,core_usb_stall 
+4987 20204988 branch usb0_reply_zerolen 
+
+usb0_reply_zerolen:
+4988 708a1240 hjam 0x40 ,core_usb_clear 
+4989 20600000 rtn 
+
+usb0_request_get_configuration:
+498a 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+498b c0c04984 bne in_device ,usb0_force_stall 
+498c 68008c72 fetch 1 ,mem_usb_setup_windex 
+498d c0804984 bne 0 ,usb0_force_stall 
+498e 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+498f c0804984 bne 0 ,usb0_force_stall 
+4990 68008c74 fetch 1 ,mem_usb_setup_blength 
+4991 c080c984 bne 1 ,usb0_force_stall 
+4992 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4993 c0804984 bne 0 ,usb0_force_stall 
+4994 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4995 c0804984 bne 0 ,usb0_force_stall 
+4996 68008c71 fetch 1 ,mem_usb_setup_bvalue + 1 
+4997 c0804984 bne 0 ,usb0_force_stall 
+4998 68008c6b fetch 1 ,mem_usb0_state 
+4999 c002499c beq dev_configured ,usb0_request_get_cfg_dev_cfg 
+499a c001c99e beq dev_address ,usb0_request_get_cfg_dev_addr 
+499b 20204984 branch usb0_force_stall 
+
+usb0_request_get_cfg_dev_cfg:
+499c da400001 arg 1 ,regb 
+499d 20204a14 branch usb_send_ones_packet 
+
+usb0_request_get_cfg_dev_addr:
+499e da400001 arg 1 ,regb 
+499f 20204a12 branch usb_send_zero_packet 
+
+usb0_request_get_descriptor:
+49a0 44fcc01f bpatch patch1f_1 ,mem_patch1f 
+49a1 793f8023 set0 mark_isstr ,mark 
+49a2 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+49a3 c000c9b6 beq dsc_device ,dsc_device_info 
+49a4 c00149cf beq dsc_config ,dsc_config_info 
+49a5 c001c9d2 beq dsc_string ,dsc_string_info 
+49a6 c010c9a9 beq dsc_hid ,dsc_hid_info 
+49a7 c01149e0 beq dsc_hid_report ,dsc_hid_report_info 
+49a8 20204984 branch usb0_force_stall 
+
+dsc_hid_info:
+49a9 700d4b00 jam 0 ,mem_usb_get_protocol_flag 
+49aa 68008c72 fetch 1 ,mem_usb_setup_windex 
+49ab c00049ae beq 0 ,dsc_hid_info_interface0 
+49ac c000c9b2 beq 1 ,dsc_hid_info_interface1 
+49ad 20204984 branch usb0_force_stall 
+
+dsc_hid_info_interface0:
+49ae da200b93 arg mem_confdesc + 19 ,rega 
+49af ea208000 ifetch 1 ,rega 
+49b0 98002400 iforce regb 
+49b1 20204b21 branch usb0_respond 
+
+dsc_hid_info_interface1:
+49b2 da200bac arg mem_confdesc + 44 ,rega 
+49b3 ea208000 ifetch 1 ,rega 
+49b4 98002400 iforce regb 
+49b5 20204b21 branch usb0_respond 
+
+dsc_device_info:
+49b6 68008d48 fetch 1 ,mem_usb_set_high_addr_flag 
+49b7 245a49c7 ncall usb_set_high_addr ,blank 
+49b8 58000b68 setarg mem_devicedesc 
+49b9 68088b68 fetcht 1 ,mem_devicedesc 
+
+dsc_info_set_data_len:
+49ba 60010d3f store 2 ,mem_dsc_info_data_pointer 
+49bb 60088d41 storet 1 ,mem_dsc_info_len 
+49bc 68008c74 fetch 1 ,mem_usb_setup_blength 
+49bd 98467c00 isub temp ,null 
+49be 242149c5 nbranch dsc_info_set_current_data_len ,positive 
+
+dsc_info_set_initial_data_len:
+49bf 68008d41 fetch 1 ,mem_dsc_info_len 
+
+dsc_info_set_data_size_completed:
+49c0 98002400 iforce regb 
+49c1 68010d3f fetch 2 ,mem_dsc_info_data_pointer 
+49c2 1fe0fe01 add pdata ,1 ,pdata 
+49c3 98002200 iforce rega 
+49c4 20204b21 branch usb0_respond 
+
+dsc_info_set_current_data_len:
+49c5 68008c74 fetch 1 ,mem_usb_setup_blength 
+49c6 202049c0 branch dsc_info_set_data_size_completed 
+
+usb_set_high_addr:
+49c7 68108a04 hfetch 1 ,core_usb_addr 
+49c8 245a49cb ncall usb0_set_addr ,blank 
+49c9 700d4800 jam 0 ,mem_usb_set_high_addr_flag 
+49ca 20600000 rtn 
+
+usb0_set_addr:
+49cb 68108a04 hfetch 1 ,core_usb_addr 
+49cc 79207e07 set1 7 ,pdata 
+49cd 60108a04 hstore 1 ,core_usb_addr 
+49ce 20600000 rtn 
+
+dsc_config_info:
+49cf 58000b80 setarg mem_confdesc 
+49d0 68088b80 fetcht 1 ,mem_confdesc 
+49d1 202049ba branch dsc_info_set_data_len 
+
+dsc_string_info:
+49d2 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49d3 1fe67c03 sub pdata ,3 ,null 
+49d4 24214984 nbranch usb0_force_stall ,positive 
+49d5 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49d6 da200be4 arg mem_string0 ,rega 
+49d7 c0004b1e beq 0 ,usb0_respond_length 
+49d8 79200023 set1 mark_isstr ,mark 
+49d9 da200be9 arg mem_string1 ,rega 
+49da c000cb1e beq 1 ,usb0_respond_length 
+49db da200c07 arg mem_string2 ,rega 
+49dc c0014b1e beq 2 ,usb0_respond_length 
+49dd da200c47 arg mem_string3 ,rega 
+49de c001cb1e beq 3 ,usb0_respond_length 
+49df 20600000 rtn 
+
+dsc_hid_report_info:
+49e0 68010c72 fetch 2 ,mem_usb_setup_windex 
+49e1 c000c9e5 beq 1 ,dsc_hid_report_info0 
+49e2 68010b7c fetch 2 ,mem_hidreportdesc_kb 
+49e3 1fe22200 copy pdata ,rega 
+49e4 20204b1e branch usb0_respond_length 
+
+dsc_hid_report_info0:
+49e5 700d4501 jam 1 ,mem_usb_device_enumeration_endflag 
+49e6 700d3601 jam usb_got_report_req ,mem_usb_state 
+49e7 68010b7e fetch 2 ,mem_hidreportdesc_m 
+49e8 1fe22200 copy pdata ,rega 
+49e9 20204b1e branch usb0_respond_length 
+
+usb0_request_get_interface:
+49ea 68008c6b fetch 1 ,mem_usb0_state 
+49eb c0824984 bne dev_configured ,usb0_force_stall 
+49ec 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+49ed c0c0c984 bne in_interface ,usb0_force_stall 
+49ee 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49ef c0804984 bne 0 ,usb0_force_stall 
+49f0 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+49f1 c0804984 bne 0 ,usb0_force_stall 
+49f2 68008c74 fetch 1 ,mem_usb_setup_blength 
+49f3 c080c984 bne 1 ,usb0_force_stall 
+49f4 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+49f5 c0804984 bne 0 ,usb0_force_stall 
+49f6 68008c72 fetch 1 ,mem_usb_setup_windex 
+49f7 c0804984 bne 0 ,usb0_force_stall 
+49f8 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+49f9 c0804984 bne 0 ,usb0_force_stall 
+49fa da400001 arg 1 ,regb 
+49fb 20204a12 branch usb_send_zero_packet 
+
+usb0_request_get_status:
+49fc 68008c6b fetch 1 ,mem_usb0_state 
+49fd c0014984 beq dev_default ,usb0_force_stall 
+49fe 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49ff c0804984 bne 0 ,usb0_force_stall 
+4a00 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4a01 c0804984 bne 0 ,usb0_force_stall 
+4a02 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a03 c0814984 bne 2 ,usb0_force_stall 
+4a04 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4a05 c0804984 bne 0 ,usb0_force_stall 
+4a06 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4a07 c0804984 bne 0 ,usb0_force_stall 
+4a08 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4a09 c0404a0d beq in_device ,usb0_get_status_in_device 
+4a0a c040ca18 beq in_interface ,usb0_get_status_in_interface 
+4a0b c0414a1c beq in_endpoint ,usb0_get_status_in_endpoint 
+4a0c 20204984 branch usb0_force_stall 
+
+usb0_get_status_in_device:
+4a0d 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a0e c0804984 bne 0 ,usb0_force_stall 
+4a0f da400002 arg 2 ,regb 
+4a10 68008d39 fetch 1 ,mem_usb_remote_wakeup 
+4a11 c000ca16 beq 0x01 ,usb_send_two_packet 
+
+usb_send_zero_packet:
+4a12 da200c65 arg mem_usb_zero_packet ,rega 
+4a13 20204b21 branch usb0_respond 
+
+usb_send_ones_packet:
+4a14 da200c67 arg mem_usb_ones_packet ,rega 
+4a15 20204b21 branch usb0_respond 
+
+usb_send_two_packet:
+4a16 da200c69 arg mem_usb_two_packet ,rega 
+4a17 20204b21 branch usb0_respond 
+
+usb0_get_status_in_interface:
+4a18 68008c6b fetch 1 ,mem_usb0_state 
+4a19 c0824984 bne dev_configured ,usb0_force_stall 
+4a1a da400002 arg 2 ,regb 
+4a1b 20204a12 branch usb_send_zero_packet 
+
+usb0_get_status_in_endpoint:
+4a1c 68008c6b fetch 1 ,mem_usb0_state 
+4a1d c0824984 bne dev_configured ,usb0_force_stall 
+4a1e 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a1f c040ca29 beq in_ep1 ,usb0_get_status_in_ep_in_ep1 
+4a20 c0414a2b beq in_ep2 ,usb0_get_status_in_ep_in_ep2 
+4a21 c041ca2d beq in_ep3 ,usb0_get_status_in_ep_in_ep3 
+4a22 1fe17e7f and_into 0x7f ,pdata 
+4a23 c0004a25 beq 0x00 ,usb0_get_status_in_ep_in_ep0 
+4a24 20204984 branch usb0_force_stall 
+
+usb0_get_status_in_ep_in_ep0:
+4a25 68008d3b fetch 1 ,mem_usb_ep0_stall_status 
+
+usb0_get_status_in_ep_in_ack:
+4a26 da400002 arg 2 ,regb 
+4a27 c000ca14 beq 1 ,usb_send_ones_packet 
+4a28 20204a12 branch usb_send_zero_packet 
+
+usb0_get_status_in_ep_in_ep1:
+4a29 68008d3c fetch 1 ,mem_usb_ep1_stall_status 
+4a2a 20204a26 branch usb0_get_status_in_ep_in_ack 
+
+usb0_get_status_in_ep_in_ep2:
+4a2b 68008d3d fetch 1 ,mem_usb_ep2_stall_status 
+4a2c 20204a26 branch usb0_get_status_in_ep_in_ack 
+
+usb0_get_status_in_ep_in_ep3:
+4a2d 68008d3e fetch 1 ,mem_usb_ep3_stall_status 
+4a2e 20204a26 branch usb0_get_status_in_ep_in_ack 
+
+usb_get_idle:
+4a2f 700d4c01 jam 1 ,mem_usb_idle_flag 
+4a30 da200d4d arg mem_usb_idle_rate ,rega 
+4a31 da400001 arg 1 ,regb 
+4a32 20204b21 branch usb0_respond 
+
+usb_get_report:
+4a33 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+4a34 d84001ba arg pc_get_report ,temp 
+4a35 98467c00 isub temp ,null 
+4a36 2422c984 nbranch usb0_force_stall ,zero 
+4a37 793f8023 set0 mark_isstr ,mark 
+
+usb_get_report_dispose:
+4a38 68008d42 fetch 1 ,mem_usb0_data_ready_report 
+4a39 243a4a42 nbranch usb_get_report_data_success ,blank 
+4a3a 700cf600 jam pc_get_nondata ,mem_usb0_get_report_data 
+
+usb_get_report_send_data:
+4a3b 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a3c 98002400 iforce regb 
+4a3d da200cf6 arg mem_usb0_get_report_data ,rega 
+4a3e 20404b21 call usb0_respond 
+
+usb_get_report_data_release:
+4a3f d8a00cf6 arg mem_usb0_get_report_data ,contw 
+4a40 df200008 arg 8 ,loopcnt 
+4a41 20207ec6 branch memset0 
+
+usb_get_report_data_success:
+4a42 700d4200 jam 0 ,mem_usb0_data_ready_report 
+4a43 700cf601 jam pc_get_data ,mem_usb0_get_report_data 
+4a44 20204a3b branch usb_get_report_send_data 
+
+usb_get_protocol_req:
+4a45 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a46 c080c984 bne 1 ,usb0_force_stall 
+4a47 700d4b01 jam 1 ,mem_usb_get_protocol_flag 
+4a48 da400001 arg 1 ,regb 
+4a49 68008d49 fetch 1 ,mem_usb_set_protocol_value 
+4a4a c0004a4d beq 0 ,usb_get_report_protocol 
+4a4b c000ca4e beq 1 ,usb_get_boot_protocol 
+4a4c 20204a12 branch usb_send_zero_packet 
+
+usb_get_report_protocol:
+4a4d 20204a14 branch usb_send_ones_packet 
+
+usb_get_boot_protocol:
+4a4e 20204a12 branch usb_send_zero_packet 
+
+usb0_request_clear_feature:
+4a4f 68008c6b fetch 1 ,mem_usb0_state 
+4a50 c0824984 bne dev_configured ,usb0_force_stall 
+4a51 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a52 c0804984 bne 0 ,usb0_force_stall 
+4a53 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4a54 c0804984 bne 0 ,usb0_force_stall 
+4a55 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4a56 c0804984 bne 0 ,usb0_force_stall 
+4a57 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4a58 c0804984 bne 0 ,usb0_force_stall 
+4a59 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4a5a c0004a5e beq out_device ,usb0_request_clear_feature_out_device 
+4a5b c000ca66 beq out_interface ,usb0_request_clear_feature_out_interface 
+4a5c c0014a67 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+4a5d 20204984 branch usb0_force_stall 
+
+usb0_request_clear_feature_out_device:
+4a5e 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a5f c080c984 bne device_remote_wakeup ,usb0_force_stall 
+4a60 68108a00 hfetch 1 ,core_usb_config 
+4a61 793ffe07 set0 7 ,pdata 
+4a62 60108a00 hstore 1 ,core_usb_config 
+4a63 700d3900 jam 0 ,mem_usb_remote_wakeup 
+4a64 700d3a01 jam 1 ,mem_usb_clear_remote_wakeup 
+4a65 20204988 branch usb0_reply_zerolen 
+
+usb0_request_clear_feature_out_interface:
+4a66 20204984 branch usb0_force_stall 
+
+usb0_request_clear_feature_out_endpoint:
+4a67 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a68 c0804984 bne endpoint_halt ,usb0_force_stall 
+4a69 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a6a c040ca72 beq in_ep1 ,usb0_force_stall_ep1_in_off 
+4a6b c0414a75 beq in_ep2 ,usb0_force_stall_ep2_in_off 
+4a6c c041ca77 beq in_ep3 ,usb0_force_stall_ep3_in_off 
+4a6d 1fe17e7f and_into 0x7f ,pdata 
+4a6e c0004a70 beq 0x00 ,usb0_force_stall_ep0_in_off 
+4a6f 20204984 branch usb0_force_stall 
+
+usb0_force_stall_ep0_in_off:
+4a70 700d3b00 jam 0 ,mem_usb_ep0_stall_status 
+4a71 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep1_in_off:
+4a72 700d3c00 jam 0 ,mem_usb_ep1_stall_status 
+
+usb0_force_stall_ep1_in_off_reply:
+4a73 700d5301 jam 1 ,mem_usb_clear_halt 
+4a74 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep2_in_off:
+4a75 700d3d00 jam 0 ,mem_usb_ep2_stall_status 
+4a76 20204a73 branch usb0_force_stall_ep1_in_off_reply 
+
+usb0_force_stall_ep3_in_off:
+4a77 700d3e00 jam 0 ,mem_usb_ep3_stall_status 
+4a78 20204a73 branch usb0_force_stall_ep1_in_off_reply 
+
+usb0_request_set_feature:
+4a79 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a7a c0804984 bne 0 ,usb0_force_stall 
+4a7b 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4a7c c0804984 bne 0 ,usb0_force_stall 
+4a7d 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4a7e c0004a82 beq out_device ,usb0_request_set_feature_out_device 
+4a7f c000ca8f beq out_interface ,usb0_request_set_feature_out_interface 
+4a80 c0014a90 beq out_endpoint ,usb0_request_set_feature_out_endpoint 
+4a81 20204984 branch usb0_force_stall 
+
+usb0_request_set_feature_out_device:
+4a82 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a83 c080c984 bne device_remote_wakeup ,usb0_force_stall 
+4a84 68108a00 hfetch 1 ,core_usb_config 
+4a85 79207e07 set1 7 ,pdata 
+4a86 60108a00 hstore 1 ,core_usb_config 
+4a87 700d3901 jam 1 ,mem_usb_remote_wakeup 
+4a88 700d3603 jam usb_sleep ,mem_usb_state 
+4a89 700d4300 jam 0 ,mem_usb_tx_win_enable 
+4a8a 20404988 call usb0_reply_zerolen 
+
+usb_wakeup_timer_reinit:
+4a8b 20407f15 call timer_reinit 
+4a8c 58001388 setarg timer_wakeup_delay 
+4a8d d8e0000f arg timer_wakeup ,queue 
+4a8e 20207f08 branch timer_init 
+
+usb0_request_set_feature_out_interface:
+4a8f 20204984 branch usb0_force_stall 
+
+usb0_request_set_feature_out_endpoint:
+4a90 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a91 c0804984 bne endpoint_halt ,usb0_force_stall 
+4a92 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4a93 c0804984 bne 0 ,usb0_force_stall 
+4a94 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a95 c040ca9d beq in_ep1 ,usb0_force_stall_ep1_in_on 
+4a96 c0414a9f beq in_ep2 ,usb0_force_stall_ep2_in_on 
+4a97 c041caa1 beq in_ep3 ,usb0_force_stall_ep3_in_on 
+4a98 1fe17e7f and_into 0x7f ,pdata 
+4a99 c0004a9b beq 0x00 ,usb0_force_stall_ep0_in_on 
+4a9a 20204984 branch usb0_force_stall 
+
+usb0_force_stall_ep0_in_on:
+4a9b 700d3b01 jam 1 ,mem_usb_ep0_stall_status 
+4a9c 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep1_in_on:
+4a9d 700d3c01 jam 1 ,mem_usb_ep1_stall_status 
+4a9e 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep2_in_on:
+4a9f 700d3d01 jam 1 ,mem_usb_ep2_stall_status 
+4aa0 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep3_in_on:
+4aa1 700d3e01 jam 1 ,mem_usb_ep3_stall_status 
+4aa2 20204988 branch usb0_reply_zerolen 
+
+usb0_request_set_address:
+4aa3 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4aa4 c0804984 bne out_device ,usb0_force_stall 
+4aa5 68008c72 fetch 1 ,mem_usb_setup_windex 
+4aa6 c0804984 bne 0 ,usb0_force_stall 
+4aa7 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4aa8 c0804984 bne 0 ,usb0_force_stall 
+4aa9 68008c74 fetch 1 ,mem_usb_setup_blength 
+4aaa c0804984 bne 0 ,usb0_force_stall 
+4aab 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4aac c0804984 bne 0 ,usb0_force_stall 
+4aad 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4aae c0804984 bne 0 ,usb0_force_stall 
+4aaf 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ab0 1fe17e80 and_into 0x80 ,pdata 
+4ab1 c0804984 bne 0 ,usb0_force_stall 
+4ab2 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ab3 c0804aba bne 0 ,usb_usb0_state_set_dev_addr 
+
+usb_usb0_state_set_dev_default:
+4ab4 700c6b02 jam dev_default ,mem_usb0_state 
+
+usb0_request_set_wait_address:
+4ab5 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ab6 60108a04 hstore 1 ,core_usb_addr 
+4ab7 20404988 call usb0_reply_zerolen 
+4ab8 700d4801 jam 1 ,mem_usb_set_high_addr_flag 
+4ab9 20600000 rtn 
+
+usb_usb0_state_set_dev_addr:
+4aba 700c6b03 jam dev_address ,mem_usb0_state 
+4abb 20204ab5 branch usb0_request_set_wait_address 
+
+usb0_request_set_configuration:
+4abc 68008c6b fetch 1 ,mem_usb0_state 
+4abd c0014984 beq dev_default ,usb0_force_stall 
+4abe 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4abf c0804984 bne out_device ,usb0_force_stall 
+4ac0 68008c72 fetch 1 ,mem_usb_setup_windex 
+4ac1 c0804984 bne 0 ,usb0_force_stall 
+4ac2 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4ac3 c0804984 bne 0 ,usb0_force_stall 
+4ac4 68008c74 fetch 1 ,mem_usb_setup_blength 
+4ac5 c0804984 bne 0 ,usb0_force_stall 
+4ac6 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4ac7 c0804984 bne 0 ,usb0_force_stall 
+4ac8 68008c71 fetch 1 ,mem_usb_setup_bvalue + 1 
+4ac9 c0804984 bne 0 ,usb0_force_stall 
+4aca 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4acb 1fe67c01 sub pdata ,usb_max_num_cfg ,null 
+4acc 24214984 nbranch usb0_force_stall ,positive 
+4acd 68008c6b fetch 1 ,mem_usb0_state 
+4ace c001cad1 beq dev_address ,usb0_request_set_cfg_addr_state 
+4acf c0024ad1 beq dev_configured ,usb0_request_set_cfg_cfg_state 
+4ad0 20204984 branch usb0_force_stall 
+
+usb0_request_set_cfg_addr_state:
+
+usb0_request_set_cfg_cfg_state:
+4ad1 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ad2 c0004ad5 beq 0 ,usb0_request_set_cfg_stay_addr_state 
+4ad3 700c6b04 jam dev_configured ,mem_usb0_state 
+4ad4 20204988 branch usb0_reply_zerolen 
+
+usb0_request_set_cfg_stay_addr_state:
+4ad5 700c6b03 jam dev_address ,mem_usb0_state 
+4ad6 20204988 branch usb0_reply_zerolen 
+
+usb0_request_set_interface:
+4ad7 68008c6b fetch 1 ,mem_usb0_state 
+4ad8 c0824984 bne dev_configured ,usb0_force_stall 
+4ad9 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4ada c080c984 bne out_interface ,usb0_force_stall 
+4adb 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4adc c0804984 bne 0 ,usb0_force_stall 
+4add 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4ade c0804984 bne 0 ,usb0_force_stall 
+4adf 68008c74 fetch 1 ,mem_usb_setup_blength 
+4ae0 c0804984 bne 0 ,usb0_force_stall 
+4ae1 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4ae2 c0804984 bne 0 ,usb0_force_stall 
+4ae3 68008c72 fetch 1 ,mem_usb_setup_windex 
+4ae4 c0804984 bne 0 ,usb0_force_stall 
+4ae5 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4ae6 c0804984 bne 0 ,usb0_force_stall 
+4ae7 20204988 branch usb0_reply_zerolen 
+
+usb_set_idle:
+4ae8 700d4c01 jam 1 ,mem_usb_idle_flag 
+4ae9 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4aea 60008d4d store 1 ,mem_usb_idle_rate 
+4aeb 68008c72 fetch 1 ,mem_usb_setup_windex 
+4aec 1fe67c01 sub pdata ,1 ,null 
+4aed 2042caf5 call usb_clear_remote_wakeup_set0 ,zero 
+4aee 68008d36 fetch 1 ,mem_usb_state 
+4aef c0824988 bne usb_resume ,usb0_reply_zerolen 
+4af0 700d3602 jam usb_connected ,mem_usb_state 
+4af1 20404988 call usb0_reply_zerolen 
+4af2 20007530 nop 30000 
+4af3 20007530 nop 30000 
+4af4 20600000 rtn 
+
+usb_clear_remote_wakeup_set0:
+4af5 700d4501 jam 1 ,mem_usb_device_enumeration_endflag 
+4af6 700d3a00 jam 0 ,mem_usb_clear_remote_wakeup 
+4af7 700d3604 jam usb_resume ,mem_usb_state 
+4af8 20600000 rtn 
+
+usb_set_report:
+4af9 700d5001 jam 1 ,mem_usb0_get_set_report 
+4afa 20404b03 call usb_set_report_resume_judge 
+4afb 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+4afc 60010d4e store 2 ,mem_usb_setup_bvalue_temp 
+4afd 68008c74 fetch 1 ,mem_usb_setup_blength 
+4afe 98007200 iforce loopcnt 
+4aff d8c00c76 arg mem_usb0_setup ,contr 
+4b00 d8a00cb6 arg mem_usb0_set_report_data ,contw 
+4b01 20407f01 call memcpy 
+4b02 20204988 branch usb0_reply_zerolen 
+
+usb_set_report_resume_judge:
+4b03 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+4b04 d8400200 arg pc_set_report_bvalue ,temp 
+4b05 98467c00 isub temp ,null 
+4b06 24628000 nrtn zero 
+4b07 68010c72 fetch 2 ,mem_usb_setup_windex 
+4b08 d8400000 arg pc_set_report_windex ,temp 
+4b09 98467c00 isub temp ,null 
+4b0a 24628000 nrtn zero 
+4b0b 68010c74 fetch 2 ,mem_usb_setup_blength 
+4b0c d8400001 arg pc_set_report_blength ,temp 
+4b0d 98467c00 isub temp ,null 
+4b0e 24628000 nrtn zero 
+4b0f 700d4301 jam 1 ,mem_usb_tx_win_enable 
+4b10 20600000 rtn 
+
+usb_set_protocol_req:
+4b11 68008c74 fetch 1 ,mem_usb_setup_blength 
+4b12 c0804984 bne 0 ,usb0_force_stall 
+4b13 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4b14 c0004b17 beq boot_protocol ,usb_set_boot_protocol 
+4b15 c000cb1a beq report_protocol ,usb_set_report_protocol 
+4b16 20204984 branch usb0_force_stall 
+
+usb_set_boot_protocol:
+4b17 700d4a00 jam 0 ,mem_usb_set_protocol_status 
+4b18 700d4901 jam 1 ,mem_usb_set_protocol_value 
+4b19 20204988 branch usb0_reply_zerolen 
+
+usb_set_report_protocol:
+4b1a 700d4401 jam 1 ,mem_usb_tx_mac_enable 
+4b1b 700d4a01 jam 1 ,mem_usb_set_protocol_status 
+4b1c 700d4900 jam 0 ,mem_usb_set_protocol_value 
+4b1d 20204988 branch usb0_reply_zerolen 
+
+usb0_respond_length:
+4b1e ea208000 ifetch 1 ,rega 
+4b1f 98002400 iforce regb 
+4b20 1a20a201 increase 1 ,rega 
+
+usb0_respond:
+4b21 44fd401f bpatch patch1f_2 ,mem_patch1f 
+4b22 c591cb2c bmark0 mark_isstr ,usb0_respond0 
+4b23 1a40fe01 add regb ,1 ,pdata 
+4b24 1fe3fe00 lshift pdata ,pdata 
+4b25 60108a18 hstore 1 ,core_usb_dfifo0 
+4b26 708a1803 hjam 3 ,core_usb_dfifo0 
+4b27 68008c74 fetch 1 ,mem_usb_setup_blength 
+4b28 1fe0fffe increase -2 ,pdata 
+4b29 1fe37e00 rshift pdata ,pdata 
+4b2a 60008c74 store 1 ,mem_usb_setup_blength 
+4b2b c0004b35 beq 0 ,usb_no_respond_data 
+
+usb0_respond0:
+4b2c 68010c74 fetch 2 ,mem_usb_setup_blength 
+4b2d 9a467c00 isub regb ,null 
+4b2e 20214b30 branch usb0_respond1 ,positive 
+4b2f 1fe22400 copy pdata ,regb 
+
+usb0_respond1:
+4b30 1a227e00 deposit rega 
+4b31 60010b65 store 2 ,mem_bufptr 
+4b32 1a427e00 deposit regb 
+4b33 60008b67 store 1 ,mem_remain 
+4b34 20204b37 branch usb0_tx 
+
+usb_no_respond_data:
+4b35 d8e00000 arg 0 ,queue 
+4b36 20204b57 branch usb_trig 
+
+usb0_tx:
+4b37 44fdc01f bpatch patch1f_3 ,mem_patch1f 
+4b38 68008b67 fetch 1 ,mem_remain 
+4b39 207a0000 rtn blank 
+4b3a 1fe27200 copy pdata ,loopcnt 
+4b3b 1fe67c40 sub pdata ,ep0_packet_size ,null 
+4b3c 20214b3e branch usb0_tx_info ,positive 
+4b3d df200040 arg ep0_packet_size ,loopcnt 
+
+usb0_tx_info:
+4b3e 68008b67 fetch 1 ,mem_remain 
+4b3f 9f267e00 isub loopcnt ,pdata 
+4b40 60008b67 store 1 ,mem_remain 
+4b41 68010b65 fetch 2 ,mem_bufptr 
+4b42 1fe20c00 copy pdata ,contr 
+
+usb0_tx0:
+4b43 e8c08000 ifetch 1 ,contr 
+4b44 60108a18 hstore 1 ,core_usb_dfifo0 
+4b45 c591cb47 bmark0 mark_isstr ,usb0_tx1 
+4b46 708a1800 hjam 0 ,core_usb_dfifo0 
+
+usb0_tx1:
+4b47 c2004b43 loop usb0_tx0 
+4b48 18c27e00 copy contr ,pdata 
+4b49 60010b65 store 2 ,mem_bufptr 
+4b4a d8e00000 arg 0 ,queue 
+4b4b 20404b57 call usb_trig 
+4b4c 68008b67 fetch 1 ,mem_remain 
+4b4d 247a0000 nrtn blank 
+4b4e 68008d36 fetch 1 ,mem_usb_state 
+4b4f c1808000 rtnne usb_got_report_req 
+4b50 700d3602 jam usb_connected ,mem_usb_state 
+4b51 20600000 rtn 
+
+usb_tx_ep1:
+4b52 da208a19 arg core_usb_dfifo1 ,rega 
+4b53 d8e00001 arg 1 ,queue 
+
+usb_tx_loop:
+4b54 e8c08000 ifetch 1 ,contr 
+4b55 e2208000 istore 1 ,rega 
+4b56 c2004b54 loop usb_tx_loop 
+
+usb_trig:
+4b57 58000000 setarg 0 
+4b58 f9207e00 qset1 pdata 
+4b59 60108a10 hstore 1 ,core_usb_trig 
+4b5a 68088d37 fetcht 1 ,mem_usb_tx_wait 
+4b5b 9841fe00 ior temp ,pdata 
+4b5c 60008d37 store 1 ,mem_usb_tx_wait 
+4b5d 20600000 rtn 
+
+usb_tx_ep2:
+4b5e d8e00002 arg 2 ,queue 
+4b5f da208a1a arg core_usb_dfifo2 ,rega 
+4b60 20204b54 branch usb_tx_loop 
+
+usb_tx:
+4b61 44fe401f bpatch patch1f_4 ,mem_patch1f 
+4b62 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b63 207a0000 rtn blank 
+4b64 68008d37 fetch 1 ,mem_usb_tx_wait 
+4b65 243a4bac nbranch usb_inwake_state_tx_dispose ,blank 
+4b66 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+4b67 203a4b86 branch usb_tx_fifo_release ,blank 
+4b68 68008d36 fetch 1 ,mem_usb_state 
+4b69 c001cbbf beq usb_sleep ,usb_windows_wakeup 
+4b6a c0814b86 bne usb_connected ,usb_tx_fifo_release 
+4b6b 68008d3a fetch 1 ,mem_usb_clear_remote_wakeup 
+4b6c 243a4b86 nbranch usb_tx_fifo_release ,blank 
+4b6d 20404b6f call usb_tx_data_ep1 
+4b6e 20204b7a branch usb_tx_data_ep2 
+
+usb_tx_data_ep1:
+4b6f 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b70 c4008000 rtnbit0 1 
+4b71 68008d37 fetch 1 ,mem_usb_tx_wait 
+4b72 c3808000 rtnbit1 1 
+4b73 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b74 793ffe01 set0 1 ,pdata 
+4b75 60008d38 store 1 ,mem_usb_tx_enable 
+4b76 68008d51 fetch 1 ,mem_usb_ep1_data 
+4b77 207a0000 rtn blank 
+4b78 c0084ba8 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+4b79 20202a8c branch assert 
+
+usb_tx_data_ep2:
+4b7a 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b7b c4010000 rtnbit0 2 
+4b7c 68008d37 fetch 1 ,mem_usb_tx_wait 
+4b7d c3810000 rtnbit1 2 
+4b7e 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b7f 793ffe02 set0 2 ,pdata 
+4b80 60008d38 store 1 ,mem_usb_tx_enable 
+4b81 68008d52 fetch 1 ,mem_usb_ep2_data 
+4b82 207a0000 rtn blank 
+4b83 c0104b89 beq usb_ep2_ms ,usb_tx_ms_data 
+4b84 c010cba4 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+4b85 20202a8c branch assert 
+
+usb_tx_fifo_release:
+4b86 d8a00d54 arg mem_usb_mouse_data ,contw 
+4b87 df200006 arg 6 ,loopcnt 
+4b88 20207ec6 branch memset0 
+
+usb_tx_ms_data:
+4b89 68008d4c fetch 1 ,mem_usb_idle_flag 
+4b8a 68088d4b fetcht 1 ,mem_usb_get_protocol_flag 
+4b8b 98417e00 iand temp ,pdata 
+4b8c 203a4ba0 branch usb_tx_ms_data_normal_mode ,blank 
+4b8d 68088d4a fetcht 1 ,mem_usb_set_protocol_status 
+4b8e 9840fe00 iadd temp ,pdata 
+4b8f c000cb91 beq mac_boot_mode ,usb_tx_ms_data_mac_boot_mode 
+4b90 20204ba0 branch usb_tx_ms_data_normal_mode 
+
+usb_tx_ms_data_mac_boot_mode:
+4b91 700d5200 jam 0 ,mem_usb_ep2_data 
+
+usb_tx_ms_data_mac_boot_regroup:
+4b92 68008d55 fetch 1 ,mem_usb_mouse_data + 1 
+4b93 c0014ba1 beq r_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+4b94 c001cba1 beq lr_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+4b95 68008d55 fetch 1 ,mem_usb_mouse_data + 1 
+4b96 60008d54 store 1 ,mem_usb_mouse_data 
+4b97 68008d56 fetch 1 ,mem_usb_mouse_data + 2 
+4b98 e0a08000 istore 1 ,contw 
+4b99 68008d58 fetch 1 ,mem_usb_mouse_data + 4 
+4b9a e0a08000 istore 1 ,contw 
+4b9b 68008d5a fetch 1 ,mem_usb_mouse_data + 6 
+4b9c e0a08000 istore 1 ,contw 
+4b9d df200004 arg 4 ,loopcnt 
+4b9e d8c00d54 arg mem_usb_mouse_data ,contr 
+4b9f 20204b5e branch usb_tx_ep2 
+
+usb_tx_ms_data_normal_mode:
+4ba0 700d5200 jam 0 ,mem_usb_ep2_data 
+
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:
+4ba1 df200008 arg 8 ,loopcnt 
+4ba2 d8c00d54 arg mem_usb_mouse_data ,contr 
+4ba3 20204b5e branch usb_tx_ep2 
+
+usb_tx_kb_multikey_data:
+4ba4 700d5200 jam 0 ,mem_usb_ep2_data 
+4ba5 df200003 arg 3 ,loopcnt 
+4ba6 d8c00d74 arg mem_usb_kb_multikey ,contr 
+4ba7 20204b5e branch usb_tx_ep2 
+
+usb_tx_kb_normal_data:
+4ba8 700d5100 jam 0 ,mem_usb_ep1_data 
+4ba9 df200008 arg 8 ,loopcnt 
+4baa d8c00d64 arg mem_usb_kb_data ,contr 
+4bab 20204b52 branch usb_tx_ep1 
+
+usb_inwake_state_tx_dispose:
+4bac 68008d36 fetch 1 ,mem_usb_state 
+4bad c001cbb0 beq usb_sleep ,usb_clear_tx_wait 
+4bae c0014bb2 beq usb_connected ,usb_mac_wakeup_trig 
+4baf 20600000 rtn 
+
+usb_clear_tx_wait:
+4bb0 700d3700 jam 0 ,mem_usb_tx_wait 
+4bb1 20600000 rtn 
+
+usb_mac_wakeup_trig:
+4bb2 68108a00 hfetch 1 ,core_usb_config 
+4bb3 79207e07 set1 7 ,pdata 
+4bb4 60108a00 hstore 1 ,core_usb_config 
+4bb5 700d4701 jam 1 ,mem_usb_mac_wakeup_trig 
+4bb6 20600000 rtn 
+
+usb_mac_wakeup_judge:
+4bb7 68008d36 fetch 1 ,mem_usb_state 
+4bb8 c1018000 rtneq usb_sleep 
+4bb9 c0014bbb beq usb_connected ,usb_mac_wakeup 
+4bba 20600000 rtn 
+
+usb_mac_wakeup:
+4bbb 68008d47 fetch 1 ,mem_usb_mac_wakeup_trig 
+4bbc 207a0000 rtn blank 
+4bbd 700d4601 jam 1 ,mem_usb_wakestate_onetime_flag 
+4bbe 20204bc2 branch usb_wakeup 
+
+usb_windows_wakeup:
+4bbf d8e0000f arg timer_wakeup ,queue 
+4bc0 20407f16 call timer_check 
+4bc1 247a0000 nrtn blank 
+
+usb_wakeup:
+4bc2 68108a00 hfetch 1 ,core_usb_config 
+4bc3 c4038000 rtnbit0 7 
+4bc4 708a00fc hjam 0xfc ,core_usb_config 
+4bc5 20007530 nop 30000 
+4bc6 708a003c hjam 0x3c ,core_usb_config 
+4bc7 20600000 rtn 
+
+hci_rx_h4:
+4bc8 44fec01f bpatch patch1f_5 ,mem_patch1f 
+4bc9 6800c1ce fetch 1 ,mem_hci_cmd 
+4bca 247a0000 nrtn blank 
+
+hci_rx_h4_1:
+4bcb 20404bce call hci_h4_parse_packet 
+4bcc 24544be6 ncall h4_rx_discard_packet ,user 
+4bcd 20600000 rtn 
+
+hci_h4_parse_packet:
+4bce 44ff401f bpatch patch1f_6 ,mem_patch1f 
+4bcf 18622200 copy contru ,rega 
+4bd0 d8400004 arg 4 ,temp 
+4bd1 e8608000 ifetch 1 ,contru 
+4bd2 c000cbd8 beq hci_h4_type_cmd ,hci_h4_parse_packet_wait_len 
+4bd3 18408401 increase 1 ,temp 
+4bd4 c0014bd8 beq hci_h4_type_acl ,hci_h4_parse_packet_wait_len 
+4bd5 18627e00 copy contru ,pdata 
+4bd6 60110058 hstore 2 ,core_uart_rrptr 
+4bd7 20600000 rtn 
+
+hci_h4_parse_packet_wait_len:
+4bd8 68110112 hfetch 2 ,core_uart_rxitems 
+4bd9 98467c00 isub temp ,null 
+4bda 24214bd8 nbranch hci_h4_parse_packet_wait_len ,positive 
+4bdb 78547c00 disable user 
+4bdc 1a220600 copy rega ,contru 
+4bdd 20404bee call h4_get_rx_payload_len 
+4bde 98408400 iadd temp ,temp 
+
+hci_h4_parse_packet_wait:
+4bdf 68110112 hfetch 2 ,core_uart_rxitems 
+4be0 98467c00 isub temp ,null 
+4be1 24214bdf nbranch hci_h4_parse_packet_wait ,positive 
+4be2 1a220600 copy rega ,contru 
+4be3 e8608000 ifetch 1 ,contru 
+4be4 c000cc3f beq hci_h4_type_cmd ,process_hci_cmd 
+4be5 20202a8c branch assert 
+
+h4_rx_discard_packet:
+4be6 44ffc01f bpatch patch1f_7 ,mem_patch1f 
+4be7 68110058 hfetch 2 ,core_uart_rrptr 
+4be8 98000600 iforce contru 
+4be9 20404bee call h4_get_rx_payload_len 
+4bea 98608600 iadd contru ,contru 
+4beb 18627e00 deposit contru 
+4bec 60110058 hstore 2 ,core_uart_rrptr 
+4bed 20600000 rtn 
+
+h4_get_rx_payload_len:
+4bee e8608000 ifetch 1 ,contru 
+4bef 18608602 increase 2 ,contru 
+4bf0 c0014bf3 beq hci_h4_type_acl ,h4_get_rx_payload_len_acl 
+4bf1 e8608000 ifetch 1 ,contru 
+4bf2 20600000 rtn 
+
+h4_get_rx_payload_len_acl:
+4bf3 e8610000 ifetch 2 ,contru 
+4bf4 20600000 rtn 
+
+h4_get_tx_ptr:
+4bf5 6811005e hfetch 2 ,core_uart_twptr 
+4bf6 194095fb increase -5 ,contwu 
+4bf7 99409400 iadd contwu ,contwu 
+4bf8 20600000 rtn 
+
+h4_send_packet_event:
+4bf9 d8400004 arg hci_h4_type_event ,temp 
+4bfa 20204bfc branch h4_send_packet 
+
+h4_send_packet_acl:
+4bfb d8400002 arg hci_h4_type_acl ,temp 
+
+h4_send_packet:
+4bfc 47004020 bpatchx patch20_0 ,mem_patch20 
+4bfd 1f20f201 increase 1 ,loopcnt 
+4bfe 6811005e hfetch 2 ,core_uart_twptr 
+4bff 1fe21400 copy pdata ,contwu 
+4c00 1f227e00 copy loopcnt ,pdata 
+4c01 e1488000 istoret 1 ,contwu 
+4c02 1fe0ffff increase -1 ,pdata 
+4c03 99409400 iadd contwu ,contwu 
+4c04 19427e00 copy contwu ,pdata 
+4c05 60010258 store 2 ,mem_hci_acl_tx_trigger_wptr 
+4c06 18427e00 copy temp ,pdata 
+4c07 c1010000 rtneq hci_h4_type_acl 
+4c08 68010258 fetch 2 ,mem_hci_acl_tx_trigger_wptr 
+4c09 6011005e hstore 2 ,core_uart_twptr 
+4c0a 20204c0b branch h4_send_acl_trigger_clear 
+
+h4_send_acl_trigger_clear:
+4c0b 58000000 setarg 0 
+4c0c 60010258 store 2 ,mem_hci_acl_tx_trigger_wptr 
+4c0d 20600000 rtn 
+
+hci_init:
+4c0e 20758000 rtn wake 
+4c0f 58004d28 setarg hci_idle_dispatch 
+4c10 600141f3 store 2 ,mem_cb_idle_process 
+4c11 580001a0 setarg uart_baud_115200 
+4c12 60014243 store uart_baud_len ,mem_baud 
+
+hci_lpm_init:
+4c13 58001800 setarg mem_h5rx_buf 
+4c14 60110054 hstore 2 ,core_uart_rsaddr 
+4c15 58001bff setarg mem_h5rx_buf_end 
+4c16 60110056 hstore 2 ,core_uart_readdr 
+4c17 58001c00 setarg mem_h5tx_buf 
+4c18 6011005a hstore 2 ,core_uart_tsaddr 
+4c19 20404c28 call hci_sel_init 
+
+hci_reinit:
+4c1a 70806200 hjam 0x0 ,core_uart_ctrl 
+4c1b 58001c00 setarg mem_h5tx_buf 
+4c1c 6011005e hstore 2 ,core_uart_twptr 
+4c1d 60110060 hstore 2 ,core_uart_trptrp 
+4c1e 58001800 setarg mem_h5rx_buf 
+4c1f 60110058 hstore 2 ,core_uart_rrptr 
+4c20 60010244 store 2 ,mem_h5rx_rptr 
+
+hci_init_common:
+4c21 68110050 hfetch 2 ,core_clkoff 
+4c22 793ffe0f set0 clock_off_uart ,pdata 
+4c23 60110050 hstore 2 ,core_clkoff 
+4c24 204066ce call uart_set_baud_by_mem 
+4c25 70804301 hjam uartclk_dpll ,core_uart_clksel 
+4c26 70806281 hjam uart_ctrl_h4 ,core_uart_ctrl 
+4c27 20600000 rtn 
+
+hci_sel_init:
+4c28 58001fff setarg mem_h5tx_buf_end 
+4c29 6011005c hstore 2 ,core_uart_teaddr 
+4c2a 68108081 hfetch 1 ,core_gpio_sel1 
+4c2b 1fe1fe07 or_into 0x07 ,pdata 
+4c2c 60108081 hstore 1 ,core_gpio_sel1 
+4c2d 20600000 rtn 
+
+hci_rx_packet:
+4c2e 4700c020 bpatchx patch20_1 ,mem_patch20 
+4c2f 6810810c hfetch 1 ,core_uart_status 
+4c30 98002400 iforce regb 
+4c31 c301cc37 bbit0 uart_status_rx_fifo_empty ,hci_rx_packet_cont 
+4c32 68110112 hfetch 2 ,core_uart_rxitems 
+4c33 98002600 iforce regc 
+4c34 d840044f arg 0x44f ,temp 
+4c35 98467c00 isub temp ,null 
+4c36 24628000 nrtn zero 
+
+hci_rx_packet_cont:
+4c37 68110058 hfetch 2 ,core_uart_rrptr 
+4c38 98000600 iforce contru 
+4c39 20204bc8 branch hci_rx_h4 
+
+uart_send_byte:
+4c3a 6818810c hfetcht 1 ,core_uart_status 
+4c3b 284ffe06 isolate1 6 ,temp 
+4c3c 2020cc3a branch uart_send_byte ,true 
+4c3d 60108015 hstore 1 ,core_uart_txd 
+4c3e 20600000 rtn 
+
+process_hci_cmd:
+4c3f 47014020 bpatchx patch20_2 ,mem_patch20 
+4c40 6800c1ce fetch 1 ,mem_hci_cmd 
+4c41 203a4c44 branch process_hci_cmd_cont ,blank 
+4c42 78347c00 enable user 
+4c43 20600000 rtn 
+
+process_hci_cmd_cont:
+4c44 e8610000 ifetch 2 ,contru 
+4c45 98006000 iforce alarm 
+4c46 98000e00 iforce queue 
+4c47 e8608000 ifetch 1 ,contru 
+4c48 98000400 iforce temp 
+4c49 1e0b7e00 rshift2 alarm ,pdata 
+4c4a 1fecfe00 rshift8 pdata ,pdata 
+4c4b c01fcc4d beq hci_ogf_vendor_specific ,phci_grp_vendor_specific 
+4c4c 20600000 rtn 
+
+phci_grp_vendor_specific:
+4c4d 4701c020 bpatchx patch20_3 ,mem_patch20 
+4c4e 18e27e00 deposit queue 
+4c4f c0004cdc beq hci_vendor_cmd_reset ,hci_normal_reply 
+4c50 c000cc66 beq hci_vendor_cmd_chipid ,phci_grp_vendor_chipid 
+4c51 c0014c6b beq hci_vendor_cmd_baud ,phci_grp_vendor_baud 
+4c52 c001cc7a beq hci_vendor_cmd_patch ,phci_grp_vendor_patch 
+4c53 c0024cb3 beq hci_vendor_cmd_patch_done ,phci_grp_vendor_done 
+4c54 c002ccdc beq hci_vendor_cmd_echo ,hci_normal_reply 
+4c55 c0034cc6 beq hci_vendor_cmd_bdaddr ,phci_grp_vendor_bdaddr 
+4c56 c003cc5c beq hci_vendor_cmd_enter_lpm ,phci_grp_vendor_enter_lpm 
+4c57 c0084cc9 beq hci_vendor_cmd_mem ,phci_grp_vendor_mem 
+4c58 c008ccd1 beq hci_vendor_cmd_eep ,phci_grp_vendor_eep 
+4c59 c0094ca5 beq hci_vendor_cmd_patch_sec_init ,phci_grp_vendor_patch_sec_init 
+4c5a c009cc85 beq hci_vendor_cmd_patch_sec ,phci_grp_vendor_patch_sec 
+4c5b 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_enter_lpm:
+4c5c 20404cdc call hci_normal_reply 
+4c5d 20407f9e call wait_uarttx 
+4c5e 2040688c call gpio_pu_uart_tx 
+
+hci_enter_lpm:
+4c5f 204033d2 call app_put_lpm_wake_lock 
+4c60 204033d9 call app_l2cap_flow_control_enable 
+4c61 2020688f branch gpio_rx_config_input_with_pu 
+
+hci_exit_lpm:
+4c62 70424500 jam hci_rx_ready ,mem_hci_lt_rx_state 
+4c63 204033d0 call app_get_lpm_wake_lock 
+4c64 20404c13 call hci_lpm_init 
+4c65 202033db branch app_l2cap_flow_control_disable 
+
+phci_grp_vendor_chipid:
+4c66 20404cf2 call hci_get_cmd_complete_ptr 
+4c67 68110000 hfetch 2 ,core_chipid 
+4c68 e1410000 istore 2 ,contwu 
+4c69 18007206 force 6 ,loopcnt 
+4c6a 20204cdd branch hci_command_complete 
+
+phci_grp_vendor_baud:
+4c6b e8610000 ifetch 2 ,contru 
+4c6c 60014243 store 2 ,mem_baud 
+4c6d 60110052 hstore 2 ,core_uart_baud 
+4c6e 20600000 rtn 
+
+phci_grp_vendor_patch_common:
+4c6f e8608000 ifetch 1 ,contru 
+4c70 1fe20400 copy pdata ,temp 
+4c71 60108024 hstore 1 ,core_ucode_low 
+4c72 e8608000 ifetch 1 ,contru 
+4c73 98408400 iadd temp ,temp 
+4c74 79207e07 set1 7 ,pdata 
+4c75 60108023 hstore 1 ,core_ucode_ctrl 
+4c76 e8608000 ifetch 1 ,contru 
+4c77 98408400 iadd temp ,temp 
+4c78 1fe27200 copy pdata ,loopcnt 
+4c79 20600000 rtn 
+
+phci_grp_vendor_patch:
+4c7a c515ccc4 bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+4c7b 20404c6f call phci_grp_vendor_patch_common 
+
+phci_grp_vendor_patch_loop:
+4c7c e8608000 ifetch 1 ,contru 
+4c7d 60108025 hstore 1 ,core_ucode_data 
+4c7e 98408400 iadd temp ,temp 
+4c7f c2004c7c loop phci_grp_vendor_patch_loop 
+
+phci_grp_vendor_patch_check_sum:
+4c80 184104ff and temp ,0xff ,temp 
+4c81 e8608000 ifetch 1 ,contru 
+4c82 98467c00 isub temp ,null 
+4c83 2422ccc4 nbranch phci_grp_vendor_patch_bad ,zero 
+4c84 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_patch_sec:
+4c85 c595ccc4 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+4c86 20404c6f call phci_grp_vendor_patch_common 
+4c87 60040a9a store 8 ,mem_pdatatemp 
+
+phci_grp_vendor_patch_sec_loop:
+4c88 20407422 call do_aes_cbc 
+4c89 df200010 arg 16 ,loopcnt 
+4c8a d8a00ac2 arg mem_temp_block0 ,contw 
+4c8b 20404ca0 call load_uart_sum_loop 
+4c8c 600c0aa2 storet 8 ,mem_temp 
+4c8d d8a00ad2 arg mem_temp_block2 ,contw 
+4c8e 20407497 call store_aes_result 
+4c8f da200ad2 arg mem_temp_block2 ,rega 
+4c90 da400ac2 arg mem_temp_block0 ,regb 
+4c91 d8a00ae2 arg mem_temp_block3 ,contw 
+4c92 20407352 call xor16 
+4c93 df200010 arg 16 ,loopcnt 
+4c94 d8c00ae2 arg mem_temp_block3 ,contr 
+4c95 20404c9c call load_ucode_only_loop 
+4c96 680c0aa2 fetcht 8 ,mem_temp 
+4c97 68040a9a fetch 8 ,mem_pdatatemp 
+4c98 1fe0fff0 increase -16 ,pdata 
+4c99 60040a9a store 8 ,mem_pdatatemp 
+4c9a 243a4c88 nbranch phci_grp_vendor_patch_sec_loop ,blank 
+4c9b 20204c80 branch phci_grp_vendor_patch_check_sum 
+
+load_ucode_only_loop:
+4c9c e8c08000 ifetch 1 ,contr 
+4c9d 60108025 hstore 1 ,core_ucode_data 
+4c9e c2004c9c loop load_ucode_only_loop 
+4c9f 20600000 rtn 
+
+load_uart_sum_loop:
+4ca0 e8608000 ifetch 1 ,contru 
+4ca1 e0a08000 istore 1 ,contw 
+4ca2 98408400 iadd temp ,temp 
+4ca3 c2004ca0 loop load_uart_sum_loop 
+4ca4 20600000 rtn 
+
+phci_grp_vendor_patch_sec_init:
+4ca5 c595ccc4 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+4ca6 d8400000 arg 0 ,temp 
+4ca7 df200010 arg 16 ,loopcnt 
+4ca8 d8a00ac2 arg mem_temp_block0 ,contw 
+4ca9 20404ca0 call load_uart_sum_loop 
+4caa 68108085 hfetch 1 ,core_gpio_key2 
+4cab 1fe17efd and_into 0xfd ,pdata 
+4cac 60108085 hstore 1 ,core_gpio_key2 
+4cad d8c00ac2 arg mem_temp_block0 ,contr 
+4cae df200010 arg 16 ,loopcnt 
+4caf 20407478 call aes_load_data 
+4cb0 20407428 call aes_init 
+4cb1 20407491 call aes_clear_data 
+4cb2 20204c80 branch phci_grp_vendor_patch_check_sum 
+
+phci_grp_vendor_done:
+4cb3 df200020 arg 0x20 ,loopcnt 
+4cb4 d8a04000 arg mem_patch00 ,contw 
+4cb5 d8400000 arg 0 ,temp 
+
+phci_grp_vendor_done_loop:
+4cb6 e8608000 ifetch 1 ,contru 
+4cb7 e0a08000 istore 1 ,contw 
+4cb8 98408400 iadd temp ,temp 
+4cb9 c2004cb6 loop phci_grp_vendor_done_loop 
+4cba 184104ff and temp ,0xff ,temp 
+4cbb e8608000 ifetch 1 ,contru 
+4cbc 98467c00 isub temp ,null 
+4cbd 2422ccc4 nbranch phci_grp_vendor_patch_bad ,zero 
+4cbe 70802300 hjam 0 ,core_ucode_ctrl 
+4cbf 20404cdc call hci_normal_reply 
+4cc0 20404be6 call h4_rx_discard_packet 
+4cc1 204064a3 call clear_key_buf 
+4cc2 20407f9e call wait_uarttx 
+4cc3 20202001 branch soft_reset 
+
+phci_grp_vendor_patch_bad:
+4cc4 70802300 hjam 0 ,core_ucode_ctrl 
+4cc5 20202000 branch start 
+
+phci_grp_vendor_bdaddr:
+4cc6 e8630000 ifetch 6 ,contru 
+4cc7 600340a0 store 6 ,mem_lap 
+4cc8 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_mem:
+4cc9 e8608000 ifetch 1 ,contru 
+4cca 6000825a store 1 ,mem_hci_curr_len 
+4ccb 1fe27200 copy pdata ,loopcnt 
+4ccc e8610000 ifetch 2 ,contru 
+4ccd 6001025b store 2 ,mem_hci_curr_target 
+4cce 1fe20a00 copy pdata ,contw 
+4ccf 204066fd call uart_copy_rx_bytes 
+4cd0 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_eep:
+4cd1 e8608000 ifetch 1 ,contru 
+4cd2 6000825a store 1 ,mem_hci_curr_len 
+4cd3 1fe27200 copy pdata ,loopcnt 
+4cd4 e8610000 ifetch 2 ,contru 
+4cd5 6001025b store 2 ,mem_hci_curr_target 
+4cd6 d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+4cd7 204066fd call uart_copy_rx_bytes 
+4cd8 6808825a fetcht 1 ,mem_hci_curr_len 
+4cd9 da201000 arg mem_l2cap_rxbuff1 ,rega 
+4cda 6801025b fetch 2 ,mem_hci_curr_target 
+4cdb 20206608 branch iicd_write_ota_data 
+
+hci_normal_reply:
+4cdc 18007204 force 4 ,loopcnt 
+
+hci_command_complete:
+4cdd 20404cf4 call hci_get_payload_ptr 
+4cde 18007e01 force 0x1 ,pdata 
+4cdf e1408000 istore 1 ,contwu 
+4ce0 1e027e00 deposit alarm 
+4ce1 e1418000 istore 3 ,contwu 
+4ce2 18000e0e force hci_event_command_complete ,queue 
+
+hci_send_event:
+4ce3 47024020 bpatchx patch20_4 ,mem_patch20 
+4ce4 20404cf6 call hci_get_packet_ptr 
+4ce5 18e27e00 deposit queue 
+4ce6 e1408000 istore 1 ,contwu 
+4ce7 1f227e00 deposit loopcnt 
+4ce8 e1408000 istore 1 ,contwu 
+
+hci_send_event_raw:
+4ce9 18000e05 force 5 ,queue 
+4cea 1f20f202 increase 2 ,loopcnt 
+
+hci_send_packet:
+4ceb 20204bf9 branch h4_send_packet_event 
+
+hci_send_commu_ready_event:
+4cec 18000eff force hci_event_vendor_specific ,queue 
+4ced 20404cf4 call hci_get_payload_ptr 
+4cee 58000001 setarg hci_vendor_event_commu_ready 
+4cef e1408000 istore 1 ,contwu 
+4cf0 18007201 force 1 ,loopcnt 
+4cf1 20204ce3 branch hci_send_event 
+
+hci_get_cmd_complete_ptr:
+4cf2 1800140c force 12 ,contwu 
+4cf3 20204cf7 branch hci_get_tx_ptr 
+
+hci_get_payload_ptr:
+4cf4 18001408 force 8 ,contwu 
+4cf5 20204cf7 branch hci_get_tx_ptr 
+
+hci_get_packet_ptr:
+4cf6 18001406 force 6 ,contwu 
+
+hci_get_tx_ptr:
+4cf7 20204bf5 branch h4_get_tx_ptr 
+
+calc_tx_crc16:
+4cf8 7827fc00 pulse crc16 
+4cf9 7824fc00 enable enable_crc 
+
+crcloop:
+4cfa e9408000 ifetch 1 ,contwu 
+4cfb 08008008 inject bucket ,8 
+4cfc c2004cfa loop crcloop 
+4cfd 78247c00 enable enable_parity 
+4cfe 08008010 inject bucket ,16 
+4cff 78447c00 disable enable_parity 
+4d00 7844fc00 disable enable_crc 
+4d01 7847fc00 disable crc16 
+4d02 1ff0fe00 byteswap pdata ,pdata 
+4d03 20600000 rtn 
+
+cmd_exit:
+4d04 7041ce00 jam 0 ,mem_hci_cmd 
+4d05 20600000 rtn 
+
+cmd_check_plap:
+4d06 680341d0 fetch 6 ,mem_hci_plap 
+4d07 680b0040 fetcht 6 ,mem_plap 
+4d08 98467c00 isub temp ,null 
+4d09 20600000 rtn 
+
+cmd_pair:
+4d0a 6800804b fetch 1 ,mem_op 
+4d0b c2814d0f bbit1 op_inrand_req ,cmd_pair_passive 
+4d0c 204062ef call tid_initiate 
+4d0d 70007c08 jam lmp_in_rand ,mem_lmo_opcode2 
+4d0e 20204d04 branch cmd_exit 
+
+cmd_pair_passive:
+4d0f 793ffe02 set0 op_inrand_req ,pdata 
+4d10 6000804b store 1 ,mem_op 
+4d11 20406001 call lmp_accept_inrand 
+4d12 58000000 setarg 0 
+4d13 7934fe01 setflag master ,smap_lmptid ,pdata 
+4d14 6000807f store 1 ,mem_lmo_tid2 
+4d15 20204d04 branch cmd_exit 
+4d16 20600000 rtn 
+
+cmd_in_sniff:
+4d17 70007c17 jam lmp_sniff_req ,mem_lmo_opcode2 
+4d18 d8a004d9 arg mem_sniff_payload ,contw 
+4d19 58000000 setarg 0 
+4d1a 2d0ffe1b isolate1 27 ,clke_bt 
+4d1b 7920fe01 setflag true ,1 ,pdata 
+4d1c e0a08000 istore 1 ,contw 
+4d1d 58000000 setarg 0 
+4d1e e0a10000 istore 2 ,contw 
+4d1f 680141e3 fetch 2 ,mem_sniff_param_interval 
+4d20 e0a10000 istore 2 ,contw 
+4d21 6800c1e5 fetch 1 ,mem_sniff_param_attempt 
+4d22 e0a10000 istore 2 ,contw 
+4d23 6800c1e7 fetch 1 ,mem_sniff_param_timeout 
+4d24 e0a10000 istore 2 ,contw 
+4d25 20204d04 branch cmd_exit 
+
+cmd_exit_sniff:
+4d26 70007c18 jam lmp_unsniff_req ,mem_lmo_opcode2 
+4d27 20204d04 branch cmd_exit 
+
+hci_idle_dispatch:
+4d28 20406899 call gpio_check_uart_state 
+4d29 20608000 rtn true 
+4d2a d8400007 arg uart_wakeup_rx ,temp 
+4d2b 2040681d call gpio_get_bit 
+4d2c 2420cd2f nbranch uart_wake_up ,true 
+4d2d 70424501 jam hci_rx_wake ,mem_hci_lt_rx_state 
+4d2e 20600000 rtn 
+
+uart_wake_up:
+4d2f 6800c245 fetch 1 ,mem_hci_lt_rx_state 
+4d30 c1808000 rtnne hci_rx_wake 
+4d31 20404c62 call hci_exit_lpm 
+4d32 20204cec branch hci_send_commu_ready_event 
+
+hid_rx_process:
+4d33 4702c020 bpatchx patch20_5 ,mem_patch20 
+4d34 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+4d35 1fe20c00 copy pdata ,contr 
+4d36 e8c08000 ifetch 1 ,contr 
+4d37 1fe1040f and pdata ,0x0f ,temp 
+4d38 1ff1fe00 rshift4 pdata ,pdata 
+4d39 c004cd53 beq hid_type_set_idle ,hid_rx_process_handshake 
+4d3a c003cd53 beq hid_type_set_protocol ,hid_rx_process_handshake 
+4d3b c0054d5f beq hid_type_data ,hid_rx_process_data 
+4d3c c002cd4b beq hid_type_set_report ,hid_rx_process_set_report 
+4d3d c000cd3f beq hid_type_control ,hid_rx_process_hid_control 
+4d3e 20600000 rtn 
+
+hid_rx_process_hid_control:
+4d3f 18427e00 copy temp ,pdata 
+4d40 c002cd43 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+4d41 c001cd4a beq hid_control_p_suspend ,hid_rx_process_suspend 
+4d42 20600000 rtn 
+
+hid_rx_process_virtual_cable_unplug:
+4d43 700a9927 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+4d44 20407d86 call ui_ipc_send_event 
+4d45 6800c092 fetch 1 ,mem_device_option 
+4d46 c4030000 rtnbit0 dvc_op_mouse 
+4d47 18427e00 copy temp ,pdata 
+4d48 c002c38e beq hid_control_p_virtualcableunplug ,mouse_irtual_cable_unplug 
+4d49 20600000 rtn 
+
+hid_rx_process_suspend:
+4d4a 20600000 rtn 
+
+hid_rx_process_set_report:
+4d4b 20404d5f call hid_rx_process_data 
+4d4c da200001 arg 0x01 ,rega 
+4d4d 20404d63 call hid_malloc_tx_buff 
+4d4e 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4d4f e0a10000 istore 2 ,contw 
+4d50 58000000 setarg 0x00 
+4d51 e0a08000 istore 1 ,contw 
+4d52 20600000 rtn 
+
+hid_rx_process_handshake:
+4d53 da200001 arg 1 ,rega 
+4d54 20404d63 call hid_malloc_tx_buff 
+4d55 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4d56 e0a10000 istore 2 ,contw 
+4d57 58000000 setarg 0 
+4d58 e0a08000 istore 1 ,contw 
+4d59 700a8e01 jam 1 ,mem_ui_data_txbuff_length 
+4d5a 6800c252 fetch 1 ,mem_hid_control_state 
+4d5b 79207e06 set1 l2cap_channel_hid_handshake_done 
+4d5c 6000c252 store 1 ,mem_hid_control_state 
+4d5d 700a9912 jam bt_evt_hid_handshake ,mem_fifo_temp 
+4d5e 20207d86 branch ui_ipc_send_event 
+
+hid_rx_process_data:
+4d5f e8c08000 ifetch 1 ,contr 
+4d60 c000cd62 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+4d61 20600000 rtn 
+
+hid_rx_process_data_hid_kb:
+4d62 20600000 rtn 
+
+hid_malloc_tx_buff:
+4d63 20405240 call l2cap_malloc 
+4d64 1a220400 copy rega ,temp 
+4d65 60088a8e storet 1 ,mem_ui_data_txbuff_length 
+4d66 1fe20a00 copy pdata ,contw 
+4d67 1a227e00 copy rega ,pdata 
+4d68 e0a10000 istore 2 ,contw 
+4d69 20600000 rtn 
+
+l2cap_init:
+4d6a 2035cd6f branch l2cap_init_wake ,wake 
+
+l2cap_init_work:
+4d6b 58004365 setarg mem_l2cap_xmem_end 
+4d6c d8a04246 arg mem_l2cap_xmem_start ,contw 
+4d6d 98a67200 isub contw ,loopcnt 
+4d6e 20407ed4 call clear_mem 
+
+l2cap_init_wake:
+4d6f 47034020 bpatchx patch20_6 ,mem_patch20 
+4d70 58000551 setarg mem_sdp_mem_end 
+4d71 d8a00511 arg mem_sdp_mem_start ,contw 
+4d72 98a67200 isub contw ,loopcnt 
+4d73 20407ed4 call clear_mem 
+4d74 580002c9 setarg mem_l2cap_mem_end 
+4d75 d8a0025d arg mem_l2cap_mem_start ,contw 
+4d76 98a67200 isub contw ,loopcnt 
+4d77 20407ed4 call clear_mem 
+4d78 20205318 branch l2cap_lpm_load_txbuf 
+
+process_rx_l2cap_pkt:
+4d79 4703c020 bpatchx patch20_7 ,mem_patch20 
+4d7a 18c20400 copy contr ,temp 
+4d7b 18420c00 copy temp ,contr 
+4d7c e8c10000 ifetch 2 ,contr 
+4d7d 60010266 store 2 ,mem_l2cap_rx_pkt_length 
+4d7e e8c10000 ifetch 2 ,contr 
+4d7f 60010268 store 2 ,mem_l2cap_rx_cid 
+4d80 18c27e00 deposit contr 
+4d81 60010264 store 2 ,mem_l2cap_payload_ptr 
+4d82 6800c681 fetch 1 ,memui_reconnect_mode 
+4d83 c0004d85 beq no_reconnection ,l2cap_rx_multiplexing 
+4d84 202050ef branch ml2cap_rx_multiplexing 
+
+l2cap_rx_multiplexing:
+4d85 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+4d86 203a4dfc branch l2cap_rx_reset_state ,blank 
+4d87 47044021 bpatchx patch21_0 ,mem_patch21 
+4d88 68008268 fetch 1 ,mem_l2cap_rx_cid 
+4d89 c000cd9d beq l2cap_signal_channel ,l2cap_call_proc_signal 
+
+l2cap_rx_multiplexing0:
+4d8a c0284de0 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+4d8b c028cdf5 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+4d8c c0294df3 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+4d8d c029cdf3 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+4d8e 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_check_map:
+4d8f 4704c021 bpatchx patch21_1 ,mem_patch21 
+4d90 2040527e call l2cap_malloc_get_full_map 
+4d91 6800c256 fetch 1 ,mem_used_map 
+4d92 c0004d9b beq 0 ,set_pdata_0 
+4d93 c000cd9b beq 1 ,set_pdata_0 
+4d94 c0014d9b beq 2 ,set_pdata_0 
+4d95 c001cd9b beq 3 ,set_pdata_0 
+4d96 c040cd9b beq 0x81 ,set_pdata_0 
+4d97 c0604d9b beq 0xc0 ,set_pdata_0 
+4d98 c0404d9b beq 0x80 ,set_pdata_0 
+4d99 c0204d9b beq 0x40 ,set_pdata_0 
+4d9a 20600000 rtn 
+
+set_pdata_0:
+4d9b 58000000 setarg 0 
+4d9c 20600000 rtn 
+
+l2cap_call_proc_signal:
+4d9d 20404d8f call l2cap_check_map 
+4d9e 247a0000 nrtn blank 
+
+l2cap_call_proc_signal0:
+4d9f 204052b8 call l2cap_malloc_signal_channel 
+4da0 20404e01 call l2cap_process_signal_pkt 
+4da1 6809026f fetcht 2 ,mem_l2cap_signal_tx_length 
+4da2 203a4dfb branch l2cap_call_proc_no_reply ,blank 
+4da3 204052c1 call l2cap_get_signal_tx_buff 
+4da4 6801026f fetch 2 ,mem_l2cap_signal_tx_length 
+4da5 e0a10000 istore 2 ,contw 
+4da6 18007e01 force l2cap_signal_channel ,pdata 
+4da7 e0a10000 istore 2 ,contw 
+4da8 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_sigal_pending:
+4da9 6800c364 fetch 1 ,mem_l2cap_pending_item 
+4daa 207a0000 rtn blank 
+4dab 1fe22200 copy pdata ,rega 
+4dac 47054021 bpatchx patch21_2 ,mem_patch21 
+4dad 680202d5 fetch 4 ,mem_l2cap_sdpres_delay_time 
+4dae d8400100 arg 0x100 ,temp 
+4daf 98408400 iadd temp ,temp 
+4db0 1c427e00 copy clkn_bt ,pdata 
+4db1 98467c00 isub temp ,null 
+4db2 24610000 nrtn positive 
+4db3 70436400 jam 0 ,mem_l2cap_pending_item 
+4db4 1a227e00 copy rega ,pdata 
+4db5 c0284db7 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+4db6 20202a8c branch assert 
+
+l2cap_sdp_conn_succ:
+4db7 d9000000 arg 0 ,debug 
+4db8 204052b8 call l2cap_malloc_signal_channel 
+4db9 20404e7a call restore_l2cap_req_param 
+4dba 204052c3 call l2cap_get_signal_tx_payload 
+4dbb 20407ea8 call save_cont_pointers 
+4dbc 20404ead call send_connection_sdp_res 
+4dbd 204052c1 call l2cap_get_signal_tx_buff 
+4dbe 5800000c setarg 0x000c 
+4dbf e0a10000 istore 2 ,contw 
+4dc0 18007e01 force l2cap_signal_channel ,pdata 
+4dc1 e0a10000 istore 2 ,contw 
+4dc2 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_reset_sdp_map:
+4dc3 4705c021 bpatchx patch21_3 ,mem_patch21 
+4dc4 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+4dc5 1fe0fe04 increase 4 ,pdata 
+4dc6 1ff1fe00 rshift4 pdata ,pdata 
+4dc7 1fe97e00 rshift3 pdata ,pdata 
+4dc8 1fe08401 add pdata ,1 ,temp 
+4dc9 d8c04260 arg mem_tx_fifo3 ,contr 
+4dca e8c18000 ifetch 3 ,contr 
+4dcb 207a0000 rtn blank 
+4dcc 60018ac2 store 3 ,mem_tx_fifo_map_temp 
+4dcd 68008ac2 fetch 1 ,mem_tx_fifo_map_temp 
+4dce 1fe22200 copy pdata ,rega 
+4dcf 20404dd3 call check_l2cap_map 
+4dd0 1a427e00 copy regb ,pdata 
+4dd1 6000c260 store 1 ,mem_tx_fifo3 
+4dd2 20600000 rtn 
+
+check_l2cap_map:
+4dd3 d8e00000 arg 0 ,queue 
+4dd4 da400000 arg 0 ,regb 
+
+check_l2cap_map_loop:
+4dd5 18e67c07 sub queue ,7 ,null 
+4dd6 24610000 nrtn positive 
+4dd7 aa2fffff qisolate1 rega 
+4dd8 2020cdda branch check_l2cap_map_used ,true 
+4dd9 20204dde branch check_l2cap_map_used2 
+
+check_l2cap_map_used:
+4dda 18427e00 copy temp ,pdata 
+4ddb 203a4dde branch check_l2cap_map_used2 ,blank 
+4ddc f9202400 qset1 regb 
+4ddd 184085ff increase -1 ,temp 
+
+check_l2cap_map_used2:
+4dde 18e08e01 increase 1 ,queue 
+4ddf 20204dd5 branch check_l2cap_map_loop 
+
+l2cap_call_proc_sdp:
+4de0 20405274 call l2cap_malloc_is_fifo_empty 
+4de1 247a0000 nrtn blank 
+4de2 20404d8f call l2cap_check_map 
+4de3 247a0000 nrtn blank 
+4de4 204052c5 call l2cap_malloc_sdp_channel 
+4de5 20406e11 call sdp_process 
+4de6 20404dc3 call l2cap_reset_sdp_map 
+4de7 20204dec branch l2cap_call_proc_sdp_common 
+
+ml2cap_call_proc_sdp:
+4de8 20405274 call l2cap_malloc_is_fifo_empty 
+4de9 247a0000 nrtn blank 
+4dea 204052c5 call l2cap_malloc_sdp_channel 
+4deb 20406e11 call sdp_process 
+
+l2cap_call_proc_sdp_common:
+4dec 204052ce call l2cap_get_sdp_tx_buff 
+4ded 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+4dee 203a4dfb branch l2cap_call_proc_no_reply ,blank 
+4def e0a10000 istore 2 ,contw 
+4df0 68014248 fetch 2 ,mem_sdp_remote_cid 
+4df1 e0a10000 istore 2 ,contw 
+4df2 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_hid:
+4df3 20404d33 call hid_rx_process 
+4df4 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_rfcomm:
+4df5 47064021 bpatchx patch21_4 ,mem_patch21 
+4df6 70028400 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+4df7 20406a8a call rfcomm_rx_process 
+4df8 68008284 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+4df9 c1008000 rtneq rfcomm_malloc_fail 
+4dfa 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_no_reply:
+4dfb 20405264 call l2cap_malloc_discard 
+
+l2cap_rx_reset_state:
+4dfc 58000000 setarg 0 
+4dfd 60010266 store 2 ,mem_l2cap_rx_pkt_length 
+4dfe 60010268 store 2 ,mem_l2cap_rx_cid 
+4dff 70026a01 jam l2cap_rx_done ,mem_l2cap_rx_done 
+4e00 20600000 rtn 
+
+l2cap_process_signal_pkt:
+4e01 4706c021 bpatchx patch21_5 ,mem_patch21 
+4e02 204052c3 call l2cap_get_signal_tx_payload 
+4e03 18002400 force 0 ,regb 
+4e04 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+4e05 1fe22600 copy pdata ,regc 
+4e06 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+4e07 98000c00 iforce contr 
+
+l2cap_process_signal_pkt_loop:
+4e08 20404e10 call l2cap_process_one_signal 
+4e09 1a627e00 deposit regc 
+4e0a 1a60a7fc increase -4 ,regc 
+4e0b 1fe0fffc increase -4 ,pdata 
+4e0c 243a4e08 nbranch l2cap_process_signal_pkt_loop ,blank 
+4e0d 1a427e00 copy regb ,pdata 
+4e0e 6001026f store 2 ,mem_l2cap_signal_tx_length 
+4e0f 20600000 rtn 
+
+l2cap_process_one_signal:
+4e10 47074021 bpatchx patch21_6 ,mem_patch21 
+4e11 e8c08000 ifetch 1 ,contr 
+4e12 c000ce49 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+4e13 c0014e51 beq signal_connect_req ,l2cap_proc_signal_connect_req 
+4e14 c001ced5 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+4e15 c0024f05 beq signal_config_req ,l2cap_proc_signal_config_req 
+4e16 c002cfa2 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+4e17 c0034fcb beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+4e18 c003d01b beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+4e19 c0045050 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+4e1a c004d060 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+4e1b c0054e1f beq signal_info_req ,l2cap_proc_signal_info_req 
+4e1c c005d061 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+4e1d 20405062 call l2cap_reject_command 
+
+l2cap_process_one_signal_rtn:
+4e1e 20600000 rtn 
+
+l2cap_proc_signal_info_req:
+4e1f e8c08000 ifetch 1 ,contr 
+4e20 1fe20e00 copy pdata ,queue 
+4e21 e8c10000 ifetch 2 ,contr 
+4e22 1fe22200 copy pdata ,rega 
+4e23 1a627e00 copy regc ,pdata 
+4e24 9a262600 isub rega ,regc 
+4e25 5800000b setarg signal_info_rsp 
+4e26 e0a08000 istore 1 ,contw 
+4e27 18e27e00 copy queue ,pdata 
+4e28 e0a08000 istore 1 ,contw 
+4e29 e8c10000 ifetch 2 ,contr 
+
+l2cap_proc_signal_info_req_reply:
+4e2a c0014e2d beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+4e2b c001ce33 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+4e2c 20600000 rtn 
+
+l2cap_proc_signal_info_req_ext:
+4e2d 58020008 setarg 0x020008 
+4e2e e0a30000 istore 6 ,contw 
+4e2f 58000280 setarg 0x0280 
+4e30 e0a20000 istore 4 ,contw 
+4e31 18007e0c force 12 ,pdata 
+4e32 20204e38 branch l2cap_proc_signal_info_req_common 
+
+l2cap_proc_signal_info_req_fix:
+4e33 5803000c setarg 0x3000c 
+4e34 e0a30000 istore 6 ,contw 
+4e35 58000006 setarg 0x0006 
+4e36 e0a40000 istore 8 ,contw 
+4e37 18007e10 force 16 ,pdata 
+
+l2cap_proc_signal_info_req_common:
+4e38 9a40a400 iadd regb ,regb 
+4e39 20204e1e branch l2cap_process_one_signal_rtn 
+
+ml2cap_proc_signal_info_req:
+4e3a e8c08000 ifetch 1 ,contr 
+4e3b 1fe20e00 copy pdata ,queue 
+4e3c e8c10000 ifetch 2 ,contr 
+4e3d 1fe22200 copy pdata ,rega 
+4e3e e8c10000 ifetch 2 ,contr 
+4e3f 60010aa2 store 2 ,mem_temp 
+4e40 1a627e00 copy regc ,pdata 
+4e41 9a262600 isub rega ,regc 
+4e42 204052c3 call l2cap_get_signal_tx_payload 
+4e43 5800000b setarg signal_info_rsp 
+4e44 e0a08000 istore 1 ,contw 
+4e45 18e27e00 copy queue ,pdata 
+4e46 e0a08000 istore 1 ,contw 
+4e47 68010aa2 fetch 2 ,mem_temp 
+4e48 20204e2a branch l2cap_proc_signal_info_req_reply 
+
+l2cap_proc_signal_cmd_reject:
+4e49 e8c08000 ifetch 1 ,contr 
+4e4a 1fe20e00 copy pdata ,queue 
+4e4b e8c10000 ifetch 2 ,contr 
+4e4c 1fe22200 copy pdata ,rega 
+4e4d 98c08c00 iadd contr ,contr 
+4e4e 1a627e00 copy regc ,pdata 
+4e4f 9a262600 isub rega ,regc 
+
+l2cap_proc_signal_cmd_reject_rtn:
+4e50 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_req:
+4e51 20407ea8 call save_cont_pointers 
+4e52 20407ead call load_cont_pointers 
+4e53 d9000000 arg 0 ,debug 
+4e54 e8c08000 ifetch 1 ,contr 
+4e55 1fe20e00 copy pdata ,queue 
+4e56 e8c10000 ifetch 2 ,contr 
+4e57 1fe22200 copy pdata ,rega 
+4e58 e8c10000 ifetch 2 ,contr 
+4e59 1fe20400 copy pdata ,temp 
+4e5a e8c10000 ifetch 2 ,contr 
+4e5b 1fe21600 copy pdata ,timeup 
+4e5c 4707c021 bpatchx patch21_7 ,mem_patch21 
+4e5d 18427e00 copy temp ,pdata 
+4e5e c000ce64 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+4e5f c001ce86 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+4e60 c008ce92 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+4e61 c009ce9d beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+4e62 20405062 call l2cap_reject_command 
+4e63 20204ed4 branch l2cap_proc_signal_connect_req_rtn 
+
+l2cap_proc_signal_connect_req_sdp:
+4e64 20407ea8 call save_cont_pointers 
+4e65 d8400050 arg l2cap_sdp_channel ,temp 
+4e66 68014248 fetch 2 ,mem_sdp_remote_cid 
+4e67 243a4ece nbranch already_connected ,blank 
+4e68 19627e00 copy timeup ,pdata 
+4e69 60014248 store 2 ,mem_sdp_remote_cid 
+4e6a 1c427e00 copy clkn_bt ,pdata 
+4e6b 600202d5 store 4 ,mem_l2cap_sdpres_delay_time 
+4e6c 20404e6e call store_l2cap_req_param 
+4e6d 20204ea9 branch send_connection_pending 
+
+store_l2cap_req_param:
+4e6e 600902d3 storet 2 ,mem_psm 
+4e6f 19627e00 deposit timeup 
+4e70 600102c9 store 2 ,mem_scid 
+4e71 1a227e00 deposit rega 
+4e72 600102cb store 2 ,mem_cmd_length 
+4e73 1a427e00 deposit regb 
+4e74 600102cd store 2 ,mem_tt2 
+4e75 1a627e00 deposit regc 
+4e76 600102cf store 2 ,mem_tt3 
+4e77 18e27e00 deposit queue 
+4e78 600102d1 store 2 ,mem_id 
+4e79 20600000 rtn 
+
+restore_l2cap_req_param:
+4e7a 680902d3 fetcht 2 ,mem_psm 
+4e7b 680102c9 fetch 2 ,mem_scid 
+4e7c 1fe21600 copy pdata ,timeup 
+4e7d 680102cb fetch 2 ,mem_cmd_length 
+4e7e 1fe22200 copy pdata ,rega 
+4e7f 680102cd fetch 2 ,mem_tt2 
+4e80 1fe22400 copy pdata ,regb 
+4e81 680102cf fetch 2 ,mem_tt3 
+4e82 1fe22600 copy pdata ,regc 
+4e83 680102d1 fetch 2 ,mem_id 
+4e84 1fe20e00 copy pdata ,queue 
+4e85 20600000 rtn 
+
+l2cap_proc_signal_connect_req_rfcomm:
+4e86 20407ea8 call save_cont_pointers 
+4e87 58000051 setarg l2cap_rfcomm_channel 
+4e88 d8400051 arg l2cap_rfcomm_channel ,temp 
+4e89 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+4e8a 243a4ece nbranch already_connected ,blank 
+4e8b 19627e00 copy timeup ,pdata 
+4e8c 6001424a store 2 ,mem_rfcomm_remote_cid 
+4e8d 6800c251 fetch 1 ,mem_rfcomm_state 
+4e8e 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4e8f 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4e90 6000c251 store 1 ,mem_rfcomm_state 
+4e91 20204eb1 branch send_connection_res 
+
+l2cap_proc_signal_connect_req_hid_ctrl:
+4e92 20407ea8 call save_cont_pointers 
+4e93 d8400052 arg l2cap_hid_control_channel ,temp 
+4e94 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4e95 243a4ece nbranch already_connected ,blank 
+4e96 19627e00 copy timeup ,pdata 
+4e97 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+4e98 6800c252 fetch 1 ,mem_hid_control_state 
+4e99 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4e9a 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4e9b 6000c252 store 1 ,mem_hid_control_state 
+4e9c 20204eb1 branch send_connection_res 
+
+l2cap_proc_signal_connect_req_hid_int:
+4e9d 20407ea8 call save_cont_pointers 
+4e9e 1b427e00 deposit clke 
+4e9f d8400053 arg l2cap_hid_interrupt_channel ,temp 
+4ea0 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4ea1 243a4ece nbranch already_connected ,blank 
+4ea2 19627e00 copy timeup ,pdata 
+4ea3 6001424e store 2 ,mem_hid_int_remote_cid 
+4ea4 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4ea5 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4ea6 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4ea7 6000c253 store 1 ,mem_hid_interrupt_state 
+4ea8 20204eb1 branch send_connection_res 
+
+send_connection_pending:
+4ea9 58000001 setarg l2cap_connect_pending 
+4eaa 6001027d store 2 ,meml2cap_t1 
+4eab 70436450 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+4eac 20204eb3 branch send_connection_res0 
+
+send_connection_sdp_res:
+4ead 6800c250 fetch 1 ,mem_sdp_state 
+4eae 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4eaf 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4eb0 6000c250 store 1 ,mem_sdp_state 
+
+send_connection_res:
+4eb1 58000000 setarg l2cap_connect_successful 
+4eb2 6001027d store 2 ,meml2cap_t1 
+
+send_connection_res0:
+4eb3 47084022 bpatchx patch22_0 ,mem_patch22 
+4eb4 20407ead call load_cont_pointers 
+4eb5 58000003 setarg signal_connect_rsp 
+4eb6 e0a08000 istore 1 ,contw 
+4eb7 18e27e00 copy queue ,pdata 
+4eb8 e0a08000 istore 1 ,contw 
+4eb9 58000008 setarg 0x0008 
+4eba e0a10000 istore 2 ,contw 
+4ebb 18427e00 copy temp ,pdata 
+4ebc e0a10000 istore 2 ,contw 
+4ebd 19627e00 copy timeup ,pdata 
+4ebe e0a10000 istore 2 ,contw 
+4ebf 6801027d fetch 2 ,meml2cap_t1 
+4ec0 c000cec9 beq l2cap_connect_pending ,connect_pending 
+4ec1 290c0000 isolate0 0 ,debug 
+4ec2 2020cec4 branch connect_suc ,true 
+4ec3 58000004 setarg l2cap_connect_refused_no_resources 
+
+connect_suc:
+4ec4 e0a10000 istore 2 ,contw 
+4ec5 18007e00 force 0x0000 ,pdata 
+4ec6 e0a10000 istore 2 ,contw 
+4ec7 5800000c setarg 12 
+4ec8 20204ed0 branch connect_req_update_byte_counts 
+
+connect_pending:
+4ec9 e0a10000 istore 2 ,contw 
+4eca 18007e02 force 0x0002 ,pdata 
+4ecb e0a10000 istore 2 ,contw 
+4ecc 5800000c setarg 12 
+4ecd 20204ed0 branch connect_req_update_byte_counts 
+
+already_connected:
+4ece 79201000 set1 0 ,debug 
+4ecf 20204eb1 branch send_connection_res 
+
+connect_req_update_byte_counts:
+4ed0 9a40a400 iadd regb ,regb 
+4ed1 1a627e00 copy regc ,pdata 
+4ed2 9a262600 isub rega ,regc 
+4ed3 20204ed4 branch l2cap_proc_signal_connect_req_rtn 
+
+l2cap_proc_signal_connect_req_rtn:
+4ed4 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_rsp:
+4ed5 e8c08000 ifetch 1 ,contr 
+4ed6 1fe20e00 copy pdata ,queue 
+4ed7 e8c10000 ifetch 2 ,contr 
+4ed8 1fe22200 copy pdata ,rega 
+4ed9 1a627e00 copy regc ,pdata 
+4eda 9a262600 isub rega ,regc 
+4edb e8c10000 ifetch 2 ,contr 
+4edc 1fe21600 copy pdata ,timeup 
+4edd e8c10000 ifetch 2 ,contr 
+4ede 1fe20400 copy pdata ,temp 
+4edf 4708c022 bpatchx patch22_1 ,mem_patch22 
+4ee0 58000050 setarg l2cap_sdp_channel 
+4ee1 98467c00 isub temp ,null 
+4ee2 2022ceed branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+4ee3 58000051 setarg l2cap_rfcomm_channel 
+4ee4 98467c00 isub temp ,null 
+4ee5 2022cef3 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+4ee6 58000052 setarg l2cap_hid_control_channel 
+4ee7 98467c00 isub temp ,null 
+4ee8 2022ceff branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+4ee9 58000053 setarg l2cap_hid_interrupt_channel 
+4eea 98467c00 isub temp ,null 
+4eeb 2022cef9 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+4eec 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_sdp:
+4eed 19627e00 copy timeup ,pdata 
+4eee 60014248 store 2 ,mem_sdp_remote_cid 
+4eef 6800c250 fetch 1 ,mem_sdp_state 
+4ef0 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4ef1 6000c250 store 1 ,mem_sdp_state 
+4ef2 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_rsp_rfcomm:
+4ef3 19627e00 copy timeup ,pdata 
+4ef4 6001424a store 2 ,mem_rfcomm_remote_cid 
+4ef5 6800c251 fetch 1 ,mem_rfcomm_state 
+4ef6 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4ef7 6000c251 store 1 ,mem_rfcomm_state 
+4ef8 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_hid_int:
+4ef9 19627e00 copy timeup ,pdata 
+4efa 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+4efb 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4efc 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4efd 6000c253 store 1 ,mem_hid_interrupt_state 
+4efe 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+4eff 19627e00 copy timeup ,pdata 
+4f00 6001424e store 2 ,mem_hid_int_remote_cid 
+4f01 6800c252 fetch 1 ,mem_hid_control_state 
+4f02 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4f03 6000c252 store 1 ,mem_hid_control_state 
+4f04 20600000 rtn 
+
+l2cap_proc_signal_config_req:
+4f05 e8c08000 ifetch 1 ,contr 
+4f06 1fe20e00 copy pdata ,queue 
+4f07 e8c10000 ifetch 2 ,contr 
+4f08 1fe22200 copy pdata ,rega 
+4f09 1a627e00 copy regc ,pdata 
+4f0a 9a262600 isub rega ,regc 
+4f0b e8c10000 ifetch 2 ,contr 
+4f0c 1fe20400 copy pdata ,temp 
+4f0d 18422200 copy temp ,rega 
+4f0e 47094022 bpatchx patch22_2 ,mem_patch22 
+4f0f 58000050 setarg l2cap_sdp_channel 
+4f10 98467c00 isub temp ,null 
+4f11 2022cf1c branch l2cap_proc_signal_config_req_sdp ,zero 
+4f12 58000051 setarg l2cap_rfcomm_channel 
+4f13 98467c00 isub temp ,null 
+4f14 2022cf3a branch l2cap_proc_signal_config_req_rfcomm ,zero 
+4f15 58000052 setarg l2cap_hid_control_channel 
+4f16 98467c00 isub temp ,null 
+4f17 2022cf26 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+4f18 58000053 setarg l2cap_hid_interrupt_channel 
+4f19 98467c00 isub temp ,null 
+4f1a 2022cf30 branch l2cap_proc_signal_config_req_hid_int ,zero 
+4f1b 20205062 branch l2cap_reject_command 
+
+l2cap_proc_signal_config_req_sdp:
+4f1c 18a21600 copy contw ,timeup 
+4f1d 6800c250 fetch 1 ,mem_sdp_state 
+4f1e 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f1f 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f20 6000c250 store 1 ,mem_sdp_state 
+4f21 19620a00 copy timeup ,contw 
+4f22 d9600050 arg l2cap_sdp_channel ,timeup 
+4f23 68014248 fetch 2 ,mem_sdp_remote_cid 
+4f24 1fe20400 copy pdata ,temp 
+4f25 20204f43 branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_hid_ctrl:
+4f26 18a21600 copy contw ,timeup 
+4f27 6800c252 fetch 1 ,mem_hid_control_state 
+4f28 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f29 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f2a 6000c252 store 1 ,mem_hid_control_state 
+4f2b 19620a00 copy timeup ,contw 
+4f2c d9600052 arg l2cap_hid_control_channel ,timeup 
+4f2d 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4f2e 1fe20400 copy pdata ,temp 
+4f2f 20204f43 branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_hid_int:
+4f30 18a21600 copy contw ,timeup 
+4f31 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4f32 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f33 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f34 6000c253 store 1 ,mem_hid_interrupt_state 
+4f35 19620a00 copy timeup ,contw 
+4f36 d9600053 arg l2cap_hid_interrupt_channel ,timeup 
+4f37 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4f38 1fe20400 copy pdata ,temp 
+4f39 20204f43 branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_rfcomm:
+4f3a 18a21600 copy contw ,timeup 
+4f3b 6800c251 fetch 1 ,mem_rfcomm_state 
+4f3c 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f3d 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f3e 6000c251 store 1 ,mem_rfcomm_state 
+4f3f 19620a00 copy timeup ,contw 
+4f40 d9600051 arg l2cap_rfcomm_channel ,timeup 
+4f41 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+4f42 1fe20400 copy pdata ,temp 
+
+l2cap_send_config_rsp:
+4f43 4709c022 bpatchx patch22_3 ,mem_patch22 
+4f44 58000005 setarg signal_config_rsp 
+4f45 e0a08000 istore 1 ,contw 
+4f46 18e27e00 copy queue ,pdata 
+4f47 e0a08000 istore 1 ,contw 
+4f48 58000006 setarg 0x0006 
+4f49 e0a10000 istore 2 ,contw 
+4f4a 18427e00 copy temp ,pdata 
+4f4b e0a10000 istore 2 ,contw 
+4f4c 18007e00 force 0x00 ,pdata 
+4f4d e0a10000 istore 2 ,contw 
+4f4e 18007e00 force l2cap_config_success ,pdata 
+4f4f e0a10000 istore 2 ,contw 
+4f50 18007e0a force 10 ,pdata 
+4f51 9a40a400 iadd regb ,regb 
+4f52 60090282 storet 2 ,mem_config_req_dest_cid 
+4f53 18e27e00 copy queue ,pdata 
+4f54 60008281 store 1 ,mem_config_identifier 
+4f55 18007e50 force l2cap_sdp_channel ,pdata 
+4f56 a961fe00 icompare 0xff ,timeup 
+4f57 2020cf59 branch l2cap_send_config_rsp_is_sdp ,true 
+4f58 1fe0fe01 increase 1 ,pdata 
+
+l2cap_send_config_rsp_is_sdp:
+4f59 20600000 rtn 
+
+l2cap_check_channel_state:
+4f5a 78547c00 disable user 
+4f5b c3810000 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+4f5c c4000000 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+4f5d c4008000 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+4f5e 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+4f5f 18c20a00 copy contr ,contw 
+4f60 18a08bff increase -1 ,contw 
+4f61 e0a08000 istore 1 ,contw 
+4f62 78347c00 enable user 
+4f63 20600000 rtn 
+
+l2cap_send_config_req:
+
+l2cap_send_config_req_sdp:
+4f64 6800c250 fetch 1 ,mem_sdp_state 
+4f65 20404f5a call l2cap_check_channel_state 
+4f66 24344f6b nbranch l2cap_send_config_req_rfcomm ,user 
+4f67 70028050 jam l2cap_sdp_channel ,mem_send_config_req 
+4f68 68014248 fetch 2 ,mem_sdp_remote_cid 
+4f69 60010282 store 2 ,mem_config_req_dest_cid 
+4f6a 20204f7f branch l2cap_generate_config_req 
+
+l2cap_send_config_req_rfcomm:
+4f6b 6800c251 fetch 1 ,mem_rfcomm_state 
+4f6c 20404f5a call l2cap_check_channel_state 
+4f6d 24344f72 nbranch l2cap_send_config_req_hid_ctrl ,user 
+4f6e 70028051 jam l2cap_rfcomm_channel ,mem_send_config_req 
+4f6f 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+4f70 60010282 store 2 ,mem_config_req_dest_cid 
+4f71 20204f7f branch l2cap_generate_config_req 
+
+l2cap_send_config_req_hid_ctrl:
+4f72 6800c252 fetch 1 ,mem_hid_control_state 
+4f73 20404f5a call l2cap_check_channel_state 
+4f74 24344f79 nbranch l2cap_send_config_req_hid_int ,user 
+4f75 70028052 jam l2cap_hid_control_channel ,mem_send_config_req 
+4f76 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4f77 60010282 store 2 ,mem_config_req_dest_cid 
+4f78 20204f7f branch l2cap_generate_config_req 
+
+l2cap_send_config_req_hid_int:
+4f79 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4f7a 20404f5a call l2cap_check_channel_state 
+4f7b 24740000 nrtn user 
+4f7c 70028053 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+4f7d 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4f7e 60010282 store 2 ,mem_config_req_dest_cid 
+
+l2cap_generate_config_req:
+4f7f 470a4022 bpatchx patch22_4 ,mem_patch22 
+4f80 2040523a call l2cap_get_req_id 
+4f81 204052b8 call l2cap_malloc_signal_channel 
+4f82 18002400 force 0 ,regb 
+4f83 204052c3 call l2cap_get_signal_tx_payload 
+4f84 18007e04 force signal_config_req ,pdata 
+4f85 e0a08000 istore 1 ,contw 
+4f86 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+4f87 e0a08000 istore 1 ,contw 
+4f88 58000008 setarg 0x0008 
+4f89 e0a10000 istore 2 ,contw 
+4f8a 68010282 fetch 2 ,mem_config_req_dest_cid 
+4f8b e0a10000 istore 2 ,contw 
+4f8c 58000000 setarg 0x0000 
+4f8d e0a10000 istore 2 ,contw 
+4f8e 18007e01 force 1 ,pdata 
+4f8f e0a08000 istore 1 ,contw 
+4f90 18007e02 force 2 ,pdata 
+4f91 e0a08000 istore 1 ,contw 
+4f92 68008280 fetch 1 ,mem_send_config_req 
+4f93 c028cf97 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+4f94 58000030 setarg l2cap_config_mtu_sdp 
+4f95 e0a10000 istore 2 ,contw 
+4f96 20204f99 branch l2cap_generate_config_req_done 
+
+l2cap_generate_config_req_rfcomm:
+4f97 580003e3 setarg l2cap_config_mtu_rfcomm 
+4f98 e0a10000 istore 2 ,contw 
+
+l2cap_generate_config_req_done:
+4f99 d840000c arg 0x0c ,temp 
+4f9a 6009026f storet 2 ,mem_l2cap_signal_tx_length 
+4f9b 204052c1 call l2cap_get_signal_tx_buff 
+4f9c 6801026f fetch 2 ,mem_l2cap_signal_tx_length 
+4f9d e0a10000 istore 2 ,contw 
+4f9e 18007e01 force l2cap_signal_channel ,pdata 
+4f9f e0a10000 istore 2 ,contw 
+4fa0 70028000 jam 0 ,mem_send_config_req 
+
+l2cap_proc_signal_config_req_rtn:
+4fa1 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp:
+4fa2 18c08c01 increase 1 ,contr 
+4fa3 e8c10000 ifetch 2 ,contr 
+4fa4 1fe22200 copy pdata ,rega 
+4fa5 1a627e00 copy regc ,pdata 
+4fa6 9a262600 isub rega ,regc 
+4fa7 e8c10000 ifetch 2 ,contr 
+4fa8 1fe22200 copy pdata ,rega 
+4fa9 470ac022 bpatchx patch22_5 ,mem_patch22 
+4faa 58000050 setarg l2cap_sdp_channel 
+4fab 9a267c00 isub rega ,null 
+4fac 2022cfba branch l2cap_proc_signal_config_rsp_sdp ,zero 
+4fad 58000051 setarg l2cap_rfcomm_channel 
+4fae 9a267c00 isub rega ,null 
+4faf 2022cfbe branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+4fb0 58000052 setarg l2cap_hid_control_channel 
+4fb1 9a267c00 isub rega ,null 
+4fb2 2022cfc2 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+4fb3 58000053 setarg l2cap_hid_interrupt_channel 
+4fb4 9a267c00 isub rega ,null 
+4fb5 2022cfc6 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+4fb6 18c08c02 increase 2 ,contr 
+4fb7 e8c10000 ifetch 2 ,contr 
+4fb8 98007c00 iforce null 
+4fb9 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_sdp:
+4fba 6800c250 fetch 1 ,mem_sdp_state 
+4fbb 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fbc 6000c250 store 1 ,mem_sdp_state 
+4fbd 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_rfcomm:
+4fbe 6800c251 fetch 1 ,mem_rfcomm_state 
+4fbf 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fc0 6000c251 store 1 ,mem_rfcomm_state 
+4fc1 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_hid_ctrl:
+4fc2 6800c252 fetch 1 ,mem_hid_control_state 
+4fc3 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fc4 6000c252 store 1 ,mem_hid_control_state 
+4fc5 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_hid_int:
+4fc6 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4fc7 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fc8 6000c253 store 1 ,mem_hid_interrupt_state 
+4fc9 700a9906 jam bt_evt_hid_connected ,mem_fifo_temp 
+4fca 20207d86 branch ui_ipc_send_event 
+
+l2cap_proc_signal_disconnect_req:
+4fcb e8c08000 ifetch 1 ,contr 
+4fcc 1fe20e00 copy pdata ,queue 
+4fcd e8c10000 ifetch 2 ,contr 
+4fce 1fe22200 copy pdata ,rega 
+4fcf 1a627e00 copy regc ,pdata 
+4fd0 9a262600 isub rega ,regc 
+4fd1 e8c10000 ifetch 2 ,contr 
+4fd2 1fe22200 copy pdata ,rega 
+4fd3 e8c10000 ifetch 2 ,contr 
+4fd4 1fe21600 copy pdata ,timeup 
+4fd5 1a220400 copy rega ,temp 
+4fd6 20407ea8 call save_cont_pointers 
+4fd7 470b4022 bpatchx patch22_6 ,mem_patch22 
+4fd8 58000050 setarg l2cap_sdp_channel 
+4fd9 98467c00 isub temp ,null 
+4fda 2022cff2 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+4fdb 58000051 setarg l2cap_rfcomm_channel 
+4fdc 98467c00 isub temp ,null 
+4fdd 2022d002 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+4fde 58000052 setarg l2cap_hid_control_channel 
+4fdf 98467c00 isub temp ,null 
+4fe0 2022cfe6 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+4fe1 58000053 setarg l2cap_hid_interrupt_channel 
+4fe2 98467c00 isub temp ,null 
+4fe3 2022cfec branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+4fe4 20405062 call l2cap_reject_command 
+4fe5 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+4fe6 19620400 copy timeup ,temp 
+4fe7 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4fe8 98467c00 isub temp ,null 
+4fe9 2022cff8 branch l2cap_disconnect_hid_control_now ,zero 
+4fea 20405062 call l2cap_reject_command 
+4feb 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_hid_int:
+4fec 19620400 copy timeup ,temp 
+4fed 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4fee 98467c00 isub temp ,null 
+4fef 2022cffa branch l2cap_disconnect_hid_interrupt_now ,zero 
+4ff0 20405062 call l2cap_reject_command 
+4ff1 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_sdp:
+4ff2 19620400 copy timeup ,temp 
+4ff3 68014248 fetch 2 ,mem_sdp_remote_cid 
+4ff4 98467c00 isub temp ,null 
+4ff5 2022cffe branch l2cap_disconnect_sdp_now ,zero 
+4ff6 20405062 call l2cap_reject_command 
+4ff7 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_disconnect_hid_control_now:
+4ff8 20405079 call l2cap_reset_hid_ctrl_state 
+4ff9 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_disconnect_hid_interrupt_now:
+4ffa 2040507f call l2cap_reset_hid_int_state 
+4ffb 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4ffc 203a500a branch l2cap_send_disconnect_rsp_pkt ,blank 
+4ffd 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_disconnect_sdp_now:
+4ffe 20405074 call l2cap_reset_sdp_channel_state 
+4fff 68008288 fetch 1 ,mem_upper_sm_ss 
+5000 243a500a nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+5001 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_proc_signal_disconnect_req_rfcomm:
+5002 19620400 copy timeup ,temp 
+5003 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+5004 98467c00 isub temp ,null 
+5005 2022d008 branch l2cap_disconnect_rfcomm_now ,zero 
+5006 20405062 call l2cap_reject_command 
+5007 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_disconnect_rfcomm_now:
+5008 2040506f call l2cap_reset_rfcomm_channel_state 
+5009 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_send_disconnect_rsp_pkt:
+500a 20407ead call load_cont_pointers 
+500b 58000007 setarg signal_disconnect_rsp 
+500c e0a08000 istore 1 ,contw 
+500d 18e27e00 copy queue ,pdata 
+500e e0a08000 istore 1 ,contw 
+500f 58000004 setarg 0x0004 
+5010 e0a10000 istore 2 ,contw 
+5011 1a227e00 copy rega ,pdata 
+5012 e0a10000 istore 2 ,contw 
+5013 19627e00 copy timeup ,pdata 
+5014 e0a10000 istore 2 ,contw 
+5015 18007e08 force 8 ,pdata 
+5016 20205019 branch l2cap_proc_signal_disconnect_req_rtn 
+
+l2cap_proc_signal_disconnect_req_err_rtn:
+5017 20407ead call load_cont_pointers 
+5018 20205019 branch l2cap_proc_signal_disconnect_req_rtn 
+
+l2cap_proc_signal_disconnect_req_rtn:
+5019 9a40a400 iadd regb ,regb 
+501a 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_disconnect_rsp:
+501b e8c08000 ifetch 1 ,contr 
+501c 1fe20e00 copy pdata ,queue 
+501d e8c10000 ifetch 2 ,contr 
+501e 1fe22200 copy pdata ,rega 
+501f 1a627e00 copy regc ,pdata 
+5020 9a262600 isub rega ,regc 
+5021 e8c10000 ifetch 2 ,contr 
+5022 1fe21600 copy pdata ,timeup 
+5023 e8c10000 ifetch 2 ,contr 
+5024 1fe20400 copy pdata ,temp 
+5025 20407ea8 call save_cont_pointers 
+5026 470bc022 bpatchx patch22_7 ,mem_patch22 
+5027 58000050 setarg l2cap_sdp_channel 
+5028 98467c00 isub temp ,null 
+5029 2022d035 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+502a 58000051 setarg l2cap_rfcomm_channel 
+502b 98467c00 isub temp ,null 
+502c 2022d03b branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+502d 58000052 setarg l2cap_hid_control_channel 
+502e 98467c00 isub temp ,null 
+502f 2022d041 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+5030 58000053 setarg l2cap_hid_interrupt_channel 
+5031 98467c00 isub temp ,null 
+5032 2022d047 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+5033 20405062 call l2cap_reject_command 
+5034 2020504f branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+
+l2cap_proc_signal_disconnect_rsp_sdp:
+5035 18422200 copy temp ,rega 
+5036 19620400 copy timeup ,temp 
+5037 68014248 fetch 2 ,mem_sdp_remote_cid 
+5038 98467c00 isub temp ,null 
+5039 2042d074 call l2cap_reset_sdp_channel_state ,zero 
+503a 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+503b 18422200 copy temp ,rega 
+503c 19620400 copy timeup ,temp 
+503d 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+503e 98467c00 isub temp ,null 
+503f 2042d06f call l2cap_reset_rfcomm_channel_state ,zero 
+5040 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+5041 18422200 copy temp ,rega 
+5042 19620400 copy timeup ,temp 
+5043 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+5044 98467c00 isub temp ,null 
+5045 2042d079 call l2cap_reset_hid_ctrl_state ,zero 
+5046 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_hid_int:
+5047 18422200 copy temp ,rega 
+5048 19620400 copy timeup ,temp 
+5049 6801424e fetch 2 ,mem_hid_int_remote_cid 
+504a 98467c00 isub temp ,null 
+504b 2042d07f call l2cap_reset_hid_int_state ,zero 
+504c 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_rtn:
+504d 20407ead call load_cont_pointers 
+504e 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+504f 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_echo_req:
+5050 e8c08000 ifetch 1 ,contr 
+5051 1fe20e00 copy pdata ,queue 
+5052 e8c10000 ifetch 2 ,contr 
+5053 1fe22200 copy pdata ,rega 
+5054 98c08c00 iadd contr ,contr 
+5055 58000009 setarg 9 
+5056 e0a08000 istore 1 ,contw 
+5057 18e27e00 copy queue ,pdata 
+5058 e0a08000 istore 1 ,contw 
+5059 18007e00 force 0x0000 ,pdata 
+505a e0a10000 istore 2 ,contw 
+505b 18007e04 force 4 ,pdata 
+505c 9a40a400 iadd regb ,regb 
+505d 1a627e00 copy regc ,pdata 
+505e 9a262600 isub rega ,regc 
+505f 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_echo_rsp:
+5060 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_info_rsp:
+5061 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_reject_command:
+5062 18002400 force 0 ,regb 
+5063 204052c3 call l2cap_get_signal_tx_payload 
+5064 58000001 setarg signal_cmd_reject 
+5065 e0a08000 istore 1 ,contw 
+5066 18e27e00 copy queue ,pdata 
+5067 e0a08000 istore 1 ,contw 
+5068 58000002 setarg 2 
+5069 e0a10000 istore 2 ,contw 
+506a 58000000 setarg cmd_not_understood 
+506b e0a10000 istore 2 ,contw 
+506c 1a40a406 increase 6 ,regb 
+506d da600004 arg 4 ,regc 
+506e 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_reset_rfcomm_channel_state:
+506f 58000000 setarg 0 
+5070 6001027b store 2 ,mem_rfcomm_tx_pkt_length 
+5071 6001424a store 2 ,mem_rfcomm_remote_cid 
+5072 70425100 jam 0 ,mem_rfcomm_state 
+5073 20600000 rtn 
+
+l2cap_reset_sdp_channel_state:
+5074 58000000 setarg 0 
+5075 60010275 store 2 ,mem_sdp_tx_pkt_length 
+5076 60014248 store 2 ,mem_sdp_remote_cid 
+5077 70425000 jam 0 ,mem_sdp_state 
+5078 20600000 rtn 
+
+l2cap_reset_hid_ctrl_state:
+5079 58000000 setarg 0 
+507a 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+507b 70425200 jam 0 ,mem_hid_control_state 
+507c 6800c253 fetch 1 ,mem_hid_interrupt_state 
+507d c0005085 beq 0 ,l2cap_reset_hid_disconnected 
+507e 20600000 rtn 
+
+l2cap_reset_hid_int_state:
+507f 58000000 setarg 0 
+5080 6001424e store 2 ,mem_hid_int_remote_cid 
+5081 70425300 jam 0 ,mem_hid_interrupt_state 
+5082 6800c252 fetch 1 ,mem_hid_control_state 
+5083 c0005085 beq 0 ,l2cap_reset_hid_disconnected 
+5084 20600000 rtn 
+
+l2cap_reset_hid_disconnected:
+5085 700a9907 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+5086 20207d86 branch ui_ipc_send_event 
+
+l2cap_disconnect_interrupt_req:
+5087 6800827f fetch 1 ,mem_control_tasks 
+5088 793ffe00 set0 l2cap_disconnect_interrupt ,pdata 
+5089 6000827f store 1 ,mem_control_tasks 
+508a 6801424e fetch 2 ,mem_hid_int_remote_cid 
+508b 207a0000 rtn blank 
+508c 204052b8 call l2cap_malloc_signal_channel 
+508d 6801424e fetch 2 ,mem_hid_int_remote_cid 
+508e 1fe22200 copy pdata ,rega 
+508f 18002453 force l2cap_hid_interrupt_channel ,regb 
+5090 2020509a branch l2cap_generate_disconnect_req 
+
+l2cap_disconnect_control_req:
+5091 6800827f fetch 1 ,mem_control_tasks 
+5092 793ffe07 set0 l2cap_disconnect_control ,pdata 
+5093 6000827f store 1 ,mem_control_tasks 
+5094 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+5095 207a0000 rtn blank 
+5096 204052b8 call l2cap_malloc_signal_channel 
+5097 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+5098 1fe22200 copy pdata ,rega 
+5099 18002452 force l2cap_hid_control_channel ,regb 
+
+l2cap_generate_disconnect_req:
+509a 2040523a call l2cap_get_req_id 
+509b 204052c3 call l2cap_get_signal_tx_payload 
+509c 18007e06 force signal_disconnect_req ,pdata 
+509d e0a08000 istore 1 ,contw 
+509e 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+509f e0a08000 istore 1 ,contw 
+50a0 58000004 setarg 0x0004 
+50a1 e0a10000 istore 2 ,contw 
+50a2 1a227e00 copy rega ,pdata 
+50a3 e0a10000 istore 2 ,contw 
+50a4 1a427e00 copy regb ,pdata 
+50a5 e0a10000 istore 2 ,contw 
+50a6 18000408 force 0x08 ,temp 
+50a7 202050de branch ml2cap_send_signal 
+
+ml2cap_send_signal_connect_req:
+50a8 470c4023 bpatchx patch23_0 ,mem_patch23 
+50a9 2040523a call l2cap_get_req_id 
+50aa 204052c3 call l2cap_get_signal_tx_payload 
+50ab 58000002 setarg signal_connect_req 
+50ac e0a08000 istore 1 ,contw 
+50ad 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+50ae e0a08000 istore 1 ,contw 
+50af 58000004 setarg 0x0004 
+50b0 e0a10000 istore 2 ,contw 
+50b1 18427e00 copy temp ,pdata 
+50b2 e0a10000 istore 2 ,contw 
+50b3 19627e00 copy timeup ,pdata 
+50b4 e0a10000 istore 2 ,contw 
+50b5 d8400008 arg 8 ,temp 
+50b6 202050de branch ml2cap_send_signal 
+
+ml2cap_send_signal_config_req:
+50b7 470cc023 bpatchx patch23_1 ,mem_patch23 
+50b8 2040523a call l2cap_get_req_id 
+50b9 204052c3 call l2cap_get_signal_tx_payload 
+50ba 58000004 setarg signal_config_req 
+50bb e0a08000 istore 1 ,contw 
+50bc 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+50bd e0a08000 istore 1 ,contw 
+50be 58000008 setarg 0x0008 
+50bf e0a10000 istore 2 ,contw 
+50c0 18427e00 copy temp ,pdata 
+50c1 e0a10000 istore 2 ,contw 
+50c2 58000000 setarg 0x0000 
+50c3 e0a10000 istore 2 ,contw 
+50c4 58000001 setarg 0x01 
+50c5 e0a08000 istore 1 ,contw 
+50c6 58000002 setarg 0x02 
+50c7 e0a08000 istore 1 ,contw 
+50c8 580003e3 setarg l2cap_config_mtu_rfcomm 
+50c9 e0a10000 istore 2 ,contw 
+50ca d840000c arg 0xc ,temp 
+50cb 202050de branch ml2cap_send_signal 
+
+ml2cap_send_signal_disconn_req:
+50cc 470d4023 bpatchx patch23_2 ,mem_patch23 
+50cd 2040523a call l2cap_get_req_id 
+50ce 204052c3 call l2cap_get_signal_tx_payload 
+50cf 58000006 setarg signal_disconnect_req 
+50d0 e0a08000 istore 1 ,contw 
+50d1 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+50d2 1fe0fe01 increase 1 ,pdata 
+50d3 18a22200 copy contw ,rega 
+50d4 6000c255 store 1 ,mem_ml2cap_comm_id 
+50d5 1a220a00 copy rega ,contw 
+50d6 e0a08000 istore 1 ,contw 
+50d7 58000004 setarg 0x0004 
+50d8 e0a10000 istore 2 ,contw 
+50d9 18427e00 copy temp ,pdata 
+50da e0a10000 istore 2 ,contw 
+50db 19627e00 copy timeup ,pdata 
+50dc e0a10000 istore 2 ,contw 
+50dd d8400008 arg 0x8 ,temp 
+
+ml2cap_send_signal:
+50de 6009026f storet 2 ,mem_l2cap_signal_tx_length 
+50df 18427e00 copy temp ,pdata 
+50e0 203a5264 branch l2cap_malloc_discard ,blank 
+50e1 204052c1 call l2cap_get_signal_tx_buff 
+50e2 6801026f fetch 2 ,mem_l2cap_signal_tx_length 
+50e3 e0a10000 istore 2 ,contw 
+50e4 18007e01 force l2cap_signal_channel ,pdata 
+50e5 e0a10000 istore 2 ,contw 
+50e6 20600000 rtn 
+
+msdp_send_req_done:
+50e7 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+50e8 203a2a8c branch assert ,blank 
+50e9 204052ce call l2cap_get_sdp_tx_buff 
+50ea 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+50eb e0a10000 istore 2 ,contw 
+50ec 68014248 fetch 2 ,mem_sdp_remote_cid 
+50ed e0a10000 istore 2 ,contw 
+50ee 20600000 rtn 
+
+ml2cap_rx_multiplexing:
+50ef 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+50f0 203a4dfc branch l2cap_rx_reset_state ,blank 
+50f1 470dc023 bpatchx patch23_3 ,mem_patch23 
+50f2 68008268 fetch 1 ,mem_l2cap_rx_cid 
+50f3 c000d0f9 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+50f4 c0284de8 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+50f5 c028cdf5 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+50f6 c0294df3 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+50f7 c029cdf3 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+50f8 20204dfc branch l2cap_rx_reset_state 
+
+ml2cap_call_proc_signal:
+50f9 470e4023 bpatchx patch23_4 ,mem_patch23 
+50fa 204052b8 call l2cap_malloc_signal_channel 
+50fb 18002400 force 0 ,regb 
+50fc 204052c3 call l2cap_get_signal_tx_payload 
+50fd 1fe20a00 copy pdata ,contw 
+50fe 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+50ff 1fe22600 copy pdata ,regc 
+5100 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+5101 98000c00 iforce contr 
+
+ml2cap_proc_one_comm_loop:
+5102 20405108 call ml2cap_proc_one_comm 
+5103 1a60a7fc increase -4 ,regc 
+5104 2422d102 nbranch ml2cap_proc_one_comm_loop ,zero 
+5105 1a420400 copy regb ,temp 
+5106 204050de call ml2cap_send_signal 
+5107 20204dfc branch l2cap_rx_reset_state 
+
+ml2cap_proc_one_comm:
+5108 e8c08000 ifetch 1 ,contr 
+5109 c0015113 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+510a c000d116 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+510b c001d120 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+510c c002d15c beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+510d c002518e beq signal_config_req ,ml2cap_proc_signal_config_req 
+510e c003d213 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+510f c00351e1 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+5110 c0045050 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+5111 c0054e3a beq signal_info_req ,ml2cap_proc_signal_info_req 
+5112 2020522e branch ml2cap_proc_send_reject 
+
+ml2cap_proc_signal_connect_req:
+5113 20407ea8 call save_cont_pointers 
+5114 20407ead call load_cont_pointers 
+5115 20204e51 branch l2cap_proc_signal_connect_req 
+
+ml2cap_proc_signal_cmd_reject:
+5116 e8c08000 ifetch 1 ,contr 
+5117 1fe20e00 copy pdata ,queue 
+5118 e8c10000 ifetch 2 ,contr 
+5119 1fe22200 copy pdata ,rega 
+511a 1a627e00 copy regc ,pdata 
+511b 9a262600 isub rega ,regc 
+
+mvptr:
+511c e8c08000 ifetch 1 ,contr 
+511d 1a20a3ff increase -1 ,rega 
+511e 2422d11c nbranch mvptr ,zero 
+511f 20600000 rtn 
+
+ml2cap_proc_signal_connect_rsp:
+5120 e8c08000 ifetch 1 ,contr 
+5121 1fe20e00 copy pdata ,queue 
+5122 e8c10000 ifetch 2 ,contr 
+5123 1fe22200 copy pdata ,rega 
+5124 e8c10000 ifetch 2 ,contr 
+5125 1fe21600 copy pdata ,timeup 
+5126 e8c10000 ifetch 2 ,contr 
+5127 1fe20400 copy pdata ,temp 
+5128 e8c10000 ifetch 2 ,contr 
+5129 1fe67c00 sub pdata ,0 ,null 
+512a 2022d132 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+512b c001512e beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+512c c002512e beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+512d 20205130 branch ml2cap_proc_signal_connect_rsp_mnosucc 
+
+ml2cap_proc_signal_connect_refused_result:
+512e 700a9916 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+512f 20407d86 call ui_ipc_send_event 
+
+ml2cap_proc_signal_connect_rsp_mnosucc:
+5130 e8c10000 ifetch 2 ,contr 
+5131 20205159 branch mnosucc 
+
+ml2cap_proc_signal_connect_rsp_sucessful:
+5132 20407ea8 call save_cont_pointers 
+5133 470ec023 bpatchx patch23_5 ,mem_patch23 
+5134 58000050 setarg l2cap_sdp_channel 
+5135 98467c00 isub temp ,null 
+5136 2022d141 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+5137 58000051 setarg l2cap_rfcomm_channel 
+5138 98467c00 isub temp ,null 
+5139 2022d147 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+513a 58000053 setarg l2cap_hid_interrupt_channel 
+513b 98467c00 isub temp ,null 
+513c 2022d153 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+513d 58000052 setarg l2cap_hid_control_channel 
+513e 98467c00 isub temp ,null 
+513f 2022d14d branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+5140 20205159 branch mnosucc 
+
+ml2cap_proc_signal_connect_rsp_sdp:
+5141 19627e00 copy timeup ,pdata 
+5142 60014248 store 2 ,mem_sdp_remote_cid 
+5143 6800c250 fetch 1 ,mem_sdp_state 
+5144 79207e01 set1 l2cap_channel_state_conn_res 
+5145 6000c250 store 1 ,mem_sdp_state 
+5146 20205158 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_rfcomm:
+5147 19627e00 copy timeup ,pdata 
+5148 6001424a store 2 ,mem_rfcomm_remote_cid 
+5149 6800c251 fetch 1 ,mem_rfcomm_state 
+514a 79207e01 set1 l2cap_channel_state_conn_res 
+514b 6000c251 store 1 ,mem_rfcomm_state 
+514c 20205158 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+514d 19627e00 copy timeup ,pdata 
+514e 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+514f 6800c252 fetch 1 ,mem_hid_control_state 
+5150 79207e01 set1 l2cap_channel_state_conn_res 
+5151 6000c252 store 1 ,mem_hid_control_state 
+5152 20205158 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_hid_int:
+5153 19627e00 copy timeup ,pdata 
+5154 6001424e store 2 ,mem_hid_int_remote_cid 
+5155 6800c253 fetch 1 ,mem_hid_interrupt_state 
+5156 79207e01 set1 l2cap_channel_state_conn_res 
+5157 6000c253 store 1 ,mem_hid_interrupt_state 
+
+mnosucc1:
+5158 20407ead call load_cont_pointers 
+
+mnosucc:
+5159 1a627e00 copy regc ,pdata 
+515a 9a262600 isub rega ,regc 
+515b 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp:
+515c e8c08000 ifetch 1 ,contr 
+515d 1fe20e00 copy pdata ,queue 
+515e e8c10000 ifetch 2 ,contr 
+515f 1fe22200 copy pdata ,rega 
+5160 1a627e00 copy regc ,pdata 
+5161 9a262600 isub rega ,regc 
+5162 e8c10000 ifetch 2 ,contr 
+5163 1fe21600 copy pdata ,timeup 
+5164 e8c10000 ifetch 2 ,contr 
+5165 e8c10000 ifetch 2 ,contr 
+5166 243a5188 nbranch mcrsdone1 ,blank 
+5167 20407ea8 call save_cont_pointers 
+5168 19620400 copy timeup ,temp 
+5169 470f4023 bpatchx patch23_6 ,mem_patch23 
+516a 58000050 setarg l2cap_sdp_channel 
+516b 98467c00 isub temp ,null 
+516c 2022d176 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+516d 58000051 setarg l2cap_rfcomm_channel 
+516e 98467c00 isub temp ,null 
+516f 2022d17a branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+5170 58000052 setarg l2cap_hid_control_channel 
+5171 98467c00 isub temp ,null 
+5172 2022d17e branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+5173 58000053 setarg l2cap_hid_interrupt_channel 
+5174 98467c00 isub temp ,null 
+5175 2022d182 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+
+ml2cap_proc_signal_config_rsp_sdp:
+5176 6800c250 fetch 1 ,mem_sdp_state 
+5177 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5178 6000c250 store 1 ,mem_sdp_state 
+5179 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_rfcomm:
+517a 6800c251 fetch 1 ,mem_rfcomm_state 
+517b 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+517c 6000c251 store 1 ,mem_rfcomm_state 
+517d 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+517e 6800c252 fetch 1 ,mem_hid_control_state 
+517f 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5180 6000c252 store 1 ,mem_hid_control_state 
+5181 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_hid_int:
+5182 6800c253 fetch 1 ,mem_hid_interrupt_state 
+5183 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5184 6000c253 store 1 ,mem_hid_interrupt_state 
+5185 700a9906 jam bt_evt_hid_connected ,mem_fifo_temp 
+5186 20207d86 branch ui_ipc_send_event 
+
+mcfrsdone:
+5187 20407ead call load_cont_pointers 
+
+mcrsdone1:
+5188 1a20a3fa increase -6 ,rega 
+
+mloop2:
+5189 2022d18d branch mcrsdone ,zero 
+518a 18c08c01 increase 1 ,contr 
+518b 1a20a3ff increase -1 ,rega 
+518c 20205189 branch mloop2 
+
+mcrsdone:
+518d 20600000 rtn 
+
+ml2cap_proc_signal_config_req:
+518e e8c08000 ifetch 1 ,contr 
+518f 1fe20e00 copy pdata ,queue 
+5190 e8c10000 ifetch 2 ,contr 
+5191 1fe22200 copy pdata ,rega 
+5192 1a627e00 copy regc ,pdata 
+5193 9a262600 isub rega ,regc 
+5194 e8c10000 ifetch 2 ,contr 
+5195 18c08c02 increase 2 ,contr 
+5196 1fe20400 copy pdata ,temp 
+5197 58000005 setarg signal_config_rsp 
+5198 e0a08000 istore 1 ,contw 
+5199 18e27e00 copy queue ,pdata 
+519a e0a08000 istore 1 ,contw 
+519b 1a20a202 increase 2 ,rega 
+519c 1a227e00 copy rega ,pdata 
+519d e0a10000 istore 2 ,contw 
+519e 20407ea8 call save_cont_pointers 
+519f 470fc023 bpatchx patch23_7 ,mem_patch23 
+51a0 58000050 setarg l2cap_sdp_channel 
+51a1 98467c00 isub temp ,null 
+51a2 2022d1ad branch ml2cap_proc_signal_config_req_sdp ,zero 
+51a3 58000051 setarg l2cap_rfcomm_channel 
+51a4 98467c00 isub temp ,null 
+51a5 2022d1be branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+51a6 58000052 setarg l2cap_hid_control_channel 
+51a7 98467c00 isub temp ,null 
+51a8 2022d1c4 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+51a9 58000053 setarg l2cap_hid_interrupt_channel 
+51aa 98467c00 isub temp ,null 
+51ab 2022d1ca branch ml2cap_proc_signal_config_req_hid_int ,zero 
+51ac 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_sdp:
+51ad 6800c250 fetch 1 ,mem_sdp_state 
+51ae 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51af 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51b0 6000c250 store 1 ,mem_sdp_state 
+51b1 c28151bb bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+51b2 6808827f fetcht 1 ,mem_control_tasks 
+51b3 79200406 set1 l2cap_init_config_req ,temp 
+51b4 6008827f storet 1 ,mem_control_tasks 
+51b5 18e27e00 copy queue ,pdata 
+51b6 1fe0fe01 increase 1 ,pdata 
+51b7 60008281 store 1 ,mem_config_identifier 
+51b8 6800c250 fetch 1 ,mem_sdp_state 
+51b9 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+51ba 6000c250 store 1 ,mem_sdp_state 
+
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+51bb 68014248 fetch 2 ,mem_sdp_remote_cid 
+51bc 60010282 store 2 ,mem_config_req_dest_cid 
+51bd 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_rfcomm:
+51be 6800c251 fetch 1 ,mem_rfcomm_state 
+51bf 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51c0 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51c1 6000c251 store 1 ,mem_rfcomm_state 
+51c2 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+51c3 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_hid_ctrl:
+51c4 6800c252 fetch 1 ,mem_hid_control_state 
+51c5 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51c6 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51c7 6000c252 store 1 ,mem_hid_control_state 
+51c8 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+51c9 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_hid_int:
+51ca 6800c253 fetch 1 ,mem_hid_interrupt_state 
+51cb 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51cc 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51cd 6000c253 store 1 ,mem_hid_interrupt_state 
+51ce 6801424e fetch 2 ,mem_hid_int_remote_cid 
+
+mcfgrq_done:
+51cf 1fe21600 copy pdata ,timeup 
+51d0 20407ead call load_cont_pointers 
+51d1 19627e00 copy timeup ,pdata 
+51d2 e0a10000 istore 2 ,contw 
+51d3 18007e00 force 0x0000 ,pdata 
+51d4 e0a10000 istore 2 ,contw 
+51d5 18007e00 force 0x0000 ,pdata 
+51d6 e0a10000 istore 2 ,contw 
+51d7 18007e0a force 10 ,pdata 
+51d8 9a40a400 iadd regb ,regb 
+51d9 1a20a3fa increase -6 ,rega 
+
+mloop1:
+51da 2022d1e0 branch mcrqdone ,zero 
+51db e8c08000 ifetch 1 ,contr 
+51dc e0a08000 istore 1 ,contw 
+51dd 1a40a401 increase 1 ,regb 
+51de 1a20a3ff increase -1 ,rega 
+51df 202051da branch mloop1 
+
+mcrqdone:
+51e0 20600000 rtn 
+
+ml2cap_proc_signal_disconn_req:
+51e1 e8c08000 ifetch 1 ,contr 
+51e2 1fe20e00 copy pdata ,queue 
+51e3 e8c10000 ifetch 2 ,contr 
+51e4 1fe22200 copy pdata ,rega 
+51e5 1a627e00 copy regc ,pdata 
+51e6 9a262600 isub rega ,regc 
+51e7 e8c10000 ifetch 2 ,contr 
+51e8 1fe22200 copy pdata ,rega 
+51e9 e8c10000 ifetch 2 ,contr 
+51ea 1fe21600 copy pdata ,timeup 
+51eb 20407ea8 call save_cont_pointers 
+51ec 47104024 bpatchx patch24_0 ,mem_patch24 
+51ed 58000050 setarg l2cap_sdp_channel 
+51ee 1a220400 copy rega ,temp 
+51ef 98467c00 isub temp ,null 
+51f0 2022d1fa branch ml2cap_proc_signal_disconn_sdp ,zero 
+51f1 58000052 setarg l2cap_hid_control_channel 
+51f2 1a220400 copy rega ,temp 
+51f3 98467c00 isub temp ,null 
+51f4 2022d1ff branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+51f5 58000053 setarg l2cap_hid_interrupt_channel 
+51f6 1a220400 copy rega ,temp 
+51f7 98467c00 isub temp ,null 
+51f8 2022d201 branch ml2cap_proc_signal_disconn_hid_int ,zero 
+51f9 20205203 branch mclsrfc 
+
+ml2cap_proc_signal_disconn_sdp:
+51fa 58000000 setarg 0x0000 
+51fb 60010275 store 2 ,mem_sdp_tx_pkt_length 
+51fc 60014248 store 2 ,mem_sdp_remote_cid 
+51fd 6000c250 store 1 ,mem_sdp_state 
+51fe 20205205 branch mclssdp 
+
+ml2cap_proc_signal_disconn_hid_ctrl:
+51ff 20405079 call l2cap_reset_hid_ctrl_state 
+5200 20205205 branch mclssdp 
+
+ml2cap_proc_signal_disconn_hid_int:
+5201 2040507f call l2cap_reset_hid_int_state 
+5202 20205205 branch mclssdp 
+
+mclsrfc:
+5203 58000000 setarg 0x0000 
+5204 6001027b store 2 ,mem_rfcomm_tx_pkt_length 
+
+mclssdp:
+5205 20407ead call load_cont_pointers 
+5206 58000007 setarg signal_disconnect_rsp 
+5207 e0a08000 istore 1 ,contw 
+5208 18e27e00 copy queue ,pdata 
+5209 e0a08000 istore 1 ,contw 
+520a 58000004 setarg 0x0004 
+520b e0a10000 istore 2 ,contw 
+520c 1a227e00 copy rega ,pdata 
+520d e0a10000 istore 2 ,contw 
+520e 19627e00 copy timeup ,pdata 
+520f e0a10000 istore 2 ,contw 
+5210 18007e08 force 8 ,pdata 
+5211 9a40a400 iadd regb ,regb 
+5212 20600000 rtn 
+
+ml2cap_proc_signal_disconn_rsp:
+5213 e8c08000 ifetch 1 ,contr 
+5214 1fe20e00 copy pdata ,queue 
+5215 e8c10000 ifetch 2 ,contr 
+5216 1fe22200 copy pdata ,rega 
+5217 e8c10000 ifetch 2 ,contr 
+5218 1fe21600 copy pdata ,timeup 
+5219 e8c10000 ifetch 2 ,contr 
+521a 1fe20400 copy pdata ,temp 
+521b 20407ea8 call save_cont_pointers 
+521c 4710c024 bpatchx patch24_1 ,mem_patch24 
+521d 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+521e a8e1fe00 icompare 0xff ,queue 
+521f 2420d22a nbranch mdisdone ,true 
+5220 58000050 setarg l2cap_sdp_channel 
+5221 98467c00 isub temp ,null 
+5222 2022d227 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+5223 58000051 setarg l2cap_rfcomm_channel 
+5224 98467c00 isub temp ,null 
+5225 2022d22a branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+5226 2020522a branch mdisdone 
+
+ml2cap_proc_signal_disconn_rsp_sdp:
+5227 70424800 jam 0 ,mem_sdp_remote_cid 
+5228 70425000 jam 0 ,mem_sdp_state 
+5229 2020522a branch mdisdone 
+
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+
+mdisdone:
+522a 20407ead call load_cont_pointers 
+522b 1a627e00 copy regc ,pdata 
+522c 9a262600 isub rega ,regc 
+522d 20600000 rtn 
+
+ml2cap_proc_send_reject:
+522e 58000001 setarg signal_cmd_reject 
+522f e0a08000 istore 1 ,contw 
+5230 e8c08000 ifetch 1 ,contr 
+5231 e0a08000 istore 1 ,contw 
+5232 58000002 setarg 0x0002 
+5233 e0a10000 istore 2 ,contw 
+5234 58000000 setarg 0x0000 
+5235 e0a10000 istore 2 ,contw 
+5236 58000006 setarg 0x0006 
+5237 9a40a400 iadd regb ,regb 
+5238 18002604 force 4 ,regc 
+5239 20600000 rtn 
+
+l2cap_get_req_id:
+523a 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+523b 1fe0fe01 increase 1 ,pdata 
+523c c080523e bne 0 ,l2cap_get_req_id_ok 
+523d 1fe0fe01 increase 1 ,pdata 
+
+l2cap_get_req_id_ok:
+523e 6000c255 store 1 ,mem_ml2cap_comm_id 
+523f 20600000 rtn 
+
+l2cap_malloc:
+5240 47114024 bpatchx patch24_2 ,mem_patch24 
+5241 da400000 arg 0 ,regb 
+5242 2040526e call l2cap_malloc_is_fifo_full 
+5243 243a2a8c nbranch assert ,blank 
+5244 2040527e call l2cap_malloc_get_full_map 
+5245 da401800 arg mem_tx_buff0 ,regb 
+5246 d8e00000 arg 0 ,queue 
+
+l2cap_malloc_loop:
+5247 6808c256 fetcht 1 ,mem_used_map 
+5248 a84fffff qisolate1 temp 
+5249 2020d24f branch l2cap_malloc_next ,true 
+524a 204052a0 call l2cap_malloc_enough 
+524b 19667c00 sub timeup ,0 ,null 
+524c 2021524f branch l2cap_malloc_next ,positive 
+524d 20405288 call l2cap_malloc_into_fifo 
+524e 20205255 branch l2cap_malloc_rtn 
+
+l2cap_malloc_next:
+524f 1a40a480 increase 128 ,regb 
+5250 18e08e01 increase 1 ,queue 
+5251 58000008 setarg 8 
+5252 98e67c00 isub queue ,null 
+5253 20215247 branch l2cap_malloc_loop ,positive 
+5254 da400000 arg 0 ,regb 
+
+l2cap_malloc_rtn:
+5255 1a427e00 copy regb ,pdata 
+5256 203a2a8c branch assert ,blank 
+5257 20600000 rtn 
+
+l2cap_malloc_fifo_out:
+5258 4711c024 bpatchx patch24_3 ,mem_patch24 
+5259 20405277 call l2cap_malloc_fifo_get_first_ptr 
+525a 18c08c01 increase 1 ,contr 
+525b e8c10000 ifetch 2 ,contr 
+525c 20600000 rtn 
+
+l2cap_malloc_free:
+525d 47124024 bpatchx patch24_4 ,mem_patch24 
+525e 20405277 call l2cap_malloc_fifo_get_first_ptr 
+525f 18c20a00 copy contr ,contw 
+5260 18c20400 copy contr ,temp 
+5261 58000000 setarg 0 
+5262 e0a18000 istore 3 ,contw 
+5263 20600000 rtn 
+
+l2cap_malloc_discard:
+5264 4712c024 bpatchx patch24_5 ,mem_patch24 
+5265 20405274 call l2cap_malloc_is_fifo_empty 
+5266 203a2a8c branch assert ,blank 
+5267 6801c25d fetch 3 ,mem_tx_fifo2 
+5268 6001c260 store 3 ,mem_tx_fifo3 
+5269 6801c25a fetch 3 ,mem_tx_fifo1 
+526a 6001c25d store 3 ,mem_tx_fifo2 
+526b 6801c257 fetch 3 ,mem_tx_fifo0 
+526c 6001c25a store 3 ,mem_tx_fifo1 
+526d 20600000 rtn 
+
+l2cap_malloc_is_fifo_full:
+526e 47134024 bpatchx patch24_6 ,mem_patch24 
+526f 6801c257 fetch 3 ,mem_tx_fifo0 
+5270 20600000 rtn 
+
+l2cap_malloc_is_fifo_nearly_full:
+5271 4713c024 bpatchx patch24_7 ,mem_patch24 
+5272 6801c25a fetch 3 ,mem_tx_fifo1 
+5273 20600000 rtn 
+
+l2cap_malloc_is_fifo_empty:
+5274 47144025 bpatchx patch25_0 ,mem_patch25 
+5275 6801c260 fetch 3 ,mem_tx_fifo3 
+5276 20600000 rtn 
+
+l2cap_malloc_fifo_get_first_ptr:
+5277 20405274 call l2cap_malloc_is_fifo_empty 
+5278 203a2a8c branch assert ,blank 
+5279 d8c04257 arg mem_tx_fifo0 ,contr 
+
+l2cap_malloc_free_loop:
+527a e8c18000 ifetch 3 ,contr 
+527b 203a527a branch l2cap_malloc_free_loop ,blank 
+527c 18c08dfd increase -3 ,contr 
+527d 20600000 rtn 
+
+l2cap_malloc_get_full_map:
+527e 4714c025 bpatchx patch25_1 ,mem_patch25 
+527f df200004 arg 4 ,loopcnt 
+5280 d8c04257 arg mem_tx_fifo0_map ,contr 
+5281 d8400000 arg 0 ,temp 
+
+l2cap_malloc_get_full_map_loop:
+5282 e8c18000 ifetch 3 ,contr 
+5283 1fe17eff and pdata ,0xff ,pdata 
+5284 98418400 ior temp ,temp 
+5285 c2005282 loop l2cap_malloc_get_full_map_loop 
+5286 6008c256 storet 1 ,mem_used_map 
+5287 20600000 rtn 
+
+l2cap_malloc_into_fifo:
+5288 47154025 bpatchx patch25_2 ,mem_patch25 
+5289 2040526e call l2cap_malloc_is_fifo_full 
+528a 243a2a8c nbranch assert ,blank 
+528b 20405274 call l2cap_malloc_is_fifo_empty 
+528c 203a5295 branch l2cap_malloc_into_fifo_no_push ,blank 
+528d 6801c25a fetch 3 ,mem_tx_fifo1 
+528e 6001c257 store 3 ,mem_tx_fifo0 
+528f e8c18000 ifetch 3 ,contr 
+5290 e0a18000 istore 3 ,contw 
+5291 e8c18000 ifetch 3 ,contr 
+5292 e0a18000 istore 3 ,contw 
+5293 58000000 setarg 0 
+5294 e0a18000 istore 3 ,contw 
+
+l2cap_malloc_into_fifo_no_push:
+5295 d8400000 arg 0 ,temp 
+5296 19627e00 copy timeup ,pdata 
+5297 98e0fe00 iadd queue ,pdata 
+
+l2cap_malloc_into_fifo_loop:
+5298 f9200400 qset1 temp 
+5299 18e08e01 increase 1 ,queue 
+529a 98e67c00 isub queue ,null 
+529b 2422d298 nbranch l2cap_malloc_into_fifo_loop ,zero 
+529c 1a4d7e00 lshift8 regb ,pdata 
+529d 9841fe00 ior temp ,pdata 
+529e 6001c260 store 3 ,mem_tx_fifo3 
+529f 20600000 rtn 
+
+l2cap_malloc_enough:
+52a0 4715c025 bpatchx patch25_3 ,mem_patch25 
+52a1 2040527e call l2cap_malloc_get_full_map 
+52a2 18e22600 copy queue ,regc 
+52a3 d8400000 arg 0 ,temp 
+52a4 d9600000 arg 0 ,timeup 
+
+l2cap_malloc_enough_loop:
+52a5 18e27e00 copy queue ,pdata 
+52a6 c00452b0 beq 8 ,l2cap_malloc_enough_end 
+52a7 6800c256 fetch 1 ,mem_used_map 
+52a8 afefffff qisolate1 pdata 
+52a9 2020d2b0 branch l2cap_malloc_enough_end ,true 
+52aa 18408480 increase 128 ,temp 
+52ab 18e08e01 increase 1 ,queue 
+52ac 1a227e00 copy rega ,pdata 
+52ad 98467c00 isub temp ,null 
+52ae 2022d2b0 branch l2cap_malloc_enough_end ,zero 
+52af 202152a5 branch l2cap_malloc_enough_loop ,positive 
+
+l2cap_malloc_enough_end:
+52b0 18427e00 copy temp ,pdata 
+52b1 9a267c00 isub rega ,null 
+52b2 242152b6 nbranch l2cap_malloc_enough_rtn ,positive 
+52b3 18e27e00 copy queue ,pdata 
+52b4 1a620400 copy regc ,temp 
+52b5 98461600 isub temp ,timeup 
+
+l2cap_malloc_enough_rtn:
+52b6 1a620e00 copy regc ,queue 
+52b7 20600000 rtn 
+
+l2cap_malloc_signal_channel:
+52b8 47164025 bpatchx patch25_4 ,mem_patch25 
+52b9 da20007f arg l2cap_signal_malloc_size ,rega 
+52ba 20405240 call l2cap_malloc 
+52bb 6001026b store 2 ,mem_l2cap_signal_tx_buff_ptr 
+52bc 1fe0fe04 increase 4 ,pdata 
+52bd 6001026d store 2 ,mem_l2cap_signal_tx_payload_ptr 
+52be 58000000 setarg 0 
+52bf 6001026f store 2 ,mem_l2cap_signal_tx_length 
+52c0 20600000 rtn 
+
+l2cap_get_signal_tx_buff:
+52c1 6801026b fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+52c2 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_get_signal_tx_payload:
+52c3 6801026d fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+52c4 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_malloc_sdp_channel:
+52c5 4716c025 bpatchx patch25_5 ,mem_patch25 
+52c6 da2000fa arg sdp_malloc_size ,rega 
+52c7 20405240 call l2cap_malloc 
+52c8 60010271 store 2 ,mem_sdp_tx_buff_ptr 
+52c9 1fe0fe04 increase 4 ,pdata 
+52ca 60010273 store 2 ,mem_sdp_tx_payload_ptr 
+52cb 58000000 setarg 0 
+52cc 60010275 store 2 ,mem_sdp_tx_pkt_length 
+52cd 20600000 rtn 
+
+l2cap_get_sdp_tx_buff:
+52ce 68010271 fetch 2 ,mem_sdp_tx_buff_ptr 
+52cf 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_get_sdp_tx_payload:
+52d0 68010273 fetch 2 ,mem_sdp_tx_payload_ptr 
+52d1 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_malloc_rfcomm_channel:
+52d2 47174025 bpatchx patch25_6 ,mem_patch25 
+52d3 20407e7c call push_stack 
+52d4 70028401 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+52d5 2040526e call l2cap_malloc_is_fifo_full 
+52d6 247a0000 nrtn blank 
+52d7 da20007f arg rfcomm_malloc_size ,rega 
+52d8 20405240 call l2cap_malloc 
+52d9 60010277 store 2 ,mem_rfcomm_tx_buff_ptr 
+52da 1fe0fe04 increase 4 ,pdata 
+52db 60010279 store 2 ,mem_rfcomm_tx_payload_ptr 
+52dc 58000000 setarg 0 
+52dd 6001027b store 2 ,mem_rfcomm_tx_pkt_length 
+52de 70028400 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+52df 20207e8c branch pop_stack 
+
+l2cap_get_rfcomm_tx_buff:
+52e0 68010277 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+52e1 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_util_pdata_to_contw:
+52e2 203a2a8c branch assert ,blank 
+52e3 1fe20a00 copy pdata ,contw 
+52e4 20600000 rtn 
+
+l2cap_lpm_save_calc_len:
+52e5 4717c025 bpatchx patch25_7 ,mem_patch25 
+52e6 da400000 arg 0 ,regb 
+52e7 da204257 arg mem_tx_fifo0_map ,rega 
+52e8 1a20a3fe increase -2 ,rega 
+
+l2cap_lpm_save_calc_len_loop:
+52e9 1a20a202 increase 2 ,rega 
+52ea 58004263 setarg mem_tx_fifo_end 
+52eb 9a267c00 isub rega ,null 
+52ec 2022d2f5 branch l2cap_lpm_save_calc_len_end ,zero 
+52ed ea208000 ifetch 1 ,rega 
+52ee 1a20a201 increase 1 ,rega 
+52ef 203a52e9 branch l2cap_lpm_save_calc_len_loop ,blank 
+52f0 ea290000 ifetcht 2 ,rega 
+52f1 e8410000 ifetch 2 ,temp 
+52f2 9a40a400 iadd regb ,regb 
+52f3 1a40a404 increase 4 ,regb 
+52f4 202052e9 branch l2cap_lpm_save_calc_len_loop 
+
+l2cap_lpm_save_calc_len_end:
+52f5 1a427e00 copy regb ,pdata 
+52f6 20600000 rtn 
+
+l2cap_lpm_get_wake_lock:
+52f7 d8e0000c arg wake_lock_l2cap_tx ,queue 
+52f8 20202c32 branch lpm_get_wake_lock 
+
+l2cap_lpm_put_wake_lock:
+52f9 d8e0000c arg wake_lock_l2cap_tx ,queue 
+52fa 20202c36 branch lpm_put_wake_lock 
+
+l2cap_lpm_save_txbuf:
+52fb 47184026 bpatchx patch26_0 ,mem_patch26 
+52fc 2040527e call l2cap_malloc_get_full_map 
+52fd 6800c256 fetch 1 ,mem_used_map 
+52fe 207a0000 rtn blank 
+52ff 204052e5 call l2cap_lpm_save_calc_len 
+5300 d8400100 arg l2cap_lpm_txbuf_len ,temp 
+5301 98467c00 isub temp ,null 
+5302 202152f7 branch l2cap_lpm_get_wake_lock ,positive 
+5303 204052f9 call l2cap_lpm_put_wake_lock 
+5304 d8a04263 arg mem_l2cap_lpm_txbuf ,contw 
+5305 da204257 arg mem_tx_fifo0 ,rega 
+
+l2cap_lpm_save_txbuf_loop:
+5306 58004263 setarg mem_tx_fifo_end 
+5307 9a267c00 isub rega ,null 
+5308 20628000 rtn zero 
+5309 ea208000 ifetch 1 ,rega 
+530a 1a20a201 increase 1 ,rega 
+530b 243a530f nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+530c e0a10000 istore 2 ,contw 
+530d 1a20a202 increase 2 ,rega 
+530e 20205306 branch l2cap_lpm_save_txbuf_loop 
+
+l2cap_lpm_save_txbuf_nempty:
+530f ea210000 ifetch 2 ,rega 
+5310 1a20a202 increase 2 ,rega 
+5311 1fe20c00 copy pdata ,contr 
+5312 e8c10000 ifetch 2 ,contr 
+5313 e0a10000 istore 2 ,contw 
+5314 1fe27200 copy pdata ,loopcnt 
+5315 1f20f202 increase 2 ,loopcnt 
+5316 20407f01 call memcpy 
+5317 20205306 branch l2cap_lpm_save_txbuf_loop 
+
+l2cap_lpm_load_txbuf:
+5318 4718c026 bpatchx patch26_1 ,mem_patch26 
+5319 2040527e call l2cap_malloc_get_full_map 
+531a 6800c256 fetch 1 ,mem_used_map 
+531b 207a0000 rtn blank 
+531c da204258 arg mem_tx_fifo0_ptr ,rega 
+531d 1a20a3fd increase -3 ,rega 
+531e d8c04263 arg mem_l2cap_lpm_txbuf ,contr 
+
+l2cap_lpm_load_txbuf_loop:
+531f 1a20a203 increase 3 ,rega 
+5320 58004264 setarg mem_tx_fifo_end + 1 
+5321 9a267c00 isub rega ,null 
+5322 20628000 rtn zero 
+5323 e8c10000 ifetch 2 ,contr 
+5324 203a531f branch l2cap_lpm_load_txbuf_loop ,blank 
+5325 1fe0fe04 increase 4 ,pdata 
+5326 1fe27200 copy pdata ,loopcnt 
+5327 18c22400 copy contr ,regb 
+5328 ea210000 ifetch 2 ,rega 
+5329 1fe20a00 copy pdata ,contw 
+532a 1a420c00 copy regb ,contr 
+532b 18c08dfe increase -2 ,contr 
+532c 20407f01 call memcpy 
+532d 2020531f branch l2cap_lpm_load_txbuf_loop 
+
+le_init_conn:
+532e 47194026 bpatchx patch26_2 ,mem_patch26 
+532f 7855fc00 disable wake 
+5330 70045501 jam 1 ,mem_le_conn_handle 
+5331 70043f03 jam 3 ,mem_le_state 
+5332 70045601 jam 1 ,mem_le_arq 
+5333 5fffffff setarg -1 
+5334 60010459 store 2 ,mem_le_event_count 
+5335 18007e00 force 0 ,pdata 
+5336 60008457 store 1 ,mem_le_ch 
+5337 60008462 store 1 ,mem_le_op 
+5338 6001c169 store 3 ,mem_sniff_rcv 
+5339 6001c16c store 3 ,mem_sniff_lost 
+533a 6002c403 store 5 ,mem_le_pcnt_tx 
+533b 79207e27 set1 39 ,pdata 
+533c 6002c408 store 5 ,mem_le_pcnt_rx 
+533d 7043dc01 jam 1 ,mem_le_txheader 
+533e 7043dd00 jam 0 ,mem_le_txlen 
+533f 202056ed branch le_supervision_flush 
+
+le_init_master:
+5340 4719c026 bpatchx patch26_3 ,mem_patch26 
+5341 7834fc00 enable master 
+5342 70044003 jam lemode_master ,mem_le_mode 
+5343 70047801 jam 1 ,mem_le_att_handle 
+5344 70445a01 jam 1 ,mem_le_search_handle_start 
+5345 5800ffff setarg 0xffff 
+5346 6001445c store 2 ,mem_le_search_handle_end 
+5347 18007e00 force 0 ,pdata 
+5348 6002c408 store 5 ,mem_le_pcnt_rx 
+5349 79207e27 set1 39 ,pdata 
+534a 6002c403 store 5 ,mem_le_pcnt_tx 
+534b 2020532e branch le_init_conn 
+
+le_init_slave:
+534c 471a4026 bpatchx patch26_4 ,mem_patch26 
+534d 7854fc00 disable master 
+534e 58000017 setarg 0x17 
+534f 600144a8 store 2 ,mem_le_remote_mtu 
+5350 70044001 jam lemode_slave ,mem_le_mode 
+5351 70436e00 jam 0 ,mem_le_adv_enable 
+5352 7000a000 jam 0 ,mem_lpm_current_mult 
+5353 7044c400 jam flag_le_pairing_null ,mem_le_pairing_state 
+5354 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+5355 6801046d fetch 2 ,mem_le_superto 
+5356 600144ba store 2 ,mem_le_init_superto 
+5357 68010441 fetch 2 ,mem_le_tsniff 
+5358 1feffe05 mul32 pdata ,5 ,pdata 
+5359 1ff1fe00 rshift4 pdata ,pdata 
+535a 6001046d store 2 ,mem_le_superto 
+535b 2020532e branch le_init_conn 
+
+le_dispatch:
+535c 204053c4 call le_enable 
+535d 204055e8 call le_scan 
+535e 204056f0 call le_adv 
+535f 202053ce branch le_disable 
+
+le_conn_dispatch:
+5360 471ac026 bpatchx patch26_5 ,mem_patch26 
+5361 204053c4 call le_enable 
+5362 204032f4 call app_process_ble 
+5363 68008440 fetch 1 ,mem_le_mode 
+5364 c001d366 beq lemode_master ,le_master_dispatch 
+5365 2020537a branch le_slave_dispatch 
+
+le_master_dispatch:
+5366 471b4026 bpatchx patch26_6 ,mem_patch26 
+5367 7834fc00 enable master 
+5368 204056e4 call le_supervision_update 
+5369 20215377 branch le_master_disconn ,positive 
+536a 20402c6c call check_ble_disabled 
+536b 20405413 call le_setup 
+536c 2040561e call le_prepare_tx 
+536d 7856fc00 disable match 
+536e 204054bf call le_transmit_receive_sifs 
+536f 24768000 nrtn match 
+5370 471bc026 bpatchx patch26_7 ,mem_patch26 
+5371 68008005 fetch 1 ,mem_le_conn_rcv 
+5372 1fe0fe01 increase 1 ,pdata 
+5373 60008005 store 1 ,mem_le_conn_rcv 
+5374 204055aa call le_acknowledge 
+5375 7854fc00 disable master 
+5376 20600000 rtn 
+
+le_master_disconn:
+5377 204053a9 call le_disconnect 
+5378 7854fc00 disable master 
+5379 20600000 rtn 
+
+le_slave_dispatch:
+537a 471c4027 bpatchx patch27_0 ,mem_patch27 
+537b 70450f00 jam 0 ,mem_le_md_count 
+537c 20407aaf call sp_calc_sequence_256 
+537d 20405c18 call le_secure_connect_sm 
+537e 78577c00 disable attempt 
+537f 204056e4 call le_supervision_update 
+5380 202153a9 branch le_slave_disconn ,positive 
+5381 20402c6c call check_ble_disabled 
+5382 20405413 call le_setup 
+5383 20405489 call le_receive_slave 
+5384 242c539b nbranch le_slave_unsync ,sync 
+5385 204053b7 call le_got_first_packet 
+5386 2036d388 branch le_slave_match ,match 
+5387 20205395 branch le_slave_cont 
+
+le_slave_match:
+5388 471cc027 bpatchx patch27_1 ,mem_patch27 
+5389 6800c50f fetch 1 ,mem_le_md_count 
+538a 1fe0fe01 pincrease 1 
+538b 6000c50f store 1 ,mem_le_md_count 
+538c c0065395 beq le_md_max_count ,le_slave_cont 
+538d 204055aa call le_acknowledge 
+538e 2040561e call le_prepare_tx 
+538f 204054c7 call le_transmit_norx 
+5390 2040567e call le_parse 
+5391 680141fb fetch 2 ,mem_cb_ble_transmit 
+5392 20407f9c call callback_func 
+5393 204053a0 call le_check_md 
+5394 203453a4 branch le_slave_more_data ,user 
+
+le_slave_cont:
+5395 471d4027 bpatchx patch27_2 ,mem_patch27 
+5396 20405be4 call le_pairing_sm 
+5397 20405bdb call le_check_paring_time 
+5398 20407d9c call check_51cmd 
+5399 68008462 fetch 1 ,mem_le_op 
+539a c281d3a9 bbit1 op_disconn ,le_slave_disconn 
+
+le_slave_unsync:
+539b 471dc027 bpatchx patch27_3 ,mem_patch27 
+539c 204057f4 call le_lpm_set_mult 
+539d 2040559d call le_update_channel_map 
+539e 20405575 call le_update_param 
+539f 20202841 branch calc_clke_offset 
+
+le_check_md:
+53a0 78547c00 disable user 
+53a1 c5157fe7 bmark1 mark_ble_rx_md ,enable_user 
+53a2 c514ffe7 bmark1 mark_ble_tx_md ,enable_user 
+53a3 20600000 rtn 
+
+le_slave_more_data:
+53a4 471e4027 bpatchx patch27_4 ,mem_patch27 
+53a5 78377c00 enable attempt 
+53a6 204054c1 call le_transmit_receive_sifs_notx 
+53a7 2036d388 branch le_slave_match ,match 
+53a8 20205395 branch le_slave_cont 
+
+le_slave_disconn:
+
+le_disconnect:
+53a9 471ec027 bpatchx patch27_5 ,mem_patch27 
+53aa 204053af call le_clear_connection_info 
+53ab 204033b4 call app_disconn_reason_collect_ble 
+53ac 20407a77 call sp_initialize_256 
+53ad 700a9915 jam bt_evt_le_disconnected ,mem_fifo_temp 
+53ae 20207d86 branch ui_ipc_send_event 
+
+le_clear_connection_info:
+53af 58000000 setarg 0 
+53b0 6004c4ff store 9 ,mem_le_tx_buff_used 
+53b1 70045500 jam 0 ,mem_le_conn_handle 
+53b2 70044000 jam lemode_idle ,mem_le_mode 
+53b3 70043f00 jam 0 ,mem_le_state 
+53b4 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+53b5 7044c400 jam flag_le_pairing_null ,mem_le_pairing_state 
+53b6 20600000 rtn 
+
+le_got_first_packet:
+53b7 471f4027 bpatchx patch27_6 ,mem_patch27 
+53b8 68008005 fetch 1 ,mem_le_conn_rcv 
+53b9 1fe0fe01 increase 1 ,pdata 
+53ba 60008005 store 1 ,mem_le_conn_rcv 
+53bb 6800843f fetch 1 ,mem_le_state 
+53bc c3818000 rtnbit1 lestate_got_first_packet 
+53bd 79207e03 set1 lestate_got_first_packet 
+53be 6000843f store 1 ,mem_le_state 
+53bf 680144ba fetch 2 ,mem_le_init_superto 
+53c0 6001046d store 2 ,mem_le_superto 
+53c1 58000000 setarg 0 
+53c2 600244e5 store 4 ,mem_le_transmit_window 
+53c3 20600000 rtn 
+
+le_enable:
+53c4 471fc027 bpatchx patch27_7 ,mem_patch27 
+53c5 70890f36 hjam 0x36 ,0x90f 
+53c6 70890b5f hjam 0x5f ,0x90b 
+53c7 783b7c00 enable le 
+53c8 70891407 hjam 7 ,rfen_ulp 
+53c9 20402c6c call check_ble_disabled 
+53ca 6800c1e0 fetch 1 ,mem_250k_freq_enable 
+53cb 207a0000 rtn blank 
+53cc 70890ab8 hjam 0xb8 ,0x90a 
+53cd 20600000 rtn 
+
+le_disable:
+53ce 47204028 bpatchx patch28_0 ,mem_patch28 
+53cf 70890f2e hjam 0x2e ,0x90f 
+53d0 70890bff hjam 0xff ,0x90b 
+53d1 785b7c00 disable le 
+53d2 70891403 hjam 3 ,rfen_ulp 
+53d3 db600000 arg 0 ,stop_watch 
+53d4 20600000 rtn 
+
+le_prep:
+53d5 7844fc00 disable enable_crc 
+53d6 7843fc00 disable enable_white 
+53d7 68018467 fetch 3 ,mem_le_crcinit 
+53d8 98001e00 iforce crc24_init 
+53d9 68008016 fetch 1 ,mem_le_ch_mapped 
+53da 1fed8400 reverse pdata ,temp 
+53db 79200401 set1 1 ,temp 
+53dc 18431c00 rshift temp ,white_init 
+53dd 20600000 rtn 
+
+lerx_setfreq:
+53de 204053e6 call le_setfreq 
+53df 2040291f call set_freq_rx 
+53e0 58000500 setarg param_pll_setup 
+53e1 20402a8f call sleep 
+53e2 20202924 branch rf_rx_enable 
+
+letx_setfreq:
+53e3 2036a939 branch txon ,match 
+
+letx_setfreq0:
+53e4 204053e6 call le_setfreq 
+53e5 20202933 branch set_freq_tx 
+
+le_setfreq:
+53e6 4720c028 bpatchx patch28_1 ,mem_patch28 
+53e7 20402918 call set_sync_on 
+53e8 6800848c fetch 1 ,mem_le_testtype 
+53e9 243a53f9 nbranch le_ctf_test ,blank 
+53ea 68008016 fetch 1 ,mem_le_ch_mapped 
+53eb 1fe67c24 sub pdata ,36 ,null 
+53ec 202153f3 branch le_ctf_normal ,positive 
+53ed 18000400 force 0 ,temp 
+53ee c1128000 rtneq 37 
+53ef 18000418 force 24 ,temp 
+53f0 c1130000 rtneq 38 
+53f1 1800044e force 78 ,temp 
+53f2 20600000 rtn 
+
+le_ctf_normal:
+53f3 1fe67c0a sub pdata ,10 ,null 
+53f4 202153f6 branch le_ctf_low ,positive 
+53f5 1fe0fe01 increase 1 ,pdata 
+
+le_ctf_low:
+53f6 1fe3fe00 lshift pdata ,pdata 
+53f7 1fe08402 add pdata ,2 ,temp 
+53f8 20600000 rtn 
+
+le_ctf_test:
+53f9 68008016 fetch 1 ,mem_le_ch_mapped 
+53fa 1fe38400 lshift pdata ,temp 
+53fb 20600000 rtn 
+
+le_sca_map:
+53fc d84001f4 arg 500 ,temp 
+53fd 207a0000 rtn blank 
+53fe d84000fa arg 250 ,temp 
+53ff c1008000 rtneq 1 
+5400 d8400096 arg 150 ,temp 
+5401 c1010000 rtneq 2 
+5402 d8400064 arg 100 ,temp 
+5403 c1018000 rtneq 3 
+5404 d840004b arg 75 ,temp 
+5405 c1020000 rtneq 4 
+5406 d8400032 arg 50 ,temp 
+5407 c1028000 rtneq 5 
+5408 d8400028 arg 40 ,temp 
+5409 c1030000 rtneq 6 
+540a d8400014 arg 20 ,temp 
+540b 20600000 rtn 
+
+le_adv_access:
+540c 588e89be setarg 0x8e89be 
+540d 1fed7e00 lshift8 pdata ,pdata 
+540e 1fe1fed6 or_into 0xd6 ,pdata 
+540f 98001200 iforce access 
+5410 58555555 setarg 0x555555 
+5411 60018467 store 3 ,mem_le_crcinit 
+5412 20600000 rtn 
+
+le_setup:
+5413 47214028 bpatchx patch28_2 ,mem_patch28 
+5414 78287c00 enable swfine 
+5415 68020463 fetch 4 ,mem_le_access 
+5416 98001200 iforce access 
+5417 20405466 call le_map_channel 
+5418 58000200 setarg 0x200 
+5419 2034d41c branch le_setup_master ,master 
+541a 6801044d fetch 2 ,mem_le_receive_window 
+541b 1fe37e00 rshift pdata ,pdata 
+
+le_setup_master:
+541c d8400500 arg param_pll_setup ,temp 
+541d 9840fe00 iadd temp ,pdata 
+541e 20402a24 call ahead_window 
+541f 1b427e00 deposit clke 
+5420 60030491 store 6 ,mem_le_rxon_ts 
+5421 20600000 rtn 
+
+le_next_adv_channel:
+5422 4721c028 bpatchx patch28_3 ,mem_patch28 
+5423 68008016 fetch 1 ,mem_le_ch_mapped 
+5424 c012d428 beq 37 ,le_next_adv_channel_curr_channel_37 
+5425 c013542e beq 38 ,le_next_adv_channel_curr_channel_38 
+5426 c013d434 beq 39 ,le_next_adv_channel_curr_channel_39 
+5427 20205434 branch le_next_adv_channel_curr_channel_39 
+
+le_next_adv_channel_curr_channel_37:
+5428 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+5429 284ffe01 isolate1 bit_adv_channel_map_38 ,temp 
+542a 2020d43f branch set_le_next_adv_channel_38 ,true 
+542b 284ffe02 isolate1 bit_adv_channel_map_39 ,temp 
+542c 2020d444 branch set_le_next_adv_channel_39 ,true 
+542d 2020543a branch set_le_next_adv_channel_37 
+
+le_next_adv_channel_curr_channel_38:
+542e 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+542f 284ffe02 isolate1 bit_adv_channel_map_39 ,temp 
+5430 2020d444 branch set_le_next_adv_channel_39 ,true 
+5431 284ffe00 isolate1 bit_adv_channel_map_37 ,temp 
+5432 2020d43a branch set_le_next_adv_channel_37 ,true 
+5433 2020543f branch set_le_next_adv_channel_38 
+
+le_next_adv_channel_curr_channel_39:
+5434 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+5435 284ffe00 isolate1 bit_adv_channel_map_37 ,temp 
+5436 2020d43a branch set_le_next_adv_channel_37 ,true 
+5437 284ffe01 isolate1 bit_adv_channel_map_38 ,temp 
+5438 2020d43f branch set_le_next_adv_channel_38 ,true 
+5439 20205444 branch set_le_next_adv_channel_39 
+
+set_le_next_adv_channel_37:
+543a 70001625 jam 37 ,mem_le_ch_mapped 
+543b 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+543c 79207e00 set1 bit_adv_channel_map_37 ,pdata 
+543d 60008ac2 store 1 ,mem_le_adv_channel_map_temp 
+543e 20600000 rtn 
+
+set_le_next_adv_channel_38:
+543f 70001626 jam 38 ,mem_le_ch_mapped 
+5440 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+5441 79207e01 set1 bit_adv_channel_map_38 ,pdata 
+5442 60008ac2 store 1 ,mem_le_adv_channel_map_temp 
+5443 20600000 rtn 
+
+set_le_next_adv_channel_39:
+5444 70001627 jam 39 ,mem_le_ch_mapped 
+5445 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+5446 79207e02 set1 bit_adv_channel_map_39 ,pdata 
+5447 60008ac2 store 1 ,mem_le_adv_channel_map_temp 
+5448 20600000 rtn 
+
+le_context_nexthop:
+5449 47224028 bpatchx patch28_4 ,mem_patch28 
+544a 1a208c01 add rega ,coffset_mode ,contr 
+544b e8c08000 ifetch 1 ,contr 
+544c c4000000 rtnbit0 mode_le 
+544d 1a208a1a add rega ,coffset_le_event_cnt ,contw 
+544e e8a10000 ifetch 2 ,contw 
+544f 1fe0fe01 increase 1 ,pdata 
+5450 e0a10000 istore 2 ,contw 
+5451 1a208c19 add rega ,coffset_le_hop ,contr 
+5452 e8c08000 ifetch 1 ,contr 
+5453 1a208a18 add rega ,coffset_le_ch ,contw 
+5454 e8a88000 ifetcht 1 ,contw 
+5455 9840fe00 iadd temp ,pdata 
+5456 1fe67c24 sub pdata ,36 ,null 
+5457 20215459 branch le_nexthop_nowrap ,positive 
+5458 1fe0ffdb increase -37 ,pdata 
+
+le_nexthop_nowrap:
+5459 e0a08000 istore 1 ,contw 
+545a 20600000 rtn 
+
+le_calc_channel_map:
+545b 4722c028 bpatchx patch28_5 ,mem_patch28 
+545c 6802846f fetch 5 ,mem_le_channel_map 
+545d 18000400 force 0 ,temp 
+545e 18007225 force 37 ,loopcnt 
+
+le_count_channels_loop:
+545f c3005461 bbit0 0 ,le_count_channels_notused 
+5460 18408401 increase 1 ,temp 
+
+le_count_channels_notused:
+5461 1fe37e00 rshift pdata ,pdata 
+5462 c200545f loop le_count_channels_loop 
+5463 1840ffff add temp ,-1 ,pdata 
+5464 60008461 store 1 ,mem_le_channels 
+5465 20600000 rtn 
+
+le_map_channel:
+5466 47234028 bpatchx patch28_6 ,mem_patch28 
+5467 68008457 fetch 1 ,mem_le_ch 
+5468 98000e00 iforce queue 
+5469 680a846f fetcht 5 ,mem_le_channel_map 
+546a a84fffff qisolate1 temp 
+546b 2020d47c branch le_map_channel_end ,true 
+
+le_map_channel_next:
+546c 4723c028 bpatchx patch28_7 ,mem_patch28 
+546d 68008461 fetch 1 ,mem_le_channels 
+546e 98e67e00 isub queue ,pdata 
+546f 20215472 branch le_map_channel_cont ,positive 
+5470 1fe60fff sub pdata ,-1 ,queue 
+5471 2020546c branch le_map_channel_next 
+
+le_map_channel_cont:
+5472 18e27200 copy queue ,loopcnt 
+5473 18000e00 force 0 ,queue 
+
+le_map_channel_loop:
+5474 a84fffff qisolate1 temp 
+5475 2020d477 branch le_map_channel_skip ,true 
+5476 1f20f201 increase 1 ,loopcnt 
+
+le_map_channel_skip:
+5477 1f227e00 deposit loopcnt 
+5478 203a547c branch le_map_channel_end ,blank 
+5479 18e08e01 increase 1 ,queue 
+547a 1f20f3ff increase -1 ,loopcnt 
+547b 20205474 branch le_map_channel_loop 
+
+le_map_channel_end:
+547c 18e27e00 deposit queue 
+547d 60008016 store 1 ,mem_le_ch_mapped 
+547e 20600000 rtn 
+
+le_wait_tx:
+547f 2034d482 branch le_wait_master ,master 
+5480 37c18200 until null ,timeout 
+5481 20600000 rtn 
+
+le_wait_master:
+5482 d9600ea0 arg 0xea0 ,timeup 
+5483 34730200 until clkn_rt ,meet 
+5484 20600000 rtn 
+
+le_receive_adv:
+5485 78487c00 disable swfine 
+5486 6801436c fetch 2 ,mem_le_scan_window 
+5487 1fe21600 copy pdata ,timeup 
+5488 2020548e branch le_receive_packet 
+
+le_receive_slave:
+5489 47244029 bpatchx patch29_0 ,mem_patch29 
+548a 78287c00 enable swfine 
+548b 6801044d fetch 2 ,mem_le_receive_window 
+548c 680a44e5 fetcht 4 ,mem_le_transmit_window 
+548d 98409600 iadd temp ,timeup 
+
+le_receive_packet:
+548e 204053de call lerx_setfreq 
+
+le_receive_rxon:
+548f 4724c029 bpatchx patch29_1 ,mem_patch29 
+5490 204053d5 call le_prep 
+5491 7856fc00 disable match 
+5492 7826fc00 enable decode_fec0 
+5493 7830fc00 enable is_rx 
+5494 78507c00 disable is_tx 
+5495 19623600 copy timeup ,stop_watch 
+5496 37c18400 correlate null ,timeout 
+5497 2037549a branch le_receive_on_attempt ,attempt 
+5498 1b420400 copy clke ,temp 
+5499 600b009a storet 6 ,mem_sync_clke 
+
+le_receive_on_attempt:
+549a 242c264d nbranch end_of_packet ,sync 
+549b 203754a1 branch le_receive_skip ,attempt 
+549c dd2001e0 arg param_clke_cal_le ,clke_rt 
+549d 1c225000 copy bt_clk ,clke_bt 
+549e 6800843f fetch 1 ,mem_le_state 
+549f c301d4a1 bbit0 lestate_got_first_packet ,le_receive_skip 
+54a0 2055ab05 call lpm_adjust_clk ,wake 
+
+le_receive_skip:
+54a1 47254029 bpatchx patch29_2 ,mem_patch29 
+54a2 204029bb call save_rssi 
+54a3 7823fc00 enable enable_white 
+54a4 7824fc00 enable enable_crc 
+54a5 09800008 parse demod ,bucket ,8 
+54a6 19897e00 rshift3 pwindow ,pdata 
+54a7 600082d9 store 1 ,mem_le_rxbuf 
+54a8 09800008 parse demod ,bucket ,8 
+54a9 19897e00 rshift3 pwindow ,pdata 
+54aa e0a08000 istore 1 ,contw 
+54ab 1fe1723f and pdata ,0x3f ,loopcnt 
+54ac 2022d4b1 branch lerx_nopayload ,zero 
+
+lerx_loop:
+54ad 09800008 parse demod ,bucket ,8 
+54ae 19897e00 rshift3 pwindow ,pdata 
+54af e0a08000 istore 1 ,contw 
+54b0 c20054ad loop lerx_loop 
+
+lerx_nopayload:
+54b1 4725c029 bpatchx patch29_3 ,mem_patch29 
+54b2 09800018 parse demod ,bucket ,24 
+54b3 78287c00 enable swfine 
+54b4 db600664 arg param_sifs ,stop_watch 
+54b5 1fef7e00 rshift32 pdata ,pdata 
+54b6 1ff17e00 rshift16 pdata ,pdata 
+54b7 e0a18000 istore 3 ,contw 
+54b8 2023264d branch end_of_packet ,crc_failed 
+54b9 7836fc00 enable match 
+54ba 68008017 fetch 1 ,mem_last_freq 
+54bb 1fe0a200 add pdata ,0 ,rega 
+54bc 20402981 call rf_write_freq 
+54bd 7846fc00 disable decode_fec0 
+54be 20202918 branch set_sync_on 
+
+le_transmit_receive_sifs:
+54bf 47264029 bpatchx patch29_4 ,mem_patch29 
+54c0 204054c9 call le_transmit 
+
+le_transmit_receive_sifs_notx:
+54c1 68088017 fetcht 1 ,mem_last_freq 
+54c2 2040291f call set_freq_rx 
+54c3 20402924 call rf_rx_enable 
+54c4 78287c00 enable swfine 
+54c5 d960157c arg 5500 ,timeup 
+54c6 2020548f branch le_receive_rxon 
+
+le_transmit_norx:
+54c7 204054c9 call le_transmit 
+54c8 2020264d branch end_of_packet 
+
+le_transmit:
+54c9 4726c029 bpatchx patch29_5 ,mem_patch29 
+54ca 204053d5 call le_prep 
+54cb 204053e3 call letx_setfreq 
+54cc 202054cd branch le_transmit0 
+
+le_transmit0:
+54cd 79202a00 set1 txgfsk ,radio_ctrl 
+54ce 782efc00 enable encode_fec0 
+54cf 78307c00 enable is_tx 
+54d0 7850fc00 disable is_rx 
+54d1 2040547f call le_wait_tx 
+54d2 19317e00 rshift16 access ,pdata 
+54d3 1fecfe00 rshift8 pdata ,pdata 
+54d4 1ff1fe00 rshift4 pdata ,pdata 
+54d5 08008628 inject mod ,40 
+54d6 7823fc00 enable enable_white 
+54d7 7824fc00 enable enable_crc 
+54d8 47274029 bpatchx patch29_6 ,mem_patch29 
+54d9 6800c3dc fetch 1 ,mem_le_txheader 
+54da 08008608 inject mod ,8 
+54db e8c08000 ifetch 1 ,contr 
+54dc 1fe1723f and pdata ,0x3f ,loopcnt 
+54dd 08008608 inject mod ,8 
+54de 2022d4e2 branch letr_nopayload ,zero 
+
+letr_loop:
+54df e8c08000 ifetch 1 ,contr 
+54e0 08008608 inject mod ,8 
+54e1 c20054df loop letr_loop 
+
+letr_nopayload:
+54e2 78247c00 enable enable_parity 
+54e3 08008618 inject mod ,24 
+54e4 78447c00 disable enable_parity 
+54e5 37d38200 until null ,tx_clear 
+54e6 20000064 nop 100 
+54e7 784efc00 disable encode_fec0 
+54e8 20600000 rtn 
+
+le_send_adv_ind:
+54e9 4727c029 bpatchx patch29_7 ,mem_patch29 
+54ea 6800c484 fetch 1 ,mem_le_adv_type 
+54eb c000d4f9 beq adv_direct_ind ,le_send_adv_direct_ind 
+54ec 6800c485 fetch 1 ,mem_le_adv_own_addr_type 
+54ed 1ff27e00 lshift4 pdata ,pdata 
+54ee 1febfe00 lshift2 pdata ,pdata 
+54ef 6000c3dc store 1 ,mem_le_txheader 
+54f0 6808c36f fetcht 1 ,mem_le_adv_data_len 
+54f1 1840fe06 add temp ,6 ,pdata 
+54f2 6000c3dd store 1 ,mem_le_txlen 
+54f3 680344a0 fetch 6 ,mem_le_lap 
+54f4 600343de store 6 ,mem_le_txpayload 
+54f5 18427200 copy temp ,loopcnt 
+54f6 d8c04370 arg mem_le_adv_data ,contr 
+54f7 20407ef4 call memcpy_fast 
+54f8 20205504 branch le_send_adv_transmit 
+
+le_send_adv_direct_ind:
+54f9 6800c486 fetch 1 ,mem_le_adv_direct_addr_type 
+54fa 1ff27e00 lshift4 pdata ,pdata 
+54fb 1febfe00 lshift2 pdata ,pdata 
+54fc 1fe0fe01 increase 1 ,pdata 
+54fd 6000c3dc store 1 ,mem_le_txheader 
+54fe 5800000c setarg 12 
+54ff 6000c3dd store 1 ,mem_le_txlen 
+5500 680344a0 fetch 6 ,mem_le_lap 
+5501 600343de store 6 ,mem_le_txpayload 
+5502 680341d0 fetch 6 ,mem_hci_plap 
+5503 e0a30000 istore 6 ,contw 
+
+le_send_adv_transmit:
+5504 4728402a bpatchx patch2a_0 ,mem_patch2a 
+5505 68008000 fetch 1 ,mem_le_adv_transmit 
+5506 1fe0fe01 increase 1 ,pdata 
+5507 60008000 store 1 ,mem_le_adv_transmit 
+5508 db600708 arg 1800 ,stop_watch 
+5509 7856fc00 disable match 
+550a 202054bf branch le_transmit_receive_sifs 
+
+le_send_scan_request:
+550b 4728c02a bpatchx patch2a_1 ,mem_patch2a 
+550c 6800c49e fetch 1 ,mem_le_scan_type 
+550d c1808000 rtnne le_scan_type_active 
+550e 68008000 fetch 1 ,mem_le_adv_transmit 
+550f 1fe0fe01 increase 1 ,pdata 
+5510 60008000 store 1 ,mem_le_adv_transmit 
+5511 d8400c03 arg 0x0c03 ,temp 
+5512 6800c49f fetch 1 ,mem_le_scan_own_addr_type 
+5513 7d3a0406 nsetflag blank ,le_sender_addr_bit ,temp 
+5514 1a227e00 copy rega ,pdata 
+5515 7d3a0407 nsetflag blank ,le_receiver_addr_bit ,temp 
+5516 600943dc storet 2 ,mem_le_txheader 
+5517 680344a0 fetch 6 ,mem_le_lap 
+5518 e0a30000 istore 6 ,contw 
+5519 6803044f fetch 6 ,mem_le_plap 
+551a e0a30000 istore 6 ,contw 
+551b 202054bf branch le_transmit_receive_sifs 
+
+le_send_scan_response:
+551c 4729402a bpatchx patch2a_2 ,mem_patch2a 
+551d d8400004 arg scan_rsp ,temp 
+551e 6800c485 fetch 1 ,mem_le_adv_own_addr_type 
+551f 7d3a0406 nsetflag blank ,le_sender_addr_bit ,temp 
+5520 6008c3dc storet 1 ,mem_le_txheader 
+5521 6808c38f fetcht 1 ,mem_le_scan_data_len 
+5522 1840fe06 add temp ,6 ,pdata 
+5523 6000c3dd store 1 ,mem_le_txlen 
+5524 680344a0 fetch 6 ,mem_le_lap 
+5525 600343de store 6 ,mem_le_txpayload 
+5526 d8c04390 arg mem_le_scan_data ,contr 
+5527 18427200 copy temp ,loopcnt 
+5528 20407ef4 call memcpy_fast 
+5529 204054c7 call le_transmit_norx 
+552a 20205706 branch le_adv_not_match 
+
+le_connect_request:
+552b 4729c02a bpatchx patch2a_3 ,mem_patch2a 
+552c 18007fff force -1 ,pdata 
+552d 38080001 setsect 2 ,1 
+552e 6002846f store 5 ,mem_le_channel_map 
+552f 2040545b call le_calc_channel_map 
+5530 18007204 force 4 ,loopcnt 
+5531 d8a00463 arg mem_le_access ,contw 
+5532 2040630d call generate_random_loop 
+5533 6801449c fetch 2 ,mem_le_timeout 
+5534 6001046d store 2 ,mem_le_superto 
+
+le_con_req_hop_retry:
+5535 180a7e00 random pdata 
+5536 1fe17e0f and_into 0xf ,pdata 
+5537 1fe67c04 sub pdata ,4 ,null 
+5538 20215535 branch le_con_req_hop_retry ,positive 
+5539 60008458 store 1 ,mem_le_hop 
+553a 600086e6 store 1 ,mem_tmp1 
+553b 472a402a bpatchx patch2a_4 ,mem_patch2a 
+553c 68094367 fetcht 2 ,mem_le_conn_interval 
+553d 60090441 storet 2 ,mem_le_tsniff 
+553e 18422600 copy temp ,regc 
+553f 1c40fe07 add clkn_bt ,7 ,pdata 
+5540 9a66fc00 idiv regc 
+5541 20407f86 call wait_div_end 
+5542 18072200 remainder rega 
+5543 9a267e00 isub rega ,pdata 
+5544 9a60fe00 iadd regc ,pdata 
+5545 68094365 fetcht 2 ,mem_le_dsniff 
+5546 9840fe00 iadd temp ,pdata 
+5547 60020443 store 4 ,mem_le_anchor 
+5548 9c462200 isub clkn_bt ,rega 
+5549 1a20a3fa increase -6 ,rega 
+554a da402205 arg 0x2205 ,regb 
+554b 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+554c 7d3a2406 nsetflag blank ,le_sender_addr_bit ,regb 
+554d 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+554e 7d3a2407 nsetflag blank ,le_receiver_addr_bit ,regb 
+554f 1a427e00 copy regb ,pdata 
+5550 600143dc store 2 ,mem_le_txheader 
+5551 680344a0 fetch 6 ,mem_le_lap 
+5552 e0a30000 istore 6 ,contw 
+5553 6803044f fetch 6 ,mem_le_plap 
+5554 e0a30000 istore 6 ,contw 
+5555 68020463 fetch 4 ,mem_le_access 
+5556 e0a20000 istore 4 ,contw 
+5557 180a7e00 random pdata 
+5558 e0a10000 istore 2 ,contw 
+5559 180a7e00 random pdata 
+555a e0a08000 istore 1 ,contw 
+555b 18007e02 force 2 ,pdata 
+555c e0a08000 istore 1 ,contw 
+555d 1a2b7e00 rshift2 rega ,pdata 
+555e e0a10000 istore 2 ,contw 
+555f 1a6b7e00 rshift2 regc ,pdata 
+5560 e0a10000 istore 2 ,contw 
+5561 472ac02a bpatchx patch2a_5 ,mem_patch2a 
+5562 58000000 setarg 0 
+5563 e0a10000 istore 2 ,contw 
+5564 6801449c fetch 2 ,mem_le_timeout 
+5565 e0a10000 istore 2 ,contw 
+5566 6802846f fetch 5 ,mem_le_channel_map 
+5567 e0a28000 istore 5 ,contw 
+5568 68008458 fetch 1 ,mem_le_hop 
+5569 d84000a0 arg param_le_sca ,temp 
+556a 9841fe00 ior temp ,pdata 
+556b e0a08000 istore 1 ,contw 
+556c 204054c7 call le_transmit_norx 
+556d 580043dc setarg mem_le_txheader 
+556e 1fe08c12 add pdata ,18 ,contr 
+556f e8c18000 ifetch 3 ,contr 
+5570 60018467 store 3 ,mem_le_crcinit 
+5571 20600000 rtn 
+
+le_init_adv:
+5572 472b402a bpatchx patch2a_6 ,mem_patch2a 
+5573 7854fc00 disable master 
+5574 2020540c branch le_adv_access 
+
+le_update_param:
+5575 6800843f fetch 1 ,mem_le_state 
+5576 c4028000 rtnbit0 lestate_update_param 
+5577 68010459 fetch 2 ,mem_le_event_count 
+5578 6809045f fetcht 2 ,mem_le_instant 
+5579 98467e00 isub temp ,pdata 
+557a 24610000 nrtn positive 
+557b 60010a9a store 2 ,mem_pdatatemp 
+557c 472bc02a bpatchx patch2a_7 ,mem_patch2a 
+557d 6800843f fetch 1 ,mem_le_state 
+557e 793ffe05 set0 lestate_update_param ,pdata 
+557f 793ffe03 set0 lestate_got_first_packet ,pdata 
+5580 6000843f store 1 ,mem_le_state 
+5581 68020443 fetch 4 ,mem_le_anchor 
+5582 68090441 fetcht 2 ,mem_le_tsniff 
+5583 60090aa2 storet 2 ,mem_temp 
+5584 98462200 isub temp ,rega 
+5585 472c402b bpatchx patch2b_0 ,mem_patch2b 
+5586 6800c3d3 fetch 1 ,mem_le_new_param 
+5587 6000846a store 1 ,mem_le_window_size 
+5588 e8c90000 ifetcht 2 ,contr 
+5589 e8c10000 ifetch 2 ,contr 
+558a 1febfe00 lshift2 pdata ,pdata 
+558b 60010441 store 2 ,mem_le_tsniff 
+558c 184b8400 lshift2 temp ,temp 
+558d 9840fe00 iadd temp ,pdata 
+558e e8ca0000 ifetcht 4 ,contr 
+558f 600a046b storet 4 ,mem_le_slave_latency 
+5590 9a20fe00 iadd rega ,pdata 
+5591 1fe22800 copy pdata ,regab 
+5592 68010441 fetch 2 ,mem_le_tsniff 
+5593 68090aa2 fetcht 2 ,mem_temp 
+5594 98467e00 isub temp ,pdata 
+5595 68090a9a fetcht 2 ,mem_pdatatemp 
+5596 984ffe00 imul32 temp ,pdata 
+5597 9a80fe00 iadd regab ,pdata 
+5598 60020443 store 4 ,mem_le_anchor 
+5599 20405713 call le_receive_window_size 
+559a 6801046d fetch 2 ,mem_le_superto 
+559b 600144ba store 2 ,mem_le_init_superto 
+559c 20600000 rtn 
+
+le_update_channel_map:
+559d 472cc02b bpatchx patch2b_1 ,mem_patch2b 
+559e 6800843f fetch 1 ,mem_le_state 
+559f c4030000 rtnbit0 lestate_update_map 
+55a0 68010459 fetch 2 ,mem_le_event_count 
+55a1 6809045f fetcht 2 ,mem_le_instant 
+55a2 98467e00 isub temp ,pdata 
+55a3 24610000 nrtn positive 
+55a4 6800843f fetch 1 ,mem_le_state 
+55a5 793ffe06 set0 lestate_update_map ,pdata 
+55a6 6000843f store 1 ,mem_le_state 
+55a7 6802c3ce fetch 5 ,mem_le_new_map 
+55a8 6002846f store 5 ,mem_le_channel_map 
+55a9 2020545b branch le_calc_channel_map 
+
+le_acknowledge:
+55aa 472d402b bpatchx patch2b_2 ,mem_patch2b 
+55ab 204056ed call le_supervision_flush 
+55ac 204055c0 call le_check_wak 
+55ad 680082d9 fetch 1 ,mem_le_rxbuf 
+55ae 2feffe04 isolate1 md ,pdata 
+55af 7920802a setflag true ,mark_ble_rx_md ,mark 
+55b0 1fe37e00 rshift pdata ,pdata 
+55b1 9842fe00 ixor temp ,pdata 
+55b2 2feffe02 isolate1 nesn ,pdata 
+55b3 7920800f setflag true ,mark_old_packet ,mark 
+55b4 c6078000 rtnmark1 mark_old_packet 
+55b5 680082da fetch 1 ,mem_le_rxbuf + 1 
+55b6 203a55bc branch le_ack_unenc ,blank 
+55b7 6800843f fetch 1 ,mem_le_state 
+55b8 c30255bc bbit0 lestate_encryption ,le_ack_unenc 
+55b9 2040748d call load_sk 
+55ba 204073fb call le_decrypt 
+55bb 247a0000 nrtn blank 
+
+le_ack_unenc:
+55bc 68088456 fetcht 1 ,mem_le_arq 
+55bd 79400402 setflip nesn ,temp 
+55be 60088456 storet 1 ,mem_le_arq 
+55bf 20600000 rtn 
+
+le_check_wak:
+55c0 472dc02b bpatchx patch2b_3 ,mem_patch2b 
+55c1 68088456 fetcht 1 ,mem_le_arq 
+55c2 284c0005 isolate0 wak ,temp 
+55c3 20608000 rtn true 
+55c4 680082d9 fetch 1 ,mem_le_rxbuf 
+55c5 1fe3fe00 lshift pdata ,pdata 
+55c6 9842fe00 ixor temp ,pdata 
+55c7 c4018000 rtnbit0 sn 
+55c8 793f8405 set0 wak ,temp 
+55c9 79400403 setflip sn ,temp 
+55ca 60088456 storet 1 ,mem_le_arq 
+55cb 28400603 compare 3 ,temp ,3 
+55cc 24608000 nrtn true 
+55cd 6800c3de fetch 1 ,mem_le_txpayload 
+55ce c002d5d2 beq ll_start_enc_req ,le_set_enc 
+55cf 6800c4c5 fetch 1 ,mem_le_enc_state 
+55d0 c00155d6 beq flag_le_enc_pause ,le_clear_enc 
+55d1 20600000 rtn 
+
+le_set_enc:
+55d2 6800843f fetch 1 ,mem_le_state 
+55d3 79207e04 set1 lestate_encryption ,pdata 
+55d4 6000843f store 1 ,mem_le_state 
+55d5 20600000 rtn 
+
+le_clear_enc:
+55d6 472e402b bpatchx patch2b_4 ,mem_patch2b 
+55d7 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+55d8 dfe00000 arg 0 ,pdata 
+55d9 6002440d store 4 ,mem_le_last_mic 
+55da 6002c403 store 5 ,mem_le_pcnt_tx 
+55db 79207e27 set1 39 ,pdata 
+55dc 6002c408 store 5 ,mem_le_pcnt_rx 
+55dd 6800843f fetch 1 ,mem_le_state 
+55de 793ffe04 set0 lestate_encryption ,pdata 
+55df 6000843f store 1 ,mem_le_state 
+55e0 20600000 rtn 
+
+le_wait_adv:
+55e1 472ec02b bpatchx patch2b_5 ,mem_patch2b 
+55e2 20405422 call le_next_adv_channel 
+55e3 20405485 call le_receive_adv 
+55e4 68008001 fetch 1 ,mem_le_adv_waitcnt 
+55e5 1fe0fe01 increase 1 ,pdata 
+55e6 60008001 store 1 ,mem_le_adv_waitcnt 
+55e7 20600000 rtn 
+
+le_scan:
+55e8 472f402b bpatchx patch2b_6 ,mem_patch2b 
+55e9 6800c369 fetch 1 ,mem_le_scan_enable 
+55ea c1808000 rtnne le_scan_enable 
+55eb d8e00002 arg le_scan_interval_timer ,queue 
+55ec 20407f16 call timer_check 
+55ed 247a0000 nrtn blank 
+55ee 6801436a fetch 2 ,mem_le_scan_interval 
+55ef 6809436c fetcht 2 ,mem_le_scan_window 
+55f0 98467e00 isub temp ,pdata 
+55f1 d8e00002 arg le_scan_interval_timer ,queue 
+55f2 20407f08 call timer_init 
+55f3 7854fc00 disable master 
+55f4 20405572 call le_init_adv 
+55f5 204055e1 call le_wait_adv 
+55f6 24768000 nrtn match 
+55f7 472fc02b bpatchx patch2b_7 ,mem_patch2b 
+55f8 680302db fetch 6 ,mem_le_rxbuf + 2 
+55f9 6003044f store 6 ,mem_le_plap 
+55fa 68008002 fetch 1 ,mem_le_adv_rcv 
+55fb 1fe0fe01 increase 1 ,pdata 
+55fc 60008002 store 1 ,mem_le_adv_rcv 
+55fd 20405608 call le_create_conn 
+55fe 20748000 rtn master 
+55ff 2040550b call le_send_scan_request 
+5600 24768000 nrtn match 
+5601 4730402c bpatchx patch2c_0 ,mem_patch2c 
+5602 68008004 fetch 1 ,mem_le_scanrsp_rcv 
+5603 1fe0fe01 increase 1 ,pdata 
+5604 60008004 store 1 ,mem_le_scanrsp_rcv 
+5605 680482e1 fetch 9 ,mem_le_rxbuf + 8 
+5606 60048101 store 9 ,mem_tmp_buffer 
+5607 20600000 rtn 
+
+le_create_conn:
+5608 4730c02c bpatchx patch2c_1 ,mem_patch2c 
+5609 6800849b fetch 1 ,mem_cmd_le_create_conn 
+560a c18d8000 rtnne hci_cmd_le_create_conn 
+560b 6803044f fetch 6 ,mem_le_plap 
+560c 680b448f fetcht 6 ,mem_le_conn_peer_addr 
+560d 98467c00 isub temp ,null 
+560e 24628000 nrtn zero 
+560f 2040223b call context_new 
+5610 24628000 nrtn zero 
+5611 2040552b call le_connect_request 
+5612 20405340 call le_init_master 
+5613 4731402c bpatchx patch2c_2 ,mem_patch2c 
+5614 7041ce00 jam 0 ,mem_hci_cmd 
+5615 70047600 jam 0 ,mem_le_peer_sca 
+5616 70436900 jam 0 ,mem_le_scan_enable 
+5617 70049b00 jam 0 ,mem_cmd_le_create_conn 
+5618 20202223 branch context_save 
+
+le_scan_check_sender_addr_type:
+5619 da200001 arg 1 ,rega 
+561a 680082d9 fetch 1 ,mem_le_rxbuf 
+561b c3830000 rtnbit1 le_sender_addr_bit 
+561c da200000 arg 0 ,rega 
+561d 20600000 rtn 
+
+le_prepare_tx:
+561e 4731c02c bpatchx patch2c_3 ,mem_patch2c 
+561f 68008456 fetch 1 ,mem_le_arq 
+5620 c3828000 rtnbit1 wak 
+5621 20405642 call le_check_tx_md 
+5622 20405873 call le_fifo_get_first_tx_ptr 
+5623 203a5664 branch le_send_empty ,blank 
+5624 e8c08000 ifetch 1 ,contr 
+5625 e8c88000 ifetcht 1 ,contr 
+5626 18422200 copy temp ,rega 
+5627 9a267e00 isub rega ,pdata 
+5628 d840001b arg le_max_paket_len ,temp 
+5629 20407fdd call not_greater_than 
+562a 1fe20400 copy pdata ,temp 
+562b e8c08000 ifetch 1 ,contr 
+562c 1fe20200 copy pdata ,type 
+562d 1a227e00 copy rega ,pdata 
+562e 98c08c00 iadd contr ,contr 
+562f d8a043de arg mem_le_txpayload ,contw 
+5630 18427200 copy temp ,loopcnt 
+5631 20407f01 call memcpy 
+5632 20405654 call le_update_tx_type 
+5633 20405666 call le_send_packet 
+5634 20405873 call le_fifo_get_first_tx_ptr 
+5635 e8c08000 ifetch 1 ,contr 
+5636 1fe22200 copy pdata ,rega 
+5637 18c22600 copy contr ,regc 
+5638 e8c88000 ifetcht 1 ,contr 
+5639 18422400 copy temp ,regb 
+563a 9a467e00 isub regb ,pdata 
+563b d840001b arg le_max_paket_len ,temp 
+563c 20407fdd call not_greater_than 
+563d 9a40fe00 iadd regb ,pdata 
+563e e2608000 istore 1 ,regc 
+563f 9a267c00 isub rega ,null 
+5640 24628000 nrtn zero 
+5641 20205896 branch le_fifo_release_first_node 
+
+le_check_tx_md:
+5642 20405649 call le_check_continue 
+5643 c6148000 rtnmark1 mark_ble_tx_md 
+5644 6800c4e9 fetch 1 ,mem_le_configuration 
+5645 c3015652 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+5646 20405876 call le_fifo_get_second_tx_ptr 
+5647 203a5652 branch le_clear_md ,blank 
+5648 20205650 branch le_set_md 
+
+le_check_continue:
+5649 20405873 call le_fifo_get_first_tx_ptr 
+564a 203a5652 branch le_clear_md ,blank 
+564b e8c08000 ifetch 1 ,contr 
+564c e8c88000 ifetcht 1 ,contr 
+564d 98467e00 isub temp ,pdata 
+564e 1fe67c1b sub pdata ,le_max_paket_len ,null 
+564f 20215652 branch le_clear_md ,positive 
+
+le_set_md:
+5650 79200029 set1 mark_ble_tx_md ,mark 
+5651 20600000 rtn 
+
+le_clear_md:
+5652 793f8029 set0 mark_ble_tx_md ,mark 
+5653 20600000 rtn 
+
+le_update_tx_type:
+5654 1a227e00 copy rega ,pdata 
+5655 207a0000 rtn blank 
+5656 d8200001 arg llid_continue ,type 
+5657 20600000 rtn 
+
+le_att_check_notification_enable:
+5658 4732402c bpatchx patch2c_4 ,mem_patch2c 
+5659 18408401 increase 1 ,temp 
+565a 2040576a call le_att_get_handle_ptr 
+565b 18c08dfe increase -2 ,contr 
+565c e8c10000 ifetch 2 ,contr 
+565d d8402902 arg client_charactertic_configuration ,temp 
+565e 98467c00 isub temp ,null 
+565f 24628000 nrtn zero 
+5660 18c08c01 increase 1 ,contr 
+5661 18c22200 copy contr ,rega 
+5662 e8c08000 ifetch 1 ,contr 
+5663 20600000 rtn 
+
+le_send_empty:
+5664 18000400 force 0 ,temp 
+5665 18000201 force 1 ,type 
+
+le_send_packet:
+5666 4732c02c bpatchx patch2c_5 ,mem_patch2c 
+5667 6008c3dd storet 1 ,mem_le_txlen 
+5668 68088456 fetcht 1 ,mem_le_arq 
+5669 79200405 set1 wak ,temp 
+566a 18417efc and temp ,0xfc ,pdata 
+566b 9821fe00 ior type ,pdata 
+566c 60008456 store 1 ,mem_le_arq 
+566d 1fe17e1f and_into 0x1f ,pdata 
+566e 280ffe29 isolate1 mark_ble_tx_md ,mark 
+566f 7920fe04 setflag true ,md ,pdata 
+5670 6000c3dc store 1 ,mem_le_txheader 
+5671 6800c3dc fetch 1 ,mem_le_txheader 
+5672 28200601 compare 1 ,type ,3 
+5673 2420d676 nbranch le_send_no_txlen ,true 
+5674 6800c3dd fetch 1 ,mem_le_txlen 
+5675 207a0000 rtn blank 
+
+le_send_no_txlen:
+5676 6800843f fetch 1 ,mem_le_state 
+5677 c4020000 rtnbit0 lestate_encryption 
+5678 2040748d call load_sk 
+5679 202073e3 branch le_encrypt 
+
+get_lpm_wake_ble_rx_lock:
+567a d8e00000 arg wake_lock_ble_rx ,queue 
+567b 20202c32 branch lpm_get_wake_lock 
+
+put_lpm_wake_ble_rx_lock:
+567c d8e00000 arg wake_lock_ble_rx ,queue 
+567d 20202c36 branch lpm_put_wake_lock 
+
+le_parse:
+567e 4733402c bpatchx patch2c_6 ,mem_patch2c 
+567f c6078000 rtnmark1 mark_old_packet 
+5680 20405890 call le_fifo_check_full 
+5681 247a0000 nrtn blank 
+5682 680082d9 fetch 1 ,mem_le_rxbuf 
+5683 1fe17e03 and pdata ,0x3 ,pdata 
+5684 6000c50c store 1 ,mem_le_packet_llid 
+5685 e8c08000 ifetch 1 ,contr 
+5686 1fe17e1f and pdata ,0x1f ,pdata 
+5687 6000c50b store 1 ,mem_le_packet_size 
+5688 207a0000 rtn blank 
+5689 18c27e00 copy contr ,pdata 
+568a 6001450d store 2 ,mem_le_payload_ptr 
+568b 6800c50c fetch 1 ,mem_le_packet_llid 
+568c c001dc64 beq llid_le_ll ,le_parse_ll 
+
+le_parse_l2cap:
+568d 2040569a call le_check_l2cap_complete 
+568e 2434567a nbranch get_lpm_wake_ble_rx_lock ,user 
+568f 2040567c call put_lpm_wake_ble_rx_lock 
+5690 6801450d fetch 2 ,mem_le_payload_ptr 
+5691 1fe20c00 copy pdata ,contr 
+5692 e8c10000 ifetch 2 ,contr 
+5693 600144fc store 2 ,mem_le_l2cap_size 
+5694 4733c02c bpatchx patch2c_7 ,mem_patch2c 
+5695 e8c10000 ifetch 2 ,contr 
+5696 c00258ab beq le_l2cap_cid_att ,le_parse_att 
+5697 c0035af4 beq le_l2cap_cid_smp ,le_parse_smp 
+5698 c002dab6 beq le_l2cap_cid_signal ,le_parse_signaling 
+5699 20600000 rtn 
+
+le_check_l2cap_complete:
+569a 6800c50c fetch 1 ,mem_le_packet_llid 
+569b c00156a9 beq llid_start ,le_check_l2cap_llid_start 
+569c c000d6c1 beq llid_continue ,le_check_l2cap_llid_continue 
+569d 20600000 rtn 
+
+le_check_l2cap_cid_legal:
+569e 20407fe7 call enable_user 
+569f d8400004 arg le_l2cap_cid_att ,temp 
+56a0 9fe67c00 isub pdata ,null 
+56a1 20628000 rtn zero 
+56a2 d8400005 arg le_l2cap_cid_signal ,temp 
+56a3 9fe67c00 isub pdata ,null 
+56a4 20628000 rtn zero 
+56a5 d8400006 arg le_l2cap_cid_smp ,temp 
+56a6 9fe67c00 isub pdata ,null 
+56a7 20628000 rtn zero 
+56a8 20207fe9 branch disable_user 
+
+le_check_l2cap_llid_start:
+56a9 6801450d fetch 2 ,mem_le_payload_ptr 
+56aa 1fe20c00 copy pdata ,contr 
+56ab e8c10000 ifetch 2 ,contr 
+56ac 600144fc store 2 ,mem_le_l2cap_size 
+56ad e8c10000 ifetch 2 ,contr 
+56ae 2040569e call le_check_l2cap_cid_legal 
+56af 24740000 nrtn user 
+56b0 6808c50b fetcht 1 ,mem_le_packet_size 
+56b1 6008c4fe storet 1 ,mem_le_packet_len_recved 
+56b2 680144fc fetch 2 ,mem_le_l2cap_size 
+56b3 1fe0fe04 increase 4 ,pdata 
+56b4 98467c00 isub temp ,null 
+56b5 2022ffe7 branch enable_user ,zero 
+56b6 6800c50b fetch 1 ,mem_le_packet_size 
+56b7 1fe27200 copy pdata ,loopcnt 
+56b8 d8a00311 arg mem_le_l2capbuf ,contw 
+56b9 6801450d fetch 2 ,mem_le_payload_ptr 
+56ba 1fe20c00 copy pdata ,contr 
+56bb 20407f01 call memcpy 
+56bc 20207fe9 branch disable_user 
+
+le_check_l2cap_continue_legal:
+56bd 20407fe7 call enable_user 
+56be 6800c4fe fetch 1 ,mem_le_packet_len_recved 
+56bf 247a0000 nrtn blank 
+56c0 20207fe9 branch disable_user 
+
+le_check_l2cap_llid_continue:
+56c1 204056bd call le_check_l2cap_continue_legal 
+56c2 24740000 nrtn user 
+56c3 6800c4fe fetch 1 ,mem_le_packet_len_recved 
+56c4 d8a00311 arg mem_le_l2capbuf ,contw 
+56c5 98a0a200 iadd contw ,rega 
+56c6 6808c50b fetcht 1 ,mem_le_packet_size 
+56c7 9840fe00 iadd temp ,pdata 
+56c8 6000c4fe store 1 ,mem_le_packet_len_recved 
+56c9 6800c50b fetch 1 ,mem_le_packet_size 
+56ca 1fe27200 copy pdata ,loopcnt 
+56cb 1a220a00 copy rega ,contw 
+56cc 6801450d fetch 2 ,mem_le_payload_ptr 
+56cd 1fe20c00 copy pdata ,contr 
+56ce 20407ef4 call memcpy_fast 
+56cf 58000311 setarg mem_le_l2capbuf 
+56d0 6001450d store 2 ,mem_le_payload_ptr 
+56d1 680144fc fetch 2 ,mem_le_l2cap_size 
+56d2 1fe0fe04 increase 4 ,pdata 
+56d3 6808c4fe fetcht 1 ,mem_le_packet_len_recved 
+56d4 98467c00 isub temp ,null 
+56d5 2022ffe7 branch enable_user ,zero 
+56d6 20207fe9 branch disable_user 
+
+le_get_search_att_type:
+56d7 20407ea5 call store_contr 
+56d8 d8a0445e arg mem_le_search_att_type_length ,contw 
+
+le_get_search_common:
+56d9 680144fc fetch 2 ,mem_le_l2cap_size 
+56da 1fe0fffb increase -5 ,pdata 
+
+le_get_search_common2:
+56db e0a08000 istore 1 ,contw 
+56dc 1fe27200 copy pdata ,loopcnt 
+56dd 20407e9f call get_contr 
+56de 20207ef4 branch memcpy_fast 
+
+le_get_search_att_uuid:
+56df 20407ea5 call store_contr 
+56e0 d8a04471 arg mem_le_search_uuid_length ,contw 
+56e1 202056d9 branch le_get_search_common 
+
+le_writeatt_cb:
+56e2 680141f9 fetch 2 ,mem_cb_att_write 
+56e3 20207f9c branch callback_func 
+
+le_supervision_update:
+56e4 680a045b fetcht 4 ,mem_le_supervision_timer 
+56e5 20402a7b call get_clkbt 
+56e6 98461600 isub temp ,timeup 
+56e7 19627e00 deposit timeup 
+56e8 6809046d fetcht 2 ,mem_le_superto 
+56e9 18520400 lshift4 temp ,temp 
+56ea 18438400 lshift temp ,temp 
+56eb 98467e00 isub temp ,pdata 
+56ec 20600000 rtn 
+
+le_supervision_flush:
+56ed 20402a7b call get_clkbt 
+56ee 6002045b store 4 ,mem_le_supervision_timer 
+56ef 20600000 rtn 
+
+le_adv:
+56f0 70001624 jam 36 ,mem_le_ch_mapped 
+56f1 700ac200 jam 0 ,mem_le_adv_channel_map_temp 
+
+le_adv_loop:
+56f2 4734402d bpatchx patch2d_0 ,mem_patch2d 
+56f3 6800c36e fetch 1 ,mem_le_adv_enable 
+56f4 207a0000 rtn blank 
+56f5 d8e00000 arg le_adv_interval_timer ,queue 
+56f6 20407f16 call timer_check 
+56f7 247a0000 nrtn blank 
+56f8 4734c02d bpatchx patch2d_1 ,mem_patch2d 
+
+le_adv_loop_tx:
+56f9 7854fc00 disable master 
+56fa 78287c00 enable swfine 
+56fb 20405572 call le_init_adv 
+56fc 20405422 call le_next_adv_channel 
+56fd 204054e9 call le_send_adv_ind 
+56fe 2436d706 nbranch le_adv_not_match ,match 
+56ff 68008003 fetch 1 ,mem_le_req_rcv 
+5700 1fe0fe01 increase 1 ,pdata 
+5701 60008003 store 1 ,mem_le_req_rcv 
+5702 680082d9 fetch 1 ,mem_le_rxbuf 
+5703 1fe17e0f and pdata ,0x0f ,pdata 
+5704 c001d51c beq scan_req ,le_send_scan_response 
+5705 c002d728 beq connect_req ,le_parse_connect_req 
+
+le_adv_not_match:
+5706 4735402d bpatchx patch2d_2 ,mem_patch2d 
+5707 180a7e00 random pdata 
+5708 d84001ff arg 0x1ff ,temp 
+5709 98417e00 iand temp ,pdata 
+570a 1fe0fefa add pdata ,250 ,pdata 
+570b 20403cbe call delay 
+570c 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+570d 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+570e 98467c00 isub temp ,null 
+570f 2422d6f2 nbranch le_adv_loop ,zero 
+5710 d8e00000 arg le_adv_interval_timer ,queue 
+5711 68014482 fetch 2 ,mem_le_adv_interval 
+5712 20207f08 branch timer_init 
+
+le_receive_window_size:
+5713 4735c02d bpatchx patch2d_3 ,mem_patch2d 
+5714 68008476 fetch 1 ,mem_le_peer_sca 
+5715 204053fc call le_sca_map 
+5716 68010441 fetch 2 ,mem_le_tsniff 
+5717 984ffe00 imul32 temp ,pdata 
+5718 d8400177 arg 375 ,temp 
+5719 984ffe00 imul32 temp ,pdata 
+571a d84186a0 arg 100000 ,temp 
+571b 9846fc00 idiv temp 
+571c 6800846a fetch 1 ,mem_le_window_size 
+571d d8404e20 arg 20000 ,temp 
+571e 984ffe00 imul32 temp ,pdata 
+571f 9840fe00 iadd temp ,pdata 
+5720 600244e5 store 4 ,mem_le_transmit_window 
+5721 4736402d bpatchx patch2d_4 ,mem_patch2d 
+5722 680140c1 fetch 2 ,mem_rx_window_sniff 
+5723 20407f86 call wait_div_end 
+5724 18078400 quotient temp 
+5725 9840fe00 iadd temp ,pdata 
+5726 6001044d store 2 ,mem_le_receive_window 
+5727 20600000 rtn 
+
+le_parse_connect_req:
+5728 4736c02d bpatchx patch2d_5 ,mem_patch2d 
+5729 680302e1 fetch 6 ,mem_le_rxbuf + 8 
+572a 680b44a0 fetcht 6 ,mem_le_lap 
+572b 98467c00 isub temp ,null 
+572c 24628000 nrtn zero 
+572d 20405619 call le_scan_check_sender_addr_type 
+572e 1a227e00 copy rega ,pdata 
+572f 6000c48e store 1 ,mem_le_conn_peer_addr_type 
+5730 680382ee fetch 7 ,mem_le_rxbuf + 21 
+5731 60038101 store 7 ,mem_tmp_buffer 
+5732 e8c40000 ifetch 8 ,contr 
+5733 e0a40000 istore 8 ,contw 
+5734 680302db fetch 6 ,mem_le_rxbuf + 2 
+5735 6003044f store 6 ,mem_le_plap 
+5736 18c08c06 increase 6 ,contr 
+5737 e8c40000 ifetch 8 ,contr 
+5738 60040463 store 8 ,mem_le_access 
+5739 e8c90000 ifetcht 2 ,contr 
+573a 4737402d bpatchx patch2d_6 ,mem_patch2d 
+573b 184b8400 lshift2 temp ,temp 
+573c e8c10000 ifetch 2 ,contr 
+573d 1febfe00 lshift2 pdata ,pdata 
+573e 60010441 store 2 ,mem_le_tsniff 
+573f 60020443 store 4 ,mem_le_anchor 
+5740 98467e00 isub temp ,pdata 
+5741 1fe0d1fe add pdata ,-2 ,clke_bt 
+5742 e8c48000 ifetch 9 ,contr 
+5743 6004846b store 9 ,mem_le_slave_latency 
+5744 4737c02d bpatchx patch2d_7 ,mem_patch2d 
+5745 e8c08000 ifetch 1 ,contr 
+5746 1ff18400 rshift4 pdata ,temp 
+5747 18430400 rshift temp ,temp 
+5748 60088476 storet 1 ,mem_le_peer_sca 
+5749 1fe17e1f and_into 0x1f ,pdata 
+574a 60008458 store 1 ,mem_le_hop 
+574b 20405713 call le_receive_window_size 
+574c 2040545b call le_calc_channel_map 
+574d 2040534c call le_init_slave 
+574e 2040223b call context_new 
+574f 24628000 nrtn zero 
+5750 4738402e bpatchx patch2e_0 ,mem_patch2e 
+5751 20402841 call calc_clke_offset 
+5752 20405ad3 call le_l2cap_reset_signaling_identifier 
+5753 700a9914 jam bt_evt_le_connected ,mem_fifo_temp 
+5754 20407d86 call ui_ipc_send_event 
+5755 20202223 branch context_save 
+
+le_init_attlist_search:
+5756 4738c02e bpatchx patch2e_1 ,mem_patch2e 
+5757 6801445a fetch 2 ,mem_le_search_handle_start 
+5758 98002400 iforce regb 
+5759 6801445c fetch 2 ,mem_le_search_handle_end 
+575a 98002600 iforce regc 
+575b 680144bc fetch 2 ,mem_ui_le_uuid_table 
+575c 98000c00 iforce contr 
+575d 78347c00 enable user 
+575e 20600000 rtn 
+
+le_att_handle_inrange:
+575f e8c10000 ifetch 2 ,contr 
+5760 207a0000 rtn blank 
+5761 9a467c00 isub regb ,null 
+5762 24610000 nrtn positive 
+5763 9a667c00 isub regc ,null 
+5764 20628000 rtn zero 
+5765 20215768 branch le_att_handle_blank ,positive 
+5766 18007c01 force 1 ,null 
+5767 20600000 rtn 
+
+le_att_handle_blank:
+5768 18007e00 force 0 ,pdata 
+5769 20600000 rtn 
+
+le_att_get_handle_ptr:
+576a 2040576d call le_att_get_handle_ptr2 
+576b 2022d779 branch le_att_get_handle_ptr_found ,zero 
+576c 20600000 rtn 
+
+le_att_get_handle_ptr2:
+576d 4739402e bpatchx patch2e_2 ,mem_patch2e 
+576e 680144bc fetch 2 ,mem_ui_le_uuid_table 
+576f 98000c00 iforce contr 
+
+le_att_get_handle_loop1:
+5770 e8c10000 ifetch 2 ,contr 
+5771 207a0000 rtn blank 
+5772 98467c00 isub temp ,null 
+5773 20628000 rtn zero 
+5774 e8c08000 ifetch 1 ,contr 
+5775 98c08c00 iadd contr ,contr 
+5776 e8c08000 ifetch 1 ,contr 
+5777 98c08c00 iadd contr ,contr 
+5778 20205770 branch le_att_get_handle_loop1 
+
+le_att_get_handle_ptr_found:
+5779 e8c08000 ifetch 1 ,contr 
+577a 98c08c00 iadd contr ,contr 
+577b 20600000 rtn 
+
+le_att_get_short_uuid_ptr:
+577c 4739c02e bpatchx patch2e_3 ,mem_patch2e 
+577d 680144bc fetch 2 ,mem_ui_le_uuid_table 
+577e 98000c00 iforce contr 
+
+le_att_get_short_uuid_loop:
+577f e8c10000 ifetch 2 ,contr 
+5780 207a0000 rtn blank 
+5781 e8c08000 ifetch 1 ,contr 
+5782 98c08c00 iadd contr ,contr 
+5783 18c08dfe increase -2 ,contr 
+5784 e8c10000 ifetch 2 ,contr 
+5785 98467c00 isub temp ,null 
+5786 20628000 rtn zero 
+5787 e8c08000 ifetch 1 ,contr 
+5788 98c08c00 iadd contr ,contr 
+5789 2020577f branch le_att_get_short_uuid_loop 
+
+le_att_get_handle_info_from_ptr:
+578a 6801049c fetch 2 ,mem_le_cur_attlist_start_ptr 
+578b 2020578e branch le_att_get_handle_info_fast 
+
+le_att_get_handle_info:
+578c 473a402e bpatchx patch2e_4 ,mem_patch2e 
+578d 680144bc fetch 2 ,mem_ui_le_uuid_table 
+
+le_att_get_handle_info_fast:
+578e 98000c00 iforce contr 
+578f 18422200 copy temp ,rega 
+
+le_att_get_handle_loop:
+5790 e8c10000 ifetch 2 ,contr 
+5791 203a5799 branch le_att_unfind_handle ,blank 
+5792 9a267c00 isub rega ,null 
+5793 2022d79a branch le_att_finded_handle ,zero 
+5794 e8c08000 ifetch 1 ,contr 
+5795 98c08c00 iadd contr ,contr 
+5796 e8c08000 ifetch 1 ,contr 
+5797 98c08c00 iadd contr ,contr 
+5798 20205790 branch le_att_get_handle_loop 
+
+le_att_unfind_handle:
+5799 20207fef branch disable_blank 
+
+le_att_finded_handle:
+579a e8c08000 ifetch 1 ,contr 
+579b 600084a2 store 1 ,mem_le_cur_uuid_length 
+579c 1fe27200 copy pdata ,loopcnt 
+579d d8a004a3 arg mem_le_cur_uuid ,contw 
+579e 20407ef4 call memcpy_fast 
+579f e8c08000 ifetch 1 ,contr 
+57a0 600084b3 store 1 ,mem_le_curr_att_len 
+57a1 20407ea5 call store_contr 
+57a2 20207ff1 branch enable_blank 
+
+le_modified_name:
+57a3 473ac02e bpatchx patch2e_5 ,mem_patch2e 
+57a4 204057a6 call le_modified_name_att_list 
+57a5 202057b8 branch le_modified_name_adv 
+
+le_modified_name_att_list:
+57a6 d8402a00 arg uuid_chrctr_device_name ,temp 
+57a7 2040577c call le_att_get_short_uuid_ptr 
+57a8 207a0000 rtn blank 
+57a9 e8c08000 ifetch 1 ,contr 
+57aa 18c20a00 copy contr ,contw 
+57ab 6808c3af fetcht 1 ,mem_le_name_len 
+57ac 18427200 copy temp ,loopcnt 
+57ad 98467c00 isub temp ,null 
+57ae 242157b5 nbranch le_name_length_longer_than_att ,positive 
+57af 98460400 isub temp ,temp 
+57b0 d8c043b0 arg mem_le_name ,contr 
+57b1 20407f01 call memcpy 
+57b2 18427200 copy temp ,loopcnt 
+57b3 2442d7f0 ncall memcpy_empty ,zero 
+57b4 20600000 rtn 
+
+le_name_length_longer_than_att:
+57b5 1fe27200 copy pdata ,loopcnt 
+57b6 d8c043b0 arg mem_le_name ,contr 
+57b7 20207ef4 branch memcpy_fast 
+
+le_modified_name_adv:
+57b8 da60438f arg mem_le_adv_data_len + 32 ,regc 
+57b9 da204370 arg mem_le_adv_data ,rega 
+57ba 204057c5 call le_modified_name_adv_and_scan 
+57bb 58000000 setarg 0 
+57bc 79347e00 setflag user ,0 ,pdata 
+57bd 60008a9a store 1 ,mem_pdatatemp 
+57be da6043af arg mem_le_scan_data_len + 32 ,regc 
+57bf da204390 arg mem_le_scan_data ,rega 
+57c0 204057c5 call le_modified_name_adv_and_scan 
+57c1 20740000 rtn user 
+57c2 68008a9a fetch 1 ,mem_pdatatemp 
+57c3 203a2a8c branch assert ,blank 
+57c4 20600000 rtn 
+
+le_modified_name_adv_and_scan:
+57c5 473b402e bpatchx patch2e_6 ,mem_patch2e 
+57c6 20407fe7 call enable_user 
+57c7 20407eda call clear_temp_block 
+57c8 da400000 arg 0 ,regb 
+57c9 d8a00ac3 arg mem_le_data_temp ,contw 
+57ca 204057df call le_modified_name_adv_loop 
+57cb 6800c3af fetch 1 ,mem_le_name_len 
+57cc 1fe08401 add pdata ,1 ,temp 
+57cd 9a40a200 iadd regb ,rega 
+57ce 1a20a202 increase 2 ,rega 
+57cf 1a267c1f sub rega ,0x1f ,null 
+57d0 242157dd nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+57d1 e0a88000 istoret 1 ,contw 
+57d2 d8400009 arg gap_adtype_local_name_complete ,temp 
+57d3 e0a88000 istoret 1 ,contw 
+57d4 98007200 iforce loopcnt 
+57d5 20407ef4 call memcpy_fast 
+57d6 1a222400 copy rega ,regb 
+
+le_modified_name_adv_and_scan_store_data:
+57d7 1a427e00 deposit regb 
+57d8 60008ac2 store 1 ,mem_le_data_len_temp 
+57d9 d8c00ac2 arg mem_le_data_len_temp ,contr 
+57da 5fffffe0 setarg -32 
+57db 9a608a00 iadd regc ,contw 
+57dc 20207ebd branch memcpy32 
+
+le_modified_name_adv_and_scan_name_overflow:
+57dd 20407fe9 call disable_user 
+57de 202057d7 branch le_modified_name_adv_and_scan_store_data 
+
+le_modified_name_adv_loop:
+57df ea208000 ifetch 1 ,rega 
+57e0 207a0000 rtn blank 
+57e1 1fe0fe01 pincrease 1 
+57e2 e8c88000 ifetcht 1 ,contr 
+57e3 18467c09 sub temp ,gap_adtype_local_name_complete ,null 
+57e4 2022d7ee branch le_modified_name_adv_found_name ,zero 
+57e5 9a40a400 iadd regb ,regb 
+57e6 1a220c00 copy rega ,contr 
+57e7 98007200 iforce loopcnt 
+57e8 20407ef4 call memcpy_fast 
+57e9 18c22200 copy contr ,rega 
+
+le_modified_name_adv_loop2:
+57ea 1a227e00 deposit rega 
+57eb 9a667c00 isub regc ,null 
+57ec 20610000 rtn positive 
+57ed 202057df branch le_modified_name_adv_loop 
+
+le_modified_name_adv_found_name:
+57ee 9a20a200 iadd rega ,rega 
+57ef 202057ea branch le_modified_name_adv_loop2 
+
+memcpy_empty:
+57f0 58000020 setarg space 
+57f1 e0a08000 istore 1 ,contw 
+57f2 c20057f0 loop memcpy_empty 
+57f3 20600000 rtn 
+
+le_lpm_set_mult:
+57f4 473bc02e bpatchx patch2e_7 ,mem_patch2e 
+57f5 7855fc00 disable wake 
+57f6 203757f8 branch le_lpm_set_mult_attempt ,attempt 
+57f7 2436d806 nbranch le_lpm_lost ,match 
+
+le_lpm_set_mult_attempt:
+57f8 20402bcb call lpm_match 
+57f9 680140c1 fetch 2 ,mem_rx_window_sniff 
+57fa 6001044d store 2 ,mem_le_receive_window 
+57fb 2436abde nbranch lpm_mult_short ,match 
+57fc c507abde bmark1 mark_old_packet ,lpm_mult_short 
+57fd 6800c50b fetch 1 ,mem_le_packet_size 
+57fe 243a2bde nbranch lpm_mult_short ,blank 
+57ff 6800c3dd fetch 1 ,mem_le_txlen 
+5800 243a2bde nbranch lpm_mult_short ,blank 
+5801 6800c4e9 fetch 1 ,mem_le_configuration 
+5802 c282abde bbit1 bit_ble_short_mult ,lpm_mult_short 
+5803 6800843f fetch 1 ,mem_le_state 
+5804 c282abde bbit1 lestate_update_param ,lpm_mult_short 
+5805 20202bc0 branch lpm_mult_wait_timeout 
+
+le_lpm_lost:
+5806 680940c1 fetcht 2 ,mem_rx_window_sniff 
+5807 18430400 rshift temp ,temp 
+5808 6801044d fetch 2 ,mem_le_receive_window 
+5809 9840fe00 iadd temp ,pdata 
+580a 6001044d store 2 ,mem_le_receive_window 
+580b 20202bd6 branch lpm_lost 
+
+le_set_config_fixed_tk:
+580c d8e00000 arg bit_ble_passkey_fixed_key ,queue 
+580d 20205824 branch le_set_config 
+
+le_clr_config_fixed_tk:
+580e d8e00000 arg bit_ble_passkey_fixed_key ,queue 
+580f 20205828 branch le_clr_config 
+
+le_set_config_fixed_ltk:
+5810 d8e00001 arg bit_ble_pairing_fixed_ltk ,queue 
+5811 20205824 branch le_set_config 
+
+le_clr_config_fixed_ltk:
+5812 d8e00001 arg bit_ble_pairing_fixed_ltk ,queue 
+5813 20205828 branch le_clr_config 
+
+le_set_config_more_data:
+5814 d8e00002 arg bit_ble_transmit_packet_by_md ,queue 
+5815 20205824 branch le_set_config 
+
+le_clr_config_more_data:
+5816 d8e00002 arg bit_ble_transmit_packet_by_md ,queue 
+5817 20205828 branch le_clr_config 
+
+le_set_config_read_authentication:
+5818 d8e00003 arg bit_ble_read_auth ,queue 
+5819 20205824 branch le_set_config 
+
+le_clr_config_read_authentication:
+581a d8e00003 arg bit_ble_read_auth ,queue 
+581b 20205828 branch le_clr_config 
+
+le_set_config_write_authentication:
+581c d8e00004 arg bit_ble_write_auth ,queue 
+581d 20205824 branch le_set_config 
+
+le_clr_config_write_authentication:
+581e d8e00004 arg bit_ble_write_auth ,queue 
+581f 20205828 branch le_clr_config 
+
+le_set_config_short_mult:
+5820 d8e00005 arg bit_ble_short_mult ,queue 
+5821 20205824 branch le_set_config 
+
+le_clr_config_short_mult:
+5822 d8e00005 arg bit_ble_short_mult ,queue 
+5823 20205828 branch le_clr_config 
+
+le_set_config:
+5824 6800c4e9 fetch 1 ,mem_le_configuration 
+5825 f9207e00 qset1 pdata 
+5826 6000c4e9 store 1 ,mem_le_configuration 
+5827 20600000 rtn 
+
+le_clr_config:
+5828 6800c4e9 fetch 1 ,mem_le_configuration 
+5829 f93ffe00 qset0 pdata 
+582a 6000c4e9 store 1 ,mem_le_configuration 
+582b 20600000 rtn 
+
+le_set_fixed_ltk:
+582c 58112233 setarg 0x112233 
+582d 6001c4ea store 3 ,mem_le_fixed_ltk 
+582e 58445566 setarg 0x445566 
+582f e0a18000 istore 3 ,contw 
+5830 58778899 setarg 0x778899 
+5831 e0a18000 istore 3 ,contw 
+5832 58001122 setarg 0x001122 
+5833 e0a18000 istore 3 ,contw 
+5834 58334455 setarg 0x334455 
+5835 e0a18000 istore 3 ,contw 
+5836 58000066 setarg 0x66 
+5837 e0a08000 istore 1 ,contw 
+5838 20600000 rtn 
+
+le_set_justwork:
+5839 59000302 setarg 0x01000302 
+583a 60024453 store 4 ,mem_le_pres 
+583b 58010010 setarg 0x010010 
+583c 6001c457 store 3 ,mem_le_pres_max_keysize 
+583d 7044c601 jam 1 ,mem_le_pairing_mode 
+583e 20600000 rtn 
+
+le_fifo_malloc_tx_empty:
+583f da200000 arg 0 ,rega 
+5840 d8200001 arg llid_empty ,type 
+5841 20205850 branch le_fifo_malloc_tx 
+
+le_fifo_malloc_tx_ll:
+5842 d8200003 arg llid_le_ll ,type 
+5843 20405850 call le_fifo_malloc_tx 
+5844 1a427e00 copy regb ,pdata 
+5845 e0a08000 istore 1 ,contw 
+5846 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap:
+5847 18000202 force llid_l2cap_start ,type 
+5848 1a20a204 increase 4 ,rega 
+5849 20405850 call le_fifo_malloc_tx 
+584a 1a20a3fc increase -4 ,rega 
+584b 1a227e00 copy rega ,pdata 
+584c e0a10000 istore 2 ,contw 
+584d 1a427e00 copy regb ,pdata 
+584e e0a10000 istore 2 ,contw 
+584f 20600000 rtn 
+
+le_fifo_malloc_tx:
+5850 1a267cf0 sub rega ,240 ,null 
+5851 24212a8c nbranch assert ,positive 
+5852 6800c4ff fetch 1 ,mem_le_tx_buff_used 
+5853 d8400001 arg 1 ,temp 
+5854 df200004 arg le_tx_buff_count ,loopcnt 
+
+le_fifo_malloc_tx_loop:
+5855 98417c00 iand temp ,null 
+5856 2022d85a branch le_fifo_malloc_tx_got_empty ,zero 
+5857 18438400 lshift temp ,temp 
+5858 c2005855 loop le_fifo_malloc_tx_loop 
+5859 20202a8c branch assert 
+
+le_fifo_malloc_tx_got_empty:
+585a 9842fe00 ixor temp ,pdata 
+585b 6000c4ff store 1 ,mem_le_tx_buff_used 
+585c 1f267e04 sub loopcnt ,le_tx_buff_count ,pdata 
+585d 1ff27e00 lshift4 pdata ,pdata 
+585e 1ff27e00 lshift4 pdata ,pdata 
+585f d8401800 arg mem_le_tx_buffer0 ,temp 
+5860 98408400 iadd temp ,temp 
+
+le_fifo_tx_find_empty_ptr:
+5861 df200000 arg 0 ,loopcnt 
+5862 d8c04500 arg mem_le_tx_ptr0 ,contr 
+
+le_fifo_tx_find_empty_ptr_loop:
+5863 e8c10000 ifetch 2 ,contr 
+5864 203a5869 branch le_fifo_tx_found_empty_ptr ,blank 
+5865 1f227e00 copy loopcnt ,pdata 
+5866 1f20f201 increase 1 ,loopcnt 
+5867 c0825863 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+5868 20202a8c branch assert 
+
+le_fifo_tx_found_empty_ptr:
+5869 18c08dfe increase -2 ,contr 
+586a e0c90000 istoret 2 ,contr 
+586b 18420a00 copy temp ,contw 
+586c 1a227e00 copy rega ,pdata 
+586d e0a08000 istore 1 ,contw 
+586e 58000000 setarg 0 
+586f e0a08000 istore 1 ,contw 
+5870 18227e00 copy type ,pdata 
+5871 e0a08000 istore 1 ,contw 
+5872 20600000 rtn 
+
+le_fifo_get_first_tx_ptr:
+5873 68014500 fetch 2 ,mem_le_tx_ptr0 
+5874 1fe20c00 copy pdata ,contr 
+5875 20600000 rtn 
+
+le_fifo_get_second_tx_ptr:
+5876 68014502 fetch 2 ,mem_le_tx_ptr1 
+5877 1fe20c00 copy pdata ,contr 
+5878 20600000 rtn 
+
+le_fifo_get_last_tx_ptr:
+5879 2040587c call le_fifo_get_last_tx_ptr0 
+587a 1fe20c00 copy pdata ,contr 
+587b 20600000 rtn 
+
+le_fifo_get_last_tx_ptr0:
+587c 68014506 fetch 2 ,mem_le_tx_ptr3 
+587d 247a0000 nrtn blank 
+587e 68014504 fetch 2 ,mem_le_tx_ptr2 
+587f 247a0000 nrtn blank 
+5880 68014502 fetch 2 ,mem_le_tx_ptr1 
+5881 247a0000 nrtn blank 
+5882 68014500 fetch 2 ,mem_le_tx_ptr0 
+5883 20600000 rtn 
+
+le_fifo_get_first_l2cap_ptr:
+5884 20405873 call le_fifo_get_first_tx_ptr 
+5885 18c08c03 increase 3 ,contr 
+5886 20600000 rtn 
+
+le_fifo_get_first_att_ptr:
+5887 20405873 call le_fifo_get_first_tx_ptr 
+5888 18c08c07 increase 7 ,contr 
+5889 20600000 rtn 
+
+le_fifo_get_last_att_ptr:
+588a 20405879 call le_fifo_get_last_tx_ptr 
+588b 18c08c07 increase 7 ,contr 
+588c 20600000 rtn 
+
+le_fifo_get_last_l2cap_ptr:
+588d 20405879 call le_fifo_get_last_tx_ptr 
+588e 18c08c03 increase 3 ,contr 
+588f 20600000 rtn 
+
+le_fifo_check_full:
+5890 68014506 fetch 2 ,mem_le_tx_ptr3 
+5891 20600000 rtn 
+
+le_fifo_check_nearly_full:
+5892 68014504 fetch 2 ,mem_le_tx_ptr2 
+5893 20600000 rtn 
+
+le_fifo_check_empty:
+5894 68014500 fetch 2 ,mem_le_tx_ptr0 
+5895 20600000 rtn 
+
+le_fifo_release_first_node:
+5896 68014500 fetch 2 ,mem_le_tx_ptr0 
+5897 d8401800 arg mem_le_tx_buffer0 ,temp 
+5898 98467e00 isub temp ,pdata 
+5899 1ff1fe00 rshift4 pdata ,pdata 
+589a 1ff18e00 rshift4 pdata ,queue 
+589b 6800c4ff fetch 1 ,mem_le_tx_buff_used 
+589c f93ffe00 qset0 pdata 
+589d 6000c4ff store 1 ,mem_le_tx_buff_used 
+589e df200000 arg 0 ,loopcnt 
+
+le_fifo_release_first_node_loop:
+589f 1f23fe00 lshift loopcnt ,pdata 
+58a0 d8404502 arg mem_le_tx_ptr1 ,temp 
+58a1 98408400 iadd temp ,temp 
+58a2 e8410000 ifetch 2 ,temp 
+58a3 184085fe increase -2 ,temp 
+58a4 e0410000 istore 2 ,temp 
+58a5 1f227e00 copy loopcnt ,pdata 
+58a6 1f20f201 increase 1 ,loopcnt 
+58a7 c081d89f bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+58a8 58000000 setarg 0 
+58a9 e0410000 istore 2 ,temp 
+58aa 20600000 rtn 
+
+le_parse_att:
+58ab e8c18000 ifetch 3 ,contr 
+58ac 60018477 store 3 ,mem_le_att_opcode 
+58ad c00158c1 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+58ae c001d8c9 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+58af c00258cc beq attop_find_information_request ,le_parse_att_find_information_request 
+58b0 c00358f2 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+58b1 c004593f beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+58b2 c00559bc beq attop_read_request ,le_parse_att_read_request 
+58b3 c00659e4 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+58b4 c00859fa beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+58b5 c0095a2f beq attop_write_request ,le_parse_att_write_request 
+58b6 c00b5a48 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+58b7 c00c5a5b beq attop_execute_write_request ,le_parse_att_execute_write_request 
+58b8 c0295a60 beq attop_write_command ,le_parse_att_write_command 
+58b9 20600000 rtn 
+
+le_send_att_exchange_mtu_requset:
+58ba 18002203 force 3 ,rega 
+58bb 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+58bc 58000002 setarg attop_exchange_mtu_request 
+58bd e0a08000 istore 1 ,contw 
+58be 680144a6 fetch 2 ,mem_le_local_mtu 
+58bf e0a10000 istore 2 ,contw 
+58c0 20600000 rtn 
+
+le_parse_att_exchange_mtu_request:
+58c1 204058c9 call le_parse_att_exchange_mtu_response 
+
+le_send_att_exchange_mtu_response:
+58c2 18002203 force 3 ,rega 
+58c3 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+58c4 58000003 setarg attop_exchange_mtu_response 
+58c5 e0a08000 istore 1 ,contw 
+58c6 680144a6 fetch 2 ,mem_le_local_mtu 
+58c7 e0a10000 istore 2 ,contw 
+58c8 20600000 rtn 
+
+le_parse_att_exchange_mtu_response:
+58c9 1fecfe00 rshift8 pdata ,pdata 
+58ca 600144a8 store 2 ,mem_le_remote_mtu 
+58cb 20600000 rtn 
+
+le_parse_att_find_information_request:
+58cc 20405ab1 call le_get_search_handle_start_end_common 
+58cd 20407fe7 call enable_user 
+58ce 202058cf branch le_send_att_find_information_response 
+
+le_send_att_find_information_response:
+58cf d9600003 arg 3 ,timeup 
+58d0 20405756 call le_init_attlist_search 
+
+le_send_att_find_information_res_loop:
+58d1 2040575f call le_att_handle_inrange 
+58d2 203a58f0 branch le_send_att_find_information_res_end ,blank 
+58d3 242158ed nbranch le_send_att_find_information_res_next ,positive 
+58d4 18c08dfe increase -2 ,contr 
+58d5 20407ea5 call store_contr 
+58d6 20407e9c call get_contw 
+58d7 243458e1 nbranch le_send_att_find_information_res_store_info ,user 
+58d8 20407e85 call push_stack_rega_b_c 
+58d9 20407fe9 call disable_user 
+58da 18002214 force 20 ,rega 
+58db 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+58dc 20407e95 call pop_stack_rega_b_c 
+58dd 58000005 setarg attop_find_information_response 
+58de e0a08000 istore 1 ,contw 
+58df 58000001 setarg uuid_size_16bit 
+58e0 e0a08000 istore 1 ,contw 
+
+le_send_att_find_information_res_store_info:
+58e1 20407e9f call get_contr 
+58e2 e8c10000 ifetch 2 ,contr 
+58e3 e0a10000 istore 2 ,contw 
+58e4 e8c08000 ifetch 1 ,contr 
+58e5 1fe27200 copy pdata ,loopcnt 
+58e6 20407f01 call memcpy 
+58e7 20407ea2 call store_contw 
+58e8 196097ff increase -1 ,timeup 
+58e9 2022d8f0 branch le_send_att_find_information_res_end ,zero 
+
+le_send_att_find_information_res_cont:
+58ea e8c08000 ifetch 1 ,contr 
+58eb 98c08c00 iadd contr ,contr 
+58ec 202058d1 branch le_send_att_find_information_res_loop 
+
+le_send_att_find_information_res_next:
+58ed e8c08000 ifetch 1 ,contr 
+58ee 98c08c00 iadd contr ,contr 
+58ef 202058ea branch le_send_att_find_information_res_cont 
+
+le_send_att_find_information_res_end:
+58f0 20345a76 branch le_send_att_error_response_notfound ,user 
+58f1 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_find_by_type_value_request:
+58f2 20405ab1 call le_get_search_handle_start_end_common 
+58f3 e8c10000 ifetch 2 ,contr 
+58f4 60014472 store 2 ,mem_le_search_uuid 
+58f5 20407ea5 call store_contr 
+58f6 d8a0445e arg mem_le_search_att_type_length ,contw 
+58f7 680144fc fetch 2 ,mem_le_l2cap_size 
+58f8 1fe0fff9 increase -7 ,pdata 
+58f9 204056db call le_get_search_common2 
+58fa 20205905 branch le_send_att_find_by_type_value_response 
+
+le_start_end_handle_check_1:
+58fb 78547c00 disable user 
+58fc 6809445a fetcht 2 ,mem_le_search_handle_start 
+58fd 6801445c fetch 2 ,mem_le_search_handle_end 
+58fe 98467c00 isub temp ,null 
+58ff 24215902 nbranch le_start_end_handle_check_1_fail ,positive 
+5900 18427e00 deposit temp 
+5901 c1800000 rtnne 0 
+
+le_start_end_handle_check_1_fail:
+5902 78347c00 enable user 
+5903 70047a01 jam att_err_invalid_handle ,mem_le_err_code 
+5904 20205a77 branch le_send_att_error_response 
+
+le_send_att_find_by_type_value_response:
+5905 204058fb call le_start_end_handle_check_1 
+5906 20740000 rtn user 
+5907 68094472 fetcht 2 ,mem_le_search_uuid 
+5908 58002800 setarg uuid_gatt_primary_service 
+5909 98467c00 isub temp ,null 
+590a 2022d90c branch le_send_att_find_by_type_value_res_primary ,zero 
+590b 20205a76 branch le_send_att_error_response_notfound 
+
+le_send_att_find_by_type_value_res_primary:
+590c 7004b400 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+590d 6809445a fetcht 2 ,mem_le_search_handle_start 
+590e 60090aa2 storet 2 ,mem_temp 
+590f 2040578c call le_att_get_handle_info 
+5910 243a5a76 nbranch le_send_att_error_response_notfound ,blank 
+
+le_send_att_find_primary_search_loop:
+5911 68090aa2 fetcht 2 ,mem_temp 
+5912 2040578c call le_att_get_handle_info 
+5913 243a5925 nbranch le_send_att_error_response_notfound2 ,blank 
+5914 18c22200 copy contr ,rega 
+5915 680084b3 fetch 1 ,mem_le_curr_att_len 
+5916 1fe27200 copy pdata ,loopcnt 
+5917 6808c45e fetcht 1 ,mem_le_search_att_type_length 
+5918 98467c00 isub temp ,null 
+5919 2422d921 nbranch le_send_att_find_primary_search_loop1 ,zero 
+591a da40445f arg mem_le_search_att_type ,regb 
+591b 20407f88 call string_compare 
+591c 2022d928 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+591d 680104a3 fetch 2 ,mem_le_cur_uuid 
+591e 68094472 fetcht 2 ,mem_le_search_uuid 
+591f 98467c00 isub temp ,null 
+5920 2022d930 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+
+le_send_att_find_primary_search_loop1:
+5921 68010aa2 fetch 2 ,mem_temp 
+5922 1fe0fe01 increase 1 ,pdata 
+5923 60010aa2 store 2 ,mem_temp 
+5924 20205911 branch le_send_att_find_primary_search_loop 
+
+le_send_att_error_response_notfound2:
+5925 680084b4 fetch 1 ,mem_le_search_res 
+5926 c000d930 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+5927 20205a76 branch le_send_att_error_response_notfound 
+
+le_send_att_find_primary_search_end_start_handle_found:
+5928 680104a3 fetch 2 ,mem_le_cur_uuid 
+5929 68094472 fetcht 2 ,mem_le_search_uuid 
+592a 98467c00 isub temp ,null 
+592b 2422d921 nbranch le_send_att_find_primary_search_loop1 ,zero 
+592c 7004b401 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+592d 68090aa2 fetcht 2 ,mem_temp 
+592e 6009049e storet 2 ,mem_le_cur_handle_start 
+592f 20205921 branch le_send_att_find_primary_search_loop1 
+
+le_send_att_find_primary_search_end_ending_handle_found:
+5930 680084b4 fetch 1 ,mem_le_search_res 
+5931 c0005921 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+5932 7004b402 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+5933 68090aa2 fetcht 2 ,mem_temp 
+5934 184085ff increase -1 ,temp 
+5935 600904a0 storet 2 ,mem_le_cur_handle_end 
+
+le_send_att_find_primary_search_end:
+5936 da200005 arg 5 ,rega 
+5937 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5938 58000007 setarg attop_find_by_type_value_response 
+5939 e0a08000 istore 1 ,contw 
+593a 6801049e fetch 2 ,mem_le_cur_handle_start 
+593b e0a10000 istore 2 ,contw 
+593c 680104a0 fetch 2 ,mem_le_cur_handle_end 
+593d e0a10000 istore 2 ,contw 
+593e 20600000 rtn 
+
+le_parse_att_read_by_type_request:
+593f 20405ab1 call le_get_search_handle_start_end_common 
+5940 204056df call le_get_search_att_uuid 
+5941 20205942 branch le_send_att_read_by_type_response 
+
+le_send_att_read_by_type_response:
+5942 6809445a fetcht 2 ,mem_le_search_handle_start 
+5943 60090aa2 storet 2 ,mem_temp 
+5944 20405756 call le_init_attlist_search 
+5945 2040576d call le_att_get_handle_ptr2 
+5946 18c08dfe increase -2 ,contr 
+5947 18c27e00 copy contr ,pdata 
+5948 6001049c store 2 ,mem_le_cur_attlist_start_ptr 
+5949 68094472 fetcht 2 ,mem_le_search_uuid 
+594a 58002a00 setarg uuid_chrctr_device_name 
+594b 98467c00 isub temp ,null 
+594c 2022d9a8 branch le_send_att_read_by_type_res_device_name ,zero 
+594d 58002803 setarg uuid_gatt_characteristic 
+594e 98467c00 isub temp ,null 
+594f 2422d990 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+5950 d9600002 arg 2 ,timeup 
+
+le_send_att_read_by_type_response_loop:
+5951 20405a88 call le_att_check_handle_end 
+5952 2421596d nbranch le_send_att_read_by_type_response_end ,positive 
+5953 68090aa2 fetcht 2 ,mem_temp 
+5954 2040578a call le_att_get_handle_info_from_ptr 
+5955 c000d96d beq 1 ,le_send_att_read_by_type_response_end 
+5956 20405a94 call le_att_same_uuid 
+5957 2422d96b nbranch le_send_att_read_by_type_response_next_handle ,zero 
+5958 2434596f nbranch le_send_att_read_by_type_res_found_next ,user 
+5959 78547c00 disable user 
+595a da200014 arg 20 ,rega 
+595b 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+595c 58000009 setarg attop_read_by_type_response 
+595d e0a08000 istore 1 ,contw 
+595e 18a26000 copy contw ,alarm 
+595f 18a08a01 increase 1 ,contw 
+5960 2040597d call le_send_att_read_by_type_write_properties 
+5961 20405a84 call le_att_next_handle 
+5962 2040578a call le_att_get_handle_info_from_ptr 
+5963 20405984 call le_send_att_read_by_type_write_uuid 
+5964 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5965 1fe0fe05 increase 5 ,pdata 
+5966 e6008000 istore 1 ,alarm 
+5967 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5968 c008596d beq 16 ,le_send_att_read_by_type_response_end 
+5969 196097ff increase -1 ,timeup 
+596a 2022d96d branch le_send_att_read_by_type_response_end ,zero 
+
+le_send_att_read_by_type_response_next_handle:
+596b 20405a84 call le_att_next_handle 
+596c 20205951 branch le_send_att_read_by_type_response_loop 
+
+le_send_att_read_by_type_response_end:
+596d 20345a76 branch le_send_att_error_response_notfound ,user 
+596e 20205aa5 branch le_send_auto_len_by_mem 
+
+le_send_att_read_by_type_res_found_next:
+596f 20405a97 call le_store_att_record 
+5970 20405a84 call le_att_next_handle 
+5971 2040578a call le_att_get_handle_info_from_ptr 
+5972 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5973 c008596d beq 16 ,le_send_att_read_by_type_response_end 
+5974 20407e9c call get_contw 
+5975 68010aa2 fetch 2 ,mem_temp 
+5976 1fe0ffff increase -1 ,pdata 
+5977 e0a10000 istore 2 ,contw 
+5978 20405aa1 call le_write_att_record_common 
+5979 20405984 call le_send_att_read_by_type_write_uuid 
+597a 196097ff increase -1 ,timeup 
+597b 2022d96d branch le_send_att_read_by_type_response_end ,zero 
+597c 2020596b branch le_send_att_read_by_type_response_next_handle 
+
+le_send_att_read_by_type_write_properties:
+597d 68010aa2 fetch 2 ,mem_temp 
+597e e0a10000 istore 2 ,contw 
+597f 680084b3 fetch 1 ,mem_le_curr_att_len 
+5980 1fe27200 copy pdata ,loopcnt 
+5981 20407e9f call get_contr 
+5982 20407ef4 call memcpy_fast 
+5983 20207ea2 branch store_contw 
+
+le_send_att_read_by_type_write_uuid:
+5984 20407e9c call get_contw 
+5985 68010aa2 fetch 2 ,mem_temp 
+5986 e0a10000 istore 2 ,contw 
+5987 20407ea2 call store_contw 
+5988 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5989 1fe27200 copy pdata ,loopcnt 
+598a 20407e9c call get_contw 
+598b 20407e9f call get_contr 
+598c 9f260c00 isub loopcnt ,contr 
+598d 18c08dff increase -1 ,contr 
+598e 20407ef4 call memcpy_fast 
+598f 20207ea2 branch store_contw 
+
+le_send_att_read_by_type_res_not_characteristic:
+5990 6809445a fetcht 2 ,mem_le_search_handle_start 
+5991 60090aa2 storet 2 ,mem_temp 
+
+le_send_att_read_by_type_res_not_char_loop:
+5992 20405a88 call le_att_check_handle_end 
+5993 24215a76 nbranch le_send_att_error_response_notfound ,positive 
+5994 2040578a call le_att_get_handle_info_from_ptr 
+5995 c000da76 beq 1 ,le_send_att_error_response_notfound 
+5996 20405a94 call le_att_same_uuid 
+5997 2422d9a6 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+
+le_send_att_read_by_type_res_not_char_common:
+5998 da200014 arg 20 ,rega 
+5999 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+599a 58000009 setarg attop_read_by_type_response 
+599b e0a08000 istore 1 ,contw 
+599c 680084b3 fetch 1 ,mem_le_curr_att_len 
+599d 1fe27200 copy pdata ,loopcnt 
+599e 1fe0fe02 increase 2 ,pdata 
+599f e0a08000 istore 1 ,contw 
+59a0 68010aa2 fetch 2 ,mem_temp 
+59a1 e0a10000 istore 2 ,contw 
+59a2 20407e9f call get_contr 
+59a3 20407ef4 call memcpy_fast 
+59a4 20407ea2 call store_contw 
+59a5 20205aa5 branch le_send_auto_len_by_mem 
+
+le_send_att_read_by_type_res_not_char_next:
+59a6 20405a84 call le_att_next_handle 
+59a7 20205992 branch le_send_att_read_by_type_res_not_char_loop 
+
+le_send_att_read_by_type_res_device_name:
+59a8 d8402a00 arg uuid_chrctr_device_name ,temp 
+59a9 2040577c call le_att_get_short_uuid_ptr 
+59aa 207a0000 rtn blank 
+59ab 18c08dfb increase -5 ,contr 
+59ac e8c10000 ifetch 2 ,contr 
+59ad 60010aa2 store 2 ,mem_temp 
+59ae da200014 arg 20 ,rega 
+59af 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59b0 58000009 setarg attop_read_by_type_response 
+59b1 e0a08000 istore 1 ,contw 
+59b2 6800c3af fetch 1 ,mem_le_name_len 
+59b3 1fe27200 copy pdata ,loopcnt 
+59b4 1fe0fe02 increase 2 ,pdata 
+59b5 e0a08000 istore 1 ,contw 
+59b6 68010aa2 fetch 2 ,mem_temp 
+59b7 e0a10000 istore 2 ,contw 
+59b8 d8c043b0 arg mem_le_name ,contr 
+59b9 20407ef4 call memcpy_fast 
+59ba 20407ea2 call store_contw 
+59bb 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_read_request:
+59bc 68090478 fetcht 2 ,mem_le_att_handle 
+59bd 6800c4e9 fetch 1 ,mem_le_configuration 
+59be c281d9dd bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+
+le_send_att_read_response:
+59bf 2040576a call le_att_get_handle_ptr 
+59c0 203a5a76 branch le_send_att_error_response_notfound ,blank 
+59c1 18c08dfe increase -2 ,contr 
+59c2 e8c10000 ifetch 2 ,contr 
+59c3 d8402a00 arg uuid_chrctr_device_name ,temp 
+59c4 98467c00 isub temp ,null 
+59c5 2022d9d3 branch le_send_device_name ,zero 
+59c6 e8c08000 ifetch 1 ,contr 
+59c7 1fe67c16 sub pdata ,22 ,null 
+59c8 202159ca branch le_send_att_read_response_less ,positive 
+59c9 18007e16 force 22 ,pdata 
+
+le_send_att_read_response_less:
+59ca 1fe22600 copy pdata ,regc 
+59cb 20407ea5 call store_contr 
+59cc 1a60a201 add regc ,1 ,rega 
+59cd 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59ce 5800000b setarg attop_read_response 
+59cf e0a08000 istore 1 ,contw 
+59d0 1a627200 copy regc ,loopcnt 
+59d1 20407e9f call get_contr 
+59d2 20207f01 branch memcpy 
+
+le_send_device_name:
+59d3 20407ea5 call store_contr 
+59d4 6800c3af fetch 1 ,mem_le_name_len 
+59d5 1fe0a201 add pdata ,1 ,rega 
+59d6 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59d7 5800000b setarg attop_read_response 
+59d8 e0a08000 istore 1 ,contw 
+59d9 6800c3af fetch 1 ,mem_le_name_len 
+59da 1fe27200 copy pdata ,loopcnt 
+59db d8c043b0 arg mem_le_name ,contr 
+59dc 20207f01 branch memcpy 
+
+le_send_att_read_response_check_auth:
+59dd 680144fa fetch 2 ,mem_le_pairing_handle 
+59de 98467c00 isub temp ,null 
+59df 2422d9bf nbranch le_send_att_read_response ,zero 
+59e0 20405a42 call le_check_encrypt_state 
+59e1 243459bf nbranch le_send_att_read_response ,user 
+59e2 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
+59e3 20205a77 branch le_send_att_error_response 
+
+le_parse_att_read_blob_request:
+59e4 e8c10000 ifetch 2 ,contr 
+59e5 6001445e store 2 ,mem_le_att_offset 
+
+le_send_att_read_blob_response:
+59e6 da200014 arg 20 ,rega 
+59e7 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59e8 5800000d setarg attop_read_blob_response 
+59e9 e0a08000 istore 1 ,contw 
+59ea 6801445e fetch 2 ,mem_le_att_offset 
+59eb 98002200 iforce rega 
+59ec 68090478 fetcht 2 ,mem_le_att_handle 
+59ed 2040576a call le_att_get_handle_ptr 
+59ee 203a5a76 branch le_send_att_error_response_notfound ,blank 
+59ef e8c08000 ifetch 1 ,contr 
+59f0 9a267200 isub rega ,loopcnt 
+59f1 24215a76 nbranch le_send_att_error_response_notfound ,positive 
+59f2 1f267c16 sub loopcnt ,22 ,null 
+59f3 202159f5 branch le_send_att_read_blob_response_less ,positive 
+59f4 18007216 force 22 ,loopcnt 
+
+le_send_att_read_blob_response_less:
+59f5 1a227e00 deposit rega 
+59f6 98c08c00 iadd contr ,contr 
+59f7 20407ef4 call memcpy_fast 
+59f8 20407ea2 call store_contw 
+59f9 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_read_by_group_type_request:
+59fa 20405ab1 call le_get_search_handle_start_end_common 
+59fb 204056d7 call le_get_search_att_type 
+59fc 202059fd branch le_send_att_read_by_group_type_response 
+
+le_send_att_read_by_group_type_response:
+59fd d9600002 arg 2 ,timeup 
+59fe 6809445a fetcht 2 ,mem_le_search_handle_start 
+59ff 60090aa2 storet 2 ,mem_temp 
+5a00 20405756 call le_init_attlist_search 
+5a01 2040576d call le_att_get_handle_ptr2 
+5a02 18c08dfe increase -2 ,contr 
+5a03 18c27e00 copy contr ,pdata 
+5a04 6001049c store 2 ,mem_le_cur_attlist_start_ptr 
+
+le_send_att_read_by_group_type_response_loop:
+5a05 20405a88 call le_att_check_handle_end 
+5a06 24215a25 nbranch le_send_att_read_by_group_type_end0 ,positive 
+5a07 68090aa2 fetcht 2 ,mem_temp 
+5a08 2040578a call le_att_get_handle_info_from_ptr 
+5a09 c000da28 beq 1 ,le_send_att_read_by_group_type_end1 
+5a0a 20405a8c call le_att_same_type 
+5a0b 2422da23 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+5a0c 19627e00 copy timeup ,pdata 
+5a0d c0005a28 beq 0 ,le_send_att_read_by_group_type_end1 
+5a0e 24345a19 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+5a0f 78547c00 disable user 
+5a10 da200014 arg 20 ,rega 
+5a11 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a12 58000011 setarg attop_read_by_group_type_response 
+5a13 e0a08000 istore 1 ,contw 
+5a14 680084b3 fetch 1 ,mem_le_curr_att_len 
+5a15 1fe0fe04 increase 4 ,pdata 
+5a16 e0a08000 istore 1 ,contw 
+5a17 20407ea2 call store_contw 
+5a18 20205a1f branch le_send_att_read_by_group_type_store_record 
+
+le_send_att_read_by_group_type_store_write_record:
+5a19 680084b3 fetch 1 ,mem_le_curr_att_len 
+5a1a c0085a28 beq 16 ,le_send_att_read_by_group_type_end1 
+5a1b 68010aa2 fetch 2 ,mem_temp 
+5a1c 1fe0ffff increase -1 ,pdata 
+5a1d 600104a0 store 2 ,mem_le_cur_handle_end 
+5a1e 20405a9c call le_write_att_record 
+
+le_send_att_read_by_group_type_store_record:
+5a1f 68010aa2 fetch 2 ,mem_temp 
+5a20 6001049e store 2 ,mem_le_cur_handle_start 
+5a21 20405a97 call le_store_att_record 
+5a22 196097ff increase -1 ,timeup 
+
+le_send_att_read_by_group_type_next_handle:
+5a23 20405a84 call le_att_next_handle 
+5a24 20205a05 branch le_send_att_read_by_group_type_response_loop 
+
+le_send_att_read_by_group_type_end0:
+5a25 68010aa2 fetch 2 ,mem_temp 
+5a26 600104a0 store 2 ,mem_le_cur_handle_end 
+5a27 20205a2c branch le_send_att_read_by_group_type_end_common 
+
+le_send_att_read_by_group_type_end1:
+5a28 68010aa2 fetch 2 ,mem_temp 
+5a29 1fe0ffff increase -1 ,pdata 
+5a2a 600104a0 store 2 ,mem_le_cur_handle_end 
+5a2b 20205a2c branch le_send_att_read_by_group_type_end_common 
+
+le_send_att_read_by_group_type_end_common:
+5a2c 20345a76 branch le_send_att_error_response_notfound ,user 
+5a2d 20405a9c call le_write_att_record 
+5a2e 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_write_request:
+5a2f 18c22200 copy contr ,rega 
+5a30 680144fc fetch 2 ,mem_le_l2cap_size 
+5a31 1fe0a5fd add pdata ,-3 ,regb 
+5a32 204056e2 call le_writeatt_cb 
+
+le_send_att_write_response_check_auth:
+5a33 6800c4e9 fetch 1 ,mem_le_configuration 
+5a34 c3025a3d bbit0 bit_ble_write_auth ,le_send_att_write_response 
+5a35 68090478 fetcht 2 ,mem_le_att_handle 
+5a36 680144fa fetch 2 ,mem_le_pairing_handle 
+5a37 98467c00 isub temp ,null 
+5a38 2422da3d nbranch le_send_att_write_response ,zero 
+5a39 20405a42 call le_check_encrypt_state 
+5a3a 24345a3d nbranch le_send_att_write_response ,user 
+5a3b 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
+5a3c 20205a77 branch le_send_att_error_response 
+
+le_send_att_write_response:
+5a3d 18002201 force 1 ,rega 
+5a3e 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a3f 58000013 setarg attop_write_response 
+5a40 e0a08000 istore 1 ,contw 
+5a41 20600000 rtn 
+
+le_check_encrypt_state:
+5a42 20407fe9 call disable_user 
+5a43 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5a44 c1000000 rtneq le_pairing_mode_none 
+5a45 6800c040 fetch 1 ,mem_context 
+5a46 c3820000 rtnbit1 lestate_encryption 
+5a47 20207fe7 branch enable_user 
+
+le_parse_att_prepare_write_request:
+5a48 18c0a202 add contr ,2 ,rega 
+5a49 680144fc fetch 2 ,mem_le_l2cap_size 
+5a4a 1fe0a5fb add pdata ,-5 ,regb 
+5a4b 204056e2 call le_writeatt_cb 
+5a4c 20205a4d branch le_send_att_prepare_write_response 
+
+le_send_att_prepare_write_response:
+5a4d 680144fc fetch 2 ,mem_le_l2cap_size 
+5a4e 1fe22200 copy pdata ,rega 
+5a4f 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a50 58000017 setarg attop_prepare_write_response 
+5a51 e0a08000 istore 1 ,contw 
+5a52 68010478 fetch 2 ,mem_le_att_handle 
+5a53 e0a10000 istore 2 ,contw 
+5a54 680144fc fetch 2 ,mem_le_l2cap_size 
+5a55 1fe0f3fb add pdata ,-5 ,loopcnt 
+5a56 6801450d fetch 2 ,mem_le_payload_ptr 
+5a57 1fe08c07 add pdata ,7 ,contr 
+5a58 e8c10000 ifetch 2 ,contr 
+5a59 e0a10000 istore 2 ,contw 
+5a5a 20207ef4 branch memcpy_fast 
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+5a5b 18002201 force 1 ,rega 
+5a5c 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a5d 58000019 setarg attop_execute_write_response 
+5a5e e0a08000 istore 1 ,contw 
+5a5f 20600000 rtn 
+
+le_parse_att_write_command:
+5a60 18c22200 copy contr ,rega 
+5a61 680144fc fetch 2 ,mem_le_l2cap_size 
+5a62 1fe0a5fd add pdata ,-3 ,regb 
+5a63 202056e2 branch le_writeatt_cb 
+
+le_att_malloc_tx_notify:
+5a64 18422600 copy temp ,regc 
+5a65 1a20a203 increase 3 ,rega 
+5a66 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a67 1a20a3fd increase -3 ,rega 
+5a68 5800001b setarg attop_handle_value_notification 
+5a69 e0a08000 istore 1 ,contw 
+5a6a 1a620400 copy regc ,temp 
+5a6b e0a90000 istoret 2 ,contw 
+5a6c 20600000 rtn 
+
+le_att_malloc_tx_indication:
+5a6d 18422600 copy temp ,regc 
+5a6e 1a20a203 increase 3 ,rega 
+5a6f 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a70 1a20a3fd increase -3 ,rega 
+5a71 5800001d setarg attop_handle_value_indication 
+5a72 e0a08000 istore 1 ,contw 
+5a73 1a620400 copy regc ,temp 
+5a74 e0a90000 istoret 2 ,contw 
+5a75 20600000 rtn 
+
+le_send_att_error_response_notfound:
+5a76 70047a0a jam att_err_attribute_not_found ,mem_le_err_code 
+
+le_send_att_error_response:
+5a77 18002205 force 5 ,rega 
+5a78 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a79 58000001 setarg attop_error_response 
+5a7a e0a08000 istore 1 ,contw 
+5a7b 68008477 fetch 1 ,mem_le_att_opcode 
+5a7c e0a08000 istore 1 ,contw 
+5a7d 68010478 fetch 2 ,mem_le_att_handle 
+5a7e e0a10000 istore 2 ,contw 
+5a7f 6800847a fetch 1 ,mem_le_err_code 
+5a80 e0a08000 istore 1 ,contw 
+5a81 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap_gatt:
+5a82 18002404 force le_l2cap_cid_att ,regb 
+5a83 20205847 branch le_fifo_malloc_tx_l2cap 
+
+le_att_next_handle:
+5a84 68090aa2 fetcht 2 ,mem_temp 
+5a85 18408401 increase 1 ,temp 
+5a86 60090aa2 storet 2 ,mem_temp 
+5a87 20600000 rtn 
+
+le_att_check_handle_end:
+5a88 68090aa2 fetcht 2 ,mem_temp 
+5a89 6801445c fetch 2 ,mem_le_search_handle_end 
+5a8a 98467c00 isub temp ,null 
+5a8b 20600000 rtn 
+
+le_att_same_type:
+5a8c 6808c45e fetcht 1 ,mem_le_search_att_type_length 
+5a8d da20445f arg mem_le_search_att_type ,rega 
+
+le_att_check_same_common:
+5a8e 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5a8f 1fe27200 copy pdata ,loopcnt 
+5a90 98467c00 isub temp ,null 
+5a91 24628000 nrtn zero 
+5a92 da4004a3 arg mem_le_cur_uuid ,regb 
+5a93 20207f88 branch string_compare 
+
+le_att_same_uuid:
+5a94 6808c471 fetcht 1 ,mem_le_search_uuid_length 
+5a95 da204472 arg mem_le_search_uuid ,rega 
+5a96 20205a8e branch le_att_check_same_common 
+
+le_store_att_record:
+5a97 680084b3 fetch 1 ,mem_le_curr_att_len 
+5a98 60008101 store 1 ,mem_tmp_buffer 
+5a99 1fe27200 copy pdata ,loopcnt 
+5a9a 20407e9f call get_contr 
+5a9b 20207ef4 branch memcpy_fast 
+
+le_write_att_record:
+5a9c 20407e9c call get_contw 
+5a9d 6801049e fetch 2 ,mem_le_cur_handle_start 
+5a9e e0a10000 istore 2 ,contw 
+5a9f 680104a0 fetch 2 ,mem_le_cur_handle_end 
+5aa0 e0a10000 istore 2 ,contw 
+
+le_write_att_record_common:
+5aa1 68008101 fetch 1 ,mem_tmp_buffer 
+5aa2 1fe27200 copy pdata ,loopcnt 
+5aa3 20407ef4 call memcpy_fast 
+5aa4 20207ea2 branch store_contw 
+
+le_send_auto_len_by_mem:
+5aa5 20407e9c call get_contw 
+5aa6 2040588a call le_fifo_get_last_att_ptr 
+5aa7 18a27e00 copy contw ,pdata 
+5aa8 98c62200 isub contr ,rega 
+5aa9 2040588d call le_fifo_get_last_l2cap_ptr 
+5aaa 1a227e00 copy rega ,pdata 
+5aab e0c10000 istore 2 ,contr 
+5aac 1a20a204 increase 4 ,rega 
+5aad 20405879 call le_fifo_get_last_tx_ptr 
+5aae 1a227e00 copy rega ,pdata 
+5aaf e0c08000 istore 1 ,contr 
+5ab0 20600000 rtn 
+
+le_get_search_handle_start_end_common:
+5ab1 1fecfe00 rshift8 pdata ,pdata 
+5ab2 6001445a store 2 ,mem_le_search_handle_start 
+5ab3 e8c10000 ifetch 2 ,contr 
+5ab4 6001445c store 2 ,mem_le_search_handle_end 
+5ab5 20600000 rtn 
+
+le_parse_signaling:
+5ab6 e8c08000 ifetch 1 ,contr 
+5ab7 e8c88000 ifetcht 1 ,contr 
+5ab8 e8c90000 ifetcht 2 ,contr 
+5ab9 c009dabb beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+5aba 20600000 rtn 
+
+le_l2cap_parse_conn_parameter_update_rsp:
+5abb e8c10000 ifetch 2 ,contr 
+5abc 60014509 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+5abd 700a9940 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+5abe 20207d86 branch ui_ipc_send_event 
+
+le_l2cap_tx_update_req:
+5abf da20000c arg 0x0c ,rega 
+5ac0 da600012 arg l2cap_connection_parameter_update_request ,regc 
+5ac1 20405ac7 call le_fifo_malloc_tx_l2cap_signaling 
+5ac2 58000008 setarg 0x08 
+5ac3 e0a10000 istore 2 ,contw 
+5ac4 68044496 fetch 8 ,mem_le_interval_min 
+5ac5 e0a40000 istore 8 ,contw 
+5ac6 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap_signaling:
+5ac7 20405acf call le_l2cap_update_signaling_identifier 
+5ac8 da400005 arg le_l2cap_cid_signal ,regb 
+5ac9 20405847 call le_fifo_malloc_tx_l2cap 
+5aca 1a627e00 copy regc ,pdata 
+5acb e0a08000 istore 1 ,contw 
+5acc 6800c508 fetch 1 ,mem_le_signaling_identifier 
+5acd e0a08000 istore 1 ,contw 
+5ace 20600000 rtn 
+
+le_l2cap_update_signaling_identifier:
+5acf 6800c508 fetch 1 ,mem_le_signaling_identifier 
+5ad0 1fe0fe01 pincrease 1 
+5ad1 6000c508 store 1 ,mem_le_signaling_identifier 
+5ad2 c1800000 rtnne 0 
+
+le_l2cap_reset_signaling_identifier:
+5ad3 70450801 jam 1 ,mem_le_signaling_identifier 
+5ad4 20600000 rtn 
+
+le_pairing_mode_init:
+5ad5 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5ad6 c0005ae4 beq le_pairing_mode_none ,le_set_no_pairing 
+5ad7 c000dae7 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+5ad8 c0015ae9 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+5ad9 c040dadd beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+5ada c0415adf beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+5adb c041dae2 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+5adc 20600000 rtn 
+
+le_set_pairing_mode_secure_justwork:
+5add 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ade 20205ae5 branch le_set_noinputnooutput 
+
+le_set_pairing_mode_secure_numeric:
+5adf 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ae0 70445401 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+5ae1 20600000 rtn 
+
+le_set_pairing_mode_secure_passkey:
+5ae2 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ae3 20205aea branch le_set_displayonly 
+
+le_set_no_pairing:
+5ae4 70445600 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+
+le_set_noinputnooutput:
+5ae5 70445403 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+5ae6 20600000 rtn 
+
+le_set_pairing_mode_lagacy_just_work:
+5ae7 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+5ae8 20205ae5 branch le_set_noinputnooutput 
+
+le_set_pairing_mode_lagacy_passkey:
+5ae9 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+
+le_set_displayonly:
+5aea 70445400 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+5aeb 20600000 rtn 
+
+le_secure_connection_enable:
+5aec 6800c456 fetch 1 ,mem_le_pres_auth 
+5aed 79207e03 set1 le_auth_secure_connection_pairing_bit ,pdata 
+5aee 6000c456 store 1 ,mem_le_pres_auth 
+5aef 20600000 rtn 
+
+le_secure_connection_disable:
+5af0 6800c456 fetch 1 ,mem_le_pres_auth 
+5af1 793ffe03 set0 le_auth_secure_connection_pairing_bit ,pdata 
+5af2 6000c456 store 1 ,mem_le_pres_auth 
+5af3 20600000 rtn 
+
+le_parse_smp:
+5af4 e8c08000 ifetch 1 ,contr 
+5af5 c000db09 beq smp_pairing_request ,le_parse_smp_pairing_request 
+5af6 c001db30 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+5af7 c0025b4d beq smp_pairing_random ,le_parse_smp_pairing_random 
+5af8 c002db5a beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+5af9 c0035b80 beq smp_encryption_information ,le_parse_smp_encryption_information 
+5afa c003dbc4 beq smp_master_identification ,le_parse_smp_master_identification 
+5afb c0045baf beq smp_identity_information ,le_parse_smp_identity_information 
+5afc c004dbc0 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+5afd c0055bc4 beq smp_signing_information ,le_parse_smp_signing_information 
+5afe c005dbc4 beq smp_security_request ,le_parse_smp_security_request 
+5aff c0065bc5 beq smp_pairing_public_key ,le_parse_smp_public_key 
+5b00 c006dbca beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+5b01 20600000 rtn 
+
+le_send_smp_security_request:
+5b02 18002202 force 2 ,rega 
+5b03 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b04 5800000b setarg smp_security_request 
+5b05 e0a08000 istore 1 ,contw 
+5b06 6800c456 fetch 1 ,mem_le_pres_auth 
+5b07 e0a08000 istore 1 ,contw 
+5b08 20600000 rtn 
+
+le_parse_smp_pairing_request:
+5b09 6000c44c store 1 ,mem_le_preq 
+5b0a e8c30000 ifetch 6 ,contr 
+5b0b e0a30000 istore 6 ,contw 
+5b0c 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b0d c0005b5f beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+5b0e 20405b2b call le_send_smp_pairing_response 
+5b0f 20405b26 call le_check_master_support_secure_connect 
+5b10 7044c403 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+5b11 6800c44d fetch 1 ,mem_le_preq_iocap 
+5b12 c0005b18 beq flag_iocap_displayonly ,le_set_tk_0 
+5b13 c000db18 beq flag_iocap_displayyesno ,le_set_tk_0 
+5b14 c001db18 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+5b15 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b16 c0015b1b beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+5b17 c1418000 rtneq le_pairing_mode_secure_connect_passkey 
+
+le_set_tk_0:
+5b18 dfe00000 arg 0 ,pdata 
+5b19 600244c7 store 4 ,mem_le_tk 
+5b1a 20600000 rtn 
+
+le_parse_smp_pairing_req_passkey:
+5b1b 6800c4e9 fetch 1 ,mem_le_configuration 
+5b1c c2805b24 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+
+le_genernate_tk:
+5b1d da2044c7 arg mem_le_tk ,rega 
+5b1e 1a220a00 copy rega ,contw 
+5b1f df200003 arg 3 ,loopcnt 
+5b20 2040630d call generate_random_loop 
+5b21 680144c9 fetch 2 ,mem_le_tk + 2 
+5b22 1fe17e07 and_into 0x7 ,pdata 
+5b23 600144c9 store 2 ,mem_le_tk + 2 
+
+le_parse_smp_pairing_req_fixed_passkey:
+5b24 700a9934 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+5b25 20207d86 branch ui_ipc_send_event 
+
+le_check_master_support_secure_connect:
+5b26 6800c44f fetch 1 ,mem_le_preq_auth 
+5b27 c3818000 rtnbit1 le_auth_secure_connection_pairing_bit 
+5b28 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b29 c4038000 rtnbit0 le_pairing_mode_secure_connect_bit 
+5b2a 20203402 branch app_ble_disconnect 
+
+le_send_smp_pairing_response:
+5b2b 18002207 force 7 ,rega 
+5b2c 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b2d 6803c453 fetch 7 ,mem_le_pres 
+5b2e e0a38000 istore 7 ,contw 
+5b2f 20600000 rtn 
+
+le_parse_smp_pairing_confirm:
+5b30 18c22200 copy contr ,rega 
+5b31 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b32 c041db37 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+5b33 1a220c00 copy rega ,contr 
+5b34 d8a0442a arg mem_le_rconfirm ,contw 
+5b35 20407ebf call memcpy16 
+5b36 20205b3d branch le_send_smp_pairing_confirm 
+
+le_parse_smp_pairing_confirm_secure_passkey:
+5b37 1a220c00 copy rega ,contr 
+5b38 d8a0442a arg mem_le_rconfirm ,contw 
+5b39 20407ebf call memcpy16 
+5b3a 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5b3b 7044c108 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+5b3c 20600000 rtn 
+
+le_send_smp_pairing_confirm:
+5b3d 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b3e c283db45 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+5b3f 2040739c call generate_confirm 
+5b40 18002211 force 17 ,rega 
+5b41 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b42 58000003 setarg smp_pairing_confirm 
+5b43 e0a08000 istore 1 ,contw 
+5b44 20207497 branch store_aes_result 
+
+le_send_smp_pairing_confirm_sc:
+5b45 d8a0443a arg mem_le_srand ,contw 
+5b46 2040630c call generate_random 
+5b47 204071c5 call function_f4_cb 
+5b48 18002211 force 17 ,rega 
+5b49 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b4a 58000003 setarg smp_pairing_confirm 
+5b4b e0a08000 istore 1 ,contw 
+5b4c 20207201 branch load_inverse_result 
+
+le_parse_smp_pairing_random:
+5b4d 18c22200 copy contr ,rega 
+5b4e 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b4f c283db61 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+5b50 1a220c00 copy rega ,contr 
+5b51 20407394 call authenticate_rconfirm 
+5b52 2022db75 branch le_parse_smp_pairing_random_success ,zero 
+
+le_send_pairing_confirm_value_failed:
+5b53 70047b04 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+
+le_send_pairing_failed:
+5b54 18002202 force 2 ,rega 
+5b55 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b56 58000005 setarg smp_pairing_failed 
+5b57 e0a08000 istore 1 ,contw 
+5b58 6800847b fetch 1 ,mem_le_ll_pairing_fail_reason 
+5b59 e0a08000 istore 1 ,contw 
+
+le_parse_smp_pairing_failed:
+5b5a 18000e0a force smp_pairing_timer ,queue 
+5b5b 20407f07 call timer_stop 
+5b5c 7044c400 jam flag_le_pairing_null ,mem_le_pairing_state 
+5b5d 700a9930 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+5b5e 20207d86 branch ui_ipc_send_event 
+
+le_smp_pairing_fail_reason_not_support_pairing:
+5b5f 70047b05 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+5b60 20205b54 branch le_send_pairing_failed 
+
+le_parse_smp_pairing_random_sc:
+5b61 d8a0042f arg mem_le_mrand ,contw 
+5b62 1a220c00 copy rega ,contr 
+5b63 20407ebf call memcpy16 
+5b64 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b65 c041db6c beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+5b66 2040714f call function_g2 
+5b67 20405b7a call le_send_smp_pairing_random 
+5b68 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b69 c1c10000 rtnne le_pairing_mode_secure_connect_numeric 
+5b6a 700a993b jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+5b6b 20207d86 branch ui_ipc_send_event 
+
+le_parse_smp_pairing_random_sc_passkey:
+5b6c 204071ba call function_f4_ca 
+5b6d d8a00af2 arg mem_aes_cmac_temp ,contw 
+5b6e 20407201 call load_inverse_result 
+5b6f da200af2 arg mem_aes_cmac_temp ,rega 
+5b70 da40442a arg mem_le_rconfirm ,regb 
+5b71 df200010 arg 16 ,loopcnt 
+5b72 20407f88 call string_compare 
+5b73 2422db53 nbranch le_send_pairing_confirm_value_failed ,zero 
+5b74 20205b7a branch le_send_smp_pairing_random 
+
+le_parse_smp_pairing_random_success:
+5b75 20407390 call generate_stk 
+5b76 700a9931 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+5b77 20407d86 call ui_ipc_send_event 
+5b78 70442901 jam 1 ,mem_ltk_exists 
+5b79 7044c405 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+
+le_send_smp_pairing_random:
+5b7a 18002211 force 17 ,rega 
+5b7b 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b7c 58000004 setarg smp_pairing_random 
+5b7d e0a08000 istore 1 ,contw 
+5b7e d8c0443a arg mem_le_srand ,contr 
+5b7f 20207ebf branch memcpy16 
+
+le_parse_smp_encryption_information:
+5b80 d8a0041f arg mem_le_peer_ltk ,contw 
+5b81 20207ebf branch memcpy16 
+
+le_send_smp_encryption_information:
+5b82 18002211 force 17 ,rega 
+5b83 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b84 58000006 setarg smp_encryption_information 
+5b85 e0a08000 istore 1 ,contw 
+5b86 6800c4e9 fetch 1 ,mem_le_configuration 
+5b87 c280db8a bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+5b88 d8c04419 arg mem_le_ltk ,contr 
+5b89 20207ebf branch memcpy16 
+
+le_send_fixed_ltk:
+5b8a d8c044ea arg mem_le_fixed_ltk ,contr 
+5b8b 20207ebf branch memcpy16 
+
+le_send_smp_master_identification:
+5b8c d8a044cb arg mem_le_ediv ,contw 
+5b8d 1800720a force 10 ,loopcnt 
+5b8e 2040630d call generate_random_loop 
+5b8f 1800220b force 11 ,rega 
+5b90 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b91 58000007 setarg smp_master_identification 
+5b92 e0a08000 istore 1 ,contw 
+5b93 680144cb fetch 2 ,mem_le_ediv 
+5b94 e0a10000 istore 2 ,contw 
+5b95 680444cd fetch 8 ,mem_le_rand 
+5b96 e0a40000 istore 8 ,contw 
+5b97 20600000 rtn 
+
+le_send_smp_identity_information:
+5b98 18002211 force 17 ,rega 
+5b99 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b9a 58000008 setarg smp_identity_information 
+5b9b e0a08000 istore 1 ,contw 
+5b9c 58000000 setarg 0 
+5b9d e0a40000 istore 8 ,contw 
+5b9e e0a40000 istore 8 ,contw 
+5b9f 20600000 rtn 
+
+le_send_smp_identity_address_information:
+5ba0 18002208 force 8 ,rega 
+5ba1 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5ba2 58000009 setarg smp_identity_address_information 
+5ba3 e0a08000 istore 1 ,contw 
+5ba4 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+5ba5 e0a08000 istore 1 ,contw 
+5ba6 680344a0 fetch 6 ,mem_le_lap 
+5ba7 e0a30000 istore 6 ,contw 
+5ba8 20600000 rtn 
+
+le_send_pairing_fail_unspecified_reason:
+5ba9 70047b08 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+5baa 20205b54 branch le_send_pairing_failed 
+
+le_check_init_key_distribution:
+5bab 6800c458 fetch 1 ,mem_le_pres_init_key_distribution 
+5bac 6808c458 fetcht 1 ,mem_le_pres_init_key_distribution 
+5bad 98417e00 iand temp ,pdata 
+5bae 20600000 rtn 
+
+le_parse_smp_identity_information:
+5baf d8a044d5 arg mem_le_irk ,contw 
+5bb0 20407ebf call memcpy16 
+5bb1 20405bab call le_check_init_key_distribution 
+5bb2 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5bb3 2020dba9 branch le_send_pairing_fail_unspecified_reason ,true 
+5bb4 6800c092 fetch 1 ,mem_device_option 
+5bb5 c1850000 rtnne dvc_op_module 
+5bb6 20405bb9 call le_check_master_addr_type 
+5bb7 24740000 nrtn user 
+5bb8 20203410 branch app_ble_store_reconn_info 
+
+le_check_master_addr_type:
+5bb9 20407fe9 call disable_user 
+5bba 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+5bbb c1000000 rtneq master_public_addr 
+5bbc 68008454 fetch 1 ,mem_le_plap + 5 
+5bbd 2fe180c0 compare 0xc0 ,pdata ,0xc0 
+5bbe 20608000 rtn true 
+5bbf 20207fe7 branch enable_user 
+
+le_parse_smp_identity_address_information:
+5bc0 20405bab call le_check_init_key_distribution 
+5bc1 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5bc2 2020dba9 branch le_send_pairing_fail_unspecified_reason ,true 
+5bc3 20600000 rtn 
+
+le_parse_smp_master_identification:
+
+le_parse_smp_signing_information:
+
+le_parse_smp_security_request:
+5bc4 20600000 rtn 
+
+le_parse_smp_public_key:
+5bc5 d8a009be arg mem_le_pubkey_remote_x_256 ,contw 
+5bc6 20407eb3 call memcpy64 
+5bc7 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5bc8 7044c101 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+5bc9 20600000 rtn 
+
+le_parse_smp_dhkey_check:
+5bca d8a00a6e arg mem_sp_confirm_remote ,contw 
+5bcb 20407ebf call memcpy16 
+5bcc 7044c106 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+5bcd 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5bce 20600000 rtn 
+
+le_send_smp_pairing_public_key:
+5bcf 18002241 force 65 ,rega 
+5bd0 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5bd1 5800000c setarg smp_pairing_public_key 
+5bd2 e0a08000 istore 1 ,contw 
+5bd3 d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+5bd4 20207eb3 branch memcpy64 
+
+le_send_smp_pairing_dhkey_check:
+5bd5 20407166 call function_f6_eb 
+5bd6 18002211 force 17 ,rega 
+5bd7 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5bd8 5800000d setarg smp_pairing_dhkey_check 
+5bd9 e0a08000 istore 1 ,contw 
+5bda 20207201 branch load_inverse_result 
+
+le_check_paring_time:
+5bdb 6800c4c4 fetch 1 ,mem_le_pairing_state 
+5bdc c17f8000 rtneq flag_le_pairing_end 
+5bdd d8400003 arg flag_le_pairing_rcv_pairing_req ,temp 
+5bde 98467c00 isub temp ,null 
+5bdf 24610000 nrtn positive 
+5be0 d8e0000a arg smp_pairing_timer ,queue 
+5be1 20407f16 call timer_check 
+5be2 247a0000 nrtn blank 
+5be3 20205ba9 branch le_send_pairing_fail_unspecified_reason 
+
+le_pairing_sm:
+5be4 473c402f bpatchx patch2f_0 ,mem_patch2f 
+5be5 6800c4c4 fetch 1 ,mem_le_pairing_state 
+5be6 c0005bef beq flag_le_pairing_null ,le_pairing_sm_null 
+5be7 c000dbf5 beq flag_le_pairing_start ,le_pairing_sm_start 
+5be8 c0015bef beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+5be9 c001dbf7 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+5bea c002dbfb beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+5beb c003dc07 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+5bec c0045c09 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+5bed c004dc10 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+5bee 20600000 rtn 
+
+le_pairing_sm_null:
+
+le_pairing_sm_send_sec_req:
+5bef 6800c4c5 fetch 1 ,mem_le_enc_state 
+5bf0 c1820000 rtnne flag_le_send_start_enc_rsp 
+5bf1 7044c5ff jam flag_le_enc_end ,mem_le_enc_state 
+5bf2 7044c4ff jam flag_le_pairing_end ,mem_le_pairing_state 
+5bf3 700a993f jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+5bf4 20207d86 branch ui_ipc_send_event 
+
+le_pairing_sm_start:
+5bf5 7044c402 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+5bf6 20205b02 branch le_send_smp_security_request 
+
+le_pairing_sm_rcv_pairing_req:
+5bf7 7044c404 jam flag_le_pairing_auth ,mem_le_pairing_state 
+5bf8 58017700 setarg timer_smp_pairing_timeout 
+5bf9 d8e0000a arg smp_pairing_timer ,queue 
+5bfa 20207f08 branch timer_init 
+
+le_pairing_sm_after_auth:
+5bfb 6800c4c5 fetch 1 ,mem_le_enc_state 
+5bfc c0025bfe beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+5bfd 20600000 rtn 
+
+le_pairing_sm_after_auth_start_enc:
+5bfe 7044c407 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+5bff 700a9929 jam bt_evt_le_enc_info ,mem_fifo_temp 
+5c00 20407d86 call ui_ipc_send_event 
+5c01 20405b82 call le_send_smp_encryption_information 
+5c02 6800c092 fetch 1 ,mem_device_option 
+5c03 c1850000 rtnne dvc_op_module 
+5c04 20405bb9 call le_check_master_addr_type 
+5c05 20740000 rtn user 
+5c06 20203410 branch app_ble_store_reconn_info 
+
+le_pairng_sm_send_enc_information:
+5c07 7044c408 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+5c08 20205b8c branch le_send_smp_master_identification 
+
+le_pairng_sm_send_master_indentification:
+5c09 6800c452 fetch 1 ,mem_le_preq_resp_key_distribution 
+5c0a 6808c459 fetcht 1 ,mem_le_pres_resp_key_distribution 
+5c0b 98417e00 iand temp ,pdata 
+5c0c 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5c0d 2020dc12 branch le_parse_start_enc_rsp_after_auth_end ,true 
+5c0e 7044c409 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+5c0f 20205b98 branch le_send_smp_identity_information 
+
+le_pairng_sm_send_indentity_information:
+5c10 20405ba0 call le_send_smp_identity_address_information 
+5c11 20205c12 branch le_parse_start_enc_rsp_after_auth_end 
+
+le_parse_start_enc_rsp_after_auth_end:
+5c12 18000e0a force smp_pairing_timer ,queue 
+5c13 20407f07 call timer_stop 
+5c14 7044c5ff jam flag_le_enc_end ,mem_le_enc_state 
+5c15 7044c4ff jam flag_le_pairing_end ,mem_le_pairing_state 
+5c16 700a993e jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+5c17 20207d86 branch ui_ipc_send_event 
+
+le_secure_connect_sm:
+5c18 473cc02f bpatchx patch2f_1 ,mem_patch2f 
+5c19 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c1a c4038000 rtnbit0 le_pairing_mode_secure_connect_bit 
+5c1b 6800c4bf fetch 1 ,mem_le_secure_connect_flag 
+5c1c c1810000 rtnne le_sp_flag_commit_256 
+5c1d 7044bf00 jam sp_flag_standby ,mem_le_secure_connect_flag 
+5c1e 6800c4c1 fetch 1 ,mem_le_secure_connect_state 
+5c1f c000dc58 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+5c20 c0015c5f beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+5c21 c001dc52 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+5c22 c0035c39 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+5c23 c003dc30 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+5c24 c0045c26 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+5c25 20600000 rtn 
+
+le_sc_sm_passkey_wait_confirm:
+5c26 6800c663 fetch 1 ,mem_authentication_passkey_times 
+5c27 1fe20e00 copy pdata ,queue 
+5c28 1fe0fe01 increase 1 ,pdata 
+5c29 6000c663 store 1 ,mem_authentication_passkey_times 
+5c2a 680244c7 fetch 4 ,mem_le_tk 
+5c2b afefffff qisolate1 pdata 
+5c2c 58000080 setarg 0x80 
+5c2d 7920fe00 setflag true ,0 ,pdata 
+5c2e 6000c664 store 1 ,mem_passkey_1bit 
+5c2f 20205c55 branch le_sc_sm_ready_send_pairing_confirm 
+
+le_sc_sm_wait_confirm_gkey:
+5c30 6800c4c2 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+5c31 7044c200 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+5c32 c000dc35 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+5c33 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c34 20600000 rtn 
+
+le_sc_confirm_gkey_ok:
+5c35 700a9931 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+5c36 20407d86 call ui_ipc_send_event 
+5c37 7044c405 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+5c38 20205bd5 branch le_send_smp_pairing_dhkey_check 
+
+le_sc_sm_receive_dhkey:
+5c39 680089b9 fetch 1 ,mem_sp_dhkey_invalid 
+5c3a c001dc3d beq sp_key_valid_256 ,le_dhkey_ready 
+5c3b 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c3c 20600000 rtn 
+
+le_dhkey_ready:
+5c3d 2040718d call function_f5 
+5c3e 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c3f c041dc41 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+5c40 20405b18 call le_set_tk_0 
+
+le_dhkey_ready_common:
+5c41 2040717a call function_f6_ea 
+5c42 da200af2 arg mem_aes_cmac_temp ,rega 
+5c43 da400a6e arg mem_sp_confirm_remote ,regb 
+5c44 df200010 arg 16 ,loopcnt 
+5c45 20407f88 call string_compare 
+5c46 2022dc49 branch le_dhkey_check_ok ,zero 
+
+le_dhkey_check_fail:
+5c47 70047b0b jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+5c48 20205b54 branch le_send_pairing_failed 
+
+le_dhkey_check_ok:
+5c49 20407595 call sp_calc_check_publickey_256 
+5c4a 2422dc47 nbranch le_dhkey_check_fail ,zero 
+5c4b 70442901 jam 1 ,mem_ltk_exists 
+5c4c 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c4d c040dc35 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+5c4e c041dc35 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+5c4f 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c50 7044c107 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+5c51 20600000 rtn 
+
+le_sc_sm_send_public_key:
+5c52 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c53 c041dc56 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+5c54 70466400 jam 0 ,mem_passkey_1bit 
+
+le_sc_sm_ready_send_pairing_confirm:
+5c55 20205b3d branch le_send_smp_pairing_confirm 
+
+le_sc_sm_send_public_key_passkey:
+5c56 70466300 jam 0 ,mem_authentication_passkey_times 
+5c57 20205b1b branch le_parse_smp_pairing_req_passkey 
+
+le_sc_sm_receive_public_key:
+5c58 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c59 6800c4c3 fetch 1 ,mem_le_sc_local_key_invalid 
+5c5a c001dc5c beq sp_key_valid_256 ,le_public_key_ready 
+5c5b 20600000 rtn 
+
+le_public_key_ready:
+5c5c 7044c102 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+5c5d 7009b900 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+5c5e 20207a99 branch sp_dhkey_calc_256 
+
+le_sc_sm_wait_send_public_key:
+5c5f 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c60 7044c103 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+5c61 20205bcf branch le_send_smp_pairing_public_key 
+
+le_fifo_malloc_tx_l2cap_smp:
+5c62 18002406 force le_l2cap_cid_smp ,regb 
+5c63 20205847 branch le_fifo_malloc_tx_l2cap 
+
+le_parse_ll:
+5c64 680082db fetch 1 ,mem_le_rxbuf + 2 
+5c65 c0005c7b beq ll_connection_update_req ,le_parse_connection_update_req 
+5c66 c000dc83 beq ll_channel_map_req ,le_parse_channel_map_req 
+5c67 c0015c8e beq ll_terminate_ind ,le_parse_terminate_ind 
+5c68 c001dcaa beq ll_enc_req ,le_parse_enc_req 
+5c69 c0025ce1 beq ll_enc_rsp ,le_parse_enc_rsp 
+5c6a c002dce6 beq ll_start_enc_req ,le_parse_start_enc_req 
+5c6b c0035cea beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+5c6c c003dcf5 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+5c6d c0045c99 beq ll_feature_req ,le_parse_feature_req 
+5c6e c004dcf5 beq ll_feature_rsp ,le_parse_feature_rsp 
+5c6f c0055cef beq ll_pause_enc_req ,le_parse_pause_enc_req 
+5c70 c005dcf5 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+5c71 c0065c9f beq ll_version_ind ,le_parse_version_ind 
+5c72 c006dcf5 beq ll_reject_ind ,le_parse_reject_ind 
+5c73 c0095ca6 beq ll_ping_req ,le_parse_ping_req 
+5c74 c009dcf5 beq ll_ping_rsp ,le_parse_ping_rsp 
+5c75 da200002 arg 2 ,rega 
+5c76 da400007 arg ll_unknown_rsp ,regb 
+5c77 20405842 call le_fifo_malloc_tx_ll 
+5c78 680082db fetch 1 ,mem_le_rxbuf + 2 
+5c79 e0a08000 istore 1 ,contw 
+5c7a 20600000 rtn 
+
+le_parse_connection_update_req:
+5c7b e8c48000 ifetch 9 ,contr 
+5c7c 6004c3d3 store 9 ,mem_le_new_param 
+5c7d e8c10000 ifetch 2 ,contr 
+5c7e 6001045f store 2 ,mem_le_instant 
+5c7f 6800843f fetch 1 ,mem_le_state 
+5c80 79207e05 set1 lestate_update_param ,pdata 
+5c81 6000843f store 1 ,mem_le_state 
+5c82 20600000 rtn 
+
+le_parse_channel_map_req:
+5c83 e8c28000 ifetch 5 ,contr 
+5c84 6002c3ce store 5 ,mem_le_new_map 
+5c85 e8c10000 ifetch 2 ,contr 
+5c86 6001045f store 2 ,mem_le_instant 
+5c87 68090459 fetcht 2 ,mem_le_event_count 
+5c88 98467c00 isub temp ,null 
+5c89 24215c8e nbranch le_parse_terminate_ind ,positive 
+5c8a 6800843f fetch 1 ,mem_le_state 
+5c8b 79207e06 set1 lestate_update_map ,pdata 
+5c8c 6000843f store 1 ,mem_le_state 
+5c8d 20600000 rtn 
+
+le_parse_terminate_ind:
+5c8e 58000014 setarg 20 
+5c8f 6001046d store 2 ,mem_le_superto 
+5c90 600144ba store 2 ,mem_le_init_superto 
+5c91 20600000 rtn 
+
+le_send_terminate_ind_user_terminated:
+5c92 da600013 arg error_remote_user_terminated_connection ,regc 
+
+le_send_terminate_ind:
+5c93 da200002 arg 2 ,rega 
+5c94 da400002 arg ll_terminate_ind ,regb 
+5c95 20405842 call le_fifo_malloc_tx_ll 
+5c96 1a627e00 copy regc ,pdata 
+5c97 e0a08000 istore 1 ,contw 
+5c98 20600000 rtn 
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+5c99 da200009 arg 9 ,rega 
+5c9a da400009 arg ll_feature_rsp ,regb 
+5c9b 20405842 call le_fifo_malloc_tx_ll 
+5c9c 58000001 setarg param_le_features 
+5c9d e0a40000 istore 8 ,contw 
+5c9e 20600000 rtn 
+
+le_parse_version_ind:
+5c9f 20748000 rtn master 
+
+le_send_version_ind:
+5ca0 da200006 arg 6 ,rega 
+5ca1 da40000c arg ll_version_ind ,regb 
+5ca2 20405842 call le_fifo_malloc_tx_ll 
+5ca3 6802c510 fetch 5 ,mem_lmp_version 
+5ca4 e0a28000 istore 5 ,contw 
+5ca5 20600000 rtn 
+
+le_parse_ping_req:
+5ca6 da400013 arg ll_ping_rsp ,regb 
+5ca7 20205ca8 branch le_send_ll_one_lenth 
+
+le_send_ll_one_lenth:
+5ca8 da200001 arg 1 ,rega 
+5ca9 20205842 branch le_fifo_malloc_tx_ll 
+
+le_parse_enc_req:
+5caa e8c40000 ifetch 8 ,contr 
+5cab 600444cd store 8 ,mem_le_rand 
+5cac e8c10000 ifetch 2 ,contr 
+5cad 600144cb store 2 ,mem_le_ediv 
+5cae e8c40000 ifetch 8 ,contr 
+5caf 600444aa store 8 ,mem_le_skdm 
+5cb0 e8c20000 ifetch 4 ,contr 
+5cb1 60024411 store 4 ,mem_le_ivm 
+5cb2 20405ccf call le_send_enc_rsp 
+5cb3 473d402f bpatchx patch2f_2 ,mem_patch2f 
+5cb4 6800c4c4 fetch 1 ,mem_le_pairing_state 
+5cb5 c002dcbc beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+5cb6 6800c4e9 fetch 1 ,mem_le_configuration 
+5cb7 c280dcbf bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+5cb8 6800c217 fetch 1 ,mem_nv_data_number 
+5cb9 245a67be ncall load_device_list_mode_4 ,blank 
+5cba 6800c429 fetch 1 ,mem_ltk_exists 
+5cbb c0005cc4 beq 0 ,le_ltk_lost 
+
+le_parse_enc_req_after_auth:
+5cbc 7044c501 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+5cbd 20405cdd call le_send_start_enc_req 
+5cbe 202073a2 branch generate_sk 
+
+le_parse_enc_req_fixed_ltk:
+5cbf 70442901 jam 1 ,mem_ltk_exists 
+5cc0 d8c044ea arg mem_le_fixed_ltk ,contr 
+5cc1 d8a04419 arg mem_le_ltk ,contw 
+5cc2 20407ebf call memcpy16 
+5cc3 20205cbc branch le_parse_enc_req_after_auth 
+
+le_ltk_lost:
+5cc4 473dc02f bpatchx patch2f_3 ,mem_patch2f 
+5cc5 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+5cc6 7044c400 jam flag_le_enc_null ,mem_le_pairing_state 
+5cc7 700a9941 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+5cc8 20207d86 branch ui_ipc_send_event 
+
+le_send_reject_ind:
+5cc9 da200002 arg 2 ,rega 
+5cca da40000d arg ll_reject_ind ,regb 
+5ccb 20405842 call le_fifo_malloc_tx_ll 
+5ccc 58000006 setarg le_err_pin_or_key_missing 
+5ccd e0a08000 istore 1 ,contw 
+5cce 20600000 rtn 
+
+le_send_enc_rsp:
+5ccf d8a044b2 arg mem_le_skds ,contw 
+5cd0 18007208 force 8 ,loopcnt 
+5cd1 2040630d call generate_random_loop 
+5cd2 d8a04415 arg mem_le_ivs ,contw 
+5cd3 18007204 force 4 ,loopcnt 
+5cd4 2040630d call generate_random_loop 
+5cd5 da20000d arg 13 ,rega 
+5cd6 da400004 arg ll_enc_rsp ,regb 
+5cd7 20405842 call le_fifo_malloc_tx_ll 
+5cd8 680444b2 fetch 8 ,mem_le_skds 
+5cd9 e0a40000 istore 8 ,contw 
+5cda 68024415 fetch 4 ,mem_le_ivs 
+5cdb e0a20000 istore 4 ,contw 
+5cdc 20600000 rtn 
+
+le_send_start_enc_req:
+5cdd da400005 arg ll_start_enc_req ,regb 
+5cde 20205ca8 branch le_send_ll_one_lenth 
+
+le_send_start_enc_rsp:
+5cdf da400006 arg ll_start_enc_rsp ,regb 
+5ce0 20205ca8 branch le_send_ll_one_lenth 
+
+le_parse_enc_rsp:
+5ce1 e8c40000 ifetch 8 ,contr 
+5ce2 600444b2 store 8 ,mem_le_skds 
+5ce3 e8c20000 ifetch 4 ,contr 
+5ce4 60024415 store 4 ,mem_le_ivs 
+5ce5 202073a2 branch generate_sk 
+
+le_parse_start_enc_req:
+5ce6 6800843f fetch 1 ,mem_le_state 
+5ce7 79207e04 set1 lestate_encryption ,pdata 
+5ce8 6000843f store 1 ,mem_le_state 
+5ce9 20600000 rtn 
+
+le_parse_start_enc_rsp:
+5cea 20748000 rtn master 
+5ceb 700a9932 jam bt_evt_le_start_enc ,mem_fifo_temp 
+5cec 20407d86 call ui_ipc_send_event 
+5ced 7044c504 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+5cee 20205cdf branch le_send_start_enc_rsp 
+
+le_parse_pause_enc_req:
+5cef 7044c502 jam flag_le_enc_pause ,mem_le_enc_state 
+5cf0 20405cf3 call le_send_pause_enc_rsp 
+5cf1 700a9933 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+5cf2 20207d86 branch ui_ipc_send_event 
+
+le_send_pause_enc_rsp:
+5cf3 da40000b arg ll_pause_enc_rsp ,regb 
+5cf4 20205ca8 branch le_send_ll_one_lenth 
+
+le_parse_feature_rsp:
+
+le_parse_unknown_rsp:
+
+le_parse_pause_enc_rsp:
+
+le_parse_reject_ind:
+
+le_parse_ping_rsp:
+5cf5 20600000 rtn 
+
+init_lmp:
+5cf6 20758000 rtn wake 
+
+init_lmp_work:
+5cf7 473e402f bpatchx patch2f_4 ,mem_patch2f 
+5cf8 58000000 setarg 0 
+5cf9 60008048 store 1 ,mem_lmp_to_send 
+5cfa 60008055 store 1 ,mem_conn_sm 
+5cfb 60008078 store 1 ,mem_lmo_opcode1 
+5cfc 6000807c store 1 ,mem_lmo_opcode2 
+5cfd 6000c158 store 1 ,mem_esco_addr 
+5cfe 600084d7 store 1 ,mem_auth_enable 
+5cff 6000816d store 1 ,mem_connection_options 
+5d00 600089b5 store 1 ,mem_pairing_auth 
+5d01 70455b00 jam switch_flag_init ,mem_switch_flag 
+5d02 70022900 jam 0 ,mem_switch_fail_master_count 
+5d03 7004d800 jam null_encryp ,mem_wait_encryption 
+
+init_lmp_reinit:
+5d04 7009b500 jam 0 ,mem_pairing_auth 
+5d05 7009b400 jam 0 ,mem_sp_localsm 
+5d06 7004d100 jam 0 ,mem_lmp_conn_state 
+
+parse_rx_done:
+5d07 20600000 rtn 
+
+parse_lmp:
+5d08 473ec02f bpatchx patch2f_5 ,mem_patch2f 
+5d09 2054e2ff call setlocalsm_master ,master 
+5d0a 2454e303 ncall setlocalsm_slave ,master 
+5d0b 204062bc call lmo_fifo_check 
+5d0c 247a0000 nrtn blank 
+5d0d 6800804c fetch 1 ,mem_state_map 
+5d0e c4030000 rtnbit0 smap_rxlmp 
+5d0f 793ffe06 set0 smap_rxlmp ,pdata 
+5d10 793f8001 set0 mark_rxbuf_inuse ,mark 
+5d11 6000804c store 1 ,mem_state_map 
+5d12 68008551 fetch 1 ,mem_rxbuf 
+5d13 6808804c fetcht 1 ,mem_state_map 
+5d14 2feffe00 isolate1 smap_lmptidinit ,pdata 
+5d15 79208401 setflag true ,smap_lmptid ,temp 
+5d16 6008804c storet 1 ,mem_state_map 
+5d17 18410402 and_into 0x2 ,temp 
+5d18 6008807f storet 1 ,mem_lmo_tid2 
+5d19 6808804c fetcht 1 ,mem_state_map 
+5d1a 1fe37e00 rshift pdata ,pdata 
+5d1b 6000807d store 1 ,mem_lmi_opcode2 
+5d1c 473f402f bpatchx patch2f_6 ,mem_patch2f 
+5d1d 6800807d fetch 1 ,mem_lmi_opcode2 
+5d1e c03fdd66 beq lmp_escape ,parse_lmp_escape 
+5d1f c001ddb1 beq lmp_accepted ,parse_lmp_accepted 
+5d20 c0025dc2 beq lmp_not_accepted ,parse_lmp_not_accepted 
+5d21 c01e5d59 beq lmp_set_afh ,parse_lmp_set_afh 
+5d22 c002dd55 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+5d23 c007dfa8 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+5d24 c0085e24 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+5d25 c011de42 beq lmp_auto_rate ,parse_lmp_auto_rate 
+5d26 c01cdfc1 beq lmp_test_control ,parse_lmp_test_control 
+5d27 c01c5fbc beq lmp_test_activate ,parse_lmp_test_activate 
+5d28 c018de27 beq lmp_setup_complete ,parse_lmp_setup_complete 
+5d29 c01bdeb0 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+5d2a c013deac beq lmp_features_req ,parse_lmp_features_req 
+5d2b c019dea9 beq lmp_host_connection_req ,parse_lmp_conn_req 
+5d2c c012deae beq lmp_version_req ,parse_lmp_version_req 
+5d2d c0135e3e beq lmp_version_res ,parse_lmp_version_res 
+5d2e c003de36 beq lmp_detach ,parse_lmp_detach 
+5d2f c016de2d beq lmp_max_slot ,parse_lmp_max_slot 
+5d30 c0175e2e beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+5d31 c000dea5 beq lmp_name_req ,parse_lmp_name_req 
+5d32 c0015e90 beq lmp_name_res ,parse_lmp_name_res 
+5d33 c0145fb3 beq lmp_features_res ,parse_lmp_features_res 
+5d34 c004de86 beq lmp_comb_key ,parse_lmp_comb_key 
+5d35 c005de5f beq lmp_au_rand ,parse_lmp_au_rand 
+5d36 c0045e43 beq lmp_in_rand ,parse_lmp_in_rand 
+5d37 c0065e6a beq lmp_sres ,parse_lmp_sres 
+5d38 c00fde3a beq lmp_incr_power_req ,parse_lmp_incr_power 
+5d39 c0105e3c beq lmp_decr_power_req ,parse_lmp_decr_power 
+5d3a c010deca beq lmp_max_power ,parse_lmp_max_power 
+5d3b c0115eca beq lmp_min_power ,parse_lmp_min_power 
+5d3c c01adecb beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+5d3d c01b5ecc beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+5d3e c0125eca beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+5d3f c01a5ecd beq lmp_slot_offset ,parse_lmp_slot_offset 
+5d40 c00bded6 beq lmp_sniff_req ,parse_lmp_sniff_req 
+5d41 c008def2 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+5d42 c0095ef6 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+5d43 c009def8 beq lmp_switch_req ,parse_lmp_switch_req 
+5d44 c006df0a beq lmp_temp_rand ,parse_lmp_temp_rand 
+5d45 c0075f0a beq lmp_temp_key ,parse_lmp_temp_key 
+5d46 c017deaa beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+5d47 c0185f0a beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+5d48 c0055f0a beq lmp_unit_key ,parse_lmp_unit_key 
+5d49 c00c5f0b beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+5d4a c0195f0a beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+5d4b c01edf10 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+5d4c c01f5f51 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+5d4d c01fdf4b beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+5d4e c0205f78 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+5d4f c020df8a beq lmp_dhkey_check ,parse_dhkey_check 
+5d50 c0035fa7 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+5d51 c01d5d57 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+
+reject_unknown_packet:
+5d52 70007e19 jam unknown_lmp_pdu ,mem_lmo_reason2 
+
+reject_lmp_packet:
+5d53 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5d54 20600000 rtn 
+
+parse_lmp_clkoffset_req:
+5d55 70007c06 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+5d56 20600000 rtn 
+
+parse_enc_key_size_mask_req:
+5d57 70007c3b jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+5d58 20600000 rtn 
+
+parse_lmp_set_afh:
+5d59 68020552 fetch 4 ,mem_rxbuf + 1 
+5d5a 1fe3fe00 lshift pdata ,pdata 
+5d5b 600240d2 store 4 ,mem_afh_instant 
+5d5c 68008556 fetch 1 ,mem_rxbuf + 5 
+5d5d 6000c0d9 store 1 ,mem_afh_new_mod 
+5d5e 68028557 fetch 5 ,mem_rxbuf + 6 
+5d5f 6002c0e7 store 5 ,mem_afh_map_new 
+5d60 6802855c fetch 5 ,mem_rxbuf + 11 
+5d61 e0a28000 istore 5 ,contw 
+5d62 68008031 fetch 1 ,mem_mode 
+5d63 79207e03 set1 afh_change ,pdata 
+5d64 60008031 store 1 ,mem_mode 
+5d65 20600000 rtn 
+
+parse_lmp_escape:
+5d66 473fc02f bpatchx patch2f_7 ,mem_patch2f 
+5d67 68008552 fetch 1 ,mem_rxbuf + 1 
+5d68 79207e07 set1 7 ,pdata 
+5d69 6000807d store 1 ,mem_lmi_opcode2 
+5d6a c040dd88 beq lmp_ext_accepted ,parse_lmpext_accepted 
+5d6b c0415d8d beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+5d6c c04adeb1 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+5d6d c04b5eca beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+5d6e c045debf beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+5d6f c041dda5 beq lmp_ext_features_req ,parse_lmpext_features_req 
+5d70 c0425da7 beq lmp_ext_features_res ,parse_lmpext_features_res 
+5d71 c0485d7a beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+5d72 c04bdd9e beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+5d73 c04c5da3 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+5d74 c04cdd7d beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+5d75 c04d5d80 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+5d76 c1420000 rtneq lmp_ext_features_res 
+
+reject_unknown_ext_packet:
+5d77 70007c82 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+5d78 70007e19 jam unknown_lmp_pdu ,mem_lmo_reason2 
+5d79 20600000 rtn 
+
+parse_lmpext_chn_classification_req:
+5d7a 70007c82 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+5d7b 70007e2e jam not_support_chn_classification ,mem_lmo_reason2 
+5d7c 20600000 rtn 
+
+parse_lmpext_iocap_req:
+5d7d 20405d82 call iocap_lmpext_load 
+5d7e 70007c9a jam lmp_io_cap_res ,mem_lmo_opcode2 
+5d7f 20600000 rtn 
+
+parse_lmpext_iocap_res:
+5d80 20405d82 call iocap_lmpext_load 
+5d81 20205d86 branch iocap_lmpext_common 
+
+iocap_lmpext_load:
+5d82 d8a0465e arg mem_sp_iocap_remote ,contw 
+5d83 68018553 fetch 3 ,mem_rxbuf + 2 
+5d84 e0a18000 istore 3 ,contw 
+5d85 20600000 rtn 
+
+iocap_lmpext_common:
+5d86 2020f6d8 branch master_set_mem_master_sp_flag ,true 
+5d87 20600000 rtn 
+
+parse_lmpext_accepted:
+5d88 68008554 fetch 1 ,mem_rxbuf + 3 
+5d89 79207e07 set1 7 ,pdata 
+5d8a 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5d8b c045dd92 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+5d8c 20600000 rtn 
+
+parse_lmpext_not_accepted:
+5d8d 68008554 fetch 1 ,mem_rxbuf + 3 
+5d8e 79207e07 set1 7 ,pdata 
+5d8f 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5d90 c045dd96 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+5d91 20600000 rtn 
+
+parse_lmpext_accepted_ptt:
+5d92 6800c15a fetch 1 ,mem_ptt 
+5d93 6808804c fetcht 1 ,mem_state_map 
+5d94 7d3a0405 nsetflag blank ,smap_edr ,temp 
+5d95 6008804c storet 1 ,mem_state_map 
+
+parse_lmpext_not_accepted_ptt:
+5d96 68008030 fetch 1 ,mem_state 
+5d97 c4028000 rtnbit0 state_init_seq 
+5d98 793ffe05 set0 state_init_seq ,pdata 
+5d99 60008030 store 1 ,mem_state 
+5d9a 680084d7 fetch 1 ,mem_auth_enable 
+5d9b 247a0000 nrtn blank 
+5d9c 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+5d9d 20600000 rtn 
+
+parse_lmpext_pause_encrypt:
+5d9e 2434dda1 nbranch parse_lmpext_pause_encrypt_slave ,master 
+5d9f 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+5da0 202062eb branch tid_reply 
+
+parse_lmpext_pause_encrypt_slave:
+5da1 70007c97 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+5da2 20600000 rtn 
+
+parse_lmpext_resume_encrypt:
+5da3 204062eb call tid_reply 
+5da4 20205ffe branch lmp_start_encryption 
+
+parse_lmpext_features_req:
+5da5 70007c84 jam lmp_ext_features_res ,mem_lmo_opcode2 
+5da6 20600000 rtn 
+
+parse_lmpext_features_res:
+5da7 68088555 fetcht 1 ,mem_rxbuf + 4 
+5da8 18410401 and temp ,0x1 ,temp 
+5da9 600884d0 storet 1 ,mem_remote_sppcap 
+5daa 6800c1ce fetch 1 ,mem_hci_cmd 
+5dab c0a8ddad bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+5dac 7041ce00 jam 0 ,mem_hci_cmd 
+
+parse_lmpext_features_res_not_hci:
+5dad 68008055 fetch 1 ,mem_conn_sm 
+5dae c18a8000 rtnne conn_sm_wait_features_ext 
+5daf 70005504 jam conn_sm_send_conn_req ,mem_conn_sm 
+5db0 2020631b branch process_conn_sm 
+
+parse_lmp_accepted:
+5db1 47404030 bpatchx patch30_0 ,mem_patch30 
+5db2 68008552 fetch 1 ,mem_rxbuf + 1 
+5db3 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5db4 c019ddd8 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+5db5 c0045de7 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+5db6 c007ddee beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+5db7 c0085df4 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+5db8 c008ddf5 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+5db9 c0095dfd beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+5dba c00c5e13 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+5dbb c00bde16 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+5dbc c009ddcf beq lmp_switch_req ,parse_lmp_accepted_switch 
+5dbd c01edf1e beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+5dbe c01f5f6a beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+5dbf c0205f20 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+5dc0 c020df3d beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+5dc1 20600000 rtn 
+
+parse_lmp_not_accepted:
+5dc2 4740c030 bpatchx patch30_1 ,mem_patch30 
+5dc3 68008552 fetch 1 ,mem_rxbuf + 1 
+5dc4 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5dc5 c000de0a beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+5dc6 c019dde2 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+5dc7 c005ddfe beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+5dc8 c0045e01 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+5dc9 c009ddd2 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+5dca c0205e0b beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+5dcb c020de0e beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+5dcc c00c5e11 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+5dcd c00bde22 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+5dce 20600000 rtn 
+
+parse_lmp_accepted_switch:
+5dcf 700a9920 jam bt_evt_switch_accept ,mem_fifo_temp 
+5dd0 20407d86 call ui_ipc_send_event 
+5dd1 202021dc branch role_switch_prepare0 
+
+parse_lmp_not_accepted_switch:
+5dd2 700a9919 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+5dd3 20407d86 call ui_ipc_send_event 
+5dd4 70455b02 jam switch_flag_not_accept ,mem_switch_flag 
+5dd5 58000050 setarg timer_switch_waite 
+5dd6 d8e00006 arg switch_wait_timer ,queue 
+5dd7 20207f08 branch timer_init 
+
+parse_lmp_accepted_hostconn:
+5dd8 680084d1 fetch 1 ,mem_lmp_conn_state 
+5dd9 79207e00 set1 received_conn_req ,pdata 
+5dda 600084d1 store 1 ,mem_lmp_conn_state 
+5ddb 700a9901 jam bt_evt_bb_connected ,mem_fifo_temp 
+5ddc 20407d86 call ui_ipc_send_event 
+5ddd 70007c8b jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+
+parse_lmp_accepted_hostconn_ctn:
+5dde 68008055 fetch 1 ,mem_conn_sm 
+5ddf c082dd07 bne conn_sm_wait_conn_accept ,parse_rx_done 
+5de0 70005506 jam conn_sm_auth_pair ,mem_conn_sm 
+5de1 20600000 rtn 
+
+parse_lmp_not_accepted_hostconn:
+5de2 7004ca0b jam acl_connection_already_exists ,mem_disconn_reason_send 
+5de3 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5de4 70005500 jam conn_sm_standby ,mem_conn_sm 
+5de5 2020dd07 branch parse_rx_done ,true 
+5de6 20600000 rtn 
+
+parse_lmp_accepted_inrand:
+5de7 6800c1bd fetch 1 ,mem_link_key_exists 
+5de8 247a0000 nrtn blank 
+5de9 2040244f call clear_linkkey 
+5dea 20405ffc call lmp_generate_key 
+5deb 20748000 rtn master 
+5dec 79200021 set1 mark_slave_in_rand_accepted ,mark 
+5ded 20600000 rtn 
+
+parse_lmp_accepted_enc_mode:
+5dee 24748000 nrtn master 
+5def 70007c10 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+5df0 6800804c fetch 1 ,mem_state_map 
+5df1 c4010000 rtnbit0 smap_encryption 
+5df2 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+5df3 20600000 rtn 
+
+parse_lmp_accepted_enc_keysize:
+5df4 20205ffe branch lmp_start_encryption 
+
+parse_lmp_accepted_start_enc:
+5df5 20406059 call send_create_conn_start_l2cap_timer_sm 
+5df6 68008030 fetch 1 ,mem_state 
+5df7 c3820000 rtnbit1 state_conn_comp 
+5df8 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+5df9 68008055 fetch 1 ,mem_conn_sm 
+5dfa c1850000 rtnne conn_sm_encrypt_wait 
+5dfb 7000550b jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+5dfc 20600000 rtn 
+
+parse_lmp_accepted_stop_enc:
+5dfd 20600000 rtn 
+
+parse_lmp_not_accepted_aurand:
+
+parse_lmp_not_accepted_aurand_send_detach:
+5dfe 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5dff 7004ca13 jam other_end_terminated ,mem_disconn_reason_send 
+5e00 20600000 rtn 
+
+parse_lmp_not_accepted_inrand:
+5e01 68008553 fetch 1 ,mem_rxbuf + 2 
+5e02 c0035e07 beq key_missing ,parse_lmp_inrand_key_missing 
+5e03 c18c0000 rtnne pairing_not_allowed 
+5e04 7004ca18 jam pairing_not_allowed ,mem_disconn_reason_send 
+5e05 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e06 20600000 rtn 
+
+parse_lmp_inrand_key_missing:
+5e07 7004ca06 jam key_missing ,mem_disconn_reason_send 
+5e08 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e09 20600000 rtn 
+
+parse_lmp_not_accepted_name_req:
+5e0a 20600000 rtn 
+
+parse_lmp_not_accepted_simple_pairing_number:
+5e0b 7009ae00 jam sp_stat_null ,mem_sp_state 
+5e0c 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e0d 20205d07 branch parse_rx_done 
+
+parse_lmp_not_accepted_dhkey_check:
+5e0e 7009ae00 jam sp_stat_null ,mem_sp_state 
+5e0f 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e10 20205d07 branch parse_rx_done 
+
+parse_lmp_not_accepted_unsniff_req:
+5e11 700a9924 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+5e12 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_accepted_unsniff_req:
+5e13 700a9923 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+5e14 20407d86 call ui_ipc_send_event 
+5e15 202026e9 branch sniff_exit 
+
+parse_lmp_accepted_sniff_req:
+5e16 700a9922 jam bt_evt_sniff_accept ,mem_fifo_temp 
+5e17 20407d86 call ui_ipc_send_event 
+5e18 58000000 setarg 0 
+5e19 60010075 store 2 ,mem_dsniff 
+5e1a 680141e3 fetch 2 ,mem_sniff_param_interval 
+5e1b 1fe3fe00 lshift pdata ,pdata 
+5e1c 60010032 store 2 ,mem_tsniff 
+5e1d 6800c1e5 fetch 1 ,mem_sniff_param_attempt 
+5e1e 60008073 store 1 ,mem_sniff_attempt 
+5e1f 6800c1e7 fetch 1 ,mem_sniff_param_timeout 
+5e20 60008074 store 1 ,mem_sniff_timeout 
+5e21 202026c6 branch sniff_init 
+
+parse_lmp_not_acdcept_sniff_req:
+5e22 700a9921 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+5e23 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_crypt_key:
+5e24 68088552 fetcht 1 ,mem_rxbuf + 1 
+5e25 60088054 storet 1 ,mem_key_size 
+5e26 20205e38 branch accept_lmp_msg 
+
+parse_lmp_setup_complete:
+5e27 680084d1 fetch 1 ,mem_lmp_conn_state 
+5e28 79207e02 set1 received_setup_complete ,pdata 
+5e29 600084d1 store 1 ,mem_lmp_conn_state 
+5e2a c3818000 rtnbit1 sent_setup_complete 
+5e2b 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+5e2c 20205d07 branch parse_rx_done 
+
+parse_lmp_max_slot:
+5e2d 20600000 rtn 
+
+parse_lmp_max_slot_req:
+5e2e 6800c0d0 fetch 1 ,mem_max_slot 
+5e2f 68088552 fetcht 1 ,mem_rxbuf + 1 
+5e30 98467c00 isub temp ,null 
+5e31 20215e38 branch accept_lmp_msg ,positive 
+5e32 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5e33 70007e1f jam unspecified_error ,mem_lmo_reason2 
+5e34 70007d2e jam lmp_max_slot_req ,mem_lmi_opcode2 
+5e35 20600000 rtn 
+
+parse_lmp_detach:
+5e36 20406157 call prepare_disconnect 
+5e37 20205e38 branch accept_lmp_msg 
+
+accept_lmp_msg:
+5e38 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5e39 20600000 rtn 
+
+parse_lmp_incr_power:
+5e3a 70007c21 jam lmp_max_power ,mem_lmo_opcode2 
+5e3b 20600000 rtn 
+
+parse_lmp_decr_power:
+5e3c 70007c22 jam lmp_min_power ,mem_lmo_opcode2 
+5e3d 20600000 rtn 
+
+parse_lmp_version_res:
+5e3e 68008055 fetch 1 ,mem_conn_sm 
+5e3f c1098000 rtneq conn_sm_wait_version 
+5e40 70005502 jam conn_sm_send_features ,mem_conn_sm 
+5e41 20600000 rtn 
+
+parse_lmp_auto_rate:
+5e42 20600000 rtn 
+
+parse_lmp_in_rand:
+5e43 20405ff9 call lmp_copy_rand 
+5e44 7004d401 jam pincode_state_wait_pincode ,mem_pincode_state 
+5e45 700a990a jam bt_evt_pincode_req ,mem_fifo_temp 
+5e46 20407d86 call ui_ipc_send_event 
+5e47 204062f3 call tid_check 
+5e48 2420e001 nbranch lmp_accept_inrand ,true 
+5e49 2434de4e nbranch parse_lmp_inrand_res ,master 
+5e4a 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5e4b 70007d08 jam lmp_in_rand ,mem_lmi_opcode2 
+5e4c 70007e23 jam transaction_collision ,mem_lmo_reason2 
+5e4d 20600000 rtn 
+
+parse_lmp_inrand_res:
+5e4e 6800804b fetch 1 ,mem_op 
+5e4f 79207e02 set1 op_inrand_req ,pdata 
+5e50 6000804b store 1 ,mem_op 
+5e51 20600000 rtn 
+
+pop_tid_follow:
+5e52 6808804c fetcht 1 ,mem_state_map 
+5e53 7d3a0401 nsetflag blank ,smap_lmptid ,temp 
+5e54 6008804c storet 1 ,mem_state_map 
+5e55 20600000 rtn 
+
+push_tid_follow:
+5e56 6800807f fetch 1 ,mem_lmo_tid2 
+5e57 1fe37e00 rshift pdata ,pdata 
+5e58 1fe17e01 and_into 1 ,pdata 
+5e59 20600000 rtn 
+
+parse_lmp_au_rand_moudle:
+5e5a 6800c217 fetch 1 ,mem_nv_data_number 
+5e5b 207a0000 rtn blank 
+5e5c 680089b5 fetch 1 ,mem_pairing_auth 
+5e5d 205a67b2 call load_device_list ,blank 
+5e5e 20600000 rtn 
+
+parse_lmp_au_rand:
+5e5f 20405e5a call parse_lmp_au_rand_moudle 
+5e60 20405e56 call push_tid_follow 
+5e61 600084d5 store 1 ,mem_sres_tid 
+5e62 20405ff9 call lmp_copy_rand 
+5e63 70007c0c jam lmp_sres ,mem_lmo_opcode2 
+5e64 6800c1bd fetch 1 ,mem_link_key_exists 
+5e65 247a0000 nrtn blank 
+5e66 68008030 fetch 1 ,mem_state 
+5e67 c3830000 rtnbit1 state_combkey 
+5e68 70007e06 jam key_missing ,mem_lmo_reason2 
+5e69 20205d53 branch reject_lmp_packet 
+
+parse_lmp_sres:
+5e6a da200040 arg mem_plap ,rega 
+5e6b 20407288 call function_e1 
+5e6c 68020552 fetch 4 ,mem_rxbuf + 1 
+5e6d 680a0592 fetcht 4 ,mem_input_store 
+5e6e 98467c00 isub temp ,null 
+5e6f 2022de73 branch authentication_ok ,zero 
+5e70 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e71 7004ca05 jam authentication_failure_error ,mem_disconn_reason_send 
+5e72 20600000 rtn 
+
+authentication_ok:
+5e73 20405e77 call authentication_ok_common 
+5e74 6800c65a fetch 1 ,mem_ssp_enable 
+5e75 203a5f3e branch pairing_success ,blank 
+5e76 20600000 rtn 
+
+authentication_ok_common:
+5e77 20407386 call copy_aco 
+5e78 204021b2 call linkkey_ready 
+5e79 6800804b fetch 1 ,mem_op 
+5e7a 2feffe01 isolate1 op_auth_req ,pdata 
+5e7b 793ffe01 set0 op_auth_req ,pdata 
+5e7c 6000804b store 1 ,mem_op 
+5e7d 68008055 fetch 1 ,mem_conn_sm 
+5e7e c00cde81 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+5e7f c00c5e81 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+5e80 20600000 rtn 
+
+authentication_ok_conn_sm:
+5e81 680089b5 fetch 1 ,mem_pairing_auth 
+5e82 c1800000 rtnne defalt_pairing_auth 
+5e83 6800804c fetch 1 ,mem_state_map 
+5e84 c3810000 rtnbit1 smap_encryption 
+5e85 202063b1 branch host_create_conn_encrypt 
+
+parse_lmp_comb_key:
+5e86 da200552 arg mem_rxbuf + 1 ,rega 
+5e87 da400582 arg mem_kinit ,regb 
+5e88 d8a00562 arg mem_random_number ,contw 
+5e89 20407352 call xor16 
+5e8a da200040 arg mem_plap ,rega 
+5e8b 20406311 call generate_linkkey 
+5e8c 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+5e8d 68008030 fetch 1 ,mem_state 
+5e8e c3035ffc bbit0 state_combkey ,lmp_generate_key 
+5e8f 20600000 rtn 
+
+parse_lmp_name_res:
+5e90 6801015f fetch 2 ,mem_len 
+5e91 1fe0f3fd add pdata ,-3 ,loopcnt 
+5e92 68088552 fetcht 1 ,mem_rxbuf + 1 
+5e93 58000101 setarg mem_tmp_buffer 
+5e94 98408a00 iadd temp ,contw 
+5e95 d8c00554 arg mem_rxbuf + 3 ,contr 
+5e96 20407f01 call memcpy 
+5e97 68088053 fetcht 1 ,mem_name_offset 
+5e98 68008553 fetch 1 ,mem_rxbuf + 2 
+5e99 98467e00 isub temp ,pdata 
+5e9a 1fe67c0e sub pdata ,14 ,null 
+5e9b 20215ea0 branch parse_lmp_name_res_end ,positive 
+5e9c 1840fe0e add temp ,14 ,pdata 
+5e9d 60008053 store 1 ,mem_name_offset 
+5e9e 70007c01 jam lmp_name_req ,mem_lmo_opcode2 
+5e9f 20600000 rtn 
+
+parse_lmp_name_res_end:
+5ea0 6800804c fetch 1 ,mem_state_map 
+5ea1 79207e03 set1 smap_name_res ,pdata 
+5ea2 6000804c store 1 ,mem_state_map 
+5ea3 c2826006 bbit1 smap_name_req ,lmp_disconnect 
+5ea4 20600000 rtn 
+
+parse_lmp_name_req:
+5ea5 68008552 fetch 1 ,mem_rxbuf + 1 
+5ea6 6000807d store 1 ,mem_lmi_opcode2 
+5ea7 70007c02 jam lmp_name_res ,mem_lmo_opcode2 
+5ea8 20600000 rtn 
+
+parse_lmp_conn_req:
+5ea9 20205e38 branch accept_lmp_msg 
+
+parse_lmp_timing_accuracy_req:
+5eaa 70007c30 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+5eab 20600000 rtn 
+
+parse_lmp_features_req:
+5eac 70007c28 jam lmp_features_res ,mem_lmo_opcode2 
+5ead 20600000 rtn 
+
+parse_lmp_version_req:
+5eae 70007c26 jam lmp_version_res ,mem_lmo_opcode2 
+5eaf 20600000 rtn 
+
+parse_lmp_supervision_timeout:
+5eb0 20600000 rtn 
+
+parse_lmp_sniff_subrating_req:
+5eb1 68010032 fetch 2 ,mem_tsniff 
+5eb2 98000400 iforce temp 
+5eb3 68008553 fetch 1 ,mem_rxbuf + 2 
+5eb4 60008095 store 1 ,mem_subsniff_rate 
+5eb5 984f8400 imul32 temp ,temp 
+5eb6 68010554 fetch 2 ,mem_rxbuf + 3 
+5eb7 1fe3fe00 lshift pdata ,pdata 
+5eb8 60010096 store 2 ,mem_subsniff_tcmax 
+5eb9 68020556 fetch 4 ,mem_rxbuf + 5 
+5eba 1fe3fe00 lshift pdata ,pdata 
+5ebb 60020091 store 4 ,mem_subsniff_instant 
+5ebc 18427e00 deposit temp 
+5ebd 60010098 store 2 ,mem_subsniff_tsniff 
+5ebe 20600000 rtn 
+
+parse_lmpext_packet_type_table_req:
+5ebf 6808c15a fetcht 1 ,mem_ptt 
+5ec0 68008553 fetch 1 ,mem_rxbuf + 2 
+5ec1 9842fc00 ixor temp ,null 
+5ec2 2422dd77 nbranch reject_unknown_ext_packet ,zero 
+5ec3 2feffe00 isolate1 0 ,pdata 
+5ec4 6800804c fetch 1 ,mem_state_map 
+5ec5 7920fe05 setflag true ,smap_edr ,pdata 
+5ec6 6000804c store 1 ,mem_state_map 
+5ec7 70007c81 jam lmp_ext_accepted ,mem_lmo_opcode2 
+5ec8 70007d8b jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+5ec9 20600000 rtn 
+
+parse_lmp_sniff_subrating_res:
+
+parse_lmp_preferred_rate:
+
+parse_lmp_max_power:
+
+parse_lmp_min_power:
+5eca 20600000 rtn 
+
+parse_lmp_page_mode_req:
+5ecb 20205e38 branch accept_lmp_msg 
+
+parse_lmp_page_scan_mode_req:
+5ecc 20205e38 branch accept_lmp_msg 
+
+parse_lmp_slot_offset:
+5ecd 68010552 fetch 2 ,mem_rxbuf + 1 
+5ece 60010171 store 2 ,mem_slot_offset 
+5ecf 20600000 rtn 
+
+parse_lmp_sniff_req_check_sniff_para:
+5ed0 68010555 fetch 2 ,mem_rxbuf + 4 
+5ed1 6808c172 fetcht 1 ,mem_lpm_mult 
+5ed2 984ffe00 imul32 temp ,pdata 
+5ed3 d8400640 arg 0x640 ,temp 
+5ed4 98467c00 isub temp ,null 
+5ed5 20600000 rtn 
+
+parse_lmp_sniff_req:
+5ed6 68010557 fetch 2 ,mem_rxbuf + 6 
+5ed7 203a5ef0 branch lmp_reject_sniff ,blank 
+5ed8 20405ed0 call parse_lmp_sniff_req_check_sniff_para 
+5ed9 20215ef0 branch lmp_reject_sniff ,positive 
+5eda 6800c092 fetch 1 ,mem_device_option 
+5edb 1fe67c0a sub pdata ,dvc_op_module ,null 
+5edc 2042bcd5 call module_set_lpm_mult_2 ,zero 
+5edd 68008030 fetch 1 ,mem_state 
+5ede c280def0 bbit1 state_insniff ,lmp_reject_sniff 
+5edf 68010553 fetch 2 ,mem_rxbuf + 2 
+5ee0 1fe3fe00 lshift pdata ,pdata 
+5ee1 60010075 store 2 ,mem_dsniff 
+5ee2 68010555 fetch 2 ,mem_rxbuf + 4 
+5ee3 1fe3fe00 lshift pdata ,pdata 
+5ee4 60010032 store 2 ,mem_tsniff 
+5ee5 68010557 fetch 2 ,mem_rxbuf + 6 
+5ee6 60008073 store 1 ,mem_sniff_attempt 
+5ee7 98000400 iforce temp 
+5ee8 68010559 fetch 2 ,mem_rxbuf + 8 
+5ee9 60008074 store 1 ,mem_sniff_timeout 
+5eea 98467c00 isub temp ,null 
+5eeb 24215eed nbranch set_big_value_to_attempt ,positive 
+5eec 60008073 store 1 ,mem_sniff_attempt 
+
+set_big_value_to_attempt:
+5eed 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5eee 70007d17 jam lmp_sniff_req ,mem_lmi_opcode2 
+5eef 20600000 rtn 
+
+lmp_reject_sniff:
+5ef0 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5ef1 20205d53 branch reject_lmp_packet 
+
+parse_lmp_start_encryption_req:
+5ef2 20405e38 call accept_lmp_msg 
+5ef3 20405ff9 call lmp_copy_rand 
+5ef4 2040728b call function_e3 
+5ef5 202026b8 branch start_encryption 
+
+parse_lmp_stop_encryption_req:
+5ef6 20405e38 call accept_lmp_msg 
+5ef7 202026c0 branch stop_encryption 
+
+parse_lmp_switch_req:
+5ef8 68020552 fetch 4 ,mem_rxbuf + 1 
+5ef9 1fe3fe00 lshift pdata ,pdata 
+5efa 2034df04 branch parse_lmp_switch_accept ,master 
+5efb 6808c1bd fetcht 1 ,mem_link_key_exists 
+5efc 243a5f01 nbranch parse_lmp_switch_req_clear_mark ,blank 
+
+parse_lmp_switch_req_not_accept:
+5efd 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5efe 70007d13 jam lmp_switch_req ,mem_lmi_opcode2 
+5eff 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f00 20600000 rtn 
+
+parse_lmp_switch_req_clear_mark:
+5f01 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+5f02 70005500 jam 0 ,mem_conn_sm 
+5f03 202021d9 branch role_switch_prepare 
+
+parse_lmp_switch_accept:
+5f04 204021d9 call role_switch_prepare 
+5f05 79200022 set1 mark_reconn_recieve_switch ,mark 
+5f06 6800816d fetch 1 ,mem_connection_options 
+5f07 793ffe02 set0 connection_switch ,pdata 
+5f08 6000816d store 1 ,mem_connection_options 
+5f09 20205e38 branch accept_lmp_msg 
+
+parse_lmp_temp_rand:
+
+parse_lmp_temp_key:
+
+parse_lmp_timing_accuracy_res:
+
+parse_lmp_unit_key:
+
+parse_lmp_use_semi_permanend_key:
+5f0a 20600000 rtn 
+
+parse_lmp_unsniff_req:
+5f0b 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5f0c 70007d18 jam lmp_unsniff_req ,mem_lmi_opcode2 
+5f0d 700a992e jam bt_evt_remote_unsniff ,mem_fifo_temp 
+5f0e 20407d86 call ui_ipc_send_event 
+5f0f 202026e9 branch sniff_exit 
+
+parse_lmp_encapsulated_header:
+5f10 68008552 fetch 1 ,mem_rxbuf + 1 
+5f11 c080df1c bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+5f12 68008553 fetch 1 ,mem_rxbuf + 2 
+5f13 c080df1c bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+5f14 68008554 fetch 1 ,mem_rxbuf + 3 
+5f15 c0985f1c bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+5f16 204062fc call check_localsm 
+5f17 2020df19 branch parse_lmp_encapsulated_header_master ,true 
+5f18 7009ae01 jam sp_stat_key_recv ,mem_sp_state 
+
+parse_lmp_encapsulated_header_master:
+5f19 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5f1a 70007d3d jam lmp_encapsulated_header ,mem_lmi_opcode2 
+5f1b 20205d07 branch parse_rx_done 
+
+parse_lmp_encapsulated_header_reject:
+5f1c 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f1d 20205d53 branch reject_lmp_packet 
+
+parse_lmp_accepted_encapsulated_header:
+5f1e 70007c3e jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+5f1f 20600000 rtn 
+
+parse_lmp_accepted_simple_pairing_number:
+5f20 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f21 c000df27 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+5f22 c0015f2b beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+
+parse_lmp_accepted_simple_pairing_number_common:
+5f23 204062fc call check_localsm 
+5f24 20608000 rtn true 
+5f25 7009ae08 jam sp_stat_confirm_recv ,mem_sp_state 
+5f26 20600000 rtn 
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+5f27 20407962 call g_noninit_number_confirm 
+5f28 700a9935 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+5f29 20407d86 call ui_ipc_send_event 
+5f2a 20205f23 branch parse_lmp_accepted_simple_pairing_number_common 
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+5f2b 204062fc call check_localsm 
+5f2c 20608000 rtn true 
+5f2d 6800c663 fetch 1 ,mem_authentication_passkey_times 
+5f2e c009df3b beq 19 ,authentication_passkey_end 
+5f2f 1fe0fe01 increase 1 ,pdata 
+5f30 6000c663 store 1 ,mem_authentication_passkey_times 
+
+authentication_passkey:
+5f31 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f32 7009ae04 jam sp_stat_commit_calc ,mem_sp_state 
+5f33 6800c663 fetch 1 ,mem_authentication_passkey_times 
+5f34 1fe20e00 copy pdata ,queue 
+5f35 6803468a fetch 6 ,mem_pin 
+5f36 afefffff qisolate1 pdata 
+5f37 58000080 setarg 0x80 
+5f38 7920fe00 setflag true ,0 ,pdata 
+5f39 6000c664 store 1 ,mem_passkey_1bit 
+5f3a 20600000 rtn 
+
+authentication_passkey_end:
+5f3b 7009ae08 jam sp_stat_confirm_recv ,mem_sp_state 
+5f3c 20600000 rtn 
+
+parse_lmp_accepted_dhkey_check:
+5f3d 20405f43 call parse_lmp_accepted_dhkey_check_common 
+
+pairing_success:
+5f3e 6800c665 fetch 1 ,mem_flag_pairing_state 
+5f3f 207a0000 rtn blank 
+5f40 70466500 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+5f41 700a9938 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+5f42 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_accepted_dhkey_check_common:
+5f43 204062fc call check_localsm 
+5f44 2440f965 ncall g_noninit ,true 
+5f45 2040f975 call g_init ,true 
+5f46 204062fc call check_localsm 
+5f47 20608000 rtn true 
+5f48 7009ae0c jam sp_stat_link_key_calc ,mem_sp_state 
+5f49 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f4a 20600000 rtn 
+
+parse_simple_pairing_confirm:
+5f4b d8a00a6e arg mem_sp_confirm_remote ,contw 
+5f4c d8c00552 arg mem_rxbuf + 1 ,contr 
+5f4d 20407ebf call memcpy16 
+5f4e 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f4f c1010000 rtneq ssp_mode_passkey_entry_flag 
+5f50 202076d8 branch master_set_mem_master_sp_flag 
+
+parse_lmp_encapsulated_payload:
+5f51 680089af fetch 1 ,mem_master_sp_state 
+5f52 c003df55 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+5f53 680089ae fetch 1 ,mem_sp_state 
+5f54 c080df68 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+
+parse_encapsulated_payload_master:
+5f55 680089b7 fetch 1 ,mem_sp_remote_key_recv_count 
+5f56 1fe60a20 sub pdata ,0x20 ,contw 
+5f57 24215f68 nbranch parse_lmp_encapsulated_payload_reject ,positive 
+5f58 d8a009c6 arg mem_sp_pubkey_remote ,contw 
+5f59 98a08a00 iadd contw ,contw 
+5f5a 68040552 fetch 8 ,mem_rxbuf + 1 
+5f5b e0a40000 istore 8 ,contw 
+5f5c 6804055a fetch 8 ,mem_rxbuf + 9 
+5f5d e0a40000 istore 8 ,contw 
+5f5e 680089b7 fetch 1 ,mem_sp_remote_key_recv_count 
+5f5f 1fe0fe10 increase 16 ,pdata 
+5f60 600089b7 store 1 ,mem_sp_remote_key_recv_count 
+5f61 c0985e38 bne encapsulated_len_p192 ,accept_lmp_msg 
+
+parse_lmp_encapsulated_payload_completed:
+5f62 204062fc call check_localsm 
+5f63 2020de38 branch accept_lmp_msg ,true 
+5f64 7009b801 jam sp_key_valid ,mem_sp_remote_key_invalid 
+5f65 7009ae02 jam sp_stat_key_generate ,mem_sp_state 
+5f66 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f67 20205e38 branch accept_lmp_msg 
+
+parse_lmp_encapsulated_payload_reject:
+5f68 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f69 20205d53 branch reject_lmp_packet 
+
+parse_lmp_accepted_encapsulated_payload:
+5f6a 680089b6 fetch 1 ,mem_sp_local_key_send_count 
+5f6b c0185f6e beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+5f6c 70007c3e jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+5f6d 20205d07 branch parse_rx_done 
+
+parse_lmp_encapsulated_payload_all_accepted:
+5f6e 204062fc call check_localsm 
+5f6f 2020df77 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+5f70 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f71 c0015f75 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+5f72 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f73 7009ae04 jam sp_stat_commit_calc ,mem_sp_state 
+5f74 20205d07 branch parse_rx_done 
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+5f75 700a9936 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+5f76 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+5f77 20205d07 branch parse_rx_done 
+
+parse_lmp_simple_pairing_number:
+5f78 680089af fetch 1 ,mem_master_sp_state 
+5f79 c003df7c beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+5f7a 680089ae fetch 1 ,mem_sp_state 
+5f7b c0835f88 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+
+parse_lmp_simple_pairing_number_master:
+5f7c d8a00a2e arg mem_sp_random_remote ,contw 
+5f7d 68040552 fetch 8 ,mem_rxbuf + 1 
+5f7e e0a40000 istore 8 ,contw 
+5f7f 6804055a fetch 8 ,mem_rxbuf + 9 
+5f80 e0a40000 istore 8 ,contw 
+5f81 204062fc call check_localsm 
+5f82 2020df86 branch parse_lmp_simple_pairing_number_master0 ,true 
+5f83 7009ae07 jam sp_stat_random_send ,mem_sp_state 
+5f84 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f85 20205e38 branch accept_lmp_msg 
+
+parse_lmp_simple_pairing_number_master0:
+5f86 7009af04 jam sp_stat_commit_calc ,mem_master_sp_state 
+5f87 202076d8 branch master_set_mem_master_sp_flag 
+
+parse_lmp_simple_pairing_number_reject:
+5f88 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f89 20205d53 branch reject_lmp_packet 
+
+parse_dhkey_check:
+5f8a 680089af fetch 1 ,mem_master_sp_state 
+5f8b c005df8e beq sp_stat_confirm_send ,parse_dhkey_check_master 
+5f8c 680089ae fetch 1 ,mem_sp_state 
+5f8d c0845f9d bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+
+parse_dhkey_check_master:
+5f8e d8a00a5e arg mem_sp_check_result ,contw 
+5f8f d8c00552 arg mem_rxbuf + 1 ,contr 
+5f90 20407ebf call memcpy16 
+5f91 204062fc call check_localsm 
+5f92 2020df9a branch parse_dhkey_check_master0 ,true 
+5f93 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f94 c000df9f beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+
+number_comparison_successed:
+5f95 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+5f96 7009ae09 jam sp_stat_confirm_check ,mem_sp_state 
+5f97 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f98 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+5f99 20205d07 branch parse_rx_done 
+
+parse_dhkey_check_master0:
+5f9a 7009af09 jam sp_stat_confirm_check ,mem_master_sp_state 
+5f9b 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+5f9c 20205d07 branch parse_rx_done 
+
+parse_lmp_dhkey_check_reject:
+5f9d 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f9e 20205d53 branch reject_lmp_packet 
+
+number_comparison_mode:
+5f9f 6800c661 fetch 1 ,mem_flag_mode_ssp_pin 
+5fa0 c283dfa4 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+5fa1 79207e06 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+5fa2 6000c661 store 1 ,mem_flag_mode_ssp_pin 
+5fa3 20600000 rtn 
+
+comparison_result:
+5fa4 c2805f95 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+5fa5 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+5fa6 20205f9d branch parse_lmp_dhkey_check_reject 
+
+parse_lmp_clkoffset_res:
+5fa7 20205d07 branch parse_rx_done 
+
+parse_lmp_encryption_mode_req:
+5fa8 6800816d fetch 1 ,mem_connection_options 
+5fa9 793ffe01 set0 connection_encrypt 
+5faa 6000816d store 1 ,mem_connection_options 
+5fab 20405e38 call accept_lmp_msg 
+5fac 24748000 nrtn master 
+5fad 68008552 fetch 1 ,mem_rxbuf + 1 
+5fae 6808804b fetcht 1 ,mem_op 
+5faf 793a0404 setflag blank ,op_stop_enc ,temp 
+5fb0 7d3a0405 nsetflag blank ,op_start_enc ,temp 
+5fb1 6008804b storet 1 ,mem_op 
+5fb2 20600000 rtn 
+
+parse_lmp_features_res:
+5fb3 680c0552 fetcht 8 ,mem_rxbuf + 1 
+
+parse_lmp_features_res_not_hci:
+5fb4 68008055 fetch 1 ,mem_conn_sm 
+5fb5 c1818000 rtnne conn_sm_wait_features_res 
+5fb6 6800816d fetch 1 ,mem_connection_options 
+5fb7 c3025fba bbit0 connection_feature_ext ,parse_lmp_send_conn 
+5fb8 70005514 jam conn_sm_send_features_ext ,mem_conn_sm 
+5fb9 20600000 rtn 
+
+parse_lmp_send_conn:
+5fba 70005504 jam conn_sm_send_conn_req ,mem_conn_sm 
+5fbb 20600000 rtn 
+
+parse_lmp_test_activate:
+5fbc 6800817f fetch 1 ,mem_debug_config 
+5fbd 6000815b store 1 ,mem_test_mode_old_debug_config 
+5fbe 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5fbf 70007d38 jam lmp_test_activate ,mem_lmi_opcode2 
+5fc0 20600000 rtn 
+
+parse_lmp_test_control:
+5fc1 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5fc2 70007d39 jam lmp_test_control ,mem_lmi_opcode2 
+5fc3 18007209 force 9 ,loopcnt 
+5fc4 d8c00552 arg mem_rxbuf + 1 ,contr 
+5fc5 d8a00152 arg mem_temp_payload ,contw 
+
+parse_lmp_test_xor:
+5fc6 e8c08000 ifetch 1 ,contr 
+5fc7 1fe2fe55 xor_into 0x55 ,pdata 
+5fc8 e0a08000 istore 1 ,contw 
+5fc9 c2005fc6 loop parse_lmp_test_xor 
+5fca 68008152 fetch 1 ,test_mode_scenario 
+5fcb 68088151 fetcht 1 ,mem_tester_emulate 
+5fcc 793f8407 set0 tester_no_whitening ,temp 
+5fcd 793f8404 set0 tester_pattern_test ,temp 
+5fce c07fdfda beq exit_test_mode ,parse_lmp_test_control_exit 
+5fcf c0005ff3 beq pause_test_mode ,parse_lmp_test_control_pause 
+5fd0 c002dfe7 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+5fd1 c003dfe6 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+5fd2 c0035fe7 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+5fd3 c0045fe6 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+5fd4 c000dfdf beq zero_pattern ,parse_lmp_test_control_pattern 
+5fd5 c0015fdf beq one_pattern ,parse_lmp_test_control_pattern 
+5fd6 c001dfdf beq alt_pattern ,parse_lmp_test_control_pattern 
+5fd7 c004dfdf beq alt2_pattern ,parse_lmp_test_control_pattern 
+5fd8 c0025fdf beq pseudorandom ,parse_lmp_test_control_pattern 
+5fd9 20600000 rtn 
+
+parse_lmp_test_control_exit:
+5fda 68008151 fetch 1 ,mem_tester_emulate 
+5fdb 79207e03 set1 tester_exit ,pdata 
+5fdc 79207e02 set1 tester_change ,pdata 
+5fdd 60008151 store 1 ,mem_tester_emulate 
+5fde 20600000 rtn 
+
+parse_lmp_test_control_pattern:
+5fdf 79200404 set1 tester_pattern_test ,temp 
+5fe0 70018005 jam 5 ,mem_lch_code 
+5fe1 68010159 fetch 2 ,test_mode_data_length 
+5fe2 98007200 iforce loopcnt 
+5fe3 6001015f store 2 ,mem_len 
+5fe4 d8a00551 arg mem_rxbuf ,contw 
+5fe5 20407f73 call pn9 
+
+parse_lmp_test_control_loopback_nowhite:
+5fe6 79200407 set1 tester_no_whitening ,temp 
+
+parse_lmp_test_control_loopback:
+5fe7 79200402 set1 tester_change ,temp 
+5fe8 18007e00 force 0 ,pdata 
+5fe9 6000800b store 1 ,mem_slave_rcvcnt 
+5fea 600100fa store 2 ,mem_tst_pktcnt_crc 
+5feb 600100fc store 2 ,mem_tst_pktcnt_dmh 
+5fec 600100f8 store 2 ,mem_tst_pktcnt_hec 
+5fed 600100f6 store 2 ,mem_tst_pktcnt_sync 
+5fee 68008153 fetch 1 ,test_mode_hopping_mode 
+5fef 2fe1fe00 compare fixed_freq ,pdata ,0xff 
+5ff0 79208406 setflag true ,tester_fixed_freq ,temp 
+5ff1 60088151 storet 1 ,mem_tester_emulate 
+5ff2 20600000 rtn 
+
+parse_lmp_test_control_pause:
+5ff3 793f8011 set0 mark_testmode ,mark 
+5ff4 70015100 jam 0 ,mem_tester_emulate 
+5ff5 6800817f fetch 1 ,mem_debug_config 
+5ff6 793ffe06 set0 debug_tx_pattern ,pdata 
+5ff7 6000817f store 1 ,mem_debug_config 
+5ff8 20600000 rtn 
+
+lmp_copy_rand:
+5ff9 d8c00552 arg mem_rxbuf + 1 ,contr 
+5ffa d8a00562 arg mem_random_number ,contw 
+5ffb 20207ebf branch memcpy16 
+
+lmp_generate_key:
+5ffc 70007c09 jam lmp_comb_key ,mem_lmo_opcode2 
+5ffd 20600000 rtn 
+
+lmp_start_encryption:
+5ffe 24748000 nrtn master 
+5fff 70007c11 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+6000 20600000 rtn 
+
+lmp_accept_inrand:
+6001 da2040a0 arg mem_lap ,rega 
+6002 20407255 call generate_kinit 
+6003 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+6004 70007d08 jam lmp_in_rand ,mem_lmi_opcode2 
+6005 20600000 rtn 
+
+lmp_disconnect:
+6006 7000720a jam 10 ,mem_conn_timer 
+6007 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+6008 7004ca16 jam local_host ,mem_disconn_reason_send 
+6009 20600000 rtn 
+
+send_lmp:
+600a 47414030 bpatchx patch30_2 ,mem_patch30 
+600b 78547c00 disable user 
+600c 204062c1 call lmo_fifo_process 
+600d 68008048 fetch 1 ,mem_lmp_to_send 
+600e 207a0000 rtn blank 
+600f c283e03f bbit1 7 ,send_lmp_escape 
+
+send_lmp0:
+6010 c000e16f beq lmp_name_req ,send_lmp_name_req 
+6011 c00160e4 beq lmp_name_res ,send_lmp_name_res 
+6012 c001e04a beq lmp_accepted ,send_lmp_accepted 
+6013 c0026060 beq lmp_not_accepted ,send_lmp_not_accepted 
+6014 c013e1db beq lmp_features_req ,send_lmp_features_req 
+6015 c0146108 beq lmp_features_res ,send_lmp_features_res 
+6016 c01860f4 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+6017 c012e1d6 beq lmp_version_req ,send_lmp_version_req 
+6018 c0136103 beq lmp_version_res ,send_lmp_version_res 
+6019 c018e1c3 beq lmp_setup_complete ,send_lmp_setup_complete 
+601a c01be16a beq lmp_supervision_timeout ,send_lmp_superto 
+601b c019e15c beq lmp_host_connection_req ,send_lmp_no_payload 
+601c c0046259 beq lmp_in_rand ,send_lmp_inrand 
+601d c004e24f beq lmp_comb_key ,send_lmp_comb_key 
+601e c005e264 beq lmp_au_rand ,send_lmp_aurand 
+601f c006626d beq lmp_sres ,send_lmp_sres 
+6020 c007e162 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+6021 c0086292 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+6022 c008e288 beq lmp_start_encryption_req ,send_lmp_start_encryption 
+6023 c003e152 beq lmp_detach ,send_lmp_detach 
+6024 c015617e beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+6025 c005617f beq lmp_unit_key ,send_lmp_unit_key 
+6026 c00fe1bc beq lmp_incr_power_req ,send_lmp_inc_power 
+6027 c00360f9 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+6028 c010e15f beq lmp_max_power ,send_lmp_nopayload_reply 
+6029 c016e1b2 beq lmp_max_slot ,send_lmp_max_slot 
+602a c01761b7 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+602b c011615f beq lmp_min_power ,send_lmp_nopayload_reply 
+602c c01a6180 beq lmp_slot_offset ,send_lmp_slot_offset 
+602d c009e195 beq lmp_switch_req ,send_lmp_switch_req 
+602e c00be1a4 beq lmp_sniff_req ,send_lmp_sniff_req 
+602f c009628f beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+6030 c017e1aa beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+6031 c00c61af beq lmp_unsniff_req ,send_lmp_unsniff_req 
+6032 c01ee1ff beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+6033 c01f620b beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+6034 c01fe21d beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+6035 c0206227 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+6036 c020e23c beq lmp_dhkey_check ,send_lmp_dhkey_check 
+6037 c011e24b beq lmp_auto_rate ,send_lmp_auto_rate 
+6038 c01de246 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+6039 c002e24c beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+603a c014e24d beq lmp_quality_of_service ,send_lmp_quality_of_service 
+603b c01c624e beq lmp_test_activate ,send_lmp_test_activate 
+603c c01ce175 beq lmp_test_control ,send_lmp_test_control 
+
+send_lmp_error:
+603d 20202a8c branch assert 
+603e 20600000 rtn 
+
+send_lmp_escape:
+603f c040e06d beq lmp_ext_accepted ,send_lmpext_accepted 
+6040 c0426099 beq lmp_ext_features_res ,send_lmpext_features_res 
+6041 c0416076 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+6042 c041e10d beq lmp_ext_features_req ,send_lmpext_features_req 
+6043 c045e118 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+6044 c04be14e beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+6045 c04ce0d5 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+6046 c04d60a4 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+6047 c04ae0da beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+6048 c04b60db beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+6049 20202a8c branch assert 
+
+send_lmp_accepted:
+604a 18007e02 force 2 ,pdata 
+604b 20406298 call msg_send_lmp 
+604c 68008049 fetch 1 ,mem_lmi_opcode 
+604d e0a08000 istore 1 ,contw 
+604e 204062a7 call send_lmp_follow 
+604f 4741c030 bpatchx patch30_3 ,mem_patch30 
+6050 68008049 fetch 1 ,mem_lmi_opcode 
+6051 c0046080 beq lmp_in_rand ,send_lmp_accepted_inrand 
+6052 c007e084 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+6053 c008608f beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+6054 c00be05f beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+6055 c019e092 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+6056 c020e098 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+6057 c008e059 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+6058 20600000 rtn 
+
+send_create_conn_start_l2cap_timer_sm:
+6059 68008055 fetch 1 ,mem_conn_sm 
+605a 207a0000 rtn blank 
+605b 7000551b jam conn_sm_wait_done ,mem_conn_sm 
+605c 5800000c setarg timer_enpt_waite 
+605d d8e00007 arg enpt_delay_timer ,queue 
+605e 20207f08 branch timer_init 
+
+send_lmp_accept_sniff_req:
+605f 202026c6 branch sniff_init 
+
+send_lmp_not_accepted:
+6060 18007e03 force 3 ,pdata 
+6061 20406298 call msg_send_lmp 
+6062 68008049 fetch 1 ,mem_lmi_opcode 
+6063 c005e068 beq lmp_au_rand ,send_not_accept_aurand 
+6064 e0a08000 istore 1 ,contw 
+6065 6800804a fetch 1 ,mem_lmo_reason 
+6066 e0a08000 istore 1 ,contw 
+6067 202062a7 branch send_lmp_follow 
+
+send_not_accept_aurand:
+6068 e0a08000 istore 1 ,contw 
+6069 6800804a fetch 1 ,mem_lmo_reason 
+606a e0a08000 istore 1 ,contw 
+606b d84004d5 arg mem_sres_tid ,temp 
+606c 202062e2 branch special_tid_store 
+
+send_lmpext_accepted:
+606d 18000e04 force 4 ,queue 
+606e 204062a0 call send_lmpext 
+606f 5800007f setarg lmp_escape 
+6070 e0a08000 istore 1 ,contw 
+6071 68008049 fetch 1 ,mem_lmi_opcode 
+6072 793ffe07 set0 7 ,pdata 
+6073 e0a08000 istore 1 ,contw 
+6074 68008049 fetch 1 ,mem_lmi_opcode 
+6075 202062a7 branch send_lmp_follow 
+
+send_lmpext_not_accepted:
+6076 18000e05 force 5 ,queue 
+6077 204062a0 call send_lmpext 
+6078 5800007f setarg lmp_escape 
+6079 e0a08000 istore 1 ,contw 
+607a 68008049 fetch 1 ,mem_lmi_opcode 
+607b 793ffe07 set0 7 ,pdata 
+607c e0a08000 istore 1 ,contw 
+607d 6800804a fetch 1 ,mem_lmo_reason 
+607e e0a08000 istore 1 ,contw 
+607f 202062a7 branch send_lmp_follow 
+
+send_lmp_accepted_inrand:
+6080 2040244f call clear_linkkey 
+6081 204062f3 call tid_check 
+6082 20608000 rtn true 
+6083 20205ffc branch lmp_generate_key 
+
+send_lmp_accepted_enc_mode:
+6084 6800804b fetch 1 ,mem_op 
+6085 c282e08b bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+6086 c4020000 rtnbit0 op_stop_enc 
+6087 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+6088 793ffe04 set0 op_stop_enc ,pdata 
+6089 204062eb call tid_reply 
+608a 2020608d branch send_lmp_accepted_enc_exit 
+
+send_lmp_accepted_enc_start:
+608b 70007c10 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+608c 793ffe05 set0 op_start_enc ,pdata 
+
+send_lmp_accepted_enc_exit:
+608d 6000804b store 1 ,mem_op 
+608e 20600000 rtn 
+
+send_lmp_accepted_enc_key:
+608f 204062fc call check_localsm 
+6090 2020dffe branch lmp_start_encryption ,true 
+6091 20600000 rtn 
+
+send_lmp_accepted_connection:
+6092 70007c8b jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+6093 680084d1 fetch 1 ,mem_lmp_conn_state 
+6094 79207e00 set1 received_conn_req ,pdata 
+6095 600084d1 store 1 ,mem_lmp_conn_state 
+6096 700a9901 jam bt_evt_bb_connected ,mem_fifo_temp 
+6097 20207d86 branch ui_ipc_send_event 
+
+send_lmp_accept_dhkey_check:
+6098 20600000 rtn 
+
+send_lmpext_features_res:
+6099 18000e0c force 12 ,queue 
+609a 204062a0 call send_lmpext 
+609b 58000001 setarg 0x01 
+609c e0a08000 istore 1 ,contw 
+609d 680104ce fetch 2 ,mem_lmpext_ssp_enable 
+609e e0a10000 istore 2 ,contw 
+609f 58000000 setarg 0 
+60a0 e0a18000 istore 3 ,contw 
+60a1 58000000 setarg 0x00 
+60a2 e0a20000 istore 4 ,contw 
+60a3 202062b0 branch send_lmp_reply 
+
+send_lmpext_io_cap_res:
+60a4 18000e05 force 5 ,queue 
+60a5 204062a0 call send_lmpext 
+60a6 6801c65b fetch 3 ,mem_sp_iocap_local 
+60a7 e0a18000 istore 3 ,contw 
+60a8 204062b0 call send_lmp_reply 
+60a9 70466501 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+60aa 6800c65b fetch 1 ,mem_sp_iocap_local 
+60ab c000e0b5 beq display_yesno ,responder_iocap_display_yesno 
+60ac c00160af beq keyboard_only ,responder_iocap_keyboard_only 
+60ad c001e0bb beq no_input_no_output ,responder_iocap_no_input_no_output 
+60ae 20600000 rtn 
+
+responder_iocap_keyboard_only:
+60af 6800c65e fetch 1 ,mem_sp_iocap_remote 
+60b0 c00060c7 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+60b1 c000e0c7 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+60b2 c00160c7 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+60b3 c001e0c1 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+60b4 20600000 rtn 
+
+responder_iocap_display_yesno:
+60b5 6800c65e fetch 1 ,mem_sp_iocap_remote 
+60b6 c00060c1 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+60b7 c000e0c5 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+60b8 c00160c7 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+60b9 c001e0c1 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+60ba 20600000 rtn 
+
+responder_iocap_no_input_no_output:
+60bb 6800c65e fetch 1 ,mem_sp_iocap_remote 
+60bc c00060c1 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+60bd c000e0c1 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+60be c00160c1 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+60bf c001e0c1 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+60c0 20600000 rtn 
+
+responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+
+responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+
+responder_iocap_display_yesno_initiator_iocap_display_only:
+
+responder_iocap_no_input_no_output_initiator_iocap_display_only:
+
+responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+
+responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+
+responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+
+set_ssp_mode_justwork:
+60c1 70466203 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+60c2 6800c55c fetch 1 ,mem_classic_bt_flag 
+60c3 c28033e9 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+60c4 20600000 rtn 
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+
+set_ssp_mode_numeric_comparison:
+60c5 70466201 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+60c6 20600000 rtn 
+
+responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+
+responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
+
+responder_iocap_keyboard_only_initiator_iocap_display_only:
+
+responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+
+set_ssp_mode_passkey:
+60c7 70466202 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+60c8 20600000 rtn 
+
+classic_bt_set_reject_justwork_flag:
+60c9 d8e00000 arg flag_ssp_reject_justwork ,queue 
+60ca 202060cd branch classic_bluetooth_set_flag 
+
+classic_bt_clr_reject_justwork_flag:
+60cb d8e00000 arg flag_ssp_reject_justwork ,queue 
+60cc 202060d1 branch classic_bluetooth_clr_flag 
+
+classic_bluetooth_set_flag:
+60cd 6800c55c fetch 1 ,mem_classic_bt_flag 
+60ce f9207e00 qset1 pdata 
+60cf 6000c55c store 1 ,mem_classic_bt_flag 
+60d0 20600000 rtn 
+
+classic_bluetooth_clr_flag:
+60d1 6800c55c fetch 1 ,mem_classic_bt_flag 
+60d2 f93ffe00 qset0 pdata 
+60d3 6000c55c store 1 ,mem_classic_bt_flag 
+60d4 20600000 rtn 
+
+send_lmp_io_cap_req:
+60d5 18000e05 force 5 ,queue 
+60d6 204062a0 call send_lmpext 
+60d7 6801c65b fetch 3 ,mem_sp_iocap_local 
+60d8 e0a18000 istore 3 ,contw 
+60d9 202062b2 branch send_lmp_request 
+
+send_lmpext_sniff_subrating_req:
+60da 20600000 rtn 
+
+send_lmpext_sniff_subrating_res:
+60db 18000e09 force 9 ,queue 
+60dc 204062a0 call send_lmpext 
+60dd 68008095 fetch 1 ,mem_subsniff_rate 
+60de e0a08000 istore 1 ,contw 
+60df 68010096 fetch 2 ,mem_subsniff_tcmax 
+60e0 e0a10000 istore 2 ,contw 
+60e1 68020091 fetch 4 ,mem_subsniff_instant 
+60e2 e0a20000 istore 4 ,contw 
+60e3 202062b0 branch send_lmp_reply 
+
+send_lmp_name_res:
+60e4 18007e11 force 17 ,pdata 
+60e5 20406298 call msg_send_lmp 
+60e6 68008049 fetch 1 ,mem_lmi_opcode 
+60e7 1fe20400 copy pdata ,temp 
+60e8 c00060ec beq 0x00 ,send_lmp_name_res_offset_ok 
+60e9 c00760ec beq 0x0e ,send_lmp_name_res_offset_ok 
+60ea c00e60ec beq 0x1c ,send_lmp_name_res_offset_ok 
+60eb 20600000 rtn 
+
+send_lmp_name_res_offset_ok:
+60ec e0a08000 istore 1 ,contw 
+60ed 6800c515 fetch 1 ,mem_local_name_length 
+60ee e0a08000 istore 1 ,contw 
+60ef df20000e arg 14 ,loopcnt 
+60f0 58004516 setarg mem_local_name 
+60f1 98408c00 iadd temp ,contr 
+60f2 20407f01 call memcpy 
+60f3 202062b0 branch send_lmp_reply 
+
+send_lmp_timing_accuracy_res:
+60f4 18007e03 force 3 ,pdata 
+60f5 20406298 call msg_send_lmp 
+60f6 58000114 setarg 0x0114 
+60f7 e0a10000 istore 2 ,contw 
+60f8 202062b0 branch send_lmp_reply 
+
+send_lmp_clkoffset_res:
+60f9 18007e03 force 3 ,pdata 
+60fa 20406298 call msg_send_lmp 
+60fb 68020165 fetch 4 ,mem_clke_bt 
+60fc 9c467e00 isub clkn_bt ,pdata 
+60fd 2034e0ff branch send_lmp_clkoffset_res_master ,master 
+60fe 1fe67e00 sub pdata ,0 ,pdata 
+
+send_lmp_clkoffset_res_master:
+60ff 1feb7e00 rshift2 pdata ,pdata 
+6100 793ffe0f set0 15 ,pdata 
+6101 e0a10000 istore 2 ,contw 
+6102 202062b0 branch send_lmp_reply 
+
+send_lmp_version_res:
+6103 18007e06 force 6 ,pdata 
+6104 20406298 call msg_send_lmp 
+6105 6802c510 fetch 5 ,mem_lmp_version 
+6106 e0a28000 istore 5 ,contw 
+6107 202062b0 branch send_lmp_reply 
+
+send_lmp_features_res:
+6108 18007e09 force 9 ,pdata 
+6109 20406298 call msg_send_lmp 
+610a 68044098 fetch 8 ,mem_features 
+610b e0a40000 istore 8 ,contw 
+610c 202062b0 branch send_lmp_reply 
+
+send_lmpext_features_req:
+610d 18000e0c force 12 ,queue 
+610e 204062a0 call send_lmpext 
+610f 58000001 setarg 0x01 
+6110 e0a08000 istore 1 ,contw 
+6111 680104ce fetch 2 ,mem_lmpext_ssp_enable 
+6112 e0a10000 istore 2 ,contw 
+6113 58000000 setarg 0 
+6114 e0a18000 istore 3 ,contw 
+6115 58000000 setarg 0x00 
+6116 e0a20000 istore 4 ,contw 
+6117 202062b2 branch send_lmp_request 
+
+send_lmpext_packet_type_table_req:
+6118 18000e03 force 3 ,queue 
+6119 204062a0 call send_lmpext 
+611a 6800c15a fetch 1 ,mem_ptt 
+611b e0a08000 istore 1 ,contw 
+611c 78547c00 disable user 
+611d 204062b2 call send_lmp_request 
+611e 24740000 nrtn user 
+611f 24748000 nrtn master 
+6120 6800c0d8 fetch 1 ,mem_afh_cfg 
+6121 c4000000 rtnbit0 afh_cfg_on 
+6122 20406132 call afh_init 
+6123 2020613c branch afh_open_all_channels 
+
+ssp_enable:
+6124 47424030 bpatchx patch30_4 ,mem_patch30 
+6125 6800c09e fetch 1 ,mem_features + 6 
+6126 79207e03 set1 param_featrue_ssp ,pdata 
+6127 6000c09e store 1 ,mem_features + 6 
+6128 58000101 setarg param_lmpext_ssp_enable 
+6129 600104ce store 2 ,mem_lmpext_ssp_enable 
+612a 20600000 rtn 
+
+ssp_disable:
+612b 4742c030 bpatchx patch30_5 ,mem_patch30 
+612c 6800c09e fetch 1 ,mem_features + 6 
+612d 793ffe03 set0 param_featrue_ssp ,pdata 
+612e 6000c09e store 1 ,mem_features + 6 
+612f 58000000 setarg 0 
+6130 600104ce store 2 ,mem_lmpext_ssp_enable 
+6131 20600000 rtn 
+
+afh_init:
+6132 7040d803 jam 0x3 ,mem_afh_cfg 
+6133 58000000 setarg 0 
+6134 60024142 store 4 ,mem_afh_timer 
+6135 d8a040da arg mem_afh_map_lo ,contw 
+6136 20406140 call afh_reset_map 
+6137 d8a040e7 arg mem_afh_map_new ,contw 
+6138 20406140 call afh_reset_map 
+6139 d8a04146 arg mem_afh_classify_channel_map ,contw 
+613a 20406140 call afh_reset_map 
+613b 20206147 branch afh_clear_error_counter 
+
+afh_open_all_channels:
+613c d8a040e7 arg mem_afh_map_new ,contw 
+613d 20406140 call afh_reset_map 
+613e 20406147 call afh_clear_error_counter 
+613f 2020614a branch afh_set_send_flag 
+
+afh_reset_map:
+6140 58ffffff setarg 0xffffff 
+6141 e0a18000 istore 3 ,contw 
+6142 e0a18000 istore 3 ,contw 
+6143 e0a18000 istore 3 ,contw 
+6144 5800007f setarg 0x7f 
+6145 e0a08000 istore 1 ,contw 
+6146 20600000 rtn 
+
+afh_clear_error_counter:
+6147 58000000 setarg 0 
+6148 600140d6 store 2 ,mem_afh_error_total 
+6149 20600000 rtn 
+
+afh_set_send_flag:
+614a 6800c0d8 fetch 1 ,mem_afh_cfg 
+614b 79207e02 set1 send_lmp_set_afh ,pdata 
+614c 6000c0d8 store 1 ,mem_afh_cfg 
+614d 20600000 rtn 
+
+send_lmpext_pause_encryption_req:
+614e 18000e02 force 2 ,queue 
+614f 204062a0 call send_lmpext 
+6150 2434e2b0 nbranch send_lmp_reply ,master 
+6151 202062b2 branch send_lmp_request 
+
+send_lmp_detach:
+6152 18007e02 force 2 ,pdata 
+6153 20406298 call msg_send_lmp 
+6154 680084ca fetch 1 ,mem_disconn_reason_send 
+6155 e0a08000 istore 1 ,contw 
+6156 204062b2 call send_lmp_request 
+
+prepare_disconnect:
+6157 6800804b fetch 1 ,mem_op 
+6158 79207e03 set1 op_disconn ,pdata 
+6159 6000804b store 1 ,mem_op 
+615a 70007232 jam 50 ,mem_conn_timer 
+615b 20600000 rtn 
+
+send_lmp_no_payload:
+615c 18007e01 force 1 ,pdata 
+615d 20406298 call msg_send_lmp 
+615e 202062b2 branch send_lmp_request 
+
+send_lmp_nopayload_reply:
+615f 18007e01 force 1 ,pdata 
+6160 20406298 call msg_send_lmp 
+6161 202062b0 branch send_lmp_reply 
+
+send_lmp_encryption_mode_req:
+6162 18007e02 force 2 ,pdata 
+6163 20406298 call msg_send_lmp 
+6164 6800804c fetch 1 ,mem_state_map 
+6165 2fec0002 isolate0 smap_encryption ,pdata 
+6166 7920fe00 setflag true ,0 ,pdata 
+6167 1fe17e01 and_into 1 ,pdata 
+6168 e0a08000 istore 1 ,contw 
+6169 202062b2 branch send_lmp_request 
+
+send_lmp_superto:
+616a 18007e03 force 3 ,pdata 
+616b 20406298 call msg_send_lmp 
+616c 68010051 fetch 2 ,mem_supervision_to 
+616d e0a10000 istore 2 ,contw 
+616e 202062b2 branch send_lmp_request 
+
+send_lmp_name_req:
+616f 700072fa jam 250 ,mem_conn_timer 
+6170 18007e02 force 2 ,pdata 
+6171 20406298 call msg_send_lmp 
+6172 68008053 fetch 1 ,mem_name_offset 
+6173 e0a08000 istore 1 ,contw 
+6174 202062b2 branch send_lmp_request 
+
+send_lmp_test_control:
+6175 18007e0a force 10 ,pdata 
+6176 20406298 call msg_send_lmp 
+6177 d8c00152 arg mem_temp_payload ,contr 
+6178 18007209 force 9 ,loopcnt 
+
+send_lmp_test_control_loop:
+6179 e8c08000 ifetch 1 ,contr 
+617a 1fe2fe55 xor_into 0x55 ,pdata 
+617b e0a08000 istore 1 ,contw 
+617c c2006179 loop send_lmp_test_control_loop 
+617d 202062b2 branch send_lmp_request 
+
+send_lmp_quality_of_service_req:
+617e 202062b2 branch send_lmp_request 
+
+send_lmp_unit_key:
+617f 202062b2 branch send_lmp_request 
+
+send_lmp_slot_offset:
+6180 20748000 rtn master 
+6181 2040282d call calc_slot_offset 
+6182 18007e09 force 9 ,pdata 
+6183 20406298 call msg_send_lmp 
+6184 68010171 fetch 2 ,mem_slot_offset 
+6185 e0a10000 istore 2 ,contw 
+6186 6801c0a0 fetch 3 ,mem_lap 
+6187 e0a18000 istore 3 ,contw 
+6188 6800c0a3 fetch 1 ,mem_uap 
+6189 e0a08000 istore 1 ,contw 
+618a 680140a4 fetch 2 ,mem_nap 
+618b e0a10000 istore 2 ,contw 
+618c c581e191 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+618d 793f8003 set0 mark_switch_initiated ,mark 
+618e 204062b2 call send_lmp_request 
+618f 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+6190 20600000 rtn 
+
+send_lmp_slot_offset_reply:
+6191 204062b0 call send_lmp_reply 
+6192 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+6193 70007d13 jam lmp_switch_req ,mem_lmi_opcode2 
+6194 20600000 rtn 
+
+send_lmp_switch_req:
+6195 d8400200 arg 0x200 ,temp 
+6196 2034e199 branch switch_on_native ,master 
+6197 1d027e00 deposit clke_bt 
+6198 2020619a branch switch_slack 
+
+switch_on_native:
+6199 1c427e00 deposit clkn_bt 
+
+switch_slack:
+619a 1c227e00 deposit bt_clk 
+619b 9840fe00 iadd temp ,pdata 
+619c 1fe17ffc and_into 0x1fc ,pdata 
+619d 60020034 store 4 ,mem_sniff_anchor 
+619e 18007e05 force 5 ,pdata 
+619f 20406298 call msg_send_lmp 
+61a0 68020034 fetch 4 ,mem_sniff_anchor 
+61a1 1fe37e00 rshift pdata ,pdata 
+61a2 e0a20000 istore 4 ,contw 
+61a3 202062b2 branch send_lmp_request 
+
+send_lmp_sniff_req:
+61a4 18007e0a force 10 ,pdata 
+61a5 20406298 call msg_send_lmp 
+61a6 d8c004d9 arg mem_sniff_payload ,contr 
+61a7 e8c48000 ifetch 9 ,contr 
+61a8 e0a48000 istore 9 ,contw 
+61a9 202062b2 branch send_lmp_request 
+
+send_lmp_timing_accuracy_req:
+61aa 18007e03 force 3 ,pdata 
+61ab 20406298 call msg_send_lmp 
+61ac 58000114 setarg 0x0114 
+61ad e0a10000 istore 2 ,contw 
+61ae 202062b2 branch send_lmp_request 
+
+send_lmp_unsniff_req:
+61af 18007e01 force 1 ,pdata 
+61b0 20406298 call msg_send_lmp 
+61b1 202062b2 branch send_lmp_request 
+
+send_lmp_max_slot:
+61b2 18007e02 force 2 ,pdata 
+61b3 20406298 call msg_send_lmp 
+61b4 6800c0d0 fetch 1 ,mem_max_slot 
+61b5 e0a08000 istore 1 ,contw 
+61b6 202062b2 branch send_lmp_request 
+
+send_lmp_max_slot_req:
+61b7 18007e02 force 2 ,pdata 
+61b8 20406298 call msg_send_lmp 
+61b9 58000005 setarg 0x05 
+61ba e0a08000 istore 1 ,contw 
+61bb 202062b2 branch send_lmp_request 
+
+send_lmp_inc_power:
+61bc 18007e02 force 2 ,pdata 
+61bd 20406298 call msg_send_lmp 
+61be 58000000 setarg 0x00 
+61bf e0a08000 istore 1 ,contw 
+61c0 202062b2 branch send_lmp_request 
+
+send_lmp_setup_complete_by_module:
+61c1 70007c2e jam lmp_max_slot_req ,mem_lmo_opcode2 
+61c2 20600000 rtn 
+
+send_lmp_setup_complete:
+61c3 6800c092 fetch 1 ,mem_device_option 
+61c4 1fe67c0a sub pdata ,dvc_op_module ,null 
+61c5 2042e1c1 call send_lmp_setup_complete_by_module ,zero 
+61c6 68008030 fetch 1 ,mem_state 
+61c7 79207e04 set1 state_conn_comp ,pdata 
+61c8 60008030 store 1 ,mem_state 
+61c9 1c427e00 copy clkn_bt ,pdata 
+61ca 600204e9 store 4 ,mem_aurand_send_delay_time 
+61cb 680084d1 fetch 1 ,mem_lmp_conn_state 
+61cc c281e1d4 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+61cd 79207e03 set1 sent_setup_complete ,pdata 
+61ce 600084d1 store 1 ,mem_lmp_conn_state 
+61cf 700a9905 jam bt_evt_setup_complete ,mem_fifo_temp 
+61d0 20407d86 call ui_ipc_send_event 
+61d1 18007e01 force 1 ,pdata 
+61d2 20406298 call msg_send_lmp 
+61d3 202062b2 branch send_lmp_request 
+
+send_lmp_setup_complete_has_sent:
+61d4 70004800 jam 0 ,mem_lmp_to_send 
+61d5 20600000 rtn 
+
+send_lmp_version_req:
+61d6 18007e06 force 6 ,pdata 
+61d7 20406298 call msg_send_lmp 
+61d8 6802c510 fetch 5 ,mem_lmp_version 
+61d9 e0a28000 istore 5 ,contw 
+61da 202062b2 branch send_lmp_request 
+
+send_lmp_features_req:
+61db 18007e09 force 9 ,pdata 
+61dc 20406298 call msg_send_lmp 
+61dd 68044098 fetch 8 ,mem_features 
+61de e0a40000 istore 8 ,contw 
+61df 202062b2 branch send_lmp_request 
+
+sp_master_send_io_cap_get:
+61e0 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+61e1 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+61e2 c1808000 rtnne sp_key_valid 
+61e3 7009af13 jam sp_master_stat_start_done ,mem_master_sp_state 
+61e4 20600000 rtn 
+
+sp_master_send_io_cap_send:
+61e5 204062ef call tid_initiate 
+61e6 70007c99 jam lmp_io_cap_req ,mem_lmo_opcode2 
+61e7 7009af03 jam sp_stat_key_send ,mem_master_sp_state 
+61e8 20600000 rtn 
+
+sp_master_send_lmp_encapsulated_header:
+61e9 204062ef call tid_initiate 
+61ea 70007c3d jam lmp_encapsulated_header ,mem_lmo_opcode2 
+61eb 7009af07 jam sp_stat_random_send ,mem_master_sp_state 
+61ec 20600000 rtn 
+
+sp_master_commitment_compare:
+61ed da200a4e arg mem_sp_calc_result_high ,rega 
+61ee da400a6e arg mem_sp_confirm_remote ,regb 
+61ef df200010 arg 16 ,loopcnt 
+61f0 20407f88 call string_compare 
+61f1 2022e1f7 branch sp_master_commitment_compare_success ,zero 
+61f2 7009af00 jam sp_stat_null ,mem_master_sp_state 
+61f3 204076da call master_clear_mem_master_sp_flag 
+61f4 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+61f5 70007d40 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+61f6 20205d53 branch reject_lmp_packet 
+
+sp_master_commitment_compare_success:
+61f7 7009af0a jam sp_stat_confirm_calc ,mem_master_sp_state 
+61f8 204076d8 call master_set_mem_master_sp_flag 
+61f9 70007d40 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+61fa 20205e38 branch accept_lmp_msg 
+
+sp_master_send_lmp_simple_pairing_number:
+61fb 70007c40 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+61fc 20600000 rtn 
+
+sp_send_lmp_encapsulated_header:
+61fd 70007c3d jam lmp_encapsulated_header ,mem_lmo_opcode2 
+61fe 20600000 rtn 
+
+send_lmp_encapsulated_header:
+61ff 7009b600 jam 0 ,mem_sp_local_key_send_count 
+6200 18007e04 force 4 ,pdata 
+6201 20406298 call msg_send_lmp 
+6202 18007e01 force encapsulated_major_type_p192 ,pdata 
+6203 e0a08000 istore 1 ,contw 
+6204 18007e01 force encapsulated_minor_type_p192 ,pdata 
+6205 e0a08000 istore 1 ,contw 
+6206 18007e30 force encapsulated_len_p192 ,pdata 
+6207 e0a08000 istore 1 ,contw 
+6208 204062fc call check_localsm 
+6209 2020e2b2 branch send_lmp_request ,true 
+620a 202062b0 branch send_lmp_reply 
+
+send_lmp_encapsulated_payload:
+620b 18007e11 force 17 ,pdata 
+620c 20406298 call msg_send_lmp 
+620d 680089b6 fetch 1 ,mem_sp_local_key_send_count 
+620e d8c0462a arg mem_sp_pubkey_local ,contr 
+620f 98c08c00 iadd contr ,contr 
+6210 e8c40000 ifetch 8 ,contr 
+6211 e0a40000 istore 8 ,contw 
+6212 e8c40000 ifetch 8 ,contr 
+6213 e0a40000 istore 8 ,contw 
+6214 680089b6 fetch 1 ,mem_sp_local_key_send_count 
+6215 1fe0fe10 increase 16 ,pdata 
+6216 600089b6 store 1 ,mem_sp_local_key_send_count 
+6217 204062fc call check_localsm 
+6218 2020e2b2 branch send_lmp_request ,true 
+6219 202062b0 branch send_lmp_reply 
+
+sp_send_lmp_simple_pairing_comfirm:
+621a 7009ae06 jam sp_stat_random_recv ,mem_sp_state 
+621b 70007c3f jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+621c 20600000 rtn 
+
+send_lmp_simple_pairing_comfirm:
+621d 18007e11 force 17 ,pdata 
+621e 20406298 call msg_send_lmp 
+621f d8c00a4e arg mem_sp_calc_result_high ,contr 
+6220 e8c40000 ifetch 8 ,contr 
+6221 e0a40000 istore 8 ,contw 
+6222 e8c40000 ifetch 8 ,contr 
+6223 e0a40000 istore 8 ,contw 
+6224 202062b0 branch send_lmp_reply 
+
+sp_send_lmp_simple_pairing_number:
+6225 70007c40 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+6226 20600000 rtn 
+
+send_lmp_simple_pairing_number:
+6227 204062fc call check_localsm 
+6228 2040f612 call sp_local_random_key_generator ,true 
+6229 18007e11 force 17 ,pdata 
+622a 20406298 call msg_send_lmp 
+622b d8c00a1e arg mem_sp_random_local ,contr 
+622c e8c40000 ifetch 8 ,contr 
+622d e0a40000 istore 8 ,contw 
+622e e8c40000 ifetch 8 ,contr 
+622f e0a40000 istore 8 ,contw 
+6230 204062fc call check_localsm 
+6231 2420e2b0 nbranch send_lmp_reply ,true 
+6232 2020e2b2 branch send_lmp_request ,true 
+
+master_sp_sm_end:
+6233 7009af0f jam sp_stat_done ,mem_master_sp_state 
+
+sp_aurand_send:
+6234 204062ef call tid_initiate 
+6235 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+6236 20406307 call check_localsm_master 
+6237 2020f64e branch sp_master_key_prarm_push ,true 
+6238 20207658 branch sp_link_key_prarm_push 
+
+master_sp_send_lmp_dhkey_check:
+6239 204062eb call tid_reply 
+
+sp_send_lmp_dhkey_check:
+623a 70007c41 jam lmp_dhkey_check ,mem_lmo_opcode2 
+623b 20600000 rtn 
+
+send_lmp_dhkey_check:
+623c 18007e11 force 17 ,pdata 
+623d 20406298 call msg_send_lmp 
+623e d8c00a4e arg mem_sp_calc_result_high ,contr 
+623f e8c40000 ifetch 8 ,contr 
+6240 e0a40000 istore 8 ,contw 
+6241 e8c40000 ifetch 8 ,contr 
+6242 e0a40000 istore 8 ,contw 
+6243 204062fc call check_localsm 
+6244 2420e2b0 nbranch send_lmp_reply ,true 
+6245 2020e2b2 branch send_lmp_request ,true 
+
+send_lmp_enc_key_size_mask_res:
+6246 18007e03 force 3 ,pdata 
+6247 20406298 call msg_send_lmp 
+6248 5800fffe setarg 0xfffe 
+6249 e0a10000 istore 2 ,contw 
+624a 202062b0 branch send_lmp_reply 
+
+send_lmp_auto_rate:
+624b 202062b2 branch send_lmp_request 
+
+send_lmp_clkoffset_req:
+624c 202062b2 branch send_lmp_request 
+
+send_lmp_quality_of_service:
+624d 202062b2 branch send_lmp_request 
+
+send_lmp_test_activate:
+624e 202062b2 branch send_lmp_request 
+
+send_lmp_comb_key:
+624f 2040630b call generate_random_number 
+6250 da2040a0 arg mem_lap ,rega 
+6251 20406311 call generate_linkkey 
+6252 18007e11 force 17 ,pdata 
+6253 20406298 call msg_send_lmp 
+6254 da200582 arg mem_kinit ,rega 
+6255 da400562 arg mem_random_number ,regb 
+6256 20407352 call xor16 
+6257 2434e2a7 nbranch send_lmp_follow ,master 
+6258 202062ad branch send_lmp_tid 
+
+send_lmp_inrand:
+6259 2040630b call generate_random_number 
+625a da200040 arg mem_plap ,rega 
+625b 20407255 call generate_kinit 
+
+send_lmp_rand:
+625c 18007e11 force 17 ,pdata 
+625d 20406298 call msg_send_lmp 
+625e d8c00562 arg mem_random_number ,contr 
+625f 20407ebf call memcpy16 
+6260 68008055 fetch 1 ,mem_conn_sm 
+6261 c00ce2b2 beq conn_sm_auth_wait ,send_lmp_request 
+6262 c00c62b2 beq conn_sm_pairing_wait ,send_lmp_request 
+6263 202062ad branch send_lmp_tid 
+
+send_lmp_aurand:
+6264 680089b5 fetch 1 ,mem_pairing_auth 
+6265 203a626a branch send_lmp_aurand_notpairing ,blank 
+6266 204062fc call check_localsm 
+6267 2040e2ef call tid_initiate ,true 
+6268 2440e2eb ncall tid_reply ,true 
+6269 2020626b branch send_lmp_aurand_common 
+
+send_lmp_aurand_notpairing:
+626a 204062ef call tid_initiate 
+
+send_lmp_aurand_common:
+626b 2040630b call generate_random_number 
+626c 2020625c branch send_lmp_rand 
+
+send_lmp_sres:
+626d da2040a0 arg mem_lap ,rega 
+626e 20407288 call function_e1 
+626f 18007e05 force 5 ,pdata 
+6270 20406298 call msg_send_lmp 
+6271 68020592 fetch 4 ,mem_input_store 
+6272 e0a20000 istore 4 ,contw 
+6273 d84004d5 arg mem_sres_tid ,temp 
+6274 204062e2 call special_tid_store 
+6275 20407386 call copy_aco 
+6276 204062fc call check_localsm 
+6277 2020e27c branch send_lmp_sres_master ,true 
+6278 7004d801 jam done_encryp ,mem_wait_encryption 
+6279 680089b5 fetch 1 ,mem_pairing_auth 
+627a 207a0000 rtn blank 
+627b 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+
+send_lmp_sres_master:
+627c 6800c1bd fetch 1 ,mem_link_key_exists 
+627d 207a0000 rtn blank 
+
+send_lmp_sres_startenc:
+627e 204062fc call check_localsm 
+627f 2420e284 nbranch send_lmp_sres_startenc_slave ,true 
+6280 680084d7 fetch 1 ,mem_auth_enable 
+6281 207a0000 rtn blank 
+6282 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+6283 20600000 rtn 
+
+send_lmp_sres_startenc_slave:
+6284 c6908000 rtnmark0 mark_slave_in_rand_accepted 
+6285 793f8021 set0 mark_slave_in_rand_accepted ,mark 
+6286 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+6287 20600000 rtn 
+
+send_lmp_start_encryption:
+6288 2040630b call generate_random_number 
+6289 2040728b call function_e3 
+628a 18007e11 force 17 ,pdata 
+628b 20406298 call msg_send_lmp 
+628c d8c00562 arg mem_random_number ,contr 
+628d 20407ebf call memcpy16 
+628e 202062ad branch send_lmp_tid 
+
+send_lmp_stop_encryption_req:
+628f 18007e01 force 1 ,pdata 
+6290 20406298 call msg_send_lmp 
+6291 202062ad branch send_lmp_tid 
+
+send_lmp_encryption_key_size_req:
+6292 18007e02 force 2 ,pdata 
+6293 20406298 call msg_send_lmp 
+6294 18007e10 force 16 ,pdata 
+6295 e0a08000 istore 1 ,contw 
+6296 60008054 store 1 ,mem_key_size 
+6297 202062ad branch send_lmp_tid 
+
+msg_send_lmp:
+6298 1fe9fe00 lshift3 pdata ,pdata 
+6299 1fe1fe07 or_into 0x07 ,pdata 
+629a 600084b6 store 1 ,mem_lmo_header_length 
+629b df200011 arg 17 ,loopcnt 
+629c d8a004b8 arg mem_lmo_payload ,contw 
+629d 20407ed4 call clear_mem 
+629e d8a004b8 arg mem_lmo_payload ,contw 
+629f 20600000 rtn 
+
+send_lmpext:
+62a0 1fe1227f and pdata ,0x7f ,rega 
+62a1 7000487f jam lmp_escape ,mem_lmp_to_send 
+62a2 18e27e00 deposit queue 
+62a3 20406298 call msg_send_lmp 
+62a4 1a227e00 deposit rega 
+62a5 e0a08000 istore 1 ,contw 
+62a6 20600000 rtn 
+
+send_lmp_follow:
+62a7 68008048 fetch 1 ,mem_lmp_to_send 
+62a8 1fe3fe00 lshift pdata ,pdata 
+62a9 6808804c fetcht 1 ,mem_state_map 
+62aa 284ffe01 isolate1 smap_lmptid ,temp 
+62ab 7920fe00 setflag true ,0 ,pdata 
+62ac 202062b7 branch send_lmp_exit 
+
+send_lmp_tid:
+62ad 6808804c fetcht 1 ,mem_state_map 
+62ae 18410401 and_into 1 ,temp 
+62af 202062b3 branch send_lmp_end 
+
+send_lmp_reply:
+62b0 18000400 force 0 ,temp 
+62b1 202062b3 branch send_lmp_end 
+
+send_lmp_request:
+62b2 18000401 force 1 ,temp 
+
+send_lmp_end:
+62b3 68008048 fetch 1 ,mem_lmp_to_send 
+62b4 1fe3fe00 lshift pdata ,pdata 
+62b5 7934fe00 setflag master ,0 ,pdata 
+62b6 9842fe00 ixor temp ,pdata 
+
+send_lmp_exit:
+62b7 600084b7 store 1 ,mem_lmo_header_opcode 
+62b8 70004800 jam 0 ,mem_lmp_to_send 
+62b9 204062c7 call lmo_fifo_process_lmo0empty 
+62ba 78347c00 enable user 
+62bb 20600000 rtn 
+
+lmo_fifo_check:
+62bc 6800807c fetch 1 ,mem_lmo_opcode2 
+62bd 207a0000 rtn blank 
+62be 204062c1 call lmo_fifo_process 
+62bf 6800807c fetch 1 ,mem_lmo_opcode2 
+62c0 20600000 rtn 
+
+lmo_fifo_process:
+62c1 47434030 bpatchx patch30_6 ,mem_patch30 
+62c2 68008048 fetch 1 ,mem_lmp_to_send 
+62c3 203a62c7 branch lmo_fifo_process_lmo0empty ,blank 
+62c4 68008078 fetch 1 ,mem_lmo_opcode1 
+62c5 247a0000 nrtn blank 
+62c6 202062d1 branch lmo_fifo_process_lmo2to1 
+
+lmo_fifo_process_lmo0empty:
+62c7 68008078 fetch 1 ,mem_lmo_opcode1 
+62c8 203a62d7 branch lmo_fifo_process_lmo1_empty ,blank 
+62c9 68018078 fetch 3 ,mem_lmo_opcode1 
+62ca 60018048 store 3 ,mem_lmp_to_send 
+62cb 6808807b fetcht 1 ,mem_lmo_tid1 
+62cc 6800804c fetch 1 ,mem_state_map 
+62cd 793ffe01 set0 smap_lmptid ,pdata 
+62ce 9841fe00 ior temp ,pdata 
+62cf 6000804c store 1 ,mem_state_map 
+62d0 70007800 jam 0 ,mem_lmo_opcode1 
+
+lmo_fifo_process_lmo2to1:
+62d1 6800807c fetch 1 ,mem_lmo_opcode2 
+62d2 207a0000 rtn blank 
+62d3 6802007c fetch 4 ,mem_lmo_opcode2 
+62d4 60020078 store 4 ,mem_lmo_opcode1 
+62d5 70007c00 jam 0 ,mem_lmo_opcode2 
+62d6 20600000 rtn 
+
+lmo_fifo_process_lmo1_empty:
+62d7 6800807c fetch 1 ,mem_lmo_opcode2 
+62d8 207a0000 rtn blank 
+62d9 6801807c fetch 3 ,mem_lmo_opcode2 
+62da 60018048 store 3 ,mem_lmp_to_send 
+62db 6808807f fetcht 1 ,mem_lmo_tid2 
+62dc 6800804c fetch 1 ,mem_state_map 
+62dd 793ffe01 set0 smap_lmptid ,pdata 
+62de 9841fe00 ior temp ,pdata 
+62df 6000804c store 1 ,mem_state_map 
+62e0 70007c00 jam 0 ,mem_lmo_opcode2 
+62e1 20600000 rtn 
+
+special_tid_store:
+62e2 4743c030 bpatchx patch30_7 ,mem_patch30 
+62e3 6800804c fetch 1 ,mem_state_map 
+62e4 1fe22600 copy pdata ,regc 
+62e5 e8408000 ifetch 1 ,temp 
+62e6 20405e52 call pop_tid_follow 
+62e7 204062a7 call send_lmp_follow 
+62e8 1a627e00 copy regc ,pdata 
+62e9 6000804c store 1 ,mem_state_map 
+62ea 20600000 rtn 
+
+tid_reply:
+62eb 6808804c fetcht 1 ,mem_state_map 
+62ec 793f8400 set0 smap_lmptidinit ,temp 
+62ed 6008804c storet 1 ,mem_state_map 
+62ee 20600000 rtn 
+
+tid_initiate:
+62ef 6808804c fetcht 1 ,mem_state_map 
+62f0 79200400 set1 smap_lmptidinit ,temp 
+62f1 6008804c storet 1 ,mem_state_map 
+62f2 20600000 rtn 
+
+tid_check:
+62f3 7d34fe01 nsetflag master ,smap_lmptid ,pdata 
+62f4 6808804c fetcht 1 ,mem_state_map 
+62f5 9842fe00 ixor temp ,pdata 
+62f6 2feffe01 isolate1 smap_lmptid ,pdata 
+62f7 20600000 rtn 
+
+tid_set_reply:
+62f8 6800804c fetch 1 ,mem_state_map 
+62f9 7934fe01 setflag master ,smap_lmptid ,pdata 
+62fa 6000804c store 1 ,mem_state_map 
+62fb 20600000 rtn 
+
+check_localsm:
+62fc 680089b4 fetch 1 ,mem_sp_localsm 
+62fd 2fe0fe01 compare local_statemachine ,pdata ,0x7f 
+62fe 20600000 rtn 
+
+setlocalsm_master:
+62ff 680089b4 fetch 1 ,mem_sp_localsm 
+6300 79207e07 set1 7 ,pdata 
+6301 600089b4 store 1 ,mem_sp_localsm 
+6302 20600000 rtn 
+
+setlocalsm_slave:
+6303 680089b4 fetch 1 ,mem_sp_localsm 
+6304 793ffe07 set0 7 ,pdata 
+6305 600089b4 store 1 ,mem_sp_localsm 
+6306 20600000 rtn 
+
+check_localsm_master:
+6307 680089b4 fetch 1 ,mem_sp_localsm 
+6308 2feffe07 isolate1 7 ,pdata 
+6309 600089b4 store 1 ,mem_sp_localsm 
+630a 20600000 rtn 
+
+generate_random_number:
+630b d8a00562 arg mem_random_number ,contw 
+
+generate_random:
+630c 18007210 force 16 ,loopcnt 
+
+generate_random_another:
+
+generate_random_loop:
+630d 180a7e00 random pdata 
+630e e0a08000 istore 1 ,contw 
+630f c200630d loop generate_random_another 
+6310 20600000 rtn 
+
+generate_linkkey:
+6311 20407259 call function_e21 
+6312 da2041be arg mem_link_key ,rega 
+6313 da400592 arg mem_input_store ,regb 
+6314 ea240000 ifetch 8 ,rega 
+6315 68088030 fetcht 1 ,mem_state 
+6316 7d3a0406 nsetflag blank ,state_combkey ,temp 
+6317 60088030 storet 1 ,mem_state 
+6318 1a220a00 copy rega ,contw 
+6319 20407352 call xor16 
+631a 202021c4 branch generate_linkkey_continue 
+
+process_conn_sm:
+631b 47444031 bpatchx patch31_0 ,mem_patch31 
+631c 204062bc call lmo_fifo_check 
+631d 247a0000 nrtn blank 
+
+process_conn_sm_continue:
+631e 68008055 fetch 1 ,mem_conn_sm 
+631f 207a0000 rtn blank 
+6320 c002636f beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+6321 c002e374 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+6322 c0016366 beq conn_sm_send_features ,host_create_conn_send_features 
+6323 c001e37c beq conn_sm_wait_features_res ,host_create_conn_waiting 
+6324 c0076369 beq conn_sm_send_switch ,host_create_conn_send_switch 
+6325 c0036398 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+6326 c003e3b0 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+6327 c004e3b1 beq conn_sm_encrypt ,host_create_conn_encrypt 
+6328 c00563ba beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+6329 c005e3be beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+632a c0066386 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+632b c006e389 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+632c c007e38f beq conn_sm_detach_delay ,host_create_conn_master_detach 
+632d c0096359 beq conn_sm_send_version ,host_create_conn_send_version 
+632e c009e37c beq conn_sm_wait_version ,host_create_conn_waiting 
+632f c008635c beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+6330 c00a6356 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+6331 c00ae37c beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+6332 c00b6350 beq conn_sm_pairing ,host_create_conn_pairing 
+6333 c00c6355 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+6334 c00be349 beq conn_sm_auth ,host_create_conn_auth 
+6335 c00ce34f beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+6336 c00d633a beq conn_sm_done ,host_create_conn_done 
+6337 c00de344 beq conn_sm_wait_done ,host_create_conn_done_wait 
+6338 70005500 jam conn_sm_standby ,mem_conn_sm 
+6339 20600000 rtn 
+
+host_create_conn_done:
+633a 680084d1 fetch 1 ,mem_lmp_conn_state 
+633b c4010000 rtnbit0 received_setup_complete 
+633c c4018000 rtnbit0 sent_setup_complete 
+633d 70005500 jam conn_sm_standby ,mem_conn_sm 
+633e 20406340 call host_conn_judge_encrypt 
+633f 20206cef branch scheduler_start_upper_sm 
+
+host_conn_judge_encrypt:
+6340 6800816d fetch 1 ,mem_connection_options 
+6341 c4008000 rtnbit0 connection_encrypt 
+6342 7000550a jam conn_sm_encrypt_wait ,mem_conn_sm 
+6343 20600000 rtn 
+
+host_create_conn_done_wait:
+6344 d8e00007 arg enpt_delay_timer ,queue 
+6345 20407f16 call timer_check 
+6346 247a0000 nrtn blank 
+6347 7000551a jam conn_sm_done ,mem_conn_sm 
+6348 20600000 rtn 
+
+host_create_conn_auth:
+6349 6800816d fetch 1 ,mem_connection_options 
+634a 793ffe00 set0 connection_auth ,pdata 
+634b 6000816d store 1 ,mem_connection_options 
+634c 70005519 jam conn_sm_auth_wait ,mem_conn_sm 
+634d 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+634e 20600000 rtn 
+
+host_create_conn_auth_wait:
+634f 20600000 rtn 
+
+host_create_conn_pairing:
+6350 680084d4 fetch 1 ,mem_pincode_state 
+6351 c1810000 rtnne pincode_state_pincode_ready 
+6352 204063c0 call host_auth 
+6353 70005518 jam conn_sm_pairing_wait ,mem_conn_sm 
+6354 20600000 rtn 
+
+host_create_conn_pairing_wait:
+6355 20600000 rtn 
+
+host_creat_conn_send_feat_ext:
+6356 70005515 jam conn_sm_wait_features_ext ,mem_conn_sm 
+6357 70007c83 jam lmp_ext_features_req ,mem_lmo_opcode2 
+6358 20600000 rtn 
+
+host_create_conn_send_version:
+6359 70005513 jam conn_sm_wait_version ,mem_conn_sm 
+635a 70007c25 jam lmp_version_req ,mem_lmo_opcode2 
+635b 20600000 rtn 
+
+host_creat_conn_wait_switch:
+635c 6800c55b fetch 1 ,mem_switch_flag 
+635d c1000000 rtneq switch_flag_init 
+635e c000e364 beq switch_flag_accept ,host_create_conn_switch_accept 
+635f d8e00006 arg switch_wait_timer ,queue 
+6360 20407f16 call timer_check 
+6361 247a0000 nrtn blank 
+6362 70455b00 jam switch_flag_init ,mem_switch_flag 
+6363 2020637d branch host_create_conn_switch 
+
+host_create_conn_switch_accept:
+6364 20748000 rtn master 
+6365 20206398 branch host_create_conn_auth_pair 
+
+host_create_conn_send_features:
+6366 70005503 jam conn_sm_wait_features_res ,mem_conn_sm 
+6367 70007c27 jam lmp_features_req ,mem_lmo_opcode2 
+6368 20600000 rtn 
+
+host_create_conn_send_switch:
+6369 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+636a 79200003 set1 mark_switch_initiated ,mark 
+636b 70005505 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+636c 580001ff setarg 0x1ff 
+636d 600104d2 store 2 ,mem_soft_timer 
+636e 20600000 rtn 
+
+host_create_conn_send_conn_req:
+636f 70005505 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+6370 7004d2ff jam 0xff ,mem_soft_timer 
+6371 793f8022 set0 mark_reconn_recieve_switch ,mark 
+6372 70007c33 jam lmp_host_connection_req ,mem_lmo_opcode2 
+6373 20205d04 branch init_lmp_reinit 
+
+host_create_conn_wait_accept:
+6374 c6110000 rtnmark1 mark_reconn_recieve_switch 
+6375 680104d2 fetch 2 ,mem_soft_timer 
+6376 1fe67e01 sub pdata ,1 ,pdata 
+6377 2022e37a branch host_create_conn_resend ,zero 
+6378 600104d2 store 2 ,mem_soft_timer 
+6379 20600000 rtn 
+
+host_create_conn_resend:
+637a 7000550e jam conn_sm_send_switch ,mem_conn_sm 
+637b 20600000 rtn 
+
+host_create_conn_waiting:
+637c 20600000 rtn 
+
+host_create_conn_switch:
+637d 680084d1 fetch 1 ,mem_lmp_conn_state 
+637e c4018000 rtnbit0 sent_setup_complete 
+637f c4010000 rtnbit0 received_setup_complete 
+6380 6800816d fetch 1 ,mem_connection_options 
+6381 793ffe02 set0 connection_switch ,pdata 
+6382 6000816d store 1 ,mem_connection_options 
+6383 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+6384 70005510 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+6385 20600000 rtn 
+
+host_create_conn_send_setup_complete:
+6386 7000550d jam conn_sm_wait_setup_complete ,mem_conn_sm 
+6387 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+6388 20600000 rtn 
+
+host_create_conn_wait_setup_complete:
+6389 680084d1 fetch 1 ,mem_lmp_conn_state 
+638a c4010000 rtnbit0 received_setup_complete 
+638b 70005500 jam conn_sm_standby ,mem_conn_sm 
+638c 20600000 rtn 
+
+host_create_conn_wait_setup_complete_rtn:
+638d 70005506 jam conn_sm_auth_pair ,mem_conn_sm 
+638e 20600000 rtn 
+
+host_create_conn_master_detach:
+638f 680084d2 fetch 1 ,mem_soft_timer 
+6390 1fe0ffff increase -1 ,pdata 
+6391 203a6394 branch host_create_conn_send_detach ,blank 
+6392 600084d2 store 1 ,mem_soft_timer 
+6393 20600000 rtn 
+
+host_create_conn_send_detach:
+6394 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+6395 7004ca16 jam local_host ,mem_disconn_reason_send 
+6396 70005500 jam 0 ,mem_conn_sm 
+6397 20600000 rtn 
+
+host_create_conn_auth_pair:
+6398 6800816d fetch 1 ,mem_connection_options 
+6399 c281637d bbit1 connection_switch ,host_create_conn_switch 
+639a c280639d bbit1 connection_auth ,host_create_conn_auth_pair_true 
+
+host_create_conn_sm_done:
+639b 7000551a jam conn_sm_done ,mem_conn_sm 
+639c 20600000 rtn 
+
+host_create_conn_auth_pair_true:
+639d 6800c1bd fetch 1 ,mem_link_key_exists 
+639e 203a63a9 branch host_create_conn_auth_pair_nokey ,blank 
+639f 680084d1 fetch 1 ,mem_lmp_conn_state 
+63a0 c4018000 rtnbit0 sent_setup_complete 
+63a1 c4010000 rtnbit0 received_setup_complete 
+63a2 680204e9 fetch 4 ,mem_aurand_send_delay_time 
+63a3 d8400064 arg 100 ,temp 
+63a4 98408400 iadd temp ,temp 
+63a5 1c427e00 copy clkn_bt ,pdata 
+63a6 98467c00 isub temp ,null 
+63a7 24610000 nrtn positive 
+63a8 20206349 branch host_create_conn_auth 
+
+host_create_conn_auth_pair_nokey:
+63a9 70005516 jam conn_sm_pairing ,mem_conn_sm 
+63aa 70468904 jam 4 ,mem_pin_length 
+63ab 58003030 setarg 0x3030 
+63ac 6001468a store 2 ,mem_pin 
+63ad e0a10000 istore 2 ,contw 
+63ae 7004d402 jam pincode_state_pincode_ready ,mem_pincode_state 
+63af 20206350 branch host_create_conn_pairing 
+
+host_create_conn_auth_pair_wait:
+63b0 20600000 rtn 
+
+host_create_conn_encrypt:
+63b1 6800816d fetch 1 ,mem_connection_options 
+63b2 c280e3b5 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+63b3 7000551a jam conn_sm_done ,mem_conn_sm 
+63b4 20600000 rtn 
+
+host_create_conn_encrypt_start:
+63b5 6800816d fetch 1 ,mem_connection_options 
+63b6 793ffe01 set0 connection_encrypt ,pdata 
+63b7 6000816d store 1 ,mem_connection_options 
+63b8 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+63b9 20600000 rtn 
+
+host_create_conn_encrypt_wait:
+63ba 680084d8 fetch 1 ,mem_wait_encryption 
+63bb 207a0000 rtn blank 
+63bc 70005500 jam conn_sm_standby ,mem_conn_sm 
+63bd 202063b5 branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+63be 7000550c jam conn_sm_send_setup_complete ,mem_conn_sm 
+63bf 20600000 rtn 
+
+host_auth:
+63c0 6800804b fetch 1 ,mem_op 
+63c1 c28163c5 bbit1 op_inrand_req ,remote_auth 
+63c2 204062ef call tid_initiate 
+63c3 70007c08 jam lmp_in_rand ,mem_lmo_opcode2 
+63c4 20204d04 branch cmd_exit 
+
+remote_auth:
+63c5 6800804b fetch 1 ,mem_op 
+63c6 793ffe02 set0 op_inrand_req ,pdata 
+63c7 6000804b store 1 ,mem_op 
+63c8 20406001 call lmp_accept_inrand 
+63c9 204062f8 call tid_set_reply 
+63ca 20204d04 branch cmd_exit 
+
+pincode_reinit:
+63cb 58000004 setarg 4 
+63cc 6000c689 store 1 ,mem_pin_length 
+63cd 58003030 setarg 0x3030 
+63ce e0a10000 istore 2 ,contw 
+63cf e0a10000 istore 2 ,contw 
+63d0 20600000 rtn 
+
+twspi_reset:
+63d1 47464031 bpatchx patch31_4 ,mem_patch31 
+63d2 68108073 hfetch 1 ,core_gpio_oe3 
+63d3 d8400006 arg 0x06 ,temp 
+63d4 9841fe00 ior temp ,pdata 
+63d5 60108073 hstore 1 ,core_gpio_oe3 
+63d6 68108077 hfetch 1 ,core_gpio_out3 
+63d7 9841fe00 ior temp ,pdata 
+63d8 60108077 hstore 1 ,core_gpio_out3 
+63d9 204063ee call twspi_disable 
+63da 68108077 hfetch 1 ,core_gpio_out3 
+63db 793ffe01 set0 1 ,pdata 
+63dc 793ffe02 set0 2 ,pdata 
+63dd 60108077 hstore 1 ,core_gpio_out3 
+63de 2000001e nop 30 
+63df 202063f2 branch twspi_enable 
+
+twspi_reset2:
+63e0 68108073 hfetch 1 ,core_gpio_oe3 
+63e1 d84000c0 arg 0xc0 ,temp 
+63e2 9841fe00 ior temp ,pdata 
+63e3 60108073 hstore 1 ,core_gpio_oe3 
+63e4 68108077 hfetch 1 ,core_gpio_out3 
+63e5 9841fe00 ior temp ,pdata 
+63e6 60108077 hstore 1 ,core_gpio_out3 
+63e7 204063ee call twspi_disable 
+63e8 68108077 hfetch 1 ,core_gpio_out3 
+63e9 793ffe06 set0 6 ,pdata 
+63ea 793ffe07 set0 7 ,pdata 
+63eb 60108077 hstore 1 ,core_gpio_out3 
+63ec 2000001e nop 30 
+63ed 202063f6 branch twspi_enable2 
+
+twspi_disable:
+63ee 68108081 hfetch 1 ,core_gpio_sel1 
+63ef 1fe17efc and pdata ,0xfc ,pdata 
+63f0 60108081 hstore 1 ,core_gpio_sel1 
+63f1 20600000 rtn 
+
+twspi_enable:
+63f2 68108081 hfetch 1 ,core_gpio_sel1 
+63f3 1fe1fe01 or pdata ,0x01 ,pdata 
+63f4 60108081 hstore 1 ,core_gpio_sel1 
+63f5 20600000 rtn 
+
+twspi_enable2:
+63f6 68108081 hfetch 1 ,core_gpio_sel1 
+63f7 1fe1fe03 or pdata ,0x03 ,pdata 
+63f8 793ffe04 set0 4 ,pdata 
+63f9 60108081 hstore 1 ,core_gpio_sel1 
+63fa 20600000 rtn 
+
+sensor_read:
+63fb 1fe22400 copy pdata ,regb 
+63fc 2040640f call spi_ncs_enable 
+63fd 20000064 nop 100 
+63fe 1a427e00 copy regb ,pdata 
+63ff 20406414 call twspi_read 
+6400 1fe22400 copy pdata ,regb 
+6401 20406411 call spi_ncs_disable 
+6402 20000064 nop 100 
+6403 1a427e00 copy regb ,pdata 
+6404 20600000 rtn 
+
+sensor_write:
+6405 1fe22400 copy pdata ,regb 
+6406 2040640f call spi_ncs_enable 
+6407 20000064 nop 100 
+6408 1a427e00 copy regb ,pdata 
+6409 20406413 call twspi_write 
+640a 20406411 call spi_ncs_disable 
+640b 20000064 nop 100 
+640c 20600000 rtn 
+
+spi_ncs_gpio_init:
+640d 6808c214 fetcht 1 ,mem_spi_ncs_gpio 
+640e 2020680e branch gpio_config_output 
+
+spi_ncs_enable:
+640f 6808c214 fetcht 1 ,mem_spi_ncs_gpio 
+6410 20206829 branch gpio_out_active 
+
+spi_ncs_disable:
+6411 6808c214 fetcht 1 ,mem_spi_ncs_gpio 
+6412 20206825 branch gpio_out_inactive 
+
+twspi_write:
+6413 202064ec branch spid_write_reg 
+
+twspi_read:
+6414 202064f3 branch spid_read_reg 
+
+read_function_aes:
+6415 24346419 nbranch read_function ,user 
+6416 68108085 hfetch 1 ,core_gpio_key2 
+6417 1fe1fe02 or_into 0x2 ,pdata 
+6418 60108085 hstore 1 ,core_gpio_key2 
+
+read_function:
+6419 18427c00 copy temp ,null 
+641a 2022e41c branch read_fuction_zero ,zero 
+641b 1a627a00 copy regc ,pc 
+
+read_fuction_zero:
+641c 2fcc0000 isolate0 0 ,null 
+641d 202064b9 branch set_ucode_status 
+
+get_block_header:
+641e 18000404 force 4 ,temp 
+
+get_block_header0:
+641f da2001fe arg mem_ucode_buf ,rega 
+6420 68108085 hfetch 1 ,core_gpio_key2 
+6421 1fe17efd and_into 0xfd ,pdata 
+6422 60108085 hstore 1 ,core_gpio_key2 
+6423 20406419 call read_function 
+6424 da2055aa arg 0x55aa ,rega 
+6425 680101fe fetch 2 ,mem_ucode_buf 
+6426 e8c90000 ifetcht 2 ,contr 
+6427 9a267c00 isub rega ,null 
+6428 20600000 rtn 
+
+read_first_block:
+6429 d8400002 arg 2 ,temp 
+642a da200204 arg mem_ucode_ptr ,rega 
+642b 20406419 call read_function 
+642c 68010204 fetch 2 ,mem_ucode_ptr 
+642d 600101f7 store 2 ,mem_addr_mi 
+642e 20546430 call get_iv ,user 
+642f 20600000 rtn 
+
+get_iv:
+6430 d8400010 arg 16 ,temp 
+6431 da200206 arg mem_ucode_keybuf ,rega 
+6432 68108085 hfetch 1 ,core_gpio_key2 
+6433 1fe17efd and_into 0xfd ,pdata 
+6434 60108085 hstore 1 ,core_gpio_key2 
+6435 20406419 call read_function 
+6436 d8c00206 arg mem_ucode_keybuf ,contr 
+6437 df200010 arg 16 ,loopcnt 
+6438 20407478 call aes_load_data 
+6439 20407428 call aes_init 
+643a 20407491 call aes_clear_data 
+643b 20207422 branch do_aes_cbc 
+
+load_storage:
+643c 7856fc00 disable match 
+643d 2040641e call get_block_header 
+643e 24628000 nrtn zero 
+643f 7836fc00 enable match 
+6440 70802380 hjam 0x80 ,core_ucode_ctrl 
+6441 70802200 hjam 0 ,core_ucode_hi 
+6442 70802400 hjam 0 ,core_ucode_low 
+6443 da208025 arg core_ucode_data ,rega 
+6444 20406415 call read_function_aes 
+6445 70802300 hjam 0x0 ,core_ucode_ctrl 
+
+load_storage_loop:
+6446 d8400006 arg 6 ,temp 
+6447 2040641f call get_block_header0 
+6448 24628000 nrtn zero 
+6449 e8c10000 ifetch 2 ,contr 
+644a 98002200 iforce rega 
+644b 20406419 call read_function 
+644c 20206446 branch load_storage_loop 
+
+reload_eeprom:
+644d 20407f99 call clean_mem 
+644e 58001000 setarg 0x1000 
+644f 600101f7 store 2 ,mem_addr_mi 
+6450 da6065e5 arg iicd_read_eep ,regc 
+6451 df200002 arg 2 ,loopcnt 
+
+reload_eeprom_loop:
+6452 2040641e call get_block_header 
+6453 24628000 nrtn zero 
+6454 680101f7 fetch 2 ,mem_addr_mi 
+6455 1ff0fe00 byteswap pdata ,pdata 
+6456 9840fe00 iadd temp ,pdata 
+6457 1ff0fe00 byteswap pdata ,pdata 
+6458 600101f7 store 2 ,mem_addr_mi 
+6459 c2006452 loop reload_eeprom_loop 
+645a 20206446 branch load_storage_loop 
+
+loadcode:
+645b 20407f99 call clean_mem 
+645c 78547c00 disable user 
+645d 2040666a call otp_enable_chgpump 
+645e 58000000 setarg otp_ucode_flag 
+645f da2001f3 arg mem_otp_ucode_flag ,rega 
+6460 d8400002 arg 2 ,temp 
+6461 204066b3 call otpd_read_data 
+6462 680101f3 fetch 2 ,mem_otp_ucode_flag 
+6463 c303e46e bbit0 otp_uflag_aes ,loadcode_otp 
+6464 70805025 hjam 0x25 ,core_clkoff 
+6465 580007f0 setarg otp_ucode_aeskey 
+6466 da200206 arg mem_ucode_keybuf ,rega 
+6467 d8400010 arg 16 ,temp 
+6468 204066b3 call otpd_read_data 
+6469 70800608 hjam lock_otp ,core_misc_ctrl 
+646a 7920002b set1 mark_otp_encrypt ,mark 
+646b d8c00206 arg mem_ucode_keybuf ,contr 
+646c 20407484 call load_key 
+646d 78347c00 enable user 
+
+loadcode_otp:
+646e 7041da00 jam 0 ,mem_loadcode_times 
+
+loadcode_otp_2:
+646f 204064b0 call loadcode_check_times 
+6470 680101f3 fetch 2 ,mem_otp_ucode_flag 
+6471 1ff0fe00 byteswap pdata ,pdata 
+6472 d84007ff arg 0x7ff ,temp 
+6473 98417e00 iand temp ,pdata 
+6474 2022e47b branch loadcode_iic ,zero 
+6475 2040666f call otp_set_addr 
+6476 da6066b8 arg otpd_read_code ,regc 
+6477 20546430 call get_iv ,user 
+6478 2040643c call load_storage 
+6479 680081f2 fetch 1 ,mem_ucode_status 
+647a c300646f bbit0 0 ,loadcode_otp_2 
+
+loadcode_iic:
+647b 2040666d call otp_disable_chgpump 
+647c 7041da00 jam 0 ,mem_loadcode_times 
+
+loadcode_iic_2:
+647d 204064b0 call loadcode_check_times 
+647e 204065c2 call clear_eeprom_size_2k 
+647f 680081f3 fetch 1 ,mem_otp_ucode_flag 
+6480 c283648e bbit1 otp_uflag_skip_eep ,loadcode_spi 
+6481 204064aa call loadcode_iic_by_eeprom 
+6482 2436e486 nbranch loadcode_iic_eeprom_2k ,match 
+6483 680081f2 fetch 1 ,mem_ucode_status 
+6484 c300647d bbit0 0 ,loadcode_iic_2 
+6485 2020649b branch loadcode_hci 
+
+loadcode_iic_eeprom_2k:
+6486 204065bf call set_eeprom_size_2k 
+6487 680081f3 fetch 1 ,mem_otp_ucode_flag 
+6488 c283648e bbit1 otp_uflag_skip_eep ,loadcode_spi 
+6489 204064aa call loadcode_iic_by_eeprom 
+648a 2436e48e nbranch loadcode_spi ,match 
+648b 680081f2 fetch 1 ,mem_ucode_status 
+648c c300647d bbit0 0 ,loadcode_iic_2 
+648d 2020649b branch loadcode_hci 
+
+loadcode_spi:
+648e 7041da00 jam 0 ,mem_loadcode_times 
+
+loadcode_spi_2:
+648f 204064b0 call loadcode_check_times 
+6490 680081f3 fetch 1 ,mem_otp_ucode_flag 
+6491 c282e49b bbit1 otp_uflag_skip_flash ,loadcode_hci 
+6492 58000000 setarg 0x0 
+6493 600181f6 store 3 ,mem_addr_hi 
+6494 20406502 call spid_init_flash 
+6495 da606578 arg spid_load_flash ,regc 
+6496 20406429 call read_first_block 
+6497 2040643c call load_storage 
+6498 2436e49b nbranch loadcode_hci ,match 
+6499 680081f2 fetch 1 ,mem_ucode_status 
+649a c300648f bbit0 0 ,loadcode_spi_2 
+
+loadcode_hci:
+649b c515e49d bmark1 mark_otp_encrypt ,loadcode_hci_enc 
+649c 204064a3 call clear_key_buf 
+
+loadcode_hci_enc:
+649d 680081f3 fetch 1 ,mem_otp_ucode_flag 
+649e c30264a3 bbit0 otp_uflag_hci ,clear_key_buf 
+649f 70805021 hjam 0x21 ,core_clkoff 
+64a0 20404c0e call hci_init 
+
+loadcode_hci_loop:
+64a1 20404c2e call hci_rx_packet 
+64a2 202064a1 branch loadcode_hci_loop 
+
+clear_key_buf:
+64a3 58000000 setarg 0 
+64a4 60040206 store 8 ,mem_ucode_keybuf 
+64a5 6004020e store 8 ,mem_ucode_keybuf + 8 
+64a6 18007004 force regidx_key ,regext_index 
+64a7 20407492 call aes_clear 
+64a8 70805021 hjam 0x21 ,core_clkoff 
+64a9 20600000 rtn 
+
+loadcode_iic_by_eeprom:
+64aa 58000000 setarg 0x0 
+64ab 600101f7 store 2 ,mem_addr_mi 
+64ac da6065e5 arg iicd_read_eep ,regc 
+64ad 204065a3 call iicd_init_12m 
+64ae 20406429 call read_first_block 
+64af 2020643c branch load_storage 
+
+loadcode_check_times:
+64b0 6800c1da fetch 1 ,mem_loadcode_times 
+64b1 1fe0fe01 increase 1 ,pdata 
+64b2 1fe67c03 sub pdata ,3 ,null 
+64b3 242164b6 nbranch loadcode_error ,positive 
+64b4 6000c1da store 1 ,mem_loadcode_times 
+64b5 20600000 rtn 
+
+loadcode_error:
+64b6 204064a3 call clear_key_buf 
+64b7 20407fa1 call ice_break 
+64b8 20600000 rtn 
+
+set_ucode_status:
+64b9 680081f2 fetch 1 ,mem_ucode_status 
+64ba 1fe3fe00 lshift pdata ,pdata 
+64bb 7920fe00 setflag true ,0 ,pdata 
+64bc 2a2c000f isolate0 15 ,rega 
+64bd 20608000 rtn true 
+64be 600081f2 store 1 ,mem_ucode_status 
+64bf 20600000 rtn 
+
+decrypt_code:
+64c0 68108085 hfetch 1 ,core_gpio_key2 
+64c1 c4008000 rtnbit0 1 
+64c2 202064c6 branch decrypt_code_skip 
+
+decrypt_code_loop:
+64c3 6810812c hfetch 1 ,core_dma_status 
+64c4 afefffff qisolate1 pdata 
+64c5 20608000 rtn true 
+
+decrypt_code_skip:
+64c6 68108108 hfetch 1 ,core_misc_status 
+64c7 c300e4c3 bbit0 1 ,decrypt_code_loop 
+64c8 20407422 call do_aes_cbc 
+64c9 202064c3 branch decrypt_code_loop 
+
+load_ucode:
+64ca 68014199 fetch 2 ,mem_patch_ptr 
+64cb 207a0000 rtn blank 
+64cc 70802380 hjam 0x80 ,core_ucode_ctrl 
+64cd 70802200 hjam 0 ,core_ucode_hi 
+64ce 70802400 hjam 0 ,core_ucode_low 
+64cf 6809419b fetcht 2 ,mem_patch_len 
+64d0 184bf200 lshift2 temp ,loopcnt 
+64d1 98000c00 iforce contr 
+
+load_ucode_loop:
+64d2 e8c08000 ifetch 1 ,contr 
+64d3 60108025 hstore 1 ,core_ucode_data 
+64d4 c20064d2 loop load_ucode_loop 
+64d5 70802300 hjam 0x0 ,core_ucode_ctrl 
+64d6 20600000 rtn 
+
+spid_init:
+64d7 4746c031 bpatchx patch31_5 ,mem_patch31 
+64d8 204064dd call spid_init_common 
+64d9 202063f2 branch twspi_enable 
+
+spid_init2:
+64da 204064dd call spid_init_common 
+64db 204063ee call twspi_disable 
+64dc 202063f6 branch twspi_enable2 
+
+spid_init_common:
+64dd 6800c212 fetch 1 ,mem_spi_init_clk 
+64de 60108086 hstore 1 ,core_spid_ctrl 
+64df 6800c213 fetch 1 ,mem_spi_init_delay_time 
+64e0 60108087 hstore 1 ,core_spid_delay 
+64e1 580001f5 setarg mem_spid_tbuf 
+64e2 6011008a hstore 2 ,core_spid_txaddr 
+64e3 580001fa setarg mem_spid_rbuf 
+64e4 6011008c hstore 2 ,core_spid_rxaddr 
+64e5 202063ee branch twspi_disable 
+
+spid_reset:
+64e6 68108086 hfetch 1 ,core_spid_ctrl 
+64e7 79207e07 set1 7 ,pdata 
+64e8 60108086 hstore 1 ,core_spid_ctrl 
+64e9 793ffe07 set0 7 ,pdata 
+64ea 60108086 hstore 1 ,core_spid_ctrl 
+64eb 20600000 rtn 
+
+spid_write_reg:
+64ec 79207e07 set1 7 ,pdata 
+64ed 600101f5 store 2 ,mem_spid_tbuf 
+64ee 47474031 bpatchx patch31_6 ,mem_patch31 
+64ef 70808802 hjam 2 ,core_spid_txlen 
+64f0 70808e00 hjam 0 ,core_spid_rxlen 
+64f1 70800602 hjam spid_start ,core_misc_ctrl 
+64f2 202064fc branch wait_spid_done 
+
+spid_read_reg:
+64f3 18000401 force 1 ,temp 
+
+spid_read_regs:
+64f4 600081f5 store 1 ,mem_spid_tbuf 
+64f5 4747c031 bpatchx patch31_7 ,mem_patch31 
+64f6 70808801 hjam 1 ,core_spid_txlen 
+64f7 6019008e hstoret 2 ,core_spid_rxlen 
+64f8 70800602 hjam spid_start ,core_misc_ctrl 
+64f9 204064fc call wait_spid_done 
+64fa 680081fa fetch 1 ,mem_spid_rbuf 
+64fb 20600000 rtn 
+
+wait_spid_done:
+64fc 680140d6 fetch 2 ,mem_afh_error_total 
+64fd 1fe0fe01 increase 1 ,pdata 
+64fe 600140d6 store 2 ,mem_afh_error_total 
+64ff 6810812c hfetch 1 ,core_dma_status 
+6500 c301e4fc bbit0 spid_done ,wait_spid_done 
+6501 20600000 rtn 
+
+spid_init_flash:
+6502 70808640 hjam 0x40 ,core_spid_ctrl 
+6503 70808700 hjam 0x0 ,core_spid_delay 
+6504 68108081 hfetch 1 ,core_gpio_sel1 
+6505 793ffe00 set0 0 ,pdata 
+6506 79207e01 set1 1 ,pdata 
+6507 60108081 hstore 1 ,core_gpio_sel1 
+6508 58000000 setarg 0 
+6509 600201f5 store 4 ,mem_spid_tbuf 
+650a 20600000 rtn 
+
+spid_unlock_flash:
+650b 58000000 setarg 0 
+650c 6011008e hstore 2 ,core_spid_rxlen 
+650d 58000001 setarg 1 
+650e 60110088 hstore 2 ,core_spid_txlen 
+650f 580001f5 setarg mem_spid_tbuf 
+6510 6011008a hstore 2 ,core_spid_txaddr 
+6511 7001f506 jam 6 ,mem_spid_tbuf 
+6512 70800602 hjam spid_start ,core_misc_ctrl 
+6513 202064fc branch wait_spid_done 
+
+flash_write:
+6514 78547c00 disable user 
+6515 1fe22400 copy pdata ,regb 
+6516 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+6517 c1800000 rtnne flash_sm_no_buys 
+6518 78347c00 enable user 
+6519 1a427e00 copy regb ,pdata 
+651a 20206522 branch flash_write_start 
+
+flash_write_spi_sm_timer:
+651b 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+651c c000e522 beq flash_sm_start ,flash_write_start 
+651d c0016528 beq flash_sm_erase_sector ,flash_erase_sector 
+651e c001e530 beq flash_sm_wait_erase_sector ,flash_wait_erase_sector 
+651f c0026537 beq flash_sm_write_data ,flash_write_data 
+6520 c002e53d beq flash_sm_wait_write_data ,flash_wait_write_data 
+6521 20600000 rtn 
+
+flash_write_start:
+6522 6001c232 store 3 ,mem_spi_write_addr 
+6523 1a227e00 copy rega ,pdata 
+6524 60014235 store 2 ,mem_spi_write_ptr 
+6525 60094237 storet 2 ,mem_spi_write_len 
+6526 70423902 jam flash_sm_erase_sector ,mem_spi_write_flash_sm 
+6527 20206502 branch spid_init_flash 
+
+flash_erase_sector:
+6528 20406502 call spid_init_flash 
+6529 70423903 jam flash_sm_wait_erase_sector ,mem_spi_write_flash_sm 
+652a 2040650b call spid_unlock_flash 
+652b da2001f5 arg mem_spid_tbuf ,rega 
+652c 6801c232 fetch 3 ,mem_spi_write_addr 
+652d 70808804 hjam 4 ,core_spid_txlen 
+652e d8400020 arg flash_command_sector_erase ,temp 
+652f 20206556 branch spid_write_flash_common 
+
+flash_wait_erase_sector:
+6530 20406502 call spid_init_flash 
+6531 2040650b call spid_unlock_flash 
+6532 58000005 setarg flash_read_satus 
+6533 204064f3 call spid_read_reg 
+6534 c3800000 rtnbit1 flash_status_wip 
+6535 70423904 jam flash_sm_write_data ,mem_spi_write_flash_sm 
+6536 20600000 rtn 
+
+flash_write_data:
+6537 20406502 call spid_init_flash 
+6538 70423905 jam flash_sm_wait_write_data ,mem_spi_write_flash_sm 
+6539 2040650b call spid_unlock_flash 
+653a 2040654a call flash_data_preserve 
+653b 20406552 call spid_write_flash 
+653c 20206545 branch flash_data_recover 
+
+flash_wait_write_data:
+653d 20406502 call spid_init_flash 
+653e 2040650b call spid_unlock_flash 
+653f 58000005 setarg flash_read_satus 
+6540 204064f3 call spid_read_reg 
+6541 c3800000 rtnbit1 flash_status_wip 
+6542 70423900 jam flash_sm_no_buys ,mem_spi_write_flash_sm 
+6543 68014201 fetch 2 ,mem_cb_spi_flash_write_complate 
+6544 20207f9c branch callback_func 
+
+flash_data_recover:
+6545 68020aa2 fetch 4 ,mem_temp 
+6546 68094235 fetcht 2 ,mem_spi_write_ptr 
+6547 184085fc increase -4 ,temp 
+6548 e0420000 istore 4 ,temp 
+6549 20600000 rtn 
+
+flash_data_preserve:
+654a 68094235 fetcht 2 ,mem_spi_write_ptr 
+654b 18422200 copy temp ,rega 
+654c 184085fc increase -4 ,temp 
+654d e8420000 ifetch 4 ,temp 
+654e 60020aa2 store 4 ,mem_temp 
+654f 68094237 fetcht 2 ,mem_spi_write_len 
+6550 6801c232 fetch 3 ,mem_spi_write_addr 
+6551 20600000 rtn 
+
+spid_write_flash:
+6552 18408404 increase 4 ,temp 
+6553 60190088 hstoret 2 ,core_spid_txlen 
+6554 d8400002 arg flash_command_write_data ,temp 
+6555 1a20a3fc increase -4 ,rega 
+
+spid_write_flash_common:
+6556 e2288000 istoret 1 ,rega 
+6557 1ff10400 rshift16 pdata ,temp 
+6558 e0a88000 istoret 1 ,contw 
+6559 1fec8400 rshift8 pdata ,temp 
+655a e0a88000 istoret 1 ,contw 
+655b e0a08000 istore 1 ,contw 
+655c 1a227e00 deposit rega 
+655d 6011008a hstore 2 ,core_spid_txaddr 
+655e 58000000 setarg 0 
+655f 6011008e hstore 2 ,core_spid_rxlen 
+6560 70800602 hjam spid_start ,core_misc_ctrl 
+6561 202064fc branch wait_spid_done 
+
+spid_read_flash:
+6562 6019008e hstoret 2 ,core_spid_rxlen 
+6563 1ff10400 rshift16 pdata ,temp 
+6564 600881f6 storet 1 ,mem_addr_hi 
+6565 1fec8400 rshift8 pdata ,temp 
+6566 600881f7 storet 1 ,mem_addr_mi 
+6567 600081f8 store 1 ,mem_addr_lo 
+6568 58000004 setarg 4 
+6569 60110088 hstore 2 ,core_spid_txlen 
+656a 7001f503 jam flash_command_read_data ,mem_spid_tbuf 
+656b 580001f5 setarg mem_spid_tbuf 
+656c 6011008a hstore 2 ,core_spid_txaddr 
+656d 1a227e00 deposit rega 
+656e 6011008c hstore 2 ,core_spid_rxaddr 
+656f 68108086 hfetch 1 ,core_spid_ctrl 
+6570 2a2c000f isolate0 15 ,rega 
+6571 7920fe06 setflag true ,6 ,pdata 
+6572 60108086 hstore 1 ,core_spid_ctrl 
+6573 70800602 hjam spid_start ,core_misc_ctrl 
+
+spi_read_flash_wait:
+6574 6810812c hfetch 1 ,core_dma_status 
+6575 c283e574 bbit1 7 ,spi_read_flash_wait 
+6576 d8e00003 arg spid_done ,queue 
+6577 202064fc branch wait_spid_done 
+
+spid_load_flash:
+6578 6019008e hstoret 2 ,core_spid_rxlen 
+6579 58000004 setarg 4 
+657a 60110088 hstore 2 ,core_spid_txlen 
+657b 7001f503 jam 3 ,mem_spid_tbuf 
+657c 580001f5 setarg mem_spid_tbuf 
+657d 6011008a hstore 2 ,core_spid_txaddr 
+657e 1a227e00 deposit rega 
+657f 6011008c hstore 2 ,core_spid_rxaddr 
+6580 68108086 hfetch 1 ,core_spid_ctrl 
+6581 2a2c000f isolate0 15 ,rega 
+6582 7920fe06 setflag true ,6 ,pdata 
+6583 60108086 hstore 1 ,core_spid_ctrl 
+6584 70800602 hjam spid_start ,core_misc_ctrl 
+
+spi_load_flash_wait:
+6585 6810812c hfetch 1 ,core_dma_status 
+6586 c283e585 bbit1 7 ,spi_load_flash_wait 
+6587 d8e00003 arg spid_done ,queue 
+6588 204064c0 call decrypt_code 
+6589 204064fc call wait_spid_done 
+658a 2feffe02 isolate1 spid_crcok ,pdata 
+658b 204064b9 call set_ucode_status 
+658c 680081f6 fetch 1 ,mem_addr_hi 
+658d 1ff02400 lshift16 pdata ,regb 
+658e 680081f7 fetch 1 ,mem_addr_mi 
+658f 1fed7e00 lshift8 pdata ,pdata 
+6590 9a41a400 ior regb ,regb 
+6591 680081f8 fetch 1 ,mem_addr_lo 
+6592 9a41fe00 ior regb ,pdata 
+6593 9840fe00 iadd temp ,pdata 
+6594 600081f8 store 1 ,mem_addr_lo 
+6595 1fecfe00 rshift8 pdata ,pdata 
+6596 600081f7 store 1 ,mem_addr_mi 
+6597 1fecfe00 rshift8 pdata ,pdata 
+6598 600081f6 store 1 ,mem_addr_hi 
+6599 20600000 rtn 
+
+soft_reset_chip:
+659a 70801001 hjam 1 ,core_reset 
+659b 20600000 rtn 
+
+iic_init_390k:
+659c 7080910c hjam 12 ,core_iicd_scl_low 
+659d 7080920d hjam 13 ,core_iicd_scl_high 
+659e 7080930d hjam 13 ,core_iicd_start_setup 
+659f 7080940d hjam 13 ,core_iicd_start_hold 
+65a0 7080950d hjam 13 ,core_iicd_stop_setup 
+65a1 7080960c hjam 12 ,core_iicd_data_setup 
+65a2 202065a9 branch iicd_init_gpio 
+
+iicd_init_12m:
+65a3 70809105 hjam 5 ,core_iicd_scl_low 
+65a4 70809207 hjam 7 ,core_iicd_scl_high 
+65a5 70809307 hjam 7 ,core_iicd_start_setup 
+65a6 70809407 hjam 7 ,core_iicd_start_hold 
+65a7 70809507 hjam 7 ,core_iicd_stop_setup 
+65a8 70809605 hjam 5 ,core_iicd_data_setup 
+
+iicd_init_gpio:
+65a9 6810807b hfetch 1 ,core_gpio_pu3 
+65aa 1fe1fec0 or_into 0xc0 ,pdata 
+65ab 6010807b hstore 1 ,core_gpio_pu3 
+65ac 68108081 hfetch 1 ,core_gpio_sel1 
+65ad 1fe1fe10 or_into 0x10 ,pdata 
+65ae 60108081 hstore 1 ,core_gpio_sel1 
+65af 20600000 rtn 
+
+wait_iicd_done:
+65b0 6810812c hfetch 1 ,core_dma_status 
+65b1 c302e5b0 bbit0 iicd_done ,wait_iicd_done 
+65b2 20600000 rtn 
+
+iicd_read_data:
+65b3 60110098 hstore 2 ,core_iicd_txlen 
+65b4 1a227e00 deposit rega 
+65b5 6011009a hstore 2 ,core_iicd_txaddr 
+65b6 1a427e00 deposit regb 
+65b7 6011009c hstore 2 ,core_iicd_rxaddr 
+65b8 18427e00 deposit temp 
+65b9 6011009e hstore 2 ,core_iicd_rxlen 
+65ba d8400001 arg 1 ,temp 
+65bb 7d3a0401 nsetflag blank ,1 ,temp 
+65bc 60108090 hstore 1 ,core_iicd_ctrl 
+65bd 70800604 hjam iicd_start ,core_misc_ctrl 
+65be 202065b0 branch wait_iicd_done 
+
+set_eeprom_size_2k:
+65bf 79200028 set1 mark_eeprom_size ,mark 
+65c0 70421108 jam 0x08 ,mem_eeprom_block_size 
+65c1 20600000 rtn 
+
+clear_eeprom_size_2k:
+65c2 793f8028 set0 mark_eeprom_size ,mark 
+65c3 70421120 jam 0x20 ,mem_eeprom_block_size 
+65c4 20600000 rtn 
+
+iicd_read_eep_data_size_2k:
+65c5 6800c203 fetch 1 ,mem_eeprom_base 
+65c6 9a40fe00 iadd regb ,pdata 
+65c7 600081f7 store 1 ,mem_addr_mi 
+65c8 202065cc branch iicd_read_eep_size_2k 
+
+iicd_read_eep_size_2k_lcadcode:
+65c9 680101f7 fetch 2 ,mem_addr_mi 
+65ca 1ff0fe00 byteswap pdata ,pdata 
+65cb 600081f7 store 1 ,mem_addr_mi 
+
+iicd_read_eep_size_2k:
+65cc 58000003 setarg 3 
+65cd 60110098 hstore 2 ,core_iicd_txlen 
+65ce 7001f6a0 jam 0xa0 ,mem_iicd_tbuf 
+65cf 7001f8a1 jam 0xa1 ,mem_iicd_tbuf + 2 
+65d0 202065eb branch iicd_read_eep_common 
+
+iicd_write_protect_eep_data:
+65d1 60090aa2 storet 2 ,mem_temp 
+65d2 204065d6 call iicd_eeprom_write_enable 
+65d3 68090aa2 fetcht 2 ,mem_temp 
+65d4 20406606 call iicd_write_eep_data 
+65d5 202065dd branch iicd_eeprom_write_disable 
+
+iicd_eeprom_write_enable:
+65d6 6800c23a fetch 1 ,mem_eeprom_wp_gpio 
+65d7 c17f8000 rtneq gpio_disable 
+65d8 c30365db bbit0 6 ,iicd_wp_gpio_output_low 
+65d9 580249f0 setarg 150000 
+65da 20402a8f call sleep 
+
+iicd_wp_gpio_output_low:
+65db 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+65dc 20206829 branch gpio_out_active 
+
+iicd_eeprom_write_disable:
+65dd 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+65de 20206825 branch gpio_out_inactive 
+
+iicd_read_eep_data:
+65df 47484032 bpatchx patch32_0 ,mem_patch32 
+65e0 c51465c5 bmark1 mark_eeprom_size ,iicd_read_eep_data_size_2k 
+65e1 68014203 fetch 2 ,mem_eeprom_base 
+65e2 9a40fe00 iadd regb ,pdata 
+65e3 1ff0fe00 byteswap pdata ,pdata 
+65e4 600101f7 store 2 ,mem_addr_mi 
+
+iicd_read_eep:
+65e5 4748c032 bpatchx patch32_1 ,mem_patch32 
+65e6 c51465c9 bmark1 mark_eeprom_size ,iicd_read_eep_size_2k_lcadcode 
+65e7 58000004 setarg 4 
+65e8 60110098 hstore 2 ,core_iicd_txlen 
+65e9 7001f6a0 jam 0xa0 ,mem_iicd_tbuf 
+65ea 7001f9a1 jam 0xa1 ,mem_iicd_tbuf + 3 
+
+iicd_read_eep_common:
+65eb 580001f6 setarg mem_iicd_tbuf 
+65ec 6011009a hstore 2 ,core_iicd_txaddr 
+65ed 6019009e hstoret 2 ,core_iicd_rxlen 
+65ee 1a227e00 deposit rega 
+65ef 6011009c hstore 2 ,core_iicd_rxaddr 
+65f0 58000002 setarg 2 
+65f1 2a2c000f isolate0 15 ,rega 
+65f2 7920fe00 setflag true ,0 ,pdata 
+65f3 60108090 hstore 1 ,core_iicd_ctrl 
+65f4 70800604 hjam iicd_start ,core_misc_ctrl 
+65f5 d8e00005 arg iicd_done ,queue 
+65f6 204064c0 call decrypt_code 
+65f7 204065b0 call wait_iicd_done 
+65f8 2feffe04 isolate1 iicd_crcok ,pdata 
+65f9 204064b9 call set_ucode_status 
+65fa c5146601 bmark1 mark_eeprom_size ,iicd_read_eep_load_code_size_2k 
+65fb 680101f7 fetch 2 ,mem_addr_mi 
+65fc 1ff0fe00 byteswap pdata ,pdata 
+65fd 9840fe00 iadd temp ,pdata 
+65fe 1ff0fe00 byteswap pdata ,pdata 
+65ff 600101f7 store 2 ,mem_addr_mi 
+6600 20600000 rtn 
+
+iicd_read_eep_load_code_size_2k:
+6601 680081f7 fetch 1 ,mem_addr_mi 
+6602 9840fe00 iadd temp ,pdata 
+6603 1ff0fe00 byteswap pdata ,pdata 
+6604 600101f7 store 2 ,mem_addr_mi 
+6605 20600000 rtn 
+
+iicd_write_eep_data:
+6606 68014203 fetch 2 ,mem_eeprom_base 
+6607 9a40fe00 iadd regb ,pdata 
+
+iicd_write_ota_data:
+6608 60010a9a store 2 ,mem_pdatatemp 
+6609 47494032 bpatchx patch32_2 ,mem_patch32 
+660a 60090aa2 storet 2 ,mem_temp 
+660b 1a227e00 copy rega ,pdata 
+660c 60010ab9 store 2 ,mem_contr 
+
+iicd_write_eep_loop:
+660d 2040661d call iicd_eep_transparency 
+660e 68090ab2 fetcht 2 ,mem_regb 
+660f 68010ab9 fetch 2 ,mem_contr 
+6610 1fe22200 copy pdata ,rega 
+6611 68010a9a fetch 2 ,mem_pdatatemp 
+6612 2040663d call iicd_write_eep 
+6613 68010ab2 fetch 2 ,mem_regb 
+6614 68090ab9 fetcht 2 ,mem_contr 
+6615 98408400 iadd temp ,temp 
+6616 60090ab9 storet 2 ,mem_contr 
+6617 68090a9a fetcht 2 ,mem_pdatatemp 
+6618 98408400 iadd temp ,temp 
+6619 60090a9a storet 2 ,mem_pdatatemp 
+661a 68010aa2 fetch 2 ,mem_temp 
+661b 243a660d nbranch iicd_write_eep_loop ,blank 
+661c 20600000 rtn 
+
+iicd_eep_transparency:
+661d 4749c032 bpatchx patch32_3 ,mem_patch32 
+661e 6800c211 fetch 1 ,mem_eeprom_block_size 
+661f 1fe0ffff increase -1 ,pdata 
+6620 68090a9a fetcht 2 ,mem_pdatatemp 
+6621 9841fe00 ior temp ,pdata 
+6622 1fe0fe01 increase 1 ,pdata 
+6623 60018ab6 store 3 ,mem_regc 
+6624 68010aa2 fetch 2 ,mem_temp 
+6625 9840fe00 iadd temp ,pdata 
+6626 68098ab6 fetcht 3 ,mem_regc 
+6627 98467e00 isub temp ,pdata 
+6628 2421662f nbranch iicd_eep_deal_short_packet ,positive 
+6629 60010aa2 store 2 ,mem_temp 
+662a 68018ab6 fetch 3 ,mem_regc 
+662b 68090a9a fetcht 2 ,mem_pdatatemp 
+662c 98467e00 isub temp ,pdata 
+662d 60010ab2 store 2 ,mem_regb 
+662e 20600000 rtn 
+
+iicd_eep_deal_short_packet:
+662f 68010aa2 fetch 2 ,mem_temp 
+6630 60010ab2 store 2 ,mem_regb 
+6631 58000000 setarg 0 
+6632 60010aa2 store 2 ,mem_temp 
+6633 20600000 rtn 
+
+iicd_write_eep_size_2k:
+6634 18408402 increase 2 ,temp 
+6635 60190098 hstoret 2 ,core_iicd_txlen 
+6636 1a20a3fe increase -2 ,rega 
+6637 ea298000 ifetcht 3 ,rega 
+6638 18422400 copy temp ,regb 
+6639 d84000a0 arg 0xa0 ,temp 
+663a e2288000 istoret 1 ,rega 
+663b e0a08000 istore 1 ,contw 
+663c 2020664a branch iicd_write_eep_common 
+
+iicd_write_eep:
+663d 1fe22400 copy pdata ,regb 
+663e 474a4032 bpatchx patch32_4 ,mem_patch32 
+663f c5146634 bmark1 mark_eeprom_size ,iicd_write_eep_size_2k 
+6640 1a427e00 copy regb ,pdata 
+6641 18408403 increase 3 ,temp 
+6642 60190098 hstoret 2 ,core_iicd_txlen 
+6643 1a20a3fd increase -3 ,rega 
+6644 ea298000 ifetcht 3 ,rega 
+6645 18422400 copy temp ,regb 
+6646 d84000a0 arg 0xa0 ,temp 
+6647 e2288000 istoret 1 ,rega 
+6648 1ff0fe00 byteswap pdata ,pdata 
+6649 e0a10000 istore 2 ,contw 
+
+iicd_write_eep_common:
+664a 1a227e00 deposit rega 
+664b 6011009a hstore 2 ,core_iicd_txaddr 
+664c 58000000 setarg 0 
+664d 6011009e hstore 2 ,core_iicd_rxlen 
+664e 70809001 hjam 1 ,core_iicd_ctrl 
+664f 70800604 hjam iicd_start ,core_misc_ctrl 
+6650 204065b0 call wait_iicd_done 
+6651 1a427e00 copy regb ,pdata 
+6652 e2218000 istore 3 ,rega 
+
+iic_check_eeprom_standby:
+6653 474ac032 bpatchx patch32_5 ,mem_patch32 
+6654 7001f900 jam 0 ,mem_iicd_tbuf + 3 
+
+iic_check_eeprom_standby_wait:
+6655 58000001 setarg 1 
+6656 60110098 hstore 2 ,core_iicd_txlen 
+6657 7001f6a0 jam 0xa0 ,mem_iicd_tbuf 
+6658 580001f6 setarg mem_iicd_tbuf 
+6659 6011009a hstore 2 ,core_iicd_txaddr 
+665a 58000000 setarg 0 
+665b 6011009e hstore 2 ,core_iicd_rxlen 
+665c 6011009c hstore 2 ,core_iicd_rxaddr 
+665d 58000003 setarg 3 
+665e 60108090 hstore 1 ,core_iicd_ctrl 
+665f 70800604 hjam iicd_start ,core_misc_ctrl 
+6660 204065b0 call wait_iicd_done 
+6661 6810812c hfetch 1 ,core_dma_status 
+6662 c4030000 rtnbit0 iicd_ack 
+6663 200005dc nop 1500 
+6664 680081f9 fetch 1 ,mem_iicd_tbuf + 3 
+6665 1fe0fe01 increase 1 ,pdata 
+6666 600081f9 store 1 ,mem_iicd_tbuf + 3 
+6667 1fe67c28 sub pdata ,40 ,null 
+6668 24610000 nrtn positive 
+6669 20206655 branch iic_check_eeprom_standby_wait 
+
+otp_enable_chgpump:
+666a 70897370 hjam 0x70 ,rfen_chgpump 
+666b 20000bb8 nop param_chgpump_delay 
+666c 20600000 rtn 
+
+otp_disable_chgpump:
+666d 70897330 hjam 0x30 ,rfen_chgpump 
+666e 20600000 rtn 
+
+otp_set_addr:
+666f 1fe9fe00 lshift3 pdata ,pdata 
+6670 60110045 hstore 2 ,core_otp_addr 
+6671 70804b00 hjam 0 ,core_otpd_ctrl 
+6672 20600000 rtn 
+
+otp_write:
+6673 2040666f call otp_set_addr 
+6674 204066a0 call otp_ce 
+
+otp_program:
+6675 ea288000 ifetcht 1 ,rega 
+6676 1a20a201 increase 1 ,rega 
+6677 18000e00 force 0 ,queue 
+
+otp_program_bit:
+6678 a84c0000 qisolate0 temp 
+6679 2020e697 branch otp_skip_0 ,true 
+667a 68108046 hfetch 1 ,core_otp_din 
+667b 79207e06 set1 6 ,pdata 
+667c 79207e07 set1 7 ,pdata 
+667d 60108046 hstore 1 ,core_otp_din 
+667e 70804702 hjam 0x02 ,core_otp_ctrl 
+667f 70804782 hjam 0x82 ,core_otp_ctrl 
+6680 793ffe07 set0 7 ,pdata 
+6681 60108046 hstore 1 ,core_otp_din 
+6682 7080478a hjam 0x8a ,core_otp_ctrl 
+6683 2000000b nop 11 
+6684 708047ca hjam 0xca ,core_otp_ctrl 
+6685 20000021 nop 33 
+6686 7080474a hjam 0x4a ,core_otp_ctrl 
+6687 2000002c nop 44 
+6688 708047ca hjam 0xca ,core_otp_ctrl 
+6689 20000016 nop 22 
+668a 7080478a hjam 0x8a ,core_otp_ctrl 
+668b 20000021 nop 33 
+668c 70804782 hjam 0x82 ,core_otp_ctrl 
+668d 20000001 nop 1 
+668e 70804792 hjam 0x92 ,core_otp_ctrl 
+668f 2000000a nop 10 
+6690 708047b2 hjam 0xb2 ,core_otp_ctrl 
+6691 68108007 hfetch 1 ,core_otp_rdata 
+6692 70804792 hjam 0x92 ,core_otp_ctrl 
+6693 20000001 nop 1 
+6694 70804782 hjam 0x82 ,core_otp_ctrl 
+6695 afec0000 qisolate0 pdata 
+6696 2020e678 branch otp_program_bit ,true 
+
+otp_skip_0:
+6697 68110045 hfetch 2 ,core_otp_addr 
+6698 1fe0fe01 increase 1 ,pdata 
+6699 60110045 hstore 2 ,core_otp_addr 
+669a 18e08e01 increase 1 ,queue 
+669b 28e01e08 compare 8 ,queue ,0xf 
+669c 2420e678 nbranch otp_program_bit ,true 
+669d c2006675 loop otp_program 
+669e 70804783 hjam 0x83 ,core_otp_ctrl 
+669f 20600000 rtn 
+
+otp_ce:
+66a0 70804782 hjam 0x82 ,core_otp_ctrl 
+66a1 2000000c nop 12 
+66a2 70804780 hjam 0x80 ,core_otp_ctrl 
+66a3 70804782 hjam 0x82 ,core_otp_ctrl 
+66a4 20000096 nop 150 
+66a5 20600000 rtn 
+
+otpd_read_init:
+66a6 204066a0 call otp_ce 
+66a7 708047a2 hjam 0xa2 ,core_otp_ctrl 
+66a8 1a227e00 deposit rega 
+66a9 60110048 hstore 2 ,core_otpd_addr 
+66aa 7920040b set1 11 ,temp 
+66ab 2fec000f isolate0 15 ,pdata 
+66ac 7920840f setflag true ,15 ,temp 
+66ad 6019004a hstoret 2 ,core_otpd_len 
+66ae 70800601 hjam otpd_start ,core_misc_ctrl 
+66af 20600000 rtn 
+
+otpd_wait_end:
+66b0 6810812c hfetch 1 ,core_dma_status 
+66b1 c300e6b0 bbit0 otpd_done ,otpd_wait_end 
+66b2 20600000 rtn 
+
+otpd_read_data:
+66b3 2040666f call otp_set_addr 
+66b4 204066a6 call otpd_read_init 
+66b5 204066b0 call otpd_wait_end 
+66b6 70804783 hjam 0x83 ,core_otp_ctrl 
+66b7 20600000 rtn 
+
+otpd_read_code:
+66b8 68110124 hfetch 2 ,core_current_otp_addr 
+66b9 60110045 hstore 2 ,core_otp_addr 
+66ba 204066a6 call otpd_read_init 
+66bb d8e00001 arg otpd_done ,queue 
+66bc 204064c0 call decrypt_code 
+66bd 204066b0 call otpd_wait_end 
+66be 2feffe00 isolate1 otpd_crcok ,pdata 
+66bf 204064b9 call set_ucode_status 
+66c0 70804783 hjam 0x83 ,core_otp_ctrl 
+66c1 20600000 rtn 
+
+uartd_prepare_tx:
+66c2 6811005e hfetch 2 ,core_uart_twptr 
+66c3 98001400 iforce contwu 
+66c4 20600000 rtn 
+
+uartd_send:
+66c5 19427e00 deposit contwu 
+66c6 6011005e hstore 2 ,core_uart_twptr 
+66c7 20600000 rtn 
+
+uartd_rxdone:
+66c8 18627e00 deposit contru 
+66c9 60110058 hstore 2 ,core_uart_rrptr 
+66ca 20600000 rtn 
+
+uartd_prepare_rx:
+66cb 68110058 hfetch 2 ,core_uart_rrptr 
+66cc 1fe20600 copy pdata ,contru 
+66cd 20600000 rtn 
+
+uart_set_baud_by_mem:
+66ce 68014243 fetch uart_baud_len ,mem_baud 
+66cf 60110052 hstore uart_baud_len ,core_uart_baud 
+66d0 20600000 rtn 
+
+uart_copy_tx_bytes_fast:
+66d1 1f227e00 deposit loopcnt 
+66d2 207a0000 rtn blank 
+
+uart_copy_tx_bytes_fast_loop:
+66d3 1f20f3f8 increase -8 ,loopcnt 
+66d4 204166de call uart_tx_8_bytes ,positive 
+66d5 20628000 rtn zero 
+66d6 202166d3 branch uart_copy_tx_bytes_fast_loop ,positive 
+66d7 1f20f208 increase 8 ,loopcnt 
+
+uart_copy_tx_bytes_fast_loop_four:
+66d8 1f20f3fc increase -4 ,loopcnt 
+66d9 204166e1 call uart_tx_4_bytes ,positive 
+66da 20628000 rtn zero 
+66db 202166d8 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+66dc 1f20f204 increase 4 ,loopcnt 
+66dd 202066e4 branch uart_copy_tx_bytes 
+
+uart_tx_8_bytes:
+66de e8c40000 ifetch 8 ,contr 
+66df e1440000 istore 8 ,contwu 
+66e0 20600000 rtn 
+
+uart_tx_4_bytes:
+66e1 e8c20000 ifetch 4 ,contr 
+66e2 e1420000 istore 4 ,contwu 
+66e3 20600000 rtn 
+
+uart_copy_tx_bytes:
+66e4 1f227e00 deposit loopcnt 
+66e5 207a0000 rtn blank 
+
+uart_copy_tx_bytes_loop:
+66e6 e8c08000 ifetch 1 ,contr 
+66e7 e1408000 istore 1 ,contwu 
+66e8 c20066e6 loop uart_copy_tx_bytes_loop 
+66e9 20600000 rtn 
+
+uart_copy_rx_bytes_fast:
+66ea 1f227e00 deposit loopcnt 
+66eb 207a0000 rtn blank 
+
+uart_copy_rx_bytes_fast_loop:
+66ec 1f20f3f8 increase -8 ,loopcnt 
+66ed 204166f7 call uart_rx_8_bytes ,positive 
+66ee 20628000 rtn zero 
+66ef 202166ec branch uart_copy_rx_bytes_fast_loop ,positive 
+66f0 1f20f208 increase 8 ,loopcnt 
+
+uart_copy_rx_bytes_fast_loop_four:
+66f1 1f20f3fc increase -4 ,loopcnt 
+66f2 204166fa call uart_rx_4_bytes ,positive 
+66f3 20628000 rtn zero 
+66f4 202166f1 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+66f5 1f20f204 increase 4 ,loopcnt 
+66f6 202066fd branch uart_copy_rx_bytes 
+
+uart_rx_8_bytes:
+66f7 e8640000 ifetch 8 ,contru 
+66f8 e0a40000 istore 8 ,contw 
+66f9 20600000 rtn 
+
+uart_rx_4_bytes:
+66fa e8620000 ifetch 4 ,contru 
+66fb e0a20000 istore 4 ,contw 
+66fc 20600000 rtn 
+
+uart_copy_rx_bytes:
+66fd 1f227e00 deposit loopcnt 
+66fe 207a0000 rtn blank 
+
+uart_copy_rx_bytes_loop:
+66ff e8608000 ifetch 1 ,contru 
+6700 e0a08000 istore 1 ,contw 
+6701 c20066ff loop uart_copy_rx_bytes_loop 
+6702 20600000 rtn 
+
+uart_copy_rx2tx:
+6703 1f227e00 deposit loopcnt 
+6704 207a0000 rtn blank 
+
+uart_copy_rx2tx_loop:
+6705 e8608000 ifetch 1 ,contru 
+6706 e1408000 istore 1 ,contwu 
+6707 c2006705 loop uart_copy_rx2tx_loop 
+6708 20600000 rtn 
+
+app_store_nvram_event:
+6709 700a993d jam bt_evt_store_nvram ,mem_fifo_temp 
+670a 20207d86 branch ui_ipc_send_event 
+
+check_51cmd_store_reconn_info:
+
+check_51cmd_update_device_record:
+670b 474b4032 bpatchx patch32_6 ,mem_patch32 
+670c 6800c217 fetch 1 ,mem_nv_data_number 
+670d 207a0000 rtn blank 
+670e 204067a3 call check_nvram 
+670f 2042e7a9 call init_device_list ,zero 
+6710 2040673e call nvram_find_addr_from_bd_list 
+
+write_device_record:
+6711 6800c217 fetch 1 ,mem_nv_data_number 
+6712 1fe22600 icopy regc 
+6713 68094215 fetcht 2 ,mem_nv_data_ptr 
+6714 6009018c storet 2 ,mem_list_item_ptr 
+
+write_device_loop_find:
+6715 1a627e00 copy regc ,pdata 
+6716 203a6709 branch app_store_nvram_event ,blank 
+6717 1a60a7ff increase -1 ,regc 
+6718 18422200 copy temp ,rega 
+6719 ea208000 ifetch 1 ,rega 
+671a 68088184 fetcht 1 ,mem_select_list_item 
+671b 98467c00 isub temp ,null 
+671c 2042e725 call set_index_finded_device ,zero 
+671d 20216721 branch write_device_loop_find0 ,positive 
+671e ea208000 ifetch 1 ,rega 
+671f 1fe0fe01 increase 1 ,pdata 
+6720 e2208000 istore 1 ,rega 
+
+write_device_loop_find0:
+6721 6809018c fetcht 2 ,mem_list_item_ptr 
+6722 18408422 increase nv_data_len ,temp 
+6723 6009018c storet 2 ,mem_list_item_ptr 
+6724 20206715 branch write_device_loop_find 
+
+set_index_finded_device:
+6725 58000000 setarg 0 
+6726 e2208000 istore 1 ,rega 
+6727 68008185 fetch 1 ,mem_temp_reconn_record 
+6728 e0a08000 istore 1 ,contw 
+6729 c099e733 bne rec_3_mode ,set_index_finded_device_ble_mode 
+672a da4041be arg mem_link_key ,regb 
+
+set_index_find_device_master_addr:
+672b e8c30000 ifetch 6 ,contr 
+672c e0a40000 istore 8 ,contw 
+672d 58000000 setarg 0 
+672e e0a40000 istore 8 ,contw 
+672f 1a420c00 copy regb ,contr 
+
+store_rec_data_common:
+6730 20407ebf call memcpy16 
+6731 18007c01 force 1 ,null 
+6732 20600000 rtn 
+
+set_index_finded_device_ble_mode:
+6733 c01b6737 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+6734 c01be73b beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+6735 da404419 arg mem_le_ltk ,regb 
+6736 2020672b branch set_index_find_device_master_addr 
+
+set_index_finded_device_irk:
+6737 d8c044d5 arg mem_le_irk ,contr 
+6738 20407ebf call memcpy16 
+
+store_ble_rec_data_common:
+6739 d8c04419 arg mem_le_ltk ,contr 
+673a 20206730 branch store_rec_data_common 
+
+set_index_finded_device_ediv:
+673b d8c044cd arg mem_le_rand ,contr 
+673c 20407ebf call memcpy16 
+673d 20206739 branch store_ble_rec_data_common 
+
+nvram_find_addr_from_bd_list:
+673e 20407fe9 call disable_user 
+673f 6800c217 fetch 1 ,mem_nv_data_number 
+6740 207a0000 rtn blank 
+6741 68014682 fetch 2 ,mem_ui_state_map 
+6742 c2806754 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+
+find_addr_from_bd_list_ble_mode:
+6743 474bc032 bpatchx patch32_7 ,mem_patch32 
+6744 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+6745 c000674d beq master_public_addr ,find_addr_from_bd_list_static_addr 
+6746 68008454 fetch 1 ,mem_le_plap + 5 
+6747 2fe180c0 compare 0xc0 ,pdata ,0xc0 
+6748 2020e74d branch find_addr_from_bd_list_static_addr ,true 
+6749 2fe18040 compare 0x40 ,pdata ,0xc0 
+674a 2020e752 branch find_addr_from_bd_list_random_addr ,true 
+674b 2fe18000 compare 0x00 ,pdata ,0xc0 
+674c 2020e750 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+
+find_addr_from_bd_list_static_addr:
+674d 70018535 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+674e 6803044f fetch 6 ,mem_le_plap 
+674f 20206757 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_random_non_resolvable_private_address:
+6750 70018537 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+6751 20206757 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_random_addr:
+6752 70018536 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+6753 20206757 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_spp_mode:
+6754 474c4033 bpatchx patch33_0 ,mem_patch33 
+6755 70018533 jam rec_3_mode ,mem_temp_reconn_record 
+6756 68030040 fetch 6 ,mem_plap 
+
+find_addr_from_bd_list_common:
+6757 60030186 store 6 ,mem_temp_reconn_record + 1 
+6758 68014215 fetch 2 ,mem_nv_data_ptr 
+6759 efe88000 ifetcht 1 ,pdata 
+675a 1fe0fe01 pincrease 1 
+675b 6001018c store 2 ,mem_list_item_ptr 
+675c 60088184 storet 1 ,mem_select_list_item 
+675d 6800c217 fetch 1 ,mem_nv_data_number 
+675e 1fe22600 icopy regc 
+
+nvram_find_addr_from_list:
+675f 6801018c fetch 2 ,mem_list_item_ptr 
+6760 1fe22200 copy pdata ,rega 
+6761 2040676f call nvram_find_addr_from_list_compare 
+6762 20740000 rtn user 
+6763 6809018c fetcht 2 ,mem_list_item_ptr 
+6764 18408422 increase nv_data_len ,temp 
+6765 6009018c storet 2 ,mem_list_item_ptr 
+6766 184085ff increase -1 ,temp 
+6767 e8408000 ifetch 1 ,temp 
+6768 60008184 store 1 ,mem_select_list_item 
+6769 1a60a7ff increase -1 ,regc 
+676a 2422e75f nbranch nvram_find_addr_from_list ,zero 
+676b 6800c217 fetch 1 ,mem_nv_data_number 
+676c 1fe0ffff pincrease decreased_one 
+676d 60008184 store 1 ,mem_select_list_item 
+676e 20600000 rtn 
+
+nvram_find_addr_from_list_compare:
+676f 68008185 fetch 1 ,mem_temp_reconn_record 
+6770 c099e776 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+
+find_master_addr_from_list_compare:
+6771 da400185 arg mem_temp_reconn_record ,regb 
+6772 df200007 arg 7 ,loopcnt 
+6773 20407f88 call string_compare 
+6774 2022ffe7 branch enable_user ,zero 
+6775 20600000 rtn 
+
+find_addr_from_list_compare_ble_mode:
+6776 c01b6779 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+6777 c01be794 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+6778 20206771 branch find_master_addr_from_list_compare 
+
+find_irk_form_list_compare:
+6779 ea288000 ifetcht 1 ,rega 
+677a 98467c00 isub temp ,null 
+677b 24628000 nrtn zero 
+677c d8a00ac2 arg mem_le_prand ,contw 
+677d df200010 arg 16 ,loopcnt 
+677e 20407ed4 call clear_mem 
+677f 68018452 fetch 3 ,mem_le_plap + 3 
+6780 60018ac2 store 3 ,mem_le_prand 
+6781 2040678b call genernate_master_macaddress 
+6782 68010adf fetch 2 ,mem_le_aes_128 + 13 
+6783 1ff0fe00 byteswap pdata ,pdata 
+6784 1fed0400 lshift8 pdata ,temp 
+6785 e8c08000 ifetch 1 ,contr 
+6786 9840fe00 iadd temp ,pdata 
+6787 6809844f fetcht 3 ,mem_le_plap 
+6788 98467c00 isub temp ,null 
+6789 2022ffe7 branch enable_user ,zero 
+678a 20600000 rtn 
+
+genernate_master_macaddress:
+678b d8c00ac2 arg mem_le_prand ,contr 
+678c 20407486 call load_data128 
+678d ea208000 ifetch 1 ,rega 
+678e 20407487 call load_regext 
+678f 18006c38 force 0x38 ,aes_ctrl 
+6790 18006c00 force 0x0 ,aes_ctrl 
+6791 2040741d call wait_aes 
+6792 d8a00ad2 arg mem_le_aes_128 ,contw 
+6793 20207497 branch store_aes_result 
+
+find_ediv_form_list_compare:
+6794 ea288000 ifetcht 1 ,rega 
+6795 98467c00 isub temp ,null 
+6796 24628000 nrtn zero 
+6797 18c22200 copy contr ,rega 
+6798 18c0a608 add contr ,8 ,regc 
+6799 da4044cd arg mem_le_rand ,regb 
+679a df200008 arg 8 ,loopcnt 
+679b 20407f88 call string_compare 
+679c 2022ffe7 branch enable_user ,zero 
+679d 1a622200 copy regc ,rega 
+679e da4044d5 arg mem_le_irk ,regb 
+679f df200008 arg 8 ,loopcnt 
+67a0 20407f88 call string_compare 
+67a1 2022ffe7 branch enable_user ,zero 
+67a2 20600000 rtn 
+
+check_nvram:
+67a3 68014215 fetch 2 ,mem_nv_data_ptr 
+67a4 efe88000 ifetcht 1 ,pdata 
+67a5 1fe0fe22 pincrease nv_data_len 
+67a6 efe08000 ifetch 1 ,pdata 
+67a7 98467c00 isub temp ,null 
+67a8 20600000 rtn 
+
+init_device_list:
+67a9 6800c217 fetch 1 ,mem_nv_data_number 
+67aa 1fe27200 icopy loopcnt 
+67ab 68094215 fetcht 2 ,mem_nv_data_ptr 
+67ac 58000000 setarg 0 
+
+init_device_list_loop:
+67ad e0408000 istore 1 ,temp 
+67ae 18408422 increase nv_data_len ,temp 
+67af 1fe0fe01 pincrease 1 
+67b0 c20067ad loop init_device_list_loop 
+67b1 20600000 rtn 
+
+load_device_list:
+67b2 474cc033 bpatchx patch33_1 ,mem_patch33 
+67b3 2040673e call nvram_find_addr_from_bd_list 
+67b4 68008030 fetch 1 ,mem_state 
+67b5 79347e06 setflag user ,state_combkey ,pdata 
+67b6 60008030 store 1 ,mem_state 
+67b7 243467bc nbranch clear_key_exists ,user 
+67b8 1a208c0a add rega ,10 ,contr 
+67b9 d8a041be arg mem_link_key ,contw 
+67ba 20407ebf call memcpy16 
+67bb 202067d7 branch check_link_key_load 
+
+clear_key_exists:
+67bc 7041bd00 jam 0 ,mem_link_key_exists 
+67bd 20600000 rtn 
+
+load_device_list_mode_4:
+67be 6804c4cb fetch 9 ,mem_le_ediv 
+67bf 203a67ca branch clear_ltk_exists ,blank 
+67c0 2040673e call nvram_find_addr_from_bd_list 
+67c1 243467ca nbranch clear_ltk_exists ,user 
+67c2 6801018c fetch 2 ,mem_list_item_ptr 
+67c3 1fe08c01 add pdata ,1 ,contr 
+67c4 d8a044d5 arg mem_le_irk ,contw 
+67c5 20407ebf call memcpy16 
+67c6 d8a04419 arg mem_le_ltk ,contw 
+67c7 20407ebf call memcpy16 
+67c8 70442901 jam 1 ,mem_ltk_exists 
+67c9 20600000 rtn 
+
+clear_ltk_exists:
+67ca 70442900 jam 0 ,mem_ltk_exists 
+67cb 20600000 rtn 
+
+eeprom_store_le_reconn_info:
+67cc 6803044f fetch 6 ,mem_le_plap 
+67cd 60030186 store 6 ,mem_temp_lap 
+67ce 70018534 jam rec_4_mode ,mem_record_bt_mode 
+67cf 202067d3 branch eeprom_store_reconn_info 
+
+eeprom_store_bd_reconn_info:
+67d0 68030040 fetch 6 ,mem_plap 
+67d1 60030186 store 6 ,mem_temp_lap 
+67d2 70018533 jam rec_3_mode ,mem_record_bt_mode 
+
+eeprom_store_reconn_info:
+67d3 6800c092 fetch 1 ,mem_device_option 
+67d4 c005670b beq dvc_op_module ,check_51cmd_update_device_record 
+67d5 c28342da bbit1 dvc_op_mouse ,mouse_store_remote_bdaddr 
+67d6 20600000 rtn 
+
+check_link_key_load:
+67d7 680441be fetch 8 ,mem_link_key 
+67d8 680c41c6 fetcht 8 ,mem_link_key + 8 
+67d9 9841fe00 ior temp ,pdata 
+67da 207a0000 rtn blank 
+67db 7041bd01 jam 1 ,mem_link_key_exists 
+67dc 20600000 rtn 
+
+gpio_set_wake_by_current_state:
+67dd 474d4033 bpatchx patch33_2 ,mem_patch33 
+67de 79200407 set1 7 ,temp 
+67df 2040681d call gpio_get_bit 
+67e0 7d208407 nsetflag true ,7 ,temp 
+
+gpio_set_wake:
+67e1 474dc033 bpatchx patch33_3 ,mem_patch33 
+67e2 18467cff sub temp ,ui_button_gpio_disable ,null 
+67e3 20628000 rtn zero 
+67e4 284c0007 isolate0 7 ,temp 
+67e5 18410e1f and temp ,0x1f ,queue 
+67e6 680200a1 fetch 4 ,mem_gpio_wakeup_low 
+67e7 f920fe00 qsetflag true ,pdata 
+67e8 600200a1 store 4 ,mem_gpio_wakeup_low 
+67e9 680200a5 fetch 4 ,mem_gpio_wakeup_high 
+67ea fd20fe00 nqsetflag true ,pdata 
+67eb 600200a5 store 4 ,mem_gpio_wakeup_high 
+67ec 20600000 rtn 
+
+gpio_clr_wake:
+67ed 474e4033 bpatchx patch33_4 ,mem_patch33 
+67ee 18467cff sub temp ,ui_button_gpio_disable ,null 
+67ef 20628000 rtn zero 
+67f0 284c0007 isolate0 7 ,temp 
+67f1 18410e1f and temp ,0x1f ,queue 
+67f2 680200a1 fetch 4 ,mem_gpio_wakeup_low 
+67f3 f93ffe00 qset0 pdata 
+67f4 600200a1 store 4 ,mem_gpio_wakeup_low 
+67f5 680200a5 fetch 4 ,mem_gpio_wakeup_high 
+67f6 f93ffe00 qset0 pdata 
+67f7 600200a5 store 4 ,mem_gpio_wakeup_high 
+67f8 20600000 rtn 
+
+gpio_config_input_nowake:
+67f9 204067ed call gpio_clr_wake 
+67fa 202067fe branch gpio_config_input_without_wake 
+
+gpio_config_input:
+67fb 18467cff sub temp ,ui_button_gpio_disable ,null 
+67fc 20628000 rtn zero 
+67fd 2455e7e1 ncall gpio_set_wake ,wake 
+
+gpio_config_input_without_wake:
+67fe d8a0807c arg core_gpio_pd0 ,contw 
+67ff 20406830 call gpio_set_bit 
+6800 79400407 setflip gpio_active_bit ,temp 
+6801 d8a08078 arg core_gpio_pu0 ,contw 
+6802 20406830 call gpio_set_bit 
+6803 793f8407 set0 gpio_active_bit ,temp 
+6804 d8a08070 arg core_gpio_oe0 ,contw 
+6805 20206830 branch gpio_set_bit 
+
+gpio_set_high_impedance:
+6806 d8a0807c arg core_gpio_pd0 ,contw 
+6807 20406830 call gpio_set_bit 
+6808 793f8407 set0 gpio_active_bit ,temp 
+6809 d8a08078 arg core_gpio_pu0 ,contw 
+680a 20406830 call gpio_set_bit 
+680b 793f8407 set0 gpio_active_bit ,temp 
+680c d8a08070 arg core_gpio_oe0 ,contw 
+680d 20206830 branch gpio_set_bit 
+
+gpio_config_output:
+680e 18467cff sub temp ,ui_button_gpio_disable ,null 
+680f 20628000 rtn zero 
+6810 79400407 setflip gpio_active_bit ,temp 
+6811 2040682f call gpio_out 
+
+gpio_config_output0:
+6812 79200407 set1 gpio_active_bit ,temp 
+6813 d8a08070 arg core_gpio_oe0 ,contw 
+6814 20206830 branch gpio_set_bit 
+
+gpio_common:
+6815 18410e07 and temp ,0x07 ,queue 
+6816 18497e00 rshift3 temp ,pdata 
+6817 1fe17e03 and_into 3 ,pdata 
+6818 98a08a00 iadd contw ,contw 
+6819 e8a08000 ifetch 1 ,contw 
+681a 20600000 rtn 
+
+gpio_check_active:
+681b d8a08074 arg core_gpio_out0 ,contw 
+681c 2020681e branch get_bit_common 
+
+gpio_get_bit:
+681d d8a0811c arg core_gpio_in ,contw 
+
+get_bit_common:
+681e 20406815 call gpio_common 
+681f 284ffe07 isolate1 gpio_active_bit ,temp 
+6820 2020e823 branch gpio_get_bit_reverse ,true 
+6821 afec0000 qisolate0 pdata 
+6822 20600000 rtn 
+
+gpio_get_bit_reverse:
+6823 afefffff qisolate1 pdata 
+6824 20600000 rtn 
+
+gpio_out_inactive:
+6825 18467cff sub temp ,ui_button_gpio_disable ,null 
+6826 20628000 rtn zero 
+6827 2fcffe07 isolate1 7 ,null 
+6828 2020682c branch gpio_out_flag 
+
+gpio_out_active:
+6829 18467cff sub temp ,ui_button_gpio_disable ,null 
+682a 20628000 rtn zero 
+682b 2fcc0007 isolate0 7 ,null 
+
+gpio_out_flag:
+682c 58000000 setarg 0 
+682d 7d20fe07 nsetflag true ,gpio_active_bit ,pdata 
+682e 98428400 ixor temp ,temp 
+
+gpio_out:
+682f d8a08074 arg core_gpio_out0 ,contw 
+
+gpio_set_bit:
+6830 20406815 call gpio_common 
+6831 284ffe07 isolate1 gpio_active_bit ,temp 
+6832 f920fe00 qsetflag true ,pdata 
+6833 e0a08000 istore 1 ,contw 
+6834 20600000 rtn 
+
+gpio_set_before_lpm_common:
+6835 da3fffff arg -1 ,rega 
+6836 68108081 hfetch 1 ,core_gpio_sel1 
+6837 2fe00602 compare 0x02 ,pdata ,0x03 
+6838 2040e878 call neglact4_from_23_pin ,true 
+6839 2fe00601 compare 0x01 ,pdata ,0x03 
+683a 2040e87a call neglact2_form_25_pin ,true 
+683b 2fe00603 compare 0x03 ,pdata ,0x03 
+683c 2040e87a call neglact2_form_25_pin ,true 
+683d 2feffe02 isolate1 2 ,pdata 
+683e 2040e874 call neglect2_from_6_pin ,true 
+683f 2feffe03 isolate1 3 ,pdata 
+6840 2040e876 call neglect4_from_9_pin ,true 
+6841 2feffe04 isolate1 4 ,pdata 
+6842 2040e87c call neglact2_form_30_pin ,true 
+6843 2feffe06 isolate1 6 ,pdata 
+6844 7d20a204 nsetflag true ,04 ,rega 
+6845 2feffe07 isolate1 7 ,pdata 
+6846 7d20a205 nsetflag true ,05 ,rega 
+6847 68108082 hfetch 1 ,core_gpio_sel2 
+6848 2feffe00 isolate1 0 ,pdata 
+6849 7d20a21b nsetflag true ,27 ,rega 
+684a 2feffe01 isolate1 1 ,pdata 
+684b 7d20a21c nsetflag true ,28 ,rega 
+684c 2feffe02 isolate1 2 ,pdata 
+684d 7d20a203 nsetflag true ,03 ,rega 
+684e 2feffe03 isolate1 3 ,pdata 
+684f 7d20a208 nsetflag true ,08 ,rega 
+6850 2feffe04 isolate1 4 ,pdata 
+6851 7d20a214 nsetflag true ,20 ,rega 
+6852 2feffe05 isolate1 5 ,pdata 
+6853 7d20a215 nsetflag true ,21 ,rega 
+6854 2feffe06 isolate1 6 ,pdata 
+6855 7d20a216 nsetflag true ,22 ,rega 
+6856 2feffe07 isolate1 7 ,pdata 
+6857 7d20a217 nsetflag true ,23 ,rega 
+6858 68108080 hfetch 1 ,core_gpio_sel 
+6859 2feffe00 isolate1 0 ,pdata 
+685a 7d20a205 nsetflag true ,05 ,rega 
+685b 2feffe01 isolate1 1 ,pdata 
+685c 7d20a206 nsetflag true ,06 ,rega 
+685d 2feffe02 isolate1 2 ,pdata 
+685e 7d20a207 nsetflag true ,07 ,rega 
+685f 2feffe03 isolate1 3 ,pdata 
+6860 7d20a212 nsetflag true ,18 ,rega 
+6861 2feffe04 isolate1 4 ,pdata 
+6862 7d20a213 nsetflag true ,19 ,rega 
+6863 2feffe05 isolate1 5 ,pdata 
+6864 7d20a214 nsetflag true ,20 ,rega 
+6865 2feffe06 isolate1 6 ,pdata 
+6866 7d20a215 nsetflag true ,21 ,rega 
+6867 2feffe07 isolate1 7 ,pdata 
+6868 7d20a216 nsetflag true ,22 ,rega 
+6869 68108062 hfetch 1 ,core_uart_ctrl 
+686a 2feffe04 isolate1 4 ,pdata 
+686b 2040e87e call neglact2_form_2_pin ,true 
+686c 474ec033 bpatchx patch33_5 ,mem_patch33 
+686d 68120078 hfetch 4 ,core_gpio_pu0 
+686e 681a007c hfetcht 4 ,core_gpio_pd0 
+686f 9841fe00 ior temp ,pdata 
+6870 1fe47e00 invert pdata ,pdata 
+6871 9a217e00 iand rega ,pdata 
+6872 60120070 hstore 4 ,core_gpio_oe0 
+6873 20600000 rtn 
+
+neglect2_from_6_pin:
+6874 d8e00006 arg 6 ,queue 
+6875 20206884 branch neglect_2_pin 
+
+neglect4_from_9_pin:
+6876 d8e00009 arg 9 ,queue 
+6877 20206882 branch neglact_4_pin 
+
+neglact4_from_23_pin:
+6878 d8e00017 arg 23 ,queue 
+6879 20206882 branch neglact_4_pin 
+
+neglact2_form_25_pin:
+687a d8e00019 arg 25 ,queue 
+687b 20206884 branch neglect_2_pin 
+
+neglact2_form_30_pin:
+687c d8e0001e arg 30 ,queue 
+687d 20206884 branch neglect_2_pin 
+
+neglact2_form_2_pin:
+687e d8e00002 arg 2 ,queue 
+687f 20206884 branch neglect_2_pin 
+
+neglact_1_pin:
+6880 df200001 arg 1 ,loopcnt 
+6881 20206885 branch neglect_pin_loop 
+
+neglact_4_pin:
+6882 df200004 arg 4 ,loopcnt 
+6883 20206885 branch neglect_pin_loop 
+
+neglect_2_pin:
+6884 df200002 arg 2 ,loopcnt 
+
+neglect_pin_loop:
+6885 f93fa200 qset0 rega 
+6886 18e08e01 increase 1 ,queue 
+6887 c2006885 loop neglect_pin_loop 
+6888 20600000 rtn 
+
+gpio_cfg_uart_tx_output:
+6889 20406895 call gpio_uart2gpio 
+688a d8400006 arg uart_wakeup_tx ,temp 
+688b 2020680e branch gpio_config_output 
+
+gpio_pu_uart_tx:
+688c 20406889 call gpio_cfg_uart_tx_output 
+688d d8400006 arg uart_wakeup_tx ,temp 
+688e 20206825 branch gpio_out_inactive 
+
+gpio_rx_config_input_with_pu:
+688f 20406895 call gpio_uart2gpio 
+6890 68108078 hfetch 1 ,core_gpio_pu0 
+6891 79207e07 set1 uart_wakeup_rx ,pdata 
+6892 60108078 hstore 1 ,core_gpio_pu0 
+6893 d8400007 arg uart_wakeup_rx ,temp 
+6894 202067fb branch gpio_config_input 
+
+gpio_uart2gpio:
+6895 68108081 hfetch 1 ,core_gpio_sel1 
+6896 1fe17efb and_into 0xfb ,pdata 
+6897 60108081 hstore 1 ,core_gpio_sel1 
+6898 20600000 rtn 
+
+gpio_check_uart_state:
+6899 68108081 hfetch 1 ,core_gpio_sel1 
+689a 2feffe02 isolate1 2 ,pdata 
+689b 20600000 rtn 
+
+load_chip_option:
+689c 2040666a call otp_enable_chgpump 
+689d 580007e0 setarg otp_chip_functions 
+689e da204150 arg mem_chip_functions ,rega 
+689f d8400002 arg 0x02 ,temp 
+68a0 204066b3 call otpd_read_data 
+68a1 2020666d branch otp_disable_chgpump 
+
+load_adc_init:
+68a2 2040666a call otp_enable_chgpump 
+68a3 580007e2 setarg otp_adc_io_0_5v_addr 
+68a4 da20421d arg mem_0_5_adc_io_data ,rega 
+68a5 d840000e arg 14 ,temp 
+68a6 204066b3 call otpd_read_data 
+68a7 2020666d branch otp_disable_chgpump 
+
+adc_init_data:
+68a8 474f4033 bpatchx patch33_6 ,mem_patch33 
+68a9 204068a2 call load_adc_init 
+68aa 6800c22d fetch 1 ,mem_adc_config_flag 
+68ab c00068af beq adc_config_vinlpm ,adc_init_data_vinlpm 
+68ac c000e8c3 beq adc_config_hvin ,adc_init_data_hvin 
+68ad c00168d7 beq adc_config_gpio ,adc_init_data_io 
+68ae 20600000 rtn 
+
+adc_init_data_vinlpm:
+68af 68094229 fetcht 2 ,mem_otp_adc_flag 
+68b0 5800aa55 setarg otp_adc_flag 
+68b1 98467c00 isub temp ,null 
+68b2 2022e8b8 branch adc_check_data_vinlpm ,zero 
+68b3 58004dfa setarg 0x4dfa 
+68b4 60014227 store 2 ,mem_3v_adc_vinlpm_data 
+68b5 58004894 setarg 0x4894 
+68b6 60014221 store 2 ,mem_2v_adc_vinlpm_data 
+68b7 202068c0 branch set_vdd_reference_voltage_1v 
+
+adc_check_data_vinlpm:
+68b8 68014227 fetch 2 ,mem_3v_adc_vinlpm_data 
+68b9 243a68bc nbranch adc_check_2v_vinlpm ,blank 
+68ba 58004dfa setarg 0x4dfa 
+68bb 60014227 store 2 ,mem_3v_adc_vinlpm_data 
+
+adc_check_2v_vinlpm:
+68bc 68014221 fetch 2 ,mem_2v_adc_vinlpm_data 
+68bd 243a68c0 nbranch set_vdd_reference_voltage_1v ,blank 
+68be 58004894 setarg 0x4894 
+68bf 60014221 store 2 ,mem_2v_adc_vinlpm_data 
+
+set_vdd_reference_voltage_1v:
+68c0 58000064 setarg 100 
+68c1 6001422b store 2 ,mem_reference_voltage 
+68c2 20600000 rtn 
+
+adc_init_data_hvin:
+68c3 68094229 fetcht 2 ,mem_otp_adc_flag 
+68c4 5800aa55 setarg otp_adc_flag 
+68c5 98467c00 isub temp ,null 
+68c6 2022e8cc branch adc_check_data_hvin ,zero 
+68c7 58005932 setarg 0x5932 
+68c8 60014225 store 2 ,mem_5v_adc_hvin_data 
+68c9 58004323 setarg 0x4323 
+68ca 6001421f store 2 ,mem_1v_adc_hvin_data 
+68cb 202068d4 branch set_vdd_reference_voltage_4v 
+
+adc_check_data_hvin:
+68cc 68014225 fetch 2 ,mem_5v_adc_hvin_data 
+68cd 243a68d0 nbranch adc_check_1v_hvin ,blank 
+68ce 58005932 setarg 0x5932 
+68cf 60014225 store 2 ,mem_5v_adc_hvin_data 
+
+adc_check_1v_hvin:
+68d0 6801421f fetch 2 ,mem_1v_adc_hvin_data 
+68d1 243a68d4 nbranch set_vdd_reference_voltage_4v ,blank 
+68d2 58004323 setarg 0x4323 
+68d3 6001421f store 2 ,mem_1v_adc_hvin_data 
+
+set_vdd_reference_voltage_4v:
+68d4 58000190 setarg 400 
+68d5 6001422b store 2 ,mem_reference_voltage 
+68d6 20600000 rtn 
+
+adc_init_data_io:
+68d7 68094229 fetcht 2 ,mem_otp_adc_flag 
+68d8 5800aa55 setarg otp_adc_flag 
+68d9 98467c00 isub temp ,null 
+68da 2022e8e0 branch adc_check_data_io ,zero 
+68db 58006946 setarg 0x6946 
+68dc 60014223 store 2 ,mem_1v_adc_io_data 
+68dd 58005377 setarg 0x5377 
+68de 6001421d store 2 ,mem_0_5_adc_io_data 
+68df 202068e8 branch set_vdd_reference_voltage_0_5v 
+
+adc_check_data_io:
+68e0 68014223 fetch 2 ,mem_1v_adc_io_data 
+68e1 243a68e4 nbranch adc_check_0_5v_io ,blank 
+68e2 58006946 setarg 0x6946 
+68e3 60014223 store 2 ,mem_1v_adc_io_data 
+
+adc_check_0_5v_io:
+68e4 6801421d fetch 2 ,mem_0_5_adc_io_data 
+68e5 243a68e8 nbranch set_vdd_reference_voltage_0_5v ,blank 
+68e6 58005377 setarg 0x5377 
+68e7 6001421d store 2 ,mem_0_5_adc_io_data 
+
+set_vdd_reference_voltage_0_5v:
+68e8 58000032 setarg 50 
+68e9 6001422b store 2 ,mem_reference_voltage 
+68ea 20600000 rtn 
+
+adc_set_mode:
+68eb 6800c22d fetch 1 ,mem_adc_config_flag 
+68ec c00068f0 beq adc_config_vinlpm ,adc_check_vinlpm 
+68ed c000e8f2 beq adc_config_hvin ,adc_check_hvin 
+68ee c00168f4 beq adc_config_gpio ,adc_check_gpio 
+68ef 20600000 rtn 
+
+adc_check_vinlpm:
+68f0 708971bf hjam 0xbf ,rf_adc_mode 
+68f1 202068f8 branch read_adc 
+
+adc_check_hvin:
+68f2 708971af hjam 0xaf ,rf_adc_mode 
+68f3 202068f8 branch read_adc 
+
+adc_check_gpio:
+68f4 7089718f hjam 0x8f ,rf_adc_mode 
+68f5 6800c22e fetch 1 ,mem_adc_channel 
+68f6 60108973 hstore 1 ,rf_adc_ch 
+68f7 202068f8 branch read_adc 
+
+read_adc:
+68f8 474fc033 bpatchx patch33_7 ,mem_patch33 
+68f9 68108053 hfetch 1 ,core_uart_baud + 1 
+68fa 79207e07 set1 7 ,pdata 
+68fb 60108053 hstore 1 ,core_uart_baud + 1 
+68fc 68108973 hfetch 1 ,rf_adc_ch 
+68fd 1fe1fe30 or_into 0x30 ,pdata 
+68fe 60108973 hstore 1 ,rf_adc_ch 
+68ff 7089067c hjam 0x7c ,rfen_adc 
+6900 708972aa hjam 0xaa ,rf_adc_gc 
+6901 20001388 nop 5000 
+6902 68190150 hfetcht 2 ,core_adc_sum 
+6903 68108053 hfetch 1 ,core_uart_baud + 1 
+6904 793ffe07 set0 7 ,pdata 
+6905 60108053 hstore 1 ,core_uart_baud + 1 
+6906 6009422f storet 2 ,mem_adc_current_value 
+6907 20600000 rtn 
+
+vdd_calculate_by_mode:
+6908 47504034 bpatchx patch34_0 ,mem_patch34 
+6909 6800c22d fetch 1 ,mem_adc_config_flag 
+690a c000690e beq adc_config_vinlpm ,vdd_calculate_vinlpm 
+690b c000e912 beq adc_config_hvin ,vdd_calculate_hvin 
+690c c0016916 beq adc_config_gpio ,vdd_calculate_io 
+690d 20600000 rtn 
+
+vdd_calculate_vinlpm:
+690e 68014227 fetch 2 ,mem_3v_adc_vinlpm_data 
+690f 68094221 fetcht 2 ,mem_2v_adc_vinlpm_data 
+6910 da6000c8 arg 200 ,regc 
+6911 2020691a branch vdd_calculate 
+
+vdd_calculate_hvin:
+6912 68014225 fetch 2 ,mem_5v_adc_hvin_data 
+6913 6809421f fetcht 2 ,mem_1v_adc_hvin_data 
+6914 da600064 arg 100 ,regc 
+6915 2020691a branch vdd_calculate 
+
+vdd_calculate_io:
+6916 68014223 fetch 2 ,mem_1v_adc_io_data 
+6917 6809421d fetcht 2 ,mem_0_5_adc_io_data 
+6918 da600032 arg 50 ,regc 
+6919 2020691a branch vdd_calculate 
+
+vdd_calculate:
+691a 98462200 isub temp ,rega 
+691b 6801422f fetch 2 ,mem_adc_current_value 
+691c 98467e00 isub temp ,pdata 
+691d 24216927 nbranch vdd_calculate1 ,positive 
+691e 6809422b fetcht 2 ,mem_reference_voltage 
+691f 984fa400 imul32 temp ,regb 
+6920 1a627e00 copy regc ,pdata 
+6921 9a2ffe00 imul32 rega ,pdata 
+6922 9a40fe00 iadd regb ,pdata 
+
+vdd_calculate2:
+6923 9a26fc00 idiv rega 
+6924 20407f86 call wait_div_end 
+6925 1807fe00 quotient pdata 
+6926 20600000 rtn 
+
+vdd_calculate1:
+6927 18427e00 copy temp ,pdata 
+6928 6809422f fetcht 2 ,mem_adc_current_value 
+6929 98467e00 isub temp ,pdata 
+692a 6809422b fetcht 2 ,mem_reference_voltage 
+692b 984fa400 imul32 temp ,regb 
+692c 1a627e00 copy regc ,pdata 
+692d 9a2ffe00 imul32 rega ,pdata 
+692e 9a467e00 isub regb ,pdata 
+692f 20206923 branch vdd_calculate2 
+
+adc_bat_percent_lowpower_out:
+6930 ea240000 ifetch 8 ,rega 
+6931 60040a9a store 8 ,mem_pdatatemp 
+6932 68010a9a fetch 2 ,mem_pdatatemp 
+6933 68090a9c fetcht 2 ,mem_pdatatemp + 2 
+6934 98462200 isub temp ,rega 
+6935 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+6936 98462400 isub temp ,regb 
+6937 68090a9e fetcht 2 ,mem_pdatatemp + 4 
+6938 98467c00 isub temp ,null 
+6939 24416940 ncall adc_set_low_power_flag ,positive 
+693a 1a4ffe64 mul32 regb ,100 ,pdata 
+693b 9a26fc00 idiv rega 
+693c 20407f86 call wait_div_end 
+693d 1807fe00 quotient pdata 
+693e 205a6944 call adc_set_no_power_flag ,blank 
+693f 20600000 rtn 
+
+adc_set_low_power_flag:
+6940 6800c231 fetch 1 ,mem_adc_power_flag 
+6941 79207e00 set1 0 ,pdata 
+6942 6000c231 store 1 ,mem_adc_power_flag 
+6943 20600000 rtn 
+
+adc_set_no_power_flag:
+6944 6808c231 fetcht 1 ,mem_adc_power_flag 
+6945 79200401 set1 1 ,temp 
+6946 6008c231 storet 1 ,mem_adc_power_flag 
+6947 20600000 rtn 
+
+keyscan_key_init:
+6948 6801423d fetch 2 ,mem_key_num_ptr 
+6949 efe08000 ifetch 1 ,pdata 
+
+keyscan_key_init_next:
+694a 207a0000 rtn blank 
+694b 1fe27200 copy pdata ,loopcnt 
+694c 6801423d fetch 2 ,mem_keyscan_ptr 
+694d 1fe0fe03 increase 3 ,pdata 
+694e 1fe22200 copy pdata ,rega 
+
+keyscan_key_init_lp1:
+694f ea288000 ifetcht 1 ,rega 
+6950 204067fb call gpio_config_input 
+6951 1a20a201 increase key_conf_struct_len ,rega 
+6952 c200694f loop keyscan_key_init_lp1 
+
+keyscan_key_init_end:
+6953 20600000 rtn 
+
+keyscan_scan_key:
+6954 6801423d fetch 2 ,mem_keyscan_ptr 
+6955 1fe0fe03 increase 3 ,pdata 
+6956 1fe22200 copy pdata ,rega 
+6957 18002400 force 0 ,regb 
+6958 700b1200 jam 0 ,mem_key_value_temp 
+
+keyscan_scan_key_lp1:
+6959 ea288000 ifetcht 1 ,rega 
+695a 2040681d call gpio_get_bit 
+695b 4750c034 bpatchx patch34_1 ,mem_patch34 
+695c 68010b12 fetch 2 ,mem_key_value_temp 
+695d 1a420e00 copy regb ,queue 
+695e f920fe00 qsetflag true ,pdata 
+695f 60010b12 store 2 ,mem_key_value_temp 
+6960 1a20a201 increase key_conf_struct_len ,rega 
+6961 1a40a401 increase 1 ,regb 
+6962 6801423d fetch 2 ,mem_key_num_ptr 
+6963 efe08000 ifetch 1 ,pdata 
+
+keyscan_scan_key_lp1_next:
+6964 9a42fc00 ixor regb ,null 
+6965 2422e959 nbranch keyscan_scan_key_lp1 ,zero 
+6966 68010b12 fetch 2 ,mem_key_value_temp 
+6967 68090b14 fetcht 2 ,mem_key_value 
+6968 9842fc00 ixor temp ,null 
+6969 20628000 rtn zero 
+696a 78347c00 enable user 
+696b 20600000 rtn 
+
+keyscan_process_lpm_before:
+696c 6801423d fetch 2 ,mem_key_num_ptr 
+696d efe08000 ifetch 1 ,pdata 
+
+keyscan_process_lpm_before_next:
+696e 207a0000 rtn blank 
+696f 1fe27200 copy pdata ,loopcnt 
+6970 6801423d fetch 2 ,mem_keyscan_ptr 
+6971 1fe0fe03 increase 3 ,pdata 
+6972 1fe22200 copy pdata ,rega 
+
+keyscan_process_lpm_before_lp1:
+6973 ea288000 ifetcht 1 ,rega 
+6974 204067dd call gpio_set_wake_by_current_state 
+6975 1a20a201 increase key_conf_struct_len ,rega 
+6976 c2006973 loop keyscan_process_lpm_before_lp1 
+
+keyscan_process_lpm_before_end:
+6977 20600000 rtn 
+
+keyscan_key_process:
+6978 d8e00009 arg key_scan_timer ,queue 
+6979 20407f16 call timer_check 
+697a 247a0000 nrtn blank 
+697b 58000020 setarg 0x20 
+697c d8e00009 arg key_scan_timer ,queue 
+697d 20407f08 call timer_init 
+697e 78547c00 disable user 
+697f 2040696c call keyscan_process_lpm_before 
+6980 47514034 bpatchx patch34_2 ,mem_patch34 
+6981 6801423d fetch 2 ,mem_key_num_ptr 
+6982 efe08000 ifetch 1 ,pdata 
+
+keyscan_key_process_next:
+6983 207a0000 rtn blank 
+6984 20406954 call keyscan_scan_key 
+6985 24347d02 nbranch lpm_button_clean_wake_lock ,user 
+6986 20407d00 call lpm_button_get_wake_lock 
+6987 78547c00 disable user 
+6988 68010b12 fetch 2 ,mem_key_value_temp 
+6989 60010b19 store 2 ,mem_key_value_temp4 
+698a 700b1b00 jam 0 ,mem_key_value_temp6 
+698b 18000e00 force 0 ,queue 
+
+keyscan_key_lp1:
+698c 68010b14 fetch 2 ,mem_key_value 
+698d 1fe30400 rshift pdata ,temp 
+698e 60090b14 storet 2 ,mem_key_value 
+698f 1fe17e01 and pdata ,0x01 ,pdata 
+6990 68090b19 fetcht 2 ,mem_key_value_temp4 
+6991 18412201 and temp ,0x01 ,rega 
+6992 18430400 rshift temp ,temp 
+6993 60090b19 storet 2 ,mem_key_value_temp4 
+6994 9a22fc00 ixor rega ,null 
+6995 2442e9a1 ncall keyscan_send_key_data ,zero 
+6996 6801423d fetch 2 ,mem_key_num_ptr 
+6997 efe08000 ifetch 1 ,pdata 
+
+keyscan_key_lp1_next:
+6998 68088b1b fetcht 1 ,mem_key_value_temp6 
+6999 18408401 increase 1 ,temp 
+699a 60088b1b storet 1 ,mem_key_value_temp6 
+699b 18420e00 copy temp ,queue 
+699c 98e2fc00 ixor queue ,null 
+699d 2422e98c nbranch keyscan_key_lp1 ,zero 
+699e 68010b12 fetch 2 ,mem_key_value_temp 
+699f 60010b14 store 2 ,mem_key_value 
+69a0 20600000 rtn 
+
+keyscan_send_key_data:
+69a1 4751c034 bpatchx patch34_3 ,mem_patch34 
+69a2 6801423d fetch 2 ,mem_keyscan_ptr 
+69a3 1fe0fe01 increase 1 ,pdata 
+69a4 efe10000 ifetch 2 ,pdata 
+69a5 20207f9c branch callback_func 
+
+pwm_init:
+69a6 68108042 hfetch 1 ,core_clksel 
+69a7 9a21fe00 ior rega ,pdata 
+69a8 60108042 hstore 1 ,core_clksel 
+69a9 68110050 hfetch 2 ,core_clkoff 
+69aa 793ffe0d set0 clock_off_pwm ,pdata 
+69ab 60110050 hstore 2 ,core_clkoff 
+69ac 20000064 nop 100 
+69ad 20600000 rtn 
+
+pwm_out_set:
+69ae 68098a9c fetcht 3 ,mem_pdatatemp + 2 
+69af 58b71b00 setarg pwm_12mhz 
+69b0 9846fc00 idiv temp 
+69b1 20407f86 call wait_div_end 
+69b2 18078400 quotient temp 
+69b3 68008a9f fetch 1 ,mem_pdatatemp + 5 
+69b4 984ffe00 imul32 temp ,pdata 
+69b5 1fe6fc64 div pdata ,100 
+69b6 20407f86 call wait_div_end 
+69b7 1807a200 quotient rega 
+69b8 18427e00 copy temp ,pdata 
+69b9 9a262400 isub rega ,regb 
+69ba 68008a9b fetch 1 ,mem_pdatatemp + 1 
+69bb 204069be call pwm_duty_cycle_set 
+69bc 68008a9a fetch 1 ,mem_pdatatemp 
+69bd 202069d5 branch pwm_enable 
+
+pwm_duty_cycle_set:
+69be c00069c4 beq 0 ,pwm_pwm0_duty_set 
+69bf c000e9c6 beq 1 ,pwm_pwm1_duty_set 
+69c0 c00169c8 beq 2 ,pwm_pwm2_duty_set 
+69c1 c001e9ca beq 3 ,pwm_pwm3_duty_set 
+69c2 c00269cc beq 4 ,pwm_pwm4_duty_set 
+69c3 c002e9ce beq 5 ,pwm_pwm5_duty_set 
+
+pwm_pwm0_duty_set:
+69c4 d8a080a0 arg core_pwm_pcnt0 ,contw 
+69c5 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm1_duty_set:
+69c6 d8a080a4 arg core_pwm_pcnt1 ,contw 
+69c7 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm2_duty_set:
+69c8 d8a080a8 arg core_pwm_pcnt2 ,contw 
+69c9 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm3_duty_set:
+69ca d8a08064 arg core_pwm_pcnt3 ,contw 
+69cb 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm4_duty_set:
+69cc d8a08068 arg core_pwm_pcnt4 ,contw 
+69cd 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm5_duty_set:
+69ce d8a0806c arg core_pwm_pcnt5 ,contw 
+69cf 202069d0 branch pwm_set_pncnt 
+
+pwm_set_pncnt:
+69d0 1a227e00 copy rega ,pdata 
+69d1 e0a10000 istore 2 ,contw 
+69d2 1a427e00 copy regb ,pdata 
+69d3 e0a10000 istore 2 ,contw 
+69d4 20600000 rtn 
+
+pwm_enable:
+69d5 78347c00 enable user 
+69d6 202069d8 branch pwm_gpio_set 
+
+pwm_disable:
+69d7 78547c00 disable user 
+
+pwm_gpio_set:
+69d8 c00269e3 beq 4 ,pwm_gpio4_set 
+69d9 c002e9e5 beq 5 ,pwm_gpio5_set 
+69da c00de9e7 beq 27 ,pwm_gpio27_set 
+69db c00e69e9 beq 28 ,pwm_gpio28_set 
+69dc c001e9eb beq 3 ,pwm_gpio3_set 
+69dd c00469ed beq 8 ,pwm_gpio8_set 
+69de c00a69ef beq 20 ,pwm_gpio20_set 
+69df c00ae9f1 beq 21 ,pwm_gpio21_set 
+69e0 c00b69f3 beq 22 ,pwm_gpio22_set 
+69e1 c00be9f5 beq 23 ,pwm_gpio23_set 
+69e2 20600000 rtn 
+
+pwm_gpio4_set:
+69e3 d8e00006 arg 6 ,queue 
+69e4 202069ff branch pwm_one_set_select 
+
+pwm_gpio5_set:
+69e5 d8e00007 arg 7 ,queue 
+69e6 202069ff branch pwm_one_set_select 
+
+pwm_gpio27_set:
+69e7 d8e00008 arg 8 ,queue 
+69e8 202069ff branch pwm_one_set_select 
+
+pwm_gpio28_set:
+69e9 d8e00009 arg 9 ,queue 
+69ea 202069ff branch pwm_one_set_select 
+
+pwm_gpio3_set:
+69eb d8e0000a arg 10 ,queue 
+69ec 202069ff branch pwm_one_set_select 
+
+pwm_gpio8_set:
+69ed d8e0000b arg 11 ,queue 
+69ee 202069ff branch pwm_one_set_select 
+
+pwm_gpio20_set:
+69ef d8e0000c arg 12 ,queue 
+69f0 20206a01 branch pwm_tw0_set_select 
+
+pwm_gpio21_set:
+69f1 d8e0000d arg 13 ,queue 
+69f2 20206a01 branch pwm_tw0_set_select 
+
+pwm_gpio22_set:
+69f3 d8e0000e arg 14 ,queue 
+69f4 20206a01 branch pwm_tw0_set_select 
+
+pwm_gpio23_set:
+69f5 d8e0000f arg 15 ,queue 
+69f6 20206a01 branch pwm_tw0_set_select 
+
+pwm_set_select:
+69f7 68110081 hfetch 2 ,core_gpio_sel1 
+69f8 f9347e00 qsetflag user ,pdata 
+69f9 60110081 hstore 2 ,core_gpio_sel1 
+69fa 1a220e00 copy rega ,queue 
+69fb 68108085 hfetch 1 ,core_gpio_key2 
+69fc f9347e00 qsetflag user ,pdata 
+69fd 60108085 hstore 1 ,core_gpio_key2 
+69fe 20600000 rtn 
+
+pwm_one_set_select:
+69ff 18e0a3fc add queue ,-4 ,rega 
+6a00 202069f7 branch pwm_set_select 
+
+pwm_tw0_set_select:
+6a01 18e0a3f6 add queue ,-10 ,rega 
+6a02 202069f7 branch pwm_set_select 
+
+rfcomm_init:
+6a03 20758000 rtn wake 
+6a04 70456700 jam 0 ,mem_rfcomm_send_more_pkt 
+6a05 7004ed03 jam bits9600 ,memremoterpnbitrate 
+6a06 7004ee03 jam databits8 ,memremoteprndatabits 
+6a07 7004f211 jam 0x11 ,memremoteprnxon 
+6a08 7004f313 jam 0x13 ,memremoteprnxoff 
+6a09 58000000 setarg 0 
+6a0a 600184ef store 3 ,memremoteprnstopbit 
+6a0b 6000c254 store 1 ,mem_spp_state 
+6a0c 70468100 jam 0 ,memui_reconnect_mode 
+
+rfcomm_init_spp:
+6a0d 47524034 bpatchx patch34_4 ,mem_patch34 
+6a0e 58000000 setarg 0 
+6a0f 6000c254 store 1 ,mem_spp_state 
+6a10 6000c564 store 1 ,mem_remote_spp_channel 
+6a11 6000c55d store 1 ,mem_pn_dlci 
+6a12 6800c56b fetch 1 ,mem_credit_flag 
+6a13 c000ea16 beq credit_enable ,rfcomm_init_spp_with_credit 
+6a14 70456950 jam 0x50 ,mem_credit_given 
+6a15 20600000 rtn 
+
+rfcomm_init_spp_with_credit:
+6a16 70456900 jam 0x00 ,mem_credit_given 
+6a17 20600000 rtn 
+
+set_cr_bit:
+6a18 18418402 or_into 0x02 ,temp 
+6a19 20600000 rtn 
+
+rfcomm_calculate_fcs_sabm:
+6a1a 18427e00 copy temp ,pdata 
+6a1b 1fedfe00 reverse pdata ,pdata 
+6a1c 6000c562 store 1 ,memfcstemp3 
+6a1d 18007e3f force ini_tx_sabm ,pdata 
+6a1e 1fedfe00 reverse pdata ,pdata 
+6a1f 6000c561 store 1 ,memfcstemp2 
+6a20 18007e01 force 0x01 ,pdata 
+6a21 1fedfe00 reverse pdata ,pdata 
+6a22 6000c560 store 1 ,memfcstemp1 
+6a23 20406a50 call caculate_fcs 
+6a24 18427e00 copy temp ,pdata 
+6a25 20600000 rtn 
+
+rfcomm_calculate_fcs_ua:
+6a26 1fedfe00 reverse pdata ,pdata 
+6a27 6000c562 store 1 ,memfcstemp3 
+6a28 18007e73 force rsp_tx_ua ,pdata 
+6a29 1fedfe00 reverse pdata ,pdata 
+6a2a 6000c561 store 1 ,memfcstemp2 
+6a2b 18007e01 force 0x01 ,pdata 
+6a2c 1fedfe00 reverse pdata ,pdata 
+6a2d 6000c560 store 1 ,memfcstemp1 
+6a2e 20206a50 branch caculate_fcs 
+
+rfcomm_calculate_fcs_dlci0:
+6a2f 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6a30 203a6a33 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+6a31 58000070 setarg 0x70 
+6a32 20600000 rtn 
+
+rfcomm_calculate_fcs_dlci0_res:
+6a33 580000aa setarg 0xaa 
+6a34 20600000 rtn 
+
+rfcomm_save_fcs_uih:
+6a35 1fedfe00 reverse pdata ,pdata 
+6a36 6000c562 store 1 ,memfcstemp3 
+6a37 18007eef force rsp_rx_uih ,pdata 
+6a38 20406a44 call caculate_uihdata_fcs 
+6a39 680904f7 fetcht 2 ,mem_contw_temp 
+6a3a 18420a00 copy temp ,contw 
+6a3b e0a08000 istore 1 ,contw 
+6a3c 18a20400 copy contw ,temp 
+6a3d 600904f7 storet 2 ,mem_contw_temp 
+6a3e 18007eff force rsp_rx_uih_wdata ,pdata 
+6a3f 20406a44 call caculate_uihdata_fcs 
+6a40 680904f7 fetcht 2 ,mem_contw_temp 
+6a41 18420a00 copy temp ,contw 
+6a42 e0a08000 istore 1 ,contw 
+6a43 20600000 rtn 
+
+caculate_uihdata_fcs:
+6a44 1fedfe00 reverse pdata ,pdata 
+6a45 6000c561 store 1 ,memfcstemp2 
+6a46 68014561 fetch 2 ,memfcstemp2 
+6a47 1fed7e00 lshift8 pdata ,pdata 
+6a48 600184f4 store 3 ,mem_mod2div_temp 
+6a49 da200107 arg 0x107 ,rega 
+6a4a da40000f arg 0xf ,regb 
+6a4b 20406a5d call mod2div 
+6a4c 1fe2fed7 xor_into 0xd7 ,pdata 
+6a4d 1fe47e00 invert pdata ,pdata 
+6a4e 1fedfe00 reverse pdata ,pdata 
+6a4f 20600000 rtn 
+
+caculate_fcs:
+6a50 6801c560 fetch 3 ,memfcstemp1 
+6a51 600184f4 store 3 ,mem_mod2div_temp 
+6a52 da200107 arg 0x107 ,rega 
+6a53 da40000f arg 0xf ,regb 
+6a54 20406a5d call mod2div 
+6a55 1fed7e00 lshift8 pdata ,pdata 
+6a56 da400007 arg 0x7 ,regb 
+6a57 20406a5d call mod2div 
+6a58 1fe2fe2b xor_into 0x2b ,pdata 
+6a59 1fe47e00 invert pdata ,pdata 
+6a5a 1fedfe00 reverse pdata ,pdata 
+6a5b 1fe20400 copy pdata ,temp 
+6a5c 20600000 rtn 
+
+mod2div:
+6a5d da600000 arg 0 ,regc 
+6a5e 1a427200 copy regb ,loopcnt 
+6a5f 20407e71 call right_shift_n 
+6a60 1fe20400 icopy temp 
+
+mod2div_loop:
+6a61 18427e00 copy temp ,pdata 
+6a62 1a63a600 lshift regc ,regc 
+6a63 c3046a66 bbit0 8 ,mod2div_not_enough_reduction 
+6a64 9a228400 ixor rega ,temp 
+6a65 1a60a601 increase 1 ,regc 
+
+mod2div_not_enough_reduction:
+6a66 18438400 lshift temp ,temp 
+6a67 680184f4 fetch 3 ,mem_mod2div_temp 
+6a68 1a40a5ff increase -1 ,regb 
+6a69 2a41feff compare 0xff ,regb ,0xff 
+6a6a 2020ea70 branch mod2div_end ,true 
+6a6b 1a427200 copy regb ,loopcnt 
+6a6c 20407e71 call right_shift_n 
+6a6d 2feffe00 isolate1 0 ,pdata 
+6a6e 79208400 setflag true ,0 ,temp 
+6a6f 20206a61 branch mod2div_loop 
+
+mod2div_end:
+6a70 18437e00 rshift temp ,pdata 
+6a71 20600000 rtn 
+
+get_rfcomm_snd_adss:
+6a72 6808c55d fetcht 1 ,mem_pn_dlci 
+
+dlci_to_address_cmd:
+6a73 184b8400 lshift2 temp ,temp 
+6a74 79200400 set1 rfcomm_address_ext_len ,temp 
+6a75 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6a76 245a6a18 ncall set_cr_bit ,blank 
+6a77 6008850d storet 1 ,mem_rfcomm_send_adss 
+6a78 20600000 rtn 
+
+channel_to_dlci:
+6a79 18438400 lshift temp ,temp 
+6a7a 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6a7b 793a0400 setflag blank ,0 ,temp 
+6a7c 20600000 rtn 
+
+rfcomm_rx_process_dlci0_sabm:
+6a7d 680884fc fetcht 1 ,mem_current_channel 
+6a7e 7004fed7 jam 0xd7 ,mem_current_fcs 
+6a7f 20406bb6 call rfcomm_send_ua 
+6a80 6800c251 fetch 1 ,mem_rfcomm_state 
+6a81 79207e06 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+6a82 79207e07 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+6a83 6000c251 store 1 ,mem_rfcomm_state 
+6a84 70456300 jam 0 ,mem_rfcomm_initiator 
+6a85 20206b97 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process_dlci0_ua:
+6a86 6800c251 fetch 1 ,mem_rfcomm_state 
+6a87 79207e07 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+6a88 6000c251 store 1 ,mem_rfcomm_state 
+6a89 20206b97 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process:
+6a8a 4752c034 bpatchx patch34_5 ,mem_patch34 
+6a8b 6800c681 fetch 1 ,memui_reconnect_mode 
+6a8c c0006a8e beq no_reconnection ,rfcomm_rx_process_remote_page 
+6a8d 20206b4c branch rfcomm_rx_process_reconn 
+
+rfcomm_rx_process_remote_page:
+6a8e 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+6a8f 1fe20c00 copy pdata ,contr 
+6a90 20406ab8 call get_rfcomm_head_struct 
+6a91 680084fc fetch 1 ,mem_current_channel 
+6a92 c0006a94 beq 0 ,parse_dlci0_rp 
+6a93 20206b18 branch parse_uih_rp 
+
+parse_dlci0_rp:
+6a94 47534034 bpatchx patch34_6 ,mem_patch34 
+6a95 680084fd fetch 1 ,mem_current_frame_type 
+6a96 c01fea7d beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+6a97 c039ea86 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+6a98 c077ea9b beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+6a99 c029eb44 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+6a9a 20600000 rtn 
+
+parse_dlci0_rp_uih:
+6a9b 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6a9c 1fe20c00 copy pdata ,contr 
+6a9d 20406ac3 call get_rfcomm_uih_head_struct 
+6a9e 68008503 fetch 1 ,mem_uih_cmd_type 
+6a9f c020eaa5 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+6aa0 c0206aad beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+6aa1 c038eae6 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+6aa2 c0386af2 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+6aa3 c024eafd beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+6aa4 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_cmd:
+6aa5 20406aaf call parse_dlci0_rp_uih_pn_res_common 
+6aa6 20206aa7 branch parse_dlci0_rp_uih_pn_cmd_spp 
+
+parse_dlci0_rp_uih_pn_cmd_spp:
+6aa7 6800c254 fetch 1 ,mem_spp_state 
+6aa8 79207e00 set1 rfcomm_channel_state_pn_cmd ,pdata 
+6aa9 79207e01 set1 rfcomm_channel_state_pn_res ,pdata 
+6aaa 6000c254 store 1 ,mem_spp_state 
+6aab 20406be0 call rfcomm_send_param_neg_res 
+6aac 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_res:
+6aad 20406aaf call parse_dlci0_rp_uih_pn_res_common 
+6aae 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_res_common:
+6aaf 20406acb call get_param_payload_ptr 
+6ab0 20206ad7 branch get_rfcomm_prarmer_negotiation 
+
+get_rfcomm_param_modem_status:
+6ab1 20406acb call get_param_payload_ptr 
+6ab2 e8c08000 ifetch 1 ,contr 
+6ab3 1fe97e00 rshift3 pdata ,pdata 
+6ab4 6000c56a store 1 ,mem_ms_channel 
+6ab5 e8c08000 ifetch 1 ,contr 
+6ab6 60008508 store 1 ,mem_ms_param 
+6ab7 20600000 rtn 
+
+get_rfcomm_head_struct:
+6ab8 e8c08000 ifetch 1 ,contr 
+6ab9 600084fb store 1 ,mem_current_adss 
+6aba 1fe97e00 rshift3 pdata ,pdata 
+6abb 600084fc store 1 ,mem_current_channel 
+6abc e8c08000 ifetch 1 ,contr 
+6abd 600084fd store 1 ,mem_current_frame_type 
+
+get_rfcomm_current_length:
+6abe 20406ace call get_rfcomm_length_common 
+6abf 600904ff storet 2 ,mem_current_length 
+6ac0 18c27e00 copy contr ,pdata 
+6ac1 60010501 store 2 ,mem_rfcomm_uih_payload_ptr 
+6ac2 20600000 rtn 
+
+get_rfcomm_uih_head_struct:
+6ac3 e8c08000 ifetch 1 ,contr 
+6ac4 1fe37e00 rshift pdata ,pdata 
+6ac5 60008503 store 1 ,mem_uih_cmd_type 
+6ac6 20406ace call get_rfcomm_length_common 
+6ac7 60090504 storet 2 ,mem_uih_length 
+6ac8 18c27e00 copy contr ,pdata 
+6ac9 60010506 store 2 ,mem_param_payload_ptr 
+6aca 20600000 rtn 
+
+get_param_payload_ptr:
+6acb 68010506 fetch 2 ,mem_param_payload_ptr 
+6acc 1fe20c00 copy pdata ,contr 
+6acd 20600000 rtn 
+
+get_rfcomm_length_common:
+6ace e8c08000 ifetch 1 ,contr 
+6acf 1fe20400 copy pdata ,temp 
+6ad0 18430400 rshift temp ,temp 
+6ad1 c3800000 rtnbit1 0 
+6ad2 e8c08000 ifetch 1 ,contr 
+6ad3 1fe9fe00 lshift3 pdata ,pdata 
+6ad4 1ff27e00 lshift4 pdata ,pdata 
+6ad5 98408400 iadd temp ,temp 
+6ad6 20600000 rtn 
+
+get_rfcomm_prarmer_negotiation:
+6ad7 e8c08000 ifetch 1 ,contr 
+6ad8 6000c55d store 1 ,mem_pn_dlci 
+6ad9 e8c08000 ifetch 1 ,contr 
+6ada 60008509 store 1 ,mem_pn_credit_flow_type_info 
+6adb e8c08000 ifetch 1 ,contr 
+6adc 6000850a store 1 ,mem_pn_priority 
+6add e8c08000 ifetch 1 ,contr 
+6ade 6000850b store 1 ,mem_pn_acknowledg_timer 
+6adf e8c10000 ifetch 2 ,contr 
+6ae0 6001455e store 2 ,mem_pn_max_frame_size 
+6ae1 e8c08000 ifetch 1 ,contr 
+6ae2 6000850c store 1 ,mem_pn_max_retrans 
+6ae3 e8c08000 ifetch 1 ,contr 
+6ae4 6000c568 store 1 ,mem_remote_credits 
+6ae5 20600000 rtn 
+
+parse_dlci0_rp_uih_ms_cmd:
+6ae6 20406ab1 call get_rfcomm_param_modem_status 
+6ae7 20206ae8 branch parse_dlci0_rp_uih_ms_cmd_spp 
+
+parse_dlci0_rp_uih_ms_cmd_spp:
+6ae8 6800c254 fetch 1 ,mem_spp_state 
+6ae9 79207e05 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+6aea 79207e06 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+6aeb 6000c254 store 1 ,mem_spp_state 
+6aec 6808c55d fetcht 1 ,mem_pn_dlci 
+6aed 184b8400 lshift2 temp ,temp 
+6aee 18418403 or_into 3 ,temp 
+6aef 20406c11 call rfcomm_send_modem_status_res 
+6af0 70456703 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+6af1 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_ms_res:
+6af2 700a9908 jam bt_evt_spp_connected ,mem_fifo_temp 
+6af3 20407d86 call ui_ipc_send_event 
+6af4 20406ab1 call get_rfcomm_param_modem_status 
+6af5 6800c56a fetch 1 ,mem_ms_channel 
+6af6 1fe67c01 sub pdata ,1 ,null 
+6af7 2022eaf9 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+6af8 20202a8c branch assert 
+
+parse_dlci0_rp_uih_ms_res_spp:
+6af9 6800c254 fetch 1 ,mem_spp_state 
+6afa 79207e07 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+6afb 6000c254 store 1 ,mem_spp_state 
+6afc 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_cmd_port:
+6afd 20406acb call get_param_payload_ptr 
+6afe e8c08000 ifetch 1 ,contr 
+6aff 60008ac2 store 1 ,mem_rpn_dlci 
+6b00 204052d2 call l2cap_malloc_rfcomm_channel 
+6b01 204052e0 call l2cap_get_rfcomm_tx_buff 
+6b02 5800000e setarg 0x000e 
+6b03 e0a10000 istore 2 ,contw 
+6b04 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6b05 e0a10000 istore 2 ,contw 
+6b06 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6b07 1fe3fe00 lshift pdata ,pdata 
+6b08 79207e00 set1 0 ,pdata 
+6b09 e0a08000 istore 1 ,contw 
+6b0a 4753c034 bpatchx patch34_7 ,mem_patch34 
+6b0b 580015ef setarg 0x15ef 
+6b0c e0a10000 istore 2 ,contw 
+6b0d 58001191 setarg 0x1191 
+6b0e e0a10000 istore 2 ,contw 
+6b0f 68008ac2 fetch 1 ,mem_rpn_dlci 
+6b10 e0a08000 istore 1 ,contw 
+6b11 58000007 setarg 0x000007 
+6b12 e0a28000 istore 5 ,contw 
+6b13 58000001 setarg 0x01 
+6b14 e0a10000 istore 2 ,contw 
+6b15 20406a2f call rfcomm_calculate_fcs_dlci0 
+6b16 e0a08000 istore 1 ,contw 
+6b17 20600000 rtn 
+
+parse_uih_rp:
+6b18 20206b19 branch parse_uih_rp_spp 
+
+parse_uih_rp_spp:
+6b19 47544035 bpatchx patch35_0 ,mem_patch35 
+6b1a 680084fd fetch 1 ,mem_current_frame_type 
+6b1b c039eb21 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+6b1c c01feb25 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+6b1d c077eb3f beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+6b1e c07feb37 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+6b1f c029eb46 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+6b20 20600000 rtn 
+
+parse_uih_rp_spp_ua:
+6b21 6800c254 fetch 1 ,mem_spp_state 
+6b22 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6b23 6000c254 store 1 ,mem_spp_state 
+6b24 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_rp_spp_sabm:
+6b25 6800c254 fetch 1 ,mem_spp_state 
+6b26 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6b27 79207e02 set1 rfcomm_channel_state_sabm ,pdata 
+6b28 6000c254 store 1 ,mem_spp_state 
+6b29 680084fb fetch 1 ,mem_current_adss 
+6b2a 20406a26 call rfcomm_calculate_fcs_ua 
+6b2b 600084fe store 1 ,mem_current_fcs 
+6b2c 20406bb6 call rfcomm_send_ua 
+6b2d 680084fb fetch 1 ,mem_current_adss 
+6b2e 1feb7e00 rshift2 pdata ,pdata 
+6b2f 6000c55d store 1 ,mem_pn_dlci 
+6b30 1febfe00 lshift2 pdata ,pdata 
+6b31 793ffe01 set0 rfcomm_address_cr ,pdata 
+6b32 79207e00 set1 rfcomm_address_ext_len ,pdata 
+6b33 d8404565 arg mem_hiufcs_spp ,temp 
+6b34 600904f7 storet 2 ,mem_contw_temp 
+6b35 20406a35 call rfcomm_save_fcs_uih 
+6b36 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_spp_uih_credits:
+6b37 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6b38 1fe20c00 copy pdata ,contr 
+6b39 1fe0fe01 increase 1 ,pdata 
+6b3a 60010501 store 2 ,mem_rfcomm_uih_payload_ptr 
+6b3b e8c08000 ifetch 1 ,contr 
+6b3c 6808c568 fetcht 1 ,mem_remote_credits 
+6b3d 9840fe00 iadd temp ,pdata 
+6b3e 6000c568 store 1 ,mem_remote_credits 
+
+parse_uih_spp_uih:
+6b3f 20406c42 call rfcomm_increase_credit_given 
+
+parse_uih_spp_uih_cont:
+6b40 20406a72 call get_rfcomm_snd_adss 
+6b41 20406c28 call rfcomm_send_uih_without_payload 
+6b42 20406c4b call spp_process_rx_data 
+6b43 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_rp_spp_disconn_send_event:
+6b44 700a9909 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+6b45 20407d86 call ui_ipc_send_event 
+
+parse_uih_rp_spp_disconn:
+6b46 20406a0d call rfcomm_init_spp 
+6b47 680084fb fetch 1 ,mem_current_adss 
+6b48 20406a26 call rfcomm_calculate_fcs_ua 
+6b49 600084fe store 1 ,mem_current_fcs 
+6b4a 20406bb6 call rfcomm_send_ua 
+6b4b 20206b97 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process_reconn:
+6b4c 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+6b4d 1fe20c00 copy pdata ,contr 
+6b4e 20406ab8 call get_rfcomm_head_struct 
+6b4f 680084fc fetch 1 ,mem_current_channel 
+6b50 c0006b52 beq 0 ,parse_dlci0_reconn 
+6b51 20206b86 branch parse_uih_reconn 
+
+parse_dlci0_reconn:
+6b52 4754c035 bpatchx patch35_1 ,mem_patch35 
+6b53 680084fd fetch 1 ,mem_current_frame_type 
+6b54 c01fea7d beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+6b55 c039ea86 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+6b56 c077eb58 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+6b57 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih:
+6b58 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6b59 1fe20c00 copy pdata ,contr 
+6b5a 20406ac3 call get_rfcomm_uih_head_struct 
+6b5b 68008503 fetch 1 ,mem_uih_cmd_type 
+6b5c c020eb61 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+6b5d c0206b61 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+6b5e c038eb6c beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+6b5f c0386b7c beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+6b60 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_pn_cmd:
+6b61 20406aaf call parse_dlci0_rp_uih_pn_res_common 
+6b62 6800c55d fetch 1 ,mem_pn_dlci 
+6b63 1fe37e00 rshift pdata ,pdata 
+6b64 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b65 98467c00 isub temp ,null 
+6b66 2022eb68 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+6b67 20202a8c branch assert 
+
+parse_dlci0_reconn_uih_pn_cmd_spp:
+6b68 6800c254 fetch 1 ,mem_spp_state 
+6b69 79207e01 set1 rfcomm_channel_state_pn_res ,pdata 
+6b6a 6000c254 store 1 ,mem_spp_state 
+6b6b 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_cmd:
+6b6c 20406ab1 call get_rfcomm_param_modem_status 
+6b6d 6800c56a fetch 1 ,mem_ms_channel 
+6b6e 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b6f 98467c00 isub temp ,null 
+6b70 2022eb73 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+6b71 20202a8c branch assert 
+6b72 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_cmd_spp:
+6b73 6800c254 fetch 1 ,mem_spp_state 
+6b74 79207e05 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+6b75 79207e06 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+6b76 6000c254 store 1 ,mem_spp_state 
+6b77 6808c55d fetcht 1 ,mem_pn_dlci 
+6b78 184b8400 lshift2 temp ,temp 
+6b79 18418403 or_into 3 ,temp 
+6b7a 20406c11 call rfcomm_send_modem_status_res 
+6b7b 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_res:
+6b7c 20406ab1 call get_rfcomm_param_modem_status 
+6b7d 6800c56a fetch 1 ,mem_ms_channel 
+6b7e 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b7f 98467c00 isub temp ,null 
+6b80 2022eb82 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+6b81 20202a8c branch assert 
+
+parse_dlci0_reconn_uih_ms_res_spp:
+6b82 6800c254 fetch 1 ,mem_spp_state 
+6b83 79207e07 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+6b84 6000c254 store 1 ,mem_spp_state 
+6b85 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_reconn:
+6b86 680084fc fetch 1 ,mem_current_channel 
+6b87 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b88 98467c00 isub temp ,null 
+6b89 2022eb8c branch parse_uih_reconn_spp ,zero 
+6b8a 20202a8c branch assert 
+6b8b 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_reconn_spp:
+6b8c 680084fd fetch 1 ,mem_current_frame_type 
+6b8d c039eb91 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+6b8e c077eb3f beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+6b8f c07feb37 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+6b90 c029eb96 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+
+parse_uih_reconn_spp_ua:
+6b91 6800c254 fetch 1 ,mem_spp_state 
+6b92 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6b93 6000c254 store 1 ,mem_spp_state 
+6b94 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_reconn_spp_sabm:
+6b95 20206b95 branch parse_uih_reconn_spp_sabm 
+
+parse_uih_reconn_spp_disconn:
+6b96 20206b46 branch parse_uih_rp_spp_disconn 
+
+rfcomm_rx_process_end:
+6b97 20600000 rtn 
+
+rfcomm_send_more_pkt:
+6b98 6800c567 fetch 1 ,mem_rfcomm_send_more_pkt 
+6b99 207a0000 rtn blank 
+6b9a c001eb9c beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+6b9b 20202a8c branch assert 
+
+rfcomm_send_more_pkt_msc_cmd_spp:
+6b9c 70456700 jam 0 ,mem_rfcomm_send_more_pkt 
+6b9d 204052d2 call l2cap_malloc_rfcomm_channel 
+6b9e d8400001 arg spp_slave_channel ,temp 
+6b9f 6808c55d fetcht 1 ,mem_pn_dlci 
+6ba0 184b8400 lshift2 temp ,temp 
+
+rfcomm_send_more_pkt_msc_cmd_spp0:
+6ba1 18418403 or_into 0x03 ,temp 
+6ba2 da2000aa arg 0xaa ,rega 
+6ba3 20406bfc call rfcomm_send_modem_status_cmd 
+6ba4 204052e0 call l2cap_get_rfcomm_tx_buff 
+6ba5 18a20c00 copy contw ,contr 
+6ba6 e8c10000 ifetch 2 ,contr 
+6ba7 203a2a8c branch assert ,blank 
+6ba8 20600000 rtn 
+
+rfcomm_send_sabm:
+6ba9 204052e0 call l2cap_get_rfcomm_tx_buff 
+6baa 58000004 setarg 0x0004 
+6bab e0a10000 istore 2 ,contw 
+6bac 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6bad e0a10000 istore 2 ,contw 
+6bae 680084fb fetch 1 ,mem_current_adss 
+6baf e0a08000 istore 1 ,contw 
+6bb0 47554035 bpatchx patch35_2 ,mem_patch35 
+6bb1 5800013f setarg 0x013f 
+6bb2 e0a10000 istore 2 ,contw 
+6bb3 680084fe fetch 1 ,mem_current_fcs 
+6bb4 e0a08000 istore 1 ,contw 
+6bb5 20600000 rtn 
+
+rfcomm_send_ua:
+6bb6 204052d2 call l2cap_malloc_rfcomm_channel 
+6bb7 204052e0 call l2cap_get_rfcomm_tx_buff 
+6bb8 58000004 setarg 0x0004 
+6bb9 e0a10000 istore 2 ,contw 
+6bba 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6bbb e0a10000 istore 2 ,contw 
+6bbc 680084fb fetch 1 ,mem_current_adss 
+6bbd e0a08000 istore 1 ,contw 
+6bbe 4755c035 bpatchx patch35_3 ,mem_patch35 
+6bbf 58000173 setarg 0x0173 
+6bc0 e0a10000 istore 2 ,contw 
+6bc1 680084fe fetch 1 ,mem_current_fcs 
+6bc2 e0a08000 istore 1 ,contw 
+6bc3 20600000 rtn 
+
+rfcomm_send_param_neg_cmd:
+6bc4 204052e0 call l2cap_get_rfcomm_tx_buff 
+6bc5 5800000e setarg 0x000e 
+6bc6 e0a10000 istore 2 ,contw 
+6bc7 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6bc8 e0a10000 istore 2 ,contw 
+6bc9 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6bca 1fe3fe00 lshift pdata ,pdata 
+6bcb 79207e00 set1 0 ,pdata 
+6bcc e0a08000 istore 1 ,contw 
+6bcd 47564035 bpatchx patch35_4 ,mem_patch35 
+6bce 580015ef setarg 0x15ef 
+6bcf e0a10000 istore 2 ,contw 
+6bd0 58001183 setarg 0x1183 
+6bd1 e0a10000 istore 2 ,contw 
+6bd2 18427e00 copy temp ,pdata 
+6bd3 e0a08000 istore 1 ,contw 
+6bd4 580000f0 setarg 0x0000f0 
+6bd5 e0a18000 istore 3 ,contw 
+6bd6 5800007f setarg rfcomm_max_frame_size 
+6bd7 e0a10000 istore 2 ,contw 
+6bd8 58000000 setarg 0 
+6bd9 e0a08000 istore 1 ,contw 
+6bda 58000001 setarg 0x01 
+6bdb e0a08000 istore 1 ,contw 
+6bdc 20406a2f call rfcomm_calculate_fcs_dlci0 
+6bdd e0a08000 istore 1 ,contw 
+6bde 70456910 jam 0x10 ,mem_credit_given 
+6bdf 20600000 rtn 
+
+rfcomm_send_param_neg_res:
+6be0 204052d2 call l2cap_malloc_rfcomm_channel 
+6be1 204052e0 call l2cap_get_rfcomm_tx_buff 
+6be2 5800000e setarg 0x000e 
+6be3 e0a10000 istore 2 ,contw 
+6be4 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6be5 e0a10000 istore 2 ,contw 
+6be6 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6be7 1fe3fe00 lshift pdata ,pdata 
+6be8 79207e00 set1 0 ,pdata 
+6be9 e0a08000 istore 1 ,contw 
+6bea 4756c035 bpatchx patch35_5 ,mem_patch35 
+6beb 580015ef setarg 0x15ef 
+6bec e0a10000 istore 2 ,contw 
+6bed 58001181 setarg 0x1181 
+6bee e0a10000 istore 2 ,contw 
+6bef 6800c55d fetch 1 ,mem_pn_dlci 
+6bf0 e0a08000 istore 1 ,contw 
+6bf1 580000e0 setarg 0x0000e0 
+6bf2 e0a18000 istore 3 ,contw 
+6bf3 6801456c fetch 2 ,mem_rfcomm_max_frame_size 
+6bf4 e0a10000 istore 2 ,contw 
+6bf5 58000000 setarg 0x00 
+6bf6 e0a08000 istore 1 ,contw 
+6bf7 6800c56e fetch 1 ,mem_rfcomm_credit_init_data 
+6bf8 e0a08000 istore 1 ,contw 
+6bf9 20406a2f call rfcomm_calculate_fcs_dlci0 
+6bfa e0a08000 istore 1 ,contw 
+6bfb 20600000 rtn 
+
+rfcomm_send_modem_status_cmd:
+6bfc 204052e0 call l2cap_get_rfcomm_tx_buff 
+6bfd 58000008 setarg 0x0008 
+6bfe e0a10000 istore 2 ,contw 
+6bff 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c00 e0a10000 istore 2 ,contw 
+6c01 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6c02 1fe3fe00 lshift pdata ,pdata 
+6c03 79207e00 set1 0 ,pdata 
+6c04 e0a08000 istore 1 ,contw 
+6c05 47574035 bpatchx patch35_6 ,mem_patch35 
+6c06 580009ef setarg 0x09ef 
+6c07 e0a10000 istore 2 ,contw 
+6c08 580005e3 setarg 0x05e3 
+6c09 e0a10000 istore 2 ,contw 
+6c0a 18427e00 copy temp ,pdata 
+6c0b e0a08000 istore 1 ,contw 
+6c0c 5800008d setarg 0x8d 
+6c0d e0a08000 istore 1 ,contw 
+6c0e 20406a2f call rfcomm_calculate_fcs_dlci0 
+6c0f e0a08000 istore 1 ,contw 
+6c10 20600000 rtn 
+
+rfcomm_send_modem_status_res:
+6c11 204052d2 call l2cap_malloc_rfcomm_channel 
+6c12 204052e0 call l2cap_get_rfcomm_tx_buff 
+6c13 58000008 setarg 0x0008 
+6c14 e0a10000 istore 2 ,contw 
+6c15 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c16 e0a10000 istore 2 ,contw 
+6c17 18421600 copy temp ,timeup 
+6c18 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6c19 1fe3fe00 lshift pdata ,pdata 
+6c1a 79207e00 set1 0 ,pdata 
+6c1b e0a08000 istore 1 ,contw 
+6c1c 4757c035 bpatchx patch35_7 ,mem_patch35 
+6c1d 580009ef setarg 0x09ef 
+6c1e e0a10000 istore 2 ,contw 
+6c1f 580005e1 setarg 0x05e1 
+6c20 e0a10000 istore 2 ,contw 
+6c21 19627e00 copy timeup ,pdata 
+6c22 e0a08000 istore 1 ,contw 
+6c23 5800008d setarg 0x8d 
+6c24 e0a08000 istore 1 ,contw 
+6c25 20406a2f call rfcomm_calculate_fcs_dlci0 
+6c26 e0a08000 istore 1 ,contw 
+6c27 20600000 rtn 
+
+rfcomm_send_uih_without_payload:
+6c28 47584036 bpatchx patch36_0 ,mem_patch36 
+6c29 6800c569 fetch 1 ,mem_credit_given 
+6c2a 207a0000 rtn blank 
+6c2b 68110112 hfetch 2 ,core_uart_rxitems 
+6c2c 247a0000 nrtn blank 
+6c2d 1a227e00 copy rega ,pdata 
+6c2e 60008a9b store 1 ,mem_pdatatemp + 1 
+6c2f 60088a9a storet 1 ,mem_pdatatemp 
+6c30 2040526e call l2cap_malloc_is_fifo_full 
+6c31 247a0000 nrtn blank 
+6c32 204052d2 call l2cap_malloc_rfcomm_channel 
+6c33 204052e0 call l2cap_get_rfcomm_tx_buff 
+6c34 58000005 setarg 0x05 
+6c35 e0a10000 istore 2 ,contw 
+6c36 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c37 e0a10000 istore 2 ,contw 
+6c38 6800850d fetch 1 ,mem_rfcomm_send_adss 
+6c39 e0a08000 istore 1 ,contw 
+6c3a 580001ff setarg 0x01ff 
+6c3b e0a10000 istore 2 ,contw 
+6c3c 6800c569 fetch 1 ,mem_credit_given 
+6c3d e0a08000 istore 1 ,contw 
+6c3e 6800c566 fetch 1 ,mem_hiufcs_spp_wcredits 
+6c3f e0a08000 istore 1 ,contw 
+6c40 70456900 jam 0 ,mem_credit_given 
+6c41 20600000 rtn 
+
+rfcomm_increase_credit_given:
+6c42 4758c036 bpatchx patch36_1 ,mem_patch36 
+6c43 6800c56b fetch 1 ,mem_credit_flag 
+6c44 c1008000 rtneq credit_enable 
+6c45 680104ff fetch 2 ,mem_current_length 
+6c46 207a0000 rtn blank 
+6c47 6800c569 fetch 1 ,mem_credit_given 
+6c48 1fe0fe01 increase 1 ,pdata 
+6c49 6000c569 store 1 ,mem_credit_given 
+6c4a 20600000 rtn 
+
+spp_process_rx_data:
+6c4b 6801456f fetch 2 ,mem_cb_receive_spp_data 
+6c4c 20207f9c branch callback_func 
+
+spp_tx_rfcomm_packet:
+6c4d 47594036 bpatchx patch36_2 ,mem_patch36 
+6c4e 6800c568 fetch 1 ,mem_remote_credits 
+6c4f 207a0000 rtn blank 
+6c50 1fe0ffff increase -1 ,pdata 
+6c51 6000c568 store 1 ,mem_remote_credits 
+6c52 6801455e fetch 2 ,mem_pn_max_frame_size 
+6c53 6809469f fetcht 2 ,mem_current_packet_length 
+6c54 98467c00 isub temp ,null 
+6c55 20216c57 branch ssp_tx_rfcomm_from_uart ,positive 
+6c56 6001469f store 2 ,mem_current_packet_length 
+
+ssp_tx_rfcomm_from_uart:
+6c57 6800c569 fetch 1 ,mem_credit_given 
+6c58 203a6c5f branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+6c59 70051001 jam 1 ,mem_rfcomm_send_offset 
+6c5a 6800c566 fetch 1 ,mem_hiufcs_spp_wcredits 
+6c5b 6000850f store 1 ,mem_rfcomm_send_fcs 
+6c5c 580000ff setarg rsp_rx_uih_wdata 
+6c5d 6000850e store 1 ,mem_rfcomm_send_frame_type 
+6c5e 20206c64 branch ssp_tx_rfcomm_from_uart_common 
+
+ssp_tx_rfcomm_from_uart_without_credit:
+6c5f 70051000 jam 0 ,mem_rfcomm_send_offset 
+6c60 6800c565 fetch 1 ,mem_hiufcs_spp 
+6c61 6000850f store 1 ,mem_rfcomm_send_fcs 
+6c62 580000ef setarg rsp_tx_uih 
+6c63 6000850e store 1 ,mem_rfcomm_send_frame_type 
+
+ssp_tx_rfcomm_from_uart_common:
+6c64 4759c036 bpatchx patch36_3 ,mem_patch36 
+6c65 6801469f fetch 2 ,mem_current_packet_length 
+6c66 1fe67c7f sub pdata ,127 ,null 
+6c67 20216c6b branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+6c68 68008510 fetch 1 ,mem_rfcomm_send_offset 
+6c69 1fe0fe01 increase 1 ,pdata 
+6c6a 60008510 store 1 ,mem_rfcomm_send_offset 
+
+ssp_tx_rfcomm_from_uart_common0:
+6c6b 20406a72 call get_rfcomm_snd_adss 
+6c6c 6801469f fetch 2 ,mem_current_packet_length 
+6c6d 1fe0fe08 increase 8 ,pdata 
+6c6e 68088510 fetcht 1 ,mem_rfcomm_send_offset 
+6c6f 9840a200 iadd temp ,rega 
+6c70 20405240 call l2cap_malloc 
+6c71 60010277 store 2 ,mem_rfcomm_tx_buff_ptr 
+6c72 1fe0fe04 increase 4 ,pdata 
+6c73 60010279 store 2 ,mem_rfcomm_tx_payload_ptr 
+6c74 1fe20a00 copy pdata ,contw 
+6c75 6800850d fetch 1 ,mem_rfcomm_send_adss 
+6c76 e0a08000 istore 1 ,contw 
+6c77 6800850e fetch 1 ,mem_rfcomm_send_frame_type 
+6c78 e0a08000 istore 1 ,contw 
+6c79 20406c95 call ssp_tx_write_length 
+6c7a 20406ca6 call ssp_tx_write_given_credit 
+6c7b 475a4036 bpatchx patch36_4 ,mem_patch36 
+6c7c 68014571 fetch 2 ,mem_nl_rx_data_src 
+6c7d 1fe20600 copy pdata ,contru 
+6c7e 6801469f fetch 2 ,mem_current_packet_length 
+6c7f 1fe27200 copy pdata ,loopcnt 
+6c80 204066ea call uart_copy_rx_bytes_fast 
+6c81 18a20400 copy contw ,temp 
+6c82 18627e00 copy contru ,pdata 
+6c83 60014571 store 2 ,mem_nl_rx_data_src 
+6c84 18420a00 copy temp ,contw 
+6c85 6800850f fetch 1 ,mem_rfcomm_send_fcs 
+6c86 e0a08000 istore 1 ,contw 
+6c87 68010277 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+6c88 1fe20a00 copy pdata ,contw 
+6c89 6801469f fetch 2 ,mem_current_packet_length 
+6c8a 68088510 fetcht 1 ,mem_rfcomm_send_offset 
+6c8b 9840fe00 iadd temp ,pdata 
+6c8c 1fe0fe04 increase 4 ,pdata 
+6c8d e0a10000 istore 2 ,contw 
+6c8e 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c8f e0a10000 istore 2 ,contw 
+6c90 70456900 jam 0 ,mem_credit_given 
+6c91 68014573 fetch 2 ,mem_nl_rx_len_all 
+6c92 c0003a97 beq 0 ,module_hci_command_tx_spp_tx_complete 
+6c93 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+6c94 20600000 rtn 
+
+ssp_tx_write_length:
+6c95 475ac036 bpatchx patch36_5 ,mem_patch36 
+6c96 6801469f fetch 2 ,mem_current_packet_length 
+6c97 1fe67c7f sub pdata ,0x7f ,null 
+6c98 24216c9d nbranch ssp_tx_write_long_packet ,positive 
+6c99 1fe3fe00 lshift pdata ,pdata 
+6c9a 79207e00 set1 0 ,pdata 
+6c9b e0a08000 istore 1 ,contw 
+6c9c 20600000 rtn 
+
+ssp_tx_write_long_packet:
+6c9d 6801469f fetch 2 ,mem_current_packet_length 
+6c9e 1fe97e00 rshift3 pdata ,pdata 
+6c9f 1ff18400 rshift4 pdata ,temp 
+6ca0 1fe17e7f and_into 0x7f ,pdata 
+6ca1 1fe3fe00 lshift pdata ,pdata 
+6ca2 793ffe00 set0 0 ,pdata 
+6ca3 e0a08000 istore 1 ,contw 
+6ca4 e0a88000 istoret 1 ,contw 
+6ca5 20600000 rtn 
+
+ssp_tx_write_given_credit:
+6ca6 6800c569 fetch 1 ,mem_credit_given 
+6ca7 207a0000 rtn blank 
+6ca8 e0a08000 istore 1 ,contw 
+6ca9 20600000 rtn 
+
+scheduler_process:
+6caa 475b4036 bpatchx patch36_6 ,mem_patch36 
+6cab 20407d9c call check_51cmd 
+6cac 204032f6 call app_process_bb_event 
+6cad 2040631b call process_conn_sm 
+6cae 475bc036 bpatchx patch36_7 ,mem_patch36 
+6caf 204076dc call sp_calc_sequence 
+6cb0 204076b5 call simple_pairing_sequence 
+6cb1 204076c6 call master_simple_paring_sequence 
+6cb2 2040526e call l2cap_malloc_is_fifo_full 
+6cb3 247a0000 nrtn blank 
+6cb4 20404da9 call l2cap_call_proc_sigal_pending 
+6cb5 2040526e call l2cap_malloc_is_fifo_full 
+6cb6 247a0000 nrtn blank 
+6cb7 475c4037 bpatchx patch37_0 ,mem_patch37 
+6cb8 20406cf5 call process_upper_sm 
+6cb9 20404f64 call l2cap_send_config_req 
+6cba 20406b98 call rfcomm_send_more_pkt 
+
+scheduler_process0:
+6cbb 20406cbe call scheduler_tx_disconnect_hid 
+6cbc 475cc037 bpatchx patch37_1 ,mem_patch37 
+6cbd 202032f2 branch app_process_bt 
+
+scheduler_tx_disconnect_hid:
+6cbe 6800827f fetch 1 ,mem_control_tasks 
+6cbf c2805087 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+6cc0 c283d091 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+6cc1 20600000 rtn 
+
+scheduler_tx_l2cap_pkt:
+6cc2 475d4037 bpatchx patch37_2 ,mem_patch37 
+6cc3 20405274 call l2cap_malloc_is_fifo_empty 
+6cc4 207a0000 rtn blank 
+6cc5 6800804b fetch 1 ,mem_op 
+6cc6 c3830000 rtnbit1 op_txl2cap 
+6cc7 20405258 call l2cap_malloc_fifo_out 
+6cc8 6001016f store 2 ,mem_txptr 
+6cc9 1fe20c00 copy pdata ,contr 
+6cca e8c10000 ifetch 2 ,contr 
+6ccb 1fe0fe04 increase 4 ,pdata 
+6ccc 600141dc store 2 ,mem_tx_len 
+6ccd 7041db06 jam 6 ,mem_tx_lch 
+6cce 475dc037 bpatchx patch37_3 ,mem_patch37 
+6ccf 68014246 fetch 2 ,mem_l2cap_tx_multi_offset 
+6cd0 203a6cdd branch scheduler_tx_l2cap_start_pkt ,blank 
+6cd1 6800804b fetch 1 ,mem_op 
+6cd2 c4038000 rtnbit0 op_pkt_comp 
+6cd3 793ffe07 set0 op_pkt_comp ,pdata 
+6cd4 6000804b store 1 ,mem_op 
+6cd5 7041db05 jam 5 ,mem_tx_lch 
+6cd6 68094246 fetcht 2 ,mem_l2cap_tx_multi_offset 
+6cd7 6801016f fetch 2 ,mem_txptr 
+6cd8 9840fe00 iadd temp ,pdata 
+6cd9 6001016f store 2 ,mem_txptr 
+6cda 680141dc fetch 2 ,mem_tx_len 
+6cdb 98467e00 isub temp ,pdata 
+6cdc 600141dc store 2 ,mem_tx_len 
+
+scheduler_tx_l2cap_start_pkt:
+6cdd 475e4037 bpatchx patch37_4 ,mem_patch37 
+6cde 680141dc fetch 2 ,mem_tx_len 
+6cdf 203a2a8c branch assert ,blank 
+6ce0 d8400104 arg l2cap_max_pkt_len ,temp 
+6ce1 98467e00 isub temp ,pdata 
+6ce2 24216ce9 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+6ce3 475ec037 bpatchx patch37_5 ,mem_patch37 
+6ce4 600941dc storet 2 ,mem_tx_len 
+6ce5 68014246 fetch 2 ,mem_l2cap_tx_multi_offset 
+6ce6 9840fe00 iadd temp ,pdata 
+6ce7 60014246 store 2 ,mem_l2cap_tx_multi_offset 
+6ce8 20206ceb branch scheduler_tx_l2cap_pkt_end 
+
+scheduler_tx_l2cap_last_pkt:
+6ce9 58000000 setarg 0 
+6cea 60014246 store 2 ,mem_l2cap_tx_multi_offset 
+
+scheduler_tx_l2cap_pkt_end:
+6ceb 6800804b fetch 1 ,mem_op 
+6cec 79207e06 set1 op_txl2cap ,pdata 
+6ced 6000804b store 1 ,mem_op 
+6cee 20600000 rtn 
+
+scheduler_start_upper_sm:
+6cef 6800c684 fetch 1 ,mem_ui_profile_supported 
+6cf0 c2806cf3 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+6cf1 70028701 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+6cf2 20600000 rtn 
+
+scheduler_start_upper_sm_hid:
+6cf3 7002870f jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+6cf4 20600000 rtn 
+
+process_upper_sm:
+6cf5 6800c681 fetch 1 ,memui_reconnect_mode 
+6cf6 243a6cfb nbranch process_upper_sm_reconn ,blank 
+
+process_upper_sm_remote_page:
+6cf7 68008286 fetch 1 ,mem_upper_sm_remote_page 
+6cf8 207a0000 rtn blank 
+6cf9 70028600 jam 0 ,mem_upper_sm_remote_page 
+
+process_upper_sm_rp_wait:
+6cfa 20600000 rtn 
+
+process_upper_sm_reconn:
+6cfb 475f4037 bpatchx patch37_6 ,mem_patch37 
+6cfc 68008287 fetch 1 ,mem_upper_sm_reconn 
+6cfd 207a0000 rtn blank 
+6cfe c000ed1b beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+6cff c0016d74 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+6d00 c001ed21 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+6d01 c0026d78 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+6d02 c01ded2b beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+6d03 c01e6d7b beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+6d04 c006ed30 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+6d05 c0076d80 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+6d06 c007ed33 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+6d07 c0086d86 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+6d08 c008ed39 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+6d09 c0096d8a beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+6d0a c009ed3f beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+6d0b c00a6d8e beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+6d0c c00aed45 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+6d0d c00b6d92 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+6d0e c00bed4b beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+6d0f c00c6d97 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+6d10 c00ced51 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+6d11 c00d6d9b beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+6d12 c00ded57 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+6d13 c00e6d9f beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+6d14 c00eed5d beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+6d15 c00f6da4 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+6d16 c00fed63 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+6d17 c0106da8 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+6d18 c010ed6e beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+6d19 c0116dac beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+
+process_upper_sm_reconn_wait:
+6d1a 20600000 rtn 
+
+process_upper_sm_reconn_sdp_conn:
+6d1b 20406db7 call upper_sm_send_sdp_conn 
+6d1c 70028702 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+6d1d 6800c250 fetch 1 ,mem_sdp_state 
+6d1e 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d1f 6000c250 store 1 ,mem_sdp_state 
+6d20 20600000 rtn 
+
+process_upper_sm_reconn_sdp_cfg:
+6d21 70028704 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+6d22 6800c250 fetch 1 ,mem_sdp_state 
+6d23 c3810000 rtnbit1 l2cap_channel_state_snd_cfg_req 
+6d24 70028703 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+6d25 20406dbe call upper_sm_send_sdp_cfg 
+6d26 70028704 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+6d27 6800c250 fetch 1 ,mem_sdp_state 
+6d28 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d29 6000c250 store 1 ,mem_sdp_state 
+6d2a 20600000 rtn 
+
+process_upper_sm_reconn_ss_spp:
+6d2b 20405274 call l2cap_malloc_is_fifo_empty 
+6d2c 247a0000 nrtn blank 
+6d2d 20406dcd call upper_sm_send_ss_spp 
+6d2e 7002873c jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+6d2f 20600000 rtn 
+
+process_upper_sm_reconn_sdp_disconn:
+6d30 20406dc3 call upper_sm_send_sdp_disconn 
+6d31 7002870e jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+6d32 20600000 rtn 
+
+process_upper_sm_reconn_hid_ctrl_conn:
+6d33 20406ddd call upper_sm_send_hid_ctrl_conn 
+6d34 70028710 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+6d35 6800c252 fetch 1 ,mem_hid_control_state 
+6d36 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d37 6000c252 store 1 ,mem_hid_control_state 
+6d38 20600000 rtn 
+
+process_upper_sm_reconn_hid_ctrl_cfg:
+6d39 20406de4 call upper_sm_send_hid_ctrl_cfg 
+6d3a 70028712 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+6d3b 6800c252 fetch 1 ,mem_hid_control_state 
+6d3c 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d3d 6000c252 store 1 ,mem_hid_control_state 
+6d3e 20600000 rtn 
+
+process_upper_sm_reconn_hid_int_conn:
+6d3f 20406de9 call upper_sm_send_hid_int_conn 
+6d40 70028714 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+6d41 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d42 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d43 6000c253 store 1 ,mem_hid_interrupt_state 
+6d44 20600000 rtn 
+
+process_upper_sm_reconn_hid_int_cfg:
+6d45 20406df0 call upper_sm_send_hid_int_cfg 
+6d46 70028716 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+6d47 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d48 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d49 6000c253 store 1 ,mem_hid_interrupt_state 
+6d4a 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_conn:
+6d4b 20406dd1 call upper_sm_send_rfcomm_conn 
+6d4c 70028718 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+6d4d 6800c251 fetch 1 ,mem_rfcomm_state 
+6d4e 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d4f 6000c251 store 1 ,mem_rfcomm_state 
+6d50 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_cfg:
+6d51 20406dd8 call upper_sm_send_rfcomm_cfg 
+6d52 7002871a jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+6d53 6800c251 fetch 1 ,mem_rfcomm_state 
+6d54 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d55 6000c251 store 1 ,mem_rfcomm_state 
+6d56 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_sabm:
+6d57 20406df5 call upper_sm_send_rfcomm_sabm 
+6d58 7002871c jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+6d59 6800c251 fetch 1 ,mem_rfcomm_state 
+6d5a 79207e06 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+6d5b 6000c251 store 1 ,mem_rfcomm_state 
+6d5c 20600000 rtn 
+
+process_upper_sm_reconn_spp_cmd_pn:
+6d5d 20406dfc call upper_sm_send_spp_cmd_pn 
+6d5e 6800c254 fetch 1 ,mem_spp_state 
+6d5f 79207e00 set1 rfcomm_channel_state_pn_cmd 
+6d60 6000c254 store 1 ,mem_spp_state 
+6d61 7002871e jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+6d62 20600000 rtn 
+
+process_upper_sm_reconn_spp_sabm:
+6d63 20406e02 call upper_sm_send_spp_sabm 
+6d64 6800c254 fetch 1 ,mem_spp_state 
+6d65 79207e02 set1 rfcomm_channel_state_sabm 
+6d66 6000c254 store 1 ,mem_spp_state 
+6d67 70028720 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+6d68 6800c564 fetch 1 ,mem_remote_spp_channel 
+6d69 1fe9fe00 lshift3 pdata ,pdata 
+6d6a 1fe1fe03 or_into 3 ,pdata 
+6d6b d8404565 arg mem_hiufcs_spp ,temp 
+6d6c 600904f7 storet 2 ,mem_contw_temp 
+6d6d 20206a35 branch rfcomm_save_fcs_uih 
+
+process_upper_sm_reconn_spp_cmd_ms:
+6d6e 20406e0c call upper_sm_send_spp_cmd_ms 
+6d6f 6800c254 fetch 1 ,mem_spp_state 
+6d70 79207e04 set1 rfcomm_channel_state_snd_ms_cmd 
+6d71 6000c254 store 1 ,mem_spp_state 
+6d72 70028722 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+6d73 20600000 rtn 
+
+process_upper_sm_reconn_sdp_conn_wait:
+6d74 6800c250 fetch 1 ,mem_sdp_state 
+6d75 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d76 70028703 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+6d77 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_sdp_cfg_wait:
+6d78 6800c250 fetch 1 ,mem_sdp_state 
+6d79 c19f8000 rtnne l2cap_channel_setup_complete 
+6d7a 7002873b jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+
+process_upper_sm_reconn_ss_spp_wait:
+6d7b 68008285 fetch 1 ,mem_message_to_uppersm 
+6d7c c18b8000 rtnne recieve_ss_reasult_hf 
+6d7d 70028500 jam 0 ,mem_message_to_uppersm 
+6d7e 7002870d jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+6d7f 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_sdp_disconn_wait:
+6d80 6800c250 fetch 1 ,mem_sdp_state 
+6d81 247a0000 nrtn blank 
+6d82 6800c684 fetch 1 ,mem_ui_profile_supported 
+6d83 c2806daf bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+6d84 c2836db1 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+6d85 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+6d86 6800c252 fetch 1 ,mem_hid_control_state 
+6d87 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d88 70028711 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+6d89 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+6d8a 6800c252 fetch 1 ,mem_hid_control_state 
+6d8b c19f8000 rtnne l2cap_channel_setup_complete 
+6d8c 70028713 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+6d8d 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_int_conn_wait:
+6d8e 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d8f c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d90 70028715 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+6d91 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_int_cfg_wait:
+6d92 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d93 c19f8000 rtnne l2cap_channel_setup_complete 
+6d94 6800c684 fetch 1 ,mem_ui_profile_supported 
+6d95 c2836db1 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+6d96 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_rfcomm_conn_wait:
+6d97 6800c251 fetch 1 ,mem_rfcomm_state 
+6d98 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d99 70028719 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+6d9a 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_rfcomm_cfg_wait:
+6d9b 6800c251 fetch 1 ,mem_rfcomm_state 
+6d9c c19f8000 rtnne l2cap_channel_setup_complete 
+6d9d 7002871b jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+6d9e 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_rfcomm_sabm_wait:
+6d9f 6800c251 fetch 1 ,mem_rfcomm_state 
+6da0 c1ff8000 rtnne l2cap_channel_rfcomm_dlci0_opened 
+6da1 6800c684 fetch 1 ,mem_ui_profile_supported 
+6da2 c2836db3 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+6da3 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_spp_cmd_pn_wait:
+6da4 6800c254 fetch 1 ,mem_spp_state 
+6da5 c4008000 rtnbit0 rfcomm_channel_state_pn_res 
+6da6 7002871f jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+6da7 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_spp_sabm_wait:
+6da8 6800c254 fetch 1 ,mem_spp_state 
+6da9 c4018000 rtnbit0 rfcomm_channel_state_ua 
+6daa 70028721 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+6dab 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_spp_cmd_ms_wait:
+6dac 6800c254 fetch 1 ,mem_spp_state 
+6dad c1ff8000 rtnne rfcomm_channel_setup_complete 
+6dae 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_setup_hid:
+6daf 7002870f jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+6db0 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_setup_rfcomm:
+6db1 70028717 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+6db2 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_setup_spp:
+6db3 7002871d jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+6db4 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_termination:
+6db5 70028700 jam 0 ,mem_upper_sm_reconn 
+6db6 20600000 rtn 
+
+upper_sm_send_sdp_conn:
+6db7 475fc037 bpatchx patch37_7 ,mem_patch37 
+6db8 204052b8 call l2cap_malloc_signal_channel 
+6db9 58000001 setarg psm_sdp 
+6dba 1fe20400 copy pdata ,temp 
+6dbb 58000050 setarg l2cap_sdp_channel 
+6dbc 1fe21600 copy pdata ,timeup 
+6dbd 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_sdp_cfg:
+6dbe 47604038 bpatchx patch38_0 ,mem_patch38 
+6dbf 204052b8 call l2cap_malloc_signal_channel 
+6dc0 68014248 fetch 2 ,mem_sdp_remote_cid 
+6dc1 1fe20400 copy pdata ,temp 
+6dc2 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_sdp_disconn:
+6dc3 4760c038 bpatchx patch38_1 ,mem_patch38 
+6dc4 204052b8 call l2cap_malloc_signal_channel 
+6dc5 68014248 fetch 2 ,mem_sdp_remote_cid 
+6dc6 1fe20400 copy pdata ,temp 
+6dc7 d9600050 arg l2cap_sdp_channel ,timeup 
+6dc8 204050cc call ml2cap_send_signal_disconn_req 
+6dc9 6800c250 fetch 1 ,mem_sdp_state 
+6dca 793ffe05 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+6dcb 6000c250 store 1 ,mem_sdp_state 
+6dcc 20600000 rtn 
+
+upper_sm_send_ss_spp:
+6dcd 47614038 bpatchx patch38_2 ,mem_patch38 
+6dce 204052c5 call l2cap_malloc_sdp_channel 
+6dcf 20407138 call sdp_send_spp_request 
+6dd0 202050e7 branch msdp_send_req_done 
+
+upper_sm_send_rfcomm_conn:
+6dd1 4761c038 bpatchx patch38_3 ,mem_patch38 
+6dd2 204052b8 call l2cap_malloc_signal_channel 
+6dd3 58000003 setarg psm_rfcomm 
+6dd4 1fe20400 copy pdata ,temp 
+6dd5 58000051 setarg l2cap_rfcomm_channel 
+6dd6 1fe21600 copy pdata ,timeup 
+6dd7 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_rfcomm_cfg:
+6dd8 47624038 bpatchx patch38_4 ,mem_patch38 
+6dd9 204052b8 call l2cap_malloc_signal_channel 
+6dda 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6ddb 1fe20400 copy pdata ,temp 
+6ddc 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_hid_ctrl_conn:
+6ddd 4762c038 bpatchx patch38_5 ,mem_patch38 
+6dde 204052b8 call l2cap_malloc_signal_channel 
+6ddf 58000011 setarg psm_hid_control 
+6de0 1fe20400 copy pdata ,temp 
+6de1 58000052 setarg l2cap_hid_control_channel 
+6de2 1fe21600 copy pdata ,timeup 
+6de3 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_hid_ctrl_cfg:
+6de4 47634038 bpatchx patch38_6 ,mem_patch38 
+6de5 204052b8 call l2cap_malloc_signal_channel 
+6de6 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+6de7 1fe20400 copy pdata ,temp 
+6de8 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_hid_int_conn:
+6de9 4763c038 bpatchx patch38_7 ,mem_patch38 
+6dea 204052b8 call l2cap_malloc_signal_channel 
+6deb 58000013 setarg psm_hid_interrupt 
+6dec 1fe20400 copy pdata ,temp 
+6ded 58000053 setarg l2cap_hid_interrupt_channel 
+6dee 1fe21600 copy pdata ,timeup 
+6def 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_hid_int_cfg:
+6df0 47644039 bpatchx patch39_0 ,mem_patch39 
+6df1 204052b8 call l2cap_malloc_signal_channel 
+6df2 6801424e fetch 2 ,mem_hid_int_remote_cid 
+6df3 1fe20400 copy pdata ,temp 
+6df4 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_rfcomm_sabm:
+6df5 4764c039 bpatchx patch39_1 ,mem_patch39 
+6df6 204052d2 call l2cap_malloc_rfcomm_channel 
+6df7 7004fb03 jam 3 ,mem_current_adss 
+6df8 7004fe1c jam 0x1c ,mem_current_fcs 
+6df9 20406ba9 call rfcomm_send_sabm 
+6dfa 70456301 jam 1 ,mem_rfcomm_initiator 
+6dfb 20600000 rtn 
+
+upper_sm_send_spp_cmd_pn:
+6dfc 47654039 bpatchx patch39_2 ,mem_patch39 
+6dfd 204052d2 call l2cap_malloc_rfcomm_channel 
+6dfe 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6dff 20406a79 call channel_to_dlci 
+6e00 6008c55d storet 1 ,mem_pn_dlci 
+6e01 20206bc4 branch rfcomm_send_param_neg_cmd 
+
+upper_sm_send_spp_sabm:
+6e02 4765c039 bpatchx patch39_3 ,mem_patch39 
+6e03 204052d2 call l2cap_malloc_rfcomm_channel 
+6e04 6808c55d fetcht 1 ,mem_pn_dlci 
+6e05 20406a73 call dlci_to_address_cmd 
+6e06 20406a1a call rfcomm_calculate_fcs_sabm 
+6e07 600084fe store 1 ,mem_current_fcs 
+6e08 6808c55d fetcht 1 ,mem_pn_dlci 
+6e09 20406a73 call dlci_to_address_cmd 
+6e0a 600884fb storet 1 ,mem_current_adss 
+6e0b 20206ba9 branch rfcomm_send_sabm 
+
+upper_sm_send_spp_cmd_ms:
+6e0c 47664039 bpatchx patch39_4 ,mem_patch39 
+6e0d 204052d2 call l2cap_malloc_rfcomm_channel 
+6e0e 6808c55d fetcht 1 ,mem_pn_dlci 
+6e0f 20406a73 call dlci_to_address_cmd 
+6e10 20206bfc branch rfcomm_send_modem_status_cmd 
+
+sdp_process:
+6e11 4766c039 bpatchx patch39_5 ,mem_patch39 
+6e12 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+6e13 98000c00 iforce contr 
+6e14 e8c08000 ifetch 1 ,contr 
+6e15 1fe22400 copy pdata ,regb 
+6e16 6000851b store 1 ,mem_sdp_pduid 
+6e17 e8c10000 ifetch 2 ,contr 
+6e18 6001051c store 2 ,mem_sdp_transactionid 
+6e19 e8c08000 ifetch 1 ,contr 
+6e1a 1fed1600 lshift8 pdata ,timeup 
+6e1b e8c08000 ifetch 1 ,contr 
+6e1c 99609600 iadd timeup ,timeup 
+6e1d 47674039 bpatchx patch39_6 ,mem_patch39 
+6e1e 18c20400 copy contr ,temp 
+6e1f df200004 arg 4 ,loopcnt 
+6e20 d8a0052a arg mem_sdp_handle_list ,contw 
+6e21 20407ec6 call memset0 
+6e22 18420c00 copy temp ,contr 
+6e23 1a427e00 deposit regb 
+6e24 c000efba beq sdp_error_res ,sdp_process_error_res 
+6e25 c0016e2c beq sdp_search_req ,sdp_process_ss_req 
+6e26 c001efba beq sdp_search_res ,sdp_process_ss_res 
+6e27 c0026e54 beq sdp_attribute_req ,sdp_process_sa_req 
+6e28 c002efba beq sdp_attribute_res ,sdp_process_sa_res 
+6e29 c0036f02 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+6e2a c003efba beq sdp_searchattrib_res ,sdp_process_ssa_res 
+6e2b 20206fc1 branch sdp_insufficient_resource 
+
+sdp_process_ss_req:
+6e2c 4767c039 bpatchx patch39_7 ,mem_patch39 
+6e2d 20406fd0 call ask_serviceclassid 
+6e2e 2841fe01 compare 1 ,temp ,0xff 
+6e2f 2020f040 branch ss_empty_rsp ,true 
+6e30 2841feff compare 0xff ,temp ,0xff 
+6e31 2020efc4 branch sdp_invalid_request_syntax ,true 
+6e32 e8c10000 ifetch 2 ,contr 
+6e33 60010522 store 2 ,mem_sdp_record_maxcnt 
+6e34 196097fe increase -2 ,timeup 
+6e35 196097ff increase -1 ,timeup 
+6e36 2422efbe nbranch sdp_invalid_pdu_size ,zero 
+6e37 d9600511 arg mem_sdp_uuid_search_ptr ,timeup 
+6e38 e9610000 ifetch 2 ,timeup 
+6e39 207a0000 rtn blank 
+6e3a 20407082 call search_all_uuid 
+6e3b 204052d0 call l2cap_get_sdp_tx_payload 
+6e3c 18007e03 force 3 ,pdata 
+6e3d e0a08000 istore 1 ,contw 
+6e3e 6801051c fetch 2 ,mem_sdp_transactionid 
+6e3f e0a10000 istore 2 ,contw 
+6e40 18ebfe00 lshift2 queue ,pdata 
+6e41 1fe0fe05 add pdata ,5 ,pdata 
+6e42 1fe0a605 add pdata ,5 ,regc 
+6e43 1ff0fe00 byteswap pdata ,pdata 
+6e44 e0a10000 istore 2 ,contw 
+6e45 18e27e00 deposit queue 
+6e46 1ff0fe00 byteswap pdata ,pdata 
+6e47 e0a10000 istore 2 ,contw 
+6e48 e0a10000 istore 2 ,contw 
+6e49 d8c0052a arg mem_sdp_handle_list ,contr 
+6e4a 18e27200 copy queue ,loopcnt 
+6e4b 2022ee4f branch ss_req_blank ,zero 
+
+ss_req_loop:
+6e4c e8c20000 ifetch 4 ,contr 
+6e4d e0a20000 istore 4 ,contw 
+6e4e c2006e4c loop ss_req_loop 
+
+ss_req_blank:
+6e4f 18007e00 force 0 ,pdata 
+6e50 e0a08000 istore 1 ,contw 
+6e51 1a627e00 deposit regc 
+6e52 60010275 store 2 ,mem_sdp_tx_pkt_length 
+6e53 20600000 rtn 
+
+sdp_process_sa_req:
+6e54 4768403a bpatchx patch3a_0 ,mem_patch3a 
+6e55 e8c20000 ifetch 4 ,contr 
+6e56 60020524 store 4 ,mem_sdp_record_handle 
+6e57 196097fc increase -4 ,timeup 
+6e58 20406f2e call sdp_store_maxbyte 
+6e59 60010520 store 2 ,mem_sdp_attribute_maxbyte 
+6e5a 196097fe increase -2 ,timeup 
+6e5b 20407028 call dataelementtype6 
+6e5c 2022efc4 branch sdp_invalid_request_syntax ,zero 
+6e5d 2a21fe05 compare 5 ,rega ,0xff 
+6e5e 2020ee62 branch sa_judge_wholerange ,true 
+
+sa_isnot_wholerange:
+6e5f d8a0052a arg mem_sdp_attrib_list ,contw 
+6e60 18000e00 force 0 ,queue 
+6e61 20206e71 branch sa_req_loop 
+
+sa_judge_wholerange:
+6e62 e8c08000 ifetch 1 ,contr 
+6e63 c0856fc4 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+6e64 e8c10000 ifetch 2 ,contr 
+6e65 243a6e6f nbranch sa_judge_wholerange_false1 ,blank 
+6e66 e8c08000 ifetch 1 ,contr 
+6e67 c0ffee6d bne 0xff ,sa_judge_wholerange_false2 
+6e68 e8c08000 ifetch 1 ,contr 
+6e69 c0ffee6b bne 0xff ,sa_judge_wholerange_false3 
+6e6a 20206eb8 branch sa_req_all 
+
+sa_judge_wholerange_false3:
+6e6b 18c08dfb increase -5 ,contr 
+6e6c 20206e5f branch sa_isnot_wholerange 
+
+sa_judge_wholerange_false2:
+6e6d 18c08dfc increase -4 ,contr 
+6e6e 20206e5f branch sa_isnot_wholerange 
+
+sa_judge_wholerange_false1:
+6e6f 18c08dfd increase -3 ,contr 
+6e70 20206e5f branch sa_isnot_wholerange 
+
+sa_req_loop:
+6e71 e8c08000 ifetch 1 ,contr 
+6e72 c004ee86 beq sdp_attribute_id ,sa_req_one_id 
+6e73 c0056e74 beq sdp_attribute_range ,sa_req_range 
+
+sa_req_range:
+6e74 e8c10000 ifetch 2 ,contr 
+6e75 e0a10000 istore 2 ,contw 
+6e76 18e08e01 increase 1 ,queue 
+6e77 1ff0a400 byteswap pdata ,regb 
+6e78 e8c10000 ifetch 2 ,contr 
+6e79 1ff0fe00 byteswap pdata ,pdata 
+
+sa_req_range_id_increase:
+6e7a 1a40a401 increase 1 ,regb 
+6e7b 9a467c00 isub regb ,null 
+6e7c 24216e83 nbranch sa_req_range_id_finish ,positive 
+6e7d 1fe22600 copy pdata ,regc 
+6e7e 1a50fe00 byteswap regb ,pdata 
+6e7f e0a10000 istore 2 ,contw 
+6e80 18e08e01 increase 1 ,queue 
+6e81 1a627e00 copy regc ,pdata 
+6e82 20206e7a branch sa_req_range_id_increase 
+
+sa_req_range_id_finish:
+6e83 196097fb increase -5 ,timeup 
+6e84 1a20a3fb increase -5 ,rega 
+6e85 20206e8b branch sa_req_check_next_id 
+
+sa_req_one_id:
+6e86 e8c10000 ifetch 2 ,contr 
+6e87 e0a10000 istore 2 ,contw 
+6e88 18e08e01 increase 1 ,queue 
+6e89 196097fd increase -3 ,timeup 
+6e8a 1a20a3fd increase -3 ,rega 
+
+sa_req_check_next_id:
+6e8b 24216fc4 nbranch sdp_invalid_request_syntax ,positive 
+6e8c 2422ee71 nbranch sa_req_loop ,zero 
+6e8d 196097ff increase -1 ,timeup 
+6e8e 2422efc4 nbranch sdp_invalid_request_syntax ,zero 
+6e8f 204052d0 call l2cap_get_sdp_tx_payload 
+6e90 18a08a0a increase 10 ,contw 
+6e91 da20052a arg mem_sdp_attrib_list ,rega 
+
+sa_req_handle_attributelist_next:
+6e92 18e27e00 copy queue ,pdata 
+6e93 203a6ea5 branch sa_req_handle_attributelist_end ,blank 
+6e94 ea210000 ifetch 2 ,rega 
+6e95 203a6ea5 branch sa_req_handle_attributelist_end ,blank 
+6e96 98002400 iforce regb 
+6e97 68020524 fetch 4 ,mem_sdp_record_handle 
+6e98 98000400 iforce temp 
+6e99 204070e7 call search_handle_attrib 
+6e9a 18c27e00 copy contr ,pdata 
+6e9b 203a6ea2 branch sa_req_handle_attributelist_notfound ,blank 
+6e9c 18c08dfd increase -3 ,contr 
+6e9d e8c18000 ifetch 3 ,contr 
+6e9e e0a18000 istore 3 ,contw 
+6e9f 2040705b call sdp_data_len 
+6ea0 98007200 iforce loopcnt 
+6ea1 20407f01 call memcpy 
+
+sa_req_handle_attributelist_notfound:
+6ea2 1a20a202 increase 2 ,rega 
+6ea3 18e08fff increase -1 ,queue 
+6ea4 20206e92 branch sa_req_handle_attributelist_next 
+
+sa_req_handle_attributelist_end:
+6ea5 da200005 arg sdp_attribute_res ,rega 
+6ea6 20406f84 call ssa_req_range_lastfreg_common 
+6ea7 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+6ea8 c005f043 beq 11 ,sa_empty_rsp 
+6ea9 20206f9a branch ssa_req_range_attrbutes_length_no_continue 
+
+sdp_store_continue_common:
+6eaa e8c08000 ifetch 1 ,contr 
+6eab c0006eae beq 0 ,sdp_store_continue_0byte 
+6eac c000eeb0 beq 1 ,sdp_store_continue_1byte 
+6ead c0016eb3 beq 2 ,sdp_store_continue_2byte 
+
+sdp_store_continue_0byte:
+6eae 196097ff increase -1 ,timeup 
+6eaf 20206eb6 branch sdp_store_continue_end 
+
+sdp_store_continue_1byte:
+6eb0 e8c08000 ifetch 1 ,contr 
+6eb1 196097fe increase -2 ,timeup 
+6eb2 20206eb6 branch sdp_store_continue_end 
+
+sdp_store_continue_2byte:
+6eb3 e8c10000 ifetch 2 ,contr 
+6eb4 1ff0fe00 byteswap pdata ,pdata 
+6eb5 196097fd increase -3 ,timeup 
+
+sdp_store_continue_end:
+6eb6 60010519 store 2 ,mem_sdp_continue_byte 
+6eb7 20600000 rtn 
+
+sa_req_all:
+6eb8 196097fb increase -5 ,timeup 
+6eb9 20406eaa call sdp_store_continue_common 
+6eba 2422efbe nbranch sdp_invalid_pdu_size ,zero 
+6ebb 680a0524 fetcht 4 ,mem_sdp_record_handle 
+6ebc 204070b1 call search_handle 
+6ebd 2422efbb nbranch sdp_invalid_service_record_handle ,zero 
+6ebe 18c22200 copy contr ,rega 
+6ebf 204052d0 call l2cap_get_sdp_tx_payload 
+6ec0 1a220c00 copy rega ,contr 
+6ec1 18a08a03 increase 3 ,contw 
+6ec2 18c21600 copy contr ,timeup 
+6ec3 20407062 call sdp_get_data 
+6ec4 1fe22200 copy pdata ,rega 
+6ec5 68010519 fetch 2 ,mem_sdp_continue_byte 
+6ec6 1fe22400 copy pdata ,regb 
+6ec7 1a227e00 copy rega ,pdata 
+6ec8 9a462400 isub regb ,regb 
+6ec9 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6eca 9a467c00 isub regb ,null 
+6ecb 24216ee7 nbranch sa_req_all_fragment_sdp ,positive 
+6ecc 78547c00 disable user 
+6ecd 68010519 fetch 2 ,mem_sdp_continue_byte 
+6ece 203a6eda branch sa_req_all_fisrt_fragment ,blank 
+6ecf 99608c00 iadd timeup ,contr 
+6ed0 1a40a403 increase 3 ,regb 
+6ed1 1a427200 copy regb ,loopcnt 
+6ed2 1f227e00 copy loopcnt ,pdata 
+6ed3 1fe0fe03 increase 3 ,pdata 
+6ed4 1ff0fe00 byteswap pdata ,pdata 
+6ed5 e0a10000 istore 2 ,contw 
+6ed6 1f227e00 copy loopcnt ,pdata 
+6ed7 1ff0fe00 byteswap pdata ,pdata 
+6ed8 e0a10000 istore 2 ,contw 
+6ed9 20206ef5 branch sa_req_all_answer_attributelist_full_loop 
+
+sa_req_all_fisrt_fragment:
+6eda 1a20f206 add rega ,6 ,loopcnt 
+6edb 20346ede branch sa_req_all_parlength_continue_byte ,user 
+6edc 1f30fe00 byteswap loopcnt ,pdata 
+6edd 20206ee1 branch sa_req_all_parlength_continue_byte_end 
+
+sa_req_all_parlength_continue_byte:
+6ede 1f227e00 copy loopcnt ,pdata 
+6edf 1fe0fe02 increase 2 ,pdata 
+6ee0 1ff0fe00 byteswap pdata ,pdata 
+
+sa_req_all_parlength_continue_byte_end:
+6ee1 e0a10000 istore 2 ,contw 
+6ee2 1f20f3fd increase -3 ,loopcnt 
+6ee3 1f30fe00 byteswap loopcnt ,pdata 
+6ee4 e0a10000 istore 2 ,contw 
+6ee5 19620c00 copy timeup ,contr 
+6ee6 20206ef5 branch sa_req_all_answer_attributelist_full_loop 
+
+sa_req_all_fragment_sdp:
+6ee7 78347c00 enable user 
+6ee8 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6ee9 1fe22200 copy pdata ,rega 
+6eea 1a227200 copy rega ,loopcnt 
+6eeb 68010519 fetch 2 ,mem_sdp_continue_byte 
+6eec 203a6eda branch sa_req_all_fisrt_fragment ,blank 
+6eed 99608c00 iadd timeup ,contr 
+6eee 1a227e00 copy rega ,pdata 
+6eef 1fe0fe05 increase 5 ,pdata 
+6ef0 1ff0fe00 byteswap pdata ,pdata 
+6ef1 e0a10000 istore 2 ,contw 
+6ef2 1a227e00 copy rega ,pdata 
+6ef3 1ff0fe00 byteswap pdata ,pdata 
+6ef4 e0a10000 istore 2 ,contw 
+
+sa_req_all_answer_attributelist_full_loop:
+6ef5 20407f01 call memcpy 
+6ef6 24346efe nbranch sa_req_all_last_frag_continue ,user 
+6ef7 18007e02 force 2 ,pdata 
+6ef8 e0a08000 istore 1 ,contw 
+6ef9 18c27e00 copy contr ,pdata 
+6efa 99667e00 isub timeup ,pdata 
+6efb 1ff0fe00 byteswap pdata ,pdata 
+6efc e0a10000 istore 2 ,contw 
+6efd 20206f00 branch sa_req_all_frag_end 
+
+sa_req_all_last_frag_continue:
+6efe 18007e00 force 0 ,pdata 
+6eff e0a08000 istore 1 ,contw 
+
+sa_req_all_frag_end:
+6f00 da200005 arg sdp_attribute_res ,rega 
+6f01 20206fb0 branch ssa_req_range_common 
+
+sdp_process_ssa_req:
+6f02 4768c03a bpatchx patch3a_1 ,mem_patch3a 
+6f03 20406fd0 call ask_serviceclassid 
+6f04 2841feff compare 0xff ,temp ,0xff 
+6f05 2020efc4 branch sdp_invalid_request_syntax ,true 
+6f06 20406f2e call sdp_store_maxbyte 
+6f07 60010520 store 2 ,mem_sdp_attribute_maxbyte 
+6f08 196097fe increase -2 ,timeup 
+6f09 20407028 call dataelementtype6 
+6f0a d8a0052a arg mem_sdp_attrib_list ,contw 
+6f0b 18000e00 force 0 ,queue 
+
+ssa_req_loop:
+6f0c e8c08000 ifetch 1 ,contr 
+6f0d c0056f36 beq sdp_attribute_range ,ssa_req_range 
+6f0e e8c10000 ifetch 2 ,contr 
+6f0f e0a10000 istore 2 ,contw 
+6f10 18e08e01 increase 1 ,queue 
+6f11 196097fd increase -3 ,timeup 
+6f12 1a20a3fd increase -3 ,rega 
+6f13 24216fc4 nbranch sdp_invalid_request_syntax ,positive 
+6f14 2422ef0c nbranch ssa_req_loop ,zero 
+6f15 196097ff increase -1 ,timeup 
+6f16 2422efc4 nbranch sdp_invalid_request_syntax ,zero 
+6f17 204052d0 call l2cap_get_sdp_tx_payload 
+6f18 18a08a0d increase 13 ,contw 
+6f19 68010511 fetch 2 ,mem_sdp_uuid_search_ptr 
+6f1a 98002600 iforce regc 
+6f1b da20052a arg mem_sdp_attrib_list ,rega 
+
+ssa_req_attributelist_next:
+6f1c ea210000 ifetch 2 ,rega 
+6f1d 203a6f29 branch ssa_req_attributelist_end ,blank 
+6f1e 98002400 iforce regb 
+6f1f 204070c6 call search_attrib 
+6f20 203a6f27 branch ssa_req_attributelist_notfound ,blank 
+6f21 18c08dfd increase -3 ,contr 
+6f22 e8c18000 ifetch 3 ,contr 
+6f23 e0a18000 istore 3 ,contw 
+6f24 2040705b call sdp_data_len 
+6f25 98007200 iforce loopcnt 
+6f26 20407f01 call memcpy 
+
+ssa_req_attributelist_notfound:
+6f27 1a20a202 increase 2 ,rega 
+6f28 20206f1c branch ssa_req_attributelist_next 
+
+ssa_req_attributelist_end:
+6f29 20406f83 call ssa_req_range_lastfreg 
+6f2a 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+6f2b c0077046 beq 14 ,ssa_empty_rsp 
+6f2c 20406f9a call ssa_req_range_attrbutes_length_no_continue 
+6f2d 20206f9a branch ssa_req_range_attrbutes_length_no_continue 
+
+sdp_store_maxbyte:
+6f2e e8c10000 ifetch 2 ,contr 
+6f2f 1ff0fe00 byteswap pdata ,pdata 
+6f30 1fe0fffd increase -3 ,pdata 
+6f31 d84000c8 arg 200 ,temp 
+6f32 98467c00 isub temp ,null 
+6f33 24610000 nrtn positive 
+6f34 580000c8 setarg 200 
+6f35 20600000 rtn 
+
+ssa_req_range:
+6f36 18c08c04 increase 4 ,contr 
+6f37 196097fb increase -5 ,timeup 
+6f38 1a20a3fb increase -5 ,rega 
+6f39 2422efc4 nbranch sdp_invalid_request_syntax ,zero 
+6f3a 20406eaa call sdp_store_continue_common 
+6f3b 2422efbe nbranch sdp_invalid_pdu_size ,zero 
+6f3c d9600511 arg mem_sdp_uuid_search_ptr ,timeup 
+6f3d 20407082 call search_all_uuid 
+6f3e 18e27e00 deposit queue 
+6f3f 203a7046 branch ssa_empty_rsp ,blank 
+6f40 6000854e store 1 ,mem_handle_humber 
+6f41 1a427e00 copy regb ,pdata 
+6f42 6001054c store 2 ,mem_sdp_all_length 
+6f43 d8e00000 arg 0 ,queue 
+6f44 da200000 arg 0 ,rega 
+6f45 204052d0 call l2cap_get_sdp_tx_payload 
+6f46 18a08a0a increase 10 ,contw 
+
+ssa_req_range_find_handle:
+6f47 20406f6c call ssa_req_range_get_length 
+6f48 24342a8c nbranch assert ,user 
+6f49 18c21600 copy contr ,timeup 
+6f4a 1fe22600 copy pdata ,regc 
+6f4b 9a20a200 iadd rega ,rega 
+6f4c 68010519 fetch 2 ,mem_sdp_continue_byte 
+6f4d 1fe22400 copy pdata ,regb 
+6f4e 203a6f75 branch ssa_req_range_first_freg ,blank 
+
+ssa_req_range_later_freg_with_continue:
+6f4f 1a227e00 copy rega ,pdata 
+6f50 9a462400 isub regb ,regb 
+6f51 2022ef67 branch ssa_req_range_next_handle ,zero 
+6f52 24216f67 nbranch ssa_req_range_next_handle ,positive 
+6f53 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6f54 9a467c00 isub regb ,null 
+6f55 2022ef5e branch ssa_req_range_maxbyte_with_continue ,zero 
+6f56 24216f5e nbranch ssa_req_range_maxbyte_with_continue ,positive 
+
+ssa_req_range_send_not_maxbyte:
+6f57 1a427200 copy regb ,loopcnt 
+6f58 20406f61 call ssa_req_range_maxbyte_with_continue_cpy 
+6f59 6800854e fetch 1 ,mem_handle_humber 
+6f5a 18e08e01 increase 1 ,queue 
+6f5b 98e67c00 isub queue ,null 
+6f5c 2022ef83 branch ssa_req_range_lastfreg ,zero 
+6f5d 20206fa0 branch ssa_req_range_freg_with_continue 
+
+ssa_req_range_maxbyte_with_continue:
+6f5e 1fe27200 copy pdata ,loopcnt 
+6f5f 20406f61 call ssa_req_range_maxbyte_with_continue_cpy 
+6f60 20206fa0 branch ssa_req_range_freg_with_continue 
+
+ssa_req_range_maxbyte_with_continue_cpy:
+6f61 18a08bfd increase -3 ,contw 
+6f62 1f220400 copy loopcnt ,temp 
+6f63 1a627e00 copy regc ,pdata 
+6f64 9a467e00 isub regb ,pdata 
+6f65 99608c00 iadd timeup ,contr 
+6f66 20207f01 branch memcpy 
+
+ssa_req_range_next_handle:
+6f67 6800854e fetch 1 ,mem_handle_humber 
+6f68 18e08e01 increase 1 ,queue 
+6f69 98e67c00 isub queue ,null 
+6f6a 20628000 rtn zero 
+6f6b 20206f47 branch ssa_req_range_find_handle 
+
+ssa_req_range_get_length:
+6f6c 20407fe9 call disable_user 
+6f6d d8c0052a arg mem_sdp_handle_list ,contr 
+6f6e 18ebfe00 lshift2 queue ,pdata 
+6f6f 98c08c00 iadd contr ,contr 
+6f70 e8ca0000 ifetcht 4 ,contr 
+6f71 204070b1 call search_handle 
+6f72 24628000 nrtn zero 
+6f73 2040705b call sdp_data_len 
+6f74 20207fe7 branch enable_user 
+
+ssa_req_range_first_freg:
+6f75 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6f76 9a267c00 isub rega ,null 
+6f77 24216f8f nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+6f78 1a227200 copy rega ,loopcnt 
+6f79 1f220400 copy loopcnt ,temp 
+6f7a 19620c00 copy timeup ,contr 
+6f7b 20407f01 call memcpy 
+6f7c 6801054c fetch 2 ,mem_sdp_all_length 
+6f7d 9a267c00 isub rega ,null 
+6f7e 2022ef81 branch ssa_req_range_freg_no_continue ,zero 
+
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+6f7f 20406fa0 call ssa_req_range_freg_with_continue 
+6f80 20206f94 branch ssa_req_range_attrbutes_length 
+
+ssa_req_range_freg_no_continue:
+6f81 20406f83 call ssa_req_range_lastfreg 
+6f82 20206f94 branch ssa_req_range_attrbutes_length 
+
+ssa_req_range_lastfreg:
+6f83 da200007 arg sdp_searchattrib_res ,rega 
+
+ssa_req_range_lastfreg_common:
+6f84 18007e00 force 0 ,pdata 
+6f85 e0a08000 istore 1 ,contw 
+6f86 20406fb0 call ssa_req_range_common 
+6f87 68090275 fetcht 2 ,mem_sdp_tx_pkt_length 
+6f88 184085fb increase -5 ,temp 
+6f89 1850fe00 byteswap temp ,pdata 
+6f8a e0a10000 istore 2 ,contw 
+6f8b 184085fd increase -3 ,temp 
+6f8c 1850fe00 byteswap temp ,pdata 
+6f8d e0a10000 istore 2 ,contw 
+6f8e 20600000 rtn 
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+6f8f 1fe27200 copy pdata ,loopcnt 
+6f90 1f220400 copy loopcnt ,temp 
+6f91 19620c00 copy timeup ,contr 
+6f92 20407f01 call memcpy 
+6f93 20406fa0 call ssa_req_range_freg_with_continue 
+
+ssa_req_range_attrbutes_length:
+6f94 58000036 setarg 0x36 
+6f95 e0a08000 istore 1 ,contw 
+6f96 6801054c fetch 2 ,mem_sdp_all_length 
+6f97 1ff0fe00 byteswap pdata ,pdata 
+6f98 e0a10000 istore 2 ,contw 
+6f99 20600000 rtn 
+
+ssa_req_range_attrbutes_length_no_continue:
+6f9a 58000036 setarg 0x36 
+6f9b e0a08000 istore 1 ,contw 
+6f9c 184085fd increase -3 ,temp 
+6f9d 1850fe00 byteswap temp ,pdata 
+6f9e e0a10000 istore 2 ,contw 
+6f9f 20600000 rtn 
+
+ssa_req_range_freg_with_continue:
+6fa0 da200007 arg sdp_searchattrib_res ,rega 
+6fa1 58000002 setarg 2 
+6fa2 e0a08000 istore 1 ,contw 
+6fa3 68010519 fetch 2 ,mem_sdp_continue_byte 
+6fa4 98408400 iadd temp ,temp 
+6fa5 1850fe00 byteswap temp ,pdata 
+6fa6 e0a10000 istore 2 ,contw 
+6fa7 20406fb0 call ssa_req_range_common 
+6fa8 68090275 fetcht 2 ,mem_sdp_tx_pkt_length 
+6fa9 184085fb increase -5 ,temp 
+6faa 1850fe00 byteswap temp ,pdata 
+6fab e0a10000 istore 2 ,contw 
+6fac 184085fb increase -5 ,temp 
+6fad 1850fe00 byteswap temp ,pdata 
+6fae e0a10000 istore 2 ,contw 
+6faf 20600000 rtn 
+
+ssa_req_range_common:
+6fb0 68010273 fetch 2 ,mem_sdp_tx_payload_ptr 
+6fb1 98a67e00 isub contw ,pdata 
+6fb2 1fe67e00 sub pdata ,0 ,pdata 
+6fb3 60010275 store 2 ,mem_sdp_tx_pkt_length 
+6fb4 204052d0 call l2cap_get_sdp_tx_payload 
+6fb5 1a227e00 copy rega ,pdata 
+6fb6 e0a08000 istore 1 ,contw 
+6fb7 6801051c fetch 2 ,mem_sdp_transactionid 
+6fb8 e0a10000 istore 2 ,contw 
+6fb9 20600000 rtn 
+
+sdp_process_ssa_res:
+
+sdp_process_ss_res:
+
+sdp_process_sa_res:
+
+sdp_process_error_res:
+6fba 20600000 rtn 
+
+sdp_invalid_service_record_handle:
+6fbb 58000200 setarg 0x0200 
+6fbc 6001054a store 2 ,mem_sdp_error_code 
+6fbd 20206fc6 branch sdp_error_response 
+
+sdp_invalid_pdu_size:
+6fbe 58000400 setarg 0x0400 
+6fbf 6001054a store 2 ,mem_sdp_error_code 
+6fc0 20206fc6 branch sdp_error_response 
+
+sdp_insufficient_resource:
+6fc1 58000600 setarg 0x0600 
+6fc2 6001054a store 2 ,mem_sdp_error_code 
+6fc3 20206fc6 branch sdp_error_response 
+
+sdp_invalid_request_syntax:
+6fc4 58000300 setarg 0x0300 
+6fc5 6001054a store 2 ,mem_sdp_error_code 
+
+sdp_error_response:
+6fc6 204052d0 call l2cap_get_sdp_tx_payload 
+6fc7 e0a08000 istore 1 ,contw 
+6fc8 6801051c fetch 2 ,mem_sdp_transactionid 
+6fc9 e0a10000 istore 2 ,contw 
+6fca 58000200 setarg 0x0200 
+6fcb e0a10000 istore 2 ,contw 
+6fcc 6801054a fetch 2 ,mem_sdp_error_code 
+6fcd e0a10000 istore 2 ,contw 
+6fce 70027507 jam 7 ,mem_sdp_tx_pkt_length 
+6fcf 20600000 rtn 
+
+ask_serviceclassid:
+6fd0 da400000 arg 0 ,regb 
+6fd1 18000400 force 0 ,temp 
+6fd2 d8a00511 arg mem_sdp_uuid_search_ptr ,contw 
+6fd3 20407028 call dataelementtype6 
+6fd4 2022f026 branch asksrv_error ,zero 
+
+classidloop:
+6fd5 1a40a401 increase 1 ,regb 
+6fd6 e8c08000 ifetch 1 ,contr 
+6fd7 1a20a3ff increase -1 ,rega 
+6fd8 196097ff increase -1 ,timeup 
+6fd9 2fe1f018 compare 0x18 ,pdata ,0xf8 
+6fda 2420f026 nbranch asksrv_error ,true 
+6fdb 2fe00e04 compare 0x04 ,pdata ,0x07 
+6fdc 2420eff3 nbranch cmp032 ,true 
+6fdd 18000401 force 1 ,temp 
+
+skip2bytes:
+6fde e8c08000 ifetch 1 ,contr 
+6fdf 1a20a3ff increase -1 ,rega 
+6fe0 196097ff increase -1 ,timeup 
+6fe1 c0806fe7 bne 0x00 ,frstbwrong 
+6fe2 e8c08000 ifetch 1 ,contr 
+6fe3 1a20a3ff increase -1 ,rega 
+6fe4 196097ff increase -1 ,timeup 
+6fe5 c0006ff8 beq 0x00 ,cmpuuid 
+6fe6 20206fea branch scndbwrong 
+
+frstbwrong:
+6fe7 18c08c01 increase 1 ,contr 
+6fe8 1a20a3ff increase -1 ,rega 
+6fe9 196097ff increase -1 ,timeup 
+
+scndbwrong:
+6fea 18c08c02 increase 2 ,contr 
+6feb 1a20a3fe increase -2 ,rega 
+6fec 196097fe increase -2 ,timeup 
+6fed 2841fe00 compare 0x00 ,temp ,0xff 
+6fee 2020f020 branch loopornot ,true 
+6fef 18c08c0c increase 12 ,contr 
+6ff0 1a20a3f4 increase -12 ,rega 
+6ff1 196097f4 increase -12 ,timeup 
+6ff2 20207020 branch loopornot 
+
+cmp032:
+6ff3 2fe00e02 compare 0x02 ,pdata ,0x07 
+6ff4 2420eff6 nbranch cmp016 ,true 
+6ff5 20206fde branch skip2bytes 
+
+cmp016:
+6ff6 2fe00e01 compare 0x01 ,pdata ,0x07 
+6ff7 2420f026 nbranch asksrv_error ,true 
+
+cmpuuid:
+6ff8 1a20a3fe increase -2 ,rega 
+6ff9 196097fe increase -2 ,timeup 
+6ffa e8c10000 ifetch 2 ,contr 
+6ffb 1a467c04 sub regb ,4 ,null 
+6ffc 2022effe branch uuidsize ,zero 
+6ffd e0a10000 istore 2 ,contw 
+
+uuidsize:
+6ffe 2841fe00 compare 0x00 ,temp ,0xff 
+6fff 2020f020 branch loopornot ,true 
+7000 18c20400 copy contr ,temp 
+7001 e8c08000 ifetch 1 ,contr 
+7002 c0807019 bne 0x00 ,wrong12b 
+7003 e8c08000 ifetch 1 ,contr 
+7004 c0807019 bne 0x00 ,wrong12b 
+7005 e8c08000 ifetch 1 ,contr 
+7006 c0887019 bne 0x10 ,wrong12b 
+7007 e8c08000 ifetch 1 ,contr 
+7008 c0807019 bne 0x00 ,wrong12b 
+7009 e8c08000 ifetch 1 ,contr 
+700a c0c07019 bne 0x80 ,wrong12b 
+700b e8c08000 ifetch 1 ,contr 
+700c c0807019 bne 0x00 ,wrong12b 
+700d e8c08000 ifetch 1 ,contr 
+700e c0807019 bne 0x00 ,wrong12b 
+700f e8c08000 ifetch 1 ,contr 
+7010 c0c07019 bne 0x80 ,wrong12b 
+7011 e8c08000 ifetch 1 ,contr 
+7012 c0aff019 bne 0x5f ,wrong12b 
+7013 e8c08000 ifetch 1 ,contr 
+7014 c0cdf019 bne 0x9b ,wrong12b 
+7015 e8c08000 ifetch 1 ,contr 
+7016 c09a7019 bne 0x34 ,wrong12b 
+7017 e8c08000 ifetch 1 ,contr 
+7018 c07df01e beq 0xfb ,chck12dn 
+
+wrong12b:
+7019 18420c00 copy temp ,contr 
+
+wrong12b1:
+701a 18c08c0c increase 12 ,contr 
+701b 18000e00 force 0x00 ,queue 
+701c 18000400 force 0x00 ,temp 
+701d 2020701e branch chck12dn 
+
+chck12dn:
+701e 196097f4 increase -12 ,timeup 
+701f 1a20a3f4 increase -12 ,rega 
+
+loopornot:
+7020 18000400 force 0x00 ,temp 
+7021 2a21fe00 compare 0x00 ,rega ,0xff 
+7022 2420efd5 nbranch classidloop ,true 
+7023 18007e00 force 0 ,pdata 
+7024 e0a10000 istore 2 ,contw 
+7025 20600000 rtn 
+
+asksrv_error:
+7026 d84000ff arg 0xff ,temp 
+7027 20600000 rtn 
+
+dataelementtype6:
+7028 476a403a bpatchx patch3a_4 ,mem_patch3a 
+7029 e8c08000 ifetch 1 ,contr 
+702a 196097ff increase -1 ,timeup 
+702b 2fe1f030 compare 0x30 ,pdata ,0xf8 
+702c 2420f03e nbranch dsize_error ,true 
+702d 2fe00e07 compare 0x07 ,pdata ,0x07 
+702e 2020f037 branch dsize32 ,true 
+702f 2fe00e06 compare 0x06 ,pdata ,0x07 
+7030 2020f039 branch dsize16 ,true 
+7031 2fe00e05 compare 0x05 ,pdata ,0x07 
+7032 2420f03e nbranch dsize_error ,true 
+7033 e8c08000 ifetch 1 ,contr 
+7034 1fe22200 copy pdata ,rega 
+7035 196097ff increase -1 ,timeup 
+7036 2020703c branch dsize 
+
+dsize32:
+7037 18c08c02 increase 2 ,contr 
+7038 196097fe increase -2 ,timeup 
+
+dsize16:
+7039 e8c10000 ifetch 2 ,contr 
+703a 1ff0a200 byteswap pdata ,rega 
+703b 196097fe increase -2 ,timeup 
+
+dsize:
+703c 18007e01 force 0x01 ,pdata 
+703d 20600000 rtn 
+
+dsize_error:
+703e 18007e00 force 0x00 ,pdata 
+703f 20600000 rtn 
+
+ss_empty_rsp:
+7040 58000003 setarg sdp_search_res 
+7041 6000851b store 1 ,mem_sdp_pduid 
+7042 20207048 branch empty_response 
+
+sa_empty_rsp:
+7043 58000005 setarg sdp_attribute_res 
+7044 6000851b store 1 ,mem_sdp_pduid 
+7045 20207048 branch empty_response 
+
+ssa_empty_rsp:
+7046 58000007 setarg sdp_searchattrib_res 
+7047 6000851b store 1 ,mem_sdp_pduid 
+
+empty_response:
+7048 204052d0 call l2cap_get_sdp_tx_payload 
+7049 6800851b fetch 1 ,mem_sdp_pduid 
+704a 1fe22400 copy pdata ,regb 
+704b e0a08000 istore 1 ,contw 
+704c 6801051c fetch 2 ,mem_sdp_transactionid 
+704d e0a10000 istore 2 ,contw 
+704e 58000500 setarg 0x0500 
+704f e0a10000 istore 2 ,contw 
+7050 2a41fe05 compare sdp_attribute_res ,regb ,0xff 
+7051 2020f057 branch fullsearch ,true 
+7052 2a41fe07 compare sdp_searchattrib_res ,regb ,0xff 
+7053 2020f057 branch fullsearch ,true 
+7054 58000000 setarg 0x000000 
+7055 e0a28000 istore 5 ,contw 
+7056 20207059 branch outempty 
+
+fullsearch:
+7057 58350200 setarg 0x350200 
+7058 e0a28000 istore 5 ,contw 
+
+outempty:
+7059 7002750a jam 10 ,mem_sdp_tx_pkt_length 
+705a 20600000 rtn 
+
+sdp_data_len:
+705b 20407ea2 call store_contw 
+705c 20407ea5 call store_contr 
+705d 20407062 call sdp_get_data 
+705e 20407e9c call get_contw 
+705f 20407e9f call get_contr 
+7060 18427e00 copy temp ,pdata 
+7061 20600000 rtn 
+
+sdp_get_data:
+7062 e8c08000 ifetch 1 ,contr 
+7063 1fe17207 and pdata ,0x7 ,loopcnt 
+7064 1fe97e00 rshift3 pdata ,pdata 
+7065 c080706c bne 0 ,sdp_get_data_type_not0 
+
+sdp_get_data_type0:
+7066 18007e01 force 1 ,pdata 
+7067 18000401 force 1 ,temp 
+7068 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex01234:
+7069 20407e76 call left_shift_n 
+706a 1fe08401 add pdata ,1 ,temp 
+706b 20600000 rtn 
+
+sdp_get_data_type_not0:
+706c 1f227e00 deposit loopcnt 
+706d 1fe67c04 sub pdata ,4 ,null 
+706e 20217069 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+706f c002f073 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+7070 c0037076 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+7071 c003f07a beq 7 ,sdp_get_data_type_not0_sizeindex7 
+7072 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex5:
+7073 e8c08000 ifetch 1 ,contr 
+7074 1fe08402 add pdata ,2 ,temp 
+7075 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex6:
+7076 e8c10000 ifetch 2 ,contr 
+7077 1ff0fe00 byteswap pdata ,pdata 
+7078 1fe08403 add pdata ,3 ,temp 
+7079 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex7:
+707a e8c10000 ifetch 2 ,contr 
+707b 1ff0fe00 byteswap pdata ,pdata 
+707c e8c90000 ifetcht 2 ,contr 
+707d 18508400 byteswap temp ,temp 
+707e 18500400 lshift16 temp ,temp 
+707f 9840fe00 iadd temp ,pdata 
+7080 1fe08405 add pdata ,5 ,temp 
+7081 20600000 rtn 
+
+search_all_uuid:
+7082 476ac03a bpatchx patch3a_5 ,mem_patch3a 
+7083 18000e00 force 0 ,queue 
+7084 da400000 arg 0 ,regb 
+7085 d8a0052a arg mem_sdp_handle_list ,contw 
+
+search_all_uuid_llop:
+7086 e9610000 ifetch 2 ,timeup 
+7087 207a0000 rtn blank 
+7088 2040708d call search_uuid 
+7089 18e27e00 copy queue ,pdata 
+708a c1038000 rtneq sdp_max_handle_number 
+708b 19609602 increase 2 ,timeup 
+708c 20207086 branch search_all_uuid_llop 
+
+search_uuid:
+708d 98002600 iforce regc 
+708e 68014575 fetch 2 ,mem_ui_uuid_table 
+708f 98000c00 iforce contr 
+
+search_uuid_next:
+7090 18e27e00 copy queue ,pdata 
+7091 c1038000 rtneq sdp_max_handle_number 
+7092 78547c00 disable user 
+7093 e8c08000 ifetch 1 ,contr 
+7094 207a0000 rtn blank 
+7095 98007200 iforce loopcnt 
+
+search_uuid_loop:
+7096 e8c10000 ifetch 2 ,contr 
+7097 9a667c00 isub regc ,null 
+7098 2422f09a nbranch search_uuid_not_found ,zero 
+7099 78347c00 enable user 
+
+search_uuid_not_found:
+709a c2007096 loop search_uuid_loop 
+709b e8ca0000 ifetcht 4 ,contr 
+709c 18c22200 copy contr ,rega 
+709d 243470ad nbranch search_uuid_nomatch ,user 
+709e d8c0052a arg mem_sdp_handle_list ,contr 
+709f df200007 arg sdp_max_handle_number ,loopcnt 
+
+search_uuid_check_same_handle:
+70a0 e8c20000 ifetch 4 ,contr 
+70a1 203a70a6 branch search_uuid_store_handle ,blank 
+70a2 98467c00 isub temp ,null 
+70a3 2022f0ad branch search_uuid_nomatch ,zero 
+70a4 c20070a0 loop search_uuid_check_same_handle 
+70a5 20600000 rtn 
+
+search_uuid_store_handle:
+70a6 e0aa0000 istoret 4 ,contw 
+70a7 18e08e01 increase 1 ,queue 
+70a8 1a220c00 copy rega ,contr 
+70a9 2040705b call sdp_data_len 
+70aa 9a40a400 iadd regb ,regb 
+70ab 98c08c00 iadd contr ,contr 
+70ac 20207090 branch search_uuid_next 
+
+search_uuid_nomatch:
+70ad 1a220c00 copy rega ,contr 
+70ae 20407062 call sdp_get_data 
+70af 98c08c00 iadd contr ,contr 
+70b0 20207090 branch search_uuid_next 
+
+search_handle:
+70b1 476b403a bpatchx patch3a_6 ,mem_patch3a 
+70b2 68014575 fetch 2 ,mem_ui_uuid_table 
+70b3 98000c00 iforce contr 
+
+search_handle_loop:
+70b4 e8c08000 ifetch 1 ,contr 
+70b5 203a7fe3 branch disable_zero ,blank 
+70b6 1fe3fe00 lshift pdata ,pdata 
+70b7 98c08c00 iadd contr ,contr 
+70b8 e8c20000 ifetch 4 ,contr 
+70b9 98467c00 isub temp ,null 
+70ba 20628000 rtn zero 
+70bb 18a27e00 deposit contw 
+70bc 60010abb store 2 ,mem_contw 
+70bd 600c0aa2 storet 8 ,mem_temp 
+70be 20407062 call sdp_get_data 
+70bf 98c08c00 iadd contr ,contr 
+70c0 18c27e00 copy contr ,pdata 
+70c1 68090abb fetcht 2 ,mem_contw 
+70c2 18420a00 copy temp ,contw 
+70c3 680c0aa2 fetcht 8 ,mem_temp 
+70c4 1fe20c00 copy pdata ,contr 
+70c5 202070b4 branch search_handle_loop 
+
+search_attrib:
+70c6 476bc03a bpatchx patch3a_7 ,mem_patch3a 
+70c7 68014575 fetch 2 ,mem_ui_uuid_table 
+70c8 98000c00 iforce contr 
+
+search_attrib_next:
+70c9 e8c08000 ifetch 1 ,contr 
+70ca 203a70e4 branch search_attrib_end ,blank 
+70cb 98007200 iforce loopcnt 
+
+search_attrib_loop:
+70cc e8c10000 ifetch 2 ,contr 
+70cd 9a667c00 isub regc ,null 
+70ce 2022f0d4 branch search_attrib_found_uuid ,zero 
+70cf c20070cc loop search_attrib_loop 
+70d0 18c08c04 increase 4 ,contr 
+70d1 20407062 call sdp_get_data 
+70d2 98c08c00 iadd contr ,contr 
+70d3 202070c9 branch search_attrib_next 
+
+search_attrib_found_uuid:
+70d4 1f20f3ff increase -1 ,loopcnt 
+70d5 1f23fe00 lshift loopcnt ,pdata 
+70d6 98c08c00 iadd contr ,contr 
+70d7 18c08c04 increase 4 ,contr 
+70d8 20407062 call sdp_get_data 
+70d9 98c09600 iadd contr ,timeup 
+
+search_attrib_loop_attribs:
+70da 18c08c01 increase 1 ,contr 
+70db e8c10000 ifetch 2 ,contr 
+70dc 9a467c00 isub regb ,null 
+70dd 2022ffef branch disable_blank ,zero 
+70de 2040705b call sdp_data_len 
+70df 98c08c00 iadd contr ,contr 
+70e0 19627e00 deposit timeup 
+70e1 98c67c00 isub contr ,null 
+70e2 2022f0e4 branch search_attrib_end ,zero 
+70e3 202070da branch search_attrib_loop_attribs 
+
+search_attrib_end:
+70e4 18000c00 force 0 ,contr 
+70e5 18007e00 force 0 ,pdata 
+70e6 20600000 rtn 
+
+search_handle_attrib:
+70e7 476c403b bpatchx patch3b_0 ,mem_patch3b 
+70e8 68014575 fetch 2 ,mem_ui_uuid_table 
+70e9 98000c00 iforce contr 
+
+search_handle_attrib_next:
+70ea e8c08000 ifetch 1 ,contr 
+70eb 203a7100 branch search_handle_attrib_end ,blank 
+70ec 1fe3fe00 lshift pdata ,pdata 
+70ed 98c08c00 iadd contr ,contr 
+70ee e8c20000 ifetch 4 ,contr 
+70ef 98467c00 isub temp ,null 
+70f0 2022f0f4 branch search_handl_attrib_found_handle ,zero 
+70f1 20407062 call sdp_get_data 
+70f2 98c08c00 iadd contr ,contr 
+70f3 202070ea branch search_handle_attrib_next 
+
+search_handl_attrib_found_handle:
+70f4 20407062 call sdp_get_data 
+70f5 98c09600 iadd contr ,timeup 
+
+search_handle_attrib_loop_attribs:
+70f6 18c08c01 increase 1 ,contr 
+70f7 e8c10000 ifetch 2 ,contr 
+70f8 9a467c00 isub regb ,null 
+70f9 20628000 rtn zero 
+70fa 2040705b call sdp_data_len 
+70fb 98c08c00 iadd contr ,contr 
+70fc 19627e00 deposit timeup 
+70fd 98c67c00 isub contr ,null 
+70fe 2022f100 branch search_handle_attrib_end ,zero 
+70ff 202070f6 branch search_handle_attrib_loop_attribs 
+
+search_handle_attrib_end:
+7100 18000c00 force 0 ,contr 
+7101 20600000 rtn 
+
+search_rfcomm_cn:
+7102 da400400 arg 0x0400 ,regb 
+7103 204070f4 call search_handl_attrib_found_handle 
+7104 da400300 arg 0x0300 ,regb 
+7105 2040710d call search_uuid_in_data 
+7106 24740000 nrtn user 
+7107 1a267c03 sub rega ,3 ,null 
+7108 20217fe9 branch disable_user ,positive 
+7109 e8c08000 ifetch 1 ,contr 
+710a c0847fe9 bne 0x08 ,disable_user 
+710b e8c08000 ifetch 1 ,contr 
+710c 20600000 rtn 
+
+search_uuid_in_data:
+710d 476cc03b bpatchx patch3b_1 ,mem_patch3b 
+710e 20407062 call sdp_get_data 
+710f 1fe22200 copy pdata ,rega 
+
+search_uuid_in_data_loop:
+7110 e8c08000 ifetch 1 ,contr 
+7111 1fe17207 and pdata ,0x7 ,loopcnt 
+7112 1fe97e00 rshift3 pdata ,pdata 
+7113 1fe67c03 sub pdata ,3 ,null 
+7114 2022f129 branch search_uuid_in_data_found_uuid ,zero 
+7115 1f227e00 copy loopcnt ,pdata 
+7116 c002f120 beq 5 ,search_uuid_in_data_found_element_index5 
+7117 c0037123 beq 6 ,search_uuid_in_data_found_element_index6 
+7118 c003f126 beq 7 ,search_uuid_in_data_found_element_index7 
+7119 18c08dff increase -1 ,contr 
+711a 20407062 call sdp_get_data 
+711b 98c08c00 iadd contr ,contr 
+711c 1a227e00 copy rega ,pdata 
+711d 98462200 isub temp ,rega 
+711e 2022ffe9 branch disable_user ,zero 
+711f 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index5:
+7120 1a20a3fe increase -2 ,rega 
+7121 18c08c01 increase 1 ,contr 
+7122 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index6:
+7123 1a20a3fd increase -3 ,rega 
+7124 18c08c02 increase 2 ,contr 
+7125 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index7:
+7126 1a20a3fb increase -5 ,rega 
+7127 18c08c04 increase 4 ,contr 
+7128 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_uuid:
+7129 1a20a3ff increase -1 ,rega 
+712a 1f227e00 copy loopcnt ,pdata 
+712b c000f132 beq 1 ,search_uuid_in_data_type_uuid_16 
+712c c0017130 beq 2 ,search_uuid_in_data_type_uuid_32 
+712d c002712f beq 4 ,search_uuid_in_data_type_uuid_128 
+712e 20207fe9 branch disable_user 
+
+search_uuid_in_data_type_uuid_128:
+712f 1a20a3f4 increase -12 ,rega 
+
+search_uuid_in_data_type_uuid_32:
+7130 e8c10000 ifetch 2 ,contr 
+7131 1a20a3fe increase -2 ,rega 
+
+search_uuid_in_data_type_uuid_16:
+7132 e8c10000 ifetch 2 ,contr 
+7133 9a467c00 isub regb ,null 
+7134 2022ffe7 branch enable_user ,zero 
+7135 1a20a3fe increase -2 ,rega 
+7136 2022ffe9 branch disable_user ,zero 
+7137 20207110 branch search_uuid_in_data_loop 
+
+sdp_send_spp_request:
+7138 204052d0 call l2cap_get_sdp_tx_payload 
+7139 1fe20a00 copy pdata ,contw 
+713a 58000006 setarg 6 
+713b e0a08000 istore 1 ,contw 
+713c 5800006e setarg sdp_tid_spp 
+713d e0a10000 istore 2 ,contw 
+713e 58000f00 setarg 0x0f00 
+713f e0a10000 istore 2 ,contw 
+7140 581a0535 setarg 0x1a0535 
+7141 e0a18000 istore 3 ,contw 
+7142 58000111 setarg 0x0111 
+7143 1ff07e00 lshift16 pdata ,pdata 
+7144 e0a20000 istore 4 ,contw 
+7145 58002600 setarg 0x2600 
+7146 e0a10000 istore 2 ,contw 
+7147 58000335 setarg 0x0335 
+7148 e0a10000 istore 2 ,contw 
+7149 58000009 setarg 0x0009 
+714a e0a10000 istore 2 ,contw 
+714b 58000004 setarg 0x0004 
+714c e0a10000 istore 2 ,contw 
+714d 70027514 jam 0x14 ,mem_sdp_tx_pkt_length 
+714e 20600000 rtn 
+
+function_g2:
+714f 476d403b bpatchx patch3b_2 ,mem_patch3b 
+7150 7005e550 jam 80 ,mem_aes_cmac_data_length 
+7151 d8a005e6 arg memdat ,contw 
+7152 d8c0443a arg mem_le_srand ,contr 
+7153 20407ebf call memcpy16 
+7154 d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+7155 20407ebd call memcpy32 
+7156 d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+7157 20407ebd call memcpy32 
+7158 2040720a call inverse_memdat 
+7159 d8c0042f arg mem_le_mrand ,contr 
+715a 20407205 call store_inverse_k 
+715b 204071d0 call function_aes_cmac 
+715c d8a00af2 arg mem_aes_cmac_temp ,contw 
+715d 20407201 call load_inverse_result 
+715e 580f4240 setarg 1000000 
+715f 1fe22200 copy pdata ,rega 
+7160 68020af2 fetch 4 ,mem_aes_cmac_temp 
+7161 9a26fc00 idiv rega 
+7162 20407f86 call wait_div_end 
+7163 18077e00 remainder pdata 
+7164 600209ba store 4 ,mem_gkey 
+7165 20600000 rtn 
+
+function_f6_eb:
+7166 7005e541 jam 65 ,mem_aes_cmac_data_length 
+7167 d8a005e6 arg memdat ,contw 
+7168 204071b5 call store_addr_common_a 
+7169 204071b0 call store_addr_common_b 
+716a 6801c454 fetch 3 ,mem_le_pres + 1 
+716b e0a18000 istore 3 ,contw 
+716c 20407176 call get_r 
+716d d8c0042f arg mem_le_mrand ,contr 
+716e 20407ebf call memcpy16 
+716f d8c0443a arg mem_le_srand ,contr 
+7170 20407ebf call memcpy16 
+7171 2040720a call inverse_memdat 
+7172 d8c00b12 arg mem_le_mackey ,contr 
+7173 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7174 20407ebf call memcpy16 
+7175 202071d0 branch function_aes_cmac 
+
+get_r:
+7176 680244c7 fetch 4 ,mem_le_tk 
+7177 e0a20000 istore 4 ,contw 
+7178 20407ecd call memset0_4 
+7179 20207eca branch memset0_8 
+
+function_f6_ea:
+717a 476dc03b bpatchx patch3b_3 ,mem_patch3b 
+717b 7005e541 jam 65 ,mem_aes_cmac_data_length 
+717c d8a005e6 arg memdat ,contw 
+717d 204071b0 call store_addr_common_b 
+717e 204071b5 call store_addr_common_a 
+717f 6801c44d fetch 3 ,mem_le_preq + 1 
+7180 e0a18000 istore 3 ,contw 
+7181 20407176 call get_r 
+7182 d8c0443a arg mem_le_srand ,contr 
+7183 20407ebf call memcpy16 
+7184 d8c0042f arg mem_le_mrand ,contr 
+7185 20407ebf call memcpy16 
+7186 2040720a call inverse_memdat 
+7187 d8c00b12 arg mem_le_mackey ,contr 
+7188 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7189 20407ebf call memcpy16 
+718a 204071d0 call function_aes_cmac 
+718b d8a00af2 arg mem_aes_cmac_temp ,contw 
+718c 20207201 branch load_inverse_result 
+
+function_f5:
+718d 7005e520 jam 32 ,mem_aes_cmac_data_length 
+718e d8c009fe arg mem_le_dhkey_256 ,contr 
+718f d8a005e6 arg memdat ,contw 
+7190 20407ebd call memcpy32 
+7191 2040720a call inverse_memdat 
+7192 d8c0099e arg mem_le_slat ,contr 
+7193 20407205 call store_inverse_k 
+7194 204071d0 call function_aes_cmac 
+7195 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7196 20407497 call store_aes_result 
+7197 d8400001 arg 1 ,temp 
+7198 2040719f call function_f5_common 
+7199 d8a04419 arg mem_le_ltk ,contw 
+719a 20407201 call load_inverse_result 
+719b d8400000 arg 0 ,temp 
+719c 2040719f call function_f5_common 
+719d d8a00b12 arg mem_le_mackey ,contw 
+719e 20207497 branch store_aes_result 
+
+function_f5_common:
+719f 476e403b bpatchx patch3b_4 ,mem_patch3b 
+71a0 7005e535 jam 53 ,mem_aes_cmac_data_length 
+71a1 58000100 setarg 0x100 
+71a2 600105e6 store 2 ,memdat 
+71a3 204071b0 call store_addr_common_b 
+71a4 204071b5 call store_addr_common_a 
+71a5 d8c0443a arg mem_le_srand ,contr 
+71a6 20407ebf call memcpy16 
+71a7 d8c0042f arg mem_le_mrand ,contr 
+71a8 20407ebf call memcpy16 
+71a9 58006c65 setarg 0x6c65 
+71aa e0a10000 istore 2 ,contw 
+71ab 58006274 setarg 0x6274 
+71ac e0a10000 istore 2 ,contw 
+71ad e0a88000 istoret 1 ,contw 
+71ae 2040720a call inverse_memdat 
+71af 202071d0 branch function_aes_cmac 
+
+store_addr_common_b:
+71b0 680344a0 fetch 6 ,mem_le_lap 
+71b1 e0a30000 istore 6 ,contw 
+71b2 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+71b3 e0a08000 istore 1 ,contw 
+71b4 20600000 rtn 
+
+store_addr_common_a:
+71b5 6803044f fetch 6 ,mem_le_plap 
+71b6 e0a30000 istore 6 ,contw 
+71b7 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+71b8 e0a08000 istore 1 ,contw 
+71b9 20600000 rtn 
+
+function_f4_ca:
+71ba 7005e541 jam 65 ,mem_aes_cmac_data_length 
+71bb 6800c664 fetch 1 ,mem_passkey_1bit 
+71bc 600085e6 store 1 ,memdat 
+71bd d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+71be 20407ebd call memcpy32 
+71bf d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+71c0 20407ebd call memcpy32 
+71c1 2040720a call inverse_memdat 
+71c2 d8c0042f arg mem_le_mrand ,contr 
+71c3 20407205 call store_inverse_k 
+71c4 202071d0 branch function_aes_cmac 
+
+function_f4_cb:
+71c5 7005e541 jam 65 ,mem_aes_cmac_data_length 
+71c6 6800c664 fetch 1 ,mem_passkey_1bit 
+71c7 600085e6 store 1 ,memdat 
+71c8 d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+71c9 20407ebd call memcpy32 
+71ca d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+71cb 20407ebd call memcpy32 
+71cc 2040720a call inverse_memdat 
+71cd d8c0443a arg mem_le_srand ,contr 
+71ce 20407205 call store_inverse_k 
+71cf 202071d0 branch function_aes_cmac 
+
+function_aes_cmac:
+71d0 476ec03b bpatchx patch3b_5 ,mem_patch3b 
+71d1 2040721f call function_aes_cmac_generate_subkey 
+71d2 680085e5 fetch 1 ,mem_aes_cmac_data_length 
+71d3 1fe20400 copy pdata ,temp 
+
+function_ceil16:
+71d4 1fe0fe0f increase 15 ,pdata 
+71d5 1ff1fe00 rshift4 pdata ,pdata 
+71d6 1fe22400 copy pdata ,regb 
+71d7 203a71e2 branch function_aes_cmac_set_flag_0_balnk ,blank 
+71d8 18417e0f and temp ,0x0f ,pdata 
+71d9 243a71e5 nbranch function_aes_cmac_set_flag_0 ,blank 
+71da da600ad2 arg mem_aes_cmac_k1 ,regc 
+71db dfe005e6 arg memdat ,pdata 
+71dc 1fe0fff0 increase -16 ,pdata 
+71dd 9840a200 iadd temp ,rega 
+71de d8a00b02 arg mem_aes_cmac_m_last ,contw 
+71df df200004 arg 4 ,loopcnt 
+71e0 20407edd call xor_loop 
+71e1 202071f0 branch function_aes_cmac_aes 
+
+function_aes_cmac_set_flag_0_balnk:
+71e2 da400001 arg 1 ,regb 
+71e3 da200000 arg 0 ,rega 
+71e4 202071e6 branch function_aes_cmac_set_flag_0_common 
+
+function_aes_cmac_set_flag_0:
+71e5 1841220f and temp ,0x0f ,rega 
+
+function_aes_cmac_set_flag_0_common:
+71e6 dfe005e6 arg memdat ,pdata 
+71e7 9840fe00 iadd temp ,pdata 
+71e8 9a260c00 isub rega ,contr 
+71e9 d8a00af2 arg mem_aes_cmac_temp ,contw 
+71ea 20407245 call function_aes_cmac_padding 
+71eb da600ae2 arg mem_aes_cmac_k2 ,regc 
+71ec da200af2 arg mem_aes_cmac_temp ,rega 
+71ed d8a00b02 arg mem_aes_cmac_m_last ,contw 
+71ee df200004 arg 4 ,loopcnt 
+71ef 20407edd call xor_loop 
+
+function_aes_cmac_aes:
+71f0 20407491 call aes_clear_data 
+71f1 20407428 call aes_init 
+71f2 d8c005e6 arg memdat ,contr 
+
+function_aes_cmac_aes_loop:
+71f3 1a40a5ff increase -1 ,regb 
+71f4 1a427e00 deposit regb 
+71f5 203a71f9 branch function_aes_cmac_aes_loop_end ,blank 
+71f6 20407486 call load_data128 
+71f7 20407422 call do_aes_cbc 
+71f8 202071f3 branch function_aes_cmac_aes_loop 
+
+function_aes_cmac_aes_loop_end:
+71f9 d8a00af2 arg mem_aes_cmac_temp ,contw 
+71fa 20407497 call store_aes_result 
+71fb d8c00b02 arg mem_aes_cmac_m_last ,contr 
+71fc 20407486 call load_data128 
+71fd 20407428 call aes_init 
+71fe d8c00af2 arg mem_aes_cmac_temp ,contr 
+71ff 20407486 call load_data128 
+7200 20207422 branch do_aes_cbc 
+
+load_inverse_result:
+7201 18a22200 copy contw ,rega 
+7202 20407497 call store_aes_result 
+7203 df200010 arg 16 ,loopcnt 
+7204 20207ee5 branch inverse_data 
+
+store_inverse_k:
+7205 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7206 20407ebf call memcpy16 
+
+inverse_k:
+7207 df200010 arg 16 ,loopcnt 
+7208 da200ac2 arg mem_aes_cmac_k ,rega 
+7209 20207ee5 branch inverse_data 
+
+inverse_memdat:
+720a 680085e5 fetch 1 ,mem_aes_cmac_data_length 
+720b 1fe27200 copy pdata ,loopcnt 
+720c da2005e6 arg memdat ,rega 
+720d 20207ee5 branch inverse_data 
+
+bn_lshift_0_inverse:
+720e ea208000 ifetch 1 ,rega 
+720f 1fe3fe00 lshift pdata ,pdata 
+7210 2a6ffe00 isolate1 0 ,regc 
+7211 7920fe00 setflag true ,0 ,pdata 
+7212 2feffe08 isolate1 8 ,pdata 
+7213 7920a600 setflag true ,0 ,regc 
+7214 e2208000 istore 1 ,rega 
+7215 1a20a3ff increase -1 ,rega 
+7216 c200720e loop bn_lshift_0_inverse 
+7217 20600000 rtn 
+
+function_aes_cmac_k1_inverse:
+7218 da200ad2 arg mem_aes_cmac_k1 ,rega 
+
+function_aes_cmac_inverse_common:
+7219 1a20a20f increase 15 ,rega 
+721a 18007210 force 16 ,loopcnt 
+721b 18002600 force 0 ,regc 
+721c 2020720e branch bn_lshift_0_inverse 
+
+function_aes_cmac_k2_inverse:
+721d da200ae2 arg mem_aes_cmac_k2 ,rega 
+721e 20207219 branch function_aes_cmac_inverse_common 
+
+function_aes_cmac_generate_subkey:
+721f d8c00ac2 arg mem_aes_cmac_k ,contr 
+7220 20407484 call load_key 
+7221 18007008 force regidx_xor ,regext_index 
+7222 20407492 call aes_clear 
+7223 20407491 call aes_clear_data 
+7224 2040741f call do_aes_ocb 
+7225 d8a00ad2 arg mem_aes_cmac_k1 ,contw 
+7226 20407497 call store_aes_result 
+
+function_aes_cmac_k1:
+7227 476f403b bpatchx patch3b_6 ,mem_patch3b 
+7228 68008ad2 fetch 1 ,mem_aes_cmac_k1 
+7229 2feffe07 isolate1 7 ,pdata 
+722a 2420f230 nbranch function_aes_cmac_k1_0 ,true 
+722b 20407218 call function_aes_cmac_k1_inverse 
+722c da600ad2 arg mem_aes_cmac_k1 ,regc 
+722d d8a00ad2 arg mem_aes_cmac_k1 ,contw 
+722e 2040723a call function_aes_cmac_xor_rb 
+722f 20207231 branch function_aes_cmac_k2 
+
+function_aes_cmac_k1_0:
+7230 20407218 call function_aes_cmac_k1_inverse 
+
+function_aes_cmac_k2:
+7231 d8c00ad2 arg mem_aes_cmac_k1 ,contr 
+7232 d8a00ae2 arg mem_aes_cmac_k2 ,contw 
+7233 20407ebf call memcpy16 
+7234 68008ae2 fetch 1 ,mem_aes_cmac_k2 
+7235 2feffe07 isolate1 7 ,pdata 
+7236 2420f21d nbranch function_aes_cmac_k2_inverse ,true 
+7237 2040721d call function_aes_cmac_k2_inverse 
+7238 da600ae2 arg mem_aes_cmac_k2 ,regc 
+7239 d8a00ae2 arg mem_aes_cmac_k2 ,contw 
+
+function_aes_cmac_xor_rb:
+723a df200003 arg 3 ,loopcnt 
+
+function_aes_cmac_xor_rb_loop:
+723b d8400000 arg 0 ,temp 
+723c 20407241 call function_aes_cmac_xor_loop_common 
+723d 1a60a604 increase 4 ,regc 
+723e c200723b loop function_aes_cmac_xor_rb_loop 
+723f d8408700 arg 0x8700 ,temp 
+7240 18500400 lshift16 temp ,temp 
+
+function_aes_cmac_xor_loop_common:
+7241 ea620000 ifetch 4 ,regc 
+7242 9842fe00 ixor temp ,pdata 
+7243 e0a20000 istore 4 ,contw 
+7244 20600000 rtn 
+
+function_aes_cmac_padding:
+7245 476fc03b bpatchx patch3b_7 ,mem_patch3b 
+7246 df200010 arg 16 ,loopcnt 
+7247 dfe00000 arg 0 ,pdata 
+
+function_aes_cmac_padding_loop:
+7248 9a267c00 isub rega ,null 
+7249 2022f250 branch function_aes_cmac_padding_beq_length ,zero 
+724a 20217253 branch function_aes_cmac_padding_big_length ,positive 
+724b e8c88000 ifetcht 1 ,contr 
+724c e0a88000 istoret 1 ,contw 
+
+function_aes_cmac_padding_loop2:
+724d 1fe0fe01 increase 1 ,pdata 
+724e c2007248 loop function_aes_cmac_padding_loop 
+724f 20600000 rtn 
+
+function_aes_cmac_padding_beq_length:
+7250 d8400080 arg 0x80 ,temp 
+
+function_aes_cmac_padding_common:
+7251 e0a88000 istoret 1 ,contw 
+7252 2020724d branch function_aes_cmac_padding_loop2 
+
+function_aes_cmac_padding_big_length:
+7253 d8400000 arg 0 ,temp 
+7254 20207251 branch function_aes_cmac_padding_common 
+
+generate_kinit:
+7255 20407268 call function_e22 
+7256 d8c00592 arg mem_input_store ,contr 
+7257 d8a00582 arg mem_kinit ,contw 
+7258 20207ebf branch memcpy16 
+
+function_e21:
+7259 78547c00 disable user 
+725a 2040735f call function_expand 
+725b d8c00562 arg mem_random_number ,contr 
+725c d8a005a2 arg mem_x ,contw 
+725d 1800720f force 15 ,loopcnt 
+725e 20407f01 call memcpy 
+725f e8c08000 ifetch 1 ,contr 
+7260 1fe2fe06 xor_into 6 ,pdata 
+7261 e0a08000 istore 1 ,contw 
+7262 580005b2 setarg mem_y 
+7263 600105d6 store 2 ,memp_ar_input 
+7264 580005a2 setarg mem_x 
+7265 600105d4 store 2 ,memp_ar_key 
+7266 79200012 set1 mark_ar2 ,mark 
+7267 202072a8 branch function_ar 
+
+function_e22:
+7268 6808c689 fetcht 1 ,mem_pin_length 
+7269 18002410 force 16 ,regb 
+726a 1840a606 add temp ,6 ,regc 
+726b 1a667c10 sub regc ,16 ,null 
+726c 2021726e branch function_e22_pin_init ,positive 
+726d 18002610 force 16 ,regc 
+
+function_e22_pin_init:
+726e d8a005a2 arg mem_x ,contw 
+
+function_e22_genx_pin:
+726f d8c0468a arg mem_pin ,contr 
+7270 18427200 copy temp ,loopcnt 
+7271 78547c00 disable user 
+
+function_e22_genx_loop:
+7272 e8c08000 ifetch 1 ,contr 
+7273 e0a08000 istore 1 ,contw 
+7274 1a40a5ff increase -1 ,regb 
+7275 2022f27c branch function_e22_genx_end ,zero 
+7276 c2007272 loop function_e22_genx_loop 
+7277 2034726f branch function_e22_genx_pin ,user 
+7278 78347c00 enable user 
+7279 18007206 force 6 ,loopcnt 
+727a 1a220c00 copy rega ,contr 
+727b 20207272 branch function_e22_genx_loop 
+
+function_e22_genx_end:
+727c d8c00562 arg mem_random_number ,contr 
+727d d8a005b2 arg mem_y ,contw 
+727e 20407ebf call memcpy16 
+727f 680085c1 fetch 1 ,mem_y15 
+7280 9a62fe00 ixor regc ,pdata 
+7281 600085c1 store 1 ,mem_y15 
+7282 580005b2 setarg mem_y 
+7283 600105d6 store 2 ,memp_ar_input 
+7284 580005a2 setarg mem_x 
+7285 600105d4 store 2 ,memp_ar_key 
+7286 79200012 set1 mark_ar2 ,mark 
+7287 202072a8 branch function_ar 
+
+function_e1:
+7288 78547c00 disable user 
+7289 2040735f call function_expand 
+728a 20207292 branch function_hash 
+
+function_e3:
+728b da200056 arg mem_aco ,rega 
+728c 78347c00 enable user 
+728d 2040735f call function_expand 
+728e 20407292 call function_hash 
+728f d8c00592 arg mem_input_store ,contr 
+7290 d8a00062 arg mem_kc ,contw 
+7291 20207ebf branch memcpy16 
+
+function_hash:
+7292 58000562 setarg mem_random_number 
+7293 600105d6 store 2 ,memp_ar_input 
+7294 580041be setarg mem_link_key 
+7295 600105d4 store 2 ,memp_ar_key 
+7296 793f8012 set0 mark_ar2 ,mark 
+7297 204072a8 call function_ar 
+7298 da200592 arg mem_input_store ,rega 
+7299 da400562 arg mem_random_number ,regb 
+729a d8a005a2 arg mem_x ,contw 
+729b 20407352 call xor16 
+729c da2005a2 arg mem_x ,rega 
+729d da4005b2 arg mem_y ,regb 
+729e 1a420a00 copy regb ,contw 
+729f 78347c00 enable user 
+72a0 20407350 call add16 
+72a1 2040736a call key_offset 
+72a2 580005b2 setarg mem_y 
+72a3 600105d6 store 2 ,memp_ar_input 
+72a4 580005a2 setarg mem_x 
+72a5 600105d4 store 2 ,memp_ar_key 
+72a6 79200012 set1 mark_ar2 ,mark 
+72a7 202072a8 branch function_ar 
+
+function_ar:
+72a8 7005d800 jam 0 ,mem_ar_hround 
+72a9 680105d4 fetch 2 ,memp_ar_key 
+72aa 98000c00 iforce contr 
+72ab d8a005c2 arg mem_key_store ,contw 
+72ac 20407ebf call memcpy16 
+72ad 680105d6 fetch 2 ,memp_ar_input 
+72ae 98000c00 iforce contr 
+72af d8a00592 arg mem_input_store ,contw 
+72b0 20407ebf call memcpy16 
+
+function_ar_loop:
+72b1 204072cf call key_scheduling 
+72b2 78547c00 disable user 
+72b3 c58972b9 bmark0 mark_ar2 ,function_ar_original 
+72b4 680085d8 fetch 1 ,mem_ar_hround 
+72b5 c08272b9 bne 4 ,function_ar_original 
+72b6 680105d6 fetch 2 ,memp_ar_input 
+72b7 98002400 iforce regb 
+72b8 20407301 call xor_mod32_ar2 
+
+function_ar_original:
+72b9 20407300 call xor_mod32 
+72ba 20407313 call el_boxes 
+72bb 680085d8 fetch 1 ,mem_ar_hround 
+72bc 1fe0fe01 increase 1 ,pdata 
+72bd 600085d8 store 1 ,mem_ar_hround 
+72be 204072cf call key_scheduling 
+72bf 78347c00 enable user 
+72c0 20407300 call xor_mod32 
+72c1 20407322 call pht 
+72c2 20407331 call permute 
+72c3 20407322 call pht 
+72c4 20407331 call permute 
+72c5 20407322 call pht 
+72c6 20407331 call permute 
+72c7 20407322 call pht 
+72c8 680085d8 fetch 1 ,mem_ar_hround 
+72c9 1fe0fe01 increase 1 ,pdata 
+72ca 600085d8 store 1 ,mem_ar_hround 
+72cb c08872b1 bne 16 ,function_ar_loop 
+72cc 204072cf call key_scheduling 
+72cd 78547c00 disable user 
+72ce 20207300 branch xor_mod32 
+
+key_scheduling:
+72cf 680085d8 fetch 1 ,mem_ar_hround 
+72d0 d8c005c2 arg mem_key_store ,contr 
+72d1 203a72f6 branch key_sched_zero ,blank 
+72d2 98002400 iforce regb 
+72d3 18007211 force 17 ,loopcnt 
+72d4 18c20a00 copy contr ,contw 
+
+key_rotateloop:
+72d5 e8c08000 ifetch 1 ,contr 
+72d6 1fe98400 lshift3 pdata ,temp 
+72d7 1feb7e00 rshift2 pdata ,pdata 
+72d8 1fe97e00 rshift3 pdata ,pdata 
+72d9 9841fe00 ior temp ,pdata 
+72da e0a08000 istore 1 ,contw 
+72db c20072d5 loop key_rotateloop 
+72dc 580005c2 setarg mem_key_store 
+72dd 9a408c00 iadd regb ,contr 
+72de 18007210 force 16 ,loopcnt 
+72df d8a00572 arg mem_round_key ,contw 
+
+key_select_octet_loop:
+72e0 e8c08000 ifetch 1 ,contr 
+72e1 e0a08000 istore 1 ,contw 
+72e2 28c1ffd3 compare mem_key_store_end ,contr ,0xff 
+72e3 2420f2e5 nbranch key_select_octet_nwrap ,true 
+72e4 18c08def increase -17 ,contr 
+
+key_select_octet_nwrap:
+72e5 c20072e0 loop key_select_octet_loop 
+72e6 18002200 force 0 ,rega 
+72e7 1a40a7ff add regb ,-1 ,regc 
+72e8 1a6ba600 lshift2 regc ,regc 
+72e9 1a6ba600 lshift2 regc ,regc 
+72ea 204074b9 call enable_authrom 
+72eb 58008400 setarg mem_b_box 
+72ec 9a60a600 iadd regc ,regc 
+72ed d8a00572 arg mem_round_key ,contw 
+72ee 18007210 force 16 ,loopcnt 
+
+bias_round_key_loop:
+72ef ea688000 ifetcht 1 ,regc 
+72f0 e8a08000 ifetch 1 ,contw 
+72f1 9840fe00 iadd temp ,pdata 
+72f2 e0a08000 istore 1 ,contw 
+72f3 1a60a601 increase 1 ,regc 
+72f4 c20072ef loop bias_round_key_loop 
+72f5 202074bd branch disable_authrom 
+
+key_sched_zero:
+72f6 18007210 force 16 ,loopcnt 
+72f7 18000400 force 0 ,temp 
+
+create_byte_16_loop:
+72f8 e8c08000 ifetch 1 ,contr 
+72f9 98428400 ixor temp ,temp 
+72fa c20072f8 loop create_byte_16_loop 
+72fb 18427e00 deposit temp 
+72fc e0c08000 istore 1 ,contr 
+72fd d8c005c2 arg mem_key_store ,contr 
+72fe d8a00572 arg mem_round_key ,contw 
+72ff 20207ebf branch memcpy16 
+
+xor_mod32:
+7300 da400572 arg mem_round_key ,regb 
+
+xor_mod32_ar2:
+7301 18007210 force 16 ,loopcnt 
+7302 da200592 arg mem_input_store ,rega 
+7303 1a220a00 copy rega ,contw 
+
+xor_mod32_loop:
+7304 ea288000 ifetcht 1 ,rega 
+7305 ea408000 ifetch 1 ,regb 
+7306 9842e000 ixor temp ,alarm 
+7307 1f212603 and loopcnt ,3 ,regc 
+7308 2434730a nbranch xor_mod32_invert ,user 
+7309 1a62a603 xor_into 3 ,regc 
+
+xor_mod32_invert:
+730a 1a662601 sub regc ,1 ,regc 
+730b 2021730d branch xor_even ,positive 
+730c 9840e000 iadd temp ,alarm 
+
+xor_even:
+730d 1e027e00 deposit alarm 
+730e e0a08000 istore 1 ,contw 
+730f 1a20a201 increase 1 ,rega 
+7310 1a40a401 increase 1 ,regb 
+7311 c2007304 loop xor_mod32_loop 
+7312 20600000 rtn 
+
+el_boxes:
+7313 204074b9 call enable_authrom 
+7314 18007210 force 16 ,loopcnt 
+7315 da200592 arg mem_input_store ,rega 
+
+el_box_loop:
+7316 ea208000 ifetch 1 ,rega 
+7317 d8c08500 arg mem_e_box ,contr 
+7318 1f212603 and loopcnt ,3 ,regc 
+7319 1a667c01 sub regc ,1 ,null 
+731a 2021731c branch e_boxes ,positive 
+731b d8c08600 arg mem_l_box ,contr 
+
+e_boxes:
+731c 98c08c00 iadd contr ,contr 
+731d e8c08000 ifetch 1 ,contr 
+731e e2208000 istore 1 ,rega 
+731f 1a20a201 increase 1 ,rega 
+7320 c2007316 loop el_box_loop 
+7321 202074bd branch disable_authrom 
+
+pht:
+7322 18007208 force 8 ,loopcnt 
+7323 d8c00592 arg mem_input_store ,contr 
+7324 18c20a00 copy contr ,contw 
+
+pht_loop:
+7325 e8c08000 ifetch 1 ,contr 
+7326 98002200 iforce rega 
+7327 e8c08000 ifetch 1 ,contr 
+7328 98002400 iforce regb 
+7329 1a23fe00 lshift rega ,pdata 
+732a 9a40fe00 iadd regb ,pdata 
+732b e0a08000 istore 1 ,contw 
+732c 1a227e00 deposit rega 
+732d 9a40fe00 iadd regb ,pdata 
+732e e0a08000 istore 1 ,contw 
+732f c2007325 loop pht_loop 
+7330 20600000 rtn 
+
+permute:
+7331 588ae42c setarg 0x8ae42c 
+7332 98000400 iforce temp 
+7333 18007207 force 7 ,loopcnt 
+7334 20407340 call permute_exchange 
+7335 580d751b setarg 0xd751b 
+7336 98000400 iforce temp 
+7337 18007205 force 5 ,loopcnt 
+7338 20407340 call permute_exchange 
+7339 680085a1 fetch 1 ,mem_input_store + 15 
+733a 98002200 iforce rega 
+733b 68008595 fetch 1 ,mem_input_store + 3 
+733c 600085a1 store 1 ,mem_input_store + 15 
+733d 1a227e00 deposit rega 
+733e 60008595 store 1 ,mem_input_store + 3 
+733f 20600000 rtn 
+
+permute_exchange:
+7340 1841240f and temp ,0xf ,regb 
+
+permute_loop:
+7341 18417e0f and temp ,0xf ,pdata 
+7342 d8a00592 arg mem_input_store ,contw 
+7343 98a08a00 iadd contw ,contw 
+7344 e8a08000 ifetch 1 ,contw 
+7345 98002600 iforce regc 
+7346 1a227e00 deposit rega 
+7347 e0a08000 istore 1 ,contw 
+7348 1a622200 copy regc ,rega 
+7349 18518400 rshift4 temp ,temp 
+734a c2007341 loop permute_loop 
+734b 58000592 setarg mem_input_store 
+734c 9a408a00 iadd regb ,contw 
+734d 1a227e00 deposit rega 
+734e e0a08000 istore 1 ,contw 
+734f 20600000 rtn 
+
+add16:
+7350 78347c00 enable user 
+7351 20207353 branch xor_add16 
+
+xor16:
+7352 78547c00 disable user 
+
+xor_add16:
+7353 18007210 force 16 ,loopcnt 
+
+xoradd_loop:
+7354 ea288000 ifetcht 1 ,rega 
+7355 ea408000 ifetch 1 ,regb 
+7356 20347359 branch xoradd_add ,user 
+7357 9842fe00 ixor temp ,pdata 
+7358 2020735a branch xoradd_store 
+
+xoradd_add:
+7359 9840fe00 iadd temp ,pdata 
+
+xoradd_store:
+735a e0a08000 istore 1 ,contw 
+735b 1a20a201 increase 1 ,rega 
+735c 1a40a401 increase 1 ,regb 
+735d c2007354 loop xoradd_loop 
+735e 20600000 rtn 
+
+function_expand:
+735f d8a005b2 arg mem_y ,contw 
+7360 ea230000 ifetch 6 ,rega 
+7361 e0a30000 istore 6 ,contw 
+7362 20347365 branch expand_12 ,user 
+7363 ea230000 ifetch 6 ,rega 
+7364 20207366 branch expand_cont 
+
+expand_12:
+7365 e8c30000 ifetch 6 ,contr 
+
+expand_cont:
+7366 e0a30000 istore 6 ,contw 
+7367 ea220000 ifetch 4 ,rega 
+7368 e0a20000 istore 4 ,contw 
+7369 20600000 rtn 
+
+key_offset:
+736a d8c041be arg mem_link_key ,contr 
+736b d8a005a2 arg mem_x ,contw 
+736c d8400000 arg 0 ,temp 
+736d 588395a7 setarg 0x8395a7 
+736e 2040738b call concatenate_temp24 
+736f 58b3c1df setarg 0xb3c1df 
+7370 2040738b call concatenate_temp24 
+7371 5800e5e9 setarg 0xe5e9 
+7372 2040738c call concatenate_temp16 
+7373 18422800 copy temp ,regab 
+7374 78547c00 disable user 
+7375 20407379 call key_addxor 
+7376 1a820400 copy regab ,temp 
+7377 78347c00 enable user 
+7378 20207379 branch key_addxor 
+
+key_addxor:
+7379 18007208 force 8 ,loopcnt 
+
+key_addxor_loop:
+737a e8c08000 ifetch 1 ,contr 
+737b 2f200201 compare 1 ,loopcnt ,1 
+737c 20347380 branch key_high ,user 
+737d 2020f381 branch key_xor ,true 
+
+key_add:
+737e 9840fe00 iadd temp ,pdata 
+737f 20207382 branch key_store 
+
+key_high:
+7380 2020f37e branch key_add ,true 
+
+key_xor:
+7381 9842fe00 ixor temp ,pdata 
+
+key_store:
+7382 e0a08000 istore 1 ,contw 
+7383 184c8400 rshift8 temp ,temp 
+7384 c200737a loop key_addxor_loop 
+7385 20600000 rtn 
+
+copy_aco:
+7386 68030596 fetch 6 ,mem_input_store + 4 
+7387 60030056 store 6 ,mem_aco 
+7388 e8c30000 ifetch 6 ,contr 
+7389 e0a30000 istore 6 ,contw 
+738a 20600000 rtn 
+
+concatenate_temp24:
+738b 184d0400 lshift8 temp ,temp 
+
+concatenate_temp16:
+738c 18500400 lshift16 temp ,temp 
+738d 98418400 ior temp ,temp 
+738e 20600000 rtn 
+
+loop1:
+738f 2020738f branch loop1 
+
+generate_stk:
+7390 4770403c bpatchx patch3c_0 ,mem_patch3c 
+7391 2040742b call function_s1 
+7392 d8a04419 arg mem_le_ltk ,contw 
+7393 20207497 branch store_aes_result 
+
+authenticate_rconfirm:
+7394 d8a0443a arg mem_le_srand ,contw 
+7395 2034f397 branch authenticate_mconfirm ,master 
+7396 d8a0042f arg mem_le_mrand ,contw 
+
+authenticate_mconfirm:
+7397 18c22200 copy contr ,rega 
+7398 20407ebf call memcpy16 
+7399 20407440 call function_c1 
+739a d8c0442a arg mem_le_rconfirm ,contr 
+739b 202074b0 branch compare_res 
+
+generate_confirm:
+739c da20042f arg mem_le_mrand ,rega 
+739d 2034f39f branch generate_mrand ,master 
+739e da20443a arg mem_le_srand ,rega 
+
+generate_mrand:
+739f 1a220a00 copy rega ,contw 
+73a0 2040630c call generate_random 
+73a1 20207440 branch function_c1 
+
+generate_sk:
+73a2 d8c044aa arg mem_le_skdm ,contr 
+73a3 20407486 call load_data128 
+73a4 d8c04419 arg mem_le_ltk ,contr 
+73a5 20407487 call load_regext 
+73a6 18006c38 force 0x38 ,aes_ctrl 
+73a7 18006c00 force 0x0 ,aes_ctrl 
+73a8 2040741d call wait_aes 
+73a9 d8a0047c arg mem_le_sk ,contw 
+73aa 20207497 branch store_aes_result 
+
+first_block_counter:
+73ab 18007e49 force 0x49 ,pdata 
+73ac 202073ae branch first_block 
+
+first_block_data:
+73ad 18007e01 force 1 ,pdata 
+
+first_block:
+73ae 18007000 force regidx_data ,regext_index 
+73af 184d5e00 lshift8 temp ,regext 
+73b0 9de1de00 ior regext ,regext 
+73b1 1f00f001 increase 1 ,regext_index 
+73b2 184cde00 rshift8 temp ,regext 
+73b3 1df15e00 rshift16 regext ,regext 
+73b4 68014411 fetch 2 ,mem_le_ivm 
+73b5 1ff07e00 lshift16 ,pdata ,pdata 
+73b6 9de1de00 ior regext ,regext 
+73b7 1f00f001 increase 1 ,regext_index 
+73b8 e8c20000 ifetch 4 ,contr 
+73b9 98005e00 iforce regext 
+73ba 1f00f001 increase 1 ,regext_index 
+73bb e8c10000 ifetch 2 ,contr 
+73bc 1a30de00 byteswap rega ,regext 
+73bd 1df05e00 lshift16 regext ,regext 
+73be 9de1de00 ior regext ,regext 
+73bf 1f00f001 increase 1 ,regext_index 
+73c0 20600000 rtn 
+
+generate_mic:
+73c1 1a608c01 add regc ,1 ,contr 
+73c2 e8c08000 ifetch 1 ,contr 
+73c3 98002200 iforce rega 
+73c4 204073ab call first_block_counter 
+73c5 2040741f call do_aes_ocb 
+73c6 18007000 force regidx_data ,regext_index 
+73c7 ea608000 ifetch 1 ,regc 
+73c8 1fe17e03 and_into 0x3 ,pdata 
+73c9 1ff05e00 lshift16 pdata ,regext 
+73ca 79205e08 set1 8 ,regext 
+73cb 2040748f call clear_hidata 
+73cc 20407422 call do_aes_cbc 
+73cd 1a227200 copy rega ,loopcnt 
+73ce 1a608c02 add regc ,2 ,contr 
+73cf 2040746e call padding_data 
+
+generate_mic_loop:
+73d0 20407478 call aes_load_data 
+73d1 20407422 call do_aes_cbc 
+73d2 1f227e00 deposit loopcnt 
+73d3 203a73d5 branch generate_mic_end ,blank 
+73d4 202073d0 branch generate_mic_loop 
+
+generate_mic_end:
+73d5 1800700c force regidx_result ,regext_index 
+73d6 1de27e00 deposit regext 
+73d7 60020417 store 4 ,mem_le_mic 
+73d8 20600000 rtn 
+
+aes_crypt_data:
+73d9 1a20a201 increase 1 ,rega 
+73da 204073ad call first_block_data 
+73db 1a620c00 copy regc ,contr 
+73dc 20407482 call aes_load_xor 
+73dd 20407425 call do_aes_ctr 
+73de 2040749e call store_enc_data 
+73df 1a60a610 increase 16 ,regc 
+73e0 1a40a5f0 increase -16 ,regb 
+73e1 202173d9 branch aes_crypt_data ,positive 
+73e2 20600000 rtn 
+
+le_encrypt:
+73e3 4770c03c bpatchx patch3c_1 ,mem_patch3c 
+73e4 da6043dc arg mem_le_txheader ,regc 
+73e5 680ac403 fetcht 5 ,mem_le_pcnt_tx 
+73e6 204073c1 call generate_mic 
+73e7 18007008 force regidx_xor ,regext_index 
+73e8 98005e00 iforce regext 
+73e9 18002200 force 0 ,rega 
+73ea 204073ad call first_block_data 
+73eb 20407425 call do_aes_ctr 
+73ec da6043de arg mem_le_txpayload ,regc 
+73ed 6800c3dd fetch 1 ,mem_le_txlen 
+73ee 1fe0a5ff add pdata ,-1 ,regb 
+73ef 9a608a00 iadd regc ,contw 
+73f0 1800700c force regidx_result ,regext_index 
+73f1 1de27e00 deposit regext 
+73f2 e0a20000 istore 4 ,contw 
+73f3 204073d9 call aes_crypt_data 
+73f4 6800c3dd fetch 1 ,mem_le_txlen 
+73f5 1fe0fe04 increase 4 ,pdata 
+73f6 6000c3dd store 1 ,mem_le_txlen 
+73f7 680ac403 fetcht 5 ,mem_le_pcnt_tx 
+73f8 18408401 increase 1 ,temp 
+73f9 600ac403 storet 5 ,mem_le_pcnt_tx 
+73fa 20600000 rtn 
+
+le_decrypt:
+73fb 4771403c bpatchx patch3c_2 ,mem_patch3c 
+73fc 680082da fetch 1 ,mem_le_rxbuf + 1 
+73fd 1fe67c14 sub pdata ,20 ,null 
+73fe 202173ff branch le_dec_cont ,positive 
+
+le_dec_cont:
+73ff da6002db arg mem_le_rxbuf + 2 ,regc 
+7400 1fe0a5ff add pdata ,-1 ,regb 
+7401 1fe0fffc increase -4 ,pdata 
+7402 600082da store 1 ,mem_le_rxbuf + 1 
+7403 9a608c00 iadd regc ,contr 
+7404 e8c20000 ifetch 4 ,contr 
+7405 18007008 force regidx_xor ,regext_index 
+7406 98005e00 iforce regext 
+7407 18002200 force 0 ,rega 
+7408 680ac408 fetcht 5 ,mem_le_pcnt_rx 
+7409 204073ad call first_block_data 
+740a 20407425 call do_aes_ctr 
+740b 1800700c force regidx_result ,regext_index 
+740c 1de27e00 deposit regext 
+740d 6002041b store 4 ,mem_le_peer_mic 
+740e 204073d9 call aes_crypt_data 
+740f da6002d9 arg mem_le_rxbuf ,regc 
+7410 204073c1 call generate_mic 
+7411 680a041b fetcht 4 ,mem_le_peer_mic 
+7412 98467e00 isub temp ,pdata 
+7413 247a0000 nrtn blank 
+7414 6802440d fetch 4 ,mem_le_last_mic 
+7415 98467e00 isub temp ,pdata 
+7416 207a0000 rtn blank 
+7417 600a440d storet 4 ,mem_le_last_mic 
+7418 6802c408 fetch 5 ,mem_le_pcnt_rx 
+7419 1fe0fe01 increase 1 ,pdata 
+741a 6002c408 store 5 ,mem_le_pcnt_rx 
+741b 18007e00 force 0 ,pdata 
+741c 20600000 rtn 
+
+wait_aes:
+741d 243bf41d nbranch wait_aes ,aes_ready 
+741e 20600000 rtn 
+
+do_aes_ocb:
+741f 18006c30 force 0x30 ,aes_ctrl 
+7420 18006c00 force 0x0 ,aes_ctrl 
+7421 2020741d branch wait_aes 
+
+do_aes_cbc:
+7422 18006c32 force 0x32 ,aes_ctrl 
+7423 18006c02 force 0x2 ,aes_ctrl 
+7424 2020741d branch wait_aes 
+
+do_aes_ctr:
+7425 18006c34 force 0x34 ,aes_ctrl 
+7426 18006c04 force 0x4 ,aes_ctrl 
+7427 2020741d branch wait_aes 
+
+aes_init:
+7428 18006c01 force 1 ,aes_ctrl 
+7429 18006c00 force 0 ,aes_ctrl 
+742a 20600000 rtn 
+
+function_s1:
+742b 18007000 force regidx_data ,regext_index 
+742c 6802042f fetch 4 ,mem_le_mrand 
+742d 98005e00 iforce regext 
+742e 1f00f001 increase 1 ,regext_index 
+742f e8c20000 ifetch 4 ,contr 
+7430 98005e00 iforce regext 
+7431 1f00f001 increase 1 ,regext_index 
+7432 6802443a fetch 4 ,mem_le_srand 
+7433 98005e00 iforce regext 
+7434 1f00f001 increase 1 ,regext_index 
+7435 e8c20000 ifetch 4 ,contr 
+7436 98005e00 iforce regext 
+7437 1f00f001 increase 1 ,regext_index 
+7438 20407492 call aes_clear 
+7439 1f00f1fc increase -4 ,regext_index 
+743a 680244c7 fetch 4 ,mem_le_tk 
+743b 1fe25e00 copy pdata ,regext 
+743c 1f00f004 increase 4 ,regext_index 
+743d 18006c38 force 0x38 ,aes_ctrl 
+743e 18006c08 force 0x8 ,aes_ctrl 
+743f 2020741d branch wait_aes 
+
+function_c1:
+7440 4771c03c bpatchx patch3c_3 ,mem_patch3c 
+7441 680344a0 fetch 6 ,mem_le_lap 
+7442 680b044f fetcht 6 ,mem_le_plap 
+7443 2034f446 branch function_c1_master ,master 
+7444 6803044f fetch 6 ,mem_le_plap 
+7445 680b44a0 fetcht 6 ,mem_le_lap 
+
+function_c1_master:
+7446 18007008 force regidx_xor ,regext_index 
+7447 18425e00 copy temp ,regext 
+7448 1f00f001 increase 1 ,regext_index 
+7449 184f5e00 rshift32 temp ,regext 
+744a 1ff07e00 lshift16 pdata ,pdata 
+744b 9de1de00 ior regext ,regext 
+744c 1f00f001 increase 1 ,regext_index 
+744d 1fef5e00 rshift32 pdata ,regext 
+744e 1f00f001 increase 1 ,regext_index 
+744f 18005e00 force 0 ,regext 
+7450 18007e00 force 0 ,pdata 
+7451 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+7452 6808c485 fetcht 1 ,mem_le_adv_own_addr_type 
+7453 2434f456 nbranch function_c1_irat ,master 
+7454 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+7455 6808c48e fetcht 1 ,mem_le_conn_peer_addr_type 
+
+function_c1_irat:
+7456 6000c44a store 1 ,mem_le_iat 
+7457 6008c44b storet 1 ,mem_le_rat 
+7458 18007000 force regidx_data ,regext_index 
+7459 da40444a arg mem_le_iat ,regb 
+745a 18007204 force 4 ,loopcnt 
+
+function_c1_loop1:
+745b ea220000 ifetch 4 ,rega 
+745c ea4a0000 ifetcht 4 ,regb 
+745d 9842de00 ixor temp ,regext 
+745e 1f00f001 increase 1 ,regext_index 
+745f 1a20a204 increase 4 ,rega 
+7460 1a40a404 increase 4 ,regb 
+7461 c200745b loop function_c1_loop1 
+7462 20407492 call aes_clear 
+7463 1f00f1fc increase -4 ,regext_index 
+7464 680244c7 fetch 4 ,mem_le_tk 
+7465 1fe25e00 copy pdata ,regext 
+7466 1f00f004 increase 4 ,regext_index 
+7467 18006c38 force 0x38 ,aes_ctrl 
+7468 18006c0c force 0xc ,aes_ctrl 
+7469 2040741d call wait_aes 
+746a 20407491 call aes_clear_data 
+746b 18006c3a force 0x3a ,aes_ctrl 
+746c 18006c08 force 0x8 ,aes_ctrl 
+746d 2020741d branch wait_aes 
+
+padding_data:
+746e 2f200600 compare 0 ,loopcnt ,3 
+746f 20608000 rtn true 
+7470 18c27e00 deposit contr 
+7471 9f208a00 iadd loopcnt ,contw 
+7472 18007e00 force 0 ,pdata 
+
+padding_loop:
+7473 e0a08000 istore 1 ,contw 
+7474 1f20f201 increase 1 ,loopcnt 
+7475 2f200600 compare 0 ,loopcnt ,3 
+7476 20608000 rtn true 
+7477 20207473 branch padding_loop 
+
+aes_load_data:
+7478 18007000 force regidx_data ,regext_index 
+
+load_data_loop:
+7479 1f227e00 deposit loopcnt 
+747a 203a747d branch load_data_padding ,blank 
+747b e8c20000 ifetch 4 ,contr 
+747c 1f20f3fc increase -4 ,loopcnt 
+
+load_data_padding:
+747d 98005e00 iforce regext 
+747e 1f00f001 increase 1 ,regext_index 
+747f 2f001e04 compare regidx_key ,regext_index ,0xf 
+7480 20608000 rtn true 
+7481 20207479 branch load_data_loop 
+
+aes_load_xor:
+7482 18007008 force regidx_xor ,regext_index 
+7483 20207487 branch load_regext 
+
+load_key:
+7484 18007004 force regidx_key ,regext_index 
+7485 20207487 branch load_regext 
+
+load_data128:
+7486 18007000 force regidx_data ,regext_index 
+
+load_regext:
+7487 18007204 force 4 ,loopcnt 
+
+load_regext_loop:
+7488 e8c20000 ifetch 4 ,contr 
+7489 98005e00 iforce regext 
+748a 1f00f001 increase 1 ,regext_index 
+748b c2007488 loop load_regext_loop 
+748c 20600000 rtn 
+
+load_sk:
+748d d8c0047c arg mem_le_sk ,contr 
+748e 20207484 branch load_key 
+
+clear_hidata:
+748f 18007204 force 4 ,loopcnt 
+7490 20207494 branch clear_data_rest 
+
+aes_clear_data:
+7491 18007000 force regidx_data ,regext_index 
+
+aes_clear:
+7492 18007204 force 4 ,loopcnt 
+
+clear_loop:
+7493 18005e00 force 0 ,regext 
+
+clear_data_rest:
+7494 1f00f001 increase 1 ,regext_index 
+7495 c2007493 loop clear_loop 
+7496 20600000 rtn 
+
+store_aes_result:
+7497 1800700c force regidx_result ,regext_index 
+7498 18007204 force 4 ,loopcnt 
+
+send_aes_result_loop:
+7499 1de27e00 deposit regext 
+749a e0a20000 istore 4 ,contw 
+749b 1f00f001 increase 1 ,regext_index 
+749c c2007499 loop send_aes_result_loop 
+749d 20600000 rtn 
+
+store_enc_data:
+749e 1800700c force regidx_result ,regext_index 
+749f 1a620a00 copy regc ,contw 
+74a0 1a40f201 add regb ,1 ,loopcnt 
+74a1 1f267c0f sub loopcnt ,15 ,null 
+74a2 202174a4 branch store_enc_loop ,positive 
+74a3 18007210 force 16 ,loopcnt 
+
+store_enc_loop:
+74a4 1de27e00 deposit regext 
+74a5 1f267c03 sub loopcnt ,3 ,null 
+74a6 202174ac branch store_enc_byte ,positive 
+74a7 e0a20000 istore 4 ,contw 
+74a8 1f20f3fc increase -4 ,loopcnt 
+74a9 20628000 rtn zero 
+74aa 1f00f001 increase 1 ,regext_index 
+74ab 202074a4 branch store_enc_loop 
+
+store_enc_byte:
+74ac e0a08000 istore 1 ,contw 
+74ad 1fecfe00 rshift8 pdata ,pdata 
+74ae c20074ac loop store_enc_byte 
+74af 20600000 rtn 
+
+compare_res:
+74b0 1800700c force regidx_result ,regext_index 
+74b1 18007204 force 4 ,loopcnt 
+
+compare_res_loop:
+74b2 e8c20000 ifetch 4 ,contr 
+74b3 9de67c00 isub regext ,null 
+74b4 24628000 nrtn zero 
+74b5 1f00f001 increase 1 ,regext_index 
+74b6 c20074b2 loop compare_res_loop 
+74b7 18007c00 force 0 ,null 
+74b8 20600000 rtn 
+
+enable_authrom:
+74b9 68108050 hfetch 1 ,core_clkoff 
+74ba 793ffe00 set0 clock_off_auth_rom ,pdata 
+74bb 60108050 hstore 1 ,core_clkoff 
+74bc 20600000 rtn 
+
+disable_authrom:
+74bd 68108050 hfetch 1 ,core_clkoff 
+74be 79207e00 set1 clock_off_auth_rom ,pdata 
+74bf 60108050 hstore 1 ,core_clkoff 
+74c0 20600000 rtn 
+
+init_memp:
+74c1 d8a00886 arg mem_p ,contw 
+74c2 3803ffff setsect 0 ,0x3ffff 
+74c3 3807ffff setsect 1 ,0x3ffff 
+74c4 380bffff setsect 2 ,0x3ffff 
+74c5 380ffbff setsect 3 ,0x3fbff 
+74c6 e0a48000 istore 9 ,contw 
+74c7 3803ffff setsect 0 ,0x3ffff 
+74c8 3807ffff setsect 1 ,0x3ffff 
+74c9 380bffff setsect 2 ,0x3ffff 
+74ca 380fffff setsect 3 ,0x3ffff 
+74cb e0a48000 istore 9 ,contw 
+74cc 3803ffff setsect 0 ,0x3ffff 
+74cd 3807ffff setsect 1 ,0x3ffff 
+74ce 380bcfff setsect 2 ,0x3cfff 
+74cf 380fffff setsect 3 ,0x3ffff 
+74d0 e0a48000 istore 9 ,contw 
+74d1 3803ffff setsect 0 ,0x3ffff 
+74d2 3807ffff setsect 1 ,0x3ffff 
+74d3 380bffef setsect 2 ,0x3ffef 
+74d4 380fffff setsect 3 ,0x3ffff 
+74d5 e0a48000 istore 9 ,contw 
+74d6 3803ffff setsect 0 ,0x3ffff 
+74d7 3807ffff setsect 1 ,0x3ffff 
+74d8 380bffff setsect 2 ,0x3ffff 
+74d9 380fffff setsect 3 ,0x3ffff 
+74da e0a48000 istore 9 ,contw 
+74db 3803ffff setsect 0 ,0x3ffff 
+74dc 38066c7f setsect 1 ,0x26c7f 
+74dd 3808146b setsect 2 ,0x146b 
+74de 380f7bb3 setsect 3 ,0x37bb3 
+74df e0a48000 istore 9 ,contw 
+74e0 3801feb8 setsect 0 ,0x1feb8 
+74e1 38050c12 setsect 1 ,0x10c12 
+74e2 380ab722 setsect 2 ,0x2b722 
+74e3 380e9fa6 setsect 3 ,0x29fa6 
+74e4 e0a48000 istore 9 ,contw 
+74e5 3800e70f setsect 0 ,0xe70f 
+74e6 38056720 setsect 1 ,0x16720 
+74e7 3808519e setsect 2 ,0x519e 
+74e8 380d9084 setsect 3 ,0x19084 
+74e9 e0a48000 istore 9 ,contw 
+74ea 38031012 setsect 0 ,0x31012 
+74eb 380760bf setsect 1 ,0x360bf 
+74ec 380bf0af setsect 2 ,0x3f0af 
+74ed 380c03d3 setsect 3 ,0x3d3 
+74ee e0a48000 istore 9 ,contw 
+74ef 3803a188 setsect 0 ,0x3a188 
+74f0 38043ad0 setsect 1 ,0x3ad0 
+74f1 380bcbf2 setsect 2 ,0x3cbf2 
+74f2 380e43d9 setsect 3 ,0x243d9 
+74f3 e0a48000 istore 9 ,contw 
+74f4 3802b030 setsect 0 ,0x2b030 
+74f5 38076a03 setsect 1 ,0x36a03 
+74f6 38091188 setsect 2 ,0x11188 
+74f7 380de520 setsect 3 ,0x1e520 
+74f8 e0a48000 istore 9 ,contw 
+74f9 3803a11e setsect 0 ,0x3a11e 
+74fa 3804fe5d setsect 1 ,0xfe5d 
+74fb 3808dd57 setsect 2 ,0xdd57 
+74fc 380dac93 setsect 3 ,0x1ac93 
+74fd e0a48000 istore 9 ,contw 
+74fe 380011ed setsect 0 ,0x11ed 
+74ff 380618c4 setsect 1 ,0x218c4 
+7500 38088da7 setsect 2 ,0x8da7 
+7501 380e57ff setsect 3 ,0x257ff 
+7502 e0a48000 istore 9 ,contw 
+7503 3803192b setsect 0 ,0x3192b 
+7504 38074641 setsect 1 ,0x34641 
+7505 3809be0c setsect 2 ,0x1be0c 
+7506 380f66ad setsect 3 ,0x366ad 
+7507 e0a48000 istore 9 ,contw 
+7508 38001f83 setsect 0 ,0x1f83 
+7509 38055a23 setsect 1 ,0x15a23 
+750a 380bf9b0 setsect 2 ,0x3f9b0 
+750b 380c3949 setsect 3 ,0x3949 
+750c e0a48000 istore 9 ,contw 
+750d 38013a51 setsect 0 ,0x13a51 
+750e 380553fd setsect 1 ,0x153fd 
+750f 380b372a setsect 2 ,0x3372a 
+7510 380cf1bb setsect 3 ,0xf1bb 
+7511 e0a48000 istore 9 ,contw 
+7512 3803ae85 setsect 0 ,0x3ae85 
+7513 3805eed9 setsect 1 ,0x1eed9 
+7514 38089e66 setsect 2 ,0x9e66 
+7515 380c01a8 setsect 3 ,0x1a8 
+7516 e0a40000 istore 8 ,contw 
+7517 20600000 rtn 
+
+init_memp_256:
+7518 d8a0091e arg mem_p_256 ,contw 
+7519 3803ffff setsect 0 ,0x3ffff 
+751a 3807ffff setsect 1 ,0x3ffff 
+751b 380bffff setsect 2 ,0x3ffff 
+751c 380fffff setsect 3 ,0x3ffff 
+751d e0a48000 istore 9 ,contw 
+751e 3803ffff setsect 0 ,0x3ffff 
+751f 3804003f setsect 1 ,0x3f 
+7520 38080000 setsect 2 ,0x0 
+7521 380c0000 setsect 3 ,0x0 
+7522 e0a48000 istore 9 ,contw 
+7523 38000000 setsect 0 ,0x0 
+7524 38040000 setsect 1 ,0x0 
+7525 38081000 setsect 2 ,0x1000 
+7526 380c0000 setsect 3 ,0x0 
+7527 e0a48000 istore 9 ,contw 
+7528 3803ff00 setsect 0 ,0x3ff00 
+7529 3807ffff setsect 1 ,0x3ffff 
+752a 380bffcf setsect 2 ,0x3ffcf 
+752b 380fffff setsect 3 ,0x3ffff 
+752c e0a48000 istore 9 ,contw 
+752d 3803ffff setsect 0 ,0x3ffff 
+752e 3807ffff setsect 1 ,0x3ffff 
+752f 380bffff setsect 2 ,0x3ffff 
+7530 380c03ff setsect 3 ,0x3ff 
+7531 e0a48000 istore 9 ,contw 
+7532 38000000 setsect 0 ,0x0 
+7533 38040000 setsect 1 ,0x0 
+7534 38080000 setsect 2 ,0x0 
+7535 380c0000 setsect 3 ,0x0 
+7536 e0a48000 istore 9 ,contw 
+7537 38010000 setsect 0 ,0x10000 
+7538 38040000 setsect 1 ,0x0 
+7539 380bf000 setsect 2 ,0x3f000 
+753a 380fffff setsect 3 ,0x3ffff 
+753b e0a48000 istore 9 ,contw 
+753c 380296ff setsect 0 ,0x296ff 
+753d 38062630 setsect 1 ,0x22630 
+753e 380b945d setsect 2 ,0x3945d 
+753f 380fd284 setsect 3 ,0x3d284 
+7540 e0a48000 istore 9 ,contw 
+7541 380333a0 setsect 0 ,0x333a0 
+7542 38044b7a setsect 1 ,0x4b7a 
+7543 380837d8 setsect 2 ,0x37d8 
+7544 380fc9dc setsect 3 ,0x3c9dc 
+7545 e0a48000 istore 9 ,contw 
+7546 3803a440 setsect 0 ,0x3a440 
+7547 3805b958 setsect 1 ,0x1b958 
+7548 380b8bce setsect 2 ,0x38bce 
+7549 380d091f setsect 3 ,0x1091f 
+754a e0a48000 istore 9 ,contw 
+754b 3802e12c setsect 0 ,0x2e12c 
+754c 3805f47c setsect 1 ,0x1f47c 
+754d 380b56b1 setsect 2 ,0x356b1 
+754e 380efd47 setsect 3 ,0x2fd47 
+754f e0a48000 istore 9 ,contw 
+7550 38006837 setsect 0 ,0x6837 
+7551 3806ed90 setsect 1 ,0x2ed90 
+7552 3809ecec setsect 2 ,0x1ecec 
+7553 380dacc5 setsect 3 ,0x1acc5 
+7554 e0a48000 istore 9 ,contw 
+7555 38023357 setsect 0 ,0x23357 
+7556 38058af3 setsect 1 ,0x18af3 
+7557 3808f9e1 setsect 2 ,0xf9e1 
+7558 380d29f0 setsect 3 ,0x129f0 
+7559 e0a48000 istore 9 ,contw 
+755a 3802e7eb setsect 0 ,0x2e7eb 
+755b 3807e6e3 setsect 1 ,0x3e6e3 
+755c 380be1a7 setsect 2 ,0x3e1a7 
+755d 380d0b8b setsect 3 ,0x10b8b 
+755e e0a48000 istore 9 ,contw 
+755f 38024fe3 setsect 0 ,0x24fe3 
+7560 380420ef setsect 1 ,0x20ef 
+7561 3809b5a6 setsect 2 ,0x1b5a6 
+7562 380cdc2f setsect 3 ,0xdc2f 
+7563 e0a48000 istore 9 ,contw 
+7564 38013860 setsect 0 ,0x13860 
+7565 3806bd69 setsect 1 ,0x2bd69 
+7566 3808391a setsect 2 ,0x391a 
+7567 380db222 setsect 3 ,0x1b222 
+7568 e0a48000 istore 9 ,contw 
+7569 20600000 rtn 
+
+publickey_init:
+756a 6800c65a fetch 1 ,mem_ssp_enable 
+756b 243a757d nbranch sp_initialize ,blank 
+756c 20207a77 branch sp_initialize_256 
+
+sp_calc_sequence_256_check:
+756d 4772403c bpatchx patch3c_4 ,mem_patch3c 
+756e 6800c65a fetch 1 ,mem_ssp_enable 
+756f 207a0000 rtn blank 
+7570 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+7571 c1808000 rtnne sp_key_valid 
+7572 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+7573 207a0000 rtn blank 
+7574 6800c4c3 fetch 1 ,mem_le_sc_local_key_invalid 
+7575 c1018000 rtneq sp_key_valid_256 
+7576 68014682 fetch 2 ,mem_ui_state_map 
+7577 c280757b bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+7578 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7579 c0007a77 beq sp_calc_standby ,sp_initialize_256 
+757a 20600000 rtn 
+
+stop_publickey_calc_256:
+757b 7044c000 jam sp_calc_standby ,mem_le_sc_calc 
+757c 20600000 rtn 
+
+sp_initialize:
+757d 4772c03c bpatchx patch3c_5 ,mem_patch3c 
+757e 6800c65a fetch 1 ,mem_ssp_enable 
+757f 203a612b branch ssp_disable ,blank 
+7580 20406124 call ssp_enable 
+7581 20407583 call sp_clear_flags 
+7582 2020766d branch sp_pubkey_calc 
+
+sp_clear_flags:
+7583 58000000 setarg 0 
+7584 600409ae store 8 ,mem_sp_state_start 
+7585 600209b6 store 4 ,mem_sp_flag_start 
+7586 6003c65e store 7 ,mem_sp_iocap_remote 
+7587 20600000 rtn 
+
+sp_generate_local_key:
+7588 7009b001 jam sp_flag_commit ,mem_sp_flag 
+7589 2020758d branch sp_generate_local_key0 
+
+sp_master_generate_local_key:
+758a 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+758b c000f68a beq sp_key_valid ,sp_dhkey_calc 
+758c 20202a8c branch assert 
+
+sp_generate_local_key0:
+758d 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+758e c000f590 beq sp_key_valid ,sp_start_send_pubkey 
+758f 2020766d branch sp_pubkey_calc 
+
+sp_start_send_pubkey:
+7590 2040768a call sp_dhkey_calc 
+7591 680089af fetch 1 ,mem_master_sp_state 
+7592 247a0000 nrtn blank 
+7593 7009ae03 jam sp_stat_key_send ,mem_sp_state 
+7594 20600000 rtn 
+
+sp_calc_check_publickey_256:
+7595 204075b0 call sp_calc_b256 
+7596 da2009de arg mem_le_pubkey_remote_y_256 ,rega 
+7597 d8a00866 arg mem_t7_256 ,contw 
+7598 20407c79 call bn_sqrmod_256 
+7599 da2009be arg mem_le_pubkey_remote_x_256 ,rega 
+759a d8a00826 arg mem_t2_256 ,contw 
+759b 20407c79 call bn_sqrmod_256 
+759c da200826 arg mem_t2_256 ,rega 
+759d da4009be arg mem_le_pubkey_remote_x_256 ,regb 
+759e d8a00826 arg mem_t2_256 ,contw 
+759f 20407be1 call bn_mulmod_256 
+75a0 da20093e arg mem_a_256 ,rega 
+75a1 da4009be arg mem_le_pubkey_remote_x_256 ,regb 
+75a2 d8a00846 arg mem_t3_256 ,contw 
+75a3 20407be1 call bn_mulmod_256 
+75a4 da200846 arg mem_t3_256 ,rega 
+75a5 da400826 arg mem_t2_256 ,regb 
+75a6 d8a00826 arg mem_t2_256 ,contw 
+75a7 20407c7d call bn_addmod_256 
+75a8 da200806 arg mem_t0_256 ,rega 
+75a9 da400826 arg mem_t2_256 ,regb 
+75aa d8a00806 arg mem_t0_256 ,contw 
+75ab 20407c7d call bn_addmod_256 
+75ac df200020 arg 32 ,loopcnt 
+75ad da200866 arg mem_t7_256 ,rega 
+75ae da400806 arg mem_t0_256 ,regb 
+75af 20207f88 branch string_compare 
+
+sp_calc_b256:
+75b0 da20097e arg mem_gy_256 ,rega 
+75b1 d8a00806 arg mem_t0_256 ,contw 
+75b2 20407c79 call bn_sqrmod_256 
+75b3 da20095e arg mem_gx_256 ,rega 
+75b4 d8a00826 arg mem_t2_256 ,contw 
+75b5 20407c79 call bn_sqrmod_256 
+75b6 da200826 arg mem_t2_256 ,rega 
+75b7 da40095e arg mem_gx_256 ,regb 
+75b8 d8a00826 arg mem_t2_256 ,contw 
+75b9 20407be1 call bn_mulmod_256 
+75ba da20093e arg mem_a_256 ,rega 
+75bb da40095e arg mem_gx_256 ,regb 
+75bc d8a00846 arg mem_t3_256 ,contw 
+75bd 20407be1 call bn_mulmod_256 
+75be da200846 arg mem_t3_256 ,rega 
+75bf da400826 arg mem_t2_256 ,regb 
+75c0 d8a00826 arg mem_t2_256 ,contw 
+75c1 20407c7d call bn_addmod_256 
+75c2 da200806 arg mem_t0_256 ,rega 
+75c3 da400826 arg mem_t2_256 ,regb 
+75c4 d8a00806 arg mem_t0_256 ,contw 
+75c5 20207c96 branch bn_submod_256 
+
+sp_calc_check_publickey:
+75c6 204075e1 call sp_calc_b 
+75c7 da2009e6 arg mem_sp_pubkey_remote_y ,rega 
+75c8 d8a00866 arg mem_t7_256 ,contw 
+75c9 204077a8 call bn_sqrmod 
+75ca da2009c6 arg mem_sp_pubkey_remote_x ,rega 
+75cb d8a00826 arg mem_t2_256 ,contw 
+75cc 204077a8 call bn_sqrmod 
+75cd da200826 arg mem_t2_256 ,rega 
+75ce da4009c6 arg mem_sp_pubkey_remote_x ,regb 
+75cf d8a00826 arg mem_t2_256 ,contw 
+75d0 20407786 call bn_mulmod 
+75d1 da20089e arg mem_a ,rega 
+75d2 da4009c6 arg mem_sp_pubkey_remote_x ,regb 
+75d3 d8a00846 arg mem_t3_256 ,contw 
+75d4 20407786 call bn_mulmod 
+75d5 da200846 arg mem_t3_256 ,rega 
+75d6 da400826 arg mem_t2_256 ,regb 
+75d7 d8a00826 arg mem_t2_256 ,contw 
+75d8 20407755 call bn_addmod 
+75d9 da200806 arg mem_t0_256 ,rega 
+75da da400826 arg mem_t2_256 ,regb 
+75db d8a00806 arg mem_t0_256 ,contw 
+75dc 20407755 call bn_addmod 
+75dd df200018 arg 24 ,loopcnt 
+75de da200866 arg mem_t7_256 ,rega 
+75df da400806 arg mem_t0_256 ,regb 
+75e0 20207f88 branch string_compare 
+
+sp_calc_b:
+75e1 da2008e6 arg mem_gy ,rega 
+75e2 d8a00806 arg mem_t0_256 ,contw 
+75e3 204077a8 call bn_sqrmod 
+75e4 da2008ce arg mem_gx ,rega 
+75e5 d8a00826 arg mem_t2_256 ,contw 
+75e6 204077a8 call bn_sqrmod 
+75e7 da200826 arg mem_t2_256 ,rega 
+75e8 da4008ce arg mem_gx ,regb 
+75e9 d8a00826 arg mem_t2_256 ,contw 
+75ea 20407786 call bn_mulmod 
+75eb da20089e arg mem_a ,rega 
+75ec da4008ce arg mem_gx ,regb 
+75ed d8a00846 arg mem_t3_256 ,contw 
+75ee 20407786 call bn_mulmod 
+75ef da200846 arg mem_t3_256 ,rega 
+75f0 da400826 arg mem_t2_256 ,regb 
+75f1 d8a00826 arg mem_t2_256 ,contw 
+75f2 20407755 call bn_addmod 
+75f3 da200806 arg mem_t0_256 ,rega 
+75f4 da400826 arg mem_t2_256 ,regb 
+75f5 d8a00806 arg mem_t0_256 ,contw 
+75f6 20207758 branch bn_submod 
+
+sp_calculate_commitment:
+75f7 680089b2 fetch 1 ,mem_sp_calc 
+75f8 c0807615 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+75f9 20407612 call sp_local_random_key_generator 
+75fa d8a00a7e arg mem_sp_prarm_stack ,contw 
+75fb 58000a2e setarg mem_sp_random_local_end 
+75fc e0a10000 istore 2 ,contw 
+75fd 58004642 setarg mem_sp_pubkey_local_x_end 
+75fe e0a10000 istore 2 ,contw 
+75ff 580009de setarg mem_sp_pubkey_remote_x_end 
+7600 e0a10000 istore 2 ,contw 
+7601 20207609 branch sp_calculate_commitment0 
+
+master_sp_calculate_commitment:
+7602 d8a00a7e arg mem_sp_prarm_stack ,contw 
+7603 58000a3e setarg mem_sp_random_remote_end 
+7604 e0a10000 istore 2 ,contw 
+7605 580009de setarg mem_sp_pubkey_remote_x_end 
+7606 e0a10000 istore 2 ,contw 
+7607 58004642 setarg mem_sp_pubkey_local_x_end 
+7608 e0a10000 istore 2 ,contw 
+
+sp_calculate_commitment0:
+7609 204079a0 call function_f1 
+760a 680089af fetch 1 ,mem_master_sp_state 
+760b c002760f beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+760c 7009b001 jam sp_flag_commit ,mem_sp_flag 
+760d 7009ae05 jam sp_stat_commit_send ,mem_sp_state 
+760e 20600000 rtn 
+
+master_sp_calculate_commitment0:
+760f 7009af14 jam sp_stat_commitment_compare ,mem_master_sp_state 
+7610 2040758a call sp_master_generate_local_key 
+7611 202076d8 branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+7612 d8a00a1e arg mem_sp_random_local ,contw 
+7613 18000e08 force 8 ,queue 
+7614 202076a2 branch random_generator 
+
+sp_calculate_commitment_wait_dhkey_calc:
+7615 7009b001 jam sp_flag_commit ,mem_sp_flag 
+7616 20600000 rtn 
+
+sp_confirm_check:
+7617 4773403c bpatchx patch3c_6 ,mem_patch3c 
+7618 d8a00727 arg mem_addr_value ,contw 
+7619 680340a0 fetch 6 ,mem_lap 
+761a e0a30000 istore 6 ,contw 
+761b 68030040 fetch 6 ,mem_plap 
+761c e0a30000 istore 6 ,contw 
+761d 6801c65e fetch 3 ,mem_sp_iocap_remote 
+761e e0a18000 istore 3 ,contw 
+761f 20407a0d call function_f3a 
+7620 da200a4e arg mem_sp_calc_result_high ,rega 
+7621 da400a5e arg mem_sp_check_result ,regb 
+7622 18000e04 force 4 ,queue 
+7623 204076a7 call compare4 
+7624 2420f631 nbranch sp_confirm_check_failed ,true 
+7625 20407628 call sp_confirm_check_success 
+7626 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+7627 202062f8 branch tid_set_reply 
+
+sp_confirm_check_success:
+7628 680089af fetch 1 ,mem_master_sp_state 
+7629 c004f62e beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+762a 7009ae0a jam sp_stat_confirm_calc ,mem_sp_state 
+762b 7009b001 jam sp_flag_commit ,mem_sp_flag 
+762c 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+762d 20600000 rtn 
+
+sp_confirm_check_success_master:
+762e 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+762f 7009af15 jam sp_state_end ,mem_master_sp_state 
+7630 202076d8 branch master_set_mem_master_sp_flag 
+
+sp_confirm_check_failed:
+7631 680089af fetch 1 ,mem_master_sp_state 
+7632 c004f637 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+7633 7009ae00 jam sp_stat_null ,mem_sp_state 
+7634 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+7635 70007e05 jam authentication_failure_error ,mem_lmo_reason2 
+7636 20600000 rtn 
+
+sp_confirm_check_failed_master:
+7637 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+7638 7009af00 jam sp_stat_null ,mem_master_sp_state 
+7639 20600000 rtn 
+
+sp_confirm_calc:
+763a 680089b3 fetch 1 ,mem_sp_dh_ready 
+763b c000f63e beq sp_flag_commit ,sp_confirm_calc_ready 
+763c 7009af0a jam sp_stat_confirm_calc ,mem_master_sp_state 
+763d 202076d8 branch master_set_mem_master_sp_flag 
+
+sp_confirm_calc_ready:
+763e d8a00727 arg mem_addr_value ,contw 
+763f 68030040 fetch 6 ,mem_plap 
+7640 e0a30000 istore 6 ,contw 
+7641 680340a0 fetch 6 ,mem_lap 
+7642 e0a30000 istore 6 ,contw 
+7643 6801c65b fetch 3 ,mem_sp_iocap_local 
+7644 e0a18000 istore 3 ,contw 
+7645 20407a24 call function_f3b 
+7646 680089af fetch 1 ,mem_master_sp_state 
+7647 c005764b beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+7648 7009ae0b jam sp_stat_confirm_send ,mem_sp_state 
+7649 7009b001 jam sp_flag_commit ,mem_sp_flag 
+764a 20600000 rtn 
+
+sp_confirm_calc_master:
+764b 7009af0b jam sp_stat_confirm_send ,mem_master_sp_state 
+764c 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+764d 20600000 rtn 
+
+sp_master_key_prarm_push:
+764e d8a00a7e arg mem_sp_prarm_stack ,contw 
+764f 68030040 fetch 6 ,mem_plap 
+7650 e0a30000 istore 6 ,contw 
+7651 680340a0 fetch 6 ,mem_lap 
+7652 e0a30000 istore 6 ,contw 
+7653 58000a2e setarg mem_sp_random_local_end 
+7654 e0a10000 istore 2 ,contw 
+7655 58000a3e setarg mem_sp_random_remote_end 
+7656 e0a10000 istore 2 ,contw 
+7657 20207662 branch sp_link_key_calc 
+
+sp_link_key_prarm_push:
+7658 7009ae0f jam sp_stat_done ,mem_sp_state 
+7659 d8a00a7e arg mem_sp_prarm_stack ,contw 
+765a 680340a0 fetch 6 ,mem_lap 
+765b e0a30000 istore 6 ,contw 
+765c 68030040 fetch 6 ,mem_plap 
+765d e0a30000 istore 6 ,contw 
+765e 58000a3e setarg mem_sp_random_remote_end 
+765f e0a10000 istore 2 ,contw 
+7660 58000a2e setarg mem_sp_random_local_end 
+7661 e0a10000 istore 2 ,contw 
+
+sp_link_key_calc:
+7662 d8a00727 arg mem_addr_value ,contw 
+7663 68030a7e fetch 6 ,mem_sp_prarm_stack 
+7664 e0a30000 istore 6 ,contw 
+7665 68030a84 fetch 6 ,mem_sp_prarm_stack + 6 
+7666 e0a30000 istore 6 ,contw 
+7667 204079d7 call function_f2 
+7668 7041bd01 jam 1 ,mem_link_key_exists 
+7669 d8a041be arg mem_link_key ,contw 
+766a d8c00a4e arg mem_sp_calc_result_high ,contr 
+766b 20407ebf call memcpy16 
+766c 202021c4 branch generate_linkkey_continue 
+
+sp_pubkey_calc:
+766d 4773c03c bpatchx patch3c_7 ,mem_patch3c 
+766e 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+766f c1800000 rtnne sp_key_invalid 
+7670 680089b2 fetch 1 ,mem_sp_calc 
+7671 c1800000 rtnne sp_calc_standby 
+7672 d8a04612 arg mem_sp_private_key ,contw 
+7673 18000e0b force 11 ,queue 
+7674 204076a2 call random_generator 
+7675 180a7e00 random pdata 
+7676 1fe37e00 rshift pdata ,pdata 
+7677 e0a10000 istore 2 ,contw 
+7678 d8a006be arg mem_k ,contw 
+7679 d8c04612 arg mem_sp_private_key ,contr 
+767a 20407ebe call memcpy24 
+767b d8a005e6 arg mem_ax ,contw 
+767c d8c008ce arg mem_gx ,contr 
+767d 20407ebc call memcpy48 
+767e d8a00616 arg mem_az ,contw 
+767f 20407ec5 call bn_zero 
+7680 70061601 jam 1 ,mem_az 
+7681 20407a5d call eckp_calc_init 
+7682 7009b201 jam sp_calc_pubkey ,mem_sp_calc 
+7683 20600000 rtn 
+
+sp_pubkey_generated:
+7684 d8a0462a arg mem_sp_pubkey_local ,contw 
+7685 d8c0062e arg mem_bx ,contr 
+7686 20407ebc call memcpy48 
+7687 7045b101 jam sp_key_valid ,mem_sp_local_key_invalid 
+7688 7009b200 jam sp_calc_standby ,mem_sp_calc 
+7689 20600000 rtn 
+
+sp_dhkey_calc:
+768a 4774403d bpatchx patch3d_0 ,mem_patch3d 
+768b 680089b9 fetch 1 ,mem_sp_dhkey_invalid 
+768c c1800000 rtnne sp_key_invalid 
+768d 680089b2 fetch 1 ,mem_sp_calc 
+768e c1800000 rtnne sp_calc_standby 
+768f d8a006be arg mem_k ,contw 
+7690 d8c04612 arg mem_sp_private_key ,contr 
+7691 20407ebe call memcpy24 
+7692 d8a005e6 arg mem_ax ,contw 
+7693 d8c009c6 arg mem_sp_pubkey_remote ,contr 
+7694 20407ebc call memcpy48 
+7695 d8a00616 arg mem_az ,contw 
+7696 20407ec5 call bn_zero 
+7697 70061601 jam 1 ,mem_az 
+7698 20407a5d call eckp_calc_init 
+7699 7009b202 jam sp_calc_dhkey ,mem_sp_calc 
+769a 20600000 rtn 
+
+sp_dhkey_generated:
+769b 7009b301 jam sp_flag_commit ,mem_sp_dh_ready 
+769c d8a00a06 arg mem_sp_dhkey ,contw 
+769d d8c0062e arg mem_bx ,contr 
+769e 20407ebe call memcpy24 
+769f 7009b901 jam sp_key_valid ,mem_sp_dhkey_invalid 
+76a0 7009b200 jam sp_calc_standby ,mem_sp_calc 
+76a1 20600000 rtn 
+
+random_generator:
+76a2 18e08fff increase -1 ,queue 
+76a3 24610000 nrtn positive 
+76a4 180a7e00 random pdata 
+76a5 e0a10000 istore 2 ,contw 
+76a6 202076a2 branch random_generator 
+
+compare4:
+76a7 18e08fff increase -1 ,queue 
+76a8 242176b3 nbranch compare4_success ,positive 
+76a9 ea220000 ifetch 4 ,rega 
+76aa 1fe20400 copy pdata ,temp 
+76ab ea420000 ifetch 4 ,regb 
+76ac 9842fe00 iflip temp ,pdata 
+76ad 2422f6b1 nbranch compare4_failed ,zero 
+76ae 1a20a204 increase 4 ,rega 
+76af 1a40a404 increase 4 ,regb 
+76b0 202076a7 branch compare4 
+
+compare4_failed:
+76b1 7840fc00 disable true 
+76b2 20600000 rtn 
+
+compare4_success:
+76b3 7820fc00 enable true 
+76b4 20600000 rtn 
+
+simple_pairing_sequence:
+76b5 4774c03d bpatchx patch3d_1 ,mem_patch3d 
+76b6 680089b0 fetch 1 ,mem_sp_flag 
+76b7 207a0000 rtn blank 
+76b8 204062bc call lmo_fifo_check 
+76b9 247a0000 nrtn blank 
+76ba 7009b000 jam sp_flag_standby ,mem_sp_flag 
+76bb 680089ae fetch 1 ,mem_sp_state 
+76bc c001e1fd beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+76bd c002e21a beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+76be c003e225 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+76bf c005e23a beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+76c0 c0017588 beq sp_stat_key_generate ,sp_generate_local_key 
+76c1 c00275f7 beq sp_stat_commit_calc ,sp_calculate_commitment 
+76c2 c004f617 beq sp_stat_confirm_check ,sp_confirm_check 
+76c3 c005763a beq sp_stat_confirm_calc ,sp_confirm_calc 
+76c4 c0067658 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+76c5 20600000 rtn 
+
+master_simple_paring_sequence:
+76c6 4775403d bpatchx patch3d_2 ,mem_patch3d 
+76c7 680089b1 fetch 1 ,mem_master_sp_flag 
+76c8 207a0000 rtn blank 
+76c9 204062bc call lmo_fifo_check 
+76ca 247a0000 nrtn blank 
+76cb 7009b100 jam sp_flag_standby ,mem_master_sp_flag 
+76cc 680089af fetch 1 ,mem_master_sp_state 
+76cd c00961e0 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+76ce c009e1e5 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+76cf c001e1e9 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+76d0 c0027602 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+76d1 c00a61ed beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+76d2 c003e1fb beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+76d3 c005763a beq sp_stat_confirm_calc ,sp_confirm_calc 
+76d4 c005e239 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+76d5 c004f617 beq sp_stat_confirm_check ,sp_confirm_check 
+76d6 c00ae233 beq sp_state_end ,master_sp_sm_end 
+76d7 20600000 rtn 
+
+master_set_mem_master_sp_flag:
+76d8 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+76d9 20600000 rtn 
+
+master_clear_mem_master_sp_flag:
+76da 7009b100 jam sp_flag_standby ,mem_master_sp_flag 
+76db 20600000 rtn 
+
+sp_calc_sequence:
+76dc 4775c03d bpatchx patch3d_3 ,mem_patch3d 
+76dd 6800c65a fetch 1 ,mem_ssp_enable 
+76de 207a0000 rtn blank 
+76df 680089b2 fetch 1 ,mem_sp_calc 
+76e0 207a0000 rtn blank 
+76e1 1fe0fe80 increase 0x80 ,pdata 
+76e2 600089b2 store 1 ,mem_sp_calc 
+76e3 c3838000 rtnbit1 7 
+76e4 680085e3 fetch 1 ,mem_ec_loopc 
+76e5 203a76e7 branch sp_calc_sequence_done ,blank 
+76e6 20207a68 branch eckp_calc 
+
+sp_calc_sequence_done:
+76e7 204078d3 call ecunmapz 
+76e8 680089b2 fetch 1 ,mem_sp_calc 
+76e9 c000f684 beq sp_calc_pubkey ,sp_pubkey_generated 
+76ea c001769b beq sp_calc_dhkey ,sp_dhkey_generated 
+76eb 20600000 rtn 
+
+bn_testbit:
+76ec 1fe10e07 and pdata ,7 ,queue 
+76ed 1fe97e00 rshift3 pdata ,pdata 
+76ee 98c08c00 iadd contr ,contr 
+76ef e8c08000 ifetch 1 ,contr 
+76f0 afec0000 qisolate0 pdata 
+76f1 20600000 rtn 
+
+ec_copy:
+76f2 20407ebe call memcpy24 
+76f3 20407ebe call memcpy24 
+76f4 20207ebe branch memcpy24 
+
+bn_eq_zero:
+76f5 e8c40000 ifetch 8 ,contr 
+76f6 247a0000 nrtn blank 
+76f7 e8c40000 ifetch 8 ,contr 
+76f8 247a0000 nrtn blank 
+76f9 e8c40000 ifetch 8 ,contr 
+76fa 20600000 rtn 
+
+bn_eq_0:
+76fb ea220000 ifetch 4 ,rega 
+76fc 98000400 iforce temp 
+76fd ea420000 ifetch 4 ,regb 
+76fe 98467c00 isub temp ,null 
+76ff 24628000 nrtn zero 
+7700 1a20a204 increase 4 ,rega 
+7701 1a40a404 increase 4 ,regb 
+7702 c20076fb loop bn_eq_0 
+7703 20600000 rtn 
+
+bn_bigeq:
+7704 18007206 force 6 ,loopcnt 
+7705 1a20a214 increase 20 ,rega 
+7706 1a40a414 increase 20 ,regb 
+
+bn_bigeq_0:
+7707 ea420000 ifetch 4 ,regb 
+7708 98000400 iforce temp 
+7709 ea220000 ifetch 4 ,rega 
+770a 98467e00 isub temp ,pdata 
+770b 24610000 nrtn positive 
+770c 247a0000 nrtn blank 
+770d 1a20a3fc increase -4 ,rega 
+770e 1a40a5fc increase -4 ,regb 
+770f c2007707 loop bn_bigeq_0 
+7710 20600000 rtn 
+
+bn_add:
+7711 18007206 force 6 ,loopcnt 
+7712 18002600 force 0 ,regc 
+
+bn_add_0:
+7713 ea220000 ifetch 4 ,rega 
+7714 98000400 iforce temp 
+7715 ea420000 ifetch 4 ,regb 
+7716 9840fe00 iadd temp ,pdata 
+7717 9a60fe00 iadd regc ,pdata 
+7718 e0a20000 istore 4 ,contw 
+7719 2feffe20 isolate1 32 ,pdata 
+771a 7920a600 setflag true ,0 ,regc 
+771b 1a20a204 increase 4 ,rega 
+771c 1a40a404 increase 4 ,regb 
+771d c2007713 loop bn_add_0 
+771e 20600000 rtn 
+
+bn_sub:
+771f 18007206 force 6 ,loopcnt 
+7720 18002600 force 0 ,regc 
+
+bn_sub_0:
+7721 ea420000 ifetch 4 ,regb 
+7722 98000400 iforce temp 
+7723 ea220000 ifetch 4 ,rega 
+7724 98467e00 isub temp ,pdata 
+7725 9a667e00 isub regc ,pdata 
+7726 e0a20000 istore 4 ,contw 
+7727 2feffe20 isolate1 32 ,pdata 
+7728 7920a600 setflag true ,0 ,regc 
+7729 1a20a204 increase 4 ,rega 
+772a 1a40a404 increase 4 ,regb 
+772b c2007721 loop bn_sub_0 
+772c 20600000 rtn 
+
+bn_rshift6:
+772d 18007206 force 6 ,loopcnt 
+772e 1a20a214 increase 20 ,rega 
+
+bn_rshift:
+772f 18002600 force 0 ,regc 
+
+bn_rshift_0:
+7730 ea220000 ifetch 4 ,rega 
+7731 2feffe00 isolate1 0 ,pdata 
+7732 7920a601 setflag true ,1 ,regc 
+7733 1fe37e00 rshift pdata ,pdata 
+7734 2a6ffe00 isolate1 0 ,regc 
+7735 7920fe1f setflag true ,31 ,pdata 
+7736 e2220000 istore 4 ,rega 
+7737 1a20a3fc increase -4 ,rega 
+7738 1a632600 rshift regc ,regc 
+7739 c2007730 loop bn_rshift_0 
+773a 20600000 rtn 
+
+bn_lshift:
+773b 18007206 force 6 ,loopcnt 
+773c 18002600 force 0 ,regc 
+
+bn_lshift_0:
+773d ea220000 ifetch 4 ,rega 
+773e 2feffe1f isolate1 31 ,pdata 
+773f 7920a601 setflag true ,1 ,regc 
+7740 1fe3fe00 lshift pdata ,pdata 
+7741 2a6ffe00 isolate1 0 ,regc 
+7742 7920fe00 setflag true ,0 ,pdata 
+7743 e2220000 istore 4 ,rega 
+7744 1a20a204 increase 4 ,rega 
+7745 1a632600 rshift regc ,regc 
+7746 c200773d loop bn_lshift_0 
+7747 20600000 rtn 
+
+bn_lshiftmod:
+7748 2040773b call bn_lshift 
+
+bn_lshiftmod_ismod:
+7749 2a6ffe00 isolate1 0 ,regc 
+774a 2020f751 branch bn_lshiftmod_0 ,true 
+774b da400886 arg mem_p ,regb 
+774c 1a222600 copy rega ,regc 
+774d 1a20a3e8 increase -24 ,rega 
+774e 20407704 call bn_bigeq 
+774f 24610000 nrtn positive 
+7750 1a622200 copy regc ,rega 
+
+bn_lshiftmod_0:
+7751 1a20a3e8 increase -24 ,rega 
+7752 da400886 arg mem_p ,regb 
+7753 1a220a00 copy rega ,contw 
+7754 2020771f branch bn_sub 
+
+bn_addmod:
+7755 20407711 call bn_add 
+7756 18a22200 copy contw ,rega 
+7757 20207749 branch bn_lshiftmod_ismod 
+
+bn_submod:
+7758 2040771f call bn_sub 
+7759 2a6c0000 isolate0 0 ,regc 
+775a 20608000 rtn true 
+775b da400886 arg mem_p ,regb 
+775c 18a0a3e8 add contw ,-24 ,rega 
+775d 1a220a00 copy rega ,contw 
+775e 20207711 branch bn_add 
+
+bn_p192mod:
+775f 18a21600 copy contw ,timeup 
+7760 1a226000 copy rega ,alarm 
+7761 da400716 arg mem_tmp2 ,regb 
+7762 1a420a00 copy regb ,contw 
+7763 1a208c18 add rega ,24 ,contr 
+7764 e8c40000 ifetch 8 ,contr 
+7765 e0a40000 istore 8 ,contw 
+7766 e0a40000 istore 8 ,contw 
+7767 18007e00 force 0 ,pdata 
+7768 e0a40000 istore 8 ,contw 
+7769 19620a00 copy timeup ,contw 
+776a 20407755 call bn_addmod 
+776b da400716 arg mem_tmp2 ,regb 
+776c 1a420a00 copy regb ,contw 
+776d 18007e00 force 0 ,pdata 
+776e e0a40000 istore 8 ,contw 
+776f 1e008c20 add alarm ,32 ,contr 
+7770 e8c40000 ifetch 8 ,contr 
+7771 e0a40000 istore 8 ,contw 
+7772 e0a40000 istore 8 ,contw 
+7773 19622200 copy timeup ,rega 
+7774 1a220a00 copy rega ,contw 
+7775 20407755 call bn_addmod 
+7776 da400716 arg mem_tmp2 ,regb 
+7777 1a420a00 copy regb ,contw 
+7778 1e008c28 add alarm ,40 ,contr 
+7779 e8c40000 ifetch 8 ,contr 
+777a e0a40000 istore 8 ,contw 
+777b e0a40000 istore 8 ,contw 
+777c e0a40000 istore 8 ,contw 
+777d 19622200 copy timeup ,rega 
+777e 1a220a00 copy rega ,contw 
+777f 20207755 branch bn_addmod 
+
+bn_load:
+7780 18007206 force 6 ,loopcnt 
+
+bn_load_0:
+7781 e8c20000 ifetch 4 ,contr 
+7782 98005e00 iforce regext 
+7783 1f00f001 increase 1 ,regext_index 
+7784 c2007781 loop bn_load_0 
+7785 20600000 rtn 
+
+bn_mulmod:
+7786 18a21600 copy contw ,timeup 
+7787 d8a006e6 arg mem_tmp1 ,contw 
+7788 20407ec5 call bn_zero 
+7789 d8a006e6 arg mem_tmp1 ,contw 
+778a 1a220c00 copy rega ,contr 
+778b 18007000 force 0 ,regext_index 
+778c 20407780 call bn_load 
+778d 1a420c00 copy regb ,contr 
+778e 20407780 call bn_load 
+778f 18002400 force 0 ,regb 
+
+bn_mulmod_1:
+7790 18000400 force 0 ,temp 
+7791 18002606 force 6 ,regc 
+
+bn_mulmod_0:
+7792 e8a20000 ifetch 4 ,contw 
+7793 98002200 iforce rega 
+7794 1a427000 copy regb ,regext_index 
+7795 1de27e00 deposit regext 
+7796 1a627000 copy regc ,regext_index 
+7797 9deffe00 imul32 regext ,pdata 
+7798 9a20fe00 iadd rega ,pdata 
+7799 9840fe00 iadd temp ,pdata 
+779a e0a20000 istore 4 ,contw 
+779b 1fef0400 rshift32 pdata ,temp 
+779c 1a60a601 increase 1 ,regc 
+779d 2a61fe0c compare 12 ,regc ,0xff 
+779e 2420f792 nbranch bn_mulmod_0 ,true 
+779f 18427e00 deposit temp 
+77a0 e0a20000 istore 4 ,contw 
+77a1 18a08be8 increase -24 ,contw 
+77a2 1a40a401 increase 1 ,regb 
+77a3 2a41fe06 compare 6 ,regb ,0xff 
+77a4 2420f790 nbranch bn_mulmod_1 ,true 
+77a5 da2006e6 arg mem_tmp1 ,rega 
+77a6 19620a00 copy timeup ,contw 
+77a7 2020775f branch bn_p192mod 
+
+bn_sqrmod:
+77a8 1a222400 copy rega ,regb 
+77a9 20207786 branch bn_mulmod 
+
+bn_rshifteven:
+77aa 1a226000 copy rega ,alarm 
+
+bn_rshifteven_1:
+77ab 1e022200 copy alarm ,rega 
+77ac ea208000 ifetch 1 ,rega 
+77ad 2feffe00 isolate1 0 ,pdata 
+77ae 20608000 rtn true 
+77af 2040772d call bn_rshift6 
+77b0 ea408000 ifetch 1 ,regb 
+77b1 2fec0000 isolate0 0 ,pdata 
+77b2 2020f7ba branch bn_rshifteven_0 ,true 
+77b3 da200886 arg mem_p ,rega 
+77b4 1a420a00 copy regb ,contw 
+77b5 20407711 call bn_add 
+77b6 ea408000 ifetch 1 ,regb 
+77b7 9a60fe00 iadd regc ,pdata 
+77b8 e2408000 istore 1 ,regb 
+77b9 1a40a5e8 increase -24 ,regb 
+
+bn_rshifteven_0:
+77ba 1a40a218 add regb ,24 ,rega 
+77bb 18007207 force 7 ,loopcnt 
+77bc 2040772f call bn_rshift 
+77bd 202077ab branch bn_rshifteven_1 
+
+bn_invmod:
+77be 18a21600 copy contw ,timeup 
+77bf d8a00746 arg mem_tmp0 ,contw 
+77c0 20407ec5 call bn_zero 
+77c1 18007e00 force 0 ,pdata 
+77c2 600206fe store 4 ,mem_tmp5 
+77c3 6002075e store 4 ,mem_t2 
+77c4 70074601 jam 1 ,mem_tmp0 
+77c5 d8a006e6 arg mem_tmp1 ,contw 
+77c6 20407ec5 call bn_zero 
+77c7 d8c00886 arg mem_p ,contr 
+77c8 d8a00716 arg mem_tmp2 ,contw 
+77c9 20407ebe call memcpy24 
+77ca 1a220c00 copy rega ,contr 
+77cb d8a0072e arg mem_tmp3 ,contw 
+77cc 20407ebe call memcpy24 
+
+bn_invmod_2:
+77cd d8c0072e arg mem_tmp3 ,contr 
+77ce 204076f5 call bn_eq_zero 
+77cf 203a77f6 branch bn_invmod_0 ,blank 
+77d0 da20072e arg mem_tmp3 ,rega 
+77d1 da400746 arg mem_tmp0 ,regb 
+77d2 204077aa call bn_rshifteven 
+77d3 da200716 arg mem_tmp2 ,rega 
+77d4 da4006e6 arg mem_tmp1 ,regb 
+77d5 204077aa call bn_rshifteven 
+77d6 da20072e arg mem_tmp3 ,rega 
+77d7 da400716 arg mem_tmp2 ,regb 
+77d8 20407704 call bn_bigeq 
+77d9 202177e8 branch bn_invmod_1 ,positive 
+77da da200716 arg mem_tmp2 ,rega 
+77db da40072e arg mem_tmp3 ,regb 
+77dc 1a220a00 copy rega ,contw 
+77dd 2040771f call bn_sub 
+77de da200746 arg mem_tmp0 ,rega 
+77df da4006e6 arg mem_tmp1 ,regb 
+77e0 1a420a00 copy regb ,contw 
+77e1 20407711 call bn_add 
+77e2 ea208000 ifetch 1 ,rega 
+77e3 9a60a600 iadd regc ,regc 
+77e4 ea408000 ifetch 1 ,regb 
+77e5 9a60fe00 iadd regc ,pdata 
+77e6 e2408000 istore 1 ,regb 
+77e7 202077cd branch bn_invmod_2 
+
+bn_invmod_1:
+77e8 da20072e arg mem_tmp3 ,rega 
+77e9 da400716 arg mem_tmp2 ,regb 
+77ea 1a220a00 copy rega ,contw 
+77eb 2040771f call bn_sub 
+77ec da2006e6 arg mem_tmp1 ,rega 
+77ed da400746 arg mem_tmp0 ,regb 
+77ee 1a420a00 copy regb ,contw 
+77ef 20407711 call bn_add 
+77f0 ea208000 ifetch 1 ,rega 
+77f1 9a60a600 iadd regc ,regc 
+77f2 ea408000 ifetch 1 ,regb 
+77f3 9a60fe00 iadd regc ,pdata 
+77f4 e2408000 istore 1 ,regb 
+77f5 202077cd branch bn_invmod_2 
+
+bn_invmod_0:
+77f6 d8a00746 arg mem_tmp0 ,contw 
+77f7 20407ec5 call bn_zero 
+77f8 680086fe fetch 1 ,mem_tmp5 
+77f9 60008746 store 1 ,mem_tmp0 
+77fa 6000874e store 1 ,mem_tmp0a 
+77fb da200746 arg mem_tmp0 ,rega 
+77fc da4006e6 arg mem_tmp1 ,regb 
+77fd 1a420a00 copy regb ,contw 
+77fe 20407755 call bn_addmod 
+77ff da200886 arg mem_p ,rega 
+7800 da4006e6 arg mem_tmp1 ,regb 
+7801 19620a00 copy timeup ,contw 
+7802 20207758 branch bn_submod 
+
+ecdbl:
+7803 da2006a6 arg mem_cz ,rega 
+7804 d8a0075e arg mem_t2 ,contw 
+7805 204077a8 call bn_sqrmod 
+7806 da20075e arg mem_t2 ,rega 
+7807 d8a00776 arg mem_t3 ,contw 
+7808 204077a8 call bn_sqrmod 
+7809 da20089e arg mem_a ,rega 
+780a da400776 arg mem_t3 ,regb 
+780b d8a00776 arg mem_t3 ,contw 
+780c 20407786 call bn_mulmod 
+780d da200676 arg mem_cx ,rega 
+780e d8a0075e arg mem_t2 ,contw 
+780f 204077a8 call bn_sqrmod 
+7810 d8c0075e arg mem_t2 ,contr 
+7811 d8a0072e arg mem_t1 ,contw 
+7812 20407ebe call memcpy24 
+7813 da20072e arg mem_t1 ,rega 
+7814 20407748 call bn_lshiftmod 
+7815 da20075e arg mem_t2 ,rega 
+7816 da40072e arg mem_t1 ,regb 
+7817 d8a0075e arg mem_t2 ,contw 
+7818 20407755 call bn_addmod 
+7819 da20075e arg mem_t2 ,rega 
+781a da400776 arg mem_t3 ,regb 
+781b d8a0075e arg mem_t2 ,contw 
+781c 20407755 call bn_addmod 
+781d d8c00676 arg mem_cx ,contr 
+781e d8a0072e arg mem_t1 ,contw 
+781f 20407ebe call memcpy24 
+7820 da20068e arg mem_cy ,rega 
+7821 d8a00776 arg mem_t3 ,contw 
+7822 204077a8 call bn_sqrmod 
+7823 da20072e arg mem_t1 ,rega 
+7824 20407748 call bn_lshiftmod 
+7825 da20072e arg mem_t1 ,rega 
+7826 20407748 call bn_lshiftmod 
+7827 da20072e arg mem_t1 ,rega 
+7828 da400776 arg mem_t3 ,regb 
+7829 d8a0072e arg mem_t1 ,contw 
+782a 20407786 call bn_mulmod 
+782b da200776 arg mem_t3 ,rega 
+782c d8a00746 arg mem_t0 ,contw 
+782d 204077a8 call bn_sqrmod 
+782e da200746 arg mem_t0 ,rega 
+782f 20407748 call bn_lshiftmod 
+7830 da200746 arg mem_t0 ,rega 
+7831 20407748 call bn_lshiftmod 
+7832 da200746 arg mem_t0 ,rega 
+7833 20407748 call bn_lshiftmod 
+7834 d8c0068e arg mem_cy ,contr 
+7835 d8a00776 arg mem_t3 ,contw 
+7836 20407ebe call memcpy24 
+7837 da200776 arg mem_t3 ,rega 
+7838 20407748 call bn_lshiftmod 
+7839 da200776 arg mem_t3 ,rega 
+783a da4006a6 arg mem_cz ,regb 
+783b d8a006a6 arg mem_cz ,contw 
+783c 20407786 call bn_mulmod 
+783d da20075e arg mem_t2 ,rega 
+783e d8a00776 arg mem_t3 ,contw 
+783f 204077a8 call bn_sqrmod 
+7840 da200776 arg mem_t3 ,rega 
+7841 da40072e arg mem_t1 ,regb 
+7842 d8a00776 arg mem_t3 ,contw 
+7843 20407758 call bn_submod 
+7844 da200776 arg mem_t3 ,rega 
+7845 da40072e arg mem_t1 ,regb 
+7846 d8a00676 arg mem_cx ,contw 
+7847 20407758 call bn_submod 
+7848 da20072e arg mem_t1 ,rega 
+7849 da400676 arg mem_cx ,regb 
+784a d8a00776 arg mem_t3 ,contw 
+784b 20407758 call bn_submod 
+784c da200776 arg mem_t3 ,rega 
+784d da40075e arg mem_t2 ,regb 
+784e d8a00776 arg mem_t3 ,contw 
+784f 20407786 call bn_mulmod 
+7850 da200776 arg mem_t3 ,rega 
+7851 da400746 arg mem_t0 ,regb 
+7852 d8a0068e arg mem_cy ,contw 
+7853 20207758 branch bn_submod 
+
+ecadd:
+7854 da200616 arg mem_az ,rega 
+7855 d8a0078e arg mem_t7 ,contw 
+7856 204077a8 call bn_sqrmod 
+7857 da200676 arg mem_cx ,rega 
+7858 da40078e arg mem_t7 ,regb 
+7859 d8a00746 arg mem_t0 ,contw 
+785a 20407786 call bn_mulmod 
+785b da200616 arg mem_az ,rega 
+785c da40078e arg mem_t7 ,regb 
+785d d8a0078e arg mem_t7 ,contw 
+785e 20407786 call bn_mulmod 
+785f da20068e arg mem_cy ,rega 
+7860 da40078e arg mem_t7 ,regb 
+7861 d8a0072e arg mem_t1 ,contw 
+7862 20407786 call bn_mulmod 
+7863 da2006a6 arg mem_cz ,rega 
+7864 d8a0078e arg mem_t7 ,contw 
+7865 204077a8 call bn_sqrmod 
+7866 da2005e6 arg mem_ax ,rega 
+7867 da40078e arg mem_t7 ,regb 
+7868 d8a0075e arg mem_t2 ,contw 
+7869 20407786 call bn_mulmod 
+786a da2006a6 arg mem_cz ,rega 
+786b da40078e arg mem_t7 ,regb 
+786c d8a0078e arg mem_t7 ,contw 
+786d 20407786 call bn_mulmod 
+786e da2005fe arg mem_ay ,rega 
+786f da40078e arg mem_t7 ,regb 
+7870 d8a00776 arg mem_t3 ,contw 
+7871 20407786 call bn_mulmod 
+7872 da200746 arg mem_t0 ,rega 
+7873 da40075e arg mem_t2 ,regb 
+7874 d8a0078e arg mem_t7 ,contw 
+7875 20407758 call bn_submod 
+7876 da200746 arg mem_t0 ,rega 
+7877 da40075e arg mem_t2 ,regb 
+7878 d8a00746 arg mem_t0 ,contw 
+7879 20407755 call bn_addmod 
+787a da20072e arg mem_t1 ,rega 
+787b da400776 arg mem_t3 ,regb 
+787c d8a0075e arg mem_t2 ,contw 
+787d 20407758 call bn_submod 
+787e da20072e arg mem_t1 ,rega 
+787f da400776 arg mem_t3 ,regb 
+7880 d8a0072e arg mem_t1 ,contw 
+7881 20407755 call bn_addmod 
+7882 da20072e arg mem_t1 ,rega 
+7883 da40078e arg mem_t7 ,regb 
+7884 d8a0072e arg mem_t1 ,contw 
+7885 20407786 call bn_mulmod 
+7886 da2006a6 arg mem_cz ,rega 
+7887 da400616 arg mem_az ,regb 
+7888 d8a00776 arg mem_t3 ,contw 
+7889 20407786 call bn_mulmod 
+788a da200776 arg mem_t3 ,rega 
+788b da40078e arg mem_t7 ,regb 
+788c d8a006a6 arg mem_cz ,contw 
+788d 20407786 call bn_mulmod 
+788e da20078e arg mem_t7 ,rega 
+788f d8a0078e arg mem_t7 ,contw 
+7890 204077a8 call bn_sqrmod 
+7891 da20078e arg mem_t7 ,rega 
+7892 da400746 arg mem_t0 ,regb 
+7893 d8a00776 arg mem_t3 ,contw 
+7894 20407786 call bn_mulmod 
+7895 da20078e arg mem_t7 ,rega 
+7896 da40072e arg mem_t1 ,regb 
+7897 d8a0072e arg mem_t1 ,contw 
+7898 20407786 call bn_mulmod 
+7899 da20075e arg mem_t2 ,rega 
+789a d8a00676 arg mem_cx ,contw 
+789b 204077a8 call bn_sqrmod 
+789c da200676 arg mem_cx ,rega 
+789d da400776 arg mem_t3 ,regb 
+789e d8a00676 arg mem_cx ,contw 
+789f 20407758 call bn_submod 
+78a0 d8c00676 arg mem_cx ,contr 
+78a1 d8a0078e arg mem_t7 ,contw 
+78a2 20407ebe call memcpy24 
+78a3 da20078e arg mem_t7 ,rega 
+78a4 20407748 call bn_lshiftmod 
+78a5 da200776 arg mem_t3 ,rega 
+78a6 da40078e arg mem_t7 ,regb 
+78a7 d8a00776 arg mem_t3 ,contw 
+78a8 20407758 call bn_submod 
+78a9 da200776 arg mem_t3 ,rega 
+78aa da40075e arg mem_t2 ,regb 
+78ab d8a0075e arg mem_t2 ,contw 
+78ac 20407786 call bn_mulmod 
+78ad da20075e arg mem_t2 ,rega 
+78ae da40072e arg mem_t1 ,regb 
+78af d8a0068e arg mem_cy ,contw 
+78b0 20407758 call bn_submod 
+78b1 da20068e arg mem_cy ,rega 
+78b2 da400886 arg mem_p ,regb 
+78b3 d8a0068e arg mem_cy ,contw 
+78b4 18002600 force 0 ,regc 
+78b5 6800868e fetch 1 ,mem_cy 
+78b6 2feffe00 isolate1 0 ,pdata 
+78b7 2040f711 call bn_add ,true 
+78b8 1a626000 copy regc ,alarm 
+78b9 da20068e arg mem_cy ,rega 
+78ba 2040772d call bn_rshift6 
+78bb 680086a5 fetch 1 ,mem_cy5 
+78bc 2e0ffe00 isolate1 0 ,alarm 
+78bd 7920fe07 setflag true ,7 ,pdata 
+78be 600086a5 store 1 ,mem_cy5 
+78bf 20600000 rtn 
+
+eckp_0:
+78c0 680085e3 fetch 1 ,mem_ec_loopc 
+78c1 1fe0ffff increase -1 ,pdata 
+78c2 24610000 nrtn positive 
+78c3 600085e3 store 1 ,mem_ec_loopc 
+78c4 680085e2 fetch 1 ,mem_ec_infinite 
+78c5 205a7803 call ecdbl ,blank 
+78c6 680085e3 fetch 1 ,mem_ec_loopc 
+78c7 d8c006be arg mem_k ,contr 
+78c8 204076ec call bn_testbit 
+78c9 2020f8c0 branch eckp_0 ,true 
+78ca 680085e2 fetch 1 ,mem_ec_infinite 
+78cb 243a78ce nbranch eckp_1 ,blank 
+78cc 20407854 call ecadd 
+78cd 202078c0 branch eckp_0 
+
+eckp_1:
+78ce 7005e200 jam 0 ,mem_ec_infinite 
+78cf d8c005e6 arg mem_ax ,contr 
+78d0 d8a00676 arg mem_cx ,contw 
+78d1 204076f2 call ec_copy 
+78d2 202078c0 branch eckp_0 
+
+ecunmapz:
+78d3 da2006a6 arg mem_cz ,rega 
+78d4 d8a00776 arg mem_t3 ,contw 
+78d5 204077be call bn_invmod 
+78d6 da200776 arg mem_t3 ,rega 
+78d7 d8a0072e arg mem_t1 ,contw 
+78d8 204077a8 call bn_sqrmod 
+78d9 da200676 arg mem_cx ,rega 
+78da da40072e arg mem_t1 ,regb 
+78db d8a0062e arg mem_bx ,contw 
+78dc 20407786 call bn_mulmod 
+78dd da200776 arg mem_t3 ,rega 
+78de da40072e arg mem_t1 ,regb 
+78df d8a0075e arg mem_t2 ,contw 
+78e0 20407786 call bn_mulmod 
+78e1 da20068e arg mem_cy ,rega 
+78e2 da40075e arg mem_t2 ,regb 
+78e3 d8a00646 arg mem_by ,contw 
+78e4 20207786 branch bn_mulmod 
+
+sha_endian_swap2:
+78e5 e8c20000 ifetch 4 ,contr 
+78e6 18002204 force 4 ,rega 
+78e7 18a08a03 increase 3 ,contw 
+
+sha_endian_loop:
+78e8 e0a08000 istore 1 ,contw 
+78e9 1fecfe00 rshift8 pdata ,pdata 
+78ea 18a08bfe increase -2 ,contw 
+78eb 1a20a3ff increase -1 ,rega 
+78ec 2422f8e8 nbranch sha_endian_loop ,zero 
+78ed 18a08a05 increase 5 ,contw 
+78ee c20078e5 loop sha_endian_swap2 
+78ef 20600000 rtn 
+
+sha_getw:
+78f0 18ebfe00 lshift2 queue ,pdata 
+78f1 99608c00 iadd timeup ,contr 
+78f2 e8c20000 ifetch 4 ,contr 
+78f3 20600000 rtn 
+
+sha_r:
+78f4 18006010 force 16 ,alarm 
+78f5 d96005e6 arg memdat ,timeup 
+
+sha_r_loop:
+78f6 1e008ff9 add alarm ,-7 ,queue 
+78f7 204078f0 call sha_getw 
+78f8 98000400 iforce temp 
+78f9 1e008ff0 add alarm ,-16 ,queue 
+78fa 204078f0 call sha_getw 
+78fb 98408400 iadd temp ,temp 
+78fc 1e008ffe add alarm ,-2 ,queue 
+78fd 204078f0 call sha_getw 
+78fe 1fee7e01 shasx pdata ,1 ,pdata 
+78ff 98408400 iadd temp ,temp 
+7900 1e008ff1 add alarm ,-15 ,queue 
+7901 204078f0 call sha_getw 
+7902 1fee7e00 shasx pdata ,0 ,pdata 
+7903 98408400 iadd temp ,temp 
+7904 1e0bfe00 lshift2 alarm ,pdata 
+7905 99608a00 iadd timeup ,contw 
+7906 e0aa0000 istoret 4 ,contw 
+7907 1e00e001 increase 1 ,alarm 
+7908 2e01fe40 compare 64 ,alarm ,0xff 
+7909 2420f8f6 nbranch sha_r_loop ,true 
+790a 20600000 rtn 
+
+sha_init:
+790b d8c008fe arg memh0 ,contr 
+790c 18007007 force 7 ,regext_index 
+
+sha_init_0:
+790d e8c20000 ifetch 4 ,contr 
+790e 98005e00 iforce regext 
+790f 1f00f1ff increase -1 ,regext_index 
+7910 2021790d branch sha_init_0 ,positive 
+7911 20600000 rtn 
+
+sha:
+7912 4776403d bpatchx patch3d_4 ,mem_patch3d 
+7913 204078f4 call sha_r 
+7914 d8a006e6 arg memahbak ,contw 
+7915 18007000 force 0 ,regext_index 
+
+sha_0:
+7916 1de27e00 deposit regext 
+7917 e0a20000 istore 4 ,contw 
+7918 1f00f001 increase 1 ,regext_index 
+7919 2f01fe08 compare 8 ,regext_index ,0xff 
+791a 2420f916 nbranch sha_0 ,true 
+791b 204074b9 call enable_authrom 
+791c d9608700 arg memk ,timeup 
+791d de0005e6 arg memdat ,alarm 
+791e 18007240 force 64 ,loopcnt 
+
+sha_loop:
+791f ee0a0000 ifetcht 4 ,alarm 
+7920 e9620000 ifetch 4 ,timeup 
+7921 19609604 increase 4 ,timeup 
+7922 1e00e004 increase 4 ,alarm 
+7923 9840fe00 iadd temp ,pdata 
+7924 18007007 force 7 ,regext_index 
+7925 9de08400 iadd regext ,temp 
+7926 18007004 force 4 ,regext_index 
+7927 1dee7e03 shasx regext ,3 ,pdata 
+7928 98408400 iadd temp ,temp 
+7929 18007005 force 5 ,regext_index 
+792a 1de27e00 deposit regext 
+792b 18007006 force 6 ,regext_index 
+792c 9de2fe00 ixor regext ,pdata 
+792d 18007004 force 4 ,regext_index 
+792e 9de17e00 iand regext ,pdata 
+792f 18007006 force 6 ,regext_index 
+7930 9de2fe00 ixor regext ,pdata 
+7931 98408400 iadd temp ,temp 
+7932 18007007 force 7 ,regext_index 
+7933 18425e00 copy temp ,regext 
+7934 18007003 force 3 ,regext_index 
+7935 1de27e00 deposit regext 
+7936 9840de00 iadd temp ,regext 
+7937 18007000 force 0 ,regext_index 
+7938 1de27e00 deposit regext 
+7939 18007001 force 1 ,regext_index 
+793a 9de10400 iand regext ,temp 
+793b 9de1fe00 ior regext ,pdata 
+793c 18007002 force 2 ,regext_index 
+793d 9de17e00 iand regext ,pdata 
+793e 98418400 ior temp ,temp 
+793f 18007000 force 0 ,regext_index 
+7940 1dee7e02 shasx regext ,2 ,pdata 
+7941 9840fe00 iadd temp ,pdata 
+7942 18007007 force 7 ,regext_index 
+7943 9de0de00 iadd regext ,regext 
+7944 980efc00 regexrot 
+7945 c200791f loop sha_loop 
+7946 d8c006e6 arg memahbak ,contr 
+7947 18007000 force 0 ,regext_index 
+
+sha_1:
+7948 e8c20000 ifetch 4 ,contr 
+7949 9de0de00 iadd regext ,regext 
+794a 1f00f001 increase 1 ,regext_index 
+794b 2f01fe08 compare 8 ,regext_index ,0xff 
+794c 2420f948 nbranch sha_1 ,true 
+794d 202074bd branch disable_authrom 
+
+sha_result:
+794e d8a00a3e arg memresult ,contw 
+794f 18007007 force 7 ,regext_index 
+
+sha_regext_save:
+7950 1de27e00 deposit regext 
+7951 e0a20000 istore 4 ,contw 
+7952 1f00f1ff increase -1 ,regext_index 
+7953 20217950 branch sha_regext_save ,positive 
+7954 20600000 rtn 
+
+pad_xor:
+7955 d8a005e6 arg memdat ,contw 
+7956 18c08dfc increase -4 ,contr 
+7957 1f262210 sub loopcnt ,16 ,rega 
+
+pad_xor_0:
+7958 e8c20000 ifetch 4 ,contr 
+7959 9842fe00 ixor temp ,pdata 
+795a e0a20000 istore 4 ,contw 
+795b 18c08df8 increase -8 ,contr 
+795c c2007958 loop pad_xor_0 
+795d 1a227200 copy rega ,loopcnt 
+795e 18427e00 deposit temp 
+
+pad_xor_1:
+795f e0a20000 istore 4 ,contw 
+7960 c200795f loop pad_xor_1 
+7961 20600000 rtn 
+
+g_noninit_number_confirm:
+7962 20407967 call g_noninit0 
+7963 2040794e call sha_result 
+7964 2020798d branch g_common0 
+
+g_noninit:
+7965 20407967 call g_noninit0 
+7966 2020798d branch g_common0 
+
+g_noninit0:
+7967 d8c009de arg mem_sp_pubkey_remote_x_end ,contr 
+7968 d8a005e6 arg memdat ,contw 
+7969 18007206 force 6 ,loopcnt 
+796a 20407a71 call memcpy_dword_swap 
+796b d8c04642 arg mem_sp_pubkey_local_x_end ,contr 
+796c 18007206 force 6 ,loopcnt 
+796d 20407a71 call memcpy_dword_swap 
+796e d8c00a3e arg mem_sp_random_remote_end ,contr 
+796f 20407a70 call memcpy_dword_swap4 
+7970 2040790b call sha_init 
+7971 20407912 call sha 
+7972 d8c00a2e arg mem_sp_random_local_end ,contr 
+7973 d8a005e6 arg memdat ,contw 
+7974 20207984 branch g_common 
+
+g_init:
+7975 d8c04642 arg mem_sp_pubkey_local_x_end ,contr 
+7976 d8a005e6 arg memdat ,contw 
+7977 18007206 force 6 ,loopcnt 
+7978 20407a71 call memcpy_dword_swap 
+7979 d8c009de arg mem_sp_pubkey_remote_x_end ,contr 
+797a 18007206 force 6 ,loopcnt 
+797b 20407a71 call memcpy_dword_swap 
+797c d8c00a2e arg mem_sp_random_local_end ,contr 
+797d 20407a70 call memcpy_dword_swap4 
+797e 2040790b call sha_init 
+797f 20407912 call sha 
+7980 d8c00a3e arg mem_sp_random_remote_end ,contr 
+7981 d8a005e6 arg memdat ,contw 
+7982 20407984 call g_common 
+7983 2020798d branch g_common0 
+
+g_common:
+7984 20407a70 call memcpy_dword_swap4 
+7985 58800000 setarg 0x800000 
+7986 1fed7e00 lshift8 pdata ,pdata 
+7987 e0a20000 istore 4 ,contw 
+7988 18007205 force 5 ,loopcnt 
+7989 20407ec6 call memset0 
+798a 58000280 setarg 640 
+798b e0a20000 istore 4 ,contw 
+798c 20207912 branch sha 
+
+g_common0:
+798d 68020a3e fetch 4 ,memresult 
+798e da2003e8 arg 1000 ,rega 
+798f 9a26fc00 idiv rega 
+7990 20407f86 call wait_div_end 
+7991 18077e00 remainder pdata 
+7992 600209ba store 4 ,mem_gkey 
+7993 1807fe00 quotient pdata 
+7994 da2003e8 arg 1000 ,rega 
+7995 9a26fc00 idiv rega 
+7996 20407f86 call wait_div_end 
+7997 18077e00 remainder pdata 
+7998 da2003e8 arg 1000 ,rega 
+7999 9a2ffe00 imul32 rega ,pdata 
+799a 680a09ba fetcht 4 ,mem_gkey 
+799b 9840fe00 iadd temp ,pdata 
+799c 600209ba store 4 ,mem_gkey 
+799d 20600000 rtn 
+
+function_f1_no_key:
+799e 70466400 jam 0 ,mem_passkey_1bit 
+799f 202079a2 branch function_f1_common 
+
+function_f1:
+79a0 6800c662 fetch 1 ,mem_ssp_mode_flag 
+79a1 c081799e bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+
+function_f1_common:
+79a2 4776c03d bpatchx patch3d_5 ,mem_patch3d 
+79a3 58363636 setarg 0x363636 
+79a4 1fed0400 lshift8 pdata ,temp 
+79a5 18418436 or_into 0x36 ,temp 
+79a6 68010a7e fetch 2 ,mem_sp_prarm_stack 
+79a7 1fe20c00 copy pdata ,contr 
+79a8 18007204 force 4 ,loopcnt 
+79a9 20407955 call pad_xor 
+79aa 2040790b call sha_init 
+79ab 20407912 call sha 
+79ac 68010a80 fetch 2 ,mem_sp_prarm_stack + 2 
+79ad 1fe20c00 copy pdata ,contr 
+79ae d8a005e6 arg memdat ,contw 
+79af 18007206 force 6 ,loopcnt 
+79b0 20407a71 call memcpy_dword_swap 
+79b1 68010a82 fetch 2 ,mem_sp_prarm_stack + 4 
+79b2 1fe20c00 copy pdata ,contr 
+79b3 18007206 force 6 ,loopcnt 
+79b4 20407a71 call memcpy_dword_swap 
+79b5 58800000 setarg 0x800000 
+79b6 e0a18000 istore 3 ,contw 
+79b7 6800c664 fetch 1 ,mem_passkey_1bit 
+79b8 e0a08000 istore 1 ,contw 
+79b9 18007e00 force 0 ,pdata 
+79ba e0a40000 istore 8 ,contw 
+79bb 58000388 setarg 0x0388 
+79bc e0a20000 istore 4 ,contw 
+79bd 20407912 call sha 
+79be 2040794e call sha_result 
+79bf d8c00a3e arg memresult ,contr 
+79c0 d8a00706 arg memahsave ,contw 
+79c1 20407ebd call memcpy32 
+79c2 585c5c5c setarg 0x5c5c5c 
+79c3 1fed0400 lshift8 pdata ,temp 
+79c4 1841845c or_into 0x5c ,temp 
+79c5 68010a7e fetch 2 ,mem_sp_prarm_stack 
+79c6 1fe20c00 copy pdata ,contr 
+79c7 18007204 force 4 ,loopcnt 
+79c8 20407955 call pad_xor 
+79c9 2040790b call sha_init 
+79ca 20407912 call sha 
+79cb d8c00726 arg memahsave_end ,contr 
+79cc d8a005e6 arg memdat ,contw 
+79cd 18007208 force 8 ,loopcnt 
+79ce 20407a71 call memcpy_dword_swap 
+79cf 58800000 setarg 0x800000 
+79d0 1fed7e00 lshift8 pdata ,pdata 
+79d1 e0a20000 istore 4 ,contw 
+79d2 20407ec5 call bn_zero 
+79d3 58000300 setarg 0x0300 
+79d4 e0a20000 istore 4 ,contw 
+79d5 20407912 call sha 
+79d6 2020794e branch sha_result 
+
+function_f2:
+79d7 58363636 setarg 0x363636 
+79d8 1fed0400 lshift8 pdata ,temp 
+79d9 18418436 or_into 0x36 ,temp 
+79da d8c00a1e arg mem_sp_dhkey_end ,contr 
+79db 18007206 force 6 ,loopcnt 
+79dc 20407955 call pad_xor 
+79dd 2040790b call sha_init 
+79de 20407912 call sha 
+79df 68010a8a fetch 2 ,mem_sp_prarm_stack + 12 
+79e0 1fe20c00 copy pdata ,contr 
+79e1 d8a005e6 arg memdat ,contw 
+79e2 20407a70 call memcpy_dword_swap4 
+79e3 68010a8c fetch 2 ,mem_sp_prarm_stack + 14 
+79e4 1fe20c00 copy pdata ,contr 
+79e5 20407a70 call memcpy_dword_swap4 
+79e6 5862746c setarg 0x62746c 
+79e7 1fed7e00 lshift8 pdata ,pdata 
+79e8 1fe1fe6b or_into 0x6b ,pdata 
+79e9 e0a20000 istore 4 ,contw 
+79ea d8c00733 arg mem_addr_value_end ,contr 
+79eb 18007203 force 3 ,loopcnt 
+79ec 20407a71 call memcpy_dword_swap 
+79ed 58800000 setarg 0x800000 
+79ee 1fed7e00 lshift8 pdata ,pdata 
+79ef e0a20000 istore 4 ,contw 
+79f0 18007e00 force 0 ,pdata 
+79f1 e0a40000 istore 8 ,contw 
+79f2 58000380 setarg 0x0380 
+79f3 e0a20000 istore 4 ,contw 
+79f4 20407912 call sha 
+79f5 2040794e call sha_result 
+79f6 d8c00a3e arg memresult ,contr 
+79f7 d8a00706 arg memahsave ,contw 
+79f8 20407ebd call memcpy32 
+79f9 585c5c5c setarg 0x5c5c5c 
+79fa 1fed0400 lshift8 pdata ,temp 
+79fb 1841845c or_into 0x5c ,temp 
+79fc d8c00a1e arg mem_sp_dhkey_end ,contr 
+79fd 18007206 force 6 ,loopcnt 
+79fe 20407955 call pad_xor 
+79ff 2040790b call sha_init 
+7a00 20407912 call sha 
+7a01 d8c00726 arg memahsave_end ,contr 
+7a02 d8a005e6 arg memdat ,contw 
+7a03 18007208 force 8 ,loopcnt 
+7a04 20407a71 call memcpy_dword_swap 
+7a05 58800000 setarg 0x800000 
+7a06 1fed7e00 lshift8 pdata ,pdata 
+7a07 e0a20000 istore 4 ,contw 
+7a08 20407ec5 call bn_zero 
+7a09 58000300 setarg 0x0300 
+7a0a e0a20000 istore 4 ,contw 
+7a0b 20407912 call sha 
+7a0c 2020794e branch sha_result 
+
+function_f3a:
+7a0d 6800c662 fetch 1 ,mem_ssp_mode_flag 
+7a0e c0817a1e bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+
+function_f3a_common:
+7a0f 4777403d bpatchx patch3d_6 ,mem_patch3d 
+7a10 58363636 setarg 0x363636 
+7a11 1fed0400 lshift8 pdata ,temp 
+7a12 18418436 or_into 0x36 ,temp 
+7a13 d8c00a1e arg mem_sp_dhkey_end ,contr 
+7a14 18007206 force 6 ,loopcnt 
+7a15 20407955 call pad_xor 
+7a16 2040790b call sha_init 
+7a17 20407912 call sha 
+7a18 d8c00a3e arg mem_sp_random_remote_end ,contr 
+7a19 d8a005e6 arg memdat ,contw 
+7a1a 20407a70 call memcpy_dword_swap4 
+7a1b d8c00a2e arg mem_sp_random_local_end ,contr 
+7a1c 20407a70 call memcpy_dword_swap4 
+7a1d 20207a33 branch function_f3_common 
+
+function_f3a_no_pin:
+7a1e 58000000 setarg 0 
+7a1f 6002468a store 4 ,mem_pin 
+7a20 20207a0f branch function_f3a_common 
+
+function_f3b_no_pin:
+7a21 58000000 setarg 0 
+7a22 6002468a store 4 ,mem_pin 
+7a23 20207a26 branch function_f3b_common 
+
+function_f3b:
+7a24 6800c662 fetch 1 ,mem_ssp_mode_flag 
+7a25 c0817a21 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+
+function_f3b_common:
+7a26 58363636 setarg 0x363636 
+7a27 1fed0400 lshift8 pdata ,temp 
+7a28 18418436 or_into 0x36 ,temp 
+7a29 d8c00a1e arg mem_sp_dhkey_end ,contr 
+7a2a 18007206 force 6 ,loopcnt 
+7a2b 20407955 call pad_xor 
+7a2c 2040790b call sha_init 
+7a2d 20407912 call sha 
+7a2e d8c00a2e arg mem_sp_random_local_end ,contr 
+7a2f d8a005e6 arg memdat ,contw 
+7a30 20407a70 call memcpy_dword_swap4 
+7a31 d8c00a3e arg mem_sp_random_remote_end ,contr 
+7a32 20407a70 call memcpy_dword_swap4 
+
+function_f3_common:
+7a33 58000000 setarg 0x0 
+7a34 e0a40000 istore 8 ,contw 
+7a35 e0a20000 istore 4 ,contw 
+7a36 6802468a fetch 4 ,mem_pin 
+7a37 e0a20000 istore 4 ,contw 
+7a38 18a20400 copy contw ,temp 
+7a39 70072680 jam 0x80 ,mem_addr_padding 
+7a3a 18420a00 copy temp ,contw 
+7a3b d8c00736 arg mem_addr_iocap_end ,contr 
+7a3c 20407a70 call memcpy_dword_swap4 
+7a3d 20407912 call sha 
+7a3e d8a005e6 arg memdat ,contw 
+7a3f 18007207 force 7 ,loopcnt 
+7a40 20407ec6 call memset0 
+7a41 e0a20000 istore 4 ,contw 
+7a42 580003f8 setarg 0x03F8 
+7a43 e0a20000 istore 4 ,contw 
+7a44 20407912 call sha 
+7a45 2040794e call sha_result 
+7a46 d8c00a3e arg memresult ,contr 
+7a47 d8a00706 arg memahsave ,contw 
+7a48 20407ebd call memcpy32 
+7a49 585c5c5c setarg 0x5c5c5c 
+7a4a 1fed0400 lshift8 pdata ,temp 
+7a4b 1841845c or_into 0x5c ,temp 
+7a4c d8c00a1e arg mem_sp_dhkey_end ,contr 
+7a4d 18007206 force 6 ,loopcnt 
+7a4e 20407955 call pad_xor 
+7a4f 2040790b call sha_init 
+7a50 20407912 call sha 
+7a51 d8c00726 arg memahsave_end ,contr 
+7a52 d8a005e6 arg memdat ,contw 
+7a53 18007208 force 8 ,loopcnt 
+7a54 20407a71 call memcpy_dword_swap 
+7a55 58800000 setarg 0x800000 
+7a56 1fed7e00 lshift8 pdata ,pdata 
+7a57 e0a20000 istore 4 ,contw 
+7a58 20407ec5 call bn_zero 
+7a59 58000300 setarg 0x0300 
+7a5a e0a20000 istore 4 ,contw 
+7a5b 20407912 call sha 
+7a5c 2020794e branch sha_result 
+
+eckp_calc_init:
+7a5d 7005e3c0 jam 192 ,mem_ec_loopc 
+
+eckp_calc_init_1:
+7a5e 680085e3 fetch 1 ,mem_ec_loopc 
+7a5f 207a0000 rtn blank 
+7a60 1fe0ffff increase -1 ,pdata 
+7a61 600085e3 store 1 ,mem_ec_loopc 
+7a62 d8c006be arg mem_k ,contr 
+7a63 204076ec call bn_testbit 
+7a64 2020fa5e branch eckp_calc_init_1 ,true 
+7a65 d8c005e6 arg mem_ax ,contr 
+7a66 d8a00676 arg mem_cx ,contw 
+7a67 202076f2 branch ec_copy 
+
+eckp_calc:
+7a68 20407803 call ecdbl 
+7a69 680085e3 fetch 1 ,mem_ec_loopc 
+7a6a 1fe0ffff increase -1 ,pdata 
+7a6b 600085e3 store 1 ,mem_ec_loopc 
+7a6c d8c006be arg mem_k ,contr 
+7a6d 204076ec call bn_testbit 
+7a6e 20608000 rtn true 
+7a6f 20207854 branch ecadd 
+
+memcpy_dword_swap4:
+7a70 18007204 force 4 ,loopcnt 
+
+memcpy_dword_swap:
+7a71 18c08dfc increase -4 ,contr 
+
+memcpy_dword_swap_loop:
+7a72 e8c20000 ifetch 4 ,contr 
+7a73 e0a20000 istore 4 ,contw 
+7a74 18c08df8 increase -8 ,contr 
+7a75 c2007a72 loop memcpy_dword_swap_loop 
+7a76 20600000 rtn 
+
+sp_initialize_256:
+7a77 4777c03d bpatchx patch3d_7 ,mem_patch3d 
+7a78 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+7a79 203a5af0 branch le_secure_connection_disable ,blank 
+7a7a 20405aec call le_secure_connection_enable 
+7a7b 20407583 call sp_clear_flags 
+7a7c 20207a7d branch sp_pubkey_calc_256 
+
+sp_pubkey_calc_256:
+7a7d 6800c4c3 fetch 1 ,mem_le_sc_local_key_invalid 
+7a7e c1800000 rtnne sp_key_invalid 
+7a7f 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7a80 c1800000 rtnne sp_calc_standby 
+7a81 d8a045b2 arg mem_le_private_key_256 ,contw 
+7a82 18000e0f force 15 ,queue 
+7a83 204076a2 call random_generator 
+7a84 180a7e00 random pdata 
+7a85 1fe37e00 rshift pdata ,pdata 
+7a86 e0a10000 istore 2 ,contw 
+7a87 d8a00766 arg mem_k_256 ,contw 
+7a88 d8c045b2 arg mem_le_private_key_256 ,contr 
+7a89 20407ebd call memcpy32 
+7a8a d8a00646 arg mem_ax_256 ,contw 
+7a8b d8c0095e arg mem_gx_256 ,contr 
+7a8c 20407eb3 call memcpy64 
+7a8d d8a00686 arg mem_az_256 ,contw 
+7a8e 20407ed0 call clear_mem_256 
+7a8f 70068601 jam 1 ,mem_az_256 
+7a90 20407ac7 call eckp_calc_init_256 
+7a91 7044c003 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+7a92 20600000 rtn 
+
+sp_pubkey_generated_256:
+7a93 d8a045d2 arg mem_le_pubkey_local_x_256 ,contw 
+7a94 d8c006a6 arg mem_bx_256 ,contr 
+7a95 20407eb3 call memcpy64 
+7a96 7044c303 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+7a97 7044c000 jam sp_calc_standby ,mem_le_sc_calc 
+7a98 20600000 rtn 
+
+sp_dhkey_calc_256:
+7a99 680089b9 fetch 1 ,mem_sp_dhkey_invalid 
+7a9a c1800000 rtnne sp_key_invalid 
+7a9b 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7a9c c1800000 rtnne sp_calc_standby 
+7a9d d8a00766 arg mem_k_256 ,contw 
+7a9e d8c045b2 arg mem_le_private_key_256 ,contr 
+7a9f 20407ebd call memcpy32 
+7aa0 d8a00646 arg mem_ax_256 ,contw 
+7aa1 d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+7aa2 20407eb3 call memcpy64 
+7aa3 d8a00686 arg mem_az_256 ,contw 
+7aa4 20407ed0 call clear_mem_256 
+7aa5 70068601 jam 1 ,mem_az_256 
+7aa6 20407ac7 call eckp_calc_init_256 
+7aa7 7044c004 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+7aa8 20600000 rtn 
+
+sp_dhkey_generated_256:
+7aa9 d8a009fe arg mem_le_dhkey_256 ,contw 
+7aaa d8c006a6 arg mem_bx_256 ,contr 
+7aab 20407ebd call memcpy32 
+7aac 7009b903 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+7aad 7044c000 jam sp_calc_standby ,mem_le_sc_calc 
+7aae 20600000 rtn 
+
+sp_calc_sequence_256:
+7aaf 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+7ab0 207a0000 rtn blank 
+7ab1 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7ab2 207a0000 rtn blank 
+7ab3 1fe0fe80 increase 0x80 ,pdata 
+7ab4 6000c4c0 store 1 ,mem_le_sc_calc 
+7ab5 c3838000 rtnbit1 7 
+7ab6 680105e3 fetch 2 ,mem_ec_loopc 
+7ab7 203a7ab9 branch sp_calc_sequence_done_256 ,blank 
+7ab8 20207abf branch eckp_calc_256 
+
+sp_calc_sequence_done_256:
+7ab9 4778403e bpatchx patch3e_0 ,mem_patch3e 
+7aba 20407ad4 call ecunmapz_256 
+7abb 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7abc c001fa93 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+7abd c0027aa9 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+7abe 20600000 rtn 
+
+eckp_calc_256:
+7abf 20407ae6 call ecdbl_256 
+7ac0 680105e3 fetch 2 ,mem_ec_loopc 
+7ac1 1fe0ffff increase -1 ,pdata 
+7ac2 600105e3 store 2 ,mem_ec_loopc 
+7ac3 d8c00766 arg mem_k_256 ,contr 
+7ac4 204076ec call bn_testbit 
+7ac5 20608000 rtn true 
+7ac6 20207b37 branch ecadd_256 
+
+eckp_calc_init_256:
+7ac7 4778c03e bpatchx patch3e_1 ,mem_patch3e 
+7ac8 58000100 setarg 256 ,pdata 
+7ac9 600105e3 store 2 ,mem_ec_loopc 
+
+eckp_calc_init_256_1:
+7aca 680105e3 fetch 2 ,mem_ec_loopc 
+7acb 207a0000 rtn blank 
+7acc 1fe0ffff increase -1 ,pdata 
+7acd 600105e3 store 2 ,mem_ec_loopc 
+7ace d8c00766 arg mem_k_256 ,contr 
+7acf 204076ec call bn_testbit 
+7ad0 2020faca branch eckp_calc_init_256_1 ,true 
+7ad1 d8c00646 arg mem_ax_256 ,contr 
+7ad2 d8a00706 arg mem_cx_256 ,contw 
+7ad3 20207eb2 branch memcpy96 
+
+ecunmapz_256:
+7ad4 da200746 arg mem_cz_256 ,rega 
+7ad5 d8a00846 arg mem_t3_256 ,contw 
+7ad6 20407ba3 call bn_invmod_256 
+7ad7 da200846 arg mem_t3_256 ,rega 
+7ad8 d8a007e6 arg mem_t1_256 ,contw 
+7ad9 20407c79 call bn_sqrmod_256 
+7ada da200706 arg mem_cx_256 ,rega 
+7adb da4007e6 arg mem_t1_256 ,regb 
+7adc d8a006a6 arg mem_bx_256 ,contw 
+7add 20407be1 call bn_mulmod_256 
+7ade da200846 arg mem_t3_256 ,rega 
+7adf da4007e6 arg mem_t1_256 ,regb 
+7ae0 d8a00826 arg mem_t2_256 ,contw 
+7ae1 20407be1 call bn_mulmod_256 
+7ae2 da200726 arg mem_cy_256 ,rega 
+7ae3 da400826 arg mem_t2_256 ,regb 
+7ae4 d8a006c6 arg mem_by_256 ,contw 
+7ae5 20207be1 branch bn_mulmod_256 
+
+ecdbl_256:
+7ae6 da200746 arg mem_cz_256 ,rega 
+7ae7 d8a00826 arg mem_t2_256 ,contw 
+7ae8 20407c79 call bn_sqrmod_256 
+7ae9 da200826 arg mem_t2_256 ,rega 
+7aea d8a00846 arg mem_t3_256 ,contw 
+7aeb 20407c79 call bn_sqrmod_256 
+7aec da20093e arg mem_a_256 ,rega 
+7aed da400846 arg mem_t3_256 ,regb 
+7aee d8a00846 arg mem_t3_256 ,contw 
+7aef 20407be1 call bn_mulmod_256 
+7af0 da200706 arg mem_cx_256 ,rega 
+7af1 d8a00826 arg mem_t2_256 ,contw 
+7af2 20407c79 call bn_sqrmod_256 
+7af3 d8c00826 arg mem_t2_256 ,contr 
+7af4 d8a007e6 arg mem_t1_256 ,contw 
+7af5 20407ebd call memcpy32 
+7af6 da2007e6 arg mem_t1_256 ,rega 
+7af7 20407c80 call bn_lshiftmod_256 
+7af8 da200826 arg mem_t2_256 ,rega 
+7af9 da4007e6 arg mem_t1_256 ,regb 
+7afa d8a00826 arg mem_t2_256 ,contw 
+7afb 20407c7d call bn_addmod_256 
+7afc da200826 arg mem_t2_256 ,rega 
+7afd da400846 arg mem_t3_256 ,regb 
+7afe d8a00826 arg mem_t2_256 ,contw 
+7aff 20407c7d call bn_addmod_256 
+7b00 d8c00706 arg mem_cx_256 ,contr 
+7b01 d8a007e6 arg mem_t1_256 ,contw 
+7b02 20407ebd call memcpy32 
+7b03 da200726 arg mem_cy_256 ,rega 
+7b04 d8a00846 arg mem_t3_256 ,contw 
+7b05 20407c79 call bn_sqrmod_256 
+7b06 da2007e6 arg mem_t1_256 ,rega 
+7b07 20407c80 call bn_lshiftmod_256 
+7b08 da2007e6 arg mem_t1_256 ,rega 
+7b09 20407c80 call bn_lshiftmod_256 
+7b0a da2007e6 arg mem_t1_256 ,rega 
+7b0b da400846 arg mem_t3_256 ,regb 
+7b0c d8a007e6 arg mem_t1_256 ,contw 
+7b0d 20407be1 call bn_mulmod_256 
+7b0e da200846 arg mem_t3_256 ,rega 
+7b0f d8a00806 arg mem_t0_256 ,contw 
+7b10 20407c79 call bn_sqrmod_256 
+7b11 da200806 arg mem_t0_256 ,rega 
+7b12 20407c80 call bn_lshiftmod_256 
+7b13 da200806 arg mem_t0_256 ,rega 
+7b14 20407c80 call bn_lshiftmod_256 
+7b15 da200806 arg mem_t0_256 ,rega 
+7b16 20407c80 call bn_lshiftmod_256 
+7b17 d8c00726 arg mem_cy_256 ,contr 
+7b18 d8a00846 arg mem_t3_256 ,contw 
+7b19 20407ebd call memcpy32 
+7b1a da200846 arg mem_t3_256 ,rega 
+7b1b 20407c80 call bn_lshiftmod_256 
+7b1c da200846 arg mem_t3_256 ,rega 
+7b1d da400746 arg mem_cz_256 ,regb 
+7b1e d8a00746 arg mem_cz_256 ,contw 
+7b1f 20407be1 call bn_mulmod_256 
+7b20 da200826 arg mem_t2_256 ,rega 
+7b21 d8a00846 arg mem_t3_256 ,contw 
+7b22 20407c79 call bn_sqrmod_256 
+7b23 da200846 arg mem_t3_256 ,rega 
+7b24 da4007e6 arg mem_t1_256 ,regb 
+7b25 d8a00846 arg mem_t3_256 ,contw 
+7b26 20407c96 call bn_submod_256 
+7b27 da200846 arg mem_t3_256 ,rega 
+7b28 da4007e6 arg mem_t1_256 ,regb 
+7b29 d8a00706 arg mem_cx_256 ,contw 
+7b2a 20407c96 call bn_submod_256 
+7b2b da2007e6 arg mem_t1_256 ,rega 
+7b2c da400706 arg mem_cx_256 ,regb 
+7b2d d8a00846 arg mem_t3_256 ,contw 
+7b2e 20407c96 call bn_submod_256 
+7b2f da200846 arg mem_t3_256 ,rega 
+7b30 da400826 arg mem_t2_256 ,regb 
+7b31 d8a00846 arg mem_t3_256 ,contw 
+7b32 20407be1 call bn_mulmod_256 
+7b33 da200846 arg mem_t3_256 ,rega 
+7b34 da400806 arg mem_t0_256 ,regb 
+7b35 d8a00726 arg mem_cy_256 ,contw 
+7b36 20207c96 branch bn_submod_256 
+
+ecadd_256:
+7b37 da200686 arg mem_az_256 ,rega 
+7b38 d8a00866 arg mem_t7_256 ,contw 
+7b39 20407c79 call bn_sqrmod_256 
+7b3a da200706 arg mem_cx_256 ,rega 
+7b3b da400866 arg mem_t7_256 ,regb 
+7b3c d8a00806 arg mem_t0_256 ,contw 
+7b3d 20407be1 call bn_mulmod_256 
+7b3e da200686 arg mem_az_256 ,rega 
+7b3f da400866 arg mem_t7_256 ,regb 
+7b40 d8a00866 arg mem_t7_256 ,contw 
+7b41 20407be1 call bn_mulmod_256 
+7b42 da200726 arg mem_cy_256 ,rega 
+7b43 da400866 arg mem_t7_256 ,regb 
+7b44 d8a007e6 arg mem_t1_256 ,contw 
+7b45 20407be1 call bn_mulmod_256 
+7b46 da200746 arg mem_cz_256 ,rega 
+7b47 d8a00866 arg mem_t7_256 ,contw 
+7b48 20407c79 call bn_sqrmod_256 
+7b49 da200646 arg mem_ax_256 ,rega 
+7b4a da400866 arg mem_t7_256 ,regb 
+7b4b d8a00826 arg mem_t2_256 ,contw 
+7b4c 20407be1 call bn_mulmod_256 
+7b4d da200746 arg mem_cz_256 ,rega 
+7b4e da400866 arg mem_t7_256 ,regb 
+7b4f d8a00866 arg mem_t7_256 ,contw 
+7b50 20407be1 call bn_mulmod_256 
+7b51 da200666 arg mem_ay_256 ,rega 
+7b52 da400866 arg mem_t7_256 ,regb 
+7b53 d8a00846 arg mem_t3_256 ,contw 
+7b54 20407be1 call bn_mulmod_256 
+7b55 da400806 arg mem_t0_256 ,regb 
+7b56 da200826 arg mem_t2_256 ,rega 
+7b57 d8a00866 arg mem_t7_256 ,contw 
+7b58 20407c96 call bn_submod_256 
+7b59 da200806 arg mem_t0_256 ,rega 
+7b5a da400826 arg mem_t2_256 ,regb 
+7b5b d8a00806 arg mem_t0_256 ,contw 
+7b5c 20407c7d call bn_addmod_256 
+7b5d da4007e6 arg mem_t1_256 ,regb 
+7b5e da200846 arg mem_t3_256 ,rega 
+7b5f d8a00826 arg mem_t2_256 ,contw 
+7b60 20407c96 call bn_submod_256 
+7b61 da2007e6 arg mem_t1_256 ,rega 
+7b62 da400846 arg mem_t3_256 ,regb 
+7b63 d8a007e6 arg mem_t1_256 ,contw 
+7b64 20407c7d call bn_addmod_256 
+7b65 da2007e6 arg mem_t1_256 ,rega 
+7b66 da400866 arg mem_t7_256 ,regb 
+7b67 d8a007e6 arg mem_t1_256 ,contw 
+7b68 20407be1 call bn_mulmod_256 
+7b69 da200746 arg mem_cz_256 ,rega 
+7b6a da400686 arg mem_az_256 ,regb 
+7b6b d8a00846 arg mem_t3_256 ,contw 
+7b6c 20407be1 call bn_mulmod_256 
+7b6d da200846 arg mem_t3_256 ,rega 
+7b6e da400866 arg mem_t7_256 ,regb 
+7b6f d8a00746 arg mem_cz_256 ,contw 
+7b70 20407be1 call bn_mulmod_256 
+7b71 da200866 arg mem_t7_256 ,rega 
+7b72 d8a00866 arg mem_t7_256 ,contw 
+7b73 20407c79 call bn_sqrmod_256 
+7b74 da200866 arg mem_t7_256 ,rega 
+7b75 da400806 arg mem_t0_256 ,regb 
+7b76 d8a00846 arg mem_t3_256 ,contw 
+7b77 20407be1 call bn_mulmod_256 
+7b78 da200866 arg mem_t7_256 ,rega 
+7b79 da4007e6 arg mem_t1_256 ,regb 
+7b7a d8a007e6 arg mem_t1_256 ,contw 
+7b7b 20407be1 call bn_mulmod_256 
+7b7c da200826 arg mem_t2_256 ,rega 
+7b7d d8a00706 arg mem_cx_256 ,contw 
+7b7e 20407c79 call bn_sqrmod_256 
+7b7f da200706 arg mem_cx_256 ,rega 
+7b80 da400846 arg mem_t3_256 ,regb 
+7b81 d8a00706 arg mem_cx_256 ,contw 
+7b82 20407c96 call bn_submod_256 
+7b83 d8c00706 arg mem_cx_256 ,contr 
+7b84 d8a00866 arg mem_t7_256 ,contw 
+7b85 20407ebd call memcpy32 
+7b86 da200866 arg mem_t7_256 ,rega 
+7b87 20407c80 call bn_lshiftmod_256 
+7b88 da200846 arg mem_t3_256 ,rega 
+7b89 da400866 arg mem_t7_256 ,regb 
+7b8a d8a00846 arg mem_t3_256 ,contw 
+7b8b 20407c96 call bn_submod_256 
+7b8c da200846 arg mem_t3_256 ,rega 
+7b8d da400826 arg mem_t2_256 ,regb 
+7b8e d8a00826 arg mem_t2_256 ,contw 
+7b8f 20407be1 call bn_mulmod_256 
+7b90 da200826 arg mem_t2_256 ,rega 
+7b91 da4007e6 arg mem_t1_256 ,regb 
+7b92 d8a00726 arg mem_cy_256 ,contw 
+7b93 20407c96 call bn_submod_256 
+7b94 da200726 arg mem_cy_256 ,rega 
+7b95 da40091e arg mem_p_256 ,regb 
+7b96 d8a00726 arg mem_cy_256 ,contw 
+7b97 18002600 force 0 ,regc 
+7b98 68008726 fetch 1 ,mem_cy_256 
+7b99 2feffe00 isolate1 0 ,pdata 
+7b9a 2040fc7b call bn_add_256 ,true 
+7b9b 1a626000 copy regc ,alarm 
+7b9c da200726 arg mem_cy_256 ,rega 
+7b9d 20407cab call bn_rshift_256 
+7b9e 68008745 fetch 1 ,mem_cy5_256 
+7b9f 2e0ffe00 isolate1 0 ,alarm 
+7ba0 7920fe07 setflag true ,7 ,pdata 
+7ba1 60008745 store 1 ,mem_cy5_256 
+7ba2 20600000 rtn 
+
+bn_invmod_256:
+7ba3 18a21600 copy contw ,timeup 
+7ba4 d8a00806 arg mem_tmp0_256 ,contw 
+7ba5 20407ed0 call clear_mem_256 
+7ba6 18007e00 force 0 ,pdata 
+7ba7 60020826 store 4 ,mem_t2_256 
+7ba8 70080601 jam 1 ,mem_tmp0_256 
+7ba9 d8a00786 arg mem_tmp1_256 ,contw 
+7baa 20407ed2 call clear_mem_512 
+7bab d8c0091e arg mem_p_256 ,contr 
+7bac d8a007c6 arg mem_tmp2_256 ,contw 
+7bad 20407ebd call memcpy32 
+7bae 1a220c00 copy rega ,contr 
+7baf d8a007e6 arg mem_tmp3_256 ,contw 
+7bb0 20407ebd call memcpy32 
+
+bn_invmod_256_2:
+7bb1 d8c007e6 arg mem_tmp3_256 ,contr 
+7bb2 20407cb5 call bn_eq_zero_256 
+7bb3 203a7bda branch bn_invmod_256_0 ,blank 
+7bb4 da2007e6 arg mem_tmp3_256 ,rega 
+7bb5 da400806 arg mem_tmp0_256 ,regb 
+7bb6 20407cb8 call bn_rshifteven_256 
+7bb7 da2007c6 arg mem_tmp2_256 ,rega 
+7bb8 da400786 arg mem_tmp1_256 ,regb 
+7bb9 20407cb8 call bn_rshifteven_256 
+7bba da2007e6 arg mem_tmp3_256 ,rega 
+7bbb da4007c6 arg mem_tmp2_256 ,regb 
+7bbc 20407cb1 call bn_bigeq_256 
+7bbd 20217bcc branch bn_invmod_256_1 ,positive 
+7bbe da2007c6 arg mem_tmp2_256 ,rega 
+7bbf da4007e6 arg mem_tmp3_256 ,regb 
+7bc0 1a220a00 copy rega ,contw 
+7bc1 20407ca9 call bn_sub_256 
+7bc2 da200806 arg mem_tmp0_256 ,rega 
+7bc3 da400786 arg mem_tmp1_256 ,regb 
+7bc4 1a420a00 copy regb ,contw 
+7bc5 20407c7b call bn_add_256 
+7bc6 ea208000 ifetch 1 ,rega 
+7bc7 9a60a600 iadd regc ,regc 
+7bc8 ea408000 ifetch 1 ,regb 
+7bc9 9a60fe00 iadd regc ,pdata 
+7bca e2408000 istore 1 ,regb 
+7bcb 20207bb1 branch bn_invmod_256_2 
+
+bn_invmod_256_1:
+7bcc da2007e6 arg mem_tmp3_256 ,rega 
+7bcd da4007c6 arg mem_tmp2_256 ,regb 
+7bce 1a220a00 copy rega ,contw 
+7bcf 20407ca9 call bn_sub_256 
+7bd0 da200786 arg mem_tmp1_256 ,rega 
+7bd1 da400806 arg mem_tmp0_256 ,regb 
+7bd2 1a420a00 copy regb ,contw 
+7bd3 20407c7b call bn_add_256 
+7bd4 ea208000 ifetch 1 ,rega 
+7bd5 9a60a600 iadd regc ,regc 
+7bd6 ea408000 ifetch 1 ,regb 
+7bd7 9a60fe00 iadd regc ,pdata 
+7bd8 e2408000 istore 1 ,regb 
+7bd9 20207bb1 branch bn_invmod_256_2 
+
+bn_invmod_256_0:
+7bda da200786 arg mem_tmp1_256 ,rega 
+7bdb 19620a00 copy timeup ,contw 
+7bdc 20407c0a call bn_p256mod 
+7bdd da20091e arg mem_p_256 ,rega 
+7bde 19622400 copy timeup ,regb 
+7bdf 19620a00 copy timeup ,contw 
+7be0 20207c96 branch bn_submod_256 
+
+bn_mulmod_256:
+7be1 18a21600 copy contw ,timeup 
+7be2 18007000 force 0 ,regext_index 
+7be3 d8a00786 arg mem_tmp1_256 ,contw 
+7be4 20407ed2 call clear_mem_512 
+7be5 d8a00ad2 arg mem_regext ,contw 
+7be6 20407ed2 call clear_mem_512 
+7be7 1a220c00 copy rega ,contr 
+7be8 700ad200 jam 0 ,mem_regext 
+7be9 58000000 setarg 0 
+7bea 20407c73 call bn_load_mem 
+7beb 1a420c00 copy regb ,contr 
+7bec 20407c77 call bn_load_256 
+7bed 18000e00 force 0 ,queue 
+7bee d8a00786 arg mem_tmp1_256 ,contw 
+
+bn_mulmod_256_1:
+7bef d8400ad2 arg mem_regext ,temp 
+7bf0 18e22400 copy queue ,regb 
+7bf1 1a4bfe00 lshift2 regb ,pdata 
+7bf2 9840a400 iadd temp ,regb 
+7bf3 18000400 force 0 ,temp 
+7bf4 18002600 force 0 ,regc 
+
+bn_mulmod_256_0:
+7bf5 e8a20000 ifetch 4 ,contw 
+7bf6 98002200 iforce rega 
+7bf7 ea420000 ifetch 4 ,regb 
+7bf8 1a627000 copy regc ,regext_index 
+7bf9 9deffe00 imul32 regext ,pdata 
+7bfa 9a20fe00 iadd rega ,pdata 
+7bfb 9840fe00 iadd temp ,pdata 
+7bfc e0a20000 istore 4 ,contw 
+7bfd 1fef0400 rshift32 pdata ,temp 
+7bfe 1a60a601 increase 1 ,regc 
+7bff 2a61fe08 compare 8 ,regc ,0xff 
+7c00 2420fbf5 nbranch bn_mulmod_256_0 ,true 
+7c01 18427e00 deposit temp 
+7c02 e0a20000 istore 4 ,contw 
+7c03 18a08be0 increase -32 ,contw 
+7c04 18e08e01 increase 1 ,queue 
+7c05 28e1fe08 compare 8 ,queue ,0xff 
+7c06 2420fbef nbranch bn_mulmod_256_1 ,true 
+7c07 da200786 arg mem_tmp1_256 ,rega 
+7c08 19620a00 copy timeup ,contw 
+7c09 20207c0a branch bn_p256mod 
+
+bn_p256mod:
+7c0a 4779403e bpatchx patch3e_2 ,mem_patch3e 
+7c0b 18a21600 copy contw ,timeup 
+7c0c 1a226000 copy rega ,alarm 
+7c0d da4007c6 arg mem_tmp2_256 ,regb 
+7c0e 1a420a00 copy regb ,contw 
+7c0f 20407ecd call memset0_4 
+7c10 e0a40000 istore 8 ,contw 
+7c11 1a208c2c add rega ,44 ,contr 
+7c12 20407eb9 call memcpy8 
+7c13 20407eb5 call memcpy12 
+7c14 1a422200 copy regb ,rega 
+7c15 20407c80 call bn_lshiftmod_256 
+7c16 da4007c6 arg mem_tmp2_256 ,regb 
+7c17 1e022200 copy alarm ,rega 
+7c18 19620a00 copy timeup ,contw 
+7c19 20407c7d call bn_addmod_256 
+7c1a da4007c6 arg mem_tmp2_256 ,regb 
+7c1b 1a420a00 copy regb ,contw 
+7c1c 20407ecd call memset0_4 
+7c1d e0a40000 istore 8 ,contw 
+7c1e 1e008c30 add alarm ,48 ,contr 
+7c1f 20407ebf call memcpy16 
+7c20 20407ecd call memset0_4 
+7c21 1a422200 copy regb ,rega 
+7c22 20407c80 call bn_lshiftmod_256 
+7c23 da4007c6 arg mem_tmp2_256 ,regb 
+7c24 19622200 copy timeup ,rega 
+7c25 1a220a00 copy rega ,contw 
+7c26 20407c7d call bn_addmod_256 
+7c27 da4007c6 arg mem_tmp2_256 ,regb 
+7c28 1a420a00 copy regb ,contw 
+7c29 1e008c20 add alarm ,32 ,contr 
+7c2a 20407eb5 call memcpy12 
+7c2b 20407ecd call memset0_4 
+7c2c e0a40000 istore 8 ,contw 
+7c2d 1e008c38 add alarm ,56 ,contr 
+7c2e 20407eb9 call memcpy8 
+7c2f 19622200 copy timeup ,rega 
+7c30 1a220a00 copy rega ,contw 
+7c31 20407c7d call bn_addmod_256 
+7c32 da4007c6 arg mem_tmp2_256 ,regb 
+7c33 1a420a00 copy regb ,contw 
+7c34 1e008c24 add alarm ,36 ,contr 
+7c35 20407eb5 call memcpy12 
+7c36 1e008c34 add alarm ,52 ,contr 
+7c37 20407eb5 call memcpy12 
+7c38 1e008c34 add alarm ,52 ,contr 
+7c39 20407eb6 call memcpy4 
+7c3a 1e008c20 add alarm ,32 ,contr 
+7c3b 20407eb6 call memcpy4 
+7c3c 19622200 copy timeup ,rega 
+7c3d 1a220a00 copy rega ,contw 
+7c3e 20407c7d call bn_addmod_256 
+7c3f da4007c6 arg mem_tmp2_256 ,regb 
+7c40 1a420a00 copy regb ,contw 
+7c41 1e008c2c add alarm ,44 ,contr 
+7c42 20407eb5 call memcpy12 
+7c43 20407ecd call memset0_4 
+7c44 e0a40000 istore 8 ,contw 
+7c45 1e008c20 add alarm ,32 ,contr 
+7c46 20407eb6 call memcpy4 
+7c47 1e008c28 add alarm ,40 ,contr 
+7c48 20407eb6 call memcpy4 
+7c49 19622200 copy timeup ,rega 
+7c4a 1a220a00 copy rega ,contw 
+7c4b 20407c96 call bn_submod_256 
+7c4c da4007c6 arg mem_tmp2_256 ,regb 
+7c4d 1a420a00 copy regb ,contw 
+7c4e 1e008c30 add alarm ,48 ,contr 
+7c4f 20407eb9 call memcpy8 
+7c50 20407eb9 call memcpy8 
+7c51 18007e00 force 0 ,pdata 
+7c52 e0a40000 istore 8 ,contw 
+7c53 1e008c24 add alarm ,36 ,contr 
+7c54 20407eb6 call memcpy4 
+7c55 1e008c2c add alarm ,44 ,contr 
+7c56 20407eb6 call memcpy4 
+7c57 19622200 copy timeup ,rega 
+7c58 1a220a00 copy rega ,contw 
+7c59 20407c96 call bn_submod_256 
+7c5a da4007c6 arg mem_tmp2_256 ,regb 
+7c5b 1a420a00 copy regb ,contw 
+7c5c 1e008c34 add alarm ,52 ,contr 
+7c5d 20407eb5 call memcpy12 
+7c5e 1e008c20 add alarm ,32 ,contr 
+7c5f 20407eb5 call memcpy12 
+7c60 20407ecd call memset0_4 
+7c61 1e008c30 add alarm ,48 ,contr 
+7c62 20407eb6 call memcpy4 
+7c63 19622200 copy timeup ,rega 
+7c64 1a220a00 copy rega ,contw 
+7c65 20407c96 call bn_submod_256 
+7c66 da4007c6 arg mem_tmp2_256 ,regb 
+7c67 1a420a00 copy regb ,contw 
+7c68 1e008c38 add alarm ,56 ,contr 
+7c69 20407eb9 call memcpy8 
+7c6a 20407ecd call memset0_4 
+7c6b 1e008c24 add alarm ,36 ,contr 
+7c6c 20407eb5 call memcpy12 
+7c6d 20407ecd call memset0_4 
+7c6e 1e008c34 add alarm ,52 ,contr 
+7c6f 20407eb6 call memcpy4 
+7c70 19622200 copy timeup ,rega 
+7c71 1a220a00 copy rega ,contw 
+7c72 20207c96 branch bn_submod_256 
+
+bn_load_mem:
+7c73 18007220 force 32 ,loopcnt 
+7c74 d8a00ad2 arg mem_regext ,contw 
+7c75 98a08a00 iadd contw ,contw 
+7c76 20207f01 branch memcpy 
+
+bn_load_256:
+7c77 18007208 force 8 ,loopcnt 
+7c78 20207781 branch bn_load_0 
+
+bn_sqrmod_256:
+7c79 1a222400 copy rega ,regb 
+7c7a 20207be1 branch bn_mulmod_256 
+
+bn_add_256:
+7c7b 18007208 force 8 ,loopcnt 
+7c7c 20207712 branch bn_add + 1 
+
+bn_addmod_256:
+7c7d 20407c7b call bn_add_256 
+7c7e 18a22200 copy contw ,rega 
+7c7f 20207c81 branch bn_lshiftmod_ismod_256 
+
+bn_lshiftmod_256:
+7c80 20407cae call bn_lshift_256 
+
+bn_lshiftmod_ismod_256:
+7c81 2a6ffe00 isolate1 0 ,regc 
+7c82 2020fc8a branch bn_lshiftmod_p_256 ,true 
+7c83 da40091e arg mem_p_256 ,regb 
+7c84 1a222600 copy rega ,regc 
+7c85 1a20a3e0 increase -32 ,rega 
+7c86 20407cb1 call bn_bigeq_256 
+7c87 24610000 nrtn positive 
+7c88 1a622200 copy regc ,rega 
+7c89 20207c92 branch sub_p2_256 
+
+bn_lshiftmod_p_256:
+7c8a 20407c92 call sub_p2_256 
+7c8b 1a222600 copy rega ,regc 
+7c8c 1a20a3e0 increase -32 ,rega 
+7c8d da40091e arg mem_p_256 ,regb 
+7c8e 20407cb1 call bn_bigeq_256 
+7c8f 24610000 nrtn positive 
+7c90 1a622200 copy regc ,rega 
+7c91 20207c92 branch sub_p2_256 
+
+sub_p2_256:
+7c92 1a20a3e0 increase -32 ,rega 
+7c93 da40091e arg mem_p_256 ,regb 
+7c94 1a220a00 copy rega ,contw 
+7c95 20207ca9 branch bn_sub_256 
+
+bn_submod_256:
+7c96 20407ca9 call bn_sub_256 
+7c97 2020fca0 branch bn_submod_256_np ,true 
+7c98 18a0a3e0 add contw ,-32 ,rega 
+7c99 da40091e arg mem_p_256 ,regb 
+7c9a 20407cb1 call bn_bigeq_256 
+7c9b 24610000 nrtn positive 
+7c9c da40091e arg mem_p_256 ,regb 
+7c9d 18a0a3e0 add contw ,-32 ,rega 
+7c9e 1a220a00 copy rega ,contw 
+7c9f 20207ca9 branch bn_sub_256 
+
+bn_submod_256_np:
+7ca0 18a0a3e0 add contw ,-32 ,rega 
+7ca1 da40091e arg mem_p_256 ,regb 
+7ca2 1a220a00 copy rega ,contw 
+7ca3 20407c7b call bn_add_256 
+7ca4 20608000 rtn true 
+7ca5 18a0a3e0 add contw ,-32 ,rega 
+7ca6 da40091e arg mem_p_256 ,regb 
+7ca7 1a220a00 copy rega ,contw 
+7ca8 20207c7b branch bn_add_256 
+
+bn_sub_256:
+7ca9 18007208 force 8 ,loopcnt 
+7caa 20207720 branch bn_sub + 1 
+
+bn_rshift_256:
+7cab 18007208 force 8 ,loopcnt 
+7cac 1a20a21c increase 28 ,rega 
+7cad 2020772f branch bn_rshift 
+
+bn_lshift_256:
+7cae 18007208 force 8 ,loopcnt 
+7caf 18002600 force 0 ,regc 
+7cb0 2020773d branch bn_lshift_0 
+
+bn_bigeq_256:
+7cb1 18007208 force 8 ,loopcnt 
+7cb2 1a20a21c increase 28 ,rega 
+7cb3 1a40a41c increase 28 ,regb 
+7cb4 20207707 branch bn_bigeq_0 
+
+bn_eq_zero_256:
+7cb5 e8c40000 ifetch 8 ,contr 
+7cb6 247a0000 nrtn blank 
+7cb7 202076f5 branch bn_eq_zero 
+
+bn_rshifteven_256:
+7cb8 1a226000 copy rega ,alarm 
+
+bn_rshifteven_256_1:
+7cb9 1e022200 copy alarm ,rega 
+7cba ea208000 ifetch 1 ,rega 
+7cbb 2feffe00 isolate1 0 ,pdata 
+7cbc 20608000 rtn true 
+7cbd 20407cab call bn_rshift_256 
+7cbe ea408000 ifetch 1 ,regb 
+7cbf 2fec0000 isolate0 0 ,pdata 
+7cc0 2020fcc8 branch bn_rshifteven_256_0 ,true 
+7cc1 da20091e arg mem_p_256 ,rega 
+7cc2 1a420a00 copy regb ,contw 
+7cc3 20407c7b call bn_add_256 
+7cc4 ea408000 ifetch 1 ,regb 
+7cc5 9a60fe00 iadd regc ,pdata 
+7cc6 e2408000 istore 1 ,regb 
+7cc7 1a40a5e0 increase -32 ,regb 
+
+bn_rshifteven_256_0:
+7cc8 1a40a220 add regb ,32 ,rega 
+7cc9 18007209 force 9 ,loopcnt 
+7cca 2040772f call bn_rshift 
+7ccb 20207cb9 branch bn_rshifteven_256_1 
+
+ui_init:
+7ccc 20402c65 call lpm_disable_exen_output 
+7ccd 20758000 rtn wake 
+7cce 20407cd3 call ui_button_init 
+7ccf 20407d75 call ui_timer_init 
+7cd0 20207d08 branch ui_led_init_global 
+
+ui_dispatch:
+7cd1 20407d29 call ui_led_dispatch 
+7cd2 20207d64 branch ui_timer_check 
+
+ui_button_init:
+7cd3 6800c686 fetch 1 ,mem_ui_button_gpio 
+7cd4 c17f8000 rtneq ui_button_gpio_disable 
+7cd5 98000400 iforce temp 
+7cd6 2040680e call gpio_config_output 
+7cd7 6808c686 fetcht 1 ,mem_ui_button_gpio 
+7cd8 20406825 call gpio_out_inactive 
+7cd9 20000064 nop 100 
+7cda 6808c686 fetcht 1 ,mem_ui_button_gpio 
+7cdb 204067fb call gpio_config_input 
+7cdc 20207cdd branch ui_button_polling 
+
+ui_button_polling:
+7cdd 4779c03e bpatchx patch3e_3 ,mem_patch3e 
+7cde 6800c686 fetch 1 ,mem_ui_button_gpio 
+7cdf c17f8000 rtneq ui_button_gpio_disable 
+7ce0 1fe20400 copy pdata ,temp 
+7ce1 2040681d call gpio_get_bit 
+7ce2 2420fcef nbranch ui_button_up ,true 
+
+ui_button_down:
+7ce3 20407cf9 call ui_button_check_long_press 
+7ce4 68014682 fetch 2 ,mem_ui_state_map 
+7ce5 79207e0c set1 ui_state_btn_down 
+7ce6 60014682 store 2 ,mem_ui_state_map 
+7ce7 6800c679 fetch 1 ,mem_ui_button_last_state 
+7ce8 c1000000 rtneq ui_button_state_down 
+7ce9 70467900 jam ui_button_state_down ,mem_ui_button_last_state 
+7cea 6800c685 fetch 1 ,mem_ui_button_timeout 
+7ceb 6000c678 store 1 ,mem_ui_button_timer 
+7cec 20407d00 call lpm_button_get_wake_lock 
+7ced 700a992c jam bt_evt_button_down ,mem_fifo_temp 
+7cee 20207d86 branch ui_ipc_send_event 
+
+ui_button_up:
+7cef 68014682 fetch 2 ,mem_ui_state_map 
+7cf0 793ffe0c set0 ui_state_btn_down 
+7cf1 60014682 store 2 ,mem_ui_state_map 
+7cf2 6800c679 fetch 1 ,mem_ui_button_last_state 
+7cf3 c1008000 rtneq ui_button_state_up 
+7cf4 70467901 jam ui_button_state_up ,mem_ui_button_last_state 
+7cf5 70467800 jam 0 ,mem_ui_button_timer 
+7cf6 20407d02 call lpm_button_clean_wake_lock 
+7cf7 700a992d jam bt_evt_button_up ,mem_fifo_temp 
+7cf8 20207d86 branch ui_ipc_send_event 
+
+ui_button_check_long_press:
+7cf9 6800c678 fetch 1 ,mem_ui_button_timer 
+7cfa 207a0000 rtn blank 
+7cfb 1fe0ffff increase -1 ,pdata 
+7cfc 6000c678 store 1 ,mem_ui_button_timer 
+7cfd 247a0000 nrtn blank 
+7cfe 700a9910 jam bt_evt_button_long_pressed ,mem_fifo_temp 
+7cff 20207d86 branch ui_ipc_send_event 
+
+lpm_button_get_wake_lock:
+7d00 d8e00007 arg wake_lock_button ,queue 
+7d01 20202c32 branch lpm_get_wake_lock 
+
+lpm_button_clean_wake_lock:
+7d02 d8e00007 arg wake_lock_button ,queue 
+7d03 20202c36 branch lpm_put_wake_lock 
+
+calc_curr_struct_prt:
+7d04 6801421b fetch 2 ,mem_ui_led_struct_ptr 
+7d05 1a2fa40b mul32 rega ,led_offset_length ,regb 
+7d06 9a40a400 iadd regb ,regb 
+7d07 20600000 rtn 
+
+ui_led_init_global:
+7d08 6800c21a fetch 1 ,mem_ui_led_struct_num 
+7d09 207a0000 rtn blank 
+7d0a 1fe27200 copy pdata ,loopcnt 
+7d0b 6801421b fetch 2 ,mem_ui_led_struct_ptr 
+7d0c 1fe22400 copy pdata ,regb 
+
+ui_led_init_loop:
+7d0d 1a40a602 add regb ,led_offset_led_gpio ,regc 
+7d0e ea688000 ifetcht 1 ,regc 
+7d0f 2040680e call gpio_config_output 
+7d10 20407d32 call ui_led_off_static 
+7d11 1a40a40b increase led_offset_length ,regb 
+7d12 c2007d0d loop ui_led_init_loop 
+7d13 20600000 rtn 
+
+ui_led_on_global:
+7d14 20407d04 call calc_curr_struct_prt 
+7d15 58000002 setarg ui_led_state_lighting 
+7d16 e2408000 istore 1 ,regb 
+7d17 20407d5e call ui_led_stop_timer 
+7d18 20207d35 branch ui_led_on_static 
+
+ui_led_blink_stop_global:
+
+ui_led_off_global:
+7d19 20407d04 call calc_curr_struct_prt 
+7d1a 58000003 setarg ui_led_state_darking 
+7d1b e2408000 istore 1 ,regb 
+7d1c 20407d5e call ui_led_stop_timer 
+7d1d 20207d32 branch ui_led_off_static 
+
+ui_led_blink_start_global:
+7d1e 20407d04 call calc_curr_struct_prt 
+7d1f 58000001 setarg ui_led_state_blink_start 
+7d20 e2408000 istore 1 ,regb 
+7d21 580000ff setarg led_infinite_flash_num 
+7d22 e0a08000 istore 1 ,contw 
+7d23 20207d32 branch ui_led_off_static 
+
+ui_led_set_style_global:
+7d24 20407d04 call calc_curr_struct_prt 
+7d25 df20000b arg led_offset_length ,loopcnt 
+7d26 1a620c00 copy regc ,contr 
+7d27 1a420a00 copy regb ,contw 
+7d28 20207ef4 branch memcpy_fast 
+
+ui_led_dispatch:
+7d29 6800c21a fetch 1 ,mem_ui_led_struct_num 
+7d2a 207a0000 rtn blank 
+7d2b da200000 arg 0 ,rega 
+
+ui_led_blink_polling:
+7d2c 20407d38 call ui_led_change_style_by_type 
+7d2d 1a20a201 increase 1 ,rega 
+7d2e 6800c21a fetch 1 ,mem_ui_led_struct_num 
+7d2f 9a267c00 isub rega ,null 
+7d30 20628000 rtn zero 
+7d31 20207d2c branch ui_led_blink_polling 
+
+ui_led_off_static:
+7d32 1a40a602 add regb ,led_offset_led_gpio ,regc 
+7d33 ea688000 ifetcht 1 ,regc 
+7d34 20206825 branch gpio_out_inactive 
+
+ui_led_on_static:
+7d35 1a40a602 add regb ,led_offset_led_gpio ,regc 
+7d36 ea688000 ifetcht 1 ,regc 
+7d37 20206829 branch gpio_out_active 
+
+ui_led_change_style_by_type:
+7d38 1a208e0b add rega ,ui_led_blink ,queue 
+7d39 20407f16 call timer_check 
+7d3a 247a0000 nrtn blank 
+7d3b 20407d04 call calc_curr_struct_prt 
+7d3c ea408000 ifetch 1 ,regb 
+7d3d c0017d35 beq ui_led_state_lighting ,ui_led_on_static 
+7d3e c001fd32 beq ui_led_state_darking ,ui_led_off_static 
+7d3f c0007d32 beq ui_led_state_blink_stop ,ui_led_off_static 
+7d40 c002fd4c beq ui_led_state_blink_darking ,ui_led_blink_state_darking 
+
+ui_led_blink_state_lighting:
+7d41 20407d35 call ui_led_on_static 
+7d42 1a40a607 add regb ,led_offset_cb_ledon ,regc 
+7d43 20407e7c call push_stack 
+7d44 ea610000 ifetch 2 ,regc 
+7d45 20407f9c call callback_func 
+7d46 20407e8c call pop_stack 
+7d47 58000005 setarg ui_led_state_blink_darking 
+7d48 e2408000 istore 1 ,regb 
+7d49 1a40a603 add regb ,led_offset_on_time ,regc 
+7d4a ea610000 ifetch 2 ,regc 
+7d4b 20207d5c branch ui_led_blink_timer_start 
+
+ui_led_blink_state_darking:
+7d4c 20407d32 call ui_led_off_static 
+7d4d 1a40a609 add regb ,led_offset_cb_ledoff ,regc 
+7d4e 20407e7c call push_stack 
+7d4f ea610000 ifetch 2 ,regc 
+7d50 20407f9c call callback_func 
+7d51 20407e8c call pop_stack 
+7d52 1a40a601 add regb ,led_offset_blink_count ,regc 
+7d53 ea608000 ifetch 1 ,regc 
+7d54 c07ffd58 beq led_infinite_flash_num ,ui_led_blink_infinite 
+7d55 1fe0ffff increase -1 ,pdata 
+7d56 e2608000 istore 1 ,regc 
+7d57 203a7d19 branch ui_led_blink_stop_global ,blank 
+
+ui_led_blink_infinite:
+7d58 58000004 setarg ui_led_state_blink_lighting 
+7d59 e2408000 istore 1 ,regb 
+7d5a 1a40a605 add regb ,led_offset_off_time ,regc 
+7d5b ea610000 ifetch 2 ,regc 
+
+ui_led_blink_timer_start:
+7d5c 1a208e0b add rega ,ui_led_blink ,queue 
+7d5d 20207f08 branch timer_init 
+
+ui_led_stop_timer:
+7d5e 58000000 setarg 0 
+7d5f 20207d5c branch ui_led_blink_timer_start 
+
+ui_timer_timeout:
+7d60 58001000 setarg 0x1000 
+7d61 1ff07e00 lshift16 pdata ,pdata 
+7d62 9a40a400 iadd regb ,regb 
+7d63 20600000 rtn 
+
+ui_timer_check:
+7d64 477a403e bpatchx patch3e_4 ,mem_patch3e 
+7d65 da200000 arg 0 ,rega 
+7d66 680a467a fetcht 4 ,mem_ui_timer_last_btclk 
+7d67 1c422400 copy clkn_bt ,regb 
+7d68 1a427e00 copy regb ,pdata 
+7d69 98467c00 isub temp ,null 
+7d6a 24417d60 ncall ui_timer_timeout ,positive 
+
+ui_timer_check_loop:
+7d6b 1a427e00 copy regb ,pdata 
+7d6c 184084a0 increase 160 ,temp 
+7d6d 184084a0 increase 160 ,temp 
+7d6e 98467c00 isub temp ,null 
+7d6f 24217d78 nbranch ui_timer_check_end ,positive 
+7d70 1a20a201 increase 1 ,rega 
+7d71 1a217e0f and rega ,0x0f ,pdata 
+7d72 243a7d6b nbranch ui_timer_check_loop ,blank 
+7d73 da200000 arg 0 ,rega 
+7d74 20407d7f call ui_timer_check_send_evt 
+
+ui_timer_init:
+7d75 1c427e00 copy clkn_bt ,pdata 
+7d76 6002467a store 4 ,mem_ui_timer_last_btclk 
+7d77 20600000 rtn 
+
+ui_timer_check_end:
+7d78 477ac03e bpatchx patch3e_5 ,mem_patch3e 
+7d79 1a227e00 copy rega ,pdata 
+7d7a 207a0000 rtn blank 
+7d7b 18408560 increase -160 ,temp 
+7d7c 18408560 increase -160 ,temp 
+7d7d 793f841c set0 28 ,temp 
+7d7e 600a467a storet 4 ,mem_ui_timer_last_btclk 
+
+ui_timer_check_send_evt:
+7d7f 2020335f branch app_evt_timer 
+
+ui_ipc_get_lock:
+7d80 70466601 jam 1 ,mem_ipc_lock_bt 
+
+ui_ipc_get_lock_wait:
+7d81 6800c667 fetch 1 ,mem_ipc_lock_c51 
+7d82 243a7d81 nbranch ui_ipc_get_lock_wait ,blank 
+7d83 20600000 rtn 
+
+ui_ipc_put_lock:
+7d84 70466600 jam 0 ,mem_ipc_lock_bt 
+7d85 20600000 rtn 
+
+ui_ipc_send_event:
+7d86 477b403e bpatchx patch3e_6 ,mem_patch3e 
+7d87 20407d80 call ui_ipc_get_lock 
+7d88 1a227e00 copy rega ,pdata 
+7d89 60020a91 store 4 ,mem_ipc_rega_temp 
+7d8a da204668 arg mem_ipc_fifo_bt2c51 ,rega 
+7d8b 20407fb8 call fifo_in 
+7d8c 68020a91 fetch 4 ,mem_ipc_rega_temp 
+7d8d 1fe22200 copy pdata ,rega 
+7d8e 20207d84 branch ui_ipc_put_lock 
+
+ui_ipc_send_cmd:
+7d8f 477bc03e bpatchx patch3e_7 ,mem_patch3e 
+7d90 20407d80 call ui_ipc_get_lock 
+7d91 1a227e00 copy rega ,pdata 
+7d92 60020a91 store 4 ,mem_ipc_rega_temp 
+7d93 da204670 arg mem_ipc_fifo_c512bt ,rega 
+7d94 20407fb8 call fifo_in 
+7d95 68020a91 fetch 4 ,mem_ipc_rega_temp 
+7d96 1fe22200 copy pdata ,rega 
+7d97 20207d84 branch ui_ipc_put_lock 
+
+ui_ipc_clean_all_fifo:
+7d98 58000000 setarg 0 
+7d99 60044670 store util_fifo_len ,mem_ipc_fifo_c512bt 
+7d9a 60044668 store util_fifo_len ,mem_ipc_fifo_bt2c51 
+7d9b 20600000 rtn 
+
+check_51cmd:
+7d9c 477c403f bpatchx patch3f_0 ,mem_patch3f 
+7d9d 6800c1ce fetch 1 ,mem_hci_cmd 
+7d9e 247a0000 nrtn blank 
+7d9f da204670 arg mem_ipc_fifo_c512bt ,rega 
+7da0 20407fd0 call fifo_is_empty 
+7da1 207a0000 rtn blank 
+7da2 700a9000 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+7da3 20407da7 call check_51cmd_once 
+7da4 68008a90 fetch 1 ,mem_ipc_skip_continue_proc 
+7da5 203a7d9c branch check_51cmd ,blank 
+7da6 20600000 rtn 
+
+check_51cmd_once:
+7da7 20407d80 call ui_ipc_get_lock 
+7da8 da204670 arg mem_ipc_fifo_c512bt ,rega 
+7da9 20407fc4 call fifo_out 
+7daa 1fe20400 copy pdata ,temp 
+7dab 20407d84 call ui_ipc_put_lock 
+7dac 477cc03f bpatchx patch3f_1 ,mem_patch3f 
+7dad 18427e00 copy temp ,pdata 
+7dae 207a0000 rtn blank 
+7daf c000fddd beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+7db0 c0017de2 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+7db1 c001fde8 beq bt_cmd_reconnect ,check_51cmd_reconnect 
+7db2 c003fded beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+7db3 c0047dee beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+7db4 c004fdef beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+7db5 c005fdf2 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+7db6 c0067df3 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+7db7 c006fdf4 beq bt_cmd_start_adv ,check_51cmd_adv 
+7db8 c0077dfa beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+7db9 c007fdff beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+7dba c0087e05 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+7dbb c009fe0f beq bt_cmd_led_off ,check_51cmd_led_off 
+7dbc c00a7e11 beq bt_cmd_led_on ,check_51cmd_led_on 
+7dbd c00afe13 beq bt_cmd_led_blink ,check_51cmd_led_start_blink 
+7dbe c00b7e15 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+7dbf c00bfe18 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+7dc0 c00c7e1a beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+7dc1 c00cfe1d beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+7dc2 c00dfe25 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+7dc3 c00f7e2f beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+7dc4 60008a99 store 1 ,mem_fifo_temp 
+7dc5 477d403f bpatchx patch3f_2 ,mem_patch3f 
+7dc6 204062bc call lmo_fifo_check 
+7dc7 243a7ddb nbranch check_51cmd_restore ,blank 
+
+check_51cmd_once_continue:
+7dc8 68008a99 fetch 1 ,mem_fifo_temp 
+7dc9 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
+7dca c0027dea beq bt_cmd_disconnect ,check_51cmd_disconnect 
+7dcb c002cd17 beq bt_cmd_enter_sniff ,cmd_in_sniff 
+7dcc c0034d26 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+7dcd c0057df0 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+7dce c008fe0a beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+7dcf c0097e0e beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+7dd0 c00efe26 beq bt_cmd_role_switch ,check_51cmd_role_switch 
+7dd1 c00fe7cc beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+7dd2 c01067d0 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+7dd3 c010fe31 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+7dd4 c012e70b beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+7dd5 20600000 rtn 
+
+check_51cmd_check_idle:
+7dd6 60008a99 store 1 ,mem_fifo_temp 
+7dd7 20402252 call context_check_idle 
+7dd8 2022fddb branch check_51cmd_restore ,zero 
+7dd9 2040225a call context_search_plap 
+7dda 24628000 nrtn zero 
+
+check_51cmd_restore:
+7ddb 700a9001 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+7ddc 20207d8f branch ui_ipc_send_cmd 
+
+check_51cmd_start_discovery:
+7ddd 68014682 fetch 2 ,mem_ui_state_map 
+7dde 79207e06 set1 ui_state_bt_discovery 
+7ddf 60014682 store 2 ,mem_ui_state_map 
+7de0 70409303 jam 3 ,mem_scan_mode 
+7de1 20600000 rtn 
+
+check_51cmd_stop_discovery:
+7de2 70468000 jam 0 ,mem_hid_handshake_timer_count 
+7de3 70409300 jam 0 ,mem_scan_mode 
+7de4 68014682 fetch 2 ,mem_ui_state_map 
+7de5 793ffe06 set0 ui_state_bt_discovery 
+7de6 60014682 store 2 ,mem_ui_state_map 
+7de7 20600000 rtn 
+
+check_51cmd_reconnect:
+7de8 7041ce05 jam hci_cmd_create_conn ,mem_hci_cmd 
+7de9 20600000 rtn 
+
+check_51cmd_disconnect:
+7dea 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+7deb 7004ca13 jam other_end_terminated ,mem_disconn_reason_send 
+7dec 20600000 rtn 
+
+check_51cmd_enter_sniff_subrating:
+7ded 20600000 rtn 
+
+check_51cmd_exit_sniff_subrating:
+7dee 20600000 rtn 
+
+check_51cmd_sniff_test:
+7def 20600000 rtn 
+
+check_51cmd_pincode:
+7df0 7004d402 jam pincode_state_pincode_ready ,mem_pincode_state 
+7df1 20204d0a branch cmd_pair 
+
+check_51cmd_inq:
+7df2 20600000 rtn 
+
+check_51cmd_stop_inq:
+7df3 20600000 rtn 
+
+check_51cmd_adv:
+7df4 70436e01 jam on ,mem_le_adv_enable 
+7df5 70448400 jam adv_ind ,mem_le_adv_type 
+7df6 68014682 fetch 2 ,mem_ui_state_map 
+7df7 79207e0b set1 ui_state_ble_adv ,pdata 
+7df8 60014682 store 2 ,mem_ui_state_map 
+7df9 20600000 rtn 
+
+check_51cmd_stop_adv:
+7dfa 68014682 fetch 2 ,mem_ui_state_map 
+7dfb 793ffe0b set0 ui_state_ble_adv ,pdata 
+7dfc 60014682 store 2 ,mem_ui_state_map 
+7dfd 70436e00 jam off ,mem_le_adv_enable 
+7dfe 20600000 rtn 
+
+check_51cmd_direct_adv:
+7dff 70436e01 jam on ,mem_le_adv_enable 
+7e00 70448401 jam adv_direct_ind ,mem_le_adv_type 
+7e01 68014682 fetch 2 ,mem_ui_state_map 
+7e02 79207e0b set1 ui_state_ble_adv ,pdata 
+7e03 60014682 store 2 ,mem_ui_state_map 
+7e04 20600000 rtn 
+
+check_51cmd_stop_direct_adv:
+7e05 68014682 fetch 2 ,mem_ui_state_map 
+7e06 793ffe0b set0 ui_state_ble_adv ,pdata 
+7e07 60014682 store 2 ,mem_ui_state_map 
+7e08 70436e00 jam off ,mem_le_adv_enable 
+7e09 20600000 rtn 
+
+check_51cmd_le_disconnect:
+7e0a 58000014 setarg 20 
+7e0b 6001046d store 2 ,mem_le_superto 
+7e0c 600144ba store 2 ,mem_le_init_superto 
+7e0d 20205c92 branch le_send_terminate_ind_user_terminated 
+
+check_51cmd_ble_update_connect_param:
+7e0e 20205abf branch le_l2cap_tx_update_req 
+
+check_51cmd_led_off:
+7e0f da200000 arg 0 ,rega 
+7e10 20207d19 branch ui_led_off_global 
+
+check_51cmd_led_on:
+7e11 da200000 arg 0 ,rega 
+7e12 20207d14 branch ui_led_on_global 
+
+check_51cmd_led_start_blink:
+7e13 da200000 arg 0 ,rega 
+7e14 20207d1e branch ui_led_blink_start_global 
+
+check_51cmd_le_start_con:
+7e15 70436901 jam on ,mem_le_scan_enable 
+7e16 7041ce1b jam hci_cmd_le_create_conn ,mem_hci_cmd 
+7e17 20600000 rtn 
+
+check_51cmd_start_scan:
+7e18 70436901 jam on ,mem_le_scan_enable 
+7e19 20600000 rtn 
+
+check_51cmd_stop_scan:
+7e1a 70436900 jam off ,mem_le_scan_enable 
+7e1b 7041ce00 jam 0 ,mem_hci_cmd 
+7e1c 20600000 rtn 
+
+check_51cmd_hibernate:
+7e1d 680141eb fetch 2 ,mem_cb_before_hibernate 
+7e1e 20407f9c call callback_func 
+7e1f 6800c686 fetch 1 ,mem_ui_button_gpio 
+7e20 c07ffe23 beq ui_button_gpio_disable ,check_51cmd_hibernate_btn_disabled 
+7e21 1fe20400 copy pdata ,temp 
+7e22 204067fb call gpio_config_input 
+
+check_51cmd_hibernate_btn_disabled:
+7e23 20407d98 call ui_ipc_clean_all_fifo 
+7e24 20202b1f branch lpm_hibernate 
+
+check_51cmd_le_smp_sec_req:
+7e25 20205b02 branch le_send_smp_security_request 
+
+check_51cmd_role_switch:
+7e26 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+7e27 79200003 set1 mark_switch_initiated ,mark 
+7e28 24748000 nrtn master 
+7e29 70455b00 jam switch_flag_init ,mem_switch_flag 
+7e2a 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+7e2b 6800816d fetch 1 ,mem_connection_options 
+7e2c 793ffe02 set0 connection_switch ,pdata 
+7e2d 6000816d store 1 ,mem_connection_options 
+7e2e 20600000 rtn 
+
+check_51cmd_bb_reconn_cancel:
+7e2f 18000e03 force page_length_timer ,queue 
+7e30 20207f07 branch timer_stop 
+
+check_51cmd_dhkey_not_accept:
+7e31 204062f8 call tid_set_reply 
+7e32 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+7e33 20205f9d branch parse_lmp_dhkey_check_reject 
+
+ui_check_paring_button:
+7e34 6800c682 fetch 1 ,mem_ui_state_map 
+7e35 c4060000 rtnbit0 ui_state_btn_down 
+7e36 c4038000 rtnbit0 ui_state_bt_reconnect 
+7e37 20207e2f branch check_51cmd_bb_reconn_cancel 
+
+queue_init:
+7e38 68014218 fetch 2 ,mem_queue_ptr 
+7e39 1fe08a02 add pdata ,queue_offset_curr_num ,contw 
+7e3a 58000000 setarg 0 
+7e3b e0a18000 istore 3 ,contw 
+7e3c 20600000 rtn 
+
+queue_push:
+7e3d 20407fe9 call disable_user 
+7e3e 20407e69 call queue_full 
+7e3f 207a0000 rtn blank 
+7e40 68014218 fetch 2 ,mem_queue_ptr 
+7e41 1fe0a402 add pdata ,queue_offset_curr_num ,regb 
+7e42 ea488000 ifetcht 1 ,regb 
+7e43 18408401 increase 1 ,temp 
+7e44 e2488000 istoret 1 ,regb 
+7e45 efe88000 ifetcht 1 ,pdata 
+7e46 18427200 copy temp ,loopcnt 
+7e47 1fe0a404 add pdata ,queue_offset_write_ptr ,regb 
+7e48 ea408000 ifetch 1 ,regb 
+7e49 984ffe00 imul32 temp ,pdata 
+7e4a 98c08a00 iadd contr ,contw 
+7e4b 1a220c00 copy rega ,contr 
+
+calc_queue_next_ptr:
+7e4c 20407f01 call memcpy 
+7e4d 20407e6d call queue_get_size 
+7e4e 1fe0ffff pincrease -1 
+7e4f ea488000 ifetcht 1 ,regb 
+7e50 18408401 increase 1 ,temp 
+7e51 98410400 iand temp ,temp 
+7e52 e2488000 istoret 1 ,regb 
+7e53 20207fe7 branch enable_user 
+
+queue_pop:
+7e54 20407fe9 call disable_user 
+7e55 20407e65 call queue_empty 
+7e56 207a0000 rtn blank 
+7e57 68014218 fetch 2 ,mem_queue_ptr 
+7e58 1fe0a402 add pdata ,queue_offset_curr_num ,regb 
+7e59 ea488000 ifetcht 1 ,regb 
+7e5a 184085ff increase -1 ,temp 
+7e5b e2488000 istoret 1 ,regb 
+7e5c efe88000 ifetcht 1 ,pdata 
+7e5d 18427200 copy temp ,loopcnt 
+7e5e 1fe0a403 add pdata ,queue_offset_read_ptr ,regb 
+7e5f ea408000 ifetch 1 ,regb 
+7e60 984ffe00 imul32 temp ,pdata 
+7e61 98c08c00 iadd contr ,contr 
+7e62 18c08c01 increase 1 ,contr 
+7e63 1a220a00 copy rega ,contw 
+7e64 20207e4c branch calc_queue_next_ptr 
+
+queue_empty:
+7e65 68014218 fetch 2 ,mem_queue_ptr 
+7e66 1fe08c02 add pdata ,queue_offset_curr_num ,contr 
+7e67 e8c08000 ifetch 1 ,contr 
+7e68 20600000 rtn 
+
+queue_full:
+7e69 20407e6d call queue_get_size 
+7e6a e8c88000 ifetcht 1 ,contr 
+7e6b 98467e00 isub temp ,pdata 
+7e6c 20600000 rtn 
+
+queue_get_size:
+7e6d 68014218 fetch 2 ,mem_queue_ptr 
+7e6e 1fe08c01 add pdata ,queue_offset_length ,contr 
+7e6f e8c08000 ifetch 1 ,contr 
+7e70 20600000 rtn 
+
+right_shift_n:
+7e71 1f267c00 sub loopcnt ,0 ,null 
+7e72 20628000 rtn zero 
+
+right_shift_n_loop:
+7e73 1fe37e00 rshift pdata ,pdata 
+7e74 c2007e73 loop right_shift_n_loop 
+7e75 20600000 rtn 
+
+left_shift_n:
+7e76 18007e01 force 1 ,pdata 
+7e77 1f267c00 sub loopcnt ,0 ,null 
+7e78 20628000 rtn zero 
+
+left_shift_n_loop:
+7e79 1fe3fe00 lshift pdata ,pdata 
+7e7a c2007e79 loop left_shift_n_loop 
+7e7b 20600000 rtn 
+
+push_stack:
+7e7c 18a27e00 deposit contw 
+7e7d 60010abb store 2 ,mem_contw 
+7e7e 600c0aa2 storet 8 ,mem_temp 
+7e7f 19627e00 deposit timeup 
+7e80 60020aaa store 4 ,mem_timeup 
+7e81 20407e85 call push_stack_rega_b_c 
+7e82 18c27e00 deposit contr 
+7e83 60010ab9 store 2 ,mem_contr 
+7e84 20600000 rtn 
+
+push_stack_rega_b_c:
+7e85 1a227e00 deposit rega 
+7e86 60020aae store 4 ,mem_rega 
+7e87 1a427e00 deposit regb 
+7e88 60020ab2 store 4 ,mem_regb 
+7e89 1a627e00 deposit regc 
+7e8a 60018ab6 store 3 ,mem_regc 
+7e8b 20600000 rtn 
+
+pop_stack:
+7e8c 680c0aa2 fetcht 8 ,mem_temp 
+7e8d 68020aaa fetch 4 ,mem_timeup 
+7e8e 98001600 iforce timeup 
+7e8f 20407e95 call pop_stack_rega_b_c 
+7e90 68010abb fetch 2 ,mem_contw 
+7e91 98000a00 iforce contw 
+7e92 68010ab9 fetch 2 ,mem_contr 
+7e93 98000c00 iforce contr 
+7e94 20600000 rtn 
+
+pop_stack_rega_b_c:
+7e95 68020aae fetch 4 ,mem_rega 
+7e96 98002200 iforce rega 
+7e97 68020ab2 fetch 4 ,mem_regb 
+7e98 98002400 iforce regb 
+7e99 68018ab6 fetch 3 ,mem_regc 
+7e9a 98002600 iforce regc 
+7e9b 20600000 rtn 
+
+get_contw:
+7e9c 68010abb fetch 2 ,mem_contw 
+7e9d 1fe20a00 copy pdata ,contw 
+7e9e 20600000 rtn 
+
+get_contr:
+7e9f 68010ab9 fetch 2 ,mem_contr 
+7ea0 1fe20c00 copy pdata ,contr 
+7ea1 20600000 rtn 
+
+store_contw:
+7ea2 18a27e00 copy contw ,pdata 
+7ea3 60010abb store 2 ,mem_contw 
+7ea4 20600000 rtn 
+
+store_contr:
+7ea5 18c27e00 copy contr ,pdata 
+7ea6 60010ab9 store 2 ,mem_contr 
+7ea7 20600000 rtn 
+
+save_cont_pointers:
+7ea8 18a27e00 copy contw ,pdata 
+7ea9 60010a97 store 2 ,mem_hold_contw 
+7eaa 18c27e00 copy contr ,pdata 
+7eab 60010a95 store 2 ,mem_hold_contr 
+7eac 20600000 rtn 
+
+load_cont_pointers:
+7ead 68010a97 fetch 2 ,mem_hold_contw 
+7eae 1fe20a00 copy pdata ,contw 
+7eaf 68010a95 fetch 2 ,mem_hold_contr 
+7eb0 1fe20c00 copy pdata ,contr 
+7eb1 20600000 rtn 
+
+memcpy96:
+7eb2 20407ebd call memcpy32 
+
+memcpy64:
+7eb3 20407ebd call memcpy32 
+7eb4 20207ebd branch memcpy32 
+
+memcpy12:
+7eb5 20407eb9 call memcpy8 
+
+memcpy4:
+7eb6 e8c20000 ifetch 4 ,contr 
+7eb7 e0a20000 istore 4 ,contw 
+7eb8 20600000 rtn 
+
+memcpy8:
+7eb9 e8c40000 ifetch 8 ,contr 
+7eba e0a40000 istore 8 ,contw 
+7ebb 20600000 rtn 
+
+memcpy48:
+7ebc 20407ebf call memcpy16 
+
+memcpy32:
+7ebd 20407eb9 call memcpy8 
+
+memcpy24:
+7ebe 20407eb9 call memcpy8 
+
+memcpy16:
+7ebf 20407eb9 call memcpy8 
+7ec0 20207eb9 branch memcpy8 
+
+delay_10ms:
+7ec1 df20000a arg 10 ,loopcnt 
+
+delay_ms_wait:
+7ec2 20002ee0 nop 12000 
+7ec3 c2007ec2 loop delay_ms_wait 
+7ec4 20600000 rtn 
+
+bn_zero:
+7ec5 18007203 force 3 ,loopcnt 
+
+memset0:
+7ec6 18007e00 force 0 ,pdata 
+
+memset8:
+7ec7 e0a40000 istore 8 ,contw 
+7ec8 c2007ec7 loop memset8 
+7ec9 20600000 rtn 
+
+memset0_8:
+7eca 18007e00 force 0 ,pdata 
+7ecb e0a40000 istore 8 ,contw 
+7ecc 20600000 rtn 
+
+memset0_4:
+7ecd 18007e00 force 0 ,pdata 
+7ece e0a20000 istore 4 ,contw 
+7ecf 20600000 rtn 
+
+clear_mem_256:
+7ed0 18007204 force 4 ,loopcnt 
+7ed1 20207ec6 branch memset0 
+
+clear_mem_512:
+7ed2 18007208 force 8 ,loopcnt 
+7ed3 20207ec6 branch memset0 
+
+clear_mem:
+7ed4 1f227e00 deposit loopcnt 
+7ed5 207a0000 rtn blank 
+7ed6 58000000 setarg 0 
+
+clear_mem_loop:
+7ed7 e0a08000 istore 1 ,contw 
+7ed8 c2007ed7 loop clear_mem_loop 
+7ed9 20600000 rtn 
+
+clear_temp_block:
+7eda df200020 arg 32 ,loopcnt 
+7edb d8a00ac2 arg mem_temp_block0 ,contw 
+7edc 20207ed4 branch clear_mem 
+
+xor_loop:
+7edd ea620000 ifetch 4 ,regc 
+7ede ea2a0000 ifetcht 4 ,rega 
+7edf 9842fe00 ixor temp ,pdata 
+7ee0 e0a20000 istore 4 ,contw 
+7ee1 1a20a204 increase 4 ,rega 
+7ee2 1a60a604 increase 4 ,regc 
+7ee3 c2007edd loop xor_loop 
+7ee4 20600000 rtn 
+
+inverse_data:
+7ee5 477dc03f bpatchx patch3f_3 ,mem_patch3f 
+7ee6 1f227e00 copy loopcnt ,pdata 
+7ee7 1fe67c01 sub pdata ,1 ,null 
+7ee8 20610000 rtn positive 
+7ee9 9a20a400 iadd rega ,regb 
+7eea 1a40a5ff increase -1 ,regb 
+7eeb 1f237200 rshift loopcnt ,loopcnt 
+
+inverse_loop:
+7eec ea288000 ifetcht 1 ,rega 
+7eed ea408000 ifetch 1 ,regb 
+7eee e2208000 istore 1 ,rega 
+7eef e2488000 istoret 1 ,regb 
+7ef0 1a40a5ff increase -1 ,regb 
+7ef1 1a20a201 increase 1 ,rega 
+7ef2 c2007eec loop inverse_loop 
+7ef3 20600000 rtn 
+
+memcpy_fast:
+7ef4 1f227e00 deposit loopcnt 
+7ef5 207a0000 rtn blank 
+
+memcpy_fast_loop:
+7ef6 1f20f3f8 increase -8 ,loopcnt 
+7ef7 20417eb9 call memcpy8 ,positive 
+7ef8 20628000 rtn zero 
+7ef9 20217ef6 branch memcpy_fast_loop ,positive 
+7efa 1f20f208 increase 8 ,loopcnt 
+
+memcpy_fast_loop_four:
+7efb 1f20f3fc increase -4 ,loopcnt 
+7efc 20417eb6 call memcpy4 ,positive 
+7efd 20628000 rtn zero 
+7efe 20217efb branch memcpy_fast_loop_four ,positive 
+7eff 1f20f204 increase 4 ,loopcnt 
+7f00 20207f01 branch memcpy 
+
+memcpy:
+7f01 1f227e00 deposit loopcnt 
+7f02 207a0000 rtn blank 
+
+memcpy_loop:
+7f03 e8c08000 ifetch 1 ,contr 
+7f04 e0a08000 istore 1 ,contw 
+7f05 c2007f03 loop memcpy_loop 
+7f06 20600000 rtn 
+
+timer_stop:
+7f07 58000000 setarg 0 
+
+timer_init:
+7f08 1c430400 rshift clkn_bt ,temp 
+7f09 600a4094 storet 4 ,mem_last_clkn 
+7f0a d8a0419d arg mem_timers ,contw 
+7f0b 98000400 iforce temp 
+7f0c 18e3fe00 lshift queue ,pdata 
+7f0d 98a08a00 iadd contw ,contw 
+7f0e e0a90000 istoret 2 ,contw 
+7f0f 477e403f bpatchx patch3f_4 ,mem_patch3f 
+7f10 20600000 rtn 
+
+timer_check_timeout:
+7f11 d9600800 arg 0x800 ,timeup 
+7f12 19701600 lshift16 timeup ,timeup 
+7f13 9960fe00 iadd timeup ,pdata 
+7f14 20600000 rtn 
+
+timer_reinit:
+7f15 d8e00000 arg 0 ,queue 
+
+timer_check:
+7f16 477ec03f bpatchx patch3f_5 ,mem_patch3f 
+7f17 680a4094 fetcht 4 ,mem_last_clkn 
+7f18 1c437e00 rshift clkn_bt ,pdata 
+7f19 60024094 store 4 ,mem_last_clkn 
+7f1a 98467c00 isub temp ,null 
+7f1b 24417f11 ncall timer_check_timeout ,positive 
+7f1c 98461600 isub temp ,timeup 
+7f1d 19620400 copy timeup ,temp 
+7f1e d8c0419d arg mem_timers ,contr 
+7f1f 18c20a00 copy contr ,contw 
+7f20 df200010 arg 16 ,loopcnt 
+
+timer_loop:
+7f21 e8c10000 ifetch 2 ,contr 
+7f22 98467e00 isub temp ,pdata 
+7f23 20217f25 branch timer_counting ,positive 
+7f24 18007e00 force 0 ,pdata 
+
+timer_counting:
+7f25 e0a10000 istore 2 ,contw 
+7f26 c2007f21 loop timer_loop 
+7f27 d8c0419d arg mem_timers ,contr 
+7f28 18e3fe00 lshift queue ,pdata 
+7f29 98c08c00 iadd contr ,contr 
+7f2a e8c10000 ifetch 2 ,contr 
+7f2b 20600000 rtn 
+
+clk_add:
+7f2c 98408400 iadd temp ,temp 
+7f2d 18427200 copy temp ,loopcnt 
+7f2e 58000ea6 setarg 3750 
+7f2f 9f267e00 isub loopcnt ,pdata 
+7f30 20610000 rtn positive 
+7f31 1fe67e00 sub pdata ,0 ,pdata 
+7f32 18510400 rshift16 temp ,temp 
+7f33 18408401 increase 1 ,temp 
+7f34 18500400 lshift16 temp ,temp 
+7f35 98418400 ior temp ,temp 
+7f36 20600000 rtn 
+
+clk_diff_rt:
+7f37 20407f39 call clk_diff 
+7f38 20207f43 branch clk2rt 
+
+clk_diff:
+7f39 78547c00 disable user 
+7f3a 98467e00 isub temp ,pdata 
+7f3b 20217f3e branch clk_diff_pos ,positive 
+7f3c 78347c00 enable user 
+7f3d 1fe67e00 sub pdata ,0 ,pdata 
+
+clk_diff_pos:
+7f3e c4078000 rtnbit0 15 
+7f3f d85f0ea6 arg -61786 ,temp 
+7f40 9840fe00 iadd temp ,pdata 
+7f41 793ffe40 set0 64 ,pdata 
+7f42 20600000 rtn 
+
+clk2rt:
+7f43 98000c00 iforce contr 
+7f44 1ff17e00 rshift16 pdata ,pdata 
+7f45 d8400ea6 arg 3750 ,temp 
+7f46 984ffe00 imul32 temp ,pdata 
+7f47 98c0fe00 iadd contr ,pdata 
+7f48 20600000 rtn 
+
+clk2lpo:
+7f49 1fed7e00 lshift8 pdata ,pdata 
+7f4a 1ff27e00 lshift4 pdata ,pdata 
+7f4b 6809c16f fetcht 3 ,mem_clks_per_lpo 
+7f4c 9846fc00 idiv temp 
+7f4d 20407f86 call wait_div_end 
+7f4e 18078400 quotient temp 
+7f4f 20600000 rtn 
+
+clk2bt:
+7f50 d8400ea6 arg 3750 ,temp 
+7f51 9846fc00 idiv temp 
+7f52 20407f86 call wait_div_end 
+7f53 1807fe00 quotient pdata 
+7f54 1ff07e00 lshift16 pdata ,pdata 
+7f55 18070400 remainder temp 
+7f56 98418400 ior temp ,temp 
+7f57 20600000 rtn 
+
+string2dec_from_uart:
+7f58 d8400000 arg 0 ,temp 
+
+string2dec_from_uart_done:
+7f59 18422600 copy temp ,regc 
+7f5a e8608000 ifetch 1 ,contru 
+7f5b 20407f64 call uchar2dialog 
+7f5c 1a620400 copy regc ,temp 
+7f5d 20407f95 call swap 
+7f5e da40000a arg 10 ,regb 
+7f5f 9a4ffe00 imul32 regb ,pdata 
+7f60 9840fe00 iadd temp ,pdata 
+7f61 1fe20400 copy pdata ,temp 
+7f62 c2007f59 loop string2dec_from_uart_done 
+7f63 20600000 rtn 
+
+uchar2dialog:
+7f64 d840003a arg 0x3a ,temp 
+7f65 98467c00 isub temp ,null 
+7f66 24217f6d nbranch uchar2dialog_number ,positive 
+7f67 d8400061 arg 0x61 ,temp 
+7f68 98467c00 isub temp ,null 
+7f69 20217f70 branch uchar2dialog_a2f ,positive 
+7f6a d8400037 arg 0x37 ,temp 
+7f6b 98467e00 isub temp ,pdata 
+7f6c 20600000 rtn 
+
+uchar2dialog_number:
+7f6d d8400030 arg 0x30 ,temp 
+7f6e 98467e00 isub temp ,pdata 
+7f6f 20600000 rtn 
+
+uchar2dialog_a2f:
+7f70 d8400057 arg 0x57 ,temp 
+7f71 98467e00 isub temp ,pdata 
+7f72 20600000 rtn 
+
+pn9:
+7f73 18426000 copy temp ,alarm 
+7f74 580001ff setarg 0x1ff 
+7f75 18002400 force 0 ,regb 
+
+pn9_loop:
+7f76 1fe92200 rshift3 pdata ,rega 
+7f77 1a232200 rshift rega ,rega 
+7f78 9a22a200 ixor rega ,rega 
+7f79 2a2ffe00 isolate1 0 ,rega 
+7f7a 7920fe09 setflag true ,9 ,pdata 
+7f7b 18430400 rshift temp ,temp 
+7f7c 2feffe00 isolate1 0 ,pdata 
+7f7d 79208407 setflag true ,7 ,temp 
+7f7e 1fe37e00 rshift pdata ,pdata 
+7f7f 1a40a401 increase 1 ,regb 
+7f80 2a400e00 compare 0 ,regb ,0x7 
+7f81 2420ff76 nbranch pn9_loop ,true 
+7f82 e0a88000 istoret 1 ,contw 
+7f83 c2007f76 loop pn9_loop 
+7f84 1e020400 copy alarm ,temp 
+7f85 20600000 rtn 
+
+wait_div_end:
+7f86 207a8000 rtn modone 
+7f87 20207f86 branch wait_div_end 
+
+compare_loop:
+
+string_compare:
+7f88 ea208000 ifetch 1 ,rega 
+7f89 ea488000 ifetcht 1 ,regb 
+7f8a 98467c00 isub temp ,null 
+7f8b 24628000 nrtn zero 
+7f8c 1a20a201 increase 1 ,rega 
+7f8d 1a40a401 increase 1 ,regb 
+7f8e c2007f88 loop string_compare 
+7f8f 18007c00 force 0 ,null 
+7f90 20600000 rtn 
+
+ceiling:
+7f91 98467c00 isub temp ,null 
+7f92 24610000 nrtn positive 
+7f93 18427e00 deposit temp 
+7f94 20600000 rtn 
+
+swap:
+7f95 9840fe00 iadd temp ,pdata 
+7f96 98460400 isub temp ,temp 
+7f97 98467e00 isub temp ,pdata 
+7f98 20600000 rtn 
+
+clean_mem:
+7f99 df200200 arg 0x200 ,loopcnt 
+7f9a d8a04000 arg 0x4000 ,contw 
+7f9b 20207ec6 branch memset0 
+
+callback_func:
+7f9c 207a0000 rtn blank 
+7f9d 1fe27a00 copy pdata ,pc 
+
+wait_uarttx:
+7f9e 6811010e hfetch 2 ,core_uart_txitems 
+7f9f 243a7f9e nbranch wait_uarttx ,blank 
+7fa0 20600000 rtn 
+
+ice_break:
+7fa1 70820301 hjam 0x1 ,core_ice_ctrl 
+7fa2 20600000 rtn 
+
+ice_setbp:
+7fa3 60110205 hstore 2 ,core_ice_break0 
+7fa4 68108203 hfetch 1 ,core_ice_ctrl 
+7fa5 79207e04 set1 4 ,pdata 
+7fa6 60108203 hstore 1 ,core_ice_ctrl 
+7fa7 20600000 rtn 
+
+ice_setbp2:
+7fa8 60110207 hstore 2 ,core_ice_break1 
+7fa9 68108203 hfetch 1 ,core_ice_ctrl 
+7faa 79207e06 set1 6 ,pdata 
+7fab 60108203 hstore 1 ,core_ice_ctrl 
+7fac 20600000 rtn 
+
+ice_set_write_bp:
+7fad 60110205 hstore 2 ,core_ice_break0 
+7fae 70820330 hjam 0x30 ,core_ice_ctrl 
+7faf 20600000 rtn 
+
+test_enable_white:
+7fb0 68108043 hfetch 1 ,core_config 
+7fb1 793ffe04 set0 whiteoff_bit ,pdata 
+7fb2 60108043 hstore 1 ,core_config 
+7fb3 20600000 rtn 
+
+check_uart_tx_buff:
+7fb4 6811010e hfetch 2 ,core_uart_txitems 
+7fb5 d8400200 arg uart_air_control_threshold ,temp 
+
+pdata_sub_temp:
+7fb6 98467c00 isub temp ,null 
+7fb7 20600000 rtn 
+
+fifo_in:
+7fb8 477f403f bpatchx patch3f_6 ,mem_patch3f 
+7fb9 ea2c0000 ifetcht util_fifo_len ,rega 
+7fba 18417eff and temp ,0xff ,pdata 
+7fbb 243a7fbe nbranch fifo_in_push ,blank 
+7fbc 184cfe00 rshift8 temp ,pdata 
+7fbd e2240000 istore util_fifo_len ,rega 
+
+fifo_in_push:
+7fbe 1a20a207 increase util_fifo_len + util_fifo_offset ,rega 
+7fbf ea208000 ifetch 1 ,rega 
+7fc0 243a2a8c nbranch assert ,blank 
+7fc1 68008a99 fetch 1 ,mem_fifo_temp 
+7fc2 e2208000 istore 1 ,rega 
+7fc3 20600000 rtn 
+
+fifo_out:
+7fc4 477fc03f bpatchx patch3f_7 ,mem_patch3f 
+7fc5 df200008 arg util_fifo_len ,loopcnt 
+7fc6 ea240000 ifetch util_fifo_len ,rega 
+7fc7 207a0000 rtn blank 
+
+fifo_out_loop:
+7fc8 ea208000 ifetch 1 ,rega 
+7fc9 243a7fcd nbranch fifo_out_end ,blank 
+7fca 1a20a201 increase 1 ,rega 
+7fcb c2007fc8 loop fifo_out_loop 
+7fcc 20202a8c branch assert 
+
+fifo_out_end:
+7fcd d8400000 arg 0 ,temp 
+7fce e2288000 istoret 1 ,rega 
+7fcf 20600000 rtn 
+
+fifo_is_empty:
+7fd0 ea240000 ifetch util_fifo_len ,rega 
+7fd1 20600000 rtn 
+
+fifo_is_full:
+7fd2 ea208000 ifetch 1 ,rega 
+7fd3 20600000 rtn 
+
+fifo_is_near_full:
+7fd4 ea210000 ifetch 2 ,rega 
+7fd5 20600000 rtn 
+
+fifo_content_count:
+7fd6 d8400000 arg 0 ,temp 
+
+fifo_content_count_loop:
+7fd7 68008006 fetch 1 ,contr 
+7fd8 c2007fd7 loop fifo_content_count_loop ,blank 
+7fd9 18408401 increase 1 ,temp 
+7fda c2007fd7 loop fifo_content_count_loop 
+7fdb 18427e00 copy temp ,pdata 
+7fdc 20600000 rtn 
+
+not_greater_than:
+7fdd 98467c00 isub temp ,null 
+7fde 24610000 nrtn positive 
+7fdf 18427e00 copy temp ,pdata 
+7fe0 20600000 rtn 
+
+disable_positive:
+7fe1 18007dff force -1 ,null 
+7fe2 20600000 rtn 
+
+enable_positive:
+
+disable_zero:
+7fe3 18007c01 force 1 ,null 
+7fe4 20600000 rtn 
+
+enable_zero:
+7fe5 18007c00 force 0 ,null 
+7fe6 20600000 rtn 
+
+enable_user:
+7fe7 78347c00 enable user 
+7fe8 20600000 rtn 
+
+disable_user:
+7fe9 78547c00 disable user 
+7fea 20600000 rtn 
+
+enable_user2:
+7feb 78367c00 enable user2 
+7fec 20600000 rtn 
+
+disable_user2:
+7fed 78567c00 disable user2 
+7fee 20600000 rtn 
+
+disable_blank:
+7fef 58000001 setarg 1 
+7ff0 20600000 rtn 
+
+enable_blank:
+7ff1 58000000 setarg 0 
+7ff2 20600000 rtn 
+
+reverse_byte:
+7ff3 1f227e00 copy loopcnt ,pdata 
+7ff4 207a0000 rtn blank 
+7ff5 18c27e00 copy contr ,pdata 
+7ff6 9f20fe00 iadd loopcnt ,pdata 
+7ff7 1fe0ffff increase -1 ,pdata 
+7ff8 1fe20c00 copy pdata ,contr 
+
+reverse_loop:
+7ff9 e8c08000 ifetch 1 ,contr 
+7ffa 18c08dfe increase -2 ,contr 
+7ffb e0a08000 istore 1 ,contw 
+7ffc c2007ff9 loop reverse_loop 
+7ffd 20600000 rtn 
+rtn 
Index: YJX_Only24g/FCC_1021S/output/ramcode.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/ramcode.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/ramcode.rom	(working copy)
@@ -0,0 +1,665 @@
+2040028f
+2040003f
+2040004c
+20400075
+2040003b
+70805021
+6808c6e2
+204067fb
+6808c6e3
+204067fb
+6808c6e4
+204067fb
+2040659c
+58000200
+60014720
+d8400002
+da204720
+58000000
+2040663d
+20400274
+2020012c
+da200000
+20400027
+2040001b
+20400021
+1a227e00
+20600000
+6808c6e3
+20400036
+6808c6e3
+2040681d
+7920a201
+20600000
+6808c6e4
+20400036
+6808c6e4
+2040681d
+7920a202
+20600000
+6808c6e2
+20400036
+6808c6e2
+2040681d
+7920a200
+20600000
+793f8407
+d8a08078
+20406830
+79200407
+d8a0807c
+20406830
+793f8407
+d8a08070
+20206830
+79200407
+d8a08078
+20406830
+793f8407
+20200031
+7041758f
+70417610
+704177ca
+202029e9
+d8a00000
+df200400
+20400048
+68108108
+c4010000
+d8a04000
+df200200
+20400048
+20600000
+18007e00
+e0a40000
+c2000049
+20600000
+588fffff
+6001c098
+589d83fe
+793ffe02
+e0a18000
+58008359
+e0a10000
+58001177
+6001c0a0
+58000033
+6001c0a3
+589e8b33
+6001c0a7
+58000012
+600140ad
+58001000
+600140af
+58000200
+600140b1
+58000800
+600140b3
+58000020
+600140bb
+58000020
+600140b7
+58002000
+600140b9
+58000a04
+6001c510
+580012e9
+60014513
+70451506
+58535442
+6001c516
+58344950
+6001c519
+7040bd02
+70009060
+7040d005
+70409303
+20600000
+70804206
+70890700
+70890800
+70890900
+70890aff
+70890bff
+70890f2e
+70891247
+70894bba
+70894cfb
+70894def
+70894eec
+70894f5e
+70896f88
+70897300
+70895a4a
+70895c80
+704af920
+704af701
+708930a9
+70892fad
+70892eb1
+70892db5
+70892cb9
+70892bbd
+70892ac2
+708929c6
+708928ca
+708927ce
+708926d2
+708925d6
+708924da
+708923de
+708922e2
+708921e6
+708920ea
+70891fee
+70891ef2
+70891df6
+70891cfb
+70891bfb
+70891afb
+708947f5
+708946e6
+708945d7
+708944d6
+708943c7
+708942c6
+70894187
+70894086
+70893f85
+70893e46
+70893d07
+70893c06
+70893bc7
+70893ac6
+708939c5
+708938c4
+708937c3
+708936c2
+708935c1
+708934c0
+70893380
+70893280
+70893180
+70894a7f
+708949f8
+70894800
+708955d0
+708956e0
+70895788
+7089583c
+70895910
+58300000
+60118969
+70896864
+7040be24
+204000ea
+708968e4
+79202a03
+18002a00
+204000c9
+204000db
+20600000
+70890602
+582625a0
+2040011f
+7089007f
+20000082
+70890110
+70895230
+200000c8
+708952f0
+18007232
+68108980
+c28280d6
+c20000d3
+6000c0ce
+70890100
+70890000
+70890600
+20600000
+6800c0ce
+79207e05
+60108952
+68188950
+18410407
+1fe9fe00
+9841fe00
+60108950
+68108951
+793ffe00
+60108951
+68108952
+793ffe05
+60108952
+20600000
+6810896b
+793ffe04
+793ffe05
+6010896b
+70890500
+70890470
+708905ff
+6810896b
+79207e04
+79207e05
+6010896b
+204000fc
+70804205
+20600000
+70804208
+70890500
+70890470
+20600000
+68198138
+58100f0f
+98467c00
+20628000
+6011804c
+70804fca
+20400105
+70807400
+20600000
+58000001
+37d98200
+60108005
+37d98200
+37d98200
+20600000
+20000064
+708955d8
+20000028
+708955d2
+20000028
+708955d1
+20000028
+708955d0
+708956e0
+18002a00
+7850fc00
+78507c00
+782f7c00
+70890600
+70890300
+70890470
+70890200
+70890100
+70890000
+20600000
+1fe37e00
+1fe0fffd
+1fe0ffff
+24228121
+18007e00
+20600000
+70890477
+70890303
+2000000a
+70890383
+7089047f
+708903a7
+20600000
+704af801
+704afa01
+704af74f
+68024af7
+60024afb
+6808cafb
+184085ff
+6800cafe
+c0000141
+20400125
+20400242
+7843fc00
+782efc00
+78307c00
+6808cafc
+18422a00
+68108908
+284ffe03
+7920fe05
+60108908
+202001a1
+20400125
+20400242
+20400293
+79202a00
+782efc00
+78307c00
+7850fc00
+2040547f
+68108908
+284ffe03
+7920fe05
+60108908
+d8a0119e
+58cccccc
+6001919e
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+df200018
+d8c0119e
+2020015a
+e8c08000
+08008608
+c200015a
+20400178
+58002ee0
+20402a8f
+204001ad
+68024afb
+680a4af7
+98467c00
+24428166
+2020012f
+58124f80
+20402a8f
+58124f80
+20402a8f
+58124f80
+20402a8f
+20200015
+20400125
+20400242
+20400293
+79202a00
+782efc00
+78307c00
+7850fc00
+2040547f
+6800cafd
+60108908
+202001c2
+2020010b
+6808cafb
+184085ff
+6800caff
+2fe00201
+20408192
+24408185
+20404c2e
+6803cafb
+680bcaf7
+98467c00
+2022817f
+2020012c
+20400178
+20400296
+58000500
+20402a8f
+20202924
+784efc00
+784e7c00
+7846fc00
+78467c00
+7844fc00
+78477c00
+7843fc00
+2020010b
+20400178
+20400296
+6808cafc
+18412a07
+202029eb
+20400125
+20400242
+7843fc00
+782efc00
+78307c00
+6808cafc
+18422a00
+6800cafd
+60108908
+c00001c0
+df20001e
+d8c04c07
+e8c08000
+08008608
+c20001a3
+204001ad
+68024afb
+680a4af7
+98467c00
+202281a1
+20400166
+2020012f
+20400015
+c00201ba
+c00081b1
+20600000
+6800caf7
+c02781b6
+c01701b8
+704af74f
+20600000
+704af72e
+20600000
+704af702
+20600000
+6800cafe
+c00001be
+704afa00
+20600000
+704afa01
+20600000
+6800cb00
+c0008208
+6800cafc
+c00081c7
+c00181d4
+c00381e1
+20600000
+6800cb01
+c00c81cb
+c03c01ce
+c07801d1
+df200037
+d8c04c07
+2020015a
+df2000cd
+d8c04c07
+2020015a
+df200163
+d8c04c07
+2020015a
+6800cb01
+c00c81d8
+c03c01db
+c07801de
+df200069
+d8c04c07
+2020015a
+df200195
+d8c04c07
+2020015a
+df2002c1
+d8c04c07
+2020015a
+6800cb01
+c00c81e5
+c03c01e8
+c07801eb
+df200078
+d8c04c07
+2020015a
+df20024e
+d8c04c07
+2020015a
+df2003e8
+d8c04c07
+2020015a
+6800cb01
+c00c81f2
+c03c01f5
+c07801f8
+df200069
+d8c04c07
+2020021a
+df200195
+d8c04c07
+2020021a
+df2002c1
+d8c04c07
+2020021a
+6800cb01
+c00c81ff
+c03c0202
+c0780205
+df200078
+d8c04c07
+2020021a
+df20024e
+d8c04c07
+2020021a
+df2003e8
+d8c04c07
+2020021a
+6800cafc
+c000820d
+c00181ee
+c00381fb
+20600000
+6800cb01
+c00c8211
+c03c0214
+c0780217
+df200037
+d8c04c07
+2020021a
+df2000cd
+d8c04c07
+2020021a
+df200163
+d8c04c07
+2020021a
+e8c08000
+08008608
+c200021a
+20200225
+20404c2e
+6803cafb
+680bcaf7
+98467c00
+202281c2
+20400178
+2020012c
+20400178
+20407f16
+d8e0000f
+5800000c
+20407f08
+d8e0000f
+20407f16
+203a0233
+20404c2e
+6803cafb
+680bcaf7
+98467c00
+2022822a
+2020012c
+180a7e00
+6000cc06
+6800cc06
+1fe67c50
+2021023b
+1fe0ffb0
+6000cc06
+20200235
+6800cc06
+c0000240
+c0008240
+6000caf7
+2020012c
+704af702
+2020012c
+60088017
+1840a201
+2040025c
+58000500
+2040011f
+70890601
+7089003c
+708901e0
+70896d12
+2000000a
+70890201
+7089023d
+2000000a
+708903b7
+2000000a
+7089027d
+708956ff
+20000004
+708955d1
+20000004
+708955d2
+20000004
+708955d8
+20000004
+708955df
+20600000
+58000960
+9a208400
+6800c0bd
+70895f04
+984ffe00
+6808c0be
+9846fc00
+20400272
+1807a200
+18077e00
+1ff07e00
+1ff27e00
+9846fc00
+20400272
+1807fe00
+1fed7e00
+1fe3fe00
+9a21fe00
+60120960
+70895f44
+70895fc4
+20600000
+207a8000
+20200272
+df2000ff
+d8a04c07
+580001ff
+18002400
+1fe92200
+1a232200
+9a22a200
+2a2ffe00
+7920fe09
+18430400
+2feffe00
+79208407
+1fe37e00
+1a40a401
+2a400e00
+24208278
+e0a88000
+c2000278
+20600000
+68120078
+681a007c
+9841fe00
+1fe47e00
+681a0070
+9841fe00
+60120070
+20600000
+70828005
+20600000
+20200291
+20200292
+783b7c00
+70891407
+20600000
+60088017
+1840a204
+2020025c
Index: YJX_Only24g/FCC_1021S/output/romcode.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/romcode.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/romcode.rom	(working copy)
@@ -0,0 +1,24576 @@
+20402abc
+44804000
+20800000
+2040640d
+2040296c
+204065a3
+20402a96
+20404d6a
+4480c000
+20406a03
+20405cf6
+20407ccc
+204032d8
+2455e89c
+44814000
+2055b2e3
+2040756a
+2055ab41
+4481c000
+204076dc
+20407aaf
+2040756d
+2040535c
+44824000
+20402038
+204032ed
+2040208f
+204022f8
+2040236a
+20402021
+20402b6a
+20402c72
+20202012
+20402026
+c6848000
+793f8009
+20402223
+202053ce
+4482c000
+2040225e
+2422a02f
+2040220a
+1a208c01
+e8c08000
+c2805360
+c280a166
+202023cf
+2040222b
+1f227c00
+20628000
+2040220a
+68008030
+c281a0d3
+68008031
+c280a166
+202023cf
+6800c1ce
+207a0000
+c000a048
+c001204d
+c001a050
+c002a055
+c00da045
+20402257
+20628000
+2040225a
+20628000
+7041ce00
+20600000
+70049b1b
+7041ce00
+20600000
+7920001c
+793f801e
+70008fff
+70008d1f
+20202043
+793f801c
+18003600
+20202043
+2040225a
+20628000
+18000401
+70016e05
+2020205c
+44834000
+680341d0
+203a2043
+70468101
+70005503
+2020205b
+18000425
+4483c000
+680080f1
+203a2062
+1fe9fe00
+1ff27e00
+1fe0ffff
+6000c0a6
+600080f0
+70008e1f
+793f800c
+2040223b
+2422a083
+20402a6f
+60008077
+6008807c
+680341d0
+60030040
+44844001
+20407f15
+18007e00
+2841fe01
+7d20fe05
+79207e03
+60008030
+700a9903
+20407d86
+18007e00
+7920fe04
+6000804c
+58000000
+79207e01
+60008031
+7834fc00
+20402223
+7854fc00
+18000e03
+680140b9
+20407f08
+20202043
+4484c001
+680341d0
+60030040
+2841fe01
+2020a089
+20202043
+d8a00101
+df200008
+20407ec6
+700a9904
+20407d86
+20202043
+c68e0000
+18000e01
+20407f16
+7d3a001c
+243a2095
+20600000
+44854001
+680940bb
+18000e04
+2040271c
+20740000
+204028a4
+18004800
+20618000
+793f800b
+793f8000
+1c40c201
+280ffe1e
+7920c802
+2c200400
+2420a0be
+4485c001
+68008012
+1fe0fe01
+60008012
+204028d8
+204028d2
+204028f2
+20402a51
+20402a56
+20402a64
+2040264d
+204020b1
+2020209c
+44864001
+6800808d
+1fe0ffff
+6000808d
+20610000
+70008d1f
+6800808f
+1fe0ffff
+6000808f
+20610000
+7940001e
+70008fff
+20600000
+4486c001
+204028d8
+204028cc
+204028f2
+20402a5b
+204029eb
+20402a0d
+202c20c8
+204020b1
+2020209f
+44874001
+204029bb
+20402a6b
+2040251e
+793f8001
+c6858000
+4487c001
+68008013
+1fe0fe01
+60008013
+20600000
+44884002
+7834fc00
+78387c00
+680140b5
+203a20db
+18000e08
+20407f16
+247a0000
+4488c002
+680940b7
+18000e28
+2040271c
+20342114
+18000e03
+20407f16
+243a20f0
+6800804c
+c28220e6
+202020e9
+d8a00101
+df200008
+20407ec6
+44894002
+70003000
+20405cf7
+70468100
+700a9913
+20407d86
+20202114
+4489c002
+18001600
+34730200
+680080f2
+1fe0ffff
+9c42fe00
+2fe00600
+2420a0f0
+18827e00
+60008181
+18004c00
+18004800
+448a4002
+2021a114
+204028dc
+d9600600
+34730200
+448ac002
+680200f2
+98004200
+1fe0fe01
+600200f2
+280ffe0c
+7920c802
+2c200400
+2420a128
+6800800c
+1fe0fe01
+6000800c
+204028d2
+20402a51
+20402a56
+20402a64
+2040264d
+2040211a
+202020fc
+448b4002
+7854fc00
+680140b5
+207a0000
+18000e08
+20207f08
+448bc002
+6800808e
+1fe0ffff
+6000808e
+20610000
+70008e1f
+680080f0
+1fe0ffff
+600080f0
+20610000
+7940000c
+6800c0a6
+600080f0
+20600000
+448c4003
+204028cc
+20402a5b
+204029eb
+20402a0d
+202c2130
+2040211a
+20202101
+2040264d
+6800800d
+1fe0fe01
+6000800d
+18003600
+680200f2
+448cc003
+20402a4f
+204028dc
+1cc0cc01
+1c2143fd
+1c8149fc
+204028d2
+20402a51
+20402a56
+20402a64
+1c427e00
+60020161
+18000800
+18000202
+20402a6b
+20402766
+448d4003
+20402a4d
+1c21c202
+1c8149fc
+204028cc
+20402a5b
+204029eb
+20402a0d
+204c264d
+202c2155
+68008010
+203a20fc
+1fe0ffff
+60008010
+20202136
+448dc003
+6800800e
+1fe0fe01
+6000800e
+20402435
+204022f2
+202c215f
+20402455
+243a215a
+202020fc
+448e4003
+68008030
+793ffe03
+60008030
+20402440
+7854fc00
+20600000
+448ec003
+7834fc00
+78387c00
+204021e1
+20740000
+20402c69
+20402a4f
+1c40c201
+204028e2
+18004803
+20406cc2
+20402489
+204028d2
+20402a51
+20402a56
+20402a64
+20402762
+448f4003
+20405d08
+204022e4
+2436a180
+20402a88
+20402728
+6800800f
+1fe0fe01
+6000800f
+448fc003
+20406caa
+2040218b
+24748000
+204026f3
+243a2188
+7854fc00
+20600000
+20402489
+204022da
+20202177
+2036a18e
+20402a7f
+2021219c
+204021a7
+2434219c
+6800804c
+c4020000
+c3818000
+6800804b
+c3818000
+204021ae
+247a0000
+6800816e
+1fe0ffff
+6000816e
+247a0000
+20206006
+44904004
+2040245d
+7854fc00
+6800804c
+c28221a2
+20600000
+6800804c
+c3818000
+d8a00101
+df200008
+20207ec6
+4490c004
+78347c00
+6800804b
+c4018000
+204021ae
+247a0000
+20207fe9
+68008072
+1fe0ffff
+60008072
+20600000
+44914004
+68008030
+c283a1bb
+680089b5
+203a21bb
+7009b500
+700a9918
+20407d86
+202021bb
+4491c004
+20402254
+68008030
+79207e07
+60008030
+7041bd01
+68008055
+c08b21c3
+20600000
+7009b501
+68008030
+793ffe07
+60008030
+20600000
+44924004
+78547c00
+68010032
+d840ffff
+98467c00
+24628000
+68020034
+203821d3
+9d067e00
+202021d4
+9c467e00
+1fe67c04
+24610000
+18007e00
+60010032
+20207fe7
+1fe20400
+4492c004
+600a0034
+70455b01
+5800ffff
+60010032
+70007301
+20600000
+44934004
+204021c9
+24740000
+78547c00
+70001120
+793f800b
+20402a4f
+204022e6
+c505a1f4
+20402455
+243a21e7
+4493c004
+78547c00
+1c427e00
+600240ca
+78387c00
+7834fc00
+700a992a
+20207d86
+44944005
+20402a4d
+d8200010
+204022dc
+78587c00
+7854fc00
+20402818
+20402435
+4494c005
+2040247c
+2036a202
+20402455
+243a21fc
+202021ec
+68008031
+793ffe01
+60008031
+20402a88
+20402841
+78347c00
+700a992b
+20207d86
+44954005
+79200009
+1a227e00
+6001001e
+18007250
+d8a0043f
+1a208c01
+e8c08000
+1a220c00
+c2807f01
+d8a00030
+20407f01
+78577c00
+68008077
+98000800
+70008a01
+2034a21c
+70008a01
+68008030
+c4008000
+68008073
+6000808a
+68008074
+6000808b
+20600000
+4495c005
+6801001e
+98000a00
+18007250
+d8c0043f
+203b7f01
+d8c00030
+20207f01
+df200001
+68088015
+18408401
+2841fe01
+2420a231
+d8400000
+60088015
+184ffe50
+da204040
+9a20a200
+ea208000
+c280a239
+c3800000
+c3818000
+c200222d
+20600000
+44964005
+da60226a
+20402261
+24628000
+1a227e00
+6001001e
+18007c00
+20600000
+20402725
+2020a24b
+6801001e
+1fe08a17
+68008047
+e0a08000
+da6022aa
+20202261
+68008047
+2feffe03
+2020a250
+18007c01
+20600000
+18007c00
+20600000
+da6022a7
+20202261
+6809001e
+da6022cf
+20202261
+6808c1cf
+da602275
+20202261
+4496c005
+680b41d0
+da60226e
+20202261
+da60227b
+20202261
+da6022c6
+44974005
+da204040
+df200001
+ea208000
+1a627a00
+1a20a250
+c2002264
+18007c01
+20600000
+c2802266
+c281a266
+18007c00
+20600000
+c281a270
+c3002266
+1a208c10
+e8c30000
+98467c00
+20628000
+20202266
+c3002266
+1a208c16
+e8c08000
+98467c00
+20628000
+20202266
+c300a266
+204022b3
+20402297
+98467e00
+1fe0fe01
+20212291
+18c22400
+60048aa2
+6800c4c0
+243a2289
+68048aa2
+1a420c00
+1fe0fe05
+2020228c
+68048aa2
+1a420c00
+1fe0fe14
+24212266
+18424200
+204022bf
+18007c00
+20600000
+98002400
+1a208c02
+e8c10000
+203a228d
+204022bf
+2020227c
+1ff11600
+196c9600
+2022a2a1
+29601e0f
+24608000
+18511600
+196c9600
+24628000
+7920041c
+20600000
+18511600
+196c9600
+29601e0f
+24608000
+79207e1c
+20600000
+c3002266
+18007c00
+20600000
+c3002266
+1a208c01
+e8c08000
+c2802266
+1a208c17
+e8c08000
+c301a266
+18007c00
+20600000
+1a208c01
+e8c88000
+1c427e00
+284ffe01
+1a208c04
+e8ca0000
+20608000
+1a208c08
+e8c30000
+20402854
+1d027e00
+20600000
+1a208c02
+1a208a04
+e8c10000
+98409600
+19627e00
+e0a20000
+20205449
+c300a266
+204022b3
+9b60fe00
+9b60fe00
+98e0fe00
+98467c00
+24212266
+18007c00
+20600000
+c3002266
+18427e00
+9a267c00
+203f2266
+1a208c01
+e8c08000
+c2802266
+ea208000
+793ffe07
+e2208000
+20202266
+4497c005
+20402a4f
+1c40c201
+204028e2
+18004803
+204028d2
+20402a51
+20402a56
+20402a64
+20202762
+44984006
+20402a4d
+1c40c201
+204028e2
+18004803
+204028cc
+2040242a
+204029f1
+20402a5b
+204029eb
+20402a0d
+246c0000
+204029bb
+2020251c
+4498c006
+68008181
+98000800
+18000201
+204022da
+202022e4
+6800c093
+c4000000
+18000e04
+20407f16
+247a0000
+680940ad
+18000e04
+2040271c
+20740000
+20402308
+18000e04
+680140af
+242c7f08
+180a7e00
+9ea17e00
+20207f08
+44994006
+70018100
+78587c00
+78577c00
+204028a4
+1c4143fc
+18004801
+204028d8
+204028cc
+7940001d
+68008006
+1fe0fe01
+60008006
+204028f2
+204029eb
+20402a14
+246c0000
+4499c006
+18003600
+204028f9
+68008007
+1fe0fe01
+60008007
+204028d8
+20402a4d
+1c21c202
+18004801
+204028d2
+204028f2
+20402a51
+20402a5f
+1c427e00
+60020161
+20402a64
+18000202
+18000800
+20402a6b
+20402766
+20402332
+1c2143fd
+1cc0cc01
+20600000
+449a4006
+6800c0d1
+207a0000
+d8a0018e
+6800c515
+1fe27200
+1fe0fe01
+e0a08000
+18a20400
+1fe0fe01
+600141dc
+18420a00
+58000009
+e0a08000
+d8c04516
+20407f01
+da60458d
+df200004
+20402354
+da604577
+df200001
+20402354
+1800020a
+7041db02
+5800018e
+6001016f
+20402a4d
+204028d2
+20402a51
+20402a5f
+20402a64
+20402a6b
+20402766
+20600000
+18a20400
+1a620c00
+e8c08000
+207a0000
+1fe3fe00
+c2002358
+1fe22200
+1fe0fe02
+1fe20e00
+680141dc
+98e0fe00
+600141dc
+18420a00
+1a227e00
+1fe0fe01
+e0a08000
+1a620c00
+e8c08000
+e8c08000
+e0a08000
+1a227200
+20207f01
+6800c093
+c4008000
+18000e05
+20407f16
+247a0000
+680940b1
+18000e28
+2040271c
+20740000
+18000800
+70001008
+793f800b
+2040237a
+18000e05
+680140b3
+20207f08
+449ac006
+78587c00
+204028a4
+68008008
+1fe0fe01
+60008008
+18004c00
+204028e2
+1c40c201
+18004802
+449b4006
+204028cc
+204029eb
+20402a14
+246c0000
+204028f9
+68008009
+1fe0fe01
+60008009
+18003600
+20402a4d
+1c21c202
+18004801
+204028d2
+20402a51
+20402a5f
+20402a64
+2040264d
+18000800
+d9600600
+35330200
+1d01d003
+1c2143fd
+449bc006
+1cc0cc01
+204028cc
+204029eb
+20402a07
+242c23a4
+20402a6b
+2040251e
+c505a3ab
+449c4007
+68008010
+207a0000
+1fe0ffff
+60008010
+20402a4f
+2020239b
+449cc007
+793fd001
+79205000
+6800800a
+1fe0fe01
+6000800a
+20402a4d
+1c21c202
+204028d2
+20402a51
+20402a5f
+20402a64
+2040264d
+2d000603
+2020a3bc
+37cb8200
+202023b8
+68020165
+1fe1fe03
+1fe25000
+449d4007
+68030178
+60030040
+20402435
+2040247c
+2036a3c8
+20402455
+243a23c3
+20600000
+449dc007
+20402440
+2040223b
+24628000
+70003100
+20402841
+20202223
+449e4007
+20402850
+204023f3
+20740000
+449ec007
+20402c69
+20406caa
+20402514
+2436a3e2
+20402a88
+20406cc2
+20402489
+20402757
+20402728
+20405d08
+6800800b
+1fe0fe01
+6000800b
+20402841
+449f4007
+20402bb1
+20402a7f
+202123eb
+204021a7
+243423eb
+204026f3
+243a23d3
+20600000
+449fc007
+70015100
+70017f00
+2040245d
+793f8011
+20407fb0
+68008030
+20600000
+44a04008
+204021c9
+24740000
+18820400
+20402a6f
+60008181
+18420800
+70001120
+44a0c008
+20402a4f
+18000202
+2040274f
+1c427e00
+60020161
+20402762
+20402a4d
+7837fc00
+204024f6
+202c240d
+204028f9
+20402455
+243a23fb
+c6820000
+70007c34
+79200003
+20600000
+78387c00
+20402435
+204028a4
+44a14008
+204022f2
+202c2419
+20402455
+243a2410
+78587c00
+1d027e00
+600240ca
+20600000
+7834fc00
+c582241f
+793f8004
+70007c03
+70007d33
+204062f8
+18827e00
+60008077
+18007e00
+60030038
+68008031
+79207e01
+60008031
+20402a88
+7854fc00
+78347c00
+20600000
+44a1c008
+7856fc00
+793f8005
+793f800a
+793f8010
+793f800f
+68008047
+793ffe05
+79207e04
+60008047
+20600000
+44a24008
+70001120
+70004750
+680140bf
+6001003e
+1c427e00
+600240ca
+20780000
+1d027e00
+600240ca
+20600000
+44a2c008
+20405d04
+20402459
+60008046
+58000000
+6001025d
+58001c80
+60010051
+68008030
+79207e00
+60008030
+70004b00
+70004c00
+7000a000
+20202a88
+44a34008
+18007e00
+600441be
+e0a40000
+204021c5
+20202254
+68008011
+1fe0ffff
+60008011
+20600000
+6800c0cf
+1fe0fe01
+6000c0cf
+20600000
+44a3c008
+6800c1ce
+c001a462
+68008048
+c080a466
+20404d06
+2422a466
+204021a4
+7041ce00
+44a44009
+204033af
+204026e9
+700a9902
+20407d86
+20405cf7
+20404d6b
+2040757d
+68008030
+793ffe00
+60008030
+70468100
+6800804c
+2fe18000
+2020a476
+793f8001
+68008047
+c301a478
+6800804b
+c4030000
+793f8002
+20600000
+44a4c009
+68008174
+207a0000
+1fe20800
+20402514
+24768000
+18000200
+20402757
+18827e00
+60008077
+18007e00
+60008174
+20600000
+44a54009
+68008030
+c3012496
+18000207
+c583a495
+20402725
+2420a496
+20372496
+204024c1
+58000002
+600140c8
+20600000
+24770000
+44a5c009
+20402243
+2422a4a7
+68008047
+c301a4b0
+c502a4b4
+6800817f
+c28324ba
+680140c8
+1fe0ffff
+600140c8
+203a24a5
+6800c0c5
+98000200
+20600000
+44a64009
+20402687
+20402725
+2020a4b0
+2040600a
+203424be
+6800804b
+c28324c0
+c502a4b4
+6800817f
+c28324ba
+18000201
+20748000
+18000200
+20600000
+44a6c009
+68008019
+98000200
+c1808000
+18000200
+20600000
+68008158
+1fe1020f
+79200005
+20600000
+18000213
+202024c1
+204024ca
+44a74009
+68088047
+79200403
+60088047
+18227e00
+6000c0c5
+5800ffff
+600140c8
+20600000
+44a7c009
+6800804c
+2feffe05
+680141dc
+2020a4e0
+18000203
+1fe67c11
+20610000
+18000204
+1fe67c1b
+20610000
+1800020a
+1fe67c79
+20610000
+1800020b
+1fe67cb7
+20610000
+1800020e
+1fe67ce0
+20610000
+1800020f
+20600000
+18000203
+1fe67c11
+20610000
+18000204
+1fe67c36
+20610000
+1800020a
+d840016f
+98467c00
+24610000
+1800020e
+d84002a7
+98467c00
+24610000
+1800020f
+20600000
+68008030
+c300a4f5
+68010032
+203a24f5
+243724f7
+20402a4f
+1d00c201
+78287c00
+6801003e
+1fe37e00
+d8400500
+9840fe00
+20402a24
+204028ea
+18004803
+204028cc
+2040242a
+204029f1
+44a8400a
+6801003e
+1fe37e00
+20402a24
+204029eb
+7826fc00
+6801003e
+d84003bb
+9840b600
+37c18400
+1b420400
+600b009a
+7846fc00
+246c0000
+dd2003bb
+1c225000
+2035ab05
+20600000
+44a8c00a
+204024f0
+242c28f9
+204029bb
+c588a51c
+680100f6
+1fe0fe01
+600100f6
+1c230400
+18419c40
+44a9400a
+7823fc00
+78257c00
+7825fc00
+09800003
+198cfe00
+6000815d
+09800004
+08008007
+19827e00
+60008019
+09800003
+198cfe00
+6000815e
+68008019
+1fe67c03
+20212533
+c003a533
+6800804c
+2feffe05
+7920aa01
+44a9c00a
+09800008
+7845fc00
+78457c00
+20232631
+c588a53c
+680100f8
+1fe0fe01
+600100f8
+44aa400a
+6800815d
+2fe00e00
+7920800a
+2020a54c
+a8800e00
+2020a54b
+c583a64d
+680880b0
+a8400e00
+2420a64d
+68008047
+793ffe05
+79207e04
+60008047
+7836fc00
+44aac00a
+68008019
+1fe20200
+c505255b
+6808815e
+68008047
+793ffe00
+284ffe00
+7920fe00
+284ffe01
+7920fe01
+60008047
+284c0001
+2020a55b
+20402687
+44ab400a
+d8400000
+20402a1c
+18217e0f
+c000a587
+c000264d
+c0012659
+6808815e
+68008047
+a8400800
+2420a569
+c5852568
+c303a569
+7920000f
+44abc00a
+18227e00
+c001a589
+c002258d
+c003a578
+c004258c
+d8400004
+20402a1c
+c0052588
+c005a58b
+d8400008
+20402a1c
+c0072588
+c007a58b
+20600000
+44ac400b
+7826fc00
+7824fc00
+78277c00
+d8a000d1
+1800721e
+09800008
+19897e00
+e0a08000
+c200257e
+c583a64d
+09800010
+7d230008
+2023263d
+20202620
+2020264d
+79200010
+78267c00
+2020258e
+79200010
+79202a02
+7826fc00
+44acc00b
+c500a64d
+2aac0001
+2020a59a
+7843fc00
+7826fc00
+78467c00
+1c409602
+34530400
+242c263d
+79200010
+7823fc00
+44ad400b
+78277c00
+7824fc00
+09800003
+198cfe00
+60008180
+09800005
+c50825a5
+19897200
+1f297200
+202025a8
+09800005
+19837200
+09800003
+44adc00b
+1f227e00
+6001015f
+203a25e8
+9ea67c00
+2021263d
+44ae400b
+793f8000
+68008180
+1fe17e03
+d8a00551
+c001a5ba
+c508a5e4
+68008180
+1fe17e03
+c00125bf
+c000a5d3
+2020263d
+6801015f
+1fe67c70
+2421263d
+c507a620
+202025e4
+44aec00b
+c507a620
+6801015f
+d84002e0
+98467c00
+2021263d
+68008263
+c30025c9
+c300a5ce
+2020264d
+70026101
+6801025d
+c080264d
+d8a01000
+202025e4
+70026102
+6801025f
+c080264d
+d8a01400
+202025e4
+44af400b
+c507a620
+6801015f
+d84002e0
+98467c00
+2021263d
+68008261
+c000a5dd
+c00125e1
+2020264d
+d8a01000
+6801025d
+98a08a00
+202025e4
+d8a01400
+6801025f
+98a08a00
+09800008
+19897e00
+e0a08000
+c20025e4
+44afc00b
+09800010
+20232637
+6800c363
+c000a64d
+c508a60d
+c507a64a
+68008180
+2fe00603
+2020a60d
+6801015f
+203a260d
+44b0400c
+68008261
+c000a5f9
+c0012603
+20202a8c
+6801025d
+6809015f
+9840fe00
+6001025d
+c0002a8c
+68091000
+18408404
+98467c00
+2042a747
+2020260d
+6801025f
+6809015f
+9840fe00
+6001025f
+c0002a8c
+68091400
+18408404
+98467c00
+2042a74b
+2020260d
+44b0c00c
+6808804c
+68008180
+2fe00603
+79208406
+7d208407
+6008804c
+2420a616
+79200001
+c588a620
+284ffe06
+2020a620
+680100fa
+1fe0fe01
+600100fa
+79200005
+793f8407
+793f8001
+6008804c
+44b1400c
+6808815e
+68008047
+79207e05
+284ffe02
+7920fe02
+280ffe0a
+7920fe07
+60008047
+6801015f
+243a264d
+6800804c
+793ffe07
+6000804c
+68008180
+2fe00e01
+2020264d
+44b1c00c
+7856fc00
+6801001a
+1fe0fe01
+6001001a
+2020264d
+6801001c
+1fe0fe01
+6001001c
+2040263e
+c588a63d
+79200005
+2020264d
+44b2400c
+68008180
+2fe00603
+2420a646
+6808804c
+793f8406
+6008804c
+20600000
+6808804c
+793f8407
+6008804c
+20204c0b
+68008047
+79207e05
+60008047
+44b2c00c
+784efc00
+784e7c00
+7846fc00
+78467c00
+7844fc00
+78477c00
+7843fc00
+2030a8f9
+37d38200
+20000064
+202028f9
+44b3400c
+7824fc00
+78267c00
+09800048
+2feffe3a
+79208000
+1c020400
+57e04000
+57e03c00
+782afc00
+380bffff
+380cffff
+20000020
+29a80000
+1d827e00
+60018178
+1da27e00
+6000817b
+18424000
+2020a66e
+2020263d
+44b3c00c
+09800048
+57e03e00
+57e00800
+57e05c00
+57e02400
+18007e00
+09800010
+2023263d
+5ffffffc
+9a417e00
+60020165
+1ba27e00
+60018175
+1b827e00
+60008173
+18827e00
+60008174
+1dc27e00
+6001017c
+1c227e00
+08008220
+28201e02
+7920800b
+2020264d
+44b4400d
+68008047
+c4018000
+793ffe03
+79407e06
+60008047
+6800c0c5
+c009a69c
+c1038000
+6800804b
+c4030000
+793ffe06
+79207e07
+6000804b
+793f8002
+68014246
+247a0000
+6800804b
+793ffe07
+6000804b
+2020525d
+44b4c00d
+680084b7
+1fe37e00
+c008a6b8
+c00926c0
+c00c26e9
+c03fa6a8
+c1818000
+680084b8
+c015a6b0
+c008a6ab
+20600000
+680084b8
+79207e07
+20600000
+20748000
+68008030
+c3820000
+70007c31
+20600000
+20748000
+68008031
+2feffe04
+2020a6b5
+20600000
+793ffe04
+60008031
+20600000
+44b5400d
+6800804c
+79207e02
+6000804c
+70801101
+68008030
+2feffe04
+20600000
+44b5c00d
+6800804c
+793ffe02
+6000804c
+70801100
+20600000
+44b6400d
+1c427e00
+6002420c
+1c40a203
+2034a6cc
+1d00a203
+68090032
+1a227e00
+793ffe1b
+9846fc00
+68010075
+20407f86
+18072600
+9a667e00
+202126d6
+9840fe00
+9a20fe00
+60020034
+70455b00
+68008030
+79207e01
+60008030
+68008073
+6000808a
+58000000
+6001c169
+6001c16c
+6000c159
+700a990b
+20407d86
+680140c1
+6001003e
+24748000
+18808fff
+20600000
+44b6c00d
+68008030
+c4008000
+793ffe01
+60008030
+680140bf
+6001003e
+7855fc00
+700a990c
+20207d86
+44b7400d
+78377c00
+68008030
+c280a700
+c6088000
+68008047
+c3818000
+68008048
+247a0000
+6800804b
+c3830000
+18007e00
+20600000
+c301270f
+6800808a
+c0012706
+68008047
+c281a718
+c5842718
+2434a718
+68008048
+243a2718
+680080ef
+1fe0ffff
+600080ef
+243a26fe
+7000ef10
+20202718
+6800808a
+c080a718
+6800808b
+203a2718
+1fe0ffff
+6000808b
+68008047
+c3818000
+24768000
+6800808a
+1fe0ffff
+6000808a
+20600000
+44b7c00d
+78487c00
+18423600
+20402260
+78547c00
+24628000
+18003600
+78347c00
+20600000
+6800c158
+a881fe00
+20600000
+44b8400e
+793f8001
+70026a00
+68008263
+207a0000
+2feffe00
+d8c01000
+2040cd79
+44b8c00e
+6800826a
+c000a73b
+70026a00
+68008263
+c4008000
+d8c01400
+20404d79
+6800826a
+c000a741
+20600000
+68008263
+793ffe00
+60008263
+58000000
+6001025d
+20600000
+68008263
+793ffe01
+60008263
+58000000
+6001025f
+20600000
+68008263
+79207e00
+60008263
+20600000
+68008263
+79207e01
+60008263
+20600000
+44b9400e
+1d00c201
+204028ea
+18004803
+204028d2
+20402a51
+20402a5f
+20202a64
+44b9c00e
+20402a4d
+1d027e00
+680a40ca
+98467e00
+c1808000
+28203e00
+2420a761
+68008019
+207a0000
+2040274f
+28203e10
+2020a64d
+1c230400
+18419c40
+44ba400e
+7823fc00
+78257c00
+782dfc00
+793f8010
+18827e00
+08008603
+18227e00
+08008604
+68008047
+08008004
+08008603
+78247c00
+08008608
+784dfc00
+78447c00
+78457c00
+793faa02
+d8400000
+20402a1c
+44bac00e
+18217e1f
+c009a7b4
+c000264d
+c000a64d
+c0012797
+c001a7c5
+c00227cb
+c003a78c
+c00427ca
+d8400004
+20402a1c
+c00527c7
+c005a7cd
+d8400008
+20402a1c
+c007a7cd
+202027c7
+44bb400e
+782efc00
+7824fc00
+78277c00
+1800721e
+d8c000b3
+e8c08000
+08008608
+c2002792
+c503a7f7
+2020264d
+44bbc00e
+68008181
+1fe20800
+68008090
+1fe23800
+6801c0aa
+1fe23a00
+680140a4
+1fe25c00
+7824fc00
+782e7c00
+1c022200
+204028e2
+782afc00
+20000020
+1c221600
+68020161
+1fe24200
+53c07e00
+79207e3a
+08008648
+53e07e00
+08008648
+19624200
+1a224000
+78247c00
+08008610
+78447c00
+2020264d
+44bc400f
+78277c00
+7824fc00
+782e7c00
+680084b6
+1fe105f8
+d8c004b6
+18408408
+1840a7b8
+242127c2
+e8c48000
+08008648
+1a620400
+202027bc
+e8c48000
+08418600
+202027f7
+782e7c00
+202027d0
+782e7c00
+79200010
+202027d0
+79202a02
+782efc00
+202027d0
+79202a02
+782efc00
+79200010
+44bcc00f
+6800804c
+c302a7e5
+18267c03
+202127e5
+78477c00
+784e7c00
+782efc00
+7843fc00
+79202a01
+2aaffe02
+2020a7df
+580abeee
+08008614
+202027e3
+585faeba
+08008618
+58000012
+08008606
+7823fc00
+79200010
+78277c00
+7824fc00
+c502a800
+6800c1db
+08008603
+680141dc
+98007200
+c50827ef
+08008605
+202027f0
+0800860d
+1f227e00
+203a27f7
+6801016f
+98000c00
+e8c08000
+08008608
+c20027f4
+78247c00
+08008610
+78447c00
+204024c1
+6800804c
+c302a64d
+18007e00
+08008606
+2020264d
+44bd400f
+c5082808
+68008180
+08008603
+6800815f
+98002600
+08008605
+2020280d
+68008180
+08008603
+6801015f
+98002600
+0800860d
+d8c00551
+1a627c00
+2022a814
+e8c08000
+08008608
+1a60a7ff
+2020280e
+680100fc
+1fe0fe01
+600100fc
+202027f7
+68020165
+1fe0a207
+68010171
+243a281e
+1a20a3fd
+20202826
+1feffe0c
+68190040
+18408401
+98467e00
+24212825
+1a20a3ff
+20202821
+1fe67e00
+37d18200
+2c400600
+2420a826
+98005200
+1a225000
+98005200
+20600000
+44bdc00f
+37d10200
+1b427e00
+98000c00
+1ff17e00
+9c467200
+1f217203
+2422a837
+18007e00
+2020283b
+d8400ea6
+18007e00
+9840fe00
+c2002839
+98c0fe00
+1fe6fc0c
+20407f86
+1807fe00
+60010171
+20600000
+44be400f
+1b427e00
+1b220400
+98467c00
+7d217e2c
+98460400
+58000ea6
+284c000f
+2020a84c
+5fff0ea6
+98408400
+600b0447
+207b0000
+600b0038
+20600000
+78587c00
+68030447
+203b2854
+68030038
+9b20e000
+1e00e00a
+58000ea6
+9e067e00
+2fec000f
+2020a85e
+5800f15a
+9e00e000
+1e023400
+20600000
+18007c00
+2020285c
+44bec00f
+20402918
+1c227e00
+1fe17f80
+2c800e03
+2420a869
+1fe97e00
+9ae0fe00
+2020286a
+1ae27e00
+1fe6fc4f
+782afc00
+20407f86
+18072200
+1a2085d8
+20212872
+1a238400
+20202874
+18438400
+18408401
+44bf400f
+68008031
+c301a885
+680240d2
+9c267c00
+20212885
+204028a4
+6800c0d9
+207a0000
+68008031
+79207e02
+60008031
+6802c0e7
+6002c0da
+e8c28000
+6002c0df
+204028a9
+68008031
+c4010000
+2c2ffe01
+2020a8a1
+18492200
+18410e07
+580040da
+9a20a200
+ea208000
+afec0000
+2020a892
+18427e00
+2020289e
+6800c0e4
+98002400
+1c227e00
+1fe17f80
+1fe97e00
+9ae0fe00
+9a46fc00
+580040f2
+20407f86
+18072200
+9a208c00
+e8c08000
+6000c0e5
+98000400
+20600000
+6800c0e5
+98000400
+20600000
+68008031
+793ffe02
+793ffe03
+60008031
+20600000
+44bfc00f
+d8a040f2
+1800720a
+20407ec6
+d8a040f2
+18002600
+18000e02
+6802c0da
+98000400
+28e1fe02
+2020a8b5
+18430400
+284c0000
+2020a8b9
+1a627e00
+e0a08000
+184b0400
+1a60a602
+2a61fc28
+2420a8c2
+6802c0df
+98000400
+28e1fe02
+2020a8c2
+18430400
+1a667c4e
+202128b5
+18002601
+18e08fff
+2422a8b0
+da2040f2
+18a27e00
+9a267e00
+6000c0e4
+20600000
+44c04010
+20402860
+6800817f
+c302a8d1
+680884cc
+2020291f
+44c0c010
+20402860
+6800817f
+c30228d7
+680884cb
+20202933
+18005a00
+6801c0a7
+98005800
+20600000
+44c14010
+6800c1d3
+1fe25a00
+6801c1d0
+1fe25800
+20600000
+44c1c010
+680140a4
+1fe25c00
+6800c0a3
+1fe25a00
+6801c0a0
+1fe25800
+20600000
+44c24010
+68010044
+1fe25c00
+68008043
+1fe25a00
+68018040
+1fe25800
+20600000
+c51028f5
+c68e8000
+c68f8000
+1d815900
+782afc00
+20000020
+20600000
+44c2c010
+2030a90a
+708955d4
+20000004
+708955d2
+20000004
+708955d1
+20000004
+6800c1de
+c0002908
+c000a915
+c0012908
+c001a915
+c0022915
+c0102915
+708955d0
+708956e0
+18002a00
+7850fc00
+78507c00
+782f7c00
+70890200
+70890100
+70890000
+70890300
+70890470
+70890600
+20600000
+708955d0
+708956c0
+2020290a
+44c34010
+70890200
+70890100
+70890018
+708903a7
+7089047f
+20600000
+44c3c010
+60088017
+1840a204
+70896d07
+20202981
+44c44011
+708901cf
+2000000a
+708900ff
+708903af
+708904ff
+2000000a
+708902a0
+20600000
+6800c1e0
+203a2931
+1840a202
+20600000
+1840a200
+20600000
+44c4c011
+60088017
+2040292d
+20402981
+58000500
+20402a8f
+70890601
+7089003c
+708901e0
+70896d12
+2000000a
+70890201
+7089023d
+2000000a
+708903b7
+2000000a
+7089027f
+6800c1de
+c000294b
+c000a94f
+c0012953
+c001a957
+c002295b
+c010295f
+708956f0
+20402965
+708955d8
+20600000
+708956df
+20402965
+708955df
+20600000
+708956ff
+20402965
+708955df
+20600000
+708956ce
+20402965
+708955d8
+20600000
+708956cb
+20402965
+708955d8
+20600000
+708955d0
+708956c0
+7089574c
+7089586c
+70895950
+20600000
+20000004
+708955d1
+20000004
+708955d2
+20000004
+708955d4
+20600000
+70804206
+680140c3
+c307296d
+98000c00
+d8408900
+e8c08000
+c07fa977
+98418a00
+e8c08000
+e0a08000
+20202971
+44c54011
+20402be5
+204029c9
+580007d0
+9c40fe00
+60020169
+79202a03
+18002a00
+2455a998
+202029ab
+44c5c011
+58000960
+9a208400
+6800c0bd
+70895f04
+984ffe00
+6808c0be
+9846fc00
+20407f86
+1807a200
+18077e00
+1ff07e00
+1ff27e00
+9846fc00
+20407f86
+1807fe00
+1fed7e00
+1fe3fe00
+9a21fe00
+60120960
+70895f44
+70895fc4
+20600000
+44c64011
+70890602
+5803d090
+20402a8f
+7089007f
+20000082
+70895230
+708901d0
+70895270
+708952f0
+18007232
+68108980
+c282a9a6
+c20029a3
+6000c0ce
+70890100
+70890000
+70890600
+20600000
+44c6c011
+6800c0ce
+79207e05
+60108952
+68188950
+18410407
+1fe9fe00
+9841fe00
+60108950
+68108951
+793ffe00
+60108951
+68108952
+793ffe05
+60108952
+20600000
+44c74011
+68110981
+1ff1fe00
+1fe97e00
+1fe67e00
+1fe17eff
+1fe6fc0a
+20407f86
+1807fe00
+1ff27e00
+18070400
+9841fe00
+60008018
+20600000
+70804206
+6810896b
+793ffe04
+793ffe05
+6010896b
+70890500
+70890400
+70890470
+708905ff
+6810896b
+79207e04
+79207e05
+6010896b
+204029e9
+68108968
+79207e07
+60108968
+793ffe07
+60108968
+79207e07
+60108968
+70804205
+20000001
+70804204
+6810896b
+1fe17ecf
+6010896b
+1fe1fe30
+6010896b
+20600000
+58000f0f
+20202c18
+5800080f
+20202c18
+44c7c011
+20402924
+78507c00
+7830fc00
+782b7c00
+20600000
+44c84012
+6800804c
+2feffe02
+7920fe00
+60108011
+d8c00062
+e8c48000
+98006400
+e8c38000
+98006600
+68008054
+1fe0e9ff
+782d7c00
+20600000
+1b427e00
+6003009a
+7846fc00
+242c28f9
+dd2003bb
+1d00d001
+1d0151fc
+20600000
+7826fc00
+37cb8400
+202c29ff
+2d000402
+2420aa08
+202029ff
+44c8c012
+d9600600
+7826fc00
+34730400
+7846fc00
+242c28f9
+20600000
+44c94012
+7826fc00
+37c18400
+7846fc00
+242c28f9
+dd2003bb
+1d0151fc
+20600000
+44c9c012
+98002200
+1c227e00
+98409600
+19627e00
+600240ca
+1a227e00
+20600000
+1fe20400
+44ca4012
+18427e00
+20407f50
+1c307e00
+79207e2c
+20407f39
+793ffe2c
+20402a77
+20407f39
+20740000
+20407f43
+98003600
+37c18200
+20600000
+44cac012
+20382a38
+35330200
+1d020400
+20202a3b
+20372a3a
+34730200
+1c420400
+20342a47
+28400601
+2420aa33
+44cb4012
+68008030
+c4000000
+680240ca
+98467e00
+24610000
+1fe67cff
+20212a33
+20600000
+28400603
+2420aa33
+20202a3e
+44cbc012
+d9600600
+20202a33
+78547c00
+20202a4a
+78347c00
+20202a4a
+44cc4013
+204029f1
+7850fc00
+78307c00
+20600000
+44ccc013
+d9600e43
+34730200
+782b7c00
+20600000
+44cd4013
+d9600d00
+34730200
+20600000
+44cdc013
+d9600e43
+35330200
+782b7c00
+20600000
+44ce4013
+51207e00
+782efc00
+79202a00
+08008648
+784efc00
+20600000
+1ca20400
+18418460
+18421c00
+20600000
+44cec013
+6800c090
+1fe0fe01
+c083aa74
+18007e01
+6000c090
+98000800
+20600000
+1b220400
+20748000
+1b420400
+20600000
+1c427e00
+20748000
+1d027e00
+20600000
+44cf4013
+680a004d
+20402a7b
+98461600
+19627e00
+68090051
+18438400
+98467e00
+20600000
+44cfc013
+20402a7b
+6002004d
+20600000
+44d04014
+20202a8c
+20202a8e
+207a0000
+1fe37e00
+1fe0fffd
+1fe0ffff
+2422aa92
+18007e00
+20600000
+df200010
+d8a00000
+20407ec6
+d8a0043f
+df20000a
+20407ec6
+7009b200
+700a9900
+70048c00
+70017f00
+7004d100
+44d0c014
+70016d00
+70015100
+70015c00
+589e8b33
+6001c0a7
+58000153
+60010083
+7000851e
+70008601
+70008807
+5812e904
+60018080
+70009060
+7040d005
+70001402
+6800c65a
+245a74c1
+6800c4be
+245a7518
+44d14014
+20758000
+58000000
+600141dc
+1c437e00
+60024094
+20600000
+5800ee21
+60110050
+6812011c
+60020abe
+6810813e
+60008abd
+c301e45b
+7835fc00
+c303aacc
+7855fc00
+1ce27e00
+243a2acc
+6810813b
+c2812acc
+d85fffff
+20202b3c
+6811813c
+6011804c
+e8c08000
+1fe1feef
+e0a08000
+20402c23
+6810804f
+79207e04
+6010804f
+20402c23
+2055aadf
+6810804e
+793ffe03
+6010804e
+20402c23
+2435e45b
+c6958000
+70800608
+20600000
+6800c198
+60108086
+6801c18d
+60118080
+68024181
+60120074
+6802417d
+60120070
+68044185
+60140078
+68044190
+98000000
+68140140
+600400a1
+204064ca
+20600000
+18027e00
+60044190
+68140070
+6004417d
+e8c40000
+e0a40000
+68118080
+6001c18d
+68108086
+6000c198
+20202c29
+68108063
+243a2b00
+6801c16f
+247a0000
+708063c0
+70800680
+6810812d
+c4008000
+68118149
+6001c16f
+20600000
+44d1c014
+1b427e00
+20407f37
+680a415f
+18467cff
+20610000
+1fed7e00
+1ff27e00
+9846fc00
+20407f86
+1807fe00
+d84000c8
+20407f91
+60008099
+24342b15
+1fe67e00
+6809c16f
+9840fe00
+6001c16f
+58000000
+6002415f
+20600000
+6800c177
+79207e02
+6000c177
+20202b23
+d85fffff
+6800c176
+793ffe07
+6000c176
+44d24014
+20402c29
+6800c157
+6000c17c
+6800c17a
+79207e07
+6000c17a
+44d2c014
+204029e7
+6802415f
+9840fe00
+6002415f
+20402aef
+6802c178
+6012004c
+1fef2200
+37d98200
+1b227e00
+60034163
+70800502
+37d98200
+37d98200
+1a227e00
+6010804f
+70800502
+37d98200
+37d98200
+601a004c
+70800510
+37df8200
+44d34014
+58000000
+1ce27c00
+2022ab4c
+6810813c
+6818813d
+98467c00
+20212b4a
+18427e00
+9ce67e00
+1fe0fe01
+1fe0fe08
+37d98200
+9e20fe00
+680a415b
+9840fe00
+6809c16f
+984ffe00
+1fecfe00
+1ff1fe00
+1fe0fe6e
+d8400ea6
+9846fc00
+20407f86
+1807fe00
+1ff07e00
+18070400
+9841fe00
+680b4163
+20407f2c
+18423200
+68034048
+20402854
+1b427e00
+60030a9a
+1ce27e00
+e0a08000
+6810811d
+1fe1fef0
+e0a08000
+20600000
+44d3c014
+20402afa
+6801c16f
+207a0000
+6800c091
+207a0000
+6800c65a
+203a2b74
+6800c5b1
+207a0000
+6800c4c0
+247a0000
+20402c3a
+247a0000
+6800c040
+2fe00e03
+2420ab9d
+68014042
+207a0000
+20758000
+44d44015
+680880a0
+68014042
+984ffe00
+18518400
+184b0400
+98467e00
+680a4044
+9840fe00
+6808c156
+98467e00
+1ff06000
+44d4c015
+6801404e
+1fe37e00
+20407f50
+1e027e00
+20407f39
+1b420400
+20407f37
+20740000
+20407f49
+44d54015
+6800c178
+98467c00
+20212b18
+600a415b
+20403328
+204052fb
+680a415b
+20202b2a
+44d5c015
+6800c040
+c3800000
+c3818000
+6800c65a
+203a2ba5
+6800c5b1
+207a0000
+44d64015
+6800c36e
+243a2baa
+6800c093
+207a0000
+68014154
+207a0000
+6808c156
+98467e00
+d8401d4c
+984ffe00
+20202b93
+44d6c015
+7855fc00
+68008030
+c4008000
+2436abd0
+20402bcb
+680140c1
+6001003e
+68008047
+c281abde
+c586abde
+20405274
+243a2bde
+6800c55c
+c280abde
+7000a000
+c586abde
+6800c174
+203a2be2
+1fe0ffff
+6000c174
+20600000
+d8e00001
+202060cd
+d8e00001
+202060d1
+70415900
+6801c169
+1fe0fe01
+6001c169
+20600000
+44d74015
+680940c1
+18430400
+6801003e
+9840fe00
+6001003e
+7000a000
+6801c16c
+1fe0fe01
+6001c16c
+6800c159
+1fe0fe01
+6000c159
+20600000
+7000a000
+6800c173
+6000c174
+20600000
+6808c172
+600880a0
+20600000
+44d7c015
+6800c178
+247a0000
+70804206
+58000f0c
+20402c18
+58030d40
+20402a8f
+37d98200
+1e226000
+204029e7
+70804204
+2000000a
+37d98200
+1e227e00
+9e067e00
+1fe0fe30
+d84000ff
+20407f91
+6000c178
+20007530
+20007530
+20007530
+20600000
+6800c178
+247a0000
+708044ff
+70804206
+204029e7
+580003e8
+9e20e000
+07e00000
+1e227e00
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+9e067e00
+1fe0fe30
+d84000ff
+20407f91
+6000c178
+20007530
+20007530
+20007530
+20600000
+d8a00fff
+98a10a00
+6800c175
+1fe17ef0
+1fed7e00
+98a1fe00
+6011004c
+e8c10000
+e0a10000
+58000001
+20202c24
+58000002
+37d98200
+60108005
+37d98200
+37d98200
+20600000
+44d84016
+680200a1
+6012004c
+58000004
+20402c24
+680200a5
+6012004c
+58000008
+20202c24
+68014152
+f9207e00
+60014152
+20600000
+68014152
+f93ffe00
+60014152
+20600000
+44d8c016
+20403326
+68014152
+1fe22200
+6800804c
+2feffe06
+7920a20b
+68008078
+6808807c
+9840fe00
+68088048
+9840fe00
+7d3a220a
+6800c4ff
+7d3a2201
+6801025d
+6809025f
+9840fe00
+7d3a220d
+68044668
+7d3a220f
+68044670
+7d3a220e
+6800c1ce
+7d3a2208
+6800c092
+2fe1fe0a
+2040ac5b
+5ffffff8
+9a212200
+1a227e00
+60014152
+20600000
+68110112
+7d3a2206
+6811010e
+7d3a2205
+20600000
+68120138
+793ffe1b
+6012004c
+20402c21
+20202a8c
+6812013c
+793ffe14
+6012004c
+20202c23
+68014150
+c2802a8c
+20600000
+68014150
+c280aa8c
+20600000
+68014150
+c2812a8c
+20600000
+44d94016
+20402c7a
+1a60a4cd
+ea408000
+c1000000
+c000ad06
+c0012c7f
+20600000
+68094241
+18422600
+20600000
+20402f3d
+2020307d
+20403084
+2040305a
+2040305e
+202030a2
+20403231
+5800004e
+2040322f
+204032ba
+1a60a292
+ea220000
+2020322c
+20402c7a
+1a60a491
+ea488000
+20402c90
+1a608a91
+20202e56
+20402c94
+18408401
+18410403
+20600000
+1a60a4ae
+ea408000
+1fe17e03
+1fefa204
+1a60fe97
+9a20fe00
+98408c00
+e8c08000
+2020322f
+2040326c
+2040666a
+580007e2
+da200aa2
+d8400004
+204066b3
+2040666d
+68020aa2
+20403227
+247a0000
+680240a0
+20203227
+20403241
+58000000
+2040323f
+2040323a
+1fe17e07
+2020323c
+2040323a
+79207e04
+2040323c
+20203235
+2040325d
+c000acb7
+c0012cbc
+20600000
+2040323e
+1a608ad1
+204032d6
+20403242
+20202cac
+2040325a
+20202cb8
+1a60a28c
+ea208000
+1fe0fe01
+1a608a8c
+e0a08000
+c0102dd2
+20403258
+c000acca
+58000001
+2040325b
+20403258
+c080acac
+1a60a2d3
+ea208000
+1fe0fe01
+20402cd5
+c0022cd2
+20402c8a
+20402d04
+20202d8f
+20402cd4
+20202cac
+58000000
+1a608ad3
+202032b4
+2040323e
+2040325a
+20403241
+20202cac
+2040325d
+c001acd8
+2040323a
+2fec0004
+2020aca9
+2040325d
+c000acd7
+c0012cd8
+20600000
+20403253
+c1ff8000
+20402ce9
+24562cf4
+20600000
+78567c00
+1a60a2ce
+ea208000
+c1808000
+1a60a2d0
+ea208000
+c1800000
+58000001
+20402cfd
+20403237
+20207feb
+1a60a2d0
+ea208000
+203a2cff
+1fe0ffff
+2040323f
+58000002
+20402cfd
+20402c8a
+20203237
+1a608ad2
+202032b4
+58000003
+20402cfd
+20403258
+243a2cc8
+20402c8a
+58000002
+20203238
+c6930000
+79200027
+44d9c016
+1a60a28e
+ea208000
+c000ad0f
+2040306a
+24342d16
+20402d1b
+1a608a8e
+204032d6
+20402d2c
+24342d7d
+20402ce4
+20402d8f
+20402e7a
+793f8027
+20600000
+20628000
+79207e1c
+20600000
+1a60a2c2
+ea208000
+1fe0fe01
+1a608ac2
+e0a08000
+c0022d23
+c002ad27
+20600000
+1a60a2ad
+ea208000
+1a608aab
+202032b4
+1a608ac2
+204032d6
+1a60a2ac
+ea208000
+20202d25
+20403253
+c0ffaeb1
+44da4016
+20402d3a
+24342d36
+20402d53
+20402e71
+58000001
+1a608a8b
+202032b4
+1a60a28b
+ea208000
+c000ffe7
+20600000
+1a6084d8
+e8410000
+20407f9c
+24740000
+1a227e00
+60008aae
+1a608ab2
+204032d6
+20402cac
+6000919e
+68008aae
+1fe22200
+1a208401
+d8a0119f
+1a227200
+1a420c00
+20407f01
+da20119e
+c6938000
+1a608a86
+e0a88000
+18427200
+1a608a22
+1a220c00
+20207f01
+1a60a286
+ea208000
+1fe0fe02
+1a608a88
+e0a08000
+2040323a
+20403235
+1a60a286
+ea208000
+1fe9fe00
+1a60a285
+ea288000
+18410403
+18438400
+9841fe00
+1a60a2c3
+ea288000
+9840fe00
+e0a08000
+1a60a286
+ea208000
+98007200
+1a608c22
+20207f01
+2040324f
+2040325a
+20402e6d
+20402cac
+6000919e
+20402d77
+2040323a
+79207e03
+2040323c
+20402d53
+20402d33
+20202d14
+6000919f
+20403224
+600211a0
+d8400006
+da20119e
+20202d4c
+1a60a2b2
+ea208000
+203a2d6b
+1a60a2da
+ea210000
+20207f9c
+20402c7a
+20402afa
+6801c16f
+207a0000
+1a6084dc
+e8410000
+20407f9c
+1a6084b6
+e8440000
+20407f49
+600a415b
+20202b2a
+20402c7a
+1a608a8f
+204032d6
+20402da4
+242c2dae
+2437adae
+20402dd6
+20402e75
+20402c7a
+1a60a285
+ea208000
+1fe0fe01
+20403232
+20403253
+c0ffaed0
+20402cdb
+58000000
+1a608a8c
+e0a10000
+58000000
+20202d34
+7857fc00
+20402df7
+20402c7a
+1a60a2c3
+ea208000
+c000adac
+20402e11
+20202e45
+20402e45
+20202d97
+44dac016
+1a60a28d
+ea208000
+1fe0fe01
+1a608a8d
+e0a08000
+20403253
+c0ffadcc
+1a60a28f
+ea288000
+18408401
+1a608a8f
+e0a88000
+1a60a2cc
+ea208000
+98467e00
+243a2d92
+44db4016
+2040325d
+c001acbe
+1a60a2d1
+ea208000
+1fe0fe01
+1a608ad1
+e0a08000
+c0012cb3
+20402caf
+58000001
+20403238
+20202d8f
+1a60a28d
+ea208000
+c1ff8000
+1a608a8d
+204032d6
+20202dd4
+1a608a8c
+204032d6
+700a993a
+20207d86
+20402dde
+1a60a284
+ea208000
+207a0000
+98007200
+1a608c02
+1a608a64
+20207f01
+2040325f
+1fe97e00
+1a608a84
+e0a08000
+1fe0fe01
+1a608c01
+98c08c00
+e8c18000
+1a608ac4
+e0a18000
+2040325f
+1fe37e00
+1fe17e03
+1a608aca
+e0a08000
+20600000
+7844fc00
+7843fc00
+58555555
+98001e00
+20600000
+20402918
+1a60a290
+ea288000
+20202933
+20402dee
+20402df3
+79202a00
+782efc00
+78307c00
+7850fc00
+204053c4
+2040322a
+98001200
+08008620
+7824fc00
+1a60a288
+ea208000
+98007200
+1a608c42
+e8c08000
+08008608
+c2002e06
+78247c00
+08008618
+78447c00
+37d38200
+44dbc016
+20000064
+784efc00
+20600000
+7857fc00
+18002a00
+1a60a290
+ea288000
+2040291f
+20402924
+20402dee
+7826fc00
+7830fc00
+78507c00
+204053c4
+2040322a
+98001200
+78287c00
+1a60a289
+ea210000
+98003600
+37c18400
+242c2e4d
+7824fc00
+09800008
+19897e00
+1a608a00
+e0a08000
+1a60a2cd
+ea208000
+c0012e33
+44dc4017
+1a60a200
+ea208000
+1a60a287
+ea288000
+a8400e00
+2420ae45
+09800008
+19897e00
+e0a08000
+1fe97e00
+1fe1721f
+2022ae3d
+09800008
+19897e00
+e0a08000
+c2002e39
+09800018
+1fef7e00
+1ff17e00
+e0a18000
+20232e45
+7837fc00
+7846fc00
+20600000
+784efc00
+7846fc00
+7844fc00
+7843fc00
+2030a8f9
+37d38200
+20000064
+202028f9
+20402e4f
+20202e45
+204029bb
+207a0000
+1a60a2ea
+ea288000
+da200d9e
+20402e58
+1a608aea
+e0a88000
+20600000
+da4000ff
+20202e5a
+1a227e00
+98408a00
+68008018
+e0a08000
+18408401
+1a427e00
+98410400
+20600000
+d8400000
+1a220c00
+e8c08000
+98408400
+c2002e64
+184c8400
+20600000
+20402c7a
+20402e9f
+58000001
+20403272
+58000000
+20402e73
+e0a08000
+20600000
+20403270
+1fe0fe01
+1a608afc
+202032b4
+1a60a2fd
+ea208000
+1fe0fe01
+1a608afd
+202032b4
+44dcc017
+20403270
+1fe67c7c
+20610000
+1a60a2fd
+ea288000
+98460400
+20402e6d
+58000102
+9a60a200
+ea208000
+98467c00
+24212e8d
+58000103
+9a60a200
+ea208000
+98467c00
+20212e99
+20600000
+1a60a2fe
+ea208000
+c0012e93
+1fe0fe01
+20403272
+c000ae9f
+5800000a
+204032b0
+58000000
+204032b2
+1a60a2ff
+20202ea5
+1a60a2fe
+ea208000
+c0002ea7
+1fe0ffff
+20403272
+c0002ea7
+58000005
+204032b0
+58000000
+204032b2
+58000100
+9a60a200
+ea208000
+2020326a
+58000002
+204032b0
+58000000
+204032b2
+58000101
+20202ea4
+79200026
+20402c83
+58000001
+20203256
+1a60a28b
+ea208000
+c000ffe7
+20403253
+c000aeb9
+c0012ebd
+c001aec1
+20202a8c
+58000011
+20403256
+70119eaa
+20202ec4
+58000012
+20403256
+70119e55
+20202ec4
+58000013
+20403256
+70119e22
+2040323a
+1fe17e07
+6000919f
+20403224
+600211a0
+7011a400
+da20119e
+d8400007
+20402d4c
+20402d53
+20402d33
+20207fe7
+20403253
+c17f8000
+c008aed6
+c0092ed9
+c009aedc
+20600000
+58000002
+20403256
+20202d9f
+58000003
+20403256
+20202d9f
+580000ff
+20403256
+700a9939
+20407d86
+1a60a266
+ea220000
+2040322c
+20202d9f
+793f8026
+20402f08
+20402f22
+20403263
+200007d0
+20403261
+c07fadd4
+20402da4
+242c2efa
+2437aefa
+20402dd6
+20402c7a
+1a60a292
+ea2a0000
+204030be
+2022aead
+20402c7a
+1a60a266
+ea220000
+c0002ee7
+2040322c
+20202f1c
+20403261
+1fe0fe01
+20403264
+20402f04
+1fe0fe01
+1fe17e01
+20402f06
+c0002f0c
+c000af0e
+20600000
+5800018b
+202032d0
+da20018b
+202032b3
+20403267
+20403224
+2040322c
+20202c8a
+20402f08
+20202ee8
+20402c83
+20202ee8
+793f8026
+20402c8a
+20403253
+c1ff8000
+20402f22
+20403263
+200007d0
+20403261
+c07fadd4
+20402da4
+242c2f27
+2437af27
+79200026
+20403263
+580000ff
+20403256
+700a993c
+20207d86
+79200027
+70119eff
+2040323a
+20402d77
+20202d53
+20403261
+1fe0fe01
+20403264
+20402c8a
+20202f16
+20403267
+580000ff
+20403256
+20202f10
+44dd4017
+20402c7a
+580031b0
+1a608ade
+e0a10000
+20402f3d
+204048ea
+204032b6
+44ddc017
+c0003055
+c000af45
+c007af41
+20202a8c
+2040326c
+df200080
+d8a00d9e
+20207ec6
+20402f4c
+20402f4f
+204048d3
+20202f42
+44de4017
+20402f4c
+20402f4f
+20402fbd
+204048d3
+20403019
+20202f47
+20403291
+20403296
+20203299
+2040328f
+c1800000
+20402f55
+20402f65
+2040316b
+20202f96
+20403294
+c3800000
+79207e00
+20403297
+20403267
+20403299
+700d3800
+2040324f
+20402f61
+1a608a00
+df200042
+20207ed4
+20403231
+2040327d
+2040322c
+20202c8a
+44dec017
+2040324c
+c000af8d
+20403245
+c000ac8a
+58000136
+9a60a200
+ea2a0000
+1c427e00
+98467c00
+24412d18
+1fe22400
+58000136
+9a60a200
+ea220000
+1fe20400
+5800013a
+9a60a200
+18427e00
+ea288000
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+58000136
+9a608a00
+e0a20000
+20402c8a
+20403278
+1fe0fe01
+2040327b
+c1810000
+2040327a
+2020324f
+1c427e00
+da200136
+204032bf
+e0a20000
+2020327a
+da200d9e
+20402f94
+1a608aeb
+e0a88000
+18467c50
+24610000
+20202c8a
+df200100
+20202e62
+20402f99
+20402fa5
+20202fb1
+58000180
+204032d0
+207a0000
+d8e0000b
+20407f16
+247a0000
+204032a7
+58000001
+60008d54
+58000000
+e0a38000
+202031b8
+5800017e
+204032d0
+207a0000
+d8e0000e
+20407f16
+247a0000
+204032aa
+d8a00d64
+df200002
+20407ec6
+700d6400
+202031ed
+5800017f
+204032d0
+207a0000
+d8e0000c
+20407f16
+247a0000
+204032ad
+d8a00d74
+df200002
+20407ec6
+700d7403
+20203207
+2040328f
+c1808000
+20402fc1
+20202fcb
+20403294
+c3808000
+79207e01
+20403297
+2040329c
+20402c83
+58000000
+da200106
+204032bf
+202032c5
+2040316e
+2437af5e
+1a608c00
+58000109
+9a608a00
+df200008
+20407f01
+5800010b
+204032d0
+c0552fd9
+c02aafed
+c0113001
+c07fb212
+20202f5e
+204032bd
+c000afdd
+c0012fe8
+20600000
+58000001
+20402ff7
+58000001
+20403289
+58000080
+da200130
+204032b3
+2040327d
+da200131
+204032bf
+2020322d
+58000001
+20402fff
+58000002
+20403289
+20202fe1
+204032bd
+c000aff1
+c0012ff9
+20600000
+20402fdf
+58000106
+204032d0
+c000aff6
+20600000
+58000002
+da200106
+202032b3
+20402fea
+58000107
+204032d0
+c000affe
+20600000
+58000002
+da200107
+202032b3
+204032bd
+c000b005
+c0013011
+20600000
+58000106
+204032d0
+c0013009
+20600000
+2040328b
+1fe1fe01
+2040328d
+58000000
+58000106
+9a608a00
+e0a10000
+20202f5e
+58000107
+204032d0
+c0803015
+20600000
+2040328b
+1fe1fe02
+2040328d
+2020300c
+68008d50
+207a0000
+700d5000
+68010d4e
+d84002ba
+98467c00
+24628000
+68008cb6
+c1dd0000
+68008cb7
+44df4017
+c050303b
+c050b02c
+c0533041
+c053b043
+c054b049
+c058304d
+700d4200
+20600000
+68008cb8
+c000b031
+c0423034
+c053b039
+2020302a
+2040328b
+60008cf7
+2020303f
+20403291
+20403296
+2040328b
+60008cf7
+2020303f
+700cf7a1
+2020303f
+68008cb8
+c040b03e
+2020302a
+20403090
+700d4201
+20600000
+700cf715
+2020303f
+2040328f
+c0003047
+c000b039
+20600000
+700cf7a0
+2020303f
+700cf700
+700cf800
+700cf901
+2020303f
+2040329c
+68008cb8
+1fe0fe02
+1fe27200
+d8c00cb6
+5800013c
+9a608a00
+20207f01
+44dfc017
+2040307d
+20402c7f
+204048d3
+20203057
+2040328f
+c1800000
+20402f51
+20203098
+2040328f
+c1808000
+20402fc1
+20402fcb
+2040328b
+207a0000
+20403286
+20402f4c
+20403093
+58000000
+1a608aa7
+2020322d
+20407fe9
+1a60a2a7
+ea2a0000
+1c427e00
+98467c00
+24412d18
+1fe22400
+1a60a2a7
+ea220000
+1a60a2ab
+ea288000
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+1a608aa7
+e0a20000
+20207fe7
+58000001
+20403287
+20403283
+580000ff
+1a608aab
+e0a08000
+20203067
+5800015c
+204032d0
+207a0000
+2040306a
+24740000
+20403281
+1fe0fe01
+1fe17e01
+20403284
+c0002f4c
+c000b090
+20600000
+58000001
+20403292
+20203296
+58000001
+204032a5
+58000280
+d8e00008
+20207f08
+204032a2
+207a0000
+d8e00008
+20407f16
+247a0000
+204032a4
+58000007
+20403292
+20403296
+20202f5e
+44e04018
+2040328f
+c1838000
+204030cb
+204030e0
+2040316e
+2437af5e
+204030bc
+2042b172
+20402f4c
+20403294
+79207e00
+20403297
+20402f5e
+20403093
+204030bc
+2022b0c1
+58000164
+204032d3
+204030be
+2022b0c5
+58000160
+204032d3
+204030be
+2022b0c8
+20600000
+5800012b
+204032d3
+2040322a
+98467c00
+20600000
+58000182
+204032d0
+1a608a91
+202032b4
+58000185
+204032d0
+202030c3
+58000188
+204032d0
+202030c3
+20403294
+c3838000
+79207e07
+20403297
+20403283
+2040329c
+58000000
+1a608af5
+e0a18000
+da200183
+204032bf
+e0a38000
+204030bc
+24628000
+1a60a291
+ea208000
+da200182
+204032b3
+1a60a290
+ea208000
+2020314a
+44e0c018
+20403281
+1fe0fe01
+1fe17e03
+20403284
+c000310e
+c000b132
+c00130ea
+c001b132
+20600000
+20402fdf
+58000160
+2040327e
+203a30e0
+2040322c
+58000189
+204032d0
+205a3108
+58000187
+204032d0
+2040322f
+1a60a2f7
+ea288000
+da200f9e
+20402e58
+1a608af7
+e0a88000
+20402f94
+1a608afa
+e0a88000
+18467c50
+24610000
+58000188
+20403275
+20402c90
+da200188
+204032c8
+e0a88000
+da200187
+202032b3
+58000001
+da200189
+204032b3
+d8400000
+20402c94
+20203106
+20402fea
+58000164
+2040327e
+203a30e0
+2040322c
+58000186
+204032d0
+205a312c
+58000184
+204032d0
+2040322f
+1a60a2f6
+ea288000
+da20109e
+20402e58
+1a608af6
+e0a88000
+20402f94
+1a608af9
+e0a88000
+18467c50
+24610000
+58000185
+20403275
+20402c90
+da200185
+204032c8
+e0a88000
+da200184
+202032b3
+58000001
+da200186
+204032b3
+d8400000
+20402c94
+2020312a
+20402fdf
+2040327d
+2040322c
+58000183
+204032d0
+205a314c
+2040314f
+1a60a2f5
+ea288000
+da200e9e
+20402e58
+1a608af5
+e0a88000
+20402f94
+1a608af8
+e0a88000
+18467c50
+24610000
+58000182
+20403275
+20402c90
+da200182
+204032c8
+e0a88000
+da200181
+202032b3
+58000001
+da200183
+204032b3
+58000181
+204032d0
+2020322f
+1a60a200
+ea208000
+2040323c
+20402dde
+2040325f
+2feffe00
+2020b15c
+2040315d
+20402d53
+20402df7
+20202e45
+44e14018
+1a608a86
+204032d6
+5800013b
+204032d0
+207a0000
+58000006
+1a608a86
+e0a08000
+df200006
+5800012f
+9a608c00
+1a608a22
+20207f01
+2040316e
+2437af5e
+20203172
+20402f5e
+20402e11
+24778000
+20203152
+44e1c018
+20403188
+24342f5e
+1a60a284
+ea208000
+203a2f5e
+1fe0fe02
+98007200
+1a608c00
+58000109
+9a608a00
+20407f01
+20403286
+204032b6
+205a3093
+5800010b
+204032d0
+c000b19e
+c00131c6
+c001b1f2
+c07fb212
+20202f5e
+20402c7a
+20407fe9
+1a60a2ca
+ea208000
+1a60a2cb
+ea288000
+98467c00
+2442ffe7
+1a60a2ca
+ea208000
+1a608acb
+e0a08000
+1a60a2c4
+ea218000
+1a60a2c7
+ea298000
+98467c00
+2442ffe7
+1a60a2c4
+ea218000
+1a608ac7
+202032c5
+20402f88
+2040324c
+60008aa2
+20403274
+68008aa2
+284ffe03
+7920fe00
+1a608ab2
+e0a08000
+c000b216
+20403245
+20403274
+284ffe04
+7920fe00
+20403249
+1a60a2de
+ea210000
+20207f9c
+58000001
+60008d54
+2040329e
+e0a38000
+2040329e
+245a31bd
+2040329e
+205a31c2
+700d5220
+68008d38
+79207e02
+60008d38
+20600000
+58000001
+204032a8
+58000140
+d8e0000b
+20207f08
+204032a7
+58000000
+d8e0000b
+20207f08
+20403274
+284ffe03
+2020b21b
+d8a00d64
+204031e0
+68040d64
+245a31e4
+68040d64
+205a31e9
+20402c7a
+68040d64
+da200168
+204032bf
+e0a40000
+58000170
+9a60a200
+ea2c0000
+98467c00
+2442b1ed
+58000168
+9a60a200
+ea240000
+da200170
+204032bf
+e0a40000
+20202f5e
+5800010b
+9a608c00
+df200009
+20207ff3
+58000001
+204032ab
+58000140
+d8e0000e
+20207f08
+204032aa
+58000000
+d8e0000e
+20207f08
+700d5110
+68008d38
+79207e01
+60008d38
+20600000
+d8a00d74
+204031e0
+68010d75
+245a3209
+68010d75
+205a320e
+20402c7a
+68018d74
+da200178
+204032c4
+5800017b
+9a60a200
+ea298000
+98467c00
+2442b207
+58000178
+9a60a200
+ea218000
+da20017b
+204032c4
+20202f5e
+700d5221
+202031b9
+58000001
+204032ae
+58000140
+d8e0000c
+20207f08
+204032ad
+58000000
+d8e0000c
+20207f08
+204032bd
+c000b216
+c001321b
+20600000
+5800010d
+2040327e
+da200160
+204032bf
+2020322d
+5800010d
+2040327e
+da200164
+204032bf
+2020322d
+20402c7a
+1a608acd
+e0a08000
+20600000
+20402c7a
+1a60a2be
+2020327f
+20402c7a
+1a608abe
+2020322d
+1a60a2ae
+2020327f
+1a608aae
+e0a20000
+20600000
+1a608a90
+202032b4
+58000000
+20402c7a
+1a608a85
+202032b4
+1a608a42
+202032b4
+58000004
+1a608acc
+202032b4
+1a60a287
+202032d1
+1a608a87
+202032b4
+58000002
+1a608ad0
+202032b4
+58000001
+20402c7a
+1a608ace
+202032b4
+20402c7a
+1a60a2b4
+202032d1
+58000001
+20402c7a
+1a608ab4
+202032b4
+20402c7a
+1a60a2b2
+202032d1
+58000001
+20402c7a
+1a608ab2
+202032b4
+20402c7a
+1a60a296
+202032d1
+1a608a96
+202032b4
+1a60a2cf
+202032d1
+58000000
+1a608acf
+202032b4
+1a60a2d2
+202032d1
+1a60a201
+202032d1
+1a60a2b5
+202032d1
+58000000
+20402c7a
+1a608ab5
+202032b4
+20402c7a
+1a60a2fb
+ea208000
+6000c1de
+20600000
+20402c7a
+6800c1de
+1a608afb
+202032b4
+1a60a2fc
+202032d1
+1a608afe
+202032b4
+58000109
+9a60a200
+ea288000
+20600000
+58000135
+202032d0
+58000000
+da200135
+202032b3
+5800012b
+204032cd
+ea220000
+20600000
+5800015f
+202032d0
+58000000
+da20015f
+202032b3
+58000000
+da20015c
+202032b3
+da20012f
+202032b3
+58000108
+202032d0
+da200108
+202032b3
+58000105
+202032d0
+58000000
+da200105
+202032b3
+58000104
+202032d0
+58000000
+da200104
+202032b3
+58000000
+da20013b
+202032b3
+58000001
+2020329a
+5800010c
+204032cd
+ea238000
+20600000
+5800015e
+202032d0
+58000000
+da20015e
+202032b3
+58000000
+da200180
+202032b3
+58000000
+da20017e
+202032b3
+58000000
+da20017f
+202032b3
+da200102
+202032b3
+da200103
+204032c7
+e0a08000
+20600000
+5800015d
+202032d0
+da20015d
+202032b3
+5800018a
+204032d0
+2020326a
+5800010c
+202032d0
+1fe20400
+1a227e00
+9a608a00
+18427e00
+20600000
+204032bf
+e0a18000
+20600000
+20402c7a
+1fe22400
+1a227e00
+9a608a00
+1a427e00
+20600000
+20402c7a
+9a60a200
+20600000
+204032cd
+ea208000
+20600000
+204032cd
+ea2a0000
+20600000
+58000000
+202032b4
+44e24018
+6800c092
+203a32d8
+c0022f30
+c007b436
+c004c5de
+c005392a
+c00735bf
+c00844a4
+c2833d00
+20600000
+44e2c018
+70015100
+70017f00
+70018000
+58000000
+600289ae
+6800c092
+203a32e3
+c0053962
+20600000
+20407cd1
+20407d9c
+204032f6
+680141f3
+20207f9c
+680141f1
+20207f9c
+680141ef
+20207f9c
+44e34018
+da204668
+20407fc4
+207a0000
+1fe22600
+204032ff
+20203324
+da600000
+20600000
+c000b311
+c0083357
+c002b335
+c009333c
+c0033353
+c0023394
+c0013399
+c009b394
+c00a334b
+c00ab34f
+c001b32e
+c005b340
+c0063347
+c00b335b
+c00c332a
+c015331a
+c015b318
+20600000
+68014682
+79207e00
+60014682
+6801420a
+793ffe00
+6001420a
+20600000
+70022900
+20600000
+68008229
+1fe0fe01
+60008229
+1fe67c01
+202133df
+70022900
+6801420a
+79207e09
+6001420a
+202033e9
+680141f5
+20207f9c
+680141e9
+20207f9c
+680141ed
+20207f9c
+6801420a
+79207e01
+6001420a
+20203412
+68014682
+79207e07
+60014682
+6801420a
+79207e02
+6001420a
+20600000
+68014682
+79207e01
+60014682
+6801420a
+79207e04
+6001420a
+20600000
+68014682
+79207e03
+60014682
+20600000
+68014682
+79207e05
+60014682
+6801420a
+79207e03
+6001420a
+20600000
+68014682
+793ffe05
+60014682
+20600000
+68014682
+79207e09
+60014682
+20600000
+68014682
+793ffe09
+60014682
+20203418
+68014682
+79207e02
+60014682
+20600000
+6801420a
+79207e00
+6001420a
+20600000
+6801420a
+79207e08
+6001420a
+202033e9
+44e3c018
+6000822a
+6800822a
+207a0000
+1fe0ffff
+6000822a
+20407cdd
+204033d6
+20403387
+2040338d
+2040651b
+680141fd
+20407f9c
+20203361
+ea608000
+207a0000
+1fe0ffff
+e2608000
+247a0000
+1a427e00
+20207f9c
+ea610000
+207a0000
+1fe0ffff
+e2610000
+247a0000
+1a427e00
+20207f9c
+6809423f
+1840a601
+da40337f
+2020336d
+2040342d
+c000b382
+2020340a
+58000002
+e2608000
+1840a408
+ea410000
+20207f9c
+da604205
+da40338a
+2020336d
+20402252
+2022b40e
+20600000
+da60467e
+da403390
+20203374
+204033f0
+20403408
+680141f7
+20207f9c
+204033ac
+68014682
+793ffe07
+60014682
+20600000
+70420500
+68014682
+c283b39e
+2fec0001
+2040b2fd
+44e44019
+68014682
+793ffe00
+793ffe01
+793ffe02
+793ffe03
+793ffe07
+60014682
+20203418
+204033a9
+2020340a
+58000000
+60014208
+20600000
+58000000
+6001420a
+20600000
+6801420a
+60014208
+58000000
+6001420a
+20600000
+6801420a
+79207e07
+60014208
+58000000
+6001420a
+20600000
+6800c682
+2feffe05
+20600000
+5800aa55
+60010aaa
+44e4c019
+d8400002
+da200aaa
+da4000c3
+20206606
+44e54019
+d8400002
+da200a9a
+da4000c3
+204065df
+68010a9a
+d840aa55
+98467c00
+20600000
+6800c55a
+6000c205
+20600000
+d8e00009
+20202c32
+d8e00009
+20202c36
+70420605
+202033d0
+da604206
+da4033d2
+2020336d
+70436301
+20600000
+70436300
+20600000
+700a990a
+20207d8f
+700a991d
+20207d8f
+44e5c019
+6800c207
+6000816d
+70022801
+700a9903
+20207d8f
+700a991e
+20207d8f
+700a9904
+20207d8f
+68014687
+6001467e
+20403404
+700a9901
+20207d8f
+58000000
+6001467e
+700a9902
+20207d8f
+700a990f
+20207d8f
+700a9910
+20207d8f
+700a990e
+20207d8f
+700a990d
+20207d8f
+700a9917
+20207d8f
+700a9918
+20207d8f
+700a9916
+20207d8f
+700a9911
+20207d8f
+700a9915
+20207d8f
+700a9914
+20207d8f
+700a9913
+20207d8f
+700a9919
+20207d8f
+700a9906
+20207d8f
+700a9905
+20207d8f
+700a991f
+20207d8f
+700a9920
+20207d8f
+700a9925
+20207d8f
+7920000d
+20600000
+793f800d
+20600000
+2040342d
+c0013424
+58000001
+e2608000
+1840a203
+1840a406
+ea288000
+1a60a601
+e2688000
+20203385
+58000000
+e2608000
+68014682
+c304b429
+20403402
+6809423f
+1840a202
+1840a404
+20203420
+6809423f
+1840a600
+ea608000
+20600000
+2040342d
+c0803434
+2020340a
+1840a40a
+20203385
+20758000
+70808100
+58003463
+600141eb
+5800696c
+600141ed
+580034f5
+600141f3
+580034f4
+600141ef
+5800347e
+600141f5
+580034b2
+600141fd
+58003465
+600141fb
+58003470
+600141e9
+58003501
+600141f9
+44e64019
+2040359b
+20406948
+204035ad
+20407d08
+20407cd3
+5800350b
+60014766
+580034fc
+6001475d
+580034f8
+6001475f
+5800346c
+60014761
+580035a2
+600146a9
+580035a4
+600146ab
+580035a9
+600146b4
+580035a6
+600146b6
+68014682
+c3860000
+2020340a
+20403586
+2020340a
+20405892
+247a0000
+da200b06
+20407e54
+24740000
+d8c00b06
+20204746
+68014797
+60014791
+70475301
+2020358f
+6800c79d
+c000b479
+68014682
+c304b479
+6800c79e
+c000b3d0
+6800c700
+243a33d0
+202033d2
+6800c79b
+6808c79c
+9841fe00
+c000b3d0
+202033d2
+1a627e00
+c016b431
+c008341a
+c00a34df
+c00ab4e8
+c0203485
+20600000
+68014509
+c000b48c
+680143d8
+203a34a2
+70478a02
+70478f3c
+20600000
+6801449a
+203a34a0
+70478a01
+680947b4
+68014496
+9840fe00
+60014496
+1fe22200
+68014498
+9840fe00
+60014498
+9a20fe00
+1fe30400
+680147c0
+9846fc00
+20407f86
+1807fe00
+6001449a
+70479001
+20600000
+70478a03
+20600000
+70417200
+70479000
+680143d6
+680947be
+98467c00
+79212200
+680147c0
+680943d6
+98467e00
+79212201
+2a200603
+20608000
+680447be
+60044496
+70479001
+20600000
+2040337b
+204034b9
+204034be
+204034d5
+204034ca
+204034c4
+202034d9
+da604799
+da4034bc
+2020336d
+70479a00
+20600000
+da604793
+da4034c1
+20203374
+da6046bf
+da40469e
+20203591
+da60478f
+da4034c7
+2020336d
+6801449a
+6000c172
+20600000
+da604790
+da4034cd
+2020336d
+6800843f
+2fe0c000
+2420b4d3
+70478a01
+20403416
+20205abf
+70479001
+20600000
+da604791
+da4034d8
+20203374
+2020341a
+da60478d
+da4034dc
+20203374
+680147a7
+6001478d
+202035af
+680147a7
+6001478d
+58000000
+60014793
+60014791
+2040355c
+20403586
+70417200
+202033f8
+58000000
+6002478d
+6001c78a
+60014509
+7047a001
+68014797
+60014791
+20407e38
+6800c759
+c1000000
+2040358f
+2020356e
+20203508
+6800c759
+c1810000
+20203508
+da6046cd
+20403582
+da6046c6
+20203584
+70436e00
+da6046db
+20403582
+da6046d4
+202034fb
+68008477
+c0093504
+20600000
+68010478
+c006b536
+c005b571
+20600000
+6800c753
+207a0000
+20206978
+1a227e00
+203a3510
+18e27e00
+c0003513
+20600000
+18e27e00
+c000351b
+20600000
+70479d01
+da6046f7
+20403582
+da6046f0
+20403584
+68014682
+c304b532
+20203521
+70479d00
+2020351d
+6800c79a
+c1808000
+70479905
+20600000
+6800c79a
+1fe0fe01
+6000c79a
+c000b527
+c001352b
+20600000
+2040355c
+70477101
+da60476c
+20203544
+70479a00
+70477102
+da60476c
+20403544
+6800c79e
+c000b551
+20600000
+68014797
+60014791
+2040355c
+2020358f
+44e6c019
+204036fc
+ea208000
+c001b53c
+c003b540
+20600000
+6800c79e
+c0003551
+c000b55c
+20600000
+ea408000
+c000b564
+c0003569
+20600000
+44e74019
+6800c78b
+2feffe00
+24608000
+1a608c06
+e8c10000
+1ff0fe00
+1fe0f205
+1a608c03
+204036f0
+e0c08000
+1a622200
+20207e3d
+6800c759
+207a0000
+70479e01
+da6046e9
+20403582
+da6046e2
+20403584
+70478004
+70478301
+da60477b
+20203544
+6800c79e
+207a0000
+70479e00
+20403586
+70478004
+70478300
+da60477b
+20203544
+70479f01
+70478007
+70478301
+da60477b
+20203544
+70479f00
+70478007
+70478300
+da60477b
+20203544
+6800c79f
+207a0000
+20203551
+ea210000
+6001478b
+2feffe00
+24608000
+6800c7a0
+207a0000
+7047a000
+680447b6
+60044496
+70479002
+204035af
+204035b9
+70478007
+6800c79f
+6000c783
+da60477b
+20203544
+da200001
+20203585
+da200000
+2020358c
+da200000
+20407d19
+da200001
+20407d19
+6800c7a1
+202069d7
+20407d04
+df200007
+20207d26
+da6046b8
+da40469a
+20403596
+20403584
+68014795
+60014793
+202033fa
+ea410000
+60014154
+e8c10000
+60014482
+20600000
+da200000
+204069a6
+680347a1
+60030a9a
+204069ae
+6800c7a1
+202069d7
+70479b01
+20600000
+70479b00
+20600000
+70479c00
+6800c7a1
+202069d7
+70479c01
+680347a1
+60030a9a
+202069ae
+70422d00
+202068a8
+204068eb
+20406908
+600147b0
+da2047aa
+20406930
+6000c7a9
+c00035be
+1fe67c64
+242135bc
+6000c783
+70478005
+da60477b
+20203544
+70478364
+202035b9
+2020341a
+20758000
+68108081
+1fe17ef0
+60108081
+58003631
+600141eb
+58003633
+600141ed
+5800340a
+600141f7
+58003635
+600141f3
+5800364b
+600141f5
+580033d0
+600141e9
+580036f6
+600141f9
+5800367a
+600141fd
+20402c7a
+58003722
+1a608ade
+e0a10000
+580035ed
+6001475b
+580035ef
+6001475f
+44e7c019
+20403628
+20407e38
+70417202
+7049f600
+6800c7cb
+6000c69a
+c00035ee
+6800c7cc
+6000c686
+70436e00
+2040360f
+20407cd3
+20407cdd
+7047f301
+68014682
+c3860000
+2020340a
+2020360f
+7047f302
+70436e01
+2040360f
+da200000
+20407d1e
+58000020
+204046f0
+d8a043b7
+6800c4a0
+1fe104f0
+18518400
+20403609
+e0a88000
+1fe1040f
+20403609
+e0a88000
+204057a6
+6808c3af
+18427200
+d8a04372
+d8c043b0
+20407f01
+6808c3af
+18427200
+d8a04392
+d8c043b0
+20207f01
+18467c09
+2021360d
+18408437
+20600000
+18408430
+20600000
+6800c7c0
+c0ffb621
+6800c7be
+c0ffb624
+6800c7c9
+c0ffb626
+6800c72c
+1fe27200
+5800472d
+1fe22200
+1a220c00
+e8c08000
+18c22200
+c07fb61f
+1fe20400
+2040680e
+c2003619
+20600000
+680447c0
+6004472f
+20203611
+6000c72d
+20203613
+6000c72e
+20203615
+da200000
+204069a6
+204037e4
+20402c7d
+2020362d
+7047cf64
+6800c7c9
+6000c744
+202068a8
+20406835
+2020696c
+2020696c
+20206978
+20403642
+204037ee
+20403639
+20203634
+68014682
+c3848000
+6800c9f6
+c000b63e
+20600000
+6800c7ea
+c1008000
+7047ea01
+20203654
+68014682
+c4048000
+20405892
+247a0000
+da204718
+20407e54
+24740000
+d8c04718
+20204746
+1a627e00
+c016b431
+c008341a
+c00a3651
+c00ab660
+20600000
+58000000
+20403220
+20203656
+680147eb
+600147ed
+7047ce14
+70409100
+204033f8
+20403416
+6800c7bd
+c000b65e
+da200000
+20207d14
+da200000
+20207d19
+58000002
+20403220
+58000000
+6002c79c
+58000004
+204069d7
+58000005
+204069d7
+58000014
+204069d7
+58000015
+204069d7
+58000016
+204069d7
+58000007
+204069d7
+20407e38
+70475e0a
+7047600a
+7047620a
+70417202
+da200000
+20407d1e
+58000020
+204046f0
+202033fa
+2040373b
+2040373e
+20403741
+2040337b
+204036c8
+204036a1
+2040368a
+20403683
+2020368f
+da60479a
+da403686
+2020336d
+20403847
+24608000
+70479b01
+20600000
+da6047ed
+da40368d
+20203374
+7047ea02
+20203662
+da6047f1
+da403692
+2020336d
+6800c7f2
+203a369e
+7047f102
+7047f200
+58000a02
+60014752
+6800c7b9
+c001b69b
+20203762
+58000a02
+60014754
+20203762
+58000000
+60024752
+20203762
+6800c7c8
+207a0000
+68014682
+c304b6c6
+da6047ce
+da4036a8
+2020336d
+6800c7cd
+6000c7ce
+6800c7d1
+247a0000
+204068eb
+20406908
+600147e8
+da2047e2
+20406930
+6808c7cf
+98467c00
+202136b6
+6000c7cf
+1fe20400
+6008c7d0
+6800c7ca
+98467c00
+204136c1
+6008c7db
+df200006
+d8c047d6
+204036f0
+6000c7dc
+da2047d3
+20207e3d
+6800c7d2
+247a0000
+7047d201
+da200001
+20207d1e
+da200001
+20207d19
+da6047a4
+da4036cb
+2020336d
+7047a405
+7047a600
+6800c7a5
+c000b6ee
+c00036ec
+d8c0479c
+18c22200
+df200008
+1a220c00
+e8c08000
+18c22200
+c00036e3
+c000b6e6
+c00136e9
+6800c7a6
+1fe0fe01
+6000c7a6
+c20036d3
+20600000
+6800c7a6
+da4047c0
+9a40a400
+ea488000
+20600000
+204036de
+20406825
+202036d9
+204036de
+20406829
+202036d9
+6800c7a5
+c000b6e3
+202036e6
+7047a501
+202036d0
+7047a500
+202036d0
+da200000
+e8c08000
+9a20a200
+c20036f1
+1a217eff
+20600000
+68008477
+c00936f9
+20600000
+68010478
+c00a3710
+20600000
+44e8401a
+ea228000
+60028b12
+68010b12
+d8406b5a
+98467c00
+24628000
+68010b15
+1ff0fe00
+60010b15
+1fe27200
+1a20a205
+1a220c00
+d8a00b17
+20407f01
+e8c08000
+60008b21
+da200b14
+da400b17
+20600000
+58000000
+6002c752
+6002c757
+204036fc
+1a420c00
+d8a04752
+df20000a
+20407f01
+44e8c01a
+ea208000
+c001374a
+c001b75c
+c0023762
+c002b762
+c00337b1
+c003b849
+c004384c
+20600000
+68014682
+c3848000
+680147eb
+600147ed
+7049f601
+5800010c
+204032cd
+20403710
+68008b14
+c002372e
+c002b72e
+20600000
+6800c752
+245a3735
+6800c754
+245a3737
+6800c756
+245a3739
+20600000
+7049f305
+20600000
+7049f405
+20600000
+7049f505
+20600000
+da6049f3
+da403744
+2020336d
+da6049f4
+da403746
+2020336d
+da6049f5
+da403748
+2020336d
+70475200
+20203762
+70475400
+20203762
+70475600
+20203762
+2040374c
+2020374f
+6800c752
+6000c75f
+20203773
+6800c75e
+20403754
+6800c753
+6000c75d
+20203770
+c0013758
+c001b75a
+6000c75e
+20600000
+70475e05
+20600000
+70475e0a
+20600000
+6800c752
+20403754
+6800c75e
+2040379e
+204037a1
+202069c4
+6800c7f0
+247a0000
+68034752
+6003475d
+6800c75e
+6808c760
+98417e00
+6808c762
+98417e00
+205a3779
+44e9401a
+20403770
+20403773
+20203776
+da404763
+d8c0475d
+2020377b
+da40476b
+d8c0475f
+2020377b
+da404773
+d8c04761
+2020377b
+7047d100
+20600000
+e8c08000
+c0003787
+c000b780
+c0013782
+20600000
+70477b00
+20203783
+70477b01
+e8c08000
+6000c77d
+ea440000
+2020378c
+ea408000
+204069d7
+1a40a401
+ea408000
+202069d7
+6004477e
+7047d101
+6800c77b
+c000379a
+6800c77f
+6000c780
+6800c77e
+204069d7
+6800c77d
+2040379e
+6000c785
+68034780
+60030a9a
+202069ae
+6800c77e
+6000c780
+6800c77f
+20203793
+1feffe05
+1fe0fe32
+20600000
+d8402ee0
+984ffe00
+1fe6fc64
+20407f86
+18078400
+18422200
+58002ee0
+98462400
+20600000
+68108082
+79207e02
+60108082
+5800009e
+60110068
+6011006a
+20600000
+6800c7f0
+247a0000
+68014752
+60014787
+6800c7ea
+c080b7b9
+680144a0
+60014787
+44e9c01a
+204037aa
+204037dc
+5800bb80
+20402a8f
+204037e0
+58001c20
+20402a8f
+df200010
+204037dc
+68014787
+c28037c9
+58001c20
+20402a8f
+204037e0
+202037cc
+58003840
+20402a8f
+204037e0
+58001c20
+20402a8f
+68014787
+1fe37e00
+60014787
+c20037c2
+7047f102
+7047f201
+58000a01
+60014752
+6800c7b9
+c001b7d9
+20203762
+58000a01
+60014754
+20203762
+68108085
+1fe1fe40
+60108085
+20600000
+68108085
+1fe17ebf
+60108085
+20600000
+6800c7bb
+c1000000
+20402c65
+6808c7bc
+6008c786
+204067fb
+20403847
+24608000
+70479a01
+20600000
+6800c7bb
+c1000000
+6800c79b
+247a0000
+68014682
+c284b7f6
+6800c7ea
+c1808000
+44ea401a
+20403847
+24608000
+58008ca0
+20402a8f
+20403847
+24608000
+2040383f
+20403842
+24610000
+20403847
+2020b7fe
+da200000
+df200010
+2040383f
+20403842
+24610000
+20403847
+2420b805
+58002a30
+20402a8f
+20403847
+2020b812
+58000000
+1a232200
+9a21a200
+c2003805
+2020381b
+58008000
+1a232200
+9a21a200
+2040383f
+20403842
+24610000
+20403847
+2020b816
+c2003805
+44eac01a
+1a227e00
+60014789
+60014797
+6800c7ea
+c000b827
+df200007
+d8c04792
+204036f0
+6000c799
+da20478f
+20207e3d
+6800c7ef
+1fe0fe01
+6000c7ef
+1fe6fc02
+20407f86
+18078400
+18077e00
+243a3838
+6800c7bf
+98467c00
+2042b83d
+dfe0479c
+184085ff
+9840a200
+dfe00000
+e2208000
+20600000
+dfe0479c
+9840a200
+dfe00002
+e2208000
+20600000
+7047f001
+20600000
+1c427e00
+6002478b
+20600000
+1c427e00
+680a478b
+98467e00
+1fe67cc8
+20600000
+6808c786
+2020681d
+68044752
+6004479c
+20600000
+6800c7b9
+6000c7af
+6800c7ba
+6000c7b0
+6800c7bb
+6000c7b1
+df20000d
+d8c047aa
+204036f0
+6000c7b7
+da2047a7
+20207e3d
+204065c2
+7046f67a
+2040386d
+20403867
+58003860
+600141fd
+da200000
+202069a6
+680146a1
+207a0000
+1fe0ffff
+600146a1
+c1800000
+7046a000
+20600000
+44eb401a
+6800c6a4
+1fe67c28
+20610000
+7046a400
+20600000
+da2046a4
+da400000
+d8400051
+202065df
+78547c00
+6800c6a3
+1fe27200
+da2046a5
+1a622400
+44ebc01a
+2040387c
+2022ffe7
+1a20a204
+c2003876
+20600000
+44ec401b
+ea218000
+ea498000
+98467c00
+20600000
+44ecc01b
+ea218000
+ea498000
+98467c00
+24628000
+e8c08000
+1fe67c00
+20628000
+1a208c03
+e8c88000
+98467c00
+20600000
+44ed401b
+78547c00
+6800c6a3
+1fe27200
+da2046a5
+1a622400
+20403881
+2022ffe7
+1a20a204
+c2003893
+20600000
+68008004
+1fe0fe01
+60008004
+da6002e5
+ea610000
+d84055aa
+98467c00
+24628000
+18c22600
+ea698000
+58ffffff
+98467c00
+2022b8a8
+2040388d
+203438a8
+20600000
+44edc01b
+1a60a604
+ea608000
+6808c6f6
+98467c00
+20628000
+6000c6f6
+68008003
+1fe0fe01
+60008003
+1a60a601
+ea608000
+6000c6f5
+1fe27200
+207a0000
+e8c08000
+c00038c2
+c000b8cf
+c00138d4
+c001b8d9
+c00238de
+c002b8e3
+c00338e8
+c07fb8ea
+c20038b7
+20600000
+18c22600
+6800c69a
+60008a9a
+d8400000
+60088a9b
+58002710
+60018a9c
+ea608000
+60008a9f
+204069ae
+1a610c01
+c20038b7
+20600000
+1a620c00
+6800c69b
+60008a9a
+d8400001
+202038c6
+1a620c00
+6800c69c
+60008a9a
+d8400002
+202038c6
+1a620c00
+6800c69d
+60008a9a
+d8400003
+202038c6
+1a620c00
+6800c69e
+60008a9a
+d8400004
+202038c6
+1a620c00
+6800c69f
+60008a9a
+d8400005
+202038c6
+e8c08000
+20600000
+18c22600
+6800c6a0
+c080b8ee
+204038f0
+1a610c04
+20600000
+44ee401b
+20403871
+203438fe
+6800c6a4
+1fe20400
+1fe0fe01
+6000c6a4
+20403867
+184b8400
+580046a5
+98408a00
+ea620000
+e0a20000
+20203903
+1a608c03
+e8c08000
+207a0000
+ea620000
+e2220000
+da2046a4
+da400000
+d8400051
+20206606
+6808c69a
+20406825
+20600000
+6808c69a
+20406829
+6808c69a
+20406825
+2040391d
+6800c6a7
+247a0000
+20402c29
+68120138
+793ffe0f
+6012004c
+20402c21
+d85fffff
+20202b2a
+6800c6a7
+203a56f9
+1fe0ffff
+6000c6a7
+202056f9
+1feffe14
+d8c046a8
+98c08c00
+e8c08000
+207a0000
+1fe22200
+1a227200
+d8a04372
+20407f01
+1a227e00
+1fe0fe02
+6000c36f
+20600000
+20758000
+204057a3
+204068a8
+58003982
+600141f3
+5800396e
+600141f1
+58003986
+600141f5
+5800396d
+600141ef
+58003969
+600141e9
+58003ab7
+600141fb
+58003c32
+6001456f
+58003cc2
+600141f9
+58003cd7
+600141fd
+2040397f
+44eec01b
+20403945
+20403964
+20402c6f
+20203c48
+680246aa
+60120054
+680246ae
+6012005a
+68108081
+1fe1fe04
+1fe17efc
+60108081
+70806200
+680146aa
+60110058
+680146ae
+6011005e
+60110060
+68120078
+79207e07
+60120078
+68110050
+793ffe0f
+60110050
+204066ce
+70804300
+70806281
+6800c6bf
+2feffe00
+68188062
+79208404
+60188062
+20600000
+2040397f
+20203945
+6808c69e
+2040680e
+204039e6
+6808c69c
+202067fb
+6808c69c
+2040681d
+2420b3d2
+202033d0
+20600000
+20403970
+20203ce9
+6800c682
+c302397f
+44ef401b
+58003eff
+680a46c5
+98408400
+1c427e00
+98467c00
+24610000
+68014682
+c282b97f
+6800c6bf
+c3830000
+20403cec
+2040340e
+1c427e00
+600246c5
+20600000
+20403ce9
+2040526e
+247a0000
+202039eb
+1a627e00
+c000b9d4
+c00139a3
+c00239d7
+c002b9c4
+c00439aa
+c004b9b1
+c00539c9
+c005b9b6
+c00639c2
+c009b9d7
+c00a39cf
+c00ab9c6
+c010b9ca
+c011b9cb
+c01239ce
+c0183c8a
+c018bc8c
+c0193c9a
+c019bc98
+c01a3c84
+c01abc73
+c01b3c82
+c01bbc8e
+c01c3c90
+c01dbca1
+c01ebc6a
+c020b9d9
+20600000
+2040397f
+6800c665
+245a3c8e
+204039d7
+68014682
+c4020000
+202039b1
+68014682
+79207e04
+60014682
+6800c6a7
+6000c172
+204039e6
+20203c1d
+68014682
+c4020000
+793ffe04
+60014682
+20203c21
+2040397f
+68014042
+1fe37e00
+680941e3
+98467c00
+2422b9bd
+20203416
+6800c6bf
+c3828000
+68110112
+245a3cf0
+2020340c
+20403cee
+20203418
+2040397f
+202039dd
+20405816
+204039d7
+20203c23
+202033dd
+20203cee
+6800c6bf
+c302b40e
+20203cf2
+20203cf2
+204058ba
+204039dd
+6800c6a8
+6000c172
+20203c1f
+70466100
+20403cee
+20203cf2
+20403a52
+202039db
+20405cc9
+20205b02
+6808c69e
+20206829
+204039df
+202039e6
+6800c6a1
+2feffe00
+2040b3f0
+6800c6a1
+2feffe01
+2040b3f8
+20600000
+6808c69e
+20206825
+6800c56b
+c1000000
+20206c28
+6810810c
+c281b9e8
+204066cb
+e8608000
+c080ba01
+68110112
+1fe67c02
+20610000
+e8608000
+60008b03
+e8688000
+18622200
+60088b04
+18408403
+68110112
+98460400
+24610000
+700b0501
+20403a17
+68008b05
+c1000000
+20203a12
+20407ec1
+20403c79
+20203a04
+44efc01b
+68110112
+207a0000
+204066cb
+e8608000
+1fe67c01
+2442ba16
+2422ba04
+e8608000
+c1028000
+c1148000
+186087ff
+20403a16
+20203a04
+204066cb
+18608602
+e8608000
+98608600
+202066c8
+44f0401c
+68008b03
+c0003a3f
+c000ba44
+c0013a49
+c001ba5f
+c0023a6b
+c002ba75
+c004ba9a
+c005bad7
+c0063ad8
+c006baec
+c0073af4
+c007bafa
+c0083b06
+c008bb0e
+c0093b12
+c0133b16
+c0143b1d
+c014bb2d
+c0153b36
+c015bb69
+c0163b6f
+c0183b76
+c018bb7c
+c0193b90
+c019bb98
+c01a3bbb
+c01abbc4
+c01b3bcd
+c01bbbd7
+c01c3bda
+c0203be2
+c0213bec
+c0243bf1
+c024bbfc
+c028bc02
+c030bc06
+c07fbc15
+20203c17
+68008b04
+c0833c17
+e8630000
+600340a0
+20203c1a
+68008b04
+c0833c17
+e8630000
+600344a0
+20203c1a
+68008b04
+c080bc17
+1a220600
+20403c1a
+e8688000
+6008c6a9
+68014682
+c3848000
+c3800000
+6800c6a1
+2feffe00
+2420ba58
+6808c6a9
+18417e03
+6000c093
+6800c6a1
+2feffe01
+24608000
+6808c6a9
+284ffe02
+2020b3fa
+202033f8
+68008b04
+1fe67c43
+24213c17
+6000c515
+df200008
+20407ec6
+68008b04
+1fe27200
+1a220600
+d8a04516
+204066ea
+20203c1a
+68008b04
+1fe67c1d
+24213c17
+6000c3af
+1fe27200
+1a220600
+d8a043b0
+204066ea
+204057a3
+20203c1a
+6800c682
+c3023c17
+204033ba
+2020ba86
+700b0500
+2040397f
+6800c568
+207a0000
+68014573
+c0803a84
+68008b04
+60014573
+1a220600
+18627e00
+60014571
+20403a88
+20206c4d
+700b0500
+20203cd1
+20403a8e
+68014573
+6809469f
+98467e00
+60014573
+20600000
+68014573
+d840006e
+20407fdd
+6809456c
+20407fdd
+6809455e
+20407fdd
+6001469f
+20600000
+700b0501
+700b0305
+20203c1a
+68014682
+c304bc17
+20403ad4
+20343c17
+700b0500
+6800c6bf
+c2823ab4
+6800c6c0
+247a0000
+700b0501
+e8610000
+600146c1
+18627e00
+600146c3
+68008b04
+1fe0fffe
+24213c17
+2022bc17
+6000c6c0
+700b0500
+20405814
+20403ab7
+20403ab7
+20403ab7
+6800c6bf
+c4020000
+700b0501
+20403cf6
+20203c1a
+6800c6c0
+207a0000
+20405892
+247a0000
+20403acf
+44f0c01c
+1840fffd
+6808c6c0
+20407fdd
+1fe22200
+18427e00
+9a267e00
+6000c6c0
+680946c1
+20405a64
+680146c3
+1fe20600
+1a227200
+204066ea
+18627e00
+600146c3
+6800c6c0
+247a0000
+20203cf4
+d8400017
+6800c6bf
+c3808000
+680944a8
+20600000
+6800c6bf
+c2815a42
+20207fe9
+20203c4c
+1a220600
+e8608000
+c0003adf
+c000bae2
+c0013ae8
+c001baea
+20203c17
+2040612b
+70465a00
+20203c1a
+58040003
+6001c65b
+6000c662
+20406124
+70465a01
+20203c1a
+58040002
+20203ae3
+58040001
+20203ae3
+68008b04
+1fe67c10
+24213c17
+6000c689
+1fe27200
+d8a0468a
+204066fd
+20203c1a
+1a220600
+e8608000
+68188062
+7d3a0404
+60188062
+20203c1a
+68008b04
+1fe27200
+1a220600
+20407f58
+596e3600
+9846fc00
+20407f86
+1807fe00
+60014243
+20403c1a
+20407f9e
+202066ce
+da200002
+da40469a
+d8400000
+20203c25
+60010ac2
+da400ac2
+d8400000
+20203c25
+68014682
+c3003c17
+20403c1a
+202033e9
+68014682
+c304bc17
+20403c1a
+20203402
+68008b04
+1fe27200
+1a220600
+68014215
+1fe20a00
+204066ea
+20203c1a
+6800c682
+c3003c17
+e8608000
+6808c661
+793a0400
+79200407
+6008c661
+20403c1a
+6800c661
+c2833b2b
+20600000
+70466100
+700a9921
+20207d8f
+c2805f95
+20203b28
+6800c682
+c4020000
+6800c56b
+c1000000
+e8608000
+6808c569
+98408400
+6008c569
+20600000
+df200040
+d8a0436f
+20407ed4
+58000000
+60008ab2
+1a220600
+18627e00
+60010ab6
+20403b64
+68008ab2
+68088aa2
+18408401
+9840fe00
+60008ab2
+1fe67c1f
+24213b50
+6808c36f
+58004370
+9840fe00
+60010abb
+68088aa2
+18408401
+6800c36f
+9840fe00
+6000c36f
+20203b59
+6808c38f
+58004390
+9840fe00
+60010abb
+68088aa2
+18408401
+6800c38f
+9840fe00
+6000c38f
+68010abb
+1fe20a00
+68010ab6
+1fe20600
+18427200
+204066ea
+68008b04
+68088ab2
+98467c00
+2422bb3c
+20203c1a
+e8608000
+60008aa2
+e8608000
+60008aae
+20600000
+d8400000
+da200002
+680146b4
+60010ac2
+da400ac2
+20203c25
+68008b04
+c080bc17
+e8608000
+6000c6b2
+58000000
+600146b4
+20203c1a
+e8620000
+6002468a
+70468904
+70466300
+20403c1a
+20205f31
+68008b04
+c081bc17
+e8608000
+c0003b82
+c000bb8a
+20203c17
+e8688000
+e8608000
+c0013b88
+7d3a0407
+204067fb
+20203c1a
+20406806
+20203c1a
+e8688000
+20406812
+e8608000
+2feffe00
+2040682c
+20203c1a
+68008b04
+c080bc17
+e8688000
+2040681d
+58000000
+7d20fe00
+da200001
+20203b0a
+1a220600
+e8608000
+1fe20400
+c040bba3
+c0413ba8
+c041bbae
+6000c4c6
+c0003bb3
+c000bbb6
+c0013bb8
+20203c17
+6800c4be
+203a3c17
+6008c4c6
+7044560d
+20203bb4
+6800c4be
+203a3c17
+6008c4c6
+7044560d
+70445401
+20203c1a
+6800c4be
+203a3c17
+6008c4c6
+7044560d
+20203bb9
+70445600
+70445403
+20203c1a
+70445605
+20203bb4
+70445605
+70445400
+20203c1a
+68008b04
+1fe67c1f
+24213c17
+6000c36f
+1fe27200
+1a220600
+d8a04370
+204066ea
+20203c1a
+68008b04
+1fe67c1f
+24213c17
+6000c38f
+1fe27200
+1a220600
+d8a04390
+204066ea
+20203c1a
+68014682
+c304bc17
+68008b04
+c0843c17
+1a220600
+e8640000
+60044496
+700a9912
+20407d8f
+20203c1a
+e8610000
+60014482
+20203c1a
+6800c4c6
+203a3c17
+6800c4c4
+c0803c17
+6800c4c5
+c0803c17
+20407e25
+20203c1a
+68008b04
+c082bc17
+e8608000
+6000c6a2
+e8620000
+600246a3
+6808c6a2
+2040680e
+20403cbc
+20203c1a
+68008b04
+c080bc17
+e8608000
+6000c1de
+20203c1a
+e8608000
+c000bbfa
+6800c4c1
+c001bbf8
+c0033bf8
+c003bbf8
+20203c17
+7044c201
+20203c1a
+20405b53
+20203c1a
+68008b04
+c080bc17
+20403c1a
+e8608000
+203a60cb
+202060c9
+20403c1a
+20407f9e
+70801001
+20202a8e
+68008b04
+c0003c17
+e8608000
+203a3c13
+68008b04
+c082bc17
+e8620000
+d84f4240
+98467c00
+20213c17
+600244c7
+2040580c
+20203c1a
+2040580e
+20203c1a
+70409100
+20203c1a
+d8400001
+da200000
+20203c25
+d8400000
+da200000
+20203c25
+700b0300
+20203c49
+700b0302
+20203c49
+700b0303
+20203c49
+700b0305
+20203c49
+68008b03
+1fe22600
+700b0306
+58000002
+9a20fe00
+20403ca7
+1a627e00
+e1408000
+e1488000
+1a227200
+1a420c00
+204066e4
+202066c5
+2040397f
+700b0307
+680084ff
+207a0000
+20403ca7
+680084ff
+1fe27200
+68010501
+1fe20c00
+204066d1
+202066c5
+700b0308
+6800c6b6
+1fe27200
+1fe0fe02
+20403ca7
+680146b9
+e1410000
+680146b7
+1fe20c00
+204066d1
+202066c5
+700b0309
+58000000
+20403ca7
+202066c5
+700b030a
+58000001
+20403ca7
+20403c5d
+68014682
+d8e00002
+afefffff
+79208403
+d8e00009
+afefffff
+79208405
+6800c682
+d8e00004
+afefffff
+79208404
+e1488000
+202066c5
+d8400000
+6800c093
+d8e00000
+afefffff
+79208400
+d8e00001
+afefffff
+79208401
+6800c36e
+d8e00000
+afefffff
+79208402
+20600000
+700b030d
+6800c217
+1feffe22
+1fe27200
+20403ca7
+68014215
+1fe20c00
+204066d1
+202066c5
+700b030e
+58000004
+20403ca7
+680209ba
+e1420000
+202066c5
+700b030f
+68110112
+d84000ff
+20407fdd
+1fe27200
+20403ca7
+204066cb
+20406703
+202066c5
+700b0310
+20203c49
+700b0311
+58000004
+20403ca7
+680244c7
+e1420000
+202066c5
+da200180
+20203c91
+da200080
+20203c91
+da200101
+20203c91
+da200001
+70466100
+700b0314
+58000002
+20403ca7
+1a227e00
+e1410000
+202066c5
+da600000
+20203c9b
+da600001
+700b0315
+58000001
+20403ca7
+1a627e00
+e1408000
+202066c5
+700b031d
+58000004
+20403ca7
+680209ba
+e1420000
+202066c5
+700b0202
+60008b04
+600c0aa2
+44f1401c
+20403cb1
+680c0aa2
+204066c2
+68018b02
+e1418000
+20600000
+20403cba
+20608000
+20403cb8
+680246a3
+1feb7e00
+207a0000
+20203cbe
+6808c6a2
+20206829
+6808c6a2
+2020681b
+6808c6a2
+20206825
+1fe0ffff
+20000026
+243a3cbe
+20600000
+20403ad4
+20740000
+1a227e00
+600146b7
+1a427e00
+6000c6b6
+68010478
+680946bb
+98467c00
+2022bccf
+680946bd
+98467c00
+24628000
+600146b9
+20203c3d
+6800c6bf
+c3828000
+20403cf0
+2020340c
+70417202
+20600000
+20203cd8
+6800c6b2
+207a0000
+6800c6b3
+207a0000
+1fe0ffff
+6000c6b3
+247a0000
+7046b30a
+204068eb
+20406908
+1fe6fc64
+20407f86
+1807fe00
+18070400
+6000c6b4
+6008c6b5
+20600000
+20407fb4
+202133d9
+202033db
+d8e00006
+20203cfc
+d8e00006
+20203cf8
+d8e00005
+20203cfc
+d8e00005
+20203cf8
+d8e00004
+20203cfc
+d8e00004
+20203cf8
+6800c6bf
+f93ffe00
+6000c6bf
+20600000
+6800c6bf
+f9207e00
+6000c6bf
+20600000
+20403d39
+2040640f
+204040c6
+20403d66
+20406411
+20758000
+20403d16
+20403d19
+680246d3
+c3880000
+20403d4e
+c6130000
+68014682
+c28642b0
+202042a2
+680246d3
+c40d8000
+df200014
+58030d40
+20402a8f
+c2007ec1
+20600000
+680246d3
+c4080000
+202048ea
+5800416d
+600141ef
+58003f77
+600141f1
+58003ebb
+600141ed
+5800417c
+600141f5
+58003de3
+600141f3
+58003eb3
+600141eb
+58003d5b
+600141f9
+20402c7a
+58004401
+1a608ad8
+e0a10000
+58004406
+1a608ada
+e0a10000
+58003ebf
+1a608adc
+e0a10000
+580041f9
+600141fd
+58003d36
+60014201
+20600000
+680246d3
+c30964d7
+202064da
+20758000
+20402c9d
+20403e6e
+20403e1e
+20403e54
+20405810
+20405839
+2040582c
+20405818
+680246d3
+c28a3d46
+c289c414
+20600000
+2040659c
+680246d3
+2feffe19
+2440e5c2
+2040443f
+20403dc9
+204041aa
+202065df
+680246d3
+c30f3d53
+68008abd
+2fec0003
+24608000
+6800c71f
+6000c71e
+6800c6f5
+c3830000
+680246d3
+c4088000
+c28eaee4
+20202f2c
+68008478
+1fe67e1a
+24628000
+700a9912
+20407d8f
+d8e00000
+202041b9
+6800c6b6
+c1008000
+7046b601
+20600000
+6800c6e1
+1fe17e0f
+6000c77a
+20203d80
+6808c6e7
+2040681d
+2420bd62
+6800c6b6
+c1000000
+7046b600
+6800c77a
+1fe0fe01
+1fe17e03
+6000c77a
+20403d7e
+680246d3
+c28a443b
+c289bd79
+20600000
+d840001e
+2040680e
+d840001f
+2040680e
+20204435
+44f1c01c
+2040424a
+6800c6e0
+c002bdaa
+c0023d96
+6800c77a
+c0003d8a
+c000bd88
+c0013d8c
+c001bd8e
+6800c780
+20203dbe
+6800c77f
+20203dbe
+6800c781
+20203dbe
+6800c782
+20203dbe
+6800c6e0
+c1030000
+6800c6b5
+1fe0fe01
+6000c6b5
+20600000
+6800c77a
+c0003d9d
+c000bd9b
+c0013d9f
+c001bda1
+6800c784
+20203da2
+6800c783
+20203da2
+6800c785
+20203da2
+6800c786
+6000c6b5
+1fed7e00
+1fe22200
+1fe0fe0d
+20406413
+1a227e00
+1fe0fe0e
+20206413
+6800c77a
+c0003db1
+c000bdaf
+c0013db3
+c001bdb5
+6800c788
+20203db6
+6800c787
+20203db6
+6800c789
+20203db6
+6800c78a
+6000c6b5
+204040c0
+6800c6b5
+1fe0fe80
+1fed7e00
+1fe0fe05
+1fe22200
+2020415a
+6000c6b5
+20403d90
+6800c6b5
+58000006
+20406414
+1fe104f8
+6800c6b5
+9840fe00
+1fed7e00
+1fe0fe06
+20206413
+204033c4
+2022c316
+2040441c
+204042e4
+202033bd
+68014707
+207a0000
+680246d3
+c4088000
+c3818000
+c6130000
+20404083
+c1838000
+20404482
+d8e00003
+204043ce
+58000000
+600146ae
+6000c6b4
+20403263
+68014682
+c283c392
+c284b402
+c28033e9
+204042ca
+20202ead
+20403dce
+20407e34
+20403d6a
+20403de9
+20403ee0
+20203df7
+680246d3
+c4080000
+204048d3
+202048fd
+68108a04
+c303bdf1
+c283bdf4
+20600000
+6800c6ff
+c4038000
+2020659a
+6800c6ff
+c3838000
+20204381
+20403ded
+68108a04
+6000c6ff
+c4038000
+20403e07
+680246f9
+6808c6fd
+98408400
+1c427e00
+98467c00
+24610000
+600246f9
+20403f97
+24740000
+700d3804
+20203e0f
+680a46f9
+1c427e00
+98467c00
+24413e0c
+20600000
+58000000
+600246f9
+20600000
+68008d38
+c4010000
+20203e12
+68108a04
+c4038000
+700d5220
+58000001
+60008d54
+6803c69a
+e0a38000
+20600000
+68110050
+793ffe0b
+60110050
+20600000
+58008c00
+60014575
+58008e7a
+600144bc
+58002402
+600140bd
+58002580
+6001c0aa
+70417303
+70415608
+7046d901
+58000200
+60014154
+7044a617
+7044a817
+58000a77
+60014212
+38000306
+38044440
+38090000
+380c4408
+6004c577
+38001224
+38044000
+38080000
+e0a28000
+3803ffff
+3806fe23
+380999d9
+380c020d
+60044098
+5800012c
+60014707
+204057a3
+680246d3
+c40f8000
+20403e44
+20203e4c
+6808c6f7
+204067fb
+6808c6f7
+2040681d
+7046f603
+20608000
+7046f602
+20600000
+6808c6f8
+204067fb
+6808c6f8
+2040681d
+70422d00
+20608000
+70422d02
+20600000
+6800c22d
+c0003e59
+c000be62
+c0013e6b
+20203e59
+68094221
+68014227
+98467e00
+1feffe14
+1fe6fc64
+20407f86
+1807fe00
+600146d0
+20600000
+6809421f
+68014225
+98467e00
+1feffee6
+1fe6fd90
+20407f86
+1807fe00
+600146d0
+20600000
+68014223
+600146d0
+20600000
+6808c23a
+2040680e
+204048fb
+6808c6e2
+204067fb
+6808c6e3
+204067fb
+6808c6e4
+204067fb
+6808c6f3
+204067fb
+6808c6dc
+2040680e
+6808c6e8
+204067fb
+6808c6e9
+204067fb
+6808c6ea
+204067fb
+6808c6eb
+204067fb
+6808c6e5
+204067fb
+6808c6e6
+204067fb
+6808c6ef
+2040680e
+6808c6f0
+2040680e
+6808c6f1
+2040680e
+6808c6f2
+2040680e
+6808c6f4
+2040680e
+6808c6ed
+204067fb
+6808c6ec
+204067fb
+6808c6e7
+202067fb
+6808c6e8
+204067dd
+6808c6e9
+204067dd
+6808c6ea
+204067dd
+6808c6eb
+202067dd
+6808c6e8
+20403ea7
+6808c6e9
+20403ea7
+6808c6ea
+20403ea7
+6808c6eb
+20203ea7
+18467cff
+20628000
+18410e7f
+6812011c
+afefffff
+68120078
+f920fe00
+60120078
+6812007c
+fd20fe00
+6012007c
+20600000
+78347c00
+68120138
+79347e1a
+6012004c
+20402c21
+20404482
+20403e9f
+20203ebf
+20403ebf
+680080a0
+247a0000
+202067ed
+20403ee0
+d8400019
+680246d3
+2feffe12
+2040bede
+2040680e
+204063ee
+6808c6e2
+204067dd
+6808c6e3
+204067dd
+6808c6e4
+204067dd
+6808c6e5
+204067dd
+6808c6e6
+204067dd
+6808c6e7
+204067dd
+6808c6ed
+204067dd
+6808c6e8
+204067dd
+6808c6e9
+204067dd
+6808c6ea
+204067dd
+6808c6eb
+204067dd
+6808c6f3
+202067e1
+d840001e
+20600000
+44f2401c
+20403eee
+20403f36
+6800c6b8
+6808c6b7
+6000c6b7
+98467c00
+2422b3d4
+6800c6be
+6808c6bd
+6000c6bd
+98467c00
+2422b3d4
+20600000
+6800c6ea
+c17f8000
+da200000
+6808c6ea
+2040681d
+7920a200
+6808c6eb
+2040681d
+7920a201
+1a227e00
+6000c6b8
+c000befe
+c0013f02
+6800c6b9
+c283bf0e
+20600000
+6800c6b7
+c0003f06
+c001bf08
+20600000
+6800c6b7
+c0003f0a
+c001bf0c
+20600000
+7046b982
+20600000
+7046b981
+20600000
+7046b980
+20600000
+7046b983
+20600000
+6800c6b9
+793ffe07
+6000c6b9
+c0003f16
+c000bf19
+c0013f1c
+c001bf1f
+20600000
+6800c6b8
+c001bf22
+20600000
+6800c6b8
+c0003f22
+20600000
+6800c6b8
+c001bf2c
+20600000
+6800c6b8
+c0003f2c
+20600000
+6800c6bc
+1fe0fe01
+6000c6bc
+1fe67c01
+20610000
+7046bc00
+6800c6ba
+1fe0fe01
+6000c6ba
+20600000
+6800c6bb
+1fe0fe01
+6000c6bb
+1fe67c01
+20610000
+7046bb00
+6800c6ba
+1fe0ffff
+6000c6ba
+20600000
+6800c6e8
+c17f8000
+da200000
+6808c6e8
+2040681d
+7920a200
+6808c6e9
+2040681d
+7920a201
+1a227e00
+6000c6be
+c000bf46
+c0013f4a
+6800c6bf
+c283bf56
+20600000
+6800c6bd
+c0003f4e
+c001bf50
+20600000
+6800c6bd
+c0003f52
+c001bf54
+20600000
+7046bf82
+20600000
+7046bf81
+20600000
+7046bf80
+20600000
+7046bf83
+20600000
+6800c6bf
+793ffe07
+6000c6bf
+c0003f5e
+c000bf61
+c0013f64
+c001bf67
+20600000
+6800c6be
+c001bf6a
+20600000
+6800c6be
+c0003f6a
+20600000
+6800c6be
+c001bf6f
+20600000
+6800c6be
+c0003f6f
+20600000
+7046c200
+6800c6c0
+1fe0fe01
+6000c6c0
+20600000
+7046c100
+6800c6c0
+1fe0ffff
+6000c6c0
+20600000
+58000002
+6000c680
+20600000
+6800c1e2
+207a0000
+20405271
+247a0000
+680246d3
+c281bf8a
+c2803f8a
+c282bf8a
+20403f97
+24740000
+da200009
+20404d63
+6801424e
+e0a10000
+580002a1
+e0a10000
+6803c69a
+e0a38000
+20600000
+58000000
+6003c69a
+20203f81
+680146aa
+600146b0
+20600000
+44f2c01c
+da200007
+6809446f
+20405a64
+6803c69a
+e0a38000
+20600000
+44f3401c
+78547c00
+58000000
+6003469b
+20403fb5
+20404079
+2040407e
+20404099
+24740000
+20403f8d
+d8e00008
+202043ce
+6801469b
+1fe67e00
+6001469b
+20207fe7
+6801469d
+1fe67e00
+6001469d
+20207fe7
+6801469d
+1fe67e00
+6001469d
+6801469b
+1fe67e00
+6001469b
+20404002
+20207fe7
+20404002
+20207fe7
+6800c239
+c1800000
+6800c6e0
+c0003fe2
+c000bfe2
+c0013fe2
+c001bfe2
+c0023fc4
+c002c010
+c0033fe2
+20203fe2
+6800c6a7
+205a405d
+7046a701
+20600000
+20403fc0
+6808c6f3
+2040681d
+24608000
+58000000
+20406414
+c09840d1
+58000002
+20406414
+c4038000
+2040405d
+20403fde
+6000c6a1
+1ff1fe00
+20404169
+6000c69c
+6800c6a1
+1fe17e0f
+20404169
+6000c69e
+6800c6f6
+c0003fa3
+c000bfab
+c0013fa7
+c001bfb3
+20600000
+58000012
+20206414
+c018bfea
+202040d1
+20403fc0
+78547c00
+6808c6f3
+2040681d
+24608000
+58000000
+20406414
+c0983fe0
+58000002
+20406414
+c4038000
+2040405d
+6800c69b
+20404165
+6001469b
+6800c69d
+20404165
+6001469d
+6800c6f6
+c0003ffa
+c000bffc
+c0013ffe
+c001c000
+20600000
+20403fa3
+202040b3
+20403fab
+202040b3
+20403fa7
+202040b3
+20403fb3
+202040b3
+6801469d
+6809469b
+6001469b
+6009469d
+20600000
+2040640f
+20000064
+1a427e00
+20406414
+1fe22400
+20406411
+20000064
+1a427e00
+20600000
+78547c00
+6808c6f3
+2040681d
+24608000
+da400002
+20404007
+c4038000
+da400000
+20404007
+6000c6dd
+c09f4145
+6800c6a7
+205a4039
+7046a701
+20404039
+6800c6a1
+1ff1fe00
+20404169
+6000c69c
+6800c6a1
+1fe17e0f
+20404169
+6000c69e
+6800c6f6
+c0004031
+c000c035
+c0014033
+c001c037
+20600000
+6800c6a4
+c0004051
+c000c045
+20600000
+20403fa3
+2020402d
+20403fa7
+2020402d
+20403fab
+2020402d
+20403fb3
+2020402d
+2040640f
+2040405d
+dfe00005
+20406414
+6000c6a1
+dfe00007
+20406414
+6000c6a2
+dfe00008
+20406414
+6000c6a3
+20206411
+6800c6a2
+c1800000
+6800c6a3
+1fe67c2d
+20610000
+7046a400
+5800ba41
+20406405
+58000032
+20406405
+5800b541
+20206405
+6800c6a2
+c1800000
+6800c6a3
+1fe67c2d
+24610000
+7046a401
+5800ba41
+20406405
+58008032
+20406405
+5800b541
+20206405
+dfe00003
+20406414
+6001469b
+dfe00004
+20406414
+6001469d
+20600000
+d840001b
+204067fb
+d840001b
+2040681d
+20608000
+68108109
+79207e04
+60108109
+20600000
+6808c6c0
+68108109
+9840fe00
+207a0000
+6000c69f
+7046c000
+20207fe7
+6808c6c0
+68108109
+9840fe00
+6000c6c0
+20600000
+6800c6c0
+207a0000
+6000c69f
+7046c000
+20207fe7
+6800c6ba
+207a0000
+6000c6a0
+7046ba00
+20207fe7
+da200000
+6808c6e2
+2040681d
+7920a200
+6808c6e3
+2040681d
+7920a201
+6808c6e4
+2040681d
+7920a202
+20404090
+1a227e00
+20600000
+6800c6e5
+c17f8000
+6808c6e5
+2040681d
+7920a203
+6808c6e6
+2040681d
+7920a204
+20600000
+20404083
+204040a8
+204040a3
+1a227e00
+6808c69a
+6000c69a
+9842fe00
+1fe67c00
+20628000
+20207fe7
+c6930000
+1a227e00
+207a0000
+6000c69a
+20207fe7
+68014682
+c284c0ad
+68014682
+c28040b0
+20600000
+1a227e00
+243a5820
+20205822
+1a227e00
+243a2bc7
+20202bc9
+44f3c01c
+d840001a
+680246d3
+2feffe12
+2040c0be
+2040681d
+20608000
+5800000a
+20406414
+200003e8
+202040b3
+d840001f
+20600000
+680246d3
+c28940c4
+d840001a
+202067fe
+d840001f
+202067fe
+20403d36
+20758000
+204040c0
+6800c6e0
+c002c0d5
+204040d9
+c01840e0
+c018c0ea
+204040d1
+200003e8
+202040cb
+44f4401d
+680246d3
+c28963e0
+202063d1
+204040d9
+c01f414b
+20404145
+202040d5
+58000001
+20406414
+6000c6de
+58000000
+20406414
+6000c6dd
+20600000
+6800c6de
+c068c139
+c06940f8
+c00140ee
+c02a40e6
+20600000
+7046e002
+20600000
+7046e006
+20600000
+6800c6de
+c03840e8
+7046e001
+20600000
+7046e004
+204040f6
+58003426
+20406413
+58000419
+20406413
+58000009
+20206413
+58005a09
+20206413
+7046e003
+204040f6
+58000f0d
+20406413
+5800e31d
+20406413
+5800d27d
+20406413
+20404102
+2020411a
+5800351b
+20406413
+5800b428
+20406413
+58004629
+20406413
+5800962a
+20406413
+58008c2b
+20406413
+58006e2c
+20406413
+5800642d
+20406413
+58005f38
+20406413
+58000f39
+20406413
+5800323a
+20406413
+5800473b
+20406413
+58001042
+20206413
+58002e54
+20406413
+5800f255
+20406413
+5800f461
+20406413
+58007063
+20406413
+58005275
+20406413
+58004176
+20406413
+5800ed77
+20406413
+58002378
+20406413
+58004679
+20406413
+5800e57a
+20406413
+5800487c
+20406413
+5800777e
+20406413
+5800017f
+20406413
+5800000b
+20406413
+5800007f
+20406413
+202040f4
+7046e000
+204040f6
+5800100d
+20406413
+5800ed1d
+20406413
+5800807d
+20406413
+20404102
+58000943
+20406413
+2020411a
+6808c6dc
+20406829
+20407ec1
+6808c6dc
+20406825
+20207ec1
+7046e005
+5800ba41
+20406405
+58000d11
+20406405
+5800041b
+20406405
+5800041c
+20406405
+58000f1d
+20406405
+58000032
+20406405
+5800b541
+20206405
+5800ba41
+20406405
+20000fa0
+5800ff7f
+20406405
+1a227e00
+20406405
+5800007f
+20406405
+5800b541
+20206405
+c4038000
+d840ff00
+9841fe00
+20600000
+c4018000
+d84000f0
+9841fe00
+20600000
+20405892
+247a0000
+6800c6c5
+1fe17e03
+c1818000
+680246d3
+c281c179
+c2804179
+c282c179
+20403f97
+24740000
+20203f90
+58000000
+6003c69a
+20203f90
+1a627e00
+c00a41c3
+c000c2ca
+c00ac1d9
+c00141d9
+c002c1d6
+c008426c
+c009429b
+c00341d5
+c00241cc
+c009c1cc
+c00541ca
+c01733cd
+c018c1b4
+c01941b6
+c01f4191
+c013c38e
+c01cc19c
+c01d4192
+c01e419a
+20600000
+20203410
+70478b01
+6800c71e
+243a4492
+6800c720
+6808c703
+98467c00
+2022b40a
+20600000
+70478b01
+20600000
+70478b01
+d8e00003
+204043d2
+58000000
+60014707
+7046a700
+6800c6e0
+1fe67c05
+2042c039
+2442c05d
+68008004
+c289c1af
+204041aa
+202065d1
+20402c7a
+1a60a2ae
+da40005b
+d8400004
+20600000
+20402c7a
+1a60a4ae
+ea408000
+6000c77b
+20204435
+d8e00002
+202041b9
+7046c602
+d8e00001
+202041b9
+6800c6c5
+f9207e00
+6000c6c5
+20600000
+6800c6c5
+f93ffe00
+6000c6c5
+20600000
+7046c500
+20600000
+6801420a
+793ffe00
+6001420a
+58000000
+600146ae
+20403f8d
+202042ca
+204063cb
+202033dd
+6800c71e
+243a4492
+68014682
+c28642b0
+680246d3
+c28041d7
+c282c2b0
+c281aead
+202033a7
+20203f74
+20600000
+204043c0
+2020659a
+44f4c01d
+204041e7
+680246d3
+c28041d7
+c281aead
+6800c71e
+243a4492
+68014208
+c283c1f5
+c28033a9
+c280c1ef
+c28141f2
+c281c1f2
+202042b0
+58000000
+600446b7
+e0a20000
+7046b400
+7046a700
+7041e200
+70442900
+20600000
+c282c1f2
+c281c1f2
+202042b0
+68014682
+c28642b0
+202033a7
+204041c1
+68014208
+c28033a9
+202033a7
+204043d6
+20404243
+20404246
+20404250
+2040445d
+20404443
+20404333
+204043a5
+204043eb
+20404209
+20404231
+20404234
+20404237
+2040423a
+2040423d
+20204240
+6800c711
+207a0000
+1fe0ffff
+6000c711
+247a0000
+2020420f
+6800c712
+c1000000
+c002c216
+20404225
+70471205
+70471105
+20600000
+2040422c
+70471204
+70471105
+20600000
+58008006
+20406413
+200003e8
+70471100
+70471200
+202040e0
+5800a006
+20406413
+5800a005
+20206413
+70471100
+6800c6e0
+c0024220
+58000106
+20406413
+5800a105
+20206413
+70471100
+58000906
+20206413
+70471105
+70471201
+20600000
+da604680
+da40429b
+2020336d
+da6046ac
+da404264
+20203374
+da6046ae
+da404266
+20203374
+da6046b0
+da40426a
+20203374
+da6046c4
+da404478
+2020336d
+da6046c6
+da40425e
+2020336d
+da604704
+da404249
+2020336d
+da604707
+da404249
+20203374
+20600000
+680246d3
+c40b8000
+7046df0a
+6800c6f4
+6000c715
+20600000
+da6046df
+da404253
+2020336d
+6800c6f4
+6000c715
+58000190
+60014716
+60014718
+da200000
+6808c77a
+18408401
+6008c714
+70471301
+20600000
+6800c6c5
+c3810000
+700a9912
+20407d8f
+d8e00000
+202041b9
+204042ca
+2020340a
+204033f6
+6800c71e
+243a4492
+2020340a
+c5137e1d
+20204386
+44f5401d
+7046b400
+20404386
+204041c1
+202042b0
+680341d0
+203a33eb
+2040427e
+70016d17
+6800c65a
+243a33e1
+70016d04
+202033e1
+680146a8
+600146ae
+2040427e
+20403418
+20207df4
+580000c8
+60014716
+60014718
+20204285
+580003e8
+60014716
+60014718
+6800c720
+c000c28a
+c001428c
+c001c28e
+20600000
+6800c6f0
+2020428f
+6800c6f1
+2020428f
+6800c6f2
+60008aa2
+20404482
+68008aa2
+6000c715
+da200000
+70471301
+20207d1e
+da200000
+20207d19
+da200000
+20207d14
+202041c1
+7041e201
+20403416
+20403412
+58000000
+6001467e
+6000c680
+2020340e
+2040435f
+6800c720
+6808c703
+98467c00
+2022c2ab
+6800c210
+c019c271
+c01a4279
+202042b0
+20403d57
+c6130000
+6800c71e
+243a4492
+20600000
+44f5c01d
+68014682
+c285c2b7
+680246d3
+c30c42b7
+180a7e00
+6000c4a1
+20403418
+68014687
+600146ac
+70016d06
+58000000
+600146b0
+600146ae
+d8e00007
+204043ce
+204043ca
+6800c092
+2feffe01
+2040fdf4
+6800c092
+2feffe00
+2040fddd
+680246d3
+c28e422e
+20204282
+44f6401d
+6800c092
+2feffe01
+2040c2d4
+6800c092
+2feffe00
+2040c2d7
+680246d3
+c28e421a
+20204482
+58000000
+600146ae
+20207dfa
+58000000
+600146ac
+20207de2
+680246d3
+c4038000
+d8e00007
+204043d2
+204042e8
+204042fb
+680246d3
+c289c435
+c28a42e4
+20600000
+d8400058
+da204720
+da400000
+202065d1
+68008185
+c01a42ec
+c019c2ef
+20600000
+6000c6c7
+6803044f
+202042f1
+6000c6c7
+68030040
+600346c8
+6803c6c7
+d8c04721
+df200003
+e8cb8000
+98467c00
+2022c310
+18c08c16
+c20042f5
+20600000
+da204721
+6800c720
+1fe0ffff
+1feffe1d
+9a20a200
+68008185
+e2208000
+c01a4305
+c019c30c
+20600000
+6803044f
+e0a30000
+d8c04419
+20407ebf
+680344a0
+e0a30000
+20600000
+68030040
+e0a30000
+d8c041be
+20207ebf
+18c08dfa
+18c20a00
+680b46c8
+18408403
+e0ab0000
+20600000
+d8400058
+da204720
+da400000
+204065df
+da204721
+6800c720
+6808c703
+98467c00
+20628000
+1fe0ffff
+1feffe1d
+9a20a200
+ea208000
+6000c210
+c019c327
+c01a432c
+20600000
+e8c30000
+600341d0
+d8a041be
+20407ebf
+202067d7
+e8c30000
+600341d0
+d8a04419
+20407ebf
+e8c30000
+600344a0
+20600000
+6800c6f5
+c282c349
+c2834359
+20204337
+20404083
+c003433e
+7046d81e
+6800c6d9
+c1008000
+7046d901
+20600000
+20404343
+6800c6d9
+c1000000
+7046d900
+202043c0
+6800c6d8
+207a0000
+1fe0ffff
+6000c6d8
+247a0000
+20204370
+6800c6ed
+c17f8000
+6808c6ed
+2040681d
+2020c354
+6800c6d9
+c1008000
+7046d901
+680246d3
+c3830000
+20204370
+6800c6d9
+c1000000
+7046d900
+d8e00006
+202043d2
+68008004
+c4030000
+6800c720
+c000c369
+c001436c
+20600000
+68008004
+c4030000
+6808c6ed
+2040681d
+2020c366
+70472001
+20600000
+6800c703
+6000c720
+20600000
+6808c6ed
+2420c370
+20600000
+6808c6ed
+2040681d
+2020c354
+20600000
+6808c720
+18408401
+6800c6d2
+98467c00
+244143cc
+6008c720
+7041bd00
+2040437a
+204043c0
+2020437e
+d8400001
+da204720
+da400000
+20206606
+20404381
+204043c2
+202041d7
+68014682
+c283c392
+c284b402
+c28033e9
+202042ca
+44f6c01d
+58000000
+600146b0
+68014682
+c284b402
+68014682
+c28033e9
+20600000
+58000001
+60030040
+70018533
+202042df
+204043c4
+20207e2f
+6800c6ec
+c17f8000
+6808c6ec
+2040681d
+2020c39f
+6800c685
+6000c6da
+6800c6db
+c1008000
+7046db01
+202043ca
+204043b5
+6800c6db
+c1000000
+7046db00
+20407e2f
+202043c8
+6800c6f5
+c2824394
+20404083
+c003c3af
+6800c685
+6000c6da
+6800c6db
+c1008000
+7046db01
+202043ca
+204043b5
+6800c6db
+c1000000
+7046db00
+20407e2f
+202043c8
+da6046da
+da4043b8
+2020336d
+d8e00006
+204043ce
+20403357
+2020426c
+d8e00001
+202043ce
+d8e00001
+202043d2
+d8e00000
+202043ce
+d8e00000
+202043d2
+d8e00002
+202043ce
+d8e00002
+202043d2
+d8e00005
+202043ce
+d8e00005
+202043d2
+d8400001
+20600000
+680246d3
+f9207e00
+600246d3
+20600000
+680246d3
+f93ffe00
+600246d3
+20600000
+680246d3
+c40d0000
+6800c6ce
+1fe0fe01
+6000c6ce
+1fe67c0a
+20610000
+7046ce00
+204068eb
+20406908
+6001470f
+da204709
+20406930
+6800c231
+c280c4a0
+c30043e9
+202043e7
+d8e00004
+202043ce
+d8e00004
+202043d2
+680246d3
+c4020000
+6800c6ef
+6000c715
+6800c6cf
+1fe0fe01
+6000c6cf
+1fe67c14
+244143f9
+c00143fb
+c00243fe
+c00343fb
+c00443fe
+20600000
+7046cf01
+202043fe
+da200000
+70471302
+20207d14
+da200000
+70471302
+20207d19
+20403f97
+24740000
+da200007
+da40469a
+20600000
+6800c78b
+207a0000
+6808c6e7
+2040681d
+2040c410
+6800c704
+247a0000
+20404083
+247a0000
+20202d83
+6800c6e7
+c17f8000
+7047040a
+20600000
+20404423
+68014778
+d840aa55
+98467c00
+2022c42b
+60094778
+2040441c
+20204435
+680344a0
+60034738
+1fe0ff00
+60034755
+1fe0ff00
+60034772
+20600000
+58004778
+d8404720
+98460400
+6801c700
+9840fe00
+d8400002
+da204778
+20206562
+5800477f
+d8404720
+98460400
+6801c700
+da204720
+20406562
+2040431a
+6802477b
+20402c7a
+2020322c
+5800477f
+d8404720
+98460400
+da204720
+6801c700
+20206514
+d8400001
+da20477a
+da40005a
+202065d1
+d8400001
+da20477a
+da40005a
+202065df
+c6130000
+680246d3
+c40b0000
+6800c705
+1fe0fe01
+1fe17e07
+6000c705
+c1838000
+68014682
+c280444f
+c284c44f
+20600000
+44f7401d
+6800c706
+247a0000
+680246d3
+c4040000
+6800c6a5
+204063fb
+6000c6a6
+1fe67c10
+2021445b
+70470600
+20600000
+7047061e
+20600000
+da604706
+da404460
+2020336d
+6800c6a5
+20406414
+1fe67c10
+24610000
+680246d3
+c4040000
+d8e00008
+204043d2
+70417200
+7046c41e
+20404482
+680246d3
+c28ac471
+6800c720
+c000c489
+c0014476
+20600000
+6800c720
+c000c489
+c001448c
+c001c48f
+20600000
+6800c6f0
+2020428f
+70417220
+20204482
+6800c6f0
+c17f8000
+6000c715
+20204296
+6800c6f1
+c17f8000
+6000c715
+20204296
+20404296
+2040447a
+2040447e
+6800c6f2
+c17f8000
+6000c715
+20204296
+6800c6f0
+6000c715
+20204298
+6800c6f1
+6000c715
+20204298
+6800c6f2
+6000c715
+20204298
+44f7c01d
+6800c71e
+1fe0ffff
+6000c71e
+6808c720
+18408401
+6800c6d2
+98467c00
+244143cc
+6008c720
+7041bd00
+2040437a
+204042fb
+202042a2
+20404482
+58000000
+600400a1
+20202b1f
+20758000
+68108081
+1fe17ef0
+60108081
+20406948
+580044e6
+600141eb
+580044e9
+600141ed
+580044ef
+600141f3
+580044f2
+600141f5
+580033d0
+600141e9
+20402c7a
+580045c2
+1a608ad8
+e0a10000
+580044ea
+1a608ada
+e0a10000
+580044e9
+1a608adc
+e0a10000
+5800450e
+600141fd
+580044da
+6001475b
+580044d6
+6001475f
+58004560
+6001470f
+44f8401e
+204044e2
+20407e38
+70417202
+6800c72b
+6000c69a
+c00044d5
+6800c72c
+6000c686
+204044db
+20407cd3
+20407cdd
+70475701
+68014682
+c3860000
+2020340a
+70475702
+204044db
+da200000
+20407d1e
+20202ee4
+202044db
+44f8c01e
+6800c729
+c0ffc4e0
+6808c706
+2020680e
+6000c706
+202044de
+20402c9d
+68014753
+60014755
+20204515
+20406835
+204044e9
+2020340a
+2020696c
+6800c765
+207a0000
+20202d83
+20600000
+20206978
+20404544
+20404503
+202044ee
+1a627e00
+c016b431
+c008341a
+c01cc4fb
+c01e44ff
+c01d44f9
+20600000
+70476501
+20600000
+70476501
+70476301
+70476401
+20600000
+70476501
+70476301
+70476401
+20600000
+6800c763
+c1000000
+6800c762
+c1008000
+70476201
+da200000
+20207d19
+da200000
+20407d19
+204044db
+2020340a
+2040337b
+20204510
+6800c72d
+207a0000
+da604755
+da40450a
+20203374
+2040451a
+6009471a
+2040451f
+6009471c
+20600000
+6801471a
+6001471e
+20404540
+20404525
+6000c724
+6801471c
+6001471e
+20404542
+20404525
+6000c725
+20600000
+68014720
+1fe22200
+6801471e
+2040452e
+6800c719
+243a4537
+24610000
+6809471e
+20600000
+98467e00
+20214534
+1fe67e00
+70471801
+9a267c00
+20600000
+70471800
+9a267c00
+20600000
+2421453e
+6800c718
+243a453c
+58000001
+20600000
+58000002
+20600000
+58000000
+20600000
+70422e33
+202068eb
+70422e34
+202068eb
+6800c72a
+c1808000
+44f9401e
+70471901
+2040451a
+68014724
+68094722
+98467c00
+20628000
+60014722
+20404550
+20204554
+6800c724
+203a455a
+1fe0ffff
+20204557
+6800c725
+203a455d
+1fe0fe01
+1fe20e00
+da200001
+20204560
+d8e00000
+da200000
+20204560
+d8e00002
+da200000
+20204560
+1a227e00
+6000c761
+6800c763
+c0002ee4
+68014753
+60014755
+6800c761
+203a4580
+44f9c01e
+da200000
+20407d14
+18e27e00
+c00245a3
+c002c5a5
+c00345a7
+2040458b
+c0004574
+c001457a
+c001c574
+20600000
+18e27e00
+c000458f
+c000c591
+c0014593
+c001c595
+20600000
+18e27e00
+c0004597
+c000c59a
+c001459d
+c001c5a0
+20600000
+44fa401e
+da200000
+20407d19
+18e27e00
+c00245bc
+c002c5bc
+2040458b
+c00045a9
+c00145af
+c001c5a9
+20600000
+6800c728
+6808c727
+9841fe00
+20600000
+70473401
+202045be
+70473402
+202045be
+70473601
+202045be
+70473602
+202045be
+70473401
+70473601
+202045be
+70473402
+70473602
+202045be
+70473402
+70473601
+202045be
+70473401
+70473602
+202045be
+70473801
+202045be
+70473802
+202045be
+70474101
+202045c0
+18e27e00
+c00045b5
+c000c5b5
+c00145b7
+c001c5b7
+20600000
+18e27e00
+c00045b9
+c000c5b9
+c00145b9
+c001c5b9
+20600000
+70473400
+202045be
+70473600
+202045be
+70473400
+70473600
+202045be
+70473800
+202045be
+da20472e
+20207e3d
+da20473b
+20207e3d
+6800c764
+c000c5cc
+da204744
+20407e54
+243445d1
+d8c04744
+e8c08000
+1fe22200
+da404745
+20600000
+70476400
+78347c00
+da200001
+da404766
+20600000
+6800c747
+c00245d5
+c002c5d5
+20600000
+6800c74a
+243a45dc
+6800c74c
+243a45dc
+6800c74e
+243a45dc
+20600000
+78347c00
+202045c7
+20758000
+68108081
+1fe17efc
+60108081
+580046b4
+600141eb
+580046b3
+600141ed
+5800340a
+600141f7
+580046b1
+600141f3
+58004612
+600141f5
+5800460c
+600141e9
+5800476a
+600141f9
+58004686
+600141fd
+58004729
+600146e7
+58004806
+600146e2
+58004807
+600146e4
+204057a3
+204047da
+20404788
+2040476d
+20406948
+2040477a
+20407e38
+20407d08
+20404793
+204047c7
+44fac01e
+2040464f
+6800c6dd
+c0004609
+6800c6de
+6000c686
+2020480e
+704686ff
+7046df01
+202046d9
+6800c6df
+c00133d0
+2040527e
+6800c256
+243a33d0
+202033d2
+1a627e00
+c000c626
+c0014629
+c0024631
+c002c633
+c0034635
+c003c638
+c009463c
+c009c644
+c013c645
+c0174648
+c01ec649
+c00a4658
+c00ac65c
+c01fc65f
+c0204665
+c008466b
+c016466c
+c016c677
+20600000
+7046ad00
+7046ac00
+20600000
+2040462b
+20204631
+7041e200
+70468000
+70420500
+7046ac00
+7046ad00
+20207e38
+204033a9
+202046c2
+204046b6
+20203408
+58000002
+6000c680
+20600000
+7046ac00
+58000001
+6000c6ad
+20600000
+6800c1e2
+c1008000
+7041e201
+20403416
+20403414
+204046b6
+20403408
+2020340e
+20204631
+58000005
+6000c6ac
+20600000
+202033cd
+da400000
+6800c217
+1fef8422
+68014215
+1fe22200
+20206606
+da400000
+6800c69a
+c4008000
+6800c217
+207a0000
+1fef8422
+68014215
+1fe22200
+202065df
+204046b6
+58000000
+600146b7
+20203408
+20407e38
+7046b000
+202046d9
+20407e38
+7046b001
+680446c1
+60044496
+20403416
+20205abf
+68014509
+c1000000
+680446c9
+207a0000
+60044496
+20205abf
+2020481f
+6800c6dd
+c1000000
+6800c6df
+c1808000
+20404672
+20203406
+7048df01
+df20000b
+d8a048e0
+d8c048c9
+20207f01
+6800c6dd
+c1000000
+6800c6df
+c000c67c
+2020481b
+6800c8df
+c1808000
+7048df00
+68014682
+c2803408
+c284b408
+df20000b
+d8c048e0
+d8a048c9
+20207f01
+2040468c
+20404693
+2040469e
+204046a6
+204046a9
+202046ac
+da6046db
+da40468f
+20203374
+7046df02
+20403408
+204046f4
+2020480b
+da6048ec
+da404696
+2020336d
+68014682
+c284c80b
+c280480b
+6800c8c9
+c000c80b
+c002480b
+c002c80b
+2020340a
+da6046ac
+da4046a1
+2020336d
+6800827f
+79207e00
+79207e07
+6000827f
+20600000
+da604680
+da40463c
+2020336d
+da6046ad
+da4033e9
+2020336d
+6800c6df
+c1808000
+da6046b7
+da4046c2
+20203374
+2040473a
+20206978
+2020696c
+20406835
+202046b3
+6800c69a
+c280c6be
+c28046ba
+20600000
+680146d7
+600146d9
+600146db
+202033f8
+680146d3
+600146d9
+600146db
+202033f0
+6800c6df
+c1808000
+6800c69a
+c280c6c8
+c28046cc
+20600000
+680146d1
+600146d9
+600146db
+202033eb
+68014682
+c3848000
+680146d5
+600146d9
+600146db
+680146b3
+204046f0
+20403404
+680246bd
+600248cc
+68014682
+c3858000
+202033fa
+6800c6df
+c1808000
+6800c69a
+c280c6df
+c28046e4
+20600000
+204046f8
+203a46c2
+20403406
+204033f0
+202033e1
+680146b7
+680946b5
+600946b7
+247a0000
+680146b1
+204046f0
+20403404
+680246b9
+600248cc
+68014682
+c3858000
+202033fa
+60014154
+1fe0fffc
+60014482
+20600000
+68014682
+c284b402
+c28033e9
+202046b6
+6800c217
+1fe27200
+68014215
+1fe22200
+ea210000
+c0004701
+1a20a222
+c20046fc
+20207ff1
+e8c30000
+600341d0
+18c08c0a
+d8a041be
+20407ebf
+204067d7
+20207fef
+20407fe9
+68014682
+c280470d
+c284c710
+20600000
+6800c253
+c19f8000
+20207fe7
+6800c6b0
+207a0000
+20207fe7
+20407fe9
+68014682
+c3800000
+c3848000
+20207fe7
+6800c69a
+c280c71c
+c280471f
+20600000
+6800c093
+c1818000
+202046d9
+202046d9
+78567c00
+680146d9
+600146db
+20404713
+20344718
+20404708
+24740000
+78367c00
+20600000
+20404720
+24760000
+1a227e00
+203a4730
+20403406
+da6046f1
+20204732
+20403408
+da604719
+dfe00005
+98effe00
+9a60a600
+ea608000
+207a0000
+20404762
+1a60a601
+20204735
+68014682
+c284c73e
+c280474e
+20600000
+20405892
+247a0000
+20404765
+24740000
+1fe0ffff
+1feffe05
+d8404741
+98408c00
+e8c08000
+1fe22200
+e8c90000
+20407ea5
+20405a64
+1a227200
+20407e9f
+20207f01
+20405271
+247a0000
+20404765
+24740000
+1fe0ffff
+1feffe05
+d84047a0
+98408c00
+e8c28000
+6002c79b
+6800c79b
+1fe22200
+20404d63
+6801424e
+e0a10000
+580000a1
+e0a08000
+6802479c
+e0a48000
+20600000
+60008a9a
+da200a9a
+20207e3d
+da200a9a
+20407e54
+24740000
+68008a9a
+20600000
+68010478
+c00c465f
+20600000
+58000002
+6000c8eb
+58200008
+600246c1
+592c0005
+e0a20000
+7044a617
+5800001b
+600144fa
+20405810
+2040582c
+20405839
+20205818
+df200028
+d8a04741
+d8c0949f
+20407ef4
+df200028
+d8a047a0
+d8c094c7
+20207ef4
+df20017e
+d8c0913a
+20207ef4
+df2001e7
+d8c092b8
+20207ef4
+204047ae
+24740000
+6800c69f
+20404790
+6800c6a0
+20404790
+6800c6a1
+20204790
+207a0000
+1fe18480
+202067f9
+204047ae
+24740000
+20404797
+202047b4
+da200000
+6800c69f
+204047a9
+7d3a2200
+6800c6a0
+204047a9
+7d3a2201
+6800c6a1
+204047a9
+7d3a2202
+1a227e00
+6000c6a9
+6800c69e
+9a2ffe00
+6809469c
+9840fe00
+600146aa
+20600000
+207a0000
+1fe18480
+2040681d
+2420fff1
+20207fef
+20407fe9
+6800c6a8
+247a0000
+6800c69b
+207a0000
+20207fe7
+2040666a
+680146aa
+da200ac2
+6808c69e
+204066b3
+2040666d
+68008ac2
+1fe27200
+6000c3af
+20407ef4
+68008ac2
+1fe27200
+6000c515
+20407ef4
+e8c08000
+6000c6e6
+e8c08000
+6000c6dd
+20600000
+6800c69a
+c4008000
+d8400003
+680146a4
+1fe22400
+da2046a6
+204065df
+680946a6
+58001b3a
+98467c00
+24628000
+6800c6a8
+207a0000
+1fe20400
+680146a4
+1fe0a403
+da200ac2
+204065df
+202047e8
+680146a2
+207a0000
+2040666a
+d8400001
+da2046a8
+204066b3
+6800c6a8
+207a0000
+680146a2
+1fe0fe01
+da200ac2
+6808c6a8
+204066b3
+2040666d
+204047ba
+e8c10000
+207a0000
+1fe20a00
+e8c88000
+18427200
+20407f01
+202047e9
+6800c69a
+c4008000
+680146ae
+1fe22400
+d8400004
+da200ac2
+204065df
+68008ac2
+c080c7f9
+58000001
+60008ac2
+18007203
+2040630d
+680146ae
+1fe22400
+d8400004
+da200ac2
+20406606
+68018ac3
+6001c0a0
+6001c4a0
+20600000
+202046d9
+da200000
+da6048d4
+20407d24
+204046f4
+6800c8eb
+6000c8ec
+20600000
+58000000
+20404816
+70467901
+20407cd3
+20407cdd
+68014682
+c3860000
+2020340a
+6809423f
+e0408000
+e8a08000
+6000c685
+20600000
+6801423f
+efe08000
+c1800000
+2020340a
+6809423f
+e8408000
+c000c82a
+58000001
+6809423f
+e0408000
+18408c02
+e8c08000
+e0a08000
+e8c10000
+20207f9c
+58000002
+20404816
+18408c05
+e8c10000
+203a340a
+20207f9c
+60030101
+68008101
+6000810c
+e8c08000
+6000810b
+e8c08000
+6000810a
+e8c08000
+60008109
+e8c08000
+60008108
+e8c08000
+60008107
+68030107
+20600000
+204068a2
+6800c223
+6000c4a0
+6800c225
+e0a08000
+6800c227
+e0a08000
+6801c4a0
+6001c0a0
+20600000
+68014203
+9a40fe00
+1ff0fe00
+600101f7
+18422400
+2040489b
+580000a0
+2040488d
+680081f7
+2040488d
+c5144856
+680081f8
+2040488d
+204048a1
+2040489b
+580000a1
+2040488d
+2040487f
+e2208000
+1a20a201
+1a40a5ff
+2422c85a
+202048a1
+1a50fe00
+600101f7
+18422400
+2040489b
+580000a0
+2040488d
+680081f7
+2040488d
+c514486b
+680081f8
+2040488d
+ea208000
+2040488d
+1a20a201
+1a40a5ff
+2422c86b
+202048a1
+df20000a
+204048be
+204048a6
+204048d2
+204048c7
+203a48a9
+c2004875
+202048a9
+204048a9
+204048af
+204048d2
+204048a6
+204048d2
+202048a9
+df200008
+da600000
+204048be
+204048a6
+204048d2
+1a63a600
+204048c7
+9a60a600
+204048d2
+204048a9
+c2004882
+20404879
+1a627e00
+20600000
+df200008
+1fe22600
+204048a9
+2a6ffe07
+2040c8ac
+2440c8af
+1a63a600
+204048d2
+204048a6
+204048d2
+204048a9
+204048d2
+c2004890
+20204871
+204048ac
+204048a6
+204048d2
+204048af
+204048d2
+202048a9
+204048af
+204048a6
+204048d2
+204048ac
+202048d2
+78347c00
+6800cffe
+202048b2
+78547c00
+6800cffe
+202048b2
+78347c00
+6800cfff
+202048b2
+78547c00
+6800cfff
+202048b2
+1fe10e07
+1fe97e00
+d8408070
+98408400
+e8408000
+f9207e00
+e0408000
+18408404
+e8408000
+f9347e00
+e0408000
+20600000
+6800cfff
+1fe10e07
+1fe97e00
+d8408070
+98408400
+e8408000
+f93ffe00
+e0408000
+20600000
+20000004
+6800cfff
+1fe10e07
+1fe97e00
+d840811c
+98408400
+58000000
+e8488000
+a84fffff
+7920fe00
+20600000
+20600000
+44fb401e
+68108a26
+2feffe07
+2040c8ea
+2040492e
+68108a26
+60008b22
+68108a27
+60008b23
+60108a27
+1fe47e00
+68088d37
+98417e00
+60008d37
+708a26e0
+68008b23
+2fe00201
+2040c941
+68008b22
+2fe00201
+2040c94a
+20404b61
+20204903
+44fbc01e
+20404919
+708a0000
+20002710
+708a10c0
+68110050
+793ffe0a
+60110050
+708a003c
+708a26ff
+708a27ff
+708a0400
+700c6b02
+58000d9d
+d8a00c6e
+98a67200
+20207ed4
+68088c6c
+202067fb
+68008d45
+207a0000
+68088c6c
+2040681d
+2020c8ea
+20600000
+d8e00000
+20407f16
+247a0000
+68008d46
+247a0000
+68008d45
+245a4bb7
+20600000
+d8a00b68
+38011212
+38048000
+38080000
+380d0000
+e0a48000
+38022412
+38048604
+38081000
+380c0008
+e0a48000
+38000001
+e0a08000
+20600000
+700c6b02
+58000000
+60008b67
+60010c65
+1fe0fe01
+60010c67
+1fe0fe01
+60010c69
+58008ffa
+60010b7c
+5800903a
+60010b7e
+d8a00b80
+d8c090fe
+20407eb3
+68008c6d
+245a492b
+2020490b
+60008ba2
+60008bbb
+20600000
+68108a26
+c2834931
+20600000
+20404936
+20407f15
+58000280
+d8e00000
+20207f08
+68008d36
+c081493b
+700d4600
+700d4700
+20600000
+68008d53
+207a0000
+700d5300
+700d3602
+700d4501
+20600000
+708a2701
+20204b37
+68008b22
+c2824955
+20600000
+68108a18
+e0a08000
+c2004946
+20600000
+44fc401f
+708a2611
+68108a20
+60008b24
+1fe27200
+203a4943
+d8a00c6e
+20404946
+68008b24
+1fe67c07
+20610000
+68008c6e
+1fe17e80
+c040495a
+c0004962
+20202a8c
+68008c6e
+1ff1fe00
+1fe37e00
+1fe17e03
+c000496a
+c000c970
+c0014975
+20202a8c
+68008c6e
+1ff1fe00
+1fe37e00
+1fe17e03
+c0004976
+c000c97e
+c0014983
+20202a8c
+68008c6f
+c004498a
+c00349a0
+c00549ea
+c00049fc
+20204984
+68008c6f
+c0014a2f
+c000ca33
+c001ca45
+20204984
+20204984
+68008c6f
+c000ca4f
+c001ca79
+c002caa3
+c004cabc
+c005cad7
+c003c984
+20204984
+68008c6f
+c0054ae8
+c004caf9
+c005cb11
+20204984
+20204984
+68108a11
+79207e00
+60108a11
+20204988
+708a1240
+20600000
+68008c6e
+c0c04984
+68008c72
+c0804984
+68008c73
+c0804984
+68008c74
+c080c984
+68008c75
+c0804984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c6b
+c002499c
+c001c99e
+20204984
+da400001
+20204a14
+da400001
+20204a12
+44fcc01f
+793f8023
+68008c71
+c000c9b6
+c00149cf
+c001c9d2
+c010c9a9
+c01149e0
+20204984
+700d4b00
+68008c72
+c00049ae
+c000c9b2
+20204984
+da200b93
+ea208000
+98002400
+20204b21
+da200bac
+ea208000
+98002400
+20204b21
+68008d48
+245a49c7
+58000b68
+68088b68
+60010d3f
+60088d41
+68008c74
+98467c00
+242149c5
+68008d41
+98002400
+68010d3f
+1fe0fe01
+98002200
+20204b21
+68008c74
+202049c0
+68108a04
+245a49cb
+700d4800
+20600000
+68108a04
+79207e07
+60108a04
+20600000
+58000b80
+68088b80
+202049ba
+68008c70
+1fe67c03
+24214984
+68008c70
+da200be4
+c0004b1e
+79200023
+da200be9
+c000cb1e
+da200c07
+c0014b1e
+da200c47
+c001cb1e
+20600000
+68010c72
+c000c9e5
+68010b7c
+1fe22200
+20204b1e
+700d4501
+700d3601
+68010b7e
+1fe22200
+20204b1e
+68008c6b
+c0824984
+68008c6e
+c0c0c984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c74
+c080c984
+68008c75
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+da400001
+20204a12
+68008c6b
+c0014984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c74
+c0814984
+68008c75
+c0804984
+68008c73
+c0804984
+68008c6e
+c0404a0d
+c040ca18
+c0414a1c
+20204984
+68008c72
+c0804984
+da400002
+68008d39
+c000ca16
+da200c65
+20204b21
+da200c67
+20204b21
+da200c69
+20204b21
+68008c6b
+c0824984
+da400002
+20204a12
+68008c6b
+c0824984
+68008c72
+c040ca29
+c0414a2b
+c041ca2d
+1fe17e7f
+c0004a25
+20204984
+68008d3b
+da400002
+c000ca14
+20204a12
+68008d3c
+20204a26
+68008d3d
+20204a26
+68008d3e
+20204a26
+700d4c01
+da200d4d
+da400001
+20204b21
+68010c70
+d84001ba
+98467c00
+2422c984
+793f8023
+68008d42
+243a4a42
+700cf600
+68008c74
+98002400
+da200cf6
+20404b21
+d8a00cf6
+df200008
+20207ec6
+700d4200
+700cf601
+20204a3b
+68008c74
+c080c984
+700d4b01
+da400001
+68008d49
+c0004a4d
+c000ca4e
+20204a12
+20204a14
+20204a12
+68008c6b
+c0824984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c71
+c0804984
+68008c73
+c0804984
+68008c6e
+c0004a5e
+c000ca66
+c0014a67
+20204984
+68008c70
+c080c984
+68108a00
+793ffe07
+60108a00
+700d3900
+700d3a01
+20204988
+20204984
+68008c70
+c0804984
+68008c72
+c040ca72
+c0414a75
+c041ca77
+1fe17e7f
+c0004a70
+20204984
+700d3b00
+20204988
+700d3c00
+700d5301
+20204988
+700d3d00
+20204a73
+700d3e00
+20204a73
+68008c74
+c0804984
+68008c75
+c0804984
+68008c6e
+c0004a82
+c000ca8f
+c0014a90
+20204984
+68008c70
+c080c984
+68108a00
+79207e07
+60108a00
+700d3901
+700d3603
+700d4300
+20404988
+20407f15
+58001388
+d8e0000f
+20207f08
+20204984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c72
+c040ca9d
+c0414a9f
+c041caa1
+1fe17e7f
+c0004a9b
+20204984
+700d3b01
+20204988
+700d3c01
+20204988
+700d3d01
+20204988
+700d3e01
+20204988
+68008c6e
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c71
+c0804984
+68008c70
+1fe17e80
+c0804984
+68008c70
+c0804aba
+700c6b02
+68008c70
+60108a04
+20404988
+700d4801
+20600000
+700c6b03
+20204ab5
+68008c6b
+c0014984
+68008c6e
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c71
+c0804984
+68008c70
+1fe67c01
+24214984
+68008c6b
+c001cad1
+c0024ad1
+20204984
+68008c70
+c0004ad5
+700c6b04
+20204988
+700c6b03
+20204988
+68008c6b
+c0824984
+68008c6e
+c080c984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+20204988
+700d4c01
+68008c71
+60008d4d
+68008c72
+1fe67c01
+2042caf5
+68008d36
+c0824988
+700d3602
+20404988
+20007530
+20007530
+20600000
+700d4501
+700d3a00
+700d3604
+20600000
+700d5001
+20404b03
+68010c70
+60010d4e
+68008c74
+98007200
+d8c00c76
+d8a00cb6
+20407f01
+20204988
+68010c70
+d8400200
+98467c00
+24628000
+68010c72
+d8400000
+98467c00
+24628000
+68010c74
+d8400001
+98467c00
+24628000
+700d4301
+20600000
+68008c74
+c0804984
+68008c70
+c0004b17
+c000cb1a
+20204984
+700d4a00
+700d4901
+20204988
+700d4401
+700d4a01
+700d4900
+20204988
+ea208000
+98002400
+1a20a201
+44fd401f
+c591cb2c
+1a40fe01
+1fe3fe00
+60108a18
+708a1803
+68008c74
+1fe0fffe
+1fe37e00
+60008c74
+c0004b35
+68010c74
+9a467c00
+20214b30
+1fe22400
+1a227e00
+60010b65
+1a427e00
+60008b67
+20204b37
+d8e00000
+20204b57
+44fdc01f
+68008b67
+207a0000
+1fe27200
+1fe67c40
+20214b3e
+df200040
+68008b67
+9f267e00
+60008b67
+68010b65
+1fe20c00
+e8c08000
+60108a18
+c591cb47
+708a1800
+c2004b43
+18c27e00
+60010b65
+d8e00000
+20404b57
+68008b67
+247a0000
+68008d36
+c1808000
+700d3602
+20600000
+da208a19
+d8e00001
+e8c08000
+e2208000
+c2004b54
+58000000
+f9207e00
+60108a10
+68088d37
+9841fe00
+60008d37
+20600000
+d8e00002
+da208a1a
+20204b54
+44fe401f
+68008d38
+207a0000
+68008d37
+243a4bac
+68008d45
+203a4b86
+68008d36
+c001cbbf
+c0814b86
+68008d3a
+243a4b86
+20404b6f
+20204b7a
+68008d38
+c4008000
+68008d37
+c3808000
+68008d38
+793ffe01
+60008d38
+68008d51
+207a0000
+c0084ba8
+20202a8c
+68008d38
+c4010000
+68008d37
+c3810000
+68008d38
+793ffe02
+60008d38
+68008d52
+207a0000
+c0104b89
+c010cba4
+20202a8c
+d8a00d54
+df200006
+20207ec6
+68008d4c
+68088d4b
+98417e00
+203a4ba0
+68088d4a
+9840fe00
+c000cb91
+20204ba0
+700d5200
+68008d55
+c0014ba1
+c001cba1
+68008d55
+60008d54
+68008d56
+e0a08000
+68008d58
+e0a08000
+68008d5a
+e0a08000
+df200004
+d8c00d54
+20204b5e
+700d5200
+df200008
+d8c00d54
+20204b5e
+700d5200
+df200003
+d8c00d74
+20204b5e
+700d5100
+df200008
+d8c00d64
+20204b52
+68008d36
+c001cbb0
+c0014bb2
+20600000
+700d3700
+20600000
+68108a00
+79207e07
+60108a00
+700d4701
+20600000
+68008d36
+c1018000
+c0014bbb
+20600000
+68008d47
+207a0000
+700d4601
+20204bc2
+d8e0000f
+20407f16
+247a0000
+68108a00
+c4038000
+708a00fc
+20007530
+708a003c
+20600000
+44fec01f
+6800c1ce
+247a0000
+20404bce
+24544be6
+20600000
+44ff401f
+18622200
+d8400004
+e8608000
+c000cbd8
+18408401
+c0014bd8
+18627e00
+60110058
+20600000
+68110112
+98467c00
+24214bd8
+78547c00
+1a220600
+20404bee
+98408400
+68110112
+98467c00
+24214bdf
+1a220600
+e8608000
+c000cc3f
+20202a8c
+44ffc01f
+68110058
+98000600
+20404bee
+98608600
+18627e00
+60110058
+20600000
+e8608000
+18608602
+c0014bf3
+e8608000
+20600000
+e8610000
+20600000
+6811005e
+194095fb
+99409400
+20600000
+d8400004
+20204bfc
+d8400002
+47004020
+1f20f201
+6811005e
+1fe21400
+1f227e00
+e1488000
+1fe0ffff
+99409400
+19427e00
+60010258
+18427e00
+c1010000
+68010258
+6011005e
+20204c0b
+58000000
+60010258
+20600000
+20758000
+58004d28
+600141f3
+580001a0
+60014243
+58001800
+60110054
+58001bff
+60110056
+58001c00
+6011005a
+20404c28
+70806200
+58001c00
+6011005e
+60110060
+58001800
+60110058
+60010244
+68110050
+793ffe0f
+60110050
+204066ce
+70804301
+70806281
+20600000
+58001fff
+6011005c
+68108081
+1fe1fe07
+60108081
+20600000
+4700c020
+6810810c
+98002400
+c301cc37
+68110112
+98002600
+d840044f
+98467c00
+24628000
+68110058
+98000600
+20204bc8
+6818810c
+284ffe06
+2020cc3a
+60108015
+20600000
+47014020
+6800c1ce
+203a4c44
+78347c00
+20600000
+e8610000
+98006000
+98000e00
+e8608000
+98000400
+1e0b7e00
+1fecfe00
+c01fcc4d
+20600000
+4701c020
+18e27e00
+c0004cdc
+c000cc66
+c0014c6b
+c001cc7a
+c0024cb3
+c002ccdc
+c0034cc6
+c003cc5c
+c0084cc9
+c008ccd1
+c0094ca5
+c009cc85
+20204cdc
+20404cdc
+20407f9e
+2040688c
+204033d2
+204033d9
+2020688f
+70424500
+204033d0
+20404c13
+202033db
+20404cf2
+68110000
+e1410000
+18007206
+20204cdd
+e8610000
+60014243
+60110052
+20600000
+e8608000
+1fe20400
+60108024
+e8608000
+98408400
+79207e07
+60108023
+e8608000
+98408400
+1fe27200
+20600000
+c515ccc4
+20404c6f
+e8608000
+60108025
+98408400
+c2004c7c
+184104ff
+e8608000
+98467c00
+2422ccc4
+20204cdc
+c595ccc4
+20404c6f
+60040a9a
+20407422
+df200010
+d8a00ac2
+20404ca0
+600c0aa2
+d8a00ad2
+20407497
+da200ad2
+da400ac2
+d8a00ae2
+20407352
+df200010
+d8c00ae2
+20404c9c
+680c0aa2
+68040a9a
+1fe0fff0
+60040a9a
+243a4c88
+20204c80
+e8c08000
+60108025
+c2004c9c
+20600000
+e8608000
+e0a08000
+98408400
+c2004ca0
+20600000
+c595ccc4
+d8400000
+df200010
+d8a00ac2
+20404ca0
+68108085
+1fe17efd
+60108085
+d8c00ac2
+df200010
+20407478
+20407428
+20407491
+20204c80
+df200020
+d8a04000
+d8400000
+e8608000
+e0a08000
+98408400
+c2004cb6
+184104ff
+e8608000
+98467c00
+2422ccc4
+70802300
+20404cdc
+20404be6
+204064a3
+20407f9e
+20202001
+70802300
+20202000
+e8630000
+600340a0
+20204cdc
+e8608000
+6000825a
+1fe27200
+e8610000
+6001025b
+1fe20a00
+204066fd
+20204cdc
+e8608000
+6000825a
+1fe27200
+e8610000
+6001025b
+d8a01000
+204066fd
+6808825a
+da201000
+6801025b
+20206608
+18007204
+20404cf4
+18007e01
+e1408000
+1e027e00
+e1418000
+18000e0e
+47024020
+20404cf6
+18e27e00
+e1408000
+1f227e00
+e1408000
+18000e05
+1f20f202
+20204bf9
+18000eff
+20404cf4
+58000001
+e1408000
+18007201
+20204ce3
+1800140c
+20204cf7
+18001408
+20204cf7
+18001406
+20204bf5
+7827fc00
+7824fc00
+e9408000
+08008008
+c2004cfa
+78247c00
+08008010
+78447c00
+7844fc00
+7847fc00
+1ff0fe00
+20600000
+7041ce00
+20600000
+680341d0
+680b0040
+98467c00
+20600000
+6800804b
+c2814d0f
+204062ef
+70007c08
+20204d04
+793ffe02
+6000804b
+20406001
+58000000
+7934fe01
+6000807f
+20204d04
+20600000
+70007c17
+d8a004d9
+58000000
+2d0ffe1b
+7920fe01
+e0a08000
+58000000
+e0a10000
+680141e3
+e0a10000
+6800c1e5
+e0a10000
+6800c1e7
+e0a10000
+20204d04
+70007c18
+20204d04
+20406899
+20608000
+d8400007
+2040681d
+2420cd2f
+70424501
+20600000
+6800c245
+c1808000
+20404c62
+20204cec
+4702c020
+68010264
+1fe20c00
+e8c08000
+1fe1040f
+1ff1fe00
+c004cd53
+c003cd53
+c0054d5f
+c002cd4b
+c000cd3f
+20600000
+18427e00
+c002cd43
+c001cd4a
+20600000
+700a9927
+20407d86
+6800c092
+c4030000
+18427e00
+c002c38e
+20600000
+20600000
+20404d5f
+da200001
+20404d63
+6801424c
+e0a10000
+58000000
+e0a08000
+20600000
+da200001
+20404d63
+6801424c
+e0a10000
+58000000
+e0a08000
+700a8e01
+6800c252
+79207e06
+6000c252
+700a9912
+20207d86
+e8c08000
+c000cd62
+20600000
+20600000
+20405240
+1a220400
+60088a8e
+1fe20a00
+1a227e00
+e0a10000
+20600000
+2035cd6f
+58004365
+d8a04246
+98a67200
+20407ed4
+47034020
+58000551
+d8a00511
+98a67200
+20407ed4
+580002c9
+d8a0025d
+98a67200
+20407ed4
+20205318
+4703c020
+18c20400
+18420c00
+e8c10000
+60010266
+e8c10000
+60010268
+18c27e00
+60010264
+6800c681
+c0004d85
+202050ef
+68010266
+203a4dfc
+47044021
+68008268
+c000cd9d
+c0284de0
+c028cdf5
+c0294df3
+c029cdf3
+20204dfc
+4704c021
+2040527e
+6800c256
+c0004d9b
+c000cd9b
+c0014d9b
+c001cd9b
+c040cd9b
+c0604d9b
+c0404d9b
+c0204d9b
+20600000
+58000000
+20600000
+20404d8f
+247a0000
+204052b8
+20404e01
+6809026f
+203a4dfb
+204052c1
+6801026f
+e0a10000
+18007e01
+e0a10000
+20204dfc
+6800c364
+207a0000
+1fe22200
+47054021
+680202d5
+d8400100
+98408400
+1c427e00
+98467c00
+24610000
+70436400
+1a227e00
+c0284db7
+20202a8c
+d9000000
+204052b8
+20404e7a
+204052c3
+20407ea8
+20404ead
+204052c1
+5800000c
+e0a10000
+18007e01
+e0a10000
+20204dfc
+4705c021
+68010275
+1fe0fe04
+1ff1fe00
+1fe97e00
+1fe08401
+d8c04260
+e8c18000
+207a0000
+60018ac2
+68008ac2
+1fe22200
+20404dd3
+1a427e00
+6000c260
+20600000
+d8e00000
+da400000
+18e67c07
+24610000
+aa2fffff
+2020cdda
+20204dde
+18427e00
+203a4dde
+f9202400
+184085ff
+18e08e01
+20204dd5
+20405274
+247a0000
+20404d8f
+247a0000
+204052c5
+20406e11
+20404dc3
+20204dec
+20405274
+247a0000
+204052c5
+20406e11
+204052ce
+68010275
+203a4dfb
+e0a10000
+68014248
+e0a10000
+20204dfc
+20404d33
+20204dfc
+47064021
+70028400
+20406a8a
+68008284
+c1008000
+20204dfc
+20405264
+58000000
+60010266
+60010268
+70026a01
+20600000
+4706c021
+204052c3
+18002400
+68010266
+1fe22600
+68010264
+98000c00
+20404e10
+1a627e00
+1a60a7fc
+1fe0fffc
+243a4e08
+1a427e00
+6001026f
+20600000
+47074021
+e8c08000
+c000ce49
+c0014e51
+c001ced5
+c0024f05
+c002cfa2
+c0034fcb
+c003d01b
+c0045050
+c004d060
+c0054e1f
+c005d061
+20405062
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+5800000b
+e0a08000
+18e27e00
+e0a08000
+e8c10000
+c0014e2d
+c001ce33
+20600000
+58020008
+e0a30000
+58000280
+e0a20000
+18007e0c
+20204e38
+5803000c
+e0a30000
+58000006
+e0a40000
+18007e10
+9a40a400
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+60010aa2
+1a627e00
+9a262600
+204052c3
+5800000b
+e0a08000
+18e27e00
+e0a08000
+68010aa2
+20204e2a
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+98c08c00
+1a627e00
+9a262600
+20204e1e
+20407ea8
+20407ead
+d9000000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe20400
+e8c10000
+1fe21600
+4707c021
+18427e00
+c000ce64
+c001ce86
+c008ce92
+c009ce9d
+20405062
+20204ed4
+20407ea8
+d8400050
+68014248
+243a4ece
+19627e00
+60014248
+1c427e00
+600202d5
+20404e6e
+20204ea9
+600902d3
+19627e00
+600102c9
+1a227e00
+600102cb
+1a427e00
+600102cd
+1a627e00
+600102cf
+18e27e00
+600102d1
+20600000
+680902d3
+680102c9
+1fe21600
+680102cb
+1fe22200
+680102cd
+1fe22400
+680102cf
+1fe22600
+680102d1
+1fe20e00
+20600000
+20407ea8
+58000051
+d8400051
+6801424a
+243a4ece
+19627e00
+6001424a
+6800c251
+79207e00
+79207e01
+6000c251
+20204eb1
+20407ea8
+d8400052
+6801424c
+243a4ece
+19627e00
+6001424c
+6800c252
+79207e00
+79207e01
+6000c252
+20204eb1
+20407ea8
+1b427e00
+d8400053
+6801424e
+243a4ece
+19627e00
+6001424e
+6800c253
+79207e00
+79207e01
+6000c253
+20204eb1
+58000001
+6001027d
+70436450
+20204eb3
+6800c250
+79207e00
+79207e01
+6000c250
+58000000
+6001027d
+47084022
+20407ead
+58000003
+e0a08000
+18e27e00
+e0a08000
+58000008
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+6801027d
+c000cec9
+290c0000
+2020cec4
+58000004
+e0a10000
+18007e00
+e0a10000
+5800000c
+20204ed0
+e0a10000
+18007e02
+e0a10000
+5800000c
+20204ed0
+79201000
+20204eb1
+9a40a400
+1a627e00
+9a262600
+20204ed4
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+4708c022
+58000050
+98467c00
+2022ceed
+58000051
+98467c00
+2022cef3
+58000052
+98467c00
+2022ceff
+58000053
+98467c00
+2022cef9
+20600000
+19627e00
+60014248
+6800c250
+79207e01
+6000c250
+20204e1e
+19627e00
+6001424a
+6800c251
+79207e01
+6000c251
+20600000
+19627e00
+6001424c
+6800c253
+79207e01
+6000c253
+20600000
+19627e00
+6001424e
+6800c252
+79207e01
+6000c252
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe20400
+18422200
+47094022
+58000050
+98467c00
+2022cf1c
+58000051
+98467c00
+2022cf3a
+58000052
+98467c00
+2022cf26
+58000053
+98467c00
+2022cf30
+20205062
+18a21600
+6800c250
+79207e04
+79207e03
+6000c250
+19620a00
+d9600050
+68014248
+1fe20400
+20204f43
+18a21600
+6800c252
+79207e04
+79207e03
+6000c252
+19620a00
+d9600052
+6801424c
+1fe20400
+20204f43
+18a21600
+6800c253
+79207e04
+79207e03
+6000c253
+19620a00
+d9600053
+6801424e
+1fe20400
+20204f43
+18a21600
+6800c251
+79207e04
+79207e03
+6000c251
+19620a00
+d9600051
+6801424a
+1fe20400
+4709c022
+58000005
+e0a08000
+18e27e00
+e0a08000
+58000006
+e0a10000
+18427e00
+e0a10000
+18007e00
+e0a10000
+18007e00
+e0a10000
+18007e0a
+9a40a400
+60090282
+18e27e00
+60008281
+18007e50
+a961fe00
+2020cf59
+1fe0fe01
+20600000
+78547c00
+c3810000
+c4000000
+c4008000
+79207e02
+18c20a00
+18a08bff
+e0a08000
+78347c00
+20600000
+6800c250
+20404f5a
+24344f6b
+70028050
+68014248
+60010282
+20204f7f
+6800c251
+20404f5a
+24344f72
+70028051
+6801424a
+60010282
+20204f7f
+6800c252
+20404f5a
+24344f79
+70028052
+6801424c
+60010282
+20204f7f
+6800c253
+20404f5a
+24740000
+70028053
+6801424e
+60010282
+470a4022
+2040523a
+204052b8
+18002400
+204052c3
+18007e04
+e0a08000
+6800c255
+e0a08000
+58000008
+e0a10000
+68010282
+e0a10000
+58000000
+e0a10000
+18007e01
+e0a08000
+18007e02
+e0a08000
+68008280
+c028cf97
+58000030
+e0a10000
+20204f99
+580003e3
+e0a10000
+d840000c
+6009026f
+204052c1
+6801026f
+e0a10000
+18007e01
+e0a10000
+70028000
+20204e1e
+18c08c01
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+470ac022
+58000050
+9a267c00
+2022cfba
+58000051
+9a267c00
+2022cfbe
+58000052
+9a267c00
+2022cfc2
+58000053
+9a267c00
+2022cfc6
+18c08c02
+e8c10000
+98007c00
+20204e1e
+6800c250
+79207e05
+6000c250
+20204e1e
+6800c251
+79207e05
+6000c251
+20204e1e
+6800c252
+79207e05
+6000c252
+20204e1e
+6800c253
+79207e05
+6000c253
+700a9906
+20207d86
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+1a220400
+20407ea8
+470b4022
+58000050
+98467c00
+2022cff2
+58000051
+98467c00
+2022d002
+58000052
+98467c00
+2022cfe6
+58000053
+98467c00
+2022cfec
+20405062
+20205017
+19620400
+6801424c
+98467c00
+2022cff8
+20405062
+20205017
+19620400
+6801424e
+98467c00
+2022cffa
+20405062
+20205017
+19620400
+68014248
+98467c00
+2022cffe
+20405062
+20205017
+20405079
+2020500a
+2040507f
+6801424c
+203a500a
+2020500a
+20405074
+68008288
+243a500a
+2020500a
+19620400
+6801424a
+98467c00
+2022d008
+20405062
+20205017
+2040506f
+2020500a
+20407ead
+58000007
+e0a08000
+18e27e00
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+19627e00
+e0a10000
+18007e08
+20205019
+20407ead
+20205019
+9a40a400
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+20407ea8
+470bc022
+58000050
+98467c00
+2022d035
+58000051
+98467c00
+2022d03b
+58000052
+98467c00
+2022d041
+58000053
+98467c00
+2022d047
+20405062
+2020504f
+18422200
+19620400
+68014248
+98467c00
+2042d074
+2020504d
+18422200
+19620400
+6801424a
+98467c00
+2042d06f
+2020504d
+18422200
+19620400
+6801424c
+98467c00
+2042d079
+2020504d
+18422200
+19620400
+6801424e
+98467c00
+2042d07f
+2020504d
+20407ead
+20204e1e
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+98c08c00
+58000009
+e0a08000
+18e27e00
+e0a08000
+18007e00
+e0a10000
+18007e04
+9a40a400
+1a627e00
+9a262600
+20204e1e
+20204e1e
+20204e1e
+18002400
+204052c3
+58000001
+e0a08000
+18e27e00
+e0a08000
+58000002
+e0a10000
+58000000
+e0a10000
+1a40a406
+da600004
+20204e1e
+58000000
+6001027b
+6001424a
+70425100
+20600000
+58000000
+60010275
+60014248
+70425000
+20600000
+58000000
+6001424c
+70425200
+6800c253
+c0005085
+20600000
+58000000
+6001424e
+70425300
+6800c252
+c0005085
+20600000
+700a9907
+20207d86
+6800827f
+793ffe00
+6000827f
+6801424e
+207a0000
+204052b8
+6801424e
+1fe22200
+18002453
+2020509a
+6800827f
+793ffe07
+6000827f
+6801424c
+207a0000
+204052b8
+6801424c
+1fe22200
+18002452
+2040523a
+204052c3
+18007e06
+e0a08000
+6800c255
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+18000408
+202050de
+470c4023
+2040523a
+204052c3
+58000002
+e0a08000
+6800c255
+e0a08000
+58000004
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+d8400008
+202050de
+470cc023
+2040523a
+204052c3
+58000004
+e0a08000
+6800c255
+e0a08000
+58000008
+e0a10000
+18427e00
+e0a10000
+58000000
+e0a10000
+58000001
+e0a08000
+58000002
+e0a08000
+580003e3
+e0a10000
+d840000c
+202050de
+470d4023
+2040523a
+204052c3
+58000006
+e0a08000
+6800c255
+1fe0fe01
+18a22200
+6000c255
+1a220a00
+e0a08000
+58000004
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+d8400008
+6009026f
+18427e00
+203a5264
+204052c1
+6801026f
+e0a10000
+18007e01
+e0a10000
+20600000
+68010275
+203a2a8c
+204052ce
+68010275
+e0a10000
+68014248
+e0a10000
+20600000
+68010266
+203a4dfc
+470dc023
+68008268
+c000d0f9
+c0284de8
+c028cdf5
+c0294df3
+c029cdf3
+20204dfc
+470e4023
+204052b8
+18002400
+204052c3
+1fe20a00
+68010266
+1fe22600
+68010264
+98000c00
+20405108
+1a60a7fc
+2422d102
+1a420400
+204050de
+20204dfc
+e8c08000
+c0015113
+c000d116
+c001d120
+c002d15c
+c002518e
+c003d213
+c00351e1
+c0045050
+c0054e3a
+2020522e
+20407ea8
+20407ead
+20204e51
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c08000
+1a20a3ff
+2422d11c
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+e8c10000
+1fe67c00
+2022d132
+c001512e
+c002512e
+20205130
+700a9916
+20407d86
+e8c10000
+20205159
+20407ea8
+470ec023
+58000050
+98467c00
+2022d141
+58000051
+98467c00
+2022d147
+58000053
+98467c00
+2022d153
+58000052
+98467c00
+2022d14d
+20205159
+19627e00
+60014248
+6800c250
+79207e01
+6000c250
+20205158
+19627e00
+6001424a
+6800c251
+79207e01
+6000c251
+20205158
+19627e00
+6001424c
+6800c252
+79207e01
+6000c252
+20205158
+19627e00
+6001424e
+6800c253
+79207e01
+6000c253
+20407ead
+1a627e00
+9a262600
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+e8c10000
+243a5188
+20407ea8
+19620400
+470f4023
+58000050
+98467c00
+2022d176
+58000051
+98467c00
+2022d17a
+58000052
+98467c00
+2022d17e
+58000053
+98467c00
+2022d182
+6800c250
+79207e05
+6000c250
+20600000
+6800c251
+79207e05
+6000c251
+20600000
+6800c252
+79207e05
+6000c252
+20600000
+6800c253
+79207e05
+6000c253
+700a9906
+20207d86
+20407ead
+1a20a3fa
+2022d18d
+18c08c01
+1a20a3ff
+20205189
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+18c08c02
+1fe20400
+58000005
+e0a08000
+18e27e00
+e0a08000
+1a20a202
+1a227e00
+e0a10000
+20407ea8
+470fc023
+58000050
+98467c00
+2022d1ad
+58000051
+98467c00
+2022d1be
+58000052
+98467c00
+2022d1c4
+58000053
+98467c00
+2022d1ca
+202051cf
+6800c250
+79207e04
+79207e03
+6000c250
+c28151bb
+6808827f
+79200406
+6008827f
+18e27e00
+1fe0fe01
+60008281
+6800c250
+79207e02
+6000c250
+68014248
+60010282
+202051cf
+6800c251
+79207e04
+79207e03
+6000c251
+6801424a
+202051cf
+6800c252
+79207e04
+79207e03
+6000c252
+6801424c
+202051cf
+6800c253
+79207e04
+79207e03
+6000c253
+6801424e
+1fe21600
+20407ead
+19627e00
+e0a10000
+18007e00
+e0a10000
+18007e00
+e0a10000
+18007e0a
+9a40a400
+1a20a3fa
+2022d1e0
+e8c08000
+e0a08000
+1a40a401
+1a20a3ff
+202051da
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+20407ea8
+47104024
+58000050
+1a220400
+98467c00
+2022d1fa
+58000052
+1a220400
+98467c00
+2022d1ff
+58000053
+1a220400
+98467c00
+2022d201
+20205203
+58000000
+60010275
+60014248
+6000c250
+20205205
+20405079
+20205205
+2040507f
+20205205
+58000000
+6001027b
+20407ead
+58000007
+e0a08000
+18e27e00
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+19627e00
+e0a10000
+18007e08
+9a40a400
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+20407ea8
+4710c024
+6800c255
+a8e1fe00
+2420d22a
+58000050
+98467c00
+2022d227
+58000051
+98467c00
+2022d22a
+2020522a
+70424800
+70425000
+2020522a
+20407ead
+1a627e00
+9a262600
+20600000
+58000001
+e0a08000
+e8c08000
+e0a08000
+58000002
+e0a10000
+58000000
+e0a10000
+58000006
+9a40a400
+18002604
+20600000
+6800c255
+1fe0fe01
+c080523e
+1fe0fe01
+6000c255
+20600000
+47114024
+da400000
+2040526e
+243a2a8c
+2040527e
+da401800
+d8e00000
+6808c256
+a84fffff
+2020d24f
+204052a0
+19667c00
+2021524f
+20405288
+20205255
+1a40a480
+18e08e01
+58000008
+98e67c00
+20215247
+da400000
+1a427e00
+203a2a8c
+20600000
+4711c024
+20405277
+18c08c01
+e8c10000
+20600000
+47124024
+20405277
+18c20a00
+18c20400
+58000000
+e0a18000
+20600000
+4712c024
+20405274
+203a2a8c
+6801c25d
+6001c260
+6801c25a
+6001c25d
+6801c257
+6001c25a
+20600000
+47134024
+6801c257
+20600000
+4713c024
+6801c25a
+20600000
+47144025
+6801c260
+20600000
+20405274
+203a2a8c
+d8c04257
+e8c18000
+203a527a
+18c08dfd
+20600000
+4714c025
+df200004
+d8c04257
+d8400000
+e8c18000
+1fe17eff
+98418400
+c2005282
+6008c256
+20600000
+47154025
+2040526e
+243a2a8c
+20405274
+203a5295
+6801c25a
+6001c257
+e8c18000
+e0a18000
+e8c18000
+e0a18000
+58000000
+e0a18000
+d8400000
+19627e00
+98e0fe00
+f9200400
+18e08e01
+98e67c00
+2422d298
+1a4d7e00
+9841fe00
+6001c260
+20600000
+4715c025
+2040527e
+18e22600
+d8400000
+d9600000
+18e27e00
+c00452b0
+6800c256
+afefffff
+2020d2b0
+18408480
+18e08e01
+1a227e00
+98467c00
+2022d2b0
+202152a5
+18427e00
+9a267c00
+242152b6
+18e27e00
+1a620400
+98461600
+1a620e00
+20600000
+47164025
+da20007f
+20405240
+6001026b
+1fe0fe04
+6001026d
+58000000
+6001026f
+20600000
+6801026b
+202052e2
+6801026d
+202052e2
+4716c025
+da2000fa
+20405240
+60010271
+1fe0fe04
+60010273
+58000000
+60010275
+20600000
+68010271
+202052e2
+68010273
+202052e2
+47174025
+20407e7c
+70028401
+2040526e
+247a0000
+da20007f
+20405240
+60010277
+1fe0fe04
+60010279
+58000000
+6001027b
+70028400
+20207e8c
+68010277
+202052e2
+203a2a8c
+1fe20a00
+20600000
+4717c025
+da400000
+da204257
+1a20a3fe
+1a20a202
+58004263
+9a267c00
+2022d2f5
+ea208000
+1a20a201
+203a52e9
+ea290000
+e8410000
+9a40a400
+1a40a404
+202052e9
+1a427e00
+20600000
+d8e0000c
+20202c32
+d8e0000c
+20202c36
+47184026
+2040527e
+6800c256
+207a0000
+204052e5
+d8400100
+98467c00
+202152f7
+204052f9
+d8a04263
+da204257
+58004263
+9a267c00
+20628000
+ea208000
+1a20a201
+243a530f
+e0a10000
+1a20a202
+20205306
+ea210000
+1a20a202
+1fe20c00
+e8c10000
+e0a10000
+1fe27200
+1f20f202
+20407f01
+20205306
+4718c026
+2040527e
+6800c256
+207a0000
+da204258
+1a20a3fd
+d8c04263
+1a20a203
+58004264
+9a267c00
+20628000
+e8c10000
+203a531f
+1fe0fe04
+1fe27200
+18c22400
+ea210000
+1fe20a00
+1a420c00
+18c08dfe
+20407f01
+2020531f
+47194026
+7855fc00
+70045501
+70043f03
+70045601
+5fffffff
+60010459
+18007e00
+60008457
+60008462
+6001c169
+6001c16c
+6002c403
+79207e27
+6002c408
+7043dc01
+7043dd00
+202056ed
+4719c026
+7834fc00
+70044003
+70047801
+70445a01
+5800ffff
+6001445c
+18007e00
+6002c408
+79207e27
+6002c403
+2020532e
+471a4026
+7854fc00
+58000017
+600144a8
+70044001
+70436e00
+7000a000
+7044c400
+7044c500
+6801046d
+600144ba
+68010441
+1feffe05
+1ff1fe00
+6001046d
+2020532e
+204053c4
+204055e8
+204056f0
+202053ce
+471ac026
+204053c4
+204032f4
+68008440
+c001d366
+2020537a
+471b4026
+7834fc00
+204056e4
+20215377
+20402c6c
+20405413
+2040561e
+7856fc00
+204054bf
+24768000
+471bc026
+68008005
+1fe0fe01
+60008005
+204055aa
+7854fc00
+20600000
+204053a9
+7854fc00
+20600000
+471c4027
+70450f00
+20407aaf
+20405c18
+78577c00
+204056e4
+202153a9
+20402c6c
+20405413
+20405489
+242c539b
+204053b7
+2036d388
+20205395
+471cc027
+6800c50f
+1fe0fe01
+6000c50f
+c0065395
+204055aa
+2040561e
+204054c7
+2040567e
+680141fb
+20407f9c
+204053a0
+203453a4
+471d4027
+20405be4
+20405bdb
+20407d9c
+68008462
+c281d3a9
+471dc027
+204057f4
+2040559d
+20405575
+20202841
+78547c00
+c5157fe7
+c514ffe7
+20600000
+471e4027
+78377c00
+204054c1
+2036d388
+20205395
+471ec027
+204053af
+204033b4
+20407a77
+700a9915
+20207d86
+58000000
+6004c4ff
+70045500
+70044000
+70043f00
+7044c500
+7044c400
+20600000
+471f4027
+68008005
+1fe0fe01
+60008005
+6800843f
+c3818000
+79207e03
+6000843f
+680144ba
+6001046d
+58000000
+600244e5
+20600000
+471fc027
+70890f36
+70890b5f
+783b7c00
+70891407
+20402c6c
+6800c1e0
+207a0000
+70890ab8
+20600000
+47204028
+70890f2e
+70890bff
+785b7c00
+70891403
+db600000
+20600000
+7844fc00
+7843fc00
+68018467
+98001e00
+68008016
+1fed8400
+79200401
+18431c00
+20600000
+204053e6
+2040291f
+58000500
+20402a8f
+20202924
+2036a939
+204053e6
+20202933
+4720c028
+20402918
+6800848c
+243a53f9
+68008016
+1fe67c24
+202153f3
+18000400
+c1128000
+18000418
+c1130000
+1800044e
+20600000
+1fe67c0a
+202153f6
+1fe0fe01
+1fe3fe00
+1fe08402
+20600000
+68008016
+1fe38400
+20600000
+d84001f4
+207a0000
+d84000fa
+c1008000
+d8400096
+c1010000
+d8400064
+c1018000
+d840004b
+c1020000
+d8400032
+c1028000
+d8400028
+c1030000
+d8400014
+20600000
+588e89be
+1fed7e00
+1fe1fed6
+98001200
+58555555
+60018467
+20600000
+47214028
+78287c00
+68020463
+98001200
+20405466
+58000200
+2034d41c
+6801044d
+1fe37e00
+d8400500
+9840fe00
+20402a24
+1b427e00
+60030491
+20600000
+4721c028
+68008016
+c012d428
+c013542e
+c013d434
+20205434
+6808c48d
+284ffe01
+2020d43f
+284ffe02
+2020d444
+2020543a
+6808c48d
+284ffe02
+2020d444
+284ffe00
+2020d43a
+2020543f
+6808c48d
+284ffe00
+2020d43a
+284ffe01
+2020d43f
+20205444
+70001625
+68008ac2
+79207e00
+60008ac2
+20600000
+70001626
+68008ac2
+79207e01
+60008ac2
+20600000
+70001627
+68008ac2
+79207e02
+60008ac2
+20600000
+47224028
+1a208c01
+e8c08000
+c4000000
+1a208a1a
+e8a10000
+1fe0fe01
+e0a10000
+1a208c19
+e8c08000
+1a208a18
+e8a88000
+9840fe00
+1fe67c24
+20215459
+1fe0ffdb
+e0a08000
+20600000
+4722c028
+6802846f
+18000400
+18007225
+c3005461
+18408401
+1fe37e00
+c200545f
+1840ffff
+60008461
+20600000
+47234028
+68008457
+98000e00
+680a846f
+a84fffff
+2020d47c
+4723c028
+68008461
+98e67e00
+20215472
+1fe60fff
+2020546c
+18e27200
+18000e00
+a84fffff
+2020d477
+1f20f201
+1f227e00
+203a547c
+18e08e01
+1f20f3ff
+20205474
+18e27e00
+60008016
+20600000
+2034d482
+37c18200
+20600000
+d9600ea0
+34730200
+20600000
+78487c00
+6801436c
+1fe21600
+2020548e
+47244029
+78287c00
+6801044d
+680a44e5
+98409600
+204053de
+4724c029
+204053d5
+7856fc00
+7826fc00
+7830fc00
+78507c00
+19623600
+37c18400
+2037549a
+1b420400
+600b009a
+242c264d
+203754a1
+dd2001e0
+1c225000
+6800843f
+c301d4a1
+2055ab05
+47254029
+204029bb
+7823fc00
+7824fc00
+09800008
+19897e00
+600082d9
+09800008
+19897e00
+e0a08000
+1fe1723f
+2022d4b1
+09800008
+19897e00
+e0a08000
+c20054ad
+4725c029
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e0a18000
+2023264d
+7836fc00
+68008017
+1fe0a200
+20402981
+7846fc00
+20202918
+47264029
+204054c9
+68088017
+2040291f
+20402924
+78287c00
+d960157c
+2020548f
+204054c9
+2020264d
+4726c029
+204053d5
+204053e3
+202054cd
+79202a00
+782efc00
+78307c00
+7850fc00
+2040547f
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+7823fc00
+7824fc00
+47274029
+6800c3dc
+08008608
+e8c08000
+1fe1723f
+08008608
+2022d4e2
+e8c08000
+08008608
+c20054df
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+20600000
+4727c029
+6800c484
+c000d4f9
+6800c485
+1ff27e00
+1febfe00
+6000c3dc
+6808c36f
+1840fe06
+6000c3dd
+680344a0
+600343de
+18427200
+d8c04370
+20407ef4
+20205504
+6800c486
+1ff27e00
+1febfe00
+1fe0fe01
+6000c3dc
+5800000c
+6000c3dd
+680344a0
+600343de
+680341d0
+e0a30000
+4728402a
+68008000
+1fe0fe01
+60008000
+db600708
+7856fc00
+202054bf
+4728c02a
+6800c49e
+c1808000
+68008000
+1fe0fe01
+60008000
+d8400c03
+6800c49f
+7d3a0406
+1a227e00
+7d3a0407
+600943dc
+680344a0
+e0a30000
+6803044f
+e0a30000
+202054bf
+4729402a
+d8400004
+6800c485
+7d3a0406
+6008c3dc
+6808c38f
+1840fe06
+6000c3dd
+680344a0
+600343de
+d8c04390
+18427200
+20407ef4
+204054c7
+20205706
+4729c02a
+18007fff
+38080001
+6002846f
+2040545b
+18007204
+d8a00463
+2040630d
+6801449c
+6001046d
+180a7e00
+1fe17e0f
+1fe67c04
+20215535
+60008458
+600086e6
+472a402a
+68094367
+60090441
+18422600
+1c40fe07
+9a66fc00
+20407f86
+18072200
+9a267e00
+9a60fe00
+68094365
+9840fe00
+60020443
+9c462200
+1a20a3fa
+da402205
+6800c495
+7d3a2406
+6800c48e
+7d3a2407
+1a427e00
+600143dc
+680344a0
+e0a30000
+6803044f
+e0a30000
+68020463
+e0a20000
+180a7e00
+e0a10000
+180a7e00
+e0a08000
+18007e02
+e0a08000
+1a2b7e00
+e0a10000
+1a6b7e00
+e0a10000
+472ac02a
+58000000
+e0a10000
+6801449c
+e0a10000
+6802846f
+e0a28000
+68008458
+d84000a0
+9841fe00
+e0a08000
+204054c7
+580043dc
+1fe08c12
+e8c18000
+60018467
+20600000
+472b402a
+7854fc00
+2020540c
+6800843f
+c4028000
+68010459
+6809045f
+98467e00
+24610000
+60010a9a
+472bc02a
+6800843f
+793ffe05
+793ffe03
+6000843f
+68020443
+68090441
+60090aa2
+98462200
+472c402b
+6800c3d3
+6000846a
+e8c90000
+e8c10000
+1febfe00
+60010441
+184b8400
+9840fe00
+e8ca0000
+600a046b
+9a20fe00
+1fe22800
+68010441
+68090aa2
+98467e00
+68090a9a
+984ffe00
+9a80fe00
+60020443
+20405713
+6801046d
+600144ba
+20600000
+472cc02b
+6800843f
+c4030000
+68010459
+6809045f
+98467e00
+24610000
+6800843f
+793ffe06
+6000843f
+6802c3ce
+6002846f
+2020545b
+472d402b
+204056ed
+204055c0
+680082d9
+2feffe04
+7920802a
+1fe37e00
+9842fe00
+2feffe02
+7920800f
+c6078000
+680082da
+203a55bc
+6800843f
+c30255bc
+2040748d
+204073fb
+247a0000
+68088456
+79400402
+60088456
+20600000
+472dc02b
+68088456
+284c0005
+20608000
+680082d9
+1fe3fe00
+9842fe00
+c4018000
+793f8405
+79400403
+60088456
+28400603
+24608000
+6800c3de
+c002d5d2
+6800c4c5
+c00155d6
+20600000
+6800843f
+79207e04
+6000843f
+20600000
+472e402b
+7044c500
+dfe00000
+6002440d
+6002c403
+79207e27
+6002c408
+6800843f
+793ffe04
+6000843f
+20600000
+472ec02b
+20405422
+20405485
+68008001
+1fe0fe01
+60008001
+20600000
+472f402b
+6800c369
+c1808000
+d8e00002
+20407f16
+247a0000
+6801436a
+6809436c
+98467e00
+d8e00002
+20407f08
+7854fc00
+20405572
+204055e1
+24768000
+472fc02b
+680302db
+6003044f
+68008002
+1fe0fe01
+60008002
+20405608
+20748000
+2040550b
+24768000
+4730402c
+68008004
+1fe0fe01
+60008004
+680482e1
+60048101
+20600000
+4730c02c
+6800849b
+c18d8000
+6803044f
+680b448f
+98467c00
+24628000
+2040223b
+24628000
+2040552b
+20405340
+4731402c
+7041ce00
+70047600
+70436900
+70049b00
+20202223
+da200001
+680082d9
+c3830000
+da200000
+20600000
+4731c02c
+68008456
+c3828000
+20405642
+20405873
+203a5664
+e8c08000
+e8c88000
+18422200
+9a267e00
+d840001b
+20407fdd
+1fe20400
+e8c08000
+1fe20200
+1a227e00
+98c08c00
+d8a043de
+18427200
+20407f01
+20405654
+20405666
+20405873
+e8c08000
+1fe22200
+18c22600
+e8c88000
+18422400
+9a467e00
+d840001b
+20407fdd
+9a40fe00
+e2608000
+9a267c00
+24628000
+20205896
+20405649
+c6148000
+6800c4e9
+c3015652
+20405876
+203a5652
+20205650
+20405873
+203a5652
+e8c08000
+e8c88000
+98467e00
+1fe67c1b
+20215652
+79200029
+20600000
+793f8029
+20600000
+1a227e00
+207a0000
+d8200001
+20600000
+4732402c
+18408401
+2040576a
+18c08dfe
+e8c10000
+d8402902
+98467c00
+24628000
+18c08c01
+18c22200
+e8c08000
+20600000
+18000400
+18000201
+4732c02c
+6008c3dd
+68088456
+79200405
+18417efc
+9821fe00
+60008456
+1fe17e1f
+280ffe29
+7920fe04
+6000c3dc
+6800c3dc
+28200601
+2420d676
+6800c3dd
+207a0000
+6800843f
+c4020000
+2040748d
+202073e3
+d8e00000
+20202c32
+d8e00000
+20202c36
+4733402c
+c6078000
+20405890
+247a0000
+680082d9
+1fe17e03
+6000c50c
+e8c08000
+1fe17e1f
+6000c50b
+207a0000
+18c27e00
+6001450d
+6800c50c
+c001dc64
+2040569a
+2434567a
+2040567c
+6801450d
+1fe20c00
+e8c10000
+600144fc
+4733c02c
+e8c10000
+c00258ab
+c0035af4
+c002dab6
+20600000
+6800c50c
+c00156a9
+c000d6c1
+20600000
+20407fe7
+d8400004
+9fe67c00
+20628000
+d8400005
+9fe67c00
+20628000
+d8400006
+9fe67c00
+20628000
+20207fe9
+6801450d
+1fe20c00
+e8c10000
+600144fc
+e8c10000
+2040569e
+24740000
+6808c50b
+6008c4fe
+680144fc
+1fe0fe04
+98467c00
+2022ffe7
+6800c50b
+1fe27200
+d8a00311
+6801450d
+1fe20c00
+20407f01
+20207fe9
+20407fe7
+6800c4fe
+247a0000
+20207fe9
+204056bd
+24740000
+6800c4fe
+d8a00311
+98a0a200
+6808c50b
+9840fe00
+6000c4fe
+6800c50b
+1fe27200
+1a220a00
+6801450d
+1fe20c00
+20407ef4
+58000311
+6001450d
+680144fc
+1fe0fe04
+6808c4fe
+98467c00
+2022ffe7
+20207fe9
+20407ea5
+d8a0445e
+680144fc
+1fe0fffb
+e0a08000
+1fe27200
+20407e9f
+20207ef4
+20407ea5
+d8a04471
+202056d9
+680141f9
+20207f9c
+680a045b
+20402a7b
+98461600
+19627e00
+6809046d
+18520400
+18438400
+98467e00
+20600000
+20402a7b
+6002045b
+20600000
+70001624
+700ac200
+4734402d
+6800c36e
+207a0000
+d8e00000
+20407f16
+247a0000
+4734c02d
+7854fc00
+78287c00
+20405572
+20405422
+204054e9
+2436d706
+68008003
+1fe0fe01
+60008003
+680082d9
+1fe17e0f
+c001d51c
+c002d728
+4735402d
+180a7e00
+d84001ff
+98417e00
+1fe0fefa
+20403cbe
+68008ac2
+6808c48d
+98467c00
+2422d6f2
+d8e00000
+68014482
+20207f08
+4735c02d
+68008476
+204053fc
+68010441
+984ffe00
+d8400177
+984ffe00
+d84186a0
+9846fc00
+6800846a
+d8404e20
+984ffe00
+9840fe00
+600244e5
+4736402d
+680140c1
+20407f86
+18078400
+9840fe00
+6001044d
+20600000
+4736c02d
+680302e1
+680b44a0
+98467c00
+24628000
+20405619
+1a227e00
+6000c48e
+680382ee
+60038101
+e8c40000
+e0a40000
+680302db
+6003044f
+18c08c06
+e8c40000
+60040463
+e8c90000
+4737402d
+184b8400
+e8c10000
+1febfe00
+60010441
+60020443
+98467e00
+1fe0d1fe
+e8c48000
+6004846b
+4737c02d
+e8c08000
+1ff18400
+18430400
+60088476
+1fe17e1f
+60008458
+20405713
+2040545b
+2040534c
+2040223b
+24628000
+4738402e
+20402841
+20405ad3
+700a9914
+20407d86
+20202223
+4738c02e
+6801445a
+98002400
+6801445c
+98002600
+680144bc
+98000c00
+78347c00
+20600000
+e8c10000
+207a0000
+9a467c00
+24610000
+9a667c00
+20628000
+20215768
+18007c01
+20600000
+18007e00
+20600000
+2040576d
+2022d779
+20600000
+4739402e
+680144bc
+98000c00
+e8c10000
+207a0000
+98467c00
+20628000
+e8c08000
+98c08c00
+e8c08000
+98c08c00
+20205770
+e8c08000
+98c08c00
+20600000
+4739c02e
+680144bc
+98000c00
+e8c10000
+207a0000
+e8c08000
+98c08c00
+18c08dfe
+e8c10000
+98467c00
+20628000
+e8c08000
+98c08c00
+2020577f
+6801049c
+2020578e
+473a402e
+680144bc
+98000c00
+18422200
+e8c10000
+203a5799
+9a267c00
+2022d79a
+e8c08000
+98c08c00
+e8c08000
+98c08c00
+20205790
+20207fef
+e8c08000
+600084a2
+1fe27200
+d8a004a3
+20407ef4
+e8c08000
+600084b3
+20407ea5
+20207ff1
+473ac02e
+204057a6
+202057b8
+d8402a00
+2040577c
+207a0000
+e8c08000
+18c20a00
+6808c3af
+18427200
+98467c00
+242157b5
+98460400
+d8c043b0
+20407f01
+18427200
+2442d7f0
+20600000
+1fe27200
+d8c043b0
+20207ef4
+da60438f
+da204370
+204057c5
+58000000
+79347e00
+60008a9a
+da6043af
+da204390
+204057c5
+20740000
+68008a9a
+203a2a8c
+20600000
+473b402e
+20407fe7
+20407eda
+da400000
+d8a00ac3
+204057df
+6800c3af
+1fe08401
+9a40a200
+1a20a202
+1a267c1f
+242157dd
+e0a88000
+d8400009
+e0a88000
+98007200
+20407ef4
+1a222400
+1a427e00
+60008ac2
+d8c00ac2
+5fffffe0
+9a608a00
+20207ebd
+20407fe9
+202057d7
+ea208000
+207a0000
+1fe0fe01
+e8c88000
+18467c09
+2022d7ee
+9a40a400
+1a220c00
+98007200
+20407ef4
+18c22200
+1a227e00
+9a667c00
+20610000
+202057df
+9a20a200
+202057ea
+58000020
+e0a08000
+c20057f0
+20600000
+473bc02e
+7855fc00
+203757f8
+2436d806
+20402bcb
+680140c1
+6001044d
+2436abde
+c507abde
+6800c50b
+243a2bde
+6800c3dd
+243a2bde
+6800c4e9
+c282abde
+6800843f
+c282abde
+20202bc0
+680940c1
+18430400
+6801044d
+9840fe00
+6001044d
+20202bd6
+d8e00000
+20205824
+d8e00000
+20205828
+d8e00001
+20205824
+d8e00001
+20205828
+d8e00002
+20205824
+d8e00002
+20205828
+d8e00003
+20205824
+d8e00003
+20205828
+d8e00004
+20205824
+d8e00004
+20205828
+d8e00005
+20205824
+d8e00005
+20205828
+6800c4e9
+f9207e00
+6000c4e9
+20600000
+6800c4e9
+f93ffe00
+6000c4e9
+20600000
+58112233
+6001c4ea
+58445566
+e0a18000
+58778899
+e0a18000
+58001122
+e0a18000
+58334455
+e0a18000
+58000066
+e0a08000
+20600000
+59000302
+60024453
+58010010
+6001c457
+7044c601
+20600000
+da200000
+d8200001
+20205850
+d8200003
+20405850
+1a427e00
+e0a08000
+20600000
+18000202
+1a20a204
+20405850
+1a20a3fc
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+20600000
+1a267cf0
+24212a8c
+6800c4ff
+d8400001
+df200004
+98417c00
+2022d85a
+18438400
+c2005855
+20202a8c
+9842fe00
+6000c4ff
+1f267e04
+1ff27e00
+1ff27e00
+d8401800
+98408400
+df200000
+d8c04500
+e8c10000
+203a5869
+1f227e00
+1f20f201
+c0825863
+20202a8c
+18c08dfe
+e0c90000
+18420a00
+1a227e00
+e0a08000
+58000000
+e0a08000
+18227e00
+e0a08000
+20600000
+68014500
+1fe20c00
+20600000
+68014502
+1fe20c00
+20600000
+2040587c
+1fe20c00
+20600000
+68014506
+247a0000
+68014504
+247a0000
+68014502
+247a0000
+68014500
+20600000
+20405873
+18c08c03
+20600000
+20405873
+18c08c07
+20600000
+20405879
+18c08c07
+20600000
+20405879
+18c08c03
+20600000
+68014506
+20600000
+68014504
+20600000
+68014500
+20600000
+68014500
+d8401800
+98467e00
+1ff1fe00
+1ff18e00
+6800c4ff
+f93ffe00
+6000c4ff
+df200000
+1f23fe00
+d8404502
+98408400
+e8410000
+184085fe
+e0410000
+1f227e00
+1f20f201
+c081d89f
+58000000
+e0410000
+20600000
+e8c18000
+60018477
+c00158c1
+c001d8c9
+c00258cc
+c00358f2
+c004593f
+c00559bc
+c00659e4
+c00859fa
+c0095a2f
+c00b5a48
+c00c5a5b
+c0295a60
+20600000
+18002203
+20405a82
+58000002
+e0a08000
+680144a6
+e0a10000
+20600000
+204058c9
+18002203
+20405a82
+58000003
+e0a08000
+680144a6
+e0a10000
+20600000
+1fecfe00
+600144a8
+20600000
+20405ab1
+20407fe7
+202058cf
+d9600003
+20405756
+2040575f
+203a58f0
+242158ed
+18c08dfe
+20407ea5
+20407e9c
+243458e1
+20407e85
+20407fe9
+18002214
+20405a82
+20407e95
+58000005
+e0a08000
+58000001
+e0a08000
+20407e9f
+e8c10000
+e0a10000
+e8c08000
+1fe27200
+20407f01
+20407ea2
+196097ff
+2022d8f0
+e8c08000
+98c08c00
+202058d1
+e8c08000
+98c08c00
+202058ea
+20345a76
+20205aa5
+20405ab1
+e8c10000
+60014472
+20407ea5
+d8a0445e
+680144fc
+1fe0fff9
+204056db
+20205905
+78547c00
+6809445a
+6801445c
+98467c00
+24215902
+18427e00
+c1800000
+78347c00
+70047a01
+20205a77
+204058fb
+20740000
+68094472
+58002800
+98467c00
+2022d90c
+20205a76
+7004b400
+6809445a
+60090aa2
+2040578c
+243a5a76
+68090aa2
+2040578c
+243a5925
+18c22200
+680084b3
+1fe27200
+6808c45e
+98467c00
+2422d921
+da40445f
+20407f88
+2022d928
+680104a3
+68094472
+98467c00
+2022d930
+68010aa2
+1fe0fe01
+60010aa2
+20205911
+680084b4
+c000d930
+20205a76
+680104a3
+68094472
+98467c00
+2422d921
+7004b401
+68090aa2
+6009049e
+20205921
+680084b4
+c0005921
+7004b402
+68090aa2
+184085ff
+600904a0
+da200005
+20405a82
+58000007
+e0a08000
+6801049e
+e0a10000
+680104a0
+e0a10000
+20600000
+20405ab1
+204056df
+20205942
+6809445a
+60090aa2
+20405756
+2040576d
+18c08dfe
+18c27e00
+6001049c
+68094472
+58002a00
+98467c00
+2022d9a8
+58002803
+98467c00
+2422d990
+d9600002
+20405a88
+2421596d
+68090aa2
+2040578a
+c000d96d
+20405a94
+2422d96b
+2434596f
+78547c00
+da200014
+20405a82
+58000009
+e0a08000
+18a26000
+18a08a01
+2040597d
+20405a84
+2040578a
+20405984
+680084a2
+1fe0fe05
+e6008000
+680084a2
+c008596d
+196097ff
+2022d96d
+20405a84
+20205951
+20345a76
+20205aa5
+20405a97
+20405a84
+2040578a
+680084a2
+c008596d
+20407e9c
+68010aa2
+1fe0ffff
+e0a10000
+20405aa1
+20405984
+196097ff
+2022d96d
+2020596b
+68010aa2
+e0a10000
+680084b3
+1fe27200
+20407e9f
+20407ef4
+20207ea2
+20407e9c
+68010aa2
+e0a10000
+20407ea2
+680084a2
+1fe27200
+20407e9c
+20407e9f
+9f260c00
+18c08dff
+20407ef4
+20207ea2
+6809445a
+60090aa2
+20405a88
+24215a76
+2040578a
+c000da76
+20405a94
+2422d9a6
+da200014
+20405a82
+58000009
+e0a08000
+680084b3
+1fe27200
+1fe0fe02
+e0a08000
+68010aa2
+e0a10000
+20407e9f
+20407ef4
+20407ea2
+20205aa5
+20405a84
+20205992
+d8402a00
+2040577c
+207a0000
+18c08dfb
+e8c10000
+60010aa2
+da200014
+20405a82
+58000009
+e0a08000
+6800c3af
+1fe27200
+1fe0fe02
+e0a08000
+68010aa2
+e0a10000
+d8c043b0
+20407ef4
+20407ea2
+20205aa5
+68090478
+6800c4e9
+c281d9dd
+2040576a
+203a5a76
+18c08dfe
+e8c10000
+d8402a00
+98467c00
+2022d9d3
+e8c08000
+1fe67c16
+202159ca
+18007e16
+1fe22600
+20407ea5
+1a60a201
+20405a82
+5800000b
+e0a08000
+1a627200
+20407e9f
+20207f01
+20407ea5
+6800c3af
+1fe0a201
+20405a82
+5800000b
+e0a08000
+6800c3af
+1fe27200
+d8c043b0
+20207f01
+680144fa
+98467c00
+2422d9bf
+20405a42
+243459bf
+70047a05
+20205a77
+e8c10000
+6001445e
+da200014
+20405a82
+5800000d
+e0a08000
+6801445e
+98002200
+68090478
+2040576a
+203a5a76
+e8c08000
+9a267200
+24215a76
+1f267c16
+202159f5
+18007216
+1a227e00
+98c08c00
+20407ef4
+20407ea2
+20205aa5
+20405ab1
+204056d7
+202059fd
+d9600002
+6809445a
+60090aa2
+20405756
+2040576d
+18c08dfe
+18c27e00
+6001049c
+20405a88
+24215a25
+68090aa2
+2040578a
+c000da28
+20405a8c
+2422da23
+19627e00
+c0005a28
+24345a19
+78547c00
+da200014
+20405a82
+58000011
+e0a08000
+680084b3
+1fe0fe04
+e0a08000
+20407ea2
+20205a1f
+680084b3
+c0085a28
+68010aa2
+1fe0ffff
+600104a0
+20405a9c
+68010aa2
+6001049e
+20405a97
+196097ff
+20405a84
+20205a05
+68010aa2
+600104a0
+20205a2c
+68010aa2
+1fe0ffff
+600104a0
+20205a2c
+20345a76
+20405a9c
+20205aa5
+18c22200
+680144fc
+1fe0a5fd
+204056e2
+6800c4e9
+c3025a3d
+68090478
+680144fa
+98467c00
+2422da3d
+20405a42
+24345a3d
+70047a05
+20205a77
+18002201
+20405a82
+58000013
+e0a08000
+20600000
+20407fe9
+6800c4c6
+c1000000
+6800c040
+c3820000
+20207fe7
+18c0a202
+680144fc
+1fe0a5fb
+204056e2
+20205a4d
+680144fc
+1fe22200
+20405a82
+58000017
+e0a08000
+68010478
+e0a10000
+680144fc
+1fe0f3fb
+6801450d
+1fe08c07
+e8c10000
+e0a10000
+20207ef4
+18002201
+20405a82
+58000019
+e0a08000
+20600000
+18c22200
+680144fc
+1fe0a5fd
+202056e2
+18422600
+1a20a203
+20405a82
+1a20a3fd
+5800001b
+e0a08000
+1a620400
+e0a90000
+20600000
+18422600
+1a20a203
+20405a82
+1a20a3fd
+5800001d
+e0a08000
+1a620400
+e0a90000
+20600000
+70047a0a
+18002205
+20405a82
+58000001
+e0a08000
+68008477
+e0a08000
+68010478
+e0a10000
+6800847a
+e0a08000
+20600000
+18002404
+20205847
+68090aa2
+18408401
+60090aa2
+20600000
+68090aa2
+6801445c
+98467c00
+20600000
+6808c45e
+da20445f
+680084a2
+1fe27200
+98467c00
+24628000
+da4004a3
+20207f88
+6808c471
+da204472
+20205a8e
+680084b3
+60008101
+1fe27200
+20407e9f
+20207ef4
+20407e9c
+6801049e
+e0a10000
+680104a0
+e0a10000
+68008101
+1fe27200
+20407ef4
+20207ea2
+20407e9c
+2040588a
+18a27e00
+98c62200
+2040588d
+1a227e00
+e0c10000
+1a20a204
+20405879
+1a227e00
+e0c08000
+20600000
+1fecfe00
+6001445a
+e8c10000
+6001445c
+20600000
+e8c08000
+e8c88000
+e8c90000
+c009dabb
+20600000
+e8c10000
+60014509
+700a9940
+20207d86
+da20000c
+da600012
+20405ac7
+58000008
+e0a10000
+68044496
+e0a40000
+20600000
+20405acf
+da400005
+20405847
+1a627e00
+e0a08000
+6800c508
+e0a08000
+20600000
+6800c508
+1fe0fe01
+6000c508
+c1800000
+70450801
+20600000
+6800c4c6
+c0005ae4
+c000dae7
+c0015ae9
+c040dadd
+c0415adf
+c041dae2
+20600000
+7044560d
+20205ae5
+7044560d
+70445401
+20600000
+7044560d
+20205aea
+70445600
+70445403
+20600000
+70445605
+20205ae5
+70445605
+70445400
+20600000
+6800c456
+79207e03
+6000c456
+20600000
+6800c456
+793ffe03
+6000c456
+20600000
+e8c08000
+c000db09
+c001db30
+c0025b4d
+c002db5a
+c0035b80
+c003dbc4
+c0045baf
+c004dbc0
+c0055bc4
+c005dbc4
+c0065bc5
+c006dbca
+20600000
+18002202
+20405c62
+5800000b
+e0a08000
+6800c456
+e0a08000
+20600000
+6000c44c
+e8c30000
+e0a30000
+6800c4c6
+c0005b5f
+20405b2b
+20405b26
+7044c403
+6800c44d
+c0005b18
+c000db18
+c001db18
+6800c4c6
+c0015b1b
+c1418000
+dfe00000
+600244c7
+20600000
+6800c4e9
+c2805b24
+da2044c7
+1a220a00
+df200003
+2040630d
+680144c9
+1fe17e07
+600144c9
+700a9934
+20207d86
+6800c44f
+c3818000
+6800c4c6
+c4038000
+20203402
+18002207
+20405c62
+6803c453
+e0a38000
+20600000
+18c22200
+6800c4c6
+c041db37
+1a220c00
+d8a0442a
+20407ebf
+20205b3d
+1a220c00
+d8a0442a
+20407ebf
+7044bf02
+7044c108
+20600000
+6800c4c6
+c283db45
+2040739c
+18002211
+20405c62
+58000003
+e0a08000
+20207497
+d8a0443a
+2040630c
+204071c5
+18002211
+20405c62
+58000003
+e0a08000
+20207201
+18c22200
+6800c4c6
+c283db61
+1a220c00
+20407394
+2022db75
+70047b04
+18002202
+20405c62
+58000005
+e0a08000
+6800847b
+e0a08000
+18000e0a
+20407f07
+7044c400
+700a9930
+20207d86
+70047b05
+20205b54
+d8a0042f
+1a220c00
+20407ebf
+6800c4c6
+c041db6c
+2040714f
+20405b7a
+6800c4c6
+c1c10000
+700a993b
+20207d86
+204071ba
+d8a00af2
+20407201
+da200af2
+da40442a
+df200010
+20407f88
+2422db53
+20205b7a
+20407390
+700a9931
+20407d86
+70442901
+7044c405
+18002211
+20405c62
+58000004
+e0a08000
+d8c0443a
+20207ebf
+d8a0041f
+20207ebf
+18002211
+20405c62
+58000006
+e0a08000
+6800c4e9
+c280db8a
+d8c04419
+20207ebf
+d8c044ea
+20207ebf
+d8a044cb
+1800720a
+2040630d
+1800220b
+20405c62
+58000007
+e0a08000
+680144cb
+e0a10000
+680444cd
+e0a40000
+20600000
+18002211
+20405c62
+58000008
+e0a08000
+58000000
+e0a40000
+e0a40000
+20600000
+18002208
+20405c62
+58000009
+e0a08000
+6800c495
+e0a08000
+680344a0
+e0a30000
+20600000
+70047b08
+20205b54
+6800c458
+6808c458
+98417e00
+20600000
+d8a044d5
+20407ebf
+20405bab
+2fec0001
+2020dba9
+6800c092
+c1850000
+20405bb9
+24740000
+20203410
+20407fe9
+6800c48e
+c1000000
+68008454
+2fe180c0
+20608000
+20207fe7
+20405bab
+2fec0001
+2020dba9
+20600000
+20600000
+d8a009be
+20407eb3
+7044bf02
+7044c101
+20600000
+d8a00a6e
+20407ebf
+7044c106
+7044bf02
+20600000
+18002241
+20405c62
+5800000c
+e0a08000
+d8c045d2
+20207eb3
+20407166
+18002211
+20405c62
+5800000d
+e0a08000
+20207201
+6800c4c4
+c17f8000
+d8400003
+98467c00
+24610000
+d8e0000a
+20407f16
+247a0000
+20205ba9
+473c402f
+6800c4c4
+c0005bef
+c000dbf5
+c0015bef
+c001dbf7
+c002dbfb
+c003dc07
+c0045c09
+c004dc10
+20600000
+6800c4c5
+c1820000
+7044c5ff
+7044c4ff
+700a993f
+20207d86
+7044c402
+20205b02
+7044c404
+58017700
+d8e0000a
+20207f08
+6800c4c5
+c0025bfe
+20600000
+7044c407
+700a9929
+20407d86
+20405b82
+6800c092
+c1850000
+20405bb9
+20740000
+20203410
+7044c408
+20205b8c
+6800c452
+6808c459
+98417e00
+2fec0001
+2020dc12
+7044c409
+20205b98
+20405ba0
+20205c12
+18000e0a
+20407f07
+7044c5ff
+7044c4ff
+700a993e
+20207d86
+473cc02f
+6800c4c6
+c4038000
+6800c4bf
+c1810000
+7044bf00
+6800c4c1
+c000dc58
+c0015c5f
+c001dc52
+c0035c39
+c003dc30
+c0045c26
+20600000
+6800c663
+1fe20e00
+1fe0fe01
+6000c663
+680244c7
+afefffff
+58000080
+7920fe00
+6000c664
+20205c55
+6800c4c2
+7044c200
+c000dc35
+7044bf02
+20600000
+700a9931
+20407d86
+7044c405
+20205bd5
+680089b9
+c001dc3d
+7044bf02
+20600000
+2040718d
+6800c4c6
+c041dc41
+20405b18
+2040717a
+da200af2
+da400a6e
+df200010
+20407f88
+2022dc49
+70047b0b
+20205b54
+20407595
+2422dc47
+70442901
+6800c4c6
+c040dc35
+c041dc35
+7044bf02
+7044c107
+20600000
+6800c4c6
+c041dc56
+70466400
+20205b3d
+70466300
+20205b1b
+7044bf02
+6800c4c3
+c001dc5c
+20600000
+7044c102
+7009b900
+20207a99
+7044bf02
+7044c103
+20205bcf
+18002406
+20205847
+680082db
+c0005c7b
+c000dc83
+c0015c8e
+c001dcaa
+c0025ce1
+c002dce6
+c0035cea
+c003dcf5
+c0045c99
+c004dcf5
+c0055cef
+c005dcf5
+c0065c9f
+c006dcf5
+c0095ca6
+c009dcf5
+da200002
+da400007
+20405842
+680082db
+e0a08000
+20600000
+e8c48000
+6004c3d3
+e8c10000
+6001045f
+6800843f
+79207e05
+6000843f
+20600000
+e8c28000
+6002c3ce
+e8c10000
+6001045f
+68090459
+98467c00
+24215c8e
+6800843f
+79207e06
+6000843f
+20600000
+58000014
+6001046d
+600144ba
+20600000
+da600013
+da200002
+da400002
+20405842
+1a627e00
+e0a08000
+20600000
+da200009
+da400009
+20405842
+58000001
+e0a40000
+20600000
+20748000
+da200006
+da40000c
+20405842
+6802c510
+e0a28000
+20600000
+da400013
+20205ca8
+da200001
+20205842
+e8c40000
+600444cd
+e8c10000
+600144cb
+e8c40000
+600444aa
+e8c20000
+60024411
+20405ccf
+473d402f
+6800c4c4
+c002dcbc
+6800c4e9
+c280dcbf
+6800c217
+245a67be
+6800c429
+c0005cc4
+7044c501
+20405cdd
+202073a2
+70442901
+d8c044ea
+d8a04419
+20407ebf
+20205cbc
+473dc02f
+7044c500
+7044c400
+700a9941
+20207d86
+da200002
+da40000d
+20405842
+58000006
+e0a08000
+20600000
+d8a044b2
+18007208
+2040630d
+d8a04415
+18007204
+2040630d
+da20000d
+da400004
+20405842
+680444b2
+e0a40000
+68024415
+e0a20000
+20600000
+da400005
+20205ca8
+da400006
+20205ca8
+e8c40000
+600444b2
+e8c20000
+60024415
+202073a2
+6800843f
+79207e04
+6000843f
+20600000
+20748000
+700a9932
+20407d86
+7044c504
+20205cdf
+7044c502
+20405cf3
+700a9933
+20207d86
+da40000b
+20205ca8
+20600000
+20758000
+473e402f
+58000000
+60008048
+60008055
+60008078
+6000807c
+6000c158
+600084d7
+6000816d
+600089b5
+70455b00
+70022900
+7004d800
+7009b500
+7009b400
+7004d100
+20600000
+473ec02f
+2054e2ff
+2454e303
+204062bc
+247a0000
+6800804c
+c4030000
+793ffe06
+793f8001
+6000804c
+68008551
+6808804c
+2feffe00
+79208401
+6008804c
+18410402
+6008807f
+6808804c
+1fe37e00
+6000807d
+473f402f
+6800807d
+c03fdd66
+c001ddb1
+c0025dc2
+c01e5d59
+c002dd55
+c007dfa8
+c0085e24
+c011de42
+c01cdfc1
+c01c5fbc
+c018de27
+c01bdeb0
+c013deac
+c019dea9
+c012deae
+c0135e3e
+c003de36
+c016de2d
+c0175e2e
+c000dea5
+c0015e90
+c0145fb3
+c004de86
+c005de5f
+c0045e43
+c0065e6a
+c00fde3a
+c0105e3c
+c010deca
+c0115eca
+c01adecb
+c01b5ecc
+c0125eca
+c01a5ecd
+c00bded6
+c008def2
+c0095ef6
+c009def8
+c006df0a
+c0075f0a
+c017deaa
+c0185f0a
+c0055f0a
+c00c5f0b
+c0195f0a
+c01edf10
+c01f5f51
+c01fdf4b
+c0205f78
+c020df8a
+c0035fa7
+c01d5d57
+70007e19
+70007c04
+20600000
+70007c06
+20600000
+70007c3b
+20600000
+68020552
+1fe3fe00
+600240d2
+68008556
+6000c0d9
+68028557
+6002c0e7
+6802855c
+e0a28000
+68008031
+79207e03
+60008031
+20600000
+473fc02f
+68008552
+79207e07
+6000807d
+c040dd88
+c0415d8d
+c04adeb1
+c04b5eca
+c045debf
+c041dda5
+c0425da7
+c0485d7a
+c04bdd9e
+c04c5da3
+c04cdd7d
+c04d5d80
+c1420000
+70007c82
+70007e19
+20600000
+70007c82
+70007e2e
+20600000
+20405d82
+70007c9a
+20600000
+20405d82
+20205d86
+d8a0465e
+68018553
+e0a18000
+20600000
+2020f6d8
+20600000
+68008554
+79207e07
+600084c9
+c045dd92
+20600000
+68008554
+79207e07
+600084c9
+c045dd96
+20600000
+6800c15a
+6808804c
+7d3a0405
+6008804c
+68008030
+c4028000
+793ffe05
+60008030
+680084d7
+247a0000
+70007c31
+20600000
+2434dda1
+70007c12
+202062eb
+70007c97
+20600000
+204062eb
+20205ffe
+70007c84
+20600000
+68088555
+18410401
+600884d0
+6800c1ce
+c0a8ddad
+7041ce00
+68008055
+c18a8000
+70005504
+2020631b
+47404030
+68008552
+600084c9
+c019ddd8
+c0045de7
+c007ddee
+c0085df4
+c008ddf5
+c0095dfd
+c00c5e13
+c00bde16
+c009ddcf
+c01edf1e
+c01f5f6a
+c0205f20
+c020df3d
+20600000
+4740c030
+68008552
+600084c9
+c000de0a
+c019dde2
+c005ddfe
+c0045e01
+c009ddd2
+c0205e0b
+c020de0e
+c00c5e11
+c00bde22
+20600000
+700a9920
+20407d86
+202021dc
+700a9919
+20407d86
+70455b02
+58000050
+d8e00006
+20207f08
+680084d1
+79207e00
+600084d1
+700a9901
+20407d86
+70007c8b
+68008055
+c082dd07
+70005506
+20600000
+7004ca0b
+70007c07
+70005500
+2020dd07
+20600000
+6800c1bd
+247a0000
+2040244f
+20405ffc
+20748000
+79200021
+20600000
+24748000
+70007c10
+6800804c
+c4010000
+70007c12
+20600000
+20205ffe
+20406059
+68008030
+c3820000
+70007c31
+68008055
+c1850000
+7000550b
+20600000
+20600000
+70007c07
+7004ca13
+20600000
+68008553
+c0035e07
+c18c0000
+7004ca18
+70007c07
+20600000
+7004ca06
+70007c07
+20600000
+20600000
+7009ae00
+70007c07
+20205d07
+7009ae00
+70007c07
+20205d07
+700a9924
+20207d86
+700a9923
+20407d86
+202026e9
+700a9922
+20407d86
+58000000
+60010075
+680141e3
+1fe3fe00
+60010032
+6800c1e5
+60008073
+6800c1e7
+60008074
+202026c6
+700a9921
+20207d86
+68088552
+60088054
+20205e38
+680084d1
+79207e02
+600084d1
+c3818000
+70007c31
+20205d07
+20600000
+6800c0d0
+68088552
+98467c00
+20215e38
+70007c04
+70007e1f
+70007d2e
+20600000
+20406157
+20205e38
+70007c03
+20600000
+70007c21
+20600000
+70007c22
+20600000
+68008055
+c1098000
+70005502
+20600000
+20600000
+20405ff9
+7004d401
+700a990a
+20407d86
+204062f3
+2420e001
+2434de4e
+70007c04
+70007d08
+70007e23
+20600000
+6800804b
+79207e02
+6000804b
+20600000
+6808804c
+7d3a0401
+6008804c
+20600000
+6800807f
+1fe37e00
+1fe17e01
+20600000
+6800c217
+207a0000
+680089b5
+205a67b2
+20600000
+20405e5a
+20405e56
+600084d5
+20405ff9
+70007c0c
+6800c1bd
+247a0000
+68008030
+c3830000
+70007e06
+20205d53
+da200040
+20407288
+68020552
+680a0592
+98467c00
+2022de73
+70007c07
+7004ca05
+20600000
+20405e77
+6800c65a
+203a5f3e
+20600000
+20407386
+204021b2
+6800804b
+2feffe01
+793ffe01
+6000804b
+68008055
+c00cde81
+c00c5e81
+20600000
+680089b5
+c1800000
+6800804c
+c3810000
+202063b1
+da200552
+da400582
+d8a00562
+20407352
+da200040
+20406311
+70007c0b
+68008030
+c3035ffc
+20600000
+6801015f
+1fe0f3fd
+68088552
+58000101
+98408a00
+d8c00554
+20407f01
+68088053
+68008553
+98467e00
+1fe67c0e
+20215ea0
+1840fe0e
+60008053
+70007c01
+20600000
+6800804c
+79207e03
+6000804c
+c2826006
+20600000
+68008552
+6000807d
+70007c02
+20600000
+20205e38
+70007c30
+20600000
+70007c28
+20600000
+70007c26
+20600000
+20600000
+68010032
+98000400
+68008553
+60008095
+984f8400
+68010554
+1fe3fe00
+60010096
+68020556
+1fe3fe00
+60020091
+18427e00
+60010098
+20600000
+6808c15a
+68008553
+9842fc00
+2422dd77
+2feffe00
+6800804c
+7920fe05
+6000804c
+70007c81
+70007d8b
+20600000
+20600000
+20205e38
+20205e38
+68010552
+60010171
+20600000
+68010555
+6808c172
+984ffe00
+d8400640
+98467c00
+20600000
+68010557
+203a5ef0
+20405ed0
+20215ef0
+6800c092
+1fe67c0a
+2042bcd5
+68008030
+c280def0
+68010553
+1fe3fe00
+60010075
+68010555
+1fe3fe00
+60010032
+68010557
+60008073
+98000400
+68010559
+60008074
+98467c00
+24215eed
+60008073
+70007c03
+70007d17
+20600000
+70007e24
+20205d53
+20405e38
+20405ff9
+2040728b
+202026b8
+20405e38
+202026c0
+68020552
+1fe3fe00
+2034df04
+6808c1bd
+243a5f01
+70007c04
+70007d13
+70007e24
+20600000
+70007c34
+70005500
+202021d9
+204021d9
+79200022
+6800816d
+793ffe02
+6000816d
+20205e38
+20600000
+70007c03
+70007d18
+700a992e
+20407d86
+202026e9
+68008552
+c080df1c
+68008553
+c080df1c
+68008554
+c0985f1c
+204062fc
+2020df19
+7009ae01
+70007c03
+70007d3d
+20205d07
+70007e24
+20205d53
+70007c3e
+20600000
+6800c662
+c000df27
+c0015f2b
+204062fc
+20608000
+7009ae08
+20600000
+20407962
+700a9935
+20407d86
+20205f23
+204062fc
+20608000
+6800c663
+c009df3b
+1fe0fe01
+6000c663
+7009b001
+7009ae04
+6800c663
+1fe20e00
+6803468a
+afefffff
+58000080
+7920fe00
+6000c664
+20600000
+7009ae08
+20600000
+20405f43
+6800c665
+207a0000
+70466500
+700a9938
+20207d86
+204062fc
+2440f965
+2040f975
+204062fc
+20608000
+7009ae0c
+7009b001
+20600000
+d8a00a6e
+d8c00552
+20407ebf
+6800c662
+c1010000
+202076d8
+680089af
+c003df55
+680089ae
+c080df68
+680089b7
+1fe60a20
+24215f68
+d8a009c6
+98a08a00
+68040552
+e0a40000
+6804055a
+e0a40000
+680089b7
+1fe0fe10
+600089b7
+c0985e38
+204062fc
+2020de38
+7009b801
+7009ae02
+7009b001
+20205e38
+70007e24
+20205d53
+680089b6
+c0185f6e
+70007c3e
+20205d07
+204062fc
+2020df77
+6800c662
+c0015f75
+7009b001
+7009ae04
+20205d07
+700a9936
+20207d86
+20205d07
+680089af
+c003df7c
+680089ae
+c0835f88
+d8a00a2e
+68040552
+e0a40000
+6804055a
+e0a40000
+204062fc
+2020df86
+7009ae07
+7009b001
+20205e38
+7009af04
+202076d8
+70007e24
+20205d53
+680089af
+c005df8e
+680089ae
+c0845f9d
+d8a00a5e
+d8c00552
+20407ebf
+204062fc
+2020df9a
+6800c662
+c000df9f
+70466100
+7009ae09
+7009b001
+70007d41
+20205d07
+7009af09
+7009b101
+20205d07
+70007e24
+20205d53
+6800c661
+c283dfa4
+79207e06
+6000c661
+20600000
+c2805f95
+70466100
+20205f9d
+20205d07
+6800816d
+793ffe01
+6000816d
+20405e38
+24748000
+68008552
+6808804b
+793a0404
+7d3a0405
+6008804b
+20600000
+680c0552
+68008055
+c1818000
+6800816d
+c3025fba
+70005514
+20600000
+70005504
+20600000
+6800817f
+6000815b
+70007c03
+70007d38
+20600000
+70007c03
+70007d39
+18007209
+d8c00552
+d8a00152
+e8c08000
+1fe2fe55
+e0a08000
+c2005fc6
+68008152
+68088151
+793f8407
+793f8404
+c07fdfda
+c0005ff3
+c002dfe7
+c003dfe6
+c0035fe7
+c0045fe6
+c000dfdf
+c0015fdf
+c001dfdf
+c004dfdf
+c0025fdf
+20600000
+68008151
+79207e03
+79207e02
+60008151
+20600000
+79200404
+70018005
+68010159
+98007200
+6001015f
+d8a00551
+20407f73
+79200407
+79200402
+18007e00
+6000800b
+600100fa
+600100fc
+600100f8
+600100f6
+68008153
+2fe1fe00
+79208406
+60088151
+20600000
+793f8011
+70015100
+6800817f
+793ffe06
+6000817f
+20600000
+d8c00552
+d8a00562
+20207ebf
+70007c09
+20600000
+24748000
+70007c11
+20600000
+da2040a0
+20407255
+70007c03
+70007d08
+20600000
+7000720a
+70007c07
+7004ca16
+20600000
+47414030
+78547c00
+204062c1
+68008048
+207a0000
+c283e03f
+c000e16f
+c00160e4
+c001e04a
+c0026060
+c013e1db
+c0146108
+c01860f4
+c012e1d6
+c0136103
+c018e1c3
+c01be16a
+c019e15c
+c0046259
+c004e24f
+c005e264
+c006626d
+c007e162
+c0086292
+c008e288
+c003e152
+c015617e
+c005617f
+c00fe1bc
+c00360f9
+c010e15f
+c016e1b2
+c01761b7
+c011615f
+c01a6180
+c009e195
+c00be1a4
+c009628f
+c017e1aa
+c00c61af
+c01ee1ff
+c01f620b
+c01fe21d
+c0206227
+c020e23c
+c011e24b
+c01de246
+c002e24c
+c014e24d
+c01c624e
+c01ce175
+20202a8c
+20600000
+c040e06d
+c0426099
+c0416076
+c041e10d
+c045e118
+c04be14e
+c04ce0d5
+c04d60a4
+c04ae0da
+c04b60db
+20202a8c
+18007e02
+20406298
+68008049
+e0a08000
+204062a7
+4741c030
+68008049
+c0046080
+c007e084
+c008608f
+c00be05f
+c019e092
+c020e098
+c008e059
+20600000
+68008055
+207a0000
+7000551b
+5800000c
+d8e00007
+20207f08
+202026c6
+18007e03
+20406298
+68008049
+c005e068
+e0a08000
+6800804a
+e0a08000
+202062a7
+e0a08000
+6800804a
+e0a08000
+d84004d5
+202062e2
+18000e04
+204062a0
+5800007f
+e0a08000
+68008049
+793ffe07
+e0a08000
+68008049
+202062a7
+18000e05
+204062a0
+5800007f
+e0a08000
+68008049
+793ffe07
+e0a08000
+6800804a
+e0a08000
+202062a7
+2040244f
+204062f3
+20608000
+20205ffc
+6800804b
+c282e08b
+c4020000
+70007c12
+793ffe04
+204062eb
+2020608d
+70007c10
+793ffe05
+6000804b
+20600000
+204062fc
+2020dffe
+20600000
+70007c8b
+680084d1
+79207e00
+600084d1
+700a9901
+20207d86
+20600000
+18000e0c
+204062a0
+58000001
+e0a08000
+680104ce
+e0a10000
+58000000
+e0a18000
+58000000
+e0a20000
+202062b0
+18000e05
+204062a0
+6801c65b
+e0a18000
+204062b0
+70466501
+6800c65b
+c000e0b5
+c00160af
+c001e0bb
+20600000
+6800c65e
+c00060c7
+c000e0c7
+c00160c7
+c001e0c1
+20600000
+6800c65e
+c00060c1
+c000e0c5
+c00160c7
+c001e0c1
+20600000
+6800c65e
+c00060c1
+c000e0c1
+c00160c1
+c001e0c1
+20600000
+70466203
+6800c55c
+c28033e9
+20600000
+70466201
+20600000
+70466202
+20600000
+d8e00000
+202060cd
+d8e00000
+202060d1
+6800c55c
+f9207e00
+6000c55c
+20600000
+6800c55c
+f93ffe00
+6000c55c
+20600000
+18000e05
+204062a0
+6801c65b
+e0a18000
+202062b2
+20600000
+18000e09
+204062a0
+68008095
+e0a08000
+68010096
+e0a10000
+68020091
+e0a20000
+202062b0
+18007e11
+20406298
+68008049
+1fe20400
+c00060ec
+c00760ec
+c00e60ec
+20600000
+e0a08000
+6800c515
+e0a08000
+df20000e
+58004516
+98408c00
+20407f01
+202062b0
+18007e03
+20406298
+58000114
+e0a10000
+202062b0
+18007e03
+20406298
+68020165
+9c467e00
+2034e0ff
+1fe67e00
+1feb7e00
+793ffe0f
+e0a10000
+202062b0
+18007e06
+20406298
+6802c510
+e0a28000
+202062b0
+18007e09
+20406298
+68044098
+e0a40000
+202062b0
+18000e0c
+204062a0
+58000001
+e0a08000
+680104ce
+e0a10000
+58000000
+e0a18000
+58000000
+e0a20000
+202062b2
+18000e03
+204062a0
+6800c15a
+e0a08000
+78547c00
+204062b2
+24740000
+24748000
+6800c0d8
+c4000000
+20406132
+2020613c
+47424030
+6800c09e
+79207e03
+6000c09e
+58000101
+600104ce
+20600000
+4742c030
+6800c09e
+793ffe03
+6000c09e
+58000000
+600104ce
+20600000
+7040d803
+58000000
+60024142
+d8a040da
+20406140
+d8a040e7
+20406140
+d8a04146
+20406140
+20206147
+d8a040e7
+20406140
+20406147
+2020614a
+58ffffff
+e0a18000
+e0a18000
+e0a18000
+5800007f
+e0a08000
+20600000
+58000000
+600140d6
+20600000
+6800c0d8
+79207e02
+6000c0d8
+20600000
+18000e02
+204062a0
+2434e2b0
+202062b2
+18007e02
+20406298
+680084ca
+e0a08000
+204062b2
+6800804b
+79207e03
+6000804b
+70007232
+20600000
+18007e01
+20406298
+202062b2
+18007e01
+20406298
+202062b0
+18007e02
+20406298
+6800804c
+2fec0002
+7920fe00
+1fe17e01
+e0a08000
+202062b2
+18007e03
+20406298
+68010051
+e0a10000
+202062b2
+700072fa
+18007e02
+20406298
+68008053
+e0a08000
+202062b2
+18007e0a
+20406298
+d8c00152
+18007209
+e8c08000
+1fe2fe55
+e0a08000
+c2006179
+202062b2
+202062b2
+202062b2
+20748000
+2040282d
+18007e09
+20406298
+68010171
+e0a10000
+6801c0a0
+e0a18000
+6800c0a3
+e0a08000
+680140a4
+e0a10000
+c581e191
+793f8003
+204062b2
+70007c13
+20600000
+204062b0
+70007c03
+70007d13
+20600000
+d8400200
+2034e199
+1d027e00
+2020619a
+1c427e00
+1c227e00
+9840fe00
+1fe17ffc
+60020034
+18007e05
+20406298
+68020034
+1fe37e00
+e0a20000
+202062b2
+18007e0a
+20406298
+d8c004d9
+e8c48000
+e0a48000
+202062b2
+18007e03
+20406298
+58000114
+e0a10000
+202062b2
+18007e01
+20406298
+202062b2
+18007e02
+20406298
+6800c0d0
+e0a08000
+202062b2
+18007e02
+20406298
+58000005
+e0a08000
+202062b2
+18007e02
+20406298
+58000000
+e0a08000
+202062b2
+70007c2e
+20600000
+6800c092
+1fe67c0a
+2042e1c1
+68008030
+79207e04
+60008030
+1c427e00
+600204e9
+680084d1
+c281e1d4
+79207e03
+600084d1
+700a9905
+20407d86
+18007e01
+20406298
+202062b2
+70004800
+20600000
+18007e06
+20406298
+6802c510
+e0a28000
+202062b2
+18007e09
+20406298
+68044098
+e0a40000
+202062b2
+7009b101
+6800c5b1
+c1808000
+7009af13
+20600000
+204062ef
+70007c99
+7009af03
+20600000
+204062ef
+70007c3d
+7009af07
+20600000
+da200a4e
+da400a6e
+df200010
+20407f88
+2022e1f7
+7009af00
+204076da
+70007e24
+70007d40
+20205d53
+7009af0a
+204076d8
+70007d40
+20205e38
+70007c40
+20600000
+70007c3d
+20600000
+7009b600
+18007e04
+20406298
+18007e01
+e0a08000
+18007e01
+e0a08000
+18007e30
+e0a08000
+204062fc
+2020e2b2
+202062b0
+18007e11
+20406298
+680089b6
+d8c0462a
+98c08c00
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+680089b6
+1fe0fe10
+600089b6
+204062fc
+2020e2b2
+202062b0
+7009ae06
+70007c3f
+20600000
+18007e11
+20406298
+d8c00a4e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+202062b0
+70007c40
+20600000
+204062fc
+2040f612
+18007e11
+20406298
+d8c00a1e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+204062fc
+2420e2b0
+2020e2b2
+7009af0f
+204062ef
+70007c0b
+20406307
+2020f64e
+20207658
+204062eb
+70007c41
+20600000
+18007e11
+20406298
+d8c00a4e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+204062fc
+2420e2b0
+2020e2b2
+18007e03
+20406298
+5800fffe
+e0a10000
+202062b0
+202062b2
+202062b2
+202062b2
+202062b2
+2040630b
+da2040a0
+20406311
+18007e11
+20406298
+da200582
+da400562
+20407352
+2434e2a7
+202062ad
+2040630b
+da200040
+20407255
+18007e11
+20406298
+d8c00562
+20407ebf
+68008055
+c00ce2b2
+c00c62b2
+202062ad
+680089b5
+203a626a
+204062fc
+2040e2ef
+2440e2eb
+2020626b
+204062ef
+2040630b
+2020625c
+da2040a0
+20407288
+18007e05
+20406298
+68020592
+e0a20000
+d84004d5
+204062e2
+20407386
+204062fc
+2020e27c
+7004d801
+680089b5
+207a0000
+70007c0b
+6800c1bd
+207a0000
+204062fc
+2420e284
+680084d7
+207a0000
+70007c0f
+20600000
+c6908000
+793f8021
+70007c0f
+20600000
+2040630b
+2040728b
+18007e11
+20406298
+d8c00562
+20407ebf
+202062ad
+18007e01
+20406298
+202062ad
+18007e02
+20406298
+18007e10
+e0a08000
+60008054
+202062ad
+1fe9fe00
+1fe1fe07
+600084b6
+df200011
+d8a004b8
+20407ed4
+d8a004b8
+20600000
+1fe1227f
+7000487f
+18e27e00
+20406298
+1a227e00
+e0a08000
+20600000
+68008048
+1fe3fe00
+6808804c
+284ffe01
+7920fe00
+202062b7
+6808804c
+18410401
+202062b3
+18000400
+202062b3
+18000401
+68008048
+1fe3fe00
+7934fe00
+9842fe00
+600084b7
+70004800
+204062c7
+78347c00
+20600000
+6800807c
+207a0000
+204062c1
+6800807c
+20600000
+47434030
+68008048
+203a62c7
+68008078
+247a0000
+202062d1
+68008078
+203a62d7
+68018078
+60018048
+6808807b
+6800804c
+793ffe01
+9841fe00
+6000804c
+70007800
+6800807c
+207a0000
+6802007c
+60020078
+70007c00
+20600000
+6800807c
+207a0000
+6801807c
+60018048
+6808807f
+6800804c
+793ffe01
+9841fe00
+6000804c
+70007c00
+20600000
+4743c030
+6800804c
+1fe22600
+e8408000
+20405e52
+204062a7
+1a627e00
+6000804c
+20600000
+6808804c
+793f8400
+6008804c
+20600000
+6808804c
+79200400
+6008804c
+20600000
+7d34fe01
+6808804c
+9842fe00
+2feffe01
+20600000
+6800804c
+7934fe01
+6000804c
+20600000
+680089b4
+2fe0fe01
+20600000
+680089b4
+79207e07
+600089b4
+20600000
+680089b4
+793ffe07
+600089b4
+20600000
+680089b4
+2feffe07
+600089b4
+20600000
+d8a00562
+18007210
+180a7e00
+e0a08000
+c200630d
+20600000
+20407259
+da2041be
+da400592
+ea240000
+68088030
+7d3a0406
+60088030
+1a220a00
+20407352
+202021c4
+47444031
+204062bc
+247a0000
+68008055
+207a0000
+c002636f
+c002e374
+c0016366
+c001e37c
+c0076369
+c0036398
+c003e3b0
+c004e3b1
+c00563ba
+c005e3be
+c0066386
+c006e389
+c007e38f
+c0096359
+c009e37c
+c008635c
+c00a6356
+c00ae37c
+c00b6350
+c00c6355
+c00be349
+c00ce34f
+c00d633a
+c00de344
+70005500
+20600000
+680084d1
+c4010000
+c4018000
+70005500
+20406340
+20206cef
+6800816d
+c4008000
+7000550a
+20600000
+d8e00007
+20407f16
+247a0000
+7000551a
+20600000
+6800816d
+793ffe00
+6000816d
+70005519
+70007c0b
+20600000
+20600000
+680084d4
+c1810000
+204063c0
+70005518
+20600000
+20600000
+70005515
+70007c83
+20600000
+70005513
+70007c25
+20600000
+6800c55b
+c1000000
+c000e364
+d8e00006
+20407f16
+247a0000
+70455b00
+2020637d
+20748000
+20206398
+70005503
+70007c27
+20600000
+70007c13
+79200003
+70005505
+580001ff
+600104d2
+20600000
+70005505
+7004d2ff
+793f8022
+70007c33
+20205d04
+c6110000
+680104d2
+1fe67e01
+2022e37a
+600104d2
+20600000
+7000550e
+20600000
+20600000
+680084d1
+c4018000
+c4010000
+6800816d
+793ffe02
+6000816d
+70007c13
+70005510
+20600000
+7000550d
+70007c31
+20600000
+680084d1
+c4010000
+70005500
+20600000
+70005506
+20600000
+680084d2
+1fe0ffff
+203a6394
+600084d2
+20600000
+70007c07
+7004ca16
+70005500
+20600000
+6800816d
+c281637d
+c280639d
+7000551a
+20600000
+6800c1bd
+203a63a9
+680084d1
+c4018000
+c4010000
+680204e9
+d8400064
+98408400
+1c427e00
+98467c00
+24610000
+20206349
+70005516
+70468904
+58003030
+6001468a
+e0a10000
+7004d402
+20206350
+20600000
+6800816d
+c280e3b5
+7000551a
+20600000
+6800816d
+793ffe01
+6000816d
+70007c0f
+20600000
+680084d8
+207a0000
+70005500
+202063b5
+7000550c
+20600000
+6800804b
+c28163c5
+204062ef
+70007c08
+20204d04
+6800804b
+793ffe02
+6000804b
+20406001
+204062f8
+20204d04
+58000004
+6000c689
+58003030
+e0a10000
+e0a10000
+20600000
+47464031
+68108073
+d8400006
+9841fe00
+60108073
+68108077
+9841fe00
+60108077
+204063ee
+68108077
+793ffe01
+793ffe02
+60108077
+2000001e
+202063f2
+68108073
+d84000c0
+9841fe00
+60108073
+68108077
+9841fe00
+60108077
+204063ee
+68108077
+793ffe06
+793ffe07
+60108077
+2000001e
+202063f6
+68108081
+1fe17efc
+60108081
+20600000
+68108081
+1fe1fe01
+60108081
+20600000
+68108081
+1fe1fe03
+793ffe04
+60108081
+20600000
+1fe22400
+2040640f
+20000064
+1a427e00
+20406414
+1fe22400
+20406411
+20000064
+1a427e00
+20600000
+1fe22400
+2040640f
+20000064
+1a427e00
+20406413
+20406411
+20000064
+20600000
+6808c214
+2020680e
+6808c214
+20206829
+6808c214
+20206825
+202064ec
+202064f3
+24346419
+68108085
+1fe1fe02
+60108085
+18427c00
+2022e41c
+1a627a00
+2fcc0000
+202064b9
+18000404
+da2001fe
+68108085
+1fe17efd
+60108085
+20406419
+da2055aa
+680101fe
+e8c90000
+9a267c00
+20600000
+d8400002
+da200204
+20406419
+68010204
+600101f7
+20546430
+20600000
+d8400010
+da200206
+68108085
+1fe17efd
+60108085
+20406419
+d8c00206
+df200010
+20407478
+20407428
+20407491
+20207422
+7856fc00
+2040641e
+24628000
+7836fc00
+70802380
+70802200
+70802400
+da208025
+20406415
+70802300
+d8400006
+2040641f
+24628000
+e8c10000
+98002200
+20406419
+20206446
+20407f99
+58001000
+600101f7
+da6065e5
+df200002
+2040641e
+24628000
+680101f7
+1ff0fe00
+9840fe00
+1ff0fe00
+600101f7
+c2006452
+20206446
+20407f99
+78547c00
+2040666a
+58000000
+da2001f3
+d8400002
+204066b3
+680101f3
+c303e46e
+70805025
+580007f0
+da200206
+d8400010
+204066b3
+70800608
+7920002b
+d8c00206
+20407484
+78347c00
+7041da00
+204064b0
+680101f3
+1ff0fe00
+d84007ff
+98417e00
+2022e47b
+2040666f
+da6066b8
+20546430
+2040643c
+680081f2
+c300646f
+2040666d
+7041da00
+204064b0
+204065c2
+680081f3
+c283648e
+204064aa
+2436e486
+680081f2
+c300647d
+2020649b
+204065bf
+680081f3
+c283648e
+204064aa
+2436e48e
+680081f2
+c300647d
+2020649b
+7041da00
+204064b0
+680081f3
+c282e49b
+58000000
+600181f6
+20406502
+da606578
+20406429
+2040643c
+2436e49b
+680081f2
+c300648f
+c515e49d
+204064a3
+680081f3
+c30264a3
+70805021
+20404c0e
+20404c2e
+202064a1
+58000000
+60040206
+6004020e
+18007004
+20407492
+70805021
+20600000
+58000000
+600101f7
+da6065e5
+204065a3
+20406429
+2020643c
+6800c1da
+1fe0fe01
+1fe67c03
+242164b6
+6000c1da
+20600000
+204064a3
+20407fa1
+20600000
+680081f2
+1fe3fe00
+7920fe00
+2a2c000f
+20608000
+600081f2
+20600000
+68108085
+c4008000
+202064c6
+6810812c
+afefffff
+20608000
+68108108
+c300e4c3
+20407422
+202064c3
+68014199
+207a0000
+70802380
+70802200
+70802400
+6809419b
+184bf200
+98000c00
+e8c08000
+60108025
+c20064d2
+70802300
+20600000
+4746c031
+204064dd
+202063f2
+204064dd
+204063ee
+202063f6
+6800c212
+60108086
+6800c213
+60108087
+580001f5
+6011008a
+580001fa
+6011008c
+202063ee
+68108086
+79207e07
+60108086
+793ffe07
+60108086
+20600000
+79207e07
+600101f5
+47474031
+70808802
+70808e00
+70800602
+202064fc
+18000401
+600081f5
+4747c031
+70808801
+6019008e
+70800602
+204064fc
+680081fa
+20600000
+680140d6
+1fe0fe01
+600140d6
+6810812c
+c301e4fc
+20600000
+70808640
+70808700
+68108081
+793ffe00
+79207e01
+60108081
+58000000
+600201f5
+20600000
+58000000
+6011008e
+58000001
+60110088
+580001f5
+6011008a
+7001f506
+70800602
+202064fc
+78547c00
+1fe22400
+6800c239
+c1800000
+78347c00
+1a427e00
+20206522
+6800c239
+c000e522
+c0016528
+c001e530
+c0026537
+c002e53d
+20600000
+6001c232
+1a227e00
+60014235
+60094237
+70423902
+20206502
+20406502
+70423903
+2040650b
+da2001f5
+6801c232
+70808804
+d8400020
+20206556
+20406502
+2040650b
+58000005
+204064f3
+c3800000
+70423904
+20600000
+20406502
+70423905
+2040650b
+2040654a
+20406552
+20206545
+20406502
+2040650b
+58000005
+204064f3
+c3800000
+70423900
+68014201
+20207f9c
+68020aa2
+68094235
+184085fc
+e0420000
+20600000
+68094235
+18422200
+184085fc
+e8420000
+60020aa2
+68094237
+6801c232
+20600000
+18408404
+60190088
+d8400002
+1a20a3fc
+e2288000
+1ff10400
+e0a88000
+1fec8400
+e0a88000
+e0a08000
+1a227e00
+6011008a
+58000000
+6011008e
+70800602
+202064fc
+6019008e
+1ff10400
+600881f6
+1fec8400
+600881f7
+600081f8
+58000004
+60110088
+7001f503
+580001f5
+6011008a
+1a227e00
+6011008c
+68108086
+2a2c000f
+7920fe06
+60108086
+70800602
+6810812c
+c283e574
+d8e00003
+202064fc
+6019008e
+58000004
+60110088
+7001f503
+580001f5
+6011008a
+1a227e00
+6011008c
+68108086
+2a2c000f
+7920fe06
+60108086
+70800602
+6810812c
+c283e585
+d8e00003
+204064c0
+204064fc
+2feffe02
+204064b9
+680081f6
+1ff02400
+680081f7
+1fed7e00
+9a41a400
+680081f8
+9a41fe00
+9840fe00
+600081f8
+1fecfe00
+600081f7
+1fecfe00
+600081f6
+20600000
+70801001
+20600000
+7080910c
+7080920d
+7080930d
+7080940d
+7080950d
+7080960c
+202065a9
+70809105
+70809207
+70809307
+70809407
+70809507
+70809605
+6810807b
+1fe1fec0
+6010807b
+68108081
+1fe1fe10
+60108081
+20600000
+6810812c
+c302e5b0
+20600000
+60110098
+1a227e00
+6011009a
+1a427e00
+6011009c
+18427e00
+6011009e
+d8400001
+7d3a0401
+60108090
+70800604
+202065b0
+79200028
+70421108
+20600000
+793f8028
+70421120
+20600000
+6800c203
+9a40fe00
+600081f7
+202065cc
+680101f7
+1ff0fe00
+600081f7
+58000003
+60110098
+7001f6a0
+7001f8a1
+202065eb
+60090aa2
+204065d6
+68090aa2
+20406606
+202065dd
+6800c23a
+c17f8000
+c30365db
+580249f0
+20402a8f
+6808c23a
+20206829
+6808c23a
+20206825
+47484032
+c51465c5
+68014203
+9a40fe00
+1ff0fe00
+600101f7
+4748c032
+c51465c9
+58000004
+60110098
+7001f6a0
+7001f9a1
+580001f6
+6011009a
+6019009e
+1a227e00
+6011009c
+58000002
+2a2c000f
+7920fe00
+60108090
+70800604
+d8e00005
+204064c0
+204065b0
+2feffe04
+204064b9
+c5146601
+680101f7
+1ff0fe00
+9840fe00
+1ff0fe00
+600101f7
+20600000
+680081f7
+9840fe00
+1ff0fe00
+600101f7
+20600000
+68014203
+9a40fe00
+60010a9a
+47494032
+60090aa2
+1a227e00
+60010ab9
+2040661d
+68090ab2
+68010ab9
+1fe22200
+68010a9a
+2040663d
+68010ab2
+68090ab9
+98408400
+60090ab9
+68090a9a
+98408400
+60090a9a
+68010aa2
+243a660d
+20600000
+4749c032
+6800c211
+1fe0ffff
+68090a9a
+9841fe00
+1fe0fe01
+60018ab6
+68010aa2
+9840fe00
+68098ab6
+98467e00
+2421662f
+60010aa2
+68018ab6
+68090a9a
+98467e00
+60010ab2
+20600000
+68010aa2
+60010ab2
+58000000
+60010aa2
+20600000
+18408402
+60190098
+1a20a3fe
+ea298000
+18422400
+d84000a0
+e2288000
+e0a08000
+2020664a
+1fe22400
+474a4032
+c5146634
+1a427e00
+18408403
+60190098
+1a20a3fd
+ea298000
+18422400
+d84000a0
+e2288000
+1ff0fe00
+e0a10000
+1a227e00
+6011009a
+58000000
+6011009e
+70809001
+70800604
+204065b0
+1a427e00
+e2218000
+474ac032
+7001f900
+58000001
+60110098
+7001f6a0
+580001f6
+6011009a
+58000000
+6011009e
+6011009c
+58000003
+60108090
+70800604
+204065b0
+6810812c
+c4030000
+200005dc
+680081f9
+1fe0fe01
+600081f9
+1fe67c28
+24610000
+20206655
+70897370
+20000bb8
+20600000
+70897330
+20600000
+1fe9fe00
+60110045
+70804b00
+20600000
+2040666f
+204066a0
+ea288000
+1a20a201
+18000e00
+a84c0000
+2020e697
+68108046
+79207e06
+79207e07
+60108046
+70804702
+70804782
+793ffe07
+60108046
+7080478a
+2000000b
+708047ca
+20000021
+7080474a
+2000002c
+708047ca
+20000016
+7080478a
+20000021
+70804782
+20000001
+70804792
+2000000a
+708047b2
+68108007
+70804792
+20000001
+70804782
+afec0000
+2020e678
+68110045
+1fe0fe01
+60110045
+18e08e01
+28e01e08
+2420e678
+c2006675
+70804783
+20600000
+70804782
+2000000c
+70804780
+70804782
+20000096
+20600000
+204066a0
+708047a2
+1a227e00
+60110048
+7920040b
+2fec000f
+7920840f
+6019004a
+70800601
+20600000
+6810812c
+c300e6b0
+20600000
+2040666f
+204066a6
+204066b0
+70804783
+20600000
+68110124
+60110045
+204066a6
+d8e00001
+204064c0
+204066b0
+2feffe00
+204064b9
+70804783
+20600000
+6811005e
+98001400
+20600000
+19427e00
+6011005e
+20600000
+18627e00
+60110058
+20600000
+68110058
+1fe20600
+20600000
+68014243
+60110052
+20600000
+1f227e00
+207a0000
+1f20f3f8
+204166de
+20628000
+202166d3
+1f20f208
+1f20f3fc
+204166e1
+20628000
+202166d8
+1f20f204
+202066e4
+e8c40000
+e1440000
+20600000
+e8c20000
+e1420000
+20600000
+1f227e00
+207a0000
+e8c08000
+e1408000
+c20066e6
+20600000
+1f227e00
+207a0000
+1f20f3f8
+204166f7
+20628000
+202166ec
+1f20f208
+1f20f3fc
+204166fa
+20628000
+202166f1
+1f20f204
+202066fd
+e8640000
+e0a40000
+20600000
+e8620000
+e0a20000
+20600000
+1f227e00
+207a0000
+e8608000
+e0a08000
+c20066ff
+20600000
+1f227e00
+207a0000
+e8608000
+e1408000
+c2006705
+20600000
+700a993d
+20207d86
+474b4032
+6800c217
+207a0000
+204067a3
+2042e7a9
+2040673e
+6800c217
+1fe22600
+68094215
+6009018c
+1a627e00
+203a6709
+1a60a7ff
+18422200
+ea208000
+68088184
+98467c00
+2042e725
+20216721
+ea208000
+1fe0fe01
+e2208000
+6809018c
+18408422
+6009018c
+20206715
+58000000
+e2208000
+68008185
+e0a08000
+c099e733
+da4041be
+e8c30000
+e0a40000
+58000000
+e0a40000
+1a420c00
+20407ebf
+18007c01
+20600000
+c01b6737
+c01be73b
+da404419
+2020672b
+d8c044d5
+20407ebf
+d8c04419
+20206730
+d8c044cd
+20407ebf
+20206739
+20407fe9
+6800c217
+207a0000
+68014682
+c2806754
+474bc032
+6800c48e
+c000674d
+68008454
+2fe180c0
+2020e74d
+2fe18040
+2020e752
+2fe18000
+2020e750
+70018535
+6803044f
+20206757
+70018537
+20206757
+70018536
+20206757
+474c4033
+70018533
+68030040
+60030186
+68014215
+efe88000
+1fe0fe01
+6001018c
+60088184
+6800c217
+1fe22600
+6801018c
+1fe22200
+2040676f
+20740000
+6809018c
+18408422
+6009018c
+184085ff
+e8408000
+60008184
+1a60a7ff
+2422e75f
+6800c217
+1fe0ffff
+60008184
+20600000
+68008185
+c099e776
+da400185
+df200007
+20407f88
+2022ffe7
+20600000
+c01b6779
+c01be794
+20206771
+ea288000
+98467c00
+24628000
+d8a00ac2
+df200010
+20407ed4
+68018452
+60018ac2
+2040678b
+68010adf
+1ff0fe00
+1fed0400
+e8c08000
+9840fe00
+6809844f
+98467c00
+2022ffe7
+20600000
+d8c00ac2
+20407486
+ea208000
+20407487
+18006c38
+18006c00
+2040741d
+d8a00ad2
+20207497
+ea288000
+98467c00
+24628000
+18c22200
+18c0a608
+da4044cd
+df200008
+20407f88
+2022ffe7
+1a622200
+da4044d5
+df200008
+20407f88
+2022ffe7
+20600000
+68014215
+efe88000
+1fe0fe22
+efe08000
+98467c00
+20600000
+6800c217
+1fe27200
+68094215
+58000000
+e0408000
+18408422
+1fe0fe01
+c20067ad
+20600000
+474cc033
+2040673e
+68008030
+79347e06
+60008030
+243467bc
+1a208c0a
+d8a041be
+20407ebf
+202067d7
+7041bd00
+20600000
+6804c4cb
+203a67ca
+2040673e
+243467ca
+6801018c
+1fe08c01
+d8a044d5
+20407ebf
+d8a04419
+20407ebf
+70442901
+20600000
+70442900
+20600000
+6803044f
+60030186
+70018534
+202067d3
+68030040
+60030186
+70018533
+6800c092
+c005670b
+c28342da
+20600000
+680441be
+680c41c6
+9841fe00
+207a0000
+7041bd01
+20600000
+474d4033
+79200407
+2040681d
+7d208407
+474dc033
+18467cff
+20628000
+284c0007
+18410e1f
+680200a1
+f920fe00
+600200a1
+680200a5
+fd20fe00
+600200a5
+20600000
+474e4033
+18467cff
+20628000
+284c0007
+18410e1f
+680200a1
+f93ffe00
+600200a1
+680200a5
+f93ffe00
+600200a5
+20600000
+204067ed
+202067fe
+18467cff
+20628000
+2455e7e1
+d8a0807c
+20406830
+79400407
+d8a08078
+20406830
+793f8407
+d8a08070
+20206830
+d8a0807c
+20406830
+793f8407
+d8a08078
+20406830
+793f8407
+d8a08070
+20206830
+18467cff
+20628000
+79400407
+2040682f
+79200407
+d8a08070
+20206830
+18410e07
+18497e00
+1fe17e03
+98a08a00
+e8a08000
+20600000
+d8a08074
+2020681e
+d8a0811c
+20406815
+284ffe07
+2020e823
+afec0000
+20600000
+afefffff
+20600000
+18467cff
+20628000
+2fcffe07
+2020682c
+18467cff
+20628000
+2fcc0007
+58000000
+7d20fe07
+98428400
+d8a08074
+20406815
+284ffe07
+f920fe00
+e0a08000
+20600000
+da3fffff
+68108081
+2fe00602
+2040e878
+2fe00601
+2040e87a
+2fe00603
+2040e87a
+2feffe02
+2040e874
+2feffe03
+2040e876
+2feffe04
+2040e87c
+2feffe06
+7d20a204
+2feffe07
+7d20a205
+68108082
+2feffe00
+7d20a21b
+2feffe01
+7d20a21c
+2feffe02
+7d20a203
+2feffe03
+7d20a208
+2feffe04
+7d20a214
+2feffe05
+7d20a215
+2feffe06
+7d20a216
+2feffe07
+7d20a217
+68108080
+2feffe00
+7d20a205
+2feffe01
+7d20a206
+2feffe02
+7d20a207
+2feffe03
+7d20a212
+2feffe04
+7d20a213
+2feffe05
+7d20a214
+2feffe06
+7d20a215
+2feffe07
+7d20a216
+68108062
+2feffe04
+2040e87e
+474ec033
+68120078
+681a007c
+9841fe00
+1fe47e00
+9a217e00
+60120070
+20600000
+d8e00006
+20206884
+d8e00009
+20206882
+d8e00017
+20206882
+d8e00019
+20206884
+d8e0001e
+20206884
+d8e00002
+20206884
+df200001
+20206885
+df200004
+20206885
+df200002
+f93fa200
+18e08e01
+c2006885
+20600000
+20406895
+d8400006
+2020680e
+20406889
+d8400006
+20206825
+20406895
+68108078
+79207e07
+60108078
+d8400007
+202067fb
+68108081
+1fe17efb
+60108081
+20600000
+68108081
+2feffe02
+20600000
+2040666a
+580007e0
+da204150
+d8400002
+204066b3
+2020666d
+2040666a
+580007e2
+da20421d
+d840000e
+204066b3
+2020666d
+474f4033
+204068a2
+6800c22d
+c00068af
+c000e8c3
+c00168d7
+20600000
+68094229
+5800aa55
+98467c00
+2022e8b8
+58004dfa
+60014227
+58004894
+60014221
+202068c0
+68014227
+243a68bc
+58004dfa
+60014227
+68014221
+243a68c0
+58004894
+60014221
+58000064
+6001422b
+20600000
+68094229
+5800aa55
+98467c00
+2022e8cc
+58005932
+60014225
+58004323
+6001421f
+202068d4
+68014225
+243a68d0
+58005932
+60014225
+6801421f
+243a68d4
+58004323
+6001421f
+58000190
+6001422b
+20600000
+68094229
+5800aa55
+98467c00
+2022e8e0
+58006946
+60014223
+58005377
+6001421d
+202068e8
+68014223
+243a68e4
+58006946
+60014223
+6801421d
+243a68e8
+58005377
+6001421d
+58000032
+6001422b
+20600000
+6800c22d
+c00068f0
+c000e8f2
+c00168f4
+20600000
+708971bf
+202068f8
+708971af
+202068f8
+7089718f
+6800c22e
+60108973
+202068f8
+474fc033
+68108053
+79207e07
+60108053
+68108973
+1fe1fe30
+60108973
+7089067c
+708972aa
+20001388
+68190150
+68108053
+793ffe07
+60108053
+6009422f
+20600000
+47504034
+6800c22d
+c000690e
+c000e912
+c0016916
+20600000
+68014227
+68094221
+da6000c8
+2020691a
+68014225
+6809421f
+da600064
+2020691a
+68014223
+6809421d
+da600032
+2020691a
+98462200
+6801422f
+98467e00
+24216927
+6809422b
+984fa400
+1a627e00
+9a2ffe00
+9a40fe00
+9a26fc00
+20407f86
+1807fe00
+20600000
+18427e00
+6809422f
+98467e00
+6809422b
+984fa400
+1a627e00
+9a2ffe00
+9a467e00
+20206923
+ea240000
+60040a9a
+68010a9a
+68090a9c
+98462200
+68010aa0
+98462400
+68090a9e
+98467c00
+24416940
+1a4ffe64
+9a26fc00
+20407f86
+1807fe00
+205a6944
+20600000
+6800c231
+79207e00
+6000c231
+20600000
+6808c231
+79200401
+6008c231
+20600000
+6801423d
+efe08000
+207a0000
+1fe27200
+6801423d
+1fe0fe03
+1fe22200
+ea288000
+204067fb
+1a20a201
+c200694f
+20600000
+6801423d
+1fe0fe03
+1fe22200
+18002400
+700b1200
+ea288000
+2040681d
+4750c034
+68010b12
+1a420e00
+f920fe00
+60010b12
+1a20a201
+1a40a401
+6801423d
+efe08000
+9a42fc00
+2422e959
+68010b12
+68090b14
+9842fc00
+20628000
+78347c00
+20600000
+6801423d
+efe08000
+207a0000
+1fe27200
+6801423d
+1fe0fe03
+1fe22200
+ea288000
+204067dd
+1a20a201
+c2006973
+20600000
+d8e00009
+20407f16
+247a0000
+58000020
+d8e00009
+20407f08
+78547c00
+2040696c
+47514034
+6801423d
+efe08000
+207a0000
+20406954
+24347d02
+20407d00
+78547c00
+68010b12
+60010b19
+700b1b00
+18000e00
+68010b14
+1fe30400
+60090b14
+1fe17e01
+68090b19
+18412201
+18430400
+60090b19
+9a22fc00
+2442e9a1
+6801423d
+efe08000
+68088b1b
+18408401
+60088b1b
+18420e00
+98e2fc00
+2422e98c
+68010b12
+60010b14
+20600000
+4751c034
+6801423d
+1fe0fe01
+efe10000
+20207f9c
+68108042
+9a21fe00
+60108042
+68110050
+793ffe0d
+60110050
+20000064
+20600000
+68098a9c
+58b71b00
+9846fc00
+20407f86
+18078400
+68008a9f
+984ffe00
+1fe6fc64
+20407f86
+1807a200
+18427e00
+9a262400
+68008a9b
+204069be
+68008a9a
+202069d5
+c00069c4
+c000e9c6
+c00169c8
+c001e9ca
+c00269cc
+c002e9ce
+d8a080a0
+202069d0
+d8a080a4
+202069d0
+d8a080a8
+202069d0
+d8a08064
+202069d0
+d8a08068
+202069d0
+d8a0806c
+202069d0
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+20600000
+78347c00
+202069d8
+78547c00
+c00269e3
+c002e9e5
+c00de9e7
+c00e69e9
+c001e9eb
+c00469ed
+c00a69ef
+c00ae9f1
+c00b69f3
+c00be9f5
+20600000
+d8e00006
+202069ff
+d8e00007
+202069ff
+d8e00008
+202069ff
+d8e00009
+202069ff
+d8e0000a
+202069ff
+d8e0000b
+202069ff
+d8e0000c
+20206a01
+d8e0000d
+20206a01
+d8e0000e
+20206a01
+d8e0000f
+20206a01
+68110081
+f9347e00
+60110081
+1a220e00
+68108085
+f9347e00
+60108085
+20600000
+18e0a3fc
+202069f7
+18e0a3f6
+202069f7
+20758000
+70456700
+7004ed03
+7004ee03
+7004f211
+7004f313
+58000000
+600184ef
+6000c254
+70468100
+47524034
+58000000
+6000c254
+6000c564
+6000c55d
+6800c56b
+c000ea16
+70456950
+20600000
+70456900
+20600000
+18418402
+20600000
+18427e00
+1fedfe00
+6000c562
+18007e3f
+1fedfe00
+6000c561
+18007e01
+1fedfe00
+6000c560
+20406a50
+18427e00
+20600000
+1fedfe00
+6000c562
+18007e73
+1fedfe00
+6000c561
+18007e01
+1fedfe00
+6000c560
+20206a50
+6800c563
+203a6a33
+58000070
+20600000
+580000aa
+20600000
+1fedfe00
+6000c562
+18007eef
+20406a44
+680904f7
+18420a00
+e0a08000
+18a20400
+600904f7
+18007eff
+20406a44
+680904f7
+18420a00
+e0a08000
+20600000
+1fedfe00
+6000c561
+68014561
+1fed7e00
+600184f4
+da200107
+da40000f
+20406a5d
+1fe2fed7
+1fe47e00
+1fedfe00
+20600000
+6801c560
+600184f4
+da200107
+da40000f
+20406a5d
+1fed7e00
+da400007
+20406a5d
+1fe2fe2b
+1fe47e00
+1fedfe00
+1fe20400
+20600000
+da600000
+1a427200
+20407e71
+1fe20400
+18427e00
+1a63a600
+c3046a66
+9a228400
+1a60a601
+18438400
+680184f4
+1a40a5ff
+2a41feff
+2020ea70
+1a427200
+20407e71
+2feffe00
+79208400
+20206a61
+18437e00
+20600000
+6808c55d
+184b8400
+79200400
+6800c563
+245a6a18
+6008850d
+20600000
+18438400
+6800c563
+793a0400
+20600000
+680884fc
+7004fed7
+20406bb6
+6800c251
+79207e06
+79207e07
+6000c251
+70456300
+20206b97
+6800c251
+79207e07
+6000c251
+20206b97
+4752c034
+6800c681
+c0006a8e
+20206b4c
+68010264
+1fe20c00
+20406ab8
+680084fc
+c0006a94
+20206b18
+47534034
+680084fd
+c01fea7d
+c039ea86
+c077ea9b
+c029eb44
+20600000
+68010501
+1fe20c00
+20406ac3
+68008503
+c020eaa5
+c0206aad
+c038eae6
+c0386af2
+c024eafd
+20206b97
+20406aaf
+20206aa7
+6800c254
+79207e00
+79207e01
+6000c254
+20406be0
+20206b97
+20406aaf
+20206b97
+20406acb
+20206ad7
+20406acb
+e8c08000
+1fe97e00
+6000c56a
+e8c08000
+60008508
+20600000
+e8c08000
+600084fb
+1fe97e00
+600084fc
+e8c08000
+600084fd
+20406ace
+600904ff
+18c27e00
+60010501
+20600000
+e8c08000
+1fe37e00
+60008503
+20406ace
+60090504
+18c27e00
+60010506
+20600000
+68010506
+1fe20c00
+20600000
+e8c08000
+1fe20400
+18430400
+c3800000
+e8c08000
+1fe9fe00
+1ff27e00
+98408400
+20600000
+e8c08000
+6000c55d
+e8c08000
+60008509
+e8c08000
+6000850a
+e8c08000
+6000850b
+e8c10000
+6001455e
+e8c08000
+6000850c
+e8c08000
+6000c568
+20600000
+20406ab1
+20206ae8
+6800c254
+79207e05
+79207e06
+6000c254
+6808c55d
+184b8400
+18418403
+20406c11
+70456703
+20206b97
+700a9908
+20407d86
+20406ab1
+6800c56a
+1fe67c01
+2022eaf9
+20202a8c
+6800c254
+79207e07
+6000c254
+20206b97
+20406acb
+e8c08000
+60008ac2
+204052d2
+204052e0
+5800000e
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+4753c034
+580015ef
+e0a10000
+58001191
+e0a10000
+68008ac2
+e0a08000
+58000007
+e0a28000
+58000001
+e0a10000
+20406a2f
+e0a08000
+20600000
+20206b19
+47544035
+680084fd
+c039eb21
+c01feb25
+c077eb3f
+c07feb37
+c029eb46
+20600000
+6800c254
+79207e03
+6000c254
+20206b97
+6800c254
+79207e03
+79207e02
+6000c254
+680084fb
+20406a26
+600084fe
+20406bb6
+680084fb
+1feb7e00
+6000c55d
+1febfe00
+793ffe01
+79207e00
+d8404565
+600904f7
+20406a35
+20206b97
+68010501
+1fe20c00
+1fe0fe01
+60010501
+e8c08000
+6808c568
+9840fe00
+6000c568
+20406c42
+20406a72
+20406c28
+20406c4b
+20206b97
+700a9909
+20407d86
+20406a0d
+680084fb
+20406a26
+600084fe
+20406bb6
+20206b97
+68010264
+1fe20c00
+20406ab8
+680084fc
+c0006b52
+20206b86
+4754c035
+680084fd
+c01fea7d
+c039ea86
+c077eb58
+20206b97
+68010501
+1fe20c00
+20406ac3
+68008503
+c020eb61
+c0206b61
+c038eb6c
+c0386b7c
+20206b97
+20406aaf
+6800c55d
+1fe37e00
+6808c564
+98467c00
+2022eb68
+20202a8c
+6800c254
+79207e01
+6000c254
+20206b97
+20406ab1
+6800c56a
+6808c564
+98467c00
+2022eb73
+20202a8c
+20206b97
+6800c254
+79207e05
+79207e06
+6000c254
+6808c55d
+184b8400
+18418403
+20406c11
+20206b97
+20406ab1
+6800c56a
+6808c564
+98467c00
+2022eb82
+20202a8c
+6800c254
+79207e07
+6000c254
+20206b97
+680084fc
+6808c564
+98467c00
+2022eb8c
+20202a8c
+20206b97
+680084fd
+c039eb91
+c077eb3f
+c07feb37
+c029eb96
+6800c254
+79207e03
+6000c254
+20206b97
+20206b95
+20206b46
+20600000
+6800c567
+207a0000
+c001eb9c
+20202a8c
+70456700
+204052d2
+d8400001
+6808c55d
+184b8400
+18418403
+da2000aa
+20406bfc
+204052e0
+18a20c00
+e8c10000
+203a2a8c
+20600000
+204052e0
+58000004
+e0a10000
+6801424a
+e0a10000
+680084fb
+e0a08000
+47554035
+5800013f
+e0a10000
+680084fe
+e0a08000
+20600000
+204052d2
+204052e0
+58000004
+e0a10000
+6801424a
+e0a10000
+680084fb
+e0a08000
+4755c035
+58000173
+e0a10000
+680084fe
+e0a08000
+20600000
+204052e0
+5800000e
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+47564035
+580015ef
+e0a10000
+58001183
+e0a10000
+18427e00
+e0a08000
+580000f0
+e0a18000
+5800007f
+e0a10000
+58000000
+e0a08000
+58000001
+e0a08000
+20406a2f
+e0a08000
+70456910
+20600000
+204052d2
+204052e0
+5800000e
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+4756c035
+580015ef
+e0a10000
+58001181
+e0a10000
+6800c55d
+e0a08000
+580000e0
+e0a18000
+6801456c
+e0a10000
+58000000
+e0a08000
+6800c56e
+e0a08000
+20406a2f
+e0a08000
+20600000
+204052e0
+58000008
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+47574035
+580009ef
+e0a10000
+580005e3
+e0a10000
+18427e00
+e0a08000
+5800008d
+e0a08000
+20406a2f
+e0a08000
+20600000
+204052d2
+204052e0
+58000008
+e0a10000
+6801424a
+e0a10000
+18421600
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+4757c035
+580009ef
+e0a10000
+580005e1
+e0a10000
+19627e00
+e0a08000
+5800008d
+e0a08000
+20406a2f
+e0a08000
+20600000
+47584036
+6800c569
+207a0000
+68110112
+247a0000
+1a227e00
+60008a9b
+60088a9a
+2040526e
+247a0000
+204052d2
+204052e0
+58000005
+e0a10000
+6801424a
+e0a10000
+6800850d
+e0a08000
+580001ff
+e0a10000
+6800c569
+e0a08000
+6800c566
+e0a08000
+70456900
+20600000
+4758c036
+6800c56b
+c1008000
+680104ff
+207a0000
+6800c569
+1fe0fe01
+6000c569
+20600000
+6801456f
+20207f9c
+47594036
+6800c568
+207a0000
+1fe0ffff
+6000c568
+6801455e
+6809469f
+98467c00
+20216c57
+6001469f
+6800c569
+203a6c5f
+70051001
+6800c566
+6000850f
+580000ff
+6000850e
+20206c64
+70051000
+6800c565
+6000850f
+580000ef
+6000850e
+4759c036
+6801469f
+1fe67c7f
+20216c6b
+68008510
+1fe0fe01
+60008510
+20406a72
+6801469f
+1fe0fe08
+68088510
+9840a200
+20405240
+60010277
+1fe0fe04
+60010279
+1fe20a00
+6800850d
+e0a08000
+6800850e
+e0a08000
+20406c95
+20406ca6
+475a4036
+68014571
+1fe20600
+6801469f
+1fe27200
+204066ea
+18a20400
+18627e00
+60014571
+18420a00
+6800850f
+e0a08000
+68010277
+1fe20a00
+6801469f
+68088510
+9840fe00
+1fe0fe04
+e0a10000
+6801424a
+e0a10000
+70456900
+68014573
+c0003a97
+700b0500
+20600000
+475ac036
+6801469f
+1fe67c7f
+24216c9d
+1fe3fe00
+79207e00
+e0a08000
+20600000
+6801469f
+1fe97e00
+1ff18400
+1fe17e7f
+1fe3fe00
+793ffe00
+e0a08000
+e0a88000
+20600000
+6800c569
+207a0000
+e0a08000
+20600000
+475b4036
+20407d9c
+204032f6
+2040631b
+475bc036
+204076dc
+204076b5
+204076c6
+2040526e
+247a0000
+20404da9
+2040526e
+247a0000
+475c4037
+20406cf5
+20404f64
+20406b98
+20406cbe
+475cc037
+202032f2
+6800827f
+c2805087
+c283d091
+20600000
+475d4037
+20405274
+207a0000
+6800804b
+c3830000
+20405258
+6001016f
+1fe20c00
+e8c10000
+1fe0fe04
+600141dc
+7041db06
+475dc037
+68014246
+203a6cdd
+6800804b
+c4038000
+793ffe07
+6000804b
+7041db05
+68094246
+6801016f
+9840fe00
+6001016f
+680141dc
+98467e00
+600141dc
+475e4037
+680141dc
+203a2a8c
+d8400104
+98467e00
+24216ce9
+475ec037
+600941dc
+68014246
+9840fe00
+60014246
+20206ceb
+58000000
+60014246
+6800804b
+79207e06
+6000804b
+20600000
+6800c684
+c2806cf3
+70028701
+20600000
+7002870f
+20600000
+6800c681
+243a6cfb
+68008286
+207a0000
+70028600
+20600000
+475f4037
+68008287
+207a0000
+c000ed1b
+c0016d74
+c001ed21
+c0026d78
+c01ded2b
+c01e6d7b
+c006ed30
+c0076d80
+c007ed33
+c0086d86
+c008ed39
+c0096d8a
+c009ed3f
+c00a6d8e
+c00aed45
+c00b6d92
+c00bed4b
+c00c6d97
+c00ced51
+c00d6d9b
+c00ded57
+c00e6d9f
+c00eed5d
+c00f6da4
+c00fed63
+c0106da8
+c010ed6e
+c0116dac
+20600000
+20406db7
+70028702
+6800c250
+79207e00
+6000c250
+20600000
+70028704
+6800c250
+c3810000
+70028703
+20406dbe
+70028704
+6800c250
+79207e02
+6000c250
+20600000
+20405274
+247a0000
+20406dcd
+7002873c
+20600000
+20406dc3
+7002870e
+20600000
+20406ddd
+70028710
+6800c252
+79207e00
+6000c252
+20600000
+20406de4
+70028712
+6800c252
+79207e02
+6000c252
+20600000
+20406de9
+70028714
+6800c253
+79207e00
+6000c253
+20600000
+20406df0
+70028716
+6800c253
+79207e02
+6000c253
+20600000
+20406dd1
+70028718
+6800c251
+79207e00
+6000c251
+20600000
+20406dd8
+7002871a
+6800c251
+79207e02
+6000c251
+20600000
+20406df5
+7002871c
+6800c251
+79207e06
+6000c251
+20600000
+20406dfc
+6800c254
+79207e00
+6000c254
+7002871e
+20600000
+20406e02
+6800c254
+79207e02
+6000c254
+70028720
+6800c564
+1fe9fe00
+1fe1fe03
+d8404565
+600904f7
+20206a35
+20406e0c
+6800c254
+79207e04
+6000c254
+70028722
+20600000
+6800c250
+c4008000
+70028703
+20206cfb
+6800c250
+c19f8000
+7002873b
+68008285
+c18b8000
+70028500
+7002870d
+20206cfb
+6800c250
+247a0000
+6800c684
+c2806daf
+c2836db1
+20206db5
+6800c252
+c4008000
+70028711
+20206cfb
+6800c252
+c19f8000
+70028713
+20206cfb
+6800c253
+c4008000
+70028715
+20206cfb
+6800c253
+c19f8000
+6800c684
+c2836db1
+20206db5
+6800c251
+c4008000
+70028719
+20206cfb
+6800c251
+c19f8000
+7002871b
+20206cfb
+6800c251
+c1ff8000
+6800c684
+c2836db3
+20206db5
+6800c254
+c4008000
+7002871f
+20206cfb
+6800c254
+c4018000
+70028721
+20206cfb
+6800c254
+c1ff8000
+20206db5
+7002870f
+20206cfb
+70028717
+20206cfb
+7002871d
+20206cfb
+70028700
+20600000
+475fc037
+204052b8
+58000001
+1fe20400
+58000050
+1fe21600
+202050a8
+47604038
+204052b8
+68014248
+1fe20400
+202050b7
+4760c038
+204052b8
+68014248
+1fe20400
+d9600050
+204050cc
+6800c250
+793ffe05
+6000c250
+20600000
+47614038
+204052c5
+20407138
+202050e7
+4761c038
+204052b8
+58000003
+1fe20400
+58000051
+1fe21600
+202050a8
+47624038
+204052b8
+6801424a
+1fe20400
+202050b7
+4762c038
+204052b8
+58000011
+1fe20400
+58000052
+1fe21600
+202050a8
+47634038
+204052b8
+6801424c
+1fe20400
+202050b7
+4763c038
+204052b8
+58000013
+1fe20400
+58000053
+1fe21600
+202050a8
+47644039
+204052b8
+6801424e
+1fe20400
+202050b7
+4764c039
+204052d2
+7004fb03
+7004fe1c
+20406ba9
+70456301
+20600000
+47654039
+204052d2
+6808c564
+20406a79
+6008c55d
+20206bc4
+4765c039
+204052d2
+6808c55d
+20406a73
+20406a1a
+600084fe
+6808c55d
+20406a73
+600884fb
+20206ba9
+47664039
+204052d2
+6808c55d
+20406a73
+20206bfc
+4766c039
+68010264
+98000c00
+e8c08000
+1fe22400
+6000851b
+e8c10000
+6001051c
+e8c08000
+1fed1600
+e8c08000
+99609600
+47674039
+18c20400
+df200004
+d8a0052a
+20407ec6
+18420c00
+1a427e00
+c000efba
+c0016e2c
+c001efba
+c0026e54
+c002efba
+c0036f02
+c003efba
+20206fc1
+4767c039
+20406fd0
+2841fe01
+2020f040
+2841feff
+2020efc4
+e8c10000
+60010522
+196097fe
+196097ff
+2422efbe
+d9600511
+e9610000
+207a0000
+20407082
+204052d0
+18007e03
+e0a08000
+6801051c
+e0a10000
+18ebfe00
+1fe0fe05
+1fe0a605
+1ff0fe00
+e0a10000
+18e27e00
+1ff0fe00
+e0a10000
+e0a10000
+d8c0052a
+18e27200
+2022ee4f
+e8c20000
+e0a20000
+c2006e4c
+18007e00
+e0a08000
+1a627e00
+60010275
+20600000
+4768403a
+e8c20000
+60020524
+196097fc
+20406f2e
+60010520
+196097fe
+20407028
+2022efc4
+2a21fe05
+2020ee62
+d8a0052a
+18000e00
+20206e71
+e8c08000
+c0856fc4
+e8c10000
+243a6e6f
+e8c08000
+c0ffee6d
+e8c08000
+c0ffee6b
+20206eb8
+18c08dfb
+20206e5f
+18c08dfc
+20206e5f
+18c08dfd
+20206e5f
+e8c08000
+c004ee86
+c0056e74
+e8c10000
+e0a10000
+18e08e01
+1ff0a400
+e8c10000
+1ff0fe00
+1a40a401
+9a467c00
+24216e83
+1fe22600
+1a50fe00
+e0a10000
+18e08e01
+1a627e00
+20206e7a
+196097fb
+1a20a3fb
+20206e8b
+e8c10000
+e0a10000
+18e08e01
+196097fd
+1a20a3fd
+24216fc4
+2422ee71
+196097ff
+2422efc4
+204052d0
+18a08a0a
+da20052a
+18e27e00
+203a6ea5
+ea210000
+203a6ea5
+98002400
+68020524
+98000400
+204070e7
+18c27e00
+203a6ea2
+18c08dfd
+e8c18000
+e0a18000
+2040705b
+98007200
+20407f01
+1a20a202
+18e08fff
+20206e92
+da200005
+20406f84
+68010275
+c005f043
+20206f9a
+e8c08000
+c0006eae
+c000eeb0
+c0016eb3
+196097ff
+20206eb6
+e8c08000
+196097fe
+20206eb6
+e8c10000
+1ff0fe00
+196097fd
+60010519
+20600000
+196097fb
+20406eaa
+2422efbe
+680a0524
+204070b1
+2422efbb
+18c22200
+204052d0
+1a220c00
+18a08a03
+18c21600
+20407062
+1fe22200
+68010519
+1fe22400
+1a227e00
+9a462400
+68010520
+9a467c00
+24216ee7
+78547c00
+68010519
+203a6eda
+99608c00
+1a40a403
+1a427200
+1f227e00
+1fe0fe03
+1ff0fe00
+e0a10000
+1f227e00
+1ff0fe00
+e0a10000
+20206ef5
+1a20f206
+20346ede
+1f30fe00
+20206ee1
+1f227e00
+1fe0fe02
+1ff0fe00
+e0a10000
+1f20f3fd
+1f30fe00
+e0a10000
+19620c00
+20206ef5
+78347c00
+68010520
+1fe22200
+1a227200
+68010519
+203a6eda
+99608c00
+1a227e00
+1fe0fe05
+1ff0fe00
+e0a10000
+1a227e00
+1ff0fe00
+e0a10000
+20407f01
+24346efe
+18007e02
+e0a08000
+18c27e00
+99667e00
+1ff0fe00
+e0a10000
+20206f00
+18007e00
+e0a08000
+da200005
+20206fb0
+4768c03a
+20406fd0
+2841feff
+2020efc4
+20406f2e
+60010520
+196097fe
+20407028
+d8a0052a
+18000e00
+e8c08000
+c0056f36
+e8c10000
+e0a10000
+18e08e01
+196097fd
+1a20a3fd
+24216fc4
+2422ef0c
+196097ff
+2422efc4
+204052d0
+18a08a0d
+68010511
+98002600
+da20052a
+ea210000
+203a6f29
+98002400
+204070c6
+203a6f27
+18c08dfd
+e8c18000
+e0a18000
+2040705b
+98007200
+20407f01
+1a20a202
+20206f1c
+20406f83
+68010275
+c0077046
+20406f9a
+20206f9a
+e8c10000
+1ff0fe00
+1fe0fffd
+d84000c8
+98467c00
+24610000
+580000c8
+20600000
+18c08c04
+196097fb
+1a20a3fb
+2422efc4
+20406eaa
+2422efbe
+d9600511
+20407082
+18e27e00
+203a7046
+6000854e
+1a427e00
+6001054c
+d8e00000
+da200000
+204052d0
+18a08a0a
+20406f6c
+24342a8c
+18c21600
+1fe22600
+9a20a200
+68010519
+1fe22400
+203a6f75
+1a227e00
+9a462400
+2022ef67
+24216f67
+68010520
+9a467c00
+2022ef5e
+24216f5e
+1a427200
+20406f61
+6800854e
+18e08e01
+98e67c00
+2022ef83
+20206fa0
+1fe27200
+20406f61
+20206fa0
+18a08bfd
+1f220400
+1a627e00
+9a467e00
+99608c00
+20207f01
+6800854e
+18e08e01
+98e67c00
+20628000
+20206f47
+20407fe9
+d8c0052a
+18ebfe00
+98c08c00
+e8ca0000
+204070b1
+24628000
+2040705b
+20207fe7
+68010520
+9a267c00
+24216f8f
+1a227200
+1f220400
+19620c00
+20407f01
+6801054c
+9a267c00
+2022ef81
+20406fa0
+20206f94
+20406f83
+20206f94
+da200007
+18007e00
+e0a08000
+20406fb0
+68090275
+184085fb
+1850fe00
+e0a10000
+184085fd
+1850fe00
+e0a10000
+20600000
+1fe27200
+1f220400
+19620c00
+20407f01
+20406fa0
+58000036
+e0a08000
+6801054c
+1ff0fe00
+e0a10000
+20600000
+58000036
+e0a08000
+184085fd
+1850fe00
+e0a10000
+20600000
+da200007
+58000002
+e0a08000
+68010519
+98408400
+1850fe00
+e0a10000
+20406fb0
+68090275
+184085fb
+1850fe00
+e0a10000
+184085fb
+1850fe00
+e0a10000
+20600000
+68010273
+98a67e00
+1fe67e00
+60010275
+204052d0
+1a227e00
+e0a08000
+6801051c
+e0a10000
+20600000
+20600000
+58000200
+6001054a
+20206fc6
+58000400
+6001054a
+20206fc6
+58000600
+6001054a
+20206fc6
+58000300
+6001054a
+204052d0
+e0a08000
+6801051c
+e0a10000
+58000200
+e0a10000
+6801054a
+e0a10000
+70027507
+20600000
+da400000
+18000400
+d8a00511
+20407028
+2022f026
+1a40a401
+e8c08000
+1a20a3ff
+196097ff
+2fe1f018
+2420f026
+2fe00e04
+2420eff3
+18000401
+e8c08000
+1a20a3ff
+196097ff
+c0806fe7
+e8c08000
+1a20a3ff
+196097ff
+c0006ff8
+20206fea
+18c08c01
+1a20a3ff
+196097ff
+18c08c02
+1a20a3fe
+196097fe
+2841fe00
+2020f020
+18c08c0c
+1a20a3f4
+196097f4
+20207020
+2fe00e02
+2420eff6
+20206fde
+2fe00e01
+2420f026
+1a20a3fe
+196097fe
+e8c10000
+1a467c04
+2022effe
+e0a10000
+2841fe00
+2020f020
+18c20400
+e8c08000
+c0807019
+e8c08000
+c0807019
+e8c08000
+c0887019
+e8c08000
+c0807019
+e8c08000
+c0c07019
+e8c08000
+c0807019
+e8c08000
+c0807019
+e8c08000
+c0c07019
+e8c08000
+c0aff019
+e8c08000
+c0cdf019
+e8c08000
+c09a7019
+e8c08000
+c07df01e
+18420c00
+18c08c0c
+18000e00
+18000400
+2020701e
+196097f4
+1a20a3f4
+18000400
+2a21fe00
+2420efd5
+18007e00
+e0a10000
+20600000
+d84000ff
+20600000
+476a403a
+e8c08000
+196097ff
+2fe1f030
+2420f03e
+2fe00e07
+2020f037
+2fe00e06
+2020f039
+2fe00e05
+2420f03e
+e8c08000
+1fe22200
+196097ff
+2020703c
+18c08c02
+196097fe
+e8c10000
+1ff0a200
+196097fe
+18007e01
+20600000
+18007e00
+20600000
+58000003
+6000851b
+20207048
+58000005
+6000851b
+20207048
+58000007
+6000851b
+204052d0
+6800851b
+1fe22400
+e0a08000
+6801051c
+e0a10000
+58000500
+e0a10000
+2a41fe05
+2020f057
+2a41fe07
+2020f057
+58000000
+e0a28000
+20207059
+58350200
+e0a28000
+7002750a
+20600000
+20407ea2
+20407ea5
+20407062
+20407e9c
+20407e9f
+18427e00
+20600000
+e8c08000
+1fe17207
+1fe97e00
+c080706c
+18007e01
+18000401
+20600000
+20407e76
+1fe08401
+20600000
+1f227e00
+1fe67c04
+20217069
+c002f073
+c0037076
+c003f07a
+20600000
+e8c08000
+1fe08402
+20600000
+e8c10000
+1ff0fe00
+1fe08403
+20600000
+e8c10000
+1ff0fe00
+e8c90000
+18508400
+18500400
+9840fe00
+1fe08405
+20600000
+476ac03a
+18000e00
+da400000
+d8a0052a
+e9610000
+207a0000
+2040708d
+18e27e00
+c1038000
+19609602
+20207086
+98002600
+68014575
+98000c00
+18e27e00
+c1038000
+78547c00
+e8c08000
+207a0000
+98007200
+e8c10000
+9a667c00
+2422f09a
+78347c00
+c2007096
+e8ca0000
+18c22200
+243470ad
+d8c0052a
+df200007
+e8c20000
+203a70a6
+98467c00
+2022f0ad
+c20070a0
+20600000
+e0aa0000
+18e08e01
+1a220c00
+2040705b
+9a40a400
+98c08c00
+20207090
+1a220c00
+20407062
+98c08c00
+20207090
+476b403a
+68014575
+98000c00
+e8c08000
+203a7fe3
+1fe3fe00
+98c08c00
+e8c20000
+98467c00
+20628000
+18a27e00
+60010abb
+600c0aa2
+20407062
+98c08c00
+18c27e00
+68090abb
+18420a00
+680c0aa2
+1fe20c00
+202070b4
+476bc03a
+68014575
+98000c00
+e8c08000
+203a70e4
+98007200
+e8c10000
+9a667c00
+2022f0d4
+c20070cc
+18c08c04
+20407062
+98c08c00
+202070c9
+1f20f3ff
+1f23fe00
+98c08c00
+18c08c04
+20407062
+98c09600
+18c08c01
+e8c10000
+9a467c00
+2022ffef
+2040705b
+98c08c00
+19627e00
+98c67c00
+2022f0e4
+202070da
+18000c00
+18007e00
+20600000
+476c403b
+68014575
+98000c00
+e8c08000
+203a7100
+1fe3fe00
+98c08c00
+e8c20000
+98467c00
+2022f0f4
+20407062
+98c08c00
+202070ea
+20407062
+98c09600
+18c08c01
+e8c10000
+9a467c00
+20628000
+2040705b
+98c08c00
+19627e00
+98c67c00
+2022f100
+202070f6
+18000c00
+20600000
+da400400
+204070f4
+da400300
+2040710d
+24740000
+1a267c03
+20217fe9
+e8c08000
+c0847fe9
+e8c08000
+20600000
+476cc03b
+20407062
+1fe22200
+e8c08000
+1fe17207
+1fe97e00
+1fe67c03
+2022f129
+1f227e00
+c002f120
+c0037123
+c003f126
+18c08dff
+20407062
+98c08c00
+1a227e00
+98462200
+2022ffe9
+20207110
+1a20a3fe
+18c08c01
+20207110
+1a20a3fd
+18c08c02
+20207110
+1a20a3fb
+18c08c04
+20207110
+1a20a3ff
+1f227e00
+c000f132
+c0017130
+c002712f
+20207fe9
+1a20a3f4
+e8c10000
+1a20a3fe
+e8c10000
+9a467c00
+2022ffe7
+1a20a3fe
+2022ffe9
+20207110
+204052d0
+1fe20a00
+58000006
+e0a08000
+5800006e
+e0a10000
+58000f00
+e0a10000
+581a0535
+e0a18000
+58000111
+1ff07e00
+e0a20000
+58002600
+e0a10000
+58000335
+e0a10000
+58000009
+e0a10000
+58000004
+e0a10000
+70027514
+20600000
+476d403b
+7005e550
+d8a005e6
+d8c0443a
+20407ebf
+d8c045d2
+20407ebd
+d8c009be
+20407ebd
+2040720a
+d8c0042f
+20407205
+204071d0
+d8a00af2
+20407201
+580f4240
+1fe22200
+68020af2
+9a26fc00
+20407f86
+18077e00
+600209ba
+20600000
+7005e541
+d8a005e6
+204071b5
+204071b0
+6801c454
+e0a18000
+20407176
+d8c0042f
+20407ebf
+d8c0443a
+20407ebf
+2040720a
+d8c00b12
+d8a00ac2
+20407ebf
+202071d0
+680244c7
+e0a20000
+20407ecd
+20207eca
+476dc03b
+7005e541
+d8a005e6
+204071b0
+204071b5
+6801c44d
+e0a18000
+20407176
+d8c0443a
+20407ebf
+d8c0042f
+20407ebf
+2040720a
+d8c00b12
+d8a00ac2
+20407ebf
+204071d0
+d8a00af2
+20207201
+7005e520
+d8c009fe
+d8a005e6
+20407ebd
+2040720a
+d8c0099e
+20407205
+204071d0
+d8a00ac2
+20407497
+d8400001
+2040719f
+d8a04419
+20407201
+d8400000
+2040719f
+d8a00b12
+20207497
+476e403b
+7005e535
+58000100
+600105e6
+204071b0
+204071b5
+d8c0443a
+20407ebf
+d8c0042f
+20407ebf
+58006c65
+e0a10000
+58006274
+e0a10000
+e0a88000
+2040720a
+202071d0
+680344a0
+e0a30000
+6800c495
+e0a08000
+20600000
+6803044f
+e0a30000
+6800c48e
+e0a08000
+20600000
+7005e541
+6800c664
+600085e6
+d8c045d2
+20407ebd
+d8c009be
+20407ebd
+2040720a
+d8c0042f
+20407205
+202071d0
+7005e541
+6800c664
+600085e6
+d8c009be
+20407ebd
+d8c045d2
+20407ebd
+2040720a
+d8c0443a
+20407205
+202071d0
+476ec03b
+2040721f
+680085e5
+1fe20400
+1fe0fe0f
+1ff1fe00
+1fe22400
+203a71e2
+18417e0f
+243a71e5
+da600ad2
+dfe005e6
+1fe0fff0
+9840a200
+d8a00b02
+df200004
+20407edd
+202071f0
+da400001
+da200000
+202071e6
+1841220f
+dfe005e6
+9840fe00
+9a260c00
+d8a00af2
+20407245
+da600ae2
+da200af2
+d8a00b02
+df200004
+20407edd
+20407491
+20407428
+d8c005e6
+1a40a5ff
+1a427e00
+203a71f9
+20407486
+20407422
+202071f3
+d8a00af2
+20407497
+d8c00b02
+20407486
+20407428
+d8c00af2
+20407486
+20207422
+18a22200
+20407497
+df200010
+20207ee5
+d8a00ac2
+20407ebf
+df200010
+da200ac2
+20207ee5
+680085e5
+1fe27200
+da2005e6
+20207ee5
+ea208000
+1fe3fe00
+2a6ffe00
+7920fe00
+2feffe08
+7920a600
+e2208000
+1a20a3ff
+c200720e
+20600000
+da200ad2
+1a20a20f
+18007210
+18002600
+2020720e
+da200ae2
+20207219
+d8c00ac2
+20407484
+18007008
+20407492
+20407491
+2040741f
+d8a00ad2
+20407497
+476f403b
+68008ad2
+2feffe07
+2420f230
+20407218
+da600ad2
+d8a00ad2
+2040723a
+20207231
+20407218
+d8c00ad2
+d8a00ae2
+20407ebf
+68008ae2
+2feffe07
+2420f21d
+2040721d
+da600ae2
+d8a00ae2
+df200003
+d8400000
+20407241
+1a60a604
+c200723b
+d8408700
+18500400
+ea620000
+9842fe00
+e0a20000
+20600000
+476fc03b
+df200010
+dfe00000
+9a267c00
+2022f250
+20217253
+e8c88000
+e0a88000
+1fe0fe01
+c2007248
+20600000
+d8400080
+e0a88000
+2020724d
+d8400000
+20207251
+20407268
+d8c00592
+d8a00582
+20207ebf
+78547c00
+2040735f
+d8c00562
+d8a005a2
+1800720f
+20407f01
+e8c08000
+1fe2fe06
+e0a08000
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+202072a8
+6808c689
+18002410
+1840a606
+1a667c10
+2021726e
+18002610
+d8a005a2
+d8c0468a
+18427200
+78547c00
+e8c08000
+e0a08000
+1a40a5ff
+2022f27c
+c2007272
+2034726f
+78347c00
+18007206
+1a220c00
+20207272
+d8c00562
+d8a005b2
+20407ebf
+680085c1
+9a62fe00
+600085c1
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+202072a8
+78547c00
+2040735f
+20207292
+da200056
+78347c00
+2040735f
+20407292
+d8c00592
+d8a00062
+20207ebf
+58000562
+600105d6
+580041be
+600105d4
+793f8012
+204072a8
+da200592
+da400562
+d8a005a2
+20407352
+da2005a2
+da4005b2
+1a420a00
+78347c00
+20407350
+2040736a
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+202072a8
+7005d800
+680105d4
+98000c00
+d8a005c2
+20407ebf
+680105d6
+98000c00
+d8a00592
+20407ebf
+204072cf
+78547c00
+c58972b9
+680085d8
+c08272b9
+680105d6
+98002400
+20407301
+20407300
+20407313
+680085d8
+1fe0fe01
+600085d8
+204072cf
+78347c00
+20407300
+20407322
+20407331
+20407322
+20407331
+20407322
+20407331
+20407322
+680085d8
+1fe0fe01
+600085d8
+c08872b1
+204072cf
+78547c00
+20207300
+680085d8
+d8c005c2
+203a72f6
+98002400
+18007211
+18c20a00
+e8c08000
+1fe98400
+1feb7e00
+1fe97e00
+9841fe00
+e0a08000
+c20072d5
+580005c2
+9a408c00
+18007210
+d8a00572
+e8c08000
+e0a08000
+28c1ffd3
+2420f2e5
+18c08def
+c20072e0
+18002200
+1a40a7ff
+1a6ba600
+1a6ba600
+204074b9
+58008400
+9a60a600
+d8a00572
+18007210
+ea688000
+e8a08000
+9840fe00
+e0a08000
+1a60a601
+c20072ef
+202074bd
+18007210
+18000400
+e8c08000
+98428400
+c20072f8
+18427e00
+e0c08000
+d8c005c2
+d8a00572
+20207ebf
+da400572
+18007210
+da200592
+1a220a00
+ea288000
+ea408000
+9842e000
+1f212603
+2434730a
+1a62a603
+1a662601
+2021730d
+9840e000
+1e027e00
+e0a08000
+1a20a201
+1a40a401
+c2007304
+20600000
+204074b9
+18007210
+da200592
+ea208000
+d8c08500
+1f212603
+1a667c01
+2021731c
+d8c08600
+98c08c00
+e8c08000
+e2208000
+1a20a201
+c2007316
+202074bd
+18007208
+d8c00592
+18c20a00
+e8c08000
+98002200
+e8c08000
+98002400
+1a23fe00
+9a40fe00
+e0a08000
+1a227e00
+9a40fe00
+e0a08000
+c2007325
+20600000
+588ae42c
+98000400
+18007207
+20407340
+580d751b
+98000400
+18007205
+20407340
+680085a1
+98002200
+68008595
+600085a1
+1a227e00
+60008595
+20600000
+1841240f
+18417e0f
+d8a00592
+98a08a00
+e8a08000
+98002600
+1a227e00
+e0a08000
+1a622200
+18518400
+c2007341
+58000592
+9a408a00
+1a227e00
+e0a08000
+20600000
+78347c00
+20207353
+78547c00
+18007210
+ea288000
+ea408000
+20347359
+9842fe00
+2020735a
+9840fe00
+e0a08000
+1a20a201
+1a40a401
+c2007354
+20600000
+d8a005b2
+ea230000
+e0a30000
+20347365
+ea230000
+20207366
+e8c30000
+e0a30000
+ea220000
+e0a20000
+20600000
+d8c041be
+d8a005a2
+d8400000
+588395a7
+2040738b
+58b3c1df
+2040738b
+5800e5e9
+2040738c
+18422800
+78547c00
+20407379
+1a820400
+78347c00
+20207379
+18007208
+e8c08000
+2f200201
+20347380
+2020f381
+9840fe00
+20207382
+2020f37e
+9842fe00
+e0a08000
+184c8400
+c200737a
+20600000
+68030596
+60030056
+e8c30000
+e0a30000
+20600000
+184d0400
+18500400
+98418400
+20600000
+2020738f
+4770403c
+2040742b
+d8a04419
+20207497
+d8a0443a
+2034f397
+d8a0042f
+18c22200
+20407ebf
+20407440
+d8c0442a
+202074b0
+da20042f
+2034f39f
+da20443a
+1a220a00
+2040630c
+20207440
+d8c044aa
+20407486
+d8c04419
+20407487
+18006c38
+18006c00
+2040741d
+d8a0047c
+20207497
+18007e49
+202073ae
+18007e01
+18007000
+184d5e00
+9de1de00
+1f00f001
+184cde00
+1df15e00
+68014411
+1ff07e00
+9de1de00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+e8c10000
+1a30de00
+1df05e00
+9de1de00
+1f00f001
+20600000
+1a608c01
+e8c08000
+98002200
+204073ab
+2040741f
+18007000
+ea608000
+1fe17e03
+1ff05e00
+79205e08
+2040748f
+20407422
+1a227200
+1a608c02
+2040746e
+20407478
+20407422
+1f227e00
+203a73d5
+202073d0
+1800700c
+1de27e00
+60020417
+20600000
+1a20a201
+204073ad
+1a620c00
+20407482
+20407425
+2040749e
+1a60a610
+1a40a5f0
+202173d9
+20600000
+4770c03c
+da6043dc
+680ac403
+204073c1
+18007008
+98005e00
+18002200
+204073ad
+20407425
+da6043de
+6800c3dd
+1fe0a5ff
+9a608a00
+1800700c
+1de27e00
+e0a20000
+204073d9
+6800c3dd
+1fe0fe04
+6000c3dd
+680ac403
+18408401
+600ac403
+20600000
+4771403c
+680082da
+1fe67c14
+202173ff
+da6002db
+1fe0a5ff
+1fe0fffc
+600082da
+9a608c00
+e8c20000
+18007008
+98005e00
+18002200
+680ac408
+204073ad
+20407425
+1800700c
+1de27e00
+6002041b
+204073d9
+da6002d9
+204073c1
+680a041b
+98467e00
+247a0000
+6802440d
+98467e00
+207a0000
+600a440d
+6802c408
+1fe0fe01
+6002c408
+18007e00
+20600000
+243bf41d
+20600000
+18006c30
+18006c00
+2020741d
+18006c32
+18006c02
+2020741d
+18006c34
+18006c04
+2020741d
+18006c01
+18006c00
+20600000
+18007000
+6802042f
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+6802443a
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+20407492
+1f00f1fc
+680244c7
+1fe25e00
+1f00f004
+18006c38
+18006c08
+2020741d
+4771c03c
+680344a0
+680b044f
+2034f446
+6803044f
+680b44a0
+18007008
+18425e00
+1f00f001
+184f5e00
+1ff07e00
+9de1de00
+1f00f001
+1fef5e00
+1f00f001
+18005e00
+18007e00
+6800c48e
+6808c485
+2434f456
+6800c495
+6808c48e
+6000c44a
+6008c44b
+18007000
+da40444a
+18007204
+ea220000
+ea4a0000
+9842de00
+1f00f001
+1a20a204
+1a40a404
+c200745b
+20407492
+1f00f1fc
+680244c7
+1fe25e00
+1f00f004
+18006c38
+18006c0c
+2040741d
+20407491
+18006c3a
+18006c08
+2020741d
+2f200600
+20608000
+18c27e00
+9f208a00
+18007e00
+e0a08000
+1f20f201
+2f200600
+20608000
+20207473
+18007000
+1f227e00
+203a747d
+e8c20000
+1f20f3fc
+98005e00
+1f00f001
+2f001e04
+20608000
+20207479
+18007008
+20207487
+18007004
+20207487
+18007000
+18007204
+e8c20000
+98005e00
+1f00f001
+c2007488
+20600000
+d8c0047c
+20207484
+18007204
+20207494
+18007000
+18007204
+18005e00
+1f00f001
+c2007493
+20600000
+1800700c
+18007204
+1de27e00
+e0a20000
+1f00f001
+c2007499
+20600000
+1800700c
+1a620a00
+1a40f201
+1f267c0f
+202174a4
+18007210
+1de27e00
+1f267c03
+202174ac
+e0a20000
+1f20f3fc
+20628000
+1f00f001
+202074a4
+e0a08000
+1fecfe00
+c20074ac
+20600000
+1800700c
+18007204
+e8c20000
+9de67c00
+24628000
+1f00f001
+c20074b2
+18007c00
+20600000
+68108050
+793ffe00
+60108050
+20600000
+68108050
+79207e00
+60108050
+20600000
+d8a00886
+3803ffff
+3807ffff
+380bffff
+380ffbff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bcfff
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffef
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+38066c7f
+3808146b
+380f7bb3
+e0a48000
+3801feb8
+38050c12
+380ab722
+380e9fa6
+e0a48000
+3800e70f
+38056720
+3808519e
+380d9084
+e0a48000
+38031012
+380760bf
+380bf0af
+380c03d3
+e0a48000
+3803a188
+38043ad0
+380bcbf2
+380e43d9
+e0a48000
+3802b030
+38076a03
+38091188
+380de520
+e0a48000
+3803a11e
+3804fe5d
+3808dd57
+380dac93
+e0a48000
+380011ed
+380618c4
+38088da7
+380e57ff
+e0a48000
+3803192b
+38074641
+3809be0c
+380f66ad
+e0a48000
+38001f83
+38055a23
+380bf9b0
+380c3949
+e0a48000
+38013a51
+380553fd
+380b372a
+380cf1bb
+e0a48000
+3803ae85
+3805eed9
+38089e66
+380c01a8
+e0a40000
+20600000
+d8a0091e
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+3804003f
+38080000
+380c0000
+e0a48000
+38000000
+38040000
+38081000
+380c0000
+e0a48000
+3803ff00
+3807ffff
+380bffcf
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380c03ff
+e0a48000
+38000000
+38040000
+38080000
+380c0000
+e0a48000
+38010000
+38040000
+380bf000
+380fffff
+e0a48000
+380296ff
+38062630
+380b945d
+380fd284
+e0a48000
+380333a0
+38044b7a
+380837d8
+380fc9dc
+e0a48000
+3803a440
+3805b958
+380b8bce
+380d091f
+e0a48000
+3802e12c
+3805f47c
+380b56b1
+380efd47
+e0a48000
+38006837
+3806ed90
+3809ecec
+380dacc5
+e0a48000
+38023357
+38058af3
+3808f9e1
+380d29f0
+e0a48000
+3802e7eb
+3807e6e3
+380be1a7
+380d0b8b
+e0a48000
+38024fe3
+380420ef
+3809b5a6
+380cdc2f
+e0a48000
+38013860
+3806bd69
+3808391a
+380db222
+e0a48000
+20600000
+6800c65a
+243a757d
+20207a77
+4772403c
+6800c65a
+207a0000
+6800c5b1
+c1808000
+6800c4be
+207a0000
+6800c4c3
+c1018000
+68014682
+c280757b
+6800c4c0
+c0007a77
+20600000
+7044c000
+20600000
+4772c03c
+6800c65a
+203a612b
+20406124
+20407583
+2020766d
+58000000
+600409ae
+600209b6
+6003c65e
+20600000
+7009b001
+2020758d
+6800c5b1
+c000f68a
+20202a8c
+6800c5b1
+c000f590
+2020766d
+2040768a
+680089af
+247a0000
+7009ae03
+20600000
+204075b0
+da2009de
+d8a00866
+20407c79
+da2009be
+d8a00826
+20407c79
+da200826
+da4009be
+d8a00826
+20407be1
+da20093e
+da4009be
+d8a00846
+20407be1
+da200846
+da400826
+d8a00826
+20407c7d
+da200806
+da400826
+d8a00806
+20407c7d
+df200020
+da200866
+da400806
+20207f88
+da20097e
+d8a00806
+20407c79
+da20095e
+d8a00826
+20407c79
+da200826
+da40095e
+d8a00826
+20407be1
+da20093e
+da40095e
+d8a00846
+20407be1
+da200846
+da400826
+d8a00826
+20407c7d
+da200806
+da400826
+d8a00806
+20207c96
+204075e1
+da2009e6
+d8a00866
+204077a8
+da2009c6
+d8a00826
+204077a8
+da200826
+da4009c6
+d8a00826
+20407786
+da20089e
+da4009c6
+d8a00846
+20407786
+da200846
+da400826
+d8a00826
+20407755
+da200806
+da400826
+d8a00806
+20407755
+df200018
+da200866
+da400806
+20207f88
+da2008e6
+d8a00806
+204077a8
+da2008ce
+d8a00826
+204077a8
+da200826
+da4008ce
+d8a00826
+20407786
+da20089e
+da4008ce
+d8a00846
+20407786
+da200846
+da400826
+d8a00826
+20407755
+da200806
+da400826
+d8a00806
+20207758
+680089b2
+c0807615
+20407612
+d8a00a7e
+58000a2e
+e0a10000
+58004642
+e0a10000
+580009de
+e0a10000
+20207609
+d8a00a7e
+58000a3e
+e0a10000
+580009de
+e0a10000
+58004642
+e0a10000
+204079a0
+680089af
+c002760f
+7009b001
+7009ae05
+20600000
+7009af14
+2040758a
+202076d8
+d8a00a1e
+18000e08
+202076a2
+7009b001
+20600000
+4773403c
+d8a00727
+680340a0
+e0a30000
+68030040
+e0a30000
+6801c65e
+e0a18000
+20407a0d
+da200a4e
+da400a5e
+18000e04
+204076a7
+2420f631
+20407628
+70007d41
+202062f8
+680089af
+c004f62e
+7009ae0a
+7009b001
+70007c03
+20600000
+70007c03
+7009af15
+202076d8
+680089af
+c004f637
+7009ae00
+70007c04
+70007e05
+20600000
+70007c04
+7009af00
+20600000
+680089b3
+c000f63e
+7009af0a
+202076d8
+d8a00727
+68030040
+e0a30000
+680340a0
+e0a30000
+6801c65b
+e0a18000
+20407a24
+680089af
+c005764b
+7009ae0b
+7009b001
+20600000
+7009af0b
+7009b101
+20600000
+d8a00a7e
+68030040
+e0a30000
+680340a0
+e0a30000
+58000a2e
+e0a10000
+58000a3e
+e0a10000
+20207662
+7009ae0f
+d8a00a7e
+680340a0
+e0a30000
+68030040
+e0a30000
+58000a3e
+e0a10000
+58000a2e
+e0a10000
+d8a00727
+68030a7e
+e0a30000
+68030a84
+e0a30000
+204079d7
+7041bd01
+d8a041be
+d8c00a4e
+20407ebf
+202021c4
+4773c03c
+6800c5b1
+c1800000
+680089b2
+c1800000
+d8a04612
+18000e0b
+204076a2
+180a7e00
+1fe37e00
+e0a10000
+d8a006be
+d8c04612
+20407ebe
+d8a005e6
+d8c008ce
+20407ebc
+d8a00616
+20407ec5
+70061601
+20407a5d
+7009b201
+20600000
+d8a0462a
+d8c0062e
+20407ebc
+7045b101
+7009b200
+20600000
+4774403d
+680089b9
+c1800000
+680089b2
+c1800000
+d8a006be
+d8c04612
+20407ebe
+d8a005e6
+d8c009c6
+20407ebc
+d8a00616
+20407ec5
+70061601
+20407a5d
+7009b202
+20600000
+7009b301
+d8a00a06
+d8c0062e
+20407ebe
+7009b901
+7009b200
+20600000
+18e08fff
+24610000
+180a7e00
+e0a10000
+202076a2
+18e08fff
+242176b3
+ea220000
+1fe20400
+ea420000
+9842fe00
+2422f6b1
+1a20a204
+1a40a404
+202076a7
+7840fc00
+20600000
+7820fc00
+20600000
+4774c03d
+680089b0
+207a0000
+204062bc
+247a0000
+7009b000
+680089ae
+c001e1fd
+c002e21a
+c003e225
+c005e23a
+c0017588
+c00275f7
+c004f617
+c005763a
+c0067658
+20600000
+4775403d
+680089b1
+207a0000
+204062bc
+247a0000
+7009b100
+680089af
+c00961e0
+c009e1e5
+c001e1e9
+c0027602
+c00a61ed
+c003e1fb
+c005763a
+c005e239
+c004f617
+c00ae233
+20600000
+7009b101
+20600000
+7009b100
+20600000
+4775c03d
+6800c65a
+207a0000
+680089b2
+207a0000
+1fe0fe80
+600089b2
+c3838000
+680085e3
+203a76e7
+20207a68
+204078d3
+680089b2
+c000f684
+c001769b
+20600000
+1fe10e07
+1fe97e00
+98c08c00
+e8c08000
+afec0000
+20600000
+20407ebe
+20407ebe
+20207ebe
+e8c40000
+247a0000
+e8c40000
+247a0000
+e8c40000
+20600000
+ea220000
+98000400
+ea420000
+98467c00
+24628000
+1a20a204
+1a40a404
+c20076fb
+20600000
+18007206
+1a20a214
+1a40a414
+ea420000
+98000400
+ea220000
+98467e00
+24610000
+247a0000
+1a20a3fc
+1a40a5fc
+c2007707
+20600000
+18007206
+18002600
+ea220000
+98000400
+ea420000
+9840fe00
+9a60fe00
+e0a20000
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c2007713
+20600000
+18007206
+18002600
+ea420000
+98000400
+ea220000
+98467e00
+9a667e00
+e0a20000
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c2007721
+20600000
+18007206
+1a20a214
+18002600
+ea220000
+2feffe00
+7920a601
+1fe37e00
+2a6ffe00
+7920fe1f
+e2220000
+1a20a3fc
+1a632600
+c2007730
+20600000
+18007206
+18002600
+ea220000
+2feffe1f
+7920a601
+1fe3fe00
+2a6ffe00
+7920fe00
+e2220000
+1a20a204
+1a632600
+c200773d
+20600000
+2040773b
+2a6ffe00
+2020f751
+da400886
+1a222600
+1a20a3e8
+20407704
+24610000
+1a622200
+1a20a3e8
+da400886
+1a220a00
+2020771f
+20407711
+18a22200
+20207749
+2040771f
+2a6c0000
+20608000
+da400886
+18a0a3e8
+1a220a00
+20207711
+18a21600
+1a226000
+da400716
+1a420a00
+1a208c18
+e8c40000
+e0a40000
+e0a40000
+18007e00
+e0a40000
+19620a00
+20407755
+da400716
+1a420a00
+18007e00
+e0a40000
+1e008c20
+e8c40000
+e0a40000
+e0a40000
+19622200
+1a220a00
+20407755
+da400716
+1a420a00
+1e008c28
+e8c40000
+e0a40000
+e0a40000
+e0a40000
+19622200
+1a220a00
+20207755
+18007206
+e8c20000
+98005e00
+1f00f001
+c2007781
+20600000
+18a21600
+d8a006e6
+20407ec5
+d8a006e6
+1a220c00
+18007000
+20407780
+1a420c00
+20407780
+18002400
+18000400
+18002606
+e8a20000
+98002200
+1a427000
+1de27e00
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e0a20000
+1fef0400
+1a60a601
+2a61fe0c
+2420f792
+18427e00
+e0a20000
+18a08be8
+1a40a401
+2a41fe06
+2420f790
+da2006e6
+19620a00
+2020775f
+1a222400
+20207786
+1a226000
+1e022200
+ea208000
+2feffe00
+20608000
+2040772d
+ea408000
+2fec0000
+2020f7ba
+da200886
+1a420a00
+20407711
+ea408000
+9a60fe00
+e2408000
+1a40a5e8
+1a40a218
+18007207
+2040772f
+202077ab
+18a21600
+d8a00746
+20407ec5
+18007e00
+600206fe
+6002075e
+70074601
+d8a006e6
+20407ec5
+d8c00886
+d8a00716
+20407ebe
+1a220c00
+d8a0072e
+20407ebe
+d8c0072e
+204076f5
+203a77f6
+da20072e
+da400746
+204077aa
+da200716
+da4006e6
+204077aa
+da20072e
+da400716
+20407704
+202177e8
+da200716
+da40072e
+1a220a00
+2040771f
+da200746
+da4006e6
+1a420a00
+20407711
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+202077cd
+da20072e
+da400716
+1a220a00
+2040771f
+da2006e6
+da400746
+1a420a00
+20407711
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+202077cd
+d8a00746
+20407ec5
+680086fe
+60008746
+6000874e
+da200746
+da4006e6
+1a420a00
+20407755
+da200886
+da4006e6
+19620a00
+20207758
+da2006a6
+d8a0075e
+204077a8
+da20075e
+d8a00776
+204077a8
+da20089e
+da400776
+d8a00776
+20407786
+da200676
+d8a0075e
+204077a8
+d8c0075e
+d8a0072e
+20407ebe
+da20072e
+20407748
+da20075e
+da40072e
+d8a0075e
+20407755
+da20075e
+da400776
+d8a0075e
+20407755
+d8c00676
+d8a0072e
+20407ebe
+da20068e
+d8a00776
+204077a8
+da20072e
+20407748
+da20072e
+20407748
+da20072e
+da400776
+d8a0072e
+20407786
+da200776
+d8a00746
+204077a8
+da200746
+20407748
+da200746
+20407748
+da200746
+20407748
+d8c0068e
+d8a00776
+20407ebe
+da200776
+20407748
+da200776
+da4006a6
+d8a006a6
+20407786
+da20075e
+d8a00776
+204077a8
+da200776
+da40072e
+d8a00776
+20407758
+da200776
+da40072e
+d8a00676
+20407758
+da20072e
+da400676
+d8a00776
+20407758
+da200776
+da40075e
+d8a00776
+20407786
+da200776
+da400746
+d8a0068e
+20207758
+da200616
+d8a0078e
+204077a8
+da200676
+da40078e
+d8a00746
+20407786
+da200616
+da40078e
+d8a0078e
+20407786
+da20068e
+da40078e
+d8a0072e
+20407786
+da2006a6
+d8a0078e
+204077a8
+da2005e6
+da40078e
+d8a0075e
+20407786
+da2006a6
+da40078e
+d8a0078e
+20407786
+da2005fe
+da40078e
+d8a00776
+20407786
+da200746
+da40075e
+d8a0078e
+20407758
+da200746
+da40075e
+d8a00746
+20407755
+da20072e
+da400776
+d8a0075e
+20407758
+da20072e
+da400776
+d8a0072e
+20407755
+da20072e
+da40078e
+d8a0072e
+20407786
+da2006a6
+da400616
+d8a00776
+20407786
+da200776
+da40078e
+d8a006a6
+20407786
+da20078e
+d8a0078e
+204077a8
+da20078e
+da400746
+d8a00776
+20407786
+da20078e
+da40072e
+d8a0072e
+20407786
+da20075e
+d8a00676
+204077a8
+da200676
+da400776
+d8a00676
+20407758
+d8c00676
+d8a0078e
+20407ebe
+da20078e
+20407748
+da200776
+da40078e
+d8a00776
+20407758
+da200776
+da40075e
+d8a0075e
+20407786
+da20075e
+da40072e
+d8a0068e
+20407758
+da20068e
+da400886
+d8a0068e
+18002600
+6800868e
+2feffe00
+2040f711
+1a626000
+da20068e
+2040772d
+680086a5
+2e0ffe00
+7920fe07
+600086a5
+20600000
+680085e3
+1fe0ffff
+24610000
+600085e3
+680085e2
+205a7803
+680085e3
+d8c006be
+204076ec
+2020f8c0
+680085e2
+243a78ce
+20407854
+202078c0
+7005e200
+d8c005e6
+d8a00676
+204076f2
+202078c0
+da2006a6
+d8a00776
+204077be
+da200776
+d8a0072e
+204077a8
+da200676
+da40072e
+d8a0062e
+20407786
+da200776
+da40072e
+d8a0075e
+20407786
+da20068e
+da40075e
+d8a00646
+20207786
+e8c20000
+18002204
+18a08a03
+e0a08000
+1fecfe00
+18a08bfe
+1a20a3ff
+2422f8e8
+18a08a05
+c20078e5
+20600000
+18ebfe00
+99608c00
+e8c20000
+20600000
+18006010
+d96005e6
+1e008ff9
+204078f0
+98000400
+1e008ff0
+204078f0
+98408400
+1e008ffe
+204078f0
+1fee7e01
+98408400
+1e008ff1
+204078f0
+1fee7e00
+98408400
+1e0bfe00
+99608a00
+e0aa0000
+1e00e001
+2e01fe40
+2420f8f6
+20600000
+d8c008fe
+18007007
+e8c20000
+98005e00
+1f00f1ff
+2021790d
+20600000
+4776403d
+204078f4
+d8a006e6
+18007000
+1de27e00
+e0a20000
+1f00f001
+2f01fe08
+2420f916
+204074b9
+d9608700
+de0005e6
+18007240
+ee0a0000
+e9620000
+19609604
+1e00e004
+9840fe00
+18007007
+9de08400
+18007004
+1dee7e03
+98408400
+18007005
+1de27e00
+18007006
+9de2fe00
+18007004
+9de17e00
+18007006
+9de2fe00
+98408400
+18007007
+18425e00
+18007003
+1de27e00
+9840de00
+18007000
+1de27e00
+18007001
+9de10400
+9de1fe00
+18007002
+9de17e00
+98418400
+18007000
+1dee7e02
+9840fe00
+18007007
+9de0de00
+980efc00
+c200791f
+d8c006e6
+18007000
+e8c20000
+9de0de00
+1f00f001
+2f01fe08
+2420f948
+202074bd
+d8a00a3e
+18007007
+1de27e00
+e0a20000
+1f00f1ff
+20217950
+20600000
+d8a005e6
+18c08dfc
+1f262210
+e8c20000
+9842fe00
+e0a20000
+18c08df8
+c2007958
+1a227200
+18427e00
+e0a20000
+c200795f
+20600000
+20407967
+2040794e
+2020798d
+20407967
+2020798d
+d8c009de
+d8a005e6
+18007206
+20407a71
+d8c04642
+18007206
+20407a71
+d8c00a3e
+20407a70
+2040790b
+20407912
+d8c00a2e
+d8a005e6
+20207984
+d8c04642
+d8a005e6
+18007206
+20407a71
+d8c009de
+18007206
+20407a71
+d8c00a2e
+20407a70
+2040790b
+20407912
+d8c00a3e
+d8a005e6
+20407984
+2020798d
+20407a70
+58800000
+1fed7e00
+e0a20000
+18007205
+20407ec6
+58000280
+e0a20000
+20207912
+68020a3e
+da2003e8
+9a26fc00
+20407f86
+18077e00
+600209ba
+1807fe00
+da2003e8
+9a26fc00
+20407f86
+18077e00
+da2003e8
+9a2ffe00
+680a09ba
+9840fe00
+600209ba
+20600000
+70466400
+202079a2
+6800c662
+c081799e
+4776c03d
+58363636
+1fed0400
+18418436
+68010a7e
+1fe20c00
+18007204
+20407955
+2040790b
+20407912
+68010a80
+1fe20c00
+d8a005e6
+18007206
+20407a71
+68010a82
+1fe20c00
+18007206
+20407a71
+58800000
+e0a18000
+6800c664
+e0a08000
+18007e00
+e0a40000
+58000388
+e0a20000
+20407912
+2040794e
+d8c00a3e
+d8a00706
+20407ebd
+585c5c5c
+1fed0400
+1841845c
+68010a7e
+1fe20c00
+18007204
+20407955
+2040790b
+20407912
+d8c00726
+d8a005e6
+18007208
+20407a71
+58800000
+1fed7e00
+e0a20000
+20407ec5
+58000300
+e0a20000
+20407912
+2020794e
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+68010a8a
+1fe20c00
+d8a005e6
+20407a70
+68010a8c
+1fe20c00
+20407a70
+5862746c
+1fed7e00
+1fe1fe6b
+e0a20000
+d8c00733
+18007203
+20407a71
+58800000
+1fed7e00
+e0a20000
+18007e00
+e0a40000
+58000380
+e0a20000
+20407912
+2040794e
+d8c00a3e
+d8a00706
+20407ebd
+585c5c5c
+1fed0400
+1841845c
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00726
+d8a005e6
+18007208
+20407a71
+58800000
+1fed7e00
+e0a20000
+20407ec5
+58000300
+e0a20000
+20407912
+2020794e
+6800c662
+c0817a1e
+4777403d
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00a3e
+d8a005e6
+20407a70
+d8c00a2e
+20407a70
+20207a33
+58000000
+6002468a
+20207a0f
+58000000
+6002468a
+20207a26
+6800c662
+c0817a21
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00a2e
+d8a005e6
+20407a70
+d8c00a3e
+20407a70
+58000000
+e0a40000
+e0a20000
+6802468a
+e0a20000
+18a20400
+70072680
+18420a00
+d8c00736
+20407a70
+20407912
+d8a005e6
+18007207
+20407ec6
+e0a20000
+580003f8
+e0a20000
+20407912
+2040794e
+d8c00a3e
+d8a00706
+20407ebd
+585c5c5c
+1fed0400
+1841845c
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00726
+d8a005e6
+18007208
+20407a71
+58800000
+1fed7e00
+e0a20000
+20407ec5
+58000300
+e0a20000
+20407912
+2020794e
+7005e3c0
+680085e3
+207a0000
+1fe0ffff
+600085e3
+d8c006be
+204076ec
+2020fa5e
+d8c005e6
+d8a00676
+202076f2
+20407803
+680085e3
+1fe0ffff
+600085e3
+d8c006be
+204076ec
+20608000
+20207854
+18007204
+18c08dfc
+e8c20000
+e0a20000
+18c08df8
+c2007a72
+20600000
+4777c03d
+6800c4be
+203a5af0
+20405aec
+20407583
+20207a7d
+6800c4c3
+c1800000
+6800c4c0
+c1800000
+d8a045b2
+18000e0f
+204076a2
+180a7e00
+1fe37e00
+e0a10000
+d8a00766
+d8c045b2
+20407ebd
+d8a00646
+d8c0095e
+20407eb3
+d8a00686
+20407ed0
+70068601
+20407ac7
+7044c003
+20600000
+d8a045d2
+d8c006a6
+20407eb3
+7044c303
+7044c000
+20600000
+680089b9
+c1800000
+6800c4c0
+c1800000
+d8a00766
+d8c045b2
+20407ebd
+d8a00646
+d8c009be
+20407eb3
+d8a00686
+20407ed0
+70068601
+20407ac7
+7044c004
+20600000
+d8a009fe
+d8c006a6
+20407ebd
+7009b903
+7044c000
+20600000
+6800c4be
+207a0000
+6800c4c0
+207a0000
+1fe0fe80
+6000c4c0
+c3838000
+680105e3
+203a7ab9
+20207abf
+4778403e
+20407ad4
+6800c4c0
+c001fa93
+c0027aa9
+20600000
+20407ae6
+680105e3
+1fe0ffff
+600105e3
+d8c00766
+204076ec
+20608000
+20207b37
+4778c03e
+58000100
+600105e3
+680105e3
+207a0000
+1fe0ffff
+600105e3
+d8c00766
+204076ec
+2020faca
+d8c00646
+d8a00706
+20207eb2
+da200746
+d8a00846
+20407ba3
+da200846
+d8a007e6
+20407c79
+da200706
+da4007e6
+d8a006a6
+20407be1
+da200846
+da4007e6
+d8a00826
+20407be1
+da200726
+da400826
+d8a006c6
+20207be1
+da200746
+d8a00826
+20407c79
+da200826
+d8a00846
+20407c79
+da20093e
+da400846
+d8a00846
+20407be1
+da200706
+d8a00826
+20407c79
+d8c00826
+d8a007e6
+20407ebd
+da2007e6
+20407c80
+da200826
+da4007e6
+d8a00826
+20407c7d
+da200826
+da400846
+d8a00826
+20407c7d
+d8c00706
+d8a007e6
+20407ebd
+da200726
+d8a00846
+20407c79
+da2007e6
+20407c80
+da2007e6
+20407c80
+da2007e6
+da400846
+d8a007e6
+20407be1
+da200846
+d8a00806
+20407c79
+da200806
+20407c80
+da200806
+20407c80
+da200806
+20407c80
+d8c00726
+d8a00846
+20407ebd
+da200846
+20407c80
+da200846
+da400746
+d8a00746
+20407be1
+da200826
+d8a00846
+20407c79
+da200846
+da4007e6
+d8a00846
+20407c96
+da200846
+da4007e6
+d8a00706
+20407c96
+da2007e6
+da400706
+d8a00846
+20407c96
+da200846
+da400826
+d8a00846
+20407be1
+da200846
+da400806
+d8a00726
+20207c96
+da200686
+d8a00866
+20407c79
+da200706
+da400866
+d8a00806
+20407be1
+da200686
+da400866
+d8a00866
+20407be1
+da200726
+da400866
+d8a007e6
+20407be1
+da200746
+d8a00866
+20407c79
+da200646
+da400866
+d8a00826
+20407be1
+da200746
+da400866
+d8a00866
+20407be1
+da200666
+da400866
+d8a00846
+20407be1
+da400806
+da200826
+d8a00866
+20407c96
+da200806
+da400826
+d8a00806
+20407c7d
+da4007e6
+da200846
+d8a00826
+20407c96
+da2007e6
+da400846
+d8a007e6
+20407c7d
+da2007e6
+da400866
+d8a007e6
+20407be1
+da200746
+da400686
+d8a00846
+20407be1
+da200846
+da400866
+d8a00746
+20407be1
+da200866
+d8a00866
+20407c79
+da200866
+da400806
+d8a00846
+20407be1
+da200866
+da4007e6
+d8a007e6
+20407be1
+da200826
+d8a00706
+20407c79
+da200706
+da400846
+d8a00706
+20407c96
+d8c00706
+d8a00866
+20407ebd
+da200866
+20407c80
+da200846
+da400866
+d8a00846
+20407c96
+da200846
+da400826
+d8a00826
+20407be1
+da200826
+da4007e6
+d8a00726
+20407c96
+da200726
+da40091e
+d8a00726
+18002600
+68008726
+2feffe00
+2040fc7b
+1a626000
+da200726
+20407cab
+68008745
+2e0ffe00
+7920fe07
+60008745
+20600000
+18a21600
+d8a00806
+20407ed0
+18007e00
+60020826
+70080601
+d8a00786
+20407ed2
+d8c0091e
+d8a007c6
+20407ebd
+1a220c00
+d8a007e6
+20407ebd
+d8c007e6
+20407cb5
+203a7bda
+da2007e6
+da400806
+20407cb8
+da2007c6
+da400786
+20407cb8
+da2007e6
+da4007c6
+20407cb1
+20217bcc
+da2007c6
+da4007e6
+1a220a00
+20407ca9
+da200806
+da400786
+1a420a00
+20407c7b
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+20207bb1
+da2007e6
+da4007c6
+1a220a00
+20407ca9
+da200786
+da400806
+1a420a00
+20407c7b
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+20207bb1
+da200786
+19620a00
+20407c0a
+da20091e
+19622400
+19620a00
+20207c96
+18a21600
+18007000
+d8a00786
+20407ed2
+d8a00ad2
+20407ed2
+1a220c00
+700ad200
+58000000
+20407c73
+1a420c00
+20407c77
+18000e00
+d8a00786
+d8400ad2
+18e22400
+1a4bfe00
+9840a400
+18000400
+18002600
+e8a20000
+98002200
+ea420000
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e0a20000
+1fef0400
+1a60a601
+2a61fe08
+2420fbf5
+18427e00
+e0a20000
+18a08be0
+18e08e01
+28e1fe08
+2420fbef
+da200786
+19620a00
+20207c0a
+4779403e
+18a21600
+1a226000
+da4007c6
+1a420a00
+20407ecd
+e0a40000
+1a208c2c
+20407eb9
+20407eb5
+1a422200
+20407c80
+da4007c6
+1e022200
+19620a00
+20407c7d
+da4007c6
+1a420a00
+20407ecd
+e0a40000
+1e008c30
+20407ebf
+20407ecd
+1a422200
+20407c80
+da4007c6
+19622200
+1a220a00
+20407c7d
+da4007c6
+1a420a00
+1e008c20
+20407eb5
+20407ecd
+e0a40000
+1e008c38
+20407eb9
+19622200
+1a220a00
+20407c7d
+da4007c6
+1a420a00
+1e008c24
+20407eb5
+1e008c34
+20407eb5
+1e008c34
+20407eb6
+1e008c20
+20407eb6
+19622200
+1a220a00
+20407c7d
+da4007c6
+1a420a00
+1e008c2c
+20407eb5
+20407ecd
+e0a40000
+1e008c20
+20407eb6
+1e008c28
+20407eb6
+19622200
+1a220a00
+20407c96
+da4007c6
+1a420a00
+1e008c30
+20407eb9
+20407eb9
+18007e00
+e0a40000
+1e008c24
+20407eb6
+1e008c2c
+20407eb6
+19622200
+1a220a00
+20407c96
+da4007c6
+1a420a00
+1e008c34
+20407eb5
+1e008c20
+20407eb5
+20407ecd
+1e008c30
+20407eb6
+19622200
+1a220a00
+20407c96
+da4007c6
+1a420a00
+1e008c38
+20407eb9
+20407ecd
+1e008c24
+20407eb5
+20407ecd
+1e008c34
+20407eb6
+19622200
+1a220a00
+20207c96
+18007220
+d8a00ad2
+98a08a00
+20207f01
+18007208
+20207781
+1a222400
+20207be1
+18007208
+20207712
+20407c7b
+18a22200
+20207c81
+20407cae
+2a6ffe00
+2020fc8a
+da40091e
+1a222600
+1a20a3e0
+20407cb1
+24610000
+1a622200
+20207c92
+20407c92
+1a222600
+1a20a3e0
+da40091e
+20407cb1
+24610000
+1a622200
+20207c92
+1a20a3e0
+da40091e
+1a220a00
+20207ca9
+20407ca9
+2020fca0
+18a0a3e0
+da40091e
+20407cb1
+24610000
+da40091e
+18a0a3e0
+1a220a00
+20207ca9
+18a0a3e0
+da40091e
+1a220a00
+20407c7b
+20608000
+18a0a3e0
+da40091e
+1a220a00
+20207c7b
+18007208
+20207720
+18007208
+1a20a21c
+2020772f
+18007208
+18002600
+2020773d
+18007208
+1a20a21c
+1a40a41c
+20207707
+e8c40000
+247a0000
+202076f5
+1a226000
+1e022200
+ea208000
+2feffe00
+20608000
+20407cab
+ea408000
+2fec0000
+2020fcc8
+da20091e
+1a420a00
+20407c7b
+ea408000
+9a60fe00
+e2408000
+1a40a5e0
+1a40a220
+18007209
+2040772f
+20207cb9
+20402c65
+20758000
+20407cd3
+20407d75
+20207d08
+20407d29
+20207d64
+6800c686
+c17f8000
+98000400
+2040680e
+6808c686
+20406825
+20000064
+6808c686
+204067fb
+20207cdd
+4779c03e
+6800c686
+c17f8000
+1fe20400
+2040681d
+2420fcef
+20407cf9
+68014682
+79207e0c
+60014682
+6800c679
+c1000000
+70467900
+6800c685
+6000c678
+20407d00
+700a992c
+20207d86
+68014682
+793ffe0c
+60014682
+6800c679
+c1008000
+70467901
+70467800
+20407d02
+700a992d
+20207d86
+6800c678
+207a0000
+1fe0ffff
+6000c678
+247a0000
+700a9910
+20207d86
+d8e00007
+20202c32
+d8e00007
+20202c36
+6801421b
+1a2fa40b
+9a40a400
+20600000
+6800c21a
+207a0000
+1fe27200
+6801421b
+1fe22400
+1a40a602
+ea688000
+2040680e
+20407d32
+1a40a40b
+c2007d0d
+20600000
+20407d04
+58000002
+e2408000
+20407d5e
+20207d35
+20407d04
+58000003
+e2408000
+20407d5e
+20207d32
+20407d04
+58000001
+e2408000
+580000ff
+e0a08000
+20207d32
+20407d04
+df20000b
+1a620c00
+1a420a00
+20207ef4
+6800c21a
+207a0000
+da200000
+20407d38
+1a20a201
+6800c21a
+9a267c00
+20628000
+20207d2c
+1a40a602
+ea688000
+20206825
+1a40a602
+ea688000
+20206829
+1a208e0b
+20407f16
+247a0000
+20407d04
+ea408000
+c0017d35
+c001fd32
+c0007d32
+c002fd4c
+20407d35
+1a40a607
+20407e7c
+ea610000
+20407f9c
+20407e8c
+58000005
+e2408000
+1a40a603
+ea610000
+20207d5c
+20407d32
+1a40a609
+20407e7c
+ea610000
+20407f9c
+20407e8c
+1a40a601
+ea608000
+c07ffd58
+1fe0ffff
+e2608000
+203a7d19
+58000004
+e2408000
+1a40a605
+ea610000
+1a208e0b
+20207f08
+58000000
+20207d5c
+58001000
+1ff07e00
+9a40a400
+20600000
+477a403e
+da200000
+680a467a
+1c422400
+1a427e00
+98467c00
+24417d60
+1a427e00
+184084a0
+184084a0
+98467c00
+24217d78
+1a20a201
+1a217e0f
+243a7d6b
+da200000
+20407d7f
+1c427e00
+6002467a
+20600000
+477ac03e
+1a227e00
+207a0000
+18408560
+18408560
+793f841c
+600a467a
+2020335f
+70466601
+6800c667
+243a7d81
+20600000
+70466600
+20600000
+477b403e
+20407d80
+1a227e00
+60020a91
+da204668
+20407fb8
+68020a91
+1fe22200
+20207d84
+477bc03e
+20407d80
+1a227e00
+60020a91
+da204670
+20407fb8
+68020a91
+1fe22200
+20207d84
+58000000
+60044670
+60044668
+20600000
+477c403f
+6800c1ce
+247a0000
+da204670
+20407fd0
+207a0000
+700a9000
+20407da7
+68008a90
+203a7d9c
+20600000
+20407d80
+da204670
+20407fc4
+1fe20400
+20407d84
+477cc03f
+18427e00
+207a0000
+c000fddd
+c0017de2
+c001fde8
+c003fded
+c0047dee
+c004fdef
+c005fdf2
+c0067df3
+c006fdf4
+c0077dfa
+c007fdff
+c0087e05
+c009fe0f
+c00a7e11
+c00afe13
+c00b7e15
+c00bfe18
+c00c7e1a
+c00cfe1d
+c00dfe25
+c00f7e2f
+60008a99
+477d403f
+204062bc
+243a7ddb
+68008a99
+c584fdd6
+c0027dea
+c002cd17
+c0034d26
+c0057df0
+c008fe0a
+c0097e0e
+c00efe26
+c00fe7cc
+c01067d0
+c010fe31
+c012e70b
+20600000
+60008a99
+20402252
+2022fddb
+2040225a
+24628000
+700a9001
+20207d8f
+68014682
+79207e06
+60014682
+70409303
+20600000
+70468000
+70409300
+68014682
+793ffe06
+60014682
+20600000
+7041ce05
+20600000
+70007c07
+7004ca13
+20600000
+20600000
+20600000
+20600000
+7004d402
+20204d0a
+20600000
+20600000
+70436e01
+70448400
+68014682
+79207e0b
+60014682
+20600000
+68014682
+793ffe0b
+60014682
+70436e00
+20600000
+70436e01
+70448401
+68014682
+79207e0b
+60014682
+20600000
+68014682
+793ffe0b
+60014682
+70436e00
+20600000
+58000014
+6001046d
+600144ba
+20205c92
+20205abf
+da200000
+20207d19
+da200000
+20207d14
+da200000
+20207d1e
+70436901
+7041ce1b
+20600000
+70436901
+20600000
+70436900
+7041ce00
+20600000
+680141eb
+20407f9c
+6800c686
+c07ffe23
+1fe20400
+204067fb
+20407d98
+20202b1f
+20205b02
+70007c34
+79200003
+24748000
+70455b00
+70007c13
+6800816d
+793ffe02
+6000816d
+20600000
+18000e03
+20207f07
+204062f8
+70007d41
+20205f9d
+6800c682
+c4060000
+c4038000
+20207e2f
+68014218
+1fe08a02
+58000000
+e0a18000
+20600000
+20407fe9
+20407e69
+207a0000
+68014218
+1fe0a402
+ea488000
+18408401
+e2488000
+efe88000
+18427200
+1fe0a404
+ea408000
+984ffe00
+98c08a00
+1a220c00
+20407f01
+20407e6d
+1fe0ffff
+ea488000
+18408401
+98410400
+e2488000
+20207fe7
+20407fe9
+20407e65
+207a0000
+68014218
+1fe0a402
+ea488000
+184085ff
+e2488000
+efe88000
+18427200
+1fe0a403
+ea408000
+984ffe00
+98c08c00
+18c08c01
+1a220a00
+20207e4c
+68014218
+1fe08c02
+e8c08000
+20600000
+20407e6d
+e8c88000
+98467e00
+20600000
+68014218
+1fe08c01
+e8c08000
+20600000
+1f267c00
+20628000
+1fe37e00
+c2007e73
+20600000
+18007e01
+1f267c00
+20628000
+1fe3fe00
+c2007e79
+20600000
+18a27e00
+60010abb
+600c0aa2
+19627e00
+60020aaa
+20407e85
+18c27e00
+60010ab9
+20600000
+1a227e00
+60020aae
+1a427e00
+60020ab2
+1a627e00
+60018ab6
+20600000
+680c0aa2
+68020aaa
+98001600
+20407e95
+68010abb
+98000a00
+68010ab9
+98000c00
+20600000
+68020aae
+98002200
+68020ab2
+98002400
+68018ab6
+98002600
+20600000
+68010abb
+1fe20a00
+20600000
+68010ab9
+1fe20c00
+20600000
+18a27e00
+60010abb
+20600000
+18c27e00
+60010ab9
+20600000
+18a27e00
+60010a97
+18c27e00
+60010a95
+20600000
+68010a97
+1fe20a00
+68010a95
+1fe20c00
+20600000
+20407ebd
+20407ebd
+20207ebd
+20407eb9
+e8c20000
+e0a20000
+20600000
+e8c40000
+e0a40000
+20600000
+20407ebf
+20407eb9
+20407eb9
+20407eb9
+20207eb9
+df20000a
+20002ee0
+c2007ec2
+20600000
+18007203
+18007e00
+e0a40000
+c2007ec7
+20600000
+18007e00
+e0a40000
+20600000
+18007e00
+e0a20000
+20600000
+18007204
+20207ec6
+18007208
+20207ec6
+1f227e00
+207a0000
+58000000
+e0a08000
+c2007ed7
+20600000
+df200020
+d8a00ac2
+20207ed4
+ea620000
+ea2a0000
+9842fe00
+e0a20000
+1a20a204
+1a60a604
+c2007edd
+20600000
+477dc03f
+1f227e00
+1fe67c01
+20610000
+9a20a400
+1a40a5ff
+1f237200
+ea288000
+ea408000
+e2208000
+e2488000
+1a40a5ff
+1a20a201
+c2007eec
+20600000
+1f227e00
+207a0000
+1f20f3f8
+20417eb9
+20628000
+20217ef6
+1f20f208
+1f20f3fc
+20417eb6
+20628000
+20217efb
+1f20f204
+20207f01
+1f227e00
+207a0000
+e8c08000
+e0a08000
+c2007f03
+20600000
+58000000
+1c430400
+600a4094
+d8a0419d
+98000400
+18e3fe00
+98a08a00
+e0a90000
+477e403f
+20600000
+d9600800
+19701600
+9960fe00
+20600000
+d8e00000
+477ec03f
+680a4094
+1c437e00
+60024094
+98467c00
+24417f11
+98461600
+19620400
+d8c0419d
+18c20a00
+df200010
+e8c10000
+98467e00
+20217f25
+18007e00
+e0a10000
+c2007f21
+d8c0419d
+18e3fe00
+98c08c00
+e8c10000
+20600000
+98408400
+18427200
+58000ea6
+9f267e00
+20610000
+1fe67e00
+18510400
+18408401
+18500400
+98418400
+20600000
+20407f39
+20207f43
+78547c00
+98467e00
+20217f3e
+78347c00
+1fe67e00
+c4078000
+d85f0ea6
+9840fe00
+793ffe40
+20600000
+98000c00
+1ff17e00
+d8400ea6
+984ffe00
+98c0fe00
+20600000
+1fed7e00
+1ff27e00
+6809c16f
+9846fc00
+20407f86
+18078400
+20600000
+d8400ea6
+9846fc00
+20407f86
+1807fe00
+1ff07e00
+18070400
+98418400
+20600000
+d8400000
+18422600
+e8608000
+20407f64
+1a620400
+20407f95
+da40000a
+9a4ffe00
+9840fe00
+1fe20400
+c2007f59
+20600000
+d840003a
+98467c00
+24217f6d
+d8400061
+98467c00
+20217f70
+d8400037
+98467e00
+20600000
+d8400030
+98467e00
+20600000
+d8400057
+98467e00
+20600000
+18426000
+580001ff
+18002400
+1fe92200
+1a232200
+9a22a200
+2a2ffe00
+7920fe09
+18430400
+2feffe00
+79208407
+1fe37e00
+1a40a401
+2a400e00
+2420ff76
+e0a88000
+c2007f76
+1e020400
+20600000
+207a8000
+20207f86
+ea208000
+ea488000
+98467c00
+24628000
+1a20a201
+1a40a401
+c2007f88
+18007c00
+20600000
+98467c00
+24610000
+18427e00
+20600000
+9840fe00
+98460400
+98467e00
+20600000
+df200200
+d8a04000
+20207ec6
+207a0000
+1fe27a00
+6811010e
+243a7f9e
+20600000
+70820301
+20600000
+60110205
+68108203
+79207e04
+60108203
+20600000
+60110207
+68108203
+79207e06
+60108203
+20600000
+60110205
+70820330
+20600000
+68108043
+793ffe04
+60108043
+20600000
+6811010e
+d8400200
+98467c00
+20600000
+477f403f
+ea2c0000
+18417eff
+243a7fbe
+184cfe00
+e2240000
+1a20a207
+ea208000
+243a2a8c
+68008a99
+e2208000
+20600000
+477fc03f
+df200008
+ea240000
+207a0000
+ea208000
+243a7fcd
+1a20a201
+c2007fc8
+20202a8c
+d8400000
+e2288000
+20600000
+ea240000
+20600000
+ea208000
+20600000
+ea210000
+20600000
+d8400000
+68008006
+c2007fd7
+18408401
+c2007fd7
+18427e00
+20600000
+98467c00
+24610000
+18427e00
+20600000
+18007dff
+20600000
+18007c01
+20600000
+18007c00
+20600000
+78347c00
+20600000
+78547c00
+20600000
+78367c00
+20600000
+78567c00
+20600000
+58000001
+20600000
+58000000
+20600000
+1f227e00
+207a0000
+18c27e00
+9f20fe00
+1fe0ffff
+1fe20c00
+e8c08000
+18c08dfe
+e0a08000
+c2007ff9
+20600000
+00000000
+0000a447
Index: YJX_Only24g/FCC_1021S/output/sched.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/sched.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/output/sched.rom	(working copy)
@@ -0,0 +1,270 @@
+
+
+mem_shutter_bluetooth_type:
+02
+
+
+mem_le_lap:72 32 00 98 07 2a
+mem_le_name_len:
+'Shutter Test
+
+mem_lap:21 00 24 00 20 00
+mem_local_name_length:#0b
+#mem_local_name:
+'ZRP Shutter
+
+mem_classic_shutter_random_mac_offset_addr:
+30 00
+
+mem_shutter_config_eeprom_offset_addr:
+00 00
+
+mem_shutter_config_enable:
+00
+
+mem_shutter_config_otp_base_address:
+fb 05
+
+mem_shutter_config_size:20
+
+mem_shutter_config_user_otp_address:
+00 00
+#da 05
+
+mem_key0_press:
+01 00
+mem_key0_release:
+06 00
+
+mem_key1_press:
+02 00
+mem_key1_release:
+06 00
+
+mem_key2_press:
+07 00
+mem_key2_release:
+08 00
+
+mem_ui_button_gpio:ff
+mem_shutter_hard_soft_switch_case:00
+mem_shutter_soft_switch_button_gpio:
+08
+mem_power_param_ptr:
+mem_shutter_soft_switch_power_state
+mem_shutter_soft_switch_power_state:
+00 #mem_shutter_soft_switch_power_state
+14 #mem_shutter_soft_switch_poweron_time
+20 #mem_shutter_soft_switch_poweroff_time
+
+
+mem_lpm_mode:01
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult:05
+mem_lpm_mult_timeout:02
+
+mem_shutter_config_select_gpio1:09 0a 0b
+
+mem_sniff_param_interval:30 00
+01
+00
+mem_unsniff2sniff_timer:0a
+
+mem_ble_shutter_reconn_blink_on_time:
+96 00
+96 00
+
+mem_ble_shutter_discovery_blink_on_time:
+96 02
+96 02
+
+
+mem_ble_shutter_interval_min_new:
+10 00
+20 00
+02 00
+2c 01
+
+mem_ui_led_struct_num:01
+mem_ui_led_struct_ptr:mem_shutter_led_struct_app_led
+
+mem_shutter_led_struct_app_led:
+00		#type:stop blink
+00		#blink count:no blink
+01		#led gpio number:GPIO01
+a0 01	#led blink light time
+a0 01	#led blink dark time
+00 00	#call back function when light time
+00 00	#call back function when dark time
+
+#mem_shutter_power_off_led_style
+01		#type:start blink
+07		#blink count:no blink
+01		#led gpio number:GPIO01
+a0 03	#led blink light time
+a0 03	#led blink dark time
+00 00	#call back function when light time
+00 00	#call back function when dark time
+
+
+mem_ble_shutter_reconn_dav_interval:10 00	#100ms
+mem_ble_shutter_discovery_adv_interval:40 01
+mem_le_adv_interval:40 01 
+mem_ble_shutter_reconn_timeout:50 00		#8s
+
+mem_device_option:09
+mem_le_adv_channel_map:07 
+mem_le_adv_enable:00
+
+mem_classic_shutter_discovery_timeout:
+00 FF	#mem_classic_shutter_discovery_timeout
+00 FF	#mem_classic_shutter_connect_timeout
+00 FF	#mem_ble_shutter_discovery_timeout
+00 FF	#mem_ble_shutter_connect_timeout
+	
+
+
+mem_queue_ptr: mem_queue_each_size
+
+mem_queue_each_size:
+01
+20
+
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+02 01 05
+03 02 12 18
+03 19 c1 03
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+0d 09 56 30 2d 53 68 75 74 74 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+
+
+mem_keyscan_ptr:mem_shutter_keyscan
+mem_shutter_key_num:01
+mem_shutter_key_conf0:
+#0
+08
+#1
+0c
+#2
+0d
+
+##############NVRAM CONFIG##############
+
+mem_app_connection_options:17
+
+mem_nv_data_ptr:mem_shutter_nv_data
+mem_nv_data_number:05
+
+mem_class: 4025
+
+mem_sp_iocap_local:03 00 04
+mem_ssp_mode_flag:03
+mem_ssp_enable:01
+mem_ui_profile_supported:01
+
+
+mem_ptt:00
+mem_features:
+ff
+ff
+8f
+f8	#openACL3M fe
+9b	#AFHclose 83
+9d
+59
+83
+
+
+#####################################
+
+
+##########BT shutter ################
+
+
+mem_lbutton_gpio:03
+mem_rbutton_gpio:07
+mem_mbutton_gpio:02
+
+
+
+
+
+################classic kb val list#######################
+
+################classic kb val list end#######################
+
+################ble kb val list#######################
+
+
+################ble kb val list end#######################
+
+
+##############BLE ATT LIST####################
+
+mem_ui_le_uuid_table:3a 91 #0x913A BLE_SHUTTER_GATT_LIST
+
+
+##############BLE ATT LIST END####################
+
+
+##############BT SDP LIST####################
+
+mem_eir_enable:01
+
+mem_all_uuid_16bits: 
+06
+03#Type: Complete list of 16-bit UUIDs
+1100  0001 0210 2411 0012 0100
+
+mem_all_uuid_128bits:
+00
+
+mem_ui_uuid_table:b8 92 #0x92B8 CLASSIC_SHUTTER_SDP_LIST
+
+##############BT SDP LIST END####################
+
+
+#mem_patch10:e0
+#mem_patch11:07
+#mem_patch29:28
+
+mem_patch00:01
+
+mem_lpm_config:8f 10 ca
+mem_lpm_buckcnt:0a 0b ef 07
+mem_lpm_hibernate_switch:00
+mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
+
+mem_fcomp_mul:02
+mem_fcomp_div:24
+mem_iscan_window:24 00
+mem_iscan_interval:00 02
+mem_pscan_window:24 00
+mem_pscan_interval:00 02
+
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 20
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+
+mem_lpm_xtalcnt:00 0a 1b ef 07
+
+mem_lmp_version:08 0e 05 04 00
+
+mem_eeprom_base:30 1f
+mem_eeprom_block_size:20
+mem_context_number:01
+
+mem_rf_init_data:
+ff
+mem_rf_init_ptr:mem_rf_init_data
+
+
+
Index: YJX_Only24g/FCC_1021S/patch_count.txt
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/patch_count.txt	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/patch_count.txt	(working copy)
@@ -0,0 +1,25 @@
+防丢器5个
+小车11个
+灯控7个
+透传6个
+鼠标11个
+小车遥控器6个
+自拍器1个
+usb 7个
+hci_h4 4个
+hci_main 7个
+hid 1个
+l2cap 44个
+le 70个
+smp 3个
+ll 2个
+lmp 13个
+外设24个
+rfcomm 18个
+scheduler 23个
+sdp 13个
+security 10个
+simple pairing 15个
+UI 10个
+utility 5个
+bt 356个
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/program/24g.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/24g.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/24g.prog	(working copy)
@@ -0,0 +1,2637 @@
+ifdef COMPILE_24G
+
+g24_dispatch:
+	bpatch patch16_2,mem_patch16
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_mode
+	rtneq disable_24g
+	beq tx_24g,g24_transmit_process
+	beq rx_24g,g24_receive_process
+	rtn
+
+g24_head_ptr2regc:
+	fetcht 2,mem_24g_head_ptr
+	copy temp,regc
+	rtn
+
+g24_receive_process_init:
+	call g24_receive_init
+	branch g24_mode_switch_init
+
+g24_receive_process:
+	call g24_mode_switch
+	call g24_dongle_work_mode_auto
+	call g24_dongle_bind_mode_auto
+	branch g24_dongle_search_mode_auto
+	
+
+g24_pair_init:
+	//jam 0,mem_24g_pid
+	//jam G24_PAIR_CH,mem_24g_ch
+	call g24_set0_mem_pid
+	setarg G24_PAIR_CH
+	call g24_store_mem_ch
+	call g24_store_mem_pair_txpower
+	//fetch 4,mem_24g_paring_addr
+	//store 4,mem_24g_addr
+	add regc,offset_24g_paring_addr,rega
+	ifetch 4,rega
+	branch g24_store_mem_addr
+		
+g24_ch:
+	call g24_head_ptr2regc
+	add regc,offset_24g_current_ch_number,regb
+	ifetcht 1,regb
+	//fetcht 1,mem_24g_current_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	add regc,offset_24g_current_ch_number,contw
+	//storet 1,mem_24g_current_ch_number
+	branch g24_contw_istoret_1byte
+
+g24_ch_temp_incre_size4:
+	call g24_ch_calc
+	increase 1,temp
+	and_into 3,temp
+	rtn
+
+g24_ch_calc:
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_addr
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	add regc,offset_24g_ch_map1,pdata
+	//setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	//store 1,mem_24g_ch
+	branch g24_store_mem_ch
+
+g24_set_device_addr:
+	call g24_store_mem_tx_power_temp
+	call otp_enable_chgpump
+	setarg 0x7e2
+	arg mem_temp,rega
+	arg 4,temp
+	call otpd_read_data
+	call otp_disable_chgpump
+	fetch 4,mem_temp	//adc data from otp
+	call g24_store_mem_device_addr
+	//store 4,mem_24g_device_addr	
+	nrtn blank
+	fetch 4,mem_lap
+	//store 4,mem_24g_device_addr
+	branch g24_store_mem_device_addr
+
+g24_transmit_rf_sta_init:
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	setarg 0
+	call g24_store_mem_sync_cnt
+	//jam 0,mem_24g_sync_cnt
+g24_transmit_rf_ctrl_clear:	
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	//store 1,mem_24g_data_type
+	branch g24_store_mem_data_type
+	
+g24_hop_ch_enable:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	//store 1,mem_24g_txpayload
+	branch g24_store_mem_txpayload
+	
+g24_transmit_hop_pac_fail:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_fail_wo_hop
+	beq 2,g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+	
+g24_transmit_hop_pac_fail_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_fail_stage1:
+	add regc,offset_24g_hop_pac_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_hop_pac_retry
+	call g24_store_mem_rf_last_sta
+	//jam 0,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_hop_pac_fail_hop_stage2:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	branch g24_transmit_hop_pac_fail_stage1
+
+g24_transmit_pac_fail_hop_stage3:
+	add regc,offset_24g_txfail_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txfail_cnt
+	increase 1,pdata
+	add regc,offset_24g_txfail_cnt,contw
+	istore 1,contw
+	//store 1,mem_24g_txfail_cnt
+	beq 0x20,g24_tx_attempt_fail
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	beq 1,g24_rf_hop_fastly
+	setarg 1
+	call g24_store_mem_rf_hop_ch
+	//jam 1,mem_24g_rf_hop_ch
+g24_rf_hop_attemp_again:
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	bne 1,g24_transmit_rf_ctrl_clear
+g24_rf_hop_fastly:
+	add regc,offset_24g_hop_fastly_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	call g24_store_mem_hop_fastly_cnt
+	//store 1,mem_24g_hop_fastly_cnt
+	beq 4,g24_rf_hop_fastly_exit
+	call g24_ch
+	call g24_set2_mem_max_retry
+	//jam 2,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_rf_hop_fastly_exit:
+	call g24_set0_mem_hop_fastly_cnt
+	//jam 0,mem_24g_hop_fastly_cnt
+	branch g24_transmit_rf_ctrl_clear
+
+g24_set0_mem_hop_fastly_cnt:
+	setarg 0
+g24_store_mem_hop_fastly_cnt:
+	add regc,offset_24g_hop_fastly_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_transmit_hop_pac_succ_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_succ:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_succ_rf_config:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_hop_pac_succ
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch g24_transmit_rf_sta_init,true
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_succ_wo_hop
+	beq 2,g24_transmit_hop_pac_succ
+	rtn
+
+g24_rf_sta_check:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_rf_laststa_synccnt_check
+	ncall g24_rf_sync_cnt_check,user2
+	rtn
+
+g24_rf_laststa_synccnt_check:
+	disable user2
+	add regc,offset_24g_rf_last_sta,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	setarg 1
+	call g24_store_mem_rf_work_stage
+	//jam 1,mem_24g_rf_work_stage
+	call g24_set4_mem_max_retry
+	//jam 4,mem_24g_max_retry
+	branch enable_user2
+
+g24_rf_sync_cnt_check:
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	branch g24_rf_hop_attemp,blank
+	increase -1,pdata
+	call g24_store_mem_sync_cnt
+	//store 1,mem_24g_sync_cnt
+	setarg 2
+	call g24_store_mem_rf_work_stage
+	//jam 2,mem_24g_rf_work_stage
+	call g24_ch
+	//jam 4,mem_24g_max_retry
+	branch g24_set4_mem_max_retry
+
+g24_store_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,contw
+	branch g24_contw_istore_1byte
+
+
+g24_rf_hop_attemp:
+	setarg 3
+	call g24_store_mem_rf_work_stage
+	//jam 3,mem_24g_rf_work_stage
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	nbranch g24_rf_hop_attemp_again,blank
+	call g24_ch
+	//jam 2,mem_24g_max_retry
+g24_set2_mem_max_retry:	
+	setarg 2
+	branch g24_store_mem_max_retry
+
+g24_transmit_process:
+	rtnmark0 mark_24g
+	set1 mark_24g_conext,mark
+	bpatch patch16_3,mem_patch16
+	add regc,offset_24g_tx_without_int,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_tx_without_int
+	beq 1,g24_transmit_without_int
+	call g24_timer_check
+	nbranch g24_transmit_exit,user
+	call g24_interval_calibrate
+g24_transmit_without_int:
+	add regc,offset_24g_tx_without_int,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_tx_without_int
+	call g24_txdata_prep
+	nbranch g24_enter_lpm,user
+	call g24_rf_sta_check
+g24_transmit_start:
+	call g24_transmit_packet
+	call g24_power_ctrl
+g24_transmit_exit:
+	set0 mark_24g_conext,mark
+	rtn
+
+g24_timer_timeout:
+	rtn zero
+	set1 28,pdata
+	rtn
+
+g24_interval_calibrate:
+	add regc,offset_24g_pac_index,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	add regc,offset_24g_pac_index,contw
+	istore 1,contw
+	//store 1,mem_24g_pac_index
+	beq 4,g24_interval_max
+	beq 5,g24_interval_min
+	rtn
+g24_interval_max:
+	add regc,offset_24g_interval_max,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_max
+g24_interval_update:	
+	//store 1,mem_24g_interval
+	add regc,offset_24g_interval,contw
+	branch g24_contw_istore_1byte
+
+g24_interval_min:
+	add regc,offset_24g_pac_index,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_pac_index
+	add regc,offset_24g_interval_min,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_min
+	branch g24_interval_update
+
+g24_txdata_prep:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_pairing_sm
+	bpatch patch16_4,mem_patch16
+	call g24_package_data
+	nbranch g24_txdata_last_pac,user
+	call g24_transmit_prep
+	call g24_power_ctrl_pac_incrs
+g24_txdata_enable_tx:
+	//jam ENSURE_ON_24G,mem_24g_ensure
+	setarg ENSURE_ON_24G
+g24_store_mem_ensure:	
+	add regc,offset_24g_ensure,contw
+	branch g24_contw_istore_1byte
+
+g24_txdata_last_pac:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	rtn
+
+g24_package_data:
+	//rega:length,regb:contr
+	add regc,offset_24g_cb_data,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_data
+	call callback_func
+	nrtn user
+	copy rega,pdata
+	store 1,mem_rega
+	add regc,offset_24g_abort_pac,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_abort_pac
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	fetch 1,mem_rega
+	copy pdata,rega
+	add rega,1,temp
+	arg mem_24g_common_temp+1,contw
+	copy rega,loopcnt
+	copy regb,contr
+	call memcpy
+	arg mem_24g_common_temp,rega
+g24_put_data_in_buff:
+	rtnmark0 mark_24g_conext
+	add regc,offset_24g_datalen,contw
+	istoret 1,contw
+	//storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+g24_transmit_prep:
+// total length
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	increase 2,pdata
+	add regc,offset_24g_txlen,contw
+	istore 1,contw
+	//store 1,mem_24g_txlen
+// data type
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_store_mem_txpayload
+	//store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	add regc,offset_24g_pid,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	add regc,offset_24g_no_ack,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	iforce loopcnt
+	add regc,offset_24g_txbuf,contr
+	//arg mem_24g_txbuf,contr
+	branch memcpy
+
+g24_send_abort_packet:
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_power_ctrl_reinit
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	call g24_put_data_in_buff_pre
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch g24_transmit_start
+
+g24_put_data_in_buff_pre:
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	branch g24_put_data_in_buff
+
+g24_enter_lpm:
+	add regc,offset_24g_abort_pac,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_abort_pac
+	branch g24_send_abort_packet,blank
+g24_enter_lpm_prepare:
+ 	// some thing need to do and do not enter 24g long sleep
+	add regc,offset_24g_cb_lpm_prepare,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_lpm_prepare
+	branch callback_func
+
+g24_lpm_long_sleep:
+	call g24_head_ptr2regc
+	//fetch 8,mem_24g_enter_hibernate
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	add regc,offset_24g_cb_lpm_before,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_lpm_before
+	call callback_func
+	add regc,offset_24g_enter_hibernate,temp
+	ifetch 8,temp
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+g24_transmit_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_retry
+g24_transmit_loop:
+	call g24_transmit_receive_ack
+	nbranch g24_retransmit,sync
+	nbranch g24_retransmit,user3
+	call g24_ackpayload_parse
+	call g24_power_ctrl_ack_incrs
+g24_transmit_next_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pid
+	increase 1,pdata
+	call g24_store_mem_pid
+	//store 1,mem_24g_pid
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_paring_mode
+	call g24_transmit_succ_rf_config
+g24_transmit_abandon:
+	setarg 0
+	add regc,offset_24g_txfail_cnt,contw
+	istore 2,contw	//include mem_24g_get_ack_fail
+	//store 1,mem_24g_txfail_cnt
+	//store 1,mem_24g_get_ack_fail
+	//jam ENSURE_OFF_24G,mem_24g_ensure
+	setarg ENSURE_OFF_24G
+	branch g24_store_mem_ensure
+
+	
+g24_transmit_receive_ack:
+	disable user3
+	call g24_transmit
+	call g24_head_ptr2regc
+	add regc,offset_24g_no_ack,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_no_ack
+	beq no_ack_24g,g24_transmit_no_ack	//tx no ack
+	call g24_receive_packet
+	branch g24_end_of_packet
+g24_transmit_no_ack:
+	call g24_end_of_packet
+	branch g24_transmit_next_packet
+
+
+g24_retransmit:
+	bpatch patch16_5,mem_patch16
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	add regc,offset_24g_get_ack_fail,contw
+	istore 1,contw
+	//store 1,mem_24g_get_ack_fail
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_tx_paring_retry
+	add regc,offset_24g_retry,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_retry
+	increase 1,temp
+	add regc,offset_24g_retry,contw
+	istoret 1,contw
+	//storet 1,mem_24g_retry
+	add regc,offset_24g_max_retry,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch g24_transmit_loop,blank
+	bpatch patch16_6,mem_patch16
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_pac_fail_hop_stage3
+	add regc,offset_24g_hop_pac_retry,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	add regc,offset_24g_hop_pac_retry,contw
+	istore 1,contw
+	//store 1,mem_24g_hop_pac_retry
+	beq 2,g24_transmit_hop_pac_fail
+	call g24_hop_ch_enable
+	setarg 1
+	call g24_store_mem_max_retry
+	//jam 1,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_tx_paring_retry:
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	add regc,offset_24g_get_ack_fail,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_get_ack_fail
+	branch g24_stop_24g_mode
+
+g24_tx_attempt_fail:
+	add regc,offset_24g_txfail_cnt,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_txfail_cnt
+g24_stop_24g_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_ackpayload_parse:
+	call g24_read_len_pid_crc
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	add regc,offset_24g_rxbuf_add2,contr
+	//arg mem_24g_rxbuf+2,contr
+	add regc,offset_24g_rxpayload,contw	
+	//arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+
+g24_read_len_pid_crc:
+//read control
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	add regc,offset_24g_rxdata_length,contw
+	istore 1,contw
+	//store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	add regc,offset_24g_rxbuf_add1,contr
+	//arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	add regc,offset_24g_sta_crc,contw
+	istore 3,contw
+	//store 3,mem_24g_sta_crc
+//read pid
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	add regc,offset_24g_sta_pid,contw
+	istore 1,contw
+	//store 1,mem_24g_sta_pid
+	rtn
+
+g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	rtn
+
+g24_set_freq_tx:
+	call set_sync_on
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+g24_transmit:
+	call g24_prep
+	call g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	inject mod,32
+	enable enable_crc
+	add regc,offset_24g_txlen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txlen
+	iforce loopcnt
+	add regc,offset_24g_txpayload,contr
+	//arg mem_24g_txpayload,contr
+g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop g24tr_loop
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	bpatch patch16_7,mem_patch16
+	nop 100
+	disable encode_fec0
+	rtn
+
+g24_receive_packet:
+	disable user3
+	force 0,radio_ctrl
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	call set_freq_rx
+	call rf_rx_enable
+g24_receive_rxon:
+	call g24_prep
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	enable swfine
+	add regc,offset_24g_rx_window,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch g24_sync_timeout,sync
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	add regc,offset_24g_rxbuf,contw
+	istore 1,contw	
+	//store 1,mem_24g_rxbuf	//device id
+	add regc,offset_24g_mode,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_mode
+	beq rx_24g,g24_receive_skip
+	bpatch patch17_0,mem_patch17
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	add regc,offset_24g_data_type,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch g24_end_of_packet,true
+g24_receive_skip:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch g24rx_nopayload,zero
+g24rx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop g24rx_loop
+g24rx_nopayload:
+	parse demod,bucket,24
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch g24_end_of_packet,crc_failed
+	enable user3
+	disable decode_fec0
+	rtn
+//	branch rssi_signal
+
+g24_end_of_packet:
+	disable encode_fec0
+	disable decode_fec0
+	disable enable_crc
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+
+g24_sync_timeout:
+	call rssi_noise
+	branch g24_end_of_packet
+
+rssi_noise:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_noise_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_index
+	arg mem_rssi_noise_buffer,rega
+	//arg mem_rssi_noise_buf,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_index,contw
+	//storet 1,mem_rssi_noise_index
+g24_contw_istoret_1byte:	
+	istoret 1,contw
+	rtn
+
+rssi_noise_store:
+	arg RSSI_BUF_LEN_NOISE,regb
+	branch rssi_store
+	
+/*	
+rssi_signal:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_signal_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_signal_index
+	add regc,offset_rssi_signal_buf,rega
+	//arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL,regb
+	call rssi_store
+	add regc,offset_rssi_signal_index,contw
+	istoret 1,contw	
+	//storet 1,mem_rssi_signal_index
+	rtn
+*/	
+rssi_store:	
+	copy rega,pdata
+	iadd temp,contw
+	fetch 1,mem_rssi
+	istore 1,contw
+	increase 1,temp
+	copy regb,pdata
+	iand_into temp
+	rtn
+	
+rssi_average:
+	arg 0,temp
+	copy rega,contr
+rssi_average_loop:	
+	ifetch 1,contr
+	iadd temp,temp
+	loop rssi_average_loop
+	rshift8 temp,temp
+	rtn
+
+g24_power_ctrl_init:
+	call g24_head_ptr2regc
+	call g24_power_ctrl_incrs_level1
+	setarg 1
+	call g24_store_mem_power_ctrl_level
+	//jam 1,mem_power_ctrl_level
+g24_power_ctrl_reinit:
+	setarg 0
+	call g24_store_mem_power_ctrl_pac
+	//jam 0,mem_power_ctrl_packet_cnt
+	istore 1,contw
+	//jam 0,mem_power_ctrl_ack_cnt
+	rtn
+
+g24_power_ctrl_pac_incrs:
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	increase 1,pdata
+g24_store_mem_power_ctrl_pac:	
+	//store 1,mem_power_ctrl_packet_cnt
+	add regc,offset_power_ctrl_packet_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl_ack_incrs:
+	//fetch 1,mem_power_ctrl_ack_cnt
+	//store 1,mem_power_ctrl_ack_cnt
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetch 1,rega
+	increase 1,pdata
+	add regc,offset_power_ctrl_ack_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl:
+	bpatch patch17_1,mem_patch17
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	sub pdata,POWER_CTRL_MAX_PACKET_CNT,null
+	rtn positive
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_power_ctrl_ack_cnt
+	isub temp,temp	//loss packet cnt
+	call g24_power_ctrl_reinit
+	setarg offset_power_ctrl_threshold_up
+	iadd regc,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_threshold_up
+	isub temp,null
+	nbranch g24_power_ctrl_incrs,positive
+	setarg offset_power_ctrl_threshold_down
+	iadd regc,rega
+	ifetch 1,rega	
+	//fetch 1,mem_power_ctrl_threshold_down
+	isub temp,null
+	branch g24_power_ctrl_decrs,positive
+	rtn
+
+g24_power_ctrl_incrs:	
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 2,g24_power_ctrl_incrs_level2
+	increase 1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 1,g24_power_ctrl_incrs_level1
+g24_power_ctrl_incrs_level2:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP2
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP2,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN2
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN2,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN2,mem_rssi_ctrl_threshold_down
+	add regc,offset_power_ctrl_txpwr_level2,rega
+	//fetch 1,mem_power_ctrl_txpwr_level2
+	branch g24_ifetch_rega_store_mem_txpower
+
+g24_power_ctrl_decrs:
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+	increase -1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+g24_power_ctrl_decrs_level1:
+//	call rssi_check_distance
+//	nrtn user
+g24_power_ctrl_incrs_level1:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP1
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP1,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN1
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN1,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN1,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level1
+g24_iadd_offset_mem_txpower:	
+	iadd regc,rega
+g24_ifetch_rega_store_mem_txpower:	
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_txpwr_level1
+	branch g24_store_mem_txpower
+	
+g24_power_ctrl_decrs_level0:
+//	call rssi_check_distance
+//	nrtn user
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP0
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP0,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN0
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN0,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN0,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level0
+	//fetch 1,mem_power_ctrl_txpwr_level0
+	branch g24_iadd_offset_mem_txpower
+
+/*
+rssi_check_distance:
+	disable user
+	arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+	call rssi_average
+	storet 1,mem_rssi_signal_avg
+	fetch 1,mem_rssi_ctrl_threshold_down
+	isub temp,null
+	branch enable_user,positive
+	rtn
+*/
+g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call g24_pair_init
+g24_set_pairing_sm_1:
+	//jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	setarg STATE_24G_PAIRING_1
+	branch g24_store_mem_pairing_sm
+
+g24_pairing_sm:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,g24_pairing_sm_3
+	branch assert
+
+g24_pairing_sm_1:
+	setarg STATE_24G_PAIRING_1_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_2:
+	setarg STATE_24G_PAIRING_2_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_3:
+	setarg STATE_24G_PAIRING_3_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+g24_pairing_sm_common:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call g24_put_data_in_buff	
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch enable_user
+
+g24_paring_mode:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,g24_pairing_sm_3_waiting_ack
+	rtn
+
+g24_pairing_sm_1_waiting_ack:
+	setarg STATE_24G_PAIRING_2
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_2_waiting_ack:
+	setarg STATE_24G_PAIRING_3
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_3_waiting_ack:
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_rxpayload+2
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_transmit_abandon
+
+g24_auto_pair_start:
+	set0 mark_24g,mark
+	call g24_auto_pair_set_device_info
+	call g24_tx_attemp_data_prep
+g24_auto_pair_restart:	
+	call g24_set0_mem_check_dongle_times
+g24_auto_pair_start_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_auto_pair_retry,sync
+	nbranch g24_auto_pair_retry,user3
+	call g24_ackpayload_parse
+	call g24_head_ptr2regc
+	add regc,offset_24g_paring_addr,rega
+	ifetcht 4,rega
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_start_pairing_sm1,zero
+	call g24_head_ptr2regc
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	beq 0,g24_auto_pair_restart
+	call g24_store_mem_addr
+	branch g24_tx_attemp_dongle_succ
+
+g24_auto_pair_retry:
+	call g24_fetch_mem_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+
+	call g24_fetch_mem_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_auto_paring_switch
+	beq 0,g24_auto_pair_device_attemp
+	beq 1,g24_auto_pair_pair_attemp
+	rtn
+
+g24_fetch_mem_auto_paring_switch:
+	setarg offset_24g_auto_pair_switch
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_auto_paring_switch:
+	arg offset_24g_auto_pair_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_auto_pair_set_device_info:
+	call g24_store_mem_tx_power
+	call g24_fetch_mem_device_addr
+	call g24_store_mem_addr
+	branch g24_ch
+
+g24_auto_pair_device_attemp:
+	call g24_auto_pair_set_device_info
+	branch g24_auto_pair_start_loop
+
+g24_auto_pair_pair_attemp:
+	call g24_pair_init
+	branch g24_auto_pair_start_loop
+
+
+g24_start_24g_mode:
+	set0 mark_24g,mark
+	call g24_ch
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_tx_attemp_data_prep
+	call g24_set0_mem_check_dongle_times
+	//jam 0,mem_24g_check_dongle_times
+g24_tx_attemp_dongle_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_attemp_txdata_retry,sync
+	nbranch g24_attemp_txdata_retry,user3
+g24_tx_attemp_dongle_succ:	
+	set1 mark_24g,mark
+	call g24_set0_mem_check_dongle_times
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam 0,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_tx_attemp_data_prep:
+	set1 mark_24g_conext,mark
+	jam 0xff,mem_24g_common_temp
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_put_data_in_buff_pre
+	branch g24_transmit_prep
+	
+g24_attemp_txdata_retry:
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+	//store 1,mem_24g_check_dongle_times
+	call g24_ch
+	branch g24_tx_attemp_dongle_loop
+
+g24_check_51cmd_start_24g:
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch g24_start_24g_mode
+/*	
+g24_check_51cmd_stop_24g:
+	call g24_store_mem_tx_power
+	set0 mark_24g,mark
+	branch le_disable
+*/
+
+
+dongle_init:
+	bpatch patch17_2,mem_patch17
+	call g24_head_ptr2regc
+	setarg dongle_rxdata_type1
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+	//store 2,mem_24g_cb_rxdata_type1
+	call g24_receive_init
+	call usb_init
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	bpatch patch17_3,mem_patch17
+	beq 0x00,dongle_auto_bind
+	beq 0x01,dongle_pc_bind
+	beq 0x0f,dongle_all_powerful
+	branch assert
+
+g24_receive_init:
+	call g24_store_mem_tx_power_temp
+	arg 0x80,loopcnt
+	arg mem_rssi_noise_buffer,contw
+	branch memset0
+
+dongle_all_powerful:
+	call dongle_check_mode
+dongle_all_powerful_loop:
+	call g24_dongle_work_mode
+	call usb_isr
+	branch dongle_all_powerful_loop
+
+dongle_pc_bind:
+	bpatch patch17_4,mem_patch17
+	call dongle_check_mode
+dongle_pc_bind_loop:	
+	call g24_dongle_work_mode
+	call g24_dongle_bind_mode
+	call usb_isr
+	call dongle_usb_dispatch
+	branch dongle_pc_bind_loop
+
+dongle_check_mode:
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//jam 0,mem_24g_ackpayload_enable
+	call g24_set_work_mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	branch g24_set0_mem_ackpayload_enable
+	
+g24_dongle_work_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+g24_dongle_work_mode_start:
+	call g24_dongle_work_init
+	call g24_ch_process
+	call g24_receive_packet_start
+	branch g24_blank_data_process
+
+g24_dongle_work_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_WORK
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	call g24_set0_mem_ackpayload_enable
+	//jam 0,mem_24g_ackpayload_enable
+	jam 0,mem_usb_tx_enable
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_dongle_init
+g24_rx_interrupt_clear:
+	add regc,offset_24g_rxbuf,contw
+	//arg mem_24g_rxbuf,contw
+	arg 66,loopcnt
+	branch clear_mem
+
+g24_dongle_init:
+	call g24_set0_mem_pid
+	//jam 0,mem_24g_pid
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_ch
+
+g24_ch_process:
+	bpatch patch17_5,mem_patch17
+	call g24_fetch_mem_abort_pac
+	//fetch 1,mem_24g_abort_pac
+	beq 1,g24_noise_rssi
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	beq 1,g24_ch	
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetcht 4,rega
+	//fetcht 4,mem_24g_hop_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetch 4,rega
+	copy pdata,temp
+	//fetch 4,mem_24g_hop_btclk
+	setarg offset_24g_hop_interval
+	iadd regc,rega
+	copy temp,pdata
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_hop_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	setarg offset_24g_hop_btclk
+	iadd regc,contw
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+g24_ch_update:
+	call g24_ch
+	call g24_fetch_mem_rf_laststa
+	//fetch 1,mem_24g_rf_laststa
+	increase 1,pdata
+	call g24_store_mem_rf_laststa
+	//store 1,mem_24g_rf_laststa
+	rtnne 2
+	call g24_set0_mem_rf_laststa
+	//jam 0,mem_24g_rf_laststa
+	//jam 1,mem_24g_abort_pac
+	//rtn
+	branch g24_set1_mem_abort_pac
+	
+g24_ch_timer_reinit:
+	copy clkn_bt,pdata
+	arg offset_24g_hop_btclk,rega
+	call g24_set_contw_with_temp
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+	//jam 0,mem_24g_rf_laststa
+	//rtn
+	branch g24_set0_mem_rf_laststa
+
+g24_noise_rssi:
+	arg mem_rssi_noise_buffer,rega
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive	
+	branch g24_ch
+
+g24_noise_rssi_average:
+	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+	branch rssi_average
+
+g24_blank_data_process:
+	call g24_ms_blank_data
+	call g24_kb_blank_data
+	branch g24_kb_mul_blank_data
+
+g24_ms_blank_data:
+	setarg offset_24g_ms_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_blank_data_enable
+	rtn blank
+	arg TIMER_MS_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data
+	setarg 0
+	istore 7,contw
+	branch g24_data_type1_usbtx_enable
+
+g24_kb_blank_data:
+	setarg offset_24g_kb_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_blank_data_enable
+	rtn blank
+	arg TIMER_KB_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+	arg mem_usb_kb_data,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_NORMAL_REPORT_ID,mem_usb_kb_data
+	branch g24_kb_data_into_ep1_fifo
+
+g24_kb_mul_blank_data:
+	setarg offset_24g_kb_mul_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_mul_blank_data_enable
+	rtn blank
+	arg TIMER_KB_MUL_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+	arg mem_usb_kb_multikey,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_MULTIKEY_REPORT_ID,mem_usb_kb_multikey
+	branch g24_kb_mul_data_into_ep2_fifo
+
+g24_dongle_bind_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	branch g24_dongle_bind_data_process
+
+g24_dongle_bind_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_BIND
+	set1 DONGLE_BIND,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	call g24_pair_init
+	setarg 0
+	arg offset_dongle_ms_bind_step,rega
+	call g24_set_contw_with_temp
+	//store 3,mem_dongle_ms_bind_step
+	branch g24_contw_istore_3byte
+
+g24_dongle_bind_data_process:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3	
+	add regc,offset_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	arg 8,loopcnt
+	call memcpy
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	beq DATATYPE_BIND,g24_dongle_bind_first_step	//bind step 1
+	beq DATATYPE_CONFIG,g24_dongle_bind_second_step
+	beq DATATYPE_OK,g24_dongle_bind_third_step
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_first_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_first_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_first_step_keyboard
+	rtn
+g24_dongle_bind_first_step_mouse:
+	setarg 1
+	call g24_store_mem_ms_bind_step
+	//jam 1,mem_dongle_ms_bind_step
+g24_dongle_bind_ms_payload_cfg:
+	setarg DATATYPE_MOUSE
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_MOUSE,mem_24g_bind_payload
+g24_dongle_bind_payload_cfg:	
+	setarg 0x80
+	arg offset_24g_bind_payload_add1,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 0x80,mem_24g_bind_payload+1
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	arg offset_24g_bind_payload_add2,rega
+	call g24_set_contw_with_temp
+	//store 4,mem_24g_bind_payload+2
+	branch g24_contw_istore_4byte
+
+g24_dongle_bind_first_step_keyboard:
+	setarg 1
+	call g24_store_mem_kb_bind_step
+	//jam 1,mem_dongle_kb_bind_step
+g24_dongle_bind_kb_payload_cfg:
+	setarg DATATYPE_KEYBOARD
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_KEYBOARD,mem_24g_bind_payload
+	branch g24_dongle_bind_payload_cfg
+		
+g24_dongle_bind_second_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_second_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_second_step_keyboard
+	rtn
+g24_dongle_bind_second_step_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 1,g24_dongle_ms_bind_step_set2
+	rtn
+g24_dongle_ms_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_ms_bind_step
+g24_store_mem_ms_bind_step:
+	arg offset_dongle_ms_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_dongle_bind_second_step_keyboard:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	beq 1,g24_dongle_kb_bind_step_set2
+	rtn
+g24_dongle_kb_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_kb_bind_step
+g24_store_mem_kb_bind_step:
+	arg offset_dongle_kb_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_dongle_bind_third_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_third_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_third_step_keyboard
+	rtn
+g24_dongle_bind_third_step_mouse:
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 2,g24_dongle_ms_bind_step_success
+	rtn
+g24_dongle_ms_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x01,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+g24_dongle_bind_exit:	
+	setarg 0
+	setarg offset_dongle_ms_bind_step
+	iadd regc,contw
+	istore 2,contw
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_third_step_keyboard:
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	bne 0,g24_dongle_kb_bind_step_success
+	rtn
+g24_dongle_kb_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x02,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+	branch g24_dongle_bind_exit
+
+	
+dongle_usb_dispatch:
+	fetch 1,mem_usb0_get_set_report
+	rtn blank
+	jam 0,mem_usb0_get_set_report
+	fetch 2,mem_usb_setup_bValue_temp
+	arg PC_SET_REPORT,temp
+	isub temp,null
+	nrtn zero
+	//get usb host command
+	fetch 1,mem_usb0_set_report_data
+	rtnne PC_REPORT_ID
+	fetch 1,mem_usb0_set_report_data+1
+	bpatch patch17_6,mem_patch17
+	beq COMMAND_MODE,dongle_dispose_cmd_mode
+	beq COMMAND_BIND,dongle_dispose_cmd_bind
+	beq COMMAND_CURRENT_PROJECT,dongle_dispose_cmd_current_project
+	beq COMMAND_CURRENT_MODE,dongle_dispose_cmd_current_mode
+	beq COMMAND_CURRENT_FW_VERSION,dongle_dispose_cmd_current_fw_version
+	beq COMMAND_USER_DEFINED,dongle_dispose_cmd_user_defined
+usb0_data_ready_report_set0:
+	jam 0,mem_usb0_data_ready_report
+	rtn
+dongle_dispose_cmd_bind:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_BIND_GET,dongle_dispose_cmd_get_bind
+	beq COM_BIND_EXIT,dongle_dispose_cmd_exit_bind
+	beq COM_READ_MODE,dongle_dispose_cmd_read_mode
+	branch usb0_data_ready_report_set0
+dongle_dispose_cmd_get_bind:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+dongle_dispose_cmd_exit_bind:
+	call g24_set_work_mem_dongle_work_mode
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_read_mode:
+dongle_dispose_in_bind_mode:
+	jam COMMAND_BIND,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_mode:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_MODE_BIND,dongle_enter_bind_mode
+//	beq COM_MODE_TEST,dongle_enter_test_mode
+	branch usb0_data_ready_report_set0
+dongle_enter_bind_mode:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_bind_mode_enable
+usb0_data_ready_report_set1:
+	jam 1,mem_usb0_data_ready_report
+	rtn
+//dongle_enter_test_mode:
+//	jam DONGLE_TEST,mem_dongle_work_mode
+//	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_project:
+	jam PRODUCT_ID,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	beq DONGLE_WORK,dongle_dispose_in_work_mode
+	beq DONGLE_BIND,dongle_dispose_in_bind_mode
+//	beq DONGLE_TEST,dongle_dispose_in_test_mode
+	rtn
+dongle_dispose_in_work_mode:
+	jam COMMAND_MODE,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+//dongle_dispose_in_test_mode:
+//	jam COMMAND_TEST,mem_usb0_get_report_data+1
+//	branch usb0_data_ready_report_set1
+	
+dongle_dispose_cmd_current_fw_version:
+	jam FW_VERSION0,mem_usb0_get_report_data+1
+	jam FW_VERSION1,mem_usb0_get_report_data+2
+	jam FW_VERSION2,mem_usb0_get_report_data+3
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_user_defined:
+	//report_id|cmd|data_len|data
+	call g24_set1_mem_ackpayload_enable
+	fetch 1,mem_usb0_set_report_data+2	//data_len:max 30bytes
+	increase 2,pdata
+	copy pdata,loopcnt
+	arg mem_usb0_set_report_data,contr
+	setarg offset_24g_ackpayload
+	iadd regc,contw
+	branch memcpy
+
+
+dongle_auto_bind:
+	bpatch patch17_7,mem_patch17
+	call g24_mode_switch_init
+dongle_auto_bind_loop:
+	call g24_receive_process
+	call usb_isr
+	branch dongle_auto_bind_loop
+
+g24_dongle_work_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+	call g24_dongle_work_mode_start
+	branch g24_rx_nodata_process
+
+g24_dongle_bind_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	call g24_dongle_bind_data_process
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	rtn blank
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call dongle_check_mode
+	call g24_enable_nodata_timer
+g24_timer_init:
+	setarg 0
+	add regc,offset_24g_tx_btclk,contw
+	//store 4,mem_24g_tx_btclk
+	branch g24_contw_istore_4byte
+
+g24_timer_check:
+	call disable_user
+	add regc,offset_24g_tx_btclk,rega
+	ifetcht 4,rega	
+	//fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	add regc,offset_24g_tx_btclk,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_tx_btclk
+	add regc,offset_24g_interval,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	add regc,offset_24g_tx_btclk,contw
+	istore 4,contw
+	//store 4,mem_24g_tx_btclk
+	branch enable_user
+
+g24_mode_switch_init:
+	setarg 1
+	call g24_store_mem_mode_switch
+	//jam 1,mem_24g_mode_switch
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	setarg 0xff
+	add regc,offset_24g_interval,contw
+	istore 1,contw
+	//jam 0xff,mem_24g_interval
+	branch g24_timer_init
+
+g24_mode_switch:
+	setarg offset_24g_mode_switch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_mode_switch
+	rtn blank
+	call g24_timer_check
+	nrtn user
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	beq 0,dongle_check_mode
+	beq 1,g24_bind_mode_enable
+	rtn
+
+g24_bind_mode_enable:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//rtn
+	setarg DONGLE_BIND
+	call g24_store_mem_dongle_work_mode
+	branch g24_set0_mem_dongle_mode_init
+
+g24_enable_nodata_timer:
+	setarg 1
+	call g24_store_mem_nodata_timer_enable
+	//jam 1,mem_24g_nodata_timer_enable
+	setarg TIMER_NODATA_DELAY
+	arg TIMER_NODATA,queue
+	branch timer_init
+
+g24_rx_nodata_process:
+	call g24_fetch_mem_nodata_timer_enable
+	//fetch 1,mem_24g_nodata_timer_enable
+	rtn blank
+	arg TIMER_NODATA,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_nodata_timer_enable
+	//jam 0,mem_24g_nodata_timer_enable
+	//no data for more than 100ms,then go to search
+	setarg DONGLE_SEARCH
+	call g24_store_mem_dongle_work_mode	
+	//jam DONGLE_SEARCH,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	branch g24_rx_interrupt_clear
+
+g24_dongle_search_mode_auto:
+	bpatch patch18_0,mem_patch18
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_SEARCH
+	call g24_dongle_search_mode_init
+	call g24_rx_auto_addr_ch_search
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	//dongle addr,then parse rxdata
+	call g24_dongle_search_addr_check
+	call g24_receive_packet_parse,zero
+	//receive data,then go to paired
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam 0,mem_24g_ackpayload_enable
+	call dongle_check_mode
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_rx_interrupt_clear
+	call g24_enable_nodata_timer
+	call g24_dongle_search_addr_check
+	branch g24_dg_ch_num_reinit,zero
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_kb_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_kb_ch_num_reinit,zero		
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_mouse_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_ms_ch_num_reinit,zero
+	rtn
+
+g24_dongle_search_addr_check:
+	setarg offset_24g_rx_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_rx_addr
+g24_fetch_mem_addr_isub_temp:
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	isub temp,null
+	rtn
+
+g24_dg_ch_num_reinit:
+	setarg offset_24g_dg_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_ch_number
+g24_current_ch_num_reinit:
+	//store 1,mem_24g_current_ch_number
+	add regc,offset_24g_current_ch_number,contw
+	branch g24_contw_istore_1byte
+
+g24_kb_ch_num_reinit:
+	setarg offset_24g_kb_ch_number
+	call g24_set_rega_ifetch_1byte	
+	//fetch 1,mem_24g_kb_ch_number
+	branch g24_current_ch_num_reinit
+g24_ms_ch_num_reinit:
+	setarg offset_24g_ms_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_ch_number
+	branch g24_current_ch_num_reinit
+
+g24_dongle_search_mode_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_SEARCH
+	set1 DONGLE_SEARCH,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	setarg 0
+	add regc,offset_rssi_noise_dg_index,contw
+	istore 3,contw
+	//store 3,mem_rssi_noise_dg_index
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_temp
+	istore 7,contw
+	//store 7,mem_24g_dg_config_ch_once
+
+	call g24_dongle_search_addr_check
+	nrtn zero
+	add regc,offset_24g_current_ch_number,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_current_ch_number
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb_store_1byte
+	//store 1,mem_24g_dg_ch_number
+	add regc,offset_24g_ch,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ch
+	//store 1,mem_24g_dg_last_ch
+	branch g24_store_mem_dg_last_ch
+
+g24_rx_auto_addr_ch_search:
+	bpatch patch18_1,mem_patch18
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 3,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	//pairing address and channel come first
+	beq 0,g24_rx_auto_bind_config_kb
+	beq 1,g24_rx_auto_bind_config_dongle
+	beq 2,g24_rx_auto_bind_config_mouse
+	beq 3,g24_rx_auto_bind_config_dongle
+	rtn
+
+g24_rx_auto_bind_config_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_mouse_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_ms_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_config_ch_once
+	call g24_ms_config_ch_once,blank
+	setarg offset_24g_ms_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_ms_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_ms_index
+	arg mem_rssi_noise_ms_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_ms_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_ms_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_ms_ch_number	
+	call g24_set_rega_ifetcht_1byte
+	//fetcht 1,mem_24g_ms_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_ms_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_ms_ch_number
+g24_store_mem_ms_last_ch:
+	//store 1,mem_24g_ms_last_ch
+	arg offset_24g_ms_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_ms_config_ch_once:
+	setarg 1
+	arg offset_24g_ms_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_ms_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_ms_last_ch
+	//rtn
+	branch g24_store_mem_ms_last_ch
+	
+g24_rx_auto_bind_config_kb:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_kb_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_kb_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_config_ch_once
+	call g24_kb_config_ch_once,blank
+	setarg offset_24g_kb_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_kb_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_kb_index
+	arg mem_rssi_noise_kb_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_kb_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_kb_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_kb_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_kb_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_kb_ch_number,rega
+	call g24_set_contw_with_regb2	
+	istoret 1,contw
+	//storet 1,mem_24g_kb_ch_number
+g24_store_mem_kb_last_ch:
+	//store 1,mem_24g_kb_last_ch
+	arg offset_24g_kb_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_kb_config_ch_once:
+	setarg 1
+	arg offset_24g_kb_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_kb_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_kb_last_ch
+	//rtn
+	branch g24_store_mem_kb_last_ch
+
+g24_rx_auto_bind_config_dongle:
+	call g24_dongle_bind_ms_payload_cfg
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_dg_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_config_ch_once
+	call g24_dg_config_ch_once,blank
+	call g24_dg_store_config_ch
+	add regc,offset_rssi_noise_dg_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_dg_index
+	arg mem_rssi_noise_dg_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_dg_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_dg_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_dg_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_dg_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_dg_ch_number
+g24_store_mem_dg_last_ch:
+	//store 1,mem_24g_dg_last_ch
+	//rtn
+	arg offset_24g_dg_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+
+g24_dg_config_ch_once:
+	//jam 1,mem_24g_dg_config_ch_once
+	//fetch 1,mem_24g_dg_last_ch
+	//store 1,mem_24g_ch
+	//rtn
+	setarg 1
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+g24_dg_store_config_ch:
+	setarg offset_24g_dg_last_ch
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_ch
+
+
+g24_transmit_ack:
+//data type
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+//read len pid crc
+	call g24_read_len_pid_crc
+//read ack
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	isolate1 bit_ack_24g,pdata
+	branch g24tx_no_ack,true
+g24tx_with_ack:
+	call g24_ackpayload_prep
+	call g24_transmit_prep
+	call g24_transmit
+g24tx_no_ack:
+	branch g24_end_of_packet
+
+g24_ackpayload_prep:
+	bpatch patch18_2,mem_patch18
+	add regc,offset_24g_datalen,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_datalen
+	setarg offset_24g_ackpayload_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ackpayload_enable
+	rtn blank
+	setarg 0x06
+	add regc,offset_24g_datalen,contw
+	istore 1,contw
+	//jam 0x06,mem_24g_datalen
+	arg 0x06,loopcnt
+	setarg offset_24g_bind_payload
+	iadd regc,contr
+	//arg mem_24g_bind_payload,contr
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	branch memcpy
+
+
+g24_receive_packet_start:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	branch g24_receive_packet_parse
+
+g24_receive_transmit_ack:
+	call g24_rx_interrupt_clear
+	call g24_receive_packet
+	nrtn user3
+	branch g24_transmit_ack
+
+g24_receive_packet_parse:
+	bpatch patch18_3,mem_patch18
+	call g24_receive_packet_parse_pid_crc
+	nbranch g24_rx_interrupt_clear,user
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length
+	branch g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	add regc,offset_24g_rxbuf,contr
+	//arg mem_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	//arg mem_24g_rxdata_temp,contw
+	call memcpy
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	call g24_enable_nodata_timer,blank
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_rxdata_temp+2
+	beq 0x01,g24_data_type1
+	beq 0x02,g24_data_type2
+	beq 0x03,g24_data_type3
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_receive_packet_parse_pid_crc:
+	call g24_head_ptr2regc
+	call disable_user
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega		
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,rega
+	ifetcht 1,rega		
+	//fetcht 1,mem_24g_last_pid
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,contw
+	istore 1,contw	
+	//store 1,mem_24g_last_pid
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega	
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,rega
+	ifetcht 3,rega	
+	//fetcht 3,mem_24g_last_crc
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,contw
+	//store 3,mem_24g_last_crc
+	branch g24_contw_istore_3byte
+
+g24_data_type1:
+	call g24_ch_timer_reinit
+	call g24_fetch_mem_abort_pac
+	store 1,mem_temp
+	//fetch 1,mem_24g_abort_pac
+	call g24_fetcht_mem_rxdata_temp
+	fetch 1,mem_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	add regc,offset_24g_abort_pac,contw
+	istore 1,contw
+	//store 1,mem_24g_abort_pac
+	beq 1,g24_data_attemp_mouse
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_hop,temp
+	setflag true,0,pdata
+	call g24_store_mem_hop_pac
+	//store 1,mem_24g_hop_pac
+	add regc,offset_24g_cb_rxdata_type1,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_rxdata_type1
+	branch callback_func
+
+dongle_rxdata_type1:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	istore 7,contw
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	ncall g24_ms_enable_blank_data_forcibly,blank//get kb data
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	call g24_ms_disable_blank_data_forcibly,blank
+g24_data_type1_usbtx_enable:
+	jam USB_EP2_MS,mem_usb_ep2_data
+g24_data_type1_usbtx_enable_ep2:	
+	fetch 1,mem_usb_tx_enable
+	set1 2,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+	
+g24_ms_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_ms_blank_data_enable	
+	//jam 1,mem_24g_ms_blank_data_enable
+	setarg TIMER_MS_BLANK_DELAY
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+g24_ms_disable_blank_data_forcibly:
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+	setarg 0
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+	
+g24_data_type2:
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	branch g24_data_attemp_kbd,true
+	arg mem_usb_kb_data,contw
+	call g24_data_type2_reverse_data
+	fetch 8,mem_usb_kb_data
+	ncall g24_kb_enable_blank_data_forcibly,blank//get kb data
+	fetch 8,mem_usb_kb_data
+	call g24_kb_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 8,mem_usb_kb_data
+	arg offset_24g_kb_data_sta_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_sta_data
+	setarg offset_24g_kb_data_last_data
+	iadd regc,rega
+	ifetcht 8,rega
+	//fetcht 8,mem_24g_kb_data_last_data
+	isub temp,null
+	ncall g24_kb_data_dispose,zero
+	setarg offset_24g_kb_data_sta_data
+	iadd regc,rega
+	ifetch 8,rega
+	//fetch 8,mem_24g_kb_data_sta_data
+	arg offset_24g_kb_data_last_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_last_data
+	branch g24_rx_interrupt_clear
+
+g24_data_type2_reverse_data:
+	setarg offset_24g_rxdata_temp_add2
+	iadd regc,contr
+	//arg mem_24g_rxdata_temp+2,contr
+	arg 9,loopcnt
+	branch reverse_byte
+
+g24_kb_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_blank_data_enable
+	//jam 1,mem_24g_kb_blank_data_enable
+	setarg TIMER_KB_BLANK_DELAY
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+	setarg 0
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_data_dispose:
+g24_kb_data_into_ep1_fifo:
+	jam USB_EP1_KB,mem_usb_ep1_data
+	fetch 1,mem_usb_tx_enable
+	set1 1,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+
+g24_data_type3:
+	arg mem_usb_kb_multikey,contw
+	call g24_data_type2_reverse_data
+	fetch 2,mem_usb_kb_multikey+1
+	ncall g24_kb_mul_enable_blank_data_forcibly,blank//get multikey data
+	fetch 2,mem_usb_kb_multikey+1
+	call g24_kb_mul_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 3,mem_usb_kb_multikey
+	arg offset_24g_kb_multikey_sta_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_sta_data
+	setarg offset_24g_kb_multikey_last_data
+	iadd regc,rega
+	ifetcht 3,rega
+	//fetcht 3,mem_24g_kb_multikey_last_data
+	isub temp,null
+	ncall g24_kb_mul_data_into_ep2_fifo,zero
+	setarg offset_24g_kb_multikey_sta_data
+	iadd regc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_kb_multikey_sta_data
+	arg offset_24g_kb_multikey_last_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_last_data
+	branch g24_rx_interrupt_clear
+
+g24_kb_mul_data_into_ep2_fifo:
+	jam USB_EP2_MULTIKEY,mem_usb_ep2_data
+	branch g24_data_type1_usbtx_enable_ep2
+
+g24_kb_mul_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_mul_blank_data_enable
+	//jam 1,mem_24g_kb_mul_blank_data_enable
+	setarg TIMER_KB_MUL_BLANK_DELAY
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+
+g24_kb_mul_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+	setarg 0
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+	
+g24_data_attemp:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	//fetch 1,mem_24g_rxdata_temp+3
+	beq DATATYPE_MOUSE,g24_data_attemp_mouse
+	beq DATATYPE_KEYBOARD,g24_data_attemp_kbd
+	rtn
+g24_data_attemp_mouse:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_mouse_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_mouse_addr
+	branch g24_contw_istore_4byte
+
+g24_data_attemp_kbd:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_kb_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_kb_addr
+	branch g24_contw_istore_4byte
+
+g24_store_mem_24g_mode:
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,contw
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,contw
+	branch g24_contw_istore_4byte
+
+g24_fetch_mem_addr:
+	add regc,offset_24g_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_addr:
+	add regc,offset_24g_addr,contw
+g24_contw_istore_4byte:	
+	istore 4,contw
+	rtn
+
+g24_store_mem_ch:
+	add regc,offset_24g_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_set0_mem_pid:
+	setarg 0
+g24_store_mem_pid:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_txpayload:
+	add regc,offset_24g_txpayload,contw
+	branch g24_contw_istore_1byte
+
+g24_set4_mem_max_retry:
+	setarg 4
+g24_store_mem_max_retry:
+	add regc,offset_24g_max_retry,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_data_type:
+	add regc,offset_24g_data_type,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_data_type:
+	add regc,offset_24g_data_type,contw
+	branch g24_contw_istore_1byte
+
+g24_set2_mem_sync_cnt:
+	setarg 2
+g24_store_mem_sync_cnt:
+	add regc,offset_24g_sync_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_set1_mem_rf_last_sta:
+	setarg 1
+g24_store_mem_rf_last_sta:
+	call g24_head_ptr2regc
+	add regc,offset_24g_rf_last_sta,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_hop_pac:
+	setarg 1
+g24_store_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_abort_pac:
+	setarg 1
+g24_store_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_pairing_sm:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pairing_sm,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_pairing_sm:
+	add regc,offset_24g_pairing_sm,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_rf_hop_ch:
+	setarg 0
+g24_store_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,rega
+	branch g24_rega_ifetch_1byte
+	
+g24_fetch_mem_rxbuf_add1:
+	add regc,offset_24g_rxbuf_add1,rega
+	branch g24_rega_ifetch_1byte
+
+g24_fetch_mem_check_dongle_times:
+	add regc,offset_24g_check_dongle_times,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_check_dongle_times:
+	setarg 0
+g24_store_mem_check_dongle_times:
+	call g24_head_ptr2regc
+	add regc,offset_24g_check_dongle_times,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_tx_power:
+	call g24_head_ptr2regc
+	add regc,offset_tx_power_temp,rega
+	ifetch 1,rega
+g24_store_mem_txpower:
+	store 1,mem_tx_power
+	rtn
+
+g24_store_mem_tx_power_temp:
+	call g24_head_ptr2regc
+	fetch 1,mem_tx_power
+	//store 1,mem_tx_power_temp
+	add regc,offset_tx_power_temp,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_power_ctrl_pac:	
+	add regc,offset_power_ctrl_packet_cnt,rega
+	branch g24_rega_ifetch_1byte
+
+g24_store_mem_power_ctrl_level:
+	add regc,offset_power_ctrl_level,contw
+	branch g24_contw_istore_1byte
+
+g24_fetcht_mem_rxdata_temp:
+	setarg offset_24g_rxdata_temp
+g24_set_rega_ifetcht_1byte:	
+	iadd regc,rega
+	ifetcht 1,rega
+	rtn
+
+g24_fetch_mem_rf_laststa:
+	setarg offset_24g_rf_laststa
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_rf_laststa:
+	setarg 0
+g24_store_mem_rf_laststa:
+	arg offset_24g_rf_laststa,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_rx_addr:
+	setarg offset_24g_rx_addr
+g24_set_rega_ifetch_4byte:	
+	call g24_set_rega
+g24_rega_ifetch_4byte:
+	ifetch 4,rega
+	rtn
+
+g24_fetch_mem_time_slice:
+	setarg offset_24g_time_slice
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_time_slice:
+	setarg 0
+g24_store_mem_time_slice:
+	arg offset_24g_time_slice,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_mode_switch:
+	setarg 0
+g24_store_mem_mode_switch:
+	arg offset_24g_mode_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_bind_payload:
+	arg offset_24g_bind_payload,rega
+	branch g24_set_contw_with_regb_store_1byte	
+	
+g24_fetch_mem_bind_device_status:
+	setarg offset_dongle_bind_device_status
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_bind_device_status:
+	arg offset_dongle_bind_device_status,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_work_mode:
+	setarg offset_dongle_work_mode
+	branch g24_set_rega_ifetch_1byte
+g24_set_work_mem_dongle_work_mode:
+	setarg DONGLE_WORK
+g24_store_mem_dongle_work_mode:
+	arg offset_dongle_work_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_mode_init:
+	setarg offset_dongle_mode_init
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_dongle_mode_init:
+	setarg CLEAR_INIT
+g24_store_mem_dongle_mode_init:
+	arg offset_dongle_mode_init,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_ackpayload_enable:
+	setarg 0
+g24_store_mem_ackpayload_enable:
+	arg offset_24g_ackpayload_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+g24_set1_mem_ackpayload_enable:
+	setarg 1
+	branch g24_store_mem_ackpayload_enable
+
+g24_fetch_mem_rxdata_temp_add3_7byte:
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	ifetch 7,rega
+	rtn
+
+g24_fetch_mem_nodata_timer_enable:
+	setarg offset_24g_nodata_timer_enable
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_nodata_timer_enable:
+	setarg 0
+g24_store_mem_nodata_timer_enable:
+	arg offset_24g_nodata_timer_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_ms_blank_data_enable:
+	setarg 0
+g24_store_mem_ms_blank_data_enable:
+	arg offset_24g_ms_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_kb_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_blank_data_enable:
+	arg offset_24g_kb_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_kb_mul_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_mul_blank_data_enable:
+	arg offset_24g_kb_mul_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_up:
+	arg offset_power_ctrl_threshold_up,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_down:
+	arg offset_power_ctrl_threshold_down,rega
+g24_set_contw_with_regb_store_1byte:
+	call g24_set_contw_with_regb
+g24_contw_istore_1byte:
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_pair_mode:
+	setarg offset_24g_pair_mode
+	branch g24_set_rega_ifetch_1byte
+
+g24_store_mem_pair_mode:
+	arg offset_24g_pair_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_pair_txpower:
+	setarg offset_24g_pair_txpower
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_txpower
+
+g24_fetch_mem_rxdata_temp_add3_1byte:
+	setarg offset_24g_rxdata_temp_add3
+	branch g24_set_rega_ifetch_1byte
+
+g24_set_contw_with_temp:
+	copy pdata,temp
+	copy rega,pdata
+	iadd regc,contw
+	copy temp,pdata
+	rtn
+	
+g24_set_contw_with_temp_store_3byte:
+	call g24_set_contw_with_temp
+g24_contw_istore_3byte:	
+	istore 3,contw
+	rtn
+
+g24_set_contw_with_regb:
+	call g24_head_ptr2regc
+g24_set_contw_with_regb2:
+	copy pdata,regb
+	copy rega,pdata
+	iadd regc,contw
+	copy regb,pdata
+	rtn
+
+g24_set_rega:
+	call g24_head_ptr2regc
+	iadd regc,rega
+	rtn
+
+g24_set_rega_ifetch_1byte:
+	call g24_set_rega
+g24_rega_ifetch_1byte:
+	ifetch 1,rega
+	rtn
+
+g24_set_rega_ifetcht_4byte:
+	call g24_set_rega
+	ifetcht 4,rega
+	rtn
+
+g24_mem_set0:
+	setarg 0
+	branch g24_contw_istore_1byte
+
+endif
+
+
Index: YJX_Only24g/FCC_1021S/program/app.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app.prog	(working copy)
@@ -0,0 +1,576 @@
+app_init:
+	bpatch patch18_4,mem_patch18
+	fetch 1,mem_device_option
+	branch app_init,blank				/* wait ram to be initialized */
+//	beq dvc_op_ukey,le_ukey_init
+	beq dvc_op_dongle,dongle_init
+	beq dvc_op_AntiLost,antilost_init
+	beq dvc_op_shutter,shutter_init
+	beq dvc_op_module,module_init
+	beq dvc_op_car,car_init
+	beq dvc_op_remote_car,remote_car_init
+	bbit1 dvc_op_mouse,mouse_init
+	rtn
+	
+app_lpm_init:
+	bpatch patch18_5,mem_patch18
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	jam 0, mem_lch_code
+	setarg 0
+	store 5,mem_sp_state_start
+	fetch 1,mem_device_option
+	branch app_lpm_init,blank				/* wait ram to be initialized */
+	beq dvc_op_module,module_lpm_init
+app_lpm_init0:
+	rtn
+
+	
+app_process_idle:
+	call ui_dispatch
+	call check_51cmd
+	call app_process_bb_event
+	fetch 2,mem_cb_idle_process
+	branch callback_func
+	
+app_process_bt:
+	fetch 2,mem_cb_bt_process
+	branch callback_func
+	
+app_process_ble:
+	fetch 2,mem_cb_le_process
+	branch callback_func
+
+app_process_bb_event:
+	bpatch patch18_6,mem_patch18
+	//return if c51 need to process bb event
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_out
+	rtn blank
+	//reaching here mains c51 cannot get bb event.
+	copy pdata,regc
+	call app_event_normal_process
+	branch app_process_bb_event_priority
+	
+app_discard_event:
+	arg 0,regc
+	rtn
+
+//************************************************//
+//*APP BB EVENT NORMAL PROCESS**//
+//************************************************//
+app_event_normal_process:
+	beq BT_EVT_BB_CONNECTED,app_evt_bt_conn
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_evt_button_long_pressed
+	beq BT_EVT_SETUP_COMPLETE,app_evt_setup_complete
+	beq BT_EVT_HID_HANDSHAKE,app_evt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,app_bb_event_hid_connected
+	beq BT_EVT_RECONN_FAILED,app_bb_event_reconn_failed
+	beq BT_EVT_BB_DISCONNECTED,app_bb_event_bb_disconn
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,app_bb_event_reconn_failed	
+	beq BT_EVT_LE_CONNECTED,app_le_event_bb_connected
+	beq BT_EVT_LE_DISCONNECTED,app_le_event_bb_disconn
+	beq BT_EVT_RECONN_STARTED,app_event_reconn_start
+	beq BT_EVT_ENTER_SNIFF,app_event_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,app_event_exit_sniff
+	
+	beq BT_EVT_ML2CAP_CONN_REFUSED,app_event_ml2cap_conn_refused
+	beq BT_EVT_LINKKEY_GENERATE,app_event_linkkey_generate
+	beq BT_EVT_SWITCH_FAIL_MASTER,app_event_switch_fail_master
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,app_event_switch_success
+	rtn
+
+
+app_evt_bt_conn:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_event_switch_success:
+	jam 0,mem_switch_fail_master_count
+	rtn	
+
+app_event_switch_fail_master:
+	fetch 1,mem_switch_fail_master_count
+	increase 1,pdata
+	store 1,mem_switch_fail_master_count
+	sub pdata,1,null
+	branch app_bt_role_switch,positive
+	jam 0,mem_switch_fail_master_count
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_SWITCH_FAIL,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_disconnect
+	
+app_process_bb_event_priority:
+	fetch 2,mem_cb_bb_event_process
+	branch callback_func
+
+app_check_wake_lock:
+	fetch 2,mem_cb_check_wakelock
+	branch callback_func
+	
+app_will_enter_lpm:
+	fetch 2,mem_cb_before_lpm
+	branch callback_func
+
+app_event_linkkey_generate:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_PAIRING ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_store_reconn_info
+	
+app_event_reconn_start:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_RECONN,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_setup_complete:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SETUP_COMPLETE,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SETUP_DONE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_hid_handshake:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_HANDSHAKE,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_event_enter_sniff:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SNIFF,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_exit_sniff:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_le_event_bb_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_le_event_bb_disconn:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_event_hid_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_evt_button_long_pressed:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BY_BUTTON,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_ml2cap_conn_refused:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_L2CAP_REFUSED,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch  app_bt_disconnect
+
+
+app_evt_timer:
+	bpatch patch18_7,mem_patch18
+	store 1,mem_app_evt_timer_count
+app_evt_100ms_loop:
+	fetch 1,mem_app_evt_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_app_evt_timer_count
+	call ui_button_polling
+	call app_lpm_wake_auto_lock_timer
+	call app_unsniff_delay_timer
+	call app_discovery_timer
+	call flash_write_spi_sm_timer
+	fetch 2,mem_cb_event_timer
+	call callback_func
+	branch app_evt_100ms_loop
+
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step:
+	ifetch 1,regc
+	rtn blank
+	pincrease -1
+	istore 1,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step_2B:
+	ifetch 2,regc
+	rtn blank
+	pincrease -1
+	istore 2,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+	
+app_power_timer:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_timer_offset,regc
+	arg app_power_timer_timeout,regb
+	branch timer_single_step
+	
+app_power_timer_timeout:
+	call app_got_power_state_common
+	beq POWER_STARTING,app_enter_power_stanby_state
+app_enter_power_off_state:
+	branch app_enter_hibernate
+app_enter_power_stanby_state:
+	setarg POWER_STANDBY
+	istore 1,regc
+	add temp,power_standby_cb_offset,regb
+app_power_cb_common:
+	ifetch 2,regb
+	branch callback_func
+
+app_unsniff_delay_timer:
+	arg mem_unsniff2sniff_timer_count,regc
+	arg app_unsniff_delay_timeout,regb
+	branch timer_single_step
+	
+app_unsniff_delay_timeout:
+	call context_check_idle
+	branch app_bt_enter_sniff,zero
+	rtn
+
+
+app_discovery_timer:
+	arg mem_discovery_timeout_timer_count,regc
+	arg app_discovery_timeout,regb
+	branch timer_single_step_2B
+	
+app_discovery_timeout:
+	call app_bt_stop_discovery
+	call app_led_off
+	fetch 2,mem_cb_discovry_timeout
+	branch callback_func
+
+	
+app_bb_event_reconn_failed:
+	call app_disconn_reason_flag_clear
+app_clear_reconnect_flag:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_bb_event_bb_disconn:
+	jam 0,mem_unsniff2sniff_timer_count
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,app_bb_event_bb_reconn_disconn
+	isolate0 UI_STATE_BT_SETUP_COMPLETE,pdata
+ 	call app_discard_event,true
+app_bb_event_bb_reconn_disconn:
+	bpatch patch19_0,mem_patch19
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_CONNECTED,pdata
+	set0 UI_STATE_BT_SETUP_COMPLETE,pdata
+	set0 UI_STATE_BT_HID_CONN,pdata
+	set0 UI_STATE_BT_HID_HANDSHAKE,pdata
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_hibernate:
+	call app_disconn_reason_clear
+	branch app_enter_hibernate
+
+	
+app_disconn_reason_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	rtn
+app_disconn_reason_flag_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_disconn_reason_collect_bt:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_disconn_reason_collect_ble:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BLE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+	
+//************************************************//
+//********APP SHARED FUNCSIONS*******//
+//************************************************//
+
+
+app_check_sniff:
+	fetch 1,mem_ui_state_map
+	isolate1 UI_STATE_BT_SNIFF,pdata
+	rtn
+
+//*****************************************//
+//*****************API********************//
+//*****************************************//
+//app_clearflag_store:
+//	setarg 0
+//	branch app_flag_store
+app_initflag_store:
+	setarg EEPROM_INIT_FLAG
+app_flag_store:
+	store 2,mem_timeup
+	bpatch patch19_1,mem_patch19
+	arg 2,temp
+	arg mem_timeup,rega
+	arg eeprom_module_init_flag,regb
+	branch iicd_write_eep_data
+
+//initflag is in eeprom to sure is eeprom nead to init
+app_initflag_check:
+	bpatch patch19_2,mem_patch19
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg eeprom_module_init_flag,regb
+	call iicd_read_eep_data
+	fetch 2,mem_pdatatemp
+	arg EEPROM_INIT_FLAG,temp
+	isub  temp,null
+	rtn
+
+
+app_start_auto_sniff:
+	fetch 1,mem_unsniff2sniff_timer
+	store 1,mem_unsniff2sniff_timer_count
+	rtn	
+	
+app_get_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_get_wake_lock
+
+app_put_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_put_wake_lock
+	
+app_lpm_wake_auto_lock:
+	jam  LPM_WAKE_UP_DELAY_TIMER,mem_wake_up_delay_timer
+	branch app_get_lpm_wake_lock
+	
+app_lpm_wake_auto_lock_timer:
+	arg mem_wake_up_delay_timer,regc
+	arg app_put_lpm_wake_lock,regb
+	branch timer_single_step
+
+app_l2cap_flow_control_enable:
+	jam L2CAP_FLOW_CTRL_ENABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+
+app_l2cap_flow_control_disable:
+	jam L2CAP_FLOW_CTRL_DISABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+	
+app_bt_set_pincode:
+	jam BT_CMD_SET_PIN_CODE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_role_switch:
+	jam BT_CMD_ROLE_SWITCH,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_start_reconnect:
+	bpatch patch19_3,mem_patch19
+	fetch 1,mem_app_connection_options
+	store 1,mem_connection_options
+	jam APP_FLAG_RECONNECT,mem_reconnect_flag
+	jam BT_CMD_RECONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+	
+app_bt_reconnect_cancel:
+	jam BT_CMD_BB_RECONN_CANCEL,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_disconnect:
+	jam BT_CMD_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+
+app_bt_start_discovery_short:
+	fetch 2,mem_discovery_timeout
+	store 2,mem_discovery_timeout_timer_count
+app_bt_start_discovery_led_blink:
+	call app_led_start_blink
+app_bt_start_discovery:
+	jam BT_CMD_START_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_stop_discovery:
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	jam BT_CMD_STOP_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_direct_adv:
+	jam BT_CMD_START_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_stop_direct_adv:
+	jam BT_CMD_STOP_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_adv:
+	jam BT_CMD_STOP_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_adv:	
+	jam BT_CMD_START_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_scan:
+	jam BT_CMD_LE_START_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_scan:
+	jam BT_CMD_LE_STOP_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_conn:
+	jam BT_CMD_LE_START_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_disconnect:
+	jam BT_CMD_LE_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_start_blink:	
+	jam BT_CMD_LED_BLINK,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_led_on:
+	jam BT_CMD_LED_ON,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_stop_blink:
+app_led_off:
+	jam BT_CMD_LED_OFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_enter_hibernate:
+	jam BT_CMD_ENTER_HIBERNATE,mem_fifo_temp 
+	branch ui_ipc_send_cmd
+	
+app_bt_sniff_exit:
+	jam BT_CMD_EXIT_SNIFF,mem_fifo_temp
+	branch  ui_ipc_send_cmd
+	
+app_bt_enter_sniff:
+	jam BT_CMD_ENTER_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_LE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_BT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_lpm_mult_enable:
+	set1 mark_lpm_mult_enable,mark
+	rtn
+
+app_lpm_mult_disable:
+	set0 mark_lpm_mult_enable,mark
+	rtn
+
+
+/*
+
+mem_power_param struct
+{
+	usigned char     mem_power_state
+	usigned char     mem_power_timer
+	usigned char	 mem_power_off_timeout
+	usigned char	 mem_power_starting_timeout
+	usigned long	 mem_power_off_cb
+	usigned long	 mem_power_starting_cb
+	usigned long	 mem_power_standby_cb
+	usigned long 	 mem_ui_butten_up_cb
+}
+    	functions:power state switching by mem_app_power_timer timeout or by button_long_pressed event
+    	(power off -> power starting->power standby->power off) and power timer initialization 
+ input parameters:mem_power_param_ptr should be point to the variable(mem_power_param) address where the input parameters stored in with its format
+output parameters:switched power state will be stored in variable mem_power_state*/
+app_button_long_pressed:
+	call app_got_power_state_common
+	beq POWER_STANDBY,app_power_shutting_down
+app_power_starting:
+	setarg POWER_STARTING
+	istore 1,regc
+	add temp,power_starting_timeout_offset,rega
+	add temp,power_starting_cb_offset,regb
+app_power_common:
+	ifetcht 1,rega
+	increase 1,regc
+	istoret 1,regc
+	branch app_power_cb_common
+	
+app_power_shutting_down:
+	setarg POWER_OFF
+	istore 1,regc
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,app_power_off_end
+	call app_ble_disconnect
+app_power_off_end:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_off_timeout_offset,rega
+	add temp,power_off_cb_offset,regb
+	branch app_power_common
+	
+app_got_power_state_common:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_state_offset,regc
+	ifetch 1,regc
+	rtn
+
+app_event_button_up:
+	call app_got_power_state_common
+	bne POWER_OFF,app_power_release
+	branch app_enter_hibernate
+app_power_release:
+	add temp,ui_butten_up_cb_offset,regb
+	branch app_power_cb_common
+
Index: YJX_Only24g/FCC_1021S/program/app_antiLost.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_antiLost.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_antiLost.prog	(working copy)
@@ -0,0 +1,565 @@
+ifdef COMPILE_AntiLost
+antilost_init:
+	rtn wake	
+	hjam 0x00,core_gpio_sel1//1: GPIO[26:25] is two wire SPI, 2: GPIO[26:23] is SPI, 3: GPIO[26:23] is PCM
+	setarg antilost_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg keyscan_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg antilost_idle_process	//
+	store 2,mem_cb_idle_process
+	setarg antilost_le_conn_process	//
+	store 2,mem_cb_le_process
+	setarg antilost_bb_event_process 
+	store 2,mem_cb_bb_event_process
+	setarg antilost_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg antilost_le_notification
+	store 2,mem_cb_ble_transmit
+	setarg antilost_lpm_lock_process
+	store 2,mem_cb_check_wakelock
+	setarg antilost_le_receive_data_process
+	store 2,mem_cb_att_write
+	bpatch patch19_4,mem_patch19
+	call antilost_buzzer_pwm_init
+	call keyscan_key_init
+	call antilost_adc_init
+	call ui_led_init_global
+	call ui_button_init
+	setarg antilost_key_up_down
+	store 2,mem_cb_antl_key
+	setarg antilost_power_off_cb
+	store 2,mem_antl_power_off_cb
+	setarg antilost_power_starting_cb
+	store 2,mem_antl_power_starting_cb
+	setarg antilost_power_standby_cb
+	store 2,mem_antl_power_standby_cb
+	setarg antilost_led_on_cb
+	store 2,mem_antl_led_cb_on
+	setarg antilost_led_off_cb
+	store 2,mem_antl_led_cb_off
+	setarg antilost_buzzer_on
+	store 2,mem_antl_buzzer_cb_on
+	setarg antilost_buzzer_off
+	store 2,mem_antl_buzzer_cb_off
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+antilost_le_before_hibernate:
+	call antilost_led_buzzer_stop_blink
+	branch  app_enter_hibernate
+
+antilost_le_notification:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_temp_block5,rega
+	call queue_pop
+	nrtn user
+	arg mem_temp_block5,contr
+	branch le_send_notify_from_list
+
+antilost_power_standby_cb:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	jam 1,mem_antl_key_scan_enable
+	branch antilost_fast_adv_start
+	
+antilost_lpm_lock_process:
+	fetch 1,mem_antl_key_state
+	beq 1,antilost_lpm_ctrl_for_led_buzzer
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_lpm_ctrl_for_led_buzzer
+	fetch 1,mem_antl_lost_mode
+	beq 1,app_get_lpm_wake_lock
+	fetch 1, mem_antl_queue_curr_num
+	nbranch app_get_lpm_wake_lock,blank 
+	branch app_put_lpm_wake_lock
+	
+antilost_lpm_ctrl_for_led_buzzer:
+	fetch 1,mem_antl_led_state
+	fetcht 1,mem_antl_buzzer_state
+	ior temp,pdata
+	beq 1,app_get_lpm_wake_lock
+	branch app_put_lpm_wake_lock
+
+antilost_bb_event_process:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,antilost_le_process_conn
+	beq BT_EVT_LE_DISCONNECTED,antilost_le_process_discon
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,antilost_le_conn_param_update_rsp_recieved
+	rtn
+antilost_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	beq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED,antilost_le_conn_param_rejected
+antilost_le_conn_param_accepted:
+	fetch 2,mem_le_new_connslavelatency
+	branch antilost_master_nonsupport_latency,blank
+antilost_le_conn_param_updata_procedure_sucsess:
+	jam CONN_PARAM_UPDATA_PROCEDURE_COMPLETE,mem_antl_conn_updata_procedure_state
+	jam 60,mem_antl_conn_update_timer
+	rtn
+
+antilost_le_conn_param_rejected:
+	fetch 2,mem_le_latency
+	branch antilost_conn_param_updata_procedure_faild,blank
+antilost_conn_param_retransimiting:
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	fetcht 2,mem_interval_increment
+	fetch 2,mem_le_interval_min
+	iadd temp,pdata
+	store 2,mem_le_interval_min
+	copy pdata,rega
+	fetch 2,mem_le_interval_max
+	iadd temp,pdata
+	store 2,mem_le_interval_max
+	iadd rega,pdata
+	rshift pdata,temp
+	fetch 2,mem_antl_le_unnormal_interval_max
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	store 2,mem_le_latency
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+antilost_conn_param_updata_procedure_faild:
+	jam CONN_PARAM_UPDATA_PROCEDURE_FAILD,mem_antl_conn_updata_procedure_state
+	rtn
+
+antilost_master_nonsupport_latency:
+	jam 0,mem_lpm_mult
+	jam 0,mem_antl_send_updata_le_param_timer
+	fetch 2,mem_le_new_conninterval	//interval from master
+	fetcht 2,mem_antl_le_unnormal_interval_min
+	isub temp,null
+	setflag positive,0,rega 
+	fetch 2,mem_antl_le_unnormal_interval_max //local intervalmax
+	fetcht 2,mem_le_new_conninterval//interval form master
+	isub temp,pdata
+	setflag positive,1,rega
+	compare	0x03,rega,0x03
+	rtn true //return if the new conn_interval in range through conn_interval_min to conn_interval_max already
+	fetch 8,mem_antl_le_unnormal_interval_min
+	store 8,mem_le_interval_min
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn                               
+
+
+antilost_le_bb_event_timer:
+	//call ui_button_check_long_press
+	call app_power_timer
+	call antilost_double_click_timer
+	call antilost_le_fast_adv_timer
+	call antilost_le_sleep_timer
+	call antilost_app_updata_le_param_timer
+	call antilost_conn_update_timer
+	branch antilost_adc_check_timer
+
+
+antilost_double_click_timer:
+	arg mem_double_click_timer,regc
+	arg antilost_double_click_timeout,regb
+	branch timer_single_step
+antilost_double_click_timeout:
+	jam 0,mem_butten_click_cnt
+	rtn
+antilost_le_fast_adv_timer:
+	arg mem_antl_fast_adv_timer,regc
+	arg antilost_le_fast_adv_timeout,regb
+	branch timer_single_step_2B
+antilost_le_fast_adv_timeout:
+	arg mem_antl_slow_adv_led_style,regc
+	arg mem_antl_slow_adv_lpm_interval,regb
+	branch antilost_adv_start_common
+	
+
+antilost_conn_update_timer:
+	arg mem_antl_conn_update_timer,regc
+	arg antilost_conn_update_timer_time_out,regb
+	branch timer_single_step
+	
+antilost_conn_update_timer_time_out:
+	fetch 2,mem_le_latency
+	store 1,mem_lpm_mult
+	rtn
+antilost_app_updata_le_param_timer:
+	arg mem_antl_send_updata_le_param_timer,regc
+	arg antilost_app_updata_le_param_timeout,regb
+	branch timer_single_step
+antilost_app_updata_le_param_timeout:
+	fetch 1,mem_le_state
+	compare 0,pdata,0x60
+	nbranch antilost_wait_for_updata_param_instant_expire,true
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	call  app_lpm_mult_enable
+	branch le_l2cap_tx_update_req	
+antilost_wait_for_updata_param_instant_expire:
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+	
+antilost_le_sleep_timer:
+	arg mem_antl_le_sleep_timer,regc
+	arg antilost_le_sleep_timer_timeout,regb
+	branch timer_single_step_2B
+
+
+antilost_le_sleep_timer_timeout:
+	branch app_button_long_pressed
+
+antilost_adc_check_timer:
+	//fetch 1,mem_antl_power_timer
+	//rtneq SHUTTER_POWER_OFF
+	arg mem_adc_timer,regc
+	arg antilost_adc_check_timer_timeout,regb
+	branch timer_single_step_2B
+antilost_adc_check_timer_timeout:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	branch antilost_battery_process
+
+
+antilost_le_process_conn:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	setarg 0
+	store 2,mem_antl_fast_adv_timer
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	call antilost_led_buzzer_stop_blink
+	jam 0,mem_lpm_mult
+	branch app_ble_stop_adv
+	                                                      
+
+antilost_le_process_discon:
+	//setarg 0
+	//store 1,mem_hci_curr_len
+	setarg 0
+	store 4,mem_adc_timer
+	store 3,mem_antl_conn_updata_procedure_state
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	
+	jam 1,mem_alarm_config_notfy_cnt
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call queue_init
+	fetch 1,mem_antl_power_state
+	rtneq POWER_OFF
+	call antilost_fast_adv_start
+	branch antilost_on_off_alarm_after_disconn
+
+
+antilost_le_conn_process:
+//bpatch
+	branch antilost_key_process
+
+antilost_idle_process:
+
+	fetch 1,mem_antl_power_state
+	rtnne POWER_STANDBY
+	branch antilost_key_process
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+/////SOFT WTICH////////
+antilost_power_starting_cb:
+	arg mem_antl_power_starting_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_starting_led_style,regc
+antilost_power_common:
+	branch antilost_led_configuration
+
+antilost_power_off_cb:
+	jam OFF,mem_le_adv_enable
+	arg mem_antl_power_off_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_off_led_style,regc
+	branch antilost_power_common
+	
+antilost_le_receive_data_process:
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,antilost_le_parse_att_write_request
+	rtn
+antilost_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+//	beq  ATT_WRITE_REQUEST_HANDLE,antilost_key_data_send
+	beq NEW_SPEC_WRITE_HANDLE,antilost_cmd_parse_for_application
+	beq NEW_SPEC_NOTIFICATION_ENABLE_HANDLE,antilost_notify_alarm_config_first_time
+	rtn
+/////////////////////////////////////////////////////////
+
+
+/////////key scan
+antilost_key_process:
+	fetch 1,mem_antl_key_scan_enable
+	rtn blank
+	branch keyscan_key_process
+
+	//queue = key index
+	//rega =1 press, =0 release
+antilost_key_up_down:
+	copy rega,pdata
+	branch antilost_key_is_up,blank
+antilost_key_is_down:
+	copy queue,pdata
+	beq 0,antilost_key0_down
+	rtn
+antilost_key_is_up:
+	copy queue,pdata
+	beq 0,antilost_key0_up
+	rtn
+
+antilost_key0_down:
+	jam 1,mem_antl_key_state
+	arg mem_antl_key_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_key_led_style,regc
+	call antilost_led_configuration
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_butten_down_while_disconn
+	branch antilost_butten_down_after_conn
+	
+antilost_key0_up:
+	jam 0,mem_antl_key_state
+	branch antilost_double_click_timer_init
+
+//////////////process for double-click
+
+antilost_double_click_timer_init:
+	fetch 1,mem_butten_click_cnt
+	rtnne 1
+	jam 5,mem_double_click_timer
+	rtn
+
+antilost_butten_down_after_conn:
+	fetch 1,mem_butten_click_cnt
+	pincrease 1
+	store 1,mem_butten_click_cnt
+	beq 1,antilost_click_once
+	beq 2,antilost_click_twice
+	rtn
+antilost_click_once:
+	call antilost_alert_off
+	jam OPCODE1_BUTTEN_CLICK_ONCE,mem_antl_key0_press+5//5 represent opcode offset
+	arg mem_antl_key0_press,regc
+	branch antilost_prepare_data_and_send
+antilost_click_twice:
+	jam 0,mem_butten_click_cnt
+	jam OPCODE2_BUTTEN_DOUBLE_CLICK,mem_antl_key0_press+5
+	arg mem_antl_key0_press,regc
+	call antilost_prepare_data_and_send
+	fetch 1,mem_antl_lost_mode
+	beq 1,antilost_alert_on
+	rtn   //rtn should be retaind
+	
+antilost_butten_down_while_disconn:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	branch antilost_fast_adv_start
+	
+///////////////////////NEW App Spcecific///////
+antilost_cmd_parse_for_application:
+	bpatch patch19_5,mem_patch19
+	call le_app_receive_data
+	ifetch 1,rega
+	beq OPCODE3_ANTL_START_ALRAM,antilost_on_of_alram
+	beq OPCODE7_ANTL_CONFIG_ALRAM,antilost_configuration_for_alram
+	rtn
+
+antilost_on_of_alram:
+	fetch 1,mem_antl_lost_mode
+	beq ANTI_LE_ALARM_OFF,antilost_alert_on
+	beq ANTI_LE_ALARM_ON,antilost_alert_off
+	rtn
+
+antilost_configuration_for_alram:
+	ifetch 1,regb
+	beq 1,antilost_set_start_alarm_after_disconn
+	beq 0,antilost_set_no_alarm_after_disconn
+	rtn
+/////////////////check////////////////////////
+
+/*input: 1)package data addr in regc
+output:no
+function:calculate check_out value and send data*/
+//mem_temp_block5
+antilost_prepare_data_and_send:
+	bpatch patch19_6,mem_patch19
+	fetch 1,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	add regc,6,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,5,loopcnt
+	add regc,3,contr
+	call calc_check_sum_start
+	istore 1,contr
+	copy regc,rega
+	branch queue_push
+
+/////////////////NEW APP SPECIFIC check end////////////////////
+
+
+/////////alarm//////////////////////////////
+antilost_alert_on:
+	fetch 1,mem_antl_power_state
+	rtn blank
+	jam 1,mem_antl_lost_mode
+	arg mem_antl_alert_buzzer_stlye,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_alert_led_stlye,regc
+	call antilost_led_configuration
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 1,mem_antl_key0_release+8 //8 represent data offset,digit 1 represent alarm is on at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_alert_off:
+	fetch 1,mem_antl_lost_mode
+	rtn blank
+	jam 0,mem_antl_lost_mode
+	call antilost_led_buzzer_stop_blink
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 0,mem_antl_key0_release+8 //8 represent data offset,digit 0 represent alarm is off at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+antilost_set_start_alarm_after_disconn:
+	jam 1,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_set_no_alarm_after_disconn:
+	jam 0,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 0,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_on_off_alarm_after_disconn:
+	fetch 1,mem_alarm_config
+	rtn blank
+	branch antilost_alert_on
+	
+antilost_notify_alarm_config_first_time:
+	ifetch 2,rega
+	store 2,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	fetch 1,mem_alarm_config_notfy_cnt
+	rtn blank
+	jam 0,mem_alarm_config_notfy_cnt
+	fetch 8,mem_antl_le_interval_min
+	store 8,mem_le_interval_min
+	jam 2,mem_antl_send_updata_le_param_timer
+	call antilost_battery_process
+	call antilost_battery_calculate_end //send twice to combat the failure of reception first time
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	fetch 1,mem_alarm_config
+	store 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+//////////////alarm end//////////////////////////
+//sytle address in regc
+antilost_buzzer_configuration:
+	arg 1,rega
+	branch antilost_configuration_common
+antilost_led_configuration:
+	arg 0,rega
+antilost_configuration_common:
+	branch antilost_led_buzzer_style_configuration
+	
+antilost_led_buzzer_stop_blink:
+	arg 0,rega
+	call ui_led_blink_stop_global
+	arg 1,rega
+	call ui_led_blink_stop_global
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_buzzer_style_configuration:
+	call calc_curr_struct_prt
+	arg 7,loopcnt
+	branch ui_led_set_style_global+2
+
+
+
+antilost_fast_adv_start:
+	arg mem_antl_fast_adv_led_style,regc
+	arg mem_antl_lpm_interval,regb
+antilost_adv_start_common:
+	call antilost_adv_interval_lpm_interval_set
+	call antilost_led_configuration
+	fetch 2,mem_antl_fast_adv_timeout
+	store 2,mem_antl_fast_adv_timer
+	branch app_ble_start_adv
+	
+antilost_adv_interval_lpm_interval_set:
+	ifetch 2,regb
+	store 2,mem_lpm_interval
+	ifetch 2,contr
+	store 2,mem_le_adv_interval
+	rtn
+///////////////beep////////////
+antilost_buzzer_pwm_init:
+	arg 0,rega //sys clk 12mhz
+	call pwm_init
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	call pwm_out_set
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_on_cb:
+	jam 1,mem_antl_led_state
+	rtn	
+antilost_led_off_cb:
+	jam 0,mem_antl_led_state
+	rtn
+
+
+
+antilost_buzzer_off:
+	jam 0,mem_antl_buzzer_state
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_buzzer_on:
+	jam 1,mem_antl_buzzer_state
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+
+////////////////beep end///////////////////////////
+/////////////adc start////////////////////////
+antilost_adc_init:
+	jam 0,mem_adc_config_flag
+	branch adc_init_data
+
+antilost_battery_process:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_battery_current_voltage
+	arg mem_battery_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	store 1,mem_voltage_remain_percent //for debug
+	beq 0,antilost_low_battery
+	sub pdata,0x64,null
+	nbranch antilost_full_battery,positive
+	store 1,mem_antl_key0_release+8
+antilost_battery_calculate_end:
+	jam OPCODE5_BATTER_INFORMATION,mem_antl_key0_release+5
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_full_battery:
+	jam 100,mem_antl_key0_release+8
+	branch antilost_battery_calculate_end
+
+antilost_low_battery:
+	branch app_button_long_pressed
+endif
+
+
Index: YJX_Only24g/FCC_1021S/program/app_car.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_car.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_car.prog	(working copy)
@@ -0,0 +1,888 @@
+ifdef COMPILE_CAR
+
+car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	setarg car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg car_le_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg car_le_receive_data
+	store 2,mem_cb_att_write
+	
+	setarg car_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	
+	call g24_head_ptr2regc
+	setarg car_24g_receive_data
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+
+	setarg car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	bpatch patch19_7,mem_patch19
+	call car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	jam POWER_ON,mem_car_24g_received_pac
+	fetch 1,mem_car_config_soft_switch_enable
+	store 1,mem_car_hard_soft_switch
+	beq HARD_SWITCH, car_hard_switch_power_on_signal
+	fetch 1,mem_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+	jam OFF,mem_le_adv_enable
+car_soft_switch_power_on_init:
+	call car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+ 	branch app_enter_hibernate
+
+car_power_off_signal:	
+	branch car_ui_led_init
+	
+car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_car_power_state
+car_soft_switch_power_on_signal:
+	jam ON,mem_le_adv_enable
+	call car_ui_led_init
+	arg 0,rega
+	call ui_led_blink_start_global
+	
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+car_le_modified_name_adv:
+	arg mem_le_name+7,contw
+	fetch 1,mem_le_lap
+car_name_loop:
+	and pdata,0xF0,temp
+	rshift4 temp,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	and pdata,0x0F,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	call le_modified_name_att_list
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_adv_data+2,contw
+	arg mem_le_name,contr
+	call memcpy
+car_le_modified_name_scan:
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_scan_data+2,contw
+	arg mem_le_name,contr
+	branch memcpy
+car_hex_to_ascii:
+	sub temp,9,null
+	branch car_hex_num,positive
+	add temp,55,temp
+	rtn
+car_hex_num:	
+	add temp,48,temp
+	rtn
+
+car_ui_led_init:
+	fetch 1,mem_car_config_blood_led1_gpio
+	bne INVALID_PIN_NUM,car_blood_led_gpio_set
+car_ui_led_init_1:
+	fetch 1,mem_car_config_pairing_led_gpio
+	bne INVALID_PIN_NUM,car_pairing_led_gpio_set
+car_ui_led_init_2:
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	bne INVALID_PIN_NUM,car_low_voltage_led_gpio_set
+car_ui_led_init_3:
+	fetch 1, mem_car_led_num
+	copy pdata,loopcnt
+	setarg mem_car_led_map
+	copy pdata,rega
+car_in_lp1:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq INVALID_PIN_NUM,car_in_lp1_end
+	copy pdata,temp
+	call gpio_config_output
+car_in_lp1_end:
+	loop car_in_lp1
+car_ui_led_init_end:
+	rtn
+car_blood_led_gpio_set:
+	fetch 8,mem_car_config_blood_led1_gpio
+	store 8,mem_car_led_map+2
+	branch car_ui_led_init_1
+car_pairing_led_gpio_set:
+	store 1,mem_car_led_map
+	branch car_ui_led_init_2
+car_low_voltage_led_gpio_set:
+	store 1,mem_car_led_map+1
+	branch car_ui_led_init_3
+
+
+car_init_environment:
+	arg 0,rega
+	call pwm_init
+	call car_ir_rx_init
+	call g24_receive_process_init
+	branch car_init_adc_hvin
+
+car_init_adc_hvin:
+	jam 100,mem_car_notify_vdd_value_last
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	store 1,mem_car_style2_struct_led_gpio
+	branch adc_init_data
+	
+car_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch keyscan_process_lpm_before
+
+car_le_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+car_key_scan_process:
+//	fetch 1,mem_enable_key_scan
+//	rtn blank
+	branch keyscan_key_process
+
+car_scale_process_idle:
+	call car_le_send_packet
+	call car_ir_receive_process
+	call car_g24_status_process
+	branch car_key_scan_process
+
+car_g24_status_process:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 1,mem_car_24g_received_pac
+	beq WORK_PAIRED,car_g24_connected_event
+	rtn
+car_g24_connected_event:
+	fetch 1,mem_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_car_24g_status
+	branch car_g24_connected
+
+car_le_send_packet:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BLE_CONNECTED
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_car_pop_queue_buff,rega
+	call queue_pop
+	nrtn user
+	arg mem_car_pop_queue_buff,contr
+	branch le_send_notify_from_list
+ 
+car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,car_scale_event_le_conn
+	beq BT_EVT_LE_DISCONNECTED,car_scale_event_le_discon
+	rtn
+
+car_scale_event_le_conn:
+	setarg disable_24g
+	call g24_store_mem_24g_mode
+	branch car_scale_process_conn
+car_g24_connected:
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+car_scale_process_conn:
+	jam 0x14,mem_car_notify_vdd_timer
+	jam 0,mem_lpm_mode
+	call app_ble_stop_adv
+	call app_lpm_mult_enable
+	fetch 1,mem_car_config_pairing_led_conn_status
+	beq 0x01,car_pairing_led_conn_status_setting
+car_scale_process_conn_next:
+	arg 0,rega
+	branch ui_led_on_global
+car_pairing_led_conn_status_setting:
+	arg 0,rega
+	branch ui_led_blink_stop_global
+
+car_scale_event_le_discon:
+	setarg rx_24g
+	call g24_store_mem_24g_mode
+car_g24_disconnect:
+	setarg 0
+	store 5,mem_car_led_control
+	setarg 4
+	call pwm_disable
+	setarg 5
+	call pwm_disable
+	setarg 20
+	call pwm_disable
+	setarg 21
+	call pwm_disable
+	setarg 22
+	call pwm_disable
+	setarg 7
+	call pwm_disable
+	call queue_init
+	jam 10,mem_motor1_speed
+	jam 10,mem_motor2_speed
+	jam 10,mem_motor3_speed
+//	jam 1,mem_lpm_mode
+	jam 2,mem_lpm_mult
+	arg 0,rega
+	call ui_led_blink_start_global
+
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+	branch app_ble_start_adv
+
+car_le_bb_event_timer:
+//	call car_ui_power_timeout_timer
+	call car_moto1_blank_data_timer
+	call car_moto2_blank_data_timer
+	call car_moto3_blank_data_timer
+	call app_power_timer
+	call car_led_control_timer
+	call car_notify_vdd_timer
+	call car_24g_no_data_timeout_timer
+	call car_ir_breakdown_timer
+	branch car_attack_shake_timer
+
+car_ir_breakdown_timer:
+	arg mem_car_ir_breakdown_check_timer,regc
+	arg car_ir_breakdown_timeout,regb
+	branch timer_single_step
+car_ir_breakdown_timeout:
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_flag
+	rtn
+	
+car_24g_no_data_timeout_timer:
+	arg mem_car_24g_no_data_timeout_timer,regc
+	arg car_24g_no_data_timer_timeout,regb
+	branch timer_single_step_2B
+car_24g_no_data_timer_timeout:
+	jam WORK_SEARCH,mem_car_24g_status
+	branch car_g24_disconnect
+
+car_attack_shake_timer:
+	arg mem_car_attack_shake_timer,regc
+	arg car_attack_shake,regb
+	branch timer_single_step
+car_attack_shake:
+	fetch 1, mem_car_attack_shake_flag
+	branch car_attack_shake_stop,blank
+	jam 2,mem_car_attack_shake_timer
+	jam 0, mem_car_attack_shake_flag
+	setarg 0x0a02
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_front_battle_tank
+car_attack_shake_front_battle_car:
+	branch car_motor_control
+car_attack_shake_front_battle_tank:
+	setarg 0x0a02
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+car_attack_shake_stop:
+	setarg 0
+	store 4,mem_le_receive_payload
+	branch car_motor_control
+
+car_notify_vdd_timer:
+	fetch 1,mem_car_config_bat_notify_enable
+	rtn blank
+ 	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,car_low_bat_led_off
+	arg mem_car_notify_vdd_timer,regc
+	arg car_notify_vdd,regb
+	branch timer_single_step
+car_notify_vdd:
+	fetch 1,mem_car_notify_vdd_count
+	store 1,mem_car_notify_vdd_timer
+ 	fetch 1,mem_car_working_flag
+ 	nrtn blank
+car_read_hvin:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_vdd_now_vol
+	arg mem_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetcht 1,mem_car_notify_vdd_value_last
+	isub temp,null
+	branch car_notify_vdd_next2,positive
+	store 1,mem_car_notify_vdd_value_last
+	copy pdata,temp
+car_notify_vdd_next2:
+	storet 1,mem_car_notify_vdd_percent
+	fetch 1,mem_car_config_low_voltage_percent
+	isub temp,null
+	call car_enter_low_bat,positive
+	storet 1,mem_notify_bat_payload 
+	arg 6,loopcnt
+	arg mem_notify_bat_head,contr
+	call calc_check_sum_start
+	store 1,mem_notify_bat_check_sum
+	arg mem_notify_bat_packet,rega
+	branch queue_push
+car_enter_low_bat:
+	fetch 1,mem_low_bat_flag
+	nrtn blank
+	jam 1,mem_low_bat_flag
+	arg 1,rega
+	branch ui_led_blink_start_global
+car_low_bat_led_off:
+	arg 1,rega
+	branch ui_led_blink_stop_global
+
+car_led_control_timer:
+	arg mem_car_led_control_timer,regc
+	arg car_led_control,regb
+	branch timer_single_step
+car_led_control:
+	jam 5,mem_car_led_control_timer
+	jam 0,mem_car_led_no
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_blink_off
+	beq LED_OFF,car_led_control_blink_on
+car_led_control_set:
+	arg mem_car_led_control,contr
+	copy contr,rega
+	arg 8,loopcnt
+car_led_control_timer_next:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq LED_OFF,car_led_control_off
+	beq LED_ON,car_led_control_on
+	beq LED_BLINK,car_led_control_blink
+car_led_control_timer_next_2:
+	fetch 1,mem_car_led_no
+	increase 1,pdata
+	store 1,mem_car_led_no
+	loop car_led_control_timer_next
+	rtn
+car_led_switch:
+	fetch 1,mem_car_led_no
+	arg mem_car_config_blood_led_gpio,regb
+	iadd regb,regb
+	ifetcht 1,regb
+	rtn
+car_led_control_off:
+	call car_led_switch
+	call gpio_out_inactive
+	branch car_led_control_timer_next_2
+car_led_control_on:
+	call car_led_switch
+	call gpio_out_active
+	branch car_led_control_timer_next_2
+car_led_control_blink:
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_off
+	branch car_led_control_on
+car_led_control_blink_on:
+	jam LED_ON,mem_car_led_blink_status
+	branch car_led_control_set
+car_led_control_blink_off:
+	jam LED_OFF,mem_car_led_blink_status
+	branch car_led_control_set
+	
+////////////////////////check sum////////////////////////
+//loopcnt = sum number,contr = ptr
+calc_check_sum_start:
+	arg 0,rega
+calc_check_sum_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop calc_check_sum_loop
+calc_check_sum_and:
+	and rega,0xff,pdata
+	rtn
+
+car_le_receive_data:	
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,car_le_parse_att_write_request
+	rtn
+car_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+	beq ATT_CAR_CONTROL_HANDLE,car_control_le_receive
+	rtn
+
+/*
+*	typedef struct
+*	{
+*		2byte	packet_head				(mem_app_receive_temp)
+*		1byte	packet_cmd				(mem_app_receive_temp+2)
+*		2byte	packet_payload_length	(mem_app_receive_temp+3)
+*		10byte	packet_payload			(mem_app_receive_temp+5)
+*		1byte	packet_check_sum		(mem_app_receive_temp+15)
+*	}
+*/
+le_app_receive_data:
+	bpatch patch1a_0,mem_patch1a
+	ifetch 5,rega
+	store 5,mem_app_receive_temp
+	fetch 2,mem_app_receive_temp
+	arg LE_RECEIVE_PACKET_HEAD,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_app_receive_temp+3
+	byteswap pdata,pdata
+	store 2,mem_app_receive_temp+3
+	copy pdata,loopcnt
+	increase 5,rega
+	copy rega,contr
+	arg mem_app_receive_temp+5,contw
+	call memcpy
+	ifetch 1,contr
+	store 1,mem_app_receive_temp+15
+	arg mem_app_receive_temp+2,rega
+	arg mem_app_receive_temp+5,regb
+	rtn
+
+car_control_le_receive:
+	setarg 0
+	store 5,mem_le_receive_payload
+	store 5,mem_le_receive_payload+5
+	call le_app_receive_data
+	copy regb,contr
+	arg mem_le_receive_payload,contw
+	arg 10,loopcnt
+	call memcpy
+car_receive_cmd_select:
+	bpatch patch1a_1,mem_patch1a
+	ifetch 1,rega
+	beq CAR_CMD_OLD_CAR_CONTROL,car_drive_old
+	beq CAR_CMD_OLD_SPEED_CONTROL,car_speed_set_old
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_IR_CONTROL,car_ir_data_rx_from_app
+	beq CAR_CMD_LED_CONTROL,car_led_control_receive
+	beq CAR_CMD_DEVICE_INFO,car_info_request
+	rtn
+
+car_24g_receive_data:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+	
+	jam WORK_PAIRED,mem_car_24g_received_pac
+	
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	call car_control_le_receive
+
+	fetch 1,mem_app_receive_temp+2	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_24g_receive_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_24g_receive_data_next
+	rtn
+car_24g_receive_data_next:
+	fetch 1,mem_le_receive_payload	//moto1
+	ncall car_moto1_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+2	//moto2
+	ncall car_moto2_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+4	//moto3
+	ncall car_moto3_enable_blank_data_timer,blank
+	rtn
+
+car_moto1_enable_blank_data_timer:
+	jam 5,mem_car_moto1_blank_timer
+	rtn
+car_moto2_enable_blank_data_timer:
+	jam 5,mem_car_moto2_blank_timer
+	rtn
+car_moto3_enable_blank_data_timer:
+	jam 5,mem_car_moto3_blank_timer
+	rtn
+
+car_moto1_blank_data_timer:
+	arg mem_car_moto1_blank_timer,regc
+	arg car_moto1_blank_data,regb
+	branch timer_single_step
+car_moto2_blank_data_timer:	
+	arg mem_car_moto2_blank_timer,regc
+	arg car_moto2_blank_data,regb
+	branch timer_single_step
+car_moto3_blank_data_timer:		
+	arg mem_car_moto3_blank_timer,regc
+	arg car_moto3_blank_data,regb
+	branch timer_single_step
+
+car_moto1_blank_data:
+	jam 0,mem_le_receive_payload
+	branch car_motor_control
+car_moto2_blank_data:
+	jam 0,mem_le_receive_payload+2
+	branch car_motor_control
+car_moto3_blank_data:
+	jam 0,mem_le_receive_payload+4
+	branch car_motor_control
+	
+	
+///////////////////////Motor//////////////////////////////////////////
+
+car_drive_old:	
+	call car_left_right_control_old
+	branch car_front_back_control_old
+car_left_right_control_old:
+	fetch 1,mem_le_receive_payload
+	store 1,mem_motor2_status
+	branch car_motor2_control
+car_front_back_control_old:
+	fetch 1,mem_motor1_speed
+	call car_reset_old_speed
+	fetch 1,mem_le_receive_payload+1
+	store 1,mem_motor1_status
+	branch car_motor1_control
+car_reset_old_speed:
+	beq SPEED_LEVEL_2,car_reset_old_speed2
+	beq SPEED_LEVEL_3,car_reset_old_speed3
+	store 1,mem_motor1_speed
+	rtn
+car_reset_old_speed2:
+	jam SPEED_LEVEL_5,mem_motor1_speed
+	rtn
+car_reset_old_speed3:
+	jam SPEED_LEVEL_10,mem_motor1_speed
+	rtn
+car_speed_set_old:
+	fetch 1,mem_le_receive_payload
+	call car_reset_old_speed
+	fetch 1,mem_motor1_speed
+	call car_motor_speed_duty_setting
+	call car_motor_speed_duty_transform
+	branch pwm_pwm0_duty_set
+
+car_motor_control:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 6,mem_le_receive_payload
+	store 6,mem_motor1_status
+	fetch 1,mem_motor1_speed
+	fetcht 1,mem_motor2_speed
+	iand temp,pdata
+	fetcht 1,mem_motor3_speed
+	iand temp,pdata
+	call car_motor_working_flag,blank
+	bpatch patch1a_2,mem_patch1a
+	call car_motor1_control
+	call car_motor2_control
+	branch car_motor3_control
+car_motor1_control:
+	arg mem_motor1_pwm_set,regb
+	arg mem_motor1_status,contr
+	branch car_motor_status_select
+car_motor2_control:
+	arg mem_motor2_pwm_set,regb
+	arg mem_motor2_status,contr
+	branch car_motor_status_select
+car_motor3_control:
+	arg mem_motor3_pwm_set,regb
+	arg mem_motor3_status,contr
+	branch car_motor_status_select
+car_motor_working_flag:
+	jam 0,mem_car_working_flag
+	rtn
+
+car_motor_status_select:
+	ifetch 1,contr
+	beq MOTOR_STOP,car_motor_stop
+	beq GO_FRONT,car_motor_positive
+	beq GO_BACK,car_motor_negative
+	rtn
+car_motor_positive:
+	jam 0,mem_motor_select_p_n
+	branch car_motor_negative+1
+car_motor_negative:
+	jam 1,mem_motor_select_p_n
+	ifetch 1,contr
+	store 1,mem_car_motor_speed
+	ifetch 8,regb
+	branch car_motor_work
+
+car_motor_stop:
+	ifetch 1,regb
+	call pwm_disable
+	increase 1,regb
+	ifetch 1,regb
+	branch pwm_disable
+car_motor_work:
+	store 8,mem_motor_pwm_pin1_set
+	jam 1,mem_car_working_flag
+	fetch 1,mem_motor_select_p_n
+	beq 0,car_motor_select_positive
+car_motor_select_negative:
+	fetch 1,mem_motor_pwm_pin2_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin1_set
+car_motor_work_next:
+	call pwm_disable
+	fetch 1,mem_car_motor_speed
+	call car_motor_speed_duty_setting
+	store 1,mem_motor_pwm_dute_set
+	fetch 6,mem_motor_pwm_pin_set
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+car_motor_select_positive:
+	fetch 1,mem_motor_pwm_pin1_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin2_set
+	branch car_motor_work_next
+
+car_motor_speed_duty_setting:
+	mul32 pdata,5,pdata
+	add pdata,50,pdata
+	rtn
+car_motor_speed_duty_transform:
+	arg 12000,temp
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient temp
+	copy temp,rega
+	setarg 12000
+	isub temp,regb
+	rtn
+
+/////////////////////IR PROCESS/////////////////////
+car_ir_init:
+	hfetch 1,core_gpio_sel2		// select GPIO3 as pwm4
+	set1 2,pdata
+	hstore 1,core_gpio_sel2
+	setarg 158
+	hstore 2,core_pwm_pcnt4
+	hstore 2,core_pwm_ncnt4
+	rtn
+
+car_ir_data_rx_from_app:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 2,mem_le_receive_payload
+	store 2,mem_ir_data
+	fetch 1,mem_car_24g_status
+	bne WORK_PAIRED,car_ir_data_tx
+	fetch 2,mem_le_lap
+	store 2,mem_ir_data
+car_ir_data_tx:
+	bpatch patch1a_3,mem_patch1a
+	call car_ir_init
+	call car_ir_enable
+	setarg 48000
+	call sleep
+	call car_ir_disable
+	setarg 7200
+	call sleep
+	arg 16,loopcnt
+car_ir_send_loop:
+	call car_ir_enable
+	fetch 2,mem_ir_data
+	bbit1 0,car_ir_is_bit1
+	setarg 7200
+	call sleep
+	call car_ir_disable
+	branch car_ir_wait_finish
+	
+car_ir_is_bit1:
+	setarg 14400
+	call sleep
+	call car_ir_disable
+car_ir_wait_finish:
+	setarg 7200
+	call sleep
+	fetch 2,mem_ir_data
+	rshift pdata,pdata	
+	store 2,mem_ir_data
+	loop car_ir_send_loop
+
+	jam 2,mem_car_attack_shake_timer
+	jam 1, mem_car_attack_shake_flag
+	setarg 0x0a01
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_back_battle_tank
+car_attack_shake_back_battle_car:
+	branch car_motor_control
+car_attack_shake_back_battle_tank:
+	setarg 0x0a01
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+	
+car_ir_enable:
+	hfetch 1,core_gpio_key2			// PWM4_enable
+	or_into 0x40,pdata
+	hstore 1,core_gpio_key2	
+	rtn
+car_ir_disable:
+	hfetch 1,core_gpio_key2			// PWM4_disable
+	and_into 0xbf,pdata
+	hstore 1,core_gpio_key2
+	rtn
+	
+car_ir_rx_init:
+	fetch 1,mem_car_config_ir_enable
+	rtneq 0x00
+	call lpm_disable_exen_output
+	fetcht 1,mem_car_config_ir_rx_gpio
+	storet 1,mem_ir_rx_gpio
+	call gpio_config_input
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_check_timer
+	rtn
+
+car_ir_receive_process:
+	fetch 1,mem_car_config_ir_enable
+	rtneq FLAG_IR_DISABLE	
+	fetch 1,mem_car_ir_breakdown_flag
+	nrtn blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,car_ir_receive_process_next
+	fetch 1,mem_car_24g_status
+	rtnne WORK_PAIRED
+car_ir_receive_process_next:
+	bpatch patch1a_4,mem_patch1a
+	call car_ir_gpio_get_status
+	nrtn true
+	setarg 36000
+	call sleep
+	call car_ir_gpio_get_status
+	nrtn true
+	call car_ir_clk_get
+car_ir_packet_head_wait_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_packet_head_wait_end,true
+	arg 0,rega
+	arg 16,loopcnt
+	call car_ir_clk_get
+car_ir_receive_process_loop:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	nbranch car_ir_receive_process_loop,true
+	setarg 10800
+	call sleep
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1,true
+car_ir_get_bit0:
+	setarg 0
+ 	rshift rega,rega
+	ior rega,rega
+	loop car_ir_receive_process_loop
+	branch car_ir_receive_process_end
+car_ir_get_bit1:
+	setarg 0x8000
+	rshift rega,rega
+	ior rega,rega
+	call car_ir_clk_get
+car_ir_get_bit1_wait_low_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1_wait_low_end,true
+	loop car_ir_receive_process_loop
+car_ir_receive_process_end:
+	bpatch patch1a_5,mem_patch1a
+	copy rega,pdata
+	store 2,mem_ir_rx_buf
+	store 2,mem_ir_notify_data+8
+	fetch 1,mem_car_24g_status
+	beq WORK_PAIRED,car_ir_24g_receive_attack
+car_ir_data_notify:
+	arg 0x07,loopcnt
+	arg mem_ir_notify_data_head,contr
+	call calc_check_sum_start
+	store 1,mem_ir_notify_data_check_sum
+	arg mem_ir_notify_data,rega
+	branch queue_push
+
+car_ir_24g_receive_attack:
+	fetch 1,mem_car_24g_ir_receive_attack_count
+	increase 1,pdata
+	store 1,mem_car_24g_ir_receive_attack_count
+	div pdata,2
+	call wait_div_end
+	quotient temp
+	remainder pdata
+	nbranch car_ir_24g_receive_attack_blink,blank
+car_ir_24g_receive_attack_off:
+	fetch 1,mem_car_config_led_num
+	isub temp,null
+	call car_ir_24g_go_die,zero
+	arg mem_car_led_control,pdata
+	increase -1,temp
+	iadd temp,rega
+	arg 0,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_receive_attack_blink:
+	arg mem_car_led_control,pdata
+	iadd temp,rega
+	arg 2,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_go_die:
+	jam 1,mem_car_24g_go_die_flag
+	rtn
+car_ir_clk_get:
+	copy clkn_bt,pdata
+	store 4,mem_ir_receive_clkn
+	rtn
+car_ir_clk_check:
+	copy clkn_bt,pdata
+	fetcht 4,mem_ir_receive_clkn
+	isub temp,pdata
+	sub pdata,200,null
+	rtn
+
+car_ir_gpio_get_status:
+	fetcht 1,mem_ir_rx_gpio
+	branch gpio_get_bit
+
+car_led_control_receive:
+	fetch 8,mem_le_receive_payload
+	store 8,mem_car_led_control
+	rtn
+
+car_info_request:
+	fetch 1,mem_car_config_device_select
+	store 1,mem_car_info_request_payload
+	fetch 1,mem_car_config_motor_layout
+	store 1,mem_car_info_request_payload+1
+	fetch 1,mem_car_config_ir_enable
+	store 1,mem_car_info_request_payload+2
+	arg 13,loopcnt
+	arg mem_car_info_request_head,contr
+	call calc_check_sum_start
+	store 1,mem_car_info_request_checksum
+	arg mem_car_info_request,rega
+	branch queue_push
+    
+endif
+
+
+
Index: YJX_Only24g/FCC_1021S/program/app_light.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_light.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_light.prog	(working copy)
@@ -0,0 +1,227 @@
+
+light_init:
+	call clear_eeprom_size_2k
+	jam 0x7a,mem_curr_packet_num
+	call light_load_controler_list
+	call light_init_crr_cmd_count
+	setarg light_pairing_timer
+	store 2,mem_cb_event_timer
+	arg 0,rega
+	branch pwm_init
+
+light_pairing_timer:
+	fetch 2,mem_light_pairing_timer
+	rtn blank
+	increase -1,pdata
+	store 2,mem_light_pairing_timer
+	rtnne 0
+	jam 0,mem_light_pairing_enable
+	rtn
+
+light_init_crr_cmd_count:
+	bpatch patch1a_6,mem_patch1a
+	fetch 1,mem_light_next_record
+	sub pdata,40,null
+	rtn positive
+	jam 0,mem_light_next_record
+	rtn
+
+light_load_controler_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_read_eep_data
+
+//output user:group record find
+light_find_controler_pairing:
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_pairing_loop:
+	bpatch patch1a_7,mem_patch1a
+	call light_compare_addr_record
+	branch enable_user,zero
+light_find_single_pairing_diff:
+	increase 4,rega
+	loop light_find_controler_pairing_loop
+	rtn
+
+//rega: regb:
+light_compare_addr_record:
+	bpatch patch1b_0,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	rtn
+//rega: regb:
+light_compare_single_record:
+	bpatch patch1b_1,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	nrtn zero
+	ifetch 1,contr
+	sub pdata,0,null //0 zero
+	rtn zero
+	add rega,3,contr
+	ifetcht 1,contr
+	isub temp,null
+	rtn
+
+//output:find single controler
+light_find_controler_cmd:
+	bpatch patch1b_2,mem_patch1b
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_cmd_loop:
+	call light_compare_single_record
+	branch enable_user,zero
+	increase 4,rega
+	loop light_find_controler_cmd_loop
+	rtn
+
+//regc
+light_recv_adv:
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	arg mem_le_rxbuf+12,regc
+
+light_anylize_command:
+	ifetch 2,regc
+	arg 0x55aa,temp
+	isub temp,null
+	nrtn zero
+	copy contr,regc
+	ifetcht 3,regc
+	setarg 0xffffff
+	isub temp,null
+	branch light_parse_cmd,zero
+	call light_find_controler_cmd
+	branch light_parse_cmd,user
+	rtn
+
+light_parse_cmd:
+	bpatch patch1b_3,mem_patch1b
+	increase 4,regc
+	ifetch 1,regc
+	fetcht 1,mem_curr_packet_num
+	isub temp,null
+	rtn zero
+	store 1,mem_curr_packet_num
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	
+	increase 1,regc
+	ifetch 1,regc
+	store 1,mem_light_crr_cmd_count
+	copy pdata,loopcnt
+	rtn blank
+light_parse_cmd_loop:
+	ifetch 1,contr
+	beq LIGHT_CMD_PWM0,light_parse_cmd_pwm0
+	beq LIGHT_CMD_PWM1,light_parse_cmd_pwm1
+	beq LIGHT_CMD_PWM2,light_parse_cmd_pwm2
+	beq LIGHT_CMD_PWM3,light_parse_cmd_pwm3
+	beq LIGHT_CMD_PWM4,light_parse_cmd_pwm4
+	beq LIGHT_CMD_PWM5,light_parse_cmd_pwm5
+	beq LIGHT_CMD_AUTO_MODE,light_parse_auto_mode
+	beq LIGHT_CMD_PAIRING,light_parse_pairing
+	loop light_parse_cmd_loop
+	rtn
+
+light_parse_cmd_pwm0:
+	copy contr,regc
+	fetch 1,mem_light_pwm0
+	store 1,mem_pdatatemp
+	arg 0,temp
+light_parse_cmd_pwm_common:
+	storet 1,mem_pdatatemp+1
+	setarg 10000
+	store 3,mem_pdatatemp+2
+	ifetch 1,regc
+	store 1,mem_pdatatemp+5
+	call  pwm_out_set
+	and regc,1,contr
+	loop light_parse_cmd_loop
+	rtn
+light_parse_cmd_pwm1:
+	copy regc,contr
+	fetch 1,mem_light_pwm1
+	store 1,mem_pdatatemp
+	arg 1,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm2:
+	copy regc,contr
+	fetch 1,mem_light_pwm2
+	store 1,mem_pdatatemp
+	arg 2,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm3:
+	copy regc,contr
+	fetch 1,mem_light_pwm3
+	store 1,mem_pdatatemp
+	arg 3,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm4:
+	copy regc,contr
+	fetch 1,mem_light_pwm4
+	store 1,mem_pdatatemp
+	arg 4,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm5:
+	copy regc,contr
+	fetch 1,mem_light_pwm5
+	store 1,mem_pdatatemp
+	arg 5,temp
+	branch light_parse_cmd_pwm_common
+
+light_parse_auto_mode:
+	ifetch 1,contr
+	rtn
+
+light_parse_pairing:
+	copy contr,regc
+	fetch 1,mem_light_pairing_enable
+	bne 1,light_parse_pairing_abandon
+	call update_controler_list
+light_parse_pairing_abandon:
+	and regc,4,contr
+	rtn
+update_controler_list:
+	bpatch patch1b_4,mem_patch1b
+	call light_find_controler_pairing
+	branch update_conrtoler_list_found,user
+	fetch 1,mem_light_next_record
+	copy pdata,temp
+	increase 1,pdata
+	store 1,mem_light_next_record
+	call light_init_crr_cmd_count
+	lshift2 temp,temp
+	setarg mem_light_clist
+	iadd temp,contw
+	ifetch 4,regc
+	istore 4,contw
+	branch update_conrtoler_store_list
+update_conrtoler_list_found:
+	add regc,3,contr
+	ifetch 1,contr
+	rtn blank
+	ifetch 4,regc
+	istore 4,rega
+update_conrtoler_store_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_write_eep_data
+
+
+
Index: YJX_Only24g/FCC_1021S/program/app_lightC.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_lightC.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_lightC.prog	(working copy)
@@ -0,0 +1,55 @@
+lightc_init:
+	//key scan init
+
+	//gpio init
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+	rtn
+
+
+lightc_dispatch:
+	//key scan 
+	
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_active
+
+
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+
+	//
+	call lightc_start_adv
+
+	fetch 1,mem_adv_time
+	nrtn blank
+	//sleep 
+	call lpm_write_gpio_wakeup
+	hfetch 4,core_lpm_ctrl
+	set0 15,pdata						/* lowest lpo */
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	arg param_hibernate_clks,temp
+	branch lpm_sleep
+
+lightc_adv:
+	fetch 1,mem_adv_time
+	branch le_adv_loop_tx,blank
+	increase -1,pdata
+	store 1,mem_adv_time
+	branch le_adv_loop_tx
+
+lightc_start_adv:
+	mul32 pdata,20,pdata
+	arg mem_cmd0_string,contr
+	iadd contr,contr
+	ifetch 1,contr
+	rtn blank
+	copy pdata,rega
+	copy rega,loopcnt
+	arg mem_le_adv_data+2,contw
+	call memcpy
+	copy rega,pdata
+	increase 2,pdata
+	store 1,mem_le_adv_data_len
+	rtn
+
Index: YJX_Only24g/FCC_1021S/program/app_module.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_module.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_module.prog	(working copy)
@@ -0,0 +1,1506 @@
+
+ifdef COMPILE_MODULE
+
+
+
+
+module_init:
+	
+	rtn wake
+	call le_modified_name
+	call adc_init_data
+	setarg module_process_idle
+	store 2,mem_cb_idle_process
+	setarg module_bt_conn_process
+	store 2,mem_cb_bt_process
+	setarg module_process_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg module_le_conn_process
+	store 2,mem_cb_le_process
+	setarg module_lpm_lock
+	store 2,mem_cb_check_wakelock
+	setarg module_hci_cmd_transmit_le_notify
+	store 2,mem_cb_ble_transmit
+	setarg module_hci_event_receive_spp_data
+	store 2,mem_cb_receive_spp_data
+	setarg module_le_receive_data
+	store 2,mem_cb_att_write
+	setarg module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	call module_spp_clear_last_transmite_clock
+	bpatch patch1b_5,mem_patch1b
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	branch module_hci_event_enter_standby_mode
+
+
+module_lpm_uart_init:
+	fetch 4,mem_module_uart_rx_buffer
+	hstore 4,core_uart_rsaddr
+
+	fetch 4,mem_module_uart_tx_buffer
+	hstore 4,core_uart_tsaddr
+
+	hfetch 1,core_gpio_sel1
+	or_into 0x04,pdata
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	hjam 0x00,core_uart_ctrl
+
+	fetch 2,mem_module_uart_rx_buffer
+	hstore 2,core_uart_rrptr
+	fetch 2,mem_module_uart_tx_buffer
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+
+	hfetch 4,core_gpio_pu0
+	set1 7,pdata
+	hstore 4,core_gpio_pu0
+	
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	hjam uartclk_crystal,core_uart_clksel
+	hjam uart_ctrl_h4,core_uart_ctrl
+
+	fetch 1,mem_module_flag
+	isolate1 MODULE_FLAG_UART_FLOW_CONTROL,pdata
+	hfetcht 1,core_uart_ctrl
+	setflag true,4,temp
+	hstoret 1,core_uart_ctrl
+	rtn
+	
+
+
+module_lpm_init:
+	call module_spp_clear_last_transmite_clock
+	branch module_lpm_uart_init
+//	branch module_gpio_init
+	
+module_gpio_init:
+	//module state pin
+//	call ui_led_init	
+//	call app_led_start_blink
+	//module conn state pin
+	fetcht 1,mem_module_connect_state_gpio
+	call gpio_config_output
+	call module_set_conn_pin_low
+	
+	fetcht 1,mem_module_wake_up_gpio
+	branch gpio_config_input
+
+module_lpm_lock:
+	fetcht 1,mem_module_wake_up_gpio
+	call gpio_get_bit
+	nbranch app_put_lpm_wake_lock,true
+	branch app_get_lpm_wake_lock
+
+	
+module_le_conn_process:
+	rtn
+
+module_bt_conn_process:
+	call module_spp_enter_sniff
+	branch module_control_air_flow
+
+module_spp_enter_sniff:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_spp_clear_last_transmite_clock
+	bpatch patch1b_6,mem_patch1b
+	setarg 0x3eff
+	fetcht 4,mem_last_transmite_clock
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_SNIFF,module_spp_clear_last_transmite_clock
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_SNIFF
+	call module_set_sniff_task_flag
+	call app_bt_enter_sniff
+module_spp_clear_last_transmite_clock:
+	copy clkn_bt,pdata
+	store 4,mem_last_transmite_clock
+	rtn
+	
+
+module_process_idle:
+	call module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch module_process
+
+	
+module_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BB_CONNECTED,module_process_bb_conn
+	beq BT_EVT_BB_DISCONNECTED,module_process_bb_event_disconned
+	beq BT_EVT_RECONN_FAILED,module_process_reconn_fail
+	beq BT_EVT_SETUP_COMPLETE,module_process_setup_complete
+	beq BT_EVT_SPP_CONNECTED,module_process_spp_connected
+	beq BT_EVT_SPP_DISCONNECTED,module_process_spp_disconnected
+	beq BT_EVT_PINCODE_REQ,module_process_evt_pincode_req
+	beq BT_EVT_ENTER_SNIFF,module_process_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,module_process_exit_sniff
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,module_process_page_time_out
+	beq BT_EVT_LE_CONNECTED,module_process_le_conn
+	beq BT_EVT_LE_DISCONNECTED,module_process_bb_even_le_disconn
+	beq BT_EVT_SNIFF_NOT_ACCEPT,module_process_sniff_not_accept
+	beq BT_EVT_UNSNIFF_ACCEPT,module_process_unsniff_accept
+	beq BT_EVT_UNSNIFF_NOT_ACCEPT,module_process_unsniff_not_accept
+	beq BT_EVT_LE_PAIRING_FAIL,module_hci_event_le_pairing_fail
+	beq BT_EVT_LE_PAIRING_SUCCESS,module_hci_event_le_pairing_success
+	beq BT_EVT_LE_START_ENC,module_hci_event_start_enc
+	beq BT_EVT_LE_PAUSE_ENC,module_hci_event_pause_enc
+	beq BT_EVT_LE_TK_GENERATE,module_hci_event_le_tk
+	beq BT_EVT_BT_GKEY_GENERATE,module_hci_event_gkey_generate
+	beq BT_EVT_BT_GET_PASSKEY,module_hci_event_passkey_entry_mode
+	beq BT_EVT_BT_PAIRING_FAIL,module_hci_event_bt_pairing_fail	
+	beq BT_EVT_BT_PAIRING_SUCCESS,module_hci_event_bt_pairing_success
+ifdef SECURE_CONNECTION	
+	beq BT_EVT_LE_GKEY_GENERATE,module_hci_event_le_gkey
+endif
+	beq BT_EVT_STORE_NVRAM,module_hci_event_store_device
+	beq BT_EVT_LE_LTK_LOST,module_process_ble_ltk_lost
+	rtn
+
+	
+module_process_bb_event_disconned:
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_flag_pairing_state
+	ncall module_hci_event_bt_pairing_fail,blank
+	call module_disconn_start
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	branch  module_spp_disconnected
+
+module_process_spp_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SPP_CONN,pdata
+	store 2,mem_ui_state_map
+	fetch 1,mem_module_spp_lpm_mult
+	store 1,mem_lpm_mult
+	call module_set_conn_pin_low
+	branch module_hci_event_spp_connect
+
+module_process_spp_disconnected:
+//	branch module_spp_disconnected
+module_spp_disconnected:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	set0 UI_STATE_BT_SPP_CONN ,pdata
+	store 2,mem_ui_state_map
+	branch module_hci_event_spp_disconnect
+
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+	call module_spp_clear_last_transmite_clock
+	//fetch 1,mem_context
+	//rtnbit0 state_insniff
+	fetch 2,mem_context+coffset_tsniff
+	rshift pdata,pdata
+	fetcht 2,mem_sniff_param_interval
+	isub temp,null
+	nbranch module_sniff_param_check_unsniff,zero
+	branch app_lpm_mult_enable
+module_sniff_param_check_unsniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	hfetch 2,core_uart_rxitems    //*
+	ncall module_set_unsniff_task_flag,blank    //*加这两句话
+	branch app_bt_sniff_exit
+
+module_process_exit_sniff:
+	call module_clear_sniff_task_flag
+	branch app_lpm_mult_disable
+ 	
+module_process_setup_complete:
+	call module_spp_clear_last_transmite_clock
+	branch module_conn_start
+	
+module_process_bb_even_le_disconn:
+	call le_clr_config_more_data
+	call module_disconn_start
+	branch module_hci_event_le_disconnect
+
+module_process_evt_pincode_req:
+	branch  app_bt_set_pincode
+	
+
+module_process_sniff_not_accept:
+	branch module_clear_sniff_task_flag
+
+
+module_process_unsniff_accept:
+	fetch 1,mem_module_flag
+	bbit0 MOUDLE_TASK_UNSNIFF,app_bt_enter_sniff
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_unsniff_not_accept:
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_le_conn:
+	call le_send_att_exchange_mtu_requset
+	call module_conn_start
+	fetch 1,mem_module_le_lpm_mult
+	store 1,mem_lpm_mult
+	branch module_hci_event_le_connect
+
+
+module_process_bb_conn:
+	jam 0,mem_flag_mode_ssp_pin
+	call module_clear_sniff_task_flag
+	branch module_clear_unsniff_task_flag
+
+module_process_page_time_out:
+module_process_reconn_fail:
+module_disconn_start:
+	call module_start_adv_discovery_by_command
+	branch module_set_conn_pin_high
+
+
+module_process_ble_ltk_lost:
+	call le_send_reject_ind
+	branch le_send_smp_security_request
+
+
+module_set_conn_pin_high:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_active
+
+module_conn_start:
+	call module_stop_adv_discovery
+	branch module_set_conn_pin_low
+	
+module_stop_adv_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_stop_discovery,true
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	call app_ble_stop_adv,true
+	rtn
+module_set_conn_pin_low:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_inactive
+
+module_process_with_credit:
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	branch rfcomm_send_uih_without_payload
+
+module_process:
+	hfetch 1,core_uart_status
+	bbit1 uart_status_rx_fifo_empty,module_process_with_credit  //rx no data
+	call uartd_prepare_rx
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	hfetch 2,core_uart_rxitems
+	sub pdata,2,null
+	rtn positive
+	ifetch 1,contru
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	add temp,3,temp
+	hfetch 2,core_uart_rxitems
+	isub temp,temp
+	nrtn positive
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call module_hci_cmd_control
+	fetch 1,mem_module_temp_nl_discard_packet
+	rtneq HCI_NOT_DISCARD_PACKET
+	branch module_hci_dicard_packet //discard this packet
+
+module_hci_in_excp:
+	call delay_10ms
+	call module_hci_event_invalid_packet
+	branch module_hci_release_except
+
+
+module_hci_release_except:
+	bpatch patch1b_7,mem_patch1b
+	hfetch 2,core_uart_rxitems
+	rtn blank
+	call uartd_prepare_rx
+	ifetch 1,contru
+	sub pdata,0x01,null
+	ncall module_hci_dicard_bytes,zero
+	nbranch module_hci_release_except,zero
+	ifetch 1,contru
+	rtneq HCI_CMD_SPP_DATA_REQ
+	rtneq HCI_CMD_SET_CREDIT_GIVEN
+	increase -1,contru
+	call module_hci_dicard_bytes
+	branch module_hci_release_except
+
+module_hci_dicard_packet:
+	call uartd_prepare_rx
+	increase 2,contru
+	ifetch 1,contru
+	iadd contru,contru
+module_hci_dicard_bytes:
+	branch uartd_rxdone
+	
+/*********************HCI CONTROL*********************/
+module_hci_cmd_control:
+	bpatch patch1c_0,mem_patch1c
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_SET_BT_ADDR_REQ,module_hci_cmd_set_bt_addr
+	beq HCI_CMD_SET_LE_ADDR_REQ,module_hci_cmd_set_le_addr
+	beq HCI_CMD_SET_VISIBILITY_REQ,module_hci_cmd_set_visibility	
+	beq HCI_CMD_SET_BT_NAME_REQ,module_hci_cmd_set_bt_name
+	beq HCI_CMD_SET_LE_NAME_REQ,module_hci_cmd_set_le_name
+	beq HCI_CMD_SPP_DATA_REQ,module_hci_cmd_receive_spp_data
+	beq HCI_CMD_LE_DATA_REQ,module_hci_cmd_receive_le_data
+	beq HCI_CMD_STATUS_IRQ,module_hci_cmd_inquire_status
+	beq HCI_CMD_SET_PAIRING_REQ,module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_SET_PINCODE_REQ,module_hci_cmd_set_pincode	
+	beq HCI_CMD_SET_UARTCONTROL_REQ,module_hci_cmd_set_uart_control_mode
+	beq HCI_CMD_SET_UART_BAUD_REQ,module_hci_cmd_set_uart_baud
+	beq HCI_CMD_VERSION_REQ,module_hci_cmd_version_request
+	beq HCI_CMD_BT_DISCONNECT,module_hci_cmd_bt_disconnect
+	beq HCI_CMD_BLE_DISCONNECT,module_hci_cmd_ble_disconnect
+	beq HCI_CMD_SET_NVRAM_REQ,module_hci_cmd_set_nvram
+	beq HCI_CMD_CONFIRM_GKEY,module_hci_cmd_confirm_gkey
+	beq HCI_CMD_SET_CREDIT_GIVEN,module_hci_cmd_set_credit_given
+	beq HCI_CMD_AUTO_ADV_SCAN,module_hci_cmd_auto_adv
+	beq HCI_CMD_POWER_REQ,module_hci_cmd_power_request
+	beq HCI_CMD_POWER_SET,module_hci_cmd_power_set
+	beq HCI_CMD_PASSKEY_ENTRY,module_hci_cmd_passkey_entry
+	beq HCI_CMD_SET_GPIO,module_hci_cmd_set_gpio
+	beq HCI_CMD_READ_GPIO,module_hci_cmd_read_gpio
+	beq HCI_CMD_LE_SET_PAIRING,module_hci_cmd_le_set_pairing_mode
+	beq HCI_CMD_LE_SET_ADV_DATA,module_hci_cmd_le_set_adv_data
+	beq HCI_CMD_LE_SET_SCAN_DATA,module_hci_cmd_le_set_scan_data
+	beq HCI_CMD_LE_SEND_CONN_UPDATE_REQ,module_hci_cmd_le_send_conn_update_req
+	beq HCI_CMD_LE_SET_ADV_PARM,module_hci_cmd_set_le_adv_parameter
+	beq HCI_CMD_LE_START_PAIRING,module_hci_cmd_le_start_pairing
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_CMD_SET_TX_POWER,module_hci_cmd_set_tx_power
+	beq HCI_CMD_LE_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey
+	beq HCI_CMD_REJECT_JUSTWORK,module_hci_cmd_set_reject_justwork_flag
+	beq HCI_CMD_RESET_CHIP_REQ,module_hci_cmd_reset_chip
+	beq HCI_CMD_LE_SET_FIXED_PASSKEY,module_hci_cmd_le_set_fixed_passkey
+	beq HCI_TEST_CMD_CLOSE_LPM,module_hci_test_cmde_close_lpm
+	branch  module_hci_event_receive_invalid_cmd
+
+/*********************HCI COMMAND*********************/
+
+//command opcode 0x00
+module_hci_cmd_set_bt_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_lap
+	branch module_hci_event_receive_valid_cmd
+
+//command opcode 0x01
+module_hci_cmd_set_le_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_le_lap
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x02
+module_hci_cmd_set_visibility:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	call module_hci_event_receive_valid_cmd
+	ifetcht 1,contru
+	storet 1,mem_module_bluetooth_stauts_by_command
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	rtnbit1 UI_STATE_BT_CONNECTED
+module_start_adv_discovery_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	nbranch moudle_start_adv_by_command,true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	and temp,0x03,pdata
+	store 1,mem_scan_mode
+moudle_start_adv_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	nrtn true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	isolate1 2,temp
+	branch app_ble_start_adv,true
+	branch app_ble_stop_adv
+
+
+//command opcode 0x03
+module_hci_cmd_set_bt_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,67,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_local_name_length
+	arg 8,loopcnt
+	call memset0
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_local_name,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x04
+module_hci_cmd_set_le_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,29,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_name_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_name,contw
+	call uart_copy_rx_bytes_fast
+	call le_modified_name
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x05
+module_hci_cmd_receive_spp_data:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_hci_event_receive_invalid_cmd
+	call app_check_sniff
+	branch module_hci_cmd_spp_exit_sniff,true
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_remote_credits
+	rtn blank
+	fetch 2,mem_nl_rx_len_all
+	bne 0,module_hci_cmd_pass_init_ng_rx_len_all
+	fetch 1,mem_module_uart_len
+	store 2,mem_nl_rx_len_all
+
+	copy rega,contru
+//	ifetch 2,contru
+//	store 2,mem_nl_rx_handle
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+module_hci_cmd_pass_init_ng_rx_len_all:
+	call module_hci_cmd_get_current_packet_len_and_remain_len
+	branch spp_tx_rfcomm_packet
+	
+module_hci_cmd_spp_exit_sniff:
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	branch module_exit_sniff
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+	call module_hci_cmd_get_current_patcket_len
+	fetch 2,mem_nl_rx_len_all
+	fetcht 2,mem_current_packet_length
+	isub temp,pdata
+	store 2,mem_nl_rx_len_all
+	rtn
+
+module_hci_cmd_get_current_patcket_len:
+	fetch 2,mem_nl_rx_len_all
+	arg DM_REFCOM_BUFF_LEN,temp
+	call not_greater_than
+	fetcht 2,mem_rfcomm_max_frame_size
+	call not_greater_than
+	fetcht 2,mem_pn_max_frame_size
+	call not_greater_than
+	store 2,mem_current_packet_length
+	rtn
+
+module_hci_command_tx_spp_tx_complete:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	jam HCI_CMD_SPP_DATA_REQ,mem_module_uart_opcode
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x09
+module_hci_cmd_receive_le_data:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	call module_check_ble_encrypt_state
+	branch module_hci_event_receive_invalid_cmd,user
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_FINISH,module_hci_cmd_receive_le_data_finish
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	ifetch 2,contru		//handle
+	store 2,mem_module_hci_notify_handle
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_uart_len
+	pincrease -2
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	branch module_hci_event_receive_invalid_cmd,zero
+	store 1,mem_module_hci_notify_len
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call le_set_config_more_data
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	fetch 1,mem_module_flag
+	rtnbit0 MODULE_FLAG_BLE_DATA_FINISH
+module_hci_cmd_receive_le_data_finish:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_transmit_le_notify:
+	fetch 1,mem_module_hci_notify_len
+	rtn blank
+	call le_fifo_check_nearly_full
+	nrtn blank				//no fifo
+	call module_get_le_remote_mtu
+	bpatch patch1c_1,mem_patch1c
+	add temp,-3,pdata		//sub handle and opcode
+	fetcht 1,mem_module_hci_notify_len
+	call not_greater_than
+	copy pdata,rega
+	copy temp,pdata
+	isub rega,pdata
+	store 1,mem_module_hci_notify_len
+	fetcht 2,mem_module_hci_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 2,mem_module_hci_nofiy_addr
+	copy pdata,contru
+	copy rega,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	branch module_set_le_tx_data_flag
+
+
+//output: temp is master mtu
+module_get_le_remote_mtu:
+	arg 0x17,temp
+	fetch 1,mem_module_flag
+	rtnbit1 MODULE_FLAG_BLE_SEND_MTU23
+	fetcht 2,mem_le_remote_mtu
+	rtn
+
+module_check_ble_encrypt_state:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_ENCRYPT,le_check_encrypt_state
+	branch disable_user
+	
+
+//command opcode 0x0b
+module_hci_cmd_inquire_status:
+	branch module_hci_event_status_res
+
+
+//command opcode 0x0c
+module_hci_cmd_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	beq PAIRING_PINCODE,module_hci_pairing_pincode_mode
+	beq PAIRING_JUSTWORK,module_hci_pairing_just_work_mode
+	beq PAIRING_PASSKEY,module_hci_pairing_passkey
+	beq PAIRING_CONFIRM,module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+module_hci_pairing_pincode_mode:
+	call ssp_disable
+	jam 0,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_just_work_mode:
+	setarg SSP_MODE_JUST_WORK_IO_CAP_DATA
+module_hci_sspairing_mode:	
+	store 3,mem_sp_iocap_local
+	store 1,mem_ssp_mode_flag
+	call ssp_enable
+	jam 1,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_passkey:
+	setarg SSP_MODE_PASSKEY_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+module_hci_pairing_numeric_comparison:
+	setarg SSP_MODE_SSP_PIN_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+//command opcode 0x0d
+module_hci_cmd_set_pincode:
+	fetch 1,mem_module_uart_len
+	sub pdata,16,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_pin_length
+	copy pdata,loopcnt
+	arg mem_pin,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x0e
+module_hci_cmd_set_uart_control_mode:
+	copy rega,contru
+	ifetch 1,contru
+	hfetcht 1,core_uart_ctrl
+	nsetflag blank,4,temp
+	hstoret 1,core_uart_ctrl
+ 	branch module_hci_event_receive_valid_cmd
+
+ 	
+//command opcode 0x0f
+module_hci_cmd_set_uart_baud:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	call string2dec_from_uart
+	setarg uart_clk_24
+	idiv temp
+	call wait_div_end
+	quotient pdata
+module_hci_cmd_set_uart_baud_ok:
+	store uart_baud_len,mem_baud
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	branch uart_set_baud_by_mem
+
+
+//command opcode 0x10
+module_hci_cmd_version_request:
+	arg 2,rega
+	arg mem_soft_version_num,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+module_hci_event_set_cmd_send_response:
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x11
+module_hci_cmd_bt_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_bt_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_bt_disconnect
+
+	
+//command opcode 0x12
+module_hci_cmd_ble_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_ble_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_ble_disconnect
+
+
+
+
+//command opcode 0x26
+module_hci_cmd_set_nvram:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	fetch 2,mem_nv_data_ptr
+	icopy contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x28
+module_hci_cmd_confirm_gkey:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd	
+	ifetch 1,contru
+	fetcht 1,mem_flag_mode_ssp_pin
+	setflag blank,FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,temp
+	set1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,temp
+	storet 1,mem_flag_mode_ssp_pin
+
+	call module_hci_event_receive_valid_cmd
+
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,module_hci_cmd_spp_number_comparison_result_is1
+	rtn
+
+dhkey_not_accept:
+	jam 0,mem_flag_mode_ssp_pin
+	jam BT_CMD_DHKEY_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+
+module_hci_cmd_spp_number_comparison_result_is1:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	branch dhkey_not_accept	
+
+
+//command opcode 0x29
+module_hci_cmd_set_credit_given:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	ifetch 1,contru
+	fetcht 1,mem_credit_given
+	iadd temp,temp
+	storet 1,mem_credit_given
+	rtn
+
+	
+//command opcode 0x2a
+module_hci_cmd_auto_adv:
+	arg 0x40,loopcnt
+	arg mem_le_adv_data_len,contw
+	call clear_mem
+	setarg 0
+	store 1,mem_regb
+	copy rega,contru
+module_hci_cmd_auto_adv_loop:
+	copy contru,pdata
+	store 2,mem_regc
+	call module_hci_cmd_auto_adv_adv_analys
+
+	fetch 1,mem_regb
+	fetcht 1,mem_temp
+	increase 1,temp
+	iadd temp,pdata
+	store 1,mem_regb
+
+	sub pdata,31,null
+	nbranch module_hci_cmd_auto_adv_store_scan,positive
+module_hci_cmd_auto_adv_store_adv:
+	fetcht 1,mem_le_adv_data_len
+	setarg mem_le_adv_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_adv_data_len
+	iadd temp,pdata
+	store 1,mem_le_adv_data_len
+	branch module_hci_cmd_auto_adv_store_common
+module_hci_cmd_auto_adv_store_scan:
+	fetcht 1,mem_le_scan_data_len
+	setarg mem_le_scan_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_scan_data_len
+	iadd temp,pdata
+	store 1,mem_le_scan_data_len
+module_hci_cmd_auto_adv_store_common:
+	fetch 2,mem_contw
+	copy pdata,contw
+	fetch 2,mem_regc
+	copy pdata,contru
+
+	copy temp,loopcnt
+	call uart_copy_rx_bytes_fast
+
+	fetch 1,mem_module_uart_len
+	fetcht 1,mem_regb
+	isub temp,null
+	nbranch  module_hci_cmd_auto_adv_loop,zero
+	branch module_hci_event_receive_valid_cmd
+
+//block of adv len in mem_temp
+module_hci_cmd_auto_adv_adv_analys:
+	ifetch 1,contru
+	store 1,mem_temp
+	ifetch 1,contru
+	store 1,mem_rega
+	rtn
+
+
+//command opcode 0x2b
+module_hci_cmd_power_request:
+	arg 0,temp
+	arg 2,rega
+	fetch 2,mem_module_vdd_quotient
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x2c
+module_hci_cmd_power_set:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_read_vdd_flag
+	setarg 0x00
+	store 2,mem_module_vdd_quotient
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x30
+module_hci_cmd_passkey_entry:
+	ifetch 4,contru
+	store 4,mem_pin
+	jam 4,mem_pin_length
+	jam 0,mem_authentication_passkey_times
+	call module_hci_event_receive_valid_cmd
+	branch authentication_passkey
+
+
+//command opcode 0x31
+module_hci_cmd_set_gpio:
+	fetch 1,mem_module_uart_len
+	bne 3,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	beq HCI_CMD_CONFIG_GPIO_INPUT,module_set_gpio_input
+	beq HCI_CMD_CONFIG_GPIO_OUTPUT,module_set_gpio_output
+	branch module_hci_event_receive_invalid_cmd
+
+module_set_gpio_input:
+	ifetcht 1,contru
+	ifetch 1,contru
+	beq GPIO_INPUT_HIGH_IMPEDANCE,module_set_gpio_high_impedance
+	nsetflag blank,7,temp
+	call gpio_config_input
+	branch module_hci_event_receive_valid_cmd
+
+module_set_gpio_high_impedance:
+	call gpio_set_high_impedance
+	branch module_hci_event_receive_valid_cmd
+	
+module_set_gpio_output:
+	ifetcht 1,contru
+	call gpio_config_output0
+	ifetch 1,contru	
+	isolate1 0,pdata
+	call gpio_out_flag
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x32
+module_hci_cmd_read_gpio:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetcht 1,contru
+	call gpio_get_bit
+	setarg 0x0
+	nsetflag true,0,pdata
+	arg 1,rega
+	branch module_hci_event_set_cmd_send_response
+
+
+//command opcode 0x33
+module_hci_cmd_le_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	copy pdata,temp
+ifdef SECURE_CONNECTION
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,module_le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,module_le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,module_le_set_pairing_mode_secure_passkey
+endif
+	store 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, module_le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,module_le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,module_le_set_pairing_mode_lagacy_passkey
+	branch module_hci_event_receive_invalid_cmd
+		
+ifdef SECURE_CONNECTION	
+module_le_set_pairing_mode_secure_justwork:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_secure_numeric:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_secure_passkey:	
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_displayonly
+endif
+module_le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+module_le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+module_le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x34
+module_hci_cmd_le_set_adv_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_adv_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_adv_data,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x35
+module_hci_cmd_le_set_scan_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_scan_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_scan_data,contw
+	call uart_copy_rx_bytes_fast	
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x36
+module_hci_cmd_le_send_conn_update_req:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_module_uart_len
+	bne 0x08,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	ifetch 8,contru
+	store 8,mem_le_interval_min
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call  ui_ipc_send_cmd
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x37
+module_hci_cmd_set_le_adv_parameter:
+	ifetch 2,contru
+	store 2,mem_le_adv_interval
+	branch module_hci_event_receive_valid_cmd
+	
+	
+//command opcode 0x38
+module_hci_cmd_le_start_pairing:
+	fetch 1,mem_le_pairing_mode
+	branch module_hci_event_receive_invalid_cmd,blank
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_le_enc_state
+	bne FLAG_LE_ENC_NULL,module_hci_event_receive_invalid_cmd
+	call check_51cmd_le_smp_sec_req
+	branch module_hci_event_receive_valid_cmd	
+
+
+//command opcode 0x40
+module_hci_cmd_set_wake_gpio:
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_mcu_wake_pin
+	ifetch 4,contru
+	store 4, mem_module_mcu_wake_delay_us
+	fetcht 1,mem_module_mcu_wake_pin
+	call gpio_config_output
+	call module_set_mcu_wake_pin_low
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x42
+module_hci_cmd_set_tx_power:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_tx_power
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x48
+module_hci_cmd_le_confirm_gkey:
+	ifetch 1,contru
+	beq 0x01,module_hci_cmd_le_confirm_gkey_fail
+	fetch 1,mem_le_secure_connect_state
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_RECEIVE_DHKEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey_ok
+	branch module_hci_event_receive_invalid_cmd		
+module_hci_cmd_le_confirm_gkey_ok:
+	jam FLAG_LE_SC_CONFRIM_GKEY_OK,mem_le_sc_confirm_gkey_flag
+	branch module_hci_event_receive_valid_cmd	
+	
+module_hci_cmd_le_confirm_gkey_fail:
+	call le_send_pairing_confirm_value_failed
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x49
+module_hci_cmd_set_reject_justwork_flag:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	ifetch 1,contru
+	branch classic_bt_clr_reject_justwork_flag,blank
+	branch classic_bt_set_reject_justwork_flag
+
+
+//command opcode 0x51
+module_hci_cmd_reset_chip:
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	hjam 0x01,core_reset // rest YC1021
+	branch loop
+
+
+//command opcode 0x61
+module_hci_cmd_le_set_fixed_passkey:
+	fetch 1,mem_module_uart_len
+	beq 0,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	branch module_hci_cmd_le_set_random_passkey,blank
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 4,contru
+	arg 1000000,temp
+	isub temp,null
+	branch module_hci_event_receive_invalid_cmd,positive
+	store 4,mem_le_tk
+	call le_set_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_le_set_random_passkey:
+	call le_clr_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0xff
+module_hci_test_cmde_close_lpm:
+	jam 0,mem_lpm_mode
+	branch module_hci_event_receive_valid_cmd
+	
+
+/*********************HCI EVENT*********************/
+
+module_hci_event_receive_invalid_cmd:
+	arg 1,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+module_hci_event_receive_valid_cmd:
+	arg 0,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+//event opcode 0x00
+module_hci_event_spp_connect:
+	jam  HCI_EVENT_SPP_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x02
+module_hci_event_le_connect:
+	jam  HCI_EVENT_LE_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x03
+module_hci_event_spp_disconnect:
+	jam  HCI_EVENT_SPP_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x05
+module_hci_event_le_disconnect:
+	jam  HCI_EVENT_LE_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x06
+//input:
+//	temp: success 0; fail 1
+//	rega:Response Content length
+//	regb:Response Content address
+module_hci_event_set_cmd:
+	fetch 1,mem_module_uart_opcode
+	copy pdata,regc
+	jam  HCI_EVENT_CMD_RES,mem_module_uart_opcode
+	setarg 2
+	iadd rega,pdata
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	istoret 1,contwu
+	copy rega,loopcnt
+	copy regb,contr
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+//event opcode 0x07
+module_hci_event_receive_spp_data:
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	jam HCI_EVENT_SPP_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_current_length
+	rtn blank
+	call module_hci_prepare_tx
+	fetch 1,mem_current_length
+	copy pdata,loopcnt
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x08
+module_hci_event_receive_le_data:
+	jam HCI_EVENT_LE_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_module_le_rx_data_len
+	icopy loopcnt
+	increase 2,pdata
+	call module_hci_prepare_tx
+	fetch 2,mem_module_le_rx_data_handle // Attribute handle
+	istore 2,contwu
+	fetch 2,mem_module_le_rx_data_address
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x09
+module_hci_event_enter_standby_mode:
+	jam HCI_EVENT_STANDBY_REP,mem_module_uart_opcode
+module_hci_event_enter_standby_mode_len0:
+	setarg 0
+	call module_hci_prepare_tx
+	branch uartd_send
+
+
+//event opcode 0x0a
+module_hci_event_status_res:
+	jam HCI_EVENT_STATUS_RES,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	
+	call module_hci_read_bt_status
+	
+	fetch 2,mem_ui_state_map	
+	arg UI_STATE_BT_HID_CONN,queue
+	qisolate1 pdata
+	setflag true,3,temp
+
+	arg UI_STATE_BLE_CONNECTED,queue
+	qisolate1 pdata
+	setflag true,5,temp	
+	
+	fetch 1,mem_ui_state_map
+	arg UI_STATE_BT_SPP_CONN,queue
+	qisolate1 pdata
+	setflag true,4,temp	
+	
+	istoret 1,contwu
+	branch uartd_send
+
+//	temp: bit0 3.0 inquiry;bit1 3.0 scan;bit2 ble adv;
+
+module_hci_read_bt_status:
+	arg 0,temp
+	fetch 1,mem_scan_mode
+	arg inq_scan_mode,queue
+	qisolate1 pdata
+	setflag true,0,temp
+	arg page_scan_mode,queue
+	qisolate1 pdata
+	setflag true,1,temp	
+
+	fetch 1,mem_le_adv_enable
+	arg 0,queue
+	qisolate1 pdata
+	setflag true,2,temp	
+	rtn
+
+
+//event opcode 0x0d
+module_hci_event_store_device:
+	jam HCI_EVENT_NVRAM_REP,mem_module_uart_opcode
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,pdata
+	icopy loopcnt
+	call module_hci_prepare_tx
+	fetch 2,mem_nv_data_ptr
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x0e
+module_hci_event_gkey_generate:
+	jam HCI_EVENT_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x0f
+module_hci_event_invalid_packet:
+	jam HCI_EVENT_INVALID_PACKET,mem_module_uart_opcode
+	hfetch 2,core_uart_rxitems
+	arg 0xff,temp
+	call not_greater_than
+	copy pdata,loopcnt
+	call module_hci_prepare_tx
+	call uartd_prepare_rx
+	call uart_copy_rx2tx
+	branch uartd_send
+
+
+//event opcode 0x10
+module_hci_event_passkey_entry_mode:
+	jam  HCI_EVENT_GET_PASSKEY,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x11
+module_hci_event_le_tk:
+	jam HCI_EVENT_LE_TK,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_le_tk
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x14
+module_hci_event_le_pairing_fail:
+	arg FLAG_BLE_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_le_pairing_success:
+	arg FLAG_BLE_PAIRING_SUCCESS,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_fail:
+	arg FLAG_BT_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_success:
+	arg FLAG_BT_PAIRING_SUCCESS,rega
+
+module_hci_event_pairing_completed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam HCI_EVENT_LE_PAIRING_STATE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	copy rega,pdata
+	istore 2,contwu
+	branch uartd_send
+
+
+//event opcode 0x15
+module_hci_event_pause_enc:
+	arg FLAG_EVENT_PAUSE_ENC,regc
+	branch module_hci_event_enc
+
+module_hci_event_start_enc:
+	arg FLAG_EVENT_START_ENC,regc
+
+module_hci_event_enc:
+	jam HCI_EVENT_LE_ENCRYPTION_STATE,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	branch uartd_send
+
+
+//event opcode 0x1d
+module_hci_event_le_gkey:
+	jam HCI_EVENT_LE_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//****************************************************************//
+	//module_hci_prepare_tx
+	//function:write hci packet header
+	//input: pdata-----packet length  (1byte)
+	//input: mem_uart_opcode------opcode (1byte)
+	//output:contwu --- pointer to packet payload
+	//use reg: contwu,pdata
+//****************************************************************//	
+module_hci_prepare_tx:
+	jam 0x02,mem_module_uart_cmd
+	store 1,mem_module_uart_len
+	storet 8,mem_temp
+	bpatch patch1c_2,mem_patch1c
+	call module_set_mcu_wake_pin_high_delay
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 3,mem_module_uart_cmd
+	istore 3,contwu
+	rtn
+
+
+module_set_mcu_wake_pin_high_delay:
+	call module_check_mcu_wake_pin_high
+	rtn true
+module_set_mcu_wake_pin_h_delay:
+	call module_set_mcu_wake_pin_high
+	fetch 4,mem_module_mcu_wake_delay_us
+	rshift2 pdata,pdata
+	rtn blank
+	branch delay
+
+module_set_mcu_wake_pin_high:
+	//call ice_break
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_active
+
+module_check_mcu_wake_pin_high:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_check_active
+
+module_set_mcu_wake_pin_low:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_inactive
+
+
+delay:
+	increase -1,pdata
+	nop 38
+	nbranch delay,blank
+	rtn
+
+/*********************hci command end*********************/
+
+/*********************hci ble receive data start*********************/
+
+//rega is le rx data address
+//regb is le rx data length
+//mem_le_att_handle is write handle
+module_le_receive_data:
+	call module_check_ble_encrypt_state
+	rtn user
+	copy rega,pdata
+	store 2,mem_module_le_rx_data_address
+	copy regb,pdata
+	store 1,mem_module_le_rx_data_len
+	fetch 2,mem_le_att_handle
+	fetcht 2,mem_module_data_write_handle
+	isub temp,null
+	branch module_le_receive_data_ok,zero
+	fetcht 2,mem_module_data_write_handle2
+	isub temp,null
+	nrtn zero
+module_le_receive_data_ok:	
+	store 2,mem_module_le_rx_data_handle
+	branch module_hci_event_receive_le_data
+
+
+/*********************hci ble receive data end*********************/
+
+module_exit_sniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	call module_set_unsniff_task_flag	
+	branch app_bt_sniff_exit
+
+
+module_set_lpm_mult_2:
+	jam 2,mem_lpm_mult
+	rtn
+
+
+
+module_bb_event_timer:
+	branch module_read_vdd_timer
+
+module_read_vdd_timer:
+	fetch 1,mem_module_read_vdd_flag
+	rtn blank
+	fetch 1,mem_module_read_vdd_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_module_read_vdd_count
+	nrtn blank
+	jam FLAG_MODULE_READ_VDD_COUNT,mem_module_read_vdd_count
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	div pdata,0x64
+	call wait_div_end
+	quotient pdata
+	remainder temp
+	store 1,mem_module_vdd_quotient
+	storet 1,mem_module_vdd_remainder
+	rtn	
+	
+
+module_control_air_flow:
+	call check_uart_tx_buff
+	branch app_l2cap_flow_control_enable,positive
+	branch app_l2cap_flow_control_disable
+
+
+/**************module state *******************/
+module_set_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_set_state
+
+module_clear_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_clr_state
+
+module_set_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_set_state
+
+module_clear_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_clr_state
+
+module_set_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_set_state
+	
+module_clear_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_clr_state
+
+module_clr_state:
+	fetch 1,mem_module_flag
+	qset0 pdata
+	store 1,mem_module_flag
+	rtn
+
+module_set_state:
+	fetch 1,mem_module_flag
+	qset1 pdata
+	store 1,mem_module_flag
+	rtn
+	
+/**************module state end*******************/
+
+
+else
+
+endif
Index: YJX_Only24g/FCC_1021S/program/app_mouse.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_mouse.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_mouse.prog	(working copy)
@@ -0,0 +1,2657 @@
+
+
+//define FPGA_DEBUG
+
+
+ifdef COMPILE_MOUSE
+mouse_init:
+	call mouse_setting_config
+	call spi_ncs_enable
+	call mouse_init_sunt
+	call mouse_dpi_config
+	call spi_ncs_disable
+	rtn wake
+	call mouse_cheak_enable_usb
+	call mouse_cb_fuction
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_ENABLE_USB
+	call mouse_wakeup_from_power//,true	// enter 
+ifdef FPGA_DEBUG
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_out_active
+endif
+	rtnmark1 mark_24g
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch mouse_check_reconn_target
+
+
+mouse_delay_4s:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_INIT_DELAY
+	arg 20,loopcnt
+mouse_delay_20ms:
+	setarg 200000
+	call sleep
+	loop delay_10ms
+	rtn
+
+	
+mouse_cheak_enable_usb:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	branch usb_init
+	
+
+mouse_cb_fuction:
+	setarg mouse_le
+	store 2,mem_cb_le_process
+	setarg mouse_send_process
+	store 2,mem_cb_bt_process
+	setarg mouse_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg mouse_idle
+	store 2,mem_cb_idle_process
+	setarg mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+
+	call g24_head_ptr2regc
+	setarg mouse_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	setarg mouse_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	setarg mouse_lpm_before_common
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+	
+	setarg mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg mouse_spi_write_flash_cb
+	store 2,mem_cb_spi_flash_write_complate
+	rtn
+mouse_spi_write_flash_cb:
+mouse_spi_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_SPI2,spid_init
+	branch spid_init2
+
+mouse_setting_config:
+	rtn wake
+	call g24_set_device_addr
+	call mouse_gpio_init
+	call mouse_param_init
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_init_iic
+	bbit1 MOUSE_ENABLE_FLASH,mouse_load_flash_info_cheak
+	rtn
+
+mouse_init_iic:
+	call iic_init_390k
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	ncall clear_eeprom_size_2k,true
+	call mouse_load_eeprom_dpi
+	call mouse_init_environment
+	call mouse_set_24g_addr_eeprom
+	branch iicd_read_eep_data
+
+mouse_wakeup_from_power:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,mouse_wakeup_no_from_power
+	fetch 1,mem_wakup_from_power_flag
+	isolate0 gpio_latch,pdata
+	nrtn true
+mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
+mouse_start_24g_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,g24_auto_pair_start
+	branch g24_check_51cmd_start_24g
+le_mouse_bb_event_connect_complete:
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+mouse_dpi_up:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_mouse_dpi_button_state
+	rtn
+mouse_dpi_config:
+	fetch 1,mem_config_sensor_motion
+	and pdata,0x0f,pdata
+	store 1,mem_mouse_dpi
+	branch mouse_seting_dpi+2
+
+
+mouse_dpi_cheak:
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	nbranch mouse_dpi_up,true
+mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eerpom_dpi
+	bbit1 MOUSE_ENABLE_FLASH,mouse_before_store_flash_cpi
+	rtn
+mouse_before_store_flash_cpi:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	call gpio_config_output				//hold high
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	call gpio_config_output 			//hold high 
+	branch mouse_store_flash_device_info
+
+mouse_seting_dpi:
+	bpatch patch1c_3,mem_patch1c
+	call mosue_dpi_led_blink_init
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_seting_3610_dpi
+	beq P3212,mouse_seting_3212_dpi
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
+mouse_set_cpi2:
+	fetch 1,mem_320x_dpi_2
+	branch mouse_p3205_dpi
+mouse_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	branch mouse_p3205_dpi
+mouse_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+	branch mouse_p3205_dpi
+mouse_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	branch mouse_p3205_dpi
+moue_seting_cpi_count:
+	fetch 1,mem_config_sensor_type
+	rtneq P3065_XY
+	fetch 1 ,mem_mouse_cpi_count
+	increase 1,pdata
+	store 1,mem_mouse_cpi_count
+	rtn
+
+mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+mouse_set_p3212_cpi2:
+	fetch 1,mem_3212_dpi_2
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi1:
+	fetch 1,mem_3212_dpi_1
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi3:
+	fetch 1,mem_3212_dpi_3
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi4:
+	fetch 1,mem_3212_dpi_4
+mouse_p3212_dpi:
+	store 1,mem_mouse_cpi_count
+	lshift8 pdata,pdata
+	copy pdata,rega
+	add pdata,MOUSE_P3212_DPI_XADDRESS,pdata
+  	call twspi_write
+ 	copy rega,pdata
+  	add pdata,MOUSE_P3212_DPI_YADDRESS,pdata
+	branch twspi_write
+	
+mouse_seting_3610_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3610_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3610_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3610_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3610_cpi4
+mouse_set_p3610_cpi2:
+	fetch 1,mem_3610_dpi_2
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi1:
+	fetch 1,mem_3610_dpi_1
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi3:
+	fetch 1,mem_3610_dpi_3
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi4:
+	fetch 1,mem_3610_dpi_4
+mouse_p3610_dpi:
+	store 1,mem_mouse_cpi_count
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_mouse_cpi_count
+mouse_reset_p3610_dpi:
+	add pdata,0x80,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_P3610_DPI_ADDRESS,pdata
+	copy pdata,rega
+	branch mouse_set_sensor_reg
+	
+mouse_p3205_dpi:
+	store 1,mem_mouse_cpi_count
+	call moue_seting_cpi_count
+	fetch 1,mem_mouse_cpi_count
+	setarg MOUSE_DPI_ADDRESS
+	call twspi_read
+	and pdata,0xf8,temp
+	fetch 1,mem_mouse_cpi_count
+	iadd temp,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_DPI_ADDRESS,pdata
+	branch twspi_write
+	
+
+mouse_init_environment:
+	call app_initflag_check
+	branch mouse_eeprom_load_recon_info,zero
+	call mouse_ble_init_address
+	call mouse_store_eeprom_device_info
+	branch app_initflag_store
+
+
+mouse_24g_pairing_button:
+	fetch 2,mem_24g_pairing_timer_count
+	rtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_check_key_gpio
+	rtnne MOUSE_LMR_BUTTON
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	call g24_set0_mem_check_dongle_times
+	
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	call mouse_stop_discovery
+	branch g24_start_pairing_sm1
+	
+ifdef FPGA_DEBUG
+mouse_fpga_rf_working_normal:
+	fetch 1,mem_le_req_rcv
+	and pdata,0xfe,pdata
+	call mouse_fpga_working_fail,blank
+	fetch 1,mem_le_req_rcv
+	and pdata,0xfe,pdata
+	ncall mouse_fpga_working_normal,blank
+//	fetch 1,mem_inquiryscan_rcvcnt
+//	and pdata,0xfe,pdata
+//	call mouse_fpga_working_fail,blank
+//	fetch 1,mem_inquiryscan_rcvcnt
+//	and pdata,0xfe,pdata
+//	ncall mouse_fpga_working_normal,blank
+	rtn
+
+mouse_fpga_working_fail:
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	branch gpio_out_inactive
+
+mouse_fpga_working_normal:
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	branch gpio_out_active
+
+
+
+endif
+
+mouse_idle:
+ifdef FPGA_DEBUG
+	call mouse_fpga_rf_working_normal
+endif
+	call mouse_24g_pairing_button
+	call ui_check_paring_button
+	call mouse_dpi_cheak
+	call mouse_usb_isr
+	call mouse_wheel_check
+	branch mouse_usb_mode
+mouse_usb_isr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	call usb_isr	
+	branch usb_offline_state
+
+mouse_cheak_usb:
+	hfetch 1,core_usb_addr
+	bbit0 7,mouse_usb_no_exsit
+	bbit1 7,mouse_usb_exsit
+	rtn
+mouse_usb_no_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit0 7
+	branch soft_reset_chip
+mouse_usb_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit1 7
+	branch mouse_stop_bluetooth_mode
+	
+mouse_usb_mode:
+	call mouse_cheak_usb
+	hfetch 1,core_usb_addr
+	store 1,mem_usb_addr
+	rtnbit0 7
+	call mouse_clkn_check 
+	fetch 4,mem_btclk_sensor
+	fetcht 1,mem_wire_usb_interval
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	store 4,mem_btclk_sensor
+	call mouse_motion
+	nrtn user
+	jam 4,mem_usb_tx_enable
+	branch mouse_wired_to_usb
+
+mouse_clkn_check:
+	fetcht 4,mem_btclk_sensor
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall mouse_clkn_timeout,positive
+	rtn
+mouse_clkn_timeout:
+	setarg 0
+	store 4,mem_btclk_sensor
+	rtn
+
+
+	
+mouse_wired_to_usb:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	branch mouse_data_push
+mouse_data_push:
+	hfetch 1,core_usb_addr
+	rtnbit0 7
+	jam USB_EP2_MS,mem_usb_ep2_data
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+
+mouse_enable_clock_qdecoder:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_QDECODER,pdata
+	hstore 2,core_clkoff
+	rtn
+
+mouse_param_init:
+	setarg 0x8c00				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	setarg 0x8e7a				//ble attlist start address
+	store 2,mem_ui_le_uuid_table
+	setarg 0x2402
+	store 2,mem_fcomp_mul
+	setarg 0x2580
+	store 3,mem_class
+	jam 3,mem_lpm_mult_timeout
+	jam 8,mem_lpm_overhead
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	setarg 0x0200
+	store 2,mem_lpm_interval
+	jam 0x17,mem_le_local_mtu
+	jam 0x17,mem_le_remote_mtu
+//===========init spi param==============================
+	setarg 0x0a77
+	store 2,mem_spi_init_clk
+//===========default bt reconnect address===================	
+//	jam 1,mem_device_flag
+//	setarg 0x332211
+//	store 3,mem_device1_addr
+//	store 3,mem_device2_addr
+//	store 3,mem_device3_addr
+//	setarg 0x665544
+//	store 3,mem_device1_addr+3
+//	store 3,mem_device2_addr+3
+//	store 3,mem_device3_addr+3
+//	setarg 0x34
+//	store 1,mem_device1_type
+//	store 1,mem_device2_type
+//	store 1,mem_device3_type
+//===========all 16bit uuid==================================
+	setsect 0,0x306
+	setsect 1,0x4440
+	setsect 2,0x10000
+	setsect 3,0x4408
+	store 9,mem_all_uuid_16bits
+	setsect 0,0x1224
+	setsect 1,0x4000
+	setsect 2,0x0
+	istore 5,contw
+//===========features=====================================
+	setsect 0,0x3ffff
+	setsect 1,0x2fe23
+	setsect 2,0x199d9
+	setsect 3,0x20d
+	store 8,mem_features
+//======================================================	
+	setarg 0x012c  				//24g ban pairing timer init
+	store 2,mem_24g_pairing_timer_count
+	call le_modified_name
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+	call mouse_sensor_set_angle
+	branch mouse_select_adc
+
+mouse_sensor_set_angle:
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	jam MOUSE_3CLK_ANGLE,mem_config_sensor_angle
+	rtn true
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+
+mouse_select_adc:
+	fetcht 1,mem_select_adc_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_adc_gpio
+	call gpio_get_bit
+	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
+	rtn true
+	jam ADC_CONFIG_GPIO,mem_adc_config_flag
+	rtn
+	
+	
+mouse_adc_init:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,mouse_adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,mouse_adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,mouse_adc_init_data_io
+	branch mouse_adc_init_data_vinlpm
+	
+mouse_adc_init_data_vinlpm:
+	fetcht 2,mem_2v_adc_vinlpm_data
+	fetch 2,mem_3v_adc_vinlpm_data
+	isub temp,pdata
+	mul32 pdata,20,pdata 
+	div pdata,100
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //vinlpm :2v2 low alter
+	rtn
+mouse_adc_init_data_hvin:
+	fetcht 2,mem_1v_adc_hvin_data
+	fetch 2,mem_5v_adc_hvin_data
+	isub temp,pdata
+	mul32 pdata,230,pdata 
+	div pdata,400
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //hvin :3v3 low alter
+	rtn
+mouse_adc_init_data_io:
+	fetch 2,mem_1v_adc_io_data
+	store 2,mem_adc_reference_voltage  //vio :1v low alter
+	rtn
+mouse_gpio_init:
+	fetcht 1,mem_eeprom_wp_gpio
+	call gpio_config_output
+	call usb_offline_check_init
+	fetcht 1,mem_lbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_rbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_mbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_config_input
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_config_input
+	fetcht 1,mem_fw_button_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_config_low_voltage_alarm_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device1_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device2_led_gpio
+	call gpio_config_output
+	
+	fetcht 1,mem_config_device3_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_dpi_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_config_input
+	
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_config_input	
+
+	fetcht 1,mem_dpi_button_gpio
+	branch gpio_config_input
+
+mouse_wheel_gpio_set_wake:
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	branch gpio_set_wake_by_current_state
+	
+mouse_before_hibernate_wheel_gpio_set:
+	fetcht 1,mem_whee_a_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_b_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_ta_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_tb_data_gpio
+	branch mouse_gpio_set_pupd_by_input
+
+mouse_gpio_set_pupd_by_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	and temp,0x7f,queue
+	hfetch 4,core_gpio_in
+	qisolate1 pdata
+	hfetch 4,core_gpio_pu0
+	qsetflag true,pdata
+	hstore 4,core_gpio_pu0
+	hfetch 4,core_gpio_pd0
+	nqsetflag true,pdata
+	hstore 4,core_gpio_pd0
+	rtn
+	
+mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+//	call gpio_set_before_lpm_common
+	branch mouse_lpm_before_common
+
+
+	
+mouse_process_lpm_before:
+	call mouse_lpm_before_common
+	fetch 1,mem_lpm_current_mult
+	nrtn blank					// 7.5ms, no gpio wakeup
+	branch gpio_clr_wake
+
+mouse_lpm_before_common:
+	call mouse_wheel_check
+	arg MOUSE_SPI1_CLK_GPIO,temp					// set sclk high
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_spi_clk_gpio,true
+	call gpio_config_output
+	call twspi_disable
+
+
+
+	fetcht 1,mem_lbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_rbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_mbutton_gpio
+	call gpio_set_wake_by_current_state
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_fw_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_set_wake
+	
+
+	
+mouse_spi_clk_gpio:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	rtn
+
+mouse_wheel_check:
+	bpatch patch1c_4,mem_patch1c
+	call mouse_t_wheel_scan
+	call mouse_wheel_scan
+	fetch 1,mem_wheel_tb_new_pinlevel
+	fetcht 1,mem_wheel_tb_old_pinlevel
+	store 1,mem_wheel_tb_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	fetch 1,mem_mwheel_b_new_pinlevel
+	fetcht 1,mem_mwheel_b_old_pinlevel
+	store 1,mem_mwheel_b_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	rtn
+mouse_t_wheel_scan:
+	fetch 1,mem_whee_ta_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_wheel_tb_new_pinlevel
+	beq 0x01,mouse_t_wheel_scan_judge1
+	beq 0x02,mouse_t_wheel_scan_judge2
+	fetch 1,mem_wheel_tog
+	bbit1 7,mouse_t_wheel_scan_judge3
+	rtn
+
+mouse_t_wheel_scan_judge1:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge11
+	beq 3,mouse_t_wheel_scan_judge12
+	rtn
+mouse_t_wheel_scan_judge2:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge21
+	beq 3,mouse_t_wheel_scan_judge22
+	rtn
+mouse_t_wheel_scan_judge11:
+	jam 0x82,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge12:
+	jam 0x81,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge21:
+	jam 0x80,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge22:
+	jam 0x83,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge3:
+	fetch 1,mem_wheel_tog
+	set0 7,pdata
+	store 1,mem_wheel_tog
+	beq 0,mouse_t_wheel_scan_judge30
+	beq 1,mouse_t_wheel_scan_judge31
+	beq 2,mouse_t_wheel_scan_judge32
+	beq 3,mouse_t_wheel_scan_judge33
+	rtn
+mouse_t_wheel_scan_judge30:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge31:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge32:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_back
+	rtn
+mouse_t_wheel_scan_judge33:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_back
+	rtn
+mouse_wheel_t_forward:
+	fetch 1,mem_mouse_tz_data_count1
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count1
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count1
+	fetch 1,mem_mouse_tz_data
+	increase 1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+mouse_wheel_t_back:
+	fetch 1,mem_mouse_tz_data_count
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count
+	fetch 1,mem_mouse_tz_data
+	increase -1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+
+
+mouse_wheel_scan:
+	fetch 1,mem_whee_a_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_mwheel_b_new_pinlevel
+	beq 0x01,mouse_wheel_scan_judge1
+	beq 0x02,mouse_wheel_scan_judge2
+	fetch 1,mem_mwheel_tog
+	bbit1 7,mouse_wheel_scan_judge3
+	rtn
+
+mouse_wheel_scan_judge1:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge11
+	beq 3,mouse_wheel_scan_judge12
+	rtn
+mouse_wheel_scan_judge2:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge21
+	beq 3,mouse_wheel_scan_judge22
+	rtn
+mouse_wheel_scan_judge11:
+	jam 0x82,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge12:
+	jam 0x81,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge21:
+	jam 0x80,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge22:
+	jam 0x83,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge3:
+	fetch 1,mem_mwheel_tog
+	set0 7,pdata
+	store 1,mem_mwheel_tog
+	beq 0,mouse_wheel_scan_judge30
+	beq 1,mouse_wheel_scan_judge31
+	beq 2,mouse_wheel_scan_judge32
+	beq 3,mouse_wheel_scan_judge33
+	rtn
+mouse_wheel_scan_judge30:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge31:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge32:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_back
+	rtn
+mouse_wheel_scan_judge33:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_back
+	rtn
+mouse_wheel_forward:
+	jam 0,mem_mouse_z_data_count1
+	fetch 1,mem_mouse_z_data
+	increase 1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_wheel_back:
+	jam 0,mem_mouse_z_data_count
+	fetch 1,mem_mouse_z_data
+	increase -1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+	
+	
+mouse_hid_connected:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+	
+mouse_send_process:
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+mouse_send_data:
+	arg 9,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+	
+mouse_send_empty_data:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_send_data
+
+
+mouse_no_data_timer_init:
+	fetch 2,mem_mouse_no_data_timeout
+	store 2,mem_mouse_no_data_timer
+	rtn
+
+	
+mouse_fill_data_le:
+	bpatch patch1c_5,mem_patch1c
+	arg 7,rega //len
+	fetcht 2,mem_le_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+mouse_motion:
+	bpatch patch1c_6,mem_patch1c
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call mouse_key
+	nrtn user
+	call mouse_no_data_timer_init
+	arg MOUSE_STATUE_UP_FLAG,queue
+	branch mouse_enable_function_flag
+	
+motion_6clk_direction_dispose:
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	branch enable_user
+motion_12clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	branch enable_user
+motion_9clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	call mouse_sensor_data_swap_places
+	branch enable_user
+motion_3clk_direction_dispose:
+	call mouse_sensor_data_swap_places
+	branch enable_user
+mouse_cheak_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3205,mouse_p32xx_sensor_motion
+	beq P3065,mouse_p32xx_sensor_motion
+	beq KA8,mouse_p32xx_sensor_motion
+	beq P3204,mouse_p32xx_sensor_motion
+	beq P3212,mouse_p3212_sensor_motion
+	beq P3610,mouse_p3610_sensor_motion
+	beq P3065_xy,mouse_p32xx_sensor_motion
+	branch mouse_p32xx_sensor_motion
+	
+mouse_clear_sensor_data:
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor_common,blank
+	jam 1,mem_mouse_move_flag
+	rtn
+
+
+mouse_p3212_sensor_motion:
+	call mouse_clear_sensor_data
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_twspi_reset
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	call mouse_read_3212sensor_xy_high
+	store 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion_6clk_direction_dispose
+	beq MOUSE_9CLK_ANGLE,motion_9clk_direction_dispose
+	beq MOUSE_12CLK_ANGLE,motion_12clk_direction_dispose
+	beq MOUSE_3CLK_ANGLE,motion_3clk_direction_dispose
+	rtn
+
+mouse_read_3212sensor_xy_high:
+	setarg 0x12
+	branch twspi_read
+	
+mouse_p3065_judge:
+	beq P3065_ID1,mouse_p32xx_sensor_motion_1
+	branch mouse_twspi_reset
+	
+mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_p3065_judge   
+mouse_p32xx_sensor_motion_1:
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	fetch 1,mem_mouse_x
+	call extsign
+	store 2,mem_mouse_x
+	fetch 1,mem_mouse_y
+	call extsign
+	store 2,mem_mouse_y
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion32xx_6clk_direction_selection
+	beq MOUSE_9CLK_ANGLE,motion32xx_9clk_direction_selection
+	beq MOUSE_12CLK_ANGLE,motion32xx_12clk_direction_selection
+	beq MOUSE_3CLK_ANGLE,motion32xx_3clk_direction_selection
+	rtn
+	
+motion32xx_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_sensor_sdio_low
+	
+mouse_sensor_data_swap_places:
+	fetch 2, mem_mouse_y
+	fetcht 2,mem_mouse_x
+	store 2,mem_mouse_x
+	storet 2,mem_mouse_y
+	rtn
+//input regb  output:pdata
+mouse_p3610sensor_read:
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn	
+mouse_p3610_sensor_motion:
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	arg PAN_REG_MOTION_STAUS,regb
+	call mouse_p3610sensor_read
+	rtnbit0 7
+	arg PAN_REG_PID_L,regb
+	call mouse_p3610sensor_read
+	store 1,mem_sensor_id1
+	bne P3610_ID1,mouse_init_3610sensor_reset
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data,blank
+	jam 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data
+	fetch 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq 0,motion3610_6clk_direction_selection
+	beq 1,motion3610_9clk_direction_selection
+	beq 2,motion3610_12clk_direction_selection
+	beq 3,motion3610_3clk_direction_selection
+	rtn
+
+mouse_3610_smart_select:
+	fetch 1,mem_sensor_smart_flag
+	beq P3610_SMART_ENABLE,mouse_3610_smart_disable
+	beq P3610_SMART_DISABLE,mouse_3610_smart_enable
+	rtn
+
+
+motion3610_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+mouse_read_sensor3610_data:
+	call spi_ncs_enable
+	call mouse_read_sensor_common
+	arg 5,pdata
+	call twspi_read
+	store 1,mem_mouse_xy_h
+	arg 7,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_hi
+	arg 8,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_lo
+	branch spi_ncs_disable
+
+
+mouse_3610_smart_enable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	rtn positive
+	jam P3610_SMART_ENABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+mouse_3610_smart_disable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	nrtn positive
+	jam P3610_SMART_DISABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x8032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+
+
+mouse_read_sensor_common:
+	arg PAN_REG_DELTA_X,pdata
+	call twspi_read
+	store 2,mem_mouse_x
+	arg PAN_REG_DELTA_Y,pdata
+	call twspi_read
+	store 2,mem_mouse_y
+	rtn
+
+mouse_set_qdecoder_x:
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_config_input
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_get_bit
+	rtn true
+	hfetch 1,core_qdec_cntx
+	set1 4,pdata
+	hstore 1,core_qdec_cntx
+	rtn
+
+mouse_hardware_zwheel:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	rtn blank
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+mouse_hardware_zwheel_beforelpm:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_zwheel:
+	fetch 1,mem_mouse_z_data
+	rtn blank	
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+	
+mouse_t_zwheel:
+	fetch 1,mem_mouse_tz_data
+	rtn blank	
+	store 1,mem_mouse_tz
+	jam 0,mem_mouse_tz_data
+	branch enable_user
+	
+mouse_check_key_gpio:
+	arg 0,rega
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega
+	call mouse_check_s_key_gpio
+	copy rega,pdata
+	rtn
+mouse_check_s_key_gpio:
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	setflag true,3,rega
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	setflag true,4,rega
+	rtn
+
+mouse_key:
+	call mouse_check_key_gpio
+	call mouse_set_mult
+	call mouse_24g_key
+	copy rega,pdata
+	fetcht 1,mem_mouse_key
+	store 1,mem_mouse_key	
+	ixor temp,pdata
+	sub pdata,0,null
+	rtn zero
+	branch enable_user
+
+mouse_24g_key:
+	rtnmark0 mark_24g
+	copy rega,pdata
+	rtn blank
+	store 1,mem_mouse_key
+	branch enable_user
+
+//short mult: no key 
+mouse_set_mult:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_set_ble_mult
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_set_bt_mult
+	rtn
+mouse_set_ble_mult:
+	copy rega,pdata
+	nbranch le_set_config_short_mult,blank
+	branch le_clr_config_short_mult
+mouse_set_bt_mult:
+	copy rega,pdata
+	nbranch classic_bt_set_mult_short_flag,blank
+	branch classic_bt_clr_mult_short_flag
+	
+	/* sdio high will cost extra 9mA */
+mouse_sensor_sdio_low:
+	bpatch patch1c_7,mem_patch1c
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_sensor_sdio_low2,true
+	call gpio_get_bit
+	rtn true
+	setarg 0x0a
+	call twspi_read
+	nop 1000
+	branch mouse_sensor_sdio_low
+mouse_sensor_sdio_low2:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	rtn
+
+mouse_spi_sdio_gpio_pollup:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,mouse_spi2_sdio_gpio_pollup
+mouse_spi1_sdio_gpio_pollup:
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+mouse_spi2_sdio_gpio_pollup:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+
+	
+mouse_init_sunt:
+	call mouse_spi_init
+	rtn wake
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_init_3610sensor
+mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,mouse_init_p32xx_id2_judge
+	beq P3065_ID1,mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch mouse_init_sensor
+mouse_twspi_reset:
+	bpatch patch1d_0,mem_patch1d
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,twspi_reset2
+	branch twspi_reset
+
+mouse_init_3610sensor:
+	call mouse_read_sensor_id
+	beq P3610_ID1,mouse_init_p3610
+	call mouse_init_3610sensor_reset
+	branch mouse_init_3610sensor
+	
+mouse_read_sensor_id:
+	setarg PAN_REG_PID_H
+	call twspi_read
+	store 1,mem_sensor_id2
+	setarg PAN_REG_PID_L
+	call twspi_read
+	store 1,mem_sensor_id1
+	rtn
+mouse_init_p32xx_id2_judge:
+	fetch 1,mem_sensor_id2
+	beq P3205_TJ3T_ID2,mouse_3205_3t_init_param
+	beq P3204_TJ3L_ID2,mouse_3204_3l_init_param
+	beq P3212_ID2,mouse_3212_init_param
+	beq PKA8_ID2,mouse_ka8_init_param
+	rtn
+mouse_ka8_init_param:
+	jam KA8,mem_config_sensor_type
+	rtn
+mouse_p3065xy_init_param:
+	jam P3065_XY,mem_config_sensor_type
+	rtn
+mouse_p3065_init_param:
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+mouse_3212_init_param:
+	jam P3212,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x3426
+	call twspi_write
+	setarg 0x0419
+	call twspi_write
+mouse_sensor_enable_wp:
+	setarg 0x0009
+	branch twspi_write
+mouse_sensor_disable_wp:
+	setarg 0x5a09
+	branch twspi_write
+
+mouse_3204_3l_init_param:
+	jam P3204,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x0f0d//
+	call twspi_write
+	setarg 0xe31d//
+	call twspi_write
+	setarg 0xd27d
+	call twspi_write
+	call mouse_32xx_init_param
+	branch mouse_32xx_init_param_1
+	
+mouse_32xx_init_param:
+	setarg 0x351b
+	call twspi_write
+	setarg 0xb428
+	call twspi_write
+	setarg 0x4629
+	call twspi_write
+	setarg 0x962a
+	call twspi_write
+	setarg 0x8c2b
+	call twspi_write
+	setarg 0x6e2c
+	call twspi_write
+	setarg 0x642d
+	call twspi_write
+	setarg 0x5f38
+	call twspi_write
+	setarg 0x0f39
+	call twspi_write
+	setarg 0x323a
+	call twspi_write
+	setarg 0x473b
+	call twspi_write
+	setarg 0x1042
+	branch twspi_write
+mouse_32xx_init_param_1:	
+	setarg 0x2e54
+	call twspi_write
+	setarg 0xf255
+	call twspi_write
+	setarg 0xf461
+	call twspi_write
+	setarg 0x7063
+	call twspi_write
+	setarg 0x5275
+	call twspi_write
+	setarg 0x4176
+	call twspi_write
+	setarg 0xed77
+	call twspi_write
+	setarg 0x2378
+	call twspi_write
+	setarg 0x4679
+	call twspi_write
+	setarg 0xe57a
+	call twspi_write
+	setarg 0x487c
+	call twspi_write
+	setarg 0x777e
+	call twspi_write
+	setarg 0x017f
+	call twspi_write
+	setarg 0x000b
+	call twspi_write
+	setarg 0x007f
+	call twspi_write
+	branch mouse_sensor_enable_wp
+	
+
+mouse_3205_3t_init_param:
+	jam P3205,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x100d//
+	call twspi_write
+	setarg 0xed1d//
+	call twspi_write
+	setarg 0x807d
+	call twspi_write
+	call mouse_32xx_init_param
+	setarg 0x0943
+	call twspi_write
+	branch mouse_32xx_init_param_1
+	
+	
+mouse_init_3610sensor_reset:
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_active
+	call delay_10ms
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_inactive
+	branch delay_10ms
+
+mouse_init_p3610:
+	jam P3610,mem_config_sensor_type
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0d11
+	call sensor_write
+	setarg 0x041b
+	call sensor_write
+	setarg 0x041c
+	call sensor_write
+	setarg 0x0f1d
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+	
+	
+//input-rega
+mouse_set_sensor_reg:
+	setarg 0xba41
+	call sensor_write
+	nop 4000
+	setarg 0xff7f
+	call sensor_write
+	copy rega,pdata
+	call sensor_write
+	setarg 0x007f
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+extsign:
+	rtnbit0 7
+	arg 0xff00,temp
+	ior temp,pdata
+	rtn
+
+extsign_bit3:
+	rtnbit0 3
+	arg 0xf0,temp
+	ior temp,pdata
+	rtn
+
+
+mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_le_connect_statue_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	branch mouse_fill_data_le
+
+mouse_le_send_empty_packet:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_fill_data_le
+
+mouse_priority_bb_event:	
+	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,mouse_le_bb_event_connected
+	beq BT_EVT_BB_CONNECTED,mouse_stop_discovery
+	beq BT_EVT_LE_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_BB_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_SETUP_COMPLETE,mouse_bt_event_setup_complete
+	beq BT_EVT_BUTTON_LONG_PRESSED,mouse_bb_event_discovery_btn
+	beq BT_EVT_HID_HANDSHAKE,mouse_bt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,mouse_bt_hid_connected
+	beq BT_EVT_RECONN_FAILED,mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,mouse_bb_event_reconn_timeout
+	beq BT_EVT_PINCODE_REQ,mouse_bb_event_pincode
+	beq BT_EVT_REMOTE_UNSNIFF,app_start_auto_sniff
+	beq BT_EVT_LE_PAIRING_SUCCESS,mouse_le_pairing_success
+	beq BT_EVT_LE_START_ENC,mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PAIRING_COMPLETE,mouse_le_pairing_complete
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,mouse_irtual_cable_unplug
+	beq BT_EVT_24G_PAIRING_COMPLETE,mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,mouse_24g_attempt_success
+	rtn
+
+
+mouse_le_pairing_complete:
+	branch app_ble_store_reconn_info
+
+mouse_24g_attempt_fail:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch app_enter_hibernate,zero
+	rtn
+mouse_24g_attempt_success:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	rtn
+mouse_24g_pairing_complete:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	fetch 1,mem_config_sensor_type
+	sub pdata,P3610,null
+	call mouse_read_sensor3610_data,zero
+	ncall mouse_read_sensor_common,zero
+
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_24g_address
+	call mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+mouse_set_24g_addr_eeprom:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+mouse_store_flash_24g_address:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	store 1,mem_mouse_24g_addr
+	branch mouse_store_flash_device_info
+	
+
+mouse_le_pairing_success:
+	arg LL_PAIRING_SUCCESS_FLAG,queue
+	branch mouse_le_enable_connect_flag
+mouse_le_ll_start_encryt:
+	jam 2,mem_le_start_encrypt_timer
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+	
+mouse_le_enable_connect_flag:
+	fetch 1,mem_le_connect_statue_flag
+	qset1 pdata
+	store 1,mem_le_connect_statue_flag
+	rtn
+
+mouse_le_disable_connect_flag:
+	fetch 1,mem_le_connect_statue_flag
+	qset0 pdata
+	store 1,mem_le_connect_statue_flag
+	rtn
+mouse_le_clean_connect_flag:
+	jam 0,mem_le_connect_statue_flag
+	rtn
+
+mouse_le_bb_event_connected:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	call mouse_no_data_timer_init
+	branch mouse_stop_discovery
+
+mouse_bb_event_pincode:
+	call pincode_reinit
+	branch app_bt_set_pincode
+mouse_bb_event_reconn_timeout:
+ifdef FPGA_DEBUG
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_out_inactive
+endif
+mouse_bb_event_reconn_failed:
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_start_discovery
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	branch app_bb_hibernate
+
+	
+mouse_bt_hid_connected:
+	branch mouse_hid_connected
+
+mouse_bt_event_setup_complete:
+	rtn
+
+mouse_soft_reset:
+	call mouse_select_device_enable
+	branch soft_reset_chip
+
+mouse_bb_disconnected:
+	bpatch patch1d_1,mem_patch1d
+	call mouse_bb_discon_clear_stack
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_bb_discon_clear_stack:
+	setarg 0
+	store 8,mem_wheel_tb_old_pinlevel
+	istore 4,contw             //clean wheel statue
+	jam 0,mem_mouse_send_blank_timer
+	jam 0,mem_mouse_move_flag
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_ltk_exists
+	rtn
+
+mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch app_bb_hibernate
+
+mouse4_0_event_bb_disconn:
+	call mouse_le_clean_connect_flag
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	branch app_bb_hibernate
+
+mouse_bb_event_timer:
+	call mouse_adc_read
+	call mouse_24g_delay_timer
+	call mouse_ban_24g_pairing_timer
+	call mouse_dpi_led_blink_delay_timer
+	call mouse_statue_up_timer
+	//poll
+	call mouse_statue_cheak_timer
+	call mouse_select_device
+	call mouse_bt_discovery_cheak
+	call mouse_low_voltage_led_timer
+	call mouse_sensor_led_contrl_timer
+	call mouse_check_hid_handshake_timer
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call mouse_check_mouse_state_timer
+	branch mouse_le_enable_att_list_timer
+
+
+
+mouse_sensor_led_contrl_timer:
+	fetch 1,mem_mouse_sensor_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_sensor_timer_count
+	nrtn blank
+	branch mouse_sensor_led_contrl
+mouse_sensor_led_contrl:
+	fetch 1,mem_sensor_led_style
+	rtneq UI_LED_STATE_BLINK_STOP
+	beq UI_LED_STATE_BLINK_DARKING,mouse_sensor_led_blink_state_darking
+mouse_sensor_led_blink_state_lighting:
+	call mouse_sensor_led_on
+	jam UI_LED_STATE_BLINK_DARKING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+mouse_sensor_led_blink_state_darking:
+	call mouse_sensor_led_off
+	jam UI_LED_STATE_BLINK_LIGHTING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+	
+mouse_sensor_led_blink_stop:
+mouse_sensor_reset:
+	setarg 0x8006
+	call twspi_write
+    nop 1000
+	jam 0x00,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_STOP,mem_sensor_led_style
+	branch mouse_init_p32xx_id2_judge
+	
+mouse_p3212sensor_led_on:
+	setarg 0xa006
+	call twspi_write
+	setarg 0xa005
+	branch twspi_write
+mouse_sensor_led_on_global:
+	jam 0,mem_mouse_sensor_timer_count
+mouse_sensor_led_on:
+	fetch 1,mem_config_sensor_type
+	beq P3212,mouse_p3212sensor_led_on
+	setarg 0x0106
+	call twspi_write
+	setarg 0xa105
+	branch twspi_write
+	
+mouse_sensor_led_off_global:
+	jam 0,mem_mouse_sensor_timer_count	
+mouse_sensor_led_off:
+	setarg 0x0906
+	branch twspi_write
+mouse_sensor_start_blink:
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_START,mem_sensor_led_style
+	rtn
+	
+mouse_check_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg mouse_bt_hid_handshake,regb
+	branch timer_single_step
+
+mouse_check_discovery_timeout_timer:	
+	arg mem_mouse_discovery_timer,regc
+	arg mouse_check_discovery_timeout,regb
+	branch timer_single_step_2B
+
+mouse_check_direct_timeout_timer:	
+	arg mem_mouse_direct_timer,regc
+	arg mouse_check_direct_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_no_data_timeout_timer:	
+	arg mem_mouse_no_data_timer,regc
+	arg mouse_check_no_data_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_mouse_state_timer:
+	arg mem_mouse_statue_led_timer,regc
+	arg mouse_statue_led_off,regb
+	branch timer_single_step
+
+
+
+mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_enable_att_list,regb
+	branch timer_single_step
+
+mouse_24g_delay_timer:
+	arg mem_24g_enter_lpm_timer,regc
+	arg mouse_24g_delay,regb
+	branch timer_single_step
+
+mouse_ban_24g_pairing_timer:
+	arg mem_24g_pairing_timer_count,regc
+	arg mouse_ban_24g_pairing,regb
+	branch timer_single_step_2B
+mouse_ban_24g_pairing:
+mouse_24g_delay:
+	rtn
+
+
+mosue_dpi_led_blink_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_DPI_LED_BLINK
+	jam 10,mem_mouse_dpi_led_delay_count  //delay 1s led blink
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	rtn
+
+
+mouse_dpi_led_blink_delay_timer:
+	arg mem_mouse_dpi_led_delay_count,regc
+	arg mouse_dpi_led_setting,regb
+	branch timer_single_step	
+mouse_dpi_led_setting:
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	setarg LED_DPI_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	arg 0,rega
+	fetcht 1,mem_mouse_dpi
+	increase 1,temp
+	storet 1,mem_mouse_blink_count
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	rtn
+	
+mouse_le_enable_att_list:	
+	fetch 1,mem_le_connect_statue_flag
+	rtnbit1 LL_PAIRING_SUCCESS_FLAG
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+
+mouse_check_discovery_timeout:
+	call mouse_stop_discovery
+	branch app_enter_hibernate
+
+mouse_check_direct_timeout:
+	call app_ble_stop_direct_adv
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	branch app_enter_hibernate
+
+mouse_check_no_data_timeout:
+	bmark1 mark_24g,check_51cmd_hibernate
+	branch mouse_disconnect
+
+	
+
+mouse_bb_event_discovery_btn:
+	bpatch patch1d_2,mem_patch1d
+	jam 0,mem_mouse_send_blank_timer
+	call mouse_disconnect
+	call mouse_le_clean_connect_flag
+	branch mouse_start_discovery
+
+
+
+mouse3_0_check_reconn_target:
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	call mouse_reconn_setting_led_gpio
+	jam 0x17,mem_connection_options  //ssp
+	fetch 1,mem_ssp_enable
+	nbranch app_bt_start_reconnect,blank
+	jam 0x04,mem_connection_options  //no ssp
+	branch app_bt_start_reconnect
+	
+mouse4_0_check_reconn_target:
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call mouse_reconn_setting_led_gpio
+	call app_lpm_mult_disable
+	branch check_51cmd_adv
+
+mouse_reconn_setting_led_gpio:
+	setarg LED_RECONNECT_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	branch mouse_setting_led_gpio_comman
+	
+mouse_discover_setting_led_gpio:
+	setarg LED_DISCOVERY_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time	
+mouse_setting_led_gpio_comman:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device_led1
+	beq MODE_BT_DEVICE2,mouse_device_led2
+	beq MODE_BT_DEVICE3,mouse_device_led3
+	rtn
+mouse_device_led1:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+mouse_device_led2:
+	fetch 1,mem_config_device2_led_gpio
+	branch mouse_led_blink
+mouse_device_led3:
+	fetch 1,mem_config_device3_led_gpio
+mouse_led_blink:
+	store 1,mem_temp
+	call mouse_devce_led_off
+	fetch 1,mem_temp
+	store 1,mem_mouse_struct_led_gpio
+	arg 0,rega
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	branch ui_led_blink_start_global
+
+mouse_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+mouse_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+mouse4_0_bb_event_discovery_btn:
+	branch mouse_le_clean_connect_flag
+	
+mouse_bt_hid_handshake:
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_bt_store_reconn_info
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	store 1,mem_hid_handshake_timer_count
+	branch app_bt_enter_sniff
+
+mouse_check_reconn_target:
+	call mouse_cheak_select_device_by_switch
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch mouse_connect_24g_mode,zero
+	fetch 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse3_0_check_reconn_target
+	beq REC_4_MODE,mouse4_0_check_reconn_target
+	branch mouse_start_discovery
+mouse_connect_24g_mode:
+	call mouse_start_24g_mode
+	rtnmark1 mark_24g
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	rtn
+	
+mouse_start_discovery:
+	bpatch patch1d_3,mem_patch1d
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,mouse_start_discovery_norandom
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,mouse_start_discovery_norandom
+	random pdata					//random ble addr
+	store 1,mem_le_lap+1
+mouse_start_discovery_norandom:
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call check_51cmd_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	branch mouse_discover_setting_led_gpio
+
+mouse_stop_discovery:
+	bpatch patch1d_4,mem_patch1d
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call mouse_stop_le_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call mouse_stop_bt3_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_led_blink_stop
+	branch mouse_devce_led_off
+mouse_stop_le_adv:
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	branch check_51cmd_stop_adv
+mouse_stop_bt3_discovery:
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	branch check_51cmd_stop_discovery
+
+	
+
+
+
+mouse_store_remote_bdaddr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STORE_EEPROM_FLAG
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	call mouse_check_device_addr
+mouse_unplug_clean_bdaddr:
+	call mouse_before_store_reconn_info
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_device_info
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eeprom_device_info	
+	rtn
+mouse_store_eeprom_device_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_check_device_addr:
+	fetch 1,mem_record_bt_mode
+	beq REC_4_MODE,mouse_check_le_device_addr
+	beq REC_3_MODE,mouse_check_bt_device_addr
+	rtn
+mouse_check_le_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_le_plap
+	branch mouse_check_bt_device_addr_common
+mouse_check_bt_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_plap
+mouse_check_bt_device_addr_common:
+	store 6,mem_device_addr_temp+1
+	fetch 7,mem_device_addr_temp
+	arg mem_device1_type,contr
+	arg 3,loopcnt
+mouse_check_device_addr_end:
+	ifetcht 7,contr
+	isub temp,null
+	branch mouse_clean_addr,zero
+	increase 22,contr
+	loop mouse_check_device_addr_end
+	rtn
+mouse_before_store_reconn_info:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	fetch 1,mem_record_bt_mode
+	istore 1,rega
+	beq REC_4_MODE,mouse_store_le_device
+	beq REC_3_MODE,mouse_store_bt_device
+	rtn
+	
+mouse_store_le_device:
+	fetch 6,mem_le_plap
+	istore 6,contw
+	arg mem_le_ltk,contr
+	call memcpy16
+	fetch 6,mem_le_lap
+	istore 6,contw
+	rtn
+mouse_store_bt_device:
+	fetch 6,mem_plap
+	istore 6,contw
+	arg mem_link_key,contr
+	branch memcpy16
+
+mouse_clean_addr:
+	increase -6,contr
+	copy contr,contw
+	fetcht 6,mem_device_addr_temp+1
+	increase 3,temp
+	istoret 6,contw
+	rtn
+
+
+
+mouse_eeprom_load_recon_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	call iicd_read_eep_data
+mouse_select_reconn_device:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	ifetch 1,rega
+	store 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse_load_bt_device
+	beq REC_4_MODE,mouse_load_le_device
+	rtn
+
+mouse_load_bt_device:
+	ifetch 6,contr
+mouse_load_bt_device_end:
+	store 6,mem_hci_plap
+	arg mem_link_key,contw
+	call memcpy16
+	branch check_link_key_load
+
+mouse_load_le_device:
+	ifetch 6,contr
+mouse_load_le_device_end:
+	store 6,mem_hci_plap
+	arg mem_le_ltk,contw
+	call memcpy16
+	ifetch 6,contr
+	store 6,mem_le_lap
+	rtn
+
+
+mouse_select_device:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON,mouse_select_device_by_button
+	bbit1 ENABLE_SELECT_DEVICE_BY_SWITCH,mouse_select_device_by_switch
+	branch mouse_select_device_by_combination_key
+
+mouse_select_device_by_combination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_RM_BUTTON,mouse_select_device_commbination_key_down
+mouse_select_device_commbination_key_up:
+	jam 30,mem_combination_select_device_count	//combination key timer init 
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	rtn
+	
+mouse_select_device_commbination_key_down:
+	call mouse_combination_select_device_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	branch mouse_select_device_enable
+
+mouse_combination_select_device_timer:
+	fetch 1,mem_combination_select_device_count
+	rtn blank
+	pincrease -1
+	store 1,mem_combination_select_device_count
+	nrtn blank
+	branch mouse_ready_reconnection_by_button
+	
+mouse_select_device_by_button:
+	fetch 1,mem_config_select_device_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_LONG_BT_BUTTON_FLAG
+	branch mouse_ready_reconnection_by_button
+
+mouse_select_device_button_down:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_select1_device
+	beq MODE_24G_DEVICE,mouse_select2_device
+	rtn
+mouse_cheak_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_cheak_select_24gdevice,true
+mouse_select_btdevice:
+	jam MODE_BT_DEVICE1,mem_device_flag
+	rtn
+mouse_cheak_select_24gdevice:
+	fetch 1,mem_24g_device_number
+	store 1,mem_device_flag
+	rtn
+mouse_select1_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	nbranch mouse_ready_reconnection_by_button,true
+	rtn
+mouse_select2_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+	rtn
+
+
+	
+
+mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_select_device_enable
+//	call p_select_reconn_device
+	branch mouse_set_reconnection
+
+mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_eep_data
+
+mouse_set_reconnection:
+	call mouse_stop_bluetooth_mode
+	call mouse_select_device_disable
+	branch mouse_soft_reset
+mouse_stop_bluetooth_mode:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch mouse_stop_discovery
+
+mouse_disconnect:
+	bpatch patch1d_5,mem_patch1d
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+mouse_irtual_cable_unplug:
+	setarg 0x01
+	store 6,mem_plap
+	jam REC_3_MODE,mem_record_bt_mode
+	branch mouse_unplug_clean_bdaddr
+
+	
+mouse_cancel_reconnect:
+	call mouse_bt_cannel_reconn_enable
+	branch check_51cmd_bb_reconn_cancel
+
+mouse_bt_discovery_by_button:
+	fetch 1,mem_config_bt_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_get_bit
+	branch mouse_bt_discovery_button_down,true
+mouse_bt_discovery_button_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 	
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+mouse_bt_discovery_button_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+	
+mouse_bt_discovery_cheak:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
+mouse_bt_discovery_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,mouse_bt_discovery_commbination_key_down
+mouse_bt_discovery_commbination_key_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+	
+	
+mouse_bt_discovery_commbination_key_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+mouse_bt_discovry_timer:
+	arg mem_combination_ui_button_count,regc
+	arg mouse_long_button_bt_discovry,regb
+	branch timer_single_step
+	
+mouse_long_button_bt_discovry:
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	call mouse_enable_function_flag
+	call app_evt_button_long_pressed
+	branch mouse_bb_event_discovery_btn
+
+
+mouse_cpi_enable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_cpi_disable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_select_device_enable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_select_device_disable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_cannel_reconn_enable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_cannel_reconn_disable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_discovery_button_down_enable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_discovery_button_down_disable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_count_clean:
+	arg 1,temp
+	rtn
+
+mouse_enable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset1 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+
+mouse_disable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset0 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+	
+mouse_adc_read:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	rtn positive
+	jam 0,mem_adc_read_timer
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,mouse_power_down
+	bbit0 0,mouse_adc_no_low_voltage
+	branch mouse_adc_low_voltage
+mouse_adc_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_adc_no_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_disable_function_flag
+
+mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,mouse_low_voltage_led_on
+	beq 4,mouse_low_voltage_led_off
+	beq 6,mouse_low_voltage_led_on
+	beq 8,mouse_low_voltage_led_off
+	rtn
+mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch mouse_low_voltage_led_off
+mouse_low_voltage_led_on:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_on_global
+mouse_low_voltage_led_off:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_off_global
+
+mouse_g24_package_data:
+	call mouse_motion
+	nrtn user
+	arg 7,rega	//length
+	arg mem_mouse_key,regb //tx buff
+	rtn
+	
+mouse_g24_enter_lpm:
+	fetch 1,mem_mouse_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	call mouse_24g_dpi_delay_init,true
+	fetch 1,mem_24g_enter_lpm_timer
+	nrtn blank
+	call mouse_check_key_gpio
+	nrtn blank
+	branch g24_lpm_long_sleep
+
+mouse_24g_dpi_delay_init:
+	fetch 1,mem_dpi_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	jam 10,mem_24g_enter_lpm_timer
+	rtn
+
+	
+mouse_load_flash_info_cheak:
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	branch mouse_store_flash_device_info
+mouse_ble_init_address:
+	fetch 6,mem_le_lap
+	store 6,mem_device1_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device2_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device3_locall_addr
+	rtn
+	
+	
+mouse_load_flash_flag:
+	setarg mem_store_flag
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	iadd temp,pdata
+	arg 2,temp
+	arg mem_store_flag,rega
+	branch spid_read_flash
+
+	
+mouse_load_flash_device_info:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	call spid_read_flash
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	call g24_head_ptr2regc
+	branch g24_store_mem_addr
+
+mouse_store_flash_device_info:	
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	arg mem_mouse_information_start,rega
+	fetch 3,mem_flash_base
+	branch flash_write
+
+mouse_store_eerpom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_load_eeprom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_read_eep_data
+
+mouse_statue_cheak_timer:
+	rtnmark1 mark_24g
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_STATUE_UP
+	fetch 1,mem_mouse_1step_up_count
+	pincrease 1
+	and pdata,0x07,pdata
+	store 1,mem_mouse_1step_up_count
+	rtnne 0x07         //800ms read sensor
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_check_statue_up
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_check_statue_up
+	rtn
+
+
+
+//mosue 
+mouse_check_statue_up:
+	bpatch patch1d_6,mem_patch1d
+	fetch 1,mem_mouse_2step_up_count
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	fetch 1,mem_sensor_squal_reg
+	call sensor_read
+	store 1,mem_sensor_iqc
+	sub pdata,0x10,null
+	branch mouse_statue_up_timer_init,positive
+	jam 0,mem_mouse_2step_up_count
+	rtn
+
+mouse_statue_up_timer_init:
+	jam 30,mem_mouse_2step_up_count
+	rtn
+mouse_statue_up_timer:
+	arg mem_mouse_2step_up_count,regc
+	arg mouse_statue_up,regb
+	branch timer_single_step
+
+mouse_statue_up:
+	fetch 1,mem_sensor_squal_reg
+	call twspi_read
+	sub pdata,0x10,null
+	nrtn positive
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	arg MOUSE_STATUE_UP_FLAG,queue
+	call mouse_disable_function_flag
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_statue_led_timer         // led on3s
+	call mouse_devce_led_off
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_STATUE_UP_THREE_LED,mouse_three_device_statue_up
+mouse_two_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device_blink_led_init		//device_2
+	rtn
+mouse_three_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device2_led_on		//device_2
+	beq MODE_BT_DEVICE3,mouse_device3_led_on		//device_3
+	rtn
+	
+mouse_device_blink_led_init:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+
+
+
+mouse_statue_led_off:
+	jam 0x20,mem_lpm_mult
+	branch mouse_devce_led_off
+
+
+
+mouse_devce1_led_off:
+	fetch 1,mem_config_device1_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_devce2_led_off:
+	fetch 1,mem_config_device2_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+	
+mouse_devce_led_off:
+	call mouse_led_off
+	call mouse_devce1_led_off
+	call mouse_devce2_led_off
+mouse_devce3_led_off:
+	fetch 1,mem_config_device3_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_device1_led_on:
+	fetch 1,mem_config_device1_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device2_led_on:
+	fetch 1,mem_config_device2_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device3_led_on:
+	fetch 1,mem_config_device3_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+
+
+
+mouse_polling_device:
+	bpatch patch1d_7,mem_patch1d
+	fetch 1,mem_reconn_times
+	increase -1,pdata
+	store 1,mem_reconn_times
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_before_store_reconn_info
+	branch mouse_check_reconn_target
+	
+mouse_power_down:
+	call mouse_devce_led_off
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+
+
+
+
+
+
+endif
+
+
+
Index: YJX_Only24g/FCC_1021S/program/app_remote_car.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_remote_car.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_remote_car.prog	(working copy)
@@ -0,0 +1,480 @@
+ifdef COMPILE_REMOTE_CAR
+
+remote_car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	call keyscan_key_init
+	setarg remote_car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg remote_car_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg remote_car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg remote_car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock	
+
+	call g24_head_ptr2regc
+	setarg remote_car_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	
+	setarg remote_car_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	
+	setarg remote_car_process_lpm_before
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+
+	setarg remote_car_event_timer
+	store 2,mem_cb_event_timer
+	
+	setarg remote_car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg remote_car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	setarg remote_car_send_key_data
+	store 2,mem_cb_remote_car_keyscan
+	
+	bpatch patch1e_0,mem_patch1e
+	call remote_car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	fetch 1,mem_remote_car_config_soft_switch_enable
+	store 1,mem_remote_car_hard_soft_switch
+	beq HARD_SWITCH, remote_car_hard_switch_power_on_signal
+	fetch 1,mem_remote_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+remote_car_soft_switch_power_on_init:
+	call remote_car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_remote_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+
+
+remote_car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_remote_car_power_state
+remote_car_soft_switch_power_on_signal:
+	call remote_car_ui_led_init
+//	fetch 1,mem_remote_car_led_map
+	arg 0,rega
+	call ui_led_blink_start_global
+remote_car_connect_24g_mode:
+	branch g24_auto_pair_start
+
+remote_car_power_off_signal:	
+	branch remote_car_ui_led_init
+	
+remote_car_ui_led_init:
+	bpatch patch1e_1,mem_patch1e
+	fetch 1,mem_remote_car_config_connect_led_gpio
+	bne INVALID_PIN_NUM,remote_car_pairing_led_gpio_set
+remote_car_ui_led_init_1:
+	fetcht 1, mem_remote_car_led_map
+	branch gpio_config_output
+remote_car_pairing_led_gpio_set:
+	store 1,mem_remote_car_led_map
+	branch remote_car_ui_led_init_1
+
+
+remote_car_init_environment:
+	call g24_set_device_addr
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	branch remote_car_get_adc_default_data
+
+remote_car_le_before_hibernate:
+//	call keyscan_scan_key
+//	fetch 2, mem_key_value_temp
+//	branch remote_car_in_enter_hibernate,blank
+//	branch app_enter_hibernate
+remote_car_in_enter_hibernate:	
+	call gpio_set_before_lpm_common
+	call remote_car_process_lpm_before
+	branch app_enter_hibernate
+
+remote_car_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+remote_car_g24_enter_lpm:
+	fetch 1,mem_remote_car_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	branch g24_lpm_long_sleep
+
+remote_car_process_auto_pair_exit:
+	rtn
+
+remote_car_key_scan_process:
+	branch keyscan_key_process
+
+remote_car_scale_process_idle:
+	call remote_car_rocker_process
+	call remote_car_24g_status_process
+	branch remote_car_key_scan_process
+
+remote_car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_24G_PAIRING_COMPLETE,remote_car_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,remote_car_24g_attempt_success
+	beq BT_EVT_24G_ATTEMPT_FAIL,remote_car_24g_attempt_fail
+	rtn
+
+remote_car_24g_attempt_fail:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	rtn
+
+remote_car_24g_pairing_complete:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_attempt_success:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_status_process:
+	fetch 1,mem_remote_car_24g_auto_work_step
+	rtneq POWER_ON
+	fetch 1,mem_remote_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_remote_car_24g_status
+remote_car_scale_process_paired:
+	arg 0,rega
+	branch ui_led_off_global
+remote_car_scale_process_shutdown:
+	arg 0,rega
+	call ui_led_off_global
+	call remote_car_ui_led_init
+	branch app_enter_hibernate
+	
+remote_car_event_timer:
+	call app_power_timer
+	branch remote_car_no_data_timer
+
+remote_car_no_data_timer:
+	fetch 1,mem_remote_car_config_timeout_shutdown_enable
+	rtn blank
+	arg mem_remote_car_no_data_timer,regc
+	arg remote_car_scale_process_shutdown,regb
+	branch timer_single_step_2B
+	
+////////////////////////////////////rocker/////////////////////////////
+remote_car_get_adc_default_data:
+	call remote_car_rocker_get_x
+	storet 2,mem_current_vdd_value_default_mid_x
+	call remote_car_rocker_get_y
+	storet 2,mem_current_vdd_value_default_mid_y
+	rtn
+remote_car_rocker_data_get:
+remote_car_rocker_get_x:
+	fetch 2,mem_current_vdd_value_default_mid_x
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio6
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status
+remote_car_rocker_get_y:
+	fetch 2,mem_current_vdd_value_default_mid_y
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio7
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status+1
+	rtn
+remote_car_rocker_get_value:
+	fetch 2,mem_current_vdd_default_range
+	copy pdata,rega
+	fetch 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_rocker_mid_value_adjust
+	fetch 1,mem_rocker_work_status
+	nbranch remote_car_rocker_translate_key,blank
+	nrtn positive
+	fetcht 2,mem_current_vdd_value_default_mid_temp
+	rtn	
+remote_car_rocker_mid_value_adjust:
+	isub temp,pdata
+	branch remote_car_rocker_mid_adjust_positive,positive
+	sub pdata,0,pdata		//negative adjust
+	jam 1,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_mid_adjust_positive:
+	jam 0,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_translate_key:
+	nbranch remote_car_rocker_middle_key,positive
+	fetch 1,mem_rocker_negative_flag
+	nbranch remote_car_rocker_negative_key,blank
+remote_car_rocker_positive_key:	
+	setarg ROCKER_POSITIVE_KEY
+	rtn
+remote_car_rocker_negative_key:
+	setarg ROCKER_NEGATIVE_KEY
+	rtn
+remote_car_rocker_middle_key:
+	setarg ROCKER_MIDDLE_KEY
+	rtn
+remote_car_get_adc_from_gpio6:
+	jam 0x33,mem_adc_channel
+	branch adc_set_mode
+remote_car_get_adc_from_gpio7:
+	jam 0x34,mem_adc_channel
+	branch adc_set_mode
+
+
+remote_car_rocker_process:
+	fetch 1,mem_remote_car_config_check_way
+	rtnne CAR_REMOTE_CHECK_ROCKER	
+remote_car_read_rocker_check_start:
+	bpatch patch1e_2,mem_patch1e
+	jam 1,mem_rocker_work_status
+	call remote_car_rocker_data_get
+	fetch 2,mem_rocker_status
+	fetcht 2,mem_rocker_last_status
+	isub temp,null
+	rtn zero
+	store 2,mem_rocker_last_status
+	call remote_car_rocker_x_to_key
+	branch remote_car_rocker_y_to_key
+	
+remote_car_rocker_x_to_key:
+	fetch 1,mem_rocker_x_status
+	branch rocker_to_queue_set_0,blank
+	increase -1,pdata
+	branch remote_car_rocker_to_key
+remote_car_rocker_y_to_key:
+	fetch 1,mem_rocker_y_status
+	branch rocker_to_queue_set_2,blank
+	increase 1,pdata
+remote_car_rocker_to_key:
+	copy pdata,queue
+	arg 1,rega
+	branch remote_car_send_key_data
+	
+rocker_to_queue_set_0:
+	arg 0,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+rocker_to_queue_set_2:
+	arg 2,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+	
+remote_car_send_key_data:
+	copy rega,pdata
+	store 1,mem_remote_key_status
+	fetch 1,mem_remote_car_24g_auto_work_step
+	beq POWER_ON,g24_auto_pair_start
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	fetch 1,mem_remote_key_status
+	branch remote_car_key_is_release,blank
+remote_car_key_is_press:
+	bpatch patch1e_3,mem_patch1e
+	arg 0,rega
+	call ui_led_on_global
+remote_car_attack_key_press:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_press
+	beq 5,remote_car_send_attack_key5_press
+	beq 6,remote_car_send_fire_key6_press
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_press:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_is_press
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_press
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_is_press
+	rtn
+	
+remote_car_single_motor_key_is_press:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_press
+	beq 1,remote_car_send_motor1_key1_press
+	beq 2,remote_car_send_motor2_key2_press
+	beq 3,remote_car_send_motor2_key3_press
+	rtn
+	
+remote_car_double_motor_key_press:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_press
+	beq 1,remote_car_send_double_motor_key1_press
+	beq 2,remote_car_send_double_motor_key2_press
+	beq 3,remote_car_send_double_motor_key3_press
+	rtn
+
+remote_car_key_is_release:
+	bpatch patch1e_4,mem_patch1e
+	arg 0,rega
+	call ui_led_off_global
+remote_car_attack_key_release:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_rel
+	beq 5,remote_car_send_attack_key5_rel
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_release:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_rel
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_rel
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_rel
+	rtn
+
+remote_car_device_layout_select:
+	fetch 1,mem_remote_car_config_layout
+	fetcht 1,mem_remote_car_config_key_map
+	ior temp,pdata
+	rtn
+
+//cross key,control front-back motor layout
+remote_car_send_motor1_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor1_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_press:	//left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key3_press:	//right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+
+//cross key,control left-right motor layout
+remote_car_send_double_motor_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key2_press:	//left
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key3_press:	//right
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+//attack motor control
+remote_car_send_attack_key4_press:	//attack left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+remote_car_send_attack_key5_press:	//attack right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_fire_key6_press:
+	jam 0x01,mem_remote_car_24g_fire_send_payload
+	branch remote_car_send_attack
+
+remote_car_single_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_rel
+	beq 1,remote_car_send_motor1_key1_rel
+	beq 2,remote_car_send_motor2_key2_rel
+	beq 3,remote_car_send_motor2_key3_rel
+	rtn
+
+remote_car_double_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_rel
+	beq 1,remote_car_send_double_motor_key1_rel
+	beq 2,remote_car_send_double_motor_key2_rel
+	beq 3,remote_car_send_double_motor_key3_rel
+	rtn
+
+remote_car_send_motor1_key0_rel:
+remote_car_send_motor1_key1_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_rel:
+remote_car_send_motor2_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_double_motor_key0_rel:
+remote_car_send_double_motor_key1_rel:
+remote_car_send_double_motor_key2_rel:
+remote_car_send_double_motor_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_attack_key4_rel:
+remote_car_send_attack_key5_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_key:
+	arg mem_remote_car_24g_motor_packet,rega
+	branch queue_push
+remote_car_send_attack:
+	arg mem_remote_car_24g_fire_packet,rega
+	branch queue_push
+
+remote_car_g24_package_data:
+	fetch 1,mem_remote_car_24g_pair_success_flag
+	beq WORK_PAIRED,remote_car_g24_send_empty
+	arg mem_remote_car_24g_tx_temp,rega
+	call queue_pop
+	nbranch remote_car_moto_data,user
+remote_car_g24_package_data_continue:
+	arg mem_remote_car_24g_tx_temp,contr
+	ifetch 1,contr
+	copy pdata,rega
+	arg mem_remote_car_24g_tx_temp+1,regb
+	//rega: length
+	//regb: tx buffer
+	rtn
+	
+remote_car_g24_send_empty:
+	jam 0,mem_remote_car_24g_pair_success_flag
+	enable user
+	arg 1,rega
+	arg mem_remote_car_empty_packet,regb
+	rtn
+	
+remote_car_moto_data:
+	fetch 1,mem_remote_car_24g_tx_temp+3	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,remote_car_moto_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,remote_car_moto_data_next
+	rtn
+remote_car_moto_data_next:
+	fetch 1,mem_remote_car_24g_tx_temp+6	//data moto1
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+8	//data moto2
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+10	//data moto3
+	nbranch remote_car_moto_data_enable_user,blank
+	rtn
+remote_car_moto_data_enable_user:
+	enable user
+	branch remote_car_g24_package_data_continue
+
+endif
+
+
+
+
Index: YJX_Only24g/FCC_1021S/program/app_shutter.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_shutter.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_shutter.prog	(working copy)
@@ -0,0 +1,1170 @@
+
+ifdef COMPILE_SHUTTER
+
+shutter_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	setarg shutter_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+
+	setarg shutter_process_lpm_before
+	store 2,mem_cb_before_lpm
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg shutter_process_idle
+	store 2,mem_cb_idle_process
+		
+	setarg shutter_process_bb_event 
+	store 2,mem_cb_bb_event_process
+
+	setarg shutter_le_scale_lpm_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg ble_shutter_receive_data
+	store 2,mem_cb_att_write
+
+	setarg shutter_le_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg shutter_key_change
+	store 2,mem_cb_shutter_keycan
+
+	setarg shutter_soft_swtich_power_on
+	store 2,mem_shutter_soft_switch_poweron_callback_function
+	setarg shutter_soft_swtich_power_off
+	store 2,mem_shutter_soft_switch_poweroff_callback_function
+
+	call le_modified_name
+	call shutter_load_bluetooth_config_by_user_config
+	call shutter_init_bluetooth_config
+	call shutter_init_param	
+	call keyscan_key_init
+	call shutter_load_buffer_config_form_DataRom
+	call queue_init
+	call ui_led_init_global
+	call shutter_load_bluetooth_config
+	call shutter_load_bluetooth_config_by_eeprom
+	
+	bpatch patch1e_5,mem_patch1e
+	call classic_shutter_load_reconn_info
+	fetch 1, mem_shutter_hard_soft_switch_case
+	beq HARD_SWITCH, shutter_hart_swtich_power_on
+	fetch 1,mem_shutter_soft_switch_button_gpio
+	store 1,mem_ui_button_gpio
+	branch ui_soft_swtich_init
+
+/**************hard swtich function**************/
+shutter_hart_swtich_power_on:
+	jam UI_BUTTON_GPIO_DISABLE,mem_ui_button_gpio
+	jam SS_STATE_POWER_ON,mem_shutter_soft_switch_power_state
+	branch shutter_start_reconnect
+/****************************/
+
+/**************lpm lock callback function**************/
+shutter_le_scale_lpm_lock:
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_OFF,app_get_lpm_wake_lock
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	nbranch app_get_lpm_wake_lock,blank
+	branch app_put_lpm_wake_lock
+/****************************/
+
+/**************c512bt event callback function*************/
+shutter_process_bb_event:
+	copy regc,pdata
+/**************classic shutter event*****************/
+	beq BT_EVT_BB_CONNECTED,classic_shutter_process_baseband_connect
+	beq BT_EVT_BB_DISCONNECTED,classic_shutter_process_baseband_disconnect
+	beq BT_EVT_RECONN_FAILED,classic_shutter_process_reconnect_failed
+	beq BT_EVT_SETUP_COMPLETE,classic_shutter_process_setup_complete
+	beq BT_EVT_HID_CONNECTED,classic_shutter_process_hid_connect
+	beq BT_EVT_HID_DISCONNECTED,classic_shutter_process_hid_disconnect
+	beq BT_EVT_HID_HANDSHAKE,classic_shutter_process_hid_handshake
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,classic_shutter_process_reconnect_page_timeout
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,classic_shutter_process_virtual_cable_unplug
+	beq BT_EVT_REMOTE_UNSNIFF,classic_shutter_process_remote_unsniff
+	beq BT_EVT_STORE_NVRAM,classic_shutter_process_store_reconnect_information
+/**************ble shutter event*****************/
+	beq BT_EVT_LE_CONNECTED,ble_shutter_process_baseband_connect
+	beq BT_EVT_LE_DISCONNECTED,ble_shutter_process_baseband_disconnect
+	beq BT_EVT_LE_RECONNECT_COMPLETE,ble_shutter_process_reconnect_complete
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,ble_shutter_process_parse_connect_parameter_update_response
+/***************soft swtich event****************/
+	beq BT_EVT_BUTTON_LONG_PRESSED,shutter_process_soft_swtich_button_long_press
+	beq BT_EVT_BUTTON_DOWN,shutter_process_soft_swtich_button_down
+	beq BT_EVT_BUTTON_UP,shutter_process_soft_swtich_button_up
+	rtn
+/****************************/
+
+
+/******************classic shutter event**********************/
+classic_shutter_process_baseband_connect:
+	jam 0,mem_classic_shutter_hid_disconn_count
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	rtn
+
+
+classic_shutter_process_baseband_disconnect:
+	call classic_shutter_disconnect_clear_flag
+	branch classic_shutter_process_reconnect_failed
+
+classic_shutter_disconnect_clear_flag:
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_unsniff2sniff_timer_count
+	jam 0,mem_classic_shutter_cable_unplug_conut
+	jam 0,mem_classic_shutter_hid_disconn_count
+	branch queue_init
+
+
+classic_shutter_process_reconnect_failed:
+	call app_disconn_reason_clear
+	branch shutter_start_bluetooth_discovery
+
+
+classic_shutter_process_setup_complete:
+	call shutter_stop_bluetooth_discovery
+	branch app_led_stop_blink
+
+
+classic_shutter_process_hid_connect:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn	
+
+
+classic_shutter_process_hid_disconnect:
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+	store 1,mem_classic_shutter_hid_disconn_count
+	rtn
+
+
+classic_shutter_process_hid_handshake:
+	fetch 1,mem_app_handshake_flag
+	rtneq APP_HANDSHAKE_DONE
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_store_reconn_info
+	call shutter_stop_bluetooth_discovery
+	call app_led_off
+	branch app_bt_enter_sniff
+
+
+classic_shutter_process_reconnect_page_timeout:
+	branch classic_shutter_process_reconnect_failed
+
+
+classic_shutter_process_virtual_cable_unplug:
+	setarg FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+	store 1,mem_classic_shutter_cable_unplug_conut
+	rtn
+
+
+classic_shutter_process_remote_unsniff:
+	branch app_start_auto_sniff
+
+
+/***************classic shutter store reconn info***********************/
+classic_shutter_process_store_reconnect_information:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_write_eep_data
+
+classic_shutter_load_reconn_info:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 1,mem_nv_data_number
+	rtn blank
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_read_eep_data
+/**************************************/
+
+/******************ble shutter event**********************/
+ble_shutter_process_baseband_connect:
+	call shutter_stop_bluetooth_discovery
+	setarg 0
+	store 2,mem_ble_shutter_reconn_timer
+	branch app_led_off
+
+
+ble_shutter_process_baseband_disconnect:
+	call queue_init
+	jam 0,mem_ble_shutter_enable_notify
+	branch shutter_start_reconnect
+
+
+ble_shutter_process_reconnect_complete:
+	call queue_init
+	jam 1,mem_ble_shutter_enable_notify
+	fetch 8,mem_ble_shutter_interval_min
+	store 8,mem_le_interval_min
+	call app_lpm_mult_enable
+	branch le_l2cap_tx_update_req
+
+
+ble_shutter_process_parse_connect_parameter_update_response:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 8,mem_ble_shutter_interval_min_new
+	rtn blank
+	store 8,mem_le_interval_min
+	branch le_l2cap_tx_update_req
+/**************************************/
+
+/******************soft swtich event**********************/
+shutter_process_soft_swtich_button_long_press:
+	branch ui_soft_switch_botton_long_press
+
+shutter_process_soft_swtich_button_down:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	call shutter_store_currenct_led_state
+	branch app_led_on
+	
+shutter_store_currenct_led_state:
+	jam 1,mem_shutter_soft_swtich_botton_down
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contw
+	arg mem_shutter_led_struct_app_led,contr
+	branch memcpy
+	
+shutter_process_soft_swtich_button_up:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_ON,shutter_load_currenct_led_state
+	branch ui_soft_switch_botton_up
+
+shutter_load_currenct_led_state:
+	fetch 1,mem_shutter_soft_swtich_botton_down
+	rtnne 1
+	jam 0,mem_shutter_soft_swtich_botton_down
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_led_off
+	bbit1 UI_STATE_BLE_CONNECTED,app_led_off
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contr
+	arg mem_shutter_led_struct_app_led,contw
+	branch memcpy
+	
+/**************************************/
+
+
+shutter_le_bb_event_timer:
+/**************shutter check sleep timer**********************/
+	call shutter_check_sleep_timer
+/************************************/
+/**************soft reset power off timer**********************/
+	call shutter_check_power_off_timer
+/************************************/
+/**************classic shutter timer**********************/
+	call classic_shutter_check_unplug_timer
+	call classic_shutter_hid_handshake_timer
+	call classic_shutter_hid_disconn_timer
+/************************************/
+/**************ble shutter timer**********************/
+	branch ble_shutter_reconn_timer
+/************************************/
+
+/**************shutter check sleep timer**********************/
+shutter_check_sleep_timer:
+	arg mem_shutter_sleep_timer,regc
+	arg shutter_sleep_timeout,regb
+	branch timer_single_step_2B
+shutter_sleep_timeout:
+	jam SS_STATE_POWER_OFF,mem_shutter_soft_switch_power_state
+	call app_led_off
+	call shutter_disconnect_current_connection
+	branch shutter_wait_power_off
+
+/**************soft reset power off timer**********************/
+shutter_check_power_off_timer:
+	arg mem_shutter_power_off_timer,regc
+	arg shutter_check_power_off_timeout,regb
+	branch timer_single_step
+
+shutter_check_power_off_timeout:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_wait_power_off
+	bbit1 UI_STATE_BT_CONNECTED,shutter_wait_power_off
+	fetch 1,mem_shutter_led_struct_app_led_type
+	beq UI_LED_STATE_BLINK_START,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_LIGHTING,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_DARKING,shutter_wait_power_off
+	branch app_enter_hibernate
+/************************************/
+
+/**************classic shutter timer**********************/
+classic_shutter_check_unplug_timer:
+	arg mem_classic_shutter_cable_unplug_conut,regc
+	arg classic_shutter_unplug_timeout,regb
+	branch timer_single_step
+	
+classic_shutter_unplug_timeout:
+	fetch 1,mem_CONTROL_tasks
+	set1  L2CAP_DISCONNECT_INTERRUPT, pdata
+	set1  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks	
+	rtn
+
+classic_shutter_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg classic_shutter_process_hid_handshake,regb
+	branch timer_single_step
+
+classic_shutter_hid_disconn_timer:
+	arg mem_classic_shutter_hid_disconn_count,regc
+	arg app_bt_disconnect,regb
+	branch timer_single_step
+
+/************************************/
+
+/**************ble shutter timer**********************/
+ble_shutter_reconn_timer:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	arg mem_ble_shutter_reconn_timer,regc
+	arg shutter_start_bluetooth_discovery,regb
+	branch timer_single_step_2B
+/************************************/
+
+shutter_process_idle:
+	call shutter_send_data_to_master
+	branch keyscan_key_process
+
+
+shutter_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+shutter_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch shutter_process_lpm_before
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+
+/****************shutter bluetooth control**********************/
+shutter_stop_bluetooth_discovery:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_stop_bluetooth_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_stop_bluetooth_discovery
+	rtn
+
+ble_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_ble_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_ble_stop_adv
+	
+classic_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_classic_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_stop_discovery
+
+shutter_start_bluetooth_discovery:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_start_discovery
+	rtn
+	
+classic_shutter_start_discovery:
+	fetch 2,mem_classic_shutter_discovery_timeout,
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_start_discovery_short
+
+ble_shutter_start_discovery:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 2,mem_ble_shutter_discovery_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	fetch 2,mem_ble_shutter_discovery_adv_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_discovery_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+
+shutter_start_reconnect:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_reconnect
+	bbit1 BLE_SHUTTER,ble_shutter_start_reconnect
+	rtn
+
+classic_shutter_start_reconnect:
+	call app_check_reconn_target
+	branch shutter_start_bluetooth_discovery,blank
+	call app_led_on	
+	call app_bt_stop_discovery
+	branch app_bt_start_reconnect	
+
+ble_shutter_start_reconnect:
+	fetch 2,mem_ble_shutter_reconn_timer
+	fetcht 2,mem_ble_shutter_reconn_timeout
+	storet 2,mem_ble_shutter_reconn_timer
+	nrtn blank
+	fetch 2,mem_ble_shutter_reconn_dav_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_reconn_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+//pdata:adv interval value
+shutter_ble_adv_interval_set:
+	store 2,mem_lpm_interval
+	increase -4,pdata
+	store 2,mem_le_adv_interval
+	rtn
+
+
+shutter_disconnect_current_connection:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch shutter_stop_bluetooth_discovery
+/**************************************/
+
+/******************classic shutter load reconnect*********************/
+app_check_reconn_target:
+	fetch 1,mem_nv_data_number
+	copy pdata,loopcnt
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+app_check_reconn_target_loop:
+	ifetch 2,rega
+	beq 0,found_reconn_device
+	increase NV_DATA_LEN,rega
+	loop app_check_reconn_target_loop
+	branch enable_blank
+
+found_reconn_device:
+	ifetch 6,contr
+	store 6,mem_hci_plap
+	increase 10,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	call check_link_key_load
+	branch disable_blank
+	
+/**************************************/
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,can send data
+shutter_check_data_enable:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,shutter_check_bt_data_enable
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_check_ble_data_enable
+	rtn
+
+shutter_check_bt_data_enable:
+	fetch 1,mem_hid_interrupt_state
+	rtnne 0x3f	
+	branch enable_user
+
+shutter_check_ble_data_enable:
+	fetch 1,mem_ble_shutter_enable_notify
+	rtn blank
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,bluetooth disconnect
+shutter_check_bluetooth_conn:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BT_CONNECTED
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_change_bluetooth_status_bt_disconn
+	bbit1 BLE_SHUTTER,ble_shutter_change_bluetooth_status_bt_disconn
+	rtn
+	
+classic_shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_scan_mode
+	rtnne 0x03
+	branch shutter_start_reconnect
+	
+ble_shutter_change_bluetooth_status_bt_disconn:
+	branch shutter_start_reconnect
+
+/////////////////////////////////////////////////////////////////////////
+shutter_check_send_data:
+	disable user2
+	fetch 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+
+	call shutter_check_bluetooth_conn
+	branch shutter_change_bluetooth_status_bt_disconn,user
+	
+	call shutter_check_data_enable
+	nrtn user
+	enable user2
+	rtn
+
+//queue = key index
+//rega =1 press, =0 release
+shutter_key_change:
+	call shutter_check_send_data
+	nrtn user2
+	deposit rega
+	branch shutter_key_release,blank
+shutter_key_press:
+	call app_led_on
+	arg mem_key0_press,regc
+	branch push_queue_press_or_release
+
+shutter_key_release:
+	call app_led_off
+	arg mem_key0_release,regc
+
+push_queue_press_or_release:
+	arg MAX_QUEUE_NUM,pdata
+	imul32 queue,pdata
+	iadd regc,regc
+	
+//input:regc the address that want push to queue buffer
+push_buffer_in_queue:
+	ifetch 1,regc
+	rtn blank
+	call queue_push_one_byte
+	increase 1,regc
+	branch push_buffer_in_queue
+
+
+shutter_send_data_to_master:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,pop_queue_to_ble_data
+	bbit1 UI_STATE_BT_CONNECTED,pop_queue_to_classic_data
+	rtn
+
+pop_queue_to_ble_data:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_BLE_DATA_BUFFER,pdata
+	arg mem_ble_data_buffer1,temp
+	iadd temp,contr
+le_send_notify_from_list:
+	ifetch 1,contr	//length 
+	copy pdata,rega
+	ifetcht 2,contr	//handle
+	call store_contr
+	call le_att_malloc_tx_notify
+	copy rega,loopcnt
+	call get_contr
+	branch memcpy
+
+
+pop_queue_to_classic_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_CLASSIC_DATA_BUFFER,pdata
+	arg mem_classic_data_buffer1,temp
+	iadd temp,contr
+	ifetch 5,contr
+	store 5,mem_classic_data_buffer
+classic_send_hid_data:
+	fetch 1,mem_classic_data_buffer
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0xa1
+	istore 1,contw
+	fetch 4,mem_classic_data_buffer + 1
+	istore 9,contw
+	rtn
+
+///////////queue function////////////
+//input:pdata is data that want push
+queue_push_one_byte:
+	store 1,mem_pdatatemp
+	arg mem_pdatatemp,rega
+	branch queue_push
+
+queue_pop_one_byte:
+	arg mem_pdatatemp,rega
+	call queue_pop
+	nrtn user
+	fetch 1,mem_pdatatemp
+	rtn
+
+///////////queue function ending////////////
+ble_shutter_receive_data:
+	fetch 2,mem_le_att_handle
+	beq GATT_KEYBOARD_WRITE_HANDLE,ble_shutter_process_reconnect_complete
+	rtn
+
+shutter_init_param:
+	setarg 0x02
+	store 1,mem_shutter_power_off_timeout
+/////////////ble connect interval//////////////
+	setarg 0x00200008
+	store 4,mem_ble_shutter_interval_min		//set min interval is 10ms,set max interval is 40ms
+	setarg 0x012c0005
+	istore 4,contw
+///////////////////////////////////////
+//////////////////MTU/////////////
+	jam 0x17,mem_le_local_mtu
+///////////////////////////////////////
+////////////////justwork/////////
+	setarg 0x1b
+ 	store 2,mem_le_pairing_handle
+ 	call le_set_config_fixed_ltk
+	call le_set_fixed_ltk
+	call le_set_justwork
+	branch le_set_config_read_authentication
+///////////////////////////////////////
+
+shutter_load_buffer_config_form_DataRom:
+///////load data Rom/////////
+	arg BLE_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_ble_data_buffer1,contw
+	arg BLE_SHUTTER_KEY_VALUE_LIST,contr
+	call memcpy_fast
+	arg BT_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_classic_data_buffer1,contw
+	arg CLASSIC_SHUTTER_KEY_VALUE_LIST,contr
+	branch memcpy_fast	
+
+
+shutter_load_ble_gatt_form_DataRom:
+	arg BLE_GATT_LIST_SIZE,loopcnt
+	arg BLE_SHUTTER_GATT_LIST,contr
+	branch memcpy_fast
+
+
+shutter_load_bt_sdp_form_DataRom:
+	arg BT_SDP_LIST_SIZE,loopcnt
+	arg CLASSIC_SHUTTER_SDP_LIST,contr
+	branch memcpy_fast
+	
+
+///////////////////////////////gpio config////////////////////////////////////
+shutter_init_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio3
+	branch shutter_init_bluetooth_config_gpio_input
+	
+shutter_init_bluetooth_config_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	branch gpio_config_input_nowake
+	
+
+shutter_load_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	call shutter_load_bluetooth_config_label
+	branch shutter_load_bluetooth_config_by_otp
+
+shutter_load_bluetooth_config_label:
+	arg 0,rega
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,0,rega
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,1,rega
+	fetch 1,mem_shutter_config_select_gpio3
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,2,rega
+	copy rega,pdata
+	store 1,mem_shutter_config_label
+	fetch 1,mem_shutter_config_size
+	imul32 rega,pdata
+	fetcht 2,mem_shutter_config_otp_base_address		//base address
+	iadd temp,pdata
+	store 2,mem_shutter_config_otp_addr
+	rtn
+
+shutter_load_bluetooth_config_read_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	call gpio_get_bit
+	nbranch enable_blank,true
+	branch disable_blank
+	
+
+shutter_check_load_config_flag:
+	call disable_user
+	fetch 1,mem_shutter_config_user_size
+	nrtn blank
+	fetch 1,mem_shutter_config_enable
+	rtn blank
+	branch enable_user
+
+
+shutter_load_bluetooth_config_by_otp:
+	call otp_enable_chgpump
+	fetch 2,mem_shutter_config_otp_addr
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_load_bluetooth_config_store_name:
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_le_name_len
+	call memcpy_fast
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_local_name_length
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_shutter_key_num
+	ifetch 1,contr
+	store 1,mem_shutter_hard_soft_switch_case
+	rtn
+
+
+shutter_load_bluetooth_config_by_eeprom:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	arg 3,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	copy pdata,regb
+	arg mem_shutter_config_eeprom_start_flag,rega
+	call iicd_read_eep_data
+	fetcht 2,mem_shutter_config_eeprom_start_flag
+	setarg SHUTTER_EEPROM_CONFIG_CRC
+	isub temp,null
+	nrtn zero
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	copy pdata,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	add pdata,3,regb
+	arg mem_shutter_config_data_temp,rega
+	call iicd_read_eep_data
+	branch shutter_store_config
+
+shutter_load_bluetooth_config_by_user_config:
+	fetch 2,mem_shutter_config_user_otp_address
+	rtn blank
+	call otp_enable_chgpump
+	arg 1,temp
+	arg mem_shutter_config_user_size,rega
+	call otpd_read_data
+	
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	
+	fetch 2,mem_shutter_config_user_otp_address
+	pincrease 1
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_user_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_store_config:
+	call shutter_load_bluetooth_config_store_name
+shutter_load_bluetooth_config_custom:
+	ifetch 2,contr
+	rtn blank
+	copy pdata,contw
+	ifetcht 1,contr
+	copy temp,loopcnt
+	call memcpy
+	branch shutter_load_bluetooth_config_custom
+///////////////////////////////////////////////////////////////////
+
+//////////////////////////random mac address//////////////////////////////
+shutter_random_mac_addr:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_read_eep_data
+	fetch 1,mem_shutter_random_mac_data_temp
+	bne 1,shutter_write_random_mac_addr_to_eeprom
+shutter_write_random_mac_addr_to_eeprom:
+	setarg 1
+	store 1,mem_shutter_random_mac_data_temp
+	force 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_write_eep_data
+shutter_write_random_mac_addr:
+	fetch 3,mem_shutter_random_mac_data_temp + 1
+	store 3,mem_lap
+	store 3,mem_le_lap
+	rtn
+	
+/////////////////////////////////////////////////////////////////
+shutter_soft_swtich_power_on:
+	branch shutter_start_reconnect
+
+
+shutter_soft_swtich_power_off:
+	arg 0,rega
+	arg mem_shutter_power_off_led_style,regc
+	call ui_led_set_style_global
+	call shutter_disconnect_current_connection
+shutter_wait_power_off:
+	fetch 1,mem_shutter_power_off_timeout
+	store 1,mem_shutter_power_off_timer
+	rtn
+	
+
+/*************soft swtich ui config*********************/
+ui_soft_swtich_init:
+	setarg SS_STATE_POWER_UP
+	call ui_soft_swtich_init_power_on_time
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	call ui_button_init
+	call ui_button_polling
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+ui_soft_swtich_init_power_on_time:
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	ifetch 1,contw		//power on time
+	store 1,mem_ui_button_timeout
+	rtn
+
+
+ui_soft_switch_botton_up:
+	fetch 2,mem_power_param_ptr
+	ifetch 1,pdata
+	rtnne SS_STATE_POWER_UP
+	branch app_enter_hibernate
+
+
+ui_soft_switch_botton_long_press:
+	fetcht 2,mem_power_param_ptr
+	ifetch 1,temp
+	beq SS_STATE_POWER_ON,ui_soft_switch_power_off
+ui_soft_switch_power_on:
+	setarg SS_STATE_POWER_ON
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	add temp,SS_POWER_OFF_TIME,contr
+	ifetch 1,contr
+	istore 1,mem_ui_button_timeout
+	ifetch 2,contr
+	branch callback_func
+
+ui_soft_switch_power_off:
+	setarg SS_STATE_POWER_OFF
+	call ui_soft_swtich_init_power_on_time
+	add temp,SS_POWER_OFF_CB,contr
+	ifetch 2,contr
+	branch app_enter_hibernate,blank		//no call back function , just enter hibernate
+	branch callback_func
+	
+/*************soft swtich ui config ending*********************/
+
+
+/*************unkown function*********************/
+shutter_byteswap:
+	store 6,mem_tmp_buffer
+	fetch 1,mem_tmp_buffer
+	store 1,mem_tmp_buffer+11
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+10
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+9
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+8
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+7
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+6
+	fetch 6,mem_tmp_buffer+6
+	rtn
+
+shutter_random_addr_by_otp:
+	call load_adc_init
+	fetch 1,mem_1v_adc_io_data
+	store 1,mem_le_lap
+	fetch 1,mem_5v_adc_hvin_data
+	istore 1,contw
+	fetch 1,mem_3v_adc_vinlpm_data
+	istore 1,contw
+	fetch 3,mem_le_lap
+	store 3,mem_lap
+	rtn
+
+
+
+//iic read function
+//function name:sim_iic_read_eep_data
+//input:
+//temp:the length that simulation iic want to read eeprom data
+//rega:the memmory point that simulation iic read data store
+//regb:the eeprom address offset
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_read_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+	
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_read_eep_data_2k
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_read_eep_data_2k:
+	call sim_iic_stop
+
+	call sim_iic_start
+	setarg 0xa1
+	call sim_iic_send_byte
+
+sim_iic_read_eep_data_loop:
+	call sim_iic_read_byte
+	istore 1,rega
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_read_eep_data_loop,zero
+	branch sim_iic_stop
+
+
+//iic write data function
+//function name:sim_iic_write_eep_data
+//input:
+//temp:the length that simulation iic want to write eeprom data
+//rega:the memmory point that simulation iic write data read
+//regb:the eeprom address
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_write_eep_data:
+	byteswap regb,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_write_eep_data_loop
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_write_eep_data_loop:
+	ifetch 1,rega
+	call sim_iic_send_byte
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_write_eep_data_loop,zero
+	branch sim_iic_stop
+//	bmark1 mark_eeprom_size
+
+//use reg:pdata,contr,contw,loopcnt
+sim_iic_wait_ack:
+	arg 10,loopcnt
+	call sim_iic_release_sda
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+sim_iic_wait_ack_loop:
+	call sim_iic_read_sda_level
+	branch sim_iic_scl_output_low,blank	//scl = 0
+	loop sim_iic_wait_ack_loop
+	branch sim_iic_scl_output_low		//scl = 0	
+
+
+//use reg:pdata,contr,contw,rega,queue
+sim_iic_ack_slave:
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low	//scl = 0	
+
+
+//output:pdata receive byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_read_byte:
+	arg 8,loopcnt
+	arg 0,regc
+	call sim_iic_release_sda
+sim_iic_read_byte_loop:
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	lshift regc,regc	
+	call sim_iic_read_sda_level
+	iadd regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	loop sim_iic_read_byte_loop
+	call sim_iic_ack_slave
+	copy regc,pdata
+	rtn
+
+//input:pdata send byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_send_byte:
+	arg 8,loopcnt
+	copy pdata,regc
+	call sim_iic_scl_output_low		//scl = 0	
+sim_iic_send_byte_loop:
+	isolate1 7,regc
+	call sim_iic_sda_output_high,true	//sda = 1
+	ncall sim_iic_sda_output_low,true	//sda = 0
+	lshift regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_delay				//delay 2.5us
+	loop sim_iic_send_byte_loop
+	branch sim_iic_wait_ack
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_start:
+	call sim_iic_sda_output_high	//sda = 1
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low		//scl = 0
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_stop:
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_high	//sda = 1
+	branch sim_iic_delay				//delay 2.5us
+
+
+//scl = 1
+sim_iic_scl_output_high:
+	enable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//scl = 0
+sim_iic_scl_output_low:
+	disable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 1
+sim_iic_sda_output_high:
+	enable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 0
+sim_iic_sda_output_low:
+	disable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//input:pdata the gpio number
+//input:user flag, if enable user,config gpio output high level; if disable user, config gpio output low level
+//use reg:pdata,contr,contw,queue,rega
+sim_iic_config_gpio:
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset1 pdata
+	istore 1,temp
+	increase 4,temp
+	ifetch 1,temp
+	qsetflag user,pdata
+	istore 1,temp
+	rtn
+
+
+sim_iic_release_sda:
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset0 pdata
+	istore 1,temp
+	rtn	
+
+//get sda level
+//output:if sda high level ,pdata is 1;if sda low level ,pdata is 0
+//use reg:pdata,contr,contw,queue,rega,temp
+sim_iic_read_sda_level:
+	nop 4
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_in,temp
+	iadd temp,temp
+	setarg 0
+	ifetcht 1,temp
+	qisolate1 temp
+	setflag true,0,pdata
+	rtn	
+
+//delay 2.5us
+sim_iic_delay:
+//	nop 1
+	rtn
+
+/**********************************/
+
+
+else
+        branch assert
+	
+endif
Index: YJX_Only24g/FCC_1021S/program/app_usb.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_usb.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/app_usb.prog	(working copy)
@@ -0,0 +1,997 @@
+
+usb_isr:
+	bpatch patch1e_6,mem_patch1e
+	hfetch 1,core_usb_status
+	isolate1 7,pdata
+	call usb_init,true
+	call usb_nak_state_judge
+	hfetch 1,core_usb_status
+	store 1,mem_usb_status
+	hfetch 1,core_usb_fifo_empty
+	store 1,mem_usb_fifo_empty
+	hstore 1,core_usb_fifo_empty
+	pinvert
+	fetcht 1,mem_usb_tx_wait
+	iand temp,pdata
+	store 1,mem_usb_tx_wait
+	hjam 0xe0,core_usb_status
+	fetch 1,mem_usb_fifo_empty
+	compare 0x1,pdata,0x1
+	call usb0_fifo_empty,true
+	fetch 1,mem_usb_status	
+	compare 0x1,pdata,0x1  
+	call usb_status1,true
+	call usb_tx
+	branch usb_nak_state
+
+usb_init:
+	bpatch patch1e_7,mem_patch1e
+	call usb_init_param
+	hjam 0x00,core_usb_config
+ifndef SIM
+	nop 10000
+endif
+	hjam 0xc0,core_usb_trig
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_USB,pdata
+	hstore 2,core_clkoff
+	hjam 0x3c,core_usb_config
+	hjam 0xff,core_usb_status
+	hjam 0xff,core_usb_fifo_empty
+	hjam 0,core_usb_addr
+	jam DEV_DEFAULT,mem_usb0_state
+	setarg mem_usb_clear_mem_end
+	arg mem_usb_clear_mem_start,contw
+	isub contw,loopcnt
+	branch clear_mem
+
+usb_offline_check_init:
+	fetcht 1,mem_usb_offline_check_gpio
+	branch gpio_config_input
+usb_offline_state:
+	fetch 1,mem_usb_device_enumeration_endflag
+	rtn blank
+	fetcht 1,mem_usb_offline_check_gpio
+	call gpio_get_bit
+	branch usb_init,true
+	rtn
+
+
+usb_nak_state:
+	arg TIMER_NAK,queue
+	call timer_check
+	nrtn blank
+	fetch 1 ,mem_usb_wakestate_onetime_flag
+	nrtn blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	ncall usb_mac_wakeup_judge,blank
+	rtn
+
+usb_mem_devicedesc_init:
+	arg mem_devicedesc,contw
+	setsect 0,0x11212
+	setsect 1,0x8000
+	setsect 2,0x0
+	setsect 3,0x10000
+	istore 9,contw
+	setsect 0,0x22412
+	setsect 1,0x8604
+	setsect 2,0x1000
+	setsect 3,0x8
+	istore 9,contw
+	setsect 0,0x1
+	istore 1,contw
+	rtn
+	
+usb_init_param:
+	jam 2,mem_usb0_state
+	setarg 0x0
+	store 1,mem_remain
+	store 2,mem_usb_zero_packet
+	pincrease 1
+	store 2,mem_usb_ones_packet
+	pincrease 1
+	store 2,mem_usb_two_packet
+	setarg HID_KBDATA_ADDR
+	store 2,mem_hidreportdesc_kb
+	setarg HID_MSDATA_ADDR
+	store 2,mem_hidreportdesc_m
+	arg mem_confdesc,contw
+	arg HID_CONFDATA_ADDR,contr
+	call memcpy64
+	fetch 1,mem_usb_tx_interval
+	ncall usb_tx_interval_config,blank
+	branch usb_mem_devicedesc_init
+	
+usb_tx_interval_config:
+	store 1,mem_confdesc+34
+	store 1,mem_confdesc+59
+	rtn
+usb_nak_state_judge:
+	hfetch 1,core_usb_status
+	bbit1 USB_STATUS_NAK,usb_nak_state_timer_init
+	rtn
+	
+usb_nak_state_timer_init:
+	call usb0_attached_state_judge
+	call timer_reinit
+	setarg TIMER_NAK_DELAY
+	arg TIMER_NAK,queue
+	branch timer_init
+	
+usb0_attached_state_judge:
+	fetch 1,mem_usb_state
+	bne USB_CONNECTED,usb_clear_halt_dispose
+	jam 0,mem_usb_wakestate_onetime_flag
+	jam 0,mem_usb_mac_wakeup_trig
+	rtn
+usb_clear_halt_dispose:
+	fetch 1,mem_usb_clear_halt
+	rtn blank
+	jam 0,mem_usb_clear_halt
+	jam USB_CONNECTED,mem_usb_state
+	jam 1,mem_usb_device_enumeration_endflag
+	rtn
+    	
+usb0_fifo_empty:
+	hjam 0x1,core_usb_fifo_empty
+	branch usb0_tx
+
+usb_rx_no_data:
+	fetch 1,mem_usb_status
+	bbit1 USB_STATUS_SETUP,usb_class_type
+	rtn
+
+usb_rx_read:
+	hfetch 1,core_usb_ep
+	istore 1,contw
+	loop usb_rx_read
+	rtn
+
+usb_status1:
+	bpatch patch1f_0,mem_patch1f
+	hjam 0x11,core_usb_status
+	hfetch 1,core_usb_ep_len
+	store 1,mem_usb_read_len
+	copy pdata,loopcnt
+	branch usb_rx_no_data,blank
+	arg mem_usb_setup,contw
+	call usb_rx_read
+	fetch 1,mem_usb_read_len
+	sub pdata,7,null
+	rtn positive
+usb_class_type:
+	fetch 1,mem_usb_setup_bmRequestType
+	and_into 0x80,pdata
+	beq IN_DEVICE,usb_in_device
+	beq OUT_DEVICE,usb_out_device
+	branch assert
+
+usb_in_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_in_standard_req
+	beq CLASS_REQ,usb_in_class_req
+	beq MANUFACTURER_REQ,usb_in_manufacturer_req
+	branch assert
+
+usb_out_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_out_standard_req
+	beq CLASS_REQ,usb_out_class_req	
+	beq MANUFACTURER_REQ,usb_out_manufacturer_req
+	branch assert
+
+usb_in_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_CONFIGURATION,usb0_request_get_configuration
+	beq GET_DESCRIPTOR,usb0_request_get_descriptor
+	beq GET_INTERFACE,usb0_request_get_interface
+	beq GET_STATUS,usb0_request_get_status
+	branch usb0_force_stall
+
+usb_in_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_IDLE,usb_get_idle
+	beq GET_REPORT,usb_get_report
+	beq GET_PROTOCOL,usb_get_protocol_req
+	branch usb0_force_stall
+
+usb_in_manufacturer_req:
+	branch usb0_force_stall
+
+usb_out_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq CLEAR_FEATURE,usb0_request_clear_feature
+	beq SET_FEATURE,usb0_request_set_feature
+	beq SET_ADDRESS,usb0_request_set_address
+	beq SET_CONFIGURATION,usb0_request_set_configuration
+	beq SET_INTERFACE,usb0_request_set_interface
+	beq SET_DESCRIPTOR,usb0_force_stall
+	branch usb0_force_stall
+
+usb_out_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq SET_IDLE,usb_set_idle
+	beq SET_REPORT,usb_set_report
+	beq SET_PROTOCOL,usb_set_protocol_req
+	branch usb0_force_stall
+
+usb_out_manufacturer_req:
+	branch usb0_force_stall
+
+usb0_force_stall:
+	hfetch 1,core_usb_stall
+	set1 0,pdata
+	hstore 1,core_usb_stall
+	branch usb0_reply_zerolen
+	
+usb0_reply_zerolen:
+	hjam 0x40,core_usb_clear
+	rtn
+
+usb0_request_get_configuration:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb0_state
+	beq DEV_CONFIGURED,usb0_request_get_cfg_dev_cfg
+	beq DEV_ADDRESS,usb0_request_get_cfg_dev_addr
+	branch usb0_force_stall
+//Return current config : 1
+usb0_request_get_cfg_dev_cfg:
+	arg 1,regb
+	branch usb_send_ones_packet
+//Config do not work, return default config : 0
+usb0_request_get_cfg_dev_addr:
+	arg 1,regb
+	branch usb_send_zero_packet
+
+usb0_request_get_descriptor:
+	bpatch patch1f_1,mem_patch1f
+	set0 mark_isstr,mark
+	fetch 1,mem_usb_setup_bValueH
+	beq DSC_DEVICE,dsc_device_info
+	beq DSC_CONFIG,dsc_config_info	
+	beq DSC_STRING,dsc_string_info
+	beq DSC_HID,dsc_hid_info
+	beq DSC_HID_REPORT,dsc_hid_report_info
+	branch usb0_force_stall
+
+dsc_hid_info:
+	jam 0,mem_usb_get_protocol_flag
+	fetch 1,mem_usb_setup_wIndex
+	beq 0,dsc_hid_info_interface0
+	beq 1,dsc_hid_info_interface1
+	branch usb0_force_stall
+//class_descriptor hid_descriptor--keyboard 
+dsc_hid_info_interface0:	
+	arg mem_confdesc+19,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+//class_descriptor hid_descriptor--mouse 
+dsc_hid_info_interface1:	
+	arg mem_confdesc+44,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+
+dsc_device_info:
+//input : pdata : data poniter 
+//input : temp: data len
+//sets the data pointer and len to correct descriptor
+	fetch 1,mem_usb_set_high_addr_flag
+	ncall usb_set_high_addr,blank
+	setarg mem_devicedesc
+	fetcht 1,mem_devicedesc
+dsc_info_set_data_len:
+	store 2,mem_dsc_info_data_pointer
+	storet 1,mem_dsc_info_len
+	fetch 1,mem_usb_setup_bLength
+	isub temp,null
+	nbranch dsc_info_set_current_data_len,positive
+dsc_info_set_initial_data_len:
+	fetch 1,mem_dsc_info_len
+dsc_info_set_data_size_completed:	
+	iforce regb
+	fetch 2,mem_dsc_info_data_pointer
+	add pdata,1,pdata
+	iforce rega
+	branch usb0_respond
+dsc_info_set_current_data_len:
+	fetch 1,mem_usb_setup_bLength
+	branch dsc_info_set_data_size_completed
+
+usb_set_high_addr:
+	hfetch 1,core_usb_addr
+	ncall usb0_set_addr,blank
+	jam 0,mem_usb_set_high_addr_flag
+	rtn
+usb0_set_addr:
+	hfetch 1,core_usb_addr
+   	set1 7,pdata
+	hstore 1,core_usb_addr
+	rtn
+
+dsc_config_info:
+	setarg mem_confdesc
+	fetcht 1,mem_confdesc
+	branch dsc_info_set_data_len
+
+dsc_string_info:
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,3,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb_setup_bValue
+	arg mem_string0,rega
+	beq 0,usb0_respond_length	
+	set1 mark_isstr,mark
+	arg mem_string1,rega
+	beq 1,usb0_respond_length
+	arg mem_string2,rega
+	beq 2,usb0_respond_length
+	arg mem_string3,rega
+	beq 3,usb0_respond_length
+	rtn
+
+dsc_hid_report_info:
+	fetch 2,mem_usb_setup_wIndex
+	beq 1,dsc_hid_report_info0
+	fetch 2,mem_hidreportdesc_kb
+	copy pdata,rega
+//	arg mem_hidreportdesc_kb,rega
+	branch usb0_respond_length
+dsc_hid_report_info0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam USB_GOT_REPORT_REQ,mem_usb_state
+	fetch 2,mem_hidreportdesc_m
+	copy pdata,rega
+//	arg mem_hidreportdesc_m,rega
+	branch usb0_respond_length
+
+
+usb0_request_get_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	arg 1,regb
+	branch usb_send_zero_packet
+
+
+usb0_request_get_status:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 2,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq IN_DEVICE,usb0_get_status_in_device
+	beq IN_INTERFACE,usb0_get_status_in_interface
+	beq IN_ENDPOINT,usb0_get_status_in_endpoint
+	branch usb0_force_stall
+
+usb0_get_status_in_device:
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	arg 2,regb
+	fetch 1,mem_usb_remote_wakeup
+	beq 0x01,usb_send_two_packet
+//regb:length
+usb_send_zero_packet:
+	arg mem_usb_zero_packet,rega
+	branch usb0_respond
+usb_send_ones_packet:
+	arg mem_usb_ones_packet,rega
+	branch usb0_respond
+usb_send_two_packet:
+	arg mem_usb_two_packet,rega
+	branch usb0_respond
+
+usb0_get_status_in_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	arg 2,regb
+	branch usb_send_zero_packet
+
+usb0_get_status_in_endpoint:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_get_status_in_ep_in_ep1
+	beq IN_EP2,usb0_get_status_in_ep_in_ep2
+	beq IN_EP3,usb0_get_status_in_ep_in_ep3
+	and_into 0x7f,pdata
+	beq 0x00,usb0_get_status_in_ep_in_ep0
+	branch usb0_force_stall
+	
+usb0_get_status_in_ep_in_ep0:
+	fetch 1,mem_usb_ep0_stall_status
+usb0_get_status_in_ep_in_ack:
+	arg 2,regb
+	beq 1,usb_send_ones_packet
+	branch usb_send_zero_packet
+usb0_get_status_in_ep_in_ep1:
+	fetch 1,mem_usb_ep1_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep2:
+	fetch 1,mem_usb_ep2_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep3:
+	fetch 1,mem_usb_ep3_stall_status
+	branch usb0_get_status_in_ep_in_ack
+
+usb_get_idle:
+	jam 1,mem_usb_idle_flag
+	arg mem_usb_idle_rate,rega
+	arg 1,regb
+	branch usb0_respond
+
+usb_get_report:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_GET_REPORT,temp
+	isub temp,null
+	nbranch usb0_force_stall,zero
+	set0 mark_isstr,mark
+usb_get_report_dispose:	
+	fetch 1,mem_usb0_data_ready_report
+	nbranch usb_get_report_data_success,blank
+	jam PC_GET_NONDATA,mem_usb0_get_report_data
+usb_get_report_send_data:
+	fetch 1,mem_usb_setup_bLength
+	iforce regb
+	arg mem_usb0_get_report_data,rega
+	call usb0_respond
+usb_get_report_data_release:	
+	arg mem_usb0_get_report_data,contw
+	arg 8,loopcnt
+	branch memset0
+usb_get_report_data_success:
+	jam 0,mem_usb0_data_ready_report
+	jam PC_GET_DATA,mem_usb0_get_report_data
+	branch usb_get_report_send_data
+
+usb_get_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	jam 1,mem_usb_get_protocol_flag
+	arg 1,regb //length
+	fetch 1,mem_usb_set_protocol_value
+	beq 0,usb_get_report_protocol
+	beq 1,usb_get_boot_protocol
+	branch usb_send_zero_packet
+usb_get_report_protocol:
+	branch usb_send_ones_packet
+usb_get_boot_protocol:
+	branch usb_send_zero_packet
+
+
+
+//in device
+usb0_request_clear_feature:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_clear_feature_out_device
+	beq OUT_INTERFACE,usb0_request_clear_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_clear_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set0 7,pdata
+	hstore 1,core_usb_config
+	jam 0,mem_usb_remote_wakeup
+	jam 1,mem_usb_clear_remote_wakeup
+	branch usb0_reply_zerolen
+
+usb0_request_clear_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_off
+	beq IN_EP2,usb0_force_stall_ep2_in_off
+	beq IN_EP3,usb0_force_stall_ep3_in_off
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_off
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_off:
+	jam 0,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_off:
+	jam 0,mem_usb_ep1_stall_status
+usb0_force_stall_ep1_in_off_reply:	
+	jam 1,mem_usb_clear_halt
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_off:
+	jam 0,mem_usb_ep2_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+usb0_force_stall_ep3_in_off:
+	jam 0,mem_usb_ep3_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+
+
+usb0_request_set_feature:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_set_feature_out_device
+	beq OUT_INTERFACE,usb0_request_set_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_set_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_remote_wakeup
+	jam USB_SLEEP,mem_usb_state
+	jam 0,mem_usb_tx_win_enable
+	call usb0_reply_zerolen
+usb_wakeup_timer_reinit:
+	call timer_reinit
+	setarg TIMER_WAKEUP_DELAY
+	arg TIMER_WAKEUP,queue
+	branch timer_init
+	
+usb0_request_set_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_on
+	beq IN_EP2,usb0_force_stall_ep2_in_on
+	beq IN_EP3,usb0_force_stall_ep3_in_on
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_on
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_on:
+	jam 1,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_on:
+	jam 1,mem_usb_ep1_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_on:
+	jam 1,mem_usb_ep2_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep3_in_on:
+	jam 1,mem_usb_ep3_stall_status
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_address:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	and_into 0x80,pdata
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb_usb0_state_set_dev_addr
+usb_usb0_state_set_dev_default:	
+	jam DEV_DEFAULT,mem_usb0_state
+usb0_request_set_wait_address:
+	fetch 1,mem_usb_setup_bValue
+	hstore 1,core_usb_addr
+	call usb0_reply_zerolen
+	jam 1,mem_usb_set_high_addr_flag
+	rtn
+usb_usb0_state_set_dev_addr:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_request_set_wait_address
+
+
+usb0_request_set_configuration:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,USB_MAX_NUM_CFG,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb0_state
+	beq DEV_ADDRESS,usb0_request_set_cfg_addr_state
+	beq DEV_CONFIGURED,usb0_request_set_cfg_cfg_state
+	branch usb0_force_stall
+ // This software only supports config = 0,1
+usb0_request_set_cfg_addr_state:
+usb0_request_set_cfg_cfg_state:
+	fetch 1,mem_usb_setup_bValue	//1:Configured state   0:Address state
+	beq 0,usb0_request_set_cfg_stay_addr_state
+	jam DEV_CONFIGURED,mem_usb0_state
+	branch usb0_reply_zerolen
+usb0_request_set_cfg_stay_addr_state:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	branch usb0_reply_zerolen
+
+
+usb_set_idle:
+	jam 1,mem_usb_idle_flag
+	fetch 1,mem_usb_setup_bValueH
+	store 1,mem_usb_idle_rate
+	fetch 1,mem_usb_setup_wIndex
+	sub pdata,1,null
+	call usb_clear_remote_wakeup_set0,zero
+	fetch 1,mem_usb_state
+	bne USB_RESUME,usb0_reply_zerolen
+	jam USB_CONNECTED,mem_usb_state
+	call usb0_reply_zerolen
+	nop 30000
+	nop 30000
+	rtn
+usb_clear_remote_wakeup_set0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam 0,mem_usb_clear_remote_wakeup
+	jam USB_RESUME,mem_usb_state
+	rtn
+
+
+usb_set_report:
+	jam 1,mem_usb0_get_set_report
+	call usb_set_report_resume_judge
+	fetch 2,mem_usb_setup_bValue
+	store 2,mem_usb_setup_bValue_temp
+	fetch 1,mem_usb_setup_bLength	//max 0x40
+	iforce loopcnt
+	arg mem_usb0_setup,contr
+	arg mem_usb0_set_report_data,contw
+	call memcpy
+	branch usb0_reply_zerolen
+	
+usb_set_report_resume_judge:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_SET_REPORT_bValue,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_wIndex
+	arg PC_SET_REPORT_wIndex,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_bLength
+	arg PC_SET_REPORT_bLength,temp
+	isub temp,null
+	nrtn zero
+	jam 1,mem_usb_tx_win_enable
+	rtn
+
+
+usb_set_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	beq BOOT_PROTOCOL,usb_set_boot_protocol
+	beq REPORT_PROTOCOL,usb_set_report_protocol
+	branch usb0_force_stall
+usb_set_boot_protocol:
+	jam 0,mem_usb_set_protocol_status
+	jam 1,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+usb_set_report_protocol:
+	jam 1,mem_usb_tx_mac_enable
+	jam 1,mem_usb_set_protocol_status
+	jam 0,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+
+
+usb0_respond_length:
+	ifetch 1,rega
+	iforce regb
+	increase 1,rega
+//rega=*buff,reb=size	
+usb0_respond:
+	bpatch patch1f_2,mem_patch1f
+	bmark0 mark_isstr,usb0_respond0
+	add regb,1,pdata
+	lshift pdata,pdata
+	hstore 1,core_usb_dfifo0 
+	hjam 3,core_usb_dfifo0
+	fetch 1,mem_usb_setup_bLength
+	increase -2,pdata
+	rshift pdata,pdata
+	store 1,mem_usb_setup_bLength
+	beq 0,usb_no_respond_data
+usb0_respond0:
+	fetch 2,mem_usb_setup_bLength
+	isub regb,null
+	branch usb0_respond1,positive
+	copy pdata,regb	
+usb0_respond1:
+	deposit rega
+	store 2,mem_bufptr
+	deposit regb
+	store 1,mem_remain
+	branch usb0_tx
+
+usb_no_respond_data:
+	arg 0,queue
+	branch usb_trig
+
+//mem_bufptr=*buff,mem_remain=size,loopcnt=i,rega=len
+usb0_tx:
+	bpatch patch1f_3,mem_patch1f
+	fetch 1,mem_remain
+	rtn blank
+	copy pdata,loopcnt
+	sub pdata,EP0_PACKET_SIZE,null
+	branch usb0_tx_info,positive
+	arg EP0_PACKET_SIZE,loopcnt	
+usb0_tx_info:
+	fetch 1,mem_remain
+	isub loopcnt,pdata
+	store 1,mem_remain//mem_remain -= len
+	fetch 2,mem_bufptr
+	copy pdata,contr	
+usb0_tx0:
+	ifetch 1,contr
+	hstore 1,core_usb_dfifo0
+	bmark0 mark_isstr,usb0_tx1
+	hjam 0,core_usb_dfifo0
+usb0_tx1:
+	loop usb0_tx0
+	copy contr,pdata
+	store 2,mem_bufptr//mem_bufptr += len
+	arg 0,queue
+	call usb_trig
+	fetch 1,mem_remain
+	nrtn blank
+	fetch 1,mem_usb_state
+	rtnne USB_GOT_REPORT_REQ
+	jam USB_CONNECTED,mem_usb_state
+	rtn
+
+
+usb_tx_ep1:
+	arg core_usb_dfifo1,rega
+	arg 1,queue
+usb_tx_loop:
+	ifetch 1,contr
+	istore 1,rega
+	loop usb_tx_loop
+usb_trig:
+	setarg 0
+	qset1 pdata
+	hstore 1,core_usb_trig
+	fetcht 1,mem_usb_tx_wait
+	ior temp,pdata
+	store 1,mem_usb_tx_wait
+	rtn
+
+usb_tx_ep2:
+	arg 2,queue
+	arg core_usb_dfifo2,rega
+	branch usb_tx_loop
+
+usb_tx:
+	bpatch patch1f_4,mem_patch1f
+	fetch 1,mem_usb_tx_enable
+	rtn blank
+	fetch 1,mem_usb_tx_wait
+	nbranch usb_inwake_state_tx_dispose,blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	branch usb_tx_fifo_release,blank
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_windows_wakeup
+	bne USB_CONNECTED,usb_tx_fifo_release
+	fetch 1,mem_usb_clear_remote_wakeup
+	nbranch usb_tx_fifo_release,blank
+	call usb_tx_data_ep1
+	branch usb_tx_data_ep2
+
+usb_tx_data_ep1:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 1
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 1
+	fetch 1,mem_usb_tx_enable
+	set0 1,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep1_data
+	rtn blank
+	beq USB_EP1_KB,usb_tx_kb_normal_data
+	branch assert
+
+usb_tx_data_ep2:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 2
+	fetch 1,mem_usb_tx_enable
+	set0 2,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep2_data
+	rtn blank
+	beq USB_EP2_MS,usb_tx_ms_data
+	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
+	branch assert
+
+usb_tx_fifo_release:
+	//clear mem_usb_mouse_data/mem_usb_kb_data/mem_usb_kb_multikey
+	arg mem_usb_mouse_data,contw
+	arg 6,loopcnt
+	branch memset0
+	
+usb_tx_ms_data:
+	fetch 1,mem_usb_idle_flag
+	fetcht 1,mem_usb_get_protocol_flag
+	iand temp,pdata
+	branch usb_tx_ms_data_normal_mode,blank
+	fetcht 1,mem_usb_set_protocol_status
+	iadd temp,pdata
+	beq MAC_BOOT_MODE,usb_tx_ms_data_mac_boot_mode
+	branch usb_tx_ms_data_normal_mode
+
+usb_tx_ms_data_mac_boot_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_ms_data_mac_boot_regroup:
+	fetch 1,mem_usb_mouse_data+1	//key
+	beq R_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	beq LR_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	fetch 1,mem_usb_mouse_data+1	//key
+	store 1,mem_usb_mouse_data
+	fetch 1,mem_usb_mouse_data+2	//x low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+4	//y low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+6	//wheel
+	istore 1,contw
+	arg 4,loopcnt
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+	
+usb_tx_ms_data_normal_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:	
+	arg 8,loopcnt		
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_multikey_data:
+	jam 0,mem_usb_ep2_data
+	arg 3,loopcnt
+	arg mem_usb_kb_multikey,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_normal_data:
+	jam 0,mem_usb_ep1_data
+	arg 8,loopcnt
+	arg mem_usb_kb_data,contr
+	branch usb_tx_ep1
+
+usb_inwake_state_tx_dispose:
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_clear_tx_wait
+	beq USB_CONNECTED, usb_mac_wakeup_trig
+	rtn
+usb_clear_tx_wait:
+	jam 0,mem_usb_tx_wait
+	rtn	
+usb_mac_wakeup_trig:
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_mac_wakeup_trig
+	rtn
+
+usb_mac_wakeup_judge:
+	fetch 1,mem_usb_state
+	rtneq USB_SLEEP
+	beq USB_CONNECTED,usb_mac_wakeup
+	rtn
+usb_mac_wakeup:
+	fetch 1,mem_usb_mac_wakeup_trig
+	rtn blank
+	jam 1,mem_usb_wakestate_onetime_flag
+	branch usb_wakeup
+
+usb_windows_wakeup:
+	arg TIMER_WAKEUP,queue
+	call timer_check
+	nrtn blank
+usb_wakeup:
+	hfetch 1,core_usb_config
+	rtnbit0 7	//endpoint wakeup enable
+	hjam 0xfc,core_usb_config
+	nop 30000
+	hjam 0x3c,core_usb_config
+	rtn
+
+
+
Index: YJX_Only24g/FCC_1021S/program/bt.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/bt.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/bt.prog	(working copy)
@@ -0,0 +1,4171 @@
+define REVD
+//define FPGA
+define ROMCODE
+define PATCH
+define ADC
+//define RAM_VERSION
+//define CLK6M
+//define DEBUG_MALLOC
+//define DEBUG_H4LOG_ENABLE
+//define DEBUG_LIGHT_STATE
+//define E2_LOG
+//define LMP_DBG
+//define ACL_DEBUG
+//define DCDC
+define NVRAM
+define RELEASE
+define SECURE_CONNECTION
+define DEBUG_RF_INIT
+//define SPI_SIMULATE
+//define ROM_RESPIN_OPTIONAL
+
+define SIMPLE_PAIRING
+define COMPILE_RFCOMM
+define COMPILE_SHUTTER
+define COMPILE_AntiLost
+//define COMPILE_IR
+define COMPILE_KEYBOARD
+define COMPILE_MOUSE
+define COMPILE_MODULE
+//define COMPILE_AT
+//define COMPILE_PRCP
+//define COMPILE_USB
+//define COMPILE_DONGLE
+define COMPILE_LE
+define COMPILE_24G
+define COMPILE_CAR
+define COMPILE_REMOTE_CAR
+
+INCLUDE "bt_format"
+
+org 0x0000		// start from patch ram address start
+ifdef SIM
+include sim.prog
+else
+include patch.prog
+endif
+
+/******************************************/
+/***********   ROM Start   ***************/
+/******************************************/
+
+org 0x2000		// start from rom address start
+start:
+	call lpmstate
+
+soft_reset:
+	bpatch patch00_0,mem_patch00
+	clear_stack
+	call spi_ncs_gpio_init  // 0xff disable spi ncs gpio init
+	call initialize_radio
+	call iicd_init_12m
+	call init_param
+	call l2cap_init
+	bpatch patch00_1,mem_patch00
+	call rfcomm_init
+	call init_lmp
+	call ui_init
+	call app_init
+	ncall load_chip_option,wake
+	bpatch patch00_2,mem_patch00
+	call app_lpm_init,wake
+ifdef SIMPLE_PAIRING
+	call publickey_init
+else
+	call ssp_disable
+ifdef SECURE_CONNECTION
+	call publickey_init
+
+endif
+endif
+	call lpm_recover_clk,wake
+main_loop:	
+	bpatch patch00_3,mem_patch00
+ifdef SIMPLE_PAIRING
+	call sp_calc_sequence
+endif
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256
+endif
+ifdef SIMPLE_PAIRING
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256_check
+endif
+endif
+	call le_dispatch
+	bpatch patch00_4,mem_patch00
+	call idle_dispatch
+	call app_process_idle
+	call inquiry_dispatch
+	call inquiry_scan_dispatch
+	call page_scan_dispatch
+	call connection_dispatch
+	call lpm_dispatch
+	call g24_dispatch
+	branch main_loop
+
+connection_dispatch:
+	call connection_incontext
+	rtnmark0 mark_context
+	set0 mark_context,mark
+	call context_save
+	branch le_disable
+	
+connection_incontext:
+	bpatch patch00_5,mem_patch00
+	call context_search_insniff
+	nbranch connection_nosniff,zero
+	call context_load
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,le_conn_dispatch
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+connection_nosniff:
+	call context_get_next
+	copy loopcnt,null
+	rtn zero
+	call context_load
+	fetch 1,mem_state
+	bbit1 state_inpage,master_page
+	fetch 1,mem_mode
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+
+
+
+/**************************************/
+/**************idle dispatch*********/
+/**************************************/
+	
+idle_dispatch:
+	fetch 1,mem_hci_cmd
+	rtn blank
+	beq hci_cmd_inquiry,idle_inquiry
+	beq hci_cmd_inquiry_cancel,idle_inquiry_cancel
+	beq hci_cmd_remote_name_req,idle_remote_name_req
+	beq hci_cmd_create_conn,idle_create_conn
+	beq hci_cmd_le_create_conn,idle_le_create_conn
+	call context_search_conn_handle
+	rtn zero
+	call context_search_plap
+	rtn zero
+idle_exit:
+	jam 0,mem_hci_cmd
+	rtn
+
+idle_le_create_conn:
+	jam hci_cmd_le_create_conn,mem_cmd_le_create_conn
+	jam 0,mem_hci_cmd
+	rtn
+	
+idle_inquiry:
+	set1 mark_inquiry_on,mark
+	set0 mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	jam 31,mem_nfreq_index_inq
+	branch idle_exit
+
+idle_inquiry_cancel:
+	set0 mark_inquiry_on,mark
+	force 0,stop_watch
+	branch idle_exit
+
+idle_remote_name_req:
+	call context_search_plap
+	rtn zero
+	force LMP_NAME_REQ,temp
+	jam 5,mem_nameres_cnt
+	branch idle_start_page
+
+idle_create_conn:
+	bpatch patch00_6,mem_patch00
+idle_create_conn_device:
+	fetch 6,mem_hci_plap
+	branch idle_exit,blank
+	jam RECONNECT_HID,memui_reconnect_mode
+	//jam HS_INIT_CALL,mem_hs_mode //init as master
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	branch idle_create_conn_cont
+	
+idle_create_conn_cont:
+	force LMP_VERSION_REQ,temp
+idle_start_page:
+	bpatch patch00_7,mem_patch00
+	fetch 1,mem_page_mode
+	branch idle_page_mode_r0,blank
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	increase -1,pdata
+idle_page_mode_r0:
+	store 1,mem_npage
+	store 1,mem_npage_index
+	jam 31,mem_nfreq_index_page
+	set0 mark_page_trainb,mark
+	call context_new
+	nbranch idle_page_fail,zero
+	call get_free_amaddr
+	store 1,mem_amaddr
+	storet 1,mem_lmo_opcode2
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	bpatch patch01_0,mem_patch01
+	call timer_reinit
+	force 0,pdata
+	compare LMP_NAME_REQ,temp,0xff
+	nsetflag true,state_init_seq,pdata
+	set1 state_inpage,pdata
+	store 1,mem_state
+	jam BT_EVT_RECONN_STARTED,mem_fifo_temp
+	call ui_ipc_send_event
+	force 0,pdata
+	setflag true,smap_name_req,pdata
+	store 1,mem_state_map
+	setarg 0
+	set1 mode_master,pdata
+	store 1,mem_mode
+	enable master
+	call context_save
+	disable master
+	force page_length_timer,queue
+	fetch 2,mem_page_to
+	call timer_init
+	branch idle_exit
+idle_page_fail:
+	bpatch patch01_1,mem_patch01
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	compare LMP_NAME_REQ,temp,0xff
+	branch idle_name_fail,true
+	branch idle_exit
+idle_name_fail:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+	jam BT_EVT_RECONN_FAILED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch idle_exit
+	
+
+/******************************************/
+/**************  Inquiry  *****************/
+/******************************************/
+
+inquiry_dispatch:
+	rtnmark0 mark_inquiry_on
+	force inquiry_length_timer,queue
+	call timer_check
+	nsetflag blank,mark_inquiry_on,mark
+	nbranch inquiry_start,blank
+	rtn
+	
+
+
+inquiry_start:
+	bpatch patch01_2,mem_patch01
+	fetcht 2,mem_inq_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call afh_clear
+	force 0,freq_mode
+inquiry_restart:
+	rtn timeout
+	set0 mark_fhs_already_good,mark
+	set0 mark_fhs_eir,mark
+inquiry_rx_restart:
+	add clkn_bt,1,bt_clk
+	isolate1 mark_inquiry_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch inquiry_receive,true
+
+inquiry_transmit:
+	bpatch patch01_3,mem_patch01
+	fetch 1,mem_inquiry_transmit
+	increase 1,pdata
+	store 1,mem_inquiry_transmit
+	call fetch_giac
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call inquiry_check_train
+	branch inquiry_restart
+
+inquiry_check_train:
+	bpatch patch01_4,mem_patch01
+	fetch 1,mem_nfreq_index_inq
+	increase -1,pdata
+	store 1,mem_nfreq_index_inq
+	rtn positive  /* if it's time to incremnt N */
+	jam 31,mem_nfreq_index_inq
+	fetch 1,mem_ninqy_index
+	increase -1,pdata
+	store 1,mem_ninqy_index
+	rtn positive      /* if it's time to change train */
+	setflip mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	rtn
+
+inquiry_receive:
+	bpatch patch01_5,mem_patch01
+	call fetch_giac
+	call rx_radio_freq
+	call fetch_diac
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt
+	branch inquiry_sync,sync   /* try look for id packet again if not found */
+	call inquiry_check_train
+	branch inquiry_rx_restart
+inquiry_sync:
+	bpatch patch01_6,mem_patch01
+	call save_rssi
+	call scan_mode_whiten
+	call receive_packet_whitened
+	set0 mark_rxbuf_inuse,mark
+	rtnmark0 mark_fhs_already_good
+inquiry_receive_rtn:
+	bpatch patch01_7,mem_patch01
+inquiry_receive_eir_rtn:
+	fetch 1,mem_inquiry_rcv
+	increase 1,pdata
+	store 1,mem_inquiry_rcv
+	rtn
+		
+/******************************************/
+/**************  Master Dispatch  *************/
+/******************************************/
+
+
+
+master_page:
+	bpatch patch02_0,mem_patch02
+	enable master
+	enable clknt
+	fetch 2,mem_page_interval
+	branch master_page_no_interval,blank
+	force page_interval_timer,queue
+	call timer_check               
+	nrtn blank
+master_page_no_interval:
+	bpatch patch02_1,mem_patch02
+	fetcht 2,mem_page_window
+	force 40,queue
+	call sniff_check_window
+	branch page_exit,user
+	force page_length_timer,queue
+	call timer_check
+	nbranch page_start,blank
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_npage_timeout
+	branch master_page_timeout
+master_npage_timeout:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+master_page_timeout:
+	bpatch patch02_2,mem_patch02
+	jam 0,mem_state
+	call init_lmp_work
+	jam 0,memui_reconnect_mode
+	jam BT_EVT_RECONN_PAGE_TIMEOUT,mem_fifo_temp
+	call ui_ipc_send_event	
+	branch page_exit
+
+page_start:
+	bpatch patch02_3,mem_patch02
+	force 0,timeup
+	until clkn_rt,meet
+	fetch 1,mem_page_clk
+	increase -1,pdata
+	ixor clkn_bt,pdata
+	compare 0,pdata,3
+	nbranch page_start,true
+	deposit am_addr
+	store 1,mem_fhs_am_addr
+	force 0,N_tx_slot
+	force 0,freq_mode
+
+page_restart:
+	bpatch patch02_4,mem_patch02
+	branch page_exit,timeout
+	call fetch_page_bt_adr
+	arg param_rf_setup, timeup
+	until clkn_rt,meet         /* wait for the start_receiver time against native real clk  */
+page_rx_restart:
+	bpatch patch02_5,mem_patch02
+	fetch 4,mem_page_clk    /* deposit clk_estimate */
+	iforce bt_clk
+	increase 1,pdata
+	store 4,mem_page_clk
+	isolate1 mark_page_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch page_receive,true
+	fetch 1, mem_page_transmit
+	increase 1,pdata
+	store 1, mem_page_transmit
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call page_check_train
+	branch page_restart	
+page_exit:
+	bpatch patch02_6,mem_patch02
+	disable master
+	fetch 2,mem_page_interval      
+	rtn blank
+	force page_interval_timer,queue
+	branch timer_init              
+
+page_check_train:
+	bpatch patch02_7,mem_patch02
+	fetch 1,mem_nfreq_index_page
+	increase -1,pdata
+	store 1,mem_nfreq_index_page
+	rtn positive
+	jam 31,mem_nfreq_index_page
+	fetch 1,mem_npage_index
+	increase -1,pdata                 /* increment N */
+	store 1,mem_npage_index
+	rtn positive      			/* if it's time to change train */
+	setflip mark_page_trainb,mark             /* change train */
+	fetch 1,mem_npage
+	store 1,mem_npage_index
+	rtn
+	
+page_receive:
+	bpatch patch03_0,mem_patch03
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* try id look for id packet again */
+	branch page_sync,sync         /* restart if didn't receive anything */
+	call page_check_train
+	branch page_rx_restart
+page_sync:
+	call end_of_packet
+	fetch 1, mem_page_rcv
+	increase 1,pdata
+	store 1, mem_page_rcv
+	force 0,stop_watch
+	fetch 4,mem_page_clk
+page_send_fhs:
+	bpatch patch03_1,mem_patch03
+	call rf_setup_time_master_slot
+	call fetch_page_bt_adr
+	increase 1,N_tx_slot
+page_send_fhs_continue:
+	and_into 0x1fd,bt_clk
+	and_into 0x1fc,freq_mode               /* master response = x00, even_train settin must remain the same */
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	force 0,am_addr
+	force type_fhs,type
+	call scan_mode_whiten
+	call transmit_packet_whitened
+page_wait_fhs_reply:
+	bpatch patch03_2,mem_patch03
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	and_into 0x1fc,freq_mode               /* master response sequence = x00, even train setting must be preserved */
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* look for that reply */
+	call end_of_packet,sync              /* id reply is enough */
+	branch page_wait_fhs_reply_ok,sync           /* no reply then send fhs again */
+	fetch 1,mem_fhs_wait_counter
+	branch page_restart,blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	branch page_send_fhs
+	
+page_wait_fhs_reply_ok:
+	bpatch patch03_3,mem_patch03
+	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+master_newconn_loop:
+	call master_newconn_once
+	branch newconn_poll_responded,sync
+	call new_conn_timeout
+	nbranch master_newconn_loop,blank
+	branch page_restart
+
+newconn_poll_responded:
+	bpatch patch03_4,mem_patch03
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	call newconn_init
+	disable master
+	rtn
+	
+
+master_dispatch:
+	bpatch patch03_5,mem_patch03
+	enable master
+	enable clknt
+	call role_switch_master
+	rtn user
+	call check_bt_disabled
+	call rf_setup_time_master_slot
+	add clkn_bt,1,bt_clk
+	call fetch_self_bt_adr
+	force 0x03,freq_mode
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	call transmit_packet
+master_loop:
+	bpatch patch03_6,mem_patch03
+	call parse_lmp
+	call master_conn_recv_packet
+	nbranch master_notmatch,match
+	call supervision_flush
+	call parse_l2cap
+	fetch 1,mem_master_rcvcnt
+	increase 1,pdata
+	store 1,mem_master_rcvcnt
+master_notmatch:
+	bpatch patch03_7,mem_patch03
+	call scheduler_process
+	call check_master_disconnect
+	nrtn master					/* disconnected */
+	call check_attempt
+	nbranch master_attempt,blank
+master_exit:
+	disable master
+	rtn
+
+master_attempt:
+	call prepare_tx
+	call master_conn_send_packet
+	branch master_loop
+
+
+check_master_disconnect:
+	branch check_master_match,match
+	call supervision_update
+	branch master_disconnect,positive
+check_master_match:
+	call check_disconnect_timeout
+	nbranch master_disconnect,user
+	fetch 1,mem_state_map
+	rtnbit0 smap_name_req
+	rtnbit1 smap_name_res
+	fetch 1,mem_op
+	rtnbit1 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	fetch 1,mem_nameres_cnt
+	increase -1,pdata
+	store 1,mem_nameres_cnt
+	nrtn blank
+	branch lmp_disconnect
+
+master_disconnect:
+	bpatch patch04_0,mem_patch04
+	call quit_connection
+	disable master
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_name_disconnect
+	rtn
+	
+master_name_disconnect:
+	fetch 1,mem_state_map
+	rtnbit1 smap_name_res
+master_name_error:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	branch memset0
+	
+check_disconnect_timeout:
+	bpatch patch04_1,mem_patch04
+	enable user
+	fetch 1,mem_op
+	rtnbit0 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	branch disable_user
+
+conn_timer_expired:
+	fetch 1,mem_conn_timer
+	increase -1,pdata
+	store 1,mem_conn_timer
+	rtn
+
+linkkey_ready:
+	bpatch patch04_2,mem_patch04
+	fetch 1,mem_state
+	bbit1 state_linkkey,linkkey_set
+	fetch 1,mem_pairing_auth
+	branch linkkey_set,blank
+	jam DEFALT_PAIRING_AUTH,mem_pairing_auth
+	jam BT_EVT_LINKKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch linkkey_set
+linkkey_set:
+	bpatch patch04_3,mem_patch04
+	call context_traverse_linkkey
+	fetch 1,mem_state
+	set1 state_linkkey,pdata
+	store 1,mem_state
+	jam 1,mem_link_key_exists
+	fetch 1,mem_conn_sm
+	bne CONN_SM_PAIRING,linkkey_set_continue
+linkkey_set_continue:
+	rtn
+
+generate_linkkey_continue:
+	jam PAIRING_AUTH,mem_pairing_auth
+clear_linkstate:
+	fetch 1,mem_state
+	set0 state_linkkey,pdata
+	store 1,mem_state
+	rtn
+	
+
+	/* rtn user if switch */
+role_switch_check:
+	bpatch patch04_4,mem_patch04
+	disable user
+	fetch 2,mem_tsniff
+	arg 0xffff,temp
+	isub temp,null
+	nrtn zero
+	fetch 4,mem_sniff_anchor
+	branch role_switch_clkn,clknt
+	isub clke_bt,pdata
+	branch role_switch_clke
+role_switch_clkn:
+	isub clkn_bt,pdata
+role_switch_clke:
+	sub pdata,4,null
+	nrtn positive
+	force 0,pdata
+	store 2,mem_tsniff
+	branch enable_user
+
+
+	/* pdata: switch instant, set tsniff=0 for special sniff */	
+role_switch_prepare:
+	copy pdata,temp
+	bpatch patch04_5,mem_patch04
+	storet 4,mem_sniff_anchor
+role_switch_prepare0:
+	jam SWITCH_FLAG_ACCEPT,mem_switch_flag
+	setarg 0xffff
+	store 2,mem_tsniff
+	jam 1,mem_sniff_attempt
+	rtn
+
+
+role_switch_master:
+	bpatch patch04_6,mem_patch04
+	call role_switch_check
+	nrtn user
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,roles_replyto_fhs
+	call new_conn_timeout
+	nbranch roles_waitfhs_loop,blank
+role_switch_fail_master:
+	bpatch patch04_7,mem_patch04
+	disable user
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	enable clknt
+	enable master
+	jam BT_EVT_SWITCH_FAIL_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+roles_replyto_fhs:
+	bpatch patch05_0,mem_patch05
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	disable clknt
+	disable master
+	call apply_switch_clke
+	call prepare_newconn
+roles_newconns_loop:
+	bpatch patch05_1,mem_patch05
+	call slave_newconn_once
+	branch roles_newconns_responded,match
+	call new_conn_timeout
+	nbranch roles_newconns_loop,blank
+	branch role_switch_fail_master
+roles_newconns_responded:
+	fetch 1,mem_mode
+	set0 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	call calc_clke_offset
+	enable user
+	jam BT_EVT_SWITCH_SUCCESS_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+
+
+context_load:
+	bpatch patch05_2,mem_patch05
+	set1 mark_context,mark
+	deposit rega
+	store 2,mem_context_ptr
+	force context_size,loopcnt
+	arg mem_le_state,contw
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	copy rega,contr
+	bbit1 mode_le,memcpy
+	arg mem_state,contw
+	call memcpy
+	disable attempt
+	fetch 1,mem_amaddr
+	iforce am_addr
+	jam 1,mem_current_sniff_attempt
+	branch context_load_master,master
+	jam 1,mem_current_sniff_attempt
+context_load_master:
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	fetch 1,mem_sniff_timeout
+	store 1,mem_current_sniff_timeout
+	rtn
+	
+context_save:
+	bpatch patch05_3,mem_patch05
+	fetch 2,mem_context_ptr
+	iforce contw
+	force context_size,loopcnt
+	arg mem_le_state,contr
+	branch memcpy,le
+	arg mem_state,contr
+	branch memcpy
+
+	
+
+context_get_next:
+	arg context_num,loopcnt
+	fetcht 1,mem_current_context
+context_get_next_loop:
+	increase 1,temp
+	compare context_num,temp,0xff
+	nbranch context_get_next_cont,true
+	arg 0,temp
+context_get_next_cont:
+	storet 1,mem_current_context
+	mul32 temp,context_size,pdata
+	arg mem_context,rega
+	iadd rega,rega
+	ifetch 1,rega
+	bbit1 state_insniff,context_get_next_sniff
+	rtnbit1 state_inconn
+	rtnbit1 state_inpage
+context_get_next_sniff:
+	loop context_get_next_loop
+	rtn
+	
+context_new:
+	bpatch patch05_4,mem_patch05
+	arg context_search_empty,regc
+	call context_search
+	nrtn zero					// all occupied
+	deposit rega
+	store 2,mem_context_ptr
+	force 0,null
+	rtn
+	
+	//return zero if anyone's wack is 1.
+	//return nzero if all wack is 0
+context_check_all_wack:
+	call check_esco_amaddr
+	branch context_check_esco_wack,true
+	fetch 2,mem_context_ptr
+	add pdata,coffset_arq,contw
+	fetch 1,mem_arq
+	istore 1,contw
+	arg context_check_a_wack,regc
+	branch context_search
+
+context_check_esco_wack:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	branch context_esco_wack,true
+	force 1,null
+	rtn
+context_esco_wack:
+	force 0,null
+	rtn
+	
+	//rtn nzero if idle(no conn)
+context_check_idle:
+	arg context_check_inconn,regc
+	branch context_search
+	
+context_traverse_linkkey:
+	fetcht 2,mem_context_ptr
+	arg context_traverse_clearkey,regc
+	branch context_search
+	
+	
+	/* return zero if conn handle is found */
+context_search_conn_handle:
+	fetcht 1,mem_hci_conn_handle
+context_search_conn_handle2:
+	arg context_search_handle,regc
+	branch context_search
+	/* return zero if plap is found */
+context_search_plap:
+	bpatch patch05_5,mem_patch05
+	fetcht 6,mem_hci_plap
+context_search_plap2:
+	arg context_search_lap,regc
+	branch context_search
+	/* return zero if sniff anchor is meet and rega pointers to context */
+context_search_insniff:
+	arg context_search_sniff,regc
+	branch context_search
+	/* return zero if sniff window is in content with current transaction */
+context_search_sniff_window:
+	arg context_search_window,regc
+context_search:
+	bpatch patch05_6,mem_patch05
+	arg mem_context,rega
+	arg context_num,loopcnt
+context_search_loop:
+	ifetch 1,rega
+	copy regc,pc
+context_search_next:
+	increase context_size,rega
+	loop context_search_loop
+	force 1,null
+	rtn
+
+context_search_empty:
+	bbit1 state_inconn,context_search_next
+	bbit1 state_inpage,context_search_next
+	force 0,null
+	rtn
+	
+context_search_lap:
+	bbit1 state_inpage,context_search_lap_cont
+	bbit0 state_inconn,context_search_next
+context_search_lap_cont:
+	add rega,coffset_plap,contr
+	ifetch 6,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_handle:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_conn_handle,contr
+	ifetch 1,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_sniff:
+	bbit0 state_insniff,context_search_next
+context_search_sniff_loop:
+	call context_get_anchor
+	call sign_pdata_temp
+	isub temp,pdata
+	increase 1,pdata
+	branch context_search_sniff_miss,positive
+	copy contr,regb
+	store 9,mem_temp
+	fetch 1,mem_le_sc_calc
+	nbranch context_search_sniff_sc,blank
+	fetch 9,mem_temp
+	copy regb,contr
+	increase 5,pdata  
+	branch context_search_meet1
+context_search_sniff_sc:
+	fetch 9,mem_temp
+	copy regb,contr	
+	increase 20,pdata  
+context_search_meet1:
+	nbranch context_search_next,positive
+context_search_meet:
+	copy temp,bt_clk
+	call context_next_anchor
+	force 0,null
+	rtn
+	
+	
+context_search_sniff_miss:
+	iforce regb
+	add rega,coffset_tsniff,contr
+	ifetch 2,contr
+	branch context_search_meet,blank
+	call context_next_anchor
+	branch context_search_sniff_loop
+
+sign_pdata_temp:
+	rshift16 pdata,timeup    
+	rshift8 timeup,timeup    
+	branch sign_pdata_temp_p0,zero    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	nrtn zero    
+	set1 28,temp    
+	rtn
+sign_pdata_temp_p0:    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	set1 28,pdata    
+	rtn
+
+context_check_inconn:
+	bbit0 state_inconn,context_search_next
+	force 0,null 				// found
+	rtn
+	
+context_check_a_wack:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	add rega,coffset_arq,contr
+	ifetch 1,contr
+	bbit0 wack,context_search_next
+	force 0,null 				// found
+	rtn
+
+context_get_anchor:
+	add rega,coffset_mode,contr
+	ifetcht 1,contr
+	deposit clkn_bt
+	isolate1 mode_master,temp
+	add rega,coffset_sniff_anchor,contr
+	ifetcht 4,contr
+	rtn true
+	add rega,coffset_clk_offset,contr
+	ifetch 6,contr
+	call calc_clke2
+	deposit clke_bt
+	rtn
+
+context_next_anchor:
+	add rega,coffset_tsniff,contr
+	add rega,coffset_sniff_anchor,contw
+	ifetch 2,contr
+	iadd temp,timeup			/* wrap to 28 bits */
+	deposit timeup
+	istore 4,contw
+	branch le_context_nexthop
+	
+
+context_search_window:
+	bbit0 state_insniff,context_search_next
+	call context_get_anchor
+	iadd stop_watch,pdata
+	iadd stop_watch,pdata
+	iadd queue,pdata
+	isub temp,null
+	nbranch context_search_next,positive
+	force 0,null
+	rtn
+
+context_traverse_clearkey:
+	bbit0 state_inconn,context_search_next
+	deposit temp
+	isub rega,null
+	branch context_search_next,null
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	ifetch 1,rega
+	set0 state_linkkey,pdata
+	istore 1,rega
+	branch context_search_next
+
+	
+master_conn_send_packet:
+	bpatch patch05_7,mem_patch05
+	call rf_setup_time_master_slot
+master_send_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	branch transmit_packet
+
+master_conn_recv_packet:
+	bpatch patch06_0,mem_patch06
+	call rf_setup_time_slave_slot
+master_recv_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	call start_rx_native	/* start listening at start_rx time */
+	call start_receiver
+master_rx_conn_finish_packet:
+	call wait_access_clkn_rt	/* master use native clock */
+	nrtn sync
+	call save_rssi
+	branch receive_packet
+	
+	
+
+master_newconn_once:
+	bpatch patch06_1,mem_patch06
+	fetch 1,mem_fhs_am_addr
+	iforce am_addr			//review
+	force type_poll,type
+	call master_conn_send_packet
+	branch master_conn_recv_packet
+
+
+
+
+
+
+/******************************************/
+/************* Inquiry Scan ***************/
+/******************************************/
+
+inquiry_scan_dispatch:
+	fetch 1,mem_scan_mode
+	rtnbit0 inq_scan_mode
+	force iscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_iscan_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call inquiry_scan_start
+	force iscan_interval_timer,queue
+	fetch 2,mem_iscan_interval
+	nbranch timer_init,sync
+	random pdata				/* inquiry scan backoff */
+	iand mask3ff,pdata
+	branch timer_init
+	
+
+inquiry_scan_start:
+	bpatch patch06_2,mem_patch06
+	jam 0,mem_fhs_am_addr
+	disable clknt
+	disable attempt
+	call afh_clear
+	and clkn_bt,0x1fc,bt_clk      /* freeze the clock, set bit[1] 0, this is version 1.1 */
+	force 0x01,freq_mode     /* slave in inquiry scan, kind of same as inquriy_response, this is version 1.1 */
+	call fetch_giac
+	call rx_radio_freq
+	setflip mark_inquiry_state,mark
+	fetch 1,mem_inquiryscan_waitcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_waitcnt
+	call fetch_diac
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_forever	/* until there is timeout, or matched (true) */
+	nrtn sync
+	bpatch patch06_3,mem_patch06
+	force 0,stop_watch
+	call shutdown_radio	/* must have heard */
+	fetch 1,mem_inquiryscan_rcvcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_rcvcnt
+	call fetch_giac
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call send_access_word
+	force type_fhs,type
+	force 0,am_addr                       /* put 0 into am_addr field for fhs */
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	call send_eir
+	and_into 0x1fd,bt_clk                 /* put clk(1) back to 0 */
+	increase 1,N_tx_slot
+	rtn
+
+send_eir:
+	bpatch patch06_4,mem_patch06
+	fetch 1,mem_eir_enable
+	rtn blank
+	arg mem_eir,contw
+	fetch 1,mem_local_name_length
+	copy pdata,loopcnt
+	increase 1,pdata
+	istore 1,contw	
+	copy contw,temp
+	increase 1,pdata
+	store 2,mem_tx_len	
+	copy temp,contw
+	setarg 0x09  //type:name
+	istore 1,contw		
+	arg  mem_local_name,contr
+	call memcpy       //name
+
+	arg mem_all_uuid_128bits,regc
+	arg 4,loopcnt
+	call get_all_uuid
+	arg mem_all_uuid_16bits,regc
+	arg 1,loopcnt
+	call get_all_uuid
+
+	force type_dm3,type		/* DM3 */
+	jam 2,mem_tx_lch
+	setarg mem_eir
+	store 2,mem_txptr
+	call rf_setup_time_slave_slot
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	call send_access_word
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	rtn
+
+
+get_all_uuid:
+	copy contw,temp
+	copy regc,contr
+	ifetch 1,contr
+	rtn blank
+lshift_loop:
+	lshift pdata,pdata
+	loop lshift_loop
+	copy pdata,rega
+	increase 2,pdata
+	copy pdata,queue
+	fetch 2,mem_tx_len
+	iadd queue,pdata
+	store 2,mem_tx_len
+	copy temp,contw
+	copy rega,pdata
+	increase 1,pdata
+	istore 1,contw
+	copy regc,contr
+	ifetch 1,contr
+	ifetch 1,contr	//fetch type
+	istore 1,contw
+	copy rega,loopcnt
+	branch memcpy  //copy uuid
+	
+/******************************************/
+/******** Slave dispatch ***********/
+/******************************************/
+
+page_scan_dispatch:	
+	fetch 1,mem_scan_mode
+	rtnbit0 page_scan_mode
+	force pscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_pscan_window
+	force 40,queue
+	call sniff_check_window
+	rtn user
+	force 0,am_addr
+	jam param_pagerespto,mem_fhs_wait_counter
+	set0 mark_fhs_already_good,mark
+	call page_scan_start
+	force pscan_interval_timer,queue
+	fetch 2,mem_pscan_interval
+	branch timer_init
+	
+
+page_scan_start:
+	bpatch patch06_5,mem_patch06
+	disable clknt
+	call afh_clear
+	fetch 1,mem_pagescan_waitcnt
+	increase 1,pdata
+	store 1,mem_pagescan_waitcnt
+	force 0,N_tx_slot
+	call fetch_self_bt_adr
+	add clkn_bt,1,bt_clk      /* freeze the clock on native clock until scan window is up */
+	force 0x02, freq_mode     /* slave in inquiry and page, not response */
+	bpatch patch06_6,mem_patch06
+	call rx_radio_freq
+	call start_receiver	/* wait for that id packet from master */
+	call wait_access_forever
+	nrtn sync                          /* pscan window timeout occured, back to dispatch */
+	call shutdown_radio	/* got the id packet */
+	fetch 1,mem_pagescan_rcvcnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvcnt
+	force 0,stop_watch
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+	force 0,am_addr
+	arg param_rf_setup, timeup
+	until clke_rt,meet
+	or_into 0x03,clke_bt
+	and_into 0x1fd,bt_clk
+page_scan_wait_fhs_restart:
+	bpatch patch06_7,mem_patch06
+	increase 1,N_tx_slot
+	call rx_radio_freq
+	call start_receiver
+	call wait_access_mhalfbnd
+	nbranch page_scan_wait_fhs_again,sync	/* go back if didn't find access code */
+	call scan_mode_whiten
+	call receive_packet_whitened
+	bmark1 mark_fhs_already_good,page_scan_reply_to_fhs
+page_scan_wait_fhs_again:
+	bpatch patch07_0,mem_patch07
+	fetch 1,mem_fhs_wait_counter
+	rtn blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	call rf_setup_time_master_slot	/* set up expiration time */
+	branch page_scan_wait_fhs_restart
+
+
+page_scan_reply_to_fhs:
+	bpatch patch07_1,mem_patch07
+	set0 1,clke_bt
+	set1 0,clke_bt
+	fetch 1,mem_pagescan_rcvfhscnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvfhscnt
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+slave_apply_clke_bt:
+	compare 0x03,clke_bt,0x03
+	branch slave_apply_clke_bt_now,true
+	until null,mhalfbnd
+	branch slave_apply_clke_bt
+slave_apply_clke_bt_now:
+	fetch 4,mem_clke_bt
+	or_into 0x03,pdata
+	icopy clke_bt
+
+start_slave_connection:
+	bpatch patch07_2,mem_patch07
+	fetch 6,extm_lap
+	store 6,mem_plap
+	call prepare_newconn
+slave_newconn_loop:
+	call slave_newconn_once
+	branch sconn_successful,match     /* we were talked to */
+	call new_conn_timeout
+	nbranch slave_newconn_loop,blank
+	rtn
+
+	
+sconn_successful:
+	bpatch patch07_3,mem_patch07
+	call newconn_init
+	call context_new
+	nrtn zero
+	jam 0,mem_mode
+	call calc_clke_offset
+	branch context_save
+
+
+
+
+slave_dispatch:
+	bpatch patch07_4,mem_patch07
+	call calc_clke
+	call role_switch_slave
+	rtn user
+slave_loop:
+	bpatch patch07_5,mem_patch07
+	call check_bt_disabled
+	call scheduler_process
+	call slave_conn_recv_packet	/* go listen for a packet */
+	nbranch slave_notmatch,match
+	call supervision_flush
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call slave_conn_send_packet
+	call parse_l2cap
+	call parse_lmp
+	fetch 1,mem_slave_rcvcnt
+	increase 1,pdata
+	store 1,mem_slave_rcvcnt
+	call calc_clke_offset
+slave_notmatch:
+	bpatch patch07_6,mem_patch07
+	call lpm_set_mult
+	call supervision_update
+	branch slave_disconnect,positive
+	call check_disconnect_timeout
+	nbranch slave_disconnect,user
+	call check_attempt
+	nbranch slave_loop,blank
+	rtn
+
+slave_disconnect:
+	bpatch patch07_7,mem_patch07
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	call quit_connection
+	set0 mark_testmode,mark
+	call test_enable_white
+	fetch 1,mem_state
+	rtn
+
+
+role_switch_slave:
+	bpatch patch08_0,mem_patch08
+	call role_switch_check
+	nrtn user
+	copy am_addr,temp
+	call get_free_amaddr
+	store 1,mem_fhs_am_addr
+	copy temp,am_addr
+	jam param_newconnto,mem_newconnto_counter
+roles_sendfhs_loop:
+	bpatch patch08_1,mem_patch08
+	call rf_setup_time_master_slot
+	force type_fhs,type
+	call slave_send_access
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call transmit_packet
+	call rf_setup_time_slave_slot
+	enable user3
+	call slave_receive_access
+	branch roles_got_fhs_reply,sync
+	call shutdown_radio
+	call new_conn_timeout
+	nbranch roles_sendfhs_loop,blank
+	rtnmark0 mark_accept_switch
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	rtn
+roles_got_fhs_reply:
+	enable clknt
+	call prepare_newconn
+	call afh_clear
+roles_newconn_loop:
+	bpatch patch08_2,mem_patch08
+	call master_newconn_once
+	branch roles_newconn_responded,sync
+	call new_conn_timeout
+	nbranch roles_newconn_loop,blank
+	disable clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+roles_newconn_responded:
+	enable master
+	bmark0 mark_accept_switch,roles_newconn_nolmp
+	set0 mark_accept_switch,mark
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_HOST_CONNECTION_REQ,mem_lmi_opcode2
+	call tid_set_reply
+roles_newconn_nolmp:
+	deposit am_addr
+	store 1,mem_amaddr
+	force 0,pdata
+	store 6,mem_clk_offset
+	fetch 1,mem_mode
+	set1 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	disable master
+	enable user
+	rtn
+
+	
+
+init_rx_packet_flags:
+	bpatch patch08_3,mem_patch08
+	disable match
+	set0 mark_loopback,mark
+	set0 mark_am_addr_broadcast,mark          /* initialize slave flags */
+	set0 mark_longpacket,mark
+	set0 mark_old_packet,mark
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+	rtn
+
+prepare_newconn:
+	bpatch patch08_4,mem_patch08
+	jam param_newconnto,mem_newconnto_counter
+	jam param_newconn_arq,mem_arq
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	rtn clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+
+newconn_init:
+	bpatch patch08_5,mem_patch08
+	call init_lmp_reinit
+	call new_conn_handle
+	store 1,mem_conn_handle
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	setarg param_supervision_to
+	store 2,mem_supervision_to
+	fetch 1,mem_state
+	set1 state_inconn,pdata
+	store 1,mem_state
+	jam 0,mem_op
+	jam 0,mem_state_map
+	jam 0,mem_lpm_current_mult
+	branch supervision_flush
+	
+
+clear_linkkey:
+	bpatch patch08_6,mem_patch08
+	force 0,pdata
+	store 8,mem_link_key
+	istore 8,contw
+	call clear_linkstate
+	branch context_traverse_linkkey
+	
+new_conn_timeout:
+	fetch 1,mem_newconnto_counter
+	increase -1,pdata
+	store 1,mem_newconnto_counter
+	rtn
+
+new_conn_handle:
+	fetch 1,mem_handle_num
+	increase 1,pdata
+	store 1,mem_handle_num
+	rtn
+
+
+quit_connection:
+	bpatch patch08_7,mem_patch08
+	fetch 1,mem_hci_cmd
+	beq hci_cmd_remote_name_req,quit_connection_name
+	fetch 1,mem_lmp_to_send
+	bne LMP_NAME_REQ,quit_connection_cont
+quit_connection_name:
+	call cmd_check_plap
+	nbranch quit_connection_cont,zero
+	call master_name_error
+	jam 0,mem_hci_cmd
+quit_connection_cont:
+	bpatch patch09_0,mem_patch09
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+ifdef SIMPLE_PAIRING
+	call sp_initialize
+endif
+	fetch 1,mem_state
+	set0 state_inconn
+	store 1,mem_state
+	jam 0,memui_reconnect_mode
+
+	fetch 1,mem_state_map
+	compare 0x0,pdata,0xc0
+	branch quit_connection_not_clear_mark,true
+	set0 mark_rxbuf_inuse,mark
+quit_connection_not_clear_mark:
+	fetch 1,mem_arq
+	bbit0 wack,quit_connection_not_clear_tx
+quit_connection_not_clear_tx:
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap
+	set0 mark_tx_l2cap,mark
+	rtn
+
+slave_newconn_once:
+	bpatch patch09_1,mem_patch09
+	fetch 1,extm_newconn_am_addr
+	rtn blank     
+	icopy am_addr
+	call slave_conn_recv_packet
+	nrtn match
+	force type_null,type
+	call slave_conn_send_packet
+	deposit am_addr
+	store 1,mem_amaddr                 /* now the new am_addr is official */
+	force 0,pdata
+	store 1,extm_newconn_am_addr
+	rtn
+
+
+/******************************************/
+/********  Time consuming task  ***********/
+/******************************************/
+prepare_tx:
+	bpatch patch09_2,mem_patch09
+	fetch 1,mem_state
+	bbit0 state_insco,prepare_tx_not_sco
+	force type_hv3,type
+	bmark0 mark_esco,prepare_tx_not_esco
+	call check_esco_amaddr
+	nbranch prepare_tx_not_sco,true
+	branch prepare_tx_not_sco,attempt	
+	call set_wait_ack					/* send esco only at the first attempt */
+	setarg 2		/* esco only has 1 retry */
+	store 2,mem_retransmission_cnt
+	rtn
+prepare_tx_not_esco:
+	nrtn attempt						/* send sco only at the first attempt */
+prepare_tx_not_sco:
+	bpatch patch09_3,mem_patch09
+	call context_check_all_wack			 //abandon mark_retransmit, use context_check_all_wack instead.
+	nbranch prepare_tx_no_retransmit,zero
+	fetch 1,mem_arq
+	bbit0 wack,prepare_tx_pollnull		/* other wack, tx buffer in use, but not me */
+prepare_tx_retransmit:
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+	fetch 2,mem_retransmission_cnt
+	increase -1,pdata
+	store 2,mem_retransmission_cnt
+	branch prepare_tx_nomore_retransmit,blank
+	fetch 1,mem_last_type
+	iforce type
+	rtn
+
+prepare_tx_nomore_retransmit:
+	bpatch patch09_4,mem_patch09
+	call clear_got_tx
+prepare_tx_no_retransmit:
+	call check_esco_amaddr
+	branch prepare_tx_pollnull,true
+	call send_lmp
+	branch prepare_tx_sendlmp,user
+	fetch 1,mem_op
+	bbit1 op_txl2cap,prepare_tx_sendl2cap
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+prepare_tx_pollnull:
+	force type_poll,type				/* POLL for master */
+	rtn master
+	force type_null,type				/* default is NULL */
+	rtn
+prepare_tx_loopback:
+	bpatch patch09_5,mem_patch09
+	fetch 1,mem_rx_type
+	iforce type
+	rtnne 1
+	force type_null,type
+	rtn
+prepare_tx_txpat:
+	fetch 1,test_mode_packet_type
+	and pdata,0xf,type
+	set1 mark_loopback,mark
+	rtn
+prepare_tx_sendlmp:
+	force type_lmp,type
+	branch set_wait_ack
+prepare_tx_sendl2cap:
+	call tx_l2cap_type
+
+set_wait_ack:
+	bpatch patch09_6,mem_patch09
+	fetcht 1,mem_arq
+	set1 wack,temp
+	storet 1,mem_arq
+	deposit type
+	store 1,mem_last_type
+	setarg 0xffff
+	store 2,mem_retransmission_cnt
+	rtn
+
+tx_l2cap_type:
+	bpatch patch09_7,mem_patch09
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	fetch 2,mem_tx_len
+	branch tx_l2cap_type_edr,true
+	force type_dm1,type		/* DM1 */
+	sub pdata,17,null			
+	rtn positive
+	force type_dh1,type		/* DH1 */
+	sub pdata,27,null				
+	rtn positive
+	force type_dm3,type		/* DM3 */
+	sub pdata,121,null
+	rtn positive
+	force type_dh3,type		/* DH3 */
+	sub pdata,183,null
+	rtn positive	
+	force type_dm5,type		/* DM5 */
+	sub pdata,224,null
+	rtn positive
+	force type_dh5,type		/* DH5 */
+	rtn
+tx_l2cap_type_edr:
+	force type_dm1,type
+	sub pdata,17,null
+	rtn positive
+	force type_dh1,type		/*2-DH1*/
+	sub pdata,54,null
+	rtn positive
+	force type_dm3,type		/*2-DH3*/
+	arg 367,temp
+	isub temp,null
+	nrtn positive
+	force type_dm5,type		/*2-DH5*/
+	arg 679,temp
+	isub temp,null
+	nrtn positive
+	force type_dh5,type		/*3-DH5*/
+	rtn
+
+
+/******************************************/
+/***********  Receive Packet  *************/
+/******************************************/
+
+
+
+slave_receive_master_slot:
+	fetch 1,mem_state
+	bbit0 state_insniff,slave_receive_notsniff
+	fetch 2,mem_tsniff
+	branch slave_receive_notsniff,blank		/* role switch */
+	nbranch slave_receive_sniff,attempt
+slave_receive_notsniff:
+	call rf_setup_time_master_slot
+slave_receive_access:
+	add clke_bt,1,bt_clk
+slave_receive_sniff:
+	enable swfine
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection hop */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	bpatch patch0a_0,mem_patch0a
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	call ahead_window
+	call start_receiver
+	enable decode_fec0
+	fetch 2,mem_rx_window
+	arg param_clke_cal,temp
+	iadd temp,stop_watch
+	correlate null,timeout
+	copy clke,temp
+	storet 6,mem_sync_clke
+	disable decode_fec0
+	nrtn sync
+	arg param_clke_cal,clke_rt
+	copy bt_clk,clke_bt
+	branch lpm_adjust_clk,wake
+	rtn
+	
+
+slave_conn_recv_packet:
+	bpatch patch0a_1,mem_patch0a
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	bmark0 mark_testmode,receive_packet
+	fetch 2,mem_tst_pktcnt_sync
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_sync
+receive_packet:
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+receive_packet_whitened:
+	bpatch patch0a_2,mem_patch0a
+	enable enable_white
+	enable enable_hec
+	enable decode_fec1
+	parse demod,bucket,3  /* get am_addr */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_am_addr
+	parse demod,bucket,4  /* get type */
+	inject bucket,7       /* align up to pwindow */
+	copy pwindow,pdata
+	store 1,mem_rx_type
+	parse demod,bucket,3  /* get arq */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_arq
+	fetch 1,mem_rx_type
+	sub pdata,3,null
+	branch receive_packet_noedr,positive
+	beq 7,receive_packet_noedr		/* esco packet */
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	setflag true,PSK,radio_ctrl
+receive_packet_noedr:
+	bpatch patch0a_3,mem_patch0a
+	parse demod,bucket,8   /* cycle thru hec */
+	disable decode_fec1
+	disable enable_hec   /* at this moment, 1 seqn + 8 hec is in shift */
+	branch error_header,crc_failed  /* if hec error, nothing is valid */
+	bmark0 mark_testmode,receive_packet_amchk
+	fetch 2,mem_tst_pktcnt_hec
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_hec
+receive_packet_amchk:	
+	bpatch patch0a_4,mem_patch0a
+	fetch 1,mem_temp_am_addr
+	compare 0,pdata,0x07           /* check for broadcast */
+	setflag true,mark_am_addr_broadcast,mark   /* received a broadcast message, can fire ar_addr if during unpark_req */
+	branch am_addr_ok,true
+	icompare 0x07,am_addr
+	branch am_addr_match,true
+	bmark0 mark_esco,end_of_packet
+	fetcht 1,mem_saved_amaddr
+	icompare 0x7,temp
+	nbranch end_of_packet,true
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+am_addr_match:
+	enable match
+am_addr_ok:
+	bpatch patch0a_5,mem_patch0a
+	fetch 1,mem_rx_type
+	icopy type
+	bmark1 mark_am_addr_broadcast,arqn_bypass        /* arqn doesn't make sense */
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set0 flow,pdata
+	isolate1 flow,temp
+	setflag true,flow,pdata
+	isolate1 arqn,temp
+	setflag true,arqn,pdata
+	store 1,mem_arq
+	isolate0 arqn,temp
+	branch arqn_bypass,true
+	call clear_got_tx
+arqn_bypass:
+	bpatch patch0a_6,mem_patch0a
+	arg 0,temp
+	call reserve_slot
+	and type,0xf,pdata
+	beq type_poll,process_poll
+	beq type_null,end_of_packet	/* null */
+	beq type_fhs,process_fhs
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	icompare 0x04,temp    /* bit 2 is seqn */
+	nbranch rx_type_dispatch,true   /* different then it's new */
+	bmark0 mark_am_addr_broadcast,failed_seqn         /* seqn failed, and not broadcast */
+	bbit0 bcast1,rx_type_dispatch           /* first broadcast never fail seqn */
+failed_seqn:
+	set1 mark_old_packet,mark
+rx_type_dispatch:
+	bpatch patch0a_7,mem_patch0a
+	deposit type
+	beq type_dm1, process_dm1
+	beq type_dh1, process_dh1
+	beq type_hv3, process_hev
+	beq type_3dh1, process_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, process_dm3
+	beq type_dh3, process_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dm5, process_dm5
+	beq type_dh5, process_dh5
+	rtn
+
+
+process_hev:
+	bpatch patch0b_0,mem_patch0b
+	enable decode_fec0
+	enable enable_crc
+	enable encrypt
+	arg mem_sco_ibuf,contw
+	force 30,loopcnt
+process_hev_loop:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_hev_loop
+	bmark0 mark_esco,end_of_packet
+	parse demod,bucket,16  /* cycle through the crc */
+	nsetflag crc_failed,mark_esco_rxok,mark
+	branch error_payload,crc_failed
+	branch ack_payload
+
+
+process_poll:
+	branch end_of_packet
+
+process_dm3:
+process_dm5:
+	set1 mark_longpacket,mark
+process_dm1:
+	enable decode_fec2
+	branch process_dmh
+	
+process_dh3:
+process_dh5:
+	set1 mark_longpacket,mark
+process_3dh1:
+	set1 PSK3M,radio_ctrl
+process_dh1:
+	enable decode_fec0
+process_dmh:
+	bpatch patch0b_1,mem_patch0b
+	bmark1 mark_rxbuf_inuse,end_of_packet			/* buffer in use, nack */
+	isolate0 PSK,radio_ctrl
+	branch process_dmh_noedr,true
+	disable enable_white
+	enable decode_fec0
+	disable decode_fec2
+	add clkn_bt,2,timeup
+	correlate clkn_bt,meet
+	nbranch error_payload,sync
+	set1 mark_longpacket,mark
+	enable enable_white
+process_dmh_noedr:
+	bpatch patch0b_2,mem_patch0b
+	enable encrypt
+	enable enable_crc
+	parse demod,bucket,3  /* parse in lch+l2cap flow */
+	rshift8 pwindow,pdata
+	store 1,mem_lch_code		/* for loopback */
+	parse demod,bucket,5  /* parse in 5 bit packetlength */
+	bmark1 mark_longpacket,process_dmh_long
+	rshift3 pwindow,loopcnt
+	rshift3 loopcnt,loopcnt
+	branch process_dmh_common
+process_dmh_long:
+	parse demod,bucket,5		/* multi slot packet length of dh3 dh5 dm3 dm5 */
+	rshift pwindow,loopcnt
+	parse demod,bucket,3  /* undefined+bit 9 of length */
+process_dmh_common:	
+	bpatch patch0b_3,mem_patch0b
+	deposit loopcnt
+	store 2,mem_len
+	branch process_dmh_data_end,blank
+	isub mask3ff,null
+	branch error_payload,positive	/* packet too large, discard */
+	bpatch patch0b_4,mem_patch0b
+	set0 mark_fhs_eir,mark
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	arg mem_rxbuf,contw //lmp_data or test packet
+	beq LLID_LMP,process_lmp
+	bmark1 mark_testmode,process_dmh_data
+	//non-HCI mode
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	beq LLID_L2CAP_START,process_dmh_data_l2cap_start_pkt
+	beq LLID_L2CAP_CONT,process_dmh_data_l2cap_continue_pkt
+	branch error_payload
+
+process_lmp:
+	fetch 2,mem_len
+	sub pdata,0x70,null		//lmp buffer size
+	nbranch error_payload,positive
+	bmark1 mark_old_packet,ack_payload
+	branch process_dmh_data
+
+	
+process_dmh_data_l2cap_start_pkt:
+	bpatch patch0b_5,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_inuse
+	bbit0 L2CAP_INUSE_BUFF1,process_dmh_data_into_buff1
+	bbit0 L2CAP_INUSE_BUFF2,process_dmh_data_into_buff2
+	branch end_of_packet
+process_dmh_data_into_buff1:
+	jam 1,mem_l2cap_rxbuff_new //new data in buff 1
+	fetch 2,mem_l2cap_rxbuff1_len
+	bne 0,end_of_packet			//baseband head error
+	arg mem_l2cap_rxbuff1,contw
+	branch process_dmh_data
+process_dmh_data_into_buff2:
+	jam 2,mem_l2cap_rxbuff_new //new data in buff 2
+	fetch 2,mem_l2cap_rxbuff2_len
+	bne 0,end_of_packet
+	arg mem_l2cap_rxbuff2,contw
+	branch process_dmh_data
+	
+process_dmh_data_l2cap_continue_pkt:
+	bpatch patch0b_6,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_dmh_data_l2cap_continue_pkt1
+	beq 2,process_dmh_data_l2cap_continue_pkt2
+	branch end_of_packet
+process_dmh_data_l2cap_continue_pkt1:
+	arg mem_l2cap_rxbuff1,contw
+	fetch 2,mem_l2cap_rxbuff1_len
+	iadd contw,contw
+	branch process_dmh_data
+process_dmh_data_l2cap_continue_pkt2:
+	arg mem_l2cap_rxbuff2,contw
+	fetch 2,mem_l2cap_rxbuff2_len
+	iadd contw,contw
+process_dmh_data:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_dmh_data
+process_dmh_data_end:	
+	bpatch patch0b_7,mem_patch0b
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload_crc,crc_failed
+	fetch 1,mem_l2cap_flow_ctrl_flag
+	beq L2CAP_FLOW_CTRL_ENABLE,end_of_packet
+	bmark1 mark_testmode,process_dmh_cont
+	bmark1 mark_old_packet,redundant_payload
+	fetch 1,mem_lch_code
+	compare 3,pdata,3
+	branch process_dmh_cont,true
+	fetch 2,mem_len
+	branch process_dmh_cont,blank
+	bpatch patch0c_0,mem_patch0c
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_l2cap_pass_crc_buff1
+	beq 2,process_l2cap_pass_crc_buff2
+	branch assert
+process_l2cap_pass_crc_buff1:
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff1_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff1// l2cap payload length
+	increase 4,temp
+	isub temp,null
+	call l2cap_buff1_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_l2cap_pass_crc_buff2:
+	fetch 2,mem_l2cap_rxbuff2_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff2_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff2// l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_dmh_cont:
+	bpatch patch0c_1,mem_patch0c
+	fetcht 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	setflag true,smap_rxlmp,temp
+	nsetflag true,smap_rxl2cap,temp
+	storet 1,mem_state_map
+	nbranch process_dmh_cont_rxbuf_not_use,true
+	set1 mark_rxbuf_inuse,mark
+process_dmh_cont_rxbuf_not_use:
+	bmark0 mark_testmode,ack_payload
+	isolate1 smap_rxlmp,temp
+	branch ack_payload,true
+	fetch 2,mem_tst_pktcnt_crc
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_crc
+	set1 mark_loopback,mark
+	set0 smap_rxl2cap,temp
+	set0 mark_rxbuf_inuse,mark
+	storet 1,mem_state_map
+ack_payload:
+	bpatch patch0c_2,mem_patch0c
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	isolate1 seqn,temp            /* if accept, seqn always copies from the header */
+	setflag true,seqn,pdata
+	isolate1 mark_am_addr_broadcast,mark
+	setflag true,bcast1,pdata
+	store 1,mem_arq
+	fetch 2,mem_len
+	nbranch end_of_packet,blank
+	fetch 1,mem_state_map
+	set0 smap_rxl2cap,pdata//better to do this in l2cap_flow_ctrl_stop
+	store 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 0x01,pdata,0x07
+	//call l2cap_flow_ctrl_stop,true
+	branch end_of_packet
+	
+error_header:
+	bpatch patch0c_3,mem_patch0c
+	disable match
+	fetch 2,mem_rx_hec_err
+	increase 1,pdata
+	store 2,mem_rx_hec_err
+	branch end_of_packet
+error_payload_crc:
+	fetch 2,mem_rx_crc_err
+	increase 1,pdata
+	store 2,mem_rx_crc_err
+	call discard_pkt
+	bmark0 mark_testmode,error_payload
+	set1 mark_loopback,mark
+error_payload:
+	branch end_of_packet
+	
+discard_pkt:
+	bpatch patch0c_4,mem_patch0c
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	nbranch discard_pkt_l2cap,true
+discard_pkt_lmp:	
+	fetcht 1,mem_state_map
+	set0 smap_rxlmp,temp
+	storet 1,mem_state_map
+	rtn
+discard_pkt_l2cap:
+//	isolate1 mark_testmode,mark
+//	setflag true,mark_loopback,mark
+	fetcht 1,mem_state_map
+	set0 smap_rxl2cap,temp
+	storet 1,mem_state_map
+	branch  h4_send_acl_trigger_clear
+
+redundant_payload:
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	store 1,mem_arq
+end_of_packet:
+	bpatch patch0c_5,mem_patch0c
+	disable encode_fec0
+	disable encode_fec2
+	disable decode_fec0
+	disable decode_fec2
+	disable enable_crc
+	disable encrypt
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+	
+process_fhs:
+	bpatch patch0c_6,mem_patch0c
+	enable enable_crc
+	enable decode_fec2
+	parse demod,bucket,72
+	isolate1 58,pdata
+	setflag true,mark_fhs_eir,mark
+	copy bt_adr,temp             /* save current address to aside */
+	ialigned bt_adr            /* send it to access gen */
+	ialigned fhs0			/* get fhs_misc */
+	pulse recalc                /* calc the lap just received from the other guy */
+	setsect 2,0xfffff             /* preset ms of shift reg as big mask */
+	setsect 3,0x0ffff             /* preset ms of shift reg as big mask */
+	nop 32                       /* 30 cycles after recalc */
+	iverify fhs_parity             /* check fhs_parity against ls 34 bits at shift reg, with msb 36 bits as mask */
+	deposit lap
+	store 3,extm_lap
+	deposit uap
+	store 1,extm_uap
+	copy temp,bt_adr             /* put the address back */
+	branch fhs_parity_ok,true     /* fhs parity failed */
+	branch error_payload
+fhs_parity_ok:
+	bpatch patch0c_7,mem_patch0c
+	parse demod,bucket,72
+	ialigned fhs1                   /* give host the information on class and fhs_misc */
+	ialigned am_addr                /* store the am_addr the master assigned us */
+	ialigned nap
+	ialigned regb                   /* store external clock in regb according to clock format */
+	force 0,pdata
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload,crc_failed
+	setarg 0x0ffffffc
+	iand regb,pdata
+	store 4,mem_clke_bt
+	deposit fhs_class
+	store 3,extm_class
+	deposit fhs_misc
+	store 1,extm_fhs_misc
+	deposit am_addr
+	store 1,extm_newconn_am_addr
+	deposit nap
+	store 2,extm_nap
+	deposit bt_clk
+	inject rxf,32
+	compare type_fhs,type,0x0f         /* see if this was fhs packet */
+	setflag true,mark_fhs_already_good,mark
+	branch end_of_packet
+
+clear_got_tx:
+	bpatch patch0d_0,mem_patch0d
+	fetch 1,mem_arq
+	rtnbit0 wack
+	set0 wack,pdata
+	setflip seqnx,pdata
+	store 1,mem_arq
+	fetch 1,mem_last_type
+	beq type_lmp,clear_got_txlmp
+	rtneq type_hv3
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap,pdata
+	set0 op_txl2cap,pdata
+	set1 op_pkt_comp,pdata
+	store 1,mem_op
+	set0 mark_tx_l2cap,mark
+	fetch 2,mem_l2cap_tx_multi_offset
+	nrtn blank
+	fetch 1,mem_op
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	branch l2cap_malloc_free
+
+clear_got_txlmp:
+	bpatch patch0d_1,mem_patch0d
+	fetch 1,mem_lmo_header_opcode
+	rshift pdata,pdata
+	beq LMP_START_ENCRYPTION_REQ,start_encryption
+	beq LMP_STOP_ENCRYPTION_REQ,stop_encryption
+	beq LMP_UNSNIFF_REQ, sniff_exit
+	beq LMP_ESCAPE,clear_lmp_escape
+	rtnne LMP_ACCEPTED
+	fetch 1,mem_lmo_payload
+	beq LMP_SCO_LINK_REQ,sco_link_req_by_slave
+	beq LMP_START_ENCRYPTION_REQ,clear_send_setup_complete
+	rtn
+
+clear_lmp_escape:
+	fetch 1,mem_lmo_payload
+	set1 7,pdata
+	rtn
+clear_send_setup_complete:
+	rtn master
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+	
+// nokia BH-105  CALLING when reconnection
+sco_link_req_by_slave:
+	rtn master
+	fetch 1,mem_mode
+	isolate1 send_sco_when_slave,pdata
+	branch clean_mem_mode,true
+	//jam LMP_REMOVE_SCO_LINK_REQ,mem_lmo_opcode2
+	rtn
+clean_mem_mode:
+	set0 send_sco_when_slave,pdata
+	store 1,mem_mode
+	rtn
+	
+start_encryption:
+	bpatch patch0d_2,mem_patch0d
+	fetch 1,mem_state_map
+	set1 smap_encryption,pdata
+	store 1,mem_state_map
+	hjam 1,core_encrypt
+	fetch 1,mem_state
+	isolate1 state_conn_comp,pdata
+	rtn
+
+stop_encryption:
+	bpatch patch0d_3,mem_patch0d
+	fetch 1,mem_state_map
+	set0 smap_encryption,pdata
+	store 1,mem_state_map
+	hjam 0,core_encrypt
+	rtn
+
+
+sniff_init:
+	bpatch patch0d_4,mem_patch0d
+	copy clkn_bt,pdata
+	store 4,mem_lpm_delay_after_sniff
+	add clkn_bt,3,rega
+	branch sniff_init_master,master
+	add clke_bt,3,rega
+sniff_init_master:
+	fetcht 2,mem_tsniff
+	deposit rega
+	set0 27,pdata
+	idiv temp
+	fetch 2,mem_dsniff
+	call wait_div_end
+	remainder regc
+	isub regc,pdata
+	branch sniff_init_nowrap,positive
+	iadd temp,pdata
+sniff_init_nowrap:
+	iadd rega,pdata
+	store 4,mem_sniff_anchor
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	fetch 1,mem_state
+	set1 state_insniff,pdata
+	store 1,mem_state
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	setarg 0
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 1,mem_sniff_unint_lost
+	jam BT_EVT_ENTER_SNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	nrtn master
+	add am_addr,-1,queue
+	rtn
+
+sniff_exit:
+	bpatch patch0d_5,mem_patch0d
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	set0 state_insniff,pdata
+	store 1,mem_state
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	disable wake
+	jam BT_EVT_EXIT_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+check_attempt:
+	bpatch patch0d_6,mem_patch0d
+	enable attempt
+	fetch 1,mem_state
+	bbit1 state_insniff,check_attempt_sniff
+	rtnmark1 mark_testmode						/* pdata won't be blank now, try attempt */
+	fetch 1,mem_arq
+	rtnbit1 wack
+	fetch 1,mem_lmp_to_send
+	nrtn blank
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+check_attempt_nomore:
+	force 0,pdata
+	rtn
+
+check_attempt_sniff:
+	bbit0 state_insco,check_attempt_not_sco
+	fetch 1,mem_current_sniff_attempt
+	beq 2,check_attempt_sniff_restore_sco
+	fetch 1,mem_arq
+	bbit1 wack,check_attempt_notimeout
+	bmark0 mark_esco_rxok,check_attempt_notimeout
+check_attempt_sniff_restore_sco:
+	nbranch check_attempt_notimeout,master
+	fetch 1,mem_lmp_to_send
+	nbranch check_attempt_notimeout,blank
+check_attempt_sco_master:
+	fetch 1,mem_sco_poll
+	increase -1,pdata
+	store 1,mem_sco_poll
+	nbranch check_attempt_nomore,blank
+	jam param_sco_poll,mem_sco_poll
+	branch check_attempt_notimeout
+
+
+
+
+
+	
+check_attempt_not_sco:
+	fetch 1,mem_current_sniff_attempt
+	bne 1,check_attempt_notimeout
+	fetch 1,mem_current_sniff_timeout
+	branch check_attempt_notimeout,blank
+	increase -1,pdata
+	store 1,mem_current_sniff_timeout
+	fetch 1,mem_arq
+	rtnbit1 wack						// waiting for next ack
+	nrtn match						// waiting for next poll
+check_attempt_notimeout:
+	fetch 1,mem_current_sniff_attempt
+	increase -1,pdata
+	store 1,mem_current_sniff_attempt
+	rtn
+
+
+
+
+
+
+
+
+
+	/* enable user if sniff window vialation, queue is extra overhead */
+sniff_check_window:
+	bpatch patch0d_7,mem_patch0d
+	disable swfine
+	copy temp,stop_watch
+	call context_search_sniff_window
+	disable user
+	nrtn zero
+	force 0,stop_watch
+	enable user
+	rtn
+
+	//return true if it is esco context
+check_esco_amaddr:
+	fetch 1,mem_esco_addr
+	icompare 0xff,am_addr
+	rtn
+	
+
+parse_l2cap:	
+	bpatch patch0e_0,mem_patch0e
+	set0 mark_rxbuf_inuse,mark 
+parse_l2cap_cont:
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtn blank
+	isolate1 L2CAP_INUSE_BUFF1,pdata
+	arg mem_l2cap_rxbuff1,contr
+	call process_rx_l2cap_pkt,true
+	bpatch patch0e_1,mem_patch0e
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff1
+	
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtnbit0 L2CAP_INUSE_BUFF2
+	arg mem_l2cap_rxbuff2,contr	
+	call process_rx_l2cap_pkt
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff2
+	rtn
+		
+parse_l2cap_release_buff1:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	rtn
+parse_l2cap_release_buff2:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff2_len
+	rtn
+
+l2cap_buff1_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+l2cap_buff2_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+/******************************************/
+/**********  Transmit Packet  *************/
+/******************************************/
+
+slave_send_access:
+	bpatch patch0e_2,mem_patch0e
+	add clke_bt,1,bt_clk          /* slave start to use native clock */
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection frequency */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	branch send_access_word
+	
+
+slave_conn_send_packet:
+	bpatch patch0e_3,mem_patch0e
+	call rf_setup_time_slave_slot
+	deposit clke_bt
+	fetcht 4,mem_next_btclk
+	isub temp,pdata
+	rtnne 1					/* missed slave slot */
+	compare type_null,type,0x1f
+	nbranch slave_conn_send_access,true
+	fetch 1,mem_rx_type
+	rtn blank					/* null packet, do nothing */
+slave_conn_send_access:
+	call slave_send_access
+transmit_packet:
+	compare type_id,type,0x1f        /* is this id only ? */
+	branch end_of_packet,true
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+transmit_packet_whitened:
+	bpatch patch0e_4,mem_patch0e
+	enable enable_white
+	enable enable_hec
+	enable encode_fec1
+	set0 mark_longpacket,mark
+	deposit am_addr
+	inject mod,3             /* am_addr, temp is disabled */
+	deposit type
+	inject mod,4
+	fetch 1,mem_arq   /* aka mem_arq */
+	inject bucket,4  /* align up to flowx, arqnx, seqnx */
+	inject mod,3
+	enable enable_parity
+	inject mod,8   /* transmit parity */
+	disable encode_fec1
+	disable enable_parity
+	disable enable_hec
+	set0 PSK3M,radio_ctrl
+	arg 0,temp
+	call reserve_slot
+	bpatch patch0e_5,mem_patch0e
+	and type,0x1f,pdata
+	beq type_lmp, transmit_lmp
+	beq type_null, end_of_packet
+	beq type_poll, end_of_packet
+	beq type_fhs, transmit_fhs  /* master mode fhs need got_tx and ack */
+	beq type_dm1, transmit_dm1
+	beq type_dh1, transmit_dh1
+	beq type_hv3, transmit_hev
+	beq type_3dh1, transmit_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, transmit_dm3
+	beq type_dh3, transmit_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dh5, transmit_dh5
+	branch transmit_dm5	/* must be 14, dm5 */
+
+
+transmit_hev:
+	bpatch patch0e_6,mem_patch0e
+	enable encode_fec0
+	enable enable_crc
+	enable encrypt
+	force 30,loopcnt
+	arg mem_sco_obuf,contr
+transmit_ev_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_ev_loop
+	bmark1 mark_esco,transmit_end
+	branch end_of_packet
+	
+transmit_fhs:
+	bpatch patch0e_7,mem_patch0e
+	fetch 1,mem_fhs_am_addr            /* this is the am_addr to assign to slave */
+	icopy am_addr
+	fetch 1,mem_fhs_misc
+	icopy fhs_misc    /* [7:6]SR [5:4]SP [3:1]PS [0]undef  */
+	fetch 3,mem_class   /* store away class */
+	icopy fhs_class
+	fetch 2,mem_nap
+	icopy nap
+	enable enable_crc
+	enable encode_fec2
+	copy bt_adr,rega
+	call fetch_self_bt_adr
+	pulse recalc
+	nop 32                    /* 30 cycles after recalc for sync word generation */
+	copy bt_clk,timeup
+	fetch 4,mem_clkn_bt
+	icopy bt_clk
+	preload fhs0
+	set1 58,pdata		/* eir */
+	inject mod,72
+	preload fhs1
+	inject mod,72
+	copy timeup,bt_clk
+	copy rega,bt_adr
+	enable enable_parity
+	inject mod,16   /* generate CRC */
+	disable enable_parity
+	branch end_of_packet
+
+transmit_lmp:    /* expect the payload ready as in bb spec */
+	bpatch patch0f_0,mem_patch0f
+	enable encrypt
+	enable enable_crc
+	enable encode_fec2
+	fetch 1,mem_lmo_header_length   /* this is the payload header */
+	and pdata,0x1f8,temp       /* temp is number of bits, check payload header format */
+	arg mem_lmo_header_length,contr
+	increase 8,temp   /* temp is in bits */
+transmit_lmp_loop:
+	add temp,-72,regc   /* regc is remainder */
+	nbranch transmit_lmp_finish,positive
+	ifetch 9,contr
+	inject mod,72
+	copy regc,temp
+	branch transmit_lmp_loop
+transmit_lmp_finish:
+	ifetch 9,contr
+	iinject mod,temp
+	branch transmit_end
+
+transmit_dm1:
+	enable encode_fec2
+	branch transmit_dmh
+transmit_dm3:
+transmit_dm5:
+	enable encode_fec2
+	set1 mark_longpacket,mark
+	branch transmit_dmh
+
+transmit_3dh1:
+	set1 PSK3M,radio_ctrl
+transmit_dh1:
+	enable encode_fec0
+	branch transmit_dmh
+	
+transmit_dh3:
+transmit_dh5:
+	set1 PSK3M,radio_ctrl
+	enable encode_fec0
+	set1 mark_longpacket,mark
+
+transmit_dmh:
+	bpatch patch0f_1,mem_patch0f
+	fetch 1,mem_state_map
+	bbit0 smap_edr,transmit_noedr
+	sub type,3,null
+	branch transmit_noedr,positive
+	disable encrypt
+	disable encode_fec2
+	enable encode_fec0
+	disable enable_white
+	set1 PSK,radio_ctrl
+	isolate1 PSK3M,radio_ctrl
+	branch transmit_edr3m,true
+	setarg 0xabeee
+	inject mod,20
+	branch transmit_edr_sync_end
+transmit_edr3m:
+	setarg 0x5faeba
+	inject mod,24
+	setarg 0x12
+	inject mod,6
+transmit_edr_sync_end:	
+	enable enable_white
+	set1 mark_longpacket,mark
+transmit_noedr:
+	enable encrypt
+	enable enable_crc
+	bmark1 mark_loopback,transmit_loopback
+	fetch 1,mem_tx_lch
+	inject mod,3
+	fetch 2,mem_tx_len
+	iforce loopcnt
+	bmark1 mark_longpacket,transmit_long
+	inject mod,5
+	branch transmit_stuff
+transmit_long:	
+	inject mod,13
+transmit_stuff:
+	deposit loopcnt
+	branch transmit_end,blank
+	fetch 2,mem_txptr
+	iforce contr
+transmit_stuff_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_stuff_loop
+//	branch transmit_end
+
+transmit_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	call set_wait_ack
+	fetch 1,mem_state_map
+	bbit0 smap_edr,end_of_packet
+	force 0,pdata
+	inject mod,6				/* edr trailer */
+	branch end_of_packet
+
+
+transmit_loopback:
+	bpatch patch0f_2,mem_patch0f
+	bmark1 mark_longpacket,transmit_loopback_long
+transmit_loopback_short:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 1,mem_len	/* take packet length */
+	iforce regc
+	inject mod,5
+	branch transmit_loopback_cont
+transmit_loopback_long:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 2,mem_len	/* take packet length */
+	iforce regc
+	inject mod,13
+transmit_loopback_cont:
+	arg mem_rxbuf,contr
+transmit_loopback_loop:	
+	copy regc,null
+	branch transmit_loopback_end,zero
+	ifetch 1,contr
+	inject mod,8
+	increase -1,regc
+	branch transmit_loopback_loop
+transmit_loopback_end:
+	fetch 2,mem_tst_pktcnt_dmh
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_dmh
+	branch transmit_end
+	
+
+apply_switch_clke:
+	fetch 4,mem_clke_bt
+	add pdata,7,rega
+	fetch 2,mem_slot_offset
+	nbranch apply_switch_nozero,blank
+	increase -3,rega
+	branch apply_switch_wait_loop
+apply_switch_nozero:
+	mul32 pdata,12,pdata
+	hfetcht 2,core_halfslot
+	increase 1,temp
+apply_switch_loop:
+	isub temp,pdata
+	nbranch apply_switch_bt,positive
+	increase -1,rega
+	branch apply_switch_loop
+apply_switch_bt:
+	sub pdata,0,pdata
+apply_switch_wait_loop:
+	until null,oneslot
+	compare 0,clkn_bt,3
+	nbranch apply_switch_wait_loop,true
+	iforce clke_rt
+	copy rega,clke_bt
+	iforce clke_rt
+	rtn
+	
+
+calc_slot_offset:
+	bpatch patch0f_3,mem_patch0f
+	until null,halfslot
+	deposit clke
+	iforce contr
+	rshift16,pdata,pdata
+	isub clkn_bt,loopcnt
+	and_into 3,loopcnt			/* bt portion */
+	nbranch calc_bt_portion,zero
+	force 0,pdata
+	branch calc_skip_bt
+calc_bt_portion:
+	arg 3750,temp
+	force 0,pdata
+calc_slot_offset_loop:
+	iadd temp,pdata
+	loop calc_slot_offset_loop
+calc_skip_bt:
+	iadd contr,pdata			/* add rt portion */
+	div pdata,12
+	call wait_div_end
+	quotient pdata
+	store 2,mem_slot_offset
+	rtn
+
+calc_clke_offset:
+	bpatch patch0f_4,mem_patch0f
+	deposit clke
+	copy clkn,temp
+	isub temp,null
+	nsetflag positive,44,pdata
+	isub temp,temp
+	setarg 3750
+	isolate0 15,temp
+	branch calc_clke_pos,true
+	setarg -61786
+	iadd temp,temp
+calc_clke_pos:
+	storet 6,mem_le_clk_offset
+	rtn le
+	storet 6,mem_clk_offset
+	rtn
+
+calc_clke:
+	disable clknt
+	fetch 6,mem_le_clk_offset
+	branch calc_clke2,le
+	fetch 6,mem_clk_offset
+calc_clke2:
+	iadd clkn,alarm
+	increase 10,alarm
+	setarg 3750
+	isub alarm,pdata
+	isolate0 15,pdata
+	branch calc_clke_pos_adj,true
+	setarg 0xf15a
+	iadd alarm,alarm
+calc_clke_pos2:
+	copy alarm,clke
+	rtn
+calc_clke_pos_adj:		/* add 2 clock */
+	force 0,null
+	branch calc_clke_pos2
+	
+/******************************************/
+/********* RF related functions ***********/
+/******************************************/
+
+
+calc_radio_freq:
+	bpatch patch0f_5,mem_patch0f
+	call set_sync_on
+	copy bt_clk,pdata
+	and_into 0x180,pdata
+	compare 3,freq_mode,0x07
+	nbranch freq_not_connection,true    /* don't do the hack if not in connection */
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	branch do_hop_mod_now
+freq_not_connection:	
+	copy freq_index,pdata
+do_hop_mod_now:
+	div pdata,79
+	pulse recalc         /* now is good time to recalc id */
+	call wait_div_end
+	remainder rega
+	add rega,-40,temp
+	branch odd_half,positive
+	lshift rega,temp
+	branch freq_result
+odd_half:
+	lshift temp,temp
+	increase 1,temp
+freq_result:	
+	bpatch patch0f_6,mem_patch0f
+	fetch 1,mem_mode
+	bbit0 afh_change,afh_process_con
+afh_process_0:	
+	fetch 4, mem_afh_instant   
+	isub bt_clk, null
+	branch afh_process_con,positive
+	call afh_clear
+	fetch 1,mem_afh_new_mod
+	rtn blank
+	fetch 1,mem_mode
+	set1 afh_enable,pdata
+	store 1,mem_mode
+	fetch 5,mem_afh_map_new
+	store 5,mem_afh_map_lo
+	ifetch 5,contr
+	store 5,mem_afh_map_hi
+	call afh_process_freq_map
+afh_process_con:
+	fetch 1,mem_mode
+	rtnbit0 afh_enable
+	isolate1 1,bt_clk
+	branch afh_same_channel,true	/* at odd slot, use the same as last even */
+	rshift3 temp,rega
+	and temp,7,queue
+	setarg mem_afh_map_lo  
+	iadd rega, rega
+	ifetch 1, rega
+	qisolate0 pdata
+	branch afh_process_1,true		/* not in map, do afh */
+	deposit temp
+	branch afh_process_end
+afh_process_1:
+	fetch 1, mem_afh_used
+	iforce regb                     
+	deposit bt_clk
+	and_into 0x180, pdata
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	idiv regb
+	setarg mem_afh_map     
+	call wait_div_end
+	remainder rega
+	iadd rega,contr
+	ifetch 1,contr
+afh_process_end:	
+	store 1,mem_afh_index
+	iforce temp  
+  	rtn
+
+afh_same_channel:
+	fetch 1, mem_afh_index           /* last afh index  */
+	iforce temp
+	rtn
+
+afh_clear:
+	fetch 1,mem_mode
+	set0 afh_enable,pdata
+	set0 afh_change,pdata
+	store 1,mem_mode
+	rtn
+/*
+fixed_frequency:
+	fetcht 1,mem_fixed_freq
+	rtn
+*/
+afh_process_freq_map:
+	bpatch patch0f_7,mem_patch0f
+	arg mem_afh_map,contw
+	force 10,loopcnt
+	call memset0
+	arg mem_afh_map,contw
+	force 0,regC
+	force 2,queue
+process_freq_3:	
+	fetch 5,mem_afh_map_lo
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_1,true
+	rshift temp,temp
+process_freq_1:	
+	isolate0 0,temp
+	branch process_freq_0,true
+	deposit regC
+	istore 1,contw
+process_freq_0:
+	rshift2 temp,temp
+	increase 2,regC
+	compare 40,regC,0xfe
+	nbranch process_freq_2,true
+	fetch 5,mem_afh_map_hi
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_2,true
+	rshift temp,temp
+process_freq_2:	
+	sub regC,78,null
+	branch process_freq_1,positive
+	force 1,regC
+	increase -1,queue
+	nbranch process_freq_3,zero
+	arg mem_afh_map,rega
+	deposit contw
+	isub rega,pdata
+	store 1,mem_afh_used
+	rtn
+
+rx_radio_freq:
+	bpatch patch10_0,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_rx_fixed_freq,rx_radio_freq_now
+	fetcht 1,mem_rx_fixed_freq
+rx_radio_freq_now:
+	branch set_freq_rx
+	
+
+tx_radio_freq:
+	bpatch patch10_1,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_tx_fixed_freq,tx_radio_freq_now
+	fetcht 1,mem_tx_fixed_freq
+tx_radio_freq_now:
+	branch set_freq_tx
+	
+
+fetch_giac:
+	force 0,uap
+	fetch 3,mem_glap
+	iforce lap
+	rtn
+
+fetch_page_bt_adr:
+	bpatch patch10_2,mem_patch10
+	fetch 1,mem_hci_puap
+	icopy uap
+	fetch 3,mem_hci_plap
+	icopy lap
+	rtn
+
+fetch_self_bt_adr:
+	bpatch patch10_3,mem_patch10
+	fetch 2,mem_nap
+	icopy nap
+	fetch 1,mem_uap
+	icopy uap
+	fetch 3,mem_lap
+	icopy lap                 /* copy self_adr,bt_adr */      /* use own address */
+	rtn
+
+fetch_extm_bt_adr:
+	bpatch patch10_4,mem_patch10
+	fetch 2,mem_pnap
+	icopy nap
+	fetch 1,mem_puap
+	icopy uap
+	fetch 3,mem_plap
+	icopy lap         
+	rtn
+
+
+fetch_diac:
+	bmark1 mark_all_diac,fetch_diac_do
+	rtnmark0 mark_inquiry_state
+	rtnmark0 mark_periodical_diac
+fetch_diac_do:
+	and_into -256,lap
+	pulse recalc
+	nop 32
+	rtn
+
+
+shutdown_radio:
+	bpatch patch10_5,mem_patch10
+	branch shutdown_radio0,is_rx
+	hjam 0xd4, 0x955
+	nop 4
+	hjam 0xd2, 0x955
+	nop 4
+	hjam 0xd1, 0x955
+	nop 4	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,shutdown_radio_0db
+	beq TX_POWER_3DB,shutdown_radio_3db
+	beq TX_POWER_5DB,shutdown_radio_5db
+	beq TX_POWER_f3DB,shutdown_radio_f3db
+	beq TX_POWER_f5DB,shutdown_radio_f5db
+	beq TX_POWER_PAIR,shutdown_radio_pair
+shutdown_radio_5db:	
+shutdown_radio_0db:
+	hjam 0xd0, 0x955
+	hjam 0xe0, 0x956
+shutdown_radio0:
+	force 0,radio_ctrl
+	disable is_rx
+	disable is_tx
+	pulse packet_end
+	hjam 0x0,rfen_mdm
+	hjam 0x0,rfen_tx
+	hjam 0x0,rfen_rx
+	hjam 0,rfen_sn
+	hjam 0x70,rfen_msc
+	hjam 0x0,rfen_adc
+	rtn
+	
+shutdown_radio_pair:
+shutdown_radio_f5db:
+shutdown_radio_f3db:
+shutdown_radio_3db:
+	hjam 0xd0,0x955
+	hjam 0xc0,0x956
+	branch shutdown_radio0
+
+set_sync_on:
+	bpatch patch10_6,mem_patch10
+	hjam 0x0,rfen_mdm					/* if called from tx or rx */
+	hjam 0x0,rfen_tx
+	hjam 0x18,rfen_rx
+	hjam 0xa7,rfen_sn
+	hjam 0x7f,rfen_msc
+	rtn
+
+set_freq_rx:
+	bpatch patch10_7,mem_patch10
+		/* IF is +2MHz */
+	storet 1,mem_last_freq
+	add temp,rx_freq_offset,rega			/* index to frequency */
+	hjam 0x07,0x96d                                         /*Max added, for best sensitivity*/
+	branch rf_write_freq
+rf_rx_enable:
+	bpatch patch11_0,mem_patch11
+	hjam 0xcf,rfen_tx
+	nop 10					/* wait adc clk48 ready */
+	hjam 0xff,rfen_rx
+	hjam 0xaf,rfen_sn
+	hjam 0xff,rfen_msc
+	nop 10
+	hjam 0xa0,rfen_mdm
+	rtn
+	
+set_freq_tx_offset:
+	fetch 1,mem_250k_freq_enable	//default: 0
+	branch set_freq_tx_2M_offset,blank
+set_freq_tx_0M_offset:
+	add temp,2,rega			//250k
+	rtn
+set_freq_tx_2M_offset:
+	add temp,0,rega			// bt 2M Medium Frequency
+	rtn
+
+set_freq_tx:
+	bpatch patch11_1,mem_patch11
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+txon:	
+	hjam 0x1,rfen_adc
+	hjam 0x3c,rfen_rx
+	hjam 0xe0,rfen_tx
+	hjam 0x12,0x96d
+	nop 10
+	hjam 0x01,rfen_mdm
+	hjam 0x3d,rfen_mdm
+	nop 10
+	hjam 0xb7,rfen_sn
+	nop 10
+	hjam 0x7f, rfen_mdm
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,set_tx_power_0db
+	beq TX_POWER_3DB,set_tx_power_3db	
+	beq TX_POWER_5DB,set_tx_power_5db
+	beq TX_POWER_f3DB,set_tx_power_f3db	
+	beq TX_POWER_f5DB,set_tx_power_f5db
+	beq TX_POWER_PAIR,set_tx_power_pair
+set_tx_power_0db:	
+	hjam 0xf0,0x956
+	call txon_common
+	hjam 0xd8,0x955
+	rtn
+
+set_tx_power_3db:
+	hjam 0xdf,0x956
+	call txon_common
+	hjam 0xdf,0x955
+	rtn
+
+set_tx_power_5db:
+	hjam 0xff,0x956
+	call txon_common
+	hjam 0xdf,0x955
+	rtn
+set_tx_power_f3db:
+	hjam 0xce,0x956
+	call txon_common
+	hjam 0xd8,0x955
+	rtn
+
+set_tx_power_f5db:
+	hjam 0xcb,0x956
+	call txon_common
+	hjam 0xd8,0x955
+	rtn
+
+set_tx_power_pair:
+	hjam 0xd0,0x955
+	hjam 0xc0,0x956
+	hjam 0x4c,0x957
+	hjam 0x6c,0x958
+	hjam 0x50,0x959
+	rtn
+
+txon_common:
+	nop 4
+	hjam 0xd1,0x955
+	nop 4
+	hjam 0xd2,0x955
+	nop 4
+	hjam 0xd4,0x955
+	rtn
+
+
+initialize_radio:
+	hjam clksel_rc,core_clksel
+initialize_radio_wait:
+	fetch 2,mem_rf_init_ptr
+	bbit0 14,initialize_radio_wait
+	iforce contr
+	arg 0x8900,temp
+initialize_radio_loop:
+	ifetch 1,contr
+	beq 0xff,initialize_radio_cont
+	ior temp,contw
+	ifetch 1,contr
+	istore 1,contw
+	branch initialize_radio_loop
+initialize_radio_cont:
+	bpatch patch11_2,mem_patch11
+	call lpm_cal_xtal_startup
+	call switchto_dpllclk
+//	ncall check_dpll,wake
+	setarg param_dpll_start_delay
+	iadd clkn_bt,pdata
+	store 4,mem_dpll_clkn
+	set1 RESET,radio_ctrl
+	force 0,radio_ctrl
+	ncall do_rccal,wake
+	branch set_rccal
+
+	/* rega is frequency, 00=2400Mhz */
+rf_write_freq:
+	bpatch patch11_3,mem_patch11
+	setarg 2400
+	iadd rega,temp
+	fetch 1,mem_fcomp_mul
+	hjam 0x04,rf_pll_rstn
+	imul32 temp,pdata
+	fetcht 1,mem_fcomp_div
+	idiv temp
+	call wait_div_end
+	quotient rega			/* rega is FLOOR(FVCO/fcomp) */
+	remainder pdata		
+	lshift16 pdata,pdata
+	lshift4 pdata,pdata		/* pdata is frac * 2^20 */
+	idiv temp
+	call wait_div_end
+	quotient pdata		/* pdata is frac *2^20/fcomp */
+	lshift8 pdata,pdata
+	lshift pdata,pdata
+	ior rega,pdata
+	hstore 4,rf_pll_intg
+	hjam 0x44,rf_pll_rstn
+	hjam 0xc4,rf_pll_rstn
+	rtn
+
+	
+do_rccal:
+	bpatch patch11_4,mem_patch11
+	hjam 0x02,rfen_adc
+	setarg 250000
+	call sleep					/* wait clkpll&xtal stable */
+	hjam 0x7f,rfen_rx
+	nop 130
+	hjam 0x30,rf_rccal_ctrl
+	hjam 0xd0,rfen_tx
+	hjam 0x70,rf_rccal_ctrl
+	hjam 0xf0,rf_rccal_ctrl
+	force 50,loopcnt
+do_rccal_loop:
+	hfetch 1,rf_rccal_result
+	bbit1 5,do_rccal_end
+	loop do_rccal_loop
+do_rccal_end:
+	store 1,mem_rf_rccal
+	hjam 0,rfen_tx
+	hjam 0,rfen_rx
+	hjam 0x00,rfen_adc
+	rtn
+
+set_rccal:
+	bpatch patch11_5,mem_patch11
+	fetch 1,mem_rf_rccal
+	set1 5,pdata
+	hstore 1,rf_rccal_ctrl
+	hfetcht 1,rf_bpf_ctrim
+	and_into 7,temp
+	lshift3 pdata,pdata
+	ior temp,pdata
+	hstore 1,rf_bpf_ctrim
+	hfetch 1,rf_bpf_ib
+	set0 bpf_rccal,pdata
+	hstore 1,rf_bpf_ib
+	hfetch 1,rf_adc_rccal
+	set0 adc_rccal,pdata
+	hstore 1,rf_adc_rccal
+	rtn
+
+save_rssi:
+	bpatch patch11_6,mem_patch11
+	hfetch 2,rf_afc_d2a
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	sub pdata,0,pdata
+	and_into 0xff,pdata
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	store 1,mem_rssi			/* bcd value */
+	rtn
+
+	
+switchto_dpllclk:
+	hjam clksel_rc,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	set0 4,pdata
+	set0 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	hjam 0x00,rfen_ck
+	hjam 0x00,rfen_msc
+	hjam 0x70,rfen_msc
+	hjam 0xff,rfen_ck
+	hfetch 1,rf_clkpll_frac+2
+	set1 4,pdata
+	set1 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	call init_lpm_ctrl
+	hfetch 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	set0 7,pdata
+	hstore 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	hjam clksel_dpll,core_clksel
+	nop 1
+	hjam clksel_xtal,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	and_into 0xcf,pdata
+	hstore 1,rf_clkpll_frac+2
+	or_into 0x30,pdata
+	hstore 1,rf_clkpll_frac+2
+	rtn
+
+	
+xtal_fast_wake:
+	setarg 0xf0f
+	branch lpm_write_config
+
+init_lpm_ctrl:
+	setarg 0x80f
+	branch lpm_write_config
+
+
+
+start_receiver:
+	bpatch patch11_7,mem_patch11
+	call rf_rx_enable
+	disable is_tx
+	enable is_rx
+	pulse init_encrypt
+	rtn
+
+prep_crypt:
+	bpatch patch12_0,mem_patch12
+	fetch 1,mem_state_map
+	isolate1 smap_encryption,pdata
+	setflag true,0,pdata
+	hstore 1,core_encrypt
+	arg mem_kc,contr
+	ifetch 9,contr
+	iforce kc_ls
+	ifetch 7,contr
+	iforce kc_ms
+	fetch 1,mem_key_size
+	add pdata,-1,g1l
+	pulse kc_p_activate               /* immediately start calculating primary Key */
+	rtn
+	
+wait_access_end:
+	deposit clke
+	store 6,mem_sync_clke
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	increase 1,clke_bt
+	and_into 0x1fc,clke_bt
+	rtn
+
+
+
+wait_access_mhalfbnd:
+	enable decode_fec0
+wait_access_mhalfbnd_correlate:
+	correlate null,mhalfbnd    /* keep correlating until sync is found, or clke half */
+	branch wait_access_end,sync
+	compare 0x02,clke_bt,0x02
+	nbranch wait_access_mhalfbnd_correlate,true
+	branch wait_access_end
+
+wait_access_clkn_rt:
+	bpatch patch12_1,mem_patch12
+	arg param_conn_access,timeup	/* found sync must occur within this time */
+	enable decode_fec0
+	correlate clkn_rt,meet    /* keep correlating until sync is found, or until clkn_rt timeup */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	rtn
+
+wait_access_forever:
+	bpatch patch12_2,mem_patch12
+	enable decode_fec0
+	correlate null,timeout    /* keep correlating until sync is found, or timeout */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	and_into 0x1fc,clke_bt
+	rtn
+
+	/* reserve slots for mult-slot packet */
+reserve_slot:
+	bpatch patch12_3,mem_patch12
+	iforce rega
+	deposit bt_clk
+	iadd temp,timeup
+	copy timeup,pdata
+	store 4,mem_next_btclk
+	deposit rega
+	rtn
+
+	/* pdata = clks ahead of bt_clk */
+ahead_window:
+	copy pdata,temp
+	bpatch patch12_4,mem_patch12
+	copy temp,pdata
+	call clk2bt
+	lshift16 bt_clk,pdata
+	set1 44,pdata
+	call clk_diff
+	set0 44,pdata
+	call get_clk
+	call clk_diff
+	rtn user
+	call clk2rt
+	iforce stop_watch
+	until null,timeout
+	rtn
+
+
+setup_clk:
+	bpatch patch12_5,mem_patch12
+	branch setup_clkn,clknt
+	until clke_rt,meet
+skip_setup_clke:
+	copy clke_bt,temp
+	branch setup_clknbt
+setup_clkn:
+	branch skip_setup_clkn,attempt
+	until clkn_rt,meet
+skip_setup_clkn:
+	copy clkn_bt,temp
+setup_clknbt:
+	branch setup_clk11,user
+	compare 1,temp,3
+	nbranch setup_clk,true
+setup_complete:
+	bpatch patch12_6,mem_patch12
+	fetch 1,mem_state
+	rtnbit0 state_inconn
+	fetch 4,mem_next_btclk
+	isub temp,pdata
+	nrtn positive
+	sub pdata,0xff,null
+	branch setup_clk,positive
+	rtn
+setup_clk11:
+	compare 3,temp,3
+	nbranch setup_clk,true
+	branch setup_complete
+
+rf_setup_time:
+	bpatch patch12_7,mem_patch12
+	arg param_rf_setup,timeup
+	branch setup_clk
+	
+rf_setup_time_slave_slot:
+	disable user
+	branch rf_setup_time
+
+rf_setup_time_master_slot:
+	enable user
+	branch rf_setup_time
+	
+start_transmitter:
+	bpatch patch13_0,mem_patch13
+	call prep_crypt
+	disable is_rx
+	enable is_tx
+	rtn
+
+
+
+start_tx_native:
+	bpatch patch13_1,mem_patch13
+	arg param_tx_setup,timeup
+	until clkn_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+start_rx_native:
+	bpatch patch13_2,mem_patch13
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	rtn
+
+
+start_tx_external:
+	bpatch patch13_3,mem_patch13
+	arg param_tx_setup,timeup
+	until clke_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+send_access_word:
+	bpatch patch13_4,mem_patch13
+	preload access          /* load in access word ready to be sent */
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	inject mod,72
+	disable encode_fec0
+	rtn
+
+
+scan_mode_whiten:
+	copy xin,temp
+	or_into 0x60,temp                /* extend xin with 5->1, 6->1 */
+	copy temp,white_init
+	rtn
+
+
+
+	/* return blank if free amaddr is found */
+get_free_amaddr:
+	bpatch patch13_5,mem_patch13
+	fetch 1,mem_current_amaddr
+	increase 1,pdata
+	bne param_esco_addr,get_free_amaddr_cont
+	force 1,pdata
+get_free_amaddr_cont:
+	store 1,mem_current_amaddr
+	iforce am_addr
+	rtn
+
+get_clk:
+	copy clkn,temp
+	rtn master
+	copy clke,temp
+	rtn
+
+get_clkbt:
+	deposit clkn_bt
+	rtn master
+	deposit clke_bt
+	rtn
+
+
+supervision_update:
+	bpatch patch13_6,mem_patch13
+	fetcht 4,mem_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_supervision_to
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+supervision_flush:
+	bpatch patch13_7,mem_patch13
+	call get_clkbt
+	store 4,mem_supervision_timer
+	rtn
+
+assert:
+	bpatch patch14_0,mem_patch14
+	branch assert
+	
+loop:
+	branch loop
+
+sleep:	
+	rtn blank
+	/* sleep pdata clocks, only even clocks are accurate */
+	rshift pdata,pdata
+	increase -3,pdata
+sleep_loop:	
+	increase -1,pdata
+	nbranch sleep_loop,zero
+	force 0,pdata
+	rtn
+
+
+
+init_param:
+	/* clear specified sched ram */
+	arg 0x10,loopcnt
+	arg 0,contw
+	call memset0
+	arg mem_le_state,contw
+	arg 10,loopcnt
+	call memset0
+	jam 0,mem_sp_calc
+	jam 0,mem_fifo_temp
+	jam 0,mem_le_testtype
+	jam 0,mem_debug_config
+	jam 0,mem_lmp_conn_state
+	bpatch patch14_1,mem_patch14
+	jam 0,mem_connection_options
+	jam 0,mem_tester_emulate
+	jam 0,mem_tester_cnt
+	setarg param_glap
+	store 3,mem_glap
+	setarg param_acl_pktlen
+	store 2,mem_acl_pktlen
+	jam param_sco_pktlen,mem_sco_pktlen
+	jam param_acl_pktcnt,mem_acl_pktcnt
+	jam param_sco_pktcnt,mem_sco_pktcnt
+	setarg param_hci_version
+	store 3,mem_hci_version
+//	setarg param_lmp_version
+//	store 3,mem_lmp_version
+//	setarg param_lmp_subversion
+//	store 2,mem_lmp_subversion
+	jam 0x60,mem_fhs_misc		/* R1 for 1.28s ps interval,P2 */
+	jam param_max_slot,mem_max_slot
+	jam 0x02,mem_fw_ver		/* set firmware version */
+ifdef SIMPLE_PAIRING
+	fetch 1,mem_ssp_enable
+	ncall init_memp,blank
+endif
+ifdef SECURE_CONNECTION
+	fetch 1,mem_le_secure_connect_enable
+	ncall init_memp_256,blank
+endif
+	bpatch patch14_2,mem_patch14
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+
+
+
+/*****************************************LPO************************************************/
+
+lpmstate:
+	setarg 0xee21
+	hstore 2,core_clkoff			// disable unused peripherals
+	hfetch 4,core_gpio_in
+	store 4,mem_saved_gpio_in
+	hfetch 1,core_lpm_ldocnt
+	store 1,mem_wakup_from_power_flag
+	bbit0 gpio_latch,loadcode		// power up boot
+	enable wake
+	bbit0 cold_wake,lpmwake		
+	disable wake
+	deposit auxcnt
+	nbranch lpmwake,blank		// sleep interrupted, wakeup
+	hfetch 1,core_lpm_ctrl + 3
+	bbit1 reload_code,lpmwake
+	arg param_hibernate_clks,temp
+	branch lpm_enter_sleep
+lpmwake:
+	hfetch 3,core_lpm_xtalcnt
+	hstore 3,core_lpm_reg
+	ifetch 1,contr
+	or_into isogate_mask,pdata		// open all isolation gate&power switch
+	istore 1,contw
+	call lpm_write_ctrl2
+	hfetch 1,core_lpm_isogate
+	set1 enable_retmem,pdata
+	hstore 1,core_lpm_isogate
+	call lpm_write_ctrl2
+	call lpm_load_context,wake
+	hfetch 1,core_lpm_reg+2
+	set0 gpio_latch,pdata			// enable gpio fuction
+	hstore 1,core_lpm_reg+2
+	call lpm_write_ctrl2
+	nbranch loadcode,wake		// wakeup from hibernate
+	rtnmark0 mark_otp_encrypt
+	hjam lock_otp,core_misc_ctrl	// disable further read/write of key
+	rtn 
+
+lpm_load_context:
+	fetch 1,mem_saved_spidctrl
+	hstore 1,core_spid_ctrl
+	fetch 3,mem_saved_gsel
+	hstore 3,core_gpio_sel
+	fetch 4,mem_saved_gpio+4
+	hstore 4,core_gpio_out0
+	fetch 4,mem_saved_gpio
+	hstore 4,core_gpio_oe0
+	fetch 8,mem_saved_gpio+8
+	hstore 8,core_gpio_pu0	
+	fetch 8,mem_saved_mark
+	iforce mark
+	hfetch 8,core_gpio_wakeup_low
+	store 8,mem_gpio_wakeup_low
+	call load_ucode
+	rtn
+
+lpm_save_context:
+	deposit mark
+	store 8,mem_saved_mark
+	hfetch 8,core_gpio_oe0
+	store 8,mem_saved_gpio
+	ifetch 8,contr
+	istore 8,contw
+	hfetch 3,core_gpio_sel
+	store 3,mem_saved_gsel
+	hfetch 1,core_spid_ctrl
+	store 1,mem_saved_spidctrl
+	branch lpm_write_gpio_wakeup
+
+lpo_calibration:
+	hfetch 1,core_bist_ctrl
+	nbranch lpo_cal_inited,blank
+	fetch 3,mem_clks_per_lpo
+	nrtn blank
+	hjam 0xc0,core_bist_ctrl
+	hjam ccnt_start,core_misc_ctrl
+lpo_cal_inited:
+	hfetch 1,core_perf_status
+	rtnbit0 1
+	hfetch 3,core_clk_counter
+	store 3,mem_clks_per_lpo
+	rtn
+
+
+	/* temp is synced clke */
+lpm_adjust_clk:
+	bpatch patch14_3,mem_patch14
+	deposit clke
+	call clk_diff_rt
+	fetcht 4,mem_sleep_counter_all
+	sub temp,0xff,null
+	rtn positive				// interval too small
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	arg param_lpm_adjmax,temp
+	call ceiling
+	store 1,mem_lpm_adjust
+	nbranch lpm_adjust_positive,user
+	sub pdata,0,pdata
+lpm_adjust_positive:
+	fetcht 3,mem_clks_per_lpo
+	iadd temp,pdata
+	store 3,mem_clks_per_lpo
+lpm_clear_counter:
+	setarg 0
+	store 4,mem_sleep_counter_all
+	rtn
+
+
+	/* temp is lpo counter for doze */
+lpm_doze:
+	fetch 1,mem_lpm_config+2
+	set1 reload_code,pdata
+	store 1,mem_lpm_config+2
+	branch lpm_hibernate_normal
+	
+
+	/* no retention memory at all */
+lpm_hibernate:
+	arg param_hibernate_clks,temp
+	fetch 1,mem_lpm_config+1
+	set0 7,pdata					/* lowest lpo */
+	store 1,mem_lpm_config+1
+lpm_hibernate_normal:
+	bpatch patch14_4,mem_patch14
+	call lpm_write_gpio_wakeup
+	fetch 1,mem_lpm_hibernate_switch
+	store 1,mem_lpm_xtalcnt + 4
+	fetch 1,mem_lpm_xtalcnt + 2
+	set1 cold_wake,pdata
+	store 1,mem_lpm_xtalcnt + 2
+
+	/* temp is lpo clocks to sleep */
+lpm_sleep:
+	bpatch patch14_5,mem_patch14
+	call xtal_fast_wake
+	fetch 4,mem_sleep_counter_all
+	iadd temp,pdata
+	store 4,mem_sleep_counter_all
+	call lpm_save_context
+	fetch 5,mem_lpm_xtalcnt
+	hstore 4,core_lpm_reg
+	rshift32 pdata,rega
+	until null,lpo_edge
+	deposit clkn
+	store 6,mem_sleep_clkn
+	hjam lpmreg_sel_ctrl2,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	deposit rega
+	hstore 1,core_lpm_isogate
+	hjam lpmreg_sel_ctrl2,core_lpm_wr
+lpm_enter_sleep:
+	until null,lpo_edge
+	until null,lpo_edge
+	hstoret 4,core_lpm_reg
+	hjam lpmreg_sel_counter,core_lpm_wr
+	until null,never
+
+
+
+
+lpm_recover_clk:
+	bpatch patch14_6,mem_patch14
+	setarg 0
+	copy auxcnt,null
+	branch lpm_recover_timeout,zero
+	hfetch 1,core_lpm_xtalcnt
+	hfetcht 1,core_lpm_buckcnt
+	isub temp,null
+	branch lpm_recover_xtal,positive
+	deposit temp
+lpm_recover_xtal:
+	isub auxcnt,pdata
+	increase 1,pdata
+lpm_recover_timeout:
+	increase 8,pdata
+	until null,lpo_edge
+	iadd lpo_time,pdata
+	fetcht 4,mem_sleep_counter
+	iadd temp,pdata
+	fetcht 3,mem_clks_per_lpo
+	imul32 temp,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	increase param_lpm_fix,pdata
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	fetcht 6,mem_sleep_clkn
+	call clk_add
+	copy temp,clkn
+	fetch 6,mem_context + coffset_clk_offset
+	call calc_clke2
+	deposit clke
+	store 6,mem_pdatatemp
+	deposit auxcnt
+	istore 1,contw
+	hfetch 1,core_gpio_in1
+	or_into 0xf0,pdata
+	istore 1,contw
+	rtn
+	
+lpm_dispatch:
+	bpatch patch14_7,mem_patch14
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank	
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							/* sco won't sleep */
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff
+	rtn blank										/* role switch */
+	rtn wake
+	bpatch patch15_0,mem_patch15
+	fetcht 1,mem_lpm_current_mult
+	fetch 2,mem_context + coffset_tsniff
+	imul32 temp,pdata
+	rshift4 temp,temp
+	rshift2 temp,temp
+	isub temp,pdata
+	fetcht 4,mem_context + coffset_sniff_anchor
+	iadd temp,pdata
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	lshift16 pdata,alarm
+	bpatch patch15_1,mem_patch15
+	fetch 2,mem_context + coffset_rx_window
+	rshift pdata,pdata
+	call clk2bt
+	deposit alarm
+	call clk_diff
+	copy clke,temp
+	call clk_diff_rt
+	rtn user
+lpm_dispatch_sleep:
+	call clk2lpo
+lpm_dispatch_lpo:
+	bpatch patch15_2,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	isub temp,null
+	branch lpm_clear_counter,positive
+	storet 4,mem_sleep_counter
+	call app_will_enter_lpm
+	call l2cap_lpm_save_txbuf
+	fetcht 4,mem_sleep_counter
+	branch lpm_sleep
+	
+lpm_dispatch_unconn:
+	bpatch patch15_3,mem_patch15
+	fetch 1,mem_context
+	rtnbit1 state_inconn					// wont sleep in connection
+	rtnbit1 state_inpage					// wont sleep when paging
+	fetch 1,mem_ssp_enable
+	branch lpm_unconn_nossp,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_unconn_nossp:
+	bpatch patch15_4,mem_patch15
+	fetch 1,mem_le_adv_enable
+	nbranch lpm_unconn_cont,blank
+	fetch 1,mem_scan_mode
+	rtn blank
+lpm_unconn_cont:
+	fetch 2,mem_lpm_interval
+	rtn blank
+lpm_sleep_btclk:
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	arg 7500,temp				/* 1.25ms */
+	imul32 temp,pdata
+	branch lpm_dispatch_sleep
+
+lpm_set_mult:
+	bpatch patch15_5,mem_patch15
+	disable wake
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	nbranch lpm_not_match,match
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	fetch 1,mem_arq
+	bbit1 wack,lpm_mult_short
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	call l2cap_malloc_is_fifo_empty
+	nbranch lpm_mult_short,blank
+	fetch 1,mem_classic_bt_flag
+	bbit1 SHORT_MULT_FLAG,lpm_mult_short
+lpm_mult_wait_timeout:
+	jam 0,mem_lpm_current_mult
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	fetch 1,mem_lpm_mult_cnt
+	branch lpm_mult_long,blank
+	increase -1,pdata
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+
+classic_bt_set_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_set_flag
+	
+classic_bt_clr_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_clr_flag
+
+
+
+lpm_match:
+	jam 0,mem_sniff_unint_lost
+	fetch 3,mem_sniff_rcv
+	increase 1,pdata
+	store 3,mem_sniff_rcv
+	rtn
+
+lpm_not_match:
+	bpatch patch15_6,mem_patch15
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_rx_window
+	iadd temp,pdata
+	store 2,mem_rx_window
+lpm_lost:
+	jam 0,mem_lpm_current_mult
+	fetch 3,mem_sniff_lost
+	increase 1,pdata
+	store 3,mem_sniff_lost
+	fetch 1,mem_sniff_unint_lost
+	increase 1,pdata
+	store 1,mem_sniff_unint_lost
+	rtn
+
+lpm_mult_short:
+	jam 0,mem_lpm_current_mult
+	fetch 1,mem_lpm_mult_timeout
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+lpm_mult_long:
+	fetcht 1,mem_lpm_mult
+	storet 1,mem_lpm_current_mult
+	rtn
+
+lpm_cal_xtal_startup:
+	bpatch patch15_7,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	hjam clksel_rc,core_clksel
+	setarg 0xf0c
+	call lpm_write_config
+	setarg 200000
+	call sleep
+	until null,lpo_edge
+	copy lpo_time,alarm
+	call xtal_fast_wake
+	hjam clksel_xtal,core_clksel
+	nop 10
+	until null,lpo_edge
+	deposit lpo_time
+	isub alarm,pdata
+	increase 0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	
+	rtn
+
+lpm_cal_xtal_startup_by_snooze:
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	hjam 0xff,core_xtal_stable_time
+	hjam clksel_rc,core_clksel
+	call xtal_fast_wake
+	setarg 1000
+	iadd lpo_time,alarm
+	snooze
+	deposit lpo_time
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	isub alarm,pdata
+	add pdata,0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	//delay 90000 nop
+	rtn
+
+
+
+	/* pdata is lpm_reg[11:0] */
+lpm_write_config:
+	arg 0xfff,contw
+	iand contw,contw
+	fetch 1,mem_lpm_config
+	and_into 0xf0,pdata
+	lshift8 pdata,pdata
+	ior contw,pdata
+	hstore 2,core_lpm_reg
+	ifetch 2,contr
+	istore 2,contw
+
+lpm_write_ctrl:
+	setarg lpmreg_sel_ctrl
+	branch lpm_write
+
+lpm_write_ctrl2:
+	setarg lpmreg_sel_ctrl2
+lpm_write:
+	until null,lpo_edge
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+
+
+lpm_write_gpio_wakeup:
+	bpatch patch16_0,mem_patch16
+	fetch 4,mem_gpio_wakeup_low
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiolow
+	call lpm_write
+	fetch 4,mem_gpio_wakeup_high
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiohigh
+	branch lpm_write
+
+lpm_get_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset1 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_put_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset0 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+
+
+lpm_check_wake_lock:
+	bpatch patch16_1,mem_patch16
+	call app_check_wake_lock
+	fetch 2,mem_lpm_wake_lock
+	copy pdata,rega
+	fetch 1,mem_state_map
+	isolate1 smap_rxlmp,pdata
+	setflag true,wake_lock_lmp_rx,rega
+	fetch 1,mem_lmo_opcode1
+	fetcht 1,mem_lmo_opcode2
+	iadd temp,pdata
+	fetcht 1,mem_lmp_to_send
+	iadd temp,pdata
+	nsetflag blank,wake_lock_lmp_tx,rega
+	fetch 1,mem_le_tx_buff_used
+	nsetflag blank,wake_lock_ble_tx,rega
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_l2cap_rxbuff2_len
+	iadd temp,pdata
+	nsetflag blank,wake_lock_l2cap_rx,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	nsetflag blank,wake_lock_ipc_bt2c51,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	nsetflag blank,wake_lock_ipc_c512bt,rega
+	fetch 1,mem_hci_cmd
+	nsetflag blank,wake_lock_cmd,rega
+	fetch 1,mem_device_option
+	compare dvc_op_module,pdata,0xff
+	call lpm_uart_wake_lock,true
+	setarg -8
+	iand rega,rega
+	copy rega,pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_uart_wake_lock:
+	hfetch 2,core_uart_rxitems
+	nsetflag blank,wake_lock_uart_rx ,rega
+	hfetch 2,core_uart_txitems
+	nsetflag blank,wake_lock_uart_tx ,rega
+	rtn
+
+lpm_shut_down:
+	hfetch 4,core_lpm_ctrl
+	set0 27,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	branch assert
+	
+lpm_disable_exen_output:
+	hfetch 4,core_lpm_xtalcnt
+	set0 20,pdata
+	hstore 4,core_lpm_reg
+	branch lpm_write_ctrl2
+
+check_bt_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 bt_disabled,assert
+	rtn
+check_ble_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 ble_disabled,assert
+	rtn
+check_module_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 module_disable,assert
+	rtn
+
+
+
+
+
+
+
+//p_check_attempt_sniff:
+//	bbit0 state_insco,p_check_attempt_not_sco
+//	fetch 1,mem_current_sniff_attempt
+//	beq 2,p_check_attempt_sniff_restore_sco
+//	fetch 1,mem_arq
+//	bbit1 wack,p_check_attempt_notimeout
+//	bmark0 mark_esco_rxok,p_check_attempt_notimeout
+//p_check_attempt_sniff_restore_sco:
+//	nbranch p_check_attempt_notimeout,master
+//	fetch 1,mem_lmp_to_send
+//	nbranch p_check_attempt_notimeout,blank
+//p_check_attempt_sco_master:
+//	fetch 1,mem_sco_poll
+//	increase -1,pdata
+//	store 1,mem_sco_poll
+//	nbranch check_attempt_nomore,blank
+//	jam param_sco_poll,mem_sco_poll
+//	branch check_attempt_notimeout
+//p_check_attempt_not_sco:
+//	compare type_null,type,0x1f
+//	branch check_timeout,true
+//	compare type_poll,type,0x1f
+//	branch check_timeout,true
+//	branch check_anchor_end
+//p_check_attempt_notimeout:
+//check_atttemp_decrease:
+//	fetch 1,mem_current_sniff_attempt
+//	increase -1,pdata
+//	store 1,mem_current_sniff_attempt
+//	rtn
+//check_timeout:
+//	fetch 1,mem_sniff_timeout_temp
+//	increase 1,pdata
+//	store 1,mem_sniff_timeout_temp
+//check_anchor_end:
+//	fetch 1,mem_current_sniff_attempt
+//	branch check_anchor_end_attempt0,blank
+//	call check_atttemp_decrease
+//	nrtn blank
+//check_anchor_end_attempt0:  
+//	fetch 1,mem_sniff_timeout_temp
+//	fetcht 1,mem_current_sniff_timeout
+//	isub temp,null
+//	branch p_blank,positive
+//	arg 1,pdata
+//	rtn
+//p_blank:
+//	arg 0,pdata
+//	rtn
+
+
+
Index: YJX_Only24g/FCC_1021S/program/hci_h4.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/hci_h4.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/hci_h4.prog	(working copy)
@@ -0,0 +1,138 @@
+
+ifdef DEBUG_H4LOG_ENABLE
+hci_log:
+	copy regc,pdata
+	rtneq 0x11
+	fetch 1,mem_hci_log
+	increase 1,pdata
+	sub pdata,hci_log_cnt,null
+	branch hci_log_calc_ptr,positive
+	setarg 0
+hci_log_calc_ptr:
+	store 1,mem_hci_log
+	arg hci_log_size,temp
+	imul32 temp,pdata
+	arg mem_hci_log+hci_log_size,contw
+	iadd contw,contw
+hci_log_write_content:
+	fetch 1,mem_hci_log
+	istore 1,contw//counter
+	copy regb,pdata
+	istore 1,contw
+	fetch 2,mem_le_event_count
+	istore 1,contw
+	copy clke_bt,pdata
+	istore 3,contw
+	fetch 1,mem_last_freq
+	istore 1,contw
+	fetch 1,mem_le_rxbuf
+	istore 1,contw
+	rtn
+else
+
+endif
+
+hci_rx_h4:
+	bpatch patch1f_5,mem_patch1f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+hci_rx_h4_1:
+	call hci_h4_parse_packet
+	ncall h4_rx_discard_packet,user
+	rtn
+	
+hci_h4_parse_packet:
+	bpatch patch1f_6,mem_patch1f
+	copy contru,rega
+	arg 4,temp
+	ifetch 1,contru //type
+	beq HCI_H4_TYPE_CMD,hci_h4_parse_packet_wait_len
+	increase 1,temp //acl packet has 2 bytes for length
+	beq HCI_H4_TYPE_ACL,hci_h4_parse_packet_wait_len
+	copy contru,pdata
+	hstore 2,core_uart_rrptr
+	rtn
+hci_h4_parse_packet_wait_len:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait_len,positive // while(rxitems >= 4 or 5);
+	//Make sure length has been recieved.
+	disable user
+	copy rega,contru
+	call h4_get_rx_payload_len
+	iadd temp,temp
+hci_h4_parse_packet_wait:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait,positive//wait for rcv a complete packet
+	copy rega,contru
+	ifetch 1,contru //HCI packet type
+	beq  HCI_H4_TYPE_CMD,process_hci_cmd
+	branch assert
+	
+h4_rx_discard_packet:
+	bpatch patch1f_7,mem_patch1f
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	call h4_get_rx_payload_len
+	iadd contru,contru
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+
+//contru = pointer to packet start
+//return len via pdata
+h4_get_rx_payload_len:
+	ifetch 1,contru
+	increase 2,contru
+	beq HCI_H4_TYPE_ACL,h4_get_rx_payload_len_acl
+	ifetch 1,contru
+	rtn
+h4_get_rx_payload_len_acl:
+	ifetch 2,contru
+	rtn
+
+h4_get_tx_ptr:
+	hfetch 2,core_uart_twptr
+	increase -5,contwu
+	iadd contwu,contwu
+	rtn
+
+h4_send_packet_event:
+	arg HCI_H4_TYPE_EVENT,temp //type
+	branch h4_send_packet
+h4_send_packet_acl: //upgoing ACL
+	arg HCI_H4_TYPE_ACL,temp //type
+h4_send_packet:
+	bpatchx patch20_0,mem_patch20
+	increase 1,loopcnt
+	hfetch 2,core_uart_twptr
+	copy pdata,contwu
+	copy loopcnt,pdata //length
+	istoret 1,contwu //packet type in temp
+	increase -1,pdata
+	iadd contwu,contwu
+	copy contwu,pdata
+	store 2,mem_hci_acl_tx_trigger_wptr
+	copy temp,pdata
+ifdef ACL_DEBUG
+	beq HCI_H4_TYPE_EVENT,h4_send_packet0
+	hfetch 1,core_uart_txitems
+	ncall ice_break,blank
+	
+h4_send_packet0:	
+	copy temp,pdata
+endif
+	rtneq HCI_H4_TYPE_ACL //not send acl packet immediately
+	fetch 2,mem_hci_acl_tx_trigger_wptr
+	hstore 2,core_uart_twptr
+	branch h4_send_acl_trigger_clear
+	
+	
+h4_send_acl_trigger_clear:
+	setarg 0
+	store 2,mem_hci_acl_tx_trigger_wptr
+	rtn
+
+	
Index: YJX_Only24g/FCC_1021S/program/hci_main.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/hci_main.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/hci_main.prog	(working copy)
@@ -0,0 +1,400 @@
+/*********************************/
+/**********   HCI  *****************/
+/*********************************/
+
+hci_init:
+	rtn wake
+	setarg hci_idle_dispatch
+	store 2,mem_cb_idle_process
+
+	setarg uart_baud_115200
+	store uart_baud_len,mem_baud
+hci_lpm_init:
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rsaddr
+	setarg mem_h5rx_buf_end
+	hstore 2,core_uart_readdr
+	setarg mem_h5tx_buf
+	hstore 2,core_uart_tsaddr
+	call hci_sel_init
+hci_reinit:
+	hjam 0x0,core_uart_ctrl
+ 	setarg mem_h5tx_buf
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rrptr
+	store 2,mem_h5rx_rptr
+hci_init_common:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	hjam uartclk_dpll,core_uart_clksel
+	hjam uart_ctrl_h4,core_uart_ctrl
+	rtn
+
+hci_sel_init:
+	setarg mem_h5tx_buf_end
+	hstore 2,core_uart_teaddr
+	hfetch 1,core_gpio_sel1
+	or_into 0x07,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+	
+	
+hci_rx_packet:
+	bpatchx patch20_1,mem_patch20
+	hfetch 1,core_uart_status
+	iforce regb
+	bbit0 uart_status_rx_fifo_empty,hci_rx_packet_cont
+	hfetch 2,core_uart_rxitems
+	iforce regc
+	arg 0x44f,temp
+	isub temp,null
+	nrtn zero
+hci_rx_packet_cont:
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	branch hci_rx_h4
+	
+uart_send_byte:
+	hfetcht 1,core_uart_status
+	isolate1 6,temp
+	branch uart_send_byte,true
+	hstore 1,core_uart_txd
+	rtn
+	
+process_hci_cmd:
+	bpatchx patch20_2,mem_patch20
+	fetch 1,mem_hci_cmd
+	branch process_hci_cmd_cont,blank
+	enable user					/* last command still there */
+	rtn
+process_hci_cmd_cont:
+	ifetch 2,contru
+	iforce alarm				/* alarm is used for sending */
+	iforce queue				/* queue is OCF */
+	ifetch 1,contru		/* skip hci length */
+	iforce temp			/* temp has the length */
+	rshift2 alarm,pdata
+	rshift8 pdata,pdata
+	beq HCI_OGF_VENDOR_SPECIFIC,phci_grp_vendor_specific
+	rtn
+
+
+phci_grp_vendor_specific:
+	bpatchx patch20_3,mem_patch20
+	deposit queue
+	beq HCI_VENDOR_CMD_RESET,hci_normal_reply
+	beq HCI_VENDOR_CMD_CHIPID,phci_grp_vendor_chipid
+	beq HCI_VENDOR_CMD_BAUD,phci_grp_vendor_baud
+	beq HCI_VENDOR_CMD_PATCH,phci_grp_vendor_patch
+	beq HCI_VENDOR_CMD_PATCH_DONE,phci_grp_vendor_done
+	beq HCI_VENDOR_CMD_ECHO,hci_normal_reply
+	beq HCI_VENDOR_CMD_BDADDR,phci_grp_vendor_bdaddr
+	beq HCI_VENDOR_CMD_ENTER_LPM,phci_grp_vendor_enter_lpm
+	
+	beq HCI_VENDOR_CMD_MEM,phci_grp_vendor_mem
+	beq HCI_VENDOR_CMD_EEP,phci_grp_vendor_eep
+	beq HCI_VENDOR_CMD_PATCH_SEC_INIT,phci_grp_vendor_patch_sec_init
+	beq HCI_VENDOR_CMD_PATCH_SEC,phci_grp_vendor_patch_sec
+	branch hci_normal_reply
+
+phci_grp_vendor_enter_lpm:
+	call hci_normal_reply
+	call wait_uarttx
+	call gpio_pu_uart_tx
+hci_enter_lpm:
+	call app_put_lpm_wake_lock
+	call app_l2cap_flow_control_enable
+	branch gpio_rx_config_input_with_pu
+
+hci_exit_lpm:
+	jam HCI_RX_READY,mem_hci_lt_rx_state
+	call app_get_lpm_wake_lock
+	call hci_lpm_init
+	branch app_l2cap_flow_control_disable
+	
+phci_grp_vendor_chipid:
+	call hci_get_cmd_complete_ptr
+	hfetch 2,core_chipid
+	istore 2,contwu
+	force 6,loopcnt
+	branch hci_command_complete
+	
+phci_grp_vendor_baud:
+	ifetch 2,contru
+	store 2,mem_baud
+	hstore 2,core_uart_baud
+	rtn
+
+
+phci_grp_vendor_patch_common:
+	//hjam 0x80,core_ucode_ctrl
+	ifetch 1,contru
+	copy pdata,temp //check sum via temp
+	hstore 1,core_ucode_low
+	ifetch 1,contru
+	iadd temp,temp
+	set1 7,pdata
+	hstore 1,core_ucode_ctrl
+	ifetch 1,contru
+	iadd temp,temp
+	copy pdata,loopcnt
+	rtn
+	
+phci_grp_vendor_patch:
+	bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+phci_grp_vendor_patch_loop:
+	ifetch 1,contru
+	hstore 1,core_ucode_data
+	iadd temp,temp
+	loop phci_grp_vendor_patch_loop
+phci_grp_vendor_patch_check_sum:	
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	branch hci_normal_reply
+
+	
+phci_grp_vendor_patch_sec:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+	store 8,mem_pdatatemp
+phci_grp_vendor_patch_sec_loop:
+	call do_aes_cbc	
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	storet 8,mem_temp
+	arg mem_temp_block2,contw
+	call store_aes_result
+	arg mem_temp_block2,rega
+	arg mem_temp_block0,regb
+	arg mem_temp_block3,contw
+	call xor16	
+	arg 16,loopcnt
+	arg mem_temp_block3,contr
+	call load_ucode_only_loop
+	fetcht 8,mem_temp
+	fetch 8,mem_pdatatemp
+	increase -16,pdata
+	store 8,mem_pdatatemp
+	nbranch phci_grp_vendor_patch_sec_loop,blank
+	branch phci_grp_vendor_patch_check_sum	
+	
+load_ucode_only_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_only_loop
+	rtn
+
+load_uart_sum_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop load_uart_sum_loop
+	rtn
+
+phci_grp_vendor_patch_sec_init:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	arg 0,temp
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	arg mem_temp_block0,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch phci_grp_vendor_patch_check_sum
+
+
+phci_grp_vendor_done:
+	arg 0x20,loopcnt    //patch switch length
+	arg mem_patch00,contw
+	arg 0,temp //checksum
+phci_grp_vendor_done_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop phci_grp_vendor_done_loop
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	hjam 0,core_ucode_ctrl
+	call hci_normal_reply
+	call h4_rx_discard_packet
+	call clear_key_buf
+	call wait_uarttx
+	branch soft_reset
+
+phci_grp_vendor_patch_bad:
+	hjam 0,core_ucode_ctrl
+	branch start
+	
+phci_grp_vendor_bdaddr:
+	ifetch 6,contru
+	store 6,mem_lap
+	branch hci_normal_reply
+
+
+phci_grp_vendor_mem:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	copy pdata,contw
+	call uart_copy_rx_bytes
+	branch hci_normal_reply
+
+
+phci_grp_vendor_eep:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	arg mem_l2cap_rxbuff1,contw
+	call uart_copy_rx_bytes
+	fetcht 1,mem_hci_curr_len
+	arg mem_l2cap_rxbuff1,rega
+	fetch 2,mem_hci_curr_target
+	branch iicd_write_ota_data
+	
+	
+
+	
+hci_normal_reply:
+	force 4,loopcnt
+hci_command_complete:	/* loopcnt is hci length */
+	call hci_get_payload_ptr
+	force 0x1,pdata
+	istore 1,contwu
+	deposit alarm
+	istore 3,contwu
+	force HCI_EVENT_COMMAND_COMPLETE,queue
+hci_send_event:		/* queue:event code, loopcnt: length */
+	bpatchx patch20_4,mem_patch20
+	call hci_get_packet_ptr
+	deposit queue
+	istore 1,contwu
+	deposit loopcnt
+	istore 1,contwu
+hci_send_event_raw:
+	force 5,queue
+	increase 2,loopcnt
+hci_send_packet:
+	branch h4_send_packet_event
+
+hci_send_commu_ready_event:
+	force HCI_EVENT_VENDOR_SPECIFIC,queue
+	call hci_get_payload_ptr
+	setarg HCI_VENDOR_EVENT_COMMU_READY
+	istore 1,contwu
+	force 1,loopcnt
+	branch hci_send_event
+
+hci_get_cmd_complete_ptr:
+	force 12,contwu
+	branch hci_get_tx_ptr
+
+hci_get_payload_ptr:
+	force 8,contwu
+	branch hci_get_tx_ptr
+
+hci_get_packet_ptr:
+	force 6,contwu
+hci_get_tx_ptr:
+	branch h4_get_tx_ptr
+
+	
+
+calc_tx_crc16:
+	pulse crc16
+	enable enable_crc
+crcloop:
+	ifetch 1,contwu
+	inject bucket,8
+	loop crcloop
+	enable enable_parity
+	inject bucket,16
+	disable enable_parity
+	disable enable_crc
+	disable crc16
+	byteswap pdata,pdata
+	rtn
+
+
+
+cmd_exit:
+	jam 0,mem_hci_cmd
+	rtn
+cmd_check_plap:
+	fetch 6,mem_hci_plap
+	fetcht 6,mem_plap
+	isub temp,null
+	rtn
+
+	
+	
+//enable ssp master sm
+cmd_pair:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,cmd_pair_passive
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+cmd_pair_passive:
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	setarg 0
+	setflag master,smap_lmptid,pdata		
+	store 1,mem_lmo_tid2
+	branch cmd_exit
+	rtn
+cmd_in_sniff:
+	jam LMP_SNIFF_REQ,mem_lmo_opcode2
+	arg mem_sniff_payload,contw
+	setarg 0
+	isolate1 27,clke_bt
+	setflag true,1,pdata		/* use init 2 if bit27 of clke is 1 */
+	istore 1,contw	
+	setarg 0	/* dsniff */
+	istore 2,contw
+	fetch 2,mem_sniff_param_interval	/* tsniff */
+	istore 2,contw
+	fetch 1,mem_sniff_param_attempt	/* attempt */
+	istore 2,contw
+	fetch 1,mem_sniff_param_timeout	/* timeout */
+	istore 2,contw
+	branch cmd_exit
+	
+cmd_exit_sniff:
+	jam LMP_UNSNIFF_REQ,mem_lmo_opcode2
+	branch cmd_exit
+
+hci_idle_dispatch:
+	call gpio_check_uart_state
+	rtn true
+	arg UART_WAKEUP_RX,temp
+	call gpio_get_bit
+	nbranch uart_wake_up,true
+	jam HCI_RX_WAKE,mem_hci_lt_rx_state
+	rtn
+uart_wake_up:
+	fetch 1,mem_hci_lt_rx_state
+	rtnne HCI_RX_WAKE
+	call hci_exit_lpm
+	branch hci_send_commu_ready_event
+	
+	
Index: YJX_Only24g/FCC_1021S/program/hid.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/hid.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/hid.prog	(working copy)
@@ -0,0 +1,84 @@
+/**
+* the following API is to send the HID data
+* 
+*/
+
+/**
+* the following API is to process the hid  rx data
+* 
+*/
+//handle the hid data
+
+hid_rx_process:
+	bpatchx patch20_5,mem_patch20
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_idle,hid_rx_process_handshake
+	beq hid_type_set_protocol,hid_rx_process_handshake
+	beq hid_type_data,hid_rx_process_data
+	beq HID_TYPE_SET_REPORT,hid_rx_process_set_report
+	beq HID_TYPE_CONTROL,hid_rx_process_hid_control
+	rtn
+
+hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,hid_rx_process_virtual_cable_unplug
+	beq HID_CONTROL_P_SUSPEND,hid_rx_process_suspend
+	rtn
+	
+hid_rx_process_virtual_cable_unplug:
+	jam BT_EVT_VIRTUAL_CABLE_UNPLUG,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 1,mem_device_option
+	rtnbit0 dvc_op_mouse
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,mouse_irtual_cable_unplug
+	rtn
+hid_rx_process_suspend:
+	rtn
+
+hid_rx_process_set_report:
+	call hid_rx_process_data
+	arg 0x01,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0x00
+	istore 1,contw
+	rtn
+
+hid_rx_process_handshake:
+	arg 1,regA//payload length
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	jam 1,mem_ui_data_txbuff_length
+	fetch 1,mem_hid_control_state
+	set1 l2cap_channel_hid_handshake_done
+	store 1,mem_hid_control_state
+	jam BT_EVT_HID_HANDSHAKE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+hid_rx_process_data:
+	ifetch 1,contr
+	beq HID_REPORT_ID_KB,hid_rx_process_data_hid_kb
+	rtn
+
+hid_rx_process_data_hid_kb:
+	rtn
+
+	
+hid_malloc_tx_buff:
+	call l2cap_malloc
+	copy rega,temp
+	storet 1,mem_ui_data_txbuff_length
+	copy pdata,contw
+	copy rega,pdata
+	istore 2,contw //hid payload length
+	rtn
+
Index: YJX_Only24g/FCC_1021S/program/kscan_peipherals.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/kscan_peipherals.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/kscan_peipherals.prog	(working copy)
@@ -0,0 +1,152 @@
+
+
+
+ifdef COMPILE_KEYSCAN
+/****************************************key scan***************************************/
+/******the key_scan use explain******
+
+* First:call kscan_init
+* Second:call kscan_main
+* Finally: the key scanning reault is mem_kscan_value.
+
+******
+***************************************************************************************
+*/
+kscan_init:  
+	fetch 2,mem_kscan_ptr
+	copy pdata,regc
+	call kscan_row_num_select
+	branch kscan_col_num_select
+
+kscan_col_init:
+	setarg 0
+	add regc,KEYSCAN_OFFECT_SHIFT_COUNT,rega
+	istore 1,rega
+	add regc,KEYSCAN_OFFECT_COL_NUM,rega
+	ifetch 1,rega
+	branch kscan_value_init,blank
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_COL_CONF_PIN,regb
+kscan_col_loop: 
+	ifetcht 1, regb
+	call gpio_config_output
+	ifetcht 1, regb
+	call gpio_out_active
+	call kscan_value_init             
+	ifetcht 1,regb
+	call gpio_config_input
+	increase 1,regb
+	loop kscan_col_loop
+	rtn  
+kscan_row_num_select:          
+	add regc,KEYSCAN_OFFECT_ROW_NUM,contw
+	ifetch 1,contw 
+	rtn blank
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_ROW_CONF_PIN,rega
+	branch kscan_ioselect_input   
+kscan_col_num_select:           
+	add regc,KEYSCAN_OFFECT_COL_NUM,contw
+	ifetch 1,contw 
+	rtn blank
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_COL_CONF_PIN,rega
+	branch kscan_ioselect_input
+kscan_ioselect_input: 
+	ifetcht 1,rega
+	call gpio_config_input 
+	increase 1,rega
+	loop kscan_ioselect_input
+	rtn
+kscan_value_init:
+	setarg 0
+	add regc,KEYSCAN_OFFECT_ROW_COUNT,rega
+	istore 1,rega
+	add regc,KEYSCAN_OFFECT_ROW_CONF_PIN,rega
+kscan_save_vaule:
+	ifetcht 1,rega       
+	call gpio_get_bit   
+	add regc,KEYSCAN_OFFECT_VALUE_TEMP,temp
+	ifetch 2,temp
+ 	add regc,KEYSCAN_OFFECT_SHIFT_COUNT,contr
+	ifetcht 1,contr
+	copy temp,queue
+	qsetflag true,pdata
+
+	add regc,KEYSCAN_OFFECT_VALUE_TEMP,temp
+ 	istore 2,temp
+	increase 1,rega
+    
+	add regc,KEYSCAN_OFFECT_SHIFT_COUNT,contw
+	ifetch 1,contw 
+	increase 1,pdata
+	istore 1,contw
+    
+	add regc,KEYSCAN_OFFECT_ROW_COUNT,contw
+	ifetcht 1,contw 
+	increase 1,temp
+	istoret 1,contw
+	add regc,KEYSCAN_OFFECT_ROW_NUM,contw
+	ifetch 1,contw 
+	ixor temp,null  
+	nbranch kscan_save_vaule,zero
+	rtn       
+	
+	
+kscan_lpm_berfore:
+	fetch 2,mem_kscan_ptr
+	copy pdata,regc
+ 	add regc,KEYSCAN_OFFECT_ROW_NUM,contw
+ 	ifetch 1,contw 
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_COL_CONF_PIN,rega
+kscan_select_wake:    
+	ifetcht 1,rega
+	call gpio_set_wake   
+	increase 1,rega
+	loop kscan_select_wake
+	rtn
+
+kscan_clkn_bt_timer_check:
+	ifetcht 4,rega
+	copy clkn_bt,pdata
+	isub temp,null
+	rtn positive
+	setarg 0
+	istore 4,rega
+	rtn
+
+kscan_process:
+	fetch 2,mem_kscan_ptr
+	copy pdata,regc
+	add regc,KEYSCAN_OFFECT_BTCLK,rega
+	call kscan_clkn_bt_timer_check
+	ifetch 4,rega
+	add regc,KEYSCAN_OFFECT_BTCLK_INTERVAL,regb
+	ifetcht 1,regb
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	istore 4,rega
+	call kscan_col_init  
+	add regc,KEYSCAN_OFFECT_VALUE_TEMP,rega
+	ifetch 2,rega
+	add regc,KEYSCAN_OFFECT_LASVALUE,rega
+	ifetcht 2,rega
+	istore 2,rega
+	iand temp,pdata
+	add regc,KEYSCAN_OFFECT_VALUE,rega    
+	istore 2,rega 
+	rtn  
+
+endif
+	
+	
+
+
+
+	
+    
+	
+
Index: YJX_Only24g/FCC_1021S/program/l2cap.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/l2cap.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/l2cap.prog	(working copy)
@@ -0,0 +1,1929 @@
+/************************************/
+/*initialize L2CAP related variables*/
+/************************************/
+l2cap_init:
+	branch l2cap_init_wake,wake
+l2cap_init_work:
+	setarg mem_l2cap_xmem_end
+	arg mem_l2cap_xmem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+l2cap_init_wake:	
+	bpatchx patch20_6,mem_patch20
+	setarg mem_sdp_mem_end
+	arg mem_sdp_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	setarg mem_l2cap_mem_end
+	arg mem_l2cap_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	branch l2cap_lpm_load_txbuf
+	
+process_rx_l2cap_pkt:
+	bpatchx patch20_7,mem_patch20
+	copy contr,temp
+	//call l2cap_malloc_is_fifo_full
+	//nrtn blank
+	copy temp,contr
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_pkt_length
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_cid
+	deposit contr
+	store 2,mem_l2cap_payload_ptr
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,l2cap_rx_multiplexing
+	branch ml2cap_rx_multiplexing
+
+l2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch21_0,mem_patch21
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,l2cap_call_proc_signal
+l2cap_rx_multiplexing0:
+	beq L2CAP_SDP_channel,l2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+l2cap_check_map:
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	bpatchx patch21_1,mem_patch21
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	beq 0,set_pdata_0
+	beq 1,set_pdata_0
+	beq 2,set_pdata_0
+	beq 3,set_pdata_0
+	beq 0x81,set_pdata_0
+	beq 0xc0,set_pdata_0
+	beq 0x80,set_pdata_0
+	beq 0x40,set_pdata_0
+	rtn
+
+set_pdata_0:
+	setarg 0
+	rtn
+
+
+l2cap_call_proc_signal:
+	call l2cap_check_map
+	nrtn blank
+l2cap_call_proc_signal0:
+	call l2cap_malloc_signal_channel
+	call l2cap_process_signal_pkt
+	fetcht 2,mem_l2cap_signal_tx_length
+	branch l2cap_call_proc_no_reply,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+	
+l2cap_call_proc_sigal_pending:
+	fetch 1,mem_l2cap_pending_item
+	rtn blank
+	copy pdata,rega
+	bpatchx patch21_2,mem_patch21
+	fetch 4,mem_l2cap_sdpres_delay_time
+	arg 0x100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	jam 0,mem_l2cap_pending_item
+	copy rega,pdata
+	beq L2CAP_SDP_channel,l2cap_sdp_conn_succ
+	branch assert
+l2cap_sdp_conn_succ:
+	arg 0,debug
+	call l2cap_malloc_signal_channel
+	call restore_l2cap_req_param
+	call l2cap_get_signal_tx_payload
+	call save_cont_pointers
+	call send_connection_sdp_res
+	call l2cap_get_signal_tx_buff
+	//fetch 2,mem_l2cap_signal_tx_length
+	setarg 0x000c
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+
+
+l2cap_reset_sdp_map:
+	bpatchx patch21_3,mem_patch21
+	fetch 2,mem_sdp_tx_pkt_length
+	increase 4,pdata
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	add pdata,1,temp ///temp: how many128
+	arg mem_tx_fifo3,contr
+	ifetch 3,contr
+	rtn blank
+	store 3,mem_tx_fifo_map_temp
+	fetch 1,mem_tx_fifo_map_temp
+	copy pdata,rega
+	call check_l2cap_map
+	copy regb,pdata
+	store 1,mem_tx_fifo3
+	rtn
+
+check_l2cap_map:
+	arg 0,queue
+	arg 0,regb
+
+check_l2cap_map_loop:
+	sub queue,7,null
+	nrtn positive
+	qisolate1 rega
+	branch check_l2cap_map_used,true
+	branch check_l2cap_map_used2
+
+check_l2cap_map_used:
+	copy temp,pdata
+	branch check_l2cap_map_used2,blank
+	qset1 regb
+	increase -1,temp
+
+check_l2cap_map_used2:
+	increase 1,queue
+	branch check_l2cap_map_loop
+
+l2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_check_map
+	nrtn blank
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+	call l2cap_reset_sdp_map
+	branch l2cap_call_proc_sdp_common
+
+	
+ml2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+l2cap_call_proc_sdp_common:
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	branch l2cap_call_proc_no_reply,blank
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_hid:
+	call hid_rx_process
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_rfcomm:
+	bpatchx patch21_4,mem_patch21
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	call rfcomm_rx_process
+	fetch 1,mem_rfcomm_malloc_fail_flag
+	rtneq RFCOMM_MALLOC_FAIL
+	branch l2cap_rx_reset_state
+l2cap_call_proc_no_reply:
+	call l2cap_malloc_discard
+	//fall through
+l2cap_rx_reset_state:
+	setarg 0
+	store 2,mem_l2cap_rx_pkt_length
+	store 2,mem_l2cap_rx_cid
+	jam L2CAP_RX_DONE,mem_l2cap_rx_done
+	rtn
+/* To process one L2CAP signalling pkt consisting of 1 or more signalling commands.	*/
+l2cap_process_signal_pkt:
+	bpatchx patch21_5,mem_patch21
+	call l2cap_get_signal_tx_payload
+	force 0,regB
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+l2cap_process_signal_pkt_loop:
+	call l2cap_process_one_signal
+	deposit regC
+	increase -4,regC
+	increase -4,pdata
+	nbranch l2cap_process_signal_pkt_loop,blank
+	copy regB,pdata
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_process_one_signal:
+	bpatchx patch21_6,mem_patch21
+	ifetch 1,contr
+	beq signal_cmd_reject,l2cap_proc_signal_cmd_reject
+	beq signal_connect_req,l2cap_proc_signal_connect_req
+	beq signal_connect_rsp,l2cap_proc_signal_connect_rsp
+	beq signal_config_req,l2cap_proc_signal_config_req
+	beq signal_config_rsp,l2cap_proc_signal_config_rsp
+	beq signal_disconnect_req,l2cap_proc_signal_disconnect_req
+	beq signal_disconnect_rsp,l2cap_proc_signal_disconnect_rsp
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_echo_rsp,l2cap_proc_signal_echo_rsp
+	beq signal_info_req,l2cap_proc_signal_info_req
+	beq signal_info_rsp,l2cap_proc_signal_info_rsp
+	call l2cap_reject_command
+l2cap_process_one_signal_rtn:
+	rtn
+
+l2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	copy regc,pdata
+	isub rega,regc
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1, contw
+	ifetch 2,contr 
+l2cap_proc_signal_info_req_reply:
+	beq L2CAP_SIG_EXT_FEATRUE,l2cap_proc_signal_info_req_ext
+	beq L2CAP_SIG_FIX_FEATRUE,l2cap_proc_signal_info_req_fix
+	rtn
+l2cap_proc_signal_info_req_ext:
+	setarg 0x020008
+	istore 6, contw
+	setarg 0x0280
+	istore 4, contw
+	force 12,pdata
+	branch l2cap_proc_signal_info_req_common
+l2cap_proc_signal_info_req_fix:
+	setarg 0x3000c
+	istore 6, contw
+	setarg 0x0006
+	istore 8, contw
+	force 16,pdata
+l2cap_proc_signal_info_req_common:
+	iadd regb,regb
+	branch l2cap_process_one_signal_rtn
+	
+ml2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	ifetch 2,contr
+	store 2,mem_temp
+	copy regc,pdata
+	isub rega,regc 
+	call l2cap_get_signal_tx_payload
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw 
+	fetch 2,mem_temp
+	branch l2cap_proc_signal_info_req_reply
+
+
+/*  Respond to the command reject signal sent from the remote BD.   */
+l2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	copy regC,pdata
+	isub regA,regC
+l2cap_proc_signal_cmd_reject_rtn:
+	branch l2cap_process_one_signal_rtn
+/* Respond to an L2CAP connection request from remote BD. (generate a connection_rsp)	*/
+l2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//fetch 6,mem_inquiry_bd_addr
+  	//store 6,mem_master_paged_bd_addr
+  	call load_cont_pointers
+	arg 0,debug
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,temp //PSM
+	ifetch 2,contr
+	copy pdata,timeup
+	bpatchx patch21_7,mem_patch21
+	copy temp,pdata
+	beq PSM_SDP,l2cap_proc_signal_connect_req_sdp
+	beq PSM_RFCOMM,l2cap_proc_signal_connect_req_rfcomm
+	beq PSM_HID_control,l2cap_proc_signal_connect_req_hid_ctrl
+	beq PSM_HID_interrupt,l2cap_proc_signal_connect_req_hid_int
+	call l2cap_reject_command
+	branch l2cap_proc_signal_connect_req_rtn
+
+l2cap_proc_signal_connect_req_sdp:
+	call save_cont_pointers
+	arg L2CAP_SDP_channel,temp
+	fetch 2,mem_sdp_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	copy clkn_bt,pdata
+	store 4,mem_l2cap_sdpres_delay_time
+	call store_l2cap_req_param
+	branch  send_connection_pending
+
+store_l2cap_req_param:
+	storet 2,mem_psm
+	deposit timeup
+	store 2,mem_scid
+	deposit rega
+	store 2,mem_cmd_length
+	deposit regb
+	store 2,mem_tt2
+	deposit regc
+	store 2,mem_tt3
+	deposit queue
+	store 2,mem_id
+	rtn
+
+restore_l2cap_req_param:
+	fetcht 2,mem_psm
+	fetch 2,mem_scid
+	copy pdata,timeup
+	fetch 2,mem_cmd_length
+	copy pdata,rega
+	fetch 2,mem_tt2
+	copy pdata,regb
+	fetch 2,mem_tt3
+	copy pdata,regc
+	fetch 2,mem_id
+	copy pdata,queue
+	rtn
+
+l2cap_proc_signal_connect_req_rfcomm:
+	call save_cont_pointers
+	setarg L2CAP_RFCOMM_channel
+	arg L2CAP_RFCOMM_channel,temp
+	fetch 2,mem_RFCOMM_remote_CID
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_ctrl:
+	call save_cont_pointers
+	arg L2CAP_HID_Control_channel,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_int:
+	call save_cont_pointers
+	deposit clke
+	arg L2CAP_HID_Interrupt_channel,temp
+	fetch 2,mem_hid_int_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	branch send_connection_res
+
+send_connection_pending:
+	setarg L2CAP_connect_pending
+	store 2,memL2CAP_T1
+	jam L2CAP_SDP_channel,mem_l2cap_pending_item
+	branch send_connection_res0
+send_connection_sdp_res:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+send_connection_res:
+	setarg L2CAP_connect_successful
+	store 2,memL2CAP_T1
+send_connection_res0:
+	bpatchx patch22_0,mem_patch22
+	call load_cont_pointers
+	setarg signal_connect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	fetch 2,memL2CAP_T1
+	beq L2CAP_connect_pending,connect_pending
+	isolate0 0,debug
+	branch connect_suc,true
+	setarg L2CAP_connect_refused_no_resources
+connect_suc:
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+connect_pending:
+	istore 2,contw
+	force 0x0002,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+	
+already_connected:
+	set1 0,debug
+	branch send_connection_res
+connect_req_update_byte_counts:
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_proc_signal_connect_req_rtn
+l2cap_proc_signal_connect_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //identifier
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //remote cid
+	copy pdata,timeup
+	ifetch 2,contr //local cid
+	copy pdata,temp
+	bpatchx patch22_1,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_int,zero
+	rtn
+
+l2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_rfcomm_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	rtn
+
+l2cap_proc_signal_config_req:
+	ifetch 1,contr//identifier
+	copy pdata,queue
+	ifetch 2,contr//length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr//dest cid
+	copy pdata,temp
+	copy temp,regA
+	bpatchx patch22_2,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_int,zero
+	branch l2cap_reject_command
+	//branch L2CAP_proc_signal_config_req_rtn
+l2cap_proc_signal_config_req_sdp:
+	copy contw, timeup
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	copy timeup,contw
+	arg L2CAP_SDP_channel,timeup
+	fetch 2,mem_sdp_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_ctrl:
+	copy contw, timeup
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	copy timeup,contw
+	arg L2CAP_HID_Control_channel,timeup
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_int:
+	copy contw, timeup
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	copy timeup,contw
+	arg L2CAP_HID_Interrupt_channel,timeup
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_rfcomm:
+	copy contw, timeup
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+//	jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	copy timeup,contw
+	arg L2CAP_RFCOMM_channel,timeup
+	fetch 2,mem_RFCOMM_remote_CID
+	copy pdata,temp
+l2cap_send_config_rsp:
+	bpatchx patch22_3,mem_patch22
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0006
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	force 0x00,pdata
+	istore 2,contw
+	force L2CAP_config_success,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	//copy temp,pdata
+	storet 2,mem_config_req_dest_CID
+	copy queue,pdata
+	store 1,mem_config_identifier
+	force L2CAP_SDP_channel,pdata
+	icompare 0xff,timeup
+	branch l2cap_send_config_rsp_is_sdp,true
+	increase 1,pdata
+l2cap_send_config_rsp_is_sdp:
+	//store 1,mem_send_config_req
+	rtn
+l2cap_check_channel_state:
+	disable user
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	copy contr,contw
+	increase -1,contw
+	istore 1,contw
+	enable user
+	rtn
+l2cap_send_config_req:
+l2cap_send_config_req_sdp:
+	fetch 1,mem_sdp_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_rfcomm,user
+	jam L2CAP_SDP_channel,mem_send_config_req
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_ctrl,user
+	jam L2CAP_RFCOMM_channel,mem_send_config_req
+	fetch 2,mem_RFCOMM_remote_CID
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_int,user
+	jam L2CAP_HID_Control_channel,mem_send_config_req
+	fetch 2,mem_hid_ctrl_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	call l2cap_check_channel_state
+	nrtn user//End of sending config req
+	jam L2CAP_HID_Interrupt_channel,mem_send_config_req
+	fetch 2,mem_hid_int_remote_cid
+	store 2,mem_config_req_dest_CID
+	//branch L2CAP_generate_config_req
+
+l2cap_generate_config_req:
+	bpatchx patch22_4,mem_patch22
+	call l2cap_get_req_id
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	force signal_config_req,pdata
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	fetch 2,mem_config_req_dest_CID
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	force 1,pdata
+	istore 1,contw
+	force 2,pdata
+	istore 1,contw
+	fetch 1,mem_send_config_req
+	beq L2CAP_RFCOMM_channel,l2cap_generate_config_req_rfcomm
+	setarg L2CAP_config_MTU_SDP
+	istore 2,contw
+	branch l2cap_generate_config_req_done
+l2cap_generate_config_req_rfcomm:
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+l2cap_generate_config_req_done:
+	arg 0x0c,temp
+	storet 2,mem_l2cap_signal_tx_length
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	jam 0,mem_send_config_req
+l2cap_proc_signal_config_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_config_rsp:
+	increase 1,contr
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //source cid
+	copy pdata,regA
+	bpatchx patch22_5,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_int,zero
+	increase 2,contr
+	ifetch 2,contr
+	iforce null
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+
+
+l2cap_proc_signal_disconnect_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	copy regA,temp
+	call save_cont_pointers
+	bpatchx patch22_6,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_control_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_int:
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_interrupt_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+
+l2cap_proc_signal_disconnect_req_sdp:
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_sdp_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_hid_control_now:
+	call l2cap_reset_hid_ctrl_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_disconnect_hid_interrupt_now:
+	call l2cap_reset_hid_int_state
+	fetch 2, mem_hid_ctrl_remote_cid
+	branch l2cap_send_disconnect_rsp_pkt, blank
+	//set the flag,hid channel close
+	//should we set here?
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch l2cap_send_disconnect_rsp_pkt
+
+l2cap_disconnect_sdp_now:
+	call l2cap_reset_sdp_channel_state
+	fetch 1,mem_upper_sm_ss
+	nbranch l2cap_send_disconnect_rsp_pkt,blank
+	//jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2
+	//jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_proc_signal_disconnect_req_rfcomm:
+	copy timeup,temp
+	fetch 2, mem_RFCOMM_remote_CID
+	isub temp,null
+	branch l2cap_disconnect_rfcomm_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_rfcomm_now:
+	call l2cap_reset_rfcomm_channel_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_send_disconnect_rsp_pkt:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_err_rtn:
+	call load_cont_pointers
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_rtn:
+	iadd regB,regB
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch22_7,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_rsp_err_rtn
+l2cap_proc_signal_disconnect_rsp_sdp:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	call l2cap_reset_sdp_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_rfcomm_remote_CID
+	isub temp,null
+	call l2cap_reset_rfcomm_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	call  l2cap_reset_hid_ctrl_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_int:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	call l2cap_reset_hid_int_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rtn:
+	call load_cont_pointers
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+	branch l2cap_process_one_signal_rtn
+
+/* received an echo request from remote BD.  Will echo the 1st 1 byte back,		*/
+l2cap_proc_signal_echo_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	setarg 9
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 4,pdata
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_echo_rsp:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_info_rsp:
+	branch l2cap_process_one_signal_rtn
+l2cap_reject_command:
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	setarg signal_cmd_reject
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 2
+	istore 2,contw
+	setarg cmd_not_understood
+	istore 2,contw
+	increase 6,regB
+	arg 4,regC
+	branch l2cap_process_one_signal_rtn
+
+
+
+l2cap_reset_rfcomm_channel_state:
+	setarg 0
+	store 2,mem_RFCOMM_Tx_pkt_length
+	store 2,mem_RFCOMM_remote_CID
+	jam 0,mem_rfcomm_state
+	rtn
+l2cap_reset_sdp_channel_state:
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	rtn
+l2cap_reset_hid_ctrl_state:
+	setarg 0
+	store 2,mem_hid_ctrl_remote_cid
+	jam 0,mem_hid_control_state
+	fetch 1,mem_hid_interrupt_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+
+l2cap_reset_hid_int_state:
+	setarg 0
+	store 2,mem_hid_int_remote_cid
+	jam 0,mem_hid_interrupt_state
+	fetch 1,mem_hid_control_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+	
+l2cap_reset_hid_disconnected:
+	jam BT_EVT_HID_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+l2cap_disconnect_interrupt_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_INTERRUPT, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_int_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_int_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Interrupt_channel,regB
+	branch l2cap_generate_disconnect_req
+l2cap_disconnect_control_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_ctrl_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_ctrl_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Control_channel,regB
+l2cap_generate_disconnect_req:
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	force signal_disconnect_req,pdata
+	istore 1,contw
+	fetch  1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy regB,pdata
+	istore 2,contw
+	force 0x08,temp //signal tx length in temp
+	branch ml2cap_send_signal
+
+ml2cap_send_signal_connect_req:
+	bpatchx patch23_0,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_connect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata	 //PSM
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 8,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_config_req:
+	bpatchx patch23_1,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_config_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	/****modigy for nokia*****/
+	copy temp,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x01
+	istore 1,contw
+	setarg 0x02
+	istore 1,contw
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+	arg 0xc,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_disconn_req:
+	bpatchx patch23_2,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_disconnect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	copy contw,regA
+	store 1,mem_ML2CAP_comm_id
+	copy regA,contw
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 0x8,temp
+	//branch ml2cap_send_signal
+	//Fall through
+ml2cap_send_signal:
+	storet 2,mem_l2cap_signal_tx_length
+	copy temp,pdata
+	branch l2cap_malloc_discard,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw //make sure that length is still in temp!
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	rtn
+
+msdp_send_req_done:
+	fetch 2,mem_sdp_tx_pkt_length
+	branch assert,blank
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	rtn
+ml2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch23_3,mem_patch23
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,ml2cap_call_proc_signal
+	beq L2CAP_SDP_channel,ml2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+ml2cap_call_proc_signal:
+	bpatchx patch23_4,mem_patch23
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	copy pdata,contw
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+ml2cap_proc_one_comm_loop:
+	call ml2cap_proc_one_comm
+	increase -4,regC
+	nbranch ml2cap_proc_one_comm_loop,zero
+	copy regB,temp
+	call ml2cap_send_signal
+	branch l2cap_rx_reset_state
+	
+ml2cap_proc_one_comm:
+	ifetch 1,contr
+	beq signal_connect_req,ml2cap_proc_signal_connect_req
+	beq signal_cmd_reject,ml2cap_proc_signal_cmd_reject
+	beq signal_connect_rsp,ml2cap_proc_signal_connect_rsp
+	beq signal_config_rsp,ml2cap_proc_signal_config_rsp
+	beq signal_config_req,ml2cap_proc_signal_config_req
+	beq signal_disconnect_rsp,ml2cap_proc_signal_disconn_rsp
+	beq signal_disconnect_req,ml2cap_proc_signal_disconn_req
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_info_req,ml2cap_proc_signal_info_req
+	branch ml2cap_proc_send_reject
+
+ml2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//jam NO_RECONNECTION,memui_reconnect_mode
+	call load_cont_pointers
+	branch l2cap_proc_signal_connect_req
+ml2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+mvptr:
+	ifetch 1,contr
+	increase -1,regA
+	nbranch mvptr,zero
+	rtn
+ml2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //id
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA	//length
+	ifetch 2,contr
+	copy pdata,timeup	//destination	cid
+	ifetch 2,contr
+	copy pdata,temp	//source	cid
+	ifetch 2,contr 		// result
+	sub pdata,0,null
+	branch ml2cap_proc_signal_connect_rsp_sucessful,zero
+	beq L2CAP_connect_refused_PSM_unsupported,ml2cap_proc_signal_connect_refused_result
+	beq L2CAP_connect_refused_no_resources,ml2cap_proc_signal_connect_refused_result
+	branch ml2cap_proc_signal_connect_rsp_mnosucc
+ml2cap_proc_signal_connect_refused_result:
+	jam BT_EVT_ML2CAP_CONN_REFUSED,mem_fifo_temp
+	call ui_ipc_send_event
+ml2cap_proc_signal_connect_rsp_mnosucc:
+	ifetch 2,contr //reason
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sucessful:
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mnosucc1,true
+	bpatchx patch23_5,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_int,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_sdp_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_rfcomm_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_control_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_interrupt_state
+	//branch mnosucc1
+
+mnosucc1:
+	call load_cont_pointers
+mnosucc:
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_signal_config_rsp:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	copy pdata,timeup
+	ifetch 2,contr
+	ifetch 2,contr		//	Get the result value, check success
+	nbranch mcrsdone1,blank
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mcfrsdone,true
+	copy timeup,temp
+	bpatchx patch23_6,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_int,zero
+ml2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_sdp_state
+	rtn
+ml2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_rfcomm_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_control_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+mcfrsdone:
+	call load_cont_pointers
+mcrsdone1:
+	increase -6,regA
+mloop2:
+	branch mcrsdone,zero
+	increase 1,contr
+	increase -1,regA
+	branch mloop2
+mcrsdone:
+	rtn
+ml2cap_proc_signal_config_req:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	increase 2,contr
+	copy pdata,temp
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	increase 2,regA
+	copy regA,pdata
+	istore 2,contw
+	call save_cont_pointers
+	bpatchx patch23_7,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_int,zero
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_sdp_state
+	bbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,ml2cap_proc_signal_config_req_sdp_nsndreq
+	fetcht 1,mem_CONTROL_tasks
+	set1 L2CAP_init_Config_Req,temp
+	storet 1,mem_CONTROL_tasks
+	copy queue,pdata
+	increase 1,pdata
+	store 1,mem_config_identifier
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	fetch 2,mem_RFCOMM_remote_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	fetch 2,mem_hid_ctrl_remote_cid
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	fetch 2,mem_hid_int_remote_cid
+	//branch mcfgrq_done
+
+mcfgrq_done:
+	copy pdata,timeup
+	call load_cont_pointers
+/*******for Nokia**************/
+	copy timeup,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	increase -6,regA
+mloop1:
+	branch mcrqdone,zero
+	ifetch 1,contr
+	istore 1,contw
+	increase 1,regB
+	increase -1,regA
+	branch mloop1
+mcrqdone:
+	rtn
+ml2cap_proc_signal_disconn_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	call save_cont_pointers
+	bpatchx patch24_0,mem_patch24
+	setarg L2CAP_SDP_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_sdp,zero
+	setarg L2CAP_HID_Control_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_int,zero
+	branch mclsrfc
+ml2cap_proc_signal_disconn_sdp:
+	setarg 0x0000
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	store 1,mem_sdp_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_ctrl:
+	call l2cap_reset_hid_ctrl_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_int:
+	call l2cap_reset_hid_int_state
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch mclssdp
+mclsrfc:
+	setarg 0x0000
+	store 2,mem_RFCOMM_Tx_pkt_length
+mclssdp:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	iadd regB,regB
+	rtn
+
+ml2cap_proc_signal_disconn_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch24_1,mem_patch24
+	fetch 1,mem_ML2CAP_comm_id
+	icompare 0xff,queue
+	nbranch mdisdone,true
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_rfcomm,zero
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_sdp:
+	jam 0,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+	//
+	//
+mdisdone:
+	call load_cont_pointers
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_send_reject:
+	setarg signal_cmd_reject
+	istore 1,contw
+	ifetch 1,contr
+	istore 1,contw
+	setarg 0x0002
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x0006
+	iadd regB,regB
+	force 4,regC
+	rtn
+	
+//l2cap command id, 0 is not allowed
+l2cap_get_req_id:
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	bne 0,l2cap_get_req_id_ok
+	increase 1,pdata
+l2cap_get_req_id_ok:
+	store 1,mem_ML2CAP_comm_id
+	rtn
+
+
+/*********************************************************/
+//char* malloc(short len)
+//input: regA -> len
+//rtn: regB -> pbuff;return from pdata
+//val: queue -> i
+//val: timeup -> buff_cnt
+/*********************************************************/
+l2cap_malloc:
+	bpatchx patch24_2,mem_patch24
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+ifdef DEBUG_MALLOC
+	call l2cap_malloc_log_get_ptr
+	copy regA,pdata
+	istore 2,contw
+	sub pdata,1024,null
+	branch assert,positive
+	branch assert,blank
+endif
+	arg mem_tx_buff0,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+l2cap_malloc_loop:
+	fetcht 1,mem_used_map
+	qisolate1 temp
+	branch l2cap_malloc_next,true//if(1 == (used_map & (1 << i)))goto next;
+	call l2cap_malloc_enough
+	sub timeup,0,null// (0 - timeup)
+	branch l2cap_malloc_next,positive//if(buff_cnt <= 0)goto next;
+	call l2cap_malloc_into_fifo
+	branch l2cap_malloc_rtn//return (pbuff);
+l2cap_malloc_next:
+	increase 128,regB//pbuff += BUFF_SIZE;//point to next buff
+	increase 1,queue
+	setarg 8//BUFF_MAX_COUNT
+	isub queue,null //BUFF_MAX_COUNT - i
+	branch l2cap_malloc_loop,positive//while(i < buff_max_count)
+	arg 0,regB//return NULL
+l2cap_malloc_rtn:
+ifdef DEBUG_MALLOC
+	call l2cap_malloc_log_get_ptr
+	copy regB,pdata
+	istore 2,contw
+endif
+	copy regB,pdata
+	branch assert,blank
+	rtn//return pointer via pdata
+	
+/*********************************************************/
+//void* l2cap_malloc_fifo_out(void)
+//output:len -> temp
+//output:ptr ->pdata
+//only get ptr,not free
+/*********************************************************/
+l2cap_malloc_fifo_out:
+	bpatchx patch24_3,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	increase 1,contr
+	ifetch 2,contr //ptr ->pdata
+	rtn 
+
+/*********************************************************/
+//void free_first_buff_in_fifo(void)
+//only free the first one
+/*********************************************************/
+l2cap_malloc_free:
+	bpatchx patch24_4,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	copy contr,contw
+	copy contr,temp
+	setarg 0
+	istore 3,contw
+ifdef DEBUG_MALLOC
+	call l2cap_malloc_log_get_ptr
+	setarg 0xaa
+	istore 1,contw
+	istoret 1,contw
+endif
+	rtn
+/*********************************************************/
+//void l2cap_malloc_discard(void)
+//discard the latest malloc
+/*********************************************************/
+l2cap_malloc_discard:
+	bpatchx patch24_5,mem_patch24
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank
+	fetch 3,mem_tx_fifo2
+	store 3,mem_tx_fifo3
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo2
+	fetch 3,mem_tx_fifo0
+	store 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_full(void)
+//blank == 1: not full
+//blank == 0: full
+/*********************************************************/
+l2cap_malloc_is_fifo_full:
+	bpatchx patch24_6,mem_patch24
+	fetch 3,mem_tx_fifo0
+	rtn
+/*********************************************************/
+//bool fifo_nearly_full(void)
+//blank == 1: nearly full
+//blank == 0: not nearly full
+/*********************************************************/
+l2cap_malloc_is_fifo_nearly_full:
+	bpatchx patch24_7,mem_patch24
+	fetch 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_empty(void)
+//blank == 1: empty
+//blank == 0: not empty
+/*********************************************************/
+l2cap_malloc_is_fifo_empty:
+	bpatchx patch25_0,mem_patch25
+	fetch 3,mem_tx_fifo3
+	rtn
+/*********************************************************/
+//char* l2cap_malloc_fifo_get_first_ptr(void)
+//output:contr  -->ptr
+/*********************************************************/	
+l2cap_malloc_fifo_get_first_ptr:
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank // fifo is empty
+	arg mem_tx_fifo0,contr
+ifdef DEBUG_MALLOC
+	arg 5,loopcnt
+l2cap_malloc_free_loop:
+	increase -1,loopcnt
+	copy loopcnt,pdata
+	branch assert,blank
+else
+l2cap_malloc_free_loop:
+endif
+	ifetch 3,contr
+	branch l2cap_malloc_free_loop,blank
+	increase -3,contr
+	rtn
+
+/*********************************************************/
+//char* l2cap_malloc_get_full_map(void)
+//output:mem_used_map  -->full_map
+//add all maps into one
+/*********************************************************/	
+l2cap_malloc_get_full_map:
+	bpatchx patch25_1,mem_patch25
+	arg 4,loopcnt
+	arg mem_tx_fifo0_map,contr
+	arg 0,temp
+l2cap_malloc_get_full_map_loop:	
+	ifetch 3,contr
+	and pdata,0xff,pdata
+	ior temp,temp
+	loop l2cap_malloc_get_full_map_loop
+	storet 1,mem_used_map
+	rtn
+/*********************************************************/
+//void buff_into_fifo(char buff_index, char buff_cnt, short len)
+//input: regA -> len
+//input: regC -> buff_index
+//input: timeup -> buff_cnt
+//val:temp ->   (fifo->map)
+/*********************************************************/
+l2cap_malloc_into_fifo:
+	bpatchx patch25_2,mem_patch25
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank //fifo full
+	call l2cap_malloc_is_fifo_empty
+	branch l2cap_malloc_into_fifo_no_push,blank//fifo empty, no need to push
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo0
+	ifetch 3,contr//mem_tx_fifo2
+	istore 3,contw//mem_tx_fifo1
+	ifetch 3,contr//mem_tx_fifo3
+	istore 3,contw//mem_tx_fifo2
+	setarg 0
+	istore 3,contw//mem_tx_fifo3
+l2cap_malloc_into_fifo_no_push:
+	arg 0,temp
+	copy timeup,pdata
+	iadd queue,pdata
+l2cap_malloc_into_fifo_loop:
+	qset1 temp//fifo->map |= 1 << i;
+	increase 1,queue
+	isub queue,null
+	nbranch l2cap_malloc_into_fifo_loop,zero
+	//map in temp
+	lshift8 regB,pdata
+	ior temp,pdata
+	store 3,mem_tx_fifo3
+	rtn
+
+/*********************************************************/
+//char is_size_enough(char buff_index, short len)
+//input: regA -> len
+//input: queue -> buff_index
+//rtn: timeup -> buff_cnt
+//val: max_size_fom_buff_index -> temp
+//val: i -> loopcnt
+/*********************************************************/
+l2cap_malloc_enough:
+	bpatchx patch25_3,mem_patch25
+	call l2cap_malloc_get_full_map
+	copy queue,regC//restore buff_index to regC
+	arg 0,temp
+	arg 0,timeup//default return val
+	//increase 1,queue
+l2cap_malloc_enough_loop:
+	copy queue,pdata
+	beq 8,l2cap_malloc_enough_end
+	fetch 1,mem_used_map
+	qisolate1 pdata
+	branch l2cap_malloc_enough_end,true
+	increase 128,temp
+	increase 1,queue
+	copy regA,pdata
+	isub temp,null
+	branch l2cap_malloc_enough_end,zero//(max_size_fom_buff_index ==  len)
+	branch l2cap_malloc_enough_loop,positive//(max_size_fom_buff_index <  len)
+l2cap_malloc_enough_end:
+	copy temp,pdata
+	isub regA,null
+	nbranch l2cap_malloc_enough_rtn,positive// max_size_fom_buff_index - len > 0
+	copy queue,pdata//i
+	copy regC,temp//buff_index
+	isub temp,timeup//return (i - buff_index)
+l2cap_malloc_enough_rtn:
+	copy regC,queue//restore buff_index to queue
+	rtn
+	
+ifdef DEBUG_MALLOC
+l2cap_malloc_log_get_ptr:
+	fetch 2,mem_tx_malloc_log
+	increase 2,pdata
+	store 2,mem_tx_malloc_log
+	sub pdata,62,null
+	nbranch l2cap_malloc_log_clean,positive
+	increase -2,pdata
+	iadd contw,contw
+	rtn
+l2cap_malloc_log_clean:
+	jam 0x00,mem_tx_malloc_log
+	branch l2cap_malloc_log_get_ptr	
+endif
+
+l2cap_malloc_signal_channel:
+	bpatchx patch25_4,mem_patch25
+	arg L2CAP_SIGNAL_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_l2cap_signal_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_l2cap_signal_tx_payload_ptr
+	setarg 0
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_get_signal_tx_buff:
+	fetch 2,mem_l2cap_signal_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_signal_tx_payload:
+	fetch 2,mem_l2cap_signal_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_sdp_channel:
+	bpatchx patch25_5,mem_patch25
+	arg SDP_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_sdp_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_sdp_tx_payload_ptr
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	rtn
+
+l2cap_get_sdp_tx_buff:
+	fetch 2,mem_sdp_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_sdp_tx_payload:
+	fetch 2,mem_sdp_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_rfcomm_channel:
+	bpatchx patch25_6,mem_patch25
+	call push_stack
+	jam RFCOMM_MALLOC_FAIL,mem_rfcomm_malloc_fail_flag
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	arg RFCOMM_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	setarg 0
+	store 2,mem_rfcomm_tx_pkt_length
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	branch pop_stack
+
+l2cap_get_rfcomm_tx_buff:
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+	
+l2cap_util_pdata_to_contw:
+	branch assert,blank
+	copy pdata,contw
+	rtn
+	
+
+l2cap_lpm_save_calc_len:
+	bpatchx patch25_7,mem_patch25
+	arg 0,regb
+	arg mem_tx_fifo0_map,rega
+	increase -2,rega
+l2cap_lpm_save_calc_len_loop:
+	increase 2,rega
+	setarg mem_tx_fifo_end
+	isub rega,null
+	branch l2cap_lpm_save_calc_len_end,zero //end of 2lcap tx fifo
+	ifetch 1,rega
+	increase 1,rega
+	branch l2cap_lpm_save_calc_len_loop,blank
+	ifetcht 2,rega
+	ifetch 2,temp
+	iadd regb,regb
+	increase 4,regb //l2cap header len
+	branch l2cap_lpm_save_calc_len_loop
+l2cap_lpm_save_calc_len_end:
+	copy regb,pdata
+	rtn
+
+
+l2cap_lpm_get_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_get_wake_lock
+
+l2cap_lpm_put_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_put_wake_lock
+	
+l2cap_lpm_save_txbuf:
+	bpatchx patch26_0,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	call l2cap_lpm_save_calc_len
+	arg l2cap_lpm_txbuf_len,temp
+	isub temp,null
+	branch l2cap_lpm_get_wake_lock,positive //no enougth space to save l2cap tx data
+	call l2cap_lpm_put_wake_lock
+	arg mem_l2cap_lpm_txbuf,contw
+	arg mem_tx_fifo0,rega
+l2cap_lpm_save_txbuf_loop:
+	setarg mem_tx_fifo_end
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 1,rega  //mem_tx_fifoX_map
+	increase 1,rega
+	nbranch l2cap_lpm_save_txbuf_nempty,blank
+	istore 2,contw // length = 0
+	increase 2,rega
+	branch l2cap_lpm_save_txbuf_loop
+l2cap_lpm_save_txbuf_nempty:
+	ifetch 2,rega //ptr
+	increase 2,rega
+	copy pdata,contr
+	ifetch 2,contr  //l2cap len
+	istore 2,contw
+	copy pdata,loopcnt
+	increase 2,loopcnt //add CID len
+	call memcpy
+	branch l2cap_lpm_save_txbuf_loop
+	
+l2cap_lpm_load_txbuf:
+	bpatchx patch26_1,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	arg mem_tx_fifo0_ptr,rega
+	increase -3,rega //mem_tx_fifo0_ptr -3
+	arg mem_l2cap_lpm_txbuf,contr
+l2cap_lpm_load_txbuf_loop:
+	increase 3,rega //mem_tx_fifoX_ptr
+	setarg mem_tx_fifo_end+1
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 2,contr
+	branch l2cap_lpm_load_txbuf_loop,blank
+	increase 4,pdata //l2cap header len
+	copy pdata,loopcnt
+	copy contr,regb
+	ifetch 2,rega //ptr
+	copy pdata,contw
+	copy regb,contr
+	increase -2,contr
+	call memcpy
+	branch l2cap_lpm_load_txbuf_loop
+	
+
+
+	
Index: YJX_Only24g/FCC_1021S/program/le.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le.prog	(working copy)
@@ -0,0 +1,1841 @@
+ifdef COMPILE_LE
+//******************************************//
+//*************LE INIT ****************//
+//******************************************//
+
+
+le_init_conn:
+	bpatchx patch26_2,mem_patch26
+	disable wake
+	jam 1,mem_le_conn_handle
+	jam 3,mem_le_state
+	jam 1,mem_le_arq
+	setarg -1
+	store 2,mem_le_event_count
+	force 0,pdata
+	store 1,mem_le_ch
+	store 1,mem_le_op
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	jam 1,mem_le_txheader
+	jam 0,mem_le_txlen
+	branch le_supervision_flush
+
+le_init_master:
+	bpatchx patch26_3,mem_patch26
+	enable master
+	jam lemode_master,mem_le_mode
+	jam 1,mem_le_att_handle
+	jam 1,mem_le_search_handle_start
+	setarg 0xffff
+	store 2,mem_le_search_handle_end
+	force 0,pdata
+	store 5,mem_le_pcnt_rx
+	set1 39,pdata
+	store 5,mem_le_pcnt_tx	
+	branch le_init_conn
+
+
+le_init_slave:
+	bpatchx patch26_4,mem_patch26
+	disable master
+ 	setarg 0x17
+ 	store 2,mem_le_remote_mtu
+	jam lemode_slave,mem_le_mode
+	jam 0,mem_le_adv_enable
+	jam 0,mem_lpm_current_mult
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	fetch 2,mem_le_tsniff
+	mul32 pdata,5,pdata
+	rshift4 pdata,pdata
+	store 2,mem_le_superto			// vol.6 part B 4.5.2 only 6*conninterval before establish
+	branch le_init_conn
+	
+
+//******************************************//
+//*************LE main process*********//
+//******************************************//
+le_dispatch:
+	call le_enable
+	call le_scan
+	call le_adv
+	branch le_disable
+
+le_conn_dispatch:
+	bpatchx patch26_5,mem_patch26
+	call le_enable
+	call app_process_ble
+	fetch 1,mem_le_mode
+	beq lemode_master,le_master_dispatch
+	branch le_slave_dispatch
+	
+//******************************************//
+//***********LE master process*********//
+//******************************************//
+	
+le_master_dispatch:
+	bpatchx patch26_6,mem_patch26
+	enable master
+	call le_supervision_update
+	branch le_master_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_prepare_tx
+	disable match
+	call le_transmit_receive_sifs
+	nrtn match
+	bpatchx patch26_7,mem_patch26
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	call le_acknowledge
+	disable master
+	rtn
+	
+le_master_disconn:
+	call le_disconnect
+	disable master
+	rtn
+	
+//******************************************//
+//***********LE slave process***********//
+//******************************************//
+le_slave_dispatch:
+	bpatchx patch27_0,mem_patch27
+	jam 0,mem_le_md_count
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256
+	call le_secure_connect_sm
+endif
+	disable attempt
+	call le_supervision_update
+	branch le_slave_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_receive_slave
+	nbranch le_slave_unsync,sync	// vol.6 part B 4.5.1 respond even crc error
+	call le_got_first_packet
+	branch le_slave_match,match
+	branch le_slave_cont
+	
+
+le_slave_match:
+	bpatchx patch27_1,mem_patch27
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call le_transmit_norx
+	call le_parse
+	fetch 2,mem_cb_ble_transmit
+	call callback_func
+	call le_check_md
+	branch le_slave_more_data,user
+le_slave_cont:
+	bpatchx patch27_2,mem_patch27
+	call le_pairing_sm
+ 	call le_check_paring_time
+	call check_51cmd
+	fetch 1,mem_le_op
+	bbit1 op_disconn,le_slave_disconn
+le_slave_unsync:
+	bpatchx patch27_3,mem_patch27
+	call le_lpm_set_mult
+	call le_update_channel_map
+	call le_update_param
+	branch calc_clke_offset
+
+
+le_check_md:
+	disable user
+	bmark1 mark_ble_rx_md,enable_user
+	bmark1 mark_ble_tx_md,enable_user
+	rtn
+
+
+le_slave_more_data:
+	bpatchx patch27_4,mem_patch27
+	enable attempt
+	call le_transmit_receive_sifs_notx
+	branch le_slave_match,match
+	branch le_slave_cont
+
+le_slave_disconn:
+
+	//fall through
+le_disconnect:
+	bpatchx patch27_5,mem_patch27
+	call le_clear_connection_info
+	call app_disconn_reason_collect_ble
+ifdef SECURE_CONNECTION
+	call sp_initialize_256
+endif
+	jam BT_EVT_LE_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_clear_connection_info:
+	setarg 0
+	store 9,mem_le_tx_buff_used
+	jam 0,mem_le_conn_handle
+	jam lemode_idle,mem_le_mode
+	jam 0,mem_le_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	rtn
+	
+le_got_first_packet:
+	bpatchx patch27_6,mem_patch27
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	fetch 1,mem_le_state
+	rtnbit1 lestate_got_first_packet
+	set1 lestate_got_first_packet
+	store 1,mem_le_state
+	fetch 2,mem_le_init_superto
+	store 2,mem_le_superto
+	setarg 0
+	store 4,mem_le_transmit_window
+	rtn
+
+
+le_enable:
+	bpatchx patch27_7,mem_patch27
+	hjam 0x36,0x90f        /*For BLE, tune AGC_gain_offset, Max added*/
+	hjam 0x5f,0x90b        //for BLE
+	enable le
+	hjam 7,rfen_ulp			/* enable ulp */
+	call check_ble_disabled
+	fetch 1,mem_250k_freq_enable	//default: 0
+	rtn blank
+	hjam 0xb8,0x90a
+	rtn
+	
+le_disable:
+	bpatchx patch28_0,mem_patch28
+	hjam 0x2e,0x90f        /*For BR/EDR, tune AGC_gain_offset, Max added*/
+	hjam 0xff,0x90b         //for EDR&BR
+	disable le
+	hjam 3,rfen_ulp
+	arg 0,stop_watch
+	rtn
+	
+le_prep:
+	disable enable_crc
+	disable enable_white
+	fetch 3,mem_le_crcinit
+	iforce crc24_init
+	fetch 1,mem_le_ch_mapped
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+	
+
+lerx_setfreq:
+	call le_setfreq
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	branch rf_rx_enable
+
+letx_setfreq:
+	branch txon,match
+letx_setfreq0:
+	call le_setfreq
+	branch set_freq_tx
+le_setfreq:
+	bpatchx patch28_1,mem_patch28
+	call set_sync_on
+	fetch 1, mem_le_testtype
+	nbranch le_ctf_test,blank
+	fetch 1,mem_le_ch_mapped
+	sub pdata,36,null
+	branch le_ctf_normal,positive
+	force 0,temp
+	rtneq 37
+	force 24,temp
+	rtneq 38
+	force 78,temp
+	rtn
+	
+le_ctf_normal:
+	sub pdata,10,null
+	branch le_ctf_low,positive
+	increase 1,pdata
+	
+le_ctf_low:	
+	lshift pdata,pdata
+	add pdata,2,temp
+	rtn
+	
+le_ctf_test:
+	fetch 1,mem_le_ch_mapped
+	lshift pdata,temp
+	rtn
+
+le_sca_map:
+	arg 500,temp
+	rtn blank
+	arg 250,temp
+	rtneq 1
+	arg 150,temp
+	rtneq 2
+	arg 100,temp
+	rtneq 3
+	arg 75,temp
+	rtneq 4
+	arg 50,temp
+	rtneq 5
+	arg 40,temp
+	rtneq 6
+	arg 20,temp
+	rtn
+
+
+	
+le_adv_access:
+	setarg 0x8e89be
+	lshift8 pdata,pdata
+	or_into 0xd6,pdata
+	iforce access
+	setarg 0x555555
+	store 3,mem_le_crcinit
+	rtn
+
+le_setup:
+	bpatchx patch28_2,mem_patch28
+	enable swfine
+	fetch 4,mem_le_access
+	iforce access
+	call le_map_channel
+	setarg 0x200
+	branch le_setup_master,master
+	fetch 2,mem_le_receive_window
+	rshift pdata,pdata
+le_setup_master:
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	deposit clke
+	store 6,mem_le_rxon_ts
+	rtn
+
+le_next_adv_channel:
+	bpatchx patch28_3,mem_patch28
+	fetch 1,mem_le_ch_mapped
+	beq 37,le_next_adv_channel_curr_channel_37
+	beq 38,le_next_adv_channel_curr_channel_38
+	beq 39,le_next_adv_channel_curr_channel_39
+	branch le_next_adv_channel_curr_channel_39
+
+le_next_adv_channel_curr_channel_37:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	branch set_le_next_adv_channel_37
+
+
+le_next_adv_channel_curr_channel_38:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	branch set_le_next_adv_channel_38
+
+
+le_next_adv_channel_curr_channel_39:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	branch set_le_next_adv_channel_39
+
+
+
+set_le_next_adv_channel_37:
+	jam 37,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_37,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_38:
+	jam 38,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_38,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_39:
+	jam 39,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_39,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+
+
+le_context_nexthop:
+	bpatchx patch28_4,mem_patch28
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	rtnbit0 mode_le
+	add rega,coffset_le_event_cnt,contw
+	ifetch 2,contw
+	increase 1,pdata
+	istore 2,contw
+	add rega,coffset_le_hop,contr
+	ifetch 1,contr
+	add rega,coffset_le_ch,contw
+	ifetcht 1,contw
+	iadd temp,pdata
+	sub pdata,36,null
+	branch le_nexthop_nowrap,positive
+	increase -37,pdata
+le_nexthop_nowrap:
+	istore 1,contw
+	rtn
+
+
+le_calc_channel_map:
+	bpatchx patch28_5,mem_patch28
+	fetch 5,mem_le_channel_map
+	force 0,temp
+	force 37,loopcnt
+le_count_channels_loop:
+	bbit0 0,le_count_channels_notused
+	increase 1,temp
+le_count_channels_notused:
+	rshift pdata,pdata
+	loop le_count_channels_loop
+	add temp,-1,pdata
+	store 1,mem_le_channels
+	rtn
+
+le_map_channel:
+	bpatchx patch28_6,mem_patch28
+	fetch 1,mem_le_ch
+	iforce queue
+	fetcht 5,mem_le_channel_map
+	qisolate1 temp
+	branch le_map_channel_end,true
+le_map_channel_next:
+	bpatchx patch28_7,mem_patch28
+	fetch 1,mem_le_channels
+	isub queue,pdata
+	branch le_map_channel_cont,positive
+	sub pdata,-1,queue
+	branch le_map_channel_next
+le_map_channel_cont:
+	copy queue,loopcnt
+	force 0,queue
+le_map_channel_loop:
+	qisolate1 temp
+	branch le_map_channel_skip,true
+	increase 1,loopcnt
+le_map_channel_skip:
+	deposit loopcnt
+	branch le_map_channel_end,blank
+	increase 1,queue
+	increase -1,loopcnt
+	branch le_map_channel_loop
+le_map_channel_end:
+	deposit queue
+	store 1,mem_le_ch_mapped
+	rtn
+
+
+le_wait_tx:
+	branch le_wait_master,master
+	until null,timeout
+	rtn
+	
+le_wait_master:
+	arg 0xea0,timeup
+	until clkn_rt,meet
+	rtn
+
+le_receive_adv:
+	disable swfine
+	fetch 2,mem_le_scan_window
+	copy pdata,timeup
+	branch le_receive_packet
+
+
+le_receive_slave:
+	bpatchx patch29_0,mem_patch29
+	enable swfine
+	fetch 2,mem_le_receive_window
+	fetcht 4,mem_le_transmit_window
+	iadd temp,timeup
+le_receive_packet:
+	call lerx_setfreq
+le_receive_rxon:
+	bpatchx patch29_1,mem_patch29
+	call le_prep
+	disable match
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	copy timeup,stop_watch
+	correlate null,timeout
+	branch le_receive_on_attempt,attempt
+	copy clke,temp
+	storet 6,mem_sync_clke
+le_receive_on_attempt:
+	nbranch end_of_packet,sync
+	branch le_receive_skip,attempt
+	arg param_clke_cal_le,clke_rt
+	copy bt_clk,clke_bt
+	fetch 1,mem_le_state
+	bbit0 lestate_got_first_packet,le_receive_skip
+	call lpm_adjust_clk,wake
+le_receive_skip:
+	bpatchx patch29_2,mem_patch29
+	call save_rssi
+	enable enable_white
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_le_rxbuf
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	and pdata,0x3f,loopcnt
+	branch lerx_nopayload,zero
+	
+lerx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop lerx_loop
+	
+lerx_nopayload:
+	bpatchx patch29_3,mem_patch29
+	parse demod,bucket,24	
+	enable swfine
+	arg param_sifs,stop_watch		// start SIFS timer after last bit of crc
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch end_of_packet,crc_failed
+	enable match
+	fetch 1,mem_last_freq
+	add pdata,0,rega				// ble 2M Medium Frequency
+	call rf_write_freq				/* set frequency to tx mode freq */
+	disable decode_fec0
+	branch set_sync_on
+
+le_transmit_receive_sifs:
+	bpatchx patch29_4,mem_patch29
+	call le_transmit
+le_transmit_receive_sifs_notx:
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+le_transmit_norx:
+	call le_transmit
+	branch end_of_packet
+	
+le_transmit:
+	bpatchx patch29_5,mem_patch29
+	call le_prep
+	call letx_setfreq
+	branch le_transmit0
+	
+le_transmit0:
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	enable enable_white
+	enable enable_crc
+	bpatchx patch29_6,mem_patch29
+	fetch 1,mem_le_txheader
+	inject mod,8
+	ifetch 1,contr
+	and pdata,0x3f,loopcnt
+	inject mod,8
+	branch letr_nopayload,zero
+letr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop letr_loop
+	
+letr_nopayload:
+	enable enable_parity
+	inject mod,24
+	disable enable_parity
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	disable encode_fec0
+	rtn
+	
+le_send_adv_ind:
+	bpatchx patch29_7,mem_patch29
+	fetch 1,mem_le_adv_type
+	beq ADV_DIRECT_IND,le_send_adv_direct_ind
+	fetch 1,mem_le_adv_own_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	store 1,mem_le_txheader
+	fetcht 1,mem_le_adv_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	copy temp,loopcnt
+	arg mem_le_adv_data,contr
+	call memcpy_fast
+	branch le_send_adv_transmit
+le_send_adv_direct_ind:
+	fetch 1,mem_le_adv_direct_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	increase 1,pdata
+	store 1,mem_le_txheader
+	setarg 12
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	fetch 6,mem_hci_plap
+	istore 6,contw
+le_send_adv_transmit:
+	bpatchx patch2a_0,mem_patch2a
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 1800,stop_watch
+	disable match
+	branch le_transmit_receive_sifs
+	
+le_send_scan_request:
+	bpatchx patch2a_1,mem_patch2a
+	fetch 1,mem_le_scan_type
+	rtnne LE_SCAN_TYPE_ACTIVE
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 0x0c03,temp// length + SCAN_REQ PDU
+	fetch 1,mem_le_scan_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	copy regA,pdata
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,temp	
+	storet 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 6,mem_le_plap
+	istore 6,contw
+	branch le_transmit_receive_sifs
+
+
+le_send_scan_response:
+	bpatchx patch2a_2,mem_patch2a
+	arg SCAN_RSP,temp
+	fetch 1,mem_le_adv_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	storet 1,mem_le_txheader
+	fetcht 1,mem_le_scan_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	arg mem_le_scan_data,contr
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_transmit_norx
+	branch le_adv_not_match
+
+le_connect_request:
+	bpatchx patch2a_3,mem_patch2a
+	force -1,pdata
+	setsect 2,1
+	store 5,mem_le_channel_map
+	call le_calc_channel_map	
+	force 4,loopcnt
+	arg mem_le_access,contw
+	call generate_random_loop	
+	fetch 2,mem_le_timeout
+	store 2,mem_le_superto
+le_con_req_hop_retry:
+	random pdata
+	and_into 0xf,pdata
+	sub pdata,4,null
+	branch le_con_req_hop_retry,positive
+	store 1,mem_le_hop
+	store 1,mem_tmp1
+	bpatchx patch2a_4,mem_patch2a
+	fetcht 2,mem_le_conn_interval
+	storet 2,mem_le_tsniff	
+	copy temp,regc			// tsniff in regc
+	add clkn_bt,7,pdata			// leave space for offset
+	idiv regc
+	call wait_div_end
+	remainder rega
+	isub rega,pdata
+	iadd regc,pdata
+	fetcht 2,mem_le_dsniff
+	iadd temp,pdata
+	store 4,mem_le_anchor
+	isub clkn_bt,rega
+	increase -6,rega			// window offset
+	arg 0x2205,regb			// length & CONN_REQ PDU
+	fetch 1,mem_le_conn_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,regb
+	fetch 1,mem_le_conn_peer_addr_type
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,regb
+	copy regb,pdata
+	store 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw//own addr
+	fetch 6,mem_le_plap
+	istore 6,contw// peer addr
+	fetch 4,mem_le_access
+	istore 4,contw
+	random pdata
+	istore 2,contw				/* crc init */
+	random pdata
+	istore 1,contw
+	force 2,pdata				/* window size */	
+	istore 1,contw
+	rshift2 rega,pdata
+	istore 2,contw				/* window offset */
+	rshift2 regc,pdata			
+	istore 2,contw				/* conn Interval */
+	bpatchx patch2a_5,mem_patch2a
+	setarg 0					/* slave latency */
+	istore 2,contw
+	fetch 2,mem_le_timeout
+	istore 2,contw
+	fetch 5,mem_le_channel_map
+	istore 5,contw				/* channel map */
+	fetch 1,mem_le_hop
+	arg param_le_sca,temp
+	ior temp,pdata
+	istore 1,contw
+	call le_transmit_norx
+	setarg mem_le_txheader
+	add pdata,18,contr
+	ifetch 3,contr
+	store 3,mem_le_crcinit
+	rtn
+		
+le_init_adv:
+	bpatchx patch2a_6,mem_patch2a
+	disable master
+	branch le_adv_access
+	
+
+
+le_update_param:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_param
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	store 2,mem_pdatatemp
+	bpatchx patch2a_7,mem_patch2a
+	fetch 1,mem_le_state
+	set0 lestate_update_param,pdata
+	set0 lestate_got_first_packet,pdata
+	store 1,mem_le_state
+	fetch 4,mem_le_anchor
+	fetcht 2,mem_le_tsniff
+	storet 2,mem_temp
+	isub temp,rega
+	bpatchx patch2b_0,mem_patch2b
+	fetch 1,mem_le_new_param
+	store 1,mem_le_window_size
+	ifetcht 2,contr
+	ifetch 2,contr
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	lshift2 temp,temp
+	iadd temp,pdata
+	ifetcht 4,contr
+	storet 4,mem_le_slave_latency	// and superTO
+	iadd rega,pdata
+	copy pdata,regab
+	fetch 2,mem_le_tsniff
+	fetcht 2,mem_temp	//last sniff
+	isub temp,pdata		//last sniff - new sniff
+	fetcht 2,mem_pdatatemp
+	imul32 temp,pdata
+	iadd regab,pdata
+	store 4,mem_le_anchor
+	call le_receive_window_size
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+
+le_update_channel_map:
+	bpatchx patch2b_1,mem_patch2b
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	fetch 1,mem_le_state
+	set0 lestate_update_map,pdata
+	store 1,mem_le_state
+ 	fetch 5,mem_le_new_map
+	store 5,mem_le_channel_map
+	branch le_calc_channel_map	
+	
+	
+le_acknowledge:
+	bpatchx patch2b_2,mem_patch2b
+	call le_supervision_flush
+	call le_check_wak
+	fetch 1,mem_le_rxbuf
+	isolate1 md,pdata
+	setflag true,mark_ble_rx_md,mark
+	rshift pdata,pdata
+	ixor temp,pdata
+	isolate1 nesn,pdata
+	setflag true,mark_old_packet,mark	/* retransmit */
+	rtnmark1 mark_old_packet
+	fetch 1,mem_le_rxbuf+1			
+	branch le_ack_unenc,blank		/* empty packet, no decryption */
+	fetch 1,mem_le_state
+	bbit0 lestate_encryption,le_ack_unenc
+	call load_sk
+	call le_decrypt
+	nrtn blank
+le_ack_unenc:
+	fetcht 1,mem_le_arq
+	setflip nesn,temp
+	storet 1,mem_le_arq
+	rtn
+
+	
+le_check_wak:
+	bpatchx patch2b_3,mem_patch2b
+	fetcht 1,mem_le_arq
+	isolate0 wak,temp
+	rtn true
+	fetch 1,mem_le_rxbuf
+	lshift pdata,pdata
+	ixor temp,pdata
+	rtnbit0 sn			/* received NESN is same as SN, NAK */
+	set0 wak,temp
+	setflip sn,temp
+	storet 1,mem_le_arq
+	compare 3,temp,3
+	nrtn true
+	fetch 1,mem_le_txpayload
+	beq LL_START_ENC_REQ,le_set_enc
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_ENC_PAUSE,le_clear_enc
+	rtn
+	
+
+le_set_enc:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn	
+	
+le_clear_enc:
+	bpatchx patch2b_4,mem_patch2b
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	arg 0,pdata
+	store 4,mem_le_last_mic
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	fetch 1,mem_le_state
+	set0 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_wait_adv:
+	bpatchx patch2b_5,mem_patch2b
+	call le_next_adv_channel
+	call le_receive_adv
+	fetch 1,mem_le_adv_waitcnt
+	increase 1,pdata
+	store 1,mem_le_adv_waitcnt
+	rtn
+
+
+le_scan:
+	bpatchx patch2b_6,mem_patch2b
+	fetch 1,mem_le_scan_enable
+	rtnne LE_SCAN_ENABLE
+	arg le_scan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetch 2,mem_le_scan_interval
+	fetcht 2,mem_le_scan_window
+	isub temp,pdata
+	arg le_scan_interval_timer,queue
+	call timer_init
+	disable master
+	call le_init_adv
+	call le_wait_adv
+	nrtn match
+	bpatchx patch2b_7,mem_patch2b
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+//	call le_scan_dongle
+
+	fetch 1,mem_le_adv_rcv
+	increase 1,pdata
+	store 1,mem_le_adv_rcv
+	call le_create_conn
+	rtn master
+	call le_send_scan_request
+	nrtn match
+	bpatchx patch2c_0,mem_patch2c
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	fetch 9,mem_le_rxbuf+8
+	store 9,mem_tmp_buffer
+	rtn
+	
+le_create_conn:
+	bpatchx patch2c_1,mem_patch2c
+	fetch 1,mem_cmd_le_create_conn
+	rtnne hci_cmd_le_create_conn
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_conn_peer_addr
+	isub temp,null
+	nrtn zero
+	call context_new
+	nrtn zero
+	call le_connect_request
+	call le_init_master
+	bpatchx patch2c_2,mem_patch2c
+	jam 0,mem_hci_cmd
+	jam 0,mem_le_peer_sca
+	jam 0,mem_le_scan_enable
+	jam 0,mem_cmd_le_create_conn
+	branch context_save
+	
+le_scan_check_sender_addr_type:
+	arg 1,rega// sender_addr_type
+	fetch 1,mem_le_rxbuf
+	rtnbit1 LE_SENDER_ADDR_BIT
+	arg 0,rega
+	rtn
+
+
+
+le_prepare_tx:
+	bpatchx patch2c_3,mem_patch2c
+	fetch 1,mem_le_arq
+	rtnbit1 wak
+	call le_check_tx_md
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_send_empty,blank
+	ifetch 1,contr
+	ifetcht 1,contr
+	copy temp,rega
+	isub rega,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	copy pdata,temp
+	ifetch 1,contr
+	copy pdata,type
+	copy rega,pdata
+	iadd contr,contr
+	arg mem_le_txpayload,contw
+	copy temp,loopcnt
+	call memcpy
+	call le_update_tx_type
+	call le_send_packet
+	
+	call le_fifo_get_first_tx_ptr
+	ifetch 1,contr
+	copy pdata,rega
+	copy contr,regc
+	ifetcht 1,contr
+	copy temp,regb
+	isub regb,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	iadd regb,pdata
+	istore 1,regc
+	isub rega,null
+	nrtn zero
+	branch le_fifo_release_first_node
+
+	
+le_check_tx_md:
+	call le_check_continue
+	rtnmark1 mark_ble_tx_md
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_TRANSMIT_PACKET_BY_MD,le_clear_md
+	call le_fifo_get_second_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	branch le_set_md
+
+	
+le_check_continue:
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	ifetch 1,contr				//pdata:length
+	ifetcht 1,contr				//temp:offest
+	isub temp,pdata			//pdata:length - offset
+	sub pdata,LE_MAX_PAKET_LEN,null	
+	branch le_clear_md,positive				//27 > length -offset
+le_set_md:
+	set1 mark_ble_tx_md,mark
+	rtn
+
+le_clear_md:
+	set0 mark_ble_tx_md,mark
+	rtn
+
+le_update_tx_type:
+	copy rega,pdata
+	rtn blank
+	arg LLID_CONTINUE,type
+	rtn
+
+
+le_att_check_notification_enable: // temp ->handle,output-> pdata,output :contr->rega
+	bpatchx patch2c_4,mem_patch2c
+	increase 1,temp
+	call le_att_get_handle_ptr
+	increase -2,contr
+	ifetch 2,contr
+	arg CLIENT_CHARACTERTIC_CONFIGURATION,temp
+	isub temp,null
+	nrtn zero
+	increase 1,contr
+	copy contr,rega
+	ifetch 1,contr
+	rtn
+	
+
+le_send_empty:
+	force 0,temp
+	force 1,type
+	
+le_send_packet:
+	bpatchx patch2c_5,mem_patch2c
+	storet 1,mem_le_txlen
+	fetcht 1,mem_le_arq
+	set1 wak,temp
+	and temp,0xfc,pdata
+	ior type,pdata
+	store 1,mem_le_arq
+	and_into 0x1f,pdata
+	isolate1 mark_ble_tx_md,mark
+	setflag true,md,pdata
+	store 1,mem_le_txheader
+
+	fetch 1,mem_le_txheader
+	compare 1,type,3
+	nbranch le_send_no_txlen,true
+	fetch 1,mem_le_txlen
+	rtn blank
+le_send_no_txlen:	
+	fetch 1,mem_le_state
+	rtnbit0 lestate_encryption
+	call load_sk
+	branch le_encrypt
+
+
+get_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_get_wake_lock
+
+put_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_put_wake_lock
+
+
+le_parse:
+	bpatchx patch2c_6,mem_patch2c
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,le_parse_ll
+le_parse_l2cap:
+	call le_check_l2cap_complete
+	nbranch get_lpm_wake_ble_rx_lock,user
+	call put_lpm_wake_ble_rx_lock
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr	//l2cap len
+	store 2,mem_le_l2cap_size
+	bpatchx patch2c_7,mem_patch2c
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+
+le_check_l2cap_complete:
+	fetch 1,mem_le_packet_llid
+	beq LLID_START,le_check_l2cap_llid_start
+	beq LLID_CONTINUE,le_check_l2cap_llid_continue
+	rtn
+
+//input: pdata is CID number
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_CID_legal:
+	call enable_user
+	arg LE_L2CAP_CID_ATT,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SIGNAL,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SMP,temp
+	isub pdata,null
+	rtn zero
+	branch disable_user
+
+	
+le_check_l2cap_llid_start:
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr
+	store 2,mem_le_l2cap_size
+	ifetch 2,contr			//CID
+	call le_check_l2cap_CID_legal
+	nrtn user
+	fetcht 1,mem_le_packet_size
+	storet 1,mem_le_packet_len_recved
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	isub temp,null
+	branch enable_user,zero
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	arg mem_le_l2capbuf,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy
+	branch disable_user
+
+//no input
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_continue_legal:
+	call enable_user
+	fetch 1,mem_le_packet_len_recved
+	nrtn blank
+	branch disable_user
+
+le_check_l2cap_llid_continue:
+	call le_check_l2cap_continue_legal
+	nrtn user
+	fetch 1,mem_le_packet_len_recved
+	arg mem_le_l2capbuf,contw
+	iadd contw,rega
+	fetcht 1,mem_le_packet_size
+	iadd temp,pdata
+	store 1,mem_le_packet_len_recved
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	copy rega,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy_fast
+	setarg mem_le_l2capbuf
+	store 2,mem_le_payload_ptr		//update ptr->mem_le_l2capbuff
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	fetcht 1,mem_le_packet_len_recved
+	isub temp,null
+	branch enable_user,zero
+	branch disable_user
+
+
+
+
+	
+le_get_search_att_type:
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+le_get_search_common:	
+	fetch 2,mem_le_l2cap_size
+	increase -5,pdata
+le_get_search_common2:		
+	istore 1,contw
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast	
+	
+le_get_search_att_uuid:
+	call store_contr
+	arg mem_le_search_uuid_length,contw
+	branch le_get_search_common
+
+
+	/* rega pointers to data, regb is length */
+le_writeatt_cb:
+	fetch 2,mem_cb_att_write
+	branch callback_func
+	
+le_supervision_update:
+	fetcht 4,mem_le_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_le_superto
+	lshift4 temp,temp
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+le_supervision_flush:
+	call get_clkbt
+	store 4,mem_le_supervision_timer
+	rtn
+
+
+le_adv:
+	jam 36,mem_le_ch_mapped
+	jam 0,mem_le_adv_channel_map_temp
+le_adv_loop:
+	bpatchx patch2d_0,mem_patch2d
+	fetch 1,mem_le_adv_enable
+	rtn blank
+	arg le_adv_interval_timer,queue
+	call timer_check
+	nrtn blank
+	bpatchx patch2d_1,mem_patch2d
+le_adv_loop_tx:
+	disable master
+	enable swfine
+	call le_init_adv
+	call le_next_adv_channel
+	call le_send_adv_ind
+	nbranch le_adv_not_match,match
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	fetch 1,mem_le_rxbuf
+	and pdata,0x0f,pdata
+	beq SCAN_REQ,le_send_scan_response
+	beq CONNECT_REQ,le_parse_connect_req
+le_adv_not_match:
+	bpatchx patch2d_2,mem_patch2d
+	random pdata 
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	call delay
+	fetch 1,mem_le_adv_channel_map_temp
+	fetcht 1,mem_le_adv_channel_map
+	isub temp,null
+	nbranch le_adv_loop,zero
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+	
+
+le_receive_window_size:
+	bpatchx patch2d_3,mem_patch2d
+	fetch 1,mem_le_peer_sca
+	call le_sca_map
+	fetch 2,mem_le_tsniff
+	imul32 temp,pdata
+	arg 375,temp
+	imul32 temp,pdata
+	arg 100000,temp
+	idiv temp
+	fetch 1,mem_le_window_size
+	arg 20000,temp
+	imul32 temp,pdata
+	iadd temp,pdata
+	store 4,mem_le_transmit_window
+	bpatchx patch2d_4,mem_patch2d
+	fetch 2,mem_rx_window_sniff
+	call wait_div_end
+	quotient temp
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	rtn
+
+le_parse_connect_req:
+	bpatchx patch2d_5,mem_patch2d
+	fetch 6,mem_le_rxbuf+8
+	fetcht 6,mem_le_lap
+	isub temp,null
+	nrtn zero
+	call le_scan_check_sender_addr_type
+	copy rega,pdata
+	store 1,mem_le_conn_peer_addr_type
+	fetch 7,mem_le_rxbuf+21
+	store 7,mem_tmp_buffer
+	ifetch 8,contr
+	istore 8,contw
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+	increase 6,contr
+	ifetch 8,contr
+	store 8,mem_le_access 	// and crcinit & window size
+	ifetcht 2,contr				// transmit offset
+	bpatchx patch2d_6,mem_patch2d
+//	increase 1,temp
+	lshift2 temp,temp			
+	ifetch 2,contr				// connInterval
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	store 4,mem_le_anchor
+	isub temp,pdata
+	add pdata,-2,clke_bt
+	ifetch 9,contr
+	store 9,mem_le_slave_latency// and super to & channel map
+	bpatchx patch2d_7,mem_patch2d
+	ifetch 1,contr
+	rshift4 pdata,temp
+	rshift temp,temp
+	storet 1,mem_le_peer_sca
+	and_into 0x1f,pdata
+	store 1,mem_le_hop
+	call le_receive_window_size
+	call le_calc_channel_map
+	call le_init_slave
+	call context_new
+	nrtn zero
+	bpatchx patch2e_0,mem_patch2e
+	call calc_clke_offset
+	call le_l2cap_reset_signaling_identifier
+	jam BT_EVT_LE_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+//	call app_get_lpm_wake_lock
+	branch context_save
+	
+
+le_init_attlist_search:
+	bpatchx patch2e_1,mem_patch2e
+	fetch 2,mem_le_search_handle_start
+	iforce regb
+	fetch 2,mem_le_search_handle_end
+	iforce regc
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+	enable user
+	rtn
+
+	/* return handle in pdata, blank:end of list, positive:in range */
+le_att_handle_inrange:
+	ifetch 2,contr
+	rtn blank
+	isub regb,null			/* less than start ? */
+	nrtn positive
+	isub regc,null			/* greater than end ? */
+	rtn zero
+	branch le_att_handle_blank,positive
+	force 1,null
+	rtn
+le_att_handle_blank:
+	force 0,pdata
+	rtn
+
+
+	/* handle in temp, return pointer in contr to length, blank not found */
+le_att_get_handle_ptr:
+	call le_att_get_handle_ptr2
+	branch le_att_get_handle_ptr_found,zero
+	rtn
+	
+le_att_get_handle_ptr2:
+	bpatchx patch2e_2,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_handle_loop1:
+	ifetch 2,contr
+	rtn blank
+	isub temp,null
+	rtn zero
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length  
+	iadd contr,contr
+	branch le_att_get_handle_loop1
+le_att_get_handle_ptr_found:
+	ifetch 1,contr
+	iadd contr,contr	
+	rtn	
+
+
+
+le_att_get_short_uuid_ptr:
+	bpatchx patch2e_3,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_short_uuid_loop:
+	ifetch 2,contr
+	rtn blank
+	ifetch 1,contr
+	iadd contr,contr
+	increase -2,contr
+	ifetch 2,contr
+	isub temp,null
+	rtn zero
+	ifetch 1,contr			 
+	iadd contr,contr
+	branch le_att_get_short_uuid_loop	
+
+
+
+le_att_get_handle_info_from_ptr:
+	fetch 2, mem_le_cur_attlist_start_ptr
+	branch le_att_get_handle_info_fast
+
+le_att_get_handle_info:
+	bpatchx patch2e_4,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+le_att_get_handle_info_fast:
+	iforce contr
+	copy temp,rega
+le_att_get_handle_loop:
+	ifetch 2,contr
+	branch le_att_unfind_handle,blank
+	isub rega,null
+	branch le_att_finded_handle, zero
+	ifetch 1,contr			// length  
+	iadd contr,contr	
+	ifetch 1,contr			//length 
+	iadd contr,contr
+	branch le_att_get_handle_loop
+le_att_unfind_handle:
+	branch disable_blank
+
+le_att_finded_handle:
+	ifetch 1,contr
+	store 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	arg mem_le_cur_uuid,contw
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_le_curr_att_len
+	call store_contr
+	branch enable_blank
+
+	
+le_modified_name:
+	bpatchx patch2e_5,mem_patch2e
+	call le_modified_name_att_list
+	branch le_modified_name_adv
+
+le_modified_name_att_list:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	ifetch 1,contr						// attribute length
+	copy contr,contw
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	isub temp,null
+	nbranch le_name_length_longer_than_att,positive
+	isub temp,temp
+	arg mem_le_name,contr
+	call memcpy
+	copy temp,loopcnt
+	ncall memcpy_empty,zero
+	rtn
+le_name_length_longer_than_att:
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy_fast
+
+
+le_modified_name_adv:
+	arg mem_le_adv_data_len+32,regc
+	arg mem_le_adv_data,rega
+	call le_modified_name_adv_and_scan
+	setarg 0
+	setflag user,0,pdata
+	store 1,mem_pdatatemp
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	call le_modified_name_adv_and_scan
+	rtn user
+	fetch 1,mem_pdatatemp
+	branch assert,blank
+	rtn
+
+
+le_modified_name_adv_and_scan:
+	bpatchx patch2e_6,mem_patch2e
+	call enable_user
+	call clear_temp_block
+	arg 0,regb	//current length
+	arg mem_le_data_temp,contw
+	call le_modified_name_adv_loop
+	fetch 1,mem_le_name_len
+	add pdata,1,temp
+	iadd regb,rega	
+	increase 2,rega
+	sub rega,0x1f,null
+	nbranch le_modified_name_adv_and_scan_name_overflow,positive
+	istoret 1,contw		//store ble name length
+	arg GAP_ADTYPE_LOCAL_NAME_COMPLETE,temp
+	istoret 1,contw		//store ble name type
+	iforce loopcnt
+	call memcpy_fast
+	copy rega,regb
+le_modified_name_adv_and_scan_store_data:
+	deposit regb
+	store 1,mem_le_data_len_temp
+	arg mem_le_data_len_temp,contr
+	setarg -32
+	iadd regc,contw
+	branch memcpy32
+
+le_modified_name_adv_and_scan_name_overflow:
+	call disable_user
+	branch le_modified_name_adv_and_scan_store_data
+	
+le_modified_name_adv_loop:
+	ifetch 1,rega		//pdata:length
+	rtn blank			//length is zero,ending find
+	pincrease 1		//length += 1
+	ifetcht 1,contr		//pdata:type
+	sub temp,GAP_ADTYPE_LOCAL_NAME_COMPLETE,null
+	branch le_modified_name_adv_found_name,zero
+	iadd regb,regb	
+	copy rega,contr
+	iforce loopcnt
+	call memcpy_fast
+	copy contr,rega
+le_modified_name_adv_loop2:
+	deposit rega
+	isub regc,null
+	rtn positive
+	branch le_modified_name_adv_loop
+
+le_modified_name_adv_found_name:
+	iadd rega,rega
+	branch le_modified_name_adv_loop2
+
+
+memcpy_empty:
+	setarg SPACE
+	istore 1,contw
+	loop memcpy_empty
+	rtn
+
+	
+le_lpm_set_mult:
+	bpatchx patch2e_7,mem_patch2e
+	disable wake
+	branch le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+
+	nbranch lpm_mult_short,match
+	bmark1 mark_old_packet,lpm_mult_short
+
+	fetch 1,mem_le_packet_size
+	nbranch lpm_mult_short,blank		// rx not empty, short interval
+	fetch 1,mem_le_txlen
+	nbranch lpm_mult_short,blank		// tx not empty, short interval
+	
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_SHORT_MULT,lpm_mult_short	//check flag,if flag is 1,always short mult
+	
+	fetch 1,mem_le_state
+	bbit1 lestate_update_param,lpm_mult_short
+	branch lpm_mult_wait_timeout
+	
+le_lpm_lost:
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_le_receive_window
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	branch lpm_lost
+
+///////////////////////////////BLE CONFIG//////////////////////////////////////////
+le_set_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_set_config
+
+le_clr_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_clr_config
+
+le_set_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_set_config
+
+le_clr_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_clr_config
+
+le_set_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_set_config
+
+le_clr_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_clr_config
+
+le_set_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_set_config
+
+le_clr_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_clr_config
+
+le_set_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_set_config
+
+le_clr_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_clr_config
+
+le_set_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_set_config
+
+le_clr_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_clr_config
+
+
+le_set_config:
+	fetch 1,mem_le_configuration
+	qset1 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_clr_config:
+	fetch 1,mem_le_configuration
+	qset0 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_set_fixed_ltk:
+	setarg 0x112233
+	store 3,mem_le_fixed_ltk
+	setarg 0x445566
+	istore 3,contw
+	setarg 0x778899
+	istore 3,contw
+	setarg 0x001122
+	istore 3,contw
+	setarg 0x334455
+	istore 3,contw
+	setarg 0x66
+	istore 1,contw
+	rtn
+
+
+le_set_justwork:
+	setarg 0x01000302
+	store 4,mem_le_pres
+	setarg 0x010010
+	store 3,mem_le_pres_max_keysize
+	jam 1,mem_le_pairing_mode
+	rtn
+
+/////////////////////////////////////////////////////////////////////////
+
+le_fifo_malloc_tx_empty:
+	arg 0,rega
+	arg LLID_EMPTY,type
+	branch le_fifo_malloc_tx
+
+
+//rega:len regb:ll opcode
+le_fifo_malloc_tx_ll:
+	arg LLID_LE_LL,type
+	call le_fifo_malloc_tx
+	copy regb,pdata
+	istore 1,contw
+	rtn
+	
+
+//rega:len regb:cid
+le_fifo_malloc_tx_l2cap:
+	force LLID_L2CAP_START,type
+	increase 4,rega
+	call le_fifo_malloc_tx
+	increase -4,rega
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//rega:len type:llid
+le_fifo_malloc_tx:
+	sub rega,240,null			//check max len
+	nbranch assert,positive
+	fetch 1,mem_le_tx_buff_used
+	arg 1,temp
+	arg LE_TX_BUFF_COUNT,loopcnt
+le_fifo_malloc_tx_loop:
+	iand temp,null
+	branch le_fifo_malloc_tx_got_empty,zero
+	lshift temp,temp
+	loop le_fifo_malloc_tx_loop
+	branch assert				//no empty buff
+le_fifo_malloc_tx_got_empty:
+	ixor temp,pdata
+	store 1,mem_le_tx_buff_used
+	sub loopcnt,LE_TX_BUFF_COUNT,pdata
+	lshift4 pdata,pdata
+	lshift4 pdata,pdata
+	arg mem_le_tx_buffer0,temp
+	iadd temp,temp
+le_fifo_tx_find_empty_ptr:
+	arg 0,loopcnt
+	arg mem_le_tx_ptr0,contr
+le_fifo_tx_find_empty_ptr_loop:
+	ifetch 2,contr
+	branch le_fifo_tx_found_empty_ptr,blank
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_COUNT,le_fifo_tx_find_empty_ptr_loop
+	branch assert
+
+	
+le_fifo_tx_found_empty_ptr:
+	increase -2,contr
+	istoret 2,contr
+	copy temp,contw
+	copy rega,pdata
+	istore 1,contw				//lengh
+	setarg 0
+	istore 1,contw				//offset
+	copy type,pdata
+	istore 1,contw				//LLID
+	rtn
+
+
+
+le_fifo_get_first_tx_ptr:
+	fetch 2,mem_le_tx_ptr0
+	copy pdata,contr
+	rtn
+
+le_fifo_get_second_tx_ptr:
+	fetch 2,mem_le_tx_ptr1
+	copy pdata,contr
+	rtn
+
+le_fifo_get_last_tx_ptr:
+	call le_fifo_get_last_tx_ptr0
+	copy pdata,contr
+	rtn
+le_fifo_get_last_tx_ptr0:
+	fetch 2,mem_le_tx_ptr3
+	nrtn blank
+	fetch 2,mem_le_tx_ptr2
+	nrtn blank
+	fetch 2,mem_le_tx_ptr1
+	nrtn blank
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+le_fifo_get_first_l2cap_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 3,contr
+	rtn
+
+le_fifo_get_first_att_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_att_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_l2cap_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 3,contr
+	rtn
+
+	
+
+le_fifo_check_full:
+	fetch 2,mem_le_tx_ptr3
+	rtn
+
+
+le_fifo_check_nearly_full:
+	fetch 2,mem_le_tx_ptr2
+	rtn
+
+	
+le_fifo_check_empty:
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+
+le_fifo_release_first_node:
+	fetch 2,mem_le_tx_ptr0
+	arg mem_le_tx_buffer0,temp
+	isub temp,pdata
+	rshift4 pdata,pdata
+	rshift4 pdata,queue
+	fetch 1,mem_le_tx_buff_used
+	qset0 pdata
+	store 1,mem_le_tx_buff_used
+	arg 0,loopcnt
+le_fifo_release_first_node_loop:
+	lshift loopcnt,pdata
+	arg mem_le_tx_ptr1,temp
+	iadd temp,temp
+	ifetch 2,temp
+	increase -2,temp
+	istore 2,temp
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_UPDATE_LOOPCNT,le_fifo_release_first_node_loop
+	setarg 0
+	istore 2,temp
+	rtn
+
+
+
Index: YJX_Only24g/FCC_1021S/program/le_l2cap_att.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le_l2cap_att.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le_l2cap_att.prog	(working copy)
@@ -0,0 +1,713 @@
+
+
+le_parse_att:
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_EXCHANGE_MTU_REQUEST,le_parse_att_exchange_mtu_request
+	beq ATTOP_EXCHANGE_MTU_RESPONSE,le_parse_att_exchange_mtu_response
+	beq ATTOP_FIND_INFORMATION_REQUEST,le_parse_att_find_information_request
+	beq ATTOP_FIND_BY_TYPE_VALUE_REQUEST,le_parse_att_find_by_type_value_request
+	beq ATTOP_READ_BY_TYPE_REQUEST,le_parse_att_read_by_type_request
+	beq ATTOP_READ_REQUEST,le_parse_att_read_request
+	beq ATTOP_READ_BLOB_REQUEST,le_parse_att_read_blob_request
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,le_parse_att_read_by_group_type_request
+	beq ATTOP_WRITE_REQUEST,le_parse_att_write_request
+	beq ATTOP_PREPARE_WRITE_REQUEST,le_parse_att_prepare_write_request
+	beq ATTOP_EXECUTE_WRITE_REQUEST,le_parse_att_execute_write_request
+	beq ATTOP_WRITE_COMMAND,le_parse_att_write_command
+	rtn
+
+
+le_send_att_exchange_mtu_requset:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_REQUEST
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+
+le_parse_att_exchange_mtu_request:
+	call le_parse_att_exchange_mtu_response
+le_send_att_exchange_mtu_response:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+le_parse_att_exchange_mtu_response:
+	rshift8 pdata,pdata
+	store 2,mem_le_remote_mtu
+	rtn
+
+le_parse_att_find_information_request:
+	call le_get_search_handle_start_end_common
+	call enable_user
+	branch le_send_att_find_information_response
+	
+le_send_att_find_information_response:
+	arg 3,timeup
+	call le_init_attlist_search
+le_send_att_find_information_res_loop:
+	call le_att_handle_inrange
+	branch le_send_att_find_information_res_end,blank
+	nbranch le_send_att_find_information_res_next,positive
+	increase -2,contr
+	call store_contr
+	call get_contw
+	nbranch le_send_att_find_information_res_store_info,user
+	call push_stack_rega_b_c
+	call disable_user
+	force 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	call pop_stack_rega_b_c
+	setarg ATTOP_FIND_INFORMATION_RESPONSE
+	istore 1,contw
+	setarg UUID_SIZE_16BIT
+	istore 1,contw
+le_send_att_find_information_res_store_info:
+	call get_contr
+	ifetch 2,contr
+	istore 2,contw
+	ifetch 1,contr
+	copy pdata,loopcnt
+	call memcpy
+	call store_contw
+	increase -1,timeup
+	branch le_send_att_find_information_res_end,zero
+le_send_att_find_information_res_cont:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_loop
+le_send_att_find_information_res_next:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_cont
+le_send_att_find_information_res_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_find_by_type_value_request:
+	call le_get_search_handle_start_end_common
+	ifetch 2,contr
+	store 2,mem_le_search_uuid
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+	fetch 2,mem_le_l2cap_size
+	increase -7,pdata
+	call le_get_search_common2
+	branch le_send_att_find_by_type_value_response
+
+
+le_start_end_handle_check_1:
+	disable user
+	fetcht 2,mem_le_search_handle_start
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	nbranch le_start_end_handle_check_1_fail,positive
+	deposit temp
+	rtnne 0
+le_start_end_handle_check_1_fail:
+	enable user
+	jam ATT_ERR_INVALID_HANDLE,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_send_att_find_by_type_value_response:
+	call le_start_end_handle_check_1
+	rtn user
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_GATT_PRIMARY_SERVICE
+	isub temp,null
+	branch le_send_att_find_by_type_value_res_primary,zero
+	branch le_send_att_error_response_notfound
+	
+
+le_send_att_find_by_type_value_res_primary:
+	jam LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,mem_le_search_res
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound,blank
+le_send_att_find_primary_search_loop:
+	fetcht 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound2,blank	
+	copy contr,rega
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	fetcht 1,mem_le_search_att_type_length
+	isub temp,null
+	nbranch le_send_att_find_primary_search_loop1,zero
+	arg mem_le_search_att_type,regb
+	call string_compare
+
+	branch le_send_att_find_primary_search_end_start_handle_found,zero
+
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	branch le_send_att_find_primary_search_end_ending_handle_found,zero
+le_send_att_find_primary_search_loop1:
+	fetch 2,mem_temp
+	increase 1,pdata
+	store 2,mem_temp
+	branch le_send_att_find_primary_search_loop
+
+le_send_att_error_response_notfound2:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,le_send_att_find_primary_search_end_ending_handle_found
+	branch le_send_att_error_response_notfound
+
+	
+le_send_att_find_primary_search_end_start_handle_found:
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	nbranch  le_send_att_find_primary_search_loop1,zero
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,mem_le_search_res
+//	copy rega,temp
+	fetcht 2,mem_temp
+	storet 2,mem_le_cur_handle_start
+	branch le_send_att_find_primary_search_loop1
+
+le_send_att_find_primary_search_end_ending_handle_found:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,le_send_att_find_primary_search_loop1
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE,mem_le_search_res
+	fetcht 2,mem_temp
+	increase -1,temp
+	storet 2,mem_le_cur_handle_end
+	
+le_send_att_find_primary_search_end:
+	arg 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+	rtn
+
+
+
+le_parse_att_read_by_type_request:
+	call le_get_search_handle_start_end_common
+	call le_get_search_att_uuid
+	branch le_send_att_read_by_type_response
+	
+le_send_att_read_by_type_response:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_CHRCTR_DEVICE_NAME
+	isub temp,null
+	branch le_send_att_read_by_type_res_device_name,zero
+	setarg UUID_GATT_CHARACTERISTIC
+	isub temp,null
+	nbranch le_send_att_read_by_type_res_not_characteristic,zero
+	arg 2,timeup
+le_send_att_read_by_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_type_response_end,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_type_response_end
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_response_next_handle,zero
+	nbranch le_send_att_read_by_type_res_found_next,user
+	disable user
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	copy contw,alarm
+	increase 1,contw
+	
+	call le_send_att_read_by_type_write_properties
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	call le_send_att_read_by_type_write_uuid
+	fetch 1,mem_le_cur_uuid_length
+	increase 5,pdata
+	istore 1,alarm
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+le_send_att_read_by_type_response_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_type_response_loop
+le_send_att_read_by_type_response_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+le_send_att_read_by_type_res_found_next:
+	call le_store_att_record
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	
+	call get_contw
+	fetch 2,mem_temp
+	increase -1,pdata
+	istore 2,contw
+	call le_write_att_record_common
+	call le_send_att_read_by_type_write_uuid
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+	branch le_send_att_read_by_type_response_next_handle
+
+	
+le_send_att_read_by_type_write_properties:
+	fetch 2,mem_temp
+	istore 2,contw
+	
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	call get_contr
+	call memcpy_fast
+	branch store_contw
+le_send_att_read_by_type_write_uuid:
+	call get_contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call store_contw
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	call get_contw	
+	call get_contr
+	isub loopcnt,contr
+	increase -1,contr
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_att_read_by_type_res_not_characteristic:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+le_send_att_read_by_type_res_not_char_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_error_response_notfound,positive
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_error_response_notfound
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_res_not_char_next,zero
+
+le_send_att_read_by_type_res_not_char_common:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call get_contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+	
+le_send_att_read_by_type_res_not_char_next:
+ 	call le_att_next_handle
+	branch le_send_att_read_by_type_res_not_char_loop
+
+
+le_send_att_read_by_type_res_device_name:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	increase -5,contr // point to handle
+	ifetch 2,contr		
+	store 2,mem_temp
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	arg mem_le_name,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+
+le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,le_send_att_read_response_check_auth
+
+le_send_att_read_response:
+	call le_att_get_handle_ptr
+	branch le_send_att_error_response_notfound,blank
+	increase -2,contr
+	ifetch 2,contr
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	isub temp,null
+	branch le_send_device_name,zero
+	ifetch 1,contr
+	sub pdata,22,null
+	branch le_send_att_read_response_less,positive
+	force 22,pdata
+le_send_att_read_response_less:
+	copy pdata,regc
+	call store_contr
+	add regc,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	copy regc,loopcnt
+	call get_contr
+	branch memcpy
+
+le_send_device_name:
+	call store_contr
+	fetch 1,mem_le_name_len
+	add pdata,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy
+	
+	
+le_send_att_read_response_check_auth:
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_read_response,zero
+//le_send_att_read_response_error_insufficient_auth:
+	call le_check_encrypt_state
+	nbranch le_send_att_read_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_parse_att_read_blob_request:
+	ifetch 2,contr
+	store 2,mem_le_att_offset
+le_send_att_read_blob_response:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BLOB_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_offset
+	iforce rega
+	fetcht 2,mem_le_att_handle
+	call le_att_get_handle_ptr 
+	branch le_send_att_error_response_notfound,blank
+	ifetch 1,contr
+	isub rega,loopcnt
+	nbranch le_send_att_error_response_notfound,positive
+	sub loopcnt,22,null
+	branch le_send_att_read_blob_response_less,positive
+	force 22,loopcnt
+le_send_att_read_blob_response_less:
+	deposit rega
+	iadd contr,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_read_by_group_type_request:
+	call le_get_search_handle_start_end_common
+ 	call le_get_search_att_type
+	branch le_send_att_read_by_group_type_response
+	
+//mem_le_search_att_type
+//mem_le_search_handle_start
+//mem_le_search_handle_end
+le_send_att_read_by_group_type_response:
+	arg 2,timeup
+	fetcht 2,mem_le_search_handle_start
+//	arg 23,pdata
+//	isub temp,null
+//	call ice_break,zero
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+le_send_att_read_by_group_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_group_type_end0,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_group_type_end1
+
+	call le_att_same_type
+	nbranch le_send_att_read_by_group_type_next_handle,zero
+	copy timeup,pdata
+	beq 0,le_send_att_read_by_group_type_end1
+	nbranch le_send_att_read_by_group_type_store_write_record,user		//un first
+	disable user
+	//first att uuid
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	increase 4,pdata
+	istore 1,contw
+	call store_contw
+	branch le_send_att_read_by_group_type_store_record
+le_send_att_read_by_group_type_store_write_record:
+	fetch 1,mem_le_curr_att_len
+	beq 16,le_send_att_read_by_group_type_end1
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	call le_write_att_record
+le_send_att_read_by_group_type_store_record:
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_start
+	call le_store_att_record
+	increase -1,timeup
+//	branch le_send_att_read_by_group_type_last_find,zero		
+le_send_att_read_by_group_type_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_group_type_response_loop
+
+le_send_att_read_by_group_type_end0:	//> att handle end
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end1:	//>att max list handle or diff len 
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end_common:
+	branch le_send_att_error_response_notfound,user
+	call le_write_att_record
+	branch le_send_auto_len_by_mem
+
+
+
+
+le_parse_att_write_request:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	call le_writeatt_cb
+le_send_att_write_response_check_auth:
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_WRITE_AUTH,le_send_att_write_response
+	
+	fetcht 2,mem_le_att_handle
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_write_response,zero
+	call le_check_encrypt_state
+	nbranch le_send_att_write_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+le_send_att_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+le_check_encrypt_state:
+	call disable_user
+	fetch 1,mem_le_pairing_mode
+	rtneq LE_PAIRING_MODE_NONE
+	fetch 1,mem_context
+	rtnbit1 lestate_encryption
+	branch enable_user
+
+
+le_parse_att_prepare_write_request:
+	add contr,2,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,regb
+	call le_writeatt_cb
+	branch le_send_att_prepare_write_response
+
+
+le_send_att_prepare_write_response:
+	fetch 2,mem_le_l2cap_size
+	copy pdata,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_PREPARE_WRITE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,loopcnt	
+	fetch 2,mem_le_payload_ptr
+	add pdata,7,contr
+	ifetch 2,contr		//offset
+	istore 2,contw
+	branch memcpy_fast
+
+
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXECUTE_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+
+
+le_parse_att_write_command:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	branch le_writeatt_cb
+
+
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_notify:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_NOTIFICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_indication:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_INDICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+
+///////////////////////////ATT common function////////////////////////////////////
+
+le_send_att_error_response_notfound:	
+	jam ATT_ERR_ATTRIBUTE_NOT_FOUND,mem_le_err_code
+le_send_att_error_response:	
+	force 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_ERROR_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_att_opcode
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 1,mem_le_err_code
+	istore 1,contw
+	rtn
+
+
+le_fifo_malloc_tx_l2cap_gatt:
+	force LE_L2CAP_CID_ATT,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
+le_att_next_handle:
+	fetcht 2,mem_temp
+	increase 1,temp
+	storet 2,mem_temp
+	rtn
+
+le_att_check_handle_end:
+	fetcht 2,mem_temp
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	rtn
+
+
+le_att_same_type:
+	fetcht 1,mem_le_search_att_type_length
+	arg mem_le_search_att_type,rega
+le_att_check_same_common:
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	isub temp,null
+	nrtn zero
+	arg mem_le_cur_uuid ,regb
+	branch string_compare
+
+le_att_same_uuid:
+	fetcht 1,mem_le_search_uuid_length
+	arg mem_le_search_uuid,rega
+	branch le_att_check_same_common
+
+
+le_store_att_record:
+	fetch 1,mem_le_curr_att_len
+	store 1, mem_tmp_buffer
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast
+
+
+le_write_att_record:
+	call get_contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+le_write_att_record_common:
+	fetch 1,mem_tmp_buffer
+	copy pdata,loopcnt
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_auto_len_by_mem:
+	call get_contw
+	call le_fifo_get_last_att_ptr
+	copy contw,pdata
+	isub contr,rega
+	call le_fifo_get_last_l2cap_ptr
+	copy rega,pdata
+	istore 2,contr
+	increase 4,rega
+	call le_fifo_get_last_tx_ptr
+	copy rega,pdata
+	istore 1,contr
+	rtn
+
+
+le_get_search_handle_start_end_common:
+	rshift8 pdata,pdata
+	store 2,mem_le_search_handle_start
+	ifetch 2,contr
+	store 2,mem_le_search_handle_end
+	rtn
+
+
Index: YJX_Only24g/FCC_1021S/program/le_l2cap_signalling.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le_l2cap_signalling.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le_l2cap_signalling.prog	(working copy)
@@ -0,0 +1,54 @@
+
+
+le_parse_signaling:
+	ifetch 1,contr
+	ifetcht 1,contr //id
+	ifetcht 2,contr //length
+	beq L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE,le_l2cap_parse_conn_parameter_update_rsp
+	rtn
+le_l2cap_parse_conn_parameter_update_rsp:
+	ifetch 2,contr	//result
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	jam BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+//mem_le_interval_min:the ptr that connection parameter,
+//include 	ConnIntervalMin,ConnIntervalMax,
+//		ConnSlaveLatency,ConnSupervisionTimeout
+le_l2cap_tx_update_req:
+	arg 0x0c,rega
+	arg L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST,regc
+	call le_fifo_malloc_tx_l2cap_signaling
+	setarg 0x08
+	istore 2,contw
+	fetch 8,mem_le_interval_min
+	istore 8,contw
+	rtn
+
+
+//rega:len regc:signaling opcode
+le_fifo_malloc_tx_l2cap_signaling:
+	call le_l2cap_update_signaling_identifier
+	arg LE_L2CAP_CID_SIGNAL,regb
+	call le_fifo_malloc_tx_l2cap
+	copy regc,pdata
+	istore 1,contw
+	fetch 1,mem_le_signaling_identifier
+	istore 1,contw
+	rtn
+
+
+le_l2cap_update_signaling_identifier:
+	fetch 1,mem_le_signaling_identifier
+	//beq 0xff,le_l2cap_signaling_identifier_set_1
+	pincrease 1
+	store 1,mem_le_signaling_identifier
+	rtnne 0
+	
+le_l2cap_reset_signaling_identifier:
+	jam 1,mem_le_signaling_identifier
+	rtn
+
+
+
Index: YJX_Only24g/FCC_1021S/program/le_l2cap_smp.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le_l2cap_smp.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le_l2cap_smp.prog	(working copy)
@@ -0,0 +1,594 @@
+
+le_pairing_mode_init:
+	fetch  1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_set_pairing_mode_lagacy_passkey
+ifdef SECURE_CONNECTION
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_set_pairing_mode_secure_passkey
+endif
+	rtn
+
+ifdef SECURE_CONNECTION	
+le_set_pairing_mode_secure_justwork:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_secure_numeric:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_secure_passkey:	
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_displayonly
+endif
+le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	rtn
+
+	
+le_secure_connection_enable:
+	fetch 1,mem_le_pres_auth
+	set1 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+le_secure_connection_disable:
+	fetch 1,mem_le_pres_auth
+	set0 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+
+le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_REQUEST,le_parse_smp_pairing_request
+//	beq SMP_PAIRING_RESPONSE,le_parse_smp_pairing_response
+	beq SMP_PAIRING_CONFIRM,le_parse_smp_pairing_confirm
+	beq SMP_PAIRING_RANDOM,le_parse_smp_pairing_random
+	beq SMP_PAIRING_FAILED,le_parse_smp_pairing_failed
+	beq SMP_ENCRYPTION_INFORMATION,le_parse_smp_encryption_information
+	beq SMP_MASTER_IDENTIFICATION,le_parse_smp_master_identification
+	beq SMP_IDENTITY_INFORMATION,le_parse_smp_identity_information
+	beq SMP_IDENTITY_ADDRESS_INFORMATION,le_parse_smp_identity_address_information
+	beq SMP_SIGNING_INFORMATION,le_parse_smp_signing_information
+	beq SMP_SECURITY_REQUEST,le_parse_smp_security_request
+ifdef SECURE_CONNECTION
+	beq SMP_PAIRING_PUBLIC_KEY,le_parse_smp_public_key
+	beq SMP_PAIRING_DHKEY_CHECK,le_parse_smp_dhkey_check
+endif
+	rtn
+
+
+
+le_send_smp_security_request:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_SECURITY_REQUEST
+	istore 1,contw
+	fetch 1,mem_le_pres_auth
+	istore 1,contw
+	rtn
+		
+le_parse_smp_pairing_request:
+	store 1,mem_le_preq
+	ifetch 6,contr
+	istore 6,contw
+	fetch 1,mem_le_pairing_mode
+	beq  LE_PAIRING_MODE_NONE,le_smp_pairing_fail_reason_not_support_pairing
+	call le_send_smp_pairing_response
+	call le_check_master_support_secure_connect
+	jam FLAG_LE_PAIRING_RCV_PAIRING_REQ,mem_le_pairing_state
+	fetch 1,mem_le_preq_iocap
+	beq  FLAG_IOCAP_DISPlAYONLY,le_set_tk_0
+	beq  FLAG_IOCAP_DISPLAYYESNO,le_set_tk_0
+	beq  FLAG_IOCAP_NOINPUTNOOUTPUT,le_set_tk_0
+	fetch 1,mem_le_pairing_mode	
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_parse_smp_pairing_req_passkey
+	rtneq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+le_set_tk_0:
+	arg 0,pdata
+	store 4,mem_le_tk
+	rtn
+
+le_parse_smp_pairing_req_passkey:
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PASSKEY_FIXED_KEY,le_parse_smp_pairing_req_fixed_passkey
+le_genernate_tk:
+	arg mem_le_tk,rega
+	copy rega,contw
+	arg 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_le_tk + 2
+	and_into 0x7,pdata
+	store 2,mem_le_tk + 2
+le_parse_smp_pairing_req_fixed_passkey:
+	jam BT_EVT_LE_TK_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_check_master_support_secure_connect:
+	fetch 1,mem_le_preq_auth
+	rtnbit1  LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	branch app_ble_disconnect	
+
+le_send_smp_pairing_response:
+	force 7,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	fetch 7,mem_le_pres
+	istore 7,contw
+	rtn
+		
+
+le_parse_smp_pairing_confirm:
+ifdef SECURE_CONNECTION
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_confirm_secure_passkey
+	copy rega,contr
+endif
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	branch le_send_smp_pairing_confirm
+ifdef SECURE_CONNECTION
+le_parse_smp_pairing_confirm_secure_passkey:
+	copy rega,contr
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+	rtn
+endif	
+
+
+le_send_smp_pairing_confirm:
+ifdef SECURE_CONNECTION
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_send_smp_pairing_confirm_sc
+endif
+	call generate_confirm
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  store_aes_result
+
+	
+ifdef SECURE_CONNECTION
+le_send_smp_pairing_confirm_sc:
+	arg mem_le_srand,contw	
+	call generate_random
+	call function_f4_cb
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  load_inverse_result
+
+endif
+
+	
+le_parse_smp_pairing_random:	
+ifdef SECURE_CONNECTION
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_parse_smp_pairing_random_sc
+	copy rega,contr
+endif
+	call authenticate_rconfirm
+	branch le_parse_smp_pairing_random_success,zero
+le_send_pairing_confirm_value_failed:
+	jam PAIRING_FAILED_CONFIRM_VALUE_FAILED,mem_le_ll_pairing_fail_reason
+le_send_pairing_failed:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_FAILED
+	istore 1,contw
+	fetch 1,mem_le_ll_pairing_fail_reason
+	istore 1,contw	
+le_parse_smp_pairing_failed:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_smp_pairing_fail_reason_not_support_pairing:
+	jam PAIRING_FAILED_PAIRING_NOT_SUPPORTED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+	
+	
+ifdef SECURE_CONNECTION	
+le_parse_smp_pairing_random_sc:
+	arg mem_le_mrand,contw
+	copy rega,contr
+	call memcpy16	
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_random_sc_passkey
+	call function_g2
+//	jam LE_SC_STAT_RECEIVE_RANDOM,mem_le_secure_connect_state
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	call le_send_smp_pairing_random
+	fetch 1,mem_le_pairing_mode
+	rtnne LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+	jam BT_EVT_LE_GKEY_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+le_parse_smp_pairing_random_sc_passkey:
+	call function_f4_ca
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result	
+	arg mem_AES_CMAC_temp,rega
+	arg mem_le_rconfirm ,regb
+	arg 16,loopcnt
+	call string_compare
+	nbranch le_send_pairing_confirm_value_failed,zero
+	branch le_send_smp_pairing_random
+endif
+	
+le_parse_smp_pairing_random_success:
+	call generate_stk
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	jam 1,mem_ltk_exists
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	
+le_send_smp_pairing_random:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_RANDOM
+	istore 1,contw
+	arg mem_le_srand,contr
+	branch memcpy16
+	
+le_parse_smp_encryption_information:
+	arg mem_le_peer_ltk,contw
+	branch memcpy16
+
+le_send_smp_encryption_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_ENCRYPTION_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PAIRING_FIXED_LTK,le_send_fixed_ltk
+	arg mem_le_ltk,contr
+	branch memcpy16
+
+le_send_fixed_ltk:
+	arg mem_le_fixed_ltk,contr
+	branch memcpy16
+
+
+le_send_smp_master_identification:
+	arg mem_le_ediv,contw
+	force 10,loopcnt
+	call generate_random_loop
+	force 11,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_MASTER_IDENTIFICATION
+	istore 1,contw
+	fetch 2,mem_le_ediv
+	istore 2,contw
+	fetch 8,mem_le_rand
+	istore 8,contw
+	rtn
+
+le_send_smp_identity_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_INFORMATION
+	istore 1,contw
+	setarg 0
+	istore 8,contw
+	istore 8,contw
+	rtn
+	
+
+le_send_smp_identity_address_information:
+	force 8,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_ADDRESS_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	fetch 6,mem_le_lap	
+	istore 6,contw
+	rtn	
+
+
+le_send_pairing_fail_unspecified_reason:
+	jam PAIRING_FAILED_UNSPECIFIED_REASON,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+le_check_init_key_distribution:
+	fetch 1,mem_le_pres_init_key_distribution
+	fetcht 1,mem_le_pres_init_key_distribution
+	iand temp,pdata
+	rtn	
+
+le_parse_smp_identity_information:
+	arg mem_le_irk,contw
+	call memcpy16
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	nrtn user
+	branch app_ble_store_reconn_info
+
+//output:user is enable ,random addr type
+le_check_master_addr_type:
+	call disable_user
+	fetch 1,mem_le_conn_peer_addr_type
+	rtneq MASTER_PUBLIC_ADDR
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	rtn true
+	branch enable_user
+
+le_parse_smp_identity_address_information:
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	rtn
+
+le_parse_smp_master_identification:
+le_parse_smp_signing_information:	
+le_parse_smp_security_request:
+	rtn
+	
+ifdef SECURE_CONNECTION
+le_parse_smp_public_key:
+	arg mem_le_pubkey_remote_x_256,contw	
+	call memcpy64
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_RECEIVE_PUBLIC_KEY,mem_le_secure_connect_state
+	rtn
+
+le_parse_smp_dhkey_check:
+	arg mem_sp_confirm_remote,contw
+	call memcpy16	
+	jam LE_SC_STAT_RECEIVE_DHKEY,mem_le_secure_connect_state
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn	
+
+le_send_smp_pairing_public_key:
+	force 65,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_PUBLIC_KEY
+	istore 1,contw	
+	arg mem_le_pubkey_local_x_256,contr
+	branch memcpy64
+	
+le_send_smp_pairing_dhkey_check:
+	call function_f6_eb	
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_DHKEY_CHECK
+	istore 1,contw
+	branch load_inverse_result
+	
+endif
+
+le_check_paring_time:
+	fetch 1,mem_le_pairing_state
+	rtneq FLAG_LE_PAIRING_END
+	arg FLAG_LE_PAIRING_RCV_PAIRING_REQ,temp
+	isub temp,null
+	nrtn positive
+	arg smp_pairing_timer,queue
+	call timer_check
+	nrtn blank
+	branch le_send_pairing_fail_unspecified_reason
+
+le_pairing_sm:
+	bpatchx patch2f_0,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_NULL,le_pairing_sm_null
+	beq FLAG_LE_PAIRING_START,le_pairing_sm_start
+	beq FLAG_LE_PAIRING_SEND_RECURITY_REQ,le_pairing_sm_send_sec_req
+	beq FLAG_LE_PAIRING_RCV_PAIRING_REQ,le_pairing_sm_rcv_pairing_req
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_pairing_sm_after_auth
+	beq FLAG_LE_PARING_SEND_ENC_INFORMATION,le_pairng_sm_send_enc_information
+	beq FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,le_pairng_sm_send_master_indentification
+	beq FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,le_pairng_sm_send_indentity_information
+	rtn
+
+le_pairing_sm_null:
+le_pairing_sm_send_sec_req:
+	fetch 1,mem_le_enc_state
+	rtnne FLAG_LE_SEND_START_ENC_RSP
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_RECONNECT_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+	
+le_pairing_sm_start:
+	jam FLAG_LE_PAIRING_SEND_RECURITY_REQ,mem_le_pairing_state
+	branch le_send_smp_security_request
+
+le_pairing_sm_rcv_pairing_req:
+	jam FLAG_LE_PAIRING_AUTH,mem_le_pairing_state
+	setarg TIMER_SMP_PAIRING_TIMEOUT
+	arg smp_pairing_timer,queue
+	branch timer_init
+	
+le_pairing_sm_after_auth:
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_SEND_START_ENC_RSP,le_pairing_sm_after_auth_start_enc
+	rtn
+	
+le_pairing_sm_after_auth_start_enc:
+	jam FLAG_LE_PARING_SEND_ENC_INFORMATION,mem_le_pairing_state
+	jam BT_EVT_LE_ENC_INFO,mem_fifo_temp
+	call ui_ipc_send_event
+	call le_send_smp_encryption_information
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	rtn user
+	branch app_ble_store_reconn_info
+
+
+le_pairng_sm_send_enc_information:	
+	jam FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,mem_le_pairing_state
+	branch le_send_smp_master_identification
+
+le_pairng_sm_send_master_indentification:	
+	fetch 1,mem_le_preq_resp_key_distribution
+	fetcht 1,mem_le_pres_resp_key_distribution
+	iand temp,pdata
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_parse_start_enc_rsp_after_auth_end,true
+	jam FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,mem_le_pairing_state
+	branch le_send_smp_identity_information
+
+le_pairng_sm_send_indentity_information:		
+	call le_send_smp_identity_address_information
+	branch le_parse_start_enc_rsp_after_auth_end
+
+
+le_parse_start_enc_rsp_after_auth_end:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+
+ifdef SECURE_CONNECTION
+
+le_secure_connect_sm:
+	bpatchx patch2f_1,mem_patch2f
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	fetch 1,mem_le_secure_connect_flag
+	rtnne LE_SP_FLAG_COMMIT_256
+	jam SP_FLAG_STANDBY,mem_le_secure_connect_flag
+	fetch    1,mem_le_secure_connect_state
+	beq  LE_SC_STAT_RECEIVE_PUBLIC_KEY,le_sc_sm_receive_public_key
+	beq LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,le_sc_sm_wait_send_public_key
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,le_sc_sm_send_public_key
+	beq LE_SC_STAT_RECEIVE_DHKEY,le_sc_sm_receive_dhkey
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,le_sc_sm_wait_confirm_gkey
+	beq  LE_SC_STAT_PASSKEY_WAIT_CONFIRM,le_sc_sm_passkey_wait_confirm
+	rtn	
+
+
+le_sc_sm_passkey_wait_confirm:
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+	fetch 4,mem_le_tk
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	branch le_sc_sm_ready_send_pairing_confirm
+	
+le_sc_sm_wait_confirm_gkey:
+	fetch 1,mem_le_sc_confirm_gkey_flag
+	jam FLAG_LE_SC_CONFRIM_NULL,mem_le_sc_confirm_gkey_flag
+	beq FLAG_LE_SC_CONFRIM_GKEY_OK,le_sc_confirm_gkey_ok
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_sc_confirm_gkey_ok:
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	branch le_send_smp_pairing_dhkey_check
+
+le_sc_sm_receive_dhkey:
+	fetch 1,mem_sp_dhkey_invalid
+	beq SP_KEY_VALID_256,le_dhkey_ready
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+
+le_dhkey_ready:
+	call function_f5
+//	arg mem_le_r,contw
+//	force 2,loopcnt
+//	call memset0
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_dhkey_ready_common
+	call le_set_tk_0 
+le_dhkey_ready_common:
+	call function_f6_ea
+	arg mem_AES_CMAC_temp,rega
+	arg mem_sp_confirm_remote ,regb
+	arg 16,loopcnt
+	call string_compare
+	branch le_dhkey_check_ok,zero
+le_dhkey_check_fail:	
+	jam PAIRING_FAILED_DHKEY_CHECK_FAILED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+	
+le_dhkey_check_ok:
+	call sp_calc_check_publickey_256
+	nbranch le_dhkey_check_fail,zero
+	jam 1,mem_ltk_exists
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_sc_confirm_gkey_ok
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_sc_confirm_gkey_ok	
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_WAIT_CONFIRM_GKEY,mem_le_secure_connect_state	
+	rtn	
+
+le_sc_sm_send_public_key:
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_sc_sm_send_public_key_passkey
+	jam 0,mem_passkey_1bit
+le_sc_sm_ready_send_pairing_confirm:
+	branch le_send_smp_pairing_confirm
+
+le_sc_sm_send_public_key_passkey:
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+//	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+//	branch p_ng_event_le_get_passkey
+	jam 0,mem_authentication_passkey_times
+	branch le_parse_smp_pairing_req_passkey
+
+	
+le_sc_sm_receive_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	fetch 1,mem_le_sc_local_key_invalid
+	beq SP_KEY_VALID_256,le_public_key_ready
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_public_key_ready:
+	jam LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,mem_le_secure_connect_state	
+	jam SP_KEY_INVALID,mem_sp_dhkey_invalid
+	branch sp_dhkey_calc_256	
+
+le_sc_sm_wait_send_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_SEND_PUBLIC_KEY,mem_le_secure_connect_state
+	branch le_send_smp_pairing_public_key
+
+endif
+
+
+le_fifo_malloc_tx_l2cap_smp:
+	force LE_L2CAP_CID_SMP,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
Index: YJX_Only24g/FCC_1021S/program/le_ll.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le_ll.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/le_ll.prog	(working copy)
@@ -0,0 +1,212 @@
+
+le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CONNECTION_UPDATE_REQ,le_parse_connection_update_req
+	beq LL_CHANNEL_MAP_REQ,le_parse_channel_map_req
+	beq LL_TERMINATE_IND,le_parse_terminate_ind
+	beq LL_ENC_REQ,le_parse_enc_req
+	beq LL_ENC_RSP,le_parse_enc_rsp
+	beq LL_START_ENC_REQ,le_parse_start_enc_req
+	beq LL_START_ENC_RSP,le_parse_start_enc_rsp
+	beq LL_UNKNOWN_RSP,le_parse_unknown_rsp
+	beq LL_FEATURE_REQ,le_parse_feature_req
+	beq LL_FEATURE_RSP,le_parse_feature_rsp
+	beq LL_PAUSE_ENC_REQ,le_parse_pause_enc_req
+	beq LL_PAUSE_ENC_RSP,le_parse_pause_enc_rsp
+	beq LL_VERSION_IND,le_parse_version_ind
+	beq LL_REJECT_IND,le_parse_reject_ind
+	beq LL_PING_REQ,le_parse_ping_req
+	beq LL_PING_RSP,le_parse_ping_rsp
+	arg 2,rega
+	arg LL_UNKNOWN_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 1,mem_le_rxbuf+2
+	istore 1,contw
+	rtn	
+
+
+le_parse_connection_update_req:
+	ifetch 9,contr
+	store 9,mem_le_new_param
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetch 1,mem_le_state
+	set1 lestate_update_param,pdata
+	store 1,mem_le_state
+	rtn
+
+le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetcht 2,mem_le_event_count
+	isub temp,null
+	nbranch le_parse_terminate_ind,positive
+	fetch 1,mem_le_state
+	set1 lestate_update_map,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_parse_terminate_ind:
+	setarg 20 // 200ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+le_send_terminate_ind_user_terminated:
+	arg ERROR_REMOTE_USER_TERMINATED_CONNECTION,regc
+
+//regc:The ErrorCode field shall be set to inform the remote device why the connection is about to be terminated.
+le_send_terminate_ind:
+	arg 2,rega
+	arg LL_TERMINATE_IND,regb
+	call le_fifo_malloc_tx_ll
+	copy regc,pdata
+	istore 1,contw
+	rtn
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+	arg 9,rega
+	arg LL_FEATURE_RSP,regb
+	call le_fifo_malloc_tx_ll
+	setarg param_le_features
+	istore 8,contw
+	rtn
+
+
+le_parse_version_ind:
+	rtn master
+le_send_version_ind:
+	arg 6,rega
+	arg LL_VERSION_IND,regb
+	call le_fifo_malloc_tx_ll
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	rtn
+
+
+le_parse_ping_req:
+	arg LL_PING_RSP,regb
+	branch le_send_ll_one_lenth
+
+//regb:ll opcode
+le_send_ll_one_lenth:
+	arg 1,rega
+	branch le_fifo_malloc_tx_ll
+
+	
+le_parse_enc_req:
+	ifetch 8,contr
+	store 8,mem_le_rand
+	ifetch 2,contr
+	store 2,mem_le_ediv
+	ifetch 8,contr
+	store 8,mem_le_skdm
+	ifetch 4,contr
+	store 4,mem_le_ivm
+	call le_send_enc_rsp
+	bpatchx patch2f_2,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_parse_enc_req_after_auth
+	fetch 1,mem_le_configuration
+	bbit1  BIT_BLE_PAIRING_FIXED_LTK,le_parse_enc_req_fixed_ltk
+	fetch 1,mem_nv_data_number
+	ncall load_device_list_mode_4,blank
+	fetch 1,mem_ltk_exists
+	beq 0,le_ltk_lost
+le_parse_enc_req_after_auth:
+	jam FLAG_LE_RCV_ENC_START,mem_le_enc_state
+	call  le_send_start_enc_req
+	branch generate_sk
+
+le_parse_enc_req_fixed_ltk:
+	jam 1,mem_ltk_exists
+	arg mem_le_fixed_ltk,contr
+	arg mem_le_ltk,contw
+	call memcpy16
+	branch le_parse_enc_req_after_auth
+
+
+le_ltk_lost:
+	bpatchx patch2f_3,mem_patch2f
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_ENC_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_LTK_LOST,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_send_reject_ind:
+	arg 2,rega
+	arg LL_REJECT_IND,regb
+	call le_fifo_malloc_tx_ll
+	setarg LE_ERR_PIN_OR_KEY_MISSING
+	istore 1,contw
+	rtn		
+	
+le_send_enc_rsp:
+	arg mem_le_skds,contw
+	force 8,loopcnt
+	call generate_random_loop
+	arg mem_le_ivs,contw
+	force 4,loopcnt
+	call generate_random_loop
+	arg 13,rega
+	arg LL_ENC_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 8,mem_le_skds
+	istore 8,contw
+	fetch 4,mem_le_ivs
+	istore 4,contw
+	rtn
+
+le_send_start_enc_req:
+	arg LL_START_ENC_REQ,regb
+	branch le_send_ll_one_lenth
+
+le_send_start_enc_rsp:
+	arg LL_START_ENC_RSP,regb
+	branch le_send_ll_one_lenth
+	
+	
+le_parse_enc_rsp:
+	ifetch 8,contr
+	store 8,mem_le_skds
+	ifetch 4,contr
+	store 4,mem_le_ivs
+	branch generate_sk
+	
+le_parse_start_enc_req:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+	
+le_parse_start_enc_rsp:
+	rtn master
+	jam BT_EVT_LE_START_ENC,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_SEND_START_ENC_RSP,mem_le_enc_state
+	branch le_send_start_enc_rsp
+	
+le_parse_pause_enc_req:
+	jam FLAG_LE_ENC_PAUSE,mem_le_enc_state
+	call le_send_pause_enc_rsp	
+	jam BT_EVT_LE_PAUSE_ENC,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+le_send_pause_enc_rsp:
+	arg LL_PAUSE_ENC_RSP,regb
+	branch le_send_ll_one_lenth	
+			
+
+le_parse_feature_rsp:
+le_parse_unknown_rsp:
+le_parse_pause_enc_rsp:
+le_parse_reject_ind:
+le_parse_ping_rsp:
+	rtn
+
+
Index: YJX_Only24g/FCC_1021S/program/lmp.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/lmp.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/lmp.prog	(working copy)
@@ -0,0 +1,2521 @@
+	
+/******************************************/
+/*************   LMP Parse   **************/
+/******************************************/
+init_lmp:
+	rtn wake
+init_lmp_work:
+	bpatchx patch2f_4,mem_patch2f
+	setarg 0
+	store 1,mem_lmp_to_send
+	store 1,mem_conn_sm
+	store 1,mem_lmo_opcode1
+	store 1,mem_lmo_opcode2
+	store 1,mem_esco_addr
+	store 1,mem_auth_enable
+	store 1,mem_connection_options
+	store 1,mem_pairing_auth
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam 0,mem_switch_fail_master_count
+	jam NULL_ENCRYP,mem_wait_encryption
+init_lmp_reinit:	
+	jam 0,mem_pairing_auth
+	jam 0,mem_sp_localsm
+	jam 0,mem_lmp_conn_state
+	//fall through
+parse_rx_done:
+	rtn
+
+parse_lmp:
+	bpatchx patch2f_5,mem_patch2f
+	call setlocalsm_master,master	//use this flag in hci
+	ncall setlocalsm_slave,master
+	call lmo_fifo_check
+	nrtn blank
+	fetch 1,mem_state_map
+	rtnbit0 smap_rxlmp
+	set0 smap_rxlmp,pdata
+	set0 mark_rxbuf_inuse,mark
+	store 1,mem_state_map
+	fetch 1,mem_rxbuf
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptidinit,pdata
+	setflag true,smap_lmptid,temp
+	storet 1,mem_state_map
+	and_into 0x2,temp //smap_lmptid only
+	storet 1,mem_lmo_tid2
+	fetcht 1,mem_state_map
+	rshift pdata,pdata			/* align lmp_opcode */
+  	store 1,mem_lmi_opcode2
+	bpatchx patch2f_6,mem_patch2f
+  	fetch 1,mem_lmi_opcode2
+  	beq LMP_ESCAPE,parse_lmp_escape//multi
+  	beq LMP_ACCEPTED,parse_lmp_accepted//multi
+	beq LMP_NOT_ACCEPTED,parse_lmp_not_accepted//multi
+  	beq LMP_SET_AFH, parse_lmp_set_afh
+  	beq LMP_CLKOFFSET_REQ, parse_lmp_clkoffset_req
+ 	beq LMP_ENCRYPTION_MODE_REQ, parse_lmp_encryption_mode_req
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_crypt_key
+	beq LMP_AUTO_RATE,parse_lmp_auto_rate
+	beq LMP_TEST_CONTROL,parse_lmp_test_control//multi
+	beq LMP_TEST_ACTIVATE,parse_lmp_test_activate
+	beq LMP_SETUP_COMPLETE,parse_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,parse_lmp_supervision_timeout
+	beq LMP_FEATURES_REQ,parse_lmp_features_req
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_conn_req
+	beq LMP_VERSION_REQ,parse_lmp_version_req
+	beq LMP_VERSION_RES,parse_lmp_version_res
+	beq LMP_DETACH,parse_lmp_detach
+	beq LMP_MAX_SLOT,parse_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ,parse_lmp_max_slot_req
+	beq LMP_NAME_REQ,parse_lmp_name_req
+	beq LMP_NAME_RES,parse_lmp_name_res
+	beq LMP_FEATURES_RES,parse_lmp_features_res
+	beq LMP_COMB_KEY,parse_lmp_comb_key
+	beq LMP_AU_RAND, parse_lmp_au_rand
+	beq LMP_IN_RAND,parse_lmp_in_rand
+	beq LMP_SRES,parse_lmp_sres
+	beq LMP_INCR_POWER_REQ,parse_lmp_incr_power
+	beq LMP_DECR_POWER_REQ,parse_lmp_decr_power
+	beq LMP_MAX_POWER, parse_lmp_max_power
+	beq LMP_MIN_POWER, parse_lmp_min_power
+	beq LMP_PAGE_MODE_REQ, parse_lmp_page_mode_req
+	beq LMP_PAGE_SCAN_MODE_REQ, parse_lmp_page_scan_mode_req
+	beq LMP_PREFERRED_RATE, parse_lmp_preferred_rate
+	beq LMP_SLOT_OFFSET, parse_lmp_slot_offset
+	beq LMP_SNIFF_REQ, parse_lmp_sniff_req
+	beq LMP_START_ENCRYPTION_REQ, parse_lmp_start_encryption_req
+	beq LMP_STOP_ENCRYPTION_REQ, parse_lmp_stop_encryption_req
+	beq LMP_SWITCH_REQ, parse_lmp_switch_req
+	beq LMP_TEMP_RAND, parse_lmp_temp_rand
+	beq LMP_TEMP_KEY, parse_lmp_temp_key
+	beq LMP_TIMING_ACCURACY_REQ, parse_lmp_timing_accuracy_req
+	beq LMP_TIMING_ACCURACY_RES, parse_lmp_timing_accuracy_res
+	beq LMP_UNIT_KEY, parse_lmp_unit_key
+	beq LMP_UNSNIFF_REQ, parse_lmp_unsniff_req
+	beq LMP_USE_SEMI_PERMANENT_KEY, parse_lmp_use_semi_permanend_key
+	beq  LMP_ENCAPSULATED_HEADER,parse_lmp_encapsulated_header
+	beq  LMP_ENCAPSULATED_PAYLOAD,parse_lmp_encapsulated_payload
+	beq	LMP_SIMPLE_PAIRING_CONFIRM,parse_simple_pairing_confirm
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_simple_pairing_number
+	beq  LMP_DHKEY_CHECK,parse_dhkey_check
+	beq LMP_CLKOFFSET_RES, parse_lmp_clkoffset_res
+	beq LMP_ENC_KEY_SIZE_MASK_REQ,parse_enc_key_size_mask_req
+/* lmp is not recognized, check to see if we respond to all messages */ 
+/* rejecting the unrecognized message with PDU not recognized */
+reject_unknown_packet:
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+reject_lmp_packet:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_clkoffset_req:
+	jam LMP_CLKOFFSET_RES,mem_lmo_opcode2
+	rtn	
+
+parse_enc_key_size_mask_req:
+	jam LMP_ENC_KEY_SIZE_MASK_RES,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_set_afh:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	store 4,mem_afh_instant
+	fetch 1,mem_rxbuf+5
+	store 1,mem_afh_new_mod
+	fetch 5,mem_rxbuf+6
+	store 5,mem_afh_map_new
+	fetch 5,mem_rxbuf+11
+	istore 5,contw
+	fetch 1,mem_mode
+	set1 afh_change,pdata
+	store 1,mem_mode
+	rtn
+parse_lmp_escape:
+	bpatchx patch2f_7,mem_patch2f
+	fetch 1,mem_rxbuf+1
+	set1 7,pdata
+	store 1,mem_lmi_opcode2
+	beq LMP_EXT_ACCEPTED,parse_lmpext_accepted
+	beq LMP_NOT_ACCEPTED_EXT,parse_lmpext_not_accepted
+	beq LMP_SNIFF_SUBRATING_REQ, parse_lmp_sniff_subrating_req
+	beq LMP_SNIFF_SUBRATING_RES, parse_lmp_sniff_subrating_res
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_packet_type_table_req
+	beq LMP_EXT_FEATURES_REQ,parse_lmpext_features_req
+	beq LMP_EXT_FEATURES_RES,parse_lmpext_features_res
+	beq LMP_EXT_CHN_CLASSIFICATION_REQ,parse_lmpext_chn_classification_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,parse_lmpext_pause_encrypt
+	beq LMP_RESUME_ENCRYPTION_REQ,parse_lmpext_resume_encrypt
+	beq LMP_IO_CAP_REQ,parse_lmpext_iocap_req
+	beq LMP_IO_CAP_RES,parse_lmpext_iocap_res
+	rtneq LMP_EXT_FEATURES_RES
+
+
+reject_unknown_ext_packet:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+	
+	rtn
+parse_lmpext_chn_classification_req:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam NOT_SUPPORT_CHN_CLASSIFICATION,mem_lmo_reason2
+	rtn
+	
+parse_lmpext_iocap_req:
+	call iocap_lmpext_load
+	jam LMP_IO_CAP_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_iocap_res:
+	call iocap_lmpext_load
+	branch iocap_lmpext_common
+	
+iocap_lmpext_load:
+	arg      mem_sp_iocap_remote,contw
+	fetch 3, mem_rxbuf+2
+	istore    3,contw
+	rtn
+	
+iocap_lmpext_common:
+ifdef SIMPLE_PAIRING
+	branch master_set_mem_master_sp_flag,true//is un very ok to use master flag,but we have to add many codes if wo don't
+endif
+	rtn
+parse_lmpext_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_accepted_ptt
+	rtn
+
+	
+parse_lmpext_not_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_not_accepted_ptt
+	rtn
+
+parse_lmpext_accepted_ptt:
+	fetch 1,mem_ptt
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_edr,temp
+	storet 1,mem_state_map
+parse_lmpext_not_accepted_ptt:
+	fetch 1,mem_state
+	rtnbit0 state_init_seq
+	set0 state_init_seq,pdata
+	store 1,mem_state
+	fetch 1,mem_auth_enable
+	nrtn blank
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_pause_encrypt:
+	nbranch parse_lmpext_pause_encrypt_slave, master
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	branch tid_reply
+
+parse_lmpext_pause_encrypt_slave:	
+	jam LMP_PAUSE_ENCRYPTION_REQ, mem_lmo_opcode2
+	rtn
+
+parse_lmpext_resume_encrypt:
+//trans file to pc may cause pause/resume encrypt
+//if ms is conn_sm_wait_end the controllor won't send ack after recieved start_encypt_accept
+	call tid_reply
+	branch lmp_start_encryption
+
+parse_lmpext_features_req:
+	jam LMP_EXT_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_features_res:
+	fetcht 1,mem_rxbuf+4
+	and temp,0x1,temp
+	storet 1,mem_remote_sppcap
+	fetch 1,mem_hci_cmd
+	bne hci_cmd_wait_remote_ext_feature,parse_lmpext_features_res_not_hci
+	jam 0,mem_hci_cmd
+parse_lmpext_features_res_not_hci:
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_EXT
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	branch process_conn_sm
+
+parse_lmp_accepted:
+	bpatchx patch30_0,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_accepted_hostconn//ok
+	beq LMP_IN_RAND,parse_lmp_accepted_inrand//ok
+	beq LMP_ENCRYPTION_MODE_REQ,parse_lmp_accepted_enc_mode//ok
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_accepted_enc_keysize//ok
+	beq LMP_START_ENCRYPTION_REQ,parse_lmp_accepted_start_enc//ok
+	beq LMP_STOP_ENCRYPTION_REQ,parse_lmp_accepted_stop_enc//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_accepted_unsniff_req//ok
+	beq LMP_SNIFF_REQ,parse_lmp_accepted_sniff_req//ok
+	beq LMP_SWITCH_REQ,parse_lmp_accepted_switch
+	// simple pairing 
+	beq LMP_ENCAPSULATED_HEADER,parse_lmp_accepted_encapsulated_header//ok
+	beq LMP_ENCAPSULATED_PAYLOAD,parse_lmp_accepted_encapsulated_payload//ok
+	beq LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_accepted_simple_pairing_number//ok
+	beq LMP_DHKEY_CHECK,parse_lmp_accepted_dhkey_check//ok
+	rtn
+	
+parse_lmp_not_accepted:
+	bpatchx patch30_1,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_NAME_REQ,parse_lmp_not_accepted_name_req//ok
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_not_accepted_hostconn//ok
+	beq LMP_AU_RAND,parse_lmp_not_accepted_aurand//ok
+	beq LMP_IN_RAND,parse_lmp_not_accepted_inrand//ok
+	beq LMP_SWITCH_REQ,parse_lmp_not_accepted_switch//ok
+	/* simple pairing support */
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_not_accepted_simple_pairing_number//ok
+	beq  LMP_DHKEY_CHECK,parse_lmp_not_accepted_dhkey_check//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_not_accepted_unsniff_req
+	beq LMP_SNIFF_REQ,parse_lmp_not_acdcept_sniff_req
+	rtn
+
+parse_lmp_accepted_switch:
+	jam BT_EVT_SWITCH_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch role_switch_prepare0
+parse_lmp_not_accepted_switch:
+	jam BT_EVT_SWITCH_NOT_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	jam SWITCH_FLAG_NOT_ACCEPT,mem_switch_flag
+	setarg TIMER_SWITCH_WAITE
+	arg switch_wait_timer,queue
+	branch timer_init
+
+
+parse_lmp_accepted_hostconn:
+	//fetch 1,mem_state
+	//rtnbit0 state_init_seq
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//nbranch parse_lmp_accepted_hostconn_ctn,master
+parse_lmp_accepted_hostconn_ctn:
+	/* checking to see if we requested host connection */
+	fetch 1,mem_conn_sm
+	bne CONN_SM_WAIT_CONN_ACCEPT, parse_rx_done
+	//branch parse_lmp_accepted_hostconn_master,master
+	/* continuing on with host connection state machine */
+	jam CONN_SM_AUTH_PAIR,mem_conn_sm
+	rtn
+	//branch host_create_conn_auth_pair
+
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+//parse_lmp_accepted_hostconn_master:
+	//jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+//	rtn
+
+parse_lmp_not_accepted_hostconn:
+	jam ACL_CONNECTION_ALREADY_EXISTS,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	/* clearing connection state machine */
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	branch parse_rx_done,true
+	rtn
+
+parse_lmp_accepted_inrand:
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	call clear_linkkey
+	call  lmp_generate_key
+	rtn master
+	set1 mark_slave_in_rand_accepted,mark
+	rtn
+
+parse_lmp_accepted_enc_mode:
+	nrtn master
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	fetch 1,mem_state_map
+	rtnbit0 smap_encryption
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+
+parse_lmp_accepted_enc_keysize:
+	branch lmp_start_encryption
+	
+parse_lmp_accepted_start_enc:
+	call send_create_conn_start_l2cap_timer_sm
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_ENCRYPT_WAIT
+	jam CONN_SM_ENCRYPT_WAIT_CLEAR,mem_conn_sm
+	rtn
+	
+parse_lmp_accepted_stop_enc:
+	/* again this won't work with multipoint. keep track of anyone else encrypting */
+	//jam HOST_STOP_ENCRYPTION,message_queue_B0
+	//jam 1,message_queue_B1
+	//jam HOST_RETURN_SUCCESS,message_queue_B2
+	//fetch 1,mem_lmp_state2
+	//set1 MESSAGE_QUEUE,pdata
+	//store 1,mem_lmp_state2
+	rtn
+
+parse_lmp_not_accepted_aurand:	
+parse_lmp_not_accepted_aurand_send_detach:	
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+/*in pair remote cancel the pair*/
+parse_lmp_not_accepted_inrand:
+	fetch 1,mem_rxbuf+2
+	beq KEY_MISSING,parse_lmp_inrand_key_missing
+	rtnne PAIRING_NOT_ALLOWED
+	jam PAIRING_NOT_ALLOWED,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn	
+parse_lmp_inrand_key_missing:
+	jam KEY_MISSING,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_not_accepted_name_req:
+	rtn
+	
+parse_lmp_not_accepted_simple_pairing_number:
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+	
+parse_lmp_not_accepted_dhkey_check:
+ifdef LMP_DBG
+	call ice_break
+endif
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+parse_lmp_not_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_accepted_sniff_req:
+	jam BT_EVT_SNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	setarg 0
+	store 2,mem_dsniff
+	fetch 2,mem_sniff_param_interval
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 1,mem_sniff_param_attempt
+	store 1,mem_sniff_attempt
+	fetch 1,mem_sniff_param_timeout
+	store 1,mem_sniff_timeout
+	branch sniff_init
+	
+parse_lmp_not_acdcept_sniff_req:
+	jam BT_EVT_SNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	storet 1,mem_key_size
+	branch accept_lmp_msg
+	
+parse_lmp_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	rtnbit1 SENT_SETUP_COMPLETE
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	branch parse_rx_done
+	
+parse_lmp_max_slot:
+	//jam LMP_MAX_SLOT,mem_lmi_opcode2
+	//branch accept_lmp_msg
+	rtn
+	
+parse_lmp_max_slot_req:
+	fetch 1,mem_max_slot
+	fetcht 1,mem_rxbuf+1
+	isub temp,null
+	//jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg,positive
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam UNSPECIFIED_ERROR,mem_lmo_reason2
+	jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	rtn
+	
+parse_lmp_detach:
+	call prepare_disconnect
+	branch accept_lmp_msg
+	
+accept_lmp_msg:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_incr_power:
+	jam LMP_MAX_POWER,mem_lmo_opcode2
+	rtn
+
+parse_lmp_decr_power:
+	jam LMP_MIN_POWER,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_version_res:
+	fetch 1,mem_conn_sm
+	rtneq CONN_SM_WAIT_VERSION
+	/* continuing on with host connection state machine */
+	jam CONN_SM_SEND_FEATURES ,mem_conn_sm
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+	rtn
+
+
+parse_lmp_auto_rate:
+	rtn	
+
+parse_lmp_in_rand:
+	call lmp_copy_rand
+	jam pincode_state_wait_pincode,mem_pincode_state
+	jam BT_EVT_PINCODE_REQ,mem_fifo_temp
+	call ui_ipc_send_event
+
+	call tid_check
+	nbranch lmp_accept_inrand,true
+	//fetch 1,mem_auth_enable
+	nbranch parse_lmp_inrand_res,master // ignore this because of not ssp temporary
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	jam TRANSACTION_COLLISION,mem_lmo_reason2
+	rtn
+parse_lmp_inrand_res:
+	fetch 1,mem_op
+	set1 op_inrand_req,pdata
+	store 1,mem_op
+	rtn
+
+//store current tid
+pop_tid_follow:
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_lmptid,temp
+	storet 1,mem_state_map
+	rtn
+	
+//restore current tid
+push_tid_follow:
+	fetch 1,mem_lmo_tid2
+	rshift pdata,pdata
+	and_into 1,pdata
+	rtn
+
+parse_lmp_au_rand_moudle:
+	fetch 1,mem_nv_data_number
+	rtn blank
+	fetch 1,mem_pairing_auth
+	call load_device_list,blank
+	rtn	
+
+parse_lmp_au_rand:
+	call parse_lmp_au_rand_moudle
+	call push_tid_follow
+	store 1,mem_sres_tid
+	call lmp_copy_rand
+	jam LMP_SRES,mem_lmo_opcode2
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	fetch 1,mem_state
+	rtnbit1 state_combkey		/* we have comb key, but not verified */
+	jam KEY_MISSING,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_sres:	
+	arg mem_plap,rega
+	call function_e1
+	fetch 4,mem_rxbuf+1
+	fetcht 4,mem_input_store
+	isub temp,null
+	branch authentication_ok,zero
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam AUTHENTICATION_FAILURE_ERROR,mem_disconn_reason_send	
+	rtn
+authentication_ok:
+	call authentication_ok_common
+	fetch 1,mem_ssp_enable
+	branch  pairing_success,blank
+	rtn
+
+	
+authentication_ok_common:
+	call copy_aco
+	call linkkey_ready///save link key
+	fetch 1,mem_op
+	isolate1 op_auth_req,pdata
+	set0 op_auth_req,pdata
+	store 1,mem_op
+	fetch 1,mem_conn_sm
+	beq CONN_SM_AUTH_WAIT,authentication_ok_conn_sm
+	beq CONN_SM_PAIRING_WAIT,authentication_ok_conn_sm
+	rtn
+authentication_ok_conn_sm:
+	fetch 1,mem_pairing_auth
+	rtnne DEFALT_PAIRING_AUTH
+	fetch 1,mem_state_map
+	rtnbit1 smap_encryption
+	branch host_create_conn_encrypt
+
+parse_lmp_comb_key:
+	arg mem_rxbuf+1,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg mem_plap,rega
+	call generate_linkkey
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	fetch 1,mem_state
+	bbit0 state_combkey,lmp_generate_key
+	rtn
+	
+parse_lmp_name_res:
+	fetch 2,mem_len
+	add pdata,-3,loopcnt	//for remote name length error
+	fetcht 1,mem_rxbuf+1
+	setarg mem_tmp_buffer
+	iadd temp,contw
+	arg mem_rxbuf+3,contr
+	call memcpy
+	fetcht 1,mem_name_offset
+	fetch 1,mem_rxbuf+2
+	isub temp,pdata
+	sub pdata,14,null
+	branch parse_lmp_name_res_end,positive
+	add temp,14,pdata
+	store 1,mem_name_offset
+	jam LMP_NAME_REQ,mem_lmo_opcode2
+	rtn
+parse_lmp_name_res_end:
+	fetch 1,mem_state_map
+	set1 smap_name_res,pdata
+	store 1,mem_state_map
+	bbit1 smap_name_req,lmp_disconnect
+	rtn
+parse_lmp_name_req:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_opcode2 //offset 
+	jam LMP_NAME_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_conn_req:
+	branch accept_lmp_msg
+
+parse_lmp_timing_accuracy_req:
+	jam LMP_TIMING_ACCURACY_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_features_req:
+	jam LMP_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_version_req:
+	jam LMP_VERSION_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_supervision_timeout:
+//	fetch 2,mem_rxbuf+1
+//	store 2,mem_supervision_to
+	rtn
+	
+
+
+parse_lmp_sniff_subrating_req:
+	fetch 2,mem_tsniff
+	iforce temp
+	fetch 1,mem_rxbuf+2
+	store 1,mem_subsniff_rate
+	imul32 temp,temp
+	fetch 2,mem_rxbuf+3
+	lshift pdata,pdata
+	store 2,mem_subsniff_tcmax
+	fetch 4,mem_rxbuf+5
+	lshift pdata,pdata
+ 	store 4,mem_subsniff_instant
+	//product pdata
+	deposit temp
+	store 2,mem_subsniff_tsniff
+	rtn
+parse_lmpext_packet_type_table_req:
+	fetcht 1,mem_ptt
+	fetch 1,mem_rxbuf+2
+	ixor temp,null
+	nbranch reject_unknown_ext_packet,zero
+	isolate1 0,pdata
+	fetch 1,mem_state_map
+	setflag true,smap_edr,pdata
+	store 1,mem_state_map
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmi_opcode2
+	rtn
+
+	
+parse_lmp_sniff_subrating_res:
+parse_lmp_preferred_rate:
+parse_lmp_max_power:
+parse_lmp_min_power:
+	rtn
+parse_lmp_page_mode_req:
+	//jam LMP_PAGE_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+parse_lmp_page_scan_mode_req:
+	//this can influence connection. need accepted
+	//jam LMP_PAGE_SCAN_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+
+
+	
+parse_lmp_slot_offset:
+	fetch 2,mem_rxbuf+1
+	store 2,mem_slot_offset
+	rtn
+
+parse_lmp_sniff_req_check_sniff_para:
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	fetcht 1,mem_lpm_mult
+	imul32 temp,pdata
+	arg 0x640,temp
+	isub temp,null
+//	branch lmp_reject_sniff,positive
+	rtn
+	
+parse_lmp_sniff_req:
+	fetch 2,mem_rxbuf+6
+	branch lmp_reject_sniff,blank
+	call parse_lmp_sniff_req_check_sniff_para
+	branch lmp_reject_sniff,positive
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call module_set_lpm_mult_2,zero
+	fetch 1,mem_state
+	bbit1 state_insniff,lmp_reject_sniff
+	fetch 2,mem_rxbuf+2 /* dsniff */
+	lshift pdata,pdata
+	store 2,mem_dsniff	
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 2,mem_rxbuf+6 /* sniff attempt */
+	store 1,mem_sniff_attempt
+	iforce temp
+	fetch 2,mem_rxbuf+8 /* sniff timeout */
+	store 1,mem_sniff_timeout
+	isub temp,null
+	nbranch set_big_value_to_attempt,positive
+	store 1,mem_sniff_attempt
+set_big_value_to_attempt:	
+	//call sniff_init
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SNIFF_REQ,mem_lmi_opcode2
+	rtn
+
+lmp_reject_sniff:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_start_encryption_req:
+	call accept_lmp_msg
+	call lmp_copy_rand
+	call function_e3
+	branch start_encryption
+	
+parse_lmp_stop_encryption_req:
+	call accept_lmp_msg
+	branch stop_encryption
+	
+
+parse_lmp_switch_req:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	//branch parse_lmp_switch_req_not_accept
+	branch parse_lmp_switch_accept,master
+	fetcht 1,mem_link_key_exists
+	nbranch parse_lmp_switch_req_clear_mark,blank
+parse_lmp_switch_req_not_accept:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	rtn
+parse_lmp_switch_req_clear_mark:
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	jam 0,mem_conn_sm
+	branch role_switch_prepare
+
+parse_lmp_switch_accept:
+	call role_switch_prepare
+	set1 mark_reconn_recieve_switch,mark
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	branch accept_lmp_msg
+
+	
+
+parse_lmp_temp_rand:
+parse_lmp_temp_key:
+parse_lmp_timing_accuracy_res:	
+parse_lmp_unit_key:	
+parse_lmp_use_semi_permanend_key:
+	rtn
+
+	
+parse_lmp_unsniff_req:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_UNSNIFF_REQ,mem_lmi_opcode2
+	jam BT_EVT_REMOTE_UNSNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_encapsulated_header:
+	fetch 1,mem_rxbuf+1
+	bne ENCAPSULATED_MAJOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+2
+	bne ENCAPSULATED_MINOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+3
+	bne ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_header_reject
+	call check_localsm
+	branch parse_lmp_encapsulated_header_master,true
+	jam SP_STAT_KEY_RECV,mem_sp_state
+parse_lmp_encapsulated_header_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_ENCAPSULATED_HEADER,mem_lmi_opcode2
+	branch parse_rx_done
+	
+parse_lmp_encapsulated_header_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet
+	
+parse_lmp_accepted_encapsulated_header:
+	//jam LMP_ENCAPSULATED_PAYLOAD,mem_lmi_opcode2
+	//branch   accept_lmp_msg  	
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+      //   branch   accept_lmp_msg  	
+         rtn
+parse_lmp_accepted_simple_pairing_number:
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,parse_lmp_accepted_simple_pairing_number_ssp_pin
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_accepted_simple_pairing_number_passkey
+parse_lmp_accepted_simple_pairing_number_common:
+	call check_localsm
+	rtn true
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+	call g_noninit_number_confirm
+	jam BT_EVT_BT_GKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch parse_lmp_accepted_simple_pairing_number_common
+
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+	call check_localsm
+	rtn true
+	fetch 1,mem_authentication_passkey_times
+	beq 19,authentication_passkey_end
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+//	branch p_authentication_passkey
+
+authentication_passkey:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	fetch 6,mem_pin
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	rtn
+
+authentication_passkey_end:	
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_dhkey_check:
+	call parse_lmp_accepted_dhkey_check_common
+pairing_success:
+	fetch 1,mem_flag_pairing_state
+	rtn blank
+	jam FLAG_PAIRING_STATE_NOT_PAIRING,mem_flag_pairing_state
+	jam BT_EVT_BT_PAIRING_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_accepted_dhkey_check_common:
+	//here must be change***  shyd
+	call check_localsm
+ifdef SIMPLE_PAIRING
+	ncall g_noninit,true	//when be master  call g_init
+	call g_init,true
+endif
+	call check_localsm
+	rtn true
+	jam SP_STAT_LINK_KEY_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+
+parse_simple_pairing_confirm:
+	arg mem_sp_confirm_remote,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	fetch 1,mem_ssp_mode_flag
+	rtneq  SSP_MODE_PASSKEY_ENTRY_FLAG
+ifdef SIMPLE_PAIRING
+	branch master_set_mem_master_sp_flag
+endif
+	
+parse_lmp_encapsulated_payload:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_encapsulated_payload_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_KEY_RECV,parse_lmp_encapsulated_payload_reject
+parse_encapsulated_payload_master:
+	fetch    1,mem_sp_remote_key_recv_count
+	sub      pdata,0x20,contw
+	nbranch  parse_lmp_encapsulated_payload_reject,positive
+	arg      mem_sp_pubkey_remote,contw
+	iadd     contw,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	fetch    1,mem_sp_remote_key_recv_count
+	increase 16,pdata
+	store    1,mem_sp_remote_key_recv_count
+	bne ENCAPSULATED_LEN_P192,accept_lmp_msg
+parse_lmp_encapsulated_payload_completed:
+	call check_localsm
+	branch accept_lmp_msg,true
+	jam      SP_KEY_VALID,mem_sp_remote_key_invalid
+	jam      SP_STAT_KEY_GENERATE,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag  
+	branch   accept_lmp_msg
+parse_lmp_encapsulated_payload_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet	
+parse_lmp_accepted_encapsulated_payload: 
+	fetch 1,mem_sp_local_key_send_count
+	beq	ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_payload_all_accepted
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+	branch   parse_rx_done 
+	
+parse_lmp_encapsulated_payload_all_accepted:   
+	call check_localsm
+	branch parse_lmp_encapsulated_payload_all_accepted_master,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_encapsulated_payload_all_accepted_get_passkey
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	branch   parse_rx_done
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+	jam BT_EVT_BT_GET_PASSKEY,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+	//call sp_master_generate_local_key
+	branch   parse_rx_done   
+
+parse_lmp_simple_pairing_number:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_lmp_simple_pairing_number_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_RANDOM_RECV,parse_lmp_simple_pairing_number_reject
+parse_lmp_simple_pairing_number_master:
+	arg      mem_sp_random_remote,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	call check_localsm
+	branch parse_lmp_simple_pairing_number_master0,true
+	jam      SP_STAT_RANDOM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_master0:
+	jam SP_STAT_COMMIT_CALC,mem_master_sp_state
+ifdef SIMPLE_PAIRING
+	branch master_set_mem_master_sp_flag
+endif
+	//jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	//branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+	
+parse_dhkey_check:
+	fetch    1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_SEND,parse_dhkey_check_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_CONFIRM_RECV,parse_lmp_dhkey_check_reject
+parse_dhkey_check_master:
+	arg      mem_sp_check_result,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	call check_localsm
+	branch parse_dhkey_check_master0,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,number_comparison_mode
+number_comparison_successed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam SP_STAT_CONFIRM_CHECK,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch   parse_rx_done
+	
+parse_dhkey_check_master0:
+	jam      SP_STAT_CONFIRM_CHECK,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	branch   parse_rx_done
+parse_lmp_dhkey_check_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+number_comparison_mode:
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,comparison_result
+	set1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,pdata
+	store 1,mem_flag_mode_ssp_pin
+	rtn
+	
+comparison_result:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	jam 0,mem_flag_mode_ssp_pin
+	branch parse_lmp_dhkey_check_reject
+
+	
+parse_lmp_clkoffset_res:
+	branch parse_rx_done
+		
+parse_lmp_encryption_mode_req:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT
+	store 1,mem_connection_options
+	call accept_lmp_msg
+	nrtn master					/* do sth only if we're master */
+	fetch 1,mem_rxbuf+1
+	fetcht 1,mem_op
+	setflag blank,op_stop_enc,temp
+	nsetflag blank,op_start_enc,temp
+	storet 1,mem_op
+	rtn 
+	
+parse_lmp_features_res:
+	fetcht 8,mem_rxbuf+1		/*fix bcp(baoshijie) err*/
+parse_lmp_features_res_not_hci:	
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_RES
+
+	fetch 1,mem_connection_options
+	bbit0 CONNECTION_FEATURE_EXT,parse_lmp_send_conn
+
+	jam CONN_SM_SEND_FEATURES_EXT,mem_conn_sm
+	rtn
+parse_lmp_send_conn:
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	rtn
+parse_lmp_test_activate:
+	fetch 1,mem_debug_config
+	store 1,mem_test_mode_old_debug_config
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_ACTIVATE,mem_lmi_opcode2
+	rtn
+parse_lmp_test_control:
+	/* the 9 test control parameters are XORed with 0x55 */
+	/* doing the XOR here and storing in mem_temp_payload */
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_CONTROL,mem_lmi_opcode2
+	force 9,loopcnt
+	arg mem_rxbuf+1,contr
+	arg mem_temp_payload,contw
+parse_lmp_test_xor:
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop parse_lmp_test_xor
+	fetch 1,test_mode_scenario
+	fetcht 1,mem_tester_emulate
+	set0 tester_no_whitening,temp
+	set0 tester_pattern_test,temp
+	beq EXIT_TEST_MODE,	 parse_lmp_test_control_exit
+	beq PAUSE_TEST_MODE,	 parse_lmp_test_control_pause
+	beq CLOSED_LOOP_BACK_ACL,	 parse_lmp_test_control_loopback
+	beq ACL_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq CLOSED_LOOP_BACK_SCO,	 parse_lmp_test_control_loopback
+	beq SCO_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq ZERO_PATTERN,	 parse_lmp_test_control_pattern
+	beq ONE_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT2_PATTERN,	 parse_lmp_test_control_pattern
+	beq PSEUDORANDOM,	 parse_lmp_test_control_pattern
+	rtn
+parse_lmp_test_control_exit:
+	/* restoring old parameters */
+	fetch 1,mem_tester_emulate
+	set1 tester_exit,pdata
+	set1 tester_change,pdata
+	store 1,mem_tester_emulate
+	rtn
+parse_lmp_test_control_pattern:
+	set1 tester_pattern_test,temp
+	jam 5,mem_lch_code
+	fetch 2,test_mode_data_length
+	iforce loopcnt
+	store 2,mem_len
+	arg mem_rxbuf,contw
+	call pn9
+parse_lmp_test_control_loopback_nowhite:
+	set1 tester_no_whitening,temp
+parse_lmp_test_control_loopback:
+	set1 tester_change,temp
+	force 0,pdata
+	store 1,mem_slave_rcvcnt
+	store 2,mem_tst_pktcnt_crc
+	store 2,mem_tst_pktcnt_dmh
+	store 2,mem_tst_pktcnt_hec
+	store 2,mem_tst_pktcnt_sync
+	fetch 1,test_mode_hopping_mode
+	compare FIXED_FREQ,pdata,0xff
+	setflag true,tester_fixed_freq,temp
+	storet 1,mem_tester_emulate
+	rtn
+
+parse_lmp_test_control_pause:
+	set0 mark_testmode,mark
+	jam 0,mem_tester_emulate
+	fetch 1,mem_debug_config
+	set0 debug_tx_pattern,pdata
+	store 1,mem_debug_config
+	rtn
+
+
+	
+	
+
+lmp_copy_rand:	
+	arg mem_rxbuf+1,contr
+	arg mem_random_number,contw
+	branch memcpy16
+
+lmp_generate_key:
+	jam LMP_COMB_KEY,mem_lmo_opcode2
+	rtn
+
+lmp_start_encryption:
+	nrtn master
+	jam LMP_START_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+	
+lmp_accept_inrand:
+	arg mem_lap,rega
+	call generate_kinit
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	rtn
+
+lmp_disconnect:
+	jam 10,mem_conn_timer
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send	
+	rtn
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+	/* enable user if a lmp packet is to send */
+send_lmp:
+	bpatchx patch30_2,mem_patch30
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+/* lmp message to be processed. this will either be because host??? */
+/* wants to send a lmp message or because one resulted from the LMP */
+/* processing section */
+/********* outgoing lmp lookup table *************/
+	bbit1 7,send_lmp_escape
+send_lmp0:
+	beq LMP_NAME_REQ,	 send_lmp_name_req
+	beq LMP_NAME_RES,	 send_lmp_name_res
+	beq LMP_ACCEPTED,	 send_lmp_accepted
+	beq LMP_NOT_ACCEPTED,	 send_lmp_not_accepted
+	beq LMP_FEATURES_REQ,	 send_lmp_features_req
+	beq LMP_FEATURES_RES,	 send_lmp_features_res
+	beq LMP_TIMING_ACCURACY_RES,	 send_lmp_timing_accuracy_res
+	beq LMP_VERSION_REQ,	 send_lmp_version_req
+	beq LMP_VERSION_RES,	 send_lmp_version_res
+	beq LMP_SETUP_COMPLETE,	 send_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,	 send_lmp_superto
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_no_payload
+	beq LMP_IN_RAND,send_lmp_inrand
+	beq LMP_COMB_KEY,send_lmp_comb_key
+	beq LMP_AU_RAND,send_lmp_aurand
+	beq LMP_SRES,send_lmp_sres
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_encryption_mode_req
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_encryption_key_size_req
+	beq LMP_START_ENCRYPTION_REQ,send_lmp_start_encryption
+	beq LMP_DETACH,send_lmp_detach
+	beq LMP_QUALITY_OF_SERVICE_REQ, send_lmp_quality_of_service_req
+	beq LMP_UNIT_KEY,send_lmp_unit_key
+	//Optional (O)
+	beq LMP_INCR_POWER_REQ,send_lmp_inc_power	
+	beq LMP_CLKOFFSET_RES, send_lmp_clkoffset_res	
+	beq LMP_MAX_POWER,send_lmp_nopayload_reply
+	beq LMP_MAX_SLOT, send_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ, send_lmp_max_slot_req
+	beq LMP_MIN_POWER,send_lmp_nopayload_reply
+	beq LMP_SLOT_OFFSET, send_lmp_slot_offset
+	beq LMP_SWITCH_REQ, send_lmp_switch_req
+	beq LMP_SNIFF_REQ, send_lmp_sniff_req
+	beq LMP_STOP_ENCRYPTION_REQ, send_lmp_stop_encryption_req	
+	beq LMP_TIMING_ACCURACY_REQ, send_lmp_timing_accuracy_req
+	beq LMP_UNSNIFF_REQ, send_lmp_unsniff_req
+	beq LMP_ENCAPSULATED_HEADER,send_lmp_encapsulated_header
+	beq LMP_ENCAPSULATED_PAYLOAD,send_lmp_encapsulated_payload
+	beq LMP_SIMPLE_PAIRING_CONFIRM,send_lmp_simple_pairing_comfirm
+	beq LMP_SIMPLE_PAIRING_NUMBER,send_lmp_simple_pairing_number
+	beq LMP_DHKEY_CHECK,send_lmp_dhkey_check
+	beq LMP_AUTO_RATE,send_lmp_auto_rate
+	beq LMP_ENC_KEY_SIZE_MASK_RES,send_lmp_enc_key_size_mask_res
+	//master only must(M)
+	beq LMP_CLKOFFSET_REQ, send_lmp_clkoffset_req
+	beq LMP_QUALITY_OF_SERVICE, send_lmp_quality_of_service
+	beq LMP_TEST_ACTIVATE, send_lmp_test_activate
+	beq LMP_TEST_CONTROL, send_lmp_test_control
+send_lmp_error:
+	branch assert
+	rtn
+send_lmp_escape:
+	beq LMP_EXT_ACCEPTED,send_lmpext_accepted
+	beq LMP_EXT_FEATURES_RES,send_lmpext_features_res
+	beq LMP_NOT_ACCEPTED_EXT,send_lmpext_not_accepted
+	beq LMP_EXT_FEATURES_REQ,send_lmpext_features_req
+	beq LMP_PACKET_TYPE_TABLE_REQ,send_lmpext_packet_type_table_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,send_lmpext_pause_encryption_req
+	beq LMP_IO_CAP_REQ,send_lmp_io_cap_req
+         beq LMP_IO_CAP_RES,send_lmpext_io_cap_res
+         beq LMP_SNIFF_SUBRATING_REQ,send_lmpext_sniff_subrating_req
+         beq LMP_SNIFF_SUBRATING_RES,send_lmpext_sniff_subrating_res
+	branch assert
+
+
+/******** LMP follow messages **********/
+/****** TID follow received packet  *******/
+
+send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	call send_lmp_follow
+	bpatchx patch30_3,mem_patch30
+	fetch 1,mem_lmi_opcode
+	beq LMP_IN_RAND,send_lmp_accepted_inrand
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_accepted_enc_mode
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_accepted_enc_key
+	beq LMP_SNIFF_REQ,send_lmp_accept_sniff_req
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_accepted_connection
+	beq LMP_DHKEY_CHECK,send_lmp_accept_dhkey_check
+	beq LMP_START_ENCRYPTION_REQ,send_create_conn_start_l2cap_timer_sm  
+	rtn	
+	
+send_create_conn_start_l2cap_timer_sm:
+	fetch 1,mem_conn_sm
+	rtn blank
+	jam CONN_SM_WAIT_DONE,mem_conn_sm
+	setarg TIMER_ENPT_WAITE
+	arg enpt_delay_timer,queue
+	branch timer_init
+	
+send_lmp_accept_sniff_req:
+	branch sniff_init
+send_lmp_not_accepted:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	beq LMP_AU_RAND,send_not_accept_aurand
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+
+send_not_accept_aurand:
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	arg mem_sres_tid,temp
+	branch special_tid_store
+
+send_lmpext_accepted:	
+	force 4,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	branch send_lmp_follow
+
+send_lmpext_not_accepted:
+	force 5,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+	
+
+send_lmp_accepted_inrand:
+	call clear_linkkey
+	call tid_check	
+	rtn true
+	branch lmp_generate_key
+
+send_lmp_accepted_enc_mode:
+	fetch 1,mem_op
+	bbit1 op_start_enc,send_lmp_accepted_enc_start
+	rtnbit0 op_stop_enc
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	set0 op_stop_enc,pdata
+	call tid_reply
+	branch send_lmp_accepted_enc_exit
+send_lmp_accepted_enc_start:
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	set0 op_start_enc,pdata
+send_lmp_accepted_enc_exit:
+	store 1,mem_op
+	rtn
+
+send_lmp_accepted_enc_key:
+	call check_localsm
+	branch lmp_start_encryption,true
+	rtn
+
+send_lmp_accepted_connection:
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+send_lmp_accept_dhkey_check:
+	rtn
+/******** LMP reply messages **********/
+/****** TID always set to remote  *******/
+
+send_lmpext_features_res:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_reply
+send_lmpext_io_cap_res:     
+	force 5,queue
+         call send_lmpext
+       	fetch 3,mem_sp_iocap_local
+         istore 3,contw
+	call send_lmp_reply
+	jam FLAG_PAIRING_STATE_PAIRING,mem_flag_pairing_state
+	fetch 1,mem_sp_iocap_local
+	beq DISPLAY_YESNO,responder_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_keyboard_only_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_keyboard_only_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output
+	rtn
+
+
+responder_iocap_display_yesno:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_display_yesno_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_display_yesno_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_display_yesno_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_display_yesno_initiator_iocap_no_input_no_output
+	rtn
+
+	
+responder_iocap_no_input_no_output:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_no_input_no_output_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_no_input_no_output_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+set_ssp_mode_justwork: 
+	jam SSP_MODE_JUST_WORK_FLAG,mem_ssp_mode_flag
+	fetch 1,mem_classic_bt_flag
+	bbit1 FLAG_SSP_REJECT_JUSTWORK,app_bt_disconnect
+	rtn
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+set_ssp_mode_numeric_comparison: 
+	jam SSP_MODE_SSP_PIN_FLAG,mem_ssp_mode_flag
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+responder_iocap_keyboard_only_initiator_iocap_keyboard_only:	
+responder_iocap_keyboard_only_initiator_iocap_display_only:	
+responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+set_ssp_mode_passkey: 
+	jam SSP_MODE_PASSKEY_ENTRY_FLAG,mem_ssp_mode_flag
+	rtn
+
+
+classic_bt_set_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_set_flag
+
+classic_bt_clr_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_clr_flag
+
+classic_bluetooth_set_flag:
+	fetch 1,mem_classic_bt_flag
+	qset1 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+classic_bluetooth_clr_flag:
+	fetch 1,mem_classic_bt_flag
+	qset0 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+         
+send_lmp_io_cap_req:
+	force 5,queue
+	call send_lmpext
+	fetch 3,mem_sp_iocap_local
+	istore 3,contw
+	branch send_lmp_request
+	
+
+send_lmpext_sniff_subrating_req: 
+
+	rtn
+send_lmpext_sniff_subrating_res: 
+         force 9,queue
+         call send_lmpext
+         fetch 1,mem_subsniff_rate
+         istore 1,contw
+         fetch 2,mem_subsniff_tcmax
+         istore 2,contw
+         fetch 4,mem_subsniff_instant
+         istore 4,contw
+	branch send_lmp_reply
+
+send_lmp_name_res:
+	force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode  /* loading name offset */
+	copy pdata,temp
+	beq 0x00,send_lmp_name_res_offset_ok
+	beq 0x0e,send_lmp_name_res_offset_ok
+	beq 0x1c,send_lmp_name_res_offset_ok
+	rtn
+send_lmp_name_res_offset_ok:
+	istore 1,contw	/* writing name offset */
+	fetch 1,mem_local_name_length
+	istore 1,contw	/* writing name length */
+	arg 14,loopcnt
+	setarg mem_local_name
+	iadd temp,contr	/* setting read location */
+	call memcpy
+	branch send_lmp_reply
+
+
+send_lmp_timing_accuracy_res:
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_clkoffset_res:
+	// dopod s505 must wait for this res
+	force 3,pdata
+	call msg_send_lmp
+	fetch 4,mem_clke_bt
+	isub clkn_bt,pdata
+	branch send_lmp_clkoffset_res_master,master
+	sub pdata,0,pdata		/* our role is slave */
+send_lmp_clkoffset_res_master:	
+	// bit 16-2 of clkslave-clkmaster
+	rshift2 pdata,pdata
+	set0 15,pdata
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_version_res:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_reply
+
+send_lmp_features_res:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_reply  
+
+
+/******** LMP request messages **********/
+/****** TID always set to local initiated *******/
+	
+
+send_lmpext_features_req:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_request
+
+send_lmpext_packet_type_table_req:
+	force 3,queue
+	call send_lmpext
+	fetch 1,mem_ptt
+	istore 1,contw
+	disable user
+	call send_lmp_request
+	nrtn user
+	nrtn master
+	fetch 1,mem_afh_cfg
+	rtnbit0 AFH_CFG_ON
+	call afh_init
+	branch afh_open_all_channels
+	
+//default:featrue is enable,extfeature is disable
+ssp_enable:
+	bpatchx patch30_4,mem_patch30
+	fetch 1,mem_features+6
+	set1 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg param_lmpext_ssp_enable
+	store 2,mem_lmpext_ssp_enable
+	rtn
+
+ssp_disable:
+	bpatchx patch30_5,mem_patch30
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0
+	store 2,mem_lmpext_ssp_enable
+	rtn
+	
+afh_init:
+	jam 0x3,mem_afh_cfg
+	setarg 0
+	store 4,mem_afh_timer
+	arg mem_afh_map_lo,contw
+	call afh_reset_map
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	arg mem_afh_classify_channel_map,contw
+	call afh_reset_map
+	branch afh_clear_error_counter
+afh_open_all_channels:
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	call afh_clear_error_counter
+	branch afh_set_send_flag
+
+
+afh_reset_map:
+	setarg 0xffffff
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	setarg 0x7f
+	istore 1,contw
+	rtn
+afh_clear_error_counter:
+	setarg 0
+	store 2,mem_afh_error_total
+	rtn
+afh_set_send_flag:
+	fetch 1,mem_afh_cfg
+	set1 send_lmp_set_afh,pdata
+	store 1,mem_afh_cfg
+	rtn
+
+
+send_lmpext_pause_encryption_req:
+	force 2,queue
+	call send_lmpext
+	nbranch send_lmp_reply,master
+	// assume slave will not send pause req firstly???
+	branch send_lmp_request
+
+
+	
+send_lmp_detach:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+prepare_disconnect:
+	fetch 1,mem_op
+	set1 op_disconn,pdata
+	store 1,mem_op
+	jam 50,mem_conn_timer
+	rtn
+	
+
+send_lmp_no_payload:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_nopayload_reply:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_reply
+	
+	
+send_lmp_encryption_mode_req:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_state_map
+	isolate0 smap_encryption,pdata
+	setflag true,0,pdata
+	and_into 1,pdata
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_superto:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 2,mem_supervision_to
+	istore 2,contw
+	branch send_lmp_request
+
+send_lmp_name_req:
+	jam 250,mem_conn_timer
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_name_offset
+	istore 1,contw
+	branch send_lmp_request
+
+send_lmp_test_control:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_temp_payload,contr
+	force 9,loopcnt
+send_lmp_test_control_loop:	
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop send_lmp_test_control_loop
+	branch send_lmp_request  
+
+send_lmp_quality_of_service_req:
+	branch send_lmp_request
+send_lmp_unit_key:
+	branch send_lmp_request
+
+send_lmp_slot_offset:
+	rtn master
+	call calc_slot_offset
+	force 9,pdata
+	call msg_send_lmp
+	fetch 2,mem_slot_offset
+	istore 2,contw
+	fetch 3,mem_lap
+	istore 3,contw
+	fetch 1,mem_uap
+	istore 1,contw
+	fetch 2,mem_nap
+	istore 2,contw
+	bmark0 mark_switch_initiated,send_lmp_slot_offset_reply
+	set0 mark_switch_initiated,mark
+	call send_lmp_request
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_slot_offset_reply:
+	call send_lmp_reply
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	rtn
+	
+send_lmp_switch_req:
+	arg 0x200,temp
+	branch switch_on_native,master
+	deposit clke_bt
+	branch switch_slack
+switch_on_native:
+	deposit clkn_bt
+switch_slack:
+	deposit bt_clk
+	iadd temp,pdata
+	and_into 0x1fc,pdata
+	store 4,mem_sniff_anchor
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_sniff_anchor		/* reused as switch instant */
+	rshift pdata,pdata
+	istore 4,contw
+	branch send_lmp_request
+	
+send_lmp_sniff_req:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_sniff_payload,contr
+	ifetch 9,contr
+	istore 9,contw
+	branch send_lmp_request
+
+	
+send_lmp_timing_accuracy_req:
+/* default to TID_NORM_SEND */
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_request
+	
+send_lmp_unsniff_req:
+//--------------------need to completa
+	force 1,pdata
+	call msg_send_lmp
+	//fetch 1,mem_unsniff_pending
+	//nbranch send_msg_done,blank
+	//jam 1,mem_unsniff_pending
+	//fetch 2,mem_sniff_attempt
+	//fetch 2,mem_nsniff_attempt
+	//lshift3 pdata,pdata
+	//lshift pdata,pdata
+	//store 1,mem_unsniff_cnt
+	branch send_lmp_request
+
+	
+send_lmp_max_slot:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_max_slot
+	istore 1,contw
+	branch send_lmp_request
+	
+	
+send_lmp_max_slot_req:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x05		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_inc_power:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x00		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_setup_complete_by_module:
+	jam LMP_MAX_SLOT_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_setup_complete:
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call send_lmp_setup_complete_by_module,zero
+	fetch 1,mem_state
+	set1 state_conn_comp,pdata
+	store 1,mem_state
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	fetch 1,mem_lmp_conn_state
+	bbit1 SENT_SETUP_COMPLETE,send_lmp_setup_complete_has_sent
+	set1 SENT_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_SETUP_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_setup_complete_has_sent:
+	jam 0,mem_lmp_to_send
+	rtn
+	
+send_lmp_version_req:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_request
+
+send_lmp_features_req:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_request  
+
+sp_master_send_io_cap_get:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	jam SP_MASTER_STAT_START_DONE,mem_master_sp_state
+	rtn
+
+sp_master_send_io_cap_send:
+	call tid_initiate
+	jam LMP_IO_CAP_REQ,mem_lmo_opcode2
+	jam SP_STAT_KEY_SEND,mem_master_sp_state
+	rtn
+	
+	
+sp_master_send_LMP_ENCAPSULATED_HEADER:
+	call tid_initiate
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	jam SP_STAT_RANDOM_SEND,mem_master_sp_state
+	rtn
+	
+sp_master_commitment_compare:
+	arg mem_sp_calc_result_high,rega
+	arg mem_sp_confirm_remote,regb
+	arg 16,loopcnt
+	call string_compare
+	branch sp_master_commitment_compare_success,zero
+	jam SP_STAT_NULL,mem_master_sp_state
+ifdef SIMPLE_PAIRING
+	call master_clear_mem_master_sp_flag
+endif
+	jam   PDU_NOT_ALLOWED,mem_lmo_reason2
+	jam 	LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2 
+ifdef LMP_DBG
+	call ice_break
+endif
+	branch reject_lmp_packet
+sp_master_commitment_compare_success:
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+ifdef SIMPLE_PAIRING
+	call master_set_mem_master_sp_flag
+endif
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	branch accept_lmp_msg  
+	
+
+	
+sp_master_send_lmp_simple_pairing_number:
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+	
+
+
+sp_send_lmp_encapsulated_header:
+	// calculate the private & public key here
+	//jam      LMP_ENCAPSULATED_HEADER,mem_lmp_to_send
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	//jam      TID_PAIRING,mem_lmp_tid
+	rtn
+	//fetch 1,mem_tid_table
+	//set1 TID_PAIRING,pdata
+	//store 1,mem_tid_table
+     
+    
+send_lmp_encapsulated_header: 
+	jam 0,mem_sp_local_key_send_count
+	force 4,pdata
+	call msg_send_lmp
+	force ENCAPSULATED_MAJOR_TYPE_P192,pdata
+	istore 1,contw
+	force ENCAPSULATED_MINOR_TYPE_P192,pdata
+	istore 1,contw  
+	force ENCAPSULATED_LEN_P192,pdata
+	istore 1,contw 
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+
+send_lmp_encapsulated_payload:
+	//jam      TID_PAIRING,mem_lmp_tid
+	 force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_sp_local_key_send_count
+	arg mem_sp_pubkey_local,contr
+	iadd contr,contr    
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	fetch    1,mem_sp_local_key_send_count
+	increase 16,pdata
+	store    1,mem_sp_local_key_send_count
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+	//branch send_lmp_request
+	
+sp_send_lmp_simple_pairing_comfirm:
+        jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        jam      LMP_SIMPLE_PAIRING_CONFIRM,mem_lmo_opcode2
+        rtn
+send_lmp_simple_pairing_comfirm:
+        //jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        //jam      TID_PAIRING,mem_lmp_tid
+        force    17,pdata
+        call msg_send_lmp   
+        arg      mem_sp_calc_result_high,contr
+        ifetch   8,contr
+        istore   8,contw
+        ifetch   8,contr
+        istore   8,contw 
+        branch send_lmp_reply
+
+sp_send_lmp_simple_pairing_number:
+	jam      LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+
+send_lmp_simple_pairing_number:
+	//jam      TID_PAIRING,mem_lmp_tid
+	call check_localsm
+ifdef SIMPLE_PAIRING
+	call sp_local_random_key_generator,true
+endif
+	force    17,pdata
+	call msg_send_lmp
+	arg      mem_sp_random_local,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+master_sp_sm_end:
+	//jam DEFAULT_STATEMACHINE,mem_sp_localsm
+	jam SP_STAT_DONE,mem_master_sp_state
+sp_aurand_send:
+	call tid_initiate
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	call check_localsm_master
+ifdef SIMPLE_PAIRING
+	branch sp_master_key_prarm_push,true
+	branch sp_link_key_prarm_push
+endif
+master_sp_send_lmp_dhkey_check:
+	call tid_reply
+sp_send_lmp_dhkey_check: 
+	jam      LMP_DHKEY_CHECK,mem_lmo_opcode2
+	rtn
+send_lmp_dhkey_check: 
+	//jam      TID_PAIRING,mem_lmp_tid
+	force    17,pdata
+	call     msg_send_lmp
+	arg      mem_sp_calc_result_high,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw 
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+send_lmp_enc_key_size_mask_res:
+	force 3,pdata
+	call msg_send_lmp   
+	setarg 0xfffe //enc key size mask
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_auto_rate:
+	branch send_lmp_request
+send_lmp_clkoffset_req:
+	branch send_lmp_request
+send_lmp_quality_of_service:
+	branch send_lmp_request
+send_lmp_test_activate:
+	branch send_lmp_request
+
+/******** LMP request/reply messages **********/
+/****** TID transaction specific *******/
+
+send_lmp_comb_key:
+	call generate_random_number
+	arg mem_lap,rega
+	call generate_linkkey
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_kinit,rega
+	arg mem_random_number,regb
+	call xor16
+	nbranch send_lmp_follow,master
+	branch send_lmp_tid
+
+send_lmp_inrand:
+	call generate_random_number
+	arg mem_plap,rega
+	call generate_kinit
+send_lmp_rand:	/* used by in_rand,au_rand,start_encrypt */
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	fetch 1,mem_conn_sm 
+	beq CONN_SM_AUTH_WAIT,send_lmp_request
+	beq CONN_SM_PAIRING_WAIT,send_lmp_request
+	branch send_lmp_tid
+
+send_lmp_aurand:
+	fetch 1,mem_pairing_auth
+	branch send_lmp_aurand_notpairing,blank
+	call check_localsm
+	call tid_initiate,true
+	ncall tid_reply,true
+	branch send_lmp_aurand_common
+send_lmp_aurand_notpairing:
+	call tid_initiate
+send_lmp_aurand_common:
+	call generate_random_number
+	branch send_lmp_rand
+
+send_lmp_sres:
+	arg mem_lap,rega
+	call function_e1
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_input_store
+	istore 4,contw
+	arg mem_sres_tid,temp
+	call special_tid_store
+	call copy_aco
+	call check_localsm
+	branch send_lmp_sres_master,true
+	jam DONE_ENCRYP,mem_wait_encryption
+	fetch 1,mem_pairing_auth
+	rtn blank
+	jam LMP_AU_RAND,mem_lmo_opcode2
+send_lmp_sres_master:
+	fetch 1,mem_link_key_exists
+	rtn blank
+send_lmp_sres_startenc:
+	call check_localsm
+	nbranch send_lmp_sres_startenc_slave,true
+	fetch 1,mem_auth_enable
+	rtn blank
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+send_lmp_sres_startenc_slave:
+	rtnmark0 mark_slave_in_rand_accepted
+	set0 mark_slave_in_rand_accepted,mark
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+	
+
+	
+send_lmp_start_encryption:
+	call generate_random_number
+	call function_e3
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	branch send_lmp_tid
+
+send_lmp_stop_encryption_req:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_tid
+
+send_lmp_encryption_key_size_req:
+	force 2,pdata
+	call msg_send_lmp
+	force 16,pdata
+	istore 1,contw
+	store 1,mem_key_size
+	branch send_lmp_tid
+
+msg_send_lmp:
+/* FLOW is set high and LMP is indicated */
+	lshift3 pdata,pdata
+	or_into 0x07,pdata
+	store 1,mem_lmo_header_length
+	arg 17,loopcnt
+	arg mem_lmo_payload,contw
+	call clear_mem
+	arg mem_lmo_payload,contw
+	rtn
+
+send_lmpext:
+	and pdata,0x7f,rega
+	jam LMP_ESCAPE,mem_lmp_to_send
+	deposit queue
+	call msg_send_lmp
+	deposit rega
+	istore 1,contw
+	rtn
+
+send_lmp_follow:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptid,temp
+	setflag true,0,pdata
+	branch send_lmp_exit
+
+
+send_lmp_tid:
+	fetcht 1,mem_state_map
+	and_into 1,temp
+	branch send_lmp_end
+
+send_lmp_reply:
+	force 0,temp
+	branch send_lmp_end
+	
+send_lmp_request:
+	force 1,temp
+send_lmp_end:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	setflag master,0,pdata
+	ixor temp,pdata
+send_lmp_exit:
+	store 1,mem_lmo_header_opcode
+	jam 0,mem_lmp_to_send
+	call lmo_fifo_process_lmo0empty
+	enable user
+	rtn
+
+//blank : not full 
+lmo_fifo_check:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	call lmo_fifo_process
+	fetch 1,mem_lmo_opcode2
+	rtn
+
+lmo_fifo_process:
+	bpatchx patch30_6,mem_patch30
+	fetch 1,mem_lmp_to_send
+	branch lmo_fifo_process_lmo0empty,blank
+	fetch 1,mem_lmo_opcode1
+	nrtn blank
+	branch lmo_fifo_process_lmo2to1
+lmo_fifo_process_lmo0empty:
+	fetch 1,mem_lmo_opcode1
+	branch lmo_fifo_process_lmo1_empty,blank
+	fetch 3,mem_lmo_opcode1
+	store 3,mem_lmp_to_send//1=>0
+	fetcht 1,mem_lmo_tid1
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode1
+lmo_fifo_process_lmo2to1:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 4,mem_lmo_opcode2
+	store 4,mem_lmo_opcode1//2=>1
+	jam 0,mem_lmo_opcode2
+	rtn
+lmo_fifo_process_lmo1_empty:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 3,mem_lmo_opcode2
+	store 3,mem_lmp_to_send//2=>0	
+	fetcht 1,mem_lmo_tid2
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode2
+	rtn
+	
+//input:temp
+special_tid_store:
+	bpatchx patch30_7,mem_patch30
+	fetch 1,mem_state_map
+	copy pdata,regc
+	ifetch 1,temp
+	call pop_tid_follow
+	call send_lmp_follow
+	copy regc,pdata
+	store 1,mem_state_map
+	rtn
+	
+tid_reply:
+	fetcht 1,mem_state_map
+	set0 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+tid_initiate:
+	fetcht 1,mem_state_map
+	set1 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+	/* true if transaction from remote */
+tid_check:
+	nsetflag master,smap_lmptid,pdata //it is ok
+	fetcht 1,mem_state_map
+	ixor temp,pdata
+	isolate1 smap_lmptid,pdata
+	rtn	
+
+	/* set to remote */
+tid_set_reply:
+	fetch 1,mem_state_map
+	setflag master,smap_lmptid,pdata //it is ok
+	store 1,mem_state_map
+	rtn
+
+	/*rtn true when we lead lmp*/
+check_localsm:
+	fetch 1,mem_sp_localsm
+	compare 	LOCAL_STATEMACHINE,pdata,0x7f
+	rtn
+setlocalsm_master:
+	fetch 1,mem_sp_localsm
+	set1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+setlocalsm_slave:
+	fetch 1,mem_sp_localsm
+	set0 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+check_localsm_master:
+	fetch 1,mem_sp_localsm
+	isolate1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+	
+generate_random_number:
+	/* generating a 16 byte random number,storing in ape_random_number */
+	arg mem_random_number,contw
+generate_random:
+	force 16,loopcnt
+generate_random_another:
+generate_random_loop:
+	random pdata
+	istore 1,contw
+	loop generate_random_another
+	rtn
+
+generate_linkkey:
+	call function_e21
+	arg mem_link_key,rega
+	arg mem_input_store,regb
+	ifetch 8,rega					/* check if already got comb key */
+	fetcht 1,mem_state
+	nsetflag blank,state_combkey,temp
+	storet 1,mem_state
+	copy rega,contw
+	call  xor16
+	branch generate_linkkey_continue
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+
+process_conn_sm:
+	//nrtn master
+	bpatchx patch31_0,mem_patch31
+
+	call lmo_fifo_check
+	nrtn blank
+process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	/* state machine begins in standby */
+	//beq CONN_SM_STANDBY, host_create_conn_begin
+	//beq CONN_SM_WAIT_PAGE, host_create_conn_wait_page
+	beq CONN_SM_SEND_CONN_REQ, host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_CONN_ACCEPT, host_create_conn_wait_accept
+	beq CONN_SM_SEND_FEATURES, host_create_conn_send_features
+	beq CONN_SM_WAIT_FEATURES_RES, host_create_conn_waiting
+	beq CONN_SM_SEND_SWITCH,host_create_conn_send_switch
+	beq CONN_SM_AUTH_PAIR, host_create_conn_auth_pair
+	beq CONN_SM_AUTH_PAIR_WAIT, host_create_conn_auth_pair_wait
+	beq CONN_SM_ENCRYPT, host_create_conn_encrypt
+	beq CONN_SM_ENCRYPT_WAIT, host_create_conn_encrypt_wait
+	beq CONN_SM_ENCRYPT_WAIT_CLEAR, host_create_conn_encrypt_wait_clear
+	beq CONN_SM_SEND_SETUP_COMPLETE, host_create_conn_send_setup_complete
+	beq CONN_SM_WAIT_SETUP_COMPLETE, host_create_conn_wait_setup_complete
+	beq CONN_SM_DETACH_DELAY,host_create_conn_master_detach
+	beq CONN_SM_SEND_VERSION, host_create_conn_send_version
+	beq CONN_SM_WAIT_VERSION, host_create_conn_waiting
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION, host_creat_conn_wait_switch
+	beq CONN_SM_SEND_FEATURES_EXT,host_creat_conn_send_feat_ext
+	beq CONN_SM_WAIT_FEATURES_EXT,host_create_conn_waiting
+	beq CONN_SM_PAIRING,host_create_conn_pairing
+	beq CONN_SM_PAIRING_WAIT,host_create_conn_pairing_wait
+	beq CONN_SM_AUTH,host_create_conn_auth
+	beq CONN_SM_AUTH_WAIT,host_create_conn_auth_wait
+	beq CONN_SM_DONE,host_create_conn_done
+	beq CONN_SM_WAIT_DONE,host_create_conn_done_wait
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	rtn
+host_create_conn_done:
+	fetch 1,mem_lmp_conn_state		
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	rtnbit0 SENT_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm
+	call host_conn_judge_encrypt
+	branch scheduler_start_upper_sm
+	
+host_conn_judge_encrypt:
+	fetch 1,mem_connection_options
+	rtnbit0 CONNECTION_ENCRYPT
+	jam CONN_SM_ENCRYPT_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_done_wait:
+	arg enpt_delay_timer,queue
+	call timer_check
+	nrtn blank
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+	
+host_create_conn_auth:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_AUTH,pdata
+	store 1,mem_connection_options
+	jam CONN_SM_AUTH_WAIT,mem_conn_sm
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	rtn 
+host_create_conn_auth_wait:
+	rtn
+host_create_conn_pairing:
+	fetch 1,mem_pincode_state
+	rtnne pincode_state_pincode_ready //wait for pincode
+	call host_auth
+	jam CONN_SM_PAIRING_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_pairing_wait:
+	rtn
+host_creat_conn_send_feat_ext:
+	jam CONN_SM_WAIT_FEATURES_EXT,mem_conn_sm
+	jam LMP_EXT_FEATURES_REQ,mem_lmo_opcode2
+	rtn
+host_create_conn_send_version:
+	jam CONN_SM_WAIT_VERSION,mem_conn_sm
+	jam LMP_VERSION_REQ,mem_lmo_opcode2
+	rtn 
+	
+host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,host_create_conn_switch_accept
+	arg switch_wait_timer,queue
+	call timer_check
+	nrtn blank
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	branch host_create_conn_switch
+host_create_conn_switch_accept:
+	rtn master
+	branch host_create_conn_auth_pair
+
+host_create_conn_send_features:
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	jam LMP_FEATURES_REQ,mem_lmo_opcode2
+	rtn 
+host_create_conn_send_switch:
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	setarg 0x1ff
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_send_conn_req:
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	jam 0xff,mem_soft_timer
+	set0 mark_reconn_recieve_switch,mark
+	jam LMP_HOST_CONNECTION_REQ,mem_lmo_opcode2
+	branch init_lmp_reinit
+host_create_conn_wait_accept:
+	rtnmark1 mark_reconn_recieve_switch
+	fetch 2,mem_soft_timer
+	sub pdata,1,pdata
+	branch host_create_conn_resend,zero
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_resend:
+	jam CONN_SM_SEND_SWITCH,mem_conn_sm
+	rtn
+host_create_conn_waiting:
+	/* we will exit waiting for connection request accepted, features res, or other commands to finish */
+	rtn 
+
+host_create_conn_switch:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	jam CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,mem_conn_sm
+	rtn 
+
+host_create_conn_send_setup_complete:
+	jam CONN_SM_WAIT_SETUP_COMPLETE,mem_conn_sm	
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn 
+
+host_create_conn_wait_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm	
+
+	rtn
+host_create_conn_wait_setup_complete_rtn:	
+	jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+	rtn
+
+host_create_conn_master_detach:
+	fetch 1, mem_soft_timer
+	increase -1,pdata
+	branch host_create_conn_send_detach,blank//detach
+	store 1, mem_soft_timer
+	rtn 
+host_create_conn_send_detach:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send
+	jam 0,mem_conn_sm
+	rtn
+host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_SWITCH,host_create_conn_switch
+	bbit1 CONNECTION_AUTH,host_create_conn_auth_pair_true
+host_create_conn_sm_done:
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+host_create_conn_auth_pair_true:
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 4,mem_aurand_send_delay_time
+	arg 100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	branch host_create_conn_auth
+
+
+
+host_create_conn_auth_pair_nokey:
+	jam CONN_SM_PAIRING,mem_conn_sm
+	jam 4,mem_pin_length
+	setarg 0x3030
+	store 2,mem_pin
+	istore 2,contw
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch host_create_conn_pairing
+
+host_create_conn_auth_pair_wait:
+	rtn
+host_create_conn_encrypt:
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_ENCRYPT,host_create_conn_encrypt_start
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn 
+
+host_create_conn_encrypt_start:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT,pdata
+	store 1,mem_connection_options
+	jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2  
+	rtn
+
+host_create_conn_encrypt_wait:
+	fetch 1, mem_wait_encryption
+	rtn blank
+	jam CONN_SM_STANDBY,mem_conn_sm
+	branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+	jam CONN_SM_SEND_SETUP_COMPLETE,mem_conn_sm
+	rtn 
+
+host_auth:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,remote_auth
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+remote_auth:
+	fetch 1,mem_op
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	call tid_set_reply
+	branch cmd_exit
+
+pincode_reinit:
+	setarg 4
+	store 1,mem_pin_length
+	setarg 0x3030
+	istore 2,contw
+	istore 2,contw
+	rtn
+	
+
Index: YJX_Only24g/FCC_1021S/program/patch.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/patch.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/patch.prog	(working copy)
@@ -0,0 +1,1238 @@
+
+
+//	branch p_test_otp
+//	branch p_test_dpll
+//	branch p_test_xtal
+//	branch p_snooze
+//	branch p_start
+//	branch p_lpm_sleep
+	
+
+
+	
+/******************************************/
+/**************   Start   *****************/
+/******************************************/
+p_start:
+	call p_pause_c51
+	//call p_gpio
+	call p_clean_mem
+	call p_init_param
+	call p_initialize_radio
+	call p_xtal_test
+	hjam 0x21,core_clkoff			// enable debug uart
+
+	fetcht 1,mem_lbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_rbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_mbutton_gpio
+	call gpio_config_input
+//p_p:
+	//call p_test_check_paramer_change
+	//loop p_p
+
+
+	call iic_init_390k
+
+	setarg 0x0200
+	store 2,mem_device_flag
+	arg 2,temp
+	arg mem_device_flag,rega
+	setarg 0
+	call  iicd_write_eep
+	
+	call pp_pn9
+	branch p_test_tx_new_param
+
+p_mouse_check_key_gpio:
+	arg 0,rega
+	call p_mouse_check_lkey_gpio
+	call p_mouse_check_rkey_gpio
+	call p_mouse_check_mkey_gpio
+	copy rega,pdata
+	rtn
+p_mouse_check_rkey_gpio:
+	fetcht 1,mem_rbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega			//true = 1,input low level
+	rtn
+p_mouse_check_mkey_gpio:
+	fetcht 1,mem_mbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega			//true = 1,input low level
+	rtn
+	
+p_mouse_check_lkey_gpio:
+	fetcht 1,mem_lbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega			//true = 1,input low level
+	rtn
+
+p_gpio_set_input_pd:
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set1 gpio_active_bit,temp
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd+4
+
+
+	
+p_xtal_test:
+	jam 0x8f,mem_lpm_config
+	jam 0x10,mem_lpm_config +1
+	jam 0xca,mem_lpm_config +2
+	branch init_lpm_ctrl
+	
+p_clean_mem:
+	arg 0x0,contw
+	arg 0x400,loopcnt
+	call p_memset0
+ifndef REVA
+	hfetch 1,core_misc_status
+	rtnbit0 2
+endif
+	arg 0x4000,contw
+	arg 0x200,loopcnt
+	call p_memset0
+	rtn
+
+p_memset0:
+	force 0,pdata
+p_memset8:
+	istore   8,contw
+	loop p_memset8
+	rtn
+p_init_param:
+	setarg param_features0
+	store 3,mem_features
+	setarg param_features1
+	set0 2,pdata			// disable edr3m
+	istore 3,contw
+	setarg param_features2
+	istore 2,contw
+	setarg param_lap
+	store 3,mem_lap
+	setarg param_unap
+	store 3,mem_uap
+	setarg param_glap
+	store 3,mem_glap
+	setarg param_tisw
+	store 2,mem_iscan_window
+	setarg param_tisi
+	store 2,mem_iscan_interval
+	setarg 0x200
+	store 2,mem_pscan_window
+	setarg param_tpsi
+	store 2,mem_pscan_interval
+	setarg param_inq_window
+	store 2,mem_inq_window
+	setarg param_page_window
+	store 2,mem_page_window
+	setarg param_page_to
+	store 2,mem_page_to
+	setarg param_lmp_version
+	store 3,mem_lmp_version
+	setarg param_lmp_subversion
+	store 2,mem_lmp_subversion
+	jam param_name_len,mem_local_name_length
+	setarg param_name
+	store 3,mem_local_name
+	setarg param_name1
+	store 3,mem_local_name2
+	jam param_fcomp_mul,mem_fcomp_mul
+	jam 0x60,mem_fhs_misc		/* R1 for 1.28s ps interval,P2 */
+	jam param_max_slot,mem_max_slot
+	//jam 1,mem_ptt
+	jam 3,mem_scan_mode
+	rtn
+p_initialize_radio:
+
+	hjam clksel_rc,core_clksel
+
+/*MAX TX IQ&DC*/
+//	hjam 0x02,0x907
+//	hjam 0x1f,0x908
+//	hjam 0x1f,0x909
+//	hjam 0xe0,0x90a
+//	hjam 0x41,0x90b
+/*MAX TX IQ&DC*/
+
+
+
+	//MAX TX IQ&DC for TX_0MIF, 2015_014_#12
+	hjam 0x00,0x907 //0M_IF
+	hjam 0x00,0x908
+	hjam 0x00,0x909
+	hjam 0xff,0x90a
+	hjam 0xff,0x90b	 //ff,Albert_AGC_disable
+	//hjam 0xe0,0x90a //Alberts
+	//hjam 0x44,0x90b //Alberts
+	//hjam 0xe4,0x90b	 //temp, Albert_AGC_enable/disable
+	
+/*
+	//MAX TX IQ&DC for TX_1MIF, 2015_014_#12//
+	hjam 0x7f,0x907 //1M_IF
+	hjam 0x01,0x908
+	hjam 0x1f,0x909
+	hjam 0xf8,0x90a
+	hjam 0xff,0x90b	 //for EDR&BR
+	//hjam 0x5f,0x90b		//for BLE
+	//MAX TX IQ&DC for yc1021D_#12 only//
+	//tmp
+	//hjam 0x00,0x907 //1M_IF
+	//hjam 0x00,0x908
+*/
+
+	//hjam 0x36,0x90f		/*For BLE, tune AGC_gain_offset, Max added*/
+	hjam 0x2e,0x90f			/*For BR/EDR, tune AGC_gain_offset, Max added*/
+
+	hjam 0x47,rf_agc_ctrl		/* invert demod, demod_clkoff , Max changed*/
+	//freeze gain table
+	//hjam 0xc5,0x911 //C5, LNA=110, Mixer=00, BPF=0101
+	
+	//hjam 0x01,0x953			/* rccal_sel*, no USE, will be set by 0x8951/
+         hjam 0xba,0x94b
+	hjam 0xfb,0x94c			/* rx sensitivity, dac_reg2, Max changed */
+	hjam 0xef,0x94d
+	hjam 0xec,0x94e			/* push tia_bias for better sen, Max changed */
+	hjam 0x5e,0x94f			/* tia_rc_en, Max changed */
+	
+	hjam 0x88,0x96f
+	hjam 0x00,0x973			/* turn off charge pump */
+
+	hjam 0x4a,0x895a
+	//hjam 0x26,0x895a
+	hjam 0x80,0x895c
+	//hjam 0x60,0x895c
+jam 0x20,mem_fcc_data_new
+jam 1,mem_fcc_ch_new
+
+//temp for lower RX current
+/*
+hjam 0x5b,0x94c  //original, hjam 0xfb,0x94c
+hjam 0x96,0x94d  //original, hjam 0xef,0x94d
+hjam 0x30,0x95c  //original, hjam 0x80,0x95c
+hjam 0x46,0x94f  //original, hjam 0x5e,0x94f
+*/
+
+
+/*
+      //default AGC setting
+	hjam 0xf5,0x91a 
+	hjam 0xc0,0x931 
+	hjam 0xc1,0x932 
+	hjam 0xc2,0x933 
+	hjam 0xc3,0x934 
+	hjam 0xc4,0x935 
+	hjam 0xc5,0x936 
+	hjam 0x04,0x937 
+	hjam 0x05,0x938 
+	hjam 0x06,0x939 
+	hjam 0x15,0x93A 
+	hjam 0x16,0x93B 
+	hjam 0x55,0x93C 
+	hjam 0x56,0x93D 
+	hjam 0x57,0x93E 
+	hjam 0x66,0x93F 
+	hjam 0x67,0x940 
+	hjam 0xa6,0x941 
+	hjam 0xa7,0x942 
+	hjam 0xa8,0x943 
+	
+//	hjam 0xb7,0x944
+//	hjam 0xf6,0x945
+//	hjam 0xf7,0x946
+//	hjam 0xf8,0x947
+	hjam 0x68,0x944
+	hjam 0x75,0x945
+	hjam 0xb5,0x946
+	hjam 0xf5,0x947
+	
+	hjam 0xa9,0x930   
+	hjam 0xb1,0x92f   //should be b2
+	hjam 0xb9,0x92e  //should be bq  
+	hjam 0xb5,0x92d  //should be b6
+
+
+	
+	hjam 0xc0,0x948 
+	hjam 0xff,0x949   
+	
+*/
+
+	/*
+      //AGC Table Setting Aggresive, Based on BR_sen, Max added
+	hjam 0xa9,0x930 //hjam 0x9D,0x930	
+	hjam 0xb1,0x92f //hjam 0xA1,0x92f	
+	hjam 0xb9,0x92e //hjam 0xA9,0x92e		
+	hjam 0xAE,0x92d	
+	hjam 0xB2,0x92c	
+	hjam 0xB6,0x92b	
+	hjam 0xBA,0x92a	
+	hjam 0xBE,0x929	
+	hjam 0xC2,0x928	
+	hjam 0xC6,0x927	
+	hjam 0xCA,0x926	
+	hjam 0xCE,0x925	
+	hjam 0xD2,0x924	
+	hjam 0xD6,0x923	
+	hjam 0xDA,0x922	
+	hjam 0xDE,0x921	
+	hjam 0xE2,0x920	
+	hjam 0xE6,0x91f	
+	hjam 0xEA,0x91e	
+	hjam 0xEE,0x91d	
+	hjam 0xF2,0x91c	
+	hjam 0xF6,0x91b	
+	hjam 0xFB,0x91a	
+	
+	hjam 0xf5,0x947 //hjam 0xF8,0x947	
+	hjam 0xe5,0x946 //hjam 0xE9,0x946	
+	hjam 0xd5,0x945 //hjam 0xD9,0x945	
+	hjam 0xA8,0x944	
+	hjam 0x69,0x943	
+	hjam 0x68,0x942	
+	hjam 0x29,0x941	
+	hjam 0x28,0x940	
+	hjam 0xE9,0x93f	
+	hjam 0xE8,0x93e	
+	hjam 0xD9,0x93d	
+	hjam 0xD8,0x93c	
+	hjam 0xC9,0x93b	
+	hjam 0xC8,0x93a	
+	hjam 0xC7,0x939	
+	hjam 0xC6,0x938	
+	hjam 0xC5,0x937	
+	hjam 0xC4,0x936	
+	hjam 0xC3,0x935	
+	hjam 0xC2,0x934	
+	hjam 0xC1,0x933	
+	hjam 0xC0,0x932	
+	hjam 0x80,0x931	
+	hjam 0x7f,0x94a	
+	hjam 0x80,0x949	
+	hjam 0x00,0x948	
+	*/
+
+
+	/*
+	//AGC Table Setting Normal, Based on 8PSK_sen, Max added
+	hjam 0xa9,0x930 //hjam 0x9D,0x930	
+	hjam 0xb1,0x92f //hjam 0xA1,0x92f	
+	hjam 0xb9,0x92e //hjam 0xA9,0x92e	
+	hjam 0xAD,0x92d	
+	hjam 0xB2,0x92c	
+	hjam 0xB6,0x92b	
+	hjam 0xBA,0x92a	
+	hjam 0xBE,0x929	
+	hjam 0xC2,0x928	
+	hjam 0xC6,0x927	
+	hjam 0xCA,0x926	
+	hjam 0xCE,0x925	
+	hjam 0xD2,0x924	
+	hjam 0xD6,0x923	
+	hjam 0xDA,0x922	
+	hjam 0xDE,0x921	
+	hjam 0xE2,0x920	
+	hjam 0xE6,0x91f	
+	hjam 0xEA,0x91e	
+	hjam 0xEE,0x91d	
+	hjam 0xF2,0x91c	
+	hjam 0xF6,0x91b	
+	hjam 0xFB,0x91a	
+	
+	hjam 0xf5,0x947 //hjam 0xF8,0x947	
+	hjam 0xe5,0x946 //hjam 0xE9,0x946	
+	hjam 0xd5,0x945 //hjam 0xD9,0x945	
+	hjam 0xD8,0x944	
+	hjam 0x99,0x943	
+	hjam 0x98,0x942	
+	hjam 0x59,0x941	
+	hjam 0x58,0x940	
+	hjam 0x19,0x93f	
+	hjam 0x18,0x93e	
+	hjam 0xD9,0x93d	
+	hjam 0xD8,0x93c	
+	hjam 0xC9,0x93b	
+	hjam 0xC8,0x93a	
+	hjam 0xC7,0x939	
+	hjam 0xC6,0x938	
+	hjam 0xC5,0x937	
+	hjam 0xC4,0x936	
+	hjam 0xC3,0x935	
+	hjam 0xC2,0x934	
+	hjam 0xC1,0x933	
+	hjam 0xC0,0x932	
+	hjam 0x80,0x931	
+	hjam 0x7f,0x94a	
+	hjam 0xe0,0x949	
+	hjam 0x00,0x948	
+	*/
+        
+
+/*	
+	//AGC Table Setting Conservative, Based on 8PSK_sen, Max added
+	hjam 0x9d,0x930 //hjam 0xa9,0x92f, for C_version only 	
+	hjam 0xa1,0x92f //hjam 0xb1,0x92f, for C_version only
+	hjam 0xa9,0x92e //hjam 0xb9,0x92e, for C_version only
+	hjam 0xAD,0x92d	
+	hjam 0xB1,0x92c	
+	hjam 0xB5,0x92b	
+	hjam 0xBA,0x92a	
+	hjam 0xBE,0x929	
+	hjam 0xC2,0x928	
+	hjam 0xC6,0x927	
+	hjam 0xCA,0x926	
+	hjam 0xCE,0x925 //hjam 0xb9,0x925, only changed for BQB_C1_#7
+	hjam 0xD2,0x924	
+	hjam 0xD6,0x923	
+	hjam 0xDA,0x922	
+	hjam 0xDE,0x921	
+	hjam 0xE2,0x920	
+	hjam 0xE6,0x91f	
+	hjam 0xEA,0x91e	
+	hjam 0xEE,0x91d	
+	hjam 0xF2,0x91c	
+	hjam 0xF6,0x91b	
+	hjam 0xFB,0x91a
+	
+	hjam 0xf8,0x947 //hjam 0xf5,0x947, for C_version only
+	hjam 0xE9,0x946 //hjam 0xe5,0x946, for C_version only	
+	hjam 0xD9,0x945 //hjam 0xd5,0x945, for C_version only	
+	hjam 0xD8,0x944	
+	hjam 0xC9,0x943	
+	hjam 0xC8,0x942	
+	hjam 0x89,0x941	
+	hjam 0x88,0x940	
+	hjam 0x87,0x93f	
+	hjam 0x48,0x93e	
+	hjam 0x09,0x93d	
+	hjam 0x08,0x93c //hjam 0xd5,0x93c, only changed for BQB_C1_#7
+	hjam 0xC9,0x93b	
+	hjam 0xC8,0x93a	
+	hjam 0xC7,0x939	
+	hjam 0xC6,0x938	
+	hjam 0xC5,0x937	
+	hjam 0xC4,0x936	
+	hjam 0xC3,0x935	
+	hjam 0xC2,0x934	
+	hjam 0xC1,0x933	
+	hjam 0xC0,0x932	
+	hjam 0x80,0x931
+	
+	hjam 0x7f,0x94a	
+	hjam 0xf8,0x949	
+	hjam 0x00,0x948	
+
+*/
+
+	//AGC Table Setting Conservative, Based on 8PSK_sen, Max added for YC1021D
+	hjam 0xa9,0x930 	
+	hjam 0xad,0x92f 
+	hjam 0xb1,0x92e 
+	hjam 0xb5,0x92d	
+	hjam 0xb9,0x92c	
+	hjam 0xbd,0x92b	
+	hjam 0xc2,0x92a	
+	hjam 0xc6,0x929	
+	hjam 0xca,0x928	
+	hjam 0xce,0x927	
+	hjam 0xd2,0x926	
+	hjam 0xd6,0x925 
+	hjam 0xda,0x924	
+	hjam 0xde,0x923	
+	hjam 0xe2,0x922	
+	hjam 0xe6,0x921	
+	hjam 0xea,0x920	
+	hjam 0xee,0x91f	
+	hjam 0xf2,0x91e	
+	hjam 0xf6,0x91d	
+	hjam 0xfb,0x91c	
+	hjam 0xfb,0x91b	
+	hjam 0xfb,0x91a
+	
+	hjam 0xf5,0x947 
+	hjam 0xe6,0x946 
+	hjam 0xD7,0x945 
+	hjam 0xD6,0x944	
+	hjam 0xC7,0x943	
+	hjam 0xC6,0x942	
+	hjam 0x87,0x941	
+	hjam 0x86,0x940	
+	hjam 0x85,0x93f	
+	hjam 0x46,0x93e	
+	hjam 0x07,0x93d	
+	hjam 0x06,0x93c 
+	hjam 0xC7,0x93b	
+	hjam 0xC6,0x93a	
+	hjam 0xC5,0x939	
+	hjam 0xC4,0x938	
+	hjam 0xC3,0x937	
+	hjam 0xC2,0x936	
+	hjam 0xC1,0x935	
+	hjam 0xC0,0x934	
+	hjam 0x80,0x933	
+	hjam 0x80,0x932	
+	hjam 0x80,0x931
+	
+	hjam 0x7f,0x94a	
+	hjam 0xf8,0x949	
+	hjam 0x00,0x948	
+
+
+		
+/*
+	//Tx Pout related 0dbm
+	hjam 0xd0, 0x955  //hjam 0xd8, 0x955 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	hjam 0xe0, 0x956   //hjam 0xce, 0x956 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	hjam 0x4c, 0x957
+	hjam 0x6c, 0x958
+	hjam 0x50, 0x959//0dbm
+	//hjam 0x10,0x959//5dbm
+*/
+	//Tx Pout related 3dbm
+	hjam 0xd0, 0x955  //hjam 0xd8, 0x955 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	hjam 0xe0, 0x956   //hjam 0xce, 0x956 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	hjam 0x88, 0x957
+	hjam 0x3c, 0x958
+	hjam 0x10, 0x959//0dbm
+//	hjam 0x10,0x959//5dbm
+
+/*
+	//Rx low-power (standard mode)
+        //Mixer
+	hjam 0x5b, 0x94c
+	//hjam 0x8f, 0x94d   //share same reg with rx_lna
+	//LNA
+	hjam 0x96, 0x94d
+	//VCO
+	hjam 0x30, 0x95c
+	//BPF
+	hjam 0x46, 0x94f
+*/
+
+
+	setarg 0x300000
+	hstore 3,rf_clkpll_frac
+	hjam 0x64,rf_clkpll_int
+	jam 36,mem_fcomp_div
+	call p_switchto_dpllclk
+	hjam 0xe4,rf_clkpll_int
+	set1 RESET,radio_ctrl
+	force 0,radio_ctrl
+	call p_do_rccal
+	call p_set_rccal
+	rtn
+p_do_rccal:
+	hjam 0x02,rfen_adc
+	setarg 2500000
+	call p_sleep					/* wait clkpll&xtal stable */
+	hjam 0x7f,rfen_rx
+	nop 130
+	hjam 0x10,rfen_tx
+       	hjam 0x30,rf_rccal_ctrl
+	nop 200	
+	hjam 0xf0,rf_rccal_ctrl
+	force 50,loopcnt
+p_do_rccal_loop:
+	hfetch 1,rf_rccal_result
+	bbit1 5,p_do_rccal_end
+	loop p_do_rccal_loop
+p_do_rccal_end:
+	store 1,mem_rf_rccal
+	hjam 0,rfen_tx
+	hjam 0,rfen_rx
+	hjam 0x00,rfen_adc
+	rtn
+
+p_set_rccal:
+	fetch 1,mem_rf_rccal
+	set1 5,pdata
+	hstore 1,rf_rccal_ctrl
+	hfetcht 1,rf_bpf_ctrim
+	and_into 7,temp
+	lshift3 pdata,pdata
+	ior temp,pdata
+	hstore 1,rf_bpf_ctrim
+	hfetch 1,rf_bpf_ib
+	set0 bpf_rccal,pdata
+	hstore 1,rf_bpf_ib
+	hfetch 1,rf_adc_rccal
+	set0 adc_rccal,pdata
+	hstore 1,rf_adc_rccal
+	rtn
+
+p_switchto_dpllclk:
+	hfetch 1,rf_clkpll_frac+2
+	set0 4,pdata
+	set0 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	hjam 0x00,rfen_ck
+	hjam 0x70,rfen_msc
+	hjam 0xff,rfen_ck
+	hfetch 1,rf_clkpll_frac+2
+	set1 4,pdata
+	set1 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	call p_init_lpm_ctrl
+	hjam clksel_dpll,core_clksel
+	rtn
+
+p_switchto_xclk:
+	hjam 0x8,core_clksel
+	hjam 0x00,rfen_ck
+	hjam 0x70,rfen_msc
+	rtn
+
+p_init_lpm_ctrl:
+	hfetcht 3,core_lpm_ctrl
+	setarg 0x100f0f		//Max changed to lowest lpo, 150720. Change xtal's ctrim for C_#7only for BQB, 151105
+	isub temp,null
+	rtn zero
+	hstore 3,core_lpm_reg
+	hjam 0xca,core_lpm_reg+3
+	call p_lpm_write_ctrl
+	hjam 0,core_gpio_out0
+	rtn
+p_lpm_write_ctrl:
+	setarg lpmreg_sel_ctrl
+p_lpm_write:
+	until null,lpo_edge
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+p_shutdown_radio:
+	nop 100          /* flush out the last bit */  
+	//pout related, ramp down  
+	//can be deleted 
+	//hjam 0xd8, 0x955 
+	//nop 40 
+	hjam 0xd8, 0x955 
+	nop 40 
+	hjam 0xd2, 0x955  
+	nop 40  
+	//can be deleted   
+	hjam 0xd1, 0x955 
+	nop 40  
+	//hjam 0xd0, 0x955 //0db
+	//hjam 0xe0, 0x956//0db
+	//hjam 0xd0, 0x955 //5db
+	//hjam 0xe0, 0x956//5db
+	hjam 0xd0, 0x955 //3db
+	hjam 0xe0, 0x956//3db
+	force 0,radio_ctrl
+	disable is_rx
+	disable is_tx
+	pulse packet_end
+	hjam 0x0,rfen_adc
+	hjam 0,rfen_sn
+	hjam 0x70,rfen_msc
+	hjam 0x0,rfen_mdm
+	hjam 0x0,rfen_tx
+	hjam 0x0,rfen_rx
+	rtn	
+p_sleep:	
+	/* sleep pdata clocks, only even clocks are accurate */
+	rshift pdata,pdata
+	increase -3,pdata
+p_sleep_loop:	
+	increase -1,pdata
+	nbranch p_sleep_loop,zero
+	force 0,pdata
+	rtn
+p_set_sync_on:
+	//hjam 0x38,rfen_rx // otherwise DAC has 1mA more current
+	hjam 0x77,rfen_msc
+	hjam 0x03,rfen_sn
+	nop 10
+	hjam 0x83,rfen_sn
+	hjam 0x7f,rfen_msc
+	hjam 0xa7,rfen_sn
+	rtn
+p_test_tx_new_param:
+	jam 0x01,mem_fcc_mod_new
+	jam 1,mem_fcc_send_mode_new
+p_test_tx_new_param_cont:
+	jam 79,mem_fcc_ch_new
+p_test_tx_new_param_copy:
+	fetch 4,mem_fcc_param_new
+	store 4,mem_fcc_param
+
+
+p_test_tx_start:
+	fetcht 1,mem_fcc_ch
+	increase -1,temp
+	//call p_test_24g_tx_on
+p_test_24g_tx_on:	
+	fetch 1,mem_fcc_send_mode
+	beq 0,p_test_24g_tx_data
+
+	call p_set_sync_on
+	call p_set_freq_tx
+	disable enable_white
+	enable encode_fec0
+	enable is_tx
+	fetcht 1,mem_fcc_mod
+	copy temp,radio_ctrl
+	hfetch 1,0x8908
+	isolate1 3,temp
+	setflag true,5,pdata
+	hstore 1,0x8908
+	branch p_test_tx_carrier_loop
+	
+p_test_24g_tx_data:
+	call p_set_sync_on
+	call p_set_freq_tx
+	//disable enable_white
+	call p_le_enable
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	hfetch 1,0x8908
+	isolate1 3,temp
+	setflag true,5,pdata
+	hstore 1,0x8908
+p_pk:
+	arg mem_24g_common_temp,contw
+	setarg 0xcccccc
+	store 3,mem_24g_common_temp
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	arg 24,loopcnt
+	arg mem_24g_common_temp,contr
+	branch p_pnloop_stable
+
+p_pnloop_stable:
+	ifetch 1,contr
+	inject mod,8
+	loop p_pnloop_stable
+	call p_test_ble_bt_tx_off
+	setarg 12000//1ms
+	call sleep
+
+	call p_test_check_paramer_change
+
+	fetch 4,mem_fcc_param
+	fetcht 4,mem_fcc_param_new
+	isub temp,null
+	ncall p_test_tx_change_sleep,zero
+	
+	branch p_test_tx_new_param_copy
+///////////////////////////////////////////////////////////////////////////////////////////////////////////
+p_test_tx_change_sleep:
+	setarg 1200000//100ms
+	call sleep
+	setarg 1200000//100ms
+	call sleep
+	setarg 1200000//100ms
+	call sleep
+	branch p_mouse_check_key_gpio
+
+
+p_test_ble_tx_on:
+	//call p_test_ble_bt_rx_off	//close rx
+	call p_set_sync_on
+	call p_set_freq_tx
+	//disable enable_white
+	call p_le_enable
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	fetch 1,mem_fcc_data
+	hstore 1,0x8908
+	branch p_tx_data
+
+p_test_ble_bt_tx_off:
+	branch p_shutdown_radio
+
+
+p_test_rx_start:	
+	fetcht 1,mem_fcc_ch
+	increase -1,temp
+	fetch 1,mem_fcc_btble
+	compare 0x01,pdata,0x01
+	call p_test_bt_rx_on,true
+	ncall p_test_ble_rx_on,true
+p_test_rx_loop:
+	call hci_rx_packet
+	fetch 7,mem_fcc_param
+	fetcht 7,mem_fcc_param_new
+	isub temp,null
+	branch p_test_rx_loop,zero
+	branch p_test_tx_new_param
+
+
+p_test_ble_rx_on:
+	call p_test_ble_bt_tx_off	//close tx
+	call p_set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	branch rf_rx_enable
+	
+p_test_ble_bt_rx_off:
+	disable encode_fec0
+	disable encode_fec2
+	disable decode_fec0
+	disable decode_fec2
+	disable enable_crc
+	disable encrypt
+	disable enable_white
+	branch p_shutdown_radio
+	
+p_test_bt_rx_on:
+	call p_test_ble_bt_tx_off	//close tx
+	call p_set_freq_rx
+	fetcht 1,mem_fcc_mod   //.....
+	and temp,7,radio_ctrl
+	branch start_receiver
+
+//tx_l2cap_type:
+
+p_test_bt_tx_on:
+	//call p_test_ble_bt_rx_off	//close rx
+	call p_set_sync_on
+	call p_set_freq_tx
+	disable enable_white
+	enable encode_fec0
+	enable is_tx
+	fetcht 1,mem_fcc_mod
+	copy temp,radio_ctrl
+	fetch 1,mem_fcc_data
+	hstore 1,0x8908
+	beq 0,p_test_tx_data	
+p_test_tx_carrier_loop:
+	arg 30,loopcnt
+	arg mem_pn9,contr
+p_pnloop_carrier:
+	ifetch 1,contr
+	inject mod,8
+	loop p_pnloop_carrier
+	call p_test_check_paramer_change
+	fetch 4,mem_fcc_param
+	fetcht 4,mem_fcc_param_new
+	isub temp,null
+	branch p_test_tx_carrier_loop,zero
+	call p_test_tx_change_sleep
+	branch p_test_tx_new_param_copy
+p_test_check_paramer_change:
+	call p_mouse_check_key_gpio
+	beq MOUSE_M_BUTTON,p_test_switch_mode
+	beq MOUSE_L_BUTTON,p_test_switch_frequency
+	rtn
+p_test_switch_frequency:
+	fetch 1,mem_fcc_ch_new
+	beq 79,p_frequency_set_46hz
+	beq 46,p_frequency_set_2hz
+	jam 79,mem_fcc_ch_new
+	rtn
+p_frequency_set_46hz:
+	jam 46,mem_fcc_ch_new
+	rtn
+p_frequency_set_2hz:
+	jam 2,mem_fcc_ch_new
+	rtn
+p_test_switch_mode:
+	fetch 1,mem_fcc_send_mode
+	beq 0,p_set_send_mode1
+	jam 0,mem_fcc_send_mode_new
+	rtn
+p_set_send_mode1:
+	jam 1,mem_fcc_send_mode_new
+	rtn
+
+	
+p_test_tx_data:
+	fetch 1,mem_fcc_hop
+	beq 1,p_tx_data_hopping
+	
+//p_test_tx_loop_jump:
+	//hjam 0x10,0x8074
+	//enable swfine
+	//arg 0x495,stop_watch
+p_tx_data:
+	fetch 1,mem_fcc_mod
+	beq 1,p_calculate_GFSK_modulation_length
+	beq 3,p_calculate_pai4_modulation_length
+	beq 7,p_calculate_pai8_modulation_length
+	rtn
+p_calculate_GFSK_modulation_length:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_gfsk_modulation_length_dh1
+	beq 0x78,p_calculate_gfsk_modulation_length_dh3
+	beq 0xf0,p_calculate_gfsk_modulation_length_dh5
+p_calculate_gfsk_modulation_length_dh1:
+	arg 55,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_gfsk_modulation_length_dh3:
+	arg 205,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_gfsk_modulation_length_dh5:
+	arg 355,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable	
+//call ice_break
+
+
+p_calculate_pai4_modulation_length:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_pai4_modulation_length_dh1
+	beq 0x78,p_calculate_pai4_modulation_length_dh3
+	beq 0xf0,p_calculate_pai4_modulation_length_dh5
+//call ice_break
+p_calculate_pai4_modulation_length_dh1:
+	arg 105,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai4_modulation_length_dh3:
+	arg 405,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai4_modulation_length_dh5:
+	arg 705,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai8_modulation_length:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_pai8_modulation_length_dh1
+	beq 0x78,p_calculate_pai8_modulation_length_dh3
+	beq 0xf0,p_calculate_pai8_modulation_length_dh5
+//call ice_break
+p_calculate_pai8_modulation_length_dh1:
+	arg 120,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai8_modulation_length_dh3:
+	arg 590,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai8_modulation_length_dh5:
+	arg 1000,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop_stable
+p_calculate_pai4_modulation_length_hoping:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_pai4_modulation_length_dh1_hoping
+	beq 0x78,p_calculate_pai4_modulation_length_dh3_hoping
+	beq 0xf0,p_calculate_pai4_modulation_length_dh5_hoping
+//call ice_break
+p_calculate_pai4_modulation_length_dh1_hoping:
+	arg 105,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai4_modulation_length_dh3_hoping:
+	arg 405,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai4_modulation_length_dh5_hoping:
+	arg 705,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai8_modulation_length_hoping:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_pai8_modulation_length_dh1_hoping
+	beq 0x78,p_calculate_pai8_modulation_length_dh3_hoping
+	beq 0xf0,p_calculate_pai8_modulation_length_dh5_hoping
+//call ice_break
+p_calculate_pai8_modulation_length_dh1_hoping:
+	arg 120,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai8_modulation_length_dh3_hoping:
+	arg 590,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_pai8_modulation_length_dh5_hoping:
+	arg 1000,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_tx_data_hopping:
+	fetch 1,mem_fcc_mod
+	beq 1,p_calculate_GFSK_modulation_length_hoping
+	beq 3,p_calculate_pai4_modulation_length_hoping
+	beq 7,p_calculate_pai8_modulation_length_hoping
+	rtn
+p_calculate_GFSK_modulation_length_hoping:
+	fetch 1,mem_fcc_data_length
+	beq 0x19,p_calculate_gfsk_modulation_length_dh1_hoping
+	beq 0x78,p_calculate_gfsk_modulation_length_dh3_hoping
+	beq 0xf0,p_calculate_gfsk_modulation_length_dh5_hoping
+//call ice_break
+p_calculate_gfsk_modulation_length_dh1_hoping:
+	arg 55,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_gfsk_modulation_length_dh3_hoping:
+	arg 205,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_calculate_gfsk_modulation_length_dh5_hoping:
+	arg 355,loopcnt
+	arg mem_pn9,contr
+	branch p_pnloop2
+p_pnloop2:
+	ifetch 1,contr
+	inject mod,8
+	loop p_pnloop2
+	branch p_test_tx_off	//,timeout
+	call hci_rx_packet
+	fetch 7,mem_fcc_param
+	fetcht 7,mem_fcc_param_new
+	isub temp,null
+	branch p_tx_data,zero
+	call p_test_ble_bt_tx_off
+	branch p_test_tx_new_param
+
+p_test_tx_off:
+	//hjam 0,0x8074
+	call p_test_ble_bt_tx_off
+	call timer_check
+	arg 15,queue
+	setarg 12
+	call timer_init
+p_125_clk:
+	arg 15,queue
+	call timer_check
+	branch p_change_ch,blank
+	call hci_rx_packet
+	fetch 7,mem_fcc_param
+	fetcht 7,mem_fcc_param_new
+	isub temp,null
+	branch p_125_clk,zero
+	branch p_test_tx_new_param
+p_change_ch:
+	random pdata
+	store 1,mem_random_ch
+//call p_log_loop
+p_less_max:
+	fetch 1,mem_random_ch
+	sub pdata,0x50,null
+	branch p_rewrite_ch,positive
+	increase -80,pdata
+	store 1,mem_random_ch
+	branch p_less_max
+p_rewrite_ch:
+	fetch 1,mem_random_ch
+	beq 0,p_randomis0
+	beq 1,p_randomis0
+	store 1,mem_fcc_ch_new
+//call p_log_loop
+	branch p_test_tx_new_param
+p_randomis0:
+	jam 0x02,mem_fcc_ch_new
+//call p_log_loop
+	branch p_test_tx_new_param
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	//add temp,tx_freq_offset,rega			/* index to frequency */
+	add temp,1,rega			/* index to frequency */
+	call p_rf_write_freq
+	setarg param_pll_setup
+	call p_sleep
+	//tmp
+	//hjam 0x66,0x964
+	
+p_txon:
+
+	hjam 0x1,rfen_adc
+
+/*
+	hjam 0xa0,0x95c
+	hjam 0x84,0x95d
+	hjam 0x88,0x95e
+*/
+
+	hjam 0x3c,rfen_rx
+	hjam 0xe0,rfen_tx
+	hjam 0x12,0x96d			/*Max added, for best Pout*/
+	nop 10 /* wait LDOs to turn ON*/
+	hjam 0x01, rfen_mdm
+	hjam 0x3d, rfen_mdm
+	nop 10 /* wait tx blocks to turn ON*/
+	hjam 0xb7,rfen_sn
+	nop 10 /* wait tx lo buffer to turn ON*/
+	hjam 0x7d, rfen_mdm
+	//hjam 0x4a,0x895a
+	//hjam 0x26,0x895a
+	//hjam 0x80,0x895c
+	//hjam 0x70,0x895c
+	//pout ramp up
+
+
+	//hjam 0xff, 0x956   //hjam 0xce, 0x956 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down+5dbm
+	//hjam 0xc0, 0x956
+	//hjam 0xf0,0x956//0dbm
+	hjam 0xff,0x956//3dbm
+	nop 4
+
+	//can be deleted
+	hjam 0xd1, 0x955
+	nop 4
+	hjam 0xd2, 0x955
+	nop 4
+	hjam 0xd8, 0x955
+	nop 4
+
+	//hjam 0xdf, 0x955  //hjam 0xd7, 0x955 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down+5dbm
+	//hjam 0xd0, 0x955
+	//hjam 0xd8,0x955//0dbm
+	hjam 0xdf,0x955//3dbm
+	rtn
+	
+/*
+p_ch_log:
+	arg mem_log,pdata
+	store 2,mem_wptr
+	rtn
+p_log_loop:
+//copy pdata,temp
+	fetcht 1,mem_fcc_ch_new
+	fetch 2,mem_wptr
+	copy pdata,contw
+	istoret 1,contw
+	copy contw,pdata
+	store 2,mem_wptr
+	sub pdata,0x48ff ,null
+	call p_stop,zero
+	rtn
+p_stop:
+	call ice_break
+	rtn
+*/
+/*
+p_tostart:
+	jam 0x01,mem_fcc_ch_new
+	branch p_test_tx_new_param
+*/
+p_rf_write_freq:
+
+	setarg 2400
+	iadd rega,temp
+	fetch 1,mem_fcomp_mul
+	hjam 0x04,rf_pll_rstn
+	imul32 temp,pdata
+	fetcht 1,mem_fcomp_div
+	idiv temp
+	call p_wait_div_end
+	quotient rega			/* rega is FLOOR(FVCO/fcomp) */
+	remainder pdata		
+	lshift16 pdata,pdata
+	lshift4 pdata,pdata		/* pdata is frac * 2^20 */
+	idiv temp
+	call p_wait_div_end
+	quotient pdata		/* pdata is frac *2^20/fcomp */
+	lshift8 pdata,pdata
+	lshift pdata,pdata
+	ior rega,pdata
+	//increase 20,pdata
+	//setflip 0,pdata
+	hstore 4,rf_pll_intg
+
+	//tmp
+	//hjam 0x60,0x964
+	
+	hjam 0x44,rf_pll_rstn
+	//nop 500
+	hjam 0xc4,rf_pll_rstn
+	//nop 400
+	
+	/*
+	increase 1,pdata
+	nop 10
+	hstore 1,rf_pll_intg
+	nop 400
+	increase -1,pdata
+	nop 10
+	hstore 1,rf_pll_intg
+	*/
+	
+
+	rtn
+
+p_wait_div_end:	
+	rtn modone
+	branch p_wait_div_end
+pp_pn9:
+	arg 0xff,loopcnt
+ 	arg mem_pn9,contw
+  	setarg 0x1ff
+    	force 0,regb
+pp_pn9_loop:    
+    rshift3 pdata,rega
+    rshift rega,rega
+    ixor rega,rega
+    isolate1 0,rega
+    setflag true,9,pdata
+    rshift temp,temp
+    isolate1 0,pdata
+    setflag true,7,temp
+    rshift pdata,pdata
+    increase 1,regb
+    compare 0,regb,0x7
+    nbranch pp_pn9_loop,true
+    //copy temp,pdata
+    istoret 1,contw
+ //   inject mod,8
+    loop pp_pn9_loop
+    rtn
+
+	
+	/* set all unused gpio to output mode to save power */
+p_gpio:
+	hfetch 4,core_gpio_pu0
+	hfetcht 4,core_gpio_pd0
+	ior temp,pdata
+	pinvert
+	hfetcht 4,core_gpio_oe0
+	ior temp,pdata
+	hstore 4,core_gpio_oe0
+	rtn
+	
+p_pause_c51:
+	hjam 5,core_docd_ctrl
+	rtn
+
+p_assert:
+	branch p_assert
+
+p_loop:
+	branch p_loop
+
+p_le_enable:
+	enable le
+	hjam 7,rfen_ulp			/* enable ulp */
+	rtn
+p_set_freq_rx:
+		/* IF is +2MHz */
+	storet 1,mem_last_freq
+	add temp,rx_freq_offset,rega			/* index to frequency */
+	branch p_rf_write_freq
Index: YJX_Only24g/FCC_1021S/program/peripherals.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/peripherals.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/peripherals.prog	(working copy)
@@ -0,0 +1,2440 @@
+
+/* ===================== two wire SPI gpio ======================= */
+
+twspi_reset:
+	bpatchx patch31_4,mem_patch31
+	hfetch 1,core_gpio_oe3
+	arg 0x06,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 1,pdata
+	set0 2,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable
+
+twspi_reset2:
+	hfetch 1,core_gpio_oe3
+	arg 0xc0,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 6,pdata
+	set0 7,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable2
+
+twspi_disable:
+	hfetch 1,core_gpio_sel1
+	and pdata,0xfc,pdata
+	hstore 1,core_gpio_sel1  //disable spi
+	rtn
+twspi_enable:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x01,pdata
+	hstore 1,core_gpio_sel1  //enable spi
+	rtn
+twspi_enable2:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x03,pdata
+	set0 4,pdata
+	hstore 1,core_gpio_sel1  //enable spi2
+	rtn
+
+// input read reg number: pdata 
+//output reg data: pdata
+sensor_read:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn
+// input write reg number: pdata 
+sensor_write:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_write
+	call spi_ncs_disable
+	nop 100
+	rtn
+//spi gpio init .
+//0xff :disable spi ncs gpio init
+spi_ncs_gpio_init:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_config_output
+
+//nsc gpio ouput low
+spi_ncs_enable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_active
+
+//ncs gpio output high
+spi_ncs_disable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_inactive
+
+
+twspi_write:
+	branch spid_write_reg
+	
+twspi_read:
+	branch spid_read_reg
+
+
+
+/* ===================== code loading ======================= */
+
+
+read_function_aes:
+	nbranch read_function,user
+	hfetch 1,core_gpio_key2
+	or_into 0x2,pdata   	// enable aes 
+	hstore 1,core_gpio_key2
+read_function:
+	copy temp,null
+	branch read_fuction_zero,zero
+	copy regc,pc
+read_fuction_zero:
+	isolate0 0,null
+	branch set_ucode_status
+	
+/* return temp = block length */
+get_block_header:
+	force 4,temp
+get_block_header0:
+	arg mem_ucode_buf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   	// disable aes for header
+	hstore 1,core_gpio_key2
+	call read_function
+	arg 0x55aa,rega
+	fetch 2,mem_ucode_buf
+	ifetcht 2,contr
+	isub rega,null
+	rtn	
+
+read_first_block:
+	arg 2,temp
+	arg mem_ucode_ptr,rega
+	call read_function
+	fetch 2,mem_ucode_ptr
+	store 2,mem_addr_mi
+	call get_iv,user
+	rtn
+	
+get_iv:
+	arg 16,temp
+	arg mem_ucode_keybuf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	call read_function
+	arg mem_ucode_keybuf,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch do_aes_cbc					/* generate first IV */
+
+load_storage:
+	disable match
+	call get_block_header
+	nrtn zero
+	enable match
+	hjam 0x80, core_ucode_ctrl
+	hjam 0,core_ucode_hi
+	hjam 0,core_ucode_low
+	arg core_ucode_data,rega
+	call read_function_aes
+	hjam 0x0, core_ucode_ctrl
+load_storage_loop:
+	arg 6,temp
+	call get_block_header0
+	nrtn zero
+	ifetch 2,contr
+	iforce rega
+	call read_function
+	branch load_storage_loop
+
+	
+	/* only load memory data from eeprom */
+reload_eeprom:
+	call clean_mem
+	setarg 0x1000
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	arg 2,loopcnt
+reload_eeprom_loop:
+	call get_block_header
+	nrtn zero
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	loop reload_eeprom_loop
+	branch load_storage_loop
+	
+loadcode:
+	call clean_mem
+	disable user
+	call otp_enable_chgpump
+	setarg otp_ucode_flag
+	arg mem_otp_ucode_flag,rega
+	arg 2,temp
+	call otpd_read_data
+	fetch 2,mem_otp_ucode_flag
+	bbit0 otp_uflag_aes, loadcode_otp
+	hjam 0x25,core_clkoff			// disable debug uart
+	setarg otp_ucode_aeskey
+	arg mem_ucode_keybuf,rega
+	arg 16,temp
+	call otpd_read_data
+	hjam lock_otp,core_misc_ctrl	// disable further read/write of key
+	set1 mark_otp_encrypt,mark	
+	arg mem_ucode_keybuf,contr
+	call load_key
+	enable user					// set user for aes
+loadcode_otp:
+	jam 0,mem_loadcode_times
+loadcode_otp_2:
+	call loadcode_check_times
+	fetch 2,mem_otp_ucode_flag
+	byteswap pdata,pdata
+	arg 0x7ff,temp
+	iand temp,pdata
+	branch loadcode_iic, zero
+	call otp_set_addr
+	arg otpd_read_code,regc
+	call get_iv,user
+	call load_storage
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_otp_2			// crc error, try again
+	
+loadcode_iic:
+	call otp_disable_chgpump
+	jam 0,mem_loadcode_times
+loadcode_iic_2:	
+	call loadcode_check_times
+	call clear_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_iic_eeprom_2k,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+loadcode_iic_eeprom_2k:
+	call set_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_spi,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+	
+loadcode_spi:
+	jam 0,mem_loadcode_times
+loadcode_spi_2:
+	call loadcode_check_times
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_flash, loadcode_hci
+	setarg 0x0
+	store 3,mem_addr_hi
+	call spid_init_flash
+	arg spid_load_flash,regc
+	call read_first_block
+	call load_storage
+	nbranch loadcode_hci,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_spi_2			// crc error, try again
+
+loadcode_hci:
+	bmark1 mark_otp_encrypt,loadcode_hci_enc
+	call clear_key_buf
+loadcode_hci_enc:
+	fetch 1,mem_otp_ucode_flag
+	bbit0 otp_uflag_hci,clear_key_buf
+	hjam 0x21,core_clkoff			// enable debug uart
+	call hci_init
+loadcode_hci_loop:
+	call hci_rx_packet
+	branch loadcode_hci_loop
+
+clear_key_buf:
+	setarg 0
+	store 8,mem_ucode_keybuf
+	store 8,mem_ucode_keybuf+8
+	force regidx_key,regext_index
+	call aes_clear
+	hjam 0x21,core_clkoff		// enable debug uart
+	rtn
+	
+
+loadcode_iic_by_eeprom:
+	setarg 0x0
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	call iicd_init_12m
+	call read_first_block
+	branch load_storage
+
+
+loadcode_check_times:
+	fetch 1,mem_loadcode_times
+	increase 1,pdata
+	sub pdata,3,null
+	nbranch loadcode_error,positive
+	store 1,mem_loadcode_times
+	rtn
+
+loadcode_error:
+	call clear_key_buf
+	call ice_break
+	rtn
+
+
+/* true flag is set into status */
+set_ucode_status:
+	fetch 1,mem_ucode_status
+	lshift pdata,pdata
+	setflag true,0,pdata
+	isolate0 15,rega
+	rtn true
+	store 1,mem_ucode_status
+	rtn
+
+	/* queue is bit position of hw done status */
+decrypt_code:
+	hfetch 1,core_gpio_key2
+	rtnbit0 1
+	branch decrypt_code_skip	/* skip to key generation at first for speed */
+decrypt_code_loop:
+	hfetch 1,core_dma_status
+	qisolate1 pdata
+	rtn true
+decrypt_code_skip:
+	hfetch 1,core_misc_status
+	bbit0 1,decrypt_code_loop
+	call do_aes_cbc
+	branch decrypt_code_loop
+
+
+
+load_ucode:
+	fetch 2,mem_patch_ptr
+	rtn blank
+	hjam 0x80, core_ucode_ctrl
+	hjam 0,core_ucode_hi
+	hjam 0,core_ucode_low
+	fetcht 2,mem_patch_len
+	lshift2 temp,loopcnt
+	iforce contr
+load_ucode_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_loop
+	hjam 0x0, core_ucode_ctrl
+	rtn
+
+
+/* ===================== SPI dma ======================= */
+
+spid_init:
+	bpatchx patch31_5,mem_patch31
+	call spid_init_common
+	branch twspi_enable
+
+spid_init2:
+	call spid_init_common
+	call twspi_disable
+	branch twspi_enable2
+	
+spid_init_common:
+	fetch 1,mem_spi_init_clk
+	hstore 1,core_spid_ctrl	// A7530 should at least 34, or write fail
+	fetch 1,mem_spi_init_delay_time
+	hstore 1,core_spid_delay	// 4us delay
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	branch twspi_disable
+	
+spid_reset:
+	hfetch 1,core_spid_ctrl
+	set1 7,pdata
+	hstore 1,core_spid_ctrl
+	set0 7,pdata
+	hstore 1,core_spid_ctrl
+	rtn
+
+
+/* pdata 6:0 is reg address, 15:8 is data to write */
+spid_write_reg:
+	set1 7,pdata
+	store 2,mem_spid_tbuf
+	bpatchx patch31_6,mem_patch31
+	hjam 2,core_spid_txlen
+	hjam 0,core_spid_rxlen
+	hjam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+/* pdata 6:0 is reg address */
+spid_read_reg:
+	force 1,temp
+/* pdata 6:0 is burst reg address, temp is bytes to read */
+spid_read_regs:
+//	nop 100
+	store 1,mem_spid_tbuf
+	bpatchx patch31_7,mem_patch31
+	hjam 1,core_spid_txlen
+	hstoret 2,core_spid_rxlen
+	hjam spid_start,core_misc_ctrl
+	call wait_spid_done
+	fetch 1,mem_spid_rbuf
+	rtn
+
+wait_spid_done:
+	fetch 2,mem_afh_error_total
+	increase 1,pdata
+	store 2,mem_afh_error_total
+	hfetch 1,core_dma_status
+	bbit0 spid_done,wait_spid_done
+	rtn
+
+spid_init_flash:
+	hjam 0x40,core_spid_ctrl
+	hjam 0x0,core_spid_delay
+	hfetch 1,core_gpio_sel1
+	set0 0,pdata
+	set1 1,pdata
+	hstore 1,core_gpio_sel1
+	setarg 0
+	store 4,mem_spid_tbuf
+	rtn
+
+
+spid_unlock_flash:
+	setarg 0
+	hstore 2,core_spid_rxlen
+	setarg 1
+	hstore 2,core_spid_txlen
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	jam 6,mem_spid_tbuf
+	hjam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/**
+ ******************************************************************************
+ ** \brief  write flash
+ **
+ ** \param [in]  rega: 2byte write ptr    
+ **			pdata:3byte flash address  
+ ** 			temp:2byte write data length
+ **
+ ** \retval user  0: flash buys 1:write flash setting complate
+ **
+ ******************************************************************************/
+
+flash_write:
+	disable user
+	copy pdata,regb
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	enable user
+	copy regb,pdata
+	branch flash_write_start
+
+
+flash_write_spi_sm_timer:
+	fetch 1,mem_spi_write_flash_sm 	
+	beq FLASH_SM_START,flash_write_start
+	beq FLASH_SM_ERASE_SECTOR,flash_erase_sector
+	beq FLASH_SM_WAIT_ERASE_SECTOR,flash_wait_erase_sector
+	beq FLASH_SM_WRITE_DATA,flash_write_data
+	beq FLASH_SM_WAIT_WRITE_DATA,flash_wait_write_data
+	rtn
+
+flash_write_start:
+	store 3,mem_spi_write_addr
+	copy rega,pdata
+	store 2,mem_spi_write_ptr
+	storet 2,mem_spi_write_len
+	jam FLASH_SM_ERASE_SECTOR,mem_spi_write_flash_sm
+	branch spid_init_flash
+flash_erase_sector:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_ERASE_SECTOR,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	arg mem_spid_tbuf,rega
+	fetch 3,mem_spi_write_addr
+	hjam 4,core_spid_txlen
+	arg FLASH_COMMAND_SECTOR_ERASE,temp
+	branch spid_write_flash_common
+	
+flash_wait_erase_sector:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_WRITE_DATA,mem_spi_write_flash_sm
+	rtn
+flash_write_data:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_WRITE_DATA,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	call flash_data_preserve
+	call spid_write_flash
+	branch flash_data_recover
+flash_wait_write_data:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_NO_BUYS,mem_spi_write_flash_sm
+	fetch 2,mem_cb_spi_flash_write_complate
+	branch callback_func
+flash_data_recover:
+	fetch 4,mem_temp
+	fetcht 2,mem_spi_write_ptr
+	increase -4,temp
+	istore 4,temp
+	rtn
+flash_data_preserve:
+	fetcht 2,mem_spi_write_ptr
+	copy temp,rega
+	increase -4,temp
+	ifetch 4,temp
+	store 4,mem_temp
+	fetcht 2,mem_spi_write_len
+	fetch 3,mem_spi_write_addr
+	rtn
+
+
+/* pdata is flash address, rega pointers to txdata(4 ahead bytes should be left), temp is length */
+spid_write_flash:
+	increase 4,temp
+	hstoret 2,core_spid_txlen
+	arg FLASH_COMMAND_WRITE_DATA,temp
+	increase -4,rega
+spid_write_flash_common:
+
+	istoret 1,rega
+	rshift16 pdata,temp
+	istoret 1,contw
+	rshift8 pdata,temp
+	istoret 1,contw
+	istore 1,contw
+	deposit rega
+	hstore 2,core_spid_txaddr
+	setarg 0
+	hstore 2,core_spid_rxlen
+	hjam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf   */
+spid_read_flash:
+	hstoret 2,core_spid_rxlen
+	rshift16 pdata,temp
+	storet 1,mem_addr_hi
+	rshift8 pdata,temp
+	storet 1,mem_addr_mi
+	store 1,mem_addr_lo
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam FLASH_COMMAND_READ_DATA,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	hjam spid_start,core_misc_ctrl
+spi_read_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_read_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf  */
+spid_load_flash:
+	hstoret 2,core_spid_rxlen
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam 3,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	hjam spid_start,core_misc_ctrl
+spi_load_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_load_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	call decrypt_code
+	call wait_spid_done
+	isolate1 spid_crcok,pdata
+	call set_ucode_status
+	fetch 1,mem_addr_hi
+	lshift16 pdata,regb
+	fetch 1,mem_addr_mi
+	lshift8 pdata,pdata
+	ior regb,regb
+	fetch 1,mem_addr_lo
+	ior regb,pdata
+	iadd temp,pdata
+	store 1,mem_addr_lo
+	rshift8 pdata,pdata
+	store 1,mem_addr_mi
+	rshift8 pdata,pdata
+	store 1,mem_addr_hi
+	rtn
+
+/*****************************************************************************
+*soft reset chip
+*****************************************************************************/
+soft_reset_chip:
+	hjam 1,core_reset
+	rtn
+
+
+
+/* ===================== I2C dma ======================= */
+
+iic_init_390k:	//390khz
+	hjam 12,core_iicd_scl_low
+	hjam 13,core_iicd_scl_high
+	hjam 13,core_iicd_start_setup
+	hjam 13,core_iicd_start_hold
+	hjam 13,core_iicd_stop_setup
+	hjam 12,core_iicd_data_setup
+  	branch iicd_init_gpio	
+
+
+iicd_init_12m:
+	hjam 5,core_iicd_scl_low
+ 	hjam 7,core_iicd_scl_high
+	hjam 7,core_iicd_start_setup
+	hjam 7,core_iicd_start_hold
+	hjam 7,core_iicd_stop_setup
+	hjam 5,core_iicd_data_setup
+iicd_init_gpio:	
+	hfetch 1,core_gpio_pu3
+	or_into 0xc0,pdata
+	hstore 1,core_gpio_pu3
+	hfetch 1,core_gpio_sel1
+	or_into 0x10,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+
+
+wait_iicd_done:
+	hfetch 1,core_dma_status
+	bbit0 iicd_done,wait_iicd_done
+	rtn
+
+/*
+pdata is tx length
+rega is points to tx buffer
+regb is points to rx buffer
+temp is rx length
+*/
+iicd_read_data:
+	hstore 2,core_iicd_txlen
+	deposit rega
+	hstore 2,core_iicd_txaddr	
+	deposit regb
+	hstore 2,core_iicd_rxaddr
+	deposit temp	
+	hstore 2,core_iicd_rxlen
+	arg 1,temp
+	nsetflag blank,1,temp
+	hstore 1,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	branch wait_iicd_done
+
+
+set_eeprom_size_2k:
+	set1 mark_eeprom_size,mark
+	jam 0x08,mem_eeprom_block_size
+	rtn
+
+clear_eeprom_size_2k:
+	set0 mark_eeprom_size,mark
+	jam 0x20,mem_eeprom_block_size
+	rtn
+
+
+iicd_read_eep_data_size_2k:
+ 	fetch 1,mem_eeprom_base
+	iadd regb,pdata
+	store 1,mem_addr_mi
+	branch iicd_read_eep_size_2k
+
+iicd_read_eep_size_2k_lcadcode:
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	store 1,mem_addr_mi
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr:pdata
+iicd_read_eep_size_2k:
+ 	setarg 3
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+2
+	branch iicd_read_eep_common
+
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr:regb
+iicd_write_protect_eep_data:
+	storet 2,mem_temp
+	call iicd_eeprom_write_enable
+	fetcht 2,mem_temp
+	call iicd_write_eep_data
+	branch iicd_eeprom_write_disable
+	
+iicd_eeprom_write_enable:
+	fetch 1,mem_eeprom_wp_gpio
+	rtneq GPIO_DISABLE
+	bbit0 6,iicd_wp_gpio_output_low
+	setarg 150000
+	call sleep
+iicd_wp_gpio_output_low:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_active
+	
+iicd_eeprom_write_disable:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_inactive
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_read_eep_data:
+	bpatchx patch32_0,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_data_size_2k
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+
+/* rega pointers to buf, temp is length  */
+iicd_read_eep:
+	bpatchx patch32_1,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_size_2k_lcadcode
+	setarg 4
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+3
+iicd_read_eep_common:	
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	hstoret 2,core_iicd_rxlen
+	deposit rega
+	hstore 2,core_iicd_rxaddr
+	setarg 2
+	isolate0 15,rega
+	setflag true,0,pdata
+	hstore 1,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	arg iicd_done,queue
+	call decrypt_code
+	call wait_iicd_done
+	isolate1 iicd_crcok,pdata
+	call set_ucode_status
+	bmark1 mark_eeprom_size,iicd_read_eep_load_code_size_2k
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+
+iicd_read_eep_load_code_size_2k:
+	fetch 1,mem_addr_mi
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+	
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_write_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+
+//cuur ptr:pdata length:temp buf:rega
+iicd_write_ota_data:
+	store 2,mem_pdatatemp //curr ptr
+	bpatchx patch32_2,mem_patch32
+	storet 2,mem_temp	//len
+	copy rega,pdata
+	store 2,mem_contr
+iicd_write_eep_loop:
+	call iicd_eep_transparency
+
+	fetcht 2,mem_regb
+	fetch 2,mem_contr
+	copy pdata,rega
+	fetch 2,mem_pdatatemp
+	
+	call iicd_write_eep
+	
+	fetch 2,mem_regb
+	fetcht 2,mem_contr
+	iadd temp,temp
+	storet 2,mem_contr
+	fetcht 2,mem_pdatatemp
+	iadd temp,temp
+	storet 2,mem_pdatatemp
+	fetch 2,mem_temp
+	nbranch iicd_write_eep_loop,blank
+	rtn
+	
+//in:
+//1.size 2.len 3.src 4.des
+//mem_regc page's area
+//mem_pdatatemp curr ptr
+//mem_temp all len      
+//mem_regb curr len
+iicd_eep_transparency:
+	bpatchx patch32_3,mem_patch32
+	fetch 1,mem_eeprom_block_size
+	increase -1,pdata
+	fetcht 2,mem_pdatatemp
+	ior temp,pdata
+	increase 1,pdata
+	store 3,mem_regc
+
+	fetch 2,mem_temp
+	iadd temp,pdata
+
+	fetcht 3,mem_regc
+	isub temp,pdata
+	nbranch iicd_eep_deal_short_packet,positive
+	store 2,mem_temp
+	fetch 3,mem_regc
+	fetcht 2,mem_pdatatemp
+	isub temp,pdata
+	store 2,mem_regb
+	rtn
+iicd_eep_deal_short_packet:
+	fetch 2,mem_temp
+	store 2,mem_regb
+	setarg 0
+	store 2,mem_temp
+	rtn
+
+iicd_write_eep_size_2k:
+	increase 2,temp
+	hstoret 2,core_iicd_txlen
+	increase -2,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+//	byteswap pdata,pdata
+	istore 1,contw
+	branch iicd_write_eep_common
+
+	/* pdata is eeprom address, rega pointers to txdata(3 ahead bytes should be left), temp is length */
+iicd_write_eep:
+	copy pdata,regb
+	bpatchx patch32_4,mem_patch32
+	bmark1 mark_eeprom_size,iicd_write_eep_size_2k
+	copy regb,pdata
+	increase 3,temp
+	hstoret 2,core_iicd_txlen
+	increase -3,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+	byteswap pdata,pdata
+	istore 2,contw
+iicd_write_eep_common:	
+	deposit rega
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	hjam 1,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	copy regb,pdata
+	istore 3,rega
+	
+iic_check_eeprom_standby:
+	bpatchx patch32_5,mem_patch32
+	jam 0,mem_iicd_tbuf+3
+iic_check_eeprom_standby_wait:
+	setarg 1
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	hstore 2,core_iicd_rxaddr
+	setarg 3
+	hstore 1,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	hfetch 1,core_dma_status
+	rtnbit0 iicd_ack
+	nop 1500
+	fetch 1,mem_iicd_tbuf+3
+	increase 1,pdata
+	store 1,mem_iicd_tbuf+3
+	sub pdata,40,null
+	nrtn positive//polling timeout 6ms
+	branch iic_check_eeprom_standby_wait
+
+/* ===================== OTP ======================= */
+
+otp_enable_chgpump:
+	hjam 0x70,rfen_chgpump
+	nop param_chgpump_delay
+	rtn
+
+otp_disable_chgpump:
+	hjam 0x30,rfen_chgpump
+	rtn
+	
+otp_set_addr:
+	lshift3 pdata,pdata
+	hstore 2,core_otp_addr
+	hjam 0,core_otpd_ctrl
+	rtn	
+
+/* pdata = otp address, rega pointers data, loopcnt is count */
+otp_write:
+	call otp_set_addr
+	call otp_ce
+otp_program:
+	ifetcht 1,rega
+	increase 1,rega
+	force 0,queue
+otp_program_bit:
+	qisolate0 temp
+	branch otp_skip_0,true
+	hfetch 1,core_otp_din
+	set1 6,pdata				/* din */
+	set1 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	hjam 0x02,core_otp_ctrl	/* web */
+	hjam 0x82,core_otp_ctrl
+	set0 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	hjam 0x8a,core_otp_ctrl	/* pgmen */
+	nop 11
+	hjam 0xca,core_otp_ctrl	/* vppen */
+	nop 33
+	hjam 0x4a,core_otp_ctrl	/* web 2nd */
+	nop 44
+	hjam 0xca,core_otp_ctrl	/* release web */
+	nop 22
+	hjam 0x8a,core_otp_ctrl	/* release vppen */
+	nop 33
+	hjam 0x82,core_otp_ctrl	/* release pgmen */
+	nop 1
+	hjam 0x92,core_otp_ctrl	/* pgmvfy */
+	nop 10
+	hjam 0xb2,core_otp_ctrl	/* readen */
+	hfetch 1,core_otp_rdata
+	hjam 0x92,core_otp_ctrl	/* release readen */
+	nop 1
+	hjam 0x82,core_otp_ctrl	/* release pgmvfy */
+	qisolate0 pdata
+	branch otp_program_bit,true	/* program error */
+otp_skip_0:
+	hfetch 2,core_otp_addr
+	increase 1,pdata
+	hstore 2,core_otp_addr
+	increase 1,queue
+	compare 8,queue,0xf
+	nbranch otp_program_bit,true
+	loop otp_program
+	hjam 0x83,core_otp_ctrl
+	rtn
+
+otp_ce:
+	hjam 0x82,core_otp_ctrl	/* ceb */
+	nop 12
+	hjam 0x80,core_otp_ctrl	/* rstn */
+	hjam 0x82,core_otp_ctrl	/* release rstn */
+	nop 150					/* waiting for vdd25 stable */
+	rtn
+
+	/* rega points to data, temp is count */
+otpd_read_init:
+	call otp_ce
+	hjam 0xa2,core_otp_ctrl	/* readen */
+	deposit rega
+	hstore 2,core_otpd_addr
+	set1 11,temp
+	isolate0 15,pdata
+	setflag true,15,temp
+	hstoret 2,core_otpd_len
+	hjam otpd_start,core_misc_ctrl
+	rtn
+
+otpd_wait_end:
+	hfetch 1,core_dma_status
+	bbit0 otpd_done,otpd_wait_end
+	rtn
+	
+	/* pdata=otp address, rega points to data, temp is count */
+otpd_read_data:
+	call otp_set_addr
+	call otpd_read_init
+	call otpd_wait_end
+	hjam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+
+
+/* rega pointers to buf, temp is length */
+otpd_read_code:	
+	hfetch 2,core_current_otp_addr
+	hstore 2,core_otp_addr
+	call otpd_read_init
+	arg otpd_done,queue
+	call decrypt_code
+	call otpd_wait_end
+	isolate1 otpd_crcok,pdata	
+	call set_ucode_status
+	hjam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+/* ===================== uart dma ======================= */
+uartd_prepare_tx:
+	hfetch 2,core_uart_twptr
+	iforce contwu
+	rtn
+
+uartd_send:
+	deposit contwu
+	hstore 2,core_uart_twptr
+	rtn
+
+uartd_rxdone:
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+uartd_prepare_rx:
+	hfetch 2,core_uart_rrptr
+	copy pdata,contru
+	rtn
+
+uart_set_baud_by_mem:
+	fetch uart_baud_len,mem_baud
+	hstore uart_baud_len,core_uart_baud
+	rtn
+
+uart_copy_tx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_tx_8_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_tx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_tx_4_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_tx_bytes
+
+uart_tx_8_bytes:
+	ifetch 8,contr
+	istore 8,contwu
+	rtn
+
+uart_tx_4_bytes:
+	ifetch 4,contr
+	istore 4,contwu
+	rtn
+
+uart_copy_tx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_loop:
+	ifetch 1,contr
+	istore 1,contwu
+	loop uart_copy_tx_bytes_loop
+	rtn
+
+uart_copy_rx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_rx_8_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_rx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_rx_4_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_rx_bytes
+
+uart_rx_8_bytes:
+	ifetch 8,contru
+	istore 8,contw
+	rtn
+
+uart_rx_4_bytes:
+	ifetch 4,contru
+	istore 4,contw
+	rtn
+
+
+uart_copy_rx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_loop:
+	ifetch 1,contru
+	istore 1,contw
+	loop uart_copy_rx_bytes_loop
+	rtn
+
+
+uart_copy_rx2tx:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx2tx_loop:
+	ifetch 1,contru
+	istore 1,contwu
+	loop uart_copy_rx2tx_loop
+	rtn
+
+
+/* ===================== eeprom data ======================= */
+
+app_store_nvram_event:
+	jam BT_EVT_STORE_NVRAM,mem_fifo_temp
+	branch ui_ipc_send_event
+
+check_51cmd_store_reconn_info:
+check_51cmd_update_device_record:
+	bpatchx patch32_6,mem_patch32
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	call check_nvram
+	call init_device_list,zero
+	call nvram_find_addr_from_bd_list
+write_device_record:
+	fetch 1,mem_nv_data_number
+	icopy regc
+	fetcht 2,mem_nv_data_ptr
+	storet 2,mem_list_item_ptr
+write_device_loop_find:
+	copy regc,pdata
+	branch app_store_nvram_event,blank  //EEPROM
+	increase -1,regc
+	copy temp,rega
+	ifetch 1,rega
+	fetcht 1,mem_select_list_item
+	isub temp,null
+	call set_index_finded_device,zero
+	branch write_device_loop_find0,positive
+	ifetch 1,rega
+	increase 1,pdata
+	istore 1,rega
+write_device_loop_find0:
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	branch write_device_loop_find
+
+set_index_finded_device:
+	setarg 0
+	istore 1,rega
+	fetch 1,mem_temp_reconn_record
+	istore 1,contw	
+	bne REC_3_MODE,set_index_finded_device_ble_mode
+	arg mem_link_key,regb
+set_index_find_device_MASTER_ADDR:
+	ifetch 6,contr
+	istore 8,contw
+	setarg 0
+	istore 8,contw
+	copy regb,contr
+store_rec_data_common:
+	call memcpy16
+	force 1,null
+	rtn
+
+set_index_finded_device_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_IRK
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_EDIV
+	arg mem_le_ltk,regb
+	branch set_index_find_device_MASTER_ADDR
+
+set_index_finded_device_IRK:
+	arg mem_le_irk,contr
+	call memcpy16
+store_ble_rec_data_common:
+	arg mem_le_ltk,contr
+	branch store_rec_data_common
+
+set_index_finded_device_EDIV:
+	arg mem_le_rand,contr
+	call memcpy16
+	branch store_ble_rec_data_common
+
+
+nvram_find_addr_from_bd_list:
+	call disable_user
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,find_addr_from_bd_list_SPP_mode
+find_addr_from_bd_list_ble_mode:
+	bpatchx patch32_7,mem_patch32
+	fetch 1,mem_le_conn_peer_addr_type
+	beq MASTER_PUBLIC_ADDR,find_addr_from_bd_list_static_addr
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	branch find_addr_from_bd_list_static_addr,true
+	compare 0x40,pdata,0xc0
+	branch find_addr_from_bd_list_random_addr,true
+	compare 0x00,pdata,0xc0
+	branch find_addr_from_bd_list_random_non_resolvable_private_address,true
+find_addr_from_bd_list_static_addr:
+	jam REC_4_MODE_STATIC_ADDRESS,mem_temp_reconn_record
+	fetch 6,mem_le_plap
+	branch find_addr_from_bd_list_common
+	
+find_addr_from_bd_list_random_non_resolvable_private_address:	
+	jam REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+
+//input :pdata EDIV and rands
+find_addr_from_bd_list_random_addr:
+	jam REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+	
+//input :pdata EDIV and rands
+find_addr_from_bd_list_SPP_mode:
+	bpatchx patch33_0,mem_patch33
+	jam REC_3_MODE,mem_temp_reconn_record
+	fetch 6,mem_plap
+find_addr_from_bd_list_common:
+	store 6,mem_temp_reconn_record+1
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease 1
+	store 2,mem_list_item_ptr
+	storet 1,mem_select_list_item
+	fetch 1,mem_nv_data_number
+	icopy regc
+nvram_find_addr_from_list:
+	fetch 2,mem_list_item_ptr
+	copy pdata,rega
+	call nvram_find_addr_from_list_compare
+	rtn user
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	increase -1,temp
+	ifetch 1,temp
+	store 1,mem_select_list_item
+	increase -1,regc
+	nbranch nvram_find_addr_from_list,zero
+	fetch 1,mem_nv_data_number
+	pincrease DECREASED_ONE
+	store 1,mem_select_list_item
+	rtn
+nvram_find_addr_from_list_compare:
+	fetch 1,mem_temp_reconn_record
+	bne REC_3_MODE,find_addr_from_list_compare_ble_mode
+find_master_addr_from_list_compare:
+	arg mem_temp_reconn_record,regb
+	arg 7,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+find_addr_from_list_compare_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,find_irk_form_list_compare
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,find_ediv_form_list_compare
+	branch find_master_addr_from_list_compare
+
+find_irk_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	arg mem_le_prand,contw
+	arg 16,loopcnt
+	call clear_mem
+	fetch 3,mem_le_plap+3
+	store 3,mem_le_prand
+	call genernate_master_MacAddress
+	fetch 2,mem_le_aes_128+13
+	byteswap pdata,pdata
+	lshift8 pdata,temp
+	ifetch 1,contr
+	iadd temp,pdata
+	fetcht 3,mem_le_plap
+	isub temp,null
+	branch enable_user,zero
+	rtn
+
+
+genernate_master_MacAddress:
+	arg mem_le_prand ,contr
+	call load_data128
+//	arg mem_le_irk,contr
+	ifetch 1,rega
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_aes_128,contw
+	branch store_aes_result
+
+find_ediv_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	copy contr,rega
+	add contr,8,regc
+	arg mem_le_rand,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	copy regc,rega
+	arg mem_le_irk,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+check_nvram:
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease NV_DATA_LEN
+	ifetch 1,pdata
+	isub temp,null
+	rtn
+
+init_device_list:
+	fetch 1,mem_nv_data_number
+	icopy loopcnt
+	fetcht 2,mem_nv_data_ptr
+	setarg 0
+init_device_list_loop:
+	istore 1,temp
+	increase NV_DATA_LEN,temp
+	pincrease 1
+	loop init_device_list_loop
+	rtn
+
+load_device_list:
+	bpatchx patch33_1,mem_patch33
+	call nvram_find_addr_from_bd_list
+	fetch 1,mem_state
+	setflag user,state_combkey,pdata	/* we have link key */
+	store 1,mem_state
+	nbranch clear_key_exists,user
+	add rega,10,contr
+//	copy rega,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	branch check_link_key_load
+clear_key_exists:
+	jam 0,mem_link_key_exists
+	rtn
+
+load_device_list_mode_4:
+	fetch 9,mem_le_ediv
+	branch clear_ltk_exists,blank
+	call nvram_find_addr_from_bd_list
+	nbranch clear_ltk_exists,user
+	fetch 2,mem_list_item_ptr
+	add pdata,1,contr
+	arg mem_le_irk,contw
+	call  memcpy16
+	arg mem_le_ltk,contw
+	call  memcpy16
+	jam 1,mem_ltk_exists
+	rtn
+
+clear_ltk_exists:
+	jam 0,mem_ltk_exists
+	rtn
+
+
+eeprom_store_le_reconn_info:
+	fetch 6,mem_le_plap
+	store 6,mem_temp_lap
+	jam REC_4_MODE,mem_record_bt_mode
+	branch eeprom_store_reconn_info
+eeprom_store_bd_reconn_info:
+	fetch 6,mem_plap
+	store 6,mem_temp_lap
+	jam REC_3_MODE,mem_record_bt_mode
+eeprom_store_reconn_info:
+	fetch 1,mem_device_option
+	beq dvc_op_module,check_51cmd_update_device_record
+	bbit1 dvc_op_mouse,mouse_store_remote_bdaddr
+	rtn
+	
+
+check_link_key_load:
+	fetch 8,mem_link_key
+	fetcht 8,mem_link_key+8
+	ior temp,pdata
+	rtn blank
+	jam 1,mem_link_key_exists
+	rtn
+	
+
+/* =============== GPIO CONTROL ================= */
+
+
+	//temp [4:0]=GPIO number, 0-31, 
+gpio_set_wake_by_current_state:
+	bpatchx patch33_2,mem_patch33
+	set1 7,temp
+	call gpio_get_bit
+	nsetflag true,7,temp
+	//branch gpio_set_wake
+	//fall through
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_set_wake:
+	bpatchx patch33_3,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qsetflag true,pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	nqsetflag true,pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_clr_wake:
+	bpatchx patch33_4,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qset0 pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	qset0 pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+
+
+gpio_config_input_nowake:
+	call gpio_clr_wake
+	branch gpio_config_input_without_wake
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_config_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	ncall gpio_set_wake,wake
+
+gpio_config_input_without_wake:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	setflip gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+gpio_set_high_impedance:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active. set gpio to inactive state
+gpio_config_output:	
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	setflip gpio_active_bit,temp
+	call gpio_out
+gpio_config_output0:
+	set1 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+	
+gpio_common:
+	and temp,0x07,queue
+	rshift3 temp,pdata
+	and_into 3,pdata
+	iadd contw,contw
+	ifetch 1,contw
+	rtn
+
+gpio_check_active:
+	arg core_gpio_out0,contw
+	branch get_bit_common
+
+	
+	/* temp is gpio number, return true if gpio active */
+gpio_get_bit:
+	arg core_gpio_in,contw
+get_bit_common:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	branch gpio_get_bit_reverse,true
+	qisolate0 pdata
+	rtn
+gpio_get_bit_reverse:
+	qisolate1 pdata
+	rtn
+
+gpio_out_inactive:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate1 7,null
+	branch gpio_out_flag
+
+gpio_out_active:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,null
+
+	/* temp is gpio number,  [7]=1,set out equa true flag if gpio active */
+gpio_out_flag:
+	setarg 0
+	nsetflag true,gpio_active_bit,pdata
+	ixor temp,temp
+	
+	/* temp is gpio number,0-31, [7]=out bit value */
+gpio_out:
+	arg core_gpio_out0,contw
+
+	//temp [4:0]=GPIO number, 0-31, [7]=bit value; contw is gpio reg base
+gpio_set_bit:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	qsetflag true,pdata
+	istore 1,contw
+	rtn
+
+gpio_set_before_lpm_common:
+	arg -1,rega
+	hfetch 1,core_gpio_sel1
+	compare 0x02,pdata,0x03
+	call neglact4_from_23_pin,true	//spi
+
+	compare 0x01,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio25 26
+
+	compare 0x03,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio30 31
+	 	 
+	isolate1 2,pdata
+	call neglect2_from_6_pin,true	//uart
+	 
+	isolate1 3,pdata
+	call neglect4_from_9_pin,true	//spi
+
+	isolate1 4,pdata
+	call neglact2_form_30_pin,true	//IIC GPIO30 31
+
+	isolate1 6,pdata
+	nsetflag true,04,rega			//pwm0 gpio4
+
+	isolate1 7,pdata
+	nsetflag true,05,rega			//pwm1 gpio5
+
+	hfetch 1,core_gpio_sel2
+	isolate1 0,pdata
+	nsetflag true,27,rega			//pwm2 gpio27
+	isolate1 1,pdata
+	nsetflag true,28,rega			//pwm3 gpio28
+	isolate1 2,pdata
+	nsetflag true,03,rega			//pwm4 gpio03
+	isolate1 3,pdata
+	nsetflag true,08,rega			//pwm5 gpio08
+	isolate1 4,pdata
+	nsetflag true,20,rega			//pwm0 gpio20
+	isolate1 5,pdata
+	nsetflag true,21,rega			//pwm1 gpio21
+	isolate1 6,pdata
+	nsetflag true,22,rega			//pwm2 gpio22
+	isolate1 7,pdata
+	nsetflag true,23,rega			//pwm3 gpio23
+		
+	hfetch 1,core_gpio_sel
+	isolate1 0,pdata
+	nsetflag true,05,rega			//ADC GPIO05
+	isolate1 1,pdata
+	nsetflag true,06,rega			//ADC GPIO06
+	isolate1 2,pdata
+	nsetflag true,07,rega			//ADC GPIO07
+	isolate1 3,pdata
+	nsetflag true,18,rega			//ADC GPIO18
+	isolate1 4,pdata
+	nsetflag true,19,rega			//ADC GPIO19
+	isolate1 5,pdata
+	nsetflag true,20,rega			//ADC GPIO20
+	isolate1 6,pdata
+	nsetflag true,21,rega			//ADC GPIO21
+	isolate1 7,pdata
+	nsetflag true,22,rega			//ADC GPIO22
+	
+	hfetch 1,core_uart_ctrl
+	isolate1 4,pdata
+	call neglact2_form_2_pin,true
+	bpatchx patch33_5,mem_patch33
+
+	hfetch 4,core_gpio_pu0
+	hfetcht 4,core_gpio_pd0
+	ior temp,pdata
+	invert pdata,pdata
+	iand rega,pdata
+	//set0 4,pdata //revc
+	hstore 4,core_gpio_oe0
+	rtn
+	
+	
+neglect2_from_6_pin: //uart
+	 arg 6,queue
+	 branch neglect_2_pin
+neglect4_from_9_pin:
+	 arg 9,queue
+	 branch neglact_4_pin
+neglact4_from_23_pin:
+	 arg 23,queue
+	 branch neglact_4_pin
+neglact2_form_25_pin:
+	 arg 25,queue
+	 branch neglect_2_pin
+neglact2_form_30_pin:
+	 arg 30,queue
+	 branch neglect_2_pin
+neglact2_form_2_pin:
+	 arg 2,queue
+	 branch neglect_2_pin
+neglact_1_pin:
+	arg 1,loopcnt
+	branch neglect_pin_loop
+neglact_4_pin:
+	 arg 4,loopcnt
+	 branch neglect_pin_loop
+neglect_2_pin:
+	 arg 2,loopcnt
+neglect_pin_loop:
+	 qset0 rega
+	 increase 1,queue
+	 loop neglect_pin_loop
+	 rtn
+
+
+
+
+
+
+/* ===================== sniff GPIO CONTROL ======================= */
+gpio_cfg_uart_tx_output:
+	call gpio_uart2gpio
+	arg UART_WAKEUP_TX,temp
+	branch gpio_config_output
+
+gpio_pu_uart_tx:
+	call gpio_cfg_uart_tx_output
+	arg UART_WAKEUP_TX,temp
+	branch gpio_out_inactive
+
+
+
+gpio_rx_config_input_with_pu:
+	call gpio_uart2gpio
+	hfetch 1, core_gpio_pu0
+	set1 UART_WAKEUP_RX,pdata
+	hstore 1,core_gpio_pu0
+	arg UART_WAKEUP_RX,temp
+	branch gpio_config_input
+	
+gpio_uart2gpio:
+	hfetch 1,core_gpio_sel1
+	and_into 0xfb,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+gpio_check_uart_state:
+	hfetch 1,core_gpio_sel1
+	isolate1 2,pdata
+	rtn
+
+load_chip_option:
+	call otp_enable_chgpump
+	setarg OTP_CHIP_FUNCTIONS
+	arg mem_chip_functions,rega
+	arg 0x02,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+load_adc_init:
+	call otp_enable_chgpump
+	setarg otp_adc_io_0_5V_addr
+	arg mem_0_5_adc_io_data,rega
+	arg 14,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+//mem_adc_config_flag 0:vinlpm 1:Hvin 2: GPIO
+adc_init_data:
+	bpatchx patch33_6,mem_patch33
+
+	call load_adc_init
+	
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,adc_init_data_io
+	rtn	
+
+adc_init_data_vinlpm:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_vinlpm,zero
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data	
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+	branch set_vdd_reference_voltage_1v
+
+adc_check_data_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	nbranch adc_check_2v_vinlpm,blank
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data
+adc_check_2v_vinlpm:	
+	fetch 2,mem_2v_adc_vinlpm_data
+	nbranch set_vdd_reference_voltage_1v,blank
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+set_vdd_reference_voltage_1v:
+	setarg 100
+	store 2,mem_reference_voltage //set reference voltage = 1V
+	rtn		
+
+adc_init_data_hvin:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_hvin,zero
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data	
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+	branch set_vdd_reference_voltage_4v
+
+adc_check_data_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	nbranch adc_check_1v_hvin,blank
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data
+adc_check_1v_hvin:	
+	fetch 2,mem_1v_adc_hvin_data
+	nbranch set_vdd_reference_voltage_4v,blank
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+set_vdd_reference_voltage_4v:
+	setarg 400
+	store 2,mem_reference_voltage //set reference voltage = 4V
+	rtn 	
+
+adc_init_data_io:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_io,zero
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data	
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+	branch set_vdd_reference_voltage_0_5v
+
+adc_check_data_io:
+	fetch 2,mem_1v_adc_io_data
+	nbranch adc_check_0_5v_io,blank
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data
+adc_check_0_5v_io:
+	fetch 2,mem_0_5_adc_io_data
+	nbranch set_vdd_reference_voltage_0_5v,blank
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+set_vdd_reference_voltage_0_5v:
+	setarg 50
+	store 2,mem_reference_voltage //set reference voltage = 0.5V
+	rtn	
+
+
+adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_check_vinlpm
+	beq ADC_CONFIG_HVIN,adc_check_hvin
+	beq ADC_CONFIG_GPIO,adc_check_gpio
+	rtn
+adc_check_vinlpm:
+	hjam 0xbf,rf_adc_mode	//read VINLPM voltage directly	
+	branch read_adc
+adc_check_hvin:
+	hjam 0xaf,rf_adc_mode	//read HVIN voltage directly
+	branch read_adc
+adc_check_gpio:
+	hjam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+read_adc:
+	bpatchx patch33_7,mem_patch33
+	hfetch 1,core_uart_baud + 1
+	set1 7,pdata
+	hstore 1,core_uart_baud + 1 
+	hfetch 1,rf_adc_ch
+	or_into 0x30,pdata
+	hstore 1,rf_adc_ch
+	hjam 0x7c,rfen_adc
+	hjam 0xaa,rf_adc_gc
+	nop 5000
+	hfetcht 2,core_adc_sum
+	hfetch 1,core_uart_baud + 1
+	set0 7,pdata
+	hstore 1,core_uart_baud + 1
+	storet 2,mem_adc_current_value
+	rtn
+
+vdd_calculate_by_mode:
+	bpatchx patch34_0,mem_patch34
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,vdd_calculate_vinlpm
+	beq ADC_CONFIG_HVIN,vdd_calculate_hvin
+	beq ADC_CONFIG_GPIO,vdd_calculate_io
+	rtn
+
+vdd_calculate_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	fetcht 2,mem_2v_adc_vinlpm_data
+	arg 200,regc
+	branch vdd_calculate
+
+vdd_calculate_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	fetcht 2,mem_1v_adc_hvin_data
+	arg 100,regc
+	branch vdd_calculate
+
+vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch vdd_calculate
+	
+vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch vdd_calculate1,positive
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	iadd regb,pdata
+vdd_calculate2:
+	idiv rega
+	call wait_div_end
+	quotient pdata	
+	rtn
+
+vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	isub regb,pdata
+	branch vdd_calculate2
+
+/*	typedef struct
+*	{
+*		uint16 full_vol
+*		uint16 empty_vol
+*		uint16 low_vol
+*		uint16 now_vol
+*	}bat_calculate;
+*/
+//out:	pdata->bat percent
+adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetch 2,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2
+	isub temp,rega
+	fetch 2,mem_pdatatemp+6
+	isub temp,regb
+	fetcht 2,mem_pdatatemp+4
+	isub temp,null
+	ncall adc_set_low_power_flag,positive
+	mul32 regb,100,pdata
+	idiv rega
+	call wait_div_end
+	quotient pdata
+	call adc_set_no_power_flag,blank
+	rtn
+adc_set_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set1 0,pdata
+	store 1,mem_adc_power_flag
+	rtn
+adc_set_no_power_flag:
+	fetcht 1,mem_adc_power_flag
+	set1 1,temp
+	storet 1,mem_adc_power_flag
+	rtn
+
+ifdef SPI_SIMULATE
+/******************************simulate spi slave start**********************************/
+
+/*
+// Define SPI struct, gpio config
+mem_spi_simulate_struct:
+02	#cs
+03	#sclk
+04	#mosi
+05	#miso
+08	#motion
+*/
+
+/*
+Brief: spi_simulate_init_slave
+Input: None
+Output: None
+Return: None
+Brief: cs_gpio,sclk_gpio,mosi_gpio : input
+	miso_gpio : output
+*/
+spi_simulate_init_slave:
+	call spi_simulate_variable_release_slave
+	branch spi_simulate_gpio_config_slave
+
+spi_simulate_variable_release_slave:
+	arg mem_spi_simulate_read_byte_slave,contw
+	arg 53,loopcnt
+	call buffer_release
+	arg mem_spi_simulate_write_byte_slave,contw
+	arg 54,loopcnt
+	branch buffer_release
+
+buffer_release:
+	setarg 0
+buffer_release_loop:
+	istore 1,contw
+	loop buffer_release_loop
+	rtn
+	
+spi_simulate_gpio_config_slave:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_sclk_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_mosi_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_miso_gpio
+	call gpio_config_output
+	fetcht 1,mem_spi_simulate_motion_gpio
+	call gpio_config_output
+	branch spi_simulate_motion_disable
+
+spi_simulate_motion_enable:
+	fetcht 1,mem_spi_simulate_motion_gpio
+	branch gpio_out_inactive
+spi_simulate_motion_disable:
+	fetcht 1,mem_spi_simulate_motion_gpio
+	branch gpio_out_active
+	
+/*
+Brief: spi_simulate_read_byte_slave
+Input: rega: read length
+Output: mem_spi_simulate_read_byte_slave: read buffer
+Return: None
+Brief: when the cs_gpio is low level,slave reads data from master at the rising edge of the sclk gpio
+*/
+spi_simulate_read_byte_slave:
+	copy rega,pdata
+	store 1,mem_spi_simulate_read_length_slave
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nrtn true
+spi_simulate_read_byte_slave1:	
+	jam 0,mem_spi_simulate_read_byte_slave_temp
+	arg 8,loopcnt
+spi_simulate_read_byte_slave_loop:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_end,true
+	
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	branch spi_simulate_read_byte_slave_loop,true	
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	lshift pdata,pdata
+	store 1,mem_spi_simulate_read_byte_slave_temp
+	fetcht 1, mem_spi_simulate_mosi_gpio
+	call gpio_get_bit
+	ncall spi_simulate_read_byte_or_one,true
+spi_simulate_read_byte_slave_loop1:	
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_end,true
+
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_loop1,true
+	loop spi_simulate_read_byte_slave_loop
+	
+	fetcht 1,mem_spi_simulate_read_length_slave_temp
+	setarg mem_spi_simulate_read_byte_slave
+	iadd temp,contw
+	copy contw,regb
+	increase 1,temp
+	storet 1,mem_spi_simulate_read_length_slave_temp
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	copy regb,contw
+	istore 1,contw
+
+	fetch 1,mem_spi_simulate_read_length_slave
+	increase -1,pdata
+	store 1,mem_spi_simulate_read_length_slave
+	nbranch spi_simulate_read_byte_slave1,blank
+	
+spi_simulate_read_byte_slave_loop2:	
+	fetcht 1, mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_loop2,true
+spi_simulate_read_byte_slave_end:	
+	jam 0,mem_spi_simulate_read_length_slave
+	jam 0,mem_spi_simulate_read_length_slave_temp
+	jam 0,mem_spi_simulate_read_byte_slave_temp
+	rtn
+
+spi_simulate_read_byte_or_one:
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	or_into 1,pdata
+	store 1,mem_spi_simulate_read_byte_slave_temp
+	rtn
+
+
+/*
+Brief: spi_simulate_write_byte_slave
+Input: rega: write length;  write buffer:mem_spi_simulate_write_byte_slave;
+Output: None
+Return: None
+Brief: when the cs_gpio is low level,slave writes data to master at the falling edge of the sclk gpio
+*/
+spi_simulate_write_byte_slave:
+	copy rega,pdata
+	store 1,mem_spi_simulate_write_length_slave
+	jam 0,mem_spi_simulate_write_length_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nrtn true
+spi_simulate_write_byte_slave1:
+	fetcht 1,mem_spi_simulate_write_length_slave_temp
+	setarg mem_spi_simulate_write_byte_slave
+	iadd temp,contr
+	copy contr,regb
+	increase 1,temp
+	storet 1,mem_spi_simulate_write_length_slave_temp
+	copy regb,contr
+	ifetch 1,contr
+	store 1,mem_spi_simulate_write_byte_slave_temp
+	
+	arg 8,loopcnt
+spi_simulate_write_byte_slave_loop:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_end,true
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	branch spi_simulate_write_byte_slave_loop,true
+spi_simulate_write_byte_slave_loop1:
+	fetch 1,mem_spi_simulate_write_byte_slave_temp
+	store 1,mem_spi_simulate_write_byte_slave_temp_temp
+	and_into 0x80,pdata
+	beq 0x80,spi_simulate_set_miso_gpio_high
+	call spi_simulate_set_miso_gpio_low
+spi_simulate_write_byte_slave_loop2:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_end,true
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_loop2,true	
+	fetch 1,mem_spi_simulate_write_byte_slave_temp_temp
+	lshift pdata,pdata
+	store 1,mem_spi_simulate_write_byte_slave_temp
+	loop spi_simulate_write_byte_slave_loop
+
+	fetch 1,mem_spi_simulate_write_length_slave
+	increase -1,pdata
+	store 1,mem_spi_simulate_write_length_slave
+	nbranch spi_simulate_write_byte_slave1,blank
+	
+spi_simulate_write_byte_slave_loop3:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	branch spi_simulate_write_byte_slave_loop3,true
+spi_simulate_write_byte_slave_end:	
+	jam 0,mem_spi_simulate_write_length_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp_temp
+	rtn
+	
+spi_simulate_set_miso_gpio_high:
+	fetcht 1,mem_spi_simulate_miso_gpio
+	call gpio_out_inactive
+	branch spi_simulate_write_byte_slave_loop2
+spi_simulate_set_miso_gpio_low:
+	fetcht 1,mem_spi_simulate_miso_gpio
+	branch gpio_out_active	
+
+/******************************simulate spi slave end**********************************/
+
+endif  //SPI_SIMULATE
+
+
+/****************************************key scan***************************************/
+keyscan_key_init:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_init_next:
+	rtn blank
+	copy pdata,loopcnt
+//	copy contr,rega
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_key_init_lp1:
+	ifetcht 1, rega
+	call gpio_config_input
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_key_init_lp1
+keyscan_key_init_end:
+	rtn
+	
+keyscan_scan_key:
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+//	arg mem_key_conf0_pin,rega
+	force 0,regb
+	jam 0,mem_key_value_temp
+keyscan_scan_key_lp1:
+	ifetcht 1, rega
+	call gpio_get_bit
+	bpatchx patch34_1,mem_patch34
+	fetch 2, mem_key_value_temp
+	copy regb,queue
+	qsetflag true,pdata
+	store 2, mem_key_value_temp
+	increase KEY_CONF_STRUCT_LEN,rega
+	increase 1,regb
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_scan_key_lp1_next:
+	ixor regb,null
+	nbranch keyscan_scan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	fetcht 2,mem_key_value
+	ixor temp,null
+	rtn zero
+	enable user
+	rtn
+
+keyscan_process_lpm_before:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_process_lpm_before_next:
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_keyscan_ptr 
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_process_lpm_before_lp1:
+	ifetcht 1, rega
+	call gpio_set_wake_by_current_state
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_process_lpm_before_lp1
+keyscan_process_lpm_before_end:
+	rtn
+
+keyscan_key_process:
+	arg key_scan_timer,queue
+	call timer_check
+	nrtn blank
+	setarg 0x20
+	arg key_scan_timer,queue
+	call timer_init
+	disable user
+	call keyscan_process_lpm_before
+	bpatchx patch34_2,mem_patch34
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_process_next:
+	rtn blank
+	call keyscan_scan_key
+	nbranch lpm_button_clean_wake_lock,user
+	call lpm_button_get_wake_lock
+	disable user
+	fetch 2, mem_key_value_temp
+	store 2,mem_key_value_temp4
+	jam 0,mem_key_value_temp6
+	force 0,queue
+keyscan_key_lp1:
+	fetch 2, mem_key_value
+	rshift pdata,temp
+	storet 2,mem_key_value
+	and pdata,0x01,pdata
+	fetcht 2, mem_key_value_temp4
+	and temp,0x01,rega
+	rshift temp,temp
+	storet 2,mem_key_value_temp4
+	ixor rega,null
+	ncall keyscan_send_key_data,zero
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_lp1_next:
+	fetcht 1, mem_key_value_temp6
+	increase 1,temp
+	storet 1, mem_key_value_temp6
+	copy temp,queue
+	ixor queue,null
+	nbranch keyscan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	store 2, mem_key_value
+	rtn
+keyscan_send_key_data:
+	bpatchx patch34_3,mem_patch34
+	fetch 2,mem_keyscan_ptr
+	increase 1,pdata
+	ifetch 2,pdata
+	branch callback_func
+
+
+/*************************************pwm*************************************/
+
+//rega:clk select(0:system clk; 1:system clk undivied; 2:lpo)
+/*rega:clk select
+			0x00:select system clock 12M;
+			0x40:select undivied system clock 24M/48M;
+			0x80:select lpo clock:33K
+*/
+pwm_init:
+	hfetch 1,core_clksel
+	ior rega,pdata
+	hstore 1,core_clksel
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_PWM,pdata
+	hstore 2,core_clkoff
+	nop 100
+	rtn
+
+/*	typedef struct
+*	{
+*		uint8 gpio_num
+*		uint8 pwm_channel
+*		uint24 frequency
+*		uint8 duty_cycle   //0-100
+*	}PWM_Style;
+	addr: mem_pdatatemp
+*/
+pwm_out_set:
+	fetcht 3,mem_pdatatemp+2
+	setarg PWM_12MHZ
+	idiv temp
+	call wait_div_end
+	quotient temp
+	fetch 1,mem_pdatatemp+5
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient rega
+	copy temp,pdata
+	isub rega,regb	
+	fetch 1,mem_pdatatemp+1
+	call pwm_duty_cycle_set
+	fetch 1,mem_pdatatemp
+	branch pwm_enable
+
+//rega:pcnt ;regb:ncnt ;pdata:pwm channel select
+pwm_duty_cycle_set:
+	beq 0,pwm_pwm0_duty_set
+	beq 1,pwm_pwm1_duty_set
+	beq 2,pwm_pwm2_duty_set
+	beq 3,pwm_pwm3_duty_set
+	beq 4,pwm_pwm4_duty_set
+	beq 5,pwm_pwm5_duty_set
+pwm_pwm0_duty_set:
+	arg core_pwm_pcnt0,contw
+	branch pwm_set_pncnt
+pwm_pwm1_duty_set:
+	arg core_pwm_pcnt1,contw
+	branch pwm_set_pncnt
+pwm_pwm2_duty_set:
+	arg core_pwm_pcnt2,contw
+	branch pwm_set_pncnt
+pwm_pwm3_duty_set:
+	arg core_pwm_pcnt3,contw
+	branch pwm_set_pncnt
+pwm_pwm4_duty_set:
+	arg core_pwm_pcnt4,contw
+	branch pwm_set_pncnt
+pwm_pwm5_duty_set:
+	arg core_pwm_pcnt5,contw
+	branch pwm_set_pncnt
+pwm_set_pncnt:
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//pdata:gpio select
+pwm_enable:
+	enable user
+	branch pwm_gpio_set
+pwm_disable:
+	disable user
+pwm_gpio_set:
+	beq 4,pwm_gpio4_set
+	beq 5,pwm_gpio5_set
+	beq 27,pwm_gpio27_set
+	beq 28,pwm_gpio28_set
+	beq 3,pwm_gpio3_set
+	beq 8,pwm_gpio8_set
+	beq 20,pwm_gpio20_set
+	beq 21,pwm_gpio21_set
+	beq 22,pwm_gpio22_set
+	beq 23,pwm_gpio23_set
+	rtn
+
+
+pwm_gpio4_set:	//pwm 0
+	arg 6,queue
+	branch pwm_one_set_select
+pwm_gpio5_set:	//pwm 1
+  	arg 7,queue
+	branch pwm_one_set_select
+pwm_gpio27_set:	//pwm 2
+  	arg 8,queue
+	branch pwm_one_set_select
+pwm_gpio28_set:	//pwm 3
+	arg 9,queue
+	branch pwm_one_set_select
+pwm_gpio3_set:	//pwm 4
+ 	arg 10,queue
+	branch pwm_one_set_select
+pwm_gpio8_set:	//pwm 5
+  	arg 11,queue
+	branch pwm_one_set_select
+pwm_gpio20_set:	//pwm 0
+  	arg 12,queue
+	branch pwm_tw0_set_select
+pwm_gpio21_set:	//pwm 1
+  	arg 13,queue
+	branch pwm_tw0_set_select
+pwm_gpio22_set:	//pwm 2
+   	arg 14,queue
+	branch pwm_tw0_set_select
+pwm_gpio23_set:	//pwm 3
+    	arg 15,queue
+	branch pwm_tw0_set_select
+
+pwm_set_select:
+	hfetch 2,core_gpio_sel1
+	qsetflag user,pdata
+	hstore 2,core_gpio_sel1
+	copy rega,queue
+	hfetch 1,core_gpio_key2
+   	qsetflag user,pdata
+   	hstore 1,core_gpio_key2
+	rtn
+
+pwm_one_set_select:
+	add queue,-4,rega
+	branch pwm_set_select
+
+pwm_tw0_set_select:
+	add queue,-10,rega
+	branch pwm_set_select
+
+
+	
Index: YJX_Only24g/FCC_1021S/program/rfcomm.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/rfcomm.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/rfcomm.prog	(working copy)
@@ -0,0 +1,960 @@
+
+ifdef COMPILE_RFCOMM
+rfcomm_init:
+	rtn wake
+	jam 0,mem_rfcomm_send_more_pkt
+	jam BITS9600,memRemoteRPNBitRate        
+	jam DATABITS8,memRemotePRNDataBits      
+	jam 0x11,memRemotePRNXon
+	jam 0x13,memRemotePRNXoff
+	setarg 0
+	store 3,memRemotePRNStopBit
+	store 1,mem_spp_state                  
+	jam 0,memui_reconnect_mode
+	//branch rfcomm_init_spp
+rfcomm_init_spp:
+	bpatchx patch34_4,mem_patch34
+	setarg 0
+	store 1,mem_spp_state
+	store 1,mem_remote_spp_channel
+	store 1,mem_pn_dlci
+	fetch 1,mem_credit_flag
+	beq CREDIT_ENABLE,rfcomm_init_spp_with_credit
+	jam 0x50,mem_credit_given
+	rtn
+
+rfcomm_init_spp_with_credit:
+	jam 0x00,mem_credit_given
+	rtn
+
+set_CR_bit:
+	or_into 0x02,temp
+	rtn
+
+
+/*below added by koufan*/
+
+/*rfcomm_send */
+
+
+
+	/*rfcomm_calculate_FCS_sabm*/
+	/*input: address in temp*/
+	/*output: FCS in pdata  */
+rfcomm_calculate_FCS_sabm:
+	copy temp,pdata
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force INI_TX_SABM,pdata
+	reverse pdata,pdata
+	store 1,memFCStemp2
+	force 0x01,pdata                        
+	reverse pdata,pdata
+	store 1,memFCStemp1
+	call caculate_fcs
+	copy temp,pdata                        
+	rtn
+rfcomm_calculate_FCS_ua:
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force   RSP_TX_UA, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp2
+	force   0x01, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp1
+	branch caculate_fcs
+	/* FCS return from temp                */
+rfcomm_calculate_FCS_dlci0:
+	fetch 1,mem_rfcomm_initiator
+	branch rfcomm_calculate_FCS_dlci0_res,blank
+	setarg 0x70 //FCS of initiator
+	rtn
+rfcomm_calculate_FCS_dlci0_res:
+	setarg 0xaa//FCS of responder
+	rtn
+	
+rfcomm_save_FCS_uih:
+	reverse pdata, pdata //address 
+	store 1,memFCStemp3                     /* contw distroided                    */
+	force RSP_RX_UIH,pdata 
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw                      /* save FCS for later use              */
+	copy contw,temp
+	storet 2,mem_contw_temp
+	force RSP_RX_UIH_WDATA,pdata             /* P/F =1 + RSP_RX_UIH                 */
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw             /* save FCS for later use              */
+	rtn	
+/**********************************************************************/
+/* This subroutine caculates the FCS for UIH data                     */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3(bit reversed), control byte */
+/*        at pdata (not bit reversed)                                 */
+/* Output:                                                            */
+/*        pdata: the FCS                                              */
+/**********************************************************************/  
+caculate_UIHdata_fcs:
+	reverse pdata,pdata
+	store   1,memFCStemp2
+	fetch   2, memFCStemp2                     
+	lshift8 pdata,pdata
+	store 3,mem_mod2div_temp
+	arg     0x107,regA
+	arg 0xf,regB
+	call mod2div
+	xor_into     0xd7, pdata
+	invert  pdata,pdata
+	reverse pdata,pdata
+	rtn
+	
+/**********************************************************************/
+/* This subroutine caculates the FCS                                  */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3, control byte at memFCStemp2*/  
+/*        lenght at memFCStemp1 (all above data are bit reversed)     */
+/* Output:                                                            */
+/*        temp: the FCS                                               */
+/**********************************************************************/     
+caculate_fcs:
+	fetch 3, memFCStemp1                    /* load 3 bytes start at memFCStemp1   */
+	store 3,mem_mod2div_temp
+	arg 0x107,regA
+	arg 0xf,regB  //24bit(memFCStemp1+..+memFCStemp3) - 9bit(regA) = 15bit
+	call mod2div
+	lshift8 pdata,pdata 
+	arg 0x7, regB  //16bit(lshift8 pdata,pdata ) - 9bit(regA) = 7bit
+	call mod2div
+	xor_into     0x2b, pdata		//0x3d
+	invert  pdata, pdata                        
+	reverse pdata, pdata                      /* FCS at pdata                        */
+	copy    pdata, temp
+	rtn
+
+mod2div:
+	arg 0,regC
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	icopy temp
+mod2div_loop:
+	//jam 1,0x1fff
+//mod2div_loop1:
+	//fetch 1,0x1fff
+	//nbranch mod2div_loop1,blank
+	copy temp,pdata
+	lshift regC,regC//quotient
+	bbit0 8, mod2div_not_enough_reduction//the high bit of 0x107
+	ixor regA,temp// temp----remainer
+	increase 1,regC// quotient
+mod2div_not_enough_reduction: //Minuend smaller than Subtrahend
+	lshift temp,temp
+	fetch 3,mem_mod2div_temp
+	increase -1,regB
+	compare 0xff,regB,0xff
+	branch mod2div_end,true
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	isolate1 0,pdata
+	setflag true,0,temp //move a new bit from Dividend(queue) into Minuend(pdata)
+	branch mod2div_loop
+mod2div_end:
+	//output:remainer in pdata
+	rshift  temp,pdata
+	rtn
+
+get_rfcomm_snd_adss:
+	fetcht 1,mem_pn_dlci
+dlci_to_address_cmd:
+	//input DLCI from temp
+	lshift2 temp,temp
+	set1 RFCOMM_ADDRESS_EXT_LEN,temp
+	fetch 1,mem_rfcomm_initiator
+	ncall set_CR_bit,blank
+	storet 1,mem_rfcomm_send_adss
+	rtn
+
+channel_to_dlci:
+	//input channel from temp
+	lshift temp,temp
+	fetch 1,mem_rfcomm_initiator
+	setflag blank,0,temp //direction in dlci
+	//output dlci to temp
+	rtn
+rfcomm_rx_process_DLCI0_sabm:
+	fetcht 1,mem_current_channel //address
+	jam 0xd7,mem_current_fcs //FCS
+	call rfcomm_send_ua
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	jam 0,mem_rfcomm_initiator
+	branch rfcomm_rx_process_end
+rfcomm_rx_process_DLCI0_ua:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	branch rfcomm_rx_process_end
+
+	
+rfcomm_rx_process:
+	bpatchx patch34_5,mem_patch34
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,rfcomm_rx_process_remote_page
+	branch rfcomm_rx_process_reconn
+
+rfcomm_rx_process_remote_page:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_dlci0_rp
+	branch parse_uih_rp
+parse_dlci0_rp:
+	bpatchx patch34_6,mem_patch34
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_rp_uih
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn_send_event
+	rtn
+
+
+parse_DLCI0_rp_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_rp_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_rp_uih_pn_res
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_rp_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_rp_uih_ms_res
+	beq UIH_PARAM_CMD_REMOVE_PORT,parse_DLCI0_rp_uih_cmd_port	
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+
+	branch parse_DLCI0_rp_uih_pn_cmd_spp
+
+parse_DLCI0_rp_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	call rfcomm_send_param_neg_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_res:
+	call parse_DLCI0_rp_uih_pn_res_common
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_pn_res_common:
+	call get_param_payload_ptr
+	branch  get_rfcomm_prarmer_negotiation
+
+get_rfcomm_param_modem_status:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	rshift3 pdata,pdata
+	store 1,mem_ms_channel
+	ifetch 1,contr
+	store 1,mem_ms_param
+	rtn
+
+
+get_rfcomm_head_struct:
+	ifetch 1,contr
+	store 1,mem_current_adss
+	rshift3 pdata,pdata
+	store 1,mem_current_channel
+	ifetch 1,contr
+	store 1,mem_current_frame_type
+get_rfcomm_current_length:
+	call get_rfcomm_length_common
+	storet 2,mem_current_length
+	copy contr,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	rtn
+
+get_rfcomm_uih_head_struct:
+	ifetch 1,contr
+	rshift pdata,pdata
+	store 1,mem_uih_cmd_type
+	call get_rfcomm_length_common
+	storet 2,mem_uih_length
+	copy contr,pdata
+	store 2,mem_param_payload_ptr
+	rtn
+
+
+get_param_payload_ptr:
+	fetch 2,mem_param_payload_ptr
+	copy pdata,contr
+	rtn
+
+get_rfcomm_length_common:
+	ifetch 1,contr
+	copy pdata,temp
+	rshift temp,temp
+	rtnbit1 0
+	ifetch 1,contr
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	iadd temp,temp
+	rtn
+
+get_rfcomm_prarmer_negotiation:
+	ifetch 1,contr
+	store 1,mem_pn_dlci
+	ifetch 1,contr
+	store 1,mem_pn_credit_flow_type_info
+	ifetch 1,contr
+	store 1,mem_pn_priority
+	ifetch 1,contr
+	store 1,mem_pn_acknowledg_timer
+	ifetch 2,contr
+	store 2,mem_pn_max_frame_size
+	ifetch 1,contr
+	store 1,mem_pn_max_retrans
+	ifetch 1,contr
+	store 1,mem_remote_credits
+	rtn
+
+
+parse_DLCI0_rp_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+
+	branch parse_DLCI0_rp_uih_ms_cmd_spp
+
+parse_DLCI0_rp_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	jam MORE_PKT_MSC_CMD_SPP,mem_rfcomm_send_more_pkt
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_ms_res:
+	jam BT_EVT_SPP_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	sub pdata,1,null
+	branch parse_DLCI0_rp_uih_MS_RES_spp,zero
+	branch assert
+parse_DLCI0_rp_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_cmd_port:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	store 1,mem_rpn_dlci
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	//setarg 5
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch34_7,mem_patch34
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1191
+	istore 2,contw
+	//fetch 1,mem_pn_dlci
+	//setarg 0x0b
+	fetch 1,mem_rpn_dlci
+	istore 1,contw //DLCI
+	setarg 0x000007
+	istore 5,contw
+//	setarg 0 //max frame size
+//	istore 2,contw 
+	setarg 0x01 //max retrans
+	istore 2,contw
+//	setarg 0x00
+//	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+
+
+parse_uih_rp:
+	branch parse_uih_rp_spp
+
+parse_uih_rp_spp:
+	bpatchx patch35_0,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_rp_spp_ua
+	beq RFCOMM_FRAME_TYPE_SABM,parse_uih_rp_spp_sabm
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn
+	rtn
+parse_uih_rp_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_rp_spp_sabm:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	set1 RFCOMM_CHANNEL_STATE_SABM,pdata
+	store 1,mem_spp_state
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	fetch 1,mem_current_adss
+	rshift2 pdata,pdata
+	store 1,mem_pn_dlci
+	lshift2 pdata,pdata
+	set0 RFCOMM_ADDRESS_CR,pdata
+	set1 RFCOMM_ADDRESS_EXT_LEN,pdata 
+	arg mem_HIUfcs_spp,temp // mem_HIUfcs_HF_WCredits in regB++
+	storet 2,mem_contw_temp
+	call rfcomm_save_FCS_uih
+	branch rfcomm_rx_process_end
+	
+parse_uih_spp_uih_credits:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	increase 1,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	ifetch 1,contr //remote credits
+	fetcht 1,mem_remote_credits
+	iadd temp,pdata
+	store 1,mem_remote_credits
+parse_uih_spp_uih:
+	call rfcomm_increase_credit_given
+parse_uih_spp_uih_cont:
+	call get_rfcomm_snd_adss
+	call rfcomm_send_uih_without_payload
+	call spp_process_rx_data
+	branch rfcomm_rx_process_end
+
+parse_uih_rp_spp_disconn_send_event:
+	jam BT_EVT_SPP_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event	
+parse_uih_rp_spp_disconn:
+	call rfcomm_init_spp
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	branch rfcomm_rx_process_end
+	
+///////////////////////////////////////////
+///////////////////////////////////////////
+///////////////////////////////////////////
+rfcomm_rx_process_reconn:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_DLCI0_reconn
+	branch parse_uih_reconn
+		
+parse_DLCI0_reconn:
+	bpatchx patch35_1,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_reconn_uih
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_reconn_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_reconn_uih_ms_res
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+	fetch 1,mem_pn_dlci
+	rshift pdata,pdata
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_pn_cmd_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_cmd_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_reconn_uih_ms_res:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_res_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn:
+	fetch 1,mem_current_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_uih_reconn_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_reconn_spp_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_reconn_spp_disconn
+parse_uih_reconn_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_reconn_spp_sabm:
+	branch parse_uih_reconn_spp_sabm//loop
+parse_uih_reconn_spp_disconn:
+	branch parse_uih_rp_spp_disconn
+rfcomm_rx_process_end:
+	rtn
+	
+rfcomm_send_more_pkt:
+	fetch 1,mem_rfcomm_send_more_pkt
+	rtn blank
+	beq MORE_PKT_MSC_CMD_SPP,rfcomm_send_more_pkt_msc_cmd_spp
+	branch assert
+	
+rfcomm_send_more_pkt_msc_cmd_spp:
+	jam 0,mem_rfcomm_send_more_pkt
+	call l2cap_malloc_rfcomm_channel
+	arg SPP_SLAVE_CHANNEL,temp
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+rfcomm_send_more_pkt_msc_cmd_spp0:
+	or_into 0x03,temp
+	arg 0xaa,regA
+	call rfcomm_send_modem_status_cmd
+	call l2cap_get_rfcomm_tx_buff
+	copy contw,contr
+	ifetch 2, contr
+	branch assert,blank
+	rtn
+
+rfcomm_send_sabm:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_2,mem_patch35
+	setarg 0x013f
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_ua:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_3,mem_patch35
+	setarg 0x0173
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_param_neg_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_4,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1183
+	istore 2,contw
+	copy temp,pdata //DLCI in temp
+	istore 1,contw
+	setarg 0x0000f0
+	istore 3,contw
+	setarg RFCOMM_MAX_FRAME_SIZE
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	setarg 0x01		//change here later
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	jam 0x10,mem_credit_given
+	rtn
+rfcomm_send_param_neg_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_5,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1181
+	istore 2,contw
+	fetch 1,mem_pn_dlci
+	istore 1,contw //DLCI
+	setarg 0x0000e0
+	istore 3,contw
+	fetch 2,mem_rfcomm_max_frame_size
+	istore 2,contw 
+	setarg 0x00 //max retrans
+	istore 1,contw
+	fetch 1,mem_rfcomm_credit_init_data
+	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+rfcomm_send_modem_status_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_6,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e3
+	istore 2,contw
+	copy temp,pdata //DLCI adress
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_modem_status_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	copy temp,timeup
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_7,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e1
+	istore 2,contw
+	copy timeup,pdata //DLCI address in temp
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_uih_without_payload:
+	bpatchx patch36_0,mem_patch36
+	fetch 1,mem_credit_given
+	rtn blank
+	hfetch 2,core_uart_rxitems
+	nrtn blank
+	copy rega,pdata
+	store 1,mem_pdatatemp+1
+	storet 1,mem_pdatatemp
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x05
+	istore 2,contw
+	fetch 2,mem_RFCOMM_remote_CID
+	istore 2,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	setarg 0x01ff
+	istore 2,contw
+	fetch 1,mem_credit_given
+	istore 1,contw
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	istore 1,contw
+	jam 0,mem_credit_given
+	rtn
+	
+rfcomm_increase_credit_given:
+	bpatchx patch36_1,mem_patch36
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_ENABLE
+	fetch 2,mem_current_length
+	rtn blank
+	fetch 1,mem_credit_given
+	increase 1,pdata
+	store 1,mem_credit_given
+	rtn
+
+spp_process_rx_data:
+	fetch 2,mem_cb_receive_spp_data
+	branch callback_func
+
+spp_tx_rfcomm_packet:
+	bpatchx patch36_2,mem_patch36
+	//credit
+	fetch 1,mem_remote_credits
+	rtn blank
+	increase -1,pdata
+	store 1,mem_remote_credits
+	fetch 2,mem_pn_max_frame_size
+	fetcht 2,mem_current_packet_length
+	isub temp,null
+	branch ssp_tx_rfcomm_from_uart,positive
+	store 2,mem_current_packet_length
+ssp_tx_rfcomm_from_uart:
+	fetch 1,mem_credit_given
+	branch ssp_tx_rfcomm_from_uart_without_credit,blank
+	jam 1,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_RX_UIH_WDATA
+	store 1,mem_rfcomm_send_frame_type
+	branch ssp_tx_rfcomm_from_uart_common
+ssp_tx_rfcomm_from_uart_without_credit:
+	jam 0,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_TX_UIH
+	store 1,mem_rfcomm_send_frame_type
+ssp_tx_rfcomm_from_uart_common:
+	bpatchx patch36_3,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,127,null
+	branch ssp_tx_rfcomm_from_uart_common0,positive
+	fetch 1,mem_rfcomm_send_offset
+	increase 1,pdata
+	store 1,mem_rfcomm_send_offset
+ssp_tx_rfcomm_from_uart_common0:
+	call get_rfcomm_snd_adss
+	fetch 2,mem_current_packet_length
+	increase 8,pdata	//fcs + rfcommhead + l2caphead == 8
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,rega
+	//rfcomm payload
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	copy pdata,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	fetch 1,mem_rfcomm_send_frame_type
+	istore 1,contw
+	call ssp_tx_write_length
+	call ssp_tx_write_given_credit
+	bpatchx patch36_4,mem_patch36
+	fetch 2,mem_nl_rx_data_src		//src
+	copy pdata,contru
+	fetch 2,mem_current_packet_length
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contw,temp
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+	copy temp,contw	
+	fetch 1,mem_rfcomm_send_fcs
+	istore 1,contw
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	copy pdata,contw
+	fetch 2,mem_current_packet_length
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,pdata
+	increase 4,pdata
+	istore 2,contw
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw
+	jam 0,mem_credit_given	//whatever mem_credit_given is set to 0
+	fetch 2,mem_nl_rx_len_all
+	beq 0,module_hci_command_tx_spp_tx_complete
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	rtn
+
+ssp_tx_write_length:
+	bpatchx patch36_5,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,0x7f,null
+	nbranch ssp_tx_write_long_packet,positive
+	lshift pdata,pdata
+	set1 0,pdata
+	istore 1,contw
+	rtn
+ssp_tx_write_long_packet:
+	fetch 2,mem_current_packet_length
+	rshift3 pdata,pdata
+	rshift4 pdata,temp
+	and_into 0x7f,pdata
+	lshift pdata,pdata
+	set0 0,pdata
+	istore 1,contw
+	istoret 1,contw
+	rtn
+ssp_tx_write_given_credit:
+	fetch 1,mem_credit_given
+	rtn blank
+	istore 1,contw
+	rtn
+
+	
+
+
+else
+
+rfcomm_init:
+	rtn
+rfcomm_init_spp:
+set_CR_bit:
+rfcomm_calculate_FCS_sabm:
+rfcomm_calculate_FCS_ua:
+rfcomm_calculate_FCS_dlci0:
+rfcomm_calculate_FCS_dlci0_res:
+rfcomm_save_FCS_uih:
+caculate_UIHdata_fcs:
+caculate_fcs:
+mod2div:
+mod2div_loop:
+mod2div_not_enough_reduction:
+mod2div_end:
+get_rfcomm_snd_adss:
+dlci_to_address_cmd:
+dlci_to_address_res:
+channel_to_dlci:
+rfcomm_rx_process_DLCI0_sabm:
+rfcomm_rx_process_DLCI0_ua:
+rfcomm_rx_process:
+rfcomm_rx_process_remote_page:
+parse_dlci0_rp:
+parse_DLCI0_rp_uih:
+parse_DLCI0_rp_uih_pn_cmd:
+parse_DLCI0_rp_uih_pn_cmd_spp:
+parse_DLCI0_rp_uih_pn_res:
+parse_DLCI0_rp_uih_pn_res_common:
+get_rfcomm_param_modem_status:
+get_rfcomm_head_struct:
+get_rfcomm_current_length:
+get_rfcomm_uih_head_struct:
+get_param_payload_ptr:
+get_rfcomm_param_length_common:
+get_rfcomm_length_common:
+get_rfcomm_prarmer_negotiation:
+parse_DLCI0_rp_uih_ms_cmd:
+parse_DLCI0_rp_uih_ms_cmd_spp:
+parse_DLCI0_rp_uih_ms_res:
+parse_DLCI0_rp_uih_ms_res_spp:
+parse_uih_rp:
+parse_uih_rp_spp:
+parse_uih_rp_spp_ua:
+parse_uih_rp_spp_sabm:
+parse_uih_spp_uih_credits:
+parse_uih_spp_uih:
+parse_uih_spp_uih_cont:
+parse_uih_rp_spp_disconn:
+rfcomm_rx_process_reconn:
+	branch assert 
+parse_DLCI0_reconn:
+parse_DLCI0_reconn_uih:
+parse_DLCI0_reconn_uih_pn_cmd:
+parse_DLCI0_reconn_uih_pn_cmd_spp:
+parse_DLCI0_reconn_uih_ms_cmd:
+parse_DLCI0_reconn_uih_ms_cmd_spp:
+parse_DLCI0_reconn_uih_ms_res:
+parse_DLCI0_reconn_uih_ms_res_noext:
+parse_DLCI0_reconn_uih_ms_res_spp:
+parse_uih_reconn:
+parse_uih_reconn_spp:
+parse_uih_reconn_spp_ua:
+parse_uih_reconn_spp_sabm:
+parse_uih_reconn_spp_disconn:
+rfcomm_rx_process_end:
+rfcomm_send_more_pkt:
+rfcomm_send_more_pkt_msc_cmd_spp:
+rfcomm_send_sabm:
+rfcomm_send_ua:
+rfcomm_send_param_neg_cmd:
+rfcomm_send_param_neg_res:
+rfcomm_send_modem_status_cmd:
+rfcomm_send_modem_status_res:
+rfcomm_send_uih_without_payload:
+rfcomm_increase_credit_given:
+spp_process_rx_data:
+spp_tx_rfcomm_packet:
+ssp_tx_rfcomm_from_uart:
+ssp_tx_rfcomm_from_uart_without_credit:
+ssp_tx_rfcomm_from_uart_common:
+ssp_tx_rfcomm_from_uart_common0:
+ssp_tx_write_length:
+ssp_tx_write_long_packet:
+ssp_tx_write_given_credit:
+	branch assert
+endif
Index: YJX_Only24g/FCC_1021S/program/scheduler.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/scheduler.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/scheduler.prog	(working copy)
@@ -0,0 +1,461 @@
+scheduler_process:
+	bpatchx patch36_6,mem_patch36
+	call check_51cmd
+	call app_process_bb_event
+	call process_conn_sm
+/* check the connection state sequence byte */
+	bpatchx patch36_7,mem_patch36
+ifdef SIMPLE_PAIRING
+	call sp_calc_sequence
+	call simple_pairing_sequence
+	call master_simple_paring_sequence
+endif
+//return if it is hci mode. 'cause the following is host part.
+//notify BB to tx a l2cap packet
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	//for conn to MTK 
+	call l2cap_call_proc_sigal_pending
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	bpatchx patch37_0,mem_patch37
+//to generat a new l2cap packet
+	call process_upper_sm
+	call l2cap_send_config_req
+ifdef COMPILE_RFCOMM
+	call rfcomm_send_more_pkt//use this function to send msc_cmd after msc_rep sent
+endif
+scheduler_process0:
+	call scheduler_tx_disconnect_hid //may not used
+	bpatchx patch37_1,mem_patch37
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	branch app_process_bt
+	
+scheduler_tx_disconnect_hid:
+	fetch 1,mem_CONTROL_tasks		
+	bbit1 L2CAP_DISCONNECT_INTERRUPT,L2CAP_disconnect_interrupt_req
+	bbit1 L2CAP_DISCONNECT_CONTROL,L2CAP_disconnect_control_req
+	rtn
+	
+scheduler_tx_l2cap_pkt:
+	bpatchx patch37_2,mem_patch37
+	call l2cap_malloc_is_fifo_empty
+	rtn blank //empty
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+	call l2cap_malloc_fifo_out
+	store 2,mem_txptr
+	copy pdata,contr
+	ifetch 2,contr
+	increase 4,pdata
+	store 2,mem_tx_len
+	jam 6,mem_tx_lch//start pkt
+	bpatchx patch37_3,mem_patch37
+	fetch 2,mem_l2cap_tx_multi_offset
+	branch scheduler_tx_l2cap_start_pkt,blank
+	fetch 1,mem_op
+	rtnbit0 op_pkt_comp
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	jam 5,mem_tx_lch//continue pkt
+	fetcht 2,mem_l2cap_tx_multi_offset
+	fetch 2,mem_txptr
+	iadd temp,pdata
+	store 2,mem_txptr
+	fetch 2,mem_tx_len
+	isub temp,pdata
+	store 2,mem_tx_len
+scheduler_tx_l2cap_start_pkt:
+	bpatchx patch37_4,mem_patch37
+	fetch 2,mem_tx_len
+	branch assert,blank
+	arg l2cap_max_pkt_len,temp //max len of dh3 pkt
+	isub temp,pdata
+	nbranch scheduler_Tx_l2cap_last_pkt,positive
+	bpatchx patch37_5,mem_patch37
+	storet 2,mem_tx_len //l2cap_max_pkt_len
+	fetch 2,mem_l2cap_tx_multi_offset
+	iadd temp,pdata
+	store 2,mem_l2cap_tx_multi_offset
+	branch scheduler_Tx_l2cap_pkt_end
+scheduler_Tx_l2cap_last_pkt:
+	setarg 0
+	store 2,mem_l2cap_tx_multi_offset
+scheduler_Tx_l2cap_pkt_end:
+	fetch 1,mem_op
+	set1 op_txl2cap,pdata
+	store 1,mem_op
+	rtn
+
+scheduler_start_upper_sm:
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,scheduler_start_upper_sm_hid
+	jam UPPERSM_RECONN_SDP_CONN,mem_upper_sm_reconn
+	rtn
+scheduler_start_upper_sm_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	rtn
+	
+process_upper_sm:
+	fetch 1,memui_reconnect_mode
+	nbranch process_upper_sm_reconn,blank
+process_upper_sm_remote_page:
+	fetch 1,mem_upper_sm_remote_page
+	//beq UPPERSM_RP_IDLE,process_upper_sm_rp_idle
+	rtn blank
+	//nothing to do when remote page to create a connection.
+	jam 0,mem_upper_sm_remote_page
+process_upper_sm_rp_wait:
+	rtn
+
+
+process_upper_sm_reconn:
+	bpatchx patch37_6,mem_patch37
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+	beq UPPERSM_RECONN_SDP_CONN,process_upper_sm_reconn_sdp_conn
+	beq UPPERSM_RECONN_SDP_CONN_WAIT,process_upper_sm_reconn_sdp_conn_wait
+	beq UPPERSM_RECONN_SDP_CFG,process_upper_sm_reconn_sdp_cfg
+	beq UPPERSM_RECONN_SDP_CFG_WAIT,process_upper_sm_reconn_sdp_cfg_wait
+	beq UPPERSM_RECONN_SS_SPP,process_upper_sm_reconn_ss_spp
+	beq UPPERSM_RECONN_SS_SPP_WAIT,process_upper_sm_reconn_ss_spp_wait
+	beq UPPERSM_RECONN_SDP_DISCONN,process_upper_sm_reconn_sdp_disconn
+	beq UPPERSM_RECONN_SDP_DISCONN_WAIT,process_upper_sm_reconn_sdp_disconn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CONN,process_upper_sm_reconn_hid_ctrl_conn
+	beq UPPERSM_RECONN_HID_CTRL_CONN_WAIT,process_upper_sm_reconn_hid_ctrl_conn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CFG,process_upper_sm_reconn_hid_ctrl_cfg
+	beq UPPERSM_RECONN_HID_CTRL_CFG_WAIT,process_upper_sm_reconn_hid_ctrl_cfg_wait
+	beq UPPERSM_RECONN_HID_INT_CONN,process_upper_sm_reconn_hid_int_conn
+	beq UPPERSM_RECONN_HID_INT_CONN_WAIT,process_upper_sm_reconn_hid_int_conn_wait
+	beq UPPERSM_RECONN_HID_INT_CFG,process_upper_sm_reconn_hid_int_cfg
+	beq UPPERSM_RECONN_HID_INT_CFG_WAIT,process_upper_sm_reconn_hid_int_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_CONN,process_upper_sm_reconn_rfcomm_conn
+	beq UPPERSM_RECONN_RFCOMM_CONN_WAIT,process_upper_sm_reconn_rfcomm_conn_wait
+	beq UPPERSM_RECONN_RFCOMM_CFG,process_upper_sm_reconn_rfcomm_cfg
+	beq UPPERSM_RECONN_RFCOMM_CFG_WAIT,process_upper_sm_reconn_rfcomm_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_SABM,process_upper_sm_reconn_rfcomm_sabm
+	beq UPPERSM_RECONN_RFCOMM_SABM_WAIT,process_upper_sm_reconn_rfcomm_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_PN,process_upper_sm_reconn_spp_cmd_pn
+	beq UPPERSM_RECONN_SPP_CMD_PN_WAIT,process_upper_sm_reconn_spp_cmd_pn_wait
+	beq UPPERSM_RECONN_SPP_SABM,process_upper_sm_reconn_spp_sabm
+	beq UPPERSM_RECONN_SPP_SABM_WAIT,process_upper_sm_reconn_spp_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_MS,process_upper_sm_reconn_spp_cmd_ms
+	beq UPPERSM_RECONN_SPP_CMD_MS_WAIT,process_upper_sm_reconn_spp_cmd_ms_wait
+process_upper_sm_reconn_wait:
+	rtn
+process_upper_sm_reconn_sdp_conn:
+	call upper_sm_send_sdp_conn //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_sdp_cfg:
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	call upper_sm_send_sdp_cfg //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_ss_spp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank
+	call upper_sm_send_ss_spp
+	jam UPPERSM_RECONN_SS_SPP_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_sdp_disconn:
+	call upper_sm_send_sdp_disconn
+	jam UPPERSM_RECONN_SDP_DISCONN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_hid_ctrl_conn:
+	call upper_sm_send_hid_ctrl_conn
+	jam UPPERSM_RECONN_HID_CTRL_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_ctrl_cfg:    
+	call upper_sm_send_hid_ctrl_cfg
+	jam UPPERSM_RECONN_HID_CTRL_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_int_conn:
+	call upper_sm_send_hid_int_conn
+	jam UPPERSM_RECONN_HID_INT_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_hid_int_cfg:    
+	call upper_sm_send_hid_int_cfg
+	jam UPPERSM_RECONN_HID_INT_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_rfcomm_conn:
+	call upper_sm_send_rfcomm_conn
+	jam UPPERSM_RECONN_RFCOMM_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_cfg: 
+	call upper_sm_send_rfcomm_cfg
+	jam UPPERSM_RECONN_RFCOMM_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_sabm:
+	call upper_sm_send_rfcomm_sabm
+	jam UPPERSM_RECONN_RFCOMM_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_spp_cmd_pn: 
+	call upper_sm_send_spp_cmd_pn
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_PN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_spp_sabm:   
+	call upper_sm_send_spp_sabm
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SABM
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_remote_spp_channel //address in pdata
+	lshift3 pdata,pdata
+	or_into 3,pdata
+	arg mem_HIUfcs_SPP,temp // mem_HIUfcs_spp_WCredits in regB++
+	storet 2,mem_contw_temp
+	branch rfcomm_save_FCS_uih
+process_upper_sm_reconn_spp_cmd_ms: 
+	call upper_sm_send_spp_cmd_ms
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_MS_WAIT,mem_upper_sm_reconn
+	rtn
+
+process_upper_sm_reconn_sdp_conn_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_cfg_wait:
+	fetch 1,mem_sdp_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_SS_SPP ,mem_upper_sm_reconn
+process_upper_sm_reconn_ss_spp_wait:
+	fetch 1,mem_message_to_uppersm
+	rtnne RECIEVE_SS_REASULT_HF
+	jam 0,mem_message_to_uppersm
+	jam UPPERSM_RECONN_SDP_DISCONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_disconn_wait:
+	fetch 1,mem_sdp_state
+	nrtn blank
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,process_upper_sm_reconn_setup_hid
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+	fetch 1,mem_hid_control_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_CTRL_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+	fetch 1,mem_hid_control_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_HID_INT_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_conn_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_INT_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_cfg_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_rfcomm_conn_wait: 
+	fetch 1,mem_rfcomm_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_RFCOMM_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_cfg_wait:
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_RFCOMM_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_sabm_wait:  
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_spp
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_spp_cmd_pn_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_PN_RES
+	jam UPPERSM_RECONN_SPP_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_sabm_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_UA
+	jam UPPERSM_RECONN_SPP_CMD_MS ,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_cmd_ms_wait: 
+	fetch 1,mem_spp_state
+	rtnne RFCOMM_CHANNEL_SETUP_COMPLETE
+	branch process_upper_sm_reconn_termination
+
+process_upper_sm_reconn_setup_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+process_upper_sm_reconn_setup_rfcomm:
+	jam UPPERSM_RECONN_RFCOMM_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_setup_spp:
+	jam UPPERSM_RECONN_SPP_CMD_PN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+
+
+process_upper_sm_reconn_termination:
+	jam 0,mem_upper_sm_reconn
+	rtn
+upper_sm_send_sdp_conn:
+	bpatchx patch37_7,mem_patch37
+	call l2cap_malloc_signal_channel
+	setarg PSM_SDP
+	copy pdata,temp
+	setarg L2CAP_SDP_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_sdp_cfg:
+	bpatchx patch38_0,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+	
+upper_sm_send_sdp_disconn:
+	bpatchx patch38_1,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	arg L2CAP_SDP_channel,timeup
+	call ML2CAP_send_signal_disconn_req
+	fetch 1,mem_sdp_state
+	set0 L2CAP_CHANNEL_STATE_RCV_CFG_RES ,pdata
+	store 1,mem_sdp_state
+	rtn
+//service search
+upper_sm_send_ss_spp:
+	bpatchx patch38_2,mem_patch38
+	call l2cap_malloc_sdp_channel
+	call sdp_send_spp_request
+	branch MSDP_send_req_done
+
+upper_sm_send_rfcomm_conn:
+	bpatchx patch38_3,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_RFCOMM
+	copy pdata,temp
+	setarg L2CAP_RFCOMM_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_rfcomm_cfg:
+	bpatchx patch38_4,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_rfcomm_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_ctrl_conn:
+	bpatchx patch38_5,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_control
+	copy pdata,temp
+	setarg L2CAP_HID_Control_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_hid_ctrl_cfg:
+	bpatchx patch38_6,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_int_conn:
+	bpatchx patch38_7,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_interrupt
+	copy pdata,temp
+	setarg L2CAP_HID_interrupt_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_hid_int_cfg:
+	bpatchx patch39_0,mem_patch39
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_rfcomm_sabm:
+	bpatchx patch39_1,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	//force 3,temp //address
+	jam 3,mem_current_adss
+	jam 0x1c,mem_current_fcs
+	call rfcomm_send_sabm
+	jam 1,mem_rfcomm_initiator
+	rtn
+
+upper_sm_send_spp_cmd_pn:
+	bpatchx patch39_2,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_remote_spp_channel
+	call channel_to_dlci
+	storet 1,mem_pn_dlci
+	branch rfcomm_send_param_neg_cmd
+
+upper_sm_send_spp_sabm:
+	bpatchx patch39_3,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	call rfcomm_calculate_FCS_sabm //sabm fcs use once only,not need to save
+	store 1,mem_current_fcs
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	storet 1,mem_current_adss
+	branch rfcomm_send_sabm
+
+upper_sm_send_spp_cmd_ms:
+	bpatchx patch39_4,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd //address in temp
+	branch rfcomm_send_modem_status_cmd
+
+
+
Index: YJX_Only24g/FCC_1021S/program/sdp.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/sdp.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/sdp.prog	(working copy)
@@ -0,0 +1,1206 @@
+/**********************************************************************/
+/* Subroutine: sdp_process                                         */
+/* Process Service Discovery Request                                  */
+/* Called from L2CAP, check PDUID, branch to different req processings*/
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload                                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process:
+	bpatchx patch39_5,mem_patch39
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+//	ifetchr regb,1,contr				/* PDUID */
+//	storer regb,1,mem_sdp_pduid
+	ifetch 1,contr
+	copy pdata,regb
+	store 1,mem_sdp_pduid
+	ifetch 2,contr
+	store 2,mem_sdp_transactionid			/* save transaction id */
+	ifetch 1,contr				/* higher byte of parameter length */
+	lshift8 pdata,timeup				
+	ifetch 1,contr				/* lower byte of parameter length */
+	iadd timeup,timeup				/* parameter length stored in "timeup" */
+	bpatchx patch39_6,mem_patch39
+	copy contr,temp
+	arg 4,loopcnt
+	arg mem_sdp_handle_list,contw
+	call memset0
+	copy temp,contr 
+	deposit regb						/* PDUID  */
+	beq SDP_ERROR_RES,sdp_process_error_res
+	beq SDP_SEARCH_REQ,sdp_process_ss_req
+	beq SDP_SEARCH_RES,sdp_process_ss_res
+	beq SDP_ATTRIBUTE_REQ,sdp_process_sa_req
+	beq SDP_ATTRIBUTE_RES,sdp_process_sa_res
+	beq SDP_SEARCHATTRIB_REQ,sdp_process_ssa_req
+	beq SDP_SEARCHATTRIB_RES,sdp_process_ssa_res
+	branch sdp_insufficient_resource
+
+/**********************************************************************/
+/* ss_req			                              */
+/* Processing Service Search Request                                  */
+/* Call: ask_serviceclassid, empty_response                     */
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ss_req:
+	bpatchx patch39_7,mem_patch39
+	call ask_serviceclassid
+	compare 1,temp,0xff
+	branch ss_empty_rsp,true
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+
+	ifetch 2,contr				/* max aservice record count */
+	store 2,mem_sdp_record_maxcnt
+	increase -2,timeup
+
+	increase -1,timeup				/* continuation state 1 byte (0) */
+	nbranch sdp_invalid_pdu_size,zero		/* invalid pdu size */
+	arg mem_sdp_uuid_search_ptr,timeup
+	ifetch 2,timeup
+	rtn blank
+	call search_all_uuid
+	call l2cap_get_sdp_tx_payload			/* put the pointer to Tx buffer  */
+	force 3,pdata						/* PDUID 3, Service Search Response */
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			/* write transaction id */
+	istore 2,contw
+	lshift2 queue,pdata
+	add pdata,5,pdata
+	add pdata,5,regc
+	byteswap pdata,pdata
+	istore 2,contw							/* write parLength */
+	deposit queue
+	byteswap pdata,pdata
+	istore 2,contw							/* write TotSrvRecCount */
+	istore 2,contw							/* write CurSrvRecCount */
+	arg mem_sdp_handle_list,contr
+	copy queue,loopcnt
+	branch ss_req_blank,zero
+ss_req_loop:	
+	ifetch 4,contr
+	istore 4,contw
+	loop ss_req_loop
+ss_req_blank:	
+	force 0,pdata
+	istore 1,contw							/* continuation state */
+	deposit regc
+	store 2,mem_sdp_tx_pkt_length
+//	branch assert,blank
+	rtn
+
+/**********************************************************************/
+/* sa_req			                              */
+/* Processing Service Attribute Request                               */
+/* Call: ask_attributeid, empty_response (if 3 stored attr.     */
+/* not asked) or answer_attributelist                              */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_sa_req:
+	bpatchx patch3a_0,mem_patch3a
+	ifetch 4,contr				/* service record handle */
+	store 4,mem_sdp_record_handle	 
+	increase -4,timeup
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6		/* result: data size stored in rega */
+	branch sdp_invalid_request_syntax,zero
+	compare 5,rega,0xff  // length
+	//branch sa_req_all,true
+	branch sa_judge_wholerange,true
+sa_isnot_wholerange:
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+	branch sa_req_loop
+sa_judge_wholerange:
+	ifetch 1,contr
+	bne SDP_ATTRIBUTE_RANGE,sdp_invalid_request_syntax
+	ifetch 2,contr
+	nbranch sa_judge_wholerange_false1,blank
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false2
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false3		//also exist potential bug because mem_sdp_attrib_list length is only 7f
+	branch sa_req_all
+sa_judge_wholerange_false3:
+	increase -5,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false2:
+	increase -4,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false1:
+	increase -3,contr
+	branch sa_isnot_wholerange
+sa_req_loop:	
+	ifetch 1,contr
+	beq SDP_ATTRIBUTE_ID, sa_req_one_id
+	beq SDP_ATTRIBUTE_RANGE, sa_req_range
+sa_req_range:
+	ifetch 2, contr
+	istore 2, contw
+	increase 1,queue
+	byteswap pdata,regb
+	ifetch 2, contr
+	byteswap pdata,pdata
+sa_req_range_id_increase:	
+	increase 1, regb
+	isub regb, null
+	nbranch sa_req_range_id_finish,positive
+	copy pdata, regc
+	byteswap regb,pdata
+	istore 2, contw
+	increase 1,queue
+	copy regc, pdata
+	branch sa_req_range_id_increase
+sa_req_range_id_finish:
+	increase -5,timeup
+	increase -5,rega
+	branch sa_req_check_next_id
+sa_req_one_id:
+	ifetch 2,contr
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+sa_req_check_next_id:	
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch sa_req_loop,zero //another attribute 
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw
+	arg mem_sdp_attrib_list,rega
+sa_req_handle_attributelist_next:
+	copy queue,pdata
+	branch sa_req_handle_attributelist_end,blank
+	ifetch 2,rega
+	branch sa_req_handle_attributelist_end,blank
+	iforce regb /* regb is the attribute ID */
+	fetch 4,mem_sdp_record_handle	
+	iforce temp
+	call search_handle_attrib
+	copy contr,pdata
+	branch sa_req_handle_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+	call memcpy
+sa_req_handle_attributelist_notfound:
+	increase 2,rega
+	increase -1, queue
+	branch sa_req_handle_attributelist_next
+
+sa_req_handle_attributelist_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	call ssa_req_range_lastfreg_common
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 11,sa_empty_rsp
+	branch  ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_continue_common:
+	ifetch 1, contr
+	beq 0, sdp_store_continue_0byte
+	beq 1,sdp_store_continue_1byte
+	beq 2, sdp_store_continue_2byte
+sdp_store_continue_0byte:	
+	increase -1,timeup				/* continuation state byte (0) */
+	branch sdp_store_continue_end
+sdp_store_continue_1byte:
+	ifetch 1, contr
+	increase -2,timeup				/* continuation state byte (1) */
+	branch sdp_store_continue_end
+sdp_store_continue_2byte:
+	ifetch 2, contr
+	byteswap pdata,pdata
+	increase -3,timeup				/* continuation state byte (2) */
+sdp_store_continue_end:
+	store 2, mem_sdp_continue_byte	
+	rtn
+	
+sa_req_all:	
+	increase -5,timeup
+	call sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	fetcht 4,mem_sdp_record_handle		
+	call search_handle
+	nbranch sdp_invalid_service_record_handle,zero
+	copy contr,rega
+	call l2cap_get_sdp_tx_payload
+	copy rega,contr
+	increase 3,contw//arg mem_SDP_Tx_payload+3,contw
+	copy contr,timeup //sdp start pointer
+	call sdp_get_data
+	copy pdata, rega //sdp total length
+//	fetchr regb,2,mem_sdp_continue_byte
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in regb
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	nbranch sa_req_all_fragment_sdp, positive
+	// the last fragment
+	disable user
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr //set the read pointer
+	increase 3,regb //include the total length field, 3 bytes
+	copy regb, loopcnt
+	copy loopcnt, pdata
+	increase 3, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	copy loopcnt, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fisrt_fragment:
+	add rega,6,loopcnt
+	branch sa_req_all_parlength_continue_byte, user
+	byteswap loopcnt,pdata
+	branch sa_req_all_parlength_continue_byte_end
+sa_req_all_parlength_continue_byte:
+	copy loopcnt, pdata
+	increase 2, pdata
+	byteswap pdata,pdata
+sa_req_all_parlength_continue_byte_end:
+	istore 2,contw				/* ParLength */
+	increase -3,loopcnt
+	byteswap loopcnt,pdata			
+	istore 2,contw				/* AttrListByteCount */
+	copy timeup,contr
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fragment_sdp:
+	enable user
+//	fetchr rega,2,mem_sdp_attribute_maxbyte
+	fetch 2,mem_sdp_attribute_maxbyte
+	copy pdata,rega
+	copy rega,loopcnt
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr
+	copy rega,pdata
+	increase 5,pdata
+	byteswap pdata,pdata	
+	istore 2, contw
+	copy rega,pdata
+	byteswap pdata,pdata
+	istore 2, contw
+sa_req_all_answer_attributelist_full_loop:
+	call memcpy
+	nbranch sa_req_all_last_frag_continue, user
+	force 2,pdata
+	istore 1,contw
+	copy contr, pdata
+	isub timeup, pdata
+	byteswap pdata,pdata
+	istore 2, contw   // continuation length
+	branch sa_req_all_frag_end
+sa_req_all_last_frag_continue:
+	force 0,pdata
+	istore 1,contw
+sa_req_all_frag_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	branch ssa_req_range_common	
+	
+/**********************************************************************/
+/* ssa_req                          		      */
+/* Processing Service Search Attribute Request                        */
+/* Call: ask_serviceclassid, ask_attributeid, empty_response */
+/*       or answer_attributelist                                   */  
+/* Input:       contr                                                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_req:
+	bpatchx patch3a_1,mem_patch3a
+	call ask_serviceclassid
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+ssa_req_loop:	
+	ifetch 1,contr 
+	beq SDP_ATTRIBUTE_RANGE,ssa_req_range
+	ifetch 2,contr 
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch ssa_req_loop,zero
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	call l2cap_get_sdp_tx_payload
+	increase 13,contw//arg mem_SDP_Tx_payload+13,contw
+	fetch 2,mem_sdp_uuid_search_ptr
+	iforce regc
+	arg mem_sdp_attrib_list,rega
+ssa_req_attributelist_next:	
+	ifetch 2,rega
+	branch ssa_req_attributelist_end,blank
+	iforce regb						/* regb is the attribute ID */
+	call search_attrib
+	branch ssa_req_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+  	call memcpy
+ssa_req_attributelist_notfound:
+	increase 2,rega
+	branch ssa_req_attributelist_next
+
+ssa_req_attributelist_end:
+	call ssa_req_range_lastfreg
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 14,ssa_empty_rsp
+	call ssa_req_range_attrbutes_length_no_continue
+	branch ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_maxbyte:	
+	ifetch 2,contr				 
+	byteswap pdata,pdata
+	increase -3,pdata	
+	arg 200,temp
+	isub temp,null
+	nrtn positive
+	setarg 200
+	rtn
+	
+
+ssa_req_range:
+	increase 4,contr
+	increase -5,timeup
+	increase -5,rega
+	nbranch sdp_invalid_request_syntax,zero
+	call 	sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	arg mem_sdp_uuid_search_ptr,timeup
+	call search_all_uuid  
+	deposit queue
+	branch ssa_empty_rsp,blank
+	store 1,mem_handle_humber
+//	storer regb,2,mem_sdp_all_length
+	copy regb,pdata
+	store 2,mem_sdp_all_length
+	arg 0,queue
+	arg 0,rega
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw 
+ssa_req_range_find_handle:
+	call ssa_req_range_get_length	
+	nbranch assert,user
+	copy contr,timeup
+	copy pdata,regc
+	iadd rega,rega
+//	copy pdata,rega 
+//	fetch 2,mem_sdp_all_length
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	branch ssa_req_range_first_freg,blank
+ssa_req_range_later_freg_with_continue:
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in rega
+	branch ssa_req_range_next_handle,zero
+	nbranch ssa_req_range_next_handle,positive
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	branch ssa_req_range_maxbyte_with_continue,zero
+	nbranch ssa_req_range_maxbyte_with_continue, positive  
+	
+ // data length < =maxbyte 
+ssa_req_range_send_not_maxbyte:
+ 	copy regb,loopcnt
+	call ssa_req_range_maxbyte_with_continue_cpy
+ 	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	branch ssa_req_range_lastfreg,zero
+	branch ssa_req_range_freg_with_continue
+	
+ssa_req_range_maxbyte_with_continue:
+ 	copy pdata,loopcnt
+ 	call ssa_req_range_maxbyte_with_continue_cpy
+ 	branch ssa_req_range_freg_with_continue
+ 	
+ssa_req_range_maxbyte_with_continue_cpy:
+	increase -3,contw   
+	copy loopcnt,temp
+ 	copy regc,pdata
+	isub regb,pdata
+	iadd timeup,contr
+ 	branch memcpy
+
+ssa_req_range_next_handle:
+	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	rtn zero //
+	branch ssa_req_range_find_handle
+
+ssa_req_range_get_length:	
+	call disable_user
+	arg mem_sdp_handle_list,contr
+	lshift2 queue,pdata
+	iadd contr,contr
+	ifetcht 4, contr
+	call search_handle
+	nrtn zero
+	call sdp_data_len
+	branch enable_user
+
+ssa_req_range_first_freg:
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub rega, null
+	nbranch ssa_req_range_firstfreg_maxbyte_with_continue,positive
+	copy rega,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	fetch 2,mem_sdp_all_length
+	isub rega,null
+	branch ssa_req_range_freg_no_continue,zero
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+	call ssa_req_range_freg_with_continue
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_freg_no_continue:
+	call ssa_req_range_lastfreg
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_lastfreg:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+ssa_req_range_lastfreg_common:
+	force 0,pdata
+	istore 1,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw  //attribute length
+	rtn
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+	copy pdata,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	call ssa_req_range_freg_with_continue
+ssa_req_range_attrbutes_length:	
+	setarg 0x36
+	istore 1,contw
+	fetch 2,mem_sdp_all_length
+	byteswap pdata,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_attrbutes_length_no_continue:	
+	setarg 0x36
+	istore 1,contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_freg_with_continue:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+	setarg 2
+	istore 1,contw	
+	fetch 2,mem_sdp_continue_byte
+	iadd temp,temp
+	byteswap temp,pdata
+	istore 2,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_common:
+	fetch 2,mem_sdp_tx_payload_ptr
+	isub contw,pdata
+	sub pdata,0,pdata
+	store 2,mem_sdp_tx_pkt_length
+	call l2cap_get_sdp_tx_payload 
+	copy rega,pdata  //PUD ID
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid
+	istore 2,contw
+	rtn
+
+
+
+
+/**********************************************************************/
+/* ssa_res			                      */
+/* Processing Service Search Attribute Response                       */
+/* Call: dataelementtype6, attribute_reading                    */
+/* Input:       contr                                                 */
+/* Output:      mem_sdp_record_handle,mem_sdp_search_failed           */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_res:
+sdp_process_ss_res:
+sdp_process_sa_res:
+sdp_process_error_res:
+	rtn
+/*
+sdp_process_ss_res:
+	bpatchx patch3a_2,mem_patch3a
+	ifetch 2,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	bne 1,assert
+	ifetch 4,contr
+	store 4,mem_sdp_record_handle
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES,pdata
+	istore 1,regc
+	rtn
+	
+sdp_process_sa_res:
+	bpatchx patch3a_3,mem_patch3a
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES,pdata
+	istore 1,regc
+	copy temp,contr
+	ifetch 2,contr
+	call search_rfcomm_cn
+	store 1,mem_profile_channel	
+	rtn
+*/
+
+				    
+
+sdp_invalid_service_record_handle:		
+	setarg 0x0200
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_pdu_size:				
+	setarg 0x0400
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_insufficient_resource:			
+	setarg 0x0600
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_request_syntax:			
+	setarg 0x0300
+	store 2,mem_sdp_error_code
+sdp_error_response:	
+	call l2cap_get_sdp_tx_payload
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			
+	istore 2,contw
+	setarg 0x0200					
+	istore 2,contw
+	fetch 2,mem_sdp_error_code			
+	istore 2,contw
+	jam  7,mem_sdp_tx_pkt_length
+	rtn
+
+
+//store uuid in mem_sdp_uuid_search_ptr,
+//return temp 0xff if wrong 
+ask_serviceclassid:  
+	arg 0,regb
+	force 0,temp					/* use "temp" to mark syntax error or to mark 128 bit uuid */
+	arg mem_sdp_uuid_search_ptr,contw
+	call dataelementtype6
+	branch asksrv_error,zero
+classidloop:
+	increase 1,regb
+	ifetch 1,contr
+	increase -1,rega
+	increase -1,timeup
+	compare 0x18,pdata,0xf8			/* 5 MSB: b00011: uuid */
+	nbranch asksrv_error,true
+	compare 0x04,pdata,0x07			/* 3 LSB: b100 128 bits uuid */
+	nbranch cmp032,true
+	force 1,temp					/* mark it as 128 bit uuid */
+skip2bytes:
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	bne 0x00, frstbwrong
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	beq 0x00, cmpuuid
+	branch scndbwrong
+frstbwrong:  
+	increase 1,contr
+	increase -1,rega	
+	increase -1,timeup
+scndbwrong:  
+	increase 2,contr				/* skip 2 bytes, first 2 bytes already wrong */
+	increase -2,rega	
+	increase -2,timeup
+	compare 0x00,temp,0xff                        /* 128 bits or 32 bits ? */
+	branch loopornot,true
+	increase 12,contr				/* skip 12 bytes, first 2 bytes already wrong */
+	increase -12,rega	
+	increase -12,timeup
+	branch loopornot
+cmp032:
+	compare 0x02,pdata,0x07			/* 3 LSB: b010 32 bits uuid */
+	nbranch cmp016,true
+	branch skip2bytes			
+cmp016:
+	compare 0x01,pdata,0x07			/* 3 LSB: b001 16 bit uuid */
+	nbranch asksrv_error,true
+cmpuuid:
+	increase -2,rega
+	increase -2,timeup
+	ifetch 2,contr				/* higher order byte */
+	sub regb,4,null
+	branch uuidsize,zero //max store uuids =3 
+	istore 2,contw
+uuidsize:
+	compare 0x00,temp,0xff			/* is this 128 bits uuid */
+	branch loopornot,true
+	copy contr,temp
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x10, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x5f, wrong12b
+	ifetch 1,contr
+	bne 0x9b, wrong12b
+	ifetch 1,contr
+	bne 0x34, wrong12b
+	ifetch 1,contr
+	beq 0xfb, chck12dn
+wrong12b:
+	copy temp,contr  
+wrong12b1:
+	increase 12,contr				/* skip 12 bytes */
+	force 0x00,queue
+	force 0x00,temp
+	branch chck12dn
+
+chck12dn:
+	increase -12,timeup
+	increase -12,rega
+loopornot:
+	force 0x00,temp
+	compare 0x00,rega,0xff
+	nbranch classidloop,true
+	force 0,pdata
+	istore 2,contw			/* end list with null */
+	rtn
+asksrv_error:
+	arg 0xff,temp
+	rtn
+
+/**********************************************************************/
+/* Subroutine: dataelementtype6                                    */
+/* Parse Data Element Sequence, obtain the data size                  */
+/* Input:  SDP Rx Buf Pointer in contr, parameter count in timeup     */
+/* Output: data length in rega, data pointer in contr             */
+/*         and  parameter count in timeup, return with zero flag set: */
+/*         syntax error                                               */
+/**********************************************************************/     
+dataelementtype6:
+	bpatchx patch3a_4,mem_patch3a
+	ifetch 1,contr
+	increase -1,timeup
+	compare 0x30,pdata,0xf8			/* 5 MSB: b00110: type 6 */
+	nbranch dsize_error,true
+	compare 0x07,pdata,0x07			/* 3 LSB: b111: 32 bits */
+	branch dsize32,true
+	compare 0x06,pdata,0x07			/* 3 LSB: b110: 16 bits */
+	branch dsize16,true
+	compare 0x05,pdata,0x07			/* 3 LSB: b101: 8 bits */
+	nbranch dsize_error,true
+//	ifetchr rega,1,contr				/* data length in reg A */
+	ifetch 1,contr
+	copy pdata,rega
+	increase -1,timeup
+	branch dsize
+dsize32:
+	increase 2,contr				 
+	increase -2,timeup
+dsize16:
+	ifetch 2,contr
+	byteswap pdata,rega
+	increase -2,timeup
+dsize:
+	force 0x01,pdata
+	rtn
+dsize_error:
+	force 0x00,pdata
+	rtn
+
+/**********************************************************************/
+/* Subroutine: sa_empty_rsp                                      */
+/* Send empty response                                                */
+/*                                                                    */
+/* Input:       mem_sdp_pduid, mem_sdp_transactionid                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+ss_empty_rsp:
+	setarg SDP_SEARCH_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+sa_empty_rsp:
+	setarg SDP_ATTRIBUTE_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+ssa_empty_rsp:
+	setarg SDP_SEARCHATTRIB_RES
+	store 1, mem_sdp_pduid
+empty_response:
+	call l2cap_get_sdp_tx_payload			/* empty attribute list */
+//	fetchr regb,1,mem_sdp_pduid				/* PDUID */
+//	istorer regb,1,contw
+	fetch 1,mem_sdp_pduid
+	copy pdata,regb
+	istore 1,contw 
+	fetch 2,mem_sdp_transactionid			/* copy back transaction id */
+	istore 2,contw
+	setarg 0x0500
+	istore 2, contw
+	compare SDP_ATTRIBUTE_RES,regb,0xff			 
+	branch fullsearch,true
+	compare SDP_SEARCHATTRIB_RES,regb,0xff			 
+	branch fullsearch,true
+	setarg 0x000000
+	istore 5,contw
+	branch outempty
+
+fullsearch:					/* pduid must be 5 or 7 */
+	setarg 0x350200
+	istore 5,contw
+outempty:
+	jam 10,mem_sdp_tx_pkt_length
+	rtn
+
+//return length in pdata(whole element ,include header and data ), contr not change
+sdp_data_len:
+	call store_contw
+	call store_contr
+	call sdp_get_data
+	call get_contw
+	call get_contr
+	copy temp,pdata
+	rtn
+
+//return data length in pdata, contr is data pionter,return length in temp(whole element ,include header and data )
+sdp_get_data:
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	bne 0,sdp_get_data_type_not0
+sdp_get_data_type0:	
+	force 1,pdata
+	force 1,temp
+	rtn
+	
+sdp_get_data_type_not0_sizeindex01234:
+	call left_shift_n
+	add pdata,1,temp  //add header length
+	rtn
+sdp_get_data_type_not0:
+	deposit loopcnt
+	sub pdata,4,null
+	branch sdp_get_data_type_not0_sizeindex01234,positive
+	beq 5,sdp_get_data_type_not0_sizeindex5
+	beq 6,sdp_get_data_type_not0_sizeindex6
+	beq 7,sdp_get_data_type_not0_sizeindex7
+	rtn
+	
+sdp_get_data_type_not0_sizeindex5:
+	ifetch 1,contr
+	add pdata,2,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex6:
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,3,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex7:
+	ifetch 2,contr	
+	byteswap pdata,pdata
+	ifetcht 2,contr	
+	byteswap temp,temp
+	lshift16 temp,temp
+	iadd temp,pdata
+	add pdata,5,temp  //add header length
+	rtn
+
+/* find with uuids
+input uuids pionter in timeup
+return handles in mem_sdp_handle_list; handles number in queue if found 
+return regb all length*/
+search_all_uuid:
+	bpatchx patch3a_5,mem_patch3a
+	force 0,queue
+	arg 0,regb
+	arg mem_sdp_handle_list,contw
+search_all_uuid_llop:
+	ifetch 2,timeup
+ 	rtn blank
+	call search_uuid
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER 
+	increase 2,timeup
+ 	branch search_all_uuid_llop
+	
+search_uuid:
+//	arg 0,regb
+	iforce regc
+//	force 0,queue
+	fetch 2, mem_ui_uuid_table
+	iforce contr
+search_uuid_next:
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER   
+	disable user
+	ifetch 1,contr
+	rtn blank
+	iforce loopcnt
+search_uuid_loop:	
+	ifetch 2,contr
+	isub regc,null
+	nbranch search_uuid_not_found,zero
+	enable user					// uuid match
+search_uuid_not_found:
+	loop search_uuid_loop
+	ifetcht 4,contr					// get handle 
+	copy contr,rega
+	nbranch search_uuid_nomatch,user
+	arg mem_sdp_handle_list,contr
+	arg SDP_MAX_HANDLE_NUMBER,loopcnt 
+search_uuid_check_same_handle:
+	ifetch 4,contr
+	branch search_uuid_store_handle,blank
+	isub temp,null
+	branch search_uuid_nomatch,zero
+	loop search_uuid_check_same_handle
+	rtn 
+search_uuid_store_handle:
+	istoret 4,contw
+	increase 1,queue
+	copy rega,contr
+	call sdp_data_len
+	iadd regb,regb
+	iadd contr,contr		 
+	branch search_uuid_next
+search_uuid_nomatch:	
+	copy rega,contr
+	call sdp_get_data
+	iadd contr,contr			// next paragraph 
+	branch search_uuid_next
+
+/* temp is handle,
+return zero  if found
+return data pointer in contr 
+*/
+search_handle:
+	bpatchx patch3a_6,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_loop:	
+	ifetch 1,contr
+	branch disable_zero,blank
+	lshift pdata,pdata
+	iadd contr,contr
+	ifetch 4,contr
+	isub temp,null
+	rtn zero
+	deposit contw
+	store 2,mem_contw
+	storet 8,mem_temp
+	call sdp_get_data
+	iadd contr,contr
+	copy contr,pdata
+	fetcht 2,mem_contw
+	copy temp,contw
+	fetcht 8,mem_temp
+	copy pdata,contr
+	branch search_handle_loop
+
+/**
+* input regb and regc.regb is the attribute ID and regc is UUID.
+* set contr if find attribute or 0 if not
+*/
+search_attrib:
+	bpatchx patch3a_7,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_attrib_next:
+	ifetch 1,contr
+	branch search_attrib_end, blank
+	iforce loopcnt
+search_attrib_loop:	
+	ifetch 2,contr
+	isub regc,null						/* regc is UUID, compare it */
+	branch search_attrib_found_uuid,zero
+	loop search_attrib_loop
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_attrib_next	
+search_attrib_found_uuid:
+	increase -1,loopcnt
+	lshift loopcnt,pdata
+	iadd contr,contr
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	//force 0x1,pdata,zero
+//	setflag zero, 0,pdata
+//	copy timeup, timeup
+	branch disable_blank,zero			/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_attrib_loop_attribs	
+search_attrib_end:
+	force 0,contr
+	force 0,pdata
+	rtn
+	
+
+//search the attribute according the record handle
+//record handle in temp, attribute in regb
+//set the contr to zero if not found
+search_handle_attrib:	
+	bpatchx patch3b_0,mem_patch3b
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_attrib_next:
+	ifetch 1,contr
+	branch search_handle_attrib_end, blank
+	lshift pdata,pdata
+	iadd contr, contr
+	ifetch 4,contr
+	isub temp,null						/* regc is UUID, compare it */
+	branch search_handl_attrib_found_handle,zero
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_handle_attrib_next	
+search_handl_attrib_found_handle:
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_handle_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	rtn zero							/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_handle_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_handle_attrib_loop_attribs
+search_handle_attrib_end:
+	force 0,contr
+	rtn	
+
+
+//enable user if find rfcomm channel number, pdata is channel number
+search_rfcomm_cn:
+	arg 0x0400,regb  // attribute protocol edscriptor list
+	call search_handl_attrib_found_handle
+	arg 0x0300,regb  // uuid rfcomm
+	call search_uuid_in_data
+	nrtn user
+	sub rega,3,null
+	branch disable_user,positive
+	ifetch 1,contr
+	bne 0x08,disable_user
+	ifetch 1,contr
+	rtn
+	
+ //input timeup is lenth
+ //input contr is data ptr
+ //return contr is end of uuid; enable user if found uuid
+search_uuid_in_data:
+	bpatchx patch3b_1,mem_patch3b
+	call sdp_get_data
+	copy pdata,rega
+search_uuid_in_data_loop:	
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	sub pdata,3,null
+	branch search_uuid_in_data_found_uuid,zero
+	copy loopcnt,pdata
+	beq 5,search_uuid_in_data_found_element_index5
+	beq 6,search_uuid_in_data_found_element_index6
+	beq 7,search_uuid_in_data_found_element_index7
+	increase -1,contr
+	call sdp_get_data
+	iadd contr,contr
+	copy rega,pdata
+	isub temp,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+	
+search_uuid_in_data_found_element_index5:
+	increase -2,rega
+	increase 1,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index6:
+	increase -3,rega
+	increase 2,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index7:
+	increase -5,rega
+	increase 4,contr
+	branch search_uuid_in_data_loop		
+	
+search_uuid_in_data_found_uuid:
+	increase -1,rega
+	copy loopcnt,pdata
+	beq 1,search_uuid_in_data_type_uuid_16
+	beq 2,search_uuid_in_data_type_uuid_32
+	beq 4,search_uuid_in_data_type_uuid_128
+	branch disable_user 
+search_uuid_in_data_type_uuid_128:
+	increase -12,rega
+search_uuid_in_data_type_uuid_32:
+	ifetch 2,contr
+	increase -2,rega
+search_uuid_in_data_type_uuid_16:
+	ifetch 2,contr
+	isub regb,null
+	branch enable_user,zero
+	increase -2,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+
+/*
+//rega:l2cap len ,mem_search_uuid:uuid to search
+sdp_send_search_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_SEARCH_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+	//istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x19
+	istore 1,contw
+	fetch 2,mem_search_uuid
+	istore 2,contw
+	setarg 0x0008
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+
+//rega:l2cap len
+sdp_send_attribute_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_ATTRIBUTE_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+//	istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	fetch 4,mem_sdp_record_handle
+	istore 4,contw
+	setarg 0x2c01
+	istore 2,contw
+	setarg 0x0535
+	istore 2,contw
+	setarg 0x0a
+	istore 1,contw
+	setarg 0
+	istore 2,contw
+	setarg -1
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+*/	
+	
+
+sdp_send_spp_request:
+	call l2cap_get_sdp_tx_payload
+	copy pdata,contw
+	setarg 6//Search Attr Req
+	istore 1,contw
+	setarg sdp_tid_spp					
+	istore 2,contw
+	setarg 0x0f00 //length15
+	istore 2,contw
+	setarg 0x1a0535
+	istore 3,contw
+	setarg 0x0111
+	lshift16 pdata,pdata //UUID
+	istore 4,contw
+	setarg 0x2600 //max return len
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x0009
+	istore 2,contw
+	setarg 0x0004
+	istore 2,contw
+	jam 0x14,mem_sdp_tx_pkt_length
+	rtn
+
Index: YJX_Only24g/FCC_1021S/program/security.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/security.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/security.prog	(working copy)
@@ -0,0 +1,1642 @@
+
+ifdef SECURE_CONNECTION
+	
+function_g2:
+	bpatchx patch3b_2,mem_patch3b
+	jam 80,mem_AES_CMAC_data_length
+	arg memdat,contw
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat	
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	call function_AES_CMAC	
+
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result
+	setarg 1000000
+	copy pdata,rega
+	fetch 4,mem_AES_CMAC_temp
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+//call ice_break
+	rtn
+
+function_f6_eb:
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_a
+	call store_addr_common_b
+	fetch 3,mem_le_pres+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	
+	arg mem_le_mrand,contr
+	call memcpy16
+	arg mem_le_srand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	branch function_AES_CMAC
+//	arg mem_AES_CMAC_temp,contw
+//	branch p_load_inverse_result
+
+get_r:
+	fetch 4,mem_le_tk
+	istore 4,contw
+	call memset0_4
+	branch memset0_8
+
+function_f6_ea:
+	bpatchx patch3b_3,mem_patch3b
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_b
+	call store_addr_common_a
+	fetch 3,mem_le_preq+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_temp,contw
+	branch load_inverse_result
+
+function_f5:
+	jam 32,mem_AES_CMAC_data_length
+	arg mem_le_dhkey_256 ,contr
+	arg memdat,contw
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_slat,contr
+	call store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_k,contw
+	call store_aes_result
+	arg 1,temp
+	call function_f5_common
+	arg mem_le_ltk,contw
+	call load_inverse_result
+	arg 0,temp
+	call function_f5_common
+	arg mem_le_mackey,contw
+//	branch p_load_inverse_result
+	branch store_aes_result
+
+
+function_f5_common:
+	bpatchx patch3b_4,mem_patch3b
+	jam 53,mem_AES_CMAC_data_length
+	setarg 0x100
+	store 2,memdat
+	call store_addr_common_b
+	call store_addr_common_a
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+//	fetch 4,mem_le_keyid 0x62746c65
+	setarg 0x6c65
+	istore 2,contw
+	setarg 0x6274
+	istore 2,contw
+	istoret 1,contw   //counter
+	call inverse_memdat	
+	branch function_AES_CMAC
+
+store_addr_common_b:
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	rtn
+
+store_addr_common_a:
+	fetch 6,mem_le_plap
+	istore 6,contw
+//	setarg 0x2dcfc1
+//	istore 3,contw
+//	setarg 0xa71370
+//	istore 3,contw
+	fetch 1,mem_le_conn_peer_addr_type
+	istore 1,contw
+	rtn
+
+function_f4_ca:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+	
+
+function_f4_cb:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_srand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+
+function_AES_CMAC:
+	bpatchx patch3b_5,mem_patch3b
+	call function_AES_CMAC_Generate_Subkey
+//call ice_break
+//	jam 65,mem_AES_CMAC_data_length
+//call ice_break
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,temp
+function_ceil16:
+	increase 15,pdata
+	rshift4 pdata,pdata
+	copy pdata,regb
+	branch function_AES_CMAC_set_flag_0_balnk,blank
+	and temp,0x0f,pdata
+	nbranch function_AES_CMAC_set_flag_0,blank
+//	flag =1;
+	arg mem_AES_CMAC_k1,regc
+	arg memdat,pdata
+	increase -16,pdata
+//	iadd temp,pdata
+//	isub rega,rega
+	iadd temp,rega	
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop
+//call ice_break
+//	arg mem_f4_k1,contr
+//	call load_key
+	branch function_AES_CMAC_aes
+
+function_AES_CMAC_set_flag_0_balnk:
+	arg 1,regb
+	arg 0,rega
+//	arg mem_f4_test_data,pdata
+	branch function_AES_CMAC_set_flag_0_common
+//call ice_break
+
+function_AES_CMAC_set_flag_0:
+//	flag = 0;
+	and temp,0x0f,rega
+function_AES_CMAC_set_flag_0_common:
+	arg memdat,pdata
+	iadd temp,pdata
+	isub rega,contr
+//call ice_break
+	arg mem_AES_CMAC_temp,contw
+	call function_AES_CMAC_padding
+//call ice_break
+	arg mem_AES_CMAC_k2,regc
+	arg mem_AES_CMAC_temp,rega
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop	
+//call ice_break
+
+//	arg mem_f4_k2,contr
+//	call load_key
+
+//	branch p_function_f4_aes
+function_AES_CMAC_aes:
+//	arg mem_f4_k,contr
+//	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call load_data128
+	call aes_clear_data
+	call aes_init	
+//	arg mem_f4_k,contr
+//	call load_key
+	arg memdat,contr
+function_AES_CMAC_aes_loop:
+//generate_mic_loop:
+	increase -1,regb
+	deposit regb
+	branch function_AES_CMAC_aes_loop_end,blank
+	call load_data128
+	call do_aes_cbc
+	branch function_AES_CMAC_aes_loop
+//generate_mic_end:
+function_AES_CMAC_aes_loop_end:	
+	arg mem_AES_CMAC_temp,contw
+	call store_aes_result
+	arg mem_AES_CMAC_M_last,contr
+	call load_data128
+	call aes_init	
+	arg mem_AES_CMAC_temp,contr
+	call load_data128	
+	branch do_aes_cbc
+
+
+
+load_inverse_result:
+//	arg mem_AES_CMAC_temp,contw
+	copy contw,rega
+	call store_aes_result
+//	arg mem_AES_CMAC_temp,rega
+	arg 16,loopcnt
+	branch inverse_data
+	
+store_inverse_k:
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+inverse_k:	
+	arg 16,loopcnt
+	arg mem_AES_CMAC_k,rega	
+	branch inverse_data
+	
+inverse_memdat:
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,loopcnt
+	arg memdat,rega
+	branch inverse_data
+
+bn_lshift_0_inverse:
+	ifetch 1,regA
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata	
+	isolate1 8,pdata
+	setflag true,0,regC	
+	istore 1,rega
+         increase -1,rega
+	loop bn_lshift_0_inverse
+	rtn	
+
+function_AES_CMAC_k1_inverse:
+	arg mem_AES_CMAC_k1,regA
+function_AES_CMAC_inverse_common:
+	increase 15,rega
+	force 16,loopcnt
+	force 0,regC
+	branch  bn_lshift_0_inverse	
+
+function_AES_CMAC_k2_inverse:
+	arg mem_AES_CMAC_k2,regA
+	branch function_AES_CMAC_inverse_common
+	
+
+function_AES_CMAC_Generate_Subkey:
+	arg mem_AES_CMAC_k,contr
+	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call aes_load_xor
+	force regidx_xor,regext_index
+	call aes_clear
+	call aes_clear_data
+	call do_aes_ocb
+	
+//	force 0x38,aes_ctrl
+//	force 0x0,aes_ctrl
+//	call wait_aes
+	arg mem_AES_CMAC_k1,contw
+	call store_aes_result
+function_AES_CMAC_k1:
+	bpatchx patch3b_6,mem_patch3b
+	fetch 1,mem_AES_CMAC_k1
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k1_0,true	
+	call function_AES_CMAC_k1_inverse
+	
+//p_function_f4_k1_xor:
+	arg mem_AES_CMAC_k1,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k1,contw
+//	arg 3,loopcnt
+//	call xor_loop
+	call function_AES_CMAC_xor_rb
+	branch function_AES_CMAC_k2
+function_AES_CMAC_k1_0:	
+	call function_AES_CMAC_k1_inverse
+function_AES_CMAC_k2:
+//call ice_break
+	arg mem_AES_CMAC_k1,contr
+	arg mem_AES_CMAC_k2,contw
+	call memcpy16
+	fetch 1,mem_AES_CMAC_k2
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k2_inverse,true		
+	call function_AES_CMAC_k2_inverse
+//p_function_f4_k2_xor:
+	arg mem_AES_CMAC_k2,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k2,contw
+//	arg 3,loopcnt
+//	branch xor_loop	
+
+
+//rb:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 87 
+function_AES_CMAC_xor_rb:
+	arg 3,loopcnt
+function_AES_CMAC_xor_rb_loop:	
+	arg 0,temp
+	call function_AES_CMAC_xor_loop_common	
+	increase 4,regc
+	loop  function_AES_CMAC_xor_rb_loop
+	arg 0x8700,temp
+	lshift16 temp,temp
+function_AES_CMAC_xor_loop_common:	
+	ifetch   4,regc
+	ixor  temp,pdata
+	istore   4,contw	
+	rtn
+		
+
+
+
+//input rega :length <16	contr,contw
+function_AES_CMAC_padding:
+	bpatchx patch3b_7,mem_patch3b
+	arg 16,loopcnt
+	arg 0,pdata
+function_AES_CMAC_padding_loop:
+	isub rega,null
+	branch function_AES_CMAC_padding_beq_length,zero
+	branch function_AES_CMAC_padding_big_length,positive
+	ifetcht 1,contr
+	istoret 1,contw
+function_AES_CMAC_padding_loop2:	
+	increase 1,pdata
+	loop function_AES_CMAC_padding_loop
+	rtn
+function_AES_CMAC_padding_beq_length:	
+	arg 0x80,temp
+function_AES_CMAC_padding_common:
+	istoret 1,contw
+	branch  function_AES_CMAC_padding_loop2
+
+function_AES_CMAC_padding_big_length:
+	arg 0,temp
+	branch function_AES_CMAC_padding_common
+
+endif
+	
+generate_kinit:
+	call function_e22
+	arg mem_input_store,contr
+	arg mem_kinit,contw		/* Kinit is ready */
+	branch memcpy16
+
+
+function_e21:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	arg mem_random_number,contr
+	arg mem_x,contw
+	force 15,loopcnt
+	call memcpy			
+	ifetch 1,contr
+	xor_into 6,pdata
+	istore 1,contw
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+	
+function_e22:		/* rega pointers to bdaddr */
+	fetcht 1,mem_pin_length
+	force 16,regb			/* total 16 bytes */
+	add temp,6,regc		/* regc is l' */
+	sub regc,16,null		
+	branch function_e22_pin_init,positive 
+	force 16,regc
+function_e22_pin_init:			/* generate x from pin and bdaddr */
+	arg mem_x,contw
+function_e22_genx_pin:
+	arg mem_pin,contr
+	copy temp,loopcnt
+	disable user
+function_e22_genx_loop:
+	ifetch 1,contr
+	istore 1,contw
+	increase -1,regb
+	branch function_e22_genx_end,zero
+	loop function_e22_genx_loop
+	branch function_e22_genx_pin,user
+	enable user
+	force 6,loopcnt
+	copy rega,contr
+	branch function_e22_genx_loop
+function_e22_genx_end:
+	arg mem_random_number,contr
+	arg mem_y,contw
+	call memcpy16
+	fetch 1,mem_y15
+	ixor regc,pdata
+	store 1,mem_y15	/* inpy[15] = rand_num[15]^l'; */
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+
+
+function_e1:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	branch function_hash
+
+function_e3:
+	arg mem_aco,rega
+	enable user
+	call function_expand
+	call function_hash
+	arg mem_input_store,contr
+	arg mem_kc,contw
+	branch memcpy16
+
+	/* costs 41769 clocks */
+function_hash:
+	setarg mem_random_number
+	store 2,memp_ar_input
+	setarg mem_link_key
+	store 2,memp_ar_key
+	set0 mark_ar2,mark
+	call function_ar
+	arg mem_input_store,rega
+	arg mem_random_number,regb
+	arg mem_x,contw
+	call xor16
+	arg mem_x,rega
+	arg mem_y,regb
+	copy regb,contw
+	enable user
+	call add16
+	call key_offset
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+	
+
+	/* totally costs 20700 clocks */
+function_ar:
+	jam 0,mem_ar_hround
+	fetch 2,memp_ar_key
+	iforce contr
+	arg mem_key_store,contw
+	call memcpy16
+	fetch 2,memp_ar_input
+	iforce contr
+	arg mem_input_store,contw
+	call memcpy16
+	
+function_ar_loop:
+	call key_scheduling
+	disable user
+	bmark0 mark_ar2,function_ar_original
+	fetch 1,mem_ar_hround
+	bne 4,function_ar_original
+	fetch 2,memp_ar_input
+	iforce regb
+	call xor_mod32_ar2
+function_ar_original:
+	call xor_mod32
+	call el_boxes
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+
+	call key_scheduling
+	enable user
+	call xor_mod32
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+	bne 16,function_ar_loop
+	call key_scheduling
+	disable user
+	branch xor_mod32
+	
+/* input round number and temp key in mem_key_store, and output the next temp key in mem_key_store */
+/* round key is generated and store in mem_round_key */
+key_scheduling:
+	fetch 1,mem_ar_hround
+	arg mem_key_store,contr
+	branch key_sched_zero,blank
+	iforce regb      			/* regb is half round */
+	force 17,loopcnt
+	copy contr,contw
+key_rotateloop:
+	ifetch 1,contr
+	lshift3 pdata,temp
+	rshift2 pdata,pdata
+	rshift3 pdata,pdata
+	ior temp,pdata
+	istore 1,contw
+	loop key_rotateloop
+	setarg mem_key_store
+	iadd regb,contr
+	force 16,loopcnt    
+	arg mem_round_key,contw
+key_select_octet_loop:
+	ifetch 1,contr
+	istore 1,contw
+	compare mem_key_store_end,contr,0xff
+	nbranch key_select_octet_nwrap,true
+	increase -17,contr
+key_select_octet_nwrap:
+	loop key_select_octet_loop
+	force 0,rega         /* rega is index of octet within row */
+	add regb,-1,regc    /* this is the row index, half_round#1 is 0 */
+	lshift2 regc,regc
+	lshift2 regc,regc
+	call enable_authrom
+	setarg mem_b_box
+	iadd regc,regc       /* regc hold the starting address of the row */
+	arg mem_round_key,contw
+	force 16,loopcnt
+bias_round_key_loop:
+	ifetcht 1,regc
+	ifetch 1,contw
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regc
+	loop bias_round_key_loop
+	branch disable_authrom
+
+key_sched_zero:    /* round 0, key1 */
+	force 16,loopcnt
+	force 0,temp
+create_byte_16_loop:
+	ifetch 1,contr
+	ixor temp,temp
+	loop create_byte_16_loop
+	deposit temp
+	istore 1,contr    	/* store the byte #16 */
+	arg mem_key_store,contr
+	arg mem_round_key,contw
+	branch memcpy16
+
+xor_mod32:     /* xor on 0,3, add on 1,2. if user is set, invert. x in rega and y in regb, out in contw */
+	arg mem_round_key,regb
+xor_mod32_ar2:
+	force 16,loopcnt
+	arg mem_input_store,rega
+	copy rega,contw
+xor_mod32_loop:	
+	ifetcht 1,rega
+	ifetch 1,regb
+	ixor temp,alarm
+	and loopcnt,3,regc
+	nbranch xor_mod32_invert,user
+	xor_into 3,regc
+xor_mod32_invert:
+	sub regc,1,regc
+	branch xor_even,positive
+	iadd temp,alarm
+xor_even:
+	deposit alarm
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xor_mod32_loop
+	rtn
+
+el_boxes:
+	call enable_authrom
+	force 16,loopcnt
+	arg mem_input_store,rega
+el_box_loop:	
+	ifetch 1,rega
+	arg mem_e_box,contr
+	and loopcnt,3,regc
+	sub regc,1,null
+	branch e_boxes,positive
+	arg mem_l_box,contr
+e_boxes:
+	iadd contr,contr
+	ifetch 1,contr
+	istore 1,rega
+	increase 1,rega
+	loop el_box_loop
+	branch disable_authrom
+
+pht:				
+	force 8,loopcnt
+	arg mem_input_store,contr
+	copy contr,contw
+pht_loop:
+	ifetch 1,contr
+	iforce rega
+	ifetch 1,contr
+	iforce regb
+	lshift rega,pdata
+	iadd regb,pdata
+	istore 1,contw
+	deposit rega
+	iadd regb,pdata
+	istore 1,contw
+	loop pht_loop
+	rtn
+
+/* 8 11 12 15 2 1 6 5 10 9 14 13 0 7 4 3 */
+permute:			
+	setarg 0x8ae42c
+	iforce temp
+	force 7,loopcnt
+	call permute_exchange
+	setarg 0xd751b
+	iforce temp
+	force 5,loopcnt
+	call permute_exchange
+	fetch 1,mem_input_store+15
+	iforce rega
+	fetch 1,mem_input_store+3
+	store 1,mem_input_store+15
+	deposit rega
+	store 1,mem_input_store+3
+	rtn
+
+permute_exchange:
+	and temp,0xf,regb
+permute_loop:
+	and temp,0xf,pdata
+	arg mem_input_store,contw
+	iadd contw,contw
+	ifetch 1,contw
+	iforce regc
+	deposit rega
+	istore 1,contw
+	copy regc,rega
+	rshift4 temp,temp
+	loop permute_loop	
+	setarg mem_input_store
+	iadd regb,contw
+	deposit rega
+	istore 1,contw
+	rtn
+
+add16:
+	enable user
+	branch xor_add16
+
+xor16:
+	disable user
+xor_add16:	/* if user is set, do add, else do xor */
+	force 16,loopcnt	/* rega and regb pointers to src, contw is result */
+xoradd_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	branch xoradd_add,user
+	ixor temp,pdata
+	branch xoradd_store
+xoradd_add:	
+	iadd temp,pdata
+xoradd_store:	
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xoradd_loop
+	rtn
+
+	
+function_expand:		/* rega pointers to bdaddr, or aco and user is set */
+	arg mem_y,contw
+	ifetch 6,rega
+	istore 6,contw
+	branch expand_12,user
+	ifetch 6,rega
+	branch expand_cont
+expand_12:
+	ifetch 6,contr
+expand_cont:
+	istore 6,contw
+	ifetch 4,rega
+	istore 4,contw
+	rtn
+
+key_offset:
+	arg mem_link_key,contr
+	arg mem_x,contw
+	arg 0,temp
+	setarg 0x8395a7
+	call concatenate_temp24
+	setarg 0xb3c1df
+	call concatenate_temp24
+	setarg 0xe5e9
+	call concatenate_temp16
+	copy temp,regab
+	disable user
+	call key_addxor
+	copy regab,temp
+	enable user
+	branch key_addxor
+
+key_addxor:
+	force 8,loopcnt
+key_addxor_loop:	
+	ifetch 1,contr
+	compare 1,loopcnt,1
+	branch key_high,user
+	branch key_xor,true
+key_add:	
+	iadd temp,pdata
+	branch key_store
+key_high:
+	branch key_add,true
+key_xor:
+	ixor temp,pdata
+key_store:
+	istore 1,contw
+	rshift8 temp,temp
+	loop key_addxor_loop
+	rtn
+
+copy_aco:
+	fetch 6,mem_input_store+4
+	store 6,mem_aco
+	ifetch 6,contr
+	istore 6,contw
+	rtn
+	
+concatenate_temp24:
+	lshift8 temp,temp
+concatenate_temp16:
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+ifdef TESTING
+test_security:
+	fetch 1,0xff
+	branch test_security,blank
+
+	/* inrand */
+	setarg 0x1BC683
+	store 3,0x0
+	setarg 0x122980
+	istore 3,contw
+	setarg 0xD0DB17
+	istore 3,contw
+	setarg 0x2B1D78
+	istore 3,contw
+	setarg 0x2743A6
+	istore 3,contw
+	setarg 0xD8
+	istore 1,contw
+
+	/* comb A */
+	setarg 0xA6D0C9
+	store 3,0x10
+	setarg 0xA9E86C
+	istore 3,contw
+	setarg 0x9E89D5
+	istore 3,contw
+	setarg 0xC61838
+	istore 3,contw
+	setarg 0x6F0318
+	istore 3,contw
+	setarg 0x9F
+	istore 1,contw
+
+	/* comb B */
+	setarg 0x7F6833
+	store 3,0x20
+	setarg 0xE62E1B
+	istore 3,contw
+	setarg 0x9F67FC
+	istore 3,contw
+	setarg 0x8D3712
+	istore 3,contw
+	setarg 0x0B846C
+	istore 3,contw
+	setarg 0x4A
+	istore 1,contw
+
+	/* auth rand A */
+	setarg 0xFBB686
+	store 3,0x30
+	setarg 0x19FE7F
+	istore 3,contw
+	setarg 0x16A439
+	istore 3,contw
+	setarg 0xF4F6A4
+	istore 3,contw
+	setarg 0x10D61D
+	istore 3,contw
+	setarg 0xDE
+	istore 1,contw
+
+	/* auth rand B */
+	setarg 0x735B0C
+	store 3,0x40
+	setarg 0xA7F06B
+	istore 3,contw
+	setarg 0x04625E
+	istore 3,contw
+	setarg 0x3463B0
+	istore 3,contw
+	setarg 0xB8F17A
+	istore 3,contw
+	setarg 0x7C
+	istore 1,contw
+
+	/* address A */
+	setarg 0xf91330
+	store 3,0xb0
+	setarg 0x664c7d
+	istore 3,contw
+
+	/* address B */
+	setarg 0xdc7100
+	store 3,0xb8
+	setarg 0x2ea003
+	istore 3,contw
+
+	/* sres A */
+	setarg 0x2EEE19
+	store 3,0x50
+	setarg 0x7E
+	istore 1,contw
+
+	/* sres B */
+	setarg 0x4231A4
+	store 3,0x58
+	setarg 0xD1
+	istore 1,contw
+
+	/* linkA */
+	setarg 0xa6a026
+	store 3,0x60
+	setarg 0x2569d2
+	istore 3,contw
+	setarg 0xab4a9d
+	istore 3,contw
+	setarg 0x5e87c0
+	istore 3,contw
+	setarg 0x792aa9
+	istore 3,contw
+	setarg 0x4b
+	istore 1,contw
+
+	/* linkB */
+	setarg 0xa1f07d
+	store 3,0x70
+	setarg 0xec97a6
+	istore 3,contw
+	setarg 0xae31eb
+	istore 3,contw
+	setarg 0x6fe3c4
+	istore 3,contw
+	setarg 0xa1ae1a
+	istore 3,contw
+	setarg 0x3a
+	istore 1,contw
+
+	/* linkkey */
+	setarg 0x07505b
+	store 3,0x80
+	setarg 0xc9fe74
+	istore 3,contw
+	setarg 0x057b76
+	istore 3,contw
+	setarg 0x316404
+	istore 3,contw
+	setarg 0xd884b3
+	istore 3,contw
+	setarg 0x71
+	istore 1,contw
+
+	/* K */
+	setarg 0x0c333f
+	store 3,0x90
+	setarg 0x41de70
+	istore 3,contw
+	setarg 0x9b05a2
+	istore 3,contw
+	setarg 0xb954a2
+	istore 3,contw
+	setarg 0xb37516
+	istore 3,contw
+	setarg 0x36
+	istore 1,contw
+
+	/* kinit */
+	setarg 0x5ff91a
+	store 3,0xa0
+	setarg 0x39b5a4
+	istore 3,contw
+	setarg 0x258f2d
+	istore 3,contw
+	setarg 0x5d4a85
+	istore 3,contw
+	setarg 0x656ad3
+	istore 3,contw
+	setarg 0xab
+	istore 1,contw
+
+	arg 0,contr
+	arg mem_random_number,contw
+	call memcpy16
+	setarg 0x3131
+	store 2,mem_pin
+	istore 2,contw
+	jam 4,mem_pin_length
+	arg 0xb8,rega
+	call function_e22
+	arg mem_input_store,contr
+	arg mem_kinit,contw
+	call memcpy16
+	arg 0x10,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg 0xb0,rega
+	call function_e21
+	arg 0x60,regb
+	call compare16
+error_lka:
+	nbranch error_lka,zero
+	arg mem_input_store,contr
+	arg mem_link_key,contw	
+	call memcpy16
+	arg 0x20,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg 0xb8,rega
+	call function_e21
+	arg 0x70,regb
+	call compare16
+error_lkb:
+	nbranch error_lkb,zero
+	arg mem_input_store,rega
+	arg mem_link_key,regb
+	arg mem_link_key,contw
+	call xor16
+	arg 0x30,contr
+	arg mem_random_number,contw
+	call memcpy16
+	arg 0xb8,rega
+	call function_e1
+	arg 0x50,regb
+	force 4,loopcnt
+	call compare_key
+error_sresa:
+	nbranch error_sresa,zero
+	arg 0x40,contr
+	arg mem_random_number,contw
+	call memcpy16
+	arg 0xb0,rega
+	call function_e1
+	arg 0x58,regb
+	force 4,loopcnt
+	call compare_key
+error_sresb:
+	nbranch error_sresb,zero
+	branch loop1
+	
+	arg 0,contr
+	arg mem_random_number,contw
+	call memcpy16
+	force 12,loopcnt
+	call memcpy
+	arg 0x1c,contr
+	arg mem_link_key,contw
+	call memcpy16
+	arg 0x10,rega
+	call function_e3
+	branch loop1
+
+compare16:
+	force 16,loopcnt
+compare_key:
+	arg mem_input_store,rega
+	branch compare_loop
+
+compare_loop:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop compare_loop
+	force 0,pdata
+	rtn
+
+endif
+
+
+loop1:	
+	branch loop1
+
+/* ==================== LE security ================= */
+
+generate_stk:
+	bpatchx patch3c_0,mem_patch3c
+	call function_s1
+	arg mem_le_ltk,contw
+	branch store_aes_result
+
+	/* contr = rand pointer */
+authenticate_rconfirm:
+	arg mem_le_srand,contw
+	branch authenticate_mconfirm,master
+	arg mem_le_mrand,contw
+authenticate_mconfirm:
+	copy contr,rega
+	call memcpy16
+	call function_c1
+	arg mem_le_rconfirm,contr
+	branch compare_res
+
+generate_confirm:
+	arg mem_le_mrand,rega
+	branch generate_mrand,master
+	arg mem_le_srand,rega
+generate_mrand:
+	copy rega,contw
+	call generate_random
+	branch function_c1
+
+generate_sk:
+	arg mem_le_skdm,contr
+	call load_data128
+	arg mem_le_ltk,contr
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_sk,contw
+	branch store_aes_result
+
+	/* temp=packet counter, rega = length or block counter*/
+first_block_counter:
+	force 0x49,pdata
+	branch first_block
+first_block_data:
+	force 1,pdata
+first_block:
+	force regidx_data,regext_index			/* B0 */
+	lshift8 temp,regext
+	ior regext,regext
+	increase 1,regext_index
+	rshift8 temp,regext
+	rshift16 regext,regext
+	fetch 2,mem_le_ivm
+	lshift16,pdata,pdata
+	ior regext,regext				/* octet3&octet4 of counter and low 16 bit of IV */
+	increase 1,regext_index
+	ifetch 4,contr					/* IV2-IV5 */
+	iforce regext
+	increase 1,regext_index
+	ifetch 2,contr					/* IV6-IV7 */
+	byteswap rega,regext
+	lshift16 regext,regext
+	ior regext,regext
+	increase 1,regext_index
+	rtn
+
+
+	/* temp=packet counter, regc pointers to data */	
+generate_mic:
+	add regc,1,contr
+	ifetch 1,contr
+	iforce rega
+	call first_block_counter
+	call do_aes_ocb
+
+	force regidx_data,regext_index			/* B1 */
+	ifetch 1,regc
+	and_into 0x3,pdata
+	lshift16 pdata,regext
+	set1 8,regext
+	call clear_hidata
+	call do_aes_cbc
+
+	copy rega,loopcnt
+	add regc,2,contr
+	call padding_data
+generate_mic_loop:
+	call aes_load_data
+	call do_aes_cbc
+	deposit loopcnt
+	branch generate_mic_end,blank
+	branch generate_mic_loop
+generate_mic_end:
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_mic
+	rtn
+
+aes_crypt_data:
+	increase 1,rega
+	call first_block_data
+	copy regc,contr
+	call aes_load_xor
+	call do_aes_ctr
+	call store_enc_data
+	increase 16,regc
+	increase -16,regb
+	branch aes_crypt_data,positive
+	rtn
+	
+le_encrypt:
+	bpatchx patch3c_1,mem_patch3c
+	arg mem_le_txheader,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	call first_block_data
+	call do_aes_ctr
+	arg mem_le_txpayload,regc
+	fetch 1,mem_le_txlen
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	deposit regext
+	istore 4,contw	
+	call aes_crypt_data
+	fetch 1,mem_le_txlen
+	increase 4,pdata
+	store 1,mem_le_txlen
+	fetcht 5,mem_le_pcnt_tx
+	increase 1,temp
+	storet 5,mem_le_pcnt_tx
+	rtn
+
+le_decrypt:
+	bpatchx patch3c_2,mem_patch3c
+	fetch 1,mem_le_rxbuf+1
+	sub pdata,20,null
+	branch le_dec_cont,positive
+le_dec_cont:
+	arg mem_le_rxbuf+2,regc
+	add pdata,-1,regb
+	increase -4,pdata				/* mic will be discarded */
+	store 1,mem_le_rxbuf+1
+	iadd regc,contr
+	ifetch 4,contr
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	fetcht 5,mem_le_pcnt_rx
+	call first_block_data
+	call do_aes_ctr
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_peer_mic
+	call aes_crypt_data
+	arg mem_le_rxbuf,regc
+	call generate_mic
+	fetcht 4,mem_le_peer_mic
+	isub temp,pdata				/* MIC ok? */
+	nrtn blank
+	fetch 4,mem_le_last_mic			/* reduntdant packet? */
+	isub temp,pdata
+	rtn blank
+	storet 4,mem_le_last_mic
+	fetch 5,mem_le_pcnt_rx
+	increase 1,pdata
+	store 5,mem_le_pcnt_rx
+	force 0,pdata
+	rtn
+
+wait_aes:
+	nbranch wait_aes,aes_ready
+	rtn
+
+do_aes_ocb:
+	force 0x30,aes_ctrl
+	force 0x0,aes_ctrl
+	branch wait_aes
+
+do_aes_cbc:
+	force 0x32,aes_ctrl
+	force 0x2,aes_ctrl
+	branch wait_aes
+
+do_aes_ctr:
+	force 0x34,aes_ctrl
+	force 0x4,aes_ctrl
+	branch wait_aes
+
+	
+aes_init:
+	force 1,aes_ctrl
+	force 0,aes_ctrl
+	rtn
+function_s1:
+	force regidx_data,regext_index
+	fetch 4,mem_le_mrand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	fetch 4,mem_le_srand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	call aes_clear
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+	/* rega pointers to random number */
+function_c1:
+	bpatchx patch3c_3,mem_patch3c
+	fetch 6,mem_le_lap
+	fetcht 6,mem_le_plap
+	branch function_c1_master,master
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_lap
+function_c1_master:
+	force regidx_xor,regext_index
+	copy temp,regext
+	increase 1,regext_index
+	rshift32 temp,regext
+	lshift16 pdata,pdata
+	ior regext,regext
+	increase 1,regext_index
+	rshift32 pdata,regext
+	increase 1,regext_index
+	force 0,regext					/* p2 = ia || ra */
+	force 0,pdata
+	fetch 1,mem_le_conn_peer_addr_type
+	fetcht 1,mem_le_adv_own_addr_type
+	nbranch function_c1_irat,master
+	//conn as master
+	fetch 1,mem_le_conn_own_addr_type
+	fetcht 1,mem_le_conn_peer_addr_type
+function_c1_irat:
+	store 1,mem_le_iat
+	storet 1,mem_le_rat
+	force regidx_data,regext_index
+	arg mem_le_iat,regb
+	force 4,loopcnt
+function_c1_loop1:
+	ifetch 4,rega		
+	ifetcht 4,regb
+	ixor temp,regext
+	increase 1,regext_index
+	increase 4,rega
+	increase 4,regb
+	loop function_c1_loop1		/* p1 ^ r */
+	call aes_clear				/* k = 0 */
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0xc,aes_ctrl
+	call wait_aes
+
+	call aes_clear_data
+	force 0x3a,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+padding_data:
+	compare 0,loopcnt,3
+	rtn true
+	deposit contr
+	iadd loopcnt,contw
+	force 0,pdata
+padding_loop:
+	istore 1,contw
+	increase 1,loopcnt
+	compare 0,loopcnt,3
+	rtn true
+	branch padding_loop
+
+aes_load_data:
+	force regidx_data,regext_index
+load_data_loop:
+	deposit loopcnt
+	branch load_data_padding,blank
+	ifetch 4,contr
+	increase -4,loopcnt
+load_data_padding:
+	iforce regext
+	increase 1,regext_index
+	compare regidx_key,regext_index,0xf
+	rtn true
+	branch load_data_loop
+
+aes_load_xor:
+	force regidx_xor,regext_index
+	branch load_regext
+load_key:
+	force regidx_key,regext_index
+	branch load_regext
+load_data128:
+	force regidx_data,regext_index
+load_regext:
+	force 4,loopcnt
+load_regext_loop:
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop load_regext_loop
+	rtn
+
+load_sk:
+	arg mem_le_sk,contr
+	branch load_key
+
+clear_hidata:
+	force 4,loopcnt
+	branch clear_data_rest
+
+aes_clear_data:
+	force regidx_data,regext_index
+aes_clear:
+	force 4,loopcnt
+clear_loop:
+	force 0,regext
+clear_data_rest:
+	increase 1,regext_index
+	loop clear_loop
+	rtn
+
+store_aes_result:
+	force regidx_result,regext_index
+	force 4,loopcnt
+send_aes_result_loop:
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	loop send_aes_result_loop
+	rtn
+
+store_enc_data:
+	force regidx_result,regext_index
+	copy regc,contw
+	add regb,1,loopcnt
+	sub loopcnt,15,null
+	branch store_enc_loop,positive
+	force 16,loopcnt
+store_enc_loop:
+	deposit regext
+	sub loopcnt,3,null
+	branch store_enc_byte,positive
+	istore 4,contw
+	increase -4,loopcnt
+	rtn zero
+	increase 1,regext_index
+	branch store_enc_loop
+store_enc_byte:
+	istore 1,contw
+	rshift8 pdata,pdata
+	loop store_enc_byte
+	rtn
+	
+	/* contr pointers to value to be compared */
+compare_res:
+	force regidx_result,regext_index
+	force 4,loopcnt
+compare_res_loop:
+	ifetch 4,contr
+	isub regext,null
+	nrtn zero
+	increase 1,regext_index
+	loop compare_res_loop
+	force 0,null
+	rtn
+
+enable_authrom:
+	hfetch 1,core_clkoff
+	set0 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+disable_authrom:
+	hfetch 1,core_clkoff
+	set1 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+init_memp:
+	arg mem_p,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3fbff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3cfff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffef
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x26c7f
+	setsect 2,0x146b
+	setsect 3,0x37bb3
+	istore 9,contw
+	setsect 0,0x1feb8
+	setsect 1,0x10c12
+	setsect 2,0x2b722
+	setsect 3,0x29fa6
+	istore 9,contw
+	setsect 0,0xe70f
+	setsect 1,0x16720
+	setsect 2,0x519e
+	setsect 3,0x19084
+	istore 9,contw
+	setsect 0,0x31012
+	setsect 1,0x360bf
+	setsect 2,0x3f0af
+	setsect 3,0x3d3
+	istore 9,contw
+	setsect 0,0x3a188
+	setsect 1,0x3ad0
+	setsect 2,0x3cbf2
+	setsect 3,0x243d9
+	istore 9,contw
+	setsect 0,0x2b030
+	setsect 1,0x36a03
+	setsect 2,0x11188
+	setsect 3,0x1e520
+	istore 9,contw
+	setsect 0,0x3a11e
+	setsect 1,0xfe5d
+	setsect 2,0xdd57
+	setsect 3,0x1ac93
+	istore 9,contw
+	setsect 0,0x11ed
+	setsect 1,0x218c4
+	setsect 2,0x8da7
+	setsect 3,0x257ff
+	istore 9,contw
+	setsect 0,0x3192b
+	setsect 1,0x34641
+	setsect 2,0x1be0c
+	setsect 3,0x366ad
+	istore 9,contw
+	setsect 0,0x1f83
+	setsect 1,0x15a23
+	setsect 2,0x3f9b0
+	setsect 3,0x3949
+	istore 9,contw
+	setsect 0,0x13a51
+	setsect 1,0x153fd
+	setsect 2,0x3372a
+	setsect 3,0xf1bb
+	istore 9,contw
+	setsect 0,0x3ae85
+	setsect 1,0x1eed9
+	setsect 2,0x9e66
+	setsect 3,0x1a8
+	istore 8,contw
+	rtn
+	
+ifdef SECURE_CONNECTION
+
+
+init_memp_256:
+ 	arg mem_p_256,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3f
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x1000
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x3ff00
+        setsect 1,0x3ffff
+        setsect 2,0x3ffcf
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ff
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x10000
+        setsect 1,0x0
+        setsect 2,0x3f000
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x296ff
+        setsect 1,0x22630
+        setsect 2,0x3945d
+        setsect 3,0x3d284
+        istore 9,contw
+        setsect 0,0x333a0
+        setsect 1,0x4b7a
+        setsect 2,0x37d8
+        setsect 3,0x3c9dc
+        istore 9,contw
+        setsect 0,0x3a440
+        setsect 1,0x1b958
+        setsect 2,0x38bce
+        setsect 3,0x1091f
+        istore 9,contw
+        setsect 0,0x2e12c
+        setsect 1,0x1f47c
+        setsect 2,0x356b1
+        setsect 3,0x2fd47
+        istore 9,contw
+        setsect 0,0x6837
+        setsect 1,0x2ed90
+        setsect 2,0x1ecec
+        setsect 3,0x1acc5
+        istore 9,contw
+        setsect 0,0x23357
+        setsect 1,0x18af3
+        setsect 2,0xf9e1
+        setsect 3,0x129f0
+        istore 9,contw
+        setsect 0,0x2e7eb
+        setsect 1,0x3e6e3
+        setsect 2,0x3e1a7
+        setsect 3,0x10b8b
+        istore 9,contw
+        setsect 0,0x24fe3
+        setsect 1,0x20ef
+        setsect 2,0x1b5a6
+        setsect 3,0xdc2f
+        istore 9,contw
+        setsect 0,0x13860
+        setsect 1,0x2bd69
+        setsect 2,0x391a
+        setsect 3,0x1b222
+        istore 9,contw
+        rtn
+endif
+
Index: YJX_Only24g/FCC_1021S/program/sim.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/sim.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/sim.prog	(working copy)
@@ -0,0 +1,327 @@
+simstart:
+	force 8,radio_ctrl
+	force 0,radio_ctrl
+	hjam 0xe0,0x907			// set if_phase=7 for simulation environment
+	hjam 0xe0,0x90a
+	hjam 0x25,0x912
+	hjam 0xff,rfen_ck
+	hjam 5,core_clksel
+	hfetch 3,0xffd
+//	branch sim_usb
+//	branch sim_iic
+//	branch sim_clk
+//	call sim_uart
+//	branch sim_lpm
+//	branch sim_c1
+//	branch loop
+//	call sim_spi
+//	call sim_eep
+//	branch test_tx
+//	branch sim_le
+//	branch sim_250k
+	branch sim_main
+sim_lpm:
+	hfetch 1,1
+	bbit1 7,sim_assert
+	hfetch 1,core_lpm_xtalcnt
+	nbranch sim_lpm_sleep,blank
+	setarg 0
+	set1 31,pdata
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+sim_lpm_sleep:
+	jam 1,mem_context
+	branch sim_lpm_wait,wake
+	hjam 0x70,core_bist_ctrl
+	hjam ccnt_start,core_misc_ctrl
+sim_lpm_wait:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	branch sim_lpm_wait,blank
+	call lpm_recover_clk,wake
+	jam 0x1b,mem_lpm_ldocnt
+	arg sim_assert,loopcnt
+	hfetch 1,core_gpio_wakeup_low+2
+	bbit0 2,sim_lpm_loop
+	until null,lpo_edge
+	hjam 0x20,core_misc_ctrl
+	until null,lpo_edge
+sim_lpm_loop:
+	hfetch 1,core_misc_status
+	bbit1 6,sim_lpm_loop
+	hfetch 1,core_gpio_in+3
+	compare 0x20,pdata,0x20
+	setarg 0
+	setflag true,29,pdata
+	setflag true,30,pdata
+	store 4,mem_gpio_wakeup_low
+	setarg 0
+	nsetflag true,29,pdata
+	nsetflag true,30,pdata
+	store 4,mem_gpio_wakeup_high
+	arg 300,temp
+	branch lpm_sleep
+
+sim_assert:
+	branch sim_assert
+
+
+sim_main:
+	call init_param
+	setarg 0
+	hstore 2,core_clkoff
+	setarg 0xff00
+	hstore 2,core_lpm_reg+2
+	hjam lpmreg_sel_ctrl2,core_lpm_wr
+	hfetch 1,1
+	bbit1 7,sim_slave
+	jam dvc_op_hci,mem_device_option
+	fetch 6,mem_lap
+	store 6,mem_hci_plap
+	setarg 0xbdbdbd
+	store 3,mem_lap
+	istore 3,contw
+	jam hci_cmd_create_conn,mem_hci_cmd
+	force 0x10,pdata
+	add pdata,-2,clkn_bt
+	store 4,mem_page_clk
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	jam 0,mem_scan_mode
+sim_loop:
+	call idle_dispatch
+	fetch 1,mem_context
+	bbit0 state_inconn,sim_skip
+	set1 mark_tx_l2cap,mark
+	fetch 1,mem_context + coffset_op		
+	set1 op_txl2cap,pdata
+	store 1,mem_context + coffset_op
+	jam 0,mem_context + coffset_lmp_to_send
+	jam 0,mem_lmo_opcode2
+	setarg 700
+	store 2,mem_tx_len
+	setarg mem_tmp_buffer
+	store 2,mem_txptr
+	jam 6,mem_tx_lch
+	jam 1,mem_hci_conn_handle
+sim_skip:
+	call connection_dispatch
+	branch sim_loop		
+
+sim_slave:
+	jam 2,mem_scan_mode
+	call page_scan_dispatch
+	branch sim_loop
+
+sim_iic:
+	call iicd_init_12m
+	setarg 3
+	hstore 2,core_iicd_txlen
+	setarg 0x1f051e
+	store 3,mem_iicd_addr
+	setarg mem_iicd_addr
+	hstore 2,core_iicd_txaddr
+	setarg 1
+	hstore 2,core_iicd_rxlen
+	hjam 3,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	nop 300
+	setarg 0xd321d2
+	store 3,mem_iicd_addr
+	hjam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+s_loop:
+	branch s_loop
+
+sim_usb:
+	call usb_init
+sim_usb_loop:
+	call usb_isr
+	branch sim_usb_loop
+
+ifdef NULL
+sim_250k:
+	call init_250k
+	hfetch 1,1
+	bbit1 7,sim_250k_rx
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	nop 600
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	force 0,pdata
+	inject mod,9
+	setarg 0xaa
+	inject mod,8
+	preload access
+	inject mod,32
+	setarg 0x1da861
+	inject mod,24
+	setarg 0x94445b
+	inject mod,24
+	setarg 0x1275f
+	inject mod,24
+	branch loop
+sim_250k_rx:
+	call rx_radio_freq
+	call start_receiver	/* wait for that id packet from master */
+	enable decode_fec0
+	correlate null,never
+	parse demod,bucket,72
+	branch loop
+
+	
+
+
+
+sim_uart:
+	setarg mem_le_test_uart_rxbuf
+	hstore 2,core_uart_tsaddr
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+	increase 0x80,pdata
+	hstore 2,core_uart_teaddr
+	hstore 2,core_uart_rsaddr
+	hstore 2,core_uart_rrptr
+	increase 0x80,pdata
+	hstore 2,core_uart_readdr
+	increase 1,pdata
+	hjam 0x84,core_gpio_sel1
+	hjam 0x80,core_gpio_pu2
+	hjam 0xe5,core_uart_ctrl
+	setarg 0x30
+	hstore 2,core_uart_baud
+	hfetch 1,1
+	bbit1 7,sim_uart_wait
+	setarg 0x1357d9a
+	store 4,mem_le_test_uart_rxbuf
+	setarg 0x55aa69
+	istore 3,contw
+	setarg 0xfedcb3
+	istore 3,contw
+	deposit contw
+	hstore 2,core_uart_twptr
+sim_uart_wait:
+	nop 20000
+	rtn
+
+sim_spi:
+	call spid_init_flash
+	call spid_unlock_flash
+	call spid_init
+	setarg 0x35
+	call spid_read_reg
+	nop 200
+	force 4,temp
+	setarg 0x42
+	branch spid_read_regs
+
+sim_eep:
+	call iicd_init_12m
+	setarg 3
+	hstore 2,core_iicd_txlen
+	setarg 0x1f051e
+	store 3,mem_iicd_addr
+	setarg mem_iicd_addr
+	hstore 2,core_iicd_txaddr
+	setarg 1
+	hstore 2,core_iicd_rxlen
+	hjam 3,core_iicd_ctrl
+	hjam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	nop 200
+	setarg 0x18f7a3b
+	store 4,mem_iicd_addr
+	arg mem_iicd_addr,rega
+	arg 4,temp
+	setarg 0x1235
+	call iicd_write_eep
+	nop 300
+	arg mem_ucode_keybuf,rega
+	arg 1,temp
+	setarg 0x3512
+	store 2,mem_addr_mi
+	call iicd_read_eep
+	arg 1,temp
+	setarg 0x3512
+	store 2,mem_addr_mi
+	call iicd_read_eep
+	nop 200
+	setarg 0xa1
+	arg 3,temp
+	arg mem_ucode_keybuf,rega
+	branch iicd_read_data
+
+sim_otp:
+	setarg 0x123456
+	store 3,0x800
+	setarg 0x10
+	arg 0x800,rega
+	arg 0x10,loopcnt
+	branch otp_write
+
+sim_clk:
+	add lpo_time,12,alarm
+	snooze
+clock_loop:
+	nop 100
+	hjam 1,core_config
+	setflag user,0,pdata
+	random pdata
+	and_into 0x1f,pdata
+	hstore 1,core_clksel
+	nop 70
+	hjam 2,core_kick
+	nop 200
+	branch clock_loop
+	hjam 2,core_clksel
+	setarg 1500
+	call sleep
+	hjam 0x42,core_clksel
+	add lpo_time,200,alarm
+	snooze
+	branch 0x4000
+
+sim_c1:
+	setarg 0xb4b5b6
+	store 3,mem_le_lap
+	setarg 0xb1b2b3
+	istore 3,contw
+	setarg 0xa4a5a6
+	store 3,mem_le_plap
+	setarg 0xa1a2a3
+	istore 3,contw
+	setarg 0x101
+	store 4,mem_le_preq
+	setarg 0x70710
+	istore 3,contw
+	setarg 0x302
+	store 4,mem_le_pres
+	setarg 0x50008
+	istore 3,contw
+
+	arg regidx_key,regext_index
+	arg 4,loopcnt
+sim_clear_key_loop:
+	arg 0,regext
+	increase 1,regext_index
+	loop sim_clear_key_loop
+
+	setarg 0x702EE0
+	store 3,mem_le_rconfirm
+	setarg 0x274EC6
+	istore 3,contw
+	setarg 0x0E6388
+	istore 3,contw
+	setarg 0x56AD6F
+	istore 3,contw
+	setarg 0x83D521
+	istore 3,contw
+	setarg 0x57	
+	istore 1,contw
+	arg mem_le_rconfirm,rega
+	call aes_init
+	call function_c1
+	branch loop
+endif
Index: YJX_Only24g/FCC_1021S/program/simple_pairing.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/simple_pairing.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/simple_pairing.prog	(working copy)
@@ -0,0 +1,2362 @@
+
+publickey_init:
+	fetch 1,mem_ssp_enable
+	nbranch sp_initialize,blank
+	branch sp_initialize_256
+
+sp_calc_sequence_256_check:
+	bpatchx patch3c_4,mem_patch3c
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_local_key_invalid
+	rtneq SP_KEY_VALID_256
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,stop_publickey_calc_256
+	fetch 1,mem_le_sc_calc
+	beq SP_CALC_STANDBY,sp_initialize_256
+	rtn
+stop_publickey_calc_256:
+	jam SP_CALC_STANDBY,mem_le_sc_calc	
+	rtn
+	
+ifdef SIMPLE_PAIRING
+
+sp_initialize:
+	bpatchx patch3c_5,mem_patch3c
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable, blank
+	call ssp_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc 
+	
+sp_clear_flags:
+	setarg 0
+	store 8,mem_sp_state_start
+	store 4,mem_sp_flag_start
+	store 7,mem_sp_iocap_remote
+	rtn
+
+sp_generate_local_key:
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	branch sp_generate_local_key0
+sp_master_generate_local_key:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_dhkey_calc
+	branch assert
+sp_generate_local_key0:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_start_send_pubkey
+	branch sp_pubkey_calc
+    
+sp_start_send_pubkey:
+	call sp_dhkey_calc
+	fetch 1,mem_master_sp_state
+	nrtn blank
+	jam SP_STAT_KEY_SEND,mem_sp_state
+	rtn
+
+
+sp_calc_check_publickey_256:
+	call sp_calc_b256
+	arg mem_le_pubkey_remote_y_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256   
+	arg mem_le_pubkey_remote_x_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256   
+  	arg mem_t2_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256	 
+	arg 32,loopcnt
+  	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b256:
+	arg mem_gy_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256   
+	arg mem_gx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256    
+  	arg mem_t2_256,regA
+	arg mem_gx_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_gx_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod_256	
+	
+sp_calc_check_publickey:
+	call sp_calc_b
+	arg mem_sp_pubkey_remote_y,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod 
+	arg mem_sp_pubkey_remote_x,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+  	arg mem_a,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod	 
+ 	arg 24,loopcnt
+ 	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b:
+	arg mem_gy,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod   
+	arg mem_gx,regA
+	arg mem_t2_256,contw
+  	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_gx,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+	arg mem_a,regA
+	arg mem_gx,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod	
+
+   
+sp_calculate_commitment:
+	fetch 1,mem_sp_calc
+	bne SP_CALC_STANDBY,sp_calculate_commitment_wait_dhkey_calc
+	call sp_local_random_key_generator
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	branch sp_calculate_commitment0
+master_sp_calculate_commitment:
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+sp_calculate_commitment0:
+	call function_f1
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment0
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam SP_STAT_COMMIT_SEND,mem_sp_state
+	rtn
+master_sp_calculate_commitment0:
+	jam SP_STAT_COMMITMENT_COMPARE,mem_master_sp_state
+	call sp_master_generate_local_key
+	branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+	arg mem_sp_random_local,contw
+	force 8,queue
+	branch random_generator
+  
+sp_calculate_commitment_wait_dhkey_calc:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+    
+sp_confirm_check:
+    /* calculate Ea here */
+	bpatchx patch3c_6,mem_patch3c
+	arg      mem_addr_value,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_remote
+	istore   3,contw 
+
+	call     function_f3a
+
+	arg      mem_sp_calc_result_high,regA
+	arg      mem_sp_check_result,regB    
+	force    4,queue 
+	call     compare4
+	nbranch  sp_confirm_check_failed,true  
+
+	call sp_confirm_check_success
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch tid_set_reply
+    
+sp_confirm_check_success:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_success_master
+	jam SP_STAT_CONFIRM_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+sp_confirm_check_success_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam SP_STATE_END,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+	//accept opcode?
+	
+sp_confirm_check_failed:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_failed_master
+	jam SP_STAT_NULL,mem_sp_state
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	//accept opcode?
+	jam      AUTHENTICATION_FAILURE_ERROR,mem_lmo_reason2 
+	rtn
+sp_confirm_check_failed_master:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam SP_STAT_NULL,mem_master_sp_state
+	rtn
+    
+sp_confirm_calc:
+	fetch 1,mem_sp_dh_ready
+	beq SP_FLAG_COMMIT, sp_confirm_calc_ready
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+sp_confirm_calc_ready:
+	arg      mem_addr_value,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_local
+	istore   3,contw 
+
+	call     function_f3b
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc_master
+	jam      SP_STAT_CONFIRM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+sp_confirm_calc_master:
+	jam      SP_STAT_CONFIRM_SEND,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn   
+
+sp_master_key_prarm_push:
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	branch sp_link_key_calc
+sp_link_key_prarm_push:
+	jam      SP_STAT_DONE,mem_sp_state    
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+sp_link_key_calc:
+    /*calculate Link key here */
+	arg      mem_addr_value,contw
+	fetch    6,mem_sp_prarm_stack
+	istore   6,contw
+	fetch    6,mem_sp_prarm_stack+6
+	istore   6,contw
+	
+	call     function_f2    
+
+	/*handle linkkey  */
+	jam 1,mem_link_key_exists
+	arg mem_link_key,contw
+	arg mem_sp_calc_result_high,contr
+	call memcpy16
+	branch  generate_linkkey_continue
+
+    
+sp_pubkey_calc:
+	bpatchx patch3c_7,mem_patch3c
+	fetch    1,mem_sp_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+	arg      mem_sp_private_key,contw 
+	force    11,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+/* we don't need fixed private key,generate random key instead */ 
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24 //mem_sp_private_key=>mem_k 24BYTES
+
+	arg      mem_ax,contw
+	arg      mem_gx,contr
+	call     memcpy48 //mem_gx=>mem_ax 48bytes
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az //0=>mem_az 24bytes
+
+	call     eckp_calc_init
+	jam SP_CALC_PUBKEY,mem_sp_calc
+	rtn    
+	
+sp_pubkey_generated:
+	arg      mem_sp_pubkey_local,contw
+	arg      mem_bx,contr
+	call     memcpy48   
+	jam      SP_KEY_VALID,mem_sp_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+sp_dhkey_calc:
+	bpatchx patch3d_0,mem_patch3d
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24
+
+	arg      mem_ax,contw
+	arg      mem_sp_pubkey_remote,contr
+	call     memcpy48
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az
+
+	call     eckp_calc_init
+	jam      SP_CALC_DHKEY,mem_sp_calc
+	rtn 	
+	
+sp_dhkey_generated:
+	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_sp_dhkey,contw
+	arg mem_bx,contr
+	call memcpy24
+	jam SP_KEY_VALID,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+random_generator:
+	increase -1,queue
+	nrtn     positive
+	random   pdata
+	istore   2,contw  
+	branch   random_generator
+compare4:
+	increase -1,queue
+	nbranch  compare4_success,positive
+	ifetch   4,regA
+	copy     pdata,temp
+	ifetch   4,regB
+	iflip    temp,pdata
+	nbranch  compare4_failed,zero
+	increase 4,regA
+	increase 4,regB
+	branch   compare4
+compare4_failed:
+	disable  true
+	rtn
+compare4_success:
+	enable   true
+	rtn
+
+/*************************************************/
+/** Message state machine routines ***************/
+/*************************************************/
+// simple pairing support 
+
+simple_pairing_sequence:
+	bpatchx patch3d_1,mem_patch3d
+         fetch 1,mem_sp_flag
+         rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam      SP_FLAG_STANDBY,mem_sp_flag
+	fetch    1,mem_sp_state
+	beq  SP_STAT_KEY_SEND,sp_send_LMP_ENCAPSULATED_HEADER
+	beq  SP_STAT_COMMIT_SEND,sp_send_LMP_SIMPLE_PAIRING_COMFIRM
+	beq  SP_STAT_RANDOM_SEND,sp_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq  SP_STAT_CONFIRM_SEND,sp_send_LMP_DHKEY_CHECK
+	beq  SP_STAT_KEY_GENERATE,sp_generate_local_key
+	beq  SP_STAT_COMMIT_CALC,sp_calculate_commitment
+	beq  SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq  SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq  SP_STAT_LINK_KEY_CALC,sp_link_key_prarm_push
+	//beq  SP_STAT_FEATURE_EXT_SEND,send_LMP_FEATURES_REQ_EXT
+	rtn  
+
+master_simple_paring_sequence:
+	bpatchx patch3d_2,mem_patch3d
+	fetch 1,mem_master_sp_flag
+	rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	fetch 1,mem_master_sp_state
+	beq SP_MASTER_STAT_START_SKIP,sp_master_send_io_cap_get
+	beq SP_MASTER_STAT_START_DONE,sp_master_send_io_cap_send
+	beq SP_STAT_KEY_SEND,sp_master_send_LMP_ENCAPSULATED_HEADER
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment
+	beq SP_STAT_COMMITMENT_COMPARE,sp_master_commitment_compare
+	beq SP_STAT_RANDOM_SEND,sp_master_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq SP_STAT_CONFIRM_SEND,master_sp_send_lmp_dhkey_check
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq SP_STATE_END,master_sp_sm_end
+	rtn
+
+master_set_mem_master_sp_flag:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn
+	
+master_clear_mem_master_sp_flag:
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	rtn
+sp_calc_sequence:
+	bpatchx patch3d_3,mem_patch3d
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_sp_calc
+	rtnbit1 7
+	fetch    1,mem_ec_loopc
+	branch   sp_calc_sequence_done,blank
+	branch   eckp_calc
+
+sp_calc_sequence_done:    
+	call ecunmapz
+	fetch 1,mem_sp_calc
+	beq  SP_CALC_PUBKEY,sp_pubkey_generated
+	beq  SP_CALC_DHKEY,sp_dhkey_generated
+	rtn
+
+
+bn_testbit:
+	and pdata,7,queue
+	rshift3 pdata,pdata
+	iadd contr,contr
+	ifetch 1,contr
+	qisolate0 pdata
+	rtn
+
+
+ec_copy:
+	call memcpy24
+	call memcpy24
+	branch memcpy24
+	
+	
+bn_eq_zero:
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	rtn
+	
+	
+	/* return zero if eq */
+
+bn_eq_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	isub temp,null
+	nrtn zero
+	increase 4,regA
+	increase 4,regB
+	loop bn_eq_0
+	rtn
+
+	/* return positive if A >= B */
+bn_bigeq:
+	force 6,loopcnt
+	increase 20,regA
+	increase 20,regB
+bn_bigeq_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	nrtn positive
+	nrtn blank
+	increase -4,regA
+	increase -4,regB
+	loop bn_bigeq_0
+	rtn
+
+bn_add:
+	force 6,loopcnt
+	force 0,regC
+bn_add_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	iadd temp,pdata
+	iadd regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_add_0
+	rtn
+
+bn_sub:
+	force 6,loopcnt
+	force 0,regC
+bn_sub_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	isub regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_sub_0
+	rtn
+
+bn_rshift6:
+	force 6,loopcnt
+	increase 20,regA
+bn_rshift:
+	force 0,regC
+bn_rshift_0:	
+	ifetch 4,regA
+	isolate1 0,pdata
+	setflag true,1,regC
+	rshift pdata,pdata
+	isolate1 0,regC
+	setflag true,31,pdata
+	istore 4,regA
+	increase -4,regA
+	rshift regC,regC
+	loop bn_rshift_0
+	rtn
+
+bn_lshift:
+	force 6,loopcnt
+	force 0,regC
+bn_lshift_0:	
+	ifetch 4,regA
+	isolate1 31,pdata
+	setflag true,1,regC
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata
+	istore 4,regA
+	increase 4,regA
+	rshift regC,regC
+	loop bn_lshift_0
+	rtn
+	
+bn_lshiftmod:
+	call bn_lshift
+bn_lshiftmod_ismod:	
+	isolate1 0,regC
+	branch bn_lshiftmod_0,true
+	arg mem_p,regB
+	copy regA,regC
+	increase -24,regA
+	call bn_bigeq
+	nrtn positive
+	copy regC,regA
+bn_lshiftmod_0:
+	increase -24,regA
+	arg mem_p,regB
+	copy regA,contw
+	branch bn_sub
+	
+
+bn_addmod:
+	call bn_add
+	copy contw,regA
+	branch bn_lshiftmod_ismod
+	
+bn_submod:
+	call bn_sub
+	isolate0 0,regC
+	rtn true
+	arg mem_p,regB
+	add contw,-24,regA
+	copy regA,contw
+	branch bn_add
+	
+
+bn_p192mod:
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2,regB
+	copy regB,contw
+	add regA,24,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	force 0,pdata
+	istore 8,contw
+	copy timeup,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	force 0,pdata
+	istore 8,contw
+	add alarm,32,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	add alarm,40,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	branch bn_addmod
+		
+
+bn_load:
+	force 6,loopcnt
+bn_load_0:	
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop bn_load_0
+	rtn
+
+
+	/* cost 1562 clks */	
+bn_mulmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp1,contw
+	call bn_zero
+	arg mem_tmp1,contw
+	copy regA,contr
+	force 0,regext_index
+	call bn_load
+	copy regB,contr
+	call bn_load
+	force 0,regB
+bn_mulmod_1:	
+	force 0,temp
+	force 6,regC
+bn_mulmod_0:
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+	copy regB,regext_index
+	deposit regext
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 12,regC,0xff
+	nbranch bn_mulmod_0,true
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -24,contw
+	increase 1,regB
+	compare 6,regB,0xff
+	nbranch bn_mulmod_1,true
+	arg mem_tmp1,regA
+	copy timeup,contw
+	branch bn_p192mod
+
+	
+bn_sqrmod:
+	copy regA,regB
+	branch bn_mulmod
+
+bn_rshifteven:
+	copy regA,alarm
+bn_rshifteven_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift6
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_0,true
+	arg mem_p,regA
+	copy regB,contw
+	call bn_add
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						/* [6] */
+	increase -24,regB
+bn_rshifteven_0:
+	add regB,24,regA
+	force 7,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_1
+
+	/* cost 141910 clks */
+bn_invmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp0,contw				/* x */
+	call bn_zero
+	force 0,pdata
+	store 4,mem_tmp5
+	store 4,mem_t2
+	jam 1,mem_tmp0
+	arg mem_tmp1,contw				/* y */
+	call bn_zero
+	arg mem_p,contr
+	arg mem_tmp2,contw				/* a */
+	call memcpy24
+	copy regA,contr
+	arg mem_tmp3,contw				/* b */
+	call memcpy24
+bn_invmod_2:	
+	arg mem_tmp3,contr
+	call bn_eq_zero
+	branch bn_invmod_0,blank
+	arg mem_tmp3,regA
+	arg mem_tmp0,regB
+	call bn_rshifteven
+
+	arg mem_tmp2,regA
+	arg mem_tmp1,regB
+	call bn_rshifteven
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	call bn_bigeq
+	branch bn_invmod_1,positive
+	arg mem_tmp2,regA
+	arg mem_tmp3,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_1:
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp1,regA
+	arg mem_tmp0,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_0:
+	arg mem_tmp0,contw
+	call bn_zero
+	fetch 1,mem_tmp5
+	store 1,mem_tmp0
+	store 1,mem_tmp0a
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_addmod
+	arg mem_p,regA
+	arg mem_tmp1,regB
+	copy timeup,contw
+	branch bn_submod
+	
+
+
+	/* cost 64742 clks */
+ecdbl:
+	arg mem_cz,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_a,regA
+	arg mem_t3,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=a*z4	*/
+	arg mem_cx,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_t2,contw
+	call bn_addmod
+	arg mem_t2,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_addmod		/* t2=3*x2 + z*z4		D  */
+	arg mem_cx,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_cy,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA		
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=4x*y2	B	*/
+	arg mem_t3,regA
+	arg mem_t0,contw
+	call bn_sqrmod
+	arg mem_t0,regA
+	call bn_lshiftmod
+	arg mem_t0,regA
+	call bn_lshiftmod		
+	arg mem_t0,regA		
+	call bn_lshiftmod		/* t0=8*y4		C */
+	arg mem_cy,contr
+	arg mem_t3,contw
+	call memcpy24
+	arg mem_t3,regA
+	call bn_lshiftmod
+	arg mem_t3,regA
+	arg mem_cz,regB
+	arg mem_cz,contw
+	call bn_mulmod		
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_cx,contw
+	call bn_submod
+	arg mem_t1,regA
+	arg mem_cx,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t3,contw
+	call bn_mulmod		
+	arg mem_t3,regA
+	arg mem_t0,regB
+	arg mem_cy,contw
+	branch bn_submod
+	
+
+	/* cost 104904	clks */
+ecadd:
+	arg mem_az,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_cx,regA
+	arg mem_t7,regB
+	arg mem_t0,contw
+	call bn_mulmod		/* n1=t0=xa*zb2  */
+	arg mem_az,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_cy,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* n2=t1=ya*zb3 */
+	arg mem_cz,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_ax,regA
+	arg mem_t7,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* n3=t2=xb*za2 */
+	arg mem_cz,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_ay,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* n4=t3=yb*za3 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t7,contw
+	call bn_submod		/* n5=t7=n1-n3=t0-t2 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t0,contw
+	call bn_addmod		/* n7=t0=n1+n3=t0+t2 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_submod		/* n6=t2=n2-n4=t1-t3 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_addmod		/* n8=t1=n2+n4=t1+t3 */
+	arg mem_t1,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5 */
+	arg mem_cz,regA
+	arg mem_az,regB
+	arg mem_t3,contw
+	call bn_mulmod	
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_cz,contw
+	call bn_mulmod		/* z=za*zb*n5 */
+	arg mem_t7,regA
+	arg mem_t7,contw
+	call bn_sqrmod		/* t7=n5^2 */
+	arg mem_t7,regA
+	arg mem_t0,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=n5^2*n7 */
+	arg mem_t7,regA
+	arg mem_t1,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5^3 */
+	arg mem_t2,regA
+	arg mem_cx,contw
+	call bn_sqrmod		
+	arg mem_cx,regA
+	arg mem_t3,regB
+	arg mem_cx,contw
+	call bn_submod		/* x=n6^2-n5^2*n7 */
+	arg mem_cx,contr
+	arg mem_t7,contw
+	call memcpy24
+	arg mem_t7,regA
+	call bn_lshiftmod		/* t7=2*x */
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_submod		/* t3=n9 */
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* t2=n9*n6 */
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_cy,contw
+	call bn_submod	
+	arg mem_cy,regA
+	arg mem_p,regB
+	arg mem_cy,contw
+	force 0,regC
+	fetch 1,mem_cy
+	isolate1 0,pdata
+	call bn_add,true
+	copy regC,alarm
+	arg mem_cy,regA
+	call bn_rshift6
+	fetch 1,mem_cy5
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5
+	rtn
+
+	/* cost 22276983 clks */
+
+eckp_0:	
+	fetch 1,mem_ec_loopc
+	increase -1,pdata
+	nrtn positive
+	store 1,mem_ec_loopc
+	fetch 1,mem_ec_infinite
+	call ecdbl,blank
+	fetch 1,mem_ec_loopc
+	arg mem_k,contr
+	call bn_testbit
+	branch eckp_0,true
+	fetch 1,mem_ec_infinite
+	nbranch eckp_1,blank
+	call ecadd
+	branch eckp_0
+eckp_1:
+	jam 0,mem_ec_infinite
+	arg mem_ax,contr
+	arg mem_cx,contw
+	call ec_copy
+	branch eckp_0
+
+	/* cost 162522 clks */
+ecunmapz:
+	arg mem_cz,regA
+	arg mem_t3,contw
+	call bn_invmod			/* t3 = 1/z */
+	arg mem_t3,regA
+	arg mem_t1,contw		
+	call bn_sqrmod			/* t1 = 1/z2 */
+	arg mem_cx,regA
+	arg mem_t1,regB
+	arg mem_bx,contw
+	call bn_mulmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t2,contw			
+	call bn_mulmod			/* t2 = 1/z3 */
+	arg mem_cy,regA
+	arg mem_t2,regB
+	arg mem_by,contw
+	branch bn_mulmod		
+	
+	
+
+sha_endian_swap2:	
+	ifetch 4,contr
+	force 4,regA
+	increase 3,contw
+sha_endian_loop:	
+	istore 1,contw
+	rshift8 pdata,pdata
+	increase -2,contw
+	increase -1,regA
+	nbranch sha_endian_loop,zero
+	increase 5,contw
+	loop sha_endian_swap2
+	rtn	
+
+
+sha_getw:
+	lshift2 queue,pdata
+	iadd timeup,contr
+	ifetch 4,contr
+	rtn
+	
+sha_r:
+	force 16,alarm
+	arg memdat,timeup
+sha_r_loop:	
+	add alarm,-7,queue
+	call sha_getw
+	iforce temp						/* W[t - 7] */
+	add alarm,-16,queue
+	call sha_getw
+	iadd temp,temp					/* W[t-7] + W[t-16] */
+	add alarm,-2,queue
+	call sha_getw
+	shasx pdata,1,pdata
+	iadd temp,temp					/* S1(W[t -  2]) + W[t-7] + W[t-16] */
+	add alarm,-15,queue
+	call sha_getw
+	shasx pdata,0,pdata
+	iadd temp,temp					/* S0(W[t - 15]) + S1(W[t -  2]) + W[t-7] + W[t-16] */
+	lshift2 alarm,pdata
+	iadd timeup,contw
+	istoret 4,contw
+	increase 1,alarm
+	compare 64,alarm,0xff
+	nbranch sha_r_loop,true
+	rtn
+	
+
+sha_init:
+	arg memh0,contr
+	force 7,regext_index
+sha_init_0:	
+	ifetch 4,contr
+	iforce regext
+	increase -1,regext_index
+	branch sha_init_0,positive
+	rtn
+
+sha:
+	bpatchx patch3d_4,mem_patch3d
+	call sha_r		/* preprocessing data into R() */
+	arg memahbak,contw
+	force 0,regext_index
+sha_0:	
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_0,true
+	call enable_authrom
+	arg memk,timeup
+	arg memdat,alarm
+	force 64,loopcnt
+sha_loop:	
+	ifetcht 4,alarm
+	ifetch 4,timeup
+	increase 4,timeup
+	increase 4,alarm
+	iadd temp,pdata			/* x+K */
+	force 7,regext_index
+	iadd regext,temp			/* x+K+h */
+	force 4,regext_index
+	shasx regext,3,pdata
+	iadd temp,temp			/* temp = s3(e)+x+K+h */
+	force 5,regext_index
+	deposit regext
+	force 6,regext_index
+	ixor regext,pdata
+	force 4,regext_index
+	iand regext,pdata			/* (e & (f ^ g)) */
+	force 6,regext_index
+	ixor regext,pdata			/* F1(e, f, g) = g ^ (e & (f ^ g)) */
+	iadd temp,temp			/* temp1 = h + S3(e) + F1(e,f,g) + K + x */
+	force 7,regext_index
+	copy temp,regext			/* save to H */
+	force 3,regext_index
+	deposit regext
+	iadd temp,regext			/* save to D */
+	force 0,regext_index
+	deposit regext
+	force 1,regext_index
+	iand regext,temp			/* a & b */
+	ior regext,pdata			/* a | b */			
+	force 2,regext_index
+	iand regext,pdata			/* (c & (a | b)) */
+	ior temp,temp				/* F0:(a & b) | (c & (a | b)) */
+	force 0,regext_index
+	shasx regext,2,pdata
+	iadd temp,pdata			/* temp2 = S2(a) + F0(a,b,c) */
+	force 7,regext_index
+	iadd regext,regext			/* h = temp1 + temp2 */
+	regexrot					/* rotate move h,a-g => a-h */
+	loop sha_loop
+	arg memahbak,contr
+	force 0,regext_index
+sha_1:	
+	ifetch 4,contr
+	iadd regext,regext
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_1,true
+	branch disable_authrom
+
+	
+sha_result:
+	arg   memresult,contw
+	force 7,regext_index
+sha_regext_save:
+	deposit regext
+	istore  4,contw 
+	increase -1,regext_index
+	branch   sha_regext_save,positive
+	rtn	
+
+pad_xor:
+//	arg memx_end,contr
+	arg      memdat,contw
+	increase -4,contr
+	sub      loopcnt,16,regA
+pad_xor_0:	    
+	ifetch   4,contr
+	ixor     temp,pdata
+	istore   4,contw	
+	increase -8,contr	
+	loop  pad_xor_0
+	copy     regA,loopcnt
+	deposit  temp
+pad_xor_1:	
+	istore 4,contw
+	loop pad_xor_1
+	rtn
+
+g_noninit_number_confirm:
+	call g_noninit0
+	call sha_result
+	branch g_common0
+
+g_noninit:
+	call g_noninit0
+	branch g_common0
+	
+g_noninit0:
+ 	arg      mem_sp_pubkey_remote_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_local_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	branch g_common
+	
+g_init:
+ 	arg      mem_sp_pubkey_local_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_remote_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call g_common
+	branch g_common0
+	
+g_common:	
+	call     memcpy_dword_swap4
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    5,loopcnt
+	call memset0
+	setarg 640
+	istore 4,contw
+	branch sha
+g_common0:
+	fetch 4,memresult
+//	store 4,mem_gkey
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+	quotient pdata
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	arg 1000,rega
+	imul32 rega,pdata
+	fetcht 4,mem_gkey
+	iadd temp,pdata
+	store 4,mem_gkey
+	rtn
+
+function_f1_no_key:
+	jam 0,mem_passkey_1bit
+	branch function_f1_common
+	
+function_f1:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f1_no_key
+function_f1_common:
+	bpatchx patch3d_5,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+2
+	copy pdata,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	fetch 2,mem_sp_prarm_stack+4
+	copy pdata,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	istore   3,contw
+	
+	fetch 1,mem_passkey_1bit
+	
+	istore   1,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0388
+	istore   4,contw
+	call     sha
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call		bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+	
+function_f2:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+12
+	copy pdata,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	fetch 2,mem_sp_prarm_stack+14
+	copy pdata,contr
+	call     memcpy_dword_swap4
+
+	setarg   0x62746c
+	lshift8  pdata,pdata
+	or_into       0x6b,pdata       
+	istore   4,contw
+	arg      mem_addr_value_end,contr
+	force    3,loopcnt
+	call     memcpy_dword_swap
+	
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0380
+	istore   4,contw
+	call     sha
+
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+
+function_f3a:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3a_no_pin
+function_f3a_common:
+	bpatchx patch3d_6,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	branch function_f3_common
+
+function_f3a_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3a_common
+
+function_f3b_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3b_common
+
+
+function_f3b:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3b_no_pin
+function_f3b_common:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+
+	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+function_f3_common:    
+	setarg   0x0    
+	istore   8,contw
+	istore   4,contw
+	fetch 4,mem_pin
+	istore   4,contw
+	
+	copy     contw,temp
+	jam      0x80,mem_addr_padding
+	copy     temp,contw
+	arg      mem_addr_iocap_end,contr
+	call     memcpy_dword_swap4
+
+	call     sha
+    
+	arg      memdat,contw
+	force 7,loopcnt
+	call memset0
+	istore   4,contw
+	setarg   0x03F8
+	istore   4,contw
+	call     sha
+	call     sha_result
+	
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha	
+	branch     sha_result
+		
+/*
+eckp:
+	jam 192,mem_ec_loopc
+	jam 1,mem_ec_infinite
+*/
+eckp_calc_init:
+	jam      192,mem_ec_loopc
+eckp_calc_init_1:    
+	fetch    1,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    1,mem_ec_loopc 	
+	arg      mem_k,contr
+	call     bn_testbit
+	branch eckp_calc_init_1,true
+	arg      mem_ax,contr
+	arg      mem_cx,contw
+	branch     ec_copy	
+	
+eckp_calc:
+	call     ecdbl  
+	fetch    1,mem_ec_loopc
+	increase -1,pdata
+	store    1,mem_ec_loopc
+	arg      mem_k,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd                
+	             
+memcpy_dword_swap4:
+	force 4,loopcnt
+memcpy_dword_swap:
+	increase -4,contr
+memcpy_dword_swap_loop:
+	ifetch   4,contr
+	istore   4,contw
+	increase -8,contr
+	loop   memcpy_dword_swap_loop 
+    	rtn
+
+else
+sp_initialize:
+	rtn
+
+endif
+	
+
+ifdef SECURE_CONNECTION
+
+sp_initialize_256:	
+	bpatchx patch3d_7,mem_patch3d
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+	call le_secure_connection_enable
+	call sp_clear_flags
+//	jam SP_KEY_INVALID_256,mem_le_sc_local_key_invalid
+	branch sp_pubkey_calc_256
+    	
+
+
+
+sp_pubkey_calc_256:
+	fetch    1,mem_le_sc_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+	
+	arg      mem_le_private_key_256,contw 
+	force    15,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32 //mem_sp_private_key=>mem_k 
+
+	arg      mem_ax_256,contw
+	arg      mem_gx_256,contr
+	call     memcpy64 //mem_gx=>mem_ax 
+	
+	arg      mem_az_256,contw
+	call      clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam SP_CALC_PUBKEY_256,mem_le_sc_calc
+	rtn    
+
+sp_pubkey_generated_256:
+	arg      mem_le_pubkey_local_x_256,contw
+	arg      mem_bx_256,contr
+	call     memcpy64   
+	jam      SP_KEY_VALID_256,mem_le_sc_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+	
+
+
+sp_dhkey_calc_256:
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32
+
+	arg      mem_ax_256,contw
+	arg      mem_le_pubkey_remote_x_256,contr
+	call     memcpy64
+
+	arg      mem_az_256,contw
+	call     clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam     SP_CALC_DHKEY_256,mem_le_sc_calc
+	rtn 
+
+
+sp_dhkey_generated_256:
+//	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_le_dhkey_256,contw
+	arg mem_bx_256,contr
+	call memcpy32
+	jam SP_KEY_VALID_256,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+
+
+
+sp_calc_sequence_256:
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_le_sc_calc
+	rtnbit1 7
+	fetch    2,mem_ec_loopc
+	branch   sp_calc_sequence_done_256,blank
+	branch   eckp_calc_256
+
+sp_calc_sequence_done_256:    
+	bpatchx patch3e_0,mem_patch3e
+	call ecunmapz_256
+	fetch 1,mem_le_sc_calc
+	beq  SP_CALC_PUBKEY_256,sp_pubkey_generated_256
+	beq  SP_CALC_DHKEY_256,sp_dhkey_generated_256
+	rtn
+
+
+eckp_calc_256:
+	call     ecdbl_256  
+	fetch    2,mem_ec_loopc
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd_256   
+
+eckp_calc_init_256:
+	bpatchx patch3e_1,mem_patch3e
+	setarg 256,pdata
+	store 2,mem_ec_loopc
+eckp_calc_init_256_1:    
+	fetch    2,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	branch eckp_calc_init_256_1,true
+	arg      mem_ax_256,contr
+	arg      mem_cx_256,contw
+	branch     memcpy96	
+
+
+ecunmapz_256:
+	arg mem_cz_256,regA
+	arg mem_t3_256,contw
+	call bn_invmod_256			/* t3 = 1/z */
+	arg mem_t3_256,regA
+	arg mem_t1_256,contw		
+	call bn_sqrmod_256			/* t1 = 1/z2 */
+	arg mem_cx_256,regA
+	arg mem_t1_256,regB
+	arg mem_bx_256,contw
+	call bn_mulmod_256
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw			
+	call bn_mulmod_256			/* t2 = 1/z3 */
+	arg mem_cy_256,regA
+	arg mem_t2_256,regB
+	arg mem_by_256,contw
+	branch bn_mulmod_256	
+	
+ecdbl_256:
+	arg mem_cz_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_a_256,regA
+	arg mem_t3_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=a*z4	*/
+	arg mem_cx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_t2_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256
+//call ice_break
+	arg mem_t2_256,regA
+	arg mem_t3_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256		/* t2=3*x2 + z*z4		D  */
+//call ice_break
+	arg mem_cx_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_cy_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA		
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		//S = 4X1Y1^2/* t1=4x*y2	B	*/
+	arg mem_t3_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256		
+	arg mem_t0_256,regA		
+	call bn_lshiftmod_256	//T = 8Y1^4	/* t0=8*y4		C */
+	arg mem_cy_256,contr
+	arg mem_t3_256,contw
+	call memcpy32
+	arg mem_t3_256,regA
+	call bn_lshiftmod_256
+	arg mem_t3_256,regA
+	arg mem_cz_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		//z = 2Y1Z1
+
+
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256   // M ^2
+//call ice_break
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256  // t2^2 - 4*cx *cy^2 
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256   //X2
+	arg mem_t1_256,regA
+	arg mem_cx_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256   //S-X2
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	//M(S-X2)	
+	arg mem_t3_256,regA
+	arg mem_t0_256,regB
+	arg mem_cy_256,contw
+	branch bn_submod_256  //M(S-X2)-T Y2	
+
+ecadd_256:
+
+	arg mem_az_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_cx_256,regA
+	arg mem_t7_256,regB
+	arg mem_t0_256,contw
+	call bn_mulmod_256		/* n1=t0=xa*zb2 U1 = X1Z0^2*/
+
+
+	arg mem_az_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_cy_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* n2=t1=ya*zb3   S1 = Y1Z0^3*/
+
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_ax_256,regA
+	arg mem_t7_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* n3=t2=xb*za2  U0 = X0Z1^2*/
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_ay_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* n4=t3=yb*za3 S0 = Y0Z1^3*/
+
+
+//	arg mem_t0_256,regA
+//	arg mem_t2_256,regB
+	arg mem_t0_256,regb
+	arg mem_t2_256,rega
+	arg mem_t7_256,contw
+	call bn_submod_256		/* n5=t7=n1-n3=t0-t2   W=U1-U0*/
+	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256		/* n7=t0=n1+n3=t0+t2    T=U1+U0 */
+//	arg mem_t1_256,regA
+//	arg mem_t3_256,regB
+	arg mem_t1_256,regb
+	arg mem_t3_256,rega
+	arg mem_t2_256,contw
+	call bn_submod_256		/* n6=t2=n2-n4=t1-t3  S1-S0 */
+	arg mem_t1_256,regA
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_addmod_256		/* n8=t1=n2+n4=t1+t3 M=S1+S0*/
+	arg mem_t1_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5     MW */
+	arg mem_cz_256,regA
+	arg mem_az_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	      //Z0Z1
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		/* z=za*zb*n5   Z0Z1W */
+
+	arg mem_t7_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256		/* t7=n5^2 */
+	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=n5^2*n7 */
+	arg mem_t7_256,regA
+	arg mem_t1_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5^3 */
+	arg mem_t2_256,regA
+	arg mem_cx_256,contw
+	call bn_sqrmod_256		
+	arg mem_cx_256,regA
+	arg mem_t3_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256		/* x=n6^2-n5^2*n7 */
+	arg mem_cx_256,contr
+	arg mem_t7_256,contw
+	call memcpy32
+	arg mem_t7_256,regA
+	call bn_lshiftmod_256		/* t7=2*x */
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256		/* t3=n9 */
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* t2=n9*n6 */
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_cy_256,contw
+	call bn_submod_256	
+	arg mem_cy_256,regA
+	arg mem_p_256,regB
+	arg mem_cy_256,contw
+	force 0,regC
+	fetch 1,mem_cy_256
+	isolate1 0,pdata
+	call bn_add_256,true
+	copy regC,alarm
+	arg mem_cy_256,regA
+	call bn_rshift_256
+	fetch 1,mem_cy5_256
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5_256
+	rtn	
+
+bn_invmod_256:
+	copy contw,timeup					 
+	arg mem_tmp0_256,contw			 
+	call clear_mem_256
+	force 0,pdata
+//	store 4,mem_tmp52
+	store 4,mem_t2_256
+	jam 1,mem_tmp0_256      //y1
+	arg mem_tmp1_256,contw	//y2			 
+	call clear_mem_512      
+	arg mem_p_256,contr
+	arg mem_tmp2_256,contw		//j		 
+	call memcpy32
+	copy regA,contr
+	arg mem_tmp3_256,contw		//i		 
+	call memcpy32
+	
+//	arg mem_tmp22,regA
+//	arg mem_tmp32,regB
+//	call p_bn_bigeq_256
+//	branch assert,positive
+bn_invmod_256_2:	
+	arg mem_tmp3_256,contr
+	call bn_eq_zero_256
+	branch bn_invmod_256_0,blank
+//call ice_break    	
+//fetch 1,0x4ffe
+//increase 1,pdata
+//store 1,0x4ffe
+	arg mem_tmp3_256,regA
+	arg mem_tmp0_256,regB
+	call bn_rshifteven_256
+	arg mem_tmp2_256,regA
+	arg mem_tmp1_256,regB
+	call bn_rshifteven_256
+	
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	call bn_bigeq_256
+	branch bn_invmod_256_1,positive
+	arg mem_tmp2_256,regA
+	arg mem_tmp3_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp0_256,regA
+	arg mem_tmp1_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_1:
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp1_256,regA
+	arg mem_tmp0_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_0:
+//call ice_break
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	call  bn_p256mod
+//call ice_break
+	arg mem_p_256,regA
+	copy timeup,regB
+	copy timeup,contw
+	branch bn_submod_256
+
+
+bn_mulmod_256:
+	copy contw,timeup					/* save result ptr */
+	
+	force 0,regext_index
+	
+	arg mem_tmp1_256,contw
+	call clear_mem_512
+	arg mem_regext,contw
+	call clear_mem_512
+//	jam 0,mem_regext_index
+
+//	arg mem_tmp12,contw
+	copy regA,contr
+//	force 0,regext_index
+	jam 0,mem_regext
+	setarg 0
+	call bn_load_mem
+	copy regB,contr
+	call bn_load_256
+//	force 0,regB
+//	jam 0,mem_regb
+	force 0,queue
+	arg mem_tmp1_256,contw	
+bn_mulmod_256_1:	
+//	copy regb,pdata
+//	store 1,
+	arg mem_regext,temp
+	copy queue,regb
+	lshift2 regb,pdata
+//	lshift4 pdata,pdata
+	iadd temp,regb	
+	force 0,temp
+	force 0,regC
+bn_mulmod_256_0:
+//	copy contw,pdata
+//	store 2,mem_contw
+//call ice_break
+//	copy pdata,contw
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+//	copy regB,regext_index
+//	deposit regext
+	ifetch 4,regb
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 8,regC,0xff
+	nbranch bn_mulmod_256_0,true
+//call ice_break
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -32,contw
+//	fetch 1,mem_regb
+//	copy pdata,regb
+	increase 1,queue
+	compare 8,queue,0xff
+	nbranch bn_mulmod_256_1,true
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	branch bn_p256mod
+
+bn_p256mod:
+	bpatchx patch3e_2,mem_patch3e
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add regA,44,contr
+	call memcpy8
+	call memcpy12
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S1
+	arg mem_tmp2_256,regB
+	copy alarm,rega   
+	copy timeup,contw
+	call bn_addmod_256 //T+2S1
+//call ice_break	
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add alarm,48,contr
+	call memcpy16
+	call memset0_4	
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S2
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy timeup,rega   
+	copy regA,contw	
+	call bn_addmod_256  //+2S2
+//call ice_break	
+//	arg 0,regB
+		
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,56,contr
+	call memcpy8
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S3
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,36,contr
+	call memcpy12
+	add alarm,52,contr	
+	call memcpy12
+	add alarm,52,contr
+	call memcpy4
+	add alarm,32,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S4	
+//call ice_break	
+//	arg 1,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,44,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,32,contr
+	call memcpy4
+	add alarm,40,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D1	
+//call ice_break	
+//	arg 2,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,48,contr
+	call memcpy8
+	call memcpy8
+	force 0,pdata
+	istore 8,contw
+	add alarm,36,contr
+	call memcpy4
+	add alarm,44,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D2	
+//call ice_break	
+//	arg 3,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,52,contr
+	call memcpy12
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,48,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D3
+//call ice_break	
+//	arg 4,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,56,contr
+	call memcpy8
+	call memset0_4	
+	add alarm,36,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,52,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	branch  bn_submod_256 //-D4	
+
+
+bn_load_mem:
+	force 32,loopcnt
+	arg mem_regext,contw
+	iadd contw,contw
+	branch memcpy
+
+bn_load_256:
+	force 8,loopcnt
+	branch bn_load_0
+
+bn_sqrmod_256:
+	copy regA,regB
+	branch bn_mulmod_256
+
+bn_add_256:
+	force 8,loopcnt
+ 	branch bn_add+1
+
+bn_addmod_256:
+	call bn_add_256
+	copy contw,regA
+	branch bn_lshiftmod_ismod_256
+
+bn_lshiftmod_256:
+	call bn_lshift_256
+bn_lshiftmod_ismod_256:	
+	isolate1 0,regC
+	branch bn_lshiftmod_p_256,true
+	arg mem_p_256,regB
+	copy regA,regC
+	increase -32,regA
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+	
+bn_lshiftmod_p_256:
+	call sub_p2_256
+//	nrtn true
+	copy regA,regC
+	increase -32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+		
+	
+sub_p2_256:
+	increase -32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_sub_256
+	
+
+
+	
+bn_submod_256:
+	call bn_sub_256
+//	isolate1 0,regC
+	branch  bn_submod_256_np,true
+//	copy regA,regC
+//	increase -32,regA
+	add contw,-32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	arg mem_p_256,regB
+	add contw,-32,regA
+//	copy regC,regA
+	copy rega,contw
+	branch  bn_sub_256
+bn_submod_256_np:	
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	call bn_add_256
+//	isolate1 0,regC
+	rtn true
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_add_256	
+
+
+ 
+bn_sub_256:
+	force 8,loopcnt
+	branch bn_sub+1
+
+bn_rshift_256:
+	force 8,loopcnt
+	increase 28,regA
+	branch bn_rshift
+
+bn_lshift_256:
+	force 8,loopcnt
+	force 0,regC
+	branch bn_lshift_0
+
+bn_bigeq_256:
+	force 8,loopcnt
+	increase 28,regA
+	increase 28,regB
+	branch bn_bigeq_0
+
+
+bn_eq_zero_256:
+	ifetch 8,contr
+	nrtn blank
+	branch bn_eq_zero
+
+
+
+	
+bn_rshifteven_256:
+	copy regA,alarm
+bn_rshifteven_256_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift_256
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_256_0,true
+	arg mem_p_256,regA
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						 
+	increase -32,regB
+bn_rshifteven_256_0:
+	add regB,32,regA
+	force 9,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_256_1		
+
+else
+sp_initialize_256:
+	rtn
+
+endif
+
+
Index: YJX_Only24g/FCC_1021S/program/ui.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/ui.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/ui.prog	(working copy)
@@ -0,0 +1,701 @@
+ui_init:
+	call lpm_disable_exen_output
+	rtn wake
+	call ui_button_init
+	call ui_timer_init
+	branch ui_led_init_global
+
+ui_dispatch:
+	call ui_led_dispatch
+	
+	branch ui_timer_check
+	
+ui_button_init:
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	iforce temp
+	call gpio_config_output
+	fetcht 1,mem_ui_button_gpio
+	call gpio_out_inactive
+	nop 100
+	fetcht 1,mem_ui_button_gpio
+	call gpio_config_input
+	branch ui_button_polling
+
+
+	
+ui_button_polling:
+	bpatchx patch3e_3,mem_patch3e
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	copy pdata,temp
+	call gpio_get_bit
+	nbranch ui_button_up,true
+	//fall through
+ui_button_down:
+	call ui_button_check_long_press
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_DOWN
+	jam UI_BUTTON_STATE_DOWN,mem_ui_button_last_state
+	//Down Edge
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_ui_button_timer //start long press timer
+	call lpm_button_get_wake_lock
+	jam BT_EVT_BUTTON_DOWN,mem_fifo_temp
+	branch ui_ipc_send_event
+ui_button_up:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_UP
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	//Up Edge
+	jam 0,mem_ui_button_timer//stop long press timer
+	call lpm_button_clean_wake_lock
+	jam BT_EVT_BUTTON_UP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+ui_button_check_long_press:
+	fetch 1,mem_ui_button_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_ui_button_timer
+	nrtn blank
+	//Long Press
+	jam BT_EVT_BUTTON_LONG_PRESSED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+lpm_button_get_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_get_wake_lock
+	
+lpm_button_clean_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_put_wake_lock
+
+
+
+/***********************ui led function****************************/
+/******************
+led function
+
+ui_led_init_global
+ui_led_on_global
+
+ui_led_off_global
+//input:rega :struct number
+ui_led_blink_start_global
+
+//input:rega :struct number
+//contr: the point that want to set led style address
+ui_led_set_style_global
+
+******************/
+//input:rega :struct number
+//output:regb :current strutct starting pointer
+calc_curr_struct_prt:
+	fetch 2,mem_ui_led_struct_ptr
+	mul32 rega,LED_OFFSET_LENGTH,regb
+	iadd regb,regb
+	rtn
+
+
+ui_led_init_global:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_ui_led_struct_ptr
+	copy pdata,regb
+ui_led_init_loop:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	call gpio_config_output
+	call ui_led_off_static
+	increase LED_OFFSET_LENGTH,regb
+	loop ui_led_init_loop
+	rtn
+
+	
+//input:rega :struct number
+ui_led_on_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_LIGHTING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_on_static
+
+	
+//input:rega :struct number
+ui_led_blink_stop_global:
+ui_led_off_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_DARKING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+ui_led_blink_start_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_BLINK_START
+	istore 1,regb
+	setarg LED_INFINITE_FLASH_NUM
+	istore 1,contw
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+//REGC: the point that want to set led style address
+ui_led_set_style_global:
+	call calc_curr_struct_prt
+	arg LED_OFFSET_LENGTH,loopcnt
+	copy regc,contr
+	copy regb,contw
+	branch memcpy_fast
+
+
+
+ui_led_dispatch:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	arg 0,rega
+ui_led_blink_polling:
+	call ui_led_change_style_by_type
+	increase 1,rega
+	fetch 1,mem_ui_led_struct_num
+	isub rega,null
+	rtn zero
+	branch ui_led_blink_polling
+
+
+ui_led_off_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_inactive
+
+
+ui_led_on_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_active
+
+
+//input:rega :struct number
+ui_led_change_style_by_type:
+	add rega,ui_led_blink,queue
+	call timer_check
+	nrtn blank			//timer out
+	
+	call calc_curr_struct_prt
+
+	ifetch 1,regb			//led type
+
+	beq UI_LED_STATE_LIGHTING,ui_led_on_static
+	beq UI_LED_STATE_DARKING,ui_led_off_static
+	beq UI_LED_STATE_BLINK_STOP,ui_led_off_static
+	beq UI_LED_STATE_BLINK_DARKING,ui_led_blink_state_darking
+ui_led_blink_state_lighting:
+	call ui_led_on_static
+	add regb,LED_OFFSET_CB_LEDON,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	setarg UI_LED_STATE_BLINK_DARKING
+	istore 1,regb
+	add regb,LED_OFFSET_ON_TIME,regc
+	ifetch 2,regc
+	branch ui_led_blink_timer_start
+	
+
+ui_led_blink_state_darking:
+	call ui_led_off_static
+	add regb,LED_OFFSET_CB_LEDOFF,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	
+	add regb,LED_OFFSET_BLINK_COUNT,regc
+	ifetch 1,regc
+	beq LED_INFINITE_FLASH_NUM,ui_led_blink_infinite
+	increase -1,pdata
+	istore 1,regc
+	branch ui_led_blink_stop_global,blank		//End of flicker
+ui_led_blink_infinite:
+	setarg UI_LED_STATE_BLINK_LIGHTING
+	istore 1,regb
+	add regb,LED_OFFSET_OFF_TIME,regc
+	ifetch 2,regc
+ui_led_blink_timer_start:
+	add rega,ui_led_blink,queue
+	branch timer_init
+
+ui_led_stop_timer:
+	setarg 0
+	branch ui_led_blink_timer_start
+
+/***********************ui led function ending****************************/
+
+
+
+ui_timer_timeout:
+	setarg 0x1000
+	lshift16 pdata,pdata
+	iadd regb,regb
+	rtn
+	
+ui_timer_check:
+	bpatchx patch3e_4,mem_patch3e
+	arg 0,rega
+	fetcht 4,mem_ui_timer_last_btclk
+	copy clkn_bt,regb
+	copy regb,pdata
+	isub temp,null
+	ncall ui_timer_timeout,positive
+	//call ice_break
+ui_timer_check_loop:
+	copy regb,pdata
+	increase 160,temp    //320btclk = 100ms
+	increase 160,temp
+	isub temp,null
+	nbranch ui_timer_check_end,positive
+	increase 1,rega   //increase 1 every 100ms count
+	and rega,0x0f,pdata
+	nbranch ui_timer_check_loop,blank
+	arg 0,rega  //reset timer if it's longer than 1.5s between 2 checks
+	call ui_timer_check_send_evt
+ui_timer_init:
+	copy clkn_bt,pdata
+	store 4,mem_ui_timer_last_btclk
+	rtn
+ui_timer_check_end:
+	bpatchx patch3e_5,mem_patch3e
+	copy rega,pdata
+	rtn blank
+	increase -160,temp    //320btclk = 100ms
+	increase -160,temp
+	set0 28,temp
+	storet 4,mem_ui_timer_last_btclk
+ui_timer_check_send_evt:
+	branch app_evt_timer
+
+	
+
+//**********************************************************//
+//************UI Inter-Processor Communication*******//
+//**********************************************************//
+ui_ipc_get_lock:
+	jam 1,mem_ipc_lock_bt
+ui_ipc_get_lock_wait:
+	fetch 1,mem_ipc_lock_c51
+	nbranch ui_ipc_get_lock_wait,blank
+	rtn
+	
+ui_ipc_put_lock:
+	jam 0,mem_ipc_lock_bt
+	rtn
+	
+
+	
+ui_ipc_send_event:
+	bpatchx patch3e_6,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega
+	branch ui_ipc_put_lock
+
+ui_ipc_send_cmd:
+	bpatchx patch3e_7,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp	
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega	
+	branch ui_ipc_put_lock
+
+ui_ipc_clean_all_fifo:
+	setarg 0
+	store UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	store UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	rtn
+	
+check_51cmd:
+	bpatchx patch3f_0,mem_patch3f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_is_empty
+	rtn blank
+	jam IPC_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	call check_51cmd_once
+	fetch 1,mem_ipc_skip_continue_proc
+	branch check_51cmd,blank
+	rtn
+
+check_51cmd_once:
+	call ui_ipc_get_lock
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_out
+	copy pdata,temp
+	call ui_ipc_put_lock
+	bpatchx patch3f_1,mem_patch3f
+	copy temp,pdata
+	rtn blank
+ 	beq BT_CMD_START_DISCOVERY,check_51cmd_start_discovery
+  	beq BT_CMD_STOP_DISCOVERY,check_51cmd_stop_discovery
+  	beq BT_CMD_RECONNECT,check_51cmd_reconnect
+  	beq BT_CMD_ENTER_SNIFF_SUBRATING,check_51cmd_enter_sniff_subrating
+  	beq BT_CMD_EXIT_SNIFF_SUBRATING,check_51cmd_exit_sniff_subrating
+  	beq BT_CMD_SNIFF_TEST,check_51cmd_sniff_test
+	beq BT_CMD_START_INQUIRY,check_51cmd_inq
+	beq BT_CMD_STOP_INQUIRY,check_51cmd_stop_inq
+	beq BT_CMD_START_ADV,check_51cmd_adv
+	beq BT_CMD_STOP_ADV,check_51cmd_stop_adv
+	beq BT_CMD_START_DIRECT_ADV,check_51cmd_direct_adv
+	beq BT_CMD_STOP_DIRECT_ADV,check_51cmd_stop_direct_adv
+	beq BT_CMD_LED_OFF,check_51cmd_led_off
+	beq BT_CMD_LED_ON,check_51cmd_led_on
+	beq BT_CMD_LED_BLINK,check_51cmd_led_start_blink
+	beq BT_CMD_LE_START_CONN,check_51cmd_le_start_con
+	beq BT_CMD_LE_START_SCAN,check_51cmd_start_scan
+	beq BT_CMD_LE_STOP_SCAN,check_51cmd_stop_scan
+	beq BT_CMD_ENTER_HIBERNATE,check_51cmd_hibernate
+	beq BT_CMD_LE_SMP_SECURITY_REQUEST,check_51cmd_le_smp_sec_req
+	beq BT_CMD_BB_RECONN_CANCEL,check_51cmd_bb_reconn_cancel
+	//context related, process in context
+	store 1,mem_fifo_temp
+	bpatchx patch3f_2,mem_patch3f
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+check_51cmd_once_continue:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,check_51cmd_disconnect
+  	beq BT_CMD_ENTER_SNIFF,cmd_in_sniff
+  	beq BT_CMD_EXIT_SNIFF,cmd_exit_sniff
+  	beq BT_CMD_SET_PIN_CODE,check_51cmd_pincode
+	beq BT_CMD_LE_DISCONNECT,check_51cmd_le_disconnect
+	beq BT_CMD_LE_UPDATE_CONN,check_51cmd_ble_update_connect_param
+	beq BT_CMD_ROLE_SWITCH,check_51cmd_role_switch
+	beq BT_CMD_STORE_RECONN_INFO_LE,eeprom_store_le_reconn_info
+	beq BT_CMD_STORE_RECONN_INFO_BT,eeprom_store_bd_reconn_info
+	beq BT_CMD_DHKEY_NOT_ACCEPT,check_51cmd_dhkey_not_accept
+	beq BT_CMD_STORE_RECONN_INFO,check_51cmd_store_reconn_info
+	rtn
+
+check_51cmd_check_idle:
+	store 1,mem_fifo_temp
+  	call context_check_idle
+	branch check_51cmd_restore,zero
+	call context_search_plap
+	nrtn zero
+check_51cmd_restore:
+	jam IPC_SKIP_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	branch ui_ipc_send_cmd
+  
+ /******************** 51COMMAND*********************/
+
+//command opcode 0x01	
+check_51cmd_start_discovery:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	jam 3,mem_scan_mode
+	rtn
+
+
+//command opcode 0x02	
+check_51cmd_stop_discovery:
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_scan_mode
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	rtn	
+
+
+//command opcode 0x03	
+check_51cmd_reconnect:	
+	jam hci_cmd_create_conn,mem_hci_cmd
+	rtn	
+
+
+//command opcode 0x04
+check_51cmd_disconnect:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+
+	
+//command opcode 0x07
+check_51cmd_enter_sniff_subrating:
+	rtn
+
+
+//command opcode 0x08
+check_51cmd_exit_sniff_subrating:
+	rtn	
+
+
+//command opcode 0x09
+check_51cmd_sniff_test:
+	rtn	
+
+
+//command opcode 0x10
+check_51cmd_pincode:
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch cmd_pair
+
+
+//command opcode 0x11
+check_51cmd_inq:
+	rtn
+
+
+//command opcode 0x12
+check_51cmd_stop_inq:
+	rtn
+
+
+//command opcode 0x13
+check_51cmd_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x14
+check_51cmd_stop_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x15
+check_51cmd_direct_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_DIRECT_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x16
+check_51cmd_stop_direct_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x17
+check_51cmd_le_disconnect:
+	setarg 20 // 100ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	branch le_send_terminate_ind_user_terminated
+
+
+//command opcode 0x18
+check_51cmd_ble_update_connect_param:
+	branch le_l2cap_tx_update_req
+
+
+//command opcode 19
+check_51cmd_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+
+
+//command opcode 20
+check_51cmd_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+
+//command opcode 21
+check_51cmd_led_start_blink:
+	arg 0,rega
+	branch ui_led_blink_start_global
+
+
+//command opcode 0x22
+check_51cmd_le_start_con:
+	jam ON,mem_le_scan_enable
+	jam hci_cmd_le_create_conn,mem_hci_cmd
+//	fetch 6,mem_app_peer_addr
+//	store 6,mem_le_conn_peer_addr
+	rtn
+
+
+//command opcode 0x23
+check_51cmd_start_scan:
+	jam ON,mem_le_scan_enable
+	rtn
+
+
+//command opcode 0x24
+check_51cmd_stop_scan:
+	jam OFF,mem_le_scan_enable
+	jam 0,mem_hci_cmd
+	rtn
+
+
+//command opcode 0x25
+check_51cmd_hibernate:
+	fetch 2,mem_cb_before_hibernate
+	call callback_func
+	fetch 1,mem_ui_button_gpio
+	beq UI_BUTTON_GPIO_DISABLE,check_51cmd_hibernate_btn_disabled
+	copy pdata,temp
+	call gpio_config_input
+check_51cmd_hibernate_btn_disabled:
+	call ui_ipc_clean_all_fifo
+	branch lpm_hibernate	
+
+
+//command opcode 0x27
+check_51cmd_le_smp_sec_req:
+	branch le_send_smp_security_request
+
+
+//command opcode 0x29
+check_51cmd_role_switch:
+  	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	nrtn master
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam LMP_SWITCH_REQ ,mem_lmo_opcode2
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	rtn
+
+
+//command opcode 0x30
+check_51cmd_bb_reconn_cancel:
+	force page_length_timer,queue
+	branch timer_stop
+
+
+//command opcode 0x33
+check_51cmd_dhkey_not_accept:
+	call tid_set_reply
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch parse_lmp_dhkey_check_reject	
+
+
+ui_check_paring_button:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BTN_DOWN
+	rtnbit0 UI_STATE_BT_RECONNECT
+	branch check_51cmd_bb_reconn_cancel
+
+
+
+///////////queue function////////////
+queue_init:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contw
+	setarg 0
+	istore 3,contw
+	rtn
+	
+//input:rega:the address of the data to which you want to input queue
+//output:if user is disable,mean queue no have space
+queue_push:
+	call disable_user
+	call queue_full
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase 1,temp
+	istoret 1,regb	//number add 
+	
+	ifetcht 1,pdata	//temp:each length
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_WRITE_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contw
+	copy rega,contr
+calc_queue_next_ptr:
+	call memcpy
+	call queue_get_size
+	pincrease -1
+	ifetcht 1,regb
+	increase 1,temp
+	iand temp,temp
+	istoret 1,regb
+	branch enable_user
+
+
+//input:rega:the address of the data to which you want to output queue
+//output:if user is disable,mean queue no have data
+queue_pop:
+	call disable_user
+	call queue_empty
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase -1,temp
+	istoret 1,regb
+	ifetcht 1,pdata		//each size
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_READ_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contr
+	increase 1,contr
+	copy rega,contw
+	branch calc_queue_next_ptr
+
+
+//output:if blank is 1,mean queue is empty
+queue_empty:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contr
+	ifetch 1,contr
+	rtn
+
+//output:if blank is 1,mean queue is full
+queue_full:
+	call queue_get_size
+	ifetcht 1,contr
+	isub temp,pdata
+	rtn
+
+//output:pdata is queue size
+queue_get_size:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_LENGTH,contr
+	ifetch 1,contr
+	rtn
+
+///////////queue function end////////////
+
+
+
+
Index: YJX_Only24g/FCC_1021S/program/utility.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/utility.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/program/utility.prog	(working copy)
@@ -0,0 +1,614 @@
+
+right_shift_n: //rshiftN pdata,pdata
+	sub loopcnt,0,null
+	rtn zero
+right_shift_n_loop: 
+	rshift pdata,pdata
+	loop right_shift_n_loop
+	rtn
+
+/* lshift. 0:1 byte; 1:2byte; 2:4byte; 3:8byte; 4:16byte*/
+left_shift_n:
+	force 1,pdata
+	sub loopcnt,0,null
+	rtn zero
+left_shift_n_loop:
+	lshift pdata,pdata
+	loop left_shift_n_loop
+	rtn
+push_stack:
+	deposit contw
+	store 2, mem_contw
+	storet 8,mem_temp
+	deposit timeup
+	store 4,mem_timeup
+	call push_stack_rega_b_c
+	deposit contr
+	store 2, mem_contr
+	rtn
+
+push_stack_rega_b_c:
+	deposit rega
+	store 4, mem_rega
+	deposit regb
+	store 4, mem_regb
+	deposit regc
+	store 3, mem_regc
+	rtn
+
+pop_stack:
+	fetcht 8,mem_temp
+	fetch 4,mem_timeup
+	iforce timeup
+	call pop_stack_rega_b_c
+	fetch 2, mem_contw
+	iforce contw
+	fetch 2, mem_contr
+	iforce contr
+	rtn
+
+pop_stack_rega_b_c:
+	fetch 4, mem_rega
+	iforce rega
+	fetch 4, mem_regb
+	iforce regb
+	fetch 3,mem_regc
+	iforce regc
+	rtn
+
+get_contw:
+	fetch 2,mem_contw
+	copy pdata,contw
+	rtn
+get_contr:
+	fetch 2,mem_contr
+	copy pdata,contr
+	rtn
+store_contw:
+	copy contw,pdata
+	store 2,mem_contw
+	rtn
+store_contr:
+	copy contr,pdata
+	store 2,mem_contr
+	rtn	
+	
+
+//
+save_cont_pointers:
+	copy contw,pdata
+	store 2,mem_hold_contw
+	copy contr,pdata
+	store 2,mem_hold_contr
+	rtn
+load_cont_pointers:
+	fetch 2,mem_hold_contw
+	copy pdata,contw
+	fetch 2,mem_hold_contr
+	copy pdata,contr
+	rtn
+
+memcpy96:
+	call memcpy32
+memcpy64:
+	call memcpy32
+	branch memcpy32
+memcpy12:
+	call memcpy8
+memcpy4:
+	ifetch 4,contr
+	istore 4,contw
+	rtn	
+memcpy8:
+	ifetch 8,contr
+	istore 8,contw
+	rtn	
+
+memcpy48:
+	call memcpy16
+memcpy32:
+	call memcpy8
+memcpy24:
+	call memcpy8
+memcpy16:
+	call memcpy8
+	branch memcpy8
+
+
+
+delay_10ms:
+	arg 10,loopcnt
+delay_ms_wait:
+	nop 12000
+	loop delay_ms_wait
+	rtn
+
+bn_zero:
+	force 3,loopcnt
+memset0:
+	force 0,pdata
+memset8:
+	istore   8,contw
+	loop   memset8
+	rtn
+
+memset0_8:
+	force 0,pdata
+	istore 8,contw
+	rtn
+memset0_4:
+	force 0,pdata
+	istore 4,contw
+	rtn	
+	
+clear_mem_256:
+	force 4,loopcnt
+	branch memset0 
+clear_mem_512:
+	force 8,loopcnt
+	branch memset0 
+
+clear_mem:
+	deposit loopcnt
+	rtn blank
+	setarg 0
+clear_mem_loop:
+	istore 1,contw
+	loop clear_mem_loop
+	rtn
+	
+
+clear_temp_block:
+	arg 32,loopcnt
+	arg mem_temp_block0,contw
+	branch clear_mem
+	
+xor_loop:
+	ifetch   4,regc
+	ifetcht 4,rega
+	ixor     temp,pdata
+	istore   4,contw	
+	increase 4,rega
+	increase 4,regc
+	loop  xor_loop
+	rtn
+	
+// 11 22 -> 22 11; 11 22 33 -> 33 22 11 
+// rega:data addr ;loopnct:length
+inverse_data:
+	bpatchx patch3f_3,mem_patch3f
+	copy loopcnt,pdata
+	sub pdata,1,null
+	rtn positive
+	iadd rega,regb	
+	increase -1,regb
+	rshift loopcnt,loopcnt
+inverse_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	istore 1,rega
+	istoret 1,regb
+	increase -1,regb
+	increase 1,rega
+	loop inverse_loop
+	rtn
+
+
+memcpy_fast:
+	deposit loopcnt
+	rtn blank
+memcpy_fast_loop:
+	increase -8,loopcnt
+	call memcpy8,positive
+	rtn zero
+	branch memcpy_fast_loop,positive
+	increase 8,loopcnt
+memcpy_fast_loop_four:
+	increase -4,loopcnt
+	call memcpy4,positive
+	rtn zero
+	branch memcpy_fast_loop_four,positive
+	increase 4,loopcnt
+	branch memcpy
+ 
+memcpy:
+	deposit loopcnt
+	rtn blank
+memcpy_loop:
+	ifetch 1,contr
+	istore 1,contw
+	loop memcpy_loop
+	rtn
+
+timer_stop:
+	setarg 0
+timer_init:
+	rshift clkn_bt,temp
+	storet 4,mem_last_clkn
+	arg mem_timers,contw
+	iforce temp
+	lshift queue,pdata
+	iadd contw,contw
+	istoret 2,contw
+	bpatchx patch3f_4,mem_patch3f
+	rtn
+
+timer_check_timeout:
+	arg 0x800,timeup
+	lshift16 timeup,timeup
+	iadd timeup,pdata
+	rtn
+
+
+timer_reinit:
+	arg 0,queue
+timer_check:
+	bpatchx patch3f_5,mem_patch3f
+	fetcht 4,mem_last_clkn
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn	
+	isub temp,null
+	ncall timer_check_timeout,positive	
+	isub temp,timeup
+	copy timeup,temp
+	arg mem_timers,contr
+	copy contr,contw
+	arg 16,loopcnt
+timer_loop:
+	ifetch 2,contr
+	isub temp,pdata
+	branch timer_counting,positive
+	force 0,pdata
+timer_counting:
+	istore 2,contw
+	loop timer_loop	
+	arg mem_timers,contr
+	lshift queue,pdata
+	iadd contr,contr
+	ifetch 2,contr
+	rtn
+
+
+
+	/* pdata 28+16 bit add temp 26+16 bit, result in temp */
+clk_add:
+	iadd temp,temp
+	copy temp, loopcnt
+	setarg 3750
+	isub loopcnt,pdata
+	rtn positive
+	sub pdata,0,pdata
+	rshift16 temp,temp
+	increase 1,temp
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+clk_diff_rt:
+	call clk_diff
+	branch clk2rt
+
+/* pdata -temp -> pdata, all are 28+16 bits, set user if negative */
+clk_diff:
+	disable user
+	isub temp,pdata
+	branch clk_diff_pos,positive
+	enable user
+	sub pdata,0,pdata
+clk_diff_pos:
+	rtnbit0 15
+	arg -61786,temp
+	iadd temp,pdata
+	set0 64,pdata
+	rtn
+
+clk2rt:
+	iforce contr
+	rshift16 pdata,pdata
+	arg 3750,temp
+	imul32 temp,pdata
+	iadd contr,pdata
+	rtn
+
+	/* pdata = clks in, temp = lpo out */
+clk2lpo:
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	fetcht 3,mem_clks_per_lpo
+	idiv temp
+	call wait_div_end
+	quotient temp
+	rtn
+
+	/* rt clk -> bt+rt clk */
+clk2bt:
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+
+
+
+//input:contru 
+//output:temp
+//used register: temp regc
+string2dec_from_uart:
+	arg 0,temp
+string2dec_from_uart_done:
+         copy temp,regc
+	ifetch 1,contru
+	call uchar2dialog	
+	copy regc,temp
+	call swap
+	arg 10,regb
+	imul32 regb,pdata
+	iadd temp,pdata
+	copy pdata,temp
+	loop string2dec_from_uart_done
+	rtn
+	
+
+
+uchar2dialog:
+	arg 0x3a,temp
+	isub temp,null
+	nbranch uchar2dialog_number,positive
+	arg 0x61,temp
+	isub temp,null
+	branch uchar2dialog_a2f,positive
+	arg 0x37,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_number:
+	arg 0x30,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_a2f:
+	arg 0x57,temp
+	isub temp,pdata
+	rtn
+
+pn9:
+	copy temp,alarm
+	setarg 0x1ff
+	force 0,regb
+pn9_loop:	
+	rshift3 pdata,rega
+	rshift rega,rega
+	ixor rega,rega
+	isolate1 0,rega
+	setflag true,9,pdata
+	rshift temp,temp
+	isolate1 0,pdata
+	setflag true,7,temp
+	rshift pdata,pdata
+	increase 1,regb
+	compare 0,regb,0x7
+	nbranch pn9_loop,true
+	istoret 1,contw
+	loop pn9_loop
+	copy alarm,temp
+	rtn
+
+
+wait_div_end:	
+	rtn modone
+	branch wait_div_end
+
+
+
+//input:
+//	count:loopcnt str1:rega str2:regb
+//output:
+//	same:set falg true ,diff set falg false
+// using:
+//	reg:temp null flag:zero
+compare_loop:
+string_compare:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop string_compare
+	force 0,null
+	rtn
+
+	/* pdata = temp if pdata > temp */
+ceiling:
+	isub temp,null
+	nrtn positive
+	deposit temp
+	rtn
+	
+swap:
+	iadd temp,pdata
+	isub temp,temp
+	isub temp,pdata
+	rtn
+
+clean_mem:
+	arg 0x200,loopcnt
+	arg 0x4000,contw
+	branch memset0				// clear xram at boot
+
+	//cb function ptr in pdata
+callback_func:
+	rtn blank
+	copy pdata,pc	//rtn through cb functon.
+	//branch assert
+
+wait_uarttx:
+	hfetch 2,core_uart_txitems
+	nbranch wait_uarttx,blank
+	rtn
+
+ice_break:
+	hjam 0x1,core_ice_ctrl
+	rtn
+
+ice_setbp:
+	hstore 2,core_ice_break0
+	hfetch 1,core_ice_ctrl
+	set1 4,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+ice_setbp2:
+	hstore 2,core_ice_break1
+	hfetch 1,core_ice_ctrl
+	set1 6,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+	
+ice_set_write_bp:
+	hstore 2,core_ice_break0
+	hjam 0x30,core_ice_ctrl
+	rtn
+	
+
+
+test_enable_white:
+	hfetch 1,core_config
+	set0 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening on */
+	rtn
+
+check_uart_tx_buff:
+	hfetch 2,core_uart_txitems
+	arg UART_AIR_CONTROL_THRESHOLD,temp
+pdata_sub_temp:
+	isub temp,null
+	rtn
+
+	//fuction fifo_in
+	//rega pointer to fifo memory , *(rega+len) is the end of fifo
+	//mem_fifo_temp data into fifo
+	//assert if fifo was full
+fifo_in:
+	bpatchx patch3f_6,mem_patch3f
+	ifetcht UTIL_FIFO_LEN,rega
+	and temp,0xff,pdata
+	nbranch fifo_in_push,blank
+	rshift8 temp,pdata
+	istore UTIL_FIFO_LEN,rega
+fifo_in_push:
+	increase UTIL_FIFO_LEN+UTIL_FIFO_OFFSET,rega
+	ifetch 1,rega
+	nbranch assert,blank //fifo full
+	fetch 1,mem_fifo_temp
+	istore 1,rega
+	rtn
+	
+	//fuction fifo_out
+	//rega pointer to fifo memory
+	//pdata  data from fifo, blank mains fifo empty
+fifo_out:
+	bpatchx patch3f_7,mem_patch3f
+	arg UTIL_FIFO_LEN,loopcnt
+	ifetch UTIL_FIFO_LEN,rega
+	rtn blank
+fifo_out_loop:
+	ifetch 1,rega
+	nbranch fifo_out_end,blank
+	increase 1,rega
+	loop fifo_out_loop
+	branch assert
+fifo_out_end:
+	arg 0,temp
+	istoret 1,rega
+	rtn
+
+	//fuction fifo_is_empty
+	//rega pointer to fifo memory
+	//blank--- fifo is empty
+fifo_is_empty:
+	ifetch UTIL_FIFO_LEN,rega
+	rtn
+
+	//fuction fifo_is_full
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT full
+fifo_is_full:
+	ifetch 1,rega
+	rtn
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT near full
+fifo_is_near_full:
+	ifetch 2,rega
+	rtn
+
+	//rega pointer to fifo memory
+	//count output via pdata
+fifo_content_count:
+	arg 0,temp
+fifo_content_count_loop:
+	fetch 1,contr
+	loop fifo_content_count_loop,blank
+	increase 1,temp
+	loop fifo_content_count_loop
+	copy temp,pdata
+	rtn
+	
+not_greater_than:
+	isub temp,null
+	nrtn positive
+	copy temp,pdata
+	rtn
+
+
+disable_positive:
+	force -1,null
+	rtn
+enable_positive:
+disable_zero:
+	force 1,null
+	rtn
+enable_zero:
+	force 0,null
+	rtn
+
+enable_user:
+	enable user
+	rtn
+	
+disable_user:
+	disable user
+	rtn
+	
+enable_user2:
+	enable user2
+	rtn
+	
+disable_user2:
+	disable user2
+	rtn
+
+disable_blank:
+	setarg 1
+	rtn
+
+enable_blank:
+	setarg 0
+	rtn
+
+
+reverse_byte:
+	copy loopcnt,pdata
+	rtn blank
+	copy contr,pdata
+	iadd loopcnt,pdata
+	increase -1,pdata
+	copy pdata,contr	
+reverse_loop:
+	ifetch 1,contr
+	increase -2,contr
+	istore 1,contw
+	loop reverse_loop
+	rtn
+
+
Index: YJX_Only24g/FCC_1021S/rdo.bat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/rdo.bat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/rdo.bat	(working copy)
@@ -0,0 +1,11 @@
+e pu
+e hu output/romcode.rom 2000
+mshta "javascript:document.write();setTimeout('close()',100);"
+e ku
+e pu
+e hu output/ramcode.rom
+mshta "javascript:document.write();setTimeout('close()',100);"
+e pu
+e su output/sched.rom
+mshta "javascript:document.write();setTimeout('close()',100);"
+e cu
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/romcode.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/romcode.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/romcode.rom	(working copy)
@@ -0,0 +1,25000 @@
+20402abc
+44804000
+20800000
+20405d47
+2040296c
+20405edd
+20402a96
+204046a4
+4480c000
+2040633d
+20405630
+20407606
+20402c95
+2455e1d6
+44814000
+2055aca0
+20406ea4
+2055ab41
+4481c000
+20407016
+204073e9
+20406ea7
+20404c96
+44824000
+20402038
+20402caa
+2040208f
+204022f8
+2040236a
+20402021
+20402b6a
+20402df3
+20202012
+20402026
+c6848000
+793f8009
+20402223
+20204d08
+4482c000
+2040225e
+2422a02f
+2040220a
+1a208c01
+e8c08000
+c2804c9a
+c280a166
+202023cf
+2040222b
+1f227c00
+20628000
+2040220a
+68008030
+c281a0d3
+68008031
+c280a166
+202023cf
+6800c1ce
+207a0000
+c000a048
+c001204d
+c001a050
+c002a055
+c00da045
+20402257
+20628000
+2040225a
+20628000
+7041ce00
+20600000
+70049b1b
+7041ce00
+20600000
+7920001c
+793f801e
+70008fff
+70008d1f
+20202043
+793f801c
+18003600
+20202043
+2040225a
+20628000
+18000401
+70016e05
+2020205c
+4483c000
+680341d0
+203a2043
+70467f01
+70005503
+2020205b
+18000425
+44844001
+680080f1
+203a2062
+1fe9fe00
+1ff27e00
+1fe0ffff
+6000c0a6
+600080f0
+70008e1f
+793f800c
+2040223b
+2422a083
+20402a6f
+60008077
+6008807c
+680341d0
+60030040
+4484c001
+2040784f
+18007e00
+2841fe01
+7d20fe05
+79207e03
+60008030
+700a9903
+204076c0
+18007e00
+7920fe04
+6000804c
+58000000
+79207e01
+60008031
+7834fc00
+20402223
+7854fc00
+18000e03
+680140b9
+20407842
+20202043
+44854001
+680341d0
+60030040
+2841fe01
+2020a089
+20202043
+d8a00101
+df200008
+20407800
+700a9904
+204076c0
+20202043
+c68e0000
+18000e01
+20407850
+7d3a001c
+243a2095
+20600000
+4485c001
+680940bb
+18000e04
+2040271c
+20740000
+204028a4
+18004800
+20618000
+793f800b
+793f8000
+1c40c201
+280ffe1e
+7920c802
+2c200400
+2420a0be
+44864001
+68008012
+1fe0fe01
+60008012
+204028d8
+204028d2
+204028f2
+20402a51
+20402a56
+20402a64
+2040264d
+204020b1
+2020209c
+4486c001
+6800808d
+1fe0ffff
+6000808d
+20610000
+70008d1f
+6800808f
+1fe0ffff
+6000808f
+20610000
+7940001e
+70008fff
+20600000
+44874001
+204028d8
+204028cc
+204028f2
+20402a5b
+204029eb
+20402a0d
+202c20c8
+204020b1
+2020209f
+4487c001
+204029bb
+20402a6b
+2040251e
+793f8001
+c6858000
+44884002
+68008013
+1fe0fe01
+60008013
+20600000
+4488c002
+7834fc00
+78387c00
+680140b5
+203a20db
+18000e08
+20407850
+247a0000
+44894002
+680940b7
+18000e28
+2040271c
+20342114
+18000e03
+20407850
+243a20f0
+6800804c
+c28220e6
+202020e9
+d8a00101
+df200008
+20407800
+4489c002
+70003000
+20405631
+70467f00
+700a9913
+204076c0
+20202114
+448a4002
+18001600
+34730200
+680080f2
+1fe0ffff
+9c42fe00
+2fe00600
+2420a0f0
+18827e00
+60008181
+18004c00
+18004800
+448ac002
+2021a114
+204028dc
+d9600600
+34730200
+448b4002
+680200f2
+98004200
+1fe0fe01
+600200f2
+280ffe0c
+7920c802
+2c200400
+2420a128
+6800800c
+1fe0fe01
+6000800c
+204028d2
+20402a51
+20402a56
+20402a64
+2040264d
+2040211a
+202020fc
+448bc002
+7854fc00
+680140b5
+207a0000
+18000e08
+20207842
+448c4003
+6800808e
+1fe0ffff
+6000808e
+20610000
+70008e1f
+680080f0
+1fe0ffff
+600080f0
+20610000
+7940000c
+6800c0a6
+600080f0
+20600000
+448cc003
+204028cc
+20402a5b
+204029eb
+20402a0d
+202c2130
+2040211a
+20202101
+2040264d
+6800800d
+1fe0fe01
+6000800d
+18003600
+680200f2
+448d4003
+20402a4f
+204028dc
+1cc0cc01
+1c2143fd
+1c8149fc
+204028d2
+20402a51
+20402a56
+20402a64
+1c427e00
+60020161
+18000800
+18000202
+20402a6b
+20402766
+448dc003
+20402a4d
+1c21c202
+1c8149fc
+204028cc
+20402a5b
+204029eb
+20402a0d
+204c264d
+202c2155
+68008010
+203a20fc
+1fe0ffff
+60008010
+20202136
+448e4003
+6800800e
+1fe0fe01
+6000800e
+20402435
+204022f2
+202c215f
+20402455
+243a215a
+202020fc
+448ec003
+68008030
+793ffe03
+60008030
+20402440
+7854fc00
+20600000
+448f4003
+7834fc00
+78387c00
+204021e1
+20740000
+20402c65
+20402a4f
+1c40c201
+204028e2
+18004803
+204065fc
+20402489
+204028d2
+20402a51
+20402a56
+20402a64
+20402762
+448fc003
+20405642
+204022e4
+2436a180
+20402a88
+20402728
+6800800f
+1fe0fe01
+6000800f
+44904004
+204065e4
+2040218b
+24748000
+204026f3
+243a2188
+7854fc00
+20600000
+20402489
+204022da
+20202177
+2036a18e
+20402a7f
+2021219c
+204021a7
+2434219c
+6800804c
+c4020000
+c3818000
+6800804b
+c3818000
+204021ae
+247a0000
+6800816e
+1fe0ffff
+6000816e
+247a0000
+20205940
+4490c004
+2040245d
+7854fc00
+6800804c
+c28221a2
+20600000
+6800804c
+c3818000
+d8a00101
+df200008
+20207800
+44914004
+78347c00
+6800804b
+c4018000
+204021ae
+247a0000
+20207923
+68008072
+1fe0ffff
+60008072
+20600000
+4491c004
+68008030
+c283a1bb
+680089b5
+203a21bb
+7009b500
+700a9918
+204076c0
+202021bb
+44924004
+20402254
+68008030
+79207e07
+60008030
+7041bd01
+68008055
+c08b21c3
+20600000
+7009b501
+68008030
+793ffe07
+60008030
+20600000
+4492c004
+78547c00
+68010032
+d840ffff
+98467c00
+24628000
+68020034
+203821d3
+9d067e00
+202021d4
+9c467e00
+1fe67c04
+24610000
+18007e00
+60010032
+20207921
+1fe20400
+44934004
+600a0034
+70455901
+5800ffff
+60010032
+70007301
+20600000
+4493c004
+204021c9
+24740000
+78547c00
+70001120
+793f800b
+20402a4f
+204022e6
+c505a1f4
+20402455
+243a21e7
+44944005
+78547c00
+1c427e00
+600240ca
+78387c00
+7834fc00
+700a992a
+202076c0
+4494c005
+20402a4d
+d8200010
+204022dc
+78587c00
+7854fc00
+20402818
+20402435
+44954005
+2040247c
+2036a202
+20402455
+243a21fc
+202021ec
+68008031
+793ffe01
+60008031
+20402a88
+20402841
+78347c00
+700a992b
+202076c0
+4495c005
+79200009
+1a227e00
+6001001e
+18007250
+d8a0043f
+1a208c01
+e8c08000
+1a220c00
+c280783b
+d8a00030
+2040783b
+78577c00
+68008077
+98000800
+70008a01
+2034a21c
+70008a01
+68008030
+c4008000
+68008073
+6000808a
+68008074
+6000808b
+20600000
+44964005
+6801001e
+98000a00
+18007250
+d8c0043f
+203b783b
+d8c00030
+2020783b
+df200001
+68088015
+18408401
+2841fe01
+2420a231
+d8400000
+60088015
+184ffe50
+da204040
+9a20a200
+ea208000
+c280a239
+c3800000
+c3818000
+c200222d
+20600000
+4496c005
+da60226a
+20402261
+24628000
+1a227e00
+6001001e
+18007c00
+20600000
+20402725
+2020a24b
+6801001e
+1fe08a17
+68008047
+e0a08000
+da6022aa
+20202261
+68008047
+2feffe03
+2020a250
+18007c01
+20600000
+18007c00
+20600000
+da6022a7
+20202261
+6809001e
+da6022cf
+20202261
+6808c1cf
+da602275
+20202261
+44974005
+680b41d0
+da60226e
+20202261
+da60227b
+20202261
+da6022c6
+4497c005
+da204040
+df200001
+ea208000
+1a627a00
+1a20a250
+c2002264
+18007c01
+20600000
+c2802266
+c281a266
+18007c00
+20600000
+c281a270
+c3002266
+1a208c10
+e8c30000
+98467c00
+20628000
+20202266
+c3002266
+1a208c16
+e8c08000
+98467c00
+20628000
+20202266
+c300a266
+204022b3
+20402297
+98467e00
+1fe0fe01
+20212291
+18c22400
+60048aa2
+6800c4be
+243a2289
+68048aa2
+1a420c00
+1fe0fe05
+2020228c
+68048aa2
+1a420c00
+1fe0fe14
+24212266
+18424200
+204022bf
+18007c00
+20600000
+98002400
+1a208c02
+e8c10000
+203a228d
+204022bf
+2020227c
+1ff11600
+196c9600
+2022a2a1
+29601e0f
+24608000
+18511600
+196c9600
+24628000
+7920041c
+20600000
+18511600
+196c9600
+29601e0f
+24608000
+79207e1c
+20600000
+c3002266
+18007c00
+20600000
+c3002266
+1a208c01
+e8c08000
+c2802266
+1a208c17
+e8c08000
+c301a266
+18007c00
+20600000
+1a208c01
+e8c88000
+1c427e00
+284ffe01
+1a208c04
+e8ca0000
+20608000
+1a208c08
+e8c30000
+20402854
+1d027e00
+20600000
+1a208c02
+1a208a04
+e8c10000
+98409600
+19627e00
+e0a20000
+20204d83
+c300a266
+204022b3
+9b60fe00
+9b60fe00
+98e0fe00
+98467c00
+24212266
+18007c00
+20600000
+c3002266
+18427e00
+9a267c00
+203f2266
+1a208c01
+e8c08000
+c2802266
+ea208000
+793ffe07
+e2208000
+20202266
+44984006
+20402a4f
+1c40c201
+204028e2
+18004803
+204028d2
+20402a51
+20402a56
+20402a64
+20202762
+4498c006
+20402a4d
+1c40c201
+204028e2
+18004803
+204028cc
+2040242a
+204029f1
+20402a5b
+204029eb
+20402a0d
+246c0000
+204029bb
+2020251c
+44994006
+68008181
+98000800
+18000201
+204022da
+202022e4
+6800c093
+c4000000
+18000e04
+20407850
+247a0000
+680940ad
+18000e04
+2040271c
+20740000
+20402308
+18000e04
+680140af
+242c7842
+180a7e00
+9ea17e00
+20207842
+4499c006
+70018100
+78587c00
+78577c00
+204028a4
+1c4143fc
+18004801
+204028d8
+204028cc
+7940001d
+68008006
+1fe0fe01
+60008006
+204028f2
+204029eb
+20402a14
+246c0000
+449a4006
+18003600
+204028f9
+68008007
+1fe0fe01
+60008007
+204028d8
+20402a4d
+1c21c202
+18004801
+204028d2
+204028f2
+20402a51
+20402a5f
+1c427e00
+60020161
+20402a64
+18000202
+18000800
+20402a6b
+20402766
+20402332
+1c2143fd
+1cc0cc01
+20600000
+449ac006
+6800c0d1
+207a0000
+d8a0018e
+6800c513
+1fe27200
+1fe0fe01
+e0a08000
+18a20400
+1fe0fe01
+600141dc
+18420a00
+58000009
+e0a08000
+d8c04514
+2040783b
+da60458b
+df200004
+20402354
+da604575
+df200001
+20402354
+1800020a
+7041db02
+5800018e
+6001016f
+20402a4d
+204028d2
+20402a51
+20402a5f
+20402a64
+20402a6b
+20402766
+20600000
+18a20400
+1a620c00
+e8c08000
+207a0000
+1fe3fe00
+c2002358
+1fe22200
+1fe0fe02
+1fe20e00
+680141dc
+98e0fe00
+600141dc
+18420a00
+1a227e00
+1fe0fe01
+e0a08000
+1a620c00
+e8c08000
+e8c08000
+e0a08000
+1a227200
+2020783b
+6800c093
+c4008000
+18000e05
+20407850
+247a0000
+680940b1
+18000e28
+2040271c
+20740000
+18000800
+70001008
+793f800b
+2040237a
+18000e05
+680140b3
+20207842
+449b4006
+78587c00
+204028a4
+68008008
+1fe0fe01
+60008008
+18004c00
+204028e2
+1c40c201
+18004802
+449bc006
+204028cc
+204029eb
+20402a14
+246c0000
+204028f9
+68008009
+1fe0fe01
+60008009
+18003600
+20402a4d
+1c21c202
+18004801
+204028d2
+20402a51
+20402a5f
+20402a64
+2040264d
+18000800
+d9600600
+35330200
+1d01d003
+1c2143fd
+449c4007
+1cc0cc01
+204028cc
+204029eb
+20402a07
+242c23a4
+20402a6b
+2040251e
+c505a3ab
+449cc007
+68008010
+207a0000
+1fe0ffff
+60008010
+20402a4f
+2020239b
+449d4007
+793fd001
+79205000
+6800800a
+1fe0fe01
+6000800a
+20402a4d
+1c21c202
+204028d2
+20402a51
+20402a5f
+20402a64
+2040264d
+2d000603
+2020a3bc
+37cb8200
+202023b8
+68020165
+1fe1fe03
+1fe25000
+449dc007
+68030178
+60030040
+20402435
+2040247c
+2036a3c8
+20402455
+243a23c3
+20600000
+449e4007
+20402440
+2040223b
+24628000
+70003100
+20402841
+20202223
+449ec007
+20402850
+204023f3
+20740000
+449f4007
+20402c65
+204065e4
+20402514
+2436a3e2
+20402a88
+204065fc
+20402489
+20402757
+20402728
+20405642
+6800800b
+1fe0fe01
+6000800b
+20402841
+449fc007
+20402bb1
+20402a7f
+202123eb
+204021a7
+243423eb
+204026f3
+243a23d3
+20600000
+44a04008
+70015100
+70017f00
+2040245d
+793f8011
+204078ea
+68008030
+20600000
+44a0c008
+204021c9
+24740000
+18820400
+20402a6f
+60008181
+18420800
+70001120
+44a14008
+20402a4f
+18000202
+2040274f
+1c427e00
+60020161
+20402762
+20402a4d
+7837fc00
+204024f6
+202c240d
+204028f9
+20402455
+243a23fb
+c6820000
+70007c34
+79200003
+20600000
+78387c00
+20402435
+204028a4
+44a1c008
+204022f2
+202c2419
+20402455
+243a2410
+78587c00
+1d027e00
+600240ca
+20600000
+7834fc00
+c582241f
+793f8004
+70007c03
+70007d33
+20405c32
+18827e00
+60008077
+18007e00
+60030038
+68008031
+79207e01
+60008031
+20402a88
+7854fc00
+78347c00
+20600000
+44a24008
+7856fc00
+793f8005
+793f800a
+793f8010
+793f800f
+68008047
+793ffe05
+79207e04
+60008047
+20600000
+44a2c008
+70001120
+70004750
+680140bf
+6001003e
+1c427e00
+600240ca
+20780000
+1d027e00
+600240ca
+20600000
+44a34008
+2040563e
+20402459
+60008046
+58000000
+6001025d
+58001c80
+60010051
+68008030
+79207e00
+60008030
+70004b00
+70004c00
+7000a000
+20202a88
+44a3c008
+18007e00
+600441be
+e0a40000
+204021c5
+20202254
+68008011
+1fe0ffff
+60008011
+20600000
+6800c0cf
+1fe0fe01
+6000c0cf
+20600000
+44a44009
+6800c1ce
+c001a462
+68008048
+c080a466
+20404640
+2422a466
+204021a4
+7041ce00
+44a4c009
+20402d6c
+204026e9
+700a9902
+204076c0
+20405631
+204046a5
+20406eb7
+68008030
+793ffe00
+60008030
+70467f00
+6800804c
+2fe18000
+2020a476
+793f8001
+68008047
+c301a478
+6800804b
+c4030000
+793f8002
+20600000
+44a54009
+68008174
+207a0000
+1fe20800
+20402514
+24768000
+18000200
+20402757
+18827e00
+60008077
+18007e00
+60008174
+20600000
+44a5c009
+68008030
+c3012496
+18000207
+c583a495
+20402725
+2420a496
+20372496
+204024c1
+58000002
+600140c8
+20600000
+24770000
+44a64009
+20402243
+2422a4a7
+68008047
+c301a4b0
+c502a4b4
+6800817f
+c28324ba
+680140c8
+1fe0ffff
+600140c8
+203a24a5
+6800c0c5
+98000200
+20600000
+44a6c009
+20402687
+20402725
+2020a4b0
+20405944
+203424be
+6800804b
+c28324c0
+c502a4b4
+6800817f
+c28324ba
+18000201
+20748000
+18000200
+20600000
+44a74009
+68008019
+98000200
+c1808000
+18000200
+20600000
+68008158
+1fe1020f
+79200005
+20600000
+18000213
+202024c1
+204024ca
+44a7c009
+68088047
+79200403
+60088047
+18227e00
+6000c0c5
+5800ffff
+600140c8
+20600000
+44a8400a
+6800804c
+2feffe05
+680141dc
+2020a4e0
+18000203
+1fe67c11
+20610000
+18000204
+1fe67c1b
+20610000
+1800020a
+1fe67c79
+20610000
+1800020b
+1fe67cb7
+20610000
+1800020e
+1fe67ce0
+20610000
+1800020f
+20600000
+18000203
+1fe67c11
+20610000
+18000204
+1fe67c36
+20610000
+1800020a
+d840016f
+98467c00
+24610000
+1800020e
+d84002a7
+98467c00
+24610000
+1800020f
+20600000
+68008030
+c300a4f5
+68010032
+203a24f5
+243724f7
+20402a4f
+1d00c201
+78287c00
+6801003e
+1fe37e00
+d8400500
+9840fe00
+20402a24
+204028ea
+18004803
+204028cc
+2040242a
+204029f1
+44a8c00a
+6801003e
+1fe37e00
+20402a24
+204029eb
+7826fc00
+6801003e
+d84003bb
+9840b600
+37c18400
+1b420400
+600b009a
+7846fc00
+246c0000
+dd2003bb
+1c225000
+2035ab05
+20600000
+44a9400a
+204024f0
+242c28f9
+204029bb
+c588a51c
+680100f6
+1fe0fe01
+600100f6
+1c230400
+18419c40
+44a9c00a
+7823fc00
+78257c00
+7825fc00
+09800003
+198cfe00
+6000815d
+09800004
+08008007
+19827e00
+60008019
+09800003
+198cfe00
+6000815e
+68008019
+1fe67c03
+20212533
+c003a533
+6800804c
+2feffe05
+7920aa01
+44aa400a
+09800008
+7845fc00
+78457c00
+20232631
+c588a53c
+680100f8
+1fe0fe01
+600100f8
+44aac00a
+6800815d
+2fe00e00
+7920800a
+2020a54c
+a8800e00
+2020a54b
+c583a64d
+680880b0
+a8400e00
+2420a64d
+68008047
+793ffe05
+79207e04
+60008047
+7836fc00
+44ab400a
+68008019
+1fe20200
+c505255b
+6808815e
+68008047
+793ffe00
+284ffe00
+7920fe00
+284ffe01
+7920fe01
+60008047
+284c0001
+2020a55b
+20402687
+44abc00a
+d8400000
+20402a1c
+18217e0f
+c000a587
+c000264d
+c0012659
+6808815e
+68008047
+a8400800
+2420a569
+c5852568
+c303a569
+7920000f
+44ac400b
+18227e00
+c001a589
+c002258d
+c003a578
+c004258c
+d8400004
+20402a1c
+c0052588
+c005a58b
+d8400008
+20402a1c
+c0072588
+c007a58b
+20600000
+44acc00b
+7826fc00
+7824fc00
+78277c00
+d8a000d1
+1800721e
+09800008
+19897e00
+e0a08000
+c200257e
+c583a64d
+09800010
+7d230008
+2023263d
+20202620
+2020264d
+79200010
+78267c00
+2020258e
+79200010
+79202a02
+7826fc00
+44ad400b
+c500a64d
+2aac0001
+2020a59a
+7843fc00
+7826fc00
+78467c00
+1c409602
+34530400
+242c263d
+79200010
+7823fc00
+44adc00b
+78277c00
+7824fc00
+09800003
+198cfe00
+60008180
+09800005
+c50825a5
+19897200
+1f297200
+202025a8
+09800005
+19837200
+09800003
+44ae400b
+1f227e00
+6001015f
+203a25e8
+9ea67c00
+2021263d
+44aec00b
+793f8000
+68008180
+1fe17e03
+d8a00551
+c001a5ba
+c508a5e4
+68008180
+1fe17e03
+c00125bf
+c000a5d3
+2020263d
+6801015f
+1fe67c70
+2421263d
+c507a620
+202025e4
+44af400b
+c507a620
+6801015f
+d84002e0
+98467c00
+2021263d
+68008263
+c30025c9
+c300a5ce
+2020264d
+70026101
+6801025d
+c080264d
+d8a01000
+202025e4
+70026102
+6801025f
+c080264d
+d8a01400
+202025e4
+44afc00b
+c507a620
+6801015f
+d84002e0
+98467c00
+2021263d
+68008261
+c000a5dd
+c00125e1
+2020264d
+d8a01000
+6801025d
+98a08a00
+202025e4
+d8a01400
+6801025f
+98a08a00
+09800008
+19897e00
+e0a08000
+c20025e4
+44b0400c
+09800010
+20232637
+6800c361
+c000a64d
+c508a60d
+c507a64a
+68008180
+2fe00603
+2020a60d
+6801015f
+203a260d
+44b0c00c
+68008261
+c000a5f9
+c0012603
+20202a8c
+6801025d
+6809015f
+9840fe00
+6001025d
+c0002a8c
+68091000
+18408404
+98467c00
+2042a747
+2020260d
+6801025f
+6809015f
+9840fe00
+6001025f
+c0002a8c
+68091400
+18408404
+98467c00
+2042a74b
+2020260d
+44b1400c
+6808804c
+68008180
+2fe00603
+79208406
+7d208407
+6008804c
+2420a616
+79200001
+c588a620
+284ffe06
+2020a620
+680100fa
+1fe0fe01
+600100fa
+79200005
+793f8407
+793f8001
+6008804c
+44b1c00c
+6808815e
+68008047
+79207e05
+284ffe02
+7920fe02
+280ffe0a
+7920fe07
+60008047
+6801015f
+243a264d
+6800804c
+793ffe07
+6000804c
+68008180
+2fe00e01
+2020264d
+44b2400c
+7856fc00
+6801001a
+1fe0fe01
+6001001a
+2020264d
+6801001c
+1fe0fe01
+6001001c
+2040263e
+c588a63d
+79200005
+2020264d
+44b2c00c
+68008180
+2fe00603
+2420a646
+6808804c
+793f8406
+6008804c
+20600000
+6808804c
+793f8407
+6008804c
+20204545
+68008047
+79207e05
+60008047
+44b3400c
+784efc00
+784e7c00
+7846fc00
+78467c00
+7844fc00
+78477c00
+7843fc00
+2030a8f9
+37d38200
+20000064
+202028f9
+44b3c00c
+7824fc00
+78267c00
+09800048
+2feffe3a
+79208000
+1c020400
+57e04000
+57e03c00
+782afc00
+380bffff
+380cffff
+20000020
+29a80000
+1d827e00
+60018178
+1da27e00
+6000817b
+18424000
+2020a66e
+2020263d
+44b4400d
+09800048
+57e03e00
+57e00800
+57e05c00
+57e02400
+18007e00
+09800010
+2023263d
+5ffffffc
+9a417e00
+60020165
+1ba27e00
+60018175
+1b827e00
+60008173
+18827e00
+60008174
+1dc27e00
+6001017c
+1c227e00
+08008220
+28201e02
+7920800b
+2020264d
+44b4c00d
+68008047
+c4018000
+793ffe03
+79407e06
+60008047
+6800c0c5
+c009a69c
+c1038000
+6800804b
+c4030000
+793ffe06
+79207e07
+6000804b
+793f8002
+68014244
+247a0000
+6800804b
+793ffe07
+6000804b
+20204b97
+44b5400d
+680084b7
+1fe37e00
+c008a6b8
+c00926c0
+c00c26e9
+c03fa6a8
+c1818000
+680084b8
+c015a6b0
+c008a6ab
+20600000
+680084b8
+79207e07
+20600000
+20748000
+68008030
+c3820000
+70007c31
+20600000
+20748000
+68008031
+2feffe04
+2020a6b5
+20600000
+793ffe04
+60008031
+20600000
+44b5c00d
+6800804c
+79207e02
+6000804c
+70801101
+68008030
+2feffe04
+20600000
+44b6400d
+6800804c
+793ffe02
+6000804c
+70801100
+20600000
+44b6c00d
+1c427e00
+6002420c
+1c40a203
+2034a6cc
+1d00a203
+68090032
+1a227e00
+793ffe1b
+9846fc00
+68010075
+204078c0
+18072600
+9a667e00
+202126d6
+9840fe00
+9a20fe00
+60020034
+70455900
+68008030
+79207e01
+60008030
+68008073
+6000808a
+58000000
+6001c169
+6001c16c
+6000c159
+700a990b
+204076c0
+680140c1
+6001003e
+24748000
+18808fff
+20600000
+44b7400d
+68008030
+c4008000
+793ffe01
+60008030
+680140bf
+6001003e
+7855fc00
+700a990c
+202076c0
+44b7c00d
+78377c00
+68008030
+c280a700
+c6088000
+68008047
+c3818000
+68008048
+247a0000
+6800804b
+c3830000
+18007e00
+20600000
+c301270f
+6800808a
+c0012706
+68008047
+c281a718
+c5842718
+2434a718
+68008048
+243a2718
+680080ef
+1fe0ffff
+600080ef
+243a26fe
+7000ef10
+20202718
+6800808a
+c080a718
+6800808b
+203a2718
+1fe0ffff
+6000808b
+68008047
+c3818000
+24768000
+6800808a
+1fe0ffff
+6000808a
+20600000
+44b8400e
+78487c00
+18423600
+20402260
+78547c00
+24628000
+18003600
+78347c00
+20600000
+6800c158
+a881fe00
+20600000
+44b8c00e
+793f8001
+70026a00
+68008263
+207a0000
+2feffe00
+d8c01000
+2040c6b3
+44b9400e
+6800826a
+c000a73b
+70026a00
+68008263
+c4008000
+d8c01400
+204046b3
+6800826a
+c000a741
+20600000
+68008263
+793ffe00
+60008263
+58000000
+6001025d
+20600000
+68008263
+793ffe01
+60008263
+58000000
+6001025f
+20600000
+68008263
+79207e00
+60008263
+20600000
+68008263
+79207e01
+60008263
+20600000
+44b9c00e
+1d00c201
+204028ea
+18004803
+204028d2
+20402a51
+20402a5f
+20202a64
+44ba400e
+20402a4d
+1d027e00
+680a40ca
+98467e00
+c1808000
+28203e00
+2420a761
+68008019
+207a0000
+2040274f
+28203e10
+2020a64d
+1c230400
+18419c40
+44bac00e
+7823fc00
+78257c00
+782dfc00
+793f8010
+18827e00
+08008603
+18227e00
+08008604
+68008047
+08008004
+08008603
+78247c00
+08008608
+784dfc00
+78447c00
+78457c00
+793faa02
+d8400000
+20402a1c
+44bb400e
+18217e1f
+c009a7b4
+c000264d
+c000a64d
+c0012797
+c001a7c5
+c00227cb
+c003a78c
+c00427ca
+d8400004
+20402a1c
+c00527c7
+c005a7cd
+d8400008
+20402a1c
+c007a7cd
+202027c7
+44bbc00e
+782efc00
+7824fc00
+78277c00
+1800721e
+d8c000b3
+e8c08000
+08008608
+c2002792
+c503a7f7
+2020264d
+44bc400f
+68008181
+1fe20800
+68008090
+1fe23800
+6801c0aa
+1fe23a00
+680140a4
+1fe25c00
+7824fc00
+782e7c00
+1c022200
+204028e2
+782afc00
+20000020
+1c221600
+68020161
+1fe24200
+53c07e00
+79207e3a
+08008648
+53e07e00
+08008648
+19624200
+1a224000
+78247c00
+08008610
+78447c00
+2020264d
+44bcc00f
+78277c00
+7824fc00
+782e7c00
+680084b6
+1fe105f8
+d8c004b6
+18408408
+1840a7b8
+242127c2
+e8c48000
+08008648
+1a620400
+202027bc
+e8c48000
+08418600
+202027f7
+782e7c00
+202027d0
+782e7c00
+79200010
+202027d0
+79202a02
+782efc00
+202027d0
+79202a02
+782efc00
+79200010
+44bd400f
+6800804c
+c302a7e5
+18267c03
+202127e5
+78477c00
+784e7c00
+782efc00
+7843fc00
+79202a01
+2aaffe02
+2020a7df
+580abeee
+08008614
+202027e3
+585faeba
+08008618
+58000012
+08008606
+7823fc00
+79200010
+78277c00
+7824fc00
+c502a800
+6800c1db
+08008603
+680141dc
+98007200
+c50827ef
+08008605
+202027f0
+0800860d
+1f227e00
+203a27f7
+6801016f
+98000c00
+e8c08000
+08008608
+c20027f4
+78247c00
+08008610
+78447c00
+204024c1
+6800804c
+c302a64d
+18007e00
+08008606
+2020264d
+44bdc00f
+c5082808
+68008180
+08008603
+6800815f
+98002600
+08008605
+2020280d
+68008180
+08008603
+6801015f
+98002600
+0800860d
+d8c00551
+1a627c00
+2022a814
+e8c08000
+08008608
+1a60a7ff
+2020280e
+680100fc
+1fe0fe01
+600100fc
+202027f7
+68020165
+1fe0a207
+68010171
+243a281e
+1a20a3fd
+20202826
+1feffe0c
+68190040
+18408401
+98467e00
+24212825
+1a20a3ff
+20202821
+1fe67e00
+37d18200
+2c400600
+2420a826
+98005200
+1a225000
+98005200
+20600000
+44be400f
+37d10200
+1b427e00
+98000c00
+1ff17e00
+9c467200
+1f217203
+2422a837
+18007e00
+2020283b
+d8400ea6
+18007e00
+9840fe00
+c2002839
+98c0fe00
+1fe6fc0c
+204078c0
+1807fe00
+60010171
+20600000
+44bec00f
+1b427e00
+1b220400
+98467c00
+7d217e2c
+98460400
+58000ea6
+284c000f
+2020a84c
+5fff0ea6
+98408400
+600b0447
+207b0000
+600b0038
+20600000
+78587c00
+68030447
+203b2854
+68030038
+9b20e000
+1e00e00a
+58000ea6
+9e067e00
+2fec000f
+2020a85e
+5800f15a
+9e00e000
+1e023400
+20600000
+18007c00
+2020285c
+44bf400f
+20402918
+1c227e00
+1fe17f80
+2c800e03
+2420a869
+1fe97e00
+9ae0fe00
+2020286a
+1ae27e00
+1fe6fc4f
+782afc00
+204078c0
+18072200
+1a2085d8
+20212872
+1a238400
+20202874
+18438400
+18408401
+44bfc00f
+68008031
+c301a885
+680240d2
+9c267c00
+20212885
+204028a4
+6800c0d9
+207a0000
+68008031
+79207e02
+60008031
+6802c0e7
+6002c0da
+e8c28000
+6002c0df
+204028a9
+68008031
+c4010000
+2c2ffe01
+2020a8a1
+18492200
+18410e07
+580040da
+9a20a200
+ea208000
+afec0000
+2020a892
+18427e00
+2020289e
+6800c0e4
+98002400
+1c227e00
+1fe17f80
+1fe97e00
+9ae0fe00
+9a46fc00
+580040f2
+204078c0
+18072200
+9a208c00
+e8c08000
+6000c0e5
+98000400
+20600000
+6800c0e5
+98000400
+20600000
+68008031
+793ffe02
+793ffe03
+60008031
+20600000
+44c04010
+d8a040f2
+1800720a
+20407800
+d8a040f2
+18002600
+18000e02
+6802c0da
+98000400
+28e1fe02
+2020a8b5
+18430400
+284c0000
+2020a8b9
+1a627e00
+e0a08000
+184b0400
+1a60a602
+2a61fc28
+2420a8c2
+6802c0df
+98000400
+28e1fe02
+2020a8c2
+18430400
+1a667c4e
+202128b5
+18002601
+18e08fff
+2422a8b0
+da2040f2
+18a27e00
+9a267e00
+6000c0e4
+20600000
+44c0c010
+20402860
+6800817f
+c302a8d1
+680884cc
+2020291f
+44c14010
+20402860
+6800817f
+c30228d7
+680884cb
+20202933
+18005a00
+6801c0a7
+98005800
+20600000
+44c1c010
+6800c1d3
+1fe25a00
+6801c1d0
+1fe25800
+20600000
+44c24010
+680140a4
+1fe25c00
+6800c0a3
+1fe25a00
+6801c0a0
+1fe25800
+20600000
+44c2c010
+68010044
+1fe25c00
+68008043
+1fe25a00
+68018040
+1fe25800
+20600000
+c51028f5
+c68e8000
+c68f8000
+1d815900
+782afc00
+20000020
+20600000
+44c34010
+2030a90a
+708955d4
+20000004
+708955d2
+20000004
+708955d1
+20000004
+6800c1de
+c0002908
+c000a915
+c0012908
+c001a915
+c0022915
+c0102915
+708955d0
+708956e0
+18002a00
+7850fc00
+78507c00
+782f7c00
+70890200
+70890100
+70890000
+70890300
+70890470
+70890600
+20600000
+708955d0
+708956c0
+2020290a
+44c3c010
+70890200
+70890100
+70890018
+708903a7
+7089047f
+20600000
+44c44011
+60088017
+1840a204
+70896d07
+20202981
+44c4c011
+708901cf
+2000000a
+708900ff
+708903af
+708904ff
+2000000a
+708902a0
+20600000
+6800c1e0
+203a2931
+1840a202
+20600000
+1840a200
+20600000
+44c54011
+60088017
+2040292d
+20402981
+58000500
+20402a8f
+70890601
+7089003c
+708901e0
+70896d12
+2000000a
+70890201
+7089023d
+2000000a
+708903b7
+2000000a
+7089027f
+6800c1de
+c000294b
+c000a94f
+c0012953
+c001a957
+c002295b
+c010295f
+708956f0
+20402965
+708955d8
+20600000
+708956df
+20402965
+708955df
+20600000
+708956ff
+20402965
+708955df
+20600000
+708956ce
+20402965
+708955d8
+20600000
+708956cb
+20402965
+708955d8
+20600000
+708955d0
+708956c0
+7089574c
+7089586c
+70895950
+20600000
+20000004
+708955d1
+20000004
+708955d2
+20000004
+708955d4
+20600000
+70804206
+680140c3
+c307296d
+98000c00
+d8408900
+e8c08000
+c07fa977
+98418a00
+e8c08000
+e0a08000
+20202971
+44c5c011
+20402be5
+204029c9
+580007d0
+9c40fe00
+60020169
+79202a03
+18002a00
+2455a998
+202029ab
+44c64011
+58000960
+9a208400
+6800c0bd
+70895f04
+984ffe00
+6808c0be
+9846fc00
+204078c0
+1807a200
+18077e00
+1ff07e00
+1ff27e00
+9846fc00
+204078c0
+1807fe00
+1fed7e00
+1fe3fe00
+9a21fe00
+60120960
+70895f44
+70895fc4
+20600000
+44c6c011
+70890602
+5803d090
+20402a8f
+7089007f
+20000082
+70895230
+708901d0
+70895270
+708952f0
+18007232
+68108980
+c282a9a6
+c20029a3
+6000c0ce
+70890100
+70890000
+70890600
+20600000
+44c74011
+6800c0ce
+79207e05
+60108952
+68188950
+18410407
+1fe9fe00
+9841fe00
+60108950
+68108951
+793ffe00
+60108951
+68108952
+793ffe05
+60108952
+20600000
+44c7c011
+68110981
+1ff1fe00
+1fe97e00
+1fe67e00
+1fe17eff
+1fe6fc0a
+204078c0
+1807fe00
+1ff27e00
+18070400
+9841fe00
+60008018
+20600000
+70804206
+6810896b
+793ffe04
+793ffe05
+6010896b
+70890500
+70890400
+70890470
+708905ff
+6810896b
+79207e04
+79207e05
+6010896b
+204029e9
+68108968
+79207e07
+60108968
+793ffe07
+60108968
+79207e07
+60108968
+70804205
+20000001
+70804204
+6810896b
+1fe17ecf
+6010896b
+1fe1fe30
+6010896b
+20600000
+58000f0f
+20202c18
+5800080f
+20202c18
+44c84012
+20402924
+78507c00
+7830fc00
+782b7c00
+20600000
+44c8c012
+6800804c
+2feffe02
+7920fe00
+60108011
+d8c00062
+e8c48000
+98006400
+e8c38000
+98006600
+68008054
+1fe0e9ff
+782d7c00
+20600000
+1b427e00
+6003009a
+7846fc00
+242c28f9
+dd2003bb
+1d00d001
+1d0151fc
+20600000
+7826fc00
+37cb8400
+202c29ff
+2d000402
+2420aa08
+202029ff
+44c94012
+d9600600
+7826fc00
+34730400
+7846fc00
+242c28f9
+20600000
+44c9c012
+7826fc00
+37c18400
+7846fc00
+242c28f9
+dd2003bb
+1d0151fc
+20600000
+44ca4012
+98002200
+1c227e00
+98409600
+19627e00
+600240ca
+1a227e00
+20600000
+1fe20400
+44cac012
+18427e00
+2040788a
+1c307e00
+79207e2c
+20407873
+793ffe2c
+20402a77
+20407873
+20740000
+2040787d
+98003600
+37c18200
+20600000
+44cb4012
+20382a38
+35330200
+1d020400
+20202a3b
+20372a3a
+34730200
+1c420400
+20342a47
+28400601
+2420aa33
+44cbc012
+68008030
+c4000000
+680240ca
+98467e00
+24610000
+1fe67cff
+20212a33
+20600000
+28400603
+2420aa33
+20202a3e
+44cc4013
+d9600600
+20202a33
+78547c00
+20202a4a
+78347c00
+20202a4a
+44ccc013
+204029f1
+7850fc00
+78307c00
+20600000
+44cd4013
+d9600e43
+34730200
+782b7c00
+20600000
+44cdc013
+d9600d00
+34730200
+20600000
+44ce4013
+d9600e43
+35330200
+782b7c00
+20600000
+44cec013
+51207e00
+782efc00
+79202a00
+08008648
+784efc00
+20600000
+1ca20400
+18418460
+18421c00
+20600000
+44cf4013
+6800c090
+1fe0fe01
+c083aa74
+18007e01
+6000c090
+98000800
+20600000
+1b220400
+20748000
+1b420400
+20600000
+1c427e00
+20748000
+1d027e00
+20600000
+44cfc013
+680a004d
+20402a7b
+98461600
+19627e00
+68090051
+18438400
+98467e00
+20600000
+44d04014
+20402a7b
+6002004d
+20600000
+44d0c014
+20202a8c
+20202a8e
+207a0000
+1fe37e00
+1fe0fffd
+1fe0ffff
+2422aa92
+18007e00
+20600000
+df200010
+d8a00000
+20407800
+d8a0043f
+df20000a
+20407800
+7009b200
+700a9900
+70048c00
+70017f00
+7004d100
+44d14014
+70016d00
+70015100
+70015c00
+589e8b33
+6001c0a7
+58000153
+60010083
+7000851e
+70008601
+70008807
+5812e904
+60018080
+70009060
+7040d005
+70001402
+6800c658
+245a6dfb
+6800c4bc
+245a6e52
+44d1c014
+20758000
+58000000
+600141dc
+1c437e00
+60024094
+20600000
+5800ee21
+60110050
+6812011c
+60020abe
+6810813e
+60008abd
+c301dd95
+7835fc00
+c303aacc
+7855fc00
+1ce27e00
+243a2acc
+6810813b
+c2812acc
+d85fffff
+20202b3c
+6811813c
+6011804c
+e8c08000
+1fe1feef
+e0a08000
+20402c23
+6810804f
+79207e04
+6010804f
+20402c23
+2055aadf
+6810804e
+793ffe03
+6010804e
+20402c23
+2435dd95
+c6968000
+70800608
+20600000
+6800c198
+60108086
+6801c18d
+60118080
+68024181
+60120074
+6802417d
+60120070
+68044185
+60140078
+68044190
+98000000
+68140140
+600400a1
+20405e04
+20600000
+18027e00
+60044190
+68140070
+6004417d
+e8c40000
+e0a40000
+68118080
+6001c18d
+68108086
+6000c198
+20202c29
+68108063
+243a2b00
+6801c16f
+247a0000
+708063c0
+70800680
+6810812d
+c4008000
+68118149
+6001c16f
+20600000
+44d24014
+1b427e00
+20407871
+680a415f
+18467cff
+20610000
+1fed7e00
+1ff27e00
+9846fc00
+204078c0
+1807fe00
+d84000c8
+204078cb
+60008099
+24342b15
+1fe67e00
+6809c16f
+9840fe00
+6001c16f
+58000000
+6002415f
+20600000
+6800c177
+79207e02
+6000c177
+20202b24
+44d2c014
+d85fffff
+6800c176
+793ffe07
+6000c176
+20402c29
+6800c157
+6000c17c
+6800c17a
+79207e07
+6000c17a
+44d34014
+204029e7
+6802415f
+9840fe00
+6002415f
+20402aef
+6802c178
+6012004c
+1fef2200
+37d98200
+1b227e00
+60034163
+70800502
+37d98200
+37d98200
+1a227e00
+6010804f
+70800502
+37d98200
+37d98200
+601a004c
+70800510
+37df8200
+44d3c014
+58000000
+1ce27c00
+2022ab4c
+6810813c
+6818813d
+98467c00
+20212b4a
+18427e00
+9ce67e00
+1fe0fe01
+1fe0fe08
+37d98200
+9e20fe00
+680a415b
+9840fe00
+6809c16f
+984ffe00
+1fecfe00
+1ff1fe00
+1fe0fe6e
+d8400ea6
+9846fc00
+204078c0
+1807fe00
+1ff07e00
+18070400
+9841fe00
+680b4163
+20407866
+18423200
+68034048
+20402854
+1b427e00
+60030a9a
+1ce27e00
+e0a08000
+6810811d
+1fe1fef0
+e0a08000
+20600000
+44d44015
+20402afa
+6801c16f
+207a0000
+6800c091
+207a0000
+6800c658
+203a2b74
+6800c5af
+207a0000
+6800c4be
+247a0000
+20402c3a
+247a0000
+6800c040
+2fe00e03
+2420ab9d
+68014042
+207a0000
+20758000
+44d4c015
+680880a0
+68014042
+984ffe00
+18518400
+184b0400
+98467e00
+680a4044
+9840fe00
+6808c156
+98467e00
+1ff06000
+44d54015
+6801404e
+1fe37e00
+2040788a
+1e027e00
+20407873
+1b420400
+20407871
+20740000
+20407883
+44d5c015
+6800c178
+98467c00
+20212b18
+600a415b
+20402ce5
+20404c35
+680a415b
+20202b2a
+44d64015
+6800c040
+c3800000
+c3818000
+6800c658
+203a2ba5
+6800c5af
+207a0000
+44d6c015
+6800c36c
+243a2baa
+6800c093
+207a0000
+68014154
+207a0000
+6808c156
+98467e00
+d8401d4c
+984ffe00
+20202b93
+44d74015
+7855fc00
+68008030
+c4008000
+2436abd0
+20402bcb
+680140c1
+6001003e
+68008047
+c281abde
+c586abde
+20404bae
+243a2bde
+6800c55a
+c280abde
+7000a000
+c586abde
+6800c174
+203a2be2
+1fe0ffff
+6000c174
+20600000
+d8e00001
+20205a07
+d8e00001
+20205a0b
+70415900
+6801c169
+1fe0fe01
+6001c169
+20600000
+44d7c015
+680940c1
+18430400
+6801003e
+9840fe00
+6001003e
+7000a000
+6801c16c
+1fe0fe01
+6001c16c
+6800c159
+1fe0fe01
+6000c159
+20600000
+7000a000
+6800c173
+6000c174
+20600000
+6808c172
+600880a0
+20600000
+44d84016
+6800c178
+247a0000
+70804206
+58000f0c
+20402c18
+58030d40
+20402a8f
+37d98200
+1e226000
+204029e7
+70804204
+2000000a
+37d98200
+1e227e00
+9e067e00
+1fe0fe30
+d84000ff
+204078cb
+6000c178
+20007530
+20007530
+20007530
+20600000
+6800c178
+247a0000
+708044ff
+70804206
+204029e7
+580003e8
+9e20e000
+07e00000
+1e227e00
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+9e067e00
+1fe0fe30
+d84000ff
+204078cb
+6000c178
+20007530
+20007530
+20007530
+20600000
+d8a00fff
+98a10a00
+6800c175
+1fe17ef0
+1fed7e00
+98a1fe00
+6011004c
+e8c10000
+e0a10000
+58000001
+20202c24
+58000002
+37d98200
+60108005
+37d98200
+37d98200
+20600000
+44d8c016
+680200a1
+6012004c
+58000004
+20402c24
+680200a5
+6012004c
+58000008
+20202c24
+68014152
+f9207e00
+60014152
+20600000
+68014152
+f93ffe00
+60014152
+20600000
+44d94016
+20402ce3
+68014152
+1fe22200
+6800804c
+2feffe06
+7920a20b
+68008078
+6808807c
+9840fe00
+68088048
+9840fe00
+7d3a220a
+6800c4fd
+7d3a2201
+6801025d
+6809025f
+9840fe00
+7d3a220d
+68044666
+7d3a220f
+6804466e
+7d3a220e
+6800c1ce
+7d3a2208
+6800c092
+2fe1fe0a
+2040ac57
+20600000
+68110112
+7d3a2206
+6811010e
+7d3a2205
+20600000
+68120138
+793ffe1b
+6012004c
+20402c21
+20202a8c
+6812013c
+793ffe14
+6012004c
+20202c23
+68014150
+c2802a8c
+20600000
+68014150
+c280aa8c
+20600000
+68014150
+c2812a8c
+20600000
+c3012c7d
+6800808a
+c0012c74
+68008047
+c281ac82
+c5842c82
+2434ac82
+68008048
+243a2c82
+680080ef
+1fe0ffff
+600080ef
+243a26fe
+7000ef10
+20202718
+28203e00
+2020ac86
+28203e01
+2020ac86
+20202c89
+6800808a
+1fe0ffff
+6000808a
+20600000
+6800808c
+1fe0fe01
+6000808c
+6800808a
+203a2c8d
+20402c82
+247a0000
+6800808c
+6808808b
+98467c00
+20212c93
+dfe00001
+20600000
+dfe00000
+20600000
+44da4016
+6800c092
+203a2c95
+c0022df3
+c007adf4
+c004bf18
+c00532b8
+c0072f7d
+c0083e0f
+c283368f
+20600000
+44dac016
+70015100
+70017f00
+70018000
+58000000
+600289ae
+6800c092
+203a2ca0
+c00532f1
+20600000
+2040760b
+204076d6
+20402cb3
+680141f3
+202078d6
+680141f1
+202078d6
+680141ef
+202078d6
+44db4016
+da204666
+204078fe
+207a0000
+1fe22600
+20402cbc
+20202ce1
+da600000
+20600000
+c000acce
+c0082d14
+c002acf2
+c0092cf9
+c0032d10
+c0022d51
+c0012d56
+c009ad51
+c00a2d08
+c00aad0c
+c001aceb
+c005acfd
+c0062d04
+c00b2d18
+c00c2ce7
+c0152cd7
+c015acd5
+20600000
+68014680
+79207e00
+60014680
+6801420a
+793ffe00
+6001420a
+20600000
+70022900
+20600000
+68008229
+1fe0fe01
+60008229
+1fe67c01
+20212d9c
+70022900
+6801420a
+79207e09
+6001420a
+20202da6
+680141f5
+202078d6
+680141e9
+202078d6
+680141ed
+202078d6
+6801420a
+79207e01
+6001420a
+20202dcf
+68014680
+79207e07
+60014680
+6801420a
+79207e02
+6001420a
+20600000
+68014680
+79207e01
+60014680
+6801420a
+79207e04
+6001420a
+20600000
+68014680
+79207e03
+60014680
+20600000
+68014680
+79207e05
+60014680
+6801420a
+79207e03
+6001420a
+20600000
+68014680
+793ffe05
+60014680
+20600000
+68014680
+79207e09
+60014680
+20600000
+68014680
+793ffe09
+60014680
+20202dd5
+68014680
+79207e02
+60014680
+20600000
+6801420a
+79207e00
+6001420a
+20600000
+6801420a
+79207e08
+6001420a
+20202da6
+44dbc016
+6000822a
+6800822a
+207a0000
+1fe0ffff
+6000822a
+20407617
+20402d93
+20402d44
+20402d4a
+20405e55
+680141fd
+204078d6
+20202d1e
+ea608000
+207a0000
+1fe0ffff
+e2608000
+247a0000
+1a427e00
+202078d6
+ea610000
+207a0000
+1fe0ffff
+e2610000
+247a0000
+1a427e00
+202078d6
+6809423f
+1840a601
+da402d3c
+20202d2a
+20402dea
+c000ad3f
+20202dc7
+58000002
+e2608000
+1840a408
+ea410000
+202078d6
+da604205
+da402d47
+20202d2a
+20402252
+2022adcb
+20600000
+da60467c
+da402d4d
+20202d31
+20402dad
+20402dc5
+680141f7
+202078d6
+20402d69
+68014680
+793ffe07
+60014680
+20600000
+70420500
+68014680
+c283ad5b
+2fec0001
+2040acba
+44dc4017
+68014680
+793ffe00
+793ffe01
+793ffe02
+793ffe03
+793ffe07
+60014680
+20202dd5
+20402d66
+20202dc7
+58000000
+60014208
+20600000
+58000000
+6001420a
+20600000
+6801420a
+60014208
+58000000
+6001420a
+20600000
+6801420a
+79207e07
+60014208
+58000000
+6001420a
+20600000
+6800c680
+2feffe05
+20600000
+5800aa55
+60010aaa
+44dcc017
+d8400002
+da200aaa
+da4000c3
+20205f40
+44dd4017
+d8400002
+da200a9a
+da4000c3
+20405f19
+68010a9a
+d840aa55
+98467c00
+20600000
+6800c558
+6000c205
+20600000
+d8e00009
+20202c32
+d8e00009
+20202c36
+70420605
+20202d8d
+da604206
+da402d8f
+20202d2a
+70436101
+20600000
+70436100
+20600000
+700a990a
+202076c9
+700a991d
+202076c9
+44ddc017
+6800c207
+6000816d
+70022801
+700a9903
+202076c9
+700a991e
+202076c9
+700a9904
+202076c9
+68014685
+6001467c
+20402dc1
+700a9901
+202076c9
+58000000
+6001467c
+700a9902
+202076c9
+700a990f
+202076c9
+700a9910
+202076c9
+700a990e
+202076c9
+700a990d
+202076c9
+700a9917
+202076c9
+700a9918
+202076c9
+700a9916
+202076c9
+700a9911
+202076c9
+700a9915
+202076c9
+700a9914
+202076c9
+700a9913
+202076c9
+700a9919
+202076c9
+700a9906
+202076c9
+700a9905
+202076c9
+700a991f
+202076c9
+700a9920
+202076c9
+700a9925
+202076c9
+7920000d
+20600000
+793f800d
+20600000
+20402dea
+c0012de1
+58000001
+e2608000
+1840a203
+1840a406
+ea288000
+1a60a601
+e2688000
+20202d42
+58000000
+e2608000
+68014680
+c304ade6
+20402dbf
+6809423f
+1840a202
+1840a404
+20202ddd
+6809423f
+1840a600
+ea608000
+20600000
+20402dea
+c0802df1
+20202dc7
+1840a40a
+20202d42
+20600000
+20758000
+70808100
+58002e21
+600141eb
+580062a6
+600141ed
+58002eb3
+600141f3
+58002eb2
+600141ef
+58002e3c
+600141f5
+58002e70
+600141fd
+58002e23
+600141fb
+58002e2e
+600141e9
+58002ebf
+600141f9
+44dec017
+20402f59
+20406282
+20402f6b
+20407642
+2040760d
+58002ec9
+60014764
+58002eba
+6001475b
+58002eb6
+6001475d
+58002e2a
+6001475f
+58002f60
+600146a7
+58002f62
+600146a9
+58002f67
+600146b2
+58002f64
+600146b4
+68014680
+c3860000
+20202dc7
+20402f44
+20202dc7
+204051cc
+247a0000
+da200b06
+2040778e
+24740000
+d8c00b06
+20204080
+68014795
+6001478f
+70475101
+20202f4d
+6800c79b
+c000ae37
+68014680
+c304ae37
+6800c79c
+c000ad8d
+6800c6fe
+243a2d8d
+20202d8f
+6800c799
+6808c79a
+9841fe00
+c000ad8d
+20202d8f
+1a627e00
+c016adee
+c0082dd7
+c00a2e9d
+c00aaea6
+c0202e43
+20600000
+68014507
+c000ae4a
+680143d6
+203a2e60
+70478802
+70478d3c
+20600000
+68014498
+203a2e5e
+70478801
+680947b2
+68014494
+9840fe00
+60014494
+1fe22200
+68014496
+9840fe00
+60014496
+9a20fe00
+1fe30400
+680147be
+9846fc00
+204078c0
+1807fe00
+60014498
+70478e01
+20600000
+70478803
+20600000
+70417200
+70478e00
+680143d4
+680947bc
+98467c00
+79212200
+680147be
+680943d4
+98467e00
+79212201
+2a200603
+20608000
+680447bc
+60044494
+70478e01
+20600000
+20402d38
+20402e77
+20402e7c
+20402e93
+20402e88
+20402e82
+20202e97
+da604797
+da402e7a
+20202d2a
+70479800
+20600000
+da604791
+da402e7f
+20202d31
+da6046bd
+da40469c
+20202f4f
+da60478d
+da402e85
+20202d2a
+68014498
+6000c172
+20600000
+da60478e
+da402e8b
+20202d2a
+6800843f
+2fe0c000
+2420ae91
+70478801
+20402dd3
+202053f9
+70478e01
+20600000
+da60478f
+da402e96
+20202d31
+20202dd7
+da60478b
+da402e9a
+20202d31
+680147a5
+6001478b
+20202f6d
+680147a5
+6001478b
+58000000
+60014791
+6001478f
+20402f1a
+20402f44
+70417200
+20202db5
+58000000
+6002478b
+6001c788
+60014507
+70479e01
+68014795
+6001478f
+20407772
+6800c757
+c1000000
+20402f4d
+20202f2c
+20202ec6
+6800c757
+c1810000
+20202ec6
+da6046cb
+20402f40
+da6046c4
+20202f42
+70436c00
+da6046d9
+20402f40
+da6046d2
+20202eb9
+68008477
+c0092ec2
+20600000
+68010478
+c006aef4
+c005af2f
+20600000
+6800c751
+207a0000
+202062b2
+1a227e00
+203a2ece
+18e27e00
+c0002ed1
+20600000
+18e27e00
+c0002ed9
+20600000
+70479b01
+da6046f5
+20402f40
+da6046ee
+20402f42
+68014680
+c304aef0
+20202edf
+70479b00
+20202edb
+6800c798
+c1808000
+70479705
+20600000
+6800c798
+1fe0fe01
+6000c798
+c000aee5
+c0012ee9
+20600000
+20402f1a
+70476f01
+da60476a
+20202f02
+70479800
+70476f02
+da60476a
+20402f02
+6800c79c
+c000af0f
+20600000
+68014795
+6001478f
+20402f1a
+20202f4d
+44e04018
+204030ad
+ea208000
+c001aefa
+c003aefe
+20600000
+6800c79c
+c0002f0f
+c000af1a
+20600000
+ea408000
+c000af22
+c0002f27
+20600000
+44e0c018
+6800c789
+2feffe00
+24608000
+1a608c06
+e8c10000
+1ff0fe00
+1fe0f205
+1a608c03
+204030a1
+e0c08000
+1a622200
+20207777
+6800c757
+207a0000
+70479c01
+da6046e7
+20402f40
+da6046e0
+20402f42
+70477e04
+70478101
+da604779
+20202f02
+6800c79c
+207a0000
+70479c00
+20402f44
+70477e04
+70478100
+da604779
+20202f02
+70479d01
+70477e07
+70478101
+da604779
+20202f02
+70479d00
+70477e07
+70478100
+da604779
+20202f02
+6800c79d
+207a0000
+20202f0f
+ea210000
+60014789
+2feffe00
+24608000
+6800c79e
+207a0000
+70479e00
+680447b4
+60044494
+70478e02
+20402f6d
+20402f77
+70477e07
+6800c79d
+6000c781
+da604779
+20202f02
+da200001
+20202f43
+da200000
+20202f4a
+da200000
+20407653
+da200001
+20407653
+6800c79f
+20206311
+2040763e
+df200007
+20207660
+da6046b6
+da404698
+20402f54
+20402f42
+68014793
+60014791
+20202db7
+ea410000
+60014154
+e8c10000
+60014480
+20600000
+da200000
+204062e0
+6803479f
+60030a9a
+204062e8
+6800c79f
+20206311
+70479901
+20600000
+70479900
+20600000
+70479a00
+6800c79f
+20206311
+70479a01
+6803479f
+60030a9a
+202062e8
+70422d00
+202061e2
+20406225
+20406242
+600147ae
+da2047a8
+2040626a
+6000c7a7
+c0002f7c
+1fe67c64
+24212f7a
+6000c781
+70477e05
+da604779
+20202f02
+70478164
+20202f77
+20202dd7
+20758000
+68108081
+1fe17ef0
+60108081
+58002feb
+600141eb
+58002fed
+600141ed
+58002dc7
+600141f7
+58002fef
+600141f3
+58003003
+600141f5
+58002d8d
+600141e9
+580030a7
+600141f9
+5800302e
+600141fd
+58002fa6
+60014759
+58002fa8
+6001475d
+44e1c018
+20402fe1
+20407772
+70417202
+6800c7c9
+6000c698
+c0002fa7
+6800c7ca
+6000c684
+70436c00
+20402fc8
+2040760d
+20407617
+7047f101
+68014680
+c3860000
+20202dc7
+20202fc8
+7047f102
+70436c01
+20402fc8
+da200000
+20407658
+58000020
+2040402a
+d8a043b5
+6800c49e
+1fe104f0
+18518400
+20402fc2
+e0a88000
+1fe1040f
+20402fc2
+e0a88000
+204050e0
+6808c3ad
+18427200
+d8a04370
+d8c043ae
+2040783b
+6808c3ad
+18427200
+d8a04390
+d8c043ae
+2020783b
+18467c09
+20212fc6
+18408437
+20600000
+18408430
+20600000
+6800c7be
+c0ffafda
+6800c7bc
+c0ffafdd
+6800c7c7
+c0ffafdf
+6800c72a
+1fe27200
+5800472b
+1fe22200
+1a220c00
+e8c08000
+18c22200
+c07fafd8
+1fe20400
+20406148
+c2002fd2
+20600000
+680447be
+6004472d
+20202fca
+6000c72b
+20202fcc
+6000c72c
+20202fce
+20402df3
+7047a205
+da200000
+204062e0
+20403172
+20202fe7
+7047cd64
+6800c7c7
+6000c742
+202061e2
+2040616f
+202062a6
+202062a6
+202062b2
+20402ffa
+2040317c
+20402ff3
+20202fee
+68014680
+c3848000
+20600000
+6800c7e8
+c1008000
+7047e801
+2020300a
+68014680
+c4048000
+204051cc
+247a0000
+da204716
+2040778e
+24740000
+d8c04716
+20204080
+1a627e00
+c016adee
+c0082dd7
+c00a3009
+c00ab016
+20600000
+2020300c
+680147e9
+600147eb
+7047cc14
+70409100
+20402db5
+20402dd3
+6800c7bb
+c000b014
+da200000
+2020764e
+da200000
+20207653
+58000000
+6002c79a
+58000004
+20406311
+58000005
+20406311
+58000014
+20406311
+58000015
+20406311
+58000016
+20406311
+58000007
+20406311
+20407772
+70475c0a
+70475e0a
+7047600a
+70417202
+da200000
+20407658
+58000020
+2040402a
+20202db7
+20402d38
+20403079
+20403052
+2040303b
+20403034
+20203040
+da604798
+da403037
+20202d2a
+204031d5
+24608000
+70479901
+20600000
+da6047eb
+da40303e
+20202d31
+7047e802
+20203016
+da6047ef
+da403043
+20202d2a
+6800c7f0
+203a304f
+7047ef02
+7047f000
+58000a02
+60014750
+6800c7b7
+c001b04c
+202030f0
+58000a02
+60014752
+202030f0
+58000000
+60024750
+202030f0
+6800c7c6
+207a0000
+68014680
+c304b077
+da6047cc
+da403059
+20202d2a
+6800c7cb
+6000c7cc
+6800c7cf
+247a0000
+20406225
+20406242
+600147e6
+da2047e0
+2040626a
+6808c7cd
+98467c00
+20213067
+6000c7cd
+1fe20400
+6008c7ce
+6800c7c8
+98467c00
+20413072
+6008c7d9
+df200006
+d8c047d4
+204030a1
+6000c7da
+da2047d1
+20207777
+6800c7d0
+247a0000
+7047d001
+da200001
+20207658
+da200001
+20207653
+da6047a2
+da40307c
+20202d2a
+7047a205
+7047a400
+6800c7a3
+c000b09f
+c000309d
+d8c0479a
+18c22200
+df200008
+1a220c00
+e8c08000
+18c22200
+c0003094
+c000b097
+c001309a
+6800c7a4
+1fe0fe01
+6000c7a4
+c2003084
+20600000
+6800c7a4
+da4047be
+9a40a400
+ea488000
+20600000
+2040308f
+2040615f
+2020308a
+2040308f
+20406163
+2020308a
+6800c7a3
+c000b094
+20203097
+7047a301
+20203081
+7047a300
+20203081
+da200000
+e8c08000
+9a20a200
+c20030a2
+1a217eff
+20600000
+68008477
+c00930aa
+20600000
+68010478
+c00a30c1
+20600000
+44e34018
+ea228000
+60028b12
+68010b12
+d8406b5a
+98467c00
+24628000
+68010b15
+1ff0fe00
+60010b15
+1fe27200
+1a20a205
+1a220c00
+d8a00b17
+2040783b
+e8c08000
+60008b21
+da200b14
+da400b17
+20600000
+58000000
+6002c750
+6002c755
+204030ad
+1a420c00
+d8a04750
+df20000a
+2040783b
+44e3c018
+ea208000
+c00130d8
+c001b0ea
+c00230f0
+c002b0f0
+c003313f
+c003b1d7
+c00431da
+20600000
+68014680
+c3848000
+680147e9
+600147eb
+202030c1
+204030da
+202030dd
+6800c750
+6000c75d
+20203101
+6800c75c
+204030e2
+6800c751
+6000c75b
+202030fe
+c00130e6
+c001b0e8
+6000c75c
+20600000
+70475c05
+20600000
+70475c0a
+20600000
+6800c750
+204030e2
+6800c75c
+2040312c
+2040312f
+202062fe
+6800c7ee
+247a0000
+68034750
+6003475b
+6800c75c
+6808c75e
+98417e00
+6808c760
+98417e00
+205a3107
+44e44019
+204030fe
+20403101
+20203104
+da404761
+d8c0475b
+20203109
+da404769
+d8c0475d
+20203109
+da404771
+d8c0475f
+20203109
+7047cf00
+20600000
+e8c08000
+c0003115
+c000b10e
+c0013110
+20600000
+70477900
+20203111
+70477901
+e8c08000
+6000c77b
+ea440000
+2020311a
+ea408000
+20406311
+1a40a401
+ea408000
+20206311
+6004477c
+7047cf01
+6800c779
+c0003128
+6800c77d
+6000c77e
+6800c77c
+20406311
+6800c77b
+2040312c
+6000c783
+6803477e
+60030a9a
+202062e8
+6800c77c
+6000c77e
+6800c77d
+20203121
+1feffe05
+1fe0fe32
+20600000
+d8402ee0
+984ffe00
+1fe6fc64
+204078c0
+18078400
+18422200
+58002ee0
+98462400
+20600000
+68108082
+79207e02
+60108082
+5800009e
+60110068
+6011006a
+20600000
+6800c7ee
+247a0000
+68014750
+60014785
+6800c7e8
+c080b147
+6801449e
+60014785
+44e4c019
+20403138
+2040316a
+5800bb80
+20402a8f
+2040316e
+58001c20
+20402a8f
+df200010
+2040316a
+68014785
+c2803157
+58001c20
+20402a8f
+2040316e
+2020315a
+58003840
+20402a8f
+2040316e
+58001c20
+20402a8f
+68014785
+1fe37e00
+60014785
+c2003150
+7047ef02
+7047f001
+58000a01
+60014750
+6800c7b7
+c001b167
+202030f0
+58000a01
+60014752
+202030f0
+68108085
+1fe1fe40
+60108085
+20600000
+68108085
+1fe17ebf
+60108085
+20600000
+6800c7b9
+c1000000
+20402c61
+6808c7ba
+6008c784
+20406135
+204031d5
+24608000
+70479801
+20600000
+6800c7b9
+c1000000
+6800c799
+247a0000
+68014680
+c284b184
+6800c7e8
+c1808000
+44e5c019
+204031d5
+24608000
+58008ca0
+20402a8f
+204031d5
+24608000
+204031cd
+204031d0
+24610000
+204031d5
+2020b18c
+da200000
+df200010
+204031cd
+204031d0
+24610000
+204031d5
+2420b193
+58002a30
+20402a8f
+204031d5
+2020b1a0
+58000000
+1a232200
+9a21a200
+c2003193
+202031a9
+58008000
+1a232200
+9a21a200
+204031cd
+204031d0
+24610000
+204031d5
+2020b1a4
+c2003193
+44e64019
+1a227e00
+60014787
+60014795
+6800c7e8
+c000b1b5
+df200007
+d8c04790
+204030a1
+6000c797
+da20478d
+20207777
+6800c7ed
+1fe0fe01
+6000c7ed
+1fe6fc02
+204078c0
+18078400
+18077e00
+243a31c6
+6800c7bd
+98467c00
+2042b1cb
+dfe0479a
+184085ff
+9840a200
+dfe00000
+e2208000
+20600000
+dfe0479a
+9840a200
+dfe00002
+e2208000
+20600000
+7047ee01
+20600000
+1c427e00
+60024789
+20600000
+1c427e00
+680a4789
+98467e00
+1fe67cc8
+20600000
+6808c784
+20206157
+68044750
+6004479a
+20600000
+6800c7b7
+6000c7ad
+6800c7b8
+6000c7ae
+6800c7b9
+6000c7af
+df20000d
+d8c047a8
+204030a1
+6000c7b5
+da2047a5
+20207777
+20405efc
+7046f47a
+204031fb
+204031f5
+580031ee
+600141fd
+da200000
+202062e0
+6801469f
+207a0000
+1fe0ffff
+6001469f
+c1800000
+70469e00
+20600000
+44e6c019
+6800c6a2
+1fe67c28
+20610000
+7046a200
+20600000
+da2046a2
+da400000
+d8400051
+20205f19
+78547c00
+6800c6a1
+1fe27200
+da2046a3
+1a622400
+44e74019
+2040320a
+2022f921
+1a20a204
+c2003204
+20600000
+44e7c019
+ea218000
+ea498000
+98467c00
+20600000
+44e8401a
+ea218000
+ea498000
+98467c00
+24628000
+e8c08000
+1fe67c00
+20628000
+1a208c03
+e8c88000
+98467c00
+20600000
+44e8c01a
+78547c00
+6800c6a1
+1fe27200
+da2046a3
+1a622400
+2040320f
+2022f921
+1a20a204
+c2003221
+20600000
+68008004
+1fe0fe01
+60008004
+da6002e5
+ea610000
+d84055aa
+98467c00
+24628000
+18c22600
+ea698000
+58ffffff
+98467c00
+2022b236
+2040321b
+20343236
+20600000
+44e9401a
+1a60a604
+ea608000
+6808c6f4
+98467c00
+20628000
+6000c6f4
+68008003
+1fe0fe01
+60008003
+1a60a601
+ea608000
+6000c6f3
+1fe27200
+207a0000
+e8c08000
+c0003250
+c000b25d
+c0013262
+c001b267
+c002326c
+c002b271
+c0033276
+c07fb278
+c2003245
+20600000
+18c22600
+6800c698
+60008a9a
+d8400000
+60088a9b
+58002710
+60018a9c
+ea608000
+60008a9f
+204062e8
+1a610c01
+c2003245
+20600000
+1a620c00
+6800c699
+60008a9a
+d8400001
+20203254
+1a620c00
+6800c69a
+60008a9a
+d8400002
+20203254
+1a620c00
+6800c69b
+60008a9a
+d8400003
+20203254
+1a620c00
+6800c69c
+60008a9a
+d8400004
+20203254
+1a620c00
+6800c69d
+60008a9a
+d8400005
+20203254
+e8c08000
+20600000
+18c22600
+6800c69e
+c080b27c
+2040327e
+1a610c04
+20600000
+44e9c01a
+204031ff
+2034328c
+6800c6a2
+1fe20400
+1fe0fe01
+6000c6a2
+204031f5
+184b8400
+580046a3
+98408a00
+ea620000
+e0a20000
+20203291
+1a608c03
+e8c08000
+207a0000
+ea620000
+e2220000
+da2046a2
+da400000
+d8400051
+20205f40
+6808c698
+2040615f
+20600000
+6808c698
+20406163
+6808c698
+2040615f
+204032ab
+6800c6a5
+247a0000
+20402c29
+68120138
+793ffe0f
+6012004c
+20402c21
+d85fffff
+20202b2a
+6800c6a5
+203a5033
+1fe0ffff
+6000c6a5
+20205033
+1feffe14
+d8c046a6
+98c08c00
+e8c08000
+207a0000
+1fe22200
+1a227200
+d8a04370
+2040783b
+1a227e00
+1fe0fe02
+6000c36d
+20600000
+20758000
+204050dd
+204061e2
+58003311
+600141f3
+580032fd
+600141f1
+58003315
+600141f5
+580032fc
+600141ef
+580032f8
+600141e9
+58003446
+600141fb
+580035c1
+6001456d
+58003651
+600141f9
+58003666
+600141fd
+2040330e
+44ea401a
+20404548
+20205ddb
+204032f3
+20402c6b
+202035d7
+680246a8
+60120054
+680246ac
+6012005a
+68108081
+1fe1fe04
+1fe17efc
+60108081
+70806200
+680146a8
+60110058
+680146ac
+6011005e
+60110060
+68120078
+79207e07
+60120078
+68110050
+793ffe0f
+60110050
+20406008
+70804300
+70806281
+6800c6bd
+2feffe00
+68188062
+79208404
+60188062
+20600000
+2040330e
+202032d4
+6808c69c
+20406148
+20403375
+6808c69a
+20206135
+6808c69a
+20406157
+2420ad8f
+20202d8d
+20600000
+204032ff
+20203678
+6800c680
+c302330e
+44eac01a
+58003eff
+680a46c3
+98408400
+1c427e00
+98467c00
+24610000
+68014680
+c282b30e
+6800c6bd
+c3830000
+2040367b
+20402dcb
+1c427e00
+600246c3
+20600000
+20403678
+20404ba8
+247a0000
+2020337a
+1a627e00
+c000b363
+c0013332
+c0023366
+c002b353
+c0043339
+c004b340
+c0053358
+c005b345
+c0063351
+c009b366
+c00a335e
+c00ab355
+c010b359
+c011b35a
+c012335d
+c0183619
+c018b61b
+c0193629
+c019b627
+c01a3613
+c01ab602
+c01b3611
+c01bb61d
+c01c361f
+c01db630
+c01eb5f9
+c020b368
+20600000
+2040330e
+6800c663
+245a361d
+20403366
+68014680
+c4020000
+20203340
+68014680
+79207e04
+60014680
+6800c6a5
+6000c172
+20403375
+202035ac
+68014680
+c4020000
+793ffe04
+60014680
+202035b0
+2040330e
+68014042
+1fe37e00
+680941e3
+98467c00
+2422b34c
+20202dd3
+6800c6bd
+c3828000
+68110112
+245a367f
+20202dc9
+2040367d
+20202dd5
+2040330e
+2020336c
+20405150
+20403366
+202035b2
+20202d9a
+2020367d
+6800c6bd
+c302adcb
+20203681
+20203681
+204051f4
+2040336c
+6800c6a6
+6000c172
+202035ae
+70465f00
+2040367d
+20203681
+204033e1
+2020336a
+20405603
+2020543c
+6808c69c
+20206163
+2040336e
+20203375
+6800c69f
+2feffe00
+2040adad
+6800c69f
+2feffe01
+2040adb5
+20600000
+6808c69c
+2020615f
+6800c569
+c1000000
+20206562
+6810810c
+c281b377
+20406005
+e8608000
+c080b390
+68110112
+1fe67c02
+20610000
+e8608000
+60008b03
+e8688000
+18622200
+60088b04
+18408403
+68110112
+98460400
+24610000
+700b0501
+204033a6
+68008b05
+c1000000
+202033a1
+204077fb
+20403608
+20203393
+44eb401a
+68110112
+207a0000
+20406005
+e8608000
+1fe67c01
+2442b3a5
+2422b393
+e8608000
+c1028000
+c1148000
+186087ff
+204033a5
+20203393
+20406005
+18608602
+e8608000
+98608600
+20206002
+44ebc01a
+68008b03
+c00033ce
+c000b3d3
+c00133d8
+c001b3ee
+c00233fa
+c002b404
+c004b429
+c005b466
+c0063467
+c006b47b
+c0073483
+c007b489
+c0083495
+c008b49d
+c00934a1
+c01334a5
+c01434ac
+c014b4bc
+c01534c5
+c015b4f8
+c01634fe
+c0183505
+c018b50b
+c019351f
+c019b527
+c01a354a
+c01ab553
+c01b355c
+c01bb566
+c01c3569
+c0203571
+c021357b
+c0243580
+c024b58b
+c028b591
+c030b595
+c07fb5a4
+202035a6
+68008b04
+c08335a6
+e8630000
+600340a0
+202035a9
+68008b04
+c08335a6
+e8630000
+6003449e
+202035a9
+68008b04
+c080b5a6
+1a220600
+204035a9
+e8688000
+6008c6a7
+68014680
+c3848000
+c3800000
+6800c69f
+2feffe00
+2420b3e7
+6808c6a7
+18417e03
+6000c093
+6800c69f
+2feffe01
+24608000
+6808c6a7
+284ffe02
+2020adb7
+20202db5
+68008b04
+1fe67c43
+242135a6
+6000c513
+df200008
+20407800
+68008b04
+1fe27200
+1a220600
+d8a04514
+20406024
+202035a9
+68008b04
+1fe67c1d
+242135a6
+6000c3ad
+1fe27200
+1a220600
+d8a043ae
+20406024
+204050dd
+202035a9
+6800c680
+c30235a6
+20402d77
+2020b415
+700b0500
+2040330e
+6800c566
+207a0000
+68014571
+c0803413
+68008b04
+60014571
+1a220600
+18627e00
+6001456f
+20403417
+20206587
+700b0500
+20203660
+2040341d
+68014571
+6809469d
+98467e00
+60014571
+20600000
+68014571
+d840006e
+20407917
+6809456a
+20407917
+6809455c
+20407917
+6001469d
+20600000
+700b0501
+700b0305
+202035a9
+68014680
+c304b5a6
+20403463
+203435a6
+700b0500
+6800c6bd
+c2823443
+6800c6be
+247a0000
+700b0501
+e8610000
+600146bf
+18627e00
+600146c1
+68008b04
+1fe0fffe
+242135a6
+2022b5a6
+6000c6be
+700b0500
+2040514e
+20403446
+20403446
+20403446
+6800c6bd
+c4020000
+700b0501
+20403685
+202035a9
+6800c6be
+207a0000
+204051cc
+247a0000
+2040345e
+44ec401b
+1840fffd
+6808c6be
+20407917
+1fe22200
+18427e00
+9a267e00
+6000c6be
+680946bf
+2040539e
+680146c1
+1fe20600
+1a227200
+20406024
+18627e00
+600146c1
+6800c6be
+247a0000
+20203683
+d8400017
+6800c6bd
+c3808000
+680944a6
+20600000
+6800c6bd
+c281537c
+20207923
+202035db
+1a220600
+e8608000
+c000346e
+c000b471
+c0013477
+c001b479
+202035a6
+20405a65
+70465800
+202035a9
+58040003
+6001c659
+6000c660
+20405a5e
+70465801
+202035a9
+58040002
+20203472
+58040001
+20203472
+68008b04
+1fe67c10
+242135a6
+6000c687
+1fe27200
+d8a04688
+20406037
+202035a9
+1a220600
+e8608000
+68188062
+7d3a0404
+60188062
+202035a9
+68008b04
+1fe27200
+1a220600
+20407892
+5adc6c00
+9846fc00
+204078c0
+1807fe00
+60014241
+204035a9
+204078d8
+20206008
+da200002
+da404698
+d8400000
+202035b4
+60010ac2
+da400ac2
+d8400000
+202035b4
+68014680
+c30035a6
+204035a9
+20202da6
+68014680
+c304b5a6
+204035a9
+20202dbf
+68008b04
+1fe27200
+1a220600
+68014215
+1fe20a00
+20406024
+202035a9
+6800c680
+c30035a6
+e8608000
+6808c65f
+793a0400
+79200407
+6008c65f
+204035a9
+6800c65f
+c28334ba
+20600000
+70465f00
+700a9921
+202076c9
+c28058cf
+202034b7
+6800c680
+c4020000
+6800c569
+c1000000
+e8608000
+6808c567
+98408400
+6008c567
+20600000
+df200040
+d8a0436d
+2040780e
+58000000
+60008ab2
+1a220600
+18627e00
+60010ab6
+204034f3
+68008ab2
+68088aa2
+18408401
+9840fe00
+60008ab2
+1fe67c1f
+242134df
+6808c36d
+5800436e
+9840fe00
+60010abb
+68088aa2
+18408401
+6800c36d
+9840fe00
+6000c36d
+202034e8
+6808c38d
+5800438e
+9840fe00
+60010abb
+68088aa2
+18408401
+6800c38d
+9840fe00
+6000c38d
+68010abb
+1fe20a00
+68010ab6
+1fe20600
+18427200
+20406024
+68008b04
+68088ab2
+98467c00
+2422b4cb
+202035a9
+e8608000
+60008aa2
+e8608000
+60008aae
+20600000
+d8400000
+da200002
+680146b2
+60010ac2
+da400ac2
+202035b4
+68008b04
+c080b5a6
+e8608000
+6000c6b0
+58000000
+600146b2
+202035a9
+e8620000
+60024688
+70468704
+70466100
+204035a9
+2020586b
+68008b04
+c081b5a6
+e8608000
+c0003511
+c000b519
+202035a6
+e8688000
+e8608000
+c0013517
+7d3a0407
+20406135
+202035a9
+20406140
+202035a9
+e8688000
+2040614c
+e8608000
+2feffe00
+20406166
+202035a9
+68008b04
+c080b5a6
+e8688000
+20406157
+58000000
+7d20fe00
+da200001
+20203499
+1a220600
+e8608000
+1fe20400
+c040b532
+c0413537
+c041b53d
+6000c4c4
+c0003542
+c000b545
+c0013547
+202035a6
+6800c4bc
+203a35a6
+6008c4c4
+7044540d
+20203543
+6800c4bc
+203a35a6
+6008c4c4
+7044540d
+70445201
+202035a9
+6800c4bc
+203a35a6
+6008c4c4
+7044540d
+20203548
+70445400
+70445203
+202035a9
+70445405
+20203543
+70445405
+70445200
+202035a9
+68008b04
+1fe67c1f
+242135a6
+6000c36d
+1fe27200
+1a220600
+d8a0436e
+20406024
+202035a9
+68008b04
+1fe67c1f
+242135a6
+6000c38d
+1fe27200
+1a220600
+d8a0438e
+20406024
+202035a9
+68014680
+c304b5a6
+68008b04
+c08435a6
+1a220600
+e8640000
+60044494
+700a9912
+204076c9
+202035a9
+e8610000
+60014480
+202035a9
+6800c4c4
+203a35a6
+6800c4c2
+c08035a6
+6800c4c3
+c08035a6
+2040775f
+202035a9
+68008b04
+c082b5a6
+e8608000
+6000c6a0
+e8620000
+600246a1
+6808c6a0
+20406148
+2040364b
+202035a9
+68008b04
+c080b5a6
+e8608000
+6000c1de
+202035a9
+e8608000
+c000b589
+6800c4bf
+c001b587
+c0033587
+c003b587
+202035a6
+7044c001
+202035a9
+2040548d
+202035a9
+68008b04
+c080b5a6
+204035a9
+e8608000
+203a5a05
+20205a03
+204035a9
+204078d8
+70801001
+20202a8e
+68008b04
+c00035a6
+e8608000
+203a35a2
+68008b04
+c082b5a6
+e8620000
+d84f4240
+98467c00
+202135a6
+600244c5
+20405146
+202035a9
+20405148
+202035a9
+70409100
+202035a9
+d8400001
+da200000
+202035b4
+d8400000
+da200000
+202035b4
+700b0300
+202035d8
+700b0302
+202035d8
+700b0303
+202035d8
+700b0305
+202035d8
+68008b03
+1fe22600
+700b0306
+58000002
+9a20fe00
+20403636
+1a627e00
+e1408000
+e1488000
+1a227200
+1a420c00
+2040601e
+20205fff
+2040330e
+700b0307
+680084ff
+207a0000
+20403636
+680084ff
+1fe27200
+68010501
+1fe20c00
+2040600b
+20205fff
+700b0308
+6800c6b4
+1fe27200
+1fe0fe02
+20403636
+680146b7
+e1410000
+680146b5
+1fe20c00
+2040600b
+20205fff
+700b0309
+58000000
+20403636
+20205fff
+700b030a
+58000001
+20403636
+204035ec
+68014680
+d8e00002
+afefffff
+79208403
+d8e00009
+afefffff
+79208405
+6800c680
+d8e00004
+afefffff
+79208404
+e1488000
+20205fff
+d8400000
+6800c093
+d8e00000
+afefffff
+79208400
+d8e00001
+afefffff
+79208401
+6800c36c
+d8e00000
+afefffff
+79208402
+20600000
+700b030d
+6800c217
+1feffe22
+1fe27200
+20403636
+68014215
+1fe20c00
+2040600b
+20205fff
+700b030e
+58000004
+20403636
+680209ba
+e1420000
+20205fff
+700b030f
+68110112
+d84000ff
+20407917
+1fe27200
+20403636
+20406005
+2040603d
+20205fff
+700b0310
+202035d8
+700b0311
+58000004
+20403636
+680244c5
+e1420000
+20205fff
+da200180
+20203620
+da200080
+20203620
+da200101
+20203620
+da200001
+70465f00
+700b0314
+58000002
+20403636
+1a227e00
+e1410000
+20205fff
+da600000
+2020362a
+da600001
+700b0315
+58000001
+20403636
+1a627e00
+e1408000
+20205fff
+700b031d
+58000004
+20403636
+680209ba
+e1420000
+20205fff
+700b0202
+60008b04
+600c0aa2
+44ecc01b
+20403640
+680c0aa2
+20405ffc
+68018b02
+e1418000
+20600000
+20403649
+20608000
+20403647
+680246a1
+1feb7e00
+207a0000
+2020364d
+6808c6a0
+20206163
+6808c6a0
+20206155
+6808c6a0
+2020615f
+1fe0ffff
+20000026
+243a364d
+20600000
+20403463
+20740000
+1a227e00
+600146b5
+1a427e00
+6000c6b4
+68010478
+680946b9
+98467c00
+2022b65e
+680946bb
+98467c00
+24628000
+600146b7
+202035cc
+6800c6bd
+c3828000
+2040367f
+20202dc9
+70417202
+20600000
+20203667
+6800c6b0
+207a0000
+6800c6b1
+207a0000
+1fe0ffff
+6000c6b1
+247a0000
+7046b10a
+20406225
+20406242
+1fe6fc64
+204078c0
+1807fe00
+18070400
+6000c6b2
+6008c6b3
+20600000
+204078ee
+20212d96
+20202d98
+d8e00006
+2020368b
+d8e00006
+20203687
+d8e00005
+2020368b
+d8e00005
+20203687
+d8e00004
+2020368b
+d8e00004
+20203687
+6800c6bd
+f93ffe00
+6000c6bd
+20600000
+6800c6bd
+f9207e00
+6000c6bd
+20600000
+204036c3
+20405d49
+20403a4a
+204036ed
+20405d4b
+20758000
+204036aa
+204036ad
+68008abd
+2fec0003
+2040b6d9
+d8400002
+20406148
+d8400006
+20406148
+d8400002
+20406163
+68014680
+c2863c27
+20203c1a
+680246d1
+c40d8000
+df200014
+58030d40
+20402a8f
+c20077fb
+20600000
+680246d1
+c4080000
+20204224
+58003af0
+600141ef
+580038fe
+600141f1
+58003842
+600141ed
+58003b00
+600141f5
+58003770
+600141f3
+5800383a
+600141eb
+580036e2
+600141f9
+58003b72
+600141fd
+580036c0
+60014201
+20600000
+680246d1
+c3095e11
+20205e14
+20758000
+204037f5
+20402df3
+204037ac
+204037db
+2040514a
+20405173
+20405166
+20405152
+680246d1
+c28a36d0
+c289bd82
+20600000
+20405ed6
+680246d1
+2feffe19
+2440defc
+20403dac
+20403750
+d8400004
+da40005b
+20205f19
+6800c71a
+6000c719
+6800c6f3
+c3830000
+680246d1
+c4088000
+c0002df3
+c000adf3
+20202a8c
+68008478
+1fe67e1a
+24628000
+700a9912
+204076c9
+d8e00000
+20203b2e
+6800c6b4
+c1008000
+7046b401
+20600000
+6800c6df
+1fe17e0f
+6000c775
+20203707
+6808c6e5
+20406157
+2420b6e9
+6800c6b4
+c1000000
+7046b400
+6800c775
+1fe0fe01
+1fe17e03
+6000c775
+20403705
+680246d1
+c28a3da8
+c289b700
+20600000
+d840001e
+20406148
+d840001f
+20406148
+20203da2
+44edc01b
+20403bc3
+6800c6de
+c002b731
+c002371d
+6800c775
+c0003711
+c000b70f
+c0013713
+c001b715
+6800c77b
+20203745
+6800c77a
+20203745
+6800c77c
+20203745
+6800c77d
+20203745
+6800c6de
+c1030000
+6800c6b3
+1fe0fe01
+6000c6b3
+20600000
+6800c775
+c0003724
+c000b722
+c0013726
+c001b728
+6800c77f
+20203729
+6800c77e
+20203729
+6800c780
+20203729
+6800c781
+6000c6b3
+1fed7e00
+1fe22200
+1fe0fe0d
+20405d4d
+1a227e00
+1fe0fe0e
+20205d4d
+6800c775
+c0003738
+c000b736
+c001373a
+c001b73c
+6800c783
+2020373d
+6800c782
+2020373d
+6800c784
+2020373d
+6800c785
+6000c6b3
+20403a44
+6800c6b3
+1fe0fe80
+1fed7e00
+1fe0fe05
+1fe22200
+20203add
+6000c6b3
+20403717
+6800c6b3
+58000006
+20405d4e
+1fe104f8
+6800c6b3
+9840fe00
+1fed7e00
+1fe0fe06
+20205d4d
+20402d81
+2022bc89
+20403d8a
+20403c57
+20202d7a
+6800c702
+247a0000
+680246d1
+c4088000
+c3818000
+20403a0d
+c1838000
+20403dee
+20407769
+d8e00003
+20403d40
+58000000
+600146ac
+6000c6b2
+20403cf3
+20202df3
+68008003
+1fe17efe
+205a376c
+68008003
+1fe17efe
+245a376e
+20600000
+d8400006
+2020615f
+d8400006
+20206163
+20403765
+20403755
+2040776e
+204036f1
+20403777
+20403867
+20203785
+680246d1
+c4080000
+2040420d
+20204237
+68108a04
+c303b77f
+c283b782
+20600000
+6800c6fa
+c4038000
+20205ed4
+6800c6fa
+c3838000
+20203cf3
+2040377b
+68108a04
+6000c6fa
+c4038000
+20403795
+680246f4
+6808c6f8
+98408400
+1c427e00
+98467c00
+24610000
+600246f4
+2040391f
+24740000
+700d3804
+2020379d
+680a46f4
+1c427e00
+98467c00
+2441379a
+20600000
+58000000
+600246f4
+20600000
+68008d38
+c4010000
+202037a0
+68108a04
+c4038000
+700d5220
+58000001
+60008d54
+6803c698
+e0a38000
+20600000
+68110050
+793ffe0b
+60110050
+20600000
+58008c00
+60014573
+58008e7a
+600144ba
+58002402
+600140bd
+58002580
+6001c0aa
+70417303
+70415608
+7046d701
+58000200
+60014154
+7044a417
+7044a617
+58000a77
+60014212
+70471b01
+58332211
+6001c71d
+6001c73a
+6001c757
+58665544
+6001c720
+6001c73d
+6001c75a
+58000034
+6000c71c
+6000c739
+6000c756
+38000306
+38044440
+38090000
+380c4408
+6004c575
+38001224
+38044000
+38080000
+e0a28000
+3803ffff
+3806fe23
+380999d9
+380c020d
+60044098
+5800012c
+60014702
+202050dd
+6800c22d
+c00037e0
+c000b7e9
+c00137f2
+202037e0
+68094221
+68014227
+98467e00
+1feffe14
+1fe6fc64
+204078c0
+1807fe00
+600146ce
+20600000
+6809421f
+68014225
+98467e00
+1feffee6
+1fe6fd90
+204078c0
+1807fe00
+600146ce
+20600000
+68014223
+600146ce
+20600000
+6808c23a
+20406148
+20404235
+6808c6e0
+20406135
+6808c6e1
+20406135
+6808c6e2
+20406135
+6808c6f1
+20406135
+6808c6da
+20406148
+6808c6e6
+20406135
+6808c6e7
+20406135
+6808c6e8
+20406135
+6808c6e9
+20406135
+6808c6e3
+20406135
+6808c6e4
+20406135
+6808c6ed
+20406148
+6808c6ee
+20406148
+6808c6ef
+20406148
+6808c6f0
+20406148
+6808c6f2
+20406148
+6808c6eb
+20406135
+6808c6ea
+20406135
+6808c6e5
+20206135
+6808c6e6
+20406117
+6808c6e7
+20406117
+6808c6e8
+20406117
+6808c6e9
+20206117
+6808c6e6
+2040382e
+6808c6e7
+2040382e
+6808c6e8
+2040382e
+6808c6e9
+2020382e
+18467cff
+20628000
+18410e7f
+6812011c
+afefffff
+68120078
+f920fe00
+60120078
+6812007c
+fd20fe00
+6012007c
+20600000
+78347c00
+68120138
+79347e1a
+6012004c
+20402c21
+20403dee
+20403826
+20203846
+20403846
+680080a0
+247a0000
+20206127
+20403867
+d8400019
+680246d1
+2feffe12
+2040b865
+20406148
+20405d28
+6808c6e0
+20406117
+6808c6e1
+20406117
+6808c6e2
+20406117
+6808c6e3
+20406117
+6808c6e4
+20406117
+6808c6e5
+20406117
+6808c6eb
+20406117
+6808c6e6
+20406117
+6808c6e7
+20406117
+6808c6e8
+20406117
+6808c6e9
+20406117
+6808c6f1
+2020611b
+d840001e
+20600000
+44ee401b
+20403875
+204038bd
+6800c6b6
+6808c6b5
+6000c6b5
+98467c00
+2422ad91
+6800c6bc
+6808c6bb
+6000c6bb
+98467c00
+2422ad91
+20600000
+6800c6e8
+c17f8000
+da200000
+6808c6e8
+20406157
+7920a200
+6808c6e9
+20406157
+7920a201
+1a227e00
+6000c6b6
+c000b885
+c0013889
+6800c6b7
+c283b895
+20600000
+6800c6b5
+c000388d
+c001b88f
+20600000
+6800c6b5
+c0003891
+c001b893
+20600000
+7046b782
+20600000
+7046b781
+20600000
+7046b780
+20600000
+7046b783
+20600000
+6800c6b7
+793ffe07
+6000c6b7
+c000389d
+c000b8a0
+c00138a3
+c001b8a6
+20600000
+6800c6b6
+c001b8a9
+20600000
+6800c6b6
+c00038a9
+20600000
+6800c6b6
+c001b8b3
+20600000
+6800c6b6
+c00038b3
+20600000
+6800c6ba
+1fe0fe01
+6000c6ba
+1fe67c01
+20610000
+7046ba00
+6800c6b8
+1fe0fe01
+6000c6b8
+20600000
+6800c6b9
+1fe0fe01
+6000c6b9
+1fe67c01
+20610000
+7046b900
+6800c6b8
+1fe0ffff
+6000c6b8
+20600000
+6800c6e6
+c17f8000
+da200000
+6808c6e6
+20406157
+7920a200
+6808c6e7
+20406157
+7920a201
+1a227e00
+6000c6bc
+c000b8cd
+c00138d1
+6800c6bd
+c283b8dd
+20600000
+6800c6bb
+c00038d5
+c001b8d7
+20600000
+6800c6bb
+c00038d9
+c001b8db
+20600000
+7046bd82
+20600000
+7046bd81
+20600000
+7046bd80
+20600000
+7046bd83
+20600000
+6800c6bd
+793ffe07
+6000c6bd
+c00038e5
+c000b8e8
+c00138eb
+c001b8ee
+20600000
+6800c6bc
+c001b8f1
+20600000
+6800c6bc
+c00038f1
+20600000
+6800c6bc
+c001b8f6
+20600000
+6800c6bc
+c00038f6
+20600000
+7046c000
+6800c6be
+1fe0fe01
+6000c6be
+20600000
+7046bf00
+6800c6be
+1fe0ffff
+6000c6be
+20600000
+58000002
+6000c67e
+20600000
+6800c1e2
+207a0000
+20404bab
+247a0000
+680246d1
+c281b912
+c2803912
+c282b912
+2040391f
+24740000
+20403915
+da200009
+2040469d
+6801424c
+e0a10000
+580002a1
+e0a10000
+6803c698
+e0a38000
+20600000
+58000000
+6003c698
+20203909
+680146a8
+600146ae
+20600000
+44eec01b
+da200007
+6809446d
+2040539e
+6803c698
+e0a38000
+20600000
+44ef401b
+78547c00
+58000000
+60034699
+2040393c
+20403a03
+20403a08
+20403a23
+24740000
+d8e00008
+20203d40
+68014699
+1fe67e00
+60014699
+20207921
+6801469b
+1fe67e00
+6001469b
+20207921
+6801469b
+1fe67e00
+6001469b
+68014699
+1fe67e00
+60014699
+2040398b
+20207921
+2040398b
+20207921
+6800c239
+c1800000
+6800c6de
+c000396a
+c000b96a
+c001396a
+c001b96a
+c002394b
+c002b999
+c003396a
+2020396a
+6800c6a5
+205a39e7
+7046a501
+20600000
+20403947
+6808c6f1
+20406157
+24608000
+58000000
+20405d4e
+c0983a55
+58000002
+20405d4e
+c4038000
+204039e7
+20403966
+6000c69f
+1ff1fe00
+20403aec
+6000c69a
+6800c69f
+1fe17e0f
+20403aec
+6000c69c
+6800c6df
+1ff1fe00
+c000392a
+c000b932
+c001392e
+c001b93a
+20600000
+58000012
+20205d4e
+c018b972
+20203a55
+20403947
+78547c00
+6808c6f1
+20406157
+24608000
+58000000
+20405d4e
+c0983968
+58000002
+20405d4e
+c4038000
+204039e7
+6800c699
+20403ae8
+60014699
+6800c69b
+20403ae8
+6001469b
+6800c6df
+1ff1fe00
+c0003983
+c000b985
+c0013987
+c001b989
+20600000
+2040392a
+20203a37
+20403932
+20203a37
+2040392e
+20203a37
+2040393a
+20203a37
+6801469b
+68094699
+60014699
+6009469b
+20600000
+20405d49
+20000064
+1a427e00
+20405d4e
+1fe22400
+20405d4b
+20000064
+1a427e00
+20600000
+78547c00
+6808c6f1
+20406157
+24608000
+da400002
+20403990
+c4038000
+da400000
+20403990
+6000c6db
+c09f3ac8
+6800c6a5
+205a39c3
+7046a501
+204039c3
+6800c69f
+1ff1fe00
+20403aec
+6000c69a
+6800c69f
+1fe17e0f
+20403aec
+6000c69c
+6800c6df
+1ff1fe00
+c00039bb
+c000b9bf
+c00139bd
+c001b9c1
+20600000
+6800c6a2
+c00039db
+c000b9cf
+20600000
+2040392a
+202039b7
+2040392e
+202039b7
+20403932
+202039b7
+2040393a
+202039b7
+20405d49
+204039e7
+dfe00005
+20405d4e
+6000c69f
+dfe00007
+20405d4e
+6000c6a0
+dfe00008
+20405d4e
+6000c6a1
+20205d4b
+6800c6a0
+c1800000
+6800c6a1
+1fe67c2d
+20610000
+7046a200
+5800ba41
+20405d3f
+58000032
+20405d3f
+5800b541
+20205d3f
+6800c6a0
+c1800000
+6800c6a1
+1fe67c2d
+24610000
+7046a201
+5800ba41
+20405d3f
+58008032
+20405d3f
+5800b541
+20205d3f
+dfe00003
+20405d4e
+60014699
+dfe00004
+20405d4e
+6001469b
+20600000
+d840001b
+20406135
+d840001b
+20406157
+20608000
+68108109
+79207e04
+60108109
+20600000
+6808c6be
+68108109
+9840fe00
+207a0000
+6000c69d
+7046be00
+20207921
+6808c6be
+68108109
+9840fe00
+6000c6be
+20600000
+6800c6be
+207a0000
+6000c69d
+7046be00
+20207921
+6800c6b8
+207a0000
+6000c69e
+7046b800
+20207921
+da200000
+6808c6e0
+20406157
+7920a200
+6808c6e1
+20406157
+7920a201
+6808c6e2
+20406157
+7920a202
+20403a1a
+1a227e00
+20600000
+6800c6e3
+c17f8000
+6808c6e3
+20406157
+7920a203
+6808c6e4
+20406157
+7920a204
+20600000
+20403a0d
+20403a2c
+1a227e00
+6808c698
+6000c698
+9842fe00
+1fe67c00
+20628000
+20207921
+68014680
+c284ba31
+68014680
+c2803a34
+20600000
+1a227e00
+243a515a
+2020515c
+1a227e00
+243a2bc7
+20202bc9
+44ed401b
+d840001a
+680246d1
+2feffe12
+2040ba42
+20406157
+20608000
+5800000a
+20405d4e
+200003e8
+20203a37
+d840001f
+20600000
+680246d1
+c2893a48
+d840001a
+20206138
+d840001f
+20206138
+204036c0
+20758000
+20403a44
+6800c6de
+c002ba58
+20403a5c
+c0183a63
+c018ba6d
+20403a55
+200003e8
+20203a4f
+680246d1
+c2895d1a
+20205d0b
+20403a5c
+c01f3ace
+20403ac8
+20203a58
+58000001
+20405d4e
+6000c6dc
+58000000
+20405d4e
+6000c6db
+20600000
+6800c6dc
+c068babc
+c0693a7b
+c0013a71
+c02a3a69
+20600000
+7046de02
+20600000
+7046de06
+20600000
+6800c6dc
+c0383a6b
+7046de01
+20600000
+7046de04
+20403a79
+58003426
+20405d4d
+58000419
+20405d4d
+58000009
+20205d4d
+58005a09
+20205d4d
+7046de03
+20403a79
+58000f0d
+20405d4d
+5800e31d
+20405d4d
+5800d27d
+20405d4d
+20403a85
+20203a9d
+5800351b
+20405d4d
+5800b428
+20405d4d
+58004629
+20405d4d
+5800962a
+20405d4d
+58008c2b
+20405d4d
+58006e2c
+20405d4d
+5800642d
+20405d4d
+58005f38
+20405d4d
+58000f39
+20405d4d
+5800323a
+20405d4d
+5800473b
+20405d4d
+58001042
+20205d4d
+58002e54
+20405d4d
+5800f255
+20405d4d
+5800f461
+20405d4d
+58007063
+20405d4d
+58005275
+20405d4d
+58004176
+20405d4d
+5800ed77
+20405d4d
+58002378
+20405d4d
+58004679
+20405d4d
+5800e57a
+20405d4d
+5800487c
+20405d4d
+5800777e
+20405d4d
+5800017f
+20405d4d
+5800000b
+20405d4d
+5800007f
+20405d4d
+20203a77
+7046de00
+20403a79
+5800100d
+20405d4d
+5800ed1d
+20405d4d
+5800807d
+20405d4d
+20403a85
+58000943
+20405d4d
+20203a9d
+6808c6da
+20406163
+204077fb
+6808c6da
+2040615f
+202077fb
+7046de05
+5800ba41
+20405d3f
+58000d11
+20405d3f
+5800041b
+20405d3f
+5800041c
+20405d3f
+58000f1d
+20405d3f
+58000032
+20405d3f
+5800b541
+20205d3f
+5800ba41
+20405d3f
+20000fa0
+5800ff7f
+20405d3f
+1a227e00
+20405d3f
+5800007f
+20405d3f
+5800b541
+20205d3f
+c4038000
+d840ff00
+9841fe00
+20600000
+c4018000
+d84000f0
+9841fe00
+20600000
+204051cc
+247a0000
+6800c6c3
+1fe17e03
+c1818000
+680246d1
+c281bafd
+c2803afd
+c282bafd
+2040391f
+24740000
+20403915
+20203918
+58000000
+6003c698
+20203918
+1a627e00
+c00a3b38
+c000bc3f
+c00abb52
+c0013b52
+c002bb4f
+c0083be4
+c0093c13
+c0033b4e
+c0023b45
+c009bb41
+c0053b3f
+c0172d8a
+c018bb29
+c0193b2b
+c01f3b15
+c013bd00
+c01cbb1a
+c01d3b16
+c01e3b19
+20600000
+20202dcd
+6800c719
+243a3dfe
+20202dc7
+20600000
+d8e00003
+20403d44
+58000000
+60014702
+7046a500
+6800c6de
+c002b9c3
+204039e7
+68008004
+c289bb27
+d8400004
+da40005b
+20205f0b
+6000c776
+20203da2
+d8e00002
+20203b2e
+7046c402
+d8e00001
+20203b2e
+6800c6c3
+f9207e00
+6000c6c3
+20600000
+6800c6c3
+f93ffe00
+6000c6c3
+20600000
+7046c300
+20600000
+6801420a
+793ffe00
+6001420a
+58000000
+600146ac
+20403915
+20203c3f
+20405d05
+20202d9a
+d8400002
+20406148
+d8400002
+2040615f
+6800c719
+243a3dfe
+68014680
+c2863c27
+680246d1
+c2802001
+c282bc27
+c281adf3
+20202d64
+202038fb
+20600000
+20403d32
+20205ed4
+44efc01b
+20403b60
+680246d1
+c2803b50
+c281adf3
+6800c719
+243a3dfe
+68014208
+c283bb6e
+c2802d66
+c280bb68
+c2813b6b
+c281bb6b
+20203c27
+58000000
+600446b5
+e0a20000
+7046b200
+7046a500
+7041e200
+70442700
+20600000
+c282bb6b
+c281bb6b
+20203c27
+68014680
+c2863c27
+20202d64
+20403b36
+68014208
+c2802d66
+20202d64
+20403baa
+20403bad
+20403bb0
+20403bb3
+20403bb6
+20403bb9
+20403bbc
+20403bbf
+20403bc9
+20403dc9
+20403db0
+20403ca6
+20403d17
+20403d5d
+20403b82
+20203d48
+6800c70c
+207a0000
+1fe0ffff
+6000c70c
+247a0000
+20203b88
+6800c70d
+c1000000
+c002bb8f
+20403b9e
+70470d05
+70470c05
+20600000
+20403ba5
+70470d04
+70470c05
+20600000
+58008006
+20405d4d
+200003e8
+70470c00
+70470d00
+20203a63
+5800a006
+20405d4d
+5800a005
+20205d4d
+70470c00
+6800c6de
+c0023b99
+58000106
+20405d4d
+5800a105
+20205d4d
+70470c00
+58000906
+20205d4d
+70470c05
+70470d01
+20600000
+da60467e
+da403c13
+20202d2a
+da6046aa
+da403bdd
+20202d31
+da6046ac
+da403bdf
+20202d31
+da6046ae
+da403be3
+20202d31
+da6046c2
+da403de4
+20202d2a
+da6046c4
+da403bd7
+20202d2a
+da6046ff
+da403bc2
+20202d2a
+da604702
+da403bc2
+20202d31
+20600000
+680246d1
+c40b8000
+7046dd0a
+6800c6f2
+6000c710
+20600000
+da6046dd
+da403bcc
+20202d2a
+6800c6f2
+6000c710
+58000190
+60014711
+60014713
+da200000
+6808c775
+18408401
+6008c70f
+70470e01
+20600000
+6800c6c3
+c3810000
+700a9912
+204076c9
+d8e00000
+20203b2e
+20403c3f
+20202dc7
+20402db3
+6800c719
+243a3dfe
+20202dc7
+20203cf8
+44f0401c
+7046b200
+20403cf8
+20403b36
+20203c27
+680341d0
+203a2da8
+20403bf6
+70016d17
+6800c658
+243a2d9e
+70016d04
+20202d9e
+680146a6
+600146ac
+20403bf6
+20402dd5
+2020772e
+580000c8
+60014711
+60014713
+20203bfd
+580003e8
+60014711
+60014713
+6800c71b
+c000bc02
+c0013c04
+c001bc06
+20600000
+6800c6ee
+20203c07
+6800c6ef
+20203c07
+6800c6f0
+60008aa2
+20403dee
+68008aa2
+6000c710
+da200000
+70470e01
+20207658
+da200000
+20207653
+da200000
+2020764e
+20203b36
+7041e201
+20402dd3
+20402dcf
+58000000
+6001467c
+6000c67e
+20202dcb
+20403cd2
+6800c71b
+6808c6fe
+98467c00
+2022bc23
+6800c210
+c019bbe9
+c01a3bf1
+20203c27
+204036dd
+6800c719
+243a3dfe
+20600000
+44f0c01c
+68014680
+c285bc2e
+680246d1
+c30c3c2e
+180a7e00
+6000c49f
+20402dd5
+68014685
+600146aa
+70016d06
+58000000
+600146ae
+600146ac
+d8e00007
+20403d40
+20403d3c
+6800c092
+2feffe01
+2040f72e
+6800c092
+2feffe00
+2040f717
+20203bfa
+44f1401c
+6800c092
+2feffe01
+2040bc47
+6800c092
+2feffe00
+2040bc4a
+20203dee
+58000000
+600146ac
+20207734
+58000000
+600146aa
+2020771c
+680246d1
+c4038000
+d8e00007
+20403d44
+20403c5b
+20403c6e
+680246d1
+c289bda2
+c28a3c57
+20600000
+d8400058
+da20471b
+da400000
+20205f0b
+68008185
+c01a3c5f
+c019bc62
+20600000
+6000c6c5
+6803044f
+20203c64
+6000c6c5
+68030040
+600346c6
+6803c6c5
+d8c0471c
+df200003
+e8cb8000
+98467c00
+2022bc83
+18c08c16
+c2003c68
+20600000
+da20471c
+6800c71b
+1fe0ffff
+1feffe1d
+9a20a200
+68008185
+e2208000
+c01a3c78
+c019bc7f
+20600000
+6803044f
+e0a30000
+d8c04417
+204077f9
+6803449e
+e0a30000
+20600000
+68030040
+e0a30000
+d8c041be
+202077f9
+18c08dfa
+18c20a00
+680b46c6
+18408403
+e0ab0000
+20600000
+d8400058
+da20471b
+da400000
+20405f19
+da20471c
+6800c71b
+6808c6fe
+98467c00
+20628000
+1fe0ffff
+1feffe1d
+9a20a200
+ea208000
+6000c210
+c019bc9a
+c01a3c9f
+20600000
+e8c30000
+600341d0
+d8a041be
+204077f9
+20206111
+e8c30000
+600341d0
+d8a04417
+204077f9
+e8c30000
+6003449e
+20600000
+6800c6f3
+c282bcbc
+c2833ccc
+20203caa
+20403a0d
+c0033cb1
+7046d61e
+6800c6d7
+c1008000
+7046d701
+20600000
+20403cb6
+6800c6d7
+c1000000
+7046d700
+20203d32
+6800c6d6
+207a0000
+1fe0ffff
+6000c6d6
+247a0000
+20203ce3
+6800c6eb
+c17f8000
+6808c6eb
+20406157
+2020bcc7
+6800c6d7
+c1008000
+7046d701
+680246d1
+c3830000
+20203ce3
+6800c6d7
+c1000000
+7046d700
+d8e00006
+20203d44
+68008004
+c4030000
+6800c71b
+c000bcdc
+c0013cdf
+20600000
+68008004
+c4030000
+6808c6eb
+20406157
+2020bcd9
+70471b01
+20600000
+6800c6fe
+6000c71b
+20600000
+6808c6eb
+2420bce3
+20600000
+6808c6eb
+20406157
+2020bcc7
+20600000
+6808c71b
+18408401
+6800c6d0
+98467c00
+24413d3e
+6008c71b
+7041bd00
+20403cec
+20203cf0
+d8400001
+da20471b
+da400000
+20205f40
+20403cf3
+20403d34
+20203b50
+68014680
+c283bd04
+c284adbf
+c2802da6
+20203c3f
+44f1c01c
+58000000
+600146ae
+68014680
+c284adbf
+68014680
+c2802da6
+20600000
+58000001
+60030040
+70018533
+20203c52
+20403d36
+20207769
+6800c6ea
+c17f8000
+6808c6ea
+20406157
+2020bd11
+6800c683
+6000c6d8
+6800c6d9
+c1008000
+7046d901
+20600000
+20403d27
+6800c6d9
+c1000000
+7046d900
+20407769
+20203d3a
+6800c6f3
+c2823d06
+20403a0d
+c003bd21
+6800c683
+6000c6d8
+6800c6d9
+c1008000
+7046d901
+20600000
+20403d27
+6800c6d9
+c1000000
+7046d900
+20407769
+20203d3a
+da6046d8
+da403d2a
+20202d2a
+d8e00006
+20403d40
+20402d14
+20203be4
+d8e00001
+20203d40
+d8e00001
+20203d44
+d8e00000
+20203d40
+d8e00000
+20203d44
+d8e00002
+20203d40
+d8e00002
+20203d44
+d8e00005
+20203d40
+d8e00005
+20203d44
+d8400001
+20600000
+680246d1
+f9207e00
+600246d1
+20600000
+680246d1
+f93ffe00
+600246d1
+20600000
+680246d1
+c40d0000
+6800c6cc
+1fe0fe01
+6000c6cc
+1fe67c0a
+20610000
+7046cc00
+20406225
+20406242
+6001470a
+da204704
+2040626a
+6800c231
+c280be0b
+c3003d5b
+20203d59
+d8e00004
+20203d40
+d8e00004
+20203d44
+680246d1
+c4020000
+6800c6ed
+6000c710
+6800c6cd
+1fe0fe01
+6000c6cd
+1fe67c14
+24413d6b
+c0013d6d
+c0023d70
+c0033d6d
+c0043d70
+20600000
+7046cd01
+20203d70
+da200000
+70470e02
+2020764e
+da200000
+70470e02
+20207653
+2040391f
+24740000
+da200007
+da404698
+20600000
+6808c6e5
+20406157
+2020bd80
+6800c6ff
+247a0000
+20403a0d
+247a0000
+20202df3
+7046ff0a
+20600000
+20403d91
+68014773
+d840aa55
+98467c00
+2022bd99
+60094773
+20403d8a
+20203da2
+6803449e
+60034733
+1fe0ff00
+60034750
+1fe0ff00
+6003476d
+20600000
+58004773
+d840471b
+98460400
+6801c6fb
+9840fe00
+d8400002
+da204773
+20205e9c
+5800477a
+d840471b
+98460400
+6801c6fb
+da20471b
+20405e9c
+20403c8d
+68024776
+20600000
+5800477a
+d840471b
+98460400
+da20471b
+6801c6fb
+20205e4e
+d8400001
+da204775
+da40005a
+20205f0b
+d8400001
+da204775
+da40005a
+20205f19
+680246d1
+c40b0000
+6800c700
+1fe0fe01
+1fe17e07
+6000c700
+c1838000
+68014680
+c2803dbb
+c284bdbb
+20600000
+44f2401c
+6800c701
+247a0000
+680246d1
+c4040000
+6800c6a3
+20405d35
+6000c6a4
+1fe67c10
+20213dc7
+70470100
+20600000
+7047011e
+20600000
+da604701
+da403dcc
+20202d2a
+6800c6a3
+20405d4e
+1fe67c10
+24610000
+680246d1
+c4040000
+d8e00008
+20403d44
+70417200
+7046c21e
+20403dee
+680246d1
+c28abddd
+6800c71b
+c000bdf5
+c0013de2
+20600000
+6800c71b
+c000bdf5
+c0013df8
+c001bdfb
+20600000
+6800c6ee
+20203c07
+70417220
+20203dee
+6800c6ee
+c17f8000
+6000c710
+20203c0e
+6800c6ef
+c17f8000
+6000c710
+20203c0e
+20403c0e
+20403de6
+20403dea
+6800c6f0
+c17f8000
+6000c710
+20203c0e
+6800c6ee
+6000c710
+20203c10
+6800c6ef
+6000c710
+20203c10
+6800c6f0
+6000c710
+20203c10
+6800c719
+1fe0ffff
+6000c719
+6808c71b
+18408401
+6800c6d0
+98467c00
+24413d3e
+6008c71b
+7041bd00
+20403cec
+20403c6e
+20203c1a
+20403dee
+58000000
+600400a1
+20202b1f
+44f2c01c
+20758000
+68108081
+1fe17ef0
+60108081
+20406282
+58003e48
+600141eb
+58003e4b
+600141ed
+58003e4e
+600141f3
+58003e51
+600141f5
+58002d8d
+600141e9
+58003e5e
+600141fd
+58003e3c
+60014759
+58003e38
+6001475d
+58003eb0
+6001470d
+44f3401c
+20403e44
+20407772
+70417202
+6800c729
+6000c698
+c0003e37
+6800c72a
+6000c684
+20403e3d
+2040760d
+20407617
+70475501
+68014680
+c3860000
+20202dc7
+70475502
+20403e3d
+da200000
+20407658
+20202a8c
+20203e3d
+44f3c01c
+6800c727
+c0ffbe42
+6808c704
+20206148
+6000c704
+20203e40
+68014751
+60014753
+20402df3
+20203e65
+2040616f
+20403e4b
+20202dc7
+202062a6
+20202df3
+202062b2
+20403e94
+20403e55
+20203e4d
+1a627e00
+c016adee
+c0082dd7
+20600000
+6800c760
+c1008000
+70476001
+da200000
+20207653
+da200000
+20407653
+20403e3d
+20202dc7
+20402d38
+20203e60
+6800c72b
+207a0000
+da604753
+da403e5a
+20202d31
+20403e6a
+60094718
+20403e6f
+6009471a
+20600000
+68014718
+6001471c
+20403e90
+20403e75
+6000c722
+6801471a
+6001471c
+20403e92
+20403e75
+6000c723
+20600000
+6801471e
+1fe22200
+6801471c
+20403e7e
+6800c717
+243a3e87
+24610000
+6809471c
+20600000
+98467e00
+20213e84
+1fe67e00
+70471601
+9a267c00
+20600000
+70471600
+9a267c00
+20600000
+24213e8e
+6800c716
+243a3e8c
+58000001
+20600000
+58000002
+20600000
+58000000
+20600000
+70422e33
+20206225
+70422e34
+20206225
+6800c728
+c1808000
+44f4401d
+70471701
+20403e6a
+68014722
+68094720
+98467c00
+20628000
+60014720
+20403ea0
+20203ea4
+6800c722
+203a3eaa
+1fe0ffff
+20203ea7
+6800c723
+203a3ead
+1fe0fe01
+1fe20e00
+da200001
+20203eb0
+d8e00000
+da200000
+20203eb0
+d8e00002
+da200000
+20203eb0
+1a227e00
+6000c75f
+68014751
+60014753
+6800c75f
+203a3ece
+44f4c01d
+da200000
+2040764e
+18e27e00
+c0023ef1
+c002bef3
+c0033ef5
+20403ed9
+c0003ec2
+c0013ec8
+c001bec2
+20600000
+18e27e00
+c0003edd
+c000bedf
+c0013ee1
+c001bee3
+20600000
+18e27e00
+c0003ee5
+c000bee8
+c0013eeb
+c001beee
+20600000
+44f5401d
+da200000
+20407653
+18e27e00
+c0023f0a
+c002bf0a
+20403ed9
+c0003ef7
+c0013efd
+c001bef7
+20600000
+6800c726
+6808c725
+9841fe00
+20600000
+70473201
+20203f0c
+70473202
+20203f0c
+70473401
+20203f0c
+70473402
+20203f0c
+70473201
+70473401
+20203f0c
+70473202
+70473402
+20203f0c
+70473202
+70473401
+20203f0c
+70473201
+70473402
+20203f0c
+70473601
+20203f0c
+70473602
+20203f0c
+70473f01
+20203f0e
+18e27e00
+c0003f03
+c000bf03
+c0013f05
+c001bf05
+20600000
+18e27e00
+c0003f07
+c000bf07
+c0013f07
+c001bf07
+20600000
+70473200
+20203f0c
+70473400
+20203f0c
+70473200
+70473400
+20203f0c
+70473600
+20203f0c
+da20472c
+20207777
+da204739
+20207777
+da204742
+2040778e
+24740000
+d8c04742
+e8c08000
+1fe22200
+da404743
+20600000
+20758000
+68108081
+1fe17efc
+60108081
+58003fee
+600141eb
+58003fed
+600141ed
+58002dc7
+600141f7
+58003feb
+600141f3
+58003f4c
+600141f5
+58003f46
+600141e9
+580040a4
+600141f9
+58003fc0
+600141fd
+58004063
+600146e5
+58004140
+600146e0
+58004141
+600146e2
+204050dd
+20404114
+204040c2
+204040a7
+20406282
+204040b4
+20407772
+20407642
+204040cd
+20404101
+44f5c01d
+20403f89
+6800c6db
+c0003f43
+6800c6dc
+6000c684
+20204148
+704684ff
+7046dd01
+20204013
+6800c6dd
+c0012d8d
+20404bb8
+6800c254
+243a2d8d
+20202d8f
+1a627e00
+c000bf60
+c0013f63
+c0023f6b
+c002bf6d
+c0033f6f
+c003bf72
+c0093f76
+c009bf7e
+c013bf7f
+c0173f82
+c01ebf83
+c00a3f92
+c00abf96
+c01fbf99
+c0203f9f
+c0083fa5
+c0163fa6
+c016bfb1
+20600000
+7046ab00
+7046aa00
+20600000
+20403f65
+20203f6b
+7041e200
+70467e00
+70420500
+7046aa00
+7046ab00
+20207772
+20402d66
+20203ffc
+20403ff0
+20202dc5
+58000002
+6000c67e
+20600000
+7046aa00
+58000001
+6000c6ab
+20600000
+6800c1e2
+c1008000
+7041e201
+20402dd3
+20402dd1
+20403ff0
+20402dc5
+20202dcb
+20203f6b
+58000005
+6000c6aa
+20600000
+20202d8a
+da400000
+6800c217
+1fef8422
+68014215
+1fe22200
+20205f40
+da400000
+6800c698
+c4008000
+6800c217
+207a0000
+1fef8422
+68014215
+1fe22200
+20205f19
+20403ff0
+58000000
+600146b5
+20202dc5
+20407772
+7046ae00
+20204013
+20407772
+7046ae01
+680446bf
+60044494
+20402dd3
+202053f9
+68014507
+c1000000
+680446c7
+207a0000
+60044494
+202053f9
+20204159
+6800c6db
+c1000000
+6800c6dd
+c1808000
+20403fac
+20202dc3
+7048dd01
+df20000b
+d8a048de
+d8c048c7
+2020783b
+6800c6db
+c1000000
+6800c6dd
+c000bfb6
+20204155
+6800c8dd
+c1808000
+7048dd00
+68014680
+c2802dc5
+c284adc5
+df20000b
+d8c048de
+d8a048c7
+2020783b
+20403fc6
+20403fcd
+20403fd8
+20403fe0
+20403fe3
+20203fe6
+da6046d9
+da403fc9
+20202d31
+7046dd02
+20402dc5
+2040402e
+20204145
+da6048ea
+da403fd0
+20202d2a
+68014680
+c284c145
+c2804145
+6800c8c7
+c000c145
+c0024145
+c002c145
+20202dc7
+da6046aa
+da403fdb
+20202d2a
+6800827f
+79207e00
+79207e07
+6000827f
+20600000
+da60467e
+da403f76
+20202d2a
+da6046ab
+da402da6
+20202d2a
+6800c6dd
+c1808000
+da6046b5
+da403ffc
+20202d31
+20404074
+202062b2
+202062a6
+2040616f
+20203fed
+6800c698
+c280bff8
+c2803ff4
+20600000
+680146d5
+600146d7
+600146d9
+20202db5
+680146d1
+600146d7
+600146d9
+20202dad
+6800c6dd
+c1808000
+6800c698
+c280c002
+c2804006
+20600000
+680146cf
+600146d7
+600146d9
+20202da8
+68014680
+c3848000
+680146d3
+600146d7
+600146d9
+680146b1
+2040402a
+20402dc1
+680246bb
+600248ca
+68014680
+c3858000
+20202db7
+6800c6dd
+c1808000
+6800c698
+c280c019
+c280401e
+20600000
+20404032
+203a3ffc
+20402dc3
+20402dad
+20202d9e
+680146b5
+680946b3
+600946b5
+247a0000
+680146af
+2040402a
+20402dc1
+680246b7
+600248ca
+68014680
+c3858000
+20202db7
+60014154
+1fe0fffc
+60014480
+20600000
+68014680
+c284adbf
+c2802da6
+20203ff0
+6800c217
+1fe27200
+68014215
+1fe22200
+ea210000
+c000403b
+1a20a222
+c2004036
+20207927
+e8c30000
+600341d0
+18c08c0a
+d8a041be
+204077f9
+20406111
+20207925
+20407923
+68014680
+c2804047
+c284c04a
+20600000
+6800c251
+c19f8000
+20207921
+6800c6ae
+207a0000
+20207921
+20407923
+68014680
+c3800000
+c3848000
+20207921
+6800c698
+c280c056
+c2804059
+20600000
+6800c093
+c1818000
+20204013
+20204013
+78567c00
+680146d7
+600146d9
+2040404d
+20344052
+20404042
+24740000
+78367c00
+20600000
+2040405a
+24760000
+1a227e00
+203a406a
+20402dc3
+da6046ef
+2020406c
+20402dc5
+da604717
+dfe00005
+98effe00
+9a60a600
+ea608000
+207a0000
+2040409c
+1a60a601
+2020406f
+68014680
+c284c078
+c2804088
+20600000
+204051cc
+247a0000
+2040409f
+24740000
+1fe0ffff
+1feffe05
+d840473f
+98408c00
+e8c08000
+1fe22200
+e8c90000
+204077df
+2040539e
+1a227200
+204077d9
+2020783b
+20404bab
+247a0000
+2040409f
+24740000
+1fe0ffff
+1feffe05
+d840479e
+98408c00
+e8c28000
+6002c799
+6800c799
+1fe22200
+2040469d
+6801424c
+e0a10000
+580000a1
+e0a08000
+6802479a
+e0a48000
+20600000
+60008a9a
+da200a9a
+20207777
+da200a9a
+2040778e
+24740000
+68008a9a
+20600000
+68010478
+c00c3f99
+20600000
+58000002
+6000c8e9
+58200008
+600246bf
+592c0005
+e0a20000
+7044a417
+5800001b
+600144f8
+2040514a
+20405166
+20405173
+20205152
+df200028
+d8a0473f
+d8c0949f
+2040782e
+df200028
+d8a0479e
+d8c094c7
+2020782e
+df20017e
+d8c0913a
+2020782e
+df2001e7
+d8c092b8
+2020782e
+204040e8
+24740000
+6800c69d
+204040ca
+6800c69e
+204040ca
+6800c69f
+202040ca
+207a0000
+1fe18480
+20206133
+204040e8
+24740000
+204040d1
+202040ee
+da200000
+6800c69d
+204040e3
+7d3a2200
+6800c69e
+204040e3
+7d3a2201
+6800c69f
+204040e3
+7d3a2202
+1a227e00
+6000c6a7
+6800c69c
+9a2ffe00
+6809469a
+9840fe00
+600146a8
+20600000
+207a0000
+1fe18480
+20406157
+2420f927
+20207925
+20407923
+6800c6a6
+247a0000
+6800c699
+207a0000
+20207921
+20405fa4
+680146a8
+da200ac2
+6808c69c
+20405fed
+20405fa7
+68008ac2
+1fe27200
+6000c3ad
+2040782e
+68008ac2
+1fe27200
+6000c513
+2040782e
+e8c08000
+6000c6e4
+e8c08000
+6000c6db
+20600000
+6800c698
+c4008000
+d8400003
+680146a2
+1fe22400
+da2046a4
+20405f19
+680946a4
+58001b3a
+98467c00
+24628000
+6800c6a6
+207a0000
+1fe20400
+680146a2
+1fe0a403
+da200ac2
+20405f19
+20204122
+680146a0
+207a0000
+20405fa4
+d8400001
+da2046a6
+20405fed
+6800c6a6
+207a0000
+680146a0
+1fe0fe01
+da200ac2
+6808c6a6
+20405fed
+20405fa7
+204040f4
+e8c10000
+207a0000
+1fe20a00
+e8c88000
+18427200
+2040783b
+20204123
+6800c698
+c4008000
+680146ac
+1fe22400
+d8400004
+da200ac2
+20405f19
+68008ac2
+c080c133
+58000001
+60008ac2
+18007203
+20405c47
+680146ac
+1fe22400
+d8400004
+da200ac2
+20405f40
+68018ac3
+6001c0a0
+6001c49e
+20600000
+20204013
+da200000
+da6048d2
+2040765e
+2040402e
+6800c8e9
+6000c8ea
+20600000
+58000000
+20404150
+70467701
+2040760d
+20407617
+68014680
+c3860000
+20202dc7
+6809423f
+e0408000
+e8a08000
+6000c683
+20600000
+6801423f
+efe08000
+c1800000
+20202dc7
+6809423f
+e8408000
+c000c164
+58000001
+6809423f
+e0408000
+18408c02
+e8c08000
+e0608000
+e8c10000
+202078d6
+58000002
+20404150
+18408c05
+e8c10000
+203a2dc7
+202078d6
+60030101
+68008101
+6000810c
+e8c08000
+6000810b
+e8c08000
+6000810a
+e8c08000
+60008109
+e8c08000
+60008108
+e8c08000
+60008107
+68030107
+20600000
+204061dc
+6800c223
+6000c49e
+6800c225
+e0a08000
+6800c227
+e0a08000
+6801c49e
+6001c0a0
+20600000
+68014203
+9a40fe00
+1ff0fe00
+600101f7
+18422400
+204041d5
+580000a0
+204041c7
+680081f7
+204041c7
+c5154190
+680081f8
+204041c7
+204041db
+204041d5
+580000a1
+204041c7
+204041b9
+e2208000
+1a20a201
+1a40a5ff
+2422c194
+202041db
+1a50fe00
+600101f7
+18422400
+204041d5
+580000a0
+204041c7
+680081f7
+204041c7
+c51541a5
+680081f8
+204041c7
+ea208000
+204041c7
+1a20a201
+1a40a5ff
+2422c1a5
+202041db
+df20000a
+204041f8
+204041e0
+2040420c
+20404201
+203a41e3
+c20041af
+202041e3
+204041e3
+204041e9
+2040420c
+204041e0
+2040420c
+202041e3
+df200008
+da600000
+204041f8
+204041e0
+2040420c
+1a63a600
+20404201
+9a60a600
+2040420c
+204041e3
+c20041bc
+204041b3
+1a627e00
+20600000
+df200008
+1fe22600
+204041e3
+2a6ffe07
+2040c1e6
+2440c1e9
+1a63a600
+2040420c
+204041e0
+2040420c
+204041e3
+2040420c
+c20041ca
+202041ab
+204041e6
+204041e0
+2040420c
+204041e9
+2040420c
+202041e3
+204041e9
+204041e0
+2040420c
+204041e6
+2020420c
+78347c00
+6800cffe
+202041ec
+78547c00
+6800cffe
+202041ec
+78347c00
+6800cfff
+202041ec
+78547c00
+6800cfff
+202041ec
+1fe10e07
+1fe97e00
+d8408070
+98408400
+e8408000
+f9207e00
+e0408000
+18408404
+e8408000
+f9347e00
+e0408000
+20600000
+6800cfff
+1fe10e07
+1fe97e00
+d8408070
+98408400
+e8408000
+f93ffe00
+e0408000
+20600000
+20000004
+6800cfff
+1fe10e07
+1fe97e00
+d840811c
+98408400
+58000000
+e8488000
+a84fffff
+7920fe00
+20600000
+20600000
+44f6401d
+68108a26
+2feffe07
+2040c224
+20404268
+68108a26
+60008b22
+68108a27
+60008b23
+60108a27
+1fe47e00
+68088d37
+98417e00
+60008d37
+708a26e0
+68008b23
+2fe00201
+2040c27b
+68008b22
+2fe00201
+2040c284
+2040449b
+2020423d
+44f6c01d
+20404253
+708a0000
+20002710
+708a10c0
+68110050
+793ffe0a
+60110050
+708a003c
+708a26ff
+708a27ff
+708a0400
+700c6b02
+58000d9e
+d8a00c6e
+98a67200
+2020780e
+68088c6c
+20206135
+68008d45
+207a0000
+68088c6c
+20406157
+2020c224
+20600000
+d8e00000
+20407850
+247a0000
+68008d46
+247a0000
+68008d45
+245a44f1
+20600000
+d8a00b68
+38011212
+38048000
+38080000
+380d0000
+e0a48000
+38022412
+38048604
+38081000
+380c0008
+e0a48000
+38000001
+e0a08000
+20600000
+700c6b02
+58000000
+60008b67
+60010c65
+1fe0fe01
+60010c67
+1fe0fe01
+60010c69
+58008ffa
+60010b7c
+5800903a
+60010b7e
+d8a00b80
+d8c090fe
+204077ed
+68008c6d
+245a4265
+20204245
+60008ba2
+60008bbb
+20600000
+68108a26
+c283426b
+20600000
+20404270
+2040784f
+58000280
+d8e00000
+20207842
+68008d36
+c0814275
+700d4600
+700d4700
+20600000
+68008d53
+207a0000
+700d5300
+700d3602
+700d4501
+20600000
+708a2701
+20204471
+68008b22
+c282428f
+20600000
+68108a18
+e0a08000
+c2004280
+20600000
+44f7401d
+708a2611
+68108a20
+60008b24
+1fe27200
+203a427d
+d8a00c6e
+20404280
+68008b24
+1fe67c07
+20610000
+68008c6e
+1fe17e80
+c0404294
+c000429c
+20202a8c
+68008c6e
+1ff1fe00
+1fe37e00
+1fe17e03
+c00042a4
+c000c2aa
+c00142af
+20202a8c
+68008c6e
+1ff1fe00
+1fe37e00
+1fe17e03
+c00042b0
+c000c2b8
+c00142bd
+20202a8c
+68008c6f
+c00442c4
+c00342da
+c0054324
+c0004336
+202042be
+68008c6f
+c0014369
+c000c36d
+c001c37f
+202042be
+202042be
+68008c6f
+c000c389
+c001c3b3
+c002c3dd
+c004c3f6
+c005c411
+c003c2be
+202042be
+68008c6f
+c0054422
+c004c433
+c005c44b
+202042be
+202042be
+68108a11
+79207e00
+60108a11
+202042c2
+708a1240
+20600000
+68008c6e
+c0c042be
+68008c72
+c08042be
+68008c73
+c08042be
+68008c74
+c080c2be
+68008c75
+c08042be
+68008c70
+c08042be
+68008c71
+c08042be
+68008c6b
+c00242d6
+c001c2d8
+202042be
+da400001
+2020434e
+da400001
+2020434c
+44f7c01d
+793f8023
+68008c71
+c000c2f0
+c0014309
+c001c30c
+c010c2e3
+c011431a
+202042be
+700d4b00
+68008c72
+c00042e8
+c000c2ec
+202042be
+da200b93
+ea208000
+98002400
+2020445b
+da200bac
+ea208000
+98002400
+2020445b
+68008d48
+245a4301
+58000b68
+68088b68
+60010d3f
+60088d41
+68008c74
+98467c00
+242142ff
+68008d41
+98002400
+68010d3f
+1fe0fe01
+98002200
+2020445b
+68008c74
+202042fa
+68108a04
+245a4305
+700d4800
+20600000
+68108a04
+79207e07
+60108a04
+20600000
+58000b80
+68088b80
+202042f4
+68008c70
+1fe67c03
+242142be
+68008c70
+da200be4
+c0004458
+79200023
+da200be9
+c000c458
+da200c07
+c0014458
+da200c47
+c001c458
+20600000
+68010c72
+c000c31f
+68010b7c
+1fe22200
+20204458
+700d4501
+700d3601
+68010b7e
+1fe22200
+20204458
+68008c6b
+c08242be
+68008c6e
+c0c0c2be
+68008c70
+c08042be
+68008c71
+c08042be
+68008c74
+c080c2be
+68008c75
+c08042be
+68008c72
+c08042be
+68008c73
+c08042be
+da400001
+2020434c
+68008c6b
+c00142be
+68008c70
+c08042be
+68008c71
+c08042be
+68008c74
+c08142be
+68008c75
+c08042be
+68008c73
+c08042be
+68008c6e
+c0404347
+c040c352
+c0414356
+202042be
+68008c72
+c08042be
+da400002
+68008d39
+c000c350
+da200c65
+2020445b
+da200c67
+2020445b
+da200c69
+2020445b
+68008c6b
+c08242be
+da400002
+2020434c
+68008c6b
+c08242be
+68008c72
+c040c363
+c0414365
+c041c367
+1fe17e7f
+c000435f
+202042be
+68008d3b
+da400002
+c000c34e
+2020434c
+68008d3c
+20204360
+68008d3d
+20204360
+68008d3e
+20204360
+700d4c01
+da200d4d
+da400001
+2020445b
+68010c70
+d84001ba
+98467c00
+2422c2be
+793f8023
+68008d42
+243a437c
+700cf600
+68008c74
+98002400
+da200cf6
+2040445b
+d8a00cf6
+df200008
+20207800
+700d4200
+700cf601
+20204375
+68008c74
+c080c2be
+700d4b01
+da400001
+68008d49
+c0004387
+c000c388
+2020434c
+2020434e
+2020434c
+68008c6b
+c08242be
+68008c74
+c08042be
+68008c75
+c08042be
+68008c71
+c08042be
+68008c73
+c08042be
+68008c6e
+c0004398
+c000c3a0
+c00143a1
+202042be
+68008c70
+c080c2be
+68108a00
+793ffe07
+60108a00
+700d3900
+700d3a01
+202042c2
+202042be
+68008c70
+c08042be
+68008c72
+c040c3ac
+c04143af
+c041c3b1
+1fe17e7f
+c00043aa
+202042be
+700d3b00
+202042c2
+700d3c00
+700d5301
+202042c2
+700d3d00
+202043ad
+700d3e00
+202043ad
+68008c74
+c08042be
+68008c75
+c08042be
+68008c6e
+c00043bc
+c000c3c9
+c00143ca
+202042be
+68008c70
+c080c2be
+68108a00
+79207e07
+60108a00
+700d3901
+700d3603
+700d4300
+204042c2
+2040784f
+58001388
+d8e0000f
+20207842
+202042be
+68008c70
+c08042be
+68008c71
+c08042be
+68008c72
+c040c3d7
+c04143d9
+c041c3db
+1fe17e7f
+c00043d5
+202042be
+700d3b01
+202042c2
+700d3c01
+202042c2
+700d3d01
+202042c2
+700d3e01
+202042c2
+68008c6e
+c08042be
+68008c72
+c08042be
+68008c73
+c08042be
+68008c74
+c08042be
+68008c75
+c08042be
+68008c71
+c08042be
+68008c70
+1fe17e80
+c08042be
+68008c70
+c08043f4
+700c6b02
+68008c70
+60108a04
+204042c2
+700d4801
+20600000
+700c6b03
+202043ef
+68008c6b
+c00142be
+68008c6e
+c08042be
+68008c72
+c08042be
+68008c73
+c08042be
+68008c74
+c08042be
+68008c75
+c08042be
+68008c71
+c08042be
+68008c70
+1fe67c01
+242142be
+68008c6b
+c001c40b
+c002440b
+202042be
+68008c70
+c000440f
+700c6b04
+202042c2
+700c6b03
+202042c2
+68008c6b
+c08242be
+68008c6e
+c080c2be
+68008c70
+c08042be
+68008c71
+c08042be
+68008c74
+c08042be
+68008c75
+c08042be
+68008c72
+c08042be
+68008c73
+c08042be
+202042c2
+700d4c01
+68008c71
+60008d4d
+68008c72
+1fe67c01
+2042c42f
+68008d36
+c08242c2
+700d3602
+204042c2
+20007530
+20007530
+20600000
+700d4501
+700d3a00
+700d3604
+20600000
+700d5001
+2040443d
+68010c70
+60010d4e
+68008c74
+98007200
+d8c00c76
+d8a00cb6
+2040783b
+202042c2
+68010c70
+d8400200
+98467c00
+24628000
+68010c72
+d8400000
+98467c00
+24628000
+68010c74
+d8400001
+98467c00
+24628000
+700d4301
+20600000
+68008c74
+c08042be
+68008c70
+c0004451
+c000c454
+202042be
+700d4a00
+700d4901
+202042c2
+700d4401
+700d4a01
+700d4900
+202042c2
+ea208000
+98002400
+1a20a201
+44f8401e
+c591c466
+1a40fe01
+1fe3fe00
+60108a18
+708a1803
+68008c74
+1fe0fffe
+1fe37e00
+60008c74
+c000446f
+68010c74
+9a467c00
+2021446a
+1fe22400
+1a227e00
+60010b65
+1a427e00
+60008b67
+20204471
+d8e00000
+20204491
+44f8c01e
+68008b67
+207a0000
+1fe27200
+1fe67c40
+20214478
+df200040
+68008b67
+9f267e00
+60008b67
+68010b65
+1fe20c00
+e8c08000
+60108a18
+c591c481
+708a1800
+c200447d
+18c27e00
+60010b65
+d8e00000
+20404491
+68008b67
+247a0000
+68008d36
+c1808000
+700d3602
+20600000
+da208a19
+d8e00001
+e8c08000
+e2208000
+c200448e
+58000000
+f9207e00
+60108a10
+68088d37
+9841fe00
+60008d37
+20600000
+d8e00002
+da208a1a
+2020448e
+44f9401e
+68008d38
+207a0000
+68008d37
+243a44e6
+68008d45
+203a44c0
+68008d36
+c001c4f9
+c08144c0
+68008d3a
+243a44c0
+204044a9
+202044b4
+68008d38
+c4008000
+68008d37
+c3808000
+68008d38
+793ffe01
+60008d38
+68008d51
+207a0000
+c00844e2
+20202a8c
+68008d38
+c4010000
+68008d37
+c3810000
+68008d38
+793ffe02
+60008d38
+68008d52
+207a0000
+c01044c3
+c010c4de
+20202a8c
+d8a00d54
+df200006
+20207800
+68008d4c
+68088d4b
+98417e00
+203a44da
+68088d4a
+9840fe00
+c000c4cb
+202044da
+700d5200
+68008d55
+c00144db
+c001c4db
+68008d55
+60008d54
+68008d56
+e0a08000
+68008d58
+e0a08000
+68008d5a
+e0a08000
+df200004
+d8c00d54
+20204498
+700d5200
+df200008
+d8c00d54
+20204498
+700d5200
+df200003
+d8c00d74
+20204498
+700d5100
+df200008
+d8c00d64
+2020448c
+68008d36
+c001c4ea
+c00144ec
+20600000
+700d3700
+20600000
+68108a00
+79207e07
+60108a00
+700d4701
+20600000
+68008d36
+c1018000
+c00144f5
+20600000
+68008d47
+207a0000
+700d4601
+202044fc
+d8e0000f
+20407850
+247a0000
+68108a00
+c4038000
+708a00fc
+20007530
+708a003c
+20600000
+44f9c01e
+6800c1ce
+247a0000
+20404508
+24544520
+20600000
+44fa401e
+18622200
+d8400004
+e8608000
+c000c512
+18408401
+c0014512
+18627e00
+60110058
+20600000
+68110112
+98467c00
+24214512
+78547c00
+1a220600
+20404528
+98408400
+68110112
+98467c00
+24214519
+1a220600
+e8608000
+c000c579
+20202a8c
+44fac01e
+68110058
+98000600
+20404528
+98608600
+18627e00
+60110058
+20600000
+e8608000
+18608602
+c001452d
+e8608000
+20600000
+e8610000
+20600000
+6811005e
+194095fb
+99409400
+20600000
+d8400004
+20204536
+d8400002
+44fb401e
+1f20f201
+6811005e
+1fe21400
+1f227e00
+e1488000
+1fe0ffff
+99409400
+19427e00
+60010258
+18427e00
+c1010000
+68010258
+6011005e
+20204545
+58000000
+60010258
+20600000
+20758000
+58004662
+600141f3
+580001a0
+60014241
+58001800
+60110054
+58001bff
+60110056
+58001c00
+6011005a
+20404562
+70806200
+58001c00
+6011005e
+60110060
+58001800
+60110058
+60010244
+68110050
+793ffe0f
+60110050
+20406008
+70804301
+70806281
+20600000
+58001fff
+6011005c
+68108081
+1fe1fe07
+60108081
+20600000
+44fd401f
+6810810c
+98002400
+c301c571
+68110112
+98002600
+d840044f
+98467c00
+24628000
+68110058
+98000600
+20204502
+6818810c
+284ffe06
+2020c574
+60108015
+20600000
+44fdc01f
+6800c1ce
+203a457e
+78347c00
+20600000
+e8610000
+98006000
+98000e00
+e8608000
+98000400
+1e0b7e00
+1fecfe00
+c01fc587
+20600000
+44fe401f
+18e27e00
+c0004616
+c000c5a0
+c00145a5
+c001c5b4
+c00245ed
+c002c616
+c0034600
+c003c596
+c0084603
+c008c60b
+c00945df
+c009c5bf
+20204616
+20404616
+204078d8
+204061c6
+20402d8f
+20402d96
+202061c9
+70424300
+20402d8d
+2040454d
+20202d98
+2040462c
+68110000
+e1410000
+18007206
+20204617
+e8610000
+60014241
+60110052
+20600000
+e8608000
+1fe20400
+60108024
+e8608000
+98408400
+79207e07
+60108023
+e8608000
+98408400
+1fe27200
+20600000
+c516c5fe
+204045a9
+e8608000
+60108025
+98408400
+c20045b6
+184104ff
+e8608000
+98467c00
+2422c5fe
+20204616
+c596c5fe
+204045a9
+60040a9a
+20406d5c
+df200010
+d8a00ac2
+204045da
+600c0aa2
+d8a00ad2
+20406dd1
+da200ad2
+da400ac2
+d8a00ae2
+20406c8c
+df200010
+d8c00ae2
+204045d6
+680c0aa2
+68040a9a
+1fe0fff0
+60040a9a
+243a45c2
+202045ba
+e8c08000
+60108025
+c20045d6
+20600000
+e8608000
+e0a08000
+98408400
+c20045da
+20600000
+c596c5fe
+d8400000
+df200010
+d8a00ac2
+204045da
+68108085
+1fe17efd
+60108085
+d8c00ac2
+df200010
+20406db2
+20406d62
+20406dcb
+202045ba
+df200020
+d8a04000
+d8400000
+e8608000
+e0a08000
+98408400
+c20045f0
+184104ff
+e8608000
+98467c00
+2422c5fe
+70802300
+20404616
+20404520
+20405ddd
+204078d8
+20202001
+70802300
+20202000
+e8630000
+600340a0
+20204616
+e8608000
+6000825a
+1fe27200
+e8610000
+6001025b
+1fe20a00
+20406037
+20204616
+e8608000
+6000825a
+1fe27200
+e8610000
+6001025b
+d8a01000
+20406037
+6808825a
+da201000
+6801025b
+20205f42
+18007204
+2040462e
+18007e01
+e1408000
+1e027e00
+e1418000
+18000e0e
+44fec01f
+20404630
+18e27e00
+e1408000
+1f227e00
+e1408000
+18000e05
+1f20f202
+20204533
+18000eff
+2040462e
+58000001
+e1408000
+18007201
+2020461d
+1800140c
+20204631
+18001408
+20204631
+18001406
+2020452f
+7827fc00
+7824fc00
+e9408000
+08008008
+c2004634
+78247c00
+08008010
+78447c00
+7844fc00
+7847fc00
+1ff0fe00
+20600000
+7041ce00
+20600000
+680341d0
+680b0040
+98467c00
+20600000
+6800804b
+c2814649
+20405c29
+70007c08
+2020463e
+793ffe02
+6000804b
+2040593b
+58000000
+7934fe01
+6000807f
+2020463e
+20600000
+70007c17
+d8a004d9
+58000000
+2d0ffe1b
+7920fe01
+e0a08000
+58000000
+e0a10000
+680141e3
+e0a10000
+6800c1e5
+e0a10000
+6800c1e7
+e0a10000
+2020463e
+70007c18
+2020463e
+204061d3
+20608000
+d8400007
+20406157
+2420c669
+70424301
+20600000
+6800c243
+c1808000
+2040459c
+20204626
+44ff401f
+68010264
+1fe20c00
+e8c08000
+1fe1040f
+1ff1fe00
+c004c68d
+c003c68d
+c0054699
+c002c685
+c000c679
+20600000
+18427e00
+c002c67d
+c001c684
+20600000
+700a9927
+204076c0
+6800c092
+c4030000
+18427e00
+c002bd00
+20600000
+20600000
+20404699
+da200001
+2040469d
+6801424a
+e0a10000
+58000000
+e0a08000
+20600000
+da200001
+2040469d
+6801424a
+e0a10000
+58000000
+e0a08000
+700a8e01
+6800c250
+79207e06
+6000c250
+700a9912
+202076c0
+e8c08000
+c000c69c
+20600000
+20600000
+20404b7a
+1a220400
+60088a8e
+1fe20a00
+1a227e00
+e0a10000
+20600000
+2035c6a9
+58004363
+d8a04244
+98a67200
+2040780e
+44ffc01f
+58000551
+d8a00511
+98a67200
+2040780e
+580002c9
+d8a0025d
+98a67200
+2040780e
+20204c52
+47004020
+18c20400
+18420c00
+e8c10000
+60010266
+e8c10000
+60010268
+18c27e00
+60010264
+6800c67f
+c00046bf
+20204a29
+68010266
+203a4736
+4700c020
+68008268
+c000c6d7
+c028471a
+c028c72f
+c029472d
+c029c72d
+20204736
+47014020
+20404bb8
+6800c254
+c00046d5
+c000c6d5
+c00146d5
+c001c6d5
+c040c6d5
+c06046d5
+c04046d5
+c02046d5
+20600000
+58000000
+20600000
+204046c9
+247a0000
+20404bf2
+2040473b
+6809026f
+203a4735
+20404bfb
+6801026f
+e0a10000
+18007e01
+e0a10000
+20204736
+6800c362
+207a0000
+1fe22200
+4701c020
+680202d5
+d8400100
+98408400
+1c427e00
+98467c00
+24610000
+70436200
+1a227e00
+c02846f1
+20202a8c
+d9000000
+20404bf2
+204047b4
+20404bfd
+204077e2
+204047e7
+20404bfb
+5800000c
+e0a10000
+18007e01
+e0a10000
+20204736
+47024020
+68010275
+1fe0fe04
+1ff1fe00
+1fe97e00
+1fe08401
+d8c0425e
+e8c18000
+207a0000
+60018ac2
+68008ac2
+1fe22200
+2040470d
+1a427e00
+6000c25e
+20600000
+d8e00000
+da400000
+18e67c07
+24610000
+aa2fffff
+2020c714
+20204718
+18427e00
+203a4718
+f9202400
+184085ff
+18e08e01
+2020470f
+20404bae
+247a0000
+204046c9
+247a0000
+20404bff
+2040674b
+204046fd
+20204726
+20404bae
+247a0000
+20404bff
+2040674b
+20404c08
+68010275
+203a4735
+e0a10000
+68014246
+e0a10000
+20204736
+2040466d
+20204736
+4702c020
+70028400
+204063c4
+68008284
+c1008000
+20204736
+20404b9e
+58000000
+60010266
+60010268
+70026a01
+20600000
+47034020
+20404bfd
+18002400
+68010266
+1fe22600
+68010264
+98000c00
+2040474a
+1a627e00
+1a60a7fc
+1fe0fffc
+243a4742
+1a427e00
+6001026f
+20600000
+4703c020
+e8c08000
+c000c783
+c001478b
+c001c80f
+c002483f
+c002c8dc
+c0034905
+c003c955
+c004498a
+c004c99a
+c0054759
+c005c99b
+2040499c
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+5800000b
+e0a08000
+18e27e00
+e0a08000
+e8c10000
+c0014767
+c001c76d
+20600000
+58020008
+e0a30000
+58000280
+e0a20000
+18007e0c
+20204772
+5803000c
+e0a30000
+58000006
+e0a40000
+18007e10
+9a40a400
+20204758
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+60010aa2
+1a627e00
+9a262600
+20404bfd
+5800000b
+e0a08000
+18e27e00
+e0a08000
+68010aa2
+20204764
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+98c08c00
+1a627e00
+9a262600
+20204758
+204077e2
+204077e7
+d9000000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe20400
+e8c10000
+1fe21600
+47044021
+18427e00
+c000c79e
+c001c7c0
+c008c7cc
+c009c7d7
+2040499c
+2020480e
+204077e2
+d8400050
+68014246
+243a4808
+19627e00
+60014246
+1c427e00
+600202d5
+204047a8
+202047e3
+600902d3
+19627e00
+600102c9
+1a227e00
+600102cb
+1a427e00
+600102cd
+1a627e00
+600102cf
+18e27e00
+600102d1
+20600000
+680902d3
+680102c9
+1fe21600
+680102cb
+1fe22200
+680102cd
+1fe22400
+680102cf
+1fe22600
+680102d1
+1fe20e00
+20600000
+204077e2
+58000051
+d8400051
+68014248
+243a4808
+19627e00
+60014248
+6800c24f
+79207e00
+79207e01
+6000c24f
+202047eb
+204077e2
+d8400052
+6801424a
+243a4808
+19627e00
+6001424a
+6800c250
+79207e00
+79207e01
+6000c250
+202047eb
+204077e2
+1b427e00
+d8400053
+6801424c
+243a4808
+19627e00
+6001424c
+6800c251
+79207e00
+79207e01
+6000c251
+202047eb
+58000001
+6001027d
+70436250
+202047ed
+6800c24e
+79207e00
+79207e01
+6000c24e
+58000000
+6001027d
+4704c021
+204077e7
+58000003
+e0a08000
+18e27e00
+e0a08000
+58000008
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+6801027d
+c000c803
+290c0000
+2020c7fe
+58000004
+e0a10000
+18007e00
+e0a10000
+5800000c
+2020480a
+e0a10000
+18007e02
+e0a10000
+5800000c
+2020480a
+79201000
+202047eb
+9a40a400
+1a627e00
+9a262600
+2020480e
+20204758
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+47054021
+58000050
+98467c00
+2022c827
+58000051
+98467c00
+2022c82d
+58000052
+98467c00
+2022c839
+58000053
+98467c00
+2022c833
+20600000
+19627e00
+60014246
+6800c24e
+79207e01
+6000c24e
+20204758
+19627e00
+60014248
+6800c24f
+79207e01
+6000c24f
+20600000
+19627e00
+6001424a
+6800c251
+79207e01
+6000c251
+20600000
+19627e00
+6001424c
+6800c250
+79207e01
+6000c250
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe20400
+18422200
+4705c021
+58000050
+98467c00
+2022c856
+58000051
+98467c00
+2022c874
+58000052
+98467c00
+2022c860
+58000053
+98467c00
+2022c86a
+2020499c
+18a21600
+6800c24e
+79207e04
+79207e03
+6000c24e
+19620a00
+d9600050
+68014246
+1fe20400
+2020487d
+18a21600
+6800c250
+79207e04
+79207e03
+6000c250
+19620a00
+d9600052
+6801424a
+1fe20400
+2020487d
+18a21600
+6800c251
+79207e04
+79207e03
+6000c251
+19620a00
+d9600053
+6801424c
+1fe20400
+2020487d
+18a21600
+6800c24f
+79207e04
+79207e03
+6000c24f
+19620a00
+d9600051
+68014248
+1fe20400
+47064021
+58000005
+e0a08000
+18e27e00
+e0a08000
+58000006
+e0a10000
+18427e00
+e0a10000
+18007e00
+e0a10000
+18007e00
+e0a10000
+18007e0a
+9a40a400
+60090282
+18e27e00
+60008281
+18007e50
+a961fe00
+2020c893
+1fe0fe01
+20600000
+78547c00
+c3810000
+c4000000
+c4008000
+79207e02
+18c20a00
+18a08bff
+e0a08000
+78347c00
+20600000
+6800c24e
+20404894
+243448a5
+70028050
+68014246
+60010282
+202048b9
+6800c24f
+20404894
+243448ac
+70028051
+68014248
+60010282
+202048b9
+6800c250
+20404894
+243448b3
+70028052
+6801424a
+60010282
+202048b9
+6800c251
+20404894
+24740000
+70028053
+6801424c
+60010282
+4706c021
+20404b74
+20404bf2
+18002400
+20404bfd
+18007e04
+e0a08000
+6800c253
+e0a08000
+58000008
+e0a10000
+68010282
+e0a10000
+58000000
+e0a10000
+18007e01
+e0a08000
+18007e02
+e0a08000
+68008280
+c028c8d1
+58000030
+e0a10000
+202048d3
+580003e3
+e0a10000
+d840000c
+6009026f
+20404bfb
+6801026f
+e0a10000
+18007e01
+e0a10000
+70028000
+20204758
+18c08c01
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+47074021
+58000050
+9a267c00
+2022c8f4
+58000051
+9a267c00
+2022c8f8
+58000052
+9a267c00
+2022c8fc
+58000053
+9a267c00
+2022c900
+18c08c02
+e8c10000
+98007c00
+20204758
+6800c24e
+79207e05
+6000c24e
+20204758
+6800c24f
+79207e05
+6000c24f
+20204758
+6800c250
+79207e05
+6000c250
+20204758
+6800c251
+79207e05
+6000c251
+700a9906
+202076c0
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+1a220400
+204077e2
+4707c021
+58000050
+98467c00
+2022c92c
+58000051
+98467c00
+2022c93c
+58000052
+98467c00
+2022c920
+58000053
+98467c00
+2022c926
+2040499c
+20204951
+19620400
+6801424a
+98467c00
+2022c932
+2040499c
+20204951
+19620400
+6801424c
+98467c00
+2022c934
+2040499c
+20204951
+19620400
+68014246
+98467c00
+2022c938
+2040499c
+20204951
+204049b3
+20204944
+204049b9
+6801424a
+203a4944
+20204944
+204049ae
+68008288
+243a4944
+20204944
+19620400
+68014248
+98467c00
+2022c942
+2040499c
+20204951
+204049a9
+20204944
+204077e7
+58000007
+e0a08000
+18e27e00
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+19627e00
+e0a10000
+18007e08
+20204953
+204077e7
+20204953
+9a40a400
+20204758
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+204077e2
+47084022
+58000050
+98467c00
+2022c96f
+58000051
+98467c00
+2022c975
+58000052
+98467c00
+2022c97b
+58000053
+98467c00
+2022c981
+2040499c
+20204989
+18422200
+19620400
+68014246
+98467c00
+2042c9ae
+20204987
+18422200
+19620400
+68014248
+98467c00
+2042c9a9
+20204987
+18422200
+19620400
+6801424a
+98467c00
+2042c9b3
+20204987
+18422200
+19620400
+6801424c
+98467c00
+2042c9b9
+20204987
+204077e7
+20204758
+20204758
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+98c08c00
+58000009
+e0a08000
+18e27e00
+e0a08000
+18007e00
+e0a10000
+18007e04
+9a40a400
+1a627e00
+9a262600
+20204758
+20204758
+20204758
+18002400
+20404bfd
+58000001
+e0a08000
+18e27e00
+e0a08000
+58000002
+e0a10000
+58000000
+e0a10000
+1a40a406
+da600004
+20204758
+58000000
+6001027b
+60014248
+70424f00
+20600000
+58000000
+60010275
+60014246
+70424e00
+20600000
+58000000
+6001424a
+70425000
+6800c251
+c00049bf
+20600000
+58000000
+6001424c
+70425100
+6800c250
+c00049bf
+20600000
+700a9907
+202076c0
+6800827f
+793ffe00
+6000827f
+6801424c
+207a0000
+20404bf2
+6801424c
+1fe22200
+18002453
+202049d4
+6800827f
+793ffe07
+6000827f
+6801424a
+207a0000
+20404bf2
+6801424a
+1fe22200
+18002452
+20404b74
+20404bfd
+18007e06
+e0a08000
+6800c253
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+18000408
+20204a18
+4708c022
+20404b74
+20404bfd
+58000002
+e0a08000
+6800c253
+e0a08000
+58000004
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+d8400008
+20204a18
+47094022
+20404b74
+20404bfd
+58000004
+e0a08000
+6800c253
+e0a08000
+58000008
+e0a10000
+18427e00
+e0a10000
+58000000
+e0a10000
+58000001
+e0a08000
+58000002
+e0a08000
+580003e3
+e0a10000
+d840000c
+20204a18
+4709c022
+20404b74
+20404bfd
+58000006
+e0a08000
+6800c253
+1fe0fe01
+18a22200
+6000c253
+1a220a00
+e0a08000
+58000004
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+d8400008
+6009026f
+18427e00
+203a4b9e
+20404bfb
+6801026f
+e0a10000
+18007e01
+e0a10000
+20600000
+68010275
+203a2a8c
+20404c08
+68010275
+e0a10000
+68014246
+e0a10000
+20600000
+68010266
+203a4736
+470a4022
+68008268
+c000ca33
+c0284722
+c028c72f
+c029472d
+c029c72d
+20204736
+470ac022
+20404bf2
+18002400
+20404bfd
+1fe20a00
+68010266
+1fe22600
+68010264
+98000c00
+20404a42
+1a60a7fc
+2422ca3c
+1a420400
+20404a18
+20204736
+e8c08000
+c0014a4d
+c000ca50
+c001ca5a
+c002ca96
+c0024ac8
+c003cb4d
+c0034b1b
+c004498a
+c0054774
+20204b68
+204077e2
+204077e7
+2020478b
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c08000
+1a20a3ff
+2422ca56
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+e8c10000
+1fe67c00
+2022ca6c
+c0014a68
+c0024a68
+20204a6a
+700a9916
+204076c0
+e8c10000
+20204a93
+204077e2
+470b4022
+58000050
+98467c00
+2022ca7b
+58000051
+98467c00
+2022ca81
+58000053
+98467c00
+2022ca8d
+58000052
+98467c00
+2022ca87
+20204a93
+19627e00
+60014246
+6800c24e
+79207e01
+6000c24e
+20204a92
+19627e00
+60014248
+6800c24f
+79207e01
+6000c24f
+20204a92
+19627e00
+6001424a
+6800c250
+79207e01
+6000c250
+20204a92
+19627e00
+6001424c
+6800c251
+79207e01
+6000c251
+204077e7
+1a627e00
+9a262600
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+e8c10000
+243a4ac2
+204077e2
+19620400
+470bc022
+58000050
+98467c00
+2022cab0
+58000051
+98467c00
+2022cab4
+58000052
+98467c00
+2022cab8
+58000053
+98467c00
+2022cabc
+6800c24e
+79207e05
+6000c24e
+20600000
+6800c24f
+79207e05
+6000c24f
+20600000
+6800c250
+79207e05
+6000c250
+20600000
+6800c251
+79207e05
+6000c251
+700a9906
+202076c0
+204077e7
+1a20a3fa
+2022cac7
+18c08c01
+1a20a3ff
+20204ac3
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+18c08c02
+1fe20400
+58000005
+e0a08000
+18e27e00
+e0a08000
+1a20a202
+1a227e00
+e0a10000
+204077e2
+470c4023
+58000050
+98467c00
+2022cae7
+58000051
+98467c00
+2022caf8
+58000052
+98467c00
+2022cafe
+58000053
+98467c00
+2022cb04
+20204b09
+6800c24e
+79207e04
+79207e03
+6000c24e
+c2814af5
+6808827f
+79200406
+6008827f
+18e27e00
+1fe0fe01
+60008281
+6800c24e
+79207e02
+6000c24e
+68014246
+60010282
+20204b09
+6800c24f
+79207e04
+79207e03
+6000c24f
+68014248
+20204b09
+6800c250
+79207e04
+79207e03
+6000c250
+6801424a
+20204b09
+6800c251
+79207e04
+79207e03
+6000c251
+6801424c
+1fe21600
+204077e7
+19627e00
+e0a10000
+18007e00
+e0a10000
+18007e00
+e0a10000
+18007e0a
+9a40a400
+1a20a3fa
+2022cb1a
+e8c08000
+e0a08000
+1a40a401
+1a20a3ff
+20204b14
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+204077e2
+470cc023
+58000050
+1a220400
+98467c00
+2022cb34
+58000052
+1a220400
+98467c00
+2022cb39
+58000053
+1a220400
+98467c00
+2022cb3b
+20204b3d
+58000000
+60010275
+60014246
+6000c24e
+20204b3f
+204049b3
+20204b3f
+204049b9
+20204b3f
+58000000
+6001027b
+204077e7
+58000007
+e0a08000
+18e27e00
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+19627e00
+e0a10000
+18007e08
+9a40a400
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+204077e2
+470d4023
+6800c253
+a8e1fe00
+2420cb64
+58000050
+98467c00
+2022cb61
+58000051
+98467c00
+2022cb64
+20204b64
+70424600
+70424e00
+20204b64
+204077e7
+1a627e00
+9a262600
+20600000
+58000001
+e0a08000
+e8c08000
+e0a08000
+58000002
+e0a10000
+58000000
+e0a10000
+58000006
+9a40a400
+18002604
+20600000
+6800c253
+1fe0fe01
+c0804b78
+1fe0fe01
+6000c253
+20600000
+470dc023
+da400000
+20404ba8
+243a2a8c
+20404bb8
+da401800
+d8e00000
+6808c254
+a84fffff
+2020cb89
+20404bda
+19667c00
+20214b89
+20404bc2
+20204b8f
+1a40a480
+18e08e01
+58000008
+98e67c00
+20214b81
+da400000
+1a427e00
+203a2a8c
+20600000
+470e4023
+20404bb1
+18c08c01
+e8c10000
+20600000
+470ec023
+20404bb1
+18c20a00
+18c20400
+58000000
+e0a18000
+20600000
+470f4023
+20404bae
+203a2a8c
+6801c25b
+6001c25e
+6801c258
+6001c25b
+6801c255
+6001c258
+20600000
+470fc023
+6801c255
+20600000
+47104024
+6801c258
+20600000
+4710c024
+6801c25e
+20600000
+20404bae
+203a2a8c
+d8c04255
+e8c18000
+203a4bb4
+18c08dfd
+20600000
+47114024
+df200004
+d8c04255
+d8400000
+e8c18000
+1fe17eff
+98418400
+c2004bbc
+6008c254
+20600000
+4711c024
+20404ba8
+243a2a8c
+20404bae
+203a4bcf
+6801c258
+6001c255
+e8c18000
+e0a18000
+e8c18000
+e0a18000
+58000000
+e0a18000
+d8400000
+19627e00
+98e0fe00
+f9200400
+18e08e01
+98e67c00
+2422cbd2
+1a4d7e00
+9841fe00
+6001c25e
+20600000
+47124024
+20404bb8
+18e22600
+d8400000
+d9600000
+18e27e00
+c0044bea
+6800c254
+afefffff
+2020cbea
+18408480
+18e08e01
+1a227e00
+98467c00
+2022cbea
+20214bdf
+18427e00
+9a267c00
+24214bf0
+18e27e00
+1a620400
+98461600
+1a620e00
+20600000
+4712c024
+da20007f
+20404b7a
+6001026b
+1fe0fe04
+6001026d
+58000000
+6001026f
+20600000
+6801026b
+20204c1c
+6801026d
+20204c1c
+47134024
+da2000fa
+20404b7a
+60010271
+1fe0fe04
+60010273
+58000000
+60010275
+20600000
+68010271
+20204c1c
+68010273
+20204c1c
+4713c024
+204077b6
+70028401
+20404ba8
+247a0000
+da20007f
+20404b7a
+60010277
+1fe0fe04
+60010279
+58000000
+6001027b
+70028400
+202077c6
+68010277
+20204c1c
+203a2a8c
+1fe20a00
+20600000
+47144025
+da400000
+da204255
+1a20a3fe
+1a20a202
+58004261
+9a267c00
+2022cc2f
+ea208000
+1a20a201
+203a4c23
+ea290000
+e8410000
+9a40a400
+1a40a404
+20204c23
+1a427e00
+20600000
+d8e0000c
+20202c32
+d8e0000c
+20202c36
+4714c025
+20404bb8
+6800c254
+207a0000
+20404c1f
+d8400100
+98467c00
+20214c31
+20404c33
+d8a04261
+da204255
+58004261
+9a267c00
+20628000
+ea208000
+1a20a201
+243a4c49
+e0a10000
+1a20a202
+20204c40
+ea210000
+1a20a202
+1fe20c00
+e8c10000
+e0a10000
+1fe27200
+1f20f202
+2040783b
+20204c40
+47154025
+20404bb8
+6800c254
+207a0000
+da204256
+1a20a3fd
+d8c04261
+1a20a203
+58004262
+9a267c00
+20628000
+e8c10000
+203a4c59
+1fe0fe04
+1fe27200
+18c22400
+ea210000
+1fe20a00
+1a420c00
+18c08dfe
+2040783b
+20204c59
+4715c025
+7855fc00
+70045501
+70043f03
+70045601
+5fffffff
+60010459
+18007e00
+60008457
+60008462
+6001c169
+6001c16c
+6002c401
+79207e27
+6002c406
+7043da01
+7043db00
+20205027
+47164025
+7834fc00
+70044003
+70047801
+70445801
+5800ffff
+6001445a
+18007e00
+6002c406
+79207e27
+6002c401
+20204c68
+4716c025
+7854fc00
+58000017
+600144a6
+70044001
+70436c00
+7000a000
+7044c200
+7044c300
+6801046d
+600144b8
+68010441
+1feffe05
+1ff1fe00
+6001046d
+20204c68
+20404cfe
+20404f22
+2040502a
+20204d08
+47174025
+20404cfe
+20402cb1
+68008440
+c001cca0
+20204cb4
+4717c025
+7834fc00
+2040501e
+20214cb1
+20402c68
+20404d4d
+20404f58
+7856fc00
+20404df9
+24768000
+47184026
+68008005
+1fe0fe01
+60008005
+20404ee4
+7854fc00
+20600000
+20404ce3
+7854fc00
+20600000
+4718c026
+70450d00
+204073e9
+20405552
+78577c00
+2040501e
+20214ce3
+20402c68
+20404d4d
+20404dc3
+242c4cd5
+20404cf1
+2036ccc2
+20204ccf
+47194026
+6800c50d
+1fe0fe01
+6000c50d
+c0064ccf
+20404ee4
+20404f58
+20404e01
+20404fb8
+680141fb
+204078d6
+20404cda
+20344cde
+4719c026
+2040551e
+20405515
+204076d6
+68008462
+c281cce3
+471a4026
+2040512e
+20404ed7
+20404eaf
+20202841
+78547c00
+c5167921
+c515f921
+20600000
+471ac026
+78377c00
+20404dfb
+2036ccc2
+20204ccf
+471b4026
+20404ce9
+20402d71
+204073b1
+700a9915
+202076c0
+58000000
+6004c4fd
+70045500
+70044000
+70043f00
+7044c300
+7044c200
+20600000
+471bc026
+68008005
+1fe0fe01
+60008005
+6800843f
+c3818000
+79207e03
+6000843f
+680144b8
+6001046d
+58000000
+600244e3
+20600000
+471c4027
+70890f36
+70890b5f
+783b7c00
+70891407
+20402c68
+6800c1e0
+207a0000
+70890ab8
+20600000
+471cc027
+70890f2e
+70890bff
+785b7c00
+70891403
+db600000
+20600000
+7844fc00
+7843fc00
+68018467
+98001e00
+68008016
+1fed8400
+79200401
+18431c00
+20600000
+20404d20
+2040291f
+58000500
+20402a8f
+20202924
+2036a939
+20404d20
+20202933
+471d4027
+20402918
+6800848c
+243a4d33
+68008016
+1fe67c24
+20214d2d
+18000400
+c1128000
+18000418
+c1130000
+1800044e
+20600000
+1fe67c0a
+20214d30
+1fe0fe01
+1fe3fe00
+1fe08402
+20600000
+68008016
+1fe38400
+20600000
+d84001f4
+207a0000
+d84000fa
+c1008000
+d8400096
+c1010000
+d8400064
+c1018000
+d840004b
+c1020000
+d8400032
+c1028000
+d8400028
+c1030000
+d8400014
+20600000
+588e89be
+1fed7e00
+1fe1fed6
+98001200
+58555555
+60018467
+20600000
+471dc027
+78287c00
+68020463
+98001200
+20404da0
+58000200
+2034cd56
+6801044d
+1fe37e00
+d8400500
+9840fe00
+20402a24
+1b427e00
+60030491
+20600000
+471e4027
+68008016
+c012cd62
+c0134d68
+c013cd6e
+20204d6e
+6808c48b
+284ffe01
+2020cd79
+284ffe02
+2020cd7e
+20204d74
+6808c48b
+284ffe02
+2020cd7e
+284ffe00
+2020cd74
+20204d79
+6808c48b
+284ffe00
+2020cd74
+284ffe01
+2020cd79
+20204d7e
+70001625
+68008ac2
+79207e00
+60008ac2
+20600000
+70001626
+68008ac2
+79207e01
+60008ac2
+20600000
+70001627
+68008ac2
+79207e02
+60008ac2
+20600000
+471ec027
+1a208c01
+e8c08000
+c4000000
+1a208a1a
+e8a10000
+1fe0fe01
+e0a10000
+1a208c19
+e8c08000
+1a208a18
+e8a88000
+9840fe00
+1fe67c24
+20214d93
+1fe0ffdb
+e0a08000
+20600000
+471f4027
+6802846f
+18000400
+18007225
+c3004d9b
+18408401
+1fe37e00
+c2004d99
+1840ffff
+60008461
+20600000
+471fc027
+68008457
+98000e00
+680a846f
+a84fffff
+2020cdb6
+47204028
+68008461
+98e67e00
+20214dac
+1fe60fff
+20204da6
+18e27200
+18000e00
+a84fffff
+2020cdb1
+1f20f201
+1f227e00
+203a4db6
+18e08e01
+1f20f3ff
+20204dae
+18e27e00
+60008016
+20600000
+2034cdbc
+37c18200
+20600000
+d9600ea0
+34730200
+20600000
+78487c00
+6801436a
+1fe21600
+20204dc8
+4720c028
+78287c00
+6801044d
+680a44e3
+98409600
+20404d18
+47214028
+20404d0f
+7856fc00
+7826fc00
+7830fc00
+78507c00
+19623600
+37c18400
+20374dd4
+1b420400
+600b009a
+242c264d
+20374ddb
+dd2001e0
+1c225000
+6800843f
+c301cddb
+2055ab05
+4721c028
+204029bb
+7823fc00
+7824fc00
+09800008
+19897e00
+600082d9
+09800008
+19897e00
+e0a08000
+1fe1723f
+2022cdeb
+09800008
+19897e00
+e0a08000
+c2004de7
+47224028
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e0a18000
+2023264d
+7836fc00
+68008017
+1fe0a200
+20402981
+7846fc00
+20202918
+4722c028
+20404e03
+68088017
+2040291f
+20402924
+78287c00
+d960157c
+20204dc9
+20404e03
+2020264d
+47234028
+20404d0f
+20404d1d
+20204e07
+79202a00
+782efc00
+78307c00
+7850fc00
+20404db9
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+7823fc00
+7824fc00
+4723c028
+6800c3da
+08008608
+e8c08000
+1fe1723f
+08008608
+2022ce1c
+e8c08000
+08008608
+c2004e19
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+20600000
+47244029
+6800c482
+c000ce33
+6800c483
+1ff27e00
+1febfe00
+6000c3da
+6808c36d
+1840fe06
+6000c3db
+6803449e
+600343dc
+18427200
+d8c0436e
+2040782e
+20204e3e
+6800c484
+1ff27e00
+1febfe00
+1fe0fe01
+6000c3da
+5800000c
+6000c3db
+6803449e
+600343dc
+680341d0
+e0a30000
+4724c029
+68008000
+1fe0fe01
+60008000
+db600708
+7856fc00
+20204df9
+47254029
+6800c49c
+c1808000
+68008000
+1fe0fe01
+60008000
+d8400c03
+6800c49d
+7d3a0406
+1a227e00
+7d3a0407
+600943da
+6803449e
+e0a30000
+6803044f
+e0a30000
+20204df9
+4725c029
+d8400004
+6800c483
+7d3a0406
+6008c3da
+6808c38d
+1840fe06
+6000c3db
+6803449e
+600343dc
+d8c0438e
+18427200
+2040782e
+20404e01
+20205040
+47264029
+18007fff
+38080001
+6002846f
+20404d95
+18007204
+d8a00463
+20405c47
+6801449a
+6001046d
+180a7e00
+1fe17e0f
+1fe67c04
+20214e6f
+60008458
+600086e6
+4726c029
+68094365
+60090441
+18422600
+1c40fe07
+9a66fc00
+204078c0
+18072200
+9a267e00
+9a60fe00
+68094363
+9840fe00
+60020443
+9c462200
+1a20a3fa
+da402205
+6800c493
+7d3a2406
+6800c48c
+7d3a2407
+1a427e00
+600143da
+6803449e
+e0a30000
+6803044f
+e0a30000
+68020463
+e0a20000
+180a7e00
+e0a10000
+180a7e00
+e0a08000
+18007e02
+e0a08000
+1a2b7e00
+e0a10000
+1a6b7e00
+e0a10000
+47274029
+58000000
+e0a10000
+6801449a
+e0a10000
+6802846f
+e0a28000
+68008458
+d84000a0
+9841fe00
+e0a08000
+20404e01
+580043da
+1fe08c12
+e8c18000
+60018467
+20600000
+4727c029
+7854fc00
+20204d46
+6800843f
+c4028000
+68010459
+6809045f
+98467e00
+24610000
+60010a9a
+4728402a
+6800843f
+793ffe05
+793ffe03
+6000843f
+68020443
+68090441
+60090aa2
+98462200
+4728c02a
+6800c3d1
+6000846a
+e8c90000
+e8c10000
+1febfe00
+60010441
+184b8400
+9840fe00
+e8ca0000
+600a046b
+9a20fe00
+1fe22800
+68010441
+68090aa2
+98467e00
+68090a9a
+984ffe00
+9a80fe00
+60020443
+2040504d
+6801046d
+600144b8
+20600000
+4729402a
+6800843f
+c4030000
+68010459
+6809045f
+98467e00
+24610000
+6800843f
+793ffe06
+6000843f
+6802c3cc
+6002846f
+20204d95
+4729c02a
+20405027
+20404efa
+680082d9
+2feffe04
+7920802c
+1fe37e00
+9842fe00
+2feffe02
+7920800f
+c6078000
+680082da
+203a4ef6
+6800843f
+c3024ef6
+20406dc7
+20406d35
+247a0000
+68088456
+79400402
+60088456
+20600000
+472a402a
+68088456
+284c0005
+20608000
+680082d9
+1fe3fe00
+9842fe00
+c4018000
+793f8405
+79400403
+60088456
+28400603
+24608000
+6800c3dc
+c002cf0c
+6800c4c3
+c0014f10
+20600000
+6800843f
+79207e04
+6000843f
+20600000
+472ac02a
+7044c300
+dfe00000
+6002440b
+6002c401
+79207e27
+6002c406
+6800843f
+793ffe04
+6000843f
+20600000
+472b402a
+20404d5c
+20404dbf
+68008001
+1fe0fe01
+60008001
+20600000
+472bc02a
+6800c367
+c1808000
+d8e00002
+20407850
+247a0000
+68014368
+6809436a
+98467e00
+d8e00002
+20407842
+7854fc00
+20404eac
+20404f1b
+24768000
+472c402b
+680302db
+6003044f
+68008002
+1fe0fe01
+60008002
+20404f42
+20748000
+20404e45
+24768000
+472cc02b
+68008004
+1fe0fe01
+60008004
+680482e1
+60048101
+20600000
+472d402b
+6800849b
+c18d8000
+6803044f
+680b448d
+98467c00
+24628000
+2040223b
+24628000
+20404e65
+20404c7a
+472dc02b
+7041ce00
+70047600
+70436700
+70049b00
+20202223
+da200001
+680082d9
+c3830000
+da200000
+20600000
+472e402b
+68008456
+c3828000
+20404f7c
+204051ad
+203a4f9e
+e8c08000
+e8c88000
+18422200
+9a267e00
+d840001b
+20407917
+1fe20400
+e8c08000
+1fe20200
+1a227e00
+98c08c00
+d8a043dc
+18427200
+2040783b
+20404f8e
+20404fa0
+204051ad
+e8c08000
+1fe22200
+18c22600
+e8c88000
+18422400
+9a467e00
+d840001b
+20407917
+9a40fe00
+e2608000
+9a267c00
+24628000
+202051d0
+20404f83
+c6158000
+6800c4e7
+c3014f8c
+204051b0
+203a4f8c
+20204f8a
+204051ad
+203a4f8c
+e8c08000
+e8c88000
+98467e00
+1fe67c1b
+20214f8c
+7920002b
+20600000
+793f802b
+20600000
+1a227e00
+207a0000
+d8200001
+20600000
+472ec02b
+18408401
+204050a4
+18c08dfe
+e8c10000
+d8402902
+98467c00
+24628000
+18c08c01
+18c22200
+e8c08000
+20600000
+18000400
+18000201
+472f402b
+6008c3db
+68088456
+79200405
+18417efc
+9821fe00
+60008456
+1fe17e1f
+280ffe2b
+7920fe04
+6000c3da
+6800c3da
+28200601
+2420cfb0
+6800c3db
+207a0000
+6800843f
+c4020000
+20406dc7
+20206d1d
+d8e00000
+20202c32
+d8e00000
+20202c36
+472fc02b
+c6078000
+204051ca
+247a0000
+680082d9
+1fe17e03
+6000c50a
+e8c08000
+1fe17e1f
+6000c509
+207a0000
+18c27e00
+6001450b
+6800c50a
+c001d59e
+20404fd4
+24344fb4
+20404fb6
+6801450b
+1fe20c00
+e8c10000
+600144fa
+4730402c
+e8c10000
+c00251e5
+c003542e
+c002d3f0
+20600000
+6800c50a
+c0014fe3
+c000cffb
+20600000
+20407921
+d8400004
+9fe67c00
+20628000
+d8400005
+9fe67c00
+20628000
+d8400006
+9fe67c00
+20628000
+20207923
+6801450b
+1fe20c00
+e8c10000
+600144fa
+e8c10000
+20404fd8
+24740000
+6808c509
+6008c4fc
+680144fa
+1fe0fe04
+98467c00
+2022f921
+6800c509
+1fe27200
+d8a00311
+6801450b
+1fe20c00
+2040783b
+20207923
+20407921
+6800c4fc
+247a0000
+20207923
+20404ff7
+24740000
+6800c4fc
+d8a00311
+98a0a200
+6808c509
+9840fe00
+6000c4fc
+6800c509
+1fe27200
+1a220a00
+6801450b
+1fe20c00
+2040782e
+58000311
+6001450b
+680144fa
+1fe0fe04
+6808c4fc
+98467c00
+2022f921
+20207923
+204077df
+d8a0445c
+680144fa
+1fe0fffb
+e0a08000
+1fe27200
+204077d9
+2020782e
+204077df
+d8a0446f
+20205013
+680141f9
+202078d6
+680a045b
+20402a7b
+98461600
+19627e00
+6809046d
+18520400
+18438400
+98467e00
+20600000
+20402a7b
+6002045b
+20600000
+70001624
+700ac200
+4730c02c
+6800c36c
+207a0000
+d8e00000
+20407850
+247a0000
+4731402c
+7854fc00
+78287c00
+20404eac
+20404d5c
+20404e23
+2436d040
+68008003
+1fe0fe01
+60008003
+680082d9
+1fe17e0f
+c001ce56
+c002d062
+4731c02c
+180a7e00
+d84001ff
+98417e00
+1fe0fefa
+2040364d
+68008ac2
+6808c48b
+98467c00
+2422d02c
+d8e00000
+68014480
+20207842
+4732402c
+68008476
+20404d36
+68010441
+984ffe00
+d8400177
+984ffe00
+d84186a0
+9846fc00
+6800846a
+d8404e20
+984ffe00
+9840fe00
+600244e3
+4732c02c
+680140c1
+204078c0
+18078400
+9840fe00
+6001044d
+20600000
+4733402c
+680302e1
+680b449e
+98467c00
+24628000
+20404f53
+1a227e00
+6000c48c
+680382ee
+60038101
+e8c40000
+e0a40000
+680302db
+6003044f
+18c08c06
+e8c40000
+60040463
+e8c90000
+4733c02c
+184b8400
+e8c10000
+1febfe00
+60010441
+60020443
+98467e00
+1fe0d1fe
+e8c48000
+6004846b
+4734402d
+e8c08000
+1ff18400
+18430400
+60088476
+1fe17e1f
+60008458
+2040504d
+20404d95
+20404c86
+2040223b
+24628000
+4734c02d
+20402841
+2040540d
+700a9914
+204076c0
+20202223
+4735402d
+68014458
+98002400
+6801445a
+98002600
+680144ba
+98000c00
+78347c00
+20600000
+e8c10000
+207a0000
+9a467c00
+24610000
+9a667c00
+20628000
+202150a2
+18007c01
+20600000
+18007e00
+20600000
+204050a7
+2022d0b3
+20600000
+4735c02d
+680144ba
+98000c00
+e8c10000
+207a0000
+98467c00
+20628000
+e8c08000
+98c08c00
+e8c08000
+98c08c00
+202050aa
+e8c08000
+98c08c00
+20600000
+4736402d
+680144ba
+98000c00
+e8c10000
+207a0000
+e8c08000
+98c08c00
+18c08dfe
+e8c10000
+98467c00
+20628000
+e8c08000
+98c08c00
+202050b9
+6801049c
+202050c8
+4736c02d
+680144ba
+98000c00
+18422200
+e8c10000
+203a50d3
+9a267c00
+2022d0d4
+e8c08000
+98c08c00
+e8c08000
+98c08c00
+202050ca
+20207925
+e8c08000
+600084a2
+1fe27200
+d8a004a3
+2040782e
+e8c08000
+600084b3
+204077df
+20207927
+4737402d
+204050e0
+202050f2
+d8402a00
+204050b6
+207a0000
+e8c08000
+18c20a00
+6808c3ad
+18427200
+98467c00
+242150ef
+98460400
+d8c043ae
+2040783b
+18427200
+2442d12a
+20600000
+1fe27200
+d8c043ae
+2020782e
+da60438d
+da20436e
+204050ff
+58000000
+79347e00
+60008a9a
+da6043ad
+da20438e
+204050ff
+20740000
+68008a9a
+203a2a8c
+20600000
+4737c02d
+20407921
+20407814
+da400000
+d8a00ac3
+20405119
+6800c3ad
+1fe08401
+9a40a200
+1a20a202
+1a267c1f
+24215117
+e0a88000
+d8400009
+e0a88000
+98007200
+2040782e
+1a222400
+1a427e00
+60008ac2
+d8c00ac2
+5fffffe0
+9a608a00
+202077f7
+20407923
+20205111
+ea208000
+207a0000
+1fe0fe01
+e8c88000
+18467c09
+2022d128
+9a40a400
+1a220c00
+98007200
+2040782e
+18c22200
+1a227e00
+9a667c00
+20610000
+20205119
+9a20a200
+20205124
+58000020
+e0a08000
+c200512a
+20600000
+4738402e
+7855fc00
+20375132
+2436d140
+20402bcb
+680140c1
+6001044d
+2436abde
+c507abde
+6800c509
+243a2bde
+6800c3db
+243a2bde
+6800c4e7
+c282abde
+6800843f
+c282abde
+20202bc0
+680940c1
+18430400
+6801044d
+9840fe00
+6001044d
+20202bd6
+d8e00000
+2020515e
+d8e00000
+20205162
+d8e00001
+2020515e
+d8e00001
+20205162
+d8e00002
+2020515e
+d8e00002
+20205162
+d8e00003
+2020515e
+d8e00003
+20205162
+d8e00004
+2020515e
+d8e00004
+20205162
+d8e00005
+2020515e
+d8e00005
+20205162
+6800c4e7
+f9207e00
+6000c4e7
+20600000
+6800c4e7
+f93ffe00
+6000c4e7
+20600000
+58112233
+6001c4e8
+58445566
+e0a18000
+58778899
+e0a18000
+58001122
+e0a18000
+58334455
+e0a18000
+58000066
+e0a08000
+20600000
+59000302
+60024451
+58010010
+6001c455
+7044c401
+20600000
+da200000
+d8200001
+2020518a
+d8200003
+2040518a
+1a427e00
+e0a08000
+20600000
+18000202
+1a20a204
+2040518a
+1a20a3fc
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+20600000
+1a267cf0
+24212a8c
+6800c4fd
+d8400001
+df200004
+98417c00
+2022d194
+18438400
+c200518f
+20202a8c
+9842fe00
+6000c4fd
+1f267e04
+1ff27e00
+1ff27e00
+d8401800
+98408400
+df200000
+d8c044fe
+e8c10000
+203a51a3
+1f227e00
+1f20f201
+c082519d
+20202a8c
+18c08dfe
+e0c90000
+18420a00
+1a227e00
+e0a08000
+58000000
+e0a08000
+18227e00
+e0a08000
+20600000
+680144fe
+1fe20c00
+20600000
+68014500
+1fe20c00
+20600000
+204051b6
+1fe20c00
+20600000
+68014504
+247a0000
+68014502
+247a0000
+68014500
+247a0000
+680144fe
+20600000
+204051ad
+18c08c03
+20600000
+204051ad
+18c08c07
+20600000
+204051b3
+18c08c07
+20600000
+204051b3
+18c08c03
+20600000
+68014504
+20600000
+68014502
+20600000
+680144fe
+20600000
+680144fe
+d8401800
+98467e00
+1ff1fe00
+1ff18e00
+6800c4fd
+f93ffe00
+6000c4fd
+df200000
+1f23fe00
+d8404500
+98408400
+e8410000
+184085fe
+e0410000
+1f227e00
+1f20f201
+c081d1d9
+58000000
+e0410000
+20600000
+e8c18000
+60018477
+c00151fb
+c001d203
+c0025206
+c003522c
+c0045279
+c00552f6
+c006531e
+c0085334
+c0095369
+c00b5382
+c00c5395
+c029539a
+20600000
+18002203
+204053bc
+58000002
+e0a08000
+680144a4
+e0a10000
+20600000
+20405203
+18002203
+204053bc
+58000003
+e0a08000
+680144a4
+e0a10000
+20600000
+1fecfe00
+600144a6
+20600000
+204053eb
+20407921
+20205209
+d9600003
+20405090
+20405099
+203a522a
+24215227
+18c08dfe
+204077df
+204077d6
+2434521b
+204077bf
+20407923
+18002214
+204053bc
+204077cf
+58000005
+e0a08000
+58000001
+e0a08000
+204077d9
+e8c10000
+e0a10000
+e8c08000
+1fe27200
+2040783b
+204077dc
+196097ff
+2022d22a
+e8c08000
+98c08c00
+2020520b
+e8c08000
+98c08c00
+20205224
+203453b0
+202053df
+204053eb
+e8c10000
+60014470
+204077df
+d8a0445c
+680144fa
+1fe0fff9
+20405015
+2020523f
+78547c00
+68094458
+6801445a
+98467c00
+2421523c
+18427e00
+c1800000
+78347c00
+70047a01
+202053b1
+20405235
+20740000
+68094470
+58002800
+98467c00
+2022d246
+202053b0
+7004b400
+68094458
+60090aa2
+204050c6
+243a53b0
+68090aa2
+204050c6
+243a525f
+18c22200
+680084b3
+1fe27200
+6808c45c
+98467c00
+2422d25b
+da40445d
+204078c2
+2022d262
+680104a3
+68094470
+98467c00
+2022d26a
+68010aa2
+1fe0fe01
+60010aa2
+2020524b
+680084b4
+c000d26a
+202053b0
+680104a3
+68094470
+98467c00
+2422d25b
+7004b401
+68090aa2
+6009049e
+2020525b
+680084b4
+c000525b
+7004b402
+68090aa2
+184085ff
+600904a0
+da200005
+204053bc
+58000007
+e0a08000
+6801049e
+e0a10000
+680104a0
+e0a10000
+20600000
+204053eb
+20405019
+2020527c
+68094458
+60090aa2
+20405090
+204050a7
+18c08dfe
+18c27e00
+6001049c
+68094470
+58002a00
+98467c00
+2022d2e2
+58002803
+98467c00
+2422d2ca
+d9600002
+204053c2
+242152a7
+68090aa2
+204050c4
+c000d2a7
+204053ce
+2422d2a5
+243452a9
+78547c00
+da200014
+204053bc
+58000009
+e0a08000
+18a26000
+18a08a01
+204052b7
+204053be
+204050c4
+204052be
+680084a2
+1fe0fe05
+e6008000
+680084a2
+c00852a7
+196097ff
+2022d2a7
+204053be
+2020528b
+203453b0
+202053df
+204053d1
+204053be
+204050c4
+680084a2
+c00852a7
+204077d6
+68010aa2
+1fe0ffff
+e0a10000
+204053db
+204052be
+196097ff
+2022d2a7
+202052a5
+68010aa2
+e0a10000
+680084b3
+1fe27200
+204077d9
+2040782e
+202077dc
+204077d6
+68010aa2
+e0a10000
+204077dc
+680084a2
+1fe27200
+204077d6
+204077d9
+9f260c00
+18c08dff
+2040782e
+202077dc
+68094458
+60090aa2
+204053c2
+242153b0
+204050c4
+c000d3b0
+204053ce
+2422d2e0
+da200014
+204053bc
+58000009
+e0a08000
+680084b3
+1fe27200
+1fe0fe02
+e0a08000
+68010aa2
+e0a10000
+204077d9
+2040782e
+204077dc
+202053df
+204053be
+202052cc
+d8402a00
+204050b6
+207a0000
+18c08dfb
+e8c10000
+60010aa2
+da200014
+204053bc
+58000009
+e0a08000
+6800c3ad
+1fe27200
+1fe0fe02
+e0a08000
+68010aa2
+e0a10000
+d8c043ae
+2040782e
+204077dc
+202053df
+68090478
+6800c4e7
+c281d317
+204050a4
+203a53b0
+18c08dfe
+e8c10000
+d8402a00
+98467c00
+2022d30d
+e8c08000
+1fe67c16
+20215304
+18007e16
+1fe22600
+204077df
+1a60a201
+204053bc
+5800000b
+e0a08000
+1a627200
+204077d9
+2020783b
+204077df
+6800c3ad
+1fe0a201
+204053bc
+5800000b
+e0a08000
+6800c3ad
+1fe27200
+d8c043ae
+2020783b
+680144f8
+98467c00
+2422d2f9
+2040537c
+243452f9
+70047a05
+202053b1
+e8c10000
+6001445c
+da200014
+204053bc
+5800000d
+e0a08000
+6801445c
+98002200
+68090478
+204050a4
+203a53b0
+e8c08000
+9a267200
+242153b0
+1f267c16
+2021532f
+18007216
+1a227e00
+98c08c00
+2040782e
+204077dc
+202053df
+204053eb
+20405011
+20205337
+d9600002
+68094458
+60090aa2
+20405090
+204050a7
+18c08dfe
+18c27e00
+6001049c
+204053c2
+2421535f
+68090aa2
+204050c4
+c000d362
+204053c6
+2422d35d
+19627e00
+c0005362
+24345353
+78547c00
+da200014
+204053bc
+58000011
+e0a08000
+680084b3
+1fe0fe04
+e0a08000
+204077dc
+20205359
+680084b3
+c0085362
+68010aa2
+1fe0ffff
+600104a0
+204053d6
+68010aa2
+6001049e
+204053d1
+196097ff
+204053be
+2020533f
+68010aa2
+600104a0
+20205366
+68010aa2
+1fe0ffff
+600104a0
+20205366
+203453b0
+204053d6
+202053df
+18c22200
+680144fa
+1fe0a5fd
+2040501c
+6800c4e7
+c3025377
+68090478
+680144f8
+98467c00
+2422d377
+2040537c
+24345377
+70047a05
+202053b1
+18002201
+204053bc
+58000013
+e0a08000
+20600000
+20407923
+6800c4c4
+c1000000
+6800c040
+c3820000
+20207921
+18c0a202
+680144fa
+1fe0a5fb
+2040501c
+20205387
+680144fa
+1fe22200
+204053bc
+58000017
+e0a08000
+68010478
+e0a10000
+680144fa
+1fe0f3fb
+6801450b
+1fe08c07
+e8c10000
+e0a10000
+2020782e
+18002201
+204053bc
+58000019
+e0a08000
+20600000
+18c22200
+680144fa
+1fe0a5fd
+2020501c
+18422600
+1a20a203
+204053bc
+1a20a3fd
+5800001b
+e0a08000
+1a620400
+e0a90000
+20600000
+18422600
+1a20a203
+204053bc
+1a20a3fd
+5800001d
+e0a08000
+1a620400
+e0a90000
+20600000
+70047a0a
+18002205
+204053bc
+58000001
+e0a08000
+68008477
+e0a08000
+68010478
+e0a10000
+6800847a
+e0a08000
+20600000
+18002404
+20205181
+68090aa2
+18408401
+60090aa2
+20600000
+68090aa2
+6801445a
+98467c00
+20600000
+6808c45c
+da20445d
+680084a2
+1fe27200
+98467c00
+24628000
+da4004a3
+202078c2
+6808c46f
+da204470
+202053c8
+680084b3
+60008101
+1fe27200
+204077d9
+2020782e
+204077d6
+6801049e
+e0a10000
+680104a0
+e0a10000
+68008101
+1fe27200
+2040782e
+202077dc
+204077d6
+204051c4
+18a27e00
+98c62200
+204051c7
+1a227e00
+e0c10000
+1a20a204
+204051b3
+1a227e00
+e0c08000
+20600000
+1fecfe00
+60014458
+e8c10000
+6001445a
+20600000
+e8c08000
+e8c88000
+e8c90000
+c009d3f5
+20600000
+e8c10000
+60014507
+700a9940
+202076c0
+da20000c
+da600012
+20405401
+58000008
+e0a10000
+68044494
+e0a40000
+20600000
+20405409
+da400005
+20405181
+1a627e00
+e0a08000
+6800c506
+e0a08000
+20600000
+6800c506
+1fe0fe01
+6000c506
+c1800000
+70450601
+20600000
+6800c4c4
+c000541e
+c000d421
+c0015423
+c040d417
+c0415419
+c041d41c
+20600000
+7044540d
+2020541f
+7044540d
+70445201
+20600000
+7044540d
+20205424
+70445400
+70445203
+20600000
+70445405
+2020541f
+70445405
+70445200
+20600000
+6800c454
+79207e03
+6000c454
+20600000
+6800c454
+793ffe03
+6000c454
+20600000
+e8c08000
+c000d443
+c001d46a
+c0025487
+c002d494
+c00354ba
+c003d4fe
+c00454e9
+c004d4fa
+c00554fe
+c005d4fe
+c00654ff
+c006d504
+20600000
+18002202
+2040559c
+5800000b
+e0a08000
+6800c454
+e0a08000
+20600000
+6000c44a
+e8c30000
+e0a30000
+6800c4c4
+c0005499
+20405465
+20405460
+7044c203
+6800c44b
+c0005452
+c000d452
+c001d452
+6800c4c4
+c0015455
+c1418000
+dfe00000
+600244c5
+20600000
+6800c4e7
+c280545e
+da2044c5
+1a220a00
+df200003
+20405c47
+680144c7
+1fe17e07
+600144c7
+700a9934
+202076c0
+6800c44d
+c3818000
+6800c4c4
+c4038000
+20202dbf
+18002207
+2040559c
+6803c451
+e0a38000
+20600000
+18c22200
+6800c4c4
+c041d471
+1a220c00
+d8a04428
+204077f9
+20205477
+1a220c00
+d8a04428
+204077f9
+7044bd02
+7044bf08
+20600000
+6800c4c4
+c283d47f
+20406cd6
+18002211
+2040559c
+58000003
+e0a08000
+20206dd1
+d8a04438
+20405c46
+20406aff
+18002211
+2040559c
+58000003
+e0a08000
+20206b3b
+18c22200
+6800c4c4
+c283d49b
+1a220c00
+20406cce
+2022d4af
+70047b04
+18002202
+2040559c
+58000005
+e0a08000
+6800847b
+e0a08000
+18000e0a
+20407841
+7044c200
+700a9930
+202076c0
+70047b05
+2020548e
+d8a0042f
+1a220c00
+204077f9
+6800c4c4
+c041d4a6
+20406a89
+204054b4
+6800c4c4
+c1c10000
+700a993b
+202076c0
+20406af4
+d8a00af2
+20406b3b
+da200af2
+da404428
+df200010
+204078c2
+2422d48d
+202054b4
+20406cca
+700a9931
+204076c0
+70442701
+7044c205
+18002211
+2040559c
+58000004
+e0a08000
+d8c04438
+202077f9
+d8a0041f
+202077f9
+18002211
+2040559c
+58000006
+e0a08000
+6800c4e7
+c280d4c4
+d8c04417
+202077f9
+d8c044e8
+202077f9
+d8a044c9
+1800720a
+20405c47
+1800220b
+2040559c
+58000007
+e0a08000
+680144c9
+e0a10000
+680444cb
+e0a40000
+20600000
+18002211
+2040559c
+58000008
+e0a08000
+58000000
+e0a40000
+e0a40000
+20600000
+18002208
+2040559c
+58000009
+e0a08000
+6800c493
+e0a08000
+6803449e
+e0a30000
+20600000
+70047b08
+2020548e
+6800c456
+6808c456
+98417e00
+20600000
+d8a044d3
+204077f9
+204054e5
+2fec0001
+2020d4e3
+6800c092
+c1850000
+204054f3
+24740000
+20202dcd
+20407923
+6800c48c
+c1000000
+68008454
+2fe180c0
+20608000
+20207921
+204054e5
+2fec0001
+2020d4e3
+20600000
+20600000
+d8a009be
+204077ed
+7044bd02
+7044bf01
+20600000
+d8a00a6e
+204077f9
+7044bf06
+7044bd02
+20600000
+18002241
+2040559c
+5800000c
+e0a08000
+d8c045d0
+202077ed
+20406aa0
+18002211
+2040559c
+5800000d
+e0a08000
+20206b3b
+6800c4c2
+c17f8000
+d8400003
+98467c00
+24610000
+d8e0000a
+20407850
+247a0000
+202054e3
+4739402e
+6800c4c2
+c0005529
+c000d52f
+c0015529
+c001d531
+c002d535
+c003d541
+c0045543
+c004d54a
+20600000
+6800c4c3
+c1820000
+7044c3ff
+7044c2ff
+700a993f
+202076c0
+7044c202
+2020543c
+7044c204
+58017700
+d8e0000a
+20207842
+6800c4c3
+c0025538
+20600000
+7044c207
+700a9929
+204076c0
+204054bc
+6800c092
+c1850000
+204054f3
+20740000
+20202dcd
+7044c208
+202054c6
+6800c450
+6808c457
+98417e00
+2fec0001
+2020d54c
+7044c209
+202054d2
+204054da
+2020554c
+18000e0a
+20407841
+7044c3ff
+7044c2ff
+700a993e
+202076c0
+4739c02e
+6800c4c4
+c4038000
+6800c4bd
+c1810000
+7044bd00
+6800c4bf
+c000d592
+c0015599
+c001d58c
+c0035573
+c003d56a
+c0045560
+20600000
+6800c661
+1fe20e00
+1fe0fe01
+6000c661
+680244c5
+afefffff
+58000080
+7920fe00
+6000c662
+2020558f
+6800c4c0
+7044c000
+c000d56f
+7044bd02
+20600000
+700a9931
+204076c0
+7044c205
+2020550f
+680089b9
+c001d577
+7044bd02
+20600000
+20406ac7
+6800c4c4
+c041d57b
+20405452
+20406ab4
+da200af2
+da400a6e
+df200010
+204078c2
+2022d583
+70047b0b
+2020548e
+20406ecf
+2422d581
+70442701
+6800c4c4
+c040d56f
+c041d56f
+7044bd02
+7044bf07
+20600000
+6800c4c4
+c041d590
+70466200
+20205477
+70466100
+20205455
+7044bd02
+6800c4c1
+c001d596
+20600000
+7044bf02
+7009b900
+202073d3
+7044bd02
+7044bf03
+20205509
+18002406
+20205181
+680082db
+c00055b5
+c000d5bd
+c00155c8
+c001d5e4
+c002561b
+c002d620
+c0035624
+c003d62f
+c00455d3
+c004d62f
+c0055629
+c005d62f
+c00655d9
+c006d62f
+c00955e0
+c009d62f
+da200002
+da400007
+2040517c
+680082db
+e0a08000
+20600000
+e8c48000
+6004c3d1
+e8c10000
+6001045f
+6800843f
+79207e05
+6000843f
+20600000
+e8c28000
+6002c3cc
+e8c10000
+6001045f
+68090459
+98467c00
+242155c8
+6800843f
+79207e06
+6000843f
+20600000
+58000014
+6001046d
+600144b8
+20600000
+da600013
+da200002
+da400002
+2040517c
+1a627e00
+e0a08000
+20600000
+da200009
+da400009
+2040517c
+58000001
+e0a40000
+20600000
+20748000
+da200006
+da40000c
+2040517c
+6802c50e
+e0a28000
+20600000
+da400013
+202055e2
+da200001
+2020517c
+e8c40000
+600444cb
+e8c10000
+600144c9
+e8c40000
+600444a8
+e8c20000
+6002440f
+20405609
+473a402e
+6800c4c2
+c002d5f6
+6800c4e7
+c280d5f9
+6800c217
+245a60f8
+6800c427
+c00055fe
+7044c301
+20405617
+20206cdc
+70442701
+d8c044e8
+d8a04417
+204077f9
+202055f6
+473ac02e
+7044c300
+7044c200
+700a9941
+202076c0
+da200002
+da40000d
+2040517c
+58000006
+e0a08000
+20600000
+d8a044b0
+18007208
+20405c47
+d8a04413
+18007204
+20405c47
+da20000d
+da400004
+2040517c
+680444b0
+e0a40000
+68024413
+e0a20000
+20600000
+da400005
+202055e2
+da400006
+202055e2
+e8c40000
+600444b0
+e8c20000
+60024413
+20206cdc
+6800843f
+79207e04
+6000843f
+20600000
+20748000
+700a9932
+204076c0
+7044c304
+20205619
+7044c302
+2040562d
+700a9933
+202076c0
+da40000b
+202055e2
+20600000
+20758000
+473b402e
+58000000
+60008048
+60008055
+60008078
+6000807c
+6000c158
+600084d7
+6000816d
+600089b5
+70455900
+70022900
+7004d800
+7009b500
+7009b400
+7004d100
+20600000
+473bc02e
+2054dc39
+2454dc3d
+20405bf6
+247a0000
+6800804c
+c4030000
+793ffe06
+793f8001
+6000804c
+68008551
+6808804c
+2feffe00
+79208401
+6008804c
+18410402
+6008807f
+6808804c
+1fe37e00
+6000807d
+473c402f
+6800807d
+c03fd6a0
+c001d6eb
+c00256fc
+c01e5693
+c002d68f
+c007d8e2
+c008575e
+c011d77c
+c01cd8fb
+c01c58f6
+c018d761
+c01bd7ea
+c013d7e6
+c019d7e3
+c012d7e8
+c0135778
+c003d770
+c016d767
+c0175768
+c000d7df
+c00157ca
+c01458ed
+c004d7c0
+c005d799
+c004577d
+c00657a4
+c00fd774
+c0105776
+c010d804
+c0115804
+c01ad805
+c01b5806
+c0125804
+c01a5807
+c00bd810
+c008d82c
+c0095830
+c009d832
+c006d844
+c0075844
+c017d7e4
+c0185844
+c0055844
+c00c5845
+c0195844
+c01ed84a
+c01f588b
+c01fd885
+c02058b2
+c020d8c4
+c00358e1
+c01d5691
+70007e19
+70007c04
+20600000
+70007c06
+20600000
+70007c3b
+20600000
+68020552
+1fe3fe00
+600240d2
+68008556
+6000c0d9
+68028557
+6002c0e7
+6802855c
+e0a28000
+68008031
+79207e03
+60008031
+20600000
+473cc02f
+68008552
+79207e07
+6000807d
+c040d6c2
+c04156c7
+c04ad7eb
+c04b5804
+c045d7f9
+c041d6df
+c04256e1
+c04856b4
+c04bd6d8
+c04c56dd
+c04cd6b7
+c04d56ba
+c1420000
+70007c82
+70007e19
+20600000
+70007c82
+70007e2e
+20600000
+204056bc
+70007c9a
+20600000
+204056bc
+202056c0
+d8a0465c
+68018553
+e0a18000
+20600000
+2020f012
+20600000
+68008554
+79207e07
+600084c9
+c045d6cc
+20600000
+68008554
+79207e07
+600084c9
+c045d6d0
+20600000
+6800c15a
+6808804c
+7d3a0405
+6008804c
+68008030
+c4028000
+793ffe05
+60008030
+680084d7
+247a0000
+70007c31
+20600000
+2434d6db
+70007c12
+20205c25
+70007c97
+20600000
+20405c25
+20205938
+70007c84
+20600000
+68088555
+18410401
+600884d0
+6800c1ce
+c0a8d6e7
+7041ce00
+68008055
+c18a8000
+70005504
+20205c55
+473d402f
+68008552
+600084c9
+c019d712
+c0045721
+c007d728
+c008572e
+c008d72f
+c0095737
+c00c574d
+c00bd750
+c009d709
+c01ed858
+c01f58a4
+c020585a
+c020d877
+20600000
+473dc02f
+68008552
+600084c9
+c000d744
+c019d71c
+c005d738
+c004573b
+c009d70c
+c0205745
+c020d748
+c00c574b
+c00bd75c
+20600000
+700a9920
+204076c0
+202021dc
+700a9919
+204076c0
+70455902
+58000050
+d8e00006
+20207842
+680084d1
+79207e00
+600084d1
+700a9901
+204076c0
+70007c8b
+68008055
+c082d641
+70005506
+20600000
+7004ca0b
+70007c07
+70005500
+2020d641
+20600000
+6800c1bd
+247a0000
+2040244f
+20405936
+20748000
+79200021
+20600000
+24748000
+70007c10
+6800804c
+c4010000
+70007c12
+20600000
+20205938
+20405993
+68008030
+c3820000
+70007c31
+68008055
+c1850000
+7000550b
+20600000
+20600000
+70007c07
+7004ca13
+20600000
+68008553
+c0035741
+c18c0000
+7004ca18
+70007c07
+20600000
+7004ca06
+70007c07
+20600000
+20600000
+7009ae00
+70007c07
+20205641
+7009ae00
+70007c07
+20205641
+700a9924
+202076c0
+700a9923
+204076c0
+202026e9
+700a9922
+204076c0
+58000000
+60010075
+680141e3
+1fe3fe00
+60010032
+6800c1e5
+60008073
+6800c1e7
+60008074
+202026c6
+700a9921
+202076c0
+68088552
+60088054
+20205772
+680084d1
+79207e02
+600084d1
+c3818000
+70007c31
+20205641
+20600000
+6800c0d0
+68088552
+98467c00
+20215772
+70007c04
+70007e1f
+70007d2e
+20600000
+20405a91
+20205772
+70007c03
+20600000
+70007c21
+20600000
+70007c22
+20600000
+68008055
+c1098000
+70005502
+20600000
+20600000
+20405933
+7004d401
+700a990a
+204076c0
+20405c2d
+2420d93b
+2434d788
+70007c04
+70007d08
+70007e23
+20600000
+6800804b
+79207e02
+6000804b
+20600000
+6808804c
+7d3a0401
+6008804c
+20600000
+6800807f
+1fe37e00
+1fe17e01
+20600000
+6800c217
+207a0000
+680089b5
+205a60ec
+20600000
+20405794
+20405790
+600084d5
+20405933
+70007c0c
+6800c1bd
+247a0000
+68008030
+c3830000
+70007e06
+2020568d
+da200040
+20406bc2
+68020552
+680a0592
+98467c00
+2022d7ad
+70007c07
+7004ca05
+20600000
+204057b1
+6800c658
+203a5878
+20600000
+20406cc0
+204021b2
+6800804b
+2feffe01
+793ffe01
+6000804b
+68008055
+c00cd7bb
+c00c57bb
+20600000
+680089b5
+c1800000
+6800804c
+c3810000
+20205ceb
+da200552
+da400582
+d8a00562
+20406c8c
+da200040
+20405c4b
+70007c0b
+68008030
+c3035936
+20600000
+6801015f
+1fe0f3fd
+68088552
+58000101
+98408a00
+d8c00554
+2040783b
+68088053
+68008553
+98467e00
+1fe67c0e
+202157da
+1840fe0e
+60008053
+70007c01
+20600000
+6800804c
+79207e03
+6000804c
+c2825940
+20600000
+68008552
+6000807d
+70007c02
+20600000
+20205772
+70007c30
+20600000
+70007c28
+20600000
+70007c26
+20600000
+20600000
+68010032
+98000400
+68008553
+60008095
+984f8400
+68010554
+1fe3fe00
+60010096
+68020556
+1fe3fe00
+60020091
+18427e00
+60010098
+20600000
+6808c15a
+68008553
+9842fc00
+2422d6b1
+2feffe00
+6800804c
+7920fe05
+6000804c
+70007c81
+70007d8b
+20600000
+20600000
+20205772
+20205772
+68010552
+60010171
+20600000
+68010555
+6808c172
+984ffe00
+d8400640
+98467c00
+20600000
+68010557
+203a582a
+2040580a
+2021582a
+6800c092
+1fe67c0a
+2042b664
+68008030
+c280d82a
+68010553
+1fe3fe00
+60010075
+68010555
+1fe3fe00
+60010032
+68010557
+60008073
+98000400
+68010559
+60008074
+98467c00
+24215827
+60008073
+70007c03
+70007d17
+20600000
+70007e24
+2020568d
+20405772
+20405933
+20406bc5
+202026b8
+20405772
+202026c0
+68020552
+1fe3fe00
+2034d83e
+6808c1bd
+243a583b
+70007c04
+70007d13
+70007e24
+20600000
+70007c34
+70005500
+202021d9
+204021d9
+79200022
+6800816d
+793ffe02
+6000816d
+20205772
+20600000
+70007c03
+70007d18
+700a992e
+204076c0
+202026e9
+68008552
+c080d856
+68008553
+c080d856
+68008554
+c0985856
+20405c36
+2020d853
+7009ae01
+70007c03
+70007d3d
+20205641
+70007e24
+2020568d
+70007c3e
+20600000
+6800c660
+c000d861
+c0015865
+20405c36
+20608000
+7009ae08
+20600000
+2040729c
+700a9935
+204076c0
+2020585d
+20405c36
+20608000
+6800c661
+c009d875
+1fe0fe01
+6000c661
+7009b001
+7009ae04
+6800c661
+1fe20e00
+68034688
+afefffff
+58000080
+7920fe00
+6000c662
+20600000
+7009ae08
+20600000
+2040587d
+6800c663
+207a0000
+70466300
+700a9938
+202076c0
+20405c36
+2440f29f
+2040f2af
+20405c36
+20608000
+7009ae0c
+7009b001
+20600000
+d8a00a6e
+d8c00552
+204077f9
+6800c660
+c1010000
+20207012
+680089af
+c003d88f
+680089ae
+c080d8a2
+680089b7
+1fe60a20
+242158a2
+d8a009c6
+98a08a00
+68040552
+e0a40000
+6804055a
+e0a40000
+680089b7
+1fe0fe10
+600089b7
+c0985772
+20405c36
+2020d772
+7009b801
+7009ae02
+7009b001
+20205772
+70007e24
+2020568d
+680089b6
+c01858a8
+70007c3e
+20205641
+20405c36
+2020d8b1
+6800c660
+c00158af
+7009b001
+7009ae04
+20205641
+700a9936
+202076c0
+20205641
+680089af
+c003d8b6
+680089ae
+c08358c2
+d8a00a2e
+68040552
+e0a40000
+6804055a
+e0a40000
+20405c36
+2020d8c0
+7009ae07
+7009b001
+20205772
+7009af04
+20207012
+70007e24
+2020568d
+680089af
+c005d8c8
+680089ae
+c08458d7
+d8a00a5e
+d8c00552
+204077f9
+20405c36
+2020d8d4
+6800c660
+c000d8d9
+70465f00
+7009ae09
+7009b001
+70007d41
+20205641
+7009af09
+7009b101
+20205641
+70007e24
+2020568d
+6800c65f
+c283d8de
+79207e06
+6000c65f
+20600000
+c28058cf
+70465f00
+202058d7
+20205641
+6800816d
+793ffe01
+6000816d
+20405772
+24748000
+68008552
+6808804b
+793a0404
+7d3a0405
+6008804b
+20600000
+680c0552
+68008055
+c1818000
+6800816d
+c30258f4
+70005514
+20600000
+70005504
+20600000
+6800817f
+6000815b
+70007c03
+70007d38
+20600000
+70007c03
+70007d39
+18007209
+d8c00552
+d8a00152
+e8c08000
+1fe2fe55
+e0a08000
+c2005900
+68008152
+68088151
+793f8407
+793f8404
+c07fd914
+c000592d
+c002d921
+c003d920
+c0035921
+c0045920
+c000d919
+c0015919
+c001d919
+c004d919
+c0025919
+20600000
+68008151
+79207e03
+79207e02
+60008151
+20600000
+79200404
+70018005
+68010159
+98007200
+6001015f
+d8a00551
+204078ad
+79200407
+79200402
+18007e00
+6000800b
+600100fa
+600100fc
+600100f8
+600100f6
+68008153
+2fe1fe00
+79208406
+60088151
+20600000
+793f8011
+70015100
+6800817f
+793ffe06
+6000817f
+20600000
+d8c00552
+d8a00562
+202077f9
+70007c09
+20600000
+24748000
+70007c11
+20600000
+da2040a0
+20406b8f
+70007c03
+70007d08
+20600000
+7000720a
+70007c07
+7004ca16
+20600000
+473e402f
+78547c00
+20405bfb
+68008048
+207a0000
+c283d979
+c000daa9
+c0015a1e
+c001d984
+c002599a
+c013db15
+c0145a42
+c0185a2e
+c012db10
+c0135a3d
+c018dafd
+c01bdaa4
+c019da96
+c0045b93
+c004db89
+c005db9e
+c0065ba7
+c007da9c
+c0085bcc
+c008dbc2
+c003da8c
+c0155ab8
+c0055ab9
+c00fdaf6
+c0035a33
+c010da99
+c016daec
+c0175af1
+c0115a99
+c01a5aba
+c009dacf
+c00bdade
+c0095bc9
+c017dae4
+c00c5ae9
+c01edb39
+c01f5b45
+c01fdb57
+c0205b61
+c020db76
+c011db85
+c01ddb80
+c002db86
+c014db87
+c01c5b88
+c01cdaaf
+20202a8c
+20600000
+c040d9a7
+c04259d3
+c04159b0
+c041da47
+c045da52
+c04bda88
+c04cda0f
+c04d59de
+c04ada14
+c04b5a15
+20202a8c
+18007e02
+20405bd2
+68008049
+e0a08000
+20405be1
+473ec02f
+68008049
+c00459ba
+c007d9be
+c00859c9
+c00bd999
+c019d9cc
+c020d9d2
+c008d993
+20600000
+68008055
+207a0000
+7000551b
+5800000c
+d8e00007
+20207842
+202026c6
+18007e03
+20405bd2
+68008049
+c005d9a2
+e0a08000
+6800804a
+e0a08000
+20205be1
+e0a08000
+6800804a
+e0a08000
+d84004d5
+20205c1c
+18000e04
+20405bda
+5800007f
+e0a08000
+68008049
+793ffe07
+e0a08000
+68008049
+20205be1
+18000e05
+20405bda
+5800007f
+e0a08000
+68008049
+793ffe07
+e0a08000
+6800804a
+e0a08000
+20205be1
+2040244f
+20405c2d
+20608000
+20205936
+6800804b
+c282d9c5
+c4020000
+70007c12
+793ffe04
+20405c25
+202059c7
+70007c10
+793ffe05
+6000804b
+20600000
+20405c36
+2020d938
+20600000
+70007c8b
+680084d1
+79207e00
+600084d1
+700a9901
+202076c0
+20600000
+18000e0c
+20405bda
+58000001
+e0a08000
+680104ce
+e0a10000
+58000000
+e0a18000
+58000000
+e0a20000
+20205bea
+18000e05
+20405bda
+6801c659
+e0a18000
+20405bea
+70466301
+6800c659
+c000d9ef
+c00159e9
+c001d9f5
+20600000
+6800c65c
+c0005a01
+c000da01
+c0015a01
+c001d9fb
+20600000
+6800c65c
+c00059fb
+c000d9ff
+c0015a01
+c001d9fb
+20600000
+6800c65c
+c00059fb
+c000d9fb
+c00159fb
+c001d9fb
+20600000
+70466003
+6800c55a
+c2802da6
+20600000
+70466001
+20600000
+70466002
+20600000
+d8e00000
+20205a07
+d8e00000
+20205a0b
+6800c55a
+f9207e00
+6000c55a
+20600000
+6800c55a
+f93ffe00
+6000c55a
+20600000
+18000e05
+20405bda
+6801c659
+e0a18000
+20205bec
+20600000
+18000e09
+20405bda
+68008095
+e0a08000
+68010096
+e0a10000
+68020091
+e0a20000
+20205bea
+18007e11
+20405bd2
+68008049
+1fe20400
+c0005a26
+c0075a26
+c00e5a26
+20600000
+e0a08000
+6800c513
+e0a08000
+df20000e
+58004514
+98408c00
+2040783b
+20205bea
+18007e03
+20405bd2
+58000114
+e0a10000
+20205bea
+18007e03
+20405bd2
+68020165
+9c467e00
+2034da39
+1fe67e00
+1feb7e00
+793ffe0f
+e0a10000
+20205bea
+18007e06
+20405bd2
+6802c50e
+e0a28000
+20205bea
+18007e09
+20405bd2
+68044098
+e0a40000
+20205bea
+18000e0c
+20405bda
+58000001
+e0a08000
+680104ce
+e0a10000
+58000000
+e0a18000
+58000000
+e0a20000
+20205bec
+18000e03
+20405bda
+6800c15a
+e0a08000
+78547c00
+20405bec
+24740000
+24748000
+6800c0d8
+c4000000
+20405a6c
+20205a76
+473f402f
+6800c09e
+79207e03
+6000c09e
+58000101
+600104ce
+20600000
+473fc02f
+6800c09e
+793ffe03
+6000c09e
+58000000
+600104ce
+20600000
+7040d803
+58000000
+60024142
+d8a040da
+20405a7a
+d8a040e7
+20405a7a
+d8a04146
+20405a7a
+20205a81
+d8a040e7
+20405a7a
+20405a81
+20205a84
+58ffffff
+e0a18000
+e0a18000
+e0a18000
+5800007f
+e0a08000
+20600000
+58000000
+600140d6
+20600000
+6800c0d8
+79207e02
+6000c0d8
+20600000
+18000e02
+20405bda
+2434dbea
+20205bec
+18007e02
+20405bd2
+680084ca
+e0a08000
+20405bec
+6800804b
+79207e03
+6000804b
+70007232
+20600000
+18007e01
+20405bd2
+20205bec
+18007e01
+20405bd2
+20205bea
+18007e02
+20405bd2
+6800804c
+2fec0002
+7920fe00
+1fe17e01
+e0a08000
+20205bec
+18007e03
+20405bd2
+68010051
+e0a10000
+20205bec
+700072fa
+18007e02
+20405bd2
+68008053
+e0a08000
+20205bec
+18007e0a
+20405bd2
+d8c00152
+18007209
+e8c08000
+1fe2fe55
+e0a08000
+c2005ab3
+20205bec
+20205bec
+20205bec
+20748000
+2040282d
+18007e09
+20405bd2
+68010171
+e0a10000
+6801c0a0
+e0a18000
+6800c0a3
+e0a08000
+680140a4
+e0a10000
+c581dacb
+793f8003
+20405bec
+70007c13
+20600000
+20405bea
+70007c03
+70007d13
+20600000
+d8400200
+2034dad3
+1d027e00
+20205ad4
+1c427e00
+1c227e00
+9840fe00
+1fe17ffc
+60020034
+18007e05
+20405bd2
+68020034
+1fe37e00
+e0a20000
+20205bec
+18007e0a
+20405bd2
+d8c004d9
+e8c48000
+e0a48000
+20205bec
+18007e03
+20405bd2
+58000114
+e0a10000
+20205bec
+18007e01
+20405bd2
+20205bec
+18007e02
+20405bd2
+6800c0d0
+e0a08000
+20205bec
+18007e02
+20405bd2
+58000005
+e0a08000
+20205bec
+18007e02
+20405bd2
+58000000
+e0a08000
+20205bec
+70007c2e
+20600000
+6800c092
+1fe67c0a
+2042dafb
+68008030
+79207e04
+60008030
+1c427e00
+600204e9
+680084d1
+c281db0e
+79207e03
+600084d1
+700a9905
+204076c0
+18007e01
+20405bd2
+20205bec
+70004800
+20600000
+18007e06
+20405bd2
+6802c50e
+e0a28000
+20205bec
+18007e09
+20405bd2
+68044098
+e0a40000
+20205bec
+7009b101
+6800c5af
+c1808000
+7009af13
+20600000
+20405c29
+70007c99
+7009af03
+20600000
+20405c29
+70007c3d
+7009af07
+20600000
+da200a4e
+da400a6e
+df200010
+204078c2
+2022db31
+7009af00
+20407014
+70007e24
+70007d40
+2020568d
+7009af0a
+20407012
+70007d40
+20205772
+70007c40
+20600000
+70007c3d
+20600000
+7009b600
+18007e04
+20405bd2
+18007e01
+e0a08000
+18007e01
+e0a08000
+18007e30
+e0a08000
+20405c36
+2020dbec
+20205bea
+18007e11
+20405bd2
+680089b6
+d8c04628
+98c08c00
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+680089b6
+1fe0fe10
+600089b6
+20405c36
+2020dbec
+20205bea
+7009ae06
+70007c3f
+20600000
+18007e11
+20405bd2
+d8c00a4e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+20205bea
+70007c40
+20600000
+20405c36
+2040ef4c
+18007e11
+20405bd2
+d8c00a1e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+20405c36
+2420dbea
+2020dbec
+7009af0f
+20405c29
+70007c0b
+20405c41
+2020ef88
+20206f92
+20405c25
+70007c41
+20600000
+18007e11
+20405bd2
+d8c00a4e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+20405c36
+2420dbea
+2020dbec
+18007e03
+20405bd2
+5800fffe
+e0a10000
+20205bea
+20205bec
+20205bec
+20205bec
+20205bec
+20405c45
+da2040a0
+20405c4b
+18007e11
+20405bd2
+da200582
+da400562
+20406c8c
+2434dbe1
+20205be7
+20405c45
+da200040
+20406b8f
+18007e11
+20405bd2
+d8c00562
+204077f9
+68008055
+c00cdbec
+c00c5bec
+20205be7
+680089b5
+203a5ba4
+20405c36
+2040dc29
+2440dc25
+20205ba5
+20405c29
+20405c45
+20205b96
+da2040a0
+20406bc2
+18007e05
+20405bd2
+68020592
+e0a20000
+d84004d5
+20405c1c
+20406cc0
+20405c36
+2020dbb6
+7004d801
+680089b5
+207a0000
+70007c0b
+6800c1bd
+207a0000
+20405c36
+2420dbbe
+680084d7
+207a0000
+70007c0f
+20600000
+c6908000
+793f8021
+70007c0f
+20600000
+20405c45
+20406bc5
+18007e11
+20405bd2
+d8c00562
+204077f9
+20205be7
+18007e01
+20405bd2
+20205be7
+18007e02
+20405bd2
+18007e10
+e0a08000
+60008054
+20205be7
+1fe9fe00
+1fe1fe07
+600084b6
+df200011
+d8a004b8
+2040780e
+d8a004b8
+20600000
+1fe1227f
+7000487f
+18e27e00
+20405bd2
+1a227e00
+e0a08000
+20600000
+68008048
+1fe3fe00
+6808804c
+284ffe01
+7920fe00
+20205bf1
+6808804c
+18410401
+20205bed
+18000400
+20205bed
+18000401
+68008048
+1fe3fe00
+7934fe00
+9842fe00
+600084b7
+70004800
+20405c01
+78347c00
+20600000
+6800807c
+207a0000
+20405bfb
+6800807c
+20600000
+47404030
+68008048
+203a5c01
+68008078
+247a0000
+20205c0b
+68008078
+203a5c11
+68018078
+60018048
+6808807b
+6800804c
+793ffe01
+9841fe00
+6000804c
+70007800
+6800807c
+207a0000
+6802007c
+60020078
+70007c00
+20600000
+6800807c
+207a0000
+6801807c
+60018048
+6808807f
+6800804c
+793ffe01
+9841fe00
+6000804c
+70007c00
+20600000
+4740c030
+6800804c
+1fe22600
+e8408000
+2040578c
+20405be1
+1a627e00
+6000804c
+20600000
+6808804c
+793f8400
+6008804c
+20600000
+6808804c
+79200400
+6008804c
+20600000
+7d34fe01
+6808804c
+9842fe00
+2feffe01
+20600000
+6800804c
+7934fe01
+6000804c
+20600000
+680089b4
+2fe0fe01
+20600000
+680089b4
+79207e07
+600089b4
+20600000
+680089b4
+793ffe07
+600089b4
+20600000
+680089b4
+2feffe07
+600089b4
+20600000
+d8a00562
+18007210
+180a7e00
+e0a08000
+c2005c47
+20600000
+20406b93
+da2041be
+da400592
+ea240000
+68088030
+7d3a0406
+60088030
+1a220a00
+20406c8c
+202021c4
+47414030
+20405bf6
+247a0000
+68008055
+207a0000
+c0025ca9
+c002dcae
+c0015ca0
+c001dcb6
+c0075ca3
+c0035cd2
+c003dcea
+c004dceb
+c0055cf4
+c005dcf8
+c0065cc0
+c006dcc3
+c007dcc9
+c0095c93
+c009dcb6
+c0085c96
+c00a5c90
+c00adcb6
+c00b5c8a
+c00c5c8f
+c00bdc83
+c00cdc89
+c00d5c74
+c00ddc7e
+70005500
+20600000
+680084d1
+c4010000
+c4018000
+70005500
+20405c7a
+20206629
+6800816d
+c4008000
+7000550a
+20600000
+d8e00007
+20407850
+247a0000
+7000551a
+20600000
+6800816d
+793ffe00
+6000816d
+70005519
+70007c0b
+20600000
+20600000
+680084d4
+c1810000
+20405cfa
+70005518
+20600000
+20600000
+70005515
+70007c83
+20600000
+70005513
+70007c25
+20600000
+6800c559
+c1000000
+c000dc9e
+d8e00006
+20407850
+247a0000
+70455900
+20205cb7
+20748000
+20205cd2
+70005503
+70007c27
+20600000
+70007c13
+79200003
+70005505
+580001ff
+600104d2
+20600000
+70005505
+7004d2ff
+793f8022
+70007c33
+2020563e
+c6110000
+680104d2
+1fe67e01
+2022dcb4
+600104d2
+20600000
+7000550e
+20600000
+20600000
+680084d1
+c4018000
+c4010000
+6800816d
+793ffe02
+6000816d
+70007c13
+70005510
+20600000
+7000550d
+70007c31
+20600000
+680084d1
+c4010000
+70005500
+20600000
+70005506
+20600000
+680084d2
+1fe0ffff
+203a5cce
+600084d2
+20600000
+70007c07
+7004ca16
+70005500
+20600000
+6800816d
+c2815cb7
+c2805cd7
+7000551a
+20600000
+6800c1bd
+203a5ce3
+680084d1
+c4018000
+c4010000
+680204e9
+d8400064
+98408400
+1c427e00
+98467c00
+24610000
+20205c83
+70005516
+70468704
+58003030
+60014688
+e0a10000
+7004d402
+20205c8a
+20600000
+6800816d
+c280dcef
+7000551a
+20600000
+6800816d
+793ffe01
+6000816d
+70007c0f
+20600000
+680084d8
+207a0000
+70005500
+20205cef
+7000550c
+20600000
+6800804b
+c2815cff
+20405c29
+70007c08
+2020463e
+6800804b
+793ffe02
+6000804b
+2040593b
+20405c32
+2020463e
+58000004
+6000c687
+58003030
+e0a10000
+e0a10000
+20600000
+47434030
+68108073
+d8400006
+9841fe00
+60108073
+68108077
+9841fe00
+60108077
+20405d28
+68108077
+793ffe01
+793ffe02
+60108077
+2000001e
+20205d2c
+68108073
+d84000c0
+9841fe00
+60108073
+68108077
+9841fe00
+60108077
+20405d28
+68108077
+793ffe06
+793ffe07
+60108077
+2000001e
+20205d30
+68108081
+1fe17efc
+60108081
+20600000
+68108081
+1fe1fe01
+60108081
+20600000
+68108081
+1fe1fe03
+793ffe04
+60108081
+20600000
+1fe22400
+20405d49
+20000064
+1a427e00
+20405d4e
+1fe22400
+20405d4b
+20000064
+1a427e00
+20600000
+1fe22400
+20405d49
+20000064
+1a427e00
+20405d4d
+20405d4b
+20000064
+20600000
+6808c214
+20206148
+6808c214
+20206163
+6808c214
+2020615f
+20205e26
+20205e2d
+24345d53
+68108085
+1fe1fe02
+60108085
+18427c00
+2022dd56
+1a627a00
+2fcc0000
+20205df3
+18000404
+da2001fe
+68108085
+1fe17efd
+60108085
+20405d53
+da2055aa
+680101fe
+e8c90000
+9a267c00
+20600000
+d8400002
+da200204
+20405d53
+68010204
+600101f7
+20545d6a
+20600000
+d8400010
+da200206
+68108085
+1fe17efd
+60108085
+20405d53
+d8c00206
+df200010
+20406db2
+20406d62
+20406dcb
+20206d5c
+7856fc00
+20405d58
+24628000
+7836fc00
+70802380
+70802200
+70802400
+da208025
+20405d4f
+70802300
+d8400006
+20405d59
+24628000
+e8c10000
+98002200
+20405d53
+20205d80
+204078d3
+58001000
+600101f7
+da605f1f
+df200002
+20405d58
+24628000
+680101f7
+1ff0fe00
+9840fe00
+1ff0fe00
+600101f7
+c2005d8c
+20205d80
+204078d3
+78547c00
+20405fa4
+58000000
+da2001f3
+d8400002
+20405fed
+680101f3
+c303dda8
+70805025
+580007f0
+da200206
+d8400010
+20405fed
+70800608
+7920002d
+d8c00206
+20406dbe
+78347c00
+7041da00
+20405dea
+680101f3
+1ff0fe00
+d84007ff
+98417e00
+2022ddb5
+20405fa9
+da605ff2
+20545d6a
+20405d76
+680081f2
+c3005da9
+20405fa7
+7041da00
+20405dea
+20405efc
+680081f3
+c2835dc8
+20405de4
+2436ddc0
+680081f2
+c3005db7
+20205dd5
+20405ef9
+680081f3
+c2835dc8
+20405de4
+2436ddc8
+680081f2
+c3005db7
+20205dd5
+7041da00
+20405dea
+680081f3
+c282ddd5
+58000000
+600181f6
+20405e3c
+da605eb2
+20405d63
+20405d76
+2436ddd5
+680081f2
+c3005dc9
+c516ddd7
+20405ddd
+680081f3
+c3025ddd
+70805021
+20404548
+20404568
+20205ddb
+58000000
+60040206
+6004020e
+18007004
+20406dcc
+70805021
+20600000
+58000000
+600101f7
+da605f1f
+20405edd
+20405d63
+20205d76
+6800c1da
+1fe0fe01
+1fe67c03
+24215df0
+6000c1da
+20600000
+20405ddd
+204078db
+20600000
+680081f2
+1fe3fe00
+7920fe00
+2a2c000f
+20608000
+600081f2
+20600000
+68108085
+c4008000
+20205e00
+6810812c
+afefffff
+20608000
+68108108
+c300ddfd
+20406d5c
+20205dfd
+68014199
+207a0000
+70802380
+70802200
+70802400
+6809419b
+184bf200
+98000c00
+e8c08000
+60108025
+c2005e0c
+70802300
+20600000
+4743c030
+20405e17
+20205d2c
+20405e17
+20405d28
+20205d30
+6800c212
+60108086
+6800c213
+60108087
+580001f5
+6011008a
+580001fa
+6011008c
+20205d28
+68108086
+79207e07
+60108086
+793ffe07
+60108086
+20600000
+79207e07
+600101f5
+47444031
+70808802
+70808e00
+70800602
+20205e36
+18000401
+600081f5
+4744c031
+70808801
+6019008e
+70800602
+20405e36
+680081fa
+20600000
+680140d6
+1fe0fe01
+600140d6
+6810812c
+c301de36
+20600000
+70808640
+70808700
+68108081
+793ffe00
+79207e01
+60108081
+58000000
+600201f5
+20600000
+58000000
+6011008e
+58000001
+60110088
+580001f5
+6011008a
+7001f506
+70800602
+20205e36
+78547c00
+1fe22400
+6800c239
+c1800000
+78347c00
+1a427e00
+20205e5c
+6800c239
+c000de5c
+c0015e62
+c001de6a
+c0025e71
+c002de77
+20600000
+6001c232
+1a227e00
+60014235
+60094237
+70423902
+20205e3c
+20405e3c
+70423903
+20405e45
+da2001f5
+6801c232
+70808804
+d8400020
+20205e90
+20405e3c
+20405e45
+58000005
+20405e2d
+c3800000
+70423904
+20600000
+20405e3c
+70423905
+20405e45
+20405e84
+20405e8c
+20205e7f
+20405e3c
+20405e45
+58000005
+20405e2d
+c3800000
+70423900
+68014201
+202078d6
+68020aa2
+68094235
+184085fc
+e0420000
+20600000
+68094235
+18422200
+184085fc
+e8420000
+60020aa2
+68094237
+6801c232
+20600000
+18408404
+60190088
+d8400002
+1a20a3fc
+e2288000
+1ff10400
+e0a88000
+1fec8400
+e0a88000
+e0a08000
+1a227e00
+6011008a
+58000000
+6011008e
+70800602
+20205e36
+6019008e
+1ff10400
+600881f6
+1fec8400
+600881f7
+600081f8
+58000004
+60110088
+7001f503
+580001f5
+6011008a
+1a227e00
+6011008c
+68108086
+2a2c000f
+7920fe06
+60108086
+70800602
+6810812c
+c283deae
+d8e00003
+20205e36
+6019008e
+58000004
+60110088
+7001f503
+580001f5
+6011008a
+1a227e00
+6011008c
+68108086
+2a2c000f
+7920fe06
+60108086
+70800602
+6810812c
+c283debf
+d8e00003
+20405dfa
+20405e36
+2feffe02
+20405df3
+680081f6
+1ff02400
+680081f7
+1fed7e00
+9a41a400
+680081f8
+9a41fe00
+9840fe00
+600081f8
+1fecfe00
+600081f7
+1fecfe00
+600081f6
+20600000
+70801001
+20600000
+7080910c
+7080920d
+7080930d
+7080940d
+7080950d
+7080960c
+20205ee3
+70809105
+70809207
+70809307
+70809407
+70809507
+70809605
+6810807b
+1fe1fec0
+6010807b
+68108081
+1fe1fe10
+60108081
+20600000
+6810812c
+c302deea
+20600000
+60110098
+1a227e00
+6011009a
+1a427e00
+6011009c
+18427e00
+6011009e
+d8400001
+7d3a0401
+60108090
+70800604
+20205eea
+7920002a
+70421108
+20600000
+793f802a
+70421120
+20600000
+6800c203
+9a40fe00
+600081f7
+20205f06
+680101f7
+1ff0fe00
+600081f7
+58000003
+60110098
+7001f6a0
+7001f8a1
+20205f25
+60090aa2
+20405f10
+68090aa2
+20405f40
+20205f17
+6800c23a
+c17f8000
+c3035f15
+580249f0
+20402a8f
+6808c23a
+20206163
+6808c23a
+2020615f
+47454031
+c5155eff
+68014203
+9a40fe00
+1ff0fe00
+600101f7
+4745c031
+c5155f03
+58000004
+60110098
+7001f6a0
+7001f9a1
+580001f6
+6011009a
+6019009e
+1a227e00
+6011009c
+58000002
+2a2c000f
+7920fe00
+60108090
+70800604
+d8e00005
+20405dfa
+20405eea
+2feffe04
+20405df3
+c5155f3b
+680101f7
+1ff0fe00
+9840fe00
+1ff0fe00
+600101f7
+20600000
+680081f7
+9840fe00
+1ff0fe00
+600101f7
+20600000
+68014203
+9a40fe00
+60010a9a
+47464031
+60090aa2
+1a227e00
+60010ab9
+20405f57
+68090ab2
+68010ab9
+1fe22200
+68010a9a
+20405f77
+68010ab2
+68090ab9
+98408400
+60090ab9
+68090a9a
+98408400
+60090a9a
+68010aa2
+243a5f47
+20600000
+4746c031
+6800c211
+1fe0ffff
+68090a9a
+9841fe00
+1fe0fe01
+60018ab6
+68010aa2
+9840fe00
+68098ab6
+98467e00
+24215f69
+60010aa2
+68018ab6
+68090a9a
+98467e00
+60010ab2
+20600000
+68010aa2
+60010ab2
+58000000
+60010aa2
+20600000
+18408402
+60190098
+1a20a3fe
+ea298000
+18422400
+d84000a0
+e2288000
+e0a08000
+20205f84
+1fe22400
+47474031
+c5155f6e
+1a427e00
+18408403
+60190098
+1a20a3fd
+ea298000
+18422400
+d84000a0
+e2288000
+1ff0fe00
+e0a10000
+1a227e00
+6011009a
+58000000
+6011009e
+70809001
+70800604
+20405eea
+1a427e00
+e2218000
+4747c031
+7001f900
+58000001
+60110098
+7001f6a0
+580001f6
+6011009a
+58000000
+6011009e
+6011009c
+58000003
+60108090
+70800604
+20405eea
+6810812c
+c4030000
+200005dc
+680081f9
+1fe0fe01
+600081f9
+1fe67c28
+24610000
+20205f8f
+70897370
+20000bb8
+20600000
+70897330
+20600000
+1fe9fe00
+60110045
+70804b00
+20600000
+20405fa9
+20405fda
+ea288000
+1a20a201
+18000e00
+a84c0000
+2020dfd1
+68108046
+79207e06
+79207e07
+60108046
+70804702
+70804782
+793ffe07
+60108046
+7080478a
+2000000b
+708047ca
+20000021
+7080474a
+2000002c
+708047ca
+20000016
+7080478a
+20000021
+70804782
+20000001
+70804792
+2000000a
+708047b2
+68108007
+70804792
+20000001
+70804782
+afec0000
+2020dfb2
+68110045
+1fe0fe01
+60110045
+18e08e01
+28e01e08
+2420dfb2
+c2005faf
+70804783
+20600000
+70804782
+2000000c
+70804780
+70804782
+20000096
+20600000
+20405fda
+708047a2
+1a227e00
+60110048
+7920040b
+2fec000f
+7920840f
+6019004a
+70800601
+20600000
+6810812c
+c300dfea
+20600000
+20405fa9
+20405fe0
+20405fea
+70804783
+20600000
+68110124
+60110045
+20405fe0
+d8e00001
+20405dfa
+20405fea
+2feffe00
+20405df3
+70804783
+20600000
+6811005e
+98001400
+20600000
+19427e00
+6011005e
+20600000
+18627e00
+60110058
+20600000
+68110058
+1fe20600
+20600000
+68014241
+60110052
+20600000
+1f227e00
+207a0000
+1f20f3f8
+20416018
+20628000
+2021600d
+1f20f208
+1f20f3fc
+2041601b
+20628000
+20216012
+1f20f204
+2020601e
+e8c40000
+e1440000
+20600000
+e8c20000
+e1420000
+20600000
+1f227e00
+207a0000
+e8c08000
+e1408000
+c2006020
+20600000
+1f227e00
+207a0000
+1f20f3f8
+20416031
+20628000
+20216026
+1f20f208
+1f20f3fc
+20416034
+20628000
+2021602b
+1f20f204
+20206037
+e8640000
+e0a40000
+20600000
+e8620000
+e0a20000
+20600000
+1f227e00
+207a0000
+e8608000
+e0a08000
+c2006039
+20600000
+1f227e00
+207a0000
+e8608000
+e1408000
+c200603f
+20600000
+700a993d
+202076c0
+47484032
+6800c217
+207a0000
+204060dd
+2042e0e3
+20406078
+6800c217
+1fe22600
+68094215
+6009018c
+1a627e00
+203a6043
+1a60a7ff
+18422200
+ea208000
+68088184
+98467c00
+2042e05f
+2021605b
+ea208000
+1fe0fe01
+e2208000
+6809018c
+18408422
+6009018c
+2020604f
+58000000
+e2208000
+68008185
+e0a08000
+c099e06d
+da4041be
+e8c30000
+e0a40000
+58000000
+e0a40000
+1a420c00
+204077f9
+18007c01
+20600000
+c01b6071
+c01be075
+da404417
+20206065
+d8c044d3
+204077f9
+d8c04417
+2020606a
+d8c044cb
+204077f9
+20206073
+20407923
+6800c217
+207a0000
+68014680
+c280608e
+4748c032
+6800c48c
+c0006087
+68008454
+2fe180c0
+2020e087
+2fe18040
+2020e08c
+2fe18000
+2020e08a
+70018535
+6803044f
+20206091
+70018537
+20206091
+70018536
+20206091
+47494032
+70018533
+68030040
+60030186
+68014215
+efe88000
+1fe0fe01
+6001018c
+60088184
+6800c217
+1fe22600
+6801018c
+1fe22200
+204060a9
+20740000
+6809018c
+18408422
+6009018c
+184085ff
+e8408000
+60008184
+1a60a7ff
+2422e099
+6800c217
+1fe0ffff
+60008184
+20600000
+68008185
+c099e0b0
+da400185
+df200007
+204078c2
+2022f921
+20600000
+c01b60b3
+c01be0ce
+202060ab
+ea288000
+98467c00
+24628000
+d8a00ac2
+df200010
+2040780e
+68018452
+60018ac2
+204060c5
+68010adf
+1ff0fe00
+1fed0400
+e8c08000
+9840fe00
+6809844f
+98467c00
+2022f921
+20600000
+d8c00ac2
+20406dc0
+ea208000
+20406dc1
+18006c38
+18006c00
+20406d57
+d8a00ad2
+20206dd1
+ea288000
+98467c00
+24628000
+18c22200
+18c0a608
+da4044cb
+df200008
+204078c2
+2022f921
+1a622200
+da4044d3
+df200008
+204078c2
+2022f921
+20600000
+68014215
+efe88000
+1fe0fe22
+efe08000
+98467c00
+20600000
+6800c217
+1fe27200
+68094215
+58000000
+e0408000
+18408422
+1fe0fe01
+c20060e7
+20600000
+4749c032
+20406078
+68008030
+79347e06
+60008030
+243460f6
+1a208c0a
+d8a041be
+204077f9
+20206111
+7041bd00
+20600000
+6804c4c9
+203a6104
+20406078
+24346104
+6801018c
+1fe08c01
+d8a044d3
+204077f9
+d8a04417
+204077f9
+70442701
+20600000
+70442700
+20600000
+6803044f
+60030186
+70018534
+2020610d
+68030040
+60030186
+70018533
+6800c092
+c0056045
+c2833c4d
+20600000
+680441be
+680c41c6
+9841fe00
+207a0000
+7041bd01
+20600000
+474a4032
+79200407
+20406157
+7d208407
+474ac032
+18467cff
+20628000
+284c0007
+18410e1f
+680200a1
+f920fe00
+600200a1
+680200a5
+fd20fe00
+600200a5
+20600000
+474b4032
+18467cff
+20628000
+284c0007
+18410e1f
+680200a1
+f93ffe00
+600200a1
+680200a5
+f93ffe00
+600200a5
+20600000
+20406127
+20206138
+18467cff
+20628000
+2455e11b
+d8a0807c
+2040616a
+79400407
+d8a08078
+2040616a
+793f8407
+d8a08070
+2020616a
+d8a0807c
+2040616a
+793f8407
+d8a08078
+2040616a
+793f8407
+d8a08070
+2020616a
+18467cff
+20628000
+79400407
+20406169
+79200407
+d8a08070
+2020616a
+18410e07
+18497e00
+1fe17e03
+98a08a00
+e8a08000
+20600000
+d8a08074
+20206158
+d8a0811c
+2040614f
+284ffe07
+2020e15d
+afec0000
+20600000
+afefffff
+20600000
+18467cff
+20628000
+2fcffe07
+20206166
+18467cff
+20628000
+2fcc0007
+58000000
+7d20fe07
+98428400
+d8a08074
+2040614f
+284ffe07
+f920fe00
+e0a08000
+20600000
+da3fffff
+68108081
+2fe00602
+2040e1b2
+2fe00601
+2040e1b4
+2fe00603
+2040e1b4
+2feffe02
+2040e1ae
+2feffe03
+2040e1b0
+2feffe04
+2040e1b6
+2feffe06
+7d20a204
+2feffe07
+7d20a205
+68108082
+2feffe00
+7d20a21b
+2feffe01
+7d20a21c
+2feffe02
+7d20a203
+2feffe03
+7d20a208
+2feffe04
+7d20a214
+2feffe05
+7d20a215
+2feffe06
+7d20a216
+2feffe07
+7d20a217
+68108080
+2feffe00
+7d20a205
+2feffe01
+7d20a206
+2feffe02
+7d20a207
+2feffe03
+7d20a212
+2feffe04
+7d20a213
+2feffe05
+7d20a214
+2feffe06
+7d20a215
+2feffe07
+7d20a216
+68108062
+2feffe04
+2040e1b8
+474bc032
+68120078
+681a007c
+9841fe00
+1fe47e00
+9a217e00
+60120070
+20600000
+d8e00006
+202061be
+d8e00009
+202061bc
+d8e00017
+202061bc
+d8e00019
+202061be
+d8e0001e
+202061be
+d8e00002
+202061be
+df200001
+202061bf
+df200004
+202061bf
+df200002
+f93fa200
+18e08e01
+c20061bf
+20600000
+204061cf
+d8400006
+20206148
+204061c3
+d8400006
+2020615f
+204061cf
+68108078
+79207e07
+60108078
+d8400007
+20206135
+68108081
+1fe17efb
+60108081
+20600000
+68108081
+2feffe02
+20600000
+20405fa4
+580007e0
+da204150
+d8400002
+20405fed
+20205fa7
+20405fa4
+580007e2
+da20421d
+d840000e
+20405fed
+20205fa7
+474c4033
+204061dc
+6800c22d
+c00061e9
+c000e1fd
+c0016211
+20600000
+68094229
+5800aa55
+98467c00
+2022e1f2
+58004dfa
+60014227
+58004894
+60014221
+202061fa
+68014227
+243a61f6
+58004dfa
+60014227
+68014221
+243a61fa
+58004894
+60014221
+58000064
+6001422b
+20600000
+68094229
+5800aa55
+98467c00
+2022e206
+58005932
+60014225
+58004323
+6001421f
+2020620e
+68014225
+243a620a
+58005932
+60014225
+6801421f
+243a620e
+58004323
+6001421f
+58000190
+6001422b
+20600000
+68094229
+5800aa55
+98467c00
+2022e21a
+58006946
+60014223
+58005377
+6001421d
+20206222
+68014223
+243a621e
+58006946
+60014223
+6801421d
+243a6222
+58005377
+6001421d
+58000032
+6001422b
+20600000
+6800c22d
+c000622a
+c000e22c
+c001622e
+20600000
+708971bf
+20206232
+708971af
+20206232
+7089718f
+6800c22e
+60108973
+20206232
+474cc033
+68108053
+79207e07
+60108053
+68108973
+1fe1fe30
+60108973
+7089067c
+708972aa
+20001388
+68190150
+68108053
+793ffe07
+60108053
+6009422f
+20600000
+474d4033
+6800c22d
+c0006248
+c000e24c
+c0016250
+20600000
+68014227
+68094221
+da6000c8
+20206254
+68014225
+6809421f
+da600064
+20206254
+68014223
+6809421d
+da600032
+20206254
+98462200
+6801422f
+98467e00
+24216261
+6809422b
+984fa400
+1a627e00
+9a2ffe00
+9a40fe00
+9a26fc00
+204078c0
+1807fe00
+20600000
+18427e00
+6809422f
+98467e00
+6809422b
+984fa400
+1a627e00
+9a2ffe00
+9a467e00
+2020625d
+ea240000
+60040a9a
+68010a9a
+68090a9c
+98462200
+68010aa0
+98462400
+68090a9e
+98467c00
+2441627a
+1a4ffe64
+9a26fc00
+204078c0
+1807fe00
+205a627e
+20600000
+6800c231
+79207e00
+6000c231
+20600000
+6808c231
+79200401
+6008c231
+20600000
+6801423d
+efe08000
+207a0000
+1fe27200
+6801423d
+1fe0fe03
+1fe22200
+ea288000
+20406135
+1a20a201
+c2006289
+20600000
+6801423d
+1fe0fe03
+1fe22200
+18002400
+700b1200
+ea288000
+20406157
+474dc033
+68010b12
+1a420e00
+f920fe00
+60010b12
+1a20a201
+1a40a401
+6801423d
+efe08000
+9a42fc00
+2422e293
+68010b12
+68090b14
+9842fc00
+20628000
+78347c00
+20600000
+6801423d
+efe08000
+207a0000
+1fe27200
+6801423d
+1fe0fe03
+1fe22200
+ea288000
+20406117
+1a20a201
+c20062ad
+20600000
+d8e00009
+20407850
+247a0000
+58000020
+d8e00009
+20407842
+78547c00
+204062a6
+474e4033
+6801423d
+efe08000
+207a0000
+2040628e
+2434763c
+2040763a
+78547c00
+68010b12
+60010b19
+700b1b00
+18000e00
+68010b14
+1fe30400
+60090b14
+1fe17e01
+68090b19
+18412201
+18430400
+60090b19
+9a22fc00
+2442e2db
+6801423d
+efe08000
+68088b1b
+18408401
+60088b1b
+18420e00
+98e2fc00
+2422e2c6
+68010b12
+60010b14
+20600000
+474ec033
+6801423d
+1fe0fe01
+efe10000
+202078d6
+68108042
+9a21fe00
+60108042
+68110050
+793ffe0d
+60110050
+20000064
+20600000
+68098a9c
+58b71b00
+9846fc00
+204078c0
+18078400
+68008a9f
+984ffe00
+1fe6fc64
+204078c0
+1807a200
+18427e00
+9a262400
+68008a9b
+204062f8
+68008a9a
+2020630f
+c00062fe
+c000e300
+c0016302
+c001e304
+c0026306
+c002e308
+d8a080a0
+2020630a
+d8a080a4
+2020630a
+d8a080a8
+2020630a
+d8a08064
+2020630a
+d8a08068
+2020630a
+d8a0806c
+2020630a
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+20600000
+78347c00
+20206312
+78547c00
+c002631d
+c002e31f
+c00de321
+c00e6323
+c001e325
+c0046327
+c00a6329
+c00ae32b
+c00b632d
+c00be32f
+20600000
+d8e00006
+20206339
+d8e00007
+20206339
+d8e00008
+20206339
+d8e00009
+20206339
+d8e0000a
+20206339
+d8e0000b
+20206339
+d8e0000c
+2020633b
+d8e0000d
+2020633b
+d8e0000e
+2020633b
+d8e0000f
+2020633b
+68110081
+f9347e00
+60110081
+1a220e00
+68108085
+f9347e00
+60108085
+20600000
+18e0a3fc
+20206331
+18e0a3f6
+20206331
+20758000
+70456500
+7004ed03
+7004ee03
+7004f211
+7004f313
+58000000
+600184ef
+6000c252
+70467f00
+474f4033
+58000000
+6000c252
+6000c562
+6000c55b
+6800c569
+c000e350
+70456750
+20600000
+70456700
+20600000
+18418402
+20600000
+18427e00
+1fedfe00
+6000c560
+18007e3f
+1fedfe00
+6000c55f
+18007e01
+1fedfe00
+6000c55e
+2040638a
+18427e00
+20600000
+1fedfe00
+6000c560
+18007e73
+1fedfe00
+6000c55f
+18007e01
+1fedfe00
+6000c55e
+2020638a
+6800c561
+203a636d
+58000070
+20600000
+580000aa
+20600000
+1fedfe00
+6000c560
+18007eef
+2040637e
+680904f7
+18420a00
+e0a08000
+18a20400
+600904f7
+18007eff
+2040637e
+680904f7
+18420a00
+e0a08000
+20600000
+1fedfe00
+6000c55f
+6801455f
+1fed7e00
+600184f4
+da200107
+da40000f
+20406397
+1fe2fed7
+1fe47e00
+1fedfe00
+20600000
+6801c55e
+600184f4
+da200107
+da40000f
+20406397
+1fed7e00
+da400007
+20406397
+1fe2fe2b
+1fe47e00
+1fedfe00
+1fe20400
+20600000
+da600000
+1a427200
+204077ab
+1fe20400
+18427e00
+1a63a600
+c30463a0
+9a228400
+1a60a601
+18438400
+680184f4
+1a40a5ff
+2a41feff
+2020e3aa
+1a427200
+204077ab
+2feffe00
+79208400
+2020639b
+18437e00
+20600000
+6808c55b
+184b8400
+79200400
+6800c561
+245a6352
+6008850d
+20600000
+18438400
+6800c561
+793a0400
+20600000
+680884fc
+7004fed7
+204064f0
+6800c24f
+79207e06
+79207e07
+6000c24f
+70456100
+202064d1
+6800c24f
+79207e07
+6000c24f
+202064d1
+474fc033
+6800c67f
+c00063c8
+20206486
+68010264
+1fe20c00
+204063f2
+680084fc
+c00063ce
+20206452
+47504034
+680084fd
+c01fe3b7
+c039e3c0
+c077e3d5
+c029e47e
+20600000
+68010501
+1fe20c00
+204063fd
+68008503
+c020e3df
+c02063e7
+c038e420
+c038642c
+c024e437
+202064d1
+204063e9
+202063e1
+6800c252
+79207e00
+79207e01
+6000c252
+2040651a
+202064d1
+204063e9
+202064d1
+20406405
+20206411
+20406405
+e8c08000
+1fe97e00
+6000c568
+e8c08000
+60008508
+20600000
+e8c08000
+600084fb
+1fe97e00
+600084fc
+e8c08000
+600084fd
+20406408
+600904ff
+18c27e00
+60010501
+20600000
+e8c08000
+1fe37e00
+60008503
+20406408
+60090504
+18c27e00
+60010506
+20600000
+68010506
+1fe20c00
+20600000
+e8c08000
+1fe20400
+18430400
+c3800000
+e8c08000
+1fe9fe00
+1ff27e00
+98408400
+20600000
+e8c08000
+6000c55b
+e8c08000
+60008509
+e8c08000
+6000850a
+e8c08000
+6000850b
+e8c10000
+6001455c
+e8c08000
+6000850c
+e8c08000
+6000c566
+20600000
+204063eb
+20206422
+6800c252
+79207e05
+79207e06
+6000c252
+6808c55b
+184b8400
+18418403
+2040654b
+70456503
+202064d1
+700a9908
+204076c0
+204063eb
+6800c568
+1fe67c01
+2022e433
+20202a8c
+6800c252
+79207e07
+6000c252
+202064d1
+20406405
+e8c08000
+60008ac2
+20404c0c
+20404c1a
+5800000e
+e0a10000
+68014248
+e0a10000
+6800c561
+1fe3fe00
+79207e00
+e0a08000
+4750c034
+580015ef
+e0a10000
+58001191
+e0a10000
+68008ac2
+e0a08000
+58000007
+e0a28000
+58000001
+e0a10000
+20406369
+e0a08000
+20600000
+20206453
+47514034
+680084fd
+c039e45b
+c01fe45f
+c077e479
+c07fe471
+c029e480
+20600000
+6800c252
+79207e03
+6000c252
+202064d1
+6800c252
+79207e03
+79207e02
+6000c252
+680084fb
+20406360
+600084fe
+204064f0
+680084fb
+1feb7e00
+6000c55b
+1febfe00
+793ffe01
+79207e00
+d8404563
+600904f7
+2040636f
+202064d1
+68010501
+1fe20c00
+1fe0fe01
+60010501
+e8c08000
+6808c566
+9840fe00
+6000c566
+2040657c
+204063ac
+20406562
+20406585
+202064d1
+700a9909
+204076c0
+20406347
+680084fb
+20406360
+600084fe
+204064f0
+202064d1
+68010264
+1fe20c00
+204063f2
+680084fc
+c000648c
+202064c0
+4751c034
+680084fd
+c01fe3b7
+c039e3c0
+c077e492
+202064d1
+68010501
+1fe20c00
+204063fd
+68008503
+c020e49b
+c020649b
+c038e4a6
+c03864b6
+202064d1
+204063e9
+6800c55b
+1fe37e00
+6808c562
+98467c00
+2022e4a2
+20202a8c
+6800c252
+79207e01
+6000c252
+202064d1
+204063eb
+6800c568
+6808c562
+98467c00
+2022e4ad
+20202a8c
+202064d1
+6800c252
+79207e05
+79207e06
+6000c252
+6808c55b
+184b8400
+18418403
+2040654b
+202064d1
+204063eb
+6800c568
+6808c562
+98467c00
+2022e4bc
+20202a8c
+6800c252
+79207e07
+6000c252
+202064d1
+680084fc
+6808c562
+98467c00
+2022e4c6
+20202a8c
+202064d1
+680084fd
+c039e4cb
+c077e479
+c07fe471
+c029e4d0
+6800c252
+79207e03
+6000c252
+202064d1
+202064cf
+20206480
+20600000
+6800c565
+207a0000
+c001e4d6
+20202a8c
+70456500
+20404c0c
+d8400001
+6808c55b
+184b8400
+18418403
+da2000aa
+20406536
+20404c1a
+18a20c00
+e8c10000
+203a2a8c
+20600000
+20404c1a
+58000004
+e0a10000
+68014248
+e0a10000
+680084fb
+e0a08000
+47524034
+5800013f
+e0a10000
+680084fe
+e0a08000
+20600000
+20404c0c
+20404c1a
+58000004
+e0a10000
+68014248
+e0a10000
+680084fb
+e0a08000
+4752c034
+58000173
+e0a10000
+680084fe
+e0a08000
+20600000
+20404c1a
+5800000e
+e0a10000
+68014248
+e0a10000
+6800c561
+1fe3fe00
+79207e00
+e0a08000
+47534034
+580015ef
+e0a10000
+58001183
+e0a10000
+18427e00
+e0a08000
+580000f0
+e0a18000
+5800007f
+e0a10000
+58000000
+e0a08000
+58000001
+e0a08000
+20406369
+e0a08000
+70456710
+20600000
+20404c0c
+20404c1a
+5800000e
+e0a10000
+68014248
+e0a10000
+6800c561
+1fe3fe00
+79207e00
+e0a08000
+4753c034
+580015ef
+e0a10000
+58001181
+e0a10000
+6800c55b
+e0a08000
+580000e0
+e0a18000
+6801456a
+e0a10000
+58000000
+e0a08000
+6800c56c
+e0a08000
+20406369
+e0a08000
+20600000
+20404c1a
+58000008
+e0a10000
+68014248
+e0a10000
+6800c561
+1fe3fe00
+79207e00
+e0a08000
+47544035
+580009ef
+e0a10000
+580005e3
+e0a10000
+18427e00
+e0a08000
+5800008d
+e0a08000
+20406369
+e0a08000
+20600000
+20404c0c
+20404c1a
+58000008
+e0a10000
+68014248
+e0a10000
+18421600
+6800c561
+1fe3fe00
+79207e00
+e0a08000
+4754c035
+580009ef
+e0a10000
+580005e1
+e0a10000
+19627e00
+e0a08000
+5800008d
+e0a08000
+20406369
+e0a08000
+20600000
+47554035
+6800c567
+207a0000
+68110112
+247a0000
+1a227e00
+60008a9b
+60088a9a
+20404ba8
+247a0000
+20404c0c
+20404c1a
+58000005
+e0a10000
+68014248
+e0a10000
+6800850d
+e0a08000
+580001ff
+e0a10000
+6800c567
+e0a08000
+6800c564
+e0a08000
+70456700
+20600000
+4755c035
+6800c569
+c1008000
+680104ff
+207a0000
+6800c567
+1fe0fe01
+6000c567
+20600000
+6801456d
+202078d6
+47564035
+6800c566
+207a0000
+1fe0ffff
+6000c566
+6801455c
+6809469d
+98467c00
+20216591
+6001469d
+6800c567
+203a6599
+70051001
+6800c564
+6000850f
+580000ff
+6000850e
+2020659e
+70051000
+6800c563
+6000850f
+580000ef
+6000850e
+4756c035
+6801469d
+1fe67c7f
+202165a5
+68008510
+1fe0fe01
+60008510
+204063ac
+6801469d
+1fe0fe08
+68088510
+9840a200
+20404b7a
+60010277
+1fe0fe04
+60010279
+1fe20a00
+6800850d
+e0a08000
+6800850e
+e0a08000
+204065cf
+204065e0
+47574035
+6801456f
+1fe20600
+6801469d
+1fe27200
+20406024
+18a20400
+18627e00
+6001456f
+18420a00
+6800850f
+e0a08000
+68010277
+1fe20a00
+6801469d
+68088510
+9840fe00
+1fe0fe04
+e0a10000
+68014248
+e0a10000
+70456700
+68014571
+c0003426
+700b0500
+20600000
+4757c035
+6801469d
+1fe67c7f
+242165d7
+1fe3fe00
+79207e00
+e0a08000
+20600000
+6801469d
+1fe97e00
+1ff18400
+1fe17e7f
+1fe3fe00
+793ffe00
+e0a08000
+e0a88000
+20600000
+6800c567
+207a0000
+e0a08000
+20600000
+47584036
+204076d6
+20402cb3
+20405c55
+4758c036
+20407016
+20406fef
+20407000
+20404ba8
+247a0000
+204046e3
+20404ba8
+247a0000
+47594036
+2040662f
+2040489e
+204064d2
+204065f8
+4759c036
+20202caf
+6800827f
+c28049c1
+c283c9cb
+20600000
+475a4036
+20404bae
+207a0000
+6800804b
+c3830000
+20404b92
+6001016f
+1fe20c00
+e8c10000
+1fe0fe04
+600141dc
+7041db06
+475ac036
+68014244
+203a6617
+6800804b
+c4038000
+793ffe07
+6000804b
+7041db05
+68094244
+6801016f
+9840fe00
+6001016f
+680141dc
+98467e00
+600141dc
+475b4036
+680141dc
+203a2a8c
+d8400104
+98467e00
+24216623
+475bc036
+600941dc
+68014244
+9840fe00
+60014244
+20206625
+58000000
+60014244
+6800804b
+79207e06
+6000804b
+20600000
+6800c682
+c280662d
+70028701
+20600000
+7002870f
+20600000
+6800c67f
+243a6635
+68008286
+207a0000
+70028600
+20600000
+475c4037
+68008287
+207a0000
+c000e655
+c00166ae
+c001e65b
+c00266b2
+c01de665
+c01e66b5
+c006e66a
+c00766ba
+c007e66d
+c00866c0
+c008e673
+c00966c4
+c009e679
+c00a66c8
+c00ae67f
+c00b66cc
+c00be685
+c00c66d1
+c00ce68b
+c00d66d5
+c00de691
+c00e66d9
+c00ee697
+c00f66de
+c00fe69d
+c01066e2
+c010e6a8
+c01166e6
+20600000
+204066f1
+70028702
+6800c24e
+79207e00
+6000c24e
+20600000
+70028704
+6800c24e
+c3810000
+70028703
+204066f8
+70028704
+6800c24e
+79207e02
+6000c24e
+20600000
+20404bae
+247a0000
+20406707
+7002873c
+20600000
+204066fd
+7002870e
+20600000
+20406717
+70028710
+6800c250
+79207e00
+6000c250
+20600000
+2040671e
+70028712
+6800c250
+79207e02
+6000c250
+20600000
+20406723
+70028714
+6800c251
+79207e00
+6000c251
+20600000
+2040672a
+70028716
+6800c251
+79207e02
+6000c251
+20600000
+2040670b
+70028718
+6800c24f
+79207e00
+6000c24f
+20600000
+20406712
+7002871a
+6800c24f
+79207e02
+6000c24f
+20600000
+2040672f
+7002871c
+6800c24f
+79207e06
+6000c24f
+20600000
+20406736
+6800c252
+79207e00
+6000c252
+7002871e
+20600000
+2040673c
+6800c252
+79207e02
+6000c252
+70028720
+6800c562
+1fe9fe00
+1fe1fe03
+d8404563
+600904f7
+2020636f
+20406746
+6800c252
+79207e04
+6000c252
+70028722
+20600000
+6800c24e
+c4008000
+70028703
+20206635
+6800c24e
+c19f8000
+7002873b
+68008285
+c18b8000
+70028500
+7002870d
+20206635
+6800c24e
+247a0000
+6800c682
+c28066e9
+c28366eb
+202066ef
+6800c250
+c4008000
+70028711
+20206635
+6800c250
+c19f8000
+70028713
+20206635
+6800c251
+c4008000
+70028715
+20206635
+6800c251
+c19f8000
+6800c682
+c28366eb
+202066ef
+6800c24f
+c4008000
+70028719
+20206635
+6800c24f
+c19f8000
+7002871b
+20206635
+6800c24f
+c1ff8000
+6800c682
+c28366ed
+202066ef
+6800c252
+c4008000
+7002871f
+20206635
+6800c252
+c4018000
+70028721
+20206635
+6800c252
+c1ff8000
+202066ef
+7002870f
+20206635
+70028717
+20206635
+7002871d
+20206635
+70028700
+20600000
+475cc037
+20404bf2
+58000001
+1fe20400
+58000050
+1fe21600
+202049e2
+475d4037
+20404bf2
+68014246
+1fe20400
+202049f1
+475dc037
+20404bf2
+68014246
+1fe20400
+d9600050
+20404a06
+6800c24e
+793ffe05
+6000c24e
+20600000
+475e4037
+20404bff
+20406a72
+20204a21
+475ec037
+20404bf2
+58000003
+1fe20400
+58000051
+1fe21600
+202049e2
+475f4037
+20404bf2
+68014248
+1fe20400
+202049f1
+475fc037
+20404bf2
+58000011
+1fe20400
+58000052
+1fe21600
+202049e2
+47604038
+20404bf2
+6801424a
+1fe20400
+202049f1
+4760c038
+20404bf2
+58000013
+1fe20400
+58000053
+1fe21600
+202049e2
+47614038
+20404bf2
+6801424c
+1fe20400
+202049f1
+4761c038
+20404c0c
+7004fb03
+7004fe1c
+204064e3
+70456101
+20600000
+47624038
+20404c0c
+6808c562
+204063b3
+6008c55b
+202064fe
+4762c038
+20404c0c
+6808c55b
+204063ad
+20406354
+600084fe
+6808c55b
+204063ad
+600884fb
+202064e3
+47634038
+20404c0c
+6808c55b
+204063ad
+20206536
+4763c038
+68010264
+98000c00
+e8c08000
+1fe22400
+6000851b
+e8c10000
+6001051c
+e8c08000
+1fed1600
+e8c08000
+99609600
+47644039
+18c20400
+df200004
+d8a0052a
+20407800
+18420c00
+1a427e00
+c000e8f4
+c0016766
+c001e8f4
+c002678e
+c002e8f4
+c003683c
+c003e8f4
+202068fb
+4764c039
+2040690a
+2841fe01
+2020e97a
+2841feff
+2020e8fe
+e8c10000
+60010522
+196097fe
+196097ff
+2422e8f8
+d9600511
+e9610000
+207a0000
+204069bc
+20404c0a
+18007e03
+e0a08000
+6801051c
+e0a10000
+18ebfe00
+1fe0fe05
+1fe0a605
+1ff0fe00
+e0a10000
+18e27e00
+1ff0fe00
+e0a10000
+e0a10000
+d8c0052a
+18e27200
+2022e789
+e8c20000
+e0a20000
+c2006786
+18007e00
+e0a08000
+1a627e00
+60010275
+20600000
+47654039
+e8c20000
+60020524
+196097fc
+20406868
+60010520
+196097fe
+20406962
+2022e8fe
+2a21fe05
+2020e79c
+d8a0052a
+18000e00
+202067ab
+e8c08000
+c08568fe
+e8c10000
+243a67a9
+e8c08000
+c0ffe7a7
+e8c08000
+c0ffe7a5
+202067f2
+18c08dfb
+20206799
+18c08dfc
+20206799
+18c08dfd
+20206799
+e8c08000
+c004e7c0
+c00567ae
+e8c10000
+e0a10000
+18e08e01
+1ff0a400
+e8c10000
+1ff0fe00
+1a40a401
+9a467c00
+242167bd
+1fe22600
+1a50fe00
+e0a10000
+18e08e01
+1a627e00
+202067b4
+196097fb
+1a20a3fb
+202067c5
+e8c10000
+e0a10000
+18e08e01
+196097fd
+1a20a3fd
+242168fe
+2422e7ab
+196097ff
+2422e8fe
+20404c0a
+18a08a0a
+da20052a
+18e27e00
+203a67df
+ea210000
+203a67df
+98002400
+68020524
+98000400
+20406a21
+18c27e00
+203a67dc
+18c08dfd
+e8c18000
+e0a18000
+20406995
+98007200
+2040783b
+1a20a202
+18e08fff
+202067cc
+da200005
+204068be
+68010275
+c005e97d
+202068d4
+e8c08000
+c00067e8
+c000e7ea
+c00167ed
+196097ff
+202067f0
+e8c08000
+196097fe
+202067f0
+e8c10000
+1ff0fe00
+196097fd
+60010519
+20600000
+196097fb
+204067e4
+2422e8f8
+680a0524
+204069eb
+2422e8f5
+18c22200
+20404c0a
+1a220c00
+18a08a03
+18c21600
+2040699c
+1fe22200
+68010519
+1fe22400
+1a227e00
+9a462400
+68010520
+9a467c00
+24216821
+78547c00
+68010519
+203a6814
+99608c00
+1a40a403
+1a427200
+1f227e00
+1fe0fe03
+1ff0fe00
+e0a10000
+1f227e00
+1ff0fe00
+e0a10000
+2020682f
+1a20f206
+20346818
+1f30fe00
+2020681b
+1f227e00
+1fe0fe02
+1ff0fe00
+e0a10000
+1f20f3fd
+1f30fe00
+e0a10000
+19620c00
+2020682f
+78347c00
+68010520
+1fe22200
+1a227200
+68010519
+203a6814
+99608c00
+1a227e00
+1fe0fe05
+1ff0fe00
+e0a10000
+1a227e00
+1ff0fe00
+e0a10000
+2040783b
+24346838
+18007e02
+e0a08000
+18c27e00
+99667e00
+1ff0fe00
+e0a10000
+2020683a
+18007e00
+e0a08000
+da200005
+202068ea
+4765c039
+2040690a
+2841feff
+2020e8fe
+20406868
+60010520
+196097fe
+20406962
+d8a0052a
+18000e00
+e8c08000
+c0056870
+e8c10000
+e0a10000
+18e08e01
+196097fd
+1a20a3fd
+242168fe
+2422e846
+196097ff
+2422e8fe
+20404c0a
+18a08a0d
+68010511
+98002600
+da20052a
+ea210000
+203a6863
+98002400
+20406a00
+203a6861
+18c08dfd
+e8c18000
+e0a18000
+20406995
+98007200
+2040783b
+1a20a202
+20206856
+204068bd
+68010275
+c0076980
+204068d4
+202068d4
+e8c10000
+1ff0fe00
+1fe0fffd
+d84000c8
+98467c00
+24610000
+580000c8
+20600000
+18c08c04
+196097fb
+1a20a3fb
+2422e8fe
+204067e4
+2422e8f8
+d9600511
+204069bc
+18e27e00
+203a6980
+6000854e
+1a427e00
+6001054c
+d8e00000
+da200000
+20404c0a
+18a08a0a
+204068a6
+24342a8c
+18c21600
+1fe22600
+9a20a200
+68010519
+1fe22400
+203a68af
+1a227e00
+9a462400
+2022e8a1
+242168a1
+68010520
+9a467c00
+2022e898
+24216898
+1a427200
+2040689b
+6800854e
+18e08e01
+98e67c00
+2022e8bd
+202068da
+1fe27200
+2040689b
+202068da
+18a08bfd
+1f220400
+1a627e00
+9a467e00
+99608c00
+2020783b
+6800854e
+18e08e01
+98e67c00
+20628000
+20206881
+20407923
+d8c0052a
+18ebfe00
+98c08c00
+e8ca0000
+204069eb
+24628000
+20406995
+20207921
+68010520
+9a267c00
+242168c9
+1a227200
+1f220400
+19620c00
+2040783b
+6801054c
+9a267c00
+2022e8bb
+204068da
+202068ce
+204068bd
+202068ce
+da200007
+18007e00
+e0a08000
+204068ea
+68090275
+184085fb
+1850fe00
+e0a10000
+184085fd
+1850fe00
+e0a10000
+20600000
+1fe27200
+1f220400
+19620c00
+2040783b
+204068da
+58000036
+e0a08000
+6801054c
+1ff0fe00
+e0a10000
+20600000
+58000036
+e0a08000
+184085fd
+1850fe00
+e0a10000
+20600000
+da200007
+58000002
+e0a08000
+68010519
+98408400
+1850fe00
+e0a10000
+204068ea
+68090275
+184085fb
+1850fe00
+e0a10000
+184085fb
+1850fe00
+e0a10000
+20600000
+68010273
+98a67e00
+1fe67e00
+60010275
+20404c0a
+1a227e00
+e0a08000
+6801051c
+e0a10000
+20600000
+20600000
+58000200
+6001054a
+20206900
+58000400
+6001054a
+20206900
+58000600
+6001054a
+20206900
+58000300
+6001054a
+20404c0a
+e0a08000
+6801051c
+e0a10000
+58000200
+e0a10000
+6801054a
+e0a10000
+70027507
+20600000
+da400000
+18000400
+d8a00511
+20406962
+2022e960
+1a40a401
+e8c08000
+1a20a3ff
+196097ff
+2fe1f018
+2420e960
+2fe00e04
+2420e92d
+18000401
+e8c08000
+1a20a3ff
+196097ff
+c0806921
+e8c08000
+1a20a3ff
+196097ff
+c0006932
+20206924
+18c08c01
+1a20a3ff
+196097ff
+18c08c02
+1a20a3fe
+196097fe
+2841fe00
+2020e95a
+18c08c0c
+1a20a3f4
+196097f4
+2020695a
+2fe00e02
+2420e930
+20206918
+2fe00e01
+2420e960
+1a20a3fe
+196097fe
+e8c10000
+1a467c04
+2022e938
+e0a10000
+2841fe00
+2020e95a
+18c20400
+e8c08000
+c0806953
+e8c08000
+c0806953
+e8c08000
+c0886953
+e8c08000
+c0806953
+e8c08000
+c0c06953
+e8c08000
+c0806953
+e8c08000
+c0806953
+e8c08000
+c0c06953
+e8c08000
+c0afe953
+e8c08000
+c0cde953
+e8c08000
+c09a6953
+e8c08000
+c07de958
+18420c00
+18c08c0c
+18000e00
+18000400
+20206958
+196097f4
+1a20a3f4
+18000400
+2a21fe00
+2420e90f
+18007e00
+e0a10000
+20600000
+d84000ff
+20600000
+47674039
+e8c08000
+196097ff
+2fe1f030
+2420e978
+2fe00e07
+2020e971
+2fe00e06
+2020e973
+2fe00e05
+2420e978
+e8c08000
+1fe22200
+196097ff
+20206976
+18c08c02
+196097fe
+e8c10000
+1ff0a200
+196097fe
+18007e01
+20600000
+18007e00
+20600000
+58000003
+6000851b
+20206982
+58000005
+6000851b
+20206982
+58000007
+6000851b
+20404c0a
+6800851b
+1fe22400
+e0a08000
+6801051c
+e0a10000
+58000500
+e0a10000
+2a41fe05
+2020e991
+2a41fe07
+2020e991
+58000000
+e0a28000
+20206993
+58350200
+e0a28000
+7002750a
+20600000
+204077dc
+204077df
+2040699c
+204077d6
+204077d9
+18427e00
+20600000
+e8c08000
+1fe17207
+1fe97e00
+c08069a6
+18007e01
+18000401
+20600000
+204077b0
+1fe08401
+20600000
+1f227e00
+1fe67c04
+202169a3
+c002e9ad
+c00369b0
+c003e9b4
+20600000
+e8c08000
+1fe08402
+20600000
+e8c10000
+1ff0fe00
+1fe08403
+20600000
+e8c10000
+1ff0fe00
+e8c90000
+18508400
+18500400
+9840fe00
+1fe08405
+20600000
+4767c039
+18000e00
+da400000
+d8a0052a
+e9610000
+207a0000
+204069c7
+18e27e00
+c1038000
+19609602
+202069c0
+98002600
+68014573
+98000c00
+18e27e00
+c1038000
+78547c00
+e8c08000
+207a0000
+98007200
+e8c10000
+9a667c00
+2422e9d4
+78347c00
+c20069d0
+e8ca0000
+18c22200
+243469e7
+d8c0052a
+df200007
+e8c20000
+203a69e0
+98467c00
+2022e9e7
+c20069da
+20600000
+e0aa0000
+18e08e01
+1a220c00
+20406995
+9a40a400
+98c08c00
+202069ca
+1a220c00
+2040699c
+98c08c00
+202069ca
+4768403a
+68014573
+98000c00
+e8c08000
+203a791d
+1fe3fe00
+98c08c00
+e8c20000
+98467c00
+20628000
+18a27e00
+60010abb
+600c0aa2
+2040699c
+98c08c00
+18c27e00
+68090abb
+18420a00
+680c0aa2
+1fe20c00
+202069ee
+4768c03a
+68014573
+98000c00
+e8c08000
+203a6a1e
+98007200
+e8c10000
+9a667c00
+2022ea0e
+c2006a06
+18c08c04
+2040699c
+98c08c00
+20206a03
+1f20f3ff
+1f23fe00
+98c08c00
+18c08c04
+2040699c
+98c09600
+18c08c01
+e8c10000
+9a467c00
+2022f925
+20406995
+98c08c00
+19627e00
+98c67c00
+2022ea1e
+20206a14
+18000c00
+18007e00
+20600000
+4769403a
+68014573
+98000c00
+e8c08000
+203a6a3a
+1fe3fe00
+98c08c00
+e8c20000
+98467c00
+2022ea2e
+2040699c
+98c08c00
+20206a24
+2040699c
+98c09600
+18c08c01
+e8c10000
+9a467c00
+20628000
+20406995
+98c08c00
+19627e00
+98c67c00
+2022ea3a
+20206a30
+18000c00
+20600000
+da400400
+20406a2e
+da400300
+20406a47
+24740000
+1a267c03
+20217923
+e8c08000
+c0847923
+e8c08000
+20600000
+4769c03a
+2040699c
+1fe22200
+e8c08000
+1fe17207
+1fe97e00
+1fe67c03
+2022ea63
+1f227e00
+c002ea5a
+c0036a5d
+c003ea60
+18c08dff
+2040699c
+98c08c00
+1a227e00
+98462200
+2022f923
+20206a4a
+1a20a3fe
+18c08c01
+20206a4a
+1a20a3fd
+18c08c02
+20206a4a
+1a20a3fb
+18c08c04
+20206a4a
+1a20a3ff
+1f227e00
+c000ea6c
+c0016a6a
+c0026a69
+20207923
+1a20a3f4
+e8c10000
+1a20a3fe
+e8c10000
+9a467c00
+2022f921
+1a20a3fe
+2022f923
+20206a4a
+20404c0a
+1fe20a00
+58000006
+e0a08000
+5800006e
+e0a10000
+58000f00
+e0a10000
+581a0535
+e0a18000
+58000111
+1ff07e00
+e0a20000
+58002600
+e0a10000
+58000335
+e0a10000
+58000009
+e0a10000
+58000004
+e0a10000
+70027514
+20600000
+476a403a
+7005e550
+d8a005e6
+d8c04438
+204077f9
+d8c045d0
+204077f7
+d8c009be
+204077f7
+20406b44
+d8c0042f
+20406b3f
+20406b0a
+d8a00af2
+20406b3b
+580f4240
+1fe22200
+68020af2
+9a26fc00
+204078c0
+18077e00
+600209ba
+20600000
+7005e541
+d8a005e6
+20406aef
+20406aea
+6801c452
+e0a18000
+20406ab0
+d8c0042f
+204077f9
+d8c04438
+204077f9
+20406b44
+d8c00b12
+d8a00ac2
+204077f9
+20206b0a
+680244c5
+e0a20000
+20407807
+20207804
+476ac03a
+7005e541
+d8a005e6
+20406aea
+20406aef
+6801c44b
+e0a18000
+20406ab0
+d8c04438
+204077f9
+d8c0042f
+204077f9
+20406b44
+d8c00b12
+d8a00ac2
+204077f9
+20406b0a
+d8a00af2
+20206b3b
+7005e520
+d8c009fe
+d8a005e6
+204077f7
+20406b44
+d8c0099e
+20406b3f
+20406b0a
+d8a00ac2
+20406dd1
+d8400001
+20406ad9
+d8a04417
+20406b3b
+d8400000
+20406ad9
+d8a00b12
+20206dd1
+476b403a
+7005e535
+58000100
+600105e6
+20406aea
+20406aef
+d8c04438
+204077f9
+d8c0042f
+204077f9
+58006c65
+e0a10000
+58006274
+e0a10000
+e0a88000
+20406b44
+20206b0a
+6803449e
+e0a30000
+6800c493
+e0a08000
+20600000
+6803044f
+e0a30000
+6800c48c
+e0a08000
+20600000
+7005e541
+6800c662
+600085e6
+d8c045d0
+204077f7
+d8c009be
+204077f7
+20406b44
+d8c0042f
+20406b3f
+20206b0a
+7005e541
+6800c662
+600085e6
+d8c009be
+204077f7
+d8c045d0
+204077f7
+20406b44
+d8c04438
+20406b3f
+20206b0a
+476bc03a
+20406b59
+680085e5
+1fe20400
+1fe0fe0f
+1ff1fe00
+1fe22400
+203a6b1c
+18417e0f
+243a6b1f
+da600ad2
+dfe005e6
+1fe0fff0
+9840a200
+d8a00b02
+df200004
+20407817
+20206b2a
+da400001
+da200000
+20206b20
+1841220f
+dfe005e6
+9840fe00
+9a260c00
+d8a00af2
+20406b7f
+da600ae2
+da200af2
+d8a00b02
+df200004
+20407817
+20406dcb
+20406d62
+d8c005e6
+1a40a5ff
+1a427e00
+203a6b33
+20406dc0
+20406d5c
+20206b2d
+d8a00af2
+20406dd1
+d8c00b02
+20406dc0
+20406d62
+d8c00af2
+20406dc0
+20206d5c
+18a22200
+20406dd1
+df200010
+2020781f
+d8a00ac2
+204077f9
+df200010
+da200ac2
+2020781f
+680085e5
+1fe27200
+da2005e6
+2020781f
+ea208000
+1fe3fe00
+2a6ffe00
+7920fe00
+2feffe08
+7920a600
+e2208000
+1a20a3ff
+c2006b48
+20600000
+da200ad2
+1a20a20f
+18007210
+18002600
+20206b48
+da200ae2
+20206b53
+d8c00ac2
+20406dbe
+18007008
+20406dcc
+20406dcb
+20406d59
+d8a00ad2
+20406dd1
+476c403b
+68008ad2
+2feffe07
+2420eb6a
+20406b52
+da600ad2
+d8a00ad2
+20406b74
+20206b6b
+20406b52
+d8c00ad2
+d8a00ae2
+204077f9
+68008ae2
+2feffe07
+2420eb57
+20406b57
+da600ae2
+d8a00ae2
+df200003
+d8400000
+20406b7b
+1a60a604
+c2006b75
+d8408700
+18500400
+ea620000
+9842fe00
+e0a20000
+20600000
+476cc03b
+df200010
+dfe00000
+9a267c00
+2022eb8a
+20216b8d
+e8c88000
+e0a88000
+1fe0fe01
+c2006b82
+20600000
+d8400080
+e0a88000
+20206b87
+d8400000
+20206b8b
+20406ba2
+d8c00592
+d8a00582
+202077f9
+78547c00
+20406c99
+d8c00562
+d8a005a2
+1800720f
+2040783b
+e8c08000
+1fe2fe06
+e0a08000
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+20206be2
+6808c687
+18002410
+1840a606
+1a667c10
+20216ba8
+18002610
+d8a005a2
+d8c04688
+18427200
+78547c00
+e8c08000
+e0a08000
+1a40a5ff
+2022ebb6
+c2006bac
+20346ba9
+78347c00
+18007206
+1a220c00
+20206bac
+d8c00562
+d8a005b2
+204077f9
+680085c1
+9a62fe00
+600085c1
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+20206be2
+78547c00
+20406c99
+20206bcc
+da200056
+78347c00
+20406c99
+20406bcc
+d8c00592
+d8a00062
+202077f9
+58000562
+600105d6
+580041be
+600105d4
+793f8012
+20406be2
+da200592
+da400562
+d8a005a2
+20406c8c
+da2005a2
+da4005b2
+1a420a00
+78347c00
+20406c8a
+20406ca4
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+20206be2
+7005d800
+680105d4
+98000c00
+d8a005c2
+204077f9
+680105d6
+98000c00
+d8a00592
+204077f9
+20406c09
+78547c00
+c5896bf3
+680085d8
+c0826bf3
+680105d6
+98002400
+20406c3b
+20406c3a
+20406c4d
+680085d8
+1fe0fe01
+600085d8
+20406c09
+78347c00
+20406c3a
+20406c5c
+20406c6b
+20406c5c
+20406c6b
+20406c5c
+20406c6b
+20406c5c
+680085d8
+1fe0fe01
+600085d8
+c0886beb
+20406c09
+78547c00
+20206c3a
+680085d8
+d8c005c2
+203a6c30
+98002400
+18007211
+18c20a00
+e8c08000
+1fe98400
+1feb7e00
+1fe97e00
+9841fe00
+e0a08000
+c2006c0f
+580005c2
+9a408c00
+18007210
+d8a00572
+e8c08000
+e0a08000
+28c1ffd3
+2420ec1f
+18c08def
+c2006c1a
+18002200
+1a40a7ff
+1a6ba600
+1a6ba600
+20406df3
+58008400
+9a60a600
+d8a00572
+18007210
+ea688000
+e8a08000
+9840fe00
+e0a08000
+1a60a601
+c2006c29
+20206df7
+18007210
+18000400
+e8c08000
+98428400
+c2006c32
+18427e00
+e0c08000
+d8c005c2
+d8a00572
+202077f9
+da400572
+18007210
+da200592
+1a220a00
+ea288000
+ea408000
+9842e000
+1f212603
+24346c44
+1a62a603
+1a662601
+20216c47
+9840e000
+1e027e00
+e0a08000
+1a20a201
+1a40a401
+c2006c3e
+20600000
+20406df3
+18007210
+da200592
+ea208000
+d8c08500
+1f212603
+1a667c01
+20216c56
+d8c08600
+98c08c00
+e8c08000
+e2208000
+1a20a201
+c2006c50
+20206df7
+18007208
+d8c00592
+18c20a00
+e8c08000
+98002200
+e8c08000
+98002400
+1a23fe00
+9a40fe00
+e0a08000
+1a227e00
+9a40fe00
+e0a08000
+c2006c5f
+20600000
+588ae42c
+98000400
+18007207
+20406c7a
+580d751b
+98000400
+18007205
+20406c7a
+680085a1
+98002200
+68008595
+600085a1
+1a227e00
+60008595
+20600000
+1841240f
+18417e0f
+d8a00592
+98a08a00
+e8a08000
+98002600
+1a227e00
+e0a08000
+1a622200
+18518400
+c2006c7b
+58000592
+9a408a00
+1a227e00
+e0a08000
+20600000
+78347c00
+20206c8d
+78547c00
+18007210
+ea288000
+ea408000
+20346c93
+9842fe00
+20206c94
+9840fe00
+e0a08000
+1a20a201
+1a40a401
+c2006c8e
+20600000
+d8a005b2
+ea230000
+e0a30000
+20346c9f
+ea230000
+20206ca0
+e8c30000
+e0a30000
+ea220000
+e0a20000
+20600000
+d8c041be
+d8a005a2
+d8400000
+588395a7
+20406cc5
+58b3c1df
+20406cc5
+5800e5e9
+20406cc6
+18422800
+78547c00
+20406cb3
+1a820400
+78347c00
+20206cb3
+18007208
+e8c08000
+2f200201
+20346cba
+2020ecbb
+9840fe00
+20206cbc
+2020ecb8
+9842fe00
+e0a08000
+184c8400
+c2006cb4
+20600000
+68030596
+60030056
+e8c30000
+e0a30000
+20600000
+184d0400
+18500400
+98418400
+20600000
+20206cc9
+476d403b
+20406d65
+d8a04417
+20206dd1
+d8a04438
+2034ecd1
+d8a0042f
+18c22200
+204077f9
+20406d7a
+d8c04428
+20206dea
+da20042f
+2034ecd9
+da204438
+1a220a00
+20405c46
+20206d7a
+d8c044a8
+20406dc0
+d8c04417
+20406dc1
+18006c38
+18006c00
+20406d57
+d8a0047c
+20206dd1
+18007e49
+20206ce8
+18007e01
+18007000
+184d5e00
+9de1de00
+1f00f001
+184cde00
+1df15e00
+6801440f
+1ff07e00
+9de1de00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+e8c10000
+1a30de00
+1df05e00
+9de1de00
+1f00f001
+20600000
+1a608c01
+e8c08000
+98002200
+20406ce5
+20406d59
+18007000
+ea608000
+1fe17e03
+1ff05e00
+79205e08
+20406dc9
+20406d5c
+1a227200
+1a608c02
+20406da8
+20406db2
+20406d5c
+1f227e00
+203a6d0f
+20206d0a
+1800700c
+1de27e00
+60020417
+20600000
+1a20a201
+20406ce7
+1a620c00
+20406dbc
+20406d5f
+20406dd8
+1a60a610
+1a40a5f0
+20216d13
+20600000
+476dc03b
+da6043da
+680ac401
+20406cfb
+18007008
+98005e00
+18002200
+20406ce7
+20406d5f
+da6043dc
+6800c3db
+1fe0a5ff
+9a608a00
+1800700c
+1de27e00
+e0a20000
+20406d13
+6800c3db
+1fe0fe04
+6000c3db
+680ac401
+18408401
+600ac401
+20600000
+476e403b
+680082da
+1fe67c14
+20216d39
+da6002db
+1fe0a5ff
+1fe0fffc
+600082da
+9a608c00
+e8c20000
+18007008
+98005e00
+18002200
+680ac406
+20406ce7
+20406d5f
+1800700c
+1de27e00
+6002041b
+20406d13
+da6002d9
+20406cfb
+680a041b
+98467e00
+247a0000
+6802440b
+98467e00
+207a0000
+600a440b
+6802c406
+1fe0fe01
+6002c406
+18007e00
+20600000
+243bed57
+20600000
+18006c30
+18006c00
+20206d57
+18006c32
+18006c02
+20206d57
+18006c34
+18006c04
+20206d57
+18006c01
+18006c00
+20600000
+18007000
+6802042f
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+68024438
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+20406dcc
+1f00f1fc
+680244c5
+1fe25e00
+1f00f004
+18006c38
+18006c08
+20206d57
+476ec03b
+6803449e
+680b044f
+2034ed80
+6803044f
+680b449e
+18007008
+18425e00
+1f00f001
+184f5e00
+1ff07e00
+9de1de00
+1f00f001
+1fef5e00
+1f00f001
+18005e00
+18007e00
+6800c48c
+6808c483
+2434ed90
+6800c493
+6808c48c
+6000c448
+6008c449
+18007000
+da404448
+18007204
+ea220000
+ea4a0000
+9842de00
+1f00f001
+1a20a204
+1a40a404
+c2006d95
+20406dcc
+1f00f1fc
+680244c5
+1fe25e00
+1f00f004
+18006c38
+18006c0c
+20406d57
+20406dcb
+18006c3a
+18006c08
+20206d57
+2f200600
+20608000
+18c27e00
+9f208a00
+18007e00
+e0a08000
+1f20f201
+2f200600
+20608000
+20206dad
+18007000
+1f227e00
+203a6db7
+e8c20000
+1f20f3fc
+98005e00
+1f00f001
+2f001e04
+20608000
+20206db3
+18007008
+20206dc1
+18007004
+20206dc1
+18007000
+18007204
+e8c20000
+98005e00
+1f00f001
+c2006dc2
+20600000
+d8c0047c
+20206dbe
+18007204
+20206dce
+18007000
+18007204
+18005e00
+1f00f001
+c2006dcd
+20600000
+1800700c
+18007204
+1de27e00
+e0a20000
+1f00f001
+c2006dd3
+20600000
+1800700c
+1a620a00
+1a40f201
+1f267c0f
+20216dde
+18007210
+1de27e00
+1f267c03
+20216de6
+e0a20000
+1f20f3fc
+20628000
+1f00f001
+20206dde
+e0a08000
+1fecfe00
+c2006de6
+20600000
+1800700c
+18007204
+e8c20000
+9de67c00
+24628000
+1f00f001
+c2006dec
+18007c00
+20600000
+68108050
+793ffe00
+60108050
+20600000
+68108050
+79207e00
+60108050
+20600000
+d8a00886
+3803ffff
+3807ffff
+380bffff
+380ffbff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bcfff
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffef
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+38066c7f
+3808146b
+380f7bb3
+e0a48000
+3801feb8
+38050c12
+380ab722
+380e9fa6
+e0a48000
+3800e70f
+38056720
+3808519e
+380d9084
+e0a48000
+38031012
+380760bf
+380bf0af
+380c03d3
+e0a48000
+3803a188
+38043ad0
+380bcbf2
+380e43d9
+e0a48000
+3802b030
+38076a03
+38091188
+380de520
+e0a48000
+3803a11e
+3804fe5d
+3808dd57
+380dac93
+e0a48000
+380011ed
+380618c4
+38088da7
+380e57ff
+e0a48000
+3803192b
+38074641
+3809be0c
+380f66ad
+e0a48000
+38001f83
+38055a23
+380bf9b0
+380c3949
+e0a48000
+38013a51
+380553fd
+380b372a
+380cf1bb
+e0a48000
+3803ae85
+3805eed9
+38089e66
+380c01a8
+e0a40000
+20600000
+d8a0091e
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+3804003f
+38080000
+380c0000
+e0a48000
+38000000
+38040000
+38081000
+380c0000
+e0a48000
+3803ff00
+3807ffff
+380bffcf
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380c03ff
+e0a48000
+38000000
+38040000
+38080000
+380c0000
+e0a48000
+38010000
+38040000
+380bf000
+380fffff
+e0a48000
+380296ff
+38062630
+380b945d
+380fd284
+e0a48000
+380333a0
+38044b7a
+380837d8
+380fc9dc
+e0a48000
+3803a440
+3805b958
+380b8bce
+380d091f
+e0a48000
+3802e12c
+3805f47c
+380b56b1
+380efd47
+e0a48000
+38006837
+3806ed90
+3809ecec
+380dacc5
+e0a48000
+38023357
+38058af3
+3808f9e1
+380d29f0
+e0a48000
+3802e7eb
+3807e6e3
+380be1a7
+380d0b8b
+e0a48000
+38024fe3
+380420ef
+3809b5a6
+380cdc2f
+e0a48000
+38013860
+3806bd69
+3808391a
+380db222
+e0a48000
+20600000
+6800c658
+243a6eb7
+202073b1
+476f403b
+6800c658
+207a0000
+6800c5af
+c1808000
+6800c4bc
+207a0000
+6800c4c1
+c1018000
+68014680
+c2806eb5
+6800c4be
+c00073b1
+20600000
+7044be00
+20600000
+476fc03b
+6800c658
+203a5a65
+20405a5e
+20406ebd
+20206fa7
+58000000
+600409ae
+600209b6
+6003c65c
+20600000
+7009b001
+20206ec7
+6800c5af
+c000efc4
+20202a8c
+6800c5af
+c000eeca
+20206fa7
+20406fc4
+680089af
+247a0000
+7009ae03
+20600000
+20406eea
+da2009de
+d8a00866
+204075b3
+da2009be
+d8a00826
+204075b3
+da200826
+da4009be
+d8a00826
+2040751b
+da20093e
+da4009be
+d8a00846
+2040751b
+da200846
+da400826
+d8a00826
+204075b7
+da200806
+da400826
+d8a00806
+204075b7
+df200020
+da200866
+da400806
+202078c2
+da20097e
+d8a00806
+204075b3
+da20095e
+d8a00826
+204075b3
+da200826
+da40095e
+d8a00826
+2040751b
+da20093e
+da40095e
+d8a00846
+2040751b
+da200846
+da400826
+d8a00826
+204075b7
+da200806
+da400826
+d8a00806
+202075d0
+20406f1b
+da2009e6
+d8a00866
+204070e2
+da2009c6
+d8a00826
+204070e2
+da200826
+da4009c6
+d8a00826
+204070c0
+da20089e
+da4009c6
+d8a00846
+204070c0
+da200846
+da400826
+d8a00826
+2040708f
+da200806
+da400826
+d8a00806
+2040708f
+df200018
+da200866
+da400806
+202078c2
+da2008e6
+d8a00806
+204070e2
+da2008ce
+d8a00826
+204070e2
+da200826
+da4008ce
+d8a00826
+204070c0
+da20089e
+da4008ce
+d8a00846
+204070c0
+da200846
+da400826
+d8a00826
+2040708f
+da200806
+da400826
+d8a00806
+20207092
+680089b2
+c0806f4f
+20406f4c
+d8a00a7e
+58000a2e
+e0a10000
+58004640
+e0a10000
+580009de
+e0a10000
+20206f43
+d8a00a7e
+58000a3e
+e0a10000
+580009de
+e0a10000
+58004640
+e0a10000
+204072da
+680089af
+c0026f49
+7009b001
+7009ae05
+20600000
+7009af14
+20406ec4
+20207012
+d8a00a1e
+18000e08
+20206fdc
+7009b001
+20600000
+4770403c
+d8a00727
+680340a0
+e0a30000
+68030040
+e0a30000
+6801c65c
+e0a18000
+20407347
+da200a4e
+da400a5e
+18000e04
+20406fe1
+2420ef6b
+20406f62
+70007d41
+20205c32
+680089af
+c004ef68
+7009ae0a
+7009b001
+70007c03
+20600000
+70007c03
+7009af15
+20207012
+680089af
+c004ef71
+7009ae00
+70007c04
+70007e05
+20600000
+70007c04
+7009af00
+20600000
+680089b3
+c000ef78
+7009af0a
+20207012
+d8a00727
+68030040
+e0a30000
+680340a0
+e0a30000
+6801c659
+e0a18000
+2040735e
+680089af
+c0056f85
+7009ae0b
+7009b001
+20600000
+7009af0b
+7009b101
+20600000
+d8a00a7e
+68030040
+e0a30000
+680340a0
+e0a30000
+58000a2e
+e0a10000
+58000a3e
+e0a10000
+20206f9c
+7009ae0f
+d8a00a7e
+680340a0
+e0a30000
+68030040
+e0a30000
+58000a3e
+e0a10000
+58000a2e
+e0a10000
+d8a00727
+68030a7e
+e0a30000
+68030a84
+e0a30000
+20407311
+7041bd01
+d8a041be
+d8c00a4e
+204077f9
+202021c4
+4770c03c
+6800c5af
+c1800000
+680089b2
+c1800000
+d8a04610
+18000e0b
+20406fdc
+180a7e00
+1fe37e00
+e0a10000
+d8a006be
+d8c04610
+204077f8
+d8a005e6
+d8c008ce
+204077f6
+d8a00616
+204077ff
+70061601
+20407397
+7009b201
+20600000
+d8a04628
+d8c0062e
+204077f6
+7045af01
+7009b200
+20600000
+4771403c
+680089b9
+c1800000
+680089b2
+c1800000
+d8a006be
+d8c04610
+204077f8
+d8a005e6
+d8c009c6
+204077f6
+d8a00616
+204077ff
+70061601
+20407397
+7009b202
+20600000
+7009b301
+d8a00a06
+d8c0062e
+204077f8
+7009b901
+7009b200
+20600000
+18e08fff
+24610000
+180a7e00
+e0a10000
+20206fdc
+18e08fff
+24216fed
+ea220000
+1fe20400
+ea420000
+9842fe00
+2422efeb
+1a20a204
+1a40a404
+20206fe1
+7840fc00
+20600000
+7820fc00
+20600000
+4771c03c
+680089b0
+207a0000
+20405bf6
+247a0000
+7009b000
+680089ae
+c001db37
+c002db54
+c003db5f
+c005db74
+c0016ec2
+c0026f31
+c004ef51
+c0056f74
+c0066f92
+20600000
+4772403c
+680089b1
+207a0000
+20405bf6
+247a0000
+7009b100
+680089af
+c0095b1a
+c009db1f
+c001db23
+c0026f3c
+c00a5b27
+c003db35
+c0056f74
+c005db73
+c004ef51
+c00adb6d
+20600000
+7009b101
+20600000
+7009b100
+20600000
+4772c03c
+6800c658
+207a0000
+680089b2
+207a0000
+1fe0fe80
+600089b2
+c3838000
+680085e3
+203a7021
+202073a2
+2040720d
+680089b2
+c000efbe
+c0016fd5
+20600000
+1fe10e07
+1fe97e00
+98c08c00
+e8c08000
+afec0000
+20600000
+204077f8
+204077f8
+202077f8
+e8c40000
+247a0000
+e8c40000
+247a0000
+e8c40000
+20600000
+ea220000
+98000400
+ea420000
+98467c00
+24628000
+1a20a204
+1a40a404
+c2007035
+20600000
+18007206
+1a20a214
+1a40a414
+ea420000
+98000400
+ea220000
+98467e00
+24610000
+247a0000
+1a20a3fc
+1a40a5fc
+c2007041
+20600000
+18007206
+18002600
+ea220000
+98000400
+ea420000
+9840fe00
+9a60fe00
+e0a20000
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c200704d
+20600000
+18007206
+18002600
+ea420000
+98000400
+ea220000
+98467e00
+9a667e00
+e0a20000
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c200705b
+20600000
+18007206
+1a20a214
+18002600
+ea220000
+2feffe00
+7920a601
+1fe37e00
+2a6ffe00
+7920fe1f
+e2220000
+1a20a3fc
+1a632600
+c200706a
+20600000
+18007206
+18002600
+ea220000
+2feffe1f
+7920a601
+1fe3fe00
+2a6ffe00
+7920fe00
+e2220000
+1a20a204
+1a632600
+c2007077
+20600000
+20407075
+2a6ffe00
+2020f08b
+da400886
+1a222600
+1a20a3e8
+2040703e
+24610000
+1a622200
+1a20a3e8
+da400886
+1a220a00
+20207059
+2040704b
+18a22200
+20207083
+20407059
+2a6c0000
+20608000
+da400886
+18a0a3e8
+1a220a00
+2020704b
+18a21600
+1a226000
+da400716
+1a420a00
+1a208c18
+e8c40000
+e0a40000
+e0a40000
+18007e00
+e0a40000
+19620a00
+2040708f
+da400716
+1a420a00
+18007e00
+e0a40000
+1e008c20
+e8c40000
+e0a40000
+e0a40000
+19622200
+1a220a00
+2040708f
+da400716
+1a420a00
+1e008c28
+e8c40000
+e0a40000
+e0a40000
+e0a40000
+19622200
+1a220a00
+2020708f
+18007206
+e8c20000
+98005e00
+1f00f001
+c20070bb
+20600000
+18a21600
+d8a006e6
+204077ff
+d8a006e6
+1a220c00
+18007000
+204070ba
+1a420c00
+204070ba
+18002400
+18000400
+18002606
+e8a20000
+98002200
+1a427000
+1de27e00
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e0a20000
+1fef0400
+1a60a601
+2a61fe0c
+2420f0cc
+18427e00
+e0a20000
+18a08be8
+1a40a401
+2a41fe06
+2420f0ca
+da2006e6
+19620a00
+20207099
+1a222400
+202070c0
+1a226000
+1e022200
+ea208000
+2feffe00
+20608000
+20407067
+ea408000
+2fec0000
+2020f0f4
+da200886
+1a420a00
+2040704b
+ea408000
+9a60fe00
+e2408000
+1a40a5e8
+1a40a218
+18007207
+20407069
+202070e5
+18a21600
+d8a00746
+204077ff
+18007e00
+600206fe
+6002075e
+70074601
+d8a006e6
+204077ff
+d8c00886
+d8a00716
+204077f8
+1a220c00
+d8a0072e
+204077f8
+d8c0072e
+2040702f
+203a7130
+da20072e
+da400746
+204070e4
+da200716
+da4006e6
+204070e4
+da20072e
+da400716
+2040703e
+20217122
+da200716
+da40072e
+1a220a00
+20407059
+da200746
+da4006e6
+1a420a00
+2040704b
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+20207107
+da20072e
+da400716
+1a220a00
+20407059
+da2006e6
+da400746
+1a420a00
+2040704b
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+20207107
+d8a00746
+204077ff
+680086fe
+60008746
+6000874e
+da200746
+da4006e6
+1a420a00
+2040708f
+da200886
+da4006e6
+19620a00
+20207092
+da2006a6
+d8a0075e
+204070e2
+da20075e
+d8a00776
+204070e2
+da20089e
+da400776
+d8a00776
+204070c0
+da200676
+d8a0075e
+204070e2
+d8c0075e
+d8a0072e
+204077f8
+da20072e
+20407082
+da20075e
+da40072e
+d8a0075e
+2040708f
+da20075e
+da400776
+d8a0075e
+2040708f
+d8c00676
+d8a0072e
+204077f8
+da20068e
+d8a00776
+204070e2
+da20072e
+20407082
+da20072e
+20407082
+da20072e
+da400776
+d8a0072e
+204070c0
+da200776
+d8a00746
+204070e2
+da200746
+20407082
+da200746
+20407082
+da200746
+20407082
+d8c0068e
+d8a00776
+204077f8
+da200776
+20407082
+da200776
+da4006a6
+d8a006a6
+204070c0
+da20075e
+d8a00776
+204070e2
+da200776
+da40072e
+d8a00776
+20407092
+da200776
+da40072e
+d8a00676
+20407092
+da20072e
+da400676
+d8a00776
+20407092
+da200776
+da40075e
+d8a00776
+204070c0
+da200776
+da400746
+d8a0068e
+20207092
+da200616
+d8a0078e
+204070e2
+da200676
+da40078e
+d8a00746
+204070c0
+da200616
+da40078e
+d8a0078e
+204070c0
+da20068e
+da40078e
+d8a0072e
+204070c0
+da2006a6
+d8a0078e
+204070e2
+da2005e6
+da40078e
+d8a0075e
+204070c0
+da2006a6
+da40078e
+d8a0078e
+204070c0
+da2005fe
+da40078e
+d8a00776
+204070c0
+da200746
+da40075e
+d8a0078e
+20407092
+da200746
+da40075e
+d8a00746
+2040708f
+da20072e
+da400776
+d8a0075e
+20407092
+da20072e
+da400776
+d8a0072e
+2040708f
+da20072e
+da40078e
+d8a0072e
+204070c0
+da2006a6
+da400616
+d8a00776
+204070c0
+da200776
+da40078e
+d8a006a6
+204070c0
+da20078e
+d8a0078e
+204070e2
+da20078e
+da400746
+d8a00776
+204070c0
+da20078e
+da40072e
+d8a0072e
+204070c0
+da20075e
+d8a00676
+204070e2
+da200676
+da400776
+d8a00676
+20407092
+d8c00676
+d8a0078e
+204077f8
+da20078e
+20407082
+da200776
+da40078e
+d8a00776
+20407092
+da200776
+da40075e
+d8a0075e
+204070c0
+da20075e
+da40072e
+d8a0068e
+20407092
+da20068e
+da400886
+d8a0068e
+18002600
+6800868e
+2feffe00
+2040f04b
+1a626000
+da20068e
+20407067
+680086a5
+2e0ffe00
+7920fe07
+600086a5
+20600000
+680085e3
+1fe0ffff
+24610000
+600085e3
+680085e2
+205a713d
+680085e3
+d8c006be
+20407026
+2020f1fa
+680085e2
+243a7208
+2040718e
+202071fa
+7005e200
+d8c005e6
+d8a00676
+2040702c
+202071fa
+da2006a6
+d8a00776
+204070f8
+da200776
+d8a0072e
+204070e2
+da200676
+da40072e
+d8a0062e
+204070c0
+da200776
+da40072e
+d8a0075e
+204070c0
+da20068e
+da40075e
+d8a00646
+202070c0
+e8c20000
+18002204
+18a08a03
+e0a08000
+1fecfe00
+18a08bfe
+1a20a3ff
+2422f222
+18a08a05
+c200721f
+20600000
+18ebfe00
+99608c00
+e8c20000
+20600000
+18006010
+d96005e6
+1e008ff9
+2040722a
+98000400
+1e008ff0
+2040722a
+98408400
+1e008ffe
+2040722a
+1fee7e01
+98408400
+1e008ff1
+2040722a
+1fee7e00
+98408400
+1e0bfe00
+99608a00
+e0aa0000
+1e00e001
+2e01fe40
+2420f230
+20600000
+d8c008fe
+18007007
+e8c20000
+98005e00
+1f00f1ff
+20217247
+20600000
+4773403c
+2040722e
+d8a006e6
+18007000
+1de27e00
+e0a20000
+1f00f001
+2f01fe08
+2420f250
+20406df3
+d9608700
+de0005e6
+18007240
+ee0a0000
+e9620000
+19609604
+1e00e004
+9840fe00
+18007007
+9de08400
+18007004
+1dee7e03
+98408400
+18007005
+1de27e00
+18007006
+9de2fe00
+18007004
+9de17e00
+18007006
+9de2fe00
+98408400
+18007007
+18425e00
+18007003
+1de27e00
+9840de00
+18007000
+1de27e00
+18007001
+9de10400
+9de1fe00
+18007002
+9de17e00
+98418400
+18007000
+1dee7e02
+9840fe00
+18007007
+9de0de00
+980efc00
+c2007259
+d8c006e6
+18007000
+e8c20000
+9de0de00
+1f00f001
+2f01fe08
+2420f282
+20206df7
+d8a00a3e
+18007007
+1de27e00
+e0a20000
+1f00f1ff
+2021728a
+20600000
+d8a005e6
+18c08dfc
+1f262210
+e8c20000
+9842fe00
+e0a20000
+18c08df8
+c2007292
+1a227200
+18427e00
+e0a20000
+c2007299
+20600000
+204072a1
+20407288
+202072c7
+204072a1
+202072c7
+d8c009de
+d8a005e6
+18007206
+204073ab
+d8c04640
+18007206
+204073ab
+d8c00a3e
+204073aa
+20407245
+2040724c
+d8c00a2e
+d8a005e6
+202072be
+d8c04640
+d8a005e6
+18007206
+204073ab
+d8c009de
+18007206
+204073ab
+d8c00a2e
+204073aa
+20407245
+2040724c
+d8c00a3e
+d8a005e6
+204072be
+202072c7
+204073aa
+58800000
+1fed7e00
+e0a20000
+18007205
+20407800
+58000280
+e0a20000
+2020724c
+68020a3e
+da2003e8
+9a26fc00
+204078c0
+18077e00
+600209ba
+1807fe00
+da2003e8
+9a26fc00
+204078c0
+18077e00
+da2003e8
+9a2ffe00
+680a09ba
+9840fe00
+600209ba
+20600000
+70466200
+202072dc
+6800c660
+c08172d8
+4773c03c
+58363636
+1fed0400
+18418436
+68010a7e
+1fe20c00
+18007204
+2040728f
+20407245
+2040724c
+68010a80
+1fe20c00
+d8a005e6
+18007206
+204073ab
+68010a82
+1fe20c00
+18007206
+204073ab
+58800000
+e0a18000
+6800c662
+e0a08000
+18007e00
+e0a40000
+58000388
+e0a20000
+2040724c
+20407288
+d8c00a3e
+d8a00706
+204077f7
+585c5c5c
+1fed0400
+1841845c
+68010a7e
+1fe20c00
+18007204
+2040728f
+20407245
+2040724c
+d8c00726
+d8a005e6
+18007208
+204073ab
+58800000
+1fed7e00
+e0a20000
+204077ff
+58000300
+e0a20000
+2040724c
+20207288
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+2040728f
+20407245
+2040724c
+68010a8a
+1fe20c00
+d8a005e6
+204073aa
+68010a8c
+1fe20c00
+204073aa
+5862746c
+1fed7e00
+1fe1fe6b
+e0a20000
+d8c00733
+18007203
+204073ab
+58800000
+1fed7e00
+e0a20000
+18007e00
+e0a40000
+58000380
+e0a20000
+2040724c
+20407288
+d8c00a3e
+d8a00706
+204077f7
+585c5c5c
+1fed0400
+1841845c
+d8c00a1e
+18007206
+2040728f
+20407245
+2040724c
+d8c00726
+d8a005e6
+18007208
+204073ab
+58800000
+1fed7e00
+e0a20000
+204077ff
+58000300
+e0a20000
+2040724c
+20207288
+6800c660
+c0817358
+4774403d
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+2040728f
+20407245
+2040724c
+d8c00a3e
+d8a005e6
+204073aa
+d8c00a2e
+204073aa
+2020736d
+58000000
+60024688
+20207349
+58000000
+60024688
+20207360
+6800c660
+c081735b
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+2040728f
+20407245
+2040724c
+d8c00a2e
+d8a005e6
+204073aa
+d8c00a3e
+204073aa
+58000000
+e0a40000
+e0a20000
+68024688
+e0a20000
+18a20400
+70072680
+18420a00
+d8c00736
+204073aa
+2040724c
+d8a005e6
+18007207
+20407800
+e0a20000
+580003f8
+e0a20000
+2040724c
+20407288
+d8c00a3e
+d8a00706
+204077f7
+585c5c5c
+1fed0400
+1841845c
+d8c00a1e
+18007206
+2040728f
+20407245
+2040724c
+d8c00726
+d8a005e6
+18007208
+204073ab
+58800000
+1fed7e00
+e0a20000
+204077ff
+58000300
+e0a20000
+2040724c
+20207288
+7005e3c0
+680085e3
+207a0000
+1fe0ffff
+600085e3
+d8c006be
+20407026
+2020f398
+d8c005e6
+d8a00676
+2020702c
+2040713d
+680085e3
+1fe0ffff
+600085e3
+d8c006be
+20407026
+20608000
+2020718e
+18007204
+18c08dfc
+e8c20000
+e0a20000
+18c08df8
+c20073ac
+20600000
+4774c03d
+6800c4bc
+203a542a
+20405426
+20406ebd
+202073b7
+6800c4c1
+c1800000
+6800c4be
+c1800000
+d8a045b0
+18000e0f
+20406fdc
+180a7e00
+1fe37e00
+e0a10000
+d8a00766
+d8c045b0
+204077f7
+d8a00646
+d8c0095e
+204077ed
+d8a00686
+2040780a
+70068601
+20407401
+7044be03
+20600000
+d8a045d0
+d8c006a6
+204077ed
+7044c103
+7044be00
+20600000
+680089b9
+c1800000
+6800c4be
+c1800000
+d8a00766
+d8c045b0
+204077f7
+d8a00646
+d8c009be
+204077ed
+d8a00686
+2040780a
+70068601
+20407401
+7044be04
+20600000
+d8a009fe
+d8c006a6
+204077f7
+7009b903
+7044be00
+20600000
+6800c4bc
+207a0000
+6800c4be
+207a0000
+1fe0fe80
+6000c4be
+c3838000
+680105e3
+203a73f3
+202073f9
+4775403d
+2040740e
+6800c4be
+c001f3cd
+c00273e3
+20600000
+20407420
+680105e3
+1fe0ffff
+600105e3
+d8c00766
+20407026
+20608000
+20207471
+4775c03d
+58000100
+600105e3
+680105e3
+207a0000
+1fe0ffff
+600105e3
+d8c00766
+20407026
+2020f404
+d8c00646
+d8a00706
+202077ec
+da200746
+d8a00846
+204074dd
+da200846
+d8a007e6
+204075b3
+da200706
+da4007e6
+d8a006a6
+2040751b
+da200846
+da4007e6
+d8a00826
+2040751b
+da200726
+da400826
+d8a006c6
+2020751b
+da200746
+d8a00826
+204075b3
+da200826
+d8a00846
+204075b3
+da20093e
+da400846
+d8a00846
+2040751b
+da200706
+d8a00826
+204075b3
+d8c00826
+d8a007e6
+204077f7
+da2007e6
+204075ba
+da200826
+da4007e6
+d8a00826
+204075b7
+da200826
+da400846
+d8a00826
+204075b7
+d8c00706
+d8a007e6
+204077f7
+da200726
+d8a00846
+204075b3
+da2007e6
+204075ba
+da2007e6
+204075ba
+da2007e6
+da400846
+d8a007e6
+2040751b
+da200846
+d8a00806
+204075b3
+da200806
+204075ba
+da200806
+204075ba
+da200806
+204075ba
+d8c00726
+d8a00846
+204077f7
+da200846
+204075ba
+da200846
+da400746
+d8a00746
+2040751b
+da200826
+d8a00846
+204075b3
+da200846
+da4007e6
+d8a00846
+204075d0
+da200846
+da4007e6
+d8a00706
+204075d0
+da2007e6
+da400706
+d8a00846
+204075d0
+da200846
+da400826
+d8a00846
+2040751b
+da200846
+da400806
+d8a00726
+202075d0
+da200686
+d8a00866
+204075b3
+da200706
+da400866
+d8a00806
+2040751b
+da200686
+da400866
+d8a00866
+2040751b
+da200726
+da400866
+d8a007e6
+2040751b
+da200746
+d8a00866
+204075b3
+da200646
+da400866
+d8a00826
+2040751b
+da200746
+da400866
+d8a00866
+2040751b
+da200666
+da400866
+d8a00846
+2040751b
+da400806
+da200826
+d8a00866
+204075d0
+da200806
+da400826
+d8a00806
+204075b7
+da4007e6
+da200846
+d8a00826
+204075d0
+da2007e6
+da400846
+d8a007e6
+204075b7
+da2007e6
+da400866
+d8a007e6
+2040751b
+da200746
+da400686
+d8a00846
+2040751b
+da200846
+da400866
+d8a00746
+2040751b
+da200866
+d8a00866
+204075b3
+da200866
+da400806
+d8a00846
+2040751b
+da200866
+da4007e6
+d8a007e6
+2040751b
+da200826
+d8a00706
+204075b3
+da200706
+da400846
+d8a00706
+204075d0
+d8c00706
+d8a00866
+204077f7
+da200866
+204075ba
+da200846
+da400866
+d8a00846
+204075d0
+da200846
+da400826
+d8a00826
+2040751b
+da200826
+da4007e6
+d8a00726
+204075d0
+da200726
+da40091e
+d8a00726
+18002600
+68008726
+2feffe00
+2040f5b5
+1a626000
+da200726
+204075e5
+68008745
+2e0ffe00
+7920fe07
+60008745
+20600000
+18a21600
+d8a00806
+2040780a
+18007e00
+60020826
+70080601
+d8a00786
+2040780c
+d8c0091e
+d8a007c6
+204077f7
+1a220c00
+d8a007e6
+204077f7
+d8c007e6
+204075ef
+203a7514
+da2007e6
+da400806
+204075f2
+da2007c6
+da400786
+204075f2
+da2007e6
+da4007c6
+204075eb
+20217506
+da2007c6
+da4007e6
+1a220a00
+204075e3
+da200806
+da400786
+1a420a00
+204075b5
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+202074eb
+da2007e6
+da4007c6
+1a220a00
+204075e3
+da200786
+da400806
+1a420a00
+204075b5
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+202074eb
+da200786
+19620a00
+20407544
+da20091e
+19622400
+19620a00
+202075d0
+18a21600
+18007000
+d8a00786
+2040780c
+d8a00ad2
+2040780c
+1a220c00
+700ad200
+58000000
+204075ad
+1a420c00
+204075b1
+18000e00
+d8a00786
+d8400ad2
+18e22400
+1a4bfe00
+9840a400
+18000400
+18002600
+e8a20000
+98002200
+ea420000
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e0a20000
+1fef0400
+1a60a601
+2a61fe08
+2420f52f
+18427e00
+e0a20000
+18a08be0
+18e08e01
+28e1fe08
+2420f529
+da200786
+19620a00
+20207544
+4776403d
+18a21600
+1a226000
+da4007c6
+1a420a00
+20407807
+e0a40000
+1a208c2c
+204077f3
+204077ef
+1a422200
+204075ba
+da4007c6
+1e022200
+19620a00
+204075b7
+da4007c6
+1a420a00
+20407807
+e0a40000
+1e008c30
+204077f9
+20407807
+1a422200
+204075ba
+da4007c6
+19622200
+1a220a00
+204075b7
+da4007c6
+1a420a00
+1e008c20
+204077ef
+20407807
+e0a40000
+1e008c38
+204077f3
+19622200
+1a220a00
+204075b7
+da4007c6
+1a420a00
+1e008c24
+204077ef
+1e008c34
+204077ef
+1e008c34
+204077f0
+1e008c20
+204077f0
+19622200
+1a220a00
+204075b7
+da4007c6
+1a420a00
+1e008c2c
+204077ef
+20407807
+e0a40000
+1e008c20
+204077f0
+1e008c28
+204077f0
+19622200
+1a220a00
+204075d0
+da4007c6
+1a420a00
+1e008c30
+204077f3
+204077f3
+18007e00
+e0a40000
+1e008c24
+204077f0
+1e008c2c
+204077f0
+19622200
+1a220a00
+204075d0
+da4007c6
+1a420a00
+1e008c34
+204077ef
+1e008c20
+204077ef
+20407807
+1e008c30
+204077f0
+19622200
+1a220a00
+204075d0
+da4007c6
+1a420a00
+1e008c38
+204077f3
+20407807
+1e008c24
+204077ef
+20407807
+1e008c34
+204077f0
+19622200
+1a220a00
+202075d0
+18007220
+d8a00ad2
+98a08a00
+2020783b
+18007208
+202070bb
+1a222400
+2020751b
+18007208
+2020704c
+204075b5
+18a22200
+202075bb
+204075e8
+2a6ffe00
+2020f5c4
+da40091e
+1a222600
+1a20a3e0
+204075eb
+24610000
+1a622200
+202075cc
+204075cc
+1a222600
+1a20a3e0
+da40091e
+204075eb
+24610000
+1a622200
+202075cc
+1a20a3e0
+da40091e
+1a220a00
+202075e3
+204075e3
+2020f5da
+18a0a3e0
+da40091e
+204075eb
+24610000
+da40091e
+18a0a3e0
+1a220a00
+202075e3
+18a0a3e0
+da40091e
+1a220a00
+204075b5
+20608000
+18a0a3e0
+da40091e
+1a220a00
+202075b5
+18007208
+2020705a
+18007208
+1a20a21c
+20207069
+18007208
+18002600
+20207077
+18007208
+1a20a21c
+1a40a41c
+20207041
+e8c40000
+247a0000
+2020702f
+1a226000
+1e022200
+ea208000
+2feffe00
+20608000
+204075e5
+ea408000
+2fec0000
+2020f602
+da20091e
+1a420a00
+204075b5
+ea408000
+9a60fe00
+e2408000
+1a40a5e0
+1a40a220
+18007209
+20407069
+202075f3
+20402c61
+20758000
+2040760d
+204076af
+20207642
+20407663
+2020769e
+6800c684
+c17f8000
+98000400
+20406148
+6808c684
+2040615f
+20000064
+6808c684
+20406135
+20207617
+4777403d
+6800c684
+c17f8000
+1fe20400
+20406157
+2420f629
+20407633
+68014680
+79207e0c
+60014680
+6800c677
+c1000000
+70467700
+6800c683
+6000c676
+2040763a
+700a992c
+202076c0
+68014680
+793ffe0c
+60014680
+6800c677
+c1008000
+70467701
+70467600
+2040763c
+700a992d
+202076c0
+6800c676
+207a0000
+1fe0ffff
+6000c676
+247a0000
+700a9910
+202076c0
+d8e00007
+20202c32
+d8e00007
+20202c36
+6801421b
+1a2fa40b
+9a40a400
+20600000
+6800c21a
+207a0000
+1fe27200
+6801421b
+1fe22400
+1a40a602
+ea688000
+20406148
+2040766c
+1a40a40b
+c2007647
+20600000
+2040763e
+58000002
+e2408000
+20407698
+2020766f
+2040763e
+58000003
+e2408000
+20407698
+2020766c
+2040763e
+58000001
+e2408000
+580000ff
+e0a08000
+2020766c
+2040763e
+df20000b
+1a620c00
+1a420a00
+2020782e
+6800c21a
+207a0000
+da200000
+20407672
+1a20a201
+6800c21a
+9a267c00
+20628000
+20207666
+1a40a602
+ea688000
+2020615f
+1a40a602
+ea688000
+20206163
+1a208e0b
+20407850
+247a0000
+2040763e
+ea408000
+c001766f
+c001f66c
+c000766c
+c002f686
+2040766f
+1a40a607
+204077b6
+ea610000
+204078d6
+204077c6
+58000005
+e2408000
+1a40a603
+ea610000
+20207696
+2040766c
+1a40a609
+204077b6
+ea610000
+204078d6
+204077c6
+1a40a601
+ea608000
+c07ff692
+1fe0ffff
+e2608000
+203a7653
+58000004
+e2408000
+1a40a605
+ea610000
+1a208e0b
+20207842
+58000000
+20207696
+58001000
+1ff07e00
+9a40a400
+20600000
+4777c03d
+da200000
+680a4678
+1c422400
+1a427e00
+98467c00
+2441769a
+1a427e00
+184084a0
+184084a0
+98467c00
+242176b2
+1a20a201
+1a217e0f
+243a76a5
+da200000
+204076b9
+1c427e00
+60024678
+20600000
+4778403e
+1a227e00
+207a0000
+18408560
+18408560
+793f841c
+600a4678
+20202d1c
+70466401
+6800c665
+243a76bb
+20600000
+70466400
+20600000
+4778c03e
+204076ba
+1a227e00
+60020a91
+da204666
+204078f2
+68020a91
+1fe22200
+202076be
+4779403e
+204076ba
+1a227e00
+60020a91
+da20466e
+204078f2
+68020a91
+1fe22200
+202076be
+58000000
+6004466e
+60044666
+20600000
+4779c03e
+6800c1ce
+247a0000
+da20466e
+2040790a
+207a0000
+700a9000
+204076e1
+68008a90
+203a76d6
+20600000
+204076ba
+da20466e
+204078fe
+1fe20400
+204076be
+477a403e
+18427e00
+207a0000
+c000f717
+c001771c
+c001f722
+c003f727
+c0047728
+c004f729
+c005f72c
+c006772d
+c006f72e
+c0077734
+c007f739
+c008773f
+c009f749
+c00a774b
+c00af74d
+c00b774f
+c00bf752
+c00c7754
+c00cf757
+c00df75f
+c00f7769
+60008a99
+477ac03e
+20405bf6
+243a7715
+68008a99
+c584f710
+c0027724
+c002c651
+c0034660
+c005772a
+c008f744
+c0097748
+c00ef760
+c00fe106
+c010610a
+c010f76b
+c012e045
+20600000
+60008a99
+20402252
+2022f715
+2040225a
+24628000
+700a9001
+202076c9
+68014680
+79207e06
+60014680
+70409303
+20600000
+70467e00
+70409300
+68014680
+793ffe06
+60014680
+20600000
+7041ce05
+20600000
+70007c07
+7004ca13
+20600000
+20600000
+20600000
+20600000
+7004d402
+20204644
+20600000
+20600000
+70436c01
+70448200
+68014680
+79207e0b
+60014680
+20600000
+68014680
+793ffe0b
+60014680
+70436c00
+20600000
+70436c01
+70448201
+68014680
+79207e0b
+60014680
+20600000
+68014680
+793ffe0b
+60014680
+70436c00
+20600000
+58000014
+6001046d
+600144b8
+202055cc
+202053f9
+da200000
+20207653
+da200000
+2020764e
+da200000
+20207658
+70436701
+7041ce1b
+20600000
+70436701
+20600000
+70436700
+7041ce00
+20600000
+680141eb
+204078d6
+6800c684
+c07ff75d
+1fe20400
+20406135
+204076d2
+20202b1f
+2020543c
+70007c34
+79200003
+24748000
+70455900
+70007c13
+6800816d
+793ffe02
+6000816d
+20600000
+18000e03
+20207841
+20405c32
+70007d41
+202058d7
+6800c680
+c4060000
+c4038000
+20207769
+68014218
+1fe08a02
+58000000
+e0a18000
+20600000
+20407923
+204077a3
+207a0000
+68014218
+1fe0a402
+ea488000
+18408401
+e2488000
+efe88000
+18427200
+1fe0a404
+ea408000
+984ffe00
+98c08a00
+1a220c00
+2040783b
+204077a7
+1fe0ffff
+ea488000
+18408401
+98410400
+e2488000
+20207921
+20407923
+2040779f
+207a0000
+68014218
+1fe0a402
+ea488000
+184085ff
+e2488000
+efe88000
+18427200
+1fe0a403
+ea408000
+984ffe00
+98c08c00
+18c08c01
+1a220a00
+20207786
+68014218
+1fe08c02
+e8c08000
+20600000
+204077a7
+e8c88000
+98467e00
+20600000
+68014218
+1fe08c01
+e8c08000
+20600000
+1f267c00
+20628000
+1fe37e00
+c20077ad
+20600000
+18007e01
+1f267c00
+20628000
+1fe3fe00
+c20077b3
+20600000
+18a27e00
+60010abb
+600c0aa2
+19627e00
+60020aaa
+204077bf
+18c27e00
+60010ab9
+20600000
+1a227e00
+60020aae
+1a427e00
+60020ab2
+1a627e00
+60018ab6
+20600000
+680c0aa2
+68020aaa
+98001600
+204077cf
+68010abb
+98000a00
+68010ab9
+98000c00
+20600000
+68020aae
+98002200
+68020ab2
+98002400
+68018ab6
+98002600
+20600000
+68010abb
+1fe20a00
+20600000
+68010ab9
+1fe20c00
+20600000
+18a27e00
+60010abb
+20600000
+18c27e00
+60010ab9
+20600000
+18a27e00
+60010a97
+18c27e00
+60010a95
+20600000
+68010a97
+1fe20a00
+68010a95
+1fe20c00
+20600000
+204077f7
+204077f7
+202077f7
+204077f3
+e8c20000
+e0a20000
+20600000
+e8c40000
+e0a40000
+20600000
+204077f9
+204077f3
+204077f3
+204077f3
+202077f3
+df20000a
+20002ee0
+c20077fc
+20600000
+18007203
+18007e00
+e0a40000
+c2007801
+20600000
+18007e00
+e0a40000
+20600000
+18007e00
+e0a20000
+20600000
+18007204
+20207800
+18007208
+20207800
+1f227e00
+207a0000
+58000000
+e0a08000
+c2007811
+20600000
+df200020
+d8a00ac2
+2020780e
+ea620000
+ea2a0000
+9842fe00
+e0a20000
+1a20a204
+1a60a604
+c2007817
+20600000
+477bc03e
+1f227e00
+1fe67c01
+20610000
+9a20a400
+1a40a5ff
+1f237200
+ea288000
+ea408000
+e2208000
+e2488000
+1a40a5ff
+1a20a201
+c2007826
+20600000
+1f227e00
+207a0000
+1f20f3f8
+204177f3
+20628000
+20217830
+1f20f208
+1f20f3fc
+204177f0
+20628000
+20217835
+1f20f204
+2020783b
+1f227e00
+207a0000
+e8c08000
+e0a08000
+c200783d
+20600000
+58000000
+1c430400
+600a4094
+d8a0419d
+98000400
+18e3fe00
+98a08a00
+e0a90000
+477c403f
+20600000
+d9600800
+19701600
+9960fe00
+20600000
+d8e00000
+477cc03f
+680a4094
+1c437e00
+60024094
+98467c00
+2441784b
+98461600
+19620400
+d8c0419d
+18c20a00
+df200010
+e8c10000
+98467e00
+2021785f
+18007e00
+e0a10000
+c200785b
+d8c0419d
+18e3fe00
+98c08c00
+e8c10000
+20600000
+98408400
+18427200
+58000ea6
+9f267e00
+20610000
+1fe67e00
+18510400
+18408401
+18500400
+98418400
+20600000
+20407873
+2020787d
+78547c00
+98467e00
+20217878
+78347c00
+1fe67e00
+c4078000
+d85f0ea6
+9840fe00
+793ffe40
+20600000
+98000c00
+1ff17e00
+d8400ea6
+984ffe00
+98c0fe00
+20600000
+1fed7e00
+1ff27e00
+6809c16f
+9846fc00
+204078c0
+18078400
+20600000
+d8400ea6
+9846fc00
+204078c0
+1807fe00
+1ff07e00
+18070400
+98418400
+20600000
+d8400000
+18422600
+e8608000
+2040789e
+1a620400
+204078cf
+da40000a
+9a4ffe00
+9840fe00
+1fe20400
+c2007893
+20600000
+d840003a
+98467c00
+242178a7
+d8400061
+98467c00
+202178aa
+d8400037
+98467e00
+20600000
+d8400030
+98467e00
+20600000
+d8400057
+98467e00
+20600000
+18426000
+580001ff
+18002400
+1fe92200
+1a232200
+9a22a200
+2a2ffe00
+7920fe09
+18430400
+2feffe00
+79208407
+1fe37e00
+1a40a401
+2a400e00
+2420f8b0
+e0a88000
+c20078b0
+1e020400
+20600000
+207a8000
+202078c0
+ea208000
+ea488000
+98467c00
+24628000
+1a20a201
+1a40a401
+c20078c2
+18007c00
+20600000
+98467c00
+24610000
+18427e00
+20600000
+9840fe00
+98460400
+98467e00
+20600000
+df200200
+d8a04000
+20207800
+207a0000
+1fe27a00
+6811010e
+243a78d8
+20600000
+70820301
+20600000
+60110205
+68108203
+79207e04
+60108203
+20600000
+60110207
+68108203
+79207e06
+60108203
+20600000
+60110205
+70820330
+20600000
+68108043
+793ffe04
+60108043
+20600000
+6811010e
+d8400200
+98467c00
+20600000
+477d403f
+ea2c0000
+18417eff
+243a78f8
+184cfe00
+e2240000
+1a20a207
+ea208000
+243a2a8c
+68008a99
+e2208000
+20600000
+477dc03f
+df200008
+ea240000
+207a0000
+ea208000
+243a7907
+1a20a201
+c2007902
+20202a8c
+d8400000
+e2288000
+20600000
+ea240000
+20600000
+ea208000
+20600000
+ea210000
+20600000
+d8400000
+68008006
+c2007911
+18408401
+c2007911
+18427e00
+20600000
+98467c00
+24610000
+18427e00
+20600000
+18007dff
+20600000
+18007c01
+20600000
+18007c00
+20600000
+78347c00
+20600000
+78547c00
+20600000
+58000001
+20600000
+58000000
+20600000
+1f227e00
+207a0000
+18c27e00
+9f20fe00
+1fe0ffff
+1fe20c00
+e8c08000
+18c08dfe
+e0a08000
+c200792f
+20600000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00001266
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
+00000000
Index: YJX_Only24g/FCC_1021S/sched/109x.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/109x.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/109x.dat	(working copy)
@@ -0,0 +1,39 @@
+#mem_patch10:e0
+#mem_patch11:07
+#mem_patch29:28
+
+mem_patch00:01
+
+mem_lpm_config:8f 10 ca
+mem_lpm_buckcnt:0a 0b ef 07
+mem_lpm_hibernate_switch:00
+mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
+
+mem_fcomp_mul:02
+mem_fcomp_div:24
+mem_iscan_window:24 00
+mem_iscan_interval:00 02
+mem_pscan_window:24 00
+mem_pscan_interval:00 02
+
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 20
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+
+mem_lpm_xtalcnt:00 0a 1b ef 07
+
+mem_lmp_version:08 0e 05 04 00
+
+mem_eeprom_base:30 1f
+mem_eeprom_block_size:20
+mem_context_number:01
+
+mem_rf_init_data:
+ff
+mem_rf_init_ptr:mem_rf_init_data
+
+
+
Index: YJX_Only24g/FCC_1021S/sched/AntiLost.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/AntiLost.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/AntiLost.dat	(working copy)
@@ -0,0 +1,174 @@
+mem_antl_queue_width:0a 08
+mem_queue_ptr:mem_antl_queue_width
+mem_antl_lpm_interval:14 00
+mem_antl_adv_interval:10 00
+mem_antl_slow_adv_lpm_interval:a0 00
+mem_antl_slow_adv_adv_interval:3b 06
+
+
+#mem_le_notify_handle:0a 00
+mem_device_option:0f
+mem_le_adv_channel_map:07 
+#mem_ssp_enable:01
+
+mem_ui_button_gpio:08
+mem_ui_button_timeout:1e
+mem_ui_button_last_state:01
+
+mem_antl_fast_adv_timeout:64 00
+mem_antl_le_sleep_timeout:b0 04
+
+mem_power_param_ptr:mem_antl_power_param
+mem_antl_power_off_timeout:0f 0c
+mem_ui_led_struct_num:02
+mem_ui_led_struct_ptr:mem_antl_led_style
+mem_antl_led_gpio:1b
+mem_antl_buzzer_gpio:83
+
+
+mem_antl_fast_adv_led_style:01 ff 1b 32 00 f0 00
+mem_antl_slow_adv_led_style:01 ff 1b 32 00 4e 0c
+mem_antl_power_starting_led_style:01 03 1b 96 00 96 00
+mem_antl_power_starting_buzzer_style:01 03 83 96 00 96 00
+mem_antl_power_off_led_style:01 01 1b 80 0c 00 00
+mem_antl_power_off_buzzer_style:01 01 83 80 0c 00 00
+mem_antl_alert_led_stlye:01 ff 1b 32 00 0e 06
+mem_antl_alert_buzzer_stlye:01 ff 83 32 00 0e 06
+mem_antl_key_led_style:01 01             1b 32 00 32 00
+mem_antl_key_buzzer_style:01 01              83 32 00 32 00
+
+
+
+#mem_le_pres:02 03 00 01 10 02 01
+mem_le_pres_auth:01
+mem_le_pres:02 03 00 05 10 02 03
+mem_le_transmit_window:50
+mem_rx_window_sniff_inc:00 40
+mem_le_local_mtu:17
+
+
+mem_le_lap:0a 89 73 70 b4 c1
+mem_le_name_len:
+#with 5 spaces
+'TrackerPA     
+
+mem_le_adv_data_len:1e
+mem_le_adv_data:
+#appearance
+03 19 c1 03
+#flags
+02 01 05
+#tx power level
+02 0a 00
+#complete uuid
+03 03 f0 ff
+#complete local name
+#with 5 spaces
+'\09TrackerPA     
+mem_le_scan_data_len:10
+mem_le_scan_data:
+#with 5 spaces
+'\09TrackerPA     
+
+#mem_adv_lap_ptr:mem_le_adv_data+2
+
+
+mem_keyscan_ptr:mem_antl_key_num
+mem_lpm_mode:01
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+
+mem_interval_increment:04 00
+mem_antl_le_interval_min:
+18 00 #min interval
+20 00 #max interval
+10 00 #latency
+58 02 #timeout
+mem_antl_le_unnormal_interval_min:
+10 01 #min interval
+90 01 #max interval
+00 00 #latency
+58 02 #timeout
+
+mem_antl_led_num:01
+mem_antl_led_gpio_map:
+1b
+ff
+ff
+ff
+
+
+mem_antl_key_num:01
+mem_antl_key_conf0:
+#0
+08
+#1
+ff
+#2
+ff
+#3
+ff
+mem_antl_key0_press:
+06
+0a 00
+5a 6b #header
+00    #opcode(from 01 to fe) #6th byte
+00 00 #data length
+00    #sum
+#key0release for doubleclick
+mem_antl_key0_release:
+07 #0th byte
+0a 00
+5a 6b #header
+00    #opcode(from 01 to fe)for doubleclick #5th byte
+00 01 #data length 0x0001 (not 0x0100,byteswaped after loading)
+00   #8th byte
+00	 #sum
+mem_adc_config_flag:00
+mem_adc_timeout:b0 04
+mem_battery_calculate_set:
+2c 01
+fa 00
+00 00
+00 00
+
+#mem_empty_count:03
+mem_alarm_config:01
+mem_alarm_config_notfy_cnt:01
+
+#beep
+mem_buzzer_pwm_conf:
+03	#pwm gpio
+04	#pwm channel
+a0	#three  byte frequency
+0f
+00
+32 #duty cycle (by percent %)
+
+mem_ui_le_uuid_table:mem_AntiLost_le_att_list
+#attribute list: handle 2bytes  uuid 2bytes  length 1bytes  attribute Nbytes
+mem_AntiLost_le_att_list:
+#Primary service GAP ------
+01 00  02 00 28 02 00 18
+#Device name
+02 00 02 03 28 01 0a
+03 00 02 00 2a 04 31 32 33 34
+#Appearance
+04 00 02 03 28 01 02
+05 00 02 01 2a 02 c8 00 #3c2=hid mouse
+#Peripheral Preferred Connection Parameters
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 08 00 20 00 10 00 58 02 # interval 6ms, latency 100, timeout 600
+#Primary service yichip transmit ------
+08 00 02 00 28 02 f0 ff
+
+09 00 02 03 28 01 12
+0a 00 02 f1 ff 08 00 00 00 00 00 00 00 00
+0b 00 02 02 29 02 00 00
+
+0c 00 02 03 28 01 08
+0d 00 02 f2 ff 08 00 00 00 00 00 00 00 00
+#End of Attribute list
+00 00
+
+
Index: YJX_Only24g/FCC_1021S/sched/DM_module.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/DM_module.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/DM_module.dat	(working copy)
@@ -0,0 +1,433 @@
+
+mem_device_option:0a
+mem_ui_profile_supported:40
+mem_app_connection_options:13
+
+mem_features:
+ff
+ff
+8f
+f8      #fe--EDR  F8--BR
+9b      #AFHclose 83
+9d
+59
+83
+
+##############ADC CONFIG##############
+mem_module_read_vdd_count:01
+mem_module_read_vdd_flag:01
+#####################################
+
+##############NVRAM CONFIG##############
+mem_nv_data_ptr:mem_module_nv_data
+mem_nv_data_number:05
+#####################################
+
+##############SPP CONFIG##############
+mem_credit_flag:00
+mem_rfcomm_max_frame_size:7f 00
+mem_rfcomm_credit_init_data:07
+#####################################
+
+##############SSP CONFIG##############
+mem_sp_iocap_local:03 00 04
+mem_ssp_enable:01
+mem_pin_length:04  30 30 30 30 30
+#####################################
+
+##############UART CONFIG##############
+mem_baud:D0 00
+mem_module_uart_rx_buffer:00 1c
+mem_module_uart_rx_buffer_end:ff 1f
+mem_module_uart_tx_buffer:00 4c
+mem_module_uart_tx_buffer_end:ff 4f
+#####################################
+
+
+
+##############BLUETOOTH CONFIG##############
+###commom###
+mem_soft_version_num:00 01
+mem_module_state:03
+mem_module_bluetooth_stauts_by_command:07
+mem_class:24 04 04
+
+mem_module_flag:00
+#bit0 MODULE_FLAG_UART_FLOW_CONTROL
+#bit1 MODULE_FLAG_BLE_SEND_MTU23
+#bit2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+mem_ui_button_gpio:ff
+mem_lpm_mode:01
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult_timeout:02
+
+mem_module_wake_up_gpio:1b
+
+###3.0###
+mem_scan_mode:03
+mem_module_spp_lpm_mult:28
+mem_lap:77 1a 21 31 10 3a
+mem_local_name_length:
+'YichipFPGA
+
+###3.0 sinff param###
+mem_sniff_param_interval:20 00
+mem_sniff_param_attempt:01
+mem_sniff_param_timeout:00
+
+
+###ble###
+mem_le_secure_connect_enable:00
+mem_le_adv_channel_map:07
+mem_le_pairing_mode:01
+
+mem_module_data_write_handle:2d 00
+mem_module_data_write_handle2:2f 00
+
+
+mem_le_adv_enable:01
+mem_le_adv_interval:f0 00
+mem_module_le_lpm_mult:05
+mem_le_lap:2a 31 00 33 02 3a
+mem_le_name_len:
+'Yichip 1021s Mou
+
+mem_le_adv_data_len:03
+mem_le_adv_data:
+02 01 0e
+
+mem_le_scan_data_len:0e
+
+mem_le_scan_data:# 1 byte length + 1 byte type + N bytes data
+'\09Yichip 1021s Mou
+
+mem_le_pres:02 03 00 05 10 02 03
+
+mem_le_interval_min:
+08 00 #min interval
+10 00 #max interval
+00 00 #latency
+2c 01 #timeout
+
+
+mem_le_local_mtu:b5
+mem_le_remote_mtu:17
+
+mem_le_pairing_handle:31 00
+
+#####################################
+
+
+mem_eir_enable:01
+mem_all_uuid_16bits: 
+05
+03#Type: Complete list of 16-bit UUIDs
+0012 0001 0100 0111 0300 
+
+mem_all_uuid_128bits:
+00
+
+
+mem_ui_uuid_table:mem_module_uuid_list
+
+mem_module_uuid_list:
+03
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+52
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+06
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03
+11
+01
+00
+03
+01
+00
+00
+01
+00
+03
+36
+00
+46
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+02
+0a
+00
+00
+00
+00
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+01
+00
+25
+0a
+53
+50
+50
+20
+73
+6c
+61
+76
+65
+00
+00
+00
+01
+00
+
+
+mem_ui_le_uuid_table:mem_module_le_att_list
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_module_le_att_list:
+#Primary service GAP ------
+01 00 02 00 28 02 00 18
+
+
+#Appearance
+02 00 02 03 28 01 02
+03 00 02 01 2a 02 c8 00 #3c2=hid mouse
+
+#Device name
+04 00 02 03 28 01 0a
+05 00 02 00 2a 14 41 73 74 20 4c 45 20 4d 6f 75 73 65 20 20 20 20 20 20 20 20
+
+
+#Peripheral Preferred Connection Parameters
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+
+#privcy flag
+08 00 02 03 28 01 02
+09 00 02 02 2a 01 01
+
+#reconnecting addr 
+0a 00 02 03 28 01 08
+0b 00 02 03 2a 06 00 00 00 00 00 00
+
+#Primary service GATT ------
+0c 00 02 00 28 02 01 18
+
+#Service changed
+0d 00 02 03 28 01 20
+0e 00 02 05 2a 00
+#Client Characteristic Configuration
+0f 00 02 02 29 02 00 00
+
+#Primary service TX power ------
+10 00 02 00 28 02 04 18
+#Characteristic Tx power level
+11 00 02 03 28 01 16
+12 00 02 07 2a 01 00
+13 00 02 02 29 02 00 00
+
+#Primary service Battery ------
+14 00 02 00 28 02 0f 18
+#Characteristic Battery level
+15 00 02 03 28 01 12
+16 00 02 19 2a 01 38
+
+#Primary service device infomation
+17 00 02 00 28 02 0a 18
+#Characteristic system id
+18 00 02 03 28 01 02
+19 00 02 23 2a 03 00 00 00
+
+#Characteristic manufactor name
+1a 00 02 03 28 01 02
+1b 00 02 29 2a 08 46 6c 61 67 74 72 69 70
+
+#Characteristic module number
+1c 00 02 03 28 01 02
+1d 00 02 24 2a 06 79 69 63 68 69 70
+
+#Characteristic serial number
+1e 00 02 03 28 01 02
+1f 00 02 25 2a 04 63 6f 6d 33
+
+#Characteristic firmware version
+20 00 02 03 28 01 02
+21 00 02 26 2a 03 31 2e 30
+
+#Characteristic software version
+22 00 02 03 28 01 02
+23 00 02 28 2a 03 31 2e 30
+
+#Characteristic hardware version
+24 00 02 03 28 01 02
+25 00 02 2a 2a 03 31 2e 30
+
+#Characteristic regulatory version
+26 00 02 03 28 01 02
+27 00 02 25 2a 04 63 6f 6d 33
+
+#Primary service yichip transmit ------
+28 00 02 00 28 10 55 e4 05 d2 af 9f a9 8f e5 4a 7d fe 43 53 53 49
+#Characteristic tx--notify read
+29 00 02 03 28 01 12
+2a 00 10 16 96 24 47 C6 23 61 BA D9 4B 4D 1E 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+2b 00 02 02 29 02 00 00
+
+#Characteristic rx--write
+2c 00 02 03 28 01 08
+2d 00 10 b3 9b 72 34 be ec d4 a8 f4 43 41 88 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#Characteristic rx-- write without Response
+2e 00 02 03 28 01 04
+2f 00 10 fe 69 ca 9a 56 19 f6 ab 02 4d aa 6d 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#Characteristic rx tx --read write notify
+30 00 02 03 28 01 1a
+31 0010 18 03 A6 28 5E D8 EC 91 1C 48 A3 AC 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+32 00 02 02 29 02 00 00
+
+#End of Attribute list
+00 00
+
+
Index: YJX_Only24g/FCC_1021S/sched/car.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/car.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/car.dat	(working copy)
@@ -0,0 +1,176 @@
+mem_device_option:0e
+mem_le_adv_channel_map:07 
+mem_le_adv_enable:00
+
+
+mem_spi_ncs_gpio:ff
+
+mem_le_pres_auth:01
+mem_le_local_mtu:17
+mem_le_adv_interval:60 01 
+
+
+
+mem_le_lap:56 78 01 98 07 2b
+mem_le_name_len:
+'YC-CAR-aa
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+17 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 02 01 05 03 02 ff f0
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+1e 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+
+
+mem_car_le_att_list:
+
+#Primary service: GATT
+01 00 02 00 28 02 01 18
+#Characteristic: Service changed
+02 00 02 03 28 01 20
+03 00 02 05 2a 01 00
+#Client Characteristic Configuration
+04 00 02 02 29 02 00 00
+
+#Primary Service: GAP
+05 00 02 00 28 02 00 18 
+#Characteristic: Device Name
+06 00 02 03 28 01 02
+07 00 02 00 2a 11 55 43 48 4f 4e 20 30 31 20 20 20 20 20 20 20 20 20
+#Characteristic: Appearance
+08 00 02 03 28 01 02 
+09 00 02 01 2a 02 c8 00 
+#Characteristic: Peripheral Preferred Connection Parameters
+0a 00 02 03 28 01 02
+0b 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary Service: Device Information
+0c 00 02 00 28 02 0a 18 
+#Characteristic: pnp id
+0d 00 02 03 28 01 02
+0e 00 02 50 2a 07 02 8a 24 66 82 01 00
+
+#Primary Service:Car
+0f 00 02 00 28 02 f0 ff
+#Characteristic: Notify/Read UUID
+10 00 02 03 28 01 12
+11 00 02 f1 ff 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+12 00 02 02 29 02 00 00
+#Characteristic: Write UUID
+13 00 02 03 28 01 08
+14 00 02 f2 ff 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+
+
+mem_ui_le_uuid_table:mem_car_le_att_list
+
+mem_lpm_mode:00
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+mem_car_hard_soft_switch:00
+
+mem_power_param_ptr:mem_car_soft_power
+mem_car_power_off_timeout:0c 0c
+
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:14
+mem_ui_button_last_state:01
+
+
+mem_ui_led_struct_ptr:mem_car_style1_led_type
+mem_ui_led_struct_num:02
+
+#style:01
+mem_car_style1_blink_count:ff
+mem_car_style1_struct_led_gpio:02
+mem_car_style1_on_time:96 02
+mem_car_style1_off_time:3a 07
+
+#style:02
+mem_car_style2_blink_count:ff
+mem_car_style2_struct_led_gpio:ff
+mem_car_style2_on_time:40 01
+mem_car_style2_off_time:40 01
+
+
+mem_car_led_num:0a
+mem_car_led_map:
+02
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+
+mem_car_queue_each_size:14 06
+
+mem_queue_ptr:mem_car_queue_each_size
+
+mem_car_config_pairing_led_conn_status:00
+mem_car_config_soft_switch_enable:00
+mem_car_config_pairing_led_gpio:ff
+mem_car_config_low_voltage_led_gpio:07
+mem_car_config_soft_switch_gpio:ff
+mem_car_config_low_voltage_percent:14
+mem_car_config_bat_notify_enable:01
+mem_car_config_device_select:03
+mem_car_config_ir_enable:01
+mem_car_config_motor_layout:03
+mem_car_config_ir_rx_gpio:06
+mem_car_config_led_num:08
+mem_car_config_blood_led_gpio:08 09 0a 0b 0c 0d 0e 0f
+
+
+mem_motor1_speed:0a
+mem_motor2_speed:0a
+mem_motor3_speed:0a
+mem_motor1_pwm_set:04 14 00 00 e8 03 00 00
+mem_motor2_pwm_set:05 15 00 01 e8 03 00 00
+mem_motor3_pwm_set:16 1b 00 02 e8 03 00 00
+
+mem_car_notify_vdd_count:14
+mem_notify_bat_packet:07 11 00 5a 6b 01 00 01 00 00
+
+mem_vdd_calculate_set:e0 01 90 01 9a 01 00 00	#full_vol;	empty_vol;	low_vol;	now_vol
+
+mem_ir_notify_data:08 11 00 5a 6b 06 00 02 00 00 00
+
+mem_adc_config_flag:01
+
+mem_car_info_request:0e 11 00 5a 6b 08 00 08 00 00 00 00 00 00 00 00 00
+
+mem_car_led_control_timer:05
+
+mem_car_24g_no_data_timeout_count:b8 0b
+
+#mem_car_led_control:01 01 01 01 01 01 01 01
+
+
+mem_tx_power:02
+mem_250k_freq_enable:00
+mem_24g_head_ptr:mem_24g_car_head_ptr
+mem_24g_car_head_ptr+394:4#offset_24g_pair_txpower
+mem_24g_car_head_ptr+146:20 15 10 05#offset_24g_paring_addr
+mem_24g_car_head_ptr+151:00 13 2c 42#offset_24g_ch_map1
+mem_24g_car_head_ptr+155:06 15 36 48#offset_24g_ch_map2
+mem_24g_car_head_ptr+159:0f 1a 3a 4c#offset_24g_ch_map3
+mem_24g_car_head_ptr+163:11 23 31 4d#offset_24g_ch_map4
+mem_24g_car_head_ptr+195:00#offset_24g_no_ack
+mem_24g_car_head_ptr+205:02#offset_24g_mode
+mem_24g_car_head_ptr+137:30 75#offset_24g_rx_window
+mem_24g_car_head_ptr+349:00#offset_24g_pair_mode auto pair
+mem_24g_car_head_ptr+314:38#offset_24g_hop_interval
+mem_24g_car_head_ptr+315:00#offset_24g_ackpayload_enable
+mem_24g_car_head_ptr+299:16 16 17 02#offset_24g_rx_addr
+
+
+
Index: YJX_Only24g/FCC_1021S/sched/fpga.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/fpga.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/fpga.dat	(working copy)
@@ -0,0 +1,36 @@
+
+
+
+4010:c0
+4011:0f
+4022:80
+4023:02
+
+mem_fcomp_mul:02
+mem_fcomp_div:24
+mem_iscan_window:12 00
+mem_iscan_interval:00 10
+mem_pscan_window:12 00
+mem_pscan_interval:00 08
+
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 20
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+
+mem_lpm_xtalcnt:00 0a 1b ef 07
+
+mem_lmp_version:08 0e 05 03 00
+
+mem_eeprom_base:30 ff
+mem_eeprom_block_size:80
+
+mem_context_number:01
+
+mem_rf_init_data:
+ff
+mem_rf_init_ptr:mem_rf_init_data
+
+
Index: YJX_Only24g/FCC_1021S/sched/gatt.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/gatt.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/gatt.dat	(working copy)
@@ -0,0 +1,86 @@
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip transmit ------
+12 00 00 28 02 f0 18
+#Characteristic tx--notify
+13 00 03 28 01 12
+14 00 f1 2a 14	# for Android device, ATT MTU is just 23 bytes, so payload is 20 bytes max
+'Test read initial va
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic rx--write
+16 00 03 28 01 0c
+17 00 f0 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+mem_le_adv_enable:01
+mem_le_adv_data_len:03
+
+mem_le_adv_data:02 01 05
+#flags NOTE: should be included here, or Android will not do connectgatt()
+
+
+mem_le_scan_data_len:17
+
+mem_le_scan_data:	# 1 byte length + 1 byte type + N bytes data
+
+#complete local name
+0e 09 
+#'Ast LE2Serial
+'YiChip BLE2IR
+
+#16bit uuid
+03 03 00 f0
+
+#Apperance
+03 19 40 02
+
+
+mem_le_adv_interval:00 08 
+mem_le_adv_direct_addr_type:01
+mem_le_adv_channel_map:07 
+
+mem_lap:77 11 00 33 00 00
+
Index: YJX_Only24g/FCC_1021S/sched/hci.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/hci.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/hci.dat	(working copy)
@@ -0,0 +1,8 @@
+#device parameters
+mem_lap:88 11 00 33 00 00
+mem_local_name_length:09
+mem_local_name:'Bluetooth
+mem_device_option:01
+mem_ssp_enable:01
+mem_lpm_mode:01
+mem_3v_adc_data:00 00
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/sched/hci_boot.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/hci_boot.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/hci_boot.dat	(working copy)
@@ -0,0 +1,11 @@
+
+mem_patch00:01
+mem_lpm_config:8f 10 ca
+mem_le_att_list+485:
+68 e4
+69 00
+6a 00
+6b 30
+ff
+mem_rf_init_ptr:mem_le_att_list+485
+
Index: YJX_Only24g/FCC_1021S/sched/le_prcp.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/le_prcp.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/le_prcp.dat	(working copy)
@@ -0,0 +1,80 @@
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip PRCP ------
+12 00 00 28 02 f1 18
+#Characteristic device tx
+13 00 03 28 01 12
+14 00 f3 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic device rx
+16 00 03 28 01 0e
+17 00 f2 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09
+'Yichip Temp
+ 03 19 40 02 02 01 05 02 0a 00 03 03 f1 18
+mem_le_scan_data_len:00
+#mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
+
+
+mem_le_adv_interval:20 00 
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:01 
+mem_le_adv_direct_addr_type:01
+mem_le_adv_direct_addr:00 00 00 00 00 00 
+mem_le_adv_channel_map:07 
+
+mem_le_notify_handle:14
+
+mem_lpm_mode:00
+#mem_lpm_ctrl:0f 0f 10 06
+mem_lpm_xtalcnt:0c 10 ca 1f
+mem_device_option:0d
+mem_fcomp_div:24
+mem_fcomp_mul:02
+mem_le_lap:45 67 78 89 90 56
+
Index: YJX_Only24g/FCC_1021S/sched/le_transmit_uuid.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/le_transmit_uuid.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/le_transmit_uuid.dat	(working copy)
@@ -0,0 +1,62 @@
+mem_device_option: 01
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip transmit ------
+12 00 00 28 02 f0 18
+#Characteristic tx--notify
+13 00 03 28 01 12
+14 00 f1 2a 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic rx--write
+16 00 03 28 01 0c
+17 00 f0 2a 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09 52 74 72 69 76 72 5f 52 36 32 31 03 19 40 02 02 01 05 02 0a 00 03 03 00 f0
+mem_le_scan_data_len:00
+mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
Index: YJX_Only24g/FCC_1021S/sched/light.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/light.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/light.dat	(working copy)
@@ -0,0 +1,18 @@
+mem_patch3a:02
+mem_patch1f:20
+
+mem_light_pwm0:04
+mem_light_pwm1:05
+mem_light_pwm2:1b
+mem_light_pwm3:1c
+mem_light_pwm4:03
+mem_light_pwm5:08
+mem_ui_button_gpio:ff
+
+mem_light_cnum:14
+mem_light_pairing_timer:00 02
+mem_light_pairing_enable:01
+mem_le_scan_enable:01
+mem_le_scan_interval:50 00
+mem_le_scan_window:40 00
+
Index: YJX_Only24g/FCC_1021S/sched/mouse.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/mouse.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/mouse.dat	(working copy)
@@ -0,0 +1,228 @@
+
+
+mem_devicedesc+9: 12 24#VID
+mem_devicedesc+11: 12 18#PID
+mem_string0:04 04 03 09 04
+mem_string1:
+'YICHIP
+#string length less than 32
+mem_string2: 
+'YICHIP 2.4G Device 
+mem_string3: 
+'b120300001
+
+
+mem_app_connection_options:06
+mem_lap:77 66 66 55 22 51
+mem_local_name_length:
+'Yichip www
+mem_sniff_param_interval:
+0c 00 
+02 00 ##mem_sniff_param_attempt:01 00
+01##mem_sniff_param_timeout:00 00
+
+
+mem_unsniff2sniff_timer:0a
+mem_ssp_enable:00
+##mem_all_uuid_16bits:
+##06
+##03#Type: Complete list of 16-bit UUIDs
+##0011 0100 1002 1124  1200  0001
+mem_all_uuid_128bits:00
+mem_device_option:43
+mem_ptt:00
+##mem_features:
+##ff
+##ff
+##8f
+##f8	#fe--EDR  F8--BR
+##9b	#AFHclose 83  open 9b
+##9d
+##59
+##83
+
+
+mem_sp_iocap_local:03 00 04
+mem_ui_profile_supported:01
+mem_eir_enable:01
+mem_spi_ncs_gpio:ff
+mem_device_option:43
+mem_sensor_reset_gpio:ff
+mem_le_adv_data_len:1f
+
+mem_le_adv_data:
+
+#appearance
+03 19 c2 03
+
+#flag 
+02 01 05
+
+#uuid
+03 03 12 18
+mem_le_name_len:
+'ww LE Mouse
+
+
+mem_le_interval_min:
+06 00 #min interval
+06 00 #max interval
+20 00 #latency
+2c 01 #timeout
+
+
+mem_le_adv_interval:20 00 
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:00
+mem_le_adv_channel_map:07 
+
+mem_le_lap:8e b1 3a 0e 8e ed
+
+mem_le_transmit_window:50
+
+mem_le_notify_handle:19 00
+mem_le_pairing_handle:1d 00
+
+mem_lpm_mode:00
+mem_lpm_mult:00
+
+mem_discovery_timeout:3c 0b
+mem_mouse_direct_timeout:64 00#58 02
+mem_mouse_no_data_timeout:28 23 #15min
+
+
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:1E
+
+mem_device_number:02 #max device number
+mem_24g_device_number:02 #devie 2 :24g mode
+mem_adc_config_flag:01 #1 vinlpm 2 hvin 3 gpio
+mem_adc_channel:30 
+mem_mouse_vdd_full_vol:2c 01#3v
+50 00#mem_mouse_vdd_empty_vol:00 00
+64 00#mem_mouse_vdd_low_vol:64 00  #1v adc 
+
+mem_config_sensor_type:00
+02#mem_config_sensor_motion:01
+06#mem_lbutton_gpio:16
+14#mem_rbutton_gpio:14
+07#mem_mbutton_gpio:15
+FF#mem_bk_button_gpio:ff
+FF#mem_fw_button_gpio:ff
+ff#mem_dpi_button_gpio:05
+1c#mem_whee_a_data_gpio:0b
+1b#mem_whee_b_data_gpio:07
+FF#mem_whee_ta_data_gpio:ff
+FF#mem_whee_tb_data_gpio:ff
+FF#mem_config_bt_button_gpio:18
+FF#mem_config_select_device_button_gpio:ff
+FF#mem_config_paraing_led_gpio:ff
+ff#mem_config_low_voltage_alarm_gpio:01
+ff#mem_config_device1_led_gpio:01
+ff#mem_config_device2_led_gpio:04
+FF#mem_config_device3_led_gpio:ff
+ff#mem_sensor_data_gpio:0c
+ff#mem_dpi_led_gpio:01
+00#mem_config_function_enable
+01#mem_config_sensor_angle
+05 #mem_select_sensor_angle_gpio
+ff #mem_select_adc_gpio
+
+
+
+mem_eeprom_wp_gpio:ff
+mem_usb_offline_check_gpio:02
+mem_config_function_enable:
+#bit0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+#bit1 ENABLE_MODE_LED
+#bit2 ENABLE_LOW_VOLTAGE_LED
+#bit3 ENABLE_DEVICE_LED
+#bit4 ENABLE_BT_BUTTON
+#bit5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+#bit6 ENABLE_SELECT_DEVICE_BY_SWITCH
+10
+
+mem_sensor_squal_reg:07# 07:3205         	06:3610
+
+mem_wire_usb_interval:19 #128
+mem_mouse_function_enable:
+#bit0 MOUSE_ENABLE_USB
+#bit1 MOUSE_ENABLE_24G
+#bit2 MOUSE_ENABLE_SPI2
+#bit3 MOUSE_ENABLE_FLASH
+#bit4 MOUSE_ENABLE_EEPROM
+#bit5 MOUSE_ENABLE_STATUE_UP_THREE_LED
+#bit6 MOUSE_ENABLE_STATUE_UP
+#bit7 MOUSE_ENABLE_DPI_LED_BLINK
+10
+#bit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+#bit1 MOUSE_ENABLE_2K_EEPROM
+#bit2 MOUSE_ENABLE_ADC
+#bit3 MOUSE_ENABLE_INIT_DELAY
+#bit4 MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+#bit5 MOUSE_ENABLE_AUTO_24G_PARING
+#bit6 MOUSE_ENABLE_WAKEUP_FROM_POWER
+#bit7 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+00
+
+mem_mouse_dpi_seting:
+00##mem_320x_dpi_1
+01##mem_320x_dpi_2
+02##mem_320x_dpi_3
+03##mem_320x_dpi_4
+
+15##mem_3212_dpi_1
+1a##mem_3212_dpi_2
+22##mem_3212_dpi_3
+2a##mem_3212_dpi_4
+
+04##mem_3610_dpi_1
+05##mem_3610_dpi_2
+07##mem_3610_dpi_3
+08##mem_3610_dpi_4
+
+mem_lap:12 34 56 78 10 10
+
+mem_flash_base:00 70 00
+
+mem_ui_led_struct_ptr:mem_mouse_led_type
+mem_ui_led_struct_num:01
+
+
+mem_tx_power:01#0dbm
+mem_250k_freq_enable:00
+mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+mem_24g_head_ptr:mem_24g_ms_head_ptr
+mem_24g_ms_head_ptr+394:20#offset_24g_pair_txpower
+mem_24g_ms_head_ptr+146:20 15 10 05#offset_24g_paring_addr
+mem_24g_ms_head_ptr+151:00 13 2c 42#offset_24g_ch_map1
+mem_24g_ms_head_ptr+155:06 15 36 48#offset_24g_ch_map2
+mem_24g_ms_head_ptr+159:0f 1a 3a 4c#offset_24g_ch_map3
+mem_24g_ms_head_ptr+163:11 23 31 4d#offset_24g_ch_map4
+mem_24g_ms_head_ptr+195:00#offset_24g_no_ack
+mem_24g_ms_head_ptr+205:01#offset_24g_mode
+mem_24g_ms_head_ptr+135:01#offset_24g_data_type 1ms 2kb
+mem_24g_ms_head_ptr+137:c0 12#offset_24g_rx_window
+mem_24g_ms_head_ptr+204:04#offset_24g_max_retry
+mem_24g_ms_head_ptr+171:19#offset_24g_interval
+mem_24g_ms_head_ptr+172:19#offset_24g_interval_min
+mem_24g_ms_head_ptr+173:1c#offset_24g_interval_max
+mem_24g_ms_head_ptr+150:ff#offset_24g_pairing_sm
+mem_24g_ms_head_ptr+182:00 48 60 00 00 00 00 00#offset_24g_enter_hibernate
+mem_24g_ms_head_ptr+257:10#offset_power_ctrl_txpwr_level0-5dbm
+mem_24g_ms_head_ptr+256:01#offset_power_ctrl_txpwr_level1 0dbm
+mem_24g_ms_head_ptr+255:02#offset_power_ctrl_txpwr_level2 3dbm
+
+
+mem_device_flag:
+01
+34
+11 22 33 44 55 66
+mem_device2_type:
+34
+11 22 33 44 55 66
+mem_device3_type:
+34
+11 22 33 44 55 66
+
+
Index: YJX_Only24g/FCC_1021S/sched/remote_car.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/remote_car.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/remote_car.dat	(working copy)
@@ -0,0 +1,106 @@
+mem_device_option:10
+
+
+mem_spi_ncs_gpio:ff
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:14
+mem_ui_button_last_state:01
+
+mem_remote_car_queue_each_size:0f 06
+
+mem_queue_ptr:mem_remote_car_queue_each_size
+
+mem_lpm_mode:00
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+mem_remote_car_hard_soft_switch:00
+
+mem_ui_led_struct_ptr:mem_remote_style_led_type
+mem_ui_led_struct_num:01
+
+mem_remote_style_blink_count:ff
+mem_remote_style_struct_led_gpio:1b
+mem_remote_style_on_time:96 02
+mem_remote_style_off_time:3a 07
+
+mem_remote_car_led_num:01
+mem_remote_car_led_map:
+1b
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ 
+mem_power_param_ptr:mem_remote_car_soft_power
+mem_remote_car_power_off_timeout:0c 0c
+
+mem_keyscan_ptr:mem_remote_car_keyscan
+mem_remote_car_key_num:07
+mem_remote_car_key_conf0:
+#0
+03
+#1
+04
+#2
+05
+#3
+06
+#4
+02
+#5
+07
+#6
+17
+
+
+mem_remote_car_config_soft_switch_enable:00
+mem_remote_car_config_connect_led_gpio:ff
+mem_remote_car_config_soft_switch_gpio:19
+mem_remote_car_config_key_map:00				#00:TEN shape	01:L+R shape
+mem_remote_car_config_layout:00					#00:F_B_MOTOR	02:L_R_MOTOR
+mem_remote_car_config_check_way:00				#00:key  01:rocker
+mem_remote_car_config_timeout_shutdown_enable:00	#00:don't shutdown        	;01:timeout to shutdown
+
+mem_current_vdd_value_default_mid_x:55 4e
+mem_current_vdd_value_default_mid_y:55 4e
+mem_current_vdd_default_range:00 07
+
+mem_adc_config_flag:02
+
+mem_remote_car_24g_motor_packet:       0c        5a 6b 04 00 06 00 0a 00 0a 00 0a 00  
+mem_remote_car_24g_fire_packet:08 5a 6b 06 00 02 00 00 00
+
+mem_remote_car_no_data_timeout:b8 0b
+
+mem_lap:01 02 03 04 05 06
+
+mem_tx_power:01#0dbm
+mem_250k_freq_enable:00
+mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+mem_24g_head_ptr:mem_24g_RC_head_ptr
+mem_24g_RC_head_ptr+394:4#offset_24g_pair_txpower
+mem_24g_RC_head_ptr+146:20 15 10 05#offset_24g_paring_addr
+mem_24g_RC_head_ptr+151:00 13 2c 42#offset_24g_ch_map1
+mem_24g_RC_head_ptr+155:06 15 36 48#offset_24g_ch_map2
+mem_24g_RC_head_ptr+159:0f 1a 3a 4c#offset_24g_ch_map3
+mem_24g_RC_head_ptr+163:11 23 31 4d#offset_24g_ch_map4
+mem_24g_RC_head_ptr+195:00#offset_24g_no_ack
+mem_24g_RC_head_ptr+205:01#offset_24g_mode
+mem_24g_RC_head_ptr+135:01#offset_24g_data_type 1ms 2kb
+mem_24g_RC_head_ptr+137:c0 12#offset_24g_rx_window
+mem_24g_RC_head_ptr+204:04#offset_24g_max_retry
+mem_24g_RC_head_ptr+171:19#offset_24g_interval
+mem_24g_RC_head_ptr+172:19#offset_24g_interval_min
+mem_24g_RC_head_ptr+173:1c#offset_24g_interval_max
+mem_24g_RC_head_ptr+150:ff#offset_24g_pairing_sm
+mem_24g_RC_head_ptr+182:00 48 60 00 00 00 00 00#offset_24g_enter_hibernate
+mem_24g_RC_head_ptr+257:10#offset_power_ctrl_txpwr_level0-5dbm
+mem_24g_RC_head_ptr+256:01#offset_power_ctrl_txpwr_level1 0dbm
+mem_24g_RC_head_ptr+255:02#offset_power_ctrl_txpwr_level2 3dbm
+
+
+
+
Index: YJX_Only24g/FCC_1021S/sched/rtrivr_uuid.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/rtrivr_uuid.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/rtrivr_uuid.dat	(working copy)
@@ -0,0 +1,75 @@
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+#Primary service Immediate alert ------
+0f 00 00 28 02 02 18
+#Characteristic Alert level
+10 00 03 28 01 04
+11 00 06 2a 01 00
+
+#Primary service UUID:f003 ------
+12 00 00 28 02 03 f0
+#Characteristic UUID:f803
+13 00 03 28 01 04
+14 00 03 f8 01 00
+
+
+#Primary service Link loss alert ------
+15 00 00 28 02 03 f0
+#Characteristic Alert level
+16 00 03 28 01 0a
+17 00 06 2a 01 00
+
+#Primary service UUID:f002 ------
+18 00 00 28 02 02 f0
+#Characteristic UUID:f802
+19 00 03 28 01 12
+1a 00 02 f8 01 28
+1b 00 02 29 02 00 00
+
+#Primary service Battery ------
+1c 00 00 28 02 0f 18
+#Characteristic Battery level
+1d 00 03 28 01 12
+1e 00 19 2a 01 38
+
+
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09 52 74 72 69 76 72 5f 52 36 32 31 03 19 40 02 02 01 05 02 0a 00 03 03 00 f0
+mem_le_scan_data_len:00
+mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
Index: YJX_Only24g/FCC_1021S/sched/shutter.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/shutter.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/shutter.dat	(working copy)
@@ -0,0 +1,231 @@
+
+
+mem_shutter_bluetooth_type:
+02
+
+
+mem_le_lap:72 32 00 98 07 2a
+mem_le_name_len:
+'Shutter Test
+
+mem_lap:21 00 24 00 20 00
+mem_local_name_length:#0b
+#mem_local_name:
+'ZRP Shutter
+
+mem_classic_shutter_random_mac_offset_addr:
+30 00
+
+mem_shutter_config_eeprom_offset_addr:
+00 00
+
+mem_shutter_config_enable:
+00
+
+mem_shutter_config_otp_base_address:
+fb 05
+
+mem_shutter_config_size:20
+
+mem_shutter_config_user_otp_address:
+00 00
+#da 05
+
+mem_key0_press:
+01 00
+mem_key0_release:
+06 00
+
+mem_key1_press:
+02 00
+mem_key1_release:
+06 00
+
+mem_key2_press:
+07 00
+mem_key2_release:
+08 00
+
+mem_ui_button_gpio:ff
+mem_shutter_hard_soft_switch_case:00
+mem_shutter_soft_switch_button_gpio:
+08
+mem_power_param_ptr:
+mem_shutter_soft_switch_power_state
+mem_shutter_soft_switch_power_state:
+00 #mem_shutter_soft_switch_power_state
+14 #mem_shutter_soft_switch_poweron_time
+20 #mem_shutter_soft_switch_poweroff_time
+
+
+mem_lpm_mode:01
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult:05
+mem_lpm_mult_timeout:02
+
+mem_shutter_config_select_gpio1:09 0a 0b
+
+mem_sniff_param_interval:30 00
+01
+00
+mem_unsniff2sniff_timer:0a
+
+mem_ble_shutter_reconn_blink_on_time:
+96 00
+96 00
+
+mem_ble_shutter_discovery_blink_on_time:
+96 02
+96 02
+
+
+mem_ble_shutter_interval_min_new:
+10 00
+20 00
+02 00
+2c 01
+
+mem_ui_led_struct_num:01
+mem_ui_led_struct_ptr:mem_shutter_led_struct_app_led
+
+mem_shutter_led_struct_app_led:
+00		#type:stop blink
+00		#blink count:no blink
+01		#led gpio number:GPIO01
+a0 01	#led blink light time
+a0 01	#led blink dark time
+00 00	#call back function when light time
+00 00	#call back function when dark time
+
+#mem_shutter_power_off_led_style
+01		#type:start blink
+07		#blink count:no blink
+01		#led gpio number:GPIO01
+a0 03	#led blink light time
+a0 03	#led blink dark time
+00 00	#call back function when light time
+00 00	#call back function when dark time
+
+
+mem_ble_shutter_reconn_dav_interval:10 00	#100ms
+mem_ble_shutter_discovery_adv_interval:40 01
+mem_le_adv_interval:40 01 
+mem_ble_shutter_reconn_timeout:50 00		#8s
+
+mem_device_option:09
+mem_le_adv_channel_map:07 
+mem_le_adv_enable:00
+
+mem_classic_shutter_discovery_timeout:
+00 FF	#mem_classic_shutter_discovery_timeout
+00 FF	#mem_classic_shutter_connect_timeout
+00 FF	#mem_ble_shutter_discovery_timeout
+00 FF	#mem_ble_shutter_connect_timeout
+	
+
+
+mem_queue_ptr: mem_queue_each_size
+
+mem_queue_each_size:
+01
+20
+
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+02 01 05
+03 02 12 18
+03 19 c1 03
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+0d 09 56 30 2d 53 68 75 74 74 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+
+
+mem_keyscan_ptr:mem_shutter_keyscan
+mem_shutter_key_num:01
+mem_shutter_key_conf0:
+#0
+08
+#1
+0c
+#2
+0d
+
+##############NVRAM CONFIG##############
+
+mem_app_connection_options:17
+
+mem_nv_data_ptr:mem_shutter_nv_data
+mem_nv_data_number:05
+
+mem_class: 4025
+
+mem_sp_iocap_local:03 00 04
+mem_ssp_mode_flag:03
+mem_ssp_enable:01
+mem_ui_profile_supported:01
+
+
+mem_ptt:00
+mem_features:
+ff
+ff
+8f
+f8	#openACL3M fe
+9b	#AFHclose 83
+9d
+59
+83
+
+
+#####################################
+
+
+##########BT shutter ################
+
+
+mem_lbutton_gpio:03
+mem_rbutton_gpio:07
+mem_mbutton_gpio:02
+
+
+
+
+
+################classic kb val list#######################
+
+################classic kb val list end#######################
+
+################ble kb val list#######################
+
+
+################ble kb val list end#######################
+
+
+##############BLE ATT LIST####################
+
+mem_ui_le_uuid_table:3a 91 #0x913A BLE_SHUTTER_GATT_LIST
+
+
+##############BLE ATT LIST END####################
+
+
+##############BT SDP LIST####################
+
+mem_eir_enable:01
+
+mem_all_uuid_16bits: 
+06
+03#Type: Complete list of 16-bit UUIDs
+1100  0001 0210 2411 0012 0100
+
+mem_all_uuid_128bits:
+00
+
+mem_ui_uuid_table:b8 92 #0x92B8 CLASSIC_SHUTTER_SDP_LIST
+
+##############BT SDP LIST END####################
+
+
Index: YJX_Only24g/FCC_1021S/sched/spp.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/spp.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/spp.dat	(working copy)
@@ -0,0 +1,206 @@
+#device option
+mem_device_option:04
+
+#spp uuid
+mem_uuid_list:
+04
+10
+02
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+5a
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+06
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03
+11
+01
+00
+03
+01
+00
+00
+01
+00
+03
+36
+00
+4e
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+02
+0a
+00
+00
+00
+00
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+01
+00
+25
+0a
+53
+50
+50
+20
+73
+6c
+61
+76
+65
+00
+00
+00
+01
Index: YJX_Only24g/FCC_1021S/sched/ssp.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/ssp.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/ssp.dat	(working copy)
@@ -0,0 +1,261 @@
+#memk, for reva-c only
+4b00:
+98    
+2f    
+8a    
+42    
+91    
+44    
+37    
+71    
+CF    
+FB   
+C0   
+B5    
+A5    
+DB   
+B5    
+E9    
+5B    
+C2    
+56   
+39    
+F1    
+11    
+F1    
+59    
+A4    
+82    
+3F    
+92    
+D5    
+5E    
+1C    
+AB    
+98    
+AA    
+07    
+D8    
+01   
+5B    
+83   
+12    
+BE    
+85   
+31    
+24    
+C3    
+7D    
+0C    
+55    
+74   
+5D    
+BE    
+72    
+FE    
+B1    
+DE    
+80    
+A7    
+06    
+DC    
+9B    
+74    
+F1    
+9B    
+C1    
+C1    
+69    
+9B    
+E4    
+86    
+47    
+BE    
+EF    
+C6    
+9D    
+C1    
+0F    
+CC    
+A1    
+0C    
+24    
+6F    
+2C    
+E9    
+2D    
+AA    
+84    
+74    
+4A    
+DC    
+A9    
+B0    
+5C    
+DA    
+88    
+F9    
+76    
+52    
+51    
+3E    
+98    
+6D    
+C6    
+31    
+A8    
+C8    
+27   
+03    
+B0    
+C7    
+7F    
+59    
+BF    
+F3    
+0B    
+E0    
+C6    
+47    
+91    
+A7    
+D5    
+51   
+63    
+CA    
+06    
+67    
+29    
+29    
+14    
+85    
+0A    
+B7    
+27    
+38    
+21    
+1B    
+2E    
+FC    
+6D   
+2C    
+4D    
+13    
+0D    
+38    
+53    
+54    
+73    
+0A    
+65    
+BB   
+0A   
+6A    
+76    
+2E   
+C9   
+C2   
+81    
+85   
+2C   
+72    
+92    
+A1    
+E8    
+BF    
+A2    
+4B    
+66    
+1A    
+A8    
+70    
+8B    
+4B    
+C2    
+A3    
+51    
+6C    
+C7    
+19    
+E8    
+92    
+D1    
+24    
+06   
+99   
+D6   
+85   
+35   
+0E    
+F4  
+70    
+A0    
+6A    
+10    
+16    
+C1    
+A4    
+19    
+08   
+6C    
+37    
+1E    
+4C    
+77    
+48    
+27    
+B5    
+BC    
+B0    
+34    
+B3    
+0C    
+1C    
+39    
+4A    
+AA    
+D8   
+4E    
+4F    
+CA   
+9C   
+5B    
+F3   
+6F    
+2E   
+68    
+EE    
+82   
+8F   
+74    
+6F   
+63    
+A5    
+78    
+14    
+78    
+C8    
+84   
+08    
+02   
+C7    
+8C   
+FA   
+FF    
+BE    
+90   
+EB    
+6C    
+50   
+A4   
+F7    
+A3    
+F9    
+BE    
+F2    
+78    
+71    
+C6    
+
+
+
Index: YJX_Only24g/FCC_1021S/sched/test.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/test.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/test.dat	(working copy)
@@ -0,0 +1,104 @@
+
+mem_patch00:
+41   #mem_patch00
+00   #mem_patch01
+00   #mem_patch02
+00   #mem_patch03
+00   #mem_patch04
+00   #mem_patch05
+00   #mem_patch06
+00   #mem_patch07
+0c   #mem_patch08
+00   #mem_patch09
+10   #mem_patch0A
+00   #mem_patch0B
+00   #mem_patch0C
+00   #mem_patch0D
+00   #mem_patch0E
+00   #mem_patch0F
+00   #mem_patch10
+00   #mem_patch11
+15   #mem_patch12
+00   #mem_patch13
+00   #mem_patch14
+00   #mem_patch15
+01   #mem_patch16
+00   #mem_patch17
+00   #mem_patch18
+00   #mem_patch19
+00   #mem_patch1A
+00   #mem_patch1B
+00   #mem_patch1C
+00   #mem_patch1D
+00   #mem_patch1E
+00   #mem_patch1F
+84   #mem_patch20
+01   #mem_patch21
+00   #mem_patch22
+01   #mem_patch23
+00   #mem_patch24
+00   #mem_patch25
+00   #mem_patch26
+c0   #mem_patch27
+00   #mem_patch28
+1c   #mem_patch29
+00   #mem_patch2A
+00   #mem_patch2B
+28   #mem_patch2C
+84   #mem_patch2D
+00   #mem_patch2E
+24   #mem_patch2F
+00   #mem_patch30
+20   #mem_patch31
+00   #mem_patch32
+00   #mem_patch33
+01   #mem_patch34
+00   #mem_patch35
+00   #mem_patch36
+00   #mem_patch37
+01   #mem_patch38
+54   #mem_patch39
+00   #mem_patch3A
+00   #mem_patch3B
+0c   #mem_patch3C
+00   #mem_patch3D
+00   #mem_patch3E
+00   #mem_patch3F
+
+
+
+
+
+mem_lap:77 11 00 33 00 00
+mem_le_lap:88 11 00 33 00 00
+mem_device_option:ff
+mem_local_name_length:
+'REVB
+
+mem_seqi:7f
+
+mem_lpm_mode:00
+mem_lpm_mult:20
+mem_lpm_mult_timeout:03
+mem_lpm_overhead:05
+mem_scan_mode:03
+mem_le_adv_enable:00
+mem_le_scan_enable:00
+mem_ui_button_gpio:ff
+mem_led_gpio:1b
+mem_led_light_time:90 01
+mem_led_dark_time:90 01
+
+mem_features:
+ff
+ff
+8f
+f8	#fe--EDR  F8--BR
+9b	#AFHclose 83
+9d
+59
+83
+
+
+
+
Index: YJX_Only24g/FCC_1021S/sched/usb.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/usb.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/sched/usb.dat	(working copy)
@@ -0,0 +1,44 @@
+
+mem_devicedesc+9: 12 24#VID
+mem_devicedesc+11: 12 18#PID
+
+mem_string0:04 04 03 09 04
+
+mem_string1:
+'YICHIP
+
+#string length less than 32
+mem_string2: 
+'YICHIP 2.4G Device 
+
+mem_string3: 
+'b120300001
+
+
+mem_usb_offline_check_gpio:02
+mem_remain:00
+
+mem_usb_zero_packet:00 00
+mem_usb_ones_packet:01 00
+mem_usb_two_packet:02 00
+mem_usb0_state:02#DEV_DEFAULT
+
+#24g rx
+mem_device_option:04	#dongle
+mem_tx_power:02
+mem_250k_freq_enable:00
+mem_24g_head_ptr:mem_24g_dongle_head_ptr
+mem_24g_dongle_head_ptr+394:4#offset_24g_pair_txpower
+mem_24g_dongle_head_ptr+146:20 15 10 05#offset_24g_paring_addr
+mem_24g_dongle_head_ptr+151:00 13 2c 42#offset_24g_ch_map1
+mem_24g_dongle_head_ptr+155:06 15 36 48#offset_24g_ch_map2
+mem_24g_dongle_head_ptr+159:0f 1a 3a 4c#offset_24g_ch_map3
+mem_24g_dongle_head_ptr+163:11 23 31 4d#offset_24g_ch_map4
+mem_24g_dongle_head_ptr+195:00#offset_24g_no_ack
+mem_24g_dongle_head_ptr+205:02#offset_24g_mode
+mem_24g_dongle_head_ptr+137:30 75#offset_24g_rx_window
+mem_24g_dongle_head_ptr+349:00#offset_24g_pair_mode auto pair
+mem_24g_dongle_head_ptr+314:38#offset_24g_hop_interval
+mem_24g_dongle_head_ptr+315:00#offset_24g_ackpayload_enable
+mem_24g_dongle_head_ptr+299:13 51 17 02#offset_24g_rx_addr
+
Index: YJX_Only24g/FCC_1021S/shutter eeprom data.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/shutter eeprom data.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/shutter eeprom data.dat	(working copy)
@@ -0,0 +1,36 @@
+3a
+1b
+21
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+39
+01
+00
+e0
+4f
+05
+01
+02
+03
+04
+0f
+12
+4f
+06
+01
+02
+03
+08
+09
+04
+00
+00
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/shutter eeprom data.dat.bak
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/shutter eeprom data.dat.bak	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/shutter eeprom data.dat.bak	(working copy)
@@ -0,0 +1,15 @@
+3a
+1b
+20
+0b
+59
+69
+63
+68
+69
+70
+54
+65
+73
+74
+39
Index: YJX_Only24g/FCC_1021S/util/a1bugfix.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/a1bugfix.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/a1bugfix.pl	(working copy)
@@ -0,0 +1,81 @@
+#get sched ram content
+$add = 0;
+if(open file, "sched.rom") {
+	while(<file>) {
+		next if(/^#/);
+		s/#.*//g;
+		if(/^([a-z0-9_]+):(.*)/) {
+			push @dat, $1;
+			$_ = $2;
+		}
+		if(/^\'/) {
+			s/[\'\r\n]//g;
+			for($i = 0;$i < length($_);$i++) {
+				push @dat, ord(substr($_, $i, 1));
+			}
+		} else {
+			s/\s//g;
+			for($i = 0;$i < length($_);$i+=2) {
+				push @dat, hex(substr($_, $i, 2));
+			}
+		}
+	}
+	close file;
+}
+for($j = $k = $n = 0;$j < @dat;$j++) {
+	if($dat[$j] =~ /^mem_/ && $j > 0 || $n == 3) {
+		push @init, sprintf "\tsetarg 0x%x\n", $k;
+		push @init, sprintf "\tistore %d,contw\n", $n;
+		$n = $k = 0;
+	}
+	if($dat[$j] =~ /^mem_/) {
+		push @init, sprintf "\targ %s,contw\n", $dat[$j];
+	} else {
+		$k |= $dat[$j] << $n++*8;
+	}
+}
+push @init, sprintf "\tsetarg 0x%x\n", $k;
+push @init, sprintf "\tistore %d,contw\n", $n;
+
+open file,"eeprom.dat";
+for($i = 0;$i < 4;$i++) {
+	$_ = <file>;
+}
+close file;
+$len = int(((hex($_) + @init*4 + 12) & 0xff)/4);
+if($len > 0x3b) {
+	for($i = 0;$i < 0x40 - $len;$i++) { push @init, "\trtn\n"; }
+	$len = 0;
+}
+printf "len=%x\n", $len;
+
+open file, "bt_program23.list";
+while(<file>){
+	if(/^0x([0-9a-f]+)\s+([0-9]+)/)  {
+		$line = 0 + $2;
+		last if(hex($1) == $len);
+	}
+}
+close file;
+open file, "bt_program23.meta";
+@f = <file>;
+close file;
+
+
+open file, ">bt_program23.meta";
+for($i = 0;$i < @f;$i++) { 
+	$_ = $f[$i];
+	if($i == $line) {
+		printf file "\tbranch skip_a1bugfix_romdat\n";
+		printf file "\tromdat 0x00,0x00,0x55,0xaa\n";
+		printf file "\tromdat 0x00,0x08,0x90,0x01\n";
+		printf file "\tromdat 0xa0,0x74,0x01,0xf0\n";
+		printf file "\tromdat 0x80,0xfe,0x00,0x00\n";
+		printf file "skip_a1bugfix_romdat:\n";
+	}
+	print file $_;
+	if(/^init_sched:/) {
+		print file @init;
+	}
+}
+close file;
Index: YJX_Only24g/FCC_1021S/util/bytecnt.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/bytecnt.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/bytecnt.pl	(working copy)
@@ -0,0 +1,12 @@
+while(<stdin>) {
+	next if(/^#/);
+	s/#.*//g;
+	if(/^\'/) {
+		s/[\r\n]//g;
+		$len += length($_) - 1;
+	} else {
+		s/\s//g;
+		$len += length($_)/2;
+	}
+}
+printf "len = %x\n", $len;
Index: YJX_Only24g/FCC_1021S/util/crc16_ccitt.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/crc16_ccitt.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/crc16_ccitt.pl	(working copy)
@@ -0,0 +1,61 @@
+sub swap
+{
+	my($b) = @_;
+	my($i, $j);
+	for($i = 0, $j = 0;$i < 8;$i++) {
+		$j |= 1 << $i if($b & 1 << (7 - $i)); 
+	}
+	return $j;
+}
+
+@crc_tabccitt = ();
+$initd = 0;
+sub init_crcccitt_tab
+{
+	my($crc, $i, $c, $j);
+
+  for ($i=0; $i<256; $i++) {
+      $crc = 0;
+      $c   = $i << 8;
+      for ($j=0; $j<8; $j++) {
+          if ( ($crc ^ $c) & 0x8000 ) {	$crc = ( $crc << 1 ) ^ 0x1021;	}
+          else  { $crc =   $crc << 1; }
+          $c = $c << 1;
+      }
+      $crc_tabccitt[$i] = $crc & 0xffff;
+  }
+	$initd = 1;
+}
+
+sub crc16_ccitt 
+
+{
+	my($crc, $c) = @_;
+	my($tmp, $short_c);
+
+	init_crcccitt_tab() if(!$initd);
+  $short_c  = 0x00ff & $c;
+
+  $tmp = ($crc >> 8) ^ $short_c;
+  $crc = (($crc << 8) ^ $crc_tabccitt[$tmp]) & 0xffff;
+
+  return $crc;
+
+} 
+
+sub crc16_ccitt2
+{
+	my($crc, $c) = @_;
+
+  $crc  = ($crc >> 8) | ($crc << 8);
+  $crc ^= $c;
+  $crc ^= ($crc & 0xff) >> 4;
+  $crc ^= $crc << 12;
+  $crc ^= ($crc & 0xff) << 5;
+  $crc &= 0xffff;
+ return $crc;
+}
+
+init_crcccitt_tab();
+
+1;
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/util/define_info.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/define_info.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/define_info.pl	(working copy)
@@ -0,0 +1,55 @@
+use strict;
+use warnings;
+
+sub read_definfo{
+	my $filename = shift();
+	my $const_chip = "CHIP VERSION：";
+	my $const_config = "CONFIG: ";
+	my $version = "";
+	my @res;
+	open(FILE,$filename) || die("can not open file:$filename ！\n");
+	while(my $line = <FILE>){
+		next if ($line eq "\n"||$line =~ "REVD");
+		last if ($line =~ "INCLUDE");
+		last if ($line =~ "SIMPLE_PAIRING");
+		
+		if ($line =~ "FPGA" && $line !~ "//"){
+			$version = $version."FPGA";
+		}elsif($line =~ "ROMCODE" && $line !~ "//"){
+			$version = $version."ROMCODE";
+			print $const_chip.$version."\n\n";
+		}elsif($line !~ "//"){				# valid
+			if ($line =~"liandi"){
+				print "baud rate  : boot rate\n";
+				}
+			elsif ($line =~ "CREDIT"){
+				print "credit     : from mcu\n";
+				}
+			elsif ($line =~ "SSP_EXT"){
+				print "ssp confirm: suport\n";
+				}
+			elsif ($line =~ "NVRAM"){
+				print "nvram      : by mcu\n";
+			}elsif ($line=~"RELEASE"){
+				print "version    : release\n";
+			}
+		}elsif ($line =~ "//"){				#noted
+			if ($line =~"liandi"){
+				print "baud rate  : 115200 or other \n";
+				}
+			elsif ($line =~ "CREDIT"){
+				print "credit     : auto\n";
+				}
+			elsif ($line =~ "SSP_EXT"){
+				print "ssp confirm: justwork only\n";
+				}
+			elsif ($line =~ "NVRAM"){
+				print "nvram      : in eep\n";
+			}elsif ($line =~ "RELEASE"){
+				print "version    : debug\n";
+			}
+		}
+	}
+}
+
+&read_definfo("bt.prog");
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/util/gen_patch_h.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/gen_patch_h.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/gen_patch_h.pl	(working copy)
@@ -0,0 +1,135 @@
+#!/usr/bin/perl
+sub clear_print_buf{
+	for($i = 0; $i < 10; $i++){
+		$binData[$i] = 0;
+	}
+}
+
+sub print_line{
+	if($byte_cnt == 0){
+		#new line print header;
+		$offset = $patch_cmd_len * $line_cnt;
+		printf "{";
+		printf "0x%x%x, ", ($offset / 16 )     % 16, ($offset)       % 16;
+		printf "0x%x%x, ", ($offset / 4096)    % 16, ($offset / 256) % 16;
+		printf "0x%x%x, ", ($patch_cmd_len / 16) % 16, ($patch_cmd_len)  % 16;
+		$line_cnt ++;
+	}
+	printf "0x%s%s, 0x%s%s, 0x%s%s, 0x%s%s",$binData[0],$binData[1],$binData[2],$binData[3],$binData[4],$binData[5],$binData[6],$binData[7];
+	
+	$byte_cnt += 4;
+	if($byte_cnt >= $patch_cmd_len){
+		$byte_cnt = 0;
+		printf "},\n\t";
+	}else{
+		printf ", ";
+	}
+}
+
+################STATIC########################
+
+$patch_cmd_len = 96;
+$patch_cmd_header_len = 3;
+$patch_cmd_checksum_len = 1;
+
+################main fuction##################
+
+printf "/******************************************************************************\n";
+printf " ** File Name:      yc_patch_yc1021.h                                         *\n";
+printf " **                                                                           *\n";
+printf " ******************************************************************************\n";
+printf "\n";
+printf " ******************************************************************************\n";
+printf " **                               Edit History                                *\n";
+printf " ** ------------------------------------------------------------------------- *\n";
+printf " **     DATE          NAME             DESCRIPTION                            *\n";
+printf " **  2015.3.17       fan.kou            Create.                               *\n";
+printf " ******************************************************************************/\n";
+printf "/******************************************************************************/\n";
+printf "#ifndef _YC_PATCH_YC1021_H_2015_03_17_16_39_59_298_\n";
+printf "#define _YC_PATCH_YC1021_H_2015_03_17_16_39_59_298_\n";
+printf "\n";
+printf "/**---------------------------------------------------------------------------*\n";
+printf " **                             Dependencies                                  *\n";
+printf " **---------------------------------------------------------------------------*/\n";
+printf "/**---------------------------------------------------------------------------*\n";
+printf " **                            Compiler Flag                                  *\n";
+printf " **---------------------------------------------------------------------------*/\n";
+printf "#ifdef __cplusplus\n";
+printf "extern   \"C\" \n";
+printf "{\n";
+printf "#endif\n";
+printf "/**---------------------------------------------------------------------------*\n";
+printf " **                           Macros & Enums                                  *\n";
+printf " **---------------------------------------------------------------------------*/\n";
+
+open(FILE,"ramcode.rom") or die $!;
+$line_cnt = 0;
+while($line = <FILE>){
+	$line_cnt++;
+}
+$cmd_cnt = $line_cnt * 4 / $patch_cmd_len + (($line_cnt * 4 % $patch_cmd_len) > 0);
+close(FILE);
+
+printf "#define YC_PATCH_CMD_CNT %d\n",$cmd_cnt;
+printf "#define YC_PATCH_CMD_LEN %d\n",$patch_cmd_len + $patch_cmd_header_len + $patch_cmd_checksum_len;
+printf "#define YC_PATCH_ARRAY_LEN 0x20\n";
+printf "/**---------------------------------------------------------------------------*\n";
+printf " **                           Data Structures                                 *\n";
+printf " **---------------------------------------------------------------------------*/\n";
+printf "\n";
+printf "/**---------------------------------------------------------------------------*\n";
+printf " **                             Variables                                     *\n";
+printf " **---------------------------------------------------------------------------*/\n";
+printf "\n";
+
+printf "const uint8_t yc_patch_array[YC_PATCH_ARRAY_LEN] =\n";
+printf "{\n";
+printf "\t0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n";
+printf "\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n";
+printf "\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n";
+printf "\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n";
+printf("\n");
+printf("};\n");
+
+
+printf "const uint8_t yc_patch_cmd[YC_PATCH_CMD_CNT][YC_PATCH_CMD_LEN] =\n";
+printf "{\n\t";
+
+open(BINFILE,"ramcode.rom") or die $!;
+binmode (BINFILE);
+$byte_cnt = 0;
+$end_of_file = 0;
+$checksum = 0;
+$line_cnt = 0;
+while(!$end_of_file)
+{
+	for($i = 0; $i < 10; $i++){
+		if(!read(BINFILE, $binData[$i], 1)){
+			$end_of_file = 1;
+			if(i != 0){
+				printf "Error: Error at the end of file.";
+			}
+		}
+	}
+	if(!$end_of_file){
+		&print_line;
+	}
+}
+while($byte_cnt){
+	&clear_print_buf;
+	&print_line;
+}
+printf("\n");
+printf("};\n");
+printf "\n";
+printf "/**---------------------------------------------------------------------------*\n";
+printf " **                         Function Prototypes                               *\n";
+printf " **---------------------------------------------------------------------------*/\n";
+printf "\n";
+printf "#ifdef __cplusplus\n";
+printf "}\n";
+printf "#endif\n";
+printf "\n";
+printf "/******************************************************************************/\n";
+printf "#endif //#ifndef _YC_PATCH_YC1021_H_2015_03_17_16_39_59_298_\n";
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/util/hex2mif.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/hex2mif.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/hex2mif.pl	(working copy)
@@ -0,0 +1,103 @@
+#!/usr/bin/perl
+# 2005 - David Grant.
+# Take an ihex input from STDIN, and write a .mif file to STDOUT
+# This script could probably be implemented with something like:
+#    $#!@_%^$@%$@%$_!^$@#^@%$#@_%$@^&!%$_!%!%&$*(#^#@%^) 
+# But I perfer the somewhat readable version.
+
+# Flow from within the Nios2 SDK Shell:
+# nios2-elf-as file.asm -o file.o
+# nios2-elf-objcopy file.o --target ihex file.hex
+# cat file.hex | perl hex2mif.pl > file.mif
+
+my @rom = ();
+my @ram = ();
+
+sub conv {
+	my ($in) = @_;
+	$out = substr($in,6,2).substr($in,4,2).substr($in,2,2).substr($in,0,2);
+	return hex $out;
+}
+
+sub writeromfile {
+	my (@buf) = @_;
+	my($x);
+
+	for($x=0; $x<@buf; $x++) {
+		printf ("%02x\n", $buf[$x]);
+	}
+}
+
+sub writebinfile {
+	my (@buf) = @_;
+	my($x);
+
+	for($x=0; $x<@buf; $x++) {
+		for($y=0;$y<8;$y++) {
+			printf ("%d", $buf[$x] & 1<<(7-$y) ? 1 : 0);
+		}
+		printf "\n" if(($x & 3) == 3);
+	}
+}
+
+sub writemiffile {
+	my (@buf) = @_;
+	my($x);
+	print  ("WIDTH=8;\n");
+	print ("DEPTH=".@buf.";\n");
+	print ("CONTENT BEGIN\n");
+	for($x=0; $x<@buf; $x++) {
+		printf ("\t%04x : %02x;\n", $x, $buf[$x]);
+	}
+	print ("END;\n");
+}
+
+if($ARGV[0] eq "ram" || $ARGV[0] eq "rammif")
+{
+	$org = 0x8000;
+	$limit = 0xffff;
+} elsif($ARGV[0] eq "rom" || $ARGV[0] eq "bin" || $ARGV[0] eq "mif" || $ARGV[0] eq "rommif" ) {
+	$org = 0;
+	$limit = 0x7fff;
+} else {
+	$org = 0;
+	$limit = 0xffffff;
+}
+
+
+$org = 0;
+$limit = 0x7fff;
+
+while (<STDIN>) {
+	$l = $_;
+	next if(!/\w/);
+	$count = (hex substr($l, 1, 2));
+	$addr = (hex substr($l, 3, 4));
+	$type = (hex substr($l, 7, 2));
+	last if $type eq 1;
+	if($type == 4) {
+		$org = -(hex substr($l, 9, 4))*0x10000;
+	}
+	if($addr >= $org && $addr <= $limit) 
+	{
+		$addr*=4 if($ARGV[0] eq "bin");
+		$addr -= $org;
+		for($x=0; $x<$count; $x++) {
+			$rom[$addr + $x] = (hex substr($l, 9+2*$x, 2)) ; 
+		}
+	}
+}
+
+if($ARGV[0] eq "rom" || $ARGV[0] eq "ram" || $ARGV[0] eq "mem")
+{
+	writeromfile(@rom);
+}
+elsif($ARGV[0] eq "bin")
+{
+	writebinfile(@rom);
+}
+else
+{
+	writemiffile(@rom);
+}
+
Index: YJX_Only24g/FCC_1021S/util/ifdef.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/ifdef.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/ifdef.pl	(working copy)
@@ -0,0 +1,8 @@
+open file, "bt_program23.meta"
+@prog = <file>;
+close file;
+open file, "bt_format.meta"
+@fmt = <file>;
+close file;
+
+
Index: YJX_Only24g/FCC_1021S/util/memalloc.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/memalloc.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/memalloc.pl	(working copy)
@@ -0,0 +1,55 @@
+$path=$ARGV[0];
+open file, $path;
+@f = <file>;
+close file;
+open file, ">$path";
+$path =~ s/\/.*//;
+open file1, ">$path/memmap.format";
+$xaddr = 0x4000;
+$oaddr = $saddr = 0;
+for($i = 0;$i < @f;$i++) { 
+	$_ = $f[$i];
+	$start = 1 if(/^\s*memalloc\s*\(\s*$/);
+	$start = 2 if(/^\s*xmemalloc\s*\(\s*$/);
+	$start = 3 if(/^\s*omemalloc\s*\(\s*$/);
+	if($start) {
+		if(/^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			if($start == 1) {
+				$str = sprintf "0x%04x %s%s\n", $addr, $2, $3;
+				$addr += $1;
+				$bstr .= $str;
+				$sstr .= $str;
+			} elsif($start == 2) {
+				$str = sprintf "0x%04x %s%s\n", $xaddr, $2, $3;
+				$xaddr += $1;
+				$xstr .= $str;
+			} else {
+				push @ostr, $_;
+			}
+		}
+		if(/^\s*\)\s*$/) {
+			$start = 0;
+			push @omalloc,[@ostr] if(@ostr > 0);
+			@ostr = ();
+		}
+	} else {
+		$sstr .= $_;
+	}
+}
+
+for($i = 0;$i <= $#omalloc;$i++) {
+	for($j = 0, $oaddr = $xaddr;$j <= $#{$omalloc[$i]};$j++) {
+		if($omalloc[$i][$j] =~ /^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			$str = sprintf "0x%04x %s%s\n", $oaddr, $2, $3;
+			$oaddr += $1;
+			$xstr .= $str;
+		}
+	}
+	$xend = $oaddr if($oaddr > $xend);
+}
+print file $xstr, $sstr;
+print file1 $bstr, $xstr;
+close file;
+close file1;
+printf "\nLast allocated address is %04x\n", $addr;
+printf "\nLast allocated xmem address is %04x\n", $xend;
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/util/mergepatch.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/mergepatch.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/mergepatch.pl	(working copy)
@@ -0,0 +1,63 @@
+$defs = "";
+$fmt = 0;
+sub reva {
+	return $_ if($defs =~ /REV[CD]/ || $fmt);
+	if(/bmark([01])\s+([a-z0-9_]+)\s*,\s*([a-z0-9_]+)/) {
+		$ret = sprintf("\tisolate%d %s,mark\n\tbranch %s,true\n", $1, $2, $3);
+	}	elsif(/rtnmark([01])\s+([a-z0-9_]+)\s*/) {
+		$ret = sprintf("\tisolate%d %s,mark\n\trtn true\n", $1, $2);
+	} else {
+		$ret = $_;
+	}
+	return $ret if($defs =~ /REVB/);
+	if(/mul32\s+([a-z]+)\s*,\s*([a-z0-9_]+)\s*,\s*([a-z]+)/) {
+		$ret = sprintf("\tmult %s,%s\n\tnop 19\n\tproduct %s\n", $2, $1, $3);
+	}	elsif(/imul32\s+([a-z]+)\s*,\s*([a-z]+)/) {
+		$ret = sprintf("\timult %s\n\tnop 19\n\tproduct %s\n", $1, $2);
+	} else {
+		$ret = $_;
+	}
+	return $ret;
+}
+
+sub parseif {
+	my($fname) = @_;
+	open file, $fname;
+	@f = <file>;
+	close file;
+	open file, ">$fname";
+	@valid = (1);
+	for($i = 0;$i < @f;$i++) { 
+		$_ = $f[$i];
+		$defs .= $1 . " " if(/^define\s+(\w+)\s*/);
+		if(/^ifdef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /$1 / ? 1 : 0) & $valid[$#valid];
+		} elsif(/^ifndef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /$1 / ? 0 : 1) & $valid[$#valid];
+		} elsif(/^else/) {
+			printf "%s\nelse without if at line %d\n", $f[$i - 3], $i if($#valid == 0);
+			$valid[$#valid] = (1 - $valid[$#valid]) & $valid[$#valid - 1];
+		} elsif(/^endif/) {
+			printf "%s\nendif without if at line %d\n", $_, $i if($#valid == 0);
+			pop @valid;
+		} elsif($valid[$#valid]) {
+			if(/^include\s+(.+)\s*/) {
+				open file2, "program/$1";
+				@f2 = <file2>;
+				close file2;
+				splice(@f, $i + 1, 0, @f2);
+			} else {
+				next if(/^\s*bpatch\s+/ && $defs !~ /ROMCODE/);
+				next if(/^\s*set[01] mark_ext_patch/ && $defs !~ /ROMCODE/);
+				print file reva($_);
+			}
+		}
+	}
+	close file;
+}
+
+parseif("output/bt_program23.meta");
+$fmt = 1;
+parseif("output/bt_format.meta");
+
+
Index: YJX_Only24g/FCC_1021S/util/rom2mif.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/rom2mif.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/rom2mif.pl	(working copy)
@@ -0,0 +1,50 @@
+#!/usr/bin/perl
+#perl hex2mif.pl <filename without ext> 
+
+
+$file0 = $file1 = $ARGV[0];
+$file1 =~ s/\.rom/.mif/;
+$wid = 8;
+
+
+
+print ("opening $file0\n");
+open(ifile, "$file0") || die("cannot find $file0 file\n");
+for($l = 0;$val = <ifile>;$l++)
+{
+	if($l == 0)
+	{
+		if(substr($val, 1, 1) !~ /[0-9a-fA-F]/) { $wid = 1; }
+		elsif(substr($val, 2, 1) !~ /[0-9a-fA-F]/) { $wid = 8; }
+		elsif(substr($val, 4, 1) !~ /[0-9a-fA-F]/) { $wid = 16; }
+		else { $wid = 32;	}
+	}
+}
+printf ("width is %d\n", $wid);
+printf ("totally %d words\n", $l);
+seek(ifile, 0, 0);
+open(ofile, ">$file1");
+printf ofile ("DEPTH = %d;\n", $wid == 1 ? $l/8 : $l);
+printf ofile ("WIDTH = %d;\n", $wid == 1 ? 8 : $wid);
+print ofile ("ADDRESS_RADIX = HEX;\n");
+print ofile ("DATA_RADIX = HEX;\n");
+print ofile ("CONTENT\n");
+print ofile ("BEGIN\n");
+for($l = 0, $val1 = 0;$val = <ifile>;$l++)
+{
+	$val =~ s/\n//g;
+	$val0 = hex(substr($val, 0, $wid == 1 ? 1 : $wid/4));
+	if($wid > 1) {
+		printf ofile ("%x : %x;\n", $l, $val0);
+	} elsif($l % 8 == 0 && $l > 0) {
+		printf ofile ("%x : %x;\n", $l/8 - 1, $val1);
+		$val1 = 0;
+	}
+	$val1 |= $val0 << ($l & 7);
+}
+if($wid == 1) { printf ofile ("%x : %x;\n", $l/8 - 1, $val1); }
+print ofile ("END;\n");
+
+close(ifile);
+close(ofile);
+
Index: YJX_Only24g/FCC_1021S/util/route.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/route.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/route.pl	(working copy)
@@ -0,0 +1,10 @@
+system("route print > 1");
+open file,"1";
+while(<file>) {
+	if(/^\s+0\.0\.0\.0\s+0\.0\.0\.0\s+([\.0-9]+)\s+([\.0-9]+)\s+1\s+$/) {
+		print "added route to " . $1;
+		system("route add 192.168.2.126 " .$1);
+		last;
+	}
+}
+close file;
\ No newline at end of file
Index: YJX_Only24g/FCC_1021S/util/setarg.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/setarg.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/setarg.pl	(working copy)
@@ -0,0 +1,100 @@
+@dat = @init = ();
+
+sub setarg {
+my ($j, $k, $n);
+for($j = $k = $n = 0;$j < @dat;$j++) {
+        if($dat[$j] =~ /^mem_/ && $j > 0 || $n == 3) {
+                push @init, sprintf "\tsetarg 0x%x\n", $k;
+                push @init, sprintf "\tistore %d,contw\n", $n;
+                $n = $k = 0;
+        }
+        if($dat[$j] =~ /^mem_/) {
+               push @init, sprintf "\targ %s,contw\n", $dat[$j];
+        } else {
+                $k |= $dat[$j] << $n++*8;
+        }
+}
+push @init, sprintf "\tsetarg 0x%x\n", $k;
+push @init, sprintf "\tistore %d,contw\n", $n;
+}
+
+sub setsect {
+my($i,$j,$k,$n);
+
+if($ARGV[1] eq "c51") {
+	push @init, sprintf "ifdef C51\ndownload_pdata:\n\tforce 9,loopcnt\ndownload_pdata_loop:\n\thstore 1,core_docd_pdata\n";
+	push @init, sprintf "\trshift8 pdata,pdata\n\tloop download_pdata_loop\n\trtn\n";
+	push @init, sprintf "download_c51:\n\thjam 5,core_docd_ctrl\n\tforce 0,pdata\n\thstore 2,core_docd_paddr\n";
+}
+for($i = $j = $k = $n = 0;$i < @dat + 2;$i++) {
+	if($i == @dat && $n == 0) {
+		push @init, sprintf "\tsetarg 0x%x\n", $k;
+		if($ARGV[1] eq "c51") {
+                	push @init, sprintf "\tcall download_pdata\n";
+		} else {
+			push @init, sprintf "\tistore %d,contw\n", ($j + 7)/8;
+		}
+		last;
+	}
+	if($i == @dat) {
+		$i = $i;
+	}
+	if($j > 18 || $i == @dat + 1) {
+		push @init, sprintf "\tsetsect %d,0x%x\n", $n,$k & 0x3ffff;
+		if($n == 3 || $i == @dat + 1) {
+			if($ARGV[1] eq "c51") {
+                		push @init, sprintf "\tcall download_pdata\n";
+			} else {
+                		push @init, sprintf "\tistore %d,contw\n", ($n*18 + ($j > 18 ? 18 : $j))/8;
+			}
+			$n = -1;
+		}
+		$k >>= 18;
+		$j -= 18;
+		$n++;
+	}
+	if($i < @dat) {
+		if($dat[$i] =~ /^mem_/) {
+		       push @init, sprintf "\targ %s,contw\n", $dat[$i];
+		} else {
+			$k |= $dat[$i] << $j;
+			$j += 8;
+		}
+	}
+}
+if($ARGV[1] eq "c51") {
+	push @init, sprintf "\thjam 3,core_docd_ctrl\n\trtn\nendif\n";
+}
+}
+
+if(@ARGV == 0) {
+	printf "missing file name\n";
+	exit;
+}
+if(open file, $ARGV[0]) {
+        while(<file>) {
+                next if(/^#/);
+                s/#.*//g;
+                if(/^([a-z0-9_]+):(.*)/) {
+                        push @dat, $1;
+                        $_ = $2;
+                }
+                if(/^\'/) {
+                        s/[\'\r\n]//g;
+                        for($i = 0;$i < length($_);$i++) {
+                                push @dat, ord(substr($_, $i, 1));
+                        }
+                } else {
+                        s/\s//g;
+                        for($i = 0;$i < length($_);$i+=2) {
+                                push @dat, hex(substr($_, $i, 2));
+                        }
+                }
+        }
+        close file;
+}
+
+setsect();
+
+print @init;
+
Index: YJX_Only24g/FCC_1021S/util/utils.em
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/utils.em	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/FCC_1021S/util/utils.em	(working copy)
@@ -0,0 +1,312 @@
+/* Utils.em - a small collection of useful editing macros */
+
+
+
+/*-------------------------------------------------------------------------
+	I N S E R T   H E A D E R
+
+	Inserts a comment header block at the top of the current function. 
+	This actually works on any type of symbol, not just functions.
+
+	To use this, define an environment variable "MYNAME" and set it
+	to your email name.  eg. set MYNAME=raygr
+-------------------------------------------------------------------------*/
+macro InsertHeader()
+{
+	// Get the owner's name from the environment variable: MYNAME.
+	// If the variable doesn't exist, then the owner field is skipped.
+	szMyName = getenv(MYNAME)
+	
+	// Get a handle to the current file buffer and the name
+	// and location of the current symbol where the cursor is.
+	hbuf = GetCurrentBuf()
+	szFunc = GetCurSymbol()
+	ln = GetSymbolLine(szFunc)
+
+	// begin assembling the title string
+	sz = "/*   "
+	
+	/* convert symbol name to T E X T   L I K E   T H I S */
+	cch = strlen(szFunc)
+	ich = 0
+	while (ich < cch)
+		{
+		ch = szFunc[ich]
+		if (ich > 0)
+			if (isupper(ch))
+				sz = cat(sz, "   ")
+			else
+				sz = cat(sz, " ")
+		sz = Cat(sz, toupper(ch))
+		ich = ich + 1
+		}
+	
+	sz = Cat(sz, "   */")
+	InsBufLine(hbuf, ln, sz)
+	InsBufLine(hbuf, ln+1, "/*-------------------------------------------------------------------------")
+	
+	/* if owner variable exists, insert Owner: name */
+	if (strlen(szMyName) > 0)
+		{
+		InsBufLine(hbuf, ln+2, "    Owner: @szMyName@")
+		InsBufLine(hbuf, ln+3, " ")
+		ln = ln + 4
+		}
+	else
+		ln = ln + 2
+	
+	InsBufLine(hbuf, ln,   "    ") // provide an indent already
+	InsBufLine(hbuf, ln+1, "-------------------------------------------------------------------------*/")
+	
+	// put the insertion point inside the header comment
+	SetBufIns(hbuf, ln, 4)
+}
+
+
+/* InsertFileHeader:
+
+   Inserts a comment header block at the top of the current function. 
+   This actually works on any type of symbol, not just functions.
+
+   To use this, define an environment variable "MYNAME" and set it
+   to your email name.  eg. set MYNAME=raygr
+*/
+
+macro InsertFileHeader()
+{
+	szMyName = getenv(MYNAME)
+	
+	hbuf = GetCurrentBuf()
+
+	InsBufLine(hbuf, 0, "/*-------------------------------------------------------------------------")
+	
+	/* if owner variable exists, insert Owner: name */
+	InsBufLine(hbuf, 1, "    ")
+	if (strlen(szMyName) > 0)
+		{
+		sz = "    Owner: @szMyName@"
+		InsBufLine(hbuf, 2, " ")
+		InsBufLine(hbuf, 3, sz)
+		ln = 4
+		}
+	else
+		ln = 2
+	
+	InsBufLine(hbuf, ln, "-------------------------------------------------------------------------*/")
+}
+
+
+
+// Inserts "Returns True .. or False..." at the current line
+macro ReturnTrueOrFalse()
+{
+	hbuf = GetCurrentBuf()
+	ln = GetBufLineCur(hbuf)
+
+	InsBufLine(hbuf, ln, "    Returns True if successful or False if errors.")
+}
+
+
+
+/* Inserts ifdef REVIEW around the selection */
+macro IfdefReview()
+{
+	IfdefSz("REVIEW");
+}
+
+
+/* Inserts ifdef BOGUS around the selection */
+macro IfdefBogus()
+{
+	IfdefSz("BOGUS");
+}
+
+
+/* Inserts ifdef NEVER around the selection */
+macro IfdefNever()
+{
+	IfdefSz("NEVER");
+}
+
+
+// Ask user for ifdef condition and wrap it around current
+// selection.
+macro InsertIfdef()
+{
+	sz = Ask("Enter ifdef condition:")
+	if (sz != "")
+		IfdefSz(sz);
+}
+
+macro InsertCPlusPlus()
+{
+	IfdefSz("__cplusplus");
+}
+
+
+// Wrap ifdef <sz> .. endif around the current selection
+macro IfdefSz(sz)
+{
+	hwnd = GetCurrentWnd()
+	lnFirst = GetWndSelLnFirst(hwnd)
+	lnLast = GetWndSelLnLast(hwnd)
+	 
+	hbuf = GetCurrentBuf()
+	InsBufLine(hbuf, lnFirst, "#ifdef @sz@")
+	InsBufLine(hbuf, lnLast+2, "#endif /* @sz@ */")
+}
+
+
+// Delete the current line and appends it to the clipboard buffer
+macro KillLine()
+{
+	hbufCur = GetCurrentBuf();
+	lnCur = GetBufLnCur(hbufCur)
+	hbufClip = GetBufHandle("Clipboard")
+	AppendBufLine(hbufClip, GetBufLine(hbufCur, lnCur))
+	DelBufLine(hbufCur, lnCur)
+}
+
+
+// Paste lines killed with KillLine (clipboard is emptied)
+macro PasteKillLine()
+{
+	Paste
+	EmptyBuf(GetBufHandle("Clipboard"))
+}
+
+
+
+// delete all lines in the buffer
+macro EmptyBuf(hbuf)
+{
+	lnMax = GetBufLineCount(hbuf)
+	while (lnMax > 0)
+		{
+		DelBufLine(hbuf, 0)
+		lnMax = lnMax - 1
+		}
+}
+
+
+// Ask the user for a symbol name, then jump to its declaration
+macro JumpAnywhere()
+{
+	symbol = Ask("What declaration would you like to see?")
+	JumpToSymbolDef(symbol)
+}
+
+	
+// list all siblings of a user specified symbol
+// A sibling is any other symbol declared in the same file.
+macro OutputSiblingSymbols()
+{
+	symbol = Ask("What symbol would you like to list siblings for?")
+	hbuf = ListAllSiblings(symbol)
+	SetCurrentBuf(hbuf)
+}
+
+
+// Given a symbol name, open the file its declared in and 
+// create a new output buffer listing all of the symbols declared
+// in that file.  Returns the new buffer handle.
+macro ListAllSiblings(symbol)
+{
+	loc = GetSymbolLocation(symbol)
+	if (loc == "")
+		{
+		msg ("@symbol@ not found.")
+		stop
+		}
+	
+	hbufOutput = NewBuf("Results")
+	
+	hbuf = OpenBuf(loc.file)
+	if (hbuf == 0)
+		{
+		msg ("Can't open file.")
+		stop
+		}
+		
+	isymMax = GetBufSymCount(hbuf)
+	isym = 0;
+	while (isym < isymMax)
+		{
+		AppendBufLine(hbufOutput, GetBufSymName(hbuf, isym))
+		isym = isym + 1
+		}
+
+	CloseBuf(hbuf)
+	
+	return hbufOutput
+
+}
+
+macro MultiLineComment()
+{
+    hwnd = GetCurrentWnd()
+    selection = GetWndSel(hwnd)
+    LnFirst = GetWndSelLnFirst(hwnd)      //取首行行号
+    LnLast = GetWndSelLnLast(hwnd)      //取末行行号
+    hbuf = GetCurrentBuf()
+
+    if(GetBufLine(hbuf, 0) == "//magic-number:tph85666031"){
+    
+        stop
+    }
+
+    Ln = Lnfirst
+    buf = GetBufLine(hbuf, Ln)
+    len = strlen(buf)
+
+    while(Ln <= Lnlast) {
+        buf = GetBufLine(hbuf, Ln)  //取Ln对应的行
+        if(buf == ""){                    //跳过空行
+            Ln = Ln + 1
+            continue
+        }
+
+        if(StrMid(buf, 0, 1) == "/") {       //需要取消注释,防止只有单字符的行
+            if(StrMid(buf, 1, 2) == "/"){
+                PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))
+            }
+        }
+
+        if(StrMid(buf,0,1) != "/"){          //需要添加注释
+            PutBufLine(hbuf, Ln, Cat("//", buf))
+        }
+        Ln = Ln + 1
+    }
+
+    SetWndSel(hwnd, selection)
+}
+
+macro AddMacroComment()
+{
+    hwnd=GetCurrentWnd()
+    sel=GetWndSel(hwnd)
+    lnFirst=GetWndSelLnFirst(hwnd)
+    lnLast=GetWndSelLnLast(hwnd)
+    hbuf=GetCurrentBuf()
+ 
+    if(LnFirst == 0) {
+            szIfStart = ""
+    }else{
+            szIfStart = GetBufLine(hbuf, LnFirst-1)
+    }
+    szIfEnd = GetBufLine(hbuf, lnLast+1)
+    if(szIfStart == "#if 0" && szIfEnd == "#endif") {
+            DelBufLine(hbuf, lnLast+1)
+            DelBufLine(hbuf, lnFirst-1)
+            sel.lnFirst = sel.lnFirst – 1
+            sel.lnLast = sel.lnLast – 1
+    }else{
+            InsBufLine(hbuf, lnFirst, "#if 0")
+            InsBufLine(hbuf, lnLast+2, "#endif")
+            sel.lnFirst = sel.lnFirst + 1
+            sel.lnLast = sel.lnLast + 1
+    }
+ 
+    SetWndSel( hwnd, sel )
+}
+
Index: YJX_Only24g/main/c
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/c	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/c	(working copy)
@@ -0,0 +1,99 @@
+#!/bin/bash
+
+gensched () {
+if [ -f output/sched.rom ];then rm output/sched.rom; fi
+while [ 1 ];do
+	if [ -n "$1" ];then cat sched/$1.dat >> output/sched.rom; else return; fi
+	shift
+done
+}
+
+#enckey="-k 00000000000000000000000000000000"
+
+cd ${0%/*}
+for f in program/*.prog 
+  do if [[ ! $f =~ "bt.prog" && ! $f =~ "patch.prog" && ! $f =~ "sim.prog" ]] ; then progs="$progs $f"; fi; done
+cat program/bt.prog $progs  > output/bt_program23.meta
+
+case $1 in
+s)
+#	gensched sim usb
+	gensched sim
+#	enckey="-k key -i iv"
+	sed '1,4 c define REVD\ndefine ROMCODE\ndefine SIM' -i output/bt_program23.meta;;
+p)
+	echo 'mem_patch00:0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' > output/sched.rom
+	echo 'mem_lap:00 00 00 00 00 00' >> output/sched.rom
+	sed '3 d' -i output/bt_program23.meta;;
+f)
+	gensched test usb fpga
+	enckey="-k key"
+	sed '2 c define FPGA' -i output/bt_program23.meta;;
+t)
+	echo test;gensched test 109x;;
+d)
+        gensched 109x usb
+	sed '2 c define DONGLE' -i output/bt_program23.meta;;
+m)
+        gensched 109x mouse
+	sed '2 c define MOUSE' -i output/bt_program23.meta;;
+esac
+
+
+for f in format/*.format; do if [[ ! $f =~ "bt.format" && ! $f =~ "command.format" ]] ; then fmts="$fmts $f"; fi; done
+cat format/bt.format $fmts format/command.format > output/bt_format.meta
+perl $UTIL/mergepatch.pl 
+perl $UTIL/memalloc.pl
+cd output
+osiuasm bt_program23 -O-W
+sed 's/\(.*\)\r/\1/' -i bt_program23.meta 
+
+
+defs=( FPGA SIM ROMCODE BLE REVA REVB )
+for i in $(seq 0 $((${#defs[@]} - 1))) ; do
+	grep  "^define ${defs[$i]}$" bt_program23.meta -q
+	tsts[$i]=$?
+done
+
+#for i in $(seq 0 $((${#defs[@]} - 1))) ; do echo test ${tsts[$i]};done
+
+geneep -n $enckey
+
+if [[ $2 == "o" ]];then exit;fi
+
+if [ ${tsts[1]} -eq 0 ] ; then
+	sed '8193,24576d' < romcode.rom > romcode0.rom
+	sed '1,8192d' < romcode.rom > romcode1.rom
+	cp romcode0.rom romcode1.rom ../../sim
+	cp romcode.rom ramcode.rom ../../sim
+	if [ -f eeprom.dat ] ; then cp eeprom.dat ../../sim/ ; fi
+	if [ -f otp.rom ] ; then sed '7 c 1' < otp.rom > ../../sim/otp.rom ; fi
+else
+	if [ ${tsts[0]} -eq 0 ] ; then
+		if [ ${tsts[2]} -eq 0 ] ; then
+			sed '8193,24576d' < romcode.rom > romcode0.rom
+			sed '1,8192d' < romcode.rom > romcode1.rom
+			perl $UTIL/rom2mif.pl < romcode.rom > romcode.mif; mv romcode.mif  ../../fpga/
+			echo fpga
+			if [ -f otp.rom ] ; then perl $UTIL/rom2mif.pl < otp.rom > otp.mif; mv otp.mif ../../fpga/ ; fi
+			if [[ $2 == o ]] ; then exit; fi
+			e ku; e hu ramcode.rom 0
+			e su sched.rom;exit 
+		fi
+#		if [[ $1 == "f" ]] ; then 	../../fpga/p u;sleep 1; e su sched.rom;exit; fi
+	fi
+	if [ ! -s ramcode.rom ] ; then exit; fi
+	if [[ $2 =~ e ]];then 
+		e pu;cd ..;e ep;e ku
+	elif [[ $2 =~ [f] ]];then 
+		e ku;e hu romcode.rom 2000;e hu ramcode.rom 0; e su sched.rom;e ku
+	else
+		if [ -f sched.rom ]; then
+			e ku; e hu ramcode.rom 0;e su sched.rom;e pu;e cu
+		else
+			e ku;e hu
+		fi
+	fi
+fi
+
+cd ..
Index: YJX_Only24g/main/d.bat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/d.bat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/d.bat	(working copy)
@@ -0,0 +1,8 @@
+call do.bat eep
+e pu
+e 8081 10
+e 8075 0000
+e 8079 0000
+e 807d ffff
+e ep
+e ku
\ No newline at end of file
Index: YJX_Only24g/main/do.bat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/do.bat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/do.bat	(working copy)
@@ -0,0 +1,157 @@
+@set FPGA_PATH=fpgajic\fpga
+@set ROM_PATH=.
+@set MV_PATCH=mv\src\yichip
+@set YC_PATCH_FILE=yc_patch_yc1021.h
+@set enc=1
+@set enckey=0000000000000000
+@rem set device_option=shutter
+@rem set device_option=antilost
+@rem set device_option=hci
+@rem set device_option=kb
+@set device_option=mouse
+@rem set device_option=le_kb
+@rem set device_option=dongle
+@rem set device_option=module
+@rem set device_option=prcp
+@rem set device_option=car
+@rem set device_option=remote_car
+@echo off
+
+setlocal enabledelayedexpansion
+for /f %%f in ('dir /b /o program\*.prog') do @if not %%f==bt.prog if not %%f==patch.prog if not %%f==sim.prog set progs=!progs! program\%%f
+type program\bt.prog %progs% > output\bt_program23.meta
+for /f %%f in ('dir /b /o format\*.format') do @if not %%f==bt.format if not %%f==command.format set fmts=!fmts! format\%%f
+type format\bt.format %fmts% format\command.format > output\bt_format.meta
+perl util/mergepatch.pl output/bt_program23.meta
+perl util/memalloc.pl output/bt_format.meta
+
+cd output
+osiuasm bt_program23 -O-W
+
+if "%device_option%" equ "hci" (
+  copy ..\sched\hci_boot.dat ..\output\sched.rom
+) else if "%device_option%" equ "kb" (
+copy ..\sched\ssp.dat + ..\sched\kb.dat +  ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "le_kb" (
+  copy ..\sched\le_kb.dat + ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "mouse" (
+  copy ..\sched\109x.dat + ..\sched\mouse.dat ..\output\sched.rom
+) else if "%device_option%" equ "module" (
+  copy ..\sched\DM_module.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "shutter" (
+  copy ..\sched\shutter.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "antilost" (
+  copy ..\sched\antilost.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "dongle" (
+  copy  ..\sched\109x.dat + ..\sched\usb.dat ..\output\sched.rom
+) else if "%device_option%" equ "prcp" (
+  copy ..\sched\Le_prcp.dat + ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "test" (
+  copy ..\sched\test.dat + ..\sched\fpga.dat ..\output\sched.rom
+) else if "%device_option%" equ "car" (
+  copy ..\sched\car.dat + ..\sched\109x.dat ..\output\sched.rom
+) else if "%device_option%" equ "remote_car" (
+  copy ..\sched\remote_car.dat + ..\sched\109x.dat ..\output\sched.rom
+) else (
+
+cd ..
+echo **********************************
+echo Error: illegal device_option !
+echo **********************************
+goto end
+) 
+
+if "%1" equ "eep" (
+	goto genromrevc
+)else (
+  goto downloadram
+)
+
+:geneeprom
+@rem echo on
+@echo Start to generate EEPROM code
+copy ..\sched\mouse.dat ..\output\sched.rom
+
+..\util\geneep ramcode.rom fwram.rom sched.rom %enc% %enckey% a
+perl ..\util\a1bugfix.pl
+osiuasm bt_program23 -O-W
+..\util\geneep ramcode.rom fwram.rom sched.rom %enc% %enckey% a
+goto gen_eep_end
+
+
+
+
+:genromrevb
+echo off
+@echo Start to generate EEPROM code
+..\..\regedr\geneep ramcode.rom fwram.rom sched.rom %enc% %enckey% b
+goto gen_eep_end
+
+
+:genromrevc
+echo off
+@echo Start to generate EEPROM code
+
+geneep -n ramcode.rom sched.rom 0 %enckey% c
+
+ rem geneep -n -k key.txt
+
+cd ..\output
+
+echo eeprom.dat Generated......
+
+if "%device_option%" equ "module" (
+perl eeprom2hciimage_1021s.pl
+echo bt_patch.bin Generated......
+perl bin2array.pl > bt_patch.h
+echo bt_patch.h Generated......
+)
+
+
+:gen_eep_end
+cd ..
+echo **********************************
+echo EEPROM Generated.
+echo The Device is %device_option%. 
+echo Use command "e ep" to download EEPROM.
+echo **********************************
+goto end
+
+
+
+
+:genrom
+@rem echo on
+perl ..\util\rom2mif.pl romcode
+del ..\..\%FPGA_PATH%\romcode.mif
+copy .\romcode.mif ..\..\%FPGA_PATH%\romcode.mif
+perl ..\util\gen_patch_h.pl >%YC_PATCH_FILE%
+copy .\%YC_PATCH_FILE% ..\..\%MV_PATCH%\%YC_PATCH_FILE%
+copy .\%YC_PATCH_FILE% D:\work\yichip\mv_proj\src\inc\%YC_PATCH_FILE%
+cd ..\..\%FPGA_PATH%
+quartus_cdb btspi -c btspi --update_mif
+quartus_asm --read_settings_files=off --write_settings_files=off btspi -c btspi
+quartus_pgm -c USB-Blaster[USB-0] -m jtag -o "p;.\output\btspi.sof" 
+@echo bitstream_compression=on >1
+@echo memory_map_file=on >> 1
+quartus_cpf -c -o 1 -s EP3C55 -d EPCS16 output\btspi.sof output\btspi.jic  
+@rem quartus_pgm -c USB-Blaster[USB-0] -m jtag -o "pi;.\output\btspi.jic"   
+@del 1
+goto end
+
+
+
+:downloadram
+echo on
+@echo Start to download ram code
+e ku
+e hu
+e su sched.rom
+@echo **********************************
+@echo RAM CODE has been downloaded.
+@echo The Device is %device_option%. 
+@echo **********************************
+cd ..
+
+
+:end
Index: YJX_Only24g/main/format/Hid.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/Hid.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/Hid.format	(working copy)
@@ -0,0 +1,21 @@
+
+(
+/*HID TYPE*/
+0x01 HID_TYPE_CONTROL
+0x04 HID_TYPE_GET_REPORT
+0x05 HID_TYPE_SET_REPORT
+0x07 HID_TYPE_SET_PROTOCOL
+0x09 HID_TYPE_SET_IDLE
+0x0a HID_TYPE_DATA
+/*HID REPORT ID*/
+0x01 HID_REPORT_ID_KB
+
+0x00 HID_CONTROL_P_NOOPERATION
+0x01 HID_CONTROL_P_HARDRESET
+0x02 HID_CONTROL_P_SOFTRESET
+0x03 HID_CONTROL_P_SUSPEND
+0x04 HID_CONTROL_P_EXITSUSPEND
+0x05 HID_CONTROL_P_VIRTUALCABLEUNPLUG
+)
+
+
Index: YJX_Only24g/main/format/app.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app.format	(working copy)
@@ -0,0 +1,324 @@
+
+memalloc(
+
+/* load code */
+1 mem_ucode_status
+2 mem_otp_ucode_flag
+1 mem_spid_tbuf				/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0 mem_iicd_tbuf				/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+1 mem_addr_hi
+1 mem_addr_mi
+1 mem_addr_lo
+1 mem_iicd_addr
+4 mem_spid_rbuf
+2 mem_ucode_buf
+2 mem_ucode_len
+2 mem_sched_addr
+2 mem_ucode_ptr
+16 mem_ucode_keybuf
+18 mem_check_plap_temp
+
+
+1 mem_reconnect_flag
+1 mem_switch_fail_master_count
+1 mem_app_evt_timer_count
+
+)
+
+xmemalloc(
+1 mem_app_handshake_flag
+2 mem_sniff_param_interval
+2 mem_sniff_param_attempt
+2 mem_sniff_param_timeout
+
+/*App Callback Functons*/
+2 mem_cb_check_wakelock
+2 mem_cb_before_hibernate
+2 mem_cb_before_lpm
+2 mem_cb_le_process
+2 mem_cb_bt_process
+2 mem_cb_idle_process
+2 mem_cb_bb_event_process
+2 mem_cb_discovry_timeout
+2 mem_cb_att_write
+2 mem_cb_ble_transmit
+2 mem_cb_event_timer
+2 mem_cb_bt_set_mult
+2 mem_cb_spi_flash_write_complate
+
+
+
+
+2 mem_eeprom_base
+
+1 mem_unsniff2sniff_timer_count
+//lpm mode
+1 mem_wake_up_delay_timer
+
+1 mem_app_connection_options
+
+//
+2 mem_app_disconn_reason
+2 mem_app_disconn_reason_flag
+4 mem_lpm_delay_after_sniff
+1 mem_xrecord_mode
+
+1 mem_eeprom_block_size
+1 mem_spi_init_clk
+1 mem_spi_init_delay_time
+1 mem_spi_ncs_gpio
+
+2 mem_nv_data_ptr
+1 mem_nv_data_number
+
+2 mem_queue_ptr
+
+1 mem_ui_led_struct_num
+2 mem_ui_led_struct_ptr
+
+//adc
+2 mem_0_5_adc_io_data
+2 mem_1v_adc_hvin_data
+2 mem_2v_adc_vinlpm_data
+2 mem_1v_adc_io_data
+2 mem_5v_adc_hvin_data
+2 mem_3v_adc_vinlpm_data
+2 mem_otp_adc_flag
+2 mem_reference_voltage
+1 mem_adc_config_flag
+1 mem_adc_channel
+2 mem_adc_current_value
+1 mem_adc_power_flag	//bit0:low power falg ; bit1:no power flag
+
+3 mem_spi_write_addr
+2 mem_spi_write_ptr
+2 mem_spi_write_len
+1 mem_spi_write_flash_sm
+1 mem_eeprom_wp_gpio
+2 mem_kscan_ptr
+ifdef SPI_SIMULATE
+//spi gpio config
+0 mem_spi_simulate_struct
+1 mem_spi_simulate_cs_gpio
+1 mem_spi_simulate_sclk_gpio
+1 mem_spi_simulate_mosi_gpio
+1 mem_spi_simulate_miso_gpio
+1 mem_spi_simulate_motion_gpio
+//spi slave read byte
+50 mem_spi_simulate_read_byte_slave
+1 mem_spi_simulate_read_byte_slave_temp
+1 mem_spi_simulate_read_length_slave
+1 mem_spi_simulate_read_length_slave_temp
+//spi slave write byte
+50 mem_spi_simulate_write_byte_slave
+1 mem_spi_simulate_write_byte_slave_temp
+1 mem_spi_simulate_write_byte_slave_temp_temp
+1 mem_spi_simulate_write_length_slave
+1 mem_spi_simulate_write_length_slave_temp
+endif
+
+0 mem_key_num_ptr
+2 mem_keyscan_ptr
+
+2 mem_power_param_ptr
+2 mem_24g_head_ptr
+)
+//adc read
+(
+0 ADC_CONFIG_VINLPM
+1 ADC_CONFIG_HVIN
+2 ADC_CONFIG_GPIO
+)
+
+
+(
+0 QUEUE_OFFSET_EACH_SIZE
+1 QUEUE_OFFSET_LENGTH
+2 QUEUE_OFFSET_CURR_NUM
+3 QUEUE_OFFSET_READ_PTR
+4 QUEUE_OFFSET_WRITE_PTR
+5 QUEUE_OFFSET_ELE_INIT_ADDR
+)
+(
+//Flash Register
+0x05 FLASH_READ_SATUS
+
+// Flash Status Register
+0x00 FLASH_STATUS_WIP
+0X01 FLASH_STATUS_WEL
+0X02 FLASH_STATUS_BP0
+0X03 FLASH_STATUS_BP1
+
+//Flash Write Sm
+0X00 FLASH_SM_NO_BUYS
+0X01 FLASH_SM_START
+0X02 FLASH_SM_ERASE_SECTOR
+0X03 FLASH_SM_WAIT_ERASE_SECTOR
+0X04 FLASH_SM_WRITE_DATA
+0X05 FLASH_SM_WAIT_WRITE_DATA
+
+
+//Flash Command
+0x02 FLASH_COMMAND_WRITE_DATA
+0x03 FLASH_COMMAND_READ_DATA
+0x20 FLASH_COMMAND_SECTOR_ERASE
+)
+
+0x0000 otp_ucode_flag
+0x07f0 otp_ucode_aeskey
+
+/* adc data addr and flag */
+(
+0x07e0 OTP_CHIP_FUNCTIONS
+0x07e2 otp_adc_io_0_5V_addr
+0x07e4 otp_adc_hvin_1V_addr
+0x07e6 otp_adc_vinlpm_2V_addr
+0x07e8 otp_adc_io_1V_addr
+0x07ea otp_adc_hvin_5V_addr
+0x07ec otp_adc_vinlpm_3V_addr
+0x07ee otp_adc_flag_addr
+0xaa55 OTP_ADC_FLAG
+)
+
+/* data stored in eeprom */
+(
+0	eeprom_nv_ram
+
+195	eeprom_module_init_flag//2
+
+)
+
+/*mem_app_handshake_flag*/
+(
+0 APP_HANDSHAKE_NULL
+1 APP_HANDSHAKE_DONE
+
+)
+/*mem_device_option*/
+(
+1 dvc_op_hci
+4 dvc_op_dongle
+5 dvc_op_spp
+6 dvc_op_ukey
+7 dvc_op_ir
+
+9 dvc_op_shutter
+10 dvc_op_module
+11 dvc_op_ble_mouse
+12 dvc_op_ble_kb
+13 dvc_op_ble_prcp
+14 dvc_op_car
+15 dvc_op_AntiLost
+16 dvc_op_remote_car
+255 dvc_op_test
+//device option hight 4
+6 dvc_op_mouse
+7 dvc_op_keyboard
+//device option low 2
+(
+0 MODE_3_MOUSE
+1 MODE_4_MOUSE
+)
+)
+
+(
+3 twspi_sclk
+4 twspi_sdio
+)
+
+(
+4 pan_clk_bit
+5 pan_dat_bit
+6 pan_mov_bit
+)
+
+(
+7 otp_uflag_aes
+6 otp_uflag_skip_eep
+5 otp_uflag_skip_flash
+4 otp_uflag_hci
+)
+
+/* ir command */
+(
+1 ircmd_record
+2 ircmd_play
+3 ircmd_write_pulse
+4 ircmd_write_seq
+5 ircmd_write_next
+
+8 ircmd_test_play
+9 ircmd_test_rec
+
+10 ircmd_report_pulse
+11 ircmd_report_seq
+12 ircmd_report_raw
+
+20 ircmd_screen_on
+21 ircmd_screen_off
+)
+
+(
+7 gpio_active_bit
+)
+(
+2 HID_HANDSHAKE_TIMEOUT
+
+)
+
+(
+1 APP_FLAG_RECONNECT
+)
+(
+5 LPM_WAKE_UP_DELAY_TIMER
+)
+
+
+//mem_app_disconn_reason
+//mem_app_disconn_reason_flag
+//bit map
+(
+2 APP_DISC_RSN_SIZE
+)
+(
+0 APP_DISC_BY_BUTTON
+1 APP_DISC_AFTER_PAIRING
+2 APP_DISC_AFTER_RECONN
+3 APP_DISC_AFTER_SNIFF
+4 APP_DISC_AFTER_SETUP_DONE
+5 APP_DISC_AFTER_HANDSHAKE
+6 APP_DISC_BT
+7 APP_DISC_BLE
+8 APP_DISC_L2CAP_REFUSED
+9 APP_DISC_SWITCH_FAIL
+)
+//eeprom init flag
+(
+	0xaa55 EEPROM_INIT_FLAG
+)
+
+(
+1 KEY_CONF_STRUCT_LEN
+0 KEY_PIN_OFFSET
+)
+
+(
+12000000 PWM_12MHZ
+)
+(
+0 POWER_OFF
+1 POWER_STARTING
+2 POWER_STANDBY
+)
+//power parameter offset(8 byte)
+(
+0 power_state_offset
+1 power_timer_offset
+2 power_off_timeout_offset
+3 power_starting_timeout_offset
+4 power_off_cb_offset
+6 power_starting_cb_offset
+8 power_standby_cb_offset
+10 ui_butten_up_cb_offset
+)
+
Index: YJX_Only24g/main/format/app_antiLost.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_antiLost.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_antiLost.format	(working copy)
@@ -0,0 +1,202 @@
+omemalloc(
+// memblock for cover the variables portion at shutter.format
+2 mem_antl_lpm_interval
+2 mem_antl_adv_interval
+2 mem_antl_slow_adv_lpm_interval
+2 mem_antl_slow_adv_adv_interval
+0 mem_antl_led_style
+1 mem_antl_led_type
+1 mem_antl_led_blink_count
+1 mem_antl_led_gpio
+2 mem_antl_led_on_time
+2 mem_antl_led_off_time
+2 mem_antl_led_cb_on
+2 mem_antl_led_cb_off
+
+0 mem_antl_buzzer_style
+1 mem_antl_buzzer_type
+1 mem_antl_buzzer_blink_count
+1 mem_antl_buzzer_gpio
+2 mem_antl_buzzer_on_time
+2 mem_antl_buzzer_off_time
+2 mem_antl_buzzer_cb_on
+2 mem_antl_buzzer_cb_off
+
+0 mem_antl_fast_adv_led_style
+1 mem_antl_fast_adv_led_type
+1 mem_antl_fast_adv_led_blink_count
+1 mem_antl_fast_adv_led_gpio
+2 mem_antl_fast_adv_led_on_time
+2 mem_antl_fast_adv_led_off_time
+
+0 mem_antl_slow_adv_led_style
+1 mem_antl_slow_adv_led_type
+1 mem_antl_slow_adv_led_blink_count
+1 mem_antl_slow_adv_led_gpio
+2 mem_antl_slow_adv_led_on_time
+2 mem_antl_slow_adv_led_off_time
+
+0 mem_antl_power_starting_led_style
+1 mem_antl_power_starting_led_type
+1 mem_antl_power_starting_led_blink_count
+1 mem_antl_power_starting_led_gpio
+2 mem_antl_power_starting_led_on_time
+2 mem_antl_power_starting_led_off_time
+
+7 mem_antl_power_starting_buzzer_style
+
+0 mem_antl_power_off_led_style
+1 mem_antl_power_off_led_type
+1 mem_antl_power_off_led_link_count
+1 mem_antl_power_off_led_gpio
+2 mem_antl_power_off_led_on_time
+2 mem_antl_power_off_led_off_time
+
+0 mem_antl_power_off_buzzer_style
+1 mem_antl_power_off_buzzer_type
+1 mem_antl_power_off_buzzer_link_count
+1 mem_antl_power_off_buzzer_gpio
+2 mem_antl_power_off_buzzer_on_time
+2 mem_antl_power_off_buzzer_off_time
+
+7 mem_antl_alert_led_stlye
+
+0 mem_antl_alert_buzzer_stlye
+1 mem_antl_alert_buzzer_type
+1 mem_antl_alert_buzzer_blink_count
+1 mem_antl_alert_buzzer_gpio
+2 mem_antl_alert_buzzer_on_time
+2 mem_antl_alert_buzzer_off_time
+
+0 mem_antl_key_led_style
+1 mem_antl_key_led_type
+1 mem_antl_key_led_blink_count
+1 mem_antl_key_led_gpio
+2 mem_antl_key_led_on_time
+2 mem_antl_key_led_off_time
+
+7 mem_antl_key_buzzer_style
+
+1 mem_antl_queue_width
+1 mem_antl_queue_depth
+1 mem_antl_queue_curr_num
+1 mem_antl_queue_read_ptr
+1 mem_antl_queue_write_ptr
+80 mem_antl_queue_buff
+
+1 mem_antl_key_scan_enable
+1 mem_antl_led_num
+4 mem_antl_led_gpio_map
+
+0 mem_antl_power_param
+1 mem_antl_power_state
+1 mem_antl_power_timer
+1 mem_antl_power_off_timeout
+1 mem_antl_power_starting_timeout
+2 mem_antl_power_off_cb
+2 mem_antl_power_starting_cb
+2 mem_antl_power_standby_cb
+2 mem_event_button_up_cb
+
+1 mem_antl_key_num
+2 mem_cb_antl_key
+4 mem_antl_key_conf0
+
+15 mem_antl_key0_press
+15 mem_antl_key0_release
+
+///////
+1 mem_antl_conn_updata_procedure_state
+2 mem_client_characteristic_configuration_descriptor
+///////
+
+
+//100ms timer
+2 mem_adc_timer
+1 mem_antl_conn_update_timer
+1 mem_antl_send_updata_le_param_timer
+////
+
+2 mem_antl_le_sleep_timer
+2 mem_antl_fast_adv_timer
+2 mem_antl_fast_adv_timeout
+2 mem_antl_le_sleep_timeout
+1 mem_double_click_timer
+1 mem_butten_click_cnt
+
+//1 mem_dvc_seq
+/////////anti lost alarm state/////
+1 mem_antl_led_state
+1 mem_antl_buzzer_state
+1 mem_antl_key_state
+1 mem_antl_lost_mode
+1 mem_alarm_config
+1 mem_alarm_config_notfy_cnt
+
+6 mem_buzzer_pwm_conf
+
+
+/////////anti lost battery adc read////////
+2 mem_adc_timeout
+1 mem_voltage_remain_percent
+
+0 mem_battery_calculate_set
+2 mem_battery_full_voltage
+2 mem_battery_empty_voltage
+2 mem_battery_low_voltage
+2 mem_battery_current_voltage
+
+
+2 mem_rx_window_sniff_inc
+2 mem_interval_increment
+
+2 mem_antl_le_interval_min
+2 mem_antl_le_interval_max
+2 mem_antl_le_latency
+2 mem_antl_le_timeout
+2 mem_antl_le_unnormal_interval_min
+2 mem_antl_le_unnormal_interval_max
+2 mem_antl_le_unnormal_latency
+2 mem_antl_le_unnormal_timeout
+
+400 mem_AntiLost_le_att_list
+)
+
+//app new specific
+(
+0 CONN_PARAM_UPDATA_PROCEDURE_NO_INIT
+1 CONN_PARAM_UPDATA_PROCEDURE_STARTING
+2 CONN_PARAM_UPDATA_PROCEDURE_COMPLETE
+3 CONN_PARAM_UPDATA_PROCEDURE_FAILD
+)
+(
+0 NEW_SPEC_HEADER_OFFSET
+2 NEW_SPEC_OPCODE_OFFSET
+3 NEW_SPEC_DLEGTH_OFFSET  //data length offset
+5 NEW_SPEC_DADDR_OFFSET   //data address offset
+)
+(
+1 OPCODE1_BUTTEN_CLICK_ONCE
+2 OPCODE2_BUTTEN_DOUBLE_CLICK
+3 OPCODE3_ANTL_START_ALRAM
+4 OPCODE4_CURRENT_ALARM_STATE
+5 OPCODE5_BATTER_INFORMATION
+7 OPCODE7_ANTL_CONFIG_ALRAM
+)
+(
+0x0a NEW_SPEC_NOTIFY_HANDLE
+0x0b NEW_SPEC_NOTIFICATION_ENABLE_HANDLE
+0x0d NEW_SPEC_WRITE_HANDLE
+)
+//app new specific end
+
+//mem_anti_lost_mode
+(
+0x01 ANTI_LE_ALARM_ON
+0x00 ANTI_LE_ALARM_OFF
+)
+(
+0 NOTIFICATION_ENABLE_BIT
+1 INDICATION_ENABLE_BIT
+)
+
Index: YJX_Only24g/main/format/app_car.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_car.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_car.format	(working copy)
@@ -0,0 +1,287 @@
+
+
+omemalloc(
+1 mem_car_hard_soft_switch
+1 mem_car_queue_each_size
+1 mem_car__queue_length
+
+1 mem_car_queue_curr_num
+1 mem_car_queue_read_ptr
+1 mem_car_queue_write_ptr
+120 mem_car_queue_ele
+
+20 mem_car_pop_queue_buff
+
+1 mem_car_led_num
+10 mem_car_led_map
+
+1 mem_car_style1_led_type
+1 mem_car_style1_blink_count
+1 mem_car_style1_struct_led_gpio
+2 mem_car_style1_on_time
+2 mem_car_style1_off_time
+2 mem_car_style1_cb_ledon
+2 mem_car_style1_cb_ledoff
+
+1 mem_car_style2_led_type
+1 mem_car_style2_blink_count
+1 mem_car_style2_struct_led_gpio
+2 mem_car_style2_on_time
+2 mem_car_style2_off_time
+2 mem_car_style2_cb_ledon
+2 mem_car_style2_cb_ledoff
+
+//////motor
+0 mem_le_receive_data
+2 mem_le_receive_packet_head
+1 mem_le_receive_cmd
+2 mem_le_receive_length
+10 mem_le_receive_payload
+1 mem_le_receive_checksum
+1 mem_motor1_status
+1 mem_motor1_speed
+1 mem_motor2_status
+1 mem_motor2_speed
+1 mem_motor3_status
+1 mem_motor3_speed
+
+0 mem_motor1_pwm_set
+1 mem_motor1_pwm_pin1_set
+1 mem_motor1_pwm_pin2_set
+1 mem_motor1_pwm_pin_set
+1 mem_motor1_pwm_channel_set
+3 mem_motor1_pwm_freq_set
+1 mem_motor1_pwm_dute_set
+0 mem_motor2_pwm_set
+1 mem_motor2_pwm_pin1_set
+1 mem_motor2_pwm_pin2_set
+1 mem_motor2_pwm_pin_set
+1 mem_motor2_pwm_channel_set
+3 mem_motor2_pwm_freq_set
+1 mem_motor2_pwm_dute_set
+0 mem_motor3_pwm_set
+1 mem_motor3_pwm_pin1_set
+1 mem_motor3_pwm_pin2_set
+1 mem_motor3_pwm_pin_set
+1 mem_motor3_pwm_channel_set
+3 mem_motor3_pwm_freq_set
+1 mem_motor3_pwm_dute_set
+
+1 mem_motor_select_p_n
+1 mem_car_motor_status
+1 mem_car_motor_speed
+0 mem_motor_pwm_set
+1 mem_motor_pwm_pin1_set
+1 mem_motor_pwm_pin2_set
+1 mem_motor_pwm_pin_set
+1 mem_motor_pwm_channel_set
+3 mem_motor_pwm_freq_set
+1 mem_motor_pwm_dute_set
+
+1 mem_ir_rx_gpio
+2 mem_ir_data
+2 mem_ir_rx_buf
+4 mem_ir_receive_clkn
+
+3 mem_ir_notify_data
+5 mem_ir_notify_data_head
+2 mem_ir_notify_data_payload
+1 mem_ir_notify_data_check_sum
+1 mem_car_ir_breakdown_check_timer
+1 mem_car_ir_breakdown_flag
+
+0 mem_car_led_control
+1 mem_car_led1_status
+1 mem_car_led2_status
+1 mem_car_led3_status
+1 mem_car_led4_status
+1 mem_car_led5_status
+1 mem_car_led6_status
+1 mem_car_led7_status
+1 mem_car_led8_status
+1 mem_car_led_control_timer
+1 mem_car_led_blink_status
+1 mem_car_led_no
+
+3 mem_car_info_request
+5 mem_car_info_request_head
+8 mem_car_info_request_payload
+1 mem_car_info_request_checksum
+
+0 mem_car_config_param
+1 mem_car_config_setting_flag
+1 mem_car_config_device_select
+1 mem_car_config_motor_layout
+1 mem_car_config_ir_enable
+1 mem_car_config_ir_rx_gpio
+1 mem_car_config_pairing_led_conn_status
+1 mem_car_config_pairing_led_gpio
+1 mem_car_config_led_num
+0 mem_car_config_blood_led_gpio
+1 mem_car_config_blood_led1_gpio
+1 mem_car_config_blood_led2_gpio
+1 mem_car_config_blood_led3_gpio
+1 mem_car_config_blood_led4_gpio
+1 mem_car_config_blood_led5_gpio
+1 mem_car_config_blood_led6_gpio
+1 mem_car_config_blood_led7_gpio
+1 mem_car_config_blood_led8_gpio
+1 mem_car_config_bat_notify_enable
+1 mem_car_config_low_voltage_led_gpio
+1 mem_car_config_low_voltage_percent
+1 mem_car_config_soft_switch_enable
+1 mem_car_config_soft_switch_gpio
+
+1 mem_car_notify_vdd_count
+1 mem_car_notify_vdd_timer
+1 mem_car_notify_vdd_value_last
+1 mem_car_notify_vdd_percent
+1 mem_car_working_flag
+1 mem_low_bat_flag
+
+3 mem_notify_bat_packet
+5 mem_notify_bat_head
+1 mem_notify_bat_payload
+1 mem_notify_bat_check_sum
+
+1 mem_vdd_notify_flag
+2 mem_car_current_vdd_value_temp
+2 mem_car_last_vdd_value
+
+0 mem_vdd_calculate_set
+2 mem_vdd_full_vol
+2 mem_vdd_empty_vol
+2 mem_vdd_low_vol
+2 mem_vdd_now_vol
+
+
+1 mem_car_24g_status
+2 mem_car_24g_no_data_timeout_count
+2 mem_car_24g_no_data_timeout_timer
+
+1 mem_car_24g_ir_receive_attack_count
+1 mem_car_24g_go_die_flag
+1 mem_car_attack_shake_timer
+1 mem_car_attack_shake_flag
+
+0 mem_car_soft_power
+1 mem_car_power_state
+1 mem_car_power_timer
+1 mem_car_power_off_timeout
+1 mem_car_power_starting_timeout
+2 mem_car_power_off_cb
+2 mem_car_power_starting_cb
+2 mem_car_power_standby_cb
+2 mem_car_ui_button_up_cb
+
+
+500 mem_car_le_att_list
+
+1 mem_car_moto1_blank_timer
+1 mem_car_moto2_blank_timer
+1 mem_car_moto3_blank_timer
+1 mem_car_24g_received_pac
+400 mem_24g_car_head_ptr
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE_CAR
+)
+
+(
+0x14 ATT_CAR_CONTROL_HANDLE
+0x14 ATT_SPEED_SET_HANDLE
+)
+
+
+(
+0 TURN_FRONT
+1 TURN_LEFT
+2 TURN_RIGHT
+0 MOTOR_STOP
+1 GO_FRONT
+2 GO_BACK
+0x6b5a LE_RECEIVE_PACKET_HEAD
+)
+
+(
+0 FLAG_IR_DISABLE
+1 FLAG_IR_ENABLE
+)
+
+(
+0 DEVICE_CAR
+1 DEVICE_TANK
+2 DEVICE_BATTLE_CAR
+3 DEVICE_BATTLE_TANK
+4 DEVICE_REMOTE
+)
+
+(
+0 F_B_MOTOR
+1 L_R_MOTOR
+2 F_B_BATTERY
+3 L_R_BATTERY
+)
+
+
+
+(
+1 SPEED_LEVEL_1
+2 SPEED_LEVEL_2
+3 SPEED_LEVEL_3
+4 SPEED_LEVEL_4
+5 SPEED_LEVEL_5
+6 SPEED_LEVEL_6
+7 SPEED_LEVEL_7
+8 SPEED_LEVEL_8
+9 SPEED_LEVEL_9
+10 SPEED_LEVEL_10
+)
+
+(
+0 PWM0_DUTY_SETTING
+1 PWM1_DUTY_SETTING
+2 PWM2_DUTY_SETTING
+)
+
+(
+1 CAR_CMD_BATTERY
+2 CAR_CMD_OLD_CAR_CONTROL
+3 CAR_CMD_OLD_SPEED_CONTROL
+4 CAR_CMD_L_R_MOTOR_CONTROL
+5 CAR_CMD_F_B_MOTOR_CONTROL
+6 CAR_CMD_IR_CONTROL
+7 CAR_CMD_LED_CONTROL
+8 CAR_CMD_DEVICE_INFO
+)
+
+(
+0 CAR_REMOTE_CHECK_BUTTON
+1 CAR_REMOTE_CHECK_ROCKER
+)
+
+(
+0x11 CAR_NOTIFY_HANDLE
+)
+
+(
+0 LED_OFF
+1 LED_ON
+2 LED_BLINK
+0xFF LED_INVALID
+)
+
+(
+0xFF INVALID_PIN_NUM
+)
+
+
+(
+0 POWER_ON
+1 WORK_PAIRED
+2 WORK_SEARCH
+)
+
+
Index: YJX_Only24g/main/format/app_light.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_light.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_light.format	(working copy)
@@ -0,0 +1,34 @@
+omemalloc(
+1 mem_light_pwm0
+1 mem_light_pwm1
+1 mem_light_pwm2
+1 mem_light_pwm3
+1 mem_light_pwm4
+1 mem_light_pwm5
+
+1 mem_light_pairing_enable
+2 mem_light_pairing_timer
+1 mem_light_cnum
+1 mem_light_next_record
+80 mem_light_clist
+
+
+1 mem_light_crr_cmd_count
+1 mem_curr_packet_num
+)
+
+(
+0 LIGHT_GROUP0
+)
+
+(
+0 LIGHT_CMD_PWM0
+1 LIGHT_CMD_PWM1
+2 LIGHT_CMD_PWM2
+3 LIGHT_CMD_PWM3
+4 LIGHT_CMD_PWM4
+5 LIGHT_CMD_PWM5
+6 LIGHT_CMD_AUTO_MODE
+0xff LIGHT_CMD_PAIRING
+
+)
Index: YJX_Only24g/main/format/app_lightc.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_lightc.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_lightc.format	(working copy)
@@ -0,0 +1,30 @@
+omemalloc(
+1 mem_lightc_led_gpio
+6 mem_lightc_row
+6 mem_lightc_col
+
+1 mem_adv_time
+
+20 mem_cmd0_string
+20 mem_cmd1_string
+20 mem_cmd2_string
+20 mem_cmd3_string
+20 mem_cmd4_string
+20 mem_cmd5_string
+20 mem_cmd6_string
+20 mem_cmd7_string
+20 mem_cmd8_string
+20 mem_cmd9_string
+20 mem_cmd10_string
+20 mem_cmd11_string
+20 mem_cmd12_string
+20 mem_cmd13_string
+20 mem_cmd14_string
+20 mem_cmd15_string
+20 mem_cmd16_string
+20 mem_cmd17_string
+20 mem_cmd18_string
+20 mem_cmd19_string
+20 mem_cmd20_string
+)
+
Index: YJX_Only24g/main/format/app_module.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_module.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_module.format	(working copy)
@@ -0,0 +1,221 @@
+
+omemalloc(	
+	2 mem_soft_version_num
+	1 mem_module_wake_up_gpio
+	1 mem_module_state_gpio
+	1 mem_module_connect_state_gpio
+
+	2 mem_current_packet_length
+	1 mem_module_state
+	
+	1 mem_module_mcu_wake_pin
+	4 mem_module_mcu_wake_delay_us
+
+	1 mem_module_spp_lpm_mult
+	1 mem_module_le_lpm_mult	
+	1 mem_module_bluetooth_stauts_by_command
+
+	//uart
+	2 mem_module_uart_rx_buffer
+	2 mem_module_uart_rx_buffer_end
+	2 mem_module_uart_tx_buffer
+	2 mem_module_uart_tx_buffer_end
+
+	//ADC
+	1 mem_module_read_vdd_flag
+	1 mem_module_read_vdd_count
+	1 mem_module_vdd_quotient
+	1 mem_module_vdd_remainder
+
+	//ble
+	1 mem_module_le_rx_data_len
+	2 mem_module_le_rx_data_address
+	2 mem_module_le_rx_data_handle
+	//ble write handle
+	2 mem_module_data_write_handle
+	2 mem_module_data_write_handle2
+	//flag
+	1 mem_module_flag
+
+	1 mem_module_hci_notify_len
+	2 mem_module_hci_notify_handle
+	2 mem_module_hci_nofiy_addr
+
+	4 mem_last_transmite_clock
+	
+	300 mem_module_uuid_list
+	0 mem_module_uuid_list_end
+	600 mem_module_le_att_list
+	0 mem_module_le_att_list_end
+	0 mem_module_nv_data
+	34 mem_module_nv_data0
+	34 mem_module_nv_data1
+	34 mem_module_nv_data2
+	34 mem_module_nv_data3
+	34 mem_module_nv_data4
+)
+
+
+(//mem_module_flag
+//bit0~bit3 config module function
+0 MODULE_FLAG_UART_FLOW_CONTROL
+1 MODULE_FLAG_BLE_SEND_MTU23
+2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+//bit4~bit7 module states change
+4 MODULE_FLAG_BLE_DATA_FINISH
+5 MOUDLE_TASK_UNSNIFF
+6 MOUDLE_TASK_SNIFF
+
+)
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x26 HCI_CMD_SET_NVRAM_REQ
+0x27 HCI_CMD_SLEEP
+0x28 HCI_CMD_CONFIRM_GKEY
+0x29 HCI_CMD_SET_CREDIT_GIVEN
+0x2a HCI_CMD_AUTO_ADV_SCAN
+0x2b HCI_CMD_POWER_REQ
+0x2c HCI_CMD_POWER_SET
+0x30 HCI_CMD_PASSKEY_ENTRY
+0x31 HCI_CMD_SET_GPIO
+0x32 HCI_CMD_READ_GPIO
+0x33 HCI_CMD_LE_SET_PAIRING
+0x34 HCI_CMD_LE_SET_ADV_DATA
+0x35 HCI_CMD_LE_SET_SCAN_DATA
+0x36 HCI_CMD_LE_SEND_CONN_UPDATE_REQ
+0x37 HCI_CMD_LE_SET_ADV_PARM
+0x38 HCI_CMD_LE_START_PAIRING
+0x40 HCI_CMD_SET_WAKE_GPIO
+0x42 HCI_CMD_SET_TX_POWER
+0x43 HCI_CMD_BOOT_VERSION_REQ
+0x48 HCI_CMD_LE_CONFIRM_GKEY
+0x49 HCI_CMD_REJECT_JUSTWORK
+0x51 HCI_CMD_RESET_CHIP_REQ
+
+0x61 HCI_CMD_LE_SET_FIXED_PASSKEY
+
+0xff HCI_TEST_CMD_CLOSE_LPM
+)
+
+(//event
+0x00 HCI_EVENT_SPP_CONN_REP
+0x01 HCI_EVENT_HID_CONN_REP
+0x02 HCI_EVENT_LE_CONN_REP
+0x03 HCI_EVENT_SPP_DIS_REP
+0x04 HCI_EVENT_HID_DIS_REP
+0x05 HCI_EVENT_LE_DIS_REP
+0x06 HCI_EVENT_CMD_RES
+0x07 HCI_EVENT_SPP_DATA_REP
+0x08 HCI_EVENT_LE_DATA_REP
+0x09 HCI_EVENT_STANDBY_REP
+0x0a HCI_EVENT_STATUS_RES
+0x0b HCI_EVENT_FINISH_PACK_NUM
+0X0C HCI_EVENT_SNIFF_MD_CHANGE
+0x0D HCI_EVENT_NVRAM_REP
+0x0e HCI_EVENT_GKEY
+0x0F HCI_EVENT_INVALID_PACKET
+0x10 HCI_EVENT_GET_PASSKEY
+0x11 HCI_EVENT_LE_TK
+0x12 HCI_EVENT_REMOTE_MTU
+0x14 HCI_EVENT_LE_PAIRING_STATE
+0X15 HCI_EVENT_LE_ENCRYPTION_STATE
+0x17 HCI_EVENT_LE_CONNECTION_UPDATE
+0x1d HCI_EVENT_LE_GKEY
+
+)
+
+
+(//command HCI_CMD_SET_GPIO
+//byte 0
+0x00 HCI_CMD_CONFIG_GPIO_INPUT
+0x01 HCI_CMD_CONFIG_GPIO_OUTPUT
+//byte 1 input state
+0x00 GPIO_INPUT_PULLUP
+0x01 GPIO_INPUT_PULLDOWN
+0x02 GPIO_INPUT_HIGH_IMPEDANCE
+)
+
+
+
+(
+0x7e0 OTP_ADDR_RF_PARAM_FIX
+//struct of RF_PARAM_FIX
+// uint8       //length = param_pair_count * 2 
+// uint16     //param-pair-1
+// uint16     //param-pair-2
+// uint16     //param-pair-3
+// uint16     //param-pair-4
+// uint16     //param-pair-5
+// uint16     //param-pair-6
+// uint16     //param-pair-7
+)
+
+(
+0	PAIRING_PINCODE
+1	PAIRING_JUSTWORK
+2	PAIRING_PASSKEY
+3	PAIRING_CONFIRM
+)
+
+
+(
+0x0001	FLAG_BT_PAIRING_SUCCESS
+0x0101	FLAG_BT_PAIRING_FAIL
+0x0080	FLAG_BLE_PAIRING_SUCCESS
+0x0180	FLAG_BLE_PAIRING_FAIL
+)
+
+
+(
+1	FLAG_EVENT_START_ENC
+0	FLAG_EVENT_PAUSE_ENC
+)
+
+(
+	0 MOUDLE_STATE_BT_BIT
+	1 MOUDLE_STATE_BLE_BIT
+)
+
Index: YJX_Only24g/main/format/app_mouse.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_mouse.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_mouse.format	(working copy)
@@ -0,0 +1,453 @@
+
+memalloc(
+2 mem_init_cnt
+)
+//dpi eeprom addr
+
+
+cmemalloc 0(
+// Mouse Work Area
+1 mem_mouse_key
+2 mem_mouse_x
+2 mem_mouse_y
+1 mem_mouse_z
+1 mem_mouse_tz
+1 mem_mouse_xy_h
+1 mem_sensor_shutter_hi
+1 mem_sensor_shutter_lo
+1 mem_sensor_smart_flag
+1 mem_sensor_squal_reg
+1 mem_sensor_iqc
+1 mem_mouse_move_flag
+2 mem_mouse_direct_timeout
+2 mem_mouse_no_data_timeout
+2 mem_mouse_discovery_timer
+2 mem_mouse_direct_timer
+2 mem_mouse_no_data_timer
+2 mem_mouse_blank_data_timer
+1 mem_mouse_send_blank_timer
+
+1 mem_mouse_cpi_count
+1 mem_mouse_dpi_button_state
+
+
+//mouse T wheel
+1 mem_wheel_tb_old_pinlevel
+1 mem_wheel_tb_new_pinlevel
+1 mem_wheel_tog 
+1 mem_mouse_tz_data
+1 mem_mouse_tz_data_count
+1 mem_mouse_tz_data_count1
+
+
+1 mem_mwheel_b_old_pinlevel
+1 mem_mwheel_b_new_pinlevel
+1 mem_mwheel_tog 
+1 mem_mouse_z_data
+1 mem_mouse_z_data_count
+1 mem_mouse_z_data_count1
+
+1 mem_reconn_mode
+1 mem_mouse_statue_led_timer  
+1 mem_le_connect_status_flag
+1 mem_le_start_encrypt_timer
+
+7 mem_device_addr_temp
+
+1 mem_adc_read_timer
+1 mem_adc_low_volatage_led_timer_count
+2 mem_adc_reference_voltage
+1 mem_device_number
+2 mem_mouse_flag
+2 mem_mouse_function_enable
+1 mem_combination_select_device_timer_init
+1 mem_combination_select_device_count
+1 mem_select_device_button_statue
+
+1 mem_combination_ui_button_count
+1 mem_bt_discovey_button_statue
+1 mem_sensor_reset_gpio	
+
+1 mem_sensor_id1
+1 mem_sensor_id2
+//eeprom config param
+1 mem_mouse_dpi_led_delay_count
+1 mem_config_sensor_type
+1 mem_config_sensor_motion
+1 mem_lbutton_gpio
+1 mem_rbutton_gpio
+1 mem_mbutton_gpio
+1 mem_bk_button_gpio
+1 mem_fw_button_gpio
+1 mem_dpi_button_gpio
+1 mem_whee_a_data_gpio
+1 mem_whee_b_data_gpio
+1 mem_whee_ta_data_gpio
+1 mem_whee_tb_data_gpio
+1 mem_config_bt_button_gpio
+1 mem_config_select_device_button_gpio
+1 mem_config_paraing_led_gpio
+1 mem_config_low_voltage_alarm_gpio
+1 mem_config_device1_led_gpio
+1 mem_config_device2_led_gpio
+1 mem_config_device3_led_gpio	
+1 mem_sensor_data_gpio
+1 mem_dpi_led_gpio
+1 mem_config_function_enable
+1 mem_config_sensor_angle
+1 mem_select_sensor_angle_gpio
+1 mem_select_adc_gpio
+0 mem_config_end
+//max length 1f								
+4 mem_btclk_sensor
+1 mem_wire_usb_interval
+1 mem_mouse_mode_flag
+1 mem_usb_addr
+3 mem_flash_base
+1 mem_24g_device_number
+1 mem_24g_enter_lpm_timer
+1 mem_mouse_1step_up_count
+1 mem_mouse_2step_up_count
+2 mem_24g_pairing_timer_count
+
+//adc struct
+0 mem_mouse_vdd_calculate_set
+2 mem_mouse_vdd_full_vol
+2 mem_mouse_vdd_empty_vol
+2 mem_mouse_vdd_low_vol
+2 mem_mouse_vdd_now_vol
+// sensor led 
+1 mem_mouse_sensor_timer_count
+1 mem_sensor_led_style
+
+//led struct
+1 mem_mouse_led_type
+1 mem_mouse_blink_count
+1 mem_mouse_struct_led_gpio
+2 mem_mouse_on_time
+2 mem_mouse_off_time
+2 mem_mouse_cb_ledon
+2 mem_mouse_cb_ledoff
+
+//three devices param
+1 mem_reconn_times
+1 mem_reconn_times_init
+0 mem_mouse_information_start
+1 mem_device_flag
+1 mem_device1_type
+6 mem_device1_addr
+16 mem_device1_link_key
+6 mem_device1_locall_addr
+
+1 mem_device2_type
+6 mem_device2_addr
+16 mem_device2_link_key
+6 mem_device2_locall_addr
+
+1 mem_device3_type
+6 mem_device3_addr
+16 mem_device3_link_key
+6 mem_device3_locall_addr
+2 mem_store_flag
+1 mem_mouse_dpi
+4 mem_mouse_24g_addr
+0 mem_mouse_information_end
+
+0 mem_mouse_dpi_seting
+1 mem_320x_dpi_1
+1 mem_320x_dpi_2
+1 mem_320x_dpi_3
+1 mem_320x_dpi_4
+
+1 mem_3212_dpi_1
+1 mem_3212_dpi_2
+1 mem_3212_dpi_3
+1 mem_3212_dpi_4
+
+1 mem_3610_dpi_1
+1 mem_3610_dpi_2
+1 mem_3610_dpi_3
+1 mem_3610_dpi_4
+
+1 mem_mouse_24g_enter_lpm_enable
+
+//-------------- patch variable ------------------
+0 mem_mouse_3065xy_dpi_seting
+1 mem_3065xy_dpi_1
+1 mem_3065xy_dpi_2
+1 mem_3065xy_dpi_3
+1 mem_3065xy_dpi_4
+
+2 mem_le_rx_window_inc
+1 mem_empty_count
+15 mem_rf_init_data_new
+
+1 mem_mouse_clear_sensor_data_flag
+1 mem_mouse_null_enter_hibernate_flag
+1 mem_mouse_null_enter_hibernate_timer
+1 mem_mouse_le_reconnect_flag
+
+33 mem_mouse_data_queue
+1 mem_mouse_data_queue_num
+
+2 mem_random_addr_increase_count
+1 mem_mouse_le_conn_param_reject
+1 mem_lpm_mult_init
+64 mem_mouse_le_uuid_sup
+
+1 mem_mouse_wheel_trigger
+1 mem_mouse_wheel_trigger_timer
+
+1 mem_mouse_long_mult_flag
+1 mem_mouse_le_current_mult_timer
+1 mem_24g_long_sleep_param_update_timer
+1 mem_mouse_enter_sniff_count
+1 mem_mouse_send_switch_req_timer
+
+27 mem_le_tx_buffer0_omemalloc
+27 mem_le_tx_buffer1_omemalloc
+27 mem_le_tx_buffer2_omemalloc
+27 mem_le_tx_buffer3_omemalloc
+
+1 mem_mouse_mode_config
+1 mem_mouse_dpi_blink_count
+
+646 mem_mouse_uuid_list
+1 mem_lmi_opcode_temp
+
+1 mem_mouse_adc_last_low_voltage_flag
+1 mem_mouse_init_sensor_reset_flag
+
+1 mem_mouse_ble_reconn_led_blink_count
+1 mem_mouse_ble_reconn_led_blink_timer
+
+
+1 mem_mouse_multi_led_blink_enable
+1 mem_mouse_multi_led_gpio
+1 mem_mouse_multi_led_state
+1 mem_mouse_multi_led_type
+1 mem_mouse_multi_led_on_timer
+1 mem_mouse_multi_led_on_timer_init
+1 mem_mouse_multi_led_blink_timer
+1 mem_mouse_multi_led_blink_timer_init
+1 mem_mouse_multi_led_blink_count
+1 mem_mouse_multi_led_blink_count_limited
+
+1 mem_mouse_multi_led_on_poweron2s_flag
+1 mem_mouse_ble_reconn_multi_led_blink_flag
+1 mem_bt_rcvd_switch_req_accept
+1 mem_bt_send_max_slot_req_accept_after_switch
+
+1 mem_l2cap_rcv
+1 mem_mouse_bt_boot_mode
+5 mem_mouse_bt_boot_data
+)
+
+(
+//SPI GPIO 
+0x19 MOUSE_SPI1_CLK_GPIO
+0x1A MOUSE_SPI1_SDIO_GPIO
+0X1E MOUSE_SPI2_CLK_GPIO
+0X1F MOUSE_SPI2_SDIO_GPIO
+//combination
+0x01 MOUSE_L_BUTTON
+0X02 MOUSE_R_BUTTON
+0X04 MOUSE_M_BUTTON
+0X05 MOUSE_LM_BUTTON
+0X06 MOUSE_RM_BUTTON
+0X07 MOUSE_LMR_BUTTON
+//mouse default gpio
+0x1B MOUSE_DEFAULT_XA_GPIO
+0x1C MOUSE_DEFAULT_XB_GPIO
+
+//ui led blink
+0X00C8  LED_RECONNECT_BLINK //200
+0X0190  LED_DPI_BLINK //400
+0X03E8  LED_DPI_BLINK_FIXED    //1000
+0X03E8  LED_DISCOVERY_BLINK    //1000
+0XFF    LED_LONG_BLINK
+0x05	LED_SENSOR_BLINK_CNT
+//bt mode device number
+0x01 MODE_BT_DEVICE1
+0x02 MODE_BT_DEVICE2
+0x03 MODE_BT_DEVICE3
+0x02 MODE_24G_DEVICE
+//mouse  flag
+0X00 WRITE_REQ_ENABLE_FLAG
+0X01 LL_START_ENC_FLAG
+0X02 LL_PAIRING_SUCCESS_FLAG
+
+
+//mouse_function_flag
+0X04 MOUSE_FLAG_LEN
+//1byte
+0X00 MOUSE_SELECT_DEVICE_FLAG
+0X01 MOUSE_CPI_FLAG
+0X02 MOUSE_BT_CANNEL_RECONN_FLAG
+0X03 MOSUE_24G_PAIRING_FLAG
+0X04 MOUSE_LOW_VOLTAGE_FLAG
+0X05 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+0X06 MOUSE_LONG_BT_BUTTON_FLAG
+0X07 MOUSE_STORE_EEPROM_FLAG
+0x08 MOUSE_STATUE_UP_FLAG
+0X09 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+
+
+//3byte
+0X10 MOUSE_ENABLE_USB
+0X11 MOUSE_ENABLE_24G
+0X12 MOUSE_ENABLE_SPI2
+0X13 MOUSE_ENABLE_FLASH
+0X14 MOUSE_ENABLE_EEPROM
+0X15 MOUSE_ENABLE_STATUE_UP_THREE_LED
+0X16 MOUSE_ENABLE_STATUE_UP
+0X17 MOUSE_ENABLE_DPI_LED_BLINK
+//4byte
+0X18 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+0X19 MOUSE_ENABLE_2K_EEPROM
+0X1A MOUSE_ENABLE_ADC
+0X1B MOUSE_ENABLE_INIT_DELAY
+0X1C MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+0X1D MOUSE_ENABLE_AUTO_24G_PARING
+0X1E MOUSE_ENABLE_WAKEUP_FROM_POWER
+0X1F MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+
+
+
+//mouse dpi level
+0x00 MOUSE_DPI_LEVEL1
+0x01 MOUSE_DPI_LEVEL2
+0x02 MOUSE_DPI_LEVEL3
+0x03 MOUSE_DPI_LEVEL4
+
+
+//mouse sensor angle
+0x00 MOUSE_6CLK_ANGLE
+0X01 MOUSE_9CLK_ANGLE
+0X02 MOUSE_12CLK_ANGLE
+0X03 MOUSE_3CLK_ANGLE
+
+
+//mem_config_function_enable
+0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+1 ENABLE_MODE_LED
+2 ENABLE_LOW_VOLTAGE_LED
+3 ENABLE_DEVICE_LED
+4 ENABLE_BT_BUTTON
+5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+6 ENABLE_SELECT_DEVICE_BY_SWITCH
+7 ENABLE_SENSOR_MOTION_PIN
+
+0xFF GPIO_DISABLE
+
+
+//DPI button state 
+0x00 DPI_BUTTON_STATE_DOWN
+0x01 DPI_BUTTON_STATE_UP
+
+
+//eeprom address offect
+0X00 MOUSE_INFO_EEPROM_OFFECT
+0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
+0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
+0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
+0X61 MOUSE_DEVICE_MODE_EEPROM_OFFSET	//1byte	
+0X62 MOUSE_EEPROM_MODULE_INIT_FLAG		//eeprom_module_init_flag 2bytes
+
+
+// Sensor id number
+0x30 P32XX_ID1
+0x31 P3065_ID1
+0x3E P3610_ID1
+0x02 P3212_ID2
+0xD1 P3205_TJ3T_ID2
+0XD2 P3204_TJ3L_ID2
+0x54 PKA8_ID2
+0x70 P3065_XY_ID2
+0x5a P_MX8650
+
+
+//Sensor type
+0X00 P3205
+0X01 P3065
+0X02 KA8
+0X03 P3204
+0X04 P3212
+0X05 P3610
+0X06 P3065_XY
+0x07 MX8650
+
+
+//p3610 smart enable flag
+0X00 P3610_SMART_ENABLE
+0X01 P3610_SMART_DISABLE
+
+
+//SENSOR REG
+0x00 PAN_REG_PID_L
+0x01 PAN_REG_PID_H
+0x02 PAN_REG_MOTION_STAUS
+0x03 PAN_REG_DELTA_X
+0x04 PAN_REG_DELTA_Y
+0x05 PAN_REG_OPRATION_MODE
+0x06 PAN_REG_CONFIG
+0x07 PAN_REG_IMAGE_QUALITY
+0x08 PAN_REG_OPRATION_STATE
+0x09 PAN_REG_WRITE_PROTECT
+0x0A PAN_REG_SLEEP_1
+0x0B PAN_REG_ENTER_TIME
+0x0C PAN_REG_SLEEP_2
+0x0D PAN_REG_IMAGE_THRESHOLD
+0x0E PAN_REG_IMAGE_RECGNITION
+
+
+0x06 MOUSE_DPI_ADDRESS
+0x05 MOUSE_P3610_DPI_ADDRESS
+0x0D MOUSE_P3212_DPI_XADDRESS
+0x0E MOUSE_P3212_DPI_YADDRESS
+
+
+0x06 MOUSE_FPGA_RF_WORK_DEBUG_GPIO
+0x02 MOUSE_FPGA_DEBUG_GPIO
+
+)
+
+(
+0x01 ADV_FLAG_LIMITED_DISCOVERABLE
+0x04 ADV_FLAG_BREDR_NOT_SUPPORTED
+)
+
+(
+5 TEST_GPIO
+)
+
+(
+1 LE_LPM_DISABLE
+0 LE_LPM_ENABLE
+
+12 LE_INTERVAL_15MS
+9 LE_INTERVAL_11_25MS//11.25ms
+7 LE_INTERVAL_8_75MS//8.75ms
+)
+
+(
+0x017700 G24_LONG_SLEEP_STEP1	//8ms
+0x36ee80 G24_LONG_SLEEP_STEP2	//300ms
+)
+
+
+(
+0 MOUSE_24G_ONLY
+1 MOUSE_BLE_ONLY
+2 MOUSE_BT_ONLY
+3 MOUSE_BLE_24G_ENABLE
+4 MOUSE_BT_BLE_24G_ENABLE
+)
+
+(
+0 MULTI_LED_ON
+1 MULTI_LED_BLINK
+)
+
+
+
Index: YJX_Only24g/main/format/app_remote_car.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_remote_car.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_remote_car.format	(working copy)
@@ -0,0 +1,150 @@
+
+omemalloc(
+1 mem_remote_car_hard_soft_switch
+
+1 mem_remote_car_queue_each_size
+1 mem_remote_car_queue_length
+
+1 mem_remote_car_queue_curr_num
+1 mem_remote_car_queue_read_ptr
+1 mem_remote_car_queue_write_ptr
+90 mem_remote_car_queue_ele
+
+1 mem_remote_style_led_type
+1 mem_remote_style_blink_count
+1 mem_remote_style_struct_led_gpio
+2 mem_remote_style_on_time
+2 mem_remote_style_off_time
+2 mem_remote_style_cb_ledon
+2 mem_remote_style_cb_ledoff
+
+
+1 mem_remote_car_led_num
+8 mem_remote_car_led_map
+
+0 mem_remote_car_keyscan
+1 mem_remote_car_key_num
+2 mem_cb_remote_car_keyscan
+
+0 mem_remote_car_key_conf0
+1 mem_remote_car_key_conf0_pin
+0 mem_remote_car_key_conf1
+1 mem_remote_car_key_conf1_pin
+0 mem_remote_car_key_conf2
+1 mem_remote_car_key_conf2_pin
+0 mem_remote_car_key_conf3
+1 mem_remote_car_key_conf3_pin
+0 mem_remote_car_key_conf4
+1 mem_remote_car_key_conf4_pin
+0 mem_remote_car_key_conf5
+1 mem_remote_car_key_conf5_pin
+0 mem_remote_car_key_conf6
+1 mem_remote_car_key_conf6_pin
+
+
+//rocker
+1 mem_rocker_negative_flag
+1 mem_rocker_work_status
+2 mem_current_vdd_value_default_mid_x
+2 mem_current_vdd_value_default_mid_y
+2 mem_current_vdd_value_default_mid_temp
+2 mem_current_vdd_default_range
+2 mem_rocker_last_status
+0 mem_rocker_status
+1 mem_rocker_x_status
+1 mem_rocker_y_status
+
+0 mem_remote_car_config_param
+1 mem_remote_car_config_setting_flag
+1 mem_remote_car_config_key_map
+1 mem_remote_car_config_layout
+1 mem_remote_car_config_connect_led_gpio
+1 mem_remote_car_config_check_way
+1 mem_remote_car_config_soft_switch_enable
+1 mem_remote_car_config_soft_switch_gpio
+1 mem_remote_car_config_timeout_shutdown_enable
+
+0 mem_remote_car_24g_motor_packet
+1 mem_remote_car_24g_motor_packet_lenght
+2 mem_remote_car_24g_motor_send_packet_head
+1 mem_remote_car_24g_motor_send_cmd
+2 mem_remote_car_24g_motor_send_length
+0 mem_remote_car_24g_motor_send_payload
+2 mem_remote_car_24g_motor1_payload
+2 mem_remote_car_24g_motor2_payload
+2 mem_remote_car_24g_motor3_payload
+1 mem_remote_car_24g_motor_send_checksum
+
+0 mem_remote_car_24g_fire_packet
+1 mem_remote_car_24g_fire_packet_lenght
+2 mem_remote_car_24g_fire_send_packet_head
+1 mem_remote_car_24g_fire_send_cmd
+2 mem_remote_car_24g_fire_send_length
+2 mem_remote_car_24g_fire_send_payload
+1 mem_remote_car_24g_fire_send_checksum
+
+15 mem_remote_car_24g_tx_temp
+
+2 mem_remote_car_no_data_timeout
+2 mem_remote_car_no_data_timer
+
+0 mem_remote_car_soft_power
+1 mem_remote_car_power_state
+1 mem_remote_car_power_timer
+1 mem_remote_car_power_off_timeout
+1 mem_remote_car_power_starting_timeout
+2 mem_remote_car_power_off_cb
+2 mem_remote_car_power_starting_cb
+2 mem_remote_car_power_standby_cb
+
+1 mem_remote_key_status
+1 mem_remote_car_24g_status
+
+1 mem_remote_car_24g_auto_work_step
+1 mem_remote_car_24g_pair_success_flag
+1 mem_remote_car_24g_enter_lpm_enable
+1 mem_remote_car_empty_packet
+400 mem_24g_RC_head_ptr
+)
+
+
+(
+// eeprom config
+0xb0 REMOTE_PARAM_EEPROM_CONFIG_ADDR
+
+)
+
+
+(
+0x00 CONTROL_F_B_MOTOR
+0x02 CONTROL_L_R_MOTOR
+)
+
+(
+0x00 KEY_MAP_TEN
+0x01 KEY_MAP_LR
+)
+
+(
+0x00 CONTROL_F_B_TEN
+0x02 CONTROL_L_R_TEN
+0x03 CONTROL_L_R_LR
+)
+
+(
+0 KEY_CHECK
+1 ROCKER_CHECK
+)
+
+(
+1 MOTOR_POSITIVE
+2 MOTOR_NEGATIVE
+)
+
+(
+0 ROCKER_MIDDLE_KEY
+1 ROCKER_POSITIVE_KEY
+2 ROCKER_NEGATIVE_KEY
+)
+
+
Index: YJX_Only24g/main/format/app_shutter.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_shutter.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_shutter.format	(working copy)
@@ -0,0 +1,252 @@
+
+
+omemalloc(
+
+////////////////////////////////////
+//shutter common config
+1 mem_shutter_bluetooth_type
+////////////////////////////////////
+
+//shutter config name by GPIO
+1 mem_shutter_config_enable
+2 mem_shutter_config_otp_base_address
+1 mem_shutter_config_size
+1 mem_shutter_config_select_gpio1
+1 mem_shutter_config_select_gpio2
+1 mem_shutter_config_select_gpio3
+
+2 mem_shutter_config_user_otp_address
+2 mem_shutter_config_eeprom_offset_addr
+
+////////
+2 mem_shutter_config_eeprom_start_flag
+1 mem_shutter_config_user_size
+///////
+1 mem_shutter_config_label
+2 mem_shutter_config_otp_addr
+///////////////////////////////////
+
+////////////////////////////////////
+//classic shutter config
+1 mem_classic_shutter_cable_unplug_conut
+1 mem_classic_shutter_hid_disconn_count
+2 mem_classic_shutter_random_mac_offset_addr
+////////////////////////////////////
+
+////////////////////////////////////
+//ble shutter config
+1 mem_ble_shutter_enable_notify
+2 mem_ble_shutter_reconn_dav_interval
+2 mem_ble_shutter_discovery_adv_interval
+2 mem_ble_shutter_reconn_timeout
+2 mem_ble_shutter_reconn_timer
+2 mem_ble_shutter_reconn_blink_on_time
+2 mem_ble_shutter_reconn_blink_off_time
+2 mem_ble_shutter_discovery_blink_on_time
+2 mem_ble_shutter_discovery_blink_off_time
+
+2 mem_ble_shutter_interval_min
+2 mem_ble_shutter_interval_max
+2 mem_ble_shutter_latency
+2 mem_ble_shutter_timeout
+
+2 mem_ble_shutter_interval_min_new
+2 mem_ble_shutter_interval_max_new
+2 mem_ble_shutter_latency_new
+2 mem_ble_shutter_timeout_new
+
+//////////////////shutter sleep timeout//////////////////
+2 mem_classic_shutter_discovery_timeout
+2 mem_classic_shutter_connect_timeout
+2 mem_ble_shutter_discovery_timeout
+2 mem_ble_shutter_connect_timeout
+2 mem_shutter_sleep_timeout
+2 mem_shutter_sleep_timer
+
+/////////////////////////////////////////////////////////////////
+1 mem_shutter_hard_soft_switch_case
+1 mem_shutter_soft_switch_button_gpio
+1 mem_shutter_soft_switch_power_state
+1 mem_shutter_soft_switch_poweron_time
+1 mem_shutter_soft_switch_poweroff_time
+2 mem_shutter_soft_switch_poweron_callback_function
+2 mem_shutter_soft_switch_poweroff_callback_function
+
+
+0 mem_shutter_keyscan
+1 mem_shutter_key_num
+2 mem_cb_shutter_keycan
+1 mem_shutter_key_conf0
+1 mem_shutter_key_conf1
+1 mem_shutter_key_conf2
+1 mem_shutter_key_conf3
+1 mem_shutter_key_conf4
+1 mem_shutter_key_conf5
+1 mem_shutter_key_conf6
+1 mem_shutter_key_conf7
+
+
+5 mem_key0_press
+5 mem_key1_press
+5 mem_key2_press
+5 mem_key3_press
+5 mem_key4_press
+5 mem_key5_press
+5 mem_key6_press
+5 mem_key7_press
+
+5 mem_key0_release	
+5 mem_key1_release
+5 mem_key2_release
+5 mem_key3_release
+5 mem_key4_release
+5 mem_key5_release
+5 mem_key6_release
+5 mem_key7_release
+
+5 mem_ble_data_buffer1
+5 mem_ble_data_buffer2
+5 mem_ble_data_buffer3
+5 mem_ble_data_buffer4
+5 mem_ble_data_buffer5
+5 mem_ble_data_buffer6
+5 mem_ble_data_buffer7
+5 mem_ble_data_buffer8
+50 mem_ble_data_buffer9_58
+
+5 mem_classic_data_buffer
+
+5 mem_classic_data_buffer1
+5 mem_classic_data_buffer2
+5 mem_classic_data_buffer3
+5 mem_classic_data_buffer4
+5 mem_classic_data_buffer5
+5 mem_classic_data_buffer6
+5 mem_classic_data_buffer7
+5 mem_classic_data_buffer8
+50 mem_classic_data_buffer9_58
+
+1 mem_queue_each_size
+1 mem_queue_length
+1 mem_queue_curr_num
+1 mem_queue_read_ptr
+1 mem_queue_write_ptr
+32 mem_queue_ele
+
+
+170 mem_shutter_nv_data
+
+0 mem_shutter_led_struct_app_led
+1 mem_shutter_led_struct_app_led_type
+1 mem_shutter_led_struct_app_led_blink_count
+1 mem_shutter_led_struct_app_led_gpio
+2 mem_shutter_led_struct_app_led_on_time
+2 mem_shutter_led_struct_app_led_off_time
+2 mem_shutter_led_struct_app_led_on_callback
+2 mem_shutter_led_struct_app_led_off_callback
+
+0 mem_shutter_power_off_led_style
+1 mem_shutter_power_off_led_style_type
+1 mem_shutter_power_off_led_style_blink_count
+1 mem_shutter_power_off_led_style_gpio
+2 mem_shutter_power_off_led_style_on_time
+2 mem_shutter_power_off_led_style_off_time
+2 mem_shutter_power_off_led_style_on_callback
+2 mem_shutter_power_off_led_style_off_callback
+
+1 mem_shutter_soft_swtich_botton_down
+11 mem_shutter_soft_swtich_led_struct_temp
+1 mem_shutter_power_off_timeout
+1 mem_shutter_power_off_timer
+
+)
+
+
+
+
+(
+0 BLE_SHUTTER
+1 CLASSIC_SHUTTER
+)
+
+(
+0x0000 NVRAM_EEPROM_OFFSET
+)
+
+(
+0x1b3a SHUTTER_EEPROM_CONFIG_CRC
+)
+
+(
+5 MAX_QUEUE_NUM
+5 SHUTTER_BLE_DATA_BUFFER
+5 SHUTTER_CLASSIC_DATA_BUFFER
+)
+
+
+(
+0x13	GATT_CONSUMER_NOTIFY_HANDLE
+0x14	GATT_CONSUMER_WRITE_HANDLE
+0x17	GATT_KEYBOARD_NOTIFY_HANDLE
+0x18	GATT_KEYBOARD_WRITE_HANDLE
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE
+//100ms
+0x00a0	SLOW_ADV_INTERVAL_VALUE
+)
+
+
+(
+0 ATT_BIT_NOTIFICATION
+1 ATT_BIT_INDICATION
+)
+///////////////////////////////////////////////////////////////////////////////////////
+
+(
+0 HARD_SWITCH
+1 SOFT_SWITCH
+)
+
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(//Data Rom Buffer Addr
+382		BLE_GATT_LIST_SIZE
+487		BT_SDP_LIST_SIZE
+40		BLE_KEY_VALUE_LIST_SIZE
+40		BT_KEY_VALUE_LIST_SIZE
+0x913A	BLE_SHUTTER_GATT_LIST
+0x92B8	CLASSIC_SHUTTER_SDP_LIST
+0x949F	BLE_SHUTTER_KEY_VALUE_LIST
+0x94C7	CLASSIC_SHUTTER_KEY_VALUE_LIST
+)
+
+
+(//soft switch power state
+0		SS_STATE_POWER_UP
+1		SS_STATE_POWER_ON
+2		SS_STATE_POWER_OFF
+)
+
+(
+0		SS_POWER_STATE_OFFSET
+1		SS_POWER_ON_TIME
+2		SS_POWER_OFF_TIME
+3		SS_POWER_ON_CB
+5		SS_POWER_OFF_CB
+
+)
+
+(
+
+0x4FFE SIM_IIC_SCL_GPIO_NUM
+0x4FFF SIM_IIC_SDA_GPIO_NUM
+
+)
+
Index: YJX_Only24g/main/format/app_usb.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_usb.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/app_usb.format	(working copy)
@@ -0,0 +1,203 @@
+
+omemalloc(
+
+)
+
+//class type
+(
+0x00 STANDARD_REQ
+0x01 CLASS_REQ
+0x02 MANUFACTURER_REQ
+)
+//Standard Request Codes
+(
+0x00 GET_STATUS                // Code for Get Status
+0x01 CLEAR_FEATURE             // Code for Clear Feature
+0x03 SET_FEATURE              // Code for Set Feature
+0x05 SET_ADDRESS              // Code for Set Address
+0x06 GET_DESCRIPTOR           // Code for Get Descriptor
+0x07 SET_DESCRIPTOR           // Code for Set Descriptor(not used)
+0x08 GET_CONFIGURATION        // Code for Get Configuration
+0x09 SET_CONFIGURATION        // Code for Set Configuration
+0x0A GET_INTERFACE            // Code for Get Interface
+0x0B SET_INTERFACE            // Code for Set Interface
+0x0C SYNCH_FRAME              // Code for Synch Frame(not used)
+)
+//Standard Descriptor Types
+(
+0x01 DSC_DEVICE               // Device Descriptor
+0x02 DSC_CONFIG               // Configuration Descriptor
+0x03 DSC_STRING               // String Descriptor
+0x04 DSC_INTERFACE            // Interface Descriptor
+0x05 DSC_ENDPOINT             // Endpoint Descriptor
+)
+//HID Descriptor Types
+(
+0x21 DSC_HID			      // HID Class Descriptor
+0x22 DSC_HID_REPORT			  // HID Report Descriptor
+)
+//Define bmRequestType bitmaps
+(
+0x80 IN_DEVICE                // Request made to device,
+                              // direction is IN
+0x00 OUT_DEVICE               // Request made to device,
+                              // direction is OUT
+0x81 IN_INTERFACE             // Request made to interface,
+                              // direction is IN
+0x01 OUT_INTERFACE            // Request made to interface,
+                              // direction is OUT
+0x82 IN_ENDPOINT              // Request made to endpoint,
+                              // direction is IN
+0x02 OUT_ENDPOINT             // Request made to endpoint,
+)
+//HID Request Codes
+(
+0x01 GET_REPORT 		       // Code for Get Report
+0x02 GET_IDLE				   // Code for Get Idle
+0x03 GET_PROTOCOL			   // Code for Get Protocol
+0x09 SET_REPORT				   // Code for Set Report
+0x0A SET_IDLE				   // Code for Set Idle
+0x0B SET_PROTOCOL			   // Code for Set Protocol
+0xF2 HID_REPORT_ID           
+64 EP0_PACKET_SIZE         
+6 EP1_PACKET_SIZE         
+16 HID_REPORT_SIZE         
+0x001B HID_REPORT_DESCRIPTOR_SIZE    
+)
+//math cordic
+(
+0 TYPE_SIN		
+1 TYPE_ATAN	
+2 TYPE_MULT	
+3 TYPE_DIV		
+4 TYPE_ASIN	
+5 TYPE_SQRT	
+6 TYPE_COS		
+7 TYPE_TAN		 
+)
+   
+(
+0 DFIFO0_IN_EMPTY
+1 DFIFO1_IN_EMPTY
+2 DFIFO2_IN_EMPTY
+3 DFIFO3_IN_EMPTY
+4 DFIFO0_OUT_EMPTY
+5 DFIFO1_OUT_EMPTY
+6 DFIFO2_OUT_EMPTY
+7 DFIFO3_OUT_EMPTY
+)
+
+(
+4 USB_STATUS_SETUP
+6 USB_STATUS_NAK
+)
+
+(
+1 USB_GOT_REPORT_REQ
+2 USB_CONNECTED
+3 USB_SLEEP
+4 USB_RESUME
+5 USB_SETIDLE_1
+)
+
+(
+0x10 USB_EP1_KB
+0x20 USB_EP2_MS
+0x21 USB_EP2_MULTIKEY
+0x01 MAC_BOOT_MODE
+0x02 R_KEY
+0x03 LR_KEY
+)
+
+(
+0x8ffa	HID_KBDATA_ADDR
+0x903a	HID_MSDATA_ADDR
+0x90fe	HID_CONFDATA_ADDR
+)
+
+
+(
+0x01ba PC_GET_REPORT
+0x02ba PC_SET_REPORT
+0x0200 PC_SET_REPORT_bValue
+0x0000 PC_SET_REPORT_wIndex
+0x0001 PC_SET_REPORT_bLength
+0xba PC_REPORT_ID
+
+0x01 PC_GET_DATA
+0x00 PC_GET_NONDATA
+)
+
+(
+//--------------------------------------------------
+// Define device states
+0x00 DEV_ATTACHED	// Device is in Attached State
+0x01 DEV_POWERED	// Device is in Powered State
+0x02 DEV_DEFAULT		// Device is in Default State
+0x03 DEV_ADDRESS	// Device is in Addressed State
+0x04 DEV_CONFIGURED	// Device is in Configured State
+0x05 DEV_SUSPENDED	// Device is in Suspended State
+)
+
+(
+// Define wIndex bitmaps
+0x81 IN_EP1                    // Index values used by Set and Clear
+0x01 OUT_EP1                   // commands for Endpoint_Halt
+0x82 IN_EP2              
+0x02 OUT_EP2             
+0x83 IN_EP3              
+0x03 OUT_EP3             
+)
+
+(
+0 EP0_STALL
+1 EP1_IN_STALL
+2 EP1_OUT_STALL
+3 EP2_IN_STALL
+4 EP2_OUT_STALL
+5 EP3_IN_STALL
+6 EP3_OUT_STALL
+)
+
+(
+// Define wValue bitmaps for Standard Feature Selectors
+0x00 ENDPOINT_HALT             // Endpoint_Halt feature selector
+0x01 DEVICE_REMOTE_WAKEUP      // Remote wakeup feature(not used)
+0x00 BOOT_PROTOCOL
+0x01 REPORT_PROTOCOL
+0x01 USB_MAX_NUM_CFG
+)
+
+
+(
+0x1A0 AT_baud_115200
+0x4e2 AT_baud_38400
+0x1388 AT_baud_9600
+)
+
+(
+0x4e00 mem_module_rx_buf//0x400
+0x4fff mem_module_rx_buf_end
+0x1c00 mem_module_tx_buf
+0x1fff mem_module_tx_buf_end
+)
+
+(
+0x01 BIND_ACKPAYLOAD
+0x02 USER_ACKPAYLOAD
+
+0xcf CMD_OTA
+0xc0 CMD_OTA_START
+0xc1 CMD_OTA_DATA
+0xc2 CMD_OTA_EXIT
+0x55 OTA_STA_SUCCESS
+0xaa OTA_STA_FAIL
+)
+
+(
+0 TIMER_NAK
+640 TIMER_NAK_DELAY
+15 TIMER_WAKEUP
+5000 TIMER_WAKEUP_DELAY
+)
+
Index: YJX_Only24g/main/format/bt.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/bt.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/bt.format	(working copy)
@@ -0,0 +1,1026 @@
+
+	width = 32
+	const length = 12000
+
+	/* ========= memory ============== */
+memalloc(
+/* 00-0f most frequently used area  */
+1 mem_le_adv_transmit
+1 mem_le_adv_waitcnt
+1 mem_le_adv_rcv
+1 mem_le_req_rcv
+1 mem_le_scanrsp_rcv
+1 mem_le_conn_rcv
+
+1 mem_inquiryscan_waitcnt
+1 mem_inquiryscan_rcvcnt
+1 mem_pagescan_waitcnt
+1 mem_pagescan_rcvcnt
+1 mem_pagescan_rcvfhscnt
+1 mem_slave_rcvcnt
+1 mem_page_transmit
+1 mem_page_rcv
+1 mem_page_rcv_fhs
+1 mem_master_rcvcnt
+
+/* 10-1f debug area */
+1 mem_fhs_wait_counter
+1 mem_newconnto_counter
+1 mem_inquiry_transmit
+1 mem_inquiry_rcv
+1 mem_fw_ver
+1 mem_current_context
+1 mem_le_ch_mapped
+1 mem_last_freq
+1 mem_rssi
+1 mem_rx_type
+2 mem_rx_hec_err
+2 mem_rx_crc_err
+2 mem_context_ptr
+8 mem_display
+8 mem_bcd
+
+		/* context swappable area */
+1 mem_state
+1 mem_mode
+2 mem_tsniff
+4 mem_sniff_anchor
+6 mem_clk_offset
+2 mem_rx_window
+3 mem_plap
+1 mem_puap
+2 mem_pnap
+1 mem_conn_handle
+1 mem_arq
+1 mem_lmp_to_send
+1 mem_lmi_opcode
+1 mem_lmo_reason
+1 mem_op
+1 mem_state_map
+4 mem_supervision_timer
+2 mem_supervision_to
+1 mem_name_offset
+1 mem_key_size
+1 mem_conn_sm
+12 mem_aco
+16 mem_kc
+1 mem_conn_timer
+1 mem_sniff_attempt
+1 mem_sniff_timeout
+2 mem_dsniff
+1 mem_amaddr
+1 mem_lmo_opcode1
+1 mem_lmi_opcode1
+1 mem_lmo_reason1
+1 mem_lmo_tid1
+1 mem_lmo_opcode2
+1 mem_lmi_opcode2
+1 mem_lmo_reason2
+1 mem_lmo_tid2
+
+3 mem_hci_version
+2 mem_acl_pktlen
+1 mem_sco_pktlen
+2 mem_acl_pktcnt
+2 mem_sco_pktcnt
+
+1 mem_current_sniff_attempt
+1 mem_current_sniff_timeout
+1 mem_sniff_timeout_temp
+1 mem_nfreq_index_inq
+1 mem_nfreq_index_page
+1 mem_ninqy_index
+1 mem_fhs_misc
+
+
+
+/* lpo related */
+4 mem_subsniff_instant
+1 mem_subsniff_rate
+2 mem_subsniff_tcmax
+1 mem_subsniff_tsniff
+1 mem_lpm_adjust
+6 mem_sync_clke
+1 mem_lpm_current_mult
+4 mem_gpio_wakeup_low
+4 mem_gpio_wakeup_high
+	
+
+/* sco & esco */
+1 mem_air_mode
+1 mem_sco_asso_handle
+2 mem_sco_handle
+1 mem_esco_desco
+1 mem_esco_type
+1 mem_neogotiation_state
+1 mem_saved_amaddr
+1 mem_esco_arq
+1 mem_esco_saved_arq
+30 mem_sco_obuf
+30 mem_sco_ibuf
+1 mem_sco_poll
+
+
+
+//page
+1 mem_npage_index
+1 mem_page_mode
+4 mem_page_clk
+
+
+/* test related */
+2 mem_tst_pktcnt_sync
+2 mem_tst_pktcnt_hec
+2 mem_tst_pktcnt_crc
+2 mem_tst_pktcnt_dmh
+3 mem_tmp_buffer_head
+80 mem_tmp_buffer
+
+
+1 mem_tester_emulate
+0 mem_temp_payload
+1 test_mode_scenario
+1 test_mode_hopping_mode
+1 test_mode_tx_freq
+1 test_mode_rx_freq
+1 test_mode_power_mode
+1 test_mode_poll_period
+1 test_mode_packet_type
+2 test_mode_data_length
+1 mem_test_mode_old_debug_config
+1 mem_tester_cnt
+
+
+/*temp mem*/
+1 mem_temp_am_addr
+1 mem_temp_arq
+
+//
+2 mem_len
+4 mem_clkn_bt
+4 mem_clke_bt
+4 mem_dpll_clkn
+1 mem_connection_options
+
+1 mem_nameres_cnt
+2 mem_txptr
+2 mem_slot_offset
+
+//extm
+1 extm_fhs_misc
+1 extm_newconn_am_addr
+3 extm_class
+3 extm_lap
+1 extm_uap
+3 extm_nap
+
+
+//debug
+1 mem_debug_config
+1 mem_lch_code
+1 mem_fhs_am_addr
+2 mem_dpll_error
+1 mem_select_list_item
+0 mem_temp_reconn_record
+1 mem_record_bt_mode
+6 mem_temp_lap
+2 mem_list_item_ptr
+
+100 mem_eir
+)
+
+
+xmemalloc(
+/* patch enable 0x4000-0x403f  */
+
+1 mem_patch00
+1 mem_patch01
+1 mem_patch02
+1 mem_patch03
+1 mem_patch04
+1 mem_patch05
+1 mem_patch06
+1 mem_patch07
+1 mem_patch08
+1 mem_patch09
+1 mem_patch0a
+1 mem_patch0b
+1 mem_patch0c
+1 mem_patch0d
+1 mem_patch0e
+1 mem_patch0f
+1 mem_patch10
+1 mem_patch11
+1 mem_patch12
+1 mem_patch13
+1 mem_patch14
+1 mem_patch15
+1 mem_patch16
+1 mem_patch17
+1 mem_patch18
+1 mem_patch19
+1 mem_patch1a
+1 mem_patch1b
+1 mem_patch1c
+1 mem_patch1d
+1 mem_patch1e
+1 mem_patch1f
+1 mem_patch20
+1 mem_patch21
+1 mem_patch22
+1 mem_patch23
+1 mem_patch24
+1 mem_patch25
+1 mem_patch26
+1 mem_patch27
+1 mem_patch28
+1 mem_patch29
+1 mem_patch2a
+1 mem_patch2b
+1 mem_patch2c
+1 mem_patch2d
+1 mem_patch2e
+1 mem_patch2f
+1 mem_patch30
+1 mem_patch31
+1 mem_patch32
+1 mem_patch33
+1 mem_patch34
+1 mem_patch35
+1 mem_patch36
+1 mem_patch37
+1 mem_patch38
+1 mem_patch39
+1 mem_patch3a
+1 mem_patch3b
+1 mem_patch3c
+1 mem_patch3d
+1 mem_patch3e
+1 mem_patch3f
+
+	/* 3 device contexts  */
+80 mem_context
+1 mem_current_amaddr
+1 mem_lpm_mode
+1 mem_device_option
+1 mem_scan_mode
+4 mem_last_clkn
+
+	/* parameters */
+8 mem_features
+3 mem_lap
+1 mem_uap
+2 mem_nap
+1 mem_npage
+3 mem_glap
+3 mem_class
+2 mem_iscan_window
+2 mem_iscan_interval
+2 mem_pscan_window
+2 mem_pscan_interval
+2 mem_page_interval
+2 mem_page_window
+2 mem_page_to
+2 mem_inq_window
+1 mem_fcomp_mul
+1 mem_fcomp_div
+2 mem_rx_window_init
+2 mem_rx_window_sniff
+2 mem_rf_init_ptr
+
+	/* connection related */
+1 mem_last_type
+1 mem_last_type_esco
+1 mem_last_type_saved
+2 mem_retransmission_cnt
+4 mem_next_btclk
+
+1 mem_rf_rccal
+1 mem_handle_num
+1 mem_max_slot
+1 mem_eir_enable
+
+/* AFH related */
+4 mem_afh_instant
+2 mem_afh_error_total
+1 mem_afh_cfg
+1 mem_afh_new_mod
+5 mem_afh_map_lo
+5 mem_afh_map_hi
+1 mem_afh_used
+2 mem_afh_index
+11 mem_afh_map_new
+80 mem_afh_map
+4 mem_afh_timer
+10 mem_afh_classify_channel_map
+
+
+	/* lpm related */
+2 mem_chip_functions
+2 mem_lpm_wake_lock
+2 mem_lpm_interval
+1 mem_lpm_overhead
+1 mem_lpm_hibernate_switch
+1 mem_esco_addr
+1 mem_sniff_unint_lost
+1 mem_ptt
+4 mem_sleep_counter   //should be 0x41fc in REVC
+4 mem_sleep_counter_all
+6 mem_sleep_clkn
+3 mem_sniff_rcv
+3 mem_sniff_lost
+3 mem_clks_per_lpo
+
+1 mem_lpm_mult
+1 mem_lpm_mult_timeout
+1 mem_lpm_mult_cnt
+
+/* 8139-813b lpm_ctrl[31:12] */
+3 mem_lpm_config				
+
+1 mem_lpm_xtalcnt
+1 mem_lpm_buckcnt
+1 mem_lpm_ldocnt
+1 mem_lpm_isogate
+1 mem_lpm_isogate_final
+16 mem_saved_gpio	// should be 0x421e in REVC
+3 mem_saved_gsel
+8 mem_saved_mark
+1 mem_saved_spidctrl
+2 mem_patch_ptr
+2 mem_patch_len
+
+32 mem_timers
+
+/*LINK KEY*/
+1 mem_link_key_exists
+16 mem_link_key
+
+
+/* HCI */
+1 mem_hci_cmd
+1 mem_hci_conn_handle
+3 mem_hci_plap
+1 mem_hci_puap
+2 mem_hci_pnap
+
+/*Peripherals*/
+1 mem_uartd_rxitems_got_data
+1 mem_uartd_rxitems_threshold
+2 mem_uartd_rx_timeout
+
+1 mem_loadcode_times
+
+1 mem_tx_lch
+2 mem_tx_len
+
+1 mem_tx_power
+
+1 mem_context_number
+
+1 mem_250k_freq_enable
+
+ifdef DEBUG_RF_INIT
+1 mem_rf_init_data
+endif
+)
+
+(//bluetooth tx power
+0 TX_POWER_0DB
+1 TX_POWER_3DB
+2 TX_POWER_5DB
+3 TX_POWER_f3DB
+4 TX_POWER_f5DB
+
+0x20 TX_POWER_PAIR
+)
+
+
+ifdef RAM_VERSION
+0x4b17 rom_lpm_sleep
+0x4b1d rom_lpm_enter_sleep
+0x4b16 rom_lpm_write_ctrl
+0x6b1a rom_otpd_read_data
+0x6ada rom_otp_write
+else
+0x3b17 rom_lpm_sleep
+0x59e0 rom_save_ucode
+
+0x4219 rom_mem_lpm_xtalcnt
+0x423b rom_mem_patch_ptr
+0x423d rom_mem_patch_len
+
+0x5b1a rom_otpd_read_data
+0x5ada rom_otp_write
+endif
+	/* context */
+(
+0x01 coffset_mode
+0x02 coffset_tsniff
+0x04 coffset_sniff_anchor
+0x08 coffset_clk_offset
+0x0e coffset_rx_window
+0x10 coffset_plap
+0x16 coffset_conn_handle
+0x17 coffset_arq
+	/* 3.0 only */
+0x18 coffset_lmp_to_send
+0x1b coffset_op
+0x1c coffset_state_map
+	/* le only */
+0x18 coffset_le_ch
+0x19 coffset_le_hop
+0x1a coffset_le_event_cnt
+
+80 context_size
+1 context_num
+)
+
+(
+0 lpm_flag_wake
+1 lpm_flag_loadcode
+)
+
+/* ========= parameters ============== */
+(
+0x0050 param_newconn_arq
+0x0007 param_esco_addr
+0x0010 param_conn_handle
+0x01f0 param_conn_handle_comp
+0x0020 param_newconnto
+0x0008 param_pagerespto
+0x0a00 param_snooze_setup_orig
+0x5353 param_snooze_ahead_orig
+0x00ff param_ninquiry
+0x2000 param_page_to
+0x0005 param_max_slot
+0x0010 param_sco_poll
+
+/* 24Mhz clock setting */
+ifdef CLK24M
+0x1c86 param_tx_setup
+0x0c00 param_rf_setup
+0x0c00 param_conn_access 
+0x1a00 param_rx_setup
+0x0776 param_clke_cal
+0x0a00 param_pll_setup
+4000 param_dpll_start_delay
+else
+/* 12Mhz clock setting */
+0x0e43 param_tx_setup
+0x0600 param_rf_setup
+0x0600 param_conn_access 
+0x03bb param_clke_cal
+0x0500 param_pll_setup		// 120 is minimum
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+endif
+
+110 param_lpm_fix
+10 param_lpo_extra
+200 param_lpm_adjmax
+
+ifdef SIM
+20 param_hibernate_clks
+3 param_chgpump_delay
+else
+-1 param_hibernate_clks
+3000 param_chgpump_delay
+endif
+
+3 param_featrue_ssp
+0x0101 param_lmpext_ssp_enable
+339 param_acl_pktlen
+30   param_sco_pktlen
+1     param_acl_pktcnt		/*buffer acl pkt cnt*/
+7     param_sco_pktcnt
+
+
+0x8fffff param_features0
+0x9d83fe param_features1  // not support afh
+0x8359     param_features2
+0x000033 param_unap
+0x001177 param_lap
+0x9e8b33 param_glap
+0x002540 param_class//0x180208 //0x002580//402500//240404
+0x12e904 param_hci_version
+0x000a04 param_lmp_version//0x0a04
+0x000a06 param_lmp_version0
+0x12e9 param_lmp_subversion
+0x0012 param_tisw
+0x0012 param_tpsw
+0x1000 param_tisi
+0x0800 param_tpsi
+0x0020 param_page_window
+0x0020 param_inq_window
+0x1c80 param_supervision_to
+39 param_fcomp_div
+2 param_fcomp_mul
+6     param_name_len
+0x535442 param_name
+0x344950 param_name1
+
+
+)
+
+/* ======= packet types  ========= */
+(
+0x0      type_null    
+0x1      type_poll   
+0x2      type_fhs    
+0x3      type_dm1    
+0x4      type_dh1    
+0x5      type_hv1    
+0x6      type_hv2    
+0x7      type_hv3    
+0x8      type_3dh1     
+0x9      type_aux1   
+0xa      type_dm3    
+0xb      type_dh3    
+0xe      type_dm5    
+0xf      type_dh5    
+0x10     type_id
+0x11     type_shutdown
+0x13     type_lmp
+)
+
+/* ========== flag[6] =============== */
+(
+0        always        /* always 1 */
+1        true          /* set/rstn by verify,compare,icompare (true) */
+2        positive      /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output >= 0 */
+3        timeout       /* read only, the timeout from timers */
+5        zero          /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output == 0 */
+6        crc_failed    /* level, cleared by hop_start */
+7        enable_white  /* outside mux decide whether to load bt_clk or response_X */
+8        enable_parity /* level */
+9        enable_crc    /* level */
+10       enable_hec    /* level */
+11       decode_fec1   /* level */
+12       decode_fec2   /* level */
+13       decode_fec0   /* level */
+14       encrypt       /* level */
+15       crc16       /* for caculate ccitt crc16 */
+16       swfine	/* =0 stop_watch count based on oneslot =1 on 1 clock */
+20       rqst_freq    /* pulse, to start calculating frequency */
+21       recalc        /* pulse, to recalculate the fhs_parity */
+22       init_encrypt  /* pulse, issued to initialize encrption */
+23       mhalfbnd    /* half slot boundary of clke_rt, or when clke_bt[0] toggles */
+24       sync          /* sync found as a result of correlation,set/rstn by correlate opcode */
+25       user10    /* user10 */
+26       kc_p_activate  /* pulse to recalc the kc_p */
+27       encode_fec1   /* level */
+28       encode_fec2   /* level */
+29       encode_fec0   /* level */
+30       packet_end    /* pulse */
+32       is_tx         /* level */
+33       is_rx         /* level */
+34       halfslot     /* pulse, read only, when clkn_bt[0] toggles */
+35       oneslot      /* pulse, read only, when clkn_bt[1] toggles */
+36       mslotbnd     /* pulse, read only, when clke_bt[1] toggles */
+37       expire       /* level, read only, when selected clock source exceed timeup value */
+38       meet         /* level, read only, when selected clock source meet timeup value */
+39       tx_clear     /* level, read only, indicate tx pipe is cleared */
+40       user         /* user0 */
+41       master        /* user1 */
+42       slave2         /* user2 */
+43       wake           /* user3 */
+44       user2        /* user4 */
+45       match         /* user5 */
+46       attempt        /* user6 */
+47       user3          /* user7 */
+48       clknt         /* user8 */
+49	   user7 	/* user9 */
+50       synchronize   /* synchronize lpo and regular version of the clock */
+51       lpo_edge  /* read only, 3 clocks after risling edge of lpo clock */
+52       blank         /* C0 only, means pdata == 0 */
+53       modone          /* set divide operation is done */
+54       le		/* bluetooth 4.0 LE enable */
+55       aes_ready	/* set when aes is ok */
+63       never         /* read only, always 0 */
+)
+
+default flag = always
+
+/* ========== reg[6] =============== */
+(
+0        mark   /* for keeping strobes, more permanent */
+1        type   /* save and verify during rx */     /* rw */
+2        temp   /* general purpose register, 64 bits */
+3        contru  /* contr uart */
+4        am_addr      /* verify during rx, read and send during tx */ /* ro */
+5        contw        /* last mem_addr during write */
+6        contr        /* last mem_addr during read */
+7        queue    /* the index of qset*,qisolate* commands, ie, if queue = 3, qset/qisolate operate on bit3 */
+8        debug    /* can be wired out for observation */
+9        access   /* the 72 bit access word */
+10       contwu   /* contw uart */
+11       timeup        /* when does certain counter expire */
+12       pwindow       /* bit 71-61 of pdata; because on rx, bits shifts in from 71 down */
+13       fhs_parity    /* re-gernated based on bt_adr( {nap,uap,lap} ) when recalc flag is pulsed */
+14       white_init    /* init value of the whitening */
+15       crc24_init        /* init crc24 lfsr, 24 bits */
+16       interrupts    /* set interrupts, 40 bits */
+17       rega          /* general purpose register, 32 bits */
+18       regb          /* general purpose register, 32 bits */
+19       regc          /* general purpose register, 17 bits */
+20       regab         /* concat of {rega,regb}, thus 64 bits */
+21       radio_ctrl   /* radio i/f direct i/o ctrl, check following "radio_ctrl" section */
+21       ctrl_reg     /* 2023 and after */
+22       jtag_addr    /* load jtag address field, lsb */
+23       freq_index   /* 7 bit read only */
+24       jtag_data    /* wdata to and rdata from jtag */
+25       clkn              /* {clkn_bt, clkn_rt} */
+26       clke              /* {clke_bt, clke_rt} */
+27       stop_watch
+28       fhs_misc   /* SR, SP, pscan mode */
+29       fhs_class  /* class field in fhs */
+30       fhs0   /* read only, bit 0-71 of fhs word */
+31       fhs1   /* read only, bit 72-142 of fhs word */
+32       bt_adr /* r/w, the bt_addr to access gen and freq hopping, contain only lap and uap */
+33       bt_clk /* r/w, the bt_clk for freq hopping */
+34       clkn_bt  /* read only, native bluetooth clock, free running 3.2KHz  or controlled by RTHALFSLOT register */
+35       clkn_rt  /* read only, native realtime clock, free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+36       freq_mode
+/* wire even_train    = freq_mode[4];    // odd even train                            */
+/* wire conn_mode     = 3;    // connection                                           */
+/* wire iqpgscan_mode = 2;    // slave in inquiry and page (not response)             */
+/* wire iqpgresp_mode = 1;    // slave in inquriy and page (response only)            */
+/* wire inqypage_mode = 0;    // master in inquiry and page(response or not response) */
+37       xin   /* x parameter, read only */
+38       N_tx_slot /* the N factor in equations for Xi,Xp,Xprm,Xprs */
+39 	   auxcnt
+40       clke_bt  /* r/w,  external bluetooth clock , free running 3.2KHz or controlled by RTHALFSLOT register */
+41       clke_rt  /* r/w,  external realtime clock, , free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+43       host_mode         /* generic stuff for kick starts */
+44       lap
+45       uap
+46       nap         
+47       regext		/* r/w extended 12x32bit registers,  indexed by regext_index */
+48       alarm             /* r/w, lpo wake up time, this is also how lpo and current clock keep sync */
+49       lpo_time          /* read only, this is the value to be copied back to clkn/clke after wakeup */
+50       kc_ls             /* secret key,                71: 0 */
+51       kc_ms             /* secret key,               127:72 */
+52       g1l               /* encryption length                */
+53		mask3ff		/* for mask 0x3ff operation */
+54       aes_ctrl		
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+61         pc /* direct goto */
+62       null              /* to nowhere */
+63       pdata /* the shift register */
+)
+default reg = pdata
+
+/* regext_index */
+(
+0 regidx_data
+4 regidx_key
+8 regidx_xor
+12 regidx_result
+)
+/* ========== radio_ctrl========= */
+(
+0 TXGFSK
+1 PSK
+2 PSK3M
+3 RESET
+)
+/* assign BPWR = radio_ctrl[0]; */
+/* assign PARAMP = radio_ctrl[1]; */
+/* assign XTALPU = radio_ctrl[2]; */
+/* assign SYNTHPU = radio_ctrl[3]; */
+/* assign TXPU = radio_ctrl[4]; */
+/* assign RXPU = radio_ctrl[5]; */
+/* assign SLCTRL = radio_ctrl[6]; */
+/* assign XTALSEL_MUX_SEL = radio_ctrl[7] */
+
+
+/* =========== destination[4] ============== */
+(
+0 bucket
+1 rxf
+2 back
+3 mod
+)
+default dest = bucket
+
+/* =========== source[4] ============= */
+(
+1 txf
+3 demod
+)
+default source = 0
+
+
+/* ============== mark ============= *//*0 - 47 */
+(
+
+0  mark_fhs_eir  
+1  mark_rxbuf_inuse
+2  mark_tx_l2cap
+3  mark_switch_initiated
+4  mark_accept_switch
+5  mark_loopback
+7  mark_esco
+8  mark_esco_rxok
+9  mark_context
+10 mark_am_addr_broadcast
+11 mark_fhs_already_good
+12 mark_page_trainb
+13 mark_lpm_mult_enable
+14 mark_usb_flag
+15 mark_old_packet
+16 mark_longpacket
+17 mark_testmode
+18 mark_ar2
+19 mark_h5tx_rp
+20 mark_h5tx_crc	
+21 mark_h5tx_retransmit
+22 mark_h5rx_pstart
+23 mark_h5_sync
+24 mark_h5_reinit
+28 mark_inquiry_on
+29 mark_inquiry_state
+30 mark_inquiry_trainb
+31 mark_periodical_diac
+32 mark_all_diac
+33 mark_slave_in_rand_accepted
+34 mark_reconn_recieve_switch
+35 mark_isstr
+36 mark_loadcode
+37 mark_ext_patch
+38 mark_24g
+39 mark_24g_conext
+40 mark_eeprom_size
+// REVAB:max 35, REVC:max 63
+41 mark_ble_tx_md
+42 mark_ble_rx_md
+43 mark_otp_encrypt
+44 mark_first_packet
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer 可扩展
+12  ui_led_blink1
+13 ui_led_blink2
+ 
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+
+3 wake_lock_key_press
+4 wake_lock_ble_tx_patch
+5 wake_lock_uart_tx
+6 wake_lock_uart_rx
+7 wake_lock_button
+8 wake_lock_cmd
+9 wake_lock_app
+10 wake_lock_lmp_tx
+11 wake_lock_lmp_rx
+12 wake_lock_l2cap_tx
+13 wake_lock_l2cap_rx
+14 wake_lock_ipc_c512bt
+15 wake_lock_ipc_bt2c51
+
+)
+
+(
+0 bt_disabled
+1 ble_disabled
+2 module_disable
+
+)
+
+(
+0x33  REC_3_MODE
+0x34  REC_4_MODE
+0x35  REC_4_MODE_STATIC_ADDRESS
+0x36  REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS
+0x37  REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS
+)
+
+
+//sniff UART_TX UART_RX
+(
+6 UART_WAKEUP_TX
+7 UART_WAKEUP_RX
+)
+
+
Index: YJX_Only24g/main/format/command.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/command.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/command.format	(working copy)
@@ -0,0 +1,1384 @@
+
+/* Parse Command:
+TX: take bits from tx fifo, jam it into shift and a destination (rf,bucket)
+RX: take bits from demod,  jam it into shift and a destination (acl,sco,bucket) */
+
+/* Inject Command:
+TX: 0 into shift, send tail of shift into a destination (rf,bucket)
+RX: 0 into shift, send tail of shift into a destination (acl,sco,bucket) */
+
+format
+  ! 15 romdat
+  % d0
+  % d1
+  % d2
+  % d3
+  [8] d0
+  [8] d1
+  [8] d2
+  [8] d3
+end
+
+format
+  ! 15 enable   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+ /* High 5 bytes of channel map */
+format
+  ! 15 pulse   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 disable   /* set flag to 0 */
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 set0  /* set selected bit of reg to 0 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 set1  /* set selected bit of reg to 1 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9          /* alu op demux */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflag  /* set selected bit of the reg to the polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 nsetflag  /* set the selected bit of the reg to the opposite polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflip    /* invert the selected bit of the reg */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 10            /* this is alu op */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 0x1f qset1      /* demux the lowest 4 bit of queue and OR it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 1 */
+  [5] opcode
+  [6] 9
+  [6] always
+  [6] reg
+  [9] 0
+end
+  
+format
+  ! 0x1f qset0      /* demux the lowest 4 bit of queue and AND it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 0 */
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f qsetflag   /* set the bit in reg index by queue to same as flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f nqsetflag   /* set the bit in the reg index by queue to opposite of flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 0x1f qsetflip      /* flip the bit in reg index by queue */
+  % reg
+  [5] opcode
+  [6] 10
+  [6] always
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 1 parse       /* take bits out of source (sco_tx,tx_buffer,rx-elas) into pdata and dest (sco_rx,rx_fifo,tx-elas) */
+  % source
+  % dest
+  % immediate
+  [5] opcode
+  [4] source      /* voice, data, demod */
+  [2] 0
+  [6] 0    
+  [2] 0           /* parse or inject */ 
+  [4] dest        /* acl, sco, mod, bucket */
+  [9] immediate   /* number of bits to parse off */
+end
+
+format
+  ! 1 inject      /* shift data from pdata into destination (tx-elas,rx_fifo,sco_rx) */
+  % destination
+  % immediate
+  [5] opcode
+  [4] 0
+  [2] 0
+  [6] 1
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] immediate   /* number of bits to be injected */
+end
+
+format
+  ! 1 iinject
+  % destination
+  % regr
+  [5] opcode
+  [6] regr       /* contain the number of bits to inject */
+  [6] 3
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] 0 
+end
+
+format
+  ! 1 stuff  /* automatic parse, stuff_counter decrement on every bit until hits zero */
+  % source
+  % destination
+  [5] opcode
+  [4] source
+  [2] 0
+  [6] 2
+  [2] 0
+  [4] destination
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 force
+  % immediate
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] immediate
+end
+
+format    /* force whatever is on shift_reg to regsiters */
+  ! 0x13 iforce
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 increase
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 1    /* alu operation add */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 pincrease
+  % immediate
+  [5] opcode
+  [6] -1  /* pdata */
+  [6] 1   /* alu add */
+  [6] -1  /* back to pdata */
+  [9] immediate
+end
+
+format    /* force immediate value into registers */
+  ! 3 and_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 and
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] immediate
+end
+  
+format
+  ! 0x13 iand    /* pdata & regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] 0
+end
+  
+
+format    /* and whatever is in shiftreg with reg */
+  ! 0x13 iand_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 or_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 or
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 ior
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 ior_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 skip_to   /* jump to location stored in reg */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] rom_addr
+  [9] 0
+end
+
+format
+  ! 3 copy
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 4   /* alu operation copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 deposit   /* copy the register content thru alu to shift register, not prealigned like preload */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] -1  /* pdata */
+  [9] 0
+end
+
+format
+  ! 3 icopy     /* copy the shift register lsb content directly to register, not aligned */
+  % regw
+  [5] opcode
+  [6] -1  /* pdata */
+  [6]  4  /* alu copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 add
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 iadd       /* regr + pdata -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 sub          /* immediate - regr -> regw */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 isub       /* pdata - regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 flip
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 iflip  /* use shift register as immediate to do xor */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 xor
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 3 xor_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 ixor  /* pdata xor regr and store result in regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 invert
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 8
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 pinvert    /* invert pdata into itself */
+  [5] opcode
+  [6] -1
+  [6] 8
+  [6] -1
+  [9] 0
+end
+
+format
+  ! 3 div                 /* regr div immediate div */
+  % reg
+  % immediate
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 idiv           /* pdata div regr data ready at most after 41 nops */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 remainder            /* harvest div remainder */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 14
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 quotient             /* harvest div quotient */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 15
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 6
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 22
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 18
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 35
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 25
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 34
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift32
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 30
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 7
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 23
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 26
+  [6] regw
+  [9] 0
+end
+
+  
+format
+  ! 3 lshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 19
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 36
+  [6] regw
+  [9] 0
+end
+  
+
+format
+  ! 3 lshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 32
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 random               /* random number into regw */
+  % reg
+  [5] opcode
+  [6] 0
+  [6] 20
+  [6] reg
+  [9] 0
+end
+
+format                     /* bit reverse within a byte */
+  ! 3 reverse
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 27
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 priority    /* priority encode reg into regw, lsb is the top priority, ie, priority(8'b00010000) = 4 */
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 21
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 7 setsect   /* set a section of pdata */
+  % section    /* 0 sets 17:0 of pdata with set_data, 1 sets 35:18, 2 sets 53:36, 3 sets 71:54 */
+  % set_data
+  [5] opcode
+  [7] 0
+  [2] section
+  [18] set_data
+end
+
+format
+  ! 10 preload   /* load stuff into pdata according to fhs format, check us.v */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 0
+  [6] -1
+  [9] 0
+end
+
+format  /* load register with pdata content, according to fhs format, check us.v */
+  ! 10 ialigned   /* all bits are in position */
+  % regw
+  [5] opcode
+  [6] -1
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format  /* load register to another according to fhs format */
+  ! 10 aligned
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 4 branch
+  % addr
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 call
+  % addr
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 rtn
+  % flag
+  [5] opcode
+  [6] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 0x0c store          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istore        /* write to memory, data from pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] addr
+end
+
+format
+  ! 0x1d icrc         /* read from memory, address from reg, count from loopcnt, put crc result into pdata */
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] 0
+end
+
+
+format
+  ! 0x1d ifetch         /* read from memory, data into pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0c storet          /* write to memory, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istoret        /* write to memory, data from temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetcht          /* read from memory, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetcht         /* read from memory, data into temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [16] addr
+  [8] immediate
+end
+
+format			/* 0x242... */
+  ! 4 nbranch
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 ncall
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 nrtn
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 4 nop
+  % addr  /* no-op for addr+2 clocks */
+  [5] opcode
+  [6] 0     
+  [6] 0     /* always */ 
+  [15] addr
+end
+
+format
+  ! 4 clear_stack
+  [5] opcode
+  [6] 4
+  [6] 0    /* always */
+  [15] 0
+end
+
+format
+  ! 6 until
+  % reg
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 1
+  [9] 0
+end
+  
+format
+  ! 6 correlate   /* quit if 1. flag is true 2, regr time up 3, found sync,(cond_true) */
+  % reg          /* expire counter to check against */
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 2           /* correlate */
+  [9] 0           
+end
+
+format
+  ! 5 compare   /* sets cond flag,  if reg equals immediate */
+  % immediate
+  % reg
+  % mask
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] immediate
+end
+
+format
+  ! 0x15 icompare   /* sets cond flag,  if reg equals pdata */
+  % mask
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] 0
+end
+
+format   /* sets cond. flag, if reg equals LS half of shift reg with MS half of reg being mask */
+  ! 5 iverify
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 2
+  [18] 0
+end
+
+format
+  ! 0x15 qisolate1
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] -1
+end
+
+format
+  ! 0x15 qisolate0
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] 0
+end
+
+	/* REVAB bug: cannot access bit above 35 */
+format
+  ! 5 isolate1
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] -1
+  [9] addr
+end
+
+format
+  ! 5 isolate0
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] 0
+  [9] addr
+end
+
+format
+  ! 11 setarg
+  % immediate
+  [5] opcode
+  [27] immediate
+end
+
+format
+  ! 0x1b arg
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [21] immediate
+end
+
+  
+format
+  ! 0 sleep
+  [5] opcode
+  [27] 0
+end
+
+format
+  ! 0 snooze
+  [5] opcode
+  [6] -1
+  [21] 0
+end
+
+format
+  ! 0 revision
+  % rev_num
+  [5] opcode
+  [27] rev_num
+end
+
+format
+  ! 0x18 loop   /* branch when loopcnt is NOT zero, and decrease loopcnt */
+  % addr
+  [5] opcode
+  [4] 4
+  [8] 0
+  [15] addr
+end
+
+format
+  ! 0x18 beq   /* branch when pdata is equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 0
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bne   /* branch when pdata is NOT equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 1
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtneq   /* return when pdata is equal to immediate */
+  % imme
+  [5] opcode
+  [4] 2
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnne   /* return when pdata is NOT equal to immediate */
+  % imme
+  [5] opcode
+  [4] 3
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 bbit1   /* branch when pdata's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 5
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bbit0   /* branch when pdata's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 6
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnbit1   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 7
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnbit0   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 8
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 8	bpatch
+  % imme
+  % addr
+  [5] opcode
+  [4] 9
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 8	bpatchx
+  % imme
+  % addr
+  [5] opcode
+  [4] 14
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark1   /* branch when mark's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 10
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark0   /* branch when mark's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 11
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnmark1   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 12
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnmark0   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 13
+  [8] imme
+  [15] 0
+end
+
+
+format
+  ! 3 mult                  /* immediate mult regr */  /* the product will be ready 17 clks later */
+  % immediate                                   /* use "product" instruction to get the result */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 imult           /* pdata mult regr */  /* the product will be ready after 15 nops */
+  % reg                                         /* use product opcode to get the result */
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate mult pulse to multiplier */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 mul32                  /* immediate mult regr */ 
+  % regr
+  % immediate                                  
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31           
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 imul32           /* pdata mult regr 32x32=64bit */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31                   
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 product              /* harvest mult product */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 17
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 byteswap
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 33
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 shasx          /* SHA256 Sx operation, immediate is Sx */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 28
+  [6] regw
+  [9] immediate
+end
+
+
+format
+  ! 0x13 regexrot 	/* regext[0] <- regext[7], regext[1] <- regext[0], regext[2] <- regext[1] ... */
+  [5] opcode
+  [6] 0
+  [6] 29
+  [6] null
+  [9] 0
+end
+
Index: YJX_Only24g/main/format/g24.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/g24.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/g24.format	(working copy)
@@ -0,0 +1,460 @@
+
+cmemalloc 0 (
+34 mem_24g_rxbuf
+32 mem_24g_txbuf
+34 mem_24g_txpayload
+32 mem_24g_rxpayload
+1 mem_24g_rxdata_length
+1 mem_24g_pid
+1 mem_24g_datalen
+1 mem_24g_data_type
+1 mem_24g_txlen
+2 mem_24g_rx_window
+1 mem_24g_ensure
+2 mem_24g_txfail_cnt
+1 mem_24g_get_ack_fail
+1 mem_24g_retry
+1 mem_24g_ch
+1 mem_24g_current_ch_number
+4 mem_24g_paring_addr
+1 mem_24g_pairing_sm
+4 mem_24g_ch_map1
+4 mem_24g_ch_map2
+4 mem_24g_ch_map3
+4 mem_24g_ch_map4
+4 mem_24g_tx_btclk
+1 mem_24g_interval
+1 mem_24g_interval_min
+1 mem_24g_interval_max
+4 mem_24g_addr
+1 mem_24g_abort_pac
+2 mem_24g_check_dongle_times
+
+8 mem_24g_enter_hibernate
+4 mem_24g_device_addr
+1 mem_24g_pac_index
+1 mem_24g_no_ack
+3 mem_24g_sta_crc
+3 mem_24g_last_crc
+1 mem_24g_sta_pid
+1 mem_24g_last_pid
+1 mem_24g_max_retry
+1 mem_24g_mode
+
+34 mem_24g_rxdata_temp
+4 mem_24g_rx_addr
+1 mem_dongle_mode_init
+1 mem_dongle_work_mode
+1 mem_dongle_ms_bind_step
+1 mem_dongle_kb_bind_step
+1 mem_dongle_bind_device_status
+8 mem_24g_bind_payload
+1 mem_24g_abort_packet
+1 mem_24g_rf_laststa
+4 mem_24g_hop_btclk
+1 mem_24g_hop_interval
+1 mem_24g_mode_switch
+1 mem_24g_ackpayload_enable
+1 mem_24g_hop_packet
+1 mem_24g_pair_mode
+1 mem_24g_nodata_timer_enable
+1 mem_24g_time_slice
+8 mem_24g_kb_data_sta_data
+8 mem_24g_kb_data_last_data
+3 mem_24g_kb_multikey_sta_data
+3 mem_24g_kb_multikey_last_data
+1 mem_24g_kb_blank_data_enable
+1 mem_24g_kb_mul_blank_data_enable
+1 mem_24g_ms_blank_data_enable
+4 mem_24g_kb_addr
+4 mem_24g_ms_addr
+
+1 mem_24g_dg_last_ch
+1 mem_24g_dg_ch_number
+1 mem_24g_dg_config_ch_once
+1 mem_24g_kb_last_ch
+1 mem_24g_kb_ch_number
+1 mem_24g_kb_config_ch_once
+1 mem_24g_ms_last_ch
+1 mem_24g_ms_ch_number
+1 mem_24g_ms_config_ch_once
+
+2 mem_24g_syncword
+1 mem_24g_syncword_crc8
+1 mem_24g_get_syncword_crc8
+2 mem_24g_ota_sta_pid
+
+1 mem_tx_power_temp
+
+1 mem_rssi_hex
+1 mem_rssi_noise_avg
+1 mem_rssi_noise_index
+1 mem_rssi_signal_index
+1 mem_rssi_noise_dg_avg
+1 mem_rssi_noise_kb_avg
+1 mem_rssi_noise_ms_avg
+1 mem_rssi_noise_dg_index
+1 mem_rssi_noise_kb_index
+1 mem_rssi_noise_ms_index
+8 mem_rssi_signal_buf
+
+1 mem_queue_ele_num
+2 mem_queue_read
+2 mem_queue_write
+0 mem_queue_start
+32 mem_data_ele0
+32 mem_data_ele1
+32 mem_data_ele2
+0 mem_queue_end
+2 mem_queue_temp
+
+2 mem_cb_24g_data
+1 mem_24g_hop_fastly_cnt
+1 mem_24g_hop_pac_retry
+1 mem_24g_rf_hop_ch
+1 mem_24g_rf_last_sta
+1 mem_24g_rf_work_stage
+1 mem_24g_sync_cnt
+1 mem_power_ctrl_pac_succ_cnt
+1 mem_rssi_avg_received
+1 mem_rssi_hex_received
+1 mem_power_ctrl_level
+
+1 mem_seqi
+1 mem_24g_auto_paring_switch
+1 mem_24g_paccnt
+1 mem_24g_transmit_by_interrupt
+1 mem_24g_transmit_by_interrupt_exit_count
+)
+
+(
+//add
+0   offset_24g_rxbuf
+1   offset_24g_rxbuf_add1
+2   offset_24g_rxbuf_add2
+34  offset_24g_txbuf
+66  offset_24g_txpayload
+100 offset_24g_rxpayload
+102 offset_24g_rxpayload_add2
+132 offset_24g_rxdata_length
+133 offset_24g_pid
+134 offset_24g_datalen
+135 offset_24g_data_type
+136 offset_24g_txlen
+137 offset_24g_rx_window
+139 offset_24g_ensure
+140 offset_24g_txfail_cnt
+141 offset_24g_get_ack_fail
+142 offset_24g_tx_without_int
+143 offset_24g_retry
+144 offset_24g_ch
+145 offset_24g_current_ch_number
+146 offset_24g_paring_addr
+150 offset_24g_pairing_sm
+151 offset_24g_ch_map1
+155 offset_24g_ch_map2
+159 offset_24g_ch_map3
+163 offset_24g_ch_map4
+167 offset_24g_tx_btclk
+171 offset_24g_interval
+172 offset_24g_interval_min
+173 offset_24g_interval_max
+174 offset_24g_addr
+178 offset_24g_abort_pac
+179 offset_24g_sync_pac
+180 offset_24g_hop_pac
+181 offset_24g_check_dongle_times
+182 offset_24g_enter_hibernate
+190 offset_24g_device_addr
+194 offset_24g_pac_index
+195 offset_24g_no_ack
+196 offset_24g_sta_crc
+199 offset_24g_last_crc
+202 offset_24g_sta_pid
+203 offset_24g_last_pid
+204 offset_24g_max_retry
+205 offset_24g_mode
+206 offset_24g_rf_last_sta
+207 offset_24g_rf_hop_ch
+208 offset_24g_sync_cnt
+209 offset_24g_hop_pac_retry
+210 offset_24g_rf_work_stage
+211 offset_24g_hop_fastly_cnt
+212 offset_24g_short_sleep_timer
+216 offset_24g_cb_data
+218 offset_24g_cb_lpm_prepare
+220 offset_24g_cb_lpm_before
+222 offset_24g_cb_rxdata_type1
+224 offset_rssi_signal_index
+225 offset_rssi_signal_avg
+226 offset_rssi_signal_buf
+234 offset_rssi_noise_index
+235 offset_rssi_noise_avg
+236 offset_rssi_noise_buf
+244 offset_rssi_ctrl_threshold_down
+245 offset_rssi_noise_dg_index
+246 offset_rssi_noise_kb_index
+247 offset_rssi_noise_ms_index
+248 offset_rssi_noise_dg_avg
+249 offset_rssi_noise_kb_avg
+250 offset_rssi_noise_ms_avg
+251 offset_tx_power_temp
+252 offset_power_ctrl_packet_cnt
+253 offset_power_ctrl_ack_cnt
+254 offset_power_ctrl_level
+255 offset_power_ctrl_txpwr_level2
+//iadd
+256 offset_power_ctrl_txpwr_level1
+257 offset_power_ctrl_txpwr_level0
+258 offset_power_ctrl_threshold_up
+259 offset_power_ctrl_threshold_down
+260 offset_dongle_mode_init
+261 offset_dongle_work_mode
+262 offset_dongle_ms_bind_step
+263 offset_dongle_kb_bind_step
+264 offset_dongle_bind_device_status
+265 offset_24g_rxdata_temp
+267 offset_24g_rxdata_temp_add2
+268 offset_24g_rxdata_temp_add3
+269 offset_24g_rxdata_temp_add4
+299 offset_24g_rx_addr
+303 offset_24g_bind_payload
+304 offset_24g_bind_payload_add1
+305 offset_24g_bind_payload_add2
+309 offset_24g_rf_laststa
+310 offset_24g_hop_btclk
+314 offset_24g_hop_interval
+315 offset_24g_ackpayload_enable
+316 offset_24g_ackpayload
+348 offset_24g_mode_switch
+349 offset_24g_pair_mode
+350 offset_24g_nodata_timer_enable
+351 offset_24g_time_slice
+352 offset_24g_mouse_addr
+356 offset_24g_kb_addr
+360 offset_24g_kb_data_sta_data
+368 offset_24g_kb_data_last_data
+376 offset_24g_kb_multikey_sta_data
+379 offset_24g_kb_multikey_last_data
+382 offset_24g_kb_blank_data_enable
+383 offset_24g_kb_mul_blank_data_enable
+384 offset_24g_ms_blank_data_enable
+385 offset_24g_dg_last_ch
+386 offset_24g_dg_ch_number
+387 offset_24g_dg_config_ch_once
+388 offset_24g_kb_last_ch
+389 offset_24g_kb_ch_number
+390 offset_24g_kb_config_ch_once
+391 offset_24g_ms_last_ch
+392 offset_24g_ms_ch_number
+393 offset_24g_ms_config_ch_once
+394 offset_24g_pair_txpower
+395 offset_24g_auto_pair_switch
+)
+
+(
+3 QUEUE_ELE_COUNT
+32 QUEUE_ELE_LENGTH
+)
+
+(
+3 retry_24g
+1 NO_ACK_24G
+0 WITH_ACK_24G
+
+0 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+
+0x10 ABORT_DATA
+0x40 RSSI_SENSITIVITY
+
+0x4e G24_PAIR_CH
+)
+
+(
+0 disable_24g
+1 tx_24g
+2 rx_24g
+
+0 bit_ack_24g
+)
+
+//mem_24g_interrupt
+(
+0 rx_dr
+1 rx_sync
+4 tx_ds
+5 tx_fail
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+
+
+//mem_24g_pairing_sm
+(
+0 STATE_24G_PAIRING_NULL
+1 STATE_24G_PAIRING_1
+2 STATE_24G_PAIRING_2
+3 STATE_24G_PAIRING_3
+0X11 STATE_24G_PAIRING_1_WAITING_ACK
+0X12 STATE_24G_PAIRING_2_WAITING_ACK
+0X13 STATE_24G_PAIRING_3_WAITING_ACK
+0XFF STATE_24G_PAIRING_SUCCESS
+)
+
+(
+0 DONGLE_WORK	   		//connect mode normal
+1 DONGLE_BIND			//code pair mode
+2 DONGLE_TEST			//test mode
+3 DONGLE_CODE			//PC_application
+4 DONGLE_PCBA			//PCBA_TEST
+5 DONGLE_DEBUG
+6 DONGLE_MODE_MAX
+7 DONGLE_SEARCH
+0 CLEAR_INIT
+)
+
+(
+0x01 DATATYPE_MOUSE	//mouse
+0x02 DATATYPE_KEYBOARD	//keyboard
+0xAA DATATYPE_BIND		//bind step 1
+0x55 DATATYPE_CONFIG	//bind step 2
+0x22 DATATYPE_OK	//bind step 3
+
+0x01 BIND_MOUSE
+0x02 BIND_KEYBOARD
+)
+
+(
+112 G24_DONGLE_ADDR
+)
+
+(
+0xa0 COMMAND_MODE     //BYTE 0
+0X81 COM_MODE_BIND	//BYTE 1
+0X82 COM_MODE_TEST	//BYTE 1
+)
+(
+0xa1 COMMAND_BIND		//BYTE 0
+0X01 COM_BIND_GET		//1
+0X84 COM_BIND_EXIT		//1
+0XA7 COM_READ_MODE	//1
+)
+(
+0xa2 COMMAND_TEST	//BYTE 0
+0X81 COM_TEST_SC		//	进入单载波
+0x82 COM_TEST_CD		// fcc测试
+0x83 COM_TEST_DAT		// 数据测试
+0X84 COM_TEST_LOW_CH  //低频点
+0X85 COM_TEST_MID_CH	//中频点
+0X86 COM_TEST_HIG_CH	//高频点
+0X87 COM_TEST_SW_HIG	//自动切换频点为高 1mhz
+0X88 COIM_TEST_SW_LOW	//自动切换频点为低 1mhz
+0X89 COM_TEST_SW_STOP	//停止自动切换频点
+0X8A COM_TEST_POW_5		//设置输出功率5dbm
+0X8B COM_TEST_POW_0		//0dbm
+0X8C COM_TEST_POW_N5		//-5dbm
+0X8D COM_TEST_POW_N10		//-10dbm
+0X8E COM_TEST_EXIT			//退出测试模式
+)
+(
+0xa6 COMMAND_CURRENT_PROJECT
+0xa7 COMMAND_CURRENT_MODE
+0xa9 COMMAND_CURRENT_FW_VERSION
+)
+
+//user defined cmd
+(
+0xb0 COMMAND_USER_DEFINED
+)
+
+(
+0x15 PRODUCT_ID
+0 FW_VERSION0
+0 FW_VERSION1
+1 FW_VERSION2
+7 FW_VERSION3
+)
+
+
+(
+8 TIMER_NODATA
+640 TIMER_NODATA_DELAY	//200ms
+
+11 TIMER_MS_BLANK
+320 TIMER_MS_BLANK_DELAY
+
+12 TIMER_KB_MUL_BLANK
+320 TIMER_KB_MUL_BLANK_DELAY
+
+14 TIMER_KB_BLANK
+320 TIMER_KB_BLANK_DELAY
+)
+
+(
+0 KB_NORMAL_REPORT_ID
+1 MS_REPORT_ID
+3 KB_MULTIKEY_REPORT_ID
+)
+
+(
+7 RSSI_BUF_LEN_SIGNAL
+255 RSSI_BUF_LEN_NOISE
+0x50 RSSI_THRESH_NOISE
+
+0x77 RSSI_DIS_MIN_24G
+0x82 RSSI_DIS_MAX_24G
+
+0x75 RSSI_DIS_MIN_BLE
+0x80 RSSI_DIS_MAX_BLE
+)
+
+(
+//power control
+0x01 TXPWR_0DB
+0x02 TXPWR_3DB
+0x04 TXPWR_5DB
+0x10 TXPWR_f5DB
+
+124 POWER_CTRL_MAX_PACKET_CNT
+
+2 POWER_CTRL_LOSSPAC_THRESH_UP0
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN0
+0x20 POWER_CTRL_RSSI_THRESH_DOWN0
+
+5 POWER_CTRL_LOSSPAC_THRESH_UP1
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN1
+0x60 POWER_CTRL_RSSI_THRESH_DOWN1
+
+10 POWER_CTRL_LOSSPAC_THRESH_UP2
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN2
+0x80 POWER_CTRL_RSSI_THRESH_DOWN2
+)
+
+//mem_send_data_24g_short_lpm
+(
+0 SHORT_LPM_STATE_POLLING 	
+1 SHORT_LPM_STATE_DATA
+2 SHORT_LPM_STATE_NODATA
+3 SHORT_LPM_STATE_BUTTON_WHEEL
+)
+
+(
+81000 G24_8125_INTERVAL_PARAM
+78000 G24_78125_INTERVAL_PARAM
+)
+
+(
+1 G24_TX_TIMER_INT_ENABLE
+0 G24_TX_TIMER_INT_DISABLE
+)
+
Index: YJX_Only24g/main/format/hci.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/hci.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/hci.format	(working copy)
@@ -0,0 +1,570 @@
+
+
+memalloc(
+1 mem_h5rx_ackcnt
+1 mem_check_err_acl_cont
+
+1 mem_rp_packets
+2 mem_packet_type
+
+2 mem_hci_sniff_conn_handle
+2 mem_hci_sniff_max_interval
+2 mem_hci_sniff_min_interval
+2 mem_hci_sniff_attempt
+2 mem_hci_sniff_timeout
+2 mem_voice_setting
+1 mem_retransmission_effort
+2 mem_sco_ptype
+3 mem_extm_uap_restore
+
+2 mem_h5rx_rptr
+1 mem_h5rx_ack
+1 mem_h5tx_ack
+2 mem_h5tx_rptr
+2 mem_h5tx_wptr
+2 mem_h5tx_free
+1 mem_h5rx_tmp
+1 mem_h5tx_seq
+
+2 mem_hci_acl_queue_wptr
+2 mem_hci_acl_queue_rptr
+2 mem_hci_acl_queue_end
+1 mem_hci_acl_queue_wcnt
+1 mem_hci_acl_cnt
+
+2 mem_hci_acl_tx_trigger_wptr //tx via uart
+
+
+1 mem_hci_curr_len
+2 mem_hci_curr_target 
+) 
+
+xmemalloc(
+
+2 mem_baud
+1 mem_hci_lt_rx_state
+)
+
+15 hci_flag_rp
+//mem_hci_options bit map
+(
+1 hci_option_h4
+2 hci_option_protocol2
+3 hci_option_protocol3
+4 hci_option_uart
+5 hci_option_usb
+6 hci_option_phy2
+7 hci_option_phy3
+)
+// UART baud rate @6MHz
+(
+0 uart_ctrl_bit_enable
+3 uart_ctrl_bit_slip_protocol
+
+)
+
+//bit map of core_uart_ctrl
+(
+
+)
+//bit map of core_uart_status
+(
+0 uart_status_tx_fifo_full
+1 uart_status_tx_fifo_empty
+2 uart_status_tx_busy
+3 uart_status_rx_fifo_empty
+
+)
+//HCI H4 LOG related
+(
+0x4850 mem_hci_log
+8 hci_log_size
+100 hci_log_cnt
+
+)
+//HCI H4 Packet TYPE
+(
+0x01 HCI_H4_TYPE_CMD
+0x02 HCI_H4_TYPE_ACL
+0x04 HCI_H4_TYPE_EVENT
+
+)
+// HCI command opcode group field values
+(
+0x01 HCI_OGF_LINK_CONTROL
+0x02 HCI_OGF_LINK_POLICY
+0x03 HCI_OGF_BASEBAND
+0x04 HCI_OGF_INFO
+0x05 HCI_OGF_STATUS
+0x06 HCI_OGF_TEST
+0x08 HCI_OGF_LOW_ENERGY
+0x3e HCI_OGF_LOGO_TESTING
+0x3f HCI_OGF_VENDOR_SPECIFIC
+)
+
+// HCI link control opcode command field values, OGF=1
+(
+0x01 HCI_INQUIRY 
+0x02 HCI_INQUIRY_CANCEL 
+0x03 HCI_PERIODIC_INQUIRY_MODE 
+0x04 HCI_EXIT_PERIODIC_INQUIRY_MODE 
+0x05 HCI_CREATE_CONNECTION 
+0x06 HCI_DISCONNECT 
+0x07 HCI_ADD_SCO_CONNECTION 
+0x08 HCI_CREATE_CONNECTION_CANCEL
+0x09 HCI_ACCEPT_CONNECTION 
+0x0A HCI_REJECT_CONNECTION 
+0x0B HCI_LINK_KEY_REQUEST_REPLY 
+0x0C HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY 
+0x0D HCI_PIN_CODE_REQUEST_REPLY 
+0x0E HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY 
+0x0F HCI_CHANGE_CONNECTION_PACKET_TYPE 
+0x11 HCI_AUTHENTICATION_REQUESTED 
+0x13 HCI_SET_CONNECTION_ENCRYPTION 
+0x15 HCI_CHANGE_CONNECTION_LINK_KEY 
+0x17 HCI_MASTER_LINK_KEY 
+0x19 HCI_REMOTE_NAME_REQUEST 
+0x1A HCI_REMOTE_NAME_REQUEST_CANCEL
+0x1B HCI_READ_REMOTE_SUPPORTED_FEATURES 
+0x1C HCI_READ_REMOTE_EXT_FEATURES 
+0x1D HCI_READ_REMOTE_VERSION_INFORMATION 
+0x1F HCI_READ_CLOCK_OFFSET 
+0x20 HCI_READ_LMP_HANDLE
+0x28 HCI_SETUP_SCO_CONNECTION
+0x29 HCI_ACCEPT_SCO_CONNECTION
+0x2A HCI_REJECT_SCO_CONNECTION
+0x2B HCI_IO_CAP_REQUEST_REPLY
+0x2C HCI_USER_CONFIRMATION_REQUEST_REPLY
+0x2D HCI_USER_CONFIRMATION_REQUEST_NEGATIVE_REPLY
+0x2E HCI_USER_PASSKEY_REQUEST_REPLY
+0x2F HCI_USER_PASSKEY_REQUEST_NEGATIVE_REPLY
+0x30 HCI_REMOTE_OOB_DATA_REQUEST_REPLY
+0x33 HCI_REMOTE_OOB_DATA_REQUEST_NEGATIVE_REPLY
+0x34 HCI_IO_CAPABILITY_REQUEST_NEGATIVE_REPLY
+0x35 HCI_CREATE_PHYSICAL_LINK
+0x36 HCI_ACCEPT_PHYSICAL_LINK
+0x37 HCI_DISCONNECT_PHYSICAL_LINK
+0x38 HCI_CREATE_LOGICAL_LINK
+0x39 HCI_ACCEPT_LOGICAL_LINK
+0x3A HCI_DISCONNECT_LOGICAL_LINK
+0x3B HCI_LOGICAL_LINK_CANCEL
+0x3C HCI_FLOW_SPEC_MODIFY
+0x3D HCI_ENHANCED_SETUP_SYNCHRONOUS_CONNECTION
+0x3E HCI_ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST
+0x3F HCI_TRUNCATED_PAGE
+0x40 HCI_TRUNCATED_PAGE_CANCEL
+0x41 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST
+0x42 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x43 HCI_START_SYNCHRONIZATION_TRAIN
+0x44 HCI_RECEIVE_SYNCHRONIZATION_TRAIN
+0x45 HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY
+)
+
+
+// HCI link policy commands OCF value, OGF=2
+(
+0x01 HCI_HOLD_MODE 
+0x03 HCI_SNIFF_MODE 
+0x04 HCI_EXIT_SNIFF_MODE 
+0x05 HCI_PARK_MODE 
+0x06 HCI_EXIT_PARK_MODE 
+0x07 HCI_QOS_SETUP 
+0x09 HCI_ROLE_DISCOVERY 
+0x0B HCI_SWITCH_ROLE 
+0x0C HCI_READ_LINK_POLICY_SETTINGS 
+0x0D HCI_WRITE_LINK_POLICY_SETTINGS 
+0x0e HCI_READ_DEFAULT_LINK_POLICY_SETTINGS
+0x0f HCI_WRITE_DEFAULT_LINK_POLICY_SETTINGS
+0x10 HCI_FLOW_SPECIFICATION
+0x11 HCI_SNIFF_SUBRATING
+)
+
+// HCI host controller and baseband commands OCF values, OGF=3
+(
+0x01 HCI_SET_EVENT_MASK 
+0x03 HCI_RESET 
+0x05 HCI_SET_EVENT_FILTER 
+0x08 HCI_FLUSH 
+0x09 HCI_READ_PIN_TYPE 
+0x0A HCI_WRITE_PIN_TYPE 
+0x0B HCI_CREATE_NEW_UNIT_KEY 
+0x0D HCI_READ_STORED_LINK_KEY 
+0x11 HCI_WRITE_STORED_LINK_KEY 
+0x12 HCI_DELETE_STORED_LINK_KEY 
+0x13 HCI_WRITE_LOCAL_NAME 
+0x14 HCI_READ_LOCAL_NAME 
+0x15 HCI_READ_CONN_ACCEPT_TIMEOUT 
+0x16 HCI_WRITE_CONN_ACCEPT_TIMEOUT 
+0x17 HCI_READ_PAGE_TIMEOUT 
+0x18 HCI_WRITE_PAGE_TIMEOUT 
+0x19 HCI_READ_SCAN_ENABLE 
+0x1A HCI_WRITE_SCAN_ENABLE 
+0x1B HCI_READ_PAGE_SCAN_ACTIVITY 
+0x1C HCI_WRITE_PAGE_SCAN_ACTIVITY 
+0x1D HCI_READ_INQUIRY_SCAN_ACTIVITY 
+0x1E HCI_WRITE_INQUIRY_SCAN_ACTIVITY 
+0x1F HCI_READ_AUTHENTICATION_ENABLE 
+0x20 HCI_WRITE_AUTHENTICATION_ENABLE 
+0x21 HCI_READ_ENCRYPTION_MODE 
+0x22 HCI_WRITE_ENCRYPTION_MODE 
+0x23 HCI_READ_CLASS_OF_DEVICE 
+0x24 HCI_WRITE_CLASS_OF_DEVICE 
+0x25 HCI_READ_VOICE_SETTING 
+0x26 HCI_WRITE_VOICE_SETTING 
+0x27 HCI_READ_AUTOMATIC_FLUSH_TIMEOUT 
+0x28 HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT 
+0x29 HCI_READ_NUM_BROADCAST_RETRANSMISSIONS 
+0x2A HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS 
+0x2B HCI_READ_HOLD_MODE_ACTIVITY 
+0x2C HCI_WRITE_HOLD_MODE_ACTIVITY 
+0x2D HCI_READ_TRANSMIT_POWER_LEVEL 
+0x2E HCI_READ_SCO_FLOW_CONTROL_ENABLE 
+0x2F HCI_WRITE_SCO_FLOW_CONTROL_ENABLE 
+0x31 HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 
+0x33 HCI_HOST_BUFFER_SIZE 
+0x35 HCI_HOST_NUM_COMPLETED_PACKETS 
+0x36 HCI_READ_LINK_SUPERVISION_TIMEOUT 
+0x37 HCI_WRITE_LINK_SUPERVISION_TIMEOUT 
+0x38 HCI_READ_NUMBER_OF_SUPPORTED_IAC 
+0x39 HCI_READ_CURRENT_IAC_LAP 
+0x3A HCI_WRITE_CURRENT_IAC_LAP 
+0x3B HCI_READ_PAGE_SCAN_PERIOD_MODE 
+0x3C HCI_WRITE_PAGE_SCAN_PERIOD_MODE 
+0x3D HCI_READ_PAGE_SCAN_MODE 
+0x3E HCI_WRITE_PAGE_SCAN_MODE 
+0x3F HCI_SET_AFH_CHANNEL_CLASSIFICATION 
+
+
+0x42 HCI_READ_INQUIRY_SCAN_TYPE 
+0x43 HCI_WRITE_INQUIRY_SCAN_TYPE 
+0x44 HCI_READ_INQUIRY_MODE 
+0x45 HCI_WRITE_INQUIRY_MODE 
+0x46 HCI_READ_PAGE_SCAN_TYPE 
+0x47 HCI_WRITE_PAGE_SCAN_TYPE 
+
+0x48 HCI_READ_AFH_CHANNEL_ACCESSMENT_MODE 
+0x49 HCI_WRITE_AFH_CHANNEL_ACCESSMENT_MODE 
+0x51 HCI_READ_EXTENDED_INQUIRY_RESPONSE
+0x52 HCI_WRITE_EXTENDED_INQUIRY_RESPONSE
+0x53 HCI_REFRESH_ENCRYPTION_KEY
+0x55 HCI_READ_SIMPLE_PAIRING_MODE
+0x56 HCI_WRITE_SIMPLE_PAIRING_MODE
+0x57 HCI_READ_LOCAL_OOB_DATA
+0x58 HCI_READ_INQUIRY_RESPONSE_TRANSMIT_POWER_LEVEL
+0x59 HCI_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL
+0x60 HCI_SEND_KEYPRESS_NOTIFICATION
+0x5A HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5B HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5F HCI_ENHANCED_FLUSH
+0x61 HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x62 HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x63 HCI_SET_EVENT_MASK_PAGE_2
+0x64 HCI_READ_LOCATION_DATA
+0x65 HCI_WRITE_LOCATION_DATA
+0x66 HCI_READ_FLOW_CONTROL_MODE
+0x67 HCI_WRITE_FLOW_CONTROL_MODE
+0x68 HCI_READ_ENHANCE_TRANSMIT_POWER_LEVEL
+0x69 HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT
+0x6A HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT
+0x6B HCI_SHORT_RANGE_MODE
+0x6C HCI_READ_LE_HOST_SUPPORT
+0x6D HCI_WRITE_LE_HOST_SUPPORT
+0x6E HCI_SET_MWS_CHANNEL_PARAMETERS
+0x6F HCI_SET_EXTERNAL_FRAME_CONFIGURATION
+0x70 HCI_SET_MWS_SIGNALING
+0x71 HCI_SET_MWS_TRANSPORT_LAYER
+0x72 HCI_SET_MWS_SCAN_FREQUENCY_TABLE
+0x73 HCI_SET_MWS_PATTERN_CONFIGURATION
+0x74 HCI_SET_RESERVED_LT_ADDR
+0x75 HCI_DELETE_RESERVED_LT_ADDR
+0x76 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_DATA
+0x77 HCI_READ_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x78 HCI_WRITE_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x79 HCI_READ_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7A HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7B HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7C HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7D HCI_READ_LOCAL_OOB_EXTENDED_DATA
+0x7E HCI_READ_EXTENDED_PAGE_TIMEOUT
+0x7F HCI_WRITE_EXTENDED_PAGE_TIMEOUT
+0x80 HCI_READ_EXTENDED_INQUIRY_LENGTH
+0x81 HCI_WRITE_EXTENDED_INQUIRY_LENGTH
+)
+
+
+// HCI informational parameters OCF values, OGF=4
+(
+0x01 HCI_READ_LOCAL_VERSION_INFORMATION 
+0x02 HCI_READ_LOCAL_SUPPORTED_COMMANDS
+0x03 HCI_READ_LOCAL_SUPPORTED_FEATURES 
+0x04 HCI_READ_LOCAL_EXT_FEATURES 
+0x05 HCI_READ_BUFFER_SIZE 
+0x07 HCI_READ_COUNTRY_CODE 
+0x09 HCI_READ_BD_ADDR 
+0x0A HCI_REJECT_CONNECTION_REQUEST
+0x0B HCI_READ_LOCAL_SUPPORTED_CODECS
+)
+
+// HCI status parameters OCF values, OGF=5
+(
+0x01 HCI_READ_FAILED_CONTACT_COUNTER 
+0x02 HCI_RESET_FAILED_CONTACT_COUNTER 
+0x03 HCI_GET_LINK_QUALITY 
+0x05 HCI_READ_RSSI 
+0x06 HCI_READ_AFH_CHANNEL_MAP
+0x07 HCI_READ_BD_CLOCK
+0x08 HCI_READ_ENCRYPTION_KEY_SIZE
+0x09 HCI_READ_LOCAL_AMP_INFO
+0x0A HCI_READ_LOCAL_AMP_ASSOC
+0x0B HCI_WRITE_REMOTE_AMP_ASSOC
+0x0C HCI_GET_MWS_TRANSPORT_LAYER_CONFIGURATION
+0x0D HCI_SET_TRIGGERED_CLOCK_CAPTURE
+)
+
+// HCI testing command OCF values, OGF=6
+(
+0x01 HCI_READ_LOOPBACK_MODE 
+0x02 HCI_WRITE_LOOPBACK_MODE 
+0x03 HCI_ENABLE_DEVICE_UNDER_TEST_MODE 
+0x04 HCI_WRITE_SIMPLE_PAIRING_DEBUG_MODE
+0x07 HCI_ENABLE_AMP_RECEIVER_REPORTS
+0x08 HCI_AMP_TEST_END
+0x09 HCI_AMP_TEST
+0x0A HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE
+)
+
+// HCI vendor specific command OCF values -OGF=3F
+(
+0x01 HCI_WRITE_BD_ADDR 
+0x02 HCI_READ_INQUIRY_RESPONSE_TIMEOUT 
+0x03 HCI_WRITE_INQUIRY_RESPONSE_TIMEOUT 
+0x04 HCI_READ_PAGE_SCAN_REPETITION_MODE 
+0x05 HCI_WRITE_PAGE_SCAN_REPETITION_MODE 
+0x06 HCI_READ_PAGE_RESPONSE_TIMEOUT 
+0x07 HCI_WRITE_PAGE_RESPONSE_TIMEOUT 
+0x08 HCI_READ_NEW_CONNECTION_TIMEOUT 
+0x09 HCI_WRITE_NEW_CONNECTION_TIMEOUT 
+0x0a HCI_INITIALIZE_BASEBAND 
+0x0b HCI_WRITE_LOCAL_SUPPORTED_FEATURES 
+0x0c HCI_WRITE_PARK_PARAMETERS 
+0x0d HCI_READ_PARK_PARAMETERS 
+0x0e HCI_WRITE_QUALITY_OF_SERVICE 
+0x0f HCI_NOT_USED 
+0x10 HCI_MODIFY_BEACON_PARAMETERS 
+0x11 HCI_UNPARK_USING_PM_ADDR 
+0x12 HCI_WRITE_HOPPING_CHANNELS 
+0x13 HCI_SLEEP_FOREVER_MODE 
+0x14 HCI_WRITE_AUTO_PAGE_SCAN_ENABLE 
+0x15 HCI_READ_AUTO_PAGE_SCAN_ENABLE 
+0x16 HCI_SET_ENCRYPTION_KEY_SIZE 
+0x17 HCI_INVALIDATE_FLASH_AND_REBOOT 
+0x18 HCI_UPDATE_UART_BAUD_RATE 
+0x19 HCI_WRITE_GPIO_1_4_AS_OUTPUT 
+0x1A HCI_WRITE_GPIO_2_LED 
+0x1B HCI_SET_TESTMODE_TYPE 
+0x1C HCI_WRITE_SCO_PCM_INT_PARAM 
+0x1D HCI_READ_SCO_PCM_INT_PARAM 
+0x1E HCI_WRITE_PCM_DATA_FORMAT_PARAM 
+0x1F HCI_READ_PCM_DATA_FORMAT_PARAM 
+0x20 HCI_WRITE_COMFORT_NOISE_PARAM 
+0x21 HCI_READ_COMFORT_NOISE_PARAM 
+0x22 HCI_WRITE_SCO_TS 
+0x23 HCI_READ_SCO_TS 
+0x24 HCI_WRITE_PCM_LOOPBACK_MODE 
+0x25 HCI_READ_PCM_LOOPBACK_MODE 
+0x26 HCI_SET_TRANSMIT_POWER 
+0x27 HCI_SET_SLEEPMODE_PARAM 
+0x28 HCI_READ_SLEEPMODE_PARAM 
+0x29 HCI_SLEEPMODE_CMD 
+0x2A HCI_DELAY_PERIPHERAL_SCO_STARTUP 
+0x2B HCI_WRITE_RECEIVE_ONLY 
+0x2C HCI_WRITE_RATE_CONTROL 
+0x2D HCI_TX_UNMOD_CARRIER 
+0x2E HCI_DOWNLOAD_MINIDRIVER 
+0x2F HCI_CRYSTAL_PPM 
+0x30 HCI_SET_POWER_AMP_BIAS 
+0x31 HCI_SET_HAM_BEHAVIOR 
+0x32 HCI_SET_AFH_BEHAVIOR 
+0x33 HCI_READ_USER_DEFINED_NVRAM 
+0x34 HCI_ENABLE_RADIO 
+0x35 HCI_READ_DIAGNOSTIC_INFO 
+0x36 HCI_GET_HID_DEVICE_LIST 
+0x37 HCI_ADD_HID_DEVICE 
+0x38 HCI_READ_APP_FW_CONFIG_VERSION 
+0x39 HCI_DELETE_HID_DEVICE 
+0x3B HCI_ENABLE_USB_HID_EMULATION 
+// 0x3A available
+// 0x3B available
+0x3C HCI_SEND_LMPDU 
+0x3D HCI_AUTO_PAIR_REQ 
+0x3E HCI_READ_VS_EXTENSION 
+0x3F HCI_WRITE_VS_EXTENSION 
+
+0x77 HCI_OPCODE_FC77
+0x79 HCI_OPCODE_FC79
+0xC4 HCI_DOWNLOAD_PATCH
+0xCC HCI_OPCODE_FCCC
+
+0x00 HCI_VENDOR_CMD_RESET
+0x01 HCI_VENDOR_CMD_CHIPID
+0x02 HCI_VENDOR_CMD_BAUD
+0x03 HCI_VENDOR_CMD_PATCH
+0x04 HCI_VENDOR_CMD_PATCH_DONE
+0x05 HCI_VENDOR_CMD_ECHO
+0x06 HCI_VENDOR_CMD_BDADDR
+
+0x07 HCI_VENDOR_CMD_ENTER_LPM
+0x08 HCI_VENDOR_CMD_COMMU_READY
+
+0x10 HCI_VENDOR_CMD_MEM
+0x11 HCI_VENDOR_CMD_EEP
+
+0X12 HCI_VENDOR_CMD_PATCH_SEC_INIT
+0X13 HCI_VENDOR_CMD_PATCH_SEC
+)
+
+//HCI LE controller command OCF values, OGF=8
+(
+0x01 HCI_LE_SET_EVENT_MASK
+0x02 HCI_LE_READ_BUFFER_SIZE
+0x03 HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
+0x05 HCI_LE_SET_RANDOM_ADDRESS
+0x06 HCI_LE_SET_ADVERTISING_PARAMETERS
+0x07 HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER
+0x08 HCI_LE_SET_ADVERTISING_DATA
+0x09 HCI_LE_SET_SCAN_RESPONSE_DATA
+0x0A HCI_LE_SET_ADVERTISE_ENABLE
+0x0B HCI_LE_SET_SCAN_PARAMETERS
+0x0C HCI_LE_SET_SCAN_ENABLE
+0x0D HCI_LE_CREATE_CONNECTION
+0x0E HCI_LE_CREATE_CONNECTION_CANCEL
+0x0F HCI_LE_READ_WHITE_LIST_SIZE
+0x10 HCI_LE_CLEAR_WHITE_LIST
+0x11 HCI_LE_ADD_DEVICE_TO_WHITE_LIST
+0x12 HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST
+0x13 HCI_LE_CONNECTION_UPDATE
+0x14 HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
+0x15 HCI_LE_READ_CHANNEL_MAP
+0x16 HCI_LE_READ_REMOTE_USED_FEATURES
+0x17 HCI_LE_ENCRYPT
+0x18 HCI_LE_RAND
+0x19 HCI_LE_START_ENCRYPTION
+0x1A HCI_LE_LONG_TERM_KEY_REQUEST_REPLY
+0x1B HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY
+0x1C HCI_LE_READ_SUPPORTED_STATES
+0x1D HCI_LE_RECEIVER_TEST
+0x1E HCI_LE_TRANSMITTER_TEST
+0x1F HCI_LE_TEST_END
+0x20 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY
+0x21 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY
+)
+// HCI event code
+(
+0x01 HCI_EVENT_INQUIRY_COMPLETE
+0x02 HCI_EVENT_INQUIRY_RESULT
+0x03 HCI_EVENT_CONNECTION_COMPLETE
+0x04 HCI_EVENT_CONNECTION_REQUEST
+0x05 HCI_EVENT_DISCONNECTION_COMPLETE
+0x06 HCI_EVENT_AUTHENTICATION_COMPLETE
+0x07 HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
+0x08 HCI_EVENT_ENCRYPTION_CHANGE_COMPLETE
+0x09 HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
+0x0A HCI_EVENT_MASTER_LINK_KEY_COMPLETE
+0x0B HCI_EVENT_READ_REMOTE_FEATURES_COMPLETE
+0x0C HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
+0x0D HCI_EVENT_QOS_SETUP_COMPLETE
+0x0E HCI_EVENT_COMMAND_COMPLETE
+0x0F HCI_EVENT_COMMAND_STATUS
+0x10 HCI_EVENT_HARDWARE_ERROR
+0x11 HCI_EVENT_FLUSH_OCCURRED
+0x12 HCI_EVENT_ROLE_CHANGE
+0x13 HCI_EVENT_NUM_COMPLETED_PACKETS
+0x14 HCI_EVENT_MODE_CHANGE
+0x15 HCI_EVENT_RETURN_LINK_KEYS
+0x16 HCI_EVENT_PIN_CODE_REQUEST
+0x17 HCI_EVENT_LINK_KEY_REQUEST
+0x18 HCI_EVENT_LINK_KEY_NOTIFICATION
+0x19 HCI_EVENT_LOOPBACK_COMMAND
+0x1A HCI_EVENT_DATA_BUFFER_OVERFLOW
+0x1B HCI_EVENT_MAX_SLOTS_CHANGE
+0x1C HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
+0x1D HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
+0x1E HCI_EVENT_QOS_VIOLATION
+0x1F HCI_EVENT_PAGE_SCAN_MODE_CHANGE
+0x20 HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE
+0x21 HCI_EVENT_FLOW_SPECIFICATION_COMPLETE
+0x22 HCI_EVENT_INQUIRY_RESULT_WITHRSSI
+0x23 HCI_EVENT_READ_REMOTE_EXT_FEATURES_COMPLETE
+0x2C HCI_EVENT_SCO_CONNECTION_COMPLETE
+0x2D HCI_EVENT_SCO_CONNECTION_CHANGED
+0x2E HCI_EVENT_SNIFF_SUBRATING
+0x2F HCI_EVENT_EXT_INQUIRY_RESULT
+0x30 HCI_EVENT_ENCRYPT_KEY_REFRESH_COMPLETE
+0x31 HCI_EVENT_IO_CAP_REQ
+0x32 HCI_EVENT_IO_CAP_RESPONSE
+0x33 HCI_EVENT_USER_CONFIRMATION_REQUEST
+0x34 HCI_EVENT_UESR_PASSKEY_REQUEST
+0x35 HCI_EVENT_REMOTE_OOB_DATA_REQUEST
+0x36 HCI_EVENT_SIMPLE_PAIRING_COMPLETE
+0x38 HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED
+0x39 HCI_EVENT_ENHANCED_FLUSH_COMPLETE
+0x3B HCI_EVENT_USER_PASSKEY_NOTIFICATION
+0x3C HCI_EVENT_KEYPRESS_NOTIFICATION
+0x3D HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTIFICATION 
+0x3E HCI_EVENT_LE_META_EVENT
+0x40 HCI_EVENT_PHYSICAL_LINK_COMPLETE
+0x41 HCI_EVENT_CHANNEL_SELECTED
+0x42 HCI_EVENT_DISCONNECTION_PHYSICAL_LINK_COMPLETE
+0x43 HCI_EVENT_PHYSICAL_LINK_LOSS_EARLY_WARNING
+0x44 HCI_EVENT_PHYSICAL_LINK_RECOVERY
+0x45 HCI_EVENT_LOGICAL_LINK_COMPLETE
+0x46 HCI_EVENT_DISCONNECTION_LOGICAL_LINK_COMPLETE
+0x47 HCI_EVENT_FLOW_SPEC_MODIFY_COMPLETE
+0x48 HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS
+0x49 HCI_EVENT_AMP_START_TEST
+0x4A HCI_EVENT_AMP_TEST_END
+0x4B HCI_EVENT_AMP_RECEIVER_REPORT
+0x4C HCI_EVENT_SHORT_RANGE_MODE_CHANGE_COMPLETE
+0x4D HCI_EVENT_AMP_STATUS_CHANGE
+0x4E HCI_EVENT_TRIGGERED_CLOCK_CAPTURE
+0x4F HCI_EVENT_SYNCHRONIZATION_TRAIN_COMPLETE
+0x50 HCI_EVENT_SYNCHRONIZATION_TRAIN_RECEIVED
+0x51 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x52 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_TIMEOUT
+0x53 HCI_EVENT_TRUNCATED_PAGE_COMPLETE
+0x54 HCI_EVENT_SLAVE_PAGE_RESPONSE_TIMEOUT
+0x55 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_CHANNEL_MAP_CHANGE
+0x56 HCI_EVENT_INQUIRY_RESPONSE_NOTIFICATION
+0x57 HCI_EVENT_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED
+
+0xFE HCI_EVENT_LOGO_TESTING
+0xFF HCI_EVENT_VENDOR_SPECIFIC
+)
+(
+0x01 HCI_VENDOR_EVENT_COMMU_READY
+)
+//HCI LE SUBEVENT CODE
+(
+0x01 HCI_LE_SUBEVENT_CONN_COMPLETE
+0x02 HCI_LE_SUBEVENT_ADV_REPORT
+0x03 HCI_LE_SUBEVENT_CONN_UPDATE_COMPLETE
+0x04 HCI_LE_SUBEVENT_REMOTE_FEATURE_COMPLETE
+0x05 HCI_LE_SUBEVENT_LTK_REQUEST
+0x06 HCI_LE_SUBEVENT_REMOTE_CONN_PARAM_REQ
+)
+
+(
+0x00 HCI_LPM_OFF
+0x01 HCI_LPM_ON
+)
+
+
+(
+33 HOST_WAKE_TIME
+)
+
+(
+1 HCI_RX_WAKE
+0 HCI_RX_READY
+)
+
Index: YJX_Only24g/main/format/kscan_peipherals.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/kscan_peipherals.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/kscan_peipherals.format	(working copy)
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+//0 mem_kscan_head_ptr
+//1 mem_col_num
+//1 mem_row_num
+//4 mem_col_conf_pin
+//4 mem_row_conf_pin
+//1 mem_row_count
+//1 mem_count_shift
+//2 mem_kscan_value_temp
+//2 mem_kscan_lastvalue
+//2 mem_kscan_value
+//4 mem_btclk_kscan
+//1 mem_btclk_kscan_interval
+
+
+0x00 KEYSCAN_OFFECT_COL_NUM
+0x01 KEYSCAN_OFFECT_ROW_NUM
+0x02 KEYSCAN_OFFECT_COL_CONF_PIN
+0x06 KEYSCAN_OFFECT_ROW_CONF_PIN
+
+0x0a KEYSCAN_OFFECT_ROW_COUNT
+0x0b KEYSCAN_OFFECT_SHIFT_COUNT
+
+0X0C KEYSCAN_OFFECT_VALUE_TEMP
+0X0E KEYSCAN_OFFECT_LASVALUE
+0X10 KEYSCAN_OFFECT_VALUE
+0x12 KEYSCAN_OFFECT_BTCLK
+0x16 KEYSCAN_OFFECT_BTCLK_INTERVAL
+
+
Index: YJX_Only24g/main/format/l2cap.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/l2cap.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/l2cap.format	(working copy)
@@ -0,0 +1,442 @@
+
+memalloc(
+0 mem_l2cap_mem_start
+// L2CAP RX 
+2 mem_l2cap_rxbuff1_len
+2 mem_l2cap_rxbuff2_len
+2 mem_l2cap_rxbuff_new
+1 mem_l2cap_rxbuff_inuse
+2 mem_l2cap_payload_ptr
+2 mem_l2cap_rx_pkt_length
+2 mem_l2cap_rx_cid
+1 mem_l2cap_rx_done
+
+
+
+// L2CAP TX Signal channel
+2 mem_l2cap_signal_tx_buff_ptr
+2 mem_l2cap_signal_tx_payload_ptr
+2 mem_l2cap_signal_tx_length
+// L2CAP TX SDP channel
+2 mem_sdp_tx_buff_ptr
+2 mem_sdp_tx_payload_ptr
+2 mem_sdp_tx_pkt_length
+// L2CAP TX RFCOMM channel
+2 mem_rfcomm_tx_buff_ptr
+2 mem_rfcomm_tx_payload_ptr
+2 mem_rfcomm_tx_pkt_length
+
+
+
+//L2CAP Util
+
+2 memL2CAP_T1
+
+1 mem_CONTROL_tasks
+1 mem_send_config_req
+
+
+1 mem_config_identifier
+2 mem_config_req_dest_CID
+1 mem_rfcomm_malloc_fail_flag
+
+//L2CAP STATE MACHINE
+1 mem_message_to_uppersm
+1 mem_upper_sm_remote_page
+1 mem_upper_sm_reconn
+1 mem_upper_sm_ss
+
+
+64 mem_tx_malloc_log
+0 mem_l2cap_mem_end
+
+
+2 mem_scid
+2 mem_cmd_length
+2 mem_tt2
+2 mem_tt3
+2 mem_id
+2 mem_psm
+
+
+4 mem_l2cap_sdpres_delay_time
+)
+
+xmemalloc(
+0 mem_l2cap_xmem_start
+//*******************L2CAP TX MULTI-PACKET*********************//
+2 mem_l2cap_tx_multi_offset //0 means single packet
+
+//*******************CHANNEL ID*********************//
+2 mem_sdp_remote_cid
+2 mem_rfcomm_remote_cid
+2 mem_hid_ctrl_remote_cid
+2 mem_hid_int_remote_cid
+//*******************CHANNEL STATE*********************//
+1 mem_sdp_state
+1 mem_rfcomm_state
+1 mem_hid_control_state
+1 mem_hid_interrupt_state
+1 mem_spp_state
+1 mem_ML2CAP_comm_id
+
+//*******************L2CAP malloc********************//
+1 mem_used_map
+0 mem_tx_fifo0
+1 mem_tx_fifo0_map
+2 mem_tx_fifo0_ptr
+0 mem_tx_fifo1
+1 mem_tx_fifo1_map
+2 mem_tx_fifo1_ptr
+0 mem_tx_fifo2
+1 mem_tx_fifo2_map
+2 mem_tx_fifo2_ptr
+0 mem_tx_fifo3
+1 mem_tx_fifo3_map
+2 mem_tx_fifo3_ptr
+0 mem_tx_fifo_end
+256 mem_l2cap_lpm_txbuf
+//*******************MISC*********************//
+1 mem_l2cap_flow_ctrl_flag
+1 mem_l2cap_pending_item
+0 mem_l2cap_xmem_end
+
+)
+
+
+//mem_l2cap_lpm_txbuf
+(
+256 l2cap_lpm_txbuf_len
+)
+
+(
+4 L2CAP_TX_FIFO_SIZE
+8 L2CAP_TX_BUFF_CNT
+
+)
+(
+0x0002 L2CAP_SIG_EXT_FEATRUE
+0x0003 L2CAP_SIG_FIX_FEATRUE
+)
+
+
+(
+0 HS_IDLE
+1 AG_INIT_CALL
+2 HS_INIT_CALL
+)
+(
+0 M_ACL_LINK_ABSENT
+1 M_ACL_LINK_EXIST
+)
+
+(
+0 L2CAP_INUSE_BUFF1
+1 L2CAP_INUSE_BUFF2
+)
+/* upper layer interface w/ lower layer */
+(
+1 MAX_NUM_LINKS_ALLOWED
+1 MAX_NUM_SCO_ALLOWED
+1 ACL_LINK_PRESENT
+0 ACL_LINK_ABSENT
+)
+(
+1 L2CAP_RX_DONE 
+0 L2CAP_RX_CLEAR
+)
+/* Scheduler */
+(
+0 L2CAP_DISCONNECT_INTERRUPT
+1 RFCOMM_wants_service
+2 L2CAP_sig_Tx_buff_full
+3 RFCOMM_Tx_buff_full
+4 SDP_Tx_buff_full
+5 got_complete_L2CAP_pkt	
+6 L2CAP_init_Config_Req
+7 L2CAP_DISCONNECT_CONTROL
+)
+
+/* mem_CONTROL_tasks2 */
+(
+0 UI_NEED_SERVICE
+)
+/* L2CAP logic channel identifiers (2 bytes) p.261 */
+(
+0x0001 L2CAP_signal_channel
+0x0050 L2CAP_SDP_channel
+0x0051 L2CAP_RFCOMM_channel
+0x0052 L2CAP_HID_Control_channel   
+0x0053 L2CAP_HID_Interrupt_channel
+0x0077 L2CAP_AVDTP_signal_channel		//------avdtp
+0x0078 L2CAP_AVDTP_media_channel
+0x0079 L2CAP_AVDTP_report_channel
+0x0080 L2CAP_AVDTP_recovery_channel
+0x00dd L2CAP_AVCTP_Control_channel
+)
+/* L2CAP signalling command codes (1 byte) p.284 */
+(
+0x00 reserved
+0x01 signal_cmd_reject
+0x02 signal_connect_req
+0x03 signal_connect_rsp
+0x04 signal_config_req
+0x05 signal_config_rsp
+0x06 signal_disconnect_req
+0x07 signal_disconnect_rsp
+0x08 signal_echo_req
+0x09 signal_echo_rsp
+0x0a signal_info_req
+0x0b signal_info_rsp
+)
+/* L2CAP signal_command_reject reason code (2 bytes), p.285 */
+(
+0x0000 cmd_not_understood
+0x0001 signalling_MTU_exceeded
+0x0002 invalid_CID_in_req
+)
+/* L2CAP PSM values used in signal_connect_req (2 bytes), p.286 */
+(
+0x0001 PSM_SDP
+0x0003 PSM_RFCOMM
+0x0005 PSM_TCS
+0x0011 PSM_HID_control
+0x0013 PSM_HID_interrupt
+0x0017 PSM_AVCTP
+0x0019 PSM_AVDTP
+)
+/* L2CAP connection response result code (2 bytes), p.288 */
+(
+0x0000 L2CAP_connect_successful
+0x0001 L2CAP_connect_pending
+0x0002 L2CAP_connect_refused_PSM_unsupported
+0x0003 L2CAP_connect_refused_security_block
+0x0004 L2CAP_connect_refused_no_resources
+)
+/* L2CAP connection status values (2 bytes), p.288 */
+(
+0x0000 L2CAP_no_info_available
+0x0001 L2CAP_authentication_pending
+0x0002 L2CAP_authorization_pending
+)
+/* L2CAP configuration response result code (2 bytes), p.292 */
+(
+0x0000 L2CAP_config_success
+0x0001 L2CAP_config_failure_bad_parameters
+0x0002 L2CAP_config_failure_no_reason
+0x0003 L2CAP_config_failure_unknown_options
+)
+/* L2CAP constant definitions */
+(
+128 L2CAP_Rx_buff_size
+48  L2CAP_signal_Tx_buff_size
+128 SDP_Tx_buff_size
+128 RFCOMM_Tx_buff_size
+1 AM_ADDRESS
+3 DM1TYPE
+4 DH1TYPE
+11 DH3TYPE
+8 DVTYPE
+0 channel_state_closed
+1 channel_state_config
+2 channel_state_open
+0x0030 L2CAP_config_MTU_SDP
+0xffff L2CAP_config_ftimeout_SDP
+0x03e3 L2CAP_config_MTU_RFCOMM
+0xffff L2CAP_config_ftimeout_RFCOMM
+260 l2cap_max_pkt_len
+)
+
+(
+0 FAILURE
+1 SUCCESS
+2 IN_PROGRESS
+)
+(
+0x00	IDLE
+0x01	WAIT_4_BB_PAGE
+0x02	WAIT_4_LMP_CONN
+0x03	WAIT_4_SCO_CONN
+0x04	WAIT_4_SCO_KILLED
+)
+
+/*mem_master_mss*/
+(
+0 STOP_ENC
+1 SEND_SWITCH_REQ
+)
+(
+0 HF_HS_READY
+1 HF_AG_READY
+)
+/* mem_hf_state */
+(
+0 HF_STATE_WAITING_RFCOMM_CONN
+1 HF_STATE_HF_SEND_FEATURE
+2 HF_STATE_WAITING_AG_FEATURE_OK
+3 HF_STATE_HF_SEND_INDICATORS
+4 HF_STATE_WAITING_AG_INDICATORS_OK
+5 HF_STATE_HF_SEND_CURR_STATUS
+6 HF_STATE_WAITING_AG_STATUS_OK
+7 HF_STATE_HF_SEND_UPDATE_STATUS
+8 HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+9 HF_STATE_CONNECTED
+0x0a HF_STATE_HF_SEND_RECEIVE_INFO
+0x0b HF_STATE_WAITING_AG_INFO
+0x0c HF_STATE_HF_SEND_AT_CLIP
+0x0d HF_STATE_WAITING_AT_CLIP
+0x0e HF_STATE_HF_SEND_AT_CCWA
+0x0f HF_STATE_WAITING_AT_CCWA
+)
+/*mem_hf_call_state*/
+(
+0 HF_CALL_STATE_INACTIVE
+1 HF_CALL_STATE_SETUP
+2 HF_CALL_STATE_ACTIVE 
+)
+/* mem_pairing_state bit definition */
+(
+0 PAIR_INQUIRY_START
+1 PAIR_INQUIRY_TIME_OUT
+2 PAIR_INQUIRY_FAILED
+3 PAIR_INQUIRY_SUCCESS
+4 PAIR_READY_CONN
+5 PAIR_WAIT_CANCEL_RESPONSE
+6 PAIR_CONN_SUCCESS
+7 PAIR_WAIT_DETACH
+)  
+
+/* mem_pairing_mode bit definition */
+(
+0 FORCE_AUTHENTICATION
+)
+/* mem_hid_protecol_type */
+(
+0 PROTECOL_BOOT /*default*/
+1 PROTECOL_REPORT
+)
+
+/* mem_upper_sm_reconn */
+(
+1 UPPERSM_SEND_SDP_CONN_REQ
+2 UPPERSM_SEND_SDP_CFG_REQ
+3 UPPERSM_SEND_SDP_HF_SS
+4 UPPERSM_SEND_SDP_DISC_REQ
+5 UPPERSM_SEND_RFCOMM_CONN_REQ
+6 UPPERSM_SEND_RFCOMM_CFG_REQ
+7 UPPERSM_SEND_SABM_CMD
+8 UPPERSM_SEND_DISC
+9 UPPERSM_SEND_WAIT
+10 UPPERSM_SEND_HID_CONTROL_CONN_REQ
+11 UPPERSM_SEND_HID_CONTROL_CFG_REQ
+12 UPPERSM_SEND_HID_INTERRUPT_CONN_REQ
+13 UPPERSM_SEND_HID_INTERRUPT_CFG_REQ
+14 UPPERSM_SEND_SDP_HS_SS
+15 UPPERSM_SEND_SDP_PBAP_SS
+16 UPPERSM_SEND_SDP_AVTARG_SS
+)
+/* mem_upper_sm_remote_page */
+(
+1 UPPERSM_RP_SEND_SDP_CONN_REQ
+2 UPPERSM_RP_SEND_SDP_CFG_REQ
+3 UPPERSM_RP_SEND_SDP_HF_SS
+4 UPPERSM_RP_SEND_SDP_HS_SS
+5 UPPERSM_RP_SEND_SDP_PBAP_SS
+6 UPPERSM_RP_SEND_SDP_AVTARG_SS
+7 UPPERSM_RP_SEND_SDP_DISC_REQ
+8 UPPERSM_RP_SEND_AVCTP_CONN_REQ
+9 UPPERSM_RP_SEND_AVCTP_CFG_REQ
+)
+
+/* mem_ML2CAP_flag */
+(
+0 MSCHEDULER_HID_CONTROL_CONN_DONE
+1 MSCHEDULER_HID_INTERRUPT_CONN_DONE
+2 MSCHEDULER_HID_CONTROL_CFG_REQ_DONE
+3 MSCHEDULER_HID_CONTROL_CFG_RSP_DONE
+4 MSCHEDULER_HID_INTERRUPT_CFG_REQ_DONE
+5 MSCHEDULER_HID_INTERRUPT_CFG_RSP_DONE
+6 MSCHEDULER_HID_CONTROL_DISC_DONE
+7 MSCHEDULER_HID_INTERRUPT_DISC_DONE
+)
+/*    ui event    --add by lj*/
+(
+0x00 UI_DATA_EVNET_NONE
+0x01 UI_DATA_EVNET_HID
+0x02 UI_DATA_EVNET_AVDTP_S
+0x03 UI_DATA_EVNET_AVDTP_M
+0x04 UI_DATA_EVNET_AVCTP
+0x05 UI_DATA_EVNET_HS
+0x06 UI_DATA_EVNET_HF
+0x07 UI_DATA_EVNET_SPP
+0x08 UI_DATA_EVNET_OBEX
+)
+/*    ui ack --add by lj*/
+(
+0x00 UI_DATA_TX_NONE
+0x01 UI_DATA_TX_HID
+0x02 UI_DATA_TX_AVDTP_S
+0x03 UI_DATA_TX_AVDTP_M
+0x04 UI_DATA_TX_AVCTP
+0x05 UI_DATA_TX_HS
+0x06 UI_DATA_TX_HF
+0x07 UI_DATA_TX_SPP
+0x08 UI_DATA_TX_OBEX
+0x10 ACL_TX_L2CAP_SIGNAL
+0x11 ACL_TX_SDP
+0x12 ACL_TX_RFCOMM
+
+)
+
+(
+0 L2CAP_SDP_interface_conn
+1 L2CAP_SDP_interface_cfg
+)
+
+(                                   
+0 L2CAP_CHANNEL_STATE_CONN_REQ      
+1 L2CAP_CHANNEL_STATE_CONN_RES      
+2 L2CAP_CHANNEL_STATE_SND_CFG_REQ   
+3 L2CAP_CHANNEL_STATE_SND_CFG_RES   
+4 L2CAP_CHANNEL_STATE_RCV_CFG_REQ   
+5 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+6 L2CAP_CHANNEL_RFCOMM_ONLY_SABM
+7 L2CAP_CHANNEL_RFCOMM_ONLY_UA
+6 L2CAP_CHANNEL_AVDTP_SIGNAL_INIT //set avdtp init complete
+6 L2CAP_CHANNEL_HID_HANDSHAKE_DONE
+0x3f L2CAP_CHANNEL_SETUP_COMPLETE
+0x7f L2CAP_CHANNEL_AVDTP_SIGNAL_COMPLETE
+0xff L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+)                                     
+
+/*  AVDTP---lj*/
+(
+0 L2CAP_AVDTP_SIGNAL_CONNECT
+1 L2CAP_AVDTP_SIGNAL_CONFIG
+2 L2CAP_AVDTP_MEDIA_CONNECT
+3 L2CAP_AVDTP_MEDIA_CONFIG
+4 L2CAP_AVDTP_REPORT_CONNECT
+5 L2CAP_AVDTP_REPORT_CONFIG
+6 L2CAP_AVDTP_RECOVERY_CONNECT
+7 L2CAP_AVDTP_RECOVERY_CONFIG
+)
+/*  AVCTP---lj*/
+(
+0 L2CAP_AVCTP_SIGNAL_CONNECT
+1 L2CAP_AVCTP_SIGNAL_CONFIG
+)
+
+127 L2CAP_SIGNAL_MALLOC_SIZE
+
+//1 mem_rfcomm_malloc_fail_flag
+(
+0 RFCOMM_MALLOC_SUCCEED
+1 RFCOMM_MALLOC_FAIL
+)
+
+//mem_l2cap_flow_ctrl_flag
+(
+0 L2CAP_FLOW_CTRL_DISABLE
+1 L2CAP_FLOW_CTRL_ENABLE
+)
+
Index: YJX_Only24g/main/format/le.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/le.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/le.format	(working copy)
@@ -0,0 +1,723 @@
+
+memalloc(
+56 mem_le_rxbuf
+262 mem_le_l2capbuf
+
+
+/* security temp */
+4 mem_le_mic
+4 mem_le_peer_mic
+//8 mem_le_skdm
+//8 mem_le_skds
+16 mem_le_peer_ltk
+16 mem_le_mrand
+
+
+/* ========= le context =========== */
+1 mem_le_state
+1 mem_le_mode
+2 mem_le_tsniff
+4 mem_le_anchor
+6 mem_le_clk_offset
+2 mem_le_receive_window
+6 mem_le_plap
+1 mem_le_conn_handle
+1 mem_le_arq
+1 mem_le_ch
+1 mem_le_hop
+2 mem_le_event_count
+4 mem_le_supervision_timer
+2 mem_le_instant
+1 mem_le_channels
+1 mem_le_op
+
+	/* these 3 should NOT be seperated */
+4 mem_le_access
+3 mem_le_crcinit
+1 mem_le_window_size
+
+	/* these 3 should NOT be seperated */
+2 mem_le_slave_latency
+2 mem_le_superto
+5 mem_le_channel_map
+
+2 mem_le_no_using
+1 mem_le_peer_sca
+
+/* should be together */
+1 mem_le_att_opcode
+2 mem_le_att_handle
+
+1 mem_le_err_code
+1 mem_le_ll_pairing_fail_reason
+
+16 mem_le_sk
+
+/* test */
+1 mem_le_testtype
+2 mem_le_test_sync
+2 mem_le_test_pcnt
+
+6 mem_le_rxon_ts
+
+1 mem_le_rx_ll_opcode
+
+2 mem_le_notify_attr_start
+1 mem_le_notify_len
+
+1 mem_cmd_le_create_conn
+
+2 mem_le_cur_attlist_start_ptr
+2 mem_le_cur_handle_start
+2 mem_le_cur_handle_end
+1 mem_le_cur_uuid_length
+16 mem_le_cur_uuid
+
+1 mem_le_curr_att_len
+1 mem_le_search_res
+
+1 mem_le_continue_type
+
+)
+
+
+xmemalloc(
+2 mem_le_dsniff
+
+// parameters
+2 mem_le_conn_interval
+1 mem_le_scan_enable
+2 mem_le_scan_interval
+2 mem_le_scan_window
+
+1 mem_le_adv_enable
+1 mem_le_adv_data_len
+31 mem_le_adv_data
+1 mem_le_scan_data_len
+31 mem_le_scan_data
+
+//modified name
+1 mem_le_name_len
+30 mem_le_name
+
+
+5 mem_le_new_map
+0 mem_le_new_param
+1 mem_le_new_transmitwindowsize
+2 mem_le_new_transmitwindowoffset
+2 mem_le_new_conninterval
+2 mem_le_new_connslavelatency
+2 mem_le_new_connsupervisiontimeout
+
+1 mem_le_txheader
+1 mem_le_txlen
+2 mem_le_txpayload
+2 mem_le_txcid
+1 mem_le_l2cap
+1 mem_le_l2cap_response
+31 mem_le_txbdy
+
+/* smp related */
+5 mem_le_pcnt_tx
+5 mem_le_pcnt_rx
+4 mem_le_last_mic
+4 mem_le_ivm
+4 mem_le_ivs
+16 mem_le_ltk
+1 mem_ltk_exists
+16 mem_le_rconfirm
+16 mem_le_srand
+1 mem_le_iat
+1 mem_le_rat
+1 mem_le_preq
+1 mem_le_preq_iocap
+1 mem_le_preq_oob
+1 mem_le_preq_auth
+1 mem_le_preq_max_keysize
+1 mem_le_preq_init_key_distribution
+1 mem_le_preq_resp_key_distribution
+1 mem_le_pres
+1 mem_le_pres_iocap
+1 mem_le_pres_oob
+1 mem_le_pres_auth
+1 mem_le_pres_max_keysize
+1 mem_le_pres_init_key_distribution
+1 mem_le_pres_resp_key_distribution
+
+/* att related */
+2 mem_le_search_handle_start
+2 mem_le_search_handle_end
+0 mem_le_att_offset
+1 mem_le_search_att_type_length
+16 mem_le_search_att_type
+2 mem_le_notify_handle
+1 mem_le_search_uuid_length
+16 mem_le_search_uuid
+
+
+//START of LE adv parameter structure
+0 mem_le_adv_param
+2 mem_le_adv_interval
+1 mem_le_adv_type
+1 mem_le_adv_own_addr_type
+1 mem_le_adv_direct_addr_type
+6 mem_le_adv_direct_addr
+1 mem_le_adv_channel_map
+//END of LE adv parameter structure
+
+//START of LE conn parameter structure
+0 mem_le_conn_param
+1 mem_le_conn_peer_addr_type
+6 mem_le_conn_peer_addr
+1 mem_le_conn_own_addr_type
+2 mem_le_interval_min
+2 mem_le_interval_max
+2 mem_le_latency
+2 mem_le_timeout
+//START of LE conn parameter structure
+
+//START of LE scan parameter structure
+0 mem_le_scan_params
+1 mem_le_scan_type
+1 mem_le_scan_own_addr_type
+//END of LE scan parameter structure
+
+3 mem_le_lap
+1 mem_le_uap
+2 mem_le_nap
+
+
+2 mem_le_local_mtu
+2 mem_le_remote_mtu
+
+8 mem_le_skdm
+8 mem_le_skds
+
+2 mem_le_init_superto
+2 mem_ui_le_uuid_table
+
+1 mem_le_secure_connect_enable
+1 mem_le_secure_connect_flag
+1 mem_le_sc_calc
+1 mem_le_secure_connect_state
+1 mem_le_sc_confirm_gkey_flag
+1 mem_le_sc_local_key_invalid
+
+
+1 mem_le_pairing_state
+1 mem_le_enc_state
+1 mem_le_pairing_mode
+4 mem_le_tk
+2 mem_le_ediv
+8 mem_le_rand
+16 mem_le_irk
+
+//LE attribute list
+4 mem_le_transmit_window
+
+//ble General configuration 
+1 mem_le_configuration
+16 mem_le_fixed_ltk
+2 mem_le_pairing_handle
+
+//for continue
+2 mem_le_l2cap_size
+1 mem_le_packet_len_recved
+
+//for fifo
+1 mem_le_tx_buff_used
+2 mem_le_tx_ptr0
+2 mem_le_tx_ptr1
+2 mem_le_tx_ptr2
+2 mem_le_tx_ptr3
+
+//ble gatt signaling
+1 mem_le_signaling_identifier
+2 mem_le_l2cap_signaling_conn_param_update_rsp_result
+
+1 mem_le_packet_size
+1 mem_le_packet_llid
+2 mem_le_payload_ptr
+
+1 mem_le_md_count
+
+)
+
+
+(
+0x000001 param_le_features
+0x000a06 param_le_version
+0x1d87 param_le_subversion
+1636 param_sifs
+0x1e0 param_clke_cal_le
+0xa0 param_le_sca
+)
+
+(
+0 DEFAULT_STATES
+1 IPHONE_LOST_LTK
+2 MODULE_LOST_LTK
+3 LTK_NOT_LOST
+)
+
+
+(
+27 LE_MAX_PAKET_LEN
+)
+
+/* advertising channel PDU type */
+(
+0 ADV_IND
+1 ADV_DIRECT_IND
+2 ADV_NONCONN_IND
+3 SCAN_REQ
+4 SCAN_RSP
+5 CONNECT_REQ
+6 ADV_SCAN_IND
+)
+
+(
+0x01	GAP_ADTYPE_FLAGS
+0x02	GAP_ADTYPE_16BIT_MORE
+0x03	GAP_ADTYPE_16BIT_COMPLETE
+0x04	GAP_ADTYPE_32BIT_MORE
+0x05	GAP_ADTYPE_32BIT_COMPLETE
+0x06	GAP_ADTYPE_128BIT_MORE
+0x07	GAP_ADTYPE_128BIT_COMPLETE
+0x08	GAP_ADTYPE_LOCAL_NAME_SHORT
+0x09	GAP_ADTYPE_LOCAL_NAME_COMPLETE
+0x0a	GAP_ADTYPE_POWER_LEVEL
+0xff	GAP_ADTYPE_MANUFACTURER_SPECIFIC
+)
+
+
+	/* LE control packet type */
+	(
+	0x00 LL_CONNECTION_UPDATE_REQ
+	0x01 LL_CHANNEL_MAP_REQ
+	0x02 LL_TERMINATE_IND
+	0x03 LL_ENC_REQ
+	0x04 LL_ENC_RSP
+	0x05 LL_START_ENC_REQ
+	0x06 LL_START_ENC_RSP
+	0x07 LL_UNKNOWN_RSP
+	0x08 LL_FEATURE_REQ
+	0x09 LL_FEATURE_RSP
+	0x0A LL_PAUSE_ENC_REQ
+	0x0B LL_PAUSE_ENC_RSP
+	0x0C LL_VERSION_IND
+	0x0D LL_REJECT_IND
+	0x0E LL_SLAVE_FEATURE_REQ
+	0x0F LL_CONNECTION_PARAM_REQ
+	0x10 LL_CONNECTION_PARAM_RSP
+	0x11 LL_REJECT_IND_EXT
+	0x12 LL_PING_REQ
+	0x13 LL_PING_RSP
+	)
+
+	/* Security Manager Protocol Code */
+	(
+	0x01 SMP_PAIRING_REQUEST
+	0x02 SMP_PAIRING_RESPONSE
+	0x03 SMP_PAIRING_CONFIRM
+	0x04 SMP_PAIRING_RANDOM
+	0x05 SMP_PAIRING_FAILED
+	0x06 SMP_ENCRYPTION_INFORMATION
+	0x07 SMP_MASTER_IDENTIFICATION
+	0x08 SMP_IDENTITY_INFORMATION
+	0x09 SMP_IDENTITY_ADDRESS_INFORMATION
+	0x0A SMP_SIGNING_INFORMATION
+	0x0B SMP_SECURITY_REQUEST
+	0x0c SMP_PAIRING_PUBLIC_KEY
+	0x0d SMP_PAIRING_DHKEY_CHECK
+	)
+
+	/* L2CAP Signaling OPCODE */
+	(
+	0x12 L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST
+	0x13 L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE
+	)
+
+	/* ATT OPCODE */
+	(
+	0x01 ATTOP_ERROR_RESPONSE
+	0x02 ATTOP_EXCHANGE_MTU_REQUEST
+	0x03 ATTOP_EXCHANGE_MTU_RESPONSE
+	0x04 ATTOP_FIND_INFORMATION_REQUEST
+	0x05 ATTOP_FIND_INFORMATION_RESPONSE
+	0x06 ATTOP_FIND_BY_TYPE_VALUE_REQUEST
+	0x07 ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	0x08 ATTOP_READ_BY_TYPE_REQUEST
+	0x09 ATTOP_READ_BY_TYPE_RESPONSE
+	0x0A ATTOP_READ_REQUEST
+	0x0B ATTOP_READ_RESPONSE
+	0x0C ATTOP_READ_BLOB_REQUEST
+	0x0D ATTOP_READ_BLOB_RESPONSE
+	0x0E ATTOP_READ_MULTIPLE_REQUEST
+	0x0F ATTOP_READ_MULTIPLE_RESPONSE
+	0x10 ATTOP_READ_BY_GROUP_TYPE_REQUEST
+	0x11 ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	0x12 ATTOP_WRITE_REQUEST
+	0x13 ATTOP_WRITE_RESPONSE
+	0x16 ATTOP_PREPARE_WRITE_REQUEST
+	0x17 ATTOP_PREPARE_WRITE_RESPONSE
+	0x18 ATTOP_EXECUTE_WRITE_REQUEST
+	0x19 ATTOP_EXECUTE_WRITE_RESPONSE
+	0x1B ATTOP_HANDLE_VALUE_NOTIFICATION
+	0x1D ATTOP_HANDLE_VALUE_INDICATION
+	0x1E ATTOP_HANDLE_VALUE_CONFIRMATION
+	0x52 ATTOP_WRITE_COMMAND
+	0xD2 ATTOP_SIGNED_WRITE_COMMAND
+	0x1f ATTOP_CONTINUE
+	0x9e EMPTY_LE_DATA_PRE
+	0x9f EMPTY_LE_DATA
+	)
+
+	/* ATT error code */
+	(
+	0x01 ATT_ERR_INVALID_HANDLE
+	0x02 ATT_ERR_READ_NOT_PERMITTED
+	0x03 ATT_ERR_WRITE_NOT_PERMITTED
+	0x04 ATT_ERR_INVALID_PDU
+	0x05 ATT_ERR_INSUFFICIENT_AUTHENTICATION
+	0x06 ATT_ERR_REQUEST_NOT_SUPPORTED
+	0x07 ATT_ERR_INVALID_OFFSET
+	0x08 ATT_ERR_INSUFFICIENT_AUTHORIZATION
+	0x09 ATT_ERR_PREPARE_QUEUE_FULL
+	0x0A ATT_ERR_ATTRIBUTE_NOT_FOUND
+	0x0B ATT_ERR_ATTRIBUTE_NOT_LONG
+	0x0C ATT_ERR_INSUFFICIENT_ENCRYPTION_KEY_SIZE
+	0x0D ATT_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH
+	0x0E ATT_ERR_UNLIKELY_ERROR
+	0x0F ATT_ERR_INSUFFICIENT_ENCRYPTION
+	0x10 ATT_ERR_UNSUPPORTED_GROUP_TYPE
+	0x11 ATT_ERR_INSUFFICIENT_RESOURCES
+	)
+	/*	SERVICE UUID	*/
+	(
+	0x1800 UUID_SERVICE_GENERIC_ACC
+	0x1801 UUID_SERVICE_GENERIC_ATT
+	0x180a UUID_SERVICE_DEVICE_INFO
+	0x180f UUID_SERVICE_BATTERY
+	0x1812 UUID_SERVICE_HIDS
+	0x2800 UUID_GATT_PRIMARY_SERVICE
+	0x2801 UUID_GATT_SECONDARY_SERVICE
+	0X2802 UUID_GATT_INCLUDE
+	0X2803 UUID_GATT_CHARACTERISTIC
+	0X2A00 UUID_CHRCTR_DEVICE_NAME
+	0X2A19 UUID_CHRCTR_BATTERY_LEVEL
+	0X2A22 UUID_CHRCTR_KEYBOARD_INPUT
+	0X2A23 UUID_CHRCTR_SYSTEM_ID 
+	0X2A25 UUID_CHRCTR_SERIAL_NUMBER
+	0X2A26 UUID_CHRCTR_FIRMWARE
+	0X2A32 UUID_CHRCTR_KEYBOARD_OUTPUT
+	0X2A33 UUID_CHRCTR_MOUSE_INPUT
+	0X2A4A UUID_CHRCTR_HID_INFO
+	0X2A4B UUID_CHRCTR_REPORT_MAP
+	0X2A4C UUID_CHRCTR_HID_CTRL_POINT
+	0X2A4D UUID_CHRCTR_REPORT
+	0X2A4E UUID_CHRCTR_PROTOCOL_MODE
+	)
+
+	(// pairing failed reason
+	0x00 PAIRING_FAILED_RESERVED
+	0X01 PAIRING_FAILED_PASSKEY_ENTRY_FAILED
+	0X02 PAIRING_FAILED_OOB_NOT_AVAILABLE
+	0X03 PAIRING_FAILED_AUTHENTICATION_REQUIRE
+	0X04 PAIRING_FAILED_CONFIRM_VALUE_FAILED
+	0X05 PAIRING_FAILED_PAIRING_NOT_SUPPORTED
+	0X06 PAIRING_FAILED_ENCRYPTION_KEY_SIZE
+	0X07 PAIRING_FAILED_COMMAND_NOT_SUPPORTED
+	0X08 PAIRING_FAILED_UNSPECIFIED_REASON
+	0X09 PAIRING_FAILED_REPEATED_ATTEMPTS
+	0X0A PAIRING_FAILED_INVALID_PARAMETERS
+	0X0B PAIRING_FAILED_DHKEY_CHECK_FAILED
+	0X0C PAIRING_FAILED_NUMERIC_COMPARISON_FAILED
+	0X0D PAIRING_FAILED_BR_EDR_PAIRING_IN_PROGRESS
+	0X0E PAIRING_FAILED_KEY_DERIVATION_GENERATION_NOT_ALLOWED
+	)
+
+
+	//BLE ErrorCodes
+	(    
+	0x01 ERROR_UNKNOWN_HCI_COMMAND
+	0x02 ERROR_NO_CONNECTION
+	0x03 ERROR_HARDWARE_FAILURE
+	0x04 ERROR_PAGE_TIMEOUT
+	0x05 ERROR_AUTHENTICATION_FAILURE
+	0x06 ERROR_KEY_MISSING
+	0x07 ERROR_MEMORY_FULL
+	0x08 ERROR_CONNECTION_TIMEOUT
+	0x09 ERROR_MAX_CONNECTIONS
+	0x0A ERROR_MAX_SCO_CONNECTIONS
+	0x0B ERROR_MAX_ACL_CONNECTIONS
+	0x0C ERROR_COMMAND_DISALLOWED
+	0x0D ERROR_HOST_REJECT_LIMITED_RESOURCES
+	0x0E ERROR_HOST_REJECT_SECURITY_REASONS
+	0x0F ERROR_HOST_REJECT_REMOTE_IS_ONLY_PERSONAL
+	0x10 ERROR_HOST_TIMEOUT
+	0x11 ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
+	0x12 ERROR_INVALID_HCI_COMMAND_PARAMETERS
+	0x13 ERROR_REMOTE_USER_TERMINATED_CONNECTION
+	0x14 ERROR_REMOTE_LOW_RESOURCES
+	0x15 ERROR_REMOTE_POWERING_OFF
+	0x16 ERROR_CONNECTION_TERMINATED_BY_LOCAL_HOST
+	0x17 ERROR_REPEATED_ATTEMPTS
+	0x18 ERROR_PAIRING_NOT_ALLOWED
+	0x19 ERROR_UNKNOWN_LMP_PDU
+	0x1A ERROR_UNSUPPORTED_REMOTE_FEATURE
+	0x1B ERROR_SCO_OFFSET_REJECTED
+	0x1C ERROR_SCO_INTERVAL_REJECTED
+	0x1D ERROR_SCO_AIR_MODE_REJECTED
+	0x1E ERROR_INVALID_LMP_PARAMETER
+	0x1F ERROR_UNSPECIFIED_ERROR
+	0x20 ERROR_UNSUPPORTED_LMP_PARAMETER_VALUE
+	0x21 ERROR_ROLE_CHANGE_NOT_ALLOWD
+	0x22 ERROR_LMP_RESPONSE_TIMEOUT
+	0x23 ERROR_ERROR_TRANSACTION_COLLISION
+	0x24 ERROR_LMP_PDU_NOT_ALLOWED
+	0x25 ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x26 ERROR_UNIT_KEY_USED
+	0x27 ERROR_QOS_NOT_SUPPORTED
+	0x28 ERROR_INSTANT_PASSED
+	0x29 ERROR_PAIRING_W_UNIT_KEY_NOT_SUPPORTED
+	0x2a ERROR_DIFFERENT_TRANSACTION_COLLISION
+	0x2c ERROR_QOS_UNACCEPTABLE_PARAMETER
+	0x2d ERROR_QOS_REJECTED
+	0x2e ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED
+	0x2f ERROR_INSUFFICIENT_SECURITY
+	0x30 ERROR_PARAMETER_OUT_OF_MANDATORY_PANGE
+	0x32 ERROR_ROLE_SWITCH_PENDING
+	0x34 ERROR_RESERVED_SLOT_VIOLATION
+	0x35 ERROR_ROLE_SWITCH_FAILED
+	0x36 ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE
+	0x37 ERROR_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
+	0x38 ERROR_HOST_BUSY_PAIRING
+	)
+
+
+	//modified_name
+	(
+	0x14 MAX_NAME_LEN
+	0x16 ADV_DATA_NAME_LEN
+	0X20 SPACE
+	
+	)
+	/* GATT Specifications*/
+	(
+	0X2900 CHARACTERTIC_EXTENDED_PROPERTIES
+	0X2901 CHARACTERTIC_USER_DESCRIPTION
+	0X2902 CLIENT_CHARACTERTIC_CONFIGURATION
+	0X2903 SERVER_CHARACTERTIC_CONFIGURATION
+	0X2904 CHARACTERTIC_PRESENTATION_FORMAT
+	0X2905 CHARACTERTIC_AGGREGATE
+	0X2906 VALID_RANGE
+	0X2907 EXTERNAL_REPORT_REFERENCE
+	0X2908 REPORT_REFERENCE
+	0X290B ENVIR_SENSING_CONFIGURATION
+	0X290C ENVIR_SENSING_MEASUREMENT
+	0X290D ENVIR_SENSING_TRIGGER_SETTING
+	)
+	/* LE L2CAP CID */
+	(
+	0x0004 LE_L2CAP_CID_ATT
+	0x0005 LE_L2CAP_CID_SIGNAL
+	0x0006 LE_L2CAP_CID_SMP
+	)
+
+	//LE address type
+	(
+	0 LE_ADDR_TYPE_PUBLIC
+	1 LE_ADDR_TYPE_RANDOM
+	)
+	//LE address type bitmap
+	(
+	7 LE_RECEIVER_ADDR_BIT
+	6 LE_SENDER_ADDR_BIT
+	)
+	//LE SCAN TYPE
+	(
+	0x00 LE_SCAN_TYPE_PASSIVE //no SCAN_REQ shall be sent
+	0x01 LE_SCAN_TYPE_ACTIVE
+	)
+
+	//LE SCAN ENABLE
+	(
+	0x00 LE_SCAN_DISABLE
+	0x01 LE_SCAN_ENABLE
+	0x0101 LE_ACTIVE_SCAN_ENABLE
+	)
+
+	//LE FIND INFORMATION RESPONSE
+	//THE FORMAT OF THE INFORMATION DATA
+	(
+	0x01 UUID_SIZE_16BIT
+	0x02 UUID_SIZE_128BIT
+	)
+
+	(
+	0x0000 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	0x0001 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED
+	)
+
+//	le_state_map 0-2 is reserved for state_inconn,state_insniff and state_sco
+(
+3 lestate_got_first_packet
+4 lestate_encryption
+5 lestate_update_param
+6 lestate_update_map
+)
+
+// 	le mode
+(
+0 lemode_idle
+1 lemode_slave
+3 lemode_master
+)
+
+
+(
+0x01 LLID_CONTINUE
+0x02 LLID_START
+0x03 LLID_LE_LL
+0x01 LLID_EMPTY
+)
+
+(
+4 LE_TX_BUFF_COUNT
+3 LE_TX_BUFF_UPDATE_LOOPCNT //LE_TX_BUFF_COUNT-1
+
+12 LE_MD_MAX_COUNT
+)
+
+
+(
+0 LE_INITATOR_LTK_BIT
+1 LE_INITATOR_IRK_BIT
+2 LE_INITATOR_CSRK_BIT
+)
+
+(
+0x00 LE_PAIRING_MODE_NONE
+0x01 LE_PAIRING_MODE_LAGACY_JUSTWORK
+0x02 LE_PAIRING_MODE_LAGACY_PASSKEY
+0x81 LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK
+0x82 LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+0x83 LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+
+7 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+)
+
+
+(
+0 FLAG_IOCAP_DISPLAYONLY
+1 FLAG_IOCAP_DISPLAYYESNO
+2 FLAG_IOCAP_KEYBOARDONLY
+3 FLAG_IOCAP_NOINPUTNOOUTPUT
+4 FLAG_IOCAP_KEYBOARDDISPLAY
+
+0x00 FLAG_OOB_DATA_FLAG_NO
+)
+
+(
+0x00 FLAG_LE_NO_BONDING_NO_MITM
+0x01 FLAG_LE_BONDING_NO_MITM
+0x04 FLAG_LE_NO_BONDING_MITM
+0x05 FLAG_LE_BONDING_MITM
+0x09 FLAG_LE_BONDING_NO_MITM_SECURE
+0x0D FLAG_LE_BONDING_MITM_SECURE
+
+2 LE_AUTH_MITM_BIT
+3 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+)
+
+(
+0  LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND
+1  LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE
+2  LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE
+
+)
+
+(
+0 MASTER_PUBLIC_ADDR
+1 MASTER_RANDOM_ADDR
+)
+
+(
+0x06 LE_ERR_PIN_OR_KEY_MISSING
+)
+
+
+(
+96000 TIMER_SMP_PAIRING_TIMEOUT //30S
+)
+//mem_le_pairing_state
+(
+0 FLAG_LE_PAIRING_NULL
+1 FLAG_LE_PAIRING_START
+2 FLAG_LE_PAIRING_SEND_RECURITY_REQ
+3 FLAG_LE_PAIRING_RCV_PAIRING_REQ
+4 FLAG_LE_PAIRING_AUTH
+5 FLAG_LE_PAIRING_AFTER_AUTH
+6 FLAG_LE_PAIRING_SEND_START_ENC_RSP
+7 FLAG_LE_PARING_SEND_ENC_INFORMATION
+8 FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION 
+9 FLAG_LE_PARING_SEND_INDENTITY_INFORMATION
+0xff FLAG_LE_PAIRING_END
+)
+
+
+
+/*LE secure connect state */
+(
+0x00 LE_SC_STAT_NULL
+0x01 LE_SC_STAT_RECEIVE_PUBLIC_KEY
+0x02 LE_SC_STAT_WAIT_SEND_PUBLIC_KEY
+0x03 LE_SC_STAT_SEND_PUBLIC_KEY
+0x04 LE_SC_STAT_RECEIVE_RANDOM
+0x05 LE_SC_STAT_SEND_RANDOM
+0x06 LE_SC_STAT_RECEIVE_DHKEY
+0x07 LE_SC_STAT_WAIT_CONFIRM_GKEY
+0x08 LE_SC_STAT_PASSKEY_WAIT_CONFIRM
+)
+
+
+(
+0 FLAG_LE_SC_CONFRIM_NULL
+1 FLAG_LE_SC_CONFRIM_GKEY_OK
+)
+
+//mem_le_enc_state
+(
+0 FLAG_LE_ENC_NULL
+1 FLAG_LE_RCV_ENC_START
+2 FLAG_LE_ENC_PAUSE
+3 FLAG_LE_RCV_START_ENC_RSP
+4 FLAG_LE_SEND_START_ENC_RSP
+0xff FLAG_LE_ENC_END
+)
+
+(//mem_le_configuration
+//bit0:use fixed key , ble passkey pairing
+0 BIT_BLE_PASSKEY_FIXED_KEY
+//bit1:ble pairing use fixed long term key
+1 BIT_BLE_PAIRING_FIXED_LTK
+//bit2:ble transmit packet will set more data flag
+2 BIT_BLE_TRANSMIT_PACKET_BY_MD
+//bit3:master read handle, with requires an authenticated link
+3 BIT_BLE_READ_AUTH
+//bit4:master write handle, with requires an authenticated link
+4 BIT_BLE_WRITE_AUTH
+//bit5:cannot enter long sleep
+5 BIT_BLE_SHORT_MULT
+
+)
+
+(
+0 BIT_ADV_CHANNEL_MAP_37
+1 BIT_ADV_CHANNEL_MAP_38
+2 BIT_ADV_CHANNEL_MAP_39
+)
+
+
+
Index: YJX_Only24g/main/format/lmp.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/lmp.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/lmp.format	(working copy)
@@ -0,0 +1,224 @@
+
+memalloc(
+
+1 mem_lmo_header_length
+1 mem_lmo_header_opcode
+17 mem_lmo_payload
+1 mem_lmi_accepted_opcode
+1 mem_disconn_reason_send
+1 mem_tx_fixed_freq
+1 mem_rx_fixed_freq
+1 mem_ext_features_page
+2 mem_lmpext_ssp_enable
+1 mem_remote_sppcap
+
+1 mem_lmp_conn_state
+2 mem_soft_timer
+1 mem_pincode_state
+
+1 mem_sres_tid
+1 mem_accptsco_tid
+
+1 mem_auth_enable
+1 mem_wait_encryption
+
+16 mem_sniff_payload
+4 mem_aurand_send_delay_time
+)
+
+xmemalloc(
+3 mem_lmp_version
+2 mem_lmp_subversion
+1 mem_local_name_length
+3 mem_local_name
+64 mem_local_name2
+1 mem_local_name_end
+1 mem_unsniff2sniff_timer
+1 mem_switch_flag
+1 mem_classic_bt_flag
+)
+
+	(
+	//bit flag:mem_classic_bt_flag
+	0 FLAG_SSP_REJECT_JUSTWORK
+	1 SHORT_MULT_FLAG
+	)
+	
+	(
+	//bit map
+	0 pair_state_inrand
+	1 pair_state_inrand_acpt
+	2 pair_state_send_comb
+	3 pair_state_recv_comb
+	4 pair_state_send_aurand
+	5 pair_state_recv_sres
+	6 pair_state_recv_aurand
+	7 pair_state_send_sres	
+	)
+	/* LMP opcodes */
+	(
+	1 LMP_NAME_REQ 
+	2 LMP_NAME_RES 
+	3 LMP_ACCEPTED 
+	4 LMP_NOT_ACCEPTED 
+	5 LMP_CLKOFFSET_REQ 
+	6 LMP_CLKOFFSET_RES 
+	7 LMP_DETACH 
+	8 LMP_IN_RAND 
+	9 LMP_COMB_KEY 
+	10 LMP_UNIT_KEY 
+	11 LMP_AU_RAND 
+	12 LMP_SRES 
+	13 LMP_TEMP_RAND 
+	14 LMP_TEMP_KEY 
+	15 LMP_ENCRYPTION_MODE_REQ 
+	16 LMP_ENCRYPTION_KEY_SIZE_REQ 
+	17 LMP_START_ENCRYPTION_REQ 
+	18 LMP_STOP_ENCRYPTION_REQ 
+	19 LMP_SWITCH_REQ 
+	20 LMP_HOLD
+	21 LMP_HOLD_REQ
+	23 LMP_SNIFF_REQ 
+	24 LMP_UNSNIFF_REQ 
+	26 LMP_PARK_REQ 
+	27 LMP_SET_BROADCAST_SCAN_WINDOW 
+	28 LMP_MODIFY_BEACON 
+	29 LMP_UNPARK_BD_ADDR_REQ 
+	30 LMP_UNPARK_PM_ADDR_REQ 
+	31 LMP_INCR_POWER_REQ 
+	32 LMP_DECR_POWER_REQ 
+	33 LMP_MAX_POWER 
+	34 LMP_MIN_POWER 
+	35 LMP_AUTO_RATE 
+	36 LMP_PREFERRED_RATE 
+	37 LMP_VERSION_REQ 
+	38 LMP_VERSION_RES 
+	39 LMP_FEATURES_REQ 
+	40 LMP_FEATURES_RES 
+	41 LMP_QUALITY_OF_SERVICE 
+	42 LMP_QUALITY_OF_SERVICE_REQ 
+	43 LMP_SCO_LINK_REQ 
+	44 LMP_REMOVE_SCO_LINK_REQ 
+	45 LMP_MAX_SLOT 
+	46 LMP_MAX_SLOT_REQ 
+	47 LMP_TIMING_ACCURACY_REQ 
+	48 LMP_TIMING_ACCURACY_RES 
+	49 LMP_SETUP_COMPLETE 
+	50 LMP_USE_SEMI_PERMANENT_KEY 
+	51 LMP_HOST_CONNECTION_REQ 
+	52 LMP_SLOT_OFFSET 
+	53 LMP_PAGE_MODE_REQ 
+	54 LMP_PAGE_SCAN_MODE_REQ 
+	55 LMP_SUPERVISION_TIMEOUT 
+	56 LMP_TEST_ACTIVATE
+	57 LMP_TEST_CONTROL
+	58 LMP_ENC_KEY_SIZE_MASK_REQ
+	59 LMP_ENC_KEY_SIZE_MASK_RES
+	60 LMP_SET_AFH
+
+	/* simple pairing support */
+	61 LMP_ENCAPSULATED_HEADER
+	62 LMP_ENCAPSULATED_PAYLOAD
+	63 LMP_SIMPLE_PAIRING_CONFIRM
+	64 LMP_SIMPLE_PAIRING_NUMBER
+	65 LMP_DHKEY_CHECK
+	127 LMP_ESCAPE
+	127 LMP_ESCAPE_4   /* add 2bytes LMP header support  */   
+	)
+	/* LMP EXT opcodes, ORed with bit 7 to make difference to nonEXT */
+	(
+	129 LMP_EXT_ACCEPTED
+	130 LMP_NOT_ACCEPTED_EXT
+	131 LMP_EXT_FEATURES_REQ
+	132 LMP_EXT_FEATURES_RES
+	139 LMP_PACKET_TYPE_TABLE_REQ
+	140 LMP_EXT_ESCO_LINK_REQ
+	141 LMP_EXT_REMOVE_ESCO_REQ
+	144 LMP_EXT_CHN_CLASSIFICATION_REQ
+	145 LMP_EXT_CHN_CLASSIFICATION
+	149 LMP_SNIFF_SUBRATING_REQ
+	150 LMP_SNIFF_SUBRATING_RES
+	151 LMP_PAUSE_ENCRYPTION_REQ
+	152 LMP_RESUME_ENCRYPTION_REQ
+	153 LMP_IO_CAP_REQ
+	154 LMP_IO_CAP_RES
+	)
+	/* LMP reason codes */
+	(
+	0x05 AUTHENTICATION_FAILURE_ERROR
+	0x06 KEY_MISSING
+	0x0b ACL_CONNECTION_ALREADY_EXISTS
+	0x13 OTHER_END_TERMINATED
+	0x15 ABOUT_TO_POEWR_OFF
+	0x16 LOCAL_HOST
+	0x18 PAIRING_NOT_ALLOWED
+	0x19 UNKNOWN_LMP_PDU
+	0x1A UNSUPPORTED_LMP_FEATURE 
+	0x1F UNSPECIFIED_ERROR
+	0x20 UNSUPPORTED_PARAMETERS
+	0x21 SWITCH_NOT_ALLOWED
+	0x23 TRANSACTION_COLLISION
+	0x24 PDU_NOT_ALLOWED
+	0x25 ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x2e NOT_SUPPORT_CHN_CLASSIFICATION
+	0x37 NOT_SUPPORT_SSP
+	)
+
+	/* test mode scenarios */
+	(
+	0 PAUSE_TEST_MODE
+	1 ZERO_PATTERN
+	2 ONE_PATTERN
+	3 ALT_PATTERN
+	4 PSEUDORANDOM
+	5 CLOSED_LOOP_BACK_ACL
+	6 CLOSED_LOOP_BACK_SCO
+	7 ACL_WITHOUT_WHITENING
+	8 SCO_WITHOUT_WHITENING
+	9 ALT2_PATTERN
+	255 EXIT_TEST_MODE
+	)
+	/* test mode hoppig modes */
+	(
+	0 FIXED_FREQ
+	1 NORMAL_HOP
+	)
+
+	/* mem_lmp_tid indicates which type of LMP will be sent */
+	(
+	0 TID_NORM_REPLY
+	1 TID_NORM_SEND
+	2 TID_ONE
+	3 TID_ZERO
+	4 TID_PAIRING
+	5 TID_ENCRYPTION
+	6 TID_VARIABLE
+	7 TID_RX
+	)
+
+	/* ============== lmp status ==========*/
+	(
+	0 lmp_incoming
+	1 lmp_outgoing
+	2 lmp_reject_msg
+	3 lmp_clear_msg
+	4 upper_reject_msg
+	5 upper_clear_msg
+	)
+
+(
+0x2ee00 TIMER_ONE_MINUTE //96000*2
+80 TIMER_SWITCH_WAITE
+12 TIMER_ENPT_WAITE
+)
+
+(
+0 SWITCH_FLAG_INIT
+1 SWITCH_FLAG_ACCEPT
+2 SWITCH_FLAG_NOT_ACCEPT
+)
+(
+0 NULL_ENCRYP
+1 DONE_ENCRYP
+)
+
Index: YJX_Only24g/main/format/memblocks.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/memblocks.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/memblocks.format	(working copy)
@@ -0,0 +1,64 @@
+//
+//
+//Large memory blocks defined in this file.
+//Blocks Shall be defined with absolute address.
+//Blocks' length Shall be specified in comment following Blocks' names.
+//Different blocks MAY be overlap.
+//Blocks defined in this file Shall NOT be overlap with variable in memmap.format.
+
+// USB C51 exchange area
+(
+0xff0 mem_mcmd
+0xff1 mem_mouse_data
+)
+
+//l2cap RX buffers
+(
+0x1000 mem_l2cap_rxbuff1		//0x400
+0x1400 mem_l2cap_rxbuff2		//0x400
+//end address:0x17ff
+)
+//l2cap TX buffers
+(
+0x1800 mem_tx_buff0		//128
+0x1880 mem_tx_buff1		//128
+0x1900 mem_tx_buff2		//128
+0x1980 mem_tx_buff3		//128
+0x1a00 mem_tx_buff4		//128
+0x1a80 mem_tx_buff5		//128
+0x1b00 mem_tx_buff6		//128
+0x1b80 mem_tx_buff7		//128
+//end address: 0x1bff
+)
+
+(
+0x1800 mem_le_tx_buffer0
+0x1900 mem_le_tx_buffer1
+0x1a00 mem_le_tx_buffer2
+0x1b00 mem_le_tx_buffer3
+//end addr:0x1dff
+)
+
+
+//uart buffer
+(
+0x1800 mem_h5rx_buf//0x400
+0x1bff mem_h5rx_buf_end
+0x1c00 mem_h5tx_buf
+0x1fff mem_h5tx_buf_end
+)
+
+
+(
+0x1800 mem_ir_record
+0x1c      mem_ir_record_max
+)
+
+ifndef REVD 
+(
+0x4b00 memk
+)
+
+
+endif
+
Index: YJX_Only24g/main/format/patch.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/patch.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/patch.format	(working copy)
@@ -0,0 +1,516 @@
+
+(
+	  0 patch00_0
+	  1 patch00_1
+	  2 patch00_2
+	  3 patch00_3
+	  4 patch00_4
+	  5 patch00_5
+	  6 patch00_6
+	  7 patch00_7
+	  8 patch01_0
+	  9 patch01_1
+	 10 patch01_2
+	 11 patch01_3
+	 12 patch01_4
+	 13 patch01_5
+	 14 patch01_6
+	 15 patch01_7
+	 16 patch02_0
+	 17 patch02_1
+	 18 patch02_2
+	 19 patch02_3
+	 20 patch02_4
+	 21 patch02_5
+	 22 patch02_6
+	 23 patch02_7
+	 24 patch03_0
+	 25 patch03_1
+	 26 patch03_2
+	 27 patch03_3
+	 28 patch03_4
+	 29 patch03_5
+	 30 patch03_6
+	 31 patch03_7
+	 32 patch04_0
+	 33 patch04_1
+	 34 patch04_2
+	 35 patch04_3
+	 36 patch04_4
+	 37 patch04_5
+	 38 patch04_6
+	 39 patch04_7
+	 40 patch05_0
+	 41 patch05_1
+	 42 patch05_2
+	 43 patch05_3
+	 44 patch05_4
+	 45 patch05_5
+	 46 patch05_6
+	 47 patch05_7
+	 48 patch06_0
+	 49 patch06_1
+	 50 patch06_2
+	 51 patch06_3
+	 52 patch06_4
+	 53 patch06_5
+	 54 patch06_6
+	 55 patch06_7
+	 56 patch07_0
+	 57 patch07_1
+	 58 patch07_2
+	 59 patch07_3
+	 60 patch07_4
+	 61 patch07_5
+	 62 patch07_6
+	 63 patch07_7
+	 64 patch08_0
+	 65 patch08_1
+	 66 patch08_2
+	 67 patch08_3
+	 68 patch08_4
+	 69 patch08_5
+	 70 patch08_6
+	 71 patch08_7
+	 72 patch09_0
+	 73 patch09_1
+	 74 patch09_2
+	 75 patch09_3
+	 76 patch09_4
+	 77 patch09_5
+	 78 patch09_6
+	 79 patch09_7
+	 80 patch0a_0
+	 81 patch0a_1
+	 82 patch0a_2
+	 83 patch0a_3
+	 84 patch0a_4
+	 85 patch0a_5
+	 86 patch0a_6
+	 87 patch0a_7
+	 88 patch0b_0
+	 89 patch0b_1
+	 90 patch0b_2
+	 91 patch0b_3
+	 92 patch0b_4
+	 93 patch0b_5
+	 94 patch0b_6
+	 95 patch0b_7
+	 96 patch0c_0
+	 97 patch0c_1
+	 98 patch0c_2
+	 99 patch0c_3
+	100 patch0c_4
+	101 patch0c_5
+	102 patch0c_6
+	103 patch0c_7
+	104 patch0d_0
+	105 patch0d_1
+	106 patch0d_2
+	107 patch0d_3
+	108 patch0d_4
+	109 patch0d_5
+	110 patch0d_6
+	111 patch0d_7
+	112 patch0e_0
+	113 patch0e_1
+	114 patch0e_2
+	115 patch0e_3
+	116 patch0e_4
+	117 patch0e_5
+	118 patch0e_6
+	119 patch0e_7
+	120 patch0f_0
+	121 patch0f_1
+	122 patch0f_2
+	123 patch0f_3
+	124 patch0f_4
+	125 patch0f_5
+	126 patch0f_6
+	127 patch0f_7
+	128 patch10_0
+	129 patch10_1
+	130 patch10_2
+	131 patch10_3
+	132 patch10_4
+	133 patch10_5
+	134 patch10_6
+	135 patch10_7
+	136 patch11_0
+	137 patch11_1
+	138 patch11_2
+	139 patch11_3
+	140 patch11_4
+	141 patch11_5
+	142 patch11_6
+	143 patch11_7
+	144 patch12_0
+	145 patch12_1
+	146 patch12_2
+	147 patch12_3
+	148 patch12_4
+	149 patch12_5
+	150 patch12_6
+	151 patch12_7
+	152 patch13_0
+	153 patch13_1
+	154 patch13_2
+	155 patch13_3
+	156 patch13_4
+	157 patch13_5
+	158 patch13_6
+	159 patch13_7
+	160 patch14_0
+	161 patch14_1
+	162 patch14_2
+	163 patch14_3
+	164 patch14_4
+	165 patch14_5
+	166 patch14_6
+	167 patch14_7
+	168 patch15_0
+	169 patch15_1
+	170 patch15_2
+	171 patch15_3
+	172 patch15_4
+	173 patch15_5
+	174 patch15_6
+	175 patch15_7
+	176 patch16_0
+	177 patch16_1
+	178 patch16_2
+	179 patch16_3
+	180 patch16_4
+	181 patch16_5
+	182 patch16_6
+	183 patch16_7
+	184 patch17_0
+	185 patch17_1
+	186 patch17_2
+	187 patch17_3
+	188 patch17_4
+	189 patch17_5
+	190 patch17_6
+	191 patch17_7
+	192 patch18_0
+	193 patch18_1
+	194 patch18_2
+	195 patch18_3
+	196 patch18_4
+	197 patch18_5
+	198 patch18_6
+	199 patch18_7
+	200 patch19_0
+	201 patch19_1
+	202 patch19_2
+	203 patch19_3
+	204 patch19_4
+	205 patch19_5
+	206 patch19_6
+	207 patch19_7
+	208 patch1a_0
+	209 patch1a_1
+	210 patch1a_2
+	211 patch1a_3
+	212 patch1a_4
+	213 patch1a_5
+	214 patch1a_6
+	215 patch1a_7
+	216 patch1b_0
+	217 patch1b_1
+	218 patch1b_2
+	219 patch1b_3
+	220 patch1b_4
+	221 patch1b_5
+	222 patch1b_6
+	223 patch1b_7
+	224 patch1c_0
+	225 patch1c_1
+	226 patch1c_2
+	227 patch1c_3
+	228 patch1c_4
+	229 patch1c_5
+	230 patch1c_6
+	231 patch1c_7
+	232 patch1d_0
+	233 patch1d_1
+	234 patch1d_2
+	235 patch1d_3
+	236 patch1d_4
+	237 patch1d_5
+	238 patch1d_6
+	239 patch1d_7
+	240 patch1e_0
+	241 patch1e_1
+	242 patch1e_2
+	243 patch1e_3
+	244 patch1e_4
+	245 patch1e_5
+	246 patch1e_6
+	247 patch1e_7
+	248 patch1f_0
+	249 patch1f_1
+	250 patch1f_2
+	251 patch1f_3
+	252 patch1f_4
+	253 patch1f_5
+	254 patch1f_6
+	255 patch1f_7
+	  0 patch20_0
+	  1 patch20_1
+	  2 patch20_2
+	  3 patch20_3
+	  4 patch20_4
+	  5 patch20_5
+	  6 patch20_6
+	  7 patch20_7
+	  8 patch21_0
+	  9 patch21_1
+	 10 patch21_2
+	 11 patch21_3
+	 12 patch21_4
+	 13 patch21_5
+	 14 patch21_6
+	 15 patch21_7
+	 16 patch22_0
+	 17 patch22_1
+	 18 patch22_2
+	 19 patch22_3
+	 20 patch22_4
+	 21 patch22_5
+	 22 patch22_6
+	 23 patch22_7
+	 24 patch23_0
+	 25 patch23_1
+	 26 patch23_2
+	 27 patch23_3
+	 28 patch23_4
+	 29 patch23_5
+	 30 patch23_6
+	 31 patch23_7
+	 32 patch24_0
+	 33 patch24_1
+	 34 patch24_2
+	 35 patch24_3
+	 36 patch24_4
+	 37 patch24_5
+	 38 patch24_6
+	 39 patch24_7
+	 40 patch25_0
+	 41 patch25_1
+	 42 patch25_2
+	 43 patch25_3
+	 44 patch25_4
+	 45 patch25_5
+	 46 patch25_6
+	 47 patch25_7
+	 48 patch26_0
+	 49 patch26_1
+	 50 patch26_2
+	 51 patch26_3
+	 52 patch26_4
+	 53 patch26_5
+	 54 patch26_6
+	 55 patch26_7
+	 56 patch27_0
+	 57 patch27_1
+	 58 patch27_2
+	 59 patch27_3
+	 60 patch27_4
+	 61 patch27_5
+	 62 patch27_6
+	 63 patch27_7
+	 64 patch28_0
+	 65 patch28_1
+	 66 patch28_2
+	 67 patch28_3
+	 68 patch28_4
+	 69 patch28_5
+	 70 patch28_6
+	 71 patch28_7
+	 72 patch29_0
+	 73 patch29_1
+	 74 patch29_2
+	 75 patch29_3
+	 76 patch29_4
+	 77 patch29_5
+	 78 patch29_6
+	 79 patch29_7
+	 80 patch2a_0
+	 81 patch2a_1
+	 82 patch2a_2
+	 83 patch2a_3
+	 84 patch2a_4
+	 85 patch2a_5
+	 86 patch2a_6
+	 87 patch2a_7
+	 88 patch2b_0
+	 89 patch2b_1
+	 90 patch2b_2
+	 91 patch2b_3
+	 92 patch2b_4
+	 93 patch2b_5
+	 94 patch2b_6
+	 95 patch2b_7
+	 96 patch2c_0
+	 97 patch2c_1
+	 98 patch2c_2
+	 99 patch2c_3
+	100 patch2c_4
+	101 patch2c_5
+	102 patch2c_6
+	103 patch2c_7
+	104 patch2d_0
+	105 patch2d_1
+	106 patch2d_2
+	107 patch2d_3
+	108 patch2d_4
+	109 patch2d_5
+	110 patch2d_6
+	111 patch2d_7
+	112 patch2e_0
+	113 patch2e_1
+	114 patch2e_2
+	115 patch2e_3
+	116 patch2e_4
+	117 patch2e_5
+	118 patch2e_6
+	119 patch2e_7
+	120 patch2f_0
+	121 patch2f_1
+	122 patch2f_2
+	123 patch2f_3
+	124 patch2f_4
+	125 patch2f_5
+	126 patch2f_6
+	127 patch2f_7
+	128 patch30_0
+	129 patch30_1
+	130 patch30_2
+	131 patch30_3
+	132 patch30_4
+	133 patch30_5
+	134 patch30_6
+	135 patch30_7
+	136 patch31_0
+	137 patch31_1
+	138 patch31_2
+	139 patch31_3
+	140 patch31_4
+	141 patch31_5
+	142 patch31_6
+	143 patch31_7
+	144 patch32_0
+	145 patch32_1
+	146 patch32_2
+	147 patch32_3
+	148 patch32_4
+	149 patch32_5
+	150 patch32_6
+	151 patch32_7
+	152 patch33_0
+	153 patch33_1
+	154 patch33_2
+	155 patch33_3
+	156 patch33_4
+	157 patch33_5
+	158 patch33_6
+	159 patch33_7
+	160 patch34_0
+	161 patch34_1
+	162 patch34_2
+	163 patch34_3
+	164 patch34_4
+	165 patch34_5
+	166 patch34_6
+	167 patch34_7
+	168 patch35_0
+	169 patch35_1
+	170 patch35_2
+	171 patch35_3
+	172 patch35_4
+	173 patch35_5
+	174 patch35_6
+	175 patch35_7
+	176 patch36_0
+	177 patch36_1
+	178 patch36_2
+	179 patch36_3
+	180 patch36_4
+	181 patch36_5
+	182 patch36_6
+	183 patch36_7
+	184 patch37_0
+	185 patch37_1
+	186 patch37_2
+	187 patch37_3
+	188 patch37_4
+	189 patch37_5
+	190 patch37_6
+	191 patch37_7
+	192 patch38_0
+	193 patch38_1
+	194 patch38_2
+	195 patch38_3
+	196 patch38_4
+	197 patch38_5
+	198 patch38_6
+	199 patch38_7
+	200 patch39_0
+	201 patch39_1
+	202 patch39_2
+	203 patch39_3
+	204 patch39_4
+	205 patch39_5
+	206 patch39_6
+	207 patch39_7
+	208 patch3a_0
+	209 patch3a_1
+	210 patch3a_2
+	211 patch3a_3
+	212 patch3a_4
+	213 patch3a_5
+	214 patch3a_6
+	215 patch3a_7
+	216 patch3b_0
+	217 patch3b_1
+	218 patch3b_2
+	219 patch3b_3
+	220 patch3b_4
+	221 patch3b_5
+	222 patch3b_6
+	223 patch3b_7
+	224 patch3c_0
+	225 patch3c_1
+	226 patch3c_2
+	227 patch3c_3
+	228 patch3c_4
+	229 patch3c_5
+	230 patch3c_6
+	231 patch3c_7
+	232 patch3d_0
+	233 patch3d_1
+	234 patch3d_2
+	235 patch3d_3
+	236 patch3d_4
+	237 patch3d_5
+	238 patch3d_6
+	239 patch3d_7
+	240 patch3e_0
+	241 patch3e_1
+	242 patch3e_2
+	243 patch3e_3
+	244 patch3e_4
+	245 patch3e_5
+	246 patch3e_6
+	247 patch3e_7
+	248 patch3f_0
+	249 patch3f_1
+	250 patch3f_2
+	251 patch3f_3
+	252 patch3f_4
+	253 patch3f_5
+	254 patch3f_6
+	255 patch3f_7
+
+)
Index: YJX_Only24g/main/format/regs.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/regs.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/regs.format	(working copy)
@@ -0,0 +1,302 @@
+(
+  0x8000 core_chipid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x8009 core_pcmoutfifo
+  0x8010 core_reset
+  0x8011 core_encrypt
+  0x8015 core_uart_txd
+  0x8022 core_ucode_hi
+  0x8023 core_ucode_ctrl
+  0x8024 core_ucode_low
+  0x8025 core_ucode_data
+  0x8040 core_halfslot
+  0x8042 core_clksel
+  0x8043 core_uart_clksel
+  0x8043 core_config 
+  0x8044 core_xtal_stable_time
+  0x8045 core_otp_addr
+  0x8046 core_otp_din
+  0x8047 core_otp_ctrl
+  0x8048 core_otpd_addr
+  0x804a core_otpd_len
+  0x804b core_otpd_ctrl
+  0x804c core_lpm_reg
+  0x804f core_lpm_isogate
+  0x8050 core_clkoff
+  0x8052 core_uart_baud
+  0x8054 core_uart_rsaddr
+  0x8056 core_uart_readdr
+  0x8058 core_uart_rrptr
+  0x805a core_uart_tsaddr
+  0x805c core_uart_teaddr
+  0x805e core_uart_twptr
+  0x8060 core_uart_trptrp
+  0x8062 core_uart_ctrl
+  0x8063 core_bist_ctrl
+  0x8064 core_pwm_pcnt3
+  0x8066 core_pwm_ncnt3 
+  0x8068 core_pwm_pcnt4
+  0x806a core_pwm_ncnt4
+  0x806c core_pwm_pcnt5
+  0x806e core_pwm_ncnt5
+  0x8070 core_gpio_oe0
+  0x8071 core_gpio_oe1
+  0x8072 core_gpio_oe2
+  0x8073 core_gpio_oe3
+  0x8074 core_gpio_out0
+  0x8075 core_gpio_out1
+  0x8076 core_gpio_out2
+  0x8077 core_gpio_out3
+  0x8078 core_gpio_pu0
+  0x8079 core_gpio_pu1
+  0x807a core_gpio_pu2
+  0x807b core_gpio_pu3
+  0x807c core_gpio_pd0
+  0x807d core_gpio_pd1
+  0x807e core_gpio_pd2
+  0x807f core_gpio_pd3
+  0x8080 core_gpio_sel
+  0x8081 core_gpio_sel1
+  0x8082 core_gpio_sel2
+  0x8083 core_gpio_key0
+  0x8084 core_gpio_key1
+  0x8085 core_gpio_key2
+  0x8086 core_spid_ctrl
+  0x8087 core_spid_delay
+  0x8088 core_spid_txlen
+  0x808a core_spid_txaddr
+  0x808c core_spid_rxaddr
+  0x808e core_spid_rxlen
+  0x8090 core_iicd_ctrl
+  0x8091 core_iicd_scl_low
+  0x8092 core_iicd_scl_high
+  0x8093 core_iicd_start_setup
+  0x8094 core_iicd_start_hold
+  0x8095 core_iicd_stop_setup
+  0x8096 core_iicd_data_setup
+  0x8097 core_iicd_data_hold
+  0x8098 core_iicd_txlen
+  0x809a core_iicd_txaddr
+  0x809c core_iicd_rxaddr
+  0x809e core_iicd_rxlen
+  0x80a0 core_pwm_pcnt0
+  0x80a2 core_pwm_ncnt0
+  0x80a4 core_pwm_pcnt1
+  0x80a6 core_pwm_ncnt1
+  0x80a8 core_pwm_pcnt2
+  0x80aa core_pwm_ncnt2
+  0x80b0 core_enc_ctrl
+  0x80b1 core_cvsd_ctrl
+  0x80b2 core_codec_ctrl
+  0x80b3 core_dec_ctrl
+
+
+
+
+  
+  0x8108 core_misc_status
+  0x8109 core_qdec_cntx
+  0x810a core_qdec_cnty
+  0x810b core_qdec_cntz
+  0x810c core_uart_status
+  0x810d core_uart_rbaud
+  0x810e core_uart_txitems
+  0x8110 core_uart_trptr
+  0x8112 core_uart_rxitems
+  0x8114 core_uart_rdptr
+  0x8116 core_uart_rwptr
+  0x8119 core_kscn_kstat
+  0x811a core_kscn_event
+  0x811b core_kscn_event_num
+  0x811c core_gpio_in
+  0x811d core_gpio_in1
+  0x8124 core_current_otp_addr
+  0x8126 core_otpd_remain
+  0x8128 core_spid_remain
+  0x812a core_iicd_remain
+  0x812c core_dma_status
+  0x812d core_perf_status
+  0x812e core_adc_in
+  0x8134 core_pcminfifo
+  0x8135 core_pcminfifo_remain
+  0x8136 core_pcmoutfifo_remain
+  0x8138 core_lpm_ctrl
+  0x813c core_lpm_xtalcnt
+  0x813d core_lpm_buckcnt
+  0x813e core_lpm_ldocnt
+  0x813f core_lpm_latch
+  0x8140 core_gpio_wakeup_low
+  0x8144 core_gpio_wakeup_high
+  0x8149 core_clk_counter
+  0x8150 core_adc_sum
+// dummy regs  
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  0x8280 core_docd_ctrl
+  0x8288 core_docd_paddr
+  0x828a core_docd_pdata
+
+  0x8300 iic_prer_low		
+  0x8301 iic_slave_addr	
+  0x8302 iic_ctr					
+  0x8303 iic_cr					
+  0x8304 iic_rxr					
+  0x8305 iic_txr					
+  0x8306 iic_sr					
+  0x8307 iic_fifo				
+
+  0x8400   mem_b_box          /* entire bank */
+  0x8500   mem_e_box          /* entire bank */
+  0x8600   mem_l_box          /* entire bank */
+
+ifdef REVD
+  0x8700 memk
+endif
+
+  0x8900 rfen_rx
+  0x8901 rfen_tx
+  0x8902 rfen_mdm
+  0x8903 rfen_sn
+  0x8904 rfen_msc
+  0x8905 rfen_ck
+  0x8906 rfen_adc
+  0x890a  rf_iq_gain
+  0x890b  rf_agc_nsat
+  0x890f  rf_adc_goff
+  0x8912 rf_agc_ctrl
+  0x8914 rfen_ulp
+  0x8973 rfen_chgpump
+  0x894b rf_rx_vctrl_reg1
+  0x894c rf_rx_vctrl_reg2
+  0x894d rf_rx_ib_lna
+  0x894e rf_rx_lna_ctrim
+
+  0x8950 rf_bpf_ctrim
+  0x8951 rf_bpf_ib
+  0x8952 rf_adc_rccal
+  0x8952 rf_rccal_ctrl
+  0x8953 rf_rccal_sel
+  0x8955 rf_tx_pa_ib
+  0x8956 rf_tx_pa_gc
+  0x895f rf_pll_rstn
+  0x8964 rf_sdm_en
+  0x8960 rf_pll_intg
+  0x8961 rf_pll_frac
+  0x8963 rf_pll_frachi
+  0x896c rf_afc_cap
+  0x8967 rf_clkpll_bias
+  0x896f rf_clkpll_en
+  0x8968 rf_clkpll_int
+  0x8969 rf_clkpll_frac
+  0x896d rf_balun_ctrim
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+  0x8980 rf_rccal_result
+  0x8981 rf_afc_d2a
+  0x8982 rf_rssi
+
+
+0x8a00 core_usb_config		
+0x8a01 core_usb_int_mask	
+0x8a04 core_usb_addr
+0x8a10 core_usb_trig	
+0x8a11 core_usb_stall		
+0x8a12 core_usb_clear		
+0x8a18 core_usb_ep
+0x8a18 core_usb_dfifo0 
+0x8a19 core_usb_dfifo1  
+0x8a1a core_usb_dfifo2 
+0x8a20 core_usb_ep_len
+0x8a26 core_usb_status		
+0x8a27 core_usb_fifo_empty
+0x8a28 core_usb_fifo_full
+
+
+4 rx_freq_offset
+1 tx_freq_offset
+
+/* bit difinitions */
+  4 whiteoff_bit
+  6 clksel_rc
+  5 clksel_dpll
+  4 clksel_xtal
+  5 adc_rccal
+  0 bpf_rccal
+  1 demod_clkoff
+
+(
+  2 reload_code
+  3 gpio_latch
+  4 enable_retmem
+  7 cold_wake
+  0xef isogate_mask
+  0xe0 cs_mask
+)
+
+// misc ctrl
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+// dma status bit
+(
+  0 otpd_crcok
+  1 otpd_done
+  2 spid_crcok
+  3 spid_done
+  4 iicd_crcok
+  5 iicd_done
+  6 iicd_ack
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x91 uart_ctrl_5line
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x00 uartclk_crystal
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x34 uart_baud_921600
+0x9c4 uart_baud_9600
+0x2dc6c00 uart_clk
+0x16E3600 uart_clk_24
+
+//core_clkoff
+(
+	0 CLOCK_OFF_AUTH_ROM
+	1 CLOCK_OFF_UC_ROM
+	2 CLOCK_OFF_DEBUG_UART
+	3 CLOCK_OFF_SCHED_RAM
+	4 CLOCK_OFF_TRANCE_FIFO
+	5 CLOCK_OFF_CORDIC
+	6 CLOCK_OFF_OTPD
+	7 CLOCK_OFF_I2C
+	8 CLICK_OFF_8051
+	9 CLOCK_OFF_KEYSCAN
+	0x0a CLOCK_OFF_USB
+	0x0b CLOCK_OFF_QDECODER
+	0x0c CLOCK_OFF_SPI
+	0x0d CLOCK_OFF_PWM
+	0x0e CLOCK_OFF_CODEC
+	0x0f CLOCK_OFF_UART
+)
+
+
Index: YJX_Only24g/main/format/rfcomm.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/rfcomm.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/rfcomm.format	(working copy)
@@ -0,0 +1,391 @@
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_rfcomm_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $ */
+/* Orisil Technology                                                      */
+/*****************************************************************************/
+
+/**********/
+/* memory */
+/**********/
+
+memalloc(
+1 memRemoteRPNBitRate
+1 memRemotePRNDataBits
+1 memRemotePRNStopBit
+1 memRemotePRNParity
+1 memRemotePRNFlowControl
+1 memRemotePRNXon
+1 memRemotePRNXoff
+
+
+3 mem_mod2div_temp
+2 mem_contw_temp
+2 mem_attrib_list
+
+//rfcomm head
+1 mem_current_adss
+1 mem_current_channel
+1 mem_current_frame_type
+1 mem_current_fcs
+2 mem_current_length
+2 mem_rfcomm_uih_payload_ptr
+
+//rfcomm uih
+1 mem_uih_cmd_type
+2 mem_uih_length
+2 mem_param_payload_ptr
+
+
+//rfcomm modem status
+1 mem_ms_param
+
+//rfcomm pn
+1 mem_pn_credit_flow_type_info
+1 mem_pn_priority
+1 mem_pn_acknowledg_timer
+1 mem_pn_max_retrans
+
+1 mem_rfcomm_send_adss
+1 mem_rfcomm_send_frame_type
+1 mem_rfcomm_send_fcs
+1 mem_rfcomm_send_offset
+
+)
+
+xmemalloc(
+1 mem_pn_dlci
+2 mem_pn_max_frame_size
+
+1 memFCStemp1
+1 memFCStemp2
+1 memFCStemp3
+
+1 mem_rfcomm_initiator
+
+1 mem_remote_spp_channel
+
+1 mem_HIUfcs_SPP
+1 mem_HIUfcs_SPP_WCredits
+
+1 mem_rfcomm_send_more_pkt
+
+1 mem_remote_credits
+1 mem_credit_given
+
+//rfcomm modem status
+1 mem_ms_channel
+
+1 mem_credit_flag
+
+2 mem_rfcomm_max_frame_size
+1 mem_rfcomm_credit_init_data
+
+2 mem_cb_receive_spp_data
+
+2 mem_nl_rx_data_src
+2 mem_nl_rx_len_all
+)
+
+
+(
+0 CREDIT_DISABLE
+1 CREDIT_ENABLE
+)
+
+
+/************************************************************************/
+  
+
+ 
+/************/
+/* constant */
+/************/
+
+/* RFCOMM state for Headset (memRFCOMM_State) */ 
+  (
+    0 RFCOMM_IDLE           /* before the responsor HS receive SABM            */
+    1 RFCOMM_W4_DLCI0_OPEN
+    2 RFCOMM_W4_DLCI0_CLOSE
+    3 RFCOMM_START_DLCI0    /* After respond SABM frame (DLCI=0)               */
+    4 RFCOMM_W4_DLCI_OPEN
+    5 RFCOMM_W4_DLCI_CLOSE
+    6 RFCOMM_DLCI_OPENED    
+   
+  )
+  
+/* RFCOMM timer constants   */
+  (
+    1000  RFCOMM_T1         /* Used by SABM and DISC frames,100*20ms = 20s     */     
+    1000  RFCOMM_T2         /* Used by commands send in UIH on DLCI0,          */
+    300   RFCOMM_T3_RINGON  /* 6s for ring fade time                           */
+  
+  )
+
+/* Command Type */
+  (
+    0x3F RSP_RX_SABM        /*responsor expect SABM from initiator             */
+    0x3F INI_TX_SABM
+	
+    0x73 RSP_TX_UA          /*responsor send out UA command                    */
+    0x73 UA_WFBIT_SET	    /* UA control field with F bit set                 */
+	
+    0xEF RSP_RX_UIH         /*responsor expect UIH from initiator              */
+
+    0xEF RSP_TX_UIH         /*responsor send UIH to initiator                  */
+     
+    0x1F RSP_TX_DM          /*responsor send DM to initiator                   */
+    0x1F DM_WFBIT_SET       /* DM control field with F bit set                 */
+    0x0F DM_WFBIT_CLEAR     /* DM control field with F bit clear               */
+
+    0x53 RSP_RX_DISC        /*responsor expect DISC from initiator             */
+    0x53 INI_TX_DISC	    /*initiator send DISC control type command         */
+     
+    0xFF RSP_RX_UIH_WDATA   /*UIH data with credit flow control info           */
+    
+    
+  )
+
+/* Multiplexor commands and responses frames */
+  (
+    0x83 PN_COMMAND           /* Bit 0 EA C/R Type = 000001         */
+    0x81 PN_RESPONSOR         /* Bit 0 EA C/R Type = 000001         */
+    
+    0xE3 MSC_COMMAND          /* Bit 0 EA C/R Type = 000111         */
+    0xE1 MSC_RESPONSOR
+ 
+    0x13 NSC_COMMAND          /* Bit 0 EA C/R Type = 001000         */
+    0x11 NSC_RESPONSOR        /* Bit 0 EA C/R Type = 001000         */
+
+    0x23 TEST_COMMAND         /* Bit 0 EA C/R Type = 000111         */
+    0x21 TEST_RESPONSOR 
+    
+    0x93 RPN_COMMAND          /* Bit 0 EA C/R Type = 001001         */
+    0x91 RPN_RESPONSOR 
+    
+    0x53 RLS_COMMAND          /* Bit 0 EA C/R Type = 001010         */
+    0x51 RLS_RESPONSOR 
+
+    0xA3 FCON_COMMAND         /* Bit 0 EA C/R Type = 000101         */
+    0xA1 FCON_RESPONSOR 
+    
+    0x63 FCOFF_COMMAND        /* Bit 0 EA C/R Type = 000110         */
+    0x61 FCOFF_RESPONSOR 
+    	
+    0x03 RLS_OVERRUN
+    0x05 RLS_PARITY_ERROR
+    0x09 RLS_FRAMING_ERROR
+  )
+
+/* memLocalCredit */
+  (
+    0x01 RFCOMM_CREDIT
+  )
+
+  (
+  	0x007f RFCOMM_MAX_FRAME_SIZE
+  )
+
+/* UIH received Data length */
+  (
+    0  LENGTH_ZERO
+    
+    6  LENGTH_OK
+    7  LENGTH_HOT
+    8  LENGTH_RING
+    9  LENGTH_ERROR
+    9  LENGTH_AGVOL_ONEBYTE
+    10 LENGTH_AGVOL_TWOBYTE
+    10 LENGTH_VOL_ONEBYTE
+    11 LENGTH_VOL_TWOBYTE
+    12 LENGTH_BRSF
+    13 LENGTH_PLUS_CIEV
+    15 LENGTH_INBANDRING
+    14 LENGTH_CIEV_CALL
+    17 LENGTH_CRING
+    20 LENGTH_BRSF_OK
+    24 LENGTH_CIND0
+    28 LENGTH_CIEV_TWO
+    32 LENGTH_CIND_OK
+    59 LENGTH_CIND_OK2
+    100 LENGTH_DISCARD
+  )
+  
+/************/
+/* flags    */
+/************/
+  
+/* memRFCOMM_L2CAP_Interface */
+  (
+    0 RFCOMM_TX_W4BUF_FLAG    /* Wait for Tx buffer empty flag */
+    1 RFCOMM_CLOSE_LINK_FLAG
+  )
+  
+
+    
+/* memRemoteMSC		*/
+  (
+    0 MSC_EA_BIT
+    1 MSC_FC_BIT
+    2 MSC_RTC_BIT
+    3 MSC_RTR_BIT
+    6 MSC_IC_BIT
+    7 MSC_DV_BIT
+  )
+
+/* memRemoteRLS         */
+  (
+    0x0C OVERRUN_ERROR
+    0x0A PARITY_ERROR
+    0x09 FRAMING_RERROR
+  )
+  
+/* memRemoteRPNBitRate  */
+  (
+    0x00 BITS2400
+    0x01 BITS4800
+    0x02 BITS7200
+    0x03 BITS9600
+    0x04 BITS19200
+    0x05 BITS38400
+    0x06 BITS57600
+    0x07 BITS115200
+    0x08 BITS230400
+  )
+  
+/* memRemotePRNDataBits	*/
+  (
+    0x00 DATABITS5
+    0x01 DATABITS6
+    0x02 DATABITS7
+    0x03 DATABITS8
+  )
+  
+/* memRemotePRNStopBit	*/
+  (
+    0    ONESTOP
+    1    ONEHALFSTOP
+  )
+  
+/* memRemotePRNParity   */
+  (
+    0    ODDPARITY
+    1    EVENPARITY
+    2    MARKPARITY
+    3    SPACEPARITY
+    
+    7    PARITY_ENABLE_BIT
+  )
+
+/* RPN bit mask(in)     */
+  (
+     0   BIT_RATE_MASK_BIT
+     1   DATA_BITS_MASK_BIT
+     2   STOP_BITS_MASK_BIT
+     3   PARITY_MASK_BIT
+     4   PARITY_TYPE_MASK_BIT
+     5   XON_CHAR_MASK_BIT
+     6   XOFF_CHAR_MASK_BIT
+  )
+  
+/* RPN bit mask(in) 2    */
+  (
+     0   XON_XOFF_INPUT_MASK_BIT
+     1   XON_XOFF_OUTPUT_MASK_BIT
+     2	 RTR_INPUT_MASK_BIT
+     3   RTR_OUTPUT_MASK_BIT
+     4   RTC_INPUT_MASK_BIT
+     5   RTC_OUTPUT_MASK_BIT
+
+  )
+
+/* memRFCOMM_Request	*/
+  (
+    0 SEND_MSC_CMD_REQ_FLAG
+    1 SEND_AT_CKPD_REQ_FLAG
+    2 SEND_RING_REQ_FLAG
+    3 SEND_SABM_CMD
+  )
+  
+/* memRFCOMM_Misc_Flag  */
+  (
+    0 MSC_CDM_ALREADY_SEND_FLAG
+    1 CREDIT_FLOW_USED_FLAG
+    2 DONT_EMBEDDED_CREDIT_FLAG 
+    3 MSC_EXCHANGE_DONE_FLAG
+    4 FLOW_CONTROL_FCOFF_BIT            /* set when receive FCoff, clear when FCon   */
+  )
+  
+/* memRemoteMSC		*/
+  (
+    1 FLOW_CONTROL_FC_BIT		/* received MSC FC bits                      */
+  
+  )
+/* Address filed        */
+  (
+    0 ADDR_EA_BIT
+    1 ADDR_CR_BIT
+    2 ADDR_D_BIT
+  )
+//should be same as descripted in SDP
+(
+    1 SPP_SLAVE_CHANNEL
+    7 OBEX_SERVER_CHANNEL
+    8 HF_SERVER_CHANNEL 
+    9 HS_SERVER_CHANNEL
+)
+/* memRFCOMM_Flag */
+(
+	0 USING_HF_PROFILE
+	1 USING_HS_PROFILE
+	2 USING_SPP_PROFILE
+)
+/*RFCOMM Frame Type*/
+(
+	0x3f RFCOMM_FRAME_TYPE_SABM
+	0x73 RFCOMM_FRAME_TYPE_UA
+	0xEF RFCOMM_FRAME_TYPE_UIH
+	0xFF RFCOMM_FRAME_TYPE_UIH_CREDITS
+	0x53 RFCOMM_FRAME_TYPE_DISCONN
+)
+/*RFCOMM UIH CMD TYPE*/
+(
+	0x41 UIH_PARAM_NEG_CMD
+	0x40 UIH_PARAM_NEG_RES
+	0x49 UIH_PARAM_CMD_REMOVE_PORT
+	0x71 UIH_MODEM_STATUS_CMD
+	0x70 UIH_MODEM_STATUS_RES
+)
+
+/*bits in rfcomm address*/
+(
+	0 RFCOMM_ADDRESS_EXT_LEN
+	1 RFCOMM_ADDRESS_CR
+	2 RFCOMM_ADDRESS_DERECTION
+
+
+)
+
+	(                                   
+	0 RFCOMM_CHANNEL_STATE_PN_CMD
+	1 RFCOMM_CHANNEL_STATE_PN_RES
+	2 RFCOMM_CHANNEL_STATE_SABM
+	3 RFCOMM_CHANNEL_STATE_UA
+	4 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	5 RFCOMM_CHANNEL_STATE_RCV_MS_CMD
+	6 RFCOMM_CHANNEL_STATE_SND_MS_RES
+	7 RFCOMM_CHANNEL_STATE_RCV_MS_RES
+	0xff RFCOMM_CHANNEL_SETUP_COMPLETE
+	) 
+
+	/*mem_rfcomm_send_more_pkt*/
+	(
+	1 MORE_PKT_MSC_CMD_HF
+	2 MORE_PKT_MSC_CMD_HS
+	3 MORE_PKT_MSC_CMD_SPP
+	4 MORE_PKT_MSC_CMD_OBEX
+	)
+
+	(
+	127 RFCOMM_MALLOC_SIZE
+	)
\ No newline at end of file
Index: YJX_Only24g/main/format/sdp.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/sdp.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/sdp.format	(working copy)
@@ -0,0 +1,70 @@
+
+memalloc(
+0 mem_sdp_mem_start
+8 mem_sdp_uuid_search_ptr
+2 mem_sdp_continue_byte
+1 mem_sdp_pduid
+2 mem_sdp_transactionid
+2 mem_sdp_transactionid_local
+2 mem_sdp_attribute_maxbyte
+2 mem_sdp_record_maxcnt
+4 mem_sdp_record_handle
+1 mem_sdp_LACAP_found
+1 mem_sdp_RFCOMM_found
+0 mem_sdp_handle_list
+32 mem_sdp_attrib_list
+2 mem_sdp_error_code
+2 mem_sdp_all_length
+1 mem_handle_humber
+2 mem_search_uuid
+0 mem_sdp_mem_end
+)
+xmemalloc(
+2 mem_ui_uuid_table
+22 mem_all_uuid_16bits
+34 mem_all_uuid_128bits
+2 mem_sdp_l2capch_ptr
+)
+(
+0 AGORHS_SERVICE
+1 GENAUDIO_SERVICE
+2 HANDSFREE_SERVICE
+)
+(
+0 ATTRIBUTEID_0000
+1 ATTRIBUTEID_0001
+2 ATTRIBUTEID_0004
+3 ATTRIBUTEID_0009
+4 ATTRIBUTEID_0100
+5 ATTRIBUTEID_0302
+6 ATTRIBUTEID_0006
+7 ATTRIBUTEID_0311
+)
+
+(
+0x01 SDP_ERROR_RES
+0x02 SDP_SEARCH_REQ
+0x03 SDP_SEARCH_RES
+0x04 SDP_ATTRIBUTE_REQ
+0x05 SDP_ATTRIBUTE_RES
+0x06 SDP_SEARCHATTRIB_REQ
+0x07 SDP_SEARCHATTRIB_RES
+)
+0x2600 sdp_max_amount
+250 SDP_MALLOC_SIZE
+0x6e sdp_tid_spp //any number
+
+(
+0x1f11 SDP_UUID_HS_AUDIO_GATEWAY
+)
+
+(
+0X09 SDP_ATTRIBUTE_ID
+0x0a SDP_ATTRIBUTE_RANGE
+)
+
+(//mem_sdp_handle_list
+7 SDP_MAX_HANDLE_NUMBER
+)
+
+ 
Index: YJX_Only24g/main/format/security.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/security.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/security.format	(working copy)
@@ -0,0 +1,141 @@
+
+memalloc(
+/* moved from bt.format for 3dh5 1021bytes packet buffer */
+17 mem_rxbuf
+
+16 mem_random_number
+16 mem_round_key
+16 mem_kinit
+
+16 mem_input_store
+16 mem_x
+15 mem_y
+1 mem_y15
+17 mem_key_store
+1 mem_key_store_end
+2 memp_ar_key
+2 memp_ar_input
+10 mem_ar_hround
+
+
+1 mem_ec_infinite
+2 mem_ec_loopc
+1 mem_aes_cmac_data_length
+
+0 memdat
+/* ecc calculation */
+
+24 mem_ax
+24  mem_ay
+24  mem_az
+24 mem_bx
+0 mem_ax_256 //32 bytes
+24 mem_by
+8 mem_bz
+16 mem_ay_256 // 32 bytes
+16 mem_cx
+8 mem_az_256 // 32 bytes
+23 mem_cy
+1 mem_cy5
+0 mem_bx_256 // 32 bytes
+24 mem_cz
+8  mem_k
+16 mem_by_256 // 31 bytes
+16 mem_align
+
+0 mem_bz_256  //32 bytes
+0 mem_tmp1
+24 memahbak
+8 mem_tmp5
+0 mem_cx_256  //32 bytes
+16 memahsave
+16  mem_tmp2
+0 mem_cy_256  // 32 bytes
+0  memahsave_end 
+1  mem_addr_padding 
+7   mem_addr_value         /* 12 bytes     */ 
+0 mem_tmp3
+5 mem_t1
+3  mem_addr_value_end   
+15 mem_addr_iocap_end
+1 mem_cy5_256 // 1 byte
+0 mem_cz_256 // 32 bytes
+0 mem_tmp0
+8 mem_t0
+16 mem_tmp0a
+8  mem_t2
+16 mem_k_256 //32 bytes
+16 mem_t3
+8  mem_tmp1_256 //32 bytes
+24 mem_t7
+
+
+32 mem_tmp5_256
+32  mem_tmp2_256
+0 mem_tmp3_256
+32 mem_t1_256
+0 mem_tmp0_256
+32 mem_t0_256
+32 mem_t2_256
+32 mem_t3_256
+32 mem_t7_256
+
+24 mem_p		
+24 mem_a
+24 mem_b
+24 mem_gx
+24 mem_gy
+32 memh0
+
+//p256
+//2 mem_ec_loopc_256
+//32 mem_ax_256
+//32 mem_ay_256
+//32 mem_az_256
+//32 mem_bx_256
+//32 mem_by_256
+//32 mem_bz_256
+//32 mem_cx_256
+//31 mem_cy_256
+//1 mem_cy5_256
+//32 mem_cz_256
+//32 mem_k_256
+
+
+//32 mem_tmp1_256
+//32 mem_tmp5_256
+//32  mem_tmp2_256
+
+//0 mem_tmp3_256
+//32 mem_t1_256
+//0 mem_tmp0_256
+//32 mem_t0_256
+//32 mem_t2_256
+//32 mem_t3_256
+//32 mem_t7_256
+
+32 mem_p_256		
+32 mem_a_256
+32 mem_gx_256
+32 mem_gy_256
+//4 mem_le_keyid
+16 mem_le_slat
+
+
+//64 mem_regext
+//1 mem_regext_index
+
+//16 mem_le_mackey
+
+
+//1 mem_AES_CMAC_flag
+//16 mem_AES_CMAC_temp
+//16 mem_AES_CMAC_M_last
+
+//4 mem_le_gkey
+
+//16 mem_le_r
+
+)
+
+
Index: YJX_Only24g/main/format/simple_pairing.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/simple_pairing.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/simple_pairing.format	(working copy)
@@ -0,0 +1,188 @@
+/* simple pairing page */
+
+memalloc(
+
+//4 mem_hci_ssp_mode
+0 mem_sp_state_start
+1 mem_sp_state
+1 mem_master_sp_state
+1 mem_sp_flag
+1 mem_master_sp_flag
+1 mem_sp_calc
+1 mem_sp_dh_ready
+1 mem_sp_localsm
+1 mem_pairing_auth
+
+0 mem_sp_flag_start
+1 mem_sp_local_key_send_count
+1 mem_sp_remote_key_recv_count
+1 mem_sp_remote_key_invalid
+1 mem_sp_dhkey_invalid
+
+
+4 mem_gkey
+
+
+8 mem_le_pubkey_remote_x_256
+0 mem_sp_pubkey_remote
+24 mem_sp_pubkey_remote_x
+0 mem_sp_pubkey_remote_x_end
+8 mem_le_pubkey_remote_y_256
+24 mem_sp_pubkey_remote_y
+
+8 mem_le_dhkey_256
+24 mem_sp_dhkey
+0 mem_sp_dhkey_end
+
+16 mem_sp_random_local
+0 mem_sp_random_local_end
+16 mem_sp_random_remote
+0 mem_sp_random_remote_end
+0 memresult
+0 mem_sp_calc_result
+4 memh
+4 memg
+4 memf
+4 meme
+0 mem_sp_calc_result_high
+4 memd
+4 memc
+4 memb
+4 mema
+16 mem_sp_check_result
+16 mem_sp_confirm_remote
+16 mem_sp_prarm_stack
+)
+
+xmemalloc(
+1 mem_sp_local_key_invalid
+
+
+32 mem_le_private_key_256
+32 mem_le_pubkey_local_x_256
+32 mem_le_pubkey_local_y_256
+
+24 mem_sp_private_key
+0 mem_sp_pubkey_local
+24 mem_sp_pubkey_local_x
+0 mem_sp_pubkey_local_x_end
+24 mem_sp_pubkey_local_y
+
+1 mem_ssp_enable
+3 mem_sp_iocap_local
+3 mem_sp_iocap_remote
+
+1 mem_flag_mode_ssp_pin
+1 mem_ssp_mode_flag
+1 mem_authentication_passkey_times
+1 mem_passkey_1bit
+1 mem_flag_pairing_state
+
+)
+/* simple pairing status flag */
+(
+  0x00   SP_FLAG_STANDBY
+  0x01   SP_FLAG_COMMIT
+  0x02   LE_SP_FLAG_COMMIT_256
+
+)
+
+/* simple pairing calc flag */
+(
+  0x00   SP_CALC_STANDBY
+  0x01   SP_CALC_PUBKEY
+  0x02   SP_CALC_DHKEY
+  0x03   SP_CALC_PUBKEY_256
+  0x04   SP_CALC_DHKEY_256
+)
+
+/* simple pairing state */
+(
+  0x00   SP_STAT_NULL
+  0x01   SP_STAT_KEY_RECV
+  0x02   SP_STAT_KEY_GENERATE
+  0x03   SP_STAT_KEY_SEND
+  0x04   SP_STAT_COMMIT_CALC
+  0x05   SP_STAT_COMMIT_SEND
+  0x06   SP_STAT_RANDOM_RECV
+  0x07   SP_STAT_RANDOM_SEND
+  0x08   SP_STAT_CONFIRM_RECV
+  0x09   SP_STAT_CONFIRM_CHECK
+  0x0A   SP_STAT_CONFIRM_CALC
+  0x0B   SP_STAT_CONFIRM_SEND
+  0x0C   SP_STAT_LINK_KEY_CALC
+  0x0F   SP_STAT_DONE
+  0x10   SP_STAT_FEATURE_EXT_SEND
+  0x11   SP_STAT_GKEY_CALC
+  /*simple pairing master only*/
+  0x12   SP_MASTER_STAT_START_SKIP
+  0x13   SP_MASTER_STAT_START_DONE
+  0x14   SP_STAT_COMMITMENT_COMPARE
+  0x15   SP_STATE_END
+)
+
+
+/* simple paring invalid flag */
+(
+  0x00   SP_KEY_INVALID
+  0x01   SP_KEY_VALID
+  0x03   SP_KEY_VALID_256
+
+)
+
+/* encapsulated defination for P-192 key */
+(
+  0x01  ENCAPSULATED_MAJOR_TYPE_P192
+  0x01  ENCAPSULATED_MINOR_TYPE_P192
+  0x30  ENCAPSULATED_LEN_P192
+)
+
+/* bluetooth 2.1 support flag */
+(
+  0x00  SIMPLE_PAIRING_ENABLE
+  0x01  ENCRYPTION_PAUSE_ENABLE
+  0x02  EXTENDED_INQUIRY_RESPOSE_ENABLE
+  0x03  SNIFF_SUBRATING_ENABLE
+)
+
+/*mem_sp_localsm*/
+(
+  0x00 DEFAULT_STATEMACHINE
+  0x01 LOCAL_STATEMACHINE
+)
+
+(
+ 0x00 DEFALT_PAIRING_AUTH
+ 0x01 PAIRING_AUTH
+)
+
+(
+1 SSP_MODE_SSP_PIN_FLAG
+2 SSP_MODE_PASSKEY_ENTRY_FLAG
+3 SSP_MODE_JUST_WORK_FLAG
+)
+
+(//ssp mode
+0x040003 SSP_MODE_JUST_WORK_IO_CAP_DATA
+0X040001 SSP_MODE_SSP_PIN_IO_CAP_DATA
+0X040002 SSP_MODE_PASSKEY_IO_CAP_DATA
+)
+
+(
+0x00 DISPLAY_ONLY
+0x01 DISPLAY_YESNO
+0x02 KEYBOARD_ONLY
+0x03 NO_INPUT_NO_OUTPUT
+)
+
+(
+7 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT
+6 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT
+0 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT
+)
+(
+1 FLAG_PAIRING_STATE_PAIRING
+0 FLAG_PAIRING_STATE_NOT_PAIRING
+)
+
+  
Index: YJX_Only24g/main/format/ui.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/ui.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/ui.format	(working copy)
@@ -0,0 +1,448 @@
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_ui_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $     */
+/************************************************************************/
+
+
+	/* ========= memory ============== */
+memalloc(
+2 mem_UI_data_txbuff_length
+
+1 mem_ipc_skip_continue_proc
+0 mem_ui_timer_temp  //length 4
+4 mem_ipc_rega_temp
+) 
+
+xmemalloc(
+//UI Work area
+1 mem_ipc_lock_bt
+1 mem_ipc_lock_c51
+8 mem_ipc_fifo_bt2c51
+8 mem_ipc_fifo_c512bt
+
+1 mem_ui_button_timer
+1 mem_ui_button_last_state
+4 mem_ui_timer_last_btclk
+2 mem_discovery_timeout_timer_count
+1 mem_hid_handshake_timer_count
+1 memui_reconnect_mode
+2 mem_ui_state_map
+
+//UI Config area
+1 mem_ui_profile_supported
+1 mem_ui_button_timeout
+1 mem_ui_button_gpio
+2 mem_discovery_timeout
+1 mem_pin_length
+16 mem_pin
+
+)
+/************/
+/* constant */
+/************/
+
+//mem_ui_state_map
+(
+0 UI_STATE_BT_CONNECTED
+1 UI_STATE_BT_SETUP_COMPLETE
+2 UI_STATE_BT_HID_CONN
+3 UI_STATE_BT_HID_HANDSHAKE
+4 UI_STATE_BT_SPP_CONN
+5 UI_STATE_BT_SNIFF
+6 UI_STATE_BT_DISCOVERY
+7 UI_STATE_BT_RECONNECT
+8 UI_STATE_BT_SLAVE_ROLE
+9 UI_STATE_BLE_CONNECTED
+10 UI_STATE_BLE_WRITE_RCV
+11 UI_STATE_BLE_ADV
+12 UI_STATE_BTN_DOWN
+)
+
+(
+1 UI_STATE_SPP_NL_AUTO_DISCOVER
+
+)
+
+/* UI state for Headset (memui_HS_State) */ 
+   (
+    0 UI_HEADSET_DISCONNECT
+    1 UI_HEADSET_IDLE                   /* before the responsor HS receive SABM      */
+    2 UI_HEADSET_W4CONNECT
+    3 UI_HEADSET_RINGING
+    4 UI_HEADSET_CONNECTED
+    5 UI_HEADSET_PARING
+  )
+/* memui_BB_State */
+(
+  0 UI_BB_OFF
+  1 UI_BB_IDLE
+  2 UI_BB_DISCOVERY
+  3 UI_BB_CONNECTED_ACTIVE_NO_SCO
+  4 UI_BB_CONNECTED_ACTIVE_WITH_SCO
+  5 UI_BB_CONNECTED_ACTIVE_WAIT_SNIFF
+  6 UI_BB_CONNECTED_SNIFF
+  7 UI_BB_RECONNECT
+  8 UI_BB_CONNECTED_SNIFF_WITH_SCO
+)
+
+/************/
+/* flags    */
+/************/
+  
+/* memui_Misc_Flags */
+  (
+    5 NO_IDLE_TURN_OFF
+    7 ANSWER_RING_FLAG               /* 1 Answer,0 no*/
+  )
+
+/* mem_UI_SCH_Interface */
+  (
+    0  UI_HS_PAIRING 
+    2  UI_REQ_CLOSE_RFCOMM
+    3  UI_LINK_LOST
+    4  UI_REQ_OPEN_SCO
+    6  UI_REQ_CLOSE_SCO
+  )
+  
+/* memui_PassOverKey */
+  (
+    0  ANSWER_RING_BIT
+    0  AG_SEND_RING_BIT
+    1  VOL_UP_BIT
+    2  VOL_DOWN_BIT
+    3  INI_CALL_BIT
+    4  DAIL_LAST_CALL
+    5  END_CALL_BIT
+    6  NOKIA_VOICE_ACTIVE 
+    7  REJECT_CALL_BIT
+  )
+  
+/* memui_reconnect_mode */
+(
+  0 NO_RECONNECTION
+  1 RECONNECT_HID
+  2 RECONNECT_HF
+  3 RECONNECT_HS
+  4 RECONNECT_HID_HF
+  5 RECONNECT_HID_HS
+)
+/* memui_Commands */
+(
+0 BT_CMD_STANDBY
+1 BT_CMD_START_DISCOVERY
+2 BT_CMD_STOP_DISCOVERY
+3 BT_CMD_RECONNECT
+4 BT_CMD_DISCONNECT
+5 BT_CMD_ENTER_SNIFF
+6 BT_CMD_EXIT_SNIFF
+7 BT_CMD_ENTER_SNIFF_SUBRATING
+8 BT_CMD_EXIT_SNIFF_SUBRATING
+9 BT_CMD_SNIFF_TEST
+10 BT_CMD_SET_PIN_CODE
+11 BT_CMD_START_INQUIRY
+12 BT_CMD_STOP_INQUIRY
+13 BT_CMD_START_ADV
+14 BT_CMD_STOP_ADV
+15 BT_CMD_START_DIRECT_ADV
+16 BT_CMD_STOP_DIRECT_ADV
+17 BT_CMD_LE_DISCONNECT
+18 BT_CMD_LE_UPDATE_CONN
+19 BT_CMD_LED_OFF
+20 BT_CMD_LED_ON
+21 BT_CMD_LED_BLINK
+22 BT_CMD_LE_START_CONN
+23 BT_CMD_LE_START_SCAN
+24 BT_CMD_LE_STOP_SCAN
+25 BT_CMD_ENTER_HIBERNATE
+27 BT_CMD_LE_SMP_SECURITY_REQUEST
+29 BT_CMD_ROLE_SWITCH
+30 BT_CMD_BB_RECONN_CANCEL
+31 BT_CMD_STORE_RECONN_INFO_LE
+32 BT_CMD_STORE_RECONN_INFO_BT
+33 BT_CMD_DHKEY_NOT_ACCEPT
+34 BT_CMD_START_24G
+35 BT_CMD_STOP_24G
+36 BT_CMD_PAIR_24G
+37 BT_CMD_STORE_RECONN_INFO
+)
+
+(
+0x00 BT_EVT_NULL
+0x01 BT_EVT_BB_CONNECTED
+0x02 BT_EVT_BB_DISCONNECTED
+0x03 BT_EVT_RECONN_STARTED
+0x04 BT_EVT_RECONN_FAILED
+0x05 BT_EVT_SETUP_COMPLETE
+0x06 BT_EVT_HID_CONNECTED
+0x07 BT_EVT_HID_DISCONNECTED
+0x08 BT_EVT_SPP_CONNECTED
+0x09 BT_EVT_SPP_DISCONNECTED
+0x0A BT_EVT_PINCODE_REQ
+0x0B BT_EVT_ENTER_SNIFF
+0x0C BT_EVT_EXIT_SNIFF
+0x0D BT_EVT_ENTER_SNIFF_SUB
+0x0E BT_EVT_EXIT_SNIFF_SUB
+0x0F BT_EVT_DISCOVERY_STOPED
+0x10 BT_EVT_BUTTON_LONG_PRESSED
+0x12 BT_EVT_HID_HANDSHAKE
+0X13 BT_EVT_RECONN_PAGE_TIMEOUT
+0x14 BT_EVT_LE_CONNECTED
+0X15 BT_EVT_LE_DISCONNECTED
+0x16 BT_EVT_ML2CAP_CONN_REFUSED
+0x17 BT_EVT_BUTTON_ENTER_HIBERNATE
+0x18 BT_EVT_LINKKEY_GENERATE
+0x19 BT_EVT_SWITCH_NOT_ACCEPT
+0x20 BT_EVT_SWITCH_ACCEPT
+0x21 BT_EVT_SNIFF_NOT_ACCEPT
+0x22 BT_EVT_SNIFF_ACCEPT
+0x23 BT_EVT_UNSNIFF_ACCEPT
+0x24 BT_EVT_UNSNIFF_NOT_ACCEPT
+0x25 BT_EVT_BUTTON_ADJUST_DPI
+0x26 BT_EVT_SEND_UNSNIFF_ACCEPT
+0x27 BT_EVT_VIRTUAL_CABLE_UNPLUG
+0x28 BT_EVT_LE_WRITE_REQUEST
+0x29 BT_EVT_LE_ENC_INFO
+0x2a BT_EVT_SWITCH_FAIL_MASTER
+0x2b BT_EVT_SWITCH_SUCCESS_MASTER
+0x2c BT_EVT_BUTTON_DOWN
+0x2d BT_EVT_BUTTON_UP
+0x2e BT_EVT_REMOTE_UNSNIFF
+0x30 BT_EVT_LE_PAIRING_FAIL
+0x31 BT_EVT_LE_PAIRING_SUCCESS
+0x32 BT_EVT_LE_START_ENC
+0X33 BT_EVT_LE_PAUSE_ENC
+0X34 BT_EVT_LE_TK_GENERATE
+0x35 BT_EVT_BT_GKEY_GENERATE
+0x36 BT_EVT_BT_GET_PASSKEY
+0x37 BT_EVT_BT_PAIRING_FAIL
+0x38 BT_EVT_BT_PAIRING_SUCCESS
+0x39 BT_EVT_24G_PAIRING_COMPLETE
+0x3a BT_EVT_24G_ATTEMPT_FAIL
+0x3b BT_EVT_LE_GKEY_GENERATE
+0x3c BT_EVT_24G_ATTEMPT_SUCCESS
+0x3d BT_EVT_STORE_NVRAM
+0x3e BT_EVT_LE_PAIRING_COMPLETE
+0x3F BT_EVT_LE_RECONNECT_COMPLETE
+0x40 BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP
+0x41 BT_EVT_LE_LTK_LOST
+)
+//switch
+(
+0 OFF
+1 ON
+)
+/* memui_mem_lock */
+(
+    0 MEM_UNLOCK
+    1 MEM_LOCK
+)
+/* memui_flag0 */
+(
+    0 UI_USER_DATA_FLAG
+    1 UI_WII_WAITING_SLEEP
+    2 UI_KEYBOARD_SNIFF_SKIP
+)
+/* mem_master_type */
+(
+    0 MTYPE_HID_DEFAULT
+    1 MTYPE_HID_SSP
+    2 MTYPE_SPP
+)
+
+	(	
+	0x01 RECIEVE_SDP_CONN_RES
+	0x02 RECIEVE_SDP_CFG_REQ
+	0x03 RECIEVE_SDP_CFG_RES
+	0x04 RECIEVE_RFCOMM_CONN_RES
+	0x05 RECIEVE_RFCOMM_CFG_REQ
+	0x06 RECIEVE_RFCOMM_CFG_RES
+	0x07 RECIEVE_HID_CTRL_CONN_RES
+	0x08 RECIEVE_HID_CTRL_CFG_REQ
+	0x09 RECIEVE_HID_CTRL_CFG_RES
+	0x0A RECIEVE_HID_INT_CONN_RES
+	0x0B RECIEVE_HID_INT_CFG_REQ
+	0x0C RECIEVE_HID_INT_CFG_RES
+	0x0D RECIEVE_AVCTP_CONN_RES
+	0x0E RECIEVE_AVCTP_CFG_REQ
+	0x0F RECIEVE_AVCTP_CFG_RES
+	0x10 RECIEVE_AVDTP_SIGNAL_CONN_RES
+	0x11 RECIEVE_AVDTP_SIGNAL_CFG_REQ
+	0x12 RECIEVE_AVDTP_SIGNAL_CFG_RES
+	0x13 RECIEVE_AVDTP_MEDIA_CONN_RES
+	0x14 RECIEVE_AVDTP_MEDIA_CFG_REQ
+	0x15 RECIEVE_AVDTP_MEDIA_CFG_RES
+	0x16 RECIEVE_SS_REASULT_HS                  
+	0x17 RECIEVE_SS_REASULT_HF                  
+	0x18 RECIEVE_SS_REASULT_AVTARG		          
+	0x19 RECIEVE_SS_REASULT_OBEX		            
+	0x1A RECIEVE_DLCI0_UA
+	0x1B RECIEVE_HS_PARAM_NEG_RES
+	0x1C RECIEVE_HS_UA
+	0x1D RECIEVE_HS_MODEM_STATUS_RES
+	0x1E RECIEVE_HS_MODEm_STATUS_CMD
+	0x1F RECIEVE_HF_PARAM_NEG_RES   
+	0x20 RECIEVE_HF_UA              
+	0x21 RECIEVE_HF_MODEM_STATUS_RES
+	0x22 RECIEVE_HF_MODEm_STATUS_CMD 
+	0x23 RECIEVE_OBEX_PARAM_NEG_RES     
+	0x24 RECIEVE_OBEX_UA              
+	0x25 RECIEVE_OBEX_MODEM_STATUS_RES
+	0x26 RECIEVE_OBEX_MODEm_STATUS_CMD    
+	0x27 RECIEVE_SPP_PARAM_NEG_RES   
+	0x28 RECIEVE_SPP_UA              
+	0x29 RECIEVE_SPP_MODEM_STATUS_RES
+	0x2A RECIEVE_SPP_MODEm_STATUS_CMD
+	0x2b RECIEVE_SDP_DISCONN_RES
+	)
+
+
+
+	(
+	0 UPPERSM_RP_IDLE
+	1 UPPERSM_RP_SDP_CONN
+	2 UPPERSM_RP_SDP_CONN_WAIT
+	3 UPPERSM_RP_SDP_CFG
+	4 UPPERSM_RP_SDP_CFG_WAIT
+	5 UPPERSM_RP_SS_AVTARG
+	6 UPPERSM_RP_SS_AVTARG_WAIT
+	7 UPPERSM_RP_SS_OBEX
+	8 UPPERSM_RP_SS_OBEX_WAIT
+	9 UPPERSM_RP_SDP_DISCONN
+	10 UPPERSM_RP_SDP_DISCONN_WAIT
+	11 UPPERSM_RP_AVDTP_CONN_WAIT
+	12 UPPERSM_RP_AVCTP_CONN
+	13 UPPERSM_RP_AVCTP_CONN_WAIT
+	14 UPPERSM_RP_AVCTP_CFG
+	15 UPPERSM_RP_AVCTP_CFG_WAIT
+	16 UPPERSM_RP_OBEX_CMD_PN
+	17 UPPERSM_RP_OBEX_CMD_PN_WAIT
+	18 UPPERSM_RP_OBEX_SABM
+	19 UPPERSM_RP_OBEX_SABM_WAIT
+	20 UPPERSM_RP_OBEX_CMD_MS
+	21 UPPERSM_RP_OBEX_CMD_MS_WAIT
+	)
+	(		/*mem_upper_sm_reconn*/
+	0 UPPERSM_RECONN_IDLE		
+	1 UPPERSM_RECONN_SDP_CONN		
+	2 UPPERSM_RECONN_SDP_CONN_WAIT		
+	3 UPPERSM_RECONN_SDP_CFG		
+	4 UPPERSM_RECONN_SDP_CFG_WAIT		
+	5 UPPERSM_RECONN_SS_HS
+	6 UPPERSM_RECONN_SS_HS_WAIT
+	7 UPPERSM_RECONN_SS_HF
+	8 UPPERSM_RECONN_SS_HF_WAIT
+	9 UPPERSM_RECONN_SS_AVTARG		
+	10 UPPERSM_RECONN_SS_AVTARG_WAIT		    
+	11 UPPERSM_RECONN_SS_OBEX		            
+	12 UPPERSM_RECONN_SS_OBEX_WAIT		      
+	13 UPPERSM_RECONN_SDP_DISCONN		        
+	14 UPPERSM_RECONN_SDP_DISCONN_WAIT      
+	15 UPPERSM_RECONN_HID_CTRL_CONN		      
+	16 UPPERSM_RECONN_HID_CTRL_CONN_WAIT		
+	17 UPPERSM_RECONN_HID_CTRL_CFG		      
+	18 UPPERSM_RECONN_HID_CTRL_CFG_WAIT     
+	19 UPPERSM_RECONN_HID_INT_CONN		      
+	20 UPPERSM_RECONN_HID_INT_CONN_WAIT		  
+	21 UPPERSM_RECONN_HID_INT_CFG		        
+	22 UPPERSM_RECONN_HID_INT_CFG_WAIT      
+	23 UPPERSM_RECONN_RFCOMM_CONN		        
+	24 UPPERSM_RECONN_RFCOMM_CONN_WAIT		  
+	25 UPPERSM_RECONN_RFCOMM_CFG		        
+	26 UPPERSM_RECONN_RFCOMM_CFG_WAIT       
+	27 UPPERSM_RECONN_RFCOMM_SABM		        
+	28 UPPERSM_RECONN_RFCOMM_SABM_WAIT		  
+	29 UPPERSM_RECONN_SPP_CMD_PN		        
+	30 UPPERSM_RECONN_SPP_CMD_PN_WAIT		    
+	31 UPPERSM_RECONN_SPP_SABM		          
+	32 UPPERSM_RECONN_SPP_SABM_WAIT		      
+	33 UPPERSM_RECONN_SPP_CMD_MS		        
+	34 UPPERSM_RECONN_SPP_CMD_MS_WAIT       
+	35 UPPERSM_RECONN_HF_CMD_PN		          
+	36 UPPERSM_RECONN_HF_CMD_PN_WAIT		    
+	37 UPPERSM_RECONN_HF_SABM		            
+	38 UPPERSM_RECONN_HF_SABM_WAIT		      
+	39 UPPERSM_RECONN_HF_CMD_MS		          
+	40 UPPERSM_RECONN_HF_CMD_MS_WAIT        
+	41 UPPERSM_RECONN_AVDTPs_CONN		        
+	42 UPPERSM_RECONN_AVDTPs_CONN_WAIT		  
+	43 UPPERSM_RECONN_AVDTPs_CFG		        
+	44 UPPERSM_RECONN_AVDTPs_CFG_WAIT       
+	45 UPPERSM_RECONN_AVDTPm_CONN		        
+	46 UPPERSM_RECONN_AVDTPm_CONN_WAIT		  
+	47 UPPERSM_RECONN_AVDTPm_CFG		        
+	48 UPPERSM_RECONN_AVDTPm_CFG_WAIT       
+	49 UPPERSM_RECONN_AVCTP_CONN		        
+	50 UPPERSM_RECONN_AVCTP_CONN_WAIT		    
+	51 UPPERSM_RECONN_AVCTP_CFG		          
+	52 UPPERSM_RECONN_AVCTP_CFG_WAIT		    
+	53 UPPERSM_RECONN_OBEX_CMD_PN		        
+	54 UPPERSM_RECONN_OBEX_CMD_PN_WAIT		  
+	55 UPPERSM_RECONN_OBEX_SABM		          
+	56 UPPERSM_RECONN_OBEX_SABM_WAIT		    
+	57 UPPERSM_RECONN_OBEX_CMD_MS		        
+	58 UPPERSM_RECONN_OBEX_CMD_MS_WAIT     
+	59 UPPERSM_RECONN_SS_SPP
+	60 UPPERSM_RECONN_SS_SPP_WAIT
+	)
+	(/*mem_UI_profile_supported*/
+	0 support_HID
+	1 support_A2DP
+	2 support_AVRCP
+	3 support_HF
+	4 support_HS
+	5 support_PBAP
+	6 support_SPP
+	)
+	/*mem_upper_sm_ss*/
+	(
+	0 UPPERSM_SS_HS
+	1 UPPERSM_SS_HF
+	2 UPPERSM_SS_AVTARG
+	3 UPPERSM_SS_OBEX
+	)
+
+	(
+	160 UI_HUNDRED_MILLISECOND_TIME
+	0XFF UI_BUTTON_GPIO_DISABLE
+	)
+	(
+	0x01 UI_BB_INCONNECT
+	0x10 UI_BB_DISCONNECT
+	)
+(
+0x00 UI_BUTTON_STATE_DOWN
+0x01 UI_BUTTON_STATE_UP
+)
+
+//mem_ipc_skip_continue_proc
+(
+	0 IPC_CONTINUE_PROCESS
+	1 IPC_SKIP_CONTINUE_PROCESS
+)
+
+
+(//led style struct 
+0 		LED_OFFSET_LED_TYPE
+1 		LED_OFFSET_BLINK_COUNT
+2		LED_OFFSET_LED_GPIO
+3		LED_OFFSET_ON_TIME
+5		LED_OFFSET_OFF_TIME
+7 		LED_OFFSET_CB_LEDON
+9		LED_OFFSET_CB_LEDOFF
+11		LED_OFFSET_LENGTH
+)
+
+(//LED state
+0 UI_LED_STATE_BLINK_STOP
+1 UI_LED_STATE_BLINK_START
+2 UI_LED_STATE_LIGHTING
+3 UI_LED_STATE_DARKING
+4 UI_LED_STATE_BLINK_LIGHTING
+5 UI_LED_STATE_BLINK_DARKING
+
+0xFF LED_INFINITE_FLASH_NUM
+
+)
+
+
Index: YJX_Only24g/main/format/utility.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/utility.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/utility.format	(working copy)
@@ -0,0 +1,255 @@
+/**
+*  @file:bt_utility_format.upper
+*  @author: lei.zhu
+*  utility header file. inlcude timer
+*  Copyright:  (C)Hanlynn Technology    
+*/
+
+memalloc(
+
+/*
+    temp parameter
+*/
+2 mem_hold_contr
+2 mem_hold_contw
+1 mem_fifo_temp
+
+8 mem_pdatatemp
+8 mem_temp //8 bytes
+4 mem_timeup // 4 bytes
+4 mem_rega //4 bytes
+4 mem_regb //4 bytes
+3 mem_regc //3 bytes
+2 mem_contr //2 bytes
+2 mem_contw //2 bytes
+
+1 mem_wakup_from_power_flag
+4 mem_saved_gpio_in
+
+0 mem_shutter_random_mac_data_temp
+0 mem_shutter_config_data_temp
+0 mem_le_adv_channel_map_temp
+0 mem_le_data_len_temp	//1byte
+0 mem_tx_fifo_map_temp
+0 mem_rpn_dlci		//1byte
+0 mem_event_cmd_response_content	//2byte
+0 mem_le_prand		//16byte
+0 mem_AES_CMAC_k	 //16 bytes
+0 mem_regext_index 	//1 bytes
+1 mem_temp_block0
+0 mem_le_data_temp	//15bytes
+15 mem_temp_block1
+0 mem_le_aes_128	//16byte
+0 mem_regext   //64 bytes
+0 mem_AES_CMAC_k1  //16 bytes
+16 mem_temp_block2
+0 mem_AES_CMAC_k2  //16 bytes
+16 mem_temp_block3
+0 mem_AES_CMAC_temp  // 16 bytes
+16 mem_temp_block4
+0 mem_AES_CMAC_M_last // 16 bytes
+1 mem_module_uart_cmd
+1 mem_module_uart_opcode
+1 mem_module_uart_len
+1 mem_module_temp_nl_discard_packet
+12 mem_temp_block5
+0 mem_le_mackey //16 bytes
+0 mem_app_receive_temp
+2 mem_key_value_temp
+2 mem_key_value
+1 mem_key_value_temp1
+1 mem_key_value_temp2
+1 mem_key_value_temp3
+1 mem_key_value_temp4
+1 mem_key_value_temp5
+1 mem_key_value_temp6
+6 mem_temp_block6
+
+1 mem_usb_status
+1 mem_usb_fifo_empty
+1 mem_usb_read_len
+64 mem_usb_rxbuf
+2 mem_bufptr
+1 mem_remain
+20 mem_devicedesc
+2 mem_hidreportdesc_kb
+2 mem_hidreportdesc_m
+100 mem_confdesc
+5 mem_string0
+30 mem_string1
+64 mem_string2
+30 mem_string3
+2 mem_usb_zero_packet
+2 mem_usb_ones_packet
+2 mem_usb_two_packet
+1 mem_usb0_state
+
+1 mem_usb_offline_check_gpio
+1 mem_usb_tx_interval
+
+0 mem_usb_clear_mem_start
+0 mem_usb_setup
+1 mem_usb_setup_bmRequestType
+1 mem_usb_setup_bRequest
+1 mem_usb_setup_bValue
+1 mem_usb_setup_bValueH
+2 mem_usb_setup_wIndex
+1 mem_usb_setup_bLength
+1 mem_usb_setup_bLengthH
+64 mem_usb0_setup
+64 mem_usb0_set_report_data
+64 mem_usb0_get_report_data
+1 mem_usb_state
+1 mem_usb_tx_wait
+1 mem_usb_tx_enable
+1 mem_usb_remote_wakeup
+1 mem_usb_clear_remote_wakeup
+1 mem_usb_ep0_stall_status
+1 mem_usb_ep1_stall_status
+1 mem_usb_ep2_stall_status
+1 mem_usb_ep3_stall_status
+2 mem_dsc_info_data_pointer
+1 mem_dsc_info_len
+1 mem_usb0_data_ready_report
+1 mem_usb_tx_win_enable
+1 mem_usb_tx_mac_enable
+1 mem_usb_device_enumeration_endflag
+1 mem_usb_wakestate_onetime_flag
+1 mem_usb_mac_wakeup_trig
+1 mem_usb_set_high_addr_flag
+1 mem_usb_set_protocol_value
+1 mem_usb_set_protocol_status
+1 mem_usb_get_protocol_flag
+1 mem_usb_idle_flag
+1 mem_usb_idle_rate
+2 mem_usb_setup_bValue_temp
+1 mem_usb0_get_set_report
+1 mem_usb_ep1_data
+1 mem_usb_ep2_data
+1 mem_usb_clear_halt
+16 mem_usb_mouse_data
+16 mem_usb_kb_data
+16 mem_usb_kb_multikey
+8 mem_usb_kb_data_sta_data
+8 mem_usb_kb_data_last_data
+3 mem_usb_kb_multikey_sta_data
+3 mem_usb_kb_multikey_last_data
+1 mem_usb_kb_blank_data_enable
+1 mem_usb_kb_mul_blank_data_enable
+1 mem_usb_test_cnt
+0 mem_usb_clear_mem_end
+1 mem_usb_test_kb
+
+256 mem_rssi_noise_buffer
+256 mem_rssi_noise_dg_buffer
+256 mem_rssi_noise_ms_buffer
+256 mem_rssi_noise_kb_buffer
+32 mem_24g_common_temp
+1 mem_24g_pair_current_ch_num
+1 mem_24g_powerful_current_ch_num
+
+ifdef DEBUGLOG
+1   mem_debuglog_temp
+1   mem_debuglog_type
+1	mem_debuglog_datalen
+2	mem_debuglog_dataval
+2	mem_debuglog_datatype
+1	mem_debuglog_tail
+8	mem_debuglog_pdata
+endif
+
+)
+
+
+(
+/*mem_util_timer_flag0_7*/
+    0   UTIL_TIMER_0_USED
+    1   UTIL_TIMER_1_USED
+    2   UTIL_TIMER_2_USED
+    3   UTIL_TIMER_3_USED
+    4   UTIL_TIMER_4_USED
+    5   UTIL_TIMER_5_USED
+    6   UTIL_TIMER_6_USED
+    7   UTIL_TIMER_7_USED
+/*mem_util_timer_flag8_15*/
+    0   UTIL_TIMER_8_USED
+    1   UTIL_TIMER_9_USED
+    2   UTIL_TIMER_10_USED
+    3   UTIL_TIMER_11_USED
+    4   UTIL_TIMER_12_USED
+    5   UTIL_TIMER_13_USED
+    6   UTIL_TIMER_14_USED
+    7   UTIL_TIMER_15_USED
+)
+
+//util fifo param
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+
+
+(
+	0xAA DEBUGLOG_HEAD
+	0x00 DEBUGLOG_TYPE
+	0x04 DEBUGLOG_LEN
+	0xBB DEBUGLOG_TAIL
+)
+
+(
+	0x1000 DEBUGLOG_DTYPE_CALLBACK
+	0x1001 DEBUGLOG_DTYPE_EVENT
+	0x1002 DEBUGLOG_DTYPE_CMD
+	0x1003 DEBUGLOG_DTYPE_STATUS
+	0x1004 DEBUGLOG_DTYPE_MISC
+	0x1005 DEBUGLOG_DTYPE_CONN_SM
+	0x1006 DEBUGLOG_DTYPE_UPPER_SM
+	0x1007 DEBUGLOG_DTYPE_PARSE_LMP
+	0x1008 DEBUGLOG_DTYPE_SEND_LMP
+)
+
+//DEBUGLOG_DTYPE_CALLBACK
+(
+	0x0000 CALLBACK_24G_DATA
+	0x0001 CALLBACK_LE_PROCESS
+	0x0002 CALLBACK_BT_PROCESS
+	0x0003 CALLBACK_BEFORE_LPM
+	0x0004 CALLBACK_BB_EVENT_PROCESS
+	0x0005 CALLBACK_IDLE_PROCESS
+	0x0006 CALLBACK_BEFORE_HIBERNATE
+	0x0007 CALLBACK_ATT_WRITE
+	0x0008 CALLBACK_EVENT_TIMER
+)
+
+//DEBUGLOG_DTYPE_EVENT
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_CMD
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_STATUS
+(
+	0x0000 STATUS_CODE_WAKE
+	0x0001 STATUS_LPM_WAKE
+	0x0004 STATUS_24G_START 
+)
+//DEBUG_DTYPE_MISC
+(
+	0x0000 MISC_LE_RETRANSMIT
+	0x0001 MISC_LOST_MOUSEDATA
+	0x0002 MISC_TXPOWER_0
+	0x0003 MISC_TXPOWER_1
+	0x0004 MISC_TXPOWER_2
+	0x0006 MISC_PULL_MOUSEDATA
+	0x0007 MISC_PUSH_MOUSEDATA
+	0x0008 MISC_LE_RETRANSMIT_MD
+
+
+)
+
+
Index: YJX_Only24g/main/format/var.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/var.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/format/var.format	(working copy)
@@ -0,0 +1,442 @@
+/************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                           */
+/* $Author: Administrator $                                                     */
+/* $Id: bt_var.osi,v 1.1 2009-09-28 04:06:18 Administrator Exp $   */
+/* Orisil Technology                                                 */
+/************************************************************************/
+
+
+/* packet types */
+(
+  0x02 FHS_PACKET 
+  0x03 DM1_PACKET 
+  0x03 DM1_LMP_PACKET 
+  0x04 DH1_PACKET 
+  0x05 HV1_PACKET 
+  0x06 HV2_PACKET 
+  0x07 HV3_PACKET 
+  0x08 DV_PACKET 
+  0x09 AUX1_PACKET 
+  0x0a DM3_PACKET 
+  0x0b DH3_PACKET 
+  0x0e DM5_PACKET 
+  0x0f DH5_PACKET 
+)
+
+
+/* mem_lmp_respond */
+(
+  0 RESPOND_TO_ALL
+  1 PASS_EVERYTHING
+  2 PASS_ONLY_UNKNOWNS
+  3 RESPOND_TO_LMPS
+)
+/* SCO algorithm defines */
+(
+  0 ULAW
+  1 ALAW
+  2 CVSD
+)
+/* encryption modes */
+(
+  0 NO_ENCRYPTION
+  1 PT_PT_ENCRYPTION
+  2 PT_BROADCAST_ENCRYPTION
+)
+
+/* bits used in mem_lmp_state1 variable */
+(
+  0 LMP_STATE_DETACH
+  1 LMP_STATE_HOLD
+  2 LMP_STATE_SNIFF
+  3 LMP_STATE_PARK
+  4 LMP_STATE_WAIT_SCO_CREATE
+  5 LMP_STATE_WAIT_SCO_KILL
+  6 LMP_STATE_SCO3
+  7 LMP_STATE_WAIT_SCO_START
+)
+/* mem_lmp_state2 */
+(
+  0 LMP_WAIT_FOR_SNIFF_ACCEPT
+  1 LMP_WAIT_FOR_PARK_ACCEPT
+  2 LMP_SEND_UNPARK_ACCEPTED
+  3 LMP_SEND_ENCRYPTION_START
+  4 LMP_SEND_ENCRYPTION_STOP
+  5 MESSAGE_QUEUE
+  7 LMP_STATE_WAIT_BEACON
+)
+/* mem_lmp_state3 */
+(
+ 0 INQUIRY_STATE_CHECK
+ 1 HOST_DELAY_MESSAGE
+ 2 VARIABLE_DELAY
+ 3 TEST_MODE_START_LOOPBACK
+ 4 TEST_MODE_START_PATTERN
+ 5 PARSE_TEST_CONTROL_MESSAGE
+ 6 H_AUTH_SEND_COMB_KEY
+)
+/* mem_rx_status */
+(
+  0 FROM_MASTER
+)
+/* mem_ms_flag */
+(
+  0 MS_RECEIVE_SWITCH_REQ
+  1 MS_SEND_SETUP_COMPLATE
+)
+/* mem_conn_sm */
+(
+  0 CONN_SM_STANDBY
+  1 CONN_SM_WAIT_PAGE
+  2 CONN_SM_SEND_FEATURES
+  3 CONN_SM_WAIT_FEATURES_RES
+  4 CONN_SM_SEND_CONN_REQ
+  5 CONN_SM_WAIT_CONN_ACCEPT
+  6 CONN_SM_AUTH_PAIR
+  7 CONN_SM_AUTH_PAIR_WAIT
+  8 CONN_SM_WAIT_MUTAL_AUTH
+  9 CONN_SM_ENCRYPT
+  0xa CONN_SM_ENCRYPT_WAIT
+  0xb CONN_SM_ENCRYPT_WAIT_CLEAR
+  0xc CONN_SM_SEND_SETUP_COMPLETE
+  0xd CONN_SM_WAIT_SETUP_COMPLETE 
+  0xe CONN_SM_SEND_SWITCH
+  0xf CONN_SM_DETACH_DELAY
+  0x10 CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION
+  0x11 CONN_SM_DELAY_RESTART_CONNECTION
+  0x12 CONN_SM_SEND_VERSION
+  0X13 CONN_SM_WAIT_VERSION
+  0x14 CONN_SM_SEND_FEATURES_EXT
+  0x15 CONN_SM_WAIT_FEATURES_EXT
+  0x16 CONN_SM_PAIRING
+  0x17 CONN_SM_AUTH
+  0x18 CONN_SM_PAIRING_WAIT
+  0x19 CONN_SM_AUTH_WAIT
+  0x1a CONN_SM_DONE
+  0x1b CONN_SM_WAIT_DONE
+)
+
+/* btStateConn1 */
+(
+  0 CONN_STANDBY
+  1 CONN_MASTER_SEND_CONN_REQ
+  2 CONN_MASTER_WAIT_FOR_CONN_ACCEPTED
+  3 CONN_MASTER_AUTH
+  4 CONN_MASTER_WAIT_FOR_FEATURES
+  5 CONN_MASTER_WAIT_FOR_SETUP_COMPLETE
+  6 CONN_MASTER_WAIT_FOR_MAX_SLOT
+  7 CONN_SLAVE_CONN_REQUESTED
+  8 CONN_SLAVE_WAIT_FOR_SETUP_COMPLETE
+  9 CONN_SLAVE_AUTH
+  10 CONN_USING_HOST_OPCODE
+  11 CONN_SLAVE_AUTH_WAIT
+  12 CONN_SLAVE_ENCRYPT_WAIT
+)
+
+/* mem_lmp_conn_state */
+(
+  0 RECEIVED_CONN_REQ
+  1 SENT_CONN_REQ
+  2 RECEIVED_SETUP_COMPLETE
+  3 SENT_SETUP_COMPLETE
+  4 HOST_CONNECTION_MADE
+  6 INIT_COMPLETE
+  7 SNIFF_NEGOTIATE
+)
+/* btStateAuth1 */
+(
+  0 WAIT_FOR_KINIT
+  1 WAIT_FOR_LKA
+  2 WAIT_FOR_LKB
+  3 WAIT_FOR_SRES
+  4 EXAMINE_RECEIVED_SRES
+  5 SEND_AU_RAND
+  6 WAIT_FOR_KC
+  7 DELAYED_ENCRYPT_RESPONSE
+)
+/* btStateAuth2 */
+(
+  0 SENT_SRES
+  1 RECEIVED_IN_RAND
+  2 SENT_AU_RAND
+  3 AUTHENTICATION_FAILED
+  4 AUTHENTICATION_PASSED
+  5 STARTED_AUTH
+  6 SENT_COMB_KEY
+  7 SENT_IN_RAND
+)
+/* btStateAuth3 */
+(
+  0 RECEIVED_AU_RAND
+  1 RECEIVED_SRES
+  2 MUTUALLY_AUTHENTICATE
+)
+/* btStateHost */
+(
+  0 H_AUTH_STARTED
+  2 H_ENCRYPTION_MODE_REQ_PT
+  3 H_ENCRYPTION_KEY_SIZE
+  4 H_ENCRYPTION_START
+  5 H_ENCRYPTION_STOP
+  6 H_AUTH_SECOND_TRY
+)
+/* btStateEncrypt2 */
+(
+  0 RECEIVED_ENCRYPT_MODE_REQ_PT
+  1 RECEIVED_ENCRYPT_KEY_SIZE
+  2 RECEIVED_ENCRYPT_START
+  3 RECEIVED_ENCRYPT_STOP
+  4 STARTED_ENCRYPT_START
+)
+/* mem_ms_state */
+(
+  0x00 MS_STANDBY
+  0x11 M_MINIT_1
+  0x12 M_MINIT_2
+  0x20 M_SINIT_0
+  0x30 S_MINIT_0
+  0x31 S_MINIT_1
+  0x32 S_MINIT_2
+  0x41 S_SINIT_1
+  0x42 S_SINIT_2
+  0x43 S_SINIT_3
+)
+/* mem_test_mode */
+(
+  0 TEST_MODE_ALLOWED
+  1 TEST_MODE_ACTIVE
+)
+/* values for mem_tester_emulate */
+(
+  0x00 NO_TEST_MODE
+  0x00 CONTINUOUS_TRANSMIT
+  0x10 TRANSMIT_TEST
+  0x08 LOOPBACK
+)
+
+/* mem_tx_misc */
+(
+  1 SEND_TX_ADDR
+)
+/* BBHWREG_page_stat */
+(
+  5 PAGE_MODE_END
+)
+/* host_return_parameters_status codes */
+(
+  0x00 HOST_RETURN_SUCCESS
+  0x01 HOST_RETURN_SLAVE_CANT_ISSUE
+  0x02 HOST_RETURN_NO_CONNECTION
+  0x04 HOST_RETURN_PAGE_TIMEOUT
+  0x05 HOST_RETURN_INQUIRY_TIMEOUT
+  0x08 HOST_RETURN_CONNECTION_TIMEOUT
+  0x09 HOST_RETURN_MAX_NUM_CONNECTIONS
+  0x0a HOST_RETURN_MAX_NUM_SCO
+  0x0b HOST_RETURN_MAX_NUM_ACL
+  0x0c HOST_RETURN_SECURITY_REASONS
+  0x10 HOST_RETURN_HOST_TIMEOUT
+  0x11 HOST_RETURN_UNSUPPORTED_FEATURE_PARAMETER
+  0x13 HOST_RETURN_OTHER_END_USER
+  0x14 HOST_RETURN_OTHER_END_LOW_RESOURCE
+  0x15 HOST_RETURN_OTHER_END_POWER_OFF
+  0x16 HOST_RETURN_LOCAL_HOST
+  0x18 HOST_RETURN_PAIRING_NOT_ALLOWED
+  0x19 HOST_RETURN_UNKNOWN_PDU
+  0x1a HOST_RETURN_UNSUPPORTED_REMOTE_FEATURE
+  0x1d HOST_RETURN_SCO_AIR_MODE_REJECTED
+  0x20 HOST_RETURN_UNSUPPORTED_LMP_VALUE
+  0x21 HOST_RETURN_AUTHENTICATION_FAILURE
+  0x22 HOST_RETURN_CHANGED_EXISTING_SCO
+  0x23 HOST_RETURN_HOST_REJECTED
+  0x24 HOST_RETURN_UNSPECIFIED_ERROR
+  0x25 HOST_RESET
+  0x26 HOST_RETURN_BAD_HANDLE
+
+  0x00 HOST_RETURN_ACCEPT_COMMAND
+  0x01 HOST_RETURN_REJECT_COMMAND
+)
+/* host_present */
+(
+  0 HOST_IS_PRESENT
+  1 BCI_IS_PRESENT
+  2 DONT_INIT_RADIO
+)
+/* mem_master_state */
+(
+  0 MASTER_STATE_STANDBY
+  1 MASTER_INQUIRY
+)
+/* misc */
+(
+  92 SECOND_SWITCH_REQ
+  93 SLAVE_DELAY_DETACH
+  94 MASTER_DELAY_DETACH
+  95 UNSNIFF_DELAY_DETACH
+  0 WE_STARTED_AS_MASTER
+  1 WE_STARTED_AS_SLAVE
+)
+/* mem_host_commands */
+(
+  0x01 HOST_INQUIRY
+  0x02 HOST_INQUIRY_CANCEL
+  0x03 HOST_CREATE_CONNECTION
+  0x04 HOST_DISCONNECT_CONNECTION
+  0x05 HOST_ADD_SCO_REQUEST
+  0x06 HOST_REMOTE_NAME_REQUEST
+  0x07 HOST_WRITE_SUPPORTED_FEATURES
+  0x08 HOST_SET_TX_LEVEL
+  0x09 HOST_SET_RX_LEVEL
+  0x0a HOST_SNIFF_REQUEST
+  0x0b HOST_UNSNIFF_REQUEST
+  0x0c HOST_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0e HOST_WRITE_SCAN_ENABLE
+  0x0f HOST_READ_AUDIO_QUALITY
+  0x10 HOST_ENABLE_DEVICE_UNDER_TEST
+  0x14 HOST_BUTTON_CONFIGURE
+  0x15 HOST_SET_LOW_BATTERY_LEVEL
+  0x16 HOST_WRITE_LOCAL_NAME
+  0x17 HOST_WRITE_LOCAL_PIN
+  0x18 HOST_KILL_SCO_REQUEST
+  0x19 HOST_QOS_REQ
+
+  0x1a HOST_FEATURES_REQUEST
+  0x1b HOST_VERSION_REQUEST
+  0x1c HOST_TIMING_REQUEST
+  0x1d HOST_CLK_OFFSET_REQUEST
+  0x1e HOST_AUTHENTICATE
+  0x1f HOST_START_ENCRYPTION
+  0x20 HOST_STOP_ENCRYPTION
+  0x21 HOST_HOLD_REQUEST
+  0x22 HOST_HOLD_FORCE
+  0x23 HOST_PARK_REQUEST
+  0x24 HOST_MOD_BEACON
+  0x25 HOST_SET_BROADCAST_SCAN_WINDOW
+  0x26 HOST_UNPARK_PM_REQUEST
+  0x27 HOST_UNPARK_BD_REQUEST
+  0x28 HOST_SLAVE_REQUEST_UNPARK
+  0x29 HOST_DECREASE_POWER_REQUEST
+  0x2a HOST_INCREASE_POWER_REQUEST
+  0x2b HOST_SEND_PREFERRED_RATE
+  0x2c HOST_MAX_SLOT_REQ
+  0x2d HOST_MAX_SLOT_FORCE
+  0x2e HOST_PAGE_MODE_REQUEST
+  0x2f HOST_PAGE_SCAN_MODE_REQUEST
+  0x30 HOST_MASTER_SLAVE_SWITCH
+  0x31 HOST_SEND_AUTO_RATE
+  0x32 HOST_PAGE_CANCEL
+  0x33 HOST_CHANGE_LINK_KEY
+  0x34 HOST_RADIO_READ
+  0x35 HOST_RADIO_WRITE
+  0x36 HOST_REMOTE_SLAVE_INIT_UNPARK_REQUESTED
+
+  0x40 HOST_REMOTE_CONNECTION_REQUESTED
+  0x41 HOST_REMOTE_DETACH
+  0x42 HOST_REMOTE_SCO_CREATE_REQUESTED
+  0x43 HOST_REMOTE_SCO_KILL_REQUESTED
+  0x44 HOST_REMOTE_PARK_REQUESTED
+  0x45 HOST_REMOTE_UNPARK_REQUESTED
+  0x46 HOST_REMOTE_SNIFF_REQUESTED
+  0x47 HOST_REMOTE_UNSNIFF_REQUESTED
+  0x48 HOST_REMOTE_HOLD_REQUESTED
+  0x49 HOST_REMOTE_AUTHENTICATION
+  0x4a HOST_REMOTE_START_ENCRYPTION_REQUESTED
+  0x4b HOST_REMOTE_STOP_ENCRYPTION_REQUESTED
+  0x4c HOST_MODE_CHANGE_EVENT
+  0x4d HOST_REMOTE_TEST_ACTIVATE
+  0x4e HOST_REMOTE_TEST_CONTROL
+  0x4f HOST_REMOTE_TIMING_REQUEST
+)
+/* BCI interface (not used if not compiled in ) */
+(
+  0x01 BCI_INQUIRY
+  0x02 BCI_INQUIRY_CANCEL
+  0x03 BCI_CREATE_CONNECTION
+  0x04 BCI_DISCONNECT
+  0x05 BCI_ADD_SCO_CONNECTION
+  0x06 BCI_REMOTE_NAME_REQUEST
+  0x07 BCI_WRITE_SUPPORTED_FEATURES
+  0x08 BCI_SET_TX_POWER_LEVEL
+  0x09 BCI_SET_RX_POWER_LEVEL
+  0x0a BCI_SNIFF_MODE
+  0x0b BCI_EXIT_SNIFF_MODE
+  0x0c BCI_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0d BCI_WRITE_PAGE_TIMEOUT
+  0x0e BCI_WRITE_SCAN_ENABLE
+  0x0f BCI_GET_AUDIO_QUALITY
+  0x10 BCI_ENABLE_DEVICE_UNDER_TEST
+  0x11 BCI_SEND_DATA
+  0x12 BCI_REGISTER_SERVICE_RECORD
+  0x13 BCI_SERVICE_SEARCH_ATTRIB_REQ
+  0x14 BCI_BUTTON_CONFIGURE
+  0x15 BCI_SET_LOW_BATTERY_LEVEL
+  0x16 BCI_WRITE_LOCAL_NAME
+  0x17 BCI_WRITE_LOCAL_PIN
+  0x18 BCI_REMOVE_SCO_CONNECTION
+  0x19 BCI_QUALITY_OF_SERVICE
+  0x40 BCI_REMOTE_CONNECTION_REQUEST
+  0x41 BCI_REMOTE_DETACH
+  0x42 BCI_REMOTE_ADD_SCO_REQUEST
+  0x43 BCI_REMOTE_REMOVE_SCO_REQUEST
+  0x44 BCI_REMOTE_PARK_REQUEST
+  0x45 BCI_REMOTE_UNPARK_REQUEST
+  0x46 BCI_REMOTE_SNIFF_REQUEST
+  0x47 BCI_REMOTE_UNSNIFF_REQUEST
+  0x48 BCI_REMOTE_HOLD_REQUEST
+  0x49 BCI_REMOTE_AUTHENTICATION_PAIRING_REQUEST
+  0x4a BCI_REMOTE_START_ENCRYPTION_REQUEST
+  0x4b BCI_REMOTE_STOP_ENCRYPTION_REQUEST
+  0x4c BCI_MODE_CHANGE_EVENT
+)
+/* mode changes */
+(
+  0 MODE_CHANGE_ACTIVE
+  1 MODE_CHANGE_SNIFFING
+  2 MODE_CHANGE_PARKED
+  3 MODE_CHANGE_HOLDING
+  4 MODE_CHANGE_SCO_ADDED
+  5 MODE_CHANGE_SCO_REMOVED
+  6 MODE_CHANGE_ACL_CONNECTION
+  7 MODE_CHANGE_DISCONNECT
+  8 MODE_CHANGE_SCO_CHANGED
+  9 MODE_CHANGE_ENCRYPTING
+  10 MODE_CHANGE_NOT_ENCRYPTING
+  11 MODE_CHANGE_BUTTON_UP
+  12 MODE_CHANGE_BUTTON_DOWN
+  13 MODE_CHANGE_BATTERY_LOW
+  14 MODE_CHANGE_RESET
+  15 MODE_CHANGE_INQUIRY_CANCELED_RMTCMD
+  16 MODE_ACTIVE_MSSWITCH_PASSED
+  17 MODE_ACTIVE_MSSWITCH_FAILED
+)
+/* mem_battery - low nibble is level information, upper nibble is status info */
+(
+  6 BATTERY_CHECK_LEVEL
+  7 BATTERY_SENT_STATUS
+)
+/* mem_radio_version */
+(
+  0x02 RADIO_2001
+  0x12 RADIO_2002
+  0x32 RADIO_2002_DDM
+  0x42 RADIO_1008A1
+  0x52 RADIO_1018A0
+)
+/* mem_slave_initiated_conn */
+(
+  0 SLAVE_INIT_AUTHENTICATION
+  1 SLAVE_INIT_ENCRYPTION
+  2 SLAVE_INIT_MASTER_SLAVE_SWITCH
+)
+/* connection_options */
+(
+  0 CONNECTION_AUTH
+  1 CONNECTION_ENCRYPT
+  2 CONNECTION_SWITCH
+  3 CONNECTION_ACL
+  4 CONNECTION_FEATURE_EXT
+)
+/* mem_debug_config */
+(
+  7 AA_INSERTION
+)
+
Index: YJX_Only24g/main/output/bt_format.meta
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_format.meta	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_format.meta	(working copy)
@@ -0,0 +1,9213 @@
+0x4000 mem_patch00
+0x4001 mem_patch01
+0x4002 mem_patch02
+0x4003 mem_patch03
+0x4004 mem_patch04
+0x4005 mem_patch05
+0x4006 mem_patch06
+0x4007 mem_patch07
+0x4008 mem_patch08
+0x4009 mem_patch09
+0x400a mem_patch0a
+0x400b mem_patch0b
+0x400c mem_patch0c
+0x400d mem_patch0d
+0x400e mem_patch0e
+0x400f mem_patch0f
+0x4010 mem_patch10
+0x4011 mem_patch11
+0x4012 mem_patch12
+0x4013 mem_patch13
+0x4014 mem_patch14
+0x4015 mem_patch15
+0x4016 mem_patch16
+0x4017 mem_patch17
+0x4018 mem_patch18
+0x4019 mem_patch19
+0x401a mem_patch1a
+0x401b mem_patch1b
+0x401c mem_patch1c
+0x401d mem_patch1d
+0x401e mem_patch1e
+0x401f mem_patch1f
+0x4020 mem_patch20
+0x4021 mem_patch21
+0x4022 mem_patch22
+0x4023 mem_patch23
+0x4024 mem_patch24
+0x4025 mem_patch25
+0x4026 mem_patch26
+0x4027 mem_patch27
+0x4028 mem_patch28
+0x4029 mem_patch29
+0x402a mem_patch2a
+0x402b mem_patch2b
+0x402c mem_patch2c
+0x402d mem_patch2d
+0x402e mem_patch2e
+0x402f mem_patch2f
+0x4030 mem_patch30
+0x4031 mem_patch31
+0x4032 mem_patch32
+0x4033 mem_patch33
+0x4034 mem_patch34
+0x4035 mem_patch35
+0x4036 mem_patch36
+0x4037 mem_patch37
+0x4038 mem_patch38
+0x4039 mem_patch39
+0x403a mem_patch3a
+0x403b mem_patch3b
+0x403c mem_patch3c
+0x403d mem_patch3d
+0x403e mem_patch3e
+0x403f mem_patch3f
+0x4040 mem_context
+0x4090 mem_current_amaddr
+0x4091 mem_lpm_mode
+0x4092 mem_device_option
+0x4093 mem_scan_mode
+0x4094 mem_last_clkn
+0x4098 mem_features
+0x40a0 mem_lap
+0x40a3 mem_uap
+0x40a4 mem_nap
+0x40a6 mem_npage
+0x40a7 mem_glap
+0x40aa mem_class
+0x40ad mem_iscan_window
+0x40af mem_iscan_interval
+0x40b1 mem_pscan_window
+0x40b3 mem_pscan_interval
+0x40b5 mem_page_interval
+0x40b7 mem_page_window
+0x40b9 mem_page_to
+0x40bb mem_inq_window
+0x40bd mem_fcomp_mul
+0x40be mem_fcomp_div
+0x40bf mem_rx_window_init
+0x40c1 mem_rx_window_sniff
+0x40c3 mem_rf_init_ptr
+0x40c5 mem_last_type
+0x40c6 mem_last_type_esco
+0x40c7 mem_last_type_saved
+0x40c8 mem_retransmission_cnt
+0x40ca mem_next_btclk
+0x40ce mem_rf_rccal
+0x40cf mem_handle_num
+0x40d0 mem_max_slot
+0x40d1 mem_eir_enable
+0x40d2 mem_afh_instant
+0x40d6 mem_afh_error_total
+0x40d8 mem_afh_cfg
+0x40d9 mem_afh_new_mod
+0x40da mem_afh_map_lo
+0x40df mem_afh_map_hi
+0x40e4 mem_afh_used
+0x40e5 mem_afh_index
+0x40e7 mem_afh_map_new
+0x40f2 mem_afh_map
+0x4142 mem_afh_timer
+0x4146 mem_afh_classify_channel_map
+0x4150 mem_chip_functions
+0x4152 mem_lpm_wake_lock
+0x4154 mem_lpm_interval
+0x4156 mem_lpm_overhead
+0x4157 mem_lpm_hibernate_switch
+0x4158 mem_esco_addr
+0x4159 mem_sniff_unint_lost
+0x415a mem_ptt
+0x415b mem_sleep_counter//should be 0x41fc in REVC
+0x415f mem_sleep_counter_all
+0x4163 mem_sleep_clkn
+0x4169 mem_sniff_rcv
+0x416c mem_sniff_lost
+0x416f mem_clks_per_lpo
+0x4172 mem_lpm_mult
+0x4173 mem_lpm_mult_timeout
+0x4174 mem_lpm_mult_cnt
+0x4175 mem_lpm_config
+0x4178 mem_lpm_xtalcnt
+0x4179 mem_lpm_buckcnt
+0x417a mem_lpm_ldocnt
+0x417b mem_lpm_isogate
+0x417c mem_lpm_isogate_final
+0x417d mem_saved_gpio// should be 0x421e in REVC
+0x418d mem_saved_gsel
+0x4190 mem_saved_mark
+0x4198 mem_saved_spidctrl
+0x4199 mem_patch_ptr
+0x419b mem_patch_len
+0x419d mem_timers
+0x41bd mem_link_key_exists
+0x41be mem_link_key
+0x41ce mem_hci_cmd
+0x41cf mem_hci_conn_handle
+0x41d0 mem_hci_plap
+0x41d3 mem_hci_puap
+0x41d4 mem_hci_pnap
+0x41d6 mem_uartd_rxitems_got_data
+0x41d7 mem_uartd_rxitems_threshold
+0x41d8 mem_uartd_rx_timeout
+0x41da mem_loadcode_times
+0x41db mem_tx_lch
+0x41dc mem_tx_len
+0x41de mem_tx_power
+0x41df mem_context_number
+0x41e0 mem_250k_freq_enable
+0x41e1 mem_rf_init_data
+0x41e2 mem_app_handshake_flag
+0x41e3 mem_sniff_param_interval
+0x41e5 mem_sniff_param_attempt
+0x41e7 mem_sniff_param_timeout
+0x41e9 mem_cb_check_wakelock
+0x41eb mem_cb_before_hibernate
+0x41ed mem_cb_before_lpm
+0x41ef mem_cb_le_process
+0x41f1 mem_cb_bt_process
+0x41f3 mem_cb_idle_process
+0x41f5 mem_cb_bb_event_process
+0x41f7 mem_cb_discovry_timeout
+0x41f9 mem_cb_att_write
+0x41fb mem_cb_ble_transmit
+0x41fd mem_cb_event_timer
+0x41ff mem_cb_bt_set_mult
+0x4201 mem_cb_spi_flash_write_complate
+0x4203 mem_eeprom_base
+0x4205 mem_unsniff2sniff_timer_count
+0x4206 mem_wake_up_delay_timer
+0x4207 mem_app_connection_options
+0x4208 mem_app_disconn_reason
+0x420a mem_app_disconn_reason_flag
+0x420c mem_lpm_delay_after_sniff
+0x4210 mem_xrecord_mode
+0x4211 mem_eeprom_block_size
+0x4212 mem_spi_init_clk
+0x4213 mem_spi_init_delay_time
+0x4214 mem_spi_ncs_gpio
+0x4215 mem_nv_data_ptr
+0x4217 mem_nv_data_number
+0x4218 mem_queue_ptr
+0x421a mem_ui_led_struct_num
+0x421b mem_ui_led_struct_ptr
+0x421d mem_0_5_adc_io_data
+0x421f mem_1v_adc_hvin_data
+0x4221 mem_2v_adc_vinlpm_data
+0x4223 mem_1v_adc_io_data
+0x4225 mem_5v_adc_hvin_data
+0x4227 mem_3v_adc_vinlpm_data
+0x4229 mem_otp_adc_flag
+0x422b mem_reference_voltage
+0x422d mem_adc_config_flag
+0x422e mem_adc_channel
+0x422f mem_adc_current_value
+0x4231 mem_adc_power_flag//bit0:low power falg ; bit1:no power flag
+0x4232 mem_spi_write_addr
+0x4235 mem_spi_write_ptr
+0x4237 mem_spi_write_len
+0x4239 mem_spi_write_flash_sm
+0x423a mem_eeprom_wp_gpio
+0x423b mem_kscan_ptr
+0x423d mem_key_num_ptr
+0x423d mem_keyscan_ptr
+0x423f mem_power_param_ptr
+0x4241 mem_24g_head_ptr
+0x4243 mem_baud
+0x4245 mem_hci_lt_rx_state
+0x4246 mem_l2cap_xmem_start
+0x4246 mem_l2cap_tx_multi_offset//0 means single packet
+0x4248 mem_sdp_remote_cid
+0x424a mem_rfcomm_remote_cid
+0x424c mem_hid_ctrl_remote_cid
+0x424e mem_hid_int_remote_cid
+0x4250 mem_sdp_state
+0x4251 mem_rfcomm_state
+0x4252 mem_hid_control_state
+0x4253 mem_hid_interrupt_state
+0x4254 mem_spp_state
+0x4255 mem_ML2CAP_comm_id
+0x4256 mem_used_map
+0x4257 mem_tx_fifo0
+0x4257 mem_tx_fifo0_map
+0x4258 mem_tx_fifo0_ptr
+0x425a mem_tx_fifo1
+0x425a mem_tx_fifo1_map
+0x425b mem_tx_fifo1_ptr
+0x425d mem_tx_fifo2
+0x425d mem_tx_fifo2_map
+0x425e mem_tx_fifo2_ptr
+0x4260 mem_tx_fifo3
+0x4260 mem_tx_fifo3_map
+0x4261 mem_tx_fifo3_ptr
+0x4263 mem_tx_fifo_end
+0x4263 mem_l2cap_lpm_txbuf
+0x4363 mem_l2cap_flow_ctrl_flag
+0x4364 mem_l2cap_pending_item
+0x4365 mem_l2cap_xmem_end
+0x4365 mem_le_dsniff
+0x4367 mem_le_conn_interval
+0x4369 mem_le_scan_enable
+0x436a mem_le_scan_interval
+0x436c mem_le_scan_window
+0x436e mem_le_adv_enable
+0x436f mem_le_adv_data_len
+0x4370 mem_le_adv_data
+0x438f mem_le_scan_data_len
+0x4390 mem_le_scan_data
+0x43af mem_le_name_len
+0x43b0 mem_le_name
+0x43ce mem_le_new_map
+0x43d3 mem_le_new_param
+0x43d3 mem_le_new_transmitwindowsize
+0x43d4 mem_le_new_transmitwindowoffset
+0x43d6 mem_le_new_conninterval
+0x43d8 mem_le_new_connslavelatency
+0x43da mem_le_new_connsupervisiontimeout
+0x43dc mem_le_txheader
+0x43dd mem_le_txlen
+0x43de mem_le_txpayload
+0x43e0 mem_le_txcid
+0x43e2 mem_le_l2cap
+0x43e3 mem_le_l2cap_response
+0x43e4 mem_le_txbdy
+0x4403 mem_le_pcnt_tx
+0x4408 mem_le_pcnt_rx
+0x440d mem_le_last_mic
+0x4411 mem_le_ivm
+0x4415 mem_le_ivs
+0x4419 mem_le_ltk
+0x4429 mem_ltk_exists
+0x442a mem_le_rconfirm
+0x443a mem_le_srand
+0x444a mem_le_iat
+0x444b mem_le_rat
+0x444c mem_le_preq
+0x444d mem_le_preq_iocap
+0x444e mem_le_preq_oob
+0x444f mem_le_preq_auth
+0x4450 mem_le_preq_max_keysize
+0x4451 mem_le_preq_init_key_distribution
+0x4452 mem_le_preq_resp_key_distribution
+0x4453 mem_le_pres
+0x4454 mem_le_pres_iocap
+0x4455 mem_le_pres_oob
+0x4456 mem_le_pres_auth
+0x4457 mem_le_pres_max_keysize
+0x4458 mem_le_pres_init_key_distribution
+0x4459 mem_le_pres_resp_key_distribution
+0x445a mem_le_search_handle_start
+0x445c mem_le_search_handle_end
+0x445e mem_le_att_offset
+0x445e mem_le_search_att_type_length
+0x445f mem_le_search_att_type
+0x446f mem_le_notify_handle
+0x4471 mem_le_search_uuid_length
+0x4472 mem_le_search_uuid
+0x4482 mem_le_adv_param
+0x4482 mem_le_adv_interval
+0x4484 mem_le_adv_type
+0x4485 mem_le_adv_own_addr_type
+0x4486 mem_le_adv_direct_addr_type
+0x4487 mem_le_adv_direct_addr
+0x448d mem_le_adv_channel_map
+0x448e mem_le_conn_param
+0x448e mem_le_conn_peer_addr_type
+0x448f mem_le_conn_peer_addr
+0x4495 mem_le_conn_own_addr_type
+0x4496 mem_le_interval_min
+0x4498 mem_le_interval_max
+0x449a mem_le_latency
+0x449c mem_le_timeout
+0x449e mem_le_scan_params
+0x449e mem_le_scan_type
+0x449f mem_le_scan_own_addr_type
+0x44a0 mem_le_lap
+0x44a3 mem_le_uap
+0x44a4 mem_le_nap
+0x44a6 mem_le_local_mtu
+0x44a8 mem_le_remote_mtu
+0x44aa mem_le_skdm
+0x44b2 mem_le_skds
+0x44ba mem_le_init_superto
+0x44bc mem_ui_le_uuid_table
+0x44be mem_le_secure_connect_enable
+0x44bf mem_le_secure_connect_flag
+0x44c0 mem_le_sc_calc
+0x44c1 mem_le_secure_connect_state
+0x44c2 mem_le_sc_confirm_gkey_flag
+0x44c3 mem_le_sc_local_key_invalid
+0x44c4 mem_le_pairing_state
+0x44c5 mem_le_enc_state
+0x44c6 mem_le_pairing_mode
+0x44c7 mem_le_tk
+0x44cb mem_le_ediv
+0x44cd mem_le_rand
+0x44d5 mem_le_irk
+0x44e5 mem_le_transmit_window
+0x44e9 mem_le_configuration
+0x44ea mem_le_fixed_ltk
+0x44fa mem_le_pairing_handle
+0x44fc mem_le_l2cap_size
+0x44fe mem_le_packet_len_recved
+0x44ff mem_le_tx_buff_used
+0x4500 mem_le_tx_ptr0
+0x4502 mem_le_tx_ptr1
+0x4504 mem_le_tx_ptr2
+0x4506 mem_le_tx_ptr3
+0x4508 mem_le_signaling_identifier
+0x4509 mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x450b mem_le_packet_size
+0x450c mem_le_packet_llid
+0x450d mem_le_payload_ptr
+0x450f mem_le_md_count
+0x4510 mem_lmp_version
+0x4513 mem_lmp_subversion
+0x4515 mem_local_name_length
+0x4516 mem_local_name
+0x4519 mem_local_name2
+0x4559 mem_local_name_end
+0x455a mem_unsniff2sniff_timer
+0x455b mem_switch_flag
+0x455c mem_classic_bt_flag
+0x455d mem_pn_dlci
+0x455e mem_pn_max_frame_size
+0x4560 memFCStemp1
+0x4561 memFCStemp2
+0x4562 memFCStemp3
+0x4563 mem_rfcomm_initiator
+0x4564 mem_remote_spp_channel
+0x4565 mem_HIUfcs_SPP
+0x4566 mem_HIUfcs_SPP_WCredits
+0x4567 mem_rfcomm_send_more_pkt
+0x4568 mem_remote_credits
+0x4569 mem_credit_given
+0x456a mem_ms_channel
+0x456b mem_credit_flag
+0x456c mem_rfcomm_max_frame_size
+0x456e mem_rfcomm_credit_init_data
+0x456f mem_cb_receive_spp_data
+0x4571 mem_nl_rx_data_src
+0x4573 mem_nl_rx_len_all
+0x4575 mem_ui_uuid_table
+0x4577 mem_all_uuid_16bits
+0x458d mem_all_uuid_128bits
+0x45af mem_sdp_l2capch_ptr
+0x45b1 mem_sp_local_key_invalid
+0x45b2 mem_le_private_key_256
+0x45d2 mem_le_pubkey_local_x_256
+0x45f2 mem_le_pubkey_local_y_256
+0x4612 mem_sp_private_key
+0x462a mem_sp_pubkey_local
+0x462a mem_sp_pubkey_local_x
+0x4642 mem_sp_pubkey_local_x_end
+0x4642 mem_sp_pubkey_local_y
+0x465a mem_ssp_enable
+0x465b mem_sp_iocap_local
+0x465e mem_sp_iocap_remote
+0x4661 mem_flag_mode_ssp_pin
+0x4662 mem_ssp_mode_flag
+0x4663 mem_authentication_passkey_times
+0x4664 mem_passkey_1bit
+0x4665 mem_flag_pairing_state
+0x4666 mem_ipc_lock_bt
+0x4667 mem_ipc_lock_c51
+0x4668 mem_ipc_fifo_bt2c51
+0x4670 mem_ipc_fifo_c512bt
+0x4678 mem_ui_button_timer
+0x4679 mem_ui_button_last_state
+0x467a mem_ui_timer_last_btclk
+0x467e mem_discovery_timeout_timer_count
+0x4680 mem_hid_handshake_timer_count
+0x4681 memui_reconnect_mode
+0x4682 mem_ui_state_map
+0x4684 mem_ui_profile_supported
+0x4685 mem_ui_button_timeout
+0x4686 mem_ui_button_gpio
+0x4687 mem_discovery_timeout
+0x4689 mem_pin_length
+0x468a mem_pin
+0x469a mem_antl_lpm_interval
+0x469c mem_antl_adv_interval
+0x469e mem_antl_slow_adv_lpm_interval
+0x46a0 mem_antl_slow_adv_adv_interval
+0x46a2 mem_antl_led_style
+0x46a2 mem_antl_led_type
+0x46a3 mem_antl_led_blink_count
+0x46a4 mem_antl_led_gpio
+0x46a5 mem_antl_led_on_time
+0x46a7 mem_antl_led_off_time
+0x46a9 mem_antl_led_cb_on
+0x46ab mem_antl_led_cb_off
+0x46ad mem_antl_buzzer_style
+0x46ad mem_antl_buzzer_type
+0x46ae mem_antl_buzzer_blink_count
+0x46af mem_antl_buzzer_gpio
+0x46b0 mem_antl_buzzer_on_time
+0x46b2 mem_antl_buzzer_off_time
+0x46b4 mem_antl_buzzer_cb_on
+0x46b6 mem_antl_buzzer_cb_off
+0x46b8 mem_antl_fast_adv_led_style
+0x46b8 mem_antl_fast_adv_led_type
+0x46b9 mem_antl_fast_adv_led_blink_count
+0x46ba mem_antl_fast_adv_led_gpio
+0x46bb mem_antl_fast_adv_led_on_time
+0x46bd mem_antl_fast_adv_led_off_time
+0x46bf mem_antl_slow_adv_led_style
+0x46bf mem_antl_slow_adv_led_type
+0x46c0 mem_antl_slow_adv_led_blink_count
+0x46c1 mem_antl_slow_adv_led_gpio
+0x46c2 mem_antl_slow_adv_led_on_time
+0x46c4 mem_antl_slow_adv_led_off_time
+0x46c6 mem_antl_power_starting_led_style
+0x46c6 mem_antl_power_starting_led_type
+0x46c7 mem_antl_power_starting_led_blink_count
+0x46c8 mem_antl_power_starting_led_gpio
+0x46c9 mem_antl_power_starting_led_on_time
+0x46cb mem_antl_power_starting_led_off_time
+0x46cd mem_antl_power_starting_buzzer_style
+0x46d4 mem_antl_power_off_led_style
+0x46d4 mem_antl_power_off_led_type
+0x46d5 mem_antl_power_off_led_link_count
+0x46d6 mem_antl_power_off_led_gpio
+0x46d7 mem_antl_power_off_led_on_time
+0x46d9 mem_antl_power_off_led_off_time
+0x46db mem_antl_power_off_buzzer_style
+0x46db mem_antl_power_off_buzzer_type
+0x46dc mem_antl_power_off_buzzer_link_count
+0x46dd mem_antl_power_off_buzzer_gpio
+0x46de mem_antl_power_off_buzzer_on_time
+0x46e0 mem_antl_power_off_buzzer_off_time
+0x46e2 mem_antl_alert_led_stlye
+0x46e9 mem_antl_alert_buzzer_stlye
+0x46e9 mem_antl_alert_buzzer_type
+0x46ea mem_antl_alert_buzzer_blink_count
+0x46eb mem_antl_alert_buzzer_gpio
+0x46ec mem_antl_alert_buzzer_on_time
+0x46ee mem_antl_alert_buzzer_off_time
+0x46f0 mem_antl_key_led_style
+0x46f0 mem_antl_key_led_type
+0x46f1 mem_antl_key_led_blink_count
+0x46f2 mem_antl_key_led_gpio
+0x46f3 mem_antl_key_led_on_time
+0x46f5 mem_antl_key_led_off_time
+0x46f7 mem_antl_key_buzzer_style
+0x46fe mem_antl_queue_width
+0x46ff mem_antl_queue_depth
+0x4700 mem_antl_queue_curr_num
+0x4701 mem_antl_queue_read_ptr
+0x4702 mem_antl_queue_write_ptr
+0x4703 mem_antl_queue_buff
+0x4753 mem_antl_key_scan_enable
+0x4754 mem_antl_led_num
+0x4755 mem_antl_led_gpio_map
+0x4759 mem_antl_power_param
+0x4759 mem_antl_power_state
+0x475a mem_antl_power_timer
+0x475b mem_antl_power_off_timeout
+0x475c mem_antl_power_starting_timeout
+0x475d mem_antl_power_off_cb
+0x475f mem_antl_power_starting_cb
+0x4761 mem_antl_power_standby_cb
+0x4763 mem_event_button_up_cb
+0x4765 mem_antl_key_num
+0x4766 mem_cb_antl_key
+0x4768 mem_antl_key_conf0
+0x476c mem_antl_key0_press
+0x477b mem_antl_key0_release
+0x478a mem_antl_conn_updata_procedure_state
+0x478b mem_client_characteristic_configuration_descriptor
+0x478d mem_adc_timer
+0x478f mem_antl_conn_update_timer
+0x4790 mem_antl_send_updata_le_param_timer
+0x4791 mem_antl_le_sleep_timer
+0x4793 mem_antl_fast_adv_timer
+0x4795 mem_antl_fast_adv_timeout
+0x4797 mem_antl_le_sleep_timeout
+0x4799 mem_double_click_timer
+0x479a mem_butten_click_cnt
+0x479b mem_antl_led_state
+0x479c mem_antl_buzzer_state
+0x479d mem_antl_key_state
+0x479e mem_antl_lost_mode
+0x479f mem_alarm_config
+0x47a0 mem_alarm_config_notfy_cnt
+0x47a1 mem_buzzer_pwm_conf
+0x47a7 mem_adc_timeout
+0x47a9 mem_voltage_remain_percent
+0x47aa mem_battery_calculate_set
+0x47aa mem_battery_full_voltage
+0x47ac mem_battery_empty_voltage
+0x47ae mem_battery_low_voltage
+0x47b0 mem_battery_current_voltage
+0x47b2 mem_rx_window_sniff_inc
+0x47b4 mem_interval_increment
+0x47b6 mem_antl_le_interval_min
+0x47b8 mem_antl_le_interval_max
+0x47ba mem_antl_le_latency
+0x47bc mem_antl_le_timeout
+0x47be mem_antl_le_unnormal_interval_min
+0x47c0 mem_antl_le_unnormal_interval_max
+0x47c2 mem_antl_le_unnormal_latency
+0x47c4 mem_antl_le_unnormal_timeout
+0x47c6 mem_AntiLost_le_att_list
+0x469a mem_car_hard_soft_switch
+0x469b mem_car_queue_each_size
+0x469c mem_car__queue_length
+0x469d mem_car_queue_curr_num
+0x469e mem_car_queue_read_ptr
+0x469f mem_car_queue_write_ptr
+0x46a0 mem_car_queue_ele
+0x4718 mem_car_pop_queue_buff
+0x472c mem_car_led_num
+0x472d mem_car_led_map
+0x4737 mem_car_style1_led_type
+0x4738 mem_car_style1_blink_count
+0x4739 mem_car_style1_struct_led_gpio
+0x473a mem_car_style1_on_time
+0x473c mem_car_style1_off_time
+0x473e mem_car_style1_cb_ledon
+0x4740 mem_car_style1_cb_ledoff
+0x4742 mem_car_style2_led_type
+0x4743 mem_car_style2_blink_count
+0x4744 mem_car_style2_struct_led_gpio
+0x4745 mem_car_style2_on_time
+0x4747 mem_car_style2_off_time
+0x4749 mem_car_style2_cb_ledon
+0x474b mem_car_style2_cb_ledoff
+0x474d mem_le_receive_data
+0x474d mem_le_receive_packet_head
+0x474f mem_le_receive_cmd
+0x4750 mem_le_receive_length
+0x4752 mem_le_receive_payload
+0x475c mem_le_receive_checksum
+0x475d mem_motor1_status
+0x475e mem_motor1_speed
+0x475f mem_motor2_status
+0x4760 mem_motor2_speed
+0x4761 mem_motor3_status
+0x4762 mem_motor3_speed
+0x4763 mem_motor1_pwm_set
+0x4763 mem_motor1_pwm_pin1_set
+0x4764 mem_motor1_pwm_pin2_set
+0x4765 mem_motor1_pwm_pin_set
+0x4766 mem_motor1_pwm_channel_set
+0x4767 mem_motor1_pwm_freq_set
+0x476a mem_motor1_pwm_dute_set
+0x476b mem_motor2_pwm_set
+0x476b mem_motor2_pwm_pin1_set
+0x476c mem_motor2_pwm_pin2_set
+0x476d mem_motor2_pwm_pin_set
+0x476e mem_motor2_pwm_channel_set
+0x476f mem_motor2_pwm_freq_set
+0x4772 mem_motor2_pwm_dute_set
+0x4773 mem_motor3_pwm_set
+0x4773 mem_motor3_pwm_pin1_set
+0x4774 mem_motor3_pwm_pin2_set
+0x4775 mem_motor3_pwm_pin_set
+0x4776 mem_motor3_pwm_channel_set
+0x4777 mem_motor3_pwm_freq_set
+0x477a mem_motor3_pwm_dute_set
+0x477b mem_motor_select_p_n
+0x477c mem_car_motor_status
+0x477d mem_car_motor_speed
+0x477e mem_motor_pwm_set
+0x477e mem_motor_pwm_pin1_set
+0x477f mem_motor_pwm_pin2_set
+0x4780 mem_motor_pwm_pin_set
+0x4781 mem_motor_pwm_channel_set
+0x4782 mem_motor_pwm_freq_set
+0x4785 mem_motor_pwm_dute_set
+0x4786 mem_ir_rx_gpio
+0x4787 mem_ir_data
+0x4789 mem_ir_rx_buf
+0x478b mem_ir_receive_clkn
+0x478f mem_ir_notify_data
+0x4792 mem_ir_notify_data_head
+0x4797 mem_ir_notify_data_payload
+0x4799 mem_ir_notify_data_check_sum
+0x479a mem_car_ir_breakdown_check_timer
+0x479b mem_car_ir_breakdown_flag
+0x479c mem_car_led_control
+0x479c mem_car_led1_status
+0x479d mem_car_led2_status
+0x479e mem_car_led3_status
+0x479f mem_car_led4_status
+0x47a0 mem_car_led5_status
+0x47a1 mem_car_led6_status
+0x47a2 mem_car_led7_status
+0x47a3 mem_car_led8_status
+0x47a4 mem_car_led_control_timer
+0x47a5 mem_car_led_blink_status
+0x47a6 mem_car_led_no
+0x47a7 mem_car_info_request
+0x47aa mem_car_info_request_head
+0x47af mem_car_info_request_payload
+0x47b7 mem_car_info_request_checksum
+0x47b8 mem_car_config_param
+0x47b8 mem_car_config_setting_flag
+0x47b9 mem_car_config_device_select
+0x47ba mem_car_config_motor_layout
+0x47bb mem_car_config_ir_enable
+0x47bc mem_car_config_ir_rx_gpio
+0x47bd mem_car_config_pairing_led_conn_status
+0x47be mem_car_config_pairing_led_gpio
+0x47bf mem_car_config_led_num
+0x47c0 mem_car_config_blood_led_gpio
+0x47c0 mem_car_config_blood_led1_gpio
+0x47c1 mem_car_config_blood_led2_gpio
+0x47c2 mem_car_config_blood_led3_gpio
+0x47c3 mem_car_config_blood_led4_gpio
+0x47c4 mem_car_config_blood_led5_gpio
+0x47c5 mem_car_config_blood_led6_gpio
+0x47c6 mem_car_config_blood_led7_gpio
+0x47c7 mem_car_config_blood_led8_gpio
+0x47c8 mem_car_config_bat_notify_enable
+0x47c9 mem_car_config_low_voltage_led_gpio
+0x47ca mem_car_config_low_voltage_percent
+0x47cb mem_car_config_soft_switch_enable
+0x47cc mem_car_config_soft_switch_gpio
+0x47cd mem_car_notify_vdd_count
+0x47ce mem_car_notify_vdd_timer
+0x47cf mem_car_notify_vdd_value_last
+0x47d0 mem_car_notify_vdd_percent
+0x47d1 mem_car_working_flag
+0x47d2 mem_low_bat_flag
+0x47d3 mem_notify_bat_packet
+0x47d6 mem_notify_bat_head
+0x47db mem_notify_bat_payload
+0x47dc mem_notify_bat_check_sum
+0x47dd mem_vdd_notify_flag
+0x47de mem_car_current_vdd_value_temp
+0x47e0 mem_car_last_vdd_value
+0x47e2 mem_vdd_calculate_set
+0x47e2 mem_vdd_full_vol
+0x47e4 mem_vdd_empty_vol
+0x47e6 mem_vdd_low_vol
+0x47e8 mem_vdd_now_vol
+0x47ea mem_car_24g_status
+0x47eb mem_car_24g_no_data_timeout_count
+0x47ed mem_car_24g_no_data_timeout_timer
+0x47ef mem_car_24g_ir_receive_attack_count
+0x47f0 mem_car_24g_go_die_flag
+0x47f1 mem_car_attack_shake_timer
+0x47f2 mem_car_attack_shake_flag
+0x47f3 mem_car_soft_power
+0x47f3 mem_car_power_state
+0x47f4 mem_car_power_timer
+0x47f5 mem_car_power_off_timeout
+0x47f6 mem_car_power_starting_timeout
+0x47f7 mem_car_power_off_cb
+0x47f9 mem_car_power_starting_cb
+0x47fb mem_car_power_standby_cb
+0x47fd mem_car_ui_button_up_cb
+0x47ff mem_car_le_att_list
+0x49f3 mem_car_moto1_blank_timer
+0x49f4 mem_car_moto2_blank_timer
+0x49f5 mem_car_moto3_blank_timer
+0x49f6 mem_car_24g_received_pac
+0x49f7 mem_24g_car_head_ptr
+0x469a mem_light_pwm0
+0x469b mem_light_pwm1
+0x469c mem_light_pwm2
+0x469d mem_light_pwm3
+0x469e mem_light_pwm4
+0x469f mem_light_pwm5
+0x46a0 mem_light_pairing_enable
+0x46a1 mem_light_pairing_timer
+0x46a3 mem_light_cnum
+0x46a4 mem_light_next_record
+0x46a5 mem_light_clist
+0x46f5 mem_light_crr_cmd_count
+0x46f6 mem_curr_packet_num
+0x469a mem_lightc_led_gpio
+0x469b mem_lightc_row
+0x46a1 mem_lightc_col
+0x46a7 mem_adv_time
+0x46a8 mem_cmd0_string
+0x46bc mem_cmd1_string
+0x46d0 mem_cmd2_string
+0x46e4 mem_cmd3_string
+0x46f8 mem_cmd4_string
+0x470c mem_cmd5_string
+0x4720 mem_cmd6_string
+0x4734 mem_cmd7_string
+0x4748 mem_cmd8_string
+0x475c mem_cmd9_string
+0x4770 mem_cmd10_string
+0x4784 mem_cmd11_string
+0x4798 mem_cmd12_string
+0x47ac mem_cmd13_string
+0x47c0 mem_cmd14_string
+0x47d4 mem_cmd15_string
+0x47e8 mem_cmd16_string
+0x47fc mem_cmd17_string
+0x4810 mem_cmd18_string
+0x4824 mem_cmd19_string
+0x4838 mem_cmd20_string
+0x469a mem_soft_version_num
+0x469c mem_module_wake_up_gpio
+0x469d mem_module_state_gpio
+0x469e mem_module_connect_state_gpio
+0x469f mem_current_packet_length
+0x46a1 mem_module_state
+0x46a2 mem_module_mcu_wake_pin
+0x46a3 mem_module_mcu_wake_delay_us
+0x46a7 mem_module_spp_lpm_mult
+0x46a8 mem_module_le_lpm_mult
+0x46a9 mem_module_bluetooth_stauts_by_command
+0x46aa mem_module_uart_rx_buffer
+0x46ac mem_module_uart_rx_buffer_end
+0x46ae mem_module_uart_tx_buffer
+0x46b0 mem_module_uart_tx_buffer_end
+0x46b2 mem_module_read_vdd_flag
+0x46b3 mem_module_read_vdd_count
+0x46b4 mem_module_vdd_quotient
+0x46b5 mem_module_vdd_remainder
+0x46b6 mem_module_le_rx_data_len
+0x46b7 mem_module_le_rx_data_address
+0x46b9 mem_module_le_rx_data_handle
+0x46bb mem_module_data_write_handle
+0x46bd mem_module_data_write_handle2
+0x46bf mem_module_flag
+0x46c0 mem_module_hci_notify_len
+0x46c1 mem_module_hci_notify_handle
+0x46c3 mem_module_hci_nofiy_addr
+0x46c5 mem_last_transmite_clock
+0x46c9 mem_module_uuid_list
+0x47f5 mem_module_uuid_list_end
+0x47f5 mem_module_le_att_list
+0x4a4d mem_module_le_att_list_end
+0x4a4d mem_module_nv_data
+0x4a4d mem_module_nv_data0
+0x4a6f mem_module_nv_data1
+0x4a91 mem_module_nv_data2
+0x4ab3 mem_module_nv_data3
+0x4ad5 mem_module_nv_data4
+0x469a mem_remote_car_hard_soft_switch
+0x469b mem_remote_car_queue_each_size
+0x469c mem_remote_car_queue_length
+0x469d mem_remote_car_queue_curr_num
+0x469e mem_remote_car_queue_read_ptr
+0x469f mem_remote_car_queue_write_ptr
+0x46a0 mem_remote_car_queue_ele
+0x46fa mem_remote_style_led_type
+0x46fb mem_remote_style_blink_count
+0x46fc mem_remote_style_struct_led_gpio
+0x46fd mem_remote_style_on_time
+0x46ff mem_remote_style_off_time
+0x4701 mem_remote_style_cb_ledon
+0x4703 mem_remote_style_cb_ledoff
+0x4705 mem_remote_car_led_num
+0x4706 mem_remote_car_led_map
+0x470e mem_remote_car_keyscan
+0x470e mem_remote_car_key_num
+0x470f mem_cb_remote_car_keyscan
+0x4711 mem_remote_car_key_conf0
+0x4711 mem_remote_car_key_conf0_pin
+0x4712 mem_remote_car_key_conf1
+0x4712 mem_remote_car_key_conf1_pin
+0x4713 mem_remote_car_key_conf2
+0x4713 mem_remote_car_key_conf2_pin
+0x4714 mem_remote_car_key_conf3
+0x4714 mem_remote_car_key_conf3_pin
+0x4715 mem_remote_car_key_conf4
+0x4715 mem_remote_car_key_conf4_pin
+0x4716 mem_remote_car_key_conf5
+0x4716 mem_remote_car_key_conf5_pin
+0x4717 mem_remote_car_key_conf6
+0x4717 mem_remote_car_key_conf6_pin
+0x4718 mem_rocker_negative_flag
+0x4719 mem_rocker_work_status
+0x471a mem_current_vdd_value_default_mid_x
+0x471c mem_current_vdd_value_default_mid_y
+0x471e mem_current_vdd_value_default_mid_temp
+0x4720 mem_current_vdd_default_range
+0x4722 mem_rocker_last_status
+0x4724 mem_rocker_status
+0x4724 mem_rocker_x_status
+0x4725 mem_rocker_y_status
+0x4726 mem_remote_car_config_param
+0x4726 mem_remote_car_config_setting_flag
+0x4727 mem_remote_car_config_key_map
+0x4728 mem_remote_car_config_layout
+0x4729 mem_remote_car_config_connect_led_gpio
+0x472a mem_remote_car_config_check_way
+0x472b mem_remote_car_config_soft_switch_enable
+0x472c mem_remote_car_config_soft_switch_gpio
+0x472d mem_remote_car_config_timeout_shutdown_enable
+0x472e mem_remote_car_24g_motor_packet
+0x472e mem_remote_car_24g_motor_packet_lenght
+0x472f mem_remote_car_24g_motor_send_packet_head
+0x4731 mem_remote_car_24g_motor_send_cmd
+0x4732 mem_remote_car_24g_motor_send_length
+0x4734 mem_remote_car_24g_motor_send_payload
+0x4734 mem_remote_car_24g_motor1_payload
+0x4736 mem_remote_car_24g_motor2_payload
+0x4738 mem_remote_car_24g_motor3_payload
+0x473a mem_remote_car_24g_motor_send_checksum
+0x473b mem_remote_car_24g_fire_packet
+0x473b mem_remote_car_24g_fire_packet_lenght
+0x473c mem_remote_car_24g_fire_send_packet_head
+0x473e mem_remote_car_24g_fire_send_cmd
+0x473f mem_remote_car_24g_fire_send_length
+0x4741 mem_remote_car_24g_fire_send_payload
+0x4743 mem_remote_car_24g_fire_send_checksum
+0x4744 mem_remote_car_24g_tx_temp
+0x4753 mem_remote_car_no_data_timeout
+0x4755 mem_remote_car_no_data_timer
+0x4757 mem_remote_car_soft_power
+0x4757 mem_remote_car_power_state
+0x4758 mem_remote_car_power_timer
+0x4759 mem_remote_car_power_off_timeout
+0x475a mem_remote_car_power_starting_timeout
+0x475b mem_remote_car_power_off_cb
+0x475d mem_remote_car_power_starting_cb
+0x475f mem_remote_car_power_standby_cb
+0x4761 mem_remote_key_status
+0x4762 mem_remote_car_24g_status
+0x4763 mem_remote_car_24g_auto_work_step
+0x4764 mem_remote_car_24g_pair_success_flag
+0x4765 mem_remote_car_24g_enter_lpm_enable
+0x4766 mem_remote_car_empty_packet
+0x4767 mem_24g_RC_head_ptr
+0x469a mem_shutter_bluetooth_type
+0x469b mem_shutter_config_enable
+0x469c mem_shutter_config_otp_base_address
+0x469e mem_shutter_config_size
+0x469f mem_shutter_config_select_gpio1
+0x46a0 mem_shutter_config_select_gpio2
+0x46a1 mem_shutter_config_select_gpio3
+0x46a2 mem_shutter_config_user_otp_address
+0x46a4 mem_shutter_config_eeprom_offset_addr
+0x46a6 mem_shutter_config_eeprom_start_flag
+0x46a8 mem_shutter_config_user_size
+0x46a9 mem_shutter_config_label
+0x46aa mem_shutter_config_otp_addr
+0x46ac mem_classic_shutter_cable_unplug_conut
+0x46ad mem_classic_shutter_hid_disconn_count
+0x46ae mem_classic_shutter_random_mac_offset_addr
+0x46b0 mem_ble_shutter_enable_notify
+0x46b1 mem_ble_shutter_reconn_dav_interval
+0x46b3 mem_ble_shutter_discovery_adv_interval
+0x46b5 mem_ble_shutter_reconn_timeout
+0x46b7 mem_ble_shutter_reconn_timer
+0x46b9 mem_ble_shutter_reconn_blink_on_time
+0x46bb mem_ble_shutter_reconn_blink_off_time
+0x46bd mem_ble_shutter_discovery_blink_on_time
+0x46bf mem_ble_shutter_discovery_blink_off_time
+0x46c1 mem_ble_shutter_interval_min
+0x46c3 mem_ble_shutter_interval_max
+0x46c5 mem_ble_shutter_latency
+0x46c7 mem_ble_shutter_timeout
+0x46c9 mem_ble_shutter_interval_min_new
+0x46cb mem_ble_shutter_interval_max_new
+0x46cd mem_ble_shutter_latency_new
+0x46cf mem_ble_shutter_timeout_new
+0x46d1 mem_classic_shutter_discovery_timeout
+0x46d3 mem_classic_shutter_connect_timeout
+0x46d5 mem_ble_shutter_discovery_timeout
+0x46d7 mem_ble_shutter_connect_timeout
+0x46d9 mem_shutter_sleep_timeout
+0x46db mem_shutter_sleep_timer
+0x46dd mem_shutter_hard_soft_switch_case
+0x46de mem_shutter_soft_switch_button_gpio
+0x46df mem_shutter_soft_switch_power_state
+0x46e0 mem_shutter_soft_switch_poweron_time
+0x46e1 mem_shutter_soft_switch_poweroff_time
+0x46e2 mem_shutter_soft_switch_poweron_callback_function
+0x46e4 mem_shutter_soft_switch_poweroff_callback_function
+0x46e6 mem_shutter_keyscan
+0x46e6 mem_shutter_key_num
+0x46e7 mem_cb_shutter_keycan
+0x46e9 mem_shutter_key_conf0
+0x46ea mem_shutter_key_conf1
+0x46eb mem_shutter_key_conf2
+0x46ec mem_shutter_key_conf3
+0x46ed mem_shutter_key_conf4
+0x46ee mem_shutter_key_conf5
+0x46ef mem_shutter_key_conf6
+0x46f0 mem_shutter_key_conf7
+0x46f1 mem_key0_press
+0x46f6 mem_key1_press
+0x46fb mem_key2_press
+0x4700 mem_key3_press
+0x4705 mem_key4_press
+0x470a mem_key5_press
+0x470f mem_key6_press
+0x4714 mem_key7_press
+0x4719 mem_key0_release
+0x471e mem_key1_release
+0x4723 mem_key2_release
+0x4728 mem_key3_release
+0x472d mem_key4_release
+0x4732 mem_key5_release
+0x4737 mem_key6_release
+0x473c mem_key7_release
+0x4741 mem_ble_data_buffer1
+0x4746 mem_ble_data_buffer2
+0x474b mem_ble_data_buffer3
+0x4750 mem_ble_data_buffer4
+0x4755 mem_ble_data_buffer5
+0x475a mem_ble_data_buffer6
+0x475f mem_ble_data_buffer7
+0x4764 mem_ble_data_buffer8
+0x4769 mem_ble_data_buffer9_58
+0x479b mem_classic_data_buffer
+0x47a0 mem_classic_data_buffer1
+0x47a5 mem_classic_data_buffer2
+0x47aa mem_classic_data_buffer3
+0x47af mem_classic_data_buffer4
+0x47b4 mem_classic_data_buffer5
+0x47b9 mem_classic_data_buffer6
+0x47be mem_classic_data_buffer7
+0x47c3 mem_classic_data_buffer8
+0x47c8 mem_classic_data_buffer9_58
+0x47fa mem_queue_each_size
+0x47fb mem_queue_length
+0x47fc mem_queue_curr_num
+0x47fd mem_queue_read_ptr
+0x47fe mem_queue_write_ptr
+0x47ff mem_queue_ele
+0x481f mem_shutter_nv_data
+0x48c9 mem_shutter_led_struct_app_led
+0x48c9 mem_shutter_led_struct_app_led_type
+0x48ca mem_shutter_led_struct_app_led_blink_count
+0x48cb mem_shutter_led_struct_app_led_gpio
+0x48cc mem_shutter_led_struct_app_led_on_time
+0x48ce mem_shutter_led_struct_app_led_off_time
+0x48d0 mem_shutter_led_struct_app_led_on_callback
+0x48d2 mem_shutter_led_struct_app_led_off_callback
+0x48d4 mem_shutter_power_off_led_style
+0x48d4 mem_shutter_power_off_led_style_type
+0x48d5 mem_shutter_power_off_led_style_blink_count
+0x48d6 mem_shutter_power_off_led_style_gpio
+0x48d7 mem_shutter_power_off_led_style_on_time
+0x48d9 mem_shutter_power_off_led_style_off_time
+0x48db mem_shutter_power_off_led_style_on_callback
+0x48dd mem_shutter_power_off_led_style_off_callback
+0x48df mem_shutter_soft_swtich_botton_down
+0x48e0 mem_shutter_soft_swtich_led_struct_temp
+0x48eb mem_shutter_power_off_timeout
+0x48ec mem_shutter_power_off_timer
+0x469a mem_mouse_key
+0x469b mem_mouse_x
+0x469d mem_mouse_y
+0x469f mem_mouse_z
+0x46a0 mem_mouse_tz
+0x46a1 mem_mouse_xy_h
+0x46a2 mem_sensor_shutter_hi
+0x46a3 mem_sensor_shutter_lo
+0x46a4 mem_sensor_smart_flag
+0x46a5 mem_sensor_squal_reg
+0x46a6 mem_sensor_iqc
+0x46a7 mem_mouse_move_flag
+0x46a8 mem_mouse_direct_timeout
+0x46aa mem_mouse_no_data_timeout
+0x46ac mem_mouse_discovery_timer
+0x46ae mem_mouse_direct_timer
+0x46b0 mem_mouse_no_data_timer
+0x46b2 mem_mouse_blank_data_timer
+0x46b4 mem_mouse_send_blank_timer
+0x46b5 mem_mouse_cpi_count
+0x46b6 mem_mouse_dpi_button_state
+0x46b7 mem_wheel_tb_old_pinlevel
+0x46b8 mem_wheel_tb_new_pinlevel
+0x46b9 mem_wheel_tog
+0x46ba mem_mouse_tz_data
+0x46bb mem_mouse_tz_data_count
+0x46bc mem_mouse_tz_data_count1
+0x46bd mem_mwheel_b_old_pinlevel
+0x46be mem_mwheel_b_new_pinlevel
+0x46bf mem_mwheel_tog
+0x46c0 mem_mouse_z_data
+0x46c1 mem_mouse_z_data_count
+0x46c2 mem_mouse_z_data_count1
+0x46c3 mem_reconn_mode
+0x46c4 mem_mouse_statue_led_timer
+0x46c5 mem_le_connect_status_flag
+0x46c6 mem_le_start_encrypt_timer
+0x46c7 mem_device_addr_temp
+0x46ce mem_adc_read_timer
+0x46cf mem_adc_low_volatage_led_timer_count
+0x46d0 mem_adc_reference_voltage
+0x46d2 mem_device_number
+0x46d3 mem_mouse_flag
+0x46d5 mem_mouse_function_enable
+0x46d7 mem_combination_select_device_timer_init
+0x46d8 mem_combination_select_device_count
+0x46d9 mem_select_device_button_statue
+0x46da mem_combination_ui_button_count
+0x46db mem_bt_discovey_button_statue
+0x46dc mem_sensor_reset_gpio
+0x46dd mem_sensor_id1
+0x46de mem_sensor_id2
+0x46df mem_mouse_dpi_led_delay_count
+0x46e0 mem_config_sensor_type
+0x46e1 mem_config_sensor_motion
+0x46e2 mem_lbutton_gpio
+0x46e3 mem_rbutton_gpio
+0x46e4 mem_mbutton_gpio
+0x46e5 mem_bk_button_gpio
+0x46e6 mem_fw_button_gpio
+0x46e7 mem_dpi_button_gpio
+0x46e8 mem_whee_a_data_gpio
+0x46e9 mem_whee_b_data_gpio
+0x46ea mem_whee_ta_data_gpio
+0x46eb mem_whee_tb_data_gpio
+0x46ec mem_config_bt_button_gpio
+0x46ed mem_config_select_device_button_gpio
+0x46ee mem_config_paraing_led_gpio
+0x46ef mem_config_low_voltage_alarm_gpio
+0x46f0 mem_config_device1_led_gpio
+0x46f1 mem_config_device2_led_gpio
+0x46f2 mem_config_device3_led_gpio
+0x46f3 mem_sensor_data_gpio
+0x46f4 mem_dpi_led_gpio
+0x46f5 mem_config_function_enable
+0x46f6 mem_config_sensor_angle
+0x46f7 mem_select_sensor_angle_gpio
+0x46f8 mem_select_adc_gpio
+0x46f9 mem_config_end
+0x46f9 mem_btclk_sensor
+0x46fd mem_wire_usb_interval
+0x46fe mem_mouse_mode_flag
+0x46ff mem_usb_addr
+0x4700 mem_flash_base
+0x4703 mem_24g_device_number
+0x4704 mem_24g_enter_lpm_timer
+0x4705 mem_mouse_1step_up_count
+0x4706 mem_mouse_2step_up_count
+0x4707 mem_24g_pairing_timer_count
+0x4709 mem_mouse_vdd_calculate_set
+0x4709 mem_mouse_vdd_full_vol
+0x470b mem_mouse_vdd_empty_vol
+0x470d mem_mouse_vdd_low_vol
+0x470f mem_mouse_vdd_now_vol
+0x4711 mem_mouse_sensor_timer_count
+0x4712 mem_sensor_led_style
+0x4713 mem_mouse_led_type
+0x4714 mem_mouse_blink_count
+0x4715 mem_mouse_struct_led_gpio
+0x4716 mem_mouse_on_time
+0x4718 mem_mouse_off_time
+0x471a mem_mouse_cb_ledon
+0x471c mem_mouse_cb_ledoff
+0x471e mem_reconn_times
+0x471f mem_reconn_times_init
+0x4720 mem_mouse_information_start
+0x4720 mem_device_flag
+0x4721 mem_device1_type
+0x4722 mem_device1_addr
+0x4728 mem_device1_link_key
+0x4738 mem_device1_locall_addr
+0x473e mem_device2_type
+0x473f mem_device2_addr
+0x4745 mem_device2_link_key
+0x4755 mem_device2_locall_addr
+0x475b mem_device3_type
+0x475c mem_device3_addr
+0x4762 mem_device3_link_key
+0x4772 mem_device3_locall_addr
+0x4778 mem_store_flag
+0x477a mem_mouse_dpi
+0x477b mem_mouse_24g_addr
+0x477f mem_mouse_information_end
+0x477f mem_mouse_dpi_seting
+0x477f mem_320x_dpi_1
+0x4780 mem_320x_dpi_2
+0x4781 mem_320x_dpi_3
+0x4782 mem_320x_dpi_4
+0x4783 mem_3212_dpi_1
+0x4784 mem_3212_dpi_2
+0x4785 mem_3212_dpi_3
+0x4786 mem_3212_dpi_4
+0x4787 mem_3610_dpi_1
+0x4788 mem_3610_dpi_2
+0x4789 mem_3610_dpi_3
+0x478a mem_3610_dpi_4
+0x478b mem_mouse_24g_enter_lpm_enable
+0x478c mem_mouse_3065xy_dpi_seting
+0x478c mem_3065xy_dpi_1
+0x478d mem_3065xy_dpi_2
+0x478e mem_3065xy_dpi_3
+0x478f mem_3065xy_dpi_4
+0x4790 mem_le_rx_window_inc
+0x4792 mem_empty_count
+0x4793 mem_rf_init_data_new
+0x47a2 mem_mouse_clear_sensor_data_flag
+0x47a3 mem_mouse_null_enter_hibernate_flag
+0x47a4 mem_mouse_null_enter_hibernate_timer
+0x47a5 mem_mouse_le_reconnect_flag
+0x47a6 mem_mouse_data_queue
+0x47c7 mem_mouse_data_queue_num
+0x47c8 mem_random_addr_increase_count
+0x47ca mem_mouse_le_conn_param_reject
+0x47cb mem_lpm_mult_init
+0x47cc mem_mouse_le_uuid_sup
+0x480c mem_mouse_wheel_trigger
+0x480d mem_mouse_wheel_trigger_timer
+0x480e mem_mouse_long_mult_flag
+0x480f mem_mouse_le_current_mult_timer
+0x4810 mem_24g_long_sleep_param_update_timer
+0x4811 mem_mouse_enter_sniff_count
+0x4812 mem_mouse_send_switch_req_timer
+0x4813 mem_le_tx_buffer0_omemalloc
+0x482e mem_le_tx_buffer1_omemalloc
+0x4849 mem_le_tx_buffer2_omemalloc
+0x4864 mem_le_tx_buffer3_omemalloc
+0x487f mem_mouse_mode_config
+0x4880 mem_mouse_dpi_blink_count
+0x4881 mem_mouse_uuid_list
+0x4b07 mem_lmi_opcode_temp
+0x4b08 mem_mouse_adc_last_low_voltage_flag
+0x4b09 mem_mouse_init_sensor_reset_flag
+0x4b0a mem_mouse_ble_reconn_led_blink_count
+0x4b0b mem_mouse_ble_reconn_led_blink_timer
+0x4b0c mem_mouse_multi_led_blink_enable
+0x4b0d mem_mouse_multi_led_gpio
+0x4b0e mem_mouse_multi_led_state
+0x4b0f mem_mouse_multi_led_type
+0x4b10 mem_mouse_multi_led_on_timer
+0x4b11 mem_mouse_multi_led_on_timer_init
+0x4b12 mem_mouse_multi_led_blink_timer
+0x4b13 mem_mouse_multi_led_blink_timer_init
+0x4b14 mem_mouse_multi_led_blink_count
+0x4b15 mem_mouse_multi_led_blink_count_limited
+0x4b16 mem_mouse_multi_led_on_poweron2s_flag
+0x4b17 mem_mouse_ble_reconn_multi_led_blink_flag
+0x4b18 mem_bt_rcvd_switch_req_accept
+0x4b19 mem_bt_send_max_slot_req_accept_after_switch
+0x4b1a mem_l2cap_rcv
+0x4b1b mem_mouse_bt_boot_mode
+0x4b1c mem_mouse_bt_boot_data
+0x4b21 mem_24g_rxbuf
+0x4b43 mem_24g_txbuf
+0x4b63 mem_24g_txpayload
+0x4b85 mem_24g_rxpayload
+0x4ba5 mem_24g_rxdata_length
+0x4ba6 mem_24g_pid
+0x4ba7 mem_24g_datalen
+0x4ba8 mem_24g_data_type
+0x4ba9 mem_24g_txlen
+0x4baa mem_24g_rx_window
+0x4bac mem_24g_ensure
+0x4bad mem_24g_txfail_cnt
+0x4baf mem_24g_get_ack_fail
+0x4bb0 mem_24g_retry
+0x4bb1 mem_24g_ch
+0x4bb2 mem_24g_current_ch_number
+0x4bb3 mem_24g_paring_addr
+0x4bb7 mem_24g_pairing_sm
+0x4bb8 mem_24g_ch_map1
+0x4bbc mem_24g_ch_map2
+0x4bc0 mem_24g_ch_map3
+0x4bc4 mem_24g_ch_map4
+0x4bc8 mem_24g_tx_btclk
+0x4bcc mem_24g_interval
+0x4bcd mem_24g_interval_min
+0x4bce mem_24g_interval_max
+0x4bcf mem_24g_addr
+0x4bd3 mem_24g_abort_pac
+0x4bd4 mem_24g_check_dongle_times
+0x4bd6 mem_24g_enter_hibernate
+0x4bde mem_24g_device_addr
+0x4be2 mem_24g_pac_index
+0x4be3 mem_24g_no_ack
+0x4be4 mem_24g_sta_crc
+0x4be7 mem_24g_last_crc
+0x4bea mem_24g_sta_pid
+0x4beb mem_24g_last_pid
+0x4bec mem_24g_max_retry
+0x4bed mem_24g_mode
+0x4bee mem_24g_rxdata_temp
+0x4c10 mem_24g_rx_addr
+0x4c14 mem_dongle_mode_init
+0x4c15 mem_dongle_work_mode
+0x4c16 mem_dongle_ms_bind_step
+0x4c17 mem_dongle_kb_bind_step
+0x4c18 mem_dongle_bind_device_status
+0x4c19 mem_24g_bind_payload
+0x4c21 mem_24g_abort_packet
+0x4c22 mem_24g_rf_laststa
+0x4c23 mem_24g_hop_btclk
+0x4c27 mem_24g_hop_interval
+0x4c28 mem_24g_mode_switch
+0x4c29 mem_24g_ackpayload_enable
+0x4c2a mem_24g_hop_packet
+0x4c2b mem_24g_pair_mode
+0x4c2c mem_24g_nodata_timer_enable
+0x4c2d mem_24g_time_slice
+0x4c2e mem_24g_kb_data_sta_data
+0x4c36 mem_24g_kb_data_last_data
+0x4c3e mem_24g_kb_multikey_sta_data
+0x4c41 mem_24g_kb_multikey_last_data
+0x4c44 mem_24g_kb_blank_data_enable
+0x4c45 mem_24g_kb_mul_blank_data_enable
+0x4c46 mem_24g_ms_blank_data_enable
+0x4c47 mem_24g_kb_addr
+0x4c4b mem_24g_ms_addr
+0x4c4f mem_24g_dg_last_ch
+0x4c50 mem_24g_dg_ch_number
+0x4c51 mem_24g_dg_config_ch_once
+0x4c52 mem_24g_kb_last_ch
+0x4c53 mem_24g_kb_ch_number
+0x4c54 mem_24g_kb_config_ch_once
+0x4c55 mem_24g_ms_last_ch
+0x4c56 mem_24g_ms_ch_number
+0x4c57 mem_24g_ms_config_ch_once
+0x4c58 mem_24g_syncword
+0x4c5a mem_24g_syncword_crc8
+0x4c5b mem_24g_get_syncword_crc8
+0x4c5c mem_24g_ota_sta_pid
+0x4c5e mem_tx_power_temp
+0x4c5f mem_rssi_hex
+0x4c60 mem_rssi_noise_avg
+0x4c61 mem_rssi_noise_index
+0x4c62 mem_rssi_signal_index
+0x4c63 mem_rssi_noise_dg_avg
+0x4c64 mem_rssi_noise_kb_avg
+0x4c65 mem_rssi_noise_ms_avg
+0x4c66 mem_rssi_noise_dg_index
+0x4c67 mem_rssi_noise_kb_index
+0x4c68 mem_rssi_noise_ms_index
+0x4c69 mem_rssi_signal_buf
+0x4c71 mem_queue_ele_num
+0x4c72 mem_queue_read
+0x4c74 mem_queue_write
+0x4c76 mem_queue_start
+0x4c76 mem_data_ele0
+0x4c96 mem_data_ele1
+0x4cb6 mem_data_ele2
+0x4cd6 mem_queue_end
+0x4cd6 mem_queue_temp
+0x4cd8 mem_cb_24g_data
+0x4cda mem_24g_hop_fastly_cnt
+0x4cdb mem_24g_hop_pac_retry
+0x4cdc mem_24g_rf_hop_ch
+0x4cdd mem_24g_rf_last_sta
+0x4cde mem_24g_rf_work_stage
+0x4cdf mem_24g_sync_cnt
+0x4ce0 mem_power_ctrl_pac_succ_cnt
+0x4ce1 mem_rssi_avg_received
+0x4ce2 mem_rssi_hex_received
+0x4ce3 mem_power_ctrl_level
+0x4ce4 mem_seqi
+0x4ce5 mem_24g_auto_paring_switch
+0x4ce6 mem_24g_paccnt
+0x4ce7 mem_24g_transmit_by_interrupt
+0x4ce8 mem_24g_transmit_by_interrupt_exit_count
+
+	width = 32
+	const length = 12000
+
+	/* ========= memory ============== */
+0x0000 mem_le_adv_transmit
+0x0001 mem_le_adv_waitcnt
+0x0002 mem_le_adv_rcv
+0x0003 mem_le_req_rcv
+0x0004 mem_le_scanrsp_rcv
+0x0005 mem_le_conn_rcv
+0x0006 mem_inquiryscan_waitcnt
+0x0007 mem_inquiryscan_rcvcnt
+0x0008 mem_pagescan_waitcnt
+0x0009 mem_pagescan_rcvcnt
+0x000a mem_pagescan_rcvfhscnt
+0x000b mem_slave_rcvcnt
+0x000c mem_page_transmit
+0x000d mem_page_rcv
+0x000e mem_page_rcv_fhs
+0x000f mem_master_rcvcnt
+0x0010 mem_fhs_wait_counter
+0x0011 mem_newconnto_counter
+0x0012 mem_inquiry_transmit
+0x0013 mem_inquiry_rcv
+0x0014 mem_fw_ver
+0x0015 mem_current_context
+0x0016 mem_le_ch_mapped
+0x0017 mem_last_freq
+0x0018 mem_rssi
+0x0019 mem_rx_type
+0x001a mem_rx_hec_err
+0x001c mem_rx_crc_err
+0x001e mem_context_ptr
+0x0020 mem_display
+0x0028 mem_bcd
+0x0030 mem_state
+0x0031 mem_mode
+0x0032 mem_tsniff
+0x0034 mem_sniff_anchor
+0x0038 mem_clk_offset
+0x003e mem_rx_window
+0x0040 mem_plap
+0x0043 mem_puap
+0x0044 mem_pnap
+0x0046 mem_conn_handle
+0x0047 mem_arq
+0x0048 mem_lmp_to_send
+0x0049 mem_lmi_opcode
+0x004a mem_lmo_reason
+0x004b mem_op
+0x004c mem_state_map
+0x004d mem_supervision_timer
+0x0051 mem_supervision_to
+0x0053 mem_name_offset
+0x0054 mem_key_size
+0x0055 mem_conn_sm
+0x0056 mem_aco
+0x0062 mem_kc
+0x0072 mem_conn_timer
+0x0073 mem_sniff_attempt
+0x0074 mem_sniff_timeout
+0x0075 mem_dsniff
+0x0077 mem_amaddr
+0x0078 mem_lmo_opcode1
+0x0079 mem_lmi_opcode1
+0x007a mem_lmo_reason1
+0x007b mem_lmo_tid1
+0x007c mem_lmo_opcode2
+0x007d mem_lmi_opcode2
+0x007e mem_lmo_reason2
+0x007f mem_lmo_tid2
+0x0080 mem_hci_version
+0x0083 mem_acl_pktlen
+0x0085 mem_sco_pktlen
+0x0086 mem_acl_pktcnt
+0x0088 mem_sco_pktcnt
+0x008a mem_current_sniff_attempt
+0x008b mem_current_sniff_timeout
+0x008c mem_sniff_timeout_temp
+0x008d mem_nfreq_index_inq
+0x008e mem_nfreq_index_page
+0x008f mem_ninqy_index
+0x0090 mem_fhs_misc
+0x0091 mem_subsniff_instant
+0x0095 mem_subsniff_rate
+0x0096 mem_subsniff_tcmax
+0x0098 mem_subsniff_tsniff
+0x0099 mem_lpm_adjust
+0x009a mem_sync_clke
+0x00a0 mem_lpm_current_mult
+0x00a1 mem_gpio_wakeup_low
+0x00a5 mem_gpio_wakeup_high
+0x00a9 mem_air_mode
+0x00aa mem_sco_asso_handle
+0x00ab mem_sco_handle
+0x00ad mem_esco_desco
+0x00ae mem_esco_type
+0x00af mem_neogotiation_state
+0x00b0 mem_saved_amaddr
+0x00b1 mem_esco_arq
+0x00b2 mem_esco_saved_arq
+0x00b3 mem_sco_obuf
+0x00d1 mem_sco_ibuf
+0x00ef mem_sco_poll
+0x00f0 mem_npage_index
+0x00f1 mem_page_mode
+0x00f2 mem_page_clk
+0x00f6 mem_tst_pktcnt_sync
+0x00f8 mem_tst_pktcnt_hec
+0x00fa mem_tst_pktcnt_crc
+0x00fc mem_tst_pktcnt_dmh
+0x00fe mem_tmp_buffer_head
+0x0101 mem_tmp_buffer
+0x0151 mem_tester_emulate
+0x0152 mem_temp_payload
+0x0152 test_mode_scenario
+0x0153 test_mode_hopping_mode
+0x0154 test_mode_tx_freq
+0x0155 test_mode_rx_freq
+0x0156 test_mode_power_mode
+0x0157 test_mode_poll_period
+0x0158 test_mode_packet_type
+0x0159 test_mode_data_length
+0x015b mem_test_mode_old_debug_config
+0x015c mem_tester_cnt
+0x015d mem_temp_am_addr
+0x015e mem_temp_arq
+0x015f mem_len
+0x0161 mem_clkn_bt
+0x0165 mem_clke_bt
+0x0169 mem_dpll_clkn
+0x016d mem_connection_options
+0x016e mem_nameres_cnt
+0x016f mem_txptr
+0x0171 mem_slot_offset
+0x0173 extm_fhs_misc
+0x0174 extm_newconn_am_addr
+0x0175 extm_class
+0x0178 extm_lap
+0x017b extm_uap
+0x017c extm_nap
+0x017f mem_debug_config
+0x0180 mem_lch_code
+0x0181 mem_fhs_am_addr
+0x0182 mem_dpll_error
+0x0184 mem_select_list_item
+0x0185 mem_temp_reconn_record
+0x0185 mem_record_bt_mode
+0x0186 mem_temp_lap
+0x018c mem_list_item_ptr
+0x018e mem_eir
+
+
+
+(//bluetooth tx power
+0 TX_POWER_0DB
+1 TX_POWER_3DB
+2 TX_POWER_5DB
+3 TX_POWER_f3DB
+4 TX_POWER_f5DB
+
+0x20 TX_POWER_PAIR
+)
+
+
+0x3b17 rom_lpm_sleep
+0x59e0 rom_save_ucode
+
+0x4219 rom_mem_lpm_xtalcnt
+0x423b rom_mem_patch_ptr
+0x423d rom_mem_patch_len
+
+0x5b1a rom_otpd_read_data
+0x5ada rom_otp_write
+	/* context */
+(
+0x01 coffset_mode
+0x02 coffset_tsniff
+0x04 coffset_sniff_anchor
+0x08 coffset_clk_offset
+0x0e coffset_rx_window
+0x10 coffset_plap
+0x16 coffset_conn_handle
+0x17 coffset_arq
+	/* 3.0 only */
+0x18 coffset_lmp_to_send
+0x1b coffset_op
+0x1c coffset_state_map
+	/* le only */
+0x18 coffset_le_ch
+0x19 coffset_le_hop
+0x1a coffset_le_event_cnt
+
+80 context_size
+1 context_num
+)
+
+(
+0 lpm_flag_wake
+1 lpm_flag_loadcode
+)
+
+/* ========= parameters ============== */
+(
+0x0050 param_newconn_arq
+0x0007 param_esco_addr
+0x0010 param_conn_handle
+0x01f0 param_conn_handle_comp
+0x0020 param_newconnto
+0x0008 param_pagerespto
+0x0a00 param_snooze_setup_orig
+0x5353 param_snooze_ahead_orig
+0x00ff param_ninquiry
+0x2000 param_page_to
+0x0005 param_max_slot
+0x0010 param_sco_poll
+
+/* 24Mhz clock setting */
+/* 12Mhz clock setting */
+0x0e43 param_tx_setup
+0x0600 param_rf_setup
+0x0600 param_conn_access 
+0x03bb param_clke_cal
+0x0500 param_pll_setup		// 120 is minimum
+0x0d00 param_rx_setup	// 114us before sync
+2000 param_dpll_start_delay
+
+110 param_lpm_fix
+10 param_lpo_extra
+200 param_lpm_adjmax
+
+-1 param_hibernate_clks
+3000 param_chgpump_delay
+
+3 param_featrue_ssp
+0x0101 param_lmpext_ssp_enable
+339 param_acl_pktlen
+30   param_sco_pktlen
+1     param_acl_pktcnt		/*buffer acl pkt cnt*/
+7     param_sco_pktcnt
+
+
+0x8fffff param_features0
+0x9d83fe param_features1  // not support afh
+0x8359     param_features2
+0x000033 param_unap
+0x001177 param_lap
+0x9e8b33 param_glap
+0x002540 param_class//0x180208 //0x002580//402500//240404
+0x12e904 param_hci_version
+0x000a04 param_lmp_version//0x0a04
+0x000a06 param_lmp_version0
+0x12e9 param_lmp_subversion
+0x0012 param_tisw
+0x0012 param_tpsw
+0x1000 param_tisi
+0x0800 param_tpsi
+0x0020 param_page_window
+0x0020 param_inq_window
+0x1c80 param_supervision_to
+39 param_fcomp_div
+2 param_fcomp_mul
+6     param_name_len
+0x535442 param_name
+0x344950 param_name1
+
+
+)
+
+/* ======= packet types  ========= */
+(
+0x0      type_null    
+0x1      type_poll   
+0x2      type_fhs    
+0x3      type_dm1    
+0x4      type_dh1    
+0x5      type_hv1    
+0x6      type_hv2    
+0x7      type_hv3    
+0x8      type_3dh1     
+0x9      type_aux1   
+0xa      type_dm3    
+0xb      type_dh3    
+0xe      type_dm5    
+0xf      type_dh5    
+0x10     type_id
+0x11     type_shutdown
+0x13     type_lmp
+)
+
+/* ========== flag[6] =============== */
+(
+0        always        /* always 1 */
+1        true          /* set/rstn by verify,compare,icompare (true) */
+2        positive      /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output >= 0 */
+3        timeout       /* read only, the timeout from timers */
+5        zero          /* set/rstn by all alu operations (opcode = 0x03,0x13,0x0f,0x1f), if alu output == 0 */
+6        crc_failed    /* level, cleared by hop_start */
+7        enable_white  /* outside mux decide whether to load bt_clk or response_X */
+8        enable_parity /* level */
+9        enable_crc    /* level */
+10       enable_hec    /* level */
+11       decode_fec1   /* level */
+12       decode_fec2   /* level */
+13       decode_fec0   /* level */
+14       encrypt       /* level */
+15       crc16       /* for caculate ccitt crc16 */
+16       swfine	/* =0 stop_watch count based on oneslot =1 on 1 clock */
+20       rqst_freq    /* pulse, to start calculating frequency */
+21       recalc        /* pulse, to recalculate the fhs_parity */
+22       init_encrypt  /* pulse, issued to initialize encrption */
+23       mhalfbnd    /* half slot boundary of clke_rt, or when clke_bt[0] toggles */
+24       sync          /* sync found as a result of correlation,set/rstn by correlate opcode */
+25       user10    /* user10 */
+26       kc_p_activate  /* pulse to recalc the kc_p */
+27       encode_fec1   /* level */
+28       encode_fec2   /* level */
+29       encode_fec0   /* level */
+30       packet_end    /* pulse */
+32       is_tx         /* level */
+33       is_rx         /* level */
+34       halfslot     /* pulse, read only, when clkn_bt[0] toggles */
+35       oneslot      /* pulse, read only, when clkn_bt[1] toggles */
+36       mslotbnd     /* pulse, read only, when clke_bt[1] toggles */
+37       expire       /* level, read only, when selected clock source exceed timeup value */
+38       meet         /* level, read only, when selected clock source meet timeup value */
+39       tx_clear     /* level, read only, indicate tx pipe is cleared */
+40       user         /* user0 */
+41       master        /* user1 */
+42       slave2         /* user2 */
+43       wake           /* user3 */
+44       user2        /* user4 */
+45       match         /* user5 */
+46       attempt        /* user6 */
+47       user3          /* user7 */
+48       clknt         /* user8 */
+49	   user7 	/* user9 */
+50       synchronize   /* synchronize lpo and regular version of the clock */
+51       lpo_edge  /* read only, 3 clocks after risling edge of lpo clock */
+52       blank         /* C0 only, means pdata == 0 */
+53       modone          /* set divide operation is done */
+54       le		/* bluetooth 4.0 LE enable */
+55       aes_ready	/* set when aes is ok */
+63       never         /* read only, always 0 */
+)
+
+default flag = always
+
+/* ========== reg[6] =============== */
+(
+0        mark   /* for keeping strobes, more permanent */
+1        type   /* save and verify during rx */     /* rw */
+2        temp   /* general purpose register, 64 bits */
+3        contru  /* contr uart */
+4        am_addr      /* verify during rx, read and send during tx */ /* ro */
+5        contw        /* last mem_addr during write */
+6        contr        /* last mem_addr during read */
+7        queue    /* the index of qset*,qisolate* commands, ie, if queue = 3, qset/qisolate operate on bit3 */
+8        debug    /* can be wired out for observation */
+9        access   /* the 72 bit access word */
+10       contwu   /* contw uart */
+11       timeup        /* when does certain counter expire */
+12       pwindow       /* bit 71-61 of pdata; because on rx, bits shifts in from 71 down */
+13       fhs_parity    /* re-gernated based on bt_adr( {nap,uap,lap} ) when recalc flag is pulsed */
+14       white_init    /* init value of the whitening */
+15       crc24_init        /* init crc24 lfsr, 24 bits */
+16       interrupts    /* set interrupts, 40 bits */
+17       rega          /* general purpose register, 32 bits */
+18       regb          /* general purpose register, 32 bits */
+19       regc          /* general purpose register, 17 bits */
+20       regab         /* concat of {rega,regb}, thus 64 bits */
+21       radio_ctrl   /* radio i/f direct i/o ctrl, check following "radio_ctrl" section */
+21       ctrl_reg     /* 2023 and after */
+22       jtag_addr    /* load jtag address field, lsb */
+23       freq_index   /* 7 bit read only */
+24       jtag_data    /* wdata to and rdata from jtag */
+25       clkn              /* {clkn_bt, clkn_rt} */
+26       clke              /* {clke_bt, clke_rt} */
+27       stop_watch
+28       fhs_misc   /* SR, SP, pscan mode */
+29       fhs_class  /* class field in fhs */
+30       fhs0   /* read only, bit 0-71 of fhs word */
+31       fhs1   /* read only, bit 72-142 of fhs word */
+32       bt_adr /* r/w, the bt_addr to access gen and freq hopping, contain only lap and uap */
+33       bt_clk /* r/w, the bt_clk for freq hopping */
+34       clkn_bt  /* read only, native bluetooth clock, free running 3.2KHz  or controlled by RTHALFSLOT register */
+35       clkn_rt  /* read only, native realtime clock, free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+36       freq_mode
+/* wire even_train    = freq_mode[4];    // odd even train                            */
+/* wire conn_mode     = 3;    // connection                                           */
+/* wire iqpgscan_mode = 2;    // slave in inquiry and page (not response)             */
+/* wire iqpgresp_mode = 1;    // slave in inquriy and page (response only)            */
+/* wire inqypage_mode = 0;    // master in inquiry and page(response or not response) */
+37       xin   /* x parameter, read only */
+38       N_tx_slot /* the N factor in equations for Xi,Xp,Xprm,Xprs */
+39 	   auxcnt
+40       clke_bt  /* r/w,  external bluetooth clock , free running 3.2KHz or controlled by RTHALFSLOT register */
+41       clke_rt  /* r/w,  external realtime clock, , free running 12MHz, count from 0-3749, or controlled by RTHALFSLOT register */
+43       host_mode         /* generic stuff for kick starts */
+44       lap
+45       uap
+46       nap         
+47       regext		/* r/w extended 12x32bit registers,  indexed by regext_index */
+48       alarm             /* r/w, lpo wake up time, this is also how lpo and current clock keep sync */
+49       lpo_time          /* read only, this is the value to be copied back to clkn/clke after wakeup */
+50       kc_ls             /* secret key,                71: 0 */
+51       kc_ms             /* secret key,               127:72 */
+52       g1l               /* encryption length                */
+53		mask3ff		/* for mask 0x3ff operation */
+54       aes_ctrl		
+56       regext_index   /* index of regext */
+57	     loopcnt
+58      stack			/* current return address */
+59       stack_ptr		/* stack depth */
+61         pc /* direct goto */
+62       null              /* to nowhere */
+63       pdata /* the shift register */
+)
+default reg = pdata
+
+/* regext_index */
+(
+0 regidx_data
+4 regidx_key
+8 regidx_xor
+12 regidx_result
+)
+/* ========== radio_ctrl========= */
+(
+0 TXGFSK
+1 PSK
+2 PSK3M
+3 RESET
+)
+/* assign BPWR = radio_ctrl[0]; */
+/* assign PARAMP = radio_ctrl[1]; */
+/* assign XTALPU = radio_ctrl[2]; */
+/* assign SYNTHPU = radio_ctrl[3]; */
+/* assign TXPU = radio_ctrl[4]; */
+/* assign RXPU = radio_ctrl[5]; */
+/* assign SLCTRL = radio_ctrl[6]; */
+/* assign XTALSEL_MUX_SEL = radio_ctrl[7] */
+
+
+/* =========== destination[4] ============== */
+(
+0 bucket
+1 rxf
+2 back
+3 mod
+)
+default dest = bucket
+
+/* =========== source[4] ============= */
+(
+1 txf
+3 demod
+)
+default source = 0
+
+
+/* ============== mark ============= *//*0 - 47 */
+(
+
+0  mark_fhs_eir  
+1  mark_rxbuf_inuse
+2  mark_tx_l2cap
+3  mark_switch_initiated
+4  mark_accept_switch
+5  mark_loopback
+7  mark_esco
+8  mark_esco_rxok
+9  mark_context
+10 mark_am_addr_broadcast
+11 mark_fhs_already_good
+12 mark_page_trainb
+13 mark_lpm_mult_enable
+14 mark_usb_flag
+15 mark_old_packet
+16 mark_longpacket
+17 mark_testmode
+18 mark_ar2
+19 mark_h5tx_rp
+20 mark_h5tx_crc	
+21 mark_h5tx_retransmit
+22 mark_h5rx_pstart
+23 mark_h5_sync
+24 mark_h5_reinit
+28 mark_inquiry_on
+29 mark_inquiry_state
+30 mark_inquiry_trainb
+31 mark_periodical_diac
+32 mark_all_diac
+33 mark_slave_in_rand_accepted
+34 mark_reconn_recieve_switch
+35 mark_isstr
+36 mark_loadcode
+37 mark_ext_patch
+38 mark_24g
+39 mark_24g_conext
+40 mark_eeprom_size
+// REVAB:max 35, REVC:max 63
+41 mark_ble_tx_md
+42 mark_ble_rx_md
+43 mark_otp_encrypt
+44 mark_first_packet
+)
+
+(
+1 reload_type_otp
+2 reload_type_spi
+3 reload_type_iic
+)
+
+
+/* ============== soft timers ============== */
+(
+0 le_adv_interval_timer
+1 inquiry_length_timer
+2 le_scan_interval_timer
+3 page_length_timer
+4 iscan_interval_timer
+5 pscan_interval_timer
+6 switch_wait_timer
+7 enpt_delay_timer
+8 page_interval_timer
+9 key_scan_timer
+10 smp_pairing_timer
+11  ui_led_blink   //led timer 可扩展
+12  ui_led_blink1
+13 ui_led_blink2
+ 
+)
+
+(
+1 hci_cmd_inquiry
+2 hci_cmd_inquiry_cancel
+3 hci_cmd_remote_name_req
+4 hci_cmd_remote_feature_req
+5 hci_cmd_create_conn
+6 hci_cmd_disconn
+7 hci_cmd_accept_conn
+8 hci_cmd_reject_conn
+9 hci_cmd_pair
+10 hci_cmd_nopair
+11 hci_cmd_linkkey
+12 hci_cmd_nokey
+13 hci_cmd_auth
+14 hci_cmd_stopencrypt
+15 hci_cmd_startencrypt
+16 hci_cmd_setup_sco
+17 hci_cmd_disconn_sco
+18 hci_cmd_in_sniff
+19 hci_cmd_exit_sniff
+20 hci_cmd_remote_version_req
+21 hci_cmd_remote_ext_features_req
+22 hci_cmd_io_cap
+23 hci_cmd_role_discovery
+24 hci_cmd_role_switch
+25 hci_cmd_accept_with_switch
+26 hci_cmd_detach
+27 hci_cmd_le_create_conn
+28 hci_cmd_accept_sco_conn
+80 hci_cmd_wait_remote_feature
+81 hci_cmd_wait_remote_ext_feature
+82 hci_cmd_wait_remote_name
+)
+
+
+
+/* ============== debug ============= */
+(
+0 debug_neg_skew
+1 debug_bitbucket
+2 debug_dont_clear_got_tx
+3 debug_scatter_enabled
+4 debug_tx_fixed_freq
+5 debug_rx_fixed_freq
+6 debug_tx_pattern
+)
+
+/* ============== tester_emulator ============= */
+(
+0 tester_fixed_flow
+1 tester_fixed_flow_polarity
+2 tester_change
+3 tester_exit
+4 tester_pattern_test
+5 tester_whitening_change
+6 tester_fixed_freq
+7 tester_no_whitening
+)
+
+/* ============== mode ==========*/
+(
+0 mode_le
+1 mode_master
+2 afh_enable
+3 afh_change
+4 send_sco_when_slave
+5 first_seqnx
+)
+
+/* ============== state_map ==========*/
+(
+0 smap_lmptidinit
+1 smap_lmptid
+2 smap_encryption
+3 smap_name_res
+4 smap_name_req
+5 smap_edr
+6 smap_rxlmp
+7 smap_rxl2cap
+)
+(
+0 state_inconn
+1 state_insniff
+2 state_insco 
+3 state_inpage
+4 state_conn_comp
+5 state_init_seq
+6 state_combkey
+7 state_linkkey
+)
+(
+0 op_send_sres
+1 op_auth_req
+2 op_inrand_req
+3 op_disconn
+4 op_stop_enc
+5 op_start_enc
+6 op_txl2cap
+7 op_pkt_comp
+)
+
+
+/* ============== arq [3] ================ */
+(
+0 flow
+1 arqn
+2 seqn
+3 wack
+4 flowx              /* out */  /* not really in memory */
+5 arqnx              /* out */
+6 seqnx              /* out */
+7 bcast1             /* first broadcast received */
+)
+
+/* arq          {flow,arqn,seqn}, read/write */
+/* [0] flow r/w  acl full status of the other, store during rx, checked during tx */
+/* [1] arqn r/w  ack of the other during rx (ack tx fifo),                        */
+/* [2] seqn r/w  seqn of the other, check during rx                               */ 
+/* arqx         {flowx,arqnx,seqnx} */
+/* [0] flowx r/o flow back to the other, 1 alow send, 0 not to send, read only tx */
+/* [1] arqnx r/w ack to the other, set by rx, send back on tx                     */
+/* [2] seqnx r/w toggled by arqn, to be send during tx                            */ 
+
+(
+0 llid0
+1 llid1
+2 nesn
+3 sn
+4 md
+5 wak
+)
+
+/* AFH flags */
+(
+0 AFH_CFG_ON
+1 AFH_CFG_TIMER
+2 send_lmp_set_afh
+3 AFH_CFG_REPORT_MODE
+4 AFH_CFG_MASTER_SENT_REQ
+)
+
+/* LLID CODE */
+(	
+1 LLID_L2CAP_CONT
+2 LLID_L2CAP_START
+3 LLID_LMP
+)
+
+/* ============== master_state ==========*/
+(
+0  master_in_idle
+1  master_in_inquiry
+2  master_in_page
+10 master_in_becoming_slave
+15 master_in_conn
+)
+(
+0 newrev_feature_bettx
+1 newrev_feature_betplltx
+2 newrev_feature_skip_retransmit
+3 newrev_feature_init_radio_after_sleep
+4 newrev_feature_no_lpolog
+)
+/*************mem_pincode_state****************/
+(
+0 pincode_state_ilde
+1 pincode_state_wait_pincode
+2 pincode_state_pincode_ready
+)
+
+
+// lpm_write
+(
+1 lpmreg_sel_ctrl
+2 lpmreg_sel_ctrl2
+4 lpmreg_sel_gpiolow
+8 lpmreg_sel_gpiohigh
+16 lpmreg_sel_counter
+)
+
+//scan_mode
+(
+0 inq_scan_mode
+1 page_scan_mode
+2 page_inq_enable
+)
+//mem_neogotiation_state
+(
+ 0 default_neogotiation_state
+ 1 prarm_neogotiation
+)
+
+//mem_lpm_wake_lock
+(
+0 wake_lock_ble_rx
+1 wake_lock_ble_tx
+
+3 wake_lock_key_press
+4 wake_lock_ble_tx_patch
+5 wake_lock_uart_tx
+6 wake_lock_uart_rx
+7 wake_lock_button
+8 wake_lock_cmd
+9 wake_lock_app
+10 wake_lock_lmp_tx
+11 wake_lock_lmp_rx
+12 wake_lock_l2cap_tx
+13 wake_lock_l2cap_rx
+14 wake_lock_ipc_c512bt
+15 wake_lock_ipc_bt2c51
+
+)
+
+(
+0 bt_disabled
+1 ble_disabled
+2 module_disable
+
+)
+
+(
+0x33  REC_3_MODE
+0x34  REC_4_MODE
+0x35  REC_4_MODE_STATIC_ADDRESS
+0x36  REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS
+0x37  REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS
+)
+
+
+//sniff UART_TX UART_RX
+(
+6 UART_WAKEUP_TX
+7 UART_WAKEUP_RX
+)
+
+
+
+0x01f2 mem_ucode_status
+0x01f3 mem_otp_ucode_flag
+0x01f5 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f6 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f6 mem_addr_hi
+0x01f7 mem_addr_mi
+0x01f8 mem_addr_lo
+0x01f9 mem_iicd_addr
+0x01fa mem_spid_rbuf
+0x01fe mem_ucode_buf
+0x0200 mem_ucode_len
+0x0202 mem_sched_addr
+0x0204 mem_ucode_ptr
+0x0206 mem_ucode_keybuf
+0x0216 mem_check_plap_temp
+0x0228 mem_reconnect_flag
+0x0229 mem_switch_fail_master_count
+0x022a mem_app_evt_timer_count
+
+//adc read
+(
+0 ADC_CONFIG_VINLPM
+1 ADC_CONFIG_HVIN
+2 ADC_CONFIG_GPIO
+)
+
+
+(
+0 QUEUE_OFFSET_EACH_SIZE
+1 QUEUE_OFFSET_LENGTH
+2 QUEUE_OFFSET_CURR_NUM
+3 QUEUE_OFFSET_READ_PTR
+4 QUEUE_OFFSET_WRITE_PTR
+5 QUEUE_OFFSET_ELE_INIT_ADDR
+)
+(
+//Flash Register
+0x05 FLASH_READ_SATUS
+
+// Flash Status Register
+0x00 FLASH_STATUS_WIP
+0X01 FLASH_STATUS_WEL
+0X02 FLASH_STATUS_BP0
+0X03 FLASH_STATUS_BP1
+
+//Flash Write Sm
+0X00 FLASH_SM_NO_BUYS
+0X01 FLASH_SM_START
+0X02 FLASH_SM_ERASE_SECTOR
+0X03 FLASH_SM_WAIT_ERASE_SECTOR
+0X04 FLASH_SM_WRITE_DATA
+0X05 FLASH_SM_WAIT_WRITE_DATA
+
+
+//Flash Command
+0x02 FLASH_COMMAND_WRITE_DATA
+0x03 FLASH_COMMAND_READ_DATA
+0x20 FLASH_COMMAND_SECTOR_ERASE
+)
+
+0x0000 otp_ucode_flag
+0x07f0 otp_ucode_aeskey
+
+/* adc data addr and flag */
+(
+0x07e0 OTP_CHIP_FUNCTIONS
+0x07e2 otp_adc_io_0_5V_addr
+0x07e4 otp_adc_hvin_1V_addr
+0x07e6 otp_adc_vinlpm_2V_addr
+0x07e8 otp_adc_io_1V_addr
+0x07ea otp_adc_hvin_5V_addr
+0x07ec otp_adc_vinlpm_3V_addr
+0x07ee otp_adc_flag_addr
+0xaa55 OTP_ADC_FLAG
+)
+
+/* data stored in eeprom */
+(
+0	eeprom_nv_ram
+
+195	eeprom_module_init_flag//2
+
+)
+
+/*mem_app_handshake_flag*/
+(
+0 APP_HANDSHAKE_NULL
+1 APP_HANDSHAKE_DONE
+
+)
+/*mem_device_option*/
+(
+1 dvc_op_hci
+4 dvc_op_dongle
+5 dvc_op_spp
+6 dvc_op_ukey
+7 dvc_op_ir
+
+9 dvc_op_shutter
+10 dvc_op_module
+11 dvc_op_ble_mouse
+12 dvc_op_ble_kb
+13 dvc_op_ble_prcp
+14 dvc_op_car
+15 dvc_op_AntiLost
+16 dvc_op_remote_car
+255 dvc_op_test
+//device option hight 4
+6 dvc_op_mouse
+7 dvc_op_keyboard
+//device option low 2
+(
+0 MODE_3_MOUSE
+1 MODE_4_MOUSE
+)
+)
+
+(
+3 twspi_sclk
+4 twspi_sdio
+)
+
+(
+4 pan_clk_bit
+5 pan_dat_bit
+6 pan_mov_bit
+)
+
+(
+7 otp_uflag_aes
+6 otp_uflag_skip_eep
+5 otp_uflag_skip_flash
+4 otp_uflag_hci
+)
+
+/* ir command */
+(
+1 ircmd_record
+2 ircmd_play
+3 ircmd_write_pulse
+4 ircmd_write_seq
+5 ircmd_write_next
+
+8 ircmd_test_play
+9 ircmd_test_rec
+
+10 ircmd_report_pulse
+11 ircmd_report_seq
+12 ircmd_report_raw
+
+20 ircmd_screen_on
+21 ircmd_screen_off
+)
+
+(
+7 gpio_active_bit
+)
+(
+2 HID_HANDSHAKE_TIMEOUT
+
+)
+
+(
+1 APP_FLAG_RECONNECT
+)
+(
+5 LPM_WAKE_UP_DELAY_TIMER
+)
+
+
+//mem_app_disconn_reason
+//mem_app_disconn_reason_flag
+//bit map
+(
+2 APP_DISC_RSN_SIZE
+)
+(
+0 APP_DISC_BY_BUTTON
+1 APP_DISC_AFTER_PAIRING
+2 APP_DISC_AFTER_RECONN
+3 APP_DISC_AFTER_SNIFF
+4 APP_DISC_AFTER_SETUP_DONE
+5 APP_DISC_AFTER_HANDSHAKE
+6 APP_DISC_BT
+7 APP_DISC_BLE
+8 APP_DISC_L2CAP_REFUSED
+9 APP_DISC_SWITCH_FAIL
+)
+//eeprom init flag
+(
+	0xaa55 EEPROM_INIT_FLAG
+)
+
+(
+1 KEY_CONF_STRUCT_LEN
+0 KEY_PIN_OFFSET
+)
+
+(
+12000000 PWM_12MHZ
+)
+(
+0 POWER_OFF
+1 POWER_STARTING
+2 POWER_STANDBY
+)
+//power parameter offset(8 byte)
+(
+0 power_state_offset
+1 power_timer_offset
+2 power_off_timeout_offset
+3 power_starting_timeout_offset
+4 power_off_cb_offset
+6 power_starting_cb_offset
+8 power_standby_cb_offset
+10 ui_butten_up_cb_offset
+)
+
+
+//app new specific
+(
+0 CONN_PARAM_UPDATA_PROCEDURE_NO_INIT
+1 CONN_PARAM_UPDATA_PROCEDURE_STARTING
+2 CONN_PARAM_UPDATA_PROCEDURE_COMPLETE
+3 CONN_PARAM_UPDATA_PROCEDURE_FAILD
+)
+(
+0 NEW_SPEC_HEADER_OFFSET
+2 NEW_SPEC_OPCODE_OFFSET
+3 NEW_SPEC_DLEGTH_OFFSET  //data length offset
+5 NEW_SPEC_DADDR_OFFSET   //data address offset
+)
+(
+1 OPCODE1_BUTTEN_CLICK_ONCE
+2 OPCODE2_BUTTEN_DOUBLE_CLICK
+3 OPCODE3_ANTL_START_ALRAM
+4 OPCODE4_CURRENT_ALARM_STATE
+5 OPCODE5_BATTER_INFORMATION
+7 OPCODE7_ANTL_CONFIG_ALRAM
+)
+(
+0x0a NEW_SPEC_NOTIFY_HANDLE
+0x0b NEW_SPEC_NOTIFICATION_ENABLE_HANDLE
+0x0d NEW_SPEC_WRITE_HANDLE
+)
+//app new specific end
+
+//mem_anti_lost_mode
+(
+0x01 ANTI_LE_ALARM_ON
+0x00 ANTI_LE_ALARM_OFF
+)
+(
+0 NOTIFICATION_ENABLE_BIT
+1 INDICATION_ENABLE_BIT
+)
+
+
+
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE_CAR
+)
+
+(
+0x14 ATT_CAR_CONTROL_HANDLE
+0x14 ATT_SPEED_SET_HANDLE
+)
+
+
+(
+0 TURN_FRONT
+1 TURN_LEFT
+2 TURN_RIGHT
+0 MOTOR_STOP
+1 GO_FRONT
+2 GO_BACK
+0x6b5a LE_RECEIVE_PACKET_HEAD
+)
+
+(
+0 FLAG_IR_DISABLE
+1 FLAG_IR_ENABLE
+)
+
+(
+0 DEVICE_CAR
+1 DEVICE_TANK
+2 DEVICE_BATTLE_CAR
+3 DEVICE_BATTLE_TANK
+4 DEVICE_REMOTE
+)
+
+(
+0 F_B_MOTOR
+1 L_R_MOTOR
+2 F_B_BATTERY
+3 L_R_BATTERY
+)
+
+
+
+(
+1 SPEED_LEVEL_1
+2 SPEED_LEVEL_2
+3 SPEED_LEVEL_3
+4 SPEED_LEVEL_4
+5 SPEED_LEVEL_5
+6 SPEED_LEVEL_6
+7 SPEED_LEVEL_7
+8 SPEED_LEVEL_8
+9 SPEED_LEVEL_9
+10 SPEED_LEVEL_10
+)
+
+(
+0 PWM0_DUTY_SETTING
+1 PWM1_DUTY_SETTING
+2 PWM2_DUTY_SETTING
+)
+
+(
+1 CAR_CMD_BATTERY
+2 CAR_CMD_OLD_CAR_CONTROL
+3 CAR_CMD_OLD_SPEED_CONTROL
+4 CAR_CMD_L_R_MOTOR_CONTROL
+5 CAR_CMD_F_B_MOTOR_CONTROL
+6 CAR_CMD_IR_CONTROL
+7 CAR_CMD_LED_CONTROL
+8 CAR_CMD_DEVICE_INFO
+)
+
+(
+0 CAR_REMOTE_CHECK_BUTTON
+1 CAR_REMOTE_CHECK_ROCKER
+)
+
+(
+0x11 CAR_NOTIFY_HANDLE
+)
+
+(
+0 LED_OFF
+1 LED_ON
+2 LED_BLINK
+0xFF LED_INVALID
+)
+
+(
+0xFF INVALID_PIN_NUM
+)
+
+
+(
+0 POWER_ON
+1 WORK_PAIRED
+2 WORK_SEARCH
+)
+
+
+
+(
+0 LIGHT_GROUP0
+)
+
+(
+0 LIGHT_CMD_PWM0
+1 LIGHT_CMD_PWM1
+2 LIGHT_CMD_PWM2
+3 LIGHT_CMD_PWM3
+4 LIGHT_CMD_PWM4
+5 LIGHT_CMD_PWM5
+6 LIGHT_CMD_AUTO_MODE
+0xff LIGHT_CMD_PAIRING
+
+)
+
+
+
+
+(//mem_module_flag
+//bit0~bit3 config module function
+0 MODULE_FLAG_UART_FLOW_CONTROL
+1 MODULE_FLAG_BLE_SEND_MTU23
+2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+//bit4~bit7 module states change
+4 MODULE_FLAG_BLE_DATA_FINISH
+5 MOUDLE_TASK_UNSNIFF
+6 MOUDLE_TASK_SNIFF
+
+)
+
+(
+34 NV_DATA_LEN
+-1 DECREASED_ONE
+)
+
+
+
+(
+	10 FLAG_MODULE_READ_VDD_COUNT
+)
+
+(
+	110  DM_REFCOM_BUFF_LEN
+)
+(
+	0x200 UART_AIR_CONTROL_THRESHOLD
+)
+
+(
+0x01 HCI_DISCARD_PACKET
+0x00 HCI_NOT_DISCARD_PACKET
+)
+
+
+
+(//Command
+0x00 HCI_CMD_SET_BT_ADDR_REQ
+0x01 HCI_CMD_SET_LE_ADDR_REQ
+0x02 HCI_CMD_SET_VISIBILITY_REQ
+0x03 HCI_CMD_SET_BT_NAME_REQ
+0x04 HCI_CMD_SET_LE_NAME_REQ
+0x05 HCI_CMD_SPP_DATA_REQ
+0x09 HCI_CMD_LE_DATA_REQ
+0x0b HCI_CMD_STATUS_IRQ
+0x0c HCI_CMD_SET_PAIRING_REQ
+0x0d HCI_CMD_SET_PINCODE_REQ
+0x0e HCI_CMD_SET_UARTCONTROL_REQ
+0x0f HCI_CMD_SET_UART_BAUD_REQ
+0x10 HCI_CMD_VERSION_REQ
+0x11 HCI_CMD_BT_DISCONNECT
+0x12 HCI_CMD_BLE_DISCONNECT
+0x13 HCI_CMD_DELETE_DEVICE
+0x14 HCI_CMD_CREATE_CONNECT
+0x26 HCI_CMD_SET_NVRAM_REQ
+0x27 HCI_CMD_SLEEP
+0x28 HCI_CMD_CONFIRM_GKEY
+0x29 HCI_CMD_SET_CREDIT_GIVEN
+0x2a HCI_CMD_AUTO_ADV_SCAN
+0x2b HCI_CMD_POWER_REQ
+0x2c HCI_CMD_POWER_SET
+0x30 HCI_CMD_PASSKEY_ENTRY
+0x31 HCI_CMD_SET_GPIO
+0x32 HCI_CMD_READ_GPIO
+0x33 HCI_CMD_LE_SET_PAIRING
+0x34 HCI_CMD_LE_SET_ADV_DATA
+0x35 HCI_CMD_LE_SET_SCAN_DATA
+0x36 HCI_CMD_LE_SEND_CONN_UPDATE_REQ
+0x37 HCI_CMD_LE_SET_ADV_PARM
+0x38 HCI_CMD_LE_START_PAIRING
+0x40 HCI_CMD_SET_WAKE_GPIO
+0x42 HCI_CMD_SET_TX_POWER
+0x43 HCI_CMD_BOOT_VERSION_REQ
+0x48 HCI_CMD_LE_CONFIRM_GKEY
+0x49 HCI_CMD_REJECT_JUSTWORK
+0x51 HCI_CMD_RESET_CHIP_REQ
+
+0x61 HCI_CMD_LE_SET_FIXED_PASSKEY
+
+0xff HCI_TEST_CMD_CLOSE_LPM
+)
+
+(//event
+0x00 HCI_EVENT_SPP_CONN_REP
+0x01 HCI_EVENT_HID_CONN_REP
+0x02 HCI_EVENT_LE_CONN_REP
+0x03 HCI_EVENT_SPP_DIS_REP
+0x04 HCI_EVENT_HID_DIS_REP
+0x05 HCI_EVENT_LE_DIS_REP
+0x06 HCI_EVENT_CMD_RES
+0x07 HCI_EVENT_SPP_DATA_REP
+0x08 HCI_EVENT_LE_DATA_REP
+0x09 HCI_EVENT_STANDBY_REP
+0x0a HCI_EVENT_STATUS_RES
+0x0b HCI_EVENT_FINISH_PACK_NUM
+0X0C HCI_EVENT_SNIFF_MD_CHANGE
+0x0D HCI_EVENT_NVRAM_REP
+0x0e HCI_EVENT_GKEY
+0x0F HCI_EVENT_INVALID_PACKET
+0x10 HCI_EVENT_GET_PASSKEY
+0x11 HCI_EVENT_LE_TK
+0x12 HCI_EVENT_REMOTE_MTU
+0x14 HCI_EVENT_LE_PAIRING_STATE
+0X15 HCI_EVENT_LE_ENCRYPTION_STATE
+0x17 HCI_EVENT_LE_CONNECTION_UPDATE
+0x1d HCI_EVENT_LE_GKEY
+
+)
+
+
+(//command HCI_CMD_SET_GPIO
+//byte 0
+0x00 HCI_CMD_CONFIG_GPIO_INPUT
+0x01 HCI_CMD_CONFIG_GPIO_OUTPUT
+//byte 1 input state
+0x00 GPIO_INPUT_PULLUP
+0x01 GPIO_INPUT_PULLDOWN
+0x02 GPIO_INPUT_HIGH_IMPEDANCE
+)
+
+
+
+(
+0x7e0 OTP_ADDR_RF_PARAM_FIX
+//struct of RF_PARAM_FIX
+// uint8       //length = param_pair_count * 2 
+// uint16     //param-pair-1
+// uint16     //param-pair-2
+// uint16     //param-pair-3
+// uint16     //param-pair-4
+// uint16     //param-pair-5
+// uint16     //param-pair-6
+// uint16     //param-pair-7
+)
+
+(
+0	PAIRING_PINCODE
+1	PAIRING_JUSTWORK
+2	PAIRING_PASSKEY
+3	PAIRING_CONFIRM
+)
+
+
+(
+0x0001	FLAG_BT_PAIRING_SUCCESS
+0x0101	FLAG_BT_PAIRING_FAIL
+0x0080	FLAG_BLE_PAIRING_SUCCESS
+0x0180	FLAG_BLE_PAIRING_FAIL
+)
+
+
+(
+1	FLAG_EVENT_START_ENC
+0	FLAG_EVENT_PAUSE_ENC
+)
+
+(
+	0 MOUDLE_STATE_BT_BIT
+	1 MOUDLE_STATE_BLE_BIT
+)
+
+
+0x022b mem_init_cnt
+//dpi eeprom addr
+
+
+
+(
+//SPI GPIO 
+0x19 MOUSE_SPI1_CLK_GPIO
+0x1A MOUSE_SPI1_SDIO_GPIO
+0X1E MOUSE_SPI2_CLK_GPIO
+0X1F MOUSE_SPI2_SDIO_GPIO
+//combination
+0x01 MOUSE_L_BUTTON
+0X02 MOUSE_R_BUTTON
+0X04 MOUSE_M_BUTTON
+0X05 MOUSE_LM_BUTTON
+0X06 MOUSE_RM_BUTTON
+0X07 MOUSE_LMR_BUTTON
+//mouse default gpio
+0x1B MOUSE_DEFAULT_XA_GPIO
+0x1C MOUSE_DEFAULT_XB_GPIO
+
+//ui led blink
+0X00C8  LED_RECONNECT_BLINK //200
+0X0190  LED_DPI_BLINK //400
+0X03E8  LED_DPI_BLINK_FIXED    //1000
+0X03E8  LED_DISCOVERY_BLINK    //1000
+0XFF    LED_LONG_BLINK
+0x05	LED_SENSOR_BLINK_CNT
+//bt mode device number
+0x01 MODE_BT_DEVICE1
+0x02 MODE_BT_DEVICE2
+0x03 MODE_BT_DEVICE3
+0x02 MODE_24G_DEVICE
+//mouse  flag
+0X00 WRITE_REQ_ENABLE_FLAG
+0X01 LL_START_ENC_FLAG
+0X02 LL_PAIRING_SUCCESS_FLAG
+
+
+//mouse_function_flag
+0X04 MOUSE_FLAG_LEN
+//1byte
+0X00 MOUSE_SELECT_DEVICE_FLAG
+0X01 MOUSE_CPI_FLAG
+0X02 MOUSE_BT_CANNEL_RECONN_FLAG
+0X03 MOSUE_24G_PAIRING_FLAG
+0X04 MOUSE_LOW_VOLTAGE_FLAG
+0X05 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+0X06 MOUSE_LONG_BT_BUTTON_FLAG
+0X07 MOUSE_STORE_EEPROM_FLAG
+0x08 MOUSE_STATUE_UP_FLAG
+0X09 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+
+
+//3byte
+0X10 MOUSE_ENABLE_USB
+0X11 MOUSE_ENABLE_24G
+0X12 MOUSE_ENABLE_SPI2
+0X13 MOUSE_ENABLE_FLASH
+0X14 MOUSE_ENABLE_EEPROM
+0X15 MOUSE_ENABLE_STATUE_UP_THREE_LED
+0X16 MOUSE_ENABLE_STATUE_UP
+0X17 MOUSE_ENABLE_DPI_LED_BLINK
+//4byte
+0X18 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+0X19 MOUSE_ENABLE_2K_EEPROM
+0X1A MOUSE_ENABLE_ADC
+0X1B MOUSE_ENABLE_INIT_DELAY
+0X1C MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+0X1D MOUSE_ENABLE_AUTO_24G_PARING
+0X1E MOUSE_ENABLE_WAKEUP_FROM_POWER
+0X1F MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+
+
+
+//mouse dpi level
+0x00 MOUSE_DPI_LEVEL1
+0x01 MOUSE_DPI_LEVEL2
+0x02 MOUSE_DPI_LEVEL3
+0x03 MOUSE_DPI_LEVEL4
+
+
+//mouse sensor angle
+0x00 MOUSE_6CLK_ANGLE
+0X01 MOUSE_9CLK_ANGLE
+0X02 MOUSE_12CLK_ANGLE
+0X03 MOUSE_3CLK_ANGLE
+
+
+//mem_config_function_enable
+0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+1 ENABLE_MODE_LED
+2 ENABLE_LOW_VOLTAGE_LED
+3 ENABLE_DEVICE_LED
+4 ENABLE_BT_BUTTON
+5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+6 ENABLE_SELECT_DEVICE_BY_SWITCH
+7 ENABLE_SENSOR_MOTION_PIN
+
+0xFF GPIO_DISABLE
+
+
+//DPI button state 
+0x00 DPI_BUTTON_STATE_DOWN
+0x01 DPI_BUTTON_STATE_UP
+
+
+//eeprom address offect
+0X00 MOUSE_INFO_EEPROM_OFFECT
+0X5A MOUSE_DPI_EEPROM_OFFECT	//1byte
+0X5B MOUSE_G24_ADDR_EEPROM_OFFECT	//4bytes
+0X5F MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET	//2bytes
+0X61 MOUSE_DEVICE_MODE_EEPROM_OFFSET	//1byte	
+0X62 MOUSE_EEPROM_MODULE_INIT_FLAG		//eeprom_module_init_flag 2bytes
+
+
+// Sensor id number
+0x30 P32XX_ID1
+0x31 P3065_ID1
+0x3E P3610_ID1
+0x02 P3212_ID2
+0xD1 P3205_TJ3T_ID2
+0XD2 P3204_TJ3L_ID2
+0x54 PKA8_ID2
+0x70 P3065_XY_ID2
+0x5a P_MX8650
+
+
+//Sensor type
+0X00 P3205
+0X01 P3065
+0X02 KA8
+0X03 P3204
+0X04 P3212
+0X05 P3610
+0X06 P3065_XY
+0x07 MX8650
+
+
+//p3610 smart enable flag
+0X00 P3610_SMART_ENABLE
+0X01 P3610_SMART_DISABLE
+
+
+//SENSOR REG
+0x00 PAN_REG_PID_L
+0x01 PAN_REG_PID_H
+0x02 PAN_REG_MOTION_STAUS
+0x03 PAN_REG_DELTA_X
+0x04 PAN_REG_DELTA_Y
+0x05 PAN_REG_OPRATION_MODE
+0x06 PAN_REG_CONFIG
+0x07 PAN_REG_IMAGE_QUALITY
+0x08 PAN_REG_OPRATION_STATE
+0x09 PAN_REG_WRITE_PROTECT
+0x0A PAN_REG_SLEEP_1
+0x0B PAN_REG_ENTER_TIME
+0x0C PAN_REG_SLEEP_2
+0x0D PAN_REG_IMAGE_THRESHOLD
+0x0E PAN_REG_IMAGE_RECGNITION
+
+
+0x06 MOUSE_DPI_ADDRESS
+0x05 MOUSE_P3610_DPI_ADDRESS
+0x0D MOUSE_P3212_DPI_XADDRESS
+0x0E MOUSE_P3212_DPI_YADDRESS
+
+
+0x06 MOUSE_FPGA_RF_WORK_DEBUG_GPIO
+0x02 MOUSE_FPGA_DEBUG_GPIO
+
+)
+
+(
+0x01 ADV_FLAG_LIMITED_DISCOVERABLE
+0x04 ADV_FLAG_BREDR_NOT_SUPPORTED
+)
+
+(
+5 TEST_GPIO
+)
+
+(
+1 LE_LPM_DISABLE
+0 LE_LPM_ENABLE
+
+12 LE_INTERVAL_15MS
+9 LE_INTERVAL_11_25MS//11.25ms
+7 LE_INTERVAL_8_75MS//8.75ms
+)
+
+(
+0x017700 G24_LONG_SLEEP_STEP1	//8ms
+0x36ee80 G24_LONG_SLEEP_STEP2	//300ms
+)
+
+
+(
+0 MOUSE_24G_ONLY
+1 MOUSE_BLE_ONLY
+2 MOUSE_BT_ONLY
+3 MOUSE_BLE_24G_ENABLE
+4 MOUSE_BT_BLE_24G_ENABLE
+)
+
+(
+0 MULTI_LED_ON
+1 MULTI_LED_BLINK
+)
+
+
+
+
+
+
+(
+// eeprom config
+0xb0 REMOTE_PARAM_EEPROM_CONFIG_ADDR
+
+)
+
+
+(
+0x00 CONTROL_F_B_MOTOR
+0x02 CONTROL_L_R_MOTOR
+)
+
+(
+0x00 KEY_MAP_TEN
+0x01 KEY_MAP_LR
+)
+
+(
+0x00 CONTROL_F_B_TEN
+0x02 CONTROL_L_R_TEN
+0x03 CONTROL_L_R_LR
+)
+
+(
+0 KEY_CHECK
+1 ROCKER_CHECK
+)
+
+(
+1 MOTOR_POSITIVE
+2 MOTOR_NEGATIVE
+)
+
+(
+0 ROCKER_MIDDLE_KEY
+1 ROCKER_POSITIVE_KEY
+2 ROCKER_NEGATIVE_KEY
+)
+
+
+
+
+
+
+
+
+(
+0 BLE_SHUTTER
+1 CLASSIC_SHUTTER
+)
+
+(
+0x0000 NVRAM_EEPROM_OFFSET
+)
+
+(
+0x1b3a SHUTTER_EEPROM_CONFIG_CRC
+)
+
+(
+5 MAX_QUEUE_NUM
+5 SHUTTER_BLE_DATA_BUFFER
+5 SHUTTER_CLASSIC_DATA_BUFFER
+)
+
+
+(
+0x13	GATT_CONSUMER_NOTIFY_HANDLE
+0x14	GATT_CONSUMER_WRITE_HANDLE
+0x17	GATT_KEYBOARD_NOTIFY_HANDLE
+0x18	GATT_KEYBOARD_WRITE_HANDLE
+)
+
+(
+//20ms
+0x0020	FAST_ADV_INTERVAL_VALUE
+//100ms
+0x00a0	SLOW_ADV_INTERVAL_VALUE
+)
+
+
+(
+0 ATT_BIT_NOTIFICATION
+1 ATT_BIT_INDICATION
+)
+///////////////////////////////////////////////////////////////////////////////////////
+
+(
+0 HARD_SWITCH
+1 SOFT_SWITCH
+)
+
+
+(
+1  FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+5 FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+)
+
+(//Data Rom Buffer Addr
+382		BLE_GATT_LIST_SIZE
+487		BT_SDP_LIST_SIZE
+40		BLE_KEY_VALUE_LIST_SIZE
+40		BT_KEY_VALUE_LIST_SIZE
+0x913A	BLE_SHUTTER_GATT_LIST
+0x92B8	CLASSIC_SHUTTER_SDP_LIST
+0x949F	BLE_SHUTTER_KEY_VALUE_LIST
+0x94C7	CLASSIC_SHUTTER_KEY_VALUE_LIST
+)
+
+
+(//soft switch power state
+0		SS_STATE_POWER_UP
+1		SS_STATE_POWER_ON
+2		SS_STATE_POWER_OFF
+)
+
+(
+0		SS_POWER_STATE_OFFSET
+1		SS_POWER_ON_TIME
+2		SS_POWER_OFF_TIME
+3		SS_POWER_ON_CB
+5		SS_POWER_OFF_CB
+
+)
+
+(
+
+0x4FFE SIM_IIC_SCL_GPIO_NUM
+0x4FFF SIM_IIC_SDA_GPIO_NUM
+
+)
+
+
+
+//class type
+(
+0x00 STANDARD_REQ
+0x01 CLASS_REQ
+0x02 MANUFACTURER_REQ
+)
+//Standard Request Codes
+(
+0x00 GET_STATUS                // Code for Get Status
+0x01 CLEAR_FEATURE             // Code for Clear Feature
+0x03 SET_FEATURE              // Code for Set Feature
+0x05 SET_ADDRESS              // Code for Set Address
+0x06 GET_DESCRIPTOR           // Code for Get Descriptor
+0x07 SET_DESCRIPTOR           // Code for Set Descriptor(not used)
+0x08 GET_CONFIGURATION        // Code for Get Configuration
+0x09 SET_CONFIGURATION        // Code for Set Configuration
+0x0A GET_INTERFACE            // Code for Get Interface
+0x0B SET_INTERFACE            // Code for Set Interface
+0x0C SYNCH_FRAME              // Code for Synch Frame(not used)
+)
+//Standard Descriptor Types
+(
+0x01 DSC_DEVICE               // Device Descriptor
+0x02 DSC_CONFIG               // Configuration Descriptor
+0x03 DSC_STRING               // String Descriptor
+0x04 DSC_INTERFACE            // Interface Descriptor
+0x05 DSC_ENDPOINT             // Endpoint Descriptor
+)
+//HID Descriptor Types
+(
+0x21 DSC_HID			      // HID Class Descriptor
+0x22 DSC_HID_REPORT			  // HID Report Descriptor
+)
+//Define bmRequestType bitmaps
+(
+0x80 IN_DEVICE                // Request made to device,
+                              // direction is IN
+0x00 OUT_DEVICE               // Request made to device,
+                              // direction is OUT
+0x81 IN_INTERFACE             // Request made to interface,
+                              // direction is IN
+0x01 OUT_INTERFACE            // Request made to interface,
+                              // direction is OUT
+0x82 IN_ENDPOINT              // Request made to endpoint,
+                              // direction is IN
+0x02 OUT_ENDPOINT             // Request made to endpoint,
+)
+//HID Request Codes
+(
+0x01 GET_REPORT 		       // Code for Get Report
+0x02 GET_IDLE				   // Code for Get Idle
+0x03 GET_PROTOCOL			   // Code for Get Protocol
+0x09 SET_REPORT				   // Code for Set Report
+0x0A SET_IDLE				   // Code for Set Idle
+0x0B SET_PROTOCOL			   // Code for Set Protocol
+0xF2 HID_REPORT_ID           
+64 EP0_PACKET_SIZE         
+6 EP1_PACKET_SIZE         
+16 HID_REPORT_SIZE         
+0x001B HID_REPORT_DESCRIPTOR_SIZE    
+)
+//math cordic
+(
+0 TYPE_SIN		
+1 TYPE_ATAN	
+2 TYPE_MULT	
+3 TYPE_DIV		
+4 TYPE_ASIN	
+5 TYPE_SQRT	
+6 TYPE_COS		
+7 TYPE_TAN		 
+)
+   
+(
+0 DFIFO0_IN_EMPTY
+1 DFIFO1_IN_EMPTY
+2 DFIFO2_IN_EMPTY
+3 DFIFO3_IN_EMPTY
+4 DFIFO0_OUT_EMPTY
+5 DFIFO1_OUT_EMPTY
+6 DFIFO2_OUT_EMPTY
+7 DFIFO3_OUT_EMPTY
+)
+
+(
+4 USB_STATUS_SETUP
+6 USB_STATUS_NAK
+)
+
+(
+1 USB_GOT_REPORT_REQ
+2 USB_CONNECTED
+3 USB_SLEEP
+4 USB_RESUME
+5 USB_SETIDLE_1
+)
+
+(
+0x10 USB_EP1_KB
+0x20 USB_EP2_MS
+0x21 USB_EP2_MULTIKEY
+0x01 MAC_BOOT_MODE
+0x02 R_KEY
+0x03 LR_KEY
+)
+
+(
+0x8ffa	HID_KBDATA_ADDR
+0x903a	HID_MSDATA_ADDR
+0x90fe	HID_CONFDATA_ADDR
+)
+
+
+(
+0x01ba PC_GET_REPORT
+0x02ba PC_SET_REPORT
+0x0200 PC_SET_REPORT_bValue
+0x0000 PC_SET_REPORT_wIndex
+0x0001 PC_SET_REPORT_bLength
+0xba PC_REPORT_ID
+
+0x01 PC_GET_DATA
+0x00 PC_GET_NONDATA
+)
+
+(
+//--------------------------------------------------
+// Define device states
+0x00 DEV_ATTACHED	// Device is in Attached State
+0x01 DEV_POWERED	// Device is in Powered State
+0x02 DEV_DEFAULT		// Device is in Default State
+0x03 DEV_ADDRESS	// Device is in Addressed State
+0x04 DEV_CONFIGURED	// Device is in Configured State
+0x05 DEV_SUSPENDED	// Device is in Suspended State
+)
+
+(
+// Define wIndex bitmaps
+0x81 IN_EP1                    // Index values used by Set and Clear
+0x01 OUT_EP1                   // commands for Endpoint_Halt
+0x82 IN_EP2              
+0x02 OUT_EP2             
+0x83 IN_EP3              
+0x03 OUT_EP3             
+)
+
+(
+0 EP0_STALL
+1 EP1_IN_STALL
+2 EP1_OUT_STALL
+3 EP2_IN_STALL
+4 EP2_OUT_STALL
+5 EP3_IN_STALL
+6 EP3_OUT_STALL
+)
+
+(
+// Define wValue bitmaps for Standard Feature Selectors
+0x00 ENDPOINT_HALT             // Endpoint_Halt feature selector
+0x01 DEVICE_REMOTE_WAKEUP      // Remote wakeup feature(not used)
+0x00 BOOT_PROTOCOL
+0x01 REPORT_PROTOCOL
+0x01 USB_MAX_NUM_CFG
+)
+
+
+(
+0x1A0 AT_baud_115200
+0x4e2 AT_baud_38400
+0x1388 AT_baud_9600
+)
+
+(
+0x4e00 mem_module_rx_buf//0x400
+0x4fff mem_module_rx_buf_end
+0x1c00 mem_module_tx_buf
+0x1fff mem_module_tx_buf_end
+)
+
+(
+0x01 BIND_ACKPAYLOAD
+0x02 USER_ACKPAYLOAD
+
+0xcf CMD_OTA
+0xc0 CMD_OTA_START
+0xc1 CMD_OTA_DATA
+0xc2 CMD_OTA_EXIT
+0x55 OTA_STA_SUCCESS
+0xaa OTA_STA_FAIL
+)
+
+(
+0 TIMER_NAK
+640 TIMER_NAK_DELAY
+15 TIMER_WAKEUP
+5000 TIMER_WAKEUP_DELAY
+)
+
+
+
+(
+//add
+0   offset_24g_rxbuf
+1   offset_24g_rxbuf_add1
+2   offset_24g_rxbuf_add2
+34  offset_24g_txbuf
+66  offset_24g_txpayload
+100 offset_24g_rxpayload
+102 offset_24g_rxpayload_add2
+132 offset_24g_rxdata_length
+133 offset_24g_pid
+134 offset_24g_datalen
+135 offset_24g_data_type
+136 offset_24g_txlen
+137 offset_24g_rx_window
+139 offset_24g_ensure
+140 offset_24g_txfail_cnt
+141 offset_24g_get_ack_fail
+142 offset_24g_tx_without_int
+143 offset_24g_retry
+144 offset_24g_ch
+145 offset_24g_current_ch_number
+146 offset_24g_paring_addr
+150 offset_24g_pairing_sm
+151 offset_24g_ch_map1
+155 offset_24g_ch_map2
+159 offset_24g_ch_map3
+163 offset_24g_ch_map4
+167 offset_24g_tx_btclk
+171 offset_24g_interval
+172 offset_24g_interval_min
+173 offset_24g_interval_max
+174 offset_24g_addr
+178 offset_24g_abort_pac
+179 offset_24g_sync_pac
+180 offset_24g_hop_pac
+181 offset_24g_check_dongle_times
+182 offset_24g_enter_hibernate
+190 offset_24g_device_addr
+194 offset_24g_pac_index
+195 offset_24g_no_ack
+196 offset_24g_sta_crc
+199 offset_24g_last_crc
+202 offset_24g_sta_pid
+203 offset_24g_last_pid
+204 offset_24g_max_retry
+205 offset_24g_mode
+206 offset_24g_rf_last_sta
+207 offset_24g_rf_hop_ch
+208 offset_24g_sync_cnt
+209 offset_24g_hop_pac_retry
+210 offset_24g_rf_work_stage
+211 offset_24g_hop_fastly_cnt
+212 offset_24g_short_sleep_timer
+216 offset_24g_cb_data
+218 offset_24g_cb_lpm_prepare
+220 offset_24g_cb_lpm_before
+222 offset_24g_cb_rxdata_type1
+224 offset_rssi_signal_index
+225 offset_rssi_signal_avg
+226 offset_rssi_signal_buf
+234 offset_rssi_noise_index
+235 offset_rssi_noise_avg
+236 offset_rssi_noise_buf
+244 offset_rssi_ctrl_threshold_down
+245 offset_rssi_noise_dg_index
+246 offset_rssi_noise_kb_index
+247 offset_rssi_noise_ms_index
+248 offset_rssi_noise_dg_avg
+249 offset_rssi_noise_kb_avg
+250 offset_rssi_noise_ms_avg
+251 offset_tx_power_temp
+252 offset_power_ctrl_packet_cnt
+253 offset_power_ctrl_ack_cnt
+254 offset_power_ctrl_level
+255 offset_power_ctrl_txpwr_level2
+//iadd
+256 offset_power_ctrl_txpwr_level1
+257 offset_power_ctrl_txpwr_level0
+258 offset_power_ctrl_threshold_up
+259 offset_power_ctrl_threshold_down
+260 offset_dongle_mode_init
+261 offset_dongle_work_mode
+262 offset_dongle_ms_bind_step
+263 offset_dongle_kb_bind_step
+264 offset_dongle_bind_device_status
+265 offset_24g_rxdata_temp
+267 offset_24g_rxdata_temp_add2
+268 offset_24g_rxdata_temp_add3
+269 offset_24g_rxdata_temp_add4
+299 offset_24g_rx_addr
+303 offset_24g_bind_payload
+304 offset_24g_bind_payload_add1
+305 offset_24g_bind_payload_add2
+309 offset_24g_rf_laststa
+310 offset_24g_hop_btclk
+314 offset_24g_hop_interval
+315 offset_24g_ackpayload_enable
+316 offset_24g_ackpayload
+348 offset_24g_mode_switch
+349 offset_24g_pair_mode
+350 offset_24g_nodata_timer_enable
+351 offset_24g_time_slice
+352 offset_24g_mouse_addr
+356 offset_24g_kb_addr
+360 offset_24g_kb_data_sta_data
+368 offset_24g_kb_data_last_data
+376 offset_24g_kb_multikey_sta_data
+379 offset_24g_kb_multikey_last_data
+382 offset_24g_kb_blank_data_enable
+383 offset_24g_kb_mul_blank_data_enable
+384 offset_24g_ms_blank_data_enable
+385 offset_24g_dg_last_ch
+386 offset_24g_dg_ch_number
+387 offset_24g_dg_config_ch_once
+388 offset_24g_kb_last_ch
+389 offset_24g_kb_ch_number
+390 offset_24g_kb_config_ch_once
+391 offset_24g_ms_last_ch
+392 offset_24g_ms_ch_number
+393 offset_24g_ms_config_ch_once
+394 offset_24g_pair_txpower
+395 offset_24g_auto_pair_switch
+)
+
+(
+3 QUEUE_ELE_COUNT
+32 QUEUE_ELE_LENGTH
+)
+
+(
+3 retry_24g
+1 NO_ACK_24G
+0 WITH_ACK_24G
+
+0 ENSURE_OFF_24G
+1 ENSURE_ON_24G
+
+0x10 ABORT_DATA
+0x40 RSSI_SENSITIVITY
+
+0x4e G24_PAIR_CH
+)
+
+(
+0 disable_24g
+1 tx_24g
+2 rx_24g
+
+0 bit_ack_24g
+)
+
+//mem_24g_interrupt
+(
+0 rx_dr
+1 rx_sync
+4 tx_ds
+5 tx_fail
+)
+
+//mem_24g_data_type
+(
+0x07 bits_data
+//0-2 data type
+3 bit_abort
+4 bit_hop
+5 bit_sync
+//6-7 channel offset
+)
+
+
+
+//mem_24g_pairing_sm
+(
+0 STATE_24G_PAIRING_NULL
+1 STATE_24G_PAIRING_1
+2 STATE_24G_PAIRING_2
+3 STATE_24G_PAIRING_3
+0X11 STATE_24G_PAIRING_1_WAITING_ACK
+0X12 STATE_24G_PAIRING_2_WAITING_ACK
+0X13 STATE_24G_PAIRING_3_WAITING_ACK
+0XFF STATE_24G_PAIRING_SUCCESS
+)
+
+(
+0 DONGLE_WORK	   		//connect mode normal
+1 DONGLE_BIND			//code pair mode
+2 DONGLE_TEST			//test mode
+3 DONGLE_CODE			//PC_application
+4 DONGLE_PCBA			//PCBA_TEST
+5 DONGLE_DEBUG
+6 DONGLE_MODE_MAX
+7 DONGLE_SEARCH
+0 CLEAR_INIT
+)
+
+(
+0x01 DATATYPE_MOUSE	//mouse
+0x02 DATATYPE_KEYBOARD	//keyboard
+0xAA DATATYPE_BIND		//bind step 1
+0x55 DATATYPE_CONFIG	//bind step 2
+0x22 DATATYPE_OK	//bind step 3
+
+0x01 BIND_MOUSE
+0x02 BIND_KEYBOARD
+)
+
+(
+112 G24_DONGLE_ADDR
+)
+
+(
+0xa0 COMMAND_MODE     //BYTE 0
+0X81 COM_MODE_BIND	//BYTE 1
+0X82 COM_MODE_TEST	//BYTE 1
+)
+(
+0xa1 COMMAND_BIND		//BYTE 0
+0X01 COM_BIND_GET		//1
+0X84 COM_BIND_EXIT		//1
+0XA7 COM_READ_MODE	//1
+)
+(
+0xa2 COMMAND_TEST	//BYTE 0
+0X81 COM_TEST_SC		//	进入单载波
+0x82 COM_TEST_CD		// fcc测试
+0x83 COM_TEST_DAT		// 数据测试
+0X84 COM_TEST_LOW_CH  //低频点
+0X85 COM_TEST_MID_CH	//中频点
+0X86 COM_TEST_HIG_CH	//高频点
+0X87 COM_TEST_SW_HIG	//自动切换频点为高 1mhz
+0X88 COIM_TEST_SW_LOW	//自动切换频点为低 1mhz
+0X89 COM_TEST_SW_STOP	//停止自动切换频点
+0X8A COM_TEST_POW_5		//设置输出功率5dbm
+0X8B COM_TEST_POW_0		//0dbm
+0X8C COM_TEST_POW_N5		//-5dbm
+0X8D COM_TEST_POW_N10		//-10dbm
+0X8E COM_TEST_EXIT			//退出测试模式
+)
+(
+0xa6 COMMAND_CURRENT_PROJECT
+0xa7 COMMAND_CURRENT_MODE
+0xa9 COMMAND_CURRENT_FW_VERSION
+)
+
+//user defined cmd
+(
+0xb0 COMMAND_USER_DEFINED
+)
+
+(
+0x15 PRODUCT_ID
+0 FW_VERSION0
+0 FW_VERSION1
+1 FW_VERSION2
+7 FW_VERSION3
+)
+
+
+(
+8 TIMER_NODATA
+640 TIMER_NODATA_DELAY	//200ms
+
+11 TIMER_MS_BLANK
+320 TIMER_MS_BLANK_DELAY
+
+12 TIMER_KB_MUL_BLANK
+320 TIMER_KB_MUL_BLANK_DELAY
+
+14 TIMER_KB_BLANK
+320 TIMER_KB_BLANK_DELAY
+)
+
+(
+0 KB_NORMAL_REPORT_ID
+1 MS_REPORT_ID
+3 KB_MULTIKEY_REPORT_ID
+)
+
+(
+7 RSSI_BUF_LEN_SIGNAL
+255 RSSI_BUF_LEN_NOISE
+0x50 RSSI_THRESH_NOISE
+
+0x77 RSSI_DIS_MIN_24G
+0x82 RSSI_DIS_MAX_24G
+
+0x75 RSSI_DIS_MIN_BLE
+0x80 RSSI_DIS_MAX_BLE
+)
+
+(
+//power control
+0x01 TXPWR_0DB
+0x02 TXPWR_3DB
+0x04 TXPWR_5DB
+0x10 TXPWR_f5DB
+
+124 POWER_CTRL_MAX_PACKET_CNT
+
+2 POWER_CTRL_LOSSPAC_THRESH_UP0
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN0
+0x20 POWER_CTRL_RSSI_THRESH_DOWN0
+
+5 POWER_CTRL_LOSSPAC_THRESH_UP1
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN1
+0x60 POWER_CTRL_RSSI_THRESH_DOWN1
+
+10 POWER_CTRL_LOSSPAC_THRESH_UP2
+0 POWER_CTRL_LOSSPAC_THRESH_DOWN2
+0x80 POWER_CTRL_RSSI_THRESH_DOWN2
+)
+
+//mem_send_data_24g_short_lpm
+(
+0 SHORT_LPM_STATE_POLLING 	
+1 SHORT_LPM_STATE_DATA
+2 SHORT_LPM_STATE_NODATA
+3 SHORT_LPM_STATE_BUTTON_WHEEL
+)
+
+(
+81000 G24_8125_INTERVAL_PARAM
+78000 G24_78125_INTERVAL_PARAM
+)
+
+(
+1 G24_TX_TIMER_INT_ENABLE
+0 G24_TX_TIMER_INT_DISABLE
+)
+
+
+
+0x022d mem_h5rx_ackcnt
+0x022e mem_check_err_acl_cont
+0x022f mem_rp_packets
+0x0230 mem_packet_type
+0x0232 mem_hci_sniff_conn_handle
+0x0234 mem_hci_sniff_max_interval
+0x0236 mem_hci_sniff_min_interval
+0x0238 mem_hci_sniff_attempt
+0x023a mem_hci_sniff_timeout
+0x023c mem_voice_setting
+0x023e mem_retransmission_effort
+0x023f mem_sco_ptype
+0x0241 mem_extm_uap_restore
+0x0244 mem_h5rx_rptr
+0x0246 mem_h5rx_ack
+0x0247 mem_h5tx_ack
+0x0248 mem_h5tx_rptr
+0x024a mem_h5tx_wptr
+0x024c mem_h5tx_free
+0x024e mem_h5rx_tmp
+0x024f mem_h5tx_seq
+0x0250 mem_hci_acl_queue_wptr
+0x0252 mem_hci_acl_queue_rptr
+0x0254 mem_hci_acl_queue_end
+0x0256 mem_hci_acl_queue_wcnt
+0x0257 mem_hci_acl_cnt
+0x0258 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x025a mem_hci_curr_len
+0x025b mem_hci_curr_target
+
+
+15 hci_flag_rp
+//mem_hci_options bit map
+(
+1 hci_option_h4
+2 hci_option_protocol2
+3 hci_option_protocol3
+4 hci_option_uart
+5 hci_option_usb
+6 hci_option_phy2
+7 hci_option_phy3
+)
+// UART baud rate @6MHz
+(
+0 uart_ctrl_bit_enable
+3 uart_ctrl_bit_slip_protocol
+
+)
+
+//bit map of core_uart_ctrl
+(
+
+)
+//bit map of core_uart_status
+(
+0 uart_status_tx_fifo_full
+1 uart_status_tx_fifo_empty
+2 uart_status_tx_busy
+3 uart_status_rx_fifo_empty
+
+)
+//HCI H4 LOG related
+(
+0x4850 mem_hci_log
+8 hci_log_size
+100 hci_log_cnt
+
+)
+//HCI H4 Packet TYPE
+(
+0x01 HCI_H4_TYPE_CMD
+0x02 HCI_H4_TYPE_ACL
+0x04 HCI_H4_TYPE_EVENT
+
+)
+// HCI command opcode group field values
+(
+0x01 HCI_OGF_LINK_CONTROL
+0x02 HCI_OGF_LINK_POLICY
+0x03 HCI_OGF_BASEBAND
+0x04 HCI_OGF_INFO
+0x05 HCI_OGF_STATUS
+0x06 HCI_OGF_TEST
+0x08 HCI_OGF_LOW_ENERGY
+0x3e HCI_OGF_LOGO_TESTING
+0x3f HCI_OGF_VENDOR_SPECIFIC
+)
+
+// HCI link control opcode command field values, OGF=1
+(
+0x01 HCI_INQUIRY 
+0x02 HCI_INQUIRY_CANCEL 
+0x03 HCI_PERIODIC_INQUIRY_MODE 
+0x04 HCI_EXIT_PERIODIC_INQUIRY_MODE 
+0x05 HCI_CREATE_CONNECTION 
+0x06 HCI_DISCONNECT 
+0x07 HCI_ADD_SCO_CONNECTION 
+0x08 HCI_CREATE_CONNECTION_CANCEL
+0x09 HCI_ACCEPT_CONNECTION 
+0x0A HCI_REJECT_CONNECTION 
+0x0B HCI_LINK_KEY_REQUEST_REPLY 
+0x0C HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY 
+0x0D HCI_PIN_CODE_REQUEST_REPLY 
+0x0E HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY 
+0x0F HCI_CHANGE_CONNECTION_PACKET_TYPE 
+0x11 HCI_AUTHENTICATION_REQUESTED 
+0x13 HCI_SET_CONNECTION_ENCRYPTION 
+0x15 HCI_CHANGE_CONNECTION_LINK_KEY 
+0x17 HCI_MASTER_LINK_KEY 
+0x19 HCI_REMOTE_NAME_REQUEST 
+0x1A HCI_REMOTE_NAME_REQUEST_CANCEL
+0x1B HCI_READ_REMOTE_SUPPORTED_FEATURES 
+0x1C HCI_READ_REMOTE_EXT_FEATURES 
+0x1D HCI_READ_REMOTE_VERSION_INFORMATION 
+0x1F HCI_READ_CLOCK_OFFSET 
+0x20 HCI_READ_LMP_HANDLE
+0x28 HCI_SETUP_SCO_CONNECTION
+0x29 HCI_ACCEPT_SCO_CONNECTION
+0x2A HCI_REJECT_SCO_CONNECTION
+0x2B HCI_IO_CAP_REQUEST_REPLY
+0x2C HCI_USER_CONFIRMATION_REQUEST_REPLY
+0x2D HCI_USER_CONFIRMATION_REQUEST_NEGATIVE_REPLY
+0x2E HCI_USER_PASSKEY_REQUEST_REPLY
+0x2F HCI_USER_PASSKEY_REQUEST_NEGATIVE_REPLY
+0x30 HCI_REMOTE_OOB_DATA_REQUEST_REPLY
+0x33 HCI_REMOTE_OOB_DATA_REQUEST_NEGATIVE_REPLY
+0x34 HCI_IO_CAPABILITY_REQUEST_NEGATIVE_REPLY
+0x35 HCI_CREATE_PHYSICAL_LINK
+0x36 HCI_ACCEPT_PHYSICAL_LINK
+0x37 HCI_DISCONNECT_PHYSICAL_LINK
+0x38 HCI_CREATE_LOGICAL_LINK
+0x39 HCI_ACCEPT_LOGICAL_LINK
+0x3A HCI_DISCONNECT_LOGICAL_LINK
+0x3B HCI_LOGICAL_LINK_CANCEL
+0x3C HCI_FLOW_SPEC_MODIFY
+0x3D HCI_ENHANCED_SETUP_SYNCHRONOUS_CONNECTION
+0x3E HCI_ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION_REQUEST
+0x3F HCI_TRUNCATED_PAGE
+0x40 HCI_TRUNCATED_PAGE_CANCEL
+0x41 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST
+0x42 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x43 HCI_START_SYNCHRONIZATION_TRAIN
+0x44 HCI_RECEIVE_SYNCHRONIZATION_TRAIN
+0x45 HCI_REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY
+)
+
+
+// HCI link policy commands OCF value, OGF=2
+(
+0x01 HCI_HOLD_MODE 
+0x03 HCI_SNIFF_MODE 
+0x04 HCI_EXIT_SNIFF_MODE 
+0x05 HCI_PARK_MODE 
+0x06 HCI_EXIT_PARK_MODE 
+0x07 HCI_QOS_SETUP 
+0x09 HCI_ROLE_DISCOVERY 
+0x0B HCI_SWITCH_ROLE 
+0x0C HCI_READ_LINK_POLICY_SETTINGS 
+0x0D HCI_WRITE_LINK_POLICY_SETTINGS 
+0x0e HCI_READ_DEFAULT_LINK_POLICY_SETTINGS
+0x0f HCI_WRITE_DEFAULT_LINK_POLICY_SETTINGS
+0x10 HCI_FLOW_SPECIFICATION
+0x11 HCI_SNIFF_SUBRATING
+)
+
+// HCI host controller and baseband commands OCF values, OGF=3
+(
+0x01 HCI_SET_EVENT_MASK 
+0x03 HCI_RESET 
+0x05 HCI_SET_EVENT_FILTER 
+0x08 HCI_FLUSH 
+0x09 HCI_READ_PIN_TYPE 
+0x0A HCI_WRITE_PIN_TYPE 
+0x0B HCI_CREATE_NEW_UNIT_KEY 
+0x0D HCI_READ_STORED_LINK_KEY 
+0x11 HCI_WRITE_STORED_LINK_KEY 
+0x12 HCI_DELETE_STORED_LINK_KEY 
+0x13 HCI_WRITE_LOCAL_NAME 
+0x14 HCI_READ_LOCAL_NAME 
+0x15 HCI_READ_CONN_ACCEPT_TIMEOUT 
+0x16 HCI_WRITE_CONN_ACCEPT_TIMEOUT 
+0x17 HCI_READ_PAGE_TIMEOUT 
+0x18 HCI_WRITE_PAGE_TIMEOUT 
+0x19 HCI_READ_SCAN_ENABLE 
+0x1A HCI_WRITE_SCAN_ENABLE 
+0x1B HCI_READ_PAGE_SCAN_ACTIVITY 
+0x1C HCI_WRITE_PAGE_SCAN_ACTIVITY 
+0x1D HCI_READ_INQUIRY_SCAN_ACTIVITY 
+0x1E HCI_WRITE_INQUIRY_SCAN_ACTIVITY 
+0x1F HCI_READ_AUTHENTICATION_ENABLE 
+0x20 HCI_WRITE_AUTHENTICATION_ENABLE 
+0x21 HCI_READ_ENCRYPTION_MODE 
+0x22 HCI_WRITE_ENCRYPTION_MODE 
+0x23 HCI_READ_CLASS_OF_DEVICE 
+0x24 HCI_WRITE_CLASS_OF_DEVICE 
+0x25 HCI_READ_VOICE_SETTING 
+0x26 HCI_WRITE_VOICE_SETTING 
+0x27 HCI_READ_AUTOMATIC_FLUSH_TIMEOUT 
+0x28 HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT 
+0x29 HCI_READ_NUM_BROADCAST_RETRANSMISSIONS 
+0x2A HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS 
+0x2B HCI_READ_HOLD_MODE_ACTIVITY 
+0x2C HCI_WRITE_HOLD_MODE_ACTIVITY 
+0x2D HCI_READ_TRANSMIT_POWER_LEVEL 
+0x2E HCI_READ_SCO_FLOW_CONTROL_ENABLE 
+0x2F HCI_WRITE_SCO_FLOW_CONTROL_ENABLE 
+0x31 HCI_SET_CONTROLLER_TO_HOST_FLOW_CONTROL 
+0x33 HCI_HOST_BUFFER_SIZE 
+0x35 HCI_HOST_NUM_COMPLETED_PACKETS 
+0x36 HCI_READ_LINK_SUPERVISION_TIMEOUT 
+0x37 HCI_WRITE_LINK_SUPERVISION_TIMEOUT 
+0x38 HCI_READ_NUMBER_OF_SUPPORTED_IAC 
+0x39 HCI_READ_CURRENT_IAC_LAP 
+0x3A HCI_WRITE_CURRENT_IAC_LAP 
+0x3B HCI_READ_PAGE_SCAN_PERIOD_MODE 
+0x3C HCI_WRITE_PAGE_SCAN_PERIOD_MODE 
+0x3D HCI_READ_PAGE_SCAN_MODE 
+0x3E HCI_WRITE_PAGE_SCAN_MODE 
+0x3F HCI_SET_AFH_CHANNEL_CLASSIFICATION 
+
+
+0x42 HCI_READ_INQUIRY_SCAN_TYPE 
+0x43 HCI_WRITE_INQUIRY_SCAN_TYPE 
+0x44 HCI_READ_INQUIRY_MODE 
+0x45 HCI_WRITE_INQUIRY_MODE 
+0x46 HCI_READ_PAGE_SCAN_TYPE 
+0x47 HCI_WRITE_PAGE_SCAN_TYPE 
+
+0x48 HCI_READ_AFH_CHANNEL_ACCESSMENT_MODE 
+0x49 HCI_WRITE_AFH_CHANNEL_ACCESSMENT_MODE 
+0x51 HCI_READ_EXTENDED_INQUIRY_RESPONSE
+0x52 HCI_WRITE_EXTENDED_INQUIRY_RESPONSE
+0x53 HCI_REFRESH_ENCRYPTION_KEY
+0x55 HCI_READ_SIMPLE_PAIRING_MODE
+0x56 HCI_WRITE_SIMPLE_PAIRING_MODE
+0x57 HCI_READ_LOCAL_OOB_DATA
+0x58 HCI_READ_INQUIRY_RESPONSE_TRANSMIT_POWER_LEVEL
+0x59 HCI_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL
+0x60 HCI_SEND_KEYPRESS_NOTIFICATION
+0x5A HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5B HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING
+0x5F HCI_ENHANCED_FLUSH
+0x61 HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x62 HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT
+0x63 HCI_SET_EVENT_MASK_PAGE_2
+0x64 HCI_READ_LOCATION_DATA
+0x65 HCI_WRITE_LOCATION_DATA
+0x66 HCI_READ_FLOW_CONTROL_MODE
+0x67 HCI_WRITE_FLOW_CONTROL_MODE
+0x68 HCI_READ_ENHANCE_TRANSMIT_POWER_LEVEL
+0x69 HCI_READ_BEST_EFFORT_FLUSH_TIMEOUT
+0x6A HCI_WRITE_BEST_EFFORT_FLUSH_TIMEOUT
+0x6B HCI_SHORT_RANGE_MODE
+0x6C HCI_READ_LE_HOST_SUPPORT
+0x6D HCI_WRITE_LE_HOST_SUPPORT
+0x6E HCI_SET_MWS_CHANNEL_PARAMETERS
+0x6F HCI_SET_EXTERNAL_FRAME_CONFIGURATION
+0x70 HCI_SET_MWS_SIGNALING
+0x71 HCI_SET_MWS_TRANSPORT_LAYER
+0x72 HCI_SET_MWS_SCAN_FREQUENCY_TABLE
+0x73 HCI_SET_MWS_PATTERN_CONFIGURATION
+0x74 HCI_SET_RESERVED_LT_ADDR
+0x75 HCI_DELETE_RESERVED_LT_ADDR
+0x76 HCI_SET_CONNECTIONLESS_SLAVE_BROADCAST_DATA
+0x77 HCI_READ_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x78 HCI_WRITE_SYNCHRONIZATION_TRAIN_PARAMETERS
+0x79 HCI_READ_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7A HCI_WRITE_SECURE_CONNECTIONS_HOST_SUPPORT
+0x7B HCI_READ_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7C HCI_WRITE_AUTHENTICATED_PAYLOAD_TIMEOUT
+0x7D HCI_READ_LOCAL_OOB_EXTENDED_DATA
+0x7E HCI_READ_EXTENDED_PAGE_TIMEOUT
+0x7F HCI_WRITE_EXTENDED_PAGE_TIMEOUT
+0x80 HCI_READ_EXTENDED_INQUIRY_LENGTH
+0x81 HCI_WRITE_EXTENDED_INQUIRY_LENGTH
+)
+
+
+// HCI informational parameters OCF values, OGF=4
+(
+0x01 HCI_READ_LOCAL_VERSION_INFORMATION 
+0x02 HCI_READ_LOCAL_SUPPORTED_COMMANDS
+0x03 HCI_READ_LOCAL_SUPPORTED_FEATURES 
+0x04 HCI_READ_LOCAL_EXT_FEATURES 
+0x05 HCI_READ_BUFFER_SIZE 
+0x07 HCI_READ_COUNTRY_CODE 
+0x09 HCI_READ_BD_ADDR 
+0x0A HCI_REJECT_CONNECTION_REQUEST
+0x0B HCI_READ_LOCAL_SUPPORTED_CODECS
+)
+
+// HCI status parameters OCF values, OGF=5
+(
+0x01 HCI_READ_FAILED_CONTACT_COUNTER 
+0x02 HCI_RESET_FAILED_CONTACT_COUNTER 
+0x03 HCI_GET_LINK_QUALITY 
+0x05 HCI_READ_RSSI 
+0x06 HCI_READ_AFH_CHANNEL_MAP
+0x07 HCI_READ_BD_CLOCK
+0x08 HCI_READ_ENCRYPTION_KEY_SIZE
+0x09 HCI_READ_LOCAL_AMP_INFO
+0x0A HCI_READ_LOCAL_AMP_ASSOC
+0x0B HCI_WRITE_REMOTE_AMP_ASSOC
+0x0C HCI_GET_MWS_TRANSPORT_LAYER_CONFIGURATION
+0x0D HCI_SET_TRIGGERED_CLOCK_CAPTURE
+)
+
+// HCI testing command OCF values, OGF=6
+(
+0x01 HCI_READ_LOOPBACK_MODE 
+0x02 HCI_WRITE_LOOPBACK_MODE 
+0x03 HCI_ENABLE_DEVICE_UNDER_TEST_MODE 
+0x04 HCI_WRITE_SIMPLE_PAIRING_DEBUG_MODE
+0x07 HCI_ENABLE_AMP_RECEIVER_REPORTS
+0x08 HCI_AMP_TEST_END
+0x09 HCI_AMP_TEST
+0x0A HCI_WRITE_SECURE_CONNECTIONS_TEST_MODE
+)
+
+// HCI vendor specific command OCF values -OGF=3F
+(
+0x01 HCI_WRITE_BD_ADDR 
+0x02 HCI_READ_INQUIRY_RESPONSE_TIMEOUT 
+0x03 HCI_WRITE_INQUIRY_RESPONSE_TIMEOUT 
+0x04 HCI_READ_PAGE_SCAN_REPETITION_MODE 
+0x05 HCI_WRITE_PAGE_SCAN_REPETITION_MODE 
+0x06 HCI_READ_PAGE_RESPONSE_TIMEOUT 
+0x07 HCI_WRITE_PAGE_RESPONSE_TIMEOUT 
+0x08 HCI_READ_NEW_CONNECTION_TIMEOUT 
+0x09 HCI_WRITE_NEW_CONNECTION_TIMEOUT 
+0x0a HCI_INITIALIZE_BASEBAND 
+0x0b HCI_WRITE_LOCAL_SUPPORTED_FEATURES 
+0x0c HCI_WRITE_PARK_PARAMETERS 
+0x0d HCI_READ_PARK_PARAMETERS 
+0x0e HCI_WRITE_QUALITY_OF_SERVICE 
+0x0f HCI_NOT_USED 
+0x10 HCI_MODIFY_BEACON_PARAMETERS 
+0x11 HCI_UNPARK_USING_PM_ADDR 
+0x12 HCI_WRITE_HOPPING_CHANNELS 
+0x13 HCI_SLEEP_FOREVER_MODE 
+0x14 HCI_WRITE_AUTO_PAGE_SCAN_ENABLE 
+0x15 HCI_READ_AUTO_PAGE_SCAN_ENABLE 
+0x16 HCI_SET_ENCRYPTION_KEY_SIZE 
+0x17 HCI_INVALIDATE_FLASH_AND_REBOOT 
+0x18 HCI_UPDATE_UART_BAUD_RATE 
+0x19 HCI_WRITE_GPIO_1_4_AS_OUTPUT 
+0x1A HCI_WRITE_GPIO_2_LED 
+0x1B HCI_SET_TESTMODE_TYPE 
+0x1C HCI_WRITE_SCO_PCM_INT_PARAM 
+0x1D HCI_READ_SCO_PCM_INT_PARAM 
+0x1E HCI_WRITE_PCM_DATA_FORMAT_PARAM 
+0x1F HCI_READ_PCM_DATA_FORMAT_PARAM 
+0x20 HCI_WRITE_COMFORT_NOISE_PARAM 
+0x21 HCI_READ_COMFORT_NOISE_PARAM 
+0x22 HCI_WRITE_SCO_TS 
+0x23 HCI_READ_SCO_TS 
+0x24 HCI_WRITE_PCM_LOOPBACK_MODE 
+0x25 HCI_READ_PCM_LOOPBACK_MODE 
+0x26 HCI_SET_TRANSMIT_POWER 
+0x27 HCI_SET_SLEEPMODE_PARAM 
+0x28 HCI_READ_SLEEPMODE_PARAM 
+0x29 HCI_SLEEPMODE_CMD 
+0x2A HCI_DELAY_PERIPHERAL_SCO_STARTUP 
+0x2B HCI_WRITE_RECEIVE_ONLY 
+0x2C HCI_WRITE_RATE_CONTROL 
+0x2D HCI_TX_UNMOD_CARRIER 
+0x2E HCI_DOWNLOAD_MINIDRIVER 
+0x2F HCI_CRYSTAL_PPM 
+0x30 HCI_SET_POWER_AMP_BIAS 
+0x31 HCI_SET_HAM_BEHAVIOR 
+0x32 HCI_SET_AFH_BEHAVIOR 
+0x33 HCI_READ_USER_DEFINED_NVRAM 
+0x34 HCI_ENABLE_RADIO 
+0x35 HCI_READ_DIAGNOSTIC_INFO 
+0x36 HCI_GET_HID_DEVICE_LIST 
+0x37 HCI_ADD_HID_DEVICE 
+0x38 HCI_READ_APP_FW_CONFIG_VERSION 
+0x39 HCI_DELETE_HID_DEVICE 
+0x3B HCI_ENABLE_USB_HID_EMULATION 
+// 0x3A available
+// 0x3B available
+0x3C HCI_SEND_LMPDU 
+0x3D HCI_AUTO_PAIR_REQ 
+0x3E HCI_READ_VS_EXTENSION 
+0x3F HCI_WRITE_VS_EXTENSION 
+
+0x77 HCI_OPCODE_FC77
+0x79 HCI_OPCODE_FC79
+0xC4 HCI_DOWNLOAD_PATCH
+0xCC HCI_OPCODE_FCCC
+
+0x00 HCI_VENDOR_CMD_RESET
+0x01 HCI_VENDOR_CMD_CHIPID
+0x02 HCI_VENDOR_CMD_BAUD
+0x03 HCI_VENDOR_CMD_PATCH
+0x04 HCI_VENDOR_CMD_PATCH_DONE
+0x05 HCI_VENDOR_CMD_ECHO
+0x06 HCI_VENDOR_CMD_BDADDR
+
+0x07 HCI_VENDOR_CMD_ENTER_LPM
+0x08 HCI_VENDOR_CMD_COMMU_READY
+
+0x10 HCI_VENDOR_CMD_MEM
+0x11 HCI_VENDOR_CMD_EEP
+
+0X12 HCI_VENDOR_CMD_PATCH_SEC_INIT
+0X13 HCI_VENDOR_CMD_PATCH_SEC
+)
+
+//HCI LE controller command OCF values, OGF=8
+(
+0x01 HCI_LE_SET_EVENT_MASK
+0x02 HCI_LE_READ_BUFFER_SIZE
+0x03 HCI_LE_READ_LOCAL_SUPPORTED_FEATURES
+0x05 HCI_LE_SET_RANDOM_ADDRESS
+0x06 HCI_LE_SET_ADVERTISING_PARAMETERS
+0x07 HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER
+0x08 HCI_LE_SET_ADVERTISING_DATA
+0x09 HCI_LE_SET_SCAN_RESPONSE_DATA
+0x0A HCI_LE_SET_ADVERTISE_ENABLE
+0x0B HCI_LE_SET_SCAN_PARAMETERS
+0x0C HCI_LE_SET_SCAN_ENABLE
+0x0D HCI_LE_CREATE_CONNECTION
+0x0E HCI_LE_CREATE_CONNECTION_CANCEL
+0x0F HCI_LE_READ_WHITE_LIST_SIZE
+0x10 HCI_LE_CLEAR_WHITE_LIST
+0x11 HCI_LE_ADD_DEVICE_TO_WHITE_LIST
+0x12 HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST
+0x13 HCI_LE_CONNECTION_UPDATE
+0x14 HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION
+0x15 HCI_LE_READ_CHANNEL_MAP
+0x16 HCI_LE_READ_REMOTE_USED_FEATURES
+0x17 HCI_LE_ENCRYPT
+0x18 HCI_LE_RAND
+0x19 HCI_LE_START_ENCRYPTION
+0x1A HCI_LE_LONG_TERM_KEY_REQUEST_REPLY
+0x1B HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY
+0x1C HCI_LE_READ_SUPPORTED_STATES
+0x1D HCI_LE_RECEIVER_TEST
+0x1E HCI_LE_TRANSMITTER_TEST
+0x1F HCI_LE_TEST_END
+0x20 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_REPLY
+0x21 HCI_LE_REMOTE_CONNECTION_PARAMETER_REQUEST_NEGATIVE_REPLY
+)
+// HCI event code
+(
+0x01 HCI_EVENT_INQUIRY_COMPLETE
+0x02 HCI_EVENT_INQUIRY_RESULT
+0x03 HCI_EVENT_CONNECTION_COMPLETE
+0x04 HCI_EVENT_CONNECTION_REQUEST
+0x05 HCI_EVENT_DISCONNECTION_COMPLETE
+0x06 HCI_EVENT_AUTHENTICATION_COMPLETE
+0x07 HCI_EVENT_REMOTE_NAME_REQUEST_COMPLETE
+0x08 HCI_EVENT_ENCRYPTION_CHANGE_COMPLETE
+0x09 HCI_EVENT_CHANGE_CONNECTION_LINK_KEY_COMPLETE
+0x0A HCI_EVENT_MASTER_LINK_KEY_COMPLETE
+0x0B HCI_EVENT_READ_REMOTE_FEATURES_COMPLETE
+0x0C HCI_EVENT_READ_REMOTE_VERSION_INFORMATION_COMPLETE
+0x0D HCI_EVENT_QOS_SETUP_COMPLETE
+0x0E HCI_EVENT_COMMAND_COMPLETE
+0x0F HCI_EVENT_COMMAND_STATUS
+0x10 HCI_EVENT_HARDWARE_ERROR
+0x11 HCI_EVENT_FLUSH_OCCURRED
+0x12 HCI_EVENT_ROLE_CHANGE
+0x13 HCI_EVENT_NUM_COMPLETED_PACKETS
+0x14 HCI_EVENT_MODE_CHANGE
+0x15 HCI_EVENT_RETURN_LINK_KEYS
+0x16 HCI_EVENT_PIN_CODE_REQUEST
+0x17 HCI_EVENT_LINK_KEY_REQUEST
+0x18 HCI_EVENT_LINK_KEY_NOTIFICATION
+0x19 HCI_EVENT_LOOPBACK_COMMAND
+0x1A HCI_EVENT_DATA_BUFFER_OVERFLOW
+0x1B HCI_EVENT_MAX_SLOTS_CHANGE
+0x1C HCI_EVENT_READ_CLOCK_OFFSET_COMPLETE
+0x1D HCI_EVENT_CONNECTION_PACKET_TYPE_CHANGED
+0x1E HCI_EVENT_QOS_VIOLATION
+0x1F HCI_EVENT_PAGE_SCAN_MODE_CHANGE
+0x20 HCI_EVENT_PAGE_SCAN_REPETITION_MODE_CHANGE
+0x21 HCI_EVENT_FLOW_SPECIFICATION_COMPLETE
+0x22 HCI_EVENT_INQUIRY_RESULT_WITHRSSI
+0x23 HCI_EVENT_READ_REMOTE_EXT_FEATURES_COMPLETE
+0x2C HCI_EVENT_SCO_CONNECTION_COMPLETE
+0x2D HCI_EVENT_SCO_CONNECTION_CHANGED
+0x2E HCI_EVENT_SNIFF_SUBRATING
+0x2F HCI_EVENT_EXT_INQUIRY_RESULT
+0x30 HCI_EVENT_ENCRYPT_KEY_REFRESH_COMPLETE
+0x31 HCI_EVENT_IO_CAP_REQ
+0x32 HCI_EVENT_IO_CAP_RESPONSE
+0x33 HCI_EVENT_USER_CONFIRMATION_REQUEST
+0x34 HCI_EVENT_UESR_PASSKEY_REQUEST
+0x35 HCI_EVENT_REMOTE_OOB_DATA_REQUEST
+0x36 HCI_EVENT_SIMPLE_PAIRING_COMPLETE
+0x38 HCI_EVENT_LINK_SUPERVISION_TIMEOUT_CHANGED
+0x39 HCI_EVENT_ENHANCED_FLUSH_COMPLETE
+0x3B HCI_EVENT_USER_PASSKEY_NOTIFICATION
+0x3C HCI_EVENT_KEYPRESS_NOTIFICATION
+0x3D HCI_EVENT_REMOTE_HOST_SUPPORTED_FEATURES_NOTIFICATION 
+0x3E HCI_EVENT_LE_META_EVENT
+0x40 HCI_EVENT_PHYSICAL_LINK_COMPLETE
+0x41 HCI_EVENT_CHANNEL_SELECTED
+0x42 HCI_EVENT_DISCONNECTION_PHYSICAL_LINK_COMPLETE
+0x43 HCI_EVENT_PHYSICAL_LINK_LOSS_EARLY_WARNING
+0x44 HCI_EVENT_PHYSICAL_LINK_RECOVERY
+0x45 HCI_EVENT_LOGICAL_LINK_COMPLETE
+0x46 HCI_EVENT_DISCONNECTION_LOGICAL_LINK_COMPLETE
+0x47 HCI_EVENT_FLOW_SPEC_MODIFY_COMPLETE
+0x48 HCI_EVENT_NUMBER_OF_COMPLETED_DATA_BLOCKS
+0x49 HCI_EVENT_AMP_START_TEST
+0x4A HCI_EVENT_AMP_TEST_END
+0x4B HCI_EVENT_AMP_RECEIVER_REPORT
+0x4C HCI_EVENT_SHORT_RANGE_MODE_CHANGE_COMPLETE
+0x4D HCI_EVENT_AMP_STATUS_CHANGE
+0x4E HCI_EVENT_TRIGGERED_CLOCK_CAPTURE
+0x4F HCI_EVENT_SYNCHRONIZATION_TRAIN_COMPLETE
+0x50 HCI_EVENT_SYNCHRONIZATION_TRAIN_RECEIVED
+0x51 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_RECEIVE
+0x52 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_TIMEOUT
+0x53 HCI_EVENT_TRUNCATED_PAGE_COMPLETE
+0x54 HCI_EVENT_SLAVE_PAGE_RESPONSE_TIMEOUT
+0x55 HCI_EVENT_CONNECTIONLESS_SLAVE_BROADCAST_CHANNEL_MAP_CHANGE
+0x56 HCI_EVENT_INQUIRY_RESPONSE_NOTIFICATION
+0x57 HCI_EVENT_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED
+
+0xFE HCI_EVENT_LOGO_TESTING
+0xFF HCI_EVENT_VENDOR_SPECIFIC
+)
+(
+0x01 HCI_VENDOR_EVENT_COMMU_READY
+)
+//HCI LE SUBEVENT CODE
+(
+0x01 HCI_LE_SUBEVENT_CONN_COMPLETE
+0x02 HCI_LE_SUBEVENT_ADV_REPORT
+0x03 HCI_LE_SUBEVENT_CONN_UPDATE_COMPLETE
+0x04 HCI_LE_SUBEVENT_REMOTE_FEATURE_COMPLETE
+0x05 HCI_LE_SUBEVENT_LTK_REQUEST
+0x06 HCI_LE_SUBEVENT_REMOTE_CONN_PARAM_REQ
+)
+
+(
+0x00 HCI_LPM_OFF
+0x01 HCI_LPM_ON
+)
+
+
+(
+33 HOST_WAKE_TIME
+)
+
+(
+1 HCI_RX_WAKE
+0 HCI_RX_READY
+)
+
+
+(
+/*HID TYPE*/
+0x01 HID_TYPE_CONTROL
+0x04 HID_TYPE_GET_REPORT
+0x05 HID_TYPE_SET_REPORT
+0x07 HID_TYPE_SET_PROTOCOL
+0x09 HID_TYPE_SET_IDLE
+0x0a HID_TYPE_DATA
+/*HID REPORT ID*/
+0x01 HID_REPORT_ID_KB
+
+0x00 HID_CONTROL_P_NOOPERATION
+0x01 HID_CONTROL_P_HARDRESET
+0x02 HID_CONTROL_P_SOFTRESET
+0x03 HID_CONTROL_P_SUSPEND
+0x04 HID_CONTROL_P_EXITSUSPEND
+0x05 HID_CONTROL_P_VIRTUALCABLEUNPLUG
+)
+
+
+
+
+
+
+
+
+//0 mem_kscan_head_ptr
+//1 mem_col_num
+//1 mem_row_num
+//4 mem_col_conf_pin
+//4 mem_row_conf_pin
+//1 mem_row_count
+//1 mem_count_shift
+//2 mem_kscan_value_temp
+//2 mem_kscan_lastvalue
+//2 mem_kscan_value
+//4 mem_btclk_kscan
+//1 mem_btclk_kscan_interval
+
+
+0x00 KEYSCAN_OFFECT_COL_NUM
+0x01 KEYSCAN_OFFECT_ROW_NUM
+0x02 KEYSCAN_OFFECT_COL_CONF_PIN
+0x06 KEYSCAN_OFFECT_ROW_CONF_PIN
+
+0x0a KEYSCAN_OFFECT_ROW_COUNT
+0x0b KEYSCAN_OFFECT_SHIFT_COUNT
+
+0X0C KEYSCAN_OFFECT_VALUE_TEMP
+0X0E KEYSCAN_OFFECT_LASVALUE
+0X10 KEYSCAN_OFFECT_VALUE
+0x12 KEYSCAN_OFFECT_BTCLK
+0x16 KEYSCAN_OFFECT_BTCLK_INTERVAL
+
+
+
+0x025d mem_l2cap_mem_start
+0x025d mem_l2cap_rxbuff1_len
+0x025f mem_l2cap_rxbuff2_len
+0x0261 mem_l2cap_rxbuff_new
+0x0263 mem_l2cap_rxbuff_inuse
+0x0264 mem_l2cap_payload_ptr
+0x0266 mem_l2cap_rx_pkt_length
+0x0268 mem_l2cap_rx_cid
+0x026a mem_l2cap_rx_done
+0x026b mem_l2cap_signal_tx_buff_ptr
+0x026d mem_l2cap_signal_tx_payload_ptr
+0x026f mem_l2cap_signal_tx_length
+0x0271 mem_sdp_tx_buff_ptr
+0x0273 mem_sdp_tx_payload_ptr
+0x0275 mem_sdp_tx_pkt_length
+0x0277 mem_rfcomm_tx_buff_ptr
+0x0279 mem_rfcomm_tx_payload_ptr
+0x027b mem_rfcomm_tx_pkt_length
+0x027d memL2CAP_T1
+0x027f mem_CONTROL_tasks
+0x0280 mem_send_config_req
+0x0281 mem_config_identifier
+0x0282 mem_config_req_dest_CID
+0x0284 mem_rfcomm_malloc_fail_flag
+0x0285 mem_message_to_uppersm
+0x0286 mem_upper_sm_remote_page
+0x0287 mem_upper_sm_reconn
+0x0288 mem_upper_sm_ss
+0x0289 mem_tx_malloc_log
+0x02c9 mem_l2cap_mem_end
+0x02c9 mem_scid
+0x02cb mem_cmd_length
+0x02cd mem_tt2
+0x02cf mem_tt3
+0x02d1 mem_id
+0x02d3 mem_psm
+0x02d5 mem_l2cap_sdpres_delay_time
+
+
+
+//mem_l2cap_lpm_txbuf
+(
+256 l2cap_lpm_txbuf_len
+)
+
+(
+4 L2CAP_TX_FIFO_SIZE
+8 L2CAP_TX_BUFF_CNT
+
+)
+(
+0x0002 L2CAP_SIG_EXT_FEATRUE
+0x0003 L2CAP_SIG_FIX_FEATRUE
+)
+
+
+(
+0 HS_IDLE
+1 AG_INIT_CALL
+2 HS_INIT_CALL
+)
+(
+0 M_ACL_LINK_ABSENT
+1 M_ACL_LINK_EXIST
+)
+
+(
+0 L2CAP_INUSE_BUFF1
+1 L2CAP_INUSE_BUFF2
+)
+/* upper layer interface w/ lower layer */
+(
+1 MAX_NUM_LINKS_ALLOWED
+1 MAX_NUM_SCO_ALLOWED
+1 ACL_LINK_PRESENT
+0 ACL_LINK_ABSENT
+)
+(
+1 L2CAP_RX_DONE 
+0 L2CAP_RX_CLEAR
+)
+/* Scheduler */
+(
+0 L2CAP_DISCONNECT_INTERRUPT
+1 RFCOMM_wants_service
+2 L2CAP_sig_Tx_buff_full
+3 RFCOMM_Tx_buff_full
+4 SDP_Tx_buff_full
+5 got_complete_L2CAP_pkt	
+6 L2CAP_init_Config_Req
+7 L2CAP_DISCONNECT_CONTROL
+)
+
+/* mem_CONTROL_tasks2 */
+(
+0 UI_NEED_SERVICE
+)
+/* L2CAP logic channel identifiers (2 bytes) p.261 */
+(
+0x0001 L2CAP_signal_channel
+0x0050 L2CAP_SDP_channel
+0x0051 L2CAP_RFCOMM_channel
+0x0052 L2CAP_HID_Control_channel   
+0x0053 L2CAP_HID_Interrupt_channel
+0x0077 L2CAP_AVDTP_signal_channel		//------avdtp
+0x0078 L2CAP_AVDTP_media_channel
+0x0079 L2CAP_AVDTP_report_channel
+0x0080 L2CAP_AVDTP_recovery_channel
+0x00dd L2CAP_AVCTP_Control_channel
+)
+/* L2CAP signalling command codes (1 byte) p.284 */
+(
+0x00 reserved
+0x01 signal_cmd_reject
+0x02 signal_connect_req
+0x03 signal_connect_rsp
+0x04 signal_config_req
+0x05 signal_config_rsp
+0x06 signal_disconnect_req
+0x07 signal_disconnect_rsp
+0x08 signal_echo_req
+0x09 signal_echo_rsp
+0x0a signal_info_req
+0x0b signal_info_rsp
+)
+/* L2CAP signal_command_reject reason code (2 bytes), p.285 */
+(
+0x0000 cmd_not_understood
+0x0001 signalling_MTU_exceeded
+0x0002 invalid_CID_in_req
+)
+/* L2CAP PSM values used in signal_connect_req (2 bytes), p.286 */
+(
+0x0001 PSM_SDP
+0x0003 PSM_RFCOMM
+0x0005 PSM_TCS
+0x0011 PSM_HID_control
+0x0013 PSM_HID_interrupt
+0x0017 PSM_AVCTP
+0x0019 PSM_AVDTP
+)
+/* L2CAP connection response result code (2 bytes), p.288 */
+(
+0x0000 L2CAP_connect_successful
+0x0001 L2CAP_connect_pending
+0x0002 L2CAP_connect_refused_PSM_unsupported
+0x0003 L2CAP_connect_refused_security_block
+0x0004 L2CAP_connect_refused_no_resources
+)
+/* L2CAP connection status values (2 bytes), p.288 */
+(
+0x0000 L2CAP_no_info_available
+0x0001 L2CAP_authentication_pending
+0x0002 L2CAP_authorization_pending
+)
+/* L2CAP configuration response result code (2 bytes), p.292 */
+(
+0x0000 L2CAP_config_success
+0x0001 L2CAP_config_failure_bad_parameters
+0x0002 L2CAP_config_failure_no_reason
+0x0003 L2CAP_config_failure_unknown_options
+)
+/* L2CAP constant definitions */
+(
+128 L2CAP_Rx_buff_size
+48  L2CAP_signal_Tx_buff_size
+128 SDP_Tx_buff_size
+128 RFCOMM_Tx_buff_size
+1 AM_ADDRESS
+3 DM1TYPE
+4 DH1TYPE
+11 DH3TYPE
+8 DVTYPE
+0 channel_state_closed
+1 channel_state_config
+2 channel_state_open
+0x0030 L2CAP_config_MTU_SDP
+0xffff L2CAP_config_ftimeout_SDP
+0x03e3 L2CAP_config_MTU_RFCOMM
+0xffff L2CAP_config_ftimeout_RFCOMM
+260 l2cap_max_pkt_len
+)
+
+(
+0 FAILURE
+1 SUCCESS
+2 IN_PROGRESS
+)
+(
+0x00	IDLE
+0x01	WAIT_4_BB_PAGE
+0x02	WAIT_4_LMP_CONN
+0x03	WAIT_4_SCO_CONN
+0x04	WAIT_4_SCO_KILLED
+)
+
+/*mem_master_mss*/
+(
+0 STOP_ENC
+1 SEND_SWITCH_REQ
+)
+(
+0 HF_HS_READY
+1 HF_AG_READY
+)
+/* mem_hf_state */
+(
+0 HF_STATE_WAITING_RFCOMM_CONN
+1 HF_STATE_HF_SEND_FEATURE
+2 HF_STATE_WAITING_AG_FEATURE_OK
+3 HF_STATE_HF_SEND_INDICATORS
+4 HF_STATE_WAITING_AG_INDICATORS_OK
+5 HF_STATE_HF_SEND_CURR_STATUS
+6 HF_STATE_WAITING_AG_STATUS_OK
+7 HF_STATE_HF_SEND_UPDATE_STATUS
+8 HF_STATE_WAITING_AG_UPDATE_STATUS_OK
+9 HF_STATE_CONNECTED
+0x0a HF_STATE_HF_SEND_RECEIVE_INFO
+0x0b HF_STATE_WAITING_AG_INFO
+0x0c HF_STATE_HF_SEND_AT_CLIP
+0x0d HF_STATE_WAITING_AT_CLIP
+0x0e HF_STATE_HF_SEND_AT_CCWA
+0x0f HF_STATE_WAITING_AT_CCWA
+)
+/*mem_hf_call_state*/
+(
+0 HF_CALL_STATE_INACTIVE
+1 HF_CALL_STATE_SETUP
+2 HF_CALL_STATE_ACTIVE 
+)
+/* mem_pairing_state bit definition */
+(
+0 PAIR_INQUIRY_START
+1 PAIR_INQUIRY_TIME_OUT
+2 PAIR_INQUIRY_FAILED
+3 PAIR_INQUIRY_SUCCESS
+4 PAIR_READY_CONN
+5 PAIR_WAIT_CANCEL_RESPONSE
+6 PAIR_CONN_SUCCESS
+7 PAIR_WAIT_DETACH
+)  
+
+/* mem_pairing_mode bit definition */
+(
+0 FORCE_AUTHENTICATION
+)
+/* mem_hid_protecol_type */
+(
+0 PROTECOL_BOOT /*default*/
+1 PROTECOL_REPORT
+)
+
+/* mem_upper_sm_reconn */
+(
+1 UPPERSM_SEND_SDP_CONN_REQ
+2 UPPERSM_SEND_SDP_CFG_REQ
+3 UPPERSM_SEND_SDP_HF_SS
+4 UPPERSM_SEND_SDP_DISC_REQ
+5 UPPERSM_SEND_RFCOMM_CONN_REQ
+6 UPPERSM_SEND_RFCOMM_CFG_REQ
+7 UPPERSM_SEND_SABM_CMD
+8 UPPERSM_SEND_DISC
+9 UPPERSM_SEND_WAIT
+10 UPPERSM_SEND_HID_CONTROL_CONN_REQ
+11 UPPERSM_SEND_HID_CONTROL_CFG_REQ
+12 UPPERSM_SEND_HID_INTERRUPT_CONN_REQ
+13 UPPERSM_SEND_HID_INTERRUPT_CFG_REQ
+14 UPPERSM_SEND_SDP_HS_SS
+15 UPPERSM_SEND_SDP_PBAP_SS
+16 UPPERSM_SEND_SDP_AVTARG_SS
+)
+/* mem_upper_sm_remote_page */
+(
+1 UPPERSM_RP_SEND_SDP_CONN_REQ
+2 UPPERSM_RP_SEND_SDP_CFG_REQ
+3 UPPERSM_RP_SEND_SDP_HF_SS
+4 UPPERSM_RP_SEND_SDP_HS_SS
+5 UPPERSM_RP_SEND_SDP_PBAP_SS
+6 UPPERSM_RP_SEND_SDP_AVTARG_SS
+7 UPPERSM_RP_SEND_SDP_DISC_REQ
+8 UPPERSM_RP_SEND_AVCTP_CONN_REQ
+9 UPPERSM_RP_SEND_AVCTP_CFG_REQ
+)
+
+/* mem_ML2CAP_flag */
+(
+0 MSCHEDULER_HID_CONTROL_CONN_DONE
+1 MSCHEDULER_HID_INTERRUPT_CONN_DONE
+2 MSCHEDULER_HID_CONTROL_CFG_REQ_DONE
+3 MSCHEDULER_HID_CONTROL_CFG_RSP_DONE
+4 MSCHEDULER_HID_INTERRUPT_CFG_REQ_DONE
+5 MSCHEDULER_HID_INTERRUPT_CFG_RSP_DONE
+6 MSCHEDULER_HID_CONTROL_DISC_DONE
+7 MSCHEDULER_HID_INTERRUPT_DISC_DONE
+)
+/*    ui event    --add by lj*/
+(
+0x00 UI_DATA_EVNET_NONE
+0x01 UI_DATA_EVNET_HID
+0x02 UI_DATA_EVNET_AVDTP_S
+0x03 UI_DATA_EVNET_AVDTP_M
+0x04 UI_DATA_EVNET_AVCTP
+0x05 UI_DATA_EVNET_HS
+0x06 UI_DATA_EVNET_HF
+0x07 UI_DATA_EVNET_SPP
+0x08 UI_DATA_EVNET_OBEX
+)
+/*    ui ack --add by lj*/
+(
+0x00 UI_DATA_TX_NONE
+0x01 UI_DATA_TX_HID
+0x02 UI_DATA_TX_AVDTP_S
+0x03 UI_DATA_TX_AVDTP_M
+0x04 UI_DATA_TX_AVCTP
+0x05 UI_DATA_TX_HS
+0x06 UI_DATA_TX_HF
+0x07 UI_DATA_TX_SPP
+0x08 UI_DATA_TX_OBEX
+0x10 ACL_TX_L2CAP_SIGNAL
+0x11 ACL_TX_SDP
+0x12 ACL_TX_RFCOMM
+
+)
+
+(
+0 L2CAP_SDP_interface_conn
+1 L2CAP_SDP_interface_cfg
+)
+
+(                                   
+0 L2CAP_CHANNEL_STATE_CONN_REQ      
+1 L2CAP_CHANNEL_STATE_CONN_RES      
+2 L2CAP_CHANNEL_STATE_SND_CFG_REQ   
+3 L2CAP_CHANNEL_STATE_SND_CFG_RES   
+4 L2CAP_CHANNEL_STATE_RCV_CFG_REQ   
+5 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+6 L2CAP_CHANNEL_RFCOMM_ONLY_SABM
+7 L2CAP_CHANNEL_RFCOMM_ONLY_UA
+6 L2CAP_CHANNEL_AVDTP_SIGNAL_INIT //set avdtp init complete
+6 L2CAP_CHANNEL_HID_HANDSHAKE_DONE
+0x3f L2CAP_CHANNEL_SETUP_COMPLETE
+0x7f L2CAP_CHANNEL_AVDTP_SIGNAL_COMPLETE
+0xff L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+)                                     
+
+/*  AVDTP---lj*/
+(
+0 L2CAP_AVDTP_SIGNAL_CONNECT
+1 L2CAP_AVDTP_SIGNAL_CONFIG
+2 L2CAP_AVDTP_MEDIA_CONNECT
+3 L2CAP_AVDTP_MEDIA_CONFIG
+4 L2CAP_AVDTP_REPORT_CONNECT
+5 L2CAP_AVDTP_REPORT_CONFIG
+6 L2CAP_AVDTP_RECOVERY_CONNECT
+7 L2CAP_AVDTP_RECOVERY_CONFIG
+)
+/*  AVCTP---lj*/
+(
+0 L2CAP_AVCTP_SIGNAL_CONNECT
+1 L2CAP_AVCTP_SIGNAL_CONFIG
+)
+
+127 L2CAP_SIGNAL_MALLOC_SIZE
+
+//1 mem_rfcomm_malloc_fail_flag
+(
+0 RFCOMM_MALLOC_SUCCEED
+1 RFCOMM_MALLOC_FAIL
+)
+
+//mem_l2cap_flow_ctrl_flag
+(
+0 L2CAP_FLOW_CTRL_DISABLE
+1 L2CAP_FLOW_CTRL_ENABLE
+)
+
+
+0x02d9 mem_le_rxbuf
+0x0311 mem_le_l2capbuf
+0x0417 mem_le_mic
+0x041b mem_le_peer_mic
+0x041f mem_le_peer_ltk
+0x042f mem_le_mrand
+0x043f mem_le_state
+0x0440 mem_le_mode
+0x0441 mem_le_tsniff
+0x0443 mem_le_anchor
+0x0447 mem_le_clk_offset
+0x044d mem_le_receive_window
+0x044f mem_le_plap
+0x0455 mem_le_conn_handle
+0x0456 mem_le_arq
+0x0457 mem_le_ch
+0x0458 mem_le_hop
+0x0459 mem_le_event_count
+0x045b mem_le_supervision_timer
+0x045f mem_le_instant
+0x0461 mem_le_channels
+0x0462 mem_le_op
+0x0463 mem_le_access
+0x0467 mem_le_crcinit
+0x046a mem_le_window_size
+0x046b mem_le_slave_latency
+0x046d mem_le_superto
+0x046f mem_le_channel_map
+0x0474 mem_le_no_using
+0x0476 mem_le_peer_sca
+0x0477 mem_le_att_opcode
+0x0478 mem_le_att_handle
+0x047a mem_le_err_code
+0x047b mem_le_ll_pairing_fail_reason
+0x047c mem_le_sk
+0x048c mem_le_testtype
+0x048d mem_le_test_sync
+0x048f mem_le_test_pcnt
+0x0491 mem_le_rxon_ts
+0x0497 mem_le_rx_ll_opcode
+0x0498 mem_le_notify_attr_start
+0x049a mem_le_notify_len
+0x049b mem_cmd_le_create_conn
+0x049c mem_le_cur_attlist_start_ptr
+0x049e mem_le_cur_handle_start
+0x04a0 mem_le_cur_handle_end
+0x04a2 mem_le_cur_uuid_length
+0x04a3 mem_le_cur_uuid
+0x04b3 mem_le_curr_att_len
+0x04b4 mem_le_search_res
+0x04b5 mem_le_continue_type
+
+
+
+
+(
+0x000001 param_le_features
+0x000a06 param_le_version
+0x1d87 param_le_subversion
+1636 param_sifs
+0x1e0 param_clke_cal_le
+0xa0 param_le_sca
+)
+
+(
+0 DEFAULT_STATES
+1 IPHONE_LOST_LTK
+2 MODULE_LOST_LTK
+3 LTK_NOT_LOST
+)
+
+
+(
+27 LE_MAX_PAKET_LEN
+)
+
+/* advertising channel PDU type */
+(
+0 ADV_IND
+1 ADV_DIRECT_IND
+2 ADV_NONCONN_IND
+3 SCAN_REQ
+4 SCAN_RSP
+5 CONNECT_REQ
+6 ADV_SCAN_IND
+)
+
+(
+0x01	GAP_ADTYPE_FLAGS
+0x02	GAP_ADTYPE_16BIT_MORE
+0x03	GAP_ADTYPE_16BIT_COMPLETE
+0x04	GAP_ADTYPE_32BIT_MORE
+0x05	GAP_ADTYPE_32BIT_COMPLETE
+0x06	GAP_ADTYPE_128BIT_MORE
+0x07	GAP_ADTYPE_128BIT_COMPLETE
+0x08	GAP_ADTYPE_LOCAL_NAME_SHORT
+0x09	GAP_ADTYPE_LOCAL_NAME_COMPLETE
+0x0a	GAP_ADTYPE_POWER_LEVEL
+0xff	GAP_ADTYPE_MANUFACTURER_SPECIFIC
+)
+
+
+	/* LE control packet type */
+	(
+	0x00 LL_CONNECTION_UPDATE_REQ
+	0x01 LL_CHANNEL_MAP_REQ
+	0x02 LL_TERMINATE_IND
+	0x03 LL_ENC_REQ
+	0x04 LL_ENC_RSP
+	0x05 LL_START_ENC_REQ
+	0x06 LL_START_ENC_RSP
+	0x07 LL_UNKNOWN_RSP
+	0x08 LL_FEATURE_REQ
+	0x09 LL_FEATURE_RSP
+	0x0A LL_PAUSE_ENC_REQ
+	0x0B LL_PAUSE_ENC_RSP
+	0x0C LL_VERSION_IND
+	0x0D LL_REJECT_IND
+	0x0E LL_SLAVE_FEATURE_REQ
+	0x0F LL_CONNECTION_PARAM_REQ
+	0x10 LL_CONNECTION_PARAM_RSP
+	0x11 LL_REJECT_IND_EXT
+	0x12 LL_PING_REQ
+	0x13 LL_PING_RSP
+	)
+
+	/* Security Manager Protocol Code */
+	(
+	0x01 SMP_PAIRING_REQUEST
+	0x02 SMP_PAIRING_RESPONSE
+	0x03 SMP_PAIRING_CONFIRM
+	0x04 SMP_PAIRING_RANDOM
+	0x05 SMP_PAIRING_FAILED
+	0x06 SMP_ENCRYPTION_INFORMATION
+	0x07 SMP_MASTER_IDENTIFICATION
+	0x08 SMP_IDENTITY_INFORMATION
+	0x09 SMP_IDENTITY_ADDRESS_INFORMATION
+	0x0A SMP_SIGNING_INFORMATION
+	0x0B SMP_SECURITY_REQUEST
+	0x0c SMP_PAIRING_PUBLIC_KEY
+	0x0d SMP_PAIRING_DHKEY_CHECK
+	)
+
+	/* L2CAP Signaling OPCODE */
+	(
+	0x12 L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST
+	0x13 L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE
+	)
+
+	/* ATT OPCODE */
+	(
+	0x01 ATTOP_ERROR_RESPONSE
+	0x02 ATTOP_EXCHANGE_MTU_REQUEST
+	0x03 ATTOP_EXCHANGE_MTU_RESPONSE
+	0x04 ATTOP_FIND_INFORMATION_REQUEST
+	0x05 ATTOP_FIND_INFORMATION_RESPONSE
+	0x06 ATTOP_FIND_BY_TYPE_VALUE_REQUEST
+	0x07 ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	0x08 ATTOP_READ_BY_TYPE_REQUEST
+	0x09 ATTOP_READ_BY_TYPE_RESPONSE
+	0x0A ATTOP_READ_REQUEST
+	0x0B ATTOP_READ_RESPONSE
+	0x0C ATTOP_READ_BLOB_REQUEST
+	0x0D ATTOP_READ_BLOB_RESPONSE
+	0x0E ATTOP_READ_MULTIPLE_REQUEST
+	0x0F ATTOP_READ_MULTIPLE_RESPONSE
+	0x10 ATTOP_READ_BY_GROUP_TYPE_REQUEST
+	0x11 ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	0x12 ATTOP_WRITE_REQUEST
+	0x13 ATTOP_WRITE_RESPONSE
+	0x16 ATTOP_PREPARE_WRITE_REQUEST
+	0x17 ATTOP_PREPARE_WRITE_RESPONSE
+	0x18 ATTOP_EXECUTE_WRITE_REQUEST
+	0x19 ATTOP_EXECUTE_WRITE_RESPONSE
+	0x1B ATTOP_HANDLE_VALUE_NOTIFICATION
+	0x1D ATTOP_HANDLE_VALUE_INDICATION
+	0x1E ATTOP_HANDLE_VALUE_CONFIRMATION
+	0x52 ATTOP_WRITE_COMMAND
+	0xD2 ATTOP_SIGNED_WRITE_COMMAND
+	0x1f ATTOP_CONTINUE
+	0x9e EMPTY_LE_DATA_PRE
+	0x9f EMPTY_LE_DATA
+	)
+
+	/* ATT error code */
+	(
+	0x01 ATT_ERR_INVALID_HANDLE
+	0x02 ATT_ERR_READ_NOT_PERMITTED
+	0x03 ATT_ERR_WRITE_NOT_PERMITTED
+	0x04 ATT_ERR_INVALID_PDU
+	0x05 ATT_ERR_INSUFFICIENT_AUTHENTICATION
+	0x06 ATT_ERR_REQUEST_NOT_SUPPORTED
+	0x07 ATT_ERR_INVALID_OFFSET
+	0x08 ATT_ERR_INSUFFICIENT_AUTHORIZATION
+	0x09 ATT_ERR_PREPARE_QUEUE_FULL
+	0x0A ATT_ERR_ATTRIBUTE_NOT_FOUND
+	0x0B ATT_ERR_ATTRIBUTE_NOT_LONG
+	0x0C ATT_ERR_INSUFFICIENT_ENCRYPTION_KEY_SIZE
+	0x0D ATT_ERR_INVALID_ATTRIBUTE_VALUE_LENGTH
+	0x0E ATT_ERR_UNLIKELY_ERROR
+	0x0F ATT_ERR_INSUFFICIENT_ENCRYPTION
+	0x10 ATT_ERR_UNSUPPORTED_GROUP_TYPE
+	0x11 ATT_ERR_INSUFFICIENT_RESOURCES
+	)
+	/*	SERVICE UUID	*/
+	(
+	0x1800 UUID_SERVICE_GENERIC_ACC
+	0x1801 UUID_SERVICE_GENERIC_ATT
+	0x180a UUID_SERVICE_DEVICE_INFO
+	0x180f UUID_SERVICE_BATTERY
+	0x1812 UUID_SERVICE_HIDS
+	0x2800 UUID_GATT_PRIMARY_SERVICE
+	0x2801 UUID_GATT_SECONDARY_SERVICE
+	0X2802 UUID_GATT_INCLUDE
+	0X2803 UUID_GATT_CHARACTERISTIC
+	0X2A00 UUID_CHRCTR_DEVICE_NAME
+	0X2A19 UUID_CHRCTR_BATTERY_LEVEL
+	0X2A22 UUID_CHRCTR_KEYBOARD_INPUT
+	0X2A23 UUID_CHRCTR_SYSTEM_ID 
+	0X2A25 UUID_CHRCTR_SERIAL_NUMBER
+	0X2A26 UUID_CHRCTR_FIRMWARE
+	0X2A32 UUID_CHRCTR_KEYBOARD_OUTPUT
+	0X2A33 UUID_CHRCTR_MOUSE_INPUT
+	0X2A4A UUID_CHRCTR_HID_INFO
+	0X2A4B UUID_CHRCTR_REPORT_MAP
+	0X2A4C UUID_CHRCTR_HID_CTRL_POINT
+	0X2A4D UUID_CHRCTR_REPORT
+	0X2A4E UUID_CHRCTR_PROTOCOL_MODE
+	)
+
+	(// pairing failed reason
+	0x00 PAIRING_FAILED_RESERVED
+	0X01 PAIRING_FAILED_PASSKEY_ENTRY_FAILED
+	0X02 PAIRING_FAILED_OOB_NOT_AVAILABLE
+	0X03 PAIRING_FAILED_AUTHENTICATION_REQUIRE
+	0X04 PAIRING_FAILED_CONFIRM_VALUE_FAILED
+	0X05 PAIRING_FAILED_PAIRING_NOT_SUPPORTED
+	0X06 PAIRING_FAILED_ENCRYPTION_KEY_SIZE
+	0X07 PAIRING_FAILED_COMMAND_NOT_SUPPORTED
+	0X08 PAIRING_FAILED_UNSPECIFIED_REASON
+	0X09 PAIRING_FAILED_REPEATED_ATTEMPTS
+	0X0A PAIRING_FAILED_INVALID_PARAMETERS
+	0X0B PAIRING_FAILED_DHKEY_CHECK_FAILED
+	0X0C PAIRING_FAILED_NUMERIC_COMPARISON_FAILED
+	0X0D PAIRING_FAILED_BR_EDR_PAIRING_IN_PROGRESS
+	0X0E PAIRING_FAILED_KEY_DERIVATION_GENERATION_NOT_ALLOWED
+	)
+
+
+	//BLE ErrorCodes
+	(    
+	0x01 ERROR_UNKNOWN_HCI_COMMAND
+	0x02 ERROR_NO_CONNECTION
+	0x03 ERROR_HARDWARE_FAILURE
+	0x04 ERROR_PAGE_TIMEOUT
+	0x05 ERROR_AUTHENTICATION_FAILURE
+	0x06 ERROR_KEY_MISSING
+	0x07 ERROR_MEMORY_FULL
+	0x08 ERROR_CONNECTION_TIMEOUT
+	0x09 ERROR_MAX_CONNECTIONS
+	0x0A ERROR_MAX_SCO_CONNECTIONS
+	0x0B ERROR_MAX_ACL_CONNECTIONS
+	0x0C ERROR_COMMAND_DISALLOWED
+	0x0D ERROR_HOST_REJECT_LIMITED_RESOURCES
+	0x0E ERROR_HOST_REJECT_SECURITY_REASONS
+	0x0F ERROR_HOST_REJECT_REMOTE_IS_ONLY_PERSONAL
+	0x10 ERROR_HOST_TIMEOUT
+	0x11 ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE
+	0x12 ERROR_INVALID_HCI_COMMAND_PARAMETERS
+	0x13 ERROR_REMOTE_USER_TERMINATED_CONNECTION
+	0x14 ERROR_REMOTE_LOW_RESOURCES
+	0x15 ERROR_REMOTE_POWERING_OFF
+	0x16 ERROR_CONNECTION_TERMINATED_BY_LOCAL_HOST
+	0x17 ERROR_REPEATED_ATTEMPTS
+	0x18 ERROR_PAIRING_NOT_ALLOWED
+	0x19 ERROR_UNKNOWN_LMP_PDU
+	0x1A ERROR_UNSUPPORTED_REMOTE_FEATURE
+	0x1B ERROR_SCO_OFFSET_REJECTED
+	0x1C ERROR_SCO_INTERVAL_REJECTED
+	0x1D ERROR_SCO_AIR_MODE_REJECTED
+	0x1E ERROR_INVALID_LMP_PARAMETER
+	0x1F ERROR_UNSPECIFIED_ERROR
+	0x20 ERROR_UNSUPPORTED_LMP_PARAMETER_VALUE
+	0x21 ERROR_ROLE_CHANGE_NOT_ALLOWD
+	0x22 ERROR_LMP_RESPONSE_TIMEOUT
+	0x23 ERROR_ERROR_TRANSACTION_COLLISION
+	0x24 ERROR_LMP_PDU_NOT_ALLOWED
+	0x25 ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x26 ERROR_UNIT_KEY_USED
+	0x27 ERROR_QOS_NOT_SUPPORTED
+	0x28 ERROR_INSTANT_PASSED
+	0x29 ERROR_PAIRING_W_UNIT_KEY_NOT_SUPPORTED
+	0x2a ERROR_DIFFERENT_TRANSACTION_COLLISION
+	0x2c ERROR_QOS_UNACCEPTABLE_PARAMETER
+	0x2d ERROR_QOS_REJECTED
+	0x2e ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED
+	0x2f ERROR_INSUFFICIENT_SECURITY
+	0x30 ERROR_PARAMETER_OUT_OF_MANDATORY_PANGE
+	0x32 ERROR_ROLE_SWITCH_PENDING
+	0x34 ERROR_RESERVED_SLOT_VIOLATION
+	0x35 ERROR_ROLE_SWITCH_FAILED
+	0x36 ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE
+	0x37 ERROR_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST
+	0x38 ERROR_HOST_BUSY_PAIRING
+	)
+
+
+	//modified_name
+	(
+	0x14 MAX_NAME_LEN
+	0x16 ADV_DATA_NAME_LEN
+	0X20 SPACE
+	
+	)
+	/* GATT Specifications*/
+	(
+	0X2900 CHARACTERTIC_EXTENDED_PROPERTIES
+	0X2901 CHARACTERTIC_USER_DESCRIPTION
+	0X2902 CLIENT_CHARACTERTIC_CONFIGURATION
+	0X2903 SERVER_CHARACTERTIC_CONFIGURATION
+	0X2904 CHARACTERTIC_PRESENTATION_FORMAT
+	0X2905 CHARACTERTIC_AGGREGATE
+	0X2906 VALID_RANGE
+	0X2907 EXTERNAL_REPORT_REFERENCE
+	0X2908 REPORT_REFERENCE
+	0X290B ENVIR_SENSING_CONFIGURATION
+	0X290C ENVIR_SENSING_MEASUREMENT
+	0X290D ENVIR_SENSING_TRIGGER_SETTING
+	)
+	/* LE L2CAP CID */
+	(
+	0x0004 LE_L2CAP_CID_ATT
+	0x0005 LE_L2CAP_CID_SIGNAL
+	0x0006 LE_L2CAP_CID_SMP
+	)
+
+	//LE address type
+	(
+	0 LE_ADDR_TYPE_PUBLIC
+	1 LE_ADDR_TYPE_RANDOM
+	)
+	//LE address type bitmap
+	(
+	7 LE_RECEIVER_ADDR_BIT
+	6 LE_SENDER_ADDR_BIT
+	)
+	//LE SCAN TYPE
+	(
+	0x00 LE_SCAN_TYPE_PASSIVE //no SCAN_REQ shall be sent
+	0x01 LE_SCAN_TYPE_ACTIVE
+	)
+
+	//LE SCAN ENABLE
+	(
+	0x00 LE_SCAN_DISABLE
+	0x01 LE_SCAN_ENABLE
+	0x0101 LE_ACTIVE_SCAN_ENABLE
+	)
+
+	//LE FIND INFORMATION RESPONSE
+	//THE FORMAT OF THE INFORMATION DATA
+	(
+	0x01 UUID_SIZE_16BIT
+	0x02 UUID_SIZE_128BIT
+	)
+
+	(
+	0x0000 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	0x0001 BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED
+	)
+
+//	le_state_map 0-2 is reserved for state_inconn,state_insniff and state_sco
+(
+3 lestate_got_first_packet
+4 lestate_encryption
+5 lestate_update_param
+6 lestate_update_map
+)
+
+// 	le mode
+(
+0 lemode_idle
+1 lemode_slave
+3 lemode_master
+)
+
+
+(
+0x01 LLID_CONTINUE
+0x02 LLID_START
+0x03 LLID_LE_LL
+0x01 LLID_EMPTY
+)
+
+(
+4 LE_TX_BUFF_COUNT
+3 LE_TX_BUFF_UPDATE_LOOPCNT //LE_TX_BUFF_COUNT-1
+
+12 LE_MD_MAX_COUNT
+)
+
+
+(
+0 LE_INITATOR_LTK_BIT
+1 LE_INITATOR_IRK_BIT
+2 LE_INITATOR_CSRK_BIT
+)
+
+(
+0x00 LE_PAIRING_MODE_NONE
+0x01 LE_PAIRING_MODE_LAGACY_JUSTWORK
+0x02 LE_PAIRING_MODE_LAGACY_PASSKEY
+0x81 LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK
+0x82 LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+0x83 LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+
+7 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+)
+
+
+(
+0 FLAG_IOCAP_DISPLAYONLY
+1 FLAG_IOCAP_DISPLAYYESNO
+2 FLAG_IOCAP_KEYBOARDONLY
+3 FLAG_IOCAP_NOINPUTNOOUTPUT
+4 FLAG_IOCAP_KEYBOARDDISPLAY
+
+0x00 FLAG_OOB_DATA_FLAG_NO
+)
+
+(
+0x00 FLAG_LE_NO_BONDING_NO_MITM
+0x01 FLAG_LE_BONDING_NO_MITM
+0x04 FLAG_LE_NO_BONDING_MITM
+0x05 FLAG_LE_BONDING_MITM
+0x09 FLAG_LE_BONDING_NO_MITM_SECURE
+0x0D FLAG_LE_BONDING_MITM_SECURE
+
+2 LE_AUTH_MITM_BIT
+3 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+)
+
+(
+0  LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND
+1  LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE
+2  LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE
+
+)
+
+(
+0 MASTER_PUBLIC_ADDR
+1 MASTER_RANDOM_ADDR
+)
+
+(
+0x06 LE_ERR_PIN_OR_KEY_MISSING
+)
+
+
+(
+96000 TIMER_SMP_PAIRING_TIMEOUT //30S
+)
+//mem_le_pairing_state
+(
+0 FLAG_LE_PAIRING_NULL
+1 FLAG_LE_PAIRING_START
+2 FLAG_LE_PAIRING_SEND_RECURITY_REQ
+3 FLAG_LE_PAIRING_RCV_PAIRING_REQ
+4 FLAG_LE_PAIRING_AUTH
+5 FLAG_LE_PAIRING_AFTER_AUTH
+6 FLAG_LE_PAIRING_SEND_START_ENC_RSP
+7 FLAG_LE_PARING_SEND_ENC_INFORMATION
+8 FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION 
+9 FLAG_LE_PARING_SEND_INDENTITY_INFORMATION
+0xff FLAG_LE_PAIRING_END
+)
+
+
+
+/*LE secure connect state */
+(
+0x00 LE_SC_STAT_NULL
+0x01 LE_SC_STAT_RECEIVE_PUBLIC_KEY
+0x02 LE_SC_STAT_WAIT_SEND_PUBLIC_KEY
+0x03 LE_SC_STAT_SEND_PUBLIC_KEY
+0x04 LE_SC_STAT_RECEIVE_RANDOM
+0x05 LE_SC_STAT_SEND_RANDOM
+0x06 LE_SC_STAT_RECEIVE_DHKEY
+0x07 LE_SC_STAT_WAIT_CONFIRM_GKEY
+0x08 LE_SC_STAT_PASSKEY_WAIT_CONFIRM
+)
+
+
+(
+0 FLAG_LE_SC_CONFRIM_NULL
+1 FLAG_LE_SC_CONFRIM_GKEY_OK
+)
+
+//mem_le_enc_state
+(
+0 FLAG_LE_ENC_NULL
+1 FLAG_LE_RCV_ENC_START
+2 FLAG_LE_ENC_PAUSE
+3 FLAG_LE_RCV_START_ENC_RSP
+4 FLAG_LE_SEND_START_ENC_RSP
+0xff FLAG_LE_ENC_END
+)
+
+(//mem_le_configuration
+//bit0:use fixed key , ble passkey pairing
+0 BIT_BLE_PASSKEY_FIXED_KEY
+//bit1:ble pairing use fixed long term key
+1 BIT_BLE_PAIRING_FIXED_LTK
+//bit2:ble transmit packet will set more data flag
+2 BIT_BLE_TRANSMIT_PACKET_BY_MD
+//bit3:master read handle, with requires an authenticated link
+3 BIT_BLE_READ_AUTH
+//bit4:master write handle, with requires an authenticated link
+4 BIT_BLE_WRITE_AUTH
+//bit5:cannot enter long sleep
+5 BIT_BLE_SHORT_MULT
+
+)
+
+(
+0 BIT_ADV_CHANNEL_MAP_37
+1 BIT_ADV_CHANNEL_MAP_38
+2 BIT_ADV_CHANNEL_MAP_39
+)
+
+
+
+
+0x04b6 mem_lmo_header_length
+0x04b7 mem_lmo_header_opcode
+0x04b8 mem_lmo_payload
+0x04c9 mem_lmi_accepted_opcode
+0x04ca mem_disconn_reason_send
+0x04cb mem_tx_fixed_freq
+0x04cc mem_rx_fixed_freq
+0x04cd mem_ext_features_page
+0x04ce mem_lmpext_ssp_enable
+0x04d0 mem_remote_sppcap
+0x04d1 mem_lmp_conn_state
+0x04d2 mem_soft_timer
+0x04d4 mem_pincode_state
+0x04d5 mem_sres_tid
+0x04d6 mem_accptsco_tid
+0x04d7 mem_auth_enable
+0x04d8 mem_wait_encryption
+0x04d9 mem_sniff_payload
+0x04e9 mem_aurand_send_delay_time
+
+
+	(
+	//bit flag:mem_classic_bt_flag
+	0 FLAG_SSP_REJECT_JUSTWORK
+	1 SHORT_MULT_FLAG
+	)
+	
+	(
+	//bit map
+	0 pair_state_inrand
+	1 pair_state_inrand_acpt
+	2 pair_state_send_comb
+	3 pair_state_recv_comb
+	4 pair_state_send_aurand
+	5 pair_state_recv_sres
+	6 pair_state_recv_aurand
+	7 pair_state_send_sres	
+	)
+	/* LMP opcodes */
+	(
+	1 LMP_NAME_REQ 
+	2 LMP_NAME_RES 
+	3 LMP_ACCEPTED 
+	4 LMP_NOT_ACCEPTED 
+	5 LMP_CLKOFFSET_REQ 
+	6 LMP_CLKOFFSET_RES 
+	7 LMP_DETACH 
+	8 LMP_IN_RAND 
+	9 LMP_COMB_KEY 
+	10 LMP_UNIT_KEY 
+	11 LMP_AU_RAND 
+	12 LMP_SRES 
+	13 LMP_TEMP_RAND 
+	14 LMP_TEMP_KEY 
+	15 LMP_ENCRYPTION_MODE_REQ 
+	16 LMP_ENCRYPTION_KEY_SIZE_REQ 
+	17 LMP_START_ENCRYPTION_REQ 
+	18 LMP_STOP_ENCRYPTION_REQ 
+	19 LMP_SWITCH_REQ 
+	20 LMP_HOLD
+	21 LMP_HOLD_REQ
+	23 LMP_SNIFF_REQ 
+	24 LMP_UNSNIFF_REQ 
+	26 LMP_PARK_REQ 
+	27 LMP_SET_BROADCAST_SCAN_WINDOW 
+	28 LMP_MODIFY_BEACON 
+	29 LMP_UNPARK_BD_ADDR_REQ 
+	30 LMP_UNPARK_PM_ADDR_REQ 
+	31 LMP_INCR_POWER_REQ 
+	32 LMP_DECR_POWER_REQ 
+	33 LMP_MAX_POWER 
+	34 LMP_MIN_POWER 
+	35 LMP_AUTO_RATE 
+	36 LMP_PREFERRED_RATE 
+	37 LMP_VERSION_REQ 
+	38 LMP_VERSION_RES 
+	39 LMP_FEATURES_REQ 
+	40 LMP_FEATURES_RES 
+	41 LMP_QUALITY_OF_SERVICE 
+	42 LMP_QUALITY_OF_SERVICE_REQ 
+	43 LMP_SCO_LINK_REQ 
+	44 LMP_REMOVE_SCO_LINK_REQ 
+	45 LMP_MAX_SLOT 
+	46 LMP_MAX_SLOT_REQ 
+	47 LMP_TIMING_ACCURACY_REQ 
+	48 LMP_TIMING_ACCURACY_RES 
+	49 LMP_SETUP_COMPLETE 
+	50 LMP_USE_SEMI_PERMANENT_KEY 
+	51 LMP_HOST_CONNECTION_REQ 
+	52 LMP_SLOT_OFFSET 
+	53 LMP_PAGE_MODE_REQ 
+	54 LMP_PAGE_SCAN_MODE_REQ 
+	55 LMP_SUPERVISION_TIMEOUT 
+	56 LMP_TEST_ACTIVATE
+	57 LMP_TEST_CONTROL
+	58 LMP_ENC_KEY_SIZE_MASK_REQ
+	59 LMP_ENC_KEY_SIZE_MASK_RES
+	60 LMP_SET_AFH
+
+	/* simple pairing support */
+	61 LMP_ENCAPSULATED_HEADER
+	62 LMP_ENCAPSULATED_PAYLOAD
+	63 LMP_SIMPLE_PAIRING_CONFIRM
+	64 LMP_SIMPLE_PAIRING_NUMBER
+	65 LMP_DHKEY_CHECK
+	127 LMP_ESCAPE
+	127 LMP_ESCAPE_4   /* add 2bytes LMP header support  */   
+	)
+	/* LMP EXT opcodes, ORed with bit 7 to make difference to nonEXT */
+	(
+	129 LMP_EXT_ACCEPTED
+	130 LMP_NOT_ACCEPTED_EXT
+	131 LMP_EXT_FEATURES_REQ
+	132 LMP_EXT_FEATURES_RES
+	139 LMP_PACKET_TYPE_TABLE_REQ
+	140 LMP_EXT_ESCO_LINK_REQ
+	141 LMP_EXT_REMOVE_ESCO_REQ
+	144 LMP_EXT_CHN_CLASSIFICATION_REQ
+	145 LMP_EXT_CHN_CLASSIFICATION
+	149 LMP_SNIFF_SUBRATING_REQ
+	150 LMP_SNIFF_SUBRATING_RES
+	151 LMP_PAUSE_ENCRYPTION_REQ
+	152 LMP_RESUME_ENCRYPTION_REQ
+	153 LMP_IO_CAP_REQ
+	154 LMP_IO_CAP_RES
+	)
+	/* LMP reason codes */
+	(
+	0x05 AUTHENTICATION_FAILURE_ERROR
+	0x06 KEY_MISSING
+	0x0b ACL_CONNECTION_ALREADY_EXISTS
+	0x13 OTHER_END_TERMINATED
+	0x15 ABOUT_TO_POEWR_OFF
+	0x16 LOCAL_HOST
+	0x18 PAIRING_NOT_ALLOWED
+	0x19 UNKNOWN_LMP_PDU
+	0x1A UNSUPPORTED_LMP_FEATURE 
+	0x1F UNSPECIFIED_ERROR
+	0x20 UNSUPPORTED_PARAMETERS
+	0x21 SWITCH_NOT_ALLOWED
+	0x23 TRANSACTION_COLLISION
+	0x24 PDU_NOT_ALLOWED
+	0x25 ENCRYPTION_MODE_NOT_ACCEPTABLE
+	0x2e NOT_SUPPORT_CHN_CLASSIFICATION
+	0x37 NOT_SUPPORT_SSP
+	)
+
+	/* test mode scenarios */
+	(
+	0 PAUSE_TEST_MODE
+	1 ZERO_PATTERN
+	2 ONE_PATTERN
+	3 ALT_PATTERN
+	4 PSEUDORANDOM
+	5 CLOSED_LOOP_BACK_ACL
+	6 CLOSED_LOOP_BACK_SCO
+	7 ACL_WITHOUT_WHITENING
+	8 SCO_WITHOUT_WHITENING
+	9 ALT2_PATTERN
+	255 EXIT_TEST_MODE
+	)
+	/* test mode hoppig modes */
+	(
+	0 FIXED_FREQ
+	1 NORMAL_HOP
+	)
+
+	/* mem_lmp_tid indicates which type of LMP will be sent */
+	(
+	0 TID_NORM_REPLY
+	1 TID_NORM_SEND
+	2 TID_ONE
+	3 TID_ZERO
+	4 TID_PAIRING
+	5 TID_ENCRYPTION
+	6 TID_VARIABLE
+	7 TID_RX
+	)
+
+	/* ============== lmp status ==========*/
+	(
+	0 lmp_incoming
+	1 lmp_outgoing
+	2 lmp_reject_msg
+	3 lmp_clear_msg
+	4 upper_reject_msg
+	5 upper_clear_msg
+	)
+
+(
+0x2ee00 TIMER_ONE_MINUTE //96000*2
+80 TIMER_SWITCH_WAITE
+12 TIMER_ENPT_WAITE
+)
+
+(
+0 SWITCH_FLAG_INIT
+1 SWITCH_FLAG_ACCEPT
+2 SWITCH_FLAG_NOT_ACCEPT
+)
+(
+0 NULL_ENCRYP
+1 DONE_ENCRYP
+)
+
+//
+//
+//Large memory blocks defined in this file.
+//Blocks Shall be defined with absolute address.
+//Blocks' length Shall be specified in comment following Blocks' names.
+//Different blocks MAY be overlap.
+//Blocks defined in this file Shall NOT be overlap with variable in memmap.format.
+
+// USB C51 exchange area
+(
+0xff0 mem_mcmd
+0xff1 mem_mouse_data
+)
+
+//l2cap RX buffers
+(
+0x1000 mem_l2cap_rxbuff1		//0x400
+0x1400 mem_l2cap_rxbuff2		//0x400
+//end address:0x17ff
+)
+//l2cap TX buffers
+(
+0x1800 mem_tx_buff0		//128
+0x1880 mem_tx_buff1		//128
+0x1900 mem_tx_buff2		//128
+0x1980 mem_tx_buff3		//128
+0x1a00 mem_tx_buff4		//128
+0x1a80 mem_tx_buff5		//128
+0x1b00 mem_tx_buff6		//128
+0x1b80 mem_tx_buff7		//128
+//end address: 0x1bff
+)
+
+(
+0x1800 mem_le_tx_buffer0
+0x1900 mem_le_tx_buffer1
+0x1a00 mem_le_tx_buffer2
+0x1b00 mem_le_tx_buffer3
+//end addr:0x1dff
+)
+
+
+//uart buffer
+(
+0x1800 mem_h5rx_buf//0x400
+0x1bff mem_h5rx_buf_end
+0x1c00 mem_h5tx_buf
+0x1fff mem_h5tx_buf_end
+)
+
+
+(
+0x1800 mem_ir_record
+0x1c      mem_ir_record_max
+)
+
+
+
+(
+	  0 patch00_0
+	  1 patch00_1
+	  2 patch00_2
+	  3 patch00_3
+	  4 patch00_4
+	  5 patch00_5
+	  6 patch00_6
+	  7 patch00_7
+	  8 patch01_0
+	  9 patch01_1
+	 10 patch01_2
+	 11 patch01_3
+	 12 patch01_4
+	 13 patch01_5
+	 14 patch01_6
+	 15 patch01_7
+	 16 patch02_0
+	 17 patch02_1
+	 18 patch02_2
+	 19 patch02_3
+	 20 patch02_4
+	 21 patch02_5
+	 22 patch02_6
+	 23 patch02_7
+	 24 patch03_0
+	 25 patch03_1
+	 26 patch03_2
+	 27 patch03_3
+	 28 patch03_4
+	 29 patch03_5
+	 30 patch03_6
+	 31 patch03_7
+	 32 patch04_0
+	 33 patch04_1
+	 34 patch04_2
+	 35 patch04_3
+	 36 patch04_4
+	 37 patch04_5
+	 38 patch04_6
+	 39 patch04_7
+	 40 patch05_0
+	 41 patch05_1
+	 42 patch05_2
+	 43 patch05_3
+	 44 patch05_4
+	 45 patch05_5
+	 46 patch05_6
+	 47 patch05_7
+	 48 patch06_0
+	 49 patch06_1
+	 50 patch06_2
+	 51 patch06_3
+	 52 patch06_4
+	 53 patch06_5
+	 54 patch06_6
+	 55 patch06_7
+	 56 patch07_0
+	 57 patch07_1
+	 58 patch07_2
+	 59 patch07_3
+	 60 patch07_4
+	 61 patch07_5
+	 62 patch07_6
+	 63 patch07_7
+	 64 patch08_0
+	 65 patch08_1
+	 66 patch08_2
+	 67 patch08_3
+	 68 patch08_4
+	 69 patch08_5
+	 70 patch08_6
+	 71 patch08_7
+	 72 patch09_0
+	 73 patch09_1
+	 74 patch09_2
+	 75 patch09_3
+	 76 patch09_4
+	 77 patch09_5
+	 78 patch09_6
+	 79 patch09_7
+	 80 patch0a_0
+	 81 patch0a_1
+	 82 patch0a_2
+	 83 patch0a_3
+	 84 patch0a_4
+	 85 patch0a_5
+	 86 patch0a_6
+	 87 patch0a_7
+	 88 patch0b_0
+	 89 patch0b_1
+	 90 patch0b_2
+	 91 patch0b_3
+	 92 patch0b_4
+	 93 patch0b_5
+	 94 patch0b_6
+	 95 patch0b_7
+	 96 patch0c_0
+	 97 patch0c_1
+	 98 patch0c_2
+	 99 patch0c_3
+	100 patch0c_4
+	101 patch0c_5
+	102 patch0c_6
+	103 patch0c_7
+	104 patch0d_0
+	105 patch0d_1
+	106 patch0d_2
+	107 patch0d_3
+	108 patch0d_4
+	109 patch0d_5
+	110 patch0d_6
+	111 patch0d_7
+	112 patch0e_0
+	113 patch0e_1
+	114 patch0e_2
+	115 patch0e_3
+	116 patch0e_4
+	117 patch0e_5
+	118 patch0e_6
+	119 patch0e_7
+	120 patch0f_0
+	121 patch0f_1
+	122 patch0f_2
+	123 patch0f_3
+	124 patch0f_4
+	125 patch0f_5
+	126 patch0f_6
+	127 patch0f_7
+	128 patch10_0
+	129 patch10_1
+	130 patch10_2
+	131 patch10_3
+	132 patch10_4
+	133 patch10_5
+	134 patch10_6
+	135 patch10_7
+	136 patch11_0
+	137 patch11_1
+	138 patch11_2
+	139 patch11_3
+	140 patch11_4
+	141 patch11_5
+	142 patch11_6
+	143 patch11_7
+	144 patch12_0
+	145 patch12_1
+	146 patch12_2
+	147 patch12_3
+	148 patch12_4
+	149 patch12_5
+	150 patch12_6
+	151 patch12_7
+	152 patch13_0
+	153 patch13_1
+	154 patch13_2
+	155 patch13_3
+	156 patch13_4
+	157 patch13_5
+	158 patch13_6
+	159 patch13_7
+	160 patch14_0
+	161 patch14_1
+	162 patch14_2
+	163 patch14_3
+	164 patch14_4
+	165 patch14_5
+	166 patch14_6
+	167 patch14_7
+	168 patch15_0
+	169 patch15_1
+	170 patch15_2
+	171 patch15_3
+	172 patch15_4
+	173 patch15_5
+	174 patch15_6
+	175 patch15_7
+	176 patch16_0
+	177 patch16_1
+	178 patch16_2
+	179 patch16_3
+	180 patch16_4
+	181 patch16_5
+	182 patch16_6
+	183 patch16_7
+	184 patch17_0
+	185 patch17_1
+	186 patch17_2
+	187 patch17_3
+	188 patch17_4
+	189 patch17_5
+	190 patch17_6
+	191 patch17_7
+	192 patch18_0
+	193 patch18_1
+	194 patch18_2
+	195 patch18_3
+	196 patch18_4
+	197 patch18_5
+	198 patch18_6
+	199 patch18_7
+	200 patch19_0
+	201 patch19_1
+	202 patch19_2
+	203 patch19_3
+	204 patch19_4
+	205 patch19_5
+	206 patch19_6
+	207 patch19_7
+	208 patch1a_0
+	209 patch1a_1
+	210 patch1a_2
+	211 patch1a_3
+	212 patch1a_4
+	213 patch1a_5
+	214 patch1a_6
+	215 patch1a_7
+	216 patch1b_0
+	217 patch1b_1
+	218 patch1b_2
+	219 patch1b_3
+	220 patch1b_4
+	221 patch1b_5
+	222 patch1b_6
+	223 patch1b_7
+	224 patch1c_0
+	225 patch1c_1
+	226 patch1c_2
+	227 patch1c_3
+	228 patch1c_4
+	229 patch1c_5
+	230 patch1c_6
+	231 patch1c_7
+	232 patch1d_0
+	233 patch1d_1
+	234 patch1d_2
+	235 patch1d_3
+	236 patch1d_4
+	237 patch1d_5
+	238 patch1d_6
+	239 patch1d_7
+	240 patch1e_0
+	241 patch1e_1
+	242 patch1e_2
+	243 patch1e_3
+	244 patch1e_4
+	245 patch1e_5
+	246 patch1e_6
+	247 patch1e_7
+	248 patch1f_0
+	249 patch1f_1
+	250 patch1f_2
+	251 patch1f_3
+	252 patch1f_4
+	253 patch1f_5
+	254 patch1f_6
+	255 patch1f_7
+	  0 patch20_0
+	  1 patch20_1
+	  2 patch20_2
+	  3 patch20_3
+	  4 patch20_4
+	  5 patch20_5
+	  6 patch20_6
+	  7 patch20_7
+	  8 patch21_0
+	  9 patch21_1
+	 10 patch21_2
+	 11 patch21_3
+	 12 patch21_4
+	 13 patch21_5
+	 14 patch21_6
+	 15 patch21_7
+	 16 patch22_0
+	 17 patch22_1
+	 18 patch22_2
+	 19 patch22_3
+	 20 patch22_4
+	 21 patch22_5
+	 22 patch22_6
+	 23 patch22_7
+	 24 patch23_0
+	 25 patch23_1
+	 26 patch23_2
+	 27 patch23_3
+	 28 patch23_4
+	 29 patch23_5
+	 30 patch23_6
+	 31 patch23_7
+	 32 patch24_0
+	 33 patch24_1
+	 34 patch24_2
+	 35 patch24_3
+	 36 patch24_4
+	 37 patch24_5
+	 38 patch24_6
+	 39 patch24_7
+	 40 patch25_0
+	 41 patch25_1
+	 42 patch25_2
+	 43 patch25_3
+	 44 patch25_4
+	 45 patch25_5
+	 46 patch25_6
+	 47 patch25_7
+	 48 patch26_0
+	 49 patch26_1
+	 50 patch26_2
+	 51 patch26_3
+	 52 patch26_4
+	 53 patch26_5
+	 54 patch26_6
+	 55 patch26_7
+	 56 patch27_0
+	 57 patch27_1
+	 58 patch27_2
+	 59 patch27_3
+	 60 patch27_4
+	 61 patch27_5
+	 62 patch27_6
+	 63 patch27_7
+	 64 patch28_0
+	 65 patch28_1
+	 66 patch28_2
+	 67 patch28_3
+	 68 patch28_4
+	 69 patch28_5
+	 70 patch28_6
+	 71 patch28_7
+	 72 patch29_0
+	 73 patch29_1
+	 74 patch29_2
+	 75 patch29_3
+	 76 patch29_4
+	 77 patch29_5
+	 78 patch29_6
+	 79 patch29_7
+	 80 patch2a_0
+	 81 patch2a_1
+	 82 patch2a_2
+	 83 patch2a_3
+	 84 patch2a_4
+	 85 patch2a_5
+	 86 patch2a_6
+	 87 patch2a_7
+	 88 patch2b_0
+	 89 patch2b_1
+	 90 patch2b_2
+	 91 patch2b_3
+	 92 patch2b_4
+	 93 patch2b_5
+	 94 patch2b_6
+	 95 patch2b_7
+	 96 patch2c_0
+	 97 patch2c_1
+	 98 patch2c_2
+	 99 patch2c_3
+	100 patch2c_4
+	101 patch2c_5
+	102 patch2c_6
+	103 patch2c_7
+	104 patch2d_0
+	105 patch2d_1
+	106 patch2d_2
+	107 patch2d_3
+	108 patch2d_4
+	109 patch2d_5
+	110 patch2d_6
+	111 patch2d_7
+	112 patch2e_0
+	113 patch2e_1
+	114 patch2e_2
+	115 patch2e_3
+	116 patch2e_4
+	117 patch2e_5
+	118 patch2e_6
+	119 patch2e_7
+	120 patch2f_0
+	121 patch2f_1
+	122 patch2f_2
+	123 patch2f_3
+	124 patch2f_4
+	125 patch2f_5
+	126 patch2f_6
+	127 patch2f_7
+	128 patch30_0
+	129 patch30_1
+	130 patch30_2
+	131 patch30_3
+	132 patch30_4
+	133 patch30_5
+	134 patch30_6
+	135 patch30_7
+	136 patch31_0
+	137 patch31_1
+	138 patch31_2
+	139 patch31_3
+	140 patch31_4
+	141 patch31_5
+	142 patch31_6
+	143 patch31_7
+	144 patch32_0
+	145 patch32_1
+	146 patch32_2
+	147 patch32_3
+	148 patch32_4
+	149 patch32_5
+	150 patch32_6
+	151 patch32_7
+	152 patch33_0
+	153 patch33_1
+	154 patch33_2
+	155 patch33_3
+	156 patch33_4
+	157 patch33_5
+	158 patch33_6
+	159 patch33_7
+	160 patch34_0
+	161 patch34_1
+	162 patch34_2
+	163 patch34_3
+	164 patch34_4
+	165 patch34_5
+	166 patch34_6
+	167 patch34_7
+	168 patch35_0
+	169 patch35_1
+	170 patch35_2
+	171 patch35_3
+	172 patch35_4
+	173 patch35_5
+	174 patch35_6
+	175 patch35_7
+	176 patch36_0
+	177 patch36_1
+	178 patch36_2
+	179 patch36_3
+	180 patch36_4
+	181 patch36_5
+	182 patch36_6
+	183 patch36_7
+	184 patch37_0
+	185 patch37_1
+	186 patch37_2
+	187 patch37_3
+	188 patch37_4
+	189 patch37_5
+	190 patch37_6
+	191 patch37_7
+	192 patch38_0
+	193 patch38_1
+	194 patch38_2
+	195 patch38_3
+	196 patch38_4
+	197 patch38_5
+	198 patch38_6
+	199 patch38_7
+	200 patch39_0
+	201 patch39_1
+	202 patch39_2
+	203 patch39_3
+	204 patch39_4
+	205 patch39_5
+	206 patch39_6
+	207 patch39_7
+	208 patch3a_0
+	209 patch3a_1
+	210 patch3a_2
+	211 patch3a_3
+	212 patch3a_4
+	213 patch3a_5
+	214 patch3a_6
+	215 patch3a_7
+	216 patch3b_0
+	217 patch3b_1
+	218 patch3b_2
+	219 patch3b_3
+	220 patch3b_4
+	221 patch3b_5
+	222 patch3b_6
+	223 patch3b_7
+	224 patch3c_0
+	225 patch3c_1
+	226 patch3c_2
+	227 patch3c_3
+	228 patch3c_4
+	229 patch3c_5
+	230 patch3c_6
+	231 patch3c_7
+	232 patch3d_0
+	233 patch3d_1
+	234 patch3d_2
+	235 patch3d_3
+	236 patch3d_4
+	237 patch3d_5
+	238 patch3d_6
+	239 patch3d_7
+	240 patch3e_0
+	241 patch3e_1
+	242 patch3e_2
+	243 patch3e_3
+	244 patch3e_4
+	245 patch3e_5
+	246 patch3e_6
+	247 patch3e_7
+	248 patch3f_0
+	249 patch3f_1
+	250 patch3f_2
+	251 patch3f_3
+	252 patch3f_4
+	253 patch3f_5
+	254 patch3f_6
+	255 patch3f_7
+
+)
+(
+  0x8000 core_chipid
+  0x8003 core_kick
+  0x8005 core_lpm_wr
+  0x8006 core_misc_ctrl
+  0x8007 core_otp_rdata
+  0x8009 core_pcmoutfifo
+  0x8010 core_reset
+  0x8011 core_encrypt
+  0x8015 core_uart_txd
+  0x8022 core_ucode_hi
+  0x8023 core_ucode_ctrl
+  0x8024 core_ucode_low
+  0x8025 core_ucode_data
+  0x8040 core_halfslot
+  0x8042 core_clksel
+  0x8043 core_uart_clksel
+  0x8043 core_config 
+  0x8044 core_xtal_stable_time
+  0x8045 core_otp_addr
+  0x8046 core_otp_din
+  0x8047 core_otp_ctrl
+  0x8048 core_otpd_addr
+  0x804a core_otpd_len
+  0x804b core_otpd_ctrl
+  0x804c core_lpm_reg
+  0x804f core_lpm_isogate
+  0x8050 core_clkoff
+  0x8052 core_uart_baud
+  0x8054 core_uart_rsaddr
+  0x8056 core_uart_readdr
+  0x8058 core_uart_rrptr
+  0x805a core_uart_tsaddr
+  0x805c core_uart_teaddr
+  0x805e core_uart_twptr
+  0x8060 core_uart_trptrp
+  0x8062 core_uart_ctrl
+  0x8063 core_bist_ctrl
+  0x8064 core_pwm_pcnt3
+  0x8066 core_pwm_ncnt3 
+  0x8068 core_pwm_pcnt4
+  0x806a core_pwm_ncnt4
+  0x806c core_pwm_pcnt5
+  0x806e core_pwm_ncnt5
+  0x8070 core_gpio_oe0
+  0x8071 core_gpio_oe1
+  0x8072 core_gpio_oe2
+  0x8073 core_gpio_oe3
+  0x8074 core_gpio_out0
+  0x8075 core_gpio_out1
+  0x8076 core_gpio_out2
+  0x8077 core_gpio_out3
+  0x8078 core_gpio_pu0
+  0x8079 core_gpio_pu1
+  0x807a core_gpio_pu2
+  0x807b core_gpio_pu3
+  0x807c core_gpio_pd0
+  0x807d core_gpio_pd1
+  0x807e core_gpio_pd2
+  0x807f core_gpio_pd3
+  0x8080 core_gpio_sel
+  0x8081 core_gpio_sel1
+  0x8082 core_gpio_sel2
+  0x8083 core_gpio_key0
+  0x8084 core_gpio_key1
+  0x8085 core_gpio_key2
+  0x8086 core_spid_ctrl
+  0x8087 core_spid_delay
+  0x8088 core_spid_txlen
+  0x808a core_spid_txaddr
+  0x808c core_spid_rxaddr
+  0x808e core_spid_rxlen
+  0x8090 core_iicd_ctrl
+  0x8091 core_iicd_scl_low
+  0x8092 core_iicd_scl_high
+  0x8093 core_iicd_start_setup
+  0x8094 core_iicd_start_hold
+  0x8095 core_iicd_stop_setup
+  0x8096 core_iicd_data_setup
+  0x8097 core_iicd_data_hold
+  0x8098 core_iicd_txlen
+  0x809a core_iicd_txaddr
+  0x809c core_iicd_rxaddr
+  0x809e core_iicd_rxlen
+  0x80a0 core_pwm_pcnt0
+  0x80a2 core_pwm_ncnt0
+  0x80a4 core_pwm_pcnt1
+  0x80a6 core_pwm_ncnt1
+  0x80a8 core_pwm_pcnt2
+  0x80aa core_pwm_ncnt2
+  0x80b0 core_enc_ctrl
+  0x80b1 core_cvsd_ctrl
+  0x80b2 core_codec_ctrl
+  0x80b3 core_dec_ctrl
+
+
+
+
+  
+  0x8108 core_misc_status
+  0x8109 core_qdec_cntx
+  0x810a core_qdec_cnty
+  0x810b core_qdec_cntz
+  0x810c core_uart_status
+  0x810d core_uart_rbaud
+  0x810e core_uart_txitems
+  0x8110 core_uart_trptr
+  0x8112 core_uart_rxitems
+  0x8114 core_uart_rdptr
+  0x8116 core_uart_rwptr
+  0x8119 core_kscn_kstat
+  0x811a core_kscn_event
+  0x811b core_kscn_event_num
+  0x811c core_gpio_in
+  0x811d core_gpio_in1
+  0x8124 core_current_otp_addr
+  0x8126 core_otpd_remain
+  0x8128 core_spid_remain
+  0x812a core_iicd_remain
+  0x812c core_dma_status
+  0x812d core_perf_status
+  0x812e core_adc_in
+  0x8134 core_pcminfifo
+  0x8135 core_pcminfifo_remain
+  0x8136 core_pcmoutfifo_remain
+  0x8138 core_lpm_ctrl
+  0x813c core_lpm_xtalcnt
+  0x813d core_lpm_buckcnt
+  0x813e core_lpm_ldocnt
+  0x813f core_lpm_latch
+  0x8140 core_gpio_wakeup_low
+  0x8144 core_gpio_wakeup_high
+  0x8149 core_clk_counter
+  0x8150 core_adc_sum
+// dummy regs  
+
+  0x8203 core_ice_ctrl
+  0x8204 core_ice_status
+  0x8205 core_ice_break0
+  0x8207 core_ice_break1
+  
+  0x8280 core_docd_ctrl
+  0x8288 core_docd_paddr
+  0x828a core_docd_pdata
+
+  0x8300 iic_prer_low		
+  0x8301 iic_slave_addr	
+  0x8302 iic_ctr					
+  0x8303 iic_cr					
+  0x8304 iic_rxr					
+  0x8305 iic_txr					
+  0x8306 iic_sr					
+  0x8307 iic_fifo				
+
+  0x8400   mem_b_box          /* entire bank */
+  0x8500   mem_e_box          /* entire bank */
+  0x8600   mem_l_box          /* entire bank */
+
+  0x8700 memk
+
+  0x8900 rfen_rx
+  0x8901 rfen_tx
+  0x8902 rfen_mdm
+  0x8903 rfen_sn
+  0x8904 rfen_msc
+  0x8905 rfen_ck
+  0x8906 rfen_adc
+  0x890a  rf_iq_gain
+  0x890b  rf_agc_nsat
+  0x890f  rf_adc_goff
+  0x8912 rf_agc_ctrl
+  0x8914 rfen_ulp
+  0x8973 rfen_chgpump
+  0x894b rf_rx_vctrl_reg1
+  0x894c rf_rx_vctrl_reg2
+  0x894d rf_rx_ib_lna
+  0x894e rf_rx_lna_ctrim
+
+  0x8950 rf_bpf_ctrim
+  0x8951 rf_bpf_ib
+  0x8952 rf_adc_rccal
+  0x8952 rf_rccal_ctrl
+  0x8953 rf_rccal_sel
+  0x8955 rf_tx_pa_ib
+  0x8956 rf_tx_pa_gc
+  0x895f rf_pll_rstn
+  0x8964 rf_sdm_en
+  0x8960 rf_pll_intg
+  0x8961 rf_pll_frac
+  0x8963 rf_pll_frachi
+  0x896c rf_afc_cap
+  0x8967 rf_clkpll_bias
+  0x896f rf_clkpll_en
+  0x8968 rf_clkpll_int
+  0x8969 rf_clkpll_frac
+  0x896d rf_balun_ctrim
+  0x8971 rf_adc_mode
+  0x8972 rf_adc_gc
+  0x8973 rf_adc_ch
+  0x8980 rf_rccal_result
+  0x8981 rf_afc_d2a
+  0x8982 rf_rssi
+
+
+0x8a00 core_usb_config		
+0x8a01 core_usb_int_mask	
+0x8a04 core_usb_addr
+0x8a10 core_usb_trig	
+0x8a11 core_usb_stall		
+0x8a12 core_usb_clear		
+0x8a18 core_usb_ep
+0x8a18 core_usb_dfifo0 
+0x8a19 core_usb_dfifo1  
+0x8a1a core_usb_dfifo2 
+0x8a20 core_usb_ep_len
+0x8a26 core_usb_status		
+0x8a27 core_usb_fifo_empty
+0x8a28 core_usb_fifo_full
+
+
+4 rx_freq_offset
+1 tx_freq_offset
+
+/* bit difinitions */
+  4 whiteoff_bit
+  6 clksel_rc
+  5 clksel_dpll
+  4 clksel_xtal
+  5 adc_rccal
+  0 bpf_rccal
+  1 demod_clkoff
+
+(
+  2 reload_code
+  3 gpio_latch
+  4 enable_retmem
+  7 cold_wake
+  0xef isogate_mask
+  0xe0 cs_mask
+)
+
+// misc ctrl
+(
+  0x01 otpd_start
+  0x02 spid_start
+  0x04 iicd_start
+  0x08 lock_otp
+  0x10 x_sethi
+  0x20 y_sethi
+  0x40 z_sethi
+  0x80 ccnt_start
+)
+// dma status bit
+(
+  0 otpd_crcok
+  1 otpd_done
+  2 spid_crcok
+  3 spid_done
+  4 iicd_crcok
+  5 iicd_done
+  6 iicd_ack
+)
+
+0x8b uart_ctrl_default //BCSP
+0x81 uart_ctrl_h4 //H4
+0x81 uart_ctrl_normal
+0x91 uart_ctrl_5line
+0x81 uart_ctrl_57600
+2 uart_baud_len
+0x00 uartclk_crystal
+0x01 uartclk_dpll
+0x1a0 uart_baud_115200
+0xbb uart_baud_256000
+0x340 uart_baud_57600
+0x34 uart_baud_921600
+0x9c4 uart_baud_9600
+0x2dc6c00 uart_clk
+0x16E3600 uart_clk_24
+
+//core_clkoff
+(
+	0 CLOCK_OFF_AUTH_ROM
+	1 CLOCK_OFF_UC_ROM
+	2 CLOCK_OFF_DEBUG_UART
+	3 CLOCK_OFF_SCHED_RAM
+	4 CLOCK_OFF_TRANCE_FIFO
+	5 CLOCK_OFF_CORDIC
+	6 CLOCK_OFF_OTPD
+	7 CLOCK_OFF_I2C
+	8 CLICK_OFF_8051
+	9 CLOCK_OFF_KEYSCAN
+	0x0a CLOCK_OFF_USB
+	0x0b CLOCK_OFF_QDECODER
+	0x0c CLOCK_OFF_SPI
+	0x0d CLOCK_OFF_PWM
+	0x0e CLOCK_OFF_CODEC
+	0x0f CLOCK_OFF_UART
+)
+
+
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_rfcomm_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $ */
+/* Orisil Technology                                                      */
+/*****************************************************************************/
+
+/**********/
+/* memory */
+/**********/
+
+0x04ed memRemoteRPNBitRate
+0x04ee memRemotePRNDataBits
+0x04ef memRemotePRNStopBit
+0x04f0 memRemotePRNParity
+0x04f1 memRemotePRNFlowControl
+0x04f2 memRemotePRNXon
+0x04f3 memRemotePRNXoff
+0x04f4 mem_mod2div_temp
+0x04f7 mem_contw_temp
+0x04f9 mem_attrib_list
+0x04fb mem_current_adss
+0x04fc mem_current_channel
+0x04fd mem_current_frame_type
+0x04fe mem_current_fcs
+0x04ff mem_current_length
+0x0501 mem_rfcomm_uih_payload_ptr
+0x0503 mem_uih_cmd_type
+0x0504 mem_uih_length
+0x0506 mem_param_payload_ptr
+0x0508 mem_ms_param
+0x0509 mem_pn_credit_flow_type_info
+0x050a mem_pn_priority
+0x050b mem_pn_acknowledg_timer
+0x050c mem_pn_max_retrans
+0x050d mem_rfcomm_send_adss
+0x050e mem_rfcomm_send_frame_type
+0x050f mem_rfcomm_send_fcs
+0x0510 mem_rfcomm_send_offset
+
+
+
+(
+0 CREDIT_DISABLE
+1 CREDIT_ENABLE
+)
+
+
+/************************************************************************/
+  
+
+ 
+/************/
+/* constant */
+/************/
+
+/* RFCOMM state for Headset (memRFCOMM_State) */ 
+  (
+    0 RFCOMM_IDLE           /* before the responsor HS receive SABM            */
+    1 RFCOMM_W4_DLCI0_OPEN
+    2 RFCOMM_W4_DLCI0_CLOSE
+    3 RFCOMM_START_DLCI0    /* After respond SABM frame (DLCI=0)               */
+    4 RFCOMM_W4_DLCI_OPEN
+    5 RFCOMM_W4_DLCI_CLOSE
+    6 RFCOMM_DLCI_OPENED    
+   
+  )
+  
+/* RFCOMM timer constants   */
+  (
+    1000  RFCOMM_T1         /* Used by SABM and DISC frames,100*20ms = 20s     */     
+    1000  RFCOMM_T2         /* Used by commands send in UIH on DLCI0,          */
+    300   RFCOMM_T3_RINGON  /* 6s for ring fade time                           */
+  
+  )
+
+/* Command Type */
+  (
+    0x3F RSP_RX_SABM        /*responsor expect SABM from initiator             */
+    0x3F INI_TX_SABM
+	
+    0x73 RSP_TX_UA          /*responsor send out UA command                    */
+    0x73 UA_WFBIT_SET	    /* UA control field with F bit set                 */
+	
+    0xEF RSP_RX_UIH         /*responsor expect UIH from initiator              */
+
+    0xEF RSP_TX_UIH         /*responsor send UIH to initiator                  */
+     
+    0x1F RSP_TX_DM          /*responsor send DM to initiator                   */
+    0x1F DM_WFBIT_SET       /* DM control field with F bit set                 */
+    0x0F DM_WFBIT_CLEAR     /* DM control field with F bit clear               */
+
+    0x53 RSP_RX_DISC        /*responsor expect DISC from initiator             */
+    0x53 INI_TX_DISC	    /*initiator send DISC control type command         */
+     
+    0xFF RSP_RX_UIH_WDATA   /*UIH data with credit flow control info           */
+    
+    
+  )
+
+/* Multiplexor commands and responses frames */
+  (
+    0x83 PN_COMMAND           /* Bit 0 EA C/R Type = 000001         */
+    0x81 PN_RESPONSOR         /* Bit 0 EA C/R Type = 000001         */
+    
+    0xE3 MSC_COMMAND          /* Bit 0 EA C/R Type = 000111         */
+    0xE1 MSC_RESPONSOR
+ 
+    0x13 NSC_COMMAND          /* Bit 0 EA C/R Type = 001000         */
+    0x11 NSC_RESPONSOR        /* Bit 0 EA C/R Type = 001000         */
+
+    0x23 TEST_COMMAND         /* Bit 0 EA C/R Type = 000111         */
+    0x21 TEST_RESPONSOR 
+    
+    0x93 RPN_COMMAND          /* Bit 0 EA C/R Type = 001001         */
+    0x91 RPN_RESPONSOR 
+    
+    0x53 RLS_COMMAND          /* Bit 0 EA C/R Type = 001010         */
+    0x51 RLS_RESPONSOR 
+
+    0xA3 FCON_COMMAND         /* Bit 0 EA C/R Type = 000101         */
+    0xA1 FCON_RESPONSOR 
+    
+    0x63 FCOFF_COMMAND        /* Bit 0 EA C/R Type = 000110         */
+    0x61 FCOFF_RESPONSOR 
+    	
+    0x03 RLS_OVERRUN
+    0x05 RLS_PARITY_ERROR
+    0x09 RLS_FRAMING_ERROR
+  )
+
+/* memLocalCredit */
+  (
+    0x01 RFCOMM_CREDIT
+  )
+
+  (
+  	0x007f RFCOMM_MAX_FRAME_SIZE
+  )
+
+/* UIH received Data length */
+  (
+    0  LENGTH_ZERO
+    
+    6  LENGTH_OK
+    7  LENGTH_HOT
+    8  LENGTH_RING
+    9  LENGTH_ERROR
+    9  LENGTH_AGVOL_ONEBYTE
+    10 LENGTH_AGVOL_TWOBYTE
+    10 LENGTH_VOL_ONEBYTE
+    11 LENGTH_VOL_TWOBYTE
+    12 LENGTH_BRSF
+    13 LENGTH_PLUS_CIEV
+    15 LENGTH_INBANDRING
+    14 LENGTH_CIEV_CALL
+    17 LENGTH_CRING
+    20 LENGTH_BRSF_OK
+    24 LENGTH_CIND0
+    28 LENGTH_CIEV_TWO
+    32 LENGTH_CIND_OK
+    59 LENGTH_CIND_OK2
+    100 LENGTH_DISCARD
+  )
+  
+/************/
+/* flags    */
+/************/
+  
+/* memRFCOMM_L2CAP_Interface */
+  (
+    0 RFCOMM_TX_W4BUF_FLAG    /* Wait for Tx buffer empty flag */
+    1 RFCOMM_CLOSE_LINK_FLAG
+  )
+  
+
+    
+/* memRemoteMSC		*/
+  (
+    0 MSC_EA_BIT
+    1 MSC_FC_BIT
+    2 MSC_RTC_BIT
+    3 MSC_RTR_BIT
+    6 MSC_IC_BIT
+    7 MSC_DV_BIT
+  )
+
+/* memRemoteRLS         */
+  (
+    0x0C OVERRUN_ERROR
+    0x0A PARITY_ERROR
+    0x09 FRAMING_RERROR
+  )
+  
+/* memRemoteRPNBitRate  */
+  (
+    0x00 BITS2400
+    0x01 BITS4800
+    0x02 BITS7200
+    0x03 BITS9600
+    0x04 BITS19200
+    0x05 BITS38400
+    0x06 BITS57600
+    0x07 BITS115200
+    0x08 BITS230400
+  )
+  
+/* memRemotePRNDataBits	*/
+  (
+    0x00 DATABITS5
+    0x01 DATABITS6
+    0x02 DATABITS7
+    0x03 DATABITS8
+  )
+  
+/* memRemotePRNStopBit	*/
+  (
+    0    ONESTOP
+    1    ONEHALFSTOP
+  )
+  
+/* memRemotePRNParity   */
+  (
+    0    ODDPARITY
+    1    EVENPARITY
+    2    MARKPARITY
+    3    SPACEPARITY
+    
+    7    PARITY_ENABLE_BIT
+  )
+
+/* RPN bit mask(in)     */
+  (
+     0   BIT_RATE_MASK_BIT
+     1   DATA_BITS_MASK_BIT
+     2   STOP_BITS_MASK_BIT
+     3   PARITY_MASK_BIT
+     4   PARITY_TYPE_MASK_BIT
+     5   XON_CHAR_MASK_BIT
+     6   XOFF_CHAR_MASK_BIT
+  )
+  
+/* RPN bit mask(in) 2    */
+  (
+     0   XON_XOFF_INPUT_MASK_BIT
+     1   XON_XOFF_OUTPUT_MASK_BIT
+     2	 RTR_INPUT_MASK_BIT
+     3   RTR_OUTPUT_MASK_BIT
+     4   RTC_INPUT_MASK_BIT
+     5   RTC_OUTPUT_MASK_BIT
+
+  )
+
+/* memRFCOMM_Request	*/
+  (
+    0 SEND_MSC_CMD_REQ_FLAG
+    1 SEND_AT_CKPD_REQ_FLAG
+    2 SEND_RING_REQ_FLAG
+    3 SEND_SABM_CMD
+  )
+  
+/* memRFCOMM_Misc_Flag  */
+  (
+    0 MSC_CDM_ALREADY_SEND_FLAG
+    1 CREDIT_FLOW_USED_FLAG
+    2 DONT_EMBEDDED_CREDIT_FLAG 
+    3 MSC_EXCHANGE_DONE_FLAG
+    4 FLOW_CONTROL_FCOFF_BIT            /* set when receive FCoff, clear when FCon   */
+  )
+  
+/* memRemoteMSC		*/
+  (
+    1 FLOW_CONTROL_FC_BIT		/* received MSC FC bits                      */
+  
+  )
+/* Address filed        */
+  (
+    0 ADDR_EA_BIT
+    1 ADDR_CR_BIT
+    2 ADDR_D_BIT
+  )
+//should be same as descripted in SDP
+(
+    1 SPP_SLAVE_CHANNEL
+    7 OBEX_SERVER_CHANNEL
+    8 HF_SERVER_CHANNEL 
+    9 HS_SERVER_CHANNEL
+)
+/* memRFCOMM_Flag */
+(
+	0 USING_HF_PROFILE
+	1 USING_HS_PROFILE
+	2 USING_SPP_PROFILE
+)
+/*RFCOMM Frame Type*/
+(
+	0x3f RFCOMM_FRAME_TYPE_SABM
+	0x73 RFCOMM_FRAME_TYPE_UA
+	0xEF RFCOMM_FRAME_TYPE_UIH
+	0xFF RFCOMM_FRAME_TYPE_UIH_CREDITS
+	0x53 RFCOMM_FRAME_TYPE_DISCONN
+)
+/*RFCOMM UIH CMD TYPE*/
+(
+	0x41 UIH_PARAM_NEG_CMD
+	0x40 UIH_PARAM_NEG_RES
+	0x49 UIH_PARAM_CMD_REMOVE_PORT
+	0x71 UIH_MODEM_STATUS_CMD
+	0x70 UIH_MODEM_STATUS_RES
+)
+
+/*bits in rfcomm address*/
+(
+	0 RFCOMM_ADDRESS_EXT_LEN
+	1 RFCOMM_ADDRESS_CR
+	2 RFCOMM_ADDRESS_DERECTION
+
+
+)
+
+	(                                   
+	0 RFCOMM_CHANNEL_STATE_PN_CMD
+	1 RFCOMM_CHANNEL_STATE_PN_RES
+	2 RFCOMM_CHANNEL_STATE_SABM
+	3 RFCOMM_CHANNEL_STATE_UA
+	4 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	5 RFCOMM_CHANNEL_STATE_RCV_MS_CMD
+	6 RFCOMM_CHANNEL_STATE_SND_MS_RES
+	7 RFCOMM_CHANNEL_STATE_RCV_MS_RES
+	0xff RFCOMM_CHANNEL_SETUP_COMPLETE
+	) 
+
+	/*mem_rfcomm_send_more_pkt*/
+	(
+	1 MORE_PKT_MSC_CMD_HF
+	2 MORE_PKT_MSC_CMD_HS
+	3 MORE_PKT_MSC_CMD_SPP
+	4 MORE_PKT_MSC_CMD_OBEX
+	)
+
+	(
+	127 RFCOMM_MALLOC_SIZE
+	)
+0x0511 mem_sdp_mem_start
+0x0511 mem_sdp_uuid_search_ptr
+0x0519 mem_sdp_continue_byte
+0x051b mem_sdp_pduid
+0x051c mem_sdp_transactionid
+0x051e mem_sdp_transactionid_local
+0x0520 mem_sdp_attribute_maxbyte
+0x0522 mem_sdp_record_maxcnt
+0x0524 mem_sdp_record_handle
+0x0528 mem_sdp_LACAP_found
+0x0529 mem_sdp_RFCOMM_found
+0x052a mem_sdp_handle_list
+0x052a mem_sdp_attrib_list
+0x054a mem_sdp_error_code
+0x054c mem_sdp_all_length
+0x054e mem_handle_humber
+0x054f mem_search_uuid
+0x0551 mem_sdp_mem_end
+(
+0 AGORHS_SERVICE
+1 GENAUDIO_SERVICE
+2 HANDSFREE_SERVICE
+)
+(
+0 ATTRIBUTEID_0000
+1 ATTRIBUTEID_0001
+2 ATTRIBUTEID_0004
+3 ATTRIBUTEID_0009
+4 ATTRIBUTEID_0100
+5 ATTRIBUTEID_0302
+6 ATTRIBUTEID_0006
+7 ATTRIBUTEID_0311
+)
+
+(
+0x01 SDP_ERROR_RES
+0x02 SDP_SEARCH_REQ
+0x03 SDP_SEARCH_RES
+0x04 SDP_ATTRIBUTE_REQ
+0x05 SDP_ATTRIBUTE_RES
+0x06 SDP_SEARCHATTRIB_REQ
+0x07 SDP_SEARCHATTRIB_RES
+)
+0x2600 sdp_max_amount
+250 SDP_MALLOC_SIZE
+0x6e sdp_tid_spp //any number
+
+(
+0x1f11 SDP_UUID_HS_AUDIO_GATEWAY
+)
+
+(
+0X09 SDP_ATTRIBUTE_ID
+0x0a SDP_ATTRIBUTE_RANGE
+)
+
+(//mem_sdp_handle_list
+7 SDP_MAX_HANDLE_NUMBER
+)
+
+ 
+
+0x0551 mem_rxbuf
+0x0562 mem_random_number
+0x0572 mem_round_key
+0x0582 mem_kinit
+0x0592 mem_input_store
+0x05a2 mem_x
+0x05b2 mem_y
+0x05c1 mem_y15
+0x05c2 mem_key_store
+0x05d3 mem_key_store_end
+0x05d4 memp_ar_key
+0x05d6 memp_ar_input
+0x05d8 mem_ar_hround
+0x05e2 mem_ec_infinite
+0x05e3 mem_ec_loopc
+0x05e5 mem_aes_cmac_data_length
+0x05e6 memdat
+0x05e6 mem_ax
+0x05fe mem_ay
+0x0616 mem_az
+0x062e mem_bx
+0x0646 mem_ax_256//32 bytes
+0x0646 mem_by
+0x065e mem_bz
+0x0666 mem_ay_256// 32 bytes
+0x0676 mem_cx
+0x0686 mem_az_256// 32 bytes
+0x068e mem_cy
+0x06a5 mem_cy5
+0x06a6 mem_bx_256// 32 bytes
+0x06a6 mem_cz
+0x06be mem_k
+0x06c6 mem_by_256// 31 bytes
+0x06d6 mem_align
+0x06e6 mem_bz_256//32 bytes
+0x06e6 mem_tmp1
+0x06e6 memahbak
+0x06fe mem_tmp5
+0x0706 mem_cx_256//32 bytes
+0x0706 memahsave
+0x0716 mem_tmp2
+0x0726 mem_cy_256// 32 bytes
+0x0726 memahsave_end
+0x0726 mem_addr_padding
+0x0727 mem_addr_value/* 12 bytes     */ 
+0x072e mem_tmp3
+0x072e mem_t1
+0x0733 mem_addr_value_end
+0x0736 mem_addr_iocap_end
+0x0745 mem_cy5_256// 1 byte
+0x0746 mem_cz_256// 32 bytes
+0x0746 mem_tmp0
+0x0746 mem_t0
+0x074e mem_tmp0a
+0x075e mem_t2
+0x0766 mem_k_256//32 bytes
+0x0776 mem_t3
+0x0786 mem_tmp1_256//32 bytes
+0x078e mem_t7
+0x07a6 mem_tmp5_256
+0x07c6 mem_tmp2_256
+0x07e6 mem_tmp3_256
+0x07e6 mem_t1_256
+0x0806 mem_tmp0_256
+0x0806 mem_t0_256
+0x0826 mem_t2_256
+0x0846 mem_t3_256
+0x0866 mem_t7_256
+0x0886 mem_p
+0x089e mem_a
+0x08b6 mem_b
+0x08ce mem_gx
+0x08e6 mem_gy
+0x08fe memh0
+0x091e mem_p_256
+0x093e mem_a_256
+0x095e mem_gx_256
+0x097e mem_gy_256
+0x099e mem_le_slat
+
+
+/* simple pairing page */
+
+0x09ae mem_sp_state_start
+0x09ae mem_sp_state
+0x09af mem_master_sp_state
+0x09b0 mem_sp_flag
+0x09b1 mem_master_sp_flag
+0x09b2 mem_sp_calc
+0x09b3 mem_sp_dh_ready
+0x09b4 mem_sp_localsm
+0x09b5 mem_pairing_auth
+0x09b6 mem_sp_flag_start
+0x09b6 mem_sp_local_key_send_count
+0x09b7 mem_sp_remote_key_recv_count
+0x09b8 mem_sp_remote_key_invalid
+0x09b9 mem_sp_dhkey_invalid
+0x09ba mem_gkey
+0x09be mem_le_pubkey_remote_x_256
+0x09c6 mem_sp_pubkey_remote
+0x09c6 mem_sp_pubkey_remote_x
+0x09de mem_sp_pubkey_remote_x_end
+0x09de mem_le_pubkey_remote_y_256
+0x09e6 mem_sp_pubkey_remote_y
+0x09fe mem_le_dhkey_256
+0x0a06 mem_sp_dhkey
+0x0a1e mem_sp_dhkey_end
+0x0a1e mem_sp_random_local
+0x0a2e mem_sp_random_local_end
+0x0a2e mem_sp_random_remote
+0x0a3e mem_sp_random_remote_end
+0x0a3e memresult
+0x0a3e mem_sp_calc_result
+0x0a3e memh
+0x0a42 memg
+0x0a46 memf
+0x0a4a meme
+0x0a4e mem_sp_calc_result_high
+0x0a4e memd
+0x0a52 memc
+0x0a56 memb
+0x0a5a mema
+0x0a5e mem_sp_check_result
+0x0a6e mem_sp_confirm_remote
+0x0a7e mem_sp_prarm_stack
+
+/* simple pairing status flag */
+(
+  0x00   SP_FLAG_STANDBY
+  0x01   SP_FLAG_COMMIT
+  0x02   LE_SP_FLAG_COMMIT_256
+
+)
+
+/* simple pairing calc flag */
+(
+  0x00   SP_CALC_STANDBY
+  0x01   SP_CALC_PUBKEY
+  0x02   SP_CALC_DHKEY
+  0x03   SP_CALC_PUBKEY_256
+  0x04   SP_CALC_DHKEY_256
+)
+
+/* simple pairing state */
+(
+  0x00   SP_STAT_NULL
+  0x01   SP_STAT_KEY_RECV
+  0x02   SP_STAT_KEY_GENERATE
+  0x03   SP_STAT_KEY_SEND
+  0x04   SP_STAT_COMMIT_CALC
+  0x05   SP_STAT_COMMIT_SEND
+  0x06   SP_STAT_RANDOM_RECV
+  0x07   SP_STAT_RANDOM_SEND
+  0x08   SP_STAT_CONFIRM_RECV
+  0x09   SP_STAT_CONFIRM_CHECK
+  0x0A   SP_STAT_CONFIRM_CALC
+  0x0B   SP_STAT_CONFIRM_SEND
+  0x0C   SP_STAT_LINK_KEY_CALC
+  0x0F   SP_STAT_DONE
+  0x10   SP_STAT_FEATURE_EXT_SEND
+  0x11   SP_STAT_GKEY_CALC
+  /*simple pairing master only*/
+  0x12   SP_MASTER_STAT_START_SKIP
+  0x13   SP_MASTER_STAT_START_DONE
+  0x14   SP_STAT_COMMITMENT_COMPARE
+  0x15   SP_STATE_END
+)
+
+
+/* simple paring invalid flag */
+(
+  0x00   SP_KEY_INVALID
+  0x01   SP_KEY_VALID
+  0x03   SP_KEY_VALID_256
+
+)
+
+/* encapsulated defination for P-192 key */
+(
+  0x01  ENCAPSULATED_MAJOR_TYPE_P192
+  0x01  ENCAPSULATED_MINOR_TYPE_P192
+  0x30  ENCAPSULATED_LEN_P192
+)
+
+/* bluetooth 2.1 support flag */
+(
+  0x00  SIMPLE_PAIRING_ENABLE
+  0x01  ENCRYPTION_PAUSE_ENABLE
+  0x02  EXTENDED_INQUIRY_RESPOSE_ENABLE
+  0x03  SNIFF_SUBRATING_ENABLE
+)
+
+/*mem_sp_localsm*/
+(
+  0x00 DEFAULT_STATEMACHINE
+  0x01 LOCAL_STATEMACHINE
+)
+
+(
+ 0x00 DEFALT_PAIRING_AUTH
+ 0x01 PAIRING_AUTH
+)
+
+(
+1 SSP_MODE_SSP_PIN_FLAG
+2 SSP_MODE_PASSKEY_ENTRY_FLAG
+3 SSP_MODE_JUST_WORK_FLAG
+)
+
+(//ssp mode
+0x040003 SSP_MODE_JUST_WORK_IO_CAP_DATA
+0X040001 SSP_MODE_SSP_PIN_IO_CAP_DATA
+0X040002 SSP_MODE_PASSKEY_IO_CAP_DATA
+)
+
+(
+0x00 DISPLAY_ONLY
+0x01 DISPLAY_YESNO
+0x02 KEYBOARD_ONLY
+0x03 NO_INPUT_NO_OUTPUT
+)
+
+(
+7 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT
+6 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT
+0 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT
+)
+(
+1 FLAG_PAIRING_STATE_PAIRING
+0 FLAG_PAIRING_STATE_NOT_PAIRING
+)
+
+  
+/*****************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                                */
+/* $Author: Administrator $                                                           */
+/* $Id: bt_ui_format.upper,v 1.1 2009-09-28 04:06:17 Administrator Exp $     */
+/************************************************************************/
+
+
+	/* ========= memory ============== */
+0x0a8e mem_UI_data_txbuff_length
+0x0a90 mem_ipc_skip_continue_proc
+0x0a91 mem_ui_timer_temp//length 4
+0x0a91 mem_ipc_rega_temp
+
+/************/
+/* constant */
+/************/
+
+//mem_ui_state_map
+(
+0 UI_STATE_BT_CONNECTED
+1 UI_STATE_BT_SETUP_COMPLETE
+2 UI_STATE_BT_HID_CONN
+3 UI_STATE_BT_HID_HANDSHAKE
+4 UI_STATE_BT_SPP_CONN
+5 UI_STATE_BT_SNIFF
+6 UI_STATE_BT_DISCOVERY
+7 UI_STATE_BT_RECONNECT
+8 UI_STATE_BT_SLAVE_ROLE
+9 UI_STATE_BLE_CONNECTED
+10 UI_STATE_BLE_WRITE_RCV
+11 UI_STATE_BLE_ADV
+12 UI_STATE_BTN_DOWN
+)
+
+(
+1 UI_STATE_SPP_NL_AUTO_DISCOVER
+
+)
+
+/* UI state for Headset (memui_HS_State) */ 
+   (
+    0 UI_HEADSET_DISCONNECT
+    1 UI_HEADSET_IDLE                   /* before the responsor HS receive SABM      */
+    2 UI_HEADSET_W4CONNECT
+    3 UI_HEADSET_RINGING
+    4 UI_HEADSET_CONNECTED
+    5 UI_HEADSET_PARING
+  )
+/* memui_BB_State */
+(
+  0 UI_BB_OFF
+  1 UI_BB_IDLE
+  2 UI_BB_DISCOVERY
+  3 UI_BB_CONNECTED_ACTIVE_NO_SCO
+  4 UI_BB_CONNECTED_ACTIVE_WITH_SCO
+  5 UI_BB_CONNECTED_ACTIVE_WAIT_SNIFF
+  6 UI_BB_CONNECTED_SNIFF
+  7 UI_BB_RECONNECT
+  8 UI_BB_CONNECTED_SNIFF_WITH_SCO
+)
+
+/************/
+/* flags    */
+/************/
+  
+/* memui_Misc_Flags */
+  (
+    5 NO_IDLE_TURN_OFF
+    7 ANSWER_RING_FLAG               /* 1 Answer,0 no*/
+  )
+
+/* mem_UI_SCH_Interface */
+  (
+    0  UI_HS_PAIRING 
+    2  UI_REQ_CLOSE_RFCOMM
+    3  UI_LINK_LOST
+    4  UI_REQ_OPEN_SCO
+    6  UI_REQ_CLOSE_SCO
+  )
+  
+/* memui_PassOverKey */
+  (
+    0  ANSWER_RING_BIT
+    0  AG_SEND_RING_BIT
+    1  VOL_UP_BIT
+    2  VOL_DOWN_BIT
+    3  INI_CALL_BIT
+    4  DAIL_LAST_CALL
+    5  END_CALL_BIT
+    6  NOKIA_VOICE_ACTIVE 
+    7  REJECT_CALL_BIT
+  )
+  
+/* memui_reconnect_mode */
+(
+  0 NO_RECONNECTION
+  1 RECONNECT_HID
+  2 RECONNECT_HF
+  3 RECONNECT_HS
+  4 RECONNECT_HID_HF
+  5 RECONNECT_HID_HS
+)
+/* memui_Commands */
+(
+0 BT_CMD_STANDBY
+1 BT_CMD_START_DISCOVERY
+2 BT_CMD_STOP_DISCOVERY
+3 BT_CMD_RECONNECT
+4 BT_CMD_DISCONNECT
+5 BT_CMD_ENTER_SNIFF
+6 BT_CMD_EXIT_SNIFF
+7 BT_CMD_ENTER_SNIFF_SUBRATING
+8 BT_CMD_EXIT_SNIFF_SUBRATING
+9 BT_CMD_SNIFF_TEST
+10 BT_CMD_SET_PIN_CODE
+11 BT_CMD_START_INQUIRY
+12 BT_CMD_STOP_INQUIRY
+13 BT_CMD_START_ADV
+14 BT_CMD_STOP_ADV
+15 BT_CMD_START_DIRECT_ADV
+16 BT_CMD_STOP_DIRECT_ADV
+17 BT_CMD_LE_DISCONNECT
+18 BT_CMD_LE_UPDATE_CONN
+19 BT_CMD_LED_OFF
+20 BT_CMD_LED_ON
+21 BT_CMD_LED_BLINK
+22 BT_CMD_LE_START_CONN
+23 BT_CMD_LE_START_SCAN
+24 BT_CMD_LE_STOP_SCAN
+25 BT_CMD_ENTER_HIBERNATE
+27 BT_CMD_LE_SMP_SECURITY_REQUEST
+29 BT_CMD_ROLE_SWITCH
+30 BT_CMD_BB_RECONN_CANCEL
+31 BT_CMD_STORE_RECONN_INFO_LE
+32 BT_CMD_STORE_RECONN_INFO_BT
+33 BT_CMD_DHKEY_NOT_ACCEPT
+34 BT_CMD_START_24G
+35 BT_CMD_STOP_24G
+36 BT_CMD_PAIR_24G
+37 BT_CMD_STORE_RECONN_INFO
+)
+
+(
+0x00 BT_EVT_NULL
+0x01 BT_EVT_BB_CONNECTED
+0x02 BT_EVT_BB_DISCONNECTED
+0x03 BT_EVT_RECONN_STARTED
+0x04 BT_EVT_RECONN_FAILED
+0x05 BT_EVT_SETUP_COMPLETE
+0x06 BT_EVT_HID_CONNECTED
+0x07 BT_EVT_HID_DISCONNECTED
+0x08 BT_EVT_SPP_CONNECTED
+0x09 BT_EVT_SPP_DISCONNECTED
+0x0A BT_EVT_PINCODE_REQ
+0x0B BT_EVT_ENTER_SNIFF
+0x0C BT_EVT_EXIT_SNIFF
+0x0D BT_EVT_ENTER_SNIFF_SUB
+0x0E BT_EVT_EXIT_SNIFF_SUB
+0x0F BT_EVT_DISCOVERY_STOPED
+0x10 BT_EVT_BUTTON_LONG_PRESSED
+0x12 BT_EVT_HID_HANDSHAKE
+0X13 BT_EVT_RECONN_PAGE_TIMEOUT
+0x14 BT_EVT_LE_CONNECTED
+0X15 BT_EVT_LE_DISCONNECTED
+0x16 BT_EVT_ML2CAP_CONN_REFUSED
+0x17 BT_EVT_BUTTON_ENTER_HIBERNATE
+0x18 BT_EVT_LINKKEY_GENERATE
+0x19 BT_EVT_SWITCH_NOT_ACCEPT
+0x20 BT_EVT_SWITCH_ACCEPT
+0x21 BT_EVT_SNIFF_NOT_ACCEPT
+0x22 BT_EVT_SNIFF_ACCEPT
+0x23 BT_EVT_UNSNIFF_ACCEPT
+0x24 BT_EVT_UNSNIFF_NOT_ACCEPT
+0x25 BT_EVT_BUTTON_ADJUST_DPI
+0x26 BT_EVT_SEND_UNSNIFF_ACCEPT
+0x27 BT_EVT_VIRTUAL_CABLE_UNPLUG
+0x28 BT_EVT_LE_WRITE_REQUEST
+0x29 BT_EVT_LE_ENC_INFO
+0x2a BT_EVT_SWITCH_FAIL_MASTER
+0x2b BT_EVT_SWITCH_SUCCESS_MASTER
+0x2c BT_EVT_BUTTON_DOWN
+0x2d BT_EVT_BUTTON_UP
+0x2e BT_EVT_REMOTE_UNSNIFF
+0x30 BT_EVT_LE_PAIRING_FAIL
+0x31 BT_EVT_LE_PAIRING_SUCCESS
+0x32 BT_EVT_LE_START_ENC
+0X33 BT_EVT_LE_PAUSE_ENC
+0X34 BT_EVT_LE_TK_GENERATE
+0x35 BT_EVT_BT_GKEY_GENERATE
+0x36 BT_EVT_BT_GET_PASSKEY
+0x37 BT_EVT_BT_PAIRING_FAIL
+0x38 BT_EVT_BT_PAIRING_SUCCESS
+0x39 BT_EVT_24G_PAIRING_COMPLETE
+0x3a BT_EVT_24G_ATTEMPT_FAIL
+0x3b BT_EVT_LE_GKEY_GENERATE
+0x3c BT_EVT_24G_ATTEMPT_SUCCESS
+0x3d BT_EVT_STORE_NVRAM
+0x3e BT_EVT_LE_PAIRING_COMPLETE
+0x3F BT_EVT_LE_RECONNECT_COMPLETE
+0x40 BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP
+0x41 BT_EVT_LE_LTK_LOST
+)
+//switch
+(
+0 OFF
+1 ON
+)
+/* memui_mem_lock */
+(
+    0 MEM_UNLOCK
+    1 MEM_LOCK
+)
+/* memui_flag0 */
+(
+    0 UI_USER_DATA_FLAG
+    1 UI_WII_WAITING_SLEEP
+    2 UI_KEYBOARD_SNIFF_SKIP
+)
+/* mem_master_type */
+(
+    0 MTYPE_HID_DEFAULT
+    1 MTYPE_HID_SSP
+    2 MTYPE_SPP
+)
+
+	(	
+	0x01 RECIEVE_SDP_CONN_RES
+	0x02 RECIEVE_SDP_CFG_REQ
+	0x03 RECIEVE_SDP_CFG_RES
+	0x04 RECIEVE_RFCOMM_CONN_RES
+	0x05 RECIEVE_RFCOMM_CFG_REQ
+	0x06 RECIEVE_RFCOMM_CFG_RES
+	0x07 RECIEVE_HID_CTRL_CONN_RES
+	0x08 RECIEVE_HID_CTRL_CFG_REQ
+	0x09 RECIEVE_HID_CTRL_CFG_RES
+	0x0A RECIEVE_HID_INT_CONN_RES
+	0x0B RECIEVE_HID_INT_CFG_REQ
+	0x0C RECIEVE_HID_INT_CFG_RES
+	0x0D RECIEVE_AVCTP_CONN_RES
+	0x0E RECIEVE_AVCTP_CFG_REQ
+	0x0F RECIEVE_AVCTP_CFG_RES
+	0x10 RECIEVE_AVDTP_SIGNAL_CONN_RES
+	0x11 RECIEVE_AVDTP_SIGNAL_CFG_REQ
+	0x12 RECIEVE_AVDTP_SIGNAL_CFG_RES
+	0x13 RECIEVE_AVDTP_MEDIA_CONN_RES
+	0x14 RECIEVE_AVDTP_MEDIA_CFG_REQ
+	0x15 RECIEVE_AVDTP_MEDIA_CFG_RES
+	0x16 RECIEVE_SS_REASULT_HS                  
+	0x17 RECIEVE_SS_REASULT_HF                  
+	0x18 RECIEVE_SS_REASULT_AVTARG		          
+	0x19 RECIEVE_SS_REASULT_OBEX		            
+	0x1A RECIEVE_DLCI0_UA
+	0x1B RECIEVE_HS_PARAM_NEG_RES
+	0x1C RECIEVE_HS_UA
+	0x1D RECIEVE_HS_MODEM_STATUS_RES
+	0x1E RECIEVE_HS_MODEm_STATUS_CMD
+	0x1F RECIEVE_HF_PARAM_NEG_RES   
+	0x20 RECIEVE_HF_UA              
+	0x21 RECIEVE_HF_MODEM_STATUS_RES
+	0x22 RECIEVE_HF_MODEm_STATUS_CMD 
+	0x23 RECIEVE_OBEX_PARAM_NEG_RES     
+	0x24 RECIEVE_OBEX_UA              
+	0x25 RECIEVE_OBEX_MODEM_STATUS_RES
+	0x26 RECIEVE_OBEX_MODEm_STATUS_CMD    
+	0x27 RECIEVE_SPP_PARAM_NEG_RES   
+	0x28 RECIEVE_SPP_UA              
+	0x29 RECIEVE_SPP_MODEM_STATUS_RES
+	0x2A RECIEVE_SPP_MODEm_STATUS_CMD
+	0x2b RECIEVE_SDP_DISCONN_RES
+	)
+
+
+
+	(
+	0 UPPERSM_RP_IDLE
+	1 UPPERSM_RP_SDP_CONN
+	2 UPPERSM_RP_SDP_CONN_WAIT
+	3 UPPERSM_RP_SDP_CFG
+	4 UPPERSM_RP_SDP_CFG_WAIT
+	5 UPPERSM_RP_SS_AVTARG
+	6 UPPERSM_RP_SS_AVTARG_WAIT
+	7 UPPERSM_RP_SS_OBEX
+	8 UPPERSM_RP_SS_OBEX_WAIT
+	9 UPPERSM_RP_SDP_DISCONN
+	10 UPPERSM_RP_SDP_DISCONN_WAIT
+	11 UPPERSM_RP_AVDTP_CONN_WAIT
+	12 UPPERSM_RP_AVCTP_CONN
+	13 UPPERSM_RP_AVCTP_CONN_WAIT
+	14 UPPERSM_RP_AVCTP_CFG
+	15 UPPERSM_RP_AVCTP_CFG_WAIT
+	16 UPPERSM_RP_OBEX_CMD_PN
+	17 UPPERSM_RP_OBEX_CMD_PN_WAIT
+	18 UPPERSM_RP_OBEX_SABM
+	19 UPPERSM_RP_OBEX_SABM_WAIT
+	20 UPPERSM_RP_OBEX_CMD_MS
+	21 UPPERSM_RP_OBEX_CMD_MS_WAIT
+	)
+	(		/*mem_upper_sm_reconn*/
+	0 UPPERSM_RECONN_IDLE		
+	1 UPPERSM_RECONN_SDP_CONN		
+	2 UPPERSM_RECONN_SDP_CONN_WAIT		
+	3 UPPERSM_RECONN_SDP_CFG		
+	4 UPPERSM_RECONN_SDP_CFG_WAIT		
+	5 UPPERSM_RECONN_SS_HS
+	6 UPPERSM_RECONN_SS_HS_WAIT
+	7 UPPERSM_RECONN_SS_HF
+	8 UPPERSM_RECONN_SS_HF_WAIT
+	9 UPPERSM_RECONN_SS_AVTARG		
+	10 UPPERSM_RECONN_SS_AVTARG_WAIT		    
+	11 UPPERSM_RECONN_SS_OBEX		            
+	12 UPPERSM_RECONN_SS_OBEX_WAIT		      
+	13 UPPERSM_RECONN_SDP_DISCONN		        
+	14 UPPERSM_RECONN_SDP_DISCONN_WAIT      
+	15 UPPERSM_RECONN_HID_CTRL_CONN		      
+	16 UPPERSM_RECONN_HID_CTRL_CONN_WAIT		
+	17 UPPERSM_RECONN_HID_CTRL_CFG		      
+	18 UPPERSM_RECONN_HID_CTRL_CFG_WAIT     
+	19 UPPERSM_RECONN_HID_INT_CONN		      
+	20 UPPERSM_RECONN_HID_INT_CONN_WAIT		  
+	21 UPPERSM_RECONN_HID_INT_CFG		        
+	22 UPPERSM_RECONN_HID_INT_CFG_WAIT      
+	23 UPPERSM_RECONN_RFCOMM_CONN		        
+	24 UPPERSM_RECONN_RFCOMM_CONN_WAIT		  
+	25 UPPERSM_RECONN_RFCOMM_CFG		        
+	26 UPPERSM_RECONN_RFCOMM_CFG_WAIT       
+	27 UPPERSM_RECONN_RFCOMM_SABM		        
+	28 UPPERSM_RECONN_RFCOMM_SABM_WAIT		  
+	29 UPPERSM_RECONN_SPP_CMD_PN		        
+	30 UPPERSM_RECONN_SPP_CMD_PN_WAIT		    
+	31 UPPERSM_RECONN_SPP_SABM		          
+	32 UPPERSM_RECONN_SPP_SABM_WAIT		      
+	33 UPPERSM_RECONN_SPP_CMD_MS		        
+	34 UPPERSM_RECONN_SPP_CMD_MS_WAIT       
+	35 UPPERSM_RECONN_HF_CMD_PN		          
+	36 UPPERSM_RECONN_HF_CMD_PN_WAIT		    
+	37 UPPERSM_RECONN_HF_SABM		            
+	38 UPPERSM_RECONN_HF_SABM_WAIT		      
+	39 UPPERSM_RECONN_HF_CMD_MS		          
+	40 UPPERSM_RECONN_HF_CMD_MS_WAIT        
+	41 UPPERSM_RECONN_AVDTPs_CONN		        
+	42 UPPERSM_RECONN_AVDTPs_CONN_WAIT		  
+	43 UPPERSM_RECONN_AVDTPs_CFG		        
+	44 UPPERSM_RECONN_AVDTPs_CFG_WAIT       
+	45 UPPERSM_RECONN_AVDTPm_CONN		        
+	46 UPPERSM_RECONN_AVDTPm_CONN_WAIT		  
+	47 UPPERSM_RECONN_AVDTPm_CFG		        
+	48 UPPERSM_RECONN_AVDTPm_CFG_WAIT       
+	49 UPPERSM_RECONN_AVCTP_CONN		        
+	50 UPPERSM_RECONN_AVCTP_CONN_WAIT		    
+	51 UPPERSM_RECONN_AVCTP_CFG		          
+	52 UPPERSM_RECONN_AVCTP_CFG_WAIT		    
+	53 UPPERSM_RECONN_OBEX_CMD_PN		        
+	54 UPPERSM_RECONN_OBEX_CMD_PN_WAIT		  
+	55 UPPERSM_RECONN_OBEX_SABM		          
+	56 UPPERSM_RECONN_OBEX_SABM_WAIT		    
+	57 UPPERSM_RECONN_OBEX_CMD_MS		        
+	58 UPPERSM_RECONN_OBEX_CMD_MS_WAIT     
+	59 UPPERSM_RECONN_SS_SPP
+	60 UPPERSM_RECONN_SS_SPP_WAIT
+	)
+	(/*mem_UI_profile_supported*/
+	0 support_HID
+	1 support_A2DP
+	2 support_AVRCP
+	3 support_HF
+	4 support_HS
+	5 support_PBAP
+	6 support_SPP
+	)
+	/*mem_upper_sm_ss*/
+	(
+	0 UPPERSM_SS_HS
+	1 UPPERSM_SS_HF
+	2 UPPERSM_SS_AVTARG
+	3 UPPERSM_SS_OBEX
+	)
+
+	(
+	160 UI_HUNDRED_MILLISECOND_TIME
+	0XFF UI_BUTTON_GPIO_DISABLE
+	)
+	(
+	0x01 UI_BB_INCONNECT
+	0x10 UI_BB_DISCONNECT
+	)
+(
+0x00 UI_BUTTON_STATE_DOWN
+0x01 UI_BUTTON_STATE_UP
+)
+
+//mem_ipc_skip_continue_proc
+(
+	0 IPC_CONTINUE_PROCESS
+	1 IPC_SKIP_CONTINUE_PROCESS
+)
+
+
+(//led style struct 
+0 		LED_OFFSET_LED_TYPE
+1 		LED_OFFSET_BLINK_COUNT
+2		LED_OFFSET_LED_GPIO
+3		LED_OFFSET_ON_TIME
+5		LED_OFFSET_OFF_TIME
+7 		LED_OFFSET_CB_LEDON
+9		LED_OFFSET_CB_LEDOFF
+11		LED_OFFSET_LENGTH
+)
+
+(//LED state
+0 UI_LED_STATE_BLINK_STOP
+1 UI_LED_STATE_BLINK_START
+2 UI_LED_STATE_LIGHTING
+3 UI_LED_STATE_DARKING
+4 UI_LED_STATE_BLINK_LIGHTING
+5 UI_LED_STATE_BLINK_DARKING
+
+0xFF LED_INFINITE_FLASH_NUM
+
+)
+
+
+/**
+*  @file:bt_utility_format.upper
+*  @author: lei.zhu
+*  utility header file. inlcude timer
+*  Copyright:  (C)Hanlynn Technology    
+*/
+
+0x0a95 mem_hold_contr
+0x0a97 mem_hold_contw
+0x0a99 mem_fifo_temp
+0x0a9a mem_pdatatemp
+0x0aa2 mem_temp//8 bytes
+0x0aaa mem_timeup// 4 bytes
+0x0aae mem_rega//4 bytes
+0x0ab2 mem_regb//4 bytes
+0x0ab6 mem_regc//3 bytes
+0x0ab9 mem_contr//2 bytes
+0x0abb mem_contw//2 bytes
+0x0abd mem_wakup_from_power_flag
+0x0abe mem_saved_gpio_in
+0x0ac2 mem_shutter_random_mac_data_temp
+0x0ac2 mem_shutter_config_data_temp
+0x0ac2 mem_le_adv_channel_map_temp
+0x0ac2 mem_le_data_len_temp//1byte
+0x0ac2 mem_tx_fifo_map_temp
+0x0ac2 mem_rpn_dlci//1byte
+0x0ac2 mem_event_cmd_response_content//2byte
+0x0ac2 mem_le_prand//16byte
+0x0ac2 mem_AES_CMAC_k//16 bytes
+0x0ac2 mem_regext_index//1 bytes
+0x0ac2 mem_temp_block0
+0x0ac3 mem_le_data_temp//15bytes
+0x0ac3 mem_temp_block1
+0x0ad2 mem_le_aes_128//16byte
+0x0ad2 mem_regext//64 bytes
+0x0ad2 mem_AES_CMAC_k1//16 bytes
+0x0ad2 mem_temp_block2
+0x0ae2 mem_AES_CMAC_k2//16 bytes
+0x0ae2 mem_temp_block3
+0x0af2 mem_AES_CMAC_temp// 16 bytes
+0x0af2 mem_temp_block4
+0x0b02 mem_AES_CMAC_M_last// 16 bytes
+0x0b02 mem_module_uart_cmd
+0x0b03 mem_module_uart_opcode
+0x0b04 mem_module_uart_len
+0x0b05 mem_module_temp_nl_discard_packet
+0x0b06 mem_temp_block5
+0x0b12 mem_le_mackey//16 bytes
+0x0b12 mem_app_receive_temp
+0x0b12 mem_key_value_temp
+0x0b14 mem_key_value
+0x0b16 mem_key_value_temp1
+0x0b17 mem_key_value_temp2
+0x0b18 mem_key_value_temp3
+0x0b19 mem_key_value_temp4
+0x0b1a mem_key_value_temp5
+0x0b1b mem_key_value_temp6
+0x0b1c mem_temp_block6
+0x0b22 mem_usb_status
+0x0b23 mem_usb_fifo_empty
+0x0b24 mem_usb_read_len
+0x0b25 mem_usb_rxbuf
+0x0b65 mem_bufptr
+0x0b67 mem_remain
+0x0b68 mem_devicedesc
+0x0b7c mem_hidreportdesc_kb
+0x0b7e mem_hidreportdesc_m
+0x0b80 mem_confdesc
+0x0be4 mem_string0
+0x0be9 mem_string1
+0x0c07 mem_string2
+0x0c47 mem_string3
+0x0c65 mem_usb_zero_packet
+0x0c67 mem_usb_ones_packet
+0x0c69 mem_usb_two_packet
+0x0c6b mem_usb0_state
+0x0c6c mem_usb_offline_check_gpio
+0x0c6d mem_usb_tx_interval
+0x0c6e mem_usb_clear_mem_start
+0x0c6e mem_usb_setup
+0x0c6e mem_usb_setup_bmRequestType
+0x0c6f mem_usb_setup_bRequest
+0x0c70 mem_usb_setup_bValue
+0x0c71 mem_usb_setup_bValueH
+0x0c72 mem_usb_setup_wIndex
+0x0c74 mem_usb_setup_bLength
+0x0c75 mem_usb_setup_bLengthH
+0x0c76 mem_usb0_setup
+0x0cb6 mem_usb0_set_report_data
+0x0cf6 mem_usb0_get_report_data
+0x0d36 mem_usb_state
+0x0d37 mem_usb_tx_wait
+0x0d38 mem_usb_tx_enable
+0x0d39 mem_usb_remote_wakeup
+0x0d3a mem_usb_clear_remote_wakeup
+0x0d3b mem_usb_ep0_stall_status
+0x0d3c mem_usb_ep1_stall_status
+0x0d3d mem_usb_ep2_stall_status
+0x0d3e mem_usb_ep3_stall_status
+0x0d3f mem_dsc_info_data_pointer
+0x0d41 mem_dsc_info_len
+0x0d42 mem_usb0_data_ready_report
+0x0d43 mem_usb_tx_win_enable
+0x0d44 mem_usb_tx_mac_enable
+0x0d45 mem_usb_device_enumeration_endflag
+0x0d46 mem_usb_wakestate_onetime_flag
+0x0d47 mem_usb_mac_wakeup_trig
+0x0d48 mem_usb_set_high_addr_flag
+0x0d49 mem_usb_set_protocol_value
+0x0d4a mem_usb_set_protocol_status
+0x0d4b mem_usb_get_protocol_flag
+0x0d4c mem_usb_idle_flag
+0x0d4d mem_usb_idle_rate
+0x0d4e mem_usb_setup_bValue_temp
+0x0d50 mem_usb0_get_set_report
+0x0d51 mem_usb_ep1_data
+0x0d52 mem_usb_ep2_data
+0x0d53 mem_usb_clear_halt
+0x0d54 mem_usb_mouse_data
+0x0d64 mem_usb_kb_data
+0x0d74 mem_usb_kb_multikey
+0x0d84 mem_usb_kb_data_sta_data
+0x0d8c mem_usb_kb_data_last_data
+0x0d94 mem_usb_kb_multikey_sta_data
+0x0d97 mem_usb_kb_multikey_last_data
+0x0d9a mem_usb_kb_blank_data_enable
+0x0d9b mem_usb_kb_mul_blank_data_enable
+0x0d9c mem_usb_test_cnt
+0x0d9d mem_usb_clear_mem_end
+0x0d9d mem_usb_test_kb
+0x0d9e mem_rssi_noise_buffer
+0x0e9e mem_rssi_noise_dg_buffer
+0x0f9e mem_rssi_noise_ms_buffer
+0x109e mem_rssi_noise_kb_buffer
+0x119e mem_24g_common_temp
+0x11be mem_24g_pair_current_ch_num
+0x11bf mem_24g_powerful_current_ch_num
+
+
+(
+/*mem_util_timer_flag0_7*/
+    0   UTIL_TIMER_0_USED
+    1   UTIL_TIMER_1_USED
+    2   UTIL_TIMER_2_USED
+    3   UTIL_TIMER_3_USED
+    4   UTIL_TIMER_4_USED
+    5   UTIL_TIMER_5_USED
+    6   UTIL_TIMER_6_USED
+    7   UTIL_TIMER_7_USED
+/*mem_util_timer_flag8_15*/
+    0   UTIL_TIMER_8_USED
+    1   UTIL_TIMER_9_USED
+    2   UTIL_TIMER_10_USED
+    3   UTIL_TIMER_11_USED
+    4   UTIL_TIMER_12_USED
+    5   UTIL_TIMER_13_USED
+    6   UTIL_TIMER_14_USED
+    7   UTIL_TIMER_15_USED
+)
+
+//util fifo param
+(
+
+8 UTIL_FIFO_LEN
+-1 UTIL_FIFO_OFFSET
+)
+
+
+(
+	0xAA DEBUGLOG_HEAD
+	0x00 DEBUGLOG_TYPE
+	0x04 DEBUGLOG_LEN
+	0xBB DEBUGLOG_TAIL
+)
+
+(
+	0x1000 DEBUGLOG_DTYPE_CALLBACK
+	0x1001 DEBUGLOG_DTYPE_EVENT
+	0x1002 DEBUGLOG_DTYPE_CMD
+	0x1003 DEBUGLOG_DTYPE_STATUS
+	0x1004 DEBUGLOG_DTYPE_MISC
+	0x1005 DEBUGLOG_DTYPE_CONN_SM
+	0x1006 DEBUGLOG_DTYPE_UPPER_SM
+	0x1007 DEBUGLOG_DTYPE_PARSE_LMP
+	0x1008 DEBUGLOG_DTYPE_SEND_LMP
+)
+
+//DEBUGLOG_DTYPE_CALLBACK
+(
+	0x0000 CALLBACK_24G_DATA
+	0x0001 CALLBACK_LE_PROCESS
+	0x0002 CALLBACK_BT_PROCESS
+	0x0003 CALLBACK_BEFORE_LPM
+	0x0004 CALLBACK_BB_EVENT_PROCESS
+	0x0005 CALLBACK_IDLE_PROCESS
+	0x0006 CALLBACK_BEFORE_HIBERNATE
+	0x0007 CALLBACK_ATT_WRITE
+	0x0008 CALLBACK_EVENT_TIMER
+)
+
+//DEBUGLOG_DTYPE_EVENT
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_CMD
+//(
+
+//)
+
+//DEBUGLOG_DTYPE_STATUS
+(
+	0x0000 STATUS_CODE_WAKE
+	0x0001 STATUS_LPM_WAKE
+	0x0004 STATUS_24G_START 
+)
+//DEBUG_DTYPE_MISC
+(
+	0x0000 MISC_LE_RETRANSMIT
+	0x0001 MISC_LOST_MOUSEDATA
+	0x0002 MISC_TXPOWER_0
+	0x0003 MISC_TXPOWER_1
+	0x0004 MISC_TXPOWER_2
+	0x0006 MISC_PULL_MOUSEDATA
+	0x0007 MISC_PUSH_MOUSEDATA
+	0x0008 MISC_LE_RETRANSMIT_MD
+
+
+)
+
+
+/************************************************************************/
+/* RCS HEADER -- DO NOT ERASE                                           */
+/* $Author: Administrator $                                                     */
+/* $Id: bt_var.osi,v 1.1 2009-09-28 04:06:18 Administrator Exp $   */
+/* Orisil Technology                                                 */
+/************************************************************************/
+
+
+/* packet types */
+(
+  0x02 FHS_PACKET 
+  0x03 DM1_PACKET 
+  0x03 DM1_LMP_PACKET 
+  0x04 DH1_PACKET 
+  0x05 HV1_PACKET 
+  0x06 HV2_PACKET 
+  0x07 HV3_PACKET 
+  0x08 DV_PACKET 
+  0x09 AUX1_PACKET 
+  0x0a DM3_PACKET 
+  0x0b DH3_PACKET 
+  0x0e DM5_PACKET 
+  0x0f DH5_PACKET 
+)
+
+
+/* mem_lmp_respond */
+(
+  0 RESPOND_TO_ALL
+  1 PASS_EVERYTHING
+  2 PASS_ONLY_UNKNOWNS
+  3 RESPOND_TO_LMPS
+)
+/* SCO algorithm defines */
+(
+  0 ULAW
+  1 ALAW
+  2 CVSD
+)
+/* encryption modes */
+(
+  0 NO_ENCRYPTION
+  1 PT_PT_ENCRYPTION
+  2 PT_BROADCAST_ENCRYPTION
+)
+
+/* bits used in mem_lmp_state1 variable */
+(
+  0 LMP_STATE_DETACH
+  1 LMP_STATE_HOLD
+  2 LMP_STATE_SNIFF
+  3 LMP_STATE_PARK
+  4 LMP_STATE_WAIT_SCO_CREATE
+  5 LMP_STATE_WAIT_SCO_KILL
+  6 LMP_STATE_SCO3
+  7 LMP_STATE_WAIT_SCO_START
+)
+/* mem_lmp_state2 */
+(
+  0 LMP_WAIT_FOR_SNIFF_ACCEPT
+  1 LMP_WAIT_FOR_PARK_ACCEPT
+  2 LMP_SEND_UNPARK_ACCEPTED
+  3 LMP_SEND_ENCRYPTION_START
+  4 LMP_SEND_ENCRYPTION_STOP
+  5 MESSAGE_QUEUE
+  7 LMP_STATE_WAIT_BEACON
+)
+/* mem_lmp_state3 */
+(
+ 0 INQUIRY_STATE_CHECK
+ 1 HOST_DELAY_MESSAGE
+ 2 VARIABLE_DELAY
+ 3 TEST_MODE_START_LOOPBACK
+ 4 TEST_MODE_START_PATTERN
+ 5 PARSE_TEST_CONTROL_MESSAGE
+ 6 H_AUTH_SEND_COMB_KEY
+)
+/* mem_rx_status */
+(
+  0 FROM_MASTER
+)
+/* mem_ms_flag */
+(
+  0 MS_RECEIVE_SWITCH_REQ
+  1 MS_SEND_SETUP_COMPLATE
+)
+/* mem_conn_sm */
+(
+  0 CONN_SM_STANDBY
+  1 CONN_SM_WAIT_PAGE
+  2 CONN_SM_SEND_FEATURES
+  3 CONN_SM_WAIT_FEATURES_RES
+  4 CONN_SM_SEND_CONN_REQ
+  5 CONN_SM_WAIT_CONN_ACCEPT
+  6 CONN_SM_AUTH_PAIR
+  7 CONN_SM_AUTH_PAIR_WAIT
+  8 CONN_SM_WAIT_MUTAL_AUTH
+  9 CONN_SM_ENCRYPT
+  0xa CONN_SM_ENCRYPT_WAIT
+  0xb CONN_SM_ENCRYPT_WAIT_CLEAR
+  0xc CONN_SM_SEND_SETUP_COMPLETE
+  0xd CONN_SM_WAIT_SETUP_COMPLETE 
+  0xe CONN_SM_SEND_SWITCH
+  0xf CONN_SM_DETACH_DELAY
+  0x10 CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION
+  0x11 CONN_SM_DELAY_RESTART_CONNECTION
+  0x12 CONN_SM_SEND_VERSION
+  0X13 CONN_SM_WAIT_VERSION
+  0x14 CONN_SM_SEND_FEATURES_EXT
+  0x15 CONN_SM_WAIT_FEATURES_EXT
+  0x16 CONN_SM_PAIRING
+  0x17 CONN_SM_AUTH
+  0x18 CONN_SM_PAIRING_WAIT
+  0x19 CONN_SM_AUTH_WAIT
+  0x1a CONN_SM_DONE
+  0x1b CONN_SM_WAIT_DONE
+)
+
+/* btStateConn1 */
+(
+  0 CONN_STANDBY
+  1 CONN_MASTER_SEND_CONN_REQ
+  2 CONN_MASTER_WAIT_FOR_CONN_ACCEPTED
+  3 CONN_MASTER_AUTH
+  4 CONN_MASTER_WAIT_FOR_FEATURES
+  5 CONN_MASTER_WAIT_FOR_SETUP_COMPLETE
+  6 CONN_MASTER_WAIT_FOR_MAX_SLOT
+  7 CONN_SLAVE_CONN_REQUESTED
+  8 CONN_SLAVE_WAIT_FOR_SETUP_COMPLETE
+  9 CONN_SLAVE_AUTH
+  10 CONN_USING_HOST_OPCODE
+  11 CONN_SLAVE_AUTH_WAIT
+  12 CONN_SLAVE_ENCRYPT_WAIT
+)
+
+/* mem_lmp_conn_state */
+(
+  0 RECEIVED_CONN_REQ
+  1 SENT_CONN_REQ
+  2 RECEIVED_SETUP_COMPLETE
+  3 SENT_SETUP_COMPLETE
+  4 HOST_CONNECTION_MADE
+  6 INIT_COMPLETE
+  7 SNIFF_NEGOTIATE
+)
+/* btStateAuth1 */
+(
+  0 WAIT_FOR_KINIT
+  1 WAIT_FOR_LKA
+  2 WAIT_FOR_LKB
+  3 WAIT_FOR_SRES
+  4 EXAMINE_RECEIVED_SRES
+  5 SEND_AU_RAND
+  6 WAIT_FOR_KC
+  7 DELAYED_ENCRYPT_RESPONSE
+)
+/* btStateAuth2 */
+(
+  0 SENT_SRES
+  1 RECEIVED_IN_RAND
+  2 SENT_AU_RAND
+  3 AUTHENTICATION_FAILED
+  4 AUTHENTICATION_PASSED
+  5 STARTED_AUTH
+  6 SENT_COMB_KEY
+  7 SENT_IN_RAND
+)
+/* btStateAuth3 */
+(
+  0 RECEIVED_AU_RAND
+  1 RECEIVED_SRES
+  2 MUTUALLY_AUTHENTICATE
+)
+/* btStateHost */
+(
+  0 H_AUTH_STARTED
+  2 H_ENCRYPTION_MODE_REQ_PT
+  3 H_ENCRYPTION_KEY_SIZE
+  4 H_ENCRYPTION_START
+  5 H_ENCRYPTION_STOP
+  6 H_AUTH_SECOND_TRY
+)
+/* btStateEncrypt2 */
+(
+  0 RECEIVED_ENCRYPT_MODE_REQ_PT
+  1 RECEIVED_ENCRYPT_KEY_SIZE
+  2 RECEIVED_ENCRYPT_START
+  3 RECEIVED_ENCRYPT_STOP
+  4 STARTED_ENCRYPT_START
+)
+/* mem_ms_state */
+(
+  0x00 MS_STANDBY
+  0x11 M_MINIT_1
+  0x12 M_MINIT_2
+  0x20 M_SINIT_0
+  0x30 S_MINIT_0
+  0x31 S_MINIT_1
+  0x32 S_MINIT_2
+  0x41 S_SINIT_1
+  0x42 S_SINIT_2
+  0x43 S_SINIT_3
+)
+/* mem_test_mode */
+(
+  0 TEST_MODE_ALLOWED
+  1 TEST_MODE_ACTIVE
+)
+/* values for mem_tester_emulate */
+(
+  0x00 NO_TEST_MODE
+  0x00 CONTINUOUS_TRANSMIT
+  0x10 TRANSMIT_TEST
+  0x08 LOOPBACK
+)
+
+/* mem_tx_misc */
+(
+  1 SEND_TX_ADDR
+)
+/* BBHWREG_page_stat */
+(
+  5 PAGE_MODE_END
+)
+/* host_return_parameters_status codes */
+(
+  0x00 HOST_RETURN_SUCCESS
+  0x01 HOST_RETURN_SLAVE_CANT_ISSUE
+  0x02 HOST_RETURN_NO_CONNECTION
+  0x04 HOST_RETURN_PAGE_TIMEOUT
+  0x05 HOST_RETURN_INQUIRY_TIMEOUT
+  0x08 HOST_RETURN_CONNECTION_TIMEOUT
+  0x09 HOST_RETURN_MAX_NUM_CONNECTIONS
+  0x0a HOST_RETURN_MAX_NUM_SCO
+  0x0b HOST_RETURN_MAX_NUM_ACL
+  0x0c HOST_RETURN_SECURITY_REASONS
+  0x10 HOST_RETURN_HOST_TIMEOUT
+  0x11 HOST_RETURN_UNSUPPORTED_FEATURE_PARAMETER
+  0x13 HOST_RETURN_OTHER_END_USER
+  0x14 HOST_RETURN_OTHER_END_LOW_RESOURCE
+  0x15 HOST_RETURN_OTHER_END_POWER_OFF
+  0x16 HOST_RETURN_LOCAL_HOST
+  0x18 HOST_RETURN_PAIRING_NOT_ALLOWED
+  0x19 HOST_RETURN_UNKNOWN_PDU
+  0x1a HOST_RETURN_UNSUPPORTED_REMOTE_FEATURE
+  0x1d HOST_RETURN_SCO_AIR_MODE_REJECTED
+  0x20 HOST_RETURN_UNSUPPORTED_LMP_VALUE
+  0x21 HOST_RETURN_AUTHENTICATION_FAILURE
+  0x22 HOST_RETURN_CHANGED_EXISTING_SCO
+  0x23 HOST_RETURN_HOST_REJECTED
+  0x24 HOST_RETURN_UNSPECIFIED_ERROR
+  0x25 HOST_RESET
+  0x26 HOST_RETURN_BAD_HANDLE
+
+  0x00 HOST_RETURN_ACCEPT_COMMAND
+  0x01 HOST_RETURN_REJECT_COMMAND
+)
+/* host_present */
+(
+  0 HOST_IS_PRESENT
+  1 BCI_IS_PRESENT
+  2 DONT_INIT_RADIO
+)
+/* mem_master_state */
+(
+  0 MASTER_STATE_STANDBY
+  1 MASTER_INQUIRY
+)
+/* misc */
+(
+  92 SECOND_SWITCH_REQ
+  93 SLAVE_DELAY_DETACH
+  94 MASTER_DELAY_DETACH
+  95 UNSNIFF_DELAY_DETACH
+  0 WE_STARTED_AS_MASTER
+  1 WE_STARTED_AS_SLAVE
+)
+/* mem_host_commands */
+(
+  0x01 HOST_INQUIRY
+  0x02 HOST_INQUIRY_CANCEL
+  0x03 HOST_CREATE_CONNECTION
+  0x04 HOST_DISCONNECT_CONNECTION
+  0x05 HOST_ADD_SCO_REQUEST
+  0x06 HOST_REMOTE_NAME_REQUEST
+  0x07 HOST_WRITE_SUPPORTED_FEATURES
+  0x08 HOST_SET_TX_LEVEL
+  0x09 HOST_SET_RX_LEVEL
+  0x0a HOST_SNIFF_REQUEST
+  0x0b HOST_UNSNIFF_REQUEST
+  0x0c HOST_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0e HOST_WRITE_SCAN_ENABLE
+  0x0f HOST_READ_AUDIO_QUALITY
+  0x10 HOST_ENABLE_DEVICE_UNDER_TEST
+  0x14 HOST_BUTTON_CONFIGURE
+  0x15 HOST_SET_LOW_BATTERY_LEVEL
+  0x16 HOST_WRITE_LOCAL_NAME
+  0x17 HOST_WRITE_LOCAL_PIN
+  0x18 HOST_KILL_SCO_REQUEST
+  0x19 HOST_QOS_REQ
+
+  0x1a HOST_FEATURES_REQUEST
+  0x1b HOST_VERSION_REQUEST
+  0x1c HOST_TIMING_REQUEST
+  0x1d HOST_CLK_OFFSET_REQUEST
+  0x1e HOST_AUTHENTICATE
+  0x1f HOST_START_ENCRYPTION
+  0x20 HOST_STOP_ENCRYPTION
+  0x21 HOST_HOLD_REQUEST
+  0x22 HOST_HOLD_FORCE
+  0x23 HOST_PARK_REQUEST
+  0x24 HOST_MOD_BEACON
+  0x25 HOST_SET_BROADCAST_SCAN_WINDOW
+  0x26 HOST_UNPARK_PM_REQUEST
+  0x27 HOST_UNPARK_BD_REQUEST
+  0x28 HOST_SLAVE_REQUEST_UNPARK
+  0x29 HOST_DECREASE_POWER_REQUEST
+  0x2a HOST_INCREASE_POWER_REQUEST
+  0x2b HOST_SEND_PREFERRED_RATE
+  0x2c HOST_MAX_SLOT_REQ
+  0x2d HOST_MAX_SLOT_FORCE
+  0x2e HOST_PAGE_MODE_REQUEST
+  0x2f HOST_PAGE_SCAN_MODE_REQUEST
+  0x30 HOST_MASTER_SLAVE_SWITCH
+  0x31 HOST_SEND_AUTO_RATE
+  0x32 HOST_PAGE_CANCEL
+  0x33 HOST_CHANGE_LINK_KEY
+  0x34 HOST_RADIO_READ
+  0x35 HOST_RADIO_WRITE
+  0x36 HOST_REMOTE_SLAVE_INIT_UNPARK_REQUESTED
+
+  0x40 HOST_REMOTE_CONNECTION_REQUESTED
+  0x41 HOST_REMOTE_DETACH
+  0x42 HOST_REMOTE_SCO_CREATE_REQUESTED
+  0x43 HOST_REMOTE_SCO_KILL_REQUESTED
+  0x44 HOST_REMOTE_PARK_REQUESTED
+  0x45 HOST_REMOTE_UNPARK_REQUESTED
+  0x46 HOST_REMOTE_SNIFF_REQUESTED
+  0x47 HOST_REMOTE_UNSNIFF_REQUESTED
+  0x48 HOST_REMOTE_HOLD_REQUESTED
+  0x49 HOST_REMOTE_AUTHENTICATION
+  0x4a HOST_REMOTE_START_ENCRYPTION_REQUESTED
+  0x4b HOST_REMOTE_STOP_ENCRYPTION_REQUESTED
+  0x4c HOST_MODE_CHANGE_EVENT
+  0x4d HOST_REMOTE_TEST_ACTIVATE
+  0x4e HOST_REMOTE_TEST_CONTROL
+  0x4f HOST_REMOTE_TIMING_REQUEST
+)
+/* BCI interface (not used if not compiled in ) */
+(
+  0x01 BCI_INQUIRY
+  0x02 BCI_INQUIRY_CANCEL
+  0x03 BCI_CREATE_CONNECTION
+  0x04 BCI_DISCONNECT
+  0x05 BCI_ADD_SCO_CONNECTION
+  0x06 BCI_REMOTE_NAME_REQUEST
+  0x07 BCI_WRITE_SUPPORTED_FEATURES
+  0x08 BCI_SET_TX_POWER_LEVEL
+  0x09 BCI_SET_RX_POWER_LEVEL
+  0x0a BCI_SNIFF_MODE
+  0x0b BCI_EXIT_SNIFF_MODE
+  0x0c BCI_WRITE_LINK_SUPERVISION_TIMEOUT
+  0x0d BCI_WRITE_PAGE_TIMEOUT
+  0x0e BCI_WRITE_SCAN_ENABLE
+  0x0f BCI_GET_AUDIO_QUALITY
+  0x10 BCI_ENABLE_DEVICE_UNDER_TEST
+  0x11 BCI_SEND_DATA
+  0x12 BCI_REGISTER_SERVICE_RECORD
+  0x13 BCI_SERVICE_SEARCH_ATTRIB_REQ
+  0x14 BCI_BUTTON_CONFIGURE
+  0x15 BCI_SET_LOW_BATTERY_LEVEL
+  0x16 BCI_WRITE_LOCAL_NAME
+  0x17 BCI_WRITE_LOCAL_PIN
+  0x18 BCI_REMOVE_SCO_CONNECTION
+  0x19 BCI_QUALITY_OF_SERVICE
+  0x40 BCI_REMOTE_CONNECTION_REQUEST
+  0x41 BCI_REMOTE_DETACH
+  0x42 BCI_REMOTE_ADD_SCO_REQUEST
+  0x43 BCI_REMOTE_REMOVE_SCO_REQUEST
+  0x44 BCI_REMOTE_PARK_REQUEST
+  0x45 BCI_REMOTE_UNPARK_REQUEST
+  0x46 BCI_REMOTE_SNIFF_REQUEST
+  0x47 BCI_REMOTE_UNSNIFF_REQUEST
+  0x48 BCI_REMOTE_HOLD_REQUEST
+  0x49 BCI_REMOTE_AUTHENTICATION_PAIRING_REQUEST
+  0x4a BCI_REMOTE_START_ENCRYPTION_REQUEST
+  0x4b BCI_REMOTE_STOP_ENCRYPTION_REQUEST
+  0x4c BCI_MODE_CHANGE_EVENT
+)
+/* mode changes */
+(
+  0 MODE_CHANGE_ACTIVE
+  1 MODE_CHANGE_SNIFFING
+  2 MODE_CHANGE_PARKED
+  3 MODE_CHANGE_HOLDING
+  4 MODE_CHANGE_SCO_ADDED
+  5 MODE_CHANGE_SCO_REMOVED
+  6 MODE_CHANGE_ACL_CONNECTION
+  7 MODE_CHANGE_DISCONNECT
+  8 MODE_CHANGE_SCO_CHANGED
+  9 MODE_CHANGE_ENCRYPTING
+  10 MODE_CHANGE_NOT_ENCRYPTING
+  11 MODE_CHANGE_BUTTON_UP
+  12 MODE_CHANGE_BUTTON_DOWN
+  13 MODE_CHANGE_BATTERY_LOW
+  14 MODE_CHANGE_RESET
+  15 MODE_CHANGE_INQUIRY_CANCELED_RMTCMD
+  16 MODE_ACTIVE_MSSWITCH_PASSED
+  17 MODE_ACTIVE_MSSWITCH_FAILED
+)
+/* mem_battery - low nibble is level information, upper nibble is status info */
+(
+  6 BATTERY_CHECK_LEVEL
+  7 BATTERY_SENT_STATUS
+)
+/* mem_radio_version */
+(
+  0x02 RADIO_2001
+  0x12 RADIO_2002
+  0x32 RADIO_2002_DDM
+  0x42 RADIO_1008A1
+  0x52 RADIO_1018A0
+)
+/* mem_slave_initiated_conn */
+(
+  0 SLAVE_INIT_AUTHENTICATION
+  1 SLAVE_INIT_ENCRYPTION
+  2 SLAVE_INIT_MASTER_SLAVE_SWITCH
+)
+/* connection_options */
+(
+  0 CONNECTION_AUTH
+  1 CONNECTION_ENCRYPT
+  2 CONNECTION_SWITCH
+  3 CONNECTION_ACL
+  4 CONNECTION_FEATURE_EXT
+)
+/* mem_debug_config */
+(
+  7 AA_INSERTION
+)
+
+
+/* Parse Command:
+TX: take bits from tx fifo, jam it into shift and a destination (rf,bucket)
+RX: take bits from demod,  jam it into shift and a destination (acl,sco,bucket) */
+
+/* Inject Command:
+TX: 0 into shift, send tail of shift into a destination (rf,bucket)
+RX: 0 into shift, send tail of shift into a destination (acl,sco,bucket) */
+
+format
+  ! 15 romdat
+  % d0
+  % d1
+  % d2
+  % d3
+  [8] d0
+  [8] d1
+  [8] d2
+  [8] d3
+end
+
+format
+  ! 15 enable   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+ /* High 5 bytes of channel map */
+format
+  ! 15 pulse   /* set flag to 1 */
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 disable   /* set flag to 0 */
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [6] null
+  [9] 0
+end
+
+format
+  ! 15 set0  /* set selected bit of reg to 0 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 set1  /* set selected bit of reg to 1 */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9          /* alu op demux */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflag  /* set selected bit of the reg to the polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 nsetflag  /* set the selected bit of the reg to the opposite polarity of the flag */
+  % flag
+  % immediate
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 15 setflip    /* invert the selected bit of the reg */
+  % immediate
+  % reg
+  [5] opcode
+  [6] 10            /* this is alu op */
+  [6] always
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 0x1f qset1      /* demux the lowest 4 bit of queue and OR it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 1 */
+  [5] opcode
+  [6] 9
+  [6] always
+  [6] reg
+  [9] 0
+end
+  
+format
+  ! 0x1f qset0      /* demux the lowest 4 bit of queue and AND it with regr into regw */
+  % reg             /* in short, set the bit in reg indexed by queue to 0 */
+  [5] opcode
+  [6] 9
+  [6] never
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f qsetflag   /* set the bit in reg index by queue to same as flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 9
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format 
+  ! 0x1f nqsetflag   /* set the bit in the reg index by queue to opposite of flag */
+  % flag
+  % reg
+  [5] opcode
+  [6] 0x29
+  [6] flag
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 0x1f qsetflip      /* flip the bit in reg index by queue */
+  % reg
+  [5] opcode
+  [6] 10
+  [6] always
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 1 parse       /* take bits out of source (sco_tx,tx_buffer,rx-elas) into pdata and dest (sco_rx,rx_fifo,tx-elas) */
+  % source
+  % dest
+  % immediate
+  [5] opcode
+  [4] source      /* voice, data, demod */
+  [2] 0
+  [6] 0    
+  [2] 0           /* parse or inject */ 
+  [4] dest        /* acl, sco, mod, bucket */
+  [9] immediate   /* number of bits to parse off */
+end
+
+format
+  ! 1 inject      /* shift data from pdata into destination (tx-elas,rx_fifo,sco_rx) */
+  % destination
+  % immediate
+  [5] opcode
+  [4] 0
+  [2] 0
+  [6] 1
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] immediate   /* number of bits to be injected */
+end
+
+format
+  ! 1 iinject
+  % destination
+  % regr
+  [5] opcode
+  [6] regr       /* contain the number of bits to inject */
+  [6] 3
+  [2] 0
+  [4] destination /* acl,sco,mod,bucket */
+  [9] 0 
+end
+
+format
+  ! 1 stuff  /* automatic parse, stuff_counter decrement on every bit until hits zero */
+  % source
+  % destination
+  [5] opcode
+  [4] source
+  [2] 0
+  [6] 2
+  [2] 0
+  [4] destination
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 force
+  % immediate
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] immediate
+end
+
+format    /* force whatever is on shift_reg to regsiters */
+  ! 0x13 iforce
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 0    /* alu operation force */
+  [6] regw  /* destination register */
+  [9] 0
+end
+
+format    /* force immediate value into registers */
+  ! 3 increase
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 1    /* alu operation add */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 pincrease
+  % immediate
+  [5] opcode
+  [6] -1  /* pdata */
+  [6] 1   /* alu add */
+  [6] -1  /* back to pdata */
+  [9] immediate
+end
+
+format    /* force immediate value into registers */
+  ! 3 and_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 and
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] immediate
+end
+  
+format
+  ! 0x13 iand    /* pdata & regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 2    /* alu operation and into */
+  [6] regw
+  [9] 0
+end
+  
+
+format    /* and whatever is in shiftreg with reg */
+  ! 0x13 iand_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 2    /* alu operation and into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 or_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] immediate
+end
+
+format
+  ! 3 or
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 ior
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 3    /* alu operation or into */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 0x13 ior_into
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 3    /* alu operation or into */
+  [6] reg
+  [9] 0
+end
+
+format
+  ! 3 skip_to   /* jump to location stored in reg */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] rom_addr
+  [9] 0
+end
+
+format
+  ! 3 copy
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 4   /* alu operation copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 deposit   /* copy the register content thru alu to shift register, not prealigned like preload */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 4   /* alu operation copy */
+  [6] -1  /* pdata */
+  [9] 0
+end
+
+format
+  ! 3 icopy     /* copy the shift register lsb content directly to register, not aligned */
+  % regw
+  [5] opcode
+  [6] -1  /* pdata */
+  [6]  4  /* alu copy */
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 add
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 iadd       /* regr + pdata -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 1
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 sub          /* immediate - regr -> regw */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 isub       /* pdata - regr -> regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 12
+  [6] regw
+  [9] 0
+end
+
+
+format
+  ! 3 flip
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 iflip  /* use shift register as immediate to do xor */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 xor
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 3 xor_into
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 5
+  [6] reg
+  [9] immediate
+end
+  
+format
+  ! 0x13 ixor  /* pdata xor regr and store result in regw */
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 5
+  [6] regw
+  [9] 0
+end
+  
+format
+  ! 3 invert
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 8
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 pinvert    /* invert pdata into itself */
+  [5] opcode
+  [6] -1
+  [6] 8
+  [6] -1
+  [9] 0
+end
+
+format
+  ! 3 div                 /* regr div immediate div */
+  % reg
+  % immediate
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 idiv           /* pdata div regr data ready at most after 41 nops */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 13                   /* generate diven pulse to div */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 remainder            /* harvest div remainder */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 14
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 quotient             /* harvest div quotient */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 15
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 6
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 22
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 18
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 35
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 25
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 34
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 rshift32
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 30
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 7
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift2
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 23
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift8
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 26
+  [6] regw
+  [9] 0
+end
+
+  
+format
+  ! 3 lshift3
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 19
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 lshift4
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 36
+  [6] regw
+  [9] 0
+end
+  
+
+format
+  ! 3 lshift16
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 32
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 random               /* random number into regw */
+  % reg
+  [5] opcode
+  [6] 0
+  [6] 20
+  [6] reg
+  [9] 0
+end
+
+format                     /* bit reverse within a byte */
+  ! 3 reverse
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 27
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 priority    /* priority encode reg into regw, lsb is the top priority, ie, priority(8'b00010000) = 4 */
+  % reg
+  % regw
+  [5] opcode
+  [6] reg
+  [6] 21
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 7 setsect   /* set a section of pdata */
+  % section    /* 0 sets 17:0 of pdata with set_data, 1 sets 35:18, 2 sets 53:36, 3 sets 71:54 */
+  % set_data
+  [5] opcode
+  [7] 0
+  [2] section
+  [18] set_data
+end
+
+format
+  ! 10 preload   /* load stuff into pdata according to fhs format, check us.v */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 0
+  [6] -1
+  [9] 0
+end
+
+format  /* load register with pdata content, according to fhs format, check us.v */
+  ! 10 ialigned   /* all bits are in position */
+  % regw
+  [5] opcode
+  [6] -1
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format  /* load register to another according to fhs format */
+  ! 10 aligned
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 0
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 4 branch
+  % addr
+  % flag
+  [5] opcode
+  [6] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 call
+  % addr
+  % flag
+  [5] opcode
+  [6] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 rtn
+  % flag
+  [5] opcode
+  [6] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 0x0c store          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstore          /* write to memory, data from pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istore        /* write to memory, data from pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetch          /* read from memory, data into pdata, address from immediate then mem_ptr */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 0
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d crc         /* read from memory, count from loopcnt, put crc result into pdata */
+  % addr
+  [5] opcode
+  [6] 0
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] addr
+end
+
+format
+  ! 0x1d icrc         /* read from memory, address from reg, count from loopcnt, put crc result into pdata */
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] 0
+  [15] 0
+end
+
+
+format
+  ! 0x1d ifetch         /* read from memory, data into pdata, address from regr then mem_ptr */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 0
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0c storet          /* write to memory, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0c hstoret          /* write to corereg, data from temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1c istoret        /* write to memory, data from temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg            /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0d fetcht          /* read from memory, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x0d hfetcht          /* read from corereg, data into temp, address from immediate won't increment */
+  % num_bytes
+  % addr
+  [5] opcode
+  [6] 0               /* memory */
+  [1] 1
+  [1] 1
+  [4] num_bytes
+  [15] addr
+end
+
+format
+  ! 0x1d ifetcht         /* read from memory, data into temp, address from regr won't increment */
+  % num_bytes
+  % reg
+  [5] opcode
+  [6] reg             /* hold address */
+  [1] 0
+  [1] 1
+  [4] num_bytes
+  [15] 0
+end
+
+format
+  ! 0x0e jam
+  % immediate
+  % addr
+  [5] opcode
+  [3] 0
+  [16] addr
+  [8] immediate
+end
+
+format			/* 0x242... */
+  ! 4 nbranch
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 1
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 ncall
+  % addr
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 2
+  [6] flag
+  [15] addr
+end
+
+format
+  ! 4 nrtn
+  % flag
+  [5] opcode
+  [1] 1
+  [5] 3
+  [6] flag
+  [15] 0
+end
+
+format
+  ! 4 nop
+  % addr  /* no-op for addr+2 clocks */
+  [5] opcode
+  [6] 0     
+  [6] 0     /* always */ 
+  [15] addr
+end
+
+format
+  ! 4 clear_stack
+  [5] opcode
+  [6] 4
+  [6] 0    /* always */
+  [15] 0
+end
+
+format
+  ! 6 until
+  % reg
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 1
+  [9] 0
+end
+  
+format
+  ! 6 correlate   /* quit if 1. flag is true 2, regr time up 3, found sync,(cond_true) */
+  % reg          /* expire counter to check against */
+  % flag
+  [5] opcode
+  [6] reg
+  [6] flag
+  [6] 2           /* correlate */
+  [9] 0           
+end
+
+format
+  ! 5 compare   /* sets cond flag,  if reg equals immediate */
+  % immediate
+  % reg
+  % mask
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] immediate
+end
+
+format
+  ! 0x15 icompare   /* sets cond flag,  if reg equals pdata */
+  % mask
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 0
+  [9] mask
+  [9] 0
+end
+
+format   /* sets cond. flag, if reg equals LS half of shift reg with MS half of reg being mask */
+  ! 5 iverify
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 2
+  [18] 0
+end
+
+format
+  ! 0x15 qisolate1
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] -1
+end
+
+format
+  ! 0x15 qisolate0
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [18] 0
+end
+
+	/* REVAB bug: cannot access bit above 35 */
+format
+  ! 5 isolate1
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] -1
+  [9] addr
+end
+
+format
+  ! 5 isolate0
+  % addr
+  % reg
+  [5] opcode
+  [6] reg
+  [3] 3
+  [9] 0
+  [9] addr
+end
+
+format
+  ! 11 setarg
+  % immediate
+  [5] opcode
+  [27] immediate
+end
+
+format
+  ! 0x1b arg
+  % immediate
+  % reg
+  [5] opcode
+  [6] reg
+  [21] immediate
+end
+
+  
+format
+  ! 0 sleep
+  [5] opcode
+  [27] 0
+end
+
+format
+  ! 0 snooze
+  [5] opcode
+  [6] -1
+  [21] 0
+end
+
+format
+  ! 0 revision
+  % rev_num
+  [5] opcode
+  [27] rev_num
+end
+
+format
+  ! 0x18 loop   /* branch when loopcnt is NOT zero, and decrease loopcnt */
+  % addr
+  [5] opcode
+  [4] 4
+  [8] 0
+  [15] addr
+end
+
+format
+  ! 0x18 beq   /* branch when pdata is equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 0
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bne   /* branch when pdata is NOT equal to immediate */
+  % imme
+  % addr
+  [5] opcode
+  [4] 1
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtneq   /* return when pdata is equal to immediate */
+  % imme
+  [5] opcode
+  [4] 2
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnne   /* return when pdata is NOT equal to immediate */
+  % imme
+  [5] opcode
+  [4] 3
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 bbit1   /* branch when pdata's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 5
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bbit0   /* branch when pdata's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 6
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnbit1   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 7
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnbit0   /* return when pdata's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 8
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 8	bpatch
+  % imme
+  % addr
+  [5] opcode
+  [4] 9
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 8	bpatchx
+  % imme
+  % addr
+  [5] opcode
+  [4] 14
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark1   /* branch when mark's imme bit is 1 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 10
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 bmark0   /* branch when mark's imme bit is 0 */
+  % imme
+  % addr
+  [5] opcode
+  [4] 11
+  [8] imme
+  [15] addr
+end
+
+format
+  ! 0x18 rtnmark1   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 12
+  [8] imme
+  [15] 0
+end
+
+format
+  ! 0x18 rtnmark0   /* return when mark's imme bit is 0 */
+  % imme
+  [5] opcode
+  [4] 13
+  [8] imme
+  [15] 0
+end
+
+
+format
+  ! 3 mult                  /* immediate mult regr */  /* the product will be ready 17 clks later */
+  % immediate                                   /* use "product" instruction to get the result */
+  % reg
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate diven pulse to div */
+  [6] null
+  [9] immediate
+end
+
+format
+  ! 0x13 imult           /* pdata mult regr */  /* the product will be ready after 15 nops */
+  % reg                                         /* use product opcode to get the result */
+  [5] opcode
+  [6] reg
+  [6] 16                   /* generate mult pulse to multiplier */
+  [6] null
+  [9] 0
+end
+
+format
+  ! 3 mul32                  /* immediate mult regr */ 
+  % regr
+  % immediate                                  
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31           
+  [6] regw
+  [9] immediate
+end
+
+format
+  ! 0x13 imul32           /* pdata mult regr 32x32=64bit */  
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 31                   
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 product              /* harvest mult product */
+  % regw
+  [5] opcode
+  [6] 0
+  [6] 17
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 byteswap
+  % regr
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 33
+  [6] regw
+  [9] 0
+end
+
+format
+  ! 3 shasx          /* SHA256 Sx operation, immediate is Sx */
+  % regr
+  % immediate
+  % regw
+  [5] opcode
+  [6] regr
+  [6] 28
+  [6] regw
+  [9] immediate
+end
+
+
+format
+  ! 0x13 regexrot 	/* regext[0] <- regext[7], regext[1] <- regext[0], regext[2] <- regext[1] ... */
+  [5] opcode
+  [6] 0
+  [6] 29
+  [6] null
+  [9] 0
+end
+
Index: YJX_Only24g/main/output/bt_program23.icode
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_program23.icode	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_program23.icode	(working copy)
@@ -0,0 +1,26137 @@
+ 00000000  0x0000003e bbit1  0x00000008 , 0x00000012 
+ 00000001  0x0000003f beq  0x00000085 , 0x00000525 
+ 00000002  0x00000040 beq  0x00000089 , 0x000004e2 
+ 00000003  0x00000041 beq  0x0000008a , 0x00000527 
+ 00000004  0x00000043 beq  0x00000001 , 0x0000001e 
+ 00000005  0x00000044 beq  0x000000a1 , 0x00000027 
+ 00000006  0x00000045 beq  0x000000a8 , 0x0000002c 
+ 00000007  0x00000046 beq  0x000000b1 , 0x0000002f 
+ 00000008  0x00000047 beq  0x000000b2 , 0x0000003b 
+ 00000009  0x00000048 beq  0x000000c4 , 0x000000bc 
+ 00000010  0x00000049 beq  0x000000c9 , 0x00000142 
+ 00000011  0x0000004a beq  0x000000ca , 0x00000146 
+ 00000012  0x0000004b beq  0x000000e3 , 0x0000029c 
+ 00000013  0x0000004c beq  0x000000e6 , 0x00000241 
+ 00000014  0x0000004d beq  0x000000ea , 0x000002e6 
+ 00000015  0x0000004e beq  0x000000eb , 0x000002f4 
+ 00000016  0x0000004f beq  0x000000ec , 0x0000031d 
+ 00000017  0x00000050 branch  0x00002a8e 
+ 00000018  0x00000052 beq  0x0000008c , 0x00000321 
+ 00000019  0x00000053 branch  0x00002a8e 
+ 00000020  0x0000005a copy  0x0000003f , 0x00000011 
+ 00000021  0x0000005b fetcht  0x00000001 , 0x00004c62 
+ 00000022  0x0000005c setarg  0x00004c69 
+ 00000023  0x0000005d iadd  0x00000002 , 0x00000005 
+ 00000024  0x0000005e copy  0x00000011 , 0x0000003f 
+ 00000025  0x0000005f istore  0x00000001 , 0x00000005 
+ 00000026  0x00000060 increase  0x00000001 , 0x00000002 
+ 00000027  0x00000061 and_into  0x00000007 , 0x00000002 
+ 00000028  0x00000062 storet  0x00000001 , 0x00004c62 
+ 00000029  0x00000063 rtn 
+ 00000030  0x00000066 arg  0x000009ae , 0x00000005 
+ 00000031  0x00000067 arg  0x0000000c , 0x00000039 
+ 00000032  0x00000068 call  0x00007ed4 
+ 00000033  0x00000069 call  0x000000b0 
+ 00000034  0x0000006a call  0x00006a03 
+ 00000035  0x0000006b call  0x00005cf6 
+ 00000036  0x0000006c ncall  0x00002c65 , 0x0000002b 
+ 00000037  0x0000006d call  0x00007ccd 
+ 00000038  0x0000006e branch  0x0000200c 
+ 00000039  0x00000072 setarg  0x00000a06 
+ 00000040  0x00000073 store  0x00000003 , 0x00004510 
+ 00000041  0x00000074 setarg  0x00001d87 
+ 00000042  0x00000075 store  0x00000002 , 0x00004513 
+ 00000043  0x00000076 branch  0x00002aa2 
+ 00000044  0x00000079 fetch  0x00000001 , 0x0000480c 
+ 00000045  0x0000007a nrtn  0x00000034 
+ 00000046  0x0000007b branch  0x00002b7f 
+ 00000047  0x0000007e rtnmark1  0x00000026 
+ 00000048  0x0000007f fetch  0x00000001 , 0x00004b14 
+ 00000049  0x00000080 nbranch  0x00007fef , 0x00000034 
+ 00000050  0x00000081 fetch  0x00000001 , 0x00004b0e 
+ 00000051  0x00000082 nbranch  0x00007fef , 0x00000034 
+ 00000052  0x00000085 fetch  0x00000001 , 0x000047a2 
+ 00000053  0x00000086 beq  0x00000000 , 0x00007fef 
+ 00000054  0x00000087 fetch  0x00000001 , 0x000047ca 
+ 00000055  0x00000088 beq  0x00000001 , 0x00007fef 
+ 00000056  0x00000089 fetch  0x00000002 , 0x00004248 
+ 00000057  0x0000008a nbranch  0x00007fef , 0x00000034 
+ 00000058  0x0000008b branch  0x00007ff1 
+ 00000059  0x0000008e rtnmark0  0x00000026 
+ 00000060  0x0000008f fetch  0x00000001 , 0x00004ce7 
+ 00000061  0x00000090 beq  0x00000001 , 0x00000057 
+ 00000062  0x00000092 call  0x00000386 
+ 00000063  0x00000093 nbranch  0x00000072 , 0x00000028 
+ 00000064  0x00000094 call  0x0000036b 
+ 00000065  0x00000096 call  0x000003b3 
+ 00000066  0x00000097 fetch  0x00000001 , 0x00004bb7 
+ 00000067  0x00000098 rtnne  0x000000ff 
+ 00000068  0x00000099 call  0x00000412 
+ 00000069  0x0000009a call  0x00000051 
+ 00000070  0x0000009b fetch  0x00000001 , 0x00004ce7 
+ 00000071  0x0000009c rtneq  0x00000001 
+ 00000072  0x0000009e call  0x00002afa 
+ 00000073  0x0000009f fetch  0x00000003 , 0x0000416f 
+ 00000074  0x000000a0 rtn  0x00000034 
+ 00000075  0x000000a1 fetch  0x00000001 , 0x00004091 
+ 00000076  0x000000a2 rtn  0x00000034 
+ 00000077  0x000000a3 call  0x00000097 
+ 00000078  0x000000a4 call  0x00000094 
+ 00000079  0x000000a5 setarg  0x0000f618 
+ 00000080  0x000000a6 branch  0x00002b93 
+ 00000081  0x000000a9 fetch  0x00000001 , 0x000046f5 
+ 00000082  0x000000aa rtnbit1  0x00000007 
+ 00000083  0x000000ab setarg  0x00017700 
+ 00000084  0x000000ac store  0x00000003 , 0x00004bd6 
+ 00000085  0x000000ad jam  0x0000001e , 0x00004810 
+ 00000086  0x000000ae rtn 
+ 00000087  0x000000b1 call  0x0000052a 
+ 00000088  0x000000b2 nrtn  0x00000028 
+ 00000089  0x000000b3 call  0x00000069 
+ 00000090  0x000000b4 fetch  0x00000001 , 0x00004ce8 
+ 00000091  0x000000b5 increase  0x00000001 , 0x0000003f 
+ 00000092  0x000000b6 store  0x00000001 , 0x00004ce8 
+ 00000093  0x000000b7 sub  0x0000003f , 0x00000019 , 0x0000003e 
+ 00000094  0x000000b8 call  0x00000060 , 0x00000005 
+ 00000095  0x000000b9 branch  0x0000003e 
+ 00000096  0x000000bb jam  0x00000000 , 0x00004ce7 
+ 00000097  0x000000bc jam  0x00000000 , 0x00004ce8 
+ 00000098  0x000000be jam  0x00000000 , 0x00004be2 
+ 00000099  0x000000bf fetch  0x00000001 , 0x00004bcd 
+ 00000100  0x000000c0 store  0x00000001 , 0x00004bcc 
+ 00000101  0x000000c1 rtn 
+ 00000102  0x000000c3 fetch  0x00000001 , 0x00004bce 
+ 00000103  0x000000c4 store  0x00000001 , 0x00004bcc 
+ 00000104  0x000000c5 rtn 
+ 00000105  0x000000c7 fetch  0x00000001 , 0x00004be2 
+ 00000106  0x000000c8 increase  0x00000001 , 0x0000003f 
+ 00000107  0x000000c9 store  0x00000001 , 0x00004be2 
+ 00000108  0x000000ca beq  0x00000004 , 0x00000066 
+ 00000109  0x000000cb beq  0x00000005 , 0x00000062 
+ 00000110  0x000000cc rtn 
+ 00000111  0x000000ce jam  0x00000001 , 0x00004ce7 
+ 00000112  0x000000cf jam  0x00000000 , 0x00004ce8 
+ 00000113  0x000000d0 rtn 
+ 00000114  0x000000d3 fetch  0x00000001 , 0x00004bd3 
+ 00000115  0x000000d4 call  0x0000007e , 0x00000034 
+ 00000116  0x000000d6 call  0x00002afa 
+ 00000117  0x000000d7 fetch  0x00000003 , 0x0000416f 
+ 00000118  0x000000d8 rtn  0x00000034 
+ 00000119  0x000000d9 fetch  0x00000001 , 0x00004091 
+ 00000120  0x000000da rtn  0x00000034 
+ 00000121  0x000000db call  0x00000097 
+ 00000122  0x000000dc fetch  0x00000008 , 0x00004bd6 
+ 00000123  0x000000dd call  0x00007f49 
+ 00000124  0x000000de storet  0x00000004 , 0x0000415b 
+ 00000125  0x000000df branch  0x00002b2a 
+ 00000126  0x000000e2 jam  0x00000001 , 0x00004bd3 
+ 00000127  0x000000e3 jam  0x00000000 , 0x00004cdc 
+ 00000128  0x000000e4 call  0x00000333 
+ 00000129  0x000000e5 store  0x00000001 , 0x00004b43 
+ 00000130  0x000000e6 setarg  0x00000000 
+ 00000131  0x000000e7 store  0x00000007 , 0x00004b44 
+ 00000132  0x000000e8 fetch  0x00000004 , 0x00004bde 
+ 00000133  0x000000e9 store  0x00000004 , 0x00004b4b 
+ 00000134  0x000000ea jam  0x0000000c , 0x00004ba7 
+ 00000135  0x000000eb fetch  0x00000001 , 0x00004ba8 
+ 00000136  0x000000ec set1  0x00000003 , 0x0000003f 
+ 00000137  0x000000ed store  0x00000001 , 0x00004ba8 
+ 00000138  0x000000ee call  0x00000566 
+ 00000139  0x000000ef call  0x0000038a 
+ 00000140  0x000000f0 branch  0x00000041 
+ 00000141  0x000000f4 rtnmark1  0x00000026 
+ 00000142  0x000000f5 call  0x000000a3 
+ 00000143  0x000000f6 call  0x00000097 
+ 00000144  0x000000f7 fetch  0x00000001 , 0x00004040 
+ 00000145  0x000000f8 bbit0  0x00000000 , 0x00000094 
+ 00000146  0x000000f9 fetch  0x00000001 , 0x000000a0 
+ 00000147  0x000000fa nrtn  0x00000034 
+ 00000148  0x000000fc setarg  0x00000000 
+ 00000149  0x000000fd store  0x00000008 , 0x000000a1 
+ 00000150  0x000000fe rtn 
+ 00000151  0x00000101 call  0x000000a0 
+ 00000152  0x00000102 call  0x00000094 
+ 00000153  0x00000103 call  0x00003ebf 
+ 00000154  0x00000104 hfetch  0x00000004 , 0x00008070 
+ 00000155  0x00000105 hfetcht  0x00000004 , 0x00008078 
+ 00000156  0x00000106 ior  0x00000002 , 0x00000002 
+ 00000157  0x00000107 invert  0x00000002 , 0x00000002 
+ 00000158  0x00000108 hstoret  0x00000004 , 0x0000807c 
+ 00000159  0x00000109 branch  0x00000231 
+ 00000160  0x0000010c fetch  0x00000001 , 0x00004b09 
+ 00000161  0x0000010d rtn  0x00000034 
+ 00000162  0x0000010e branch  0x0000029d 
+ 00000163  0x00000111 arg  0x00001800 , 0x00000006 
+ 00000164  0x00000112 arg  0x00004813 , 0x00000005 
+ 00000165  0x00000113 call  0x000000ae 
+ 00000166  0x00000114 arg  0x00001900 , 0x00000006 
+ 00000167  0x00000115 arg  0x0000482e , 0x00000005 
+ 00000168  0x00000116 call  0x000000ae 
+ 00000169  0x00000117 arg  0x00001a00 , 0x00000006 
+ 00000170  0x00000118 arg  0x00004849 , 0x00000005 
+ 00000171  0x00000119 call  0x000000ae 
+ 00000172  0x0000011a arg  0x00001b00 , 0x00000006 
+ 00000173  0x0000011b arg  0x00004864 , 0x00000005 
+ 00000174  0x0000011d arg  0x0000001b , 0x00000039 
+ 00000175  0x0000011e branch  0x00007f01 
+ 00000176  0x00000121 arg  0x00004813 , 0x00000006 
+ 00000177  0x00000122 arg  0x00001800 , 0x00000005 
+ 00000178  0x00000123 call  0x000000ae 
+ 00000179  0x00000124 arg  0x0000482e , 0x00000006 
+ 00000180  0x00000125 arg  0x00001900 , 0x00000005 
+ 00000181  0x00000126 call  0x000000ae 
+ 00000182  0x00000127 arg  0x00004849 , 0x00000006 
+ 00000183  0x00000128 arg  0x00001a00 , 0x00000005 
+ 00000184  0x00000129 call  0x000000ae 
+ 00000185  0x0000012a arg  0x00004864 , 0x00000006 
+ 00000186  0x0000012b arg  0x00001b00 , 0x00000005 
+ 00000187  0x0000012c branch  0x000000ae 
+ 00000188  0x0000012f call  0x00003416 
+ 00000189  0x00000130 branch  0x000000c6 , 0x0000002b 
+ 00000190  0x00000131 jam  0x00000020 , 0x00008078 
+ 00000191  0x00000133 call  0x00000601 
+ 00000192  0x00000134 fetch  0x00000001 , 0x000041de 
+ 00000193  0x00000135 store  0x00000001 , 0x00004c5e 
+ 00000194  0x00000136 call  0x00000401 
+ 00000195  0x00000137 fetch  0x00000001 , 0x00004685 
+ 00000196  0x00000138 store  0x00000001 , 0x000046da 
+ 00000197  0x00000139 call  0x000043ca 
+ 00000198  0x0000013b call  0x000000c8 
+ 00000199  0x0000013c branch  0x000074b9 
+ 00000200  0x0000013f ncall  0x0000011a , 0x0000002b 
+ 00000201  0x00000140 call  0x000000f5 
+ 00000202  0x00000141 rtn  0x0000002b 
+ 00000203  0x00000142 jam  0x00000001 , 0x0000477a 
+ 00000204  0x00000143 call  0x00000163 
+ 00000205  0x0000014a branch  0x0000014a 
+ 00000206  0x0000014c call  0x0000024b 
+ 00000207  0x0000014f beq  0x00000007 , 0x000000d1 
+ 00000208  0x00000150 rtn 
+ 00000209  0x00000154 setarg  0x00001bb7 
+ 00000210  0x00000155 store  0x00000002 , 0x00004720 
+ 00000211  0x00000156 arg  0x00000002 , 0x00000002 
+ 00000212  0x00000157 arg  0x00004720 , 0x00000011 
+ 00000213  0x00000158 setarg  0x00000000 
+ 00000214  0x00000159 call  0x0000663d 
+ 00000215  0x0000015a jam  0x00000001 , 0x00008010 
+ 00000216  0x0000015b rtn 
+ 00000217  0x0000015e call  0x000001ad 
+ 00000218  0x0000015f fetch  0x00000001 , 0x00004210 
+ 00000219  0x00000160 beq  0x00000034 , 0x000000dd 
+ 00000220  0x00000161 rtn 
+ 00000221  0x00000166 call  0x000000ed 
+ 00000222  0x00000167 jam  0x00000001 , 0x000047a5 
+ 00000223  0x00000168 fetch  0x00000002 , 0x000046a8 
+ 00000224  0x00000169 store  0x00000002 , 0x000046ae 
+ 00000225  0x0000016a call  0x00003418 
+ 00000226  0x0000016b call  0x000000e6 
+ 00000227  0x0000016c setarg  0x00000004 
+ 00000228  0x0000016d istore  0x00000001 , 0x00000006 
+ 00000229  0x0000016e branch  0x00007df4 
+ 00000230  0x00000171 arg  0x00004370 , 0x00000011 
+ 00000231  0x00000173 ifetch  0x00000001 , 0x00000011 
+ 00000232  0x00000174 rtn  0x00000034 
+ 00000233  0x00000175 iadd  0x00000006 , 0x00000011 
+ 00000234  0x00000176 ifetch  0x00000001 , 0x00000006 
+ 00000235  0x00000177 rtneq  0x00000001 
+ 00000236  0x00000178 branch  0x000000e7 
+ 00000237  0x0000017b jam  0x00000001 , 0x00004b17 
+ 00000238  0x0000017c jam  0x00000009 , 0x00004b14 
+ 00000239  0x0000017d branch  0x0000023d 
+ 00000240  0x0000018f fetch  0x00000004 , 0x000046d3 
+ 00000241  0x00000190 bbit0  0x00000014 , 0x00003d66 
+ 00000242  0x00000191 fetch  0x00000001 , 0x0000477a 
+ 00000243  0x00000192 beq  0x000000ff , 0x00003d66 
+ 00000244  0x00000193 branch  0x00003d80 
+ 00000245  0x00000196 jam  0x00000076 , 0x00004212 
+ 00000246  0x00000197 branch  0x00003d36 
+ 00000247  0x0000019a call  0x000000f5 
+ 00000248  0x0000019b call  0x000040c0 
+ 00000249  0x0000019c fetch  0x00000001 , 0x000046e0 
+ 00000250  0x0000019d beq  0x00000005 , 0x000040d5 
+ 00000251  0x0000019f call  0x000040d9 
+ 00000252  0x000001a0 beq  0x00000030 , 0x00000105 
+ 00000253  0x000001a1 beq  0x00000031 , 0x0000010b 
+ 00000254  0x000001a2 call  0x000040d1 
+ 00000255  0x000001a3 nop  0x000003e8 
+ 00000256  0x000001a4 branch  0x000000fb 
+ 00000257  0x000001a7 jam  0x00000001 , 0x00004b09 
+ 00000258  0x000001a8 call  0x0000640f 
+ 00000259  0x000001a9 call  0x000000f7 
+ 00000260  0x000001aa branch  0x00006411 
+ 00000261  0x000001ad call  0x00000110 
+ 00000262  0x000001ae fetch  0x00000001 , 0x000046de 
+ 00000263  0x000001af beq  0x0000005a , 0x00000109 
+ 00000264  0x000001b0 branch  0x000040e0 
+ 00000265  0x000001b2 jam  0x00000007 , 0x000046e0 
+ 00000266  0x000001b3 rtn 
+ 00000267  0x000001b6 call  0x00000110 
+ 00000268  0x000001b7 fetch  0x00000001 , 0x000046de 
+ 00000269  0x000001b8 beq  0x00000070 , 0x000040e8 
+ 00000270  0x000001b9 jam  0x00000001 , 0x000046e0 
+ 00000271  0x000001ba rtn 
+ 00000272  0x000001bd setarg  0x00008006 
+ 00000273  0x000001be call  0x00006413 
+ 00000274  0x000001bf nop  0x00002ee0 
+ 00000275  0x000001c0 branch  0x000000f0 
+ 00000276  0x000001c2 setarg  0x00000006 
+ 00000277  0x000001c3 call  0x00006414 
+ 00000278  0x000001c4 or  0x0000003f , 0x00000008 , 0x0000003f 
+ 00000279  0x000001c5 lshift8  0x0000003f , 0x0000003f 
+ 00000280  0x000001c6 add  0x0000003f , 0x00000006 , 0x0000003f 
+ 00000281  0x000001c7 branch  0x00006413 
+ 00000282  0x000001ca call  0x0000032d 
+ 00000283  0x000001cc hfetch  0x00000001 , 0x00008a00 
+ 00000284  0x000001cd set0  0x00000004 , 0x0000003f 
+ 00000285  0x000001ce hstore  0x00000001 , 0x00008a00 
+ 00000286  0x000001cf call  0x00003e6e 
+ 00000287  0x000001d1 fetcht  0x00000001 , 0x00004b0d 
+ 00000288  0x000001d2 call  0x0000680e 
+ 00000289  0x000001d4 call  0x00003e1e 
+ 00000290  0x000001d5 setarg  0x00000000 
+ 00000291  0x000001d6 store  0x00000002 , 0x00004154 
+ 00000292  0x000001d7 call  0x00000134 
+ 00000293  0x000001d8 setarg  0x00001802 
+ 00000294  0x000001d9 store  0x00000002 , 0x000040bd 
+ 00000295  0x000001da call  0x00003e54 
+ 00000296  0x000001db call  0x00005810 
+ 00000297  0x000001dc call  0x00005839 
+ 00000298  0x000001dd call  0x0000582c 
+ 00000299  0x000001de call  0x00005818 
+ 00000300  0x000001e4 call  0x0000659c 
+ 00000301  0x000001e5 fetch  0x00000004 , 0x000046d3 
+ 00000302  0x000001e6 isolate1  0x00000019 , 0x0000003f 
+ 00000303  0x000001e7 ncall  0x000065c2 , 0x00000001 
+ 00000304  0x000001e8 call  0x0000443f 
+ 00000305  0x000001e9 call  0x0000013e 
+ 00000306  0x000001eb call  0x000001a9 
+ 00000307  0x000001ec branch  0x000065df 
+ 00000308  0x000001ef fetch  0x00000004 , 0x000046d3 
+ 00000309  0x000001f0 rtnbit0  0x0000001f 
+ 00000310  0x000001f2 fetcht  0x00000001 , 0x000046f7 
+ 00000311  0x000001f3 call  0x000067fb 
+ 00000312  0x000001f4 fetcht  0x00000001 , 0x000046f7 
+ 00000313  0x000001f5 call  0x0000681d 
+ 00000314  0x000001f6 jam  0x00000002 , 0x000046f6 
+ 00000315  0x000001f7 rtn  0x00000001 
+ 00000316  0x000001f8 jam  0x00000001 , 0x000046f6 
+ 00000317  0x000001f9 rtn 
+ 00000318  0x000001fd call  0x000033c4 
+ 00000319  0x000001fe branch  0x00004316 , 0x00000005 
+ 00000320  0x000001ff call  0x000002ec 
+ 00000321  0x00000200 branch  0x00003dcb 
+ 00000322  0x00000203 arg  0x00000002 , 0x00000002 
+ 00000323  0x00000204 arg  0x00000aaa , 0x00000011 
+ 00000324  0x00000205 arg  0x00000062 , 0x00000012 
+ 00000325  0x00000206 branch  0x000065d1 
+ 00000326  0x00000209 arg  0x00000002 , 0x00000002 
+ 00000327  0x0000020a arg  0x00000a9a , 0x00000011 
+ 00000328  0x0000020b arg  0x00000062 , 0x00000012 
+ 00000329  0x0000020c branch  0x000033c8 
+ 00000330  0x00000227 fetch  0x00000004 , 0x000046d3 
+ 00000331  0x00000228 bbit0  0x0000001e , 0x00000151 
+ 00000332  0x00000229 fetch  0x00000001 , 0x00000abd 
+ 00000333  0x0000022a isolate0  0x00000003 , 0x0000003f 
+ 00000334  0x0000022b nbranch  0x00000151 , 0x00000001 
+ 00000335  0x0000022c call  0x000000f7 
+ 00000336  0x0000022d call  0x00000114 
+ 00000337  0x0000022f fetch  0x00000001 , 0x0000471f 
+ 00000338  0x00000230 store  0x00000001 , 0x0000471e 
+ 00000339  0x00000231 fetch  0x00000001 , 0x000046f5 
+ 00000340  0x00000232 rtnbit1  0x00000005 
+ 00000341  0x00000233 rtnbit1  0x00000006 
+ 00000342  0x00000235 fetch  0x00000004 , 0x000046d3 
+ 00000343  0x00000236 rtnbit0  0x00000011 
+ 00000344  0x00000237 fetch  0x00000001 , 0x00000abd 
+ 00000345  0x00000239 branch  0x0000048b 
+ 00000346  0x0000023c arg  0x00000002 , 0x00000039 
+ 00000347  0x0000023d arg  0x00004bcf , 0x00000006 
+ 00000348  0x0000023f call  0x00007fe7 
+ 00000349  0x00000240 setarg  0x0000ffff 
+ 00000350  0x00000242 ifetcht  0x00000002 , 0x00000006 
+ 00000351  0x00000243 isub  0x00000002 , 0x0000003e 
+ 00000352  0x00000244 ncall  0x00007fe9 , 0x00000005 
+ 00000353  0x00000245 loop  0x0000015e 
+ 00000354  0x00000246 rtn 
+ 00000355  0x00000249 setarg  0x00000172 
+ 00000356  0x0000024a store  0x00000002 , 0x00004cd8 
+ 00000357  0x0000024b setarg  0x0000008d 
+ 00000358  0x0000024c store  0x00000002 , 0x000041ed 
+ 00000359  0x0000024d setarg  0x00000196 
+ 00000360  0x0000024e store  0x00000002 , 0x000041f5 
+ 00000361  0x0000024f setarg  0x00000181 
+ 00000362  0x00000250 store  0x00000002 , 0x000041f3 
+ 00000363  0x00000251 setarg  0x000001c2 
+ 00000364  0x00000252 store  0x00000002 , 0x000041eb 
+ 00000365  0x00000253 setarg  0x000001d1 
+ 00000366  0x00000254 store  0x00000002 , 0x000041fd 
+ 00000367  0x00000255 setarg  0x00003d36 
+ 00000368  0x00000256 store  0x00000002 , 0x00004201 
+ 00000369  0x00000257 rtn 
+ 00000370  0x0000025a call  0x00004401 
+ 00000371  0x0000025b fetch  0x00000002 , 0x0000469f 
+ 00000372  0x0000025c rtn  0x00000034 
+ 00000373  0x0000025d branch  0x0000006f 
+ 00000374  0x00000260 fetch  0x00000001 , 0x000046f5 
+ 00000375  0x00000261 rtnbit1  0x00000007 
+ 00000376  0x00000262 jam  0x00000000 , 0x00004172 
+ 00000377  0x00000263 jam  0x0000001e , 0x0000480f 
+ 00000378  0x00000264 rtn 
+ 00000379  0x00000267 jam  0x00000001 , 0x0000480c 
+ 00000380  0x00000268 jam  0x00000002 , 0x0000480d 
+ 00000381  0x00000269 rtn 
+ 00000382  0x0000026d call  0x00005814 
+ 00000383  0x0000026e jam  0x00000001 , 0x000047a2 
+ 00000384  0x0000026f branch  0x00000110 
+ 00000385  0x00000273 call  0x00007e34 
+ 00000386  0x00000275 branch  0x00003ee0 
+ 00000387  0x00000278 fetcht  0x00000001 , 0x000046e7 
+ 00000388  0x00000279 call  0x00000274 
+ 00000389  0x0000027a fetcht  0x00000001 , 0x000046e7 
+ 00000390  0x0000027b call  0x0000681d 
+ 00000391  0x0000027c branch  0x00000194 , 0x00000001 
+ 00000392  0x0000027d call  0x0000027d 
+ 00000393  0x0000027f fetch  0x00000001 , 0x000046b6 
+ 00000394  0x00000280 rtneq  0x00000000 
+ 00000395  0x00000281 jam  0x00000000 , 0x000046b6 
+ 00000396  0x00000282 fetch  0x00000001 , 0x0000477a 
+ 00000397  0x00000283 increase  0x00000001 , 0x0000003f 
+ 00000398  0x00000284 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00000399  0x00000285 store  0x00000001 , 0x0000477a 
+ 00000400  0x00000286 increase  0x00000002 , 0x0000003f 
+ 00000401  0x00000287 store  0x00000002 , 0x00004b14 
+ 00000402  0x00000288 call  0x0000023d 
+ 00000403  0x00000289 branch  0x00003d74 
+ 00000404  0x0000028c call  0x0000027d 
+ 00000405  0x0000028d branch  0x00003d62 
+ 00000406  0x000002aa copy  0x00000013 , 0x0000003f 
+ 00000407  0x000002ab beq  0x00000039 , 0x0000019b 
+ 00000408  0x000002ac beq  0x0000003a , 0x000001b0 
+ 00000409  0x000002ad beq  0x0000003c , 0x000001c0 
+ 00000410  0x000002ae branch  0x0000417d 
+ 00000411  0x000002b4 call  0x00000101 
+ 00000412  0x000002b6 jam  0x00000001 , 0x0000478b 
+ 00000413  0x000002b7 arg  0x00000003 , 0x00000007 
+ 00000414  0x000002b8 call  0x000043d2 
+ 00000415  0x000002b9 setarg  0x00000000 
+ 00000416  0x000002ba store  0x00000002 , 0x00004707 
+ 00000417  0x000002bb jam  0x00000000 , 0x000046a7 
+ 00000418  0x000002bd fetch  0x00000001 , 0x000046e0 
+ 00000419  0x000002be sub  0x0000003f , 0x00000005 , 0x0000003e 
+ 00000420  0x000002bf call  0x00004039 , 0x00000005 
+ 00000421  0x000002c0 ncall  0x0000405d , 0x00000005 
+ 00000422  0x000002c2 call  0x000001ad 
+ 00000423  0x000002c6 call  0x000001a9 
+ 00000424  0x000002c7 branch  0x000065d1 
+ 00000425  0x000002ca arg  0x00004bcf , 0x00000011 
+ 00000426  0x000002cb arg  0x0000005b , 0x00000012 
+ 00000427  0x000002cc arg  0x00000004 , 0x00000002 
+ 00000428  0x000002cd rtn 
+ 00000429  0x000002d6 fetch  0x00000001 , 0x00004c5e 
+ 00000430  0x000002d7 store  0x00000001 , 0x000041de 
+ 00000431  0x000002d8 rtn 
+ 00000432  0x000002db call  0x000001cd 
+ 00000433  0x000002dc jam  0x00000000 , 0x00004ce7 
+ 00000434  0x000002dd call  0x000001ad 
+ 00000435  0x000002de call  0x000004cc 
+ 00000436  0x000002df fetch  0x00000001 , 0x0000487f 
+ 00000437  0x000002e0 bbit1  0x00000000 , 0x000001bd 
+ 00000438  0x000002e1 jam  0x00000000 , 0x000041bd 
+ 00000439  0x000002e2 call  0x00004316 
+ 00000440  0x000002e3 arg  0x00000003 , 0x00000039 
+ 00000441  0x000002e4 arg  0x00004722 , 0x00000006 
+ 00000442  0x000002e5 call  0x0000015c 
+ 00000443  0x000002e6 branch  0x000001bd , 0x00000028 
+ 00000444  0x000002e7 branch  0x000000d9 
+ 00000445  0x000002ea jam  0x00000001 , 0x000047a3 
+ 00000446  0x000002eb jam  0x00000028 , 0x000047a4 
+ 00000447  0x000002ec rtn 
+ 00000448  0x000002ef call  0x00000101 
+ 00000449  0x000002f0 branch  0x00003f8d 
+ 00000450  0x000002f3 enable  0x00000028 
+ 00000451  0x000002f4 hfetch  0x00000004 , 0x00008138 
+ 00000452  0x000002f5 setflag  0x00000028 , 0x0000001a , 0x0000003f 
+ 00000453  0x000002f6 hstore  0x00000004 , 0x0000804c 
+ 00000454  0x000002f7 call  0x00002c21 
+ 00000455  0x000002f8 call  0x000001cd 
+ 00000456  0x000002f9 call  0x000074bd 
+ 00000457  0x000002fa call  0x00004482 
+ 00000458  0x000002fb call  0x00003e9f 
+ 00000459  0x000002fc call  0x00003ebf 
+ 00000460  0x000002fd branch  0x00000231 
+ 00000461  0x00000300 fetch  0x00000001 , 0x00004b09 
+ 00000462  0x00000301 rtn  0x00000034 
+ 00000463  0x00000302 jam  0x00000000 , 0x00004b09 
+ 00000464  0x00000303 branch  0x00000114 
+ 00000465  0x00000307 call  0x000001e0 
+ 00000466  0x00000308 call  0x000001e7 
+ 00000467  0x00000309 call  0x000001db 
+ 00000468  0x0000030a call  0x0000020b 
+ 00000469  0x0000030b call  0x000001f1 
+ 00000470  0x0000030c call  0x00000183 
+ 00000471  0x0000030d call  0x00004234 
+ 00000472  0x0000030e call  0x00004237 
+ 00000473  0x0000030f call  0x0000423a 
+ 00000474  0x00000310 branch  0x000001ee 
+ 00000475  0x00000315 arg  0x0000480d , 0x00000013 
+ 00000476  0x00000316 arg  0x000001de , 0x00000012 
+ 00000477  0x00000317 branch  0x0000336d 
+ 00000478  0x00000319 jam  0x00000000 , 0x0000480c 
+ 00000479  0x0000031a rtn 
+ 00000480  0x0000031d arg  0x00004810 , 0x00000013 
+ 00000481  0x0000031e arg  0x000001e3 , 0x00000012 
+ 00000482  0x0000031f branch  0x0000336d 
+ 00000483  0x00000321 setarg  0x0036ee80 
+ 00000484  0x00000322 store  0x00000003 , 0x00004bd6 
+ 00000485  0x00000323 jam  0x00000001 , 0x0000480e 
+ 00000486  0x00000324 rtn 
+ 00000487  0x00000327 arg  0x0000480f , 0x00000013 
+ 00000488  0x00000328 arg  0x000001ea , 0x00000012 
+ 00000489  0x00000329 branch  0x0000336d 
+ 00000490  0x0000032b fetch  0x00000001 , 0x000047cb 
+ 00000491  0x0000032c store  0x00000001 , 0x00004172 
+ 00000492  0x0000032d jam  0x00000001 , 0x0000480e 
+ 00000493  0x0000032e rtn 
+ 00000494  0x00000331 arg  0x000046c6 , 0x00000013 
+ 00000495  0x00000332 arg  0x00003d60 , 0x00000012 
+ 00000496  0x00000333 branch  0x0000336d 
+ 00000497  0x00000336 fetch  0x00000001 , 0x000046f5 
+ 00000498  0x00000337 bbit1  0x00000004 , 0x00004394 
+ 00000499  0x0000033e fetch  0x00000001 , 0x00004685 
+ 00000500  0x0000033f store  0x00000001 , 0x000046da 
+ 00000501  0x00000340 fetch  0x00000001 , 0x000046db 
+ 00000502  0x00000341 rtneq  0x00000001 
+ 00000503  0x00000342 jam  0x00000001 , 0x000046db 
+ 00000504  0x00000343 arg  0x00000009 , 0x00000007 
+ 00000505  0x00000344 call  0x000043d2 
+ 00000506  0x00000345 branch  0x000043ca 
+ 00000507  0x00000347 jam  0x00000028 , 0x000047a4 
+ 00000508  0x00000348 call  0x000001fe 
+ 00000509  0x00000349 branch  0x000043b0 
+ 00000510  0x0000034c arg  0x000046da , 0x00000013 
+ 00000511  0x0000034d arg  0x00000201 , 0x00000012 
+ 00000512  0x0000034e branch  0x0000336d 
+ 00000513  0x00000351 call  0x000001cd 
+ 00000514  0x00000352 fetch  0x00000002 , 0x00004682 
+ 00000515  0x00000353 isolate1  0x0000000b , 0x0000003f 
+ 00000516  0x00000354 call  0x000042d4 , 0x00000001 
+ 00000517  0x00000355 fetch  0x00000002 , 0x00004682 
+ 00000518  0x00000356 isolate1  0x00000007 , 0x0000003f 
+ 00000519  0x00000357 call  0x00004392 , 0x00000001 
+ 00000520  0x00000358 arg  0x00000009 , 0x00000007 
+ 00000521  0x00000359 call  0x000043ce 
+ 00000522  0x0000035a branch  0x000043b8 
+ 00000523  0x0000035d fetch  0x00000001 , 0x000047a3 
+ 00000524  0x0000035e rtn  0x00000034 
+ 00000525  0x0000035f fetch  0x00000001 , 0x000047a4 
+ 00000526  0x00000360 branch  0x00000212 , 0x00000034 
+ 00000527  0x00000361 increase  0xffffffff , 0x0000003f 
+ 00000528  0x00000362 store  0x00000001 , 0x000047a4 
+ 00000529  0x00000363 rtn 
+ 00000530  0x00000365 jam  0x00000000 , 0x000047a3 
+ 00000531  0x00000366 branch  0x0000340a 
+ 00000532  0x00000379 fetch  0x00000001 , 0x00004b12 
+ 00000533  0x0000037a increase  0xffffffff , 0x0000003f 
+ 00000534  0x0000037b store  0x00000001 , 0x00004b12 
+ 00000535  0x0000037c nrtn  0x00000034 
+ 00000536  0x0000037d fetch  0x00000001 , 0x00004b13 
+ 00000537  0x0000037e store  0x00000001 , 0x00004b12 
+ 00000538  0x0000037f fetch  0x00000001 , 0x00004b15 
+ 00000539  0x00000380 branch  0x00000220 , 0x00000034 
+ 00000540  0x00000381 fetch  0x00000001 , 0x00004b14 
+ 00000541  0x00000382 branch  0x00000227 , 0x00000034 
+ 00000542  0x00000383 increase  0xffffffff , 0x0000003f 
+ 00000543  0x00000384 store  0x00000001 , 0x00004b14 
+ 00000544  0x00000386 fetch  0x00000001 , 0x00004b0e 
+ 00000545  0x00000387 beq  0x00000001 , 0x0000022b 
+ 00000546  0x00000388 beq  0x00000000 , 0x00000224 
+ 00000547  0x00000389 rtn 
+ 00000548  0x0000038c jam  0x00000001 , 0x00004b0e 
+ 00000549  0x0000038d fetcht  0x00000001 , 0x00004b0d 
+ 00000550  0x0000038e branch  0x00006829 
+ 00000551  0x00000391 jam  0x00000000 , 0x00004b17 
+ 00000552  0x00000392 jam  0x00000000 , 0x00004b12 
+ 00000553  0x00000393 jam  0x00000000 , 0x00004b14 
+ 00000554  0x00000394 jam  0x00000000 , 0x00004b15 
+ 00000555  0x00000396 fetch  0x00000001 , 0x00004b14 
+ 00000556  0x00000397 nbranch  0x0000022f , 0x00000034 
+ 00000557  0x00000398 jam  0x00000000 , 0x00004b0c 
+ 00000558  0x00000399 jam  0x00000000 , 0x00004b0f 
+ 00000559  0x0000039b jam  0x00000000 , 0x00004b10 
+ 00000560  0x0000039c jam  0x00000000 , 0x00004b0e 
+ 00000561  0x0000039e fetcht  0x00000001 , 0x00004b0d 
+ 00000562  0x0000039f branch  0x00006825 
+ 00000563  0x000003aa jam  0x00000001 , 0x00004b12 
+ 00000564  0x000003ab jam  0x00000005 , 0x00004b13 
+ 00000565  0x000003ac jam  0x00000000 , 0x00004b15 
+ 00000566  0x000003ad jam  0x00000001 , 0x00004b14 
+ 00000567  0x000003af jam  0x00000001 , 0x00004b0c 
+ 00000568  0x000003b0 jam  0x00000001 , 0x00004b0f 
+ 00000569  0x000003b1 rtn 
+ 00000570  0x000003b8 fetch  0x00000001 , 0x00004b17 
+ 00000571  0x000003b9 nrtn  0x00000034 
+ 00000572  0x000003ba branch  0x00000228 
+ 00000573  0x000003bd jam  0x00000001 , 0x00004b12 
+ 00000574  0x000003be jam  0x00000003 , 0x00004b13 
+ 00000575  0x000003bf jam  0x00000001 , 0x00004b15 
+ 00000576  0x000003c0 branch  0x00000237 
+ 00000577  0x000003c3 disable  0x00000028 
+ 00000578  0x000003c4 setarg  0x00000000 
+ 00000579  0x000003c5 store  0x00000006 , 0x0000469b 
+ 00000580  0x000003c6 call  0x00000282 
+ 00000581  0x000003c7 call  0x00004079 
+ 00000582  0x000003c8 call  0x0000407e 
+ 00000583  0x000003c9 call  0x00000249 
+ 00000584  0x000003ca branch  0x00003f9f 
+ 00000585  0x000003cd call  0x0000024b 
+ 00000586  0x000003ce branch  0x0000409a 
+ 00000587  0x000003d0 arg  0x00000000 , 0x00000011 
+ 00000588  0x000003d1 call  0x00000256 
+ 00000589  0x000003d2 call  0x0000025c 
+ 00000590  0x000003d3 call  0x00000262 
+ 00000591  0x000003d4 call  0x00000252 
+ 00000592  0x000003d5 copy  0x00000011 , 0x0000003f 
+ 00000593  0x000003d6 rtn 
+ 00000594  0x000003d8 fetch  0x00000001 , 0x000046e5 
+ 00000595  0x000003d9 rtneq  0x000000ff 
+ 00000596  0x000003da call  0x00000268 
+ 00000597  0x000003db branch  0x0000026e 
+ 00000598  0x000003de fetcht  0x00000001 , 0x000046e2 
+ 00000599  0x000003df call  0x0000027d 
+ 00000600  0x000003e0 fetcht  0x00000001 , 0x000046e2 
+ 00000601  0x000003e1 call  0x0000681d 
+ 00000602  0x000003e2 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00000603  0x000003e3 rtn 
+ 00000604  0x000003e5 fetcht  0x00000001 , 0x000046e3 
+ 00000605  0x000003e6 call  0x0000027d 
+ 00000606  0x000003e7 fetcht  0x00000001 , 0x000046e3 
+ 00000607  0x000003e8 call  0x0000681d 
+ 00000608  0x000003e9 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00000609  0x000003ea rtn 
+ 00000610  0x000003ec fetcht  0x00000001 , 0x000046e4 
+ 00000611  0x000003ed call  0x0000027d 
+ 00000612  0x000003ee fetcht  0x00000001 , 0x000046e4 
+ 00000613  0x000003ef call  0x0000681d 
+ 00000614  0x000003f0 setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00000615  0x000003f1 rtn 
+ 00000616  0x000003f3 fetcht  0x00000001 , 0x000046e5 
+ 00000617  0x000003f4 call  0x00000274 
+ 00000618  0x000003f5 fetcht  0x00000001 , 0x000046e5 
+ 00000619  0x000003f6 call  0x0000681d 
+ 00000620  0x000003f7 nsetflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00000621  0x000003f8 branch  0x0000027d 
+ 00000622  0x000003fa fetcht  0x00000001 , 0x000046e6 
+ 00000623  0x000003fb call  0x00000274 
+ 00000624  0x000003fc fetcht  0x00000001 , 0x000046e6 
+ 00000625  0x000003fd call  0x0000681d 
+ 00000626  0x000003fe nsetflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00000627  0x000003ff branch  0x0000027d 
+ 00000628  0x00000401 set0  0x00000007 , 0x00000002 
+ 00000629  0x00000402 arg  0x00008078 , 0x00000005 
+ 00000630  0x00000403 call  0x00006830 
+ 00000631  0x00000404 set1  0x00000007 , 0x00000002 
+ 00000632  0x00000405 arg  0x0000807c , 0x00000005 
+ 00000633  0x00000406 call  0x00006830 
+ 00000634  0x00000407 set0  0x00000007 , 0x00000002 
+ 00000635  0x00000408 arg  0x00008070 , 0x00000005 
+ 00000636  0x00000409 branch  0x00006830 
+ 00000637  0x0000040c set1  0x00000007 , 0x00000002 
+ 00000638  0x0000040d arg  0x00008078 , 0x00000005 
+ 00000639  0x0000040e call  0x00006830 
+ 00000640  0x0000040f set0  0x00000007 , 0x00000002 
+ 00000641  0x00000410 branch  0x00000278 
+ 00000642  0x00000413 fetch  0x00000001 , 0x00004239 
+ 00000643  0x00000414 rtnne  0x00000000 
+ 00000644  0x00000415 fetch  0x00000001 , 0x000046e0 
+ 00000645  0x00000416 beq  0x00000000 , 0x0000028d 
+ 00000646  0x00000417 beq  0x00000001 , 0x0000028d 
+ 00000647  0x00000418 beq  0x00000002 , 0x0000028d 
+ 00000648  0x00000419 beq  0x00000003 , 0x0000028d 
+ 00000649  0x0000041a beq  0x00000004 , 0x00000295 
+ 00000650  0x0000041b beq  0x00000005 , 0x00004010 
+ 00000651  0x0000041c beq  0x00000006 , 0x0000028d 
+ 00000652  0x0000041d branch  0x0000028d 
+ 00000653  0x00000420 call  0x00003fc0 
+ 00000654  0x00000421 disable  0x00000028 
+ 00000655  0x00000422 fetch  0x00000001 , 0x000046f5 
+ 00000656  0x00000423 bbit0  0x00000007 , 0x00003fe7 
+ 00000657  0x00000424 fetcht  0x00000001 , 0x000046f3 
+ 00000658  0x00000425 call  0x0000681d 
+ 00000659  0x00000426 nrtn  0x00000001 
+ 00000660  0x00000427 branch  0x00003fe7 
+ 00000661  0x00000429 call  0x00003fc0 
+ 00000662  0x0000042a fetch  0x00000001 , 0x000046f5 
+ 00000663  0x0000042b bbit0  0x00000007 , 0x00003fc8 
+ 00000664  0x0000042c fetcht  0x00000001 , 0x000046f3 
+ 00000665  0x0000042d call  0x0000681d 
+ 00000666  0x0000042e nrtn  0x00000001 
+ 00000667  0x0000042f branch  0x00003fc8 
+ 00000668  0x00000432 call  0x0000424a 
+ 00000669  0x00000433 fetch  0x00000001 , 0x000046e0 
+ 00000670  0x00000434 beq  0x00000005 , 0x00003daa 
+ 00000671  0x00000435 beq  0x00000004 , 0x000002dd 
+ 00000672  0x00000436 beq  0x00000006 , 0x000002c6 
+ 00000673  0x00000438 beq  0x00000007 , 0x000002b6 
+ 00000674  0x00000439 branch  0x00003d81 
+ 00000675  0x0000043b fetch  0x00000001 , 0x0000477a 
+ 00000676  0x0000043c sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00000677  0x0000043d call  0x000002ac , 0x00000005 
+ 00000678  0x0000043e fetch  0x00000001 , 0x0000477a 
+ 00000679  0x0000043f beq  0x00000000 , 0x000002ae 
+ 00000680  0x00000440 beq  0x00000001 , 0x000002b0 
+ 00000681  0x00000441 beq  0x00000002 , 0x000002b2 
+ 00000682  0x00000442 beq  0x00000003 , 0x000002b4 
+ 00000683  0x00000443 branch  0x000002b2 
+ 00000684  0x00000445 jam  0x00000002 , 0x0000477a 
+ 00000685  0x00000446 rtn 
+ 00000686  0x00000448 jam  0x00000001 , 0x00004880 
+ 00000687  0x00000449 branch  0x00003d8a 
+ 00000688  0x0000044b jam  0x00000001 , 0x00004880 
+ 00000689  0x0000044c branch  0x00003d8a 
+ 00000690  0x0000044e jam  0x00000002 , 0x00004880 
+ 00000691  0x0000044f branch  0x00003d8c 
+ 00000692  0x00000451 jam  0x00000003 , 0x00004880 
+ 00000693  0x00000452 branch  0x00003d8e 
+ 00000694  0x00000455 fetch  0x00000001 , 0x0000477a 
+ 00000695  0x00000456 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00000696  0x00000457 call  0x000002cf , 0x00000005 
+ 00000697  0x00000458 fetch  0x00000001 , 0x0000477a 
+ 00000698  0x00000459 beq  0x00000000 , 0x000002d5 
+ 00000699  0x0000045b beq  0x00000002 , 0x000002d7 
+ 00000700  0x0000045c beq  0x00000003 , 0x000002da 
+ 00000701  0x0000045d branch  0x000002d7 
+ 00000702  0x0000045f jam  0x00000002 , 0x0000477a 
+ 00000703  0x00000460 rtn 
+ 00000704  0x00000467 fetch  0x00000001 , 0x0000478f 
+ 00000705  0x00000468 branch  0x00003dbe 
+ 00000706  0x0000046e fetch  0x00000001 , 0x0000478d 
+ 00000707  0x0000046f branch  0x00003dbe 
+ 00000708  0x00000472 fetch  0x00000001 , 0x0000478e 
+ 00000709  0x00000473 branch  0x00003dbe 
+ 00000710  0x00000476 fetch  0x00000001 , 0x0000477a 
+ 00000711  0x00000477 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00000712  0x00000478 call  0x000002cf , 0x00000005 
+ 00000713  0x00000479 fetch  0x00000001 , 0x0000477a 
+ 00000714  0x0000047a beq  0x00000000 , 0x000002d1 
+ 00000715  0x0000047b beq  0x00000001 , 0x000002d5 
+ 00000716  0x0000047c beq  0x00000002 , 0x000002d7 
+ 00000717  0x0000047d beq  0x00000003 , 0x000002da 
+ 00000718  0x0000047e branch  0x000002d7 
+ 00000719  0x00000480 jam  0x00000002 , 0x0000477a 
+ 00000720  0x00000481 rtn 
+ 00000721  0x00000483 jam  0x00000001 , 0x00004880 
+ 00000722  0x00000484 fetch  0x00000001 , 0x0000477f 
+ 00000723  0x00000485 increase  0xffffffff , 0x0000003f 
+ 00000724  0x00000486 branch  0x00003dbe 
+ 00000725  0x00000488 fetch  0x00000001 , 0x0000478d 
+ 00000726  0x00000489 branch  0x00003dbe 
+ 00000727  0x0000048b jam  0x00000002 , 0x00004880 
+ 00000728  0x0000048c fetch  0x00000001 , 0x0000478e 
+ 00000729  0x0000048d branch  0x00003dbe 
+ 00000730  0x0000048f jam  0x00000003 , 0x00004880 
+ 00000731  0x00000490 fetch  0x00000001 , 0x0000478f 
+ 00000732  0x00000491 branch  0x00003dbe 
+ 00000733  0x00000494 fetch  0x00000001 , 0x0000477a 
+ 00000734  0x00000495 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00000735  0x00000496 call  0x000002ac , 0x00000005 
+ 00000736  0x00000497 fetch  0x00000001 , 0x0000477a 
+ 00000737  0x00000498 beq  0x00000000 , 0x00003d9d 
+ 00000738  0x00000499 beq  0x00000001 , 0x00003d9b 
+ 00000739  0x0000049a beq  0x00000002 , 0x00003d9f 
+ 00000740  0x0000049b beq  0x00000003 , 0x00003da1 
+ 00000741  0x0000049c branch  0x00003d9f 
+ 00000742  0x0000049f jam  0x00000000 , 0x000047a3 
+ 00000743  0x000004a0 jam  0x00000000 , 0x000047a4 
+ 00000744  0x000004a1 bmark1  0x00000026 , 0x000002ea 
+ 00000745  0x000004a2 branch  0x0000426d 
+ 00000746  0x000004a4 call  0x000004cc 
+ 00000747  0x000004a5 branch  0x0000426d 
+ 00000748  0x000004a9 call  0x000068a2 
+ 00000749  0x000004aa fetch  0x00000002 , 0x0000421d 
+ 00000750  0x000004ab branch  0x000002f1 , 0x00000034 
+ 00000751  0x000004ac store  0x00000002 , 0x000047c8 
+ 00000752  0x000004ae branch  0x00000310 
+ 00000753  0x000004b1 setarg  0x00001122 
+ 00000754  0x000004b2 store  0x00000002 , 0x000047c8 
+ 00000755  0x000004b3 branch  0x000002f0 
+ 00000756  0x000004b6 call  0x000001ad 
+ 00000757  0x000004b7 jam  0x00000000 , 0x000047a2 
+ 00000758  0x000004b8 fetch  0x00000002 , 0x00004682 
+ 00000759  0x000004b9 bbit1  0x0000000b , 0x00000302 
+ 00000760  0x000004ba fetch  0x00000004 , 0x000046d3 
+ 00000761  0x000004bb bbit0  0x00000018 , 0x00000302 
+ 00000762  0x000004bd call  0x00000314 
+ 00000763  0x000004be fetcht  0x00000002 , 0x000047c8 
+ 00000764  0x000004bf increase  0x00000001 , 0x00000002 
+ 00000765  0x000004c0 storet  0x00000002 , 0x000047c8 
+ 00000766  0x000004c1 storet  0x00000002 , 0x000044a1 
+ 00000767  0x000004c2 call  0x00000310 
+ 00000768  0x000004c3 random  0x0000003f 
+ 00000769  0x000004c4 store  0x00000001 , 0x000044a0 
+ 00000770  0x000004c7 call  0x00003418 
+ 00000771  0x000004c8 fetch  0x00000002 , 0x00004687 
+ 00000772  0x000004c9 store  0x00000002 , 0x000046ac 
+ 00000773  0x000004ca jam  0x00000006 , 0x0000016d 
+ 00000774  0x000004cb setarg  0x00000000 
+ 00000775  0x000004cc store  0x00000002 , 0x000046b0 
+ 00000776  0x000004cd store  0x00000002 , 0x000046ae 
+ 00000777  0x000004ce arg  0x00000007 , 0x00000007 
+ 00000778  0x000004cf call  0x000043ce 
+ 00000779  0x000004d0 call  0x000043ca 
+ 00000780  0x000004d1 fetch  0x00000001 , 0x00004092 
+ 00000781  0x000004d2 isolate1  0x00000001 , 0x0000003f 
+ 00000782  0x000004d3 call  0x00000318 , 0x00000001 
+ 00000783  0x000004d4 branch  0x000042c4 
+ 00000784  0x000004d7 arg  0x00000002 , 0x00000002 
+ 00000785  0x000004d8 arg  0x000047c8 , 0x00000011 
+ 00000786  0x000004d9 arg  0x0000005f , 0x00000012 
+ 00000787  0x000004da branch  0x000065d1 
+ 00000788  0x000004dd arg  0x00000002 , 0x00000002 
+ 00000789  0x000004de arg  0x000047c8 , 0x00000011 
+ 00000790  0x000004df arg  0x0000005f , 0x00000012 
+ 00000791  0x000004e0 branch  0x000065df 
+ 00000792  0x000004e3 jam  0x00000000 , 0x000047a5 
+ 00000793  0x000004e4 call  0x000000e6 
+ 00000794  0x000004e5 setarg  0x00000005 
+ 00000795  0x000004e6 istore  0x00000001 , 0x00000006 
+ 00000796  0x000004e7 branch  0x00007df4 
+ 00000797  0x000004ea setarg  0x00000000 
+ 00000798  0x000004eb store  0x00000002 , 0x000046ac 
+ 00000799  0x000004ec call  0x00000110 
+ 00000800  0x000004ed branch  0x000042cb 
+ 00000801  0x000004f1 hfetch  0x00000001 , 0x00008077 
+ 00000802  0x000004f2 and_into  0x000000fd , 0x0000003f 
+ 00000803  0x000004f3 hstore  0x00000001 , 0x00008077 
+ 00000804  0x000004f4 hfetcht  0x00000001 , 0x00008073 
+ 00000805  0x000004f5 or_into  0x00000002 , 0x00000002 
+ 00000806  0x000004f6 hstoret  0x00000001 , 0x00008073 
+ 00000807  0x000004f7 call  0x000063ee 
+ 00000808  0x000004f8 and_into  0x000000fd , 0x00000002 
+ 00000809  0x000004f9 nop  0x0000000d 
+ 00000810  0x000004fa call  0x000063f2 
+ 00000811  0x000004fb hstoret  0x00000001 , 0x00008073 
+ 00000812  0x000004fc rtn 
+ 00000813  0x00000503 call  0x000068a8 
+ 00000814  0x00000507 fetch  0x00000004 , 0x000040a0 
+ 00000815  0x00000508 store  0x00000004 , 0x00004bde 
+ 00000816  0x00000509 rtn 
+ 00000817  0x0000050d jam  0x00000001 , 0x00004cdd 
+ 00000818  0x0000050e jam  0x00000000 , 0x00004cdf 
+ 00000819  0x00000510 fetch  0x00000001 , 0x00004ba8 
+ 00000820  0x00000511 and_into  0x00000007 , 0x0000003f 
+ 00000821  0x00000512 store  0x00000001 , 0x00004ba8 
+ 00000822  0x00000513 rtn 
+ 00000823  0x00000516 fetch  0x00000001 , 0x00004ba8 
+ 00000824  0x00000517 set1  0x00000004 , 0x0000003f 
+ 00000825  0x00000518 store  0x00000001 , 0x00004ba8 
+ 00000826  0x0000051a store  0x00000001 , 0x00004b63 
+ 00000827  0x0000051b rtn 
+ 00000828  0x0000051d fetch  0x00000001 , 0x00004ba8 
+ 00000829  0x0000051e set0  0x00000004 , 0x0000003f 
+ 00000830  0x0000051f store  0x00000001 , 0x00004ba8 
+ 00000831  0x00000520 rtn 
+ 00000832  0x00000523 call  0x00000408 
+ 00000833  0x00000524 fetch  0x00000001 , 0x00004cde 
+ 00000834  0x00000525 beq  0x00000001 , 0x00000345 
+ 00000835  0x00000526 beq  0x00000002 , 0x00000349 
+ 00000836  0x00000527 rtn 
+ 00000837  0x00000529 jam  0x00000002 , 0x00004cdf 
+ 00000838  0x0000052b jam  0x00000000 , 0x00004cdb 
+ 00000839  0x0000052c jam  0x00000000 , 0x00004cdd 
+ 00000840  0x0000052d branch  0x00000333 
+ 00000841  0x00000530 jam  0x00000000 , 0x00004cdc 
+ 00000842  0x00000531 branch  0x00000346 
+ 00000843  0x00000535 fetch  0x00000002 , 0x00004bad 
+ 00000844  0x00000536 increase  0x00000001 , 0x0000003f 
+ 00000845  0x00000537 store  0x00000002 , 0x00004bad 
+ 00000846  0x00000538 bbit1  0x0000000a , 0x000003f6 
+ 00000847  0x00000539 fetch  0x00000001 , 0x00004cdc 
+ 00000848  0x0000053a beq  0x00000001 , 0x00000354 
+ 00000849  0x0000053b jam  0x00000001 , 0x00004cdc 
+ 00000850  0x0000053d fetch  0x00000001 , 0x00004cdc 
+ 00000851  0x0000053e bne  0x00000001 , 0x00000333 
+ 00000852  0x00000540 fetch  0x00000001 , 0x00004cda 
+ 00000853  0x00000541 increase  0x00000001 , 0x0000003f 
+ 00000854  0x00000542 store  0x00000001 , 0x00004cda 
+ 00000855  0x00000543 beq  0x00000004 , 0x0000035b 
+ 00000856  0x00000544 call  0x00000578 
+ 00000857  0x00000545 jam  0x00000002 , 0x00004bec 
+ 00000858  0x00000546 branch  0x000003b3 
+ 00000859  0x00000549 call  0x00000408 
+ 00000860  0x0000054a jam  0x00000000 , 0x00004cda 
+ 00000861  0x0000054b branch  0x00000333 
+ 00000862  0x0000054e jam  0x00000002 , 0x00004cdf 
+ 00000863  0x00000550 jam  0x00000001 , 0x00004cdd 
+ 00000864  0x00000551 jam  0x00000000 , 0x00004cdc 
+ 00000865  0x00000552 branch  0x00000333 
+ 00000866  0x00000555 fetch  0x00000001 , 0x00004cde 
+ 00000867  0x00000556 beq  0x00000003 , 0x0000035f 
+ 00000868  0x00000557 fetch  0x00000001 , 0x00004ba8 
+ 00000869  0x00000558 isolate0  0x00000004 , 0x0000003f 
+ 00000870  0x00000559 branch  0x00000331 , 0x00000001 
+ 00000871  0x0000055a fetch  0x00000001 , 0x00004cde 
+ 00000872  0x0000055b beq  0x00000001 , 0x0000035e 
+ 00000873  0x0000055c beq  0x00000002 , 0x0000035f 
+ 00000874  0x0000055d rtn 
+ 00000875  0x00000560 fetch  0x00000001 , 0x00004bb7 
+ 00000876  0x00000561 rtnne  0x000000ff 
+ 00000877  0x00000562 call  0x00000370 
+ 00000878  0x00000563 ncall  0x00000378 , 0x0000002c 
+ 00000879  0x00000564 rtn 
+ 00000880  0x00000567 disable  0x0000002c 
+ 00000881  0x00000568 fetch  0x00000001 , 0x00004cdd 
+ 00000882  0x00000569 rtnne  0x00000001 
+ 00000883  0x0000056a fetch  0x00000001 , 0x00004cdf 
+ 00000884  0x0000056b rtnne  0x00000000 
+ 00000885  0x0000056c jam  0x00000001 , 0x00004cde 
+ 00000886  0x0000056d jam  0x00000004 , 0x00004bec 
+ 00000887  0x0000056e branch  0x00007feb 
+ 00000888  0x00000571 fetch  0x00000001 , 0x00004cdf 
+ 00000889  0x00000572 branch  0x00000380 , 0x00000034 
+ 00000890  0x00000573 increase  0xffffffff , 0x0000003f 
+ 00000891  0x00000574 store  0x00000001 , 0x00004cdf 
+ 00000892  0x00000575 jam  0x00000002 , 0x00004cde 
+ 00000893  0x00000576 call  0x00000578 
+ 00000894  0x00000577 jam  0x00000004 , 0x00004bec 
+ 00000895  0x00000578 rtn 
+ 00000896  0x0000057b jam  0x00000003 , 0x00004cde 
+ 00000897  0x0000057c fetch  0x00000001 , 0x00004cdc 
+ 00000898  0x0000057d nbranch  0x00000352 , 0x00000034 
+ 00000899  0x0000057e call  0x00000578 
+ 00000900  0x0000057f jam  0x00000002 , 0x00004bec 
+ 00000901  0x00000580 rtn 
+ 00000902  0x00000583 fetch  0x00000001 , 0x00004bb7 
+ 00000903  0x00000584 bne  0x000000ff , 0x0000044f 
+ 00000904  0x00000586 call  0x0000038c 
+ 00000905  0x00000587 call  0x00000566 
+ 00000906  0x00000589 jam  0x00000001 , 0x00004bac 
+ 00000907  0x0000058a rtn 
+ 00000908  0x0000058d fetch  0x00000002 , 0x00004cd8 
+ 00000909  0x0000058e call  0x00007f9c 
+ 00000910  0x0000058f branch  0x00000392 , 0x00000028 
+ 00000911  0x00000590 fetch  0x00000007 , 0x00004b44 
+ 00000912  0x00000591 rtn  0x00000034 
+ 00000913  0x00000592 branch  0x00007fe7 
+ 00000914  0x00000594 call  0x000003ab 
+ 00000915  0x00000595 jam  0x00000000 , 0x00004bd3 
+ 00000916  0x00000596 add  0x00000011 , 0x00000001 , 0x0000003f 
+ 00000917  0x00000597 store  0x00000001 , 0x00004ba7 
+ 00000918  0x00000598 call  0x00000333 
+ 00000919  0x00000599 store  0x00000001 , 0x00004b43 
+ 00000920  0x0000059a ifetcht  0x00000001 , 0x00000005 
+ 00000921  0x0000059b ifetch  0x00000001 , 0x00000012 
+ 00000922  0x0000059c ior  0x00000002 , 0x0000003f 
+ 00000923  0x0000059d istore  0x00000001 , 0x00000005 
+ 00000924  0x0000059e increase  0x00000001 , 0x00000012 
+ 00000925  0x0000059f arg  0x00000002 , 0x00000039 
+ 00000926  0x000005a1 ifetch  0x00000002 , 0x00000012 
+ 00000927  0x000005a4 istore  0x00000002 , 0x00000005 
+ 00000928  0x000005a5 increase  0x00000002 , 0x00000012 
+ 00000929  0x000005a6 loop  0x0000039e 
+ 00000930  0x000005a7 arg  0x00004b49 , 0x00000005 
+ 00000931  0x000005a8 arg  0x00000002 , 0x00000039 
+ 00000932  0x000005aa ifetch  0x00000001 , 0x00000012 
+ 00000933  0x000005ab ifetcht  0x00000001 , 0x00000005 
+ 00000934  0x000005ac iadd  0x00000002 , 0x0000003f 
+ 00000935  0x000005ad istore  0x00000001 , 0x00000005 
+ 00000936  0x000005ae increase  0x00000001 , 0x00000012 
+ 00000937  0x000005af loop  0x000003a4 
+ 00000938  0x000005b0 rtn 
+ 00000939  0x000005b3 fetch  0x00000001 , 0x000046f5 
+ 00000940  0x000005b4 rtnbit1  0x00000007 
+ 00000941  0x000005b5 fetch  0x00000001 , 0x0000480e 
+ 00000942  0x000005b6 rtnne  0x00000001 
+ 00000943  0x000005b7 setarg  0x00000000 
+ 00000944  0x000005b8 store  0x00000001 , 0x0000480e 
+ 00000945  0x000005b9 store  0x00000004 , 0x0000469b 
+ 00000946  0x000005ba branch  0x00000110 
+ 00000947  0x000005bd jam  0x00000000 , 0x00004bb0 
+ 00000948  0x000005bf arg  0x00000d00 , 0x0000000b 
+ 00000949  0x000005c0 until  0x00000023 , 0x00000026 
+ 00000950  0x000005c1 call  0x000003cf 
+ 00000951  0x000005c2 fetch  0x00000001 , 0x00004be3 
+ 00000952  0x000005c3 rtneq  0x00000001 
+ 00000953  0x000005c4 nbranch  0x000003de , 0x00000018 
+ 00000954  0x000005c5 nbranch  0x000003de , 0x0000002f 
+ 00000955  0x000005c6 call  0x000003ca 
+ 00000956  0x000005c7 call  0x000003fa 
+ 00000957  0x000005c8 call  0x00000404 
+ 00000958  0x000005ca fetch  0x00000001 , 0x00004ba6 
+ 00000959  0x000005cb increase  0x00000001 , 0x0000003f 
+ 00000960  0x000005cc store  0x00000001 , 0x00004ba6 
+ 00000961  0x000005cd fetch  0x00000001 , 0x00004bb7 
+ 00000962  0x000005ce bne  0x000000ff , 0x000003cd 
+ 00000963  0x000005cf call  0x00000362 
+ 00000964  0x000005d1 setarg  0x00000000 
+ 00000965  0x000005d2 store  0x00000002 , 0x00004bad 
+ 00000966  0x000005d3 store  0x00000001 , 0x00004baf 
+ 00000967  0x000005d4 store  0x00000001 , 0x00004cdb 
+ 00000968  0x000005d5 jam  0x00000000 , 0x00004bac 
+ 00000969  0x000005d6 rtn 
+ 00000970  0x000005d9 arg  0x00000004 , 0x00000039 
+ 00000971  0x000005da arg  0x00004b43 , 0x00000005 
+ 00000972  0x000005db branch  0x00007ec6 
+ 00000973  0x000005de call  0x00000401 
+ 00000974  0x000005df branch  0x0000046a 
+ 00000975  0x000005e2 disable  0x0000002f 
+ 00000976  0x000005e3 call  0x000005e0 
+ 00000977  0x000005e6 fetch  0x00000001 , 0x00004be3 
+ 00000978  0x000005e7 beq  0x00000001 , 0x000003dc 
+ 00000979  0x000005e8 force  0x00000000 , 0x00000015 
+ 00000980  0x000005e9 fetch  0x00000004 , 0x00004bcf 
+ 00000981  0x000005ea iforce  0x00000009 
+ 00000982  0x000005eb fetcht  0x00000001 , 0x00000017 
+ 00000983  0x000005ec call  0x0000291f 
+ 00000984  0x000005ed call  0x00002924 
+ 00000985  0x000005ee call  0x0000059b 
+ 00000986  0x000005ef call  0x000005d8 , 0x0000002f 
+ 00000987  0x000005f0 rtn 
+ 00000988  0x000005f2 call  0x000005d8 
+ 00000989  0x000005f3 branch  0x000003be 
+ 00000990  0x000005f6 fetch  0x00000001 , 0x00004baf 
+ 00000991  0x000005f7 increase  0x00000001 , 0x0000003f 
+ 00000992  0x000005f8 store  0x00000001 , 0x00004baf 
+ 00000993  0x000005f9 fetch  0x00000001 , 0x00004bb7 
+ 00000994  0x000005fa bne  0x000000ff , 0x000003f2 
+ 00000995  0x000005fb fetcht  0x00000001 , 0x00004bb0 
+ 00000996  0x000005fc increase  0x00000001 , 0x00000002 
+ 00000997  0x000005fd storet  0x00000001 , 0x00004bb0 
+ 00000998  0x000005fe fetch  0x00000001 , 0x00004bec 
+ 00000999  0x000005ff isub  0x00000002 , 0x0000003f 
+ 00001000  0x00000600 nbranch  0x000003b4 , 0x00000034 
+ 00001001  0x00000601 fetch  0x00000001 , 0x00004cde 
+ 00001002  0x00000602 beq  0x00000003 , 0x0000034b 
+ 00001003  0x00000603 fetch  0x00000001 , 0x00004cdb 
+ 00001004  0x00000604 increase  0x00000001 , 0x0000003f 
+ 00001005  0x00000605 store  0x00000001 , 0x00004cdb 
+ 00001006  0x00000606 beq  0x00000002 , 0x00000340 
+ 00001007  0x00000607 call  0x00000337 
+ 00001008  0x00000608 jam  0x00000001 , 0x00004bec 
+ 00001009  0x00000609 branch  0x000003b3 
+ 00001010  0x0000060c fetch  0x00000001 , 0x00004baf 
+ 00001011  0x0000060d rtnne  0x000000ff 
+ 00001012  0x0000060e jam  0x00000000 , 0x00004baf 
+ 00001013  0x0000060f branch  0x000003f8 
+ 00001014  0x00000612 setarg  0x00000000 
+ 00001015  0x00000613 store  0x00000002 , 0x00004bad 
+ 00001016  0x00000615 jam  0x0000003a , 0x00000a99 
+ 00001017  0x00000616 branch  0x00007d86 
+ 00001018  0x00000619 call  0x000004d5 
+ 00001019  0x0000061a fetch  0x00000001 , 0x00004ba5 
+ 00001020  0x0000061b rtn  0x00000034 
+ 00001021  0x0000061c iforce  0x00000039 
+ 00001022  0x0000061d arg  0x00004b23 , 0x00000006 
+ 00001023  0x0000061e arg  0x00004b85 , 0x00000005 
+ 00001024  0x0000061f branch  0x00007f01 
+ 00001025  0x00000622 jam  0x00000001 , 0x00004ce3 
+ 00001026  0x00000623 jam  0x00000000 , 0x00004ce0 
+ 00001027  0x00000624 rtn 
+ 00001028  0x00000626 fetch  0x00000001 , 0x00004ce0 
+ 00001029  0x00000627 increase  0x00000001 , 0x0000003f 
+ 00001030  0x00000628 store  0x00000001 , 0x00004ce0 
+ 00001031  0x00000629 rtn 
+ 00001032  0x0000062b fetch  0x00000001 , 0x00004ce0 
+ 00001033  0x0000062c sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00001034  0x0000062d ncall  0x00000410 , 0x00000002 
+ 00001035  0x0000062e fetch  0x00000001 , 0x00004ce0 
+ 00001036  0x0000062f rtneq  0x00000000 
+ 00001037  0x00000630 increase  0xffffffff , 0x0000003f 
+ 00001038  0x00000631 store  0x00000001 , 0x00004ce0 
+ 00001039  0x00000632 rtn 
+ 00001040  0x00000634 jam  0x00000003 , 0x00004ce0 
+ 00001041  0x00000635 rtn 
+ 00001042  0x00000638 fetch  0x00000002 , 0x00004682 
+ 00001043  0x00000639 rtnbit1  0x0000000b 
+ 00001044  0x0000063a rtnbit1  0x00000007 
+ 00001045  0x0000063b rtnbit1  0x00000006 
+ 00001046  0x0000063d arg  0x00004c69 , 0x00000011 
+ 00001047  0x0000063e call  0x00000547 
+ 00001048  0x0000063f storet  0x00000001 , 0x00004ce1 
+ 00001049  0x00000642 isolate1  0x00000026 , 0x00000000 
+ 00001050  0x00000643 call  0x00000424 , 0x00000001 
+ 00001051  0x00000644 ncall  0x00000428 , 0x00000001 
+ 00001052  0x00000645 isub  0x00000002 , 0x0000003e 
+ 00001053  0x00000646 nbranch  0x0000043c , 0x00000002 
+ 00001054  0x00000648 fetch  0x00000001 , 0x00004ce0 
+ 00001055  0x00000649 sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00001056  0x0000064a nbranch  0x0000042c , 0x00000002 
+ 00001057  0x0000064b fetch  0x00000001 , 0x00004ce0 
+ 00001058  0x0000064c beq  0x00000000 , 0x0000043d 
+ 00001059  0x0000064d rtn 
+ 00001060  0x00000650 setarg  0x00000082 
+ 00001061  0x00000651 rtn 
+ 00001062  0x00000653 setarg  0x00000077 
+ 00001063  0x00000654 rtn 
+ 00001064  0x00000656 setarg  0x00000080 
+ 00001065  0x00000657 rtn 
+ 00001066  0x00000659 setarg  0x00000075 
+ 00001067  0x0000065a rtn 
+ 00001068  0x0000065d fetch  0x00000001 , 0x00004ce0 
+ 00001069  0x0000065e rtnne  0x00000020 
+ 00001070  0x0000065f jam  0x00000000 , 0x00004ce0 
+ 00001071  0x00000661 fetcht  0x00000001 , 0x00004ce1 
+ 00001072  0x00000662 isolate1  0x00000026 , 0x00000000 
+ 00001073  0x00000663 call  0x00000426 , 0x00000001 
+ 00001074  0x00000664 ncall  0x0000042a , 0x00000001 
+ 00001075  0x00000665 isub  0x00000002 , 0x0000003e 
+ 00001076  0x00000666 nrtn  0x00000002 
+ 00001077  0x00000667 fetch  0x00000001 , 0x00004ce3 
+ 00001078  0x00000668 beq  0x00000000 , 0x00000444 
+ 00001079  0x00000669 increase  0xffffffff , 0x0000003f 
+ 00001080  0x0000066a store  0x00000001 , 0x00004ce3 
+ 00001081  0x0000066b beq  0x00000000 , 0x00000444 
+ 00001082  0x0000066e jam  0x00000000 , 0x000041de 
+ 00001083  0x0000066f rtn 
+ 00001084  0x00000672 jam  0x00000000 , 0x00004ce0 
+ 00001085  0x00000674 fetch  0x00000001 , 0x00004ce3 
+ 00001086  0x00000675 beq  0x00000002 , 0x00000442 
+ 00001087  0x00000676 increase  0x00000001 , 0x0000003f 
+ 00001088  0x00000677 store  0x00000001 , 0x00004ce3 
+ 00001089  0x00000678 beq  0x00000001 , 0x0000043a 
+ 00001090  0x0000067b jam  0x00000002 , 0x000041de 
+ 00001091  0x0000067c rtn 
+ 00001092  0x00000680 jam  0x00000004 , 0x000041de 
+ 00001093  0x00000681 rtn 
+ 00001094  0x00000684 set1  0x00000026 , 0x00000000 
+ 00001095  0x00000685 call  0x0000044a 
+ 00001096  0x00000687 jam  0x00000001 , 0x00004bb7 
+ 00001097  0x00000688 rtn 
+ 00001098  0x0000068b jam  0x00000020 , 0x000041de 
+ 00001099  0x0000068c jam  0x00000000 , 0x00004ba6 
+ 00001100  0x0000068d jam  0x0000004e , 0x00004bb1 
+ 00001101  0x0000068e fetch  0x00000004 , 0x00004bb3 
+ 00001102  0x0000068f branch  0x00000558 
+ 00001103  0x00000692 fetch  0x00000001 , 0x00004bac 
+ 00001104  0x00000693 beq  0x00000001 , 0x00007fe7 
+ 00001105  0x00000694 fetch  0x00000001 , 0x00004bb7 
+ 00001106  0x00000695 beq  0x00000001 , 0x00000456 
+ 00001107  0x00000696 beq  0x00000002 , 0x00000459 
+ 00001108  0x00000697 beq  0x00000003 , 0x0000045c 
+ 00001109  0x00000698 branch  0x00002a8c 
+ 00001110  0x0000069b jam  0x00000011 , 0x00004bb7 
+ 00001111  0x0000069c jam  0x000000aa , 0x0000119e 
+ 00001112  0x0000069d branch  0x0000045e 
+ 00001113  0x0000069f jam  0x00000012 , 0x00004bb7 
+ 00001114  0x000006a0 jam  0x00000055 , 0x0000119e 
+ 00001115  0x000006a1 branch  0x0000045e 
+ 00001116  0x000006a3 jam  0x00000013 , 0x00004bb7 
+ 00001117  0x000006a4 jam  0x00000022 , 0x0000119e 
+ 00001118  0x000006a6 fetch  0x00000001 , 0x00004ba8 
+ 00001119  0x000006a7 and_into  0x00000007 , 0x0000003f 
+ 00001120  0x000006a8 store  0x00000001 , 0x0000119f 
+ 00001121  0x000006a9 fetch  0x00000004 , 0x00004bde 
+ 00001122  0x000006aa store  0x00000004 , 0x000011a0 
+ 00001123  0x000006ac jam  0x00000000 , 0x000011a4 
+ 00001124  0x000006ad arg  0x0000119e , 0x00000011 
+ 00001125  0x000006ae arg  0x00000007 , 0x00000002 
+ 00001126  0x000006af call  0x000004d0 
+ 00001127  0x000006b0 call  0x00000566 
+ 00001128  0x000006b1 call  0x0000038a 
+ 00001129  0x000006b2 branch  0x00007fe7 
+ 00001130  0x000006b5 fetch  0x00000001 , 0x00004bb7 
+ 00001131  0x000006b6 rtneq  0x000000ff 
+ 00001132  0x000006b7 beq  0x00000011 , 0x00000470 
+ 00001133  0x000006b8 beq  0x00000012 , 0x00000472 
+ 00001134  0x000006b9 beq  0x00000013 , 0x00000474 
+ 00001135  0x000006ba rtn 
+ 00001136  0x000006be jam  0x00000002 , 0x00004bb7 
+ 00001137  0x000006bf branch  0x000003c4 
+ 00001138  0x000006c1 jam  0x00000003 , 0x00004bb7 
+ 00001139  0x000006c2 branch  0x000003c4 
+ 00001140  0x000006c4 jam  0x000000ff , 0x00004bb7 
+ 00001141  0x000006c5 jam  0x00000039 , 0x00000a99 
+ 00001142  0x000006c6 call  0x00007d86 
+ 00001143  0x000006c7 fetch  0x00000004 , 0x00004b87 
+ 00001144  0x000006c8 call  0x00000558 
+ 00001145  0x000006c9 branch  0x000003c4 
+ 00001146  0x000006dd set1  0x00000026 , 0x00000000 
+ 00001147  0x000006de setarg  0x00000000 
+ 00001148  0x000006df store  0x00000002 , 0x00004bd4 
+ 00001149  0x000006e0 jam  0x00000000 , 0x0000480e 
+ 00001150  0x000006e1 jam  0x0000003c , 0x00000a99 
+ 00001151  0x000006e2 call  0x00007d86 
+ 00001152  0x000006e3 call  0x000003ca 
+ 00001153  0x000006e4 branch  0x0000006f 
+ 00001154  0x000006e7 jam  0x000000ff , 0x0000119e 
+ 00001155  0x000006e8 fetch  0x00000001 , 0x00004ba8 
+ 00001156  0x000006e9 store  0x00000001 , 0x0000119f 
+ 00001157  0x000006ea fetch  0x00000004 , 0x00004bde 
+ 00001158  0x000006eb store  0x00000004 , 0x000011a0 
+ 00001159  0x000006ec arg  0x00000006 , 0x00000002 
+ 00001160  0x000006ed arg  0x0000119e , 0x00000011 
+ 00001161  0x000006ee call  0x000004d0 
+ 00001162  0x000006ef branch  0x00000566 
+ 00001163  0x000006f9 setarg  0x00000000 
+ 00001164  0x000006fa store  0x00000002 , 0x000011be 
+ 00001165  0x000006fb set0  0x00000026 , 0x00000000 
+ 00001166  0x000006fc call  0x000004ae 
+ 00001167  0x000006fd call  0x00000482 
+ 00001168  0x000006ff setarg  0x00000000 
+ 00001169  0x00000700 store  0x00000002 , 0x00004bd4 
+ 00001170  0x00000703 call  0x00002afa 
+ 00001171  0x00000704 nop  0x000007d0 
+ 00001172  0x00000705 fetch  0x00000002 , 0x00004bd4 
+ 00001173  0x00000706 arg  0x00007788 , 0x00000002 
+ 00001174  0x00000707 isub  0x00000002 , 0x0000003e 
+ 00001175  0x00000708 branch  0x000003f8 , 0x00000005 
+ 00001176  0x0000070b call  0x000003cf 
+ 00001177  0x0000070c nbranch  0x000004a2 , 0x00000018 
+ 00001178  0x0000070d nbranch  0x000004a2 , 0x0000002f 
+ 00001179  0x0000070e call  0x000003fa 
+ 00001180  0x0000070f call  0x000001ad 
+ 00001181  0x00000710 fetch  0x00000004 , 0x00004bcf 
+ 00001182  0x00000711 fetcht  0x00000004 , 0x00004bb3 
+ 00001183  0x00000712 isub  0x00000002 , 0x0000003e 
+ 00001184  0x00000713 branch  0x00000446 , 0x00000005 
+ 00001185  0x00000714 branch  0x0000047a 
+ 00001186  0x00000722 fetch  0x00000002 , 0x00004bd4 
+ 00001187  0x00000723 increase  0x00000001 , 0x0000003f 
+ 00001188  0x00000724 store  0x00000002 , 0x00004bd4 
+ 00001189  0x00000725 fetch  0x00000001 , 0x00004ce5 
+ 00001190  0x00000726 increase  0x00000001 , 0x0000003f 
+ 00001191  0x00000727 and_into  0x00000003 , 0x0000003f 
+ 00001192  0x00000728 store  0x00000001 , 0x00004ce5 
+ 00001193  0x00000729 beq  0x00000000 , 0x000004c6 
+ 00001194  0x0000072a beq  0x00000001 , 0x000004c8 
+ 00001195  0x0000072b beq  0x00000002 , 0x000004ca 
+ 00001196  0x0000072c beq  0x00000003 , 0x000004c8 
+ 00001197  0x0000072d rtn 
+ 00001198  0x0000072f call  0x000001ad 
+ 00001199  0x00000730 fetch  0x00000004 , 0x00004bde 
+ 00001200  0x00000731 store  0x00000004 , 0x00004bcf 
+ 00001201  0x00000732 fetch  0x00000001 , 0x000011be 
+ 00001202  0x00000733 store  0x00000001 , 0x00004bb2 
+ 00001203  0x00000734 call  0x000004c4 
+ 00001204  0x00000735 storet  0x00000001 , 0x000011be 
+ 00001205  0x00000736 rtn 
+ 00001206  0x0000073c call  0x000001ad 
+ 00001207  0x0000073d call  0x00000132 
+ 00001208  0x0000073e call  0x0000015a 
+ 00001209  0x0000073f branch  0x000004bb , 0x00000028 
+ 00001210  0x00000740 branch  0x000004c4 
+ 00001211  0x00000748 jam  0x00000020 , 0x000041de 
+ 00001212  0x00000749 setarg  0x00000f0f 
+ 00001213  0x0000074a store  0x00000002 , 0x00004bcf 
+ 00001214  0x0000074b istore  0x00000002 , 0x00000005 
+ 00001215  0x0000074c fetch  0x00000001 , 0x000011bf 
+ 00001216  0x0000074d store  0x00000001 , 0x00004bb2 
+ 00001217  0x0000074e call  0x000004c4 
+ 00001218  0x0000074f storet  0x00000001 , 0x000011bf 
+ 00001219  0x00000750 rtn 
+ 00001220  0x00000752 call  0x00000559 
+ 00001221  0x00000753 branch  0x00000578 
+ 00001222  0x00000756 call  0x000004ae 
+ 00001223  0x00000757 branch  0x00000492 
+ 00001224  0x0000075a call  0x0000044a 
+ 00001225  0x0000075b branch  0x00000492 
+ 00001226  0x0000075e call  0x000004bb 
+ 00001227  0x0000075f branch  0x00000492 
+ 00001228  0x00000766 set0  0x00000026 , 0x00000000 
+ 00001229  0x00000767 call  0x000053ce 
+ 00001230  0x00000769 arg  0x00000003 , 0x00000007 
+ 00001231  0x0000076a branch  0x000043d2 
+ 00001232  0x0000076d storet  0x00000001 , 0x00004ba7 
+ 00001233  0x0000076e copy  0x00000002 , 0x00000039 
+ 00001234  0x0000076f arg  0x00004b43 , 0x00000005 
+ 00001235  0x00000770 copy  0x00000011 , 0x00000006 
+ 00001236  0x00000771 branch  0x00007f01 
+ 00001237  0x00000775 fetch  0x00000001 , 0x00004b22 
+ 00001238  0x00000776 rshift3  0x0000003f , 0x0000003f 
+ 00001239  0x00000777 store  0x00000001 , 0x00004ba5 
+ 00001240  0x00000779 increase  0x00000001 , 0x0000003f 
+ 00001241  0x0000077a arg  0x00004b22 , 0x00000006 
+ 00001242  0x0000077b iadd  0x00000006 , 0x00000006 
+ 00001243  0x0000077c ifetch  0x00000003 , 0x00000006 
+ 00001244  0x0000077d store  0x00000003 , 0x00004be4 
+ 00001245  0x0000077f fetch  0x00000001 , 0x00004b22 
+ 00001246  0x00000780 rshift  0x0000003f , 0x0000003f 
+ 00001247  0x00000781 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00001248  0x00000782 store  0x00000001 , 0x00004bea 
+ 00001249  0x00000783 rtn 
+ 00001250  0x00000787 storet  0x00000001 , 0x00000017 
+ 00001251  0x00000788 add  0x00000002 , 0x00000000 , 0x00000011 
+ 00001252  0x00000789 call  0x00002981 
+ 00001253  0x0000078a setarg  0x00000500 
+ 00001254  0x0000078b call  0x00002a8f 
+ 00001255  0x0000078d jam  0x00000001 , 0x00008906 
+ 00001256  0x0000078e jam  0x0000003c , 0x00008900 
+ 00001257  0x0000078f jam  0x000000e0 , 0x00008901 
+ 00001258  0x00000790 nop  0x0000000a 
+ 00001259  0x00000791 jam  0x00000001 , 0x00008902 
+ 00001260  0x00000792 jam  0x0000003d , 0x00008902 
+ 00001261  0x00000793 nop  0x0000000a 
+ 00001262  0x00000794 jam  0x000000b7 , 0x00008903 
+ 00001263  0x00000795 nop  0x0000000a 
+ 00001264  0x00000796 jam  0x0000007d , 0x00008902 
+ 00001265  0x00000797 fetch  0x00000001 , 0x000041de 
+ 00001266  0x00000798 beq  0x00000000 , 0x000004f8 
+ 00001267  0x00000799 beq  0x00000001 , 0x00000500 
+ 00001268  0x0000079a beq  0x00000002 , 0x00000508 
+ 00001269  0x0000079c beq  0x00000004 , 0x00000510 
+ 00001270  0x0000079d beq  0x00000020 , 0x00000522 
+ 00001271  0x0000079e branch  0x000004f8 
+ 00001272  0x000007a1 call  0x00000518 
+ 00001273  0x000007a2 jam  0x000000ba , 0x0000894b 
+ 00001274  0x000007a3 jam  0x000000d0 , 0x00008955 
+ 00001275  0x000007a4 jam  0x000000e0 , 0x00008956 
+ 00001276  0x000007a5 jam  0x00000088 , 0x00008957 
+ 00001277  0x000007a6 jam  0x0000006c , 0x00008958 
+ 00001278  0x000007a7 jam  0x00000010 , 0x00008959 
+ 00001279  0x000007a8 branch  0x0000294b 
+ 00001280  0x000007ab call  0x0000051d 
+ 00001281  0x000007ac jam  0x000000ba , 0x0000894b 
+ 00001282  0x000007ad jam  0x000000d0 , 0x00008955 
+ 00001283  0x000007ae jam  0x000000e0 , 0x00008956 
+ 00001284  0x000007af jam  0x00000088 , 0x00008957 
+ 00001285  0x000007b0 jam  0x0000003c , 0x00008958 
+ 00001286  0x000007b1 jam  0x00000010 , 0x00008959 
+ 00001287  0x000007b2 branch  0x0000294f 
+ 00001288  0x000007b5 call  0x0000051d 
+ 00001289  0x000007b6 jam  0x000000ba , 0x0000894b 
+ 00001290  0x000007b7 jam  0x000000d0 , 0x00008955 
+ 00001291  0x000007b8 jam  0x000000e0 , 0x00008956 
+ 00001292  0x000007b9 jam  0x00000088 , 0x00008957 
+ 00001293  0x000007ba jam  0x0000003c , 0x00008958 
+ 00001294  0x000007bb jam  0x00000010 , 0x00008959 
+ 00001295  0x000007bc branch  0x00002953 
+ 00001296  0x000007c9 call  0x00000518 
+ 00001297  0x000007ca jam  0x000000ba , 0x0000894b 
+ 00001298  0x000007cb jam  0x000000d0 , 0x00008955 
+ 00001299  0x000007cc jam  0x000000c0 , 0x00008956 
+ 00001300  0x000007cd jam  0x00000088 , 0x00008957 
+ 00001301  0x000007ce jam  0x0000006c , 0x00008958 
+ 00001302  0x000007cf jam  0x00000010 , 0x00008959 
+ 00001303  0x000007d0 branch  0x0000295b 
+ 00001304  0x000007d3 jam  0x0000005b , 0x0000894c 
+ 00001305  0x000007d4 jam  0x00000096 , 0x0000894d 
+ 00001306  0x000007d5 jam  0x0000002c , 0x0000894e 
+ 00001307  0x000007d6 jam  0x00000046 , 0x0000894f 
+ 00001308  0x000007d7 rtn 
+ 00001309  0x000007da jam  0x000000fb , 0x0000894c 
+ 00001310  0x000007db jam  0x000000ef , 0x0000894d 
+ 00001311  0x000007dc jam  0x000000ec , 0x0000894e 
+ 00001312  0x000007dd jam  0x0000005e , 0x0000894f 
+ 00001313  0x000007de rtn 
+ 00001314  0x000007e1 jam  0x000000c2 , 0x00008956 
+ 00001315  0x000007e2 jam  0x000000d0 , 0x00008955 
+ 00001316  0x000007e3 rtn 
+ 00001317  0x000007e6 force  0x00000008 , 0x00000015 
+ 00001318  0x000007e7 branch  0x000028fa 
+ 00001319  0x000007ea call  0x00002978 
+ 00001320  0x000007eb jam  0x00000005 , 0x00008042 
+ 00001321  0x000007ec rtn 
+ 00001322  0x000007f0 call  0x00007fe9 
+ 00001323  0x000007f1 fetcht  0x00000004 , 0x00004bc8 
+ 00001324  0x000007f2 copy  0x00000022 , 0x0000003f 
+ 00001325  0x000007f3 isub  0x00000002 , 0x0000003e 
+ 00001326  0x000007f4 ncall  0x00002d18 , 0x00000002 
+ 00001327  0x000007f5 copy  0x0000003f , 0x00000012 
+ 00001328  0x000007f6 fetch  0x00000004 , 0x00004bc8 
+ 00001329  0x000007f7 fetcht  0x00000001 , 0x00004bcc 
+ 00001330  0x000007f8 iadd  0x00000002 , 0x00000002 
+ 00001331  0x000007f9 copy  0x00000012 , 0x0000003f 
+ 00001332  0x000007fa isub  0x00000002 , 0x0000003e 
+ 00001333  0x000007fb nrtn  0x00000002 
+ 00001334  0x000007fc set0  0x0000001c , 0x0000003f 
+ 00001335  0x000007fd store  0x00000004 , 0x00004bc8 
+ 00001336  0x000007fe branch  0x00007fe7 
+ 00001337  0x00000801 call  0x000029bb 
+ 00001338  0x00000802 rtn  0x00000034 
+ 00001339  0x00000803 fetcht  0x00000001 , 0x00004c61 
+ 00001340  0x00000804 arg  0x00000d9e , 0x00000011 
+ 00001341  0x00000805 call  0x00000540 
+ 00001342  0x00000806 storet  0x00000001 , 0x00004c61 
+ 00001343  0x00000807 rtn 
+ 00001344  0x0000080a copy  0x00000011 , 0x0000003f 
+ 00001345  0x0000080b iadd  0x00000002 , 0x00000005 
+ 00001346  0x0000080c fetch  0x00000001 , 0x00000018 
+ 00001347  0x0000080d istore  0x00000001 , 0x00000005 
+ 00001348  0x0000080e increase  0x00000001 , 0x00000002 
+ 00001349  0x0000080f and_into  0x00000007 , 0x00000002 
+ 00001350  0x00000810 rtn 
+ 00001351  0x00000812 arg  0x00000000 , 0x00000002 
+ 00001352  0x00000813 arg  0x00000008 , 0x00000039 
+ 00001353  0x00000814 copy  0x00000011 , 0x00000006 
+ 00001354  0x00000816 ifetch  0x00000001 , 0x00000006 
+ 00001355  0x00000817 iadd  0x00000002 , 0x00000002 
+ 00001356  0x00000818 loop  0x0000054a 
+ 00001357  0x00000819 rshift3  0x00000002 , 0x0000003f 
+ 00001358  0x0000081a copy  0x0000003f , 0x00000002 
+ 00001359  0x0000081b rtnmark0  0x00000026 
+ 00001360  0x0000081d div  0x0000003f , 0x0000000a 
+ 00001361  0x0000081e call  0x00007f86 
+ 00001362  0x0000081f quotient  0x0000003f 
+ 00001363  0x00000820 lshift4  0x0000003f , 0x0000003f 
+ 00001364  0x00000821 remainder  0x00000002 
+ 00001365  0x00000822 ior  0x00000002 , 0x00000002 
+ 00001366  0x00000823 rtn 
+ 00001367  0x00000824 rtn 
+ 00001368  0x00000827 store  0x00000004 , 0x00004bcf 
+ 00001369  0x0000082b arg  0x00000000 , 0x00000011 
+ 00001370  0x0000082c arg  0x00000004 , 0x00000039 
+ 00001371  0x0000082d arg  0x00004bcf , 0x00000006 
+ 00001372  0x0000082f ifetch  0x00000001 , 0x00000006 
+ 00001373  0x00000830 iadd  0x00000011 , 0x00000011 
+ 00001374  0x00000831 loop  0x0000055c 
+ 00001375  0x00000832 copy  0x00000011 , 0x0000003f 
+ 00001376  0x00000833 store  0x00000002 , 0x00004c58 
+ 00001377  0x00000834 fetch  0x00000001 , 0x00004c58 
+ 00001378  0x00000835 fetcht  0x00000001 , 0x00004c59 
+ 00001379  0x00000836 iadd  0x00000002 , 0x0000003f 
+ 00001380  0x00000837 store  0x00000001 , 0x00004c5a 
+ 00001381  0x00000838 rtn 
+ 00001382  0x0000083e fetch  0x00000001 , 0x00004ba7 
+ 00001383  0x0000083f increase  0x00000002 , 0x0000003f 
+ 00001384  0x00000840 store  0x00000001 , 0x00004ba9 
+ 00001385  0x00000842 fetch  0x00000001 , 0x00004ba8 
+ 00001386  0x00000843 store  0x00000001 , 0x00004b63 
+ 00001387  0x00000845 fetch  0x00000001 , 0x00004ba7 
+ 00001388  0x00000846 lshift3  0x0000003f , 0x0000003f 
+ 00001389  0x00000847 fetcht  0x00000001 , 0x00004ba6 
+ 00001390  0x00000848 and  0x00000002 , 0x00000003 , 0x00000002 
+ 00001391  0x00000849 lshift  0x00000002 , 0x00000002 
+ 00001392  0x0000084a ior  0x00000002 , 0x0000003f 
+ 00001393  0x0000084b fetcht  0x00000001 , 0x00004be3 
+ 00001394  0x0000084c iadd  0x00000002 , 0x0000003f 
+ 00001395  0x0000084d istore  0x00000001 , 0x00000005 
+ 00001396  0x0000084f fetch  0x00000001 , 0x00004ba7 
+ 00001397  0x00000850 iforce  0x00000039 
+ 00001398  0x00000851 arg  0x00004b43 , 0x00000006 
+ 00001399  0x00000852 branch  0x00007f01 
+ 00001400  0x00000855 fetcht  0x00000001 , 0x00004bb2 
+ 00001401  0x00000856 call  0x0000057c 
+ 00001402  0x00000857 storet  0x00000001 , 0x00004bb2 
+ 00001403  0x00000858 rtn 
+ 00001404  0x0000085b call  0x00000580 
+ 00001405  0x0000085c increase  0x00000001 , 0x00000002 
+ 00001406  0x0000085d and_into  0x00000003 , 0x00000002 
+ 00001407  0x0000085e rtn 
+ 00001408  0x00000861 fetch  0x00000001 , 0x00004bcf 
+ 00001409  0x00000862 and_into  0x00000003 , 0x0000003f 
+ 00001410  0x00000863 mul32  0x0000003f , 0x00000004 , 0x00000011 
+ 00001411  0x00000864 setarg  0x00004bb8 
+ 00001412  0x00000865 iadd  0x00000011 , 0x0000003f 
+ 00001413  0x00000866 iadd  0x00000002 , 0x00000006 
+ 00001414  0x00000867 ifetch  0x00000001 , 0x00000006 
+ 00001415  0x00000868 store  0x00000001 , 0x00004bb1 
+ 00001416  0x00000869 rtn 
+ 00001417  0x0000086c disable  0x00000009 
+ 00001418  0x0000086d disable  0x00000007 
+ 00001419  0x0000086e setarg  0x00555555 
+ 00001420  0x0000086f iforce  0x0000000f 
+ 00001421  0x00000870 fetch  0x00000001 , 0x00004bb1 
+ 00001422  0x00000871 reverse  0x0000003f , 0x00000002 
+ 00001423  0x00000872 set1  0x00000001 , 0x00000002 
+ 00001424  0x00000873 rshift  0x00000002 , 0x0000000e 
+ 00001425  0x00000874 rtn 
+ 00001426  0x00000877 call  0x000053c4 
+ 00001427  0x00000878 fetch  0x00000004 , 0x00004bcf 
+ 00001428  0x00000879 iforce  0x00000009 
+ 00001429  0x0000087a call  0x00002918 
+ 00001430  0x0000087b fetcht  0x00000001 , 0x00004bb1 
+ 00001431  0x0000087c call  0x0000291f 
+ 00001432  0x0000087d setarg  0x00000500 
+ 00001433  0x0000087e call  0x00002a8f 
+ 00001434  0x0000087f call  0x00002924 
+ 00001435  0x00000883 call  0x00000589 
+ 00001436  0x00000884 disable  0x0000002f 
+ 00001437  0x00000885 enable  0x0000000d 
+ 00001438  0x00000886 enable  0x00000021 
+ 00001439  0x00000887 disable  0x00000020 
+ 00001440  0x00000888 enable  0x00000010 
+ 00001441  0x00000889 fetch  0x00000002 , 0x00004baa 
+ 00001442  0x0000088a iforce  0x0000001b 
+ 00001443  0x0000088b correlate  0x0000003e , 0x00000003 
+ 00001444  0x0000088c nbranch  0x000005dc , 0x00000018 
+ 00001445  0x0000088f disable  0x0000000d 
+ 00001446  0x00000890 enable  0x0000000b 
+ 00001447  0x00000891 enable  0x00000007 
+ 00001448  0x00000892 enable  0x00000009 
+ 00001449  0x00000893 call  0x000005d5 
+ 00001450  0x00000894 store  0x00000001 , 0x00004c5b 
+ 00001451  0x00000895 fetcht  0x00000001 , 0x00004c5a 
+ 00001452  0x00000896 isub  0x00000002 , 0x0000003e 
+ 00001453  0x00000897 nbranch  0x000005d8 , 0x00000005 
+ 00001454  0x00000898 call  0x000005d5 
+ 00001455  0x00000899 store  0x00000001 , 0x00004b21 
+ 00001456  0x0000089a fetch  0x00000001 , 0x00004bed 
+ 00001457  0x0000089b sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00001458  0x0000089c branch  0x000005b7 , 0x00000005 
+ 00001459  0x0000089d fetch  0x00000001 , 0x00004b21 
+ 00001460  0x0000089e fetcht  0x00000001 , 0x00004ba8 
+ 00001461  0x0000089f icompare  0x00000007 , 0x00000002 
+ 00001462  0x000008a0 nbranch  0x000005d8 , 0x00000001 
+ 00001463  0x000008a2 call  0x000005d5 
+ 00001464  0x000008a3 istore  0x00000001 , 0x00000005 
+ 00001465  0x000008a4 rshift3  0x0000003f , 0x0000003f 
+ 00001466  0x000008a5 and  0x0000003f , 0x0000001f , 0x00000039 
+ 00001467  0x000008a6 branch  0x000005bf , 0x00000005 
+ 00001468  0x000008a8 call  0x000005d5 
+ 00001469  0x000008a9 istore  0x00000001 , 0x00000005 
+ 00001470  0x000008aa loop  0x000005bc 
+ 00001471  0x000008ad copy  0x00000005 , 0x00000011 
+ 00001472  0x000008ae call  0x000005d5 
+ 00001473  0x000008af store  0x00000001 , 0x00004ce2 
+ 00001474  0x000008b0 copy  0x00000011 , 0x00000005 
+ 00001475  0x000008b1 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00001476  0x000008b2 enable  0x00000010 
+ 00001477  0x000008b3 arg  0x00000664 , 0x0000001b 
+ 00001478  0x000008b4 rshift32  0x0000003f , 0x0000003f 
+ 00001479  0x000008b5 rshift16  0x0000003f , 0x0000003f 
+ 00001480  0x000008b6 istore  0x00000003 , 0x00000005 
+ 00001481  0x000008b7 disable  0x0000000b 
+ 00001482  0x000008b8 branch  0x000005d8 , 0x00000006 
+ 00001483  0x000008bb enable  0x0000002f 
+ 00001484  0x000008bc fetch  0x00000001 , 0x00000017 
+ 00001485  0x000008bd add  0x0000003f , 0x00000000 , 0x00000011 
+ 00001486  0x000008be call  0x00002981 
+ 00001487  0x000008bf disable  0x0000000d 
+ 00001488  0x000008c0 call  0x00002918 
+ 00001489  0x000008c1 fetch  0x00000001 , 0x00004ce2 
+ 00001490  0x000008c2 copy  0x0000003f , 0x00000011 
+ 00001491  0x000008c3 call  0x00000014 
+ 00001492  0x000008c4 rtn 
+ 00001493  0x000008c7 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00001494  0x000008c8 rshift3  0x0000000c , 0x0000003f 
+ 00001495  0x000008c9 rtn 
+ 00001496  0x000008cc disable  0x0000001b 
+ 00001497  0x000008cd disable  0x0000000b 
+ 00001498  0x000008ce call  0x0000264d 
+ 00001499  0x000008cf rtn 
+ 00001500  0x000008d2 branch  0x000005d8 
+ 00001501  0x000008d5 call  0x00002918 
+ 00001502  0x000008d6 fetcht  0x00000001 , 0x00004bb1 
+ 00001503  0x000008d7 branch  0x00002933 
+ 00001504  0x000008da call  0x000053c4 
+ 00001505  0x000008db fetch  0x00000004 , 0x00004bcf 
+ 00001506  0x000008dc iforce  0x00000009 
+ 00001507  0x000008dd call  0x00000589 
+ 00001508  0x000008de call  0x000005dd 
+ 00001509  0x000008df set1  0x00000000 , 0x00000015 
+ 00001510  0x000008e0 enable  0x0000001d 
+ 00001511  0x000008e1 enable  0x00000020 
+ 00001512  0x000008e2 disable  0x00000021 
+ 00001513  0x000008e5 rshift16  0x00000009 , 0x0000003f 
+ 00001514  0x000008e6 rshift8  0x0000003f , 0x0000003f 
+ 00001515  0x000008e7 rshift4  0x0000003f , 0x0000003f 
+ 00001516  0x000008e8 inject  0x00000003 , 0x00000028 
+ 00001517  0x000008e9 disable  0x0000001d 
+ 00001518  0x000008ea enable  0x0000001b 
+ 00001519  0x000008eb enable  0x00000007 
+ 00001520  0x000008ec enable  0x00000009 
+ 00001521  0x000008ed fetch  0x00000001 , 0x00004c5a 
+ 00001522  0x000008ee inject  0x00000003 , 0x00000008 
+ 00001523  0x000008ef fetch  0x00000001 , 0x00004ba9 
+ 00001524  0x000008f0 iforce  0x00000039 
+ 00001525  0x000008f1 arg  0x00004b63 , 0x00000006 
+ 00001526  0x000008f3 ifetch  0x00000001 , 0x00000006 
+ 00001527  0x000008f4 inject  0x00000003 , 0x00000008 
+ 00001528  0x000008f5 loop  0x000005f6 
+ 00001529  0x000008f8 enable  0x00000008 
+ 00001530  0x000008f9 inject  0x00000003 , 0x00000018 
+ 00001531  0x000008fa disable  0x00000008 
+ 00001532  0x000008fb until  0x0000003e , 0x00000027 
+ 00001533  0x000008fc nop  0x00000064 
+ 00001534  0x000008fd disable  0x0000001d 
+ 00001535  0x000008fe disable  0x0000001b 
+ 00001536  0x000008ff rtn 
+ 00001537  0x00000904 jam  0x00000007 , 0x000047a6 
+ 00001538  0x00000905 jam  0x00000004 , 0x000047a7 
+ 00001539  0x00000906 setarg  0x000047a6 
+ 00001540  0x00000907 store  0x00000002 , 0x00004218 
+ 00001541  0x00000908 branch  0x00007e38 
+ 00001542  0x0000090b arg  0x0000469a , 0x00000011 
+ 00001543  0x0000090c call  0x00007e3d 
+ 00001544  0x0000090d call  0x0000060a , 0x00000028 
+ 00001545  0x0000090f rtn 
+ 00001546  0x00000911 fetch  0x00000001 , 0x000047c7 
+ 00001547  0x00000912 increase  0x00000001 , 0x0000003f 
+ 00001548  0x00000913 store  0x00000001 , 0x000047c7 
+ 00001549  0x00000914 rtn 
+ 00001550  0x00000917 arg  0x0000469a , 0x00000011 
+ 00001551  0x00000918 call  0x00007e54 
+ 00001552  0x00000919 branch  0x00000612 , 0x00000028 
+ 00001553  0x0000091a rtn 
+ 00001554  0x0000091d call  0x00005652 
+ 00001555  0x0000091e fetch  0x00000001 , 0x000047c7 
+ 00001556  0x0000091f sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00001557  0x00000920 ncall  0x00005650 , 0x00000002 
+ 00001558  0x00000921 fetch  0x00000001 , 0x000047c7 
+ 00001559  0x00000922 rtn  0x00000034 
+ 00001560  0x00000923 increase  0xffffffff , 0x0000003f 
+ 00001561  0x00000924 store  0x00000001 , 0x000047c7 
+ 00001562  0x00000925 branch  0x00003f90 
+ 00008192  0x0000099b call  0x00002abc 
+ 00008193  0x0000099e bpatch  0x00000000 , 0x00004000 
+ 00008194  0x0000099f clear_stack 
+ 00008195  0x000009a0 call  0x0000640d 
+ 00008196  0x000009a1 call  0x0000296c 
+ 00008197  0x000009a2 call  0x000065a3 
+ 00008198  0x000009a3 call  0x00002a96 
+ 00008199  0x000009a4 call  0x00004d6a 
+ 00008200  0x000009a5 bpatch  0x00000001 , 0x00004000 
+ 00008201  0x000009a6 call  0x00006a03 
+ 00008202  0x000009a7 call  0x00005cf6 
+ 00008203  0x000009a8 call  0x00007ccc 
+ 00008204  0x000009a9 call  0x000032d8 
+ 00008205  0x000009aa ncall  0x0000689c , 0x0000002b 
+ 00008206  0x000009ab bpatch  0x00000002 , 0x00004000 
+ 00008207  0x000009ac call  0x000032e3 , 0x0000002b 
+ 00008208  0x000009ad call  0x0000756a 
+ 00008209  0x000009ae call  0x00002b41 , 0x0000002b 
+ 00008210  0x000009b0 bpatch  0x00000003 , 0x00004000 
+ 00008211  0x000009b1 call  0x000076dc 
+ 00008212  0x000009b2 call  0x00007aaf 
+ 00008213  0x000009b3 call  0x0000756d 
+ 00008214  0x000009b4 call  0x0000535c 
+ 00008215  0x000009b5 bpatch  0x00000004 , 0x00004000 
+ 00008216  0x000009b6 call  0x00002038 
+ 00008217  0x000009b7 call  0x000032ed 
+ 00008218  0x000009b8 call  0x0000208f 
+ 00008219  0x000009b9 call  0x000022f8 
+ 00008220  0x000009ba call  0x0000236a 
+ 00008221  0x000009bb call  0x00002021 
+ 00008222  0x000009bc call  0x00002b6a 
+ 00008223  0x000009bd call  0x00002c72 
+ 00008224  0x000009be branch  0x00002012 
+ 00008225  0x000009c1 call  0x00002026 
+ 00008226  0x000009c2 rtnmark0  0x00000009 
+ 00008227  0x000009c3 set0  0x00000009 , 0x00000000 
+ 00008228  0x000009c4 call  0x00002223 
+ 00008229  0x000009c5 branch  0x000053ce 
+ 00008230  0x000009c8 bpatch  0x00000005 , 0x00004000 
+ 00008231  0x000009c9 call  0x0000225e 
+ 00008232  0x000009ca nbranch  0x0000202f , 0x00000005 
+ 00008233  0x000009cb call  0x0000220a 
+ 00008234  0x000009cc add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008235  0x000009cd ifetch  0x00000001 , 0x00000006 
+ 00008236  0x000009ce bbit1  0x00000000 , 0x00005360 
+ 00008237  0x000009cf bbit1  0x00000001 , 0x00002166 
+ 00008238  0x000009d0 branch  0x000023cf 
+ 00008239  0x000009d2 call  0x0000222b 
+ 00008240  0x000009d3 copy  0x00000039 , 0x0000003e 
+ 00008241  0x000009d4 rtn  0x00000005 
+ 00008242  0x000009d5 call  0x0000220a 
+ 00008243  0x000009d6 fetch  0x00000001 , 0x00000030 
+ 00008244  0x000009d7 bbit1  0x00000003 , 0x000020d3 
+ 00008245  0x000009d8 fetch  0x00000001 , 0x00000031 
+ 00008246  0x000009d9 bbit1  0x00000001 , 0x00002166 
+ 00008247  0x000009da branch  0x000023cf 
+ 00008248  0x000009e3 fetch  0x00000001 , 0x000041ce 
+ 00008249  0x000009e4 rtn  0x00000034 
+ 00008250  0x000009e5 beq  0x00000001 , 0x00002048 
+ 00008251  0x000009e6 beq  0x00000002 , 0x0000204d 
+ 00008252  0x000009e7 beq  0x00000003 , 0x00002050 
+ 00008253  0x000009e8 beq  0x00000005 , 0x00002055 
+ 00008254  0x000009e9 beq  0x0000001b , 0x00002045 
+ 00008255  0x000009ea call  0x00002257 
+ 00008256  0x000009eb rtn  0x00000005 
+ 00008257  0x000009ec call  0x0000225a 
+ 00008258  0x000009ed rtn  0x00000005 
+ 00008259  0x000009ef jam  0x00000000 , 0x000041ce 
+ 00008260  0x000009f0 rtn 
+ 00008261  0x000009f3 jam  0x0000001b , 0x0000049b 
+ 00008262  0x000009f4 jam  0x00000000 , 0x000041ce 
+ 00008263  0x000009f5 rtn 
+ 00008264  0x000009f8 set1  0x0000001c , 0x00000000 
+ 00008265  0x000009f9 set0  0x0000001e , 0x00000000 
+ 00008266  0x000009fa jam  0x000000ff , 0x0000008f 
+ 00008267  0x000009fb jam  0x0000001f , 0x0000008d 
+ 00008268  0x000009fc branch  0x00002043 
+ 00008269  0x000009ff set0  0x0000001c , 0x00000000 
+ 00008270  0x00000a00 force  0x00000000 , 0x0000001b 
+ 00008271  0x00000a01 branch  0x00002043 
+ 00008272  0x00000a04 call  0x0000225a 
+ 00008273  0x00000a05 rtn  0x00000005 
+ 00008274  0x00000a06 force  0x00000001 , 0x00000002 
+ 00008275  0x00000a07 jam  0x00000005 , 0x0000016e 
+ 00008276  0x00000a08 branch  0x0000205c 
+ 00008277  0x00000a0b bpatch  0x00000006 , 0x00004000 
+ 00008278  0x00000a0d fetch  0x00000006 , 0x000041d0 
+ 00008279  0x00000a0e branch  0x00002043 , 0x00000034 
+ 00008280  0x00000a0f jam  0x00000001 , 0x00004681 
+ 00008281  0x00000a11 jam  0x00000003 , 0x00000055 
+ 00008282  0x00000a12 branch  0x0000205b 
+ 00008283  0x00000a15 force  0x00000025 , 0x00000002 
+ 00008284  0x00000a17 bpatch  0x00000007 , 0x00004000 
+ 00008285  0x00000a18 fetch  0x00000001 , 0x000000f1 
+ 00008286  0x00000a19 branch  0x00002062 , 0x00000034 
+ 00008287  0x00000a1a lshift3  0x0000003f , 0x0000003f 
+ 00008288  0x00000a1b lshift4  0x0000003f , 0x0000003f 
+ 00008289  0x00000a1c increase  0xffffffff , 0x0000003f 
+ 00008290  0x00000a1e store  0x00000001 , 0x000040a6 
+ 00008291  0x00000a1f store  0x00000001 , 0x000000f0 
+ 00008292  0x00000a20 jam  0x0000001f , 0x0000008e 
+ 00008293  0x00000a21 set0  0x0000000c , 0x00000000 
+ 00008294  0x00000a22 call  0x0000223b 
+ 00008295  0x00000a23 nbranch  0x00002083 , 0x00000005 
+ 00008296  0x00000a24 call  0x00002a6f 
+ 00008297  0x00000a25 store  0x00000001 , 0x00000077 
+ 00008298  0x00000a26 storet  0x00000001 , 0x0000007c 
+ 00008299  0x00000a27 fetch  0x00000006 , 0x000041d0 
+ 00008300  0x00000a28 store  0x00000006 , 0x00000040 
+ 00008301  0x00000a29 bpatch  0x00000008 , 0x00004001 
+ 00008302  0x00000a2a call  0x00007f15 
+ 00008303  0x00000a2b force  0x00000000 , 0x0000003f 
+ 00008304  0x00000a2c compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008305  0x00000a2d nsetflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00008306  0x00000a2e set1  0x00000003 , 0x0000003f 
+ 00008307  0x00000a2f store  0x00000001 , 0x00000030 
+ 00008308  0x00000a30 jam  0x00000003 , 0x00000a99 
+ 00008309  0x00000a31 call  0x00007d86 
+ 00008310  0x00000a32 force  0x00000000 , 0x0000003f 
+ 00008311  0x00000a33 setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00008312  0x00000a34 store  0x00000001 , 0x0000004c 
+ 00008313  0x00000a35 setarg  0x00000000 
+ 00008314  0x00000a36 set1  0x00000001 , 0x0000003f 
+ 00008315  0x00000a37 store  0x00000001 , 0x00000031 
+ 00008316  0x00000a38 enable  0x00000029 
+ 00008317  0x00000a39 call  0x00002223 
+ 00008318  0x00000a3a disable  0x00000029 
+ 00008319  0x00000a3b force  0x00000003 , 0x00000007 
+ 00008320  0x00000a3c fetch  0x00000002 , 0x000040b9 
+ 00008321  0x00000a3d call  0x00007f08 
+ 00008322  0x00000a3e branch  0x00002043 
+ 00008323  0x00000a40 bpatch  0x00000009 , 0x00004001 
+ 00008324  0x00000a41 fetch  0x00000006 , 0x000041d0 
+ 00008325  0x00000a42 store  0x00000006 , 0x00000040 
+ 00008326  0x00000a43 compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008327  0x00000a44 branch  0x00002089 , 0x00000001 
+ 00008328  0x00000a45 branch  0x00002043 
+ 00008329  0x00000a47 arg  0x00000101 , 0x00000005 
+ 00008330  0x00000a48 arg  0x00000008 , 0x00000039 
+ 00008331  0x00000a49 call  0x00007ec6 
+ 00008332  0x00000a4a jam  0x00000004 , 0x00000a99 
+ 00008333  0x00000a4b call  0x00007d86 
+ 00008334  0x00000a4c branch  0x00002043 
+ 00008335  0x00000a54 rtnmark0  0x0000001c 
+ 00008336  0x00000a55 force  0x00000001 , 0x00000007 
+ 00008337  0x00000a56 call  0x00007f16 
+ 00008338  0x00000a57 nsetflag  0x00000034 , 0x0000001c , 0x00000000 
+ 00008339  0x00000a58 nbranch  0x00002095 , 0x00000034 
+ 00008340  0x00000a59 rtn 
+ 00008341  0x00000a5e bpatch  0x0000000a , 0x00004001 
+ 00008342  0x00000a5f fetcht  0x00000002 , 0x000040bb 
+ 00008343  0x00000a60 force  0x00000004 , 0x00000007 
+ 00008344  0x00000a61 call  0x0000271c 
+ 00008345  0x00000a62 rtn  0x00000028 
+ 00008346  0x00000a63 call  0x000028a4 
+ 00008347  0x00000a64 force  0x00000000 , 0x00000024 
+ 00008348  0x00000a66 rtn  0x00000003 
+ 00008349  0x00000a67 set0  0x0000000b , 0x00000000 
+ 00008350  0x00000a68 set0  0x00000000 , 0x00000000 
+ 00008351  0x00000a6a add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008352  0x00000a6b isolate1  0x0000001e , 0x00000000 
+ 00008353  0x00000a6c setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00008354  0x00000a6d compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00008355  0x00000a6e nbranch  0x000020be , 0x00000001 
+ 00008356  0x00000a71 bpatch  0x0000000b , 0x00004001 
+ 00008357  0x00000a72 fetch  0x00000001 , 0x00000012 
+ 00008358  0x00000a73 increase  0x00000001 , 0x0000003f 
+ 00008359  0x00000a74 store  0x00000001 , 0x00000012 
+ 00008360  0x00000a75 call  0x000028d8 
+ 00008361  0x00000a76 call  0x000028d2 
+ 00008362  0x00000a77 call  0x000028f2 
+ 00008363  0x00000a78 call  0x00002a51 
+ 00008364  0x00000a79 call  0x00002a56 
+ 00008365  0x00000a7a call  0x00002a64 
+ 00008366  0x00000a7b call  0x0000264d 
+ 00008367  0x00000a7c call  0x000020b1 
+ 00008368  0x00000a7d branch  0x0000209c 
+ 00008369  0x00000a80 bpatch  0x0000000c , 0x00004001 
+ 00008370  0x00000a81 fetch  0x00000001 , 0x0000008d 
+ 00008371  0x00000a82 increase  0xffffffff , 0x0000003f 
+ 00008372  0x00000a83 store  0x00000001 , 0x0000008d 
+ 00008373  0x00000a84 rtn  0x00000002 
+ 00008374  0x00000a85 jam  0x0000001f , 0x0000008d 
+ 00008375  0x00000a86 fetch  0x00000001 , 0x0000008f 
+ 00008376  0x00000a87 increase  0xffffffff , 0x0000003f 
+ 00008377  0x00000a88 store  0x00000001 , 0x0000008f 
+ 00008378  0x00000a89 rtn  0x00000002 
+ 00008379  0x00000a8a setflip  0x0000001e , 0x00000000 
+ 00008380  0x00000a8b jam  0x000000ff , 0x0000008f 
+ 00008381  0x00000a8c rtn 
+ 00008382  0x00000a8f bpatch  0x0000000d , 0x00004001 
+ 00008383  0x00000a90 call  0x000028d8 
+ 00008384  0x00000a91 call  0x000028cc 
+ 00008385  0x00000a92 call  0x000028f2 
+ 00008386  0x00000a93 call  0x00002a5b 
+ 00008387  0x00000a94 call  0x000029eb 
+ 00008388  0x00000a95 call  0x00002a0d 
+ 00008389  0x00000a96 branch  0x000020c8 , 0x00000018 
+ 00008390  0x00000a97 call  0x000020b1 
+ 00008391  0x00000a98 branch  0x0000209f 
+ 00008392  0x00000a9a bpatch  0x0000000e , 0x00004001 
+ 00008393  0x00000a9b call  0x000029bb 
+ 00008394  0x00000a9c call  0x00002a6b 
+ 00008395  0x00000a9d call  0x0000251e 
+ 00008396  0x00000a9e set0  0x00000001 , 0x00000000 
+ 00008397  0x00000a9f rtnmark0  0x0000000b 
+ 00008398  0x00000aa1 bpatch  0x0000000f , 0x00004001 
+ 00008399  0x00000aa3 fetch  0x00000001 , 0x00000013 
+ 00008400  0x00000aa4 increase  0x00000001 , 0x0000003f 
+ 00008401  0x00000aa5 store  0x00000001 , 0x00000013 
+ 00008402  0x00000aa6 rtn 
+ 00008403  0x00000aaf bpatch  0x00000010 , 0x00004002 
+ 00008404  0x00000ab0 enable  0x00000029 
+ 00008405  0x00000ab1 enable  0x00000030 
+ 00008406  0x00000ab2 fetch  0x00000002 , 0x000040b5 
+ 00008407  0x00000ab3 branch  0x000020db , 0x00000034 
+ 00008408  0x00000ab4 force  0x00000008 , 0x00000007 
+ 00008409  0x00000ab5 call  0x00007f16 
+ 00008410  0x00000ab6 nrtn  0x00000034 
+ 00008411  0x00000ab8 bpatch  0x00000011 , 0x00004002 
+ 00008412  0x00000ab9 fetcht  0x00000002 , 0x000040b7 
+ 00008413  0x00000aba force  0x00000028 , 0x00000007 
+ 00008414  0x00000abb call  0x0000271c 
+ 00008415  0x00000abc branch  0x00002114 , 0x00000028 
+ 00008416  0x00000abd force  0x00000003 , 0x00000007 
+ 00008417  0x00000abe call  0x00007f16 
+ 00008418  0x00000abf nbranch  0x000020f0 , 0x00000034 
+ 00008419  0x00000ac0 fetch  0x00000001 , 0x0000004c 
+ 00008420  0x00000ac1 bbit1  0x00000004 , 0x000020e6 
+ 00008421  0x00000ac2 branch  0x000020e9 
+ 00008422  0x00000ac4 arg  0x00000101 , 0x00000005 
+ 00008423  0x00000ac5 arg  0x00000008 , 0x00000039 
+ 00008424  0x00000ac6 call  0x00007ec6 
+ 00008425  0x00000ac8 bpatch  0x00000012 , 0x00004002 
+ 00008426  0x00000ac9 jam  0x00000000 , 0x00000030 
+ 00008427  0x00000aca call  0x00005cf7 
+ 00008428  0x00000acb jam  0x00000000 , 0x00004681 
+ 00008429  0x00000acc jam  0x00000013 , 0x00000a99 
+ 00008430  0x00000acd call  0x00007d86 
+ 00008431  0x00000ace branch  0x00002114 
+ 00008432  0x00000ad1 bpatch  0x00000013 , 0x00004002 
+ 00008433  0x00000ad2 force  0x00000000 , 0x0000000b 
+ 00008434  0x00000ad3 until  0x00000023 , 0x00000026 
+ 00008435  0x00000ad4 fetch  0x00000001 , 0x000000f2 
+ 00008436  0x00000ad5 increase  0xffffffff , 0x0000003f 
+ 00008437  0x00000ad6 ixor  0x00000022 , 0x0000003f 
+ 00008438  0x00000ad7 compare  0x00000000 , 0x0000003f , 0x00000003 
+ 00008439  0x00000ad8 nbranch  0x000020f0 , 0x00000001 
+ 00008440  0x00000ad9 deposit  0x00000004 
+ 00008441  0x00000ada store  0x00000001 , 0x00000181 
+ 00008442  0x00000adb force  0x00000000 , 0x00000026 
+ 00008443  0x00000adc force  0x00000000 , 0x00000024 
+ 00008444  0x00000adf bpatch  0x00000014 , 0x00004002 
+ 00008445  0x00000ae0 branch  0x00002114 , 0x00000003 
+ 00008446  0x00000ae1 call  0x000028dc 
+ 00008447  0x00000ae2 arg  0x00000600 , 0x0000000b 
+ 00008448  0x00000ae3 until  0x00000023 , 0x00000026 
+ 00008449  0x00000ae5 bpatch  0x00000015 , 0x00004002 
+ 00008450  0x00000ae6 fetch  0x00000004 , 0x000000f2 
+ 00008451  0x00000ae7 iforce  0x00000021 
+ 00008452  0x00000ae8 increase  0x00000001 , 0x0000003f 
+ 00008453  0x00000ae9 store  0x00000004 , 0x000000f2 
+ 00008454  0x00000aea isolate1  0x0000000c , 0x00000000 
+ 00008455  0x00000aeb setflag  0x00000001 , 0x00000002 , 0x00000024 
+ 00008456  0x00000aec compare  0x00000000 , 0x00000021 , 0x00000002 
+ 00008457  0x00000aed nbranch  0x00002128 , 0x00000001 
+ 00008458  0x00000aee fetch  0x00000001 , 0x0000000c 
+ 00008459  0x00000aef increase  0x00000001 , 0x0000003f 
+ 00008460  0x00000af0 store  0x00000001 , 0x0000000c 
+ 00008461  0x00000af1 call  0x000028d2 
+ 00008462  0x00000af2 call  0x00002a51 
+ 00008463  0x00000af3 call  0x00002a56 
+ 00008464  0x00000af4 call  0x00002a64 
+ 00008465  0x00000af5 call  0x0000264d 
+ 00008466  0x00000af6 call  0x0000211a 
+ 00008467  0x00000af7 branch  0x000020fc 
+ 00008468  0x00000af9 bpatch  0x00000016 , 0x00004002 
+ 00008469  0x00000afa disable  0x00000029 
+ 00008470  0x00000afb fetch  0x00000002 , 0x000040b5 
+ 00008471  0x00000afc rtn  0x00000034 
+ 00008472  0x00000afd force  0x00000008 , 0x00000007 
+ 00008473  0x00000afe branch  0x00007f08 
+ 00008474  0x00000b01 bpatch  0x00000017 , 0x00004002 
+ 00008475  0x00000b02 fetch  0x00000001 , 0x0000008e 
+ 00008476  0x00000b03 increase  0xffffffff , 0x0000003f 
+ 00008477  0x00000b04 store  0x00000001 , 0x0000008e 
+ 00008478  0x00000b05 rtn  0x00000002 
+ 00008479  0x00000b06 jam  0x0000001f , 0x0000008e 
+ 00008480  0x00000b07 fetch  0x00000001 , 0x000000f0 
+ 00008481  0x00000b08 increase  0xffffffff , 0x0000003f 
+ 00008482  0x00000b09 store  0x00000001 , 0x000000f0 
+ 00008483  0x00000b0a rtn  0x00000002 
+ 00008484  0x00000b0b setflip  0x0000000c , 0x00000000 
+ 00008485  0x00000b0c fetch  0x00000001 , 0x000040a6 
+ 00008486  0x00000b0d store  0x00000001 , 0x000000f0 
+ 00008487  0x00000b0e rtn 
+ 00008488  0x00000b11 bpatch  0x00000018 , 0x00004003 
+ 00008489  0x00000b12 call  0x000028cc 
+ 00008490  0x00000b13 call  0x00002a5b 
+ 00008491  0x00000b14 call  0x000029eb 
+ 00008492  0x00000b15 call  0x00002a0d 
+ 00008493  0x00000b16 branch  0x00002130 , 0x00000018 
+ 00008494  0x00000b17 call  0x0000211a 
+ 00008495  0x00000b18 branch  0x00002101 
+ 00008496  0x00000b1a call  0x0000264d 
+ 00008497  0x00000b1b fetch  0x00000001 , 0x0000000d 
+ 00008498  0x00000b1c increase  0x00000001 , 0x0000003f 
+ 00008499  0x00000b1d store  0x00000001 , 0x0000000d 
+ 00008500  0x00000b1e force  0x00000000 , 0x0000001b 
+ 00008501  0x00000b1f fetch  0x00000004 , 0x000000f2 
+ 00008502  0x00000b21 bpatch  0x00000019 , 0x00004003 
+ 00008503  0x00000b22 call  0x00002a4f 
+ 00008504  0x00000b23 call  0x000028dc 
+ 00008505  0x00000b24 increase  0x00000001 , 0x00000026 
+ 00008506  0x00000b26 and_into  0x000001fd , 0x00000021 
+ 00008507  0x00000b27 and_into  0x000001fc , 0x00000024 
+ 00008508  0x00000b28 call  0x000028d2 
+ 00008509  0x00000b29 call  0x00002a51 
+ 00008510  0x00000b2a call  0x00002a56 
+ 00008511  0x00000b2b call  0x00002a64 
+ 00008512  0x00000b2c deposit  0x00000022 
+ 00008513  0x00000b2d store  0x00000004 , 0x00000161 
+ 00008514  0x00000b2e force  0x00000000 , 0x00000004 
+ 00008515  0x00000b2f force  0x00000002 , 0x00000001 
+ 00008516  0x00000b30 call  0x00002a6b 
+ 00008517  0x00000b31 call  0x00002766 
+ 00008518  0x00000b33 bpatch  0x0000001a , 0x00004003 
+ 00008519  0x00000b34 call  0x00002a4d 
+ 00008520  0x00000b35 or_into  0x00000002 , 0x00000021 
+ 00008521  0x00000b36 and_into  0x000001fc , 0x00000024 
+ 00008522  0x00000b37 call  0x000028cc 
+ 00008523  0x00000b38 call  0x00002a5b 
+ 00008524  0x00000b39 call  0x000029eb 
+ 00008525  0x00000b3a call  0x00002a0d 
+ 00008526  0x00000b3b call  0x0000264d , 0x00000018 
+ 00008527  0x00000b3c branch  0x00002155 , 0x00000018 
+ 00008528  0x00000b3d fetch  0x00000001 , 0x00000010 
+ 00008529  0x00000b3e branch  0x000020fc , 0x00000034 
+ 00008530  0x00000b3f increase  0xffffffff , 0x0000003f 
+ 00008531  0x00000b40 store  0x00000001 , 0x00000010 
+ 00008532  0x00000b41 branch  0x00002136 
+ 00008533  0x00000b44 bpatch  0x0000001b , 0x00004003 
+ 00008534  0x00000b45 fetch  0x00000001 , 0x0000000e 
+ 00008535  0x00000b46 increase  0x00000001 , 0x0000003f 
+ 00008536  0x00000b47 store  0x00000001 , 0x0000000e 
+ 00008537  0x00000b48 call  0x00002435 
+ 00008538  0x00000b4a call  0x000022f2 
+ 00008539  0x00000b4b branch  0x0000215f , 0x00000018 
+ 00008540  0x00000b4c call  0x00002455 
+ 00008541  0x00000b4d nbranch  0x0000215a , 0x00000034 
+ 00008542  0x00000b4e branch  0x000020fc 
+ 00008543  0x00000b51 bpatch  0x0000001c , 0x00004003 
+ 00008544  0x00000b52 fetch  0x00000001 , 0x00000030 
+ 00008545  0x00000b53 set0  0x00000003 , 0x0000003f 
+ 00008546  0x00000b54 store  0x00000001 , 0x00000030 
+ 00008547  0x00000b55 call  0x00002440 
+ 00008548  0x00000b56 disable  0x00000029 
+ 00008549  0x00000b57 rtn 
+ 00008550  0x00000b5b bpatch  0x0000001d , 0x00004003 
+ 00008551  0x00000b5c enable  0x00000029 
+ 00008552  0x00000b5d enable  0x00000030 
+ 00008553  0x00000b5e call  0x000021e1 
+ 00008554  0x00000b5f rtn  0x00000028 
+ 00008555  0x00000b60 call  0x00002c69 
+ 00008556  0x00000b61 call  0x00002a4f 
+ 00008557  0x00000b62 add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008558  0x00000b63 call  0x000028e2 
+ 00008559  0x00000b64 force  0x00000003 , 0x00000024 
+ 00008560  0x00000b65 call  0x00006cc2 
+ 00008561  0x00000b66 call  0x00002489 
+ 00008562  0x00000b67 call  0x000028d2 
+ 00008563  0x00000b68 call  0x00002a51 
+ 00008564  0x00000b69 call  0x00002a56 
+ 00008565  0x00000b6a call  0x00002a64 
+ 00008566  0x00000b6b call  0x00002762 
+ 00008567  0x00000b6d bpatch  0x0000001e , 0x00004003 
+ 00008568  0x00000b6e call  0x00005d08 
+ 00008569  0x00000b6f call  0x000022e4 
+ 00008570  0x00000b70 nbranch  0x00002180 , 0x0000002d 
+ 00008571  0x00000b71 call  0x00002a88 
+ 00008572  0x00000b72 call  0x00002728 
+ 00008573  0x00000b73 fetch  0x00000001 , 0x0000000f 
+ 00008574  0x00000b74 increase  0x00000001 , 0x0000003f 
+ 00008575  0x00000b75 store  0x00000001 , 0x0000000f 
+ 00008576  0x00000b77 bpatch  0x0000001f , 0x00004003 
+ 00008577  0x00000b78 call  0x00006caa 
+ 00008578  0x00000b79 call  0x0000218b 
+ 00008579  0x00000b7a nrtn  0x00000029 
+ 00008580  0x00000b7b call  0x000026f3 
+ 00008581  0x00000b7c nbranch  0x00002188 , 0x00000034 
+ 00008582  0x00000b7e disable  0x00000029 
+ 00008583  0x00000b7f rtn 
+ 00008584  0x00000b82 call  0x00002489 
+ 00008585  0x00000b83 call  0x000022da 
+ 00008586  0x00000b84 branch  0x00002177 
+ 00008587  0x00000b88 branch  0x0000218e , 0x0000002d 
+ 00008588  0x00000b89 call  0x00002a7f 
+ 00008589  0x00000b8a branch  0x0000219c , 0x00000002 
+ 00008590  0x00000b8c call  0x000021a7 
+ 00008591  0x00000b8d nbranch  0x0000219c , 0x00000028 
+ 00008592  0x00000b8e fetch  0x00000001 , 0x0000004c 
+ 00008593  0x00000b8f rtnbit0  0x00000004 
+ 00008594  0x00000b90 rtnbit1  0x00000003 
+ 00008595  0x00000b91 fetch  0x00000001 , 0x0000004b 
+ 00008596  0x00000b92 rtnbit1  0x00000003 
+ 00008597  0x00000b93 call  0x000021ae 
+ 00008598  0x00000b94 nrtn  0x00000034 
+ 00008599  0x00000b95 fetch  0x00000001 , 0x0000016e 
+ 00008600  0x00000b96 increase  0xffffffff , 0x0000003f 
+ 00008601  0x00000b97 store  0x00000001 , 0x0000016e 
+ 00008602  0x00000b98 nrtn  0x00000034 
+ 00008603  0x00000b99 branch  0x00006006 
+ 00008604  0x00000b9c bpatch  0x00000020 , 0x00004004 
+ 00008605  0x00000b9d call  0x0000245d 
+ 00008606  0x00000b9e disable  0x00000029 
+ 00008607  0x00000b9f fetch  0x00000001 , 0x0000004c 
+ 00008608  0x00000ba0 bbit1  0x00000004 , 0x000021a2 
+ 00008609  0x00000ba1 rtn 
+ 00008610  0x00000ba4 fetch  0x00000001 , 0x0000004c 
+ 00008611  0x00000ba5 rtnbit1  0x00000003 
+ 00008612  0x00000ba7 arg  0x00000101 , 0x00000005 
+ 00008613  0x00000ba8 arg  0x00000008 , 0x00000039 
+ 00008614  0x00000ba9 branch  0x00007ec6 
+ 00008615  0x00000bac bpatch  0x00000021 , 0x00004004 
+ 00008616  0x00000bad enable  0x00000028 
+ 00008617  0x00000bae fetch  0x00000001 , 0x0000004b 
+ 00008618  0x00000baf rtnbit0  0x00000003 
+ 00008619  0x00000bb0 call  0x000021ae 
+ 00008620  0x00000bb1 nrtn  0x00000034 
+ 00008621  0x00000bb2 branch  0x00007fe9 
+ 00008622  0x00000bb5 fetch  0x00000001 , 0x00000072 
+ 00008623  0x00000bb6 increase  0xffffffff , 0x0000003f 
+ 00008624  0x00000bb7 store  0x00000001 , 0x00000072 
+ 00008625  0x00000bb8 rtn 
+ 00008626  0x00000bbb bpatch  0x00000022 , 0x00004004 
+ 00008627  0x00000bbc fetch  0x00000001 , 0x00000030 
+ 00008628  0x00000bbd bbit1  0x00000007 , 0x000021bb 
+ 00008629  0x00000bbe fetch  0x00000001 , 0x000009b5 
+ 00008630  0x00000bbf branch  0x000021bb , 0x00000034 
+ 00008631  0x00000bc0 jam  0x00000000 , 0x000009b5 
+ 00008632  0x00000bc1 jam  0x00000018 , 0x00000a99 
+ 00008633  0x00000bc2 call  0x00007d86 
+ 00008634  0x00000bc3 branch  0x000021bb 
+ 00008635  0x00000bc5 bpatch  0x00000023 , 0x00004004 
+ 00008636  0x00000bc6 call  0x00002254 
+ 00008637  0x00000bc7 fetch  0x00000001 , 0x00000030 
+ 00008638  0x00000bc8 set1  0x00000007 , 0x0000003f 
+ 00008639  0x00000bc9 store  0x00000001 , 0x00000030 
+ 00008640  0x00000bca jam  0x00000001 , 0x000041bd 
+ 00008641  0x00000bcb fetch  0x00000001 , 0x00000055 
+ 00008642  0x00000bcc bne  0x00000016 , 0x000021c3 
+ 00008643  0x00000bce rtn 
+ 00008644  0x00000bd1 jam  0x00000001 , 0x000009b5 
+ 00008645  0x00000bd3 fetch  0x00000001 , 0x00000030 
+ 00008646  0x00000bd4 set0  0x00000007 , 0x0000003f 
+ 00008647  0x00000bd5 store  0x00000001 , 0x00000030 
+ 00008648  0x00000bd6 rtn 
+ 00008649  0x00000bdb bpatch  0x00000024 , 0x00004004 
+ 00008650  0x00000bdc disable  0x00000028 
+ 00008651  0x00000bdd fetch  0x00000002 , 0x00000032 
+ 00008652  0x00000bde arg  0x0000ffff , 0x00000002 
+ 00008653  0x00000bdf isub  0x00000002 , 0x0000003e 
+ 00008654  0x00000be0 nrtn  0x00000005 
+ 00008655  0x00000be1 fetch  0x00000004 , 0x00000034 
+ 00008656  0x00000be2 branch  0x000021d3 , 0x00000030 
+ 00008657  0x00000be3 isub  0x00000028 , 0x0000003f 
+ 00008658  0x00000be4 branch  0x000021d4 
+ 00008659  0x00000be6 isub  0x00000022 , 0x0000003f 
+ 00008660  0x00000be8 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00008661  0x00000be9 nrtn  0x00000002 
+ 00008662  0x00000bea force  0x00000000 , 0x0000003f 
+ 00008663  0x00000beb store  0x00000002 , 0x00000032 
+ 00008664  0x00000bec branch  0x00007fe7 
+ 00008665  0x00000bf1 copy  0x0000003f , 0x00000002 
+ 00008666  0x00000bf2 bpatch  0x00000025 , 0x00004004 
+ 00008667  0x00000bf3 storet  0x00000004 , 0x00000034 
+ 00008668  0x00000bf5 jam  0x00000001 , 0x0000455b 
+ 00008669  0x00000bf6 setarg  0x0000ffff 
+ 00008670  0x00000bf7 store  0x00000002 , 0x00000032 
+ 00008671  0x00000bf8 jam  0x00000001 , 0x00000073 
+ 00008672  0x00000bf9 rtn 
+ 00008673  0x00000bfd bpatch  0x00000026 , 0x00004004 
+ 00008674  0x00000bfe call  0x000021c9 
+ 00008675  0x00000bff nrtn  0x00000028 
+ 00008676  0x00000c00 disable  0x00000028 
+ 00008677  0x00000c01 jam  0x00000020 , 0x00000011 
+ 00008678  0x00000c02 set0  0x0000000b , 0x00000000 
+ 00008679  0x00000c04 call  0x00002a4f 
+ 00008680  0x00000c05 call  0x000022e6 
+ 00008681  0x00000c06 bmark1  0x0000000b , 0x000021f4 
+ 00008682  0x00000c07 call  0x00002455 
+ 00008683  0x00000c08 nbranch  0x000021e7 , 0x00000034 
+ 00008684  0x00000c0a bpatch  0x00000027 , 0x00004004 
+ 00008685  0x00000c0b disable  0x00000028 
+ 00008686  0x00000c0c deposit  0x00000022 
+ 00008687  0x00000c0d store  0x00000004 , 0x000040ca 
+ 00008688  0x00000c0e enable  0x00000030 
+ 00008689  0x00000c0f enable  0x00000029 
+ 00008690  0x00000c10 jam  0x0000002a , 0x00000a99 
+ 00008691  0x00000c11 branch  0x00007d86 
+ 00008692  0x00000c14 bpatch  0x00000028 , 0x00004005 
+ 00008693  0x00000c15 call  0x00002a4d 
+ 00008694  0x00000c16 arg  0x00000010 , 0x00000001 
+ 00008695  0x00000c17 call  0x000022dc 
+ 00008696  0x00000c18 disable  0x00000030 
+ 00008697  0x00000c19 disable  0x00000029 
+ 00008698  0x00000c1a call  0x00002818 
+ 00008699  0x00000c1b call  0x00002435 
+ 00008700  0x00000c1d bpatch  0x00000029 , 0x00004005 
+ 00008701  0x00000c1e call  0x0000247c 
+ 00008702  0x00000c1f branch  0x00002202 , 0x0000002d 
+ 00008703  0x00000c20 call  0x00002455 
+ 00008704  0x00000c21 nbranch  0x000021fc , 0x00000034 
+ 00008705  0x00000c22 branch  0x000021ec 
+ 00008706  0x00000c24 fetch  0x00000001 , 0x00000031 
+ 00008707  0x00000c25 set0  0x00000001 , 0x0000003f 
+ 00008708  0x00000c26 store  0x00000001 , 0x00000031 
+ 00008709  0x00000c27 call  0x00002a88 
+ 00008710  0x00000c28 call  0x00002841 
+ 00008711  0x00000c29 enable  0x00000028 
+ 00008712  0x00000c2a jam  0x0000002b , 0x00000a99 
+ 00008713  0x00000c2b branch  0x00007d86 
+ 00008714  0x00000c31 bpatch  0x0000002a , 0x00004005 
+ 00008715  0x00000c32 set1  0x00000009 , 0x00000000 
+ 00008716  0x00000c33 deposit  0x00000011 
+ 00008717  0x00000c34 store  0x00000002 , 0x0000001e 
+ 00008718  0x00000c35 force  0x00000050 , 0x00000039 
+ 00008719  0x00000c36 arg  0x0000043f , 0x00000005 
+ 00008720  0x00000c37 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008721  0x00000c38 ifetch  0x00000001 , 0x00000006 
+ 00008722  0x00000c39 copy  0x00000011 , 0x00000006 
+ 00008723  0x00000c3a bbit1  0x00000000 , 0x00007f01 
+ 00008724  0x00000c3b arg  0x00000030 , 0x00000005 
+ 00008725  0x00000c3c call  0x00007f01 
+ 00008726  0x00000c3d disable  0x0000002e 
+ 00008727  0x00000c3e fetch  0x00000001 , 0x00000077 
+ 00008728  0x00000c3f iforce  0x00000004 
+ 00008729  0x00000c40 jam  0x00000001 , 0x0000008a 
+ 00008730  0x00000c41 branch  0x0000221c , 0x00000029 
+ 00008731  0x00000c42 jam  0x00000001 , 0x0000008a 
+ 00008732  0x00000c44 fetch  0x00000001 , 0x00000030 
+ 00008733  0x00000c45 rtnbit0  0x00000001 
+ 00008734  0x00000c46 fetch  0x00000001 , 0x00000073 
+ 00008735  0x00000c47 store  0x00000001 , 0x0000008a 
+ 00008736  0x00000c48 fetch  0x00000001 , 0x00000074 
+ 00008737  0x00000c49 store  0x00000001 , 0x0000008b 
+ 00008738  0x00000c4a rtn 
+ 00008739  0x00000c4d bpatch  0x0000002b , 0x00004005 
+ 00008740  0x00000c4e fetch  0x00000002 , 0x0000001e 
+ 00008741  0x00000c4f iforce  0x00000005 
+ 00008742  0x00000c50 force  0x00000050 , 0x00000039 
+ 00008743  0x00000c51 arg  0x0000043f , 0x00000006 
+ 00008744  0x00000c52 branch  0x00007f01 , 0x00000036 
+ 00008745  0x00000c53 arg  0x00000030 , 0x00000006 
+ 00008746  0x00000c54 branch  0x00007f01 
+ 00008747  0x00000c59 arg  0x00000001 , 0x00000039 
+ 00008748  0x00000c5a fetcht  0x00000001 , 0x00000015 
+ 00008749  0x00000c5c increase  0x00000001 , 0x00000002 
+ 00008750  0x00000c5d compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00008751  0x00000c5e nbranch  0x00002231 , 0x00000001 
+ 00008752  0x00000c5f arg  0x00000000 , 0x00000002 
+ 00008753  0x00000c61 storet  0x00000001 , 0x00000015 
+ 00008754  0x00000c62 mul32  0x00000002 , 0x00000050 , 0x0000003f 
+ 00008755  0x00000c63 arg  0x00004040 , 0x00000011 
+ 00008756  0x00000c64 iadd  0x00000011 , 0x00000011 
+ 00008757  0x00000c65 ifetch  0x00000001 , 0x00000011 
+ 00008758  0x00000c66 bbit1  0x00000001 , 0x00002239 
+ 00008759  0x00000c67 rtnbit1  0x00000000 
+ 00008760  0x00000c68 rtnbit1  0x00000003 
+ 00008761  0x00000c6a loop  0x0000222d 
+ 00008762  0x00000c6b rtn 
+ 00008763  0x00000c6e bpatch  0x0000002c , 0x00004005 
+ 00008764  0x00000c6f arg  0x0000226a , 0x00000013 
+ 00008765  0x00000c70 call  0x00002261 
+ 00008766  0x00000c71 nrtn  0x00000005 
+ 00008767  0x00000c72 deposit  0x00000011 
+ 00008768  0x00000c73 store  0x00000002 , 0x0000001e 
+ 00008769  0x00000c74 force  0x00000000 , 0x0000003e 
+ 00008770  0x00000c75 rtn 
+ 00008771  0x00000c7a call  0x00002725 
+ 00008772  0x00000c7b branch  0x0000224b , 0x00000001 
+ 00008773  0x00000c7c fetch  0x00000002 , 0x0000001e 
+ 00008774  0x00000c7d add  0x0000003f , 0x00000017 , 0x00000005 
+ 00008775  0x00000c7e fetch  0x00000001 , 0x00000047 
+ 00008776  0x00000c7f istore  0x00000001 , 0x00000005 
+ 00008777  0x00000c80 arg  0x000022aa , 0x00000013 
+ 00008778  0x00000c81 branch  0x00002261 
+ 00008779  0x00000c84 fetch  0x00000001 , 0x00000047 
+ 00008780  0x00000c85 isolate1  0x00000003 , 0x0000003f 
+ 00008781  0x00000c86 branch  0x00002250 , 0x00000001 
+ 00008782  0x00000c87 force  0x00000001 , 0x0000003e 
+ 00008783  0x00000c88 rtn 
+ 00008784  0x00000c8a force  0x00000000 , 0x0000003e 
+ 00008785  0x00000c8b rtn 
+ 00008786  0x00000c8f arg  0x000022a7 , 0x00000013 
+ 00008787  0x00000c90 branch  0x00002261 
+ 00008788  0x00000c93 fetcht  0x00000002 , 0x0000001e 
+ 00008789  0x00000c94 arg  0x000022cf , 0x00000013 
+ 00008790  0x00000c95 branch  0x00002261 
+ 00008791  0x00000c9a fetcht  0x00000001 , 0x000041cf 
+ 00008792  0x00000c9c arg  0x00002275 , 0x00000013 
+ 00008793  0x00000c9d branch  0x00002261 
+ 00008794  0x00000ca0 bpatch  0x0000002d , 0x00004005 
+ 00008795  0x00000ca1 fetcht  0x00000006 , 0x000041d0 
+ 00008796  0x00000ca3 arg  0x0000226e , 0x00000013 
+ 00008797  0x00000ca4 branch  0x00002261 
+ 00008798  0x00000ca7 arg  0x0000227b , 0x00000013 
+ 00008799  0x00000ca8 branch  0x00002261 
+ 00008800  0x00000cab arg  0x000022c6 , 0x00000013 
+ 00008801  0x00000cad bpatch  0x0000002e , 0x00004005 
+ 00008802  0x00000cae arg  0x00004040 , 0x00000011 
+ 00008803  0x00000caf arg  0x00000001 , 0x00000039 
+ 00008804  0x00000cb1 ifetch  0x00000001 , 0x00000011 
+ 00008805  0x00000cb2 copy  0x00000013 , 0x0000003d 
+ 00008806  0x00000cb4 increase  0x00000050 , 0x00000011 
+ 00008807  0x00000cb5 loop  0x00002264 
+ 00008808  0x00000cb6 force  0x00000001 , 0x0000003e 
+ 00008809  0x00000cb7 rtn 
+ 00008810  0x00000cba bbit1  0x00000000 , 0x00002266 
+ 00008811  0x00000cbb bbit1  0x00000003 , 0x00002266 
+ 00008812  0x00000cbc force  0x00000000 , 0x0000003e 
+ 00008813  0x00000cbd rtn 
+ 00008814  0x00000cc0 bbit1  0x00000003 , 0x00002270 
+ 00008815  0x00000cc1 bbit0  0x00000000 , 0x00002266 
+ 00008816  0x00000cc3 add  0x00000011 , 0x00000010 , 0x00000006 
+ 00008817  0x00000cc4 ifetch  0x00000006 , 0x00000006 
+ 00008818  0x00000cc5 isub  0x00000002 , 0x0000003e 
+ 00008819  0x00000cc6 rtn  0x00000005 
+ 00008820  0x00000cc7 branch  0x00002266 
+ 00008821  0x00000cca bbit0  0x00000000 , 0x00002266 
+ 00008822  0x00000ccb add  0x00000011 , 0x00000016 , 0x00000006 
+ 00008823  0x00000ccc ifetch  0x00000001 , 0x00000006 
+ 00008824  0x00000ccd isub  0x00000002 , 0x0000003e 
+ 00008825  0x00000cce rtn  0x00000005 
+ 00008826  0x00000ccf branch  0x00002266 
+ 00008827  0x00000cd2 bbit0  0x00000001 , 0x00002266 
+ 00008828  0x00000cd4 call  0x000022b3 
+ 00008829  0x00000cd5 call  0x00002297 
+ 00008830  0x00000cd6 isub  0x00000002 , 0x0000003f 
+ 00008831  0x00000cd7 increase  0x00000001 , 0x0000003f 
+ 00008832  0x00000cd8 branch  0x00002291 , 0x00000002 
+ 00008833  0x00000cd9 copy  0x00000006 , 0x00000012 
+ 00008834  0x00000cda store  0x00000009 , 0x00000aa2 
+ 00008835  0x00000cdb fetch  0x00000001 , 0x000044c0 
+ 00008836  0x00000cdc nbranch  0x00002289 , 0x00000034 
+ 00008837  0x00000cdd fetch  0x00000009 , 0x00000aa2 
+ 00008838  0x00000cde copy  0x00000012 , 0x00000006 
+ 00008839  0x00000cdf increase  0x00000005 , 0x0000003f 
+ 00008840  0x00000ce0 branch  0x0000228c 
+ 00008841  0x00000ce2 fetch  0x00000009 , 0x00000aa2 
+ 00008842  0x00000ce3 copy  0x00000012 , 0x00000006 
+ 00008843  0x00000ce4 increase  0x00000014 , 0x0000003f 
+ 00008844  0x00000ce6 nbranch  0x00002266 , 0x00000002 
+ 00008845  0x00000ce8 copy  0x00000002 , 0x00000021 
+ 00008846  0x00000ce9 call  0x000022bf 
+ 00008847  0x00000cea force  0x00000000 , 0x0000003e 
+ 00008848  0x00000ceb rtn 
+ 00008849  0x00000cef iforce  0x00000012 
+ 00008850  0x00000cf0 add  0x00000011 , 0x00000002 , 0x00000006 
+ 00008851  0x00000cf1 ifetch  0x00000002 , 0x00000006 
+ 00008852  0x00000cf2 branch  0x0000228d , 0x00000034 
+ 00008853  0x00000cf3 call  0x000022bf 
+ 00008854  0x00000cf4 branch  0x0000227c 
+ 00008855  0x00000cf7 rshift16  0x0000003f , 0x0000000b 
+ 00008856  0x00000cf8 rshift8  0x0000000b , 0x0000000b 
+ 00008857  0x00000cf9 branch  0x000022a1 , 0x00000005 
+ 00008858  0x00000cfa compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00008859  0x00000cfb nrtn  0x00000001 
+ 00008860  0x00000cfc rshift16  0x00000002 , 0x0000000b 
+ 00008861  0x00000cfd rshift8  0x0000000b , 0x0000000b 
+ 00008862  0x00000cfe nrtn  0x00000005 
+ 00008863  0x00000cff set1  0x0000001c , 0x00000002 
+ 00008864  0x00000d00 rtn 
+ 00008865  0x00000d02 rshift16  0x00000002 , 0x0000000b 
+ 00008866  0x00000d03 rshift8  0x0000000b , 0x0000000b 
+ 00008867  0x00000d04 compare  0x0000000f , 0x0000000b , 0x0000000f 
+ 00008868  0x00000d05 nrtn  0x00000001 
+ 00008869  0x00000d06 set1  0x0000001c , 0x0000003f 
+ 00008870  0x00000d07 rtn 
+ 00008871  0x00000d0a bbit0  0x00000000 , 0x00002266 
+ 00008872  0x00000d0b force  0x00000000 , 0x0000003e 
+ 00008873  0x00000d0c rtn 
+ 00008874  0x00000d0f bbit0  0x00000000 , 0x00002266 
+ 00008875  0x00000d10 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008876  0x00000d11 ifetch  0x00000001 , 0x00000006 
+ 00008877  0x00000d12 bbit1  0x00000000 , 0x00002266 
+ 00008878  0x00000d13 add  0x00000011 , 0x00000017 , 0x00000006 
+ 00008879  0x00000d14 ifetch  0x00000001 , 0x00000006 
+ 00008880  0x00000d15 bbit0  0x00000003 , 0x00002266 
+ 00008881  0x00000d16 force  0x00000000 , 0x0000003e 
+ 00008882  0x00000d17 rtn 
+ 00008883  0x00000d1a add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008884  0x00000d1b ifetcht  0x00000001 , 0x00000006 
+ 00008885  0x00000d1c deposit  0x00000022 
+ 00008886  0x00000d1d isolate1  0x00000001 , 0x00000002 
+ 00008887  0x00000d1e add  0x00000011 , 0x00000004 , 0x00000006 
+ 00008888  0x00000d1f ifetcht  0x00000004 , 0x00000006 
+ 00008889  0x00000d20 rtn  0x00000001 
+ 00008890  0x00000d21 add  0x00000011 , 0x00000008 , 0x00000006 
+ 00008891  0x00000d22 ifetch  0x00000006 , 0x00000006 
+ 00008892  0x00000d23 call  0x00002854 
+ 00008893  0x00000d24 deposit  0x00000028 
+ 00008894  0x00000d25 rtn 
+ 00008895  0x00000d28 add  0x00000011 , 0x00000002 , 0x00000006 
+ 00008896  0x00000d29 add  0x00000011 , 0x00000004 , 0x00000005 
+ 00008897  0x00000d2a ifetch  0x00000002 , 0x00000006 
+ 00008898  0x00000d2b iadd  0x00000002 , 0x0000000b 
+ 00008899  0x00000d2c deposit  0x0000000b 
+ 00008900  0x00000d2d istore  0x00000004 , 0x00000005 
+ 00008901  0x00000d2e branch  0x00005449 
+ 00008902  0x00000d32 bbit0  0x00000001 , 0x00002266 
+ 00008903  0x00000d33 call  0x000022b3 
+ 00008904  0x00000d34 iadd  0x0000001b , 0x0000003f 
+ 00008905  0x00000d35 iadd  0x0000001b , 0x0000003f 
+ 00008906  0x00000d36 iadd  0x00000007 , 0x0000003f 
+ 00008907  0x00000d37 isub  0x00000002 , 0x0000003e 
+ 00008908  0x00000d38 nbranch  0x00002266 , 0x00000002 
+ 00008909  0x00000d39 force  0x00000000 , 0x0000003e 
+ 00008910  0x00000d3a rtn 
+ 00008911  0x00000d3d bbit0  0x00000000 , 0x00002266 
+ 00008912  0x00000d3e deposit  0x00000002 
+ 00008913  0x00000d3f isub  0x00000011 , 0x0000003e 
+ 00008914  0x00000d40 branch  0x00002266 , 0x0000003e 
+ 00008915  0x00000d41 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00008916  0x00000d42 ifetch  0x00000001 , 0x00000006 
+ 00008917  0x00000d43 bbit1  0x00000000 , 0x00002266 
+ 00008918  0x00000d44 ifetch  0x00000001 , 0x00000011 
+ 00008919  0x00000d45 set0  0x00000007 , 0x0000003f 
+ 00008920  0x00000d46 istore  0x00000001 , 0x00000011 
+ 00008921  0x00000d47 branch  0x00002266 
+ 00008922  0x00000d4b bpatch  0x0000002f , 0x00004005 
+ 00008923  0x00000d4c call  0x00002a4f 
+ 00008924  0x00000d4e add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008925  0x00000d4f call  0x000028e2 
+ 00008926  0x00000d50 force  0x00000003 , 0x00000024 
+ 00008927  0x00000d51 call  0x000028d2 
+ 00008928  0x00000d52 call  0x00002a51 
+ 00008929  0x00000d53 call  0x00002a56 
+ 00008930  0x00000d54 call  0x00002a64 
+ 00008931  0x00000d55 branch  0x00002762 
+ 00008932  0x00000d58 bpatch  0x00000030 , 0x00004006 
+ 00008933  0x00000d59 call  0x00002a4d 
+ 00008934  0x00000d5b add  0x00000022 , 0x00000001 , 0x00000021 
+ 00008935  0x00000d5c call  0x000028e2 
+ 00008936  0x00000d5d force  0x00000003 , 0x00000024 
+ 00008937  0x00000d5e call  0x000028cc 
+ 00008938  0x00000d5f call  0x0000242a 
+ 00008939  0x00000d60 call  0x000029f1 
+ 00008940  0x00000d61 call  0x00002a5b 
+ 00008941  0x00000d62 call  0x000029eb 
+ 00008942  0x00000d64 call  0x00002a0d 
+ 00008943  0x00000d65 nrtn  0x00000018 
+ 00008944  0x00000d66 call  0x000029bb 
+ 00008945  0x00000d67 branch  0x0000251c 
+ 00008946  0x00000d6c bpatch  0x00000031 , 0x00004006 
+ 00008947  0x00000d6d fetch  0x00000001 , 0x00000181 
+ 00008948  0x00000d6e iforce  0x00000004 
+ 00008949  0x00000d6f force  0x00000001 , 0x00000001 
+ 00008950  0x00000d70 call  0x000022da 
+ 00008951  0x00000d71 branch  0x000022e4 
+ 00008952  0x00000d7d fetch  0x00000001 , 0x00004093 
+ 00008953  0x00000d7e rtnbit0  0x00000000 
+ 00008954  0x00000d7f force  0x00000004 , 0x00000007 
+ 00008955  0x00000d80 call  0x00007f16 
+ 00008956  0x00000d81 nrtn  0x00000034 
+ 00008957  0x00000d82 fetcht  0x00000002 , 0x000040ad 
+ 00008958  0x00000d83 force  0x00000004 , 0x00000007 
+ 00008959  0x00000d84 call  0x0000271c 
+ 00008960  0x00000d85 rtn  0x00000028 
+ 00008961  0x00000d86 call  0x00002308 
+ 00008962  0x00000d87 force  0x00000004 , 0x00000007 
+ 00008963  0x00000d88 fetch  0x00000002 , 0x000040af 
+ 00008964  0x00000d89 nbranch  0x00007f08 , 0x00000018 
+ 00008965  0x00000d8a random  0x0000003f 
+ 00008966  0x00000d8b iand  0x00000035 , 0x0000003f 
+ 00008967  0x00000d8c branch  0x00007f08 
+ 00008968  0x00000d90 bpatch  0x00000032 , 0x00004006 
+ 00008969  0x00000d91 jam  0x00000000 , 0x00000181 
+ 00008970  0x00000d92 disable  0x00000030 
+ 00008971  0x00000d93 disable  0x0000002e 
+ 00008972  0x00000d94 call  0x000028a4 
+ 00008973  0x00000d95 and  0x00000022 , 0x000001fc , 0x00000021 
+ 00008974  0x00000d96 force  0x00000001 , 0x00000024 
+ 00008975  0x00000d97 call  0x000028d8 
+ 00008976  0x00000d98 call  0x000028cc 
+ 00008977  0x00000d99 setflip  0x0000001d , 0x00000000 
+ 00008978  0x00000d9a fetch  0x00000001 , 0x00000006 
+ 00008979  0x00000d9b increase  0x00000001 , 0x0000003f 
+ 00008980  0x00000d9c store  0x00000001 , 0x00000006 
+ 00008981  0x00000d9d call  0x000028f2 
+ 00008982  0x00000d9e call  0x000029eb 
+ 00008983  0x00000d9f call  0x00002a14 
+ 00008984  0x00000da0 nrtn  0x00000018 
+ 00008985  0x00000da1 bpatch  0x00000033 , 0x00004006 
+ 00008986  0x00000da2 force  0x00000000 , 0x0000001b 
+ 00008987  0x00000da3 call  0x000028f9 
+ 00008988  0x00000da4 fetch  0x00000001 , 0x00000007 
+ 00008989  0x00000da5 increase  0x00000001 , 0x0000003f 
+ 00008990  0x00000da6 store  0x00000001 , 0x00000007 
+ 00008991  0x00000da7 call  0x000028d8 
+ 00008992  0x00000da8 call  0x00002a4d 
+ 00008993  0x00000da9 or_into  0x00000002 , 0x00000021 
+ 00008994  0x00000daa force  0x00000001 , 0x00000024 
+ 00008995  0x00000dab call  0x000028d2 
+ 00008996  0x00000dac call  0x000028f2 
+ 00008997  0x00000dad call  0x00002a51 
+ 00008998  0x00000dae call  0x00002a5f 
+ 00008999  0x00000daf deposit  0x00000022 
+ 00009000  0x00000db0 store  0x00000004 , 0x00000161 
+ 00009001  0x00000db1 call  0x00002a64 
+ 00009002  0x00000db2 force  0x00000002 , 0x00000001 
+ 00009003  0x00000db3 force  0x00000000 , 0x00000004 
+ 00009004  0x00000db4 call  0x00002a6b 
+ 00009005  0x00000db5 call  0x00002766 
+ 00009006  0x00000db6 call  0x00002332 
+ 00009007  0x00000db7 and_into  0x000001fd , 0x00000021 
+ 00009008  0x00000db8 increase  0x00000001 , 0x00000026 
+ 00009009  0x00000db9 rtn 
+ 00009010  0x00000dbc bpatch  0x00000034 , 0x00004006 
+ 00009011  0x00000dbd fetch  0x00000001 , 0x000040d1 
+ 00009012  0x00000dbe rtn  0x00000034 
+ 00009013  0x00000dbf arg  0x0000018e , 0x00000005 
+ 00009014  0x00000dc0 fetch  0x00000001 , 0x00004515 
+ 00009015  0x00000dc1 copy  0x0000003f , 0x00000039 
+ 00009016  0x00000dc2 increase  0x00000001 , 0x0000003f 
+ 00009017  0x00000dc3 istore  0x00000001 , 0x00000005 
+ 00009018  0x00000dc4 copy  0x00000005 , 0x00000002 
+ 00009019  0x00000dc5 increase  0x00000001 , 0x0000003f 
+ 00009020  0x00000dc6 store  0x00000002 , 0x000041dc 
+ 00009021  0x00000dc7 copy  0x00000002 , 0x00000005 
+ 00009022  0x00000dc8 setarg  0x00000009 
+ 00009023  0x00000dc9 istore  0x00000001 , 0x00000005 
+ 00009024  0x00000dca arg  0x00004516 , 0x00000006 
+ 00009025  0x00000dcb call  0x00007f01 
+ 00009026  0x00000dcd arg  0x0000458d , 0x00000013 
+ 00009027  0x00000dce arg  0x00000004 , 0x00000039 
+ 00009028  0x00000dcf call  0x00002354 
+ 00009029  0x00000dd0 arg  0x00004577 , 0x00000013 
+ 00009030  0x00000dd1 arg  0x00000001 , 0x00000039 
+ 00009031  0x00000dd2 call  0x00002354 
+ 00009032  0x00000dd4 force  0x0000000a , 0x00000001 
+ 00009033  0x00000dd5 jam  0x00000002 , 0x000041db 
+ 00009034  0x00000dd6 setarg  0x0000018e 
+ 00009035  0x00000dd7 store  0x00000002 , 0x0000016f 
+ 00009036  0x00000dd8 call  0x00002a4d 
+ 00009037  0x00000dd9 call  0x000028d2 
+ 00009038  0x00000dda call  0x00002a51 
+ 00009039  0x00000ddb call  0x00002a5f 
+ 00009040  0x00000ddc call  0x00002a64 
+ 00009041  0x00000ddd call  0x00002a6b 
+ 00009042  0x00000dde call  0x00002766 
+ 00009043  0x00000ddf rtn 
+ 00009044  0x00000de3 copy  0x00000005 , 0x00000002 
+ 00009045  0x00000de4 copy  0x00000013 , 0x00000006 
+ 00009046  0x00000de5 ifetch  0x00000001 , 0x00000006 
+ 00009047  0x00000de6 rtn  0x00000034 
+ 00009048  0x00000de8 lshift  0x0000003f , 0x0000003f 
+ 00009049  0x00000de9 loop  0x00002358 
+ 00009050  0x00000dea copy  0x0000003f , 0x00000011 
+ 00009051  0x00000deb increase  0x00000002 , 0x0000003f 
+ 00009052  0x00000dec copy  0x0000003f , 0x00000007 
+ 00009053  0x00000ded fetch  0x00000002 , 0x000041dc 
+ 00009054  0x00000dee iadd  0x00000007 , 0x0000003f 
+ 00009055  0x00000def store  0x00000002 , 0x000041dc 
+ 00009056  0x00000df0 copy  0x00000002 , 0x00000005 
+ 00009057  0x00000df1 copy  0x00000011 , 0x0000003f 
+ 00009058  0x00000df2 increase  0x00000001 , 0x0000003f 
+ 00009059  0x00000df3 istore  0x00000001 , 0x00000005 
+ 00009060  0x00000df4 copy  0x00000013 , 0x00000006 
+ 00009061  0x00000df5 ifetch  0x00000001 , 0x00000006 
+ 00009062  0x00000df6 ifetch  0x00000001 , 0x00000006 
+ 00009063  0x00000df7 istore  0x00000001 , 0x00000005 
+ 00009064  0x00000df8 copy  0x00000011 , 0x00000039 
+ 00009065  0x00000df9 branch  0x00007f01 
+ 00009066  0x00000e00 fetch  0x00000001 , 0x00004093 
+ 00009067  0x00000e01 rtnbit0  0x00000001 
+ 00009068  0x00000e02 force  0x00000005 , 0x00000007 
+ 00009069  0x00000e03 call  0x00007f16 
+ 00009070  0x00000e04 nrtn  0x00000034 
+ 00009071  0x00000e05 fetcht  0x00000002 , 0x000040b1 
+ 00009072  0x00000e06 force  0x00000028 , 0x00000007 
+ 00009073  0x00000e07 call  0x0000271c 
+ 00009074  0x00000e08 rtn  0x00000028 
+ 00009075  0x00000e09 force  0x00000000 , 0x00000004 
+ 00009076  0x00000e0a jam  0x00000008 , 0x00000010 
+ 00009077  0x00000e0b set0  0x0000000b , 0x00000000 
+ 00009078  0x00000e0c call  0x0000237a 
+ 00009079  0x00000e0d force  0x00000005 , 0x00000007 
+ 00009080  0x00000e0e fetch  0x00000002 , 0x000040b3 
+ 00009081  0x00000e0f branch  0x00007f08 
+ 00009082  0x00000e13 bpatch  0x00000035 , 0x00004006 
+ 00009083  0x00000e14 disable  0x00000030 
+ 00009084  0x00000e15 call  0x000028a4 
+ 00009085  0x00000e16 fetch  0x00000001 , 0x00000008 
+ 00009086  0x00000e17 increase  0x00000001 , 0x0000003f 
+ 00009087  0x00000e18 store  0x00000001 , 0x00000008 
+ 00009088  0x00000e19 force  0x00000000 , 0x00000026 
+ 00009089  0x00000e1a call  0x000028e2 
+ 00009090  0x00000e1b add  0x00000022 , 0x00000001 , 0x00000021 
+ 00009091  0x00000e1c force  0x00000002 , 0x00000024 
+ 00009092  0x00000e1d bpatch  0x00000036 , 0x00004006 
+ 00009093  0x00000e1e call  0x000028cc 
+ 00009094  0x00000e1f call  0x000029eb 
+ 00009095  0x00000e20 call  0x00002a14 
+ 00009096  0x00000e21 nrtn  0x00000018 
+ 00009097  0x00000e22 call  0x000028f9 
+ 00009098  0x00000e23 fetch  0x00000001 , 0x00000009 
+ 00009099  0x00000e24 increase  0x00000001 , 0x0000003f 
+ 00009100  0x00000e25 store  0x00000001 , 0x00000009 
+ 00009101  0x00000e26 force  0x00000000 , 0x0000001b 
+ 00009102  0x00000e27 call  0x00002a4d 
+ 00009103  0x00000e28 or_into  0x00000002 , 0x00000021 
+ 00009104  0x00000e29 force  0x00000001 , 0x00000024 
+ 00009105  0x00000e2a call  0x000028d2 
+ 00009106  0x00000e2b call  0x00002a51 
+ 00009107  0x00000e2c call  0x00002a5f 
+ 00009108  0x00000e2d call  0x00002a64 
+ 00009109  0x00000e2e call  0x0000264d 
+ 00009110  0x00000e2f force  0x00000000 , 0x00000004 
+ 00009111  0x00000e30 arg  0x00000600 , 0x0000000b 
+ 00009112  0x00000e31 until  0x00000029 , 0x00000026 
+ 00009113  0x00000e32 or_into  0x00000003 , 0x00000028 
+ 00009114  0x00000e33 and_into  0x000001fd , 0x00000021 
+ 00009115  0x00000e35 bpatch  0x00000037 , 0x00004006 
+ 00009116  0x00000e36 increase  0x00000001 , 0x00000026 
+ 00009117  0x00000e37 call  0x000028cc 
+ 00009118  0x00000e38 call  0x000029eb 
+ 00009119  0x00000e39 call  0x00002a07 
+ 00009120  0x00000e3a nbranch  0x000023a4 , 0x00000018 
+ 00009121  0x00000e3b call  0x00002a6b 
+ 00009122  0x00000e3c call  0x0000251e 
+ 00009123  0x00000e3d bmark1  0x0000000b , 0x000023ab 
+ 00009124  0x00000e3f bpatch  0x00000038 , 0x00004007 
+ 00009125  0x00000e40 fetch  0x00000001 , 0x00000010 
+ 00009126  0x00000e41 rtn  0x00000034 
+ 00009127  0x00000e42 increase  0xffffffff , 0x0000003f 
+ 00009128  0x00000e43 store  0x00000001 , 0x00000010 
+ 00009129  0x00000e44 call  0x00002a4f 
+ 00009130  0x00000e45 branch  0x0000239b 
+ 00009131  0x00000e49 bpatch  0x00000039 , 0x00004007 
+ 00009132  0x00000e4a set0  0x00000001 , 0x00000028 
+ 00009133  0x00000e4b set1  0x00000000 , 0x00000028 
+ 00009134  0x00000e4c fetch  0x00000001 , 0x0000000a 
+ 00009135  0x00000e4d increase  0x00000001 , 0x0000003f 
+ 00009136  0x00000e4e store  0x00000001 , 0x0000000a 
+ 00009137  0x00000e4f call  0x00002a4d 
+ 00009138  0x00000e50 or_into  0x00000002 , 0x00000021 
+ 00009139  0x00000e51 call  0x000028d2 
+ 00009140  0x00000e52 call  0x00002a51 
+ 00009141  0x00000e53 call  0x00002a5f 
+ 00009142  0x00000e54 call  0x00002a64 
+ 00009143  0x00000e55 call  0x0000264d 
+ 00009144  0x00000e57 compare  0x00000003 , 0x00000028 , 0x00000003 
+ 00009145  0x00000e58 branch  0x000023bc , 0x00000001 
+ 00009146  0x00000e59 until  0x0000003e , 0x00000017 
+ 00009147  0x00000e5a branch  0x000023b8 
+ 00009148  0x00000e5c fetch  0x00000004 , 0x00000165 
+ 00009149  0x00000e5d or_into  0x00000003 , 0x0000003f 
+ 00009150  0x00000e5e icopy  0x00000028 
+ 00009151  0x00000e61 bpatch  0x0000003a , 0x00004007 
+ 00009152  0x00000e62 fetch  0x00000006 , 0x00000178 
+ 00009153  0x00000e63 store  0x00000006 , 0x00000040 
+ 00009154  0x00000e64 call  0x00002435 
+ 00009155  0x00000e66 call  0x0000247c 
+ 00009156  0x00000e67 branch  0x000023c8 , 0x0000002d 
+ 00009157  0x00000e68 call  0x00002455 
+ 00009158  0x00000e69 nbranch  0x000023c3 , 0x00000034 
+ 00009159  0x00000e6a rtn 
+ 00009160  0x00000e6e bpatch  0x0000003b , 0x00004007 
+ 00009161  0x00000e6f call  0x00002440 
+ 00009162  0x00000e70 call  0x0000223b 
+ 00009163  0x00000e71 nrtn  0x00000005 
+ 00009164  0x00000e72 jam  0x00000000 , 0x00000031 
+ 00009165  0x00000e73 call  0x00002841 
+ 00009166  0x00000e74 branch  0x00002223 
+ 00009167  0x00000e7a bpatch  0x0000003c , 0x00004007 
+ 00009168  0x00000e7b call  0x00002850 
+ 00009169  0x00000e7c call  0x000023f3 
+ 00009170  0x00000e7d rtn  0x00000028 
+ 00009171  0x00000e7f bpatch  0x0000003d , 0x00004007 
+ 00009172  0x00000e80 call  0x00002c69 
+ 00009173  0x00000e81 call  0x00006caa 
+ 00009174  0x00000e82 call  0x00002514 
+ 00009175  0x00000e83 nbranch  0x000023e2 , 0x0000002d 
+ 00009176  0x00000e84 call  0x00002a88 
+ 00009177  0x00000e85 call  0x00006cc2 
+ 00009178  0x00000e86 call  0x00002489 
+ 00009179  0x00000e87 call  0x00002757 
+ 00009180  0x00000e88 call  0x00002728 
+ 00009181  0x00000e89 call  0x00005d08 
+ 00009182  0x00000e8a fetch  0x00000001 , 0x0000000b 
+ 00009183  0x00000e8b increase  0x00000001 , 0x0000003f 
+ 00009184  0x00000e8c store  0x00000001 , 0x0000000b 
+ 00009185  0x00000e8d call  0x00002841 
+ 00009186  0x00000e8f bpatch  0x0000003e , 0x00004007 
+ 00009187  0x00000e90 call  0x00002bb1 
+ 00009188  0x00000e91 call  0x00002a7f 
+ 00009189  0x00000e92 branch  0x000023eb , 0x00000002 
+ 00009190  0x00000e93 call  0x000021a7 
+ 00009191  0x00000e94 nbranch  0x000023eb , 0x00000028 
+ 00009192  0x00000e95 call  0x000026f3 
+ 00009193  0x00000e96 nbranch  0x000023d3 , 0x00000034 
+ 00009194  0x00000e97 rtn 
+ 00009195  0x00000e9a bpatch  0x0000003f , 0x00004007 
+ 00009196  0x00000e9b jam  0x00000000 , 0x00000151 
+ 00009197  0x00000e9c jam  0x00000000 , 0x0000017f 
+ 00009198  0x00000e9d call  0x0000245d 
+ 00009199  0x00000e9e set0  0x00000011 , 0x00000000 
+ 00009200  0x00000e9f call  0x00007fb0 
+ 00009201  0x00000ea0 fetch  0x00000001 , 0x00000030 
+ 00009202  0x00000ea1 rtn 
+ 00009203  0x00000ea5 bpatch  0x00000040 , 0x00004008 
+ 00009204  0x00000ea6 call  0x000021c9 
+ 00009205  0x00000ea7 nrtn  0x00000028 
+ 00009206  0x00000ea8 copy  0x00000004 , 0x00000002 
+ 00009207  0x00000ea9 call  0x00002a6f 
+ 00009208  0x00000eaa store  0x00000001 , 0x00000181 
+ 00009209  0x00000eab copy  0x00000002 , 0x00000004 
+ 00009210  0x00000eac jam  0x00000020 , 0x00000011 
+ 00009211  0x00000eae bpatch  0x00000041 , 0x00004008 
+ 00009212  0x00000eaf call  0x00002a4f 
+ 00009213  0x00000eb0 force  0x00000002 , 0x00000001 
+ 00009214  0x00000eb1 call  0x0000274f 
+ 00009215  0x00000eb2 deposit  0x00000022 
+ 00009216  0x00000eb3 store  0x00000004 , 0x00000161 
+ 00009217  0x00000eb4 call  0x00002762 
+ 00009218  0x00000eb5 call  0x00002a4d 
+ 00009219  0x00000eb6 enable  0x0000002f 
+ 00009220  0x00000eb7 call  0x000024f6 
+ 00009221  0x00000eb8 branch  0x0000240d , 0x00000018 
+ 00009222  0x00000eb9 call  0x000028f9 
+ 00009223  0x00000eba call  0x00002455 
+ 00009224  0x00000ebb nbranch  0x000023fb , 0x00000034 
+ 00009225  0x00000ebc rtnmark0  0x00000004 
+ 00009226  0x00000ebd jam  0x00000034 , 0x0000007c 
+ 00009227  0x00000ebe set1  0x00000003 , 0x00000000 
+ 00009228  0x00000ebf rtn 
+ 00009229  0x00000ec1 enable  0x00000030 
+ 00009230  0x00000ec2 call  0x00002435 
+ 00009231  0x00000ec3 call  0x000028a4 
+ 00009232  0x00000ec5 bpatch  0x00000042 , 0x00004008 
+ 00009233  0x00000ec6 call  0x000022f2 
+ 00009234  0x00000ec7 branch  0x00002419 , 0x00000018 
+ 00009235  0x00000ec8 call  0x00002455 
+ 00009236  0x00000ec9 nbranch  0x00002410 , 0x00000034 
+ 00009237  0x00000eca disable  0x00000030 
+ 00009238  0x00000ecb deposit  0x00000028 
+ 00009239  0x00000ecc store  0x00000004 , 0x000040ca 
+ 00009240  0x00000ecd rtn 
+ 00009241  0x00000ecf enable  0x00000029 
+ 00009242  0x00000ed0 bmark0  0x00000004 , 0x0000241f 
+ 00009243  0x00000ed1 set0  0x00000004 , 0x00000000 
+ 00009244  0x00000ed2 jam  0x00000003 , 0x0000007c 
+ 00009245  0x00000ed3 jam  0x00000033 , 0x0000007d 
+ 00009246  0x00000ed4 call  0x000062f8 
+ 00009247  0x00000ed6 deposit  0x00000004 
+ 00009248  0x00000ed7 store  0x00000001 , 0x00000077 
+ 00009249  0x00000ed8 force  0x00000000 , 0x0000003f 
+ 00009250  0x00000ed9 store  0x00000006 , 0x00000038 
+ 00009251  0x00000eda fetch  0x00000001 , 0x00000031 
+ 00009252  0x00000edb set1  0x00000001 , 0x0000003f 
+ 00009253  0x00000edc store  0x00000001 , 0x00000031 
+ 00009254  0x00000edd call  0x00002a88 
+ 00009255  0x00000ede disable  0x00000029 
+ 00009256  0x00000edf enable  0x00000028 
+ 00009257  0x00000ee0 rtn 
+ 00009258  0x00000ee5 bpatch  0x00000043 , 0x00004008 
+ 00009259  0x00000ee6 disable  0x0000002d 
+ 00009260  0x00000ee7 set0  0x00000005 , 0x00000000 
+ 00009261  0x00000ee8 set0  0x0000000a , 0x00000000 
+ 00009262  0x00000ee9 set0  0x00000010 , 0x00000000 
+ 00009263  0x00000eea set0  0x0000000f , 0x00000000 
+ 00009264  0x00000eeb fetch  0x00000001 , 0x00000047 
+ 00009265  0x00000eec set0  0x00000005 , 0x0000003f 
+ 00009266  0x00000eed set1  0x00000004 , 0x0000003f 
+ 00009267  0x00000eee store  0x00000001 , 0x00000047 
+ 00009268  0x00000eef rtn 
+ 00009269  0x00000ef2 bpatch  0x00000044 , 0x00004008 
+ 00009270  0x00000ef3 jam  0x00000020 , 0x00000011 
+ 00009271  0x00000ef4 jam  0x00000050 , 0x00000047 
+ 00009272  0x00000ef5 fetch  0x00000002 , 0x000040bf 
+ 00009273  0x00000ef6 store  0x00000002 , 0x0000003e 
+ 00009274  0x00000ef7 deposit  0x00000022 
+ 00009275  0x00000ef8 store  0x00000004 , 0x000040ca 
+ 00009276  0x00000ef9 rtn  0x00000030 
+ 00009277  0x00000efa deposit  0x00000028 
+ 00009278  0x00000efb store  0x00000004 , 0x000040ca 
+ 00009279  0x00000efc rtn 
+ 00009280  0x00000eff bpatch  0x00000045 , 0x00004008 
+ 00009281  0x00000f00 call  0x00005d04 
+ 00009282  0x00000f01 call  0x00002459 
+ 00009283  0x00000f02 store  0x00000001 , 0x00000046 
+ 00009284  0x00000f03 setarg  0x00000000 
+ 00009285  0x00000f04 store  0x00000002 , 0x0000025d 
+ 00009286  0x00000f05 setarg  0x00001c80 
+ 00009287  0x00000f06 store  0x00000002 , 0x00000051 
+ 00009288  0x00000f07 fetch  0x00000001 , 0x00000030 
+ 00009289  0x00000f08 set1  0x00000000 , 0x0000003f 
+ 00009290  0x00000f09 store  0x00000001 , 0x00000030 
+ 00009291  0x00000f0a jam  0x00000000 , 0x0000004b 
+ 00009292  0x00000f0b jam  0x00000000 , 0x0000004c 
+ 00009293  0x00000f0c jam  0x00000000 , 0x000000a0 
+ 00009294  0x00000f0d branch  0x00002a88 
+ 00009295  0x00000f11 bpatch  0x00000046 , 0x00004008 
+ 00009296  0x00000f12 force  0x00000000 , 0x0000003f 
+ 00009297  0x00000f13 store  0x00000008 , 0x000041be 
+ 00009298  0x00000f14 istore  0x00000008 , 0x00000005 
+ 00009299  0x00000f15 call  0x000021c5 
+ 00009300  0x00000f16 branch  0x00002254 
+ 00009301  0x00000f19 fetch  0x00000001 , 0x00000011 
+ 00009302  0x00000f1a increase  0xffffffff , 0x0000003f 
+ 00009303  0x00000f1b store  0x00000001 , 0x00000011 
+ 00009304  0x00000f1c rtn 
+ 00009305  0x00000f1f fetch  0x00000001 , 0x000040cf 
+ 00009306  0x00000f20 increase  0x00000001 , 0x0000003f 
+ 00009307  0x00000f21 store  0x00000001 , 0x000040cf 
+ 00009308  0x00000f22 rtn 
+ 00009309  0x00000f26 bpatch  0x00000047 , 0x00004008 
+ 00009310  0x00000f27 fetch  0x00000001 , 0x000041ce 
+ 00009311  0x00000f28 beq  0x00000003 , 0x00002462 
+ 00009312  0x00000f29 fetch  0x00000001 , 0x00000048 
+ 00009313  0x00000f2a bne  0x00000001 , 0x00002466 
+ 00009314  0x00000f2c call  0x00004d06 
+ 00009315  0x00000f2d nbranch  0x00002466 , 0x00000005 
+ 00009316  0x00000f2e call  0x000021a4 
+ 00009317  0x00000f2f jam  0x00000000 , 0x000041ce 
+ 00009318  0x00000f31 bpatch  0x00000048 , 0x00004009 
+ 00009319  0x00000f32 call  0x000033af 
+ 00009320  0x00000f33 call  0x000026e9 
+ 00009321  0x00000f34 jam  0x00000002 , 0x00000a99 
+ 00009322  0x00000f35 call  0x00007d86 
+ 00009323  0x00000f36 call  0x00005cf7 
+ 00009324  0x00000f37 call  0x00004d6b 
+ 00009325  0x00000f38 call  0x0000757d 
+ 00009326  0x00000f39 fetch  0x00000001 , 0x00000030 
+ 00009327  0x00000f3a set0  0x00000000 
+ 00009328  0x00000f3b store  0x00000001 , 0x00000030 
+ 00009329  0x00000f3c jam  0x00000000 , 0x00004681 
+ 00009330  0x00000f3e fetch  0x00000001 , 0x0000004c 
+ 00009331  0x00000f3f compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00009332  0x00000f40 branch  0x00002476 , 0x00000001 
+ 00009333  0x00000f41 set0  0x00000001 , 0x00000000 
+ 00009334  0x00000f43 fetch  0x00000001 , 0x00000047 
+ 00009335  0x00000f44 bbit0  0x00000003 , 0x00002478 
+ 00009336  0x00000f46 fetch  0x00000001 , 0x0000004b 
+ 00009337  0x00000f47 rtnbit0  0x00000006 
+ 00009338  0x00000f48 set0  0x00000002 , 0x00000000 
+ 00009339  0x00000f49 rtn 
+ 00009340  0x00000f4c bpatch  0x00000049 , 0x00004009 
+ 00009341  0x00000f4d fetch  0x00000001 , 0x00000174 
+ 00009342  0x00000f4e rtn  0x00000034 
+ 00009343  0x00000f4f icopy  0x00000004 
+ 00009344  0x00000f50 call  0x00002514 
+ 00009345  0x00000f51 nrtn  0x0000002d 
+ 00009346  0x00000f52 force  0x00000000 , 0x00000001 
+ 00009347  0x00000f53 call  0x00002757 
+ 00009348  0x00000f54 deposit  0x00000004 
+ 00009349  0x00000f55 store  0x00000001 , 0x00000077 
+ 00009350  0x00000f56 force  0x00000000 , 0x0000003f 
+ 00009351  0x00000f57 store  0x00000001 , 0x00000174 
+ 00009352  0x00000f58 rtn 
+ 00009353  0x00000f5f bpatch  0x0000004a , 0x00004009 
+ 00009354  0x00000f60 fetch  0x00000001 , 0x00000030 
+ 00009355  0x00000f61 bbit0  0x00000002 , 0x00002496 
+ 00009356  0x00000f62 force  0x00000007 , 0x00000001 
+ 00009357  0x00000f63 bmark0  0x00000007 , 0x00002495 
+ 00009358  0x00000f64 call  0x00002725 
+ 00009359  0x00000f65 nbranch  0x00002496 , 0x00000001 
+ 00009360  0x00000f66 branch  0x00002496 , 0x0000002e 
+ 00009361  0x00000f67 call  0x000024c1 
+ 00009362  0x00000f68 setarg  0x00000002 
+ 00009363  0x00000f69 store  0x00000002 , 0x000040c8 
+ 00009364  0x00000f6a rtn 
+ 00009365  0x00000f6c nrtn  0x0000002e 
+ 00009366  0x00000f6e bpatch  0x0000004b , 0x00004009 
+ 00009367  0x00000f6f call  0x00002243 
+ 00009368  0x00000f70 nbranch  0x000024a7 , 0x00000005 
+ 00009369  0x00000f71 fetch  0x00000001 , 0x00000047 
+ 00009370  0x00000f72 bbit0  0x00000003 , 0x000024b0 
+ 00009371  0x00000f74 bmark1  0x00000005 , 0x000024b4 
+ 00009372  0x00000f75 fetch  0x00000001 , 0x0000017f 
+ 00009373  0x00000f76 bbit1  0x00000006 , 0x000024ba 
+ 00009374  0x00000f77 fetch  0x00000002 , 0x000040c8 
+ 00009375  0x00000f78 increase  0xffffffff , 0x0000003f 
+ 00009376  0x00000f79 store  0x00000002 , 0x000040c8 
+ 00009377  0x00000f7a branch  0x000024a5 , 0x00000034 
+ 00009378  0x00000f7b fetch  0x00000001 , 0x000040c5 
+ 00009379  0x00000f7c iforce  0x00000001 
+ 00009380  0x00000f7d rtn 
+ 00009381  0x00000f80 bpatch  0x0000004c , 0x00004009 
+ 00009382  0x00000f81 call  0x00002687 
+ 00009383  0x00000f83 call  0x00002725 
+ 00009384  0x00000f84 branch  0x000024b0 , 0x00000001 
+ 00009385  0x00000f85 call  0x0000600a 
+ 00009386  0x00000f86 branch  0x000024be , 0x00000028 
+ 00009387  0x00000f87 fetch  0x00000001 , 0x0000004b 
+ 00009388  0x00000f88 bbit1  0x00000006 , 0x000024c0 
+ 00009389  0x00000f89 bmark1  0x00000005 , 0x000024b4 
+ 00009390  0x00000f8a fetch  0x00000001 , 0x0000017f 
+ 00009391  0x00000f8b bbit1  0x00000006 , 0x000024ba 
+ 00009392  0x00000f8d force  0x00000001 , 0x00000001 
+ 00009393  0x00000f8e rtn  0x00000029 
+ 00009394  0x00000f8f force  0x00000000 , 0x00000001 
+ 00009395  0x00000f90 rtn 
+ 00009396  0x00000f92 bpatch  0x0000004d , 0x00004009 
+ 00009397  0x00000f93 fetch  0x00000001 , 0x00000019 
+ 00009398  0x00000f94 iforce  0x00000001 
+ 00009399  0x00000f95 rtnne  0x00000001 
+ 00009400  0x00000f96 force  0x00000000 , 0x00000001 
+ 00009401  0x00000f97 rtn 
+ 00009402  0x00000f99 fetch  0x00000001 , 0x00000158 
+ 00009403  0x00000f9a and  0x0000003f , 0x0000000f , 0x00000001 
+ 00009404  0x00000f9b set1  0x00000005 , 0x00000000 
+ 00009405  0x00000f9c rtn 
+ 00009406  0x00000f9e force  0x00000013 , 0x00000001 
+ 00009407  0x00000f9f branch  0x000024c1 
+ 00009408  0x00000fa1 call  0x000024ca 
+ 00009409  0x00000fa4 bpatch  0x0000004e , 0x00004009 
+ 00009410  0x00000fa5 fetcht  0x00000001 , 0x00000047 
+ 00009411  0x00000fa6 set1  0x00000003 , 0x00000002 
+ 00009412  0x00000fa7 storet  0x00000001 , 0x00000047 
+ 00009413  0x00000fa8 deposit  0x00000001 
+ 00009414  0x00000fa9 store  0x00000001 , 0x000040c5 
+ 00009415  0x00000faa setarg  0x0000ffff 
+ 00009416  0x00000fab store  0x00000002 , 0x000040c8 
+ 00009417  0x00000fac rtn 
+ 00009418  0x00000faf bpatch  0x0000004f , 0x00004009 
+ 00009419  0x00000fb0 fetch  0x00000001 , 0x0000004c 
+ 00009420  0x00000fb1 isolate1  0x00000005 , 0x0000003f 
+ 00009421  0x00000fb2 fetch  0x00000002 , 0x000041dc 
+ 00009422  0x00000fb3 branch  0x000024e0 , 0x00000001 
+ 00009423  0x00000fb4 force  0x00000003 , 0x00000001 
+ 00009424  0x00000fb5 sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00009425  0x00000fb6 rtn  0x00000002 
+ 00009426  0x00000fb7 force  0x00000004 , 0x00000001 
+ 00009427  0x00000fb8 sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00009428  0x00000fb9 rtn  0x00000002 
+ 00009429  0x00000fba force  0x0000000a , 0x00000001 
+ 00009430  0x00000fbb sub  0x0000003f , 0x00000079 , 0x0000003e 
+ 00009431  0x00000fbc rtn  0x00000002 
+ 00009432  0x00000fbd force  0x0000000b , 0x00000001 
+ 00009433  0x00000fbe sub  0x0000003f , 0x000000b7 , 0x0000003e 
+ 00009434  0x00000fbf rtn  0x00000002 
+ 00009435  0x00000fc0 force  0x0000000e , 0x00000001 
+ 00009436  0x00000fc1 sub  0x0000003f , 0x000000e0 , 0x0000003e 
+ 00009437  0x00000fc2 rtn  0x00000002 
+ 00009438  0x00000fc3 force  0x0000000f , 0x00000001 
+ 00009439  0x00000fc4 rtn 
+ 00009440  0x00000fc6 force  0x00000003 , 0x00000001 
+ 00009441  0x00000fc7 sub  0x0000003f , 0x00000011 , 0x0000003e 
+ 00009442  0x00000fc8 rtn  0x00000002 
+ 00009443  0x00000fc9 force  0x00000004 , 0x00000001 
+ 00009444  0x00000fca sub  0x0000003f , 0x00000036 , 0x0000003e 
+ 00009445  0x00000fcb rtn  0x00000002 
+ 00009446  0x00000fcc force  0x0000000a , 0x00000001 
+ 00009447  0x00000fcd arg  0x0000016f , 0x00000002 
+ 00009448  0x00000fce isub  0x00000002 , 0x0000003e 
+ 00009449  0x00000fcf nrtn  0x00000002 
+ 00009450  0x00000fd0 force  0x0000000e , 0x00000001 
+ 00009451  0x00000fd1 arg  0x000002a7 , 0x00000002 
+ 00009452  0x00000fd2 isub  0x00000002 , 0x0000003e 
+ 00009453  0x00000fd3 nrtn  0x00000002 
+ 00009454  0x00000fd4 force  0x0000000f , 0x00000001 
+ 00009455  0x00000fd5 rtn 
+ 00009456  0x00000fdf fetch  0x00000001 , 0x00000030 
+ 00009457  0x00000fe0 bbit0  0x00000001 , 0x000024f5 
+ 00009458  0x00000fe1 fetch  0x00000002 , 0x00000032 
+ 00009459  0x00000fe2 branch  0x000024f5 , 0x00000034 
+ 00009460  0x00000fe3 nbranch  0x000024f7 , 0x0000002e 
+ 00009461  0x00000fe5 call  0x00002a4f 
+ 00009462  0x00000fe7 add  0x00000028 , 0x00000001 , 0x00000021 
+ 00009463  0x00000fe9 enable  0x00000010 
+ 00009464  0x00000fea fetch  0x00000002 , 0x0000003e 
+ 00009465  0x00000feb rshift  0x0000003f , 0x0000003f 
+ 00009466  0x00000fec arg  0x00000500 , 0x00000002 
+ 00009467  0x00000fed iadd  0x00000002 , 0x0000003f 
+ 00009468  0x00000fee call  0x00002a24 
+ 00009469  0x00000fef call  0x000028ea 
+ 00009470  0x00000ff0 force  0x00000003 , 0x00000024 
+ 00009471  0x00000ff1 call  0x000028cc 
+ 00009472  0x00000ff2 call  0x0000242a 
+ 00009473  0x00000ff3 call  0x000029f1 
+ 00009474  0x00000ff4 bpatch  0x00000050 , 0x0000400a 
+ 00009475  0x00000ff5 fetch  0x00000002 , 0x0000003e 
+ 00009476  0x00000ff6 rshift  0x0000003f , 0x0000003f 
+ 00009477  0x00000ff7 call  0x00002a24 
+ 00009478  0x00000ff8 call  0x000029eb 
+ 00009479  0x00000ff9 enable  0x0000000d 
+ 00009480  0x00000ffa fetch  0x00000002 , 0x0000003e 
+ 00009481  0x00000ffb arg  0x000003bb , 0x00000002 
+ 00009482  0x00000ffc iadd  0x00000002 , 0x0000001b 
+ 00009483  0x00000ffd correlate  0x0000003e , 0x00000003 
+ 00009484  0x00000ffe copy  0x0000001a , 0x00000002 
+ 00009485  0x00000fff storet  0x00000006 , 0x0000009a 
+ 00009486  0x00001000 disable  0x0000000d 
+ 00009487  0x00001001 nrtn  0x00000018 
+ 00009488  0x00001002 arg  0x000003bb , 0x00000029 
+ 00009489  0x00001003 copy  0x00000021 , 0x00000028 
+ 00009490  0x00001004 branch  0x00002b05 , 0x0000002b 
+ 00009491  0x00001005 rtn 
+ 00009492  0x00001009 bpatch  0x00000051 , 0x0000400a 
+ 00009493  0x0000100a call  0x000024f0 
+ 00009494  0x0000100b nbranch  0x000028f9 , 0x00000018 
+ 00009495  0x0000100c call  0x000029bb 
+ 00009496  0x0000100d bmark0  0x00000011 , 0x0000251c 
+ 00009497  0x0000100e fetch  0x00000002 , 0x000000f6 
+ 00009498  0x0000100f increase  0x00000001 , 0x0000003f 
+ 00009499  0x00001010 store  0x00000002 , 0x000000f6 
+ 00009500  0x00001012 rshift  0x00000021 , 0x00000002 
+ 00009501  0x00001013 or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00009502  0x00001015 bpatch  0x00000052 , 0x0000400a 
+ 00009503  0x00001016 enable  0x00000007 
+ 00009504  0x00001017 enable  0x0000000a 
+ 00009505  0x00001018 enable  0x0000000b 
+ 00009506  0x00001019 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009507  0x0000101a rshift8  0x0000000c , 0x0000003f 
+ 00009508  0x0000101b store  0x00000001 , 0x0000015d 
+ 00009509  0x0000101c parse  0x00000003 , 0x00000000 , 0x00000004 
+ 00009510  0x0000101d inject  0x00000000 , 0x00000007 
+ 00009511  0x0000101e copy  0x0000000c , 0x0000003f 
+ 00009512  0x0000101f store  0x00000001 , 0x00000019 
+ 00009513  0x00001020 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009514  0x00001021 rshift8  0x0000000c , 0x0000003f 
+ 00009515  0x00001022 store  0x00000001 , 0x0000015e 
+ 00009516  0x00001023 fetch  0x00000001 , 0x00000019 
+ 00009517  0x00001024 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00009518  0x00001025 branch  0x00002533 , 0x00000002 
+ 00009519  0x00001026 beq  0x00000007 , 0x00002533 
+ 00009520  0x00001027 fetch  0x00000001 , 0x0000004c 
+ 00009521  0x00001028 isolate1  0x00000005 , 0x0000003f 
+ 00009522  0x00001029 setflag  0x00000001 , 0x00000001 , 0x00000015 
+ 00009523  0x0000102b bpatch  0x00000053 , 0x0000400a 
+ 00009524  0x0000102c parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009525  0x0000102d disable  0x0000000b 
+ 00009526  0x0000102e disable  0x0000000a 
+ 00009527  0x0000102f branch  0x00002631 , 0x00000006 
+ 00009528  0x00001030 bmark0  0x00000011 , 0x0000253c 
+ 00009529  0x00001031 fetch  0x00000002 , 0x000000f8 
+ 00009530  0x00001032 increase  0x00000001 , 0x0000003f 
+ 00009531  0x00001033 store  0x00000002 , 0x000000f8 
+ 00009532  0x00001035 bpatch  0x00000054 , 0x0000400a 
+ 00009533  0x00001036 fetch  0x00000001 , 0x0000015d 
+ 00009534  0x00001037 compare  0x00000000 , 0x0000003f , 0x00000007 
+ 00009535  0x00001038 setflag  0x00000001 , 0x0000000a , 0x00000000 
+ 00009536  0x00001039 branch  0x0000254c , 0x00000001 
+ 00009537  0x0000103a icompare  0x00000007 , 0x00000004 
+ 00009538  0x0000103b branch  0x0000254b , 0x00000001 
+ 00009539  0x0000103c bmark0  0x00000007 , 0x0000264d 
+ 00009540  0x0000103d fetcht  0x00000001 , 0x000000b0 
+ 00009541  0x0000103e icompare  0x00000007 , 0x00000002 
+ 00009542  0x0000103f nbranch  0x0000264d , 0x00000001 
+ 00009543  0x00001040 fetch  0x00000001 , 0x00000047 
+ 00009544  0x00001041 set0  0x00000005 , 0x0000003f 
+ 00009545  0x00001042 set1  0x00000004 , 0x0000003f 
+ 00009546  0x00001043 store  0x00000001 , 0x00000047 
+ 00009547  0x00001045 enable  0x0000002d 
+ 00009548  0x00001047 bpatch  0x00000055 , 0x0000400a 
+ 00009549  0x00001048 fetch  0x00000001 , 0x00000019 
+ 00009550  0x00001049 icopy  0x00000001 
+ 00009551  0x0000104a bmark1  0x0000000a , 0x0000255b 
+ 00009552  0x0000104b fetcht  0x00000001 , 0x0000015e 
+ 00009553  0x0000104c fetch  0x00000001 , 0x00000047 
+ 00009554  0x0000104d set0  0x00000000 , 0x0000003f 
+ 00009555  0x0000104e isolate1  0x00000000 , 0x00000002 
+ 00009556  0x0000104f setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00009557  0x00001050 isolate1  0x00000001 , 0x00000002 
+ 00009558  0x00001051 setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00009559  0x00001052 store  0x00000001 , 0x00000047 
+ 00009560  0x00001053 isolate0  0x00000001 , 0x00000002 
+ 00009561  0x00001054 branch  0x0000255b , 0x00000001 
+ 00009562  0x00001055 call  0x00002687 
+ 00009563  0x00001057 bpatch  0x00000056 , 0x0000400a 
+ 00009564  0x00001058 arg  0x00000000 , 0x00000002 
+ 00009565  0x00001059 call  0x00002a1c 
+ 00009566  0x0000105a and  0x00000001 , 0x0000000f , 0x0000003f 
+ 00009567  0x0000105b beq  0x00000001 , 0x00002587 
+ 00009568  0x0000105c beq  0x00000000 , 0x0000264d 
+ 00009569  0x0000105d beq  0x00000002 , 0x00002659 
+ 00009570  0x0000105e fetcht  0x00000001 , 0x0000015e 
+ 00009571  0x0000105f fetch  0x00000001 , 0x00000047 
+ 00009572  0x00001060 icompare  0x00000004 , 0x00000002 
+ 00009573  0x00001061 nbranch  0x00002569 , 0x00000001 
+ 00009574  0x00001062 bmark0  0x0000000a , 0x00002568 
+ 00009575  0x00001063 bbit0  0x00000007 , 0x00002569 
+ 00009576  0x00001065 set1  0x0000000f , 0x00000000 
+ 00009577  0x00001067 bpatch  0x00000057 , 0x0000400a 
+ 00009578  0x00001068 deposit  0x00000001 
+ 00009579  0x00001069 beq  0x00000003 , 0x00002589 
+ 00009580  0x0000106a beq  0x00000004 , 0x0000258d 
+ 00009581  0x0000106b beq  0x00000007 , 0x00002578 
+ 00009582  0x0000106c beq  0x00000008 , 0x0000258c 
+ 00009583  0x0000106d arg  0x00000004 , 0x00000002 
+ 00009584  0x0000106e call  0x00002a1c 
+ 00009585  0x0000106f beq  0x0000000a , 0x00002588 
+ 00009586  0x00001070 beq  0x0000000b , 0x0000258b 
+ 00009587  0x00001071 arg  0x00000008 , 0x00000002 
+ 00009588  0x00001072 call  0x00002a1c 
+ 00009589  0x00001073 beq  0x0000000e , 0x00002588 
+ 00009590  0x00001074 beq  0x0000000f , 0x0000258b 
+ 00009591  0x00001075 rtn 
+ 00009592  0x00001079 bpatch  0x00000058 , 0x0000400b 
+ 00009593  0x0000107a enable  0x0000000d 
+ 00009594  0x0000107b enable  0x00000009 
+ 00009595  0x0000107c enable  0x0000000e 
+ 00009596  0x0000107d arg  0x000000d1 , 0x00000005 
+ 00009597  0x0000107e force  0x0000001e , 0x00000039 
+ 00009598  0x00001080 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009599  0x00001081 rshift3  0x0000000c , 0x0000003f 
+ 00009600  0x00001082 istore  0x00000001 , 0x00000005 
+ 00009601  0x00001083 loop  0x0000257e 
+ 00009602  0x00001084 bmark0  0x00000007 , 0x0000264d 
+ 00009603  0x00001085 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009604  0x00001086 nsetflag  0x00000006 , 0x00000008 , 0x00000000 
+ 00009605  0x00001087 branch  0x0000263d , 0x00000006 
+ 00009606  0x00001088 branch  0x00002620 
+ 00009607  0x0000108c branch  0x0000264d 
+ 00009608  0x00001090 set1  0x00000010 , 0x00000000 
+ 00009609  0x00001092 enable  0x0000000c 
+ 00009610  0x00001093 branch  0x0000258e 
+ 00009611  0x00001097 set1  0x00000010 , 0x00000000 
+ 00009612  0x00001099 set1  0x00000002 , 0x00000015 
+ 00009613  0x0000109b enable  0x0000000d 
+ 00009614  0x0000109d bpatch  0x00000059 , 0x0000400b 
+ 00009615  0x0000109e bmark1  0x00000001 , 0x0000264d 
+ 00009616  0x0000109f isolate0  0x00000001 , 0x00000015 
+ 00009617  0x000010a0 branch  0x0000259a , 0x00000001 
+ 00009618  0x000010a1 disable  0x00000007 
+ 00009619  0x000010a2 enable  0x0000000d 
+ 00009620  0x000010a3 disable  0x0000000c 
+ 00009621  0x000010a4 add  0x00000022 , 0x00000002 , 0x0000000b 
+ 00009622  0x000010a5 correlate  0x00000022 , 0x00000026 
+ 00009623  0x000010a6 nbranch  0x0000263d , 0x00000018 
+ 00009624  0x000010a7 set1  0x00000010 , 0x00000000 
+ 00009625  0x000010a8 enable  0x00000007 
+ 00009626  0x000010aa bpatch  0x0000005a , 0x0000400b 
+ 00009627  0x000010ab enable  0x0000000e 
+ 00009628  0x000010ac enable  0x00000009 
+ 00009629  0x000010ad parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009630  0x000010ae rshift8  0x0000000c , 0x0000003f 
+ 00009631  0x000010af store  0x00000001 , 0x00000180 
+ 00009632  0x000010b0 parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00009633  0x000010b1 bmark1  0x00000010 , 0x000025a5 
+ 00009634  0x000010b2 rshift3  0x0000000c , 0x00000039 
+ 00009635  0x000010b3 rshift3  0x00000039 , 0x00000039 
+ 00009636  0x000010b4 branch  0x000025a8 
+ 00009637  0x000010b6 parse  0x00000003 , 0x00000000 , 0x00000005 
+ 00009638  0x000010b7 rshift  0x0000000c , 0x00000039 
+ 00009639  0x000010b8 parse  0x00000003 , 0x00000000 , 0x00000003 
+ 00009640  0x000010ba bpatch  0x0000005b , 0x0000400b 
+ 00009641  0x000010bb deposit  0x00000039 
+ 00009642  0x000010bc store  0x00000002 , 0x0000015f 
+ 00009643  0x000010bd branch  0x000025e8 , 0x00000034 
+ 00009644  0x000010be isub  0x00000035 , 0x0000003e 
+ 00009645  0x000010bf branch  0x0000263d , 0x00000002 
+ 00009646  0x000010c0 bpatch  0x0000005c , 0x0000400b 
+ 00009647  0x000010c1 set0  0x00000000 , 0x00000000 
+ 00009648  0x000010c2 fetch  0x00000001 , 0x00000180 
+ 00009649  0x000010c3 and_into  0x00000003 , 0x0000003f 
+ 00009650  0x000010c4 arg  0x00000551 , 0x00000005 
+ 00009651  0x000010c5 beq  0x00000003 , 0x000025ba 
+ 00009652  0x000010c6 bmark1  0x00000011 , 0x000025e4 
+ 00009653  0x000010c8 fetch  0x00000001 , 0x00000180 
+ 00009654  0x000010c9 and_into  0x00000003 , 0x0000003f 
+ 00009655  0x000010ca beq  0x00000002 , 0x000025bf 
+ 00009656  0x000010cb beq  0x00000001 , 0x000025d3 
+ 00009657  0x000010cc branch  0x0000263d 
+ 00009658  0x000010cf fetch  0x00000002 , 0x0000015f 
+ 00009659  0x000010d0 sub  0x0000003f , 0x00000070 , 0x0000003e 
+ 00009660  0x000010d1 nbranch  0x0000263d , 0x00000002 
+ 00009661  0x000010d2 bmark1  0x0000000f , 0x00002620 
+ 00009662  0x000010d3 branch  0x000025e4 
+ 00009663  0x000010d7 bpatch  0x0000005d , 0x0000400b 
+ 00009664  0x000010d8 bmark1  0x0000000f , 0x00002620 
+ 00009665  0x000010d9 fetch  0x00000002 , 0x0000015f 
+ 00009666  0x000010da arg  0x000002e0 , 0x00000002 
+ 00009667  0x000010db isub  0x00000002 , 0x0000003e 
+ 00009668  0x000010dc branch  0x0000263d , 0x00000002 
+ 00009669  0x000010dd fetch  0x00000001 , 0x00000263 
+ 00009670  0x000010de bbit0  0x00000000 , 0x000025c9 
+ 00009671  0x000010df bbit0  0x00000001 , 0x000025ce 
+ 00009672  0x000010e0 branch  0x0000264d 
+ 00009673  0x000010e2 jam  0x00000001 , 0x00000261 
+ 00009674  0x000010e3 fetch  0x00000002 , 0x0000025d 
+ 00009675  0x000010e4 bne  0x00000000 , 0x0000264d 
+ 00009676  0x000010e5 arg  0x00001000 , 0x00000005 
+ 00009677  0x000010e6 branch  0x000025e4 
+ 00009678  0x000010e8 jam  0x00000002 , 0x00000261 
+ 00009679  0x000010e9 fetch  0x00000002 , 0x0000025f 
+ 00009680  0x000010ea bne  0x00000000 , 0x0000264d 
+ 00009681  0x000010eb arg  0x00001400 , 0x00000005 
+ 00009682  0x000010ec branch  0x000025e4 
+ 00009683  0x000010ef bpatch  0x0000005e , 0x0000400b 
+ 00009684  0x000010f0 bmark1  0x0000000f , 0x00002620 
+ 00009685  0x000010f1 fetch  0x00000002 , 0x0000015f 
+ 00009686  0x000010f2 arg  0x000002e0 , 0x00000002 
+ 00009687  0x000010f3 isub  0x00000002 , 0x0000003e 
+ 00009688  0x000010f4 branch  0x0000263d , 0x00000002 
+ 00009689  0x000010f5 fetch  0x00000001 , 0x00000261 
+ 00009690  0x000010f6 beq  0x00000001 , 0x000025dd 
+ 00009691  0x000010f7 beq  0x00000002 , 0x000025e1 
+ 00009692  0x000010f8 branch  0x0000264d 
+ 00009693  0x000010fa arg  0x00001000 , 0x00000005 
+ 00009694  0x000010fb fetch  0x00000002 , 0x0000025d 
+ 00009695  0x000010fc iadd  0x00000005 , 0x00000005 
+ 00009696  0x000010fd branch  0x000025e4 
+ 00009697  0x000010ff arg  0x00001400 , 0x00000005 
+ 00009698  0x00001100 fetch  0x00000002 , 0x0000025f 
+ 00009699  0x00001101 iadd  0x00000005 , 0x00000005 
+ 00009700  0x00001103 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00009701  0x00001104 rshift3  0x0000000c , 0x0000003f 
+ 00009702  0x00001105 istore  0x00000001 , 0x00000005 
+ 00009703  0x00001106 loop  0x000025e4 
+ 00009704  0x00001108 bpatch  0x0000005f , 0x0000400b 
+ 00009705  0x00001109 parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009706  0x0000110a branch  0x00002637 , 0x00000006 
+ 00009707  0x0000110b fetch  0x00000001 , 0x00004363 
+ 00009708  0x0000110c beq  0x00000001 , 0x0000264d 
+ 00009709  0x0000110d bmark1  0x00000011 , 0x0000260d 
+ 00009710  0x0000110e bmark1  0x0000000f , 0x0000264a 
+ 00009711  0x0000110f fetch  0x00000001 , 0x00000180 
+ 00009712  0x00001110 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009713  0x00001111 branch  0x0000260d , 0x00000001 
+ 00009714  0x00001112 fetch  0x00000002 , 0x0000015f 
+ 00009715  0x00001113 branch  0x0000260d , 0x00000034 
+ 00009716  0x00001114 bpatch  0x00000060 , 0x0000400c 
+ 00009717  0x00001115 fetch  0x00000001 , 0x00000261 
+ 00009718  0x00001116 beq  0x00000001 , 0x000025f9 
+ 00009719  0x00001117 beq  0x00000002 , 0x00002603 
+ 00009720  0x00001118 branch  0x00002a8c 
+ 00009721  0x0000111a fetch  0x00000002 , 0x0000025d 
+ 00009722  0x0000111b fetcht  0x00000002 , 0x0000015f 
+ 00009723  0x0000111c iadd  0x00000002 , 0x0000003f 
+ 00009724  0x0000111d store  0x00000002 , 0x0000025d 
+ 00009725  0x0000111e beq  0x00000000 , 0x00002a8c 
+ 00009726  0x0000111f fetcht  0x00000002 , 0x00001000 
+ 00009727  0x00001120 increase  0x00000004 , 0x00000002 
+ 00009728  0x00001121 isub  0x00000002 , 0x0000003e 
+ 00009729  0x00001122 call  0x00002747 , 0x00000005 
+ 00009730  0x00001123 branch  0x0000260d 
+ 00009731  0x00001125 fetch  0x00000002 , 0x0000025f 
+ 00009732  0x00001126 fetcht  0x00000002 , 0x0000015f 
+ 00009733  0x00001127 iadd  0x00000002 , 0x0000003f 
+ 00009734  0x00001128 store  0x00000002 , 0x0000025f 
+ 00009735  0x00001129 beq  0x00000000 , 0x00002a8c 
+ 00009736  0x0000112a fetcht  0x00000002 , 0x00001400 
+ 00009737  0x0000112b add  0x00000002 , 0x00000004 , 0x00000002 
+ 00009738  0x0000112c isub  0x00000002 , 0x0000003e 
+ 00009739  0x0000112d call  0x0000274b , 0x00000005 
+ 00009740  0x0000112e branch  0x0000260d 
+ 00009741  0x00001130 bpatch  0x00000061 , 0x0000400c 
+ 00009742  0x00001131 fetcht  0x00000001 , 0x0000004c 
+ 00009743  0x00001132 fetch  0x00000001 , 0x00000180 
+ 00009744  0x00001133 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009745  0x00001134 setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00009746  0x00001135 nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00009747  0x00001136 storet  0x00000001 , 0x0000004c 
+ 00009748  0x00001137 nbranch  0x00002616 , 0x00000001 
+ 00009749  0x00001138 set1  0x00000001 , 0x00000000 
+ 00009750  0x0000113a bmark0  0x00000011 , 0x00002620 
+ 00009751  0x0000113b isolate1  0x00000006 , 0x00000002 
+ 00009752  0x0000113c branch  0x00002620 , 0x00000001 
+ 00009753  0x0000113d fetch  0x00000002 , 0x000000fa 
+ 00009754  0x0000113e increase  0x00000001 , 0x0000003f 
+ 00009755  0x0000113f store  0x00000002 , 0x000000fa 
+ 00009756  0x00001140 set1  0x00000005 , 0x00000000 
+ 00009757  0x00001141 set0  0x00000007 , 0x00000002 
+ 00009758  0x00001142 set0  0x00000001 , 0x00000000 
+ 00009759  0x00001143 storet  0x00000001 , 0x0000004c 
+ 00009760  0x00001145 bpatch  0x00000062 , 0x0000400c 
+ 00009761  0x00001146 fetcht  0x00000001 , 0x0000015e 
+ 00009762  0x00001147 fetch  0x00000001 , 0x00000047 
+ 00009763  0x00001148 set1  0x00000005 , 0x0000003f 
+ 00009764  0x00001149 isolate1  0x00000002 , 0x00000002 
+ 00009765  0x0000114a setflag  0x00000001 , 0x00000002 , 0x0000003f 
+ 00009766  0x0000114b isolate1  0x0000000a , 0x00000000 
+ 00009767  0x0000114c setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00009768  0x0000114d store  0x00000001 , 0x00000047 
+ 00009769  0x0000114e fetch  0x00000002 , 0x0000015f 
+ 00009770  0x0000114f nbranch  0x0000264d , 0x00000034 
+ 00009771  0x00001150 fetch  0x00000001 , 0x0000004c 
+ 00009772  0x00001151 set0  0x00000007 , 0x0000003f 
+ 00009773  0x00001152 store  0x00000001 , 0x0000004c 
+ 00009774  0x00001153 fetch  0x00000001 , 0x00000180 
+ 00009775  0x00001154 compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00009776  0x00001156 branch  0x0000264d 
+ 00009777  0x00001159 bpatch  0x00000063 , 0x0000400c 
+ 00009778  0x0000115a disable  0x0000002d 
+ 00009779  0x0000115b fetch  0x00000002 , 0x0000001a 
+ 00009780  0x0000115c increase  0x00000001 , 0x0000003f 
+ 00009781  0x0000115d store  0x00000002 , 0x0000001a 
+ 00009782  0x0000115e branch  0x0000264d 
+ 00009783  0x00001160 fetch  0x00000002 , 0x0000001c 
+ 00009784  0x00001161 increase  0x00000001 , 0x0000003f 
+ 00009785  0x00001162 store  0x00000002 , 0x0000001c 
+ 00009786  0x00001163 call  0x0000263e 
+ 00009787  0x00001164 bmark0  0x00000011 , 0x0000263d 
+ 00009788  0x00001165 set1  0x00000005 , 0x00000000 
+ 00009789  0x00001167 branch  0x0000264d 
+ 00009790  0x0000116a bpatch  0x00000064 , 0x0000400c 
+ 00009791  0x0000116b fetch  0x00000001 , 0x00000180 
+ 00009792  0x0000116c compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00009793  0x0000116d nbranch  0x00002646 , 0x00000001 
+ 00009794  0x0000116f fetcht  0x00000001 , 0x0000004c 
+ 00009795  0x00001170 set0  0x00000006 , 0x00000002 
+ 00009796  0x00001171 storet  0x00000001 , 0x0000004c 
+ 00009797  0x00001172 rtn 
+ 00009798  0x00001176 fetcht  0x00000001 , 0x0000004c 
+ 00009799  0x00001177 set0  0x00000007 , 0x00000002 
+ 00009800  0x00001178 storet  0x00000001 , 0x0000004c 
+ 00009801  0x00001179 branch  0x00004c0b 
+ 00009802  0x0000117c fetch  0x00000001 , 0x00000047 
+ 00009803  0x0000117d set1  0x00000005 , 0x0000003f 
+ 00009804  0x0000117e store  0x00000001 , 0x00000047 
+ 00009805  0x00001180 bpatch  0x00000065 , 0x0000400c 
+ 00009806  0x00001181 disable  0x0000001d 
+ 00009807  0x00001182 disable  0x0000001c 
+ 00009808  0x00001183 disable  0x0000000d 
+ 00009809  0x00001184 disable  0x0000000c 
+ 00009810  0x00001185 disable  0x00000009 
+ 00009811  0x00001186 disable  0x0000000e 
+ 00009812  0x00001187 disable  0x00000007 
+ 00009813  0x00001188 branch  0x000028f9 , 0x00000021 
+ 00009814  0x00001189 until  0x0000003e , 0x00000027 
+ 00009815  0x0000118a nop  0x00000064 
+ 00009816  0x0000118b branch  0x000028f9 
+ 00009817  0x0000118e bpatch  0x00000066 , 0x0000400c 
+ 00009818  0x0000118f enable  0x00000009 
+ 00009819  0x00001190 enable  0x0000000c 
+ 00009820  0x00001191 parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00009821  0x00001192 isolate1  0x0000003a , 0x0000003f 
+ 00009822  0x00001193 setflag  0x00000001 , 0x00000000 , 0x00000000 
+ 00009823  0x00001194 copy  0x00000020 , 0x00000002 
+ 00009824  0x00001195 ialigned  0x00000020 
+ 00009825  0x00001196 ialigned  0x0000001e 
+ 00009826  0x00001197 pulse  0x00000015 
+ 00009827  0x00001198 setsect  0x00000002 , 0x000fffff 
+ 00009828  0x00001199 setsect  0x00000003 , 0x0000ffff 
+ 00009829  0x0000119a nop  0x00000020 
+ 00009830  0x0000119b iverify  0x0000000d 
+ 00009831  0x0000119c deposit  0x0000002c 
+ 00009832  0x0000119d store  0x00000003 , 0x00000178 
+ 00009833  0x0000119e deposit  0x0000002d 
+ 00009834  0x0000119f store  0x00000001 , 0x0000017b 
+ 00009835  0x000011a0 copy  0x00000002 , 0x00000020 
+ 00009836  0x000011a1 branch  0x0000266e , 0x00000001 
+ 00009837  0x000011a2 branch  0x0000263d 
+ 00009838  0x000011a4 bpatch  0x00000067 , 0x0000400c 
+ 00009839  0x000011a5 parse  0x00000003 , 0x00000000 , 0x00000048 
+ 00009840  0x000011a6 ialigned  0x0000001f 
+ 00009841  0x000011a7 ialigned  0x00000004 
+ 00009842  0x000011a8 ialigned  0x0000002e 
+ 00009843  0x000011a9 ialigned  0x00000012 
+ 00009844  0x000011aa force  0x00000000 , 0x0000003f 
+ 00009845  0x000011ab parse  0x00000003 , 0x00000000 , 0x00000010 
+ 00009846  0x000011ac branch  0x0000263d , 0x00000006 
+ 00009847  0x000011ad setarg  0x0ffffffc 
+ 00009848  0x000011ae iand  0x00000012 , 0x0000003f 
+ 00009849  0x000011af store  0x00000004 , 0x00000165 
+ 00009850  0x000011b0 deposit  0x0000001d 
+ 00009851  0x000011b1 store  0x00000003 , 0x00000175 
+ 00009852  0x000011b2 deposit  0x0000001c 
+ 00009853  0x000011b3 store  0x00000001 , 0x00000173 
+ 00009854  0x000011b4 deposit  0x00000004 
+ 00009855  0x000011b5 store  0x00000001 , 0x00000174 
+ 00009856  0x000011b6 deposit  0x0000002e 
+ 00009857  0x000011b7 store  0x00000002 , 0x0000017c 
+ 00009858  0x000011b8 deposit  0x00000021 
+ 00009859  0x000011b9 inject  0x00000001 , 0x00000020 
+ 00009860  0x000011ba compare  0x00000002 , 0x00000001 , 0x0000000f 
+ 00009861  0x000011bb setflag  0x00000001 , 0x0000000b , 0x00000000 
+ 00009862  0x000011bc branch  0x0000264d 
+ 00009863  0x000011bf bpatch  0x00000068 , 0x0000400d 
+ 00009864  0x000011c0 fetch  0x00000001 , 0x00000047 
+ 00009865  0x000011c1 rtnbit0  0x00000003 
+ 00009866  0x000011c2 set0  0x00000003 , 0x0000003f 
+ 00009867  0x000011c3 setflip  0x00000006 , 0x0000003f 
+ 00009868  0x000011c4 store  0x00000001 , 0x00000047 
+ 00009869  0x000011c5 fetch  0x00000001 , 0x000040c5 
+ 00009870  0x000011c6 beq  0x00000013 , 0x0000269c 
+ 00009871  0x000011c7 rtneq  0x00000007 
+ 00009872  0x000011c8 fetch  0x00000001 , 0x0000004b 
+ 00009873  0x000011c9 rtnbit0  0x00000006 , 0x0000003f 
+ 00009874  0x000011ca set0  0x00000006 , 0x0000003f 
+ 00009875  0x000011cb set1  0x00000007 , 0x0000003f 
+ 00009876  0x000011cc store  0x00000001 , 0x0000004b 
+ 00009877  0x000011cd set0  0x00000002 , 0x00000000 
+ 00009878  0x000011ce fetch  0x00000002 , 0x00004246 
+ 00009879  0x000011cf nrtn  0x00000034 
+ 00009880  0x000011d0 fetch  0x00000001 , 0x0000004b 
+ 00009881  0x000011d1 set0  0x00000007 , 0x0000003f 
+ 00009882  0x000011d2 store  0x00000001 , 0x0000004b 
+ 00009883  0x000011d3 branch  0x0000525d 
+ 00009884  0x000011d6 bpatch  0x00000069 , 0x0000400d 
+ 00009885  0x000011d7 fetch  0x00000001 , 0x000004b7 
+ 00009886  0x000011d8 rshift  0x0000003f , 0x0000003f 
+ 00009887  0x000011d9 beq  0x00000011 , 0x000026b8 
+ 00009888  0x000011da beq  0x00000012 , 0x000026c0 
+ 00009889  0x000011db beq  0x00000018 , 0x000026e9 
+ 00009890  0x000011dc beq  0x0000007f , 0x000026a8 
+ 00009891  0x000011dd rtnne  0x00000003 
+ 00009892  0x000011de fetch  0x00000001 , 0x000004b8 
+ 00009893  0x000011df beq  0x0000002b , 0x000026b0 
+ 00009894  0x000011e0 beq  0x00000011 , 0x000026ab 
+ 00009895  0x000011e1 rtn 
+ 00009896  0x000011e4 fetch  0x00000001 , 0x000004b8 
+ 00009897  0x000011e5 set1  0x00000007 , 0x0000003f 
+ 00009898  0x000011e6 rtn 
+ 00009899  0x000011e8 rtn  0x00000029 
+ 00009900  0x000011e9 fetch  0x00000001 , 0x00000030 
+ 00009901  0x000011ea rtnbit1  0x00000004 
+ 00009902  0x000011eb jam  0x00000031 , 0x0000007c 
+ 00009903  0x000011ec rtn 
+ 00009904  0x000011f0 rtn  0x00000029 
+ 00009905  0x000011f1 fetch  0x00000001 , 0x00000031 
+ 00009906  0x000011f2 isolate1  0x00000004 , 0x0000003f 
+ 00009907  0x000011f3 branch  0x000026b5 , 0x00000001 
+ 00009908  0x000011f5 rtn 
+ 00009909  0x000011f7 set0  0x00000004 , 0x0000003f 
+ 00009910  0x000011f8 store  0x00000001 , 0x00000031 
+ 00009911  0x000011f9 rtn 
+ 00009912  0x000011fc bpatch  0x0000006a , 0x0000400d 
+ 00009913  0x000011fd fetch  0x00000001 , 0x0000004c 
+ 00009914  0x000011fe set1  0x00000002 , 0x0000003f 
+ 00009915  0x000011ff store  0x00000001 , 0x0000004c 
+ 00009916  0x00001200 jam  0x00000001 , 0x00008011 
+ 00009917  0x00001201 fetch  0x00000001 , 0x00000030 
+ 00009918  0x00001202 isolate1  0x00000004 , 0x0000003f 
+ 00009919  0x00001203 rtn 
+ 00009920  0x00001206 bpatch  0x0000006b , 0x0000400d 
+ 00009921  0x00001207 fetch  0x00000001 , 0x0000004c 
+ 00009922  0x00001208 set0  0x00000002 , 0x0000003f 
+ 00009923  0x00001209 store  0x00000001 , 0x0000004c 
+ 00009924  0x0000120a jam  0x00000000 , 0x00008011 
+ 00009925  0x0000120b rtn 
+ 00009926  0x0000120f bpatch  0x0000006c , 0x0000400d 
+ 00009927  0x00001210 copy  0x00000022 , 0x0000003f 
+ 00009928  0x00001211 store  0x00000004 , 0x0000420c 
+ 00009929  0x00001212 add  0x00000022 , 0x00000003 , 0x00000011 
+ 00009930  0x00001213 branch  0x000026cc , 0x00000029 
+ 00009931  0x00001214 add  0x00000028 , 0x00000003 , 0x00000011 
+ 00009932  0x00001216 fetcht  0x00000002 , 0x00000032 
+ 00009933  0x00001217 deposit  0x00000011 
+ 00009934  0x00001218 set0  0x0000001b , 0x0000003f 
+ 00009935  0x00001219 idiv  0x00000002 
+ 00009936  0x0000121a fetch  0x00000002 , 0x00000075 
+ 00009937  0x0000121b call  0x00007f86 
+ 00009938  0x0000121c remainder  0x00000013 
+ 00009939  0x0000121d isub  0x00000013 , 0x0000003f 
+ 00009940  0x0000121e branch  0x000026d6 , 0x00000002 
+ 00009941  0x0000121f iadd  0x00000002 , 0x0000003f 
+ 00009942  0x00001221 iadd  0x00000011 , 0x0000003f 
+ 00009943  0x00001222 store  0x00000004 , 0x00000034 
+ 00009944  0x00001223 jam  0x00000000 , 0x0000455b 
+ 00009945  0x00001224 fetch  0x00000001 , 0x00000030 
+ 00009946  0x00001225 set1  0x00000001 , 0x0000003f 
+ 00009947  0x00001226 store  0x00000001 , 0x00000030 
+ 00009948  0x00001227 fetch  0x00000001 , 0x00000073 
+ 00009949  0x00001228 store  0x00000001 , 0x0000008a 
+ 00009950  0x00001229 setarg  0x00000000 
+ 00009951  0x0000122a store  0x00000003 , 0x00004169 
+ 00009952  0x0000122b store  0x00000003 , 0x0000416c 
+ 00009953  0x0000122c store  0x00000001 , 0x00004159 
+ 00009954  0x0000122d jam  0x0000000b , 0x00000a99 
+ 00009955  0x0000122e call  0x00007d86 
+ 00009956  0x0000122f fetch  0x00000002 , 0x000040c1 
+ 00009957  0x00001230 store  0x00000002 , 0x0000003e 
+ 00009958  0x00001231 nrtn  0x00000029 
+ 00009959  0x00001232 add  0x00000004 , 0xffffffff , 0x00000007 
+ 00009960  0x00001233 rtn 
+ 00009961  0x00001236 bpatch  0x0000006d , 0x0000400d 
+ 00009962  0x00001237 fetch  0x00000001 , 0x00000030 
+ 00009963  0x00001238 rtnbit0  0x00000001 
+ 00009964  0x00001239 set0  0x00000001 , 0x0000003f 
+ 00009965  0x0000123a store  0x00000001 , 0x00000030 
+ 00009966  0x0000123b fetch  0x00000002 , 0x000040bf 
+ 00009967  0x0000123c store  0x00000002 , 0x0000003e 
+ 00009968  0x0000123d disable  0x0000002b 
+ 00009969  0x0000123e jam  0x0000000c , 0x00000a99 
+ 00009970  0x0000123f branch  0x00007d86 
+ 00009971  0x00001243 bpatch  0x0000006e , 0x0000400d 
+ 00009972  0x00001244 enable  0x0000002e 
+ 00009973  0x00001245 fetch  0x00000001 , 0x00000030 
+ 00009974  0x00001246 bbit1  0x00000001 , 0x00002700 
+ 00009975  0x00001247 rtnmark1  0x00000011 
+ 00009976  0x00001248 fetch  0x00000001 , 0x00000047 
+ 00009977  0x00001249 rtnbit1  0x00000003 
+ 00009978  0x0000124a fetch  0x00000001 , 0x00000048 
+ 00009979  0x0000124b nrtn  0x00000034 
+ 00009980  0x0000124c fetch  0x00000001 , 0x0000004b 
+ 00009981  0x0000124d rtnbit1  0x00000006 
+ 00009982  0x0000124f force  0x00000000 , 0x0000003f 
+ 00009983  0x00001250 rtn 
+ 00009984  0x00001253 bbit0  0x00000002 , 0x0000270f 
+ 00009985  0x00001254 fetch  0x00000001 , 0x0000008a 
+ 00009986  0x00001255 beq  0x00000002 , 0x00002706 
+ 00009987  0x00001256 fetch  0x00000001 , 0x00000047 
+ 00009988  0x00001257 bbit1  0x00000003 , 0x00002718 
+ 00009989  0x00001258 bmark0  0x00000008 , 0x00002718 
+ 00009990  0x0000125a nbranch  0x00002718 , 0x00000029 
+ 00009991  0x0000125b fetch  0x00000001 , 0x00000048 
+ 00009992  0x0000125c nbranch  0x00002718 , 0x00000034 
+ 00009993  0x0000125e fetch  0x00000001 , 0x000000ef 
+ 00009994  0x0000125f increase  0xffffffff , 0x0000003f 
+ 00009995  0x00001260 store  0x00000001 , 0x000000ef 
+ 00009996  0x00001261 nbranch  0x000026fe , 0x00000034 
+ 00009997  0x00001262 jam  0x00000010 , 0x000000ef 
+ 00009998  0x00001263 branch  0x00002718 
+ 00009999  0x0000126b fetch  0x00000001 , 0x0000008a 
+ 00010000  0x0000126c bne  0x00000001 , 0x00002718 
+ 00010001  0x0000126d fetch  0x00000001 , 0x0000008b 
+ 00010002  0x0000126e branch  0x00002718 , 0x00000034 
+ 00010003  0x0000126f increase  0xffffffff , 0x0000003f 
+ 00010004  0x00001270 store  0x00000001 , 0x0000008b 
+ 00010005  0x00001271 fetch  0x00000001 , 0x00000047 
+ 00010006  0x00001272 rtnbit1  0x00000003 
+ 00010007  0x00001273 nrtn  0x0000002d 
+ 00010008  0x00001275 fetch  0x00000001 , 0x0000008a 
+ 00010009  0x00001276 increase  0xffffffff , 0x0000003f 
+ 00010010  0x00001277 store  0x00000001 , 0x0000008a 
+ 00010011  0x00001278 rtn 
+ 00010012  0x00001284 bpatch  0x0000006f , 0x0000400d 
+ 00010013  0x00001285 disable  0x00000010 
+ 00010014  0x00001286 copy  0x00000002 , 0x0000001b 
+ 00010015  0x00001287 call  0x00002260 
+ 00010016  0x00001288 disable  0x00000028 
+ 00010017  0x00001289 nrtn  0x00000005 
+ 00010018  0x0000128a force  0x00000000 , 0x0000001b 
+ 00010019  0x0000128b enable  0x00000028 
+ 00010020  0x0000128c rtn 
+ 00010021  0x00001290 fetch  0x00000001 , 0x00004158 
+ 00010022  0x00001291 icompare  0x000000ff , 0x00000004 
+ 00010023  0x00001292 rtn 
+ 00010024  0x00001296 bpatch  0x00000070 , 0x0000400e 
+ 00010025  0x00001297 set0  0x00000001 , 0x00000000 
+ 00010026  0x00001299 jam  0x00000000 , 0x0000026a 
+ 00010027  0x0000129a fetch  0x00000001 , 0x00000263 
+ 00010028  0x0000129b rtn  0x00000034 
+ 00010029  0x0000129c isolate1  0x00000000 , 0x0000003f 
+ 00010030  0x0000129d arg  0x00001000 , 0x00000006 
+ 00010031  0x0000129e call  0x00004d79 , 0x00000001 
+ 00010032  0x0000129f bpatch  0x00000071 , 0x0000400e 
+ 00010033  0x000012a0 fetch  0x00000001 , 0x0000026a 
+ 00010034  0x000012a1 beq  0x00000001 , 0x0000273b 
+ 00010035  0x000012a3 jam  0x00000000 , 0x0000026a 
+ 00010036  0x000012a4 fetch  0x00000001 , 0x00000263 
+ 00010037  0x000012a5 rtnbit0  0x00000001 
+ 00010038  0x000012a6 arg  0x00001400 , 0x00000006 
+ 00010039  0x000012a7 call  0x00004d79 
+ 00010040  0x000012a8 fetch  0x00000001 , 0x0000026a 
+ 00010041  0x000012a9 beq  0x00000001 , 0x00002741 
+ 00010042  0x000012aa rtn 
+ 00010043  0x000012ad fetch  0x00000001 , 0x00000263 
+ 00010044  0x000012ae set0  0x00000000 , 0x0000003f 
+ 00010045  0x000012af store  0x00000001 , 0x00000263 
+ 00010046  0x000012b0 setarg  0x00000000 
+ 00010047  0x000012b1 store  0x00000002 , 0x0000025d 
+ 00010048  0x000012b2 rtn 
+ 00010049  0x000012b4 fetch  0x00000001 , 0x00000263 
+ 00010050  0x000012b5 set0  0x00000001 , 0x0000003f 
+ 00010051  0x000012b6 store  0x00000001 , 0x00000263 
+ 00010052  0x000012b7 setarg  0x00000000 
+ 00010053  0x000012b8 store  0x00000002 , 0x0000025f 
+ 00010054  0x000012b9 rtn 
+ 00010055  0x000012bc fetch  0x00000001 , 0x00000263 
+ 00010056  0x000012bd set1  0x00000000 , 0x0000003f 
+ 00010057  0x000012be store  0x00000001 , 0x00000263 
+ 00010058  0x000012bf rtn 
+ 00010059  0x000012c2 fetch  0x00000001 , 0x00000263 
+ 00010060  0x000012c3 set1  0x00000001 , 0x0000003f 
+ 00010061  0x000012c4 store  0x00000001 , 0x00000263 
+ 00010062  0x000012c5 rtn 
+ 00010063  0x000012cc bpatch  0x00000072 , 0x0000400e 
+ 00010064  0x000012cd add  0x00000028 , 0x00000001 , 0x00000021 
+ 00010065  0x000012ce call  0x000028ea 
+ 00010066  0x000012cf force  0x00000003 , 0x00000024 
+ 00010067  0x000012d0 call  0x000028d2 
+ 00010068  0x000012d1 call  0x00002a51 
+ 00010069  0x000012d2 call  0x00002a5f 
+ 00010070  0x000012d3 branch  0x00002a64 
+ 00010071  0x000012d7 bpatch  0x00000073 , 0x0000400e 
+ 00010072  0x000012d8 call  0x00002a4d 
+ 00010073  0x000012d9 deposit  0x00000028 
+ 00010074  0x000012da fetcht  0x00000004 , 0x000040ca 
+ 00010075  0x000012db isub  0x00000002 , 0x0000003f 
+ 00010076  0x000012dc rtnne  0x00000001 
+ 00010077  0x000012dd compare  0x00000000 , 0x00000001 , 0x0000001f 
+ 00010078  0x000012de nbranch  0x00002761 , 0x00000001 
+ 00010079  0x000012df fetch  0x00000001 , 0x00000019 
+ 00010080  0x000012e0 rtn  0x00000034 
+ 00010081  0x000012e2 call  0x0000274f 
+ 00010082  0x000012e4 compare  0x00000010 , 0x00000001 , 0x0000001f 
+ 00010083  0x000012e5 branch  0x0000264d , 0x00000001 
+ 00010084  0x000012e6 rshift  0x00000021 , 0x00000002 
+ 00010085  0x000012e7 or  0x00000002 , 0x00000040 , 0x0000000e 
+ 00010086  0x000012e9 bpatch  0x00000074 , 0x0000400e 
+ 00010087  0x000012ea enable  0x00000007 
+ 00010088  0x000012eb enable  0x0000000a 
+ 00010089  0x000012ec enable  0x0000001b 
+ 00010090  0x000012ed set0  0x00000010 , 0x00000000 
+ 00010091  0x000012ee deposit  0x00000004 
+ 00010092  0x000012ef inject  0x00000003 , 0x00000003 
+ 00010093  0x000012f0 deposit  0x00000001 
+ 00010094  0x000012f1 inject  0x00000003 , 0x00000004 
+ 00010095  0x000012f2 fetch  0x00000001 , 0x00000047 
+ 00010096  0x000012f3 inject  0x00000000 , 0x00000004 
+ 00010097  0x000012f4 inject  0x00000003 , 0x00000003 
+ 00010098  0x000012f5 enable  0x00000008 
+ 00010099  0x000012f6 inject  0x00000003 , 0x00000008 
+ 00010100  0x000012f7 disable  0x0000001b 
+ 00010101  0x000012f8 disable  0x00000008 
+ 00010102  0x000012f9 disable  0x0000000a 
+ 00010103  0x000012fa set0  0x00000002 , 0x00000015 
+ 00010104  0x000012fb arg  0x00000000 , 0x00000002 
+ 00010105  0x000012fc call  0x00002a1c 
+ 00010106  0x000012fd bpatch  0x00000075 , 0x0000400e 
+ 00010107  0x000012fe and  0x00000001 , 0x0000001f , 0x0000003f 
+ 00010108  0x000012ff beq  0x00000013 , 0x000027b4 
+ 00010109  0x00001300 beq  0x00000000 , 0x0000264d 
+ 00010110  0x00001301 beq  0x00000001 , 0x0000264d 
+ 00010111  0x00001302 beq  0x00000002 , 0x00002797 
+ 00010112  0x00001303 beq  0x00000003 , 0x000027c5 
+ 00010113  0x00001304 beq  0x00000004 , 0x000027cb 
+ 00010114  0x00001305 beq  0x00000007 , 0x0000278c 
+ 00010115  0x00001306 beq  0x00000008 , 0x000027ca 
+ 00010116  0x00001307 arg  0x00000004 , 0x00000002 
+ 00010117  0x00001308 call  0x00002a1c 
+ 00010118  0x00001309 beq  0x0000000a , 0x000027c7 
+ 00010119  0x0000130a beq  0x0000000b , 0x000027cd 
+ 00010120  0x0000130b arg  0x00000008 , 0x00000002 
+ 00010121  0x0000130c call  0x00002a1c 
+ 00010122  0x0000130d beq  0x0000000f , 0x000027cd 
+ 00010123  0x0000130e branch  0x000027c7 
+ 00010124  0x00001312 bpatch  0x00000076 , 0x0000400e 
+ 00010125  0x00001313 enable  0x0000001d 
+ 00010126  0x00001314 enable  0x00000009 
+ 00010127  0x00001315 enable  0x0000000e 
+ 00010128  0x00001316 force  0x0000001e , 0x00000039 
+ 00010129  0x00001317 arg  0x000000b3 , 0x00000006 
+ 00010130  0x00001319 ifetch  0x00000001 , 0x00000006 
+ 00010131  0x0000131a inject  0x00000003 , 0x00000008 
+ 00010132  0x0000131b loop  0x00002792 
+ 00010133  0x0000131c bmark1  0x00000007 , 0x000027f7 
+ 00010134  0x0000131d branch  0x0000264d 
+ 00010135  0x00001320 bpatch  0x00000077 , 0x0000400e 
+ 00010136  0x00001321 fetch  0x00000001 , 0x00000181 
+ 00010137  0x00001322 icopy  0x00000004 
+ 00010138  0x00001323 fetch  0x00000001 , 0x00000090 
+ 00010139  0x00001324 icopy  0x0000001c 
+ 00010140  0x00001325 fetch  0x00000003 , 0x000040aa 
+ 00010141  0x00001326 icopy  0x0000001d 
+ 00010142  0x00001327 fetch  0x00000002 , 0x000040a4 
+ 00010143  0x00001328 icopy  0x0000002e 
+ 00010144  0x00001329 enable  0x00000009 
+ 00010145  0x0000132a enable  0x0000001c 
+ 00010146  0x0000132b copy  0x00000020 , 0x00000011 
+ 00010147  0x0000132c call  0x000028e2 
+ 00010148  0x0000132d pulse  0x00000015 
+ 00010149  0x0000132e nop  0x00000020 
+ 00010150  0x0000132f copy  0x00000021 , 0x0000000b 
+ 00010151  0x00001330 fetch  0x00000004 , 0x00000161 
+ 00010152  0x00001331 icopy  0x00000021 
+ 00010153  0x00001332 preload  0x0000001e 
+ 00010154  0x00001333 set1  0x0000003a , 0x0000003f 
+ 00010155  0x00001334 inject  0x00000003 , 0x00000048 
+ 00010156  0x00001335 preload  0x0000001f 
+ 00010157  0x00001336 inject  0x00000003 , 0x00000048 
+ 00010158  0x00001337 copy  0x0000000b , 0x00000021 
+ 00010159  0x00001338 copy  0x00000011 , 0x00000020 
+ 00010160  0x00001339 enable  0x00000008 
+ 00010161  0x0000133a inject  0x00000003 , 0x00000010 
+ 00010162  0x0000133b disable  0x00000008 
+ 00010163  0x0000133c branch  0x0000264d 
+ 00010164  0x0000133f bpatch  0x00000078 , 0x0000400f 
+ 00010165  0x00001340 enable  0x0000000e 
+ 00010166  0x00001341 enable  0x00000009 
+ 00010167  0x00001342 enable  0x0000001c 
+ 00010168  0x00001343 fetch  0x00000001 , 0x000004b6 
+ 00010169  0x00001344 and  0x0000003f , 0x000001f8 , 0x00000002 
+ 00010170  0x00001345 arg  0x000004b6 , 0x00000006 
+ 00010171  0x00001346 increase  0x00000008 , 0x00000002 
+ 00010172  0x00001348 add  0x00000002 , 0xffffffb8 , 0x00000013 
+ 00010173  0x00001349 nbranch  0x000027c2 , 0x00000002 
+ 00010174  0x0000134a ifetch  0x00000009 , 0x00000006 
+ 00010175  0x0000134b inject  0x00000003 , 0x00000048 
+ 00010176  0x0000134c copy  0x00000013 , 0x00000002 
+ 00010177  0x0000134d branch  0x000027bc 
+ 00010178  0x0000134f ifetch  0x00000009 , 0x00000006 
+ 00010179  0x00001350 iinject  0x00000003 , 0x00000002 
+ 00010180  0x00001351 branch  0x000027f7 
+ 00010181  0x00001354 enable  0x0000001c 
+ 00010182  0x00001355 branch  0x000027d0 
+ 00010183  0x00001358 enable  0x0000001c 
+ 00010184  0x00001359 set1  0x00000010 , 0x00000000 
+ 00010185  0x0000135a branch  0x000027d0 
+ 00010186  0x0000135d set1  0x00000002 , 0x00000015 
+ 00010187  0x0000135f enable  0x0000001d 
+ 00010188  0x00001360 branch  0x000027d0 
+ 00010189  0x00001364 set1  0x00000002 , 0x00000015 
+ 00010190  0x00001365 enable  0x0000001d 
+ 00010191  0x00001366 set1  0x00000010 , 0x00000000 
+ 00010192  0x00001369 bpatch  0x00000079 , 0x0000400f 
+ 00010193  0x0000136a fetch  0x00000001 , 0x0000004c 
+ 00010194  0x0000136b bbit0  0x00000005 , 0x000027e5 
+ 00010195  0x0000136c sub  0x00000001 , 0x00000003 , 0x0000003e 
+ 00010196  0x0000136d branch  0x000027e5 , 0x00000002 
+ 00010197  0x0000136e disable  0x0000000e 
+ 00010198  0x0000136f disable  0x0000001c 
+ 00010199  0x00001370 enable  0x0000001d 
+ 00010200  0x00001371 disable  0x00000007 
+ 00010201  0x00001372 set1  0x00000001 , 0x00000015 
+ 00010202  0x00001373 isolate1  0x00000002 , 0x00000015 
+ 00010203  0x00001374 branch  0x000027df , 0x00000001 
+ 00010204  0x00001375 setarg  0x000abeee 
+ 00010205  0x00001376 inject  0x00000003 , 0x00000014 
+ 00010206  0x00001377 branch  0x000027e3 
+ 00010207  0x00001379 setarg  0x005faeba 
+ 00010208  0x0000137a inject  0x00000003 , 0x00000018 
+ 00010209  0x0000137b setarg  0x00000012 
+ 00010210  0x0000137c inject  0x00000003 , 0x00000006 
+ 00010211  0x0000137e enable  0x00000007 
+ 00010212  0x0000137f set1  0x00000010 , 0x00000000 
+ 00010213  0x00001381 enable  0x0000000e 
+ 00010214  0x00001382 enable  0x00000009 
+ 00010215  0x00001383 bmark1  0x00000005 , 0x00002800 
+ 00010216  0x00001384 fetch  0x00000001 , 0x000041db 
+ 00010217  0x00001385 inject  0x00000003 , 0x00000003 
+ 00010218  0x00001386 fetch  0x00000002 , 0x000041dc 
+ 00010219  0x00001387 iforce  0x00000039 
+ 00010220  0x00001388 bmark1  0x00000010 , 0x000027ef 
+ 00010221  0x00001389 inject  0x00000003 , 0x00000005 
+ 00010222  0x0000138a branch  0x000027f0 
+ 00010223  0x0000138c inject  0x00000003 , 0x0000000d 
+ 00010224  0x0000138e deposit  0x00000039 
+ 00010225  0x0000138f branch  0x000027f7 , 0x00000034 
+ 00010226  0x00001390 fetch  0x00000002 , 0x0000016f 
+ 00010227  0x00001391 iforce  0x00000006 
+ 00010228  0x00001393 ifetch  0x00000001 , 0x00000006 
+ 00010229  0x00001394 inject  0x00000003 , 0x00000008 
+ 00010230  0x00001395 loop  0x000027f4 
+ 00010231  0x00001399 enable  0x00000008 
+ 00010232  0x0000139a inject  0x00000003 , 0x00000010 
+ 00010233  0x0000139b disable  0x00000008 
+ 00010234  0x0000139c call  0x000024c1 
+ 00010235  0x0000139d fetch  0x00000001 , 0x0000004c 
+ 00010236  0x0000139e bbit0  0x00000005 , 0x0000264d 
+ 00010237  0x0000139f force  0x00000000 , 0x0000003f 
+ 00010238  0x000013a0 inject  0x00000003 , 0x00000006 
+ 00010239  0x000013a1 branch  0x0000264d 
+ 00010240  0x000013a5 bpatch  0x0000007a , 0x0000400f 
+ 00010241  0x000013a6 bmark1  0x00000010 , 0x00002808 
+ 00010242  0x000013a8 fetch  0x00000001 , 0x00000180 
+ 00010243  0x000013a9 inject  0x00000003 , 0x00000003 
+ 00010244  0x000013aa fetch  0x00000001 , 0x0000015f 
+ 00010245  0x000013ab iforce  0x00000013 
+ 00010246  0x000013ac inject  0x00000003 , 0x00000005 
+ 00010247  0x000013ad branch  0x0000280d 
+ 00010248  0x000013af fetch  0x00000001 , 0x00000180 
+ 00010249  0x000013b0 inject  0x00000003 , 0x00000003 
+ 00010250  0x000013b1 fetch  0x00000002 , 0x0000015f 
+ 00010251  0x000013b2 iforce  0x00000013 
+ 00010252  0x000013b3 inject  0x00000003 , 0x0000000d 
+ 00010253  0x000013b5 arg  0x00000551 , 0x00000006 
+ 00010254  0x000013b7 copy  0x00000013 , 0x0000003e 
+ 00010255  0x000013b8 branch  0x00002814 , 0x00000005 
+ 00010256  0x000013b9 ifetch  0x00000001 , 0x00000006 
+ 00010257  0x000013ba inject  0x00000003 , 0x00000008 
+ 00010258  0x000013bb increase  0xffffffff , 0x00000013 
+ 00010259  0x000013bc branch  0x0000280e 
+ 00010260  0x000013be fetch  0x00000002 , 0x000000fc 
+ 00010261  0x000013bf increase  0x00000001 , 0x0000003f 
+ 00010262  0x000013c0 store  0x00000002 , 0x000000fc 
+ 00010263  0x000013c1 branch  0x000027f7 
+ 00010264  0x000013c5 fetch  0x00000004 , 0x00000165 
+ 00010265  0x000013c6 add  0x0000003f , 0x00000007 , 0x00000011 
+ 00010266  0x000013c7 fetch  0x00000002 , 0x00000171 
+ 00010267  0x000013c8 nbranch  0x0000281e , 0x00000034 
+ 00010268  0x000013c9 increase  0xfffffffd , 0x00000011 
+ 00010269  0x000013ca branch  0x00002826 
+ 00010270  0x000013cc mul32  0x0000003f , 0x0000000c , 0x0000003f 
+ 00010271  0x000013cd hfetcht  0x00000002 , 0x00008040 
+ 00010272  0x000013ce increase  0x00000001 , 0x00000002 
+ 00010273  0x000013d0 isub  0x00000002 , 0x0000003f 
+ 00010274  0x000013d1 nbranch  0x00002825 , 0x00000002 
+ 00010275  0x000013d2 increase  0xffffffff , 0x00000011 
+ 00010276  0x000013d3 branch  0x00002821 
+ 00010277  0x000013d5 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00010278  0x000013d7 until  0x0000003e , 0x00000023 
+ 00010279  0x000013d8 compare  0x00000000 , 0x00000022 , 0x00000003 
+ 00010280  0x000013d9 nbranch  0x00002826 , 0x00000001 
+ 00010281  0x000013da iforce  0x00000029 
+ 00010282  0x000013db copy  0x00000011 , 0x00000028 
+ 00010283  0x000013dc iforce  0x00000029 
+ 00010284  0x000013dd rtn 
+ 00010285  0x000013e1 bpatch  0x0000007b , 0x0000400f 
+ 00010286  0x000013e2 until  0x0000003e , 0x00000022 
+ 00010287  0x000013e3 deposit  0x0000001a 
+ 00010288  0x000013e4 iforce  0x00000006 
+ 00010289  0x000013e5 rshift16 , 0x0000003f , 0x0000003f 
+ 00010290  0x000013e6 isub  0x00000022 , 0x00000039 
+ 00010291  0x000013e7 and_into  0x00000003 , 0x00000039 
+ 00010292  0x000013e8 nbranch  0x00002837 , 0x00000005 
+ 00010293  0x000013e9 force  0x00000000 , 0x0000003f 
+ 00010294  0x000013ea branch  0x0000283b 
+ 00010295  0x000013ec arg  0x00000ea6 , 0x00000002 
+ 00010296  0x000013ed force  0x00000000 , 0x0000003f 
+ 00010297  0x000013ef iadd  0x00000002 , 0x0000003f 
+ 00010298  0x000013f0 loop  0x00002839 
+ 00010299  0x000013f2 iadd  0x00000006 , 0x0000003f 
+ 00010300  0x000013f3 div  0x0000003f , 0x0000000c 
+ 00010301  0x000013f4 call  0x00007f86 
+ 00010302  0x000013f5 quotient  0x0000003f 
+ 00010303  0x000013f6 store  0x00000002 , 0x00000171 
+ 00010304  0x000013f7 rtn 
+ 00010305  0x000013fa bpatch  0x0000007c , 0x0000400f 
+ 00010306  0x000013fb deposit  0x0000001a 
+ 00010307  0x000013fc copy  0x00000019 , 0x00000002 
+ 00010308  0x000013fd isub  0x00000002 , 0x0000003e 
+ 00010309  0x000013fe nsetflag  0x00000002 , 0x0000002c , 0x0000003f 
+ 00010310  0x000013ff isub  0x00000002 , 0x00000002 
+ 00010311  0x00001400 setarg  0x00000ea6 
+ 00010312  0x00001401 isolate0  0x0000000f , 0x00000002 
+ 00010313  0x00001402 branch  0x0000284c , 0x00000001 
+ 00010314  0x00001403 setarg  0xffff0ea6 
+ 00010315  0x00001404 iadd  0x00000002 , 0x00000002 
+ 00010316  0x00001406 storet  0x00000006 , 0x00000447 
+ 00010317  0x00001407 rtn  0x00000036 
+ 00010318  0x00001408 storet  0x00000006 , 0x00000038 
+ 00010319  0x00001409 rtn 
+ 00010320  0x0000140c disable  0x00000030 
+ 00010321  0x0000140d fetch  0x00000006 , 0x00000447 
+ 00010322  0x0000140e branch  0x00002854 , 0x00000036 
+ 00010323  0x0000140f fetch  0x00000006 , 0x00000038 
+ 00010324  0x00001411 iadd  0x00000019 , 0x00000030 
+ 00010325  0x00001412 increase  0x0000000a , 0x00000030 
+ 00010326  0x00001413 setarg  0x00000ea6 
+ 00010327  0x00001414 isub  0x00000030 , 0x0000003f 
+ 00010328  0x00001415 isolate0  0x0000000f , 0x0000003f 
+ 00010329  0x00001416 branch  0x0000285e , 0x00000001 
+ 00010330  0x00001417 setarg  0x0000f15a 
+ 00010331  0x00001418 iadd  0x00000030 , 0x00000030 
+ 00010332  0x0000141a copy  0x00000030 , 0x0000001a 
+ 00010333  0x0000141b rtn 
+ 00010334  0x0000141d force  0x00000000 , 0x0000003e 
+ 00010335  0x0000141e branch  0x0000285c 
+ 00010336  0x00001426 bpatch  0x0000007d , 0x0000400f 
+ 00010337  0x00001427 call  0x00002918 
+ 00010338  0x00001428 copy  0x00000021 , 0x0000003f 
+ 00010339  0x00001429 and_into  0x00000180 , 0x0000003f 
+ 00010340  0x0000142a compare  0x00000003 , 0x00000024 , 0x00000007 
+ 00010341  0x0000142b nbranch  0x00002869 , 0x00000001 
+ 00010342  0x0000142c rshift3  0x0000003f , 0x0000003f 
+ 00010343  0x0000142d iadd  0x00000017 , 0x0000003f 
+ 00010344  0x0000142e branch  0x0000286a 
+ 00010345  0x00001430 copy  0x00000017 , 0x0000003f 
+ 00010346  0x00001432 div  0x0000003f , 0x0000004f 
+ 00010347  0x00001433 pulse  0x00000015 
+ 00010348  0x00001434 call  0x00007f86 
+ 00010349  0x00001435 remainder  0x00000011 
+ 00010350  0x00001436 add  0x00000011 , 0xffffffd8 , 0x00000002 
+ 00010351  0x00001437 branch  0x00002872 , 0x00000002 
+ 00010352  0x00001438 lshift  0x00000011 , 0x00000002 
+ 00010353  0x00001439 branch  0x00002874 
+ 00010354  0x0000143b lshift  0x00000002 , 0x00000002 
+ 00010355  0x0000143c increase  0x00000001 , 0x00000002 
+ 00010356  0x0000143e bpatch  0x0000007e , 0x0000400f 
+ 00010357  0x0000143f fetch  0x00000001 , 0x00000031 
+ 00010358  0x00001440 bbit0  0x00000003 , 0x00002885 
+ 00010359  0x00001442 fetch  0x00000004 , 0x000040d2 
+ 00010360  0x00001443 isub  0x00000021 , 0x0000003e 
+ 00010361  0x00001444 branch  0x00002885 , 0x00000002 
+ 00010362  0x00001445 call  0x000028a4 
+ 00010363  0x00001446 fetch  0x00000001 , 0x000040d9 
+ 00010364  0x00001447 rtn  0x00000034 
+ 00010365  0x00001448 fetch  0x00000001 , 0x00000031 
+ 00010366  0x00001449 set1  0x00000002 , 0x0000003f 
+ 00010367  0x0000144a store  0x00000001 , 0x00000031 
+ 00010368  0x0000144b fetch  0x00000005 , 0x000040e7 
+ 00010369  0x0000144c store  0x00000005 , 0x000040da 
+ 00010370  0x0000144d ifetch  0x00000005 , 0x00000006 
+ 00010371  0x0000144e store  0x00000005 , 0x000040df 
+ 00010372  0x0000144f call  0x000028a9 
+ 00010373  0x00001451 fetch  0x00000001 , 0x00000031 
+ 00010374  0x00001452 rtnbit0  0x00000002 
+ 00010375  0x00001453 isolate1  0x00000001 , 0x00000021 
+ 00010376  0x00001454 branch  0x000028a1 , 0x00000001 
+ 00010377  0x00001455 rshift3  0x00000002 , 0x00000011 
+ 00010378  0x00001456 and  0x00000002 , 0x00000007 , 0x00000007 
+ 00010379  0x00001457 setarg  0x000040da 
+ 00010380  0x00001458 iadd  0x00000011 , 0x00000011 
+ 00010381  0x00001459 ifetch  0x00000001 , 0x00000011 
+ 00010382  0x0000145a qisolate0  0x0000003f 
+ 00010383  0x0000145b branch  0x00002892 , 0x00000001 
+ 00010384  0x0000145c deposit  0x00000002 
+ 00010385  0x0000145d branch  0x0000289e 
+ 00010386  0x0000145f fetch  0x00000001 , 0x000040e4 
+ 00010387  0x00001460 iforce  0x00000012 
+ 00010388  0x00001461 deposit  0x00000021 
+ 00010389  0x00001462 and_into  0x00000180 , 0x0000003f 
+ 00010390  0x00001463 rshift3  0x0000003f , 0x0000003f 
+ 00010391  0x00001464 iadd  0x00000017 , 0x0000003f 
+ 00010392  0x00001465 idiv  0x00000012 
+ 00010393  0x00001466 setarg  0x000040f2 
+ 00010394  0x00001467 call  0x00007f86 
+ 00010395  0x00001468 remainder  0x00000011 
+ 00010396  0x00001469 iadd  0x00000011 , 0x00000006 
+ 00010397  0x0000146a ifetch  0x00000001 , 0x00000006 
+ 00010398  0x0000146c store  0x00000001 , 0x000040e5 
+ 00010399  0x0000146d iforce  0x00000002 
+ 00010400  0x0000146e rtn 
+ 00010401  0x00001471 fetch  0x00000001 , 0x000040e5 
+ 00010402  0x00001472 iforce  0x00000002 
+ 00010403  0x00001473 rtn 
+ 00010404  0x00001476 fetch  0x00000001 , 0x00000031 
+ 00010405  0x00001477 set0  0x00000002 , 0x0000003f 
+ 00010406  0x00001478 set0  0x00000003 , 0x0000003f 
+ 00010407  0x00001479 store  0x00000001 , 0x00000031 
+ 00010408  0x0000147a rtn 
+ 00010409  0x00001481 bpatch  0x0000007f , 0x0000400f 
+ 00010410  0x00001482 arg  0x000040f2 , 0x00000005 
+ 00010411  0x00001483 force  0x0000000a , 0x00000039 
+ 00010412  0x00001484 call  0x00007ec6 
+ 00010413  0x00001485 arg  0x000040f2 , 0x00000005 
+ 00010414  0x00001486 force  0x00000000 , 0x00000013 
+ 00010415  0x00001487 force  0x00000002 , 0x00000007 
+ 00010416  0x00001489 fetch  0x00000005 , 0x000040da 
+ 00010417  0x0000148a iforce  0x00000002 
+ 00010418  0x0000148b compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00010419  0x0000148c branch  0x000028b5 , 0x00000001 
+ 00010420  0x0000148d rshift  0x00000002 , 0x00000002 
+ 00010421  0x0000148f isolate0  0x00000000 , 0x00000002 
+ 00010422  0x00001490 branch  0x000028b9 , 0x00000001 
+ 00010423  0x00001491 deposit  0x00000013 
+ 00010424  0x00001492 istore  0x00000001 , 0x00000005 
+ 00010425  0x00001494 rshift2  0x00000002 , 0x00000002 
+ 00010426  0x00001495 increase  0x00000002 , 0x00000013 
+ 00010427  0x00001496 compare  0x00000028 , 0x00000013 , 0x000000fe 
+ 00010428  0x00001497 nbranch  0x000028c2 , 0x00000001 
+ 00010429  0x00001498 fetch  0x00000005 , 0x000040df 
+ 00010430  0x00001499 iforce  0x00000002 
+ 00010431  0x0000149a compare  0x00000002 , 0x00000007 , 0x000000ff 
+ 00010432  0x0000149b branch  0x000028c2 , 0x00000001 
+ 00010433  0x0000149c rshift  0x00000002 , 0x00000002 
+ 00010434  0x0000149e sub  0x00000013 , 0x0000004e , 0x0000003e 
+ 00010435  0x0000149f branch  0x000028b5 , 0x00000002 
+ 00010436  0x000014a0 force  0x00000001 , 0x00000013 
+ 00010437  0x000014a1 increase  0xffffffff , 0x00000007 
+ 00010438  0x000014a2 nbranch  0x000028b0 , 0x00000005 
+ 00010439  0x000014a3 arg  0x000040f2 , 0x00000011 
+ 00010440  0x000014a4 deposit  0x00000005 
+ 00010441  0x000014a5 isub  0x00000011 , 0x0000003f 
+ 00010442  0x000014a6 store  0x00000001 , 0x000040e4 
+ 00010443  0x000014a7 rtn 
+ 00010444  0x000014aa bpatch  0x00000080 , 0x00004010 
+ 00010445  0x000014ab call  0x00002860 
+ 00010446  0x000014ac fetch  0x00000001 , 0x0000017f 
+ 00010447  0x000014ad bbit0  0x00000005 , 0x000028d1 
+ 00010448  0x000014ae fetcht  0x00000001 , 0x000004cc 
+ 00010449  0x000014b0 branch  0x0000291f 
+ 00010450  0x000014b4 bpatch  0x00000081 , 0x00004010 
+ 00010451  0x000014b5 call  0x00002860 
+ 00010452  0x000014b6 fetch  0x00000001 , 0x0000017f 
+ 00010453  0x000014b7 bbit0  0x00000004 , 0x000028d7 
+ 00010454  0x000014b8 fetcht  0x00000001 , 0x000004cb 
+ 00010455  0x000014ba branch  0x00002933 
+ 00010456  0x000014be force  0x00000000 , 0x0000002d 
+ 00010457  0x000014bf fetch  0x00000003 , 0x000040a7 
+ 00010458  0x000014c0 iforce  0x0000002c 
+ 00010459  0x000014c1 rtn 
+ 00010460  0x000014c4 bpatch  0x00000082 , 0x00004010 
+ 00010461  0x000014c5 fetch  0x00000001 , 0x000041d3 
+ 00010462  0x000014c6 icopy  0x0000002d 
+ 00010463  0x000014c7 fetch  0x00000003 , 0x000041d0 
+ 00010464  0x000014c8 icopy  0x0000002c 
+ 00010465  0x000014c9 rtn 
+ 00010466  0x000014cc bpatch  0x00000083 , 0x00004010 
+ 00010467  0x000014cd fetch  0x00000002 , 0x000040a4 
+ 00010468  0x000014ce icopy  0x0000002e 
+ 00010469  0x000014cf fetch  0x00000001 , 0x000040a3 
+ 00010470  0x000014d0 icopy  0x0000002d 
+ 00010471  0x000014d1 fetch  0x00000003 , 0x000040a0 
+ 00010472  0x000014d2 icopy  0x0000002c 
+ 00010473  0x000014d3 rtn 
+ 00010474  0x000014d6 bpatch  0x00000084 , 0x00004010 
+ 00010475  0x000014d7 fetch  0x00000002 , 0x00000044 
+ 00010476  0x000014d8 icopy  0x0000002e 
+ 00010477  0x000014d9 fetch  0x00000001 , 0x00000043 
+ 00010478  0x000014da icopy  0x0000002d 
+ 00010479  0x000014db fetch  0x00000003 , 0x00000040 
+ 00010480  0x000014dc icopy  0x0000002c 
+ 00010481  0x000014dd rtn 
+ 00010482  0x000014e1 bmark1  0x00000020 , 0x000028f5 
+ 00010483  0x000014e2 rtnmark0  0x0000001d 
+ 00010484  0x000014e3 rtnmark0  0x0000001f 
+ 00010485  0x000014e5 and_into  0xffffff00 , 0x0000002c 
+ 00010486  0x000014e6 pulse  0x00000015 
+ 00010487  0x000014e7 nop  0x00000020 
+ 00010488  0x000014e8 rtn 
+ 00010489  0x000014ec bpatch  0x00000085 , 0x00004010 
+ 00010490  0x000014ed branch  0x0000290a , 0x00000021 
+ 00010491  0x000014ee jam  0x000000d4 , 0x00008955 
+ 00010492  0x000014ef nop  0x00000004 
+ 00010493  0x000014f0 jam  0x000000d2 , 0x00008955 
+ 00010494  0x000014f1 nop  0x00000004 
+ 00010495  0x000014f2 jam  0x000000d1 , 0x00008955 
+ 00010496  0x000014f3 nop  0x00000004 
+ 00010497  0x000014f4 fetch  0x00000001 , 0x000041de 
+ 00010498  0x000014f5 beq  0x00000000 , 0x00002908 
+ 00010499  0x000014f6 beq  0x00000001 , 0x00002915 
+ 00010500  0x000014f7 beq  0x00000002 , 0x00002908 
+ 00010501  0x000014f8 beq  0x00000003 , 0x00002915 
+ 00010502  0x000014f9 beq  0x00000004 , 0x00002915 
+ 00010503  0x000014fa beq  0x00000020 , 0x00002915 
+ 00010504  0x000014fd jam  0x000000d0 , 0x00008955 
+ 00010505  0x000014fe jam  0x000000e0 , 0x00008956 
+ 00010506  0x00001500 force  0x00000000 , 0x00000015 
+ 00010507  0x00001501 disable  0x00000021 
+ 00010508  0x00001502 disable  0x00000020 
+ 00010509  0x00001503 pulse  0x0000001e 
+ 00010510  0x00001504 jam  0x00000000 , 0x00008902 
+ 00010511  0x00001505 jam  0x00000000 , 0x00008901 
+ 00010512  0x00001506 jam  0x00000000 , 0x00008900 
+ 00010513  0x00001507 jam  0x00000000 , 0x00008903 
+ 00010514  0x00001508 jam  0x00000070 , 0x00008904 
+ 00010515  0x00001509 jam  0x00000000 , 0x00008906 
+ 00010516  0x0000150a rtn 
+ 00010517  0x00001510 jam  0x000000d0 , 0x00008955 
+ 00010518  0x00001511 jam  0x000000c0 , 0x00008956 
+ 00010519  0x00001512 branch  0x0000290a 
+ 00010520  0x00001515 bpatch  0x00000086 , 0x00004010 
+ 00010521  0x00001516 jam  0x00000000 , 0x00008902 
+ 00010522  0x00001517 jam  0x00000000 , 0x00008901 
+ 00010523  0x00001518 jam  0x00000018 , 0x00008900 
+ 00010524  0x00001519 jam  0x000000a7 , 0x00008903 
+ 00010525  0x0000151a jam  0x0000007f , 0x00008904 
+ 00010526  0x0000151b rtn 
+ 00010527  0x0000151e bpatch  0x00000087 , 0x00004010 
+ 00010528  0x00001520 storet  0x00000001 , 0x00000017 
+ 00010529  0x00001521 add  0x00000002 , 0x00000004 , 0x00000011 
+ 00010530  0x00001522 jam  0x00000007 , 0x0000896d 
+ 00010531  0x00001523 branch  0x00002981 
+ 00010532  0x00001525 bpatch  0x00000088 , 0x00004011 
+ 00010533  0x00001526 jam  0x000000cf , 0x00008901 
+ 00010534  0x00001527 nop  0x0000000a 
+ 00010535  0x00001528 jam  0x000000ff , 0x00008900 
+ 00010536  0x00001529 jam  0x000000af , 0x00008903 
+ 00010537  0x0000152a jam  0x000000ff , 0x00008904 
+ 00010538  0x0000152b nop  0x0000000a 
+ 00010539  0x0000152c jam  0x000000a0 , 0x00008902 
+ 00010540  0x0000152d rtn 
+ 00010541  0x00001530 fetch  0x00000001 , 0x000041e0 
+ 00010542  0x00001531 branch  0x00002931 , 0x00000034 
+ 00010543  0x00001533 add  0x00000002 , 0x00000002 , 0x00000011 
+ 00010544  0x00001534 rtn 
+ 00010545  0x00001536 add  0x00000002 , 0x00000000 , 0x00000011 
+ 00010546  0x00001537 rtn 
+ 00010547  0x0000153a bpatch  0x00000089 , 0x00004011 
+ 00010548  0x0000153b storet  0x00000001 , 0x00000017 
+ 00010549  0x0000153c call  0x0000292d 
+ 00010550  0x0000153d call  0x00002981 
+ 00010551  0x0000153e setarg  0x00000500 
+ 00010552  0x0000153f call  0x00002a8f 
+ 00010553  0x00001541 jam  0x00000001 , 0x00008906 
+ 00010554  0x00001542 jam  0x0000003c , 0x00008900 
+ 00010555  0x00001543 jam  0x000000e0 , 0x00008901 
+ 00010556  0x00001544 jam  0x00000012 , 0x0000896d 
+ 00010557  0x00001545 nop  0x0000000a 
+ 00010558  0x00001546 jam  0x00000001 , 0x00008902 
+ 00010559  0x00001547 jam  0x0000003d , 0x00008902 
+ 00010560  0x00001548 nop  0x0000000a 
+ 00010561  0x00001549 jam  0x000000b7 , 0x00008903 
+ 00010562  0x0000154a nop  0x0000000a 
+ 00010563  0x0000154b jam  0x0000007f , 0x00008902 
+ 00010564  0x0000154d fetch  0x00000001 , 0x000041de 
+ 00010565  0x0000154e beq  0x00000000 , 0x0000294b 
+ 00010566  0x0000154f beq  0x00000001 , 0x0000294f 
+ 00010567  0x00001550 beq  0x00000002 , 0x00002953 
+ 00010568  0x00001551 beq  0x00000003 , 0x00002957 
+ 00010569  0x00001552 beq  0x00000004 , 0x0000295b 
+ 00010570  0x00001553 beq  0x00000020 , 0x0000295f 
+ 00010571  0x00001555 jam  0x000000f0 , 0x00008956 
+ 00010572  0x00001556 call  0x00002965 
+ 00010573  0x00001557 jam  0x000000d8 , 0x00008955 
+ 00010574  0x00001558 rtn 
+ 00010575  0x0000155b jam  0x000000df , 0x00008956 
+ 00010576  0x0000155c call  0x00002965 
+ 00010577  0x0000155d jam  0x000000df , 0x00008955 
+ 00010578  0x0000155e rtn 
+ 00010579  0x00001561 jam  0x000000ff , 0x00008956 
+ 00010580  0x00001562 call  0x00002965 
+ 00010581  0x00001563 jam  0x000000df , 0x00008955 
+ 00010582  0x00001564 rtn 
+ 00010583  0x00001566 jam  0x000000ce , 0x00008956 
+ 00010584  0x00001567 call  0x00002965 
+ 00010585  0x00001568 jam  0x000000d8 , 0x00008955 
+ 00010586  0x00001569 rtn 
+ 00010587  0x0000156c jam  0x000000cb , 0x00008956 
+ 00010588  0x0000156d call  0x00002965 
+ 00010589  0x0000156e jam  0x000000d8 , 0x00008955 
+ 00010590  0x0000156f rtn 
+ 00010591  0x00001572 jam  0x000000d0 , 0x00008955 
+ 00010592  0x00001573 jam  0x000000c0 , 0x00008956 
+ 00010593  0x00001574 jam  0x0000004c , 0x00008957 
+ 00010594  0x00001575 jam  0x0000006c , 0x00008958 
+ 00010595  0x00001576 jam  0x00000050 , 0x00008959 
+ 00010596  0x00001577 rtn 
+ 00010597  0x0000157a nop  0x00000004 
+ 00010598  0x0000157b jam  0x000000d1 , 0x00008955 
+ 00010599  0x0000157c nop  0x00000004 
+ 00010600  0x0000157d jam  0x000000d2 , 0x00008955 
+ 00010601  0x0000157e nop  0x00000004 
+ 00010602  0x0000157f jam  0x000000d4 , 0x00008955 
+ 00010603  0x00001580 rtn 
+ 00010604  0x00001584 jam  0x00000006 , 0x00008042 
+ 00010605  0x00001586 fetch  0x00000002 , 0x000040c3 
+ 00010606  0x00001587 bbit0  0x0000000e , 0x0000296d 
+ 00010607  0x00001588 iforce  0x00000006 
+ 00010608  0x00001589 arg  0x00008900 , 0x00000002 
+ 00010609  0x0000158b ifetch  0x00000001 , 0x00000006 
+ 00010610  0x0000158c beq  0x000000ff , 0x00002977 
+ 00010611  0x0000158d ior  0x00000002 , 0x00000005 
+ 00010612  0x0000158e ifetch  0x00000001 , 0x00000006 
+ 00010613  0x0000158f istore  0x00000001 , 0x00000005 
+ 00010614  0x00001590 branch  0x00002971 
+ 00010615  0x00001592 bpatch  0x0000008a , 0x00004011 
+ 00010616  0x00001593 call  0x00002be5 
+ 00010617  0x00001594 call  0x000029c9 
+ 00010618  0x00001596 setarg  0x000007d0 
+ 00010619  0x00001597 iadd  0x00000022 , 0x0000003f 
+ 00010620  0x00001598 store  0x00000004 , 0x00000169 
+ 00010621  0x00001599 set1  0x00000003 , 0x00000015 
+ 00010622  0x0000159a force  0x00000000 , 0x00000015 
+ 00010623  0x0000159b ncall  0x00002998 , 0x0000002b 
+ 00010624  0x0000159c branch  0x000029ab 
+ 00010625  0x000015a0 bpatch  0x0000008b , 0x00004011 
+ 00010626  0x000015a1 setarg  0x00000960 
+ 00010627  0x000015a2 iadd  0x00000011 , 0x00000002 
+ 00010628  0x000015a3 fetch  0x00000001 , 0x000040bd 
+ 00010629  0x000015a4 jam  0x00000004 , 0x0000895f 
+ 00010630  0x000015a5 imul32  0x00000002 , 0x0000003f 
+ 00010631  0x000015a6 fetcht  0x00000001 , 0x000040be 
+ 00010632  0x000015a7 idiv  0x00000002 
+ 00010633  0x000015a8 call  0x00007f86 
+ 00010634  0x000015a9 quotient  0x00000011 
+ 00010635  0x000015aa remainder  0x0000003f 
+ 00010636  0x000015ab lshift16  0x0000003f , 0x0000003f 
+ 00010637  0x000015ac lshift4  0x0000003f , 0x0000003f 
+ 00010638  0x000015ad idiv  0x00000002 
+ 00010639  0x000015ae call  0x00007f86 
+ 00010640  0x000015af quotient  0x0000003f 
+ 00010641  0x000015b0 lshift8  0x0000003f , 0x0000003f 
+ 00010642  0x000015b1 lshift  0x0000003f , 0x0000003f 
+ 00010643  0x000015b2 ior  0x00000011 , 0x0000003f 
+ 00010644  0x000015b3 hstore  0x00000004 , 0x00008960 
+ 00010645  0x000015b4 jam  0x00000044 , 0x0000895f 
+ 00010646  0x000015b5 jam  0x000000c4 , 0x0000895f 
+ 00010647  0x000015b6 rtn 
+ 00010648  0x000015ba bpatch  0x0000008c , 0x00004011 
+ 00010649  0x000015bb jam  0x00000002 , 0x00008906 
+ 00010650  0x000015bc setarg  0x0003d090 
+ 00010651  0x000015bd call  0x00002a8f 
+ 00010652  0x000015be jam  0x0000007f , 0x00008900 
+ 00010653  0x000015bf nop  0x00000082 
+ 00010654  0x000015c0 jam  0x00000030 , 0x00008952 
+ 00010655  0x000015c1 jam  0x000000d0 , 0x00008901 
+ 00010656  0x000015c2 jam  0x00000070 , 0x00008952 
+ 00010657  0x000015c3 jam  0x000000f0 , 0x00008952 
+ 00010658  0x000015c4 force  0x00000032 , 0x00000039 
+ 00010659  0x000015c6 hfetch  0x00000001 , 0x00008980 
+ 00010660  0x000015c7 bbit1  0x00000005 , 0x000029a6 
+ 00010661  0x000015c8 loop  0x000029a3 
+ 00010662  0x000015ca store  0x00000001 , 0x000040ce 
+ 00010663  0x000015cb jam  0x00000000 , 0x00008901 
+ 00010664  0x000015cc jam  0x00000000 , 0x00008900 
+ 00010665  0x000015cd jam  0x00000000 , 0x00008906 
+ 00010666  0x000015ce rtn 
+ 00010667  0x000015d1 bpatch  0x0000008d , 0x00004011 
+ 00010668  0x000015d2 fetch  0x00000001 , 0x000040ce 
+ 00010669  0x000015d3 set1  0x00000005 , 0x0000003f 
+ 00010670  0x000015d4 hstore  0x00000001 , 0x00008952 
+ 00010671  0x000015d5 hfetcht  0x00000001 , 0x00008950 
+ 00010672  0x000015d6 and_into  0x00000007 , 0x00000002 
+ 00010673  0x000015d7 lshift3  0x0000003f , 0x0000003f 
+ 00010674  0x000015d8 ior  0x00000002 , 0x0000003f 
+ 00010675  0x000015d9 hstore  0x00000001 , 0x00008950 
+ 00010676  0x000015da hfetch  0x00000001 , 0x00008951 
+ 00010677  0x000015db set0  0x00000000 , 0x0000003f 
+ 00010678  0x000015dc hstore  0x00000001 , 0x00008951 
+ 00010679  0x000015dd hfetch  0x00000001 , 0x00008952 
+ 00010680  0x000015de set0  0x00000005 , 0x0000003f 
+ 00010681  0x000015df hstore  0x00000001 , 0x00008952 
+ 00010682  0x000015e0 rtn 
+ 00010683  0x000015e3 bpatch  0x0000008e , 0x00004011 
+ 00010684  0x000015e4 hfetch  0x00000002 , 0x00008981 
+ 00010685  0x000015e5 rshift4  0x0000003f , 0x0000003f 
+ 00010686  0x000015e6 rshift3  0x0000003f , 0x0000003f 
+ 00010687  0x000015e7 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00010688  0x000015e9 and_into  0x000000ff , 0x0000003f 
+ 00010689  0x000015ea div  0x0000003f , 0x0000000a 
+ 00010690  0x000015eb call  0x00007f86 
+ 00010691  0x000015ec quotient  0x0000003f 
+ 00010692  0x000015ed lshift4  0x0000003f , 0x0000003f 
+ 00010693  0x000015ee remainder  0x00000002 
+ 00010694  0x000015ef ior  0x00000002 , 0x0000003f 
+ 00010695  0x000015f0 store  0x00000001 , 0x00000018 
+ 00010696  0x000015f1 rtn 
+ 00010697  0x000015f5 jam  0x00000006 , 0x00008042 
+ 00010698  0x000015f6 hfetch  0x00000001 , 0x0000896b 
+ 00010699  0x000015f7 set0  0x00000004 , 0x0000003f 
+ 00010700  0x000015f8 set0  0x00000005 , 0x0000003f 
+ 00010701  0x000015f9 hstore  0x00000001 , 0x0000896b 
+ 00010702  0x000015fa jam  0x00000000 , 0x00008905 
+ 00010703  0x000015fb jam  0x00000000 , 0x00008904 
+ 00010704  0x000015fc jam  0x00000070 , 0x00008904 
+ 00010705  0x000015fd jam  0x000000ff , 0x00008905 
+ 00010706  0x000015fe hfetch  0x00000001 , 0x0000896b 
+ 00010707  0x000015ff set1  0x00000004 , 0x0000003f 
+ 00010708  0x00001600 set1  0x00000005 , 0x0000003f 
+ 00010709  0x00001601 hstore  0x00000001 , 0x0000896b 
+ 00010710  0x00001602 call  0x000029e9 
+ 00010711  0x00001603 hfetch  0x00000001 , 0x00008968 
+ 00010712  0x00001604 set1  0x00000007 , 0x0000003f 
+ 00010713  0x00001605 hstore  0x00000001 , 0x00008968 
+ 00010714  0x00001606 set0  0x00000007 , 0x0000003f 
+ 00010715  0x00001607 hstore  0x00000001 , 0x00008968 
+ 00010716  0x00001608 set1  0x00000007 , 0x0000003f 
+ 00010717  0x00001609 hstore  0x00000001 , 0x00008968 
+ 00010718  0x0000160a jam  0x00000005 , 0x00008042 
+ 00010719  0x0000160b nop  0x00000001 
+ 00010720  0x0000160c jam  0x00000004 , 0x00008042 
+ 00010721  0x0000160d hfetch  0x00000001 , 0x0000896b 
+ 00010722  0x0000160e and_into  0x000000cf , 0x0000003f 
+ 00010723  0x0000160f hstore  0x00000001 , 0x0000896b 
+ 00010724  0x00001610 or_into  0x00000030 , 0x0000003f 
+ 00010725  0x00001611 hstore  0x00000001 , 0x0000896b 
+ 00010726  0x00001612 rtn 
+ 00010727  0x00001616 setarg  0x00000f0f 
+ 00010728  0x00001617 branch  0x00002c18 
+ 00010729  0x0000161a setarg  0x0000080f 
+ 00010730  0x0000161b branch  0x00002c18 
+ 00010731  0x00001620 bpatch  0x0000008f , 0x00004011 
+ 00010732  0x00001621 call  0x00002924 
+ 00010733  0x00001622 disable  0x00000020 
+ 00010734  0x00001623 enable  0x00000021 
+ 00010735  0x00001624 pulse  0x00000016 
+ 00010736  0x00001625 rtn 
+ 00010737  0x00001628 bpatch  0x00000090 , 0x00004012 
+ 00010738  0x00001629 fetch  0x00000001 , 0x0000004c 
+ 00010739  0x0000162a isolate1  0x00000002 , 0x0000003f 
+ 00010740  0x0000162b setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00010741  0x0000162c hstore  0x00000001 , 0x00008011 
+ 00010742  0x0000162d arg  0x00000062 , 0x00000006 
+ 00010743  0x0000162e ifetch  0x00000009 , 0x00000006 
+ 00010744  0x0000162f iforce  0x00000032 
+ 00010745  0x00001630 ifetch  0x00000007 , 0x00000006 
+ 00010746  0x00001631 iforce  0x00000033 
+ 00010747  0x00001632 fetch  0x00000001 , 0x00000054 
+ 00010748  0x00001633 add  0x0000003f , 0xffffffff , 0x00000034 
+ 00010749  0x00001634 pulse  0x0000001a 
+ 00010750  0x00001635 rtn 
+ 00010751  0x00001638 deposit  0x0000001a 
+ 00010752  0x00001639 store  0x00000006 , 0x0000009a 
+ 00010753  0x0000163a disable  0x0000000d 
+ 00010754  0x0000163b nbranch  0x000028f9 , 0x00000018 
+ 00010755  0x0000163c arg  0x000003bb , 0x00000029 
+ 00010756  0x0000163d increase  0x00000001 , 0x00000028 
+ 00010757  0x0000163e and_into  0x000001fc , 0x00000028 
+ 00010758  0x0000163f rtn 
+ 00010759  0x00001644 enable  0x0000000d 
+ 00010760  0x00001646 correlate  0x0000003e , 0x00000017 
+ 00010761  0x00001647 branch  0x000029ff , 0x00000018 
+ 00010762  0x00001648 compare  0x00000002 , 0x00000028 , 0x00000002 
+ 00010763  0x00001649 nbranch  0x00002a08 , 0x00000001 
+ 00010764  0x0000164a branch  0x000029ff 
+ 00010765  0x0000164d bpatch  0x00000091 , 0x00004012 
+ 00010766  0x0000164e arg  0x00000600 , 0x0000000b 
+ 00010767  0x0000164f enable  0x0000000d 
+ 00010768  0x00001650 correlate  0x00000023 , 0x00000026 
+ 00010769  0x00001651 disable  0x0000000d 
+ 00010770  0x00001652 nbranch  0x000028f9 , 0x00000018 
+ 00010771  0x00001653 rtn 
+ 00010772  0x00001656 bpatch  0x00000092 , 0x00004012 
+ 00010773  0x00001657 enable  0x0000000d 
+ 00010774  0x00001658 correlate  0x0000003e , 0x00000003 
+ 00010775  0x00001659 disable  0x0000000d 
+ 00010776  0x0000165a nbranch  0x000028f9 , 0x00000018 
+ 00010777  0x0000165b arg  0x000003bb , 0x00000029 
+ 00010778  0x0000165c and_into  0x000001fc , 0x00000028 
+ 00010779  0x0000165d rtn 
+ 00010780  0x00001661 bpatch  0x00000093 , 0x00004012 
+ 00010781  0x00001662 iforce  0x00000011 
+ 00010782  0x00001663 deposit  0x00000021 
+ 00010783  0x00001664 iadd  0x00000002 , 0x0000000b 
+ 00010784  0x00001665 copy  0x0000000b , 0x0000003f 
+ 00010785  0x00001666 store  0x00000004 , 0x000040ca 
+ 00010786  0x00001667 deposit  0x00000011 
+ 00010787  0x00001668 rtn 
+ 00010788  0x0000166c copy  0x0000003f , 0x00000002 
+ 00010789  0x0000166d bpatch  0x00000094 , 0x00004012 
+ 00010790  0x0000166e copy  0x00000002 , 0x0000003f 
+ 00010791  0x0000166f call  0x00007f50 
+ 00010792  0x00001670 lshift16  0x00000021 , 0x0000003f 
+ 00010793  0x00001671 set1  0x0000002c , 0x0000003f 
+ 00010794  0x00001672 call  0x00007f39 
+ 00010795  0x00001673 set0  0x0000002c , 0x0000003f 
+ 00010796  0x00001674 call  0x00002a77 
+ 00010797  0x00001675 call  0x00007f39 
+ 00010798  0x00001676 rtn  0x00000028 
+ 00010799  0x00001677 call  0x00007f43 
+ 00010800  0x00001678 iforce  0x0000001b 
+ 00010801  0x00001679 until  0x0000003e , 0x00000003 
+ 00010802  0x0000167a rtn 
+ 00010803  0x0000167e bpatch  0x00000095 , 0x00004012 
+ 00010804  0x0000167f branch  0x00002a38 , 0x00000030 
+ 00010805  0x00001680 until  0x00000029 , 0x00000026 
+ 00010806  0x00001682 copy  0x00000028 , 0x00000002 
+ 00010807  0x00001683 branch  0x00002a3b 
+ 00010808  0x00001685 branch  0x00002a3a , 0x0000002e 
+ 00010809  0x00001686 until  0x00000023 , 0x00000026 
+ 00010810  0x00001688 copy  0x00000022 , 0x00000002 
+ 00010811  0x0000168a branch  0x00002a47 , 0x00000028 
+ 00010812  0x0000168b compare  0x00000001 , 0x00000002 , 0x00000003 
+ 00010813  0x0000168c nbranch  0x00002a33 , 0x00000001 
+ 00010814  0x0000168e bpatch  0x00000096 , 0x00004012 
+ 00010815  0x0000168f fetch  0x00000001 , 0x00000030 
+ 00010816  0x00001690 rtnbit0  0x00000000 
+ 00010817  0x00001691 fetch  0x00000004 , 0x000040ca 
+ 00010818  0x00001692 isub  0x00000002 , 0x0000003f 
+ 00010819  0x00001693 nrtn  0x00000002 
+ 00010820  0x00001694 sub  0x0000003f , 0x000000ff , 0x0000003e 
+ 00010821  0x00001695 branch  0x00002a33 , 0x00000002 
+ 00010822  0x00001696 rtn 
+ 00010823  0x00001698 compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00010824  0x00001699 nbranch  0x00002a33 , 0x00000001 
+ 00010825  0x0000169a branch  0x00002a3e 
+ 00010826  0x0000169d bpatch  0x00000097 , 0x00004012 
+ 00010827  0x0000169e arg  0x00000600 , 0x0000000b 
+ 00010828  0x0000169f branch  0x00002a33 
+ 00010829  0x000016a2 disable  0x00000028 
+ 00010830  0x000016a3 branch  0x00002a4a 
+ 00010831  0x000016a6 enable  0x00000028 
+ 00010832  0x000016a7 branch  0x00002a4a 
+ 00010833  0x000016aa bpatch  0x00000098 , 0x00004013 
+ 00010834  0x000016ab call  0x000029f1 
+ 00010835  0x000016ac disable  0x00000021 
+ 00010836  0x000016ad enable  0x00000020 
+ 00010837  0x000016ae rtn 
+ 00010838  0x000016b3 bpatch  0x00000099 , 0x00004013 
+ 00010839  0x000016b4 arg  0x00000e43 , 0x0000000b 
+ 00010840  0x000016b5 until  0x00000023 , 0x00000026 
+ 00010841  0x000016b6 pulse  0x00000016 
+ 00010842  0x000016b7 rtn 
+ 00010843  0x000016ba bpatch  0x0000009a , 0x00004013 
+ 00010844  0x000016bb arg  0x00000d00 , 0x0000000b 
+ 00010845  0x000016bc until  0x00000023 , 0x00000026 
+ 00010846  0x000016bd rtn 
+ 00010847  0x000016c1 bpatch  0x0000009b , 0x00004013 
+ 00010848  0x000016c2 arg  0x00000e43 , 0x0000000b 
+ 00010849  0x000016c3 until  0x00000029 , 0x00000026 
+ 00010850  0x000016c4 pulse  0x00000016 
+ 00010851  0x000016c5 rtn 
+ 00010852  0x000016c8 bpatch  0x0000009c , 0x00004013 
+ 00010853  0x000016c9 preload  0x00000009 
+ 00010854  0x000016ca enable  0x0000001d 
+ 00010855  0x000016cb set1  0x00000000 , 0x00000015 
+ 00010856  0x000016cc inject  0x00000003 , 0x00000048 
+ 00010857  0x000016cd disable  0x0000001d 
+ 00010858  0x000016ce rtn 
+ 00010859  0x000016d2 copy  0x00000025 , 0x00000002 
+ 00010860  0x000016d3 or_into  0x00000060 , 0x00000002 
+ 00010861  0x000016d4 copy  0x00000002 , 0x0000000e 
+ 00010862  0x000016d5 rtn 
+ 00010863  0x000016db bpatch  0x0000009d , 0x00004013 
+ 00010864  0x000016dc fetch  0x00000001 , 0x00004090 
+ 00010865  0x000016dd increase  0x00000001 , 0x0000003f 
+ 00010866  0x000016de bne  0x00000007 , 0x00002a74 
+ 00010867  0x000016df force  0x00000001 , 0x0000003f 
+ 00010868  0x000016e1 store  0x00000001 , 0x00004090 
+ 00010869  0x000016e2 iforce  0x00000004 
+ 00010870  0x000016e3 rtn 
+ 00010871  0x000016e6 copy  0x00000019 , 0x00000002 
+ 00010872  0x000016e7 rtn  0x00000029 
+ 00010873  0x000016e8 copy  0x0000001a , 0x00000002 
+ 00010874  0x000016e9 rtn 
+ 00010875  0x000016ec deposit  0x00000022 
+ 00010876  0x000016ed rtn  0x00000029 
+ 00010877  0x000016ee deposit  0x00000028 
+ 00010878  0x000016ef rtn 
+ 00010879  0x000016f3 bpatch  0x0000009e , 0x00004013 
+ 00010880  0x000016f4 fetcht  0x00000004 , 0x0000004d 
+ 00010881  0x000016f5 call  0x00002a7b 
+ 00010882  0x000016f6 isub  0x00000002 , 0x0000000b 
+ 00010883  0x000016f7 deposit  0x0000000b 
+ 00010884  0x000016f8 fetcht  0x00000002 , 0x00000051 
+ 00010885  0x000016f9 lshift  0x00000002 , 0x00000002 
+ 00010886  0x000016fa isub  0x00000002 , 0x0000003f 
+ 00010887  0x000016fb rtn 
+ 00010888  0x000016fe bpatch  0x0000009f , 0x00004013 
+ 00010889  0x000016ff call  0x00002a7b 
+ 00010890  0x00001700 store  0x00000004 , 0x0000004d 
+ 00010891  0x00001701 rtn 
+ 00010892  0x00001704 bpatch  0x000000a0 , 0x00004014 
+ 00010893  0x00001705 branch  0x00002a8c 
+ 00010894  0x00001708 branch  0x00002a8e 
+ 00010895  0x0000170b rtn  0x00000034 
+ 00010896  0x0000170d rshift  0x0000003f , 0x0000003f 
+ 00010897  0x0000170e increase  0xfffffffd , 0x0000003f 
+ 00010898  0x00001710 increase  0xffffffff , 0x0000003f 
+ 00010899  0x00001711 nbranch  0x00002a92 , 0x00000005 
+ 00010900  0x00001712 force  0x00000000 , 0x0000003f 
+ 00010901  0x00001713 rtn 
+ 00010902  0x00001719 arg  0x00000010 , 0x00000039 
+ 00010903  0x0000171a arg  0x00000000 , 0x00000005 
+ 00010904  0x0000171b call  0x00007ec6 
+ 00010905  0x0000171c arg  0x0000043f , 0x00000005 
+ 00010906  0x0000171d arg  0x0000000a , 0x00000039 
+ 00010907  0x0000171e call  0x00007ec6 
+ 00010908  0x0000171f jam  0x00000000 , 0x000009b2 
+ 00010909  0x00001720 jam  0x00000000 , 0x00000a99 
+ 00010910  0x00001721 jam  0x00000000 , 0x0000048c 
+ 00010911  0x00001722 jam  0x00000000 , 0x0000017f 
+ 00010912  0x00001723 jam  0x00000000 , 0x000004d1 
+ 00010913  0x00001724 bpatch  0x000000a1 , 0x00004014 
+ 00010914  0x00001725 jam  0x00000000 , 0x0000016d 
+ 00010915  0x00001726 jam  0x00000000 , 0x00000151 
+ 00010916  0x00001727 jam  0x00000000 , 0x0000015c 
+ 00010917  0x00001728 setarg  0x009e8b33 
+ 00010918  0x00001729 store  0x00000003 , 0x000040a7 
+ 00010919  0x0000172a setarg  0x00000153 
+ 00010920  0x0000172b store  0x00000002 , 0x00000083 
+ 00010921  0x0000172c jam  0x0000001e , 0x00000085 
+ 00010922  0x0000172d jam  0x00000001 , 0x00000086 
+ 00010923  0x0000172e jam  0x00000007 , 0x00000088 
+ 00010924  0x0000172f setarg  0x0012e904 
+ 00010925  0x00001730 store  0x00000003 , 0x00000080 
+ 00010926  0x00001735 jam  0x00000060 , 0x00000090 
+ 00010927  0x00001736 jam  0x00000005 , 0x000040d0 
+ 00010928  0x00001737 jam  0x00000002 , 0x00000014 
+ 00010929  0x00001738 fetch  0x00000001 , 0x0000465a 
+ 00010930  0x00001739 ncall  0x000074c1 , 0x00000034 
+ 00010931  0x0000173a fetch  0x00000001 , 0x000044be 
+ 00010932  0x0000173b ncall  0x00007518 , 0x00000034 
+ 00010933  0x0000173c bpatch  0x000000a2 , 0x00004014 
+ 00010934  0x0000173d rtn  0x0000002b 
+ 00010935  0x0000173e setarg  0x00000000 
+ 00010936  0x0000173f store  0x00000002 , 0x000041dc 
+ 00010937  0x00001740 rshift  0x00000022 , 0x0000003f 
+ 00010938  0x00001741 store  0x00000004 , 0x00004094 
+ 00010939  0x00001742 rtn 
+ 00010940  0x0000174a setarg  0x0000ee21 
+ 00010941  0x0000174b hstore  0x00000002 , 0x00008050 
+ 00010942  0x0000174c hfetch  0x00000004 , 0x0000811c 
+ 00010943  0x0000174d store  0x00000004 , 0x00000abe 
+ 00010944  0x0000174e hfetch  0x00000001 , 0x0000813e 
+ 00010945  0x0000174f store  0x00000001 , 0x00000abd 
+ 00010946  0x00001750 bbit0  0x00000003 , 0x0000645b 
+ 00010947  0x00001751 enable  0x0000002b 
+ 00010948  0x00001752 bbit0  0x00000007 , 0x00002acc 
+ 00010949  0x00001753 disable  0x0000002b 
+ 00010950  0x00001754 deposit  0x00000027 
+ 00010951  0x00001755 nbranch  0x00002acc , 0x00000034 
+ 00010952  0x00001756 hfetch  0x00000001 , 0x0000813b 
+ 00010953  0x00001757 bbit1  0x00000002 , 0x00002acc 
+ 00010954  0x00001758 arg  0xffffffff , 0x00000002 
+ 00010955  0x00001759 branch  0x00002b3c 
+ 00010956  0x0000175b hfetch  0x00000003 , 0x0000813c 
+ 00010957  0x0000175c hstore  0x00000003 , 0x0000804c 
+ 00010958  0x0000175d ifetch  0x00000001 , 0x00000006 
+ 00010959  0x0000175e or_into  0x000000ef , 0x0000003f 
+ 00010960  0x0000175f istore  0x00000001 , 0x00000005 
+ 00010961  0x00001760 call  0x00002c23 
+ 00010962  0x00001761 hfetch  0x00000001 , 0x0000804f 
+ 00010963  0x00001762 set1  0x00000004 , 0x0000003f 
+ 00010964  0x00001763 hstore  0x00000001 , 0x0000804f 
+ 00010965  0x00001764 call  0x00002c23 
+ 00010966  0x00001765 call  0x00002adf , 0x0000002b 
+ 00010967  0x00001766 hfetch  0x00000001 , 0x0000804e 
+ 00010968  0x00001767 set0  0x00000003 , 0x0000003f 
+ 00010969  0x00001768 hstore  0x00000001 , 0x0000804e 
+ 00010970  0x00001769 call  0x00002c23 
+ 00010971  0x0000176a nbranch  0x0000645b , 0x0000002b 
+ 00010972  0x0000176b rtnmark0  0x0000002b 
+ 00010973  0x0000176c jam  0x00000008 , 0x00008006 
+ 00010974  0x0000176d rtn 
+ 00010975  0x00001770 fetch  0x00000001 , 0x00004198 
+ 00010976  0x00001771 hstore  0x00000001 , 0x00008086 
+ 00010977  0x00001772 fetch  0x00000003 , 0x0000418d 
+ 00010978  0x00001773 hstore  0x00000003 , 0x00008080 
+ 00010979  0x00001774 fetch  0x00000004 , 0x00004181 
+ 00010980  0x00001775 hstore  0x00000004 , 0x00008074 
+ 00010981  0x00001776 fetch  0x00000004 , 0x0000417d 
+ 00010982  0x00001777 hstore  0x00000004 , 0x00008070 
+ 00010983  0x00001778 fetch  0x00000008 , 0x00004185 
+ 00010984  0x00001779 hstore  0x00000008 , 0x00008078 
+ 00010985  0x0000177a fetch  0x00000008 , 0x00004190 
+ 00010986  0x0000177b iforce  0x00000000 
+ 00010987  0x0000177c hfetch  0x00000008 , 0x00008140 
+ 00010988  0x0000177d store  0x00000008 , 0x000000a1 
+ 00010989  0x0000177e call  0x000064ca 
+ 00010990  0x0000177f rtn 
+ 00010991  0x00001782 deposit  0x00000000 
+ 00010992  0x00001783 store  0x00000008 , 0x00004190 
+ 00010993  0x00001784 hfetch  0x00000008 , 0x00008070 
+ 00010994  0x00001785 store  0x00000008 , 0x0000417d 
+ 00010995  0x00001786 ifetch  0x00000008 , 0x00000006 
+ 00010996  0x00001787 istore  0x00000008 , 0x00000005 
+ 00010997  0x00001788 hfetch  0x00000003 , 0x00008080 
+ 00010998  0x00001789 store  0x00000003 , 0x0000418d 
+ 00010999  0x0000178a hfetch  0x00000001 , 0x00008086 
+ 00011000  0x0000178b store  0x00000001 , 0x00004198 
+ 00011001  0x0000178c branch  0x00002c29 
+ 00011002  0x0000178f hfetch  0x00000001 , 0x00008063 
+ 00011003  0x00001790 nbranch  0x00002b00 , 0x00000034 
+ 00011004  0x00001791 fetch  0x00000003 , 0x0000416f 
+ 00011005  0x00001792 nrtn  0x00000034 
+ 00011006  0x00001793 jam  0x000000c0 , 0x00008063 
+ 00011007  0x00001794 jam  0x00000080 , 0x00008006 
+ 00011008  0x00001796 hfetch  0x00000001 , 0x0000812d 
+ 00011009  0x00001797 rtnbit0  0x00000001 
+ 00011010  0x00001798 hfetch  0x00000003 , 0x00008149 
+ 00011011  0x00001799 store  0x00000003 , 0x0000416f 
+ 00011012  0x0000179a rtn 
+ 00011013  0x0000179f bpatch  0x000000a3 , 0x00004014 
+ 00011014  0x000017a0 deposit  0x0000001a 
+ 00011015  0x000017a1 call  0x00007f37 
+ 00011016  0x000017a2 fetcht  0x00000004 , 0x0000415f 
+ 00011017  0x000017a3 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00011018  0x000017a4 rtn  0x00000002 
+ 00011019  0x000017a5 lshift8  0x0000003f , 0x0000003f 
+ 00011020  0x000017a6 lshift4  0x0000003f , 0x0000003f 
+ 00011021  0x000017a7 idiv  0x00000002 
+ 00011022  0x000017a8 call  0x00007f86 
+ 00011023  0x000017a9 quotient  0x0000003f 
+ 00011024  0x000017aa arg  0x000000c8 , 0x00000002 
+ 00011025  0x000017ab call  0x00007f91 
+ 00011026  0x000017ac store  0x00000001 , 0x00000099 
+ 00011027  0x000017ad nbranch  0x00002b15 , 0x00000028 
+ 00011028  0x000017ae sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00011029  0x000017b0 fetcht  0x00000003 , 0x0000416f 
+ 00011030  0x000017b1 iadd  0x00000002 , 0x0000003f 
+ 00011031  0x000017b2 store  0x00000003 , 0x0000416f 
+ 00011032  0x000017b4 setarg  0x00000000 
+ 00011033  0x000017b5 store  0x00000004 , 0x0000415f 
+ 00011034  0x000017b6 rtn 
+ 00011035  0x000017bb fetch  0x00000001 , 0x00004177 
+ 00011036  0x000017bc set1  0x00000002 , 0x0000003f 
+ 00011037  0x000017bd store  0x00000001 , 0x00004177 
+ 00011038  0x000017be branch  0x00002b23 
+ 00011039  0x000017c3 arg  0xffffffff , 0x00000002 
+ 00011040  0x000017c4 fetch  0x00000001 , 0x00004176 
+ 00011041  0x000017c5 set0  0x00000007 , 0x0000003f 
+ 00011042  0x000017c6 store  0x00000001 , 0x00004176 
+ 00011043  0x000017c8 bpatch  0x000000a4 , 0x00004014 
+ 00011044  0x000017c9 call  0x00002c29 
+ 00011045  0x000017ca fetch  0x00000001 , 0x00004157 
+ 00011046  0x000017cb store  0x00000001 , 0x0000417c 
+ 00011047  0x000017cc fetch  0x00000001 , 0x0000417a 
+ 00011048  0x000017cd set1  0x00000007 , 0x0000003f 
+ 00011049  0x000017ce store  0x00000001 , 0x0000417a 
+ 00011050  0x000017d2 bpatch  0x000000a5 , 0x00004014 
+ 00011051  0x000017d3 call  0x000029e7 
+ 00011052  0x000017d4 fetch  0x00000004 , 0x0000415f 
+ 00011053  0x000017d5 iadd  0x00000002 , 0x0000003f 
+ 00011054  0x000017d6 store  0x00000004 , 0x0000415f 
+ 00011055  0x000017d7 call  0x00002aef 
+ 00011056  0x000017d8 fetch  0x00000005 , 0x00004178 
+ 00011057  0x000017d9 hstore  0x00000004 , 0x0000804c 
+ 00011058  0x000017da rshift32  0x0000003f , 0x00000011 
+ 00011059  0x000017db until  0x0000003e , 0x00000033 
+ 00011060  0x000017dc deposit  0x00000019 
+ 00011061  0x000017dd store  0x00000006 , 0x00004163 
+ 00011062  0x000017de jam  0x00000002 , 0x00008005 
+ 00011063  0x000017df until  0x0000003e , 0x00000033 
+ 00011064  0x000017e0 until  0x0000003e , 0x00000033 
+ 00011065  0x000017e1 deposit  0x00000011 
+ 00011066  0x000017e2 hstore  0x00000001 , 0x0000804f 
+ 00011067  0x000017e3 jam  0x00000002 , 0x00008005 
+ 00011068  0x000017e5 until  0x0000003e , 0x00000033 
+ 00011069  0x000017e6 until  0x0000003e , 0x00000033 
+ 00011070  0x000017e7 hstoret  0x00000004 , 0x0000804c 
+ 00011071  0x000017e8 jam  0x00000010 , 0x00008005 
+ 00011072  0x000017e9 until  0x0000003e , 0x0000003f 
+ 00011073  0x000017ef bpatch  0x000000a6 , 0x00004014 
+ 00011074  0x000017f0 setarg  0x00000000 
+ 00011075  0x000017f1 copy  0x00000027 , 0x0000003e 
+ 00011076  0x000017f2 branch  0x00002b4c , 0x00000005 
+ 00011077  0x000017f3 hfetch  0x00000001 , 0x0000813c 
+ 00011078  0x000017f4 hfetcht  0x00000001 , 0x0000813d 
+ 00011079  0x000017f5 isub  0x00000002 , 0x0000003e 
+ 00011080  0x000017f6 branch  0x00002b4a , 0x00000002 
+ 00011081  0x000017f7 deposit  0x00000002 
+ 00011082  0x000017f9 isub  0x00000027 , 0x0000003f 
+ 00011083  0x000017fa increase  0x00000001 , 0x0000003f 
+ 00011084  0x000017fc increase  0x00000008 , 0x0000003f 
+ 00011085  0x000017fd until  0x0000003e , 0x00000033 
+ 00011086  0x000017fe iadd  0x00000031 , 0x0000003f 
+ 00011087  0x000017ff fetcht  0x00000004 , 0x0000415b 
+ 00011088  0x00001800 iadd  0x00000002 , 0x0000003f 
+ 00011089  0x00001801 fetcht  0x00000003 , 0x0000416f 
+ 00011090  0x00001802 imul32  0x00000002 , 0x0000003f 
+ 00011091  0x00001803 rshift8  0x0000003f , 0x0000003f 
+ 00011092  0x00001804 rshift4  0x0000003f , 0x0000003f 
+ 00011093  0x00001805 increase  0x0000006e , 0x0000003f 
+ 00011094  0x00001806 arg  0x00000ea6 , 0x00000002 
+ 00011095  0x00001807 idiv  0x00000002 
+ 00011096  0x00001808 call  0x00007f86 
+ 00011097  0x00001809 quotient  0x0000003f 
+ 00011098  0x0000180a lshift16  0x0000003f , 0x0000003f 
+ 00011099  0x0000180b remainder  0x00000002 
+ 00011100  0x0000180c ior  0x00000002 , 0x0000003f 
+ 00011101  0x0000180d fetcht  0x00000006 , 0x00004163 
+ 00011102  0x0000180e call  0x00007f2c 
+ 00011103  0x0000180f copy  0x00000002 , 0x00000019 
+ 00011104  0x00001810 fetch  0x00000006 , 0x00004048 
+ 00011105  0x00001811 call  0x00002854 
+ 00011106  0x00001812 deposit  0x0000001a 
+ 00011107  0x00001813 store  0x00000006 , 0x00000a9a 
+ 00011108  0x00001814 deposit  0x00000027 
+ 00011109  0x00001815 istore  0x00000001 , 0x00000005 
+ 00011110  0x00001816 hfetch  0x00000001 , 0x0000811d 
+ 00011111  0x00001817 or_into  0x000000f0 , 0x0000003f 
+ 00011112  0x00001818 istore  0x00000001 , 0x00000005 
+ 00011113  0x00001819 rtn 
+ 00011114  0x0000181c bpatch  0x000000a7 , 0x00004014 
+ 00011115  0x0000181d call  0x00002afa 
+ 00011116  0x0000181e fetch  0x00000003 , 0x0000416f 
+ 00011117  0x0000181f rtn  0x00000034 
+ 00011118  0x00001820 fetch  0x00000001 , 0x00004091 
+ 00011119  0x00001821 rtn  0x00000034 
+ 00011120  0x00001822 fetch  0x00000001 , 0x0000465a 
+ 00011121  0x00001823 branch  0x00002b74 , 0x00000034 
+ 00011122  0x00001824 fetch  0x00000001 , 0x000045b1 
+ 00011123  0x00001825 rtn  0x00000034 
+ 00011124  0x00001827 fetch  0x00000001 , 0x000044c0 
+ 00011125  0x00001828 nrtn  0x00000034 
+ 00011126  0x00001829 call  0x00002c3a 
+ 00011127  0x0000182a nrtn  0x00000034 
+ 00011128  0x0000182b fetch  0x00000001 , 0x00004040 
+ 00011129  0x0000182c compare  0x00000003 , 0x0000003f , 0x00000007 
+ 00011130  0x0000182d nbranch  0x00002b9d , 0x00000001 
+ 00011131  0x0000182e fetch  0x00000002 , 0x00004042 
+ 00011132  0x0000182f rtn  0x00000034 
+ 00011133  0x00001830 rtn  0x0000002b 
+ 00011134  0x00001831 bpatch  0x000000a8 , 0x00004015 
+ 00011135  0x00001833 fetcht  0x00000001 , 0x000000a0 
+ 00011136  0x00001834 fetch  0x00000002 , 0x00004042 
+ 00011137  0x00001835 imul32  0x00000002 , 0x0000003f 
+ 00011138  0x00001836 rshift4  0x00000002 , 0x00000002 
+ 00011139  0x00001837 rshift2  0x00000002 , 0x00000002 
+ 00011140  0x00001838 isub  0x00000002 , 0x0000003f 
+ 00011141  0x00001839 fetcht  0x00000004 , 0x00004044 
+ 00011142  0x0000183a iadd  0x00000002 , 0x0000003f 
+ 00011143  0x0000183b fetcht  0x00000001 , 0x00004156 
+ 00011144  0x0000183c isub  0x00000002 , 0x0000003f 
+ 00011145  0x0000183d lshift16  0x0000003f , 0x00000030 
+ 00011146  0x0000183e bpatch  0x000000a9 , 0x00004015 
+ 00011147  0x0000183f fetch  0x00000002 , 0x0000404e 
+ 00011148  0x00001840 rshift  0x0000003f , 0x0000003f 
+ 00011149  0x00001841 call  0x00007f50 
+ 00011150  0x00001842 deposit  0x00000030 
+ 00011151  0x00001843 call  0x00007f39 
+ 00011152  0x00001844 copy  0x0000001a , 0x00000002 
+ 00011153  0x00001845 call  0x00007f37 
+ 00011154  0x00001846 rtn  0x00000028 
+ 00011155  0x00001848 call  0x00007f49 
+ 00011156  0x0000184a bpatch  0x000000aa , 0x00004015 
+ 00011157  0x0000184b fetch  0x00000001 , 0x00004178 
+ 00011158  0x0000184c isub  0x00000002 , 0x0000003e 
+ 00011159  0x0000184d branch  0x00002b18 , 0x00000002 
+ 00011160  0x0000184e storet  0x00000004 , 0x0000415b 
+ 00011161  0x0000184f call  0x00003328 
+ 00011162  0x00001850 call  0x000052fb 
+ 00011163  0x00001851 fetcht  0x00000004 , 0x0000415b 
+ 00011164  0x00001852 branch  0x00002b2a 
+ 00011165  0x00001855 bpatch  0x000000ab , 0x00004015 
+ 00011166  0x00001856 fetch  0x00000001 , 0x00004040 
+ 00011167  0x00001857 rtnbit1  0x00000000 
+ 00011168  0x00001858 rtnbit1  0x00000003 
+ 00011169  0x00001859 fetch  0x00000001 , 0x0000465a 
+ 00011170  0x0000185a branch  0x00002ba5 , 0x00000034 
+ 00011171  0x0000185b fetch  0x00000001 , 0x000045b1 
+ 00011172  0x0000185c rtn  0x00000034 
+ 00011173  0x0000185e bpatch  0x000000ac , 0x00004015 
+ 00011174  0x0000185f fetch  0x00000001 , 0x0000436e 
+ 00011175  0x00001860 nbranch  0x00002baa , 0x00000034 
+ 00011176  0x00001861 fetch  0x00000001 , 0x00004093 
+ 00011177  0x00001862 rtn  0x00000034 
+ 00011178  0x00001864 fetch  0x00000002 , 0x00004154 
+ 00011179  0x00001865 rtn  0x00000034 
+ 00011180  0x00001867 fetcht  0x00000001 , 0x00004156 
+ 00011181  0x00001868 isub  0x00000002 , 0x0000003f 
+ 00011182  0x00001869 arg  0x00001d4c , 0x00000002 
+ 00011183  0x0000186a imul32  0x00000002 , 0x0000003f 
+ 00011184  0x0000186b branch  0x00002b93 
+ 00011185  0x0000186e bpatch  0x000000ad , 0x00004015 
+ 00011186  0x0000186f disable  0x0000002b 
+ 00011187  0x00001870 fetch  0x00000001 , 0x00000030 
+ 00011188  0x00001871 rtnbit0  0x00000001 
+ 00011189  0x00001872 nbranch  0x00002bd0 , 0x0000002d 
+ 00011190  0x00001873 call  0x00002bcb 
+ 00011191  0x00001874 fetch  0x00000002 , 0x000040c1 
+ 00011192  0x00001875 store  0x00000002 , 0x0000003e 
+ 00011193  0x00001876 fetch  0x00000001 , 0x00000047 
+ 00011194  0x00001877 bbit1  0x00000003 , 0x00002bde 
+ 00011195  0x00001878 bmark0  0x0000000d , 0x00002bde 
+ 00011196  0x00001879 call  0x00005274 
+ 00011197  0x0000187a nbranch  0x00002bde , 0x00000034 
+ 00011198  0x0000187b fetch  0x00000001 , 0x0000455c 
+ 00011199  0x0000187c bbit1  0x00000001 , 0x00002bde 
+ 00011200  0x0000187e jam  0x00000000 , 0x000000a0 
+ 00011201  0x0000187f bmark0  0x0000000d , 0x00002bde 
+ 00011202  0x00001880 fetch  0x00000001 , 0x00004174 
+ 00011203  0x00001881 branch  0x00002be2 , 0x00000034 
+ 00011204  0x00001882 increase  0xffffffff , 0x0000003f 
+ 00011205  0x00001883 store  0x00000001 , 0x00004174 
+ 00011206  0x00001884 rtn 
+ 00011207  0x00001888 arg  0x00000001 , 0x00000007 
+ 00011208  0x00001889 branch  0x000060cd 
+ 00011209  0x0000188c arg  0x00000001 , 0x00000007 
+ 00011210  0x0000188d branch  0x000060d1 
+ 00011211  0x00001892 jam  0x00000000 , 0x00004159 
+ 00011212  0x00001893 fetch  0x00000003 , 0x00004169 
+ 00011213  0x00001894 increase  0x00000001 , 0x0000003f 
+ 00011214  0x00001895 store  0x00000003 , 0x00004169 
+ 00011215  0x00001896 rtn 
+ 00011216  0x00001899 bpatch  0x000000ae , 0x00004015 
+ 00011217  0x0000189a fetcht  0x00000002 , 0x000040c1 
+ 00011218  0x0000189b rshift  0x00000002 , 0x00000002 
+ 00011219  0x0000189c fetch  0x00000002 , 0x0000003e 
+ 00011220  0x0000189d iadd  0x00000002 , 0x0000003f 
+ 00011221  0x0000189e store  0x00000002 , 0x0000003e 
+ 00011222  0x000018a0 jam  0x00000000 , 0x000000a0 
+ 00011223  0x000018a1 fetch  0x00000003 , 0x0000416c 
+ 00011224  0x000018a2 increase  0x00000001 , 0x0000003f 
+ 00011225  0x000018a3 store  0x00000003 , 0x0000416c 
+ 00011226  0x000018a4 fetch  0x00000001 , 0x00004159 
+ 00011227  0x000018a5 increase  0x00000001 , 0x0000003f 
+ 00011228  0x000018a6 store  0x00000001 , 0x00004159 
+ 00011229  0x000018a7 rtn 
+ 00011230  0x000018aa jam  0x00000000 , 0x000000a0 
+ 00011231  0x000018ab fetch  0x00000001 , 0x00004173 
+ 00011232  0x000018ac store  0x00000001 , 0x00004174 
+ 00011233  0x000018ad rtn 
+ 00011234  0x000018b0 fetcht  0x00000001 , 0x00004172 
+ 00011235  0x000018b1 storet  0x00000001 , 0x000000a0 
+ 00011236  0x000018b2 rtn 
+ 00011237  0x000018b5 bpatch  0x000000af , 0x00004015 
+ 00011238  0x000018b6 fetch  0x00000001 , 0x00004178 
+ 00011239  0x000018b7 nrtn  0x00000034 
+ 00011240  0x000018b8 jam  0x00000006 , 0x00008042 
+ 00011241  0x000018b9 setarg  0x00000f0c 
+ 00011242  0x000018ba call  0x00002c18 
+ 00011243  0x000018bb setarg  0x00030d40 
+ 00011244  0x000018bc call  0x00002a8f 
+ 00011245  0x000018bd until  0x0000003e , 0x00000033 
+ 00011246  0x000018be copy  0x00000031 , 0x00000030 
+ 00011247  0x000018bf call  0x000029e7 
+ 00011248  0x000018c0 jam  0x00000004 , 0x00008042 
+ 00011249  0x000018c1 nop  0x0000000a 
+ 00011250  0x000018c2 until  0x0000003e , 0x00000033 
+ 00011251  0x000018c3 deposit  0x00000031 
+ 00011252  0x000018c4 isub  0x00000030 , 0x0000003f 
+ 00011253  0x000018c5 increase  0x00000030 , 0x0000003f 
+ 00011254  0x000018c6 arg  0x000000ff , 0x00000002 
+ 00011255  0x000018c7 call  0x00007f91 
+ 00011256  0x000018c8 store  0x00000001 , 0x00004178 
+ 00011257  0x000018c9 nop  0x00007530 
+ 00011258  0x000018ca nop  0x00007530 
+ 00011259  0x000018cb nop  0x00007530 
+ 00011260  0x000018cc rtn 
+ 00011261  0x000018cf fetch  0x00000001 , 0x00004178 
+ 00011262  0x000018d0 nrtn  0x00000034 
+ 00011263  0x000018d1 jam  0x000000ff , 0x00008044 
+ 00011264  0x000018d2 jam  0x00000006 , 0x00008042 
+ 00011265  0x000018d3 call  0x000029e7 
+ 00011266  0x000018d4 setarg  0x000003e8 
+ 00011267  0x000018d5 iadd  0x00000031 , 0x00000030 
+ 00011268  0x000018d6 snooze 
+ 00011269  0x000018d7 deposit  0x00000031 
+ 00011270  0x000018d8 nop  0x00002ee0 
+ 00011271  0x000018d9 nop  0x00002ee0 
+ 00011272  0x000018da nop  0x00002ee0 
+ 00011273  0x000018db nop  0x00002ee0 
+ 00011274  0x000018dc nop  0x00002ee0 
+ 00011275  0x000018dd nop  0x00002ee0 
+ 00011276  0x000018de nop  0x00002ee0 
+ 00011277  0x000018df nop  0x00002ee0 
+ 00011278  0x000018e0 nop  0x00002ee0 
+ 00011279  0x000018e1 isub  0x00000030 , 0x0000003f 
+ 00011280  0x000018e2 add  0x0000003f , 0x00000030 , 0x0000003f 
+ 00011281  0x000018e3 arg  0x000000ff , 0x00000002 
+ 00011282  0x000018e4 call  0x00007f91 
+ 00011283  0x000018e5 store  0x00000001 , 0x00004178 
+ 00011284  0x000018e6 nop  0x00007530 
+ 00011285  0x000018e7 nop  0x00007530 
+ 00011286  0x000018e8 nop  0x00007530 
+ 00011287  0x000018e9 rtn 
+ 00011288  0x000018ef arg  0x00000fff , 0x00000005 
+ 00011289  0x000018f0 iand  0x00000005 , 0x00000005 
+ 00011290  0x000018f1 fetch  0x00000001 , 0x00004175 
+ 00011291  0x000018f2 and_into  0x000000f0 , 0x0000003f 
+ 00011292  0x000018f3 lshift8  0x0000003f , 0x0000003f 
+ 00011293  0x000018f4 ior  0x00000005 , 0x0000003f 
+ 00011294  0x000018f5 hstore  0x00000002 , 0x0000804c 
+ 00011295  0x000018f6 ifetch  0x00000002 , 0x00000006 
+ 00011296  0x000018f7 istore  0x00000002 , 0x00000005 
+ 00011297  0x000018fa setarg  0x00000001 
+ 00011298  0x000018fb branch  0x00002c24 
+ 00011299  0x000018fe setarg  0x00000002 
+ 00011300  0x00001900 until  0x0000003e , 0x00000033 
+ 00011301  0x00001901 hstore  0x00000001 , 0x00008005 
+ 00011302  0x00001902 until  0x0000003e , 0x00000033 
+ 00011303  0x00001903 until  0x0000003e , 0x00000033 
+ 00011304  0x00001904 rtn 
+ 00011305  0x00001908 bpatch  0x000000b0 , 0x00004016 
+ 00011306  0x00001909 fetch  0x00000004 , 0x000000a1 
+ 00011307  0x0000190a hstore  0x00000004 , 0x0000804c 
+ 00011308  0x0000190b setarg  0x00000004 
+ 00011309  0x0000190c call  0x00002c24 
+ 00011310  0x0000190d fetch  0x00000004 , 0x000000a5 
+ 00011311  0x0000190e hstore  0x00000004 , 0x0000804c 
+ 00011312  0x0000190f setarg  0x00000008 
+ 00011313  0x00001910 branch  0x00002c24 
+ 00011314  0x00001913 fetch  0x00000002 , 0x00004152 
+ 00011315  0x00001914 qset1  0x0000003f 
+ 00011316  0x00001915 store  0x00000002 , 0x00004152 
+ 00011317  0x00001916 rtn 
+ 00011318  0x00001919 fetch  0x00000002 , 0x00004152 
+ 00011319  0x0000191a qset0  0x0000003f 
+ 00011320  0x0000191b store  0x00000002 , 0x00004152 
+ 00011321  0x0000191c rtn 
+ 00011322  0x00001921 bpatch  0x000000b1 , 0x00004016 
+ 00011323  0x00001922 call  0x00003326 
+ 00011324  0x00001923 fetch  0x00000002 , 0x00004152 
+ 00011325  0x00001924 copy  0x0000003f , 0x00000011 
+ 00011326  0x00001925 fetch  0x00000001 , 0x0000004c 
+ 00011327  0x00001926 isolate1  0x00000006 , 0x0000003f 
+ 00011328  0x00001927 setflag  0x00000001 , 0x0000000b , 0x00000011 
+ 00011329  0x00001928 fetch  0x00000001 , 0x00000078 
+ 00011330  0x00001929 fetcht  0x00000001 , 0x0000007c 
+ 00011331  0x0000192a iadd  0x00000002 , 0x0000003f 
+ 00011332  0x0000192b fetcht  0x00000001 , 0x00000048 
+ 00011333  0x0000192c iadd  0x00000002 , 0x0000003f 
+ 00011334  0x0000192d nsetflag  0x00000034 , 0x0000000a , 0x00000011 
+ 00011335  0x0000192e fetch  0x00000001 , 0x000044ff 
+ 00011336  0x0000192f nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00011337  0x00001930 fetch  0x00000002 , 0x0000025d 
+ 00011338  0x00001931 fetcht  0x00000002 , 0x0000025f 
+ 00011339  0x00001932 iadd  0x00000002 , 0x0000003f 
+ 00011340  0x00001933 nsetflag  0x00000034 , 0x0000000d , 0x00000011 
+ 00011341  0x00001934 fetch  0x00000008 , 0x00004668 
+ 00011342  0x00001935 nsetflag  0x00000034 , 0x0000000f , 0x00000011 
+ 00011343  0x00001936 fetch  0x00000008 , 0x00004670 
+ 00011344  0x00001937 nsetflag  0x00000034 , 0x0000000e , 0x00000011 
+ 00011345  0x00001938 fetch  0x00000001 , 0x000041ce 
+ 00011346  0x00001939 nsetflag  0x00000034 , 0x00000008 , 0x00000011 
+ 00011347  0x0000193a fetch  0x00000001 , 0x00004092 
+ 00011348  0x0000193b compare  0x0000000a , 0x0000003f , 0x000000ff 
+ 00011349  0x0000193c call  0x00002c5b , 0x00000001 
+ 00011350  0x0000193d setarg  0xfffffff8 
+ 00011351  0x0000193e iand  0x00000011 , 0x00000011 
+ 00011352  0x0000193f copy  0x00000011 , 0x0000003f 
+ 00011353  0x00001940 store  0x00000002 , 0x00004152 
+ 00011354  0x00001941 rtn 
+ 00011355  0x00001944 hfetch  0x00000002 , 0x00008112 
+ 00011356  0x00001945 nsetflag  0x00000034 , 0x00000006 , 0x00000011 
+ 00011357  0x00001946 hfetch  0x00000002 , 0x0000810e 
+ 00011358  0x00001947 nsetflag  0x00000034 , 0x00000005 , 0x00000011 
+ 00011359  0x00001948 rtn 
+ 00011360  0x0000194b hfetch  0x00000004 , 0x00008138 
+ 00011361  0x0000194c set0  0x0000001b , 0x0000003f 
+ 00011362  0x0000194d hstore  0x00000004 , 0x0000804c 
+ 00011363  0x0000194e call  0x00002c21 
+ 00011364  0x0000194f branch  0x00002a8c 
+ 00011365  0x00001952 hfetch  0x00000004 , 0x0000813c 
+ 00011366  0x00001953 set0  0x00000014 , 0x0000003f 
+ 00011367  0x00001954 hstore  0x00000004 , 0x0000804c 
+ 00011368  0x00001955 branch  0x00002c23 
+ 00011369  0x00001958 fetch  0x00000002 , 0x00004150 
+ 00011370  0x00001959 bbit1  0x00000000 , 0x00002a8c 
+ 00011371  0x0000195a rtn 
+ 00011372  0x0000195c fetch  0x00000002 , 0x00004150 
+ 00011373  0x0000195d bbit1  0x00000001 , 0x00002a8c 
+ 00011374  0x0000195e rtn 
+ 00011375  0x00001960 fetch  0x00000002 , 0x00004150 
+ 00011376  0x00001961 bbit1  0x00000002 , 0x00002a8c 
+ 00011377  0x00001962 rtn 
+ 00011378  0x000019a0 bpatch  0x000000b2 , 0x00004016 
+ 00011379  0x000019a1 call  0x00002c7a 
+ 00011380  0x000019a2 add  0x00000013 , 0x000000cd , 0x00000012 
+ 00011381  0x000019a3 ifetch  0x00000001 , 0x00000012 
+ 00011382  0x000019a5 rtneq  0x00000000 
+ 00011383  0x000019a6 beq  0x00000001 , 0x00002d06 
+ 00011384  0x000019a7 beq  0x00000002 , 0x00002c7f 
+ 00011385  0x000019a8 rtn 
+ 00011386  0x000019ab fetcht  0x00000002 , 0x00004241 
+ 00011387  0x000019ac copy  0x00000002 , 0x00000013 
+ 00011388  0x000019ad rtn 
+ 00011389  0x000019b0 call  0x00002f3d 
+ 00011390  0x000019b1 branch  0x0000307d 
+ 00011391  0x000019b4 call  0x00003084 
+ 00011392  0x000019b5 call  0x0000305a 
+ 00011393  0x000019b6 call  0x0000305e 
+ 00011394  0x000019b7 branch  0x000030a2 
+ 00011395  0x000019bd call  0x00003231 
+ 00011396  0x000019be setarg  0x0000004e 
+ 00011397  0x000019bf call  0x0000322f 
+ 00011398  0x000019c0 call  0x000032ba 
+ 00011399  0x000019c3 add  0x00000013 , 0x00000092 , 0x00000011 
+ 00011400  0x000019c4 ifetch  0x00000004 , 0x00000011 
+ 00011401  0x000019c5 branch  0x0000322c 
+ 00011402  0x000019c8 call  0x00002c7a 
+ 00011403  0x000019c9 add  0x00000013 , 0x00000091 , 0x00000012 
+ 00011404  0x000019ca ifetcht  0x00000001 , 0x00000012 
+ 00011405  0x000019cc call  0x00002c90 
+ 00011406  0x000019cd add  0x00000013 , 0x00000091 , 0x00000005 
+ 00011407  0x000019cf branch  0x00002e56 
+ 00011408  0x000019d2 call  0x00002c94 
+ 00011409  0x000019d3 increase  0x00000001 , 0x00000002 
+ 00011410  0x000019d4 and_into  0x00000003 , 0x00000002 
+ 00011411  0x000019d5 rtn 
+ 00011412  0x000019d8 add  0x00000013 , 0x000000ae , 0x00000012 
+ 00011413  0x000019d9 ifetch  0x00000001 , 0x00000012 
+ 00011414  0x000019db and_into  0x00000003 , 0x0000003f 
+ 00011415  0x000019dc mul32  0x0000003f , 0x00000004 , 0x00000011 
+ 00011416  0x000019dd add  0x00000013 , 0x00000097 , 0x0000003f 
+ 00011417  0x000019df iadd  0x00000011 , 0x0000003f 
+ 00011418  0x000019e0 iadd  0x00000002 , 0x00000006 
+ 00011419  0x000019e1 ifetch  0x00000001 , 0x00000006 
+ 00011420  0x000019e3 branch  0x0000322f 
+ 00011421  0x000019e6 call  0x0000326c 
+ 00011422  0x000019e7 call  0x0000666a 
+ 00011423  0x000019e8 setarg  0x000007e2 
+ 00011424  0x000019e9 arg  0x00000aa2 , 0x00000011 
+ 00011425  0x000019ea arg  0x00000004 , 0x00000002 
+ 00011426  0x000019eb call  0x000066b3 
+ 00011427  0x000019ec call  0x0000666d 
+ 00011428  0x000019ed fetch  0x00000004 , 0x00000aa2 
+ 00011429  0x000019ee call  0x00003227 
+ 00011430  0x000019f0 nrtn  0x00000034 
+ 00011431  0x000019f1 fetch  0x00000004 , 0x000040a0 
+ 00011432  0x000019f3 branch  0x00003227 
+ 00011433  0x000019f6 call  0x00003241 
+ 00011434  0x000019f8 setarg  0x00000000 
+ 00011435  0x000019f9 call  0x0000323f 
+ 00011436  0x000019fc call  0x0000323a 
+ 00011437  0x000019fe and_into  0x00000007 , 0x0000003f 
+ 00011438  0x00001a00 branch  0x0000323c 
+ 00011439  0x00001a03 call  0x0000323a 
+ 00011440  0x00001a05 set1  0x00000004 , 0x0000003f 
+ 00011441  0x00001a06 call  0x0000323c 
+ 00011442  0x00001a09 branch  0x00003235 
+ 00011443  0x00001a0c call  0x0000325d 
+ 00011444  0x00001a0e beq  0x00000001 , 0x00002cb7 
+ 00011445  0x00001a0f beq  0x00000002 , 0x00002cbc 
+ 00011446  0x00001a10 rtn 
+ 00011447  0x00001a13 call  0x0000323e 
+ 00011448  0x00001a16 add  0x00000013 , 0x000000d1 , 0x00000005 
+ 00011449  0x00001a17 call  0x000032d6 
+ 00011450  0x00001a19 call  0x00003242 
+ 00011451  0x00001a1b branch  0x00002cac 
+ 00011452  0x00001a1e call  0x0000325a 
+ 00011453  0x00001a20 branch  0x00002cb8 
+ 00011454  0x00001a23 add  0x00000013 , 0x0000008c , 0x00000011 
+ 00011455  0x00001a24 ifetch  0x00000001 , 0x00000011 
+ 00011456  0x00001a26 increase  0x00000001 , 0x0000003f 
+ 00011457  0x00001a27 add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011458  0x00001a28 istore  0x00000001 , 0x00000005 
+ 00011459  0x00001a2a beq  0x00000020 , 0x00002dd2 
+ 00011460  0x00001a2b call  0x00003258 
+ 00011461  0x00001a2d beq  0x00000001 , 0x00002cca 
+ 00011462  0x00001a2e setarg  0x00000001 
+ 00011463  0x00001a2f call  0x0000325b 
+ 00011464  0x00001a32 call  0x00003258 
+ 00011465  0x00001a34 bne  0x00000001 , 0x00002cac 
+ 00011466  0x00001a36 add  0x00000013 , 0x000000d3 , 0x00000011 
+ 00011467  0x00001a37 ifetch  0x00000001 , 0x00000011 
+ 00011468  0x00001a39 increase  0x00000001 , 0x0000003f 
+ 00011469  0x00001a3a call  0x00002cd5 
+ 00011470  0x00001a3c beq  0x00000004 , 0x00002cd2 
+ 00011471  0x00001a3d call  0x00002c8a 
+ 00011472  0x00001a3e call  0x00002d04 
+ 00011473  0x00001a40 branch  0x00002d8f 
+ 00011474  0x00001a43 call  0x00002cd4 
+ 00011475  0x00001a45 branch  0x00002cac 
+ 00011476  0x00001a48 setarg  0x00000000 
+ 00011477  0x00001a4a add  0x00000013 , 0x000000d3 , 0x00000005 
+ 00011478  0x00001a4b branch  0x000032b4 
+ 00011479  0x00001a4e call  0x0000323e 
+ 00011480  0x00001a51 call  0x0000325a 
+ 00011481  0x00001a53 call  0x00003241 
+ 00011482  0x00001a55 branch  0x00002cac 
+ 00011483  0x00001a58 call  0x0000325d 
+ 00011484  0x00001a5a beq  0x00000003 , 0x00002cd8 
+ 00011485  0x00001a5b call  0x0000323a 
+ 00011486  0x00001a5d isolate0  0x00000004 , 0x0000003f 
+ 00011487  0x00001a5e branch  0x00002ca9 , 0x00000001 
+ 00011488  0x00001a5f call  0x0000325d 
+ 00011489  0x00001a61 beq  0x00000001 , 0x00002cd7 
+ 00011490  0x00001a62 beq  0x00000002 , 0x00002cd8 
+ 00011491  0x00001a63 rtn 
+ 00011492  0x00001a66 call  0x00003253 
+ 00011493  0x00001a68 rtnne  0x000000ff 
+ 00011494  0x00001a69 call  0x00002ce9 
+ 00011495  0x00001a6a ncall  0x00002cf4 , 0x0000002c 
+ 00011496  0x00001a6b rtn 
+ 00011497  0x00001a6e disable  0x0000002c 
+ 00011498  0x00001a6f add  0x00000013 , 0x000000ce , 0x00000011 
+ 00011499  0x00001a70 ifetch  0x00000001 , 0x00000011 
+ 00011500  0x00001a72 rtnne  0x00000001 
+ 00011501  0x00001a73 add  0x00000013 , 0x000000d0 , 0x00000011 
+ 00011502  0x00001a74 ifetch  0x00000001 , 0x00000011 
+ 00011503  0x00001a76 rtnne  0x00000000 
+ 00011504  0x00001a77 setarg  0x00000001 
+ 00011505  0x00001a78 call  0x00002cfd 
+ 00011506  0x00001a7a call  0x00003237 
+ 00011507  0x00001a7c branch  0x00007feb 
+ 00011508  0x00001a7f add  0x00000013 , 0x000000d0 , 0x00000011 
+ 00011509  0x00001a80 ifetch  0x00000001 , 0x00000011 
+ 00011510  0x00001a82 branch  0x00002cff , 0x00000034 
+ 00011511  0x00001a83 increase  0xffffffff , 0x0000003f 
+ 00011512  0x00001a84 call  0x0000323f 
+ 00011513  0x00001a86 setarg  0x00000002 
+ 00011514  0x00001a87 call  0x00002cfd 
+ 00011515  0x00001a89 call  0x00002c8a 
+ 00011516  0x00001a8b branch  0x00003237 
+ 00011517  0x00001a8e add  0x00000013 , 0x000000d2 , 0x00000005 
+ 00011518  0x00001a8f branch  0x000032b4 
+ 00011519  0x00001a93 setarg  0x00000003 
+ 00011520  0x00001a94 call  0x00002cfd 
+ 00011521  0x00001a96 call  0x00003258 
+ 00011522  0x00001a98 nbranch  0x00002cc8 , 0x00000034 
+ 00011523  0x00001a99 call  0x00002c8a 
+ 00011524  0x00001a9c setarg  0x00000002 
+ 00011525  0x00001a9d branch  0x00003238 
+ 00011526  0x00001aa0 rtnmark0  0x00000026 
+ 00011527  0x00001aa1 set1  0x00000027 , 0x00000000 
+ 00011528  0x00001aa2 bpatch  0x000000b3 , 0x00004016 
+ 00011529  0x00001aa3 add  0x00000013 , 0x0000008e , 0x00000011 
+ 00011530  0x00001aa4 ifetch  0x00000001 , 0x00000011 
+ 00011531  0x00001aa6 beq  0x00000001 , 0x00002d0f 
+ 00011532  0x00001aa7 call  0x0000306a 
+ 00011533  0x00001aa8 nbranch  0x00002d16 , 0x00000028 
+ 00011534  0x00001aa9 call  0x00002d1b 
+ 00011535  0x00001aab add  0x00000013 , 0x0000008e , 0x00000005 
+ 00011536  0x00001aac call  0x000032d6 
+ 00011537  0x00001aae call  0x00002d2c 
+ 00011538  0x00001aaf nbranch  0x00002d7d , 0x00000028 
+ 00011539  0x00001ab0 call  0x00002ce4 
+ 00011540  0x00001ab2 call  0x00002d8f 
+ 00011541  0x00001ab3 call  0x00002e7a 
+ 00011542  0x00001ab5 set0  0x00000027 , 0x00000000 
+ 00011543  0x00001ab6 rtn 
+ 00011544  0x00001ab9 rtn  0x00000005 
+ 00011545  0x00001aba set1  0x0000001c , 0x0000003f 
+ 00011546  0x00001abb rtn 
+ 00011547  0x00001abe add  0x00000013 , 0x000000c2 , 0x00000011 
+ 00011548  0x00001abf ifetch  0x00000001 , 0x00000011 
+ 00011549  0x00001ac1 increase  0x00000001 , 0x0000003f 
+ 00011550  0x00001ac2 add  0x00000013 , 0x000000c2 , 0x00000005 
+ 00011551  0x00001ac3 istore  0x00000001 , 0x00000005 
+ 00011552  0x00001ac5 beq  0x00000004 , 0x00002d23 
+ 00011553  0x00001ac6 beq  0x00000005 , 0x00002d27 
+ 00011554  0x00001ac7 rtn 
+ 00011555  0x00001ac9 add  0x00000013 , 0x000000ad , 0x00000011 
+ 00011556  0x00001aca ifetch  0x00000001 , 0x00000011 
+ 00011557  0x00001ace add  0x00000013 , 0x000000ab , 0x00000005 
+ 00011558  0x00001acf branch  0x000032b4 
+ 00011559  0x00001ad2 add  0x00000013 , 0x000000c2 , 0x00000005 
+ 00011560  0x00001ad3 call  0x000032d6 
+ 00011561  0x00001ad5 add  0x00000013 , 0x000000ac , 0x00000011 
+ 00011562  0x00001ad6 ifetch  0x00000001 , 0x00000011 
+ 00011563  0x00001ad8 branch  0x00002d25 
+ 00011564  0x00001adb call  0x00003253 
+ 00011565  0x00001add bne  0x000000ff , 0x00002eb1 
+ 00011566  0x00001ade bpatch  0x000000b4 , 0x00004016 
+ 00011567  0x00001adf call  0x00002d3a 
+ 00011568  0x00001ae0 nbranch  0x00002d36 , 0x00000028 
+ 00011569  0x00001ae1 call  0x00002d53 
+ 00011570  0x00001ae2 call  0x00002e71 
+ 00011571  0x00001ae5 setarg  0x00000001 
+ 00011572  0x00001ae7 add  0x00000013 , 0x0000008b , 0x00000005 
+ 00011573  0x00001ae8 branch  0x000032b4 
+ 00011574  0x00001aeb add  0x00000013 , 0x0000008b , 0x00000011 
+ 00011575  0x00001aec ifetch  0x00000001 , 0x00000011 
+ 00011576  0x00001aee beq  0x00000001 , 0x00007fe7 
+ 00011577  0x00001aef rtn 
+ 00011578  0x00001af3 add  0x00000013 , 0x000000d8 , 0x00000002 
+ 00011579  0x00001af4 ifetch  0x00000002 , 0x00000002 
+ 00011580  0x00001af6 call  0x00007f9c 
+ 00011581  0x00001af7 nrtn  0x00000028 
+ 00011582  0x00001af8 copy  0x00000011 , 0x0000003f 
+ 00011583  0x00001af9 store  0x00000001 , 0x00000aae 
+ 00011584  0x00001afa add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00011585  0x00001afb call  0x000032d6 
+ 00011586  0x00001afd call  0x00002cac 
+ 00011587  0x00001afe store  0x00000001 , 0x0000119e 
+ 00011588  0x00001aff fetch  0x00000001 , 0x00000aae 
+ 00011589  0x00001b00 copy  0x0000003f , 0x00000011 
+ 00011590  0x00001b01 add  0x00000011 , 0x00000001 , 0x00000002 
+ 00011591  0x00001b02 arg  0x0000119f , 0x00000005 
+ 00011592  0x00001b03 copy  0x00000011 , 0x00000039 
+ 00011593  0x00001b04 copy  0x00000012 , 0x00000006 
+ 00011594  0x00001b05 call  0x00007f01 
+ 00011595  0x00001b06 arg  0x0000119e , 0x00000011 
+ 00011596  0x00001b08 rtnmark0  0x00000027 
+ 00011597  0x00001b09 add  0x00000013 , 0x00000086 , 0x00000005 
+ 00011598  0x00001b0a istoret  0x00000001 , 0x00000005 
+ 00011599  0x00001b0c copy  0x00000002 , 0x00000039 
+ 00011600  0x00001b0d add  0x00000013 , 0x00000022 , 0x00000005 
+ 00011601  0x00001b0f copy  0x00000011 , 0x00000006 
+ 00011602  0x00001b10 branch  0x00007f01 
+ 00011603  0x00001b14 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011604  0x00001b15 ifetch  0x00000001 , 0x00000011 
+ 00011605  0x00001b17 increase  0x00000002 , 0x0000003f 
+ 00011606  0x00001b18 add  0x00000013 , 0x00000088 , 0x00000005 
+ 00011607  0x00001b19 istore  0x00000001 , 0x00000005 
+ 00011608  0x00001b1c call  0x0000323a 
+ 00011609  0x00001b1e call  0x00003235 
+ 00011610  0x00001b21 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011611  0x00001b22 ifetch  0x00000001 , 0x00000011 
+ 00011612  0x00001b24 lshift3  0x0000003f , 0x0000003f 
+ 00011613  0x00001b25 add  0x00000013 , 0x00000085 , 0x00000011 
+ 00011614  0x00001b26 ifetcht  0x00000001 , 0x00000011 
+ 00011615  0x00001b28 and  0x00000002 , 0x00000003 , 0x00000002 
+ 00011616  0x00001b29 lshift  0x00000002 , 0x00000002 
+ 00011617  0x00001b2a ior  0x00000002 , 0x0000003f 
+ 00011618  0x00001b2b add  0x00000013 , 0x000000c3 , 0x00000011 
+ 00011619  0x00001b2c ifetcht  0x00000001 , 0x00000011 
+ 00011620  0x00001b2e iadd  0x00000002 , 0x0000003f 
+ 00011621  0x00001b2f istore  0x00000001 , 0x00000005 
+ 00011622  0x00001b31 add  0x00000013 , 0x00000086 , 0x00000011 
+ 00011623  0x00001b32 ifetch  0x00000001 , 0x00000011 
+ 00011624  0x00001b34 iforce  0x00000039 
+ 00011625  0x00001b35 add  0x00000013 , 0x00000022 , 0x00000006 
+ 00011626  0x00001b37 branch  0x00007f01 
+ 00011627  0x00001b3a call  0x0000324f 
+ 00011628  0x00001b3c call  0x0000325a 
+ 00011629  0x00001b3e call  0x00002e6d 
+ 00011630  0x00001b3f call  0x00002cac 
+ 00011631  0x00001b40 store  0x00000001 , 0x0000119e 
+ 00011632  0x00001b41 call  0x00002d77 
+ 00011633  0x00001b42 call  0x0000323a 
+ 00011634  0x00001b44 set1  0x00000003 , 0x0000003f 
+ 00011635  0x00001b45 call  0x0000323c 
+ 00011636  0x00001b47 call  0x00002d53 
+ 00011637  0x00001b48 call  0x00002d33 
+ 00011638  0x00001b49 branch  0x00002d14 
+ 00011639  0x00001b4c store  0x00000001 , 0x0000119f 
+ 00011640  0x00001b4d call  0x00003224 
+ 00011641  0x00001b4f store  0x00000004 , 0x000011a0 
+ 00011642  0x00001b50 arg  0x00000006 , 0x00000002 
+ 00011643  0x00001b51 arg  0x0000119e , 0x00000011 
+ 00011644  0x00001b52 branch  0x00002d4c 
+ 00011645  0x00001b55 add  0x00000013 , 0x000000b2 , 0x00000011 
+ 00011646  0x00001b56 ifetch  0x00000001 , 0x00000011 
+ 00011647  0x00001b58 branch  0x00002d6b , 0x00000034 
+ 00011648  0x00001b5b add  0x00000013 , 0x000000da , 0x00000011 
+ 00011649  0x00001b5c ifetch  0x00000002 , 0x00000011 
+ 00011650  0x00001b5e branch  0x00007f9c 
+ 00011651  0x00001b61 call  0x00002c7a 
+ 00011652  0x00001b63 call  0x00002afa 
+ 00011653  0x00001b64 fetch  0x00000003 , 0x0000416f 
+ 00011654  0x00001b65 rtn  0x00000034 
+ 00011655  0x00001b66 add  0x00000013 , 0x000000dc , 0x00000002 
+ 00011656  0x00001b67 ifetch  0x00000002 , 0x00000002 
+ 00011657  0x00001b69 call  0x00007f9c 
+ 00011658  0x00001b6a add  0x00000013 , 0x000000b6 , 0x00000002 
+ 00011659  0x00001b6b ifetch  0x00000008 , 0x00000002 
+ 00011660  0x00001b6c call  0x00007f49 
+ 00011661  0x00001b6d storet  0x00000004 , 0x0000415b 
+ 00011662  0x00001b6e branch  0x00002b2a 
+ 00011663  0x00001b71 call  0x00002c7a 
+ 00011664  0x00001b72 add  0x00000013 , 0x0000008f , 0x00000005 
+ 00011665  0x00001b73 call  0x000032d6 
+ 00011666  0x00001b76 call  0x00002da4 
+ 00011667  0x00001b77 nbranch  0x00002dae , 0x00000018 
+ 00011668  0x00001b78 nbranch  0x00002dae , 0x0000002f 
+ 00011669  0x00001b79 call  0x00002dd6 
+ 00011670  0x00001b7a call  0x00002e75 
+ 00011671  0x00001b7c call  0x00002c7a 
+ 00011672  0x00001b7d add  0x00000013 , 0x00000085 , 0x00000011 
+ 00011673  0x00001b7e ifetch  0x00000001 , 0x00000011 
+ 00011674  0x00001b80 increase  0x00000001 , 0x0000003f 
+ 00011675  0x00001b81 call  0x00003232 
+ 00011676  0x00001b83 call  0x00003253 
+ 00011677  0x00001b85 bne  0x000000ff , 0x00002ed0 
+ 00011678  0x00001b86 call  0x00002cdb 
+ 00011679  0x00001b88 setarg  0x00000000 
+ 00011680  0x00001b89 add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011681  0x00001b8a istore  0x00000002 , 0x00000005 
+ 00011682  0x00001b8e setarg  0x00000000 
+ 00011683  0x00001b8f branch  0x00002d34 
+ 00011684  0x00001b93 disable  0x0000002f 
+ 00011685  0x00001b94 call  0x00002df7 
+ 00011686  0x00001b95 call  0x00002c7a 
+ 00011687  0x00001b96 add  0x00000013 , 0x000000c3 , 0x00000011 
+ 00011688  0x00001b97 ifetch  0x00000001 , 0x00000011 
+ 00011689  0x00001b99 beq  0x00000001 , 0x00002dac 
+ 00011690  0x00001b9a call  0x00002e11 
+ 00011691  0x00001b9b branch  0x00002e45 
+ 00011692  0x00001b9d call  0x00002e45 
+ 00011693  0x00001b9e branch  0x00002d97 
+ 00011694  0x00001ba2 bpatch  0x000000b5 , 0x00004016 
+ 00011695  0x00001ba3 add  0x00000013 , 0x0000008d , 0x00000011 
+ 00011696  0x00001ba4 ifetch  0x00000001 , 0x00000011 
+ 00011697  0x00001ba6 increase  0x00000001 , 0x0000003f 
+ 00011698  0x00001ba7 add  0x00000013 , 0x0000008d , 0x00000005 
+ 00011699  0x00001ba8 istore  0x00000001 , 0x00000005 
+ 00011700  0x00001baa call  0x00003253 
+ 00011701  0x00001bac bne  0x000000ff , 0x00002dcc 
+ 00011702  0x00001bad add  0x00000013 , 0x0000008f , 0x00000011 
+ 00011703  0x00001bae ifetcht  0x00000001 , 0x00000011 
+ 00011704  0x00001bb0 increase  0x00000001 , 0x00000002 
+ 00011705  0x00001bb1 add  0x00000013 , 0x0000008f , 0x00000005 
+ 00011706  0x00001bb2 istoret  0x00000001 , 0x00000005 
+ 00011707  0x00001bb4 add  0x00000013 , 0x000000cc , 0x00000011 
+ 00011708  0x00001bb5 ifetch  0x00000001 , 0x00000011 
+ 00011709  0x00001bb7 isub  0x00000002 , 0x0000003f 
+ 00011710  0x00001bb8 nbranch  0x00002d92 , 0x00000034 
+ 00011711  0x00001bb9 bpatch  0x000000b6 , 0x00004016 
+ 00011712  0x00001bba call  0x0000325d 
+ 00011713  0x00001bbc beq  0x00000003 , 0x00002cbe 
+ 00011714  0x00001bbd add  0x00000013 , 0x000000d1 , 0x00000011 
+ 00011715  0x00001bbe ifetch  0x00000001 , 0x00000011 
+ 00011716  0x00001bc0 increase  0x00000001 , 0x0000003f 
+ 00011717  0x00001bc1 add  0x00000013 , 0x000000d1 , 0x00000005 
+ 00011718  0x00001bc2 istore  0x00000001 , 0x00000005 
+ 00011719  0x00001bc4 beq  0x00000002 , 0x00002cb3 
+ 00011720  0x00001bc5 call  0x00002caf 
+ 00011721  0x00001bc6 setarg  0x00000001 
+ 00011722  0x00001bc7 call  0x00003238 
+ 00011723  0x00001bc9 branch  0x00002d8f 
+ 00011724  0x00001bcc add  0x00000013 , 0x0000008d , 0x00000011 
+ 00011725  0x00001bcd ifetch  0x00000001 , 0x00000011 
+ 00011726  0x00001bcf rtnne  0x000000ff 
+ 00011727  0x00001bd0 add  0x00000013 , 0x0000008d , 0x00000005 
+ 00011728  0x00001bd1 call  0x000032d6 
+ 00011729  0x00001bd3 branch  0x00002dd4 
+ 00011730  0x00001bd6 add  0x00000013 , 0x0000008c , 0x00000005 
+ 00011731  0x00001bd7 call  0x000032d6 
+ 00011732  0x00001bda jam  0x0000003a , 0x00000a99 
+ 00011733  0x00001bdb branch  0x00007d86 
+ 00011734  0x00001bde call  0x00002dde 
+ 00011735  0x00001bdf add  0x00000013 , 0x00000084 , 0x00000011 
+ 00011736  0x00001be0 ifetch  0x00000001 , 0x00000011 
+ 00011737  0x00001be2 rtn  0x00000034 
+ 00011738  0x00001be3 iforce  0x00000039 
+ 00011739  0x00001be4 add  0x00000013 , 0x00000002 , 0x00000006 
+ 00011740  0x00001be6 add  0x00000013 , 0x00000064 , 0x00000005 
+ 00011741  0x00001be8 branch  0x00007f01 
+ 00011742  0x00001bed call  0x0000325f 
+ 00011743  0x00001bef rshift3  0x0000003f , 0x0000003f 
+ 00011744  0x00001bf0 add  0x00000013 , 0x00000084 , 0x00000005 
+ 00011745  0x00001bf1 istore  0x00000001 , 0x00000005 
+ 00011746  0x00001bf4 increase  0x00000001 , 0x0000003f 
+ 00011747  0x00001bf5 add  0x00000013 , 0x00000001 , 0x00000006 
+ 00011748  0x00001bf7 iadd  0x00000006 , 0x00000006 
+ 00011749  0x00001bf8 ifetch  0x00000003 , 0x00000006 
+ 00011750  0x00001bf9 add  0x00000013 , 0x000000c4 , 0x00000005 
+ 00011751  0x00001bfa istore  0x00000003 , 0x00000005 
+ 00011752  0x00001bfd call  0x0000325f 
+ 00011753  0x00001bff rshift  0x0000003f , 0x0000003f 
+ 00011754  0x00001c00 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00011755  0x00001c01 add  0x00000013 , 0x000000ca , 0x00000005 
+ 00011756  0x00001c02 istore  0x00000001 , 0x00000005 
+ 00011757  0x00001c04 rtn 
+ 00011758  0x00001c07 disable  0x00000009 
+ 00011759  0x00001c08 disable  0x00000007 
+ 00011760  0x00001c09 setarg  0x00555555 
+ 00011761  0x00001c0a iforce  0x0000000f 
+ 00011762  0x00001c0b rtn 
+ 00011763  0x00001c0e call  0x00002918 
+ 00011764  0x00001c0f add  0x00000013 , 0x00000090 , 0x00000011 
+ 00011765  0x00001c10 ifetcht  0x00000001 , 0x00000011 
+ 00011766  0x00001c12 branch  0x00002933 
+ 00011767  0x00001c15 call  0x00002dee 
+ 00011768  0x00001c16 call  0x00002df3 
+ 00011769  0x00001c17 set1  0x00000000 , 0x00000015 
+ 00011770  0x00001c18 enable  0x0000001d 
+ 00011771  0x00001c19 enable  0x00000020 
+ 00011772  0x00001c1a disable  0x00000021 
+ 00011773  0x00001c1b call  0x000053c4 
+ 00011774  0x00001c1c call  0x0000322a 
+ 00011775  0x00001c1e iforce  0x00000009 
+ 00011776  0x00001c1f inject  0x00000003 , 0x00000020 
+ 00011777  0x00001c20 enable  0x00000009 
+ 00011778  0x00001c21 add  0x00000013 , 0x00000088 , 0x00000011 
+ 00011779  0x00001c22 ifetch  0x00000001 , 0x00000011 
+ 00011780  0x00001c24 iforce  0x00000039 
+ 00011781  0x00001c25 add  0x00000013 , 0x00000042 , 0x00000006 
+ 00011782  0x00001c28 ifetch  0x00000001 , 0x00000006 
+ 00011783  0x00001c29 inject  0x00000003 , 0x00000008 
+ 00011784  0x00001c2a loop  0x00002e06 
+ 00011785  0x00001c2b enable  0x00000008 
+ 00011786  0x00001c2c inject  0x00000003 , 0x00000018 
+ 00011787  0x00001c2d disable  0x00000008 
+ 00011788  0x00001c2e until  0x0000003e , 0x00000027 
+ 00011789  0x00001c2f bpatch  0x000000b7 , 0x00004016 
+ 00011790  0x00001c30 nop  0x00000064 
+ 00011791  0x00001c31 disable  0x0000001d 
+ 00011792  0x00001c32 rtn 
+ 00011793  0x00001c35 disable  0x0000002f 
+ 00011794  0x00001c36 force  0x00000000 , 0x00000015 
+ 00011795  0x00001c37 add  0x00000013 , 0x00000090 , 0x00000011 
+ 00011796  0x00001c38 ifetcht  0x00000001 , 0x00000011 
+ 00011797  0x00001c3a call  0x0000291f 
+ 00011798  0x00001c3b call  0x00002924 
+ 00011799  0x00001c3d call  0x00002dee 
+ 00011800  0x00001c3e enable  0x0000000d 
+ 00011801  0x00001c3f enable  0x00000021 
+ 00011802  0x00001c40 disable  0x00000020 
+ 00011803  0x00001c41 call  0x000053c4 
+ 00011804  0x00001c42 call  0x0000322a 
+ 00011805  0x00001c44 iforce  0x00000009 
+ 00011806  0x00001c45 enable  0x00000010 
+ 00011807  0x00001c46 add  0x00000013 , 0x00000089 , 0x00000011 
+ 00011808  0x00001c47 ifetch  0x00000002 , 0x00000011 
+ 00011809  0x00001c49 iforce  0x0000001b 
+ 00011810  0x00001c4a correlate  0x0000003e , 0x00000003 
+ 00011811  0x00001c4b nbranch  0x00002e4d , 0x00000018 
+ 00011812  0x00001c4c enable  0x00000009 
+ 00011813  0x00001c4d parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011814  0x00001c4e rshift3  0x0000000c , 0x0000003f 
+ 00011815  0x00001c4f add  0x00000013 , 0x00000000 , 0x00000005 
+ 00011816  0x00001c50 istore  0x00000001 , 0x00000005 
+ 00011817  0x00001c52 add  0x00000013 , 0x000000cd , 0x00000011 
+ 00011818  0x00001c53 ifetch  0x00000001 , 0x00000011 
+ 00011819  0x00001c55 beq  0x00000002 , 0x00002e33 
+ 00011820  0x00001c56 bpatch  0x000000b8 , 0x00004017 
+ 00011821  0x00001c57 add  0x00000013 , 0x00000000 , 0x00000011 
+ 00011822  0x00001c58 ifetch  0x00000001 , 0x00000011 
+ 00011823  0x00001c5a add  0x00000013 , 0x00000087 , 0x00000011 
+ 00011824  0x00001c5b ifetcht  0x00000001 , 0x00000011 
+ 00011825  0x00001c5d icompare  0x00000007 , 0x00000002 
+ 00011826  0x00001c5e nbranch  0x00002e45 , 0x00000001 
+ 00011827  0x00001c60 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011828  0x00001c61 rshift3  0x0000000c , 0x0000003f 
+ 00011829  0x00001c62 istore  0x00000001 , 0x00000005 
+ 00011830  0x00001c63 rshift3  0x0000003f , 0x0000003f 
+ 00011831  0x00001c64 and  0x0000003f , 0x0000001f , 0x00000039 
+ 00011832  0x00001c65 branch  0x00002e3d , 0x00000005 
+ 00011833  0x00001c67 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00011834  0x00001c68 rshift3  0x0000000c , 0x0000003f 
+ 00011835  0x00001c69 istore  0x00000001 , 0x00000005 
+ 00011836  0x00001c6a loop  0x00002e39 
+ 00011837  0x00001c6c parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00011838  0x00001c6d rshift32  0x0000003f , 0x0000003f 
+ 00011839  0x00001c6e rshift16  0x0000003f , 0x0000003f 
+ 00011840  0x00001c6f istore  0x00000003 , 0x00000005 
+ 00011841  0x00001c70 branch  0x00002e45 , 0x00000006 
+ 00011842  0x00001c71 enable  0x0000002f 
+ 00011843  0x00001c72 disable  0x0000000d 
+ 00011844  0x00001c73 rtn 
+ 00011845  0x00001c77 disable  0x0000001d 
+ 00011846  0x00001c78 disable  0x0000000d 
+ 00011847  0x00001c79 disable  0x00000009 
+ 00011848  0x00001c7a disable  0x00000007 
+ 00011849  0x00001c7b branch  0x000028f9 , 0x00000021 
+ 00011850  0x00001c7c until  0x0000003e , 0x00000027 
+ 00011851  0x00001c7d nop  0x00000064 
+ 00011852  0x00001c7e branch  0x000028f9 
+ 00011853  0x00001c81 call  0x00002e4f 
+ 00011854  0x00001c82 branch  0x00002e45 
+ 00011855  0x00001c85 call  0x000029bb 
+ 00011856  0x00001c86 rtn  0x00000034 
+ 00011857  0x00001c87 add  0x00000013 , 0x000000ea , 0x00000011 
+ 00011858  0x00001c88 ifetcht  0x00000001 , 0x00000011 
+ 00011859  0x00001c8a arg  0x00000d9e , 0x00000011 
+ 00011860  0x00001c8c call  0x00002e58 
+ 00011861  0x00001c8d add  0x00000013 , 0x000000ea , 0x00000005 
+ 00011862  0x00001c90 istoret  0x00000001 , 0x00000005 
+ 00011863  0x00001c91 rtn 
+ 00011864  0x00001c94 arg  0x000000ff , 0x00000012 
+ 00011865  0x00001c95 branch  0x00002e5a 
+ 00011866  0x00001ca8 copy  0x00000011 , 0x0000003f 
+ 00011867  0x00001ca9 iadd  0x00000002 , 0x00000005 
+ 00011868  0x00001caa fetch  0x00000001 , 0x00000018 
+ 00011869  0x00001cab istore  0x00000001 , 0x00000005 
+ 00011870  0x00001cac increase  0x00000001 , 0x00000002 
+ 00011871  0x00001cad copy  0x00000012 , 0x0000003f 
+ 00011872  0x00001cae iand_into  0x00000002 
+ 00011873  0x00001caf rtn 
+ 00011874  0x00001cb2 arg  0x00000000 , 0x00000002 
+ 00011875  0x00001cb3 copy  0x00000011 , 0x00000006 
+ 00011876  0x00001cb5 ifetch  0x00000001 , 0x00000006 
+ 00011877  0x00001cb6 iadd  0x00000002 , 0x00000002 
+ 00011878  0x00001cb7 loop  0x00002e64 
+ 00011879  0x00001cb8 rshift8  0x00000002 , 0x00000002 
+ 00011880  0x00001cb9 rtn 
+ 00011881  0x00001cbc call  0x00002c7a 
+ 00011882  0x00001cbd call  0x00002e9f 
+ 00011883  0x00001cbe setarg  0x00000001 
+ 00011884  0x00001cbf call  0x00003272 
+ 00011885  0x00001cc2 setarg  0x00000000 
+ 00011886  0x00001cc3 call  0x00002e73 
+ 00011887  0x00001cc5 istore  0x00000001 , 0x00000005 
+ 00011888  0x00001cc7 rtn 
+ 00011889  0x00001cca call  0x00003270 
+ 00011890  0x00001ccc increase  0x00000001 , 0x0000003f 
+ 00011891  0x00001ccf add  0x00000013 , 0x000000fc , 0x00000005 
+ 00011892  0x00001cd0 branch  0x000032b4 
+ 00011893  0x00001cd5 add  0x00000013 , 0x000000fd , 0x00000011 
+ 00011894  0x00001cd6 ifetch  0x00000001 , 0x00000011 
+ 00011895  0x00001cd7 increase  0x00000001 , 0x0000003f 
+ 00011896  0x00001cd8 add  0x00000013 , 0x000000fd , 0x00000005 
+ 00011897  0x00001cd9 branch  0x000032b4 
+ 00011898  0x00001cdc bpatch  0x000000b9 , 0x00004017 
+ 00011899  0x00001cdd call  0x00003270 
+ 00011900  0x00001cdf sub  0x0000003f , 0x0000007c , 0x0000003e 
+ 00011901  0x00001ce0 rtn  0x00000002 
+ 00011902  0x00001ce1 add  0x00000013 , 0x000000fd , 0x00000011 
+ 00011903  0x00001ce2 ifetcht  0x00000001 , 0x00000011 
+ 00011904  0x00001ce4 isub  0x00000002 , 0x00000002 
+ 00011905  0x00001ce5 call  0x00002e6d 
+ 00011906  0x00001ce6 setarg  0x00000102 
+ 00011907  0x00001ce7 iadd  0x00000013 , 0x00000011 
+ 00011908  0x00001ce8 ifetch  0x00000001 , 0x00000011 
+ 00011909  0x00001cea isub  0x00000002 , 0x0000003e 
+ 00011910  0x00001ceb nbranch  0x00002e8d , 0x00000002 
+ 00011911  0x00001cec setarg  0x00000103 
+ 00011912  0x00001ced iadd  0x00000013 , 0x00000011 
+ 00011913  0x00001cee ifetch  0x00000001 , 0x00000011 
+ 00011914  0x00001cf0 isub  0x00000002 , 0x0000003e 
+ 00011915  0x00001cf1 branch  0x00002e99 , 0x00000002 
+ 00011916  0x00001cf2 rtn 
+ 00011917  0x00001cf5 add  0x00000013 , 0x000000fe , 0x00000011 
+ 00011918  0x00001cf6 ifetch  0x00000001 , 0x00000011 
+ 00011919  0x00001cf8 beq  0x00000002 , 0x00002e93 
+ 00011920  0x00001cf9 increase  0x00000001 , 0x0000003f 
+ 00011921  0x00001cfa call  0x00003272 
+ 00011922  0x00001cfc beq  0x00000001 , 0x00002e9f 
+ 00011923  0x00001cfe setarg  0x0000000a 
+ 00011924  0x00001cff call  0x000032b0 
+ 00011925  0x00001d01 setarg  0x00000000 
+ 00011926  0x00001d02 call  0x000032b2 
+ 00011927  0x00001d05 add  0x00000013 , 0x000000ff , 0x00000011 
+ 00011928  0x00001d07 branch  0x00002ea5 
+ 00011929  0x00001d0a add  0x00000013 , 0x000000fe , 0x00000011 
+ 00011930  0x00001d0b ifetch  0x00000001 , 0x00000011 
+ 00011931  0x00001d0d beq  0x00000000 , 0x00002ea7 
+ 00011932  0x00001d0e increase  0xffffffff , 0x0000003f 
+ 00011933  0x00001d0f call  0x00003272 
+ 00011934  0x00001d11 beq  0x00000000 , 0x00002ea7 
+ 00011935  0x00001d16 setarg  0x00000005 
+ 00011936  0x00001d17 call  0x000032b0 
+ 00011937  0x00001d19 setarg  0x00000000 
+ 00011938  0x00001d1a call  0x000032b2 
+ 00011939  0x00001d1d setarg  0x00000100 
+ 00011940  0x00001d1f iadd  0x00000013 , 0x00000011 
+ 00011941  0x00001d21 ifetch  0x00000001 , 0x00000011 
+ 00011942  0x00001d23 branch  0x0000326a 
+ 00011943  0x00001d28 setarg  0x00000002 
+ 00011944  0x00001d29 call  0x000032b0 
+ 00011945  0x00001d2b setarg  0x00000000 
+ 00011946  0x00001d2c call  0x000032b2 
+ 00011947  0x00001d2f setarg  0x00000101 
+ 00011948  0x00001d31 branch  0x00002ea4 
+ 00011949  0x00001d40 set1  0x00000026 , 0x00000000 
+ 00011950  0x00001d41 call  0x00002c83 
+ 00011951  0x00001d44 setarg  0x00000001 
+ 00011952  0x00001d45 branch  0x00003256 
+ 00011953  0x00001d48 add  0x00000013 , 0x0000008b , 0x00000011 
+ 00011954  0x00001d49 ifetch  0x00000001 , 0x00000011 
+ 00011955  0x00001d4b beq  0x00000001 , 0x00007fe7 
+ 00011956  0x00001d4c call  0x00003253 
+ 00011957  0x00001d4e beq  0x00000001 , 0x00002eb9 
+ 00011958  0x00001d4f beq  0x00000002 , 0x00002ebd 
+ 00011959  0x00001d50 beq  0x00000003 , 0x00002ec1 
+ 00011960  0x00001d51 branch  0x00002a8c 
+ 00011961  0x00001d54 setarg  0x00000011 
+ 00011962  0x00001d55 call  0x00003256 
+ 00011963  0x00001d57 jam  0x000000aa , 0x0000119e 
+ 00011964  0x00001d58 branch  0x00002ec4 
+ 00011965  0x00001d5a setarg  0x00000012 
+ 00011966  0x00001d5b call  0x00003256 
+ 00011967  0x00001d5d jam  0x00000055 , 0x0000119e 
+ 00011968  0x00001d5e branch  0x00002ec4 
+ 00011969  0x00001d60 setarg  0x00000013 
+ 00011970  0x00001d61 call  0x00003256 
+ 00011971  0x00001d63 jam  0x00000022 , 0x0000119e 
+ 00011972  0x00001d65 call  0x0000323a 
+ 00011973  0x00001d67 and_into  0x00000007 , 0x0000003f 
+ 00011974  0x00001d68 store  0x00000001 , 0x0000119f 
+ 00011975  0x00001d69 call  0x00003224 
+ 00011976  0x00001d6b store  0x00000004 , 0x000011a0 
+ 00011977  0x00001d6d jam  0x00000000 , 0x000011a4 
+ 00011978  0x00001d6e arg  0x0000119e , 0x00000011 
+ 00011979  0x00001d6f arg  0x00000007 , 0x00000002 
+ 00011980  0x00001d70 call  0x00002d4c 
+ 00011981  0x00001d71 call  0x00002d53 
+ 00011982  0x00001d72 call  0x00002d33 
+ 00011983  0x00001d73 branch  0x00007fe7 
+ 00011984  0x00001d76 call  0x00003253 
+ 00011985  0x00001d78 rtneq  0x000000ff 
+ 00011986  0x00001d79 beq  0x00000011 , 0x00002ed6 
+ 00011987  0x00001d7a beq  0x00000012 , 0x00002ed9 
+ 00011988  0x00001d7b beq  0x00000013 , 0x00002edc 
+ 00011989  0x00001d7c rtn 
+ 00011990  0x00001d7f setarg  0x00000002 
+ 00011991  0x00001d80 call  0x00003256 
+ 00011992  0x00001d82 branch  0x00002d9f 
+ 00011993  0x00001d84 setarg  0x00000003 
+ 00011994  0x00001d85 call  0x00003256 
+ 00011995  0x00001d87 branch  0x00002d9f 
+ 00011996  0x00001d89 setarg  0x000000ff 
+ 00011997  0x00001d8a call  0x00003256 
+ 00011998  0x00001d8c jam  0x00000039 , 0x00000a99 
+ 00011999  0x00001d8d call  0x00007d86 
+ 00012000  0x00001d8e add  0x00000013 , 0x00000066 , 0x00000011 
+ 00012001  0x00001d8f ifetch  0x00000004 , 0x00000011 
+ 00012002  0x00001d91 call  0x0000322c 
+ 00012003  0x00001d93 branch  0x00002d9f 
+ 00012004  0x00001d96 set0  0x00000026 , 0x00000000 
+ 00012005  0x00001d97 call  0x00002f08 
+ 00012006  0x00001d98 call  0x00002f22 
+ 00012007  0x00001d9a call  0x00003263 
+ 00012008  0x00001d9c nop  0x000007d0 
+ 00012009  0x00001d9d call  0x00003261 
+ 00012010  0x00001d9e beq  0x000000ff , 0x00002dd4 
+ 00012011  0x00001d9f call  0x00002da4 
+ 00012012  0x00001da0 nbranch  0x00002efa , 0x00000018 
+ 00012013  0x00001da1 nbranch  0x00002efa , 0x0000002f 
+ 00012014  0x00001da2 call  0x00002dd6 
+ 00012015  0x00001da3 call  0x00002c7a 
+ 00012016  0x00001da4 add  0x00000013 , 0x00000092 , 0x00000011 
+ 00012017  0x00001da5 ifetcht  0x00000004 , 0x00000011 
+ 00012018  0x00001da6 call  0x000030be 
+ 00012019  0x00001da7 branch  0x00002ead , 0x00000005 
+ 00012020  0x00001da8 call  0x00002c7a 
+ 00012021  0x00001da9 add  0x00000013 , 0x00000066 , 0x00000011 
+ 00012022  0x00001daa ifetch  0x00000004 , 0x00000011 
+ 00012023  0x00001dab beq  0x00000000 , 0x00002ee7 
+ 00012024  0x00001dac call  0x0000322c 
+ 00012025  0x00001dad branch  0x00002f1c 
+ 00012026  0x00001db0 call  0x00003261 
+ 00012027  0x00001db1 increase  0x00000001 , 0x0000003f 
+ 00012028  0x00001db2 call  0x00003264 
+ 00012029  0x00001db4 call  0x00002f04 
+ 00012030  0x00001db5 increase  0x00000001 , 0x0000003f 
+ 00012031  0x00001db6 and_into  0x00000001 , 0x0000003f 
+ 00012032  0x00001db7 call  0x00002f06 
+ 00012033  0x00001db8 beq  0x00000000 , 0x00002f0c 
+ 00012034  0x00001db9 beq  0x00000001 , 0x00002f0e 
+ 00012035  0x00001dba rtn 
+ 00012036  0x00001dbd setarg  0x0000018b 
+ 00012037  0x00001dbe branch  0x000032d0 
+ 00012038  0x00001dc0 arg  0x0000018b , 0x00000011 
+ 00012039  0x00001dc1 branch  0x000032b3 
+ 00012040  0x00001dc4 call  0x00003267 
+ 00012041  0x00001dc5 call  0x00003224 
+ 00012042  0x00001dc6 call  0x0000322c 
+ 00012043  0x00001dc7 branch  0x00002c8a 
+ 00012044  0x00001dca call  0x00002f08 
+ 00012045  0x00001dcb branch  0x00002ee8 
+ 00012046  0x00001dce call  0x00002c83 
+ 00012047  0x00001dcf branch  0x00002ee8 
+ 00012048  0x00001dd3 set0  0x00000026 , 0x00000000 
+ 00012049  0x00001dd4 call  0x00002c8a 
+ 00012050  0x00001dd5 call  0x00003253 
+ 00012051  0x00001dd7 rtnne  0x000000ff 
+ 00012052  0x00001dd8 call  0x00002f22 
+ 00012053  0x00001dd9 call  0x00003263 
+ 00012054  0x00001ddc nop  0x000007d0 
+ 00012055  0x00001ddd call  0x00003261 
+ 00012056  0x00001ddf beq  0x000000ff , 0x00002dd4 
+ 00012057  0x00001de0 call  0x00002da4 
+ 00012058  0x00001de1 nbranch  0x00002f27 , 0x00000018 
+ 00012059  0x00001de2 nbranch  0x00002f27 , 0x0000002f 
+ 00012060  0x00001de4 set1  0x00000026 , 0x00000000 
+ 00012061  0x00001de5 call  0x00003263 
+ 00012062  0x00001de6 setarg  0x000000ff 
+ 00012063  0x00001de7 call  0x00003256 
+ 00012064  0x00001de9 jam  0x0000003c , 0x00000a99 
+ 00012065  0x00001dea branch  0x00007d86 
+ 00012066  0x00001ded set1  0x00000027 , 0x00000000 
+ 00012067  0x00001dee jam  0x000000ff , 0x0000119e 
+ 00012068  0x00001def call  0x0000323a 
+ 00012069  0x00001df1 call  0x00002d77 
+ 00012070  0x00001df2 branch  0x00002d53 
+ 00012071  0x00001df5 call  0x00003261 
+ 00012072  0x00001df7 increase  0x00000001 , 0x0000003f 
+ 00012073  0x00001df8 call  0x00003264 
+ 00012074  0x00001dfa call  0x00002c8a 
+ 00012075  0x00001dfb branch  0x00002f16 
+ 00012076  0x00001dfe call  0x00003267 
+ 00012077  0x00001e01 setarg  0x000000ff 
+ 00012078  0x00001e02 call  0x00003256 
+ 00012079  0x00001e04 branch  0x00002f10 
+ 00012080  0x00001e0e bpatch  0x000000ba , 0x00004017 
+ 00012081  0x00001e0f call  0x00002c7a 
+ 00012082  0x00001e10 setarg  0x000031b0 
+ 00012083  0x00001e11 add  0x00000013 , 0x000000de , 0x00000005 
+ 00012084  0x00001e12 istore  0x00000002 , 0x00000005 
+ 00012085  0x00001e14 call  0x00002f3d 
+ 00012086  0x00001e15 call  0x000048ea 
+ 00012087  0x00001e16 call  0x000032b6 
+ 00012088  0x00001e18 bpatch  0x000000bb , 0x00004017 
+ 00012089  0x00001e19 beq  0x00000000 , 0x00003055 
+ 00012090  0x00001e1a beq  0x00000001 , 0x00002f45 
+ 00012091  0x00001e1b beq  0x0000000f , 0x00002f41 
+ 00012092  0x00001e1c branch  0x00002a8c 
+ 00012093  0x00001e1f call  0x0000326c 
+ 00012094  0x00001e20 arg  0x00000080 , 0x00000039 
+ 00012095  0x00001e21 arg  0x00000d9e , 0x00000005 
+ 00012096  0x00001e22 branch  0x00007ec6 
+ 00012097  0x00001e25 call  0x00002f4c 
+ 00012098  0x00001e27 call  0x00002f4f 
+ 00012099  0x00001e28 call  0x000048d3 
+ 00012100  0x00001e29 branch  0x00002f42 
+ 00012101  0x00001e2c bpatch  0x000000bc , 0x00004017 
+ 00012102  0x00001e2d call  0x00002f4c 
+ 00012103  0x00001e2f call  0x00002f4f 
+ 00012104  0x00001e30 call  0x00002fbd 
+ 00012105  0x00001e31 call  0x000048d3 
+ 00012106  0x00001e32 call  0x00003019 
+ 00012107  0x00001e33 branch  0x00002f47 
+ 00012108  0x00001e39 call  0x00003291 
+ 00012109  0x00001e3a call  0x00003296 
+ 00012110  0x00001e3b branch  0x00003299 
+ 00012111  0x00001e3e call  0x0000328f 
+ 00012112  0x00001e40 rtnne  0x00000000 
+ 00012113  0x00001e42 call  0x00002f55 
+ 00012114  0x00001e43 call  0x00002f65 
+ 00012115  0x00001e44 call  0x0000316b 
+ 00012116  0x00001e45 branch  0x00002f96 
+ 00012117  0x00001e48 call  0x00003294 
+ 00012118  0x00001e4a rtnbit1  0x00000000 
+ 00012119  0x00001e4b set1  0x00000000 , 0x0000003f 
+ 00012120  0x00001e4c call  0x00003297 
+ 00012121  0x00001e4e call  0x00003267 
+ 00012122  0x00001e51 call  0x00003299 
+ 00012123  0x00001e53 jam  0x00000000 , 0x00000d38 
+ 00012124  0x00001e54 call  0x0000324f 
+ 00012125  0x00001e56 call  0x00002f61 
+ 00012126  0x00001e58 add  0x00000013 , 0x00000000 , 0x00000005 
+ 00012127  0x00001e5a arg  0x00000042 , 0x00000039 
+ 00012128  0x00001e5b branch  0x00007ed4 
+ 00012129  0x00001e5e call  0x00003231 
+ 00012130  0x00001e60 call  0x0000327d 
+ 00012131  0x00001e62 call  0x0000322c 
+ 00012132  0x00001e64 branch  0x00002c8a 
+ 00012133  0x00001e67 bpatch  0x000000bd , 0x00004017 
+ 00012134  0x00001e68 call  0x0000324c 
+ 00012135  0x00001e6a beq  0x00000001 , 0x00002f8d 
+ 00012136  0x00001e6b call  0x00003245 
+ 00012137  0x00001e6d beq  0x00000001 , 0x00002c8a 
+ 00012138  0x00001e6e setarg  0x00000136 
+ 00012139  0x00001e6f iadd  0x00000013 , 0x00000011 
+ 00012140  0x00001e70 ifetcht  0x00000004 , 0x00000011 
+ 00012141  0x00001e72 copy  0x00000022 , 0x0000003f 
+ 00012142  0x00001e73 isub  0x00000002 , 0x0000003e 
+ 00012143  0x00001e74 ncall  0x00002d18 , 0x00000002 
+ 00012144  0x00001e75 copy  0x0000003f , 0x00000012 
+ 00012145  0x00001e76 setarg  0x00000136 
+ 00012146  0x00001e77 iadd  0x00000013 , 0x00000011 
+ 00012147  0x00001e78 ifetch  0x00000004 , 0x00000011 
+ 00012148  0x00001e79 copy  0x0000003f , 0x00000002 
+ 00012149  0x00001e7b setarg  0x0000013a 
+ 00012150  0x00001e7c iadd  0x00000013 , 0x00000011 
+ 00012151  0x00001e7d copy  0x00000002 , 0x0000003f 
+ 00012152  0x00001e7e ifetcht  0x00000001 , 0x00000011 
+ 00012153  0x00001e80 iadd  0x00000002 , 0x00000002 
+ 00012154  0x00001e81 copy  0x00000012 , 0x0000003f 
+ 00012155  0x00001e82 isub  0x00000002 , 0x0000003e 
+ 00012156  0x00001e83 nrtn  0x00000002 
+ 00012157  0x00001e84 set0  0x0000001c , 0x0000003f 
+ 00012158  0x00001e85 setarg  0x00000136 
+ 00012159  0x00001e86 iadd  0x00000013 , 0x00000005 
+ 00012160  0x00001e87 istore  0x00000004 , 0x00000005 
+ 00012161  0x00001e8a call  0x00002c8a 
+ 00012162  0x00001e8b call  0x00003278 
+ 00012163  0x00001e8d increase  0x00000001 , 0x0000003f 
+ 00012164  0x00001e8e call  0x0000327b 
+ 00012165  0x00001e90 rtnne  0x00000002 
+ 00012166  0x00001e91 call  0x0000327a 
+ 00012167  0x00001e95 branch  0x0000324f 
+ 00012168  0x00001e98 copy  0x00000022 , 0x0000003f 
+ 00012169  0x00001e99 arg  0x00000136 , 0x00000011 
+ 00012170  0x00001e9a call  0x000032bf 
+ 00012171  0x00001e9b istore  0x00000004 , 0x00000005 
+ 00012172  0x00001e9f branch  0x0000327a 
+ 00012173  0x00001ea2 arg  0x00000d9e , 0x00000011 
+ 00012174  0x00001ea3 call  0x00002f94 
+ 00012175  0x00001ea4 add  0x00000013 , 0x000000eb , 0x00000005 
+ 00012176  0x00001ea5 istoret  0x00000001 , 0x00000005 
+ 00012177  0x00001ea7 sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012178  0x00001ea8 nrtn  0x00000002 
+ 00012179  0x00001ea9 branch  0x00002c8a 
+ 00012180  0x00001eac arg  0x00000100 , 0x00000039 
+ 00012181  0x00001ead branch  0x00002e62 
+ 00012182  0x00001eb0 call  0x00002f99 
+ 00012183  0x00001eb1 call  0x00002fa5 
+ 00012184  0x00001eb2 branch  0x00002fb1 
+ 00012185  0x00001eb5 setarg  0x00000180 
+ 00012186  0x00001eb6 call  0x000032d0 
+ 00012187  0x00001eb8 rtn  0x00000034 
+ 00012188  0x00001eb9 arg  0x0000000b , 0x00000007 
+ 00012189  0x00001eba call  0x00007f16 
+ 00012190  0x00001ebb nrtn  0x00000034 
+ 00012191  0x00001ebc call  0x000032a7 
+ 00012192  0x00001ebf setarg  0x00000001 
+ 00012193  0x00001ec0 store  0x00000001 , 0x00000d54 
+ 00012194  0x00001ec1 setarg  0x00000000 
+ 00012195  0x00001ec2 istore  0x00000007 , 0x00000005 
+ 00012196  0x00001ec3 branch  0x000031b8 
+ 00012197  0x00001ec6 setarg  0x0000017e 
+ 00012198  0x00001ec7 call  0x000032d0 
+ 00012199  0x00001ec9 rtn  0x00000034 
+ 00012200  0x00001eca arg  0x0000000e , 0x00000007 
+ 00012201  0x00001ecb call  0x00007f16 
+ 00012202  0x00001ecc nrtn  0x00000034 
+ 00012203  0x00001ecd call  0x000032aa 
+ 00012204  0x00001ed0 arg  0x00000d64 , 0x00000005 
+ 00012205  0x00001ed1 arg  0x00000002 , 0x00000039 
+ 00012206  0x00001ed2 call  0x00007ec6 
+ 00012207  0x00001ed3 jam  0x00000000 , 0x00000d64 
+ 00012208  0x00001ed4 branch  0x000031ed 
+ 00012209  0x00001ed7 setarg  0x0000017f 
+ 00012210  0x00001ed8 call  0x000032d0 
+ 00012211  0x00001eda rtn  0x00000034 
+ 00012212  0x00001edb arg  0x0000000c , 0x00000007 
+ 00012213  0x00001edc call  0x00007f16 
+ 00012214  0x00001edd nrtn  0x00000034 
+ 00012215  0x00001ede call  0x000032ad 
+ 00012216  0x00001ee1 arg  0x00000d74 , 0x00000005 
+ 00012217  0x00001ee2 arg  0x00000002 , 0x00000039 
+ 00012218  0x00001ee3 call  0x00007ec6 
+ 00012219  0x00001ee4 jam  0x00000003 , 0x00000d74 
+ 00012220  0x00001ee5 branch  0x00003207 
+ 00012221  0x00001ee8 call  0x0000328f 
+ 00012222  0x00001eea rtnne  0x00000001 
+ 00012223  0x00001eeb call  0x00002fc1 
+ 00012224  0x00001eec branch  0x00002fcb 
+ 00012225  0x00001eef call  0x00003294 
+ 00012226  0x00001ef1 rtnbit1  0x00000001 
+ 00012227  0x00001ef2 set1  0x00000001 , 0x0000003f 
+ 00012228  0x00001ef3 call  0x00003297 
+ 00012229  0x00001ef5 call  0x0000329c 
+ 00012230  0x00001ef7 call  0x00002c83 
+ 00012231  0x00001ef8 setarg  0x00000000 
+ 00012232  0x00001ef9 arg  0x00000106 , 0x00000011 
+ 00012233  0x00001efa call  0x000032bf 
+ 00012234  0x00001efc branch  0x000032c5 
+ 00012235  0x00001eff call  0x0000316e 
+ 00012236  0x00001f00 nbranch  0x00002f5e , 0x0000002f 
+ 00012237  0x00001f01 add  0x00000013 , 0x00000000 , 0x00000006 
+ 00012238  0x00001f02 setarg  0x00000109 
+ 00012239  0x00001f03 iadd  0x00000013 , 0x00000005 
+ 00012240  0x00001f04 arg  0x00000008 , 0x00000039 
+ 00012241  0x00001f05 call  0x00007f01 
+ 00012242  0x00001f06 setarg  0x0000010b 
+ 00012243  0x00001f07 call  0x000032d0 
+ 00012244  0x00001f08 beq  0x000000aa , 0x00002fd9 
+ 00012245  0x00001f09 beq  0x00000055 , 0x00002fed 
+ 00012246  0x00001f0a beq  0x00000022 , 0x00003001 
+ 00012247  0x00001f0b beq  0x000000ff , 0x00003212 
+ 00012248  0x00001f0c branch  0x00002f5e 
+ 00012249  0x00001f0f call  0x000032bd 
+ 00012250  0x00001f10 beq  0x00000001 , 0x00002fdd 
+ 00012251  0x00001f11 beq  0x00000002 , 0x00002fe8 
+ 00012252  0x00001f12 rtn 
+ 00012253  0x00001f14 setarg  0x00000001 
+ 00012254  0x00001f15 call  0x00002ff7 
+ 00012255  0x00001f18 setarg  0x00000001 
+ 00012256  0x00001f19 call  0x00003289 
+ 00012257  0x00001f1c setarg  0x00000080 
+ 00012258  0x00001f1d arg  0x00000130 , 0x00000011 
+ 00012259  0x00001f1e call  0x000032b3 
+ 00012260  0x00001f20 call  0x0000327d 
+ 00012261  0x00001f22 arg  0x00000131 , 0x00000011 
+ 00012262  0x00001f23 call  0x000032bf 
+ 00012263  0x00001f25 branch  0x0000322d 
+ 00012264  0x00001f28 setarg  0x00000001 
+ 00012265  0x00001f29 call  0x00002fff 
+ 00012266  0x00001f2c setarg  0x00000002 
+ 00012267  0x00001f2d call  0x00003289 
+ 00012268  0x00001f2f branch  0x00002fe1 
+ 00012269  0x00001f32 call  0x000032bd 
+ 00012270  0x00001f33 beq  0x00000001 , 0x00002ff1 
+ 00012271  0x00001f34 beq  0x00000002 , 0x00002ff9 
+ 00012272  0x00001f35 rtn 
+ 00012273  0x00001f37 call  0x00002fdf 
+ 00012274  0x00001f38 setarg  0x00000106 
+ 00012275  0x00001f39 call  0x000032d0 
+ 00012276  0x00001f3b beq  0x00000001 , 0x00002ff6 
+ 00012277  0x00001f3c rtn 
+ 00012278  0x00001f3e setarg  0x00000002 
+ 00012279  0x00001f41 arg  0x00000106 , 0x00000011 
+ 00012280  0x00001f42 branch  0x000032b3 
+ 00012281  0x00001f45 call  0x00002fea 
+ 00012282  0x00001f46 setarg  0x00000107 
+ 00012283  0x00001f47 call  0x000032d0 
+ 00012284  0x00001f49 beq  0x00000001 , 0x00002ffe 
+ 00012285  0x00001f4a rtn 
+ 00012286  0x00001f4c setarg  0x00000002 
+ 00012287  0x00001f4f arg  0x00000107 , 0x00000011 
+ 00012288  0x00001f50 branch  0x000032b3 
+ 00012289  0x00001f53 call  0x000032bd 
+ 00012290  0x00001f54 beq  0x00000001 , 0x00003005 
+ 00012291  0x00001f55 beq  0x00000002 , 0x00003011 
+ 00012292  0x00001f56 rtn 
+ 00012293  0x00001f58 setarg  0x00000106 
+ 00012294  0x00001f59 call  0x000032d0 
+ 00012295  0x00001f5b beq  0x00000002 , 0x00003009 
+ 00012296  0x00001f5c rtn 
+ 00012297  0x00001f5e call  0x0000328b 
+ 00012298  0x00001f60 or_into  0x00000001 , 0x0000003f 
+ 00012299  0x00001f61 call  0x0000328d 
+ 00012300  0x00001f64 setarg  0x00000000 
+ 00012301  0x00001f65 setarg  0x00000106 
+ 00012302  0x00001f66 iadd  0x00000013 , 0x00000005 
+ 00012303  0x00001f67 istore  0x00000002 , 0x00000005 
+ 00012304  0x00001f68 branch  0x00002f5e 
+ 00012305  0x00001f6b setarg  0x00000107 
+ 00012306  0x00001f6c call  0x000032d0 
+ 00012307  0x00001f6e bne  0x00000000 , 0x00003015 
+ 00012308  0x00001f6f rtn 
+ 00012309  0x00001f71 call  0x0000328b 
+ 00012310  0x00001f73 or_into  0x00000002 , 0x0000003f 
+ 00012311  0x00001f74 call  0x0000328d 
+ 00012312  0x00001f76 branch  0x0000300c 
+ 00012313  0x00001f7a fetch  0x00000001 , 0x00000d50 
+ 00012314  0x00001f7b rtn  0x00000034 
+ 00012315  0x00001f7c jam  0x00000000 , 0x00000d50 
+ 00012316  0x00001f7d fetch  0x00000002 , 0x00000d4e 
+ 00012317  0x00001f7e arg  0x000002ba , 0x00000002 
+ 00012318  0x00001f7f isub  0x00000002 , 0x0000003e 
+ 00012319  0x00001f80 nrtn  0x00000005 
+ 00012320  0x00001f82 fetch  0x00000001 , 0x00000cb6 
+ 00012321  0x00001f83 rtnne  0x000000ba 
+ 00012322  0x00001f84 fetch  0x00000001 , 0x00000cb7 
+ 00012323  0x00001f85 bpatch  0x000000be , 0x00004017 
+ 00012324  0x00001f86 beq  0x000000a0 , 0x0000303b 
+ 00012325  0x00001f87 beq  0x000000a1 , 0x0000302c 
+ 00012326  0x00001f88 beq  0x000000a6 , 0x00003041 
+ 00012327  0x00001f89 beq  0x000000a7 , 0x00003043 
+ 00012328  0x00001f8a beq  0x000000a9 , 0x00003049 
+ 00012329  0x00001f8b beq  0x000000b0 , 0x0000304d 
+ 00012330  0x00001f8d jam  0x00000000 , 0x00000d42 
+ 00012331  0x00001f8e rtn 
+ 00012332  0x00001f90 fetch  0x00000001 , 0x00000cb8 
+ 00012333  0x00001f91 beq  0x00000001 , 0x00003031 
+ 00012334  0x00001f92 beq  0x00000084 , 0x00003034 
+ 00012335  0x00001f93 beq  0x000000a7 , 0x00003039 
+ 00012336  0x00001f94 branch  0x0000302a 
+ 00012337  0x00001f96 call  0x0000328b 
+ 00012338  0x00001f98 store  0x00000001 , 0x00000cf7 
+ 00012339  0x00001f99 branch  0x0000303f 
+ 00012340  0x00001f9b call  0x00003291 
+ 00012341  0x00001f9d call  0x00003296 
+ 00012342  0x00001f9f call  0x0000328b 
+ 00012343  0x00001fa1 store  0x00000001 , 0x00000cf7 
+ 00012344  0x00001fa2 branch  0x0000303f 
+ 00012345  0x00001fa6 jam  0x000000a1 , 0x00000cf7 
+ 00012346  0x00001fa7 branch  0x0000303f 
+ 00012347  0x00001faa fetch  0x00000001 , 0x00000cb8 
+ 00012348  0x00001fab beq  0x00000081 , 0x0000303e 
+ 00012349  0x00001fad branch  0x0000302a 
+ 00012350  0x00001fb1 call  0x00003090 
+ 00012351  0x00001fb3 jam  0x00000001 , 0x00000d42 
+ 00012352  0x00001fb4 rtn 
+ 00012353  0x00001fba jam  0x00000015 , 0x00000cf7 
+ 00012354  0x00001fbb branch  0x0000303f 
+ 00012355  0x00001fbe call  0x0000328f 
+ 00012356  0x00001fc0 beq  0x00000000 , 0x00003047 
+ 00012357  0x00001fc1 beq  0x00000001 , 0x00003039 
+ 00012358  0x00001fc3 rtn 
+ 00012359  0x00001fc5 jam  0x000000a0 , 0x00000cf7 
+ 00012360  0x00001fc6 branch  0x0000303f 
+ 00012361  0x00001fcc jam  0x00000000 , 0x00000cf7 
+ 00012362  0x00001fcd jam  0x00000000 , 0x00000cf8 
+ 00012363  0x00001fce jam  0x00000001 , 0x00000cf9 
+ 00012364  0x00001fcf branch  0x0000303f 
+ 00012365  0x00001fd3 call  0x0000329c 
+ 00012366  0x00001fd4 fetch  0x00000001 , 0x00000cb8 
+ 00012367  0x00001fd5 increase  0x00000002 , 0x0000003f 
+ 00012368  0x00001fd6 copy  0x0000003f , 0x00000039 
+ 00012369  0x00001fd7 arg  0x00000cb6 , 0x00000006 
+ 00012370  0x00001fd8 setarg  0x0000013c 
+ 00012371  0x00001fd9 iadd  0x00000013 , 0x00000005 
+ 00012372  0x00001fda branch  0x00007f01 
+ 00012373  0x00001fde bpatch  0x000000bf , 0x00004017 
+ 00012374  0x00001fdf call  0x0000307d 
+ 00012375  0x00001fe1 call  0x00002c7f 
+ 00012376  0x00001fe2 call  0x000048d3 
+ 00012377  0x00001fe3 branch  0x00003057 
+ 00012378  0x00001fe6 call  0x0000328f 
+ 00012379  0x00001fe8 rtnne  0x00000000 
+ 00012380  0x00001fe9 call  0x00002f51 
+ 00012381  0x00001fea branch  0x00003098 
+ 00012382  0x00001fed call  0x0000328f 
+ 00012383  0x00001fef rtnne  0x00000001 
+ 00012384  0x00001ff0 call  0x00002fc1 
+ 00012385  0x00001ff1 call  0x00002fcb 
+ 00012386  0x00001ff2 call  0x0000328b 
+ 00012387  0x00001ff4 rtn  0x00000034 
+ 00012388  0x00001ff5 call  0x00003286 
+ 00012389  0x00001ff7 call  0x00002f4c 
+ 00012390  0x00001ff8 call  0x00003093 
+ 00012391  0x00001ffa setarg  0x00000000 
+ 00012392  0x00001ffb add  0x00000013 , 0x000000a7 , 0x00000005 
+ 00012393  0x00001ffd branch  0x0000322d 
+ 00012394  0x00002000 call  0x00007fe9 
+ 00012395  0x00002001 add  0x00000013 , 0x000000a7 , 0x00000011 
+ 00012396  0x00002002 ifetcht  0x00000004 , 0x00000011 
+ 00012397  0x00002004 copy  0x00000022 , 0x0000003f 
+ 00012398  0x00002005 isub  0x00000002 , 0x0000003e 
+ 00012399  0x00002006 ncall  0x00002d18 , 0x00000002 
+ 00012400  0x00002007 copy  0x0000003f , 0x00000012 
+ 00012401  0x00002008 add  0x00000013 , 0x000000a7 , 0x00000011 
+ 00012402  0x00002009 ifetch  0x00000004 , 0x00000011 
+ 00012403  0x0000200b add  0x00000013 , 0x000000ab , 0x00000011 
+ 00012404  0x0000200c ifetcht  0x00000001 , 0x00000011 
+ 00012405  0x0000200e iadd  0x00000002 , 0x00000002 
+ 00012406  0x0000200f copy  0x00000012 , 0x0000003f 
+ 00012407  0x00002010 isub  0x00000002 , 0x0000003e 
+ 00012408  0x00002011 nrtn  0x00000002 
+ 00012409  0x00002012 set0  0x0000001c , 0x0000003f 
+ 00012410  0x00002013 add  0x00000013 , 0x000000a7 , 0x00000005 
+ 00012411  0x00002014 istore  0x00000004 , 0x00000005 
+ 00012412  0x00002016 branch  0x00007fe7 
+ 00012413  0x00002019 setarg  0x00000001 
+ 00012414  0x0000201a call  0x00003287 
+ 00012415  0x0000201c call  0x00003283 
+ 00012416  0x0000201e setarg  0x000000ff 
+ 00012417  0x0000201f add  0x00000013 , 0x000000ab , 0x00000005 
+ 00012418  0x00002020 istore  0x00000001 , 0x00000005 
+ 00012419  0x00002022 branch  0x00003067 
+ 00012420  0x00002025 setarg  0x0000015c 
+ 00012421  0x00002026 call  0x000032d0 
+ 00012422  0x00002028 rtn  0x00000034 
+ 00012423  0x00002029 call  0x0000306a 
+ 00012424  0x0000202a nrtn  0x00000028 
+ 00012425  0x0000202b call  0x00003281 
+ 00012426  0x0000202d increase  0x00000001 , 0x0000003f 
+ 00012427  0x0000202e and_into  0x00000001 , 0x0000003f 
+ 00012428  0x0000202f call  0x00003284 
+ 00012429  0x00002031 beq  0x00000000 , 0x00002f4c 
+ 00012430  0x00002032 beq  0x00000001 , 0x00003090 
+ 00012431  0x00002033 rtn 
+ 00012432  0x00002039 setarg  0x00000001 
+ 00012433  0x0000203a call  0x00003292 
+ 00012434  0x0000203b branch  0x00003296 
+ 00012435  0x0000203e setarg  0x00000001 
+ 00012436  0x0000203f call  0x000032a5 
+ 00012437  0x00002042 setarg  0x00000280 
+ 00012438  0x00002043 arg  0x00000008 , 0x00000007 
+ 00012439  0x00002044 branch  0x00007f08 
+ 00012440  0x00002047 call  0x000032a2 
+ 00012441  0x00002049 rtn  0x00000034 
+ 00012442  0x0000204a arg  0x00000008 , 0x00000007 
+ 00012443  0x0000204b call  0x00007f16 
+ 00012444  0x0000204c nrtn  0x00000034 
+ 00012445  0x0000204d call  0x000032a4 
+ 00012446  0x00002050 setarg  0x00000007 
+ 00012447  0x00002051 call  0x00003292 
+ 00012448  0x00002053 call  0x00003296 
+ 00012449  0x00002055 branch  0x00002f5e 
+ 00012450  0x00002058 bpatch  0x000000c0 , 0x00004018 
+ 00012451  0x00002059 call  0x0000328f 
+ 00012452  0x0000205b rtnne  0x00000007 
+ 00012453  0x0000205c call  0x000030cb 
+ 00012454  0x0000205d call  0x000030e0 
+ 00012455  0x0000205e call  0x0000316e 
+ 00012456  0x0000205f nbranch  0x00002f5e , 0x0000002f 
+ 00012457  0x00002061 call  0x000030bc 
+ 00012458  0x00002062 call  0x00003172 , 0x00000005 
+ 00012459  0x00002066 call  0x00002f4c 
+ 00012460  0x00002067 call  0x00003294 
+ 00012461  0x00002069 set1  0x00000000 , 0x0000003f 
+ 00012462  0x0000206a call  0x00003297 
+ 00012463  0x0000206c call  0x00002f5e 
+ 00012464  0x0000206d call  0x00003093 
+ 00012465  0x0000206e call  0x000030bc 
+ 00012466  0x0000206f branch  0x000030c1 , 0x00000005 
+ 00012467  0x00002070 setarg  0x00000164 
+ 00012468  0x00002071 call  0x000032d3 
+ 00012469  0x00002073 call  0x000030be 
+ 00012470  0x00002074 branch  0x000030c5 , 0x00000005 
+ 00012471  0x00002075 setarg  0x00000160 
+ 00012472  0x00002076 call  0x000032d3 
+ 00012473  0x00002078 call  0x000030be 
+ 00012474  0x00002079 branch  0x000030c8 , 0x00000005 
+ 00012475  0x0000207a rtn 
+ 00012476  0x0000207d setarg  0x0000012b 
+ 00012477  0x0000207e call  0x000032d3 
+ 00012478  0x00002081 call  0x0000322a 
+ 00012479  0x00002083 isub  0x00000002 , 0x0000003e 
+ 00012480  0x00002084 rtn 
+ 00012481  0x00002087 setarg  0x00000182 
+ 00012482  0x00002088 call  0x000032d0 
+ 00012483  0x0000208c add  0x00000013 , 0x00000091 , 0x00000005 
+ 00012484  0x0000208d branch  0x000032b4 
+ 00012485  0x00002090 setarg  0x00000185 
+ 00012486  0x00002091 call  0x000032d0 
+ 00012487  0x00002093 branch  0x000030c3 
+ 00012488  0x00002095 setarg  0x00000188 
+ 00012489  0x00002096 call  0x000032d0 
+ 00012490  0x00002098 branch  0x000030c3 
+ 00012491  0x0000209b call  0x00003294 
+ 00012492  0x0000209d rtnbit1  0x00000007 
+ 00012493  0x0000209e set1  0x00000007 , 0x0000003f 
+ 00012494  0x0000209f call  0x00003297 
+ 00012495  0x000020a1 call  0x00003283 
+ 00012496  0x000020a3 call  0x0000329c 
+ 00012497  0x000020a5 setarg  0x00000000 
+ 00012498  0x000020a6 add  0x00000013 , 0x000000f5 , 0x00000005 
+ 00012499  0x000020a7 istore  0x00000003 , 0x00000005 
+ 00012500  0x000020a9 arg  0x00000183 , 0x00000011 
+ 00012501  0x000020aa call  0x000032bf 
+ 00012502  0x000020ab istore  0x00000007 , 0x00000005 
+ 00012503  0x000020ae call  0x000030bc 
+ 00012504  0x000020af nrtn  0x00000005 
+ 00012505  0x000020b0 add  0x00000013 , 0x00000091 , 0x00000011 
+ 00012506  0x000020b1 ifetch  0x00000001 , 0x00000011 
+ 00012507  0x000020b3 arg  0x00000182 , 0x00000011 
+ 00012508  0x000020b4 call  0x000032b3 
+ 00012509  0x000020b6 add  0x00000013 , 0x00000090 , 0x00000011 
+ 00012510  0x000020b7 ifetch  0x00000001 , 0x00000011 
+ 00012511  0x000020ba branch  0x0000314a 
+ 00012512  0x000020bd bpatch  0x000000c1 , 0x00004018 
+ 00012513  0x000020be call  0x00003281 
+ 00012514  0x000020c0 increase  0x00000001 , 0x0000003f 
+ 00012515  0x000020c1 and_into  0x00000003 , 0x0000003f 
+ 00012516  0x000020c2 call  0x00003284 
+ 00012517  0x000020c5 beq  0x00000000 , 0x0000310e 
+ 00012518  0x000020c6 beq  0x00000001 , 0x00003132 
+ 00012519  0x000020c7 beq  0x00000002 , 0x000030ea 
+ 00012520  0x000020c8 beq  0x00000003 , 0x00003132 
+ 00012521  0x000020c9 rtn 
+ 00012522  0x000020cc call  0x00002fdf 
+ 00012523  0x000020cd setarg  0x00000160 
+ 00012524  0x000020ce call  0x0000327e 
+ 00012525  0x000020d0 branch  0x000030e0 , 0x00000034 
+ 00012526  0x000020d1 call  0x0000322c 
+ 00012527  0x000020d3 setarg  0x00000189 
+ 00012528  0x000020d4 call  0x000032d0 
+ 00012529  0x000020d6 call  0x00003108 , 0x00000034 
+ 00012530  0x000020d7 setarg  0x00000187 
+ 00012531  0x000020d8 call  0x000032d0 
+ 00012532  0x000020da call  0x0000322f 
+ 00012533  0x000020dc add  0x00000013 , 0x000000f7 , 0x00000011 
+ 00012534  0x000020dd ifetcht  0x00000001 , 0x00000011 
+ 00012535  0x000020df arg  0x00000f9e , 0x00000011 
+ 00012536  0x000020e0 call  0x00002e58 
+ 00012537  0x000020e1 add  0x00000013 , 0x000000f7 , 0x00000005 
+ 00012538  0x000020e2 istoret  0x00000001 , 0x00000005 
+ 00012539  0x000020e4 call  0x00002f94 
+ 00012540  0x000020e5 add  0x00000013 , 0x000000fa , 0x00000005 
+ 00012541  0x000020e6 istoret  0x00000001 , 0x00000005 
+ 00012542  0x000020e8 sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012543  0x000020e9 nrtn  0x00000002 
+ 00012544  0x000020ea setarg  0x00000188 
+ 00012545  0x000020eb call  0x00003275 
+ 00012546  0x000020ed call  0x00002c90 
+ 00012547  0x000020ee arg  0x00000188 , 0x00000011 
+ 00012548  0x000020ef call  0x000032c8 
+ 00012549  0x000020f0 istoret  0x00000001 , 0x00000005 
+ 00012550  0x000020f4 arg  0x00000187 , 0x00000011 
+ 00012551  0x000020f5 branch  0x000032b3 
+ 00012552  0x000020f8 setarg  0x00000001 
+ 00012553  0x000020f9 arg  0x00000189 , 0x00000011 
+ 00012554  0x000020fa call  0x000032b3 
+ 00012555  0x000020fc arg  0x00000000 , 0x00000002 
+ 00012556  0x000020fd call  0x00002c94 
+ 00012557  0x00002100 branch  0x00003106 
+ 00012558  0x00002103 call  0x00002fea 
+ 00012559  0x00002104 setarg  0x00000164 
+ 00012560  0x00002105 call  0x0000327e 
+ 00012561  0x00002107 branch  0x000030e0 , 0x00000034 
+ 00012562  0x00002108 call  0x0000322c 
+ 00012563  0x0000210a setarg  0x00000186 
+ 00012564  0x0000210b call  0x000032d0 
+ 00012565  0x0000210d call  0x0000312c , 0x00000034 
+ 00012566  0x0000210e setarg  0x00000184 
+ 00012567  0x0000210f call  0x000032d0 
+ 00012568  0x00002111 call  0x0000322f 
+ 00012569  0x00002113 add  0x00000013 , 0x000000f6 , 0x00000011 
+ 00012570  0x00002114 ifetcht  0x00000001 , 0x00000011 
+ 00012571  0x00002116 arg  0x0000109e , 0x00000011 
+ 00012572  0x00002117 call  0x00002e58 
+ 00012573  0x00002118 add  0x00000013 , 0x000000f6 , 0x00000005 
+ 00012574  0x00002119 istoret  0x00000001 , 0x00000005 
+ 00012575  0x0000211b call  0x00002f94 
+ 00012576  0x0000211c add  0x00000013 , 0x000000f9 , 0x00000005 
+ 00012577  0x0000211d istoret  0x00000001 , 0x00000005 
+ 00012578  0x0000211f sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012579  0x00002120 nrtn  0x00000002 
+ 00012580  0x00002121 setarg  0x00000185 
+ 00012581  0x00002122 call  0x00003275 
+ 00012582  0x00002124 call  0x00002c90 
+ 00012583  0x00002125 arg  0x00000185 , 0x00000011 
+ 00012584  0x00002126 call  0x000032c8 
+ 00012585  0x00002127 istoret  0x00000001 , 0x00000005 
+ 00012586  0x0000212b arg  0x00000184 , 0x00000011 
+ 00012587  0x0000212c branch  0x000032b3 
+ 00012588  0x0000212f setarg  0x00000001 
+ 00012589  0x00002130 arg  0x00000186 , 0x00000011 
+ 00012590  0x00002131 call  0x000032b3 
+ 00012591  0x00002133 arg  0x00000000 , 0x00000002 
+ 00012592  0x00002134 call  0x00002c94 
+ 00012593  0x00002137 branch  0x0000312a 
+ 00012594  0x0000213a call  0x00002fdf 
+ 00012595  0x0000213b call  0x0000327d 
+ 00012596  0x0000213d call  0x0000322c 
+ 00012597  0x0000213f setarg  0x00000183 
+ 00012598  0x00002140 call  0x000032d0 
+ 00012599  0x00002142 call  0x0000314c , 0x00000034 
+ 00012600  0x00002143 call  0x0000314f 
+ 00012601  0x00002144 add  0x00000013 , 0x000000f5 , 0x00000011 
+ 00012602  0x00002145 ifetcht  0x00000001 , 0x00000011 
+ 00012603  0x00002147 arg  0x00000e9e , 0x00000011 
+ 00012604  0x00002148 call  0x00002e58 
+ 00012605  0x00002149 add  0x00000013 , 0x000000f5 , 0x00000005 
+ 00012606  0x0000214a istoret  0x00000001 , 0x00000005 
+ 00012607  0x0000214c call  0x00002f94 
+ 00012608  0x0000214d add  0x00000013 , 0x000000f8 , 0x00000005 
+ 00012609  0x0000214e istoret  0x00000001 , 0x00000005 
+ 00012610  0x00002150 sub  0x00000002 , 0x00000050 , 0x0000003e 
+ 00012611  0x00002151 nrtn  0x00000002 
+ 00012612  0x00002152 setarg  0x00000182 
+ 00012613  0x00002153 call  0x00003275 
+ 00012614  0x00002155 call  0x00002c90 
+ 00012615  0x00002156 arg  0x00000182 , 0x00000011 
+ 00012616  0x00002157 call  0x000032c8 
+ 00012617  0x00002158 istoret  0x00000001 , 0x00000005 
+ 00012618  0x0000215d arg  0x00000181 , 0x00000011 
+ 00012619  0x0000215e branch  0x000032b3 
+ 00012620  0x00002166 setarg  0x00000001 
+ 00012621  0x00002167 arg  0x00000183 , 0x00000011 
+ 00012622  0x00002168 call  0x000032b3 
+ 00012623  0x0000216a setarg  0x00000181 
+ 00012624  0x0000216b call  0x000032d0 
+ 00012625  0x0000216c branch  0x0000322f 
+ 00012626  0x00002171 add  0x00000013 , 0x00000000 , 0x00000011 
+ 00012627  0x00002172 ifetch  0x00000001 , 0x00000011 
+ 00012628  0x00002174 call  0x0000323c 
+ 00012629  0x00002177 call  0x00002dde 
+ 00012630  0x00002179 call  0x0000325f 
+ 00012631  0x0000217b isolate1  0x00000000 , 0x0000003f 
+ 00012632  0x0000217c branch  0x0000315c , 0x00000001 
+ 00012633  0x0000217e call  0x0000315d 
+ 00012634  0x0000217f call  0x00002d53 
+ 00012635  0x00002180 call  0x00002df7 
+ 00012636  0x00002182 branch  0x00002e45 
+ 00012637  0x00002185 bpatch  0x000000c2 , 0x00004018 
+ 00012638  0x00002186 add  0x00000013 , 0x00000086 , 0x00000005 
+ 00012639  0x00002187 call  0x000032d6 
+ 00012640  0x00002189 setarg  0x0000013b 
+ 00012641  0x0000218a call  0x000032d0 
+ 00012642  0x0000218c rtn  0x00000034 
+ 00012643  0x0000218d setarg  0x00000006 
+ 00012644  0x0000218e add  0x00000013 , 0x00000086 , 0x00000005 
+ 00012645  0x0000218f istore  0x00000001 , 0x00000005 
+ 00012646  0x00002191 arg  0x00000006 , 0x00000039 
+ 00012647  0x00002192 setarg  0x0000012f 
+ 00012648  0x00002193 iadd  0x00000013 , 0x00000006 
+ 00012649  0x00002195 add  0x00000013 , 0x00000022 , 0x00000005 
+ 00012650  0x00002197 branch  0x00007f01 
+ 00012651  0x0000219b call  0x0000316e 
+ 00012652  0x0000219c nbranch  0x00002f5e , 0x0000002f 
+ 00012653  0x0000219d branch  0x00003172 
+ 00012654  0x000021a0 call  0x00002f5e 
+ 00012655  0x000021a1 call  0x00002e11 
+ 00012656  0x000021a2 nrtn  0x0000002f 
+ 00012657  0x000021a3 branch  0x00003152 
+ 00012658  0x000021a6 bpatch  0x000000c3 , 0x00004018 
+ 00012659  0x000021a7 call  0x00003188 
+ 00012660  0x000021a8 nbranch  0x00002f5e , 0x00000028 
+ 00012661  0x000021a9 add  0x00000013 , 0x00000084 , 0x00000011 
+ 00012662  0x000021aa ifetch  0x00000001 , 0x00000011 
+ 00012663  0x000021ac branch  0x00002f5e , 0x00000034 
+ 00012664  0x000021ad increase  0x00000002 , 0x0000003f 
+ 00012665  0x000021ae iforce  0x00000039 
+ 00012666  0x000021af add  0x00000013 , 0x00000000 , 0x00000006 
+ 00012667  0x000021b1 setarg  0x00000109 
+ 00012668  0x000021b2 iadd  0x00000013 , 0x00000005 
+ 00012669  0x000021b4 call  0x00007f01 
+ 00012670  0x000021b5 call  0x00003286 
+ 00012671  0x000021b7 call  0x000032b6 
+ 00012672  0x000021b9 call  0x00003093 , 0x00000034 
+ 00012673  0x000021ba setarg  0x0000010b 
+ 00012674  0x000021bb call  0x000032d0 
+ 00012675  0x000021bd beq  0x00000001 , 0x0000319e 
+ 00012676  0x000021be beq  0x00000002 , 0x000031c6 
+ 00012677  0x000021bf beq  0x00000003 , 0x000031f2 
+ 00012678  0x000021c0 beq  0x000000ff , 0x00003212 
+ 00012679  0x000021c1 branch  0x00002f5e 
+ 00012680  0x000021c4 call  0x00002c7a 
+ 00012681  0x000021c5 call  0x00007fe9 
+ 00012682  0x000021c6 add  0x00000013 , 0x000000ca , 0x00000011 
+ 00012683  0x000021c7 ifetch  0x00000001 , 0x00000011 
+ 00012684  0x000021c9 add  0x00000013 , 0x000000cb , 0x00000011 
+ 00012685  0x000021ca ifetcht  0x00000001 , 0x00000011 
+ 00012686  0x000021cc isub  0x00000002 , 0x0000003e 
+ 00012687  0x000021cd ncall  0x00007fe7 , 0x00000005 
+ 00012688  0x000021ce add  0x00000013 , 0x000000ca , 0x00000011 
+ 00012689  0x000021cf ifetch  0x00000001 , 0x00000011 
+ 00012690  0x000021d1 add  0x00000013 , 0x000000cb , 0x00000005 
+ 00012691  0x000021d2 istore  0x00000001 , 0x00000005 
+ 00012692  0x000021d4 add  0x00000013 , 0x000000c4 , 0x00000011 
+ 00012693  0x000021d5 ifetch  0x00000003 , 0x00000011 
+ 00012694  0x000021d7 add  0x00000013 , 0x000000c7 , 0x00000011 
+ 00012695  0x000021d8 ifetcht  0x00000003 , 0x00000011 
+ 00012696  0x000021da isub  0x00000002 , 0x0000003e 
+ 00012697  0x000021db ncall  0x00007fe7 , 0x00000005 
+ 00012698  0x000021dc add  0x00000013 , 0x000000c4 , 0x00000011 
+ 00012699  0x000021dd ifetch  0x00000003 , 0x00000011 
+ 00012700  0x000021df add  0x00000013 , 0x000000c7 , 0x00000005 
+ 00012701  0x000021e1 branch  0x000032c5 
+ 00012702  0x000021e4 call  0x00002f88 
+ 00012703  0x000021e5 call  0x0000324c 
+ 00012704  0x000021e6 store  0x00000001 , 0x00000aa2 
+ 00012705  0x000021e8 call  0x00003274 
+ 00012706  0x000021e9 fetch  0x00000001 , 0x00000aa2 
+ 00012707  0x000021eb isolate1  0x00000003 , 0x00000002 
+ 00012708  0x000021ec setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00012709  0x000021ed add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00012710  0x000021ee istore  0x00000001 , 0x00000005 
+ 00012711  0x000021f0 beq  0x00000001 , 0x00003216 
+ 00012712  0x000021f1 call  0x00003245 
+ 00012713  0x000021f3 call  0x00003274 
+ 00012714  0x000021f5 isolate1  0x00000004 , 0x00000002 
+ 00012715  0x000021f6 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00012716  0x000021f7 call  0x00003249 
+ 00012717  0x000021f9 add  0x00000013 , 0x000000de , 0x00000011 
+ 00012718  0x000021fa ifetch  0x00000002 , 0x00000011 
+ 00012719  0x000021fc branch  0x00007f9c 
+ 00012720  0x000021ff setarg  0x00000001 
+ 00012721  0x00002200 store  0x00000001 , 0x00000d54 
+ 00012722  0x00002201 call  0x0000329e 
+ 00012723  0x00002203 istore  0x00000007 , 0x00000005 
+ 00012724  0x00002204 call  0x0000329e 
+ 00012725  0x00002206 ncall  0x000031bd , 0x00000034 
+ 00012726  0x00002207 call  0x0000329e 
+ 00012727  0x00002209 call  0x000031c2 , 0x00000034 
+ 00012728  0x0000220b jam  0x00000020 , 0x00000d52 
+ 00012729  0x0000220d fetch  0x00000001 , 0x00000d38 
+ 00012730  0x0000220e set1  0x00000002 , 0x0000003f 
+ 00012731  0x0000220f store  0x00000001 , 0x00000d38 
+ 00012732  0x00002210 rtn 
+ 00012733  0x00002213 setarg  0x00000001 
+ 00012734  0x00002214 call  0x000032a8 
+ 00012735  0x00002217 setarg  0x00000140 
+ 00012736  0x00002218 arg  0x0000000b , 0x00000007 
+ 00012737  0x00002219 branch  0x00007f08 
+ 00012738  0x0000221b call  0x000032a7 
+ 00012739  0x0000221e setarg  0x00000000 
+ 00012740  0x0000221f arg  0x0000000b , 0x00000007 
+ 00012741  0x00002220 branch  0x00007f08 
+ 00012742  0x00002223 call  0x00003274 
+ 00012743  0x00002225 isolate1  0x00000003 , 0x00000002 
+ 00012744  0x00002226 branch  0x0000321b , 0x00000001 
+ 00012745  0x00002227 arg  0x00000d64 , 0x00000005 
+ 00012746  0x00002228 call  0x000031e0 
+ 00012747  0x00002229 fetch  0x00000008 , 0x00000d64 
+ 00012748  0x0000222a ncall  0x000031e4 , 0x00000034 
+ 00012749  0x0000222b fetch  0x00000008 , 0x00000d64 
+ 00012750  0x0000222c call  0x000031e9 , 0x00000034 
+ 00012751  0x0000222d call  0x00002c7a 
+ 00012752  0x0000222e fetch  0x00000008 , 0x00000d64 
+ 00012753  0x0000222f arg  0x00000168 , 0x00000011 
+ 00012754  0x00002230 call  0x000032bf 
+ 00012755  0x00002231 istore  0x00000008 , 0x00000005 
+ 00012756  0x00002233 setarg  0x00000170 
+ 00012757  0x00002234 iadd  0x00000013 , 0x00000011 
+ 00012758  0x00002235 ifetcht  0x00000008 , 0x00000011 
+ 00012759  0x00002237 isub  0x00000002 , 0x0000003e 
+ 00012760  0x00002238 ncall  0x000031ed , 0x00000005 
+ 00012761  0x00002239 setarg  0x00000168 
+ 00012762  0x0000223a iadd  0x00000013 , 0x00000011 
+ 00012763  0x0000223b ifetch  0x00000008 , 0x00000011 
+ 00012764  0x0000223d arg  0x00000170 , 0x00000011 
+ 00012765  0x0000223e call  0x000032bf 
+ 00012766  0x0000223f istore  0x00000008 , 0x00000005 
+ 00012767  0x00002241 branch  0x00002f5e 
+ 00012768  0x00002244 setarg  0x0000010b 
+ 00012769  0x00002245 iadd  0x00000013 , 0x00000006 
+ 00012770  0x00002247 arg  0x00000009 , 0x00000039 
+ 00012771  0x00002248 branch  0x00007ff3 
+ 00012772  0x0000224b setarg  0x00000001 
+ 00012773  0x0000224c call  0x000032ab 
+ 00012774  0x0000224f setarg  0x00000140 
+ 00012775  0x00002250 arg  0x0000000e , 0x00000007 
+ 00012776  0x00002251 branch  0x00007f08 
+ 00012777  0x00002254 call  0x000032aa 
+ 00012778  0x00002257 setarg  0x00000000 
+ 00012779  0x00002258 arg  0x0000000e , 0x00000007 
+ 00012780  0x00002259 branch  0x00007f08 
+ 00012781  0x0000225d jam  0x00000010 , 0x00000d51 
+ 00012782  0x0000225e fetch  0x00000001 , 0x00000d38 
+ 00012783  0x0000225f set1  0x00000001 , 0x0000003f 
+ 00012784  0x00002260 store  0x00000001 , 0x00000d38 
+ 00012785  0x00002261 rtn 
+ 00012786  0x00002264 arg  0x00000d74 , 0x00000005 
+ 00012787  0x00002265 call  0x000031e0 
+ 00012788  0x00002266 fetch  0x00000002 , 0x00000d75 
+ 00012789  0x00002267 ncall  0x00003209 , 0x00000034 
+ 00012790  0x00002268 fetch  0x00000002 , 0x00000d75 
+ 00012791  0x00002269 call  0x0000320e , 0x00000034 
+ 00012792  0x0000226a call  0x00002c7a 
+ 00012793  0x0000226b fetch  0x00000003 , 0x00000d74 
+ 00012794  0x0000226c arg  0x00000178 , 0x00000011 
+ 00012795  0x0000226d call  0x000032c4 
+ 00012796  0x0000226f setarg  0x0000017b 
+ 00012797  0x00002270 iadd  0x00000013 , 0x00000011 
+ 00012798  0x00002271 ifetcht  0x00000003 , 0x00000011 
+ 00012799  0x00002273 isub  0x00000002 , 0x0000003e 
+ 00012800  0x00002274 ncall  0x00003207 , 0x00000005 
+ 00012801  0x00002275 setarg  0x00000178 
+ 00012802  0x00002276 iadd  0x00000013 , 0x00000011 
+ 00012803  0x00002277 ifetch  0x00000003 , 0x00000011 
+ 00012804  0x00002279 arg  0x0000017b , 0x00000011 
+ 00012805  0x0000227a call  0x000032c4 
+ 00012806  0x0000227c branch  0x00002f5e 
+ 00012807  0x0000227f jam  0x00000021 , 0x00000d52 
+ 00012808  0x00002280 branch  0x000031b9 
+ 00012809  0x00002283 setarg  0x00000001 
+ 00012810  0x00002284 call  0x000032ae 
+ 00012811  0x00002287 setarg  0x00000140 
+ 00012812  0x00002288 arg  0x0000000c , 0x00000007 
+ 00012813  0x00002289 branch  0x00007f08 
+ 00012814  0x0000228c call  0x000032ad 
+ 00012815  0x0000228f setarg  0x00000000 
+ 00012816  0x00002290 arg  0x0000000c , 0x00000007 
+ 00012817  0x00002291 branch  0x00007f08 
+ 00012818  0x00002294 call  0x000032bd 
+ 00012819  0x00002296 beq  0x00000001 , 0x00003216 
+ 00012820  0x00002297 beq  0x00000002 , 0x0000321b 
+ 00012821  0x00002298 rtn 
+ 00012822  0x0000229a setarg  0x0000010d 
+ 00012823  0x0000229b call  0x0000327e 
+ 00012824  0x0000229c arg  0x00000160 , 0x00000011 
+ 00012825  0x0000229d call  0x000032bf 
+ 00012826  0x000022a0 branch  0x0000322d 
+ 00012827  0x000022a3 setarg  0x0000010d 
+ 00012828  0x000022a4 call  0x0000327e 
+ 00012829  0x000022a5 arg  0x00000164 , 0x00000011 
+ 00012830  0x000022a6 call  0x000032bf 
+ 00012831  0x000022a9 branch  0x0000322d 
+ 00012832  0x000022ac call  0x00002c7a 
+ 00012833  0x000022ad add  0x00000013 , 0x000000cd , 0x00000005 
+ 00012834  0x000022ae istore  0x00000001 , 0x00000005 
+ 00012835  0x000022af rtn 
+ 00012836  0x000022b2 call  0x00002c7a 
+ 00012837  0x000022b3 add  0x00000013 , 0x000000be , 0x00000011 
+ 00012838  0x000022b4 branch  0x0000327f 
+ 00012839  0x000022b6 call  0x00002c7a 
+ 00012840  0x000022b7 add  0x00000013 , 0x000000be , 0x00000005 
+ 00012841  0x000022b8 branch  0x0000322d 
+ 00012842  0x000022bb add  0x00000013 , 0x000000ae , 0x00000011 
+ 00012843  0x000022bc branch  0x0000327f 
+ 00012844  0x000022be add  0x00000013 , 0x000000ae , 0x00000005 
+ 00012845  0x000022c0 istore  0x00000004 , 0x00000005 
+ 00012846  0x000022c1 rtn 
+ 00012847  0x000022c4 add  0x00000013 , 0x00000090 , 0x00000005 
+ 00012848  0x000022c5 branch  0x000032b4 
+ 00012849  0x000022c8 setarg  0x00000000 
+ 00012850  0x000022ca call  0x00002c7a 
+ 00012851  0x000022cb add  0x00000013 , 0x00000085 , 0x00000005 
+ 00012852  0x000022cc branch  0x000032b4 
+ 00012853  0x000022cf add  0x00000013 , 0x00000042 , 0x00000005 
+ 00012854  0x000022d0 branch  0x000032b4 
+ 00012855  0x000022d3 setarg  0x00000004 
+ 00012856  0x000022d5 add  0x00000013 , 0x000000cc , 0x00000005 
+ 00012857  0x000022d6 branch  0x000032b4 
+ 00012858  0x000022d9 add  0x00000013 , 0x00000087 , 0x00000011 
+ 00012859  0x000022da branch  0x000032d1 
+ 00012860  0x000022dc add  0x00000013 , 0x00000087 , 0x00000005 
+ 00012861  0x000022dd branch  0x000032b4 
+ 00012862  0x000022e0 setarg  0x00000002 
+ 00012863  0x000022e2 add  0x00000013 , 0x000000d0 , 0x00000005 
+ 00012864  0x000022e3 branch  0x000032b4 
+ 00012865  0x000022e6 setarg  0x00000001 
+ 00012866  0x000022e8 call  0x00002c7a 
+ 00012867  0x000022e9 add  0x00000013 , 0x000000ce , 0x00000005 
+ 00012868  0x000022ea branch  0x000032b4 
+ 00012869  0x000022ed call  0x00002c7a 
+ 00012870  0x000022ee add  0x00000013 , 0x000000b4 , 0x00000011 
+ 00012871  0x000022ef branch  0x000032d1 
+ 00012872  0x000022f1 setarg  0x00000001 
+ 00012873  0x000022f3 call  0x00002c7a 
+ 00012874  0x000022f4 add  0x00000013 , 0x000000b4 , 0x00000005 
+ 00012875  0x000022f5 branch  0x000032b4 
+ 00012876  0x000022f8 call  0x00002c7a 
+ 00012877  0x000022f9 add  0x00000013 , 0x000000b2 , 0x00000011 
+ 00012878  0x000022fa branch  0x000032d1 
+ 00012879  0x000022fc setarg  0x00000001 
+ 00012880  0x000022fe call  0x00002c7a 
+ 00012881  0x000022ff add  0x00000013 , 0x000000b2 , 0x00000005 
+ 00012882  0x00002300 branch  0x000032b4 
+ 00012883  0x00002303 call  0x00002c7a 
+ 00012884  0x00002304 add  0x00000013 , 0x00000096 , 0x00000011 
+ 00012885  0x00002305 branch  0x000032d1 
+ 00012886  0x00002307 add  0x00000013 , 0x00000096 , 0x00000005 
+ 00012887  0x00002308 branch  0x000032b4 
+ 00012888  0x0000230b add  0x00000013 , 0x000000cf , 0x00000011 
+ 00012889  0x0000230c branch  0x000032d1 
+ 00012890  0x0000230e setarg  0x00000000 
+ 00012891  0x00002310 add  0x00000013 , 0x000000cf , 0x00000005 
+ 00012892  0x00002311 branch  0x000032b4 
+ 00012893  0x00002314 add  0x00000013 , 0x000000d2 , 0x00000011 
+ 00012894  0x00002315 branch  0x000032d1 
+ 00012895  0x00002318 add  0x00000013 , 0x00000001 , 0x00000011 
+ 00012896  0x00002319 branch  0x000032d1 
+ 00012897  0x0000231c add  0x00000013 , 0x000000b5 , 0x00000011 
+ 00012898  0x0000231d branch  0x000032d1 
+ 00012899  0x0000231f setarg  0x00000000 
+ 00012900  0x00002321 call  0x00002c7a 
+ 00012901  0x00002322 add  0x00000013 , 0x000000b5 , 0x00000005 
+ 00012902  0x00002323 branch  0x000032b4 
+ 00012903  0x00002326 call  0x00002c7a 
+ 00012904  0x00002327 add  0x00000013 , 0x000000fb , 0x00000011 
+ 00012905  0x00002328 ifetch  0x00000001 , 0x00000011 
+ 00012906  0x0000232a store  0x00000001 , 0x000041de 
+ 00012907  0x0000232b rtn 
+ 00012908  0x0000232e call  0x00002c7a 
+ 00012909  0x0000232f fetch  0x00000001 , 0x000041de 
+ 00012910  0x00002331 add  0x00000013 , 0x000000fb , 0x00000005 
+ 00012911  0x00002332 branch  0x000032b4 
+ 00012912  0x00002335 add  0x00000013 , 0x000000fc , 0x00000011 
+ 00012913  0x00002336 branch  0x000032d1 
+ 00012914  0x00002339 add  0x00000013 , 0x000000fe , 0x00000005 
+ 00012915  0x0000233a branch  0x000032b4 
+ 00012916  0x0000233d setarg  0x00000109 
+ 00012917  0x0000233f iadd  0x00000013 , 0x00000011 
+ 00012918  0x00002340 ifetcht  0x00000001 , 0x00000011 
+ 00012919  0x00002341 rtn 
+ 00012920  0x00002344 setarg  0x00000135 
+ 00012921  0x00002345 branch  0x000032d0 
+ 00012922  0x00002347 setarg  0x00000000 
+ 00012923  0x00002349 arg  0x00000135 , 0x00000011 
+ 00012924  0x0000234a branch  0x000032b3 
+ 00012925  0x0000234d setarg  0x0000012b 
+ 00012926  0x0000234f call  0x000032cd 
+ 00012927  0x00002351 ifetch  0x00000004 , 0x00000011 
+ 00012928  0x00002352 rtn 
+ 00012929  0x00002355 setarg  0x0000015f 
+ 00012930  0x00002356 branch  0x000032d0 
+ 00012931  0x00002358 setarg  0x00000000 
+ 00012932  0x0000235a arg  0x0000015f , 0x00000011 
+ 00012933  0x0000235b branch  0x000032b3 
+ 00012934  0x0000235e setarg  0x00000000 
+ 00012935  0x00002360 arg  0x0000015c , 0x00000011 
+ 00012936  0x00002361 branch  0x000032b3 
+ 00012937  0x00002364 arg  0x0000012f , 0x00000011 
+ 00012938  0x00002365 branch  0x000032b3 
+ 00012939  0x00002368 setarg  0x00000108 
+ 00012940  0x00002369 branch  0x000032d0 
+ 00012941  0x0000236b arg  0x00000108 , 0x00000011 
+ 00012942  0x0000236c branch  0x000032b3 
+ 00012943  0x0000236f setarg  0x00000105 
+ 00012944  0x00002370 branch  0x000032d0 
+ 00012945  0x00002372 setarg  0x00000000 
+ 00012946  0x00002374 arg  0x00000105 , 0x00000011 
+ 00012947  0x00002375 branch  0x000032b3 
+ 00012948  0x00002378 setarg  0x00000104 
+ 00012949  0x00002379 branch  0x000032d0 
+ 00012950  0x0000237b setarg  0x00000000 
+ 00012951  0x0000237d arg  0x00000104 , 0x00000011 
+ 00012952  0x0000237e branch  0x000032b3 
+ 00012953  0x00002381 setarg  0x00000000 
+ 00012954  0x00002383 arg  0x0000013b , 0x00000011 
+ 00012955  0x00002384 branch  0x000032b3 
+ 00012956  0x00002386 setarg  0x00000001 
+ 00012957  0x00002387 branch  0x0000329a 
+ 00012958  0x0000238a setarg  0x0000010c 
+ 00012959  0x0000238b call  0x000032cd 
+ 00012960  0x0000238c ifetch  0x00000007 , 0x00000011 
+ 00012961  0x0000238d rtn 
+ 00012962  0x00002390 setarg  0x0000015e 
+ 00012963  0x00002391 branch  0x000032d0 
+ 00012964  0x00002393 setarg  0x00000000 
+ 00012965  0x00002395 arg  0x0000015e , 0x00000011 
+ 00012966  0x00002396 branch  0x000032b3 
+ 00012967  0x00002399 setarg  0x00000000 
+ 00012968  0x0000239b arg  0x00000180 , 0x00000011 
+ 00012969  0x0000239c branch  0x000032b3 
+ 00012970  0x0000239f setarg  0x00000000 
+ 00012971  0x000023a1 arg  0x0000017e , 0x00000011 
+ 00012972  0x000023a2 branch  0x000032b3 
+ 00012973  0x000023a5 setarg  0x00000000 
+ 00012974  0x000023a7 arg  0x0000017f , 0x00000011 
+ 00012975  0x000023a8 branch  0x000032b3 
+ 00012976  0x000023ab arg  0x00000102 , 0x00000011 
+ 00012977  0x000023ac branch  0x000032b3 
+ 00012978  0x000023af arg  0x00000103 , 0x00000011 
+ 00012979  0x000023b1 call  0x000032c7 
+ 00012980  0x000023b3 istore  0x00000001 , 0x00000005 
+ 00012981  0x000023b4 rtn 
+ 00012982  0x000023b7 setarg  0x0000015d 
+ 00012983  0x000023b8 branch  0x000032d0 
+ 00012984  0x000023bb arg  0x0000015d , 0x00000011 
+ 00012985  0x000023bc branch  0x000032b3 
+ 00012986  0x000023bf setarg  0x0000018a 
+ 00012987  0x000023c0 call  0x000032d0 
+ 00012988  0x000023c1 branch  0x0000326a 
+ 00012989  0x000023c4 setarg  0x0000010c 
+ 00012990  0x000023c5 branch  0x000032d0 
+ 00012991  0x000023c8 copy  0x0000003f , 0x00000002 
+ 00012992  0x000023c9 copy  0x00000011 , 0x0000003f 
+ 00012993  0x000023ca iadd  0x00000013 , 0x00000005 
+ 00012994  0x000023cb copy  0x00000002 , 0x0000003f 
+ 00012995  0x000023cc rtn 
+ 00012996  0x000023cf call  0x000032bf 
+ 00012997  0x000023d1 istore  0x00000003 , 0x00000005 
+ 00012998  0x000023d2 rtn 
+ 00012999  0x000023d5 call  0x00002c7a 
+ 00013000  0x000023d7 copy  0x0000003f , 0x00000012 
+ 00013001  0x000023d8 copy  0x00000011 , 0x0000003f 
+ 00013002  0x000023d9 iadd  0x00000013 , 0x00000005 
+ 00013003  0x000023da copy  0x00000012 , 0x0000003f 
+ 00013004  0x000023db rtn 
+ 00013005  0x000023de call  0x00002c7a 
+ 00013006  0x000023df iadd  0x00000013 , 0x00000011 
+ 00013007  0x000023e0 rtn 
+ 00013008  0x000023e3 call  0x000032cd 
+ 00013009  0x000023e5 ifetch  0x00000001 , 0x00000011 
+ 00013010  0x000023e6 rtn 
+ 00013011  0x000023e9 call  0x000032cd 
+ 00013012  0x000023ea ifetcht  0x00000004 , 0x00000011 
+ 00013013  0x000023eb rtn 
+ 00013014  0x000023ee setarg  0x00000000 
+ 00013015  0x000023ef branch  0x000032b4 
+ 00013016  0x000023f4 bpatch  0x000000c4 , 0x00004018 
+ 00013017  0x000023f5 fetch  0x00000001 , 0x00004092 
+ 00013018  0x000023f6 branch  0x000032d8 , 0x00000034 
+ 00013019  0x000023f8 beq  0x00000004 , 0x00002f30 
+ 00013020  0x000023f9 beq  0x0000000f , 0x00003436 
+ 00013021  0x000023fa beq  0x00000009 , 0x000045de 
+ 00013022  0x000023fb beq  0x0000000a , 0x0000392a 
+ 00013023  0x000023fc beq  0x0000000e , 0x000035bf 
+ 00013024  0x000023fd beq  0x00000010 , 0x000044a4 
+ 00013025  0x000023fe bbit1  0x00000006 , 0x00003d00 
+ 00013026  0x000023ff rtn 
+ 00013027  0x00002402 bpatch  0x000000c5 , 0x00004018 
+ 00013028  0x00002403 jam  0x00000000 , 0x00000151 
+ 00013029  0x00002404 jam  0x00000000 , 0x0000017f 
+ 00013030  0x00002405 jam  0x00000000 , 0x00000180 
+ 00013031  0x00002406 setarg  0x00000000 
+ 00013032  0x00002407 store  0x00000005 , 0x000009ae 
+ 00013033  0x00002408 fetch  0x00000001 , 0x00004092 
+ 00013034  0x00002409 branch  0x000032e3 , 0x00000034 
+ 00013035  0x0000240a beq  0x0000000a , 0x00003962 
+ 00013036  0x0000240c rtn 
+ 00013037  0x00002410 call  0x00007cd1 
+ 00013038  0x00002411 call  0x00007d9c 
+ 00013039  0x00002412 call  0x000032f6 
+ 00013040  0x00002413 fetch  0x00000002 , 0x000041f3 
+ 00013041  0x00002414 branch  0x00007f9c 
+ 00013042  0x00002417 fetch  0x00000002 , 0x000041f1 
+ 00013043  0x00002418 branch  0x00007f9c 
+ 00013044  0x0000241b fetch  0x00000002 , 0x000041ef 
+ 00013045  0x0000241c branch  0x00007f9c 
+ 00013046  0x0000241f bpatch  0x000000c6 , 0x00004018 
+ 00013047  0x00002421 arg  0x00004668 , 0x00000011 
+ 00013048  0x00002422 call  0x00007fc4 
+ 00013049  0x00002423 rtn  0x00000034 
+ 00013050  0x00002425 copy  0x0000003f , 0x00000013 
+ 00013051  0x00002426 call  0x000032ff 
+ 00013052  0x00002427 branch  0x00003324 
+ 00013053  0x0000242a arg  0x00000000 , 0x00000013 
+ 00013054  0x0000242b rtn 
+ 00013055  0x00002431 beq  0x00000001 , 0x00003311 
+ 00013056  0x00002432 beq  0x00000010 , 0x00003357 
+ 00013057  0x00002433 beq  0x00000005 , 0x00003335 
+ 00013058  0x00002434 beq  0x00000012 , 0x0000333c 
+ 00013059  0x00002435 beq  0x00000006 , 0x00003353 
+ 00013060  0x00002436 beq  0x00000004 , 0x00003394 
+ 00013061  0x00002437 beq  0x00000002 , 0x00003399 
+ 00013062  0x00002438 beq  0x00000013 , 0x00003394 
+ 00013063  0x00002439 beq  0x00000014 , 0x0000334b 
+ 00013064  0x0000243a beq  0x00000015 , 0x0000334f 
+ 00013065  0x0000243b beq  0x00000003 , 0x0000332e 
+ 00013066  0x0000243c beq  0x0000000b , 0x00003340 
+ 00013067  0x0000243d beq  0x0000000c , 0x00003347 
+ 00013068  0x0000243f beq  0x00000016 , 0x0000335b 
+ 00013069  0x00002440 beq  0x00000018 , 0x0000332a 
+ 00013070  0x00002441 beq  0x0000002a , 0x0000331a 
+ 00013071  0x00002442 beq  0x0000002b , 0x00003318 
+ 00013072  0x00002443 rtn 
+ 00013073  0x00002447 fetch  0x00000002 , 0x00004682 
+ 00013074  0x00002448 set1  0x00000000 , 0x0000003f 
+ 00013075  0x00002449 store  0x00000002 , 0x00004682 
+ 00013076  0x0000244a fetch  0x00000002 , 0x0000420a 
+ 00013077  0x0000244b set0  0x00000000 , 0x0000003f 
+ 00013078  0x0000244c store  0x00000002 , 0x0000420a 
+ 00013079  0x0000244d rtn 
+ 00013080  0x00002450 jam  0x00000000 , 0x00000229 
+ 00013081  0x00002451 rtn 
+ 00013082  0x00002454 fetch  0x00000001 , 0x00000229 
+ 00013083  0x00002455 increase  0x00000001 , 0x0000003f 
+ 00013084  0x00002456 store  0x00000001 , 0x00000229 
+ 00013085  0x00002457 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00013086  0x00002458 branch  0x000033df , 0x00000002 
+ 00013087  0x00002459 jam  0x00000000 , 0x00000229 
+ 00013088  0x0000245a fetch  0x00000002 , 0x0000420a 
+ 00013089  0x0000245b set1  0x00000009 , 0x0000003f 
+ 00013090  0x0000245c store  0x00000002 , 0x0000420a 
+ 00013091  0x0000245d branch  0x000033e9 
+ 00013092  0x00002460 fetch  0x00000002 , 0x000041f5 
+ 00013093  0x00002461 branch  0x00007f9c 
+ 00013094  0x00002464 fetch  0x00000002 , 0x000041e9 
+ 00013095  0x00002465 branch  0x00007f9c 
+ 00013096  0x00002468 fetch  0x00000002 , 0x000041ed 
+ 00013097  0x00002469 branch  0x00007f9c 
+ 00013098  0x0000246c fetch  0x00000002 , 0x0000420a 
+ 00013099  0x0000246d set1  0x00000001 , 0x0000003f 
+ 00013100  0x0000246e store  0x00000002 , 0x0000420a 
+ 00013101  0x0000246f branch  0x00003412 
+ 00013102  0x00002472 fetch  0x00000002 , 0x00004682 
+ 00013103  0x00002473 set1  0x00000007 , 0x0000003f 
+ 00013104  0x00002474 store  0x00000002 , 0x00004682 
+ 00013105  0x00002475 fetch  0x00000002 , 0x0000420a 
+ 00013106  0x00002476 set1  0x00000002 , 0x0000003f 
+ 00013107  0x00002477 store  0x00000002 , 0x0000420a 
+ 00013108  0x00002478 rtn 
+ 00013109  0x0000247b fetch  0x00000002 , 0x00004682 
+ 00013110  0x0000247c set1  0x00000001 , 0x0000003f 
+ 00013111  0x0000247d store  0x00000002 , 0x00004682 
+ 00013112  0x0000247e fetch  0x00000002 , 0x0000420a 
+ 00013113  0x0000247f set1  0x00000004 , 0x0000003f 
+ 00013114  0x00002480 store  0x00000002 , 0x0000420a 
+ 00013115  0x00002481 rtn 
+ 00013116  0x00002484 fetch  0x00000002 , 0x00004682 
+ 00013117  0x00002485 set1  0x00000003 , 0x0000003f 
+ 00013118  0x00002486 store  0x00000002 , 0x00004682 
+ 00013119  0x00002487 rtn 
+ 00013120  0x0000248a fetch  0x00000002 , 0x00004682 
+ 00013121  0x0000248b set1  0x00000005 , 0x0000003f 
+ 00013122  0x0000248c store  0x00000002 , 0x00004682 
+ 00013123  0x0000248d fetch  0x00000002 , 0x0000420a 
+ 00013124  0x0000248e set1  0x00000003 , 0x0000003f 
+ 00013125  0x0000248f store  0x00000002 , 0x0000420a 
+ 00013126  0x00002490 rtn 
+ 00013127  0x00002493 fetch  0x00000002 , 0x00004682 
+ 00013128  0x00002494 set0  0x00000005 , 0x0000003f 
+ 00013129  0x00002495 store  0x00000002 , 0x00004682 
+ 00013130  0x00002496 rtn 
+ 00013131  0x00002499 fetch  0x00000002 , 0x00004682 
+ 00013132  0x0000249a set1  0x00000009 , 0x0000003f 
+ 00013133  0x0000249b store  0x00000002 , 0x00004682 
+ 00013134  0x0000249c rtn 
+ 00013135  0x0000249f fetch  0x00000002 , 0x00004682 
+ 00013136  0x000024a0 set0  0x00000009 , 0x0000003f 
+ 00013137  0x000024a1 store  0x00000002 , 0x00004682 
+ 00013138  0x000024a2 branch  0x00003418 
+ 00013139  0x000024a5 fetch  0x00000002 , 0x00004682 
+ 00013140  0x000024a6 set1  0x00000002 , 0x0000003f 
+ 00013141  0x000024a7 store  0x00000002 , 0x00004682 
+ 00013142  0x000024a8 rtn 
+ 00013143  0x000024ab fetch  0x00000002 , 0x0000420a 
+ 00013144  0x000024ac set1  0x00000000 , 0x0000003f 
+ 00013145  0x000024ad store  0x00000002 , 0x0000420a 
+ 00013146  0x000024ae rtn 
+ 00013147  0x000024b1 fetch  0x00000002 , 0x0000420a 
+ 00013148  0x000024b2 set1  0x00000008 , 0x0000003f 
+ 00013149  0x000024b3 store  0x00000002 , 0x0000420a 
+ 00013150  0x000024b4 branch  0x000033e9 
+ 00013151  0x000024b8 bpatch  0x000000c7 , 0x00004018 
+ 00013152  0x000024b9 store  0x00000001 , 0x0000022a 
+ 00013153  0x000024bb fetch  0x00000001 , 0x0000022a 
+ 00013154  0x000024bc rtn  0x00000034 
+ 00013155  0x000024bd increase  0xffffffff , 0x0000003f 
+ 00013156  0x000024be store  0x00000001 , 0x0000022a 
+ 00013157  0x000024bf call  0x00007cdd 
+ 00013158  0x000024c0 call  0x000033d6 
+ 00013159  0x000024c1 call  0x00003387 
+ 00013160  0x000024c2 call  0x0000338d 
+ 00013161  0x000024c3 call  0x0000651b 
+ 00013162  0x000024c4 fetch  0x00000002 , 0x000041fd 
+ 00013163  0x000024c5 call  0x00007f9c 
+ 00013164  0x000024c6 branch  0x00003361 
+ 00013165  0x000024cc ifetch  0x00000001 , 0x00000013 
+ 00013166  0x000024cd rtn  0x00000034 
+ 00013167  0x000024ce pincrease  0xffffffff 
+ 00013168  0x000024cf istore  0x00000001 , 0x00000013 
+ 00013169  0x000024d0 nrtn  0x00000034 
+ 00013170  0x000024d1 copy  0x00000012 , 0x0000003f 
+ 00013171  0x000024d2 branch  0x00007f9c 
+ 00013172  0x000024d7 ifetch  0x00000002 , 0x00000013 
+ 00013173  0x000024d8 rtn  0x00000034 
+ 00013174  0x000024d9 pincrease  0xffffffff 
+ 00013175  0x000024da istore  0x00000002 , 0x00000013 
+ 00013176  0x000024db nrtn  0x00000034 
+ 00013177  0x000024dc copy  0x00000012 , 0x0000003f 
+ 00013178  0x000024dd branch  0x00007f9c 
+ 00013179  0x000024e0 fetcht  0x00000002 , 0x0000423f 
+ 00013180  0x000024e1 add  0x00000002 , 0x00000001 , 0x00000013 
+ 00013181  0x000024e2 arg  0x0000337f , 0x00000012 
+ 00013182  0x000024e3 branch  0x0000336d 
+ 00013183  0x000024e6 call  0x0000342d 
+ 00013184  0x000024e7 beq  0x00000001 , 0x00003382 
+ 00013185  0x000024e9 branch  0x0000340a 
+ 00013186  0x000024eb setarg  0x00000002 
+ 00013187  0x000024ec istore  0x00000001 , 0x00000013 
+ 00013188  0x000024ed add  0x00000002 , 0x00000008 , 0x00000012 
+ 00013189  0x000024ef ifetch  0x00000002 , 0x00000012 
+ 00013190  0x000024f0 branch  0x00007f9c 
+ 00013191  0x000024f3 arg  0x00004205 , 0x00000013 
+ 00013192  0x000024f4 arg  0x0000338a , 0x00000012 
+ 00013193  0x000024f5 branch  0x0000336d 
+ 00013194  0x000024f8 call  0x00002252 
+ 00013195  0x000024f9 branch  0x0000340e , 0x00000005 
+ 00013196  0x000024fa rtn 
+ 00013197  0x000024fe arg  0x0000467e , 0x00000013 
+ 00013198  0x000024ff arg  0x00003390 , 0x00000012 
+ 00013199  0x00002500 branch  0x00003374 
+ 00013200  0x00002503 call  0x000033f0 
+ 00013201  0x00002504 call  0x00003408 
+ 00013202  0x00002505 fetch  0x00000002 , 0x000041f7 
+ 00013203  0x00002506 branch  0x00007f9c 
+ 00013204  0x0000250a call  0x000033ac 
+ 00013205  0x0000250c fetch  0x00000002 , 0x00004682 
+ 00013206  0x0000250d set0  0x00000007 , 0x0000003f 
+ 00013207  0x0000250e store  0x00000002 , 0x00004682 
+ 00013208  0x0000250f rtn 
+ 00013209  0x00002512 jam  0x00000000 , 0x00004205 
+ 00013210  0x00002513 fetch  0x00000002 , 0x00004682 
+ 00013211  0x00002514 bbit1  0x00000007 , 0x0000339e 
+ 00013212  0x00002515 isolate0  0x00000001 , 0x0000003f 
+ 00013213  0x00002516 call  0x000032fd , 0x00000001 
+ 00013214  0x00002518 bpatch  0x000000c8 , 0x00004019 
+ 00013215  0x00002519 fetch  0x00000002 , 0x00004682 
+ 00013216  0x0000251a set0  0x00000000 , 0x0000003f 
+ 00013217  0x0000251b set0  0x00000001 , 0x0000003f 
+ 00013218  0x0000251c set0  0x00000002 , 0x0000003f 
+ 00013219  0x0000251d set0  0x00000003 , 0x0000003f 
+ 00013220  0x0000251e set0  0x00000007 , 0x0000003f 
+ 00013221  0x0000251f store  0x00000002 , 0x00004682 
+ 00013222  0x00002520 branch  0x00003418 
+ 00013223  0x00002523 call  0x000033a9 
+ 00013224  0x00002524 branch  0x0000340a 
+ 00013225  0x00002528 setarg  0x00000000 
+ 00013226  0x00002529 store  0x00000002 , 0x00004208 
+ 00013227  0x0000252a rtn 
+ 00013228  0x0000252c setarg  0x00000000 
+ 00013229  0x0000252d store  0x00000002 , 0x0000420a 
+ 00013230  0x0000252e rtn 
+ 00013231  0x00002531 fetch  0x00000002 , 0x0000420a 
+ 00013232  0x00002532 store  0x00000002 , 0x00004208 
+ 00013233  0x00002533 setarg  0x00000000 
+ 00013234  0x00002534 store  0x00000002 , 0x0000420a 
+ 00013235  0x00002535 rtn 
+ 00013236  0x00002538 fetch  0x00000002 , 0x0000420a 
+ 00013237  0x00002539 set1  0x00000007 , 0x0000003f 
+ 00013238  0x0000253a store  0x00000002 , 0x00004208 
+ 00013239  0x0000253b setarg  0x00000000 
+ 00013240  0x0000253c store  0x00000002 , 0x0000420a 
+ 00013241  0x0000253d rtn 
+ 00013242  0x00002546 fetch  0x00000001 , 0x00004682 
+ 00013243  0x00002547 isolate1  0x00000005 , 0x0000003f 
+ 00013244  0x00002548 rtn 
+ 00013245  0x00002551 setarg  0x0000aa55 
+ 00013246  0x00002553 store  0x00000002 , 0x00000aaa 
+ 00013247  0x00002554 bpatch  0x000000c9 , 0x00004019 
+ 00013248  0x00002555 arg  0x00000002 , 0x00000002 
+ 00013249  0x00002556 arg  0x00000aaa , 0x00000011 
+ 00013250  0x00002557 arg  0x000000c3 , 0x00000012 
+ 00013251  0x00002558 branch  0x00006606 
+ 00013252  0x0000255c bpatch  0x000000ca , 0x00004019 
+ 00013253  0x0000255d arg  0x00000002 , 0x00000002 
+ 00013254  0x0000255e arg  0x00000a9a , 0x00000011 
+ 00013255  0x0000255f arg  0x000000c3 , 0x00000012 
+ 00013256  0x00002560 call  0x000065df 
+ 00013257  0x00002561 fetch  0x00000002 , 0x00000a9a 
+ 00013258  0x00002562 arg  0x0000aa55 , 0x00000002 
+ 00013259  0x00002563 isub  0x00000002 , 0x0000003e 
+ 00013260  0x00002564 rtn 
+ 00013261  0x00002568 fetch  0x00000001 , 0x0000455a 
+ 00013262  0x00002569 store  0x00000001 , 0x00004205 
+ 00013263  0x0000256a rtn 
+ 00013264  0x0000256d arg  0x00000009 , 0x00000007 
+ 00013265  0x0000256e branch  0x00002c32 
+ 00013266  0x00002571 arg  0x00000009 , 0x00000007 
+ 00013267  0x00002572 branch  0x00002c36 
+ 00013268  0x00002575 jam  0x00000005 , 0x00004206 
+ 00013269  0x00002576 branch  0x000033d0 
+ 00013270  0x00002579 arg  0x00004206 , 0x00000013 
+ 00013271  0x0000257a arg  0x000033d2 , 0x00000012 
+ 00013272  0x0000257b branch  0x0000336d 
+ 00013273  0x0000257e jam  0x00000001 , 0x00004363 
+ 00013274  0x0000257f rtn 
+ 00013275  0x00002582 jam  0x00000000 , 0x00004363 
+ 00013276  0x00002583 rtn 
+ 00013277  0x00002586 jam  0x0000000a , 0x00000a99 
+ 00013278  0x00002587 branch  0x00007d8f 
+ 00013279  0x0000258a jam  0x0000001d , 0x00000a99 
+ 00013280  0x0000258b branch  0x00007d8f 
+ 00013281  0x0000258e bpatch  0x000000cb , 0x00004019 
+ 00013282  0x0000258f fetch  0x00000001 , 0x00004207 
+ 00013283  0x00002590 store  0x00000001 , 0x0000016d 
+ 00013284  0x00002591 jam  0x00000001 , 0x00000228 
+ 00013285  0x00002592 jam  0x00000003 , 0x00000a99 
+ 00013286  0x00002593 branch  0x00007d8f 
+ 00013287  0x00002596 jam  0x0000001e , 0x00000a99 
+ 00013288  0x00002597 branch  0x00007d8f 
+ 00013289  0x0000259a jam  0x00000004 , 0x00000a99 
+ 00013290  0x0000259b branch  0x00007d8f 
+ 00013291  0x0000259e fetch  0x00000002 , 0x00004687 
+ 00013292  0x0000259f store  0x00000002 , 0x0000467e 
+ 00013293  0x000025a1 call  0x00003404 
+ 00013294  0x000025a3 jam  0x00000001 , 0x00000a99 
+ 00013295  0x000025a4 branch  0x00007d8f 
+ 00013296  0x000025a7 setarg  0x00000000 
+ 00013297  0x000025a8 store  0x00000002 , 0x0000467e 
+ 00013298  0x000025a9 jam  0x00000002 , 0x00000a99 
+ 00013299  0x000025aa branch  0x00007d8f 
+ 00013300  0x000025ad jam  0x0000000f , 0x00000a99 
+ 00013301  0x000025ae branch  0x00007d8f 
+ 00013302  0x000025b1 jam  0x00000010 , 0x00000a99 
+ 00013303  0x000025b2 branch  0x00007d8f 
+ 00013304  0x000025b5 jam  0x0000000e , 0x00000a99 
+ 00013305  0x000025b6 branch  0x00007d8f 
+ 00013306  0x000025b9 jam  0x0000000d , 0x00000a99 
+ 00013307  0x000025ba branch  0x00007d8f 
+ 00013308  0x000025bd jam  0x00000017 , 0x00000a99 
+ 00013309  0x000025be branch  0x00007d8f 
+ 00013310  0x000025c1 jam  0x00000018 , 0x00000a99 
+ 00013311  0x000025c2 branch  0x00007d8f 
+ 00013312  0x000025c5 jam  0x00000016 , 0x00000a99 
+ 00013313  0x000025c6 branch  0x00007d8f 
+ 00013314  0x000025c9 jam  0x00000011 , 0x00000a99 
+ 00013315  0x000025ca branch  0x00007d8f 
+ 00013316  0x000025cd jam  0x00000015 , 0x00000a99 
+ 00013317  0x000025ce branch  0x00007d8f 
+ 00013318  0x000025d1 jam  0x00000014 , 0x00000a99 
+ 00013319  0x000025d2 branch  0x00007d8f 
+ 00013320  0x000025d6 jam  0x00000013 , 0x00000a99 
+ 00013321  0x000025d7 branch  0x00007d8f 
+ 00013322  0x000025da jam  0x00000019 , 0x00000a99 
+ 00013323  0x000025db branch  0x00007d8f 
+ 00013324  0x000025de jam  0x00000006 , 0x00000a99 
+ 00013325  0x000025df branch  0x00007d8f 
+ 00013326  0x000025e2 jam  0x00000005 , 0x00000a99 
+ 00013327  0x000025e3 branch  0x00007d8f 
+ 00013328  0x000025e6 jam  0x0000001f , 0x00000a99 
+ 00013329  0x000025e7 branch  0x00007d8f 
+ 00013330  0x000025ea jam  0x00000020 , 0x00000a99 
+ 00013331  0x000025eb branch  0x00007d8f 
+ 00013332  0x000025ee jam  0x00000025 , 0x00000a99 
+ 00013333  0x000025ef branch  0x00007d8f 
+ 00013334  0x000025f2 set1  0x0000000d , 0x00000000 
+ 00013335  0x000025f3 rtn 
+ 00013336  0x000025f6 set0  0x0000000d , 0x00000000 
+ 00013337  0x000025f7 rtn 
+ 00013338  0x0000260c call  0x0000342d 
+ 00013339  0x0000260d beq  0x00000002 , 0x00003424 
+ 00013340  0x0000260f setarg  0x00000001 
+ 00013341  0x00002610 istore  0x00000001 , 0x00000013 
+ 00013342  0x00002611 add  0x00000002 , 0x00000003 , 0x00000011 
+ 00013343  0x00002612 add  0x00000002 , 0x00000006 , 0x00000012 
+ 00013344  0x00002614 ifetcht  0x00000001 , 0x00000011 
+ 00013345  0x00002615 increase  0x00000001 , 0x00000013 
+ 00013346  0x00002616 istoret  0x00000001 , 0x00000013 
+ 00013347  0x00002617 branch  0x00003385 
+ 00013348  0x0000261a setarg  0x00000000 
+ 00013349  0x0000261b istore  0x00000001 , 0x00000013 
+ 00013350  0x0000261c fetch  0x00000002 , 0x00004682 
+ 00013351  0x0000261d bbit0  0x00000009 , 0x00003429 
+ 00013352  0x0000261e call  0x00003402 
+ 00013353  0x00002620 fetcht  0x00000002 , 0x0000423f 
+ 00013354  0x00002621 add  0x00000002 , 0x00000002 , 0x00000011 
+ 00013355  0x00002622 add  0x00000002 , 0x00000004 , 0x00000012 
+ 00013356  0x00002623 branch  0x00003420 
+ 00013357  0x00002626 fetcht  0x00000002 , 0x0000423f 
+ 00013358  0x00002627 add  0x00000002 , 0x00000000 , 0x00000013 
+ 00013359  0x00002628 ifetch  0x00000001 , 0x00000013 
+ 00013360  0x00002629 rtn 
+ 00013361  0x0000262c call  0x0000342d 
+ 00013362  0x0000262d bne  0x00000000 , 0x00003434 
+ 00013363  0x0000262e branch  0x0000340a 
+ 00013364  0x00002630 add  0x00000002 , 0x0000000a , 0x00000012 
+ 00013365  0x00002631 branch  0x00003385 
+ 00013366  0x00002634 rtn  0x0000002b 
+ 00013367  0x00002635 jam  0x00000000 , 0x00008081 
+ 00013368  0x00002636 setarg  0x00003463 
+ 00013369  0x00002637 store  0x00000002 , 0x000041eb 
+ 00013370  0x00002638 setarg  0x0000696c 
+ 00013371  0x00002639 store  0x00000002 , 0x000041ed 
+ 00013372  0x0000263a setarg  0x000034f5 
+ 00013373  0x0000263b store  0x00000002 , 0x000041f3 
+ 00013374  0x0000263c setarg  0x000034f4 
+ 00013375  0x0000263d store  0x00000002 , 0x000041ef 
+ 00013376  0x0000263e setarg  0x0000347e 
+ 00013377  0x0000263f store  0x00000002 , 0x000041f5 
+ 00013378  0x00002640 setarg  0x000034b2 
+ 00013379  0x00002641 store  0x00000002 , 0x000041fd 
+ 00013380  0x00002642 setarg  0x00003465 
+ 00013381  0x00002643 store  0x00000002 , 0x000041fb 
+ 00013382  0x00002644 setarg  0x00003470 
+ 00013383  0x00002645 store  0x00000002 , 0x000041e9 
+ 00013384  0x00002646 setarg  0x00003501 
+ 00013385  0x00002647 store  0x00000002 , 0x000041f9 
+ 00013386  0x00002648 bpatch  0x000000cc , 0x00004019 
+ 00013387  0x00002649 call  0x0000359b 
+ 00013388  0x0000264a call  0x00006948 
+ 00013389  0x0000264b call  0x000035ad 
+ 00013390  0x0000264c call  0x00007d08 
+ 00013391  0x0000264d call  0x00007cd3 
+ 00013392  0x0000264e setarg  0x0000350b 
+ 00013393  0x0000264f store  0x00000002 , 0x00004766 
+ 00013394  0x00002650 setarg  0x000034fc 
+ 00013395  0x00002651 store  0x00000002 , 0x0000475d 
+ 00013396  0x00002652 setarg  0x000034f8 
+ 00013397  0x00002653 store  0x00000002 , 0x0000475f 
+ 00013398  0x00002654 setarg  0x0000346c 
+ 00013399  0x00002655 store  0x00000002 , 0x00004761 
+ 00013400  0x00002656 setarg  0x000035a2 
+ 00013401  0x00002657 store  0x00000002 , 0x000046a9 
+ 00013402  0x00002658 setarg  0x000035a4 
+ 00013403  0x00002659 store  0x00000002 , 0x000046ab 
+ 00013404  0x0000265a setarg  0x000035a9 
+ 00013405  0x0000265b store  0x00000002 , 0x000046b4 
+ 00013406  0x0000265c setarg  0x000035a6 
+ 00013407  0x0000265d store  0x00000002 , 0x000046b6 
+ 00013408  0x0000265e fetch  0x00000002 , 0x00004682 
+ 00013409  0x0000265f rtnbit1  0x0000000c 
+ 00013410  0x00002660 branch  0x0000340a 
+ 00013411  0x00002663 call  0x00003586 
+ 00013412  0x00002664 branch  0x0000340a 
+ 00013413  0x00002667 call  0x00005892 
+ 00013414  0x00002668 nrtn  0x00000034 
+ 00013415  0x00002669 arg  0x00000b06 , 0x00000011 
+ 00013416  0x0000266a call  0x00007e54 
+ 00013417  0x0000266b nrtn  0x00000028 
+ 00013418  0x0000266c arg  0x00000b06 , 0x00000006 
+ 00013419  0x0000266d branch  0x00004746 
+ 00013420  0x00002670 fetch  0x00000002 , 0x00004797 
+ 00013421  0x00002671 store  0x00000002 , 0x00004791 
+ 00013422  0x00002672 jam  0x00000001 , 0x00004753 
+ 00013423  0x00002673 branch  0x0000358f 
+ 00013424  0x00002676 fetch  0x00000001 , 0x0000479d 
+ 00013425  0x00002677 beq  0x00000001 , 0x00003479 
+ 00013426  0x00002678 fetch  0x00000002 , 0x00004682 
+ 00013427  0x00002679 bbit0  0x00000009 , 0x00003479 
+ 00013428  0x0000267a fetch  0x00000001 , 0x0000479e 
+ 00013429  0x0000267b beq  0x00000001 , 0x000033d0 
+ 00013430  0x0000267c fetch  0x00000001 , 0x00004700 
+ 00013431  0x0000267d nbranch  0x000033d0 , 0x00000034 
+ 00013432  0x0000267e branch  0x000033d2 
+ 00013433  0x00002681 fetch  0x00000001 , 0x0000479b 
+ 00013434  0x00002682 fetcht  0x00000001 , 0x0000479c 
+ 00013435  0x00002683 ior  0x00000002 , 0x0000003f 
+ 00013436  0x00002684 beq  0x00000001 , 0x000033d0 
+ 00013437  0x00002685 branch  0x000033d2 
+ 00013438  0x00002688 copy  0x00000013 , 0x0000003f 
+ 00013439  0x00002689 beq  0x0000002d , 0x00003431 
+ 00013440  0x0000268a beq  0x00000010 , 0x0000341a 
+ 00013441  0x0000268b beq  0x00000014 , 0x000034df 
+ 00013442  0x0000268c beq  0x00000015 , 0x000034e8 
+ 00013443  0x0000268d beq  0x00000040 , 0x00003485 
+ 00013444  0x0000268e rtn 
+ 00013445  0x00002690 fetch  0x00000002 , 0x00004509 
+ 00013446  0x00002691 beq  0x00000001 , 0x0000348c 
+ 00013447  0x00002693 fetch  0x00000002 , 0x000043d8 
+ 00013448  0x00002694 branch  0x000034a2 , 0x00000034 
+ 00013449  0x00002696 jam  0x00000002 , 0x0000478a 
+ 00013450  0x00002697 jam  0x0000003c , 0x0000478f 
+ 00013451  0x00002698 rtn 
+ 00013452  0x0000269b fetch  0x00000002 , 0x0000449a 
+ 00013453  0x0000269c branch  0x000034a0 , 0x00000034 
+ 00013454  0x0000269e jam  0x00000001 , 0x0000478a 
+ 00013455  0x0000269f fetcht  0x00000002 , 0x000047b4 
+ 00013456  0x000026a0 fetch  0x00000002 , 0x00004496 
+ 00013457  0x000026a1 iadd  0x00000002 , 0x0000003f 
+ 00013458  0x000026a2 store  0x00000002 , 0x00004496 
+ 00013459  0x000026a3 copy  0x0000003f , 0x00000011 
+ 00013460  0x000026a4 fetch  0x00000002 , 0x00004498 
+ 00013461  0x000026a5 iadd  0x00000002 , 0x0000003f 
+ 00013462  0x000026a6 store  0x00000002 , 0x00004498 
+ 00013463  0x000026a7 iadd  0x00000011 , 0x0000003f 
+ 00013464  0x000026a8 rshift  0x0000003f , 0x00000002 
+ 00013465  0x000026a9 fetch  0x00000002 , 0x000047c0 
+ 00013466  0x000026aa idiv  0x00000002 
+ 00013467  0x000026ab call  0x00007f86 
+ 00013468  0x000026ac quotient  0x0000003f 
+ 00013469  0x000026ad store  0x00000002 , 0x0000449a 
+ 00013470  0x000026ae jam  0x00000001 , 0x00004790 
+ 00013471  0x000026af rtn 
+ 00013472  0x000026b1 jam  0x00000003 , 0x0000478a 
+ 00013473  0x000026b2 rtn 
+ 00013474  0x000026b5 jam  0x00000000 , 0x00004172 
+ 00013475  0x000026b6 jam  0x00000000 , 0x00004790 
+ 00013476  0x000026b7 fetch  0x00000002 , 0x000043d6 
+ 00013477  0x000026b8 fetcht  0x00000002 , 0x000047be 
+ 00013478  0x000026b9 isub  0x00000002 , 0x0000003e 
+ 00013479  0x000026ba setflag  0x00000002 , 0x00000000 , 0x00000011 
+ 00013480  0x000026bb fetch  0x00000002 , 0x000047c0 
+ 00013481  0x000026bc fetcht  0x00000002 , 0x000043d6 
+ 00013482  0x000026bd isub  0x00000002 , 0x0000003f 
+ 00013483  0x000026be setflag  0x00000002 , 0x00000001 , 0x00000011 
+ 00013484  0x000026bf compare  0x00000003 , 0x00000011 , 0x00000003 
+ 00013485  0x000026c0 rtn  0x00000001 
+ 00013486  0x000026c1 fetch  0x00000008 , 0x000047be 
+ 00013487  0x000026c2 store  0x00000008 , 0x00004496 
+ 00013488  0x000026c3 jam  0x00000001 , 0x00004790 
+ 00013489  0x000026c4 rtn 
+ 00013490  0x000026c9 call  0x0000337b 
+ 00013491  0x000026ca call  0x000034b9 
+ 00013492  0x000026cb call  0x000034be 
+ 00013493  0x000026cc call  0x000034d5 
+ 00013494  0x000026cd call  0x000034ca 
+ 00013495  0x000026ce call  0x000034c4 
+ 00013496  0x000026cf branch  0x000034d9 
+ 00013497  0x000026d3 arg  0x00004799 , 0x00000013 
+ 00013498  0x000026d4 arg  0x000034bc , 0x00000012 
+ 00013499  0x000026d5 branch  0x0000336d 
+ 00013500  0x000026d7 jam  0x00000000 , 0x0000479a 
+ 00013501  0x000026d8 rtn 
+ 00013502  0x000026da arg  0x00004793 , 0x00000013 
+ 00013503  0x000026db arg  0x000034c1 , 0x00000012 
+ 00013504  0x000026dc branch  0x00003374 
+ 00013505  0x000026de arg  0x000046bf , 0x00000013 
+ 00013506  0x000026df arg  0x0000469e , 0x00000012 
+ 00013507  0x000026e0 branch  0x00003591 
+ 00013508  0x000026e4 arg  0x0000478f , 0x00000013 
+ 00013509  0x000026e5 arg  0x000034c7 , 0x00000012 
+ 00013510  0x000026e6 branch  0x0000336d 
+ 00013511  0x000026e9 fetch  0x00000002 , 0x0000449a 
+ 00013512  0x000026ea store  0x00000001 , 0x00004172 
+ 00013513  0x000026eb rtn 
+ 00013514  0x000026ed arg  0x00004790 , 0x00000013 
+ 00013515  0x000026ee arg  0x000034cd , 0x00000012 
+ 00013516  0x000026ef branch  0x0000336d 
+ 00013517  0x000026f1 fetch  0x00000001 , 0x0000043f 
+ 00013518  0x000026f2 compare  0x00000000 , 0x0000003f , 0x00000060 
+ 00013519  0x000026f3 nbranch  0x000034d3 , 0x00000001 
+ 00013520  0x000026f4 jam  0x00000001 , 0x0000478a 
+ 00013521  0x000026f5 call  0x00003416 
+ 00013522  0x000026f6 branch  0x00005abf 
+ 00013523  0x000026f8 jam  0x00000001 , 0x00004790 
+ 00013524  0x000026f9 rtn 
+ 00013525  0x000026fc arg  0x00004791 , 0x00000013 
+ 00013526  0x000026fd arg  0x000034d8 , 0x00000012 
+ 00013527  0x000026fe branch  0x00003374 
+ 00013528  0x00002702 branch  0x0000341a 
+ 00013529  0x00002707 arg  0x0000478d , 0x00000013 
+ 00013530  0x00002708 arg  0x000034dc , 0x00000012 
+ 00013531  0x00002709 branch  0x00003374 
+ 00013532  0x0000270b fetch  0x00000002 , 0x000047a7 
+ 00013533  0x0000270c store  0x00000002 , 0x0000478d 
+ 00013534  0x0000270d branch  0x000035af 
+ 00013535  0x00002711 fetch  0x00000002 , 0x000047a7 
+ 00013536  0x00002712 store  0x00000002 , 0x0000478d 
+ 00013537  0x00002713 setarg  0x00000000 
+ 00013538  0x00002714 store  0x00000002 , 0x00004793 
+ 00013539  0x00002715 store  0x00000002 , 0x00004791 
+ 00013540  0x00002716 call  0x0000355c 
+ 00013541  0x00002717 call  0x00003586 
+ 00013542  0x00002718 jam  0x00000000 , 0x00004172 
+ 00013543  0x00002719 branch  0x000033f8 
+ 00013544  0x0000271f setarg  0x00000000 
+ 00013545  0x00002720 store  0x00000004 , 0x0000478d 
+ 00013546  0x00002721 store  0x00000003 , 0x0000478a 
+ 00013547  0x00002722 store  0x00000002 , 0x00004509 
+ 00013548  0x00002724 jam  0x00000001 , 0x000047a0 
+ 00013549  0x00002725 fetch  0x00000002 , 0x00004797 
+ 00013550  0x00002726 store  0x00000002 , 0x00004791 
+ 00013551  0x00002727 call  0x00007e38 
+ 00013552  0x00002728 fetch  0x00000001 , 0x00004759 
+ 00013553  0x00002729 rtneq  0x00000000 
+ 00013554  0x0000272a call  0x0000358f 
+ 00013555  0x0000272b branch  0x0000356e 
+ 00013556  0x00002730 branch  0x00003508 
+ 00013557  0x00002734 fetch  0x00000001 , 0x00004759 
+ 00013558  0x00002735 rtnne  0x00000002 
+ 00013559  0x00002736 branch  0x00003508 
+ 00013560  0x0000273c arg  0x000046cd , 0x00000013 
+ 00013561  0x0000273d call  0x00003582 
+ 00013562  0x0000273e arg  0x000046c6 , 0x00000013 
+ 00013563  0x00002740 branch  0x00003584 
+ 00013564  0x00002743 jam  0x00000000 , 0x0000436e 
+ 00013565  0x00002744 arg  0x000046db , 0x00000013 
+ 00013566  0x00002745 call  0x00003582 
+ 00013567  0x00002746 arg  0x000046d4 , 0x00000013 
+ 00013568  0x00002747 branch  0x000034fb 
+ 00013569  0x0000274a fetch  0x00000001 , 0x00000477 
+ 00013570  0x0000274b beq  0x00000012 , 0x00003504 
+ 00013571  0x0000274c rtn 
+ 00013572  0x0000274e fetch  0x00000002 , 0x00000478 
+ 00013573  0x00002750 beq  0x0000000d , 0x00003536 
+ 00013574  0x00002751 beq  0x0000000b , 0x00003571 
+ 00013575  0x00002752 rtn 
+ 00013576  0x00002758 fetch  0x00000001 , 0x00004753 
+ 00013577  0x00002759 rtn  0x00000034 
+ 00013578  0x0000275a branch  0x00006978 
+ 00013579  0x0000275f copy  0x00000011 , 0x0000003f 
+ 00013580  0x00002760 branch  0x00003510 , 0x00000034 
+ 00013581  0x00002762 copy  0x00000007 , 0x0000003f 
+ 00013582  0x00002763 beq  0x00000000 , 0x00003513 
+ 00013583  0x00002764 rtn 
+ 00013584  0x00002766 copy  0x00000007 , 0x0000003f 
+ 00013585  0x00002767 beq  0x00000000 , 0x0000351b 
+ 00013586  0x00002768 rtn 
+ 00013587  0x0000276b jam  0x00000001 , 0x0000479d 
+ 00013588  0x0000276c arg  0x000046f7 , 0x00000013 
+ 00013589  0x0000276d call  0x00003582 
+ 00013590  0x0000276e arg  0x000046f0 , 0x00000013 
+ 00013591  0x0000276f call  0x00003584 
+ 00013592  0x00002770 fetch  0x00000002 , 0x00004682 
+ 00013593  0x00002771 bbit0  0x00000009 , 0x00003532 
+ 00013594  0x00002772 branch  0x00003521 
+ 00013595  0x00002775 jam  0x00000000 , 0x0000479d 
+ 00013596  0x00002776 branch  0x0000351d 
+ 00013597  0x0000277b fetch  0x00000001 , 0x0000479a 
+ 00013598  0x0000277c rtnne  0x00000001 
+ 00013599  0x0000277d jam  0x00000005 , 0x00004799 
+ 00013600  0x0000277e rtn 
+ 00013601  0x00002781 fetch  0x00000001 , 0x0000479a 
+ 00013602  0x00002782 pincrease  0x00000001 
+ 00013603  0x00002783 store  0x00000001 , 0x0000479a 
+ 00013604  0x00002784 beq  0x00000001 , 0x00003527 
+ 00013605  0x00002785 beq  0x00000002 , 0x0000352b 
+ 00013606  0x00002786 rtn 
+ 00013607  0x00002788 call  0x0000355c 
+ 00013608  0x00002789 jam  0x00000001 , 0x00004771 
+ 00013609  0x0000278a arg  0x0000476c , 0x00000013 
+ 00013610  0x0000278b branch  0x00003544 
+ 00013611  0x0000278d jam  0x00000000 , 0x0000479a 
+ 00013612  0x0000278e jam  0x00000002 , 0x00004771 
+ 00013613  0x0000278f arg  0x0000476c , 0x00000013 
+ 00013614  0x00002790 call  0x00003544 
+ 00013615  0x00002791 fetch  0x00000001 , 0x0000479e 
+ 00013616  0x00002792 beq  0x00000001 , 0x00003551 
+ 00013617  0x00002793 rtn 
+ 00013618  0x00002796 fetch  0x00000002 , 0x00004797 
+ 00013619  0x00002797 store  0x00000002 , 0x00004791 
+ 00013620  0x00002798 call  0x0000355c 
+ 00013621  0x00002799 branch  0x0000358f 
+ 00013622  0x0000279d bpatch  0x000000cd , 0x00004019 
+ 00013623  0x0000279e call  0x000036fc 
+ 00013624  0x0000279f ifetch  0x00000001 , 0x00000011 
+ 00013625  0x000027a0 beq  0x00000003 , 0x0000353c 
+ 00013626  0x000027a1 beq  0x00000007 , 0x00003540 
+ 00013627  0x000027a2 rtn 
+ 00013628  0x000027a5 fetch  0x00000001 , 0x0000479e 
+ 00013629  0x000027a6 beq  0x00000000 , 0x00003551 
+ 00013630  0x000027a7 beq  0x00000001 , 0x0000355c 
+ 00013631  0x000027a8 rtn 
+ 00013632  0x000027ab ifetch  0x00000001 , 0x00000012 
+ 00013633  0x000027ac beq  0x00000001 , 0x00003564 
+ 00013634  0x000027ad beq  0x00000000 , 0x00003569 
+ 00013635  0x000027ae rtn 
+ 00013636  0x000027b6 bpatch  0x000000ce , 0x00004019 
+ 00013637  0x000027b7 fetch  0x00000001 , 0x0000478b 
+ 00013638  0x000027b8 isolate1  0x00000000 , 0x0000003f 
+ 00013639  0x000027b9 nrtn  0x00000001 
+ 00013640  0x000027ba add  0x00000013 , 0x00000006 , 0x00000006 
+ 00013641  0x000027bb ifetch  0x00000002 , 0x00000006 
+ 00013642  0x000027bc byteswap  0x0000003f , 0x0000003f 
+ 00013643  0x000027bd add  0x0000003f , 0x00000005 , 0x00000039 
+ 00013644  0x000027be add  0x00000013 , 0x00000003 , 0x00000006 
+ 00013645  0x000027bf call  0x000036f0 
+ 00013646  0x000027c0 istore  0x00000001 , 0x00000006 
+ 00013647  0x000027c1 copy  0x00000013 , 0x00000011 
+ 00013648  0x000027c2 branch  0x00007e3d 
+ 00013649  0x000027c9 fetch  0x00000001 , 0x00004759 
+ 00013650  0x000027ca rtn  0x00000034 
+ 00013651  0x000027cb jam  0x00000001 , 0x0000479e 
+ 00013652  0x000027cc arg  0x000046e9 , 0x00000013 
+ 00013653  0x000027cd call  0x00003582 
+ 00013654  0x000027ce arg  0x000046e2 , 0x00000013 
+ 00013655  0x000027cf call  0x00003584 
+ 00013656  0x000027d0 jam  0x00000004 , 0x00004780 
+ 00013657  0x000027d1 jam  0x00000001 , 0x00004783 
+ 00013658  0x000027d2 arg  0x0000477b , 0x00000013 
+ 00013659  0x000027d3 branch  0x00003544 
+ 00013660  0x000027d5 fetch  0x00000001 , 0x0000479e 
+ 00013661  0x000027d6 rtn  0x00000034 
+ 00013662  0x000027d7 jam  0x00000000 , 0x0000479e 
+ 00013663  0x000027d8 call  0x00003586 
+ 00013664  0x000027d9 jam  0x00000004 , 0x00004780 
+ 00013665  0x000027da jam  0x00000000 , 0x00004783 
+ 00013666  0x000027db arg  0x0000477b , 0x00000013 
+ 00013667  0x000027dc branch  0x00003544 
+ 00013668  0x000027df jam  0x00000001 , 0x0000479f 
+ 00013669  0x000027e0 jam  0x00000007 , 0x00004780 
+ 00013670  0x000027e1 jam  0x00000001 , 0x00004783 
+ 00013671  0x000027e2 arg  0x0000477b , 0x00000013 
+ 00013672  0x000027e3 branch  0x00003544 
+ 00013673  0x000027e5 jam  0x00000000 , 0x0000479f 
+ 00013674  0x000027e6 jam  0x00000007 , 0x00004780 
+ 00013675  0x000027e7 jam  0x00000000 , 0x00004783 
+ 00013676  0x000027e8 arg  0x0000477b , 0x00000013 
+ 00013677  0x000027e9 branch  0x00003544 
+ 00013678  0x000027eb fetch  0x00000001 , 0x0000479f 
+ 00013679  0x000027ec rtn  0x00000034 
+ 00013680  0x000027ed branch  0x00003551 
+ 00013681  0x000027f0 ifetch  0x00000002 , 0x00000011 
+ 00013682  0x000027f1 store  0x00000002 , 0x0000478b 
+ 00013683  0x000027f2 isolate1  0x00000000 , 0x0000003f 
+ 00013684  0x000027f3 nrtn  0x00000001 
+ 00013685  0x000027f4 fetch  0x00000001 , 0x000047a0 
+ 00013686  0x000027f5 rtn  0x00000034 
+ 00013687  0x000027f6 jam  0x00000000 , 0x000047a0 
+ 00013688  0x000027f7 fetch  0x00000008 , 0x000047b6 
+ 00013689  0x000027f8 store  0x00000008 , 0x00004496 
+ 00013690  0x000027f9 jam  0x00000002 , 0x00004790 
+ 00013691  0x000027fa call  0x000035af 
+ 00013692  0x000027fb call  0x000035b9 
+ 00013693  0x000027fc jam  0x00000007 , 0x00004780 
+ 00013694  0x000027fd fetch  0x00000001 , 0x0000479f 
+ 00013695  0x000027fe store  0x00000001 , 0x00004783 
+ 00013696  0x000027ff arg  0x0000477b , 0x00000013 
+ 00013697  0x00002800 branch  0x00003544 
+ 00013698  0x00002805 arg  0x00000001 , 0x00000011 
+ 00013699  0x00002806 branch  0x00003585 
+ 00013700  0x00002808 arg  0x00000000 , 0x00000011 
+ 00013701  0x0000280a branch  0x0000358c 
+ 00013702  0x0000280d arg  0x00000000 , 0x00000011 
+ 00013703  0x0000280e call  0x00007d19 
+ 00013704  0x0000280f arg  0x00000001 , 0x00000011 
+ 00013705  0x00002810 call  0x00007d19 
+ 00013706  0x00002811 fetch  0x00000001 , 0x000047a1 
+ 00013707  0x00002812 branch  0x000069d7 
+ 00013708  0x00002815 call  0x00007d04 
+ 00013709  0x00002816 arg  0x00000007 , 0x00000039 
+ 00013710  0x00002817 branch  0x00007d26 
+ 00013711  0x0000281c arg  0x000046b8 , 0x00000013 
+ 00013712  0x0000281d arg  0x0000469a , 0x00000012 
+ 00013713  0x0000281f call  0x00003596 
+ 00013714  0x00002820 call  0x00003584 
+ 00013715  0x00002821 fetch  0x00000002 , 0x00004795 
+ 00013716  0x00002822 store  0x00000002 , 0x00004793 
+ 00013717  0x00002823 branch  0x000033fa 
+ 00013718  0x00002826 ifetch  0x00000002 , 0x00000012 
+ 00013719  0x00002827 store  0x00000002 , 0x00004154 
+ 00013720  0x00002828 ifetch  0x00000002 , 0x00000006 
+ 00013721  0x00002829 store  0x00000002 , 0x00004482 
+ 00013722  0x0000282a rtn 
+ 00013723  0x0000282d arg  0x00000000 , 0x00000011 
+ 00013724  0x0000282e call  0x000069a6 
+ 00013725  0x0000282f fetch  0x00000006 , 0x000047a1 
+ 00013726  0x00002830 store  0x00000006 , 0x00000a9a 
+ 00013727  0x00002831 call  0x000069ae 
+ 00013728  0x00002832 fetch  0x00000001 , 0x000047a1 
+ 00013729  0x00002833 branch  0x000069d7 
+ 00013730  0x00002836 jam  0x00000001 , 0x0000479b 
+ 00013731  0x00002837 rtn 
+ 00013732  0x00002839 jam  0x00000000 , 0x0000479b 
+ 00013733  0x0000283a rtn 
+ 00013734  0x0000283f jam  0x00000000 , 0x0000479c 
+ 00013735  0x00002840 fetch  0x00000001 , 0x000047a1 
+ 00013736  0x00002841 branch  0x000069d7 
+ 00013737  0x00002844 jam  0x00000001 , 0x0000479c 
+ 00013738  0x00002845 fetch  0x00000006 , 0x000047a1 
+ 00013739  0x00002846 store  0x00000006 , 0x00000a9a 
+ 00013740  0x00002847 branch  0x000069ae 
+ 00013741  0x0000284c jam  0x00000000 , 0x0000422d 
+ 00013742  0x0000284d branch  0x000068a8 
+ 00013743  0x00002850 call  0x000068eb 
+ 00013744  0x00002851 call  0x00006908 
+ 00013745  0x00002852 store  0x00000002 , 0x000047b0 
+ 00013746  0x00002853 arg  0x000047aa , 0x00000011 
+ 00013747  0x00002854 call  0x00006930 
+ 00013748  0x00002855 store  0x00000001 , 0x000047a9 
+ 00013749  0x00002856 beq  0x00000000 , 0x000035be 
+ 00013750  0x00002857 sub  0x0000003f , 0x00000064 , 0x0000003e 
+ 00013751  0x00002858 nbranch  0x000035bc , 0x00000002 
+ 00013752  0x00002859 store  0x00000001 , 0x00004783 
+ 00013753  0x0000285b jam  0x00000005 , 0x00004780 
+ 00013754  0x0000285c arg  0x0000477b , 0x00000013 
+ 00013755  0x0000285d branch  0x00003544 
+ 00013756  0x0000285f jam  0x00000064 , 0x00004783 
+ 00013757  0x00002860 branch  0x000035b9 
+ 00013758  0x00002863 branch  0x0000341a 
+ 00013759  0x00002868 rtn  0x0000002b 
+ 00013760  0x00002869 hfetch  0x00000001 , 0x00008081 
+ 00013761  0x0000286a and_into  0x000000f0 , 0x0000003f 
+ 00013762  0x0000286b hstore  0x00000001 , 0x00008081 
+ 00013763  0x0000286c setarg  0x00003631 
+ 00013764  0x0000286d store  0x00000002 , 0x000041eb 
+ 00013765  0x0000286f setarg  0x00003633 
+ 00013766  0x00002870 store  0x00000002 , 0x000041ed 
+ 00013767  0x00002872 setarg  0x0000340a 
+ 00013768  0x00002873 store  0x00000002 , 0x000041f7 
+ 00013769  0x00002875 setarg  0x00003635 
+ 00013770  0x00002876 store  0x00000002 , 0x000041f3 
+ 00013771  0x00002878 setarg  0x0000364b 
+ 00013772  0x00002879 store  0x00000002 , 0x000041f5 
+ 00013773  0x0000287b setarg  0x000033d0 
+ 00013774  0x0000287c store  0x00000002 , 0x000041e9 
+ 00013775  0x0000287e setarg  0x000036f6 
+ 00013776  0x0000287f store  0x00000002 , 0x000041f9 
+ 00013777  0x00002881 setarg  0x0000367a 
+ 00013778  0x00002882 store  0x00000002 , 0x000041fd 
+ 00013779  0x00002884 call  0x00002c7a 
+ 00013780  0x00002885 setarg  0x00003722 
+ 00013781  0x00002886 add  0x00000013 , 0x000000de , 0x00000005 
+ 00013782  0x00002887 istore  0x00000002 , 0x00000005 
+ 00013783  0x00002889 setarg  0x000035ed 
+ 00013784  0x0000288a store  0x00000002 , 0x0000475b 
+ 00013785  0x0000288c setarg  0x000035ef 
+ 00013786  0x0000288d store  0x00000002 , 0x0000475f 
+ 00013787  0x0000288f bpatch  0x000000cf , 0x00004019 
+ 00013788  0x00002890 call  0x00003628 
+ 00013789  0x00002891 call  0x00007e38 
+ 00013790  0x00002892 jam  0x00000002 , 0x00004172 
+ 00013791  0x00002893 jam  0x00000000 , 0x000049f6 
+ 00013792  0x00002894 fetch  0x00000001 , 0x000047cb 
+ 00013793  0x00002895 store  0x00000001 , 0x0000469a 
+ 00013794  0x00002896 beq  0x00000000 , 0x000035ee 
+ 00013795  0x00002897 fetch  0x00000001 , 0x000047cc 
+ 00013796  0x00002898 store  0x00000001 , 0x00004686 
+ 00013797  0x00002899 jam  0x00000000 , 0x0000436e 
+ 00013798  0x0000289b call  0x0000360f 
+ 00013799  0x0000289c call  0x00007cd3 
+ 00013800  0x0000289d call  0x00007cdd 
+ 00013801  0x0000289e jam  0x00000001 , 0x000047f3 
+ 00013802  0x0000289f fetch  0x00000002 , 0x00004682 
+ 00013803  0x000028a0 rtnbit1  0x0000000c 
+ 00013804  0x000028a1 branch  0x0000340a 
+ 00013805  0x000028a4 branch  0x0000360f 
+ 00013806  0x000028a7 jam  0x00000002 , 0x000047f3 
+ 00013807  0x000028a9 jam  0x00000001 , 0x0000436e 
+ 00013808  0x000028aa call  0x0000360f 
+ 00013809  0x000028ab arg  0x00000000 , 0x00000011 
+ 00013810  0x000028ac call  0x00007d1e 
+ 00013811  0x000028ae setarg  0x00000020 
+ 00013812  0x000028af call  0x000046f0 
+ 00013813  0x000028b1 arg  0x000043b7 , 0x00000005 
+ 00013814  0x000028b2 fetch  0x00000001 , 0x000044a0 
+ 00013815  0x000028b4 and  0x0000003f , 0x000000f0 , 0x00000002 
+ 00013816  0x000028b5 rshift4  0x00000002 , 0x00000002 
+ 00013817  0x000028b6 call  0x00003609 
+ 00013818  0x000028b7 istoret  0x00000001 , 0x00000005 
+ 00013819  0x000028b8 and  0x0000003f , 0x0000000f , 0x00000002 
+ 00013820  0x000028b9 call  0x00003609 
+ 00013821  0x000028ba istoret  0x00000001 , 0x00000005 
+ 00013822  0x000028bb call  0x000057a6 
+ 00013823  0x000028bc fetcht  0x00000001 , 0x000043af 
+ 00013824  0x000028bd copy  0x00000002 , 0x00000039 
+ 00013825  0x000028be arg  0x00004372 , 0x00000005 
+ 00013826  0x000028bf arg  0x000043b0 , 0x00000006 
+ 00013827  0x000028c0 call  0x00007f01 
+ 00013828  0x000028c2 fetcht  0x00000001 , 0x000043af 
+ 00013829  0x000028c3 copy  0x00000002 , 0x00000039 
+ 00013830  0x000028c4 arg  0x00004392 , 0x00000005 
+ 00013831  0x000028c5 arg  0x000043b0 , 0x00000006 
+ 00013832  0x000028c6 branch  0x00007f01 
+ 00013833  0x000028c8 sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00013834  0x000028c9 branch  0x0000360d , 0x00000002 
+ 00013835  0x000028ca add  0x00000002 , 0x00000037 , 0x00000002 
+ 00013836  0x000028cb rtn 
+ 00013837  0x000028cd add  0x00000002 , 0x00000030 , 0x00000002 
+ 00013838  0x000028ce rtn 
+ 00013839  0x000028d1 fetch  0x00000001 , 0x000047c0 
+ 00013840  0x000028d2 bne  0x000000ff , 0x00003621 
+ 00013841  0x000028d4 fetch  0x00000001 , 0x000047be 
+ 00013842  0x000028d5 bne  0x000000ff , 0x00003624 
+ 00013843  0x000028d7 fetch  0x00000001 , 0x000047c9 
+ 00013844  0x000028d8 bne  0x000000ff , 0x00003626 
+ 00013845  0x000028da fetch  0x00000001 , 0x0000472c 
+ 00013846  0x000028db copy  0x0000003f , 0x00000039 
+ 00013847  0x000028dc setarg  0x0000472d 
+ 00013848  0x000028dd copy  0x0000003f , 0x00000011 
+ 00013849  0x000028df copy  0x00000011 , 0x00000006 
+ 00013850  0x000028e0 ifetch  0x00000001 , 0x00000006 
+ 00013851  0x000028e1 copy  0x00000006 , 0x00000011 
+ 00013852  0x000028e2 beq  0x000000ff , 0x0000361f 
+ 00013853  0x000028e3 copy  0x0000003f , 0x00000002 
+ 00013854  0x000028e4 call  0x0000680e 
+ 00013855  0x000028e6 loop  0x00003619 
+ 00013856  0x000028e8 rtn 
+ 00013857  0x000028ea fetch  0x00000008 , 0x000047c0 
+ 00013858  0x000028eb store  0x00000008 , 0x0000472f 
+ 00013859  0x000028ec branch  0x00003611 
+ 00013860  0x000028ee store  0x00000001 , 0x0000472d 
+ 00013861  0x000028ef branch  0x00003613 
+ 00013862  0x000028f1 store  0x00000001 , 0x0000472e 
+ 00013863  0x000028f2 branch  0x00003615 
+ 00013864  0x000028f6 arg  0x00000000 , 0x00000011 
+ 00013865  0x000028f7 call  0x000069a6 
+ 00013866  0x000028f8 call  0x000037e4 
+ 00013867  0x000028f9 call  0x00002c7d 
+ 00013868  0x000028fa branch  0x0000362d 
+ 00013869  0x000028fd jam  0x00000064 , 0x000047cf 
+ 00013870  0x000028fe fetch  0x00000001 , 0x000047c9 
+ 00013871  0x000028ff store  0x00000001 , 0x00004744 
+ 00013872  0x00002900 branch  0x000068a8 
+ 00013873  0x00002903 call  0x00006835 
+ 00013874  0x00002904 branch  0x0000696c 
+ 00013875  0x00002907 branch  0x0000696c 
+ 00013876  0x0000290c branch  0x00006978 
+ 00013877  0x0000290f call  0x00003642 
+ 00013878  0x00002910 call  0x000037ee 
+ 00013879  0x00002911 call  0x00003639 
+ 00013880  0x00002912 branch  0x00003634 
+ 00013881  0x00002915 fetch  0x00000002 , 0x00004682 
+ 00013882  0x00002916 rtnbit1  0x00000009 
+ 00013883  0x00002917 fetch  0x00000001 , 0x000049f6 
+ 00013884  0x00002918 beq  0x00000001 , 0x0000363e 
+ 00013885  0x00002919 rtn 
+ 00013886  0x0000291b fetch  0x00000001 , 0x000047ea 
+ 00013887  0x0000291c rtneq  0x00000001 
+ 00013888  0x0000291d jam  0x00000001 , 0x000047ea 
+ 00013889  0x0000291e branch  0x00003654 
+ 00013890  0x00002921 fetch  0x00000002 , 0x00004682 
+ 00013891  0x00002922 rtnbit0  0x00000009 
+ 00013892  0x00002923 call  0x00005892 
+ 00013893  0x00002924 nrtn  0x00000034 
+ 00013894  0x00002925 arg  0x00004718 , 0x00000011 
+ 00013895  0x00002926 call  0x00007e54 
+ 00013896  0x00002927 nrtn  0x00000028 
+ 00013897  0x00002928 arg  0x00004718 , 0x00000006 
+ 00013898  0x00002929 branch  0x00004746 
+ 00013899  0x0000292c copy  0x00000013 , 0x0000003f 
+ 00013900  0x0000292d beq  0x0000002d , 0x00003431 
+ 00013901  0x0000292e beq  0x00000010 , 0x0000341a 
+ 00013902  0x0000292f beq  0x00000014 , 0x00003651 
+ 00013903  0x00002930 beq  0x00000015 , 0x00003660 
+ 00013904  0x00002931 rtn 
+ 00013905  0x00002934 setarg  0x00000000 
+ 00013906  0x00002935 call  0x00003220 
+ 00013907  0x00002936 branch  0x00003656 
+ 00013908  0x00002938 fetch  0x00000002 , 0x000047eb 
+ 00013909  0x00002939 store  0x00000002 , 0x000047ed 
+ 00013910  0x0000293b jam  0x00000014 , 0x000047ce 
+ 00013911  0x0000293c jam  0x00000000 , 0x00004091 
+ 00013912  0x0000293d call  0x000033f8 
+ 00013913  0x0000293e call  0x00003416 
+ 00013914  0x0000293f fetch  0x00000001 , 0x000047bd 
+ 00013915  0x00002940 beq  0x00000001 , 0x0000365e 
+ 00013916  0x00002942 arg  0x00000000 , 0x00000011 
+ 00013917  0x00002943 branch  0x00007d14 
+ 00013918  0x00002945 arg  0x00000000 , 0x00000011 
+ 00013919  0x00002946 branch  0x00007d19 
+ 00013920  0x00002949 setarg  0x00000002 
+ 00013921  0x0000294a call  0x00003220 
+ 00013922  0x0000294c setarg  0x00000000 
+ 00013923  0x0000294d store  0x00000005 , 0x0000479c 
+ 00013924  0x0000294e setarg  0x00000004 
+ 00013925  0x0000294f call  0x000069d7 
+ 00013926  0x00002950 setarg  0x00000005 
+ 00013927  0x00002951 call  0x000069d7 
+ 00013928  0x00002952 setarg  0x00000014 
+ 00013929  0x00002953 call  0x000069d7 
+ 00013930  0x00002954 setarg  0x00000015 
+ 00013931  0x00002955 call  0x000069d7 
+ 00013932  0x00002956 setarg  0x00000016 
+ 00013933  0x00002957 call  0x000069d7 
+ 00013934  0x00002958 setarg  0x00000007 
+ 00013935  0x00002959 call  0x000069d7 
+ 00013936  0x0000295a call  0x00007e38 
+ 00013937  0x0000295b jam  0x0000000a , 0x0000475e 
+ 00013938  0x0000295c jam  0x0000000a , 0x00004760 
+ 00013939  0x0000295d jam  0x0000000a , 0x00004762 
+ 00013940  0x0000295f jam  0x00000002 , 0x00004172 
+ 00013941  0x00002960 arg  0x00000000 , 0x00000011 
+ 00013942  0x00002961 call  0x00007d1e 
+ 00013943  0x00002963 setarg  0x00000020 
+ 00013944  0x00002964 call  0x000046f0 
+ 00013945  0x00002965 branch  0x000033fa 
+ 00013946  0x00002969 call  0x0000373b 
+ 00013947  0x0000296a call  0x0000373e 
+ 00013948  0x0000296b call  0x00003741 
+ 00013949  0x0000296c call  0x0000337b 
+ 00013950  0x0000296d call  0x000036c8 
+ 00013951  0x0000296e call  0x000036a1 
+ 00013952  0x0000296f call  0x0000368a 
+ 00013953  0x00002970 call  0x00003683 
+ 00013954  0x00002971 branch  0x0000368f 
+ 00013955  0x00002974 arg  0x0000479a , 0x00000013 
+ 00013956  0x00002975 arg  0x00003686 , 0x00000012 
+ 00013957  0x00002976 branch  0x0000336d 
+ 00013958  0x00002978 call  0x00003847 
+ 00013959  0x00002979 nrtn  0x00000001 
+ 00013960  0x0000297a jam  0x00000001 , 0x0000479b 
+ 00013961  0x0000297b rtn 
+ 00013962  0x0000297e arg  0x000047ed , 0x00000013 
+ 00013963  0x0000297f arg  0x0000368d , 0x00000012 
+ 00013964  0x00002980 branch  0x00003374 
+ 00013965  0x00002982 jam  0x00000002 , 0x000047ea 
+ 00013966  0x00002983 branch  0x00003662 
+ 00013967  0x00002986 arg  0x000047f1 , 0x00000013 
+ 00013968  0x00002987 arg  0x00003692 , 0x00000012 
+ 00013969  0x00002988 branch  0x0000336d 
+ 00013970  0x0000298a fetch  0x00000001 , 0x000047f2 
+ 00013971  0x0000298b branch  0x0000369e , 0x00000034 
+ 00013972  0x0000298c jam  0x00000002 , 0x000047f1 
+ 00013973  0x0000298d jam  0x00000000 , 0x000047f2 
+ 00013974  0x0000298e setarg  0x00000a02 
+ 00013975  0x0000298f store  0x00000002 , 0x00004752 
+ 00013976  0x00002990 fetch  0x00000001 , 0x000047b9 
+ 00013977  0x00002991 beq  0x00000003 , 0x0000369b 
+ 00013978  0x00002993 branch  0x00003762 
+ 00013979  0x00002995 setarg  0x00000a02 
+ 00013980  0x00002996 store  0x00000002 , 0x00004754 
+ 00013981  0x00002997 branch  0x00003762 
+ 00013982  0x00002999 setarg  0x00000000 
+ 00013983  0x0000299a store  0x00000004 , 0x00004752 
+ 00013984  0x0000299b branch  0x00003762 
+ 00013985  0x0000299e fetch  0x00000001 , 0x000047c8 
+ 00013986  0x0000299f rtn  0x00000034 
+ 00013987  0x000029a0 fetch  0x00000002 , 0x00004682 
+ 00013988  0x000029a1 bbit0  0x00000009 , 0x000036c6 
+ 00013989  0x000029a2 arg  0x000047ce , 0x00000013 
+ 00013990  0x000029a3 arg  0x000036a8 , 0x00000012 
+ 00013991  0x000029a4 branch  0x0000336d 
+ 00013992  0x000029a6 fetch  0x00000001 , 0x000047cd 
+ 00013993  0x000029a7 store  0x00000001 , 0x000047ce 
+ 00013994  0x000029a8 fetch  0x00000001 , 0x000047d1 
+ 00013995  0x000029a9 nrtn  0x00000034 
+ 00013996  0x000029ab call  0x000068eb 
+ 00013997  0x000029ac call  0x00006908 
+ 00013998  0x000029ad store  0x00000002 , 0x000047e8 
+ 00013999  0x000029ae arg  0x000047e2 , 0x00000011 
+ 00014000  0x000029af call  0x00006930 
+ 00014001  0x000029b0 fetcht  0x00000001 , 0x000047cf 
+ 00014002  0x000029b1 isub  0x00000002 , 0x0000003e 
+ 00014003  0x000029b2 branch  0x000036b6 , 0x00000002 
+ 00014004  0x000029b3 store  0x00000001 , 0x000047cf 
+ 00014005  0x000029b4 copy  0x0000003f , 0x00000002 
+ 00014006  0x000029b6 storet  0x00000001 , 0x000047d0 
+ 00014007  0x000029b7 fetch  0x00000001 , 0x000047ca 
+ 00014008  0x000029b8 isub  0x00000002 , 0x0000003e 
+ 00014009  0x000029b9 call  0x000036c1 , 0x00000002 
+ 00014010  0x000029ba storet  0x00000001 , 0x000047db 
+ 00014011  0x000029bb arg  0x00000006 , 0x00000039 
+ 00014012  0x000029bc arg  0x000047d6 , 0x00000006 
+ 00014013  0x000029bd call  0x000036f0 
+ 00014014  0x000029be store  0x00000001 , 0x000047dc 
+ 00014015  0x000029bf arg  0x000047d3 , 0x00000011 
+ 00014016  0x000029c0 branch  0x00007e3d 
+ 00014017  0x000029c2 fetch  0x00000001 , 0x000047d2 
+ 00014018  0x000029c3 nrtn  0x00000034 
+ 00014019  0x000029c4 jam  0x00000001 , 0x000047d2 
+ 00014020  0x000029c5 arg  0x00000001 , 0x00000011 
+ 00014021  0x000029c6 branch  0x00007d1e 
+ 00014022  0x000029c8 arg  0x00000001 , 0x00000011 
+ 00014023  0x000029c9 branch  0x00007d19 
+ 00014024  0x000029cc arg  0x000047a4 , 0x00000013 
+ 00014025  0x000029cd arg  0x000036cb , 0x00000012 
+ 00014026  0x000029ce branch  0x0000336d 
+ 00014027  0x000029d0 jam  0x00000005 , 0x000047a4 
+ 00014028  0x000029d1 jam  0x00000000 , 0x000047a6 
+ 00014029  0x000029d2 fetch  0x00000001 , 0x000047a5 
+ 00014030  0x000029d3 beq  0x00000001 , 0x000036ee 
+ 00014031  0x000029d4 beq  0x00000000 , 0x000036ec 
+ 00014032  0x000029d6 arg  0x0000479c , 0x00000006 
+ 00014033  0x000029d7 copy  0x00000006 , 0x00000011 
+ 00014034  0x000029d8 arg  0x00000008 , 0x00000039 
+ 00014035  0x000029da copy  0x00000011 , 0x00000006 
+ 00014036  0x000029db ifetch  0x00000001 , 0x00000006 
+ 00014037  0x000029dc copy  0x00000006 , 0x00000011 
+ 00014038  0x000029dd beq  0x00000000 , 0x000036e3 
+ 00014039  0x000029de beq  0x00000001 , 0x000036e6 
+ 00014040  0x000029df beq  0x00000002 , 0x000036e9 
+ 00014041  0x000029e1 fetch  0x00000001 , 0x000047a6 
+ 00014042  0x000029e2 increase  0x00000001 , 0x0000003f 
+ 00014043  0x000029e3 store  0x00000001 , 0x000047a6 
+ 00014044  0x000029e4 loop  0x000036d3 
+ 00014045  0x000029e5 rtn 
+ 00014046  0x000029e7 fetch  0x00000001 , 0x000047a6 
+ 00014047  0x000029e8 arg  0x000047c0 , 0x00000012 
+ 00014048  0x000029e9 iadd  0x00000012 , 0x00000012 
+ 00014049  0x000029ea ifetcht  0x00000001 , 0x00000012 
+ 00014050  0x000029eb rtn 
+ 00014051  0x000029ed call  0x000036de 
+ 00014052  0x000029ee call  0x00006825 
+ 00014053  0x000029ef branch  0x000036d9 
+ 00014054  0x000029f1 call  0x000036de 
+ 00014055  0x000029f2 call  0x00006829 
+ 00014056  0x000029f3 branch  0x000036d9 
+ 00014057  0x000029f5 fetch  0x00000001 , 0x000047a5 
+ 00014058  0x000029f6 beq  0x00000001 , 0x000036e3 
+ 00014059  0x000029f7 branch  0x000036e6 
+ 00014060  0x000029f9 jam  0x00000001 , 0x000047a5 
+ 00014061  0x000029fa branch  0x000036d0 
+ 00014062  0x000029fc jam  0x00000000 , 0x000047a5 
+ 00014063  0x000029fd branch  0x000036d0 
+ 00014064  0x00002a02 arg  0x00000000 , 0x00000011 
+ 00014065  0x00002a04 ifetch  0x00000001 , 0x00000006 
+ 00014066  0x00002a05 iadd  0x00000011 , 0x00000011 
+ 00014067  0x00002a06 loop  0x000036f1 
+ 00014068  0x00002a08 and  0x00000011 , 0x000000ff , 0x0000003f 
+ 00014069  0x00002a09 rtn 
+ 00014070  0x00002a0c fetch  0x00000001 , 0x00000477 
+ 00014071  0x00002a0d beq  0x00000012 , 0x000036f9 
+ 00014072  0x00002a0e rtn 
+ 00014073  0x00002a10 fetch  0x00000002 , 0x00000478 
+ 00014074  0x00002a11 beq  0x00000014 , 0x00003710 
+ 00014075  0x00002a12 rtn 
+ 00014076  0x00002a1f bpatch  0x000000d0 , 0x0000401a 
+ 00014077  0x00002a20 ifetch  0x00000005 , 0x00000011 
+ 00014078  0x00002a21 store  0x00000005 , 0x00000b12 
+ 00014079  0x00002a22 fetch  0x00000002 , 0x00000b12 
+ 00014080  0x00002a23 arg  0x00006b5a , 0x00000002 
+ 00014081  0x00002a24 isub  0x00000002 , 0x0000003e 
+ 00014082  0x00002a25 nrtn  0x00000005 
+ 00014083  0x00002a26 fetch  0x00000002 , 0x00000b15 
+ 00014084  0x00002a27 byteswap  0x0000003f , 0x0000003f 
+ 00014085  0x00002a28 store  0x00000002 , 0x00000b15 
+ 00014086  0x00002a29 copy  0x0000003f , 0x00000039 
+ 00014087  0x00002a2a increase  0x00000005 , 0x00000011 
+ 00014088  0x00002a2b copy  0x00000011 , 0x00000006 
+ 00014089  0x00002a2c arg  0x00000b17 , 0x00000005 
+ 00014090  0x00002a2d call  0x00007f01 
+ 00014091  0x00002a2e ifetch  0x00000001 , 0x00000006 
+ 00014092  0x00002a2f store  0x00000001 , 0x00000b21 
+ 00014093  0x00002a30 arg  0x00000b14 , 0x00000011 
+ 00014094  0x00002a31 arg  0x00000b17 , 0x00000012 
+ 00014095  0x00002a32 rtn 
+ 00014096  0x00002a35 setarg  0x00000000 
+ 00014097  0x00002a36 store  0x00000005 , 0x00004752 
+ 00014098  0x00002a37 store  0x00000005 , 0x00004757 
+ 00014099  0x00002a38 call  0x000036fc 
+ 00014100  0x00002a39 copy  0x00000012 , 0x00000006 
+ 00014101  0x00002a3a arg  0x00004752 , 0x00000005 
+ 00014102  0x00002a3b arg  0x0000000a , 0x00000039 
+ 00014103  0x00002a3c call  0x00007f01 
+ 00014104  0x00002a3e bpatch  0x000000d1 , 0x0000401a 
+ 00014105  0x00002a3f ifetch  0x00000001 , 0x00000011 
+ 00014106  0x00002a40 beq  0x00000002 , 0x0000374a 
+ 00014107  0x00002a41 beq  0x00000003 , 0x0000375c 
+ 00014108  0x00002a42 beq  0x00000004 , 0x00003762 
+ 00014109  0x00002a43 beq  0x00000005 , 0x00003762 
+ 00014110  0x00002a44 beq  0x00000006 , 0x000037b1 
+ 00014111  0x00002a45 beq  0x00000007 , 0x00003849 
+ 00014112  0x00002a46 beq  0x00000008 , 0x0000384c 
+ 00014113  0x00002a47 rtn 
+ 00014114  0x00002a4a fetch  0x00000002 , 0x00004682 
+ 00014115  0x00002a4b rtnbit1  0x00000009 
+ 00014116  0x00002a4d fetch  0x00000002 , 0x000047eb 
+ 00014117  0x00002a4e store  0x00000002 , 0x000047ed 
+ 00014118  0x00002a50 jam  0x00000001 , 0x000049f6 
+ 00014119  0x00002a52 setarg  0x0000010c 
+ 00014120  0x00002a53 call  0x000032cd 
+ 00014121  0x00002a54 call  0x00003710 
+ 00014122  0x00002a56 fetch  0x00000001 , 0x00000b14 
+ 00014123  0x00002a57 beq  0x00000004 , 0x0000372e 
+ 00014124  0x00002a58 beq  0x00000005 , 0x0000372e 
+ 00014125  0x00002a59 rtn 
+ 00014126  0x00002a5b fetch  0x00000001 , 0x00004752 
+ 00014127  0x00002a5c ncall  0x00003735 , 0x00000034 
+ 00014128  0x00002a5d fetch  0x00000001 , 0x00004754 
+ 00014129  0x00002a5e ncall  0x00003737 , 0x00000034 
+ 00014130  0x00002a5f fetch  0x00000001 , 0x00004756 
+ 00014131  0x00002a60 ncall  0x00003739 , 0x00000034 
+ 00014132  0x00002a61 rtn 
+ 00014133  0x00002a64 jam  0x00000005 , 0x000049f3 
+ 00014134  0x00002a65 rtn 
+ 00014135  0x00002a67 jam  0x00000005 , 0x000049f4 
+ 00014136  0x00002a68 rtn 
+ 00014137  0x00002a6a jam  0x00000005 , 0x000049f5 
+ 00014138  0x00002a6b rtn 
+ 00014139  0x00002a6e arg  0x000049f3 , 0x00000013 
+ 00014140  0x00002a6f arg  0x00003744 , 0x00000012 
+ 00014141  0x00002a70 branch  0x0000336d 
+ 00014142  0x00002a72 arg  0x000049f4 , 0x00000013 
+ 00014143  0x00002a73 arg  0x00003746 , 0x00000012 
+ 00014144  0x00002a74 branch  0x0000336d 
+ 00014145  0x00002a76 arg  0x000049f5 , 0x00000013 
+ 00014146  0x00002a77 arg  0x00003748 , 0x00000012 
+ 00014147  0x00002a78 branch  0x0000336d 
+ 00014148  0x00002a7b jam  0x00000000 , 0x00004752 
+ 00014149  0x00002a7c branch  0x00003762 
+ 00014150  0x00002a7e jam  0x00000000 , 0x00004754 
+ 00014151  0x00002a7f branch  0x00003762 
+ 00014152  0x00002a81 jam  0x00000000 , 0x00004756 
+ 00014153  0x00002a82 branch  0x00003762 
+ 00014154  0x00002a88 call  0x0000374c 
+ 00014155  0x00002a89 branch  0x0000374f 
+ 00014156  0x00002a8b fetch  0x00000001 , 0x00004752 
+ 00014157  0x00002a8c store  0x00000001 , 0x0000475f 
+ 00014158  0x00002a8d branch  0x00003773 
+ 00014159  0x00002a8f fetch  0x00000001 , 0x0000475e 
+ 00014160  0x00002a90 call  0x00003754 
+ 00014161  0x00002a91 fetch  0x00000001 , 0x00004753 
+ 00014162  0x00002a92 store  0x00000001 , 0x0000475d 
+ 00014163  0x00002a93 branch  0x00003770 
+ 00014164  0x00002a95 beq  0x00000002 , 0x00003758 
+ 00014165  0x00002a96 beq  0x00000003 , 0x0000375a 
+ 00014166  0x00002a97 store  0x00000001 , 0x0000475e 
+ 00014167  0x00002a98 rtn 
+ 00014168  0x00002a9a jam  0x00000005 , 0x0000475e 
+ 00014169  0x00002a9b rtn 
+ 00014170  0x00002a9d jam  0x0000000a , 0x0000475e 
+ 00014171  0x00002a9e rtn 
+ 00014172  0x00002aa0 fetch  0x00000001 , 0x00004752 
+ 00014173  0x00002aa1 call  0x00003754 
+ 00014174  0x00002aa2 fetch  0x00000001 , 0x0000475e 
+ 00014175  0x00002aa3 call  0x0000379e 
+ 00014176  0x00002aa4 call  0x000037a1 
+ 00014177  0x00002aa5 branch  0x000069c4 
+ 00014178  0x00002aa8 fetch  0x00000001 , 0x000047f0 
+ 00014179  0x00002aa9 nrtn  0x00000034 
+ 00014180  0x00002aaa fetch  0x00000006 , 0x00004752 
+ 00014181  0x00002aab store  0x00000006 , 0x0000475d 
+ 00014182  0x00002aac fetch  0x00000001 , 0x0000475e 
+ 00014183  0x00002aad fetcht  0x00000001 , 0x00004760 
+ 00014184  0x00002aae iand  0x00000002 , 0x0000003f 
+ 00014185  0x00002aaf fetcht  0x00000001 , 0x00004762 
+ 00014186  0x00002ab0 iand  0x00000002 , 0x0000003f 
+ 00014187  0x00002ab1 call  0x00003779 , 0x00000034 
+ 00014188  0x00002ab2 bpatch  0x000000d2 , 0x0000401a 
+ 00014189  0x00002ab3 call  0x00003770 
+ 00014190  0x00002ab4 call  0x00003773 
+ 00014191  0x00002ab5 branch  0x00003776 
+ 00014192  0x00002ab7 arg  0x00004763 , 0x00000012 
+ 00014193  0x00002ab8 arg  0x0000475d , 0x00000006 
+ 00014194  0x00002ab9 branch  0x0000377b 
+ 00014195  0x00002abb arg  0x0000476b , 0x00000012 
+ 00014196  0x00002abc arg  0x0000475f , 0x00000006 
+ 00014197  0x00002abd branch  0x0000377b 
+ 00014198  0x00002abf arg  0x00004773 , 0x00000012 
+ 00014199  0x00002ac0 arg  0x00004761 , 0x00000006 
+ 00014200  0x00002ac1 branch  0x0000377b 
+ 00014201  0x00002ac3 jam  0x00000000 , 0x000047d1 
+ 00014202  0x00002ac4 rtn 
+ 00014203  0x00002ac7 ifetch  0x00000001 , 0x00000006 
+ 00014204  0x00002ac8 beq  0x00000000 , 0x00003787 
+ 00014205  0x00002ac9 beq  0x00000001 , 0x00003780 
+ 00014206  0x00002aca beq  0x00000002 , 0x00003782 
+ 00014207  0x00002acb rtn 
+ 00014208  0x00002acd jam  0x00000000 , 0x0000477b 
+ 00014209  0x00002ace branch  0x00003783 
+ 00014210  0x00002ad0 jam  0x00000001 , 0x0000477b 
+ 00014211  0x00002ad1 ifetch  0x00000001 , 0x00000006 
+ 00014212  0x00002ad2 store  0x00000001 , 0x0000477d 
+ 00014213  0x00002ad3 ifetch  0x00000008 , 0x00000012 
+ 00014214  0x00002ad4 branch  0x0000378c 
+ 00014215  0x00002ad7 ifetch  0x00000001 , 0x00000012 
+ 00014216  0x00002ad8 call  0x000069d7 
+ 00014217  0x00002ad9 increase  0x00000001 , 0x00000012 
+ 00014218  0x00002ada ifetch  0x00000001 , 0x00000012 
+ 00014219  0x00002adb branch  0x000069d7 
+ 00014220  0x00002add store  0x00000008 , 0x0000477e 
+ 00014221  0x00002ade jam  0x00000001 , 0x000047d1 
+ 00014222  0x00002adf fetch  0x00000001 , 0x0000477b 
+ 00014223  0x00002ae0 beq  0x00000000 , 0x0000379a 
+ 00014224  0x00002ae2 fetch  0x00000001 , 0x0000477f 
+ 00014225  0x00002ae3 store  0x00000001 , 0x00004780 
+ 00014226  0x00002ae4 fetch  0x00000001 , 0x0000477e 
+ 00014227  0x00002ae6 call  0x000069d7 
+ 00014228  0x00002ae7 fetch  0x00000001 , 0x0000477d 
+ 00014229  0x00002ae8 call  0x0000379e 
+ 00014230  0x00002ae9 store  0x00000001 , 0x00004785 
+ 00014231  0x00002aea fetch  0x00000006 , 0x00004780 
+ 00014232  0x00002aeb store  0x00000006 , 0x00000a9a 
+ 00014233  0x00002aec branch  0x000069ae 
+ 00014234  0x00002aee fetch  0x00000001 , 0x0000477e 
+ 00014235  0x00002aef store  0x00000001 , 0x00004780 
+ 00014236  0x00002af0 fetch  0x00000001 , 0x0000477f 
+ 00014237  0x00002af1 branch  0x00003793 
+ 00014238  0x00002af4 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00014239  0x00002af5 add  0x0000003f , 0x00000032 , 0x0000003f 
+ 00014240  0x00002af6 rtn 
+ 00014241  0x00002af8 arg  0x00002ee0 , 0x00000002 
+ 00014242  0x00002af9 imul32  0x00000002 , 0x0000003f 
+ 00014243  0x00002afa div  0x0000003f , 0x00000064 
+ 00014244  0x00002afb call  0x00007f86 
+ 00014245  0x00002afc quotient  0x00000002 
+ 00014246  0x00002afd copy  0x00000002 , 0x00000011 
+ 00014247  0x00002afe setarg  0x00002ee0 
+ 00014248  0x00002aff isub  0x00000002 , 0x00000012 
+ 00014249  0x00002b00 rtn 
+ 00014250  0x00002b04 hfetch  0x00000001 , 0x00008082 
+ 00014251  0x00002b05 set1  0x00000002 , 0x0000003f 
+ 00014252  0x00002b06 hstore  0x00000001 , 0x00008082 
+ 00014253  0x00002b07 setarg  0x0000009e 
+ 00014254  0x00002b08 hstore  0x00000002 , 0x00008068 
+ 00014255  0x00002b09 hstore  0x00000002 , 0x0000806a 
+ 00014256  0x00002b0a rtn 
+ 00014257  0x00002b0d fetch  0x00000001 , 0x000047f0 
+ 00014258  0x00002b0e nrtn  0x00000034 
+ 00014259  0x00002b0f fetch  0x00000002 , 0x00004752 
+ 00014260  0x00002b10 store  0x00000002 , 0x00004787 
+ 00014261  0x00002b11 fetch  0x00000001 , 0x000047ea 
+ 00014262  0x00002b12 bne  0x00000001 , 0x000037b9 
+ 00014263  0x00002b13 fetch  0x00000002 , 0x000044a0 
+ 00014264  0x00002b14 store  0x00000002 , 0x00004787 
+ 00014265  0x00002b16 bpatch  0x000000d3 , 0x0000401a 
+ 00014266  0x00002b17 call  0x000037aa 
+ 00014267  0x00002b18 call  0x000037dc 
+ 00014268  0x00002b19 setarg  0x0000bb80 
+ 00014269  0x00002b1a call  0x00002a8f 
+ 00014270  0x00002b1b call  0x000037e0 
+ 00014271  0x00002b1c setarg  0x00001c20 
+ 00014272  0x00002b1d call  0x00002a8f 
+ 00014273  0x00002b1e arg  0x00000010 , 0x00000039 
+ 00014274  0x00002b20 call  0x000037dc 
+ 00014275  0x00002b21 fetch  0x00000002 , 0x00004787 
+ 00014276  0x00002b22 bbit1  0x00000000 , 0x000037c9 
+ 00014277  0x00002b23 setarg  0x00001c20 
+ 00014278  0x00002b24 call  0x00002a8f 
+ 00014279  0x00002b25 call  0x000037e0 
+ 00014280  0x00002b26 branch  0x000037cc 
+ 00014281  0x00002b29 setarg  0x00003840 
+ 00014282  0x00002b2a call  0x00002a8f 
+ 00014283  0x00002b2b call  0x000037e0 
+ 00014284  0x00002b2d setarg  0x00001c20 
+ 00014285  0x00002b2e call  0x00002a8f 
+ 00014286  0x00002b2f fetch  0x00000002 , 0x00004787 
+ 00014287  0x00002b30 rshift  0x0000003f , 0x0000003f 
+ 00014288  0x00002b31 store  0x00000002 , 0x00004787 
+ 00014289  0x00002b32 loop  0x000037c2 
+ 00014290  0x00002b34 jam  0x00000002 , 0x000047f1 
+ 00014291  0x00002b35 jam  0x00000001 , 0x000047f2 
+ 00014292  0x00002b36 setarg  0x00000a01 
+ 00014293  0x00002b37 store  0x00000002 , 0x00004752 
+ 00014294  0x00002b38 fetch  0x00000001 , 0x000047b9 
+ 00014295  0x00002b39 beq  0x00000003 , 0x000037d9 
+ 00014296  0x00002b3b branch  0x00003762 
+ 00014297  0x00002b3d setarg  0x00000a01 
+ 00014298  0x00002b3e store  0x00000002 , 0x00004754 
+ 00014299  0x00002b3f branch  0x00003762 
+ 00014300  0x00002b42 hfetch  0x00000001 , 0x00008085 
+ 00014301  0x00002b43 or_into  0x00000040 , 0x0000003f 
+ 00014302  0x00002b44 hstore  0x00000001 , 0x00008085 
+ 00014303  0x00002b45 rtn 
+ 00014304  0x00002b47 hfetch  0x00000001 , 0x00008085 
+ 00014305  0x00002b48 and_into  0x000000bf , 0x0000003f 
+ 00014306  0x00002b49 hstore  0x00000001 , 0x00008085 
+ 00014307  0x00002b4a rtn 
+ 00014308  0x00002b4d fetch  0x00000001 , 0x000047bb 
+ 00014309  0x00002b4e rtneq  0x00000000 
+ 00014310  0x00002b4f call  0x00002c65 
+ 00014311  0x00002b50 fetcht  0x00000001 , 0x000047bc 
+ 00014312  0x00002b51 storet  0x00000001 , 0x00004786 
+ 00014313  0x00002b52 call  0x000067fb 
+ 00014314  0x00002b53 call  0x00003847 
+ 00014315  0x00002b54 nrtn  0x00000001 
+ 00014316  0x00002b55 jam  0x00000001 , 0x0000479a 
+ 00014317  0x00002b56 rtn 
+ 00014318  0x00002b59 fetch  0x00000001 , 0x000047bb 
+ 00014319  0x00002b5a rtneq  0x00000000 
+ 00014320  0x00002b5b fetch  0x00000001 , 0x0000479b 
+ 00014321  0x00002b5c nrtn  0x00000034 
+ 00014322  0x00002b5d fetch  0x00000002 , 0x00004682 
+ 00014323  0x00002b5e bbit1  0x00000009 , 0x000037f6 
+ 00014324  0x00002b5f fetch  0x00000001 , 0x000047ea 
+ 00014325  0x00002b60 rtnne  0x00000001 
+ 00014326  0x00002b62 bpatch  0x000000d4 , 0x0000401a 
+ 00014327  0x00002b63 call  0x00003847 
+ 00014328  0x00002b64 nrtn  0x00000001 
+ 00014329  0x00002b65 setarg  0x00008ca0 
+ 00014330  0x00002b66 call  0x00002a8f 
+ 00014331  0x00002b67 call  0x00003847 
+ 00014332  0x00002b68 nrtn  0x00000001 
+ 00014333  0x00002b69 call  0x0000383f 
+ 00014334  0x00002b6b call  0x00003842 
+ 00014335  0x00002b6c nrtn  0x00000002 
+ 00014336  0x00002b6d call  0x00003847 
+ 00014337  0x00002b6e branch  0x000037fe , 0x00000001 
+ 00014338  0x00002b6f arg  0x00000000 , 0x00000011 
+ 00014339  0x00002b70 arg  0x00000010 , 0x00000039 
+ 00014340  0x00002b71 call  0x0000383f 
+ 00014341  0x00002b73 call  0x00003842 
+ 00014342  0x00002b74 nrtn  0x00000002 
+ 00014343  0x00002b75 call  0x00003847 
+ 00014344  0x00002b76 nbranch  0x00003805 , 0x00000001 
+ 00014345  0x00002b77 setarg  0x00002a30 
+ 00014346  0x00002b78 call  0x00002a8f 
+ 00014347  0x00002b79 call  0x00003847 
+ 00014348  0x00002b7a branch  0x00003812 , 0x00000001 
+ 00014349  0x00002b7c setarg  0x00000000 
+ 00014350  0x00002b7d rshift  0x00000011 , 0x00000011 
+ 00014351  0x00002b7e ior  0x00000011 , 0x00000011 
+ 00014352  0x00002b7f loop  0x00003805 
+ 00014353  0x00002b80 branch  0x0000381b 
+ 00014354  0x00002b82 setarg  0x00008000 
+ 00014355  0x00002b83 rshift  0x00000011 , 0x00000011 
+ 00014356  0x00002b84 ior  0x00000011 , 0x00000011 
+ 00014357  0x00002b85 call  0x0000383f 
+ 00014358  0x00002b87 call  0x00003842 
+ 00014359  0x00002b88 nrtn  0x00000002 
+ 00014360  0x00002b89 call  0x00003847 
+ 00014361  0x00002b8a branch  0x00003816 , 0x00000001 
+ 00014362  0x00002b8b loop  0x00003805 
+ 00014363  0x00002b8d bpatch  0x000000d5 , 0x0000401a 
+ 00014364  0x00002b8e copy  0x00000011 , 0x0000003f 
+ 00014365  0x00002b8f store  0x00000002 , 0x00004789 
+ 00014366  0x00002b90 store  0x00000002 , 0x00004797 
+ 00014367  0x00002b91 fetch  0x00000001 , 0x000047ea 
+ 00014368  0x00002b92 beq  0x00000001 , 0x00003827 
+ 00014369  0x00002b94 arg  0x00000007 , 0x00000039 
+ 00014370  0x00002b95 arg  0x00004792 , 0x00000006 
+ 00014371  0x00002b96 call  0x000036f0 
+ 00014372  0x00002b97 store  0x00000001 , 0x00004799 
+ 00014373  0x00002b98 arg  0x0000478f , 0x00000011 
+ 00014374  0x00002b99 branch  0x00007e3d 
+ 00014375  0x00002b9c fetch  0x00000001 , 0x000047ef 
+ 00014376  0x00002b9d increase  0x00000001 , 0x0000003f 
+ 00014377  0x00002b9e store  0x00000001 , 0x000047ef 
+ 00014378  0x00002b9f div  0x0000003f , 0x00000002 
+ 00014379  0x00002ba0 call  0x00007f86 
+ 00014380  0x00002ba1 quotient  0x00000002 
+ 00014381  0x00002ba2 remainder  0x0000003f 
+ 00014382  0x00002ba3 nbranch  0x00003838 , 0x00000034 
+ 00014383  0x00002ba5 fetch  0x00000001 , 0x000047bf 
+ 00014384  0x00002ba6 isub  0x00000002 , 0x0000003e 
+ 00014385  0x00002ba7 call  0x0000383d , 0x00000005 
+ 00014386  0x00002ba8 arg  0x0000479c , 0x0000003f 
+ 00014387  0x00002ba9 increase  0xffffffff , 0x00000002 
+ 00014388  0x00002baa iadd  0x00000002 , 0x00000011 
+ 00014389  0x00002bab arg  0x00000000 , 0x0000003f 
+ 00014390  0x00002bac istore  0x00000001 , 0x00000011 
+ 00014391  0x00002bad rtn 
+ 00014392  0x00002baf arg  0x0000479c , 0x0000003f 
+ 00014393  0x00002bb0 iadd  0x00000002 , 0x00000011 
+ 00014394  0x00002bb1 arg  0x00000002 , 0x0000003f 
+ 00014395  0x00002bb2 istore  0x00000001 , 0x00000011 
+ 00014396  0x00002bb3 rtn 
+ 00014397  0x00002bb5 jam  0x00000001 , 0x000047f0 
+ 00014398  0x00002bb6 rtn 
+ 00014399  0x00002bb8 copy  0x00000022 , 0x0000003f 
+ 00014400  0x00002bb9 store  0x00000004 , 0x0000478b 
+ 00014401  0x00002bba rtn 
+ 00014402  0x00002bbc copy  0x00000022 , 0x0000003f 
+ 00014403  0x00002bbd fetcht  0x00000004 , 0x0000478b 
+ 00014404  0x00002bbe isub  0x00000002 , 0x0000003f 
+ 00014405  0x00002bbf sub  0x0000003f , 0x000000c8 , 0x0000003e 
+ 00014406  0x00002bc0 rtn 
+ 00014407  0x00002bc3 fetcht  0x00000001 , 0x00004786 
+ 00014408  0x00002bc4 branch  0x0000681d 
+ 00014409  0x00002bc7 fetch  0x00000008 , 0x00004752 
+ 00014410  0x00002bc8 store  0x00000008 , 0x0000479c 
+ 00014411  0x00002bc9 rtn 
+ 00014412  0x00002bcc fetch  0x00000001 , 0x000047b9 
+ 00014413  0x00002bcd store  0x00000001 , 0x000047af 
+ 00014414  0x00002bce fetch  0x00000001 , 0x000047ba 
+ 00014415  0x00002bcf store  0x00000001 , 0x000047b0 
+ 00014416  0x00002bd0 fetch  0x00000001 , 0x000047bb 
+ 00014417  0x00002bd1 store  0x00000001 , 0x000047b1 
+ 00014418  0x00002bd2 arg  0x0000000d , 0x00000039 
+ 00014419  0x00002bd3 arg  0x000047aa , 0x00000006 
+ 00014420  0x00002bd4 call  0x000036f0 
+ 00014421  0x00002bd5 store  0x00000001 , 0x000047b7 
+ 00014422  0x00002bd6 arg  0x000047a7 , 0x00000011 
+ 00014423  0x00002bd7 branch  0x00007e3d 
+ 00014424  0x00002bde call  0x000065c2 
+ 00014425  0x00002bdf jam  0x0000007a , 0x000046f6 
+ 00014426  0x00002be0 call  0x0000386d 
+ 00014427  0x00002be1 call  0x00003867 
+ 00014428  0x00002be2 setarg  0x00003860 
+ 00014429  0x00002be3 store  0x00000002 , 0x000041fd 
+ 00014430  0x00002be4 arg  0x00000000 , 0x00000011 
+ 00014431  0x00002be5 branch  0x000069a6 
+ 00014432  0x00002be8 fetch  0x00000002 , 0x000046a1 
+ 00014433  0x00002be9 rtn  0x00000034 
+ 00014434  0x00002bea increase  0xffffffff , 0x0000003f 
+ 00014435  0x00002beb store  0x00000002 , 0x000046a1 
+ 00014436  0x00002bec rtnne  0x00000000 
+ 00014437  0x00002bed jam  0x00000000 , 0x000046a0 
+ 00014438  0x00002bee rtn 
+ 00014439  0x00002bf1 bpatch  0x000000d6 , 0x0000401a 
+ 00014440  0x00002bf2 fetch  0x00000001 , 0x000046a4 
+ 00014441  0x00002bf3 sub  0x0000003f , 0x00000028 , 0x0000003e 
+ 00014442  0x00002bf4 rtn  0x00000002 
+ 00014443  0x00002bf5 jam  0x00000000 , 0x000046a4 
+ 00014444  0x00002bf6 rtn 
+ 00014445  0x00002bf9 arg  0x000046a4 , 0x00000011 
+ 00014446  0x00002bfa arg  0x00000000 , 0x00000012 
+ 00014447  0x00002bfb arg  0x00000051 , 0x00000002 
+ 00014448  0x00002bfc branch  0x000065df 
+ 00014449  0x00002c00 disable  0x00000028 
+ 00014450  0x00002c01 fetch  0x00000001 , 0x000046a3 
+ 00014451  0x00002c02 copy  0x0000003f , 0x00000039 
+ 00014452  0x00002c04 arg  0x000046a5 , 0x00000011 
+ 00014453  0x00002c05 copy  0x00000013 , 0x00000012 
+ 00014454  0x00002c07 bpatch  0x000000d7 , 0x0000401a 
+ 00014455  0x00002c08 call  0x0000387c 
+ 00014456  0x00002c09 branch  0x00007fe7 , 0x00000005 
+ 00014457  0x00002c0b increase  0x00000004 , 0x00000011 
+ 00014458  0x00002c0c loop  0x00003876 
+ 00014459  0x00002c0d rtn 
+ 00014460  0x00002c11 bpatch  0x000000d8 , 0x0000401b 
+ 00014461  0x00002c12 ifetch  0x00000003 , 0x00000011 
+ 00014462  0x00002c13 ifetcht  0x00000003 , 0x00000012 
+ 00014463  0x00002c14 isub  0x00000002 , 0x0000003e 
+ 00014464  0x00002c15 rtn 
+ 00014465  0x00002c18 bpatch  0x000000d9 , 0x0000401b 
+ 00014466  0x00002c19 ifetch  0x00000003 , 0x00000011 
+ 00014467  0x00002c1a ifetcht  0x00000003 , 0x00000012 
+ 00014468  0x00002c1b isub  0x00000002 , 0x0000003e 
+ 00014469  0x00002c1c nrtn  0x00000005 
+ 00014470  0x00002c1d ifetch  0x00000001 , 0x00000006 
+ 00014471  0x00002c1e sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00014472  0x00002c1f rtn  0x00000005 
+ 00014473  0x00002c20 add  0x00000011 , 0x00000003 , 0x00000006 
+ 00014474  0x00002c21 ifetcht  0x00000001 , 0x00000006 
+ 00014475  0x00002c22 isub  0x00000002 , 0x0000003e 
+ 00014476  0x00002c23 rtn 
+ 00014477  0x00002c27 bpatch  0x000000da , 0x0000401b 
+ 00014478  0x00002c28 disable  0x00000028 
+ 00014479  0x00002c29 fetch  0x00000001 , 0x000046a3 
+ 00014480  0x00002c2a copy  0x0000003f , 0x00000039 
+ 00014481  0x00002c2c arg  0x000046a5 , 0x00000011 
+ 00014482  0x00002c2d copy  0x00000013 , 0x00000012 
+ 00014483  0x00002c2f call  0x00003881 
+ 00014484  0x00002c30 branch  0x00007fe7 , 0x00000005 
+ 00014485  0x00002c31 increase  0x00000004 , 0x00000011 
+ 00014486  0x00002c32 loop  0x00003893 
+ 00014487  0x00002c33 rtn 
+ 00014488  0x00002c37 fetch  0x00000001 , 0x00000004 
+ 00014489  0x00002c38 increase  0x00000001 , 0x0000003f 
+ 00014490  0x00002c39 store  0x00000001 , 0x00000004 
+ 00014491  0x00002c3a arg  0x000002e5 , 0x00000013 
+ 00014492  0x00002c3d ifetch  0x00000002 , 0x00000013 
+ 00014493  0x00002c3e arg  0x000055aa , 0x00000002 
+ 00014494  0x00002c3f isub  0x00000002 , 0x0000003e 
+ 00014495  0x00002c40 nrtn  0x00000005 
+ 00014496  0x00002c41 copy  0x00000006 , 0x00000013 
+ 00014497  0x00002c42 ifetcht  0x00000003 , 0x00000013 
+ 00014498  0x00002c43 setarg  0x00ffffff 
+ 00014499  0x00002c44 isub  0x00000002 , 0x0000003e 
+ 00014500  0x00002c45 branch  0x000038a8 , 0x00000005 
+ 00014501  0x00002c46 call  0x0000388d 
+ 00014502  0x00002c47 branch  0x000038a8 , 0x00000028 
+ 00014503  0x00002c48 rtn 
+ 00014504  0x00002c4b bpatch  0x000000db , 0x0000401b 
+ 00014505  0x00002c4c increase  0x00000004 , 0x00000013 
+ 00014506  0x00002c4d ifetch  0x00000001 , 0x00000013 
+ 00014507  0x00002c4e fetcht  0x00000001 , 0x000046f6 
+ 00014508  0x00002c4f isub  0x00000002 , 0x0000003e 
+ 00014509  0x00002c50 rtn  0x00000005 
+ 00014510  0x00002c51 store  0x00000001 , 0x000046f6 
+ 00014511  0x00002c52 fetch  0x00000001 , 0x00000003 
+ 00014512  0x00002c53 increase  0x00000001 , 0x0000003f 
+ 00014513  0x00002c54 store  0x00000001 , 0x00000003 
+ 00014514  0x00002c56 increase  0x00000001 , 0x00000013 
+ 00014515  0x00002c57 ifetch  0x00000001 , 0x00000013 
+ 00014516  0x00002c58 store  0x00000001 , 0x000046f5 
+ 00014517  0x00002c59 copy  0x0000003f , 0x00000039 
+ 00014518  0x00002c5a rtn  0x00000034 
+ 00014519  0x00002c5c ifetch  0x00000001 , 0x00000006 
+ 00014520  0x00002c5d beq  0x00000000 , 0x000038c2 
+ 00014521  0x00002c5e beq  0x00000001 , 0x000038cf 
+ 00014522  0x00002c5f beq  0x00000002 , 0x000038d4 
+ 00014523  0x00002c60 beq  0x00000003 , 0x000038d9 
+ 00014524  0x00002c61 beq  0x00000004 , 0x000038de 
+ 00014525  0x00002c62 beq  0x00000005 , 0x000038e3 
+ 00014526  0x00002c63 beq  0x00000006 , 0x000038e8 
+ 00014527  0x00002c64 beq  0x000000ff , 0x000038ea 
+ 00014528  0x00002c65 loop  0x000038b7 
+ 00014529  0x00002c66 rtn 
+ 00014530  0x00002c69 copy  0x00000006 , 0x00000013 
+ 00014531  0x00002c6a fetch  0x00000001 , 0x0000469a 
+ 00014532  0x00002c6b store  0x00000001 , 0x00000a9a 
+ 00014533  0x00002c6c arg  0x00000000 , 0x00000002 
+ 00014534  0x00002c6e storet  0x00000001 , 0x00000a9b 
+ 00014535  0x00002c6f setarg  0x00002710 
+ 00014536  0x00002c70 store  0x00000003 , 0x00000a9c 
+ 00014537  0x00002c71 ifetch  0x00000001 , 0x00000013 
+ 00014538  0x00002c72 store  0x00000001 , 0x00000a9f 
+ 00014539  0x00002c73 call  0x000069ae 
+ 00014540  0x00002c74 and  0x00000013 , 0x00000001 , 0x00000006 
+ 00014541  0x00002c75 loop  0x000038b7 
+ 00014542  0x00002c76 rtn 
+ 00014543  0x00002c78 copy  0x00000013 , 0x00000006 
+ 00014544  0x00002c79 fetch  0x00000001 , 0x0000469b 
+ 00014545  0x00002c7a store  0x00000001 , 0x00000a9a 
+ 00014546  0x00002c7b arg  0x00000001 , 0x00000002 
+ 00014547  0x00002c7c branch  0x000038c6 
+ 00014548  0x00002c7e copy  0x00000013 , 0x00000006 
+ 00014549  0x00002c7f fetch  0x00000001 , 0x0000469c 
+ 00014550  0x00002c80 store  0x00000001 , 0x00000a9a 
+ 00014551  0x00002c81 arg  0x00000002 , 0x00000002 
+ 00014552  0x00002c82 branch  0x000038c6 
+ 00014553  0x00002c84 copy  0x00000013 , 0x00000006 
+ 00014554  0x00002c85 fetch  0x00000001 , 0x0000469d 
+ 00014555  0x00002c86 store  0x00000001 , 0x00000a9a 
+ 00014556  0x00002c87 arg  0x00000003 , 0x00000002 
+ 00014557  0x00002c88 branch  0x000038c6 
+ 00014558  0x00002c8a copy  0x00000013 , 0x00000006 
+ 00014559  0x00002c8b fetch  0x00000001 , 0x0000469e 
+ 00014560  0x00002c8c store  0x00000001 , 0x00000a9a 
+ 00014561  0x00002c8d arg  0x00000004 , 0x00000002 
+ 00014562  0x00002c8e branch  0x000038c6 
+ 00014563  0x00002c90 copy  0x00000013 , 0x00000006 
+ 00014564  0x00002c91 fetch  0x00000001 , 0x0000469f 
+ 00014565  0x00002c92 store  0x00000001 , 0x00000a9a 
+ 00014566  0x00002c93 arg  0x00000005 , 0x00000002 
+ 00014567  0x00002c94 branch  0x000038c6 
+ 00014568  0x00002c97 ifetch  0x00000001 , 0x00000006 
+ 00014569  0x00002c98 rtn 
+ 00014570  0x00002c9b copy  0x00000006 , 0x00000013 
+ 00014571  0x00002c9c fetch  0x00000001 , 0x000046a0 
+ 00014572  0x00002c9d bne  0x00000001 , 0x000038ee 
+ 00014573  0x00002c9e call  0x000038f0 
+ 00014574  0x00002ca0 and  0x00000013 , 0x00000004 , 0x00000006 
+ 00014575  0x00002ca1 rtn 
+ 00014576  0x00002ca3 bpatch  0x000000dc , 0x0000401b 
+ 00014577  0x00002ca4 call  0x00003871 
+ 00014578  0x00002ca5 branch  0x000038fe , 0x00000028 
+ 00014579  0x00002ca6 fetch  0x00000001 , 0x000046a4 
+ 00014580  0x00002ca7 copy  0x0000003f , 0x00000002 
+ 00014581  0x00002ca8 increase  0x00000001 , 0x0000003f 
+ 00014582  0x00002ca9 store  0x00000001 , 0x000046a4 
+ 00014583  0x00002caa call  0x00003867 
+ 00014584  0x00002cab lshift2  0x00000002 , 0x00000002 
+ 00014585  0x00002cac setarg  0x000046a5 
+ 00014586  0x00002cad iadd  0x00000002 , 0x00000005 
+ 00014587  0x00002cae ifetch  0x00000004 , 0x00000013 
+ 00014588  0x00002caf istore  0x00000004 , 0x00000005 
+ 00014589  0x00002cb0 branch  0x00003903 
+ 00014590  0x00002cb2 add  0x00000013 , 0x00000003 , 0x00000006 
+ 00014591  0x00002cb3 ifetch  0x00000001 , 0x00000006 
+ 00014592  0x00002cb4 rtn  0x00000034 
+ 00014593  0x00002cb5 ifetch  0x00000004 , 0x00000013 
+ 00014594  0x00002cb6 istore  0x00000004 , 0x00000011 
+ 00014595  0x00002cb8 arg  0x000046a4 , 0x00000011 
+ 00014596  0x00002cb9 arg  0x00000000 , 0x00000012 
+ 00014597  0x00002cba arg  0x00000051 , 0x00000002 
+ 00014598  0x00002cbb branch  0x00006606 
+ 00014599  0x00002cc3 fetcht  0x00000001 , 0x0000469a 
+ 00014600  0x00002cc4 call  0x00006825 
+ 00014601  0x00002cc5 rtn 
+ 00014602  0x00002ccb fetcht  0x00000001 , 0x0000469a 
+ 00014603  0x00002ccc call  0x00006829 
+ 00014604  0x00002ccf fetcht  0x00000001 , 0x0000469a 
+ 00014605  0x00002cd0 call  0x00006825 
+ 00014606  0x00002cd3 call  0x0000391d 
+ 00014607  0x00002cd5 fetch  0x00000001 , 0x000046a7 
+ 00014608  0x00002cd6 nrtn  0x00000034 
+ 00014609  0x00002cd8 call  0x00002c29 
+ 00014610  0x00002cd9 hfetch  0x00000004 , 0x00008138 
+ 00014611  0x00002cda set0  0x0000000f , 0x0000003f 
+ 00014612  0x00002cdb hstore  0x00000004 , 0x0000804c 
+ 00014613  0x00002cdc call  0x00002c21 
+ 00014614  0x00002cdd arg  0xffffffff , 0x00000002 
+ 00014615  0x00002cde branch  0x00002b2a 
+ 00014616  0x00002ce1 fetch  0x00000001 , 0x000046a7 
+ 00014617  0x00002ce2 branch  0x000056f9 , 0x00000034 
+ 00014618  0x00002ce3 increase  0xffffffff , 0x0000003f 
+ 00014619  0x00002ce4 store  0x00000001 , 0x000046a7 
+ 00014620  0x00002ce5 branch  0x000056f9 
+ 00014621  0x00002ce8 mul32  0x0000003f , 0x00000014 , 0x0000003f 
+ 00014622  0x00002ce9 arg  0x000046a8 , 0x00000006 
+ 00014623  0x00002cea iadd  0x00000006 , 0x00000006 
+ 00014624  0x00002ceb ifetch  0x00000001 , 0x00000006 
+ 00014625  0x00002cec rtn  0x00000034 
+ 00014626  0x00002ced copy  0x0000003f , 0x00000011 
+ 00014627  0x00002cee copy  0x00000011 , 0x00000039 
+ 00014628  0x00002cef arg  0x00004372 , 0x00000005 
+ 00014629  0x00002cf0 call  0x00007f01 
+ 00014630  0x00002cf1 copy  0x00000011 , 0x0000003f 
+ 00014631  0x00002cf2 increase  0x00000002 , 0x0000003f 
+ 00014632  0x00002cf3 store  0x00000001 , 0x0000436f 
+ 00014633  0x00002cf4 rtn 
+ 00014634  0x00002cfd rtn  0x0000002b 
+ 00014635  0x00002cfe call  0x000057a3 
+ 00014636  0x00002cff call  0x000068a8 
+ 00014637  0x00002d00 setarg  0x00003982 
+ 00014638  0x00002d01 store  0x00000002 , 0x000041f3 
+ 00014639  0x00002d02 setarg  0x0000396e 
+ 00014640  0x00002d03 store  0x00000002 , 0x000041f1 
+ 00014641  0x00002d04 setarg  0x00003986 
+ 00014642  0x00002d05 store  0x00000002 , 0x000041f5 
+ 00014643  0x00002d06 setarg  0x0000396d 
+ 00014644  0x00002d07 store  0x00000002 , 0x000041ef 
+ 00014645  0x00002d08 setarg  0x00003969 
+ 00014646  0x00002d09 store  0x00000002 , 0x000041e9 
+ 00014647  0x00002d0a setarg  0x00003ab7 
+ 00014648  0x00002d0b store  0x00000002 , 0x000041fb 
+ 00014649  0x00002d0c setarg  0x00003c32 
+ 00014650  0x00002d0d store  0x00000002 , 0x0000456f 
+ 00014651  0x00002d0e setarg  0x00003cc2 
+ 00014652  0x00002d0f store  0x00000002 , 0x000041f9 
+ 00014653  0x00002d10 setarg  0x00003cd7 
+ 00014654  0x00002d11 store  0x00000002 , 0x000041fd 
+ 00014655  0x00002d13 call  0x0000397f 
+ 00014656  0x00002d14 bpatch  0x000000dd , 0x0000401b 
+ 00014657  0x00002d15 call  0x00003945 
+ 00014658  0x00002d16 call  0x00003964 
+ 00014659  0x00002d17 call  0x00002c6f 
+ 00014660  0x00002d18 branch  0x00003c48 
+ 00014661  0x00002d1c fetch  0x00000004 , 0x000046aa 
+ 00014662  0x00002d1d hstore  0x00000004 , 0x00008054 
+ 00014663  0x00002d1f fetch  0x00000004 , 0x000046ae 
+ 00014664  0x00002d20 hstore  0x00000004 , 0x0000805a 
+ 00014665  0x00002d22 hfetch  0x00000001 , 0x00008081 
+ 00014666  0x00002d23 or_into  0x00000004 , 0x0000003f 
+ 00014667  0x00002d24 and_into  0x000000fc , 0x0000003f 
+ 00014668  0x00002d25 hstore  0x00000001 , 0x00008081 
+ 00014669  0x00002d26 jam  0x00000000 , 0x00008062 
+ 00014670  0x00002d28 fetch  0x00000002 , 0x000046aa 
+ 00014671  0x00002d29 hstore  0x00000002 , 0x00008058 
+ 00014672  0x00002d2a fetch  0x00000002 , 0x000046ae 
+ 00014673  0x00002d2b hstore  0x00000002 , 0x0000805e 
+ 00014674  0x00002d2c hstore  0x00000002 , 0x00008060 
+ 00014675  0x00002d2e hfetch  0x00000004 , 0x00008078 
+ 00014676  0x00002d2f set1  0x00000007 , 0x0000003f 
+ 00014677  0x00002d30 hstore  0x00000004 , 0x00008078 
+ 00014678  0x00002d32 hfetch  0x00000002 , 0x00008050 
+ 00014679  0x00002d33 set0  0x0000000f , 0x0000003f 
+ 00014680  0x00002d34 hstore  0x00000002 , 0x00008050 
+ 00014681  0x00002d35 call  0x000066ce 
+ 00014682  0x00002d36 jam  0x00000000 , 0x00008043 
+ 00014683  0x00002d37 jam  0x00000081 , 0x00008062 
+ 00014684  0x00002d39 fetch  0x00000001 , 0x000046bf 
+ 00014685  0x00002d3a isolate1  0x00000000 , 0x0000003f 
+ 00014686  0x00002d3b hfetcht  0x00000001 , 0x00008062 
+ 00014687  0x00002d3c setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00014688  0x00002d3d hstoret  0x00000001 , 0x00008062 
+ 00014689  0x00002d3e rtn 
+ 00014690  0x00002d43 call  0x0000397f 
+ 00014691  0x00002d44 branch  0x00003945 
+ 00014692  0x00002d4c fetcht  0x00000001 , 0x0000469e 
+ 00014693  0x00002d4d call  0x0000680e 
+ 00014694  0x00002d4e call  0x000039e6 
+ 00014695  0x00002d50 fetcht  0x00000001 , 0x0000469c 
+ 00014696  0x00002d51 branch  0x000067fb 
+ 00014697  0x00002d54 fetcht  0x00000001 , 0x0000469c 
+ 00014698  0x00002d55 call  0x0000681d 
+ 00014699  0x00002d56 nbranch  0x000033d2 , 0x00000001 
+ 00014700  0x00002d57 branch  0x000033d0 
+ 00014701  0x00002d5b rtn 
+ 00014702  0x00002d5e call  0x00003970 
+ 00014703  0x00002d5f branch  0x00003ce9 
+ 00014704  0x00002d62 fetch  0x00000001 , 0x00004682 
+ 00014705  0x00002d63 bbit0  0x00000004 , 0x0000397f 
+ 00014706  0x00002d64 bpatch  0x000000de , 0x0000401b 
+ 00014707  0x00002d65 setarg  0x00003eff 
+ 00014708  0x00002d66 fetcht  0x00000004 , 0x000046c5 
+ 00014709  0x00002d67 iadd  0x00000002 , 0x00000002 
+ 00014710  0x00002d68 copy  0x00000022 , 0x0000003f 
+ 00014711  0x00002d69 isub  0x00000002 , 0x0000003e 
+ 00014712  0x00002d6a nrtn  0x00000002 
+ 00014713  0x00002d6b fetch  0x00000002 , 0x00004682 
+ 00014714  0x00002d6c bbit1  0x00000005 , 0x0000397f 
+ 00014715  0x00002d6d fetch  0x00000001 , 0x000046bf 
+ 00014716  0x00002d6e rtnbit1  0x00000006 
+ 00014717  0x00002d6f call  0x00003cec 
+ 00014718  0x00002d70 call  0x0000340e 
+ 00014719  0x00002d72 copy  0x00000022 , 0x0000003f 
+ 00014720  0x00002d73 store  0x00000004 , 0x000046c5 
+ 00014721  0x00002d74 rtn 
+ 00014722  0x00002d78 call  0x00003ce9 
+ 00014723  0x00002d79 call  0x0000526e 
+ 00014724  0x00002d7a nrtn  0x00000034 
+ 00014725  0x00002d7b branch  0x000039eb 
+ 00014726  0x00002d7f copy  0x00000013 , 0x0000003f 
+ 00014727  0x00002d80 beq  0x00000001 , 0x000039d4 
+ 00014728  0x00002d81 beq  0x00000002 , 0x000039a3 
+ 00014729  0x00002d82 beq  0x00000004 , 0x000039d7 
+ 00014730  0x00002d83 beq  0x00000005 , 0x000039c4 
+ 00014731  0x00002d84 beq  0x00000008 , 0x000039aa 
+ 00014732  0x00002d85 beq  0x00000009 , 0x000039b1 
+ 00014733  0x00002d86 beq  0x0000000a , 0x000039c9 
+ 00014734  0x00002d87 beq  0x0000000b , 0x000039b6 
+ 00014735  0x00002d88 beq  0x0000000c , 0x000039c2 
+ 00014736  0x00002d89 beq  0x00000013 , 0x000039d7 
+ 00014737  0x00002d8a beq  0x00000014 , 0x000039cf 
+ 00014738  0x00002d8b beq  0x00000015 , 0x000039c6 
+ 00014739  0x00002d8c beq  0x00000021 , 0x000039ca 
+ 00014740  0x00002d8d beq  0x00000023 , 0x000039cb 
+ 00014741  0x00002d8e beq  0x00000024 , 0x000039ce 
+ 00014742  0x00002d8f beq  0x00000030 , 0x00003c8a 
+ 00014743  0x00002d90 beq  0x00000031 , 0x00003c8c 
+ 00014744  0x00002d91 beq  0x00000032 , 0x00003c9a 
+ 00014745  0x00002d92 beq  0x00000033 , 0x00003c98 
+ 00014746  0x00002d93 beq  0x00000034 , 0x00003c84 
+ 00014747  0x00002d94 beq  0x00000035 , 0x00003c73 
+ 00014748  0x00002d95 beq  0x00000036 , 0x00003c82 
+ 00014749  0x00002d96 beq  0x00000037 , 0x00003c8e 
+ 00014750  0x00002d97 beq  0x00000038 , 0x00003c90 
+ 00014751  0x00002d98 beq  0x0000003b , 0x00003ca1 
+ 00014752  0x00002d99 beq  0x0000003d , 0x00003c6a 
+ 00014753  0x00002d9a beq  0x00000041 , 0x000039d9 
+ 00014754  0x00002d9b rtn 
+ 00014755  0x00002d9f call  0x0000397f 
+ 00014756  0x00002da0 fetch  0x00000001 , 0x00004665 
+ 00014757  0x00002da1 ncall  0x00003c8e , 0x00000034 
+ 00014758  0x00002da2 call  0x000039d7 
+ 00014759  0x00002da3 fetch  0x00000002 , 0x00004682 
+ 00014760  0x00002da4 rtnbit0  0x00000004 
+ 00014761  0x00002da5 branch  0x000039b1 
+ 00014762  0x00002da8 fetch  0x00000002 , 0x00004682 
+ 00014763  0x00002da9 set1  0x00000004 , 0x0000003f 
+ 00014764  0x00002daa store  0x00000002 , 0x00004682 
+ 00014765  0x00002dab fetch  0x00000001 , 0x000046a7 
+ 00014766  0x00002dac store  0x00000001 , 0x00004172 
+ 00014767  0x00002dad call  0x000039e6 
+ 00014768  0x00002dae branch  0x00003c1d 
+ 00014769  0x00002db3 fetch  0x00000002 , 0x00004682 
+ 00014770  0x00002db4 rtnbit0  0x00000004 
+ 00014771  0x00002db5 set0  0x00000004 , 0x0000003f 
+ 00014772  0x00002db6 store  0x00000002 , 0x00004682 
+ 00014773  0x00002db7 branch  0x00003c21 
+ 00014774  0x00002dbd call  0x0000397f 
+ 00014775  0x00002dc0 fetch  0x00000002 , 0x00004042 
+ 00014776  0x00002dc1 rshift  0x0000003f , 0x0000003f 
+ 00014777  0x00002dc2 fetcht  0x00000002 , 0x000041e3 
+ 00014778  0x00002dc3 isub  0x00000002 , 0x0000003e 
+ 00014779  0x00002dc4 nbranch  0x000039bd , 0x00000005 
+ 00014780  0x00002dc5 branch  0x00003416 
+ 00014781  0x00002dc7 fetch  0x00000001 , 0x000046bf 
+ 00014782  0x00002dc8 rtnbit1  0x00000005 
+ 00014783  0x00002dc9 hfetch  0x00000002 , 0x00008112 
+ 00014784  0x00002dca ncall  0x00003cf0 , 0x00000034 
+ 00014785  0x00002dcb branch  0x0000340c 
+ 00014786  0x00002dce call  0x00003cee 
+ 00014787  0x00002dcf branch  0x00003418 
+ 00014788  0x00002dd2 call  0x0000397f 
+ 00014789  0x00002dd3 branch  0x000039dd 
+ 00014790  0x00002dd6 call  0x00005816 
+ 00014791  0x00002dd7 call  0x000039d7 
+ 00014792  0x00002dd8 branch  0x00003c23 
+ 00014793  0x00002ddb branch  0x000033dd 
+ 00014794  0x00002ddf branch  0x00003cee 
+ 00014795  0x00002de3 fetch  0x00000001 , 0x000046bf 
+ 00014796  0x00002de4 bbit0  0x00000005 , 0x0000340e 
+ 00014797  0x00002de5 branch  0x00003cf2 
+ 00014798  0x00002de9 branch  0x00003cf2 
+ 00014799  0x00002ded call  0x000058ba 
+ 00014800  0x00002dee call  0x000039dd 
+ 00014801  0x00002def fetch  0x00000001 , 0x000046a8 
+ 00014802  0x00002df0 store  0x00000001 , 0x00004172 
+ 00014803  0x00002df1 branch  0x00003c1f 
+ 00014804  0x00002df5 jam  0x00000000 , 0x00004661 
+ 00014805  0x00002df6 call  0x00003cee 
+ 00014806  0x00002df7 branch  0x00003cf2 
+ 00014807  0x00002dfc call  0x00003a52 
+ 00014808  0x00002dfd branch  0x000039db 
+ 00014809  0x00002e01 call  0x00005cc9 
+ 00014810  0x00002e02 branch  0x00005b02 
+ 00014811  0x00002e06 fetcht  0x00000001 , 0x0000469e 
+ 00014812  0x00002e07 branch  0x00006829 
+ 00014813  0x00002e0a call  0x000039df 
+ 00014814  0x00002e0b branch  0x000039e6 
+ 00014815  0x00002e0e fetch  0x00000001 , 0x000046a1 
+ 00014816  0x00002e0f isolate1  0x00000000 , 0x0000003f 
+ 00014817  0x00002e10 call  0x000033f0 , 0x00000001 
+ 00014818  0x00002e11 fetch  0x00000001 , 0x000046a1 
+ 00014819  0x00002e12 isolate1  0x00000001 , 0x0000003f 
+ 00014820  0x00002e13 call  0x000033f8 , 0x00000001 
+ 00014821  0x00002e14 rtn 
+ 00014822  0x00002e16 fetcht  0x00000001 , 0x0000469e 
+ 00014823  0x00002e17 branch  0x00006825 
+ 00014824  0x00002e1a fetch  0x00000001 , 0x0000456b 
+ 00014825  0x00002e1b rtneq  0x00000000 
+ 00014826  0x00002e1c branch  0x00006c28 
+ 00014827  0x00002e1f hfetch  0x00000001 , 0x0000810c 
+ 00014828  0x00002e20 bbit1  0x00000003 , 0x000039e8 
+ 00014829  0x00002e21 call  0x000066cb 
+ 00014830  0x00002e22 ifetch  0x00000001 , 0x00000003 
+ 00014831  0x00002e23 bne  0x00000001 , 0x00003a01 
+ 00014832  0x00002e24 hfetch  0x00000002 , 0x00008112 
+ 00014833  0x00002e25 sub  0x0000003f , 0x00000002 , 0x0000003e 
+ 00014834  0x00002e26 rtn  0x00000002 
+ 00014835  0x00002e27 ifetch  0x00000001 , 0x00000003 
+ 00014836  0x00002e28 store  0x00000001 , 0x00000b03 
+ 00014837  0x00002e29 ifetcht  0x00000001 , 0x00000003 
+ 00014838  0x00002e2a copy  0x00000003 , 0x00000011 
+ 00014839  0x00002e2b storet  0x00000001 , 0x00000b04 
+ 00014840  0x00002e2c add  0x00000002 , 0x00000003 , 0x00000002 
+ 00014841  0x00002e2d hfetch  0x00000002 , 0x00008112 
+ 00014842  0x00002e2e isub  0x00000002 , 0x00000002 
+ 00014843  0x00002e2f nrtn  0x00000002 
+ 00014844  0x00002e30 jam  0x00000001 , 0x00000b05 
+ 00014845  0x00002e31 call  0x00003a17 
+ 00014846  0x00002e32 fetch  0x00000001 , 0x00000b05 
+ 00014847  0x00002e33 rtneq  0x00000000 
+ 00014848  0x00002e34 branch  0x00003a12 
+ 00014849  0x00002e37 call  0x00007ec1 
+ 00014850  0x00002e38 call  0x00003c79 
+ 00014851  0x00002e39 branch  0x00003a04 
+ 00014852  0x00002e3d bpatch  0x000000df , 0x0000401b 
+ 00014853  0x00002e3e hfetch  0x00000002 , 0x00008112 
+ 00014854  0x00002e3f rtn  0x00000034 
+ 00014855  0x00002e40 call  0x000066cb 
+ 00014856  0x00002e41 ifetch  0x00000001 , 0x00000003 
+ 00014857  0x00002e42 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00014858  0x00002e43 ncall  0x00003a16 , 0x00000005 
+ 00014859  0x00002e44 nbranch  0x00003a04 , 0x00000005 
+ 00014860  0x00002e45 ifetch  0x00000001 , 0x00000003 
+ 00014861  0x00002e46 rtneq  0x00000005 
+ 00014862  0x00002e47 rtneq  0x00000029 
+ 00014863  0x00002e48 increase  0xffffffff , 0x00000003 
+ 00014864  0x00002e49 call  0x00003a16 
+ 00014865  0x00002e4a branch  0x00003a04 
+ 00014866  0x00002e4d call  0x000066cb 
+ 00014867  0x00002e4e increase  0x00000002 , 0x00000003 
+ 00014868  0x00002e4f ifetch  0x00000001 , 0x00000003 
+ 00014869  0x00002e50 iadd  0x00000003 , 0x00000003 
+ 00014870  0x00002e52 branch  0x000066c8 
+ 00014871  0x00002e56 bpatch  0x000000e0 , 0x0000401c 
+ 00014872  0x00002e57 fetch  0x00000001 , 0x00000b03 
+ 00014873  0x00002e58 beq  0x00000000 , 0x00003a3f 
+ 00014874  0x00002e59 beq  0x00000001 , 0x00003a44 
+ 00014875  0x00002e5a beq  0x00000002 , 0x00003a49 
+ 00014876  0x00002e5b beq  0x00000003 , 0x00003a5f 
+ 00014877  0x00002e5c beq  0x00000004 , 0x00003a6b 
+ 00014878  0x00002e5d beq  0x00000005 , 0x00003a75 
+ 00014879  0x00002e5e beq  0x00000009 , 0x00003a9a 
+ 00014880  0x00002e5f beq  0x0000000b , 0x00003ad7 
+ 00014881  0x00002e60 beq  0x0000000c , 0x00003ad8 
+ 00014882  0x00002e61 beq  0x0000000d , 0x00003aec 
+ 00014883  0x00002e62 beq  0x0000000e , 0x00003af4 
+ 00014884  0x00002e63 beq  0x0000000f , 0x00003afa 
+ 00014885  0x00002e64 beq  0x00000010 , 0x00003b06 
+ 00014886  0x00002e65 beq  0x00000011 , 0x00003b0e 
+ 00014887  0x00002e66 beq  0x00000012 , 0x00003b12 
+ 00014888  0x00002e67 beq  0x00000026 , 0x00003b16 
+ 00014889  0x00002e68 beq  0x00000028 , 0x00003b1d 
+ 00014890  0x00002e69 beq  0x00000029 , 0x00003b2d 
+ 00014891  0x00002e6a beq  0x0000002a , 0x00003b36 
+ 00014892  0x00002e6b beq  0x0000002b , 0x00003b69 
+ 00014893  0x00002e6c beq  0x0000002c , 0x00003b6f 
+ 00014894  0x00002e6d beq  0x00000030 , 0x00003b76 
+ 00014895  0x00002e6e beq  0x00000031 , 0x00003b7c 
+ 00014896  0x00002e6f beq  0x00000032 , 0x00003b90 
+ 00014897  0x00002e70 beq  0x00000033 , 0x00003b98 
+ 00014898  0x00002e71 beq  0x00000034 , 0x00003bbb 
+ 00014899  0x00002e72 beq  0x00000035 , 0x00003bc4 
+ 00014900  0x00002e73 beq  0x00000036 , 0x00003bcd 
+ 00014901  0x00002e74 beq  0x00000037 , 0x00003bd7 
+ 00014902  0x00002e75 beq  0x00000038 , 0x00003bda 
+ 00014903  0x00002e76 beq  0x00000040 , 0x00003be2 
+ 00014904  0x00002e77 beq  0x00000042 , 0x00003bec 
+ 00014905  0x00002e78 beq  0x00000048 , 0x00003bf1 
+ 00014906  0x00002e79 beq  0x00000049 , 0x00003bfc 
+ 00014907  0x00002e7a beq  0x00000051 , 0x00003c02 
+ 00014908  0x00002e7b beq  0x00000061 , 0x00003c06 
+ 00014909  0x00002e7c beq  0x000000ff , 0x00003c15 
+ 00014910  0x00002e7d branch  0x00003c17 
+ 00014911  0x00002e83 fetch  0x00000001 , 0x00000b04 
+ 00014912  0x00002e84 bne  0x00000006 , 0x00003c17 
+ 00014913  0x00002e85 ifetch  0x00000006 , 0x00000003 
+ 00014914  0x00002e86 store  0x00000006 , 0x000040a0 
+ 00014915  0x00002e87 branch  0x00003c1a 
+ 00014916  0x00002e8b fetch  0x00000001 , 0x00000b04 
+ 00014917  0x00002e8c bne  0x00000006 , 0x00003c17 
+ 00014918  0x00002e8d ifetch  0x00000006 , 0x00000003 
+ 00014919  0x00002e8e store  0x00000006 , 0x000044a0 
+ 00014920  0x00002e8f branch  0x00003c1a 
+ 00014921  0x00002e94 fetch  0x00000001 , 0x00000b04 
+ 00014922  0x00002e95 bne  0x00000001 , 0x00003c17 
+ 00014923  0x00002e96 copy  0x00000011 , 0x00000003 
+ 00014924  0x00002e97 call  0x00003c1a 
+ 00014925  0x00002e98 ifetcht  0x00000001 , 0x00000003 
+ 00014926  0x00002e99 storet  0x00000001 , 0x000046a9 
+ 00014927  0x00002e9a fetch  0x00000002 , 0x00004682 
+ 00014928  0x00002e9b rtnbit1  0x00000009 
+ 00014929  0x00002e9c rtnbit1  0x00000000 
+ 00014930  0x00002e9e fetch  0x00000001 , 0x000046a1 
+ 00014931  0x00002e9f isolate1  0x00000000 , 0x0000003f 
+ 00014932  0x00002ea0 nbranch  0x00003a58 , 0x00000001 
+ 00014933  0x00002ea1 fetcht  0x00000001 , 0x000046a9 
+ 00014934  0x00002ea2 and  0x00000002 , 0x00000003 , 0x0000003f 
+ 00014935  0x00002ea3 store  0x00000001 , 0x00004093 
+ 00014936  0x00002ea5 fetch  0x00000001 , 0x000046a1 
+ 00014937  0x00002ea6 isolate1  0x00000001 , 0x0000003f 
+ 00014938  0x00002ea7 nrtn  0x00000001 
+ 00014939  0x00002ea8 fetcht  0x00000001 , 0x000046a9 
+ 00014940  0x00002ea9 isolate1  0x00000002 , 0x00000002 
+ 00014941  0x00002eaa branch  0x000033fa , 0x00000001 
+ 00014942  0x00002eab branch  0x000033f8 
+ 00014943  0x00002eb0 fetch  0x00000001 , 0x00000b04 
+ 00014944  0x00002eb1 sub  0x0000003f , 0x00000043 , 0x0000003e 
+ 00014945  0x00002eb2 nbranch  0x00003c17 , 0x00000002 
+ 00014946  0x00002eb3 store  0x00000001 , 0x00004515 
+ 00014947  0x00002eb4 arg  0x00000008 , 0x00000039 
+ 00014948  0x00002eb5 call  0x00007ec6 
+ 00014949  0x00002eb6 fetch  0x00000001 , 0x00000b04 
+ 00014950  0x00002eb7 copy  0x0000003f , 0x00000039 
+ 00014951  0x00002eb8 copy  0x00000011 , 0x00000003 
+ 00014952  0x00002eb9 arg  0x00004516 , 0x00000005 
+ 00014953  0x00002eba call  0x000066ea 
+ 00014954  0x00002ebb branch  0x00003c1a 
+ 00014955  0x00002ec0 fetch  0x00000001 , 0x00000b04 
+ 00014956  0x00002ec1 sub  0x0000003f , 0x0000001d , 0x0000003e 
+ 00014957  0x00002ec2 nbranch  0x00003c17 , 0x00000002 
+ 00014958  0x00002ec3 store  0x00000001 , 0x000043af 
+ 00014959  0x00002ec4 copy  0x0000003f , 0x00000039 
+ 00014960  0x00002ec5 copy  0x00000011 , 0x00000003 
+ 00014961  0x00002ec6 arg  0x000043b0 , 0x00000005 
+ 00014962  0x00002ec7 call  0x000066ea 
+ 00014963  0x00002ec8 call  0x000057a3 
+ 00014964  0x00002ec9 branch  0x00003c1a 
+ 00014965  0x00002ece fetch  0x00000001 , 0x00004682 
+ 00014966  0x00002ecf bbit0  0x00000004 , 0x00003c17 
+ 00014967  0x00002ed0 call  0x000033ba 
+ 00014968  0x00002ed1 branch  0x00003a86 , 0x00000001 
+ 00014969  0x00002ed2 jam  0x00000000 , 0x00000b05 
+ 00014970  0x00002ed4 call  0x0000397f 
+ 00014971  0x00002ed5 fetch  0x00000001 , 0x00004568 
+ 00014972  0x00002ed6 rtn  0x00000034 
+ 00014973  0x00002ed7 fetch  0x00000002 , 0x00004573 
+ 00014974  0x00002ed8 bne  0x00000000 , 0x00003a84 
+ 00014975  0x00002ed9 fetch  0x00000001 , 0x00000b04 
+ 00014976  0x00002eda store  0x00000002 , 0x00004573 
+ 00014977  0x00002edc copy  0x00000011 , 0x00000003 
+ 00014978  0x00002edf copy  0x00000003 , 0x0000003f 
+ 00014979  0x00002ee0 store  0x00000002 , 0x00004571 
+ 00014980  0x00002ee2 call  0x00003a88 
+ 00014981  0x00002ee3 branch  0x00006c4d 
+ 00014982  0x00002ee6 jam  0x00000000 , 0x00000b05 
+ 00014983  0x00002ee7 branch  0x00003cd1 
+ 00014984  0x00002eea call  0x00003a8e 
+ 00014985  0x00002eeb fetch  0x00000002 , 0x00004573 
+ 00014986  0x00002eec fetcht  0x00000002 , 0x0000469f 
+ 00014987  0x00002eed isub  0x00000002 , 0x0000003f 
+ 00014988  0x00002eee store  0x00000002 , 0x00004573 
+ 00014989  0x00002eef rtn 
+ 00014990  0x00002ef2 fetch  0x00000002 , 0x00004573 
+ 00014991  0x00002ef3 arg  0x0000006e , 0x00000002 
+ 00014992  0x00002ef4 call  0x00007fdd 
+ 00014993  0x00002ef5 fetcht  0x00000002 , 0x0000456c 
+ 00014994  0x00002ef6 call  0x00007fdd 
+ 00014995  0x00002ef7 fetcht  0x00000002 , 0x0000455e 
+ 00014996  0x00002ef8 call  0x00007fdd 
+ 00014997  0x00002ef9 store  0x00000002 , 0x0000469f 
+ 00014998  0x00002efa rtn 
+ 00014999  0x00002efd jam  0x00000001 , 0x00000b05 
+ 00015000  0x00002efe jam  0x00000005 , 0x00000b03 
+ 00015001  0x00002eff branch  0x00003c1a 
+ 00015002  0x00002f04 fetch  0x00000002 , 0x00004682 
+ 00015003  0x00002f05 bbit0  0x00000009 , 0x00003c17 
+ 00015004  0x00002f06 call  0x00003ad4 
+ 00015005  0x00002f07 branch  0x00003c17 , 0x00000028 
+ 00015006  0x00002f08 jam  0x00000000 , 0x00000b05 
+ 00015007  0x00002f09 fetch  0x00000001 , 0x000046bf 
+ 00015008  0x00002f0a bbit1  0x00000004 , 0x00003ab4 
+ 00015009  0x00002f0b fetch  0x00000001 , 0x000046c0 
+ 00015010  0x00002f0c nrtn  0x00000034 
+ 00015011  0x00002f0d jam  0x00000001 , 0x00000b05 
+ 00015012  0x00002f0e ifetch  0x00000002 , 0x00000003 
+ 00015013  0x00002f0f store  0x00000002 , 0x000046c1 
+ 00015014  0x00002f10 copy  0x00000003 , 0x0000003f 
+ 00015015  0x00002f11 store  0x00000002 , 0x000046c3 
+ 00015016  0x00002f12 fetch  0x00000001 , 0x00000b04 
+ 00015017  0x00002f13 pincrease  0xfffffffe 
+ 00015018  0x00002f14 nbranch  0x00003c17 , 0x00000002 
+ 00015019  0x00002f15 branch  0x00003c17 , 0x00000005 
+ 00015020  0x00002f16 store  0x00000001 , 0x000046c0 
+ 00015021  0x00002f17 jam  0x00000000 , 0x00000b05 
+ 00015022  0x00002f18 call  0x00005814 
+ 00015023  0x00002f19 call  0x00003ab7 
+ 00015024  0x00002f1a call  0x00003ab7 
+ 00015025  0x00002f1b call  0x00003ab7 
+ 00015026  0x00002f1c fetch  0x00000001 , 0x000046bf 
+ 00015027  0x00002f1d rtnbit0  0x00000004 
+ 00015028  0x00002f1f jam  0x00000001 , 0x00000b05 
+ 00015029  0x00002f20 call  0x00003cf6 
+ 00015030  0x00002f21 branch  0x00003c1a 
+ 00015031  0x00002f24 fetch  0x00000001 , 0x000046c0 
+ 00015032  0x00002f25 rtn  0x00000034 
+ 00015033  0x00002f26 call  0x00005892 
+ 00015034  0x00002f27 nrtn  0x00000034 
+ 00015035  0x00002f28 call  0x00003acf 
+ 00015036  0x00002f29 bpatch  0x000000e1 , 0x0000401c 
+ 00015037  0x00002f2a add  0x00000002 , 0xfffffffd , 0x0000003f 
+ 00015038  0x00002f2b fetcht  0x00000001 , 0x000046c0 
+ 00015039  0x00002f2c call  0x00007fdd 
+ 00015040  0x00002f2d copy  0x0000003f , 0x00000011 
+ 00015041  0x00002f2e copy  0x00000002 , 0x0000003f 
+ 00015042  0x00002f2f isub  0x00000011 , 0x0000003f 
+ 00015043  0x00002f30 store  0x00000001 , 0x000046c0 
+ 00015044  0x00002f31 fetcht  0x00000002 , 0x000046c1 
+ 00015045  0x00002f32 call  0x00005a64 
+ 00015046  0x00002f33 fetch  0x00000002 , 0x000046c3 
+ 00015047  0x00002f34 copy  0x0000003f , 0x00000003 
+ 00015048  0x00002f35 copy  0x00000011 , 0x00000039 
+ 00015049  0x00002f36 call  0x000066ea 
+ 00015050  0x00002f37 copy  0x00000003 , 0x0000003f 
+ 00015051  0x00002f38 store  0x00000002 , 0x000046c3 
+ 00015052  0x00002f39 fetch  0x00000001 , 0x000046c0 
+ 00015053  0x00002f3a nrtn  0x00000034 
+ 00015054  0x00002f3b branch  0x00003cf4 
+ 00015055  0x00002f40 arg  0x00000017 , 0x00000002 
+ 00015056  0x00002f41 fetch  0x00000001 , 0x000046bf 
+ 00015057  0x00002f42 rtnbit1  0x00000001 
+ 00015058  0x00002f43 fetcht  0x00000002 , 0x000044a8 
+ 00015059  0x00002f44 rtn 
+ 00015060  0x00002f47 fetch  0x00000001 , 0x000046bf 
+ 00015061  0x00002f48 bbit1  0x00000002 , 0x00005a42 
+ 00015062  0x00002f49 branch  0x00007fe9 
+ 00015063  0x00002f4e branch  0x00003c4c 
+ 00015064  0x00002f53 copy  0x00000011 , 0x00000003 
+ 00015065  0x00002f54 ifetch  0x00000001 , 0x00000003 
+ 00015066  0x00002f55 beq  0x00000000 , 0x00003adf 
+ 00015067  0x00002f56 beq  0x00000001 , 0x00003ae2 
+ 00015068  0x00002f57 beq  0x00000002 , 0x00003ae8 
+ 00015069  0x00002f58 beq  0x00000003 , 0x00003aea 
+ 00015070  0x00002f59 branch  0x00003c17 
+ 00015071  0x00002f5b call  0x0000612b 
+ 00015072  0x00002f5c jam  0x00000000 , 0x0000465a 
+ 00015073  0x00002f5d branch  0x00003c1a 
+ 00015074  0x00002f5f setarg  0x00040003 
+ 00015075  0x00002f61 store  0x00000003 , 0x0000465b 
+ 00015076  0x00002f62 store  0x00000001 , 0x00004662 
+ 00015077  0x00002f63 call  0x00006124 
+ 00015078  0x00002f64 jam  0x00000001 , 0x0000465a 
+ 00015079  0x00002f65 branch  0x00003c1a 
+ 00015080  0x00002f67 setarg  0x00040002 
+ 00015081  0x00002f68 branch  0x00003ae3 
+ 00015082  0x00002f6b setarg  0x00040001 
+ 00015083  0x00002f6c branch  0x00003ae3 
+ 00015084  0x00002f70 fetch  0x00000001 , 0x00000b04 
+ 00015085  0x00002f71 sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00015086  0x00002f72 nbranch  0x00003c17 , 0x00000002 
+ 00015087  0x00002f73 store  0x00000001 , 0x00004689 
+ 00015088  0x00002f74 copy  0x0000003f , 0x00000039 
+ 00015089  0x00002f75 arg  0x0000468a , 0x00000005 
+ 00015090  0x00002f76 call  0x000066fd 
+ 00015091  0x00002f77 branch  0x00003c1a 
+ 00015092  0x00002f7c copy  0x00000011 , 0x00000003 
+ 00015093  0x00002f7d ifetch  0x00000001 , 0x00000003 
+ 00015094  0x00002f7e hfetcht  0x00000001 , 0x00008062 
+ 00015095  0x00002f7f nsetflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00015096  0x00002f80 hstoret  0x00000001 , 0x00008062 
+ 00015097  0x00002f81 branch  0x00003c1a 
+ 00015098  0x00002f86 fetch  0x00000001 , 0x00000b04 
+ 00015099  0x00002f87 copy  0x0000003f , 0x00000039 
+ 00015100  0x00002f88 copy  0x00000011 , 0x00000003 
+ 00015101  0x00002f89 call  0x00007f58 
+ 00015102  0x00002f8a setarg  0x016e3600 
+ 00015103  0x00002f8b idiv  0x00000002 
+ 00015104  0x00002f8c call  0x00007f86 
+ 00015105  0x00002f8d quotient  0x0000003f 
+ 00015106  0x00002f8f store  0x00000002 , 0x00004243 
+ 00015107  0x00002f90 call  0x00003c1a 
+ 00015108  0x00002f91 call  0x00007f9e 
+ 00015109  0x00002f92 branch  0x000066ce 
+ 00015110  0x00002f97 arg  0x00000002 , 0x00000011 
+ 00015111  0x00002f98 arg  0x0000469a , 0x00000012 
+ 00015112  0x00002f99 arg  0x00000000 , 0x00000002 
+ 00015113  0x00002f9a branch  0x00003c25 
+ 00015114  0x00002f9c store  0x00000002 , 0x00000ac2 
+ 00015115  0x00002f9d arg  0x00000ac2 , 0x00000012 
+ 00015116  0x00002f9e arg  0x00000000 , 0x00000002 
+ 00015117  0x00002f9f branch  0x00003c25 
+ 00015118  0x00002fa4 fetch  0x00000002 , 0x00004682 
+ 00015119  0x00002fa5 bbit0  0x00000000 , 0x00003c17 
+ 00015120  0x00002fa7 call  0x00003c1a 
+ 00015121  0x00002fa8 branch  0x000033e9 
+ 00015122  0x00002fad fetch  0x00000002 , 0x00004682 
+ 00015123  0x00002fae bbit0  0x00000009 , 0x00003c17 
+ 00015124  0x00002fb0 call  0x00003c1a 
+ 00015125  0x00002fb1 branch  0x00003402 
+ 00015126  0x00002fb8 fetch  0x00000001 , 0x00000b04 
+ 00015127  0x00002fb9 copy  0x0000003f , 0x00000039 
+ 00015128  0x00002fba copy  0x00000011 , 0x00000003 
+ 00015129  0x00002fbb fetch  0x00000002 , 0x00004215 
+ 00015130  0x00002fbc icopy  0x00000005 
+ 00015131  0x00002fbd call  0x000066ea 
+ 00015132  0x00002fbe branch  0x00003c1a 
+ 00015133  0x00002fc3 fetch  0x00000001 , 0x00004682 
+ 00015134  0x00002fc4 bbit0  0x00000000 , 0x00003c17 
+ 00015135  0x00002fc5 ifetch  0x00000001 , 0x00000003 
+ 00015136  0x00002fc6 fetcht  0x00000001 , 0x00004661 
+ 00015137  0x00002fc7 setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00015138  0x00002fc8 set1  0x00000007 , 0x00000002 
+ 00015139  0x00002fc9 storet  0x00000001 , 0x00004661 
+ 00015140  0x00002fcb call  0x00003c1a 
+ 00015141  0x00002fcd fetch  0x00000001 , 0x00004661 
+ 00015142  0x00002fce bbit1  0x00000006 , 0x00003b2b 
+ 00015143  0x00002fcf rtn 
+ 00015144  0x00002fd2 jam  0x00000000 , 0x00004661 
+ 00015145  0x00002fd3 jam  0x00000021 , 0x00000a99 
+ 00015146  0x00002fd4 branch  0x00007d8f 
+ 00015147  0x00002fd8 bbit1  0x00000000 , 0x00005f95 
+ 00015148  0x00002fd9 branch  0x00003b28 
+ 00015149  0x00002fde fetch  0x00000001 , 0x00004682 
+ 00015150  0x00002fdf rtnbit0  0x00000004 
+ 00015151  0x00002fe0 fetch  0x00000001 , 0x0000456b 
+ 00015152  0x00002fe1 rtneq  0x00000000 
+ 00015153  0x00002fe2 ifetch  0x00000001 , 0x00000003 
+ 00015154  0x00002fe3 fetcht  0x00000001 , 0x00004569 
+ 00015155  0x00002fe4 iadd  0x00000002 , 0x00000002 
+ 00015156  0x00002fe5 storet  0x00000001 , 0x00004569 
+ 00015157  0x00002fe6 rtn 
+ 00015158  0x00002feb arg  0x00000040 , 0x00000039 
+ 00015159  0x00002fec arg  0x0000436f , 0x00000005 
+ 00015160  0x00002fed call  0x00007ed4 
+ 00015161  0x00002fee setarg  0x00000000 
+ 00015162  0x00002fef store  0x00000001 , 0x00000ab2 
+ 00015163  0x00002ff0 copy  0x00000011 , 0x00000003 
+ 00015164  0x00002ff2 copy  0x00000003 , 0x0000003f 
+ 00015165  0x00002ff3 store  0x00000002 , 0x00000ab6 
+ 00015166  0x00002ff4 call  0x00003b64 
+ 00015167  0x00002ff6 fetch  0x00000001 , 0x00000ab2 
+ 00015168  0x00002ff7 fetcht  0x00000001 , 0x00000aa2 
+ 00015169  0x00002ff8 increase  0x00000001 , 0x00000002 
+ 00015170  0x00002ff9 iadd  0x00000002 , 0x0000003f 
+ 00015171  0x00002ffa store  0x00000001 , 0x00000ab2 
+ 00015172  0x00002ffc sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015173  0x00002ffd nbranch  0x00003b50 , 0x00000002 
+ 00015174  0x00002fff fetcht  0x00000001 , 0x0000436f 
+ 00015175  0x00003000 setarg  0x00004370 
+ 00015176  0x00003001 iadd  0x00000002 , 0x0000003f 
+ 00015177  0x00003002 store  0x00000002 , 0x00000abb 
+ 00015178  0x00003003 fetcht  0x00000001 , 0x00000aa2 
+ 00015179  0x00003004 increase  0x00000001 , 0x00000002 
+ 00015180  0x00003005 fetch  0x00000001 , 0x0000436f 
+ 00015181  0x00003006 iadd  0x00000002 , 0x0000003f 
+ 00015182  0x00003007 store  0x00000001 , 0x0000436f 
+ 00015183  0x00003008 branch  0x00003b59 
+ 00015184  0x0000300a fetcht  0x00000001 , 0x0000438f 
+ 00015185  0x0000300b setarg  0x00004390 
+ 00015186  0x0000300c iadd  0x00000002 , 0x0000003f 
+ 00015187  0x0000300d store  0x00000002 , 0x00000abb 
+ 00015188  0x0000300e fetcht  0x00000001 , 0x00000aa2 
+ 00015189  0x0000300f increase  0x00000001 , 0x00000002 
+ 00015190  0x00003010 fetch  0x00000001 , 0x0000438f 
+ 00015191  0x00003011 iadd  0x00000002 , 0x0000003f 
+ 00015192  0x00003012 store  0x00000001 , 0x0000438f 
+ 00015193  0x00003014 fetch  0x00000002 , 0x00000abb 
+ 00015194  0x00003015 copy  0x0000003f , 0x00000005 
+ 00015195  0x00003016 fetch  0x00000002 , 0x00000ab6 
+ 00015196  0x00003017 copy  0x0000003f , 0x00000003 
+ 00015197  0x00003019 copy  0x00000002 , 0x00000039 
+ 00015198  0x0000301a call  0x000066ea 
+ 00015199  0x0000301c fetch  0x00000001 , 0x00000b04 
+ 00015200  0x0000301d fetcht  0x00000001 , 0x00000ab2 
+ 00015201  0x0000301e isub  0x00000002 , 0x0000003e 
+ 00015202  0x0000301f nbranch  0x00003b3c , 0x00000005 
+ 00015203  0x00003020 branch  0x00003c1a 
+ 00015204  0x00003024 ifetch  0x00000001 , 0x00000003 
+ 00015205  0x00003025 store  0x00000001 , 0x00000aa2 
+ 00015206  0x00003026 ifetch  0x00000001 , 0x00000003 
+ 00015207  0x00003027 store  0x00000001 , 0x00000aae 
+ 00015208  0x00003028 rtn 
+ 00015209  0x0000302d arg  0x00000000 , 0x00000002 
+ 00015210  0x0000302e arg  0x00000002 , 0x00000011 
+ 00015211  0x0000302f fetch  0x00000002 , 0x000046b4 
+ 00015212  0x00003030 store  0x00000002 , 0x00000ac2 
+ 00015213  0x00003031 arg  0x00000ac2 , 0x00000012 
+ 00015214  0x00003032 branch  0x00003c25 
+ 00015215  0x00003037 fetch  0x00000001 , 0x00000b04 
+ 00015216  0x00003038 bne  0x00000001 , 0x00003c17 
+ 00015217  0x00003039 ifetch  0x00000001 , 0x00000003 
+ 00015218  0x0000303a store  0x00000001 , 0x000046b2 
+ 00015219  0x0000303b setarg  0x00000000 
+ 00015220  0x0000303c store  0x00000002 , 0x000046b4 
+ 00015221  0x0000303d branch  0x00003c1a 
+ 00015222  0x00003042 ifetch  0x00000004 , 0x00000003 
+ 00015223  0x00003043 store  0x00000004 , 0x0000468a 
+ 00015224  0x00003044 jam  0x00000004 , 0x00004689 
+ 00015225  0x00003045 jam  0x00000000 , 0x00004663 
+ 00015226  0x00003046 call  0x00003c1a 
+ 00015227  0x00003047 branch  0x00005f31 
+ 00015228  0x0000304c fetch  0x00000001 , 0x00000b04 
+ 00015229  0x0000304d bne  0x00000003 , 0x00003c17 
+ 00015230  0x0000304e ifetch  0x00000001 , 0x00000003 
+ 00015231  0x0000304f beq  0x00000000 , 0x00003b82 
+ 00015232  0x00003050 beq  0x00000001 , 0x00003b8a 
+ 00015233  0x00003051 branch  0x00003c17 
+ 00015234  0x00003054 ifetcht  0x00000001 , 0x00000003 
+ 00015235  0x00003055 ifetch  0x00000001 , 0x00000003 
+ 00015236  0x00003056 beq  0x00000002 , 0x00003b88 
+ 00015237  0x00003057 nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00015238  0x00003058 call  0x000067fb 
+ 00015239  0x00003059 branch  0x00003c1a 
+ 00015240  0x0000305c call  0x00006806 
+ 00015241  0x0000305d branch  0x00003c1a 
+ 00015242  0x00003060 ifetcht  0x00000001 , 0x00000003 
+ 00015243  0x00003061 call  0x00006812 
+ 00015244  0x00003062 ifetch  0x00000001 , 0x00000003 
+ 00015245  0x00003063 isolate1  0x00000000 , 0x0000003f 
+ 00015246  0x00003064 call  0x0000682c 
+ 00015247  0x00003065 branch  0x00003c1a 
+ 00015248  0x0000306a fetch  0x00000001 , 0x00000b04 
+ 00015249  0x0000306b bne  0x00000001 , 0x00003c17 
+ 00015250  0x0000306c ifetcht  0x00000001 , 0x00000003 
+ 00015251  0x0000306d call  0x0000681d 
+ 00015252  0x0000306e setarg  0x00000000 
+ 00015253  0x0000306f nsetflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00015254  0x00003070 arg  0x00000001 , 0x00000011 
+ 00015255  0x00003071 branch  0x00003b0a 
+ 00015256  0x00003076 copy  0x00000011 , 0x00000003 
+ 00015257  0x00003077 ifetch  0x00000001 , 0x00000003 
+ 00015258  0x00003078 copy  0x0000003f , 0x00000002 
+ 00015259  0x00003079 beq  0x00000081 , 0x00003ba3 
+ 00015260  0x0000307a beq  0x00000082 , 0x00003ba8 
+ 00015261  0x0000307b beq  0x00000083 , 0x00003bae 
+ 00015262  0x0000307c store  0x00000001 , 0x000044c6 
+ 00015263  0x0000307d beq  0x00000000 , 0x00003bb3 
+ 00015264  0x0000307e beq  0x00000001 , 0x00003bb6 
+ 00015265  0x0000307f beq  0x00000002 , 0x00003bb8 
+ 00015266  0x00003080 branch  0x00003c17 
+ 00015267  0x00003083 fetch  0x00000001 , 0x000044be 
+ 00015268  0x00003084 branch  0x00003c17 , 0x00000034 
+ 00015269  0x00003085 storet  0x00000001 , 0x000044c6 
+ 00015270  0x00003086 jam  0x0000000d , 0x00004456 
+ 00015271  0x00003087 branch  0x00003bb4 
+ 00015272  0x00003089 fetch  0x00000001 , 0x000044be 
+ 00015273  0x0000308a branch  0x00003c17 , 0x00000034 
+ 00015274  0x0000308b storet  0x00000001 , 0x000044c6 
+ 00015275  0x0000308c jam  0x0000000d , 0x00004456 
+ 00015276  0x0000308d jam  0x00000001 , 0x00004454 
+ 00015277  0x0000308e branch  0x00003c1a 
+ 00015278  0x00003090 fetch  0x00000001 , 0x000044be 
+ 00015279  0x00003091 branch  0x00003c17 , 0x00000034 
+ 00015280  0x00003092 storet  0x00000001 , 0x000044c6 
+ 00015281  0x00003093 jam  0x0000000d , 0x00004456 
+ 00015282  0x00003094 branch  0x00003bb9 
+ 00015283  0x00003096 jam  0x00000000 , 0x00004456 
+ 00015284  0x00003098 jam  0x00000003 , 0x00004454 
+ 00015285  0x00003099 branch  0x00003c1a 
+ 00015286  0x0000309b jam  0x00000005 , 0x00004456 
+ 00015287  0x0000309c branch  0x00003bb4 
+ 00015288  0x0000309e jam  0x00000005 , 0x00004456 
+ 00015289  0x000030a0 jam  0x00000000 , 0x00004454 
+ 00015290  0x000030a1 branch  0x00003c1a 
+ 00015291  0x000030a6 fetch  0x00000001 , 0x00000b04 
+ 00015292  0x000030a7 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015293  0x000030a8 nbranch  0x00003c17 , 0x00000002 
+ 00015294  0x000030a9 store  0x00000001 , 0x0000436f 
+ 00015295  0x000030aa copy  0x0000003f , 0x00000039 
+ 00015296  0x000030ab copy  0x00000011 , 0x00000003 
+ 00015297  0x000030ac arg  0x00004370 , 0x00000005 
+ 00015298  0x000030ad call  0x000066ea 
+ 00015299  0x000030ae branch  0x00003c1a 
+ 00015300  0x000030b3 fetch  0x00000001 , 0x00000b04 
+ 00015301  0x000030b4 sub  0x0000003f , 0x0000001f , 0x0000003e 
+ 00015302  0x000030b5 nbranch  0x00003c17 , 0x00000002 
+ 00015303  0x000030b6 store  0x00000001 , 0x0000438f 
+ 00015304  0x000030b7 copy  0x0000003f , 0x00000039 
+ 00015305  0x000030b8 copy  0x00000011 , 0x00000003 
+ 00015306  0x000030b9 arg  0x00004390 , 0x00000005 
+ 00015307  0x000030ba call  0x000066ea 
+ 00015308  0x000030bb branch  0x00003c1a 
+ 00015309  0x000030c0 fetch  0x00000002 , 0x00004682 
+ 00015310  0x000030c1 bbit0  0x00000009 , 0x00003c17 
+ 00015311  0x000030c2 fetch  0x00000001 , 0x00000b04 
+ 00015312  0x000030c3 bne  0x00000008 , 0x00003c17 
+ 00015313  0x000030c4 copy  0x00000011 , 0x00000003 
+ 00015314  0x000030c5 ifetch  0x00000008 , 0x00000003 
+ 00015315  0x000030c6 store  0x00000008 , 0x00004496 
+ 00015316  0x000030c7 jam  0x00000012 , 0x00000a99 
+ 00015317  0x000030c8 call  0x00007d8f 
+ 00015318  0x000030c9 branch  0x00003c1a 
+ 00015319  0x000030ce ifetch  0x00000002 , 0x00000003 
+ 00015320  0x000030cf store  0x00000002 , 0x00004482 
+ 00015321  0x000030d0 branch  0x00003c1a 
+ 00015322  0x000030d5 fetch  0x00000001 , 0x000044c6 
+ 00015323  0x000030d6 branch  0x00003c17 , 0x00000034 
+ 00015324  0x000030d7 fetch  0x00000001 , 0x000044c4 
+ 00015325  0x000030d8 bne  0x00000000 , 0x00003c17 
+ 00015326  0x000030d9 fetch  0x00000001 , 0x000044c5 
+ 00015327  0x000030da bne  0x00000000 , 0x00003c17 
+ 00015328  0x000030db call  0x00007e25 
+ 00015329  0x000030dc branch  0x00003c1a 
+ 00015330  0x000030e1 fetch  0x00000001 , 0x00000b04 
+ 00015331  0x000030e2 bne  0x00000005 , 0x00003c17 
+ 00015332  0x000030e3 ifetch  0x00000001 , 0x00000003 
+ 00015333  0x000030e4 store  0x00000001 , 0x000046a2 
+ 00015334  0x000030e5 ifetch  0x00000004 , 0x00000003 
+ 00015335  0x000030e6 store  0x00000004 , 0x000046a3 
+ 00015336  0x000030e7 fetcht  0x00000001 , 0x000046a2 
+ 00015337  0x000030e8 call  0x0000680e 
+ 00015338  0x000030e9 call  0x00003cbc 
+ 00015339  0x000030ea branch  0x00003c1a 
+ 00015340  0x000030ef fetch  0x00000001 , 0x00000b04 
+ 00015341  0x000030f0 bne  0x00000001 , 0x00003c17 
+ 00015342  0x000030f1 ifetch  0x00000001 , 0x00000003 
+ 00015343  0x000030f2 store  0x00000001 , 0x000041de 
+ 00015344  0x000030f3 branch  0x00003c1a 
+ 00015345  0x000030f8 ifetch  0x00000001 , 0x00000003 
+ 00015346  0x000030f9 beq  0x00000001 , 0x00003bfa 
+ 00015347  0x000030fa fetch  0x00000001 , 0x000044c1 
+ 00015348  0x000030fb beq  0x00000003 , 0x00003bf8 
+ 00015349  0x000030fc beq  0x00000006 , 0x00003bf8 
+ 00015350  0x000030fd beq  0x00000007 , 0x00003bf8 
+ 00015351  0x000030fe branch  0x00003c17 
+ 00015352  0x00003100 jam  0x00000001 , 0x000044c2 
+ 00015353  0x00003101 branch  0x00003c1a 
+ 00015354  0x00003104 call  0x00005b53 
+ 00015355  0x00003105 branch  0x00003c1a 
+ 00015356  0x0000310a fetch  0x00000001 , 0x00000b04 
+ 00015357  0x0000310b bne  0x00000001 , 0x00003c17 
+ 00015358  0x0000310c call  0x00003c1a 
+ 00015359  0x0000310d ifetch  0x00000001 , 0x00000003 
+ 00015360  0x0000310e branch  0x000060cb , 0x00000034 
+ 00015361  0x0000310f branch  0x000060c9 
+ 00015362  0x00003114 call  0x00003c1a 
+ 00015363  0x00003115 call  0x00007f9e 
+ 00015364  0x00003116 jam  0x00000001 , 0x00008010 
+ 00015365  0x00003117 branch  0x00002a8e 
+ 00015366  0x0000311c fetch  0x00000001 , 0x00000b04 
+ 00015367  0x0000311d beq  0x00000000 , 0x00003c17 
+ 00015368  0x0000311e ifetch  0x00000001 , 0x00000003 
+ 00015369  0x0000311f branch  0x00003c13 , 0x00000034 
+ 00015370  0x00003120 fetch  0x00000001 , 0x00000b04 
+ 00015371  0x00003121 bne  0x00000005 , 0x00003c17 
+ 00015372  0x00003122 ifetch  0x00000004 , 0x00000003 
+ 00015373  0x00003123 arg  0x000f4240 , 0x00000002 
+ 00015374  0x00003124 isub  0x00000002 , 0x0000003e 
+ 00015375  0x00003125 branch  0x00003c17 , 0x00000002 
+ 00015376  0x00003126 store  0x00000004 , 0x000044c7 
+ 00015377  0x00003127 call  0x0000580c 
+ 00015378  0x00003128 branch  0x00003c1a 
+ 00015379  0x0000312b call  0x0000580e 
+ 00015380  0x0000312c branch  0x00003c1a 
+ 00015381  0x00003131 jam  0x00000000 , 0x00004091 
+ 00015382  0x00003132 branch  0x00003c1a 
+ 00015383  0x00003138 arg  0x00000001 , 0x00000002 
+ 00015384  0x00003139 arg  0x00000000 , 0x00000011 
+ 00015385  0x0000313a branch  0x00003c25 
+ 00015386  0x0000313e arg  0x00000000 , 0x00000002 
+ 00015387  0x0000313f arg  0x00000000 , 0x00000011 
+ 00015388  0x00003140 branch  0x00003c25 
+ 00015389  0x00003145 jam  0x00000000 , 0x00000b03 
+ 00015390  0x00003146 branch  0x00003c49 
+ 00015391  0x0000314b jam  0x00000002 , 0x00000b03 
+ 00015392  0x0000314c branch  0x00003c49 
+ 00015393  0x00003151 jam  0x00000003 , 0x00000b03 
+ 00015394  0x00003152 branch  0x00003c49 
+ 00015395  0x00003157 jam  0x00000005 , 0x00000b03 
+ 00015396  0x00003158 branch  0x00003c49 
+ 00015397  0x00003161 fetch  0x00000001 , 0x00000b03 
+ 00015398  0x00003162 copy  0x0000003f , 0x00000013 
+ 00015399  0x00003163 jam  0x00000006 , 0x00000b03 
+ 00015400  0x00003164 setarg  0x00000002 
+ 00015401  0x00003165 iadd  0x00000011 , 0x0000003f 
+ 00015402  0x00003166 call  0x00003ca7 
+ 00015403  0x00003167 copy  0x00000013 , 0x0000003f 
+ 00015404  0x00003168 istore  0x00000001 , 0x0000000a 
+ 00015405  0x00003169 istoret  0x00000001 , 0x0000000a 
+ 00015406  0x0000316a copy  0x00000011 , 0x00000039 
+ 00015407  0x0000316b copy  0x00000012 , 0x00000006 
+ 00015408  0x0000316c call  0x000066e4 
+ 00015409  0x0000316d branch  0x000066c5 
+ 00015410  0x00003173 call  0x0000397f 
+ 00015411  0x00003174 jam  0x00000007 , 0x00000b03 
+ 00015412  0x00003175 fetch  0x00000001 , 0x000004ff 
+ 00015413  0x00003176 rtn  0x00000034 
+ 00015414  0x00003177 call  0x00003ca7 
+ 00015415  0x00003178 fetch  0x00000001 , 0x000004ff 
+ 00015416  0x00003179 copy  0x0000003f , 0x00000039 
+ 00015417  0x0000317a fetch  0x00000002 , 0x00000501 
+ 00015418  0x0000317b copy  0x0000003f , 0x00000006 
+ 00015419  0x0000317c call  0x000066d1 
+ 00015420  0x0000317d branch  0x000066c5 
+ 00015421  0x00003182 jam  0x00000008 , 0x00000b03 
+ 00015422  0x00003183 fetch  0x00000001 , 0x000046b6 
+ 00015423  0x00003184 icopy  0x00000039 
+ 00015424  0x00003185 increase  0x00000002 , 0x0000003f 
+ 00015425  0x00003186 call  0x00003ca7 
+ 00015426  0x00003187 fetch  0x00000002 , 0x000046b9 
+ 00015427  0x00003188 istore  0x00000002 , 0x0000000a 
+ 00015428  0x00003189 fetch  0x00000002 , 0x000046b7 
+ 00015429  0x0000318a icopy  0x00000006 
+ 00015430  0x0000318b call  0x000066d1 
+ 00015431  0x0000318c branch  0x000066c5 
+ 00015432  0x00003191 jam  0x00000009 , 0x00000b03 
+ 00015433  0x00003193 setarg  0x00000000 
+ 00015434  0x00003194 call  0x00003ca7 
+ 00015435  0x00003195 branch  0x000066c5 
+ 00015436  0x0000319a jam  0x0000000a , 0x00000b03 
+ 00015437  0x0000319b setarg  0x00000001 
+ 00015438  0x0000319c call  0x00003ca7 
+ 00015439  0x0000319e call  0x00003c5d 
+ 00015440  0x000031a0 fetch  0x00000002 , 0x00004682 
+ 00015441  0x000031a1 arg  0x00000002 , 0x00000007 
+ 00015442  0x000031a2 qisolate1  0x0000003f 
+ 00015443  0x000031a3 setflag  0x00000001 , 0x00000003 , 0x00000002 
+ 00015444  0x000031a5 arg  0x00000009 , 0x00000007 
+ 00015445  0x000031a6 qisolate1  0x0000003f 
+ 00015446  0x000031a7 setflag  0x00000001 , 0x00000005 , 0x00000002 
+ 00015447  0x000031a9 fetch  0x00000001 , 0x00004682 
+ 00015448  0x000031aa arg  0x00000004 , 0x00000007 
+ 00015449  0x000031ab qisolate1  0x0000003f 
+ 00015450  0x000031ac setflag  0x00000001 , 0x00000004 , 0x00000002 
+ 00015451  0x000031ae istoret  0x00000001 , 0x0000000a 
+ 00015452  0x000031af branch  0x000066c5 
+ 00015453  0x000031b4 arg  0x00000000 , 0x00000002 
+ 00015454  0x000031b5 fetch  0x00000001 , 0x00004093 
+ 00015455  0x000031b6 arg  0x00000000 , 0x00000007 
+ 00015456  0x000031b7 qisolate1  0x0000003f 
+ 00015457  0x000031b8 setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00015458  0x000031b9 arg  0x00000001 , 0x00000007 
+ 00015459  0x000031ba qisolate1  0x0000003f 
+ 00015460  0x000031bb setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00015461  0x000031bd fetch  0x00000001 , 0x0000436e 
+ 00015462  0x000031be arg  0x00000000 , 0x00000007 
+ 00015463  0x000031bf qisolate1  0x0000003f 
+ 00015464  0x000031c0 setflag  0x00000001 , 0x00000002 , 0x00000002 
+ 00015465  0x000031c1 rtn 
+ 00015466  0x000031c6 jam  0x0000000d , 0x00000b03 
+ 00015467  0x000031c7 fetch  0x00000001 , 0x00004217 
+ 00015468  0x000031c8 mul32  0x0000003f , 0x00000022 , 0x0000003f 
+ 00015469  0x000031c9 icopy  0x00000039 
+ 00015470  0x000031ca call  0x00003ca7 
+ 00015471  0x000031cb fetch  0x00000002 , 0x00004215 
+ 00015472  0x000031cc icopy  0x00000006 
+ 00015473  0x000031cd call  0x000066d1 
+ 00015474  0x000031ce branch  0x000066c5 
+ 00015475  0x000031d3 jam  0x0000000e , 0x00000b03 
+ 00015476  0x000031d4 setarg  0x00000004 
+ 00015477  0x000031d5 call  0x00003ca7 
+ 00015478  0x000031d6 fetch  0x00000004 , 0x000009ba 
+ 00015479  0x000031d7 istore  0x00000004 , 0x0000000a 
+ 00015480  0x000031d8 branch  0x000066c5 
+ 00015481  0x000031dd jam  0x0000000f , 0x00000b03 
+ 00015482  0x000031de hfetch  0x00000002 , 0x00008112 
+ 00015483  0x000031df arg  0x000000ff , 0x00000002 
+ 00015484  0x000031e0 call  0x00007fdd 
+ 00015485  0x000031e1 copy  0x0000003f , 0x00000039 
+ 00015486  0x000031e2 call  0x00003ca7 
+ 00015487  0x000031e3 call  0x000066cb 
+ 00015488  0x000031e4 call  0x00006703 
+ 00015489  0x000031e5 branch  0x000066c5 
+ 00015490  0x000031ea jam  0x00000010 , 0x00000b03 
+ 00015491  0x000031eb branch  0x00003c49 
+ 00015492  0x000031f0 jam  0x00000011 , 0x00000b03 
+ 00015493  0x000031f1 setarg  0x00000004 
+ 00015494  0x000031f2 call  0x00003ca7 
+ 00015495  0x000031f3 fetch  0x00000004 , 0x000044c7 
+ 00015496  0x000031f4 istore  0x00000004 , 0x0000000a 
+ 00015497  0x000031f5 branch  0x000066c5 
+ 00015498  0x000031fa arg  0x00000180 , 0x00000011 
+ 00015499  0x000031fb branch  0x00003c91 
+ 00015500  0x000031fe arg  0x00000080 , 0x00000011 
+ 00015501  0x000031ff branch  0x00003c91 
+ 00015502  0x00003202 arg  0x00000101 , 0x00000011 
+ 00015503  0x00003203 branch  0x00003c91 
+ 00015504  0x00003206 arg  0x00000001 , 0x00000011 
+ 00015505  0x00003209 jam  0x00000000 , 0x00004661 
+ 00015506  0x0000320a jam  0x00000014 , 0x00000b03 
+ 00015507  0x0000320b setarg  0x00000002 
+ 00015508  0x0000320c call  0x00003ca7 
+ 00015509  0x0000320d copy  0x00000011 , 0x0000003f 
+ 00015510  0x0000320e istore  0x00000002 , 0x0000000a 
+ 00015511  0x0000320f branch  0x000066c5 
+ 00015512  0x00003214 arg  0x00000000 , 0x00000013 
+ 00015513  0x00003215 branch  0x00003c9b 
+ 00015514  0x00003218 arg  0x00000001 , 0x00000013 
+ 00015515  0x0000321b jam  0x00000015 , 0x00000b03 
+ 00015516  0x0000321c setarg  0x00000001 
+ 00015517  0x0000321d call  0x00003ca7 
+ 00015518  0x0000321e copy  0x00000013 , 0x0000003f 
+ 00015519  0x0000321f istore  0x00000001 , 0x0000000a 
+ 00015520  0x00003220 branch  0x000066c5 
+ 00015521  0x00003225 jam  0x0000001d , 0x00000b03 
+ 00015522  0x00003226 setarg  0x00000004 
+ 00015523  0x00003227 call  0x00003ca7 
+ 00015524  0x00003228 fetch  0x00000004 , 0x000009ba 
+ 00015525  0x00003229 istore  0x00000004 , 0x0000000a 
+ 00015526  0x0000322a branch  0x000066c5 
+ 00015527  0x00003236 jam  0x00000002 , 0x00000b02 
+ 00015528  0x00003237 store  0x00000001 , 0x00000b04 
+ 00015529  0x00003238 storet  0x00000008 , 0x00000aa2 
+ 00015530  0x00003239 bpatch  0x000000e2 , 0x0000401c 
+ 00015531  0x0000323a call  0x00003cb1 
+ 00015532  0x0000323b fetcht  0x00000008 , 0x00000aa2 
+ 00015533  0x0000323c call  0x000066c2 
+ 00015534  0x0000323d fetch  0x00000003 , 0x00000b02 
+ 00015535  0x0000323e istore  0x00000003 , 0x0000000a 
+ 00015536  0x0000323f rtn 
+ 00015537  0x00003243 call  0x00003cba 
+ 00015538  0x00003244 rtn  0x00000001 
+ 00015539  0x00003246 call  0x00003cb8 
+ 00015540  0x00003247 fetch  0x00000004 , 0x000046a3 
+ 00015541  0x00003248 rshift2  0x0000003f , 0x0000003f 
+ 00015542  0x00003249 rtn  0x00000034 
+ 00015543  0x0000324a branch  0x00003cbe 
+ 00015544  0x0000324e fetcht  0x00000001 , 0x000046a2 
+ 00015545  0x0000324f branch  0x00006829 
+ 00015546  0x00003252 fetcht  0x00000001 , 0x000046a2 
+ 00015547  0x00003253 branch  0x0000681b 
+ 00015548  0x00003256 fetcht  0x00000001 , 0x000046a2 
+ 00015549  0x00003257 branch  0x00006825 
+ 00015550  0x0000325b increase  0xffffffff , 0x0000003f 
+ 00015551  0x0000325c nop  0x00000026 
+ 00015552  0x0000325d nbranch  0x00003cbe , 0x00000034 
+ 00015553  0x0000325e rtn 
+ 00015554  0x00003268 call  0x00003ad4 
+ 00015555  0x00003269 rtn  0x00000028 
+ 00015556  0x0000326a copy  0x00000011 , 0x0000003f 
+ 00015557  0x0000326b store  0x00000002 , 0x000046b7 
+ 00015558  0x0000326c copy  0x00000012 , 0x0000003f 
+ 00015559  0x0000326d store  0x00000001 , 0x000046b6 
+ 00015560  0x0000326e fetch  0x00000002 , 0x00000478 
+ 00015561  0x0000326f fetcht  0x00000002 , 0x000046bb 
+ 00015562  0x00003270 isub  0x00000002 , 0x0000003e 
+ 00015563  0x00003271 branch  0x00003ccf , 0x00000005 
+ 00015564  0x00003272 fetcht  0x00000002 , 0x000046bd 
+ 00015565  0x00003273 isub  0x00000002 , 0x0000003e 
+ 00015566  0x00003274 nrtn  0x00000005 
+ 00015567  0x00003276 store  0x00000002 , 0x000046b9 
+ 00015568  0x00003277 branch  0x00003c3d 
+ 00015569  0x0000327d fetch  0x00000001 , 0x000046bf 
+ 00015570  0x0000327e rtnbit1  0x00000005 
+ 00015571  0x0000327f call  0x00003cf0 
+ 00015572  0x00003280 branch  0x0000340c 
+ 00015573  0x00003284 jam  0x00000002 , 0x00004172 
+ 00015574  0x00003285 rtn 
+ 00015575  0x0000328a branch  0x00003cd8 
+ 00015576  0x0000328d fetch  0x00000001 , 0x000046b2 
+ 00015577  0x0000328e rtn  0x00000034 
+ 00015578  0x0000328f fetch  0x00000001 , 0x000046b3 
+ 00015579  0x00003290 rtn  0x00000034 
+ 00015580  0x00003291 increase  0xffffffff , 0x0000003f 
+ 00015581  0x00003292 store  0x00000001 , 0x000046b3 
+ 00015582  0x00003293 nrtn  0x00000034 
+ 00015583  0x00003294 jam  0x0000000a , 0x000046b3 
+ 00015584  0x00003295 call  0x000068eb 
+ 00015585  0x00003296 call  0x00006908 
+ 00015586  0x00003297 div  0x0000003f , 0x00000064 
+ 00015587  0x00003298 call  0x00007f86 
+ 00015588  0x00003299 quotient  0x0000003f 
+ 00015589  0x0000329a remainder  0x00000002 
+ 00015590  0x0000329b store  0x00000001 , 0x000046b4 
+ 00015591  0x0000329c storet  0x00000001 , 0x000046b5 
+ 00015592  0x0000329d rtn 
+ 00015593  0x000032a1 call  0x00007fb4 
+ 00015594  0x000032a2 branch  0x000033d9 , 0x00000002 
+ 00015595  0x000032a3 branch  0x000033db 
+ 00015596  0x000032a8 arg  0x00000006 , 0x00000007 
+ 00015597  0x000032a9 branch  0x00003cfc 
+ 00015598  0x000032ac arg  0x00000006 , 0x00000007 
+ 00015599  0x000032ad branch  0x00003cf8 
+ 00015600  0x000032b0 arg  0x00000005 , 0x00000007 
+ 00015601  0x000032b1 branch  0x00003cfc 
+ 00015602  0x000032b4 arg  0x00000005 , 0x00000007 
+ 00015603  0x000032b5 branch  0x00003cf8 
+ 00015604  0x000032b8 arg  0x00000004 , 0x00000007 
+ 00015605  0x000032b9 branch  0x00003cfc 
+ 00015606  0x000032bc arg  0x00000004 , 0x00000007 
+ 00015607  0x000032bd branch  0x00003cf8 
+ 00015608  0x000032c0 fetch  0x00000001 , 0x000046bf 
+ 00015609  0x000032c1 qset0  0x0000003f 
+ 00015610  0x000032c2 store  0x00000001 , 0x000046bf 
+ 00015611  0x000032c3 rtn 
+ 00015612  0x000032c6 fetch  0x00000001 , 0x000046bf 
+ 00015613  0x000032c7 qset1  0x0000003f 
+ 00015614  0x000032c8 store  0x00000001 , 0x000046bf 
+ 00015615  0x000032c9 rtn 
+ 00015616  0x000032d4 call  0x00003d39 
+ 00015617  0x000032d5 call  0x0000640f 
+ 00015618  0x000032d6 call  0x000040c6 
+ 00015619  0x000032d7 call  0x00003d66 
+ 00015620  0x000032d8 call  0x00006411 
+ 00015621  0x000032d9 rtn  0x0000002b 
+ 00015622  0x000032da call  0x00003d16 
+ 00015623  0x000032db call  0x00003d19 
+ 00015624  0x000032de fetch  0x00000004 , 0x000046d3 
+ 00015625  0x000032df rtnbit1  0x00000010 
+ 00015626  0x000032e0 call  0x00003d4e 
+ 00015627  0x000032e1 rtnmark1  0x00000026 
+ 00015628  0x000032e2 fetch  0x00000002 , 0x00004682 
+ 00015629  0x000032e3 bbit1  0x0000000c , 0x000042b0 
+ 00015630  0x000032e4 branch  0x000042a2 
+ 00015631  0x000032e8 fetch  0x00000004 , 0x000046d3 
+ 00015632  0x000032e9 rtnbit0  0x0000001b 
+ 00015633  0x000032ea arg  0x00000014 , 0x00000039 
+ 00015634  0x000032ec setarg  0x00030d40 
+ 00015635  0x000032ed call  0x00002a8f 
+ 00015636  0x000032ee loop  0x00007ec1 
+ 00015637  0x000032ef rtn 
+ 00015638  0x000032f3 fetch  0x00000004 , 0x000046d3 
+ 00015639  0x000032f4 rtnbit0  0x00000010 
+ 00015640  0x000032f5 branch  0x000048ea 
+ 00015641  0x000032f9 setarg  0x0000416d 
+ 00015642  0x000032fa store  0x00000002 , 0x000041ef 
+ 00015643  0x000032fb setarg  0x00003f77 
+ 00015644  0x000032fc store  0x00000002 , 0x000041f1 
+ 00015645  0x000032fd setarg  0x00003ebb 
+ 00015646  0x000032fe store  0x00000002 , 0x000041ed 
+ 00015647  0x000032ff setarg  0x0000417c 
+ 00015648  0x00003300 store  0x00000002 , 0x000041f5 
+ 00015649  0x00003301 setarg  0x00003de3 
+ 00015650  0x00003302 store  0x00000002 , 0x000041f3 
+ 00015651  0x00003303 setarg  0x00003eb3 
+ 00015652  0x00003304 store  0x00000002 , 0x000041eb 
+ 00015653  0x00003305 setarg  0x00003d5b 
+ 00015654  0x00003306 store  0x00000002 , 0x000041f9 
+ 00015655  0x00003308 call  0x00002c7a 
+ 00015656  0x00003309 setarg  0x00004401 
+ 00015657  0x0000330a add  0x00000013 , 0x000000d8 , 0x00000005 
+ 00015658  0x0000330b istore  0x00000002 , 0x00000005 
+ 00015659  0x0000330c setarg  0x00004406 
+ 00015660  0x0000330d add  0x00000013 , 0x000000da , 0x00000005 
+ 00015661  0x0000330e istore  0x00000002 , 0x00000005 
+ 00015662  0x0000330f setarg  0x00003ebf 
+ 00015663  0x00003310 add  0x00000013 , 0x000000dc , 0x00000005 
+ 00015664  0x00003311 istore  0x00000002 , 0x00000005 
+ 00015665  0x00003313 setarg  0x000041f9 
+ 00015666  0x00003314 store  0x00000002 , 0x000041fd 
+ 00015667  0x00003315 setarg  0x00003d36 
+ 00015668  0x00003316 store  0x00000002 , 0x00004201 
+ 00015669  0x00003317 rtn 
+ 00015670  0x0000331a fetch  0x00000004 , 0x000046d3 
+ 00015671  0x0000331b bbit0  0x00000012 , 0x000064d7 
+ 00015672  0x0000331c branch  0x000064da 
+ 00015673  0x0000331f rtn  0x0000002b 
+ 00015674  0x00003320 call  0x00002c9d 
+ 00015675  0x00003321 call  0x00003e6e 
+ 00015676  0x00003322 call  0x00003e1e 
+ 00015677  0x00003323 call  0x00003e54 
+ 00015678  0x00003324 call  0x00005810 
+ 00015679  0x00003325 call  0x00005839 
+ 00015680  0x00003326 call  0x0000582c 
+ 00015681  0x00003327 call  0x00005818 
+ 00015682  0x00003328 fetch  0x00000004 , 0x000046d3 
+ 00015683  0x00003329 bbit1  0x00000014 , 0x00003d46 
+ 00015684  0x0000332a bbit1  0x00000013 , 0x00004414 
+ 00015685  0x0000332b rtn 
+ 00015686  0x0000332e call  0x0000659c 
+ 00015687  0x0000332f fetch  0x00000004 , 0x000046d3 
+ 00015688  0x00003330 isolate1  0x00000019 , 0x0000003f 
+ 00015689  0x00003331 ncall  0x000065c2 , 0x00000001 
+ 00015690  0x00003332 call  0x0000443f 
+ 00015691  0x00003333 call  0x00003dc9 
+ 00015692  0x00003334 call  0x000041aa 
+ 00015693  0x00003335 branch  0x000065df 
+ 00015694  0x00003338 fetch  0x00000004 , 0x000046d3 
+ 00015695  0x00003339 bbit0  0x0000001e , 0x00003d53 
+ 00015696  0x0000333a fetch  0x00000001 , 0x00000abd 
+ 00015697  0x0000333b isolate0  0x00000003 , 0x0000003f 
+ 00015698  0x0000333c nrtn  0x00000001 
+ 00015699  0x0000333e fetch  0x00000001 , 0x0000471f 
+ 00015700  0x0000333f store  0x00000001 , 0x0000471e 
+ 00015701  0x00003340 fetch  0x00000001 , 0x000046f5 
+ 00015702  0x00003341 rtnbit1  0x00000006 
+ 00015703  0x00003343 fetch  0x00000004 , 0x000046d3 
+ 00015704  0x00003344 rtnbit0  0x00000011 
+ 00015705  0x00003345 bbit1  0x0000001d , 0x00002ee4 
+ 00015706  0x00003346 branch  0x00002f2c 
+ 00015707  0x00003348 fetch  0x00000001 , 0x00000478 
+ 00015708  0x00003349 sub  0x0000003f , 0x0000001a , 0x0000003f 
+ 00015709  0x0000334a nrtn  0x00000005 
+ 00015710  0x0000334b jam  0x00000012 , 0x00000a99 
+ 00015711  0x0000334c call  0x00007d8f 
+ 00015712  0x0000334e arg  0x00000000 , 0x00000007 
+ 00015713  0x0000334f branch  0x000041b9 
+ 00015714  0x00003352 fetch  0x00000001 , 0x000046b6 
+ 00015715  0x00003353 rtneq  0x00000001 
+ 00015716  0x00003354 jam  0x00000001 , 0x000046b6 
+ 00015717  0x00003355 rtn 
+ 00015718  0x00003357 fetch  0x00000001 , 0x000046e1 
+ 00015719  0x00003358 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00015720  0x00003359 store  0x00000001 , 0x0000477a 
+ 00015721  0x0000335a branch  0x00003d80 
+ 00015722  0x0000335e fetcht  0x00000001 , 0x000046e7 
+ 00015723  0x0000335f call  0x0000681d 
+ 00015724  0x00003360 nbranch  0x00003d62 , 0x00000001 
+ 00015725  0x00003362 fetch  0x00000001 , 0x000046b6 
+ 00015726  0x00003363 rtneq  0x00000000 
+ 00015727  0x00003364 jam  0x00000000 , 0x000046b6 
+ 00015728  0x00003366 fetch  0x00000001 , 0x0000477a 
+ 00015729  0x00003367 increase  0x00000001 , 0x0000003f 
+ 00015730  0x00003368 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00015731  0x00003369 store  0x00000001 , 0x0000477a 
+ 00015732  0x0000336a call  0x00003d7e 
+ 00015733  0x0000336b fetch  0x00000004 , 0x000046d3 
+ 00015734  0x0000336c bbit1  0x00000014 , 0x0000443b 
+ 00015735  0x0000336d bbit1  0x00000013 , 0x00003d79 
+ 00015736  0x0000336e rtn 
+ 00015737  0x00003370 arg  0x0000001e , 0x00000002 
+ 00015738  0x00003371 call  0x0000680e 
+ 00015739  0x00003372 arg  0x0000001f , 0x00000002 
+ 00015740  0x00003373 call  0x0000680e 
+ 00015741  0x00003374 branch  0x00004435 
+ 00015742  0x00003377 bpatch  0x000000e3 , 0x0000401c 
+ 00015743  0x00003378 call  0x0000424a 
+ 00015744  0x00003379 fetch  0x00000001 , 0x000046e0 
+ 00015745  0x0000337a beq  0x00000005 , 0x00003daa 
+ 00015746  0x0000337b beq  0x00000004 , 0x00003d96 
+ 00015747  0x0000337c fetch  0x00000001 , 0x0000477a 
+ 00015748  0x0000337d beq  0x00000000 , 0x00003d8a 
+ 00015749  0x0000337e beq  0x00000001 , 0x00003d88 
+ 00015750  0x0000337f beq  0x00000002 , 0x00003d8c 
+ 00015751  0x00003380 beq  0x00000003 , 0x00003d8e 
+ 00015752  0x00003382 fetch  0x00000001 , 0x00004780 
+ 00015753  0x00003383 branch  0x00003dbe 
+ 00015754  0x00003385 fetch  0x00000001 , 0x0000477f 
+ 00015755  0x00003386 branch  0x00003dbe 
+ 00015756  0x00003388 fetch  0x00000001 , 0x00004781 
+ 00015757  0x00003389 branch  0x00003dbe 
+ 00015758  0x0000338b fetch  0x00000001 , 0x00004782 
+ 00015759  0x0000338c branch  0x00003dbe 
+ 00015760  0x0000338e fetch  0x00000001 , 0x000046e0 
+ 00015761  0x0000338f rtneq  0x00000006 
+ 00015762  0x00003390 fetch  0x00000001 , 0x000046b5 
+ 00015763  0x00003391 increase  0x00000001 , 0x0000003f 
+ 00015764  0x00003392 store  0x00000001 , 0x000046b5 
+ 00015765  0x00003393 rtn 
+ 00015766  0x00003396 fetch  0x00000001 , 0x0000477a 
+ 00015767  0x00003397 beq  0x00000000 , 0x00003d9d 
+ 00015768  0x00003398 beq  0x00000001 , 0x00003d9b 
+ 00015769  0x00003399 beq  0x00000002 , 0x00003d9f 
+ 00015770  0x0000339a beq  0x00000003 , 0x00003da1 
+ 00015771  0x0000339c fetch  0x00000001 , 0x00004784 
+ 00015772  0x0000339d branch  0x00003da2 
+ 00015773  0x0000339f fetch  0x00000001 , 0x00004783 
+ 00015774  0x000033a0 branch  0x00003da2 
+ 00015775  0x000033a2 fetch  0x00000001 , 0x00004785 
+ 00015776  0x000033a3 branch  0x00003da2 
+ 00015777  0x000033a5 fetch  0x00000001 , 0x00004786 
+ 00015778  0x000033a7 store  0x00000001 , 0x000046b5 
+ 00015779  0x000033a8 lshift8  0x0000003f , 0x0000003f 
+ 00015780  0x000033a9 copy  0x0000003f , 0x00000011 
+ 00015781  0x000033aa add  0x0000003f , 0x0000000d , 0x0000003f 
+ 00015782  0x000033ab call  0x00006413 
+ 00015783  0x000033ac copy  0x00000011 , 0x0000003f 
+ 00015784  0x000033ad add  0x0000003f , 0x0000000e , 0x0000003f 
+ 00015785  0x000033ae branch  0x00006413 
+ 00015786  0x000033b1 fetch  0x00000001 , 0x0000477a 
+ 00015787  0x000033b2 beq  0x00000000 , 0x00003db1 
+ 00015788  0x000033b3 beq  0x00000001 , 0x00003daf 
+ 00015789  0x000033b4 beq  0x00000002 , 0x00003db3 
+ 00015790  0x000033b5 beq  0x00000003 , 0x00003db5 
+ 00015791  0x000033b7 fetch  0x00000001 , 0x00004788 
+ 00015792  0x000033b8 branch  0x00003db6 
+ 00015793  0x000033ba fetch  0x00000001 , 0x00004787 
+ 00015794  0x000033bb branch  0x00003db6 
+ 00015795  0x000033bd fetch  0x00000001 , 0x00004789 
+ 00015796  0x000033be branch  0x00003db6 
+ 00015797  0x000033c0 fetch  0x00000001 , 0x0000478a 
+ 00015798  0x000033c2 store  0x00000001 , 0x000046b5 
+ 00015799  0x000033c3 call  0x000040c0 
+ 00015800  0x000033c4 fetch  0x00000001 , 0x000046b5 
+ 00015801  0x000033c6 add  0x0000003f , 0x00000080 , 0x0000003f 
+ 00015802  0x000033c7 lshift8  0x0000003f , 0x0000003f 
+ 00015803  0x000033c8 add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00015804  0x000033c9 copy  0x0000003f , 0x00000011 
+ 00015805  0x000033ca branch  0x0000415a 
+ 00015806  0x000033cd store  0x00000001 , 0x000046b5 
+ 00015807  0x000033ce call  0x00003d90 
+ 00015808  0x000033cf fetch  0x00000001 , 0x000046b5 
+ 00015809  0x000033d0 setarg  0x00000006 
+ 00015810  0x000033d1 call  0x00006414 
+ 00015811  0x000033d2 and  0x0000003f , 0x000000f8 , 0x00000002 
+ 00015812  0x000033d3 fetch  0x00000001 , 0x000046b5 
+ 00015813  0x000033d4 iadd  0x00000002 , 0x0000003f 
+ 00015814  0x000033d5 lshift8  0x0000003f , 0x0000003f 
+ 00015815  0x000033d6 add  0x0000003f , 0x00000006 , 0x0000003f 
+ 00015816  0x000033d7 branch  0x00006413 
+ 00015817  0x000033db call  0x000033c4 
+ 00015818  0x000033dc branch  0x00004316 , 0x00000005 
+ 00015819  0x000033dd call  0x0000441c 
+ 00015820  0x000033de call  0x000042e4 
+ 00015821  0x000033df branch  0x000033bd 
+ 00015822  0x000033e3 fetch  0x00000002 , 0x00004707 
+ 00015823  0x000033e4 rtn  0x00000034 
+ 00015824  0x000033e5 fetch  0x00000004 , 0x000046d3 
+ 00015825  0x000033e6 rtnbit0  0x00000011 
+ 00015826  0x000033e7 rtnbit1  0x00000003 
+ 00015827  0x000033e8 rtnmark1  0x00000026 
+ 00015828  0x000033e9 call  0x00004083 
+ 00015829  0x000033ea rtnne  0x00000007 
+ 00015830  0x000033eb call  0x00004482 
+ 00015831  0x000033ec arg  0x00000003 , 0x00000007 
+ 00015832  0x000033ed call  0x000043ce 
+ 00015833  0x000033ee setarg  0x00000000 
+ 00015834  0x000033ef store  0x00000002 , 0x000046ae 
+ 00015835  0x000033f0 store  0x00000001 , 0x000046b4 
+ 00015836  0x000033f1 call  0x00003263 
+ 00015837  0x000033f3 fetch  0x00000002 , 0x00004682 
+ 00015838  0x000033f4 bbit1  0x00000007 , 0x00004392 
+ 00015839  0x000033f5 bbit1  0x00000009 , 0x00003402 
+ 00015840  0x000033f6 bbit1  0x00000000 , 0x000033e9 
+ 00015841  0x000033f7 call  0x000042ca 
+ 00015842  0x000033f8 branch  0x00002ead 
+ 00015843  0x000033fc call  0x00003dce 
+ 00015844  0x000033fd call  0x00007e34 
+ 00015845  0x000033fe call  0x00003d6a 
+ 00015846  0x000033ff call  0x00003de9 
+ 00015847  0x00003400 call  0x00003ee0 
+ 00015848  0x00003401 branch  0x00003df7 
+ 00015849  0x00003403 fetch  0x00000004 , 0x000046d3 
+ 00015850  0x00003404 rtnbit0  0x00000010 
+ 00015851  0x00003405 call  0x000048d3 
+ 00015852  0x00003406 branch  0x000048fd 
+ 00015853  0x00003409 hfetch  0x00000001 , 0x00008a04 
+ 00015854  0x0000340a bbit0  0x00000007 , 0x00003df1 
+ 00015855  0x0000340b bbit1  0x00000007 , 0x00003df4 
+ 00015856  0x0000340c rtn 
+ 00015857  0x0000340e fetch  0x00000001 , 0x000046ff 
+ 00015858  0x0000340f rtnbit0  0x00000007 
+ 00015859  0x00003410 branch  0x0000659a 
+ 00015860  0x00003412 fetch  0x00000001 , 0x000046ff 
+ 00015861  0x00003413 rtnbit1  0x00000007 
+ 00015862  0x00003414 branch  0x00004381 
+ 00015863  0x00003417 call  0x00003ded 
+ 00015864  0x00003418 hfetch  0x00000001 , 0x00008a04 
+ 00015865  0x00003419 store  0x00000001 , 0x000046ff 
+ 00015866  0x0000341a rtnbit0  0x00000007 
+ 00015867  0x0000341b call  0x00003e07 
+ 00015868  0x0000341c fetch  0x00000004 , 0x000046f9 
+ 00015869  0x0000341d fetcht  0x00000001 , 0x000046fd 
+ 00015870  0x0000341e iadd  0x00000002 , 0x00000002 
+ 00015871  0x0000341f copy  0x00000022 , 0x0000003f 
+ 00015872  0x00003420 isub  0x00000002 , 0x0000003e 
+ 00015873  0x00003421 nrtn  0x00000002 
+ 00015874  0x00003422 store  0x00000004 , 0x000046f9 
+ 00015875  0x00003423 call  0x00003f97 
+ 00015876  0x00003424 nrtn  0x00000028 
+ 00015877  0x00003425 jam  0x00000004 , 0x00000d38 
+ 00015878  0x00003426 branch  0x00003e0f 
+ 00015879  0x00003429 fetcht  0x00000004 , 0x000046f9 
+ 00015880  0x0000342a copy  0x00000022 , 0x0000003f 
+ 00015881  0x0000342b isub  0x00000002 , 0x0000003e 
+ 00015882  0x0000342c ncall  0x00003e0c , 0x00000002 
+ 00015883  0x0000342d rtn 
+ 00015884  0x0000342f setarg  0x00000000 
+ 00015885  0x00003430 store  0x00000004 , 0x000046f9 
+ 00015886  0x00003431 rtn 
+ 00015887  0x00003436 fetch  0x00000001 , 0x00000d38 
+ 00015888  0x00003437 rtnbit0  0x00000002 
+ 00015889  0x00003438 branch  0x00003e12 
+ 00015890  0x0000343a hfetch  0x00000001 , 0x00008a04 
+ 00015891  0x0000343b rtnbit0  0x00000007 
+ 00015892  0x0000343c jam  0x00000020 , 0x00000d52 
+ 00015893  0x0000343d setarg  0x00000001 
+ 00015894  0x0000343e store  0x00000001 , 0x00000d54 
+ 00015895  0x0000343f fetch  0x00000007 , 0x0000469a 
+ 00015896  0x00003440 istore  0x00000007 , 0x00000005 
+ 00015897  0x00003441 rtn 
+ 00015898  0x00003445 hfetch  0x00000002 , 0x00008050 
+ 00015899  0x00003446 set0  0x0000000b , 0x0000003f 
+ 00015900  0x00003447 hstore  0x00000002 , 0x00008050 
+ 00015901  0x00003448 rtn 
+ 00015902  0x0000344b setarg  0x00008c00 
+ 00015903  0x0000344c store  0x00000002 , 0x00004575 
+ 00015904  0x0000344d setarg  0x00008e7a 
+ 00015905  0x0000344e store  0x00000002 , 0x000044bc 
+ 00015906  0x0000344f setarg  0x00002402 
+ 00015907  0x00003450 store  0x00000002 , 0x000040bd 
+ 00015908  0x00003451 setarg  0x00002580 
+ 00015909  0x00003452 store  0x00000003 , 0x000040aa 
+ 00015910  0x00003453 jam  0x00000003 , 0x00004173 
+ 00015911  0x00003454 jam  0x00000008 , 0x00004156 
+ 00015912  0x00003455 jam  0x00000001 , 0x000046d9 
+ 00015913  0x00003456 setarg  0x00000200 
+ 00015914  0x00003457 store  0x00000002 , 0x00004154 
+ 00015915  0x00003458 jam  0x00000017 , 0x000044a6 
+ 00015916  0x00003459 jam  0x00000017 , 0x000044a8 
+ 00015917  0x0000345b setarg  0x00000a77 
+ 00015918  0x0000345c store  0x00000002 , 0x00004212 
+ 00015919  0x0000346c setsect  0x00000000 , 0x00000306 
+ 00015920  0x0000346d setsect  0x00000001 , 0x00004440 
+ 00015921  0x0000346e setsect  0x00000002 , 0x00010000 
+ 00015922  0x0000346f setsect  0x00000003 , 0x00004408 
+ 00015923  0x00003470 store  0x00000009 , 0x00004577 
+ 00015924  0x00003471 setsect  0x00000000 , 0x00001224 
+ 00015925  0x00003472 setsect  0x00000001 , 0x00004000 
+ 00015926  0x00003473 setsect  0x00000002 , 0x00000000 
+ 00015927  0x00003474 istore  0x00000005 , 0x00000005 
+ 00015928  0x00003476 setsect  0x00000000 , 0x0003ffff 
+ 00015929  0x00003477 setsect  0x00000001 , 0x0002fe23 
+ 00015930  0x00003478 setsect  0x00000002 , 0x000199d9 
+ 00015931  0x00003479 setsect  0x00000003 , 0x0000020d 
+ 00015932  0x0000347a store  0x00000008 , 0x00004098 
+ 00015933  0x0000347c setarg  0x0000012c 
+ 00015934  0x0000347d store  0x00000002 , 0x00004707 
+ 00015935  0x0000347e call  0x000057a3 
+ 00015936  0x0000347f fetch  0x00000004 , 0x000046d3 
+ 00015937  0x00003480 rtnbit0  0x0000001f 
+ 00015938  0x00003481 call  0x00003e44 
+ 00015939  0x00003482 branch  0x00003e4c 
+ 00015940  0x00003485 fetcht  0x00000001 , 0x000046f7 
+ 00015941  0x00003486 call  0x000067fb 
+ 00015942  0x00003487 fetcht  0x00000001 , 0x000046f7 
+ 00015943  0x00003488 call  0x0000681d 
+ 00015944  0x00003489 jam  0x00000003 , 0x000046f6 
+ 00015945  0x0000348a rtn  0x00000001 
+ 00015946  0x0000348b jam  0x00000002 , 0x000046f6 
+ 00015947  0x0000348c rtn 
+ 00015948  0x0000348f fetcht  0x00000001 , 0x000046f8 
+ 00015949  0x00003490 call  0x000067fb 
+ 00015950  0x00003491 fetcht  0x00000001 , 0x000046f8 
+ 00015951  0x00003492 call  0x0000681d 
+ 00015952  0x00003493 jam  0x00000000 , 0x0000422d 
+ 00015953  0x00003494 rtn  0x00000001 
+ 00015954  0x00003495 jam  0x00000002 , 0x0000422d 
+ 00015955  0x00003496 rtn 
+ 00015956  0x0000349a fetch  0x00000001 , 0x0000422d 
+ 00015957  0x0000349b beq  0x00000000 , 0x00003e59 
+ 00015958  0x0000349c beq  0x00000001 , 0x00003e62 
+ 00015959  0x0000349d beq  0x00000002 , 0x00003e6b 
+ 00015960  0x0000349e branch  0x00003e59 
+ 00015961  0x000034a1 fetcht  0x00000002 , 0x00004221 
+ 00015962  0x000034a2 fetch  0x00000002 , 0x00004227 
+ 00015963  0x000034a3 isub  0x00000002 , 0x0000003f 
+ 00015964  0x000034a4 mul32  0x0000003f , 0x00000014 , 0x0000003f 
+ 00015965  0x000034a5 div  0x0000003f , 0x00000064 
+ 00015966  0x000034a6 call  0x00007f86 
+ 00015967  0x000034a7 quotient  0x0000003f 
+ 00015968  0x000034a8 store  0x00000002 , 0x000046d0 
+ 00015969  0x000034a9 rtn 
+ 00015970  0x000034ab fetcht  0x00000002 , 0x0000421f 
+ 00015971  0x000034ac fetch  0x00000002 , 0x00004225 
+ 00015972  0x000034ad isub  0x00000002 , 0x0000003f 
+ 00015973  0x000034ae mul32  0x0000003f , 0x000000e6 , 0x0000003f 
+ 00015974  0x000034af div  0x0000003f , 0x00000190 
+ 00015975  0x000034b0 call  0x00007f86 
+ 00015976  0x000034b1 quotient  0x0000003f 
+ 00015977  0x000034b2 store  0x00000002 , 0x000046d0 
+ 00015978  0x000034b3 rtn 
+ 00015979  0x000034b5 fetch  0x00000002 , 0x00004223 
+ 00015980  0x000034b6 store  0x00000002 , 0x000046d0 
+ 00015981  0x000034b7 rtn 
+ 00015982  0x000034b9 fetcht  0x00000001 , 0x0000423a 
+ 00015983  0x000034ba call  0x0000680e 
+ 00015984  0x000034bb call  0x000048fb 
+ 00015985  0x000034bc fetcht  0x00000001 , 0x000046e2 
+ 00015986  0x000034bd call  0x000067fb 
+ 00015987  0x000034be fetcht  0x00000001 , 0x000046e3 
+ 00015988  0x000034bf call  0x000067fb 
+ 00015989  0x000034c0 fetcht  0x00000001 , 0x000046e4 
+ 00015990  0x000034c1 call  0x000067fb 
+ 00015991  0x000034c2 fetcht  0x00000001 , 0x000046f3 
+ 00015992  0x000034c3 call  0x000067fb 
+ 00015993  0x000034c5 fetcht  0x00000001 , 0x000046dc 
+ 00015994  0x000034c6 call  0x0000680e 
+ 00015995  0x000034c8 fetcht  0x00000001 , 0x000046e8 
+ 00015996  0x000034c9 call  0x000067fb 
+ 00015997  0x000034cb fetcht  0x00000001 , 0x000046e9 
+ 00015998  0x000034cc call  0x000067fb 
+ 00015999  0x000034ce fetcht  0x00000001 , 0x000046ea 
+ 00016000  0x000034cf call  0x000067fb 
+ 00016001  0x000034d0 fetcht  0x00000001 , 0x000046eb 
+ 00016002  0x000034d1 call  0x000067fb 
+ 00016003  0x000034d3 fetcht  0x00000001 , 0x000046e5 
+ 00016004  0x000034d4 call  0x000067fb 
+ 00016005  0x000034d5 fetcht  0x00000001 , 0x000046e6 
+ 00016006  0x000034d6 call  0x000067fb 
+ 00016007  0x000034d8 fetcht  0x00000001 , 0x000046ef 
+ 00016008  0x000034d9 call  0x0000680e 
+ 00016009  0x000034db fetcht  0x00000001 , 0x000046f0 
+ 00016010  0x000034dc call  0x0000680e 
+ 00016011  0x000034de fetcht  0x00000001 , 0x000046f1 
+ 00016012  0x000034df call  0x0000680e 
+ 00016013  0x000034e1 fetcht  0x00000001 , 0x000046f2 
+ 00016014  0x000034e2 call  0x0000680e 
+ 00016015  0x000034e4 fetcht  0x00000001 , 0x000046f4 
+ 00016016  0x000034e5 call  0x0000680e 
+ 00016017  0x000034e7 fetcht  0x00000001 , 0x000046ed 
+ 00016018  0x000034e8 call  0x000067fb 
+ 00016019  0x000034ea fetcht  0x00000001 , 0x000046ec 
+ 00016020  0x000034eb call  0x000067fb 
+ 00016021  0x000034ed fetcht  0x00000001 , 0x000046e7 
+ 00016022  0x000034ee branch  0x000067fb 
+ 00016023  0x000034f1 fetcht  0x00000001 , 0x000046e8 
+ 00016024  0x000034f2 call  0x000067dd 
+ 00016025  0x000034f3 fetcht  0x00000001 , 0x000046e9 
+ 00016026  0x000034f4 call  0x000067dd 
+ 00016027  0x000034f5 fetcht  0x00000001 , 0x000046ea 
+ 00016028  0x000034f6 call  0x000067dd 
+ 00016029  0x000034f7 fetcht  0x00000001 , 0x000046eb 
+ 00016030  0x000034f8 branch  0x000067dd 
+ 00016031  0x000034fb fetcht  0x00000001 , 0x000046e8 
+ 00016032  0x000034fc call  0x00003ea7 
+ 00016033  0x000034fd fetcht  0x00000001 , 0x000046e9 
+ 00016034  0x000034fe call  0x00003ea7 
+ 00016035  0x000034ff fetcht  0x00000001 , 0x000046ea 
+ 00016036  0x00003500 call  0x00003ea7 
+ 00016037  0x00003501 fetcht  0x00000001 , 0x000046eb 
+ 00016038  0x00003502 branch  0x00003ea7 
+ 00016039  0x00003505 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00016040  0x00003506 rtn  0x00000005 
+ 00016041  0x00003507 and  0x00000002 , 0x0000007f , 0x00000007 
+ 00016042  0x00003508 hfetch  0x00000004 , 0x0000811c 
+ 00016043  0x00003509 qisolate1  0x0000003f 
+ 00016044  0x0000350a hfetch  0x00000004 , 0x00008078 
+ 00016045  0x0000350b qsetflag  0x00000001 , 0x0000003f 
+ 00016046  0x0000350c hstore  0x00000004 , 0x00008078 
+ 00016047  0x0000350d hfetch  0x00000004 , 0x0000807c 
+ 00016048  0x0000350e nqsetflag  0x00000001 , 0x0000003f 
+ 00016049  0x0000350f hstore  0x00000004 , 0x0000807c 
+ 00016050  0x00003510 rtn 
+ 00016051  0x00003513 enable  0x00000028 
+ 00016052  0x00003514 hfetch  0x00000004 , 0x00008138 
+ 00016053  0x00003515 setflag  0x00000028 , 0x0000001a , 0x0000003f 
+ 00016054  0x00003516 hstore  0x00000004 , 0x0000804c 
+ 00016055  0x00003517 call  0x00002c21 
+ 00016056  0x00003518 call  0x00004482 
+ 00016057  0x00003519 call  0x00003e9f 
+ 00016058  0x0000351b branch  0x00003ebf 
+ 00016059  0x00003520 call  0x00003ebf 
+ 00016060  0x00003521 fetch  0x00000001 , 0x000000a0 
+ 00016061  0x00003522 nrtn  0x00000034 
+ 00016062  0x00003523 branch  0x000067ed 
+ 00016063  0x00003526 call  0x00003ee0 
+ 00016064  0x00003527 arg  0x00000019 , 0x00000002 
+ 00016065  0x00003528 fetch  0x00000004 , 0x000046d3 
+ 00016066  0x00003529 isolate1  0x00000012 , 0x0000003f 
+ 00016067  0x0000352a call  0x00003ede , 0x00000001 
+ 00016068  0x0000352b call  0x0000680e 
+ 00016069  0x0000352c call  0x000063ee 
+ 00016070  0x00003530 fetcht  0x00000001 , 0x000046e2 
+ 00016071  0x00003531 call  0x000067dd 
+ 00016072  0x00003532 fetcht  0x00000001 , 0x000046e3 
+ 00016073  0x00003533 call  0x000067dd 
+ 00016074  0x00003534 fetcht  0x00000001 , 0x000046e4 
+ 00016075  0x00003535 call  0x000067dd 
+ 00016076  0x00003537 fetcht  0x00000001 , 0x000046e5 
+ 00016077  0x00003538 call  0x000067dd 
+ 00016078  0x00003539 fetcht  0x00000001 , 0x000046e6 
+ 00016079  0x0000353a call  0x000067dd 
+ 00016080  0x0000353b fetcht  0x00000001 , 0x000046e7 
+ 00016081  0x0000353c call  0x000067dd 
+ 00016082  0x0000353d fetcht  0x00000001 , 0x000046ed 
+ 00016083  0x0000353e call  0x000067dd 
+ 00016084  0x0000353f fetcht  0x00000001 , 0x000046e8 
+ 00016085  0x00003540 call  0x000067dd 
+ 00016086  0x00003541 fetcht  0x00000001 , 0x000046e9 
+ 00016087  0x00003542 call  0x000067dd 
+ 00016088  0x00003543 fetcht  0x00000001 , 0x000046ea 
+ 00016089  0x00003544 call  0x000067dd 
+ 00016090  0x00003545 fetcht  0x00000001 , 0x000046eb 
+ 00016091  0x00003546 call  0x000067dd 
+ 00016092  0x00003547 fetcht  0x00000001 , 0x000046f3 
+ 00016093  0x00003548 branch  0x000067e1 
+ 00016094  0x0000354d arg  0x0000001e , 0x00000002 
+ 00016095  0x0000354e rtn 
+ 00016096  0x00003551 bpatch  0x000000e4 , 0x0000401c 
+ 00016097  0x00003552 call  0x00003eee 
+ 00016098  0x00003553 call  0x00003f36 
+ 00016099  0x00003554 fetch  0x00000001 , 0x000046b8 
+ 00016100  0x00003555 fetcht  0x00000001 , 0x000046b7 
+ 00016101  0x00003556 store  0x00000001 , 0x000046b7 
+ 00016102  0x00003557 isub  0x00000002 , 0x0000003e 
+ 00016103  0x00003558 nbranch  0x000033d4 , 0x00000005 
+ 00016104  0x00003559 fetch  0x00000001 , 0x000046be 
+ 00016105  0x0000355a fetcht  0x00000001 , 0x000046bd 
+ 00016106  0x0000355b store  0x00000001 , 0x000046bd 
+ 00016107  0x0000355c isub  0x00000002 , 0x0000003e 
+ 00016108  0x0000355d nbranch  0x000033d4 , 0x00000005 
+ 00016109  0x0000355e rtn 
+ 00016110  0x00003560 fetch  0x00000001 , 0x000046ea 
+ 00016111  0x00003561 rtneq  0x000000ff 
+ 00016112  0x00003562 arg  0x00000000 , 0x00000011 
+ 00016113  0x00003563 fetcht  0x00000001 , 0x000046ea 
+ 00016114  0x00003564 call  0x0000681d 
+ 00016115  0x00003565 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016116  0x00003566 fetcht  0x00000001 , 0x000046eb 
+ 00016117  0x00003567 call  0x0000681d 
+ 00016118  0x00003568 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016119  0x00003569 copy  0x00000011 , 0x0000003f 
+ 00016120  0x0000356a store  0x00000001 , 0x000046b8 
+ 00016121  0x0000356b beq  0x00000001 , 0x00003efe 
+ 00016122  0x0000356c beq  0x00000002 , 0x00003f02 
+ 00016123  0x0000356d fetch  0x00000001 , 0x000046b9 
+ 00016124  0x0000356e bbit1  0x00000007 , 0x00003f0e 
+ 00016125  0x0000356f rtn 
+ 00016126  0x00003572 fetch  0x00000001 , 0x000046b7 
+ 00016127  0x00003573 beq  0x00000000 , 0x00003f06 
+ 00016128  0x00003574 beq  0x00000003 , 0x00003f08 
+ 00016129  0x00003575 rtn 
+ 00016130  0x00003577 fetch  0x00000001 , 0x000046b7 
+ 00016131  0x00003578 beq  0x00000000 , 0x00003f0a 
+ 00016132  0x00003579 beq  0x00000003 , 0x00003f0c 
+ 00016133  0x0000357a rtn 
+ 00016134  0x0000357c jam  0x00000082 , 0x000046b9 
+ 00016135  0x0000357d rtn 
+ 00016136  0x0000357f jam  0x00000081 , 0x000046b9 
+ 00016137  0x00003580 rtn 
+ 00016138  0x00003582 jam  0x00000080 , 0x000046b9 
+ 00016139  0x00003583 rtn 
+ 00016140  0x00003585 jam  0x00000083 , 0x000046b9 
+ 00016141  0x00003586 rtn 
+ 00016142  0x00003588 fetch  0x00000001 , 0x000046b9 
+ 00016143  0x00003589 set0  0x00000007 , 0x0000003f 
+ 00016144  0x0000358a store  0x00000001 , 0x000046b9 
+ 00016145  0x0000358b beq  0x00000000 , 0x00003f16 
+ 00016146  0x0000358c beq  0x00000001 , 0x00003f19 
+ 00016147  0x0000358d beq  0x00000002 , 0x00003f1c 
+ 00016148  0x0000358e beq  0x00000003 , 0x00003f1f 
+ 00016149  0x0000358f rtn 
+ 00016150  0x00003591 fetch  0x00000001 , 0x000046b8 
+ 00016151  0x00003592 beq  0x00000003 , 0x00003f22 
+ 00016152  0x00003593 rtn 
+ 00016153  0x00003595 fetch  0x00000001 , 0x000046b8 
+ 00016154  0x00003596 beq  0x00000000 , 0x00003f22 
+ 00016155  0x00003597 rtn 
+ 00016156  0x00003599 fetch  0x00000001 , 0x000046b8 
+ 00016157  0x0000359a beq  0x00000003 , 0x00003f2c 
+ 00016158  0x0000359b rtn 
+ 00016159  0x0000359d fetch  0x00000001 , 0x000046b8 
+ 00016160  0x0000359e beq  0x00000000 , 0x00003f2c 
+ 00016161  0x0000359f rtn 
+ 00016162  0x000035a1 fetch  0x00000001 , 0x000046bc 
+ 00016163  0x000035a2 increase  0x00000001 , 0x0000003f 
+ 00016164  0x000035a3 store  0x00000001 , 0x000046bc 
+ 00016165  0x000035a4 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00016166  0x000035a5 rtn  0x00000002 
+ 00016167  0x000035a6 jam  0x00000000 , 0x000046bc 
+ 00016168  0x000035a7 fetch  0x00000001 , 0x000046ba 
+ 00016169  0x000035a8 increase  0x00000001 , 0x0000003f 
+ 00016170  0x000035a9 store  0x00000001 , 0x000046ba 
+ 00016171  0x000035aa rtn 
+ 00016172  0x000035ac fetch  0x00000001 , 0x000046bb 
+ 00016173  0x000035ad increase  0x00000001 , 0x0000003f 
+ 00016174  0x000035ae store  0x00000001 , 0x000046bb 
+ 00016175  0x000035af sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00016176  0x000035b0 rtn  0x00000002 
+ 00016177  0x000035b1 jam  0x00000000 , 0x000046bb 
+ 00016178  0x000035b2 fetch  0x00000001 , 0x000046ba 
+ 00016179  0x000035b3 increase  0xffffffff , 0x0000003f 
+ 00016180  0x000035b4 store  0x00000001 , 0x000046ba 
+ 00016181  0x000035b5 rtn 
+ 00016182  0x000035b9 fetch  0x00000001 , 0x000046e8 
+ 00016183  0x000035ba rtneq  0x000000ff 
+ 00016184  0x000035bb arg  0x00000000 , 0x00000011 
+ 00016185  0x000035bc fetcht  0x00000001 , 0x000046e8 
+ 00016186  0x000035bd call  0x0000681d 
+ 00016187  0x000035be setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016188  0x000035bf fetcht  0x00000001 , 0x000046e9 
+ 00016189  0x000035c0 call  0x0000681d 
+ 00016190  0x000035c1 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016191  0x000035c2 copy  0x00000011 , 0x0000003f 
+ 00016192  0x000035c3 store  0x00000001 , 0x000046be 
+ 00016193  0x000035c4 beq  0x00000001 , 0x00003f46 
+ 00016194  0x000035c5 beq  0x00000002 , 0x00003f4a 
+ 00016195  0x000035c6 fetch  0x00000001 , 0x000046bf 
+ 00016196  0x000035c7 bbit1  0x00000007 , 0x00003f56 
+ 00016197  0x000035c8 rtn 
+ 00016198  0x000035cb fetch  0x00000001 , 0x000046bd 
+ 00016199  0x000035cc beq  0x00000000 , 0x00003f4e 
+ 00016200  0x000035cd beq  0x00000003 , 0x00003f50 
+ 00016201  0x000035ce rtn 
+ 00016202  0x000035d0 fetch  0x00000001 , 0x000046bd 
+ 00016203  0x000035d1 beq  0x00000000 , 0x00003f52 
+ 00016204  0x000035d2 beq  0x00000003 , 0x00003f54 
+ 00016205  0x000035d3 rtn 
+ 00016206  0x000035d5 jam  0x00000082 , 0x000046bf 
+ 00016207  0x000035d6 rtn 
+ 00016208  0x000035d8 jam  0x00000081 , 0x000046bf 
+ 00016209  0x000035d9 rtn 
+ 00016210  0x000035db jam  0x00000080 , 0x000046bf 
+ 00016211  0x000035dc rtn 
+ 00016212  0x000035de jam  0x00000083 , 0x000046bf 
+ 00016213  0x000035df rtn 
+ 00016214  0x000035e1 fetch  0x00000001 , 0x000046bf 
+ 00016215  0x000035e2 set0  0x00000007 , 0x0000003f 
+ 00016216  0x000035e3 store  0x00000001 , 0x000046bf 
+ 00016217  0x000035e4 beq  0x00000000 , 0x00003f5e 
+ 00016218  0x000035e5 beq  0x00000001 , 0x00003f61 
+ 00016219  0x000035e6 beq  0x00000002 , 0x00003f64 
+ 00016220  0x000035e7 beq  0x00000003 , 0x00003f67 
+ 00016221  0x000035e8 rtn 
+ 00016222  0x000035ea fetch  0x00000001 , 0x000046be 
+ 00016223  0x000035eb beq  0x00000003 , 0x00003f6a 
+ 00016224  0x000035ec rtn 
+ 00016225  0x000035ee fetch  0x00000001 , 0x000046be 
+ 00016226  0x000035ef beq  0x00000000 , 0x00003f6a 
+ 00016227  0x000035f0 rtn 
+ 00016228  0x000035f2 fetch  0x00000001 , 0x000046be 
+ 00016229  0x000035f3 beq  0x00000003 , 0x00003f6f 
+ 00016230  0x000035f4 rtn 
+ 00016231  0x000035f6 fetch  0x00000001 , 0x000046be 
+ 00016232  0x000035f7 beq  0x00000000 , 0x00003f6f 
+ 00016233  0x000035f8 rtn 
+ 00016234  0x000035fa jam  0x00000000 , 0x000046c2 
+ 00016235  0x000035fb fetch  0x00000001 , 0x000046c0 
+ 00016236  0x000035fc increase  0x00000001 , 0x0000003f 
+ 00016237  0x000035fd store  0x00000001 , 0x000046c0 
+ 00016238  0x000035fe rtn 
+ 00016239  0x00003600 jam  0x00000000 , 0x000046c1 
+ 00016240  0x00003601 fetch  0x00000001 , 0x000046c0 
+ 00016241  0x00003602 increase  0xffffffff , 0x0000003f 
+ 00016242  0x00003603 store  0x00000001 , 0x000046c0 
+ 00016243  0x00003604 rtn 
+ 00016244  0x00003608 setarg  0x00000002 
+ 00016245  0x00003609 store  0x00000001 , 0x00004680 
+ 00016246  0x0000360a rtn 
+ 00016247  0x0000360d fetch  0x00000001 , 0x000041e2 
+ 00016248  0x0000360e rtn  0x00000034 
+ 00016249  0x0000360f call  0x00005271 
+ 00016250  0x00003610 nrtn  0x00000034 
+ 00016251  0x00003611 fetch  0x00000004 , 0x000046d3 
+ 00016252  0x00003612 bbit1  0x00000003 , 0x00003f8a 
+ 00016253  0x00003613 bbit1  0x00000000 , 0x00003f8a 
+ 00016254  0x00003614 bbit1  0x00000005 , 0x00003f8a 
+ 00016255  0x00003615 call  0x00003f97 
+ 00016256  0x00003616 nrtn  0x00000028 
+ 00016257  0x00003618 arg  0x00000009 , 0x00000011 
+ 00016258  0x00003619 call  0x00004d63 
+ 00016259  0x0000361a fetch  0x00000002 , 0x0000424e 
+ 00016260  0x0000361b istore  0x00000002 , 0x00000005 
+ 00016261  0x0000361c setarg  0x000002a1 
+ 00016262  0x0000361d istore  0x00000002 , 0x00000005 
+ 00016263  0x0000361e fetch  0x00000007 , 0x0000469a 
+ 00016264  0x0000361f istore  0x00000007 , 0x00000005 
+ 00016265  0x00003620 rtn 
+ 00016266  0x00003624 setarg  0x00000000 
+ 00016267  0x00003625 store  0x00000007 , 0x0000469a 
+ 00016268  0x00003626 branch  0x00003f81 
+ 00016269  0x0000362a fetch  0x00000002 , 0x000046aa 
+ 00016270  0x0000362b store  0x00000002 , 0x000046b0 
+ 00016271  0x0000362c rtn 
+ 00016272  0x00003630 bpatch  0x000000e5 , 0x0000401c 
+ 00016273  0x00003631 arg  0x00000007 , 0x00000011 
+ 00016274  0x00003632 fetcht  0x00000002 , 0x0000446f 
+ 00016275  0x00003633 call  0x00005a64 
+ 00016276  0x00003634 fetch  0x00000007 , 0x0000469a 
+ 00016277  0x00003635 istore  0x00000007 , 0x00000005 
+ 00016278  0x00003636 rtn 
+ 00016279  0x00003639 bpatch  0x000000e6 , 0x0000401c 
+ 00016280  0x0000363a disable  0x00000028 
+ 00016281  0x0000363b setarg  0x00000000 
+ 00016282  0x0000363c store  0x00000006 , 0x0000469b 
+ 00016283  0x0000363d call  0x00003fb5 
+ 00016284  0x0000363e call  0x00004079 
+ 00016285  0x0000363f call  0x0000407e 
+ 00016286  0x00003640 call  0x00004099 
+ 00016287  0x00003641 nrtn  0x00000028 
+ 00016288  0x00003642 call  0x00003f8d 
+ 00016289  0x00003643 arg  0x00000008 , 0x00000007 
+ 00016290  0x00003644 branch  0x000043ce 
+ 00016291  0x00003647 fetch  0x00000002 , 0x0000469b 
+ 00016292  0x00003648 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016293  0x00003649 store  0x00000002 , 0x0000469b 
+ 00016294  0x0000364a branch  0x00007fe7 
+ 00016295  0x0000364c fetch  0x00000002 , 0x0000469d 
+ 00016296  0x0000364d sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016297  0x0000364e store  0x00000002 , 0x0000469d 
+ 00016298  0x0000364f branch  0x00007fe7 
+ 00016299  0x00003651 fetch  0x00000002 , 0x0000469d 
+ 00016300  0x00003652 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016301  0x00003653 store  0x00000002 , 0x0000469d 
+ 00016302  0x00003654 fetch  0x00000002 , 0x0000469b 
+ 00016303  0x00003655 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00016304  0x00003656 store  0x00000002 , 0x0000469b 
+ 00016305  0x00003657 call  0x00004002 
+ 00016306  0x00003658 branch  0x00007fe7 
+ 00016307  0x0000365a call  0x00004002 
+ 00016308  0x0000365b branch  0x00007fe7 
+ 00016309  0x0000365d fetch  0x00000001 , 0x00004239 
+ 00016310  0x0000365e rtnne  0x00000000 
+ 00016311  0x0000365f fetch  0x00000001 , 0x000046e0 
+ 00016312  0x00003660 beq  0x00000000 , 0x00003fe2 
+ 00016313  0x00003661 beq  0x00000001 , 0x00003fe2 
+ 00016314  0x00003662 beq  0x00000002 , 0x00003fe2 
+ 00016315  0x00003663 beq  0x00000003 , 0x00003fe2 
+ 00016316  0x00003664 beq  0x00000004 , 0x00003fc4 
+ 00016317  0x00003665 beq  0x00000005 , 0x00004010 
+ 00016318  0x00003666 beq  0x00000006 , 0x00003fe2 
+ 00016319  0x00003667 branch  0x00003fe2 
+ 00016320  0x0000366a fetch  0x00000001 , 0x000046a7 
+ 00016321  0x0000366b call  0x0000405d , 0x00000034 
+ 00016322  0x0000366c jam  0x00000001 , 0x000046a7 
+ 00016323  0x0000366d rtn 
+ 00016324  0x00003671 call  0x00003fc0 
+ 00016325  0x00003672 fetcht  0x00000001 , 0x000046f3 
+ 00016326  0x00003673 call  0x0000681d 
+ 00016327  0x00003674 nrtn  0x00000001 
+ 00016328  0x00003676 setarg  0x00000000 
+ 00016329  0x00003677 call  0x00006414 
+ 00016330  0x00003678 bne  0x00000030 , 0x000040d1 
+ 00016331  0x00003679 setarg  0x00000002 
+ 00016332  0x0000367a call  0x00006414 
+ 00016333  0x0000367b rtnbit0  0x00000007 
+ 00016334  0x0000367c call  0x0000405d 
+ 00016335  0x0000367d call  0x00003fde 
+ 00016336  0x0000367e store  0x00000001 , 0x000046a1 
+ 00016337  0x0000367f rshift4  0x0000003f , 0x0000003f 
+ 00016338  0x00003680 call  0x00004169 
+ 00016339  0x00003681 store  0x00000001 , 0x0000469c 
+ 00016340  0x00003682 fetch  0x00000001 , 0x000046a1 
+ 00016341  0x00003683 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00016342  0x00003684 call  0x00004169 
+ 00016343  0x00003685 store  0x00000001 , 0x0000469e 
+ 00016344  0x00003686 fetch  0x00000001 , 0x000046f6 
+ 00016345  0x00003687 beq  0x00000000 , 0x00003fa3 
+ 00016346  0x00003688 beq  0x00000001 , 0x00003fab 
+ 00016347  0x00003689 beq  0x00000002 , 0x00003fa7 
+ 00016348  0x0000368a beq  0x00000003 , 0x00003fb3 
+ 00016349  0x0000368b rtn 
+ 00016350  0x0000368e setarg  0x00000012 
+ 00016351  0x0000368f branch  0x00006414 
+ 00016352  0x00003692 beq  0x00000031 , 0x00003fea 
+ 00016353  0x00003693 branch  0x000040d1 
+ 00016354  0x00003696 call  0x00003fc0 
+ 00016355  0x00003697 disable  0x00000028 
+ 00016356  0x00003698 fetcht  0x00000001 , 0x000046f3 
+ 00016357  0x00003699 call  0x0000681d 
+ 00016358  0x0000369a nrtn  0x00000001 
+ 00016359  0x0000369c setarg  0x00000000 
+ 00016360  0x0000369d call  0x00006414 
+ 00016361  0x0000369e bne  0x00000030 , 0x00003fe0 
+ 00016362  0x000036a0 setarg  0x00000002 
+ 00016363  0x000036a1 call  0x00006414 
+ 00016364  0x000036a2 rtnbit0  0x00000007 
+ 00016365  0x000036a3 call  0x0000405d 
+ 00016366  0x000036a4 fetch  0x00000001 , 0x0000469b 
+ 00016367  0x000036a5 call  0x00004165 
+ 00016368  0x000036a6 store  0x00000002 , 0x0000469b 
+ 00016369  0x000036a7 fetch  0x00000001 , 0x0000469d 
+ 00016370  0x000036a8 call  0x00004165 
+ 00016371  0x000036a9 store  0x00000002 , 0x0000469d 
+ 00016372  0x000036aa fetch  0x00000001 , 0x000046f6 
+ 00016373  0x000036ab beq  0x00000000 , 0x00003ffa 
+ 00016374  0x000036ac beq  0x00000001 , 0x00003ffc 
+ 00016375  0x000036ad beq  0x00000002 , 0x00003ffe 
+ 00016376  0x000036ae beq  0x00000003 , 0x00004000 
+ 00016377  0x000036af rtn 
+ 00016378  0x000036b2 call  0x00003fa3 
+ 00016379  0x000036b3 branch  0x000040b3 
+ 00016380  0x000036b5 call  0x00003fab 
+ 00016381  0x000036b6 branch  0x000040b3 
+ 00016382  0x000036b8 call  0x00003fa7 
+ 00016383  0x000036b9 branch  0x000040b3 
+ 00016384  0x000036bb call  0x00003fb3 
+ 00016385  0x000036bc branch  0x000040b3 
+ 00016386  0x000036bf fetch  0x00000002 , 0x0000469d 
+ 00016387  0x000036c0 fetcht  0x00000002 , 0x0000469b 
+ 00016388  0x000036c1 store  0x00000002 , 0x0000469b 
+ 00016389  0x000036c2 storet  0x00000002 , 0x0000469d 
+ 00016390  0x000036c3 rtn 
+ 00016391  0x000036c6 call  0x0000640f 
+ 00016392  0x000036c7 nop  0x00000064 
+ 00016393  0x000036c8 copy  0x00000012 , 0x0000003f 
+ 00016394  0x000036c9 call  0x00006414 
+ 00016395  0x000036ca copy  0x0000003f , 0x00000012 
+ 00016396  0x000036cb call  0x00006411 
+ 00016397  0x000036cc nop  0x00000064 
+ 00016398  0x000036cd copy  0x00000012 , 0x0000003f 
+ 00016399  0x000036ce rtn 
+ 00016400  0x000036d0 disable  0x00000028 
+ 00016401  0x000036d1 fetcht  0x00000001 , 0x000046f3 
+ 00016402  0x000036d2 call  0x0000681d 
+ 00016403  0x000036d3 nrtn  0x00000001 
+ 00016404  0x000036d4 arg  0x00000002 , 0x00000012 
+ 00016405  0x000036d5 call  0x00004007 
+ 00016406  0x000036d6 rtnbit0  0x00000007 
+ 00016407  0x000036d7 arg  0x00000000 , 0x00000012 
+ 00016408  0x000036d8 call  0x00004007 
+ 00016409  0x000036d9 store  0x00000001 , 0x000046dd 
+ 00016410  0x000036da bne  0x0000003e , 0x00004145 
+ 00016411  0x000036db fetch  0x00000001 , 0x000046a7 
+ 00016412  0x000036dc call  0x00004039 , 0x00000034 
+ 00016413  0x000036dd jam  0x00000001 , 0x000046a7 
+ 00016414  0x000036de call  0x00004039 
+ 00016415  0x000036df fetch  0x00000001 , 0x000046a1 
+ 00016416  0x000036e0 rshift4  0x0000003f , 0x0000003f 
+ 00016417  0x000036e1 call  0x00004169 
+ 00016418  0x000036e2 store  0x00000001 , 0x0000469c 
+ 00016419  0x000036e3 fetch  0x00000001 , 0x000046a1 
+ 00016420  0x000036e4 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00016421  0x000036e5 call  0x00004169 
+ 00016422  0x000036e6 store  0x00000001 , 0x0000469e 
+ 00016423  0x000036e7 fetch  0x00000001 , 0x000046f6 
+ 00016424  0x000036e8 beq  0x00000000 , 0x00004031 
+ 00016425  0x000036e9 beq  0x00000001 , 0x00004035 
+ 00016426  0x000036ea beq  0x00000002 , 0x00004033 
+ 00016427  0x000036eb beq  0x00000003 , 0x00004037 
+ 00016428  0x000036ec rtn 
+ 00016429  0x000036ef fetch  0x00000001 , 0x000046a4 
+ 00016430  0x000036f0 beq  0x00000000 , 0x00004051 
+ 00016431  0x000036f1 beq  0x00000001 , 0x00004045 
+ 00016432  0x000036f2 rtn 
+ 00016433  0x000036f6 call  0x00003fa3 
+ 00016434  0x000036f7 branch  0x0000402d 
+ 00016435  0x000036fa call  0x00003fa7 
+ 00016436  0x000036fb branch  0x0000402d 
+ 00016437  0x000036fe call  0x00003fab 
+ 00016438  0x000036ff branch  0x0000402d 
+ 00016439  0x00003702 call  0x00003fb3 
+ 00016440  0x00003703 branch  0x0000402d 
+ 00016441  0x00003706 call  0x0000640f 
+ 00016442  0x00003707 call  0x0000405d 
+ 00016443  0x00003708 arg  0x00000005 , 0x0000003f 
+ 00016444  0x00003709 call  0x00006414 
+ 00016445  0x0000370a store  0x00000001 , 0x000046a1 
+ 00016446  0x0000370b arg  0x00000007 , 0x0000003f 
+ 00016447  0x0000370c call  0x00006414 
+ 00016448  0x0000370d store  0x00000001 , 0x000046a2 
+ 00016449  0x0000370e arg  0x00000008 , 0x0000003f 
+ 00016450  0x0000370f call  0x00006414 
+ 00016451  0x00003710 store  0x00000001 , 0x000046a3 
+ 00016452  0x00003711 branch  0x00006411 
+ 00016453  0x00003715 fetch  0x00000001 , 0x000046a2 
+ 00016454  0x00003716 rtnne  0x00000000 
+ 00016455  0x00003717 fetch  0x00000001 , 0x000046a3 
+ 00016456  0x00003718 sub  0x0000003f , 0x0000002d , 0x0000003e 
+ 00016457  0x00003719 rtn  0x00000002 
+ 00016458  0x0000371a jam  0x00000000 , 0x000046a4 
+ 00016459  0x0000371b setarg  0x0000ba41 
+ 00016460  0x0000371c call  0x00006405 
+ 00016461  0x0000371d setarg  0x00000032 
+ 00016462  0x0000371e call  0x00006405 
+ 00016463  0x0000371f setarg  0x0000b541 
+ 00016464  0x00003720 branch  0x00006405 
+ 00016465  0x00003722 fetch  0x00000001 , 0x000046a2 
+ 00016466  0x00003723 rtnne  0x00000000 
+ 00016467  0x00003724 fetch  0x00000001 , 0x000046a3 
+ 00016468  0x00003725 sub  0x0000003f , 0x0000002d , 0x0000003e 
+ 00016469  0x00003726 nrtn  0x00000002 
+ 00016470  0x00003727 jam  0x00000001 , 0x000046a4 
+ 00016471  0x00003728 setarg  0x0000ba41 
+ 00016472  0x00003729 call  0x00006405 
+ 00016473  0x0000372a setarg  0x00008032 
+ 00016474  0x0000372b call  0x00006405 
+ 00016475  0x0000372c setarg  0x0000b541 
+ 00016476  0x0000372d branch  0x00006405 
+ 00016477  0x00003732 arg  0x00000003 , 0x0000003f 
+ 00016478  0x00003733 call  0x00006414 
+ 00016479  0x00003734 store  0x00000002 , 0x0000469b 
+ 00016480  0x00003735 arg  0x00000004 , 0x0000003f 
+ 00016481  0x00003736 call  0x00006414 
+ 00016482  0x00003737 store  0x00000002 , 0x0000469d 
+ 00016483  0x00003738 rtn 
+ 00016484  0x0000373b arg  0x0000001b , 0x00000002 
+ 00016485  0x0000373c call  0x000067fb 
+ 00016486  0x0000373d arg  0x0000001b , 0x00000002 
+ 00016487  0x0000373e call  0x0000681d 
+ 00016488  0x0000373f rtn  0x00000001 
+ 00016489  0x00003740 hfetch  0x00000001 , 0x00008109 
+ 00016490  0x00003741 set1  0x00000004 , 0x0000003f 
+ 00016491  0x00003742 hstore  0x00000001 , 0x00008109 
+ 00016492  0x00003743 rtn 
+ 00016493  0x00003746 fetcht  0x00000001 , 0x000046c0 
+ 00016494  0x00003747 hfetch  0x00000001 , 0x00008109 
+ 00016495  0x00003748 iadd  0x00000002 , 0x0000003f 
+ 00016496  0x00003749 rtn  0x00000034 
+ 00016497  0x0000374a store  0x00000001 , 0x0000469f 
+ 00016498  0x0000374b jam  0x00000000 , 0x000046c0 
+ 00016499  0x0000374c branch  0x00007fe7 
+ 00016500  0x0000374e fetcht  0x00000001 , 0x000046c0 
+ 00016501  0x0000374f hfetch  0x00000001 , 0x00008109 
+ 00016502  0x00003750 iadd  0x00000002 , 0x0000003f 
+ 00016503  0x00003751 store  0x00000001 , 0x000046c0 
+ 00016504  0x00003752 rtn 
+ 00016505  0x00003754 fetch  0x00000001 , 0x000046c0 
+ 00016506  0x00003755 rtn  0x00000034 
+ 00016507  0x00003756 store  0x00000001 , 0x0000469f 
+ 00016508  0x00003757 jam  0x00000000 , 0x000046c0 
+ 00016509  0x00003758 branch  0x00007fe7 
+ 00016510  0x0000375b fetch  0x00000001 , 0x000046ba 
+ 00016511  0x0000375c rtn  0x00000034 
+ 00016512  0x0000375d store  0x00000001 , 0x000046a0 
+ 00016513  0x0000375e jam  0x00000000 , 0x000046ba 
+ 00016514  0x0000375f branch  0x00007fe7 
+ 00016515  0x00003762 arg  0x00000000 , 0x00000011 
+ 00016516  0x00003763 fetcht  0x00000001 , 0x000046e2 
+ 00016517  0x00003764 call  0x0000681d 
+ 00016518  0x00003765 setflag  0x00000001 , 0x00000000 , 0x00000011 
+ 00016519  0x00003766 fetcht  0x00000001 , 0x000046e3 
+ 00016520  0x00003767 call  0x0000681d 
+ 00016521  0x00003768 setflag  0x00000001 , 0x00000001 , 0x00000011 
+ 00016522  0x00003769 fetcht  0x00000001 , 0x000046e4 
+ 00016523  0x0000376a call  0x0000681d 
+ 00016524  0x0000376b setflag  0x00000001 , 0x00000002 , 0x00000011 
+ 00016525  0x0000376c call  0x00004090 
+ 00016526  0x0000376d copy  0x00000011 , 0x0000003f 
+ 00016527  0x0000376e rtn 
+ 00016528  0x00003770 fetch  0x00000001 , 0x000046e5 
+ 00016529  0x00003771 rtneq  0x000000ff 
+ 00016530  0x00003772 fetcht  0x00000001 , 0x000046e5 
+ 00016531  0x00003773 call  0x0000681d 
+ 00016532  0x00003774 setflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00016533  0x00003775 fetcht  0x00000001 , 0x000046e6 
+ 00016534  0x00003776 call  0x0000681d 
+ 00016535  0x00003777 setflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00016536  0x00003778 rtn 
+ 00016537  0x0000377b call  0x00004083 
+ 00016538  0x0000377c call  0x000040a8 
+ 00016539  0x0000377d call  0x000040a3 
+ 00016540  0x0000377e copy  0x00000011 , 0x0000003f 
+ 00016541  0x0000377f fetcht  0x00000001 , 0x0000469a 
+ 00016542  0x00003780 store  0x00000001 , 0x0000469a 
+ 00016543  0x00003781 ixor  0x00000002 , 0x0000003f 
+ 00016544  0x00003782 sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00016545  0x00003783 rtn  0x00000005 
+ 00016546  0x00003784 branch  0x00007fe7 
+ 00016547  0x00003787 rtnmark0  0x00000026 
+ 00016548  0x00003788 copy  0x00000011 , 0x0000003f 
+ 00016549  0x00003789 rtn  0x00000034 
+ 00016550  0x0000378a store  0x00000001 , 0x0000469a 
+ 00016551  0x0000378b branch  0x00007fe7 
+ 00016552  0x0000378f fetch  0x00000002 , 0x00004682 
+ 00016553  0x00003790 bbit1  0x00000009 , 0x000040ad 
+ 00016554  0x00003791 fetch  0x00000002 , 0x00004682 
+ 00016555  0x00003792 bbit1  0x00000000 , 0x000040b0 
+ 00016556  0x00003793 rtn 
+ 00016557  0x00003795 copy  0x00000011 , 0x0000003f 
+ 00016558  0x00003796 nbranch  0x00005820 , 0x00000034 
+ 00016559  0x00003797 branch  0x00005822 
+ 00016560  0x00003799 copy  0x00000011 , 0x0000003f 
+ 00016561  0x0000379a nbranch  0x00002bc7 , 0x00000034 
+ 00016562  0x0000379b branch  0x00002bc9 
+ 00016563  0x0000379f bpatch  0x000000e7 , 0x0000401c 
+ 00016564  0x000037a0 arg  0x0000001a , 0x00000002 
+ 00016565  0x000037a1 fetch  0x00000004 , 0x000046d3 
+ 00016566  0x000037a2 isolate1  0x00000012 , 0x0000003f 
+ 00016567  0x000037a3 call  0x000040be , 0x00000001 
+ 00016568  0x000037a4 call  0x0000681d 
+ 00016569  0x000037a5 rtn  0x00000001 
+ 00016570  0x000037a6 setarg  0x0000000a 
+ 00016571  0x000037a7 call  0x00006414 
+ 00016572  0x000037a8 nop  0x000003e8 
+ 00016573  0x000037a9 branch  0x000040b3 
+ 00016574  0x000037ab arg  0x0000001f , 0x00000002 
+ 00016575  0x000037ac rtn 
+ 00016576  0x000037af fetch  0x00000004 , 0x000046d3 
+ 00016577  0x000037b0 bbit1  0x00000012 , 0x000040c4 
+ 00016578  0x000037b2 arg  0x0000001a , 0x00000002 
+ 00016579  0x000037b3 branch  0x000067fe 
+ 00016580  0x000037b5 arg  0x0000001f , 0x00000002 
+ 00016581  0x000037b6 branch  0x000067fe 
+ 00016582  0x000037ba call  0x00003d36 
+ 00016583  0x000037bb rtn  0x0000002b 
+ 00016584  0x000037bc call  0x000040c0 
+ 00016585  0x000037bd fetch  0x00000001 , 0x000046e0 
+ 00016586  0x000037be beq  0x00000005 , 0x000040d5 
+ 00016587  0x000037c0 call  0x000040d9 
+ 00016588  0x000037c1 beq  0x00000030 , 0x000040e0 
+ 00016589  0x000037c2 beq  0x00000031 , 0x000040ea 
+ 00016590  0x000037c3 call  0x000040d1 
+ 00016591  0x000037c4 nop  0x000003e8 
+ 00016592  0x000037c5 branch  0x000040cb 
+ 00016593  0x000037c7 bpatch  0x000000e8 , 0x0000401d 
+ 00016594  0x000037c8 fetch  0x00000004 , 0x000046d3 
+ 00016595  0x000037c9 bbit1  0x00000012 , 0x000063e0 
+ 00016596  0x000037ca branch  0x000063d1 
+ 00016597  0x000037cd call  0x000040d9 
+ 00016598  0x000037ce beq  0x0000003e , 0x0000414b 
+ 00016599  0x000037cf call  0x00004145 
+ 00016600  0x000037d0 branch  0x000040d5 
+ 00016601  0x000037d3 setarg  0x00000001 
+ 00016602  0x000037d4 call  0x00006414 
+ 00016603  0x000037d5 store  0x00000001 , 0x000046de 
+ 00016604  0x000037d6 setarg  0x00000000 
+ 00016605  0x000037d7 call  0x00006414 
+ 00016606  0x000037d8 store  0x00000001 , 0x000046dd 
+ 00016607  0x000037d9 rtn 
+ 00016608  0x000037db fetch  0x00000001 , 0x000046de 
+ 00016609  0x000037dc beq  0x000000d1 , 0x00004139 
+ 00016610  0x000037dd beq  0x000000d2 , 0x000040f8 
+ 00016611  0x000037de beq  0x00000002 , 0x000040ee 
+ 00016612  0x000037df beq  0x00000054 , 0x000040e6 
+ 00016613  0x000037e0 rtn 
+ 00016614  0x000037e2 jam  0x00000002 , 0x000046e0 
+ 00016615  0x000037e3 rtn 
+ 00016616  0x000037e5 jam  0x00000006 , 0x000046e0 
+ 00016617  0x000037e6 rtn 
+ 00016618  0x000037e8 fetch  0x00000001 , 0x000046de 
+ 00016619  0x000037e9 beq  0x00000070 , 0x000040e8 
+ 00016620  0x000037ea jam  0x00000001 , 0x000046e0 
+ 00016621  0x000037eb rtn 
+ 00016622  0x000037ed jam  0x00000004 , 0x000046e0 
+ 00016623  0x000037ee call  0x000040f6 
+ 00016624  0x000037ef setarg  0x00003426 
+ 00016625  0x000037f0 call  0x00006413 
+ 00016626  0x000037f1 setarg  0x00000419 
+ 00016627  0x000037f2 call  0x00006413 
+ 00016628  0x000037f4 setarg  0x00000009 
+ 00016629  0x000037f5 branch  0x00006413 
+ 00016630  0x000037f7 setarg  0x00005a09 
+ 00016631  0x000037f8 branch  0x00006413 
+ 00016632  0x000037fb jam  0x00000003 , 0x000046e0 
+ 00016633  0x000037fc call  0x000040f6 
+ 00016634  0x000037fd setarg  0x00000f0d 
+ 00016635  0x000037fe call  0x00006413 
+ 00016636  0x000037ff setarg  0x0000e31d 
+ 00016637  0x00003800 call  0x00006413 
+ 00016638  0x00003801 setarg  0x0000d27d 
+ 00016639  0x00003802 call  0x00006413 
+ 00016640  0x00003803 call  0x00004102 
+ 00016641  0x00003804 branch  0x0000411a 
+ 00016642  0x00003807 setarg  0x0000351b 
+ 00016643  0x00003808 call  0x00006413 
+ 00016644  0x00003809 setarg  0x0000b428 
+ 00016645  0x0000380a call  0x00006413 
+ 00016646  0x0000380b setarg  0x00004629 
+ 00016647  0x0000380c call  0x00006413 
+ 00016648  0x0000380d setarg  0x0000962a 
+ 00016649  0x0000380e call  0x00006413 
+ 00016650  0x0000380f setarg  0x00008c2b 
+ 00016651  0x00003810 call  0x00006413 
+ 00016652  0x00003811 setarg  0x00006e2c 
+ 00016653  0x00003812 call  0x00006413 
+ 00016654  0x00003813 setarg  0x0000642d 
+ 00016655  0x00003814 call  0x00006413 
+ 00016656  0x00003815 setarg  0x00005f38 
+ 00016657  0x00003816 call  0x00006413 
+ 00016658  0x00003817 setarg  0x00000f39 
+ 00016659  0x00003818 call  0x00006413 
+ 00016660  0x00003819 setarg  0x0000323a 
+ 00016661  0x0000381a call  0x00006413 
+ 00016662  0x0000381b setarg  0x0000473b 
+ 00016663  0x0000381c call  0x00006413 
+ 00016664  0x0000381d setarg  0x00001042 
+ 00016665  0x0000381e branch  0x00006413 
+ 00016666  0x00003820 setarg  0x00002e54 
+ 00016667  0x00003821 call  0x00006413 
+ 00016668  0x00003822 setarg  0x0000f255 
+ 00016669  0x00003823 call  0x00006413 
+ 00016670  0x00003824 setarg  0x0000f461 
+ 00016671  0x00003825 call  0x00006413 
+ 00016672  0x00003826 setarg  0x00007063 
+ 00016673  0x00003827 call  0x00006413 
+ 00016674  0x00003828 setarg  0x00005275 
+ 00016675  0x00003829 call  0x00006413 
+ 00016676  0x0000382a setarg  0x00004176 
+ 00016677  0x0000382b call  0x00006413 
+ 00016678  0x0000382c setarg  0x0000ed77 
+ 00016679  0x0000382d call  0x00006413 
+ 00016680  0x0000382e setarg  0x00002378 
+ 00016681  0x0000382f call  0x00006413 
+ 00016682  0x00003830 setarg  0x00004679 
+ 00016683  0x00003831 call  0x00006413 
+ 00016684  0x00003832 setarg  0x0000e57a 
+ 00016685  0x00003833 call  0x00006413 
+ 00016686  0x00003834 setarg  0x0000487c 
+ 00016687  0x00003835 call  0x00006413 
+ 00016688  0x00003836 setarg  0x0000777e 
+ 00016689  0x00003837 call  0x00006413 
+ 00016690  0x00003838 setarg  0x0000017f 
+ 00016691  0x00003839 call  0x00006413 
+ 00016692  0x0000383a setarg  0x0000000b 
+ 00016693  0x0000383b call  0x00006413 
+ 00016694  0x0000383c setarg  0x0000007f 
+ 00016695  0x0000383d call  0x00006413 
+ 00016696  0x0000383e branch  0x000040f4 
+ 00016697  0x00003842 jam  0x00000000 , 0x000046e0 
+ 00016698  0x00003843 call  0x000040f6 
+ 00016699  0x00003844 setarg  0x0000100d 
+ 00016700  0x00003845 call  0x00006413 
+ 00016701  0x00003846 setarg  0x0000ed1d 
+ 00016702  0x00003847 call  0x00006413 
+ 00016703  0x00003848 setarg  0x0000807d 
+ 00016704  0x00003849 call  0x00006413 
+ 00016705  0x0000384a call  0x00004102 
+ 00016706  0x0000384b setarg  0x00000943 
+ 00016707  0x0000384c call  0x00006413 
+ 00016708  0x0000384d branch  0x0000411a 
+ 00016709  0x00003851 fetcht  0x00000001 , 0x000046dc 
+ 00016710  0x00003852 call  0x00006829 
+ 00016711  0x00003853 call  0x00007ec1 
+ 00016712  0x00003854 fetcht  0x00000001 , 0x000046dc 
+ 00016713  0x00003855 call  0x00006825 
+ 00016714  0x00003856 branch  0x00007ec1 
+ 00016715  0x00003859 jam  0x00000005 , 0x000046e0 
+ 00016716  0x0000385a setarg  0x0000ba41 
+ 00016717  0x0000385b call  0x00006405 
+ 00016718  0x0000385c setarg  0x00000d11 
+ 00016719  0x0000385d call  0x00006405 
+ 00016720  0x0000385e setarg  0x0000041b 
+ 00016721  0x0000385f call  0x00006405 
+ 00016722  0x00003860 setarg  0x0000041c 
+ 00016723  0x00003861 call  0x00006405 
+ 00016724  0x00003862 setarg  0x00000f1d 
+ 00016725  0x00003863 call  0x00006405 
+ 00016726  0x00003864 setarg  0x00000032 
+ 00016727  0x00003865 call  0x00006405 
+ 00016728  0x00003866 setarg  0x0000b541 
+ 00016729  0x00003867 branch  0x00006405 
+ 00016730  0x0000386c setarg  0x0000ba41 
+ 00016731  0x0000386d call  0x00006405 
+ 00016732  0x0000386e nop  0x00000fa0 
+ 00016733  0x0000386f setarg  0x0000ff7f 
+ 00016734  0x00003870 call  0x00006405 
+ 00016735  0x00003871 copy  0x00000011 , 0x0000003f 
+ 00016736  0x00003872 call  0x00006405 
+ 00016737  0x00003873 setarg  0x0000007f 
+ 00016738  0x00003874 call  0x00006405 
+ 00016739  0x00003875 setarg  0x0000b541 
+ 00016740  0x00003876 branch  0x00006405 
+ 00016741  0x00003879 rtnbit0  0x00000007 
+ 00016742  0x0000387a arg  0x0000ff00 , 0x00000002 
+ 00016743  0x0000387b ior  0x00000002 , 0x0000003f 
+ 00016744  0x0000387c rtn 
+ 00016745  0x0000387f rtnbit0  0x00000003 
+ 00016746  0x00003880 arg  0x000000f0 , 0x00000002 
+ 00016747  0x00003881 ior  0x00000002 , 0x0000003f 
+ 00016748  0x00003882 rtn 
+ 00016749  0x00003886 call  0x00005892 
+ 00016750  0x00003887 nrtn  0x00000034 
+ 00016751  0x00003888 fetch  0x00000001 , 0x000046c5 
+ 00016752  0x00003889 and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00016753  0x0000388a rtnne  0x00000003 
+ 00016754  0x0000388b fetch  0x00000004 , 0x000046d3 
+ 00016755  0x0000388c bbit1  0x00000003 , 0x00004179 
+ 00016756  0x0000388d bbit1  0x00000000 , 0x00004179 
+ 00016757  0x0000388e bbit1  0x00000005 , 0x00004179 
+ 00016758  0x0000388f call  0x00003f97 
+ 00016759  0x00003890 nrtn  0x00000028 
+ 00016760  0x00003891 branch  0x00003f90 
+ 00016761  0x00003894 setarg  0x00000000 
+ 00016762  0x00003895 store  0x00000007 , 0x0000469a 
+ 00016763  0x00003896 branch  0x00003f90 
+ 00016764  0x00003899 copy  0x00000013 , 0x0000003f 
+ 00016765  0x0000389a beq  0x00000014 , 0x000041c3 
+ 00016766  0x0000389b beq  0x00000001 , 0x000042ca 
+ 00016767  0x0000389c beq  0x00000015 , 0x000041d9 
+ 00016768  0x0000389d beq  0x00000002 , 0x000041d9 
+ 00016769  0x0000389e beq  0x00000005 , 0x000041d6 
+ 00016770  0x0000389f beq  0x00000010 , 0x0000426c 
+ 00016771  0x000038a0 beq  0x00000012 , 0x0000429b 
+ 00016772  0x000038a1 beq  0x00000006 , 0x000041d5 
+ 00016773  0x000038a2 beq  0x00000004 , 0x000041cc 
+ 00016774  0x000038a3 beq  0x00000013 , 0x000041cc 
+ 00016775  0x000038a4 beq  0x0000000a , 0x000041ca 
+ 00016776  0x000038a5 beq  0x0000002e , 0x000033cd 
+ 00016777  0x000038a6 beq  0x00000031 , 0x000041b4 
+ 00016778  0x000038a7 beq  0x00000032 , 0x000041b6 
+ 00016779  0x000038a8 beq  0x0000003e , 0x00004191 
+ 00016780  0x000038a9 beq  0x00000027 , 0x0000438e 
+ 00016781  0x000038aa beq  0x00000039 , 0x0000419c 
+ 00016782  0x000038ab beq  0x0000003a , 0x00004192 
+ 00016783  0x000038ac beq  0x0000003c , 0x0000419a 
+ 00016784  0x000038ad rtn 
+ 00016785  0x000038b1 branch  0x00003410 
+ 00016786  0x000038b4 jam  0x00000001 , 0x0000478b 
+ 00016787  0x000038b5 fetch  0x00000001 , 0x0000471e 
+ 00016788  0x000038b6 nbranch  0x00004492 , 0x00000034 
+ 00016789  0x000038b7 fetch  0x00000001 , 0x00004720 
+ 00016790  0x000038b8 fetcht  0x00000001 , 0x00004703 
+ 00016791  0x000038b9 isub  0x00000002 , 0x0000003e 
+ 00016792  0x000038ba branch  0x0000340a , 0x00000005 
+ 00016793  0x000038bb rtn 
+ 00016794  0x000038bd jam  0x00000001 , 0x0000478b 
+ 00016795  0x000038be rtn 
+ 00016796  0x000038c0 jam  0x00000001 , 0x0000478b 
+ 00016797  0x000038c1 arg  0x00000003 , 0x00000007 
+ 00016798  0x000038c2 call  0x000043d2 
+ 00016799  0x000038c3 setarg  0x00000000 
+ 00016800  0x000038c4 store  0x00000002 , 0x00004707 
+ 00016801  0x000038c5 jam  0x00000000 , 0x000046a7 
+ 00016802  0x000038c7 fetch  0x00000001 , 0x000046e0 
+ 00016803  0x000038c8 sub  0x0000003f , 0x00000005 , 0x0000003e 
+ 00016804  0x000038c9 call  0x00004039 , 0x00000005 
+ 00016805  0x000038ca ncall  0x0000405d , 0x00000005 
+ 00016806  0x000038cc fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00016807  0x000038cd bbit1  0x00000013 , 0x000041af 
+ 00016808  0x000038ce call  0x000041aa 
+ 00016809  0x000038cf branch  0x000065d1 
+ 00016810  0x000038d2 call  0x00002c7a 
+ 00016811  0x000038d3 add  0x00000013 , 0x000000ae , 0x00000011 
+ 00016812  0x000038d4 arg  0x0000005b , 0x00000012 
+ 00016813  0x000038d5 arg  0x00000004 , 0x00000002 
+ 00016814  0x000038d6 rtn 
+ 00016815  0x000038d9 call  0x00002c7a 
+ 00016816  0x000038da add  0x00000013 , 0x000000ae , 0x00000012 
+ 00016817  0x000038db ifetch  0x00000001 , 0x00000012 
+ 00016818  0x000038dc store  0x00000001 , 0x0000477b 
+ 00016819  0x000038dd branch  0x00004435 
+ 00016820  0x000038e1 arg  0x00000002 , 0x00000007 
+ 00016821  0x000038e2 branch  0x000041b9 
+ 00016822  0x000038e4 jam  0x00000002 , 0x000046c6 
+ 00016823  0x000038e5 arg  0x00000001 , 0x00000007 
+ 00016824  0x000038e6 branch  0x000041b9 
+ 00016825  0x000038ea fetch  0x00000001 , 0x000046c5 
+ 00016826  0x000038eb qset1  0x0000003f 
+ 00016827  0x000038ec store  0x00000001 , 0x000046c5 
+ 00016828  0x000038ed rtn 
+ 00016829  0x000038f0 fetch  0x00000001 , 0x000046c5 
+ 00016830  0x000038f1 qset0  0x0000003f 
+ 00016831  0x000038f2 store  0x00000001 , 0x000046c5 
+ 00016832  0x000038f3 rtn 
+ 00016833  0x000038f5 jam  0x00000000 , 0x000046c5 
+ 00016834  0x000038f6 rtn 
+ 00016835  0x000038f9 fetch  0x00000002 , 0x0000420a 
+ 00016836  0x000038fa set0  0x00000000 , 0x0000003f 
+ 00016837  0x000038fb store  0x00000002 , 0x0000420a 
+ 00016838  0x000038fc setarg  0x00000000 
+ 00016839  0x000038fd store  0x00000002 , 0x000046ae 
+ 00016840  0x000038fe call  0x00003f8d 
+ 00016841  0x000038ff branch  0x000042ca 
+ 00016842  0x00003902 call  0x000063cb 
+ 00016843  0x00003903 branch  0x000033dd 
+ 00016844  0x00003906 fetch  0x00000001 , 0x0000471e 
+ 00016845  0x00003907 nbranch  0x00004492 , 0x00000034 
+ 00016846  0x00003908 fetch  0x00000002 , 0x00004682 
+ 00016847  0x00003909 bbit1  0x0000000c , 0x000042b0 
+ 00016848  0x0000390a fetch  0x00000004 , 0x000046d3 
+ 00016849  0x0000390b bbit1  0x00000000 , 0x000041d7 
+ 00016850  0x0000390c bbit1  0x00000005 , 0x000042b0 
+ 00016851  0x0000390d bbit1  0x00000003 , 0x00002ead 
+ 00016852  0x0000390e branch  0x000033a7 
+ 00016853  0x00003912 branch  0x00003f74 
+ 00016854  0x00003915 rtn 
+ 00016855  0x00003918 call  0x000043c0 
+ 00016856  0x00003919 branch  0x0000659a 
+ 00016857  0x0000391c bpatch  0x000000e9 , 0x0000401d 
+ 00016858  0x0000391d call  0x000041e7 
+ 00016859  0x0000391e fetch  0x00000004 , 0x000046d3 
+ 00016860  0x0000391f bbit1  0x00000000 , 0x000041d7 
+ 00016861  0x00003920 bbit1  0x00000003 , 0x00002ead 
+ 00016862  0x00003921 fetch  0x00000001 , 0x0000471e 
+ 00016863  0x00003922 nbranch  0x00004492 , 0x00000034 
+ 00016864  0x00003923 fetch  0x00000002 , 0x00004208 
+ 00016865  0x00003924 bbit1  0x00000007 , 0x000041f5 
+ 00016866  0x00003925 bbit1  0x00000000 , 0x000033a9 
+ 00016867  0x00003926 bbit1  0x00000001 , 0x000041ef 
+ 00016868  0x00003927 bbit1  0x00000002 , 0x000041f2 
+ 00016869  0x00003928 bbit1  0x00000003 , 0x000041f2 
+ 00016870  0x00003929 branch  0x000042b0 
+ 00016871  0x0000392b setarg  0x00000000 
+ 00016872  0x0000392c store  0x00000008 , 0x000046b7 
+ 00016873  0x0000392d istore  0x00000004 , 0x00000005 
+ 00016874  0x0000392e jam  0x00000000 , 0x000046b4 
+ 00016875  0x0000392f jam  0x00000000 , 0x000046a7 
+ 00016876  0x00003930 jam  0x00000000 , 0x000041e2 
+ 00016877  0x00003931 jam  0x00000000 , 0x00004429 
+ 00016878  0x00003932 rtn 
+ 00016879  0x00003935 bbit1  0x00000005 , 0x000041f2 
+ 00016880  0x00003936 bbit1  0x00000003 , 0x000041f2 
+ 00016881  0x00003937 branch  0x000042b0 
+ 00016882  0x00003939 fetch  0x00000002 , 0x00004682 
+ 00016883  0x0000393a bbit1  0x0000000c , 0x000042b0 
+ 00016884  0x0000393b branch  0x000033a7 
+ 00016885  0x0000393e call  0x000041c1 
+ 00016886  0x0000393f fetch  0x00000002 , 0x00004208 
+ 00016887  0x00003940 bbit1  0x00000000 , 0x000033a9 
+ 00016888  0x00003941 branch  0x000033a7 
+ 00016889  0x00003944 call  0x000043d6 
+ 00016890  0x00003945 call  0x00004243 
+ 00016891  0x00003946 call  0x00004246 
+ 00016892  0x00003947 call  0x00004250 
+ 00016893  0x00003948 call  0x0000445d 
+ 00016894  0x0000394a call  0x00004443 
+ 00016895  0x0000394b call  0x00004333 
+ 00016896  0x0000394c call  0x000043a5 
+ 00016897  0x0000394d call  0x000043eb 
+ 00016898  0x0000394e call  0x00004209 
+ 00016899  0x0000394f call  0x00004231 
+ 00016900  0x00003950 call  0x00004234 
+ 00016901  0x00003951 call  0x00004237 
+ 00016902  0x00003952 call  0x0000423a 
+ 00016903  0x00003953 call  0x0000423d 
+ 00016904  0x00003954 branch  0x00004240 
+ 00016905  0x00003959 fetch  0x00000001 , 0x00004711 
+ 00016906  0x0000395a rtn  0x00000034 
+ 00016907  0x0000395b increase  0xffffffff , 0x0000003f 
+ 00016908  0x0000395c store  0x00000001 , 0x00004711 
+ 00016909  0x0000395d nrtn  0x00000034 
+ 00016910  0x0000395e branch  0x0000420f 
+ 00016911  0x00003960 fetch  0x00000001 , 0x00004712 
+ 00016912  0x00003961 rtneq  0x00000000 
+ 00016913  0x00003962 beq  0x00000005 , 0x00004216 
+ 00016914  0x00003964 call  0x00004225 
+ 00016915  0x00003965 jam  0x00000005 , 0x00004712 
+ 00016916  0x00003966 jam  0x00000005 , 0x00004711 
+ 00016917  0x00003967 rtn 
+ 00016918  0x00003969 call  0x0000422c 
+ 00016919  0x0000396a jam  0x00000004 , 0x00004712 
+ 00016920  0x0000396b jam  0x00000005 , 0x00004711 
+ 00016921  0x0000396c rtn 
+ 00016922  0x00003970 setarg  0x00008006 
+ 00016923  0x00003971 call  0x00006413 
+ 00016924  0x00003972 nop  0x000003e8 
+ 00016925  0x00003973 jam  0x00000000 , 0x00004711 
+ 00016926  0x00003974 jam  0x00000000 , 0x00004712 
+ 00016927  0x00003975 branch  0x000040e0 
+ 00016928  0x00003978 setarg  0x0000a006 
+ 00016929  0x00003979 call  0x00006413 
+ 00016930  0x0000397a setarg  0x0000a005 
+ 00016931  0x0000397b branch  0x00006413 
+ 00016932  0x0000397d jam  0x00000000 , 0x00004711 
+ 00016933  0x0000397f fetch  0x00000001 , 0x000046e0 
+ 00016934  0x00003980 beq  0x00000004 , 0x00004220 
+ 00016935  0x00003981 setarg  0x00000106 
+ 00016936  0x00003982 call  0x00006413 
+ 00016937  0x00003983 setarg  0x0000a105 
+ 00016938  0x00003984 branch  0x00006413 
+ 00016939  0x00003987 jam  0x00000000 , 0x00004711 
+ 00016940  0x00003989 setarg  0x00000906 
+ 00016941  0x0000398a branch  0x00006413 
+ 00016942  0x0000398c jam  0x00000005 , 0x00004711 
+ 00016943  0x0000398d jam  0x00000001 , 0x00004712 
+ 00016944  0x0000398e rtn 
+ 00016945  0x00003991 arg  0x00004680 , 0x00000013 
+ 00016946  0x00003992 arg  0x0000429b , 0x00000012 
+ 00016947  0x00003993 branch  0x0000336d 
+ 00016948  0x00003996 arg  0x000046ac , 0x00000013 
+ 00016949  0x00003997 arg  0x00004264 , 0x00000012 
+ 00016950  0x00003998 branch  0x00003374 
+ 00016951  0x0000399b arg  0x000046ae , 0x00000013 
+ 00016952  0x0000399c arg  0x00004266 , 0x00000012 
+ 00016953  0x0000399d branch  0x00003374 
+ 00016954  0x000039a0 arg  0x000046b0 , 0x00000013 
+ 00016955  0x000039a1 arg  0x0000426a , 0x00000012 
+ 00016956  0x000039a2 branch  0x00003374 
+ 00016957  0x000039a5 arg  0x000046c4 , 0x00000013 
+ 00016958  0x000039a6 arg  0x00004478 , 0x00000012 
+ 00016959  0x000039a7 branch  0x0000336d 
+ 00016960  0x000039ac arg  0x000046c6 , 0x00000013 
+ 00016961  0x000039ad arg  0x0000425e , 0x00000012 
+ 00016962  0x000039ae branch  0x0000336d 
+ 00016963  0x000039b1 arg  0x00004704 , 0x00000013 
+ 00016964  0x000039b2 arg  0x00004249 , 0x00000012 
+ 00016965  0x000039b3 branch  0x0000336d 
+ 00016966  0x000039b6 arg  0x00004707 , 0x00000013 
+ 00016967  0x000039b7 arg  0x00004249 , 0x00000012 
+ 00016968  0x000039b8 branch  0x00003374 
+ 00016969  0x000039bb rtn 
+ 00016970  0x000039bf fetch  0x00000004 , 0x000046d3 
+ 00016971  0x000039c0 rtnbit0  0x00000017 
+ 00016972  0x000039c1 jam  0x0000000a , 0x000046df 
+ 00016973  0x000039c2 fetch  0x00000001 , 0x000046f4 
+ 00016974  0x000039c3 store  0x00000001 , 0x00004715 
+ 00016975  0x000039c4 rtn 
+ 00016976  0x000039c8 arg  0x000046df , 0x00000013 
+ 00016977  0x000039c9 arg  0x00004253 , 0x00000012 
+ 00016978  0x000039ca branch  0x0000336d 
+ 00016979  0x000039cc fetch  0x00000001 , 0x000046f4 
+ 00016980  0x000039cd store  0x00000001 , 0x00004715 
+ 00016981  0x000039ce setarg  0x00000190 
+ 00016982  0x000039cf store  0x00000002 , 0x00004716 
+ 00016983  0x000039d0 store  0x00000002 , 0x00004718 
+ 00016984  0x000039d1 arg  0x00000000 , 0x00000011 
+ 00016985  0x000039d2 fetcht  0x00000001 , 0x0000477a 
+ 00016986  0x000039d3 increase  0x00000001 , 0x00000002 
+ 00016987  0x000039d4 storet  0x00000001 , 0x00004714 
+ 00016988  0x000039d5 jam  0x00000001 , 0x00004713 
+ 00016989  0x000039d6 rtn 
+ 00016990  0x000039d9 fetch  0x00000001 , 0x000046c5 
+ 00016991  0x000039da rtnbit1  0x00000002 
+ 00016992  0x000039db jam  0x00000012 , 0x00000a99 
+ 00016993  0x000039dc call  0x00007d8f 
+ 00016994  0x000039dd arg  0x00000000 , 0x00000007 
+ 00016995  0x000039de branch  0x000041b9 
+ 00016996  0x000039e2 call  0x000042ca 
+ 00016997  0x000039e3 branch  0x0000340a 
+ 00016998  0x000039e6 call  0x000033f6 
+ 00016999  0x000039e7 fetch  0x00000001 , 0x0000471e 
+ 00017000  0x000039e8 nbranch  0x00004492 , 0x00000034 
+ 00017001  0x000039e9 branch  0x0000340a 
+ 00017002  0x000039ec bmark1  0x00000026 , 0x00007e1d 
+ 00017003  0x000039ed branch  0x00004386 
+ 00017004  0x000039f2 bpatch  0x000000ea , 0x0000401d 
+ 00017005  0x000039f3 jam  0x00000000 , 0x000046b4 
+ 00017006  0x000039f4 call  0x00004386 
+ 00017007  0x000039f5 call  0x000041c1 
+ 00017008  0x000039f6 branch  0x000042b0 
+ 00017009  0x000039fb fetch  0x00000006 , 0x000041d0 
+ 00017010  0x000039fc branch  0x000033eb , 0x00000034 
+ 00017011  0x000039fd call  0x0000427e 
+ 00017012  0x000039fe jam  0x00000017 , 0x0000016d 
+ 00017013  0x000039ff fetch  0x00000001 , 0x0000465a 
+ 00017014  0x00003a00 nbranch  0x000033e1 , 0x00000034 
+ 00017015  0x00003a01 jam  0x00000004 , 0x0000016d 
+ 00017016  0x00003a02 branch  0x000033e1 
+ 00017017  0x00003a05 fetch  0x00000002 , 0x000046a8 
+ 00017018  0x00003a06 store  0x00000002 , 0x000046ae 
+ 00017019  0x00003a07 call  0x0000427e 
+ 00017020  0x00003a08 call  0x00003418 
+ 00017021  0x00003a09 branch  0x00007df4 
+ 00017022  0x00003a0c setarg  0x000000c8 
+ 00017023  0x00003a0d store  0x00000002 , 0x00004716 
+ 00017024  0x00003a0e store  0x00000002 , 0x00004718 
+ 00017025  0x00003a0f branch  0x00004285 
+ 00017026  0x00003a12 setarg  0x000003e8 
+ 00017027  0x00003a13 store  0x00000002 , 0x00004716 
+ 00017028  0x00003a14 store  0x00000002 , 0x00004718 
+ 00017029  0x00003a16 fetch  0x00000001 , 0x00004720 
+ 00017030  0x00003a17 beq  0x00000001 , 0x0000428a 
+ 00017031  0x00003a18 beq  0x00000002 , 0x0000428c 
+ 00017032  0x00003a19 beq  0x00000003 , 0x0000428e 
+ 00017033  0x00003a1a rtn 
+ 00017034  0x00003a1c fetch  0x00000001 , 0x000046f0 
+ 00017035  0x00003a1d branch  0x0000428f 
+ 00017036  0x00003a1f fetch  0x00000001 , 0x000046f1 
+ 00017037  0x00003a20 branch  0x0000428f 
+ 00017038  0x00003a22 fetch  0x00000001 , 0x000046f2 
+ 00017039  0x00003a24 store  0x00000001 , 0x00000aa2 
+ 00017040  0x00003a25 call  0x00004482 
+ 00017041  0x00003a26 fetch  0x00000001 , 0x00000aa2 
+ 00017042  0x00003a27 store  0x00000001 , 0x00004715 
+ 00017043  0x00003a28 arg  0x00000000 , 0x00000011 
+ 00017044  0x00003a29 jam  0x00000001 , 0x00004713 
+ 00017045  0x00003a2a branch  0x00007d1e 
+ 00017046  0x00003a2d arg  0x00000000 , 0x00000011 
+ 00017047  0x00003a2e branch  0x00007d19 
+ 00017048  0x00003a30 arg  0x00000000 , 0x00000011 
+ 00017049  0x00003a31 branch  0x00007d14 
+ 00017050  0x00003a34 branch  0x000041c1 
+ 00017051  0x00003a37 jam  0x00000001 , 0x000041e2 
+ 00017052  0x00003a38 call  0x00003416 
+ 00017053  0x00003a39 call  0x00003412 
+ 00017054  0x00003a3a setarg  0x00000000 
+ 00017055  0x00003a3b store  0x00000002 , 0x0000467e 
+ 00017056  0x00003a3c store  0x00000001 , 0x00004680 
+ 00017057  0x00003a3d branch  0x0000340e 
+ 00017058  0x00003a40 call  0x0000435f 
+ 00017059  0x00003a41 fetch  0x00000001 , 0x00004720 
+ 00017060  0x00003a42 fetcht  0x00000001 , 0x00004703 
+ 00017061  0x00003a43 isub  0x00000002 , 0x0000003e 
+ 00017062  0x00003a44 branch  0x000042ab , 0x00000005 
+ 00017063  0x00003a45 fetch  0x00000001 , 0x00004210 
+ 00017064  0x00003a46 beq  0x00000033 , 0x00004271 
+ 00017065  0x00003a47 beq  0x00000034 , 0x00004279 
+ 00017066  0x00003a48 branch  0x000042b0 
+ 00017067  0x00003a4a call  0x00003d57 
+ 00017068  0x00003a4b rtnmark1  0x00000026 
+ 00017069  0x00003a4c fetch  0x00000001 , 0x0000471e 
+ 00017070  0x00003a4d nbranch  0x00004492 , 0x00000034 
+ 00017071  0x00003a4e rtn 
+ 00017072  0x00003a51 bpatch  0x000000eb , 0x0000401d 
+ 00017073  0x00003a52 fetch  0x00000002 , 0x00004682 
+ 00017074  0x00003a53 bbit1  0x0000000b , 0x000042b7 
+ 00017075  0x00003a54 fetch  0x00000004 , 0x000046d3 
+ 00017076  0x00003a55 bbit0  0x00000018 , 0x000042b7 
+ 00017077  0x00003a56 random  0x0000003f 
+ 00017078  0x00003a57 store  0x00000001 , 0x000044a1 
+ 00017079  0x00003a59 call  0x00003418 
+ 00017080  0x00003a5a fetch  0x00000002 , 0x00004687 
+ 00017081  0x00003a5b store  0x00000002 , 0x000046ac 
+ 00017082  0x00003a5c jam  0x00000006 , 0x0000016d 
+ 00017083  0x00003a5d setarg  0x00000000 
+ 00017084  0x00003a5e store  0x00000002 , 0x000046b0 
+ 00017085  0x00003a5f store  0x00000002 , 0x000046ae 
+ 00017086  0x00003a60 arg  0x00000007 , 0x00000007 
+ 00017087  0x00003a61 call  0x000043ce 
+ 00017088  0x00003a62 call  0x000043ca 
+ 00017089  0x00003a63 fetch  0x00000001 , 0x00004092 
+ 00017090  0x00003a64 isolate1  0x00000001 , 0x0000003f 
+ 00017091  0x00003a65 call  0x00007df4 , 0x00000001 
+ 00017092  0x00003a66 fetch  0x00000001 , 0x00004092 
+ 00017093  0x00003a67 isolate1  0x00000000 , 0x0000003f 
+ 00017094  0x00003a68 call  0x00007ddd , 0x00000001 
+ 00017095  0x00003a69 fetch  0x00000004 , 0x000046d3 
+ 00017096  0x00003a6a bbit1  0x0000001c , 0x0000422e 
+ 00017097  0x00003a6b branch  0x00004282 
+ 00017098  0x00003a6e bpatch  0x000000ec , 0x0000401d 
+ 00017099  0x00003a6f fetch  0x00000001 , 0x00004092 
+ 00017100  0x00003a70 isolate1  0x00000001 , 0x0000003f 
+ 00017101  0x00003a71 call  0x000042d4 , 0x00000001 
+ 00017102  0x00003a72 fetch  0x00000001 , 0x00004092 
+ 00017103  0x00003a73 isolate1  0x00000000 , 0x0000003f 
+ 00017104  0x00003a74 call  0x000042d7 , 0x00000001 
+ 00017105  0x00003a75 fetch  0x00000004 , 0x000046d3 
+ 00017106  0x00003a76 bbit1  0x0000001c , 0x0000421a 
+ 00017107  0x00003a77 branch  0x00004482 
+ 00017108  0x00003a79 setarg  0x00000000 
+ 00017109  0x00003a7a store  0x00000002 , 0x000046ae 
+ 00017110  0x00003a7b branch  0x00007dfa 
+ 00017111  0x00003a7d setarg  0x00000000 
+ 00017112  0x00003a7e store  0x00000002 , 0x000046ac 
+ 00017113  0x00003a7f branch  0x00007de2 
+ 00017114  0x00003a86 fetch  0x00000004 , 0x000046d3 
+ 00017115  0x00003a87 rtnbit0  0x00000007 
+ 00017116  0x00003a88 arg  0x00000007 , 0x00000007 
+ 00017117  0x00003a89 call  0x000043d2 
+ 00017118  0x00003a8a call  0x000042e8 
+ 00017119  0x00003a8c call  0x000042fb 
+ 00017120  0x00003a8d fetch  0x00000004 , 0x000046d3 
+ 00017121  0x00003a8e bbit1  0x00000013 , 0x00004435 
+ 00017122  0x00003a8f bbit1  0x00000014 , 0x000042e4 
+ 00017123  0x00003a90 rtn 
+ 00017124  0x00003a92 arg  0x00000058 , 0x00000002 
+ 00017125  0x00003a93 arg  0x00004720 , 0x00000011 
+ 00017126  0x00003a94 arg  0x00000000 , 0x00000012 
+ 00017127  0x00003a95 branch  0x000065d1 
+ 00017128  0x00003a98 fetch  0x00000001 , 0x00000185 
+ 00017129  0x00003a99 beq  0x00000034 , 0x000042ec 
+ 00017130  0x00003a9a beq  0x00000033 , 0x000042ef 
+ 00017131  0x00003a9b rtn 
+ 00017132  0x00003a9d store  0x00000001 , 0x000046c7 
+ 00017133  0x00003a9e fetch  0x00000006 , 0x0000044f 
+ 00017134  0x00003a9f branch  0x000042f1 
+ 00017135  0x00003aa1 store  0x00000001 , 0x000046c7 
+ 00017136  0x00003aa2 fetch  0x00000006 , 0x00000040 
+ 00017137  0x00003aa4 store  0x00000006 , 0x000046c8 
+ 00017138  0x00003aa5 fetch  0x00000007 , 0x000046c7 
+ 00017139  0x00003aa6 arg  0x00004721 , 0x00000006 
+ 00017140  0x00003aa7 arg  0x00000003 , 0x00000039 
+ 00017141  0x00003aa9 ifetcht  0x00000007 , 0x00000006 
+ 00017142  0x00003aaa isub  0x00000002 , 0x0000003e 
+ 00017143  0x00003aab branch  0x00004310 , 0x00000005 
+ 00017144  0x00003aac increase  0x00000016 , 0x00000006 
+ 00017145  0x00003aad loop  0x000042f5 
+ 00017146  0x00003aae rtn 
+ 00017147  0x00003ab0 arg  0x00004721 , 0x00000011 
+ 00017148  0x00003ab1 fetch  0x00000001 , 0x00004720 
+ 00017149  0x00003ab2 increase  0xffffffff , 0x0000003f 
+ 00017150  0x00003ab3 mul32  0x0000003f , 0x0000001d , 0x0000003f 
+ 00017151  0x00003ab4 iadd  0x00000011 , 0x00000011 
+ 00017152  0x00003ab5 fetch  0x00000001 , 0x00000185 
+ 00017153  0x00003ab6 istore  0x00000001 , 0x00000011 
+ 00017154  0x00003ab7 beq  0x00000034 , 0x00004305 
+ 00017155  0x00003ab8 beq  0x00000033 , 0x0000430c 
+ 00017156  0x00003ab9 rtn 
+ 00017157  0x00003abc fetch  0x00000006 , 0x0000044f 
+ 00017158  0x00003abd istore  0x00000006 , 0x00000005 
+ 00017159  0x00003abe arg  0x00004419 , 0x00000006 
+ 00017160  0x00003abf call  0x00007ebf 
+ 00017161  0x00003ac0 fetch  0x00000006 , 0x000044a0 
+ 00017162  0x00003ac1 istore  0x00000006 , 0x00000005 
+ 00017163  0x00003ac2 rtn 
+ 00017164  0x00003ac4 fetch  0x00000006 , 0x00000040 
+ 00017165  0x00003ac5 istore  0x00000006 , 0x00000005 
+ 00017166  0x00003ac6 arg  0x000041be , 0x00000006 
+ 00017167  0x00003ac7 branch  0x00007ebf 
+ 00017168  0x00003aca increase  0xfffffffa , 0x00000006 
+ 00017169  0x00003acb copy  0x00000006 , 0x00000005 
+ 00017170  0x00003acc fetcht  0x00000006 , 0x000046c8 
+ 00017171  0x00003acd increase  0x00000003 , 0x00000002 
+ 00017172  0x00003ace istoret  0x00000006 , 0x00000005 
+ 00017173  0x00003acf rtn 
+ 00017174  0x00003ad4 arg  0x00000058 , 0x00000002 
+ 00017175  0x00003ad5 arg  0x00004720 , 0x00000011 
+ 00017176  0x00003ad6 arg  0x00000000 , 0x00000012 
+ 00017177  0x00003ad7 call  0x000065df 
+ 00017178  0x00003ad9 arg  0x00004721 , 0x00000011 
+ 00017179  0x00003ada fetch  0x00000001 , 0x00004720 
+ 00017180  0x00003adb fetcht  0x00000001 , 0x00004703 
+ 00017181  0x00003adc isub  0x00000002 , 0x0000003e 
+ 00017182  0x00003add rtn  0x00000005 
+ 00017183  0x00003ade increase  0xffffffff , 0x0000003f 
+ 00017184  0x00003adf mul32  0x0000003f , 0x0000001d , 0x0000003f 
+ 00017185  0x00003ae0 iadd  0x00000011 , 0x00000011 
+ 00017186  0x00003ae1 ifetch  0x00000001 , 0x00000011 
+ 00017187  0x00003ae2 store  0x00000001 , 0x00004210 
+ 00017188  0x00003ae3 beq  0x00000033 , 0x00004327 
+ 00017189  0x00003ae4 beq  0x00000034 , 0x0000432c 
+ 00017190  0x00003ae5 rtn 
+ 00017191  0x00003ae8 ifetch  0x00000006 , 0x00000006 
+ 00017192  0x00003aea store  0x00000006 , 0x000041d0 
+ 00017193  0x00003aeb arg  0x000041be , 0x00000005 
+ 00017194  0x00003aec call  0x00007ebf 
+ 00017195  0x00003aed branch  0x000067d7 
+ 00017196  0x00003af0 ifetch  0x00000006 , 0x00000006 
+ 00017197  0x00003af2 store  0x00000006 , 0x000041d0 
+ 00017198  0x00003af3 arg  0x00004419 , 0x00000005 
+ 00017199  0x00003af4 call  0x00007ebf 
+ 00017200  0x00003af5 ifetch  0x00000006 , 0x00000006 
+ 00017201  0x00003af6 store  0x00000006 , 0x000044a0 
+ 00017202  0x00003af7 rtn 
+ 00017203  0x00003afb fetch  0x00000001 , 0x000046f5 
+ 00017204  0x00003afc bbit1  0x00000005 , 0x00004349 
+ 00017205  0x00003afd bbit1  0x00000006 , 0x00004359 
+ 00017206  0x00003afe branch  0x00004337 
+ 00017207  0x00003b01 call  0x00004083 
+ 00017208  0x00003b02 beq  0x00000006 , 0x0000433e 
+ 00017209  0x00003b04 jam  0x0000001e , 0x000046d8 
+ 00017210  0x00003b05 fetch  0x00000001 , 0x000046d9 
+ 00017211  0x00003b06 rtneq  0x00000001 
+ 00017212  0x00003b07 jam  0x00000001 , 0x000046d9 
+ 00017213  0x00003b08 rtn 
+ 00017214  0x00003b0b call  0x00004343 
+ 00017215  0x00003b0c fetch  0x00000001 , 0x000046d9 
+ 00017216  0x00003b0d rtneq  0x00000000 
+ 00017217  0x00003b0e jam  0x00000000 , 0x000046d9 
+ 00017218  0x00003b0f branch  0x000043c0 
+ 00017219  0x00003b12 fetch  0x00000001 , 0x000046d8 
+ 00017220  0x00003b13 rtn  0x00000034 
+ 00017221  0x00003b14 pincrease  0xffffffff 
+ 00017222  0x00003b15 store  0x00000001 , 0x000046d8 
+ 00017223  0x00003b16 nrtn  0x00000034 
+ 00017224  0x00003b17 branch  0x00004370 
+ 00017225  0x00003b1a fetch  0x00000001 , 0x000046ed 
+ 00017226  0x00003b1b rtneq  0x000000ff 
+ 00017227  0x00003b1c fetcht  0x00000001 , 0x000046ed 
+ 00017228  0x00003b1d call  0x0000681d 
+ 00017229  0x00003b1e branch  0x00004354 , 0x00000001 
+ 00017230  0x00003b20 fetch  0x00000001 , 0x000046d9 
+ 00017231  0x00003b21 rtneq  0x00000001 
+ 00017232  0x00003b22 jam  0x00000001 , 0x000046d9 
+ 00017233  0x00003b23 fetch  0x00000004 , 0x000046d3 
+ 00017234  0x00003b24 rtnbit1  0x00000006 
+ 00017235  0x00003b25 branch  0x00004370 
+ 00017236  0x00003b28 fetch  0x00000001 , 0x000046d9 
+ 00017237  0x00003b29 rtneq  0x00000000 
+ 00017238  0x00003b2a jam  0x00000000 , 0x000046d9 
+ 00017239  0x00003b2b arg  0x00000006 , 0x00000007 
+ 00017240  0x00003b2c branch  0x000043d2 
+ 00017241  0x00003b31 fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00017242  0x00003b32 rtnbit0  0x00000006 
+ 00017243  0x00003b33 fetch  0x00000001 , 0x00004720 
+ 00017244  0x00003b34 beq  0x00000001 , 0x00004369 
+ 00017245  0x00003b35 beq  0x00000002 , 0x0000436c 
+ 00017246  0x00003b36 rtn 
+ 00017247  0x00003b38 fetch  0x00000001 , 0x00000004 , 0x000046d3 
+ 00017248  0x00003b39 rtnbit0  0x00000006 
+ 00017249  0x00003b3a fetcht  0x00000001 , 0x000046ed 
+ 00017250  0x00003b3b call  0x0000681d 
+ 00017251  0x00003b3c branch  0x00004366 , 0x00000001 
+ 00017252  0x00003b3e jam  0x00000001 , 0x00004720 
+ 00017253  0x00003b3f rtn 
+ 00017254  0x00003b41 fetch  0x00000001 , 0x00004703 
+ 00017255  0x00003b42 store  0x00000001 , 0x00004720 
+ 00017256  0x00003b43 rtn 
+ 00017257  0x00003b45 fetcht  0x00000001 , 0x000046ed 
+ 00017258  0x00003b46 nbranch  0x00004370 , 0x00000001 
+ 00017259  0x00003b47 rtn 
+ 00017260  0x00003b49 fetcht  0x00000001 , 0x000046ed 
+ 00017261  0x00003b4a call  0x0000681d 
+ 00017262  0x00003b4b branch  0x00004354 , 0x00000001 
+ 00017263  0x00003b4c rtn 
+ 00017264  0x00003b52 fetcht  0x00000001 , 0x00004720 
+ 00017265  0x00003b53 increase  0x00000001 , 0x00000002 
+ 00017266  0x00003b54 fetch  0x00000001 , 0x000046d2 
+ 00017267  0x00003b55 isub  0x00000002 , 0x0000003e 
+ 00017268  0x00003b56 ncall  0x000043cc , 0x00000002 
+ 00017269  0x00003b57 storet  0x00000001 , 0x00004720 
+ 00017270  0x00003b58 jam  0x00000000 , 0x000041bd 
+ 00017271  0x00003b59 call  0x0000437a 
+ 00017272  0x00003b5a call  0x000043c0 
+ 00017273  0x00003b5c branch  0x0000437e 
+ 00017274  0x00003b5f arg  0x00000001 , 0x00000002 
+ 00017275  0x00003b60 arg  0x00004720 , 0x00000011 
+ 00017276  0x00003b61 arg  0x00000000 , 0x00000012 
+ 00017277  0x00003b62 branch  0x00006606 
+ 00017278  0x00003b65 call  0x00004381 
+ 00017279  0x00003b66 call  0x000043c2 
+ 00017280  0x00003b67 branch  0x000041d7 
+ 00017281  0x00003b69 fetch  0x00000002 , 0x00004682 
+ 00017282  0x00003b6a bbit1  0x00000007 , 0x00004392 
+ 00017283  0x00003b6b bbit1  0x00000009 , 0x00003402 
+ 00017284  0x00003b6c bbit1  0x00000000 , 0x000033e9 
+ 00017285  0x00003b6d branch  0x000042ca 
+ 00017286  0x00003b70 bpatch  0x000000ed , 0x0000401d 
+ 00017287  0x00003b71 setarg  0x00000000 
+ 00017288  0x00003b72 store  0x00000002 , 0x000046b0 
+ 00017289  0x00003b73 fetch  0x00000002 , 0x00004682 
+ 00017290  0x00003b74 bbit1  0x00000009 , 0x00003402 
+ 00017291  0x00003b75 fetch  0x00000002 , 0x00004682 
+ 00017292  0x00003b76 bbit1  0x00000000 , 0x000033e9 
+ 00017293  0x00003b77 rtn 
+ 00017294  0x00003b7a setarg  0x00000001 
+ 00017295  0x00003b7b store  0x00000006 , 0x00000040 
+ 00017296  0x00003b7c jam  0x00000033 , 0x00000185 
+ 00017297  0x00003b7d branch  0x000042df 
+ 00017298  0x00003b81 call  0x000043c4 
+ 00017299  0x00003b82 branch  0x00007e2f 
+ 00017300  0x00003b85 fetch  0x00000001 , 0x000046ec 
+ 00017301  0x00003b86 rtneq  0x000000ff 
+ 00017302  0x00003b87 fetcht  0x00000001 , 0x000046ec 
+ 00017303  0x00003b88 call  0x0000681d 
+ 00017304  0x00003b89 branch  0x0000439f , 0x00000001 
+ 00017305  0x00003b8b fetch  0x00000001 , 0x00004685 
+ 00017306  0x00003b8c store  0x00000001 , 0x000046da 
+ 00017307  0x00003b8d fetch  0x00000001 , 0x000046db 
+ 00017308  0x00003b8e rtneq  0x00000001 
+ 00017309  0x00003b8f jam  0x00000001 , 0x000046db 
+ 00017310  0x00003b90 branch  0x000043ca 
+ 00017311  0x00003b92 call  0x000043b5 
+ 00017312  0x00003b93 fetch  0x00000001 , 0x000046db 
+ 00017313  0x00003b94 rtneq  0x00000000 
+ 00017314  0x00003b95 jam  0x00000000 , 0x000046db 
+ 00017315  0x00003b96 call  0x00007e2f 
+ 00017316  0x00003b97 branch  0x000043c8 
+ 00017317  0x00003b9b fetch  0x00000001 , 0x000046f5 
+ 00017318  0x00003b9c bbit1  0x00000004 , 0x00004394 
+ 00017319  0x00003b9e call  0x00004083 
+ 00017320  0x00003b9f beq  0x00000007 , 0x000043af 
+ 00017321  0x00003ba1 fetch  0x00000001 , 0x00004685 
+ 00017322  0x00003ba2 store  0x00000001 , 0x000046da 
+ 00017323  0x00003ba3 fetch  0x00000001 , 0x000046db 
+ 00017324  0x00003ba4 rtneq  0x00000001 
+ 00017325  0x00003ba5 jam  0x00000001 , 0x000046db 
+ 00017326  0x00003ba6 branch  0x000043ca 
+ 00017327  0x00003baa call  0x000043b5 
+ 00017328  0x00003bab fetch  0x00000001 , 0x000046db 
+ 00017329  0x00003bac rtneq  0x00000000 
+ 00017330  0x00003bad jam  0x00000000 , 0x000046db 
+ 00017331  0x00003bae call  0x00007e2f 
+ 00017332  0x00003baf branch  0x000043c8 
+ 00017333  0x00003bb2 arg  0x000046da , 0x00000013 
+ 00017334  0x00003bb3 arg  0x000043b8 , 0x00000012 
+ 00017335  0x00003bb4 branch  0x0000336d 
+ 00017336  0x00003bb7 arg  0x00000006 , 0x00000007 
+ 00017337  0x00003bb8 call  0x000043ce 
+ 00017338  0x00003bb9 call  0x00003357 
+ 00017339  0x00003bba branch  0x0000426c 
+ 00017340  0x00003bbe arg  0x00000001 , 0x00000007 
+ 00017341  0x00003bbf branch  0x000043ce 
+ 00017342  0x00003bc1 arg  0x00000001 , 0x00000007 
+ 00017343  0x00003bc2 branch  0x000043d2 
+ 00017344  0x00003bc4 arg  0x00000000 , 0x00000007 
+ 00017345  0x00003bc5 branch  0x000043ce 
+ 00017346  0x00003bc7 arg  0x00000000 , 0x00000007 
+ 00017347  0x00003bc8 branch  0x000043d2 
+ 00017348  0x00003bca arg  0x00000002 , 0x00000007 
+ 00017349  0x00003bcb branch  0x000043ce 
+ 00017350  0x00003bcd arg  0x00000002 , 0x00000007 
+ 00017351  0x00003bce branch  0x000043d2 
+ 00017352  0x00003bd0 arg  0x00000005 , 0x00000007 
+ 00017353  0x00003bd1 branch  0x000043ce 
+ 00017354  0x00003bd3 arg  0x00000005 , 0x00000007 
+ 00017355  0x00003bd4 branch  0x000043d2 
+ 00017356  0x00003bd9 arg  0x00000001 , 0x00000002 
+ 00017357  0x00003bda rtn 
+ 00017358  0x00003bdd fetch  0x00000004 , 0x000046d3 
+ 00017359  0x00003bde qset1  0x0000003f 
+ 00017360  0x00003bdf store  0x00000004 , 0x000046d3 
+ 00017361  0x00003be0 rtn 
+ 00017362  0x00003be3 fetch  0x00000004 , 0x000046d3 
+ 00017363  0x00003be4 qset0  0x0000003f 
+ 00017364  0x00003be5 store  0x00000004 , 0x000046d3 
+ 00017365  0x00003be6 rtn 
+ 00017366  0x00003be9 fetch  0x00000004 , 0x000046d3 
+ 00017367  0x00003bea rtnbit0  0x0000001a 
+ 00017368  0x00003beb fetch  0x00000001 , 0x000046ce 
+ 00017369  0x00003bec increase  0x00000001 , 0x0000003f 
+ 00017370  0x00003bed store  0x00000001 , 0x000046ce 
+ 00017371  0x00003bee sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00017372  0x00003bef rtn  0x00000002 
+ 00017373  0x00003bf0 jam  0x00000000 , 0x000046ce 
+ 00017374  0x00003bf1 call  0x000068eb 
+ 00017375  0x00003bf2 call  0x00006908 
+ 00017376  0x00003bf3 store  0x00000002 , 0x0000470f 
+ 00017377  0x00003bf4 arg  0x00004709 , 0x00000011 
+ 00017378  0x00003bf5 call  0x00006930 
+ 00017379  0x00003bf6 fetch  0x00000001 , 0x00004231 
+ 00017380  0x00003bf7 bbit1  0x00000001 , 0x000044a0 
+ 00017381  0x00003bf8 bbit0  0x00000000 , 0x000043e9 
+ 00017382  0x00003bf9 branch  0x000043e7 
+ 00017383  0x00003bfb arg  0x00000004 , 0x00000007 
+ 00017384  0x00003bfc branch  0x000043ce 
+ 00017385  0x00003bfe arg  0x00000004 , 0x00000007 
+ 00017386  0x00003bff branch  0x000043d2 
+ 00017387  0x00003c02 fetch  0x00000004 , 0x000046d3 
+ 00017388  0x00003c03 rtnbit0  0x00000004 
+ 00017389  0x00003c04 fetch  0x00000001 , 0x000046ef 
+ 00017390  0x00003c05 store  0x00000001 , 0x00004715 
+ 00017391  0x00003c06 fetch  0x00000001 , 0x000046cf 
+ 00017392  0x00003c07 pincrease  0x00000001 
+ 00017393  0x00003c08 store  0x00000001 , 0x000046cf 
+ 00017394  0x00003c09 sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00017395  0x00003c0a ncall  0x000043f9 , 0x00000002 
+ 00017396  0x00003c0b beq  0x00000002 , 0x000043fb 
+ 00017397  0x00003c0c beq  0x00000004 , 0x000043fe 
+ 00017398  0x00003c0d beq  0x00000006 , 0x000043fb 
+ 00017399  0x00003c0e beq  0x00000008 , 0x000043fe 
+ 00017400  0x00003c0f rtn 
+ 00017401  0x00003c11 jam  0x00000001 , 0x000046cf 
+ 00017402  0x00003c12 branch  0x000043fe 
+ 00017403  0x00003c14 arg  0x00000000 , 0x00000011 
+ 00017404  0x00003c15 jam  0x00000002 , 0x00004713 
+ 00017405  0x00003c16 branch  0x00007d14 
+ 00017406  0x00003c18 arg  0x00000000 , 0x00000011 
+ 00017407  0x00003c19 jam  0x00000002 , 0x00004713 
+ 00017408  0x00003c1a branch  0x00007d19 
+ 00017409  0x00003c1d call  0x00003f97 
+ 00017410  0x00003c1e nrtn  0x00000028 
+ 00017411  0x00003c1f arg  0x00000007 , 0x00000011 
+ 00017412  0x00003c20 arg  0x0000469a , 0x00000012 
+ 00017413  0x00003c21 rtn 
+ 00017414  0x00003c24 fetch  0x00000001 , 0x0000478b 
+ 00017415  0x00003c25 rtn  0x00000034 
+ 00017416  0x00003c27 fetcht  0x00000001 , 0x000046e7 
+ 00017417  0x00003c28 call  0x0000681d 
+ 00017418  0x00003c29 call  0x00004410 , 0x00000001 
+ 00017419  0x00003c2a fetch  0x00000001 , 0x00004704 
+ 00017420  0x00003c2b nrtn  0x00000034 
+ 00017421  0x00003c2c call  0x00004083 
+ 00017422  0x00003c2d nrtn  0x00000034 
+ 00017423  0x00003c2e branch  0x00002d83 
+ 00017424  0x00003c31 fetch  0x00000001 , 0x000046e7 
+ 00017425  0x00003c32 rtneq  0x000000ff 
+ 00017426  0x00003c33 jam  0x0000000a , 0x00004704 
+ 00017427  0x00003c34 rtn 
+ 00017428  0x00003c38 call  0x00004423 
+ 00017429  0x00003c39 fetch  0x00000002 , 0x00004778 
+ 00017430  0x00003c3a arg  0x0000aa55 , 0x00000002 
+ 00017431  0x00003c3b isub  0x00000002 , 0x0000003e 
+ 00017432  0x00003c3c branch  0x0000442b , 0x00000005 
+ 00017433  0x00003c3d storet  0x00000002 , 0x00004778 
+ 00017434  0x00003c3e call  0x0000441c 
+ 00017435  0x00003c3f branch  0x00004435 
+ 00017436  0x00003c41 fetch  0x00000006 , 0x000044a0 
+ 00017437  0x00003c42 store  0x00000006 , 0x00004738 
+ 00017438  0x00003c43 add  0x0000003f , 0x00000100 , 0x0000003f 
+ 00017439  0x00003c44 store  0x00000006 , 0x00004755 
+ 00017440  0x00003c45 add  0x0000003f , 0x00000100 , 0x0000003f 
+ 00017441  0x00003c46 store  0x00000006 , 0x00004772 
+ 00017442  0x00003c47 rtn 
+ 00017443  0x00003c4b setarg  0x00004778 
+ 00017444  0x00003c4c arg  0x00004720 , 0x00000002 
+ 00017445  0x00003c4d isub  0x00000002 , 0x00000002 
+ 00017446  0x00003c4e fetch  0x00000003 , 0x00004700 
+ 00017447  0x00003c4f iadd  0x00000002 , 0x0000003f 
+ 00017448  0x00003c50 arg  0x00000002 , 0x00000002 
+ 00017449  0x00003c51 arg  0x00004778 , 0x00000011 
+ 00017450  0x00003c52 branch  0x00006562 
+ 00017451  0x00003c56 setarg  0x0000477f 
+ 00017452  0x00003c57 arg  0x00004720 , 0x00000002 
+ 00017453  0x00003c58 isub  0x00000002 , 0x00000002 
+ 00017454  0x00003c59 fetch  0x00000003 , 0x00004700 
+ 00017455  0x00003c5a arg  0x00004720 , 0x00000011 
+ 00017456  0x00003c5b call  0x00006562 
+ 00017457  0x00003c5c call  0x0000431a 
+ 00017458  0x00003c5d fetch  0x00000004 , 0x0000477b 
+ 00017459  0x00003c5e call  0x00002c7a 
+ 00017460  0x00003c5f branch  0x0000322c 
+ 00017461  0x00003c62 setarg  0x0000477f 
+ 00017462  0x00003c63 arg  0x00004720 , 0x00000002 
+ 00017463  0x00003c64 isub  0x00000002 , 0x00000002 
+ 00017464  0x00003c65 arg  0x00004720 , 0x00000011 
+ 00017465  0x00003c66 fetch  0x00000003 , 0x00004700 
+ 00017466  0x00003c67 branch  0x00006514 
+ 00017467  0x00003c6a arg  0x00000001 , 0x00000002 
+ 00017468  0x00003c6b arg  0x0000477a , 0x00000011 
+ 00017469  0x00003c6c arg  0x0000005a , 0x00000012 
+ 00017470  0x00003c6d branch  0x000065d1 
+ 00017471  0x00003c70 arg  0x00000001 , 0x00000002 
+ 00017472  0x00003c71 arg  0x0000477a , 0x00000011 
+ 00017473  0x00003c72 arg  0x0000005a , 0x00000012 
+ 00017474  0x00003c73 branch  0x000065df 
+ 00017475  0x00003c76 rtnmark1  0x00000026 
+ 00017476  0x00003c77 fetch  0x00000004 , 0x000046d3 
+ 00017477  0x00003c78 rtnbit0  0x00000016 
+ 00017478  0x00003c79 fetch  0x00000001 , 0x00004705 
+ 00017479  0x00003c7a pincrease  0x00000001 
+ 00017480  0x00003c7b and  0x0000003f , 0x00000007 , 0x0000003f 
+ 00017481  0x00003c7c store  0x00000001 , 0x00004705 
+ 00017482  0x00003c7d rtnne  0x00000007 
+ 00017483  0x00003c7e fetch  0x00000002 , 0x00004682 
+ 00017484  0x00003c7f bbit1  0x00000000 , 0x0000444f 
+ 00017485  0x00003c80 bbit1  0x00000009 , 0x0000444f 
+ 00017486  0x00003c81 rtn 
+ 00017487  0x00003c87 bpatch  0x000000ee , 0x0000401d 
+ 00017488  0x00003c88 fetch  0x00000001 , 0x00004706 
+ 00017489  0x00003c89 nrtn  0x00000034 
+ 00017490  0x00003c8a fetch  0x00000004 , 0x000046d3 
+ 00017491  0x00003c8b rtnbit0  0x00000008 
+ 00017492  0x00003c8c fetch  0x00000001 , 0x000046a5 
+ 00017493  0x00003c8d call  0x000063fb 
+ 00017494  0x00003c8e store  0x00000001 , 0x000046a6 
+ 00017495  0x00003c8f sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00017496  0x00003c90 branch  0x0000445b , 0x00000002 
+ 00017497  0x00003c91 jam  0x00000000 , 0x00004706 
+ 00017498  0x00003c92 rtn 
+ 00017499  0x00003c95 jam  0x0000001e , 0x00004706 
+ 00017500  0x00003c96 rtn 
+ 00017501  0x00003c98 arg  0x00004706 , 0x00000013 
+ 00017502  0x00003c99 arg  0x00004460 , 0x00000012 
+ 00017503  0x00003c9a branch  0x0000336d 
+ 00017504  0x00003c9d fetch  0x00000001 , 0x000046a5 
+ 00017505  0x00003c9e call  0x00006414 
+ 00017506  0x00003c9f sub  0x0000003f , 0x00000010 , 0x0000003e 
+ 00017507  0x00003ca0 nrtn  0x00000002 
+ 00017508  0x00003ca1 fetch  0x00000004 , 0x000046d3 
+ 00017509  0x00003ca2 rtnbit0  0x00000008 
+ 00017510  0x00003ca3 arg  0x00000008 , 0x00000007 
+ 00017511  0x00003ca4 call  0x000043d2 
+ 00017512  0x00003ca5 jam  0x00000000 , 0x00004172 
+ 00017513  0x00003ca6 jam  0x0000001e , 0x000046c4 
+ 00017514  0x00003ca7 call  0x00004482 
+ 00017515  0x00003ca8 fetch  0x00000004 , 0x000046d3 
+ 00017516  0x00003ca9 bbit1  0x00000015 , 0x00004471 
+ 00017517  0x00003cab fetch  0x00000001 , 0x00004720 
+ 00017518  0x00003cac beq  0x00000001 , 0x00004489 
+ 00017519  0x00003cad beq  0x00000002 , 0x00004476 
+ 00017520  0x00003cae rtn 
+ 00017521  0x00003cb0 fetch  0x00000001 , 0x00004720 
+ 00017522  0x00003cb1 beq  0x00000001 , 0x00004489 
+ 00017523  0x00003cb2 beq  0x00000002 , 0x0000448c 
+ 00017524  0x00003cb3 beq  0x00000003 , 0x0000448f 
+ 00017525  0x00003cb4 rtn 
+ 00017526  0x00003cb7 fetch  0x00000001 , 0x000046f0 
+ 00017527  0x00003cb8 branch  0x0000428f 
+ 00017528  0x00003cbd jam  0x00000020 , 0x00004172 
+ 00017529  0x00003cbe branch  0x00004482 
+ 00017530  0x00003cc3 fetch  0x00000001 , 0x000046f0 
+ 00017531  0x00003cc4 rtneq  0x000000ff 
+ 00017532  0x00003cc5 store  0x00000001 , 0x00004715 
+ 00017533  0x00003cc6 branch  0x00004296 
+ 00017534  0x00003cc9 fetch  0x00000001 , 0x000046f1 
+ 00017535  0x00003cca rtneq  0x000000ff 
+ 00017536  0x00003ccb store  0x00000001 , 0x00004715 
+ 00017537  0x00003ccc branch  0x00004296 
+ 00017538  0x00003ccf call  0x00004296 
+ 00017539  0x00003cd0 call  0x0000447a 
+ 00017540  0x00003cd1 call  0x0000447e 
+ 00017541  0x00003cd3 fetch  0x00000001 , 0x000046f2 
+ 00017542  0x00003cd4 rtneq  0x000000ff 
+ 00017543  0x00003cd5 store  0x00000001 , 0x00004715 
+ 00017544  0x00003cd6 branch  0x00004296 
+ 00017545  0x00003cd9 fetch  0x00000001 , 0x000046f0 
+ 00017546  0x00003cda store  0x00000001 , 0x00004715 
+ 00017547  0x00003cdb branch  0x00004298 
+ 00017548  0x00003cdd fetch  0x00000001 , 0x000046f1 
+ 00017549  0x00003cde store  0x00000001 , 0x00004715 
+ 00017550  0x00003cdf branch  0x00004298 
+ 00017551  0x00003ce1 fetch  0x00000001 , 0x000046f2 
+ 00017552  0x00003ce2 store  0x00000001 , 0x00004715 
+ 00017553  0x00003ce3 branch  0x00004298 
+ 00017554  0x00003ce8 bpatch  0x000000ef , 0x0000401d 
+ 00017555  0x00003ce9 fetch  0x00000001 , 0x0000471e 
+ 00017556  0x00003cea increase  0xffffffff , 0x0000003f 
+ 00017557  0x00003ceb store  0x00000001 , 0x0000471e 
+ 00017558  0x00003cec fetcht  0x00000001 , 0x00004720 
+ 00017559  0x00003ced increase  0x00000001 , 0x00000002 
+ 00017560  0x00003cee fetch  0x00000001 , 0x000046d2 
+ 00017561  0x00003cef isub  0x00000002 , 0x0000003e 
+ 00017562  0x00003cf0 ncall  0x000043cc , 0x00000002 
+ 00017563  0x00003cf1 storet  0x00000001 , 0x00004720 
+ 00017564  0x00003cf2 jam  0x00000000 , 0x000041bd 
+ 00017565  0x00003cf3 call  0x0000437a 
+ 00017566  0x00003cf4 call  0x000042fb 
+ 00017567  0x00003cf5 branch  0x000042a2 
+ 00017568  0x00003cf8 call  0x00004482 
+ 00017569  0x00003cf9 setarg  0x00000000 
+ 00017570  0x00003cfa store  0x00000008 , 0x000000a1 
+ 00017571  0x00003cfb branch  0x00002b1f 
+ 00017572  0x00003d07 rtn  0x0000002b 
+ 00017573  0x00003d08 hfetch  0x00000001 , 0x00008081 
+ 00017574  0x00003d09 and_into  0x000000f0 , 0x0000003f 
+ 00017575  0x00003d0a hstore  0x00000001 , 0x00008081 
+ 00017576  0x00003d0b call  0x00006948 
+ 00017577  0x00003d0c setarg  0x000044e6 
+ 00017578  0x00003d0d store  0x00000002 , 0x000041eb 
+ 00017579  0x00003d0f setarg  0x000044e9 
+ 00017580  0x00003d10 store  0x00000002 , 0x000041ed 
+ 00017581  0x00003d12 setarg  0x000044ef 
+ 00017582  0x00003d13 store  0x00000002 , 0x000041f3 
+ 00017583  0x00003d15 setarg  0x000044f2 
+ 00017584  0x00003d16 store  0x00000002 , 0x000041f5 
+ 00017585  0x00003d18 setarg  0x000033d0 
+ 00017586  0x00003d19 store  0x00000002 , 0x000041e9 
+ 00017587  0x00003d1b call  0x00002c7a 
+ 00017588  0x00003d1c setarg  0x000045c2 
+ 00017589  0x00003d1d add  0x00000013 , 0x000000d8 , 0x00000005 
+ 00017590  0x00003d1e istore  0x00000002 , 0x00000005 
+ 00017591  0x00003d20 setarg  0x000044ea 
+ 00017592  0x00003d21 add  0x00000013 , 0x000000da , 0x00000005 
+ 00017593  0x00003d22 istore  0x00000002 , 0x00000005 
+ 00017594  0x00003d24 setarg  0x000044e9 
+ 00017595  0x00003d25 add  0x00000013 , 0x000000dc , 0x00000005 
+ 00017596  0x00003d26 istore  0x00000002 , 0x00000005 
+ 00017597  0x00003d28 setarg  0x0000450e 
+ 00017598  0x00003d29 store  0x00000002 , 0x000041fd 
+ 00017599  0x00003d2b setarg  0x000044da 
+ 00017600  0x00003d2c store  0x00000002 , 0x0000475b 
+ 00017601  0x00003d2e setarg  0x000044d6 
+ 00017602  0x00003d2f store  0x00000002 , 0x0000475f 
+ 00017603  0x00003d31 setarg  0x00004560 
+ 00017604  0x00003d32 store  0x00000002 , 0x0000470f 
+ 00017605  0x00003d34 bpatch  0x000000f0 , 0x0000401e 
+ 00017606  0x00003d35 call  0x000044e2 
+ 00017607  0x00003d36 call  0x00007e38 
+ 00017608  0x00003d37 jam  0x00000002 , 0x00004172 
+ 00017609  0x00003d38 fetch  0x00000001 , 0x0000472b 
+ 00017610  0x00003d39 store  0x00000001 , 0x0000469a 
+ 00017611  0x00003d3a beq  0x00000000 , 0x000044d5 
+ 00017612  0x00003d3b fetch  0x00000001 , 0x0000472c 
+ 00017613  0x00003d3c store  0x00000001 , 0x00004686 
+ 00017614  0x00003d3e call  0x000044db 
+ 00017615  0x00003d3f call  0x00007cd3 
+ 00017616  0x00003d40 call  0x00007cdd 
+ 00017617  0x00003d41 jam  0x00000001 , 0x00004757 
+ 00017618  0x00003d42 fetch  0x00000002 , 0x00004682 
+ 00017619  0x00003d43 rtnbit1  0x0000000c 
+ 00017620  0x00003d44 branch  0x0000340a 
+ 00017621  0x00003d49 jam  0x00000002 , 0x00004757 
+ 00017622  0x00003d4b call  0x000044db 
+ 00017623  0x00003d4d arg  0x00000000 , 0x00000011 
+ 00017624  0x00003d4e call  0x00007d1e 
+ 00017625  0x00003d50 branch  0x00002ee4 
+ 00017626  0x00003d53 branch  0x000044db 
+ 00017627  0x00003d56 bpatch  0x000000f1 , 0x0000401e 
+ 00017628  0x00003d57 fetch  0x00000001 , 0x00004729 
+ 00017629  0x00003d58 bne  0x000000ff , 0x000044e0 
+ 00017630  0x00003d5a fetcht  0x00000001 , 0x00004706 
+ 00017631  0x00003d5b branch  0x0000680e 
+ 00017632  0x00003d5d store  0x00000001 , 0x00004706 
+ 00017633  0x00003d5e branch  0x000044de 
+ 00017634  0x00003d62 call  0x00002c9d 
+ 00017635  0x00003d63 fetch  0x00000002 , 0x00004753 
+ 00017636  0x00003d64 store  0x00000002 , 0x00004755 
+ 00017637  0x00003d65 branch  0x00004515 
+ 00017638  0x00003d6d call  0x00006835 
+ 00017639  0x00003d6e call  0x000044e9 
+ 00017640  0x00003d6f branch  0x0000340a 
+ 00017641  0x00003d72 branch  0x0000696c 
+ 00017642  0x00003d75 fetch  0x00000001 , 0x00004765 
+ 00017643  0x00003d76 rtn  0x00000034 
+ 00017644  0x00003d78 branch  0x00002d83 
+ 00017645  0x00003d7b rtn 
+ 00017646  0x00003d7e branch  0x00006978 
+ 00017647  0x00003d81 call  0x00004544 
+ 00017648  0x00003d82 call  0x00004503 
+ 00017649  0x00003d83 branch  0x000044ee 
+ 00017650  0x00003d86 copy  0x00000013 , 0x0000003f 
+ 00017651  0x00003d87 beq  0x0000002d , 0x00003431 
+ 00017652  0x00003d88 beq  0x00000010 , 0x0000341a 
+ 00017653  0x00003d89 beq  0x00000039 , 0x000044fb 
+ 00017654  0x00003d8a beq  0x0000003c , 0x000044ff 
+ 00017655  0x00003d8b beq  0x0000003a , 0x000044f9 
+ 00017656  0x00003d8c rtn 
+ 00017657  0x00003d8f jam  0x00000001 , 0x00004765 
+ 00017658  0x00003d90 rtn 
+ 00017659  0x00003d93 jam  0x00000001 , 0x00004765 
+ 00017660  0x00003d94 jam  0x00000001 , 0x00004763 
+ 00017661  0x00003d95 jam  0x00000001 , 0x00004764 
+ 00017662  0x00003d96 rtn 
+ 00017663  0x00003d99 jam  0x00000001 , 0x00004765 
+ 00017664  0x00003d9a jam  0x00000001 , 0x00004763 
+ 00017665  0x00003d9b jam  0x00000001 , 0x00004764 
+ 00017666  0x00003d9c rtn 
+ 00017667  0x00003d9f fetch  0x00000001 , 0x00004763 
+ 00017668  0x00003da0 rtneq  0x00000000 
+ 00017669  0x00003da1 fetch  0x00000001 , 0x00004762 
+ 00017670  0x00003da2 rtneq  0x00000001 
+ 00017671  0x00003da3 jam  0x00000001 , 0x00004762 
+ 00017672  0x00003da5 arg  0x00000000 , 0x00000011 
+ 00017673  0x00003da6 branch  0x00007d19 
+ 00017674  0x00003da8 arg  0x00000000 , 0x00000011 
+ 00017675  0x00003da9 call  0x00007d19 
+ 00017676  0x00003daa call  0x000044db 
+ 00017677  0x00003dab branch  0x0000340a 
+ 00017678  0x00003dae call  0x0000337b 
+ 00017679  0x00003daf branch  0x00004510 
+ 00017680  0x00003db2 fetch  0x00000001 , 0x0000472d 
+ 00017681  0x00003db3 rtn  0x00000034 
+ 00017682  0x00003db4 arg  0x00004755 , 0x00000013 
+ 00017683  0x00003db5 arg  0x0000450a , 0x00000012 
+ 00017684  0x00003db6 branch  0x00003374 
+ 00017685  0x00003dba call  0x0000451a 
+ 00017686  0x00003dbb storet  0x00000002 , 0x0000471a 
+ 00017687  0x00003dbc call  0x0000451f 
+ 00017688  0x00003dbd storet  0x00000002 , 0x0000471c 
+ 00017689  0x00003dbe rtn 
+ 00017690  0x00003dc1 fetch  0x00000002 , 0x0000471a 
+ 00017691  0x00003dc2 store  0x00000002 , 0x0000471e 
+ 00017692  0x00003dc3 call  0x00004540 
+ 00017693  0x00003dc4 call  0x00004525 
+ 00017694  0x00003dc5 store  0x00000001 , 0x00004724 
+ 00017695  0x00003dc7 fetch  0x00000002 , 0x0000471c 
+ 00017696  0x00003dc8 store  0x00000002 , 0x0000471e 
+ 00017697  0x00003dc9 call  0x00004542 
+ 00017698  0x00003dca call  0x00004525 
+ 00017699  0x00003dcb store  0x00000001 , 0x00004725 
+ 00017700  0x00003dcc rtn 
+ 00017701  0x00003dce fetch  0x00000002 , 0x00004720 
+ 00017702  0x00003dcf copy  0x0000003f , 0x00000011 
+ 00017703  0x00003dd0 fetch  0x00000002 , 0x0000471e 
+ 00017704  0x00003dd1 call  0x0000452e 
+ 00017705  0x00003dd2 fetch  0x00000001 , 0x00004719 
+ 00017706  0x00003dd3 nbranch  0x00004537 , 0x00000034 
+ 00017707  0x00003dd4 nrtn  0x00000002 
+ 00017708  0x00003dd5 fetcht  0x00000002 , 0x0000471e 
+ 00017709  0x00003dd6 rtn 
+ 00017710  0x00003dd8 isub  0x00000002 , 0x0000003f 
+ 00017711  0x00003dd9 branch  0x00004534 , 0x00000002 
+ 00017712  0x00003dda sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00017713  0x00003ddb jam  0x00000001 , 0x00004718 
+ 00017714  0x00003ddc isub  0x00000011 , 0x0000003e 
+ 00017715  0x00003ddd rtn 
+ 00017716  0x00003ddf jam  0x00000000 , 0x00004718 
+ 00017717  0x00003de0 isub  0x00000011 , 0x0000003e 
+ 00017718  0x00003de1 rtn 
+ 00017719  0x00003de3 nbranch  0x0000453e , 0x00000002 
+ 00017720  0x00003de4 fetch  0x00000001 , 0x00004718 
+ 00017721  0x00003de5 nbranch  0x0000453c , 0x00000034 
+ 00017722  0x00003de7 setarg  0x00000001 
+ 00017723  0x00003de8 rtn 
+ 00017724  0x00003dea setarg  0x00000002 
+ 00017725  0x00003deb rtn 
+ 00017726  0x00003ded setarg  0x00000000 
+ 00017727  0x00003dee rtn 
+ 00017728  0x00003df0 jam  0x00000033 , 0x0000422e 
+ 00017729  0x00003df1 branch  0x000068eb 
+ 00017730  0x00003df3 jam  0x00000034 , 0x0000422e 
+ 00017731  0x00003df4 branch  0x000068eb 
+ 00017732  0x00003df8 fetch  0x00000001 , 0x0000472a 
+ 00017733  0x00003df9 rtnne  0x00000001 
+ 00017734  0x00003dfb bpatch  0x000000f2 , 0x0000401e 
+ 00017735  0x00003dfc jam  0x00000001 , 0x00004719 
+ 00017736  0x00003dfd call  0x0000451a 
+ 00017737  0x00003dfe fetch  0x00000002 , 0x00004724 
+ 00017738  0x00003dff fetcht  0x00000002 , 0x00004722 
+ 00017739  0x00003e00 isub  0x00000002 , 0x0000003e 
+ 00017740  0x00003e01 rtn  0x00000005 
+ 00017741  0x00003e02 store  0x00000002 , 0x00004722 
+ 00017742  0x00003e03 call  0x00004550 
+ 00017743  0x00003e04 branch  0x00004554 
+ 00017744  0x00003e07 fetch  0x00000001 , 0x00004724 
+ 00017745  0x00003e08 branch  0x0000455a , 0x00000034 
+ 00017746  0x00003e09 increase  0xffffffff , 0x0000003f 
+ 00017747  0x00003e0a branch  0x00004557 
+ 00017748  0x00003e0c fetch  0x00000001 , 0x00004725 
+ 00017749  0x00003e0d branch  0x0000455d , 0x00000034 
+ 00017750  0x00003e0e increase  0x00000001 , 0x0000003f 
+ 00017751  0x00003e10 copy  0x0000003f , 0x00000007 
+ 00017752  0x00003e11 arg  0x00000001 , 0x00000011 
+ 00017753  0x00003e12 branch  0x00004560 
+ 00017754  0x00003e15 arg  0x00000000 , 0x00000007 
+ 00017755  0x00003e16 arg  0x00000000 , 0x00000011 
+ 00017756  0x00003e17 branch  0x00004560 
+ 00017757  0x00003e19 arg  0x00000002 , 0x00000007 
+ 00017758  0x00003e1a arg  0x00000000 , 0x00000011 
+ 00017759  0x00003e1b branch  0x00004560 
+ 00017760  0x00003e1e copy  0x00000011 , 0x0000003f 
+ 00017761  0x00003e1f store  0x00000001 , 0x00004761 
+ 00017762  0x00003e20 fetch  0x00000001 , 0x00004763 
+ 00017763  0x00003e21 beq  0x00000000 , 0x00002ee4 
+ 00017764  0x00003e22 fetch  0x00000002 , 0x00004753 
+ 00017765  0x00003e23 store  0x00000002 , 0x00004755 
+ 00017766  0x00003e24 fetch  0x00000001 , 0x00004761 
+ 00017767  0x00003e25 branch  0x00004580 , 0x00000034 
+ 00017768  0x00003e27 bpatch  0x000000f3 , 0x0000401e 
+ 00017769  0x00003e28 arg  0x00000000 , 0x00000011 
+ 00017770  0x00003e29 call  0x00007d14 
+ 00017771  0x00003e2b copy  0x00000007 , 0x0000003f 
+ 00017772  0x00003e2c beq  0x00000004 , 0x000045a3 
+ 00017773  0x00003e2d beq  0x00000005 , 0x000045a5 
+ 00017774  0x00003e2e beq  0x00000006 , 0x000045a7 
+ 00017775  0x00003e32 call  0x0000458b 
+ 00017776  0x00003e33 beq  0x00000000 , 0x00004574 
+ 00017777  0x00003e34 beq  0x00000002 , 0x0000457a 
+ 00017778  0x00003e35 beq  0x00000003 , 0x00004574 
+ 00017779  0x00003e36 rtn 
+ 00017780  0x00003e39 copy  0x00000007 , 0x0000003f 
+ 00017781  0x00003e3a beq  0x00000000 , 0x0000458f 
+ 00017782  0x00003e3b beq  0x00000001 , 0x00004591 
+ 00017783  0x00003e3c beq  0x00000002 , 0x00004593 
+ 00017784  0x00003e3d beq  0x00000003 , 0x00004595 
+ 00017785  0x00003e3e rtn 
+ 00017786  0x00003e41 copy  0x00000007 , 0x0000003f 
+ 00017787  0x00003e42 beq  0x00000000 , 0x00004597 
+ 00017788  0x00003e43 beq  0x00000001 , 0x0000459a 
+ 00017789  0x00003e44 beq  0x00000002 , 0x0000459d 
+ 00017790  0x00003e45 beq  0x00000003 , 0x000045a0 
+ 00017791  0x00003e46 rtn 
+ 00017792  0x00003e49 bpatch  0x000000f4 , 0x0000401e 
+ 00017793  0x00003e4a arg  0x00000000 , 0x00000011 
+ 00017794  0x00003e4b call  0x00007d19 
+ 00017795  0x00003e4d copy  0x00000007 , 0x0000003f 
+ 00017796  0x00003e4e beq  0x00000004 , 0x000045bc 
+ 00017797  0x00003e4f beq  0x00000005 , 0x000045bc 
+ 00017798  0x00003e53 call  0x0000458b 
+ 00017799  0x00003e54 beq  0x00000000 , 0x000045a9 
+ 00017800  0x00003e55 beq  0x00000002 , 0x000045af 
+ 00017801  0x00003e56 beq  0x00000003 , 0x000045a9 
+ 00017802  0x00003e57 rtn 
+ 00017803  0x00003e5a fetch  0x00000001 , 0x00004728 
+ 00017804  0x00003e5b fetcht  0x00000001 , 0x00004727 
+ 00017805  0x00003e5c ior  0x00000002 , 0x0000003f 
+ 00017806  0x00003e5d rtn 
+ 00017807  0x00003e61 jam  0x00000001 , 0x00004734 
+ 00017808  0x00003e62 branch  0x000045be 
+ 00017809  0x00003e64 jam  0x00000002 , 0x00004734 
+ 00017810  0x00003e65 branch  0x000045be 
+ 00017811  0x00003e67 jam  0x00000001 , 0x00004736 
+ 00017812  0x00003e68 branch  0x000045be 
+ 00017813  0x00003e6a jam  0x00000002 , 0x00004736 
+ 00017814  0x00003e6b branch  0x000045be 
+ 00017815  0x00003e6f jam  0x00000001 , 0x00004734 
+ 00017816  0x00003e70 jam  0x00000001 , 0x00004736 
+ 00017817  0x00003e71 branch  0x000045be 
+ 00017818  0x00003e73 jam  0x00000002 , 0x00004734 
+ 00017819  0x00003e74 jam  0x00000002 , 0x00004736 
+ 00017820  0x00003e75 branch  0x000045be 
+ 00017821  0x00003e77 jam  0x00000002 , 0x00004734 
+ 00017822  0x00003e78 jam  0x00000001 , 0x00004736 
+ 00017823  0x00003e79 branch  0x000045be 
+ 00017824  0x00003e7b jam  0x00000001 , 0x00004734 
+ 00017825  0x00003e7c jam  0x00000002 , 0x00004736 
+ 00017826  0x00003e7d branch  0x000045be 
+ 00017827  0x00003e81 jam  0x00000001 , 0x00004738 
+ 00017828  0x00003e82 branch  0x000045be 
+ 00017829  0x00003e84 jam  0x00000002 , 0x00004738 
+ 00017830  0x00003e85 branch  0x000045be 
+ 00017831  0x00003e88 jam  0x00000001 , 0x00004741 
+ 00017832  0x00003e89 branch  0x000045c0 
+ 00017833  0x00003e8c copy  0x00000007 , 0x0000003f 
+ 00017834  0x00003e8d beq  0x00000000 , 0x000045b5 
+ 00017835  0x00003e8e beq  0x00000001 , 0x000045b5 
+ 00017836  0x00003e8f beq  0x00000002 , 0x000045b7 
+ 00017837  0x00003e90 beq  0x00000003 , 0x000045b7 
+ 00017838  0x00003e91 rtn 
+ 00017839  0x00003e94 copy  0x00000007 , 0x0000003f 
+ 00017840  0x00003e95 beq  0x00000000 , 0x000045b9 
+ 00017841  0x00003e96 beq  0x00000001 , 0x000045b9 
+ 00017842  0x00003e97 beq  0x00000002 , 0x000045b9 
+ 00017843  0x00003e98 beq  0x00000003 , 0x000045b9 
+ 00017844  0x00003e99 rtn 
+ 00017845  0x00003e9d jam  0x00000000 , 0x00004734 
+ 00017846  0x00003e9e branch  0x000045be 
+ 00017847  0x00003ea1 jam  0x00000000 , 0x00004736 
+ 00017848  0x00003ea2 branch  0x000045be 
+ 00017849  0x00003ea8 jam  0x00000000 , 0x00004734 
+ 00017850  0x00003ea9 jam  0x00000000 , 0x00004736 
+ 00017851  0x00003eaa branch  0x000045be 
+ 00017852  0x00003eae jam  0x00000000 , 0x00004738 
+ 00017853  0x00003eaf branch  0x000045be 
+ 00017854  0x00003eb2 arg  0x0000472e , 0x00000011 
+ 00017855  0x00003eb3 branch  0x00007e3d 
+ 00017856  0x00003eb5 arg  0x0000473b , 0x00000011 
+ 00017857  0x00003eb6 branch  0x00007e3d 
+ 00017858  0x00003eb9 fetch  0x00000001 , 0x00004764 
+ 00017859  0x00003eba beq  0x00000001 , 0x000045cc 
+ 00017860  0x00003ebb arg  0x00004744 , 0x00000011 
+ 00017861  0x00003ebc call  0x00007e54 
+ 00017862  0x00003ebd nbranch  0x000045d1 , 0x00000028 
+ 00017863  0x00003ebf arg  0x00004744 , 0x00000006 
+ 00017864  0x00003ec0 ifetch  0x00000001 , 0x00000006 
+ 00017865  0x00003ec1 copy  0x0000003f , 0x00000011 
+ 00017866  0x00003ec2 arg  0x00004745 , 0x00000012 
+ 00017867  0x00003ec5 rtn 
+ 00017868  0x00003ec8 jam  0x00000000 , 0x00004764 
+ 00017869  0x00003ec9 enable  0x00000028 
+ 00017870  0x00003eca arg  0x00000001 , 0x00000011 
+ 00017871  0x00003ecb arg  0x00004766 , 0x00000012 
+ 00017872  0x00003ecc rtn 
+ 00017873  0x00003ecf fetch  0x00000001 , 0x00004747 
+ 00017874  0x00003ed0 beq  0x00000004 , 0x000045d5 
+ 00017875  0x00003ed1 beq  0x00000005 , 0x000045d5 
+ 00017876  0x00003ed2 rtn 
+ 00017877  0x00003ed4 fetch  0x00000001 , 0x0000474a 
+ 00017878  0x00003ed5 nbranch  0x000045dc , 0x00000034 
+ 00017879  0x00003ed6 fetch  0x00000001 , 0x0000474c 
+ 00017880  0x00003ed7 nbranch  0x000045dc , 0x00000034 
+ 00017881  0x00003ed8 fetch  0x00000001 , 0x0000474e 
+ 00017882  0x00003ed9 nbranch  0x000045dc , 0x00000034 
+ 00017883  0x00003eda rtn 
+ 00017884  0x00003edc enable  0x00000028 
+ 00017885  0x00003edd branch  0x000045c7 
+ 00017886  0x00003ee6 rtn  0x0000002b 
+ 00017887  0x00003ee7 hfetch  0x00000001 , 0x00008081 
+ 00017888  0x00003ee8 and_into  0x000000fc , 0x0000003f 
+ 00017889  0x00003ee9 hstore  0x00000001 , 0x00008081 
+ 00017890  0x00003eea setarg  0x000046b4 
+ 00017891  0x00003eeb store  0x00000002 , 0x000041eb 
+ 00017892  0x00003eed setarg  0x000046b3 
+ 00017893  0x00003eee store  0x00000002 , 0x000041ed 
+ 00017894  0x00003ef0 setarg  0x0000340a 
+ 00017895  0x00003ef1 store  0x00000002 , 0x000041f7 
+ 00017896  0x00003ef3 setarg  0x000046b1 
+ 00017897  0x00003ef4 store  0x00000002 , 0x000041f3 
+ 00017898  0x00003ef6 setarg  0x00004612 
+ 00017899  0x00003ef7 store  0x00000002 , 0x000041f5 
+ 00017900  0x00003ef9 setarg  0x0000460c 
+ 00017901  0x00003efa store  0x00000002 , 0x000041e9 
+ 00017902  0x00003efc setarg  0x0000476a 
+ 00017903  0x00003efd store  0x00000002 , 0x000041f9 
+ 00017904  0x00003eff setarg  0x00004686 
+ 00017905  0x00003f00 store  0x00000002 , 0x000041fd 
+ 00017906  0x00003f02 setarg  0x00004729 
+ 00017907  0x00003f03 store  0x00000002 , 0x000046e7 
+ 00017908  0x00003f05 setarg  0x00004806 
+ 00017909  0x00003f06 store  0x00000002 , 0x000046e2 
+ 00017910  0x00003f07 setarg  0x00004807 
+ 00017911  0x00003f08 store  0x00000002 , 0x000046e4 
+ 00017912  0x00003f0a call  0x000057a3 
+ 00017913  0x00003f0b call  0x000047da 
+ 00017914  0x00003f0c call  0x00004788 
+ 00017915  0x00003f0d call  0x0000476d 
+ 00017916  0x00003f0e call  0x00006948 
+ 00017917  0x00003f0f call  0x0000477a 
+ 00017918  0x00003f10 call  0x00007e38 
+ 00017919  0x00003f11 call  0x00007d08 
+ 00017920  0x00003f12 call  0x00004793 
+ 00017921  0x00003f13 call  0x000047c7 
+ 00017922  0x00003f15 bpatch  0x000000f5 , 0x0000401e 
+ 00017923  0x00003f16 call  0x0000464f 
+ 00017924  0x00003f17 fetch  0x00000001 , 0x000046dd 
+ 00017925  0x00003f18 beq  0x00000000 , 0x00004609 
+ 00017926  0x00003f19 fetch  0x00000001 , 0x000046de 
+ 00017927  0x00003f1a store  0x00000001 , 0x00004686 
+ 00017928  0x00003f1b branch  0x0000480e 
+ 00017929  0x00003f1f jam  0x000000ff , 0x00004686 
+ 00017930  0x00003f20 jam  0x00000001 , 0x000046df 
+ 00017931  0x00003f21 branch  0x000046d9 
+ 00017932  0x00003f26 fetch  0x00000001 , 0x000046df 
+ 00017933  0x00003f27 beq  0x00000002 , 0x000033d0 
+ 00017934  0x00003f28 call  0x0000527e 
+ 00017935  0x00003f29 fetch  0x00000001 , 0x00004256 
+ 00017936  0x00003f2a nbranch  0x000033d0 , 0x00000034 
+ 00017937  0x00003f2b branch  0x000033d2 
+ 00017938  0x00003f30 copy  0x00000013 , 0x0000003f 
+ 00017939  0x00003f32 beq  0x00000001 , 0x00004626 
+ 00017940  0x00003f33 beq  0x00000002 , 0x00004629 
+ 00017941  0x00003f34 beq  0x00000004 , 0x00004631 
+ 00017942  0x00003f35 beq  0x00000005 , 0x00004633 
+ 00017943  0x00003f36 beq  0x00000006 , 0x00004635 
+ 00017944  0x00003f37 beq  0x00000007 , 0x00004638 
+ 00017945  0x00003f38 beq  0x00000012 , 0x0000463c 
+ 00017946  0x00003f39 beq  0x00000013 , 0x00004644 
+ 00017947  0x00003f3a beq  0x00000027 , 0x00004645 
+ 00017948  0x00003f3b beq  0x0000002e , 0x00004648 
+ 00017949  0x00003f3c beq  0x0000003d , 0x00004649 
+ 00017950  0x00003f3e beq  0x00000014 , 0x00004658 
+ 00017951  0x00003f3f beq  0x00000015 , 0x0000465c 
+ 00017952  0x00003f40 beq  0x0000003f , 0x0000465f 
+ 00017953  0x00003f41 beq  0x00000040 , 0x00004665 
+ 00017954  0x00003f43 beq  0x00000010 , 0x0000466b 
+ 00017955  0x00003f44 beq  0x0000002c , 0x0000466c 
+ 00017956  0x00003f45 beq  0x0000002d , 0x00004677 
+ 00017957  0x00003f46 rtn 
+ 00017958  0x00003f4c jam  0x00000000 , 0x000046ad 
+ 00017959  0x00003f4d jam  0x00000000 , 0x000046ac 
+ 00017960  0x00003f4e rtn 
+ 00017961  0x00003f52 call  0x0000462b 
+ 00017962  0x00003f53 branch  0x00004631 
+ 00017963  0x00003f56 jam  0x00000000 , 0x000041e2 
+ 00017964  0x00003f57 jam  0x00000000 , 0x00004680 
+ 00017965  0x00003f58 jam  0x00000000 , 0x00004205 
+ 00017966  0x00003f59 jam  0x00000000 , 0x000046ac 
+ 00017967  0x00003f5a jam  0x00000000 , 0x000046ad 
+ 00017968  0x00003f5b branch  0x00007e38 
+ 00017969  0x00003f5f call  0x000033a9 
+ 00017970  0x00003f60 branch  0x000046c2 
+ 00017971  0x00003f64 call  0x000046b6 
+ 00017972  0x00003f65 branch  0x00003408 
+ 00017973  0x00003f69 setarg  0x00000002 
+ 00017974  0x00003f6a store  0x00000001 , 0x00004680 
+ 00017975  0x00003f6b rtn 
+ 00017976  0x00003f6f jam  0x00000000 , 0x000046ac 
+ 00017977  0x00003f70 setarg  0x00000001 
+ 00017978  0x00003f71 store  0x00000001 , 0x000046ad 
+ 00017979  0x00003f72 rtn 
+ 00017980  0x00003f76 fetch  0x00000001 , 0x000041e2 
+ 00017981  0x00003f77 rtneq  0x00000001 
+ 00017982  0x00003f78 jam  0x00000001 , 0x000041e2 
+ 00017983  0x00003f79 call  0x00003416 
+ 00017984  0x00003f7a call  0x00003414 
+ 00017985  0x00003f7b call  0x000046b6 
+ 00017986  0x00003f7c call  0x00003408 
+ 00017987  0x00003f7d branch  0x0000340e 
+ 00017988  0x00003f81 branch  0x00004631 
+ 00017989  0x00003f85 setarg  0x00000005 
+ 00017990  0x00003f86 store  0x00000001 , 0x000046ac 
+ 00017991  0x00003f87 rtn 
+ 00017992  0x00003f8b branch  0x000033cd 
+ 00017993  0x00003f90 arg  0x00000000 , 0x00000012 
+ 00017994  0x00003f91 fetch  0x00000001 , 0x00004217 
+ 00017995  0x00003f92 mul32  0x0000003f , 0x00000022 , 0x00000002 
+ 00017996  0x00003f93 fetch  0x00000002 , 0x00004215 
+ 00017997  0x00003f94 copy  0x0000003f , 0x00000011 
+ 00017998  0x00003f95 branch  0x00006606 
+ 00017999  0x00003f98 arg  0x00000000 , 0x00000012 
+ 00018000  0x00003f99 fetch  0x00000001 , 0x0000469a 
+ 00018001  0x00003f9a rtnbit0  0x00000001 
+ 00018002  0x00003f9b fetch  0x00000001 , 0x00004217 
+ 00018003  0x00003f9c rtn  0x00000034 
+ 00018004  0x00003f9d mul32  0x0000003f , 0x00000022 , 0x00000002 
+ 00018005  0x00003f9e fetch  0x00000002 , 0x00004215 
+ 00018006  0x00003f9f copy  0x0000003f , 0x00000011 
+ 00018007  0x00003fa0 branch  0x000065df 
+ 00018008  0x00003fa5 call  0x000046b6 
+ 00018009  0x00003fa6 setarg  0x00000000 
+ 00018010  0x00003fa7 store  0x00000002 , 0x000046b7 
+ 00018011  0x00003fa8 branch  0x00003408 
+ 00018012  0x00003fac call  0x00007e38 
+ 00018013  0x00003fad jam  0x00000000 , 0x000046b0 
+ 00018014  0x00003fae branch  0x000046d9 
+ 00018015  0x00003fb2 call  0x00007e38 
+ 00018016  0x00003fb3 jam  0x00000001 , 0x000046b0 
+ 00018017  0x00003fb4 fetch  0x00000008 , 0x000046c1 
+ 00018018  0x00003fb5 store  0x00000008 , 0x00004496 
+ 00018019  0x00003fb6 call  0x00003416 
+ 00018020  0x00003fb7 branch  0x00005abf 
+ 00018021  0x00003fbb fetch  0x00000002 , 0x00004509 
+ 00018022  0x00003fbc rtneq  0x00000000 
+ 00018023  0x00003fbd fetch  0x00000008 , 0x000046c9 
+ 00018024  0x00003fbe rtn  0x00000034 
+ 00018025  0x00003fbf store  0x00000008 , 0x00004496 
+ 00018026  0x00003fc0 branch  0x00005abf 
+ 00018027  0x00003fc5 branch  0x0000481f 
+ 00018028  0x00003fc8 fetch  0x00000001 , 0x000046dd 
+ 00018029  0x00003fc9 rtneq  0x00000000 
+ 00018030  0x00003fca fetch  0x00000001 , 0x000046df 
+ 00018031  0x00003fcb rtnne  0x00000001 
+ 00018032  0x00003fcc call  0x00004672 
+ 00018033  0x00003fcd branch  0x00003406 
+ 00018034  0x00003fd0 jam  0x00000001 , 0x000048df 
+ 00018035  0x00003fd1 arg  0x0000000b , 0x00000039 
+ 00018036  0x00003fd2 arg  0x000048e0 , 0x00000005 
+ 00018037  0x00003fd3 arg  0x000048c9 , 0x00000006 
+ 00018038  0x00003fd4 branch  0x00007f01 
+ 00018039  0x00003fd7 fetch  0x00000001 , 0x000046dd 
+ 00018040  0x00003fd8 rtneq  0x00000000 
+ 00018041  0x00003fd9 fetch  0x00000001 , 0x000046df 
+ 00018042  0x00003fda beq  0x00000001 , 0x0000467c 
+ 00018043  0x00003fdb branch  0x0000481b 
+ 00018044  0x00003fde fetch  0x00000001 , 0x000048df 
+ 00018045  0x00003fdf rtnne  0x00000001 
+ 00018046  0x00003fe0 jam  0x00000000 , 0x000048df 
+ 00018047  0x00003fe1 fetch  0x00000002 , 0x00004682 
+ 00018048  0x00003fe2 bbit1  0x00000000 , 0x00003408 
+ 00018049  0x00003fe3 bbit1  0x00000009 , 0x00003408 
+ 00018050  0x00003fe4 arg  0x0000000b , 0x00000039 
+ 00018051  0x00003fe5 arg  0x000048e0 , 0x00000006 
+ 00018052  0x00003fe6 arg  0x000048c9 , 0x00000005 
+ 00018053  0x00003fe7 branch  0x00007f01 
+ 00018054  0x00003fee call  0x0000468c 
+ 00018055  0x00003ff1 call  0x00004693 
+ 00018056  0x00003ff4 call  0x0000469e 
+ 00018057  0x00003ff5 call  0x000046a6 
+ 00018058  0x00003ff6 call  0x000046a9 
+ 00018059  0x00003ff9 branch  0x000046ac 
+ 00018060  0x00003ffe arg  0x000046db , 0x00000013 
+ 00018061  0x00003fff arg  0x0000468f , 0x00000012 
+ 00018062  0x00004000 branch  0x00003374 
+ 00018063  0x00004002 jam  0x00000002 , 0x000046df 
+ 00018064  0x00004003 call  0x00003408 
+ 00018065  0x00004004 call  0x000046f4 
+ 00018066  0x00004005 branch  0x0000480b 
+ 00018067  0x00004009 arg  0x000048ec , 0x00000013 
+ 00018068  0x0000400a arg  0x00004696 , 0x00000012 
+ 00018069  0x0000400b branch  0x0000336d 
+ 00018070  0x0000400e fetch  0x00000002 , 0x00004682 
+ 00018071  0x0000400f bbit1  0x00000009 , 0x0000480b 
+ 00018072  0x00004010 bbit1  0x00000000 , 0x0000480b 
+ 00018073  0x00004011 fetch  0x00000001 , 0x000048c9 
+ 00018074  0x00004012 beq  0x00000001 , 0x0000480b 
+ 00018075  0x00004013 beq  0x00000004 , 0x0000480b 
+ 00018076  0x00004014 beq  0x00000005 , 0x0000480b 
+ 00018077  0x00004015 branch  0x0000340a 
+ 00018078  0x0000401a arg  0x000046ac , 0x00000013 
+ 00018079  0x0000401b arg  0x000046a1 , 0x00000012 
+ 00018080  0x0000401c branch  0x0000336d 
+ 00018081  0x0000401f fetch  0x00000001 , 0x0000027f 
+ 00018082  0x00004020 set1  0x00000000 , 0x0000003f 
+ 00018083  0x00004021 set1  0x00000007 , 0x0000003f 
+ 00018084  0x00004022 store  0x00000001 , 0x0000027f 
+ 00018085  0x00004023 rtn 
+ 00018086  0x00004026 arg  0x00004680 , 0x00000013 
+ 00018087  0x00004027 arg  0x0000463c , 0x00000012 
+ 00018088  0x00004028 branch  0x0000336d 
+ 00018089  0x0000402b arg  0x000046ad , 0x00000013 
+ 00018090  0x0000402c arg  0x000033e9 , 0x00000012 
+ 00018091  0x0000402d branch  0x0000336d 
+ 00018092  0x00004033 fetch  0x00000001 , 0x000046df 
+ 00018093  0x00004034 rtnne  0x00000001 
+ 00018094  0x00004035 arg  0x000046b7 , 0x00000013 
+ 00018095  0x00004036 arg  0x000046c2 , 0x00000012 
+ 00018096  0x00004037 branch  0x00003374 
+ 00018097  0x0000403b call  0x0000473a 
+ 00018098  0x0000403c branch  0x00006978 
+ 00018099  0x00004040 branch  0x0000696c 
+ 00018100  0x00004043 call  0x00006835 
+ 00018101  0x00004044 branch  0x000046b3 
+ 00018102  0x0000404b fetch  0x00000001 , 0x0000469a 
+ 00018103  0x0000404c bbit1  0x00000001 , 0x000046be 
+ 00018104  0x0000404d bbit1  0x00000000 , 0x000046ba 
+ 00018105  0x0000404e rtn 
+ 00018106  0x00004051 fetch  0x00000002 , 0x000046d7 
+ 00018107  0x00004052 store  0x00000002 , 0x000046d9 
+ 00018108  0x00004053 store  0x00000002 , 0x000046db 
+ 00018109  0x00004054 branch  0x000033f8 
+ 00018110  0x00004057 fetch  0x00000002 , 0x000046d3 
+ 00018111  0x00004058 store  0x00000002 , 0x000046d9 
+ 00018112  0x00004059 store  0x00000002 , 0x000046db 
+ 00018113  0x0000405a branch  0x000033f0 
+ 00018114  0x0000405d fetch  0x00000001 , 0x000046df 
+ 00018115  0x0000405e rtnne  0x00000001 
+ 00018116  0x0000405f fetch  0x00000001 , 0x0000469a 
+ 00018117  0x00004060 bbit1  0x00000001 , 0x000046c8 
+ 00018118  0x00004061 bbit1  0x00000000 , 0x000046cc 
+ 00018119  0x00004062 rtn 
+ 00018120  0x00004065 fetch  0x00000002 , 0x000046d1 ,
+ 00018121  0x00004066 store  0x00000002 , 0x000046d9 
+ 00018122  0x00004067 store  0x00000002 , 0x000046db 
+ 00018123  0x00004068 branch  0x000033eb 
+ 00018124  0x0000406b fetch  0x00000002 , 0x00004682 
+ 00018125  0x0000406c rtnbit1  0x00000009 
+ 00018126  0x0000406d fetch  0x00000002 , 0x000046d5 
+ 00018127  0x0000406e store  0x00000002 , 0x000046d9 
+ 00018128  0x0000406f store  0x00000002 , 0x000046db 
+ 00018129  0x00004070 fetch  0x00000002 , 0x000046b3 
+ 00018130  0x00004071 call  0x000046f0 
+ 00018131  0x00004072 call  0x00003404 
+ 00018132  0x00004073 fetch  0x00000004 , 0x000046bd 
+ 00018133  0x00004074 store  0x00000004 , 0x000048cc 
+ 00018134  0x00004075 fetch  0x00000002 , 0x00004682 
+ 00018135  0x00004076 rtnbit1  0x0000000b 
+ 00018136  0x00004077 branch  0x000033fa 
+ 00018137  0x0000407b fetch  0x00000001 , 0x000046df 
+ 00018138  0x0000407c rtnne  0x00000001 
+ 00018139  0x0000407d fetch  0x00000001 , 0x0000469a 
+ 00018140  0x0000407e bbit1  0x00000001 , 0x000046df 
+ 00018141  0x0000407f bbit1  0x00000000 , 0x000046e4 
+ 00018142  0x00004080 rtn 
+ 00018143  0x00004083 call  0x000046f8 
+ 00018144  0x00004084 branch  0x000046c2 , 0x00000034 
+ 00018145  0x00004085 call  0x00003406 
+ 00018146  0x00004086 call  0x000033f0 
+ 00018147  0x00004087 branch  0x000033e1 
+ 00018148  0x0000408a fetch  0x00000002 , 0x000046b7 
+ 00018149  0x0000408b fetcht  0x00000002 , 0x000046b5 
+ 00018150  0x0000408c storet  0x00000002 , 0x000046b7 
+ 00018151  0x0000408d nrtn  0x00000034 
+ 00018152  0x0000408e fetch  0x00000002 , 0x000046b1 
+ 00018153  0x0000408f call  0x000046f0 
+ 00018154  0x00004090 call  0x00003404 
+ 00018155  0x00004091 fetch  0x00000004 , 0x000046b9 
+ 00018156  0x00004092 store  0x00000004 , 0x000048cc 
+ 00018157  0x00004093 fetch  0x00000002 , 0x00004682 
+ 00018158  0x00004094 rtnbit1  0x0000000b 
+ 00018159  0x00004095 branch  0x000033fa 
+ 00018160  0x00004099 store  0x00000002 , 0x00004154 
+ 00018161  0x0000409a increase  0xfffffffc , 0x0000003f 
+ 00018162  0x0000409b store  0x00000002 , 0x00004482 
+ 00018163  0x0000409c rtn 
+ 00018164  0x000040a0 fetch  0x00000002 , 0x00004682 
+ 00018165  0x000040a1 bbit1  0x00000009 , 0x00003402 
+ 00018166  0x000040a2 bbit1  0x00000000 , 0x000033e9 
+ 00018167  0x000040a3 branch  0x000046b6 
+ 00018168  0x000040a8 fetch  0x00000001 , 0x00004217 
+ 00018169  0x000040a9 copy  0x0000003f , 0x00000039 
+ 00018170  0x000040aa fetch  0x00000002 , 0x00004215 
+ 00018171  0x000040ab copy  0x0000003f , 0x00000011 
+ 00018172  0x000040ad ifetch  0x00000002 , 0x00000011 
+ 00018173  0x000040ae beq  0x00000000 , 0x00004701 
+ 00018174  0x000040af increase  0x00000022 , 0x00000011 
+ 00018175  0x000040b0 loop  0x000046fc 
+ 00018176  0x000040b1 branch  0x00007ff1 
+ 00018177  0x000040b4 ifetch  0x00000006 , 0x00000006 
+ 00018178  0x000040b5 store  0x00000006 , 0x000041d0 
+ 00018179  0x000040b6 increase  0x0000000a , 0x00000006 
+ 00018180  0x000040b7 arg  0x000041be , 0x00000005 
+ 00018181  0x000040b8 call  0x00007ebf 
+ 00018182  0x000040b9 call  0x000067d7 
+ 00018183  0x000040ba branch  0x00007fef 
+ 00018184  0x000040c1 call  0x00007fe9 
+ 00018185  0x000040c2 fetch  0x00000002 , 0x00004682 
+ 00018186  0x000040c3 bbit1  0x00000000 , 0x0000470d 
+ 00018187  0x000040c4 bbit1  0x00000009 , 0x00004710 
+ 00018188  0x000040c5 rtn 
+ 00018189  0x000040c8 fetch  0x00000001 , 0x00004253 
+ 00018190  0x000040c9 rtnne  0x0000003f 
+ 00018191  0x000040ca branch  0x00007fe7 
+ 00018192  0x000040cd fetch  0x00000001 , 0x000046b0 
+ 00018193  0x000040ce rtn  0x00000034 
+ 00018194  0x000040cf branch  0x00007fe7 
+ 00018195  0x000040d5 call  0x00007fe9 
+ 00018196  0x000040d6 fetch  0x00000002 , 0x00004682 
+ 00018197  0x000040d7 rtnbit1  0x00000000 
+ 00018198  0x000040d8 rtnbit1  0x00000009 
+ 00018199  0x000040d9 branch  0x00007fe7 
+ 00018200  0x000040de fetch  0x00000001 , 0x0000469a 
+ 00018201  0x000040df bbit1  0x00000001 , 0x0000471c 
+ 00018202  0x000040e0 bbit1  0x00000000 , 0x0000471f 
+ 00018203  0x000040e1 rtn 
+ 00018204  0x000040e4 fetch  0x00000001 , 0x00004093 
+ 00018205  0x000040e5 rtnne  0x00000003 
+ 00018206  0x000040e6 branch  0x000046d9 
+ 00018207  0x000040e9 branch  0x000046d9 
+ 00018208  0x000040ed disable  0x0000002c 
+ 00018209  0x000040ee fetch  0x00000002 , 0x000046d9 
+ 00018210  0x000040ef store  0x00000002 , 0x000046db 
+ 00018211  0x000040f1 call  0x00004713 
+ 00018212  0x000040f2 branch  0x00004718 , 0x00000028 
+ 00018213  0x000040f4 call  0x00004708 
+ 00018214  0x000040f5 nrtn  0x00000028 
+ 00018215  0x000040f6 enable  0x0000002c 
+ 00018216  0x000040f7 rtn 
+ 00018217  0x000040fc call  0x00004720 
+ 00018218  0x000040fd nrtn  0x0000002c 
+ 00018219  0x000040fe deposit  0x00000011 
+ 00018220  0x000040ff branch  0x00004730 , 0x00000034 
+ 00018221  0x00004101 call  0x00003406 
+ 00018222  0x00004102 arg  0x000046f1 , 0x00000013 
+ 00018223  0x00004103 branch  0x00004732 
+ 00018224  0x00004106 call  0x00003408 
+ 00018225  0x00004107 arg  0x00004719 , 0x00000013 
+ 00018226  0x0000410a arg  0x00000005 , 0x0000003f 
+ 00018227  0x0000410b imul32  0x00000007 , 0x0000003f 
+ 00018228  0x0000410c iadd  0x00000013 , 0x00000013 
+ 00018229  0x00004110 ifetch  0x00000001 , 0x00000013 
+ 00018230  0x00004111 rtn  0x00000034 
+ 00018231  0x00004112 call  0x00004762 
+ 00018232  0x00004113 increase  0x00000001 , 0x00000013 
+ 00018233  0x00004114 branch  0x00004735 
+ 00018234  0x00004118 fetch  0x00000002 , 0x00004682 
+ 00018235  0x00004119 bbit1  0x00000009 , 0x0000473e 
+ 00018236  0x0000411a bbit1  0x00000000 , 0x0000474e 
+ 00018237  0x0000411b rtn 
+ 00018238  0x0000411e call  0x00005892 
+ 00018239  0x0000411f nrtn  0x00000034 
+ 00018240  0x00004120 call  0x00004765 
+ 00018241  0x00004121 nrtn  0x00000028 
+ 00018242  0x00004122 pincrease  0xffffffff 
+ 00018243  0x00004123 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00018244  0x00004124 arg  0x00004741 , 0x00000002 
+ 00018245  0x00004125 iadd  0x00000002 , 0x00000006 
+ 00018246  0x00004127 ifetch  0x00000001 , 0x00000006 
+ 00018247  0x00004128 copy  0x0000003f , 0x00000011 
+ 00018248  0x00004129 ifetcht  0x00000002 , 0x00000006 
+ 00018249  0x0000412a call  0x00007ea5 
+ 00018250  0x0000412b call  0x00005a64 
+ 00018251  0x0000412c copy  0x00000011 , 0x00000039 
+ 00018252  0x0000412d call  0x00007e9f 
+ 00018253  0x0000412e branch  0x00007f01 
+ 00018254  0x00004132 call  0x00005271 
+ 00018255  0x00004133 nrtn  0x00000034 
+ 00018256  0x00004134 call  0x00004765 
+ 00018257  0x00004135 nrtn  0x00000028 
+ 00018258  0x00004136 pincrease  0xffffffff 
+ 00018259  0x00004137 mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00018260  0x00004138 arg  0x000047a0 , 0x00000002 
+ 00018261  0x00004139 iadd  0x00000002 , 0x00000006 
+ 00018262  0x0000413a ifetch  0x00000005 , 0x00000006 
+ 00018263  0x0000413b store  0x00000005 , 0x0000479b 
+ 00018264  0x0000413d fetch  0x00000001 , 0x0000479b 
+ 00018265  0x0000413e copy  0x0000003f , 0x00000011 
+ 00018266  0x0000413f call  0x00004d63 
+ 00018267  0x00004140 fetch  0x00000002 , 0x0000424e 
+ 00018268  0x00004141 istore  0x00000002 , 0x00000005 
+ 00018269  0x00004142 setarg  0x000000a1 
+ 00018270  0x00004143 istore  0x00000001 , 0x00000005 
+ 00018271  0x00004144 fetch  0x00000004 , 0x0000479c 
+ 00018272  0x00004145 istore  0x00000009 , 0x00000005 
+ 00018273  0x00004146 rtn 
+ 00018274  0x0000414b store  0x00000001 , 0x00000a9a 
+ 00018275  0x0000414c arg  0x00000a9a , 0x00000011 
+ 00018276  0x0000414d branch  0x00007e3d 
+ 00018277  0x00004150 arg  0x00000a9a , 0x00000011 
+ 00018278  0x00004151 call  0x00007e54 
+ 00018279  0x00004152 nrtn  0x00000028 
+ 00018280  0x00004153 fetch  0x00000001 , 0x00000a9a 
+ 00018281  0x00004154 rtn 
+ 00018282  0x00004158 fetch  0x00000002 , 0x00000478 
+ 00018283  0x00004159 beq  0x00000018 , 0x0000465f 
+ 00018284  0x0000415a rtn 
+ 00018285  0x0000415d setarg  0x00000002 
+ 00018286  0x0000415e store  0x00000001 , 0x000048eb 
+ 00018287  0x00004160 setarg  0x00200008 
+ 00018288  0x00004161 store  0x00000004 , 0x000046c1 
+ 00018289  0x00004162 setarg  0x012c0005 
+ 00018290  0x00004163 istore  0x00000004 , 0x00000005 
+ 00018291  0x00004166 jam  0x00000017 , 0x000044a6 
+ 00018292  0x00004169 setarg  0x0000001b 
+ 00018293  0x0000416a store  0x00000002 , 0x000044fa 
+ 00018294  0x0000416b call  0x00005810 
+ 00018295  0x0000416c call  0x0000582c 
+ 00018296  0x0000416d call  0x00005839 
+ 00018297  0x0000416e branch  0x00005818 
+ 00018298  0x00004173 arg  0x00000028 , 0x00000039 
+ 00018299  0x00004174 arg  0x00004741 , 0x00000005 
+ 00018300  0x00004175 arg  0x0000949f , 0x00000006 
+ 00018301  0x00004176 call  0x00007ef4 
+ 00018302  0x00004177 arg  0x00000028 , 0x00000039 
+ 00018303  0x00004178 arg  0x000047a0 , 0x00000005 
+ 00018304  0x00004179 arg  0x000094c7 , 0x00000006 
+ 00018305  0x0000417a branch  0x00007ef4 
+ 00018306  0x0000417e arg  0x0000017e , 0x00000039 
+ 00018307  0x0000417f arg  0x0000913a , 0x00000006 
+ 00018308  0x00004180 branch  0x00007ef4 
+ 00018309  0x00004184 arg  0x000001e7 , 0x00000039 
+ 00018310  0x00004185 arg  0x000092b8 , 0x00000006 
+ 00018311  0x00004186 branch  0x00007ef4 
+ 00018312  0x0000418b call  0x000047ae 
+ 00018313  0x0000418c nrtn  0x00000028 
+ 00018314  0x0000418d fetch  0x00000001 , 0x0000469f 
+ 00018315  0x0000418e call  0x00004790 
+ 00018316  0x0000418f fetch  0x00000001 , 0x000046a0 
+ 00018317  0x00004190 call  0x00004790 
+ 00018318  0x00004191 fetch  0x00000001 , 0x000046a1 
+ 00018319  0x00004192 branch  0x00004790 
+ 00018320  0x00004195 rtn  0x00000034 
+ 00018321  0x00004196 or  0x0000003f , 0x00000080 , 0x00000002 
+ 00018322  0x00004197 branch  0x000067f9 
+ 00018323  0x0000419b call  0x000047ae 
+ 00018324  0x0000419c nrtn  0x00000028 
+ 00018325  0x0000419d call  0x00004797 
+ 00018326  0x0000419e branch  0x000047b4 
+ 00018327  0x000041a1 arg  0x00000000 , 0x00000011 
+ 00018328  0x000041a2 fetch  0x00000001 , 0x0000469f 
+ 00018329  0x000041a3 call  0x000047a9 
+ 00018330  0x000041a4 nsetflag  0x00000034 , 0x00000000 , 0x00000011 
+ 00018331  0x000041a5 fetch  0x00000001 , 0x000046a0 
+ 00018332  0x000041a6 call  0x000047a9 
+ 00018333  0x000041a7 nsetflag  0x00000034 , 0x00000001 , 0x00000011 
+ 00018334  0x000041a8 fetch  0x00000001 , 0x000046a1 
+ 00018335  0x000041a9 call  0x000047a9 
+ 00018336  0x000041aa nsetflag  0x00000034 , 0x00000002 , 0x00000011 
+ 00018337  0x000041ab copy  0x00000011 , 0x0000003f 
+ 00018338  0x000041ac store  0x00000001 , 0x000046a9 
+ 00018339  0x000041ad fetch  0x00000001 , 0x0000469e 
+ 00018340  0x000041ae imul32  0x00000011 , 0x0000003f 
+ 00018341  0x000041af fetcht  0x00000002 , 0x0000469c 
+ 00018342  0x000041b0 iadd  0x00000002 , 0x0000003f 
+ 00018343  0x000041b1 store  0x00000002 , 0x000046aa 
+ 00018344  0x000041b2 rtn 
+ 00018345  0x000041b5 rtn  0x00000034 
+ 00018346  0x000041b6 or  0x0000003f , 0x00000080 , 0x00000002 
+ 00018347  0x000041b7 call  0x0000681d 
+ 00018348  0x000041b8 nbranch  0x00007ff1 , 0x00000001 
+ 00018349  0x000041b9 branch  0x00007fef 
+ 00018350  0x000041bd call  0x00007fe9 
+ 00018351  0x000041be fetch  0x00000001 , 0x000046a8 
+ 00018352  0x000041bf nrtn  0x00000034 
+ 00018353  0x000041c0 fetch  0x00000001 , 0x0000469b 
+ 00018354  0x000041c1 rtn  0x00000034 
+ 00018355  0x000041c2 branch  0x00007fe7 
+ 00018356  0x000041c6 call  0x0000666a 
+ 00018357  0x000041c7 fetch  0x00000002 , 0x000046aa 
+ 00018358  0x000041c8 arg  0x00000ac2 , 0x00000011 
+ 00018359  0x000041c9 fetcht  0x00000001 , 0x0000469e 
+ 00018360  0x000041ca call  0x000066b3 
+ 00018361  0x000041cb call  0x0000666d 
+ 00018362  0x000041cd fetch  0x00000001 , 0x00000ac2 
+ 00018363  0x000041ce copy  0x0000003f , 0x00000039 
+ 00018364  0x000041cf store  0x00000001 , 0x000043af 
+ 00018365  0x000041d0 call  0x00007ef4 
+ 00018366  0x000041d1 fetch  0x00000001 , 0x00000ac2 
+ 00018367  0x000041d2 copy  0x0000003f , 0x00000039 
+ 00018368  0x000041d3 store  0x00000001 , 0x00004515 
+ 00018369  0x000041d4 call  0x00007ef4 
+ 00018370  0x000041d5 ifetch  0x00000001 , 0x00000006 
+ 00018371  0x000041d6 store  0x00000001 , 0x000046e6 
+ 00018372  0x000041d7 ifetch  0x00000001 , 0x00000006 
+ 00018373  0x000041d8 store  0x00000001 , 0x000046dd 
+ 00018374  0x000041d9 rtn 
+ 00018375  0x000041dd fetch  0x00000001 , 0x0000469a 
+ 00018376  0x000041de rtnbit0  0x00000001 
+ 00018377  0x000041df arg  0x00000003 , 0x00000002 
+ 00018378  0x000041e0 fetch  0x00000002 , 0x000046a4 
+ 00018379  0x000041e1 copy  0x0000003f , 0x00000012 
+ 00018380  0x000041e2 arg  0x000046a6 , 0x00000011 
+ 00018381  0x000041e3 call  0x000065df 
+ 00018382  0x000041e4 fetcht  0x00000002 , 0x000046a6 
+ 00018383  0x000041e5 setarg  0x00001b3a 
+ 00018384  0x000041e6 isub  0x00000002 , 0x0000003e 
+ 00018385  0x000041e7 nrtn  0x00000005 
+ 00018386  0x000041e8 fetch  0x00000001 , 0x000046a8 
+ 00018387  0x000041e9 rtn  0x00000034 
+ 00018388  0x000041ea copy  0x0000003f , 0x00000002 
+ 00018389  0x000041eb fetch  0x00000002 , 0x000046a4 
+ 00018390  0x000041ec add  0x0000003f , 0x00000003 , 0x00000012 
+ 00018391  0x000041ed arg  0x00000ac2 , 0x00000011 
+ 00018392  0x000041ee call  0x000065df 
+ 00018393  0x000041ef branch  0x000047e8 
+ 00018394  0x000041f2 fetch  0x00000002 , 0x000046a2 
+ 00018395  0x000041f3 rtn  0x00000034 
+ 00018396  0x000041f4 call  0x0000666a 
+ 00018397  0x000041f5 arg  0x00000001 , 0x00000002 
+ 00018398  0x000041f6 arg  0x000046a8 , 0x00000011 
+ 00018399  0x000041f7 call  0x000066b3 
+ 00018400  0x000041f9 fetch  0x00000001 , 0x000046a8 
+ 00018401  0x000041fa rtn  0x00000034 
+ 00018402  0x000041fc fetch  0x00000002 , 0x000046a2 
+ 00018403  0x000041fd pincrease  0x00000001 
+ 00018404  0x000041fe arg  0x00000ac2 , 0x00000011 
+ 00018405  0x000041ff fetcht  0x00000001 , 0x000046a8 
+ 00018406  0x00004200 call  0x000066b3 
+ 00018407  0x00004201 call  0x0000666d 
+ 00018408  0x00004203 call  0x000047ba 
+ 00018409  0x00004205 ifetch  0x00000002 , 0x00000006 
+ 00018410  0x00004206 rtn  0x00000034 
+ 00018411  0x00004207 copy  0x0000003f , 0x00000005 
+ 00018412  0x00004208 ifetcht  0x00000001 , 0x00000006 
+ 00018413  0x00004209 copy  0x00000002 , 0x00000039 
+ 00018414  0x0000420a call  0x00007f01 
+ 00018415  0x0000420b branch  0x000047e9 
+ 00018416  0x00004210 fetch  0x00000001 , 0x0000469a 
+ 00018417  0x00004211 rtnbit0  0x00000001 
+ 00018418  0x00004212 fetch  0x00000002 , 0x000046ae 
+ 00018419  0x00004213 copy  0x0000003f , 0x00000012 
+ 00018420  0x00004214 arg  0x00000004 , 0x00000002 
+ 00018421  0x00004215 arg  0x00000ac2 , 0x00000011 
+ 00018422  0x00004216 call  0x000065df 
+ 00018423  0x00004217 fetch  0x00000001 , 0x00000ac2 
+ 00018424  0x00004218 bne  0x00000001 , 0x000047f9 
+ 00018425  0x0000421a setarg  0x00000001 
+ 00018426  0x0000421b store  0x00000001 , 0x00000ac2 
+ 00018427  0x0000421c force  0x00000003 , 0x00000039 
+ 00018428  0x0000421d call  0x0000630d 
+ 00018429  0x0000421e fetch  0x00000002 , 0x000046ae 
+ 00018430  0x0000421f copy  0x0000003f , 0x00000012 
+ 00018431  0x00004220 arg  0x00000004 , 0x00000002 
+ 00018432  0x00004221 arg  0x00000ac2 , 0x00000011 
+ 00018433  0x00004222 call  0x00006606 
+ 00018434  0x00004224 fetch  0x00000003 , 0x00000ac3 
+ 00018435  0x00004225 store  0x00000003 , 0x000040a0 
+ 00018436  0x00004226 store  0x00000003 , 0x000044a0 
+ 00018437  0x00004227 rtn 
+ 00018438  0x0000422b branch  0x000046d9 
+ 00018439  0x0000422f arg  0x00000000 , 0x00000011 
+ 00018440  0x00004230 arg  0x000048d4 , 0x00000013 
+ 00018441  0x00004231 call  0x00007d24 
+ 00018442  0x00004232 call  0x000046f4 
+ 00018443  0x00004234 fetch  0x00000001 , 0x000048eb 
+ 00018444  0x00004235 store  0x00000001 , 0x000048ec 
+ 00018445  0x00004236 rtn 
+ 00018446  0x0000423b setarg  0x00000000 
+ 00018447  0x0000423c call  0x00004816 
+ 00018448  0x0000423d jam  0x00000001 , 0x00004679 
+ 00018449  0x0000423e call  0x00007cd3 
+ 00018450  0x0000423f call  0x00007cdd 
+ 00018451  0x00004240 fetch  0x00000002 , 0x00004682 
+ 00018452  0x00004241 rtnbit1  0x0000000c 
+ 00018453  0x00004242 branch  0x0000340a 
+ 00018454  0x00004245 fetcht  0x00000002 , 0x0000423f 
+ 00018455  0x00004246 istore  0x00000001 , 0x00000002 
+ 00018456  0x00004247 ifetch  0x00000001 , 0x00000005 
+ 00018457  0x00004248 store  0x00000001 , 0x00004685 
+ 00018458  0x00004249 rtn 
+ 00018459  0x0000424d fetch  0x00000002 , 0x0000423f 
+ 00018460  0x0000424e ifetch  0x00000001 , 0x0000003f 
+ 00018461  0x0000424f rtnne  0x00000000 
+ 00018462  0x00004250 branch  0x0000340a 
+ 00018463  0x00004254 fetcht  0x00000002 , 0x0000423f 
+ 00018464  0x00004255 ifetch  0x00000001 , 0x00000002 
+ 00018465  0x00004256 beq  0x00000001 , 0x0000482a 
+ 00018466  0x00004258 setarg  0x00000001 
+ 00018467  0x00004259 fetcht  0x00000002 , 0x0000423f 
+ 00018468  0x0000425a istore  0x00000001 , 0x00000002 
+ 00018469  0x0000425b add  0x00000002 , 0x00000002 , 0x00000006 
+ 00018470  0x0000425c ifetch  0x00000001 , 0x00000006 
+ 00018471  0x0000425d istore  0x00000001 , 0x00004685 
+ 00018472  0x0000425e ifetch  0x00000002 , 0x00000006 
+ 00018473  0x0000425f branch  0x00007f9c 
+ 00018474  0x00004262 setarg  0x00000002 
+ 00018475  0x00004263 call  0x00004816 
+ 00018476  0x00004264 add  0x00000002 , 0x00000005 , 0x00000006 
+ 00018477  0x00004265 ifetch  0x00000002 , 0x00000006 
+ 00018478  0x00004266 branch  0x0000340a , 0x00000034 
+ 00018479  0x00004267 branch  0x00007f9c 
+ 00018480  0x0000426e store  0x00000006 , 0x00000101 
+ 00018481  0x0000426f fetch  0x00000001 , 0x00000101 
+ 00018482  0x00004270 store  0x00000001 , 0x0000010c 
+ 00018483  0x00004271 ifetch  0x00000001 , 0x00000006 
+ 00018484  0x00004272 store  0x00000001 , 0x0000010b 
+ 00018485  0x00004273 ifetch  0x00000001 , 0x00000006 
+ 00018486  0x00004274 store  0x00000001 , 0x0000010a 
+ 00018487  0x00004275 ifetch  0x00000001 , 0x00000006 
+ 00018488  0x00004276 store  0x00000001 , 0x00000109 
+ 00018489  0x00004277 ifetch  0x00000001 , 0x00000006 
+ 00018490  0x00004278 store  0x00000001 , 0x00000108 
+ 00018491  0x00004279 ifetch  0x00000001 , 0x00000006 
+ 00018492  0x0000427a store  0x00000001 , 0x00000107 
+ 00018493  0x0000427b fetch  0x00000006 , 0x00000107 
+ 00018494  0x0000427c rtn 
+ 00018495  0x0000427f call  0x000068a2 
+ 00018496  0x00004280 fetch  0x00000001 , 0x00004223 
+ 00018497  0x00004281 store  0x00000001 , 0x000044a0 
+ 00018498  0x00004282 fetch  0x00000001 , 0x00004225 
+ 00018499  0x00004283 istore  0x00000001 , 0x00000005 
+ 00018500  0x00004284 fetch  0x00000001 , 0x00004227 
+ 00018501  0x00004285 istore  0x00000001 , 0x00000005 
+ 00018502  0x00004286 fetch  0x00000003 , 0x000044a0 
+ 00018503  0x00004287 store  0x00000003 , 0x000040a0 
+ 00018504  0x00004288 rtn 
+ 00018505  0x00004295 fetch  0x00000002 , 0x00004203 
+ 00018506  0x00004296 iadd  0x00000012 , 0x0000003f 
+ 00018507  0x00004297 byteswap  0x0000003f , 0x0000003f 
+ 00018508  0x00004298 store  0x00000002 , 0x000001f7 
+ 00018509  0x00004299 copy  0x00000002 , 0x00000012 
+ 00018510  0x0000429b call  0x0000489b 
+ 00018511  0x0000429c setarg  0x000000a0 
+ 00018512  0x0000429d call  0x0000488d 
+ 00018513  0x0000429e fetch  0x00000001 , 0x000001f7 
+ 00018514  0x0000429f call  0x0000488d 
+ 00018515  0x000042a0 bmark1  0x00000028 , 0x00004856 
+ 00018516  0x000042a1 fetch  0x00000001 , 0x000001f8 
+ 00018517  0x000042a2 call  0x0000488d 
+ 00018518  0x000042a4 call  0x000048a1 
+ 00018519  0x000042a6 call  0x0000489b 
+ 00018520  0x000042a7 setarg  0x000000a1 
+ 00018521  0x000042a8 call  0x0000488d 
+ 00018522  0x000042ab call  0x0000487f 
+ 00018523  0x000042ac istore  0x00000001 , 0x00000011 
+ 00018524  0x000042ad increase  0x00000001 , 0x00000011 
+ 00018525  0x000042ae increase  0xffffffff , 0x00000012 
+ 00018526  0x000042af nbranch  0x0000485a , 0x00000005 
+ 00018527  0x000042b0 branch  0x000048a1 
+ 00018528  0x000042bc byteswap  0x00000012 , 0x0000003f 
+ 00018529  0x000042bd store  0x00000002 , 0x000001f7 
+ 00018530  0x000042be copy  0x00000002 , 0x00000012 
+ 00018531  0x000042c0 call  0x0000489b 
+ 00018532  0x000042c1 setarg  0x000000a0 
+ 00018533  0x000042c2 call  0x0000488d 
+ 00018534  0x000042c4 fetch  0x00000001 , 0x000001f7 
+ 00018535  0x000042c5 call  0x0000488d 
+ 00018536  0x000042c6 bmark1  0x00000028 , 0x0000486b 
+ 00018537  0x000042c7 fetch  0x00000001 , 0x000001f8 
+ 00018538  0x000042c8 call  0x0000488d 
+ 00018539  0x000042ca ifetch  0x00000001 , 0x00000011 
+ 00018540  0x000042cb call  0x0000488d 
+ 00018541  0x000042cc increase  0x00000001 , 0x00000011 
+ 00018542  0x000042cd increase  0xffffffff , 0x00000012 
+ 00018543  0x000042ce nbranch  0x0000486b , 0x00000005 
+ 00018544  0x000042cf branch  0x000048a1 
+ 00018545  0x000042d4 arg  0x0000000a , 0x00000039 
+ 00018546  0x000042d5 call  0x000048be 
+ 00018547  0x000042d6 call  0x000048a6 
+ 00018548  0x000042d7 call  0x000048d2 
+ 00018549  0x000042d9 call  0x000048c7 
+ 00018550  0x000042da branch  0x000048a9 , 0x00000034 
+ 00018551  0x000042db loop  0x00004875 
+ 00018552  0x000042dc branch  0x000048a9 
+ 00018553  0x000042e1 call  0x000048a9 
+ 00018554  0x000042e2 call  0x000048af 
+ 00018555  0x000042e3 call  0x000048d2 
+ 00018556  0x000042e4 call  0x000048a6 
+ 00018557  0x000042e5 call  0x000048d2 
+ 00018558  0x000042e6 branch  0x000048a9 
+ 00018559  0x000042ec arg  0x00000008 , 0x00000039 
+ 00018560  0x000042ed arg  0x00000000 , 0x00000013 
+ 00018561  0x000042ee call  0x000048be 
+ 00018562  0x000042f0 call  0x000048a6 
+ 00018563  0x000042f1 call  0x000048d2 
+ 00018564  0x000042f2 lshift  0x00000013 , 0x00000013 
+ 00018565  0x000042f3 call  0x000048c7 
+ 00018566  0x000042f4 iadd  0x00000013 , 0x00000013 
+ 00018567  0x000042f5 call  0x000048d2 
+ 00018568  0x000042f6 call  0x000048a9 
+ 00018569  0x000042f7 loop  0x00004882 
+ 00018570  0x000042f8 call  0x00004879 
+ 00018571  0x000042f9 copy  0x00000013 , 0x0000003f 
+ 00018572  0x000042fa rtn 
+ 00018573  0x000042ff arg  0x00000008 , 0x00000039 
+ 00018574  0x00004300 copy  0x0000003f , 0x00000013 
+ 00018575  0x00004301 call  0x000048a9 
+ 00018576  0x00004303 isolate1  0x00000007 , 0x00000013 
+ 00018577  0x00004304 call  0x000048ac , 0x00000001 
+ 00018578  0x00004305 ncall  0x000048af , 0x00000001 
+ 00018579  0x00004306 lshift  0x00000013 , 0x00000013 
+ 00018580  0x00004307 call  0x000048d2 
+ 00018581  0x00004308 call  0x000048a6 
+ 00018582  0x00004309 call  0x000048d2 
+ 00018583  0x0000430a call  0x000048a9 
+ 00018584  0x0000430b call  0x000048d2 
+ 00018585  0x0000430c loop  0x00004890 
+ 00018586  0x0000430d branch  0x00004871 
+ 00018587  0x00004312 call  0x000048ac 
+ 00018588  0x00004313 call  0x000048a6 
+ 00018589  0x00004314 call  0x000048d2 
+ 00018590  0x00004315 call  0x000048af 
+ 00018591  0x00004316 call  0x000048d2 
+ 00018592  0x00004317 branch  0x000048a9 
+ 00018593  0x0000431c call  0x000048af 
+ 00018594  0x0000431d call  0x000048a6 
+ 00018595  0x0000431e call  0x000048d2 
+ 00018596  0x0000431f call  0x000048ac 
+ 00018597  0x00004320 branch  0x000048d2 
+ 00018598  0x00004325 enable  0x00000028 
+ 00018599  0x00004326 fetch  0x00000001 , 0x00004ffe 
+ 00018600  0x00004327 branch  0x000048b2 
+ 00018601  0x0000432b disable  0x00000028 
+ 00018602  0x0000432c fetch  0x00000001 , 0x00004ffe 
+ 00018603  0x0000432d branch  0x000048b2 
+ 00018604  0x00004331 enable  0x00000028 
+ 00018605  0x00004332 fetch  0x00000001 , 0x00004fff 
+ 00018606  0x00004333 branch  0x000048b2 
+ 00018607  0x00004337 disable  0x00000028 
+ 00018608  0x00004338 fetch  0x00000001 , 0x00004fff 
+ 00018609  0x00004339 branch  0x000048b2 
+ 00018610  0x0000433f and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018611  0x00004340 rshift3  0x0000003f , 0x0000003f 
+ 00018612  0x00004341 arg  0x00008070 , 0x00000002 
+ 00018613  0x00004342 iadd  0x00000002 , 0x00000002 
+ 00018614  0x00004343 ifetch  0x00000001 , 0x00000002 
+ 00018615  0x00004344 qset1  0x0000003f 
+ 00018616  0x00004345 istore  0x00000001 , 0x00000002 
+ 00018617  0x00004346 increase  0x00000004 , 0x00000002 
+ 00018618  0x00004347 ifetch  0x00000001 , 0x00000002 
+ 00018619  0x00004348 qsetflag  0x00000028 , 0x0000003f 
+ 00018620  0x00004349 istore  0x00000001 , 0x00000002 
+ 00018621  0x0000434a rtn 
+ 00018622  0x0000434e fetch  0x00000001 , 0x00004fff 
+ 00018623  0x0000434f and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018624  0x00004350 rshift3  0x0000003f , 0x0000003f 
+ 00018625  0x00004351 arg  0x00008070 , 0x00000002 
+ 00018626  0x00004352 iadd  0x00000002 , 0x00000002 
+ 00018627  0x00004353 ifetch  0x00000001 , 0x00000002 
+ 00018628  0x00004354 qset0  0x0000003f 
+ 00018629  0x00004355 istore  0x00000001 , 0x00000002 
+ 00018630  0x00004356 rtn 
+ 00018631  0x0000435c nop  0x00000004 
+ 00018632  0x0000435d fetch  0x00000001 , 0x00004fff 
+ 00018633  0x0000435e and  0x0000003f , 0x00000007 , 0x00000007 
+ 00018634  0x0000435f rshift3  0x0000003f , 0x0000003f 
+ 00018635  0x00004360 arg  0x0000811c , 0x00000002 
+ 00018636  0x00004361 iadd  0x00000002 , 0x00000002 
+ 00018637  0x00004362 setarg  0x00000000 
+ 00018638  0x00004363 ifetcht  0x00000001 , 0x00000002 
+ 00018639  0x00004364 qisolate1  0x00000002 
+ 00018640  0x00004365 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00018641  0x00004366 rtn 
+ 00018642  0x0000436b rtn 
+ 00018643  0x00004372 bpatch  0x000000f6 , 0x0000401e 
+ 00018644  0x00004373 hfetch  0x00000001 , 0x00008a26 
+ 00018645  0x00004374 isolate1  0x00000007 , 0x0000003f 
+ 00018646  0x00004375 call  0x000048ea , 0x00000001 
+ 00018647  0x00004376 call  0x0000492e 
+ 00018648  0x00004377 hfetch  0x00000001 , 0x00008a26 
+ 00018649  0x00004378 store  0x00000001 , 0x00000b22 
+ 00018650  0x00004379 hfetch  0x00000001 , 0x00008a27 
+ 00018651  0x0000437a store  0x00000001 , 0x00000b23 
+ 00018652  0x0000437b hstore  0x00000001 , 0x00008a27 
+ 00018653  0x0000437c pinvert 
+ 00018654  0x0000437d fetcht  0x00000001 , 0x00000d37 
+ 00018655  0x0000437e iand  0x00000002 , 0x0000003f 
+ 00018656  0x0000437f store  0x00000001 , 0x00000d37 
+ 00018657  0x00004380 jam  0x000000e0 , 0x00008a26 
+ 00018658  0x00004381 fetch  0x00000001 , 0x00000b23 
+ 00018659  0x00004382 compare  0x00000001 , 0x0000003f , 0x00000001 
+ 00018660  0x00004383 call  0x00004941 , 0x00000001 
+ 00018661  0x00004384 fetch  0x00000001 , 0x00000b22 
+ 00018662  0x00004385 compare  0x00000001 , 0x0000003f , 0x00000001 
+ 00018663  0x00004386 call  0x0000494a , 0x00000001 
+ 00018664  0x00004387 call  0x00004b61 
+ 00018665  0x00004388 branch  0x00004903 
+ 00018666  0x0000438b bpatch  0x000000f7 , 0x0000401e 
+ 00018667  0x0000438c call  0x00004919 
+ 00018668  0x0000438d jam  0x00000000 , 0x00008a00 
+ 00018669  0x0000438e nop  0x00002710 
+ 00018670  0x0000438f jam  0x000000c0 , 0x00008a10 
+ 00018671  0x00004390 hfetch  0x00000002 , 0x00008050 
+ 00018672  0x00004391 set0  0x0000000a , 0x0000003f 
+ 00018673  0x00004392 hstore  0x00000002 , 0x00008050 
+ 00018674  0x00004393 jam  0x0000003c , 0x00008a00 
+ 00018675  0x00004394 jam  0x000000ff , 0x00008a26 
+ 00018676  0x00004395 jam  0x000000ff , 0x00008a27 
+ 00018677  0x00004396 jam  0x00000000 , 0x00008a04 
+ 00018678  0x00004397 jam  0x00000002 , 0x00000c6b 
+ 00018679  0x00004398 setarg  0x00000d9d 
+ 00018680  0x00004399 arg  0x00000c6e , 0x00000005 
+ 00018681  0x0000439a isub  0x00000005 , 0x00000039 
+ 00018682  0x0000439b branch  0x00007ed4 
+ 00018683  0x0000439e fetcht  0x00000001 , 0x00000c6c 
+ 00018684  0x0000439f branch  0x000067fb 
+ 00018685  0x000043a1 fetch  0x00000001 , 0x00000d45 
+ 00018686  0x000043a2 rtn  0x00000034 
+ 00018687  0x000043a3 fetcht  0x00000001 , 0x00000c6c 
+ 00018688  0x000043a4 call  0x0000681d 
+ 00018689  0x000043a5 branch  0x000048ea , 0x00000001 
+ 00018690  0x000043a6 rtn 
+ 00018691  0x000043aa arg  0x00000000 , 0x00000007 
+ 00018692  0x000043ab call  0x00007f16 
+ 00018693  0x000043ac nrtn  0x00000034 
+ 00018694  0x000043ad fetch  0x00000001 , 0x00000d46 
+ 00018695  0x000043ae nrtn  0x00000034 
+ 00018696  0x000043af fetch  0x00000001 , 0x00000d45 
+ 00018697  0x000043b0 ncall  0x00004bb7 , 0x00000034 
+ 00018698  0x000043b1 rtn 
+ 00018699  0x000043b4 arg  0x00000b68 , 0x00000005 
+ 00018700  0x000043b5 setsect  0x00000000 , 0x00011212 
+ 00018701  0x000043b6 setsect  0x00000001 , 0x00008000 
+ 00018702  0x000043b7 setsect  0x00000002 , 0x00000000 
+ 00018703  0x000043b8 setsect  0x00000003 , 0x00010000 
+ 00018704  0x000043b9 istore  0x00000009 , 0x00000005 
+ 00018705  0x000043ba setsect  0x00000000 , 0x00022412 
+ 00018706  0x000043bb setsect  0x00000001 , 0x00008604 
+ 00018707  0x000043bc setsect  0x00000002 , 0x00001000 
+ 00018708  0x000043bd setsect  0x00000003 , 0x00000008 
+ 00018709  0x000043be istore  0x00000009 , 0x00000005 
+ 00018710  0x000043bf setsect  0x00000000 , 0x00000001 
+ 00018711  0x000043c0 istore  0x00000001 , 0x00000005 
+ 00018712  0x000043c1 rtn 
+ 00018713  0x000043c4 jam  0x00000002 , 0x00000c6b 
+ 00018714  0x000043c5 setarg  0x00000000 
+ 00018715  0x000043c6 store  0x00000001 , 0x00000b67 
+ 00018716  0x000043c7 store  0x00000002 , 0x00000c65 
+ 00018717  0x000043c8 pincrease  0x00000001 
+ 00018718  0x000043c9 store  0x00000002 , 0x00000c67 
+ 00018719  0x000043ca pincrease  0x00000001 
+ 00018720  0x000043cb store  0x00000002 , 0x00000c69 
+ 00018721  0x000043cc setarg  0x00008ffa 
+ 00018722  0x000043cd store  0x00000002 , 0x00000b7c 
+ 00018723  0x000043ce setarg  0x0000903a 
+ 00018724  0x000043cf store  0x00000002 , 0x00000b7e 
+ 00018725  0x000043d0 arg  0x00000b80 , 0x00000005 
+ 00018726  0x000043d1 arg  0x000090fe , 0x00000006 
+ 00018727  0x000043d2 call  0x00007eb3 
+ 00018728  0x000043d3 fetch  0x00000001 , 0x00000c6d 
+ 00018729  0x000043d4 ncall  0x0000492b , 0x00000034 
+ 00018730  0x000043d5 branch  0x0000490b 
+ 00018731  0x000043d8 store  0x00000001 , 0x00000ba2 
+ 00018732  0x000043d9 store  0x00000001 , 0x00000bbb 
+ 00018733  0x000043da rtn 
+ 00018734  0x000043dc hfetch  0x00000001 , 0x00008a26 
+ 00018735  0x000043dd bbit1  0x00000006 , 0x00004931 
+ 00018736  0x000043de rtn 
+ 00018737  0x000043e1 call  0x00004936 
+ 00018738  0x000043e2 call  0x00007f15 
+ 00018739  0x000043e3 setarg  0x00000280 
+ 00018740  0x000043e4 arg  0x00000000 , 0x00000007 
+ 00018741  0x000043e5 branch  0x00007f08 
+ 00018742  0x000043e8 fetch  0x00000001 , 0x00000d36 
+ 00018743  0x000043e9 bne  0x00000002 , 0x0000493b 
+ 00018744  0x000043ea jam  0x00000000 , 0x00000d46 
+ 00018745  0x000043eb jam  0x00000000 , 0x00000d47 
+ 00018746  0x000043ec rtn 
+ 00018747  0x000043ee fetch  0x00000001 , 0x00000d53 
+ 00018748  0x000043ef rtn  0x00000034 
+ 00018749  0x000043f0 jam  0x00000000 , 0x00000d53 
+ 00018750  0x000043f1 jam  0x00000002 , 0x00000d36 
+ 00018751  0x000043f2 jam  0x00000001 , 0x00000d45 
+ 00018752  0x000043f3 rtn 
+ 00018753  0x000043f6 jam  0x00000001 , 0x00008a27 
+ 00018754  0x000043f7 branch  0x00004b37 
+ 00018755  0x000043fa fetch  0x00000001 , 0x00000b22 
+ 00018756  0x000043fb bbit1  0x00000004 , 0x00004955 
+ 00018757  0x000043fc rtn 
+ 00018758  0x000043ff hfetch  0x00000001 , 0x00008a18 
+ 00018759  0x00004400 istore  0x00000001 , 0x00000005 
+ 00018760  0x00004401 loop  0x00004946 
+ 00018761  0x00004402 rtn 
+ 00018762  0x00004405 bpatch  0x000000f8 , 0x0000401f 
+ 00018763  0x00004406 jam  0x00000011 , 0x00008a26 
+ 00018764  0x00004407 hfetch  0x00000001 , 0x00008a20 
+ 00018765  0x00004408 store  0x00000001 , 0x00000b24 
+ 00018766  0x00004409 copy  0x0000003f , 0x00000039 
+ 00018767  0x0000440a branch  0x00004943 , 0x00000034 
+ 00018768  0x0000440b arg  0x00000c6e , 0x00000005 
+ 00018769  0x0000440c call  0x00004946 
+ 00018770  0x0000440d fetch  0x00000001 , 0x00000b24 
+ 00018771  0x0000440e sub  0x0000003f , 0x00000007 , 0x0000003e 
+ 00018772  0x0000440f rtn  0x00000002 
+ 00018773  0x00004411 fetch  0x00000001 , 0x00000c6e 
+ 00018774  0x00004412 and_into  0x00000080 , 0x0000003f 
+ 00018775  0x00004413 beq  0x00000080 , 0x0000495a 
+ 00018776  0x00004414 beq  0x00000000 , 0x00004962 
+ 00018777  0x00004415 branch  0x00002a8c 
+ 00018778  0x00004418 fetch  0x00000001 , 0x00000c6e 
+ 00018779  0x00004419 rshift4  0x0000003f , 0x0000003f 
+ 00018780  0x0000441a rshift  0x0000003f , 0x0000003f 
+ 00018781  0x0000441b and_into  0x00000003 , 0x0000003f 
+ 00018782  0x0000441c beq  0x00000000 , 0x0000496a 
+ 00018783  0x0000441d beq  0x00000001 , 0x00004970 
+ 00018784  0x0000441e beq  0x00000002 , 0x00004975 
+ 00018785  0x0000441f branch  0x00002a8c 
+ 00018786  0x00004422 fetch  0x00000001 , 0x00000c6e 
+ 00018787  0x00004423 rshift4  0x0000003f , 0x0000003f 
+ 00018788  0x00004424 rshift  0x0000003f , 0x0000003f 
+ 00018789  0x00004425 and_into  0x00000003 , 0x0000003f 
+ 00018790  0x00004426 beq  0x00000000 , 0x00004976 
+ 00018791  0x00004427 beq  0x00000001 , 0x0000497e 
+ 00018792  0x00004428 beq  0x00000002 , 0x00004983 
+ 00018793  0x00004429 branch  0x00002a8c 
+ 00018794  0x0000442c fetch  0x00000001 , 0x00000c6f 
+ 00018795  0x0000442d beq  0x00000008 , 0x0000498a 
+ 00018796  0x0000442e beq  0x00000006 , 0x000049a0 
+ 00018797  0x0000442f beq  0x0000000a , 0x000049ea 
+ 00018798  0x00004430 beq  0x00000000 , 0x000049fc 
+ 00018799  0x00004431 branch  0x00004984 
+ 00018800  0x00004434 fetch  0x00000001 , 0x00000c6f 
+ 00018801  0x00004435 beq  0x00000002 , 0x00004a2f 
+ 00018802  0x00004436 beq  0x00000001 , 0x00004a33 
+ 00018803  0x00004437 beq  0x00000003 , 0x00004a45 
+ 00018804  0x00004438 branch  0x00004984 
+ 00018805  0x0000443b branch  0x00004984 
+ 00018806  0x0000443e fetch  0x00000001 , 0x00000c6f 
+ 00018807  0x0000443f beq  0x00000001 , 0x00004a4f 
+ 00018808  0x00004440 beq  0x00000003 , 0x00004a79 
+ 00018809  0x00004441 beq  0x00000005 , 0x00004aa3 
+ 00018810  0x00004442 beq  0x00000009 , 0x00004abc 
+ 00018811  0x00004443 beq  0x0000000b , 0x00004ad7 
+ 00018812  0x00004444 beq  0x00000007 , 0x00004984 
+ 00018813  0x00004445 branch  0x00004984 
+ 00018814  0x00004448 fetch  0x00000001 , 0x00000c6f 
+ 00018815  0x00004449 beq  0x0000000a , 0x00004ae8 
+ 00018816  0x0000444a beq  0x00000009 , 0x00004af9 
+ 00018817  0x0000444b beq  0x0000000b , 0x00004b11 
+ 00018818  0x0000444c branch  0x00004984 
+ 00018819  0x0000444f branch  0x00004984 
+ 00018820  0x00004452 hfetch  0x00000001 , 0x00008a11 
+ 00018821  0x00004453 set1  0x00000000 , 0x0000003f 
+ 00018822  0x00004454 hstore  0x00000001 , 0x00008a11 
+ 00018823  0x00004455 branch  0x00004988 
+ 00018824  0x00004458 jam  0x00000040 , 0x00008a12 
+ 00018825  0x00004459 rtn 
+ 00018826  0x0000445c fetch  0x00000001 , 0x00000c6e 
+ 00018827  0x0000445d bne  0x00000080 , 0x00004984 
+ 00018828  0x0000445e fetch  0x00000001 , 0x00000c72 
+ 00018829  0x0000445f bne  0x00000000 , 0x00004984 
+ 00018830  0x00004460 fetch  0x00000001 , 0x00000c73 
+ 00018831  0x00004461 bne  0x00000000 , 0x00004984 
+ 00018832  0x00004462 fetch  0x00000001 , 0x00000c74 
+ 00018833  0x00004463 bne  0x00000001 , 0x00004984 
+ 00018834  0x00004464 fetch  0x00000001 , 0x00000c75 
+ 00018835  0x00004465 bne  0x00000000 , 0x00004984 
+ 00018836  0x00004466 fetch  0x00000001 , 0x00000c70 
+ 00018837  0x00004467 bne  0x00000000 , 0x00004984 
+ 00018838  0x00004468 fetch  0x00000001 , 0x00000c71 
+ 00018839  0x00004469 bne  0x00000000 , 0x00004984 
+ 00018840  0x0000446a fetch  0x00000001 , 0x00000c6b 
+ 00018841  0x0000446b beq  0x00000004 , 0x0000499c 
+ 00018842  0x0000446c beq  0x00000003 , 0x0000499e 
+ 00018843  0x0000446d branch  0x00004984 
+ 00018844  0x00004470 arg  0x00000001 , 0x00000012 
+ 00018845  0x00004471 branch  0x00004a14 
+ 00018846  0x00004474 arg  0x00000001 , 0x00000012 
+ 00018847  0x00004475 branch  0x00004a12 
+ 00018848  0x00004478 bpatch  0x000000f9 , 0x0000401f 
+ 00018849  0x00004479 set0  0x00000023 , 0x00000000 
+ 00018850  0x0000447a fetch  0x00000001 , 0x00000c71 
+ 00018851  0x0000447b beq  0x00000001 , 0x000049b6 
+ 00018852  0x0000447c beq  0x00000002 , 0x000049cf 
+ 00018853  0x0000447d beq  0x00000003 , 0x000049d2 
+ 00018854  0x0000447e beq  0x00000021 , 0x000049a9 
+ 00018855  0x0000447f beq  0x00000022 , 0x000049e0 
+ 00018856  0x00004480 branch  0x00004984 
+ 00018857  0x00004483 jam  0x00000000 , 0x00000d4b 
+ 00018858  0x00004484 fetch  0x00000001 , 0x00000c72 
+ 00018859  0x00004485 beq  0x00000000 , 0x000049ae 
+ 00018860  0x00004486 beq  0x00000001 , 0x000049b2 
+ 00018861  0x00004487 branch  0x00004984 
+ 00018862  0x0000448a arg  0x00000b93 , 0x00000011 
+ 00018863  0x0000448b ifetch  0x00000001 , 0x00000011 
+ 00018864  0x0000448c iforce  0x00000012 
+ 00018865  0x0000448d branch  0x00004b21 
+ 00018866  0x00004490 arg  0x00000bac , 0x00000011 
+ 00018867  0x00004491 ifetch  0x00000001 , 0x00000011 
+ 00018868  0x00004492 iforce  0x00000012 
+ 00018869  0x00004493 branch  0x00004b21 
+ 00018870  0x00004499 fetch  0x00000001 , 0x00000d48 
+ 00018871  0x0000449a ncall  0x000049c7 , 0x00000034 
+ 00018872  0x0000449b setarg  0x00000b68 
+ 00018873  0x0000449c fetcht  0x00000001 , 0x00000b68 
+ 00018874  0x0000449e store  0x00000002 , 0x00000d3f 
+ 00018875  0x0000449f storet  0x00000001 , 0x00000d41 
+ 00018876  0x000044a0 fetch  0x00000001 , 0x00000c74 
+ 00018877  0x000044a1 isub  0x00000002 , 0x0000003e 
+ 00018878  0x000044a2 nbranch  0x000049c5 , 0x00000002 
+ 00018879  0x000044a4 fetch  0x00000001 , 0x00000d41 
+ 00018880  0x000044a6 iforce  0x00000012 
+ 00018881  0x000044a7 fetch  0x00000002 , 0x00000d3f 
+ 00018882  0x000044a8 add  0x0000003f , 0x00000001 , 0x0000003f 
+ 00018883  0x000044a9 iforce  0x00000011 
+ 00018884  0x000044aa branch  0x00004b21 
+ 00018885  0x000044ac fetch  0x00000001 , 0x00000c74 
+ 00018886  0x000044ad branch  0x000049c0 
+ 00018887  0x000044b0 hfetch  0x00000001 , 0x00008a04 
+ 00018888  0x000044b1 ncall  0x000049cb , 0x00000034 
+ 00018889  0x000044b2 jam  0x00000000 , 0x00000d48 
+ 00018890  0x000044b3 rtn 
+ 00018891  0x000044b5 hfetch  0x00000001 , 0x00008a04 
+ 00018892  0x000044b6 set1  0x00000007 , 0x0000003f 
+ 00018893  0x000044b7 hstore  0x00000001 , 0x00008a04 
+ 00018894  0x000044b8 rtn 
+ 00018895  0x000044bb setarg  0x00000b80 
+ 00018896  0x000044bc fetcht  0x00000001 , 0x00000b80 
+ 00018897  0x000044bd branch  0x000049ba 
+ 00018898  0x000044c0 fetch  0x00000001 , 0x00000c70 
+ 00018899  0x000044c1 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00018900  0x000044c2 nbranch  0x00004984 , 0x00000002 
+ 00018901  0x000044c3 fetch  0x00000001 , 0x00000c70 
+ 00018902  0x000044c4 arg  0x00000be4 , 0x00000011 
+ 00018903  0x000044c5 beq  0x00000000 , 0x00004b1e 
+ 00018904  0x000044c6 set1  0x00000023 , 0x00000000 
+ 00018905  0x000044c7 arg  0x00000be9 , 0x00000011 
+ 00018906  0x000044c8 beq  0x00000001 , 0x00004b1e 
+ 00018907  0x000044c9 arg  0x00000c07 , 0x00000011 
+ 00018908  0x000044ca beq  0x00000002 , 0x00004b1e 
+ 00018909  0x000044cb arg  0x00000c47 , 0x00000011 
+ 00018910  0x000044cc beq  0x00000003 , 0x00004b1e 
+ 00018911  0x000044cd rtn 
+ 00018912  0x000044d0 fetch  0x00000002 , 0x00000c72 
+ 00018913  0x000044d1 beq  0x00000001 , 0x000049e5 
+ 00018914  0x000044d2 fetch  0x00000002 , 0x00000b7c 
+ 00018915  0x000044d3 copy  0x0000003f , 0x00000011 
+ 00018916  0x000044d5 branch  0x00004b1e 
+ 00018917  0x000044d7 jam  0x00000001 , 0x00000d45 
+ 00018918  0x000044d8 jam  0x00000001 , 0x00000d36 
+ 00018919  0x000044d9 fetch  0x00000002 , 0x00000b7e 
+ 00018920  0x000044da copy  0x0000003f , 0x00000011 
+ 00018921  0x000044dc branch  0x00004b1e 
+ 00018922  0x000044e0 fetch  0x00000001 , 0x00000c6b 
+ 00018923  0x000044e1 bne  0x00000004 , 0x00004984 
+ 00018924  0x000044e2 fetch  0x00000001 , 0x00000c6e 
+ 00018925  0x000044e3 bne  0x00000081 , 0x00004984 
+ 00018926  0x000044e4 fetch  0x00000001 , 0x00000c70 
+ 00018927  0x000044e5 bne  0x00000000 , 0x00004984 
+ 00018928  0x000044e6 fetch  0x00000001 , 0x00000c71 
+ 00018929  0x000044e7 bne  0x00000000 , 0x00004984 
+ 00018930  0x000044e8 fetch  0x00000001 , 0x00000c74 
+ 00018931  0x000044e9 bne  0x00000001 , 0x00004984 
+ 00018932  0x000044ea fetch  0x00000001 , 0x00000c75 
+ 00018933  0x000044eb bne  0x00000000 , 0x00004984 
+ 00018934  0x000044ec fetch  0x00000001 , 0x00000c72 
+ 00018935  0x000044ed bne  0x00000000 , 0x00004984 
+ 00018936  0x000044ee fetch  0x00000001 , 0x00000c73 
+ 00018937  0x000044ef bne  0x00000000 , 0x00004984 
+ 00018938  0x000044f0 arg  0x00000001 , 0x00000012 
+ 00018939  0x000044f1 branch  0x00004a12 
+ 00018940  0x000044f5 fetch  0x00000001 , 0x00000c6b 
+ 00018941  0x000044f6 beq  0x00000002 , 0x00004984 
+ 00018942  0x000044f7 fetch  0x00000001 , 0x00000c70 
+ 00018943  0x000044f8 bne  0x00000000 , 0x00004984 
+ 00018944  0x000044f9 fetch  0x00000001 , 0x00000c71 
+ 00018945  0x000044fa bne  0x00000000 , 0x00004984 
+ 00018946  0x000044fb fetch  0x00000001 , 0x00000c74 
+ 00018947  0x000044fc bne  0x00000002 , 0x00004984 
+ 00018948  0x000044fd fetch  0x00000001 , 0x00000c75 
+ 00018949  0x000044fe bne  0x00000000 , 0x00004984 
+ 00018950  0x000044ff fetch  0x00000001 , 0x00000c73 
+ 00018951  0x00004500 bne  0x00000000 , 0x00004984 
+ 00018952  0x00004501 fetch  0x00000001 , 0x00000c6e 
+ 00018953  0x00004502 beq  0x00000080 , 0x00004a0d 
+ 00018954  0x00004503 beq  0x00000081 , 0x00004a18 
+ 00018955  0x00004504 beq  0x00000082 , 0x00004a1c 
+ 00018956  0x00004505 branch  0x00004984 
+ 00018957  0x00004508 fetch  0x00000001 , 0x00000c72 
+ 00018958  0x00004509 bne  0x00000000 , 0x00004984 
+ 00018959  0x0000450a arg  0x00000002 , 0x00000012 
+ 00018960  0x0000450b fetch  0x00000001 , 0x00000d39 
+ 00018961  0x0000450c beq  0x00000001 , 0x00004a16 
+ 00018962  0x0000450f arg  0x00000c65 , 0x00000011 
+ 00018963  0x00004510 branch  0x00004b21 
+ 00018964  0x00004512 arg  0x00000c67 , 0x00000011 
+ 00018965  0x00004513 branch  0x00004b21 
+ 00018966  0x00004515 arg  0x00000c69 , 0x00000011 
+ 00018967  0x00004516 branch  0x00004b21 
+ 00018968  0x00004519 fetch  0x00000001 , 0x00000c6b 
+ 00018969  0x0000451a bne  0x00000004 , 0x00004984 
+ 00018970  0x0000451b arg  0x00000002 , 0x00000012 
+ 00018971  0x0000451c branch  0x00004a12 
+ 00018972  0x0000451f fetch  0x00000001 , 0x00000c6b 
+ 00018973  0x00004520 bne  0x00000004 , 0x00004984 
+ 00018974  0x00004521 fetch  0x00000001 , 0x00000c72 
+ 00018975  0x00004522 beq  0x00000081 , 0x00004a29 
+ 00018976  0x00004523 beq  0x00000082 , 0x00004a2b 
+ 00018977  0x00004524 beq  0x00000083 , 0x00004a2d 
+ 00018978  0x00004525 and_into  0x0000007f , 0x0000003f 
+ 00018979  0x00004526 beq  0x00000000 , 0x00004a25 
+ 00018980  0x00004527 branch  0x00004984 
+ 00018981  0x0000452a fetch  0x00000001 , 0x00000d3b 
+ 00018982  0x0000452c arg  0x00000002 , 0x00000012 
+ 00018983  0x0000452d beq  0x00000001 , 0x00004a14 
+ 00018984  0x0000452e branch  0x00004a12 
+ 00018985  0x00004530 fetch  0x00000001 , 0x00000d3c 
+ 00018986  0x00004531 branch  0x00004a26 
+ 00018987  0x00004533 fetch  0x00000001 , 0x00000d3d 
+ 00018988  0x00004534 branch  0x00004a26 
+ 00018989  0x00004536 fetch  0x00000001 , 0x00000d3e 
+ 00018990  0x00004537 branch  0x00004a26 
+ 00018991  0x0000453a jam  0x00000001 , 0x00000d4c 
+ 00018992  0x0000453b arg  0x00000d4d , 0x00000011 
+ 00018993  0x0000453c arg  0x00000001 , 0x00000012 
+ 00018994  0x0000453d branch  0x00004b21 
+ 00018995  0x00004540 fetch  0x00000002 , 0x00000c70 
+ 00018996  0x00004541 arg  0x000001ba , 0x00000002 
+ 00018997  0x00004542 isub  0x00000002 , 0x0000003e 
+ 00018998  0x00004543 nbranch  0x00004984 , 0x00000005 
+ 00018999  0x00004544 set0  0x00000023 , 0x00000000 
+ 00019000  0x00004546 fetch  0x00000001 , 0x00000d42 
+ 00019001  0x00004547 nbranch  0x00004a42 , 0x00000034 
+ 00019002  0x00004548 jam  0x00000000 , 0x00000cf6 
+ 00019003  0x0000454a fetch  0x00000001 , 0x00000c74 
+ 00019004  0x0000454b iforce  0x00000012 
+ 00019005  0x0000454c arg  0x00000cf6 , 0x00000011 
+ 00019006  0x0000454d call  0x00004b21 
+ 00019007  0x0000454f arg  0x00000cf6 , 0x00000005 
+ 00019008  0x00004550 arg  0x00000008 , 0x00000039 
+ 00019009  0x00004551 branch  0x00007ec6 
+ 00019010  0x00004553 jam  0x00000000 , 0x00000d42 
+ 00019011  0x00004554 jam  0x00000001 , 0x00000cf6 
+ 00019012  0x00004555 branch  0x00004a3b 
+ 00019013  0x00004558 fetch  0x00000001 , 0x00000c74 
+ 00019014  0x00004559 bne  0x00000001 , 0x00004984 
+ 00019015  0x0000455a jam  0x00000001 , 0x00000d4b 
+ 00019016  0x0000455b arg  0x00000001 , 0x00000012 
+ 00019017  0x0000455c fetch  0x00000001 , 0x00000d49 
+ 00019018  0x0000455d beq  0x00000000 , 0x00004a4d 
+ 00019019  0x0000455e beq  0x00000001 , 0x00004a4e 
+ 00019020  0x0000455f branch  0x00004a12 
+ 00019021  0x00004561 branch  0x00004a14 
+ 00019022  0x00004563 branch  0x00004a12 
+ 00019023  0x00004569 fetch  0x00000001 , 0x00000c6b 
+ 00019024  0x0000456a bne  0x00000004 , 0x00004984 
+ 00019025  0x0000456b fetch  0x00000001 , 0x00000c74 
+ 00019026  0x0000456c bne  0x00000000 , 0x00004984 
+ 00019027  0x0000456d fetch  0x00000001 , 0x00000c75 
+ 00019028  0x0000456e bne  0x00000000 , 0x00004984 
+ 00019029  0x0000456f fetch  0x00000001 , 0x00000c71 
+ 00019030  0x00004570 bne  0x00000000 , 0x00004984 
+ 00019031  0x00004571 fetch  0x00000001 , 0x00000c73 
+ 00019032  0x00004572 bne  0x00000000 , 0x00004984 
+ 00019033  0x00004573 fetch  0x00000001 , 0x00000c6e 
+ 00019034  0x00004574 beq  0x00000000 , 0x00004a5e 
+ 00019035  0x00004575 beq  0x00000001 , 0x00004a66 
+ 00019036  0x00004576 beq  0x00000002 , 0x00004a67 
+ 00019037  0x00004577 branch  0x00004984 
+ 00019038  0x0000457a fetch  0x00000001 , 0x00000c70 
+ 00019039  0x0000457b bne  0x00000001 , 0x00004984 
+ 00019040  0x0000457c hfetch  0x00000001 , 0x00008a00 
+ 00019041  0x0000457d set0  0x00000007 , 0x0000003f 
+ 00019042  0x0000457e hstore  0x00000001 , 0x00008a00 
+ 00019043  0x0000457f jam  0x00000000 , 0x00000d39 
+ 00019044  0x00004580 jam  0x00000001 , 0x00000d3a 
+ 00019045  0x00004581 branch  0x00004988 
+ 00019046  0x00004584 branch  0x00004984 
+ 00019047  0x00004587 fetch  0x00000001 , 0x00000c70 
+ 00019048  0x00004588 bne  0x00000000 , 0x00004984 
+ 00019049  0x00004589 fetch  0x00000001 , 0x00000c72 
+ 00019050  0x0000458a beq  0x00000081 , 0x00004a72 
+ 00019051  0x0000458b beq  0x00000082 , 0x00004a75 
+ 00019052  0x0000458c beq  0x00000083 , 0x00004a77 
+ 00019053  0x0000458d and_into  0x0000007f , 0x0000003f 
+ 00019054  0x0000458e beq  0x00000000 , 0x00004a70 
+ 00019055  0x0000458f branch  0x00004984 
+ 00019056  0x00004592 jam  0x00000000 , 0x00000d3b 
+ 00019057  0x00004593 branch  0x00004988 
+ 00019058  0x00004595 jam  0x00000000 , 0x00000d3c 
+ 00019059  0x00004597 jam  0x00000001 , 0x00000d53 
+ 00019060  0x00004598 branch  0x00004988 
+ 00019061  0x0000459a jam  0x00000000 , 0x00000d3d 
+ 00019062  0x0000459b branch  0x00004a73 
+ 00019063  0x0000459d jam  0x00000000 , 0x00000d3e 
+ 00019064  0x0000459e branch  0x00004a73 
+ 00019065  0x000045a2 fetch  0x00000001 , 0x00000c74 
+ 00019066  0x000045a3 bne  0x00000000 , 0x00004984 
+ 00019067  0x000045a4 fetch  0x00000001 , 0x00000c75 
+ 00019068  0x000045a5 bne  0x00000000 , 0x00004984 
+ 00019069  0x000045a6 fetch  0x00000001 , 0x00000c6e 
+ 00019070  0x000045a7 beq  0x00000000 , 0x00004a82 
+ 00019071  0x000045a8 beq  0x00000001 , 0x00004a8f 
+ 00019072  0x000045a9 beq  0x00000002 , 0x00004a90 
+ 00019073  0x000045aa branch  0x00004984 
+ 00019074  0x000045ad fetch  0x00000001 , 0x00000c70 
+ 00019075  0x000045ae bne  0x00000001 , 0x00004984 
+ 00019076  0x000045af hfetch  0x00000001 , 0x00008a00 
+ 00019077  0x000045b0 set1  0x00000007 , 0x0000003f 
+ 00019078  0x000045b1 hstore  0x00000001 , 0x00008a00 
+ 00019079  0x000045b2 jam  0x00000001 , 0x00000d39 
+ 00019080  0x000045b3 jam  0x00000003 , 0x00000d36 
+ 00019081  0x000045b4 jam  0x00000000 , 0x00000d43 
+ 00019082  0x000045b5 call  0x00004988 
+ 00019083  0x000045b7 call  0x00007f15 
+ 00019084  0x000045b8 setarg  0x00001388 
+ 00019085  0x000045b9 arg  0x0000000f , 0x00000007 
+ 00019086  0x000045ba branch  0x00007f08 
+ 00019087  0x000045bd branch  0x00004984 
+ 00019088  0x000045c0 fetch  0x00000001 , 0x00000c70 
+ 00019089  0x000045c1 bne  0x00000000 , 0x00004984 
+ 00019090  0x000045c2 fetch  0x00000001 , 0x00000c71 
+ 00019091  0x000045c3 bne  0x00000000 , 0x00004984 
+ 00019092  0x000045c4 fetch  0x00000001 , 0x00000c72 
+ 00019093  0x000045c5 beq  0x00000081 , 0x00004a9d 
+ 00019094  0x000045c6 beq  0x00000082 , 0x00004a9f 
+ 00019095  0x000045c7 beq  0x00000083 , 0x00004aa1 
+ 00019096  0x000045c8 and_into  0x0000007f , 0x0000003f 
+ 00019097  0x000045c9 beq  0x00000000 , 0x00004a9b 
+ 00019098  0x000045ca branch  0x00004984 
+ 00019099  0x000045cd jam  0x00000001 , 0x00000d3b 
+ 00019100  0x000045ce branch  0x00004988 
+ 00019101  0x000045d0 jam  0x00000001 , 0x00000d3c 
+ 00019102  0x000045d1 branch  0x00004988 
+ 00019103  0x000045d3 jam  0x00000001 , 0x00000d3d 
+ 00019104  0x000045d4 branch  0x00004988 
+ 00019105  0x000045d6 jam  0x00000001 , 0x00000d3e 
+ 00019106  0x000045d7 branch  0x00004988 
+ 00019107  0x000045db fetch  0x00000001 , 0x00000c6e 
+ 00019108  0x000045dc bne  0x00000000 , 0x00004984 
+ 00019109  0x000045dd fetch  0x00000001 , 0x00000c72 
+ 00019110  0x000045de bne  0x00000000 , 0x00004984 
+ 00019111  0x000045df fetch  0x00000001 , 0x00000c73 
+ 00019112  0x000045e0 bne  0x00000000 , 0x00004984 
+ 00019113  0x000045e1 fetch  0x00000001 , 0x00000c74 
+ 00019114  0x000045e2 bne  0x00000000 , 0x00004984 
+ 00019115  0x000045e3 fetch  0x00000001 , 0x00000c75 
+ 00019116  0x000045e4 bne  0x00000000 , 0x00004984 
+ 00019117  0x000045e5 fetch  0x00000001 , 0x00000c71 
+ 00019118  0x000045e6 bne  0x00000000 , 0x00004984 
+ 00019119  0x000045e7 fetch  0x00000001 , 0x00000c70 
+ 00019120  0x000045e8 and_into  0x00000080 , 0x0000003f 
+ 00019121  0x000045e9 bne  0x00000000 , 0x00004984 
+ 00019122  0x000045ea fetch  0x00000001 , 0x00000c70 
+ 00019123  0x000045eb bne  0x00000000 , 0x00004aba 
+ 00019124  0x000045ed jam  0x00000002 , 0x00000c6b 
+ 00019125  0x000045ef fetch  0x00000001 , 0x00000c70 
+ 00019126  0x000045f0 hstore  0x00000001 , 0x00008a04 
+ 00019127  0x000045f1 call  0x00004988 
+ 00019128  0x000045f2 jam  0x00000001 , 0x00000d48 
+ 00019129  0x000045f3 rtn 
+ 00019130  0x000045f5 jam  0x00000003 , 0x00000c6b 
+ 00019131  0x000045f6 branch  0x00004ab5 
+ 00019132  0x000045fa fetch  0x00000001 , 0x00000c6b 
+ 00019133  0x000045fb beq  0x00000002 , 0x00004984 
+ 00019134  0x000045fc fetch  0x00000001 , 0x00000c6e 
+ 00019135  0x000045fd bne  0x00000000 , 0x00004984 
+ 00019136  0x000045fe fetch  0x00000001 , 0x00000c72 
+ 00019137  0x000045ff bne  0x00000000 , 0x00004984 
+ 00019138  0x00004600 fetch  0x00000001 , 0x00000c73 
+ 00019139  0x00004601 bne  0x00000000 , 0x00004984 
+ 00019140  0x00004602 fetch  0x00000001 , 0x00000c74 
+ 00019141  0x00004603 bne  0x00000000 , 0x00004984 
+ 00019142  0x00004604 fetch  0x00000001 , 0x00000c75 
+ 00019143  0x00004605 bne  0x00000000 , 0x00004984 
+ 00019144  0x00004606 fetch  0x00000001 , 0x00000c71 
+ 00019145  0x00004607 bne  0x00000000 , 0x00004984 
+ 00019146  0x00004608 fetch  0x00000001 , 0x00000c70 
+ 00019147  0x00004609 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019148  0x0000460a nbranch  0x00004984 , 0x00000002 
+ 00019149  0x0000460b fetch  0x00000001 , 0x00000c6b 
+ 00019150  0x0000460c beq  0x00000003 , 0x00004ad1 
+ 00019151  0x0000460d beq  0x00000004 , 0x00004ad1 
+ 00019152  0x0000460e branch  0x00004984 
+ 00019153  0x00004612 fetch  0x00000001 , 0x00000c70 
+ 00019154  0x00004613 beq  0x00000000 , 0x00004ad5 
+ 00019155  0x00004614 jam  0x00000004 , 0x00000c6b 
+ 00019156  0x00004615 branch  0x00004988 
+ 00019157  0x00004617 jam  0x00000003 , 0x00000c6b 
+ 00019158  0x00004618 branch  0x00004988 
+ 00019159  0x0000461c fetch  0x00000001 , 0x00000c6b 
+ 00019160  0x0000461d bne  0x00000004 , 0x00004984 
+ 00019161  0x0000461e fetch  0x00000001 , 0x00000c6e 
+ 00019162  0x0000461f bne  0x00000001 , 0x00004984 
+ 00019163  0x00004620 fetch  0x00000001 , 0x00000c70 
+ 00019164  0x00004621 bne  0x00000000 , 0x00004984 
+ 00019165  0x00004622 fetch  0x00000001 , 0x00000c71 
+ 00019166  0x00004623 bne  0x00000000 , 0x00004984 
+ 00019167  0x00004624 fetch  0x00000001 , 0x00000c74 
+ 00019168  0x00004625 bne  0x00000000 , 0x00004984 
+ 00019169  0x00004626 fetch  0x00000001 , 0x00000c75 
+ 00019170  0x00004627 bne  0x00000000 , 0x00004984 
+ 00019171  0x00004628 fetch  0x00000001 , 0x00000c72 
+ 00019172  0x00004629 bne  0x00000000 , 0x00004984 
+ 00019173  0x0000462a fetch  0x00000001 , 0x00000c73 
+ 00019174  0x0000462b bne  0x00000000 , 0x00004984 
+ 00019175  0x0000462c branch  0x00004988 
+ 00019176  0x00004630 jam  0x00000001 , 0x00000d4c 
+ 00019177  0x00004631 fetch  0x00000001 , 0x00000c71 
+ 00019178  0x00004632 store  0x00000001 , 0x00000d4d 
+ 00019179  0x00004633 fetch  0x00000001 , 0x00000c72 
+ 00019180  0x00004634 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00019181  0x00004635 call  0x00004af5 , 0x00000005 
+ 00019182  0x00004636 fetch  0x00000001 , 0x00000d36 
+ 00019183  0x00004637 bne  0x00000004 , 0x00004988 
+ 00019184  0x00004638 jam  0x00000002 , 0x00000d36 
+ 00019185  0x00004639 call  0x00004988 
+ 00019186  0x0000463a nop  0x00007530 
+ 00019187  0x0000463b nop  0x00007530 
+ 00019188  0x0000463c rtn 
+ 00019189  0x0000463e jam  0x00000001 , 0x00000d45 
+ 00019190  0x0000463f jam  0x00000000 , 0x00000d3a 
+ 00019191  0x00004640 jam  0x00000004 , 0x00000d36 
+ 00019192  0x00004641 rtn 
+ 00019193  0x00004645 jam  0x00000001 , 0x00000d50 
+ 00019194  0x00004646 call  0x00004b03 
+ 00019195  0x00004647 fetch  0x00000002 , 0x00000c70 
+ 00019196  0x00004648 store  0x00000002 , 0x00000d4e 
+ 00019197  0x00004649 fetch  0x00000001 , 0x00000c74 
+ 00019198  0x0000464a iforce  0x00000039 
+ 00019199  0x0000464b arg  0x00000c76 , 0x00000006 
+ 00019200  0x0000464c arg  0x00000cb6 , 0x00000005 
+ 00019201  0x0000464d call  0x00007f01 
+ 00019202  0x0000464e branch  0x00004988 
+ 00019203  0x00004651 fetch  0x00000002 , 0x00000c70 
+ 00019204  0x00004652 arg  0x00000200 , 0x00000002 
+ 00019205  0x00004653 isub  0x00000002 , 0x0000003e 
+ 00019206  0x00004654 nrtn  0x00000005 
+ 00019207  0x00004655 fetch  0x00000002 , 0x00000c72 
+ 00019208  0x00004656 arg  0x00000000 , 0x00000002 
+ 00019209  0x00004657 isub  0x00000002 , 0x0000003e 
+ 00019210  0x00004658 nrtn  0x00000005 
+ 00019211  0x00004659 fetch  0x00000002 , 0x00000c74 
+ 00019212  0x0000465a arg  0x00000001 , 0x00000002 
+ 00019213  0x0000465b isub  0x00000002 , 0x0000003e 
+ 00019214  0x0000465c nrtn  0x00000005 
+ 00019215  0x0000465d jam  0x00000001 , 0x00000d43 
+ 00019216  0x0000465e rtn 
+ 00019217  0x00004662 fetch  0x00000001 , 0x00000c74 
+ 00019218  0x00004663 bne  0x00000000 , 0x00004984 
+ 00019219  0x00004664 fetch  0x00000001 , 0x00000c70 
+ 00019220  0x00004665 beq  0x00000000 , 0x00004b17 
+ 00019221  0x00004666 beq  0x00000001 , 0x00004b1a 
+ 00019222  0x00004667 branch  0x00004984 
+ 00019223  0x00004669 jam  0x00000000 , 0x00000d4a 
+ 00019224  0x0000466a jam  0x00000001 , 0x00000d49 
+ 00019225  0x0000466b branch  0x00004988 
+ 00019226  0x0000466d jam  0x00000001 , 0x00000d44 
+ 00019227  0x0000466e jam  0x00000001 , 0x00000d4a 
+ 00019228  0x0000466f jam  0x00000000 , 0x00000d49 
+ 00019229  0x00004670 branch  0x00004988 
+ 00019230  0x00004674 ifetch  0x00000001 , 0x00000011 
+ 00019231  0x00004675 iforce  0x00000012 
+ 00019232  0x00004676 increase  0x00000001 , 0x00000011 
+ 00019233  0x00004679 bpatch  0x000000fa , 0x0000401f 
+ 00019234  0x0000467a bmark0  0x00000023 , 0x00004b2c 
+ 00019235  0x0000467b add  0x00000012 , 0x00000001 , 0x0000003f 
+ 00019236  0x0000467c lshift  0x0000003f , 0x0000003f 
+ 00019237  0x0000467d hstore  0x00000001 , 0x00008a18 
+ 00019238  0x0000467e jam  0x00000003 , 0x00008a18 
+ 00019239  0x0000467f fetch  0x00000001 , 0x00000c74 
+ 00019240  0x00004680 increase  0xfffffffe , 0x0000003f 
+ 00019241  0x00004681 rshift  0x0000003f , 0x0000003f 
+ 00019242  0x00004682 store  0x00000001 , 0x00000c74 
+ 00019243  0x00004683 beq  0x00000000 , 0x00004b35 
+ 00019244  0x00004685 fetch  0x00000002 , 0x00000c74 
+ 00019245  0x00004686 isub  0x00000012 , 0x0000003e 
+ 00019246  0x00004687 branch  0x00004b30 , 0x00000002 
+ 00019247  0x00004688 copy  0x0000003f , 0x00000012 
+ 00019248  0x0000468a deposit  0x00000011 
+ 00019249  0x0000468b store  0x00000002 , 0x00000b65 
+ 00019250  0x0000468c deposit  0x00000012 
+ 00019251  0x0000468d store  0x00000001 , 0x00000b67 
+ 00019252  0x0000468e branch  0x00004b37 
+ 00019253  0x00004691 arg  0x00000000 , 0x00000007 
+ 00019254  0x00004692 branch  0x00004b57 
+ 00019255  0x00004696 bpatch  0x000000fb , 0x0000401f 
+ 00019256  0x00004697 fetch  0x00000001 , 0x00000b67 
+ 00019257  0x00004698 rtn  0x00000034 
+ 00019258  0x00004699 copy  0x0000003f , 0x00000039 
+ 00019259  0x0000469a sub  0x0000003f , 0x00000040 , 0x0000003e 
+ 00019260  0x0000469b branch  0x00004b3e , 0x00000002 
+ 00019261  0x0000469c arg  0x00000040 , 0x00000039 
+ 00019262  0x0000469e fetch  0x00000001 , 0x00000b67 
+ 00019263  0x0000469f isub  0x00000039 , 0x0000003f 
+ 00019264  0x000046a0 store  0x00000001 , 0x00000b67 
+ 00019265  0x000046a1 fetch  0x00000002 , 0x00000b65 
+ 00019266  0x000046a2 copy  0x0000003f , 0x00000006 
+ 00019267  0x000046a4 ifetch  0x00000001 , 0x00000006 
+ 00019268  0x000046a5 hstore  0x00000001 , 0x00008a18 
+ 00019269  0x000046a6 bmark0  0x00000023 , 0x00004b47 
+ 00019270  0x000046a7 jam  0x00000000 , 0x00008a18 
+ 00019271  0x000046a9 loop  0x00004b43 
+ 00019272  0x000046aa copy  0x00000006 , 0x0000003f 
+ 00019273  0x000046ab store  0x00000002 , 0x00000b65 
+ 00019274  0x000046ac arg  0x00000000 , 0x00000007 
+ 00019275  0x000046ad call  0x00004b57 
+ 00019276  0x000046ae fetch  0x00000001 , 0x00000b67 
+ 00019277  0x000046af nrtn  0x00000034 
+ 00019278  0x000046b0 fetch  0x00000001 , 0x00000d36 
+ 00019279  0x000046b1 rtnne  0x00000001 
+ 00019280  0x000046b2 jam  0x00000002 , 0x00000d36 
+ 00019281  0x000046b3 rtn 
+ 00019282  0x000046b7 arg  0x00008a19 , 0x00000011 
+ 00019283  0x000046b8 arg  0x00000001 , 0x00000007 
+ 00019284  0x000046ba ifetch  0x00000001 , 0x00000006 
+ 00019285  0x000046bb istore  0x00000001 , 0x00000011 
+ 00019286  0x000046bc loop  0x00004b54 
+ 00019287  0x000046be setarg  0x00000000 
+ 00019288  0x000046bf qset1  0x0000003f 
+ 00019289  0x000046c0 hstore  0x00000001 , 0x00008a10 
+ 00019290  0x000046c1 fetcht  0x00000001 , 0x00000d37 
+ 00019291  0x000046c2 ior  0x00000002 , 0x0000003f 
+ 00019292  0x000046c3 store  0x00000001 , 0x00000d37 
+ 00019293  0x000046c4 rtn 
+ 00019294  0x000046c7 arg  0x00000002 , 0x00000007 
+ 00019295  0x000046c8 arg  0x00008a1a , 0x00000011 
+ 00019296  0x000046c9 branch  0x00004b54 
+ 00019297  0x000046cc bpatch  0x000000fc , 0x0000401f 
+ 00019298  0x000046cd fetch  0x00000001 , 0x00000d38 
+ 00019299  0x000046ce rtn  0x00000034 
+ 00019300  0x000046cf fetch  0x00000001 , 0x00000d37 
+ 00019301  0x000046d0 nbranch  0x00004bac , 0x00000034 
+ 00019302  0x000046d1 fetch  0x00000001 , 0x00000d45 
+ 00019303  0x000046d2 branch  0x00004b86 , 0x00000034 
+ 00019304  0x000046d3 fetch  0x00000001 , 0x00000d36 
+ 00019305  0x000046d4 beq  0x00000003 , 0x00004bbf 
+ 00019306  0x000046d5 bne  0x00000002 , 0x00004b86 
+ 00019307  0x000046d6 fetch  0x00000001 , 0x00000d3a 
+ 00019308  0x000046d7 nbranch  0x00004b86 , 0x00000034 
+ 00019309  0x000046d8 call  0x00004b6f 
+ 00019310  0x000046d9 branch  0x00004b7a 
+ 00019311  0x000046dc fetch  0x00000001 , 0x00000d38 
+ 00019312  0x000046dd rtnbit0  0x00000001 
+ 00019313  0x000046de fetch  0x00000001 , 0x00000d37 
+ 00019314  0x000046df rtnbit1  0x00000001 
+ 00019315  0x000046e0 fetch  0x00000001 , 0x00000d38 
+ 00019316  0x000046e1 set0  0x00000001 , 0x0000003f 
+ 00019317  0x000046e2 store  0x00000001 , 0x00000d38 
+ 00019318  0x000046e3 fetch  0x00000001 , 0x00000d51 
+ 00019319  0x000046e4 rtn  0x00000034 
+ 00019320  0x000046e5 beq  0x00000010 , 0x00004ba8 
+ 00019321  0x000046e6 branch  0x00002a8c 
+ 00019322  0x000046e9 fetch  0x00000001 , 0x00000d38 
+ 00019323  0x000046ea rtnbit0  0x00000002 
+ 00019324  0x000046eb fetch  0x00000001 , 0x00000d37 
+ 00019325  0x000046ec rtnbit1  0x00000002 
+ 00019326  0x000046ed fetch  0x00000001 , 0x00000d38 
+ 00019327  0x000046ee set0  0x00000002 , 0x0000003f 
+ 00019328  0x000046ef store  0x00000001 , 0x00000d38 
+ 00019329  0x000046f0 fetch  0x00000001 , 0x00000d52 
+ 00019330  0x000046f1 rtn  0x00000034 
+ 00019331  0x000046f2 beq  0x00000020 , 0x00004b89 
+ 00019332  0x000046f3 beq  0x00000021 , 0x00004ba4 
+ 00019333  0x000046f4 branch  0x00002a8c 
+ 00019334  0x000046f8 arg  0x00000d54 , 0x00000005 
+ 00019335  0x000046f9 arg  0x00000006 , 0x00000039 
+ 00019336  0x000046fa branch  0x00007ec6 
+ 00019337  0x000046fd fetch  0x00000001 , 0x00000d4c 
+ 00019338  0x000046fe fetcht  0x00000001 , 0x00000d4b 
+ 00019339  0x000046ff iand  0x00000002 , 0x0000003f 
+ 00019340  0x00004700 branch  0x00004ba0 , 0x00000034 
+ 00019341  0x00004701 fetcht  0x00000001 , 0x00000d4a 
+ 00019342  0x00004702 iadd  0x00000002 , 0x0000003f 
+ 00019343  0x00004703 beq  0x00000001 , 0x00004b91 
+ 00019344  0x00004704 branch  0x00004ba0 
+ 00019345  0x00004707 jam  0x00000000 , 0x00000d52 
+ 00019346  0x00004709 fetch  0x00000001 , 0x00000d55 
+ 00019347  0x0000470a beq  0x00000002 , 0x00004ba1 
+ 00019348  0x0000470b beq  0x00000003 , 0x00004ba1 
+ 00019349  0x0000470c fetch  0x00000001 , 0x00000d55 
+ 00019350  0x0000470d store  0x00000001 , 0x00000d54 
+ 00019351  0x0000470e fetch  0x00000001 , 0x00000d56 
+ 00019352  0x0000470f istore  0x00000001 , 0x00000005 
+ 00019353  0x00004710 fetch  0x00000001 , 0x00000d58 
+ 00019354  0x00004711 istore  0x00000001 , 0x00000005 
+ 00019355  0x00004712 fetch  0x00000001 , 0x00000d5a 
+ 00019356  0x00004713 istore  0x00000001 , 0x00000005 
+ 00019357  0x00004714 arg  0x00000004 , 0x00000039 
+ 00019358  0x00004715 arg  0x00000d54 , 0x00000006 
+ 00019359  0x00004716 branch  0x00004b5e 
+ 00019360  0x00004719 jam  0x00000000 , 0x00000d52 
+ 00019361  0x0000471b arg  0x00000008 , 0x00000039 
+ 00019362  0x0000471c arg  0x00000d54 , 0x00000006 
+ 00019363  0x0000471d branch  0x00004b5e 
+ 00019364  0x00004720 jam  0x00000000 , 0x00000d52 
+ 00019365  0x00004721 arg  0x00000003 , 0x00000039 
+ 00019366  0x00004722 arg  0x00000d74 , 0x00000006 
+ 00019367  0x00004723 branch  0x00004b5e 
+ 00019368  0x00004726 jam  0x00000000 , 0x00000d51 
+ 00019369  0x00004727 arg  0x00000008 , 0x00000039 
+ 00019370  0x00004728 arg  0x00000d64 , 0x00000006 
+ 00019371  0x00004729 branch  0x00004b52 
+ 00019372  0x0000472c fetch  0x00000001 , 0x00000d36 
+ 00019373  0x0000472d beq  0x00000003 , 0x00004bb0 
+ 00019374  0x0000472e beq  0x00000002 , 0x00004bb2 
+ 00019375  0x0000472f rtn 
+ 00019376  0x00004731 jam  0x00000000 , 0x00000d37 
+ 00019377  0x00004732 rtn 
+ 00019378  0x00004734 hfetch  0x00000001 , 0x00008a00 
+ 00019379  0x00004735 set1  0x00000007 , 0x0000003f 
+ 00019380  0x00004736 hstore  0x00000001 , 0x00008a00 
+ 00019381  0x00004737 jam  0x00000001 , 0x00000d47 
+ 00019382  0x00004738 rtn 
+ 00019383  0x0000473b fetch  0x00000001 , 0x00000d36 
+ 00019384  0x0000473c rtneq  0x00000003 
+ 00019385  0x0000473d beq  0x00000002 , 0x00004bbb 
+ 00019386  0x0000473e rtn 
+ 00019387  0x00004740 fetch  0x00000001 , 0x00000d47 
+ 00019388  0x00004741 rtn  0x00000034 
+ 00019389  0x00004742 jam  0x00000001 , 0x00000d46 
+ 00019390  0x00004743 branch  0x00004bc2 
+ 00019391  0x00004746 arg  0x0000000f , 0x00000007 
+ 00019392  0x00004747 call  0x00007f16 
+ 00019393  0x00004748 nrtn  0x00000034 
+ 00019394  0x0000474a hfetch  0x00000001 , 0x00008a00 
+ 00019395  0x0000474b rtnbit0  0x00000007 
+ 00019396  0x0000474c jam  0x000000fc , 0x00008a00 
+ 00019397  0x0000474d nop  0x00007530 
+ 00019398  0x0000474e jam  0x0000003c , 0x00008a00 
+ 00019399  0x0000474f rtn 
+ 00019400  0x00004757 bpatch  0x000000fd , 0x0000401f 
+ 00019401  0x00004758 fetch  0x00000001 , 0x000041ce 
+ 00019402  0x00004759 nrtn  0x00000034 
+ 00019403  0x0000475b call  0x00004bce 
+ 00019404  0x0000475c ncall  0x00004be6 , 0x00000028 
+ 00019405  0x0000475d rtn 
+ 00019406  0x00004760 bpatch  0x000000fe , 0x0000401f 
+ 00019407  0x00004761 copy  0x00000003 , 0x00000011 
+ 00019408  0x00004762 arg  0x00000004 , 0x00000002 
+ 00019409  0x00004763 ifetch  0x00000001 , 0x00000003 
+ 00019410  0x00004764 beq  0x00000001 , 0x00004bd8 
+ 00019411  0x00004765 increase  0x00000001 , 0x00000002 
+ 00019412  0x00004766 beq  0x00000002 , 0x00004bd8 
+ 00019413  0x00004767 copy  0x00000003 , 0x0000003f 
+ 00019414  0x00004768 hstore  0x00000002 , 0x00008058 
+ 00019415  0x00004769 rtn 
+ 00019416  0x0000476b hfetch  0x00000002 , 0x00008112 
+ 00019417  0x0000476c isub  0x00000002 , 0x0000003e 
+ 00019418  0x0000476d nbranch  0x00004bd8 , 0x00000002 
+ 00019419  0x0000476f disable  0x00000028 
+ 00019420  0x00004770 copy  0x00000011 , 0x00000003 
+ 00019421  0x00004771 call  0x00004bee 
+ 00019422  0x00004772 iadd  0x00000002 , 0x00000002 
+ 00019423  0x00004774 hfetch  0x00000002 , 0x00008112 
+ 00019424  0x00004775 isub  0x00000002 , 0x0000003e 
+ 00019425  0x00004776 nbranch  0x00004bdf , 0x00000002 
+ 00019426  0x00004777 copy  0x00000011 , 0x00000003 
+ 00019427  0x00004778 ifetch  0x00000001 , 0x00000003 
+ 00019428  0x00004779 beq  0x00000001 , 0x00004c3f 
+ 00019429  0x0000477a branch  0x00002a8c 
+ 00019430  0x0000477d bpatch  0x000000ff , 0x0000401f 
+ 00019431  0x0000477e hfetch  0x00000002 , 0x00008058 
+ 00019432  0x0000477f iforce  0x00000003 
+ 00019433  0x00004780 call  0x00004bee 
+ 00019434  0x00004781 iadd  0x00000003 , 0x00000003 
+ 00019435  0x00004782 deposit  0x00000003 
+ 00019436  0x00004783 hstore  0x00000002 , 0x00008058 
+ 00019437  0x00004784 rtn 
+ 00019438  0x0000478a ifetch  0x00000001 , 0x00000003 
+ 00019439  0x0000478b increase  0x00000002 , 0x00000003 
+ 00019440  0x0000478c beq  0x00000002 , 0x00004bf3 
+ 00019441  0x0000478d ifetch  0x00000001 , 0x00000003 
+ 00019442  0x0000478e rtn 
+ 00019443  0x00004790 ifetch  0x00000002 , 0x00000003 
+ 00019444  0x00004791 rtn 
+ 00019445  0x00004794 hfetch  0x00000002 , 0x0000805e 
+ 00019446  0x00004795 increase  0xfffffffb , 0x0000000a 
+ 00019447  0x00004796 iadd  0x0000000a , 0x0000000a 
+ 00019448  0x00004797 rtn 
+ 00019449  0x0000479a arg  0x00000004 , 0x00000002 
+ 00019450  0x0000479b branch  0x00004bfc 
+ 00019451  0x0000479d arg  0x00000002 , 0x00000002 
+ 00019452  0x0000479f bpatchx  0x00000000 , 0x00004020 
+ 00019453  0x000047a0 increase  0x00000001 , 0x00000039 
+ 00019454  0x000047a1 hfetch  0x00000002 , 0x0000805e 
+ 00019455  0x000047a2 copy  0x0000003f , 0x0000000a 
+ 00019456  0x000047a3 copy  0x00000039 , 0x0000003f 
+ 00019457  0x000047a4 istoret  0x00000001 , 0x0000000a 
+ 00019458  0x000047a5 increase  0xffffffff , 0x0000003f 
+ 00019459  0x000047a6 iadd  0x0000000a , 0x0000000a 
+ 00019460  0x000047a7 copy  0x0000000a , 0x0000003f 
+ 00019461  0x000047a8 store  0x00000002 , 0x00000258 
+ 00019462  0x000047a9 copy  0x00000002 , 0x0000003f 
+ 00019463  0x000047aa rtneq  0x00000002 
+ 00019464  0x000047ab fetch  0x00000002 , 0x00000258 
+ 00019465  0x000047ac hstore  0x00000002 , 0x0000805e 
+ 00019466  0x000047ad branch  0x00004c0b 
+ 00019467  0x000047b1 setarg  0x00000000 
+ 00019468  0x000047b2 store  0x00000002 , 0x00000258 
+ 00019469  0x000047b3 rtn 
+ 00019470  0x000047bb rtn  0x0000002b 
+ 00019471  0x000047bc setarg  0x00004d28 
+ 00019472  0x000047bd store  0x00000002 , 0x000041f3 
+ 00019473  0x000047bf setarg  0x000001a0 
+ 00019474  0x000047c0 store  0x00000002 , 0x00004243 
+ 00019475  0x000047c2 setarg  0x00001800 
+ 00019476  0x000047c3 hstore  0x00000002 , 0x00008054 
+ 00019477  0x000047c4 setarg  0x00001bff 
+ 00019478  0x000047c5 hstore  0x00000002 , 0x00008056 
+ 00019479  0x000047c6 setarg  0x00001c00 
+ 00019480  0x000047c7 hstore  0x00000002 , 0x0000805a 
+ 00019481  0x000047c8 call  0x00004c28 
+ 00019482  0x000047ca jam  0x00000000 , 0x00008062 
+ 00019483  0x000047cb setarg  0x00001c00 
+ 00019484  0x000047cc hstore  0x00000002 , 0x0000805e 
+ 00019485  0x000047cd hstore  0x00000002 , 0x00008060 
+ 00019486  0x000047ce setarg  0x00001800 
+ 00019487  0x000047cf hstore  0x00000002 , 0x00008058 
+ 00019488  0x000047d0 store  0x00000002 , 0x00000244 
+ 00019489  0x000047d2 hfetch  0x00000002 , 0x00008050 
+ 00019490  0x000047d3 set0  0x0000000f , 0x0000003f 
+ 00019491  0x000047d4 hstore  0x00000002 , 0x00008050 
+ 00019492  0x000047d5 call  0x000066ce 
+ 00019493  0x000047d6 jam  0x00000001 , 0x00008043 
+ 00019494  0x000047d7 jam  0x00000081 , 0x00008062 
+ 00019495  0x000047d8 rtn 
+ 00019496  0x000047db setarg  0x00001fff 
+ 00019497  0x000047dc hstore  0x00000002 , 0x0000805c 
+ 00019498  0x000047dd hfetch  0x00000001 , 0x00008081 
+ 00019499  0x000047de or_into  0x00000007 , 0x0000003f 
+ 00019500  0x000047df hstore  0x00000001 , 0x00008081 
+ 00019501  0x000047e0 rtn 
+ 00019502  0x000047e4 bpatchx  0x00000001 , 0x00004020 
+ 00019503  0x000047e5 hfetch  0x00000001 , 0x0000810c 
+ 00019504  0x000047e6 iforce  0x00000012 
+ 00019505  0x000047e7 bbit0  0x00000003 , 0x00004c37 
+ 00019506  0x000047e8 hfetch  0x00000002 , 0x00008112 
+ 00019507  0x000047e9 iforce  0x00000013 
+ 00019508  0x000047ea arg  0x0000044f , 0x00000002 
+ 00019509  0x000047eb isub  0x00000002 , 0x0000003e 
+ 00019510  0x000047ec nrtn  0x00000005 
+ 00019511  0x000047ee hfetch  0x00000002 , 0x00008058 
+ 00019512  0x000047ef iforce  0x00000003 
+ 00019513  0x000047f0 branch  0x00004bc8 
+ 00019514  0x000047f3 hfetcht  0x00000001 , 0x0000810c 
+ 00019515  0x000047f4 isolate1  0x00000006 , 0x00000002 
+ 00019516  0x000047f5 branch  0x00004c3a , 0x00000001 
+ 00019517  0x000047f6 hstore  0x00000001 , 0x00008015 
+ 00019518  0x000047f7 rtn 
+ 00019519  0x000047fa bpatchx  0x00000002 , 0x00004020 
+ 00019520  0x000047fb fetch  0x00000001 , 0x000041ce 
+ 00019521  0x000047fc branch  0x00004c44 , 0x00000034 
+ 00019522  0x000047fd enable  0x00000028 
+ 00019523  0x000047fe rtn 
+ 00019524  0x00004800 ifetch  0x00000002 , 0x00000003 
+ 00019525  0x00004801 iforce  0x00000030 
+ 00019526  0x00004802 iforce  0x00000007 
+ 00019527  0x00004803 ifetch  0x00000001 , 0x00000003 
+ 00019528  0x00004804 iforce  0x00000002 
+ 00019529  0x00004805 rshift2  0x00000030 , 0x0000003f 
+ 00019530  0x00004806 rshift8  0x0000003f , 0x0000003f 
+ 00019531  0x00004807 beq  0x0000003f , 0x00004c4d 
+ 00019532  0x00004808 rtn 
+ 00019533  0x0000480c bpatchx  0x00000003 , 0x00004020 
+ 00019534  0x0000480d deposit  0x00000007 
+ 00019535  0x0000480e beq  0x00000000 , 0x00004cdc 
+ 00019536  0x0000480f beq  0x00000001 , 0x00004c66 
+ 00019537  0x00004810 beq  0x00000002 , 0x00004c6b 
+ 00019538  0x00004811 beq  0x00000003 , 0x00004c7a 
+ 00019539  0x00004812 beq  0x00000004 , 0x00004cb3 
+ 00019540  0x00004813 beq  0x00000005 , 0x00004cdc 
+ 00019541  0x00004814 beq  0x00000006 , 0x00004cc6 
+ 00019542  0x00004815 beq  0x00000007 , 0x00004c5c 
+ 00019543  0x00004817 beq  0x00000010 , 0x00004cc9 
+ 00019544  0x00004818 beq  0x00000011 , 0x00004cd1 
+ 00019545  0x00004819 beq  0x00000012 , 0x00004ca5 
+ 00019546  0x0000481a beq  0x00000013 , 0x00004c85 
+ 00019547  0x0000481b branch  0x00004cdc 
+ 00019548  0x0000481e call  0x00004cdc 
+ 00019549  0x0000481f call  0x00007f9e 
+ 00019550  0x00004820 call  0x0000688c 
+ 00019551  0x00004822 call  0x000033d2 
+ 00019552  0x00004823 call  0x000033d9 
+ 00019553  0x00004824 branch  0x0000688f 
+ 00019554  0x00004827 jam  0x00000000 , 0x00004245 
+ 00019555  0x00004828 call  0x000033d0 
+ 00019556  0x00004829 call  0x00004c13 
+ 00019557  0x0000482a branch  0x000033db 
+ 00019558  0x0000482d call  0x00004cf2 
+ 00019559  0x0000482e hfetch  0x00000002 , 0x00008000 
+ 00019560  0x0000482f istore  0x00000002 , 0x0000000a 
+ 00019561  0x00004830 force  0x00000006 , 0x00000039 
+ 00019562  0x00004831 branch  0x00004cdd 
+ 00019563  0x00004834 ifetch  0x00000002 , 0x00000003 
+ 00019564  0x00004835 store  0x00000002 , 0x00004243 
+ 00019565  0x00004836 hstore  0x00000002 , 0x00008052 
+ 00019566  0x00004837 rtn 
+ 00019567  0x0000483c ifetch  0x00000001 , 0x00000003 
+ 00019568  0x0000483d copy  0x0000003f , 0x00000002 
+ 00019569  0x0000483e hstore  0x00000001 , 0x00008024 
+ 00019570  0x0000483f ifetch  0x00000001 , 0x00000003 
+ 00019571  0x00004840 iadd  0x00000002 , 0x00000002 
+ 00019572  0x00004841 set1  0x00000007 , 0x0000003f 
+ 00019573  0x00004842 hstore  0x00000001 , 0x00008023 
+ 00019574  0x00004843 ifetch  0x00000001 , 0x00000003 
+ 00019575  0x00004844 iadd  0x00000002 , 0x00000002 
+ 00019576  0x00004845 copy  0x0000003f , 0x00000039 
+ 00019577  0x00004846 rtn 
+ 00019578  0x00004849 bmark1  0x0000002b , 0x00004cc4 
+ 00019579  0x0000484a call  0x00004c6f 
+ 00019580  0x0000484c ifetch  0x00000001 , 0x00000003 
+ 00019581  0x0000484d hstore  0x00000001 , 0x00008025 
+ 00019582  0x0000484e iadd  0x00000002 , 0x00000002 
+ 00019583  0x0000484f loop  0x00004c7c 
+ 00019584  0x00004851 and  0x00000002 , 0x000000ff , 0x00000002 
+ 00019585  0x00004852 ifetch  0x00000001 , 0x00000003 
+ 00019586  0x00004853 isub  0x00000002 , 0x0000003e 
+ 00019587  0x00004854 nbranch  0x00004cc4 , 0x00000005 
+ 00019588  0x00004855 branch  0x00004cdc 
+ 00019589  0x00004859 bmark0  0x0000002b , 0x00004cc4 
+ 00019590  0x0000485a call  0x00004c6f 
+ 00019591  0x0000485b store  0x00000008 , 0x00000a9a 
+ 00019592  0x0000485d call  0x00007422 
+ 00019593  0x0000485e arg  0x00000010 , 0x00000039 
+ 00019594  0x0000485f arg  0x00000ac2 , 0x00000005 
+ 00019595  0x00004860 call  0x00004ca0 
+ 00019596  0x00004861 storet  0x00000008 , 0x00000aa2 
+ 00019597  0x00004862 arg  0x00000ad2 , 0x00000005 
+ 00019598  0x00004863 call  0x00007497 
+ 00019599  0x00004864 arg  0x00000ad2 , 0x00000011 
+ 00019600  0x00004865 arg  0x00000ac2 , 0x00000012 
+ 00019601  0x00004866 arg  0x00000ae2 , 0x00000005 
+ 00019602  0x00004867 call  0x00007352 
+ 00019603  0x00004868 arg  0x00000010 , 0x00000039 
+ 00019604  0x00004869 arg  0x00000ae2 , 0x00000006 
+ 00019605  0x0000486a call  0x00004c9c 
+ 00019606  0x0000486b fetcht  0x00000008 , 0x00000aa2 
+ 00019607  0x0000486c fetch  0x00000008 , 0x00000a9a 
+ 00019608  0x0000486d increase  0xfffffff0 , 0x0000003f 
+ 00019609  0x0000486e store  0x00000008 , 0x00000a9a 
+ 00019610  0x0000486f nbranch  0x00004c88 , 0x00000034 
+ 00019611  0x00004870 branch  0x00004c80 
+ 00019612  0x00004873 ifetch  0x00000001 , 0x00000006 
+ 00019613  0x00004874 hstore  0x00000001 , 0x00008025 
+ 00019614  0x00004875 loop  0x00004c9c 
+ 00019615  0x00004876 rtn 
+ 00019616  0x00004879 ifetch  0x00000001 , 0x00000003 
+ 00019617  0x0000487a istore  0x00000001 , 0x00000005 
+ 00019618  0x0000487b iadd  0x00000002 , 0x00000002 
+ 00019619  0x0000487c loop  0x00004ca0 
+ 00019620  0x0000487d rtn 
+ 00019621  0x00004880 bmark0  0x0000002b , 0x00004cc4 
+ 00019622  0x00004881 arg  0x00000000 , 0x00000002 
+ 00019623  0x00004882 arg  0x00000010 , 0x00000039 
+ 00019624  0x00004883 arg  0x00000ac2 , 0x00000005 
+ 00019625  0x00004884 call  0x00004ca0 
+ 00019626  0x00004885 hfetch  0x00000001 , 0x00008085 
+ 00019627  0x00004886 and_into  0x000000fd , 0x0000003f 
+ 00019628  0x00004887 hstore  0x00000001 , 0x00008085 
+ 00019629  0x00004888 arg  0x00000ac2 , 0x00000006 
+ 00019630  0x00004889 arg  0x00000010 , 0x00000039 
+ 00019631  0x0000488a call  0x00007478 
+ 00019632  0x0000488b call  0x00007428 
+ 00019633  0x0000488c call  0x00007491 
+ 00019634  0x0000488d branch  0x00004c80 
+ 00019635  0x00004891 arg  0x00000020 , 0x00000039 
+ 00019636  0x00004892 arg  0x00004000 , 0x00000005 
+ 00019637  0x00004893 arg  0x00000000 , 0x00000002 
+ 00019638  0x00004895 ifetch  0x00000001 , 0x00000003 
+ 00019639  0x00004896 istore  0x00000001 , 0x00000005 
+ 00019640  0x00004897 iadd  0x00000002 , 0x00000002 
+ 00019641  0x00004898 loop  0x00004cb6 
+ 00019642  0x00004899 and  0x00000002 , 0x000000ff , 0x00000002 
+ 00019643  0x0000489a ifetch  0x00000001 , 0x00000003 
+ 00019644  0x0000489b isub  0x00000002 , 0x0000003e 
+ 00019645  0x0000489c nbranch  0x00004cc4 , 0x00000005 
+ 00019646  0x0000489d jam  0x00000000 , 0x00008023 
+ 00019647  0x0000489e call  0x00004cdc 
+ 00019648  0x0000489f call  0x00004be6 
+ 00019649  0x000048a0 call  0x000064a3 
+ 00019650  0x000048a1 call  0x00007f9e 
+ 00019651  0x000048a2 branch  0x00002001 
+ 00019652  0x000048a5 jam  0x00000000 , 0x00008023 
+ 00019653  0x000048a6 branch  0x00002000 
+ 00019654  0x000048a9 ifetch  0x00000006 , 0x00000003 
+ 00019655  0x000048aa store  0x00000006 , 0x000040a0 
+ 00019656  0x000048ab branch  0x00004cdc 
+ 00019657  0x000048af ifetch  0x00000001 , 0x00000003 
+ 00019658  0x000048b0 store  0x00000001 , 0x0000025a 
+ 00019659  0x000048b1 copy  0x0000003f , 0x00000039 
+ 00019660  0x000048b2 ifetch  0x00000002 , 0x00000003 
+ 00019661  0x000048b3 store  0x00000002 , 0x0000025b 
+ 00019662  0x000048b4 copy  0x0000003f , 0x00000005 
+ 00019663  0x000048b5 call  0x000066fd 
+ 00019664  0x000048b6 branch  0x00004cdc 
+ 00019665  0x000048ba ifetch  0x00000001 , 0x00000003 
+ 00019666  0x000048bb store  0x00000001 , 0x0000025a 
+ 00019667  0x000048bc copy  0x0000003f , 0x00000039 
+ 00019668  0x000048bd ifetch  0x00000002 , 0x00000003 
+ 00019669  0x000048be store  0x00000002 , 0x0000025b 
+ 00019670  0x000048bf arg  0x00001000 , 0x00000005 
+ 00019671  0x000048c0 call  0x000066fd 
+ 00019672  0x000048c1 fetcht  0x00000001 , 0x0000025a 
+ 00019673  0x000048c2 arg  0x00001000 , 0x00000011 
+ 00019674  0x000048c3 fetch  0x00000002 , 0x0000025b 
+ 00019675  0x000048c4 branch  0x00006608 
+ 00019676  0x000048ca force  0x00000004 , 0x00000039 
+ 00019677  0x000048cc call  0x00004cf4 
+ 00019678  0x000048cd force  0x00000001 , 0x0000003f 
+ 00019679  0x000048ce istore  0x00000001 , 0x0000000a 
+ 00019680  0x000048cf deposit  0x00000030 
+ 00019681  0x000048d0 istore  0x00000003 , 0x0000000a 
+ 00019682  0x000048d1 force  0x0000000e , 0x00000007 
+ 00019683  0x000048d3 bpatchx  0x00000004 , 0x00004020 
+ 00019684  0x000048d4 call  0x00004cf6 
+ 00019685  0x000048d5 deposit  0x00000007 
+ 00019686  0x000048d6 istore  0x00000001 , 0x0000000a 
+ 00019687  0x000048d7 deposit  0x00000039 
+ 00019688  0x000048d8 istore  0x00000001 , 0x0000000a 
+ 00019689  0x000048da force  0x00000005 , 0x00000007 
+ 00019690  0x000048db increase  0x00000002 , 0x00000039 
+ 00019691  0x000048dd branch  0x00004bf9 
+ 00019692  0x000048e0 force  0x000000ff , 0x00000007 
+ 00019693  0x000048e1 call  0x00004cf4 
+ 00019694  0x000048e2 setarg  0x00000001 
+ 00019695  0x000048e3 istore  0x00000001 , 0x0000000a 
+ 00019696  0x000048e4 force  0x00000001 , 0x00000039 
+ 00019697  0x000048e5 branch  0x00004ce3 
+ 00019698  0x000048e8 force  0x0000000c , 0x0000000a 
+ 00019699  0x000048e9 branch  0x00004cf7 
+ 00019700  0x000048ec force  0x00000008 , 0x0000000a 
+ 00019701  0x000048ed branch  0x00004cf7 
+ 00019702  0x000048f0 force  0x00000006 , 0x0000000a 
+ 00019703  0x000048f2 branch  0x00004bf5 
+ 00019704  0x000048f7 pulse  0x0000000f 
+ 00019705  0x000048f8 enable  0x00000009 
+ 00019706  0x000048fa ifetch  0x00000001 , 0x0000000a 
+ 00019707  0x000048fb inject  0x00000000 , 0x00000008 
+ 00019708  0x000048fc loop  0x00004cfa 
+ 00019709  0x000048fd enable  0x00000008 
+ 00019710  0x000048fe inject  0x00000000 , 0x00000010 
+ 00019711  0x000048ff disable  0x00000008 
+ 00019712  0x00004900 disable  0x00000009 
+ 00019713  0x00004901 disable  0x0000000f 
+ 00019714  0x00004902 byteswap  0x0000003f , 0x0000003f 
+ 00019715  0x00004903 rtn 
+ 00019716  0x00004908 jam  0x00000000 , 0x000041ce 
+ 00019717  0x00004909 rtn 
+ 00019718  0x0000490b fetch  0x00000006 , 0x000041d0 
+ 00019719  0x0000490c fetcht  0x00000006 , 0x00000040 
+ 00019720  0x0000490d isub  0x00000002 , 0x0000003e 
+ 00019721  0x0000490e rtn 
+ 00019722  0x00004914 fetch  0x00000001 , 0x0000004b 
+ 00019723  0x00004915 bbit1  0x00000002 , 0x00004d0f 
+ 00019724  0x00004916 call  0x000062ef 
+ 00019725  0x00004917 jam  0x00000008 , 0x0000007c 
+ 00019726  0x00004918 branch  0x00004d04 
+ 00019727  0x0000491a set0  0x00000002 , 0x0000003f 
+ 00019728  0x0000491b store  0x00000001 , 0x0000004b 
+ 00019729  0x0000491c call  0x00006001 
+ 00019730  0x0000491d setarg  0x00000000 
+ 00019731  0x0000491e setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00019732  0x0000491f store  0x00000001 , 0x0000007f 
+ 00019733  0x00004920 branch  0x00004d04 
+ 00019734  0x00004921 rtn 
+ 00019735  0x00004923 jam  0x00000017 , 0x0000007c 
+ 00019736  0x00004924 arg  0x000004d9 , 0x00000005 
+ 00019737  0x00004925 setarg  0x00000000 
+ 00019738  0x00004926 isolate1  0x0000001b , 0x00000028 
+ 00019739  0x00004927 setflag  0x00000001 , 0x00000001 , 0x0000003f 
+ 00019740  0x00004928 istore  0x00000001 , 0x00000005 
+ 00019741  0x00004929 setarg  0x00000000 
+ 00019742  0x0000492a istore  0x00000002 , 0x00000005 
+ 00019743  0x0000492b fetch  0x00000002 , 0x000041e3 
+ 00019744  0x0000492c istore  0x00000002 , 0x00000005 
+ 00019745  0x0000492d fetch  0x00000001 , 0x000041e5 
+ 00019746  0x0000492e istore  0x00000002 , 0x00000005 
+ 00019747  0x0000492f fetch  0x00000001 , 0x000041e7 
+ 00019748  0x00004930 istore  0x00000002 , 0x00000005 
+ 00019749  0x00004931 branch  0x00004d04 
+ 00019750  0x00004934 jam  0x00000018 , 0x0000007c 
+ 00019751  0x00004935 branch  0x00004d04 
+ 00019752  0x00004938 call  0x00006899 
+ 00019753  0x00004939 rtn  0x00000001 
+ 00019754  0x0000493a arg  0x00000007 , 0x00000002 
+ 00019755  0x0000493b call  0x0000681d 
+ 00019756  0x0000493c nbranch  0x00004d2f , 0x00000001 
+ 00019757  0x0000493d jam  0x00000001 , 0x00004245 
+ 00019758  0x0000493e rtn 
+ 00019759  0x00004940 fetch  0x00000001 , 0x00004245 
+ 00019760  0x00004941 rtnne  0x00000001 
+ 00019761  0x00004942 call  0x00004c62 
+ 00019762  0x00004943 branch  0x00004cec 
+ 00019763  0x00004952 bpatchx  0x00000005 , 0x00004020 
+ 00019764  0x00004953 fetch  0x00000002 , 0x00000264 
+ 00019765  0x00004954 copy  0x0000003f , 0x00000006 
+ 00019766  0x00004955 ifetch  0x00000001 , 0x00000006 
+ 00019767  0x00004956 and  0x0000003f , 0x0000000f , 0x00000002 
+ 00019768  0x00004957 rshift4  0x0000003f , 0x0000003f 
+ 00019769  0x00004958 beq  0x00000009 , 0x00004d53 
+ 00019770  0x00004959 beq  0x00000007 , 0x00004d53 
+ 00019771  0x0000495a beq  0x0000000a , 0x00004d5f 
+ 00019772  0x0000495b beq  0x00000005 , 0x00004d4b 
+ 00019773  0x0000495c beq  0x00000001 , 0x00004d3f 
+ 00019774  0x0000495d rtn 
+ 00019775  0x00004960 copy  0x00000002 , 0x0000003f 
+ 00019776  0x00004961 beq  0x00000005 , 0x00004d43 
+ 00019777  0x00004962 beq  0x00000003 , 0x00004d4a 
+ 00019778  0x00004963 rtn 
+ 00019779  0x00004966 jam  0x00000027 , 0x00000a99 
+ 00019780  0x00004967 call  0x00007d86 
+ 00019781  0x00004968 fetch  0x00000001 , 0x00004092 
+ 00019782  0x00004969 rtnbit0  0x00000006 
+ 00019783  0x0000496a copy  0x00000002 , 0x0000003f 
+ 00019784  0x0000496b beq  0x00000005 , 0x0000438e 
+ 00019785  0x0000496c rtn 
+ 00019786  0x0000496e rtn 
+ 00019787  0x00004971 call  0x00004d5f 
+ 00019788  0x00004972 arg  0x00000001 , 0x00000011 
+ 00019789  0x00004973 call  0x00004d63 
+ 00019790  0x00004974 fetch  0x00000002 , 0x0000424c 
+ 00019791  0x00004975 istore  0x00000002 , 0x00000005 
+ 00019792  0x00004976 setarg  0x00000000 
+ 00019793  0x00004977 istore  0x00000001 , 0x00000005 
+ 00019794  0x00004978 rtn 
+ 00019795  0x0000497b arg  0x00000001 , 0x00000011 
+ 00019796  0x0000497c call  0x00004d63 
+ 00019797  0x0000497d fetch  0x00000002 , 0x0000424c 
+ 00019798  0x0000497e istore  0x00000002 , 0x00000005 
+ 00019799  0x0000497f setarg  0x00000000 
+ 00019800  0x00004980 istore  0x00000001 , 0x00000005 
+ 00019801  0x00004981 jam  0x00000001 , 0x00000a8e 
+ 00019802  0x00004982 fetch  0x00000001 , 0x00004252 
+ 00019803  0x00004983 set1  0x00000006 
+ 00019804  0x00004984 store  0x00000001 , 0x00004252 
+ 00019805  0x00004985 jam  0x00000012 , 0x00000a99 
+ 00019806  0x00004986 branch  0x00007d86 
+ 00019807  0x00004989 ifetch  0x00000001 , 0x00000006 
+ 00019808  0x0000498a beq  0x00000001 , 0x00004d62 
+ 00019809  0x0000498b rtn 
+ 00019810  0x0000498e rtn 
+ 00019811  0x00004992 call  0x00005240 
+ 00019812  0x00004993 copy  0x00000011 , 0x00000002 
+ 00019813  0x00004994 storet  0x00000001 , 0x00000a8e 
+ 00019814  0x00004995 copy  0x0000003f , 0x00000005 
+ 00019815  0x00004996 copy  0x00000011 , 0x0000003f 
+ 00019816  0x00004997 istore  0x00000002 , 0x00000005 
+ 00019817  0x00004998 rtn 
+ 00019818  0x000049aa branch  0x00004d6f , 0x0000002b 
+ 00019819  0x000049ac setarg  0x00004365 
+ 00019820  0x000049ad arg  0x00004246 , 0x00000005 
+ 00019821  0x000049ae isub  0x00000005 , 0x00000039 
+ 00019822  0x000049af call  0x00007ed4 
+ 00019823  0x000049b1 bpatchx  0x00000006 , 0x00004020 
+ 00019824  0x000049b2 setarg  0x00000551 
+ 00019825  0x000049b3 arg  0x00000511 , 0x00000005 
+ 00019826  0x000049b4 isub  0x00000005 , 0x00000039 
+ 00019827  0x000049b5 call  0x00007ed4 
+ 00019828  0x000049b6 setarg  0x000002c9 
+ 00019829  0x000049b7 arg  0x0000025d , 0x00000005 
+ 00019830  0x000049b8 isub  0x00000005 , 0x00000039 
+ 00019831  0x000049b9 call  0x00007ed4 
+ 00019832  0x000049ba branch  0x00005318 
+ 00019833  0x000049bd bpatchx  0x00000007 , 0x00004020 
+ 00019834  0x000049be copy  0x00000006 , 0x00000002 
+ 00019835  0x000049c1 copy  0x00000002 , 0x00000006 
+ 00019836  0x000049c2 ifetch  0x00000002 , 0x00000006 
+ 00019837  0x000049c3 store  0x00000002 , 0x00000266 
+ 00019838  0x000049c4 ifetch  0x00000002 , 0x00000006 
+ 00019839  0x000049c5 store  0x00000002 , 0x00000268 
+ 00019840  0x000049c6 deposit  0x00000006 
+ 00019841  0x000049c7 store  0x00000002 , 0x00000264 
+ 00019842  0x000049c8 fetch  0x00000001 , 0x00004681 
+ 00019843  0x000049c9 beq  0x00000000 , 0x00004d85 
+ 00019844  0x000049ca branch  0x000050ef 
+ 00019845  0x000049cd fetch  0x00000002 , 0x00000266 
+ 00019846  0x000049ce branch  0x00004dfc , 0x00000034 
+ 00019847  0x000049cf bpatchx  0x00000008 , 0x00004021 
+ 00019848  0x000049d0 fetch  0x00000001 , 0x00000268 
+ 00019849  0x000049d1 beq  0x00000001 , 0x00004d9d 
+ 00019850  0x000049d3 beq  0x00000050 , 0x00004de0 
+ 00019851  0x000049d4 beq  0x00000051 , 0x00004df5 
+ 00019852  0x000049d5 beq  0x00000052 , 0x00004df3 
+ 00019853  0x000049d6 beq  0x00000053 , 0x00004df3 
+ 00019854  0x000049d7 branch  0x00004dfc 
+ 00019855  0x000049dc bpatchx  0x00000009 , 0x00004021 
+ 00019856  0x000049dd call  0x0000527e 
+ 00019857  0x000049de fetch  0x00000001 , 0x00004256 
+ 00019858  0x000049df beq  0x00000000 , 0x00004d9b 
+ 00019859  0x000049e0 beq  0x00000001 , 0x00004d9b 
+ 00019860  0x000049e1 beq  0x00000002 , 0x00004d9b 
+ 00019861  0x000049e2 beq  0x00000003 , 0x00004d9b 
+ 00019862  0x000049e3 beq  0x00000081 , 0x00004d9b 
+ 00019863  0x000049e4 beq  0x000000c0 , 0x00004d9b 
+ 00019864  0x000049e5 beq  0x00000080 , 0x00004d9b 
+ 00019865  0x000049e6 beq  0x00000040 , 0x00004d9b 
+ 00019866  0x000049e7 rtn 
+ 00019867  0x000049ea setarg  0x00000000 
+ 00019868  0x000049eb rtn 
+ 00019869  0x000049ef call  0x00004d8f 
+ 00019870  0x000049f0 nrtn  0x00000034 
+ 00019871  0x000049f2 call  0x000052b8 
+ 00019872  0x000049f3 call  0x00004e01 
+ 00019873  0x000049f4 fetcht  0x00000002 , 0x0000026f 
+ 00019874  0x000049f5 branch  0x00004dfb , 0x00000034 
+ 00019875  0x000049f6 call  0x000052c1 
+ 00019876  0x000049f7 fetch  0x00000002 , 0x0000026f 
+ 00019877  0x000049f8 istore  0x00000002 , 0x00000005 
+ 00019878  0x000049f9 force  0x00000001 , 0x0000003f 
+ 00019879  0x000049fa istore  0x00000002 , 0x00000005 
+ 00019880  0x000049fb branch  0x00004dfc 
+ 00019881  0x000049fe fetch  0x00000001 , 0x00004364 
+ 00019882  0x000049ff rtn  0x00000034 
+ 00019883  0x00004a00 copy  0x0000003f , 0x00000011 
+ 00019884  0x00004a01 bpatchx  0x0000000a , 0x00004021 
+ 00019885  0x00004a02 fetch  0x00000004 , 0x000002d5 
+ 00019886  0x00004a03 arg  0x00000100 , 0x00000002 
+ 00019887  0x00004a04 iadd  0x00000002 , 0x00000002 
+ 00019888  0x00004a05 copy  0x00000022 , 0x0000003f 
+ 00019889  0x00004a06 isub  0x00000002 , 0x0000003e 
+ 00019890  0x00004a07 nrtn  0x00000002 
+ 00019891  0x00004a08 jam  0x00000000 , 0x00004364 
+ 00019892  0x00004a09 copy  0x00000011 , 0x0000003f 
+ 00019893  0x00004a0a beq  0x00000050 , 0x00004db7 
+ 00019894  0x00004a0b branch  0x00002a8c 
+ 00019895  0x00004a0d arg  0x00000000 , 0x00000008 
+ 00019896  0x00004a0e call  0x000052b8 
+ 00019897  0x00004a0f call  0x00004e7a 
+ 00019898  0x00004a10 call  0x000052c3 
+ 00019899  0x00004a11 call  0x00007ea8 
+ 00019900  0x00004a12 call  0x00004ead 
+ 00019901  0x00004a13 call  0x000052c1 
+ 00019902  0x00004a15 setarg  0x0000000c 
+ 00019903  0x00004a16 istore  0x00000002 , 0x00000005 
+ 00019904  0x00004a17 force  0x00000001 , 0x0000003f 
+ 00019905  0x00004a18 istore  0x00000002 , 0x00000005 
+ 00019906  0x00004a19 branch  0x00004dfc 
+ 00019907  0x00004a1e bpatchx  0x0000000b , 0x00004021 
+ 00019908  0x00004a1f fetch  0x00000002 , 0x00000275 
+ 00019909  0x00004a20 increase  0x00000004 , 0x0000003f 
+ 00019910  0x00004a21 rshift4  0x0000003f , 0x0000003f 
+ 00019911  0x00004a22 rshift3  0x0000003f , 0x0000003f 
+ 00019912  0x00004a23 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00019913  0x00004a24 arg  0x00004260 , 0x00000006 
+ 00019914  0x00004a25 ifetch  0x00000003 , 0x00000006 
+ 00019915  0x00004a26 rtn  0x00000034 
+ 00019916  0x00004a27 store  0x00000003 , 0x00000ac2 
+ 00019917  0x00004a28 fetch  0x00000001 , 0x00000ac2 
+ 00019918  0x00004a29 copy  0x0000003f , 0x00000011 
+ 00019919  0x00004a2a call  0x00004dd3 
+ 00019920  0x00004a2b copy  0x00000012 , 0x0000003f 
+ 00019921  0x00004a2c store  0x00000001 , 0x00004260 
+ 00019922  0x00004a2d rtn 
+ 00019923  0x00004a30 arg  0x00000000 , 0x00000007 
+ 00019924  0x00004a31 arg  0x00000000 , 0x00000012 
+ 00019925  0x00004a34 sub  0x00000007 , 0x00000007 , 0x0000003e 
+ 00019926  0x00004a35 nrtn  0x00000002 
+ 00019927  0x00004a36 qisolate1  0x00000011 
+ 00019928  0x00004a37 branch  0x00004dda , 0x00000001 
+ 00019929  0x00004a38 branch  0x00004dde 
+ 00019930  0x00004a3b copy  0x00000002 , 0x0000003f 
+ 00019931  0x00004a3c branch  0x00004dde , 0x00000034 
+ 00019932  0x00004a3d qset1  0x00000012 
+ 00019933  0x00004a3e increase  0xffffffff , 0x00000002 
+ 00019934  0x00004a41 increase  0x00000001 , 0x00000007 
+ 00019935  0x00004a42 branch  0x00004dd5 
+ 00019936  0x00004a45 call  0x00005274 
+ 00019937  0x00004a46 nrtn  0x00000034 
+ 00019938  0x00004a47 call  0x00004d8f 
+ 00019939  0x00004a48 nrtn  0x00000034 
+ 00019940  0x00004a49 call  0x000052c5 
+ 00019941  0x00004a4a call  0x00006e11 
+ 00019942  0x00004a4b call  0x00004dc3 
+ 00019943  0x00004a4c branch  0x00004dec 
+ 00019944  0x00004a50 call  0x00005274 
+ 00019945  0x00004a51 nrtn  0x00000034 
+ 00019946  0x00004a52 call  0x000052c5 
+ 00019947  0x00004a53 call  0x00006e11 
+ 00019948  0x00004a55 call  0x000052ce 
+ 00019949  0x00004a56 fetch  0x00000002 , 0x00000275 
+ 00019950  0x00004a57 branch  0x00004dfb , 0x00000034 
+ 00019951  0x00004a58 istore  0x00000002 , 0x00000005 
+ 00019952  0x00004a59 fetch  0x00000002 , 0x00004248 
+ 00019953  0x00004a5a istore  0x00000002 , 0x00000005 
+ 00019954  0x00004a5b branch  0x00004dfc 
+ 00019955  0x00004a5e call  0x00004d33 
+ 00019956  0x00004a5f branch  0x00004dfc 
+ 00019957  0x00004a62 bpatchx  0x0000000c , 0x00004021 
+ 00019958  0x00004a63 jam  0x00000000 , 0x00000284 
+ 00019959  0x00004a64 call  0x00006a8a 
+ 00019960  0x00004a65 fetch  0x00000001 , 0x00000284 
+ 00019961  0x00004a66 rtneq  0x00000001 
+ 00019962  0x00004a67 branch  0x00004dfc 
+ 00019963  0x00004a69 call  0x00005264 
+ 00019964  0x00004a6c setarg  0x00000000 
+ 00019965  0x00004a6d store  0x00000002 , 0x00000266 
+ 00019966  0x00004a6e store  0x00000002 , 0x00000268 
+ 00019967  0x00004a6f jam  0x00000001 , 0x0000026a 
+ 00019968  0x00004a70 rtn 
+ 00019969  0x00004a73 bpatchx  0x0000000d , 0x00004021 
+ 00019970  0x00004a74 call  0x000052c3 
+ 00019971  0x00004a75 force  0x00000000 , 0x00000012 
+ 00019972  0x00004a76 fetch  0x00000002 , 0x00000266 
+ 00019973  0x00004a77 copy  0x0000003f , 0x00000013 
+ 00019974  0x00004a78 fetch  0x00000002 , 0x00000264 
+ 00019975  0x00004a79 iforce  0x00000006 
+ 00019976  0x00004a7b call  0x00004e10 
+ 00019977  0x00004a7c deposit  0x00000013 
+ 00019978  0x00004a7d increase  0xfffffffc , 0x00000013 
+ 00019979  0x00004a7e increase  0xfffffffc , 0x0000003f 
+ 00019980  0x00004a7f nbranch  0x00004e08 , 0x00000034 
+ 00019981  0x00004a80 copy  0x00000012 , 0x0000003f 
+ 00019982  0x00004a81 store  0x00000002 , 0x0000026f 
+ 00019983  0x00004a82 rtn 
+ 00019984  0x00004a85 bpatchx  0x0000000e , 0x00004021 
+ 00019985  0x00004a86 ifetch  0x00000001 , 0x00000006 
+ 00019986  0x00004a87 beq  0x00000001 , 0x00004e49 
+ 00019987  0x00004a88 beq  0x00000002 , 0x00004e51 
+ 00019988  0x00004a89 beq  0x00000003 , 0x00004ed5 
+ 00019989  0x00004a8a beq  0x00000004 , 0x00004f05 
+ 00019990  0x00004a8b beq  0x00000005 , 0x00004fa2 
+ 00019991  0x00004a8c beq  0x00000006 , 0x00004fcb 
+ 00019992  0x00004a8d beq  0x00000007 , 0x0000501b 
+ 00019993  0x00004a8e beq  0x00000008 , 0x00005050 
+ 00019994  0x00004a8f beq  0x00000009 , 0x00005060 
+ 00019995  0x00004a90 beq  0x0000000a , 0x00004e1f 
+ 00019996  0x00004a91 beq  0x0000000b , 0x00005061 
+ 00019997  0x00004a92 call  0x00005062 
+ 00019998  0x00004a94 rtn 
+ 00019999  0x00004a97 ifetch  0x00000001 , 0x00000006 
+ 00020000  0x00004a98 copy  0x0000003f , 0x00000007 
+ 00020001  0x00004a99 ifetch  0x00000002 , 0x00000006 
+ 00020002  0x00004a9a copy  0x0000003f , 0x00000011 
+ 00020003  0x00004a9b copy  0x00000013 , 0x0000003f 
+ 00020004  0x00004a9c isub  0x00000011 , 0x00000013 
+ 00020005  0x00004a9d setarg  0x0000000b 
+ 00020006  0x00004a9e istore  0x00000001 , 0x00000005 
+ 00020007  0x00004a9f copy  0x00000007 , 0x0000003f 
+ 00020008  0x00004aa0 istore  0x00000001 , 0x00000005 
+ 00020009  0x00004aa1 ifetch  0x00000002 , 0x00000006 
+ 00020010  0x00004aa3 beq  0x00000002 , 0x00004e2d 
+ 00020011  0x00004aa4 beq  0x00000003 , 0x00004e33 
+ 00020012  0x00004aa5 rtn 
+ 00020013  0x00004aa7 setarg  0x00020008 
+ 00020014  0x00004aa8 istore  0x00000006 , 0x00000005 
+ 00020015  0x00004aa9 setarg  0x00000280 
+ 00020016  0x00004aaa istore  0x00000004 , 0x00000005 
+ 00020017  0x00004aab force  0x0000000c , 0x0000003f 
+ 00020018  0x00004aac branch  0x00004e38 
+ 00020019  0x00004aae setarg  0x0003000c 
+ 00020020  0x00004aaf istore  0x00000006 , 0x00000005 
+ 00020021  0x00004ab0 setarg  0x00000006 
+ 00020022  0x00004ab1 istore  0x00000008 , 0x00000005 
+ 00020023  0x00004ab2 force  0x00000010 , 0x0000003f 
+ 00020024  0x00004ab4 iadd  0x00000012 , 0x00000012 
+ 00020025  0x00004ab5 branch  0x00004e1e 
+ 00020026  0x00004ab8 ifetch  0x00000001 , 0x00000006 
+ 00020027  0x00004ab9 copy  0x0000003f , 0x00000007 
+ 00020028  0x00004aba ifetch  0x00000002 , 0x00000006 
+ 00020029  0x00004abb copy  0x0000003f , 0x00000011 
+ 00020030  0x00004abc ifetch  0x00000002 , 0x00000006 
+ 00020031  0x00004abd store  0x00000002 , 0x00000aa2 
+ 00020032  0x00004abe copy  0x00000013 , 0x0000003f 
+ 00020033  0x00004abf isub  0x00000011 , 0x00000013 
+ 00020034  0x00004ac0 call  0x000052c3 
+ 00020035  0x00004ac1 setarg  0x0000000b 
+ 00020036  0x00004ac2 istore  0x00000001 , 0x00000005 
+ 00020037  0x00004ac3 copy  0x00000007 , 0x0000003f 
+ 00020038  0x00004ac4 istore  0x00000001 , 0x00000005 
+ 00020039  0x00004ac5 fetch  0x00000002 , 0x00000aa2 
+ 00020040  0x00004ac6 branch  0x00004e2a 
+ 00020041  0x00004acb ifetch  0x00000001 , 0x00000006 
+ 00020042  0x00004acc copy  0x0000003f , 0x00000007 
+ 00020043  0x00004acd ifetch  0x00000002 , 0x00000006 
+ 00020044  0x00004ace copy  0x0000003f , 0x00000011 
+ 00020045  0x00004acf iadd  0x00000006 , 0x00000006 
+ 00020046  0x00004ad0 copy  0x00000013 , 0x0000003f 
+ 00020047  0x00004ad1 isub  0x00000011 , 0x00000013 
+ 00020048  0x00004ad3 branch  0x00004e1e 
+ 00020049  0x00004ad6 call  0x00007ea8 
+ 00020050  0x00004ad9 call  0x00007ead 
+ 00020051  0x00004ada arg  0x00000000 , 0x00000008 
+ 00020052  0x00004adb ifetch  0x00000001 , 0x00000006 
+ 00020053  0x00004adc copy  0x0000003f , 0x00000007 
+ 00020054  0x00004add ifetch  0x00000002 , 0x00000006 
+ 00020055  0x00004ade copy  0x0000003f , 0x00000011 
+ 00020056  0x00004adf ifetch  0x00000002 , 0x00000006 
+ 00020057  0x00004ae0 copy  0x0000003f , 0x00000002 
+ 00020058  0x00004ae1 ifetch  0x00000002 , 0x00000006 
+ 00020059  0x00004ae2 copy  0x0000003f , 0x0000000b 
+ 00020060  0x00004ae3 bpatchx  0x0000000f , 0x00004021 
+ 00020061  0x00004ae4 copy  0x00000002 , 0x0000003f 
+ 00020062  0x00004ae5 beq  0x00000001 , 0x00004e64 
+ 00020063  0x00004ae6 beq  0x00000003 , 0x00004e86 
+ 00020064  0x00004ae7 beq  0x00000011 , 0x00004e92 
+ 00020065  0x00004ae8 beq  0x00000013 , 0x00004e9d 
+ 00020066  0x00004ae9 call  0x00005062 
+ 00020067  0x00004aea branch  0x00004ed4 
+ 00020068  0x00004aed call  0x00007ea8 
+ 00020069  0x00004aee arg  0x00000050 , 0x00000002 
+ 00020070  0x00004aef fetch  0x00000002 , 0x00004248 
+ 00020071  0x00004af0 nbranch  0x00004ece , 0x00000034 
+ 00020072  0x00004af1 copy  0x0000000b , 0x0000003f 
+ 00020073  0x00004af2 store  0x00000002 , 0x00004248 
+ 00020074  0x00004af3 copy  0x00000022 , 0x0000003f 
+ 00020075  0x00004af4 store  0x00000004 , 0x000002d5 
+ 00020076  0x00004af5 call  0x00004e6e 
+ 00020077  0x00004af6 branch  0x00004ea9 
+ 00020078  0x00004af9 storet  0x00000002 , 0x000002d3 
+ 00020079  0x00004afa deposit  0x0000000b 
+ 00020080  0x00004afb store  0x00000002 , 0x000002c9 
+ 00020081  0x00004afc deposit  0x00000011 
+ 00020082  0x00004afd store  0x00000002 , 0x000002cb 
+ 00020083  0x00004afe deposit  0x00000012 
+ 00020084  0x00004aff store  0x00000002 , 0x000002cd 
+ 00020085  0x00004b00 deposit  0x00000013 
+ 00020086  0x00004b01 store  0x00000002 , 0x000002cf 
+ 00020087  0x00004b02 deposit  0x00000007 
+ 00020088  0x00004b03 store  0x00000002 , 0x000002d1 
+ 00020089  0x00004b04 rtn 
+ 00020090  0x00004b07 fetcht  0x00000002 , 0x000002d3 
+ 00020091  0x00004b08 fetch  0x00000002 , 0x000002c9 
+ 00020092  0x00004b09 copy  0x0000003f , 0x0000000b 
+ 00020093  0x00004b0a fetch  0x00000002 , 0x000002cb 
+ 00020094  0x00004b0b copy  0x0000003f , 0x00000011 
+ 00020095  0x00004b0c fetch  0x00000002 , 0x000002cd 
+ 00020096  0x00004b0d copy  0x0000003f , 0x00000012 
+ 00020097  0x00004b0e fetch  0x00000002 , 0x000002cf 
+ 00020098  0x00004b0f copy  0x0000003f , 0x00000013 
+ 00020099  0x00004b10 fetch  0x00000002 , 0x000002d1 
+ 00020100  0x00004b11 copy  0x0000003f , 0x00000007 
+ 00020101  0x00004b12 rtn 
+ 00020102  0x00004b15 call  0x00007ea8 
+ 00020103  0x00004b16 setarg  0x00000051 
+ 00020104  0x00004b17 arg  0x00000051 , 0x00000002 
+ 00020105  0x00004b18 fetch  0x00000002 , 0x0000424a 
+ 00020106  0x00004b19 nbranch  0x00004ece , 0x00000034 
+ 00020107  0x00004b1a copy  0x0000000b , 0x0000003f 
+ 00020108  0x00004b1b store  0x00000002 , 0x0000424a 
+ 00020109  0x00004b1c fetch  0x00000001 , 0x00004251 
+ 00020110  0x00004b1d set1  0x00000000 , 0x0000003f 
+ 00020111  0x00004b1e set1  0x00000001 , 0x0000003f 
+ 00020112  0x00004b1f store  0x00000001 , 0x00004251 
+ 00020113  0x00004b20 branch  0x00004eb1 
+ 00020114  0x00004b22 call  0x00007ea8 
+ 00020115  0x00004b23 arg  0x00000052 , 0x00000002 
+ 00020116  0x00004b24 fetch  0x00000002 , 0x0000424c 
+ 00020117  0x00004b25 nbranch  0x00004ece , 0x00000034 
+ 00020118  0x00004b26 copy  0x0000000b , 0x0000003f 
+ 00020119  0x00004b27 store  0x00000002 , 0x0000424c 
+ 00020120  0x00004b28 fetch  0x00000001 , 0x00004252 
+ 00020121  0x00004b29 set1  0x00000000 , 0x0000003f 
+ 00020122  0x00004b2a set1  0x00000001 , 0x0000003f 
+ 00020123  0x00004b2b store  0x00000001 , 0x00004252 
+ 00020124  0x00004b2c branch  0x00004eb1 
+ 00020125  0x00004b2e call  0x00007ea8 
+ 00020126  0x00004b2f deposit  0x0000001a 
+ 00020127  0x00004b30 arg  0x00000053 , 0x00000002 
+ 00020128  0x00004b31 fetch  0x00000002 , 0x0000424e 
+ 00020129  0x00004b32 nbranch  0x00004ece , 0x00000034 
+ 00020130  0x00004b33 copy  0x0000000b , 0x0000003f 
+ 00020131  0x00004b34 store  0x00000002 , 0x0000424e 
+ 00020132  0x00004b35 fetch  0x00000001 , 0x00004253 
+ 00020133  0x00004b36 set1  0x00000000 , 0x0000003f 
+ 00020134  0x00004b37 set1  0x00000001 , 0x0000003f 
+ 00020135  0x00004b38 store  0x00000001 , 0x00004253 
+ 00020136  0x00004b39 branch  0x00004eb1 
+ 00020137  0x00004b3c setarg  0x00000001 
+ 00020138  0x00004b3d store  0x00000002 , 0x0000027d 
+ 00020139  0x00004b3e jam  0x00000050 , 0x00004364 
+ 00020140  0x00004b3f branch  0x00004eb3 
+ 00020141  0x00004b41 fetch  0x00000001 , 0x00004250 
+ 00020142  0x00004b42 set1  0x00000000 , 0x0000003f 
+ 00020143  0x00004b43 set1  0x00000001 , 0x0000003f 
+ 00020144  0x00004b44 store  0x00000001 , 0x00004250 
+ 00020145  0x00004b46 setarg  0x00000000 
+ 00020146  0x00004b47 store  0x00000002 , 0x0000027d 
+ 00020147  0x00004b49 bpatchx  0x00000010 , 0x00004022 
+ 00020148  0x00004b4a call  0x00007ead 
+ 00020149  0x00004b4b setarg  0x00000003 
+ 00020150  0x00004b4c istore  0x00000001 , 0x00000005 
+ 00020151  0x00004b4d copy  0x00000007 , 0x0000003f 
+ 00020152  0x00004b4e istore  0x00000001 , 0x00000005 
+ 00020153  0x00004b4f setarg  0x00000008 
+ 00020154  0x00004b50 istore  0x00000002 , 0x00000005 
+ 00020155  0x00004b51 copy  0x00000002 , 0x0000003f 
+ 00020156  0x00004b52 istore  0x00000002 , 0x00000005 
+ 00020157  0x00004b53 copy  0x0000000b , 0x0000003f 
+ 00020158  0x00004b54 istore  0x00000002 , 0x00000005 
+ 00020159  0x00004b55 fetch  0x00000002 , 0x0000027d 
+ 00020160  0x00004b56 beq  0x00000001 , 0x00004ec9 
+ 00020161  0x00004b57 isolate0  0x00000000 , 0x00000008 
+ 00020162  0x00004b58 branch  0x00004ec4 , 0x00000001 
+ 00020163  0x00004b59 setarg  0x00000004 
+ 00020164  0x00004b5b istore  0x00000002 , 0x00000005 
+ 00020165  0x00004b5c force  0x00000000 , 0x0000003f 
+ 00020166  0x00004b5d istore  0x00000002 , 0x00000005 
+ 00020167  0x00004b5e setarg  0x0000000c 
+ 00020168  0x00004b5f branch  0x00004ed0 
+ 00020169  0x00004b61 istore  0x00000002 , 0x00000005 
+ 00020170  0x00004b62 force  0x00000002 , 0x0000003f 
+ 00020171  0x00004b63 istore  0x00000002 , 0x00000005 
+ 00020172  0x00004b64 setarg  0x0000000c 
+ 00020173  0x00004b65 branch  0x00004ed0 
+ 00020174  0x00004b68 set1  0x00000000 , 0x00000008 
+ 00020175  0x00004b69 branch  0x00004eb1 
+ 00020176  0x00004b6b iadd  0x00000012 , 0x00000012 
+ 00020177  0x00004b6c copy  0x00000013 , 0x0000003f 
+ 00020178  0x00004b6d isub  0x00000011 , 0x00000013 
+ 00020179  0x00004b6e branch  0x00004ed4 
+ 00020180  0x00004b70 branch  0x00004e1e 
+ 00020181  0x00004b73 ifetch  0x00000001 , 0x00000006 
+ 00020182  0x00004b74 copy  0x0000003f , 0x00000007 
+ 00020183  0x00004b75 ifetch  0x00000002 , 0x00000006 
+ 00020184  0x00004b76 copy  0x0000003f , 0x00000011 
+ 00020185  0x00004b77 copy  0x00000013 , 0x0000003f 
+ 00020186  0x00004b78 isub  0x00000011 , 0x00000013 
+ 00020187  0x00004b79 ifetch  0x00000002 , 0x00000006 
+ 00020188  0x00004b7a copy  0x0000003f , 0x0000000b 
+ 00020189  0x00004b7b ifetch  0x00000002 , 0x00000006 
+ 00020190  0x00004b7c copy  0x0000003f , 0x00000002 
+ 00020191  0x00004b7d bpatchx  0x00000011 , 0x00004022 
+ 00020192  0x00004b7e setarg  0x00000050 
+ 00020193  0x00004b7f isub  0x00000002 , 0x0000003e 
+ 00020194  0x00004b80 branch  0x00004eed , 0x00000005 
+ 00020195  0x00004b81 setarg  0x00000051 
+ 00020196  0x00004b82 isub  0x00000002 , 0x0000003e 
+ 00020197  0x00004b83 branch  0x00004ef3 , 0x00000005 
+ 00020198  0x00004b84 setarg  0x00000052 
+ 00020199  0x00004b85 isub  0x00000002 , 0x0000003e 
+ 00020200  0x00004b86 branch  0x00004eff , 0x00000005 
+ 00020201  0x00004b87 setarg  0x00000053 
+ 00020202  0x00004b88 isub  0x00000002 , 0x0000003e 
+ 00020203  0x00004b89 branch  0x00004ef9 , 0x00000005 
+ 00020204  0x00004b8a rtn 
+ 00020205  0x00004b8d copy  0x0000000b , 0x0000003f 
+ 00020206  0x00004b8e store  0x00000002 , 0x00004248 
+ 00020207  0x00004b8f fetch  0x00000001 , 0x00004250 
+ 00020208  0x00004b90 set1  0x00000001 , 0x0000003f 
+ 00020209  0x00004b91 store  0x00000001 , 0x00004250 
+ 00020210  0x00004b92 branch  0x00004e1e 
+ 00020211  0x00004b94 copy  0x0000000b , 0x0000003f 
+ 00020212  0x00004b95 store  0x00000002 , 0x0000424a 
+ 00020213  0x00004b96 fetch  0x00000001 , 0x00004251 
+ 00020214  0x00004b97 set1  0x00000001 , 0x0000003f 
+ 00020215  0x00004b98 store  0x00000001 , 0x00004251 
+ 00020216  0x00004b99 rtn 
+ 00020217  0x00004b9b copy  0x0000000b , 0x0000003f 
+ 00020218  0x00004b9c store  0x00000002 , 0x0000424c 
+ 00020219  0x00004b9d fetch  0x00000001 , 0x00004253 
+ 00020220  0x00004b9e set1  0x00000001 , 0x0000003f 
+ 00020221  0x00004b9f store  0x00000001 , 0x00004253 
+ 00020222  0x00004ba0 rtn 
+ 00020223  0x00004ba2 copy  0x0000000b , 0x0000003f 
+ 00020224  0x00004ba3 store  0x00000002 , 0x0000424e 
+ 00020225  0x00004ba4 fetch  0x00000001 , 0x00004252 
+ 00020226  0x00004ba5 set1  0x00000001 , 0x0000003f 
+ 00020227  0x00004ba6 store  0x00000001 , 0x00004252 
+ 00020228  0x00004ba7 rtn 
+ 00020229  0x00004baa ifetch  0x00000001 , 0x00000006 
+ 00020230  0x00004bab copy  0x0000003f , 0x00000007 
+ 00020231  0x00004bac ifetch  0x00000002 , 0x00000006 
+ 00020232  0x00004bad copy  0x0000003f , 0x00000011 
+ 00020233  0x00004bae copy  0x00000013 , 0x0000003f 
+ 00020234  0x00004baf isub  0x00000011 , 0x00000013 
+ 00020235  0x00004bb0 ifetch  0x00000002 , 0x00000006 
+ 00020236  0x00004bb1 copy  0x0000003f , 0x00000002 
+ 00020237  0x00004bb2 copy  0x00000002 , 0x00000011 
+ 00020238  0x00004bb3 bpatchx  0x00000012 , 0x00004022 
+ 00020239  0x00004bb4 setarg  0x00000050 
+ 00020240  0x00004bb5 isub  0x00000002 , 0x0000003e 
+ 00020241  0x00004bb6 branch  0x00004f1c , 0x00000005 
+ 00020242  0x00004bb7 setarg  0x00000051 
+ 00020243  0x00004bb8 isub  0x00000002 , 0x0000003e 
+ 00020244  0x00004bb9 branch  0x00004f3a , 0x00000005 
+ 00020245  0x00004bba setarg  0x00000052 
+ 00020246  0x00004bbb isub  0x00000002 , 0x0000003e 
+ 00020247  0x00004bbc branch  0x00004f26 , 0x00000005 
+ 00020248  0x00004bbd setarg  0x00000053 
+ 00020249  0x00004bbe isub  0x00000002 , 0x0000003e 
+ 00020250  0x00004bbf branch  0x00004f30 , 0x00000005 
+ 00020251  0x00004bc0 branch  0x00005062 
+ 00020252  0x00004bc3 copy  0x00000005 , 0x0000000b 
+ 00020253  0x00004bc4 fetch  0x00000001 , 0x00004250 
+ 00020254  0x00004bc5 set1  0x00000004 , 0x0000003f 
+ 00020255  0x00004bc6 set1  0x00000003 , 0x0000003f 
+ 00020256  0x00004bc8 store  0x00000001 , 0x00004250 
+ 00020257  0x00004bc9 copy  0x0000000b , 0x00000005 
+ 00020258  0x00004bca arg  0x00000050 , 0x0000000b 
+ 00020259  0x00004bcb fetch  0x00000002 , 0x00004248 
+ 00020260  0x00004bcc copy  0x0000003f , 0x00000002 
+ 00020261  0x00004bcd branch  0x00004f43 
+ 00020262  0x00004bcf copy  0x00000005 , 0x0000000b 
+ 00020263  0x00004bd0 fetch  0x00000001 , 0x00004252 
+ 00020264  0x00004bd1 set1  0x00000004 , 0x0000003f 
+ 00020265  0x00004bd2 set1  0x00000003 , 0x0000003f 
+ 00020266  0x00004bd4 store  0x00000001 , 0x00004252 
+ 00020267  0x00004bd5 copy  0x0000000b , 0x00000005 
+ 00020268  0x00004bd6 arg  0x00000052 , 0x0000000b 
+ 00020269  0x00004bd7 fetch  0x00000002 , 0x0000424c 
+ 00020270  0x00004bd8 copy  0x0000003f , 0x00000002 
+ 00020271  0x00004bd9 branch  0x00004f43 
+ 00020272  0x00004bdb copy  0x00000005 , 0x0000000b 
+ 00020273  0x00004bdc fetch  0x00000001 , 0x00004253 
+ 00020274  0x00004bdd set1  0x00000004 , 0x0000003f 
+ 00020275  0x00004bde set1  0x00000003 , 0x0000003f 
+ 00020276  0x00004be0 store  0x00000001 , 0x00004253 
+ 00020277  0x00004be1 copy  0x0000000b , 0x00000005 
+ 00020278  0x00004be2 arg  0x00000053 , 0x0000000b 
+ 00020279  0x00004be3 fetch  0x00000002 , 0x0000424e 
+ 00020280  0x00004be4 copy  0x0000003f , 0x00000002 
+ 00020281  0x00004be5 branch  0x00004f43 
+ 00020282  0x00004be7 copy  0x00000005 , 0x0000000b 
+ 00020283  0x00004be8 fetch  0x00000001 , 0x00004251 
+ 00020284  0x00004be9 set1  0x00000004 , 0x0000003f 
+ 00020285  0x00004bea set1  0x00000003 , 0x0000003f 
+ 00020286  0x00004bec store  0x00000001 , 0x00004251 
+ 00020287  0x00004bee copy  0x0000000b , 0x00000005 
+ 00020288  0x00004bef arg  0x00000051 , 0x0000000b 
+ 00020289  0x00004bf0 fetch  0x00000002 , 0x0000424a 
+ 00020290  0x00004bf1 copy  0x0000003f , 0x00000002 
+ 00020291  0x00004bf3 bpatchx  0x00000013 , 0x00004022 
+ 00020292  0x00004bf4 setarg  0x00000005 
+ 00020293  0x00004bf5 istore  0x00000001 , 0x00000005 
+ 00020294  0x00004bf6 copy  0x00000007 , 0x0000003f 
+ 00020295  0x00004bf7 istore  0x00000001 , 0x00000005 
+ 00020296  0x00004bf8 setarg  0x00000006 
+ 00020297  0x00004bf9 istore  0x00000002 , 0x00000005 
+ 00020298  0x00004bfa copy  0x00000002 , 0x0000003f 
+ 00020299  0x00004bfb istore  0x00000002 , 0x00000005 
+ 00020300  0x00004bfc force  0x00000000 , 0x0000003f 
+ 00020301  0x00004bfd istore  0x00000002 , 0x00000005 
+ 00020302  0x00004bfe force  0x00000000 , 0x0000003f 
+ 00020303  0x00004bff istore  0x00000002 , 0x00000005 
+ 00020304  0x00004c00 force  0x0000000a , 0x0000003f 
+ 00020305  0x00004c01 iadd  0x00000012 , 0x00000012 
+ 00020306  0x00004c03 storet  0x00000002 , 0x00000282 
+ 00020307  0x00004c04 copy  0x00000007 , 0x0000003f 
+ 00020308  0x00004c05 store  0x00000001 , 0x00000281 
+ 00020309  0x00004c06 force  0x00000050 , 0x0000003f 
+ 00020310  0x00004c07 icompare  0x000000ff , 0x0000000b 
+ 00020311  0x00004c08 branch  0x00004f59 , 0x00000001 
+ 00020312  0x00004c09 increase  0x00000001 , 0x0000003f 
+ 00020313  0x00004c0c rtn 
+ 00020314  0x00004c0e disable  0x00000028 
+ 00020315  0x00004c0f rtnbit1  0x00000002 , 0x0000003f 
+ 00020316  0x00004c10 rtnbit0  0x00000000 , 0x0000003f 
+ 00020317  0x00004c11 rtnbit0  0x00000001 , 0x0000003f 
+ 00020318  0x00004c12 set1  0x00000002 , 0x0000003f 
+ 00020319  0x00004c13 copy  0x00000006 , 0x00000005 
+ 00020320  0x00004c14 increase  0xffffffff , 0x00000005 
+ 00020321  0x00004c15 istore  0x00000001 , 0x00000005 
+ 00020322  0x00004c16 enable  0x00000028 
+ 00020323  0x00004c17 rtn 
+ 00020324  0x00004c1a fetch  0x00000001 , 0x00004250 
+ 00020325  0x00004c1b call  0x00004f5a 
+ 00020326  0x00004c1c nbranch  0x00004f6b , 0x00000028 
+ 00020327  0x00004c1d jam  0x00000050 , 0x00000280 
+ 00020328  0x00004c1e fetch  0x00000002 , 0x00004248 
+ 00020329  0x00004c1f store  0x00000002 , 0x00000282 
+ 00020330  0x00004c20 branch  0x00004f7f 
+ 00020331  0x00004c22 fetch  0x00000001 , 0x00004251 
+ 00020332  0x00004c23 call  0x00004f5a 
+ 00020333  0x00004c24 nbranch  0x00004f72 , 0x00000028 
+ 00020334  0x00004c25 jam  0x00000051 , 0x00000280 
+ 00020335  0x00004c26 fetch  0x00000002 , 0x0000424a 
+ 00020336  0x00004c27 store  0x00000002 , 0x00000282 
+ 00020337  0x00004c28 branch  0x00004f7f 
+ 00020338  0x00004c2a fetch  0x00000001 , 0x00004252 
+ 00020339  0x00004c2b call  0x00004f5a 
+ 00020340  0x00004c2c nbranch  0x00004f79 , 0x00000028 
+ 00020341  0x00004c2d jam  0x00000052 , 0x00000280 
+ 00020342  0x00004c2e fetch  0x00000002 , 0x0000424c 
+ 00020343  0x00004c2f store  0x00000002 , 0x00000282 
+ 00020344  0x00004c30 branch  0x00004f7f 
+ 00020345  0x00004c32 fetch  0x00000001 , 0x00004253 
+ 00020346  0x00004c33 call  0x00004f5a 
+ 00020347  0x00004c34 nrtn  0x00000028 
+ 00020348  0x00004c35 jam  0x00000053 , 0x00000280 
+ 00020349  0x00004c36 fetch  0x00000002 , 0x0000424e 
+ 00020350  0x00004c37 store  0x00000002 , 0x00000282 
+ 00020351  0x00004c3b bpatchx  0x00000014 , 0x00004022 
+ 00020352  0x00004c3c call  0x0000523a 
+ 00020353  0x00004c3d call  0x000052b8 
+ 00020354  0x00004c3e force  0x00000000 , 0x00000012 
+ 00020355  0x00004c3f call  0x000052c3 
+ 00020356  0x00004c40 force  0x00000004 , 0x0000003f 
+ 00020357  0x00004c41 istore  0x00000001 , 0x00000005 
+ 00020358  0x00004c42 fetch  0x00000001 , 0x00004255 
+ 00020359  0x00004c43 istore  0x00000001 , 0x00000005 
+ 00020360  0x00004c44 setarg  0x00000008 
+ 00020361  0x00004c45 istore  0x00000002 , 0x00000005 
+ 00020362  0x00004c46 fetch  0x00000002 , 0x00000282 
+ 00020363  0x00004c47 istore  0x00000002 , 0x00000005 
+ 00020364  0x00004c48 setarg  0x00000000 
+ 00020365  0x00004c49 istore  0x00000002 , 0x00000005 
+ 00020366  0x00004c4a force  0x00000001 , 0x0000003f 
+ 00020367  0x00004c4b istore  0x00000001 , 0x00000005 
+ 00020368  0x00004c4c force  0x00000002 , 0x0000003f 
+ 00020369  0x00004c4d istore  0x00000001 , 0x00000005 
+ 00020370  0x00004c4e fetch  0x00000001 , 0x00000280 
+ 00020371  0x00004c4f beq  0x00000051 , 0x00004f97 
+ 00020372  0x00004c50 setarg  0x00000030 
+ 00020373  0x00004c51 istore  0x00000002 , 0x00000005 
+ 00020374  0x00004c52 branch  0x00004f99 
+ 00020375  0x00004c54 setarg  0x000003e3 
+ 00020376  0x00004c55 istore  0x00000002 , 0x00000005 
+ 00020377  0x00004c57 arg  0x0000000c , 0x00000002 
+ 00020378  0x00004c58 storet  0x00000002 , 0x0000026f 
+ 00020379  0x00004c59 call  0x000052c1 
+ 00020380  0x00004c5a fetch  0x00000002 , 0x0000026f 
+ 00020381  0x00004c5b istore  0x00000002 , 0x00000005 
+ 00020382  0x00004c5c force  0x00000001 , 0x0000003f 
+ 00020383  0x00004c5d istore  0x00000002 , 0x00000005 
+ 00020384  0x00004c5e jam  0x00000000 , 0x00000280 
+ 00020385  0x00004c60 branch  0x00004e1e 
+ 00020386  0x00004c63 increase  0x00000001 , 0x00000006 
+ 00020387  0x00004c64 ifetch  0x00000002 , 0x00000006 
+ 00020388  0x00004c65 copy  0x0000003f , 0x00000011 
+ 00020389  0x00004c66 copy  0x00000013 , 0x0000003f 
+ 00020390  0x00004c67 isub  0x00000011 , 0x00000013 
+ 00020391  0x00004c68 ifetch  0x00000002 , 0x00000006 
+ 00020392  0x00004c69 copy  0x0000003f , 0x00000011 
+ 00020393  0x00004c6a bpatchx  0x00000015 , 0x00004022 
+ 00020394  0x00004c6b setarg  0x00000050 
+ 00020395  0x00004c6c isub  0x00000011 , 0x0000003e 
+ 00020396  0x00004c6d branch  0x00004fba , 0x00000005 
+ 00020397  0x00004c6e setarg  0x00000051 
+ 00020398  0x00004c6f isub  0x00000011 , 0x0000003e 
+ 00020399  0x00004c70 branch  0x00004fbe , 0x00000005 
+ 00020400  0x00004c71 setarg  0x00000052 
+ 00020401  0x00004c72 isub  0x00000011 , 0x0000003e 
+ 00020402  0x00004c73 branch  0x00004fc2 , 0x00000005 
+ 00020403  0x00004c74 setarg  0x00000053 
+ 00020404  0x00004c75 isub  0x00000011 , 0x0000003e 
+ 00020405  0x00004c76 branch  0x00004fc6 , 0x00000005 
+ 00020406  0x00004c77 increase  0x00000002 , 0x00000006 
+ 00020407  0x00004c78 ifetch  0x00000002 , 0x00000006 
+ 00020408  0x00004c79 iforce  0x0000003e 
+ 00020409  0x00004c7a branch  0x00004e1e 
+ 00020410  0x00004c7c fetch  0x00000001 , 0x00004250 
+ 00020411  0x00004c7d set1  0x00000005 , 0x0000003f 
+ 00020412  0x00004c7e store  0x00000001 , 0x00004250 
+ 00020413  0x00004c7f branch  0x00004e1e 
+ 00020414  0x00004c81 fetch  0x00000001 , 0x00004251 
+ 00020415  0x00004c82 set1  0x00000005 , 0x0000003f 
+ 00020416  0x00004c83 store  0x00000001 , 0x00004251 
+ 00020417  0x00004c84 branch  0x00004e1e 
+ 00020418  0x00004c86 fetch  0x00000001 , 0x00004252 
+ 00020419  0x00004c87 set1  0x00000005 , 0x0000003f 
+ 00020420  0x00004c88 store  0x00000001 , 0x00004252 
+ 00020421  0x00004c89 branch  0x00004e1e 
+ 00020422  0x00004c8b fetch  0x00000001 , 0x00004253 
+ 00020423  0x00004c8c set1  0x00000005 , 0x0000003f 
+ 00020424  0x00004c8d store  0x00000001 , 0x00004253 
+ 00020425  0x00004c8e jam  0x00000006 , 0x00000a99 
+ 00020426  0x00004c8f branch  0x00007d86 
+ 00020427  0x00004c94 ifetch  0x00000001 , 0x00000006 
+ 00020428  0x00004c95 copy  0x0000003f , 0x00000007 
+ 00020429  0x00004c96 ifetch  0x00000002 , 0x00000006 
+ 00020430  0x00004c97 copy  0x0000003f , 0x00000011 
+ 00020431  0x00004c98 copy  0x00000013 , 0x0000003f 
+ 00020432  0x00004c99 isub  0x00000011 , 0x00000013 
+ 00020433  0x00004c9a ifetch  0x00000002 , 0x00000006 
+ 00020434  0x00004c9b copy  0x0000003f , 0x00000011 
+ 00020435  0x00004c9c ifetch  0x00000002 , 0x00000006 
+ 00020436  0x00004c9d copy  0x0000003f , 0x0000000b 
+ 00020437  0x00004c9e copy  0x00000011 , 0x00000002 
+ 00020438  0x00004c9f call  0x00007ea8 
+ 00020439  0x00004ca0 bpatchx  0x00000016 , 0x00004022 
+ 00020440  0x00004ca1 setarg  0x00000050 
+ 00020441  0x00004ca2 isub  0x00000002 , 0x0000003e 
+ 00020442  0x00004ca3 branch  0x00004ff2 , 0x00000005 
+ 00020443  0x00004ca4 setarg  0x00000051 
+ 00020444  0x00004ca5 isub  0x00000002 , 0x0000003e 
+ 00020445  0x00004ca6 branch  0x00005002 , 0x00000005 
+ 00020446  0x00004ca7 setarg  0x00000052 
+ 00020447  0x00004ca8 isub  0x00000002 , 0x0000003e 
+ 00020448  0x00004ca9 branch  0x00004fe6 , 0x00000005 
+ 00020449  0x00004caa setarg  0x00000053 
+ 00020450  0x00004cab isub  0x00000002 , 0x0000003e 
+ 00020451  0x00004cac branch  0x00004fec , 0x00000005 
+ 00020452  0x00004cad call  0x00005062 
+ 00020453  0x00004cae branch  0x00005017 
+ 00020454  0x00004cb0 copy  0x0000000b , 0x00000002 
+ 00020455  0x00004cb1 fetch  0x00000002 , 0x0000424c 
+ 00020456  0x00004cb2 isub  0x00000002 , 0x0000003e 
+ 00020457  0x00004cb3 branch  0x00004ff8 , 0x00000005 
+ 00020458  0x00004cb4 call  0x00005062 
+ 00020459  0x00004cb5 branch  0x00005017 
+ 00020460  0x00004cb7 copy  0x0000000b , 0x00000002 
+ 00020461  0x00004cb8 fetch  0x00000002 , 0x0000424e 
+ 00020462  0x00004cb9 isub  0x00000002 , 0x0000003e 
+ 00020463  0x00004cba branch  0x00004ffa , 0x00000005 
+ 00020464  0x00004cbb call  0x00005062 
+ 00020465  0x00004cbc branch  0x00005017 
+ 00020466  0x00004cbf copy  0x0000000b , 0x00000002 
+ 00020467  0x00004cc0 fetch  0x00000002 , 0x00004248 
+ 00020468  0x00004cc1 isub  0x00000002 , 0x0000003e 
+ 00020469  0x00004cc2 branch  0x00004ffe , 0x00000005 
+ 00020470  0x00004cc3 call  0x00005062 
+ 00020471  0x00004cc4 branch  0x00005017 
+ 00020472  0x00004cc6 call  0x00005079 
+ 00020473  0x00004cc7 branch  0x0000500a 
+ 00020474  0x00004cc9 call  0x0000507f 
+ 00020475  0x00004cca fetch  0x00000002 , 0x0000424c 
+ 00020476  0x00004ccb branch  0x0000500a , 0x00000034 
+ 00020477  0x00004cd3 branch  0x0000500a 
+ 00020478  0x00004cd6 call  0x00005074 
+ 00020479  0x00004cd7 fetch  0x00000001 , 0x00000288 
+ 00020480  0x00004cd8 nbranch  0x0000500a , 0x00000034 
+ 00020481  0x00004cdb branch  0x0000500a 
+ 00020482  0x00004cdd copy  0x0000000b , 0x00000002 
+ 00020483  0x00004cde fetch  0x00000002 , 0x0000424a 
+ 00020484  0x00004cdf isub  0x00000002 , 0x0000003e 
+ 00020485  0x00004ce0 branch  0x00005008 , 0x00000005 
+ 00020486  0x00004ce1 call  0x00005062 
+ 00020487  0x00004ce2 branch  0x00005017 
+ 00020488  0x00004ce4 call  0x0000506f 
+ 00020489  0x00004ce5 branch  0x0000500a 
+ 00020490  0x00004ce7 call  0x00007ead 
+ 00020491  0x00004ce8 setarg  0x00000007 
+ 00020492  0x00004ce9 istore  0x00000001 , 0x00000005 
+ 00020493  0x00004cea copy  0x00000007 , 0x0000003f 
+ 00020494  0x00004ceb istore  0x00000001 , 0x00000005 
+ 00020495  0x00004cec setarg  0x00000004 
+ 00020496  0x00004ced istore  0x00000002 , 0x00000005 
+ 00020497  0x00004cee copy  0x00000011 , 0x0000003f 
+ 00020498  0x00004cef istore  0x00000002 , 0x00000005 
+ 00020499  0x00004cf0 copy  0x0000000b , 0x0000003f 
+ 00020500  0x00004cf1 istore  0x00000002 , 0x00000005 
+ 00020501  0x00004cf2 force  0x00000008 , 0x0000003f 
+ 00020502  0x00004cf3 branch  0x00005019 
+ 00020503  0x00004cf5 call  0x00007ead 
+ 00020504  0x00004cf6 branch  0x00005019 
+ 00020505  0x00004cf8 iadd  0x00000012 , 0x00000012 
+ 00020506  0x00004cf9 branch  0x00004e1e 
+ 00020507  0x00004cfb ifetch  0x00000001 , 0x00000006 
+ 00020508  0x00004cfc copy  0x0000003f , 0x00000007 
+ 00020509  0x00004cfd ifetch  0x00000002 , 0x00000006 
+ 00020510  0x00004cfe copy  0x0000003f , 0x00000011 
+ 00020511  0x00004cff copy  0x00000013 , 0x0000003f 
+ 00020512  0x00004d00 isub  0x00000011 , 0x00000013 
+ 00020513  0x00004d01 ifetch  0x00000002 , 0x00000006 
+ 00020514  0x00004d02 copy  0x0000003f , 0x0000000b 
+ 00020515  0x00004d03 ifetch  0x00000002 , 0x00000006 
+ 00020516  0x00004d04 copy  0x0000003f , 0x00000002 
+ 00020517  0x00004d05 call  0x00007ea8 
+ 00020518  0x00004d06 bpatchx  0x00000017 , 0x00004022 
+ 00020519  0x00004d07 setarg  0x00000050 
+ 00020520  0x00004d08 isub  0x00000002 , 0x0000003e 
+ 00020521  0x00004d09 branch  0x00005035 , 0x00000005 
+ 00020522  0x00004d0a setarg  0x00000051 
+ 00020523  0x00004d0b isub  0x00000002 , 0x0000003e 
+ 00020524  0x00004d0c branch  0x0000503b , 0x00000005 
+ 00020525  0x00004d0d setarg  0x00000052 
+ 00020526  0x00004d0e isub  0x00000002 , 0x0000003e 
+ 00020527  0x00004d0f branch  0x00005041 , 0x00000005 
+ 00020528  0x00004d10 setarg  0x00000053 
+ 00020529  0x00004d11 isub  0x00000002 , 0x0000003e 
+ 00020530  0x00004d12 branch  0x00005047 , 0x00000005 
+ 00020531  0x00004d13 call  0x00005062 
+ 00020532  0x00004d14 branch  0x0000504f 
+ 00020533  0x00004d16 copy  0x00000002 , 0x00000011 
+ 00020534  0x00004d17 copy  0x0000000b , 0x00000002 
+ 00020535  0x00004d18 fetch  0x00000002 , 0x00004248 
+ 00020536  0x00004d19 isub  0x00000002 , 0x0000003e 
+ 00020537  0x00004d1a call  0x00005074 , 0x00000005 
+ 00020538  0x00004d1b branch  0x0000504d 
+ 00020539  0x00004d1d copy  0x00000002 , 0x00000011 
+ 00020540  0x00004d1e copy  0x0000000b , 0x00000002 
+ 00020541  0x00004d1f fetch  0x00000002 , 0x0000424a 
+ 00020542  0x00004d20 isub  0x00000002 , 0x0000003e 
+ 00020543  0x00004d21 call  0x0000506f , 0x00000005 
+ 00020544  0x00004d22 branch  0x0000504d 
+ 00020545  0x00004d24 copy  0x00000002 , 0x00000011 
+ 00020546  0x00004d25 copy  0x0000000b , 0x00000002 
+ 00020547  0x00004d26 fetch  0x00000002 , 0x0000424c 
+ 00020548  0x00004d27 isub  0x00000002 , 0x0000003e 
+ 00020549  0x00004d28 call  0x00005079 , 0x00000005 
+ 00020550  0x00004d29 branch  0x0000504d 
+ 00020551  0x00004d2b copy  0x00000002 , 0x00000011 
+ 00020552  0x00004d2c copy  0x0000000b , 0x00000002 
+ 00020553  0x00004d2d fetch  0x00000002 , 0x0000424e 
+ 00020554  0x00004d2e isub  0x00000002 , 0x0000003e 
+ 00020555  0x00004d2f call  0x0000507f , 0x00000005 
+ 00020556  0x00004d30 branch  0x0000504d 
+ 00020557  0x00004d32 call  0x00007ead 
+ 00020558  0x00004d33 branch  0x00004e1e 
+ 00020559  0x00004d35 branch  0x00004e1e 
+ 00020560  0x00004d39 ifetch  0x00000001 , 0x00000006 
+ 00020561  0x00004d3a copy  0x0000003f , 0x00000007 
+ 00020562  0x00004d3b ifetch  0x00000002 , 0x00000006 
+ 00020563  0x00004d3c copy  0x0000003f , 0x00000011 
+ 00020564  0x00004d3d iadd  0x00000006 , 0x00000006 
+ 00020565  0x00004d3e setarg  0x00000009 
+ 00020566  0x00004d3f istore  0x00000001 , 0x00000005 
+ 00020567  0x00004d40 copy  0x00000007 , 0x0000003f 
+ 00020568  0x00004d41 istore  0x00000001 , 0x00000005 
+ 00020569  0x00004d42 force  0x00000000 , 0x0000003f 
+ 00020570  0x00004d43 istore  0x00000002 , 0x00000005 
+ 00020571  0x00004d44 force  0x00000004 , 0x0000003f 
+ 00020572  0x00004d45 iadd  0x00000012 , 0x00000012 
+ 00020573  0x00004d46 copy  0x00000013 , 0x0000003f 
+ 00020574  0x00004d47 isub  0x00000011 , 0x00000013 
+ 00020575  0x00004d48 branch  0x00004e1e 
+ 00020576  0x00004d4a branch  0x00004e1e 
+ 00020577  0x00004d4d branch  0x00004e1e 
+ 00020578  0x00004d4f force  0x00000000 , 0x00000012 
+ 00020579  0x00004d50 call  0x000052c3 
+ 00020580  0x00004d51 setarg  0x00000001 
+ 00020581  0x00004d52 istore  0x00000001 , 0x00000005 
+ 00020582  0x00004d53 copy  0x00000007 , 0x0000003f 
+ 00020583  0x00004d54 istore  0x00000001 , 0x00000005 
+ 00020584  0x00004d55 setarg  0x00000002 
+ 00020585  0x00004d56 istore  0x00000002 , 0x00000005 
+ 00020586  0x00004d57 setarg  0x00000000 
+ 00020587  0x00004d58 istore  0x00000002 , 0x00000005 
+ 00020588  0x00004d59 increase  0x00000006 , 0x00000012 
+ 00020589  0x00004d5a arg  0x00000004 , 0x00000013 
+ 00020590  0x00004d5b branch  0x00004e1e 
+ 00020591  0x00004d60 setarg  0x00000000 
+ 00020592  0x00004d61 store  0x00000002 , 0x0000027b 
+ 00020593  0x00004d62 store  0x00000002 , 0x0000424a 
+ 00020594  0x00004d63 jam  0x00000000 , 0x00004251 
+ 00020595  0x00004d64 rtn 
+ 00020596  0x00004d66 setarg  0x00000000 
+ 00020597  0x00004d67 store  0x00000002 , 0x00000275 
+ 00020598  0x00004d68 store  0x00000002 , 0x00004248 
+ 00020599  0x00004d69 jam  0x00000000 , 0x00004250 
+ 00020600  0x00004d6a rtn 
+ 00020601  0x00004d6c setarg  0x00000000 
+ 00020602  0x00004d6d store  0x00000002 , 0x0000424c 
+ 00020603  0x00004d6e jam  0x00000000 , 0x00004252 
+ 00020604  0x00004d6f fetch  0x00000001 , 0x00004253 
+ 00020605  0x00004d70 beq  0x00000000 , 0x00005085 
+ 00020606  0x00004d71 rtn 
+ 00020607  0x00004d74 setarg  0x00000000 
+ 00020608  0x00004d75 store  0x00000002 , 0x0000424e 
+ 00020609  0x00004d76 jam  0x00000000 , 0x00004253 
+ 00020610  0x00004d77 fetch  0x00000001 , 0x00004252 
+ 00020611  0x00004d78 beq  0x00000000 , 0x00005085 
+ 00020612  0x00004d79 rtn 
+ 00020613  0x00004d7c jam  0x00000007 , 0x00000a99 
+ 00020614  0x00004d7d branch  0x00007d86 
+ 00020615  0x00004d80 fetch  0x00000001 , 0x0000027f 
+ 00020616  0x00004d81 set0  0x00000000 , 0x0000003f 
+ 00020617  0x00004d82 store  0x00000001 , 0x0000027f 
+ 00020618  0x00004d83 fetch  0x00000002 , 0x0000424e 
+ 00020619  0x00004d84 rtn  0x00000034 
+ 00020620  0x00004d85 call  0x000052b8 
+ 00020621  0x00004d86 fetch  0x00000002 , 0x0000424e 
+ 00020622  0x00004d87 copy  0x0000003f , 0x00000011 
+ 00020623  0x00004d88 force  0x00000053 , 0x00000012 
+ 00020624  0x00004d89 branch  0x0000509a 
+ 00020625  0x00004d8b fetch  0x00000001 , 0x0000027f 
+ 00020626  0x00004d8c set0  0x00000007 , 0x0000003f 
+ 00020627  0x00004d8d store  0x00000001 , 0x0000027f 
+ 00020628  0x00004d8e fetch  0x00000002 , 0x0000424c 
+ 00020629  0x00004d8f rtn  0x00000034 
+ 00020630  0x00004d90 call  0x000052b8 
+ 00020631  0x00004d91 fetch  0x00000002 , 0x0000424c 
+ 00020632  0x00004d92 copy  0x0000003f , 0x00000011 
+ 00020633  0x00004d93 force  0x00000052 , 0x00000012 
+ 00020634  0x00004d95 call  0x0000523a 
+ 00020635  0x00004d96 call  0x000052c3 
+ 00020636  0x00004d97 force  0x00000006 , 0x0000003f 
+ 00020637  0x00004d98 istore  0x00000001 , 0x00000005 
+ 00020638  0x00004d99 fetch  0x00000001 , 0x00004255 
+ 00020639  0x00004d9a istore  0x00000001 , 0x00000005 
+ 00020640  0x00004d9b setarg  0x00000004 
+ 00020641  0x00004d9c istore  0x00000002 , 0x00000005 
+ 00020642  0x00004d9d copy  0x00000011 , 0x0000003f 
+ 00020643  0x00004d9e istore  0x00000002 , 0x00000005 
+ 00020644  0x00004d9f copy  0x00000012 , 0x0000003f 
+ 00020645  0x00004da0 istore  0x00000002 , 0x00000005 
+ 00020646  0x00004da1 force  0x00000008 , 0x00000002 
+ 00020647  0x00004da2 branch  0x000050de 
+ 00020648  0x00004da5 bpatchx  0x00000018 , 0x00004023 
+ 00020649  0x00004da6 call  0x0000523a 
+ 00020650  0x00004da7 call  0x000052c3 
+ 00020651  0x00004da8 setarg  0x00000002 
+ 00020652  0x00004da9 istore  0x00000001 , 0x00000005 
+ 00020653  0x00004daa fetch  0x00000001 , 0x00004255 
+ 00020654  0x00004dab istore  0x00000001 , 0x00000005 
+ 00020655  0x00004dac setarg  0x00000004 
+ 00020656  0x00004dad istore  0x00000002 , 0x00000005 
+ 00020657  0x00004dae copy  0x00000002 , 0x0000003f 
+ 00020658  0x00004daf istore  0x00000002 , 0x00000005 
+ 00020659  0x00004db0 copy  0x0000000b , 0x0000003f 
+ 00020660  0x00004db1 istore  0x00000002 , 0x00000005 
+ 00020661  0x00004db2 arg  0x00000008 , 0x00000002 
+ 00020662  0x00004db3 branch  0x000050de 
+ 00020663  0x00004db5 bpatchx  0x00000019 , 0x00004023 
+ 00020664  0x00004db6 call  0x0000523a 
+ 00020665  0x00004db7 call  0x000052c3 
+ 00020666  0x00004db8 setarg  0x00000004 
+ 00020667  0x00004db9 istore  0x00000001 , 0x00000005 
+ 00020668  0x00004dba fetch  0x00000001 , 0x00004255 
+ 00020669  0x00004dbb istore  0x00000001 , 0x00000005 
+ 00020670  0x00004dbc setarg  0x00000008 
+ 00020671  0x00004dbd istore  0x00000002 , 0x00000005 
+ 00020672  0x00004dbf copy  0x00000002 , 0x0000003f 
+ 00020673  0x00004dc1 istore  0x00000002 , 0x00000005 
+ 00020674  0x00004dc2 setarg  0x00000000 
+ 00020675  0x00004dc3 istore  0x00000002 , 0x00000005 
+ 00020676  0x00004dc4 setarg  0x00000001 
+ 00020677  0x00004dc5 istore  0x00000001 , 0x00000005 
+ 00020678  0x00004dc6 setarg  0x00000002 
+ 00020679  0x00004dc7 istore  0x00000001 , 0x00000005 
+ 00020680  0x00004dc8 setarg  0x000003e3 
+ 00020681  0x00004dc9 istore  0x00000002 , 0x00000005 
+ 00020682  0x00004dca arg  0x0000000c , 0x00000002 
+ 00020683  0x00004dcb branch  0x000050de 
+ 00020684  0x00004dcd bpatchx  0x0000001a , 0x00004023 
+ 00020685  0x00004dce call  0x0000523a 
+ 00020686  0x00004dcf call  0x000052c3 
+ 00020687  0x00004dd0 setarg  0x00000006 
+ 00020688  0x00004dd1 istore  0x00000001 , 0x00000005 
+ 00020689  0x00004dd2 fetch  0x00000001 , 0x00004255 
+ 00020690  0x00004dd3 increase  0x00000001 , 0x0000003f 
+ 00020691  0x00004dd4 copy  0x00000005 , 0x00000011 
+ 00020692  0x00004dd5 store  0x00000001 , 0x00004255 
+ 00020693  0x00004dd6 copy  0x00000011 , 0x00000005 
+ 00020694  0x00004dd7 istore  0x00000001 , 0x00000005 
+ 00020695  0x00004dd8 setarg  0x00000004 
+ 00020696  0x00004dd9 istore  0x00000002 , 0x00000005 
+ 00020697  0x00004dda copy  0x00000002 , 0x0000003f 
+ 00020698  0x00004ddb istore  0x00000002 , 0x00000005 
+ 00020699  0x00004ddc copy  0x0000000b , 0x0000003f 
+ 00020700  0x00004ddd istore  0x00000002 , 0x00000005 
+ 00020701  0x00004dde arg  0x00000008 , 0x00000002 
+ 00020702  0x00004de2 storet  0x00000002 , 0x0000026f 
+ 00020703  0x00004de3 copy  0x00000002 , 0x0000003f 
+ 00020704  0x00004de4 branch  0x00005264 , 0x00000034 
+ 00020705  0x00004de5 call  0x000052c1 
+ 00020706  0x00004de6 fetch  0x00000002 , 0x0000026f 
+ 00020707  0x00004de7 istore  0x00000002 , 0x00000005 
+ 00020708  0x00004de8 force  0x00000001 , 0x0000003f 
+ 00020709  0x00004de9 istore  0x00000002 , 0x00000005 
+ 00020710  0x00004dea rtn 
+ 00020711  0x00004ded fetch  0x00000002 , 0x00000275 
+ 00020712  0x00004dee branch  0x00002a8c , 0x00000034 
+ 00020713  0x00004def call  0x000052ce 
+ 00020714  0x00004df0 fetch  0x00000002 , 0x00000275 
+ 00020715  0x00004df1 istore  0x00000002 , 0x00000005 
+ 00020716  0x00004df2 fetch  0x00000002 , 0x00004248 
+ 00020717  0x00004df3 istore  0x00000002 , 0x00000005 
+ 00020718  0x00004df4 rtn 
+ 00020719  0x00004df6 fetch  0x00000002 , 0x00000266 
+ 00020720  0x00004df7 branch  0x00004dfc , 0x00000034 
+ 00020721  0x00004df8 bpatchx  0x0000001b , 0x00004023 
+ 00020722  0x00004df9 fetch  0x00000001 , 0x00000268 
+ 00020723  0x00004dfa beq  0x00000001 , 0x000050f9 
+ 00020724  0x00004dfb beq  0x00000050 , 0x00004de8 
+ 00020725  0x00004dfc beq  0x00000051 , 0x00004df5 
+ 00020726  0x00004dfd beq  0x00000052 , 0x00004df3 
+ 00020727  0x00004dfe beq  0x00000053 , 0x00004df3 
+ 00020728  0x00004dff branch  0x00004dfc 
+ 00020729  0x00004e02 bpatchx  0x0000001c , 0x00004023 
+ 00020730  0x00004e03 call  0x000052b8 
+ 00020731  0x00004e04 force  0x00000000 , 0x00000012 
+ 00020732  0x00004e05 call  0x000052c3 
+ 00020733  0x00004e06 copy  0x0000003f , 0x00000005 
+ 00020734  0x00004e07 fetch  0x00000002 , 0x00000266 
+ 00020735  0x00004e08 copy  0x0000003f , 0x00000013 
+ 00020736  0x00004e09 fetch  0x00000002 , 0x00000264 
+ 00020737  0x00004e0a iforce  0x00000006 
+ 00020738  0x00004e0c call  0x00005108 
+ 00020739  0x00004e0d increase  0xfffffffc , 0x00000013 
+ 00020740  0x00004e0e nbranch  0x00005102 , 0x00000005 
+ 00020741  0x00004e0f copy  0x00000012 , 0x00000002 
+ 00020742  0x00004e10 call  0x000050de 
+ 00020743  0x00004e11 branch  0x00004dfc 
+ 00020744  0x00004e14 ifetch  0x00000001 , 0x00000006 
+ 00020745  0x00004e15 beq  0x00000002 , 0x00005113 
+ 00020746  0x00004e16 beq  0x00000001 , 0x00005116 
+ 00020747  0x00004e17 beq  0x00000003 , 0x00005120 
+ 00020748  0x00004e18 beq  0x00000005 , 0x0000515c 
+ 00020749  0x00004e19 beq  0x00000004 , 0x0000518e 
+ 00020750  0x00004e1a beq  0x00000007 , 0x00005213 
+ 00020751  0x00004e1b beq  0x00000006 , 0x000051e1 
+ 00020752  0x00004e1c beq  0x00000008 , 0x00005050 
+ 00020753  0x00004e1d beq  0x0000000a , 0x00004e3a 
+ 00020754  0x00004e1e branch  0x0000522e 
+ 00020755  0x00004e21 call  0x00007ea8 
+ 00020756  0x00004e23 call  0x00007ead 
+ 00020757  0x00004e24 branch  0x00004e51 
+ 00020758  0x00004e26 ifetch  0x00000001 , 0x00000006 
+ 00020759  0x00004e27 copy  0x0000003f , 0x00000007 
+ 00020760  0x00004e28 ifetch  0x00000002 , 0x00000006 
+ 00020761  0x00004e29 copy  0x0000003f , 0x00000011 
+ 00020762  0x00004e2a copy  0x00000013 , 0x0000003f 
+ 00020763  0x00004e2b isub  0x00000011 , 0x00000013 
+ 00020764  0x00004e2d ifetch  0x00000001 , 0x00000006 
+ 00020765  0x00004e2e increase  0xffffffff , 0x00000011 
+ 00020766  0x00004e2f nbranch  0x0000511c , 0x00000005 
+ 00020767  0x00004e30 rtn 
+ 00020768  0x00004e32 ifetch  0x00000001 , 0x00000006 
+ 00020769  0x00004e33 copy  0x0000003f , 0x00000007 
+ 00020770  0x00004e34 ifetch  0x00000002 , 0x00000006 
+ 00020771  0x00004e35 copy  0x0000003f , 0x00000011 
+ 00020772  0x00004e36 ifetch  0x00000002 , 0x00000006 
+ 00020773  0x00004e37 copy  0x0000003f , 0x0000000b 
+ 00020774  0x00004e38 ifetch  0x00000002 , 0x00000006 
+ 00020775  0x00004e39 copy  0x0000003f , 0x00000002 
+ 00020776  0x00004e3a ifetch  0x00000002 , 0x00000006 
+ 00020777  0x00004e3b sub  0x0000003f , 0x00000000 , 0x0000003e 
+ 00020778  0x00004e3c branch  0x00005132 , 0x00000005 
+ 00020779  0x00004e3d beq  0x00000002 , 0x0000512e 
+ 00020780  0x00004e3e beq  0x00000004 , 0x0000512e 
+ 00020781  0x00004e3f branch  0x00005130 
+ 00020782  0x00004e41 jam  0x00000016 , 0x00000a99 
+ 00020783  0x00004e42 call  0x00007d86 
+ 00020784  0x00004e44 ifetch  0x00000002 , 0x00000006 
+ 00020785  0x00004e45 branch  0x00005159 
+ 00020786  0x00004e47 call  0x00007ea8 
+ 00020787  0x00004e4b bpatchx  0x0000001d , 0x00004023 
+ 00020788  0x00004e4c setarg  0x00000050 
+ 00020789  0x00004e4d isub  0x00000002 , 0x0000003e 
+ 00020790  0x00004e4e branch  0x00005141 , 0x00000005 
+ 00020791  0x00004e4f setarg  0x00000051 
+ 00020792  0x00004e50 isub  0x00000002 , 0x0000003e 
+ 00020793  0x00004e51 branch  0x00005147 , 0x00000005 
+ 00020794  0x00004e52 setarg  0x00000053 
+ 00020795  0x00004e53 isub  0x00000002 , 0x0000003e 
+ 00020796  0x00004e54 branch  0x00005153 , 0x00000005 
+ 00020797  0x00004e55 setarg  0x00000052 
+ 00020798  0x00004e56 isub  0x00000002 , 0x0000003e 
+ 00020799  0x00004e57 branch  0x0000514d , 0x00000005 
+ 00020800  0x00004e58 branch  0x00005159 
+ 00020801  0x00004e5a copy  0x0000000b , 0x0000003f 
+ 00020802  0x00004e5b store  0x00000002 , 0x00004248 
+ 00020803  0x00004e5c fetch  0x00000001 , 0x00004250 
+ 00020804  0x00004e5d set1  0x00000001 
+ 00020805  0x00004e5e store  0x00000001 , 0x00004250 
+ 00020806  0x00004e5f branch  0x00005158 
+ 00020807  0x00004e61 copy  0x0000000b , 0x0000003f 
+ 00020808  0x00004e62 store  0x00000002 , 0x0000424a 
+ 00020809  0x00004e63 fetch  0x00000001 , 0x00004251 
+ 00020810  0x00004e64 set1  0x00000001 
+ 00020811  0x00004e65 store  0x00000001 , 0x00004251 
+ 00020812  0x00004e66 branch  0x00005158 
+ 00020813  0x00004e68 copy  0x0000000b , 0x0000003f 
+ 00020814  0x00004e69 store  0x00000002 , 0x0000424c 
+ 00020815  0x00004e6a fetch  0x00000001 , 0x00004252 
+ 00020816  0x00004e6b set1  0x00000001 
+ 00020817  0x00004e6c store  0x00000001 , 0x00004252 
+ 00020818  0x00004e6d branch  0x00005158 
+ 00020819  0x00004e6f copy  0x0000000b , 0x0000003f 
+ 00020820  0x00004e70 store  0x00000002 , 0x0000424e 
+ 00020821  0x00004e71 fetch  0x00000001 , 0x00004253 
+ 00020822  0x00004e72 set1  0x00000001 
+ 00020823  0x00004e73 store  0x00000001 , 0x00004253 
+ 00020824  0x00004e77 call  0x00007ead 
+ 00020825  0x00004e79 copy  0x00000013 , 0x0000003f 
+ 00020826  0x00004e7a isub  0x00000011 , 0x00000013 
+ 00020827  0x00004e7b rtn 
+ 00020828  0x00004e7e ifetch  0x00000001 , 0x00000006 
+ 00020829  0x00004e7f copy  0x0000003f , 0x00000007 
+ 00020830  0x00004e80 ifetch  0x00000002 , 0x00000006 
+ 00020831  0x00004e81 copy  0x0000003f , 0x00000011 
+ 00020832  0x00004e82 copy  0x00000013 , 0x0000003f 
+ 00020833  0x00004e83 isub  0x00000011 , 0x00000013 
+ 00020834  0x00004e84 ifetch  0x00000002 , 0x00000006 
+ 00020835  0x00004e85 copy  0x0000003f , 0x0000000b 
+ 00020836  0x00004e86 ifetch  0x00000002 , 0x00000006 
+ 00020837  0x00004e87 ifetch  0x00000002 , 0x00000006 
+ 00020838  0x00004e88 nbranch  0x00005188 , 0x00000034 
+ 00020839  0x00004e89 call  0x00007ea8 
+ 00020840  0x00004e8d copy  0x0000000b , 0x00000002 
+ 00020841  0x00004e8e bpatchx  0x0000001e , 0x00004023 
+ 00020842  0x00004e8f setarg  0x00000050 
+ 00020843  0x00004e90 isub  0x00000002 , 0x0000003e 
+ 00020844  0x00004e91 branch  0x00005176 , 0x00000005 
+ 00020845  0x00004e92 setarg  0x00000051 
+ 00020846  0x00004e93 isub  0x00000002 , 0x0000003e 
+ 00020847  0x00004e94 branch  0x0000517a , 0x00000005 
+ 00020848  0x00004e95 setarg  0x00000052 
+ 00020849  0x00004e96 isub  0x00000002 , 0x0000003e 
+ 00020850  0x00004e97 branch  0x0000517e , 0x00000005 
+ 00020851  0x00004e98 setarg  0x00000053 
+ 00020852  0x00004e99 isub  0x00000002 , 0x0000003e 
+ 00020853  0x00004e9a branch  0x00005182 , 0x00000005 
+ 00020854  0x00004e9c fetch  0x00000001 , 0x00004250 
+ 00020855  0x00004e9d set1  0x00000005 
+ 00020856  0x00004e9e store  0x00000001 , 0x00004250 
+ 00020857  0x00004e9f rtn 
+ 00020858  0x00004ea1 fetch  0x00000001 , 0x00004251 
+ 00020859  0x00004ea2 set1  0x00000005 
+ 00020860  0x00004ea3 store  0x00000001 , 0x00004251 
+ 00020861  0x00004ea4 rtn 
+ 00020862  0x00004ea6 fetch  0x00000001 , 0x00004252 
+ 00020863  0x00004ea7 set1  0x00000005 
+ 00020864  0x00004ea8 store  0x00000001 , 0x00004252 
+ 00020865  0x00004ea9 rtn 
+ 00020866  0x00004eab fetch  0x00000001 , 0x00004253 
+ 00020867  0x00004eac set1  0x00000005 
+ 00020868  0x00004ead store  0x00000001 , 0x00004253 
+ 00020869  0x00004eae jam  0x00000006 , 0x00000a99 
+ 00020870  0x00004eaf branch  0x00007d86 
+ 00020871  0x00004eb3 call  0x00007ead 
+ 00020872  0x00004eb5 increase  0xfffffffa , 0x00000011 
+ 00020873  0x00004eb7 branch  0x0000518d , 0x00000005 
+ 00020874  0x00004eb8 increase  0x00000001 , 0x00000006 
+ 00020875  0x00004eb9 increase  0xffffffff , 0x00000011 
+ 00020876  0x00004eba branch  0x00005189 
+ 00020877  0x00004ebc rtn 
+ 00020878  0x00004ebe ifetch  0x00000001 , 0x00000006 
+ 00020879  0x00004ebf copy  0x0000003f , 0x00000007 
+ 00020880  0x00004ec0 ifetch  0x00000002 , 0x00000006 
+ 00020881  0x00004ec1 copy  0x0000003f , 0x00000011 
+ 00020882  0x00004ec2 copy  0x00000013 , 0x0000003f 
+ 00020883  0x00004ec3 isub  0x00000011 , 0x00000013 
+ 00020884  0x00004ec4 ifetch  0x00000002 , 0x00000006 
+ 00020885  0x00004ec5 increase  0x00000002 , 0x00000006 
+ 00020886  0x00004ec6 copy  0x0000003f , 0x00000002 
+ 00020887  0x00004ec7 setarg  0x00000005 
+ 00020888  0x00004ec8 istore  0x00000001 , 0x00000005 
+ 00020889  0x00004ec9 copy  0x00000007 , 0x0000003f 
+ 00020890  0x00004eca istore  0x00000001 , 0x00000005 
+ 00020891  0x00004ecb increase  0x00000002 , 0x00000011 
+ 00020892  0x00004ecc copy  0x00000011 , 0x0000003f 
+ 00020893  0x00004ecd istore  0x00000002 , 0x00000005 
+ 00020894  0x00004ece call  0x00007ea8 
+ 00020895  0x00004ecf bpatchx  0x0000001f , 0x00004023 
+ 00020896  0x00004ed0 setarg  0x00000050 
+ 00020897  0x00004ed1 isub  0x00000002 , 0x0000003e 
+ 00020898  0x00004ed2 branch  0x000051ad , 0x00000005 
+ 00020899  0x00004ed3 setarg  0x00000051 
+ 00020900  0x00004ed4 isub  0x00000002 , 0x0000003e 
+ 00020901  0x00004ed5 branch  0x000051be , 0x00000005 
+ 00020902  0x00004ed6 setarg  0x00000052 
+ 00020903  0x00004ed7 isub  0x00000002 , 0x0000003e 
+ 00020904  0x00004ed8 branch  0x000051c4 , 0x00000005 
+ 00020905  0x00004ed9 setarg  0x00000053 
+ 00020906  0x00004eda isub  0x00000002 , 0x0000003e 
+ 00020907  0x00004edb branch  0x000051ca , 0x00000005 
+ 00020908  0x00004edc branch  0x000051cf 
+ 00020909  0x00004ede fetch  0x00000001 , 0x00004250 
+ 00020910  0x00004edf set1  0x00000004 , 0x0000003f 
+ 00020911  0x00004ee0 set1  0x00000003 , 0x0000003f 
+ 00020912  0x00004ee1 store  0x00000001 , 0x00004250 
+ 00020913  0x00004ee2 bbit1  0x00000002 , 0x000051bb 
+ 00020914  0x00004ee3 fetcht  0x00000001 , 0x0000027f 
+ 00020915  0x00004ee4 set1  0x00000006 , 0x00000002 
+ 00020916  0x00004ee5 storet  0x00000001 , 0x0000027f 
+ 00020917  0x00004ee6 copy  0x00000007 , 0x0000003f 
+ 00020918  0x00004ee7 increase  0x00000001 , 0x0000003f 
+ 00020919  0x00004ee8 store  0x00000001 , 0x00000281 
+ 00020920  0x00004ee9 fetch  0x00000001 , 0x00004250 
+ 00020921  0x00004eea set1  0x00000002 , 0x0000003f 
+ 00020922  0x00004eeb store  0x00000001 , 0x00004250 
+ 00020923  0x00004eed fetch  0x00000002 , 0x00004248 
+ 00020924  0x00004eee store  0x00000002 , 0x00000282 
+ 00020925  0x00004eef branch  0x000051cf 
+ 00020926  0x00004ef1 fetch  0x00000001 , 0x00004251 
+ 00020927  0x00004ef2 set1  0x00000004 , 0x0000003f 
+ 00020928  0x00004ef3 set1  0x00000003 , 0x0000003f 
+ 00020929  0x00004ef4 store  0x00000001 , 0x00004251 
+ 00020930  0x00004ef5 fetch  0x00000002 , 0x0000424a 
+ 00020931  0x00004ef6 branch  0x000051cf 
+ 00020932  0x00004ef8 fetch  0x00000001 , 0x00004252 
+ 00020933  0x00004ef9 set1  0x00000004 , 0x0000003f 
+ 00020934  0x00004efa set1  0x00000003 , 0x0000003f 
+ 00020935  0x00004efb store  0x00000001 , 0x00004252 
+ 00020936  0x00004efc fetch  0x00000002 , 0x0000424c 
+ 00020937  0x00004efd branch  0x000051cf 
+ 00020938  0x00004eff fetch  0x00000001 , 0x00004253 
+ 00020939  0x00004f00 set1  0x00000004 , 0x0000003f 
+ 00020940  0x00004f01 set1  0x00000003 , 0x0000003f 
+ 00020941  0x00004f02 store  0x00000001 , 0x00004253 
+ 00020942  0x00004f03 fetch  0x00000002 , 0x0000424e 
+ 00020943  0x00004f07 copy  0x0000003f , 0x0000000b 
+ 00020944  0x00004f08 call  0x00007ead 
+ 00020945  0x00004f0a copy  0x0000000b , 0x0000003f 
+ 00020946  0x00004f0c istore  0x00000002 , 0x00000005 
+ 00020947  0x00004f0d force  0x00000000 , 0x0000003f 
+ 00020948  0x00004f0e istore  0x00000002 , 0x00000005 
+ 00020949  0x00004f0f force  0x00000000 , 0x0000003f 
+ 00020950  0x00004f10 istore  0x00000002 , 0x00000005 
+ 00020951  0x00004f11 force  0x0000000a , 0x0000003f 
+ 00020952  0x00004f12 iadd  0x00000012 , 0x00000012 
+ 00020953  0x00004f13 increase  0xfffffffa , 0x00000011 
+ 00020954  0x00004f15 branch  0x000051e0 , 0x00000005 
+ 00020955  0x00004f16 ifetch  0x00000001 , 0x00000006 
+ 00020956  0x00004f17 istore  0x00000001 , 0x00000005 
+ 00020957  0x00004f18 increase  0x00000001 , 0x00000012 
+ 00020958  0x00004f19 increase  0xffffffff , 0x00000011 
+ 00020959  0x00004f1a branch  0x000051da 
+ 00020960  0x00004f1c rtn 
+ 00020961  0x00004f1e ifetch  0x00000001 , 0x00000006 
+ 00020962  0x00004f1f copy  0x0000003f , 0x00000007 
+ 00020963  0x00004f20 ifetch  0x00000002 , 0x00000006 
+ 00020964  0x00004f21 copy  0x0000003f , 0x00000011 
+ 00020965  0x00004f22 copy  0x00000013 , 0x0000003f 
+ 00020966  0x00004f23 isub  0x00000011 , 0x00000013 
+ 00020967  0x00004f25 ifetch  0x00000002 , 0x00000006 
+ 00020968  0x00004f26 copy  0x0000003f , 0x00000011 
+ 00020969  0x00004f27 ifetch  0x00000002 , 0x00000006 
+ 00020970  0x00004f28 copy  0x0000003f , 0x0000000b 
+ 00020971  0x00004f29 call  0x00007ea8 
+ 00020972  0x00004f2a bpatchx  0x00000020 , 0x00004024 
+ 00020973  0x00004f2b setarg  0x00000050 
+ 00020974  0x00004f2c copy  0x00000011 , 0x00000002 
+ 00020975  0x00004f2d isub  0x00000002 , 0x0000003e 
+ 00020976  0x00004f2e branch  0x000051fa , 0x00000005 
+ 00020977  0x00004f2f setarg  0x00000052 
+ 00020978  0x00004f30 copy  0x00000011 , 0x00000002 
+ 00020979  0x00004f31 isub  0x00000002 , 0x0000003e 
+ 00020980  0x00004f32 branch  0x000051ff , 0x00000005 
+ 00020981  0x00004f33 setarg  0x00000053 
+ 00020982  0x00004f34 copy  0x00000011 , 0x00000002 
+ 00020983  0x00004f35 isub  0x00000002 , 0x0000003e 
+ 00020984  0x00004f36 branch  0x00005201 , 0x00000005 
+ 00020985  0x00004f37 branch  0x00005203 
+ 00020986  0x00004f39 setarg  0x00000000 
+ 00020987  0x00004f3a store  0x00000002 , 0x00000275 
+ 00020988  0x00004f3b store  0x00000002 , 0x00004248 
+ 00020989  0x00004f3c store  0x00000001 , 0x00004250 
+ 00020990  0x00004f3d branch  0x00005205 
+ 00020991  0x00004f3f call  0x00005079 
+ 00020992  0x00004f40 branch  0x00005205 
+ 00020993  0x00004f42 call  0x0000507f 
+ 00020994  0x00004f48 branch  0x00005205 
+ 00020995  0x00004f4a setarg  0x00000000 
+ 00020996  0x00004f4b store  0x00000002 , 0x0000027b 
+ 00020997  0x00004f4d call  0x00007ead 
+ 00020998  0x00004f4e setarg  0x00000007 
+ 00020999  0x00004f4f istore  0x00000001 , 0x00000005 
+ 00021000  0x00004f50 copy  0x00000007 , 0x0000003f 
+ 00021001  0x00004f51 istore  0x00000001 , 0x00000005 
+ 00021002  0x00004f52 setarg  0x00000004 
+ 00021003  0x00004f53 istore  0x00000002 , 0x00000005 
+ 00021004  0x00004f54 copy  0x00000011 , 0x0000003f 
+ 00021005  0x00004f55 istore  0x00000002 , 0x00000005 
+ 00021006  0x00004f56 copy  0x0000000b , 0x0000003f 
+ 00021007  0x00004f57 istore  0x00000002 , 0x00000005 
+ 00021008  0x00004f58 force  0x00000008 , 0x0000003f 
+ 00021009  0x00004f59 iadd  0x00000012 , 0x00000012 
+ 00021010  0x00004f5a rtn 
+ 00021011  0x00004f5d ifetch  0x00000001 , 0x00000006 
+ 00021012  0x00004f5e copy  0x0000003f , 0x00000007 
+ 00021013  0x00004f5f ifetch  0x00000002 , 0x00000006 
+ 00021014  0x00004f60 copy  0x0000003f , 0x00000011 
+ 00021015  0x00004f61 ifetch  0x00000002 , 0x00000006 
+ 00021016  0x00004f62 copy  0x0000003f , 0x0000000b 
+ 00021017  0x00004f63 ifetch  0x00000002 , 0x00000006 
+ 00021018  0x00004f64 copy  0x0000003f , 0x00000002 
+ 00021019  0x00004f65 call  0x00007ea8 
+ 00021020  0x00004f66 bpatchx  0x00000021 , 0x00004024 
+ 00021021  0x00004f67 fetch  0x00000001 , 0x00004255 
+ 00021022  0x00004f68 icompare  0x000000ff , 0x00000007 
+ 00021023  0x00004f69 nbranch  0x0000522a , 0x00000001 
+ 00021024  0x00004f6a setarg  0x00000050 
+ 00021025  0x00004f6b isub  0x00000002 , 0x0000003e 
+ 00021026  0x00004f6c branch  0x00005227 , 0x00000005 
+ 00021027  0x00004f6d setarg  0x00000051 
+ 00021028  0x00004f6e isub  0x00000002 , 0x0000003e 
+ 00021029  0x00004f6f branch  0x0000522a , 0x00000005 
+ 00021030  0x00004f70 branch  0x0000522a 
+ 00021031  0x00004f72 jam  0x00000000 , 0x00004248 
+ 00021032  0x00004f73 jam  0x00000000 , 0x00004250 
+ 00021033  0x00004f74 branch  0x0000522a 
+ 00021034  0x00004f79 call  0x00007ead 
+ 00021035  0x00004f7a copy  0x00000013 , 0x0000003f 
+ 00021036  0x00004f7b isub  0x00000011 , 0x00000013 
+ 00021037  0x00004f7c rtn 
+ 00021038  0x00004f7f setarg  0x00000001 
+ 00021039  0x00004f80 istore  0x00000001 , 0x00000005 
+ 00021040  0x00004f81 ifetch  0x00000001 , 0x00000006 
+ 00021041  0x00004f82 istore  0x00000001 , 0x00000005 
+ 00021042  0x00004f83 setarg  0x00000002 
+ 00021043  0x00004f84 istore  0x00000002 , 0x00000005 
+ 00021044  0x00004f85 setarg  0x00000000 
+ 00021045  0x00004f86 istore  0x00000002 , 0x00000005 
+ 00021046  0x00004f87 setarg  0x00000006 
+ 00021047  0x00004f88 iadd  0x00000012 , 0x00000012 
+ 00021048  0x00004f89 force  0x00000004 , 0x00000013 
+ 00021049  0x00004f8a rtn 
+ 00021050  0x00004f8e fetch  0x00000001 , 0x00004255 
+ 00021051  0x00004f8f increase  0x00000001 , 0x0000003f 
+ 00021052  0x00004f90 bne  0x00000000 , 0x0000523e 
+ 00021053  0x00004f91 increase  0x00000001 , 0x0000003f 
+ 00021054  0x00004f93 store  0x00000001 , 0x00004255 
+ 00021055  0x00004f94 rtn 
+ 00021056  0x00004f9f bpatchx  0x00000022 , 0x00004024 
+ 00021057  0x00004fa0 arg  0x00000000 , 0x00000012 
+ 00021058  0x00004fa1 call  0x0000526e 
+ 00021059  0x00004fa2 nbranch  0x00002a8c , 0x00000034 
+ 00021060  0x00004fa3 call  0x0000527e 
+ 00021061  0x00004fa4 arg  0x00001800 , 0x00000012 
+ 00021062  0x00004fa5 arg  0x00000000 , 0x00000007 
+ 00021063  0x00004fa7 fetcht  0x00000001 , 0x00004256 
+ 00021064  0x00004fa8 qisolate1  0x00000002 
+ 00021065  0x00004fa9 branch  0x0000524f , 0x00000001 
+ 00021066  0x00004faa call  0x000052a0 
+ 00021067  0x00004fab sub  0x0000000b , 0x00000000 , 0x0000003e 
+ 00021068  0x00004fac branch  0x0000524f , 0x00000002 
+ 00021069  0x00004fad call  0x00005288 
+ 00021070  0x00004fae branch  0x00005255 
+ 00021071  0x00004fb0 increase  0x00000080 , 0x00000012 
+ 00021072  0x00004fb1 increase  0x00000001 , 0x00000007 
+ 00021073  0x00004fb2 setarg  0x00000008 
+ 00021074  0x00004fb3 isub  0x00000007 , 0x0000003e 
+ 00021075  0x00004fb4 branch  0x00005247 , 0x00000002 
+ 00021076  0x00004fb5 arg  0x00000000 , 0x00000012 
+ 00021077  0x00004fb7 copy  0x00000012 , 0x0000003f 
+ 00021078  0x00004fb8 branch  0x00002a8c , 0x00000034 
+ 00021079  0x00004fb9 rtn 
+ 00021080  0x00004fc2 bpatchx  0x00000023 , 0x00004024 
+ 00021081  0x00004fc3 call  0x00005277 
+ 00021082  0x00004fc4 increase  0x00000001 , 0x00000006 
+ 00021083  0x00004fc5 ifetch  0x00000002 , 0x00000006 
+ 00021084  0x00004fc6 rtn 
+ 00021085  0x00004fcd bpatchx  0x00000024 , 0x00004024 
+ 00021086  0x00004fce call  0x00005277 
+ 00021087  0x00004fcf copy  0x00000006 , 0x00000005 
+ 00021088  0x00004fd0 copy  0x00000006 , 0x00000002 
+ 00021089  0x00004fd1 setarg  0x00000000 
+ 00021090  0x00004fd2 istore  0x00000003 , 0x00000005 
+ 00021091  0x00004fd3 rtn 
+ 00021092  0x00004fd9 bpatchx  0x00000025 , 0x00004024 
+ 00021093  0x00004fda call  0x00005274 
+ 00021094  0x00004fdb branch  0x00002a8c , 0x00000034 
+ 00021095  0x00004fdc fetch  0x00000003 , 0x0000425d 
+ 00021096  0x00004fdd store  0x00000003 , 0x00004260 
+ 00021097  0x00004fde fetch  0x00000003 , 0x0000425a 
+ 00021098  0x00004fdf store  0x00000003 , 0x0000425d 
+ 00021099  0x00004fe0 fetch  0x00000003 , 0x00004257 
+ 00021100  0x00004fe1 store  0x00000003 , 0x0000425a 
+ 00021101  0x00004fe2 rtn 
+ 00021102  0x00004fe9 bpatchx  0x00000026 , 0x00004024 
+ 00021103  0x00004fea fetch  0x00000003 , 0x00004257 
+ 00021104  0x00004feb rtn 
+ 00021105  0x00004ff2 bpatchx  0x00000027 , 0x00004024 
+ 00021106  0x00004ff3 fetch  0x00000003 , 0x0000425a 
+ 00021107  0x00004ff4 rtn 
+ 00021108  0x00004ffb bpatchx  0x00000028 , 0x00004025 
+ 00021109  0x00004ffc fetch  0x00000003 , 0x00004260 
+ 00021110  0x00004ffd rtn 
+ 00021111  0x00005003 call  0x00005274 
+ 00021112  0x00005004 branch  0x00002a8c , 0x00000034 
+ 00021113  0x00005005 arg  0x00004257 , 0x00000006 
+ 00021114  0x00005007 ifetch  0x00000003 , 0x00000006 
+ 00021115  0x00005008 branch  0x0000527a , 0x00000034 
+ 00021116  0x00005009 increase  0xfffffffd , 0x00000006 
+ 00021117  0x0000500a rtn 
+ 00021118  0x00005012 bpatchx  0x00000029 , 0x00004025 
+ 00021119  0x00005013 arg  0x00000004 , 0x00000039 
+ 00021120  0x00005014 arg  0x00004257 , 0x00000006 
+ 00021121  0x00005015 arg  0x00000000 , 0x00000002 
+ 00021122  0x00005017 ifetch  0x00000003 , 0x00000006 
+ 00021123  0x00005018 and  0x0000003f , 0x000000ff , 0x0000003f 
+ 00021124  0x00005019 ior  0x00000002 , 0x00000002 
+ 00021125  0x0000501a loop  0x00005282 
+ 00021126  0x0000501b storet  0x00000001 , 0x00004256 
+ 00021127  0x0000501c rtn 
+ 00021128  0x00005025 bpatchx  0x0000002a , 0x00004025 
+ 00021129  0x00005026 call  0x0000526e 
+ 00021130  0x00005027 nbranch  0x00002a8c , 0x00000034 
+ 00021131  0x00005028 call  0x00005274 
+ 00021132  0x00005029 branch  0x00005295 , 0x00000034 
+ 00021133  0x0000502a fetch  0x00000003 , 0x0000425a 
+ 00021134  0x0000502b store  0x00000003 , 0x00004257 
+ 00021135  0x0000502c ifetch  0x00000003 , 0x00000006 
+ 00021136  0x0000502d istore  0x00000003 , 0x00000005 
+ 00021137  0x0000502e ifetch  0x00000003 , 0x00000006 
+ 00021138  0x0000502f istore  0x00000003 , 0x00000005 
+ 00021139  0x00005030 setarg  0x00000000 
+ 00021140  0x00005031 istore  0x00000003 , 0x00000005 
+ 00021141  0x00005033 arg  0x00000000 , 0x00000002 
+ 00021142  0x00005034 copy  0x0000000b , 0x0000003f 
+ 00021143  0x00005035 iadd  0x00000007 , 0x0000003f 
+ 00021144  0x00005037 qset1  0x00000002 
+ 00021145  0x00005038 increase  0x00000001 , 0x00000007 
+ 00021146  0x00005039 isub  0x00000007 , 0x0000003e 
+ 00021147  0x0000503a nbranch  0x00005298 , 0x00000005 
+ 00021148  0x0000503c lshift8  0x00000012 , 0x0000003f 
+ 00021149  0x0000503d ior  0x00000002 , 0x0000003f 
+ 00021150  0x0000503e store  0x00000003 , 0x00004260 
+ 00021151  0x0000503f rtn 
+ 00021152  0x0000504a bpatchx  0x0000002b , 0x00004025 
+ 00021153  0x0000504b call  0x0000527e 
+ 00021154  0x0000504c copy  0x00000007 , 0x00000013 
+ 00021155  0x0000504d arg  0x00000000 , 0x00000002 
+ 00021156  0x0000504e arg  0x00000000 , 0x0000000b 
+ 00021157  0x00005051 copy  0x00000007 , 0x0000003f 
+ 00021158  0x00005052 beq  0x00000008 , 0x000052b0 
+ 00021159  0x00005053 fetch  0x00000001 , 0x00004256 
+ 00021160  0x00005054 qisolate1  0x0000003f 
+ 00021161  0x00005055 branch  0x000052b0 , 0x00000001 
+ 00021162  0x00005056 increase  0x00000080 , 0x00000002 
+ 00021163  0x00005057 increase  0x00000001 , 0x00000007 
+ 00021164  0x00005058 copy  0x00000011 , 0x0000003f 
+ 00021165  0x00005059 isub  0x00000002 , 0x0000003e 
+ 00021166  0x0000505a branch  0x000052b0 , 0x00000005 
+ 00021167  0x0000505b branch  0x000052a5 , 0x00000002 
+ 00021168  0x0000505d copy  0x00000002 , 0x0000003f 
+ 00021169  0x0000505e isub  0x00000011 , 0x0000003e 
+ 00021170  0x0000505f nbranch  0x000052b6 , 0x00000002 
+ 00021171  0x00005060 copy  0x00000007 , 0x0000003f 
+ 00021172  0x00005061 copy  0x00000013 , 0x00000002 
+ 00021173  0x00005062 isub  0x00000002 , 0x0000000b 
+ 00021174  0x00005064 copy  0x00000013 , 0x00000007 
+ 00021175  0x00005065 rtn 
+ 00021176  0x00005069 bpatchx  0x0000002c , 0x00004025 
+ 00021177  0x0000506a arg  0x0000007f , 0x00000011 
+ 00021178  0x0000506b call  0x00005240 
+ 00021179  0x0000506c store  0x00000002 , 0x0000026b 
+ 00021180  0x0000506d increase  0x00000004 , 0x0000003f 
+ 00021181  0x0000506e store  0x00000002 , 0x0000026d 
+ 00021182  0x0000506f setarg  0x00000000 
+ 00021183  0x00005070 store  0x00000002 , 0x0000026f 
+ 00021184  0x00005071 rtn 
+ 00021185  0x00005074 fetch  0x00000002 , 0x0000026b 
+ 00021186  0x00005075 branch  0x000052e2 
+ 00021187  0x00005078 fetch  0x00000002 , 0x0000026d 
+ 00021188  0x00005079 branch  0x000052e2 
+ 00021189  0x0000507d bpatchx  0x0000002d , 0x00004025 
+ 00021190  0x0000507e arg  0x000000fa , 0x00000011 
+ 00021191  0x0000507f call  0x00005240 
+ 00021192  0x00005080 store  0x00000002 , 0x00000271 
+ 00021193  0x00005081 increase  0x00000004 , 0x0000003f 
+ 00021194  0x00005082 store  0x00000002 , 0x00000273 
+ 00021195  0x00005083 setarg  0x00000000 
+ 00021196  0x00005084 store  0x00000002 , 0x00000275 
+ 00021197  0x00005085 rtn 
+ 00021198  0x00005088 fetch  0x00000002 , 0x00000271 
+ 00021199  0x00005089 branch  0x000052e2 
+ 00021200  0x0000508c fetch  0x00000002 , 0x00000273 
+ 00021201  0x0000508d branch  0x000052e2 
+ 00021202  0x00005091 bpatchx  0x0000002e , 0x00004025 
+ 00021203  0x00005092 call  0x00007e7c 
+ 00021204  0x00005093 jam  0x00000001 , 0x00000284 
+ 00021205  0x00005094 call  0x0000526e 
+ 00021206  0x00005095 nrtn  0x00000034 
+ 00021207  0x00005096 arg  0x0000007f , 0x00000011 
+ 00021208  0x00005097 call  0x00005240 
+ 00021209  0x00005098 store  0x00000002 , 0x00000277 
+ 00021210  0x00005099 increase  0x00000004 , 0x0000003f 
+ 00021211  0x0000509a store  0x00000002 , 0x00000279 
+ 00021212  0x0000509b setarg  0x00000000 
+ 00021213  0x0000509c store  0x00000002 , 0x0000027b 
+ 00021214  0x0000509d jam  0x00000000 , 0x00000284 
+ 00021215  0x0000509e branch  0x00007e8c 
+ 00021216  0x000050a1 fetch  0x00000002 , 0x00000277 
+ 00021217  0x000050a2 branch  0x000052e2 
+ 00021218  0x000050a5 branch  0x00002a8c , 0x00000034 
+ 00021219  0x000050a6 copy  0x0000003f , 0x00000005 
+ 00021220  0x000050a7 rtn 
+ 00021221  0x000050ab bpatchx  0x0000002f , 0x00004025 
+ 00021222  0x000050ac arg  0x00000000 , 0x00000012 
+ 00021223  0x000050ad arg  0x00004257 , 0x00000011 
+ 00021224  0x000050ae increase  0xfffffffe , 0x00000011 
+ 00021225  0x000050b0 increase  0x00000002 , 0x00000011 
+ 00021226  0x000050b1 setarg  0x00004263 
+ 00021227  0x000050b2 isub  0x00000011 , 0x0000003e 
+ 00021228  0x000050b3 branch  0x000052f5 , 0x00000005 
+ 00021229  0x000050b4 ifetch  0x00000001 , 0x00000011 
+ 00021230  0x000050b5 increase  0x00000001 , 0x00000011 
+ 00021231  0x000050b6 branch  0x000052e9 , 0x00000034 
+ 00021232  0x000050b7 ifetcht  0x00000002 , 0x00000011 
+ 00021233  0x000050b8 ifetch  0x00000002 , 0x00000002 
+ 00021234  0x000050b9 iadd  0x00000012 , 0x00000012 
+ 00021235  0x000050ba increase  0x00000004 , 0x00000012 
+ 00021236  0x000050bb branch  0x000052e9 
+ 00021237  0x000050bd copy  0x00000012 , 0x0000003f 
+ 00021238  0x000050be rtn 
+ 00021239  0x000050c2 arg  0x0000000c , 0x00000007 
+ 00021240  0x000050c3 branch  0x00002c32 
+ 00021241  0x000050c6 arg  0x0000000c , 0x00000007 
+ 00021242  0x000050c7 branch  0x00002c36 
+ 00021243  0x000050ca bpatchx  0x00000030 , 0x00004026 
+ 00021244  0x000050cb call  0x0000527e 
+ 00021245  0x000050cc fetch  0x00000001 , 0x00004256 
+ 00021246  0x000050cd rtn  0x00000034 
+ 00021247  0x000050ce call  0x000052e5 
+ 00021248  0x000050cf arg  0x00000100 , 0x00000002 
+ 00021249  0x000050d0 isub  0x00000002 , 0x0000003e 
+ 00021250  0x000050d1 branch  0x000052f7 , 0x00000002 
+ 00021251  0x000050d2 call  0x000052f9 
+ 00021252  0x000050d3 arg  0x00004263 , 0x00000005 
+ 00021253  0x000050d4 arg  0x00004257 , 0x00000011 
+ 00021254  0x000050d6 setarg  0x00004263 
+ 00021255  0x000050d7 isub  0x00000011 , 0x0000003e 
+ 00021256  0x000050d8 rtn  0x00000005 
+ 00021257  0x000050d9 ifetch  0x00000001 , 0x00000011 
+ 00021258  0x000050da increase  0x00000001 , 0x00000011 
+ 00021259  0x000050db nbranch  0x0000530f , 0x00000034 
+ 00021260  0x000050dc istore  0x00000002 , 0x00000005 
+ 00021261  0x000050dd increase  0x00000002 , 0x00000011 
+ 00021262  0x000050de branch  0x00005306 
+ 00021263  0x000050e0 ifetch  0x00000002 , 0x00000011 
+ 00021264  0x000050e1 increase  0x00000002 , 0x00000011 
+ 00021265  0x000050e2 copy  0x0000003f , 0x00000006 
+ 00021266  0x000050e3 ifetch  0x00000002 , 0x00000006 
+ 00021267  0x000050e4 istore  0x00000002 , 0x00000005 
+ 00021268  0x000050e5 copy  0x0000003f , 0x00000039 
+ 00021269  0x000050e6 increase  0x00000002 , 0x00000039 
+ 00021270  0x000050e7 call  0x00007f01 
+ 00021271  0x000050e8 branch  0x00005306 
+ 00021272  0x000050eb bpatchx  0x00000031 , 0x00004026 
+ 00021273  0x000050ec call  0x0000527e 
+ 00021274  0x000050ed fetch  0x00000001 , 0x00004256 
+ 00021275  0x000050ee rtn  0x00000034 
+ 00021276  0x000050ef arg  0x00004258 , 0x00000011 
+ 00021277  0x000050f0 increase  0xfffffffd , 0x00000011 
+ 00021278  0x000050f1 arg  0x00004263 , 0x00000006 
+ 00021279  0x000050f3 increase  0x00000003 , 0x00000011 
+ 00021280  0x000050f4 setarg  0x00004264 
+ 00021281  0x000050f5 isub  0x00000011 , 0x0000003e 
+ 00021282  0x000050f6 rtn  0x00000005 
+ 00021283  0x000050f7 ifetch  0x00000002 , 0x00000006 
+ 00021284  0x000050f8 branch  0x0000531f , 0x00000034 
+ 00021285  0x000050f9 increase  0x00000004 , 0x0000003f 
+ 00021286  0x000050fa copy  0x0000003f , 0x00000039 
+ 00021287  0x000050fb copy  0x00000006 , 0x00000012 
+ 00021288  0x000050fc ifetch  0x00000002 , 0x00000011 
+ 00021289  0x000050fd copy  0x0000003f , 0x00000005 
+ 00021290  0x000050fe copy  0x00000012 , 0x00000006 
+ 00021291  0x000050ff increase  0xfffffffe , 0x00000006 
+ 00021292  0x00005100 call  0x00007f01 
+ 00021293  0x00005101 branch  0x0000531f 
+ 00021294  0x0000510c bpatchx  0x00000032 , 0x00004026 
+ 00021295  0x0000510d disable  0x0000002b 
+ 00021296  0x0000510e jam  0x00000001 , 0x00000455 
+ 00021297  0x0000510f jam  0x00000003 , 0x0000043f 
+ 00021298  0x00005110 jam  0x00000001 , 0x00000456 
+ 00021299  0x00005111 setarg  0xffffffff 
+ 00021300  0x00005112 store  0x00000002 , 0x00000459 
+ 00021301  0x00005113 force  0x00000000 , 0x0000003f 
+ 00021302  0x00005114 store  0x00000001 , 0x00000457 
+ 00021303  0x00005115 store  0x00000001 , 0x00000462 
+ 00021304  0x00005116 store  0x00000003 , 0x00004169 
+ 00021305  0x00005117 store  0x00000003 , 0x0000416c 
+ 00021306  0x00005118 store  0x00000005 , 0x00004403 
+ 00021307  0x00005119 set1  0x00000027 , 0x0000003f 
+ 00021308  0x0000511a store  0x00000005 , 0x00004408 
+ 00021309  0x0000511b jam  0x00000001 , 0x000043dc 
+ 00021310  0x0000511c jam  0x00000000 , 0x000043dd 
+ 00021311  0x0000511d branch  0x000056ed 
+ 00021312  0x00005120 bpatchx  0x00000033 , 0x00004026 
+ 00021313  0x00005121 enable  0x00000029 
+ 00021314  0x00005122 jam  0x00000003 , 0x00000440 
+ 00021315  0x00005123 jam  0x00000001 , 0x00000478 
+ 00021316  0x00005124 jam  0x00000001 , 0x0000445a 
+ 00021317  0x00005125 setarg  0x0000ffff 
+ 00021318  0x00005126 store  0x00000002 , 0x0000445c 
+ 00021319  0x00005127 force  0x00000000 , 0x0000003f 
+ 00021320  0x00005128 store  0x00000005 , 0x00004408 
+ 00021321  0x00005129 set1  0x00000027 , 0x0000003f 
+ 00021322  0x0000512a store  0x00000005 , 0x00004403 
+ 00021323  0x0000512b branch  0x0000532e 
+ 00021324  0x0000512f bpatchx  0x00000034 , 0x00004026 
+ 00021325  0x00005130 disable  0x00000029 
+ 00021326  0x00005131 setarg  0x00000017 
+ 00021327  0x00005132 store  0x00000002 , 0x000044a8 
+ 00021328  0x00005133 jam  0x00000001 , 0x00000440 
+ 00021329  0x00005134 jam  0x00000000 , 0x0000436e 
+ 00021330  0x00005135 jam  0x00000000 , 0x000000a0 
+ 00021331  0x00005136 jam  0x00000000 , 0x000044c4 
+ 00021332  0x00005137 jam  0x00000000 , 0x000044c5 
+ 00021333  0x00005138 fetch  0x00000002 , 0x0000046d 
+ 00021334  0x00005139 store  0x00000002 , 0x000044ba 
+ 00021335  0x0000513a fetch  0x00000002 , 0x00000441 
+ 00021336  0x0000513b mul32  0x0000003f , 0x00000005 , 0x0000003f 
+ 00021337  0x0000513c rshift4  0x0000003f , 0x0000003f 
+ 00021338  0x0000513d store  0x00000002 , 0x0000046d 
+ 00021339  0x0000513e branch  0x0000532e 
+ 00021340  0x00005145 call  0x000053c4 
+ 00021341  0x00005146 call  0x000055e8 
+ 00021342  0x00005147 call  0x000056f0 
+ 00021343  0x00005148 branch  0x000053ce 
+ 00021344  0x0000514b bpatchx  0x00000035 , 0x00004026 
+ 00021345  0x0000514c call  0x000053c4 
+ 00021346  0x0000514d call  0x000032f4 
+ 00021347  0x0000514e fetch  0x00000001 , 0x00000440 
+ 00021348  0x0000514f beq  0x00000003 , 0x00005366 
+ 00021349  0x00005150 branch  0x0000537a 
+ 00021350  0x00005157 bpatchx  0x00000036 , 0x00004026 
+ 00021351  0x00005158 enable  0x00000029 
+ 00021352  0x00005159 call  0x000056e4 
+ 00021353  0x0000515a branch  0x00005377 , 0x00000002 
+ 00021354  0x0000515b call  0x00002c6c 
+ 00021355  0x0000515c call  0x00005413 
+ 00021356  0x0000515d call  0x0000561e 
+ 00021357  0x0000515e disable  0x0000002d 
+ 00021358  0x0000515f call  0x000054bf 
+ 00021359  0x00005160 nrtn  0x0000002d 
+ 00021360  0x00005161 bpatchx  0x00000037 , 0x00004026 
+ 00021361  0x00005162 fetch  0x00000001 , 0x00000005 
+ 00021362  0x00005163 increase  0x00000001 , 0x0000003f 
+ 00021363  0x00005164 store  0x00000001 , 0x00000005 
+ 00021364  0x00005165 call  0x000055aa 
+ 00021365  0x00005166 disable  0x00000029 
+ 00021366  0x00005167 rtn 
+ 00021367  0x0000516a call  0x000053a9 
+ 00021368  0x0000516b disable  0x00000029 
+ 00021369  0x0000516c rtn 
+ 00021370  0x00005172 bpatchx  0x00000038 , 0x00004027 
+ 00021371  0x00005173 jam  0x00000000 , 0x0000450f 
+ 00021372  0x00005174 call  0x00007aaf 
+ 00021373  0x00005175 call  0x00005c18 
+ 00021374  0x00005176 disable  0x0000002e 
+ 00021375  0x00005177 call  0x000056e4 
+ 00021376  0x00005178 branch  0x000053a9 , 0x00000002 
+ 00021377  0x00005179 call  0x00002c6c 
+ 00021378  0x0000517a call  0x00005413 
+ 00021379  0x0000517b call  0x00005489 
+ 00021380  0x0000517c nbranch  0x0000539b , 0x00000018 
+ 00021381  0x0000517d call  0x000053b7 
+ 00021382  0x0000517e branch  0x00005388 , 0x0000002d 
+ 00021383  0x0000517f branch  0x00005395 
+ 00021384  0x00005183 bpatchx  0x00000039 , 0x00004027 
+ 00021385  0x00005184 fetch  0x00000001 , 0x0000450f 
+ 00021386  0x00005185 pincrease  0x00000001 
+ 00021387  0x00005186 store  0x00000001 , 0x0000450f 
+ 00021388  0x00005187 beq  0x0000000c , 0x00005395 
+ 00021389  0x00005188 call  0x000055aa 
+ 00021390  0x00005189 call  0x0000561e 
+ 00021391  0x0000518a call  0x000054c7 
+ 00021392  0x0000518b call  0x0000567e 
+ 00021393  0x0000518c fetch  0x00000002 , 0x000041fb 
+ 00021394  0x0000518d call  0x00007f9c 
+ 00021395  0x0000518e call  0x000053a0 
+ 00021396  0x0000518f branch  0x000053a4 , 0x00000028 
+ 00021397  0x00005191 bpatchx  0x0000003a , 0x00004027 
+ 00021398  0x00005192 call  0x00005be4 
+ 00021399  0x00005193 call  0x00005bdb 
+ 00021400  0x00005194 call  0x00007d9c 
+ 00021401  0x00005195 fetch  0x00000001 , 0x00000462 
+ 00021402  0x00005196 bbit1  0x00000003 , 0x000053a9 
+ 00021403  0x00005198 bpatchx  0x0000003b , 0x00004027 
+ 00021404  0x00005199 call  0x000057f4 
+ 00021405  0x0000519a call  0x0000559d 
+ 00021406  0x0000519b call  0x00005575 
+ 00021407  0x0000519c branch  0x00002841 
+ 00021408  0x000051a0 disable  0x00000028 
+ 00021409  0x000051a1 bmark1  0x0000002a , 0x00007fe7 
+ 00021410  0x000051a2 bmark1  0x00000029 , 0x00007fe7 
+ 00021411  0x000051a3 rtn 
+ 00021412  0x000051a7 bpatchx  0x0000003c , 0x00004027 
+ 00021413  0x000051a8 enable  0x0000002e 
+ 00021414  0x000051a9 call  0x000054c1 
+ 00021415  0x000051aa branch  0x00005388 , 0x0000002d 
+ 00021416  0x000051ab branch  0x00005395 
+ 00021417  0x000051b1 bpatchx  0x0000003d , 0x00004027 
+ 00021418  0x000051b2 call  0x000053af 
+ 00021419  0x000051b3 call  0x000033b4 
+ 00021420  0x000051b4 call  0x00007a77 
+ 00021421  0x000051b5 jam  0x00000015 , 0x00000a99 
+ 00021422  0x000051b6 branch  0x00007d86 
+ 00021423  0x000051b9 setarg  0x00000000 
+ 00021424  0x000051ba store  0x00000009 , 0x000044ff 
+ 00021425  0x000051bb jam  0x00000000 , 0x00000455 
+ 00021426  0x000051bc jam  0x00000000 , 0x00000440 
+ 00021427  0x000051bd jam  0x00000000 , 0x0000043f 
+ 00021428  0x000051be jam  0x00000000 , 0x000044c5 
+ 00021429  0x000051bf jam  0x00000000 , 0x000044c4 
+ 00021430  0x000051c0 rtn 
+ 00021431  0x000051c3 bpatchx  0x0000003e , 0x00004027 
+ 00021432  0x000051c4 fetch  0x00000001 , 0x00000005 
+ 00021433  0x000051c5 increase  0x00000001 , 0x0000003f 
+ 00021434  0x000051c6 store  0x00000001 , 0x00000005 
+ 00021435  0x000051c7 fetch  0x00000001 , 0x0000043f 
+ 00021436  0x000051c8 rtnbit1  0x00000003 
+ 00021437  0x000051c9 set1  0x00000003 
+ 00021438  0x000051ca store  0x00000001 , 0x0000043f 
+ 00021439  0x000051cb fetch  0x00000002 , 0x000044ba 
+ 00021440  0x000051cc store  0x00000002 , 0x0000046d 
+ 00021441  0x000051cd setarg  0x00000000 
+ 00021442  0x000051ce store  0x00000004 , 0x000044e5 
+ 00021443  0x000051cf rtn 
+ 00021444  0x000051d3 bpatchx  0x0000003f , 0x00004027 
+ 00021445  0x000051d4 jam  0x00000036 , 0x0000890f 
+ 00021446  0x000051d5 jam  0x0000005f , 0x0000890b 
+ 00021447  0x000051d6 enable  0x00000036 
+ 00021448  0x000051d7 jam  0x00000007 , 0x00008914 
+ 00021449  0x000051d8 call  0x00002c6c 
+ 00021450  0x000051d9 fetch  0x00000001 , 0x000041e0 
+ 00021451  0x000051da rtn  0x00000034 
+ 00021452  0x000051db jam  0x000000b8 , 0x0000890a 
+ 00021453  0x000051dc rtn 
+ 00021454  0x000051df bpatchx  0x00000040 , 0x00004028 
+ 00021455  0x000051e0 jam  0x0000002e , 0x0000890f 
+ 00021456  0x000051e1 jam  0x000000ff , 0x0000890b 
+ 00021457  0x000051e2 disable  0x00000036 
+ 00021458  0x000051e3 jam  0x00000003 , 0x00008914 
+ 00021459  0x000051e4 arg  0x00000000 , 0x0000001b 
+ 00021460  0x000051e5 rtn 
+ 00021461  0x000051e8 disable  0x00000009 
+ 00021462  0x000051e9 disable  0x00000007 
+ 00021463  0x000051ea fetch  0x00000003 , 0x00000467 
+ 00021464  0x000051eb iforce  0x0000000f 
+ 00021465  0x000051ec fetch  0x00000001 , 0x00000016 
+ 00021466  0x000051ed reverse  0x0000003f , 0x00000002 
+ 00021467  0x000051ee set1  0x00000001 , 0x00000002 
+ 00021468  0x000051ef rshift  0x00000002 , 0x0000000e 
+ 00021469  0x000051f0 rtn 
+ 00021470  0x000051f4 call  0x000053e6 
+ 00021471  0x000051f5 call  0x0000291f 
+ 00021472  0x000051f6 setarg  0x00000500 
+ 00021473  0x000051f7 call  0x00002a8f 
+ 00021474  0x000051f8 branch  0x00002924 
+ 00021475  0x000051fb branch  0x00002939 , 0x0000002d 
+ 00021476  0x000051fd call  0x000053e6 
+ 00021477  0x000051fe branch  0x00002933 
+ 00021478  0x00005200 bpatchx  0x00000041 , 0x00004028 
+ 00021479  0x00005201 call  0x00002918 
+ 00021480  0x00005202 fetch  0x00000001 , 0x0000048c 
+ 00021481  0x00005203 nbranch  0x000053f9 , 0x00000034 
+ 00021482  0x00005204 fetch  0x00000001 , 0x00000016 
+ 00021483  0x00005205 sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00021484  0x00005206 branch  0x000053f3 , 0x00000002 
+ 00021485  0x00005207 force  0x00000000 , 0x00000002 
+ 00021486  0x00005208 rtneq  0x00000025 
+ 00021487  0x00005209 force  0x00000018 , 0x00000002 
+ 00021488  0x0000520a rtneq  0x00000026 
+ 00021489  0x0000520b force  0x0000004e , 0x00000002 
+ 00021490  0x0000520c rtn 
+ 00021491  0x0000520f sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00021492  0x00005210 branch  0x000053f6 , 0x00000002 
+ 00021493  0x00005211 increase  0x00000001 , 0x0000003f 
+ 00021494  0x00005214 lshift  0x0000003f , 0x0000003f 
+ 00021495  0x00005215 add  0x0000003f , 0x00000002 , 0x00000002 
+ 00021496  0x00005216 rtn 
+ 00021497  0x00005219 fetch  0x00000001 , 0x00000016 
+ 00021498  0x0000521a lshift  0x0000003f , 0x00000002 
+ 00021499  0x0000521b rtn 
+ 00021500  0x0000521e arg  0x000001f4 , 0x00000002 
+ 00021501  0x0000521f rtn  0x00000034 
+ 00021502  0x00005220 arg  0x000000fa , 0x00000002 
+ 00021503  0x00005221 rtneq  0x00000001 
+ 00021504  0x00005222 arg  0x00000096 , 0x00000002 
+ 00021505  0x00005223 rtneq  0x00000002 
+ 00021506  0x00005224 arg  0x00000064 , 0x00000002 
+ 00021507  0x00005225 rtneq  0x00000003 
+ 00021508  0x00005226 arg  0x0000004b , 0x00000002 
+ 00021509  0x00005227 rtneq  0x00000004 
+ 00021510  0x00005228 arg  0x00000032 , 0x00000002 
+ 00021511  0x00005229 rtneq  0x00000005 
+ 00021512  0x0000522a arg  0x00000028 , 0x00000002 
+ 00021513  0x0000522b rtneq  0x00000006 
+ 00021514  0x0000522c arg  0x00000014 , 0x00000002 
+ 00021515  0x0000522d rtn 
+ 00021516  0x00005232 setarg  0x008e89be 
+ 00021517  0x00005233 lshift8  0x0000003f , 0x0000003f 
+ 00021518  0x00005234 or_into  0x000000d6 , 0x0000003f 
+ 00021519  0x00005235 iforce  0x00000009 
+ 00021520  0x00005236 setarg  0x00555555 
+ 00021521  0x00005237 store  0x00000003 , 0x00000467 
+ 00021522  0x00005238 rtn 
+ 00021523  0x0000523b bpatchx  0x00000042 , 0x00004028 
+ 00021524  0x0000523c enable  0x00000010 
+ 00021525  0x0000523d fetch  0x00000004 , 0x00000463 
+ 00021526  0x0000523e iforce  0x00000009 
+ 00021527  0x0000523f call  0x00005466 
+ 00021528  0x00005240 setarg  0x00000200 
+ 00021529  0x00005241 branch  0x0000541c , 0x00000029 
+ 00021530  0x00005242 fetch  0x00000002 , 0x0000044d 
+ 00021531  0x00005243 rshift  0x0000003f , 0x0000003f 
+ 00021532  0x00005245 arg  0x00000500 , 0x00000002 
+ 00021533  0x00005246 iadd  0x00000002 , 0x0000003f 
+ 00021534  0x00005247 call  0x00002a24 
+ 00021535  0x00005248 deposit  0x0000001a 
+ 00021536  0x00005249 store  0x00000006 , 0x00000491 
+ 00021537  0x0000524a rtn 
+ 00021538  0x0000524d bpatchx  0x00000043 , 0x00004028 
+ 00021539  0x0000524e fetch  0x00000001 , 0x00000016 
+ 00021540  0x0000524f beq  0x00000025 , 0x00005428 
+ 00021541  0x00005250 beq  0x00000026 , 0x0000542e 
+ 00021542  0x00005251 beq  0x00000027 , 0x00005434 
+ 00021543  0x00005252 branch  0x00005434 
+ 00021544  0x00005255 fetcht  0x00000001 , 0x0000448d 
+ 00021545  0x00005256 isolate1  0x00000001 , 0x00000002 
+ 00021546  0x00005257 branch  0x0000543f , 0x00000001 
+ 00021547  0x00005258 isolate1  0x00000002 , 0x00000002 
+ 00021548  0x00005259 branch  0x00005444 , 0x00000001 
+ 00021549  0x0000525a branch  0x0000543a 
+ 00021550  0x0000525e fetcht  0x00000001 , 0x0000448d 
+ 00021551  0x0000525f isolate1  0x00000002 , 0x00000002 
+ 00021552  0x00005260 branch  0x00005444 , 0x00000001 
+ 00021553  0x00005261 isolate1  0x00000000 , 0x00000002 
+ 00021554  0x00005262 branch  0x0000543a , 0x00000001 
+ 00021555  0x00005263 branch  0x0000543f 
+ 00021556  0x00005267 fetcht  0x00000001 , 0x0000448d 
+ 00021557  0x00005268 isolate1  0x00000000 , 0x00000002 
+ 00021558  0x00005269 branch  0x0000543a , 0x00000001 
+ 00021559  0x0000526a isolate1  0x00000001 , 0x00000002 
+ 00021560  0x0000526b branch  0x0000543f , 0x00000001 
+ 00021561  0x0000526c branch  0x00005444 
+ 00021562  0x00005271 jam  0x00000025 , 0x00000016 
+ 00021563  0x00005272 fetch  0x00000001 , 0x00000ac2 
+ 00021564  0x00005273 set1  0x00000000 , 0x0000003f 
+ 00021565  0x00005274 store  0x00000001 , 0x00000ac2 
+ 00021566  0x00005275 rtn 
+ 00021567  0x00005278 jam  0x00000026 , 0x00000016 
+ 00021568  0x00005279 fetch  0x00000001 , 0x00000ac2 
+ 00021569  0x0000527a set1  0x00000001 , 0x0000003f 
+ 00021570  0x0000527b store  0x00000001 , 0x00000ac2 
+ 00021571  0x0000527c rtn 
+ 00021572  0x0000527f jam  0x00000027 , 0x00000016 
+ 00021573  0x00005280 fetch  0x00000001 , 0x00000ac2 
+ 00021574  0x00005281 set1  0x00000002 , 0x0000003f 
+ 00021575  0x00005282 store  0x00000001 , 0x00000ac2 
+ 00021576  0x00005283 rtn 
+ 00021577  0x00005288 bpatchx  0x00000044 , 0x00004028 
+ 00021578  0x00005289 add  0x00000011 , 0x00000001 , 0x00000006 
+ 00021579  0x0000528a ifetch  0x00000001 , 0x00000006 
+ 00021580  0x0000528b rtnbit0  0x00000000 
+ 00021581  0x0000528c add  0x00000011 , 0x0000001a , 0x00000005 
+ 00021582  0x0000528d ifetch  0x00000002 , 0x00000005 
+ 00021583  0x0000528e increase  0x00000001 , 0x0000003f 
+ 00021584  0x0000528f istore  0x00000002 , 0x00000005 
+ 00021585  0x00005290 add  0x00000011 , 0x00000019 , 0x00000006 
+ 00021586  0x00005291 ifetch  0x00000001 , 0x00000006 
+ 00021587  0x00005292 add  0x00000011 , 0x00000018 , 0x00000005 
+ 00021588  0x00005293 ifetcht  0x00000001 , 0x00000005 
+ 00021589  0x00005294 iadd  0x00000002 , 0x0000003f 
+ 00021590  0x00005295 sub  0x0000003f , 0x00000024 , 0x0000003e 
+ 00021591  0x00005296 branch  0x00005459 , 0x00000002 
+ 00021592  0x00005297 increase  0xffffffdb , 0x0000003f 
+ 00021593  0x00005299 istore  0x00000001 , 0x00000005 
+ 00021594  0x0000529a rtn 
+ 00021595  0x0000529e bpatchx  0x00000045 , 0x00004028 
+ 00021596  0x0000529f fetch  0x00000005 , 0x0000046f 
+ 00021597  0x000052a0 force  0x00000000 , 0x00000002 
+ 00021598  0x000052a1 force  0x00000025 , 0x00000039 
+ 00021599  0x000052a3 bbit0  0x00000000 , 0x00005461 
+ 00021600  0x000052a4 increase  0x00000001 , 0x00000002 
+ 00021601  0x000052a6 rshift  0x0000003f , 0x0000003f 
+ 00021602  0x000052a7 loop  0x0000545f 
+ 00021603  0x000052a8 add  0x00000002 , 0xffffffff , 0x0000003f 
+ 00021604  0x000052a9 store  0x00000001 , 0x00000461 
+ 00021605  0x000052aa rtn 
+ 00021606  0x000052ad bpatchx  0x00000046 , 0x00004028 
+ 00021607  0x000052ae fetch  0x00000001 , 0x00000457 
+ 00021608  0x000052af iforce  0x00000007 
+ 00021609  0x000052b0 fetcht  0x00000005 , 0x0000046f 
+ 00021610  0x000052b1 qisolate1  0x00000002 
+ 00021611  0x000052b2 branch  0x0000547c , 0x00000001 
+ 00021612  0x000052b4 bpatchx  0x00000047 , 0x00004028 
+ 00021613  0x000052b5 fetch  0x00000001 , 0x00000461 
+ 00021614  0x000052b6 isub  0x00000007 , 0x0000003f 
+ 00021615  0x000052b7 branch  0x00005472 , 0x00000002 
+ 00021616  0x000052b8 sub  0x0000003f , 0xffffffff , 0x00000007 
+ 00021617  0x000052b9 branch  0x0000546c 
+ 00021618  0x000052bb copy  0x00000007 , 0x00000039 
+ 00021619  0x000052bc force  0x00000000 , 0x00000007 
+ 00021620  0x000052be qisolate1  0x00000002 
+ 00021621  0x000052bf branch  0x00005477 , 0x00000001 
+ 00021622  0x000052c0 increase  0x00000001 , 0x00000039 
+ 00021623  0x000052c2 deposit  0x00000039 
+ 00021624  0x000052c3 branch  0x0000547c , 0x00000034 
+ 00021625  0x000052c4 increase  0x00000001 , 0x00000007 
+ 00021626  0x000052c5 increase  0xffffffff , 0x00000039 
+ 00021627  0x000052c6 branch  0x00005474 
+ 00021628  0x000052c8 deposit  0x00000007 
+ 00021629  0x000052c9 store  0x00000001 , 0x00000016 
+ 00021630  0x000052ca rtn 
+ 00021631  0x000052ce branch  0x00005482 , 0x00000029 
+ 00021632  0x000052cf until  0x0000003e , 0x00000003 
+ 00021633  0x000052d0 rtn 
+ 00021634  0x000052d3 arg  0x00000ea0 , 0x0000000b 
+ 00021635  0x000052d4 until  0x00000023 , 0x00000026 
+ 00021636  0x000052d5 rtn 
+ 00021637  0x000052d8 disable  0x00000010 
+ 00021638  0x000052d9 fetch  0x00000002 , 0x0000436c 
+ 00021639  0x000052da copy  0x0000003f , 0x0000000b 
+ 00021640  0x000052db branch  0x0000548e 
+ 00021641  0x000052df bpatchx  0x00000048 , 0x00004029 
+ 00021642  0x000052e0 enable  0x00000010 
+ 00021643  0x000052e1 fetch  0x00000002 , 0x0000044d 
+ 00021644  0x000052e2 fetcht  0x00000004 , 0x000044e5 
+ 00021645  0x000052e3 iadd  0x00000002 , 0x0000000b 
+ 00021646  0x000052e5 call  0x000053de 
+ 00021647  0x000052e7 bpatchx  0x00000049 , 0x00004029 
+ 00021648  0x000052e8 call  0x000053d5 
+ 00021649  0x000052e9 disable  0x0000002d 
+ 00021650  0x000052ea enable  0x0000000d 
+ 00021651  0x000052eb enable  0x00000021 
+ 00021652  0x000052ec disable  0x00000020 
+ 00021653  0x000052ed copy  0x0000000b , 0x0000001b 
+ 00021654  0x000052ee correlate  0x0000003e , 0x00000003 
+ 00021655  0x000052ef branch  0x0000549a , 0x0000002e 
+ 00021656  0x000052f0 copy  0x0000001a , 0x00000002 
+ 00021657  0x000052f1 storet  0x00000006 , 0x0000009a 
+ 00021658  0x000052f3 nbranch  0x0000264d , 0x00000018 
+ 00021659  0x000052f4 branch  0x000054a1 , 0x0000002e 
+ 00021660  0x000052f5 arg  0x000001e0 , 0x00000029 
+ 00021661  0x000052f6 copy  0x00000021 , 0x00000028 
+ 00021662  0x000052f7 fetch  0x00000001 , 0x0000043f 
+ 00021663  0x000052f8 bbit0  0x00000003 , 0x000054a1 
+ 00021664  0x000052f9 call  0x00002b05 , 0x0000002b 
+ 00021665  0x000052fb bpatchx  0x0000004a , 0x00004029 
+ 00021666  0x000052fc call  0x000029bb 
+ 00021667  0x000052fd enable  0x00000007 
+ 00021668  0x000052fe enable  0x00000009 
+ 00021669  0x000052ff parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021670  0x00005300 rshift3  0x0000000c , 0x0000003f 
+ 00021671  0x00005301 store  0x00000001 , 0x000002d9 
+ 00021672  0x00005302 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021673  0x00005303 rshift3  0x0000000c , 0x0000003f 
+ 00021674  0x00005304 istore  0x00000001 , 0x00000005 
+ 00021675  0x00005305 and  0x0000003f , 0x0000003f , 0x00000039 
+ 00021676  0x00005306 branch  0x000054b1 , 0x00000005 
+ 00021677  0x00005309 parse  0x00000003 , 0x00000000 , 0x00000008 
+ 00021678  0x0000530a rshift3  0x0000000c , 0x0000003f 
+ 00021679  0x0000530b istore  0x00000001 , 0x00000005 
+ 00021680  0x0000530c loop  0x000054ad 
+ 00021681  0x0000530f bpatchx  0x0000004b , 0x00004029 
+ 00021682  0x00005310 parse  0x00000003 , 0x00000000 , 0x00000018 
+ 00021683  0x00005311 enable  0x00000010 
+ 00021684  0x00005312 arg  0x00000664 , 0x0000001b 
+ 00021685  0x00005313 rshift32  0x0000003f , 0x0000003f 
+ 00021686  0x00005314 rshift16  0x0000003f , 0x0000003f 
+ 00021687  0x00005315 istore  0x00000003 , 0x00000005 
+ 00021688  0x00005316 branch  0x0000264d , 0x00000006 
+ 00021689  0x00005317 enable  0x0000002d 
+ 00021690  0x00005318 fetch  0x00000001 , 0x00000017 
+ 00021691  0x00005319 add  0x0000003f , 0x00000000 , 0x00000011 
+ 00021692  0x0000531a call  0x00002981 
+ 00021693  0x0000531b disable  0x0000000d 
+ 00021694  0x0000531c branch  0x00002918 
+ 00021695  0x0000531f bpatchx  0x0000004c , 0x00004029 
+ 00021696  0x00005320 call  0x000054c9 
+ 00021697  0x00005322 fetcht  0x00000001 , 0x00000017 
+ 00021698  0x00005323 call  0x0000291f 
+ 00021699  0x00005324 call  0x00002924 
+ 00021700  0x00005325 enable  0x00000010 
+ 00021701  0x00005326 arg  0x0000157c , 0x0000000b 
+ 00021702  0x00005327 branch  0x0000548f 
+ 00021703  0x0000532a call  0x000054c9 
+ 00021704  0x0000532b branch  0x0000264d 
+ 00021705  0x0000532e bpatchx  0x0000004d , 0x00004029 
+ 00021706  0x0000532f call  0x000053d5 
+ 00021707  0x00005330 call  0x000053e3 
+ 00021708  0x00005331 branch  0x000054cd 
+ 00021709  0x00005334 set1  0x00000000 , 0x00000015 
+ 00021710  0x00005335 enable  0x0000001d 
+ 00021711  0x00005336 enable  0x00000020 
+ 00021712  0x00005337 disable  0x00000021 
+ 00021713  0x00005338 call  0x0000547f 
+ 00021714  0x00005339 rshift16  0x00000009 , 0x0000003f 
+ 00021715  0x0000533a rshift8  0x0000003f , 0x0000003f 
+ 00021716  0x0000533b rshift4  0x0000003f , 0x0000003f 
+ 00021717  0x0000533c inject  0x00000003 , 0x00000028 
+ 00021718  0x0000533d enable  0x00000007 
+ 00021719  0x0000533e enable  0x00000009 
+ 00021720  0x0000533f bpatchx  0x0000004e , 0x00004029 
+ 00021721  0x00005340 fetch  0x00000001 , 0x000043dc 
+ 00021722  0x00005341 inject  0x00000003 , 0x00000008 
+ 00021723  0x00005342 ifetch  0x00000001 , 0x00000006 
+ 00021724  0x00005343 and  0x0000003f , 0x0000003f , 0x00000039 
+ 00021725  0x00005344 inject  0x00000003 , 0x00000008 
+ 00021726  0x00005345 branch  0x000054e2 , 0x00000005 
+ 00021727  0x00005347 ifetch  0x00000001 , 0x00000006 
+ 00021728  0x00005348 inject  0x00000003 , 0x00000008 
+ 00021729  0x00005349 loop  0x000054df 
+ 00021730  0x0000534c enable  0x00000008 
+ 00021731  0x0000534d inject  0x00000003 , 0x00000018 
+ 00021732  0x0000534e disable  0x00000008 
+ 00021733  0x0000534f until  0x0000003e , 0x00000027 
+ 00021734  0x00005350 nop  0x00000064 
+ 00021735  0x00005351 disable  0x0000001d 
+ 00021736  0x00005352 rtn 
+ 00021737  0x00005355 bpatchx  0x0000004f , 0x00004029 
+ 00021738  0x00005356 fetch  0x00000001 , 0x00004484 
+ 00021739  0x00005357 beq  0x00000001 , 0x000054f9 
+ 00021740  0x00005358 fetch  0x00000001 , 0x00004485 
+ 00021741  0x00005359 lshift4  0x0000003f , 0x0000003f 
+ 00021742  0x0000535a lshift2  0x0000003f , 0x0000003f 
+ 00021743  0x0000535b store  0x00000001 , 0x000043dc 
+ 00021744  0x0000535c fetcht  0x00000001 , 0x0000436f 
+ 00021745  0x0000535d add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00021746  0x0000535e store  0x00000001 , 0x000043dd 
+ 00021747  0x0000535f fetch  0x00000006 , 0x000044a0 
+ 00021748  0x00005360 store  0x00000006 , 0x000043de 
+ 00021749  0x00005361 copy  0x00000002 , 0x00000039 
+ 00021750  0x00005362 arg  0x00004370 , 0x00000006 
+ 00021751  0x00005363 call  0x00007ef4 
+ 00021752  0x00005364 branch  0x00005504 
+ 00021753  0x00005366 fetch  0x00000001 , 0x00004486 
+ 00021754  0x00005367 lshift4  0x0000003f , 0x0000003f 
+ 00021755  0x00005368 lshift2  0x0000003f , 0x0000003f 
+ 00021756  0x00005369 increase  0x00000001 , 0x0000003f 
+ 00021757  0x0000536a store  0x00000001 , 0x000043dc 
+ 00021758  0x0000536b setarg  0x0000000c 
+ 00021759  0x0000536c store  0x00000001 , 0x000043dd 
+ 00021760  0x0000536d fetch  0x00000006 , 0x000044a0 
+ 00021761  0x0000536e store  0x00000006 , 0x000043de 
+ 00021762  0x0000536f fetch  0x00000006 , 0x000041d0 
+ 00021763  0x00005370 istore  0x00000006 , 0x00000005 
+ 00021764  0x00005372 bpatchx  0x00000050 , 0x0000402a 
+ 00021765  0x00005373 fetch  0x00000001 , 0x00000000 
+ 00021766  0x00005374 increase  0x00000001 , 0x0000003f 
+ 00021767  0x00005375 store  0x00000001 , 0x00000000 
+ 00021768  0x00005376 arg  0x00000708 , 0x0000001b 
+ 00021769  0x00005377 disable  0x0000002d 
+ 00021770  0x00005378 branch  0x000054bf 
+ 00021771  0x0000537b bpatchx  0x00000051 , 0x0000402a 
+ 00021772  0x0000537c fetch  0x00000001 , 0x0000449e 
+ 00021773  0x0000537d rtnne  0x00000001 
+ 00021774  0x0000537e fetch  0x00000001 , 0x00000000 
+ 00021775  0x0000537f increase  0x00000001 , 0x0000003f 
+ 00021776  0x00005380 store  0x00000001 , 0x00000000 
+ 00021777  0x00005381 arg  0x00000c03 , 0x00000002 
+ 00021778  0x00005382 fetch  0x00000001 , 0x0000449f 
+ 00021779  0x00005383 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00021780  0x00005384 copy  0x00000011 , 0x0000003f 
+ 00021781  0x00005385 nsetflag  0x00000034 , 0x00000007 , 0x00000002 
+ 00021782  0x00005386 storet  0x00000002 , 0x000043dc 
+ 00021783  0x00005387 fetch  0x00000006 , 0x000044a0 
+ 00021784  0x00005388 istore  0x00000006 , 0x00000005 
+ 00021785  0x00005389 fetch  0x00000006 , 0x0000044f 
+ 00021786  0x0000538a istore  0x00000006 , 0x00000005 
+ 00021787  0x0000538b branch  0x000054bf 
+ 00021788  0x0000538f bpatchx  0x00000052 , 0x0000402a 
+ 00021789  0x00005390 arg  0x00000004 , 0x00000002 
+ 00021790  0x00005391 fetch  0x00000001 , 0x00004485 
+ 00021791  0x00005392 nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00021792  0x00005393 storet  0x00000001 , 0x000043dc 
+ 00021793  0x00005394 fetcht  0x00000001 , 0x0000438f 
+ 00021794  0x00005395 add  0x00000002 , 0x00000006 , 0x0000003f 
+ 00021795  0x00005396 store  0x00000001 , 0x000043dd 
+ 00021796  0x00005397 fetch  0x00000006 , 0x000044a0 
+ 00021797  0x00005398 store  0x00000006 , 0x000043de 
+ 00021798  0x00005399 arg  0x00004390 , 0x00000006 
+ 00021799  0x0000539a copy  0x00000002 , 0x00000039 
+ 00021800  0x0000539b call  0x00007ef4 
+ 00021801  0x0000539c call  0x000054c7 
+ 00021802  0x0000539d branch  0x00005706 
+ 00021803  0x000053a0 bpatchx  0x00000053 , 0x0000402a 
+ 00021804  0x000053a1 force  0xffffffff , 0x0000003f 
+ 00021805  0x000053a2 setsect  0x00000002 , 0x00000001 
+ 00021806  0x000053a3 store  0x00000005 , 0x0000046f 
+ 00021807  0x000053a4 call  0x0000545b 
+ 00021808  0x000053a5 force  0x00000004 , 0x00000039 
+ 00021809  0x000053a6 arg  0x00000463 , 0x00000005 
+ 00021810  0x000053a7 call  0x0000630d 
+ 00021811  0x000053a8 fetch  0x00000002 , 0x0000449c 
+ 00021812  0x000053a9 store  0x00000002 , 0x0000046d 
+ 00021813  0x000053ab random  0x0000003f 
+ 00021814  0x000053ac and_into  0x0000000f , 0x0000003f 
+ 00021815  0x000053ad sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00021816  0x000053ae branch  0x00005535 , 0x00000002 
+ 00021817  0x000053af store  0x00000001 , 0x00000458 
+ 00021818  0x000053b0 store  0x00000001 , 0x000006e6 
+ 00021819  0x000053b1 bpatchx  0x00000054 , 0x0000402a 
+ 00021820  0x000053b2 fetcht  0x00000002 , 0x00004367 
+ 00021821  0x000053b3 storet  0x00000002 , 0x00000441 
+ 00021822  0x000053b4 copy  0x00000002 , 0x00000013 
+ 00021823  0x000053b5 add  0x00000022 , 0x00000007 , 0x0000003f 
+ 00021824  0x000053b6 idiv  0x00000013 
+ 00021825  0x000053b7 call  0x00007f86 
+ 00021826  0x000053b8 remainder  0x00000011 
+ 00021827  0x000053b9 isub  0x00000011 , 0x0000003f 
+ 00021828  0x000053ba iadd  0x00000013 , 0x0000003f 
+ 00021829  0x000053bb fetcht  0x00000002 , 0x00004365 
+ 00021830  0x000053bc iadd  0x00000002 , 0x0000003f 
+ 00021831  0x000053bd store  0x00000004 , 0x00000443 
+ 00021832  0x000053be isub  0x00000022 , 0x00000011 
+ 00021833  0x000053bf increase  0xfffffffa , 0x00000011 
+ 00021834  0x000053c0 arg  0x00002205 , 0x00000012 
+ 00021835  0x000053c1 fetch  0x00000001 , 0x00004495 
+ 00021836  0x000053c2 nsetflag  0x00000034 , 0x00000006 , 0x00000012 
+ 00021837  0x000053c3 fetch  0x00000001 , 0x0000448e 
+ 00021838  0x000053c4 nsetflag  0x00000034 , 0x00000007 , 0x00000012 
+ 00021839  0x000053c5 copy  0x00000012 , 0x0000003f 
+ 00021840  0x000053c6 store  0x00000002 , 0x000043dc 
+ 00021841  0x000053c7 fetch  0x00000006 , 0x000044a0 
+ 00021842  0x000053c8 istore  0x00000006 , 0x00000005 
+ 00021843  0x000053c9 fetch  0x00000006 , 0x0000044f 
+ 00021844  0x000053ca istore  0x00000006 , 0x00000005 
+ 00021845  0x000053cb fetch  0x00000004 , 0x00000463 
+ 00021846  0x000053cc istore  0x00000004 , 0x00000005 
+ 00021847  0x000053cd random  0x0000003f 
+ 00021848  0x000053ce istore  0x00000002 , 0x00000005 
+ 00021849  0x000053cf random  0x0000003f 
+ 00021850  0x000053d0 istore  0x00000001 , 0x00000005 
+ 00021851  0x000053d1 force  0x00000002 , 0x0000003f 
+ 00021852  0x000053d2 istore  0x00000001 , 0x00000005 
+ 00021853  0x000053d3 rshift2  0x00000011 , 0x0000003f 
+ 00021854  0x000053d4 istore  0x00000002 , 0x00000005 
+ 00021855  0x000053d5 rshift2  0x00000013 , 0x0000003f 
+ 00021856  0x000053d6 istore  0x00000002 , 0x00000005 
+ 00021857  0x000053d7 bpatchx  0x00000055 , 0x0000402a 
+ 00021858  0x000053d8 setarg  0x00000000 
+ 00021859  0x000053d9 istore  0x00000002 , 0x00000005 
+ 00021860  0x000053da fetch  0x00000002 , 0x0000449c 
+ 00021861  0x000053db istore  0x00000002 , 0x00000005 
+ 00021862  0x000053dc fetch  0x00000005 , 0x0000046f 
+ 00021863  0x000053dd istore  0x00000005 , 0x00000005 
+ 00021864  0x000053de fetch  0x00000001 , 0x00000458 
+ 00021865  0x000053df arg  0x000000a0 , 0x00000002 
+ 00021866  0x000053e0 ior  0x00000002 , 0x0000003f 
+ 00021867  0x000053e1 istore  0x00000001 , 0x00000005 
+ 00021868  0x000053e2 call  0x000054c7 
+ 00021869  0x000053e3 setarg  0x000043dc 
+ 00021870  0x000053e4 add  0x0000003f , 0x00000012 , 0x00000006 
+ 00021871  0x000053e5 ifetch  0x00000003 , 0x00000006 
+ 00021872  0x000053e6 store  0x00000003 , 0x00000467 
+ 00021873  0x000053e7 rtn 
+ 00021874  0x000053ea bpatchx  0x00000056 , 0x0000402a 
+ 00021875  0x000053eb disable  0x00000029 
+ 00021876  0x000053ec branch  0x0000540c 
+ 00021877  0x000053f1 fetch  0x00000001 , 0x0000043f 
+ 00021878  0x000053f2 rtnbit0  0x00000005 
+ 00021879  0x000053f3 fetch  0x00000002 , 0x00000459 
+ 00021880  0x000053f4 fetcht  0x00000002 , 0x0000045f 
+ 00021881  0x000053f5 isub  0x00000002 , 0x0000003f 
+ 00021882  0x000053f6 nrtn  0x00000002 
+ 00021883  0x000053f7 store  0x00000002 , 0x00000a9a 
+ 00021884  0x000053f8 bpatchx  0x00000057 , 0x0000402a 
+ 00021885  0x000053f9 fetch  0x00000001 , 0x0000043f 
+ 00021886  0x000053fa set0  0x00000005 , 0x0000003f 
+ 00021887  0x000053fb set0  0x00000003 , 0x0000003f 
+ 00021888  0x000053fc store  0x00000001 , 0x0000043f 
+ 00021889  0x000053fd fetch  0x00000004 , 0x00000443 
+ 00021890  0x000053fe fetcht  0x00000002 , 0x00000441 
+ 00021891  0x000053ff storet  0x00000002 , 0x00000aa2 
+ 00021892  0x00005400 isub  0x00000002 , 0x00000011 
+ 00021893  0x00005401 bpatchx  0x00000058 , 0x0000402b 
+ 00021894  0x00005402 fetch  0x00000001 , 0x000043d3 
+ 00021895  0x00005403 store  0x00000001 , 0x0000046a 
+ 00021896  0x00005404 ifetcht  0x00000002 , 0x00000006 
+ 00021897  0x00005405 ifetch  0x00000002 , 0x00000006 
+ 00021898  0x00005406 lshift2  0x0000003f , 0x0000003f 
+ 00021899  0x00005407 store  0x00000002 , 0x00000441 
+ 00021900  0x00005408 lshift2  0x00000002 , 0x00000002 
+ 00021901  0x00005409 iadd  0x00000002 , 0x0000003f 
+ 00021902  0x0000540a ifetcht  0x00000004 , 0x00000006 
+ 00021903  0x0000540b storet  0x00000004 , 0x0000046b 
+ 00021904  0x0000540c iadd  0x00000011 , 0x0000003f 
+ 00021905  0x0000540d copy  0x0000003f , 0x00000014 
+ 00021906  0x0000540e fetch  0x00000002 , 0x00000441 
+ 00021907  0x0000540f fetcht  0x00000002 , 0x00000aa2 
+ 00021908  0x00005410 isub  0x00000002 , 0x0000003f 
+ 00021909  0x00005411 fetcht  0x00000002 , 0x00000a9a 
+ 00021910  0x00005412 imul32  0x00000002 , 0x0000003f 
+ 00021911  0x00005413 iadd  0x00000014 , 0x0000003f 
+ 00021912  0x00005414 store  0x00000004 , 0x00000443 
+ 00021913  0x00005415 call  0x00005713 
+ 00021914  0x00005416 fetch  0x00000002 , 0x0000046d 
+ 00021915  0x00005417 store  0x00000002 , 0x000044ba 
+ 00021916  0x00005418 rtn 
+ 00021917  0x0000541c bpatchx  0x00000059 , 0x0000402b 
+ 00021918  0x0000541d fetch  0x00000001 , 0x0000043f 
+ 00021919  0x0000541e rtnbit0  0x00000006 
+ 00021920  0x0000541f fetch  0x00000002 , 0x00000459 
+ 00021921  0x00005420 fetcht  0x00000002 , 0x0000045f 
+ 00021922  0x00005421 isub  0x00000002 , 0x0000003f 
+ 00021923  0x00005422 nrtn  0x00000002 
+ 00021924  0x00005423 fetch  0x00000001 , 0x0000043f 
+ 00021925  0x00005424 set0  0x00000006 , 0x0000003f 
+ 00021926  0x00005425 store  0x00000001 , 0x0000043f 
+ 00021927  0x00005426 fetch  0x00000005 , 0x000043ce 
+ 00021928  0x00005427 store  0x00000005 , 0x0000046f 
+ 00021929  0x00005428 branch  0x0000545b 
+ 00021930  0x0000542c bpatchx  0x0000005a , 0x0000402b 
+ 00021931  0x0000542d call  0x000056ed 
+ 00021932  0x0000542e call  0x000055c0 
+ 00021933  0x0000542f fetch  0x00000001 , 0x000002d9 
+ 00021934  0x00005430 isolate1  0x00000004 , 0x0000003f 
+ 00021935  0x00005431 setflag  0x00000001 , 0x0000002a , 0x00000000 
+ 00021936  0x00005432 rshift  0x0000003f , 0x0000003f 
+ 00021937  0x00005433 ixor  0x00000002 , 0x0000003f 
+ 00021938  0x00005434 isolate1  0x00000002 , 0x0000003f 
+ 00021939  0x00005435 setflag  0x00000001 , 0x0000000f , 0x00000000 
+ 00021940  0x00005436 rtnmark1  0x0000000f 
+ 00021941  0x00005437 fetch  0x00000001 , 0x000002da 
+ 00021942  0x00005438 branch  0x000055bc , 0x00000034 
+ 00021943  0x00005439 fetch  0x00000001 , 0x0000043f 
+ 00021944  0x0000543a bbit0  0x00000004 , 0x000055bc 
+ 00021945  0x0000543b call  0x0000748d 
+ 00021946  0x0000543c call  0x000073fb 
+ 00021947  0x0000543d nrtn  0x00000034 
+ 00021948  0x0000543f fetcht  0x00000001 , 0x00000456 
+ 00021949  0x00005440 setflip  0x00000002 , 0x00000002 
+ 00021950  0x00005441 storet  0x00000001 , 0x00000456 
+ 00021951  0x00005442 rtn 
+ 00021952  0x00005446 bpatchx  0x0000005b , 0x0000402b 
+ 00021953  0x00005447 fetcht  0x00000001 , 0x00000456 
+ 00021954  0x00005448 isolate0  0x00000005 , 0x00000002 
+ 00021955  0x00005449 rtn  0x00000001 
+ 00021956  0x0000544a fetch  0x00000001 , 0x000002d9 
+ 00021957  0x0000544b lshift  0x0000003f , 0x0000003f 
+ 00021958  0x0000544c ixor  0x00000002 , 0x0000003f 
+ 00021959  0x0000544d rtnbit0  0x00000003 
+ 00021960  0x0000544e set0  0x00000005 , 0x00000002 
+ 00021961  0x0000544f setflip  0x00000003 , 0x00000002 
+ 00021962  0x00005450 storet  0x00000001 , 0x00000456 
+ 00021963  0x00005451 compare  0x00000003 , 0x00000002 , 0x00000003 
+ 00021964  0x00005452 nrtn  0x00000001 
+ 00021965  0x00005453 fetch  0x00000001 , 0x000043de 
+ 00021966  0x00005454 beq  0x00000005 , 0x000055d2 
+ 00021967  0x00005455 fetch  0x00000001 , 0x000044c5 
+ 00021968  0x00005456 beq  0x00000002 , 0x000055d6 
+ 00021969  0x00005457 rtn 
+ 00021970  0x0000545b fetch  0x00000001 , 0x0000043f 
+ 00021971  0x0000545c set1  0x00000004 , 0x0000003f 
+ 00021972  0x0000545d store  0x00000001 , 0x0000043f 
+ 00021973  0x0000545e rtn 
+ 00021974  0x00005461 bpatchx  0x0000005c , 0x0000402b 
+ 00021975  0x00005462 jam  0x00000000 , 0x000044c5 
+ 00021976  0x00005463 arg  0x00000000 , 0x0000003f 
+ 00021977  0x00005464 store  0x00000004 , 0x0000440d 
+ 00021978  0x00005465 store  0x00000005 , 0x00004403 
+ 00021979  0x00005466 set1  0x00000027 , 0x0000003f 
+ 00021980  0x00005467 store  0x00000005 , 0x00004408 
+ 00021981  0x00005468 fetch  0x00000001 , 0x0000043f 
+ 00021982  0x00005469 set0  0x00000004 , 0x0000003f 
+ 00021983  0x0000546a store  0x00000001 , 0x0000043f 
+ 00021984  0x0000546b rtn 
+ 00021985  0x0000546f bpatchx  0x0000005d , 0x0000402b 
+ 00021986  0x00005470 call  0x00005422 
+ 00021987  0x00005471 call  0x00005485 
+ 00021988  0x00005472 fetch  0x00000001 , 0x00000001 
+ 00021989  0x00005473 increase  0x00000001 , 0x0000003f 
+ 00021990  0x00005474 store  0x00000001 , 0x00000001 
+ 00021991  0x00005475 rtn 
+ 00021992  0x00005479 bpatchx  0x0000005e , 0x0000402b 
+ 00021993  0x0000547a fetch  0x00000001 , 0x00004369 
+ 00021994  0x0000547b rtnne  0x00000001 
+ 00021995  0x0000547c arg  0x00000002 , 0x00000007 
+ 00021996  0x0000547d call  0x00007f16 
+ 00021997  0x0000547e nrtn  0x00000034 
+ 00021998  0x0000547f fetch  0x00000002 , 0x0000436a 
+ 00021999  0x00005480 fetcht  0x00000002 , 0x0000436c 
+ 00022000  0x00005481 isub  0x00000002 , 0x0000003f 
+ 00022001  0x00005482 arg  0x00000002 , 0x00000007 
+ 00022002  0x00005483 call  0x00007f08 
+ 00022003  0x00005484 disable  0x00000029 
+ 00022004  0x00005485 call  0x00005572 
+ 00022005  0x00005486 call  0x000055e1 
+ 00022006  0x00005487 nrtn  0x0000002d 
+ 00022007  0x00005488 bpatchx  0x0000005f , 0x0000402b 
+ 00022008  0x00005489 fetch  0x00000006 , 0x000002db 
+ 00022009  0x0000548a store  0x00000006 , 0x0000044f 
+ 00022010  0x0000548d fetch  0x00000001 , 0x00000002 
+ 00022011  0x0000548e increase  0x00000001 , 0x0000003f 
+ 00022012  0x0000548f store  0x00000001 , 0x00000002 
+ 00022013  0x00005490 call  0x00005608 
+ 00022014  0x00005491 rtn  0x00000029 
+ 00022015  0x00005492 call  0x0000550b 
+ 00022016  0x00005493 nrtn  0x0000002d 
+ 00022017  0x00005494 bpatchx  0x00000060 , 0x0000402c 
+ 00022018  0x00005495 fetch  0x00000001 , 0x00000004 
+ 00022019  0x00005496 increase  0x00000001 , 0x0000003f 
+ 00022020  0x00005497 store  0x00000001 , 0x00000004 
+ 00022021  0x00005498 fetch  0x00000009 , 0x000002e1 
+ 00022022  0x00005499 store  0x00000009 , 0x00000101 
+ 00022023  0x0000549a rtn 
+ 00022024  0x0000549d bpatchx  0x00000061 , 0x0000402c 
+ 00022025  0x0000549e fetch  0x00000001 , 0x0000049b 
+ 00022026  0x0000549f rtnne  0x0000001b 
+ 00022027  0x000054a0 fetch  0x00000006 , 0x0000044f 
+ 00022028  0x000054a1 fetcht  0x00000006 , 0x0000448f 
+ 00022029  0x000054a2 isub  0x00000002 , 0x0000003e 
+ 00022030  0x000054a3 nrtn  0x00000005 
+ 00022031  0x000054a4 call  0x0000223b 
+ 00022032  0x000054a5 nrtn  0x00000005 
+ 00022033  0x000054a6 call  0x0000552b 
+ 00022034  0x000054a7 call  0x00005340 
+ 00022035  0x000054a8 bpatchx  0x00000062 , 0x0000402c 
+ 00022036  0x000054a9 jam  0x00000000 , 0x000041ce 
+ 00022037  0x000054aa jam  0x00000000 , 0x00000476 
+ 00022038  0x000054ab jam  0x00000000 , 0x00004369 
+ 00022039  0x000054ac jam  0x00000000 , 0x0000049b 
+ 00022040  0x000054ad branch  0x00002223 
+ 00022041  0x000054b0 arg  0x00000001 , 0x00000011 
+ 00022042  0x000054b1 fetch  0x00000001 , 0x000002d9 
+ 00022043  0x000054b2 rtnbit1  0x00000006 
+ 00022044  0x000054b3 arg  0x00000000 , 0x00000011 
+ 00022045  0x000054b4 rtn 
+ 00022046  0x000054b9 bpatchx  0x00000063 , 0x0000402c 
+ 00022047  0x000054ba fetch  0x00000001 , 0x00000456 
+ 00022048  0x000054bb rtnbit1  0x00000005 
+ 00022049  0x000054bc call  0x00005642 
+ 00022050  0x000054bd call  0x00005873 
+ 00022051  0x000054be branch  0x00005664 , 0x00000034 
+ 00022052  0x000054bf ifetch  0x00000001 , 0x00000006 
+ 00022053  0x000054c0 ifetcht  0x00000001 , 0x00000006 
+ 00022054  0x000054c1 copy  0x00000002 , 0x00000011 
+ 00022055  0x000054c2 isub  0x00000011 , 0x0000003f 
+ 00022056  0x000054c3 arg  0x0000001b , 0x00000002 
+ 00022057  0x000054c4 call  0x00007fdd 
+ 00022058  0x000054c5 copy  0x0000003f , 0x00000002 
+ 00022059  0x000054c6 ifetch  0x00000001 , 0x00000006 
+ 00022060  0x000054c7 copy  0x0000003f , 0x00000001 
+ 00022061  0x000054c8 copy  0x00000011 , 0x0000003f 
+ 00022062  0x000054c9 iadd  0x00000006 , 0x00000006 
+ 00022063  0x000054ca arg  0x000043de , 0x00000005 
+ 00022064  0x000054cb copy  0x00000002 , 0x00000039 
+ 00022065  0x000054cc call  0x00007f01 
+ 00022066  0x000054cd call  0x00005654 
+ 00022067  0x000054ce call  0x00005666 
+ 00022068  0x000054d0 call  0x00005873 
+ 00022069  0x000054d1 ifetch  0x00000001 , 0x00000006 
+ 00022070  0x000054d2 copy  0x0000003f , 0x00000011 
+ 00022071  0x000054d3 copy  0x00000006 , 0x00000013 
+ 00022072  0x000054d4 ifetcht  0x00000001 , 0x00000006 
+ 00022073  0x000054d5 copy  0x00000002 , 0x00000012 
+ 00022074  0x000054d6 isub  0x00000012 , 0x0000003f 
+ 00022075  0x000054d7 arg  0x0000001b , 0x00000002 
+ 00022076  0x000054d8 call  0x00007fdd 
+ 00022077  0x000054d9 iadd  0x00000012 , 0x0000003f 
+ 00022078  0x000054da istore  0x00000001 , 0x00000013 
+ 00022079  0x000054db isub  0x00000011 , 0x0000003e 
+ 00022080  0x000054dc nrtn  0x00000005 
+ 00022081  0x000054dd branch  0x00005896 
+ 00022082  0x000054e1 call  0x00005649 
+ 00022083  0x000054e2 rtnmark1  0x00000029 
+ 00022084  0x000054e3 fetch  0x00000001 , 0x000044e9 
+ 00022085  0x000054e4 bbit0  0x00000002 , 0x00005652 
+ 00022086  0x000054e5 call  0x00005876 
+ 00022087  0x000054e6 branch  0x00005652 , 0x00000034 
+ 00022088  0x000054e7 branch  0x00005650 
+ 00022089  0x000054eb call  0x00005873 
+ 00022090  0x000054ec branch  0x00005652 , 0x00000034 
+ 00022091  0x000054ed ifetch  0x00000001 , 0x00000006 
+ 00022092  0x000054ee ifetcht  0x00000001 , 0x00000006 
+ 00022093  0x000054ef isub  0x00000002 , 0x0000003f 
+ 00022094  0x000054f0 sub  0x0000003f , 0x0000001b , 0x0000003e 
+ 00022095  0x000054f1 branch  0x00005652 , 0x00000002 
+ 00022096  0x000054f3 set1  0x00000029 , 0x00000000 
+ 00022097  0x000054f4 rtn 
+ 00022098  0x000054f7 set0  0x00000029 , 0x00000000 
+ 00022099  0x000054f8 rtn 
+ 00022100  0x000054fb copy  0x00000011 , 0x0000003f 
+ 00022101  0x000054fc rtn  0x00000034 
+ 00022102  0x000054fd arg  0x00000001 , 0x00000001 
+ 00022103  0x000054fe rtn 
+ 00022104  0x00005502 bpatchx  0x00000064 , 0x0000402c 
+ 00022105  0x00005503 increase  0x00000001 , 0x00000002 
+ 00022106  0x00005504 call  0x0000576a 
+ 00022107  0x00005505 increase  0xfffffffe , 0x00000006 
+ 00022108  0x00005506 ifetch  0x00000002 , 0x00000006 
+ 00022109  0x00005507 arg  0x00002902 , 0x00000002 
+ 00022110  0x00005508 isub  0x00000002 , 0x0000003e 
+ 00022111  0x00005509 nrtn  0x00000005 
+ 00022112  0x0000550a increase  0x00000001 , 0x00000006 
+ 00022113  0x0000550b copy  0x00000006 , 0x00000011 
+ 00022114  0x0000550c ifetch  0x00000001 , 0x00000006 
+ 00022115  0x0000550d rtn 
+ 00022116  0x00005511 force  0x00000000 , 0x00000002 
+ 00022117  0x00005512 force  0x00000001 , 0x00000001 
+ 00022118  0x00005515 bpatchx  0x00000065 , 0x0000402c 
+ 00022119  0x00005516 storet  0x00000001 , 0x000043dd 
+ 00022120  0x00005517 fetcht  0x00000001 , 0x00000456 
+ 00022121  0x00005518 set1  0x00000005 , 0x00000002 
+ 00022122  0x00005519 and  0x00000002 , 0x000000fc , 0x0000003f 
+ 00022123  0x0000551a ior  0x00000001 , 0x0000003f 
+ 00022124  0x0000551b store  0x00000001 , 0x00000456 
+ 00022125  0x0000551c and_into  0x0000001f , 0x0000003f 
+ 00022126  0x0000551d isolate1  0x00000029 , 0x00000000 
+ 00022127  0x0000551e setflag  0x00000001 , 0x00000004 , 0x0000003f 
+ 00022128  0x0000551f store  0x00000001 , 0x000043dc 
+ 00022129  0x00005521 fetch  0x00000001 , 0x000043dc 
+ 00022130  0x00005522 compare  0x00000001 , 0x00000001 , 0x00000003 
+ 00022131  0x00005523 nbranch  0x00005676 , 0x00000001 
+ 00022132  0x00005524 fetch  0x00000001 , 0x000043dd 
+ 00022133  0x00005525 rtn  0x00000034 
+ 00022134  0x00005527 fetch  0x00000001 , 0x0000043f 
+ 00022135  0x00005528 rtnbit0  0x00000004 
+ 00022136  0x00005529 call  0x0000748d 
+ 00022137  0x0000552a branch  0x000073e3 
+ 00022138  0x0000552e arg  0x00000000 , 0x00000007 
+ 00022139  0x0000552f branch  0x00002c32 
+ 00022140  0x00005532 arg  0x00000000 , 0x00000007 
+ 00022141  0x00005533 branch  0x00002c36 
+ 00022142  0x00005537 bpatchx  0x00000066 , 0x0000402c 
+ 00022143  0x00005538 rtnmark1  0x0000000f 
+ 00022144  0x00005539 call  0x00005890 
+ 00022145  0x0000553a nrtn  0x00000034 
+ 00022146  0x0000553b fetch  0x00000001 , 0x000002d9 
+ 00022147  0x0000553c and  0x0000003f , 0x00000003 , 0x0000003f 
+ 00022148  0x0000553d store  0x00000001 , 0x0000450c 
+ 00022149  0x0000553e ifetch  0x00000001 , 0x00000006 
+ 00022150  0x0000553f and  0x0000003f , 0x0000001f , 0x0000003f 
+ 00022151  0x00005540 store  0x00000001 , 0x0000450b 
+ 00022152  0x00005541 rtn  0x00000034 
+ 00022153  0x00005542 copy  0x00000006 , 0x0000003f 
+ 00022154  0x00005543 store  0x00000002 , 0x0000450d 
+ 00022155  0x00005544 fetch  0x00000001 , 0x0000450c 
+ 00022156  0x00005545 beq  0x00000003 , 0x00005c64 
+ 00022157  0x00005547 call  0x0000569a 
+ 00022158  0x00005548 nbranch  0x0000567a , 0x00000028 
+ 00022159  0x00005549 call  0x0000567c 
+ 00022160  0x0000554a fetch  0x00000002 , 0x0000450d 
+ 00022161  0x0000554b copy  0x0000003f , 0x00000006 
+ 00022162  0x0000554c ifetch  0x00000002 , 0x00000006 
+ 00022163  0x0000554d store  0x00000002 , 0x000044fc 
+ 00022164  0x0000554e bpatchx  0x00000067 , 0x0000402c 
+ 00022165  0x0000554f ifetch  0x00000002 , 0x00000006 
+ 00022166  0x00005550 beq  0x00000004 , 0x000058ab 
+ 00022167  0x00005551 beq  0x00000006 , 0x00005af4 
+ 00022168  0x00005552 beq  0x00000005 , 0x00005ab6 
+ 00022169  0x00005553 rtn 
+ 00022170  0x00005557 fetch  0x00000001 , 0x0000450c 
+ 00022171  0x00005558 beq  0x00000002 , 0x000056a9 
+ 00022172  0x00005559 beq  0x00000001 , 0x000056c1 
+ 00022173  0x0000555a rtn 
+ 00022174  0x00005560 call  0x00007fe7 
+ 00022175  0x00005561 arg  0x00000004 , 0x00000002 
+ 00022176  0x00005562 isub  0x0000003f , 0x0000003e 
+ 00022177  0x00005563 rtn  0x00000005 
+ 00022178  0x00005564 arg  0x00000005 , 0x00000002 
+ 00022179  0x00005565 isub  0x0000003f , 0x0000003e 
+ 00022180  0x00005566 rtn  0x00000005 
+ 00022181  0x00005567 arg  0x00000006 , 0x00000002 
+ 00022182  0x00005568 isub  0x0000003f , 0x0000003e 
+ 00022183  0x00005569 rtn  0x00000005 
+ 00022184  0x0000556a branch  0x00007fe9 
+ 00022185  0x0000556e fetch  0x00000002 , 0x0000450d 
+ 00022186  0x0000556f copy  0x0000003f , 0x00000006 
+ 00022187  0x00005570 ifetch  0x00000002 , 0x00000006 
+ 00022188  0x00005571 store  0x00000002 , 0x000044fc 
+ 00022189  0x00005572 ifetch  0x00000002 , 0x00000006 
+ 00022190  0x00005573 call  0x0000569e 
+ 00022191  0x00005574 nrtn  0x00000028 
+ 00022192  0x00005575 fetcht  0x00000001 , 0x0000450b 
+ 00022193  0x00005576 storet  0x00000001 , 0x000044fe 
+ 00022194  0x00005577 fetch  0x00000002 , 0x000044fc 
+ 00022195  0x00005578 increase  0x00000004 , 0x0000003f 
+ 00022196  0x00005579 isub  0x00000002 , 0x0000003e 
+ 00022197  0x0000557a branch  0x00007fe7 , 0x00000005 
+ 00022198  0x0000557b fetch  0x00000001 , 0x0000450b 
+ 00022199  0x0000557c copy  0x0000003f , 0x00000039 
+ 00022200  0x0000557d arg  0x00000311 , 0x00000005 
+ 00022201  0x0000557e fetch  0x00000002 , 0x0000450d 
+ 00022202  0x0000557f copy  0x0000003f , 0x00000006 
+ 00022203  0x00005580 call  0x00007f01 
+ 00022204  0x00005581 branch  0x00007fe9 
+ 00022205  0x00005587 call  0x00007fe7 
+ 00022206  0x00005588 fetch  0x00000001 , 0x000044fe 
+ 00022207  0x00005589 nrtn  0x00000034 
+ 00022208  0x0000558a branch  0x00007fe9 
+ 00022209  0x0000558d call  0x000056bd 
+ 00022210  0x0000558e nrtn  0x00000028 
+ 00022211  0x0000558f fetch  0x00000001 , 0x000044fe 
+ 00022212  0x00005590 arg  0x00000311 , 0x00000005 
+ 00022213  0x00005591 iadd  0x00000005 , 0x00000011 
+ 00022214  0x00005592 fetcht  0x00000001 , 0x0000450b 
+ 00022215  0x00005593 iadd  0x00000002 , 0x0000003f 
+ 00022216  0x00005594 store  0x00000001 , 0x000044fe 
+ 00022217  0x00005595 fetch  0x00000001 , 0x0000450b 
+ 00022218  0x00005596 copy  0x0000003f , 0x00000039 
+ 00022219  0x00005597 copy  0x00000011 , 0x00000005 
+ 00022220  0x00005598 fetch  0x00000002 , 0x0000450d 
+ 00022221  0x00005599 copy  0x0000003f , 0x00000006 
+ 00022222  0x0000559a call  0x00007ef4 
+ 00022223  0x0000559b setarg  0x00000311 
+ 00022224  0x0000559c store  0x00000002 , 0x0000450d 
+ 00022225  0x0000559d fetch  0x00000002 , 0x000044fc 
+ 00022226  0x0000559e increase  0x00000004 , 0x0000003f 
+ 00022227  0x0000559f fetcht  0x00000001 , 0x000044fe 
+ 00022228  0x000055a0 isub  0x00000002 , 0x0000003e 
+ 00022229  0x000055a1 branch  0x00007fe7 , 0x00000005 
+ 00022230  0x000055a2 branch  0x00007fe9 
+ 00022231  0x000055a9 call  0x00007ea5 
+ 00022232  0x000055aa arg  0x0000445e , 0x00000005 
+ 00022233  0x000055ac fetch  0x00000002 , 0x000044fc 
+ 00022234  0x000055ad increase  0xfffffffb , 0x0000003f 
+ 00022235  0x000055af istore  0x00000001 , 0x00000005 
+ 00022236  0x000055b0 copy  0x0000003f , 0x00000039 
+ 00022237  0x000055b1 call  0x00007e9f 
+ 00022238  0x000055b2 branch  0x00007ef4 
+ 00022239  0x000055b5 call  0x00007ea5 
+ 00022240  0x000055b6 arg  0x00004471 , 0x00000005 
+ 00022241  0x000055b7 branch  0x000056d9 
+ 00022242  0x000055bc fetch  0x00000002 , 0x000041f9 
+ 00022243  0x000055bd branch  0x00007f9c 
+ 00022244  0x000055c0 fetcht  0x00000004 , 0x0000045b 
+ 00022245  0x000055c1 call  0x00002a7b 
+ 00022246  0x000055c2 isub  0x00000002 , 0x0000000b 
+ 00022247  0x000055c3 deposit  0x0000000b 
+ 00022248  0x000055c4 fetcht  0x00000002 , 0x0000046d 
+ 00022249  0x000055c5 lshift4  0x00000002 , 0x00000002 
+ 00022250  0x000055c6 lshift  0x00000002 , 0x00000002 
+ 00022251  0x000055c7 isub  0x00000002 , 0x0000003f 
+ 00022252  0x000055c8 rtn 
+ 00022253  0x000055cb call  0x00002a7b 
+ 00022254  0x000055cc store  0x00000004 , 0x0000045b 
+ 00022255  0x000055cd rtn 
+ 00022256  0x000055d1 jam  0x00000024 , 0x00000016 
+ 00022257  0x000055d2 jam  0x00000000 , 0x00000ac2 
+ 00022258  0x000055d4 bpatchx  0x00000068 , 0x0000402d 
+ 00022259  0x000055d5 fetch  0x00000001 , 0x0000436e 
+ 00022260  0x000055d6 rtn  0x00000034 
+ 00022261  0x000055d7 arg  0x00000000 , 0x00000007 
+ 00022262  0x000055d8 call  0x00007f16 
+ 00022263  0x000055d9 nrtn  0x00000034 
+ 00022264  0x000055da bpatchx  0x00000069 , 0x0000402d 
+ 00022265  0x000055dc disable  0x00000029 
+ 00022266  0x000055dd enable  0x00000010 
+ 00022267  0x000055de call  0x00005572 
+ 00022268  0x000055df call  0x00005422 
+ 00022269  0x000055e0 call  0x000054e9 
+ 00022270  0x000055e1 nbranch  0x00005706 , 0x0000002d 
+ 00022271  0x000055e2 fetch  0x00000001 , 0x00000003 
+ 00022272  0x000055e3 increase  0x00000001 , 0x0000003f 
+ 00022273  0x000055e4 store  0x00000001 , 0x00000003 
+ 00022274  0x000055e5 fetch  0x00000001 , 0x000002d9 
+ 00022275  0x000055e6 and  0x0000003f , 0x0000000f , 0x0000003f 
+ 00022276  0x000055e7 beq  0x00000003 , 0x0000551c 
+ 00022277  0x000055e8 beq  0x00000005 , 0x00005728 
+ 00022278  0x000055ea bpatchx  0x0000006a , 0x0000402d 
+ 00022279  0x000055eb random  0x0000003f 
+ 00022280  0x000055ec arg  0x000001ff , 0x00000002 
+ 00022281  0x000055ed iand  0x00000002 , 0x0000003f 
+ 00022282  0x000055ee add  0x0000003f , 0x000000fa , 0x0000003f 
+ 00022283  0x000055ef call  0x00003cbe 
+ 00022284  0x000055f0 fetch  0x00000001 , 0x00000ac2 
+ 00022285  0x000055f1 fetcht  0x00000001 , 0x0000448d 
+ 00022286  0x000055f2 isub  0x00000002 , 0x0000003e 
+ 00022287  0x000055f3 nbranch  0x000056f2 , 0x00000005 
+ 00022288  0x000055f4 arg  0x00000000 , 0x00000007 
+ 00022289  0x000055f5 fetch  0x00000002 , 0x00004482 
+ 00022290  0x000055f6 branch  0x00007f08 
+ 00022291  0x000055fa bpatchx  0x0000006b , 0x0000402d 
+ 00022292  0x000055fb fetch  0x00000001 , 0x00000476 
+ 00022293  0x000055fc call  0x000053fc 
+ 00022294  0x000055fd fetch  0x00000002 , 0x00000441 
+ 00022295  0x000055fe imul32  0x00000002 , 0x0000003f 
+ 00022296  0x000055ff arg  0x00000177 , 0x00000002 
+ 00022297  0x00005600 imul32  0x00000002 , 0x0000003f 
+ 00022298  0x00005601 arg  0x000186a0 , 0x00000002 
+ 00022299  0x00005602 idiv  0x00000002 
+ 00022300  0x00005603 fetch  0x00000001 , 0x0000046a 
+ 00022301  0x00005604 arg  0x00004e20 , 0x00000002 
+ 00022302  0x00005605 imul32  0x00000002 , 0x0000003f 
+ 00022303  0x00005606 iadd  0x00000002 , 0x0000003f 
+ 00022304  0x00005607 store  0x00000004 , 0x000044e5 
+ 00022305  0x00005608 bpatchx  0x0000006c , 0x0000402d 
+ 00022306  0x00005609 fetch  0x00000002 , 0x000040c1 
+ 00022307  0x0000560a call  0x00007f86 
+ 00022308  0x0000560b quotient  0x00000002 
+ 00022309  0x0000560c iadd  0x00000002 , 0x0000003f 
+ 00022310  0x0000560d store  0x00000002 , 0x0000044d 
+ 00022311  0x0000560e rtn 
+ 00022312  0x00005611 bpatchx  0x0000006d , 0x0000402d 
+ 00022313  0x00005612 fetch  0x00000006 , 0x000002e1 
+ 00022314  0x00005613 fetcht  0x00000006 , 0x000044a0 
+ 00022315  0x00005614 isub  0x00000002 , 0x0000003e 
+ 00022316  0x00005615 nrtn  0x00000005 
+ 00022317  0x00005616 call  0x00005619 
+ 00022318  0x00005617 copy  0x00000011 , 0x0000003f 
+ 00022319  0x00005618 store  0x00000001 , 0x0000448e 
+ 00022320  0x00005619 fetch  0x00000007 , 0x000002ee 
+ 00022321  0x0000561a store  0x00000007 , 0x00000101 
+ 00022322  0x0000561b ifetch  0x00000008 , 0x00000006 
+ 00022323  0x0000561c istore  0x00000008 , 0x00000005 
+ 00022324  0x0000561d fetch  0x00000006 , 0x000002db 
+ 00022325  0x0000561e store  0x00000006 , 0x0000044f 
+ 00022326  0x0000561f increase  0x00000006 , 0x00000006 
+ 00022327  0x00005620 ifetch  0x00000008 , 0x00000006 
+ 00022328  0x00005621 store  0x00000008 , 0x00000463 
+ 00022329  0x00005622 ifetcht  0x00000002 , 0x00000006 
+ 00022330  0x00005623 bpatchx  0x0000006e , 0x0000402d 
+ 00022331  0x00005624 lshift2  0x00000002 , 0x00000002 
+ 00022332  0x00005625 ifetch  0x00000002 , 0x00000006 
+ 00022333  0x00005626 lshift2  0x0000003f , 0x0000003f 
+ 00022334  0x00005627 store  0x00000002 , 0x00000441 
+ 00022335  0x00005628 store  0x00000004 , 0x00000443 
+ 00022336  0x00005629 isub  0x00000002 , 0x0000003f 
+ 00022337  0x0000562a add  0x0000003f , 0xfffffffe , 0x00000028 
+ 00022338  0x0000562b ifetch  0x00000009 , 0x00000006 
+ 00022339  0x0000562c store  0x00000009 , 0x0000046b 
+ 00022340  0x0000562d bpatchx  0x0000006f , 0x0000402d 
+ 00022341  0x0000562e ifetch  0x00000001 , 0x00000006 
+ 00022342  0x0000562f rshift4  0x0000003f , 0x00000002 
+ 00022343  0x00005630 rshift  0x00000002 , 0x00000002 
+ 00022344  0x00005631 storet  0x00000001 , 0x00000476 
+ 00022345  0x00005632 and_into  0x0000001f , 0x0000003f 
+ 00022346  0x00005633 store  0x00000001 , 0x00000458 
+ 00022347  0x00005634 call  0x00005713 
+ 00022348  0x00005635 call  0x0000545b 
+ 00022349  0x00005636 call  0x0000534c 
+ 00022350  0x00005637 call  0x0000223b 
+ 00022351  0x00005638 nrtn  0x00000005 
+ 00022352  0x00005639 bpatchx  0x00000070 , 0x0000402e 
+ 00022353  0x0000563a call  0x00002841 
+ 00022354  0x0000563b call  0x00005ad3 
+ 00022355  0x0000563c jam  0x00000014 , 0x00000a99 
+ 00022356  0x0000563d call  0x00007d86 
+ 00022357  0x0000563e branch  0x00002223 
+ 00022358  0x00005642 bpatchx  0x00000071 , 0x0000402e 
+ 00022359  0x00005643 fetch  0x00000002 , 0x0000445a 
+ 00022360  0x00005644 iforce  0x00000012 
+ 00022361  0x00005645 fetch  0x00000002 , 0x0000445c 
+ 00022362  0x00005646 iforce  0x00000013 
+ 00022363  0x00005647 fetch  0x00000002 , 0x000044bc 
+ 00022364  0x00005648 iforce  0x00000006 
+ 00022365  0x00005649 enable  0x00000028 
+ 00022366  0x0000564a rtn 
+ 00022367  0x0000564e ifetch  0x00000002 , 0x00000006 
+ 00022368  0x0000564f rtn  0x00000034 
+ 00022369  0x00005650 isub  0x00000012 , 0x0000003e 
+ 00022370  0x00005651 nrtn  0x00000002 
+ 00022371  0x00005652 isub  0x00000013 , 0x0000003e 
+ 00022372  0x00005653 rtn  0x00000005 
+ 00022373  0x00005654 branch  0x00005768 , 0x00000002 
+ 00022374  0x00005655 force  0x00000001 , 0x0000003e 
+ 00022375  0x00005656 rtn 
+ 00022376  0x00005658 force  0x00000000 , 0x0000003f 
+ 00022377  0x00005659 rtn 
+ 00022378  0x0000565e call  0x0000576d 
+ 00022379  0x0000565f branch  0x00005779 , 0x00000005 
+ 00022380  0x00005660 rtn 
+ 00022381  0x00005663 bpatchx  0x00000072 , 0x0000402e 
+ 00022382  0x00005664 fetch  0x00000002 , 0x000044bc 
+ 00022383  0x00005665 iforce  0x00000006 
+ 00022384  0x00005667 ifetch  0x00000002 , 0x00000006 
+ 00022385  0x00005668 rtn  0x00000034 
+ 00022386  0x00005669 isub  0x00000002 , 0x0000003e 
+ 00022387  0x0000566a rtn  0x00000005 
+ 00022388  0x0000566b ifetch  0x00000001 , 0x00000006 
+ 00022389  0x0000566c iadd  0x00000006 , 0x00000006 
+ 00022390  0x0000566d ifetch  0x00000001 , 0x00000006 
+ 00022391  0x0000566e iadd  0x00000006 , 0x00000006 
+ 00022392  0x0000566f branch  0x00005770 
+ 00022393  0x00005671 ifetch  0x00000001 , 0x00000006 
+ 00022394  0x00005672 iadd  0x00000006 , 0x00000006 
+ 00022395  0x00005673 rtn 
+ 00022396  0x00005678 bpatchx  0x00000073 , 0x0000402e 
+ 00022397  0x00005679 fetch  0x00000002 , 0x000044bc 
+ 00022398  0x0000567a iforce  0x00000006 
+ 00022399  0x0000567c ifetch  0x00000002 , 0x00000006 
+ 00022400  0x0000567d rtn  0x00000034 
+ 00022401  0x0000567e ifetch  0x00000001 , 0x00000006 
+ 00022402  0x0000567f iadd  0x00000006 , 0x00000006 
+ 00022403  0x00005680 increase  0xfffffffe , 0x00000006 
+ 00022404  0x00005681 ifetch  0x00000002 , 0x00000006 
+ 00022405  0x00005682 isub  0x00000002 , 0x0000003e 
+ 00022406  0x00005683 rtn  0x00000005 
+ 00022407  0x00005684 ifetch  0x00000001 , 0x00000006 
+ 00022408  0x00005685 iadd  0x00000006 , 0x00000006 
+ 00022409  0x00005686 branch  0x0000577f 
+ 00022410  0x0000568b fetch  0x00000002 , 0x0000049c 
+ 00022411  0x0000568c branch  0x0000578e 
+ 00022412  0x0000568f bpatchx  0x00000074 , 0x0000402e 
+ 00022413  0x00005690 fetch  0x00000002 , 0x000044bc 
+ 00022414  0x00005692 iforce  0x00000006 
+ 00022415  0x00005693 copy  0x00000002 , 0x00000011 
+ 00022416  0x00005695 ifetch  0x00000002 , 0x00000006 
+ 00022417  0x00005696 branch  0x00005799 , 0x00000034 
+ 00022418  0x00005697 isub  0x00000011 , 0x0000003e 
+ 00022419  0x00005698 branch  0x0000579a , 0x00000005 
+ 00022420  0x00005699 ifetch  0x00000001 , 0x00000006 
+ 00022421  0x0000569a iadd  0x00000006 , 0x00000006 
+ 00022422  0x0000569b ifetch  0x00000001 , 0x00000006 
+ 00022423  0x0000569c iadd  0x00000006 , 0x00000006 
+ 00022424  0x0000569d branch  0x00005790 
+ 00022425  0x0000569f branch  0x00007fef 
+ 00022426  0x000056a2 ifetch  0x00000001 , 0x00000006 
+ 00022427  0x000056a3 store  0x00000001 , 0x000004a2 
+ 00022428  0x000056a4 copy  0x0000003f , 0x00000039 
+ 00022429  0x000056a5 arg  0x000004a3 , 0x00000005 
+ 00022430  0x000056a6 call  0x00007ef4 
+ 00022431  0x000056a7 ifetch  0x00000001 , 0x00000006 
+ 00022432  0x000056a8 store  0x00000001 , 0x000004b3 
+ 00022433  0x000056a9 call  0x00007ea5 
+ 00022434  0x000056aa branch  0x00007ff1 
+ 00022435  0x000056ae bpatchx  0x00000075 , 0x0000402e 
+ 00022436  0x000056af call  0x000057a6 
+ 00022437  0x000056b0 branch  0x000057b8 
+ 00022438  0x000056b3 arg  0x00002a00 , 0x00000002 
+ 00022439  0x000056b4 call  0x0000577c 
+ 00022440  0x000056b5 rtn  0x00000034 
+ 00022441  0x000056b6 ifetch  0x00000001 , 0x00000006 
+ 00022442  0x000056b7 copy  0x00000006 , 0x00000005 
+ 00022443  0x000056b8 fetcht  0x00000001 , 0x000043af 
+ 00022444  0x000056b9 copy  0x00000002 , 0x00000039 
+ 00022445  0x000056ba isub  0x00000002 , 0x0000003e 
+ 00022446  0x000056bb nbranch  0x000057b5 , 0x00000002 
+ 00022447  0x000056bc isub  0x00000002 , 0x00000002 
+ 00022448  0x000056bd arg  0x000043b0 , 0x00000006 
+ 00022449  0x000056be call  0x00007f01 
+ 00022450  0x000056bf copy  0x00000002 , 0x00000039 
+ 00022451  0x000056c0 ncall  0x000057f0 , 0x00000005 
+ 00022452  0x000056c1 rtn 
+ 00022453  0x000056c3 copy  0x0000003f , 0x00000039 
+ 00022454  0x000056c4 arg  0x000043b0 , 0x00000006 
+ 00022455  0x000056c5 branch  0x00007ef4 
+ 00022456  0x000056c9 arg  0x0000438f , 0x00000013 
+ 00022457  0x000056ca arg  0x00004370 , 0x00000011 
+ 00022458  0x000056cb call  0x000057c5 
+ 00022459  0x000056cc setarg  0x00000000 
+ 00022460  0x000056cd setflag  0x00000028 , 0x00000000 , 0x0000003f 
+ 00022461  0x000056ce store  0x00000001 , 0x00000a9a 
+ 00022462  0x000056cf arg  0x000043af , 0x00000013 
+ 00022463  0x000056d0 arg  0x00004390 , 0x00000011 
+ 00022464  0x000056d1 call  0x000057c5 
+ 00022465  0x000056d2 rtn  0x00000028 
+ 00022466  0x000056d3 fetch  0x00000001 , 0x00000a9a 
+ 00022467  0x000056d4 branch  0x00002a8c , 0x00000034 
+ 00022468  0x000056d5 rtn 
+ 00022469  0x000056d9 bpatchx  0x00000076 , 0x0000402e 
+ 00022470  0x000056da call  0x00007fe7 
+ 00022471  0x000056db call  0x00007eda 
+ 00022472  0x000056dc arg  0x00000000 , 0x00000012 
+ 00022473  0x000056dd arg  0x00000ac3 , 0x00000005 
+ 00022474  0x000056de call  0x000057df 
+ 00022475  0x000056df fetch  0x00000001 , 0x000043af 
+ 00022476  0x000056e0 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00022477  0x000056e1 iadd  0x00000012 , 0x00000011 
+ 00022478  0x000056e2 increase  0x00000002 , 0x00000011 
+ 00022479  0x000056e3 sub  0x00000011 , 0x0000001f , 0x0000003e 
+ 00022480  0x000056e4 nbranch  0x000057dd , 0x00000002 
+ 00022481  0x000056e5 istoret  0x00000001 , 0x00000005 
+ 00022482  0x000056e6 arg  0x00000009 , 0x00000002 
+ 00022483  0x000056e7 istoret  0x00000001 , 0x00000005 
+ 00022484  0x000056e8 iforce  0x00000039 
+ 00022485  0x000056e9 call  0x00007ef4 
+ 00022486  0x000056ea copy  0x00000011 , 0x00000012 
+ 00022487  0x000056ec deposit  0x00000012 
+ 00022488  0x000056ed store  0x00000001 , 0x00000ac2 
+ 00022489  0x000056ee arg  0x00000ac2 , 0x00000006 
+ 00022490  0x000056ef setarg  0xffffffe0 
+ 00022491  0x000056f0 iadd  0x00000013 , 0x00000005 
+ 00022492  0x000056f1 branch  0x00007ebd 
+ 00022493  0x000056f4 call  0x00007fe9 
+ 00022494  0x000056f5 branch  0x000057d7 
+ 00022495  0x000056f8 ifetch  0x00000001 , 0x00000011 
+ 00022496  0x000056f9 rtn  0x00000034 
+ 00022497  0x000056fa pincrease  0x00000001 
+ 00022498  0x000056fb ifetcht  0x00000001 , 0x00000006 
+ 00022499  0x000056fc sub  0x00000002 , 0x00000009 , 0x0000003e 
+ 00022500  0x000056fd branch  0x000057ee , 0x00000005 
+ 00022501  0x000056fe iadd  0x00000012 , 0x00000012 
+ 00022502  0x000056ff copy  0x00000011 , 0x00000006 
+ 00022503  0x00005700 iforce  0x00000039 
+ 00022504  0x00005701 call  0x00007ef4 
+ 00022505  0x00005702 copy  0x00000006 , 0x00000011 
+ 00022506  0x00005704 deposit  0x00000011 
+ 00022507  0x00005705 isub  0x00000013 , 0x0000003e 
+ 00022508  0x00005706 rtn  0x00000002 
+ 00022509  0x00005707 branch  0x000057df 
+ 00022510  0x0000570a iadd  0x00000011 , 0x00000011 
+ 00022511  0x0000570b branch  0x000057ea 
+ 00022512  0x0000570f setarg  0x00000020 
+ 00022513  0x00005710 istore  0x00000001 , 0x00000005 
+ 00022514  0x00005711 loop  0x000057f0 
+ 00022515  0x00005712 rtn 
+ 00022516  0x00005716 bpatchx  0x00000077 , 0x0000402e 
+ 00022517  0x00005717 disable  0x0000002b 
+ 00022518  0x00005718 branch  0x000057f8 , 0x0000002e 
+ 00022519  0x00005719 nbranch  0x00005806 , 0x0000002d 
+ 00022520  0x0000571b call  0x00002bcb 
+ 00022521  0x0000571c fetch  0x00000002 , 0x000040c1 
+ 00022522  0x0000571d store  0x00000002 , 0x0000044d 
+ 00022523  0x0000571f nbranch  0x00002bde , 0x0000002d 
+ 00022524  0x00005720 bmark1  0x0000000f , 0x00002bde 
+ 00022525  0x00005722 fetch  0x00000001 , 0x0000450b 
+ 00022526  0x00005723 nbranch  0x00002bde , 0x00000034 
+ 00022527  0x00005724 fetch  0x00000001 , 0x000043dd 
+ 00022528  0x00005725 nbranch  0x00002bde , 0x00000034 
+ 00022529  0x00005727 fetch  0x00000001 , 0x000044e9 
+ 00022530  0x00005728 bbit1  0x00000005 , 0x00002bde 
+ 00022531  0x0000572a fetch  0x00000001 , 0x0000043f 
+ 00022532  0x0000572b bbit1  0x00000005 , 0x00002bde 
+ 00022533  0x0000572c branch  0x00002bc0 
+ 00022534  0x0000572f fetcht  0x00000002 , 0x000040c1 
+ 00022535  0x00005730 rshift  0x00000002 , 0x00000002 
+ 00022536  0x00005731 fetch  0x00000002 , 0x0000044d 
+ 00022537  0x00005732 iadd  0x00000002 , 0x0000003f 
+ 00022538  0x00005733 store  0x00000002 , 0x0000044d 
+ 00022539  0x00005734 branch  0x00002bd6 
+ 00022540  0x00005738 arg  0x00000000 , 0x00000007 
+ 00022541  0x00005739 branch  0x00005824 
+ 00022542  0x0000573c arg  0x00000000 , 0x00000007 
+ 00022543  0x0000573d branch  0x00005828 
+ 00022544  0x00005740 arg  0x00000001 , 0x00000007 
+ 00022545  0x00005741 branch  0x00005824 
+ 00022546  0x00005744 arg  0x00000001 , 0x00000007 
+ 00022547  0x00005745 branch  0x00005828 
+ 00022548  0x00005748 arg  0x00000002 , 0x00000007 
+ 00022549  0x00005749 branch  0x00005824 
+ 00022550  0x0000574c arg  0x00000002 , 0x00000007 
+ 00022551  0x0000574d branch  0x00005828 
+ 00022552  0x00005750 arg  0x00000003 , 0x00000007 
+ 00022553  0x00005751 branch  0x00005824 
+ 00022554  0x00005754 arg  0x00000003 , 0x00000007 
+ 00022555  0x00005755 branch  0x00005828 
+ 00022556  0x00005758 arg  0x00000004 , 0x00000007 
+ 00022557  0x00005759 branch  0x00005824 
+ 00022558  0x0000575c arg  0x00000004 , 0x00000007 
+ 00022559  0x0000575d branch  0x00005828 
+ 00022560  0x00005760 arg  0x00000005 , 0x00000007 
+ 00022561  0x00005761 branch  0x00005824 
+ 00022562  0x00005764 arg  0x00000005 , 0x00000007 
+ 00022563  0x00005765 branch  0x00005828 
+ 00022564  0x00005769 fetch  0x00000001 , 0x000044e9 
+ 00022565  0x0000576a qset1  0x0000003f 
+ 00022566  0x0000576b store  0x00000001 , 0x000044e9 
+ 00022567  0x0000576c rtn 
+ 00022568  0x0000576f fetch  0x00000001 , 0x000044e9 
+ 00022569  0x00005770 qset0  0x0000003f 
+ 00022570  0x00005771 store  0x00000001 , 0x000044e9 
+ 00022571  0x00005772 rtn 
+ 00022572  0x00005775 setarg  0x00112233 
+ 00022573  0x00005776 store  0x00000003 , 0x000044ea 
+ 00022574  0x00005777 setarg  0x00445566 
+ 00022575  0x00005778 istore  0x00000003 , 0x00000005 
+ 00022576  0x00005779 setarg  0x00778899 
+ 00022577  0x0000577a istore  0x00000003 , 0x00000005 
+ 00022578  0x0000577b setarg  0x00001122 
+ 00022579  0x0000577c istore  0x00000003 , 0x00000005 
+ 00022580  0x0000577d setarg  0x00334455 
+ 00022581  0x0000577e istore  0x00000003 , 0x00000005 
+ 00022582  0x0000577f setarg  0x00000066 
+ 00022583  0x00005780 istore  0x00000001 , 0x00000005 
+ 00022584  0x00005781 rtn 
+ 00022585  0x00005785 setarg  0x01000302 
+ 00022586  0x00005786 store  0x00000004 , 0x00004453 
+ 00022587  0x00005787 setarg  0x00010010 
+ 00022588  0x00005788 store  0x00000003 , 0x00004457 
+ 00022589  0x00005789 jam  0x00000001 , 0x000044c6 
+ 00022590  0x0000578a rtn 
+ 00022591  0x0000578f arg  0x00000000 , 0x00000011 
+ 00022592  0x00005790 arg  0x00000001 , 0x00000001 
+ 00022593  0x00005791 branch  0x00005850 
+ 00022594  0x00005796 arg  0x00000003 , 0x00000001 
+ 00022595  0x00005797 call  0x00005850 
+ 00022596  0x00005798 copy  0x00000012 , 0x0000003f 
+ 00022597  0x00005799 istore  0x00000001 , 0x00000005 
+ 00022598  0x0000579a rtn 
+ 00022599  0x0000579f force  0x00000002 , 0x00000001 
+ 00022600  0x000057a0 increase  0x00000004 , 0x00000011 
+ 00022601  0x000057a1 call  0x00005850 
+ 00022602  0x000057a2 increase  0xfffffffc , 0x00000011 
+ 00022603  0x000057a3 copy  0x00000011 , 0x0000003f 
+ 00022604  0x000057a4 istore  0x00000002 , 0x00000005 
+ 00022605  0x000057a5 copy  0x00000012 , 0x0000003f 
+ 00022606  0x000057a6 istore  0x00000002 , 0x00000005 
+ 00022607  0x000057a7 rtn 
+ 00022608  0x000057ac sub  0x00000011 , 0x000000f0 , 0x0000003e 
+ 00022609  0x000057ad nbranch  0x00002a8c , 0x00000002 
+ 00022610  0x000057ae fetch  0x00000001 , 0x000044ff 
+ 00022611  0x000057af arg  0x00000001 , 0x00000002 
+ 00022612  0x000057b0 arg  0x00000004 , 0x00000039 
+ 00022613  0x000057b2 iand  0x00000002 , 0x0000003e 
+ 00022614  0x000057b3 branch  0x0000585a , 0x00000005 
+ 00022615  0x000057b4 lshift  0x00000002 , 0x00000002 
+ 00022616  0x000057b5 loop  0x00005855 
+ 00022617  0x000057b6 branch  0x00002a8c 
+ 00022618  0x000057b8 ixor  0x00000002 , 0x0000003f 
+ 00022619  0x000057b9 store  0x00000001 , 0x000044ff 
+ 00022620  0x000057ba sub  0x00000039 , 0x00000004 , 0x0000003f 
+ 00022621  0x000057bb lshift4  0x0000003f , 0x0000003f 
+ 00022622  0x000057bc lshift4  0x0000003f , 0x0000003f 
+ 00022623  0x000057bd arg  0x00001800 , 0x00000002 
+ 00022624  0x000057be iadd  0x00000002 , 0x00000002 
+ 00022625  0x000057c0 arg  0x00000000 , 0x00000039 
+ 00022626  0x000057c1 arg  0x00004500 , 0x00000006 
+ 00022627  0x000057c3 ifetch  0x00000002 , 0x00000006 
+ 00022628  0x000057c4 branch  0x00005869 , 0x00000034 
+ 00022629  0x000057c5 copy  0x00000039 , 0x0000003f 
+ 00022630  0x000057c6 increase  0x00000001 , 0x00000039 
+ 00022631  0x000057c7 bne  0x00000004 , 0x00005863 
+ 00022632  0x000057c8 branch  0x00002a8c 
+ 00022633  0x000057cc increase  0xfffffffe , 0x00000006 
+ 00022634  0x000057cd istoret  0x00000002 , 0x00000006 
+ 00022635  0x000057ce copy  0x00000002 , 0x00000005 
+ 00022636  0x000057cf copy  0x00000011 , 0x0000003f 
+ 00022637  0x000057d0 istore  0x00000001 , 0x00000005 
+ 00022638  0x000057d1 setarg  0x00000000 
+ 00022639  0x000057d2 istore  0x00000001 , 0x00000005 
+ 00022640  0x000057d3 copy  0x00000001 , 0x0000003f 
+ 00022641  0x000057d4 istore  0x00000001 , 0x00000005 
+ 00022642  0x000057d5 rtn 
+ 00022643  0x000057da fetch  0x00000002 , 0x00004500 
+ 00022644  0x000057db copy  0x0000003f , 0x00000006 
+ 00022645  0x000057dc rtn 
+ 00022646  0x000057df fetch  0x00000002 , 0x00004502 
+ 00022647  0x000057e0 copy  0x0000003f , 0x00000006 
+ 00022648  0x000057e1 rtn 
+ 00022649  0x000057e4 call  0x0000587c 
+ 00022650  0x000057e5 copy  0x0000003f , 0x00000006 
+ 00022651  0x000057e6 rtn 
+ 00022652  0x000057e8 fetch  0x00000002 , 0x00004506 
+ 00022653  0x000057e9 nrtn  0x00000034 
+ 00022654  0x000057ea fetch  0x00000002 , 0x00004504 
+ 00022655  0x000057eb nrtn  0x00000034 
+ 00022656  0x000057ec fetch  0x00000002 , 0x00004502 
+ 00022657  0x000057ed nrtn  0x00000034 
+ 00022658  0x000057ee fetch  0x00000002 , 0x00004500 
+ 00022659  0x000057ef rtn 
+ 00022660  0x000057f2 call  0x00005873 
+ 00022661  0x000057f3 increase  0x00000003 , 0x00000006 
+ 00022662  0x000057f4 rtn 
+ 00022663  0x000057f7 call  0x00005873 
+ 00022664  0x000057f8 increase  0x00000007 , 0x00000006 
+ 00022665  0x000057f9 rtn 
+ 00022666  0x000057fc call  0x00005879 
+ 00022667  0x000057fd increase  0x00000007 , 0x00000006 
+ 00022668  0x000057fe rtn 
+ 00022669  0x00005801 call  0x00005879 
+ 00022670  0x00005802 increase  0x00000003 , 0x00000006 
+ 00022671  0x00005803 rtn 
+ 00022672  0x00005808 fetch  0x00000002 , 0x00004506 
+ 00022673  0x00005809 rtn 
+ 00022674  0x0000580d fetch  0x00000002 , 0x00004504 
+ 00022675  0x0000580e rtn 
+ 00022676  0x00005812 fetch  0x00000002 , 0x00004500 
+ 00022677  0x00005813 rtn 
+ 00022678  0x00005817 fetch  0x00000002 , 0x00004500 
+ 00022679  0x00005818 arg  0x00001800 , 0x00000002 
+ 00022680  0x00005819 isub  0x00000002 , 0x0000003f 
+ 00022681  0x0000581a rshift4  0x0000003f , 0x0000003f 
+ 00022682  0x0000581b rshift4  0x0000003f , 0x00000007 
+ 00022683  0x0000581c fetch  0x00000001 , 0x000044ff 
+ 00022684  0x0000581d qset0  0x0000003f 
+ 00022685  0x0000581e store  0x00000001 , 0x000044ff 
+ 00022686  0x0000581f arg  0x00000000 , 0x00000039 
+ 00022687  0x00005821 lshift  0x00000039 , 0x0000003f 
+ 00022688  0x00005822 arg  0x00004502 , 0x00000002 
+ 00022689  0x00005823 iadd  0x00000002 , 0x00000002 
+ 00022690  0x00005824 ifetch  0x00000002 , 0x00000002 
+ 00022691  0x00005825 increase  0xfffffffe , 0x00000002 
+ 00022692  0x00005826 istore  0x00000002 , 0x00000002 
+ 00022693  0x00005827 copy  0x00000039 , 0x0000003f 
+ 00022694  0x00005828 increase  0x00000001 , 0x00000039 
+ 00022695  0x00005829 bne  0x00000003 , 0x0000589f 
+ 00022696  0x0000582a setarg  0x00000000 
+ 00022697  0x0000582b istore  0x00000002 , 0x00000002 
+ 00022698  0x0000582c rtn 
+ 00022699  0x00005833 ifetch  0x00000003 , 0x00000006 
+ 00022700  0x00005834 store  0x00000003 , 0x00000477 
+ 00022701  0x00005835 beq  0x00000002 , 0x000058c1 
+ 00022702  0x00005836 beq  0x00000003 , 0x000058c9 
+ 00022703  0x00005837 beq  0x00000004 , 0x000058cc 
+ 00022704  0x00005838 beq  0x00000006 , 0x000058f2 
+ 00022705  0x00005839 beq  0x00000008 , 0x0000593f 
+ 00022706  0x0000583a beq  0x0000000a , 0x000059bc 
+ 00022707  0x0000583b beq  0x0000000c , 0x000059e4 
+ 00022708  0x0000583c beq  0x00000010 , 0x000059fa 
+ 00022709  0x0000583d beq  0x00000012 , 0x00005a2f 
+ 00022710  0x0000583e beq  0x00000016 , 0x00005a48 
+ 00022711  0x0000583f beq  0x00000018 , 0x00005a5b 
+ 00022712  0x00005840 beq  0x00000052 , 0x00005a60 
+ 00022713  0x00005841 rtn 
+ 00022714  0x00005845 force  0x00000003 , 0x00000011 
+ 00022715  0x00005846 call  0x00005a82 
+ 00022716  0x00005847 setarg  0x00000002 
+ 00022717  0x00005848 istore  0x00000001 , 0x00000005 
+ 00022718  0x00005849 fetch  0x00000002 , 0x000044a6 
+ 00022719  0x0000584a istore  0x00000002 , 0x00000005 
+ 00022720  0x0000584b rtn 
+ 00022721  0x0000584f call  0x000058c9 
+ 00022722  0x00005851 force  0x00000003 , 0x00000011 
+ 00022723  0x00005852 call  0x00005a82 
+ 00022724  0x00005853 setarg  0x00000003 
+ 00022725  0x00005854 istore  0x00000001 , 0x00000005 
+ 00022726  0x00005855 fetch  0x00000002 , 0x000044a6 
+ 00022727  0x00005856 istore  0x00000002 , 0x00000005 
+ 00022728  0x00005857 rtn 
+ 00022729  0x0000585a rshift8  0x0000003f , 0x0000003f 
+ 00022730  0x0000585b store  0x00000002 , 0x000044a8 
+ 00022731  0x0000585c rtn 
+ 00022732  0x0000585f call  0x00005ab1 
+ 00022733  0x00005860 call  0x00007fe7 
+ 00022734  0x00005861 branch  0x000058cf 
+ 00022735  0x00005864 arg  0x00000003 , 0x0000000b 
+ 00022736  0x00005865 call  0x00005756 
+ 00022737  0x00005867 call  0x0000575f 
+ 00022738  0x00005868 branch  0x000058f0 , 0x00000034 
+ 00022739  0x00005869 nbranch  0x000058ed , 0x00000002 
+ 00022740  0x0000586a increase  0xfffffffe , 0x00000006 
+ 00022741  0x0000586b call  0x00007ea5 
+ 00022742  0x0000586c call  0x00007e9c 
+ 00022743  0x0000586d nbranch  0x000058e1 , 0x00000028 
+ 00022744  0x0000586e call  0x00007e85 
+ 00022745  0x0000586f call  0x00007fe9 
+ 00022746  0x00005870 force  0x00000014 , 0x00000011 
+ 00022747  0x00005871 call  0x00005a82 
+ 00022748  0x00005872 call  0x00007e95 
+ 00022749  0x00005873 setarg  0x00000005 
+ 00022750  0x00005874 istore  0x00000001 , 0x00000005 
+ 00022751  0x00005875 setarg  0x00000001 
+ 00022752  0x00005876 istore  0x00000001 , 0x00000005 
+ 00022753  0x00005878 call  0x00007e9f 
+ 00022754  0x00005879 ifetch  0x00000002 , 0x00000006 
+ 00022755  0x0000587a istore  0x00000002 , 0x00000005 
+ 00022756  0x0000587b ifetch  0x00000001 , 0x00000006 
+ 00022757  0x0000587c copy  0x0000003f , 0x00000039 
+ 00022758  0x0000587d call  0x00007f01 
+ 00022759  0x0000587e call  0x00007ea2 
+ 00022760  0x0000587f increase  0xffffffff , 0x0000000b 
+ 00022761  0x00005880 branch  0x000058f0 , 0x00000005 
+ 00022762  0x00005882 ifetch  0x00000001 , 0x00000006 
+ 00022763  0x00005883 iadd  0x00000006 , 0x00000006 
+ 00022764  0x00005884 branch  0x000058d1 
+ 00022765  0x00005886 ifetch  0x00000001 , 0x00000006 
+ 00022766  0x00005887 iadd  0x00000006 , 0x00000006 
+ 00022767  0x00005888 branch  0x000058ea 
+ 00022768  0x0000588a branch  0x00005a76 , 0x00000028 
+ 00022769  0x0000588b branch  0x00005aa5 
+ 00022770  0x0000588f call  0x00005ab1 
+ 00022771  0x00005890 ifetch  0x00000002 , 0x00000006 
+ 00022772  0x00005891 store  0x00000002 , 0x00004472 
+ 00022773  0x00005892 call  0x00007ea5 
+ 00022774  0x00005893 arg  0x0000445e , 0x00000005 
+ 00022775  0x00005894 fetch  0x00000002 , 0x000044fc 
+ 00022776  0x00005895 increase  0xfffffff9 , 0x0000003f 
+ 00022777  0x00005896 call  0x000056db 
+ 00022778  0x00005897 branch  0x00005905 
+ 00022779  0x0000589b disable  0x00000028 
+ 00022780  0x0000589c fetcht  0x00000002 , 0x0000445a 
+ 00022781  0x0000589d fetch  0x00000002 , 0x0000445c 
+ 00022782  0x0000589e isub  0x00000002 , 0x0000003e 
+ 00022783  0x0000589f nbranch  0x00005902 , 0x00000002 
+ 00022784  0x000058a0 deposit  0x00000002 
+ 00022785  0x000058a1 rtnne  0x00000000 
+ 00022786  0x000058a3 enable  0x00000028 
+ 00022787  0x000058a4 jam  0x00000001 , 0x0000047a 
+ 00022788  0x000058a5 branch  0x00005a77 
+ 00022789  0x000058a9 call  0x000058fb 
+ 00022790  0x000058aa rtn  0x00000028 
+ 00022791  0x000058ab fetcht  0x00000002 , 0x00004472 
+ 00022792  0x000058ac setarg  0x00002800 
+ 00022793  0x000058ad isub  0x00000002 , 0x0000003e 
+ 00022794  0x000058ae branch  0x0000590c , 0x00000005 
+ 00022795  0x000058af branch  0x00005a76 
+ 00022796  0x000058b3 jam  0x00000000 , 0x000004b4 
+ 00022797  0x000058b4 fetcht  0x00000002 , 0x0000445a 
+ 00022798  0x000058b5 storet  0x00000002 , 0x00000aa2 
+ 00022799  0x000058b6 call  0x0000578c 
+ 00022800  0x000058b7 nbranch  0x00005a76 , 0x00000034 
+ 00022801  0x000058b9 fetcht  0x00000002 , 0x00000aa2 
+ 00022802  0x000058ba call  0x0000578c 
+ 00022803  0x000058bb nbranch  0x00005925 , 0x00000034 
+ 00022804  0x000058bc copy  0x00000006 , 0x00000011 
+ 00022805  0x000058bd fetch  0x00000001 , 0x000004b3 
+ 00022806  0x000058be copy  0x0000003f , 0x00000039 
+ 00022807  0x000058bf fetcht  0x00000001 , 0x0000445e 
+ 00022808  0x000058c0 isub  0x00000002 , 0x0000003e 
+ 00022809  0x000058c1 nbranch  0x00005921 , 0x00000005 
+ 00022810  0x000058c2 arg  0x0000445f , 0x00000012 
+ 00022811  0x000058c3 call  0x00007f88 
+ 00022812  0x000058c5 branch  0x00005928 , 0x00000005 
+ 00022813  0x000058c7 fetch  0x00000002 , 0x000004a3 
+ 00022814  0x000058c8 fetcht  0x00000002 , 0x00004472 
+ 00022815  0x000058c9 isub  0x00000002 , 0x0000003e 
+ 00022816  0x000058ca branch  0x00005930 , 0x00000005 
+ 00022817  0x000058cc fetch  0x00000002 , 0x00000aa2 
+ 00022818  0x000058cd increase  0x00000001 , 0x0000003f 
+ 00022819  0x000058ce store  0x00000002 , 0x00000aa2 
+ 00022820  0x000058cf branch  0x00005911 
+ 00022821  0x000058d2 fetch  0x00000001 , 0x000004b4 
+ 00022822  0x000058d3 beq  0x00000001 , 0x00005930 
+ 00022823  0x000058d4 branch  0x00005a76 
+ 00022824  0x000058d8 fetch  0x00000002 , 0x000004a3 
+ 00022825  0x000058d9 fetcht  0x00000002 , 0x00004472 
+ 00022826  0x000058da isub  0x00000002 , 0x0000003e 
+ 00022827  0x000058db nbranch  0x00005921 , 0x00000005 
+ 00022828  0x000058dc jam  0x00000001 , 0x000004b4 
+ 00022829  0x000058de fetcht  0x00000002 , 0x00000aa2 
+ 00022830  0x000058df storet  0x00000002 , 0x0000049e 
+ 00022831  0x000058e0 branch  0x00005921 
+ 00022832  0x000058e3 fetch  0x00000001 , 0x000004b4 
+ 00022833  0x000058e4 beq  0x00000000 , 0x00005921 
+ 00022834  0x000058e5 jam  0x00000002 , 0x000004b4 
+ 00022835  0x000058e6 fetcht  0x00000002 , 0x00000aa2 
+ 00022836  0x000058e7 increase  0xffffffff , 0x00000002 
+ 00022837  0x000058e8 storet  0x00000002 , 0x000004a0 
+ 00022838  0x000058eb arg  0x00000005 , 0x00000011 
+ 00022839  0x000058ec call  0x00005a82 
+ 00022840  0x000058ed setarg  0x00000007 
+ 00022841  0x000058ee istore  0x00000001 , 0x00000005 
+ 00022842  0x000058ef fetch  0x00000002 , 0x0000049e 
+ 00022843  0x000058f0 istore  0x00000002 , 0x00000005 
+ 00022844  0x000058f1 fetch  0x00000002 , 0x000004a0 
+ 00022845  0x000058f2 istore  0x00000002 , 0x00000005 
+ 00022846  0x000058f3 rtn 
+ 00022847  0x000058f8 call  0x00005ab1 
+ 00022848  0x000058f9 call  0x000056df 
+ 00022849  0x000058fa branch  0x00005942 
+ 00022850  0x000058fd fetcht  0x00000002 , 0x0000445a 
+ 00022851  0x000058fe storet  0x00000002 , 0x00000aa2 
+ 00022852  0x000058ff call  0x00005756 
+ 00022853  0x00005900 call  0x0000576d 
+ 00022854  0x00005901 increase  0xfffffffe , 0x00000006 
+ 00022855  0x00005902 copy  0x00000006 , 0x0000003f 
+ 00022856  0x00005903 store  0x00000002 , 0x0000049c 
+ 00022857  0x00005905 fetcht  0x00000002 , 0x00004472 
+ 00022858  0x00005906 setarg  0x00002a00 
+ 00022859  0x00005907 isub  0x00000002 , 0x0000003e 
+ 00022860  0x00005908 branch  0x000059a8 , 0x00000005 
+ 00022861  0x00005909 setarg  0x00002803 
+ 00022862  0x0000590a isub  0x00000002 , 0x0000003e 
+ 00022863  0x0000590b nbranch  0x00005990 , 0x00000005 
+ 00022864  0x0000590c arg  0x00000002 , 0x0000000b 
+ 00022865  0x0000590e call  0x00005a88 
+ 00022866  0x0000590f nbranch  0x0000596d , 0x00000002 
+ 00022867  0x00005910 fetcht  0x00000002 , 0x00000aa2 
+ 00022868  0x00005911 call  0x0000578a 
+ 00022869  0x00005912 beq  0x00000001 , 0x0000596d 
+ 00022870  0x00005913 call  0x00005a94 
+ 00022871  0x00005914 nbranch  0x0000596b , 0x00000005 
+ 00022872  0x00005915 nbranch  0x0000596f , 0x00000028 
+ 00022873  0x00005916 disable  0x00000028 
+ 00022874  0x00005917 arg  0x00000014 , 0x00000011 
+ 00022875  0x00005918 call  0x00005a82 
+ 00022876  0x00005919 setarg  0x00000009 
+ 00022877  0x0000591a istore  0x00000001 , 0x00000005 
+ 00022878  0x0000591b copy  0x00000005 , 0x00000030 
+ 00022879  0x0000591c increase  0x00000001 , 0x00000005 
+ 00022880  0x0000591e call  0x0000597d 
+ 00022881  0x0000591f call  0x00005a84 
+ 00022882  0x00005920 call  0x0000578a 
+ 00022883  0x00005921 call  0x00005984 
+ 00022884  0x00005922 fetch  0x00000001 , 0x000004a2 
+ 00022885  0x00005923 increase  0x00000005 , 0x0000003f 
+ 00022886  0x00005924 istore  0x00000001 , 0x00000030 
+ 00022887  0x00005925 fetch  0x00000001 , 0x000004a2 
+ 00022888  0x00005926 beq  0x00000010 , 0x0000596d 
+ 00022889  0x00005927 increase  0xffffffff , 0x0000000b 
+ 00022890  0x00005928 branch  0x0000596d , 0x00000005 
+ 00022891  0x0000592a call  0x00005a84 
+ 00022892  0x0000592b branch  0x00005951 
+ 00022893  0x0000592d branch  0x00005a76 , 0x00000028 
+ 00022894  0x0000592e branch  0x00005aa5 
+ 00022895  0x00005931 call  0x00005a97 
+ 00022896  0x00005932 call  0x00005a84 
+ 00022897  0x00005933 call  0x0000578a 
+ 00022898  0x00005934 fetch  0x00000001 , 0x000004a2 
+ 00022899  0x00005935 beq  0x00000010 , 0x0000596d 
+ 00022900  0x00005937 call  0x00007e9c 
+ 00022901  0x00005938 fetch  0x00000002 , 0x00000aa2 
+ 00022902  0x00005939 increase  0xffffffff , 0x0000003f 
+ 00022903  0x0000593a istore  0x00000002 , 0x00000005 
+ 00022904  0x0000593b call  0x00005aa1 
+ 00022905  0x0000593c call  0x00005984 
+ 00022906  0x0000593d increase  0xffffffff , 0x0000000b 
+ 00022907  0x0000593e branch  0x0000596d , 0x00000005 
+ 00022908  0x0000593f branch  0x0000596b 
+ 00022909  0x00005943 fetch  0x00000002 , 0x00000aa2 
+ 00022910  0x00005944 istore  0x00000002 , 0x00000005 
+ 00022911  0x00005946 fetch  0x00000001 , 0x000004b3 
+ 00022912  0x00005947 copy  0x0000003f , 0x00000039 
+ 00022913  0x00005948 call  0x00007e9f 
+ 00022914  0x00005949 call  0x00007ef4 
+ 00022915  0x0000594a branch  0x00007ea2 
+ 00022916  0x0000594c call  0x00007e9c 
+ 00022917  0x0000594d fetch  0x00000002 , 0x00000aa2 
+ 00022918  0x0000594e istore  0x00000002 , 0x00000005 
+ 00022919  0x0000594f call  0x00007ea2 
+ 00022920  0x00005950 fetch  0x00000001 , 0x000004a2 
+ 00022921  0x00005951 copy  0x0000003f , 0x00000039 
+ 00022922  0x00005952 call  0x00007e9c 
+ 00022923  0x00005953 call  0x00007e9f 
+ 00022924  0x00005954 isub  0x00000039 , 0x00000006 
+ 00022925  0x00005955 increase  0xffffffff , 0x00000006 
+ 00022926  0x00005956 call  0x00007ef4 
+ 00022927  0x00005957 branch  0x00007ea2 
+ 00022928  0x0000595c fetcht  0x00000002 , 0x0000445a 
+ 00022929  0x0000595d storet  0x00000002 , 0x00000aa2 
+ 00022930  0x0000595f call  0x00005a88 
+ 00022931  0x00005960 nbranch  0x00005a76 , 0x00000002 
+ 00022932  0x00005961 call  0x0000578a 
+ 00022933  0x00005962 beq  0x00000001 , 0x00005a76 
+ 00022934  0x00005963 call  0x00005a94 
+ 00022935  0x00005964 nbranch  0x000059a6 , 0x00000005 
+ 00022936  0x00005967 arg  0x00000014 , 0x00000011 
+ 00022937  0x00005968 call  0x00005a82 
+ 00022938  0x00005969 setarg  0x00000009 
+ 00022939  0x0000596a istore  0x00000001 , 0x00000005 
+ 00022940  0x0000596b fetch  0x00000001 , 0x000004b3 
+ 00022941  0x0000596c copy  0x0000003f , 0x00000039 
+ 00022942  0x0000596d increase  0x00000002 , 0x0000003f 
+ 00022943  0x0000596e istore  0x00000001 , 0x00000005 
+ 00022944  0x0000596f fetch  0x00000002 , 0x00000aa2 
+ 00022945  0x00005970 istore  0x00000002 , 0x00000005 
+ 00022946  0x00005971 call  0x00007e9f 
+ 00022947  0x00005972 call  0x00007ef4 
+ 00022948  0x00005973 call  0x00007ea2 
+ 00022949  0x00005974 branch  0x00005aa5 
+ 00022950  0x00005977 call  0x00005a84 
+ 00022951  0x00005978 branch  0x00005992 
+ 00022952  0x0000597c arg  0x00002a00 , 0x00000002 
+ 00022953  0x0000597d call  0x0000577c 
+ 00022954  0x0000597e rtn  0x00000034 
+ 00022955  0x0000597f increase  0xfffffffb , 0x00000006 
+ 00022956  0x00005980 ifetch  0x00000002 , 0x00000006 
+ 00022957  0x00005981 store  0x00000002 , 0x00000aa2 
+ 00022958  0x00005982 arg  0x00000014 , 0x00000011 
+ 00022959  0x00005983 call  0x00005a82 
+ 00022960  0x00005984 setarg  0x00000009 
+ 00022961  0x00005985 istore  0x00000001 , 0x00000005 
+ 00022962  0x00005986 fetch  0x00000001 , 0x000043af 
+ 00022963  0x00005987 copy  0x0000003f , 0x00000039 
+ 00022964  0x00005988 increase  0x00000002 , 0x0000003f 
+ 00022965  0x00005989 istore  0x00000001 , 0x00000005 
+ 00022966  0x0000598a fetch  0x00000002 , 0x00000aa2 
+ 00022967  0x0000598b istore  0x00000002 , 0x00000005 
+ 00022968  0x0000598c arg  0x000043b0 , 0x00000006 
+ 00022969  0x0000598d call  0x00007ef4 
+ 00022970  0x0000598e call  0x00007ea2 
+ 00022971  0x0000598f branch  0x00005aa5 
+ 00022972  0x00005994 fetcht  0x00000002 , 0x00000478 
+ 00022973  0x00005995 fetch  0x00000001 , 0x000044e9 
+ 00022974  0x00005996 bbit1  0x00000003 , 0x000059dd 
+ 00022975  0x00005999 call  0x0000576a 
+ 00022976  0x0000599a branch  0x00005a76 , 0x00000034 
+ 00022977  0x0000599b increase  0xfffffffe , 0x00000006 
+ 00022978  0x0000599c ifetch  0x00000002 , 0x00000006 
+ 00022979  0x0000599d arg  0x00002a00 , 0x00000002 
+ 00022980  0x0000599e isub  0x00000002 , 0x0000003e 
+ 00022981  0x0000599f branch  0x000059d3 , 0x00000005 
+ 00022982  0x000059a0 ifetch  0x00000001 , 0x00000006 
+ 00022983  0x000059a1 sub  0x0000003f , 0x00000016 , 0x0000003e 
+ 00022984  0x000059a2 branch  0x000059ca , 0x00000002 
+ 00022985  0x000059a3 force  0x00000016 , 0x0000003f 
+ 00022986  0x000059a5 copy  0x0000003f , 0x00000013 
+ 00022987  0x000059a6 call  0x00007ea5 
+ 00022988  0x000059a7 add  0x00000013 , 0x00000001 , 0x00000011 
+ 00022989  0x000059a8 call  0x00005a82 
+ 00022990  0x000059a9 setarg  0x0000000b 
+ 00022991  0x000059aa istore  0x00000001 , 0x00000005 
+ 00022992  0x000059ab copy  0x00000013 , 0x00000039 
+ 00022993  0x000059ac call  0x00007e9f 
+ 00022994  0x000059ad branch  0x00007f01 
+ 00022995  0x000059b0 call  0x00007ea5 
+ 00022996  0x000059b1 fetch  0x00000001 , 0x000043af 
+ 00022997  0x000059b2 add  0x0000003f , 0x00000001 , 0x00000011 
+ 00022998  0x000059b3 call  0x00005a82 
+ 00022999  0x000059b4 setarg  0x0000000b 
+ 00023000  0x000059b5 istore  0x00000001 , 0x00000005 
+ 00023001  0x000059b6 fetch  0x00000001 , 0x000043af 
+ 00023002  0x000059b7 copy  0x0000003f , 0x00000039 
+ 00023003  0x000059b8 arg  0x000043b0 , 0x00000006 
+ 00023004  0x000059b9 branch  0x00007f01 
+ 00023005  0x000059bd fetch  0x00000002 , 0x000044fa 
+ 00023006  0x000059be isub  0x00000002 , 0x0000003e 
+ 00023007  0x000059bf nbranch  0x000059bf , 0x00000005 
+ 00023008  0x000059c1 call  0x00005a42 
+ 00023009  0x000059c2 nbranch  0x000059bf , 0x00000028 
+ 00023010  0x000059c3 jam  0x00000005 , 0x0000047a 
+ 00023011  0x000059c4 branch  0x00005a77 
+ 00023012  0x000059c8 ifetch  0x00000002 , 0x00000006 
+ 00023013  0x000059c9 store  0x00000002 , 0x0000445e 
+ 00023014  0x000059cb arg  0x00000014 , 0x00000011 
+ 00023015  0x000059cc call  0x00005a82 
+ 00023016  0x000059cd setarg  0x0000000d 
+ 00023017  0x000059ce istore  0x00000001 , 0x00000005 
+ 00023018  0x000059cf fetch  0x00000002 , 0x0000445e 
+ 00023019  0x000059d0 iforce  0x00000011 
+ 00023020  0x000059d1 fetcht  0x00000002 , 0x00000478 
+ 00023021  0x000059d2 call  0x0000576a 
+ 00023022  0x000059d3 branch  0x00005a76 , 0x00000034 
+ 00023023  0x000059d4 ifetch  0x00000001 , 0x00000006 
+ 00023024  0x000059d5 isub  0x00000011 , 0x00000039 
+ 00023025  0x000059d6 nbranch  0x00005a76 , 0x00000002 
+ 00023026  0x000059d7 sub  0x00000039 , 0x00000016 , 0x0000003e 
+ 00023027  0x000059d8 branch  0x000059f5 , 0x00000002 
+ 00023028  0x000059d9 force  0x00000016 , 0x00000039 
+ 00023029  0x000059db deposit  0x00000011 
+ 00023030  0x000059dc iadd  0x00000006 , 0x00000006 
+ 00023031  0x000059dd call  0x00007ef4 
+ 00023032  0x000059de call  0x00007ea2 
+ 00023033  0x000059df branch  0x00005aa5 
+ 00023034  0x000059e3 call  0x00005ab1 
+ 00023035  0x000059e4 call  0x000056d7 
+ 00023036  0x000059e5 branch  0x000059fd 
+ 00023037  0x000059eb arg  0x00000002 , 0x0000000b 
+ 00023038  0x000059ec fetcht  0x00000002 , 0x0000445a 
+ 00023039  0x000059f0 storet  0x00000002 , 0x00000aa2 
+ 00023040  0x000059f1 call  0x00005756 
+ 00023041  0x000059f2 call  0x0000576d 
+ 00023042  0x000059f3 increase  0xfffffffe , 0x00000006 
+ 00023043  0x000059f4 copy  0x00000006 , 0x0000003f 
+ 00023044  0x000059f5 store  0x00000002 , 0x0000049c 
+ 00023045  0x000059f7 call  0x00005a88 
+ 00023046  0x000059f8 nbranch  0x00005a25 , 0x00000002 
+ 00023047  0x000059f9 fetcht  0x00000002 , 0x00000aa2 
+ 00023048  0x000059fa call  0x0000578a 
+ 00023049  0x000059fb beq  0x00000001 , 0x00005a28 
+ 00023050  0x000059fd call  0x00005a8c 
+ 00023051  0x000059fe nbranch  0x00005a23 , 0x00000005 
+ 00023052  0x000059ff copy  0x0000000b , 0x0000003f 
+ 00023053  0x00005a00 beq  0x00000000 , 0x00005a28 
+ 00023054  0x00005a01 nbranch  0x00005a19 , 0x00000028 
+ 00023055  0x00005a02 disable  0x00000028 
+ 00023056  0x00005a04 arg  0x00000014 , 0x00000011 
+ 00023057  0x00005a05 call  0x00005a82 
+ 00023058  0x00005a06 setarg  0x00000011 
+ 00023059  0x00005a07 istore  0x00000001 , 0x00000005 
+ 00023060  0x00005a08 fetch  0x00000001 , 0x000004b3 
+ 00023061  0x00005a09 increase  0x00000004 , 0x0000003f 
+ 00023062  0x00005a0a istore  0x00000001 , 0x00000005 
+ 00023063  0x00005a0b call  0x00007ea2 
+ 00023064  0x00005a0c branch  0x00005a1f 
+ 00023065  0x00005a0e fetch  0x00000001 , 0x000004b3 
+ 00023066  0x00005a0f beq  0x00000010 , 0x00005a28 
+ 00023067  0x00005a10 fetch  0x00000002 , 0x00000aa2 
+ 00023068  0x00005a11 increase  0xffffffff , 0x0000003f 
+ 00023069  0x00005a12 store  0x00000002 , 0x000004a0 
+ 00023070  0x00005a13 call  0x00005a9c 
+ 00023071  0x00005a15 fetch  0x00000002 , 0x00000aa2 
+ 00023072  0x00005a16 store  0x00000002 , 0x0000049e 
+ 00023073  0x00005a17 call  0x00005a97 
+ 00023074  0x00005a18 increase  0xffffffff , 0x0000000b 
+ 00023075  0x00005a1b call  0x00005a84 
+ 00023076  0x00005a1c branch  0x00005a05 
+ 00023077  0x00005a1f fetch  0x00000002 , 0x00000aa2 
+ 00023078  0x00005a20 store  0x00000002 , 0x000004a0 
+ 00023079  0x00005a21 branch  0x00005a2c 
+ 00023080  0x00005a23 fetch  0x00000002 , 0x00000aa2 
+ 00023081  0x00005a24 increase  0xffffffff , 0x0000003f 
+ 00023082  0x00005a25 store  0x00000002 , 0x000004a0 
+ 00023083  0x00005a26 branch  0x00005a2c 
+ 00023084  0x00005a28 branch  0x00005a76 , 0x00000028 
+ 00023085  0x00005a29 call  0x00005a9c 
+ 00023086  0x00005a2a branch  0x00005aa5 
+ 00023087  0x00005a30 copy  0x00000006 , 0x00000011 
+ 00023088  0x00005a31 fetch  0x00000002 , 0x000044fc 
+ 00023089  0x00005a32 add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00023090  0x00005a33 call  0x000056e2 
+ 00023091  0x00005a35 fetch  0x00000001 , 0x000044e9 
+ 00023092  0x00005a36 bbit0  0x00000004 , 0x00005a3d 
+ 00023093  0x00005a38 fetcht  0x00000002 , 0x00000478 
+ 00023094  0x00005a39 fetch  0x00000002 , 0x000044fa 
+ 00023095  0x00005a3a isub  0x00000002 , 0x0000003e 
+ 00023096  0x00005a3b nbranch  0x00005a3d , 0x00000005 
+ 00023097  0x00005a3c call  0x00005a42 
+ 00023098  0x00005a3d nbranch  0x00005a3d , 0x00000028 
+ 00023099  0x00005a3e jam  0x00000005 , 0x0000047a 
+ 00023100  0x00005a3f branch  0x00005a77 
+ 00023101  0x00005a42 force  0x00000001 , 0x00000011 
+ 00023102  0x00005a43 call  0x00005a82 
+ 00023103  0x00005a44 setarg  0x00000013 
+ 00023104  0x00005a45 istore  0x00000001 , 0x00000005 
+ 00023105  0x00005a46 rtn 
+ 00023106  0x00005a49 call  0x00007fe9 
+ 00023107  0x00005a4a fetch  0x00000001 , 0x000044c6 
+ 00023108  0x00005a4b rtneq  0x00000000 
+ 00023109  0x00005a4c fetch  0x00000001 , 0x00004040 
+ 00023110  0x00005a4d rtnbit1  0x00000004 
+ 00023111  0x00005a4e branch  0x00007fe7 
+ 00023112  0x00005a52 add  0x00000006 , 0x00000002 , 0x00000011 
+ 00023113  0x00005a53 fetch  0x00000002 , 0x000044fc 
+ 00023114  0x00005a54 add  0x0000003f , 0xfffffffb , 0x00000012 
+ 00023115  0x00005a55 call  0x000056e2 
+ 00023116  0x00005a56 branch  0x00005a4d 
+ 00023117  0x00005a5a fetch  0x00000002 , 0x000044fc 
+ 00023118  0x00005a5b copy  0x0000003f , 0x00000011 
+ 00023119  0x00005a5c call  0x00005a82 
+ 00023120  0x00005a5d setarg  0x00000017 
+ 00023121  0x00005a5e istore  0x00000001 , 0x00000005 
+ 00023122  0x00005a5f fetch  0x00000002 , 0x00000478 
+ 00023123  0x00005a60 istore  0x00000002 , 0x00000005 
+ 00023124  0x00005a61 fetch  0x00000002 , 0x000044fc 
+ 00023125  0x00005a62 add  0x0000003f , 0xfffffffb , 0x00000039 
+ 00023126  0x00005a63 fetch  0x00000002 , 0x0000450d 
+ 00023127  0x00005a64 add  0x0000003f , 0x00000007 , 0x00000006 
+ 00023128  0x00005a65 ifetch  0x00000002 , 0x00000006 
+ 00023129  0x00005a66 istore  0x00000002 , 0x00000005 
+ 00023130  0x00005a67 branch  0x00007ef4 
+ 00023131  0x00005a6e force  0x00000001 , 0x00000011 
+ 00023132  0x00005a6f call  0x00005a82 
+ 00023133  0x00005a70 setarg  0x00000019 
+ 00023134  0x00005a71 istore  0x00000001 , 0x00000005 
+ 00023135  0x00005a72 rtn 
+ 00023136  0x00005a77 copy  0x00000006 , 0x00000011 
+ 00023137  0x00005a78 fetch  0x00000002 , 0x000044fc 
+ 00023138  0x00005a79 add  0x0000003f , 0xfffffffd , 0x00000012 
+ 00023139  0x00005a7a branch  0x000056e2 
+ 00023140  0x00005a80 copy  0x00000002 , 0x00000013 
+ 00023141  0x00005a81 increase  0x00000003 , 0x00000011 
+ 00023142  0x00005a82 call  0x00005a82 
+ 00023143  0x00005a83 increase  0xfffffffd , 0x00000011 
+ 00023144  0x00005a84 setarg  0x0000001b 
+ 00023145  0x00005a85 istore  0x00000001 , 0x00000005 
+ 00023146  0x00005a86 copy  0x00000013 , 0x00000002 
+ 00023147  0x00005a87 istoret  0x00000002 , 0x00000005 
+ 00023148  0x00005a88 rtn 
+ 00023149  0x00005a8c copy  0x00000002 , 0x00000013 
+ 00023150  0x00005a8d increase  0x00000003 , 0x00000011 
+ 00023151  0x00005a8e call  0x00005a82 
+ 00023152  0x00005a8f increase  0xfffffffd , 0x00000011 
+ 00023153  0x00005a90 setarg  0x0000001d 
+ 00023154  0x00005a91 istore  0x00000001 , 0x00000005 
+ 00023155  0x00005a92 copy  0x00000013 , 0x00000002 
+ 00023156  0x00005a93 istoret  0x00000002 , 0x00000005 
+ 00023157  0x00005a94 rtn 
+ 00023158  0x00005a9a jam  0x0000000a , 0x0000047a 
+ 00023159  0x00005a9c force  0x00000005 , 0x00000011 
+ 00023160  0x00005a9d call  0x00005a82 
+ 00023161  0x00005a9e setarg  0x00000001 
+ 00023162  0x00005a9f istore  0x00000001 , 0x00000005 
+ 00023163  0x00005aa0 fetch  0x00000001 , 0x00000477 
+ 00023164  0x00005aa1 istore  0x00000001 , 0x00000005 
+ 00023165  0x00005aa2 fetch  0x00000002 , 0x00000478 
+ 00023166  0x00005aa3 istore  0x00000002 , 0x00000005 
+ 00023167  0x00005aa4 fetch  0x00000001 , 0x0000047a 
+ 00023168  0x00005aa5 istore  0x00000001 , 0x00000005 
+ 00023169  0x00005aa6 rtn 
+ 00023170  0x00005aaa force  0x00000004 , 0x00000012 
+ 00023171  0x00005aab branch  0x00005847 
+ 00023172  0x00005aaf fetcht  0x00000002 , 0x00000aa2 
+ 00023173  0x00005ab0 increase  0x00000001 , 0x00000002 
+ 00023174  0x00005ab1 storet  0x00000002 , 0x00000aa2 
+ 00023175  0x00005ab2 rtn 
+ 00023176  0x00005ab5 fetcht  0x00000002 , 0x00000aa2 
+ 00023177  0x00005ab6 fetch  0x00000002 , 0x0000445c 
+ 00023178  0x00005ab7 isub  0x00000002 , 0x0000003e 
+ 00023179  0x00005ab8 rtn 
+ 00023180  0x00005abc fetcht  0x00000001 , 0x0000445e 
+ 00023181  0x00005abd arg  0x0000445f , 0x00000011 
+ 00023182  0x00005abf fetch  0x00000001 , 0x000004a2 
+ 00023183  0x00005ac0 copy  0x0000003f , 0x00000039 
+ 00023184  0x00005ac1 isub  0x00000002 , 0x0000003e 
+ 00023185  0x00005ac2 nrtn  0x00000005 
+ 00023186  0x00005ac3 arg  0x000004a3 , 0x00000012 
+ 00023187  0x00005ac4 branch  0x00007f88 
+ 00023188  0x00005ac7 fetcht  0x00000001 , 0x00004471 
+ 00023189  0x00005ac8 arg  0x00004472 , 0x00000011 
+ 00023190  0x00005ac9 branch  0x00005a8e 
+ 00023191  0x00005acd fetch  0x00000001 , 0x000004b3 
+ 00023192  0x00005ace store  0x00000001 , 0x00000101 
+ 00023193  0x00005acf copy  0x0000003f , 0x00000039 
+ 00023194  0x00005ad0 call  0x00007e9f 
+ 00023195  0x00005ad1 branch  0x00007ef4 
+ 00023196  0x00005ad5 call  0x00007e9c 
+ 00023197  0x00005ad6 fetch  0x00000002 , 0x0000049e 
+ 00023198  0x00005ad7 istore  0x00000002 , 0x00000005 
+ 00023199  0x00005ad8 fetch  0x00000002 , 0x000004a0 
+ 00023200  0x00005ad9 istore  0x00000002 , 0x00000005 
+ 00023201  0x00005adb fetch  0x00000001 , 0x00000101 
+ 00023202  0x00005adc copy  0x0000003f , 0x00000039 
+ 00023203  0x00005add call  0x00007ef4 
+ 00023204  0x00005ade branch  0x00007ea2 
+ 00023205  0x00005ae3 call  0x00007e9c 
+ 00023206  0x00005ae4 call  0x0000588a 
+ 00023207  0x00005ae5 copy  0x00000005 , 0x0000003f 
+ 00023208  0x00005ae6 isub  0x00000006 , 0x00000011 
+ 00023209  0x00005ae7 call  0x0000588d 
+ 00023210  0x00005ae8 copy  0x00000011 , 0x0000003f 
+ 00023211  0x00005ae9 istore  0x00000002 , 0x00000006 
+ 00023212  0x00005aea increase  0x00000004 , 0x00000011 
+ 00023213  0x00005aeb call  0x00005879 
+ 00023214  0x00005aec copy  0x00000011 , 0x0000003f 
+ 00023215  0x00005aed istore  0x00000001 , 0x00000006 
+ 00023216  0x00005aee rtn 
+ 00023217  0x00005af2 rshift8  0x0000003f , 0x0000003f 
+ 00023218  0x00005af3 store  0x00000002 , 0x0000445a 
+ 00023219  0x00005af4 ifetch  0x00000002 , 0x00000006 
+ 00023220  0x00005af5 store  0x00000002 , 0x0000445c 
+ 00023221  0x00005af6 rtn 
+ 00023222  0x00005afc ifetch  0x00000001 , 0x00000006 
+ 00023223  0x00005afd ifetcht  0x00000001 , 0x00000006 
+ 00023224  0x00005afe ifetcht  0x00000002 , 0x00000006 
+ 00023225  0x00005aff beq  0x00000013 , 0x00005abb 
+ 00023226  0x00005b00 rtn 
+ 00023227  0x00005b02 ifetch  0x00000002 , 0x00000006 
+ 00023228  0x00005b03 store  0x00000002 , 0x00004509 
+ 00023229  0x00005b04 jam  0x00000040 , 0x00000a99 
+ 00023230  0x00005b05 branch  0x00007d86 
+ 00023231  0x00005b0c arg  0x0000000c , 0x00000011 
+ 00023232  0x00005b0d arg  0x00000012 , 0x00000013 
+ 00023233  0x00005b0e call  0x00005ac7 
+ 00023234  0x00005b0f setarg  0x00000008 
+ 00023235  0x00005b10 istore  0x00000002 , 0x00000005 
+ 00023236  0x00005b11 fetch  0x00000008 , 0x00004496 
+ 00023237  0x00005b12 istore  0x00000008 , 0x00000005 
+ 00023238  0x00005b13 rtn 
+ 00023239  0x00005b18 call  0x00005acf 
+ 00023240  0x00005b19 arg  0x00000005 , 0x00000012 
+ 00023241  0x00005b1a call  0x00005847 
+ 00023242  0x00005b1b copy  0x00000013 , 0x0000003f 
+ 00023243  0x00005b1c istore  0x00000001 , 0x00000005 
+ 00023244  0x00005b1d fetch  0x00000001 , 0x00004508 
+ 00023245  0x00005b1e istore  0x00000001 , 0x00000005 
+ 00023246  0x00005b1f rtn 
+ 00023247  0x00005b23 fetch  0x00000001 , 0x00004508 
+ 00023248  0x00005b25 pincrease  0x00000001 
+ 00023249  0x00005b26 store  0x00000001 , 0x00004508 
+ 00023250  0x00005b27 rtnne  0x00000000 
+ 00023251  0x00005b2a jam  0x00000001 , 0x00004508 
+ 00023252  0x00005b2b rtn 
+ 00023253  0x00005b31 fetch  0x00000001 , 0x000044c6 
+ 00023254  0x00005b32 beq  0x00000000 , 0x00005ae4 
+ 00023255  0x00005b33 beq  0x00000001 , 0x00005ae7 
+ 00023256  0x00005b34 beq  0x00000002 , 0x00005ae9 
+ 00023257  0x00005b35 beq  0x00000081 , 0x00005add 
+ 00023258  0x00005b36 beq  0x00000082 , 0x00005adf 
+ 00023259  0x00005b37 beq  0x00000083 , 0x00005ae2 
+ 00023260  0x00005b38 rtn 
+ 00023261  0x00005b3b jam  0x0000000d , 0x00004456 
+ 00023262  0x00005b3c branch  0x00005ae5 
+ 00023263  0x00005b3e jam  0x0000000d , 0x00004456 
+ 00023264  0x00005b3f jam  0x00000001 , 0x00004454 
+ 00023265  0x00005b40 rtn 
+ 00023266  0x00005b42 jam  0x0000000d , 0x00004456 
+ 00023267  0x00005b43 branch  0x00005aea 
+ 00023268  0x00005b45 jam  0x00000000 , 0x00004456 
+ 00023269  0x00005b47 jam  0x00000003 , 0x00004454 
+ 00023270  0x00005b48 rtn 
+ 00023271  0x00005b4a jam  0x00000005 , 0x00004456 
+ 00023272  0x00005b4b branch  0x00005ae5 
+ 00023273  0x00005b4d jam  0x00000005 , 0x00004456 
+ 00023274  0x00005b4f jam  0x00000000 , 0x00004454 
+ 00023275  0x00005b50 rtn 
+ 00023276  0x00005b54 fetch  0x00000001 , 0x00004456 
+ 00023277  0x00005b55 set1  0x00000003 , 0x0000003f 
+ 00023278  0x00005b56 store  0x00000001 , 0x00004456 
+ 00023279  0x00005b57 rtn 
+ 00023280  0x00005b59 fetch  0x00000001 , 0x00004456 
+ 00023281  0x00005b5a set0  0x00000003 , 0x0000003f 
+ 00023282  0x00005b5b store  0x00000001 , 0x00004456 
+ 00023283  0x00005b5c rtn 
+ 00023284  0x00005b5f ifetch  0x00000001 , 0x00000006 
+ 00023285  0x00005b60 beq  0x00000001 , 0x00005b09 
+ 00023286  0x00005b62 beq  0x00000003 , 0x00005b30 
+ 00023287  0x00005b63 beq  0x00000004 , 0x00005b4d 
+ 00023288  0x00005b64 beq  0x00000005 , 0x00005b5a 
+ 00023289  0x00005b65 beq  0x00000006 , 0x00005b80 
+ 00023290  0x00005b66 beq  0x00000007 , 0x00005bc4 
+ 00023291  0x00005b67 beq  0x00000008 , 0x00005baf 
+ 00023292  0x00005b68 beq  0x00000009 , 0x00005bc0 
+ 00023293  0x00005b69 beq  0x0000000a , 0x00005bc4 
+ 00023294  0x00005b6a beq  0x0000000b , 0x00005bc4 
+ 00023295  0x00005b6b beq  0x0000000c , 0x00005bc5 
+ 00023296  0x00005b6c beq  0x0000000d , 0x00005bca 
+ 00023297  0x00005b6d rtn 
+ 00023298  0x00005b72 force  0x00000002 , 0x00000011 
+ 00023299  0x00005b73 call  0x00005c62 
+ 00023300  0x00005b74 setarg  0x0000000b 
+ 00023301  0x00005b75 istore  0x00000001 , 0x00000005 
+ 00023302  0x00005b76 fetch  0x00000001 , 0x00004456 
+ 00023303  0x00005b77 istore  0x00000001 , 0x00000005 
+ 00023304  0x00005b78 rtn 
+ 00023305  0x00005b7b store  0x00000001 , 0x0000444c 
+ 00023306  0x00005b7c ifetch  0x00000006 , 0x00000006 
+ 00023307  0x00005b7d istore  0x00000006 , 0x00000005 
+ 00023308  0x00005b7e fetch  0x00000001 , 0x000044c6 
+ 00023309  0x00005b7f beq  0x00000000 , 0x00005b5f 
+ 00023310  0x00005b80 call  0x00005b2b 
+ 00023311  0x00005b81 call  0x00005b26 
+ 00023312  0x00005b82 jam  0x00000003 , 0x000044c4 
+ 00023313  0x00005b83 fetch  0x00000001 , 0x0000444d 
+ 00023314  0x00005b84 beq  0x00000000 , 0x00005b18 
+ 00023315  0x00005b85 beq  0x00000001 , 0x00005b18 
+ 00023316  0x00005b86 beq  0x00000003 , 0x00005b18 
+ 00023317  0x00005b87 fetch  0x00000001 , 0x000044c6 
+ 00023318  0x00005b88 beq  0x00000002 , 0x00005b1b 
+ 00023319  0x00005b89 rtneq  0x00000083 
+ 00023320  0x00005b8b arg  0x00000000 , 0x0000003f 
+ 00023321  0x00005b8c store  0x00000004 , 0x000044c7 
+ 00023322  0x00005b8d rtn 
+ 00023323  0x00005b90 fetch  0x00000001 , 0x000044e9 
+ 00023324  0x00005b91 bbit1  0x00000000 , 0x00005b24 
+ 00023325  0x00005b93 arg  0x000044c7 , 0x00000011 
+ 00023326  0x00005b94 copy  0x00000011 , 0x00000005 
+ 00023327  0x00005b95 arg  0x00000003 , 0x00000039 
+ 00023328  0x00005b96 call  0x0000630d 
+ 00023329  0x00005b97 fetch  0x00000002 , 0x000044c9 
+ 00023330  0x00005b98 and_into  0x00000007 , 0x0000003f 
+ 00023331  0x00005b99 store  0x00000002 , 0x000044c9 
+ 00023332  0x00005b9b jam  0x00000034 , 0x00000a99 
+ 00023333  0x00005b9c branch  0x00007d86 
+ 00023334  0x00005b9f fetch  0x00000001 , 0x0000444f 
+ 00023335  0x00005ba0 rtnbit1  0x00000003 
+ 00023336  0x00005ba1 fetch  0x00000001 , 0x000044c6 
+ 00023337  0x00005ba2 rtnbit0  0x00000007 
+ 00023338  0x00005ba3 branch  0x00003402 
+ 00023339  0x00005ba6 force  0x00000007 , 0x00000011 
+ 00023340  0x00005ba7 call  0x00005c62 
+ 00023341  0x00005ba8 fetch  0x00000007 , 0x00004453 
+ 00023342  0x00005ba9 istore  0x00000007 , 0x00000005 
+ 00023343  0x00005baa rtn 
+ 00023344  0x00005bae copy  0x00000006 , 0x00000011 
+ 00023345  0x00005baf fetch  0x00000001 , 0x000044c6 
+ 00023346  0x00005bb0 beq  0x00000083 , 0x00005b37 
+ 00023347  0x00005bb1 copy  0x00000011 , 0x00000006 
+ 00023348  0x00005bb2 arg  0x0000442a , 0x00000005 
+ 00023349  0x00005bb3 call  0x00007ebf 
+ 00023350  0x00005bb4 branch  0x00005b3d 
+ 00023351  0x00005bb6 copy  0x00000011 , 0x00000006 
+ 00023352  0x00005bb7 arg  0x0000442a , 0x00000005 
+ 00023353  0x00005bb8 call  0x00007ebf 
+ 00023354  0x00005bb9 jam  0x00000002 , 0x000044bf 
+ 00023355  0x00005bba jam  0x00000008 , 0x000044c1 
+ 00023356  0x00005bbb rtn 
+ 00023357  0x00005bbf fetch  0x00000001 , 0x000044c6 
+ 00023358  0x00005bc0 bbit1  0x00000007 , 0x00005b45 
+ 00023359  0x00005bc1 call  0x0000739c 
+ 00023360  0x00005bc2 force  0x00000011 , 0x00000011 
+ 00023361  0x00005bc3 call  0x00005c62 
+ 00023362  0x00005bc4 setarg  0x00000003 
+ 00023363  0x00005bc5 istore  0x00000001 , 0x00000005 
+ 00023364  0x00005bc6 branch  0x00007497 
+ 00023365  0x00005bca arg  0x0000443a , 0x00000005 
+ 00023366  0x00005bcb call  0x0000630c 
+ 00023367  0x00005bcc call  0x000071c5 
+ 00023368  0x00005bcd force  0x00000011 , 0x00000011 
+ 00023369  0x00005bce call  0x00005c62 
+ 00023370  0x00005bcf setarg  0x00000003 
+ 00023371  0x00005bd0 istore  0x00000001 , 0x00000005 
+ 00023372  0x00005bd1 branch  0x00007201 
+ 00023373  0x00005bd6 copy  0x00000006 , 0x00000011 
+ 00023374  0x00005bd7 fetch  0x00000001 , 0x000044c6 
+ 00023375  0x00005bd8 bbit1  0x00000007 , 0x00005b61 
+ 00023376  0x00005bd9 copy  0x00000011 , 0x00000006 
+ 00023377  0x00005bda call  0x00007394 
+ 00023378  0x00005bdb branch  0x00005b75 , 0x00000005 
+ 00023379  0x00005bdd jam  0x00000004 , 0x0000047b 
+ 00023380  0x00005bdf force  0x00000002 , 0x00000011 
+ 00023381  0x00005be0 call  0x00005c62 
+ 00023382  0x00005be1 setarg  0x00000005 
+ 00023383  0x00005be2 istore  0x00000001 , 0x00000005 
+ 00023384  0x00005be3 fetch  0x00000001 , 0x0000047b 
+ 00023385  0x00005be4 istore  0x00000001 , 0x00000005 
+ 00023386  0x00005be6 force  0x0000000a , 0x00000007 
+ 00023387  0x00005be7 call  0x00007f07 
+ 00023388  0x00005be8 jam  0x00000000 , 0x000044c4 
+ 00023389  0x00005be9 jam  0x00000030 , 0x00000a99 
+ 00023390  0x00005bea branch  0x00007d86 
+ 00023391  0x00005bed jam  0x00000005 , 0x0000047b 
+ 00023392  0x00005bee branch  0x00005b54 
+ 00023393  0x00005bf2 arg  0x0000042f , 0x00000005 
+ 00023394  0x00005bf3 copy  0x00000011 , 0x00000006 
+ 00023395  0x00005bf4 call  0x00007ebf 
+ 00023396  0x00005bf5 fetch  0x00000001 , 0x000044c6 
+ 00023397  0x00005bf6 beq  0x00000083 , 0x00005b6c 
+ 00023398  0x00005bf7 call  0x0000714f 
+ 00023399  0x00005bfa call  0x00005b7a 
+ 00023400  0x00005bfb fetch  0x00000001 , 0x000044c6 
+ 00023401  0x00005bfc rtnne  0x00000082 
+ 00023402  0x00005bfd jam  0x0000003b , 0x00000a99 
+ 00023403  0x00005bfe branch  0x00007d86 
+ 00023404  0x00005c01 call  0x000071ba 
+ 00023405  0x00005c02 arg  0x00000af2 , 0x00000005 
+ 00023406  0x00005c03 call  0x00007201 
+ 00023407  0x00005c04 arg  0x00000af2 , 0x00000011 
+ 00023408  0x00005c05 arg  0x0000442a , 0x00000012 
+ 00023409  0x00005c06 arg  0x00000010 , 0x00000039 
+ 00023410  0x00005c07 call  0x00007f88 
+ 00023411  0x00005c08 nbranch  0x00005b53 , 0x00000005 
+ 00023412  0x00005c09 branch  0x00005b7a 
+ 00023413  0x00005c0c call  0x00007390 
+ 00023414  0x00005c0d jam  0x00000031 , 0x00000a99 
+ 00023415  0x00005c0e call  0x00007d86 
+ 00023416  0x00005c0f jam  0x00000001 , 0x00004429 
+ 00023417  0x00005c10 jam  0x00000005 , 0x000044c4 
+ 00023418  0x00005c13 force  0x00000011 , 0x00000011 
+ 00023419  0x00005c14 call  0x00005c62 
+ 00023420  0x00005c15 setarg  0x00000004 
+ 00023421  0x00005c16 istore  0x00000001 , 0x00000005 
+ 00023422  0x00005c17 arg  0x0000443a , 0x00000006 
+ 00023423  0x00005c18 branch  0x00007ebf 
+ 00023424  0x00005c1b arg  0x0000041f , 0x00000005 
+ 00023425  0x00005c1c branch  0x00007ebf 
+ 00023426  0x00005c1f force  0x00000011 , 0x00000011 
+ 00023427  0x00005c20 call  0x00005c62 
+ 00023428  0x00005c21 setarg  0x00000006 
+ 00023429  0x00005c22 istore  0x00000001 , 0x00000005 
+ 00023430  0x00005c23 fetch  0x00000001 , 0x000044e9 
+ 00023431  0x00005c24 bbit1  0x00000001 , 0x00005b8a 
+ 00023432  0x00005c25 arg  0x00004419 , 0x00000006 
+ 00023433  0x00005c26 branch  0x00007ebf 
+ 00023434  0x00005c29 arg  0x000044ea , 0x00000006 
+ 00023435  0x00005c2a branch  0x00007ebf 
+ 00023436  0x00005c2e arg  0x000044cb , 0x00000005 
+ 00023437  0x00005c2f force  0x0000000a , 0x00000039 
+ 00023438  0x00005c30 call  0x0000630d 
+ 00023439  0x00005c31 force  0x0000000b , 0x00000011 
+ 00023440  0x00005c32 call  0x00005c62 
+ 00023441  0x00005c33 setarg  0x00000007 
+ 00023442  0x00005c34 istore  0x00000001 , 0x00000005 
+ 00023443  0x00005c35 fetch  0x00000002 , 0x000044cb 
+ 00023444  0x00005c36 istore  0x00000002 , 0x00000005 
+ 00023445  0x00005c37 fetch  0x00000008 , 0x000044cd 
+ 00023446  0x00005c38 istore  0x00000008 , 0x00000005 
+ 00023447  0x00005c39 rtn 
+ 00023448  0x00005c3c force  0x00000011 , 0x00000011 
+ 00023449  0x00005c3d call  0x00005c62 
+ 00023450  0x00005c3e setarg  0x00000008 
+ 00023451  0x00005c3f istore  0x00000001 , 0x00000005 
+ 00023452  0x00005c40 setarg  0x00000000 
+ 00023453  0x00005c41 istore  0x00000008 , 0x00000005 
+ 00023454  0x00005c42 istore  0x00000008 , 0x00000005 
+ 00023455  0x00005c43 rtn 
+ 00023456  0x00005c47 force  0x00000008 , 0x00000011 
+ 00023457  0x00005c48 call  0x00005c62 
+ 00023458  0x00005c49 setarg  0x00000009 
+ 00023459  0x00005c4a istore  0x00000001 , 0x00000005 
+ 00023460  0x00005c4b fetch  0x00000001 , 0x00004495 
+ 00023461  0x00005c4c istore  0x00000001 , 0x00000005 
+ 00023462  0x00005c4d fetch  0x00000006 , 0x000044a0 
+ 00023463  0x00005c4e istore  0x00000006 , 0x00000005 
+ 00023464  0x00005c4f rtn 
+ 00023465  0x00005c53 jam  0x00000008 , 0x0000047b 
+ 00023466  0x00005c54 branch  0x00005b54 
+ 00023467  0x00005c57 fetch  0x00000001 , 0x00004458 
+ 00023468  0x00005c58 fetcht  0x00000001 , 0x00004458 
+ 00023469  0x00005c59 iand  0x00000002 , 0x0000003f 
+ 00023470  0x00005c5a rtn 
+ 00023471  0x00005c5d arg  0x000044d5 , 0x00000005 
+ 00023472  0x00005c5e call  0x00007ebf 
+ 00023473  0x00005c5f call  0x00005bab 
+ 00023474  0x00005c60 isolate0  0x00000001 , 0x0000003f 
+ 00023475  0x00005c61 branch  0x00005ba9 , 0x00000001 
+ 00023476  0x00005c62 fetch  0x00000001 , 0x00004092 
+ 00023477  0x00005c63 rtnne  0x0000000a 
+ 00023478  0x00005c64 call  0x00005bb9 
+ 00023479  0x00005c65 nrtn  0x00000028 
+ 00023480  0x00005c66 branch  0x00003410 
+ 00023481  0x00005c6a call  0x00007fe9 
+ 00023482  0x00005c6b fetch  0x00000001 , 0x0000448e 
+ 00023483  0x00005c6c rtneq  0x00000000 
+ 00023484  0x00005c6d fetch  0x00000001 , 0x00000454 
+ 00023485  0x00005c6e compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00023486  0x00005c6f rtn  0x00000001 
+ 00023487  0x00005c70 branch  0x00007fe7 
+ 00023488  0x00005c73 call  0x00005bab 
+ 00023489  0x00005c74 isolate0  0x00000001 , 0x0000003f 
+ 00023490  0x00005c75 branch  0x00005ba9 , 0x00000001 
+ 00023491  0x00005c76 rtn 
+ 00023492  0x00005c7b rtn 
+ 00023493  0x00005c7e arg  0x000009be , 0x00000005 
+ 00023494  0x00005c7f call  0x00007eb3 
+ 00023495  0x00005c80 jam  0x00000002 , 0x000044bf 
+ 00023496  0x00005c81 jam  0x00000001 , 0x000044c1 
+ 00023497  0x00005c82 rtn 
+ 00023498  0x00005c85 arg  0x00000a6e , 0x00000005 
+ 00023499  0x00005c86 call  0x00007ebf 
+ 00023500  0x00005c87 jam  0x00000006 , 0x000044c1 
+ 00023501  0x00005c88 jam  0x00000002 , 0x000044bf 
+ 00023502  0x00005c89 rtn 
+ 00023503  0x00005c8c force  0x00000041 , 0x00000011 
+ 00023504  0x00005c8d call  0x00005c62 
+ 00023505  0x00005c8e setarg  0x0000000c 
+ 00023506  0x00005c8f istore  0x00000001 , 0x00000005 
+ 00023507  0x00005c90 arg  0x000045d2 , 0x00000006 
+ 00023508  0x00005c91 branch  0x00007eb3 
+ 00023509  0x00005c94 call  0x00007166 
+ 00023510  0x00005c95 force  0x00000011 , 0x00000011 
+ 00023511  0x00005c96 call  0x00005c62 
+ 00023512  0x00005c97 setarg  0x0000000d 
+ 00023513  0x00005c98 istore  0x00000001 , 0x00000005 
+ 00023514  0x00005c99 branch  0x00007201 
+ 00023515  0x00005c9d fetch  0x00000001 , 0x000044c4 
+ 00023516  0x00005c9e rtneq  0x000000ff 
+ 00023517  0x00005c9f arg  0x00000003 , 0x00000002 
+ 00023518  0x00005ca0 isub  0x00000002 , 0x0000003e 
+ 00023519  0x00005ca1 nrtn  0x00000002 
+ 00023520  0x00005ca2 arg  0x0000000a , 0x00000007 
+ 00023521  0x00005ca3 call  0x00007f16 
+ 00023522  0x00005ca4 nrtn  0x00000034 
+ 00023523  0x00005ca5 branch  0x00005ba9 
+ 00023524  0x00005ca8 bpatchx  0x00000078 , 0x0000402f 
+ 00023525  0x00005ca9 fetch  0x00000001 , 0x000044c4 
+ 00023526  0x00005caa beq  0x00000000 , 0x00005bef 
+ 00023527  0x00005cab beq  0x00000001 , 0x00005bf5 
+ 00023528  0x00005cac beq  0x00000002 , 0x00005bef 
+ 00023529  0x00005cad beq  0x00000003 , 0x00005bf7 
+ 00023530  0x00005cae beq  0x00000005 , 0x00005bfb 
+ 00023531  0x00005caf beq  0x00000007 , 0x00005c07 
+ 00023532  0x00005cb0 beq  0x00000008 , 0x00005c09 
+ 00023533  0x00005cb1 beq  0x00000009 , 0x00005c10 
+ 00023534  0x00005cb2 rtn 
+ 00023535  0x00005cb6 fetch  0x00000001 , 0x000044c5 
+ 00023536  0x00005cb7 rtnne  0x00000004 
+ 00023537  0x00005cb8 jam  0x000000ff , 0x000044c5 
+ 00023538  0x00005cb9 jam  0x000000ff , 0x000044c4 
+ 00023539  0x00005cba jam  0x0000003f , 0x00000a99 
+ 00023540  0x00005cbb branch  0x00007d86 
+ 00023541  0x00005cbf jam  0x00000002 , 0x000044c4 
+ 00023542  0x00005cc0 branch  0x00005b02 
+ 00023543  0x00005cc3 jam  0x00000004 , 0x000044c4 
+ 00023544  0x00005cc4 setarg  0x00017700 
+ 00023545  0x00005cc5 arg  0x0000000a , 0x00000007 
+ 00023546  0x00005cc6 branch  0x00007f08 
+ 00023547  0x00005cc9 fetch  0x00000001 , 0x000044c5 
+ 00023548  0x00005cca beq  0x00000004 , 0x00005bfe 
+ 00023549  0x00005ccb rtn 
+ 00023550  0x00005cce jam  0x00000007 , 0x000044c4 
+ 00023551  0x00005ccf jam  0x00000029 , 0x00000a99 
+ 00023552  0x00005cd0 call  0x00007d86 
+ 00023553  0x00005cd1 call  0x00005b82 
+ 00023554  0x00005cd2 fetch  0x00000001 , 0x00004092 
+ 00023555  0x00005cd3 rtnne  0x0000000a 
+ 00023556  0x00005cd4 call  0x00005bb9 
+ 00023557  0x00005cd5 rtn  0x00000028 
+ 00023558  0x00005cd6 branch  0x00003410 
+ 00023559  0x00005cda jam  0x00000008 , 0x000044c4 
+ 00023560  0x00005cdb branch  0x00005b8c 
+ 00023561  0x00005cde fetch  0x00000001 , 0x00004452 
+ 00023562  0x00005cdf fetcht  0x00000001 , 0x00004459 
+ 00023563  0x00005ce0 iand  0x00000002 , 0x0000003f 
+ 00023564  0x00005ce1 isolate0  0x00000001 , 0x0000003f 
+ 00023565  0x00005ce2 branch  0x00005c12 , 0x00000001 
+ 00023566  0x00005ce3 jam  0x00000009 , 0x000044c4 
+ 00023567  0x00005ce4 branch  0x00005b98 
+ 00023568  0x00005ce7 call  0x00005ba0 
+ 00023569  0x00005ce8 branch  0x00005c12 
+ 00023570  0x00005cec force  0x0000000a , 0x00000007 
+ 00023571  0x00005ced call  0x00007f07 
+ 00023572  0x00005cee jam  0x000000ff , 0x000044c5 
+ 00023573  0x00005cef jam  0x000000ff , 0x000044c4 
+ 00023574  0x00005cf0 jam  0x0000003e , 0x00000a99 
+ 00023575  0x00005cf1 branch  0x00007d86 
+ 00023576  0x00005cf6 bpatchx  0x00000079 , 0x0000402f 
+ 00023577  0x00005cf7 fetch  0x00000001 , 0x000044c6 
+ 00023578  0x00005cf8 rtnbit0  0x00000007 
+ 00023579  0x00005cf9 fetch  0x00000001 , 0x000044bf 
+ 00023580  0x00005cfa rtnne  0x00000002 
+ 00023581  0x00005cfb jam  0x00000000 , 0x000044bf 
+ 00023582  0x00005cfc fetch  0x00000001 , 0x000044c1 
+ 00023583  0x00005cfd beq  0x00000001 , 0x00005c58 
+ 00023584  0x00005cfe beq  0x00000002 , 0x00005c5f 
+ 00023585  0x00005cff beq  0x00000003 , 0x00005c52 
+ 00023586  0x00005d00 beq  0x00000006 , 0x00005c39 
+ 00023587  0x00005d01 beq  0x00000007 , 0x00005c30 
+ 00023588  0x00005d02 beq  0x00000008 , 0x00005c26 
+ 00023589  0x00005d03 rtn 
+ 00023590  0x00005d07 fetch  0x00000001 , 0x00004663 
+ 00023591  0x00005d08 copy  0x0000003f , 0x00000007 
+ 00023592  0x00005d09 increase  0x00000001 , 0x0000003f 
+ 00023593  0x00005d0a store  0x00000001 , 0x00004663 
+ 00023594  0x00005d0b fetch  0x00000004 , 0x000044c7 
+ 00023595  0x00005d0c qisolate1  0x0000003f 
+ 00023596  0x00005d0d setarg  0x00000080 
+ 00023597  0x00005d0e setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00023598  0x00005d0f store  0x00000001 , 0x00004664 
+ 00023599  0x00005d10 branch  0x00005c55 
+ 00023600  0x00005d13 fetch  0x00000001 , 0x000044c2 
+ 00023601  0x00005d14 jam  0x00000000 , 0x000044c2 
+ 00023602  0x00005d15 beq  0x00000001 , 0x00005c35 
+ 00023603  0x00005d16 jam  0x00000002 , 0x000044bf 
+ 00023604  0x00005d17 rtn 
+ 00023605  0x00005d1a jam  0x00000031 , 0x00000a99 
+ 00023606  0x00005d1b call  0x00007d86 
+ 00023607  0x00005d1c jam  0x00000005 , 0x000044c4 
+ 00023608  0x00005d1d branch  0x00005bd5 
+ 00023609  0x00005d20 fetch  0x00000001 , 0x000009b9 
+ 00023610  0x00005d21 beq  0x00000003 , 0x00005c3d 
+ 00023611  0x00005d22 jam  0x00000002 , 0x000044bf 
+ 00023612  0x00005d23 rtn 
+ 00023613  0x00005d26 call  0x0000718d 
+ 00023614  0x00005d2a fetch  0x00000001 , 0x000044c6 
+ 00023615  0x00005d2b beq  0x00000083 , 0x00005c41 
+ 00023616  0x00005d2c call  0x00005b18 
+ 00023617  0x00005d2e call  0x0000717a 
+ 00023618  0x00005d2f arg  0x00000af2 , 0x00000011 
+ 00023619  0x00005d30 arg  0x00000a6e , 0x00000012 
+ 00023620  0x00005d31 arg  0x00000010 , 0x00000039 
+ 00023621  0x00005d32 call  0x00007f88 
+ 00023622  0x00005d33 branch  0x00005c49 , 0x00000005 
+ 00023623  0x00005d35 jam  0x0000000b , 0x0000047b 
+ 00023624  0x00005d36 branch  0x00005b54 
+ 00023625  0x00005d3a call  0x00007595 
+ 00023626  0x00005d3b nbranch  0x00005c47 , 0x00000005 
+ 00023627  0x00005d3c jam  0x00000001 , 0x00004429 
+ 00023628  0x00005d3d fetch  0x00000001 , 0x000044c6 
+ 00023629  0x00005d3e beq  0x00000081 , 0x00005c35 
+ 00023630  0x00005d3f beq  0x00000083 , 0x00005c35 
+ 00023631  0x00005d40 jam  0x00000002 , 0x000044bf 
+ 00023632  0x00005d41 jam  0x00000007 , 0x000044c1 
+ 00023633  0x00005d42 rtn 
+ 00023634  0x00005d45 fetch  0x00000001 , 0x000044c6 
+ 00023635  0x00005d46 beq  0x00000083 , 0x00005c56 
+ 00023636  0x00005d47 jam  0x00000000 , 0x00004664 
+ 00023637  0x00005d49 branch  0x00005b3d 
+ 00023638  0x00005d4f jam  0x00000000 , 0x00004663 
+ 00023639  0x00005d50 branch  0x00005b1b 
+ 00023640  0x00005d54 jam  0x00000002 , 0x000044bf 
+ 00023641  0x00005d55 fetch  0x00000001 , 0x000044c3 
+ 00023642  0x00005d56 beq  0x00000003 , 0x00005c5c 
+ 00023643  0x00005d58 rtn 
+ 00023644  0x00005d5b jam  0x00000002 , 0x000044c1 
+ 00023645  0x00005d5c jam  0x00000000 , 0x000009b9 
+ 00023646  0x00005d5d branch  0x00007a99 
+ 00023647  0x00005d60 jam  0x00000002 , 0x000044bf 
+ 00023648  0x00005d61 jam  0x00000003 , 0x000044c1 
+ 00023649  0x00005d62 branch  0x00005bcf 
+ 00023650  0x00005d67 force  0x00000006 , 0x00000012 
+ 00023651  0x00005d68 branch  0x00005847 
+ 00023652  0x00005d6d fetch  0x00000001 , 0x000002db 
+ 00023653  0x00005d6e beq  0x00000000 , 0x00005c7b 
+ 00023654  0x00005d6f beq  0x00000001 , 0x00005c83 
+ 00023655  0x00005d70 beq  0x00000002 , 0x00005c8e 
+ 00023656  0x00005d71 beq  0x00000003 , 0x00005caa 
+ 00023657  0x00005d72 beq  0x00000004 , 0x00005ce1 
+ 00023658  0x00005d73 beq  0x00000005 , 0x00005ce6 
+ 00023659  0x00005d74 beq  0x00000006 , 0x00005cea 
+ 00023660  0x00005d75 beq  0x00000007 , 0x00005cf5 
+ 00023661  0x00005d76 beq  0x00000008 , 0x00005c99 
+ 00023662  0x00005d77 beq  0x00000009 , 0x00005cf5 
+ 00023663  0x00005d78 beq  0x0000000a , 0x00005cef 
+ 00023664  0x00005d79 beq  0x0000000b , 0x00005cf5 
+ 00023665  0x00005d7a beq  0x0000000c , 0x00005c9f 
+ 00023666  0x00005d7b beq  0x0000000d , 0x00005cf5 
+ 00023667  0x00005d7c beq  0x00000012 , 0x00005ca6 
+ 00023668  0x00005d7d beq  0x00000013 , 0x00005cf5 
+ 00023669  0x00005d7e arg  0x00000002 , 0x00000011 
+ 00023670  0x00005d7f arg  0x00000007 , 0x00000012 
+ 00023671  0x00005d80 call  0x00005842 
+ 00023672  0x00005d81 fetch  0x00000001 , 0x000002db 
+ 00023673  0x00005d82 istore  0x00000001 , 0x00000005 
+ 00023674  0x00005d83 rtn 
+ 00023675  0x00005d87 ifetch  0x00000009 , 0x00000006 
+ 00023676  0x00005d88 store  0x00000009 , 0x000043d3 
+ 00023677  0x00005d89 ifetch  0x00000002 , 0x00000006 
+ 00023678  0x00005d8a store  0x00000002 , 0x0000045f 
+ 00023679  0x00005d8b fetch  0x00000001 , 0x0000043f 
+ 00023680  0x00005d8c set1  0x00000005 , 0x0000003f 
+ 00023681  0x00005d8d store  0x00000001 , 0x0000043f 
+ 00023682  0x00005d8e rtn 
+ 00023683  0x00005d91 ifetch  0x00000005 , 0x00000006 
+ 00023684  0x00005d92 store  0x00000005 , 0x000043ce 
+ 00023685  0x00005d93 ifetch  0x00000002 , 0x00000006 
+ 00023686  0x00005d94 store  0x00000002 , 0x0000045f 
+ 00023687  0x00005d95 fetcht  0x00000002 , 0x00000459 
+ 00023688  0x00005d96 isub  0x00000002 , 0x0000003e 
+ 00023689  0x00005d97 nbranch  0x00005c8e , 0x00000002 
+ 00023690  0x00005d98 fetch  0x00000001 , 0x0000043f 
+ 00023691  0x00005d99 set1  0x00000006 , 0x0000003f 
+ 00023692  0x00005d9a store  0x00000001 , 0x0000043f 
+ 00023693  0x00005d9b rtn 
+ 00023694  0x00005d9f setarg  0x00000014 
+ 00023695  0x00005da0 store  0x00000002 , 0x0000046d 
+ 00023696  0x00005da1 store  0x00000002 , 0x000044ba 
+ 00023697  0x00005da2 rtn 
+ 00023698  0x00005da5 arg  0x00000013 , 0x00000013 
+ 00023699  0x00005da9 arg  0x00000002 , 0x00000011 
+ 00023700  0x00005daa arg  0x00000002 , 0x00000012 
+ 00023701  0x00005dab call  0x00005842 
+ 00023702  0x00005dac copy  0x00000013 , 0x0000003f 
+ 00023703  0x00005dad istore  0x00000001 , 0x00000005 
+ 00023704  0x00005dae rtn 
+ 00023705  0x00005db3 arg  0x00000009 , 0x00000011 
+ 00023706  0x00005db4 arg  0x00000009 , 0x00000012 
+ 00023707  0x00005db5 call  0x00005842 
+ 00023708  0x00005db6 setarg  0x00000001 
+ 00023709  0x00005db7 istore  0x00000008 , 0x00000005 
+ 00023710  0x00005db8 rtn 
+ 00023711  0x00005dbc rtn  0x00000029 
+ 00023712  0x00005dbe arg  0x00000006 , 0x00000011 
+ 00023713  0x00005dbf arg  0x0000000c , 0x00000012 
+ 00023714  0x00005dc0 call  0x00005842 
+ 00023715  0x00005dc1 fetch  0x00000005 , 0x00004510 
+ 00023716  0x00005dc2 istore  0x00000005 , 0x00000005 
+ 00023717  0x00005dc3 rtn 
+ 00023718  0x00005dc7 arg  0x00000013 , 0x00000012 
+ 00023719  0x00005dc8 branch  0x00005ca8 
+ 00023720  0x00005dcc arg  0x00000001 , 0x00000011 
+ 00023721  0x00005dcd branch  0x00005842 
+ 00023722  0x00005dd1 ifetch  0x00000008 , 0x00000006 
+ 00023723  0x00005dd2 store  0x00000008 , 0x000044cd 
+ 00023724  0x00005dd3 ifetch  0x00000002 , 0x00000006 
+ 00023725  0x00005dd4 store  0x00000002 , 0x000044cb 
+ 00023726  0x00005dd5 ifetch  0x00000008 , 0x00000006 
+ 00023727  0x00005dd6 store  0x00000008 , 0x000044aa 
+ 00023728  0x00005dd7 ifetch  0x00000004 , 0x00000006 
+ 00023729  0x00005dd8 store  0x00000004 , 0x00004411 
+ 00023730  0x00005dd9 call  0x00005ccf 
+ 00023731  0x00005dda bpatchx  0x0000007a , 0x0000402f 
+ 00023732  0x00005ddb fetch  0x00000001 , 0x000044c4 
+ 00023733  0x00005ddc beq  0x00000005 , 0x00005cbc 
+ 00023734  0x00005ddd fetch  0x00000001 , 0x000044e9 
+ 00023735  0x00005dde bbit1  0x00000001 , 0x00005cbf 
+ 00023736  0x00005ddf fetch  0x00000001 , 0x00004217 
+ 00023737  0x00005de0 ncall  0x000067be , 0x00000034 
+ 00023738  0x00005de1 fetch  0x00000001 , 0x00004429 
+ 00023739  0x00005de2 beq  0x00000000 , 0x00005cc4 
+ 00023740  0x00005de4 jam  0x00000001 , 0x000044c5 
+ 00023741  0x00005de5 call  0x00005cdd 
+ 00023742  0x00005de6 branch  0x000073a2 
+ 00023743  0x00005de9 jam  0x00000001 , 0x00004429 
+ 00023744  0x00005dea arg  0x000044ea , 0x00000006 
+ 00023745  0x00005deb arg  0x00004419 , 0x00000005 
+ 00023746  0x00005dec call  0x00007ebf 
+ 00023747  0x00005ded branch  0x00005cbc 
+ 00023748  0x00005df1 bpatchx  0x0000007b , 0x0000402f 
+ 00023749  0x00005df2 jam  0x00000000 , 0x000044c5 
+ 00023750  0x00005df3 jam  0x00000000 , 0x000044c4 
+ 00023751  0x00005df4 jam  0x00000041 , 0x00000a99 
+ 00023752  0x00005df5 branch  0x00007d86 
+ 00023753  0x00005df8 arg  0x00000002 , 0x00000011 
+ 00023754  0x00005df9 arg  0x0000000d , 0x00000012 
+ 00023755  0x00005dfa call  0x00005842 
+ 00023756  0x00005dfb setarg  0x00000006 
+ 00023757  0x00005dfc istore  0x00000001 , 0x00000005 
+ 00023758  0x00005dfd rtn 
+ 00023759  0x00005e00 arg  0x000044b2 , 0x00000005 
+ 00023760  0x00005e01 force  0x00000008 , 0x00000039 
+ 00023761  0x00005e02 call  0x0000630d 
+ 00023762  0x00005e03 arg  0x00004415 , 0x00000005 
+ 00023763  0x00005e04 force  0x00000004 , 0x00000039 
+ 00023764  0x00005e05 call  0x0000630d 
+ 00023765  0x00005e06 arg  0x0000000d , 0x00000011 
+ 00023766  0x00005e07 arg  0x00000004 , 0x00000012 
+ 00023767  0x00005e08 call  0x00005842 
+ 00023768  0x00005e09 fetch  0x00000008 , 0x000044b2 
+ 00023769  0x00005e0a istore  0x00000008 , 0x00000005 
+ 00023770  0x00005e0b fetch  0x00000004 , 0x00004415 
+ 00023771  0x00005e0c istore  0x00000004 , 0x00000005 
+ 00023772  0x00005e0d rtn 
+ 00023773  0x00005e10 arg  0x00000005 , 0x00000012 
+ 00023774  0x00005e11 branch  0x00005ca8 
+ 00023775  0x00005e14 arg  0x00000006 , 0x00000012 
+ 00023776  0x00005e15 branch  0x00005ca8 
+ 00023777  0x00005e19 ifetch  0x00000008 , 0x00000006 
+ 00023778  0x00005e1a store  0x00000008 , 0x000044b2 
+ 00023779  0x00005e1b ifetch  0x00000004 , 0x00000006 
+ 00023780  0x00005e1c store  0x00000004 , 0x00004415 
+ 00023781  0x00005e1d branch  0x000073a2 
+ 00023782  0x00005e20 fetch  0x00000001 , 0x0000043f 
+ 00023783  0x00005e21 set1  0x00000004 , 0x0000003f 
+ 00023784  0x00005e22 store  0x00000001 , 0x0000043f 
+ 00023785  0x00005e23 rtn 
+ 00023786  0x00005e26 rtn  0x00000029 
+ 00023787  0x00005e27 jam  0x00000032 , 0x00000a99 
+ 00023788  0x00005e28 call  0x00007d86 
+ 00023789  0x00005e29 jam  0x00000004 , 0x000044c5 
+ 00023790  0x00005e2a branch  0x00005cdf 
+ 00023791  0x00005e2d jam  0x00000002 , 0x000044c5 
+ 00023792  0x00005e2e call  0x00005cf3 
+ 00023793  0x00005e2f jam  0x00000033 , 0x00000a99 
+ 00023794  0x00005e30 branch  0x00007d86 
+ 00023795  0x00005e33 arg  0x0000000b , 0x00000012 
+ 00023796  0x00005e34 branch  0x00005ca8 
+ 00023797  0x00005e3c rtn 
+ 00023798  0x00005e44 rtn  0x0000002b 
+ 00023799  0x00005e46 bpatchx  0x0000007c , 0x0000402f 
+ 00023800  0x00005e47 setarg  0x00000000 
+ 00023801  0x00005e48 store  0x00000001 , 0x00000048 
+ 00023802  0x00005e49 store  0x00000001 , 0x00000055 
+ 00023803  0x00005e4a store  0x00000001 , 0x00000078 
+ 00023804  0x00005e4b store  0x00000001 , 0x0000007c 
+ 00023805  0x00005e4c store  0x00000001 , 0x00004158 
+ 00023806  0x00005e4d store  0x00000001 , 0x000004d7 
+ 00023807  0x00005e4e store  0x00000001 , 0x0000016d 
+ 00023808  0x00005e4f store  0x00000001 , 0x000009b5 
+ 00023809  0x00005e50 jam  0x00000000 , 0x0000455b 
+ 00023810  0x00005e51 jam  0x00000000 , 0x00000229 
+ 00023811  0x00005e52 jam  0x00000000 , 0x000004d8 
+ 00023812  0x00005e54 jam  0x00000000 , 0x000009b5 
+ 00023813  0x00005e55 jam  0x00000000 , 0x000009b4 
+ 00023814  0x00005e56 jam  0x00000000 , 0x000004d1 
+ 00023815  0x00005e59 rtn 
+ 00023816  0x00005e5c bpatchx  0x0000007d , 0x0000402f 
+ 00023817  0x00005e5d call  0x000062ff , 0x00000029 
+ 00023818  0x00005e5e ncall  0x00006303 , 0x00000029 
+ 00023819  0x00005e5f call  0x000062bc 
+ 00023820  0x00005e60 nrtn  0x00000034 
+ 00023821  0x00005e61 fetch  0x00000001 , 0x0000004c 
+ 00023822  0x00005e62 rtnbit0  0x00000006 
+ 00023823  0x00005e63 set0  0x00000006 , 0x0000003f 
+ 00023824  0x00005e64 set0  0x00000001 , 0x00000000 
+ 00023825  0x00005e65 store  0x00000001 , 0x0000004c 
+ 00023826  0x00005e66 fetch  0x00000001 , 0x00000551 
+ 00023827  0x00005e67 fetcht  0x00000001 , 0x0000004c 
+ 00023828  0x00005e68 isolate1  0x00000000 , 0x0000003f 
+ 00023829  0x00005e69 setflag  0x00000001 , 0x00000001 , 0x00000002 
+ 00023830  0x00005e6a storet  0x00000001 , 0x0000004c 
+ 00023831  0x00005e6b and_into  0x00000002 , 0x00000002 
+ 00023832  0x00005e6c storet  0x00000001 , 0x0000007f 
+ 00023833  0x00005e6d fetcht  0x00000001 , 0x0000004c 
+ 00023834  0x00005e6e rshift  0x0000003f , 0x0000003f 
+ 00023835  0x00005e6f store  0x00000001 , 0x0000007d 
+ 00023836  0x00005e70 bpatchx  0x0000007e , 0x0000402f 
+ 00023837  0x00005e71 fetch  0x00000001 , 0x0000007d 
+ 00023838  0x00005e72 beq  0x0000007f , 0x00005d66 
+ 00023839  0x00005e73 beq  0x00000003 , 0x00005db1 
+ 00023840  0x00005e74 beq  0x00000004 , 0x00005dc2 
+ 00023841  0x00005e75 beq  0x0000003c , 0x00005d59 
+ 00023842  0x00005e76 beq  0x00000005 , 0x00005d55 
+ 00023843  0x00005e77 beq  0x0000000f , 0x00005fa8 
+ 00023844  0x00005e78 beq  0x00000010 , 0x00005e24 
+ 00023845  0x00005e79 beq  0x00000023 , 0x00005e42 
+ 00023846  0x00005e7a beq  0x00000039 , 0x00005fc1 
+ 00023847  0x00005e7b beq  0x00000038 , 0x00005fbc 
+ 00023848  0x00005e7c beq  0x00000031 , 0x00005e27 
+ 00023849  0x00005e7d beq  0x00000037 , 0x00005eb0 
+ 00023850  0x00005e7e beq  0x00000027 , 0x00005eac 
+ 00023851  0x00005e7f beq  0x00000033 , 0x00005ea9 
+ 00023852  0x00005e80 beq  0x00000025 , 0x00005eae 
+ 00023853  0x00005e81 beq  0x00000026 , 0x00005e3e 
+ 00023854  0x00005e82 beq  0x00000007 , 0x00005e36 
+ 00023855  0x00005e83 beq  0x0000002d , 0x00005e2d 
+ 00023856  0x00005e84 beq  0x0000002e , 0x00005e2e 
+ 00023857  0x00005e85 beq  0x00000001 , 0x00005ea5 
+ 00023858  0x00005e86 beq  0x00000002 , 0x00005e90 
+ 00023859  0x00005e87 beq  0x00000028 , 0x00005fb3 
+ 00023860  0x00005e88 beq  0x00000009 , 0x00005e86 
+ 00023861  0x00005e89 beq  0x0000000b , 0x00005e5f 
+ 00023862  0x00005e8a beq  0x00000008 , 0x00005e43 
+ 00023863  0x00005e8b beq  0x0000000c , 0x00005e6a 
+ 00023864  0x00005e8c beq  0x0000001f , 0x00005e3a 
+ 00023865  0x00005e8d beq  0x00000020 , 0x00005e3c 
+ 00023866  0x00005e8e beq  0x00000021 , 0x00005eca 
+ 00023867  0x00005e8f beq  0x00000022 , 0x00005eca 
+ 00023868  0x00005e90 beq  0x00000035 , 0x00005ecb 
+ 00023869  0x00005e91 beq  0x00000036 , 0x00005ecc 
+ 00023870  0x00005e92 beq  0x00000024 , 0x00005eca 
+ 00023871  0x00005e93 beq  0x00000034 , 0x00005ecd 
+ 00023872  0x00005e94 beq  0x00000017 , 0x00005ed6 
+ 00023873  0x00005e95 beq  0x00000011 , 0x00005ef2 
+ 00023874  0x00005e96 beq  0x00000012 , 0x00005ef6 
+ 00023875  0x00005e97 beq  0x00000013 , 0x00005ef8 
+ 00023876  0x00005e98 beq  0x0000000d , 0x00005f0a 
+ 00023877  0x00005e99 beq  0x0000000e , 0x00005f0a 
+ 00023878  0x00005e9a beq  0x0000002f , 0x00005eaa 
+ 00023879  0x00005e9b beq  0x00000030 , 0x00005f0a 
+ 00023880  0x00005e9c beq  0x0000000a , 0x00005f0a 
+ 00023881  0x00005e9d beq  0x00000018 , 0x00005f0b 
+ 00023882  0x00005e9e beq  0x00000032 , 0x00005f0a 
+ 00023883  0x00005e9f beq  0x0000003d , 0x00005f10 
+ 00023884  0x00005ea0 beq  0x0000003e , 0x00005f51 
+ 00023885  0x00005ea1 beq  0x0000003f , 0x00005f4b 
+ 00023886  0x00005ea2 beq  0x00000040 , 0x00005f78 
+ 00023887  0x00005ea3 beq  0x00000041 , 0x00005f8a 
+ 00023888  0x00005ea4 beq  0x00000006 , 0x00005fa7 
+ 00023889  0x00005ea5 beq  0x0000003a , 0x00005d57 
+ 00023890  0x00005ea9 jam  0x00000019 , 0x0000007e 
+ 00023891  0x00005eab jam  0x00000004 , 0x0000007c 
+ 00023892  0x00005eac rtn 
+ 00023893  0x00005eaf jam  0x00000006 , 0x0000007c 
+ 00023894  0x00005eb0 rtn 
+ 00023895  0x00005eb3 jam  0x0000003b , 0x0000007c 
+ 00023896  0x00005eb4 rtn 
+ 00023897  0x00005eb7 fetch  0x00000004 , 0x00000552 
+ 00023898  0x00005eb8 lshift  0x0000003f , 0x0000003f 
+ 00023899  0x00005eb9 store  0x00000004 , 0x000040d2 
+ 00023900  0x00005eba fetch  0x00000001 , 0x00000556 
+ 00023901  0x00005ebb store  0x00000001 , 0x000040d9 
+ 00023902  0x00005ebc fetch  0x00000005 , 0x00000557 
+ 00023903  0x00005ebd store  0x00000005 , 0x000040e7 
+ 00023904  0x00005ebe fetch  0x00000005 , 0x0000055c 
+ 00023905  0x00005ebf istore  0x00000005 , 0x00000005 
+ 00023906  0x00005ec0 fetch  0x00000001 , 0x00000031 
+ 00023907  0x00005ec1 set1  0x00000003 , 0x0000003f 
+ 00023908  0x00005ec2 store  0x00000001 , 0x00000031 
+ 00023909  0x00005ec3 rtn 
+ 00023910  0x00005ec5 bpatchx  0x0000007f , 0x0000402f 
+ 00023911  0x00005ec6 fetch  0x00000001 , 0x00000552 
+ 00023912  0x00005ec7 set1  0x00000007 , 0x0000003f 
+ 00023913  0x00005ec8 store  0x00000001 , 0x0000007d 
+ 00023914  0x00005ec9 beq  0x00000081 , 0x00005d88 
+ 00023915  0x00005eca beq  0x00000082 , 0x00005d8d 
+ 00023916  0x00005ecb beq  0x00000095 , 0x00005eb1 
+ 00023917  0x00005ecc beq  0x00000096 , 0x00005eca 
+ 00023918  0x00005ecd beq  0x0000008b , 0x00005ebf 
+ 00023919  0x00005ece beq  0x00000083 , 0x00005da5 
+ 00023920  0x00005ecf beq  0x00000084 , 0x00005da7 
+ 00023921  0x00005ed0 beq  0x00000090 , 0x00005d7a 
+ 00023922  0x00005ed1 beq  0x00000097 , 0x00005d9e 
+ 00023923  0x00005ed2 beq  0x00000098 , 0x00005da3 
+ 00023924  0x00005ed3 beq  0x00000099 , 0x00005d7d 
+ 00023925  0x00005ed4 beq  0x0000009a , 0x00005d80 
+ 00023926  0x00005ed5 rtneq  0x00000084 
+ 00023927  0x00005ed9 jam  0x00000082 , 0x0000007c 
+ 00023928  0x00005eda jam  0x00000019 , 0x0000007e 
+ 00023929  0x00005edc rtn 
+ 00023930  0x00005ede jam  0x00000082 , 0x0000007c 
+ 00023931  0x00005edf jam  0x0000002e , 0x0000007e 
+ 00023932  0x00005ee0 rtn 
+ 00023933  0x00005ee3 call  0x00005d82 
+ 00023934  0x00005ee4 jam  0x0000009a , 0x0000007c 
+ 00023935  0x00005ee5 rtn 
+ 00023936  0x00005ee8 call  0x00005d82 
+ 00023937  0x00005ee9 branch  0x00005d86 
+ 00023938  0x00005eec arg  0x0000465e , 0x00000005 
+ 00023939  0x00005eed fetch  0x00000003 , 0x00000553 
+ 00023940  0x00005eee istore  0x00000003 , 0x00000005 
+ 00023941  0x00005eef rtn 
+ 00023942  0x00005ef2 branch  0x000076d8 , 0x00000001 
+ 00023943  0x00005ef3 rtn 
+ 00023944  0x00005ef5 fetch  0x00000001 , 0x00000554 
+ 00023945  0x00005ef6 set1  0x00000007 , 0x0000003f 
+ 00023946  0x00005ef7 store  0x00000001 , 0x000004c9 
+ 00023947  0x00005ef8 beq  0x0000008b , 0x00005d92 
+ 00023948  0x00005ef9 rtn 
+ 00023949  0x00005efd fetch  0x00000001 , 0x00000554 
+ 00023950  0x00005efe set1  0x00000007 , 0x0000003f 
+ 00023951  0x00005eff store  0x00000001 , 0x000004c9 
+ 00023952  0x00005f00 beq  0x0000008b , 0x00005d96 
+ 00023953  0x00005f01 rtn 
+ 00023954  0x00005f04 fetch  0x00000001 , 0x0000415a 
+ 00023955  0x00005f05 fetcht  0x00000001 , 0x0000004c 
+ 00023956  0x00005f06 nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00023957  0x00005f07 storet  0x00000001 , 0x0000004c 
+ 00023958  0x00005f09 fetch  0x00000001 , 0x00000030 
+ 00023959  0x00005f0a rtnbit0  0x00000005 
+ 00023960  0x00005f0b set0  0x00000005 , 0x0000003f 
+ 00023961  0x00005f0c store  0x00000001 , 0x00000030 
+ 00023962  0x00005f0d fetch  0x00000001 , 0x000004d7 
+ 00023963  0x00005f0e nrtn  0x00000034 
+ 00023964  0x00005f0f jam  0x00000031 , 0x0000007c 
+ 00023965  0x00005f10 rtn 
+ 00023966  0x00005f13 nbranch  0x00005da1 , 0x00000029 
+ 00023967  0x00005f14 jam  0x00000012 , 0x0000007c 
+ 00023968  0x00005f15 branch  0x000062eb 
+ 00023969  0x00005f18 jam  0x00000097 , 0x0000007c 
+ 00023970  0x00005f19 rtn 
+ 00023971  0x00005f1e call  0x000062eb 
+ 00023972  0x00005f1f branch  0x00005ffe 
+ 00023973  0x00005f22 jam  0x00000084 , 0x0000007c 
+ 00023974  0x00005f23 rtn 
+ 00023975  0x00005f26 fetcht  0x00000001 , 0x00000555 
+ 00023976  0x00005f27 and  0x00000002 , 0x00000001 , 0x00000002 
+ 00023977  0x00005f28 storet  0x00000001 , 0x000004d0 
+ 00023978  0x00005f29 fetch  0x00000001 , 0x000041ce 
+ 00023979  0x00005f2a bne  0x00000051 , 0x00005dad 
+ 00023980  0x00005f2b jam  0x00000000 , 0x000041ce 
+ 00023981  0x00005f2d fetch  0x00000001 , 0x00000055 
+ 00023982  0x00005f2e rtnne  0x00000015 
+ 00023983  0x00005f2f jam  0x00000004 , 0x00000055 
+ 00023984  0x00005f30 branch  0x0000631b 
+ 00023985  0x00005f33 bpatchx  0x00000080 , 0x00004030 
+ 00023986  0x00005f34 fetch  0x00000001 , 0x00000552 
+ 00023987  0x00005f35 store  0x00000001 , 0x000004c9 
+ 00023988  0x00005f36 beq  0x00000033 , 0x00005dd8 
+ 00023989  0x00005f37 beq  0x00000008 , 0x00005de7 
+ 00023990  0x00005f38 beq  0x0000000f , 0x00005dee 
+ 00023991  0x00005f39 beq  0x00000010 , 0x00005df4 
+ 00023992  0x00005f3a beq  0x00000011 , 0x00005df5 
+ 00023993  0x00005f3b beq  0x00000012 , 0x00005dfd 
+ 00023994  0x00005f3c beq  0x00000018 , 0x00005e13 
+ 00023995  0x00005f3d beq  0x00000017 , 0x00005e16 
+ 00023996  0x00005f3e beq  0x00000013 , 0x00005dcf 
+ 00023997  0x00005f40 beq  0x0000003d , 0x00005f1e 
+ 00023998  0x00005f41 beq  0x0000003e , 0x00005f6a 
+ 00023999  0x00005f42 beq  0x00000040 , 0x00005f20 
+ 00024000  0x00005f43 beq  0x00000041 , 0x00005f3d 
+ 00024001  0x00005f44 rtn 
+ 00024002  0x00005f47 bpatchx  0x00000081 , 0x00004030 
+ 00024003  0x00005f48 fetch  0x00000001 , 0x00000552 
+ 00024004  0x00005f49 store  0x00000001 , 0x000004c9 
+ 00024005  0x00005f4a beq  0x00000001 , 0x00005e0a 
+ 00024006  0x00005f4b beq  0x00000033 , 0x00005de2 
+ 00024007  0x00005f4c beq  0x0000000b , 0x00005dfe 
+ 00024008  0x00005f4d beq  0x00000008 , 0x00005e01 
+ 00024009  0x00005f4e beq  0x00000013 , 0x00005dd2 
+ 00024010  0x00005f50 beq  0x00000040 , 0x00005e0b 
+ 00024011  0x00005f51 beq  0x00000041 , 0x00005e0e 
+ 00024012  0x00005f52 beq  0x00000018 , 0x00005e11 
+ 00024013  0x00005f53 beq  0x00000017 , 0x00005e22 
+ 00024014  0x00005f54 rtn 
+ 00024015  0x00005f57 jam  0x00000020 , 0x00000a99 
+ 00024016  0x00005f58 call  0x00007d86 
+ 00024017  0x00005f59 branch  0x000021dc 
+ 00024018  0x00005f5b jam  0x00000019 , 0x00000a99 
+ 00024019  0x00005f5c call  0x00007d86 
+ 00024020  0x00005f5d jam  0x00000002 , 0x0000455b 
+ 00024021  0x00005f5e setarg  0x00000050 
+ 00024022  0x00005f5f arg  0x00000006 , 0x00000007 
+ 00024023  0x00005f60 branch  0x00007f08 
+ 00024024  0x00005f66 fetch  0x00000001 , 0x000004d1 
+ 00024025  0x00005f67 set1  0x00000000 , 0x0000003f 
+ 00024026  0x00005f68 store  0x00000001 , 0x000004d1 
+ 00024027  0x00005f69 jam  0x00000001 , 0x00000a99 
+ 00024028  0x00005f6a call  0x00007d86 
+ 00024029  0x00005f6b jam  0x0000008b , 0x0000007c 
+ 00024030  0x00005f6f fetch  0x00000001 , 0x00000055 
+ 00024031  0x00005f70 bne  0x00000005 , 0x00005d07 
+ 00024032  0x00005f73 jam  0x00000006 , 0x00000055 
+ 00024033  0x00005f74 rtn 
+ 00024034  0x00005f7d jam  0x0000000b , 0x000004ca 
+ 00024035  0x00005f7e jam  0x00000007 , 0x0000007c 
+ 00024036  0x00005f80 jam  0x00000000 , 0x00000055 
+ 00024037  0x00005f82 branch  0x00005d07 , 0x00000001 
+ 00024038  0x00005f83 rtn 
+ 00024039  0x00005f86 fetch  0x00000001 , 0x000041bd 
+ 00024040  0x00005f87 nrtn  0x00000034 
+ 00024041  0x00005f88 call  0x0000244f 
+ 00024042  0x00005f89 call  0x00005ffc 
+ 00024043  0x00005f8a rtn  0x00000029 
+ 00024044  0x00005f8b set1  0x00000021 , 0x00000000 
+ 00024045  0x00005f8c rtn 
+ 00024046  0x00005f8f nrtn  0x00000029 
+ 00024047  0x00005f90 jam  0x00000010 , 0x0000007c 
+ 00024048  0x00005f91 fetch  0x00000001 , 0x0000004c 
+ 00024049  0x00005f92 rtnbit0  0x00000002 
+ 00024050  0x00005f93 jam  0x00000012 , 0x0000007c 
+ 00024051  0x00005f94 rtn 
+ 00024052  0x00005f97 branch  0x00005ffe 
+ 00024053  0x00005f9a call  0x00006059 
+ 00024054  0x00005f9b fetch  0x00000001 , 0x00000030 
+ 00024055  0x00005f9c rtnbit1  0x00000004 
+ 00024056  0x00005f9d jam  0x00000031 , 0x0000007c 
+ 00024057  0x00005f9e fetch  0x00000001 , 0x00000055 
+ 00024058  0x00005f9f rtnne  0x0000000a 
+ 00024059  0x00005fa0 jam  0x0000000b , 0x00000055 
+ 00024060  0x00005fa1 rtn 
+ 00024061  0x00005fab rtn 
+ 00024062  0x00005faf jam  0x00000007 , 0x0000007c 
+ 00024063  0x00005fb0 jam  0x00000013 , 0x000004ca 
+ 00024064  0x00005fb1 rtn 
+ 00024065  0x00005fb4 fetch  0x00000001 , 0x00000553 
+ 00024066  0x00005fb5 beq  0x00000006 , 0x00005e07 
+ 00024067  0x00005fb6 rtnne  0x00000018 
+ 00024068  0x00005fb7 jam  0x00000018 , 0x000004ca 
+ 00024069  0x00005fb8 jam  0x00000007 , 0x0000007c 
+ 00024070  0x00005fb9 rtn 
+ 00024071  0x00005fbb jam  0x00000006 , 0x000004ca 
+ 00024072  0x00005fbc jam  0x00000007 , 0x0000007c 
+ 00024073  0x00005fbd rtn 
+ 00024074  0x00005fc0 rtn 
+ 00024075  0x00005fc3 jam  0x00000000 , 0x000009ae 
+ 00024076  0x00005fc4 jam  0x00000007 , 0x0000007c 
+ 00024077  0x00005fc5 branch  0x00005d07 
+ 00024078  0x00005fc8 jam  0x00000000 , 0x000009ae 
+ 00024079  0x00005fc9 jam  0x00000007 , 0x0000007c 
+ 00024080  0x00005fca branch  0x00005d07 
+ 00024081  0x00005fcc jam  0x00000024 , 0x00000a99 
+ 00024082  0x00005fcd branch  0x00007d86 
+ 00024083  0x00005fd0 jam  0x00000023 , 0x00000a99 
+ 00024084  0x00005fd1 call  0x00007d86 
+ 00024085  0x00005fd2 branch  0x000026e9 
+ 00024086  0x00005fd5 jam  0x00000022 , 0x00000a99 
+ 00024087  0x00005fd6 call  0x00007d86 
+ 00024088  0x00005fd7 setarg  0x00000000 
+ 00024089  0x00005fd8 store  0x00000002 , 0x00000075 
+ 00024090  0x00005fd9 fetch  0x00000002 , 0x000041e3 
+ 00024091  0x00005fda lshift  0x0000003f , 0x0000003f 
+ 00024092  0x00005fdb store  0x00000002 , 0x00000032 
+ 00024093  0x00005fdc fetch  0x00000001 , 0x000041e5 
+ 00024094  0x00005fdd store  0x00000001 , 0x00000073 
+ 00024095  0x00005fde fetch  0x00000001 , 0x000041e7 
+ 00024096  0x00005fdf store  0x00000001 , 0x00000074 
+ 00024097  0x00005fe0 branch  0x000026c6 
+ 00024098  0x00005fe3 jam  0x00000021 , 0x00000a99 
+ 00024099  0x00005fe4 branch  0x00007d86 
+ 00024100  0x00005fe7 fetcht  0x00000001 , 0x00000552 
+ 00024101  0x00005fe8 storet  0x00000001 , 0x00000054 
+ 00024102  0x00005fe9 branch  0x00005e38 
+ 00024103  0x00005fec fetch  0x00000001 , 0x000004d1 
+ 00024104  0x00005fed set1  0x00000002 , 0x0000003f 
+ 00024105  0x00005fee store  0x00000001 , 0x000004d1 
+ 00024106  0x00005fef rtnbit1  0x00000003 
+ 00024107  0x00005ff0 jam  0x00000031 , 0x0000007c 
+ 00024108  0x00005ff1 branch  0x00005d07 
+ 00024109  0x00005ff6 rtn 
+ 00024110  0x00005ff9 fetch  0x00000001 , 0x000040d0 
+ 00024111  0x00005ffa fetcht  0x00000001 , 0x00000552 
+ 00024112  0x00005ffb isub  0x00000002 , 0x0000003e 
+ 00024113  0x00005ffd branch  0x00005e38 , 0x00000002 
+ 00024114  0x00005ffe jam  0x00000004 , 0x0000007c 
+ 00024115  0x00005fff jam  0x0000001f , 0x0000007e 
+ 00024116  0x00006000 jam  0x0000002e , 0x0000007d 
+ 00024117  0x00006001 rtn 
+ 00024118  0x00006004 call  0x00006157 
+ 00024119  0x00006005 branch  0x00005e38 
+ 00024120  0x00006008 jam  0x00000003 , 0x0000007c 
+ 00024121  0x00006009 rtn 
+ 00024122  0x0000600c jam  0x00000021 , 0x0000007c 
+ 00024123  0x0000600d rtn 
+ 00024124  0x00006010 jam  0x00000022 , 0x0000007c 
+ 00024125  0x00006011 rtn 
+ 00024126  0x00006014 fetch  0x00000001 , 0x00000055 
+ 00024127  0x00006015 rtneq  0x00000013 
+ 00024128  0x00006017 jam  0x00000002 , 0x00000055 
+ 00024129  0x00006019 rtn 
+ 00024130  0x0000601d rtn 
+ 00024131  0x00006020 call  0x00005ff9 
+ 00024132  0x00006021 jam  0x00000001 , 0x000004d4 
+ 00024133  0x00006022 jam  0x0000000a , 0x00000a99 
+ 00024134  0x00006023 call  0x00007d86 
+ 00024135  0x00006025 call  0x000062f3 
+ 00024136  0x00006026 nbranch  0x00006001 , 0x00000001 
+ 00024137  0x00006028 nbranch  0x00005e4e , 0x00000029 
+ 00024138  0x00006029 jam  0x00000004 , 0x0000007c 
+ 00024139  0x0000602a jam  0x00000008 , 0x0000007d 
+ 00024140  0x0000602b jam  0x00000023 , 0x0000007e 
+ 00024141  0x0000602c rtn 
+ 00024142  0x0000602e fetch  0x00000001 , 0x0000004b 
+ 00024143  0x0000602f set1  0x00000002 , 0x0000003f 
+ 00024144  0x00006030 store  0x00000001 , 0x0000004b 
+ 00024145  0x00006031 rtn 
+ 00024146  0x00006035 fetcht  0x00000001 , 0x0000004c 
+ 00024147  0x00006036 nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00024148  0x00006037 storet  0x00000001 , 0x0000004c 
+ 00024149  0x00006038 rtn 
+ 00024150  0x0000603c fetch  0x00000001 , 0x0000007f 
+ 00024151  0x0000603d rshift  0x0000003f , 0x0000003f 
+ 00024152  0x0000603e and_into  0x00000001 , 0x0000003f 
+ 00024153  0x0000603f rtn 
+ 00024154  0x00006042 fetch  0x00000001 , 0x00004217 
+ 00024155  0x00006043 rtn  0x00000034 
+ 00024156  0x00006044 fetch  0x00000001 , 0x000009b5 
+ 00024157  0x00006045 call  0x000067b2 , 0x00000034 
+ 00024158  0x00006046 rtn 
+ 00024159  0x00006049 call  0x00005e5a 
+ 00024160  0x0000604a call  0x00005e56 
+ 00024161  0x0000604b store  0x00000001 , 0x000004d5 
+ 00024162  0x0000604c call  0x00005ff9 
+ 00024163  0x0000604d jam  0x0000000c , 0x0000007c 
+ 00024164  0x0000604e fetch  0x00000001 , 0x000041bd 
+ 00024165  0x0000604f nrtn  0x00000034 
+ 00024166  0x00006050 fetch  0x00000001 , 0x00000030 
+ 00024167  0x00006051 rtnbit1  0x00000006 
+ 00024168  0x00006052 jam  0x00000006 , 0x0000007e 
+ 00024169  0x00006053 branch  0x00005d53 
+ 00024170  0x00006056 arg  0x00000040 , 0x00000011 
+ 00024171  0x00006057 call  0x00007288 
+ 00024172  0x00006058 fetch  0x00000004 , 0x00000552 
+ 00024173  0x00006059 fetcht  0x00000004 , 0x00000592 
+ 00024174  0x0000605a isub  0x00000002 , 0x0000003e 
+ 00024175  0x0000605b branch  0x00005e73 , 0x00000005 
+ 00024176  0x0000605c jam  0x00000007 , 0x0000007c 
+ 00024177  0x0000605d jam  0x00000005 , 0x000004ca 
+ 00024178  0x0000605e rtn 
+ 00024179  0x00006060 call  0x00005e77 
+ 00024180  0x00006061 fetch  0x00000001 , 0x0000465a 
+ 00024181  0x00006062 branch  0x00005f3e , 0x00000034 
+ 00024182  0x00006063 rtn 
+ 00024183  0x00006067 call  0x00007386 
+ 00024184  0x00006068 call  0x000021b2 
+ 00024185  0x00006069 fetch  0x00000001 , 0x0000004b 
+ 00024186  0x0000606a isolate1  0x00000001 , 0x0000003f 
+ 00024187  0x0000606b set0  0x00000001 , 0x0000003f 
+ 00024188  0x0000606c store  0x00000001 , 0x0000004b 
+ 00024189  0x0000606d fetch  0x00000001 , 0x00000055 
+ 00024190  0x0000606e beq  0x00000019 , 0x00005e81 
+ 00024191  0x0000606f beq  0x00000018 , 0x00005e81 
+ 00024192  0x00006070 rtn 
+ 00024193  0x00006072 fetch  0x00000001 , 0x000009b5 
+ 00024194  0x00006073 rtnne  0x00000000 
+ 00024195  0x00006074 fetch  0x00000001 , 0x0000004c 
+ 00024196  0x00006075 rtnbit1  0x00000002 
+ 00024197  0x00006076 branch  0x000063b1 
+ 00024198  0x00006079 arg  0x00000552 , 0x00000011 
+ 00024199  0x0000607a arg  0x00000582 , 0x00000012 
+ 00024200  0x0000607b arg  0x00000562 , 0x00000005 
+ 00024201  0x0000607c call  0x00007352 
+ 00024202  0x0000607d arg  0x00000040 , 0x00000011 
+ 00024203  0x0000607e call  0x00006311 
+ 00024204  0x0000607f jam  0x0000000b , 0x0000007c 
+ 00024205  0x00006080 fetch  0x00000001 , 0x00000030 
+ 00024206  0x00006081 bbit0  0x00000006 , 0x00005ffc 
+ 00024207  0x00006082 rtn 
+ 00024208  0x00006085 fetch  0x00000002 , 0x0000015f 
+ 00024209  0x00006086 add  0x0000003f , 0xfffffffd , 0x00000039 
+ 00024210  0x00006087 fetcht  0x00000001 , 0x00000552 
+ 00024211  0x00006088 setarg  0x00000101 
+ 00024212  0x00006089 iadd  0x00000002 , 0x00000005 
+ 00024213  0x0000608a arg  0x00000554 , 0x00000006 
+ 00024214  0x0000608b call  0x00007f01 
+ 00024215  0x0000608c fetcht  0x00000001 , 0x00000053 
+ 00024216  0x0000608d fetch  0x00000001 , 0x00000553 
+ 00024217  0x0000608e isub  0x00000002 , 0x0000003f 
+ 00024218  0x0000608f sub  0x0000003f , 0x0000000e , 0x0000003e 
+ 00024219  0x00006090 branch  0x00005ea0 , 0x00000002 
+ 00024220  0x00006091 add  0x00000002 , 0x0000000e , 0x0000003f 
+ 00024221  0x00006092 store  0x00000001 , 0x00000053 
+ 00024222  0x00006093 jam  0x00000001 , 0x0000007c 
+ 00024223  0x00006094 rtn 
+ 00024224  0x00006096 fetch  0x00000001 , 0x0000004c 
+ 00024225  0x00006097 set1  0x00000003 , 0x0000003f 
+ 00024226  0x00006098 store  0x00000001 , 0x0000004c 
+ 00024227  0x00006099 bbit1  0x00000004 , 0x00006006 
+ 00024228  0x0000609a rtn 
+ 00024229  0x0000609c fetch  0x00000001 , 0x00000552 
+ 00024230  0x0000609d store  0x00000001 , 0x0000007d 
+ 00024231  0x0000609e jam  0x00000002 , 0x0000007c 
+ 00024232  0x0000609f rtn 
+ 00024233  0x000060a2 branch  0x00005e38 
+ 00024234  0x000060a5 jam  0x00000030 , 0x0000007c 
+ 00024235  0x000060a6 rtn 
+ 00024236  0x000060a9 jam  0x00000028 , 0x0000007c 
+ 00024237  0x000060aa rtn 
+ 00024238  0x000060ad jam  0x00000026 , 0x0000007c 
+ 00024239  0x000060ae rtn 
+ 00024240  0x000060b3 rtn 
+ 00024241  0x000060b8 fetch  0x00000002 , 0x00000032 
+ 00024242  0x000060b9 iforce  0x00000002 
+ 00024243  0x000060ba fetch  0x00000001 , 0x00000553 
+ 00024244  0x000060bb store  0x00000001 , 0x00000095 
+ 00024245  0x000060bc imul32  0x00000002 , 0x00000002 
+ 00024246  0x000060bd fetch  0x00000002 , 0x00000554 
+ 00024247  0x000060be lshift  0x0000003f , 0x0000003f 
+ 00024248  0x000060bf store  0x00000002 , 0x00000096 
+ 00024249  0x000060c0 fetch  0x00000004 , 0x00000556 
+ 00024250  0x000060c1 lshift  0x0000003f , 0x0000003f 
+ 00024251  0x000060c2 store  0x00000004 , 0x00000091 
+ 00024252  0x000060c4 deposit  0x00000002 
+ 00024253  0x000060c5 store  0x00000002 , 0x00000098 
+ 00024254  0x000060c6 rtn 
+ 00024255  0x000060c8 fetcht  0x00000001 , 0x0000415a 
+ 00024256  0x000060c9 fetch  0x00000001 , 0x00000553 
+ 00024257  0x000060ca ixor  0x00000002 , 0x0000003e 
+ 00024258  0x000060cb nbranch  0x00005d77 , 0x00000005 
+ 00024259  0x000060cc isolate1  0x00000000 , 0x0000003f 
+ 00024260  0x000060cd fetch  0x00000001 , 0x0000004c 
+ 00024261  0x000060ce setflag  0x00000001 , 0x00000005 , 0x0000003f 
+ 00024262  0x000060cf store  0x00000001 , 0x0000004c 
+ 00024263  0x000060d0 jam  0x00000081 , 0x0000007c 
+ 00024264  0x000060d1 jam  0x0000008b , 0x0000007d 
+ 00024265  0x000060d2 rtn 
+ 00024266  0x000060d9 rtn 
+ 00024267  0x000060dc branch  0x00005e38 
+ 00024268  0x000060e0 branch  0x00005e38 
+ 00024269  0x000060e5 fetch  0x00000002 , 0x00000552 
+ 00024270  0x000060e6 store  0x00000002 , 0x00000171 
+ 00024271  0x000060e7 rtn 
+ 00024272  0x000060ea fetch  0x00000002 , 0x00000555 
+ 00024273  0x000060eb fetcht  0x00000001 , 0x00004172 
+ 00024274  0x000060ec imul32  0x00000002 , 0x0000003f 
+ 00024275  0x000060ed arg  0x00000640 , 0x00000002 
+ 00024276  0x000060ee isub  0x00000002 , 0x0000003e 
+ 00024277  0x000060f0 rtn 
+ 00024278  0x000060f3 fetch  0x00000002 , 0x00000557 
+ 00024279  0x000060f4 branch  0x00005ef0 , 0x00000034 
+ 00024280  0x000060f5 call  0x00005ed0 
+ 00024281  0x000060f6 branch  0x00005ef0 , 0x00000002 
+ 00024282  0x000060f7 fetch  0x00000001 , 0x00004092 
+ 00024283  0x000060f8 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00024284  0x000060f9 call  0x00003cd5 , 0x00000005 
+ 00024285  0x000060fa fetch  0x00000001 , 0x00000030 
+ 00024286  0x000060fb bbit1  0x00000001 , 0x00005ef0 
+ 00024287  0x000060fc fetch  0x00000002 , 0x00000553 
+ 00024288  0x000060fd lshift  0x0000003f , 0x0000003f 
+ 00024289  0x000060fe store  0x00000002 , 0x00000075 
+ 00024290  0x000060ff fetch  0x00000002 , 0x00000555 
+ 00024291  0x00006100 lshift  0x0000003f , 0x0000003f 
+ 00024292  0x00006101 store  0x00000002 , 0x00000032 
+ 00024293  0x00006102 fetch  0x00000002 , 0x00000557 
+ 00024294  0x00006103 store  0x00000001 , 0x00000073 
+ 00024295  0x00006104 iforce  0x00000002 
+ 00024296  0x00006105 fetch  0x00000002 , 0x00000559 
+ 00024297  0x00006106 store  0x00000001 , 0x00000074 
+ 00024298  0x00006107 isub  0x00000002 , 0x0000003e 
+ 00024299  0x00006108 nbranch  0x00005eed , 0x00000002 
+ 00024300  0x00006109 store  0x00000001 , 0x00000073 
+ 00024301  0x0000610c jam  0x00000003 , 0x0000007c 
+ 00024302  0x0000610d jam  0x00000017 , 0x0000007d 
+ 00024303  0x0000610e rtn 
+ 00024304  0x00006111 jam  0x00000024 , 0x0000007e 
+ 00024305  0x00006112 branch  0x00005d53 
+ 00024306  0x00006115 call  0x00005e38 
+ 00024307  0x00006116 call  0x00005ff9 
+ 00024308  0x00006117 call  0x0000728b 
+ 00024309  0x00006118 branch  0x000026b8 
+ 00024310  0x0000611b call  0x00005e38 
+ 00024311  0x0000611c branch  0x000026c0 
+ 00024312  0x00006120 fetch  0x00000004 , 0x00000552 
+ 00024313  0x00006121 lshift  0x0000003f , 0x0000003f 
+ 00024314  0x00006123 branch  0x00005f04 , 0x00000029 
+ 00024315  0x00006124 fetcht  0x00000001 , 0x000041bd 
+ 00024316  0x00006125 nbranch  0x00005f01 , 0x00000034 
+ 00024317  0x00006127 jam  0x00000004 , 0x0000007c 
+ 00024318  0x00006128 jam  0x00000013 , 0x0000007d 
+ 00024319  0x00006129 jam  0x00000024 , 0x0000007e 
+ 00024320  0x0000612a rtn 
+ 00024321  0x0000612c jam  0x00000034 , 0x0000007c 
+ 00024322  0x0000612d jam  0x00000000 , 0x00000055 
+ 00024323  0x0000612e branch  0x000021d9 
+ 00024324  0x00006131 call  0x000021d9 
+ 00024325  0x00006132 set1  0x00000022 , 0x00000000 
+ 00024326  0x00006133 fetch  0x00000001 , 0x0000016d 
+ 00024327  0x00006134 set0  0x00000002 , 0x0000003f 
+ 00024328  0x00006135 store  0x00000001 , 0x0000016d 
+ 00024329  0x00006136 branch  0x00005e38 
+ 00024330  0x0000613f rtn 
+ 00024331  0x00006143 jam  0x00000003 , 0x0000007c 
+ 00024332  0x00006144 jam  0x00000018 , 0x0000007d 
+ 00024333  0x00006145 jam  0x0000002e , 0x00000a99 
+ 00024334  0x00006146 call  0x00007d86 
+ 00024335  0x00006147 branch  0x000026e9 
+ 00024336  0x0000614a fetch  0x00000001 , 0x00000552 
+ 00024337  0x0000614b bne  0x00000001 , 0x00005f1c 
+ 00024338  0x0000614c fetch  0x00000001 , 0x00000553 
+ 00024339  0x0000614d bne  0x00000001 , 0x00005f1c 
+ 00024340  0x0000614e fetch  0x00000001 , 0x00000554 
+ 00024341  0x0000614f bne  0x00000030 , 0x00005f1c 
+ 00024342  0x00006150 call  0x000062fc 
+ 00024343  0x00006151 branch  0x00005f19 , 0x00000001 
+ 00024344  0x00006152 jam  0x00000001 , 0x000009ae 
+ 00024345  0x00006154 jam  0x00000003 , 0x0000007c 
+ 00024346  0x00006155 jam  0x0000003d , 0x0000007d 
+ 00024347  0x00006156 branch  0x00005d07 
+ 00024348  0x00006159 jam  0x00000024 , 0x0000007e 
+ 00024349  0x0000615a branch  0x00005d53 
+ 00024350  0x0000615f jam  0x0000003e , 0x0000007c 
+ 00024351  0x00006161 rtn 
+ 00024352  0x00006163 fetch  0x00000001 , 0x00004662 
+ 00024353  0x00006164 beq  0x00000001 , 0x00005f27 
+ 00024354  0x00006165 beq  0x00000002 , 0x00005f2b 
+ 00024355  0x00006167 call  0x000062fc 
+ 00024356  0x00006168 rtn  0x00000001 
+ 00024357  0x00006169 jam  0x00000008 , 0x000009ae 
+ 00024358  0x0000616a rtn 
+ 00024359  0x0000616d call  0x00007962 
+ 00024360  0x0000616e jam  0x00000035 , 0x00000a99 
+ 00024361  0x0000616f call  0x00007d86 
+ 00024362  0x00006170 branch  0x00005f23 
+ 00024363  0x00006174 call  0x000062fc 
+ 00024364  0x00006175 rtn  0x00000001 
+ 00024365  0x00006176 fetch  0x00000001 , 0x00004663 
+ 00024366  0x00006177 beq  0x00000013 , 0x00005f3b 
+ 00024367  0x00006178 increase  0x00000001 , 0x0000003f 
+ 00024368  0x00006179 store  0x00000001 , 0x00004663 
+ 00024369  0x0000617d jam  0x00000001 , 0x000009b0 
+ 00024370  0x0000617e jam  0x00000004 , 0x000009ae 
+ 00024371  0x0000617f fetch  0x00000001 , 0x00004663 
+ 00024372  0x00006180 copy  0x0000003f , 0x00000007 
+ 00024373  0x00006181 fetch  0x00000006 , 0x0000468a 
+ 00024374  0x00006182 qisolate1  0x0000003f 
+ 00024375  0x00006183 setarg  0x00000080 
+ 00024376  0x00006184 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024377  0x00006185 store  0x00000001 , 0x00004664 
+ 00024378  0x00006186 rtn 
+ 00024379  0x00006189 jam  0x00000008 , 0x000009ae 
+ 00024380  0x0000618a rtn 
+ 00024381  0x0000618d call  0x00005f43 
+ 00024382  0x0000618f fetch  0x00000001 , 0x00004665 
+ 00024383  0x00006190 rtn  0x00000034 
+ 00024384  0x00006191 jam  0x00000000 , 0x00004665 
+ 00024385  0x00006192 jam  0x00000038 , 0x00000a99 
+ 00024386  0x00006193 branch  0x00007d86 
+ 00024387  0x00006198 call  0x000062fc 
+ 00024388  0x00006199 ncall  0x00007965 , 0x00000001 
+ 00024389  0x0000619a call  0x00007975 , 0x00000001 
+ 00024390  0x0000619b call  0x000062fc 
+ 00024391  0x0000619c rtn  0x00000001 
+ 00024392  0x0000619d jam  0x0000000c , 0x000009ae 
+ 00024393  0x0000619e jam  0x00000001 , 0x000009b0 
+ 00024394  0x0000619f rtn 
+ 00024395  0x000061a2 arg  0x00000a6e , 0x00000005 
+ 00024396  0x000061a3 arg  0x00000552 , 0x00000006 
+ 00024397  0x000061a4 call  0x00007ebf 
+ 00024398  0x000061a5 fetch  0x00000001 , 0x00004662 
+ 00024399  0x000061a6 rtneq  0x00000002 
+ 00024400  0x000061a7 branch  0x000076d8 
+ 00024401  0x000061aa fetch  0x00000001 , 0x000009af 
+ 00024402  0x000061ab beq  0x00000007 , 0x00005f55 
+ 00024403  0x000061ac fetch  0x00000001 , 0x000009ae 
+ 00024404  0x000061ad bne  0x00000001 , 0x00005f68 
+ 00024405  0x000061af fetch  0x00000001 , 0x000009b7 
+ 00024406  0x000061b0 sub  0x0000003f , 0x00000020 , 0x00000005 
+ 00024407  0x000061b1 nbranch  0x00005f68 , 0x00000002 
+ 00024408  0x000061b2 arg  0x000009c6 , 0x00000005 
+ 00024409  0x000061b3 iadd  0x00000005 , 0x00000005 
+ 00024410  0x000061b4 fetch  0x00000008 , 0x00000552 
+ 00024411  0x000061b5 istore  0x00000008 , 0x00000005 
+ 00024412  0x000061b6 fetch  0x00000008 , 0x0000055a 
+ 00024413  0x000061b7 istore  0x00000008 , 0x00000005 
+ 00024414  0x000061b8 fetch  0x00000001 , 0x000009b7 
+ 00024415  0x000061b9 increase  0x00000010 , 0x0000003f 
+ 00024416  0x000061ba store  0x00000001 , 0x000009b7 
+ 00024417  0x000061bb bne  0x00000030 , 0x00005e38 
+ 00024418  0x000061bd call  0x000062fc 
+ 00024419  0x000061be branch  0x00005e38 , 0x00000001 
+ 00024420  0x000061bf jam  0x00000001 , 0x000009b8 
+ 00024421  0x000061c0 jam  0x00000002 , 0x000009ae 
+ 00024422  0x000061c1 jam  0x00000001 , 0x000009b0 
+ 00024423  0x000061c2 branch  0x00005e38 
+ 00024424  0x000061c4 jam  0x00000024 , 0x0000007e 
+ 00024425  0x000061c5 branch  0x00005d53 
+ 00024426  0x000061c7 fetch  0x00000001 , 0x000009b6 
+ 00024427  0x000061c8 beq  0x00000030 , 0x00005f6e 
+ 00024428  0x000061c9 jam  0x0000003e , 0x0000007c 
+ 00024429  0x000061ca branch  0x00005d07 
+ 00024430  0x000061cd call  0x000062fc 
+ 00024431  0x000061ce branch  0x00005f77 , 0x00000001 
+ 00024432  0x000061cf fetch  0x00000001 , 0x00004662 
+ 00024433  0x000061d0 beq  0x00000002 , 0x00005f75 
+ 00024434  0x000061d1 jam  0x00000001 , 0x000009b0 
+ 00024435  0x000061d2 jam  0x00000004 , 0x000009ae 
+ 00024436  0x000061d3 branch  0x00005d07 
+ 00024437  0x000061d6 jam  0x00000036 , 0x00000a99 
+ 00024438  0x000061d7 branch  0x00007d86 
+ 00024439  0x000061dc branch  0x00005d07 
+ 00024440  0x000061df fetch  0x00000001 , 0x000009af 
+ 00024441  0x000061e0 beq  0x00000007 , 0x00005f7c 
+ 00024442  0x000061e1 fetch  0x00000001 , 0x000009ae 
+ 00024443  0x000061e2 bne  0x00000006 , 0x00005f88 
+ 00024444  0x000061e4 arg  0x00000a2e , 0x00000005 
+ 00024445  0x000061e5 fetch  0x00000008 , 0x00000552 
+ 00024446  0x000061e6 istore  0x00000008 , 0x00000005 
+ 00024447  0x000061e7 fetch  0x00000008 , 0x0000055a 
+ 00024448  0x000061e8 istore  0x00000008 , 0x00000005 
+ 00024449  0x000061e9 call  0x000062fc 
+ 00024450  0x000061ea branch  0x00005f86 , 0x00000001 
+ 00024451  0x000061eb jam  0x00000007 , 0x000009ae 
+ 00024452  0x000061ec jam  0x00000001 , 0x000009b0 
+ 00024453  0x000061ed branch  0x00005e38 
+ 00024454  0x000061ef jam  0x00000004 , 0x000009af 
+ 00024455  0x000061f0 branch  0x000076d8 
+ 00024456  0x000061f4 jam  0x00000024 , 0x0000007e 
+ 00024457  0x000061f5 branch  0x00005d53 
+ 00024458  0x000061f8 fetch  0x00000001 , 0x000009af 
+ 00024459  0x000061f9 beq  0x0000000b , 0x00005f8e 
+ 00024460  0x000061fa fetch  0x00000001 , 0x000009ae 
+ 00024461  0x000061fb bne  0x00000008 , 0x00005f9d 
+ 00024462  0x000061fd arg  0x00000a5e , 0x00000005 
+ 00024463  0x000061fe arg  0x00000552 , 0x00000006 
+ 00024464  0x000061ff call  0x00007ebf 
+ 00024465  0x00006200 call  0x000062fc 
+ 00024466  0x00006201 branch  0x00005f9a , 0x00000001 
+ 00024467  0x00006202 fetch  0x00000001 , 0x00004662 
+ 00024468  0x00006203 beq  0x00000001 , 0x00005f9f 
+ 00024469  0x00006205 jam  0x00000000 , 0x00004661 
+ 00024470  0x00006206 jam  0x00000009 , 0x000009ae 
+ 00024471  0x00006207 jam  0x00000001 , 0x000009b0 
+ 00024472  0x00006208 jam  0x00000041 , 0x0000007d 
+ 00024473  0x00006209 branch  0x00005d07 
+ 00024474  0x0000620c jam  0x00000009 , 0x000009af 
+ 00024475  0x0000620d jam  0x00000001 , 0x000009b1 
+ 00024476  0x0000620e branch  0x00005d07 
+ 00024477  0x00006210 jam  0x00000024 , 0x0000007e 
+ 00024478  0x00006211 branch  0x00005d53 
+ 00024479  0x00006214 fetch  0x00000001 , 0x00004661 
+ 00024480  0x00006215 bbit1  0x00000007 , 0x00005fa4 
+ 00024481  0x00006216 set1  0x00000006 , 0x0000003f 
+ 00024482  0x00006217 store  0x00000001 , 0x00004661 
+ 00024483  0x00006218 rtn 
+ 00024484  0x0000621b bbit1  0x00000000 , 0x00005f95 
+ 00024485  0x0000621c jam  0x00000000 , 0x00004661 
+ 00024486  0x0000621d branch  0x00005f9d 
+ 00024487  0x00006221 branch  0x00005d07 
+ 00024488  0x00006224 fetch  0x00000001 , 0x0000016d 
+ 00024489  0x00006225 set0  0x00000001 
+ 00024490  0x00006226 store  0x00000001 , 0x0000016d 
+ 00024491  0x00006227 call  0x00005e38 
+ 00024492  0x00006228 nrtn  0x00000029 
+ 00024493  0x00006229 fetch  0x00000001 , 0x00000552 
+ 00024494  0x0000622a fetcht  0x00000001 , 0x0000004b 
+ 00024495  0x0000622b setflag  0x00000034 , 0x00000004 , 0x00000002 
+ 00024496  0x0000622c nsetflag  0x00000034 , 0x00000005 , 0x00000002 
+ 00024497  0x0000622d storet  0x00000001 , 0x0000004b 
+ 00024498  0x0000622e rtn 
+ 00024499  0x00006231 fetcht  0x00000008 , 0x00000552 
+ 00024500  0x00006233 fetch  0x00000001 , 0x00000055 
+ 00024501  0x00006234 rtnne  0x00000003 
+ 00024502  0x00006236 fetch  0x00000001 , 0x0000016d 
+ 00024503  0x00006237 bbit0  0x00000004 , 0x00005fba 
+ 00024504  0x00006239 jam  0x00000014 , 0x00000055 
+ 00024505  0x0000623a rtn 
+ 00024506  0x0000623c jam  0x00000004 , 0x00000055 
+ 00024507  0x0000623d rtn 
+ 00024508  0x0000623f fetch  0x00000001 , 0x0000017f 
+ 00024509  0x00006240 store  0x00000001 , 0x0000015b 
+ 00024510  0x00006241 jam  0x00000003 , 0x0000007c 
+ 00024511  0x00006242 jam  0x00000038 , 0x0000007d 
+ 00024512  0x00006243 rtn 
+ 00024513  0x00006247 jam  0x00000003 , 0x0000007c 
+ 00024514  0x00006248 jam  0x00000039 , 0x0000007d 
+ 00024515  0x00006249 force  0x00000009 , 0x00000039 
+ 00024516  0x0000624a arg  0x00000552 , 0x00000006 
+ 00024517  0x0000624b arg  0x00000152 , 0x00000005 
+ 00024518  0x0000624d ifetch  0x00000001 , 0x00000006 
+ 00024519  0x0000624e xor_into  0x00000055 , 0x0000003f 
+ 00024520  0x0000624f istore  0x00000001 , 0x00000005 
+ 00024521  0x00006250 loop  0x00005fc6 
+ 00024522  0x00006251 fetch  0x00000001 , 0x00000152 
+ 00024523  0x00006252 fetcht  0x00000001 , 0x00000151 
+ 00024524  0x00006253 set0  0x00000007 , 0x00000002 
+ 00024525  0x00006254 set0  0x00000004 , 0x00000002 
+ 00024526  0x00006255 beq  0x000000ff , 0x00005fda 
+ 00024527  0x00006256 beq  0x00000000 , 0x00005ff3 
+ 00024528  0x00006257 beq  0x00000005 , 0x00005fe7 
+ 00024529  0x00006258 beq  0x00000007 , 0x00005fe6 
+ 00024530  0x00006259 beq  0x00000006 , 0x00005fe7 
+ 00024531  0x0000625a beq  0x00000008 , 0x00005fe6 
+ 00024532  0x0000625b beq  0x00000001 , 0x00005fdf 
+ 00024533  0x0000625c beq  0x00000002 , 0x00005fdf 
+ 00024534  0x0000625d beq  0x00000003 , 0x00005fdf 
+ 00024535  0x0000625e beq  0x00000009 , 0x00005fdf 
+ 00024536  0x0000625f beq  0x00000004 , 0x00005fdf 
+ 00024537  0x00006260 rtn 
+ 00024538  0x00006263 fetch  0x00000001 , 0x00000151 
+ 00024539  0x00006264 set1  0x00000003 , 0x0000003f 
+ 00024540  0x00006265 set1  0x00000002 , 0x0000003f 
+ 00024541  0x00006266 store  0x00000001 , 0x00000151 
+ 00024542  0x00006267 rtn 
+ 00024543  0x00006269 set1  0x00000004 , 0x00000002 
+ 00024544  0x0000626a jam  0x00000005 , 0x00000180 
+ 00024545  0x0000626b fetch  0x00000002 , 0x00000159 
+ 00024546  0x0000626c iforce  0x00000039 
+ 00024547  0x0000626d store  0x00000002 , 0x0000015f 
+ 00024548  0x0000626e arg  0x00000551 , 0x00000005 
+ 00024549  0x0000626f call  0x00007f73 
+ 00024550  0x00006271 set1  0x00000007 , 0x00000002 
+ 00024551  0x00006273 set1  0x00000002 , 0x00000002 
+ 00024552  0x00006274 force  0x00000000 , 0x0000003f 
+ 00024553  0x00006275 store  0x00000001 , 0x0000000b 
+ 00024554  0x00006276 store  0x00000002 , 0x000000fa 
+ 00024555  0x00006277 store  0x00000002 , 0x000000fc 
+ 00024556  0x00006278 store  0x00000002 , 0x000000f8 
+ 00024557  0x00006279 store  0x00000002 , 0x000000f6 
+ 00024558  0x0000627a fetch  0x00000001 , 0x00000153 
+ 00024559  0x0000627b compare  0x00000000 , 0x0000003f , 0x000000ff 
+ 00024560  0x0000627c setflag  0x00000001 , 0x00000006 , 0x00000002 
+ 00024561  0x0000627d storet  0x00000001 , 0x00000151 
+ 00024562  0x0000627e rtn 
+ 00024563  0x00006281 set0  0x00000011 , 0x00000000 
+ 00024564  0x00006282 jam  0x00000000 , 0x00000151 
+ 00024565  0x00006283 fetch  0x00000001 , 0x0000017f 
+ 00024566  0x00006284 set0  0x00000006 , 0x0000003f 
+ 00024567  0x00006285 store  0x00000001 , 0x0000017f 
+ 00024568  0x00006286 rtn 
+ 00024569  0x0000628d arg  0x00000552 , 0x00000006 
+ 00024570  0x0000628e arg  0x00000562 , 0x00000005 
+ 00024571  0x0000628f branch  0x00007ebf 
+ 00024572  0x00006292 jam  0x00000009 , 0x0000007c 
+ 00024573  0x00006293 rtn 
+ 00024574  0x00006296 nrtn  0x00000029 
+ 00024575  0x00006297 jam  0x00000011 , 0x0000007c 
+ 00024576  0x00006298 rtn 
+ 00024577  0x0000629b arg  0x000040a0 , 0x00000011 
+ 00024578  0x0000629c call  0x00007255 
+ 00024579  0x0000629d jam  0x00000003 , 0x0000007c 
+ 00024580  0x0000629e jam  0x00000008 , 0x0000007d 
+ 00024581  0x0000629f rtn 
+ 00024582  0x000062a2 jam  0x0000000a , 0x00000072 
+ 00024583  0x000062a3 jam  0x00000007 , 0x0000007c 
+ 00024584  0x000062a4 jam  0x00000016 , 0x000004ca 
+ 00024585  0x000062a5 rtn 
+ 00024586  0x000062ac bpatchx  0x00000082 , 0x00004030 
+ 00024587  0x000062ad disable  0x00000028 
+ 00024588  0x000062ae call  0x000062c1 
+ 00024589  0x000062af fetch  0x00000001 , 0x00000048 
+ 00024590  0x000062b0 rtn  0x00000034 
+ 00024591  0x000062b5 bbit1  0x00000007 , 0x0000603f 
+ 00024592  0x000062b7 beq  0x00000001 , 0x0000616f 
+ 00024593  0x000062b8 beq  0x00000002 , 0x000060e4 
+ 00024594  0x000062b9 beq  0x00000003 , 0x0000604a 
+ 00024595  0x000062ba beq  0x00000004 , 0x00006060 
+ 00024596  0x000062bb beq  0x00000027 , 0x000061db 
+ 00024597  0x000062bc beq  0x00000028 , 0x00006108 
+ 00024598  0x000062bd beq  0x00000030 , 0x000060f4 
+ 00024599  0x000062be beq  0x00000025 , 0x000061d6 
+ 00024600  0x000062bf beq  0x00000026 , 0x00006103 
+ 00024601  0x000062c0 beq  0x00000031 , 0x000061c3 
+ 00024602  0x000062c1 beq  0x00000037 , 0x0000616a 
+ 00024603  0x000062c2 beq  0x00000033 , 0x0000615c 
+ 00024604  0x000062c3 beq  0x00000008 , 0x00006259 
+ 00024605  0x000062c4 beq  0x00000009 , 0x0000624f 
+ 00024606  0x000062c5 beq  0x0000000b , 0x00006264 
+ 00024607  0x000062c6 beq  0x0000000c , 0x0000626d 
+ 00024608  0x000062c7 beq  0x0000000f , 0x00006162 
+ 00024609  0x000062c8 beq  0x00000010 , 0x00006292 
+ 00024610  0x000062c9 beq  0x00000011 , 0x00006288 
+ 00024611  0x000062ca beq  0x00000007 , 0x00006152 
+ 00024612  0x000062cb beq  0x0000002a , 0x0000617e 
+ 00024613  0x000062cc beq  0x0000000a , 0x0000617f 
+ 00024614  0x000062ce beq  0x0000001f , 0x000061bc 
+ 00024615  0x000062cf beq  0x00000006 , 0x000060f9 
+ 00024616  0x000062d0 beq  0x00000021 , 0x0000615f 
+ 00024617  0x000062d1 beq  0x0000002d , 0x000061b2 
+ 00024618  0x000062d2 beq  0x0000002e , 0x000061b7 
+ 00024619  0x000062d3 beq  0x00000022 , 0x0000615f 
+ 00024620  0x000062d4 beq  0x00000034 , 0x00006180 
+ 00024621  0x000062d5 beq  0x00000013 , 0x00006195 
+ 00024622  0x000062d6 beq  0x00000017 , 0x000061a4 
+ 00024623  0x000062d7 beq  0x00000012 , 0x0000628f 
+ 00024624  0x000062d8 beq  0x0000002f , 0x000061aa 
+ 00024625  0x000062d9 beq  0x00000018 , 0x000061af 
+ 00024626  0x000062da beq  0x0000003d , 0x000061ff 
+ 00024627  0x000062db beq  0x0000003e , 0x0000620b 
+ 00024628  0x000062dc beq  0x0000003f , 0x0000621d 
+ 00024629  0x000062dd beq  0x00000040 , 0x00006227 
+ 00024630  0x000062de beq  0x00000041 , 0x0000623c 
+ 00024631  0x000062df beq  0x00000023 , 0x0000624b 
+ 00024632  0x000062e0 beq  0x0000003b , 0x00006246 
+ 00024633  0x000062e2 beq  0x00000005 , 0x0000624c 
+ 00024634  0x000062e3 beq  0x00000029 , 0x0000624d 
+ 00024635  0x000062e4 beq  0x00000038 , 0x0000624e 
+ 00024636  0x000062e5 beq  0x00000039 , 0x00006175 
+ 00024637  0x000062e7 branch  0x00002a8c 
+ 00024638  0x000062e8 rtn 
+ 00024639  0x000062ea beq  0x00000081 , 0x0000606d 
+ 00024640  0x000062eb beq  0x00000084 , 0x00006099 
+ 00024641  0x000062ec beq  0x00000082 , 0x00006076 
+ 00024642  0x000062ed beq  0x00000083 , 0x0000610d 
+ 00024643  0x000062ee beq  0x0000008b , 0x00006118 
+ 00024644  0x000062ef beq  0x00000097 , 0x0000614e 
+ 00024645  0x000062f0 beq  0x00000099 , 0x000060d5 
+ 00024646  0x000062f1 beq  0x0000009a , 0x000060a4 
+ 00024647  0x000062f2 beq  0x00000095 , 0x000060da 
+ 00024648  0x000062f3 beq  0x00000096 , 0x000060db 
+ 00024649  0x000062f4 branch  0x00002a8c 
+ 00024650  0x000062fb force  0x00000002 , 0x0000003f 
+ 00024651  0x000062fc call  0x00006298 
+ 00024652  0x000062fd fetch  0x00000001 , 0x00000049 
+ 00024653  0x000062fe istore  0x00000001 , 0x00000005 
+ 00024654  0x000062ff call  0x000062a7 
+ 00024655  0x00006300 bpatchx  0x00000083 , 0x00004030 
+ 00024656  0x00006301 fetch  0x00000001 , 0x00000049 
+ 00024657  0x00006302 beq  0x00000008 , 0x00006080 
+ 00024658  0x00006303 beq  0x0000000f , 0x00006084 
+ 00024659  0x00006304 beq  0x00000010 , 0x0000608f 
+ 00024660  0x00006305 beq  0x00000017 , 0x0000605f 
+ 00024661  0x00006306 beq  0x00000033 , 0x00006092 
+ 00024662  0x00006307 beq  0x00000041 , 0x00006098 
+ 00024663  0x00006308 beq  0x00000011 , 0x00006059 
+ 00024664  0x00006309 rtn 
+ 00024665  0x0000630c fetch  0x00000001 , 0x00000055 
+ 00024666  0x0000630d rtn  0x00000034 
+ 00024667  0x0000630e jam  0x0000001b , 0x00000055 
+ 00024668  0x0000630f setarg  0x0000000c 
+ 00024669  0x00006310 arg  0x00000007 , 0x00000007 
+ 00024670  0x00006311 branch  0x00007f08 
+ 00024671  0x00006314 branch  0x000026c6 
+ 00024672  0x00006316 force  0x00000003 , 0x0000003f 
+ 00024673  0x00006317 call  0x00006298 
+ 00024674  0x00006318 fetch  0x00000001 , 0x00000049 
+ 00024675  0x00006319 beq  0x0000000b , 0x00006068 
+ 00024676  0x0000631a istore  0x00000001 , 0x00000005 
+ 00024677  0x0000631b fetch  0x00000001 , 0x0000004a 
+ 00024678  0x0000631c istore  0x00000001 , 0x00000005 
+ 00024679  0x0000631d branch  0x000062a7 
+ 00024680  0x00006320 istore  0x00000001 , 0x00000005 
+ 00024681  0x00006321 fetch  0x00000001 , 0x0000004a 
+ 00024682  0x00006322 istore  0x00000001 , 0x00000005 
+ 00024683  0x00006323 arg  0x000004d5 , 0x00000002 
+ 00024684  0x00006324 branch  0x000062e2 
+ 00024685  0x00006327 force  0x00000004 , 0x00000007 
+ 00024686  0x00006328 call  0x000062a0 
+ 00024687  0x00006329 setarg  0x0000007f 
+ 00024688  0x0000632a istore  0x00000001 , 0x00000005 
+ 00024689  0x0000632b fetch  0x00000001 , 0x00000049 
+ 00024690  0x0000632c set0  0x00000007 , 0x0000003f 
+ 00024691  0x0000632d istore  0x00000001 , 0x00000005 
+ 00024692  0x0000632e fetch  0x00000001 , 0x00000049 
+ 00024693  0x0000632f branch  0x000062a7 
+ 00024694  0x00006332 force  0x00000005 , 0x00000007 
+ 00024695  0x00006333 call  0x000062a0 
+ 00024696  0x00006334 setarg  0x0000007f 
+ 00024697  0x00006335 istore  0x00000001 , 0x00000005 
+ 00024698  0x00006336 fetch  0x00000001 , 0x00000049 
+ 00024699  0x00006337 set0  0x00000007 , 0x0000003f 
+ 00024700  0x00006338 istore  0x00000001 , 0x00000005 
+ 00024701  0x00006339 fetch  0x00000001 , 0x0000004a 
+ 00024702  0x0000633a istore  0x00000001 , 0x00000005 
+ 00024703  0x0000633b branch  0x000062a7 
+ 00024704  0x0000633f call  0x0000244f 
+ 00024705  0x00006340 call  0x000062f3 
+ 00024706  0x00006341 rtn  0x00000001 
+ 00024707  0x00006342 branch  0x00005ffc 
+ 00024708  0x00006345 fetch  0x00000001 , 0x0000004b 
+ 00024709  0x00006346 bbit1  0x00000005 , 0x0000608b 
+ 00024710  0x00006347 rtnbit0  0x00000004 
+ 00024711  0x00006348 jam  0x00000012 , 0x0000007c 
+ 00024712  0x00006349 set0  0x00000004 , 0x0000003f 
+ 00024713  0x0000634a call  0x000062eb 
+ 00024714  0x0000634b branch  0x0000608d 
+ 00024715  0x0000634d jam  0x00000010 , 0x0000007c 
+ 00024716  0x0000634e set0  0x00000005 , 0x0000003f 
+ 00024717  0x00006350 store  0x00000001 , 0x0000004b 
+ 00024718  0x00006351 rtn 
+ 00024719  0x00006354 call  0x000062fc 
+ 00024720  0x00006355 branch  0x00005ffe , 0x00000001 
+ 00024721  0x00006356 rtn 
+ 00024722  0x00006359 jam  0x0000008b , 0x0000007c 
+ 00024723  0x0000635b fetch  0x00000001 , 0x000004d1 
+ 00024724  0x0000635c set1  0x00000000 , 0x0000003f 
+ 00024725  0x0000635d store  0x00000001 , 0x000004d1 
+ 00024726  0x0000635e jam  0x00000001 , 0x00000a99 
+ 00024727  0x0000635f branch  0x00007d86 
+ 00024728  0x00006363 rtn 
+ 00024729  0x00006368 force  0x0000000c , 0x00000007 
+ 00024730  0x00006369 call  0x000062a0 
+ 00024731  0x0000636a setarg  0x00000001 
+ 00024732  0x0000636b istore  0x00000001 , 0x00000005 
+ 00024733  0x0000636c fetch  0x00000002 , 0x000004ce 
+ 00024734  0x0000636d istore  0x00000002 , 0x00000005 
+ 00024735  0x0000636e setarg  0x00000000 
+ 00024736  0x0000636f istore  0x00000003 , 0x00000005 
+ 00024737  0x00006370 setarg  0x00000000 
+ 00024738  0x00006371 istore  0x00000004 , 0x00000005 
+ 00024739  0x00006372 branch  0x000062b0 
+ 00024740  0x00006374 force  0x00000005 , 0x00000007 
+ 00024741  0x00006375 call  0x000062a0 
+ 00024742  0x00006376 fetch  0x00000003 , 0x0000465b 
+ 00024743  0x00006377 istore  0x00000003 , 0x00000005 
+ 00024744  0x00006378 call  0x000062b0 
+ 00024745  0x00006379 jam  0x00000001 , 0x00004665 
+ 00024746  0x0000637a fetch  0x00000001 , 0x0000465b 
+ 00024747  0x0000637b beq  0x00000001 , 0x000060b5 
+ 00024748  0x0000637c beq  0x00000002 , 0x000060af 
+ 00024749  0x0000637d beq  0x00000003 , 0x000060bb 
+ 00024750  0x0000637e rtn 
+ 00024751  0x00006381 fetch  0x00000001 , 0x0000465e 
+ 00024752  0x00006382 beq  0x00000000 , 0x000060c7 
+ 00024753  0x00006383 beq  0x00000001 , 0x000060c7 
+ 00024754  0x00006384 beq  0x00000002 , 0x000060c7 
+ 00024755  0x00006385 beq  0x00000003 , 0x000060c1 
+ 00024756  0x00006386 rtn 
+ 00024757  0x0000638a fetch  0x00000001 , 0x0000465e 
+ 00024758  0x0000638b beq  0x00000000 , 0x000060c1 
+ 00024759  0x0000638c beq  0x00000001 , 0x000060c5 
+ 00024760  0x0000638d beq  0x00000002 , 0x000060c7 
+ 00024761  0x0000638e beq  0x00000003 , 0x000060c1 
+ 00024762  0x0000638f rtn 
+ 00024763  0x00006393 fetch  0x00000001 , 0x0000465e 
+ 00024764  0x00006394 beq  0x00000000 , 0x000060c1 
+ 00024765  0x00006395 beq  0x00000001 , 0x000060c1 
+ 00024766  0x00006396 beq  0x00000002 , 0x000060c1 
+ 00024767  0x00006397 beq  0x00000003 , 0x000060c1 
+ 00024768  0x00006398 rtn 
+ 00024769  0x000063a2 jam  0x00000003 , 0x00004662 
+ 00024770  0x000063a3 fetch  0x00000001 , 0x0000455c 
+ 00024771  0x000063a4 bbit1  0x00000000 , 0x000033e9 
+ 00024772  0x000063a5 rtn 
+ 00024773  0x000063a9 jam  0x00000001 , 0x00004662 
+ 00024774  0x000063aa rtn 
+ 00024775  0x000063b1 jam  0x00000002 , 0x00004662 
+ 00024776  0x000063b2 rtn 
+ 00024777  0x000063b6 arg  0x00000000 , 0x00000007 
+ 00024778  0x000063b7 branch  0x000060cd 
+ 00024779  0x000063ba arg  0x00000000 , 0x00000007 
+ 00024780  0x000063bb branch  0x000060d1 
+ 00024781  0x000063be fetch  0x00000001 , 0x0000455c 
+ 00024782  0x000063bf qset1  0x0000003f 
+ 00024783  0x000063c0 store  0x00000001 , 0x0000455c 
+ 00024784  0x000063c1 rtn 
+ 00024785  0x000063c4 fetch  0x00000001 , 0x0000455c 
+ 00024786  0x000063c5 qset0  0x0000003f 
+ 00024787  0x000063c6 store  0x00000001 , 0x0000455c 
+ 00024788  0x000063c7 rtn 
+ 00024789  0x000063cb force  0x00000005 , 0x00000007 
+ 00024790  0x000063cc call  0x000062a0 
+ 00024791  0x000063cd fetch  0x00000003 , 0x0000465b 
+ 00024792  0x000063ce istore  0x00000003 , 0x00000005 
+ 00024793  0x000063cf branch  0x000062b2 
+ 00024794  0x000063d4 rtn 
+ 00024795  0x000063d6 force  0x00000009 , 0x00000007 
+ 00024796  0x000063d7 call  0x000062a0 
+ 00024797  0x000063d8 fetch  0x00000001 , 0x00000095 
+ 00024798  0x000063d9 istore  0x00000001 , 0x00000005 
+ 00024799  0x000063da fetch  0x00000002 , 0x00000096 
+ 00024800  0x000063db istore  0x00000002 , 0x00000005 
+ 00024801  0x000063dc fetch  0x00000004 , 0x00000091 
+ 00024802  0x000063dd istore  0x00000004 , 0x00000005 
+ 00024803  0x000063de branch  0x000062b0 
+ 00024804  0x000063e1 force  0x00000011 , 0x0000003f 
+ 00024805  0x000063e2 call  0x00006298 
+ 00024806  0x000063e3 fetch  0x00000001 , 0x00000049 
+ 00024807  0x000063e4 copy  0x0000003f , 0x00000002 
+ 00024808  0x000063e5 beq  0x00000000 , 0x000060ec 
+ 00024809  0x000063e6 beq  0x0000000e , 0x000060ec 
+ 00024810  0x000063e7 beq  0x0000001c , 0x000060ec 
+ 00024811  0x000063e8 rtn 
+ 00024812  0x000063ea istore  0x00000001 , 0x00000005 
+ 00024813  0x000063eb fetch  0x00000001 , 0x00004515 
+ 00024814  0x000063ec istore  0x00000001 , 0x00000005 
+ 00024815  0x000063ed arg  0x0000000e , 0x00000039 
+ 00024816  0x000063ee setarg  0x00004516 
+ 00024817  0x000063ef iadd  0x00000002 , 0x00000006 
+ 00024818  0x000063f0 call  0x00007f01 
+ 00024819  0x000063f1 branch  0x000062b0 
+ 00024820  0x000063f5 force  0x00000003 , 0x0000003f 
+ 00024821  0x000063f6 call  0x00006298 
+ 00024822  0x000063f7 setarg  0x00000114 
+ 00024823  0x000063f8 istore  0x00000002 , 0x00000005 
+ 00024824  0x000063f9 branch  0x000062b0 
+ 00024825  0x000063fd force  0x00000003 , 0x0000003f 
+ 00024826  0x000063fe call  0x00006298 
+ 00024827  0x000063ff fetch  0x00000004 , 0x00000165 
+ 00024828  0x00006400 isub  0x00000022 , 0x0000003f 
+ 00024829  0x00006401 branch  0x000060ff , 0x00000029 
+ 00024830  0x00006402 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00024831  0x00006405 rshift2  0x0000003f , 0x0000003f 
+ 00024832  0x00006406 set0  0x0000000f , 0x0000003f 
+ 00024833  0x00006407 istore  0x00000002 , 0x00000005 
+ 00024834  0x00006408 branch  0x000062b0 
+ 00024835  0x0000640b force  0x00000006 , 0x0000003f 
+ 00024836  0x0000640c call  0x00006298 
+ 00024837  0x0000640d fetch  0x00000005 , 0x00004510 
+ 00024838  0x0000640e istore  0x00000005 , 0x00000005 
+ 00024839  0x0000640f branch  0x000062b0 
+ 00024840  0x00006412 force  0x00000009 , 0x0000003f 
+ 00024841  0x00006413 call  0x00006298 
+ 00024842  0x00006414 fetch  0x00000008 , 0x00004098 
+ 00024843  0x00006415 istore  0x00000008 , 0x00000005 
+ 00024844  0x00006416 branch  0x000062b0 
+ 00024845  0x0000641e force  0x0000000c , 0x00000007 
+ 00024846  0x0000641f call  0x000062a0 
+ 00024847  0x00006420 setarg  0x00000001 
+ 00024848  0x00006421 istore  0x00000001 , 0x00000005 
+ 00024849  0x00006422 fetch  0x00000002 , 0x000004ce 
+ 00024850  0x00006423 istore  0x00000002 , 0x00000005 
+ 00024851  0x00006424 setarg  0x00000000 
+ 00024852  0x00006425 istore  0x00000003 , 0x00000005 
+ 00024853  0x00006426 setarg  0x00000000 
+ 00024854  0x00006427 istore  0x00000004 , 0x00000005 
+ 00024855  0x00006428 branch  0x000062b2 
+ 00024856  0x0000642b force  0x00000003 , 0x00000007 
+ 00024857  0x0000642c call  0x000062a0 
+ 00024858  0x0000642d fetch  0x00000001 , 0x0000415a 
+ 00024859  0x0000642e istore  0x00000001 , 0x00000005 
+ 00024860  0x0000642f disable  0x00000028 
+ 00024861  0x00006430 call  0x000062b2 
+ 00024862  0x00006431 nrtn  0x00000028 
+ 00024863  0x00006432 nrtn  0x00000029 
+ 00024864  0x00006433 fetch  0x00000001 , 0x000040d8 
+ 00024865  0x00006434 rtnbit0  0x00000000 
+ 00024866  0x00006435 call  0x00006132 
+ 00024867  0x00006436 branch  0x0000613c 
+ 00024868  0x0000643a bpatchx  0x00000084 , 0x00004030 
+ 00024869  0x0000643b fetch  0x00000001 , 0x0000409e 
+ 00024870  0x0000643c set1  0x00000003 , 0x0000003f 
+ 00024871  0x0000643d store  0x00000001 , 0x0000409e 
+ 00024872  0x0000643e setarg  0x00000101 
+ 00024873  0x0000643f store  0x00000002 , 0x000004ce 
+ 00024874  0x00006440 rtn 
+ 00024875  0x00006443 bpatchx  0x00000085 , 0x00004030 
+ 00024876  0x00006444 fetch  0x00000001 , 0x0000409e 
+ 00024877  0x00006445 set0  0x00000003 , 0x0000003f 
+ 00024878  0x00006446 store  0x00000001 , 0x0000409e 
+ 00024879  0x00006447 setarg  0x00000000 
+ 00024880  0x00006448 store  0x00000002 , 0x000004ce 
+ 00024881  0x00006449 rtn 
+ 00024882  0x0000644c jam  0x00000003 , 0x000040d8 
+ 00024883  0x0000644d setarg  0x00000000 
+ 00024884  0x0000644e store  0x00000004 , 0x00004142 
+ 00024885  0x0000644f arg  0x000040da , 0x00000005 
+ 00024886  0x00006450 call  0x00006140 
+ 00024887  0x00006451 arg  0x000040e7 , 0x00000005 
+ 00024888  0x00006452 call  0x00006140 
+ 00024889  0x00006453 arg  0x00004146 , 0x00000005 
+ 00024890  0x00006454 call  0x00006140 
+ 00024891  0x00006455 branch  0x00006147 
+ 00024892  0x00006457 arg  0x000040e7 , 0x00000005 
+ 00024893  0x00006458 call  0x00006140 
+ 00024894  0x00006459 call  0x00006147 
+ 00024895  0x0000645a branch  0x0000614a 
+ 00024896  0x0000645e setarg  0x00ffffff 
+ 00024897  0x0000645f istore  0x00000003 , 0x00000005 
+ 00024898  0x00006460 istore  0x00000003 , 0x00000005 
+ 00024899  0x00006461 istore  0x00000003 , 0x00000005 
+ 00024900  0x00006462 setarg  0x0000007f 
+ 00024901  0x00006463 istore  0x00000001 , 0x00000005 
+ 00024902  0x00006464 rtn 
+ 00024903  0x00006466 setarg  0x00000000 
+ 00024904  0x00006467 store  0x00000002 , 0x000040d6 
+ 00024905  0x00006468 rtn 
+ 00024906  0x0000646a fetch  0x00000001 , 0x000040d8 
+ 00024907  0x0000646b set1  0x00000002 , 0x0000003f 
+ 00024908  0x0000646c store  0x00000001 , 0x000040d8 
+ 00024909  0x0000646d rtn 
+ 00024910  0x00006471 force  0x00000002 , 0x00000007 
+ 00024911  0x00006472 call  0x000062a0 
+ 00024912  0x00006473 nbranch  0x000062b0 , 0x00000029 
+ 00024913  0x00006475 branch  0x000062b2 
+ 00024914  0x0000647a force  0x00000002 , 0x0000003f 
+ 00024915  0x0000647b call  0x00006298 
+ 00024916  0x0000647c fetch  0x00000001 , 0x000004ca 
+ 00024917  0x0000647d istore  0x00000001 , 0x00000005 
+ 00024918  0x0000647e call  0x000062b2 
+ 00024919  0x00006480 fetch  0x00000001 , 0x0000004b 
+ 00024920  0x00006481 set1  0x00000003 , 0x0000003f 
+ 00024921  0x00006482 store  0x00000001 , 0x0000004b 
+ 00024922  0x00006483 jam  0x00000032 , 0x00000072 
+ 00024923  0x00006484 rtn 
+ 00024924  0x00006488 force  0x00000001 , 0x0000003f 
+ 00024925  0x00006489 call  0x00006298 
+ 00024926  0x0000648a branch  0x000062b2 
+ 00024927  0x0000648c force  0x00000001 , 0x0000003f 
+ 00024928  0x0000648d call  0x00006298 
+ 00024929  0x0000648e branch  0x000062b0 
+ 00024930  0x00006492 force  0x00000002 , 0x0000003f 
+ 00024931  0x00006493 call  0x00006298 
+ 00024932  0x00006494 fetch  0x00000001 , 0x0000004c 
+ 00024933  0x00006495 isolate0  0x00000002 , 0x0000003f 
+ 00024934  0x00006496 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00024935  0x00006497 and_into  0x00000001 , 0x0000003f 
+ 00024936  0x00006498 istore  0x00000001 , 0x00000005 
+ 00024937  0x00006499 branch  0x000062b2 
+ 00024938  0x0000649d force  0x00000003 , 0x0000003f 
+ 00024939  0x0000649e call  0x00006298 
+ 00024940  0x0000649f fetch  0x00000002 , 0x00000051 
+ 00024941  0x000064a0 istore  0x00000002 , 0x00000005 
+ 00024942  0x000064a1 branch  0x000062b2 
+ 00024943  0x000064a4 jam  0x000000fa , 0x00000072 
+ 00024944  0x000064a5 force  0x00000002 , 0x0000003f 
+ 00024945  0x000064a6 call  0x00006298 
+ 00024946  0x000064a7 fetch  0x00000001 , 0x00000053 
+ 00024947  0x000064a8 istore  0x00000001 , 0x00000005 
+ 00024948  0x000064a9 branch  0x000062b2 
+ 00024949  0x000064ac force  0x0000000a , 0x0000003f 
+ 00024950  0x000064ad call  0x00006298 
+ 00024951  0x000064ae arg  0x00000152 , 0x00000006 
+ 00024952  0x000064af force  0x00000009 , 0x00000039 
+ 00024953  0x000064b1 ifetch  0x00000001 , 0x00000006 
+ 00024954  0x000064b2 xor_into  0x00000055 , 0x0000003f 
+ 00024955  0x000064b3 istore  0x00000001 , 0x00000005 
+ 00024956  0x000064b4 loop  0x00006179 
+ 00024957  0x000064b5 branch  0x000062b2 
+ 00024958  0x000064b8 branch  0x000062b2 
+ 00024959  0x000064ba branch  0x000062b2 
+ 00024960  0x000064bd rtn  0x00000029 
+ 00024961  0x000064be call  0x0000282d 
+ 00024962  0x000064bf force  0x00000009 , 0x0000003f 
+ 00024963  0x000064c0 call  0x00006298 
+ 00024964  0x000064c1 fetch  0x00000002 , 0x00000171 
+ 00024965  0x000064c2 istore  0x00000002 , 0x00000005 
+ 00024966  0x000064c3 fetch  0x00000003 , 0x000040a0 
+ 00024967  0x000064c4 istore  0x00000003 , 0x00000005 
+ 00024968  0x000064c5 fetch  0x00000001 , 0x000040a3 
+ 00024969  0x000064c6 istore  0x00000001 , 0x00000005 
+ 00024970  0x000064c7 fetch  0x00000002 , 0x000040a4 
+ 00024971  0x000064c8 istore  0x00000002 , 0x00000005 
+ 00024972  0x000064c9 bmark0  0x00000003 , 0x00006191 
+ 00024973  0x000064ca set0  0x00000003 , 0x00000000 
+ 00024974  0x000064cb call  0x000062b2 
+ 00024975  0x000064cc jam  0x00000013 , 0x0000007c 
+ 00024976  0x000064cd rtn 
+ 00024977  0x000064cf call  0x000062b0 
+ 00024978  0x000064d0 jam  0x00000003 , 0x0000007c 
+ 00024979  0x000064d1 jam  0x00000013 , 0x0000007d 
+ 00024980  0x000064d2 rtn 
+ 00024981  0x000064d5 arg  0x00000200 , 0x00000002 
+ 00024982  0x000064d6 branch  0x00006199 , 0x00000029 
+ 00024983  0x000064d7 deposit  0x00000028 
+ 00024984  0x000064d8 branch  0x0000619a 
+ 00024985  0x000064da deposit  0x00000022 
+ 00024986  0x000064dc deposit  0x00000021 
+ 00024987  0x000064dd iadd  0x00000002 , 0x0000003f 
+ 00024988  0x000064de and_into  0x000001fc , 0x0000003f 
+ 00024989  0x000064df store  0x00000004 , 0x00000034 
+ 00024990  0x000064e0 force  0x00000005 , 0x0000003f 
+ 00024991  0x000064e1 call  0x00006298 
+ 00024992  0x000064e2 fetch  0x00000004 , 0x00000034 
+ 00024993  0x000064e3 rshift  0x0000003f , 0x0000003f 
+ 00024994  0x000064e4 istore  0x00000004 , 0x00000005 
+ 00024995  0x000064e5 branch  0x000062b2 
+ 00024996  0x000064e8 force  0x0000000a , 0x0000003f 
+ 00024997  0x000064e9 call  0x00006298 
+ 00024998  0x000064ea arg  0x000004d9 , 0x00000006 
+ 00024999  0x000064eb ifetch  0x00000009 , 0x00000006 
+ 00025000  0x000064ec istore  0x00000009 , 0x00000005 
+ 00025001  0x000064ed branch  0x000062b2 
+ 00025002  0x000064f2 force  0x00000003 , 0x0000003f 
+ 00025003  0x000064f3 call  0x00006298 
+ 00025004  0x000064f4 setarg  0x00000114 
+ 00025005  0x000064f5 istore  0x00000002 , 0x00000005 
+ 00025006  0x000064f6 branch  0x000062b2 
+ 00025007  0x000064fa force  0x00000001 , 0x0000003f 
+ 00025008  0x000064fb call  0x00006298 
+ 00025009  0x00006504 branch  0x000062b2 
+ 00025010  0x00006508 force  0x00000002 , 0x0000003f 
+ 00025011  0x00006509 call  0x00006298 
+ 00025012  0x0000650a fetch  0x00000001 , 0x000040d0 
+ 00025013  0x0000650b istore  0x00000001 , 0x00000005 
+ 00025014  0x0000650c branch  0x000062b2 
+ 00025015  0x00006510 force  0x00000002 , 0x0000003f 
+ 00025016  0x00006511 call  0x00006298 
+ 00025017  0x00006512 setarg  0x00000005 
+ 00025018  0x00006513 istore  0x00000001 , 0x00000005 
+ 00025019  0x00006514 branch  0x000062b2 
+ 00025020  0x00006518 force  0x00000002 , 0x0000003f 
+ 00025021  0x00006519 call  0x00006298 
+ 00025022  0x0000651a setarg  0x00000000 
+ 00025023  0x0000651b istore  0x00000001 , 0x00000005 
+ 00025024  0x0000651c branch  0x000062b2 
+ 00025025  0x00006520 jam  0x0000002e , 0x0000007c 
+ 00025026  0x00006521 rtn 
+ 00025027  0x00006523 fetch  0x00000001 , 0x00004092 
+ 00025028  0x00006524 sub  0x0000003f , 0x0000000a , 0x0000003e 
+ 00025029  0x00006525 call  0x000061c1 , 0x00000005 
+ 00025030  0x00006526 fetch  0x00000001 , 0x00000030 
+ 00025031  0x00006527 set1  0x00000004 , 0x0000003f 
+ 00025032  0x00006528 store  0x00000001 , 0x00000030 
+ 00025033  0x00006529 copy  0x00000022 , 0x0000003f 
+ 00025034  0x0000652a store  0x00000004 , 0x000004e9 
+ 00025035  0x0000652b fetch  0x00000001 , 0x000004d1 
+ 00025036  0x0000652c bbit1  0x00000003 , 0x000061d4 
+ 00025037  0x0000652d set1  0x00000003 , 0x0000003f 
+ 00025038  0x0000652e store  0x00000001 , 0x000004d1 
+ 00025039  0x0000652f jam  0x00000005 , 0x00000a99 
+ 00025040  0x00006530 call  0x00007d86 
+ 00025041  0x00006531 force  0x00000001 , 0x0000003f 
+ 00025042  0x00006532 call  0x00006298 
+ 00025043  0x00006533 branch  0x000062b2 
+ 00025044  0x00006535 jam  0x00000000 , 0x00000048 
+ 00025045  0x00006536 rtn 
+ 00025046  0x00006539 force  0x00000006 , 0x0000003f 
+ 00025047  0x0000653a call  0x00006298 
+ 00025048  0x0000653b fetch  0x00000005 , 0x00004510 
+ 00025049  0x0000653c istore  0x00000005 , 0x00000005 
+ 00025050  0x0000653d branch  0x000062b2 
+ 00025051  0x00006540 force  0x00000009 , 0x0000003f 
+ 00025052  0x00006541 call  0x00006298 
+ 00025053  0x00006542 fetch  0x00000008 , 0x00004098 
+ 00025054  0x00006543 istore  0x00000008 , 0x00000005 
+ 00025055  0x00006544 branch  0x000062b2 
+ 00025056  0x00006547 jam  0x00000001 , 0x000009b1 
+ 00025057  0x00006548 fetch  0x00000001 , 0x000045b1 
+ 00025058  0x00006549 rtnne  0x00000001 
+ 00025059  0x0000654a jam  0x00000013 , 0x000009af 
+ 00025060  0x0000654b rtn 
+ 00025061  0x0000654e call  0x000062ef 
+ 00025062  0x0000654f jam  0x00000099 , 0x0000007c 
+ 00025063  0x00006550 jam  0x00000003 , 0x000009af 
+ 00025064  0x00006551 rtn 
+ 00025065  0x00006555 call  0x000062ef 
+ 00025066  0x00006556 jam  0x0000003d , 0x0000007c 
+ 00025067  0x00006557 jam  0x00000007 , 0x000009af 
+ 00025068  0x00006558 rtn 
+ 00025069  0x0000655b arg  0x00000a4e , 0x00000011 
+ 00025070  0x0000655c arg  0x00000a6e , 0x00000012 
+ 00025071  0x0000655d arg  0x00000010 , 0x00000039 
+ 00025072  0x0000655e call  0x00007f88 
+ 00025073  0x0000655f branch  0x000061f7 , 0x00000005 
+ 00025074  0x00006560 jam  0x00000000 , 0x000009af 
+ 00025075  0x00006561 call  0x000076da 
+ 00025076  0x00006562 jam  0x00000024 , 0x0000007e 
+ 00025077  0x00006563 jam  0x00000040 , 0x0000007d 
+ 00025078  0x00006564 branch  0x00005d53 
+ 00025079  0x00006566 jam  0x0000000a , 0x000009af 
+ 00025080  0x00006567 call  0x000076d8 
+ 00025081  0x00006568 jam  0x00000040 , 0x0000007d 
+ 00025082  0x00006569 branch  0x00005e38 
+ 00025083  0x0000656e jam  0x00000040 , 0x0000007c 
+ 00025084  0x0000656f rtn 
+ 00025085  0x00006576 jam  0x0000003d , 0x0000007c 
+ 00025086  0x00006578 rtn 
+ 00025087  0x0000657f jam  0x00000000 , 0x000009b6 
+ 00025088  0x00006580 force  0x00000004 , 0x0000003f 
+ 00025089  0x00006581 call  0x00006298 
+ 00025090  0x00006582 force  0x00000001 , 0x0000003f 
+ 00025091  0x00006583 istore  0x00000001 , 0x00000005 
+ 00025092  0x00006584 force  0x00000001 , 0x0000003f 
+ 00025093  0x00006585 istore  0x00000001 , 0x00000005 
+ 00025094  0x00006586 force  0x00000030 , 0x0000003f 
+ 00025095  0x00006587 istore  0x00000001 , 0x00000005 
+ 00025096  0x00006588 call  0x000062fc 
+ 00025097  0x00006589 branch  0x000062b2 , 0x00000001 
+ 00025098  0x0000658a branch  0x000062b0 
+ 00025099  0x0000658e force  0x00000011 , 0x0000003f 
+ 00025100  0x0000658f call  0x00006298 
+ 00025101  0x00006590 fetch  0x00000001 , 0x000009b6 
+ 00025102  0x00006591 arg  0x0000462a , 0x00000006 
+ 00025103  0x00006592 iadd  0x00000006 , 0x00000006 
+ 00025104  0x00006593 ifetch  0x00000008 , 0x00000006 
+ 00025105  0x00006594 istore  0x00000008 , 0x00000005 
+ 00025106  0x00006595 ifetch  0x00000008 , 0x00000006 
+ 00025107  0x00006596 istore  0x00000008 , 0x00000005 
+ 00025108  0x00006597 fetch  0x00000001 , 0x000009b6 
+ 00025109  0x00006598 increase  0x00000010 , 0x0000003f 
+ 00025110  0x00006599 store  0x00000001 , 0x000009b6 
+ 00025111  0x0000659a call  0x000062fc 
+ 00025112  0x0000659b branch  0x000062b2 , 0x00000001 
+ 00025113  0x0000659c branch  0x000062b0 
+ 00025114  0x000065a0 jam  0x00000006 , 0x000009ae 
+ 00025115  0x000065a1 jam  0x0000003f , 0x0000007c 
+ 00025116  0x000065a2 rtn 
+ 00025117  0x000065a6 force  0x00000011 , 0x0000003f 
+ 00025118  0x000065a7 call  0x00006298 
+ 00025119  0x000065a8 arg  0x00000a4e , 0x00000006 
+ 00025120  0x000065a9 ifetch  0x00000008 , 0x00000006 
+ 00025121  0x000065aa istore  0x00000008 , 0x00000005 
+ 00025122  0x000065ab ifetch  0x00000008 , 0x00000006 
+ 00025123  0x000065ac istore  0x00000008 , 0x00000005 
+ 00025124  0x000065ad branch  0x000062b0 
+ 00025125  0x000065b0 jam  0x00000040 , 0x0000007c 
+ 00025126  0x000065b1 rtn 
+ 00025127  0x000065b5 call  0x000062fc 
+ 00025128  0x000065b6 call  0x00007612 , 0x00000001 
+ 00025129  0x000065b7 force  0x00000011 , 0x0000003f 
+ 00025130  0x000065b8 call  0x00006298 
+ 00025131  0x000065b9 arg  0x00000a1e , 0x00000006 
+ 00025132  0x000065ba ifetch  0x00000008 , 0x00000006 
+ 00025133  0x000065bb istore  0x00000008 , 0x00000005 
+ 00025134  0x000065bc ifetch  0x00000008 , 0x00000006 
+ 00025135  0x000065bd istore  0x00000008 , 0x00000005 
+ 00025136  0x000065be call  0x000062fc 
+ 00025137  0x000065bf nbranch  0x000062b0 , 0x00000001 
+ 00025138  0x000065c0 branch  0x000062b2 , 0x00000001 
+ 00025139  0x000065c4 jam  0x0000000f , 0x000009af 
+ 00025140  0x000065c6 call  0x000062ef 
+ 00025141  0x000065c7 jam  0x0000000b , 0x0000007c 
+ 00025142  0x000065c8 call  0x00006307 
+ 00025143  0x000065c9 branch  0x0000764e , 0x00000001 
+ 00025144  0x000065ca branch  0x00007658 
+ 00025145  0x000065cc call  0x000062eb 
+ 00025146  0x000065ce jam  0x00000041 , 0x0000007c 
+ 00025147  0x000065cf rtn 
+ 00025148  0x000065d2 force  0x00000011 , 0x0000003f 
+ 00025149  0x000065d3 call  0x00006298 
+ 00025150  0x000065d4 arg  0x00000a4e , 0x00000006 
+ 00025151  0x000065d5 ifetch  0x00000008 , 0x00000006 
+ 00025152  0x000065d6 istore  0x00000008 , 0x00000005 
+ 00025153  0x000065d7 ifetch  0x00000008 , 0x00000006 
+ 00025154  0x000065d8 istore  0x00000008 , 0x00000005 
+ 00025155  0x000065d9 call  0x000062fc 
+ 00025156  0x000065da nbranch  0x000062b0 , 0x00000001 
+ 00025157  0x000065db branch  0x000062b2 , 0x00000001 
+ 00025158  0x000065de force  0x00000003 , 0x0000003f 
+ 00025159  0x000065df call  0x00006298 
+ 00025160  0x000065e0 setarg  0x0000fffe 
+ 00025161  0x000065e1 istore  0x00000002 , 0x00000005 
+ 00025162  0x000065e2 branch  0x000062b0 
+ 00025163  0x000065e5 branch  0x000062b2 
+ 00025164  0x000065e7 branch  0x000062b2 
+ 00025165  0x000065e9 branch  0x000062b2 
+ 00025166  0x000065eb branch  0x000062b2 
+ 00025167  0x000065f1 call  0x0000630b 
+ 00025168  0x000065f2 arg  0x000040a0 , 0x00000011 
+ 00025169  0x000065f3 call  0x00006311 
+ 00025170  0x000065f4 force  0x00000011 , 0x0000003f 
+ 00025171  0x000065f5 call  0x00006298 
+ 00025172  0x000065f6 arg  0x00000582 , 0x00000011 
+ 00025173  0x000065f7 arg  0x00000562 , 0x00000012 
+ 00025174  0x000065f8 call  0x00007352 
+ 00025175  0x000065f9 nbranch  0x000062a7 , 0x00000029 
+ 00025176  0x000065fa branch  0x000062ad 
+ 00025177  0x000065fd call  0x0000630b 
+ 00025178  0x000065fe arg  0x00000040 , 0x00000011 
+ 00025179  0x000065ff call  0x00007255 
+ 00025180  0x00006601 force  0x00000011 , 0x0000003f 
+ 00025181  0x00006602 call  0x00006298 
+ 00025182  0x00006603 arg  0x00000562 , 0x00000006 
+ 00025183  0x00006604 call  0x00007ebf 
+ 00025184  0x00006605 fetch  0x00000001 , 0x00000055 
+ 00025185  0x00006606 beq  0x00000019 , 0x000062b2 
+ 00025186  0x00006607 beq  0x00000018 , 0x000062b2 
+ 00025187  0x00006608 branch  0x000062ad 
+ 00025188  0x0000660b fetch  0x00000001 , 0x000009b5 
+ 00025189  0x0000660c branch  0x0000626a , 0x00000034 
+ 00025190  0x0000660d call  0x000062fc 
+ 00025191  0x0000660e call  0x000062ef , 0x00000001 
+ 00025192  0x0000660f ncall  0x000062eb , 0x00000001 
+ 00025193  0x00006610 branch  0x0000626b 
+ 00025194  0x00006612 call  0x000062ef 
+ 00025195  0x00006614 call  0x0000630b 
+ 00025196  0x00006615 branch  0x0000625c 
+ 00025197  0x00006618 arg  0x000040a0 , 0x00000011 
+ 00025198  0x00006619 call  0x00007288 
+ 00025199  0x0000661a force  0x00000005 , 0x0000003f 
+ 00025200  0x0000661b call  0x00006298 
+ 00025201  0x0000661c fetch  0x00000004 , 0x00000592 
+ 00025202  0x0000661d istore  0x00000004 , 0x00000005 
+ 00025203  0x0000661e arg  0x000004d5 , 0x00000002 
+ 00025204  0x0000661f call  0x000062e2 
+ 00025205  0x00006620 call  0x00007386 
+ 00025206  0x00006621 call  0x000062fc 
+ 00025207  0x00006622 branch  0x0000627c , 0x00000001 
+ 00025208  0x00006623 jam  0x00000001 , 0x000004d8 
+ 00025209  0x00006624 fetch  0x00000001 , 0x000009b5 
+ 00025210  0x00006625 rtn  0x00000034 
+ 00025211  0x00006626 jam  0x0000000b , 0x0000007c 
+ 00025212  0x00006628 fetch  0x00000001 , 0x000041bd 
+ 00025213  0x00006629 rtn  0x00000034 
+ 00025214  0x0000662b call  0x000062fc 
+ 00025215  0x0000662c nbranch  0x00006284 , 0x00000001 
+ 00025216  0x0000662d fetch  0x00000001 , 0x000004d7 
+ 00025217  0x0000662e rtn  0x00000034 
+ 00025218  0x0000662f jam  0x0000000f , 0x0000007c 
+ 00025219  0x00006630 rtn 
+ 00025220  0x00006632 rtnmark0  0x00000021 
+ 00025221  0x00006633 set0  0x00000021 , 0x00000000 
+ 00025222  0x00006634 jam  0x0000000f , 0x0000007c 
+ 00025223  0x00006635 rtn 
+ 00025224  0x0000663a call  0x0000630b 
+ 00025225  0x0000663b call  0x0000728b 
+ 00025226  0x0000663c force  0x00000011 , 0x0000003f 
+ 00025227  0x0000663d call  0x00006298 
+ 00025228  0x0000663e arg  0x00000562 , 0x00000006 
+ 00025229  0x0000663f call  0x00007ebf 
+ 00025230  0x00006640 branch  0x000062ad 
+ 00025231  0x00006643 force  0x00000001 , 0x0000003f 
+ 00025232  0x00006644 call  0x00006298 
+ 00025233  0x00006645 branch  0x000062ad 
+ 00025234  0x00006648 force  0x00000002 , 0x0000003f 
+ 00025235  0x00006649 call  0x00006298 
+ 00025236  0x0000664a force  0x00000010 , 0x0000003f 
+ 00025237  0x0000664b istore  0x00000001 , 0x00000005 
+ 00025238  0x0000664c store  0x00000001 , 0x00000054 
+ 00025239  0x0000664d branch  0x000062ad 
+ 00025240  0x00006651 lshift3  0x0000003f , 0x0000003f 
+ 00025241  0x00006652 or_into  0x00000007 , 0x0000003f 
+ 00025242  0x00006653 store  0x00000001 , 0x000004b6 
+ 00025243  0x00006654 arg  0x00000011 , 0x00000039 
+ 00025244  0x00006655 arg  0x000004b8 , 0x00000005 
+ 00025245  0x00006656 call  0x00007ed4 
+ 00025246  0x00006657 arg  0x000004b8 , 0x00000005 
+ 00025247  0x00006658 rtn 
+ 00025248  0x0000665b and  0x0000003f , 0x0000007f , 0x00000011 
+ 00025249  0x0000665c jam  0x0000007f , 0x00000048 
+ 00025250  0x0000665d deposit  0x00000007 
+ 00025251  0x0000665e call  0x00006298 
+ 00025252  0x0000665f deposit  0x00000011 
+ 00025253  0x00006660 istore  0x00000001 , 0x00000005 
+ 00025254  0x00006661 rtn 
+ 00025255  0x00006664 fetch  0x00000001 , 0x00000048 
+ 00025256  0x00006665 lshift  0x0000003f , 0x0000003f 
+ 00025257  0x00006666 fetcht  0x00000001 , 0x0000004c 
+ 00025258  0x00006667 isolate1  0x00000001 , 0x00000002 
+ 00025259  0x00006668 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025260  0x00006669 branch  0x000062b7 
+ 00025261  0x0000666d fetcht  0x00000001 , 0x0000004c 
+ 00025262  0x0000666e and_into  0x00000001 , 0x00000002 
+ 00025263  0x0000666f branch  0x000062b3 
+ 00025264  0x00006672 force  0x00000000 , 0x00000002 
+ 00025265  0x00006673 branch  0x000062b3 
+ 00025266  0x00006676 force  0x00000001 , 0x00000002 
+ 00025267  0x00006678 fetch  0x00000001 , 0x00000048 
+ 00025268  0x00006679 lshift  0x0000003f , 0x0000003f 
+ 00025269  0x0000667a setflag  0x00000029 , 0x00000000 , 0x0000003f 
+ 00025270  0x0000667b ixor  0x00000002 , 0x0000003f 
+ 00025271  0x0000667d store  0x00000001 , 0x000004b7 
+ 00025272  0x0000667e jam  0x00000000 , 0x00000048 
+ 00025273  0x0000667f call  0x000062c7 
+ 00025274  0x00006680 enable  0x00000028 
+ 00025275  0x00006681 rtn 
+ 00025276  0x00006685 fetch  0x00000001 , 0x0000007c 
+ 00025277  0x00006686 rtn  0x00000034 
+ 00025278  0x00006687 call  0x000062c1 
+ 00025279  0x00006688 fetch  0x00000001 , 0x0000007c 
+ 00025280  0x00006689 rtn 
+ 00025281  0x0000668c bpatchx  0x00000086 , 0x00004030 
+ 00025282  0x0000668d fetch  0x00000001 , 0x00000048 
+ 00025283  0x0000668e branch  0x000062c7 , 0x00000034 
+ 00025284  0x0000668f fetch  0x00000001 , 0x00000078 
+ 00025285  0x00006690 nrtn  0x00000034 
+ 00025286  0x00006691 branch  0x000062d1 
+ 00025287  0x00006693 fetch  0x00000001 , 0x00000078 
+ 00025288  0x00006694 branch  0x000062d7 , 0x00000034 
+ 00025289  0x00006695 fetch  0x00000003 , 0x00000078 
+ 00025290  0x00006696 store  0x00000003 , 0x00000048 
+ 00025291  0x00006697 fetcht  0x00000001 , 0x0000007b 
+ 00025292  0x00006698 fetch  0x00000001 , 0x0000004c 
+ 00025293  0x00006699 set0  0x00000001 , 0x0000003f 
+ 00025294  0x0000669a ior  0x00000002 , 0x0000003f 
+ 00025295  0x0000669b store  0x00000001 , 0x0000004c 
+ 00025296  0x0000669c jam  0x00000000 , 0x00000078 
+ 00025297  0x0000669e fetch  0x00000001 , 0x0000007c 
+ 00025298  0x0000669f rtn  0x00000034 
+ 00025299  0x000066a0 fetch  0x00000004 , 0x0000007c 
+ 00025300  0x000066a1 store  0x00000004 , 0x00000078 
+ 00025301  0x000066a2 jam  0x00000000 , 0x0000007c 
+ 00025302  0x000066a3 rtn 
+ 00025303  0x000066a5 fetch  0x00000001 , 0x0000007c 
+ 00025304  0x000066a6 rtn  0x00000034 
+ 00025305  0x000066a7 fetch  0x00000003 , 0x0000007c 
+ 00025306  0x000066a8 store  0x00000003 , 0x00000048 
+ 00025307  0x000066a9 fetcht  0x00000001 , 0x0000007f 
+ 00025308  0x000066aa fetch  0x00000001 , 0x0000004c 
+ 00025309  0x000066ab set0  0x00000001 , 0x0000003f 
+ 00025310  0x000066ac ior  0x00000002 , 0x0000003f 
+ 00025311  0x000066ad store  0x00000001 , 0x0000004c 
+ 00025312  0x000066ae jam  0x00000000 , 0x0000007c 
+ 00025313  0x000066af rtn 
+ 00025314  0x000066b3 bpatchx  0x00000087 , 0x00004030 
+ 00025315  0x000066b4 fetch  0x00000001 , 0x0000004c 
+ 00025316  0x000066b5 copy  0x0000003f , 0x00000013 
+ 00025317  0x000066b6 ifetch  0x00000001 , 0x00000002 
+ 00025318  0x000066b7 call  0x00005e52 
+ 00025319  0x000066b8 call  0x000062a7 
+ 00025320  0x000066b9 copy  0x00000013 , 0x0000003f 
+ 00025321  0x000066ba store  0x00000001 , 0x0000004c 
+ 00025322  0x000066bb rtn 
+ 00025323  0x000066be fetcht  0x00000001 , 0x0000004c 
+ 00025324  0x000066bf set0  0x00000000 , 0x00000002 
+ 00025325  0x000066c0 storet  0x00000001 , 0x0000004c 
+ 00025326  0x000066c1 rtn 
+ 00025327  0x000066c4 fetcht  0x00000001 , 0x0000004c 
+ 00025328  0x000066c5 set1  0x00000000 , 0x00000002 
+ 00025329  0x000066c6 storet  0x00000001 , 0x0000004c 
+ 00025330  0x000066c7 rtn 
+ 00025331  0x000066cb nsetflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00025332  0x000066cc fetcht  0x00000001 , 0x0000004c 
+ 00025333  0x000066cd ixor  0x00000002 , 0x0000003f 
+ 00025334  0x000066ce isolate1  0x00000001 , 0x0000003f 
+ 00025335  0x000066cf rtn 
+ 00025336  0x000066d3 fetch  0x00000001 , 0x0000004c 
+ 00025337  0x000066d4 setflag  0x00000029 , 0x00000001 , 0x0000003f 
+ 00025338  0x000066d5 store  0x00000001 , 0x0000004c 
+ 00025339  0x000066d6 rtn 
+ 00025340  0x000066da fetch  0x00000001 , 0x000009b4 
+ 00025341  0x000066db compare  0x00000001 , 0x0000003f , 0x0000007f 
+ 00025342  0x000066dc rtn 
+ 00025343  0x000066de fetch  0x00000001 , 0x000009b4 
+ 00025344  0x000066df set1  0x00000007 , 0x0000003f 
+ 00025345  0x000066e0 store  0x00000001 , 0x000009b4 
+ 00025346  0x000066e1 rtn 
+ 00025347  0x000066e3 fetch  0x00000001 , 0x000009b4 
+ 00025348  0x000066e4 set0  0x00000007 , 0x0000003f 
+ 00025349  0x000066e5 store  0x00000001 , 0x000009b4 
+ 00025350  0x000066e6 rtn 
+ 00025351  0x000066e8 fetch  0x00000001 , 0x000009b4 
+ 00025352  0x000066e9 isolate1  0x00000007 , 0x0000003f 
+ 00025353  0x000066ea store  0x00000001 , 0x000009b4 
+ 00025354  0x000066eb rtn 
+ 00025355  0x000066ef arg  0x00000562 , 0x00000005 
+ 00025356  0x000066f1 force  0x00000010 , 0x00000039 
+ 00025357  0x000066f4 random  0x0000003f 
+ 00025358  0x000066f5 istore  0x00000001 , 0x00000005 
+ 00025359  0x000066f6 loop  0x0000630d 
+ 00025360  0x000066f7 rtn 
+ 00025361  0x000066fa call  0x00007259 
+ 00025362  0x000066fb arg  0x000041be , 0x00000011 
+ 00025363  0x000066fc arg  0x00000592 , 0x00000012 
+ 00025364  0x000066fd ifetch  0x00000008 , 0x00000011 
+ 00025365  0x000066fe fetcht  0x00000001 , 0x00000030 
+ 00025366  0x000066ff nsetflag  0x00000034 , 0x00000006 , 0x00000002 
+ 00025367  0x00006700 storet  0x00000001 , 0x00000030 
+ 00025368  0x00006701 copy  0x00000011 , 0x00000005 
+ 00025369  0x00006702 call  0x00007352 
+ 00025370  0x00006703 branch  0x000021c4 
+ 00025371  0x0000670b bpatchx  0x00000088 , 0x00004031 
+ 00025372  0x0000670d call  0x000062bc 
+ 00025373  0x0000670e nrtn  0x00000034 
+ 00025374  0x00006710 fetch  0x00000001 , 0x00000055 
+ 00025375  0x00006711 rtn  0x00000034 
+ 00025376  0x00006715 beq  0x00000004 , 0x0000636f 
+ 00025377  0x00006716 beq  0x00000005 , 0x00006374 
+ 00025378  0x00006717 beq  0x00000002 , 0x00006366 
+ 00025379  0x00006718 beq  0x00000003 , 0x0000637c 
+ 00025380  0x00006719 beq  0x0000000e , 0x00006369 
+ 00025381  0x0000671a beq  0x00000006 , 0x00006398 
+ 00025382  0x0000671b beq  0x00000007 , 0x000063b0 
+ 00025383  0x0000671c beq  0x00000009 , 0x000063b1 
+ 00025384  0x0000671d beq  0x0000000a , 0x000063ba 
+ 00025385  0x0000671e beq  0x0000000b , 0x000063be 
+ 00025386  0x0000671f beq  0x0000000c , 0x00006386 
+ 00025387  0x00006720 beq  0x0000000d , 0x00006389 
+ 00025388  0x00006721 beq  0x0000000f , 0x0000638f 
+ 00025389  0x00006722 beq  0x00000012 , 0x00006359 
+ 00025390  0x00006723 beq  0x00000013 , 0x0000637c 
+ 00025391  0x00006724 beq  0x00000010 , 0x0000635c 
+ 00025392  0x00006725 beq  0x00000014 , 0x00006356 
+ 00025393  0x00006726 beq  0x00000015 , 0x0000637c 
+ 00025394  0x00006727 beq  0x00000016 , 0x00006350 
+ 00025395  0x00006728 beq  0x00000018 , 0x00006355 
+ 00025396  0x00006729 beq  0x00000017 , 0x00006349 
+ 00025397  0x0000672a beq  0x00000019 , 0x0000634f 
+ 00025398  0x0000672b beq  0x0000001a , 0x0000633a 
+ 00025399  0x0000672c beq  0x0000001b , 0x00006344 
+ 00025400  0x0000672d jam  0x00000000 , 0x00000055 
+ 00025401  0x0000672f rtn 
+ 00025402  0x00006731 fetch  0x00000001 , 0x000004d1 
+ 00025403  0x00006732 rtnbit0  0x00000002 
+ 00025404  0x00006733 rtnbit0  0x00000003 
+ 00025405  0x00006734 jam  0x00000000 , 0x00000055 
+ 00025406  0x00006735 call  0x00006340 
+ 00025407  0x00006736 branch  0x00006cef 
+ 00025408  0x00006739 fetch  0x00000001 , 0x0000016d 
+ 00025409  0x0000673a rtnbit0  0x00000001 
+ 00025410  0x0000673b jam  0x0000000a , 0x00000055 
+ 00025411  0x0000673c rtn 
+ 00025412  0x0000673f arg  0x00000007 , 0x00000007 
+ 00025413  0x00006740 call  0x00007f16 
+ 00025414  0x00006741 nrtn  0x00000034 
+ 00025415  0x00006742 jam  0x0000001a , 0x00000055 
+ 00025416  0x00006743 rtn 
+ 00025417  0x00006746 fetch  0x00000001 , 0x0000016d 
+ 00025418  0x00006747 set0  0x00000000 , 0x0000003f 
+ 00025419  0x00006748 store  0x00000001 , 0x0000016d 
+ 00025420  0x00006749 jam  0x00000019 , 0x00000055 
+ 00025421  0x0000674a jam  0x0000000b , 0x0000007c 
+ 00025422  0x0000674b rtn 
+ 00025423  0x0000674d rtn 
+ 00025424  0x0000674f fetch  0x00000001 , 0x000004d4 
+ 00025425  0x00006750 rtnne  0x00000002 
+ 00025426  0x00006751 call  0x000063c0 
+ 00025427  0x00006752 jam  0x00000018 , 0x00000055 
+ 00025428  0x00006753 rtn 
+ 00025429  0x00006756 rtn 
+ 00025430  0x00006758 jam  0x00000015 , 0x00000055 
+ 00025431  0x00006759 jam  0x00000083 , 0x0000007c 
+ 00025432  0x0000675a rtn 
+ 00025433  0x0000675c jam  0x00000013 , 0x00000055 
+ 00025434  0x0000675d jam  0x00000025 , 0x0000007c 
+ 00025435  0x0000675e rtn 
+ 00025436  0x00006761 fetch  0x00000001 , 0x0000455b 
+ 00025437  0x00006762 rtneq  0x00000000 
+ 00025438  0x00006763 beq  0x00000001 , 0x00006364 
+ 00025439  0x00006764 arg  0x00000006 , 0x00000007 
+ 00025440  0x00006765 call  0x00007f16 
+ 00025441  0x00006766 nrtn  0x00000034 
+ 00025442  0x00006767 jam  0x00000000 , 0x0000455b 
+ 00025443  0x00006768 branch  0x0000637d 
+ 00025444  0x0000676a rtn  0x00000029 
+ 00025445  0x0000676b branch  0x00006398 
+ 00025446  0x0000676e jam  0x00000003 , 0x00000055 
+ 00025447  0x0000676f jam  0x00000027 , 0x0000007c 
+ 00025448  0x00006770 rtn 
+ 00025449  0x00006772 jam  0x00000013 , 0x0000007c 
+ 00025450  0x00006773 set1  0x00000003 , 0x00000000 
+ 00025451  0x00006774 jam  0x00000005 , 0x00000055 
+ 00025452  0x00006775 setarg  0x000001ff 
+ 00025453  0x00006776 store  0x00000002 , 0x000004d2 
+ 00025454  0x00006777 rtn 
+ 00025455  0x00006779 jam  0x00000005 , 0x00000055 
+ 00025456  0x0000677a jam  0x000000ff , 0x000004d2 
+ 00025457  0x0000677b set0  0x00000022 , 0x00000000 
+ 00025458  0x0000677c jam  0x00000033 , 0x0000007c 
+ 00025459  0x0000677d branch  0x00005d04 
+ 00025460  0x0000677f rtnmark1  0x00000022 
+ 00025461  0x00006780 fetch  0x00000002 , 0x000004d2 
+ 00025462  0x00006781 sub  0x0000003f , 0x00000001 , 0x0000003f 
+ 00025463  0x00006782 branch  0x0000637a , 0x00000005 
+ 00025464  0x00006783 store  0x00000002 , 0x000004d2 
+ 00025465  0x00006784 rtn 
+ 00025466  0x00006786 jam  0x0000000e , 0x00000055 
+ 00025467  0x00006787 rtn 
+ 00025468  0x0000678a rtn 
+ 00025469  0x0000678d fetch  0x00000001 , 0x000004d1 
+ 00025470  0x0000678e rtnbit0  0x00000003 
+ 00025471  0x0000678f rtnbit0  0x00000002 
+ 00025472  0x00006790 fetch  0x00000001 , 0x0000016d 
+ 00025473  0x00006791 set0  0x00000002 , 0x0000003f 
+ 00025474  0x00006792 store  0x00000001 , 0x0000016d 
+ 00025475  0x00006793 jam  0x00000013 , 0x0000007c 
+ 00025476  0x00006794 jam  0x00000010 , 0x00000055 
+ 00025477  0x00006795 rtn 
+ 00025478  0x00006798 jam  0x0000000d , 0x00000055 
+ 00025479  0x00006799 jam  0x00000031 , 0x0000007c 
+ 00025480  0x0000679a rtn 
+ 00025481  0x0000679d fetch  0x00000001 , 0x000004d1 
+ 00025482  0x0000679e rtnbit0  0x00000002 
+ 00025483  0x0000679f jam  0x00000000 , 0x00000055 
+ 00025484  0x000067a1 rtn 
+ 00025485  0x000067a3 jam  0x00000006 , 0x00000055 
+ 00025486  0x000067a4 rtn 
+ 00025487  0x000067a7 fetch  0x00000001 , 0x000004d2 
+ 00025488  0x000067a8 increase  0xffffffff , 0x0000003f 
+ 00025489  0x000067a9 branch  0x00006394 , 0x00000034 
+ 00025490  0x000067aa store  0x00000001 , 0x000004d2 
+ 00025491  0x000067ab rtn 
+ 00025492  0x000067ad jam  0x00000007 , 0x0000007c 
+ 00025493  0x000067ae jam  0x00000016 , 0x000004ca 
+ 00025494  0x000067af jam  0x00000000 , 0x00000055 
+ 00025495  0x000067b0 rtn 
+ 00025496  0x000067b3 fetch  0x00000001 , 0x0000016d 
+ 00025497  0x000067b4 bbit1  0x00000002 , 0x0000637d 
+ 00025498  0x000067b5 bbit1  0x00000000 , 0x0000639d 
+ 00025499  0x000067b7 jam  0x0000001a , 0x00000055 
+ 00025500  0x000067b8 rtn 
+ 00025501  0x000067ba fetch  0x00000001 , 0x000041bd 
+ 00025502  0x000067bb branch  0x000063a9 , 0x00000034 
+ 00025503  0x000067bc fetch  0x00000001 , 0x000004d1 
+ 00025504  0x000067bd rtnbit0  0x00000003 
+ 00025505  0x000067be rtnbit0  0x00000002 
+ 00025506  0x000067bf fetch  0x00000004 , 0x000004e9 
+ 00025507  0x000067c0 arg  0x00000064 , 0x00000002 
+ 00025508  0x000067c1 iadd  0x00000002 , 0x00000002 
+ 00025509  0x000067c2 copy  0x00000022 , 0x0000003f 
+ 00025510  0x000067c3 isub  0x00000002 , 0x0000003e 
+ 00025511  0x000067c4 nrtn  0x00000002 
+ 00025512  0x000067c5 branch  0x00006349 
+ 00025513  0x000067ca jam  0x00000016 , 0x00000055 
+ 00025514  0x000067cb jam  0x00000004 , 0x00004689 
+ 00025515  0x000067cc setarg  0x00003030 
+ 00025516  0x000067cd store  0x00000002 , 0x0000468a 
+ 00025517  0x000067ce istore  0x00000002 , 0x00000005 
+ 00025518  0x000067cf jam  0x00000002 , 0x000004d4 
+ 00025519  0x000067d0 branch  0x00006350 
+ 00025520  0x000067d3 rtn 
+ 00025521  0x000067d5 fetch  0x00000001 , 0x0000016d 
+ 00025522  0x000067d6 bbit1  0x00000001 , 0x000063b5 
+ 00025523  0x000067d7 jam  0x0000001a , 0x00000055 
+ 00025524  0x000067d8 rtn 
+ 00025525  0x000067db fetch  0x00000001 , 0x0000016d 
+ 00025526  0x000067dc set0  0x00000001 , 0x0000003f 
+ 00025527  0x000067dd store  0x00000001 , 0x0000016d 
+ 00025528  0x000067de jam  0x0000000f , 0x0000007c 
+ 00025529  0x000067df rtn 
+ 00025530  0x000067e2 fetch  0x00000001 , 0x000004d8 
+ 00025531  0x000067e3 rtn  0x00000034 
+ 00025532  0x000067e4 jam  0x00000000 , 0x00000055 
+ 00025533  0x000067e5 branch  0x000063b5 
+ 00025534  0x000067e8 jam  0x0000000c , 0x00000055 
+ 00025535  0x000067e9 rtn 
+ 00025536  0x000067ec fetch  0x00000001 , 0x0000004b 
+ 00025537  0x000067ed bbit1  0x00000002 , 0x000063c5 
+ 00025538  0x000067ee call  0x000062ef 
+ 00025539  0x000067ef jam  0x00000008 , 0x0000007c 
+ 00025540  0x000067f0 branch  0x00004d04 
+ 00025541  0x000067f2 fetch  0x00000001 , 0x0000004b 
+ 00025542  0x000067f3 set0  0x00000002 , 0x0000003f 
+ 00025543  0x000067f4 store  0x00000001 , 0x0000004b 
+ 00025544  0x000067f5 call  0x00006001 
+ 00025545  0x000067f6 call  0x000062f8 
+ 00025546  0x000067f7 branch  0x00004d04 
+ 00025547  0x000067fa setarg  0x00000004 
+ 00025548  0x000067fb store  0x00000001 , 0x00004689 
+ 00025549  0x000067fc setarg  0x00003030 
+ 00025550  0x000067fd istore  0x00000002 , 0x00000005 
+ 00025551  0x000067fe istore  0x00000002 , 0x00000005 
+ 00025552  0x000067ff rtn 
+ 00025553  0x00006806 bpatchx  0x0000008c , 0x00004031 
+ 00025554  0x00006807 hfetch  0x00000001 , 0x00008073 
+ 00025555  0x00006808 arg  0x00000006 , 0x00000002 
+ 00025556  0x00006809 ior  0x00000002 , 0x0000003f 
+ 00025557  0x0000680a hstore  0x00000001 , 0x00008073 
+ 00025558  0x0000680b hfetch  0x00000001 , 0x00008077 
+ 00025559  0x0000680c ior  0x00000002 , 0x0000003f 
+ 00025560  0x0000680d hstore  0x00000001 , 0x00008077 
+ 00025561  0x0000680e call  0x000063ee 
+ 00025562  0x0000680f hfetch  0x00000001 , 0x00008077 
+ 00025563  0x00006810 set0  0x00000001 , 0x0000003f 
+ 00025564  0x00006811 set0  0x00000002 , 0x0000003f 
+ 00025565  0x00006812 hstore  0x00000001 , 0x00008077 
+ 00025566  0x00006813 nop  0x0000001e 
+ 00025567  0x00006814 branch  0x000063f2 
+ 00025568  0x00006817 hfetch  0x00000001 , 0x00008073 
+ 00025569  0x00006818 arg  0x000000c0 , 0x00000002 
+ 00025570  0x00006819 ior  0x00000002 , 0x0000003f 
+ 00025571  0x0000681a hstore  0x00000001 , 0x00008073 
+ 00025572  0x0000681b hfetch  0x00000001 , 0x00008077 
+ 00025573  0x0000681c ior  0x00000002 , 0x0000003f 
+ 00025574  0x0000681d hstore  0x00000001 , 0x00008077 
+ 00025575  0x0000681e call  0x000063ee 
+ 00025576  0x0000681f hfetch  0x00000001 , 0x00008077 
+ 00025577  0x00006820 set0  0x00000006 , 0x0000003f 
+ 00025578  0x00006821 set0  0x00000007 , 0x0000003f 
+ 00025579  0x00006822 hstore  0x00000001 , 0x00008077 
+ 00025580  0x00006823 nop  0x0000001e 
+ 00025581  0x00006824 branch  0x000063f6 
+ 00025582  0x00006827 hfetch  0x00000001 , 0x00008081 
+ 00025583  0x00006828 and  0x0000003f , 0x000000fc , 0x0000003f 
+ 00025584  0x00006829 hstore  0x00000001 , 0x00008081 
+ 00025585  0x0000682a rtn 
+ 00025586  0x0000682c hfetch  0x00000001 , 0x00008081 
+ 00025587  0x0000682d or  0x0000003f , 0x00000001 , 0x0000003f 
+ 00025588  0x0000682e hstore  0x00000001 , 0x00008081 
+ 00025589  0x0000682f rtn 
+ 00025590  0x00006831 hfetch  0x00000001 , 0x00008081 
+ 00025591  0x00006832 or  0x0000003f , 0x00000003 , 0x0000003f 
+ 00025592  0x00006833 set0  0x00000004 , 0x0000003f 
+ 00025593  0x00006834 hstore  0x00000001 , 0x00008081 
+ 00025594  0x00006835 rtn 
+ 00025595  0x0000683a copy  0x0000003f , 0x00000012 
+ 00025596  0x0000683b call  0x0000640f 
+ 00025597  0x0000683c nop  0x00000064 
+ 00025598  0x0000683d copy  0x00000012 , 0x0000003f 
+ 00025599  0x0000683e call  0x00006414 
+ 00025600  0x0000683f copy  0x0000003f , 0x00000012 
+ 00025601  0x00006840 call  0x00006411 
+ 00025602  0x00006841 nop  0x00000064 
+ 00025603  0x00006842 copy  0x00000012 , 0x0000003f 
+ 00025604  0x00006843 rtn 
+ 00025605  0x00006846 copy  0x0000003f , 0x00000012 
+ 00025606  0x00006847 call  0x0000640f 
+ 00025607  0x00006848 nop  0x00000064 
+ 00025608  0x00006849 copy  0x00000012 , 0x0000003f 
+ 00025609  0x0000684a call  0x00006413 
+ 00025610  0x0000684b call  0x00006411 
+ 00025611  0x0000684c nop  0x00000064 
+ 00025612  0x0000684d rtn 
+ 00025613  0x00006851 fetcht  0x00000001 , 0x00004214 
+ 00025614  0x00006852 branch  0x0000680e 
+ 00025615  0x00006856 fetcht  0x00000001 , 0x00004214 
+ 00025616  0x00006857 branch  0x00006829 
+ 00025617  0x0000685b fetcht  0x00000001 , 0x00004214 
+ 00025618  0x0000685c branch  0x00006825 
+ 00025619  0x00006860 branch  0x000064ec 
+ 00025620  0x00006863 branch  0x000064f3 
+ 00025621  0x0000686b nbranch  0x00006419 , 0x00000028 
+ 00025622  0x0000686c hfetch  0x00000001 , 0x00008085 
+ 00025623  0x0000686d or_into  0x00000002 , 0x0000003f 
+ 00025624  0x0000686e hstore  0x00000001 , 0x00008085 
+ 00025625  0x00006870 copy  0x00000002 , 0x0000003e 
+ 00025626  0x00006871 branch  0x0000641c , 0x00000005 
+ 00025627  0x00006872 copy  0x00000013 , 0x0000003d 
+ 00025628  0x00006874 isolate0  0x00000000 , 0x0000003e 
+ 00025629  0x00006875 branch  0x000064b9 
+ 00025630  0x00006879 force  0x00000004 , 0x00000002 
+ 00025631  0x0000687b arg  0x000001fe , 0x00000011 
+ 00025632  0x0000687c hfetch  0x00000001 , 0x00008085 
+ 00025633  0x0000687d and_into  0x000000fd , 0x0000003f 
+ 00025634  0x0000687e hstore  0x00000001 , 0x00008085 
+ 00025635  0x0000687f call  0x00006419 
+ 00025636  0x00006880 arg  0x000055aa , 0x00000011 
+ 00025637  0x00006881 fetch  0x00000002 , 0x000001fe 
+ 00025638  0x00006882 ifetcht  0x00000002 , 0x00000006 
+ 00025639  0x00006883 isub  0x00000011 , 0x0000003e 
+ 00025640  0x00006884 rtn 
+ 00025641  0x00006887 arg  0x00000002 , 0x00000002 
+ 00025642  0x00006888 arg  0x00000204 , 0x00000011 
+ 00025643  0x00006889 call  0x00006419 
+ 00025644  0x0000688a fetch  0x00000002 , 0x00000204 
+ 00025645  0x0000688b store  0x00000002 , 0x000001f7 
+ 00025646  0x0000688c call  0x00006430 , 0x00000028 
+ 00025647  0x0000688d rtn 
+ 00025648  0x00006890 arg  0x00000010 , 0x00000002 
+ 00025649  0x00006891 arg  0x00000206 , 0x00000011 
+ 00025650  0x00006892 hfetch  0x00000001 , 0x00008085 
+ 00025651  0x00006893 and_into  0x000000fd , 0x0000003f 
+ 00025652  0x00006894 hstore  0x00000001 , 0x00008085 
+ 00025653  0x00006895 call  0x00006419 
+ 00025654  0x00006896 arg  0x00000206 , 0x00000006 
+ 00025655  0x00006897 arg  0x00000010 , 0x00000039 
+ 00025656  0x00006898 call  0x00007478 
+ 00025657  0x00006899 call  0x00007428 
+ 00025658  0x0000689a call  0x00007491 
+ 00025659  0x0000689b branch  0x00007422 
+ 00025660  0x0000689e disable  0x0000002d 
+ 00025661  0x0000689f call  0x0000641e 
+ 00025662  0x000068a0 nrtn  0x00000005 
+ 00025663  0x000068a1 enable  0x0000002d 
+ 00025664  0x000068a2 jam  0x00000080 , 0x00008023 
+ 00025665  0x000068a3 jam  0x00000000 , 0x00008022 
+ 00025666  0x000068a4 jam  0x00000000 , 0x00008024 
+ 00025667  0x000068a5 arg  0x00008025 , 0x00000011 
+ 00025668  0x000068a6 call  0x00006415 
+ 00025669  0x000068a7 jam  0x00000000 , 0x00008023 
+ 00025670  0x000068a9 arg  0x00000006 , 0x00000002 
+ 00025671  0x000068aa call  0x0000641f 
+ 00025672  0x000068ab nrtn  0x00000005 
+ 00025673  0x000068ac ifetch  0x00000002 , 0x00000006 
+ 00025674  0x000068ad iforce  0x00000011 
+ 00025675  0x000068ae call  0x00006419 
+ 00025676  0x000068af branch  0x00006446 
+ 00025677  0x000068b4 call  0x00007f99 
+ 00025678  0x000068b5 setarg  0x00001000 
+ 00025679  0x000068b6 store  0x00000002 , 0x000001f7 
+ 00025680  0x000068b7 arg  0x000065e5 , 0x00000013 
+ 00025681  0x000068b8 arg  0x00000002 , 0x00000039 
+ 00025682  0x000068ba call  0x0000641e 
+ 00025683  0x000068bb nrtn  0x00000005 
+ 00025684  0x000068bc fetch  0x00000002 , 0x000001f7 
+ 00025685  0x000068bd byteswap  0x0000003f , 0x0000003f 
+ 00025686  0x000068be iadd  0x00000002 , 0x0000003f 
+ 00025687  0x000068bf byteswap  0x0000003f , 0x0000003f 
+ 00025688  0x000068c0 store  0x00000002 , 0x000001f7 
+ 00025689  0x000068c1 loop  0x00006452 
+ 00025690  0x000068c2 branch  0x00006446 
+ 00025691  0x000068c5 call  0x00007f99 
+ 00025692  0x000068c6 disable  0x00000028 
+ 00025693  0x000068c7 call  0x0000666a 
+ 00025694  0x000068c8 setarg  0x00000000 
+ 00025695  0x000068c9 arg  0x000001f3 , 0x00000011 
+ 00025696  0x000068ca arg  0x00000002 , 0x00000002 
+ 00025697  0x000068cb call  0x000066b3 
+ 00025698  0x000068cc fetch  0x00000002 , 0x000001f3 
+ 00025699  0x000068cd bbit0  0x00000007 , 0x0000646e 
+ 00025700  0x000068ce jam  0x00000025 , 0x00008050 
+ 00025701  0x000068cf setarg  0x000007f0 
+ 00025702  0x000068d0 arg  0x00000206 , 0x00000011 
+ 00025703  0x000068d1 arg  0x00000010 , 0x00000002 
+ 00025704  0x000068d2 call  0x000066b3 
+ 00025705  0x000068d3 jam  0x00000008 , 0x00008006 
+ 00025706  0x000068d4 set1  0x0000002b , 0x00000000 
+ 00025707  0x000068d5 arg  0x00000206 , 0x00000006 
+ 00025708  0x000068d6 call  0x00007484 
+ 00025709  0x000068d7 enable  0x00000028 
+ 00025710  0x000068d9 jam  0x00000000 , 0x000041da 
+ 00025711  0x000068db call  0x000064b0 
+ 00025712  0x000068dc fetch  0x00000002 , 0x000001f3 
+ 00025713  0x000068dd byteswap  0x0000003f , 0x0000003f 
+ 00025714  0x000068de arg  0x000007ff , 0x00000002 
+ 00025715  0x000068df iand  0x00000002 , 0x0000003f 
+ 00025716  0x000068e0 branch  0x0000647b , 0x00000005 
+ 00025717  0x000068e1 call  0x0000666f 
+ 00025718  0x000068e2 arg  0x000066b8 , 0x00000013 
+ 00025719  0x000068e3 call  0x00006430 , 0x00000028 
+ 00025720  0x000068e4 call  0x0000643c 
+ 00025721  0x000068e5 fetch  0x00000001 , 0x000001f2 
+ 00025722  0x000068e6 bbit0  0x00000000 , 0x0000646f 
+ 00025723  0x000068e9 call  0x0000666d 
+ 00025724  0x000068ea jam  0x00000000 , 0x000041da 
+ 00025725  0x000068ec call  0x000064b0 
+ 00025726  0x000068ed call  0x000065c2 
+ 00025727  0x000068ee fetch  0x00000001 , 0x000001f3 
+ 00025728  0x000068ef bbit1  0x00000006 , 0x0000648e 
+ 00025729  0x000068f0 call  0x000064aa 
+ 00025730  0x000068f1 nbranch  0x00006486 , 0x0000002d 
+ 00025731  0x000068f2 fetch  0x00000001 , 0x000001f2 
+ 00025732  0x000068f3 bbit0  0x00000000 , 0x0000647d 
+ 00025733  0x000068f4 branch  0x0000649b 
+ 00025734  0x000068f6 call  0x000065bf 
+ 00025735  0x000068f7 fetch  0x00000001 , 0x000001f3 
+ 00025736  0x000068f8 bbit1  0x00000006 , 0x0000648e 
+ 00025737  0x000068f9 call  0x000064aa 
+ 00025738  0x000068fa nbranch  0x0000648e , 0x0000002d 
+ 00025739  0x000068fb fetch  0x00000001 , 0x000001f2 
+ 00025740  0x000068fc bbit0  0x00000000 , 0x0000647d 
+ 00025741  0x000068fd branch  0x0000649b 
+ 00025742  0x00006900 jam  0x00000000 , 0x000041da 
+ 00025743  0x00006902 call  0x000064b0 
+ 00025744  0x00006903 fetch  0x00000001 , 0x000001f3 
+ 00025745  0x00006904 bbit1  0x00000005 , 0x0000649b 
+ 00025746  0x00006905 setarg  0x00000000 
+ 00025747  0x00006906 store  0x00000003 , 0x000001f6 
+ 00025748  0x00006907 call  0x00006502 
+ 00025749  0x00006908 arg  0x00006578 , 0x00000013 
+ 00025750  0x00006909 call  0x00006429 
+ 00025751  0x0000690a call  0x0000643c 
+ 00025752  0x0000690b nbranch  0x0000649b , 0x0000002d 
+ 00025753  0x0000690c fetch  0x00000001 , 0x000001f2 
+ 00025754  0x0000690d bbit0  0x00000000 , 0x0000648f 
+ 00025755  0x00006910 bmark1  0x0000002b , 0x0000649d 
+ 00025756  0x00006911 call  0x000064a3 
+ 00025757  0x00006913 fetch  0x00000001 , 0x000001f3 
+ 00025758  0x00006914 bbit0  0x00000004 , 0x000064a3 
+ 00025759  0x00006915 jam  0x00000021 , 0x00008050 
+ 00025760  0x00006916 call  0x00004c0e 
+ 00025761  0x00006918 call  0x00004c2e 
+ 00025762  0x00006919 branch  0x000064a1 
+ 00025763  0x0000691c setarg  0x00000000 
+ 00025764  0x0000691d store  0x00000008 , 0x00000206 
+ 00025765  0x0000691e store  0x00000008 , 0x0000020e 
+ 00025766  0x0000691f force  0x00000004 , 0x00000038 
+ 00025767  0x00006920 call  0x00007492 
+ 00025768  0x00006921 jam  0x00000021 , 0x00008050 
+ 00025769  0x00006922 rtn 
+ 00025770  0x00006926 setarg  0x00000000 
+ 00025771  0x00006927 store  0x00000002 , 0x000001f7 
+ 00025772  0x00006928 arg  0x000065e5 , 0x00000013 
+ 00025773  0x00006929 call  0x000065a3 
+ 00025774  0x0000692a call  0x00006429 
+ 00025775  0x0000692b branch  0x0000643c 
+ 00025776  0x0000692f fetch  0x00000001 , 0x000041da 
+ 00025777  0x00006930 increase  0x00000001 , 0x0000003f 
+ 00025778  0x00006931 sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00025779  0x00006932 nbranch  0x000064b6 , 0x00000002 
+ 00025780  0x00006933 store  0x00000001 , 0x000041da 
+ 00025781  0x00006934 rtn 
+ 00025782  0x00006937 call  0x000064a3 
+ 00025783  0x00006938 call  0x00007fa1 
+ 00025784  0x00006939 rtn 
+ 00025785  0x0000693e fetch  0x00000001 , 0x000001f2 
+ 00025786  0x0000693f lshift  0x0000003f , 0x0000003f 
+ 00025787  0x00006940 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00025788  0x00006941 isolate0  0x0000000f , 0x00000011 
+ 00025789  0x00006942 rtn  0x00000001 
+ 00025790  0x00006943 store  0x00000001 , 0x000001f2 
+ 00025791  0x00006944 rtn 
+ 00025792  0x00006948 hfetch  0x00000001 , 0x00008085 
+ 00025793  0x00006949 rtnbit0  0x00000001 
+ 00025794  0x0000694a branch  0x000064c6 
+ 00025795  0x0000694c hfetch  0x00000001 , 0x0000812c 
+ 00025796  0x0000694d qisolate1  0x0000003f 
+ 00025797  0x0000694e rtn  0x00000001 
+ 00025798  0x00006950 hfetch  0x00000001 , 0x00008108 
+ 00025799  0x00006951 bbit0  0x00000001 , 0x000064c3 
+ 00025800  0x00006952 call  0x00007422 
+ 00025801  0x00006953 branch  0x000064c3 
+ 00025802  0x00006958 fetch  0x00000002 , 0x00004199 
+ 00025803  0x00006959 rtn  0x00000034 
+ 00025804  0x0000695a jam  0x00000080 , 0x00008023 
+ 00025805  0x0000695b jam  0x00000000 , 0x00008022 
+ 00025806  0x0000695c jam  0x00000000 , 0x00008024 
+ 00025807  0x0000695d fetcht  0x00000002 , 0x0000419b 
+ 00025808  0x0000695e lshift2  0x00000002 , 0x00000039 
+ 00025809  0x0000695f iforce  0x00000006 
+ 00025810  0x00006961 ifetch  0x00000001 , 0x00000006 
+ 00025811  0x00006962 hstore  0x00000001 , 0x00008025 
+ 00025812  0x00006963 loop  0x000064d2 
+ 00025813  0x00006964 jam  0x00000000 , 0x00008023 
+ 00025814  0x00006965 rtn 
+ 00025815  0x0000696b bpatchx  0x0000008d , 0x00004031 
+ 00025816  0x0000696c call  0x000064dd 
+ 00025817  0x0000696d branch  0x000063f2 
+ 00025818  0x00006970 call  0x000064dd 
+ 00025819  0x00006971 call  0x000063ee 
+ 00025820  0x00006972 branch  0x000063f6 
+ 00025821  0x00006975 fetch  0x00000001 , 0x00004212 
+ 00025822  0x00006976 hstore  0x00000001 , 0x00008086 
+ 00025823  0x00006977 fetch  0x00000001 , 0x00004213 
+ 00025824  0x00006978 hstore  0x00000001 , 0x00008087 
+ 00025825  0x00006979 setarg  0x000001f5 
+ 00025826  0x0000697a hstore  0x00000002 , 0x0000808a 
+ 00025827  0x0000697b setarg  0x000001fa 
+ 00025828  0x0000697c hstore  0x00000002 , 0x0000808c 
+ 00025829  0x0000697d branch  0x000063ee 
+ 00025830  0x00006980 hfetch  0x00000001 , 0x00008086 
+ 00025831  0x00006981 set1  0x00000007 , 0x0000003f 
+ 00025832  0x00006982 hstore  0x00000001 , 0x00008086 
+ 00025833  0x00006983 set0  0x00000007 , 0x0000003f 
+ 00025834  0x00006984 hstore  0x00000001 , 0x00008086 
+ 00025835  0x00006985 rtn 
+ 00025836  0x0000698a set1  0x00000007 , 0x0000003f 
+ 00025837  0x0000698b store  0x00000002 , 0x000001f5 
+ 00025838  0x0000698c bpatchx  0x0000008e , 0x00004031 
+ 00025839  0x0000698d jam  0x00000002 , 0x00008088 
+ 00025840  0x0000698e jam  0x00000000 , 0x0000808e 
+ 00025841  0x0000698f jam  0x00000002 , 0x00008006 
+ 00025842  0x00006990 branch  0x000064fc 
+ 00025843  0x00006994 force  0x00000001 , 0x00000002 
+ 00025844  0x00006998 store  0x00000001 , 0x000001f5 
+ 00025845  0x00006999 bpatchx  0x0000008f , 0x00004031 
+ 00025846  0x0000699a jam  0x00000001 , 0x00008088 
+ 00025847  0x0000699b hstoret  0x00000002 , 0x0000808e 
+ 00025848  0x0000699c jam  0x00000002 , 0x00008006 
+ 00025849  0x0000699d call  0x000064fc 
+ 00025850  0x0000699e fetch  0x00000001 , 0x000001fa 
+ 00025851  0x0000699f rtn 
+ 00025852  0x000069a2 fetch  0x00000002 , 0x000040d6 
+ 00025853  0x000069a3 increase  0x00000001 , 0x0000003f 
+ 00025854  0x000069a4 store  0x00000002 , 0x000040d6 
+ 00025855  0x000069a5 hfetch  0x00000001 , 0x0000812c 
+ 00025856  0x000069a6 bbit0  0x00000003 , 0x000064fc 
+ 00025857  0x000069a7 rtn 
+ 00025858  0x000069aa jam  0x00000040 , 0x00008086 
+ 00025859  0x000069ab jam  0x00000000 , 0x00008087 
+ 00025860  0x000069ac hfetch  0x00000001 , 0x00008081 
+ 00025861  0x000069ad set0  0x00000000 , 0x0000003f 
+ 00025862  0x000069ae set1  0x00000001 , 0x0000003f 
+ 00025863  0x000069af hstore  0x00000001 , 0x00008081 
+ 00025864  0x000069b0 setarg  0x00000000 
+ 00025865  0x000069b1 store  0x00000004 , 0x000001f5 
+ 00025866  0x000069b2 rtn 
+ 00025867  0x000069b6 setarg  0x00000000 
+ 00025868  0x000069b7 hstore  0x00000002 , 0x0000808e 
+ 00025869  0x000069b8 setarg  0x00000001 
+ 00025870  0x000069b9 hstore  0x00000002 , 0x00008088 
+ 00025871  0x000069ba setarg  0x000001f5 
+ 00025872  0x000069bb hstore  0x00000002 , 0x0000808a 
+ 00025873  0x000069bc jam  0x00000006 , 0x000001f5 
+ 00025874  0x000069bd jam  0x00000002 , 0x00008006 
+ 00025875  0x000069be branch  0x000064fc 
+ 00025876  0x000069ce disable  0x00000028 
+ 00025877  0x000069cf copy  0x0000003f , 0x00000012 
+ 00025878  0x000069d0 fetch  0x00000001 , 0x00004239 
+ 00025879  0x000069d1 rtnne  0x00000000 
+ 00025880  0x000069d2 enable  0x00000028 
+ 00025881  0x000069d3 copy  0x00000012 , 0x0000003f 
+ 00025882  0x000069d4 branch  0x00006522 
+ 00025883  0x000069d8 fetch  0x00000001 , 0x00004239 
+ 00025884  0x000069d9 beq  0x00000001 , 0x00006522 
+ 00025885  0x000069da beq  0x00000002 , 0x00006528 
+ 00025886  0x000069db beq  0x00000003 , 0x00006530 
+ 00025887  0x000069dc beq  0x00000004 , 0x00006537 
+ 00025888  0x000069dd beq  0x00000005 , 0x0000653d 
+ 00025889  0x000069de rtn 
+ 00025890  0x000069e1 store  0x00000003 , 0x00004232 
+ 00025891  0x000069e2 copy  0x00000011 , 0x0000003f 
+ 00025892  0x000069e3 store  0x00000002 , 0x00004235 
+ 00025893  0x000069e4 storet  0x00000002 , 0x00004237 
+ 00025894  0x000069e5 jam  0x00000002 , 0x00004239 
+ 00025895  0x000069e6 branch  0x00006502 
+ 00025896  0x000069e8 call  0x00006502 
+ 00025897  0x000069e9 jam  0x00000003 , 0x00004239 
+ 00025898  0x000069ea call  0x0000650b 
+ 00025899  0x000069eb arg  0x000001f5 , 0x00000011 
+ 00025900  0x000069ec fetch  0x00000003 , 0x00004232 
+ 00025901  0x000069ed jam  0x00000004 , 0x00008088 
+ 00025902  0x000069ee arg  0x00000020 , 0x00000002 
+ 00025903  0x000069ef branch  0x00006556 
+ 00025904  0x000069f2 call  0x00006502 
+ 00025905  0x000069f3 call  0x0000650b 
+ 00025906  0x000069f4 setarg  0x00000005 
+ 00025907  0x000069f5 call  0x000064f3 
+ 00025908  0x000069f6 rtnbit1  0x00000000 
+ 00025909  0x000069f7 jam  0x00000004 , 0x00004239 
+ 00025910  0x000069f8 rtn 
+ 00025911  0x000069fa call  0x00006502 
+ 00025912  0x000069fb jam  0x00000005 , 0x00004239 
+ 00025913  0x000069fc call  0x0000650b 
+ 00025914  0x000069fd call  0x0000654a 
+ 00025915  0x000069fe call  0x00006552 
+ 00025916  0x000069ff branch  0x00006545 
+ 00025917  0x00006a01 call  0x00006502 
+ 00025918  0x00006a02 call  0x0000650b 
+ 00025919  0x00006a03 setarg  0x00000005 
+ 00025920  0x00006a04 call  0x000064f3 
+ 00025921  0x00006a05 rtnbit1  0x00000000 
+ 00025922  0x00006a06 jam  0x00000000 , 0x00004239 
+ 00025923  0x00006a07 fetch  0x00000002 , 0x00004201 
+ 00025924  0x00006a08 branch  0x00007f9c 
+ 00025925  0x00006a0a fetch  0x00000004 , 0x00000aa2 
+ 00025926  0x00006a0b fetcht  0x00000002 , 0x00004235 
+ 00025927  0x00006a0c increase  0xfffffffc , 0x00000002 
+ 00025928  0x00006a0d istore  0x00000004 , 0x00000002 
+ 00025929  0x00006a0e rtn 
+ 00025930  0x00006a10 fetcht  0x00000002 , 0x00004235 
+ 00025931  0x00006a11 copy  0x00000002 , 0x00000011 
+ 00025932  0x00006a12 increase  0xfffffffc , 0x00000002 
+ 00025933  0x00006a13 ifetch  0x00000004 , 0x00000002 
+ 00025934  0x00006a14 store  0x00000004 , 0x00000aa2 
+ 00025935  0x00006a15 fetcht  0x00000002 , 0x00004237 
+ 00025936  0x00006a16 fetch  0x00000003 , 0x00004232 
+ 00025937  0x00006a17 rtn 
+ 00025938  0x00006a1c increase  0x00000004 , 0x00000002 
+ 00025939  0x00006a1d hstoret  0x00000002 , 0x00008088 
+ 00025940  0x00006a1e arg  0x00000002 , 0x00000002 
+ 00025941  0x00006a1f increase  0xfffffffc , 0x00000011 
+ 00025942  0x00006a22 istoret  0x00000001 , 0x00000011 
+ 00025943  0x00006a23 rshift16  0x0000003f , 0x00000002 
+ 00025944  0x00006a24 istoret  0x00000001 , 0x00000005 
+ 00025945  0x00006a25 rshift8  0x0000003f , 0x00000002 
+ 00025946  0x00006a26 istoret  0x00000001 , 0x00000005 
+ 00025947  0x00006a27 istore  0x00000001 , 0x00000005 
+ 00025948  0x00006a28 deposit  0x00000011 
+ 00025949  0x00006a29 hstore  0x00000002 , 0x0000808a 
+ 00025950  0x00006a2a setarg  0x00000000 
+ 00025951  0x00006a2b hstore  0x00000002 , 0x0000808e 
+ 00025952  0x00006a2c jam  0x00000002 , 0x00008006 
+ 00025953  0x00006a2d branch  0x000064fc 
+ 00025954  0x00006a32 hstoret  0x00000002 , 0x0000808e 
+ 00025955  0x00006a33 rshift16  0x0000003f , 0x00000002 
+ 00025956  0x00006a34 storet  0x00000001 , 0x000001f6 
+ 00025957  0x00006a35 rshift8  0x0000003f , 0x00000002 
+ 00025958  0x00006a36 storet  0x00000001 , 0x000001f7 
+ 00025959  0x00006a37 store  0x00000001 , 0x000001f8 
+ 00025960  0x00006a38 setarg  0x00000004 
+ 00025961  0x00006a39 hstore  0x00000002 , 0x00008088 
+ 00025962  0x00006a3a jam  0x00000003 , 0x000001f5 
+ 00025963  0x00006a3b setarg  0x000001f5 
+ 00025964  0x00006a3c hstore  0x00000002 , 0x0000808a 
+ 00025965  0x00006a3d deposit  0x00000011 
+ 00025966  0x00006a3e hstore  0x00000002 , 0x0000808c 
+ 00025967  0x00006a3f hfetch  0x00000001 , 0x00008086 
+ 00025968  0x00006a40 isolate0  0x0000000f , 0x00000011 
+ 00025969  0x00006a41 setflag  0x00000001 , 0x00000006 , 0x0000003f 
+ 00025970  0x00006a42 hstore  0x00000001 , 0x00008086 
+ 00025971  0x00006a43 jam  0x00000002 , 0x00008006 
+ 00025972  0x00006a45 hfetch  0x00000001 , 0x0000812c 
+ 00025973  0x00006a46 bbit1  0x00000007 , 0x00006574 
+ 00025974  0x00006a47 arg  0x00000003 , 0x00000007 
+ 00025975  0x00006a48 branch  0x000064fc 
+ 00025976  0x00006a4d hstoret  0x00000002 , 0x0000808e 
+ 00025977  0x00006a4e setarg  0x00000004 
+ 00025978  0x00006a4f hstore  0x00000002 , 0x00008088 
+ 00025979  0x00006a50 jam  0x00000003 , 0x000001f5 
+ 00025980  0x00006a51 setarg  0x000001f5 
+ 00025981  0x00006a52 hstore  0x00000002 , 0x0000808a 
+ 00025982  0x00006a53 deposit  0x00000011 
+ 00025983  0x00006a54 hstore  0x00000002 , 0x0000808c 
+ 00025984  0x00006a55 hfetch  0x00000001 , 0x00008086 
+ 00025985  0x00006a56 isolate0  0x0000000f , 0x00000011 
+ 00025986  0x00006a57 setflag  0x00000001 , 0x00000006 , 0x0000003f 
+ 00025987  0x00006a58 hstore  0x00000001 , 0x00008086 
+ 00025988  0x00006a59 jam  0x00000002 , 0x00008006 
+ 00025989  0x00006a5b hfetch  0x00000001 , 0x0000812c 
+ 00025990  0x00006a5c bbit1  0x00000007 , 0x00006585 
+ 00025991  0x00006a5d arg  0x00000003 , 0x00000007 
+ 00025992  0x00006a5e call  0x000064c0 
+ 00025993  0x00006a5f call  0x000064fc 
+ 00025994  0x00006a60 isolate1  0x00000002 , 0x0000003f 
+ 00025995  0x00006a61 call  0x000064b9 
+ 00025996  0x00006a62 fetch  0x00000001 , 0x000001f6 
+ 00025997  0x00006a63 lshift16  0x0000003f , 0x00000012 
+ 00025998  0x00006a64 fetch  0x00000001 , 0x000001f7 
+ 00025999  0x00006a65 lshift8  0x0000003f , 0x0000003f 
+ 00026000  0x00006a66 ior  0x00000012 , 0x00000012 
+ 00026001  0x00006a67 fetch  0x00000001 , 0x000001f8 
+ 00026002  0x00006a68 ior  0x00000012 , 0x0000003f 
+ 00026003  0x00006a69 iadd  0x00000002 , 0x0000003f 
+ 00026004  0x00006a6a store  0x00000001 , 0x000001f8 
+ 00026005  0x00006a6b rshift8  0x0000003f , 0x0000003f 
+ 00026006  0x00006a6c store  0x00000001 , 0x000001f7 
+ 00026007  0x00006a6d rshift8  0x0000003f , 0x0000003f 
+ 00026008  0x00006a6e store  0x00000001 , 0x000001f6 
+ 00026009  0x00006a6f rtn 
+ 00026010  0x00006a75 jam  0x00000001 , 0x00008010 
+ 00026011  0x00006a76 rtn 
+ 00026012  0x00006a7d jam  0x0000000c , 0x00008091 
+ 00026013  0x00006a7e jam  0x0000000d , 0x00008092 
+ 00026014  0x00006a7f jam  0x0000000d , 0x00008093 
+ 00026015  0x00006a80 jam  0x0000000d , 0x00008094 
+ 00026016  0x00006a81 jam  0x0000000d , 0x00008095 
+ 00026017  0x00006a82 jam  0x0000000c , 0x00008096 
+ 00026018  0x00006a83 branch  0x000065a9 
+ 00026019  0x00006a87 jam  0x00000005 , 0x00008091 
+ 00026020  0x00006a88 jam  0x00000007 , 0x00008092 
+ 00026021  0x00006a89 jam  0x00000007 , 0x00008093 
+ 00026022  0x00006a8a jam  0x00000007 , 0x00008094 
+ 00026023  0x00006a8b jam  0x00000007 , 0x00008095 
+ 00026024  0x00006a8c jam  0x00000005 , 0x00008096 
+ 00026025  0x00006a8e hfetch  0x00000001 , 0x0000807b 
+ 00026026  0x00006a8f or_into  0x000000c0 , 0x0000003f 
+ 00026027  0x00006a90 hstore  0x00000001 , 0x0000807b 
+ 00026028  0x00006a91 hfetch  0x00000001 , 0x00008081 
+ 00026029  0x00006a92 or_into  0x00000010 , 0x0000003f 
+ 00026030  0x00006a93 hstore  0x00000001 , 0x00008081 
+ 00026031  0x00006a94 rtn 
+ 00026032  0x00006a99 hfetch  0x00000001 , 0x0000812c 
+ 00026033  0x00006a9a bbit0  0x00000005 , 0x000065b0 
+ 00026034  0x00006a9b rtn 
+ 00026035  0x00006aa4 hstore  0x00000002 , 0x00008098 
+ 00026036  0x00006aa5 deposit  0x00000011 
+ 00026037  0x00006aa6 hstore  0x00000002 , 0x0000809a 
+ 00026038  0x00006aa7 deposit  0x00000012 
+ 00026039  0x00006aa8 hstore  0x00000002 , 0x0000809c 
+ 00026040  0x00006aa9 deposit  0x00000002 
+ 00026041  0x00006aaa hstore  0x00000002 , 0x0000809e 
+ 00026042  0x00006aab arg  0x00000001 , 0x00000002 
+ 00026043  0x00006aac nsetflag  0x00000034 , 0x00000001 , 0x00000002 
+ 00026044  0x00006aad hstore  0x00000001 , 0x00008090 
+ 00026045  0x00006aae jam  0x00000004 , 0x00008006 
+ 00026046  0x00006aaf branch  0x000065b0 
+ 00026047  0x00006ab3 set1  0x00000028 , 0x00000000 
+ 00026048  0x00006ab4 jam  0x00000008 , 0x00004211 
+ 00026049  0x00006ab5 rtn 
+ 00026050  0x00006ab8 set0  0x00000028 , 0x00000000 
+ 00026051  0x00006ab9 jam  0x00000020 , 0x00004211 
+ 00026052  0x00006aba rtn 
+ 00026053  0x00006abe fetch  0x00000001 , 0x00004203 
+ 00026054  0x00006abf iadd  0x00000012 , 0x0000003f 
+ 00026055  0x00006ac0 store  0x00000001 , 0x000001f7 
+ 00026056  0x00006ac1 branch  0x000065cc 
+ 00026057  0x00006ac4 fetch  0x00000002 , 0x000001f7 
+ 00026058  0x00006ac5 byteswap  0x0000003f , 0x0000003f 
+ 00026059  0x00006ac6 store  0x00000001 , 0x000001f7 
+ 00026060  0x00006acc setarg  0x00000003 
+ 00026061  0x00006acd hstore  0x00000002 , 0x00008098 
+ 00026062  0x00006ace jam  0x000000a0 , 0x000001f6 
+ 00026063  0x00006acf jam  0x000000a1 , 0x000001f8 
+ 00026064  0x00006ad0 branch  0x000065eb 
+ 00026065  0x00006ad7 storet  0x00000002 , 0x00000aa2 
+ 00026066  0x00006ad8 call  0x000065d6 
+ 00026067  0x00006ad9 fetcht  0x00000002 , 0x00000aa2 
+ 00026068  0x00006ada call  0x00006606 
+ 00026069  0x00006adb branch  0x000065dd 
+ 00026070  0x00006ade fetch  0x00000001 , 0x0000423a 
+ 00026071  0x00006adf rtneq  0x000000ff 
+ 00026072  0x00006ae0 bbit0  0x00000006 , 0x000065db 
+ 00026073  0x00006ae1 setarg  0x000249f0 
+ 00026074  0x00006ae2 call  0x00002a8f 
+ 00026075  0x00006ae4 fetcht  0x00000001 , 0x0000423a 
+ 00026076  0x00006ae5 branch  0x00006829 
+ 00026077  0x00006ae8 fetcht  0x00000001 , 0x0000423a 
+ 00026078  0x00006ae9 branch  0x00006825 
+ 00026079  0x00006aef bpatchx  0x00000090 , 0x00004032 
+ 00026080  0x00006af0 bmark1  0x00000028 , 0x000065c5 
+ 00026081  0x00006af1 fetch  0x00000002 , 0x00004203 
+ 00026082  0x00006af2 iadd  0x00000012 , 0x0000003f 
+ 00026083  0x00006af3 byteswap  0x0000003f , 0x0000003f 
+ 00026084  0x00006af4 store  0x00000002 , 0x000001f7 
+ 00026085  0x00006af8 bpatchx  0x00000091 , 0x00004032 
+ 00026086  0x00006af9 bmark1  0x00000028 , 0x000065c9 
+ 00026087  0x00006afa setarg  0x00000004 
+ 00026088  0x00006afb hstore  0x00000002 , 0x00008098 
+ 00026089  0x00006afc jam  0x000000a0 , 0x000001f6 
+ 00026090  0x00006afd jam  0x000000a1 , 0x000001f9 
+ 00026091  0x00006aff setarg  0x000001f6 
+ 00026092  0x00006b00 hstore  0x00000002 , 0x0000809a 
+ 00026093  0x00006b01 hstoret  0x00000002 , 0x0000809e 
+ 00026094  0x00006b02 deposit  0x00000011 
+ 00026095  0x00006b03 hstore  0x00000002 , 0x0000809c 
+ 00026096  0x00006b04 setarg  0x00000002 
+ 00026097  0x00006b05 isolate0  0x0000000f , 0x00000011 
+ 00026098  0x00006b06 setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00026099  0x00006b07 hstore  0x00000001 , 0x00008090 
+ 00026100  0x00006b08 jam  0x00000004 , 0x00008006 
+ 00026101  0x00006b09 arg  0x00000005 , 0x00000007 
+ 00026102  0x00006b0a call  0x000064c0 
+ 00026103  0x00006b0b call  0x000065b0 
+ 00026104  0x00006b0c isolate1  0x00000004 , 0x0000003f 
+ 00026105  0x00006b0d call  0x000064b9 
+ 00026106  0x00006b0e bmark1  0x00000028 , 0x00006601 
+ 00026107  0x00006b0f fetch  0x00000002 , 0x000001f7 
+ 00026108  0x00006b10 byteswap  0x0000003f , 0x0000003f 
+ 00026109  0x00006b11 iadd  0x00000002 , 0x0000003f 
+ 00026110  0x00006b12 byteswap  0x0000003f , 0x0000003f 
+ 00026111  0x00006b13 store  0x00000002 , 0x000001f7 
+ 00026112  0x00006b14 rtn 
+ 00026113  0x00006b17 fetch  0x00000001 , 0x000001f7 
+ 00026114  0x00006b18 iadd  0x00000002 , 0x0000003f 
+ 00026115  0x00006b19 byteswap  0x0000003f , 0x0000003f 
+ 00026116  0x00006b1a store  0x00000002 , 0x000001f7 
+ 00026117  0x00006b1b rtn 
+ 00026118  0x00006b22 fetch  0x00000002 , 0x00004203 
+ 00026119  0x00006b23 iadd  0x00000012 , 0x0000003f 
+ 00026120  0x00006b27 store  0x00000002 , 0x00000a9a 
+ 00026121  0x00006b28 bpatchx  0x00000092 , 0x00004032 
+ 00026122  0x00006b29 storet  0x00000002 , 0x00000aa2 
+ 00026123  0x00006b2a copy  0x00000011 , 0x0000003f 
+ 00026124  0x00006b2b store  0x00000002 , 0x00000ab9 
+ 00026125  0x00006b2d call  0x0000661d 
+ 00026126  0x00006b2f fetcht  0x00000002 , 0x00000ab2 
+ 00026127  0x00006b30 fetch  0x00000002 , 0x00000ab9 
+ 00026128  0x00006b31 copy  0x0000003f , 0x00000011 
+ 00026129  0x00006b32 fetch  0x00000002 , 0x00000a9a 
+ 00026130  0x00006b34 call  0x0000663d 
+ 00026131  0x00006b36 fetch  0x00000002 , 0x00000ab2 
+ 00026132  0x00006b37 fetcht  0x00000002 , 0x00000ab9 
+ 00026133  0x00006b38 iadd  0x00000002 , 0x00000002 
+ 00026134  0x00006b39 storet  0x00000002 , 0x00000ab9 
+ 00026135  0x00006b3a fetcht  0x00000002 , 0x00000a9a 
+ 00026136  0x00006b3b iadd  0x00000002 , 0x00000002 
+ 00026137  0x00006b3c storet  0x00000002 , 0x00000a9a 
+ 00026138  0x00006b3d fetch  0x00000002 , 0x00000aa2 
+ 00026139  0x00006b3e nbranch  0x0000660d , 0x00000034 
+ 00026140  0x00006b3f rtn 
+ 00026141  0x00006b48 bpatchx  0x00000093 , 0x00004032 
+ 00026142  0x00006b49 fetch  0x00000001 , 0x00004211 
+ 00026143  0x00006b4a increase  0xffffffff , 0x0000003f 
+ 00026144  0x00006b4b fetcht  0x00000002 , 0x00000a9a 
+ 00026145  0x00006b4c ior  0x00000002 , 0x0000003f 
+ 00026146  0x00006b4d increase  0x00000001 , 0x0000003f 
+ 00026147  0x00006b4e store  0x00000003 , 0x00000ab6 
+ 00026148  0x00006b50 fetch  0x00000002 , 0x00000aa2 
+ 00026149  0x00006b51 iadd  0x00000002 , 0x0000003f 
+ 00026150  0x00006b53 fetcht  0x00000003 , 0x00000ab6 
+ 00026151  0x00006b54 isub  0x00000002 , 0x0000003f 
+ 00026152  0x00006b55 nbranch  0x0000662f , 0x00000002 
+ 00026153  0x00006b56 store  0x00000002 , 0x00000aa2 
+ 00026154  0x00006b57 fetch  0x00000003 , 0x00000ab6 
+ 00026155  0x00006b58 fetcht  0x00000002 , 0x00000a9a 
+ 00026156  0x00006b59 isub  0x00000002 , 0x0000003f 
+ 00026157  0x00006b5a store  0x00000002 , 0x00000ab2 
+ 00026158  0x00006b5b rtn 
+ 00026159  0x00006b5d fetch  0x00000002 , 0x00000aa2 
+ 00026160  0x00006b5e store  0x00000002 , 0x00000ab2 
+ 00026161  0x00006b5f setarg  0x00000000 
+ 00026162  0x00006b60 store  0x00000002 , 0x00000aa2 
+ 00026163  0x00006b61 rtn 
+ 00026164  0x00006b64 increase  0x00000002 , 0x00000002 
+ 00026165  0x00006b65 hstoret  0x00000002 , 0x00008098 
+ 00026166  0x00006b66 increase  0xfffffffe , 0x00000011 
+ 00026167  0x00006b67 ifetcht  0x00000003 , 0x00000011 
+ 00026168  0x00006b68 copy  0x00000002 , 0x00000012 
+ 00026169  0x00006b69 arg  0x000000a0 , 0x00000002 
+ 00026170  0x00006b6a istoret  0x00000001 , 0x00000011 
+ 00026171  0x00006b6c istore  0x00000001 , 0x00000005 
+ 00026172  0x00006b6d branch  0x0000664a 
+ 00026173  0x00006b71 copy  0x0000003f , 0x00000012 
+ 00026174  0x00006b72 bpatchx  0x00000094 , 0x00004032 
+ 00026175  0x00006b73 bmark1  0x00000028 , 0x00006634 
+ 00026176  0x00006b74 copy  0x00000012 , 0x0000003f 
+ 00026177  0x00006b75 increase  0x00000003 , 0x00000002 
+ 00026178  0x00006b76 hstoret  0x00000002 , 0x00008098 
+ 00026179  0x00006b77 increase  0xfffffffd , 0x00000011 
+ 00026180  0x00006b78 ifetcht  0x00000003 , 0x00000011 
+ 00026181  0x00006b79 copy  0x00000002 , 0x00000012 
+ 00026182  0x00006b7a arg  0x000000a0 , 0x00000002 
+ 00026183  0x00006b7b istoret  0x00000001 , 0x00000011 
+ 00026184  0x00006b7c byteswap  0x0000003f , 0x0000003f 
+ 00026185  0x00006b7d istore  0x00000002 , 0x00000005 
+ 00026186  0x00006b7f deposit  0x00000011 
+ 00026187  0x00006b80 hstore  0x00000002 , 0x0000809a 
+ 00026188  0x00006b81 setarg  0x00000000 
+ 00026189  0x00006b82 hstore  0x00000002 , 0x0000809e 
+ 00026190  0x00006b83 jam  0x00000001 , 0x00008090 
+ 00026191  0x00006b84 jam  0x00000004 , 0x00008006 
+ 00026192  0x00006b85 call  0x000065b0 
+ 00026193  0x00006b86 copy  0x00000012 , 0x0000003f 
+ 00026194  0x00006b87 istore  0x00000003 , 0x00000011 
+ 00026195  0x00006b8a bpatchx  0x00000095 , 0x00004032 
+ 00026196  0x00006b8b jam  0x00000000 , 0x000001f9 
+ 00026197  0x00006b8d setarg  0x00000001 
+ 00026198  0x00006b8e hstore  0x00000002 , 0x00008098 
+ 00026199  0x00006b8f jam  0x000000a0 , 0x000001f6 
+ 00026200  0x00006b90 setarg  0x000001f6 
+ 00026201  0x00006b91 hstore  0x00000002 , 0x0000809a 
+ 00026202  0x00006b92 setarg  0x00000000 
+ 00026203  0x00006b93 hstore  0x00000002 , 0x0000809e 
+ 00026204  0x00006b94 hstore  0x00000002 , 0x0000809c 
+ 00026205  0x00006b95 setarg  0x00000003 
+ 00026206  0x00006b96 hstore  0x00000001 , 0x00008090 
+ 00026207  0x00006b97 jam  0x00000004 , 0x00008006 
+ 00026208  0x00006b98 call  0x000065b0 
+ 00026209  0x00006b99 hfetch  0x00000001 , 0x0000812c 
+ 00026210  0x00006b9a rtnbit0  0x00000006 
+ 00026211  0x00006b9b nop  0x000005dc 
+ 00026212  0x00006b9c fetch  0x00000001 , 0x000001f9 
+ 00026213  0x00006b9d increase  0x00000001 , 0x0000003f 
+ 00026214  0x00006b9e store  0x00000001 , 0x000001f9 
+ 00026215  0x00006b9f sub  0x0000003f , 0x00000028 , 0x0000003e 
+ 00026216  0x00006ba0 nrtn  0x00000002 
+ 00026217  0x00006ba1 branch  0x00006655 
+ 00026218  0x00006ba6 jam  0x00000070 , 0x00008973 
+ 00026219  0x00006ba7 nop  0x00000bb8 
+ 00026220  0x00006ba8 rtn 
+ 00026221  0x00006bab jam  0x00000030 , 0x00008973 
+ 00026222  0x00006bac rtn 
+ 00026223  0x00006baf lshift3  0x0000003f , 0x0000003f 
+ 00026224  0x00006bb0 hstore  0x00000002 , 0x00008045 
+ 00026225  0x00006bb1 jam  0x00000000 , 0x0000804b 
+ 00026226  0x00006bb2 rtn 
+ 00026227  0x00006bb6 call  0x0000666f 
+ 00026228  0x00006bb7 call  0x000066a0 
+ 00026229  0x00006bb9 ifetcht  0x00000001 , 0x00000011 
+ 00026230  0x00006bba increase  0x00000001 , 0x00000011 
+ 00026231  0x00006bbb force  0x00000000 , 0x00000007 
+ 00026232  0x00006bbd qisolate0  0x00000002 
+ 00026233  0x00006bbe branch  0x00006697 , 0x00000001 
+ 00026234  0x00006bbf hfetch  0x00000001 , 0x00008046 
+ 00026235  0x00006bc0 set1  0x00000006 , 0x0000003f 
+ 00026236  0x00006bc1 set1  0x00000007 , 0x0000003f 
+ 00026237  0x00006bc2 hstore  0x00000001 , 0x00008046 
+ 00026238  0x00006bc3 jam  0x00000002 , 0x00008047 
+ 00026239  0x00006bc4 jam  0x00000082 , 0x00008047 
+ 00026240  0x00006bc5 set0  0x00000007 , 0x0000003f 
+ 00026241  0x00006bc6 hstore  0x00000001 , 0x00008046 
+ 00026242  0x00006bc7 jam  0x0000008a , 0x00008047 
+ 00026243  0x00006bc8 nop  0x0000000b 
+ 00026244  0x00006bc9 jam  0x000000ca , 0x00008047 
+ 00026245  0x00006bca nop  0x00000021 
+ 00026246  0x00006bcb jam  0x0000004a , 0x00008047 
+ 00026247  0x00006bcc nop  0x0000002c 
+ 00026248  0x00006bcd jam  0x000000ca , 0x00008047 
+ 00026249  0x00006bce nop  0x00000016 
+ 00026250  0x00006bcf jam  0x0000008a , 0x00008047 
+ 00026251  0x00006bd0 nop  0x00000021 
+ 00026252  0x00006bd1 jam  0x00000082 , 0x00008047 
+ 00026253  0x00006bd2 nop  0x00000001 
+ 00026254  0x00006bd3 jam  0x00000092 , 0x00008047 
+ 00026255  0x00006bd4 nop  0x0000000a 
+ 00026256  0x00006bd5 jam  0x000000b2 , 0x00008047 
+ 00026257  0x00006bd6 hfetch  0x00000001 , 0x00008007 
+ 00026258  0x00006bd7 jam  0x00000092 , 0x00008047 
+ 00026259  0x00006bd8 nop  0x00000001 
+ 00026260  0x00006bd9 jam  0x00000082 , 0x00008047 
+ 00026261  0x00006bda qisolate0  0x0000003f 
+ 00026262  0x00006bdb branch  0x00006678 , 0x00000001 
+ 00026263  0x00006bdd hfetch  0x00000002 , 0x00008045 
+ 00026264  0x00006bde increase  0x00000001 , 0x0000003f 
+ 00026265  0x00006bdf hstore  0x00000002 , 0x00008045 
+ 00026266  0x00006be0 increase  0x00000001 , 0x00000007 
+ 00026267  0x00006be1 compare  0x00000008 , 0x00000007 , 0x0000000f 
+ 00026268  0x00006be2 nbranch  0x00006678 , 0x00000001 
+ 00026269  0x00006be3 loop  0x00006675 
+ 00026270  0x00006be4 jam  0x00000083 , 0x00008047 
+ 00026271  0x00006be5 rtn 
+ 00026272  0x00006be8 jam  0x00000082 , 0x00008047 
+ 00026273  0x00006be9 nop  0x0000000c 
+ 00026274  0x00006bea jam  0x00000080 , 0x00008047 
+ 00026275  0x00006beb jam  0x00000082 , 0x00008047 
+ 00026276  0x00006bec nop  0x00000096 
+ 00026277  0x00006bed rtn 
+ 00026278  0x00006bf1 call  0x000066a0 
+ 00026279  0x00006bf2 jam  0x000000a2 , 0x00008047 
+ 00026280  0x00006bf3 deposit  0x00000011 
+ 00026281  0x00006bf4 hstore  0x00000002 , 0x00008048 
+ 00026282  0x00006bf5 set1  0x0000000b , 0x00000002 
+ 00026283  0x00006bf6 isolate0  0x0000000f , 0x0000003f 
+ 00026284  0x00006bf7 setflag  0x00000001 , 0x0000000f , 0x00000002 
+ 00026285  0x00006bf8 hstoret  0x00000002 , 0x0000804a 
+ 00026286  0x00006bf9 jam  0x00000001 , 0x00008006 
+ 00026287  0x00006bfa rtn 
+ 00026288  0x00006bfd hfetch  0x00000001 , 0x0000812c 
+ 00026289  0x00006bfe bbit0  0x00000001 , 0x000066b0 
+ 00026290  0x00006bff rtn 
+ 00026291  0x00006c03 call  0x0000666f 
+ 00026292  0x00006c04 call  0x000066a6 
+ 00026293  0x00006c05 call  0x000066b0 
+ 00026294  0x00006c06 jam  0x00000083 , 0x00008047 
+ 00026295  0x00006c07 rtn 
+ 00026296  0x00006c0d hfetch  0x00000002 , 0x00008124 
+ 00026297  0x00006c0e hstore  0x00000002 , 0x00008045 
+ 00026298  0x00006c0f call  0x000066a6 
+ 00026299  0x00006c10 arg  0x00000001 , 0x00000007 
+ 00026300  0x00006c11 call  0x000064c0 
+ 00026301  0x00006c12 call  0x000066b0 
+ 00026302  0x00006c13 isolate1  0x00000000 , 0x0000003f 
+ 00026303  0x00006c14 call  0x000064b9 
+ 00026304  0x00006c15 jam  0x00000083 , 0x00008047 
+ 00026305  0x00006c16 rtn 
+ 00026306  0x00006c1a hfetch  0x00000002 , 0x0000805e 
+ 00026307  0x00006c1b iforce  0x0000000a 
+ 00026308  0x00006c1c rtn 
+ 00026309  0x00006c1f deposit  0x0000000a 
+ 00026310  0x00006c20 hstore  0x00000002 , 0x0000805e 
+ 00026311  0x00006c21 rtn 
+ 00026312  0x00006c24 deposit  0x00000003 
+ 00026313  0x00006c25 hstore  0x00000002 , 0x00008058 
+ 00026314  0x00006c26 rtn 
+ 00026315  0x00006c29 hfetch  0x00000002 , 0x00008058 
+ 00026316  0x00006c2a copy  0x0000003f , 0x00000003 
+ 00026317  0x00006c2b rtn 
+ 00026318  0x00006c2e fetch  0x00000002 , 0x00004243 
+ 00026319  0x00006c2f hstore  0x00000002 , 0x00008052 
+ 00026320  0x00006c30 rtn 
+ 00026321  0x00006c33 deposit  0x00000039 
+ 00026322  0x00006c34 rtn  0x00000034 
+ 00026323  0x00006c36 increase  0xfffffff8 , 0x00000039 
+ 00026324  0x00006c37 call  0x000066de , 0x00000002 
+ 00026325  0x00006c38 rtn  0x00000005 
+ 00026326  0x00006c39 branch  0x000066d3 , 0x00000002 
+ 00026327  0x00006c3a increase  0x00000008 , 0x00000039 
+ 00026328  0x00006c3c increase  0xfffffffc , 0x00000039 
+ 00026329  0x00006c3d call  0x000066e1 , 0x00000002 
+ 00026330  0x00006c3e rtn  0x00000005 
+ 00026331  0x00006c3f branch  0x000066d8 , 0x00000002 
+ 00026332  0x00006c40 increase  0x00000004 , 0x00000039 
+ 00026333  0x00006c41 branch  0x000066e4 
+ 00026334  0x00006c44 ifetch  0x00000008 , 0x00000006 
+ 00026335  0x00006c45 istore  0x00000008 , 0x0000000a 
+ 00026336  0x00006c46 rtn 
+ 00026337  0x00006c49 ifetch  0x00000004 , 0x00000006 
+ 00026338  0x00006c4a istore  0x00000004 , 0x0000000a 
+ 00026339  0x00006c4b rtn 
+ 00026340  0x00006c4e deposit  0x00000039 
+ 00026341  0x00006c4f rtn  0x00000034 
+ 00026342  0x00006c51 ifetch  0x00000001 , 0x00000006 
+ 00026343  0x00006c52 istore  0x00000001 , 0x0000000a 
+ 00026344  0x00006c53 loop  0x000066e6 
+ 00026345  0x00006c54 rtn 
+ 00026346  0x00006c57 deposit  0x00000039 
+ 00026347  0x00006c58 rtn  0x00000034 
+ 00026348  0x00006c5a increase  0xfffffff8 , 0x00000039 
+ 00026349  0x00006c5b call  0x000066f7 , 0x00000002 
+ 00026350  0x00006c5c rtn  0x00000005 
+ 00026351  0x00006c5d branch  0x000066ec , 0x00000002 
+ 00026352  0x00006c5e increase  0x00000008 , 0x00000039 
+ 00026353  0x00006c60 increase  0xfffffffc , 0x00000039 
+ 00026354  0x00006c61 call  0x000066fa , 0x00000002 
+ 00026355  0x00006c62 rtn  0x00000005 
+ 00026356  0x00006c63 branch  0x000066f1 , 0x00000002 
+ 00026357  0x00006c64 increase  0x00000004 , 0x00000039 
+ 00026358  0x00006c65 branch  0x000066fd 
+ 00026359  0x00006c68 ifetch  0x00000008 , 0x00000003 
+ 00026360  0x00006c69 istore  0x00000008 , 0x00000005 
+ 00026361  0x00006c6a rtn 
+ 00026362  0x00006c6d ifetch  0x00000004 , 0x00000003 
+ 00026363  0x00006c6e istore  0x00000004 , 0x00000005 
+ 00026364  0x00006c6f rtn 
+ 00026365  0x00006c73 deposit  0x00000039 
+ 00026366  0x00006c74 rtn  0x00000034 
+ 00026367  0x00006c76 ifetch  0x00000001 , 0x00000003 
+ 00026368  0x00006c77 istore  0x00000001 , 0x00000005 
+ 00026369  0x00006c78 loop  0x000066ff 
+ 00026370  0x00006c79 rtn 
+ 00026371  0x00006c7d deposit  0x00000039 
+ 00026372  0x00006c7e rtn  0x00000034 
+ 00026373  0x00006c80 ifetch  0x00000001 , 0x00000003 
+ 00026374  0x00006c81 istore  0x00000001 , 0x0000000a 
+ 00026375  0x00006c82 loop  0x00006705 
+ 00026376  0x00006c83 rtn 
+ 00026377  0x00006c89 jam  0x0000003d , 0x00000a99 
+ 00026378  0x00006c8a branch  0x00007d86 
+ 00026379  0x00006c8e bpatchx  0x00000096 , 0x00004032 
+ 00026380  0x00006c8f fetch  0x00000001 , 0x00004217 
+ 00026381  0x00006c90 rtn  0x00000034 
+ 00026382  0x00006c91 call  0x000067a3 
+ 00026383  0x00006c92 call  0x000067a9 , 0x00000005 
+ 00026384  0x00006c93 call  0x0000673e 
+ 00026385  0x00006c95 fetch  0x00000001 , 0x00004217 
+ 00026386  0x00006c96 icopy  0x00000013 
+ 00026387  0x00006c97 fetcht  0x00000002 , 0x00004215 
+ 00026388  0x00006c98 storet  0x00000002 , 0x0000018c 
+ 00026389  0x00006c9a copy  0x00000013 , 0x0000003f 
+ 00026390  0x00006c9b branch  0x00006709 , 0x00000034 
+ 00026391  0x00006c9c increase  0xffffffff , 0x00000013 
+ 00026392  0x00006c9d copy  0x00000002 , 0x00000011 
+ 00026393  0x00006c9e ifetch  0x00000001 , 0x00000011 
+ 00026394  0x00006c9f fetcht  0x00000001 , 0x00000184 
+ 00026395  0x00006ca0 isub  0x00000002 , 0x0000003e 
+ 00026396  0x00006ca1 call  0x00006725 , 0x00000005 
+ 00026397  0x00006ca2 branch  0x00006721 , 0x00000002 
+ 00026398  0x00006ca3 ifetch  0x00000001 , 0x00000011 
+ 00026399  0x00006ca4 increase  0x00000001 , 0x0000003f 
+ 00026400  0x00006ca5 istore  0x00000001 , 0x00000011 
+ 00026401  0x00006ca7 fetcht  0x00000002 , 0x0000018c 
+ 00026402  0x00006ca8 increase  0x00000022 , 0x00000002 
+ 00026403  0x00006ca9 storet  0x00000002 , 0x0000018c 
+ 00026404  0x00006caa branch  0x00006715 
+ 00026405  0x00006cad setarg  0x00000000 
+ 00026406  0x00006cae istore  0x00000001 , 0x00000011 
+ 00026407  0x00006caf fetch  0x00000001 , 0x00000185 
+ 00026408  0x00006cb0 istore  0x00000001 , 0x00000005 
+ 00026409  0x00006cb1 bne  0x00000033 , 0x00006733 
+ 00026410  0x00006cb2 arg  0x000041be , 0x00000012 
+ 00026411  0x00006cb4 ifetch  0x00000006 , 0x00000006 
+ 00026412  0x00006cb5 istore  0x00000008 , 0x00000005 
+ 00026413  0x00006cb6 setarg  0x00000000 
+ 00026414  0x00006cb7 istore  0x00000008 , 0x00000005 
+ 00026415  0x00006cb8 copy  0x00000012 , 0x00000006 
+ 00026416  0x00006cba call  0x00007ebf 
+ 00026417  0x00006cbb force  0x00000001 , 0x0000003e 
+ 00026418  0x00006cbc rtn 
+ 00026419  0x00006cbf beq  0x00000036 , 0x00006737 
+ 00026420  0x00006cc0 beq  0x00000037 , 0x0000673b 
+ 00026421  0x00006cc1 arg  0x00004419 , 0x00000012 
+ 00026422  0x00006cc2 branch  0x0000672b 
+ 00026423  0x00006cc5 arg  0x000044d5 , 0x00000006 
+ 00026424  0x00006cc6 call  0x00007ebf 
+ 00026425  0x00006cc8 arg  0x00004419 , 0x00000006 
+ 00026426  0x00006cc9 branch  0x00006730 
+ 00026427  0x00006ccc arg  0x000044cd , 0x00000006 
+ 00026428  0x00006ccd call  0x00007ebf 
+ 00026429  0x00006cce branch  0x00006739 
+ 00026430  0x00006cd2 call  0x00007fe9 
+ 00026431  0x00006cd3 fetch  0x00000001 , 0x00004217 
+ 00026432  0x00006cd4 rtn  0x00000034 
+ 00026433  0x00006cd5 fetch  0x00000002 , 0x00004682 
+ 00026434  0x00006cd6 bbit1  0x00000000 , 0x00006754 
+ 00026435  0x00006cd8 bpatchx  0x00000097 , 0x00004032 
+ 00026436  0x00006cd9 fetch  0x00000001 , 0x0000448e 
+ 00026437  0x00006cda beq  0x00000000 , 0x0000674d 
+ 00026438  0x00006cdb fetch  0x00000001 , 0x00000454 
+ 00026439  0x00006cdc compare  0x000000c0 , 0x0000003f , 0x000000c0 
+ 00026440  0x00006cdd branch  0x0000674d , 0x00000001 
+ 00026441  0x00006cde compare  0x00000040 , 0x0000003f , 0x000000c0 
+ 00026442  0x00006cdf branch  0x00006752 , 0x00000001 
+ 00026443  0x00006ce0 compare  0x00000000 , 0x0000003f , 0x000000c0 
+ 00026444  0x00006ce1 branch  0x00006750 , 0x00000001 
+ 00026445  0x00006ce3 jam  0x00000035 , 0x00000185 
+ 00026446  0x00006ce4 fetch  0x00000006 , 0x0000044f 
+ 00026447  0x00006ce5 branch  0x00006757 
+ 00026448  0x00006ce8 jam  0x00000037 , 0x00000185 
+ 00026449  0x00006ce9 branch  0x00006757 
+ 00026450  0x00006ced jam  0x00000036 , 0x00000185 
+ 00026451  0x00006cee branch  0x00006757 
+ 00026452  0x00006cf2 bpatchx  0x00000098 , 0x00004033 
+ 00026453  0x00006cf3 jam  0x00000033 , 0x00000185 
+ 00026454  0x00006cf4 fetch  0x00000006 , 0x00000040 
+ 00026455  0x00006cf6 store  0x00000006 , 0x00000186 
+ 00026456  0x00006cf7 fetch  0x00000002 , 0x00004215 
+ 00026457  0x00006cf8 ifetcht  0x00000001 , 0x0000003f 
+ 00026458  0x00006cf9 pincrease  0x00000001 
+ 00026459  0x00006cfa store  0x00000002 , 0x0000018c 
+ 00026460  0x00006cfb storet  0x00000001 , 0x00000184 
+ 00026461  0x00006cfc fetch  0x00000001 , 0x00004217 
+ 00026462  0x00006cfd icopy  0x00000013 
+ 00026463  0x00006cff fetch  0x00000002 , 0x0000018c 
+ 00026464  0x00006d00 copy  0x0000003f , 0x00000011 
+ 00026465  0x00006d01 call  0x0000676f 
+ 00026466  0x00006d02 rtn  0x00000028 
+ 00026467  0x00006d03 fetcht  0x00000002 , 0x0000018c 
+ 00026468  0x00006d04 increase  0x00000022 , 0x00000002 
+ 00026469  0x00006d05 storet  0x00000002 , 0x0000018c 
+ 00026470  0x00006d06 increase  0xffffffff , 0x00000002 
+ 00026471  0x00006d07 ifetch  0x00000001 , 0x00000002 
+ 00026472  0x00006d08 store  0x00000001 , 0x00000184 
+ 00026473  0x00006d09 increase  0xffffffff , 0x00000013 
+ 00026474  0x00006d0a nbranch  0x0000675f , 0x00000005 
+ 00026475  0x00006d0b fetch  0x00000001 , 0x00004217 
+ 00026476  0x00006d0c pincrease  0xffffffff 
+ 00026477  0x00006d0d store  0x00000001 , 0x00000184 
+ 00026478  0x00006d0e rtn 
+ 00026479  0x00006d10 fetch  0x00000001 , 0x00000185 
+ 00026480  0x00006d11 bne  0x00000033 , 0x00006776 
+ 00026481  0x00006d13 arg  0x00000185 , 0x00000012 
+ 00026482  0x00006d14 arg  0x00000007 , 0x00000039 
+ 00026483  0x00006d15 call  0x00007f88 
+ 00026484  0x00006d16 branch  0x00007fe7 , 0x00000005 
+ 00026485  0x00006d17 rtn 
+ 00026486  0x00006d1a beq  0x00000036 , 0x00006779 
+ 00026487  0x00006d1b beq  0x00000037 , 0x00006794 
+ 00026488  0x00006d1c branch  0x00006771 
+ 00026489  0x00006d1f ifetcht  0x00000001 , 0x00000011 
+ 00026490  0x00006d20 isub  0x00000002 , 0x0000003e 
+ 00026491  0x00006d21 nrtn  0x00000005 
+ 00026492  0x00006d22 arg  0x00000ac2 , 0x00000005 
+ 00026493  0x00006d23 arg  0x00000010 , 0x00000039 
+ 00026494  0x00006d24 call  0x00007ed4 
+ 00026495  0x00006d25 fetch  0x00000003 , 0x00000452 
+ 00026496  0x00006d26 store  0x00000003 , 0x00000ac2 
+ 00026497  0x00006d27 call  0x0000678b 
+ 00026498  0x00006d28 fetch  0x00000002 , 0x00000adf 
+ 00026499  0x00006d29 byteswap  0x0000003f , 0x0000003f 
+ 00026500  0x00006d2a lshift8  0x0000003f , 0x00000002 
+ 00026501  0x00006d2b ifetch  0x00000001 , 0x00000006 
+ 00026502  0x00006d2c iadd  0x00000002 , 0x0000003f 
+ 00026503  0x00006d2d fetcht  0x00000003 , 0x0000044f 
+ 00026504  0x00006d2e isub  0x00000002 , 0x0000003e 
+ 00026505  0x00006d2f branch  0x00007fe7 , 0x00000005 
+ 00026506  0x00006d30 rtn 
+ 00026507  0x00006d34 arg  0x00000ac2 , 0x00000006 
+ 00026508  0x00006d35 call  0x00007486 
+ 00026509  0x00006d37 ifetch  0x00000001 , 0x00000011 
+ 00026510  0x00006d38 call  0x00007487 
+ 00026511  0x00006d39 force  0x00000038 , 0x00000036 
+ 00026512  0x00006d3a force  0x00000000 , 0x00000036 
+ 00026513  0x00006d3b call  0x0000741d 
+ 00026514  0x00006d3c arg  0x00000ad2 , 0x00000005 
+ 00026515  0x00006d3d branch  0x00007497 
+ 00026516  0x00006d40 ifetcht  0x00000001 , 0x00000011 
+ 00026517  0x00006d41 isub  0x00000002 , 0x0000003e 
+ 00026518  0x00006d42 nrtn  0x00000005 
+ 00026519  0x00006d43 copy  0x00000006 , 0x00000011 
+ 00026520  0x00006d44 add  0x00000006 , 0x00000008 , 0x00000013 
+ 00026521  0x00006d45 arg  0x000044cd , 0x00000012 
+ 00026522  0x00006d46 arg  0x00000008 , 0x00000039 
+ 00026523  0x00006d47 call  0x00007f88 
+ 00026524  0x00006d48 branch  0x00007fe7 , 0x00000005 
+ 00026525  0x00006d49 copy  0x00000013 , 0x00000011 
+ 00026526  0x00006d4a arg  0x000044d5 , 0x00000012 
+ 00026527  0x00006d4b arg  0x00000008 , 0x00000039 
+ 00026528  0x00006d4c call  0x00007f88 
+ 00026529  0x00006d4d branch  0x00007fe7 , 0x00000005 
+ 00026530  0x00006d4e rtn 
+ 00026531  0x00006d51 fetch  0x00000002 , 0x00004215 
+ 00026532  0x00006d52 ifetcht  0x00000001 , 0x0000003f 
+ 00026533  0x00006d53 pincrease  0x00000022 
+ 00026534  0x00006d54 ifetch  0x00000001 , 0x0000003f 
+ 00026535  0x00006d55 isub  0x00000002 , 0x0000003e 
+ 00026536  0x00006d56 rtn 
+ 00026537  0x00006d59 fetch  0x00000001 , 0x00004217 
+ 00026538  0x00006d5a icopy  0x00000039 
+ 00026539  0x00006d5b fetcht  0x00000002 , 0x00004215 
+ 00026540  0x00006d5c setarg  0x00000000 
+ 00026541  0x00006d5e istore  0x00000001 , 0x00000002 
+ 00026542  0x00006d5f increase  0x00000022 , 0x00000002 
+ 00026543  0x00006d60 pincrease  0x00000001 
+ 00026544  0x00006d61 loop  0x000067ad 
+ 00026545  0x00006d62 rtn 
+ 00026546  0x00006d65 bpatchx  0x00000099 , 0x00004033 
+ 00026547  0x00006d66 call  0x0000673e 
+ 00026548  0x00006d67 fetch  0x00000001 , 0x00000030 
+ 00026549  0x00006d68 setflag  0x00000028 , 0x00000006 , 0x0000003f 
+ 00026550  0x00006d69 store  0x00000001 , 0x00000030 
+ 00026551  0x00006d6a nbranch  0x000067bc , 0x00000028 
+ 00026552  0x00006d6b add  0x00000011 , 0x0000000a , 0x00000006 
+ 00026553  0x00006d6d arg  0x000041be , 0x00000005 
+ 00026554  0x00006d6e call  0x00007ebf 
+ 00026555  0x00006d6f branch  0x000067d7 
+ 00026556  0x00006d71 jam  0x00000000 , 0x000041bd 
+ 00026557  0x00006d72 rtn 
+ 00026558  0x00006d75 fetch  0x00000009 , 0x000044cb 
+ 00026559  0x00006d76 branch  0x000067ca , 0x00000034 
+ 00026560  0x00006d77 call  0x0000673e 
+ 00026561  0x00006d78 nbranch  0x000067ca , 0x00000028 
+ 00026562  0x00006d79 fetch  0x00000002 , 0x0000018c 
+ 00026563  0x00006d7a add  0x0000003f , 0x00000001 , 0x00000006 
+ 00026564  0x00006d7b arg  0x000044d5 , 0x00000005 
+ 00026565  0x00006d7c call  0x00007ebf 
+ 00026566  0x00006d7d arg  0x00004419 , 0x00000005 
+ 00026567  0x00006d7e call  0x00007ebf 
+ 00026568  0x00006d7f jam  0x00000001 , 0x00004429 
+ 00026569  0x00006d80 rtn 
+ 00026570  0x00006d83 jam  0x00000000 , 0x00004429 
+ 00026571  0x00006d84 rtn 
+ 00026572  0x00006d88 fetch  0x00000006 , 0x0000044f 
+ 00026573  0x00006d89 store  0x00000006 , 0x00000186 
+ 00026574  0x00006d8a jam  0x00000034 , 0x00000185 
+ 00026575  0x00006d8b branch  0x000067d3 
+ 00026576  0x00006d8d fetch  0x00000006 , 0x00000040 
+ 00026577  0x00006d8e store  0x00000006 , 0x00000186 
+ 00026578  0x00006d8f jam  0x00000033 , 0x00000185 
+ 00026579  0x00006d91 fetch  0x00000001 , 0x00004092 
+ 00026580  0x00006d92 beq  0x0000000a , 0x0000670b 
+ 00026581  0x00006d93 bbit1  0x00000006 , 0x000042da 
+ 00026582  0x00006d94 rtn 
+ 00026583  0x00006d98 fetch  0x00000008 , 0x000041be 
+ 00026584  0x00006d99 fetcht  0x00000008 , 0x000041c6 
+ 00026585  0x00006d9a ior  0x00000002 , 0x0000003f 
+ 00026586  0x00006d9b rtn  0x00000034 
+ 00026587  0x00006d9c jam  0x00000001 , 0x000041bd 
+ 00026588  0x00006d9d rtn 
+ 00026589  0x00006da5 bpatchx  0x0000009a , 0x00004033 
+ 00026590  0x00006da6 set1  0x00000007 , 0x00000002 
+ 00026591  0x00006da7 call  0x0000681d 
+ 00026592  0x00006da8 nsetflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00026593  0x00006dae bpatchx  0x0000009b , 0x00004033 
+ 00026594  0x00006daf sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026595  0x00006db0 rtn  0x00000005 
+ 00026596  0x00006db1 isolate0  0x00000007 , 0x00000002 
+ 00026597  0x00006db2 and  0x00000002 , 0x0000001f , 0x00000007 
+ 00026598  0x00006db3 fetch  0x00000004 , 0x000000a1 
+ 00026599  0x00006db4 qsetflag  0x00000001 , 0x0000003f 
+ 00026600  0x00006db5 store  0x00000004 , 0x000000a1 
+ 00026601  0x00006db6 fetch  0x00000004 , 0x000000a5 
+ 00026602  0x00006db7 nqsetflag  0x00000001 , 0x0000003f 
+ 00026603  0x00006db8 store  0x00000004 , 0x000000a5 
+ 00026604  0x00006db9 rtn 
+ 00026605  0x00006dbd bpatchx  0x0000009c , 0x00004033 
+ 00026606  0x00006dbe sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026607  0x00006dbf rtn  0x00000005 
+ 00026608  0x00006dc0 isolate0  0x00000007 , 0x00000002 
+ 00026609  0x00006dc1 and  0x00000002 , 0x0000001f , 0x00000007 
+ 00026610  0x00006dc2 fetch  0x00000004 , 0x000000a1 
+ 00026611  0x00006dc3 qset0  0x0000003f 
+ 00026612  0x00006dc4 store  0x00000004 , 0x000000a1 
+ 00026613  0x00006dc5 fetch  0x00000004 , 0x000000a5 
+ 00026614  0x00006dc6 qset0  0x0000003f 
+ 00026615  0x00006dc7 store  0x00000004 , 0x000000a5 
+ 00026616  0x00006dc8 rtn 
+ 00026617  0x00006dcc call  0x000067ed 
+ 00026618  0x00006dcd branch  0x000067fe 
+ 00026619  0x00006dd1 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026620  0x00006dd2 rtn  0x00000005 
+ 00026621  0x00006dd3 ncall  0x000067e1 , 0x0000002b 
+ 00026622  0x00006dd6 arg  0x0000807c , 0x00000005 
+ 00026623  0x00006dd7 call  0x00006830 
+ 00026624  0x00006dd8 setflip  0x00000007 , 0x00000002 
+ 00026625  0x00006dd9 arg  0x00008078 , 0x00000005 
+ 00026626  0x00006dda call  0x00006830 
+ 00026627  0x00006ddb set0  0x00000007 , 0x00000002 
+ 00026628  0x00006ddc arg  0x00008070 , 0x00000005 
+ 00026629  0x00006ddd branch  0x00006830 
+ 00026630  0x00006de1 arg  0x0000807c , 0x00000005 
+ 00026631  0x00006de2 call  0x00006830 
+ 00026632  0x00006de3 set0  0x00000007 , 0x00000002 
+ 00026633  0x00006de4 arg  0x00008078 , 0x00000005 
+ 00026634  0x00006de5 call  0x00006830 
+ 00026635  0x00006de6 set0  0x00000007 , 0x00000002 
+ 00026636  0x00006de7 arg  0x00008070 , 0x00000005 
+ 00026637  0x00006de8 branch  0x00006830 
+ 00026638  0x00006ded sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026639  0x00006dee rtn  0x00000005 
+ 00026640  0x00006def setflip  0x00000007 , 0x00000002 
+ 00026641  0x00006df0 call  0x0000682f 
+ 00026642  0x00006df2 set1  0x00000007 , 0x00000002 
+ 00026643  0x00006df3 arg  0x00008070 , 0x00000005 
+ 00026644  0x00006df4 branch  0x00006830 
+ 00026645  0x00006df7 and  0x00000002 , 0x00000007 , 0x00000007 
+ 00026646  0x00006df8 rshift3  0x00000002 , 0x0000003f 
+ 00026647  0x00006df9 and_into  0x00000003 , 0x0000003f 
+ 00026648  0x00006dfa iadd  0x00000005 , 0x00000005 
+ 00026649  0x00006dfb ifetch  0x00000001 , 0x00000005 
+ 00026650  0x00006dfc rtn 
+ 00026651  0x00006dff arg  0x00008074 , 0x00000005 
+ 00026652  0x00006e00 branch  0x0000681e 
+ 00026653  0x00006e05 arg  0x0000811c , 0x00000005 
+ 00026654  0x00006e07 call  0x00006815 
+ 00026655  0x00006e08 isolate1  0x00000007 , 0x00000002 
+ 00026656  0x00006e09 branch  0x00006823 , 0x00000001 
+ 00026657  0x00006e0a qisolate0  0x0000003f 
+ 00026658  0x00006e0b rtn 
+ 00026659  0x00006e0d qisolate1  0x0000003f 
+ 00026660  0x00006e0e rtn 
+ 00026661  0x00006e11 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026662  0x00006e12 rtn  0x00000005 
+ 00026663  0x00006e13 isolate1  0x00000007 , 0x0000003e 
+ 00026664  0x00006e14 branch  0x0000682c 
+ 00026665  0x00006e17 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00026666  0x00006e18 rtn  0x00000005 
+ 00026667  0x00006e19 isolate0  0x00000007 , 0x0000003e 
+ 00026668  0x00006e1d setarg  0x00000000 
+ 00026669  0x00006e1e nsetflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00026670  0x00006e1f ixor  0x00000002 , 0x00000002 
+ 00026671  0x00006e23 arg  0x00008074 , 0x00000005 
+ 00026672  0x00006e27 call  0x00006815 
+ 00026673  0x00006e28 isolate1  0x00000007 , 0x00000002 
+ 00026674  0x00006e29 qsetflag  0x00000001 , 0x0000003f 
+ 00026675  0x00006e2a istore  0x00000001 , 0x00000005 
+ 00026676  0x00006e2b rtn 
+ 00026677  0x00006e2e arg  0xffffffff , 0x00000011 
+ 00026678  0x00006e2f hfetch  0x00000001 , 0x00008081 
+ 00026679  0x00006e30 compare  0x00000002 , 0x0000003f , 0x00000003 
+ 00026680  0x00006e31 call  0x00006878 , 0x00000001 
+ 00026681  0x00006e33 compare  0x00000001 , 0x0000003f , 0x00000003 
+ 00026682  0x00006e34 call  0x0000687a , 0x00000001 
+ 00026683  0x00006e36 compare  0x00000003 , 0x0000003f , 0x00000003 
+ 00026684  0x00006e37 call  0x0000687a , 0x00000001 
+ 00026685  0x00006e39 isolate1  0x00000002 , 0x0000003f 
+ 00026686  0x00006e3a call  0x00006874 , 0x00000001 
+ 00026687  0x00006e3c isolate1  0x00000003 , 0x0000003f 
+ 00026688  0x00006e3d call  0x00006876 , 0x00000001 
+ 00026689  0x00006e3f isolate1  0x00000004 , 0x0000003f 
+ 00026690  0x00006e40 call  0x0000687c , 0x00000001 
+ 00026691  0x00006e42 isolate1  0x00000006 , 0x0000003f 
+ 00026692  0x00006e43 nsetflag  0x00000001 , 0x00000004 , 0x00000011 
+ 00026693  0x00006e45 isolate1  0x00000007 , 0x0000003f 
+ 00026694  0x00006e46 nsetflag  0x00000001 , 0x00000005 , 0x00000011 
+ 00026695  0x00006e48 hfetch  0x00000001 , 0x00008082 
+ 00026696  0x00006e49 isolate1  0x00000000 , 0x0000003f 
+ 00026697  0x00006e4a nsetflag  0x00000001 , 0x0000001b , 0x00000011 
+ 00026698  0x00006e4b isolate1  0x00000001 , 0x0000003f 
+ 00026699  0x00006e4c nsetflag  0x00000001 , 0x0000001c , 0x00000011 
+ 00026700  0x00006e4d isolate1  0x00000002 , 0x0000003f 
+ 00026701  0x00006e4e nsetflag  0x00000001 , 0x00000003 , 0x00000011 
+ 00026702  0x00006e4f isolate1  0x00000003 , 0x0000003f 
+ 00026703  0x00006e50 nsetflag  0x00000001 , 0x00000008 , 0x00000011 
+ 00026704  0x00006e51 isolate1  0x00000004 , 0x0000003f 
+ 00026705  0x00006e52 nsetflag  0x00000001 , 0x00000014 , 0x00000011 
+ 00026706  0x00006e53 isolate1  0x00000005 , 0x0000003f 
+ 00026707  0x00006e54 nsetflag  0x00000001 , 0x00000015 , 0x00000011 
+ 00026708  0x00006e55 isolate1  0x00000006 , 0x0000003f 
+ 00026709  0x00006e56 nsetflag  0x00000001 , 0x00000016 , 0x00000011 
+ 00026710  0x00006e57 isolate1  0x00000007 , 0x0000003f 
+ 00026711  0x00006e58 nsetflag  0x00000001 , 0x00000017 , 0x00000011 
+ 00026712  0x00006e5a hfetch  0x00000001 , 0x00008080 
+ 00026713  0x00006e5b isolate1  0x00000000 , 0x0000003f 
+ 00026714  0x00006e5c nsetflag  0x00000001 , 0x00000005 , 0x00000011 
+ 00026715  0x00006e5d isolate1  0x00000001 , 0x0000003f 
+ 00026716  0x00006e5e nsetflag  0x00000001 , 0x00000006 , 0x00000011 
+ 00026717  0x00006e5f isolate1  0x00000002 , 0x0000003f 
+ 00026718  0x00006e60 nsetflag  0x00000001 , 0x00000007 , 0x00000011 
+ 00026719  0x00006e61 isolate1  0x00000003 , 0x0000003f 
+ 00026720  0x00006e62 nsetflag  0x00000001 , 0x00000012 , 0x00000011 
+ 00026721  0x00006e63 isolate1  0x00000004 , 0x0000003f 
+ 00026722  0x00006e64 nsetflag  0x00000001 , 0x00000013 , 0x00000011 
+ 00026723  0x00006e65 isolate1  0x00000005 , 0x0000003f 
+ 00026724  0x00006e66 nsetflag  0x00000001 , 0x00000014 , 0x00000011 
+ 00026725  0x00006e67 isolate1  0x00000006 , 0x0000003f 
+ 00026726  0x00006e68 nsetflag  0x00000001 , 0x00000015 , 0x00000011 
+ 00026727  0x00006e69 isolate1  0x00000007 , 0x0000003f 
+ 00026728  0x00006e6a nsetflag  0x00000001 , 0x00000016 , 0x00000011 
+ 00026729  0x00006e6c hfetch  0x00000001 , 0x00008062 
+ 00026730  0x00006e6d isolate1  0x00000004 , 0x0000003f 
+ 00026731  0x00006e6e call  0x0000687e , 0x00000001 
+ 00026732  0x00006e6f bpatchx  0x0000009d , 0x00004033 
+ 00026733  0x00006e71 hfetch  0x00000004 , 0x00008078 
+ 00026734  0x00006e72 hfetcht  0x00000004 , 0x0000807c 
+ 00026735  0x00006e73 ior  0x00000002 , 0x0000003f 
+ 00026736  0x00006e74 invert  0x0000003f , 0x0000003f 
+ 00026737  0x00006e75 iand  0x00000011 , 0x0000003f 
+ 00026738  0x00006e77 hstore  0x00000004 , 0x00008070 
+ 00026739  0x00006e78 rtn 
+ 00026740  0x00006e7c arg  0x00000006 , 0x00000007 
+ 00026741  0x00006e7d branch  0x00006884 
+ 00026742  0x00006e7f arg  0x00000009 , 0x00000007 
+ 00026743  0x00006e80 branch  0x00006882 
+ 00026744  0x00006e82 arg  0x00000017 , 0x00000007 
+ 00026745  0x00006e83 branch  0x00006882 
+ 00026746  0x00006e85 arg  0x00000019 , 0x00000007 
+ 00026747  0x00006e86 branch  0x00006884 
+ 00026748  0x00006e88 arg  0x0000001e , 0x00000007 
+ 00026749  0x00006e89 branch  0x00006884 
+ 00026750  0x00006e8b arg  0x00000002 , 0x00000007 
+ 00026751  0x00006e8c branch  0x00006884 
+ 00026752  0x00006e8e arg  0x00000001 , 0x00000039 
+ 00026753  0x00006e8f branch  0x00006885 
+ 00026754  0x00006e91 arg  0x00000004 , 0x00000039 
+ 00026755  0x00006e92 branch  0x00006885 
+ 00026756  0x00006e94 arg  0x00000002 , 0x00000039 
+ 00026757  0x00006e96 qset0  0x00000011 
+ 00026758  0x00006e97 increase  0x00000001 , 0x00000007 
+ 00026759  0x00006e98 loop  0x00006885 
+ 00026760  0x00006e99 rtn 
+ 00026761  0x00006ea2 call  0x00006895 
+ 00026762  0x00006ea3 arg  0x00000006 , 0x00000002 
+ 00026763  0x00006ea4 branch  0x0000680e 
+ 00026764  0x00006ea7 call  0x00006889 
+ 00026765  0x00006ea8 arg  0x00000006 , 0x00000002 
+ 00026766  0x00006ea9 branch  0x00006825 
+ 00026767  0x00006eae call  0x00006895 
+ 00026768  0x00006eaf hfetch  0x00000001 , 0x00008078 
+ 00026769  0x00006eb0 set1  0x00000007 , 0x0000003f 
+ 00026770  0x00006eb1 hstore  0x00000001 , 0x00008078 
+ 00026771  0x00006eb2 arg  0x00000007 , 0x00000002 
+ 00026772  0x00006eb3 branch  0x000067fb 
+ 00026773  0x00006eb6 hfetch  0x00000001 , 0x00008081 
+ 00026774  0x00006eb7 and_into  0x000000fb , 0x0000003f 
+ 00026775  0x00006eb8 hstore  0x00000001 , 0x00008081 
+ 00026776  0x00006eb9 rtn 
+ 00026777  0x00006ebc hfetch  0x00000001 , 0x00008081 
+ 00026778  0x00006ebd isolate1  0x00000002 , 0x0000003f 
+ 00026779  0x00006ebe rtn 
+ 00026780  0x00006ec1 call  0x0000666a 
+ 00026781  0x00006ec2 setarg  0x000007e0 
+ 00026782  0x00006ec3 arg  0x00004150 , 0x00000011 
+ 00026783  0x00006ec4 arg  0x00000002 , 0x00000002 
+ 00026784  0x00006ec5 call  0x000066b3 
+ 00026785  0x00006ec6 branch  0x0000666d 
+ 00026786  0x00006eca call  0x0000666a 
+ 00026787  0x00006ecb setarg  0x000007e2 
+ 00026788  0x00006ecc arg  0x0000421d , 0x00000011 
+ 00026789  0x00006ecd arg  0x0000000e , 0x00000002 
+ 00026790  0x00006ece call  0x000066b3 
+ 00026791  0x00006ecf branch  0x0000666d 
+ 00026792  0x00006ed4 bpatchx  0x0000009e , 0x00004033 
+ 00026793  0x00006ed6 call  0x000068a2 
+ 00026794  0x00006ed8 fetch  0x00000001 , 0x0000422d 
+ 00026795  0x00006ed9 beq  0x00000000 , 0x000068af 
+ 00026796  0x00006eda beq  0x00000001 , 0x000068c3 
+ 00026797  0x00006edb beq  0x00000002 , 0x000068d7 
+ 00026798  0x00006edc rtn 
+ 00026799  0x00006edf fetcht  0x00000002 , 0x00004229 
+ 00026800  0x00006ee0 setarg  0x0000aa55 
+ 00026801  0x00006ee1 isub  0x00000002 , 0x0000003e 
+ 00026802  0x00006ee2 branch  0x000068b8 , 0x00000005 
+ 00026803  0x00006ee3 setarg  0x00004dfa 
+ 00026804  0x00006ee4 store  0x00000002 , 0x00004227 
+ 00026805  0x00006ee5 setarg  0x00004894 
+ 00026806  0x00006ee6 store  0x00000002 , 0x00004221 
+ 00026807  0x00006ee7 branch  0x000068c0 
+ 00026808  0x00006eea fetch  0x00000002 , 0x00004227 
+ 00026809  0x00006eeb nbranch  0x000068bc , 0x00000034 
+ 00026810  0x00006eec setarg  0x00004dfa 
+ 00026811  0x00006eed store  0x00000002 , 0x00004227 
+ 00026812  0x00006eef fetch  0x00000002 , 0x00004221 
+ 00026813  0x00006ef0 nbranch  0x000068c0 , 0x00000034 
+ 00026814  0x00006ef1 setarg  0x00004894 
+ 00026815  0x00006ef2 store  0x00000002 , 0x00004221 
+ 00026816  0x00006ef4 setarg  0x00000064 
+ 00026817  0x00006ef5 store  0x00000002 , 0x0000422b 
+ 00026818  0x00006ef6 rtn 
+ 00026819  0x00006ef9 fetcht  0x00000002 , 0x00004229 
+ 00026820  0x00006efa setarg  0x0000aa55 
+ 00026821  0x00006efb isub  0x00000002 , 0x0000003e 
+ 00026822  0x00006efc branch  0x000068cc , 0x00000005 
+ 00026823  0x00006efd setarg  0x00005932 
+ 00026824  0x00006efe store  0x00000002 , 0x00004225 
+ 00026825  0x00006eff setarg  0x00004323 
+ 00026826  0x00006f00 store  0x00000002 , 0x0000421f 
+ 00026827  0x00006f01 branch  0x000068d4 
+ 00026828  0x00006f04 fetch  0x00000002 , 0x00004225 
+ 00026829  0x00006f05 nbranch  0x000068d0 , 0x00000034 
+ 00026830  0x00006f06 setarg  0x00005932 
+ 00026831  0x00006f07 store  0x00000002 , 0x00004225 
+ 00026832  0x00006f09 fetch  0x00000002 , 0x0000421f 
+ 00026833  0x00006f0a nbranch  0x000068d4 , 0x00000034 
+ 00026834  0x00006f0b setarg  0x00004323 
+ 00026835  0x00006f0c store  0x00000002 , 0x0000421f 
+ 00026836  0x00006f0e setarg  0x00000190 
+ 00026837  0x00006f0f store  0x00000002 , 0x0000422b 
+ 00026838  0x00006f10 rtn 
+ 00026839  0x00006f13 fetcht  0x00000002 , 0x00004229 
+ 00026840  0x00006f14 setarg  0x0000aa55 
+ 00026841  0x00006f15 isub  0x00000002 , 0x0000003e 
+ 00026842  0x00006f16 branch  0x000068e0 , 0x00000005 
+ 00026843  0x00006f17 setarg  0x00006946 
+ 00026844  0x00006f18 store  0x00000002 , 0x00004223 
+ 00026845  0x00006f19 setarg  0x00005377 
+ 00026846  0x00006f1a store  0x00000002 , 0x0000421d 
+ 00026847  0x00006f1b branch  0x000068e8 
+ 00026848  0x00006f1e fetch  0x00000002 , 0x00004223 
+ 00026849  0x00006f1f nbranch  0x000068e4 , 0x00000034 
+ 00026850  0x00006f20 setarg  0x00006946 
+ 00026851  0x00006f21 store  0x00000002 , 0x00004223 
+ 00026852  0x00006f23 fetch  0x00000002 , 0x0000421d 
+ 00026853  0x00006f24 nbranch  0x000068e8 , 0x00000034 
+ 00026854  0x00006f25 setarg  0x00005377 
+ 00026855  0x00006f26 store  0x00000002 , 0x0000421d 
+ 00026856  0x00006f28 setarg  0x00000032 
+ 00026857  0x00006f29 store  0x00000002 , 0x0000422b 
+ 00026858  0x00006f2a rtn 
+ 00026859  0x00006f2e fetch  0x00000001 , 0x0000422d 
+ 00026860  0x00006f2f beq  0x00000000 , 0x000068f0 
+ 00026861  0x00006f30 beq  0x00000001 , 0x000068f2 
+ 00026862  0x00006f31 beq  0x00000002 , 0x000068f4 
+ 00026863  0x00006f32 rtn 
+ 00026864  0x00006f34 jam  0x000000bf , 0x00008971 
+ 00026865  0x00006f35 branch  0x000068f8 
+ 00026866  0x00006f37 jam  0x000000af , 0x00008971 
+ 00026867  0x00006f38 branch  0x000068f8 
+ 00026868  0x00006f3a jam  0x0000008f , 0x00008971 
+ 00026869  0x00006f3b fetch  0x00000001 , 0x0000422e 
+ 00026870  0x00006f3c hstore  0x00000001 , 0x00008973 
+ 00026871  0x00006f3d branch  0x000068f8 
+ 00026872  0x00006f3f bpatchx  0x0000009f , 0x00004033 
+ 00026873  0x00006f40 hfetch  0x00000001 , 0x00008053 
+ 00026874  0x00006f41 set1  0x00000007 , 0x0000003f 
+ 00026875  0x00006f42 hstore  0x00000001 , 0x00008053 
+ 00026876  0x00006f43 hfetch  0x00000001 , 0x00008973 
+ 00026877  0x00006f44 or_into  0x00000030 , 0x0000003f 
+ 00026878  0x00006f45 hstore  0x00000001 , 0x00008973 
+ 00026879  0x00006f46 jam  0x0000007c , 0x00008906 
+ 00026880  0x00006f47 jam  0x000000aa , 0x00008972 
+ 00026881  0x00006f48 nop  0x00001388 
+ 00026882  0x00006f49 hfetcht  0x00000002 , 0x00008150 
+ 00026883  0x00006f4a hfetch  0x00000001 , 0x00008053 
+ 00026884  0x00006f4b set0  0x00000007 , 0x0000003f 
+ 00026885  0x00006f4c hstore  0x00000001 , 0x00008053 
+ 00026886  0x00006f4d storet  0x00000002 , 0x0000422f 
+ 00026887  0x00006f4e rtn 
+ 00026888  0x00006f51 bpatchx  0x000000a0 , 0x00004034 
+ 00026889  0x00006f52 fetch  0x00000001 , 0x0000422d 
+ 00026890  0x00006f53 beq  0x00000000 , 0x0000690e 
+ 00026891  0x00006f54 beq  0x00000001 , 0x00006912 
+ 00026892  0x00006f55 beq  0x00000002 , 0x00006916 
+ 00026893  0x00006f56 rtn 
+ 00026894  0x00006f59 fetch  0x00000002 , 0x00004227 
+ 00026895  0x00006f5a fetcht  0x00000002 , 0x00004221 
+ 00026896  0x00006f5b arg  0x000000c8 , 0x00000013 
+ 00026897  0x00006f5c branch  0x0000691a 
+ 00026898  0x00006f5f fetch  0x00000002 , 0x00004225 
+ 00026899  0x00006f60 fetcht  0x00000002 , 0x0000421f 
+ 00026900  0x00006f61 arg  0x00000064 , 0x00000013 
+ 00026901  0x00006f62 branch  0x0000691a 
+ 00026902  0x00006f65 fetch  0x00000002 , 0x00004223 
+ 00026903  0x00006f66 fetcht  0x00000002 , 0x0000421d 
+ 00026904  0x00006f67 arg  0x00000032 , 0x00000013 
+ 00026905  0x00006f68 branch  0x0000691a 
+ 00026906  0x00006f6b isub  0x00000002 , 0x00000011 
+ 00026907  0x00006f6c fetch  0x00000002 , 0x0000422f 
+ 00026908  0x00006f6d isub  0x00000002 , 0x0000003f 
+ 00026909  0x00006f6e nbranch  0x00006927 , 0x00000002 
+ 00026910  0x00006f6f fetcht  0x00000002 , 0x0000422b 
+ 00026911  0x00006f70 imul32  0x00000002 , 0x00000012 
+ 00026912  0x00006f71 copy  0x00000013 , 0x0000003f 
+ 00026913  0x00006f72 imul32  0x00000011 , 0x0000003f 
+ 00026914  0x00006f73 iadd  0x00000012 , 0x0000003f 
+ 00026915  0x00006f75 idiv  0x00000011 
+ 00026916  0x00006f76 call  0x00007f86 
+ 00026917  0x00006f77 quotient  0x0000003f 
+ 00026918  0x00006f78 rtn 
+ 00026919  0x00006f7b copy  0x00000002 , 0x0000003f 
+ 00026920  0x00006f7c fetcht  0x00000002 , 0x0000422f 
+ 00026921  0x00006f7d isub  0x00000002 , 0x0000003f 
+ 00026922  0x00006f7e fetcht  0x00000002 , 0x0000422b 
+ 00026923  0x00006f7f imul32  0x00000002 , 0x00000012 
+ 00026924  0x00006f80 copy  0x00000013 , 0x0000003f 
+ 00026925  0x00006f81 imul32  0x00000011 , 0x0000003f 
+ 00026926  0x00006f82 isub  0x00000012 , 0x0000003f 
+ 00026927  0x00006f83 branch  0x00006923 
+ 00026928  0x00006f8f ifetch  0x00000008 , 0x00000011 
+ 00026929  0x00006f90 store  0x00000008 , 0x00000a9a 
+ 00026930  0x00006f91 fetch  0x00000002 , 0x00000a9a 
+ 00026931  0x00006f92 fetcht  0x00000002 , 0x00000a9c 
+ 00026932  0x00006f93 isub  0x00000002 , 0x00000011 
+ 00026933  0x00006f94 fetch  0x00000002 , 0x00000aa0 
+ 00026934  0x00006f95 isub  0x00000002 , 0x00000012 
+ 00026935  0x00006f96 fetcht  0x00000002 , 0x00000a9e 
+ 00026936  0x00006f97 isub  0x00000002 , 0x0000003e 
+ 00026937  0x00006f98 ncall  0x00006940 , 0x00000002 
+ 00026938  0x00006f99 mul32  0x00000012 , 0x00000064 , 0x0000003f 
+ 00026939  0x00006f9a idiv  0x00000011 
+ 00026940  0x00006f9b call  0x00007f86 
+ 00026941  0x00006f9c quotient  0x0000003f 
+ 00026942  0x00006f9d call  0x00006944 , 0x00000034 
+ 00026943  0x00006f9e rtn 
+ 00026944  0x00006fa0 fetch  0x00000001 , 0x00004231 
+ 00026945  0x00006fa1 set1  0x00000000 , 0x0000003f 
+ 00026946  0x00006fa2 store  0x00000001 , 0x00004231 
+ 00026947  0x00006fa3 rtn 
+ 00026948  0x00006fa5 fetcht  0x00000001 , 0x00004231 
+ 00026949  0x00006fa6 set1  0x00000001 , 0x00000002 
+ 00026950  0x00006fa7 storet  0x00000001 , 0x00004231 
+ 00026951  0x00006fa8 rtn 
+ 00026952  0x00006fae fetch  0x00000002 , 0x0000423d 
+ 00026953  0x00006faf ifetch  0x00000001 , 0x0000003f 
+ 00026954  0x00006fb1 rtn  0x00000034 
+ 00026955  0x00006fb2 copy  0x0000003f , 0x00000039 
+ 00026956  0x00006fb4 fetch  0x00000002 , 0x0000423d 
+ 00026957  0x00006fb5 increase  0x00000003 , 0x0000003f 
+ 00026958  0x00006fb6 copy  0x0000003f , 0x00000011 
+ 00026959  0x00006fb8 ifetcht  0x00000001 , 0x00000011 
+ 00026960  0x00006fb9 call  0x000067fb 
+ 00026961  0x00006fba increase  0x00000001 , 0x00000011 
+ 00026962  0x00006fbb loop  0x0000694f 
+ 00026963  0x00006fbd rtn 
+ 00026964  0x00006fc0 fetch  0x00000002 , 0x0000423d 
+ 00026965  0x00006fc1 increase  0x00000003 , 0x0000003f 
+ 00026966  0x00006fc2 copy  0x0000003f , 0x00000011 
+ 00026967  0x00006fc4 force  0x00000000 , 0x00000012 
+ 00026968  0x00006fc5 jam  0x00000000 , 0x00000b12 
+ 00026969  0x00006fc7 ifetcht  0x00000001 , 0x00000011 
+ 00026970  0x00006fc8 call  0x0000681d 
+ 00026971  0x00006fc9 bpatchx  0x000000a1 , 0x00004034 
+ 00026972  0x00006fca fetch  0x00000002 , 0x00000b12 
+ 00026973  0x00006fcb copy  0x00000012 , 0x00000007 
+ 00026974  0x00006fcc qsetflag  0x00000001 , 0x0000003f 
+ 00026975  0x00006fcd store  0x00000002 , 0x00000b12 
+ 00026976  0x00006fce increase  0x00000001 , 0x00000011 
+ 00026977  0x00006fcf increase  0x00000001 , 0x00000012 
+ 00026978  0x00006fd0 fetch  0x00000002 , 0x0000423d 
+ 00026979  0x00006fd1 ifetch  0x00000001 , 0x0000003f 
+ 00026980  0x00006fd3 ixor  0x00000012 , 0x0000003e 
+ 00026981  0x00006fd4 nbranch  0x00006959 , 0x00000005 
+ 00026982  0x00006fd5 fetch  0x00000002 , 0x00000b12 
+ 00026983  0x00006fd6 fetcht  0x00000002 , 0x00000b14 
+ 00026984  0x00006fd7 ixor  0x00000002 , 0x0000003e 
+ 00026985  0x00006fd8 rtn  0x00000005 
+ 00026986  0x00006fd9 enable  0x00000028 
+ 00026987  0x00006fda rtn 
+ 00026988  0x00006fdd fetch  0x00000002 , 0x0000423d 
+ 00026989  0x00006fde ifetch  0x00000001 , 0x0000003f 
+ 00026990  0x00006fe0 rtn  0x00000034 
+ 00026991  0x00006fe1 copy  0x0000003f , 0x00000039 
+ 00026992  0x00006fe2 fetch  0x00000002 , 0x0000423d 
+ 00026993  0x00006fe3 increase  0x00000003 , 0x0000003f 
+ 00026994  0x00006fe4 copy  0x0000003f , 0x00000011 
+ 00026995  0x00006fe6 ifetcht  0x00000001 , 0x00000011 
+ 00026996  0x00006fe7 call  0x000067dd 
+ 00026997  0x00006fe8 increase  0x00000001 , 0x00000011 
+ 00026998  0x00006fe9 loop  0x00006973 
+ 00026999  0x00006feb rtn 
+ 00027000  0x00006fee arg  0x00000009 , 0x00000007 
+ 00027001  0x00006fef call  0x00007f16 
+ 00027002  0x00006ff0 nrtn  0x00000034 
+ 00027003  0x00006ff1 setarg  0x00000020 
+ 00027004  0x00006ff2 arg  0x00000009 , 0x00000007 
+ 00027005  0x00006ff3 call  0x00007f08 
+ 00027006  0x00006ff4 disable  0x00000028 
+ 00027007  0x00006ff5 call  0x0000696c 
+ 00027008  0x00006ff6 bpatchx  0x000000a2 , 0x00004034 
+ 00027009  0x00006ff7 fetch  0x00000002 , 0x0000423d 
+ 00027010  0x00006ff8 ifetch  0x00000001 , 0x0000003f 
+ 00027011  0x00006ffa rtn  0x00000034 
+ 00027012  0x00006ffb call  0x00006954 
+ 00027013  0x00006ffc nbranch  0x00007d02 , 0x00000028 
+ 00027014  0x00006ffd call  0x00007d00 
+ 00027015  0x00006ffe disable  0x00000028 
+ 00027016  0x00006fff fetch  0x00000002 , 0x00000b12 
+ 00027017  0x00007000 store  0x00000002 , 0x00000b19 
+ 00027018  0x00007001 jam  0x00000000 , 0x00000b1b 
+ 00027019  0x00007002 force  0x00000000 , 0x00000007 
+ 00027020  0x00007004 fetch  0x00000002 , 0x00000b14 
+ 00027021  0x00007005 rshift  0x0000003f , 0x00000002 
+ 00027022  0x00007006 storet  0x00000002 , 0x00000b14 
+ 00027023  0x00007007 and  0x0000003f , 0x00000001 , 0x0000003f 
+ 00027024  0x00007008 fetcht  0x00000002 , 0x00000b19 
+ 00027025  0x00007009 and  0x00000002 , 0x00000001 , 0x00000011 
+ 00027026  0x0000700a rshift  0x00000002 , 0x00000002 
+ 00027027  0x0000700b storet  0x00000002 , 0x00000b19 
+ 00027028  0x0000700c ixor  0x00000011 , 0x0000003e 
+ 00027029  0x0000700d ncall  0x000069a1 , 0x00000005 
+ 00027030  0x0000700e fetch  0x00000002 , 0x0000423d 
+ 00027031  0x0000700f ifetch  0x00000001 , 0x0000003f 
+ 00027032  0x00007011 fetcht  0x00000001 , 0x00000b1b 
+ 00027033  0x00007012 increase  0x00000001 , 0x00000002 
+ 00027034  0x00007013 storet  0x00000001 , 0x00000b1b 
+ 00027035  0x00007014 copy  0x00000002 , 0x00000007 
+ 00027036  0x00007015 ixor  0x00000007 , 0x0000003e 
+ 00027037  0x00007016 nbranch  0x0000698c , 0x00000005 
+ 00027038  0x00007017 fetch  0x00000002 , 0x00000b12 
+ 00027039  0x00007018 store  0x00000002 , 0x00000b14 
+ 00027040  0x00007019 rtn 
+ 00027041  0x0000701b bpatchx  0x000000a3 , 0x00004034 
+ 00027042  0x0000701c fetch  0x00000002 , 0x0000423d 
+ 00027043  0x0000701d increase  0x00000001 , 0x0000003f 
+ 00027044  0x0000701e ifetch  0x00000002 , 0x0000003f 
+ 00027045  0x0000701f branch  0x00007f9c 
+ 00027046  0x0000702b hfetch  0x00000001 , 0x00008042 
+ 00027047  0x0000702c ior  0x00000011 , 0x0000003f 
+ 00027048  0x0000702d hstore  0x00000001 , 0x00008042 
+ 00027049  0x0000702e hfetch  0x00000002 , 0x00008050 
+ 00027050  0x0000702f set0  0x0000000d , 0x0000003f 
+ 00027051  0x00007030 hstore  0x00000002 , 0x00008050 
+ 00027052  0x00007031 nop  0x00000064 
+ 00027053  0x00007032 rtn 
+ 00027054  0x0000703e fetcht  0x00000003 , 0x00000a9c 
+ 00027055  0x0000703f setarg  0x00b71b00 
+ 00027056  0x00007040 idiv  0x00000002 
+ 00027057  0x00007041 call  0x00007f86 
+ 00027058  0x00007042 quotient  0x00000002 
+ 00027059  0x00007043 fetch  0x00000001 , 0x00000a9f 
+ 00027060  0x00007044 imul32  0x00000002 , 0x0000003f 
+ 00027061  0x00007045 div  0x0000003f , 0x00000064 
+ 00027062  0x00007046 call  0x00007f86 
+ 00027063  0x00007047 quotient  0x00000011 
+ 00027064  0x00007048 copy  0x00000002 , 0x0000003f 
+ 00027065  0x00007049 isub  0x00000011 , 0x00000012 
+ 00027066  0x0000704a fetch  0x00000001 , 0x00000a9b 
+ 00027067  0x0000704b call  0x000069be 
+ 00027068  0x0000704c fetch  0x00000001 , 0x00000a9a 
+ 00027069  0x0000704d branch  0x000069d5 
+ 00027070  0x00007051 beq  0x00000000 , 0x000069c4 
+ 00027071  0x00007052 beq  0x00000001 , 0x000069c6 
+ 00027072  0x00007053 beq  0x00000002 , 0x000069c8 
+ 00027073  0x00007054 beq  0x00000003 , 0x000069ca 
+ 00027074  0x00007055 beq  0x00000004 , 0x000069cc 
+ 00027075  0x00007056 beq  0x00000005 , 0x000069ce 
+ 00027076  0x00007058 arg  0x000080a0 , 0x00000005 
+ 00027077  0x00007059 branch  0x000069d0 
+ 00027078  0x0000705b arg  0x000080a4 , 0x00000005 
+ 00027079  0x0000705c branch  0x000069d0 
+ 00027080  0x0000705e arg  0x000080a8 , 0x00000005 
+ 00027081  0x0000705f branch  0x000069d0 
+ 00027082  0x00007061 arg  0x00008064 , 0x00000005 
+ 00027083  0x00007062 branch  0x000069d0 
+ 00027084  0x00007064 arg  0x00008068 , 0x00000005 
+ 00027085  0x00007065 branch  0x000069d0 
+ 00027086  0x00007067 arg  0x0000806c , 0x00000005 
+ 00027087  0x00007068 branch  0x000069d0 
+ 00027088  0x0000706a copy  0x00000011 , 0x0000003f 
+ 00027089  0x0000706b istore  0x00000002 , 0x00000005 
+ 00027090  0x0000706c copy  0x00000012 , 0x0000003f 
+ 00027091  0x0000706d istore  0x00000002 , 0x00000005 
+ 00027092  0x0000706e rtn 
+ 00027093  0x00007073 enable  0x00000028 
+ 00027094  0x00007074 branch  0x000069d8 
+ 00027095  0x00007076 disable  0x00000028 
+ 00027096  0x00007078 beq  0x00000004 , 0x000069e3 
+ 00027097  0x00007079 beq  0x00000005 , 0x000069e5 
+ 00027098  0x0000707a beq  0x0000001b , 0x000069e7 
+ 00027099  0x0000707b beq  0x0000001c , 0x000069e9 
+ 00027100  0x0000707c beq  0x00000003 , 0x000069eb 
+ 00027101  0x0000707d beq  0x00000008 , 0x000069ed 
+ 00027102  0x0000707e beq  0x00000014 , 0x000069ef 
+ 00027103  0x0000707f beq  0x00000015 , 0x000069f1 
+ 00027104  0x00007080 beq  0x00000016 , 0x000069f3 
+ 00027105  0x00007081 beq  0x00000017 , 0x000069f5 
+ 00027106  0x00007082 rtn 
+ 00027107  0x00007086 arg  0x00000006 , 0x00000007 
+ 00027108  0x00007087 branch  0x000069ff 
+ 00027109  0x00007089 arg  0x00000007 , 0x00000007 
+ 00027110  0x0000708a branch  0x000069ff 
+ 00027111  0x0000708c arg  0x00000008 , 0x00000007 
+ 00027112  0x0000708d branch  0x000069ff 
+ 00027113  0x0000708f arg  0x00000009 , 0x00000007 
+ 00027114  0x00007090 branch  0x000069ff 
+ 00027115  0x00007092 arg  0x0000000a , 0x00000007 
+ 00027116  0x00007093 branch  0x000069ff 
+ 00027117  0x00007095 arg  0x0000000b , 0x00000007 
+ 00027118  0x00007096 branch  0x000069ff 
+ 00027119  0x00007098 arg  0x0000000c , 0x00000007 
+ 00027120  0x00007099 branch  0x00006a01 
+ 00027121  0x0000709b arg  0x0000000d , 0x00000007 
+ 00027122  0x0000709c branch  0x00006a01 
+ 00027123  0x0000709e arg  0x0000000e , 0x00000007 
+ 00027124  0x0000709f branch  0x00006a01 
+ 00027125  0x000070a1 arg  0x0000000f , 0x00000007 
+ 00027126  0x000070a2 branch  0x00006a01 
+ 00027127  0x000070a5 hfetch  0x00000002 , 0x00008081 
+ 00027128  0x000070a6 qsetflag  0x00000028 , 0x0000003f 
+ 00027129  0x000070a7 hstore  0x00000002 , 0x00008081 
+ 00027130  0x000070a8 copy  0x00000011 , 0x00000007 
+ 00027131  0x000070a9 hfetch  0x00000001 , 0x00008085 
+ 00027132  0x000070aa qsetflag  0x00000028 , 0x0000003f 
+ 00027133  0x000070ab hstore  0x00000001 , 0x00008085 
+ 00027134  0x000070ac rtn 
+ 00027135  0x000070af add  0x00000007 , 0xfffffffc , 0x00000011 
+ 00027136  0x000070b0 branch  0x000069f7 
+ 00027137  0x000070b3 add  0x00000007 , 0xfffffff6 , 0x00000011 
+ 00027138  0x000070b4 branch  0x000069f7 
+ 00027139  0x000070ba rtn  0x0000002b 
+ 00027140  0x000070bb jam  0x00000000 , 0x00004567 
+ 00027141  0x000070bc jam  0x00000003 , 0x000004ed 
+ 00027142  0x000070bd jam  0x00000003 , 0x000004ee 
+ 00027143  0x000070be jam  0x00000011 , 0x000004f2 
+ 00027144  0x000070bf jam  0x00000013 , 0x000004f3 
+ 00027145  0x000070c0 setarg  0x00000000 
+ 00027146  0x000070c1 store  0x00000003 , 0x000004ef 
+ 00027147  0x000070c2 store  0x00000001 , 0x00004254 
+ 00027148  0x000070c3 jam  0x00000000 , 0x00004681 
+ 00027149  0x000070c6 bpatchx  0x000000a4 , 0x00004034 
+ 00027150  0x000070c7 setarg  0x00000000 
+ 00027151  0x000070c8 store  0x00000001 , 0x00004254 
+ 00027152  0x000070c9 store  0x00000001 , 0x00004564 
+ 00027153  0x000070ca store  0x00000001 , 0x0000455d 
+ 00027154  0x000070cb fetch  0x00000001 , 0x0000456b 
+ 00027155  0x000070cc beq  0x00000001 , 0x00006a16 
+ 00027156  0x000070cd jam  0x00000050 , 0x00004569 
+ 00027157  0x000070ce rtn 
+ 00027158  0x000070d1 jam  0x00000000 , 0x00004569 
+ 00027159  0x000070d2 rtn 
+ 00027160  0x000070d5 or_into  0x00000002 , 0x00000002 
+ 00027161  0x000070d6 rtn 
+ 00027162  0x000070e3 copy  0x00000002 , 0x0000003f 
+ 00027163  0x000070e4 reverse  0x0000003f , 0x0000003f 
+ 00027164  0x000070e5 store  0x00000001 , 0x00004562 
+ 00027165  0x000070e6 force  0x0000003f , 0x0000003f 
+ 00027166  0x000070e7 reverse  0x0000003f , 0x0000003f 
+ 00027167  0x000070e8 store  0x00000001 , 0x00004561 
+ 00027168  0x000070e9 force  0x00000001 , 0x0000003f 
+ 00027169  0x000070ea reverse  0x0000003f , 0x0000003f 
+ 00027170  0x000070eb store  0x00000001 , 0x00004560 
+ 00027171  0x000070ec call  0x00006a50 
+ 00027172  0x000070ed copy  0x00000002 , 0x0000003f 
+ 00027173  0x000070ee rtn 
+ 00027174  0x000070f0 reverse  0x0000003f , 0x0000003f 
+ 00027175  0x000070f1 store  0x00000001 , 0x00004562 
+ 00027176  0x000070f2 force  0x00000073 , 0x0000003f 
+ 00027177  0x000070f3 reverse  0x0000003f , 0x0000003f 
+ 00027178  0x000070f4 store  0x00000001 , 0x00004561 
+ 00027179  0x000070f5 force  0x00000001 , 0x0000003f 
+ 00027180  0x000070f6 reverse  0x0000003f , 0x0000003f 
+ 00027181  0x000070f7 store  0x00000001 , 0x00004560 
+ 00027182  0x000070f8 branch  0x00006a50 
+ 00027183  0x000070fb fetch  0x00000001 , 0x00004563 
+ 00027184  0x000070fc branch  0x00006a33 , 0x00000034 
+ 00027185  0x000070fd setarg  0x00000070 
+ 00027186  0x000070fe rtn 
+ 00027187  0x00007100 setarg  0x000000aa 
+ 00027188  0x00007101 rtn 
+ 00027189  0x00007104 reverse  0x0000003f , 0x0000003f 
+ 00027190  0x00007105 store  0x00000001 , 0x00004562 
+ 00027191  0x00007106 force  0x000000ef , 0x0000003f 
+ 00027192  0x00007107 call  0x00006a44 
+ 00027193  0x00007108 fetcht  0x00000002 , 0x000004f7 
+ 00027194  0x00007109 copy  0x00000002 , 0x00000005 
+ 00027195  0x0000710a istore  0x00000001 , 0x00000005 
+ 00027196  0x0000710b copy  0x00000005 , 0x00000002 
+ 00027197  0x0000710c storet  0x00000002 , 0x000004f7 
+ 00027198  0x0000710d force  0x000000ff , 0x0000003f 
+ 00027199  0x0000710e call  0x00006a44 
+ 00027200  0x0000710f fetcht  0x00000002 , 0x000004f7 
+ 00027201  0x00007110 copy  0x00000002 , 0x00000005 
+ 00027202  0x00007111 istore  0x00000001 , 0x00000005 
+ 00027203  0x00007112 rtn 
+ 00027204  0x0000711c reverse  0x0000003f , 0x0000003f 
+ 00027205  0x0000711d store  0x00000001 , 0x00004561 
+ 00027206  0x0000711e fetch  0x00000002 , 0x00004561 
+ 00027207  0x0000711f lshift8  0x0000003f , 0x0000003f 
+ 00027208  0x00007120 store  0x00000003 , 0x000004f4 
+ 00027209  0x00007121 arg  0x00000107 , 0x00000011 
+ 00027210  0x00007122 arg  0x0000000f , 0x00000012 
+ 00027211  0x00007123 call  0x00006a5d 
+ 00027212  0x00007124 xor_into  0x000000d7 , 0x0000003f 
+ 00027213  0x00007125 invert  0x0000003f , 0x0000003f 
+ 00027214  0x00007126 reverse  0x0000003f , 0x0000003f 
+ 00027215  0x00007127 rtn 
+ 00027216  0x00007132 fetch  0x00000003 , 0x00004560 
+ 00027217  0x00007133 store  0x00000003 , 0x000004f4 
+ 00027218  0x00007134 arg  0x00000107 , 0x00000011 
+ 00027219  0x00007135 arg  0x0000000f , 0x00000012 
+ 00027220  0x00007136 call  0x00006a5d 
+ 00027221  0x00007137 lshift8  0x0000003f , 0x0000003f 
+ 00027222  0x00007138 arg  0x00000007 , 0x00000012 
+ 00027223  0x00007139 call  0x00006a5d 
+ 00027224  0x0000713a xor_into  0x0000002b , 0x0000003f 
+ 00027225  0x0000713b invert  0x0000003f , 0x0000003f 
+ 00027226  0x0000713c reverse  0x0000003f , 0x0000003f 
+ 00027227  0x0000713d copy  0x0000003f , 0x00000002 
+ 00027228  0x0000713e rtn 
+ 00027229  0x00007141 arg  0x00000000 , 0x00000013 
+ 00027230  0x00007142 copy  0x00000012 , 0x00000039 
+ 00027231  0x00007143 call  0x00007e71 
+ 00027232  0x00007144 icopy  0x00000002 
+ 00027233  0x0000714a copy  0x00000002 , 0x0000003f 
+ 00027234  0x0000714b lshift  0x00000013 , 0x00000013 
+ 00027235  0x0000714c bbit0  0x00000008 , 0x00006a66 
+ 00027236  0x0000714d ixor  0x00000011 , 0x00000002 
+ 00027237  0x0000714e increase  0x00000001 , 0x00000013 
+ 00027238  0x00007150 lshift  0x00000002 , 0x00000002 
+ 00027239  0x00007151 fetch  0x00000003 , 0x000004f4 
+ 00027240  0x00007152 increase  0xffffffff , 0x00000012 
+ 00027241  0x00007153 compare  0x000000ff , 0x00000012 , 0x000000ff 
+ 00027242  0x00007154 branch  0x00006a70 , 0x00000001 
+ 00027243  0x00007155 copy  0x00000012 , 0x00000039 
+ 00027244  0x00007156 call  0x00007e71 
+ 00027245  0x00007157 isolate1  0x00000000 , 0x0000003f 
+ 00027246  0x00007158 setflag  0x00000001 , 0x00000000 , 0x00000002 
+ 00027247  0x00007159 branch  0x00006a61 
+ 00027248  0x0000715c rshift  0x00000002 , 0x0000003f 
+ 00027249  0x0000715d rtn 
+ 00027250  0x00007160 fetcht  0x00000001 , 0x0000455d 
+ 00027251  0x00007163 lshift2  0x00000002 , 0x00000002 
+ 00027252  0x00007164 set1  0x00000000 , 0x00000002 
+ 00027253  0x00007165 fetch  0x00000001 , 0x00004563 
+ 00027254  0x00007166 ncall  0x00006a18 , 0x00000034 
+ 00027255  0x00007167 storet  0x00000001 , 0x0000050d 
+ 00027256  0x00007168 rtn 
+ 00027257  0x0000716c lshift  0x00000002 , 0x00000002 
+ 00027258  0x0000716d fetch  0x00000001 , 0x00004563 
+ 00027259  0x0000716e setflag  0x00000034 , 0x00000000 , 0x00000002 
+ 00027260  0x00007170 rtn 
+ 00027261  0x00007172 fetcht  0x00000001 , 0x000004fc 
+ 00027262  0x00007173 jam  0x000000d7 , 0x000004fe 
+ 00027263  0x00007174 call  0x00006bb6 
+ 00027264  0x00007175 fetch  0x00000001 , 0x00004251 
+ 00027265  0x00007176 set1  0x00000006 , 0x0000003f 
+ 00027266  0x00007177 set1  0x00000007 , 0x0000003f 
+ 00027267  0x00007178 store  0x00000001 , 0x00004251 
+ 00027268  0x00007179 jam  0x00000000 , 0x00004563 
+ 00027269  0x0000717a branch  0x00006b97 
+ 00027270  0x0000717c fetch  0x00000001 , 0x00004251 
+ 00027271  0x0000717d set1  0x00000007 , 0x0000003f 
+ 00027272  0x0000717e store  0x00000001 , 0x00004251 
+ 00027273  0x0000717f branch  0x00006b97 
+ 00027274  0x00007183 bpatchx  0x000000a5 , 0x00004034 
+ 00027275  0x00007184 fetch  0x00000001 , 0x00004681 
+ 00027276  0x00007185 beq  0x00000000 , 0x00006a8e 
+ 00027277  0x00007186 branch  0x00006b4c 
+ 00027278  0x00007189 fetch  0x00000002 , 0x00000264 
+ 00027279  0x0000718a copy  0x0000003f , 0x00000006 
+ 00027280  0x0000718b call  0x00006ab8 
+ 00027281  0x0000718c fetch  0x00000001 , 0x000004fc 
+ 00027282  0x0000718d beq  0x00000000 , 0x00006a94 
+ 00027283  0x0000718e branch  0x00006b18 
+ 00027284  0x00007190 bpatchx  0x000000a6 , 0x00004034 
+ 00027285  0x00007191 fetch  0x00000001 , 0x000004fd 
+ 00027286  0x00007192 beq  0x0000003f , 0x00006a7d 
+ 00027287  0x00007193 beq  0x00000073 , 0x00006a86 
+ 00027288  0x00007194 beq  0x000000ef , 0x00006a9b 
+ 00027289  0x00007195 beq  0x00000053 , 0x00006b44 
+ 00027290  0x00007196 rtn 
+ 00027291  0x0000719a fetch  0x00000002 , 0x00000501 
+ 00027292  0x0000719b copy  0x0000003f , 0x00000006 
+ 00027293  0x0000719c call  0x00006ac3 
+ 00027294  0x0000719d fetch  0x00000001 , 0x00000503 
+ 00027295  0x0000719e beq  0x00000041 , 0x00006aa5 
+ 00027296  0x0000719f beq  0x00000040 , 0x00006aad 
+ 00027297  0x000071a0 beq  0x00000071 , 0x00006ae6 
+ 00027298  0x000071a1 beq  0x00000070 , 0x00006af2 
+ 00027299  0x000071a2 beq  0x00000049 , 0x00006afd 
+ 00027300  0x000071a3 branch  0x00006b97 
+ 00027301  0x000071a6 call  0x00006aaf 
+ 00027302  0x000071a8 branch  0x00006aa7 
+ 00027303  0x000071ab fetch  0x00000001 , 0x00004254 
+ 00027304  0x000071ac set1  0x00000000 , 0x0000003f 
+ 00027305  0x000071ad set1  0x00000001 , 0x0000003f 
+ 00027306  0x000071ae store  0x00000001 , 0x00004254 
+ 00027307  0x000071af call  0x00006be0 
+ 00027308  0x000071b0 branch  0x00006b97 
+ 00027309  0x000071b3 call  0x00006aaf 
+ 00027310  0x000071b4 branch  0x00006b97 
+ 00027311  0x000071b7 call  0x00006acb 
+ 00027312  0x000071b8 branch  0x00006ad7 
+ 00027313  0x000071bb call  0x00006acb 
+ 00027314  0x000071bc ifetch  0x00000001 , 0x00000006 
+ 00027315  0x000071bd rshift3  0x0000003f , 0x0000003f 
+ 00027316  0x000071be store  0x00000001 , 0x0000456a 
+ 00027317  0x000071bf ifetch  0x00000001 , 0x00000006 
+ 00027318  0x000071c0 store  0x00000001 , 0x00000508 
+ 00027319  0x000071c1 rtn 
+ 00027320  0x000071c5 ifetch  0x00000001 , 0x00000006 
+ 00027321  0x000071c6 store  0x00000001 , 0x000004fb 
+ 00027322  0x000071c7 rshift3  0x0000003f , 0x0000003f 
+ 00027323  0x000071c8 store  0x00000001 , 0x000004fc 
+ 00027324  0x000071c9 ifetch  0x00000001 , 0x00000006 
+ 00027325  0x000071ca store  0x00000001 , 0x000004fd 
+ 00027326  0x000071cc call  0x00006ace 
+ 00027327  0x000071cd storet  0x00000002 , 0x000004ff 
+ 00027328  0x000071ce copy  0x00000006 , 0x0000003f 
+ 00027329  0x000071cf store  0x00000002 , 0x00000501 
+ 00027330  0x000071d0 rtn 
+ 00027331  0x000071d3 ifetch  0x00000001 , 0x00000006 
+ 00027332  0x000071d4 rshift  0x0000003f , 0x0000003f 
+ 00027333  0x000071d5 store  0x00000001 , 0x00000503 
+ 00027334  0x000071d6 call  0x00006ace 
+ 00027335  0x000071d7 storet  0x00000002 , 0x00000504 
+ 00027336  0x000071d8 copy  0x00000006 , 0x0000003f 
+ 00027337  0x000071d9 store  0x00000002 , 0x00000506 
+ 00027338  0x000071da rtn 
+ 00027339  0x000071de fetch  0x00000002 , 0x00000506 
+ 00027340  0x000071df copy  0x0000003f , 0x00000006 
+ 00027341  0x000071e0 rtn 
+ 00027342  0x000071e3 ifetch  0x00000001 , 0x00000006 
+ 00027343  0x000071e4 copy  0x0000003f , 0x00000002 
+ 00027344  0x000071e5 rshift  0x00000002 , 0x00000002 
+ 00027345  0x000071e6 rtnbit1  0x00000000 
+ 00027346  0x000071e7 ifetch  0x00000001 , 0x00000006 
+ 00027347  0x000071e8 lshift3  0x0000003f , 0x0000003f 
+ 00027348  0x000071e9 lshift4  0x0000003f , 0x0000003f 
+ 00027349  0x000071ea iadd  0x00000002 , 0x00000002 
+ 00027350  0x000071eb rtn 
+ 00027351  0x000071ee ifetch  0x00000001 , 0x00000006 
+ 00027352  0x000071ef store  0x00000001 , 0x0000455d 
+ 00027353  0x000071f0 ifetch  0x00000001 , 0x00000006 
+ 00027354  0x000071f1 store  0x00000001 , 0x00000509 
+ 00027355  0x000071f2 ifetch  0x00000001 , 0x00000006 
+ 00027356  0x000071f3 store  0x00000001 , 0x0000050a 
+ 00027357  0x000071f4 ifetch  0x00000001 , 0x00000006 
+ 00027358  0x000071f5 store  0x00000001 , 0x0000050b 
+ 00027359  0x000071f6 ifetch  0x00000002 , 0x00000006 
+ 00027360  0x000071f7 store  0x00000002 , 0x0000455e 
+ 00027361  0x000071f8 ifetch  0x00000001 , 0x00000006 
+ 00027362  0x000071f9 store  0x00000001 , 0x0000050c 
+ 00027363  0x000071fa ifetch  0x00000001 , 0x00000006 
+ 00027364  0x000071fb store  0x00000001 , 0x00004568 
+ 00027365  0x000071fc rtn 
+ 00027366  0x00007200 call  0x00006ab1 
+ 00027367  0x00007202 branch  0x00006ae8 
+ 00027368  0x00007205 fetch  0x00000001 , 0x00004254 
+ 00027369  0x00007206 set1  0x00000005 , 0x0000003f 
+ 00027370  0x00007207 set1  0x00000006 , 0x0000003f 
+ 00027371  0x00007208 store  0x00000001 , 0x00004254 
+ 00027372  0x00007209 fetcht  0x00000001 , 0x0000455d 
+ 00027373  0x0000720a lshift2  0x00000002 , 0x00000002 
+ 00027374  0x0000720b or_into  0x00000003 , 0x00000002 
+ 00027375  0x0000720c call  0x00006c11 
+ 00027376  0x0000720d jam  0x00000003 , 0x00004567 
+ 00027377  0x0000720e branch  0x00006b97 
+ 00027378  0x00007211 jam  0x00000008 , 0x00000a99 
+ 00027379  0x00007212 call  0x00007d86 
+ 00027380  0x00007213 call  0x00006ab1 
+ 00027381  0x00007214 fetch  0x00000001 , 0x0000456a 
+ 00027382  0x00007215 sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00027383  0x00007216 branch  0x00006af9 , 0x00000005 
+ 00027384  0x00007217 branch  0x00002a8c 
+ 00027385  0x00007219 fetch  0x00000001 , 0x00004254 
+ 00027386  0x0000721a set1  0x00000007 , 0x0000003f 
+ 00027387  0x0000721b store  0x00000001 , 0x00004254 
+ 00027388  0x0000721c branch  0x00006b97 
+ 00027389  0x0000721f call  0x00006acb 
+ 00027390  0x00007220 ifetch  0x00000001 , 0x00000006 
+ 00027391  0x00007221 store  0x00000001 , 0x00000ac2 
+ 00027392  0x00007222 call  0x000052d2 
+ 00027393  0x00007223 call  0x000052e0 
+ 00027394  0x00007224 setarg  0x0000000e 
+ 00027395  0x00007225 istore  0x00000002 , 0x00000005 
+ 00027396  0x00007226 fetch  0x00000002 , 0x0000424a 
+ 00027397  0x00007227 istore  0x00000002 , 0x00000005 
+ 00027398  0x00007228 fetch  0x00000001 , 0x00004563 
+ 00027399  0x0000722a lshift  0x0000003f , 0x0000003f 
+ 00027400  0x0000722b set1  0x00000000 , 0x0000003f 
+ 00027401  0x0000722c istore  0x00000001 , 0x00000005 
+ 00027402  0x0000722d bpatchx  0x000000a7 , 0x00004034 
+ 00027403  0x0000722e setarg  0x000015ef 
+ 00027404  0x0000722f istore  0x00000002 , 0x00000005 
+ 00027405  0x00007230 setarg  0x00001191 
+ 00027406  0x00007231 istore  0x00000002 , 0x00000005 
+ 00027407  0x00007234 fetch  0x00000001 , 0x00000ac2 
+ 00027408  0x00007235 istore  0x00000001 , 0x00000005 
+ 00027409  0x00007236 setarg  0x00000007 
+ 00027410  0x00007237 istore  0x00000005 , 0x00000005 
+ 00027411  0x0000723a setarg  0x00000001 
+ 00027412  0x0000723b istore  0x00000002 , 0x00000005 
+ 00027413  0x0000723e call  0x00006a2f 
+ 00027414  0x0000723f istore  0x00000001 , 0x00000005 
+ 00027415  0x00007240 rtn 
+ 00027416  0x00007245 branch  0x00006b19 
+ 00027417  0x00007248 bpatchx  0x000000a8 , 0x00004035 
+ 00027418  0x00007249 fetch  0x00000001 , 0x000004fd 
+ 00027419  0x0000724a beq  0x00000073 , 0x00006b21 
+ 00027420  0x0000724b beq  0x0000003f , 0x00006b25 
+ 00027421  0x0000724c beq  0x000000ef , 0x00006b3f 
+ 00027422  0x0000724d beq  0x000000ff , 0x00006b37 
+ 00027423  0x0000724e beq  0x00000053 , 0x00006b46 
+ 00027424  0x0000724f rtn 
+ 00027425  0x00007251 fetch  0x00000001 , 0x00004254 
+ 00027426  0x00007252 set1  0x00000003 , 0x0000003f 
+ 00027427  0x00007253 store  0x00000001 , 0x00004254 
+ 00027428  0x00007254 branch  0x00006b97 
+ 00027429  0x00007256 fetch  0x00000001 , 0x00004254 
+ 00027430  0x00007257 set1  0x00000003 , 0x0000003f 
+ 00027431  0x00007258 set1  0x00000002 , 0x0000003f 
+ 00027432  0x00007259 store  0x00000001 , 0x00004254 
+ 00027433  0x0000725a fetch  0x00000001 , 0x000004fb 
+ 00027434  0x0000725b call  0x00006a26 
+ 00027435  0x0000725c store  0x00000001 , 0x000004fe 
+ 00027436  0x0000725d call  0x00006bb6 
+ 00027437  0x0000725e fetch  0x00000001 , 0x000004fb 
+ 00027438  0x0000725f rshift2  0x0000003f , 0x0000003f 
+ 00027439  0x00007260 store  0x00000001 , 0x0000455d 
+ 00027440  0x00007261 lshift2  0x0000003f , 0x0000003f 
+ 00027441  0x00007262 set0  0x00000001 , 0x0000003f 
+ 00027442  0x00007263 set1  0x00000000 , 0x0000003f 
+ 00027443  0x00007264 arg  0x00004565 , 0x00000002 
+ 00027444  0x00007265 storet  0x00000002 , 0x000004f7 
+ 00027445  0x00007266 call  0x00006a35 
+ 00027446  0x00007267 branch  0x00006b97 
+ 00027447  0x0000726a fetch  0x00000002 , 0x00000501 
+ 00027448  0x0000726b copy  0x0000003f , 0x00000006 
+ 00027449  0x0000726c increase  0x00000001 , 0x0000003f 
+ 00027450  0x0000726d store  0x00000002 , 0x00000501 
+ 00027451  0x0000726e ifetch  0x00000001 , 0x00000006 
+ 00027452  0x0000726f fetcht  0x00000001 , 0x00004568 
+ 00027453  0x00007270 iadd  0x00000002 , 0x0000003f 
+ 00027454  0x00007271 store  0x00000001 , 0x00004568 
+ 00027455  0x00007273 call  0x00006c42 
+ 00027456  0x00007275 call  0x00006a72 
+ 00027457  0x00007276 call  0x00006c28 
+ 00027458  0x00007277 call  0x00006c4b 
+ 00027459  0x00007278 branch  0x00006b97 
+ 00027460  0x0000727b jam  0x00000009 , 0x00000a99 
+ 00027461  0x0000727c call  0x00007d86 
+ 00027462  0x0000727e call  0x00006a0d 
+ 00027463  0x0000727f fetch  0x00000001 , 0x000004fb 
+ 00027464  0x00007280 call  0x00006a26 
+ 00027465  0x00007281 store  0x00000001 , 0x000004fe 
+ 00027466  0x00007282 call  0x00006bb6 
+ 00027467  0x00007283 branch  0x00006b97 
+ 00027468  0x00007289 fetch  0x00000002 , 0x00000264 
+ 00027469  0x0000728a copy  0x0000003f , 0x00000006 
+ 00027470  0x0000728b call  0x00006ab8 
+ 00027471  0x0000728c fetch  0x00000001 , 0x000004fc 
+ 00027472  0x0000728d beq  0x00000000 , 0x00006b52 
+ 00027473  0x0000728e branch  0x00006b86 
+ 00027474  0x00007291 bpatchx  0x000000a9 , 0x00004035 
+ 00027475  0x00007292 fetch  0x00000001 , 0x000004fd 
+ 00027476  0x00007293 beq  0x0000003f , 0x00006a7d 
+ 00027477  0x00007294 beq  0x00000073 , 0x00006a86 
+ 00027478  0x00007295 beq  0x000000ef , 0x00006b58 
+ 00027479  0x00007296 branch  0x00006b97 
+ 00027480  0x00007298 fetch  0x00000002 , 0x00000501 
+ 00027481  0x00007299 copy  0x0000003f , 0x00000006 
+ 00027482  0x0000729a call  0x00006ac3 
+ 00027483  0x0000729b fetch  0x00000001 , 0x00000503 
+ 00027484  0x0000729c beq  0x00000041 , 0x00006b61 
+ 00027485  0x0000729d beq  0x00000040 , 0x00006b61 
+ 00027486  0x0000729e beq  0x00000071 , 0x00006b6c 
+ 00027487  0x0000729f beq  0x00000070 , 0x00006b7c 
+ 00027488  0x000072a0 branch  0x00006b97 
+ 00027489  0x000072a3 call  0x00006aaf 
+ 00027490  0x000072a4 fetch  0x00000001 , 0x0000455d 
+ 00027491  0x000072a5 rshift  0x0000003f , 0x0000003f 
+ 00027492  0x000072a6 fetcht  0x00000001 , 0x00004564 
+ 00027493  0x000072a7 isub  0x00000002 , 0x0000003e 
+ 00027494  0x000072a8 branch  0x00006b68 , 0x00000005 
+ 00027495  0x000072a9 branch  0x00002a8c 
+ 00027496  0x000072ab fetch  0x00000001 , 0x00004254 
+ 00027497  0x000072ac set1  0x00000001 , 0x0000003f 
+ 00027498  0x000072ad store  0x00000001 , 0x00004254 
+ 00027499  0x000072ae branch  0x00006b97 
+ 00027500  0x000072b1 call  0x00006ab1 
+ 00027501  0x000072b2 fetch  0x00000001 , 0x0000456a 
+ 00027502  0x000072b3 fetcht  0x00000001 , 0x00004564 
+ 00027503  0x000072b4 isub  0x00000002 , 0x0000003e 
+ 00027504  0x000072b5 branch  0x00006b73 , 0x00000005 
+ 00027505  0x000072b6 branch  0x00002a8c 
+ 00027506  0x000072b7 branch  0x00006b97 
+ 00027507  0x000072b9 fetch  0x00000001 , 0x00004254 
+ 00027508  0x000072ba set1  0x00000005 , 0x0000003f 
+ 00027509  0x000072bb set1  0x00000006 , 0x0000003f 
+ 00027510  0x000072bc store  0x00000001 , 0x00004254 
+ 00027511  0x000072bd fetcht  0x00000001 , 0x0000455d 
+ 00027512  0x000072be lshift2  0x00000002 , 0x00000002 
+ 00027513  0x000072bf or_into  0x00000003 , 0x00000002 
+ 00027514  0x000072c0 call  0x00006c11 
+ 00027515  0x000072c1 branch  0x00006b97 
+ 00027516  0x000072c4 call  0x00006ab1 
+ 00027517  0x000072c5 fetch  0x00000001 , 0x0000456a 
+ 00027518  0x000072c6 fetcht  0x00000001 , 0x00004564 
+ 00027519  0x000072c7 isub  0x00000002 , 0x0000003e 
+ 00027520  0x000072c8 branch  0x00006b82 , 0x00000005 
+ 00027521  0x000072c9 branch  0x00002a8c 
+ 00027522  0x000072cb fetch  0x00000001 , 0x00004254 
+ 00027523  0x000072cc set1  0x00000007 , 0x0000003f 
+ 00027524  0x000072cd store  0x00000001 , 0x00004254 
+ 00027525  0x000072ce branch  0x00006b97 
+ 00027526  0x000072d1 fetch  0x00000001 , 0x000004fc 
+ 00027527  0x000072d2 fetcht  0x00000001 , 0x00004564 
+ 00027528  0x000072d3 isub  0x00000002 , 0x0000003e 
+ 00027529  0x000072d4 branch  0x00006b8c , 0x00000005 
+ 00027530  0x000072d5 branch  0x00002a8c 
+ 00027531  0x000072d6 branch  0x00006b97 
+ 00027532  0x000072d9 fetch  0x00000001 , 0x000004fd 
+ 00027533  0x000072da beq  0x00000073 , 0x00006b91 
+ 00027534  0x000072db beq  0x000000ef , 0x00006b3f 
+ 00027535  0x000072dc beq  0x000000ff , 0x00006b37 
+ 00027536  0x000072dd beq  0x00000053 , 0x00006b96 
+ 00027537  0x000072df fetch  0x00000001 , 0x00004254 
+ 00027538  0x000072e0 set1  0x00000003 , 0x0000003f 
+ 00027539  0x000072e1 store  0x00000001 , 0x00004254 
+ 00027540  0x000072e2 branch  0x00006b97 
+ 00027541  0x000072e4 branch  0x00006b95 
+ 00027542  0x000072e6 branch  0x00006b46 
+ 00027543  0x000072e8 rtn 
+ 00027544  0x000072eb fetch  0x00000001 , 0x00004567 
+ 00027545  0x000072ec rtn  0x00000034 
+ 00027546  0x000072ed beq  0x00000003 , 0x00006b9c 
+ 00027547  0x000072ee branch  0x00002a8c 
+ 00027548  0x000072f1 jam  0x00000000 , 0x00004567 
+ 00027549  0x000072f2 call  0x000052d2 
+ 00027550  0x000072f3 arg  0x00000001 , 0x00000002 
+ 00027551  0x000072f4 fetcht  0x00000001 , 0x0000455d 
+ 00027552  0x000072f5 lshift2  0x00000002 , 0x00000002 
+ 00027553  0x000072f7 or_into  0x00000003 , 0x00000002 
+ 00027554  0x000072f8 arg  0x000000aa , 0x00000011 
+ 00027555  0x000072f9 call  0x00006bfc 
+ 00027556  0x000072fa call  0x000052e0 
+ 00027557  0x000072fb copy  0x00000005 , 0x00000006 
+ 00027558  0x000072fc ifetch  0x00000002 , 0x00000006 
+ 00027559  0x000072fd branch  0x00002a8c , 0x00000034 
+ 00027560  0x000072fe rtn 
+ 00027561  0x00007301 call  0x000052e0 
+ 00027562  0x00007302 setarg  0x00000004 
+ 00027563  0x00007303 istore  0x00000002 , 0x00000005 
+ 00027564  0x00007304 fetch  0x00000002 , 0x0000424a 
+ 00027565  0x00007305 istore  0x00000002 , 0x00000005 
+ 00027566  0x00007306 fetch  0x00000001 , 0x000004fb 
+ 00027567  0x00007307 istore  0x00000001 , 0x00000005 
+ 00027568  0x00007308 bpatchx  0x000000aa , 0x00004035 
+ 00027569  0x00007309 setarg  0x0000013f 
+ 00027570  0x0000730a istore  0x00000002 , 0x00000005 
+ 00027571  0x0000730b fetch  0x00000001 , 0x000004fe 
+ 00027572  0x0000730c istore  0x00000001 , 0x00000005 
+ 00027573  0x0000730d rtn 
+ 00027574  0x0000730f call  0x000052d2 
+ 00027575  0x00007310 call  0x000052e0 
+ 00027576  0x00007311 setarg  0x00000004 
+ 00027577  0x00007312 istore  0x00000002 , 0x00000005 
+ 00027578  0x00007313 fetch  0x00000002 , 0x0000424a 
+ 00027579  0x00007314 istore  0x00000002 , 0x00000005 
+ 00027580  0x00007315 fetch  0x00000001 , 0x000004fb 
+ 00027581  0x00007316 istore  0x00000001 , 0x00000005 
+ 00027582  0x00007317 bpatchx  0x000000ab , 0x00004035 
+ 00027583  0x00007318 setarg  0x00000173 
+ 00027584  0x00007319 istore  0x00000002 , 0x00000005 
+ 00027585  0x0000731a fetch  0x00000001 , 0x000004fe 
+ 00027586  0x0000731b istore  0x00000001 , 0x00000005 
+ 00027587  0x0000731c rtn 
+ 00027588  0x0000731e call  0x000052e0 
+ 00027589  0x0000731f setarg  0x0000000e 
+ 00027590  0x00007320 istore  0x00000002 , 0x00000005 
+ 00027591  0x00007321 fetch  0x00000002 , 0x0000424a 
+ 00027592  0x00007322 istore  0x00000002 , 0x00000005 
+ 00027593  0x00007323 fetch  0x00000001 , 0x00004563 
+ 00027594  0x00007324 lshift  0x0000003f , 0x0000003f 
+ 00027595  0x00007325 set1  0x00000000 , 0x0000003f 
+ 00027596  0x00007326 istore  0x00000001 , 0x00000005 
+ 00027597  0x00007327 bpatchx  0x000000ac , 0x00004035 
+ 00027598  0x00007328 setarg  0x000015ef 
+ 00027599  0x00007329 istore  0x00000002 , 0x00000005 
+ 00027600  0x0000732a setarg  0x00001183 
+ 00027601  0x0000732b istore  0x00000002 , 0x00000005 
+ 00027602  0x0000732c copy  0x00000002 , 0x0000003f 
+ 00027603  0x0000732d istore  0x00000001 , 0x00000005 
+ 00027604  0x0000732e setarg  0x000000f0 
+ 00027605  0x0000732f istore  0x00000003 , 0x00000005 
+ 00027606  0x00007330 setarg  0x0000007f 
+ 00027607  0x00007331 istore  0x00000002 , 0x00000005 
+ 00027608  0x00007332 setarg  0x00000000 
+ 00027609  0x00007333 istore  0x00000001 , 0x00000005 
+ 00027610  0x00007334 setarg  0x00000001 
+ 00027611  0x00007335 istore  0x00000001 , 0x00000005 
+ 00027612  0x00007336 call  0x00006a2f 
+ 00027613  0x00007337 istore  0x00000001 , 0x00000005 
+ 00027614  0x00007338 jam  0x00000010 , 0x00004569 
+ 00027615  0x00007339 rtn 
+ 00027616  0x0000733b call  0x000052d2 
+ 00027617  0x0000733c call  0x000052e0 
+ 00027618  0x0000733d setarg  0x0000000e 
+ 00027619  0x0000733e istore  0x00000002 , 0x00000005 
+ 00027620  0x0000733f fetch  0x00000002 , 0x0000424a 
+ 00027621  0x00007340 istore  0x00000002 , 0x00000005 
+ 00027622  0x00007341 fetch  0x00000001 , 0x00004563 
+ 00027623  0x00007342 lshift  0x0000003f , 0x0000003f 
+ 00027624  0x00007343 set1  0x00000000 , 0x0000003f 
+ 00027625  0x00007344 istore  0x00000001 , 0x00000005 
+ 00027626  0x00007345 bpatchx  0x000000ad , 0x00004035 
+ 00027627  0x00007346 setarg  0x000015ef 
+ 00027628  0x00007347 istore  0x00000002 , 0x00000005 
+ 00027629  0x00007348 setarg  0x00001181 
+ 00027630  0x00007349 istore  0x00000002 , 0x00000005 
+ 00027631  0x0000734a fetch  0x00000001 , 0x0000455d 
+ 00027632  0x0000734b istore  0x00000001 , 0x00000005 
+ 00027633  0x0000734c setarg  0x000000e0 
+ 00027634  0x0000734d istore  0x00000003 , 0x00000005 
+ 00027635  0x0000734e fetch  0x00000002 , 0x0000456c 
+ 00027636  0x0000734f istore  0x00000002 , 0x00000005 
+ 00027637  0x00007350 setarg  0x00000000 
+ 00027638  0x00007351 istore  0x00000001 , 0x00000005 
+ 00027639  0x00007352 fetch  0x00000001 , 0x0000456e 
+ 00027640  0x00007353 istore  0x00000001 , 0x00000005 
+ 00027641  0x00007354 call  0x00006a2f 
+ 00027642  0x00007355 istore  0x00000001 , 0x00000005 
+ 00027643  0x00007356 rtn 
+ 00027644  0x00007358 call  0x000052e0 
+ 00027645  0x00007359 setarg  0x00000008 
+ 00027646  0x0000735a istore  0x00000002 , 0x00000005 
+ 00027647  0x0000735b fetch  0x00000002 , 0x0000424a 
+ 00027648  0x0000735c istore  0x00000002 , 0x00000005 
+ 00027649  0x0000735d fetch  0x00000001 , 0x00004563 
+ 00027650  0x0000735e lshift  0x0000003f , 0x0000003f 
+ 00027651  0x0000735f set1  0x00000000 , 0x0000003f 
+ 00027652  0x00007360 istore  0x00000001 , 0x00000005 
+ 00027653  0x00007361 bpatchx  0x000000ae , 0x00004035 
+ 00027654  0x00007362 setarg  0x000009ef 
+ 00027655  0x00007363 istore  0x00000002 , 0x00000005 
+ 00027656  0x00007364 setarg  0x000005e3 
+ 00027657  0x00007365 istore  0x00000002 , 0x00000005 
+ 00027658  0x00007366 copy  0x00000002 , 0x0000003f 
+ 00027659  0x00007367 istore  0x00000001 , 0x00000005 
+ 00027660  0x00007368 setarg  0x0000008d 
+ 00027661  0x00007369 istore  0x00000001 , 0x00000005 
+ 00027662  0x0000736a call  0x00006a2f 
+ 00027663  0x0000736b istore  0x00000001 , 0x00000005 
+ 00027664  0x0000736c rtn 
+ 00027665  0x0000736f call  0x000052d2 
+ 00027666  0x00007370 call  0x000052e0 
+ 00027667  0x00007371 setarg  0x00000008 
+ 00027668  0x00007372 istore  0x00000002 , 0x00000005 
+ 00027669  0x00007373 fetch  0x00000002 , 0x0000424a 
+ 00027670  0x00007374 istore  0x00000002 , 0x00000005 
+ 00027671  0x00007375 copy  0x00000002 , 0x0000000b 
+ 00027672  0x00007376 fetch  0x00000001 , 0x00004563 
+ 00027673  0x00007377 lshift  0x0000003f , 0x0000003f 
+ 00027674  0x00007378 set1  0x00000000 , 0x0000003f 
+ 00027675  0x00007379 istore  0x00000001 , 0x00000005 
+ 00027676  0x0000737a bpatchx  0x000000af , 0x00004035 
+ 00027677  0x0000737b setarg  0x000009ef 
+ 00027678  0x0000737c istore  0x00000002 , 0x00000005 
+ 00027679  0x0000737d setarg  0x000005e1 
+ 00027680  0x0000737e istore  0x00000002 , 0x00000005 
+ 00027681  0x0000737f copy  0x0000000b , 0x0000003f 
+ 00027682  0x00007380 istore  0x00000001 , 0x00000005 
+ 00027683  0x00007381 setarg  0x0000008d 
+ 00027684  0x00007382 istore  0x00000001 , 0x00000005 
+ 00027685  0x00007383 call  0x00006a2f 
+ 00027686  0x00007384 istore  0x00000001 , 0x00000005 
+ 00027687  0x00007385 rtn 
+ 00027688  0x00007388 bpatchx  0x000000b0 , 0x00004036 
+ 00027689  0x00007389 fetch  0x00000001 , 0x00004569 
+ 00027690  0x0000738a rtn  0x00000034 
+ 00027691  0x0000738b hfetch  0x00000002 , 0x00008112 
+ 00027692  0x0000738c nrtn  0x00000034 
+ 00027693  0x0000738d copy  0x00000011 , 0x0000003f 
+ 00027694  0x0000738e store  0x00000001 , 0x00000a9b 
+ 00027695  0x0000738f storet  0x00000001 , 0x00000a9a 
+ 00027696  0x00007390 call  0x0000526e 
+ 00027697  0x00007391 nrtn  0x00000034 
+ 00027698  0x00007392 call  0x000052d2 
+ 00027699  0x00007393 call  0x000052e0 
+ 00027700  0x00007394 setarg  0x00000005 
+ 00027701  0x00007395 istore  0x00000002 , 0x00000005 
+ 00027702  0x00007396 fetch  0x00000002 , 0x0000424a 
+ 00027703  0x00007397 istore  0x00000002 , 0x00000005 
+ 00027704  0x00007398 fetch  0x00000001 , 0x0000050d 
+ 00027705  0x00007399 istore  0x00000001 , 0x00000005 
+ 00027706  0x0000739a setarg  0x000001ff 
+ 00027707  0x0000739b istore  0x00000002 , 0x00000005 
+ 00027708  0x0000739c fetch  0x00000001 , 0x00004569 
+ 00027709  0x0000739d istore  0x00000001 , 0x00000005 
+ 00027710  0x0000739e fetch  0x00000001 , 0x00004566 
+ 00027711  0x0000739f istore  0x00000001 , 0x00000005 
+ 00027712  0x000073a0 jam  0x00000000 , 0x00004569 
+ 00027713  0x000073a1 rtn 
+ 00027714  0x000073a4 bpatchx  0x000000b1 , 0x00004036 
+ 00027715  0x000073a5 fetch  0x00000001 , 0x0000456b 
+ 00027716  0x000073a6 rtneq  0x00000001 
+ 00027717  0x000073a7 fetch  0x00000002 , 0x000004ff 
+ 00027718  0x000073a8 rtn  0x00000034 
+ 00027719  0x000073a9 fetch  0x00000001 , 0x00004569 
+ 00027720  0x000073aa increase  0x00000001 , 0x0000003f 
+ 00027721  0x000073ab store  0x00000001 , 0x00004569 
+ 00027722  0x000073ac rtn 
+ 00027723  0x000073af fetch  0x00000002 , 0x0000456f 
+ 00027724  0x000073b0 branch  0x00007f9c 
+ 00027725  0x000073b3 bpatchx  0x000000b2 , 0x00004036 
+ 00027726  0x000073b5 fetch  0x00000001 , 0x00004568 
+ 00027727  0x000073b6 rtn  0x00000034 
+ 00027728  0x000073b7 increase  0xffffffff , 0x0000003f 
+ 00027729  0x000073b8 store  0x00000001 , 0x00004568 
+ 00027730  0x000073b9 fetch  0x00000002 , 0x0000455e 
+ 00027731  0x000073ba fetcht  0x00000002 , 0x0000469f 
+ 00027732  0x000073bb isub  0x00000002 , 0x0000003e 
+ 00027733  0x000073bc branch  0x00006c57 , 0x00000002 
+ 00027734  0x000073bd store  0x00000002 , 0x0000469f 
+ 00027735  0x000073bf fetch  0x00000001 , 0x00004569 
+ 00027736  0x000073c0 branch  0x00006c5f , 0x00000034 
+ 00027737  0x000073c1 jam  0x00000001 , 0x00000510 
+ 00027738  0x000073c2 fetch  0x00000001 , 0x00004566 
+ 00027739  0x000073c3 store  0x00000001 , 0x0000050f 
+ 00027740  0x000073c4 setarg  0x000000ff 
+ 00027741  0x000073c5 store  0x00000001 , 0x0000050e 
+ 00027742  0x000073c6 branch  0x00006c64 
+ 00027743  0x000073c8 jam  0x00000000 , 0x00000510 
+ 00027744  0x000073c9 fetch  0x00000001 , 0x00004565 
+ 00027745  0x000073ca store  0x00000001 , 0x0000050f 
+ 00027746  0x000073cb setarg  0x000000ef 
+ 00027747  0x000073cc store  0x00000001 , 0x0000050e 
+ 00027748  0x000073ce bpatchx  0x000000b3 , 0x00004036 
+ 00027749  0x000073cf fetch  0x00000002 , 0x0000469f 
+ 00027750  0x000073d0 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027751  0x000073d1 branch  0x00006c6b , 0x00000002 
+ 00027752  0x000073d2 fetch  0x00000001 , 0x00000510 
+ 00027753  0x000073d3 increase  0x00000001 , 0x0000003f 
+ 00027754  0x000073d4 store  0x00000001 , 0x00000510 
+ 00027755  0x000073d6 call  0x00006a72 
+ 00027756  0x000073d7 fetch  0x00000002 , 0x0000469f 
+ 00027757  0x000073d8 increase  0x00000008 , 0x0000003f 
+ 00027758  0x000073d9 fetcht  0x00000001 , 0x00000510 
+ 00027759  0x000073da iadd  0x00000002 , 0x00000011 
+ 00027760  0x000073dc call  0x00005240 
+ 00027761  0x000073dd store  0x00000002 , 0x00000277 
+ 00027762  0x000073de increase  0x00000004 , 0x0000003f 
+ 00027763  0x000073df store  0x00000002 , 0x00000279 
+ 00027764  0x000073e0 copy  0x0000003f , 0x00000005 
+ 00027765  0x000073e1 fetch  0x00000001 , 0x0000050d 
+ 00027766  0x000073e2 istore  0x00000001 , 0x00000005 
+ 00027767  0x000073e3 fetch  0x00000001 , 0x0000050e 
+ 00027768  0x000073e4 istore  0x00000001 , 0x00000005 
+ 00027769  0x000073e5 call  0x00006c95 
+ 00027770  0x000073e6 call  0x00006ca6 
+ 00027771  0x000073e7 bpatchx  0x000000b4 , 0x00004036 
+ 00027772  0x000073e8 fetch  0x00000002 , 0x00004571 
+ 00027773  0x000073e9 copy  0x0000003f , 0x00000003 
+ 00027774  0x000073ea fetch  0x00000002 , 0x0000469f 
+ 00027775  0x000073eb copy  0x0000003f , 0x00000039 
+ 00027776  0x000073ec call  0x000066ea 
+ 00027777  0x000073ed copy  0x00000005 , 0x00000002 
+ 00027778  0x000073ee copy  0x00000003 , 0x0000003f 
+ 00027779  0x000073ef store  0x00000002 , 0x00004571 
+ 00027780  0x000073f0 copy  0x00000002 , 0x00000005 
+ 00027781  0x000073f1 fetch  0x00000001 , 0x0000050f 
+ 00027782  0x000073f2 istore  0x00000001 , 0x00000005 
+ 00027783  0x000073f3 fetch  0x00000002 , 0x00000277 
+ 00027784  0x000073f4 copy  0x0000003f , 0x00000005 
+ 00027785  0x000073f5 fetch  0x00000002 , 0x0000469f 
+ 00027786  0x000073f6 fetcht  0x00000001 , 0x00000510 
+ 00027787  0x000073f7 iadd  0x00000002 , 0x0000003f 
+ 00027788  0x000073f8 increase  0x00000004 , 0x0000003f 
+ 00027789  0x000073f9 istore  0x00000002 , 0x00000005 
+ 00027790  0x000073fa fetch  0x00000002 , 0x0000424a 
+ 00027791  0x000073fb istore  0x00000002 , 0x00000005 
+ 00027792  0x000073fc jam  0x00000000 , 0x00004569 
+ 00027793  0x000073fd fetch  0x00000002 , 0x00004573 
+ 00027794  0x000073fe beq  0x00000000 , 0x00003a97 
+ 00027795  0x000073ff jam  0x00000000 , 0x00000b05 
+ 00027796  0x00007400 rtn 
+ 00027797  0x00007403 bpatchx  0x000000b5 , 0x00004036 
+ 00027798  0x00007404 fetch  0x00000002 , 0x0000469f 
+ 00027799  0x00007405 sub  0x0000003f , 0x0000007f , 0x0000003e 
+ 00027800  0x00007406 nbranch  0x00006c9d , 0x00000002 
+ 00027801  0x00007407 lshift  0x0000003f , 0x0000003f 
+ 00027802  0x00007408 set1  0x00000000 , 0x0000003f 
+ 00027803  0x00007409 istore  0x00000001 , 0x00000005 
+ 00027804  0x0000740a rtn 
+ 00027805  0x0000740c fetch  0x00000002 , 0x0000469f 
+ 00027806  0x0000740d rshift3  0x0000003f , 0x0000003f 
+ 00027807  0x0000740e rshift4  0x0000003f , 0x00000002 
+ 00027808  0x0000740f and_into  0x0000007f , 0x0000003f 
+ 00027809  0x00007410 lshift  0x0000003f , 0x0000003f 
+ 00027810  0x00007411 set0  0x00000000 , 0x0000003f 
+ 00027811  0x00007412 istore  0x00000001 , 0x00000005 
+ 00027812  0x00007413 istoret  0x00000001 , 0x00000005 
+ 00027813  0x00007414 rtn 
+ 00027814  0x00007416 fetch  0x00000001 , 0x00004569 
+ 00027815  0x00007417 rtn  0x00000034 
+ 00027816  0x00007418 istore  0x00000001 , 0x00000005 
+ 00027817  0x00007419 rtn 
+ 00027818  0x0000741f bpatchx  0x000000b6 , 0x00004036 
+ 00027819  0x00007420 call  0x00007d9c 
+ 00027820  0x00007421 call  0x000032f6 
+ 00027821  0x00007422 call  0x0000631b 
+ 00027822  0x00007424 bpatchx  0x000000b7 , 0x00004036 
+ 00027823  0x00007425 call  0x000076dc 
+ 00027824  0x00007426 call  0x000076b5 
+ 00027825  0x00007427 call  0x000076c6 
+ 00027826  0x0000742a call  0x0000526e 
+ 00027827  0x0000742b nrtn  0x00000034 
+ 00027828  0x0000742d call  0x00004da9 
+ 00027829  0x0000742e call  0x0000526e 
+ 00027830  0x0000742f nrtn  0x00000034 
+ 00027831  0x00007430 bpatchx  0x000000b8 , 0x00004037 
+ 00027832  0x00007432 call  0x00006cf5 
+ 00027833  0x00007433 call  0x00004f64 
+ 00027834  0x00007434 call  0x00006b98 
+ 00027835  0x00007436 call  0x00006cbe 
+ 00027836  0x00007437 bpatchx  0x000000b9 , 0x00004037 
+ 00027837  0x0000743a branch  0x000032f2 
+ 00027838  0x0000743d fetch  0x00000001 , 0x0000027f 
+ 00027839  0x0000743e bbit1  0x00000000 , 0x00005087 
+ 00027840  0x0000743f bbit1  0x00000007 , 0x00005091 
+ 00027841  0x00007440 rtn 
+ 00027842  0x00007443 bpatchx  0x000000ba , 0x00004037 
+ 00027843  0x00007444 call  0x00005274 
+ 00027844  0x00007445 rtn  0x00000034 
+ 00027845  0x00007446 fetch  0x00000001 , 0x0000004b 
+ 00027846  0x00007447 rtnbit1  0x00000006 
+ 00027847  0x00007448 call  0x00005258 
+ 00027848  0x00007449 store  0x00000002 , 0x0000016f 
+ 00027849  0x0000744a copy  0x0000003f , 0x00000006 
+ 00027850  0x0000744b ifetch  0x00000002 , 0x00000006 
+ 00027851  0x0000744c increase  0x00000004 , 0x0000003f 
+ 00027852  0x0000744d store  0x00000002 , 0x000041dc 
+ 00027853  0x0000744e jam  0x00000006 , 0x000041db 
+ 00027854  0x0000744f bpatchx  0x000000bb , 0x00004037 
+ 00027855  0x00007450 fetch  0x00000002 , 0x00004246 
+ 00027856  0x00007451 branch  0x00006cdd , 0x00000034 
+ 00027857  0x00007452 fetch  0x00000001 , 0x0000004b 
+ 00027858  0x00007453 rtnbit0  0x00000007 
+ 00027859  0x00007454 set0  0x00000007 , 0x0000003f 
+ 00027860  0x00007455 store  0x00000001 , 0x0000004b 
+ 00027861  0x00007456 jam  0x00000005 , 0x000041db 
+ 00027862  0x00007457 fetcht  0x00000002 , 0x00004246 
+ 00027863  0x00007458 fetch  0x00000002 , 0x0000016f 
+ 00027864  0x00007459 iadd  0x00000002 , 0x0000003f 
+ 00027865  0x0000745a store  0x00000002 , 0x0000016f 
+ 00027866  0x0000745b fetch  0x00000002 , 0x000041dc 
+ 00027867  0x0000745c isub  0x00000002 , 0x0000003f 
+ 00027868  0x0000745d store  0x00000002 , 0x000041dc 
+ 00027869  0x0000745f bpatchx  0x000000bc , 0x00004037 
+ 00027870  0x00007460 fetch  0x00000002 , 0x000041dc 
+ 00027871  0x00007461 branch  0x00002a8c , 0x00000034 
+ 00027872  0x00007462 arg  0x00000104 , 0x00000002 
+ 00027873  0x00007463 isub  0x00000002 , 0x0000003f 
+ 00027874  0x00007464 nbranch  0x00006ce9 , 0x00000002 
+ 00027875  0x00007465 bpatchx  0x000000bd , 0x00004037 
+ 00027876  0x00007466 storet  0x00000002 , 0x000041dc 
+ 00027877  0x00007467 fetch  0x00000002 , 0x00004246 
+ 00027878  0x00007468 iadd  0x00000002 , 0x0000003f 
+ 00027879  0x00007469 store  0x00000002 , 0x00004246 
+ 00027880  0x0000746a branch  0x00006ceb 
+ 00027881  0x0000746c setarg  0x00000000 
+ 00027882  0x0000746d store  0x00000002 , 0x00004246 
+ 00027883  0x0000746f fetch  0x00000001 , 0x0000004b 
+ 00027884  0x00007470 set1  0x00000006 , 0x0000003f 
+ 00027885  0x00007471 store  0x00000001 , 0x0000004b 
+ 00027886  0x00007472 rtn 
+ 00027887  0x00007475 fetch  0x00000001 , 0x00004684 
+ 00027888  0x00007476 bbit1  0x00000000 , 0x00006cf3 
+ 00027889  0x00007477 jam  0x00000001 , 0x00000287 
+ 00027890  0x00007478 rtn 
+ 00027891  0x0000747a jam  0x0000000f , 0x00000287 
+ 00027892  0x0000747b rtn 
+ 00027893  0x0000747e fetch  0x00000001 , 0x00004681 
+ 00027894  0x0000747f nbranch  0x00006cfb , 0x00000034 
+ 00027895  0x00007481 fetch  0x00000001 , 0x00000286 
+ 00027896  0x00007483 rtn  0x00000034 
+ 00027897  0x00007485 jam  0x00000000 , 0x00000286 
+ 00027898  0x00007487 rtn 
+ 00027899  0x0000748b bpatchx  0x000000be , 0x00004037 
+ 00027900  0x0000748c fetch  0x00000001 , 0x00000287 
+ 00027901  0x0000748d rtn  0x00000034 
+ 00027902  0x0000748e beq  0x00000001 , 0x00006d1b 
+ 00027903  0x0000748f beq  0x00000002 , 0x00006d74 
+ 00027904  0x00007490 beq  0x00000003 , 0x00006d21 
+ 00027905  0x00007491 beq  0x00000004 , 0x00006d78 
+ 00027906  0x00007492 beq  0x0000003b , 0x00006d2b 
+ 00027907  0x00007493 beq  0x0000003c , 0x00006d7b 
+ 00027908  0x00007494 beq  0x0000000d , 0x00006d30 
+ 00027909  0x00007495 beq  0x0000000e , 0x00006d80 
+ 00027910  0x00007496 beq  0x0000000f , 0x00006d33 
+ 00027911  0x00007497 beq  0x00000010 , 0x00006d86 
+ 00027912  0x00007498 beq  0x00000011 , 0x00006d39 
+ 00027913  0x00007499 beq  0x00000012 , 0x00006d8a 
+ 00027914  0x0000749a beq  0x00000013 , 0x00006d3f 
+ 00027915  0x0000749b beq  0x00000014 , 0x00006d8e 
+ 00027916  0x0000749c beq  0x00000015 , 0x00006d45 
+ 00027917  0x0000749d beq  0x00000016 , 0x00006d92 
+ 00027918  0x0000749e beq  0x00000017 , 0x00006d4b 
+ 00027919  0x0000749f beq  0x00000018 , 0x00006d97 
+ 00027920  0x000074a0 beq  0x00000019 , 0x00006d51 
+ 00027921  0x000074a1 beq  0x0000001a , 0x00006d9b 
+ 00027922  0x000074a2 beq  0x0000001b , 0x00006d57 
+ 00027923  0x000074a3 beq  0x0000001c , 0x00006d9f 
+ 00027924  0x000074a4 beq  0x0000001d , 0x00006d5d 
+ 00027925  0x000074a5 beq  0x0000001e , 0x00006da4 
+ 00027926  0x000074a6 beq  0x0000001f , 0x00006d63 
+ 00027927  0x000074a7 beq  0x00000020 , 0x00006da8 
+ 00027928  0x000074a8 beq  0x00000021 , 0x00006d6e 
+ 00027929  0x000074a9 beq  0x00000022 , 0x00006dac 
+ 00027930  0x000074ab rtn 
+ 00027931  0x000074ad call  0x00006db7 
+ 00027932  0x000074ae jam  0x00000002 , 0x00000287 
+ 00027933  0x000074af fetch  0x00000001 , 0x00004250 
+ 00027934  0x000074b0 set1  0x00000000 , 0x0000003f 
+ 00027935  0x000074b1 store  0x00000001 , 0x00004250 
+ 00027936  0x000074b2 rtn 
+ 00027937  0x000074b4 jam  0x00000004 , 0x00000287 
+ 00027938  0x000074b5 fetch  0x00000001 , 0x00004250 
+ 00027939  0x000074b6 rtnbit1  0x00000002 
+ 00027940  0x000074b7 jam  0x00000003 , 0x00000287 
+ 00027941  0x000074b8 call  0x00006dbe 
+ 00027942  0x000074b9 jam  0x00000004 , 0x00000287 
+ 00027943  0x000074ba fetch  0x00000001 , 0x00004250 
+ 00027944  0x000074bb set1  0x00000002 , 0x0000003f 
+ 00027945  0x000074bc store  0x00000001 , 0x00004250 
+ 00027946  0x000074bd rtn 
+ 00027947  0x000074bf call  0x00005274 
+ 00027948  0x000074c0 nrtn  0x00000034 
+ 00027949  0x000074c1 call  0x00006dcd 
+ 00027950  0x000074c2 jam  0x0000003c , 0x00000287 
+ 00027951  0x000074c3 rtn 
+ 00027952  0x000074c5 call  0x00006dc3 
+ 00027953  0x000074c6 jam  0x0000000e , 0x00000287 
+ 00027954  0x000074c7 rtn 
+ 00027955  0x000074c9 call  0x00006ddd 
+ 00027956  0x000074ca jam  0x00000010 , 0x00000287 
+ 00027957  0x000074cb fetch  0x00000001 , 0x00004252 
+ 00027958  0x000074cc set1  0x00000000 , 0x0000003f 
+ 00027959  0x000074cd store  0x00000001 , 0x00004252 
+ 00027960  0x000074ce rtn 
+ 00027961  0x000074d0 call  0x00006de4 
+ 00027962  0x000074d1 jam  0x00000012 , 0x00000287 
+ 00027963  0x000074d2 fetch  0x00000001 , 0x00004252 
+ 00027964  0x000074d3 set1  0x00000002 , 0x0000003f 
+ 00027965  0x000074d4 store  0x00000001 , 0x00004252 
+ 00027966  0x000074d5 rtn 
+ 00027967  0x000074d7 call  0x00006de9 
+ 00027968  0x000074d8 jam  0x00000014 , 0x00000287 
+ 00027969  0x000074d9 fetch  0x00000001 , 0x00004253 
+ 00027970  0x000074da set1  0x00000000 , 0x0000003f 
+ 00027971  0x000074db store  0x00000001 , 0x00004253 
+ 00027972  0x000074dc rtn 
+ 00027973  0x000074de call  0x00006df0 
+ 00027974  0x000074df jam  0x00000016 , 0x00000287 
+ 00027975  0x000074e0 fetch  0x00000001 , 0x00004253 
+ 00027976  0x000074e1 set1  0x00000002 , 0x0000003f 
+ 00027977  0x000074e2 store  0x00000001 , 0x00004253 
+ 00027978  0x000074e3 rtn 
+ 00027979  0x000074e5 call  0x00006dd1 
+ 00027980  0x000074e6 jam  0x00000018 , 0x00000287 
+ 00027981  0x000074e7 fetch  0x00000001 , 0x00004251 
+ 00027982  0x000074e8 set1  0x00000000 , 0x0000003f 
+ 00027983  0x000074e9 store  0x00000001 , 0x00004251 
+ 00027984  0x000074ea rtn 
+ 00027985  0x000074ec call  0x00006dd8 
+ 00027986  0x000074ed jam  0x0000001a , 0x00000287 
+ 00027987  0x000074ee fetch  0x00000001 , 0x00004251 
+ 00027988  0x000074ef set1  0x00000002 , 0x0000003f 
+ 00027989  0x000074f0 store  0x00000001 , 0x00004251 
+ 00027990  0x000074f1 rtn 
+ 00027991  0x000074f3 call  0x00006df5 
+ 00027992  0x000074f4 jam  0x0000001c , 0x00000287 
+ 00027993  0x000074f5 fetch  0x00000001 , 0x00004251 
+ 00027994  0x000074f6 set1  0x00000006 , 0x0000003f 
+ 00027995  0x000074f7 store  0x00000001 , 0x00004251 
+ 00027996  0x000074f8 rtn 
+ 00027997  0x000074fa call  0x00006dfc 
+ 00027998  0x000074fb fetch  0x00000001 , 0x00004254 
+ 00027999  0x000074fc set1  0x00000000 
+ 00028000  0x000074fd store  0x00000001 , 0x00004254 
+ 00028001  0x000074fe jam  0x0000001e , 0x00000287 
+ 00028002  0x000074ff rtn 
+ 00028003  0x00007501 call  0x00006e02 
+ 00028004  0x00007502 fetch  0x00000001 , 0x00004254 
+ 00028005  0x00007503 set1  0x00000002 
+ 00028006  0x00007504 store  0x00000001 , 0x00004254 
+ 00028007  0x00007505 jam  0x00000020 , 0x00000287 
+ 00028008  0x00007506 fetch  0x00000001 , 0x00004564 
+ 00028009  0x00007507 lshift3  0x0000003f , 0x0000003f 
+ 00028010  0x00007508 or_into  0x00000003 , 0x0000003f 
+ 00028011  0x00007509 arg  0x00004565 , 0x00000002 
+ 00028012  0x0000750a storet  0x00000002 , 0x000004f7 
+ 00028013  0x0000750b branch  0x00006a35 
+ 00028014  0x0000750d call  0x00006e0c 
+ 00028015  0x0000750e fetch  0x00000001 , 0x00004254 
+ 00028016  0x0000750f set1  0x00000004 
+ 00028017  0x00007510 store  0x00000001 , 0x00004254 
+ 00028018  0x00007511 jam  0x00000022 , 0x00000287 
+ 00028019  0x00007512 rtn 
+ 00028020  0x00007515 fetch  0x00000001 , 0x00004250 
+ 00028021  0x00007516 rtnbit0  0x00000001 
+ 00028022  0x00007517 jam  0x00000003 , 0x00000287 
+ 00028023  0x00007518 branch  0x00006cfb 
+ 00028024  0x0000751a fetch  0x00000001 , 0x00004250 
+ 00028025  0x0000751b rtnne  0x0000003f 
+ 00028026  0x0000751c jam  0x0000003b , 0x00000287 
+ 00028027  0x0000751e fetch  0x00000001 , 0x00000285 
+ 00028028  0x0000751f rtnne  0x00000017 
+ 00028029  0x00007520 jam  0x00000000 , 0x00000285 
+ 00028030  0x00007521 jam  0x0000000d , 0x00000287 
+ 00028031  0x00007522 branch  0x00006cfb 
+ 00028032  0x00007524 fetch  0x00000001 , 0x00004250 
+ 00028033  0x00007525 nrtn  0x00000034 
+ 00028034  0x00007526 fetch  0x00000001 , 0x00004684 
+ 00028035  0x00007527 bbit1  0x00000000 , 0x00006daf 
+ 00028036  0x00007528 bbit1  0x00000006 , 0x00006db1 
+ 00028037  0x00007529 branch  0x00006db5 
+ 00028038  0x0000752b fetch  0x00000001 , 0x00004252 
+ 00028039  0x0000752c rtnbit0  0x00000001 
+ 00028040  0x0000752d jam  0x00000011 , 0x00000287 
+ 00028041  0x0000752e branch  0x00006cfb 
+ 00028042  0x00007530 fetch  0x00000001 , 0x00004252 
+ 00028043  0x00007531 rtnne  0x0000003f 
+ 00028044  0x00007532 jam  0x00000013 , 0x00000287 
+ 00028045  0x00007533 branch  0x00006cfb 
+ 00028046  0x00007535 fetch  0x00000001 , 0x00004253 
+ 00028047  0x00007536 rtnbit0  0x00000001 
+ 00028048  0x00007537 jam  0x00000015 , 0x00000287 
+ 00028049  0x00007538 branch  0x00006cfb 
+ 00028050  0x0000753a fetch  0x00000001 , 0x00004253 
+ 00028051  0x0000753b rtnne  0x0000003f 
+ 00028052  0x0000753c fetch  0x00000001 , 0x00004684 
+ 00028053  0x0000753d bbit1  0x00000006 , 0x00006db1 
+ 00028054  0x0000753e branch  0x00006db5 
+ 00028055  0x00007540 fetch  0x00000001 , 0x00004251 
+ 00028056  0x00007541 rtnbit0  0x00000001 
+ 00028057  0x00007542 jam  0x00000019 , 0x00000287 
+ 00028058  0x00007543 branch  0x00006cfb 
+ 00028059  0x00007545 fetch  0x00000001 , 0x00004251 
+ 00028060  0x00007546 rtnne  0x0000003f 
+ 00028061  0x00007547 jam  0x0000001b , 0x00000287 
+ 00028062  0x00007548 branch  0x00006cfb 
+ 00028063  0x0000754a fetch  0x00000001 , 0x00004251 
+ 00028064  0x0000754b rtnne  0x000000ff 
+ 00028065  0x0000754c fetch  0x00000001 , 0x00004684 
+ 00028066  0x0000754d bbit1  0x00000006 , 0x00006db3 
+ 00028067  0x0000754e branch  0x00006db5 
+ 00028068  0x00007550 fetch  0x00000001 , 0x00004254 
+ 00028069  0x00007551 rtnbit0  0x00000001 
+ 00028070  0x00007552 jam  0x0000001f , 0x00000287 
+ 00028071  0x00007553 branch  0x00006cfb 
+ 00028072  0x00007555 fetch  0x00000001 , 0x00004254 
+ 00028073  0x00007556 rtnbit0  0x00000003 
+ 00028074  0x00007557 jam  0x00000021 , 0x00000287 
+ 00028075  0x00007558 branch  0x00006cfb 
+ 00028076  0x0000755a fetch  0x00000001 , 0x00004254 
+ 00028077  0x0000755b rtnne  0x000000ff 
+ 00028078  0x0000755c branch  0x00006db5 
+ 00028079  0x0000755f jam  0x0000000f , 0x00000287 
+ 00028080  0x00007560 branch  0x00006cfb 
+ 00028081  0x00007563 jam  0x00000017 , 0x00000287 
+ 00028082  0x00007564 branch  0x00006cfb 
+ 00028083  0x00007566 jam  0x0000001d , 0x00000287 
+ 00028084  0x00007567 branch  0x00006cfb 
+ 00028085  0x0000756c jam  0x00000000 , 0x00000287 
+ 00028086  0x0000756d rtn 
+ 00028087  0x0000756f bpatchx  0x000000bf , 0x00004037 
+ 00028088  0x00007570 call  0x000052b8 
+ 00028089  0x00007571 setarg  0x00000001 
+ 00028090  0x00007572 copy  0x0000003f , 0x00000002 
+ 00028091  0x00007573 setarg  0x00000050 
+ 00028092  0x00007574 copy  0x0000003f , 0x0000000b 
+ 00028093  0x00007575 branch  0x000050a8 
+ 00028094  0x00007578 bpatchx  0x000000c0 , 0x00004038 
+ 00028095  0x00007579 call  0x000052b8 
+ 00028096  0x0000757a fetch  0x00000002 , 0x00004248 
+ 00028097  0x0000757b copy  0x0000003f , 0x00000002 
+ 00028098  0x0000757c branch  0x000050b7 
+ 00028099  0x0000757f bpatchx  0x000000c1 , 0x00004038 
+ 00028100  0x00007580 call  0x000052b8 
+ 00028101  0x00007581 fetch  0x00000002 , 0x00004248 
+ 00028102  0x00007582 copy  0x0000003f , 0x00000002 
+ 00028103  0x00007583 arg  0x00000050 , 0x0000000b 
+ 00028104  0x00007584 call  0x000050cc 
+ 00028105  0x00007585 fetch  0x00000001 , 0x00004250 
+ 00028106  0x00007586 set0  0x00000005 , 0x0000003f 
+ 00028107  0x00007587 store  0x00000001 , 0x00004250 
+ 00028108  0x00007588 rtn 
+ 00028109  0x0000758b bpatchx  0x000000c2 , 0x00004038 
+ 00028110  0x0000758c call  0x000052c5 
+ 00028111  0x0000758d call  0x00007138 
+ 00028112  0x0000758e branch  0x000050e7 
+ 00028113  0x00007591 bpatchx  0x000000c3 , 0x00004038 
+ 00028114  0x00007592 call  0x000052b8 
+ 00028115  0x00007593 setarg  0x00000003 
+ 00028116  0x00007594 copy  0x0000003f , 0x00000002 
+ 00028117  0x00007595 setarg  0x00000051 
+ 00028118  0x00007596 copy  0x0000003f , 0x0000000b 
+ 00028119  0x00007597 branch  0x000050a8 
+ 00028120  0x0000759a bpatchx  0x000000c4 , 0x00004038 
+ 00028121  0x0000759b call  0x000052b8 
+ 00028122  0x0000759c fetch  0x00000002 , 0x0000424a 
+ 00028123  0x0000759d copy  0x0000003f , 0x00000002 
+ 00028124  0x0000759e branch  0x000050b7 
+ 00028125  0x000075a1 bpatchx  0x000000c5 , 0x00004038 
+ 00028126  0x000075a2 call  0x000052b8 
+ 00028127  0x000075a3 setarg  0x00000011 
+ 00028128  0x000075a4 copy  0x0000003f , 0x00000002 
+ 00028129  0x000075a5 setarg  0x00000052 
+ 00028130  0x000075a6 copy  0x0000003f , 0x0000000b 
+ 00028131  0x000075a7 branch  0x000050a8 
+ 00028132  0x000075aa bpatchx  0x000000c6 , 0x00004038 
+ 00028133  0x000075ab call  0x000052b8 
+ 00028134  0x000075ac fetch  0x00000002 , 0x0000424c 
+ 00028135  0x000075ad copy  0x0000003f , 0x00000002 
+ 00028136  0x000075ae branch  0x000050b7 
+ 00028137  0x000075b1 bpatchx  0x000000c7 , 0x00004038 
+ 00028138  0x000075b2 call  0x000052b8 
+ 00028139  0x000075b3 setarg  0x00000013 
+ 00028140  0x000075b4 copy  0x0000003f , 0x00000002 
+ 00028141  0x000075b5 setarg  0x00000053 
+ 00028142  0x000075b6 copy  0x0000003f , 0x0000000b 
+ 00028143  0x000075b7 branch  0x000050a8 
+ 00028144  0x000075ba bpatchx  0x000000c8 , 0x00004039 
+ 00028145  0x000075bb call  0x000052b8 
+ 00028146  0x000075bc fetch  0x00000002 , 0x0000424e 
+ 00028147  0x000075bd copy  0x0000003f , 0x00000002 
+ 00028148  0x000075be branch  0x000050b7 
+ 00028149  0x000075c1 bpatchx  0x000000c9 , 0x00004039 
+ 00028150  0x000075c2 call  0x000052d2 
+ 00028151  0x000075c4 jam  0x00000003 , 0x000004fb 
+ 00028152  0x000075c5 jam  0x0000001c , 0x000004fe 
+ 00028153  0x000075c6 call  0x00006ba9 
+ 00028154  0x000075c7 jam  0x00000001 , 0x00004563 
+ 00028155  0x000075c8 rtn 
+ 00028156  0x000075cb bpatchx  0x000000ca , 0x00004039 
+ 00028157  0x000075cc call  0x000052d2 
+ 00028158  0x000075cd fetcht  0x00000001 , 0x00004564 
+ 00028159  0x000075ce call  0x00006a79 
+ 00028160  0x000075cf storet  0x00000001 , 0x0000455d 
+ 00028161  0x000075d0 branch  0x00006bc4 
+ 00028162  0x000075d3 bpatchx  0x000000cb , 0x00004039 
+ 00028163  0x000075d4 call  0x000052d2 
+ 00028164  0x000075d5 fetcht  0x00000001 , 0x0000455d 
+ 00028165  0x000075d6 call  0x00006a73 
+ 00028166  0x000075d7 call  0x00006a1a 
+ 00028167  0x000075d8 store  0x00000001 , 0x000004fe 
+ 00028168  0x000075d9 fetcht  0x00000001 , 0x0000455d 
+ 00028169  0x000075da call  0x00006a73 
+ 00028170  0x000075db storet  0x00000001 , 0x000004fb 
+ 00028171  0x000075dc branch  0x00006ba9 
+ 00028172  0x000075df bpatchx  0x000000cc , 0x00004039 
+ 00028173  0x000075e0 call  0x000052d2 
+ 00028174  0x000075e1 fetcht  0x00000001 , 0x0000455d 
+ 00028175  0x000075e2 call  0x00006a73 
+ 00028176  0x000075e3 branch  0x00006bfc 
+ 00028177  0x000075f1 bpatchx  0x000000cd , 0x00004039 
+ 00028178  0x000075f2 fetch  0x00000002 , 0x00000264 
+ 00028179  0x000075f3 iforce  0x00000006 
+ 00028180  0x000075f6 ifetch  0x00000001 , 0x00000006 
+ 00028181  0x000075f7 copy  0x0000003f , 0x00000012 
+ 00028182  0x000075f8 store  0x00000001 , 0x0000051b 
+ 00028183  0x000075f9 ifetch  0x00000002 , 0x00000006 
+ 00028184  0x000075fa store  0x00000002 , 0x0000051c 
+ 00028185  0x000075fb ifetch  0x00000001 , 0x00000006 
+ 00028186  0x000075fc lshift8  0x0000003f , 0x0000000b 
+ 00028187  0x000075fd ifetch  0x00000001 , 0x00000006 
+ 00028188  0x000075fe iadd  0x0000000b , 0x0000000b 
+ 00028189  0x000075ff bpatchx  0x000000ce , 0x00004039 
+ 00028190  0x00007600 copy  0x00000006 , 0x00000002 
+ 00028191  0x00007601 arg  0x00000004 , 0x00000039 
+ 00028192  0x00007602 arg  0x0000052a , 0x00000005 
+ 00028193  0x00007603 call  0x00007ec6 
+ 00028194  0x00007604 copy  0x00000002 , 0x00000006 
+ 00028195  0x00007605 deposit  0x00000012 
+ 00028196  0x00007606 beq  0x00000001 , 0x00006fba 
+ 00028197  0x00007607 beq  0x00000002 , 0x00006e2c 
+ 00028198  0x00007608 beq  0x00000003 , 0x00006fba 
+ 00028199  0x00007609 beq  0x00000004 , 0x00006e54 
+ 00028200  0x0000760a beq  0x00000005 , 0x00006fba 
+ 00028201  0x0000760b beq  0x00000006 , 0x00006f02 
+ 00028202  0x0000760c beq  0x00000007 , 0x00006fba 
+ 00028203  0x0000760d branch  0x00006fc1 
+ 00028204  0x00007619 bpatchx  0x000000cf , 0x00004039 
+ 00028205  0x0000761a call  0x00006fd0 
+ 00028206  0x0000761b compare  0x00000001 , 0x00000002 , 0x000000ff 
+ 00028207  0x0000761c branch  0x00007040 , 0x00000001 
+ 00028208  0x0000761d compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028209  0x0000761e branch  0x00006fc4 , 0x00000001 
+ 00028210  0x00007620 ifetch  0x00000002 , 0x00000006 
+ 00028211  0x00007621 store  0x00000002 , 0x00000522 
+ 00028212  0x00007622 increase  0xfffffffe , 0x0000000b 
+ 00028213  0x00007624 increase  0xffffffff , 0x0000000b 
+ 00028214  0x00007625 nbranch  0x00006fbe , 0x00000005 
+ 00028215  0x00007626 arg  0x00000511 , 0x0000000b 
+ 00028216  0x00007627 ifetch  0x00000002 , 0x0000000b 
+ 00028217  0x00007628 rtn  0x00000034 
+ 00028218  0x00007629 call  0x00007082 
+ 00028219  0x0000762a call  0x000052d0 
+ 00028220  0x0000762b force  0x00000003 , 0x0000003f 
+ 00028221  0x0000762c istore  0x00000001 , 0x00000005 
+ 00028222  0x0000762d fetch  0x00000002 , 0x0000051c 
+ 00028223  0x0000762e istore  0x00000002 , 0x00000005 
+ 00028224  0x0000762f lshift2  0x00000007 , 0x0000003f 
+ 00028225  0x00007630 add  0x0000003f , 0x00000005 , 0x0000003f 
+ 00028226  0x00007631 add  0x0000003f , 0x00000005 , 0x00000013 
+ 00028227  0x00007632 byteswap  0x0000003f , 0x0000003f 
+ 00028228  0x00007633 istore  0x00000002 , 0x00000005 
+ 00028229  0x00007634 deposit  0x00000007 
+ 00028230  0x00007635 byteswap  0x0000003f , 0x0000003f 
+ 00028231  0x00007636 istore  0x00000002 , 0x00000005 
+ 00028232  0x00007637 istore  0x00000002 , 0x00000005 
+ 00028233  0x00007638 arg  0x0000052a , 0x00000006 
+ 00028234  0x00007639 copy  0x00000007 , 0x00000039 
+ 00028235  0x0000763a branch  0x00006e4f , 0x00000005 
+ 00028236  0x0000763c ifetch  0x00000004 , 0x00000006 
+ 00028237  0x0000763d istore  0x00000004 , 0x00000005 
+ 00028238  0x0000763e loop  0x00006e4c 
+ 00028239  0x00007640 force  0x00000000 , 0x0000003f 
+ 00028240  0x00007641 istore  0x00000001 , 0x00000005 
+ 00028241  0x00007642 deposit  0x00000013 
+ 00028242  0x00007643 store  0x00000002 , 0x00000275 
+ 00028243  0x00007645 rtn 
+ 00028244  0x00007651 bpatchx  0x000000d0 , 0x0000403a 
+ 00028245  0x00007652 ifetch  0x00000004 , 0x00000006 
+ 00028246  0x00007653 store  0x00000004 , 0x00000524 
+ 00028247  0x00007654 increase  0xfffffffc , 0x0000000b 
+ 00028248  0x00007655 call  0x00006f2e 
+ 00028249  0x00007656 store  0x00000002 , 0x00000520 
+ 00028250  0x00007657 increase  0xfffffffe , 0x0000000b 
+ 00028251  0x00007658 call  0x00007028 
+ 00028252  0x00007659 branch  0x00006fc4 , 0x00000005 
+ 00028253  0x0000765a compare  0x00000005 , 0x00000011 , 0x000000ff 
+ 00028254  0x0000765c branch  0x00006e62 , 0x00000001 
+ 00028255  0x0000765e arg  0x0000052a , 0x00000005 
+ 00028256  0x0000765f force  0x00000000 , 0x00000007 
+ 00028257  0x00007660 branch  0x00006e71 
+ 00028258  0x00007662 ifetch  0x00000001 , 0x00000006 
+ 00028259  0x00007663 bne  0x0000000a , 0x00006fc4 
+ 00028260  0x00007664 ifetch  0x00000002 , 0x00000006 
+ 00028261  0x00007665 nbranch  0x00006e6f , 0x00000034 
+ 00028262  0x00007666 ifetch  0x00000001 , 0x00000006 
+ 00028263  0x00007667 bne  0x000000ff , 0x00006e6d 
+ 00028264  0x00007668 ifetch  0x00000001 , 0x00000006 
+ 00028265  0x00007669 bne  0x000000ff , 0x00006e6b 
+ 00028266  0x0000766a branch  0x00006eb8 
+ 00028267  0x0000766c increase  0xfffffffb , 0x00000006 
+ 00028268  0x0000766d branch  0x00006e5f 
+ 00028269  0x0000766f increase  0xfffffffc , 0x00000006 
+ 00028270  0x00007670 branch  0x00006e5f 
+ 00028271  0x00007672 increase  0xfffffffd , 0x00000006 
+ 00028272  0x00007673 branch  0x00006e5f 
+ 00028273  0x00007675 ifetch  0x00000001 , 0x00000006 
+ 00028274  0x00007676 beq  0x00000009 , 0x00006e86 
+ 00028275  0x00007677 beq  0x0000000a , 0x00006e74 
+ 00028276  0x00007679 ifetch  0x00000002 , 0x00000006 
+ 00028277  0x0000767a istore  0x00000002 , 0x00000005 
+ 00028278  0x0000767b increase  0x00000001 , 0x00000007 
+ 00028279  0x0000767c byteswap  0x0000003f , 0x00000012 
+ 00028280  0x0000767d ifetch  0x00000002 , 0x00000006 
+ 00028281  0x0000767e byteswap  0x0000003f , 0x0000003f 
+ 00028282  0x00007680 increase  0x00000001 , 0x00000012 
+ 00028283  0x00007681 isub  0x00000012 , 0x0000003e 
+ 00028284  0x00007682 nbranch  0x00006e83 , 0x00000002 
+ 00028285  0x00007683 copy  0x0000003f , 0x00000013 
+ 00028286  0x00007684 byteswap  0x00000012 , 0x0000003f 
+ 00028287  0x00007685 istore  0x00000002 , 0x00000005 
+ 00028288  0x00007686 increase  0x00000001 , 0x00000007 
+ 00028289  0x00007687 copy  0x00000013 , 0x0000003f 
+ 00028290  0x00007688 branch  0x00006e7a 
+ 00028291  0x0000768a increase  0xfffffffb , 0x0000000b 
+ 00028292  0x0000768b increase  0xfffffffb , 0x00000011 
+ 00028293  0x0000768c branch  0x00006e8b 
+ 00028294  0x0000768e ifetch  0x00000002 , 0x00000006 
+ 00028295  0x0000768f istore  0x00000002 , 0x00000005 
+ 00028296  0x00007690 increase  0x00000001 , 0x00000007 
+ 00028297  0x00007691 increase  0xfffffffd , 0x0000000b 
+ 00028298  0x00007692 increase  0xfffffffd , 0x00000011 
+ 00028299  0x00007694 nbranch  0x00006fc4 , 0x00000002 
+ 00028300  0x00007695 nbranch  0x00006e71 , 0x00000005 
+ 00028301  0x00007696 increase  0xffffffff , 0x0000000b 
+ 00028302  0x00007697 nbranch  0x00006fc4 , 0x00000005 
+ 00028303  0x00007699 call  0x000052d0 
+ 00028304  0x0000769a increase  0x0000000a , 0x00000005 
+ 00028305  0x0000769b arg  0x0000052a , 0x00000011 
+ 00028306  0x0000769d copy  0x00000007 , 0x0000003f 
+ 00028307  0x0000769e branch  0x00006ea5 , 0x00000034 
+ 00028308  0x0000769f ifetch  0x00000002 , 0x00000011 
+ 00028309  0x000076a0 branch  0x00006ea5 , 0x00000034 
+ 00028310  0x000076a1 iforce  0x00000012 
+ 00028311  0x000076a2 fetch  0x00000004 , 0x00000524 
+ 00028312  0x000076a3 iforce  0x00000002 
+ 00028313  0x000076a4 call  0x000070e7 
+ 00028314  0x000076a5 copy  0x00000006 , 0x0000003f 
+ 00028315  0x000076a6 branch  0x00006ea2 , 0x00000034 
+ 00028316  0x000076a7 increase  0xfffffffd , 0x00000006 
+ 00028317  0x000076a8 ifetch  0x00000003 , 0x00000006 
+ 00028318  0x000076a9 istore  0x00000003 , 0x00000005 
+ 00028319  0x000076aa call  0x0000705b 
+ 00028320  0x000076ab iforce  0x00000039 
+ 00028321  0x000076ac call  0x00007f01 
+ 00028322  0x000076ae increase  0x00000002 , 0x00000011 
+ 00028323  0x000076af increase  0xffffffff , 0x00000007 
+ 00028324  0x000076b0 branch  0x00006e92 
+ 00028325  0x000076b3 arg  0x00000005 , 0x00000011 
+ 00028326  0x000076b4 call  0x00006f84 
+ 00028327  0x000076b5 fetch  0x00000002 , 0x00000275 
+ 00028328  0x000076b6 beq  0x0000000b , 0x00007043 
+ 00028329  0x000076b7 branch  0x00006f9a 
+ 00028330  0x000076bb ifetch  0x00000001 , 0x00000006 
+ 00028331  0x000076bc beq  0x00000000 , 0x00006eae 
+ 00028332  0x000076bd beq  0x00000001 , 0x00006eb0 
+ 00028333  0x000076be beq  0x00000002 , 0x00006eb3 
+ 00028334  0x000076c0 increase  0xffffffff , 0x0000000b 
+ 00028335  0x000076c1 branch  0x00006eb6 
+ 00028336  0x000076c3 ifetch  0x00000001 , 0x00000006 
+ 00028337  0x000076c4 increase  0xfffffffe , 0x0000000b 
+ 00028338  0x000076c5 branch  0x00006eb6 
+ 00028339  0x000076c7 ifetch  0x00000002 , 0x00000006 
+ 00028340  0x000076c8 byteswap  0x0000003f , 0x0000003f 
+ 00028341  0x000076c9 increase  0xfffffffd , 0x0000000b 
+ 00028342  0x000076cb store  0x00000002 , 0x00000519 
+ 00028343  0x000076cc rtn 
+ 00028344  0x000076cf increase  0xfffffffb , 0x0000000b 
+ 00028345  0x000076d0 call  0x00006eaa 
+ 00028346  0x000076d1 nbranch  0x00006fbe , 0x00000005 
+ 00028347  0x000076d2 fetcht  0x00000004 , 0x00000524 
+ 00028348  0x000076d3 call  0x000070b1 
+ 00028349  0x000076d4 nbranch  0x00006fbb , 0x00000005 
+ 00028350  0x000076d5 copy  0x00000006 , 0x00000011 
+ 00028351  0x000076d6 call  0x000052d0 
+ 00028352  0x000076d7 copy  0x00000011 , 0x00000006 
+ 00028353  0x000076d8 increase  0x00000003 , 0x00000005 
+ 00028354  0x000076d9 copy  0x00000006 , 0x0000000b 
+ 00028355  0x000076da call  0x00007062 
+ 00028356  0x000076db copy  0x0000003f , 0x00000011 
+ 00028357  0x000076dd fetch  0x00000002 , 0x00000519 
+ 00028358  0x000076de copy  0x0000003f , 0x00000012 
+ 00028359  0x000076df copy  0x00000011 , 0x0000003f 
+ 00028360  0x000076e0 isub  0x00000012 , 0x00000012 
+ 00028361  0x000076e1 fetch  0x00000002 , 0x00000520 
+ 00028362  0x000076e2 isub  0x00000012 , 0x0000003e 
+ 00028363  0x000076e3 nbranch  0x00006ee7 , 0x00000002 
+ 00028364  0x000076e5 disable  0x00000028 
+ 00028365  0x000076e6 fetch  0x00000002 , 0x00000519 
+ 00028366  0x000076e7 branch  0x00006eda , 0x00000034 
+ 00028367  0x000076e8 iadd  0x0000000b , 0x00000006 
+ 00028368  0x000076e9 increase  0x00000003 , 0x00000012 
+ 00028369  0x000076ea copy  0x00000012 , 0x00000039 
+ 00028370  0x000076eb copy  0x00000039 , 0x0000003f 
+ 00028371  0x000076ec increase  0x00000003 , 0x0000003f 
+ 00028372  0x000076ed byteswap  0x0000003f , 0x0000003f 
+ 00028373  0x000076ee istore  0x00000002 , 0x00000005 
+ 00028374  0x000076ef copy  0x00000039 , 0x0000003f 
+ 00028375  0x000076f0 byteswap  0x0000003f , 0x0000003f 
+ 00028376  0x000076f1 istore  0x00000002 , 0x00000005 
+ 00028377  0x000076f2 branch  0x00006ef5 
+ 00028378  0x000076f4 add  0x00000011 , 0x00000006 , 0x00000039 
+ 00028379  0x000076f5 branch  0x00006ede , 0x00000028 
+ 00028380  0x000076f6 byteswap  0x00000039 , 0x0000003f 
+ 00028381  0x000076f7 branch  0x00006ee1 
+ 00028382  0x000076f9 copy  0x00000039 , 0x0000003f 
+ 00028383  0x000076fa increase  0x00000002 , 0x0000003f 
+ 00028384  0x000076fb byteswap  0x0000003f , 0x0000003f 
+ 00028385  0x000076fd istore  0x00000002 , 0x00000005 
+ 00028386  0x000076fe increase  0xfffffffd , 0x00000039 
+ 00028387  0x000076ff byteswap  0x00000039 , 0x0000003f 
+ 00028388  0x00007700 istore  0x00000002 , 0x00000005 
+ 00028389  0x00007701 copy  0x0000000b , 0x00000006 
+ 00028390  0x00007702 branch  0x00006ef5 
+ 00028391  0x00007704 enable  0x00000028 
+ 00028392  0x00007706 fetch  0x00000002 , 0x00000520 
+ 00028393  0x00007707 copy  0x0000003f , 0x00000011 
+ 00028394  0x00007708 copy  0x00000011 , 0x00000039 
+ 00028395  0x00007709 fetch  0x00000002 , 0x00000519 
+ 00028396  0x0000770a branch  0x00006eda , 0x00000034 
+ 00028397  0x0000770b iadd  0x0000000b , 0x00000006 
+ 00028398  0x0000770c copy  0x00000011 , 0x0000003f 
+ 00028399  0x0000770d increase  0x00000005 , 0x0000003f 
+ 00028400  0x0000770e byteswap  0x0000003f , 0x0000003f 
+ 00028401  0x0000770f istore  0x00000002 , 0x00000005 
+ 00028402  0x00007710 copy  0x00000011 , 0x0000003f 
+ 00028403  0x00007711 byteswap  0x0000003f , 0x0000003f 
+ 00028404  0x00007712 istore  0x00000002 , 0x00000005 
+ 00028405  0x00007714 call  0x00007f01 
+ 00028406  0x00007715 nbranch  0x00006efe , 0x00000028 
+ 00028407  0x00007716 force  0x00000002 , 0x0000003f 
+ 00028408  0x00007717 istore  0x00000001 , 0x00000005 
+ 00028409  0x00007718 copy  0x00000006 , 0x0000003f 
+ 00028410  0x00007719 isub  0x0000000b , 0x0000003f 
+ 00028411  0x0000771a byteswap  0x0000003f , 0x0000003f 
+ 00028412  0x0000771b istore  0x00000002 , 0x00000005 
+ 00028413  0x0000771c branch  0x00006f00 
+ 00028414  0x0000771e force  0x00000000 , 0x0000003f 
+ 00028415  0x0000771f istore  0x00000001 , 0x00000005 
+ 00028416  0x00007721 arg  0x00000005 , 0x00000011 
+ 00028417  0x00007722 branch  0x00006fb0 
+ 00028418  0x0000772e bpatchx  0x000000d1 , 0x0000403a 
+ 00028419  0x0000772f call  0x00006fd0 
+ 00028420  0x00007730 compare  0x000000ff , 0x00000002 , 0x000000ff 
+ 00028421  0x00007731 branch  0x00006fc4 , 0x00000001 
+ 00028422  0x00007732 call  0x00006f2e 
+ 00028423  0x00007733 store  0x00000002 , 0x00000520 
+ 00028424  0x00007734 increase  0xfffffffe , 0x0000000b 
+ 00028425  0x00007735 call  0x00007028 
+ 00028426  0x00007736 arg  0x0000052a , 0x00000005 
+ 00028427  0x00007737 force  0x00000000 , 0x00000007 
+ 00028428  0x00007739 ifetch  0x00000001 , 0x00000006 
+ 00028429  0x0000773a beq  0x0000000a , 0x00006f36 
+ 00028430  0x0000773b ifetch  0x00000002 , 0x00000006 
+ 00028431  0x0000773c istore  0x00000002 , 0x00000005 
+ 00028432  0x0000773d increase  0x00000001 , 0x00000007 
+ 00028433  0x0000773e increase  0xfffffffd , 0x0000000b 
+ 00028434  0x0000773f increase  0xfffffffd , 0x00000011 
+ 00028435  0x00007740 nbranch  0x00006fc4 , 0x00000002 
+ 00028436  0x00007741 nbranch  0x00006f0c , 0x00000005 
+ 00028437  0x00007742 increase  0xffffffff , 0x0000000b 
+ 00028438  0x00007743 nbranch  0x00006fc4 , 0x00000005 
+ 00028439  0x00007744 call  0x000052d0 
+ 00028440  0x00007745 increase  0x0000000d , 0x00000005 
+ 00028441  0x00007746 fetch  0x00000002 , 0x00000511 
+ 00028442  0x00007747 iforce  0x00000013 
+ 00028443  0x00007748 arg  0x0000052a , 0x00000011 
+ 00028444  0x0000774a ifetch  0x00000002 , 0x00000011 
+ 00028445  0x0000774b branch  0x00006f29 , 0x00000034 
+ 00028446  0x0000774c iforce  0x00000012 
+ 00028447  0x0000774d call  0x000070c6 
+ 00028448  0x0000774e branch  0x00006f27 , 0x00000034 
+ 00028449  0x0000774f increase  0xfffffffd , 0x00000006 
+ 00028450  0x00007750 ifetch  0x00000003 , 0x00000006 
+ 00028451  0x00007751 istore  0x00000003 , 0x00000005 
+ 00028452  0x00007752 call  0x0000705b 
+ 00028453  0x00007753 iforce  0x00000039 
+ 00028454  0x00007754 call  0x00007f01 
+ 00028455  0x00007756 increase  0x00000002 , 0x00000011 
+ 00028456  0x00007757 branch  0x00006f1c 
+ 00028457  0x0000775a call  0x00006f83 
+ 00028458  0x0000775b fetch  0x00000002 , 0x00000275 
+ 00028459  0x0000775c beq  0x0000000e , 0x00007046 
+ 00028460  0x0000775d call  0x00006f9a 
+ 00028461  0x0000775e branch  0x00006f9a 
+ 00028462  0x00007762 ifetch  0x00000002 , 0x00000006 
+ 00028463  0x00007763 byteswap  0x0000003f , 0x0000003f 
+ 00028464  0x00007764 increase  0xfffffffd , 0x0000003f 
+ 00028465  0x00007765 arg  0x000000c8 , 0x00000002 
+ 00028466  0x00007766 isub  0x00000002 , 0x0000003e 
+ 00028467  0x00007767 nrtn  0x00000002 
+ 00028468  0x00007768 setarg  0x000000c8 
+ 00028469  0x00007769 rtn 
+ 00028470  0x0000776d increase  0x00000004 , 0x00000006 
+ 00028471  0x0000776e increase  0xfffffffb , 0x0000000b 
+ 00028472  0x0000776f increase  0xfffffffb , 0x00000011 
+ 00028473  0x00007770 nbranch  0x00006fc4 , 0x00000005 
+ 00028474  0x00007771 call  0x00006eaa 
+ 00028475  0x00007772 nbranch  0x00006fbe , 0x00000005 
+ 00028476  0x00007773 arg  0x00000511 , 0x0000000b 
+ 00028477  0x00007774 call  0x00007082 
+ 00028478  0x00007775 deposit  0x00000007 
+ 00028479  0x00007776 branch  0x00007046 , 0x00000034 
+ 00028480  0x00007777 store  0x00000001 , 0x0000054e 
+ 00028481  0x00007779 copy  0x00000012 , 0x0000003f 
+ 00028482  0x0000777a store  0x00000002 , 0x0000054c 
+ 00028483  0x0000777b arg  0x00000000 , 0x00000007 
+ 00028484  0x0000777c arg  0x00000000 , 0x00000011 
+ 00028485  0x0000777d call  0x000052d0 
+ 00028486  0x0000777e increase  0x0000000a , 0x00000005 
+ 00028487  0x00007780 call  0x00006f6c 
+ 00028488  0x00007781 nbranch  0x00002a8c , 0x00000028 
+ 00028489  0x00007782 copy  0x00000006 , 0x0000000b 
+ 00028490  0x00007783 copy  0x0000003f , 0x00000013 
+ 00028491  0x00007784 iadd  0x00000011 , 0x00000011 
+ 00028492  0x00007787 fetch  0x00000002 , 0x00000519 
+ 00028493  0x00007788 copy  0x0000003f , 0x00000012 
+ 00028494  0x00007789 branch  0x00006f75 , 0x00000034 
+ 00028495  0x0000778b copy  0x00000011 , 0x0000003f 
+ 00028496  0x0000778c isub  0x00000012 , 0x00000012 
+ 00028497  0x0000778d branch  0x00006f67 , 0x00000005 
+ 00028498  0x0000778e nbranch  0x00006f67 , 0x00000002 
+ 00028499  0x0000778f fetch  0x00000002 , 0x00000520 
+ 00028500  0x00007790 isub  0x00000012 , 0x0000003e 
+ 00028501  0x00007791 branch  0x00006f5e , 0x00000005 
+ 00028502  0x00007792 nbranch  0x00006f5e , 0x00000002 
+ 00028503  0x00007796 copy  0x00000012 , 0x00000039 
+ 00028504  0x00007797 call  0x00006f61 
+ 00028505  0x00007798 fetch  0x00000001 , 0x0000054e 
+ 00028506  0x00007799 increase  0x00000001 , 0x00000007 
+ 00028507  0x0000779a isub  0x00000007 , 0x0000003e 
+ 00028508  0x0000779b branch  0x00006f83 , 0x00000005 
+ 00028509  0x0000779c branch  0x00006fa0 
+ 00028510  0x0000779f copy  0x0000003f , 0x00000039 
+ 00028511  0x000077a0 call  0x00006f61 
+ 00028512  0x000077a1 branch  0x00006fa0 
+ 00028513  0x000077a4 increase  0xfffffffd , 0x00000005 
+ 00028514  0x000077a5 copy  0x00000039 , 0x00000002 
+ 00028515  0x000077a6 copy  0x00000013 , 0x0000003f 
+ 00028516  0x000077a7 isub  0x00000012 , 0x0000003f 
+ 00028517  0x000077a8 iadd  0x0000000b , 0x00000006 
+ 00028518  0x000077a9 branch  0x00007f01 
+ 00028519  0x000077ac fetch  0x00000001 , 0x0000054e 
+ 00028520  0x000077ad increase  0x00000001 , 0x00000007 
+ 00028521  0x000077ae isub  0x00000007 , 0x0000003e 
+ 00028522  0x000077af rtn  0x00000005 
+ 00028523  0x000077b0 branch  0x00006f47 
+ 00028524  0x000077b3 call  0x00007fe9 
+ 00028525  0x000077b4 arg  0x0000052a , 0x00000006 
+ 00028526  0x000077b5 lshift2  0x00000007 , 0x0000003f 
+ 00028527  0x000077b6 iadd  0x00000006 , 0x00000006 
+ 00028528  0x000077b7 ifetcht  0x00000004 , 0x00000006 
+ 00028529  0x000077b8 call  0x000070b1 
+ 00028530  0x000077b9 nrtn  0x00000005 
+ 00028531  0x000077ba call  0x0000705b 
+ 00028532  0x000077bb branch  0x00007fe7 
+ 00028533  0x000077be fetch  0x00000002 , 0x00000520 
+ 00028534  0x000077bf isub  0x00000011 , 0x0000003e 
+ 00028535  0x000077c0 nbranch  0x00006f8f , 0x00000002 
+ 00028536  0x000077c1 copy  0x00000011 , 0x00000039 
+ 00028537  0x000077c2 copy  0x00000039 , 0x00000002 
+ 00028538  0x000077c3 copy  0x0000000b , 0x00000006 
+ 00028539  0x000077c4 call  0x00007f01 
+ 00028540  0x000077c5 fetch  0x00000002 , 0x0000054c 
+ 00028541  0x000077c6 isub  0x00000011 , 0x0000003e 
+ 00028542  0x000077c7 branch  0x00006f81 , 0x00000005 
+ 00028543  0x000077c9 call  0x00006fa0 
+ 00028544  0x000077ca branch  0x00006f94 
+ 00028545  0x000077cd call  0x00006f83 
+ 00028546  0x000077ce branch  0x00006f94 
+ 00028547  0x000077d1 arg  0x00000007 , 0x00000011 
+ 00028548  0x000077d3 force  0x00000000 , 0x0000003f 
+ 00028549  0x000077d4 istore  0x00000001 , 0x00000005 
+ 00028550  0x000077d5 call  0x00006fb0 
+ 00028551  0x000077d6 fetcht  0x00000002 , 0x00000275 
+ 00028552  0x000077d7 increase  0xfffffffb , 0x00000002 
+ 00028553  0x000077d8 byteswap  0x00000002 , 0x0000003f 
+ 00028554  0x000077d9 istore  0x00000002 , 0x00000005 
+ 00028555  0x000077da increase  0xfffffffd , 0x00000002 
+ 00028556  0x000077db byteswap  0x00000002 , 0x0000003f 
+ 00028557  0x000077dc istore  0x00000002 , 0x00000005 
+ 00028558  0x000077dd rtn 
+ 00028559  0x000077e0 copy  0x0000003f , 0x00000039 
+ 00028560  0x000077e1 copy  0x00000039 , 0x00000002 
+ 00028561  0x000077e2 copy  0x0000000b , 0x00000006 
+ 00028562  0x000077e3 call  0x00007f01 
+ 00028563  0x000077e4 call  0x00006fa0 
+ 00028564  0x000077e6 setarg  0x00000036 
+ 00028565  0x000077e7 istore  0x00000001 , 0x00000005 
+ 00028566  0x000077e8 fetch  0x00000002 , 0x0000054c 
+ 00028567  0x000077e9 byteswap  0x0000003f , 0x0000003f 
+ 00028568  0x000077ea istore  0x00000002 , 0x00000005 
+ 00028569  0x000077eb rtn 
+ 00028570  0x000077ee setarg  0x00000036 
+ 00028571  0x000077ef istore  0x00000001 , 0x00000005 
+ 00028572  0x000077f0 increase  0xfffffffd , 0x00000002 
+ 00028573  0x000077f1 byteswap  0x00000002 , 0x0000003f 
+ 00028574  0x000077f2 istore  0x00000002 , 0x00000005 
+ 00028575  0x000077f3 rtn 
+ 00028576  0x000077f6 arg  0x00000007 , 0x00000011 
+ 00028577  0x000077f7 setarg  0x00000002 
+ 00028578  0x000077f8 istore  0x00000001 , 0x00000005 
+ 00028579  0x000077f9 fetch  0x00000002 , 0x00000519 
+ 00028580  0x000077fa iadd  0x00000002 , 0x00000002 
+ 00028581  0x000077fb byteswap  0x00000002 , 0x0000003f 
+ 00028582  0x000077fc istore  0x00000002 , 0x00000005 
+ 00028583  0x000077fd call  0x00006fb0 
+ 00028584  0x000077fe fetcht  0x00000002 , 0x00000275 
+ 00028585  0x000077ff increase  0xfffffffb , 0x00000002 
+ 00028586  0x00007800 byteswap  0x00000002 , 0x0000003f 
+ 00028587  0x00007801 istore  0x00000002 , 0x00000005 
+ 00028588  0x00007802 increase  0xfffffffb , 0x00000002 
+ 00028589  0x00007803 byteswap  0x00000002 , 0x0000003f 
+ 00028590  0x00007804 istore  0x00000002 , 0x00000005 
+ 00028591  0x00007805 rtn 
+ 00028592  0x00007808 fetch  0x00000002 , 0x00000273 
+ 00028593  0x00007809 isub  0x00000005 , 0x0000003f 
+ 00028594  0x0000780a sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00028595  0x0000780b store  0x00000002 , 0x00000275 
+ 00028596  0x0000780c call  0x000052d0 
+ 00028597  0x0000780d copy  0x00000011 , 0x0000003f 
+ 00028598  0x0000780e istore  0x00000001 , 0x00000005 
+ 00028599  0x0000780f fetch  0x00000002 , 0x0000051c 
+ 00028600  0x00007810 istore  0x00000002 , 0x00000005 
+ 00028601  0x00007811 rtn 
+ 00028602  0x00007822 rtn 
+ 00028603  0x00007844 setarg  0x00000200 
+ 00028604  0x00007845 store  0x00000002 , 0x0000054a 
+ 00028605  0x00007846 branch  0x00006fc6 
+ 00028606  0x00007848 setarg  0x00000400 
+ 00028607  0x00007849 store  0x00000002 , 0x0000054a 
+ 00028608  0x0000784a branch  0x00006fc6 
+ 00028609  0x0000784c setarg  0x00000600 
+ 00028610  0x0000784d store  0x00000002 , 0x0000054a 
+ 00028611  0x0000784e branch  0x00006fc6 
+ 00028612  0x00007850 setarg  0x00000300 
+ 00028613  0x00007851 store  0x00000002 , 0x0000054a 
+ 00028614  0x00007853 call  0x000052d0 
+ 00028615  0x00007854 istore  0x00000001 , 0x00000005 
+ 00028616  0x00007855 fetch  0x00000002 , 0x0000051c 
+ 00028617  0x00007856 istore  0x00000002 , 0x00000005 
+ 00028618  0x00007857 setarg  0x00000200 
+ 00028619  0x00007858 istore  0x00000002 , 0x00000005 
+ 00028620  0x00007859 fetch  0x00000002 , 0x0000054a 
+ 00028621  0x0000785a istore  0x00000002 , 0x00000005 
+ 00028622  0x0000785b jam  0x00000007 , 0x00000275 
+ 00028623  0x0000785c rtn 
+ 00028624  0x00007862 arg  0x00000000 , 0x00000012 
+ 00028625  0x00007863 force  0x00000000 , 0x00000002 
+ 00028626  0x00007864 arg  0x00000511 , 0x00000005 
+ 00028627  0x00007865 call  0x00007028 
+ 00028628  0x00007866 branch  0x00007026 , 0x00000005 
+ 00028629  0x00007868 increase  0x00000001 , 0x00000012 
+ 00028630  0x00007869 ifetch  0x00000001 , 0x00000006 
+ 00028631  0x0000786a increase  0xffffffff , 0x00000011 
+ 00028632  0x0000786b increase  0xffffffff , 0x0000000b 
+ 00028633  0x0000786c compare  0x00000018 , 0x0000003f , 0x000000f8 
+ 00028634  0x0000786d nbranch  0x00007026 , 0x00000001 
+ 00028635  0x0000786e compare  0x00000004 , 0x0000003f , 0x00000007 
+ 00028636  0x0000786f nbranch  0x00006ff3 , 0x00000001 
+ 00028637  0x00007870 force  0x00000001 , 0x00000002 
+ 00028638  0x00007872 ifetch  0x00000001 , 0x00000006 
+ 00028639  0x00007873 increase  0xffffffff , 0x00000011 
+ 00028640  0x00007874 increase  0xffffffff , 0x0000000b 
+ 00028641  0x00007875 bne  0x00000000 , 0x00006fe7 
+ 00028642  0x00007876 ifetch  0x00000001 , 0x00000006 
+ 00028643  0x00007877 increase  0xffffffff , 0x00000011 
+ 00028644  0x00007878 increase  0xffffffff , 0x0000000b 
+ 00028645  0x00007879 beq  0x00000000 , 0x00006ff8 
+ 00028646  0x0000787a branch  0x00006fea 
+ 00028647  0x0000787c increase  0x00000001 , 0x00000006 
+ 00028648  0x0000787d increase  0xffffffff , 0x00000011 
+ 00028649  0x0000787e increase  0xffffffff , 0x0000000b 
+ 00028650  0x00007880 increase  0x00000002 , 0x00000006 
+ 00028651  0x00007881 increase  0xfffffffe , 0x00000011 
+ 00028652  0x00007882 increase  0xfffffffe , 0x0000000b 
+ 00028653  0x00007883 compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028654  0x00007884 branch  0x00007020 , 0x00000001 
+ 00028655  0x00007885 increase  0x0000000c , 0x00000006 
+ 00028656  0x00007886 increase  0xfffffff4 , 0x00000011 
+ 00028657  0x00007887 increase  0xfffffff4 , 0x0000000b 
+ 00028658  0x00007888 branch  0x00007020 
+ 00028659  0x0000788a compare  0x00000002 , 0x0000003f , 0x00000007 
+ 00028660  0x0000788b nbranch  0x00006ff6 , 0x00000001 
+ 00028661  0x0000788c branch  0x00006fde 
+ 00028662  0x0000788e compare  0x00000001 , 0x0000003f , 0x00000007 
+ 00028663  0x0000788f nbranch  0x00007026 , 0x00000001 
+ 00028664  0x00007891 increase  0xfffffffe , 0x00000011 
+ 00028665  0x00007892 increase  0xfffffffe , 0x0000000b 
+ 00028666  0x00007893 ifetch  0x00000002 , 0x00000006 
+ 00028667  0x00007894 sub  0x00000012 , 0x00000004 , 0x0000003e 
+ 00028668  0x00007895 branch  0x00006ffe , 0x00000005 
+ 00028669  0x00007896 istore  0x00000002 , 0x00000005 
+ 00028670  0x00007898 compare  0x00000000 , 0x00000002 , 0x000000ff 
+ 00028671  0x00007899 branch  0x00007020 , 0x00000001 
+ 00028672  0x0000789a copy  0x00000006 , 0x00000002 
+ 00028673  0x0000789b ifetch  0x00000001 , 0x00000006 
+ 00028674  0x0000789c bne  0x00000000 , 0x00007019 
+ 00028675  0x0000789d ifetch  0x00000001 , 0x00000006 
+ 00028676  0x0000789e bne  0x00000000 , 0x00007019 
+ 00028677  0x0000789f ifetch  0x00000001 , 0x00000006 
+ 00028678  0x000078a0 bne  0x00000010 , 0x00007019 
+ 00028679  0x000078a1 ifetch  0x00000001 , 0x00000006 
+ 00028680  0x000078a2 bne  0x00000000 , 0x00007019 
+ 00028681  0x000078a3 ifetch  0x00000001 , 0x00000006 
+ 00028682  0x000078a4 bne  0x00000080 , 0x00007019 
+ 00028683  0x000078a5 ifetch  0x00000001 , 0x00000006 
+ 00028684  0x000078a6 bne  0x00000000 , 0x00007019 
+ 00028685  0x000078a7 ifetch  0x00000001 , 0x00000006 
+ 00028686  0x000078a8 bne  0x00000000 , 0x00007019 
+ 00028687  0x000078a9 ifetch  0x00000001 , 0x00000006 
+ 00028688  0x000078aa bne  0x00000080 , 0x00007019 
+ 00028689  0x000078ab ifetch  0x00000001 , 0x00000006 
+ 00028690  0x000078ac bne  0x0000005f , 0x00007019 
+ 00028691  0x000078ad ifetch  0x00000001 , 0x00000006 
+ 00028692  0x000078ae bne  0x0000009b , 0x00007019 
+ 00028693  0x000078af ifetch  0x00000001 , 0x00000006 
+ 00028694  0x000078b0 bne  0x00000034 , 0x00007019 
+ 00028695  0x000078b1 ifetch  0x00000001 , 0x00000006 
+ 00028696  0x000078b2 beq  0x000000fb , 0x0000701e 
+ 00028697  0x000078b4 copy  0x00000002 , 0x00000006 
+ 00028698  0x000078b6 increase  0x0000000c , 0x00000006 
+ 00028699  0x000078b7 force  0x00000000 , 0x00000007 
+ 00028700  0x000078b8 force  0x00000000 , 0x00000002 
+ 00028701  0x000078b9 branch  0x0000701e 
+ 00028702  0x000078bc increase  0xfffffff4 , 0x0000000b 
+ 00028703  0x000078bd increase  0xfffffff4 , 0x00000011 
+ 00028704  0x000078bf force  0x00000000 , 0x00000002 
+ 00028705  0x000078c0 compare  0x00000000 , 0x00000011 , 0x000000ff 
+ 00028706  0x000078c1 nbranch  0x00006fd5 , 0x00000001 
+ 00028707  0x000078c2 force  0x00000000 , 0x0000003f 
+ 00028708  0x000078c3 istore  0x00000002 , 0x00000005 
+ 00028709  0x000078c4 rtn 
+ 00028710  0x000078c6 arg  0x000000ff , 0x00000002 
+ 00028711  0x000078c7 rtn 
+ 00028712  0x000078d2 bpatchx  0x000000d4 , 0x0000403a 
+ 00028713  0x000078d3 ifetch  0x00000001 , 0x00000006 
+ 00028714  0x000078d4 increase  0xffffffff , 0x0000000b 
+ 00028715  0x000078d5 compare  0x00000030 , 0x0000003f , 0x000000f8 
+ 00028716  0x000078d6 nbranch  0x0000703e , 0x00000001 
+ 00028717  0x000078d7 compare  0x00000007 , 0x0000003f , 0x00000007 
+ 00028718  0x000078d8 branch  0x00007037 , 0x00000001 
+ 00028719  0x000078d9 compare  0x00000006 , 0x0000003f , 0x00000007 
+ 00028720  0x000078da branch  0x00007039 , 0x00000001 
+ 00028721  0x000078db compare  0x00000005 , 0x0000003f , 0x00000007 
+ 00028722  0x000078dc nbranch  0x0000703e , 0x00000001 
+ 00028723  0x000078de ifetch  0x00000001 , 0x00000006 
+ 00028724  0x000078df copy  0x0000003f , 0x00000011 
+ 00028725  0x000078e0 increase  0xffffffff , 0x0000000b 
+ 00028726  0x000078e1 branch  0x0000703c 
+ 00028727  0x000078e3 increase  0x00000002 , 0x00000006 
+ 00028728  0x000078e4 increase  0xfffffffe , 0x0000000b 
+ 00028729  0x000078e6 ifetch  0x00000002 , 0x00000006 
+ 00028730  0x000078e7 byteswap  0x0000003f , 0x00000011 
+ 00028731  0x000078e8 increase  0xfffffffe , 0x0000000b 
+ 00028732  0x000078ea force  0x00000001 , 0x0000003f 
+ 00028733  0x000078eb rtn 
+ 00028734  0x000078ed force  0x00000000 , 0x0000003f 
+ 00028735  0x000078ee rtn 
+ 00028736  0x000078f9 setarg  0x00000003 
+ 00028737  0x000078fa store  0x00000001 , 0x0000051b 
+ 00028738  0x000078fb branch  0x00007048 
+ 00028739  0x000078fd setarg  0x00000005 
+ 00028740  0x000078fe store  0x00000001 , 0x0000051b 
+ 00028741  0x000078ff branch  0x00007048 
+ 00028742  0x00007901 setarg  0x00000007 
+ 00028743  0x00007902 store  0x00000001 , 0x0000051b 
+ 00028744  0x00007904 call  0x000052d0 
+ 00028745  0x00007907 fetch  0x00000001 , 0x0000051b 
+ 00028746  0x00007908 copy  0x0000003f , 0x00000012 
+ 00028747  0x00007909 istore  0x00000001 , 0x00000005 
+ 00028748  0x0000790a fetch  0x00000002 , 0x0000051c 
+ 00028749  0x0000790b istore  0x00000002 , 0x00000005 
+ 00028750  0x0000790c setarg  0x00000500 
+ 00028751  0x0000790d istore  0x00000002 , 0x00000005 
+ 00028752  0x0000790e compare  0x00000005 , 0x00000012 , 0x000000ff 
+ 00028753  0x0000790f branch  0x00007057 , 0x00000001 
+ 00028754  0x00007910 compare  0x00000007 , 0x00000012 , 0x000000ff 
+ 00028755  0x00007911 branch  0x00007057 , 0x00000001 
+ 00028756  0x00007912 setarg  0x00000000 
+ 00028757  0x00007913 istore  0x00000005 , 0x00000005 
+ 00028758  0x00007914 branch  0x00007059 
+ 00028759  0x00007917 setarg  0x00350200 
+ 00028760  0x00007918 istore  0x00000005 , 0x00000005 
+ 00028761  0x0000791a jam  0x0000000a , 0x00000275 
+ 00028762  0x0000791b rtn 
+ 00028763  0x0000791f call  0x00007ea2 
+ 00028764  0x00007920 call  0x00007ea5 
+ 00028765  0x00007921 call  0x00007062 
+ 00028766  0x00007922 call  0x00007e9c 
+ 00028767  0x00007923 call  0x00007e9f 
+ 00028768  0x00007924 copy  0x00000002 , 0x0000003f 
+ 00028769  0x00007925 rtn 
+ 00028770  0x00007929 ifetch  0x00000001 , 0x00000006 
+ 00028771  0x0000792a and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028772  0x0000792b rshift3  0x0000003f , 0x0000003f 
+ 00028773  0x0000792c bne  0x00000000 , 0x0000706c 
+ 00028774  0x0000792e force  0x00000001 , 0x0000003f 
+ 00028775  0x0000792f force  0x00000001 , 0x00000002 
+ 00028776  0x00007930 rtn 
+ 00028777  0x00007933 call  0x00007e76 
+ 00028778  0x00007934 add  0x0000003f , 0x00000001 , 0x00000002 
+ 00028779  0x00007935 rtn 
+ 00028780  0x00007937 deposit  0x00000039 
+ 00028781  0x00007938 sub  0x0000003f , 0x00000004 , 0x0000003e 
+ 00028782  0x00007939 branch  0x00007069 , 0x00000002 
+ 00028783  0x0000793a beq  0x00000005 , 0x00007073 
+ 00028784  0x0000793b beq  0x00000006 , 0x00007076 
+ 00028785  0x0000793c beq  0x00000007 , 0x0000707a 
+ 00028786  0x0000793d rtn 
+ 00028787  0x00007940 ifetch  0x00000001 , 0x00000006 
+ 00028788  0x00007941 add  0x0000003f , 0x00000002 , 0x00000002 
+ 00028789  0x00007942 rtn 
+ 00028790  0x00007944 ifetch  0x00000002 , 0x00000006 
+ 00028791  0x00007945 byteswap  0x0000003f , 0x0000003f 
+ 00028792  0x00007946 add  0x0000003f , 0x00000003 , 0x00000002 
+ 00028793  0x00007947 rtn 
+ 00028794  0x00007949 ifetch  0x00000002 , 0x00000006 
+ 00028795  0x0000794a byteswap  0x0000003f , 0x0000003f 
+ 00028796  0x0000794b ifetcht  0x00000002 , 0x00000006 
+ 00028797  0x0000794c byteswap  0x00000002 , 0x00000002 
+ 00028798  0x0000794d lshift16  0x00000002 , 0x00000002 
+ 00028799  0x0000794e iadd  0x00000002 , 0x0000003f 
+ 00028800  0x0000794f add  0x0000003f , 0x00000005 , 0x00000002 
+ 00028801  0x00007950 rtn 
+ 00028802  0x00007957 bpatchx  0x000000d5 , 0x0000403a 
+ 00028803  0x00007958 force  0x00000000 , 0x00000007 
+ 00028804  0x00007959 arg  0x00000000 , 0x00000012 
+ 00028805  0x0000795a arg  0x0000052a , 0x00000005 
+ 00028806  0x0000795c ifetch  0x00000002 , 0x0000000b 
+ 00028807  0x0000795d rtn  0x00000034 
+ 00028808  0x0000795e call  0x0000708d 
+ 00028809  0x0000795f copy  0x00000007 , 0x0000003f 
+ 00028810  0x00007960 rtneq  0x00000007 
+ 00028811  0x00007961 increase  0x00000002 , 0x0000000b 
+ 00028812  0x00007962 branch  0x00007086 
+ 00028813  0x00007966 iforce  0x00000013 
+ 00028814  0x00007968 fetch  0x00000002 , 0x00004575 
+ 00028815  0x00007969 iforce  0x00000006 
+ 00028816  0x0000796b copy  0x00000007 , 0x0000003f 
+ 00028817  0x0000796c rtneq  0x00000007 
+ 00028818  0x0000796d disable  0x00000028 
+ 00028819  0x0000796e ifetch  0x00000001 , 0x00000006 
+ 00028820  0x0000796f rtn  0x00000034 
+ 00028821  0x00007970 iforce  0x00000039 
+ 00028822  0x00007972 ifetch  0x00000002 , 0x00000006 
+ 00028823  0x00007973 isub  0x00000013 , 0x0000003e 
+ 00028824  0x00007974 nbranch  0x0000709a , 0x00000005 
+ 00028825  0x00007975 enable  0x00000028 
+ 00028826  0x00007977 loop  0x00007096 
+ 00028827  0x00007978 ifetcht  0x00000004 , 0x00000006 
+ 00028828  0x00007979 copy  0x00000006 , 0x00000011 
+ 00028829  0x0000797a nbranch  0x000070ad , 0x00000028 
+ 00028830  0x0000797b arg  0x0000052a , 0x00000006 
+ 00028831  0x0000797c arg  0x00000007 , 0x00000039 
+ 00028832  0x0000797e ifetch  0x00000004 , 0x00000006 
+ 00028833  0x0000797f branch  0x000070a6 , 0x00000034 
+ 00028834  0x00007980 isub  0x00000002 , 0x0000003e 
+ 00028835  0x00007981 branch  0x000070ad , 0x00000005 
+ 00028836  0x00007982 loop  0x000070a0 
+ 00028837  0x00007983 rtn 
+ 00028838  0x00007985 istoret  0x00000004 , 0x00000005 
+ 00028839  0x00007986 increase  0x00000001 , 0x00000007 
+ 00028840  0x00007987 copy  0x00000011 , 0x00000006 
+ 00028841  0x00007988 call  0x0000705b 
+ 00028842  0x00007989 iadd  0x00000012 , 0x00000012 
+ 00028843  0x0000798a iadd  0x00000006 , 0x00000006 
+ 00028844  0x0000798b branch  0x00007090 
+ 00028845  0x0000798d copy  0x00000011 , 0x00000006 
+ 00028846  0x0000798e call  0x00007062 
+ 00028847  0x0000798f iadd  0x00000006 , 0x00000006 
+ 00028848  0x00007990 branch  0x00007090 
+ 00028849  0x00007997 bpatchx  0x000000d6 , 0x0000403a 
+ 00028850  0x00007998 fetch  0x00000002 , 0x00004575 
+ 00028851  0x00007999 iforce  0x00000006 
+ 00028852  0x0000799b ifetch  0x00000001 , 0x00000006 
+ 00028853  0x0000799c branch  0x00007fe3 , 0x00000034 
+ 00028854  0x0000799d lshift  0x0000003f , 0x0000003f 
+ 00028855  0x0000799e iadd  0x00000006 , 0x00000006 
+ 00028856  0x0000799f ifetch  0x00000004 , 0x00000006 
+ 00028857  0x000079a0 isub  0x00000002 , 0x0000003e 
+ 00028858  0x000079a1 rtn  0x00000005 
+ 00028859  0x000079a2 deposit  0x00000005 
+ 00028860  0x000079a3 store  0x00000002 , 0x00000abb 
+ 00028861  0x000079a4 storet  0x00000008 , 0x00000aa2 
+ 00028862  0x000079a5 call  0x00007062 
+ 00028863  0x000079a6 iadd  0x00000006 , 0x00000006 
+ 00028864  0x000079a7 copy  0x00000006 , 0x0000003f 
+ 00028865  0x000079a8 fetcht  0x00000002 , 0x00000abb 
+ 00028866  0x000079a9 copy  0x00000002 , 0x00000005 
+ 00028867  0x000079aa fetcht  0x00000008 , 0x00000aa2 
+ 00028868  0x000079ab copy  0x0000003f , 0x00000006 
+ 00028869  0x000079ac branch  0x000070b4 
+ 00028870  0x000079b3 bpatchx  0x000000d7 , 0x0000403a 
+ 00028871  0x000079b4 fetch  0x00000002 , 0x00004575 
+ 00028872  0x000079b5 iforce  0x00000006 
+ 00028873  0x000079b7 ifetch  0x00000001 , 0x00000006 
+ 00028874  0x000079b8 branch  0x000070e4 , 0x00000034 
+ 00028875  0x000079b9 iforce  0x00000039 
+ 00028876  0x000079bb ifetch  0x00000002 , 0x00000006 
+ 00028877  0x000079bc isub  0x00000013 , 0x0000003e 
+ 00028878  0x000079bd branch  0x000070d4 , 0x00000005 
+ 00028879  0x000079be loop  0x000070cc 
+ 00028880  0x000079bf increase  0x00000004 , 0x00000006 
+ 00028881  0x000079c0 call  0x00007062 
+ 00028882  0x000079c1 iadd  0x00000006 , 0x00000006 
+ 00028883  0x000079c2 branch  0x000070c9 
+ 00028884  0x000079c4 increase  0xffffffff , 0x00000039 
+ 00028885  0x000079c5 lshift  0x00000039 , 0x0000003f 
+ 00028886  0x000079c6 iadd  0x00000006 , 0x00000006 
+ 00028887  0x000079c7 increase  0x00000004 , 0x00000006 
+ 00028888  0x000079c8 call  0x00007062 
+ 00028889  0x000079c9 iadd  0x00000006 , 0x0000000b 
+ 00028890  0x000079cb increase  0x00000001 , 0x00000006 
+ 00028891  0x000079cc ifetch  0x00000002 , 0x00000006 
+ 00028892  0x000079cd isub  0x00000012 , 0x0000003e 
+ 00028893  0x000079d1 branch  0x00007fef , 0x00000005 
+ 00028894  0x000079d2 call  0x0000705b 
+ 00028895  0x000079d3 iadd  0x00000006 , 0x00000006 
+ 00028896  0x000079d4 deposit  0x0000000b 
+ 00028897  0x000079d5 isub  0x00000006 , 0x0000003e 
+ 00028898  0x000079d6 branch  0x000070e4 , 0x00000005 
+ 00028899  0x000079d7 branch  0x000070da 
+ 00028900  0x000079d9 force  0x00000000 , 0x00000006 
+ 00028901  0x000079da force  0x00000000 , 0x0000003f 
+ 00028902  0x000079db rtn 
+ 00028903  0x000079e2 bpatchx  0x000000d8 , 0x0000403b 
+ 00028904  0x000079e3 fetch  0x00000002 , 0x00004575 
+ 00028905  0x000079e4 iforce  0x00000006 
+ 00028906  0x000079e6 ifetch  0x00000001 , 0x00000006 
+ 00028907  0x000079e7 branch  0x00007100 , 0x00000034 
+ 00028908  0x000079e8 lshift  0x0000003f , 0x0000003f 
+ 00028909  0x000079e9 iadd  0x00000006 , 0x00000006 
+ 00028910  0x000079ea ifetch  0x00000004 , 0x00000006 
+ 00028911  0x000079eb isub  0x00000002 , 0x0000003e 
+ 00028912  0x000079ec branch  0x000070f4 , 0x00000005 
+ 00028913  0x000079ed call  0x00007062 
+ 00028914  0x000079ee iadd  0x00000006 , 0x00000006 
+ 00028915  0x000079ef branch  0x000070ea 
+ 00028916  0x000079f1 call  0x00007062 
+ 00028917  0x000079f2 iadd  0x00000006 , 0x0000000b 
+ 00028918  0x000079f4 increase  0x00000001 , 0x00000006 
+ 00028919  0x000079f5 ifetch  0x00000002 , 0x00000006 
+ 00028920  0x000079f6 isub  0x00000012 , 0x0000003e 
+ 00028921  0x000079f7 rtn  0x00000005 
+ 00028922  0x000079f8 call  0x0000705b 
+ 00028923  0x000079f9 iadd  0x00000006 , 0x00000006 
+ 00028924  0x000079fa deposit  0x0000000b 
+ 00028925  0x000079fb isub  0x00000006 , 0x0000003e 
+ 00028926  0x000079fc branch  0x00007100 , 0x00000005 
+ 00028927  0x000079fd branch  0x000070f6 
+ 00028928  0x000079ff force  0x00000000 , 0x00000006 
+ 00028929  0x00007a00 rtn 
+ 00028930  0x00007a05 arg  0x00000400 , 0x00000012 
+ 00028931  0x00007a06 call  0x000070f4 
+ 00028932  0x00007a07 arg  0x00000300 , 0x00000012 
+ 00028933  0x00007a08 call  0x0000710d 
+ 00028934  0x00007a09 nrtn  0x00000028 
+ 00028935  0x00007a0a sub  0x00000011 , 0x00000003 , 0x0000003e 
+ 00028936  0x00007a0b branch  0x00007fe9 , 0x00000002 
+ 00028937  0x00007a0c ifetch  0x00000001 , 0x00000006 
+ 00028938  0x00007a0d bne  0x00000008 , 0x00007fe9 
+ 00028939  0x00007a0e ifetch  0x00000001 , 0x00000006 
+ 00028940  0x00007a0f rtn 
+ 00028941  0x00007a15 bpatchx  0x000000d9 , 0x0000403b 
+ 00028942  0x00007a16 call  0x00007062 
+ 00028943  0x00007a17 copy  0x0000003f , 0x00000011 
+ 00028944  0x00007a19 ifetch  0x00000001 , 0x00000006 
+ 00028945  0x00007a1a and  0x0000003f , 0x00000007 , 0x00000039 
+ 00028946  0x00007a1b rshift3  0x0000003f , 0x0000003f 
+ 00028947  0x00007a1c sub  0x0000003f , 0x00000003 , 0x0000003e 
+ 00028948  0x00007a1d branch  0x00007129 , 0x00000005 
+ 00028949  0x00007a1e copy  0x00000039 , 0x0000003f 
+ 00028950  0x00007a1f beq  0x00000005 , 0x00007120 
+ 00028951  0x00007a20 beq  0x00000006 , 0x00007123 
+ 00028952  0x00007a21 beq  0x00000007 , 0x00007126 
+ 00028953  0x00007a22 increase  0xffffffff , 0x00000006 
+ 00028954  0x00007a23 call  0x00007062 
+ 00028955  0x00007a24 iadd  0x00000006 , 0x00000006 
+ 00028956  0x00007a25 copy  0x00000011 , 0x0000003f 
+ 00028957  0x00007a26 isub  0x00000002 , 0x00000011 
+ 00028958  0x00007a27 branch  0x00007fe9 , 0x00000005 
+ 00028959  0x00007a28 branch  0x00007110 
+ 00028960  0x00007a2b increase  0xfffffffe , 0x00000011 
+ 00028961  0x00007a2c increase  0x00000001 , 0x00000006 
+ 00028962  0x00007a2d branch  0x00007110 
+ 00028963  0x00007a2f increase  0xfffffffd , 0x00000011 
+ 00028964  0x00007a30 increase  0x00000002 , 0x00000006 
+ 00028965  0x00007a31 branch  0x00007110 
+ 00028966  0x00007a33 increase  0xfffffffb , 0x00000011 
+ 00028967  0x00007a34 increase  0x00000004 , 0x00000006 
+ 00028968  0x00007a35 branch  0x00007110 
+ 00028969  0x00007a38 increase  0xffffffff , 0x00000011 
+ 00028970  0x00007a39 copy  0x00000039 , 0x0000003f 
+ 00028971  0x00007a3a beq  0x00000001 , 0x00007132 
+ 00028972  0x00007a3b beq  0x00000002 , 0x00007130 
+ 00028973  0x00007a3c beq  0x00000004 , 0x0000712f 
+ 00028974  0x00007a3d branch  0x00007fe9 
+ 00028975  0x00007a3f increase  0xfffffff4 , 0x00000011 
+ 00028976  0x00007a41 ifetch  0x00000002 , 0x00000006 
+ 00028977  0x00007a42 increase  0xfffffffe , 0x00000011 
+ 00028978  0x00007a44 ifetch  0x00000002 , 0x00000006 
+ 00028979  0x00007a45 isub  0x00000012 , 0x0000003e 
+ 00028980  0x00007a46 branch  0x00007fe7 , 0x00000005 
+ 00028981  0x00007a47 increase  0xfffffffe , 0x00000011 
+ 00028982  0x00007a48 branch  0x00007fe9 , 0x00000005 
+ 00028983  0x00007a49 branch  0x00007110 
+ 00028984  0x00007a85 call  0x000052d0 
+ 00028985  0x00007a86 copy  0x0000003f , 0x00000005 
+ 00028986  0x00007a87 setarg  0x00000006 
+ 00028987  0x00007a88 istore  0x00000001 , 0x00000005 
+ 00028988  0x00007a89 setarg  0x0000006e 
+ 00028989  0x00007a8a istore  0x00000002 , 0x00000005 
+ 00028990  0x00007a8b setarg  0x00000f00 
+ 00028991  0x00007a8c istore  0x00000002 , 0x00000005 
+ 00028992  0x00007a8d setarg  0x001a0535 
+ 00028993  0x00007a8e istore  0x00000003 , 0x00000005 
+ 00028994  0x00007a8f setarg  0x00000111 
+ 00028995  0x00007a90 lshift16  0x0000003f , 0x0000003f 
+ 00028996  0x00007a91 istore  0x00000004 , 0x00000005 
+ 00028997  0x00007a92 setarg  0x00002600 
+ 00028998  0x00007a93 istore  0x00000002 , 0x00000005 
+ 00028999  0x00007a94 setarg  0x00000335 
+ 00029000  0x00007a95 istore  0x00000002 , 0x00000005 
+ 00029001  0x00007a96 setarg  0x00000009 
+ 00029002  0x00007a97 istore  0x00000002 , 0x00000005 
+ 00029003  0x00007a98 setarg  0x00000004 
+ 00029004  0x00007a99 istore  0x00000002 , 0x00000005 
+ 00029005  0x00007a9a jam  0x00000014 , 0x00000275 
+ 00029006  0x00007a9b rtn 
+ 00029007  0x00007aa0 bpatchx  0x000000da , 0x0000403b 
+ 00029008  0x00007aa1 jam  0x00000050 , 0x000005e5 
+ 00029009  0x00007aa2 arg  0x000005e6 , 0x00000005 
+ 00029010  0x00007aa3 arg  0x0000443a , 0x00000006 
+ 00029011  0x00007aa4 call  0x00007ebf 
+ 00029012  0x00007aa5 arg  0x000045d2 , 0x00000006 
+ 00029013  0x00007aa6 call  0x00007ebd 
+ 00029014  0x00007aa7 arg  0x000009be , 0x00000006 
+ 00029015  0x00007aa8 call  0x00007ebd 
+ 00029016  0x00007aa9 call  0x0000720a 
+ 00029017  0x00007aaa arg  0x0000042f , 0x00000006 
+ 00029018  0x00007aab call  0x00007205 
+ 00029019  0x00007aac call  0x000071d0 
+ 00029020  0x00007aae arg  0x00000af2 , 0x00000005 
+ 00029021  0x00007aaf call  0x00007201 
+ 00029022  0x00007ab0 setarg  0x000f4240 
+ 00029023  0x00007ab1 copy  0x0000003f , 0x00000011 
+ 00029024  0x00007ab2 fetch  0x00000004 , 0x00000af2 
+ 00029025  0x00007ab3 idiv  0x00000011 
+ 00029026  0x00007ab4 call  0x00007f86 
+ 00029027  0x00007ab5 remainder  0x0000003f 
+ 00029028  0x00007ab6 store  0x00000004 , 0x000009ba 
+ 00029029  0x00007ab8 rtn 
+ 00029030  0x00007abb jam  0x00000041 , 0x000005e5 
+ 00029031  0x00007abc arg  0x000005e6 , 0x00000005 
+ 00029032  0x00007abd call  0x000071b5 
+ 00029033  0x00007abe call  0x000071b0 
+ 00029034  0x00007abf fetch  0x00000003 , 0x00004454 
+ 00029035  0x00007ac0 istore  0x00000003 , 0x00000005 
+ 00029036  0x00007ac3 call  0x00007176 
+ 00029037  0x00007ac5 arg  0x0000042f , 0x00000006 
+ 00029038  0x00007ac6 call  0x00007ebf 
+ 00029039  0x00007ac7 arg  0x0000443a , 0x00000006 
+ 00029040  0x00007ac8 call  0x00007ebf 
+ 00029041  0x00007ac9 call  0x0000720a 
+ 00029042  0x00007aca arg  0x00000b12 , 0x00000006 
+ 00029043  0x00007acb arg  0x00000ac2 , 0x00000005 
+ 00029044  0x00007acc call  0x00007ebf 
+ 00029045  0x00007ace branch  0x000071d0 
+ 00029046  0x00007ad3 fetch  0x00000004 , 0x000044c7 
+ 00029047  0x00007ad4 istore  0x00000004 , 0x00000005 
+ 00029048  0x00007ad5 call  0x00007ecd 
+ 00029049  0x00007ad6 branch  0x00007eca 
+ 00029050  0x00007ad9 bpatchx  0x000000db , 0x0000403b 
+ 00029051  0x00007ada jam  0x00000041 , 0x000005e5 
+ 00029052  0x00007adb arg  0x000005e6 , 0x00000005 
+ 00029053  0x00007adc call  0x000071b0 
+ 00029054  0x00007add call  0x000071b5 
+ 00029055  0x00007ade fetch  0x00000003 , 0x0000444d 
+ 00029056  0x00007adf istore  0x00000003 , 0x00000005 
+ 00029057  0x00007ae2 call  0x00007176 
+ 00029058  0x00007ae3 arg  0x0000443a , 0x00000006 
+ 00029059  0x00007ae4 call  0x00007ebf 
+ 00029060  0x00007ae5 arg  0x0000042f , 0x00000006 
+ 00029061  0x00007ae6 call  0x00007ebf 
+ 00029062  0x00007ae7 call  0x0000720a 
+ 00029063  0x00007ae8 arg  0x00000b12 , 0x00000006 
+ 00029064  0x00007ae9 arg  0x00000ac2 , 0x00000005 
+ 00029065  0x00007aea call  0x00007ebf 
+ 00029066  0x00007aec call  0x000071d0 
+ 00029067  0x00007aed arg  0x00000af2 , 0x00000005 
+ 00029068  0x00007aee branch  0x00007201 
+ 00029069  0x00007af1 jam  0x00000020 , 0x000005e5 
+ 00029070  0x00007af2 arg  0x000009fe , 0x00000006 
+ 00029071  0x00007af3 arg  0x000005e6 , 0x00000005 
+ 00029072  0x00007af4 call  0x00007ebd 
+ 00029073  0x00007af5 call  0x0000720a 
+ 00029074  0x00007af6 arg  0x0000099e , 0x00000006 
+ 00029075  0x00007af7 call  0x00007205 
+ 00029076  0x00007af8 call  0x000071d0 
+ 00029077  0x00007af9 arg  0x00000ac2 , 0x00000005 
+ 00029078  0x00007afa call  0x00007497 
+ 00029079  0x00007afb arg  0x00000001 , 0x00000002 
+ 00029080  0x00007afc call  0x0000719f 
+ 00029081  0x00007afd arg  0x00004419 , 0x00000005 
+ 00029082  0x00007afe call  0x00007201 
+ 00029083  0x00007aff arg  0x00000000 , 0x00000002 
+ 00029084  0x00007b00 call  0x0000719f 
+ 00029085  0x00007b01 arg  0x00000b12 , 0x00000005 
+ 00029086  0x00007b03 branch  0x00007497 
+ 00029087  0x00007b07 bpatchx  0x000000dc , 0x0000403b 
+ 00029088  0x00007b08 jam  0x00000035 , 0x000005e5 
+ 00029089  0x00007b09 setarg  0x00000100 
+ 00029090  0x00007b0a store  0x00000002 , 0x000005e6 
+ 00029091  0x00007b0b call  0x000071b0 
+ 00029092  0x00007b0c call  0x000071b5 
+ 00029093  0x00007b0d arg  0x0000443a , 0x00000006 
+ 00029094  0x00007b0e call  0x00007ebf 
+ 00029095  0x00007b0f arg  0x0000042f , 0x00000006 
+ 00029096  0x00007b10 call  0x00007ebf 
+ 00029097  0x00007b12 setarg  0x00006c65 
+ 00029098  0x00007b13 istore  0x00000002 , 0x00000005 
+ 00029099  0x00007b14 setarg  0x00006274 
+ 00029100  0x00007b15 istore  0x00000002 , 0x00000005 
+ 00029101  0x00007b16 istoret  0x00000001 , 0x00000005 
+ 00029102  0x00007b17 call  0x0000720a 
+ 00029103  0x00007b18 branch  0x000071d0 
+ 00029104  0x00007b1b fetch  0x00000006 , 0x000044a0 
+ 00029105  0x00007b1c istore  0x00000006 , 0x00000005 
+ 00029106  0x00007b1d fetch  0x00000001 , 0x00004495 
+ 00029107  0x00007b1e istore  0x00000001 , 0x00000005 
+ 00029108  0x00007b1f rtn 
+ 00029109  0x00007b22 fetch  0x00000006 , 0x0000044f 
+ 00029110  0x00007b23 istore  0x00000006 , 0x00000005 
+ 00029111  0x00007b28 fetch  0x00000001 , 0x0000448e 
+ 00029112  0x00007b29 istore  0x00000001 , 0x00000005 
+ 00029113  0x00007b2a rtn 
+ 00029114  0x00007b2d jam  0x00000041 , 0x000005e5 
+ 00029115  0x00007b2e fetch  0x00000001 , 0x00004664 
+ 00029116  0x00007b2f store  0x00000001 , 0x000005e6 
+ 00029117  0x00007b30 arg  0x000045d2 , 0x00000006 
+ 00029118  0x00007b31 call  0x00007ebd 
+ 00029119  0x00007b32 arg  0x000009be , 0x00000006 
+ 00029120  0x00007b33 call  0x00007ebd 
+ 00029121  0x00007b34 call  0x0000720a 
+ 00029122  0x00007b35 arg  0x0000042f , 0x00000006 
+ 00029123  0x00007b36 call  0x00007205 
+ 00029124  0x00007b37 branch  0x000071d0 
+ 00029125  0x00007b3b jam  0x00000041 , 0x000005e5 
+ 00029126  0x00007b3c fetch  0x00000001 , 0x00004664 
+ 00029127  0x00007b3d store  0x00000001 , 0x000005e6 
+ 00029128  0x00007b3e arg  0x000009be , 0x00000006 
+ 00029129  0x00007b3f call  0x00007ebd 
+ 00029130  0x00007b40 arg  0x000045d2 , 0x00000006 
+ 00029131  0x00007b41 call  0x00007ebd 
+ 00029132  0x00007b42 call  0x0000720a 
+ 00029133  0x00007b43 arg  0x0000443a , 0x00000006 
+ 00029134  0x00007b44 call  0x00007205 
+ 00029135  0x00007b45 branch  0x000071d0 
+ 00029136  0x00007b48 bpatchx  0x000000dd , 0x0000403b 
+ 00029137  0x00007b49 call  0x0000721f 
+ 00029138  0x00007b4d fetch  0x00000001 , 0x000005e5 
+ 00029139  0x00007b4e copy  0x0000003f , 0x00000002 
+ 00029140  0x00007b50 increase  0x0000000f , 0x0000003f 
+ 00029141  0x00007b51 rshift4  0x0000003f , 0x0000003f 
+ 00029142  0x00007b52 copy  0x0000003f , 0x00000012 
+ 00029143  0x00007b53 branch  0x000071e2 , 0x00000034 
+ 00029144  0x00007b54 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029145  0x00007b55 nbranch  0x000071e5 , 0x00000034 
+ 00029146  0x00007b57 arg  0x00000ad2 , 0x00000013 
+ 00029147  0x00007b58 arg  0x000005e6 , 0x0000003f 
+ 00029148  0x00007b59 increase  0xfffffff0 , 0x0000003f 
+ 00029149  0x00007b5c iadd  0x00000002 , 0x00000011 
+ 00029150  0x00007b5d arg  0x00000b02 , 0x00000005 
+ 00029151  0x00007b5e arg  0x00000004 , 0x00000039 
+ 00029152  0x00007b5f call  0x00007edd 
+ 00029153  0x00007b63 branch  0x000071f0 
+ 00029154  0x00007b66 arg  0x00000001 , 0x00000012 
+ 00029155  0x00007b67 arg  0x00000000 , 0x00000011 
+ 00029156  0x00007b69 branch  0x000071e6 
+ 00029157  0x00007b6e and  0x00000002 , 0x0000000f , 0x00000011 
+ 00029158  0x00007b70 arg  0x000005e6 , 0x0000003f 
+ 00029159  0x00007b71 iadd  0x00000002 , 0x0000003f 
+ 00029160  0x00007b72 isub  0x00000011 , 0x00000006 
+ 00029161  0x00007b74 arg  0x00000af2 , 0x00000005 
+ 00029162  0x00007b75 call  0x00007245 
+ 00029163  0x00007b77 arg  0x00000ae2 , 0x00000013 
+ 00029164  0x00007b78 arg  0x00000af2 , 0x00000011 
+ 00029165  0x00007b79 arg  0x00000b02 , 0x00000005 
+ 00029166  0x00007b7a arg  0x00000004 , 0x00000039 
+ 00029167  0x00007b7b call  0x00007edd 
+ 00029168  0x00007b87 call  0x00007491 
+ 00029169  0x00007b88 call  0x00007428 
+ 00029170  0x00007b8b arg  0x000005e6 , 0x00000006 
+ 00029171  0x00007b8e increase  0xffffffff , 0x00000012 
+ 00029172  0x00007b8f deposit  0x00000012 
+ 00029173  0x00007b90 branch  0x000071f9 , 0x00000034 
+ 00029174  0x00007b91 call  0x00007486 
+ 00029175  0x00007b92 call  0x00007422 
+ 00029176  0x00007b93 branch  0x000071f3 
+ 00029177  0x00007b96 arg  0x00000af2 , 0x00000005 
+ 00029178  0x00007b97 call  0x00007497 
+ 00029179  0x00007b98 arg  0x00000b02 , 0x00000006 
+ 00029180  0x00007b99 call  0x00007486 
+ 00029181  0x00007b9a call  0x00007428 
+ 00029182  0x00007b9b arg  0x00000af2 , 0x00000006 
+ 00029183  0x00007b9c call  0x00007486 
+ 00029184  0x00007b9d branch  0x00007422 
+ 00029185  0x00007ba3 copy  0x00000005 , 0x00000011 
+ 00029186  0x00007ba4 call  0x00007497 
+ 00029187  0x00007ba6 arg  0x00000010 , 0x00000039 
+ 00029188  0x00007ba7 branch  0x00007ee5 
+ 00029189  0x00007baa arg  0x00000ac2 , 0x00000005 
+ 00029190  0x00007bab call  0x00007ebf 
+ 00029191  0x00007bad arg  0x00000010 , 0x00000039 
+ 00029192  0x00007bae arg  0x00000ac2 , 0x00000011 
+ 00029193  0x00007baf branch  0x00007ee5 
+ 00029194  0x00007bb2 fetch  0x00000001 , 0x000005e5 
+ 00029195  0x00007bb3 copy  0x0000003f , 0x00000039 
+ 00029196  0x00007bb4 arg  0x000005e6 , 0x00000011 
+ 00029197  0x00007bb5 branch  0x00007ee5 
+ 00029198  0x00007bb8 ifetch  0x00000001 , 0x00000011 
+ 00029199  0x00007bb9 lshift  0x0000003f , 0x0000003f 
+ 00029200  0x00007bba isolate1  0x00000000 , 0x00000013 
+ 00029201  0x00007bbb setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00029202  0x00007bbc isolate1  0x00000008 , 0x0000003f 
+ 00029203  0x00007bbd setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00029204  0x00007bbe istore  0x00000001 , 0x00000011 
+ 00029205  0x00007bbf increase  0xffffffff , 0x00000011 
+ 00029206  0x00007bc0 loop  0x0000720e 
+ 00029207  0x00007bc1 rtn 
+ 00029208  0x00007bc4 arg  0x00000ad2 , 0x00000011 
+ 00029209  0x00007bc6 increase  0x0000000f , 0x00000011 
+ 00029210  0x00007bc7 force  0x00000010 , 0x00000039 
+ 00029211  0x00007bc8 force  0x00000000 , 0x00000013 
+ 00029212  0x00007bc9 branch  0x0000720e 
+ 00029213  0x00007bcc arg  0x00000ae2 , 0x00000011 
+ 00029214  0x00007bcd branch  0x00007219 
+ 00029215  0x00007bd1 arg  0x00000ac2 , 0x00000006 
+ 00029216  0x00007bd2 call  0x00007484 
+ 00029217  0x00007bd5 force  0x00000008 , 0x00000038 
+ 00029218  0x00007bd6 call  0x00007492 
+ 00029219  0x00007bd7 call  0x00007491 
+ 00029220  0x00007bd8 call  0x0000741f 
+ 00029221  0x00007bdd arg  0x00000ad2 , 0x00000005 
+ 00029222  0x00007bde call  0x00007497 
+ 00029223  0x00007be0 bpatchx  0x000000de , 0x0000403b 
+ 00029224  0x00007be1 fetch  0x00000001 , 0x00000ad2 
+ 00029225  0x00007be2 isolate1  0x00000007 , 0x0000003f 
+ 00029226  0x00007be3 nbranch  0x00007230 , 0x00000001 
+ 00029227  0x00007be4 call  0x00007218 
+ 00029228  0x00007be7 arg  0x00000ad2 , 0x00000013 
+ 00029229  0x00007be9 arg  0x00000ad2 , 0x00000005 
+ 00029230  0x00007bec call  0x0000723a 
+ 00029231  0x00007bed branch  0x00007231 
+ 00029232  0x00007bef call  0x00007218 
+ 00029233  0x00007bf2 arg  0x00000ad2 , 0x00000006 
+ 00029234  0x00007bf3 arg  0x00000ae2 , 0x00000005 
+ 00029235  0x00007bf4 call  0x00007ebf 
+ 00029236  0x00007bf5 fetch  0x00000001 , 0x00000ae2 
+ 00029237  0x00007bf6 isolate1  0x00000007 , 0x0000003f 
+ 00029238  0x00007bf7 nbranch  0x0000721d , 0x00000001 
+ 00029239  0x00007bf8 call  0x0000721d 
+ 00029240  0x00007bfa arg  0x00000ae2 , 0x00000013 
+ 00029241  0x00007bfc arg  0x00000ae2 , 0x00000005 
+ 00029242  0x00007c03 arg  0x00000003 , 0x00000039 
+ 00029243  0x00007c05 arg  0x00000000 , 0x00000002 
+ 00029244  0x00007c06 call  0x00007241 
+ 00029245  0x00007c07 increase  0x00000004 , 0x00000013 
+ 00029246  0x00007c08 loop  0x0000723b 
+ 00029247  0x00007c09 arg  0x00008700 , 0x00000002 
+ 00029248  0x00007c0a lshift16  0x00000002 , 0x00000002 
+ 00029249  0x00007c0c ifetch  0x00000004 , 0x00000013 
+ 00029250  0x00007c0d ixor  0x00000002 , 0x0000003f 
+ 00029251  0x00007c0e istore  0x00000004 , 0x00000005 
+ 00029252  0x00007c0f rtn 
+ 00029253  0x00007c16 bpatchx  0x000000df , 0x0000403b 
+ 00029254  0x00007c17 arg  0x00000010 , 0x00000039 
+ 00029255  0x00007c18 arg  0x00000000 , 0x0000003f 
+ 00029256  0x00007c1a isub  0x00000011 , 0x0000003e 
+ 00029257  0x00007c1b branch  0x00007250 , 0x00000005 
+ 00029258  0x00007c1c branch  0x00007253 , 0x00000002 
+ 00029259  0x00007c1d ifetcht  0x00000001 , 0x00000006 
+ 00029260  0x00007c1e istoret  0x00000001 , 0x00000005 
+ 00029261  0x00007c20 increase  0x00000001 , 0x0000003f 
+ 00029262  0x00007c21 loop  0x00007248 
+ 00029263  0x00007c22 rtn 
+ 00029264  0x00007c24 arg  0x00000080 , 0x00000002 
+ 00029265  0x00007c26 istoret  0x00000001 , 0x00000005 
+ 00029266  0x00007c27 branch  0x0000724d 
+ 00029267  0x00007c2a arg  0x00000000 , 0x00000002 
+ 00029268  0x00007c2b branch  0x00007251 
+ 00029269  0x00007c2f call  0x00007268 
+ 00029270  0x00007c30 arg  0x00000592 , 0x00000006 
+ 00029271  0x00007c31 arg  0x00000582 , 0x00000005 
+ 00029272  0x00007c32 branch  0x00007ebf 
+ 00029273  0x00007c36 disable  0x00000028 
+ 00029274  0x00007c37 call  0x0000735f 
+ 00029275  0x00007c38 arg  0x00000562 , 0x00000006 
+ 00029276  0x00007c39 arg  0x000005a2 , 0x00000005 
+ 00029277  0x00007c3a force  0x0000000f , 0x00000039 
+ 00029278  0x00007c3b call  0x00007f01 
+ 00029279  0x00007c3c ifetch  0x00000001 , 0x00000006 
+ 00029280  0x00007c3d xor_into  0x00000006 , 0x0000003f 
+ 00029281  0x00007c3e istore  0x00000001 , 0x00000005 
+ 00029282  0x00007c3f setarg  0x000005b2 
+ 00029283  0x00007c40 store  0x00000002 , 0x000005d6 
+ 00029284  0x00007c41 setarg  0x000005a2 
+ 00029285  0x00007c42 store  0x00000002 , 0x000005d4 
+ 00029286  0x00007c43 set1  0x00000012 , 0x00000000 
+ 00029287  0x00007c44 branch  0x000072a8 
+ 00029288  0x00007c49 fetcht  0x00000001 , 0x00004689 
+ 00029289  0x00007c4a force  0x00000010 , 0x00000012 
+ 00029290  0x00007c4b add  0x00000002 , 0x00000006 , 0x00000013 
+ 00029291  0x00007c4c sub  0x00000013 , 0x00000010 , 0x0000003e 
+ 00029292  0x00007c4d branch  0x0000726e , 0x00000002 
+ 00029293  0x00007c4e force  0x00000010 , 0x00000013 
+ 00029294  0x00007c50 arg  0x000005a2 , 0x00000005 
+ 00029295  0x00007c52 arg  0x0000468a , 0x00000006 
+ 00029296  0x00007c53 copy  0x00000002 , 0x00000039 
+ 00029297  0x00007c54 disable  0x00000028 
+ 00029298  0x00007c56 ifetch  0x00000001 , 0x00000006 
+ 00029299  0x00007c57 istore  0x00000001 , 0x00000005 
+ 00029300  0x00007c58 increase  0xffffffff , 0x00000012 
+ 00029301  0x00007c59 branch  0x0000727c , 0x00000005 
+ 00029302  0x00007c5a loop  0x00007272 
+ 00029303  0x00007c5b branch  0x0000726f , 0x00000028 
+ 00029304  0x00007c5c enable  0x00000028 
+ 00029305  0x00007c5d force  0x00000006 , 0x00000039 
+ 00029306  0x00007c5e copy  0x00000011 , 0x00000006 
+ 00029307  0x00007c5f branch  0x00007272 
+ 00029308  0x00007c61 arg  0x00000562 , 0x00000006 
+ 00029309  0x00007c62 arg  0x000005b2 , 0x00000005 
+ 00029310  0x00007c63 call  0x00007ebf 
+ 00029311  0x00007c64 fetch  0x00000001 , 0x000005c1 
+ 00029312  0x00007c65 ixor  0x00000013 , 0x0000003f 
+ 00029313  0x00007c66 store  0x00000001 , 0x000005c1 
+ 00029314  0x00007c67 setarg  0x000005b2 
+ 00029315  0x00007c68 store  0x00000002 , 0x000005d6 
+ 00029316  0x00007c69 setarg  0x000005a2 
+ 00029317  0x00007c6a store  0x00000002 , 0x000005d4 
+ 00029318  0x00007c6b set1  0x00000012 , 0x00000000 
+ 00029319  0x00007c6c branch  0x000072a8 
+ 00029320  0x00007c72 disable  0x00000028 
+ 00029321  0x00007c73 call  0x0000735f 
+ 00029322  0x00007c74 branch  0x00007292 
+ 00029323  0x00007c77 arg  0x00000056 , 0x00000011 
+ 00029324  0x00007c78 enable  0x00000028 
+ 00029325  0x00007c79 call  0x0000735f 
+ 00029326  0x00007c7a call  0x00007292 
+ 00029327  0x00007c7b arg  0x00000592 , 0x00000006 
+ 00029328  0x00007c7c arg  0x00000062 , 0x00000005 
+ 00029329  0x00007c7d branch  0x00007ebf 
+ 00029330  0x00007c81 setarg  0x00000562 
+ 00029331  0x00007c82 store  0x00000002 , 0x000005d6 
+ 00029332  0x00007c83 setarg  0x000041be 
+ 00029333  0x00007c84 store  0x00000002 , 0x000005d4 
+ 00029334  0x00007c85 set0  0x00000012 , 0x00000000 
+ 00029335  0x00007c86 call  0x000072a8 
+ 00029336  0x00007c87 arg  0x00000592 , 0x00000011 
+ 00029337  0x00007c88 arg  0x00000562 , 0x00000012 
+ 00029338  0x00007c89 arg  0x000005a2 , 0x00000005 
+ 00029339  0x00007c8a call  0x00007352 
+ 00029340  0x00007c8b arg  0x000005a2 , 0x00000011 
+ 00029341  0x00007c8c arg  0x000005b2 , 0x00000012 
+ 00029342  0x00007c8d copy  0x00000012 , 0x00000005 
+ 00029343  0x00007c8e enable  0x00000028 
+ 00029344  0x00007c8f call  0x00007350 
+ 00029345  0x00007c90 call  0x0000736a 
+ 00029346  0x00007c91 setarg  0x000005b2 
+ 00029347  0x00007c92 store  0x00000002 , 0x000005d6 
+ 00029348  0x00007c93 setarg  0x000005a2 
+ 00029349  0x00007c94 store  0x00000002 , 0x000005d4 
+ 00029350  0x00007c95 set1  0x00000012 , 0x00000000 
+ 00029351  0x00007c96 branch  0x000072a8 
+ 00029352  0x00007c9b jam  0x00000000 , 0x000005d8 
+ 00029353  0x00007c9c fetch  0x00000002 , 0x000005d4 
+ 00029354  0x00007c9d iforce  0x00000006 
+ 00029355  0x00007c9e arg  0x000005c2 , 0x00000005 
+ 00029356  0x00007c9f call  0x00007ebf 
+ 00029357  0x00007ca0 fetch  0x00000002 , 0x000005d6 
+ 00029358  0x00007ca1 iforce  0x00000006 
+ 00029359  0x00007ca2 arg  0x00000592 , 0x00000005 
+ 00029360  0x00007ca3 call  0x00007ebf 
+ 00029361  0x00007ca6 call  0x000072cf 
+ 00029362  0x00007ca7 disable  0x00000028 
+ 00029363  0x00007ca8 bmark0  0x00000012 , 0x000072b9 
+ 00029364  0x00007ca9 fetch  0x00000001 , 0x000005d8 
+ 00029365  0x00007caa bne  0x00000004 , 0x000072b9 
+ 00029366  0x00007cab fetch  0x00000002 , 0x000005d6 
+ 00029367  0x00007cac iforce  0x00000012 
+ 00029368  0x00007cad call  0x00007301 
+ 00029369  0x00007caf call  0x00007300 
+ 00029370  0x00007cb0 call  0x00007313 
+ 00029371  0x00007cb1 fetch  0x00000001 , 0x000005d8 
+ 00029372  0x00007cb2 increase  0x00000001 , 0x0000003f 
+ 00029373  0x00007cb3 store  0x00000001 , 0x000005d8 
+ 00029374  0x00007cb5 call  0x000072cf 
+ 00029375  0x00007cb6 enable  0x00000028 
+ 00029376  0x00007cb7 call  0x00007300 
+ 00029377  0x00007cb8 call  0x00007322 
+ 00029378  0x00007cb9 call  0x00007331 
+ 00029379  0x00007cba call  0x00007322 
+ 00029380  0x00007cbb call  0x00007331 
+ 00029381  0x00007cbc call  0x00007322 
+ 00029382  0x00007cbd call  0x00007331 
+ 00029383  0x00007cbe call  0x00007322 
+ 00029384  0x00007cbf fetch  0x00000001 , 0x000005d8 
+ 00029385  0x00007cc0 increase  0x00000001 , 0x0000003f 
+ 00029386  0x00007cc1 store  0x00000001 , 0x000005d8 
+ 00029387  0x00007cc2 bne  0x00000010 , 0x000072b1 
+ 00029388  0x00007cc3 call  0x000072cf 
+ 00029389  0x00007cc4 disable  0x00000028 
+ 00029390  0x00007cc5 branch  0x00007300 
+ 00029391  0x00007cca fetch  0x00000001 , 0x000005d8 
+ 00029392  0x00007ccb arg  0x000005c2 , 0x00000006 
+ 00029393  0x00007ccc branch  0x000072f6 , 0x00000034 
+ 00029394  0x00007ccd iforce  0x00000012 
+ 00029395  0x00007cce force  0x00000011 , 0x00000039 
+ 00029396  0x00007ccf copy  0x00000006 , 0x00000005 
+ 00029397  0x00007cd1 ifetch  0x00000001 , 0x00000006 
+ 00029398  0x00007cd2 lshift3  0x0000003f , 0x00000002 
+ 00029399  0x00007cd3 rshift2  0x0000003f , 0x0000003f 
+ 00029400  0x00007cd4 rshift3  0x0000003f , 0x0000003f 
+ 00029401  0x00007cd5 ior  0x00000002 , 0x0000003f 
+ 00029402  0x00007cd6 istore  0x00000001 , 0x00000005 
+ 00029403  0x00007cd7 loop  0x000072d5 
+ 00029404  0x00007cd8 setarg  0x000005c2 
+ 00029405  0x00007cd9 iadd  0x00000012 , 0x00000006 
+ 00029406  0x00007cda force  0x00000010 , 0x00000039 
+ 00029407  0x00007cdb arg  0x00000572 , 0x00000005 
+ 00029408  0x00007cdd ifetch  0x00000001 , 0x00000006 
+ 00029409  0x00007cde istore  0x00000001 , 0x00000005 
+ 00029410  0x00007cdf compare  0x000005d3 , 0x00000006 , 0x000000ff 
+ 00029411  0x00007ce0 nbranch  0x000072e5 , 0x00000001 
+ 00029412  0x00007ce1 increase  0xffffffef , 0x00000006 
+ 00029413  0x00007ce3 loop  0x000072e0 
+ 00029414  0x00007ce4 force  0x00000000 , 0x00000011 
+ 00029415  0x00007ce5 add  0x00000012 , 0xffffffff , 0x00000013 
+ 00029416  0x00007ce6 lshift2  0x00000013 , 0x00000013 
+ 00029417  0x00007ce7 lshift2  0x00000013 , 0x00000013 
+ 00029418  0x00007ce8 call  0x000074b9 
+ 00029419  0x00007ce9 setarg  0x00008400 
+ 00029420  0x00007cea iadd  0x00000013 , 0x00000013 
+ 00029421  0x00007ceb arg  0x00000572 , 0x00000005 
+ 00029422  0x00007cec force  0x00000010 , 0x00000039 
+ 00029423  0x00007cee ifetcht  0x00000001 , 0x00000013 
+ 00029424  0x00007cef ifetch  0x00000001 , 0x00000005 
+ 00029425  0x00007cf0 iadd  0x00000002 , 0x0000003f 
+ 00029426  0x00007cf1 istore  0x00000001 , 0x00000005 
+ 00029427  0x00007cf2 increase  0x00000001 , 0x00000013 
+ 00029428  0x00007cf3 loop  0x000072ef 
+ 00029429  0x00007cf4 branch  0x000074bd 
+ 00029430  0x00007cf7 force  0x00000010 , 0x00000039 
+ 00029431  0x00007cf8 force  0x00000000 , 0x00000002 
+ 00029432  0x00007cfa ifetch  0x00000001 , 0x00000006 
+ 00029433  0x00007cfb ixor  0x00000002 , 0x00000002 
+ 00029434  0x00007cfc loop  0x000072f8 
+ 00029435  0x00007cfd deposit  0x00000002 
+ 00029436  0x00007cfe istore  0x00000001 , 0x00000006 
+ 00029437  0x00007cff arg  0x000005c2 , 0x00000006 
+ 00029438  0x00007d00 arg  0x00000572 , 0x00000005 
+ 00029439  0x00007d01 branch  0x00007ebf 
+ 00029440  0x00007d04 arg  0x00000572 , 0x00000012 
+ 00029441  0x00007d06 force  0x00000010 , 0x00000039 
+ 00029442  0x00007d07 arg  0x00000592 , 0x00000011 
+ 00029443  0x00007d08 copy  0x00000011 , 0x00000005 
+ 00029444  0x00007d0a ifetcht  0x00000001 , 0x00000011 
+ 00029445  0x00007d0b ifetch  0x00000001 , 0x00000012 
+ 00029446  0x00007d0c ixor  0x00000002 , 0x00000030 
+ 00029447  0x00007d0d and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029448  0x00007d0e nbranch  0x0000730a , 0x00000028 
+ 00029449  0x00007d0f xor_into  0x00000003 , 0x00000013 
+ 00029450  0x00007d11 sub  0x00000013 , 0x00000001 , 0x00000013 
+ 00029451  0x00007d12 branch  0x0000730d , 0x00000002 
+ 00029452  0x00007d13 iadd  0x00000002 , 0x00000030 
+ 00029453  0x00007d15 deposit  0x00000030 
+ 00029454  0x00007d16 istore  0x00000001 , 0x00000005 
+ 00029455  0x00007d17 increase  0x00000001 , 0x00000011 
+ 00029456  0x00007d18 increase  0x00000001 , 0x00000012 
+ 00029457  0x00007d19 loop  0x00007304 
+ 00029458  0x00007d1a rtn 
+ 00029459  0x00007d1d call  0x000074b9 
+ 00029460  0x00007d1e force  0x00000010 , 0x00000039 
+ 00029461  0x00007d1f arg  0x00000592 , 0x00000011 
+ 00029462  0x00007d21 ifetch  0x00000001 , 0x00000011 
+ 00029463  0x00007d22 arg  0x00008500 , 0x00000006 
+ 00029464  0x00007d23 and  0x00000039 , 0x00000003 , 0x00000013 
+ 00029465  0x00007d24 sub  0x00000013 , 0x00000001 , 0x0000003e 
+ 00029466  0x00007d25 branch  0x0000731c , 0x00000002 
+ 00029467  0x00007d26 arg  0x00008600 , 0x00000006 
+ 00029468  0x00007d28 iadd  0x00000006 , 0x00000006 
+ 00029469  0x00007d29 ifetch  0x00000001 , 0x00000006 
+ 00029470  0x00007d2a istore  0x00000001 , 0x00000011 
+ 00029471  0x00007d2b increase  0x00000001 , 0x00000011 
+ 00029472  0x00007d2c loop  0x00007316 
+ 00029473  0x00007d2d branch  0x000074bd 
+ 00029474  0x00007d30 force  0x00000008 , 0x00000039 
+ 00029475  0x00007d31 arg  0x00000592 , 0x00000006 
+ 00029476  0x00007d32 copy  0x00000006 , 0x00000005 
+ 00029477  0x00007d34 ifetch  0x00000001 , 0x00000006 
+ 00029478  0x00007d35 iforce  0x00000011 
+ 00029479  0x00007d36 ifetch  0x00000001 , 0x00000006 
+ 00029480  0x00007d37 iforce  0x00000012 
+ 00029481  0x00007d38 lshift  0x00000011 , 0x0000003f 
+ 00029482  0x00007d39 iadd  0x00000012 , 0x0000003f 
+ 00029483  0x00007d3a istore  0x00000001 , 0x00000005 
+ 00029484  0x00007d3b deposit  0x00000011 
+ 00029485  0x00007d3c iadd  0x00000012 , 0x0000003f 
+ 00029486  0x00007d3d istore  0x00000001 , 0x00000005 
+ 00029487  0x00007d3e loop  0x00007325 
+ 00029488  0x00007d3f rtn 
+ 00029489  0x00007d43 setarg  0x008ae42c 
+ 00029490  0x00007d44 iforce  0x00000002 
+ 00029491  0x00007d45 force  0x00000007 , 0x00000039 
+ 00029492  0x00007d46 call  0x00007340 
+ 00029493  0x00007d47 setarg  0x000d751b 
+ 00029494  0x00007d48 iforce  0x00000002 
+ 00029495  0x00007d49 force  0x00000005 , 0x00000039 
+ 00029496  0x00007d4a call  0x00007340 
+ 00029497  0x00007d4b fetch  0x00000001 , 0x000005a1 
+ 00029498  0x00007d4c iforce  0x00000011 
+ 00029499  0x00007d4d fetch  0x00000001 , 0x00000595 
+ 00029500  0x00007d4e store  0x00000001 , 0x000005a1 
+ 00029501  0x00007d4f deposit  0x00000011 
+ 00029502  0x00007d50 store  0x00000001 , 0x00000595 
+ 00029503  0x00007d51 rtn 
+ 00029504  0x00007d54 and  0x00000002 , 0x0000000f , 0x00000012 
+ 00029505  0x00007d56 and  0x00000002 , 0x0000000f , 0x0000003f 
+ 00029506  0x00007d57 arg  0x00000592 , 0x00000005 
+ 00029507  0x00007d58 iadd  0x00000005 , 0x00000005 
+ 00029508  0x00007d59 ifetch  0x00000001 , 0x00000005 
+ 00029509  0x00007d5a iforce  0x00000013 
+ 00029510  0x00007d5b deposit  0x00000011 
+ 00029511  0x00007d5c istore  0x00000001 , 0x00000005 
+ 00029512  0x00007d5d copy  0x00000013 , 0x00000011 
+ 00029513  0x00007d5e rshift4  0x00000002 , 0x00000002 
+ 00029514  0x00007d5f loop  0x00007341 
+ 00029515  0x00007d60 setarg  0x00000592 
+ 00029516  0x00007d61 iadd  0x00000012 , 0x00000005 
+ 00029517  0x00007d62 deposit  0x00000011 
+ 00029518  0x00007d63 istore  0x00000001 , 0x00000005 
+ 00029519  0x00007d64 rtn 
+ 00029520  0x00007d67 enable  0x00000028 
+ 00029521  0x00007d68 branch  0x00007353 
+ 00029522  0x00007d6b disable  0x00000028 
+ 00029523  0x00007d6d force  0x00000010 , 0x00000039 
+ 00029524  0x00007d6f ifetcht  0x00000001 , 0x00000011 
+ 00029525  0x00007d70 ifetch  0x00000001 , 0x00000012 
+ 00029526  0x00007d71 branch  0x00007359 , 0x00000028 
+ 00029527  0x00007d72 ixor  0x00000002 , 0x0000003f 
+ 00029528  0x00007d73 branch  0x0000735a 
+ 00029529  0x00007d75 iadd  0x00000002 , 0x0000003f 
+ 00029530  0x00007d77 istore  0x00000001 , 0x00000005 
+ 00029531  0x00007d78 increase  0x00000001 , 0x00000011 
+ 00029532  0x00007d79 increase  0x00000001 , 0x00000012 
+ 00029533  0x00007d7a loop  0x00007354 
+ 00029534  0x00007d7b rtn 
+ 00029535  0x00007d7f arg  0x000005b2 , 0x00000005 
+ 00029536  0x00007d80 ifetch  0x00000006 , 0x00000011 
+ 00029537  0x00007d81 istore  0x00000006 , 0x00000005 
+ 00029538  0x00007d82 branch  0x00007365 , 0x00000028 
+ 00029539  0x00007d83 ifetch  0x00000006 , 0x00000011 
+ 00029540  0x00007d84 branch  0x00007366 
+ 00029541  0x00007d86 ifetch  0x00000006 , 0x00000006 
+ 00029542  0x00007d88 istore  0x00000006 , 0x00000005 
+ 00029543  0x00007d89 ifetch  0x00000004 , 0x00000011 
+ 00029544  0x00007d8a istore  0x00000004 , 0x00000005 
+ 00029545  0x00007d8b rtn 
+ 00029546  0x00007d8e arg  0x000041be , 0x00000006 
+ 00029547  0x00007d8f arg  0x000005a2 , 0x00000005 
+ 00029548  0x00007d90 arg  0x00000000 , 0x00000002 
+ 00029549  0x00007d91 setarg  0x008395a7 
+ 00029550  0x00007d92 call  0x0000738b 
+ 00029551  0x00007d93 setarg  0x00b3c1df 
+ 00029552  0x00007d94 call  0x0000738b 
+ 00029553  0x00007d95 setarg  0x0000e5e9 
+ 00029554  0x00007d96 call  0x0000738c 
+ 00029555  0x00007d97 copy  0x00000002 , 0x00000014 
+ 00029556  0x00007d98 disable  0x00000028 
+ 00029557  0x00007d99 call  0x00007379 
+ 00029558  0x00007d9a copy  0x00000014 , 0x00000002 
+ 00029559  0x00007d9b enable  0x00000028 
+ 00029560  0x00007d9c branch  0x00007379 
+ 00029561  0x00007d9f force  0x00000008 , 0x00000039 
+ 00029562  0x00007da1 ifetch  0x00000001 , 0x00000006 
+ 00029563  0x00007da2 compare  0x00000001 , 0x00000039 , 0x00000001 
+ 00029564  0x00007da3 branch  0x00007380 , 0x00000028 
+ 00029565  0x00007da4 branch  0x00007381 , 0x00000001 
+ 00029566  0x00007da6 iadd  0x00000002 , 0x0000003f 
+ 00029567  0x00007da7 branch  0x00007382 
+ 00029568  0x00007da9 branch  0x0000737e , 0x00000001 
+ 00029569  0x00007dab ixor  0x00000002 , 0x0000003f 
+ 00029570  0x00007dad istore  0x00000001 , 0x00000005 
+ 00029571  0x00007dae rshift8  0x00000002 , 0x00000002 
+ 00029572  0x00007daf loop  0x0000737a 
+ 00029573  0x00007db0 rtn 
+ 00029574  0x00007db3 fetch  0x00000006 , 0x00000596 
+ 00029575  0x00007db4 store  0x00000006 , 0x00000056 
+ 00029576  0x00007db5 ifetch  0x00000006 , 0x00000006 
+ 00029577  0x00007db6 istore  0x00000006 , 0x00000005 
+ 00029578  0x00007db7 rtn 
+ 00029579  0x00007dba lshift8  0x00000002 , 0x00000002 
+ 00029580  0x00007dbc lshift16  0x00000002 , 0x00000002 
+ 00029581  0x00007dbd ior  0x00000002 , 0x00000002 
+ 00029582  0x00007dbe rtn 
+ 00029583  0x00007dc3 branch  0x0000738f 
+ 00029584  0x00007dc8 bpatchx  0x000000e0 , 0x0000403c 
+ 00029585  0x00007dc9 call  0x0000742b 
+ 00029586  0x00007dca arg  0x00004419 , 0x00000005 
+ 00029587  0x00007dcb branch  0x00007497 
+ 00029588  0x00007dcf arg  0x0000443a , 0x00000005 
+ 00029589  0x00007dd0 branch  0x00007397 , 0x00000029 
+ 00029590  0x00007dd1 arg  0x0000042f , 0x00000005 
+ 00029591  0x00007dd3 copy  0x00000006 , 0x00000011 
+ 00029592  0x00007dd4 call  0x00007ebf 
+ 00029593  0x00007dd5 call  0x00007440 
+ 00029594  0x00007dd6 arg  0x0000442a , 0x00000006 
+ 00029595  0x00007dd7 branch  0x000074b0 
+ 00029596  0x00007dda arg  0x0000042f , 0x00000011 
+ 00029597  0x00007ddb branch  0x0000739f , 0x00000029 
+ 00029598  0x00007ddc arg  0x0000443a , 0x00000011 
+ 00029599  0x00007dde copy  0x00000011 , 0x00000005 
+ 00029600  0x00007ddf call  0x0000630c 
+ 00029601  0x00007de0 branch  0x00007440 
+ 00029602  0x00007de3 arg  0x000044aa , 0x00000006 
+ 00029603  0x00007de4 call  0x00007486 
+ 00029604  0x00007de5 arg  0x00004419 , 0x00000006 
+ 00029605  0x00007de6 call  0x00007487 
+ 00029606  0x00007de7 force  0x00000038 , 0x00000036 
+ 00029607  0x00007de8 force  0x00000000 , 0x00000036 
+ 00029608  0x00007de9 call  0x0000741d 
+ 00029609  0x00007dea arg  0x0000047c , 0x00000005 
+ 00029610  0x00007deb branch  0x00007497 
+ 00029611  0x00007def force  0x00000049 , 0x0000003f 
+ 00029612  0x00007df0 branch  0x000073ae 
+ 00029613  0x00007df2 force  0x00000001 , 0x0000003f 
+ 00029614  0x00007df4 force  0x00000000 , 0x00000038 
+ 00029615  0x00007df5 lshift8  0x00000002 , 0x0000002f 
+ 00029616  0x00007df6 ior  0x0000002f , 0x0000002f 
+ 00029617  0x00007df7 increase  0x00000001 , 0x00000038 
+ 00029618  0x00007df8 rshift8  0x00000002 , 0x0000002f 
+ 00029619  0x00007df9 rshift16  0x0000002f , 0x0000002f 
+ 00029620  0x00007dfa fetch  0x00000002 , 0x00004411 
+ 00029621  0x00007dfb lshift16 , 0x0000003f , 0x0000003f 
+ 00029622  0x00007dfc ior  0x0000002f , 0x0000002f 
+ 00029623  0x00007dfd increase  0x00000001 , 0x00000038 
+ 00029624  0x00007dfe ifetch  0x00000004 , 0x00000006 
+ 00029625  0x00007dff iforce  0x0000002f 
+ 00029626  0x00007e00 increase  0x00000001 , 0x00000038 
+ 00029627  0x00007e01 ifetch  0x00000002 , 0x00000006 
+ 00029628  0x00007e02 byteswap  0x00000011 , 0x0000002f 
+ 00029629  0x00007e03 lshift16  0x0000002f , 0x0000002f 
+ 00029630  0x00007e04 ior  0x0000002f , 0x0000002f 
+ 00029631  0x00007e05 increase  0x00000001 , 0x00000038 
+ 00029632  0x00007e06 rtn 
+ 00029633  0x00007e0b add  0x00000013 , 0x00000001 , 0x00000006 
+ 00029634  0x00007e0c ifetch  0x00000001 , 0x00000006 
+ 00029635  0x00007e0d iforce  0x00000011 
+ 00029636  0x00007e0e call  0x000073ab 
+ 00029637  0x00007e0f call  0x0000741f 
+ 00029638  0x00007e11 force  0x00000000 , 0x00000038 
+ 00029639  0x00007e12 ifetch  0x00000001 , 0x00000013 
+ 00029640  0x00007e13 and_into  0x00000003 , 0x0000003f 
+ 00029641  0x00007e14 lshift16  0x0000003f , 0x0000002f 
+ 00029642  0x00007e15 set1  0x00000008 , 0x0000002f 
+ 00029643  0x00007e16 call  0x0000748f 
+ 00029644  0x00007e17 call  0x00007422 
+ 00029645  0x00007e19 copy  0x00000011 , 0x00000039 
+ 00029646  0x00007e1a add  0x00000013 , 0x00000002 , 0x00000006 
+ 00029647  0x00007e1b call  0x0000746e 
+ 00029648  0x00007e1d call  0x00007478 
+ 00029649  0x00007e1e call  0x00007422 
+ 00029650  0x00007e1f deposit  0x00000039 
+ 00029651  0x00007e20 branch  0x000073d5 , 0x00000034 
+ 00029652  0x00007e21 branch  0x000073d0 
+ 00029653  0x00007e23 force  0x0000000c , 0x00000038 
+ 00029654  0x00007e24 deposit  0x0000002f 
+ 00029655  0x00007e25 store  0x00000004 , 0x00000417 
+ 00029656  0x00007e26 rtn 
+ 00029657  0x00007e29 increase  0x00000001 , 0x00000011 
+ 00029658  0x00007e2a call  0x000073ad 
+ 00029659  0x00007e2b copy  0x00000013 , 0x00000006 
+ 00029660  0x00007e2c call  0x00007482 
+ 00029661  0x00007e2d call  0x00007425 
+ 00029662  0x00007e2e call  0x0000749e 
+ 00029663  0x00007e2f increase  0x00000010 , 0x00000013 
+ 00029664  0x00007e30 increase  0xfffffff0 , 0x00000012 
+ 00029665  0x00007e31 branch  0x000073d9 , 0x00000002 
+ 00029666  0x00007e32 rtn 
+ 00029667  0x00007e35 bpatchx  0x000000e1 , 0x0000403c 
+ 00029668  0x00007e36 arg  0x000043dc , 0x00000013 
+ 00029669  0x00007e37 fetcht  0x00000005 , 0x00004403 
+ 00029670  0x00007e38 call  0x000073c1 
+ 00029671  0x00007e39 force  0x00000008 , 0x00000038 
+ 00029672  0x00007e3a iforce  0x0000002f 
+ 00029673  0x00007e3b force  0x00000000 , 0x00000011 
+ 00029674  0x00007e3c call  0x000073ad 
+ 00029675  0x00007e3d call  0x00007425 
+ 00029676  0x00007e3e arg  0x000043de , 0x00000013 
+ 00029677  0x00007e3f fetch  0x00000001 , 0x000043dd 
+ 00029678  0x00007e40 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029679  0x00007e41 iadd  0x00000013 , 0x00000005 
+ 00029680  0x00007e42 force  0x0000000c , 0x00000038 
+ 00029681  0x00007e43 deposit  0x0000002f 
+ 00029682  0x00007e44 istore  0x00000004 , 0x00000005 
+ 00029683  0x00007e45 call  0x000073d9 
+ 00029684  0x00007e46 fetch  0x00000001 , 0x000043dd 
+ 00029685  0x00007e47 increase  0x00000004 , 0x0000003f 
+ 00029686  0x00007e48 store  0x00000001 , 0x000043dd 
+ 00029687  0x00007e49 fetcht  0x00000005 , 0x00004403 
+ 00029688  0x00007e4a increase  0x00000001 , 0x00000002 
+ 00029689  0x00007e4b storet  0x00000005 , 0x00004403 
+ 00029690  0x00007e4c rtn 
+ 00029691  0x00007e4f bpatchx  0x000000e2 , 0x0000403c 
+ 00029692  0x00007e50 fetch  0x00000001 , 0x000002da 
+ 00029693  0x00007e51 sub  0x0000003f , 0x00000014 , 0x0000003e 
+ 00029694  0x00007e52 branch  0x000073ff , 0x00000002 
+ 00029695  0x00007e54 arg  0x000002db , 0x00000013 
+ 00029696  0x00007e55 add  0x0000003f , 0xffffffff , 0x00000012 
+ 00029697  0x00007e56 increase  0xfffffffc , 0x0000003f 
+ 00029698  0x00007e57 store  0x00000001 , 0x000002da 
+ 00029699  0x00007e58 iadd  0x00000013 , 0x00000006 
+ 00029700  0x00007e59 ifetch  0x00000004 , 0x00000006 
+ 00029701  0x00007e5a force  0x00000008 , 0x00000038 
+ 00029702  0x00007e5b iforce  0x0000002f 
+ 00029703  0x00007e5c force  0x00000000 , 0x00000011 
+ 00029704  0x00007e5d fetcht  0x00000005 , 0x00004408 
+ 00029705  0x00007e5e call  0x000073ad 
+ 00029706  0x00007e5f call  0x00007425 
+ 00029707  0x00007e60 force  0x0000000c , 0x00000038 
+ 00029708  0x00007e61 deposit  0x0000002f 
+ 00029709  0x00007e62 store  0x00000004 , 0x0000041b 
+ 00029710  0x00007e63 call  0x000073d9 
+ 00029711  0x00007e64 arg  0x000002d9 , 0x00000013 
+ 00029712  0x00007e65 call  0x000073c1 
+ 00029713  0x00007e66 fetcht  0x00000004 , 0x0000041b 
+ 00029714  0x00007e67 isub  0x00000002 , 0x0000003f 
+ 00029715  0x00007e68 nrtn  0x00000034 
+ 00029716  0x00007e69 fetch  0x00000004 , 0x0000440d 
+ 00029717  0x00007e6a isub  0x00000002 , 0x0000003f 
+ 00029718  0x00007e6b rtn  0x00000034 
+ 00029719  0x00007e6c storet  0x00000004 , 0x0000440d 
+ 00029720  0x00007e6d fetch  0x00000005 , 0x00004408 
+ 00029721  0x00007e6e increase  0x00000001 , 0x0000003f 
+ 00029722  0x00007e6f store  0x00000005 , 0x00004408 
+ 00029723  0x00007e70 force  0x00000000 , 0x0000003f 
+ 00029724  0x00007e71 rtn 
+ 00029725  0x00007e74 nbranch  0x0000741d , 0x00000037 
+ 00029726  0x00007e75 rtn 
+ 00029727  0x00007e78 force  0x00000030 , 0x00000036 
+ 00029728  0x00007e79 force  0x00000000 , 0x00000036 
+ 00029729  0x00007e7a branch  0x0000741d 
+ 00029730  0x00007e7d force  0x00000032 , 0x00000036 
+ 00029731  0x00007e7e force  0x00000002 , 0x00000036 
+ 00029732  0x00007e7f branch  0x0000741d 
+ 00029733  0x00007e82 force  0x00000034 , 0x00000036 
+ 00029734  0x00007e83 force  0x00000004 , 0x00000036 
+ 00029735  0x00007e84 branch  0x0000741d 
+ 00029736  0x00007e88 force  0x00000001 , 0x00000036 
+ 00029737  0x00007e89 force  0x00000000 , 0x00000036 
+ 00029738  0x00007e8a rtn 
+ 00029739  0x00007e8c force  0x00000000 , 0x00000038 
+ 00029740  0x00007e8d fetch  0x00000004 , 0x0000042f 
+ 00029741  0x00007e8e iforce  0x0000002f 
+ 00029742  0x00007e8f increase  0x00000001 , 0x00000038 
+ 00029743  0x00007e90 ifetch  0x00000004 , 0x00000006 
+ 00029744  0x00007e91 iforce  0x0000002f 
+ 00029745  0x00007e92 increase  0x00000001 , 0x00000038 
+ 00029746  0x00007e93 fetch  0x00000004 , 0x0000443a 
+ 00029747  0x00007e94 iforce  0x0000002f 
+ 00029748  0x00007e95 increase  0x00000001 , 0x00000038 
+ 00029749  0x00007e96 ifetch  0x00000004 , 0x00000006 
+ 00029750  0x00007e97 iforce  0x0000002f 
+ 00029751  0x00007e98 increase  0x00000001 , 0x00000038 
+ 00029752  0x00007e99 call  0x00007492 
+ 00029753  0x00007e9a increase  0xfffffffc , 0x00000038 
+ 00029754  0x00007e9b fetch  0x00000004 , 0x000044c7 
+ 00029755  0x00007e9c copy  0x0000003f , 0x0000002f 
+ 00029756  0x00007e9d increase  0x00000004 , 0x00000038 
+ 00029757  0x00007e9e force  0x00000038 , 0x00000036 
+ 00029758  0x00007e9f force  0x00000008 , 0x00000036 
+ 00029759  0x00007ea0 branch  0x0000741d 
+ 00029760  0x00007ea4 bpatchx  0x000000e3 , 0x0000403c 
+ 00029761  0x00007ea5 fetch  0x00000006 , 0x000044a0 
+ 00029762  0x00007ea6 fetcht  0x00000006 , 0x0000044f 
+ 00029763  0x00007ea7 branch  0x00007446 , 0x00000029 
+ 00029764  0x00007ea8 fetch  0x00000006 , 0x0000044f 
+ 00029765  0x00007ea9 fetcht  0x00000006 , 0x000044a0 
+ 00029766  0x00007eab force  0x00000008 , 0x00000038 
+ 00029767  0x00007eac copy  0x00000002 , 0x0000002f 
+ 00029768  0x00007ead increase  0x00000001 , 0x00000038 
+ 00029769  0x00007eae rshift32  0x00000002 , 0x0000002f 
+ 00029770  0x00007eaf lshift16  0x0000003f , 0x0000003f 
+ 00029771  0x00007eb0 ior  0x0000002f , 0x0000002f 
+ 00029772  0x00007eb1 increase  0x00000001 , 0x00000038 
+ 00029773  0x00007eb2 rshift32  0x0000003f , 0x0000002f 
+ 00029774  0x00007eb3 increase  0x00000001 , 0x00000038 
+ 00029775  0x00007eb4 force  0x00000000 , 0x0000002f 
+ 00029776  0x00007eb5 force  0x00000000 , 0x0000003f 
+ 00029777  0x00007eb6 fetch  0x00000001 , 0x0000448e 
+ 00029778  0x00007eb7 fetcht  0x00000001 , 0x00004485 
+ 00029779  0x00007eb8 nbranch  0x00007456 , 0x00000029 
+ 00029780  0x00007eba fetch  0x00000001 , 0x00004495 
+ 00029781  0x00007ebb fetcht  0x00000001 , 0x0000448e 
+ 00029782  0x00007ebd store  0x00000001 , 0x0000444a 
+ 00029783  0x00007ebe storet  0x00000001 , 0x0000444b 
+ 00029784  0x00007ebf force  0x00000000 , 0x00000038 
+ 00029785  0x00007ec0 arg  0x0000444a , 0x00000012 
+ 00029786  0x00007ec1 force  0x00000004 , 0x00000039 
+ 00029787  0x00007ec3 ifetch  0x00000004 , 0x00000011 
+ 00029788  0x00007ec4 ifetcht  0x00000004 , 0x00000012 
+ 00029789  0x00007ec5 ixor  0x00000002 , 0x0000002f 
+ 00029790  0x00007ec6 increase  0x00000001 , 0x00000038 
+ 00029791  0x00007ec7 increase  0x00000004 , 0x00000011 
+ 00029792  0x00007ec8 increase  0x00000004 , 0x00000012 
+ 00029793  0x00007ec9 loop  0x0000745b 
+ 00029794  0x00007eca call  0x00007492 
+ 00029795  0x00007ecb increase  0xfffffffc , 0x00000038 
+ 00029796  0x00007ecc fetch  0x00000004 , 0x000044c7 
+ 00029797  0x00007ecd copy  0x0000003f , 0x0000002f 
+ 00029798  0x00007ece increase  0x00000004 , 0x00000038 
+ 00029799  0x00007ecf force  0x00000038 , 0x00000036 
+ 00029800  0x00007ed0 force  0x0000000c , 0x00000036 
+ 00029801  0x00007ed1 call  0x0000741d 
+ 00029802  0x00007ed3 call  0x00007491 
+ 00029803  0x00007ed4 force  0x0000003a , 0x00000036 
+ 00029804  0x00007ed5 force  0x00000008 , 0x00000036 
+ 00029805  0x00007ed6 branch  0x0000741d 
+ 00029806  0x00007ed9 compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029807  0x00007eda rtn  0x00000001 
+ 00029808  0x00007edb deposit  0x00000006 
+ 00029809  0x00007edc iadd  0x00000039 , 0x00000005 
+ 00029810  0x00007edd force  0x00000000 , 0x0000003f 
+ 00029811  0x00007edf istore  0x00000001 , 0x00000005 
+ 00029812  0x00007ee0 increase  0x00000001 , 0x00000039 
+ 00029813  0x00007ee1 compare  0x00000000 , 0x00000039 , 0x00000003 
+ 00029814  0x00007ee2 rtn  0x00000001 
+ 00029815  0x00007ee3 branch  0x00007473 
+ 00029816  0x00007ee6 force  0x00000000 , 0x00000038 
+ 00029817  0x00007ee8 deposit  0x00000039 
+ 00029818  0x00007ee9 branch  0x0000747d , 0x00000034 
+ 00029819  0x00007eea ifetch  0x00000004 , 0x00000006 
+ 00029820  0x00007eeb increase  0xfffffffc , 0x00000039 
+ 00029821  0x00007eed iforce  0x0000002f 
+ 00029822  0x00007eee increase  0x00000001 , 0x00000038 
+ 00029823  0x00007eef compare  0x00000004 , 0x00000038 , 0x0000000f 
+ 00029824  0x00007ef0 rtn  0x00000001 
+ 00029825  0x00007ef1 branch  0x00007479 
+ 00029826  0x00007ef4 force  0x00000008 , 0x00000038 
+ 00029827  0x00007ef5 branch  0x00007487 
+ 00029828  0x00007ef7 force  0x00000004 , 0x00000038 
+ 00029829  0x00007ef8 branch  0x00007487 
+ 00029830  0x00007efa force  0x00000000 , 0x00000038 
+ 00029831  0x00007efc force  0x00000004 , 0x00000039 
+ 00029832  0x00007efe ifetch  0x00000004 , 0x00000006 
+ 00029833  0x00007eff iforce  0x0000002f 
+ 00029834  0x00007f00 increase  0x00000001 , 0x00000038 
+ 00029835  0x00007f01 loop  0x00007488 
+ 00029836  0x00007f02 rtn 
+ 00029837  0x00007f05 arg  0x0000047c , 0x00000006 
+ 00029838  0x00007f06 branch  0x00007484 
+ 00029839  0x00007f09 force  0x00000004 , 0x00000039 
+ 00029840  0x00007f0a branch  0x00007494 
+ 00029841  0x00007f0d force  0x00000000 , 0x00000038 
+ 00029842  0x00007f0f force  0x00000004 , 0x00000039 
+ 00029843  0x00007f11 force  0x00000000 , 0x0000002f 
+ 00029844  0x00007f13 increase  0x00000001 , 0x00000038 
+ 00029845  0x00007f14 loop  0x00007493 
+ 00029846  0x00007f15 rtn 
+ 00029847  0x00007f18 force  0x0000000c , 0x00000038 
+ 00029848  0x00007f19 force  0x00000004 , 0x00000039 
+ 00029849  0x00007f1b deposit  0x0000002f 
+ 00029850  0x00007f1c istore  0x00000004 , 0x00000005 
+ 00029851  0x00007f1d increase  0x00000001 , 0x00000038 
+ 00029852  0x00007f1e loop  0x00007499 
+ 00029853  0x00007f1f rtn 
+ 00029854  0x00007f22 force  0x0000000c , 0x00000038 
+ 00029855  0x00007f23 copy  0x00000013 , 0x00000005 
+ 00029856  0x00007f24 add  0x00000012 , 0x00000001 , 0x00000039 
+ 00029857  0x00007f25 sub  0x00000039 , 0x0000000f , 0x0000003e 
+ 00029858  0x00007f26 branch  0x000074a4 , 0x00000002 
+ 00029859  0x00007f27 force  0x00000010 , 0x00000039 
+ 00029860  0x00007f29 deposit  0x0000002f 
+ 00029861  0x00007f2a sub  0x00000039 , 0x00000003 , 0x0000003e 
+ 00029862  0x00007f2b branch  0x000074ac , 0x00000002 
+ 00029863  0x00007f2c istore  0x00000004 , 0x00000005 
+ 00029864  0x00007f2d increase  0xfffffffc , 0x00000039 
+ 00029865  0x00007f2e rtn  0x00000005 
+ 00029866  0x00007f2f increase  0x00000001 , 0x00000038 
+ 00029867  0x00007f30 branch  0x000074a4 
+ 00029868  0x00007f32 istore  0x00000001 , 0x00000005 
+ 00029869  0x00007f33 rshift8  0x0000003f , 0x0000003f 
+ 00029870  0x00007f34 loop  0x000074ac 
+ 00029871  0x00007f35 rtn 
+ 00029872  0x00007f39 force  0x0000000c , 0x00000038 
+ 00029873  0x00007f3a force  0x00000004 , 0x00000039 
+ 00029874  0x00007f3c ifetch  0x00000004 , 0x00000006 
+ 00029875  0x00007f3d isub  0x0000002f , 0x0000003e 
+ 00029876  0x00007f3e nrtn  0x00000005 
+ 00029877  0x00007f3f increase  0x00000001 , 0x00000038 
+ 00029878  0x00007f40 loop  0x000074b2 
+ 00029879  0x00007f41 force  0x00000000 , 0x0000003e 
+ 00029880  0x00007f42 rtn 
+ 00029881  0x00007f45 hfetch  0x00000001 , 0x00008050 
+ 00029882  0x00007f46 set0  0x00000000 , 0x0000003f 
+ 00029883  0x00007f47 hstore  0x00000001 , 0x00008050 
+ 00029884  0x00007f48 rtn 
+ 00029885  0x00007f4b hfetch  0x00000001 , 0x00008050 
+ 00029886  0x00007f4c set1  0x00000000 , 0x0000003f 
+ 00029887  0x00007f4d hstore  0x00000001 , 0x00008050 
+ 00029888  0x00007f4e rtn 
+ 00029889  0x00007f51 arg  0x00000886 , 0x00000005 
+ 00029890  0x00007f52 setsect  0x00000000 , 0x0003ffff 
+ 00029891  0x00007f53 setsect  0x00000001 , 0x0003ffff 
+ 00029892  0x00007f54 setsect  0x00000002 , 0x0003ffff 
+ 00029893  0x00007f55 setsect  0x00000003 , 0x0003fbff 
+ 00029894  0x00007f56 istore  0x00000009 , 0x00000005 
+ 00029895  0x00007f57 setsect  0x00000000 , 0x0003ffff 
+ 00029896  0x00007f58 setsect  0x00000001 , 0x0003ffff 
+ 00029897  0x00007f59 setsect  0x00000002 , 0x0003ffff 
+ 00029898  0x00007f5a setsect  0x00000003 , 0x0003ffff 
+ 00029899  0x00007f5b istore  0x00000009 , 0x00000005 
+ 00029900  0x00007f5c setsect  0x00000000 , 0x0003ffff 
+ 00029901  0x00007f5d setsect  0x00000001 , 0x0003ffff 
+ 00029902  0x00007f5e setsect  0x00000002 , 0x0003cfff 
+ 00029903  0x00007f5f setsect  0x00000003 , 0x0003ffff 
+ 00029904  0x00007f60 istore  0x00000009 , 0x00000005 
+ 00029905  0x00007f61 setsect  0x00000000 , 0x0003ffff 
+ 00029906  0x00007f62 setsect  0x00000001 , 0x0003ffff 
+ 00029907  0x00007f63 setsect  0x00000002 , 0x0003ffef 
+ 00029908  0x00007f64 setsect  0x00000003 , 0x0003ffff 
+ 00029909  0x00007f65 istore  0x00000009 , 0x00000005 
+ 00029910  0x00007f66 setsect  0x00000000 , 0x0003ffff 
+ 00029911  0x00007f67 setsect  0x00000001 , 0x0003ffff 
+ 00029912  0x00007f68 setsect  0x00000002 , 0x0003ffff 
+ 00029913  0x00007f69 setsect  0x00000003 , 0x0003ffff 
+ 00029914  0x00007f6a istore  0x00000009 , 0x00000005 
+ 00029915  0x00007f6b setsect  0x00000000 , 0x0003ffff 
+ 00029916  0x00007f6c setsect  0x00000001 , 0x00026c7f 
+ 00029917  0x00007f6d setsect  0x00000002 , 0x0000146b 
+ 00029918  0x00007f6e setsect  0x00000003 , 0x00037bb3 
+ 00029919  0x00007f6f istore  0x00000009 , 0x00000005 
+ 00029920  0x00007f70 setsect  0x00000000 , 0x0001feb8 
+ 00029921  0x00007f71 setsect  0x00000001 , 0x00010c12 
+ 00029922  0x00007f72 setsect  0x00000002 , 0x0002b722 
+ 00029923  0x00007f73 setsect  0x00000003 , 0x00029fa6 
+ 00029924  0x00007f74 istore  0x00000009 , 0x00000005 
+ 00029925  0x00007f75 setsect  0x00000000 , 0x0000e70f 
+ 00029926  0x00007f76 setsect  0x00000001 , 0x00016720 
+ 00029927  0x00007f77 setsect  0x00000002 , 0x0000519e 
+ 00029928  0x00007f78 setsect  0x00000003 , 0x00019084 
+ 00029929  0x00007f79 istore  0x00000009 , 0x00000005 
+ 00029930  0x00007f7a setsect  0x00000000 , 0x00031012 
+ 00029931  0x00007f7b setsect  0x00000001 , 0x000360bf 
+ 00029932  0x00007f7c setsect  0x00000002 , 0x0003f0af 
+ 00029933  0x00007f7d setsect  0x00000003 , 0x000003d3 
+ 00029934  0x00007f7e istore  0x00000009 , 0x00000005 
+ 00029935  0x00007f7f setsect  0x00000000 , 0x0003a188 
+ 00029936  0x00007f80 setsect  0x00000001 , 0x00003ad0 
+ 00029937  0x00007f81 setsect  0x00000002 , 0x0003cbf2 
+ 00029938  0x00007f82 setsect  0x00000003 , 0x000243d9 
+ 00029939  0x00007f83 istore  0x00000009 , 0x00000005 
+ 00029940  0x00007f84 setsect  0x00000000 , 0x0002b030 
+ 00029941  0x00007f85 setsect  0x00000001 , 0x00036a03 
+ 00029942  0x00007f86 setsect  0x00000002 , 0x00011188 
+ 00029943  0x00007f87 setsect  0x00000003 , 0x0001e520 
+ 00029944  0x00007f88 istore  0x00000009 , 0x00000005 
+ 00029945  0x00007f89 setsect  0x00000000 , 0x0003a11e 
+ 00029946  0x00007f8a setsect  0x00000001 , 0x0000fe5d 
+ 00029947  0x00007f8b setsect  0x00000002 , 0x0000dd57 
+ 00029948  0x00007f8c setsect  0x00000003 , 0x0001ac93 
+ 00029949  0x00007f8d istore  0x00000009 , 0x00000005 
+ 00029950  0x00007f8e setsect  0x00000000 , 0x000011ed 
+ 00029951  0x00007f8f setsect  0x00000001 , 0x000218c4 
+ 00029952  0x00007f90 setsect  0x00000002 , 0x00008da7 
+ 00029953  0x00007f91 setsect  0x00000003 , 0x000257ff 
+ 00029954  0x00007f92 istore  0x00000009 , 0x00000005 
+ 00029955  0x00007f93 setsect  0x00000000 , 0x0003192b 
+ 00029956  0x00007f94 setsect  0x00000001 , 0x00034641 
+ 00029957  0x00007f95 setsect  0x00000002 , 0x0001be0c 
+ 00029958  0x00007f96 setsect  0x00000003 , 0x000366ad 
+ 00029959  0x00007f97 istore  0x00000009 , 0x00000005 
+ 00029960  0x00007f98 setsect  0x00000000 , 0x00001f83 
+ 00029961  0x00007f99 setsect  0x00000001 , 0x00015a23 
+ 00029962  0x00007f9a setsect  0x00000002 , 0x0003f9b0 
+ 00029963  0x00007f9b setsect  0x00000003 , 0x00003949 
+ 00029964  0x00007f9c istore  0x00000009 , 0x00000005 
+ 00029965  0x00007f9d setsect  0x00000000 , 0x00013a51 
+ 00029966  0x00007f9e setsect  0x00000001 , 0x000153fd 
+ 00029967  0x00007f9f setsect  0x00000002 , 0x0003372a 
+ 00029968  0x00007fa0 setsect  0x00000003 , 0x0000f1bb 
+ 00029969  0x00007fa1 istore  0x00000009 , 0x00000005 
+ 00029970  0x00007fa2 setsect  0x00000000 , 0x0003ae85 
+ 00029971  0x00007fa3 setsect  0x00000001 , 0x0001eed9 
+ 00029972  0x00007fa4 setsect  0x00000002 , 0x00009e66 
+ 00029973  0x00007fa5 setsect  0x00000003 , 0x000001a8 
+ 00029974  0x00007fa6 istore  0x00000008 , 0x00000005 
+ 00029975  0x00007fa7 rtn 
+ 00029976  0x00007fac arg  0x0000091e , 0x00000005 
+ 00029977  0x00007fad setsect  0x00000000 , 0x0003ffff 
+ 00029978  0x00007fae setsect  0x00000001 , 0x0003ffff 
+ 00029979  0x00007faf setsect  0x00000002 , 0x0003ffff 
+ 00029980  0x00007fb0 setsect  0x00000003 , 0x0003ffff 
+ 00029981  0x00007fb1 istore  0x00000009 , 0x00000005 
+ 00029982  0x00007fb2 setsect  0x00000000 , 0x0003ffff 
+ 00029983  0x00007fb3 setsect  0x00000001 , 0x0000003f 
+ 00029984  0x00007fb4 setsect  0x00000002 , 0x00000000 
+ 00029985  0x00007fb5 setsect  0x00000003 , 0x00000000 
+ 00029986  0x00007fb6 istore  0x00000009 , 0x00000005 
+ 00029987  0x00007fb7 setsect  0x00000000 , 0x00000000 
+ 00029988  0x00007fb8 setsect  0x00000001 , 0x00000000 
+ 00029989  0x00007fb9 setsect  0x00000002 , 0x00001000 
+ 00029990  0x00007fba setsect  0x00000003 , 0x00000000 
+ 00029991  0x00007fbb istore  0x00000009 , 0x00000005 
+ 00029992  0x00007fbc setsect  0x00000000 , 0x0003ff00 
+ 00029993  0x00007fbd setsect  0x00000001 , 0x0003ffff 
+ 00029994  0x00007fbe setsect  0x00000002 , 0x0003ffcf 
+ 00029995  0x00007fbf setsect  0x00000003 , 0x0003ffff 
+ 00029996  0x00007fc0 istore  0x00000009 , 0x00000005 
+ 00029997  0x00007fc1 setsect  0x00000000 , 0x0003ffff 
+ 00029998  0x00007fc2 setsect  0x00000001 , 0x0003ffff 
+ 00029999  0x00007fc3 setsect  0x00000002 , 0x0003ffff 
+ 00030000  0x00007fc4 setsect  0x00000003 , 0x000003ff 
+ 00030001  0x00007fc5 istore  0x00000009 , 0x00000005 
+ 00030002  0x00007fc6 setsect  0x00000000 , 0x00000000 
+ 00030003  0x00007fc7 setsect  0x00000001 , 0x00000000 
+ 00030004  0x00007fc8 setsect  0x00000002 , 0x00000000 
+ 00030005  0x00007fc9 setsect  0x00000003 , 0x00000000 
+ 00030006  0x00007fca istore  0x00000009 , 0x00000005 
+ 00030007  0x00007fcb setsect  0x00000000 , 0x00010000 
+ 00030008  0x00007fcc setsect  0x00000001 , 0x00000000 
+ 00030009  0x00007fcd setsect  0x00000002 , 0x0003f000 
+ 00030010  0x00007fce setsect  0x00000003 , 0x0003ffff 
+ 00030011  0x00007fcf istore  0x00000009 , 0x00000005 
+ 00030012  0x00007fd0 setsect  0x00000000 , 0x000296ff 
+ 00030013  0x00007fd1 setsect  0x00000001 , 0x00022630 
+ 00030014  0x00007fd2 setsect  0x00000002 , 0x0003945d 
+ 00030015  0x00007fd3 setsect  0x00000003 , 0x0003d284 
+ 00030016  0x00007fd4 istore  0x00000009 , 0x00000005 
+ 00030017  0x00007fd5 setsect  0x00000000 , 0x000333a0 
+ 00030018  0x00007fd6 setsect  0x00000001 , 0x00004b7a 
+ 00030019  0x00007fd7 setsect  0x00000002 , 0x000037d8 
+ 00030020  0x00007fd8 setsect  0x00000003 , 0x0003c9dc 
+ 00030021  0x00007fd9 istore  0x00000009 , 0x00000005 
+ 00030022  0x00007fda setsect  0x00000000 , 0x0003a440 
+ 00030023  0x00007fdb setsect  0x00000001 , 0x0001b958 
+ 00030024  0x00007fdc setsect  0x00000002 , 0x00038bce 
+ 00030025  0x00007fdd setsect  0x00000003 , 0x0001091f 
+ 00030026  0x00007fde istore  0x00000009 , 0x00000005 
+ 00030027  0x00007fdf setsect  0x00000000 , 0x0002e12c 
+ 00030028  0x00007fe0 setsect  0x00000001 , 0x0001f47c 
+ 00030029  0x00007fe1 setsect  0x00000002 , 0x000356b1 
+ 00030030  0x00007fe2 setsect  0x00000003 , 0x0002fd47 
+ 00030031  0x00007fe3 istore  0x00000009 , 0x00000005 
+ 00030032  0x00007fe4 setsect  0x00000000 , 0x00006837 
+ 00030033  0x00007fe5 setsect  0x00000001 , 0x0002ed90 
+ 00030034  0x00007fe6 setsect  0x00000002 , 0x0001ecec 
+ 00030035  0x00007fe7 setsect  0x00000003 , 0x0001acc5 
+ 00030036  0x00007fe8 istore  0x00000009 , 0x00000005 
+ 00030037  0x00007fe9 setsect  0x00000000 , 0x00023357 
+ 00030038  0x00007fea setsect  0x00000001 , 0x00018af3 
+ 00030039  0x00007feb setsect  0x00000002 , 0x0000f9e1 
+ 00030040  0x00007fec setsect  0x00000003 , 0x000129f0 
+ 00030041  0x00007fed istore  0x00000009 , 0x00000005 
+ 00030042  0x00007fee setsect  0x00000000 , 0x0002e7eb 
+ 00030043  0x00007fef setsect  0x00000001 , 0x0003e6e3 
+ 00030044  0x00007ff0 setsect  0x00000002 , 0x0003e1a7 
+ 00030045  0x00007ff1 setsect  0x00000003 , 0x00010b8b 
+ 00030046  0x00007ff2 istore  0x00000009 , 0x00000005 
+ 00030047  0x00007ff3 setsect  0x00000000 , 0x00024fe3 
+ 00030048  0x00007ff4 setsect  0x00000001 , 0x000020ef 
+ 00030049  0x00007ff5 setsect  0x00000002 , 0x0001b5a6 
+ 00030050  0x00007ff6 setsect  0x00000003 , 0x0000dc2f 
+ 00030051  0x00007ff7 istore  0x00000009 , 0x00000005 
+ 00030052  0x00007ff8 setsect  0x00000000 , 0x00013860 
+ 00030053  0x00007ff9 setsect  0x00000001 , 0x0002bd69 
+ 00030054  0x00007ffa setsect  0x00000002 , 0x0000391a 
+ 00030055  0x00007ffb setsect  0x00000003 , 0x0001b222 
+ 00030056  0x00007ffc istore  0x00000009 , 0x00000005 
+ 00030057  0x00007ffd rtn 
+ 00030058  0x00008001 fetch  0x00000001 , 0x0000465a 
+ 00030059  0x00008002 nbranch  0x0000757d , 0x00000034 
+ 00030060  0x00008003 branch  0x00007a77 
+ 00030061  0x00008006 bpatchx  0x000000e4 , 0x0000403c 
+ 00030062  0x00008007 fetch  0x00000001 , 0x0000465a 
+ 00030063  0x00008008 rtn  0x00000034 
+ 00030064  0x00008009 fetch  0x00000001 , 0x000045b1 
+ 00030065  0x0000800a rtnne  0x00000001 
+ 00030066  0x0000800b fetch  0x00000001 , 0x000044be 
+ 00030067  0x0000800c rtn  0x00000034 
+ 00030068  0x0000800d fetch  0x00000001 , 0x000044c3 
+ 00030069  0x0000800e rtneq  0x00000003 
+ 00030070  0x0000800f fetch  0x00000002 , 0x00004682 
+ 00030071  0x00008010 bbit1  0x00000000 , 0x0000757b 
+ 00030072  0x00008011 fetch  0x00000001 , 0x000044c0 
+ 00030073  0x00008012 beq  0x00000000 , 0x00007a77 
+ 00030074  0x00008013 rtn 
+ 00030075  0x00008015 jam  0x00000000 , 0x000044c0 
+ 00030076  0x00008016 rtn 
+ 00030077  0x0000801a bpatchx  0x000000e5 , 0x0000403c 
+ 00030078  0x0000801b fetch  0x00000001 , 0x0000465a 
+ 00030079  0x0000801c branch  0x0000612b , 0x00000034 
+ 00030080  0x0000801d call  0x00006124 
+ 00030081  0x0000801e call  0x00007583 
+ 00030082  0x0000801f branch  0x0000766d 
+ 00030083  0x00008022 setarg  0x00000000 
+ 00030084  0x00008023 store  0x00000008 , 0x000009ae 
+ 00030085  0x00008024 store  0x00000004 , 0x000009b6 
+ 00030086  0x00008025 store  0x00000007 , 0x0000465e 
+ 00030087  0x00008026 rtn 
+ 00030088  0x00008029 jam  0x00000001 , 0x000009b0 
+ 00030089  0x0000802a branch  0x0000758d 
+ 00030090  0x0000802c fetch  0x00000001 , 0x000045b1 
+ 00030091  0x0000802d beq  0x00000001 , 0x0000768a 
+ 00030092  0x0000802e branch  0x00002a8c 
+ 00030093  0x00008030 fetch  0x00000001 , 0x000045b1 
+ 00030094  0x00008031 beq  0x00000001 , 0x00007590 
+ 00030095  0x00008032 branch  0x0000766d 
+ 00030096  0x00008035 call  0x0000768a 
+ 00030097  0x00008036 fetch  0x00000001 , 0x000009af 
+ 00030098  0x00008037 nrtn  0x00000034 
+ 00030099  0x00008038 jam  0x00000003 , 0x000009ae 
+ 00030100  0x00008039 rtn 
+ 00030101  0x0000803d call  0x000075b0 
+ 00030102  0x0000803e arg  0x000009de , 0x00000011 
+ 00030103  0x0000803f arg  0x00000866 , 0x00000005 
+ 00030104  0x00008040 call  0x00007c79 
+ 00030105  0x00008041 arg  0x000009be , 0x00000011 
+ 00030106  0x00008042 arg  0x00000826 , 0x00000005 
+ 00030107  0x00008043 call  0x00007c79 
+ 00030108  0x00008044 arg  0x00000826 , 0x00000011 
+ 00030109  0x00008045 arg  0x000009be , 0x00000012 
+ 00030110  0x00008046 arg  0x00000826 , 0x00000005 
+ 00030111  0x00008047 call  0x00007be1 
+ 00030112  0x00008048 arg  0x0000093e , 0x00000011 
+ 00030113  0x00008049 arg  0x000009be , 0x00000012 
+ 00030114  0x0000804a arg  0x00000846 , 0x00000005 
+ 00030115  0x0000804b call  0x00007be1 
+ 00030116  0x0000804c arg  0x00000846 , 0x00000011 
+ 00030117  0x0000804d arg  0x00000826 , 0x00000012 
+ 00030118  0x0000804e arg  0x00000826 , 0x00000005 
+ 00030119  0x0000804f call  0x00007c7d 
+ 00030120  0x00008050 arg  0x00000806 , 0x00000011 
+ 00030121  0x00008051 arg  0x00000826 , 0x00000012 
+ 00030122  0x00008052 arg  0x00000806 , 0x00000005 
+ 00030123  0x00008053 call  0x00007c7d 
+ 00030124  0x00008054 arg  0x00000020 , 0x00000039 
+ 00030125  0x00008055 arg  0x00000866 , 0x00000011 
+ 00030126  0x00008056 arg  0x00000806 , 0x00000012 
+ 00030127  0x00008057 branch  0x00007f88 
+ 00030128  0x0000805a arg  0x0000097e , 0x00000011 
+ 00030129  0x0000805b arg  0x00000806 , 0x00000005 
+ 00030130  0x0000805c call  0x00007c79 
+ 00030131  0x0000805d arg  0x0000095e , 0x00000011 
+ 00030132  0x0000805e arg  0x00000826 , 0x00000005 
+ 00030133  0x0000805f call  0x00007c79 
+ 00030134  0x00008060 arg  0x00000826 , 0x00000011 
+ 00030135  0x00008061 arg  0x0000095e , 0x00000012 
+ 00030136  0x00008062 arg  0x00000826 , 0x00000005 
+ 00030137  0x00008063 call  0x00007be1 
+ 00030138  0x00008064 arg  0x0000093e , 0x00000011 
+ 00030139  0x00008065 arg  0x0000095e , 0x00000012 
+ 00030140  0x00008066 arg  0x00000846 , 0x00000005 
+ 00030141  0x00008067 call  0x00007be1 
+ 00030142  0x00008068 arg  0x00000846 , 0x00000011 
+ 00030143  0x00008069 arg  0x00000826 , 0x00000012 
+ 00030144  0x0000806a arg  0x00000826 , 0x00000005 
+ 00030145  0x0000806b call  0x00007c7d 
+ 00030146  0x0000806c arg  0x00000806 , 0x00000011 
+ 00030147  0x0000806d arg  0x00000826 , 0x00000012 
+ 00030148  0x0000806e arg  0x00000806 , 0x00000005 
+ 00030149  0x0000806f branch  0x00007c96 
+ 00030150  0x00008072 call  0x000075e1 
+ 00030151  0x00008073 arg  0x000009e6 , 0x00000011 
+ 00030152  0x00008074 arg  0x00000866 , 0x00000005 
+ 00030153  0x00008075 call  0x000077a8 
+ 00030154  0x00008076 arg  0x000009c6 , 0x00000011 
+ 00030155  0x00008077 arg  0x00000826 , 0x00000005 
+ 00030156  0x00008078 call  0x000077a8 
+ 00030157  0x00008079 arg  0x00000826 , 0x00000011 
+ 00030158  0x0000807a arg  0x000009c6 , 0x00000012 
+ 00030159  0x0000807b arg  0x00000826 , 0x00000005 
+ 00030160  0x0000807c call  0x00007786 
+ 00030161  0x0000807d arg  0x0000089e , 0x00000011 
+ 00030162  0x0000807e arg  0x000009c6 , 0x00000012 
+ 00030163  0x0000807f arg  0x00000846 , 0x00000005 
+ 00030164  0x00008080 call  0x00007786 
+ 00030165  0x00008081 arg  0x00000846 , 0x00000011 
+ 00030166  0x00008082 arg  0x00000826 , 0x00000012 
+ 00030167  0x00008083 arg  0x00000826 , 0x00000005 
+ 00030168  0x00008084 call  0x00007755 
+ 00030169  0x00008085 arg  0x00000806 , 0x00000011 
+ 00030170  0x00008086 arg  0x00000826 , 0x00000012 
+ 00030171  0x00008087 arg  0x00000806 , 0x00000005 
+ 00030172  0x00008088 call  0x00007755 
+ 00030173  0x00008089 arg  0x00000018 , 0x00000039 
+ 00030174  0x0000808a arg  0x00000866 , 0x00000011 
+ 00030175  0x0000808b arg  0x00000806 , 0x00000012 
+ 00030176  0x0000808c branch  0x00007f88 
+ 00030177  0x0000808f arg  0x000008e6 , 0x00000011 
+ 00030178  0x00008090 arg  0x00000806 , 0x00000005 
+ 00030179  0x00008091 call  0x000077a8 
+ 00030180  0x00008092 arg  0x000008ce , 0x00000011 
+ 00030181  0x00008093 arg  0x00000826 , 0x00000005 
+ 00030182  0x00008094 call  0x000077a8 
+ 00030183  0x00008095 arg  0x00000826 , 0x00000011 
+ 00030184  0x00008096 arg  0x000008ce , 0x00000012 
+ 00030185  0x00008097 arg  0x00000826 , 0x00000005 
+ 00030186  0x00008098 call  0x00007786 
+ 00030187  0x00008099 arg  0x0000089e , 0x00000011 
+ 00030188  0x0000809a arg  0x000008ce , 0x00000012 
+ 00030189  0x0000809b arg  0x00000846 , 0x00000005 
+ 00030190  0x0000809c call  0x00007786 
+ 00030191  0x0000809d arg  0x00000846 , 0x00000011 
+ 00030192  0x0000809e arg  0x00000826 , 0x00000012 
+ 00030193  0x0000809f arg  0x00000826 , 0x00000005 
+ 00030194  0x000080a0 call  0x00007755 
+ 00030195  0x000080a1 arg  0x00000806 , 0x00000011 
+ 00030196  0x000080a2 arg  0x00000826 , 0x00000012 
+ 00030197  0x000080a3 arg  0x00000806 , 0x00000005 
+ 00030198  0x000080a4 branch  0x00007758 
+ 00030199  0x000080a8 fetch  0x00000001 , 0x000009b2 
+ 00030200  0x000080a9 bne  0x00000000 , 0x00007615 
+ 00030201  0x000080aa call  0x00007612 
+ 00030202  0x000080ab arg  0x00000a7e , 0x00000005 
+ 00030203  0x000080ac setarg  0x00000a2e 
+ 00030204  0x000080ad istore  0x00000002 , 0x00000005 
+ 00030205  0x000080ae setarg  0x00004642 
+ 00030206  0x000080af istore  0x00000002 , 0x00000005 
+ 00030207  0x000080b0 setarg  0x000009de 
+ 00030208  0x000080b1 istore  0x00000002 , 0x00000005 
+ 00030209  0x000080b2 branch  0x00007609 
+ 00030210  0x000080b4 arg  0x00000a7e , 0x00000005 
+ 00030211  0x000080b5 setarg  0x00000a3e 
+ 00030212  0x000080b6 istore  0x00000002 , 0x00000005 
+ 00030213  0x000080b7 setarg  0x000009de 
+ 00030214  0x000080b8 istore  0x00000002 , 0x00000005 
+ 00030215  0x000080b9 setarg  0x00004642 
+ 00030216  0x000080ba istore  0x00000002 , 0x00000005 
+ 00030217  0x000080bc call  0x000079a0 
+ 00030218  0x000080bd fetch  0x00000001 , 0x000009af 
+ 00030219  0x000080be beq  0x00000004 , 0x0000760f 
+ 00030220  0x000080bf jam  0x00000001 , 0x000009b0 
+ 00030221  0x000080c0 jam  0x00000005 , 0x000009ae 
+ 00030222  0x000080c1 rtn 
+ 00030223  0x000080c3 jam  0x00000014 , 0x000009af 
+ 00030224  0x000080c4 call  0x0000758a 
+ 00030225  0x000080c5 branch  0x000076d8 
+ 00030226  0x000080c8 arg  0x00000a1e , 0x00000005 
+ 00030227  0x000080c9 force  0x00000008 , 0x00000007 
+ 00030228  0x000080ca branch  0x000076a2 
+ 00030229  0x000080cd jam  0x00000001 , 0x000009b0 
+ 00030230  0x000080ce rtn 
+ 00030231  0x000080d2 bpatchx  0x000000e6 , 0x0000403c 
+ 00030232  0x000080d3 arg  0x00000727 , 0x00000005 
+ 00030233  0x000080d4 fetch  0x00000006 , 0x000040a0 
+ 00030234  0x000080d5 istore  0x00000006 , 0x00000005 
+ 00030235  0x000080d6 fetch  0x00000006 , 0x00000040 
+ 00030236  0x000080d7 istore  0x00000006 , 0x00000005 
+ 00030237  0x000080d8 fetch  0x00000003 , 0x0000465e 
+ 00030238  0x000080d9 istore  0x00000003 , 0x00000005 
+ 00030239  0x000080db call  0x00007a0d 
+ 00030240  0x000080dd arg  0x00000a4e , 0x00000011 
+ 00030241  0x000080de arg  0x00000a5e , 0x00000012 
+ 00030242  0x000080df force  0x00000004 , 0x00000007 
+ 00030243  0x000080e0 call  0x000076a7 
+ 00030244  0x000080e1 nbranch  0x00007631 , 0x00000001 
+ 00030245  0x000080e3 call  0x00007628 
+ 00030246  0x000080e4 jam  0x00000041 , 0x0000007d 
+ 00030247  0x000080e5 branch  0x000062f8 
+ 00030248  0x000080e8 fetch  0x00000001 , 0x000009af 
+ 00030249  0x000080e9 beq  0x00000009 , 0x0000762e 
+ 00030250  0x000080ea jam  0x0000000a , 0x000009ae 
+ 00030251  0x000080eb jam  0x00000001 , 0x000009b0 
+ 00030252  0x000080ec jam  0x00000003 , 0x0000007c 
+ 00030253  0x000080ed rtn 
+ 00030254  0x000080ef jam  0x00000003 , 0x0000007c 
+ 00030255  0x000080f0 jam  0x00000015 , 0x000009af 
+ 00030256  0x000080f1 branch  0x000076d8 
+ 00030257  0x000080f5 fetch  0x00000001 , 0x000009af 
+ 00030258  0x000080f6 beq  0x00000009 , 0x00007637 
+ 00030259  0x000080f7 jam  0x00000000 , 0x000009ae 
+ 00030260  0x000080f8 jam  0x00000004 , 0x0000007c 
+ 00030261  0x000080fa jam  0x00000005 , 0x0000007e 
+ 00030262  0x000080fb rtn 
+ 00030263  0x000080fd jam  0x00000004 , 0x0000007c 
+ 00030264  0x000080fe jam  0x00000000 , 0x000009af 
+ 00030265  0x000080ff rtn 
+ 00030266  0x00008102 fetch  0x00000001 , 0x000009b3 
+ 00030267  0x00008103 beq  0x00000001 , 0x0000763e 
+ 00030268  0x00008104 jam  0x0000000a , 0x000009af 
+ 00030269  0x00008105 branch  0x000076d8 
+ 00030270  0x00008107 arg  0x00000727 , 0x00000005 
+ 00030271  0x00008108 fetch  0x00000006 , 0x00000040 
+ 00030272  0x00008109 istore  0x00000006 , 0x00000005 
+ 00030273  0x0000810a fetch  0x00000006 , 0x000040a0 
+ 00030274  0x0000810b istore  0x00000006 , 0x00000005 
+ 00030275  0x0000810c fetch  0x00000003 , 0x0000465b 
+ 00030276  0x0000810d istore  0x00000003 , 0x00000005 
+ 00030277  0x0000810f call  0x00007a24 
+ 00030278  0x00008110 fetch  0x00000001 , 0x000009af 
+ 00030279  0x00008111 beq  0x0000000a , 0x0000764b 
+ 00030280  0x00008112 jam  0x0000000b , 0x000009ae 
+ 00030281  0x00008113 jam  0x00000001 , 0x000009b0 
+ 00030282  0x00008114 rtn 
+ 00030283  0x00008116 jam  0x0000000b , 0x000009af 
+ 00030284  0x00008117 jam  0x00000001 , 0x000009b1 
+ 00030285  0x00008118 rtn 
+ 00030286  0x0000811b arg  0x00000a7e , 0x00000005 
+ 00030287  0x0000811c fetch  0x00000006 , 0x00000040 
+ 00030288  0x0000811d istore  0x00000006 , 0x00000005 
+ 00030289  0x0000811e fetch  0x00000006 , 0x000040a0 
+ 00030290  0x0000811f istore  0x00000006 , 0x00000005 
+ 00030291  0x00008120 setarg  0x00000a2e 
+ 00030292  0x00008121 istore  0x00000002 , 0x00000005 
+ 00030293  0x00008122 setarg  0x00000a3e 
+ 00030294  0x00008123 istore  0x00000002 , 0x00000005 
+ 00030295  0x00008124 branch  0x00007662 
+ 00030296  0x00008126 jam  0x0000000f , 0x000009ae 
+ 00030297  0x00008127 arg  0x00000a7e , 0x00000005 
+ 00030298  0x00008128 fetch  0x00000006 , 0x000040a0 
+ 00030299  0x00008129 istore  0x00000006 , 0x00000005 
+ 00030300  0x0000812a fetch  0x00000006 , 0x00000040 
+ 00030301  0x0000812b istore  0x00000006 , 0x00000005 
+ 00030302  0x0000812c setarg  0x00000a3e 
+ 00030303  0x0000812d istore  0x00000002 , 0x00000005 
+ 00030304  0x0000812e setarg  0x00000a2e 
+ 00030305  0x0000812f istore  0x00000002 , 0x00000005 
+ 00030306  0x00008132 arg  0x00000727 , 0x00000005 
+ 00030307  0x00008133 fetch  0x00000006 , 0x00000a7e 
+ 00030308  0x00008134 istore  0x00000006 , 0x00000005 
+ 00030309  0x00008135 fetch  0x00000006 , 0x00000a84 
+ 00030310  0x00008136 istore  0x00000006 , 0x00000005 
+ 00030311  0x00008138 call  0x000079d7 
+ 00030312  0x0000813b jam  0x00000001 , 0x000041bd 
+ 00030313  0x0000813c arg  0x000041be , 0x00000005 
+ 00030314  0x0000813d arg  0x00000a4e , 0x00000006 
+ 00030315  0x0000813e call  0x00007ebf 
+ 00030316  0x0000813f branch  0x000021c4 
+ 00030317  0x00008143 bpatchx  0x000000e7 , 0x0000403c 
+ 00030318  0x00008144 fetch  0x00000001 , 0x000045b1 
+ 00030319  0x00008145 rtnne  0x00000000 
+ 00030320  0x00008146 fetch  0x00000001 , 0x000009b2 
+ 00030321  0x00008147 rtnne  0x00000000 
+ 00030322  0x00008148 arg  0x00004612 , 0x00000005 
+ 00030323  0x00008149 force  0x0000000b , 0x00000007 
+ 00030324  0x0000814a call  0x000076a2 
+ 00030325  0x0000814b random  0x0000003f 
+ 00030326  0x0000814c rshift  0x0000003f , 0x0000003f 
+ 00030327  0x0000814d istore  0x00000002 , 0x00000005 
+ 00030328  0x0000814f arg  0x000006be , 0x00000005 
+ 00030329  0x00008150 arg  0x00004612 , 0x00000006 
+ 00030330  0x00008151 call  0x00007ebe 
+ 00030331  0x00008153 arg  0x000005e6 , 0x00000005 
+ 00030332  0x00008154 arg  0x000008ce , 0x00000006 
+ 00030333  0x00008155 call  0x00007ebc 
+ 00030334  0x00008157 arg  0x00000616 , 0x00000005 
+ 00030335  0x00008158 call  0x00007ec5 
+ 00030336  0x00008159 jam  0x00000001 , 0x00000616 
+ 00030337  0x0000815b call  0x00007a5d 
+ 00030338  0x0000815c jam  0x00000001 , 0x000009b2 
+ 00030339  0x0000815d rtn 
+ 00030340  0x00008160 arg  0x0000462a , 0x00000005 
+ 00030341  0x00008161 arg  0x0000062e , 0x00000006 
+ 00030342  0x00008162 call  0x00007ebc 
+ 00030343  0x00008163 jam  0x00000001 , 0x000045b1 
+ 00030344  0x00008164 jam  0x00000000 , 0x000009b2 
+ 00030345  0x00008165 rtn 
+ 00030346  0x00008168 bpatchx  0x000000e8 , 0x0000403d 
+ 00030347  0x00008169 fetch  0x00000001 , 0x000009b9 
+ 00030348  0x0000816a rtnne  0x00000000 
+ 00030349  0x0000816b fetch  0x00000001 , 0x000009b2 
+ 00030350  0x0000816c rtnne  0x00000000 
+ 00030351  0x0000816e arg  0x000006be , 0x00000005 
+ 00030352  0x0000816f arg  0x00004612 , 0x00000006 
+ 00030353  0x00008170 call  0x00007ebe 
+ 00030354  0x00008172 arg  0x000005e6 , 0x00000005 
+ 00030355  0x00008173 arg  0x000009c6 , 0x00000006 
+ 00030356  0x00008174 call  0x00007ebc 
+ 00030357  0x00008176 arg  0x00000616 , 0x00000005 
+ 00030358  0x00008177 call  0x00007ec5 
+ 00030359  0x00008178 jam  0x00000001 , 0x00000616 
+ 00030360  0x0000817a call  0x00007a5d 
+ 00030361  0x0000817b jam  0x00000002 , 0x000009b2 
+ 00030362  0x0000817c rtn 
+ 00030363  0x0000817f jam  0x00000001 , 0x000009b3 
+ 00030364  0x00008180 arg  0x00000a06 , 0x00000005 
+ 00030365  0x00008181 arg  0x0000062e , 0x00000006 
+ 00030366  0x00008182 call  0x00007ebe 
+ 00030367  0x00008183 jam  0x00000001 , 0x000009b9 
+ 00030368  0x00008184 jam  0x00000000 , 0x000009b2 
+ 00030369  0x00008185 rtn 
+ 00030370  0x00008188 increase  0xffffffff , 0x00000007 
+ 00030371  0x00008189 nrtn  0x00000002 
+ 00030372  0x0000818a random  0x0000003f 
+ 00030373  0x0000818b istore  0x00000002 , 0x00000005 
+ 00030374  0x0000818c branch  0x000076a2 
+ 00030375  0x0000818e increase  0xffffffff , 0x00000007 
+ 00030376  0x0000818f nbranch  0x000076b3 , 0x00000002 
+ 00030377  0x00008190 ifetch  0x00000004 , 0x00000011 
+ 00030378  0x00008191 copy  0x0000003f , 0x00000002 
+ 00030379  0x00008192 ifetch  0x00000004 , 0x00000012 
+ 00030380  0x00008193 iflip  0x00000002 , 0x0000003f 
+ 00030381  0x00008194 nbranch  0x000076b1 , 0x00000005 
+ 00030382  0x00008195 increase  0x00000004 , 0x00000011 
+ 00030383  0x00008196 increase  0x00000004 , 0x00000012 
+ 00030384  0x00008197 branch  0x000076a7 
+ 00030385  0x00008199 disable  0x00000001 
+ 00030386  0x0000819a rtn 
+ 00030387  0x0000819c enable  0x00000001 
+ 00030388  0x0000819d rtn 
+ 00030389  0x000081a5 bpatchx  0x000000e9 , 0x0000403d 
+ 00030390  0x000081a6 fetch  0x00000001 , 0x000009b0 
+ 00030391  0x000081a7 rtn  0x00000034 
+ 00030392  0x000081a8 call  0x000062bc 
+ 00030393  0x000081a9 nrtn  0x00000034 
+ 00030394  0x000081aa jam  0x00000000 , 0x000009b0 
+ 00030395  0x000081ab fetch  0x00000001 , 0x000009ae 
+ 00030396  0x000081ac beq  0x00000003 , 0x000061fd 
+ 00030397  0x000081ad beq  0x00000005 , 0x0000621a 
+ 00030398  0x000081ae beq  0x00000007 , 0x00006225 
+ 00030399  0x000081af beq  0x0000000b , 0x0000623a 
+ 00030400  0x000081b0 beq  0x00000002 , 0x00007588 
+ 00030401  0x000081b1 beq  0x00000004 , 0x000075f7 
+ 00030402  0x000081b2 beq  0x00000009 , 0x00007617 
+ 00030403  0x000081b3 beq  0x0000000a , 0x0000763a 
+ 00030404  0x000081b4 beq  0x0000000c , 0x00007658 
+ 00030405  0x000081b6 rtn 
+ 00030406  0x000081b9 bpatchx  0x000000ea , 0x0000403d 
+ 00030407  0x000081ba fetch  0x00000001 , 0x000009b1 
+ 00030408  0x000081bb rtn  0x00000034 
+ 00030409  0x000081bc call  0x000062bc 
+ 00030410  0x000081bd nrtn  0x00000034 
+ 00030411  0x000081be jam  0x00000000 , 0x000009b1 
+ 00030412  0x000081bf fetch  0x00000001 , 0x000009af 
+ 00030413  0x000081c0 beq  0x00000012 , 0x000061e0 
+ 00030414  0x000081c1 beq  0x00000013 , 0x000061e5 
+ 00030415  0x000081c2 beq  0x00000003 , 0x000061e9 
+ 00030416  0x000081c3 beq  0x00000004 , 0x00007602 
+ 00030417  0x000081c4 beq  0x00000014 , 0x000061ed 
+ 00030418  0x000081c5 beq  0x00000007 , 0x000061fb 
+ 00030419  0x000081c6 beq  0x0000000a , 0x0000763a 
+ 00030420  0x000081c7 beq  0x0000000b , 0x00006239 
+ 00030421  0x000081c8 beq  0x00000009 , 0x00007617 
+ 00030422  0x000081c9 beq  0x00000015 , 0x00006233 
+ 00030423  0x000081ca rtn 
+ 00030424  0x000081cd jam  0x00000001 , 0x000009b1 
+ 00030425  0x000081ce rtn 
+ 00030426  0x000081d1 jam  0x00000000 , 0x000009b1 
+ 00030427  0x000081d2 rtn 
+ 00030428  0x000081d4 bpatchx  0x000000eb , 0x0000403d 
+ 00030429  0x000081d5 fetch  0x00000001 , 0x0000465a 
+ 00030430  0x000081d6 rtn  0x00000034 
+ 00030431  0x000081d7 fetch  0x00000001 , 0x000009b2 
+ 00030432  0x000081d8 rtn  0x00000034 
+ 00030433  0x000081d9 increase  0x00000080 , 0x0000003f 
+ 00030434  0x000081da store  0x00000001 , 0x000009b2 
+ 00030435  0x000081db rtnbit1  0x00000007 
+ 00030436  0x000081dc fetch  0x00000001 , 0x000005e3 
+ 00030437  0x000081dd branch  0x000076e7 , 0x00000034 
+ 00030438  0x000081de branch  0x00007a68 
+ 00030439  0x000081e1 call  0x000078d3 
+ 00030440  0x000081e2 fetch  0x00000001 , 0x000009b2 
+ 00030441  0x000081e3 beq  0x00000001 , 0x00007684 
+ 00030442  0x000081e4 beq  0x00000002 , 0x0000769b 
+ 00030443  0x000081e5 rtn 
+ 00030444  0x000081e9 and  0x0000003f , 0x00000007 , 0x00000007 
+ 00030445  0x000081ea rshift3  0x0000003f , 0x0000003f 
+ 00030446  0x000081eb iadd  0x00000006 , 0x00000006 
+ 00030447  0x000081ec ifetch  0x00000001 , 0x00000006 
+ 00030448  0x000081ed qisolate0  0x0000003f 
+ 00030449  0x000081ee rtn 
+ 00030450  0x000081f2 call  0x00007ebe 
+ 00030451  0x000081f3 call  0x00007ebe 
+ 00030452  0x000081f4 branch  0x00007ebe 
+ 00030453  0x000081f8 ifetch  0x00000008 , 0x00000006 
+ 00030454  0x000081f9 nrtn  0x00000034 
+ 00030455  0x000081fa ifetch  0x00000008 , 0x00000006 
+ 00030456  0x000081fb nrtn  0x00000034 
+ 00030457  0x000081fc ifetch  0x00000008 , 0x00000006 
+ 00030458  0x000081fd rtn 
+ 00030459  0x00008203 ifetch  0x00000004 , 0x00000011 
+ 00030460  0x00008204 iforce  0x00000002 
+ 00030461  0x00008205 ifetch  0x00000004 , 0x00000012 
+ 00030462  0x00008206 isub  0x00000002 , 0x0000003e 
+ 00030463  0x00008207 nrtn  0x00000005 
+ 00030464  0x00008208 increase  0x00000004 , 0x00000011 
+ 00030465  0x00008209 increase  0x00000004 , 0x00000012 
+ 00030466  0x0000820a loop  0x000076fb 
+ 00030467  0x0000820b rtn 
+ 00030468  0x0000820f force  0x00000006 , 0x00000039 
+ 00030469  0x00008210 increase  0x00000014 , 0x00000011 
+ 00030470  0x00008211 increase  0x00000014 , 0x00000012 
+ 00030471  0x00008213 ifetch  0x00000004 , 0x00000012 
+ 00030472  0x00008214 iforce  0x00000002 
+ 00030473  0x00008215 ifetch  0x00000004 , 0x00000011 
+ 00030474  0x00008216 isub  0x00000002 , 0x0000003f 
+ 00030475  0x00008217 nrtn  0x00000002 
+ 00030476  0x00008218 nrtn  0x00000034 
+ 00030477  0x00008219 increase  0xfffffffc , 0x00000011 
+ 00030478  0x0000821a increase  0xfffffffc , 0x00000012 
+ 00030479  0x0000821b loop  0x00007707 
+ 00030480  0x0000821c rtn 
+ 00030481  0x0000821f force  0x00000006 , 0x00000039 
+ 00030482  0x00008220 force  0x00000000 , 0x00000013 
+ 00030483  0x00008222 ifetch  0x00000004 , 0x00000011 
+ 00030484  0x00008223 iforce  0x00000002 
+ 00030485  0x00008224 ifetch  0x00000004 , 0x00000012 
+ 00030486  0x00008225 iadd  0x00000002 , 0x0000003f 
+ 00030487  0x00008226 iadd  0x00000013 , 0x0000003f 
+ 00030488  0x00008227 istore  0x00000004 , 0x00000005 
+ 00030489  0x00008228 isolate1  0x00000020 , 0x0000003f 
+ 00030490  0x00008229 setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030491  0x0000822a increase  0x00000004 , 0x00000011 
+ 00030492  0x0000822b increase  0x00000004 , 0x00000012 
+ 00030493  0x0000822c loop  0x00007713 
+ 00030494  0x0000822d rtn 
+ 00030495  0x00008230 force  0x00000006 , 0x00000039 
+ 00030496  0x00008231 force  0x00000000 , 0x00000013 
+ 00030497  0x00008233 ifetch  0x00000004 , 0x00000012 
+ 00030498  0x00008234 iforce  0x00000002 
+ 00030499  0x00008235 ifetch  0x00000004 , 0x00000011 
+ 00030500  0x00008236 isub  0x00000002 , 0x0000003f 
+ 00030501  0x00008237 isub  0x00000013 , 0x0000003f 
+ 00030502  0x00008238 istore  0x00000004 , 0x00000005 
+ 00030503  0x00008239 isolate1  0x00000020 , 0x0000003f 
+ 00030504  0x0000823a setflag  0x00000001 , 0x00000000 , 0x00000013 
+ 00030505  0x0000823b increase  0x00000004 , 0x00000011 
+ 00030506  0x0000823c increase  0x00000004 , 0x00000012 
+ 00030507  0x0000823d loop  0x00007721 
+ 00030508  0x0000823e rtn 
+ 00030509  0x00008241 force  0x00000006 , 0x00000039 
+ 00030510  0x00008242 increase  0x00000014 , 0x00000011 
+ 00030511  0x00008244 force  0x00000000 , 0x00000013 
+ 00030512  0x00008246 ifetch  0x00000004 , 0x00000011 
+ 00030513  0x00008247 isolate1  0x00000000 , 0x0000003f 
+ 00030514  0x00008248 setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030515  0x00008249 rshift  0x0000003f , 0x0000003f 
+ 00030516  0x0000824a isolate1  0x00000000 , 0x00000013 
+ 00030517  0x0000824b setflag  0x00000001 , 0x0000001f , 0x0000003f 
+ 00030518  0x0000824c istore  0x00000004 , 0x00000011 
+ 00030519  0x0000824d increase  0xfffffffc , 0x00000011 
+ 00030520  0x0000824e rshift  0x00000013 , 0x00000013 
+ 00030521  0x0000824f loop  0x00007730 
+ 00030522  0x00008250 rtn 
+ 00030523  0x00008253 force  0x00000006 , 0x00000039 
+ 00030524  0x00008254 force  0x00000000 , 0x00000013 
+ 00030525  0x00008256 ifetch  0x00000004 , 0x00000011 
+ 00030526  0x00008257 isolate1  0x0000001f , 0x0000003f 
+ 00030527  0x00008258 setflag  0x00000001 , 0x00000001 , 0x00000013 
+ 00030528  0x00008259 lshift  0x0000003f , 0x0000003f 
+ 00030529  0x0000825a isolate1  0x00000000 , 0x00000013 
+ 00030530  0x0000825b setflag  0x00000001 , 0x00000000 , 0x0000003f 
+ 00030531  0x0000825c istore  0x00000004 , 0x00000011 
+ 00030532  0x0000825d increase  0x00000004 , 0x00000011 
+ 00030533  0x0000825e rshift  0x00000013 , 0x00000013 
+ 00030534  0x0000825f loop  0x0000773d 
+ 00030535  0x00008260 rtn 
+ 00030536  0x00008263 call  0x0000773b 
+ 00030537  0x00008265 isolate1  0x00000000 , 0x00000013 
+ 00030538  0x00008266 branch  0x00007751 , 0x00000001 
+ 00030539  0x00008267 arg  0x00000886 , 0x00000012 
+ 00030540  0x00008268 copy  0x00000011 , 0x00000013 
+ 00030541  0x00008269 increase  0xffffffe8 , 0x00000011 
+ 00030542  0x0000826a call  0x00007704 
+ 00030543  0x0000826b nrtn  0x00000002 
+ 00030544  0x0000826c copy  0x00000013 , 0x00000011 
+ 00030545  0x0000826e increase  0xffffffe8 , 0x00000011 
+ 00030546  0x0000826f arg  0x00000886 , 0x00000012 
+ 00030547  0x00008270 copy  0x00000011 , 0x00000005 
+ 00030548  0x00008271 branch  0x0000771f 
+ 00030549  0x00008275 call  0x00007711 
+ 00030550  0x00008276 copy  0x00000005 , 0x00000011 
+ 00030551  0x00008277 branch  0x00007749 
+ 00030552  0x0000827a call  0x0000771f 
+ 00030553  0x0000827b isolate0  0x00000000 , 0x00000013 
+ 00030554  0x0000827c rtn  0x00000001 
+ 00030555  0x0000827d arg  0x00000886 , 0x00000012 
+ 00030556  0x0000827e add  0x00000005 , 0xffffffe8 , 0x00000011 
+ 00030557  0x0000827f copy  0x00000011 , 0x00000005 
+ 00030558  0x00008280 branch  0x00007711 
+ 00030559  0x00008284 copy  0x00000005 , 0x0000000b 
+ 00030560  0x00008285 copy  0x00000011 , 0x00000030 
+ 00030561  0x00008286 arg  0x00000716 , 0x00000012 
+ 00030562  0x00008287 copy  0x00000012 , 0x00000005 
+ 00030563  0x00008288 add  0x00000011 , 0x00000018 , 0x00000006 
+ 00030564  0x00008289 ifetch  0x00000008 , 0x00000006 
+ 00030565  0x0000828a istore  0x00000008 , 0x00000005 
+ 00030566  0x0000828b istore  0x00000008 , 0x00000005 
+ 00030567  0x0000828c force  0x00000000 , 0x0000003f 
+ 00030568  0x0000828d istore  0x00000008 , 0x00000005 
+ 00030569  0x0000828e copy  0x0000000b , 0x00000005 
+ 00030570  0x0000828f call  0x00007755 
+ 00030571  0x00008290 arg  0x00000716 , 0x00000012 
+ 00030572  0x00008291 copy  0x00000012 , 0x00000005 
+ 00030573  0x00008292 force  0x00000000 , 0x0000003f 
+ 00030574  0x00008293 istore  0x00000008 , 0x00000005 
+ 00030575  0x00008294 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00030576  0x00008295 ifetch  0x00000008 , 0x00000006 
+ 00030577  0x00008296 istore  0x00000008 , 0x00000005 
+ 00030578  0x00008297 istore  0x00000008 , 0x00000005 
+ 00030579  0x00008298 copy  0x0000000b , 0x00000011 
+ 00030580  0x00008299 copy  0x00000011 , 0x00000005 
+ 00030581  0x0000829a call  0x00007755 
+ 00030582  0x0000829b arg  0x00000716 , 0x00000012 
+ 00030583  0x0000829c copy  0x00000012 , 0x00000005 
+ 00030584  0x0000829d add  0x00000030 , 0x00000028 , 0x00000006 
+ 00030585  0x0000829e ifetch  0x00000008 , 0x00000006 
+ 00030586  0x0000829f istore  0x00000008 , 0x00000005 
+ 00030587  0x000082a0 istore  0x00000008 , 0x00000005 
+ 00030588  0x000082a1 istore  0x00000008 , 0x00000005 
+ 00030589  0x000082a2 copy  0x0000000b , 0x00000011 
+ 00030590  0x000082a3 copy  0x00000011 , 0x00000005 
+ 00030591  0x000082a4 branch  0x00007755 
+ 00030592  0x000082a8 force  0x00000006 , 0x00000039 
+ 00030593  0x000082aa ifetch  0x00000004 , 0x00000006 
+ 00030594  0x000082ab iforce  0x0000002f 
+ 00030595  0x000082ac increase  0x00000001 , 0x00000038 
+ 00030596  0x000082ad loop  0x00007781 
+ 00030597  0x000082ae rtn 
+ 00030598  0x000082b3 copy  0x00000005 , 0x0000000b 
+ 00030599  0x000082b4 arg  0x000006e6 , 0x00000005 
+ 00030600  0x000082b5 call  0x00007ec5 
+ 00030601  0x000082b6 arg  0x000006e6 , 0x00000005 
+ 00030602  0x000082b7 copy  0x00000011 , 0x00000006 
+ 00030603  0x000082b8 force  0x00000000 , 0x00000038 
+ 00030604  0x000082b9 call  0x00007780 
+ 00030605  0x000082ba copy  0x00000012 , 0x00000006 
+ 00030606  0x000082bb call  0x00007780 
+ 00030607  0x000082bc force  0x00000000 , 0x00000012 
+ 00030608  0x000082be force  0x00000000 , 0x00000002 
+ 00030609  0x000082bf force  0x00000006 , 0x00000013 
+ 00030610  0x000082c1 ifetch  0x00000004 , 0x00000005 
+ 00030611  0x000082c2 iforce  0x00000011 
+ 00030612  0x000082c3 copy  0x00000012 , 0x00000038 
+ 00030613  0x000082c4 deposit  0x0000002f 
+ 00030614  0x000082c5 copy  0x00000013 , 0x00000038 
+ 00030615  0x000082c6 imul32  0x0000002f , 0x0000003f 
+ 00030616  0x000082c7 iadd  0x00000011 , 0x0000003f 
+ 00030617  0x000082c8 iadd  0x00000002 , 0x0000003f 
+ 00030618  0x000082c9 istore  0x00000004 , 0x00000005 
+ 00030619  0x000082ca rshift32  0x0000003f , 0x00000002 
+ 00030620  0x000082cb increase  0x00000001 , 0x00000013 
+ 00030621  0x000082cc compare  0x0000000c , 0x00000013 , 0x000000ff 
+ 00030622  0x000082cd nbranch  0x00007792 , 0x00000001 
+ 00030623  0x000082ce deposit  0x00000002 
+ 00030624  0x000082cf istore  0x00000004 , 0x00000005 
+ 00030625  0x000082d0 increase  0xffffffe8 , 0x00000005 
+ 00030626  0x000082d1 increase  0x00000001 , 0x00000012 
+ 00030627  0x000082d2 compare  0x00000006 , 0x00000012 , 0x000000ff 
+ 00030628  0x000082d3 nbranch  0x00007790 , 0x00000001 
+ 00030629  0x000082d4 arg  0x000006e6 , 0x00000011 
+ 00030630  0x000082d5 copy  0x0000000b , 0x00000005 
+ 00030631  0x000082d6 branch  0x0000775f 
+ 00030632  0x000082da copy  0x00000011 , 0x00000012 
+ 00030633  0x000082db branch  0x00007786 
+ 00030634  0x000082de copy  0x00000011 , 0x00000030 
+ 00030635  0x000082e0 copy  0x00000030 , 0x00000011 
+ 00030636  0x000082e1 ifetch  0x00000001 , 0x00000011 
+ 00030637  0x000082e2 isolate1  0x00000000 , 0x0000003f 
+ 00030638  0x000082e3 rtn  0x00000001 
+ 00030639  0x000082e4 call  0x0000772d 
+ 00030640  0x000082e5 ifetch  0x00000001 , 0x00000012 
+ 00030641  0x000082e6 isolate0  0x00000000 , 0x0000003f 
+ 00030642  0x000082e7 branch  0x000077ba , 0x00000001 
+ 00030643  0x000082e8 arg  0x00000886 , 0x00000011 
+ 00030644  0x000082e9 copy  0x00000012 , 0x00000005 
+ 00030645  0x000082ea call  0x00007711 
+ 00030646  0x000082eb ifetch  0x00000001 , 0x00000012 
+ 00030647  0x000082ec iadd  0x00000013 , 0x0000003f 
+ 00030648  0x000082ed istore  0x00000001 , 0x00000012 
+ 00030649  0x000082ee increase  0xffffffe8 , 0x00000012 
+ 00030650  0x000082f0 add  0x00000012 , 0x00000018 , 0x00000011 
+ 00030651  0x000082f1 force  0x00000007 , 0x00000039 
+ 00030652  0x000082f2 call  0x0000772f 
+ 00030653  0x000082f3 branch  0x000077ab 
+ 00030654  0x000082f7 copy  0x00000005 , 0x0000000b 
+ 00030655  0x000082f8 arg  0x00000746 , 0x00000005 
+ 00030656  0x000082f9 call  0x00007ec5 
+ 00030657  0x000082fa force  0x00000000 , 0x0000003f 
+ 00030658  0x000082fb store  0x00000004 , 0x000006fe 
+ 00030659  0x000082fc store  0x00000004 , 0x0000075e 
+ 00030660  0x000082fd jam  0x00000001 , 0x00000746 
+ 00030661  0x000082fe arg  0x000006e6 , 0x00000005 
+ 00030662  0x000082ff call  0x00007ec5 
+ 00030663  0x00008300 arg  0x00000886 , 0x00000006 
+ 00030664  0x00008301 arg  0x00000716 , 0x00000005 
+ 00030665  0x00008302 call  0x00007ebe 
+ 00030666  0x00008303 copy  0x00000011 , 0x00000006 
+ 00030667  0x00008304 arg  0x0000072e , 0x00000005 
+ 00030668  0x00008305 call  0x00007ebe 
+ 00030669  0x00008307 arg  0x0000072e , 0x00000006 
+ 00030670  0x00008308 call  0x000076f5 
+ 00030671  0x00008309 branch  0x000077f6 , 0x00000034 
+ 00030672  0x0000830a arg  0x0000072e , 0x00000011 
+ 00030673  0x0000830b arg  0x00000746 , 0x00000012 
+ 00030674  0x0000830c call  0x000077aa 
+ 00030675  0x0000830e arg  0x00000716 , 0x00000011 
+ 00030676  0x0000830f arg  0x000006e6 , 0x00000012 
+ 00030677  0x00008310 call  0x000077aa 
+ 00030678  0x00008311 arg  0x0000072e , 0x00000011 
+ 00030679  0x00008312 arg  0x00000716 , 0x00000012 
+ 00030680  0x00008313 call  0x00007704 
+ 00030681  0x00008314 branch  0x000077e8 , 0x00000002 
+ 00030682  0x00008315 arg  0x00000716 , 0x00000011 
+ 00030683  0x00008316 arg  0x0000072e , 0x00000012 
+ 00030684  0x00008317 copy  0x00000011 , 0x00000005 
+ 00030685  0x00008318 call  0x0000771f 
+ 00030686  0x00008319 arg  0x00000746 , 0x00000011 
+ 00030687  0x0000831a arg  0x000006e6 , 0x00000012 
+ 00030688  0x0000831b copy  0x00000012 , 0x00000005 
+ 00030689  0x0000831c call  0x00007711 
+ 00030690  0x0000831d ifetch  0x00000001 , 0x00000011 
+ 00030691  0x0000831e iadd  0x00000013 , 0x00000013 
+ 00030692  0x0000831f ifetch  0x00000001 , 0x00000012 
+ 00030693  0x00008320 iadd  0x00000013 , 0x0000003f 
+ 00030694  0x00008321 istore  0x00000001 , 0x00000012 
+ 00030695  0x00008322 branch  0x000077cd 
+ 00030696  0x00008324 arg  0x0000072e , 0x00000011 
+ 00030697  0x00008325 arg  0x00000716 , 0x00000012 
+ 00030698  0x00008326 copy  0x00000011 , 0x00000005 
+ 00030699  0x00008327 call  0x0000771f 
+ 00030700  0x00008328 arg  0x000006e6 , 0x00000011 
+ 00030701  0x00008329 arg  0x00000746 , 0x00000012 
+ 00030702  0x0000832a copy  0x00000012 , 0x00000005 
+ 00030703  0x0000832b call  0x00007711 
+ 00030704  0x0000832c ifetch  0x00000001 , 0x00000011 
+ 00030705  0x0000832d iadd  0x00000013 , 0x00000013 
+ 00030706  0x0000832e ifetch  0x00000001 , 0x00000012 
+ 00030707  0x0000832f iadd  0x00000013 , 0x0000003f 
+ 00030708  0x00008330 istore  0x00000001 , 0x00000012 
+ 00030709  0x00008331 branch  0x000077cd 
+ 00030710  0x00008333 arg  0x00000746 , 0x00000005 
+ 00030711  0x00008334 call  0x00007ec5 
+ 00030712  0x00008335 fetch  0x00000001 , 0x000006fe 
+ 00030713  0x00008336 store  0x00000001 , 0x00000746 
+ 00030714  0x00008337 store  0x00000001 , 0x0000074e 
+ 00030715  0x00008338 arg  0x00000746 , 0x00000011 
+ 00030716  0x00008339 arg  0x000006e6 , 0x00000012 
+ 00030717  0x0000833a copy  0x00000012 , 0x00000005 
+ 00030718  0x0000833b call  0x00007755 
+ 00030719  0x0000833c arg  0x00000886 , 0x00000011 
+ 00030720  0x0000833d arg  0x000006e6 , 0x00000012 
+ 00030721  0x0000833e copy  0x0000000b , 0x00000005 
+ 00030722  0x0000833f branch  0x00007758 
+ 00030723  0x00008345 arg  0x000006a6 , 0x00000011 
+ 00030724  0x00008346 arg  0x0000075e , 0x00000005 
+ 00030725  0x00008347 call  0x000077a8 
+ 00030726  0x00008348 arg  0x0000075e , 0x00000011 
+ 00030727  0x00008349 arg  0x00000776 , 0x00000005 
+ 00030728  0x0000834a call  0x000077a8 
+ 00030729  0x0000834b arg  0x0000089e , 0x00000011 
+ 00030730  0x0000834c arg  0x00000776 , 0x00000012 
+ 00030731  0x0000834d arg  0x00000776 , 0x00000005 
+ 00030732  0x0000834e call  0x00007786 
+ 00030733  0x0000834f arg  0x00000676 , 0x00000011 
+ 00030734  0x00008350 arg  0x0000075e , 0x00000005 
+ 00030735  0x00008351 call  0x000077a8 
+ 00030736  0x00008352 arg  0x0000075e , 0x00000006 
+ 00030737  0x00008353 arg  0x0000072e , 0x00000005 
+ 00030738  0x00008354 call  0x00007ebe 
+ 00030739  0x00008355 arg  0x0000072e , 0x00000011 
+ 00030740  0x00008356 call  0x00007748 
+ 00030741  0x00008357 arg  0x0000075e , 0x00000011 
+ 00030742  0x00008358 arg  0x0000072e , 0x00000012 
+ 00030743  0x00008359 arg  0x0000075e , 0x00000005 
+ 00030744  0x0000835a call  0x00007755 
+ 00030745  0x0000835b arg  0x0000075e , 0x00000011 
+ 00030746  0x0000835c arg  0x00000776 , 0x00000012 
+ 00030747  0x0000835d arg  0x0000075e , 0x00000005 
+ 00030748  0x0000835e call  0x00007755 
+ 00030749  0x0000835f arg  0x00000676 , 0x00000006 
+ 00030750  0x00008360 arg  0x0000072e , 0x00000005 
+ 00030751  0x00008361 call  0x00007ebe 
+ 00030752  0x00008362 arg  0x0000068e , 0x00000011 
+ 00030753  0x00008363 arg  0x00000776 , 0x00000005 
+ 00030754  0x00008364 call  0x000077a8 
+ 00030755  0x00008365 arg  0x0000072e , 0x00000011 
+ 00030756  0x00008366 call  0x00007748 
+ 00030757  0x00008367 arg  0x0000072e , 0x00000011 
+ 00030758  0x00008368 call  0x00007748 
+ 00030759  0x00008369 arg  0x0000072e , 0x00000011 
+ 00030760  0x0000836a arg  0x00000776 , 0x00000012 
+ 00030761  0x0000836b arg  0x0000072e , 0x00000005 
+ 00030762  0x0000836c call  0x00007786 
+ 00030763  0x0000836d arg  0x00000776 , 0x00000011 
+ 00030764  0x0000836e arg  0x00000746 , 0x00000005 
+ 00030765  0x0000836f call  0x000077a8 
+ 00030766  0x00008370 arg  0x00000746 , 0x00000011 
+ 00030767  0x00008371 call  0x00007748 
+ 00030768  0x00008372 arg  0x00000746 , 0x00000011 
+ 00030769  0x00008373 call  0x00007748 
+ 00030770  0x00008374 arg  0x00000746 , 0x00000011 
+ 00030771  0x00008375 call  0x00007748 
+ 00030772  0x00008376 arg  0x0000068e , 0x00000006 
+ 00030773  0x00008377 arg  0x00000776 , 0x00000005 
+ 00030774  0x00008378 call  0x00007ebe 
+ 00030775  0x00008379 arg  0x00000776 , 0x00000011 
+ 00030776  0x0000837a call  0x00007748 
+ 00030777  0x0000837b arg  0x00000776 , 0x00000011 
+ 00030778  0x0000837c arg  0x000006a6 , 0x00000012 
+ 00030779  0x0000837d arg  0x000006a6 , 0x00000005 
+ 00030780  0x0000837e call  0x00007786 
+ 00030781  0x0000837f arg  0x0000075e , 0x00000011 
+ 00030782  0x00008380 arg  0x00000776 , 0x00000005 
+ 00030783  0x00008381 call  0x000077a8 
+ 00030784  0x00008382 arg  0x00000776 , 0x00000011 
+ 00030785  0x00008383 arg  0x0000072e , 0x00000012 
+ 00030786  0x00008384 arg  0x00000776 , 0x00000005 
+ 00030787  0x00008385 call  0x00007758 
+ 00030788  0x00008386 arg  0x00000776 , 0x00000011 
+ 00030789  0x00008387 arg  0x0000072e , 0x00000012 
+ 00030790  0x00008388 arg  0x00000676 , 0x00000005 
+ 00030791  0x00008389 call  0x00007758 
+ 00030792  0x0000838a arg  0x0000072e , 0x00000011 
+ 00030793  0x0000838b arg  0x00000676 , 0x00000012 
+ 00030794  0x0000838c arg  0x00000776 , 0x00000005 
+ 00030795  0x0000838d call  0x00007758 
+ 00030796  0x0000838e arg  0x00000776 , 0x00000011 
+ 00030797  0x0000838f arg  0x0000075e , 0x00000012 
+ 00030798  0x00008390 arg  0x00000776 , 0x00000005 
+ 00030799  0x00008391 call  0x00007786 
+ 00030800  0x00008392 arg  0x00000776 , 0x00000011 
+ 00030801  0x00008393 arg  0x00000746 , 0x00000012 
+ 00030802  0x00008394 arg  0x0000068e , 0x00000005 
+ 00030803  0x00008395 branch  0x00007758 
+ 00030804  0x0000839a arg  0x00000616 , 0x00000011 
+ 00030805  0x0000839b arg  0x0000078e , 0x00000005 
+ 00030806  0x0000839c call  0x000077a8 
+ 00030807  0x0000839d arg  0x00000676 , 0x00000011 
+ 00030808  0x0000839e arg  0x0000078e , 0x00000012 
+ 00030809  0x0000839f arg  0x00000746 , 0x00000005 
+ 00030810  0x000083a0 call  0x00007786 
+ 00030811  0x000083a1 arg  0x00000616 , 0x00000011 
+ 00030812  0x000083a2 arg  0x0000078e , 0x00000012 
+ 00030813  0x000083a3 arg  0x0000078e , 0x00000005 
+ 00030814  0x000083a4 call  0x00007786 
+ 00030815  0x000083a5 arg  0x0000068e , 0x00000011 
+ 00030816  0x000083a6 arg  0x0000078e , 0x00000012 
+ 00030817  0x000083a7 arg  0x0000072e , 0x00000005 
+ 00030818  0x000083a8 call  0x00007786 
+ 00030819  0x000083a9 arg  0x000006a6 , 0x00000011 
+ 00030820  0x000083aa arg  0x0000078e , 0x00000005 
+ 00030821  0x000083ab call  0x000077a8 
+ 00030822  0x000083ac arg  0x000005e6 , 0x00000011 
+ 00030823  0x000083ad arg  0x0000078e , 0x00000012 
+ 00030824  0x000083ae arg  0x0000075e , 0x00000005 
+ 00030825  0x000083af call  0x00007786 
+ 00030826  0x000083b0 arg  0x000006a6 , 0x00000011 
+ 00030827  0x000083b1 arg  0x0000078e , 0x00000012 
+ 00030828  0x000083b2 arg  0x0000078e , 0x00000005 
+ 00030829  0x000083b3 call  0x00007786 
+ 00030830  0x000083b4 arg  0x000005fe , 0x00000011 
+ 00030831  0x000083b5 arg  0x0000078e , 0x00000012 
+ 00030832  0x000083b6 arg  0x00000776 , 0x00000005 
+ 00030833  0x000083b7 call  0x00007786 
+ 00030834  0x000083b8 arg  0x00000746 , 0x00000011 
+ 00030835  0x000083b9 arg  0x0000075e , 0x00000012 
+ 00030836  0x000083ba arg  0x0000078e , 0x00000005 
+ 00030837  0x000083bb call  0x00007758 
+ 00030838  0x000083bc arg  0x00000746 , 0x00000011 
+ 00030839  0x000083bd arg  0x0000075e , 0x00000012 
+ 00030840  0x000083be arg  0x00000746 , 0x00000005 
+ 00030841  0x000083bf call  0x00007755 
+ 00030842  0x000083c0 arg  0x0000072e , 0x00000011 
+ 00030843  0x000083c1 arg  0x00000776 , 0x00000012 
+ 00030844  0x000083c2 arg  0x0000075e , 0x00000005 
+ 00030845  0x000083c3 call  0x00007758 
+ 00030846  0x000083c4 arg  0x0000072e , 0x00000011 
+ 00030847  0x000083c5 arg  0x00000776 , 0x00000012 
+ 00030848  0x000083c6 arg  0x0000072e , 0x00000005 
+ 00030849  0x000083c7 call  0x00007755 
+ 00030850  0x000083c8 arg  0x0000072e , 0x00000011 
+ 00030851  0x000083c9 arg  0x0000078e , 0x00000012 
+ 00030852  0x000083ca arg  0x0000072e , 0x00000005 
+ 00030853  0x000083cb call  0x00007786 
+ 00030854  0x000083cc arg  0x000006a6 , 0x00000011 
+ 00030855  0x000083cd arg  0x00000616 , 0x00000012 
+ 00030856  0x000083ce arg  0x00000776 , 0x00000005 
+ 00030857  0x000083cf call  0x00007786 
+ 00030858  0x000083d0 arg  0x00000776 , 0x00000011 
+ 00030859  0x000083d1 arg  0x0000078e , 0x00000012 
+ 00030860  0x000083d2 arg  0x000006a6 , 0x00000005 
+ 00030861  0x000083d3 call  0x00007786 
+ 00030862  0x000083d4 arg  0x0000078e , 0x00000011 
+ 00030863  0x000083d5 arg  0x0000078e , 0x00000005 
+ 00030864  0x000083d6 call  0x000077a8 
+ 00030865  0x000083d7 arg  0x0000078e , 0x00000011 
+ 00030866  0x000083d8 arg  0x00000746 , 0x00000012 
+ 00030867  0x000083d9 arg  0x00000776 , 0x00000005 
+ 00030868  0x000083da call  0x00007786 
+ 00030869  0x000083db arg  0x0000078e , 0x00000011 
+ 00030870  0x000083dc arg  0x0000072e , 0x00000012 
+ 00030871  0x000083dd arg  0x0000072e , 0x00000005 
+ 00030872  0x000083de call  0x00007786 
+ 00030873  0x000083df arg  0x0000075e , 0x00000011 
+ 00030874  0x000083e0 arg  0x00000676 , 0x00000005 
+ 00030875  0x000083e1 call  0x000077a8 
+ 00030876  0x000083e2 arg  0x00000676 , 0x00000011 
+ 00030877  0x000083e3 arg  0x00000776 , 0x00000012 
+ 00030878  0x000083e4 arg  0x00000676 , 0x00000005 
+ 00030879  0x000083e5 call  0x00007758 
+ 00030880  0x000083e6 arg  0x00000676 , 0x00000006 
+ 00030881  0x000083e7 arg  0x0000078e , 0x00000005 
+ 00030882  0x000083e8 call  0x00007ebe 
+ 00030883  0x000083e9 arg  0x0000078e , 0x00000011 
+ 00030884  0x000083ea call  0x00007748 
+ 00030885  0x000083eb arg  0x00000776 , 0x00000011 
+ 00030886  0x000083ec arg  0x0000078e , 0x00000012 
+ 00030887  0x000083ed arg  0x00000776 , 0x00000005 
+ 00030888  0x000083ee call  0x00007758 
+ 00030889  0x000083ef arg  0x00000776 , 0x00000011 
+ 00030890  0x000083f0 arg  0x0000075e , 0x00000012 
+ 00030891  0x000083f1 arg  0x0000075e , 0x00000005 
+ 00030892  0x000083f2 call  0x00007786 
+ 00030893  0x000083f3 arg  0x0000075e , 0x00000011 
+ 00030894  0x000083f4 arg  0x0000072e , 0x00000012 
+ 00030895  0x000083f5 arg  0x0000068e , 0x00000005 
+ 00030896  0x000083f6 call  0x00007758 
+ 00030897  0x000083f7 arg  0x0000068e , 0x00000011 
+ 00030898  0x000083f8 arg  0x00000886 , 0x00000012 
+ 00030899  0x000083f9 arg  0x0000068e , 0x00000005 
+ 00030900  0x000083fa force  0x00000000 , 0x00000013 
+ 00030901  0x000083fb fetch  0x00000001 , 0x0000068e 
+ 00030902  0x000083fc isolate1  0x00000000 , 0x0000003f 
+ 00030903  0x000083fd call  0x00007711 , 0x00000001 
+ 00030904  0x000083fe copy  0x00000013 , 0x00000030 
+ 00030905  0x000083ff arg  0x0000068e , 0x00000011 
+ 00030906  0x00008400 call  0x0000772d 
+ 00030907  0x00008401 fetch  0x00000001 , 0x000006a5 
+ 00030908  0x00008402 isolate1  0x00000000 , 0x00000030 
+ 00030909  0x00008403 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00030910  0x00008404 store  0x00000001 , 0x000006a5 
+ 00030911  0x00008405 rtn 
+ 00030912  0x0000840a fetch  0x00000001 , 0x000005e3 
+ 00030913  0x0000840b increase  0xffffffff , 0x0000003f 
+ 00030914  0x0000840c nrtn  0x00000002 
+ 00030915  0x0000840d store  0x00000001 , 0x000005e3 
+ 00030916  0x0000840e fetch  0x00000001 , 0x000005e2 
+ 00030917  0x0000840f call  0x00007803 , 0x00000034 
+ 00030918  0x00008410 fetch  0x00000001 , 0x000005e3 
+ 00030919  0x00008411 arg  0x000006be , 0x00000006 
+ 00030920  0x00008412 call  0x000076ec 
+ 00030921  0x00008413 branch  0x000078c0 , 0x00000001 
+ 00030922  0x00008414 fetch  0x00000001 , 0x000005e2 
+ 00030923  0x00008415 nbranch  0x000078ce , 0x00000034 
+ 00030924  0x00008416 call  0x00007854 
+ 00030925  0x00008417 branch  0x000078c0 
+ 00030926  0x00008419 jam  0x00000000 , 0x000005e2 
+ 00030927  0x0000841a arg  0x000005e6 , 0x00000006 
+ 00030928  0x0000841b arg  0x00000676 , 0x00000005 
+ 00030929  0x0000841c call  0x000076f2 
+ 00030930  0x0000841d branch  0x000078c0 
+ 00030931  0x00008421 arg  0x000006a6 , 0x00000011 
+ 00030932  0x00008422 arg  0x00000776 , 0x00000005 
+ 00030933  0x00008423 call  0x000077be 
+ 00030934  0x00008424 arg  0x00000776 , 0x00000011 
+ 00030935  0x00008425 arg  0x0000072e , 0x00000005 
+ 00030936  0x00008426 call  0x000077a8 
+ 00030937  0x00008427 arg  0x00000676 , 0x00000011 
+ 00030938  0x00008428 arg  0x0000072e , 0x00000012 
+ 00030939  0x00008429 arg  0x0000062e , 0x00000005 
+ 00030940  0x0000842a call  0x00007786 
+ 00030941  0x0000842b arg  0x00000776 , 0x00000011 
+ 00030942  0x0000842c arg  0x0000072e , 0x00000012 
+ 00030943  0x0000842d arg  0x0000075e , 0x00000005 
+ 00030944  0x0000842e call  0x00007786 
+ 00030945  0x0000842f arg  0x0000068e , 0x00000011 
+ 00030946  0x00008430 arg  0x0000075e , 0x00000012 
+ 00030947  0x00008431 arg  0x00000646 , 0x00000005 
+ 00030948  0x00008432 branch  0x00007786 
+ 00030949  0x00008437 ifetch  0x00000004 , 0x00000006 
+ 00030950  0x00008438 force  0x00000004 , 0x00000011 
+ 00030951  0x00008439 increase  0x00000003 , 0x00000005 
+ 00030952  0x0000843b istore  0x00000001 , 0x00000005 
+ 00030953  0x0000843c rshift8  0x0000003f , 0x0000003f 
+ 00030954  0x0000843d increase  0xfffffffe , 0x00000005 
+ 00030955  0x0000843e increase  0xffffffff , 0x00000011 
+ 00030956  0x0000843f nbranch  0x000078e8 , 0x00000005 
+ 00030957  0x00008440 increase  0x00000005 , 0x00000005 
+ 00030958  0x00008441 loop  0x000078e5 
+ 00030959  0x00008442 rtn 
+ 00030960  0x00008446 lshift2  0x00000007 , 0x0000003f 
+ 00030961  0x00008447 iadd  0x0000000b , 0x00000006 
+ 00030962  0x00008448 ifetch  0x00000004 , 0x00000006 
+ 00030963  0x00008449 rtn 
+ 00030964  0x0000844c force  0x00000010 , 0x00000030 
+ 00030965  0x0000844d arg  0x000005e6 , 0x0000000b 
+ 00030966  0x0000844f add  0x00000030 , 0xfffffff9 , 0x00000007 
+ 00030967  0x00008450 call  0x000078f0 
+ 00030968  0x00008451 iforce  0x00000002 
+ 00030969  0x00008452 add  0x00000030 , 0xfffffff0 , 0x00000007 
+ 00030970  0x00008453 call  0x000078f0 
+ 00030971  0x00008454 iadd  0x00000002 , 0x00000002 
+ 00030972  0x00008455 add  0x00000030 , 0xfffffffe , 0x00000007 
+ 00030973  0x00008456 call  0x000078f0 
+ 00030974  0x00008457 shasx  0x0000003f , 0x00000001 , 0x0000003f 
+ 00030975  0x00008458 iadd  0x00000002 , 0x00000002 
+ 00030976  0x00008459 add  0x00000030 , 0xfffffff1 , 0x00000007 
+ 00030977  0x0000845a call  0x000078f0 
+ 00030978  0x0000845b shasx  0x0000003f , 0x00000000 , 0x0000003f 
+ 00030979  0x0000845c iadd  0x00000002 , 0x00000002 
+ 00030980  0x0000845d lshift2  0x00000030 , 0x0000003f 
+ 00030981  0x0000845e iadd  0x0000000b , 0x00000005 
+ 00030982  0x0000845f istoret  0x00000004 , 0x00000005 
+ 00030983  0x00008460 increase  0x00000001 , 0x00000030 
+ 00030984  0x00008461 compare  0x00000040 , 0x00000030 , 0x000000ff 
+ 00030985  0x00008462 nbranch  0x000078f6 , 0x00000001 
+ 00030986  0x00008463 rtn 
+ 00030987  0x00008467 arg  0x000008fe , 0x00000006 
+ 00030988  0x00008468 force  0x00000007 , 0x00000038 
+ 00030989  0x0000846a ifetch  0x00000004 , 0x00000006 
+ 00030990  0x0000846b iforce  0x0000002f 
+ 00030991  0x0000846c increase  0xffffffff , 0x00000038 
+ 00030992  0x0000846d branch  0x0000790d , 0x00000002 
+ 00030993  0x0000846e rtn 
+ 00030994  0x00008471 bpatchx  0x000000ec , 0x0000403d 
+ 00030995  0x00008472 call  0x000078f4 
+ 00030996  0x00008473 arg  0x000006e6 , 0x00000005 
+ 00030997  0x00008474 force  0x00000000 , 0x00000038 
+ 00030998  0x00008476 deposit  0x0000002f 
+ 00030999  0x00008477 istore  0x00000004 , 0x00000005 
+ 00031000  0x00008478 increase  0x00000001 , 0x00000038 
+ 00031001  0x00008479 compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00031002  0x0000847a nbranch  0x00007916 , 0x00000001 
+ 00031003  0x0000847b call  0x000074b9 
+ 00031004  0x0000847c arg  0x00008700 , 0x0000000b 
+ 00031005  0x0000847d arg  0x000005e6 , 0x00000030 
+ 00031006  0x0000847e force  0x00000040 , 0x00000039 
+ 00031007  0x00008480 ifetcht  0x00000004 , 0x00000030 
+ 00031008  0x00008481 ifetch  0x00000004 , 0x0000000b 
+ 00031009  0x00008482 increase  0x00000004 , 0x0000000b 
+ 00031010  0x00008483 increase  0x00000004 , 0x00000030 
+ 00031011  0x00008484 iadd  0x00000002 , 0x0000003f 
+ 00031012  0x00008485 force  0x00000007 , 0x00000038 
+ 00031013  0x00008486 iadd  0x0000002f , 0x00000002 
+ 00031014  0x00008487 force  0x00000004 , 0x00000038 
+ 00031015  0x00008488 shasx  0x0000002f , 0x00000003 , 0x0000003f 
+ 00031016  0x00008489 iadd  0x00000002 , 0x00000002 
+ 00031017  0x0000848a force  0x00000005 , 0x00000038 
+ 00031018  0x0000848b deposit  0x0000002f 
+ 00031019  0x0000848c force  0x00000006 , 0x00000038 
+ 00031020  0x0000848d ixor  0x0000002f , 0x0000003f 
+ 00031021  0x0000848e force  0x00000004 , 0x00000038 
+ 00031022  0x0000848f iand  0x0000002f , 0x0000003f 
+ 00031023  0x00008490 force  0x00000006 , 0x00000038 
+ 00031024  0x00008491 ixor  0x0000002f , 0x0000003f 
+ 00031025  0x00008492 iadd  0x00000002 , 0x00000002 
+ 00031026  0x00008493 force  0x00000007 , 0x00000038 
+ 00031027  0x00008494 copy  0x00000002 , 0x0000002f 
+ 00031028  0x00008495 force  0x00000003 , 0x00000038 
+ 00031029  0x00008496 deposit  0x0000002f 
+ 00031030  0x00008497 iadd  0x00000002 , 0x0000002f 
+ 00031031  0x00008498 force  0x00000000 , 0x00000038 
+ 00031032  0x00008499 deposit  0x0000002f 
+ 00031033  0x0000849a force  0x00000001 , 0x00000038 
+ 00031034  0x0000849b iand  0x0000002f , 0x00000002 
+ 00031035  0x0000849c ior  0x0000002f , 0x0000003f 
+ 00031036  0x0000849d force  0x00000002 , 0x00000038 
+ 00031037  0x0000849e iand  0x0000002f , 0x0000003f 
+ 00031038  0x0000849f ior  0x00000002 , 0x00000002 
+ 00031039  0x000084a0 force  0x00000000 , 0x00000038 
+ 00031040  0x000084a1 shasx  0x0000002f , 0x00000002 , 0x0000003f 
+ 00031041  0x000084a2 iadd  0x00000002 , 0x0000003f 
+ 00031042  0x000084a3 force  0x00000007 , 0x00000038 
+ 00031043  0x000084a4 iadd  0x0000002f , 0x0000002f 
+ 00031044  0x000084a5 regexrot 
+ 00031045  0x000084a6 loop  0x0000791f 
+ 00031046  0x000084a7 arg  0x000006e6 , 0x00000006 
+ 00031047  0x000084a8 force  0x00000000 , 0x00000038 
+ 00031048  0x000084aa ifetch  0x00000004 , 0x00000006 
+ 00031049  0x000084ab iadd  0x0000002f , 0x0000002f 
+ 00031050  0x000084ac increase  0x00000001 , 0x00000038 
+ 00031051  0x000084ad compare  0x00000008 , 0x00000038 , 0x000000ff 
+ 00031052  0x000084ae nbranch  0x00007948 , 0x00000001 
+ 00031053  0x000084af branch  0x000074bd 
+ 00031054  0x000084b3 arg  0x00000a3e , 0x00000005 
+ 00031055  0x000084b4 force  0x00000007 , 0x00000038 
+ 00031056  0x000084b6 deposit  0x0000002f 
+ 00031057  0x000084b7 istore  0x00000004 , 0x00000005 
+ 00031058  0x000084b8 increase  0xffffffff , 0x00000038 
+ 00031059  0x000084b9 branch  0x00007950 , 0x00000002 
+ 00031060  0x000084ba rtn 
+ 00031061  0x000084be arg  0x000005e6 , 0x00000005 
+ 00031062  0x000084bf increase  0xfffffffc , 0x00000006 
+ 00031063  0x000084c0 sub  0x00000039 , 0x00000010 , 0x00000011 
+ 00031064  0x000084c2 ifetch  0x00000004 , 0x00000006 
+ 00031065  0x000084c3 ixor  0x00000002 , 0x0000003f 
+ 00031066  0x000084c4 istore  0x00000004 , 0x00000005 
+ 00031067  0x000084c5 increase  0xfffffff8 , 0x00000006 
+ 00031068  0x000084c6 loop  0x00007958 
+ 00031069  0x000084c7 copy  0x00000011 , 0x00000039 
+ 00031070  0x000084c8 deposit  0x00000002 
+ 00031071  0x000084ca istore  0x00000004 , 0x00000005 
+ 00031072  0x000084cb loop  0x0000795f 
+ 00031073  0x000084cc rtn 
+ 00031074  0x000084cf call  0x00007967 
+ 00031075  0x000084d0 call  0x0000794e 
+ 00031076  0x000084d1 branch  0x0000798d 
+ 00031077  0x000084d4 call  0x00007967 
+ 00031078  0x000084d5 branch  0x0000798d 
+ 00031079  0x000084d8 arg  0x000009de , 0x00000006 
+ 00031080  0x000084d9 arg  0x000005e6 , 0x00000005 
+ 00031081  0x000084da force  0x00000006 , 0x00000039 
+ 00031082  0x000084db call  0x00007a71 
+ 00031083  0x000084dc arg  0x00004642 , 0x00000006 
+ 00031084  0x000084dd force  0x00000006 , 0x00000039 
+ 00031085  0x000084de call  0x00007a71 
+ 00031086  0x000084df arg  0x00000a3e , 0x00000006 
+ 00031087  0x000084e0 call  0x00007a70 
+ 00031088  0x000084e1 call  0x0000790b 
+ 00031089  0x000084e2 call  0x00007912 
+ 00031090  0x000084e3 arg  0x00000a2e , 0x00000006 
+ 00031091  0x000084e4 arg  0x000005e6 , 0x00000005 
+ 00031092  0x000084e5 branch  0x00007984 
+ 00031093  0x000084e8 arg  0x00004642 , 0x00000006 
+ 00031094  0x000084e9 arg  0x000005e6 , 0x00000005 
+ 00031095  0x000084ea force  0x00000006 , 0x00000039 
+ 00031096  0x000084eb call  0x00007a71 
+ 00031097  0x000084ec arg  0x000009de , 0x00000006 
+ 00031098  0x000084ed force  0x00000006 , 0x00000039 
+ 00031099  0x000084ee call  0x00007a71 
+ 00031100  0x000084ef arg  0x00000a2e , 0x00000006 
+ 00031101  0x000084f0 call  0x00007a70 
+ 00031102  0x000084f1 call  0x0000790b 
+ 00031103  0x000084f2 call  0x00007912 
+ 00031104  0x000084f3 arg  0x00000a3e , 0x00000006 
+ 00031105  0x000084f4 arg  0x000005e6 , 0x00000005 
+ 00031106  0x000084f5 call  0x00007984 
+ 00031107  0x000084f6 branch  0x0000798d 
+ 00031108  0x000084f9 call  0x00007a70 
+ 00031109  0x000084fa setarg  0x00800000 
+ 00031110  0x000084fb lshift8  0x0000003f , 0x0000003f 
+ 00031111  0x000084fc istore  0x00000004 , 0x00000005 
+ 00031112  0x000084fd force  0x00000005 , 0x00000039 
+ 00031113  0x000084fe call  0x00007ec6 
+ 00031114  0x000084ff setarg  0x00000280 
+ 00031115  0x00008500 istore  0x00000004 , 0x00000005 
+ 00031116  0x00008501 branch  0x00007912 
+ 00031117  0x00008503 fetch  0x00000004 , 0x00000a3e 
+ 00031118  0x00008505 arg  0x000003e8 , 0x00000011 
+ 00031119  0x00008506 idiv  0x00000011 
+ 00031120  0x00008507 call  0x00007f86 
+ 00031121  0x00008508 remainder  0x0000003f 
+ 00031122  0x00008509 store  0x00000004 , 0x000009ba 
+ 00031123  0x0000850a quotient  0x0000003f 
+ 00031124  0x0000850b arg  0x000003e8 , 0x00000011 
+ 00031125  0x0000850c idiv  0x00000011 
+ 00031126  0x0000850d call  0x00007f86 
+ 00031127  0x0000850e remainder  0x0000003f 
+ 00031128  0x0000850f arg  0x000003e8 , 0x00000011 
+ 00031129  0x00008510 imul32  0x00000011 , 0x0000003f 
+ 00031130  0x00008511 fetcht  0x00000004 , 0x000009ba 
+ 00031131  0x00008512 iadd  0x00000002 , 0x0000003f 
+ 00031132  0x00008513 store  0x00000004 , 0x000009ba 
+ 00031133  0x00008514 rtn 
+ 00031134  0x00008517 jam  0x00000000 , 0x00004664 
+ 00031135  0x00008518 branch  0x000079a2 
+ 00031136  0x0000851b fetch  0x00000001 , 0x00004662 
+ 00031137  0x0000851c bne  0x00000002 , 0x0000799e 
+ 00031138  0x0000851e bpatchx  0x000000ed , 0x0000403d 
+ 00031139  0x0000851f setarg  0x00363636 
+ 00031140  0x00008520 lshift8  0x0000003f , 0x00000002 
+ 00031141  0x00008521 or_into  0x00000036 , 0x00000002 
+ 00031142  0x00008522 fetch  0x00000002 , 0x00000a7e 
+ 00031143  0x00008523 copy  0x0000003f , 0x00000006 
+ 00031144  0x00008524 force  0x00000004 , 0x00000039 
+ 00031145  0x00008525 call  0x00007955 
+ 00031146  0x00008526 call  0x0000790b 
+ 00031147  0x00008527 call  0x00007912 
+ 00031148  0x00008528 fetch  0x00000002 , 0x00000a80 
+ 00031149  0x00008529 copy  0x0000003f , 0x00000006 
+ 00031150  0x0000852a arg  0x000005e6 , 0x00000005 
+ 00031151  0x0000852b force  0x00000006 , 0x00000039 
+ 00031152  0x0000852c call  0x00007a71 
+ 00031153  0x0000852d fetch  0x00000002 , 0x00000a82 
+ 00031154  0x0000852e copy  0x0000003f , 0x00000006 
+ 00031155  0x0000852f force  0x00000006 , 0x00000039 
+ 00031156  0x00008530 call  0x00007a71 
+ 00031157  0x00008531 setarg  0x00800000 
+ 00031158  0x00008532 istore  0x00000003 , 0x00000005 
+ 00031159  0x00008534 fetch  0x00000001 , 0x00004664 
+ 00031160  0x00008536 istore  0x00000001 , 0x00000005 
+ 00031161  0x00008537 force  0x00000000 , 0x0000003f 
+ 00031162  0x00008538 istore  0x00000008 , 0x00000005 
+ 00031163  0x00008539 setarg  0x00000388 
+ 00031164  0x0000853a istore  0x00000004 , 0x00000005 
+ 00031165  0x0000853b call  0x00007912 
+ 00031166  0x0000853c call  0x0000794e 
+ 00031167  0x0000853d arg  0x00000a3e , 0x00000006 
+ 00031168  0x0000853e arg  0x00000706 , 0x00000005 
+ 00031169  0x0000853f call  0x00007ebd 
+ 00031170  0x00008541 setarg  0x005c5c5c 
+ 00031171  0x00008542 lshift8  0x0000003f , 0x00000002 
+ 00031172  0x00008543 or_into  0x0000005c , 0x00000002 
+ 00031173  0x00008544 fetch  0x00000002 , 0x00000a7e 
+ 00031174  0x00008545 copy  0x0000003f , 0x00000006 
+ 00031175  0x00008546 force  0x00000004 , 0x00000039 
+ 00031176  0x00008547 call  0x00007955 
+ 00031177  0x00008548 call  0x0000790b 
+ 00031178  0x00008549 call  0x00007912 
+ 00031179  0x0000854a arg  0x00000726 , 0x00000006 
+ 00031180  0x0000854b arg  0x000005e6 , 0x00000005 
+ 00031181  0x0000854c force  0x00000008 , 0x00000039 
+ 00031182  0x0000854d call  0x00007a71 
+ 00031183  0x0000854e setarg  0x00800000 
+ 00031184  0x0000854f lshift8  0x0000003f , 0x0000003f 
+ 00031185  0x00008550 istore  0x00000004 , 0x00000005 
+ 00031186  0x00008551 call  0x00007ec5 
+ 00031187  0x00008552 setarg  0x00000300 
+ 00031188  0x00008553 istore  0x00000004 , 0x00000005 
+ 00031189  0x00008554 call  0x00007912 
+ 00031190  0x00008555 branch  0x0000794e 
+ 00031191  0x00008559 setarg  0x00363636 
+ 00031192  0x0000855a lshift8  0x0000003f , 0x00000002 
+ 00031193  0x0000855b or_into  0x00000036 , 0x00000002 
+ 00031194  0x0000855c arg  0x00000a1e , 0x00000006 
+ 00031195  0x0000855d force  0x00000006 , 0x00000039 
+ 00031196  0x0000855e call  0x00007955 
+ 00031197  0x0000855f call  0x0000790b 
+ 00031198  0x00008560 call  0x00007912 
+ 00031199  0x00008561 fetch  0x00000002 , 0x00000a8a 
+ 00031200  0x00008562 copy  0x0000003f , 0x00000006 
+ 00031201  0x00008563 arg  0x000005e6 , 0x00000005 
+ 00031202  0x00008564 call  0x00007a70 
+ 00031203  0x00008565 fetch  0x00000002 , 0x00000a8c 
+ 00031204  0x00008566 copy  0x0000003f , 0x00000006 
+ 00031205  0x00008567 call  0x00007a70 
+ 00031206  0x00008569 setarg  0x0062746c 
+ 00031207  0x0000856a lshift8  0x0000003f , 0x0000003f 
+ 00031208  0x0000856b or_into  0x0000006b , 0x0000003f 
+ 00031209  0x0000856c istore  0x00000004 , 0x00000005 
+ 00031210  0x0000856d arg  0x00000733 , 0x00000006 
+ 00031211  0x0000856e force  0x00000003 , 0x00000039 
+ 00031212  0x0000856f call  0x00007a71 
+ 00031213  0x00008571 setarg  0x00800000 
+ 00031214  0x00008572 lshift8  0x0000003f , 0x0000003f 
+ 00031215  0x00008573 istore  0x00000004 , 0x00000005 
+ 00031216  0x00008574 force  0x00000000 , 0x0000003f 
+ 00031217  0x00008575 istore  0x00000008 , 0x00000005 
+ 00031218  0x00008576 setarg  0x00000380 
+ 00031219  0x00008577 istore  0x00000004 , 0x00000005 
+ 00031220  0x00008578 call  0x00007912 
+ 00031221  0x0000857a call  0x0000794e 
+ 00031222  0x0000857b arg  0x00000a3e , 0x00000006 
+ 00031223  0x0000857c arg  0x00000706 , 0x00000005 
+ 00031224  0x0000857d call  0x00007ebd 
+ 00031225  0x0000857f setarg  0x005c5c5c 
+ 00031226  0x00008580 lshift8  0x0000003f , 0x00000002 
+ 00031227  0x00008581 or_into  0x0000005c , 0x00000002 
+ 00031228  0x00008582 arg  0x00000a1e , 0x00000006 
+ 00031229  0x00008583 force  0x00000006 , 0x00000039 
+ 00031230  0x00008584 call  0x00007955 
+ 00031231  0x00008585 call  0x0000790b 
+ 00031232  0x00008586 call  0x00007912 
+ 00031233  0x00008587 arg  0x00000726 , 0x00000006 
+ 00031234  0x00008588 arg  0x000005e6 , 0x00000005 
+ 00031235  0x00008589 force  0x00000008 , 0x00000039 
+ 00031236  0x0000858a call  0x00007a71 
+ 00031237  0x0000858b setarg  0x00800000 
+ 00031238  0x0000858c lshift8  0x0000003f , 0x0000003f 
+ 00031239  0x0000858d istore  0x00000004 , 0x00000005 
+ 00031240  0x0000858e call  0x00007ec5 
+ 00031241  0x0000858f setarg  0x00000300 
+ 00031242  0x00008590 istore  0x00000004 , 0x00000005 
+ 00031243  0x00008591 call  0x00007912 
+ 00031244  0x00008592 branch  0x0000794e 
+ 00031245  0x00008596 fetch  0x00000001 , 0x00004662 
+ 00031246  0x00008597 bne  0x00000002 , 0x00007a1e 
+ 00031247  0x00008599 bpatchx  0x000000ee , 0x0000403d 
+ 00031248  0x0000859a setarg  0x00363636 
+ 00031249  0x0000859b lshift8  0x0000003f , 0x00000002 
+ 00031250  0x0000859c or_into  0x00000036 , 0x00000002 
+ 00031251  0x0000859d arg  0x00000a1e , 0x00000006 
+ 00031252  0x0000859e force  0x00000006 , 0x00000039 
+ 00031253  0x0000859f call  0x00007955 
+ 00031254  0x000085a0 call  0x0000790b 
+ 00031255  0x000085a1 call  0x00007912 
+ 00031256  0x000085a2 arg  0x00000a3e , 0x00000006 
+ 00031257  0x000085a3 arg  0x000005e6 , 0x00000005 
+ 00031258  0x000085a4 call  0x00007a70 
+ 00031259  0x000085a5 arg  0x00000a2e , 0x00000006 
+ 00031260  0x000085a6 call  0x00007a70 
+ 00031261  0x000085a7 branch  0x00007a33 
+ 00031262  0x000085aa setarg  0x00000000 
+ 00031263  0x000085ab store  0x00000004 , 0x0000468a 
+ 00031264  0x000085ac branch  0x00007a0f 
+ 00031265  0x000085af setarg  0x00000000 
+ 00031266  0x000085b0 store  0x00000004 , 0x0000468a 
+ 00031267  0x000085b1 branch  0x00007a26 
+ 00031268  0x000085b5 fetch  0x00000001 , 0x00004662 
+ 00031269  0x000085b6 bne  0x00000002 , 0x00007a21 
+ 00031270  0x000085b8 setarg  0x00363636 
+ 00031271  0x000085b9 lshift8  0x0000003f , 0x00000002 
+ 00031272  0x000085ba or_into  0x00000036 , 0x00000002 
+ 00031273  0x000085bb arg  0x00000a1e , 0x00000006 
+ 00031274  0x000085bc force  0x00000006 , 0x00000039 
+ 00031275  0x000085bd call  0x00007955 
+ 00031276  0x000085be call  0x0000790b 
+ 00031277  0x000085bf call  0x00007912 
+ 00031278  0x000085c1 arg  0x00000a2e , 0x00000006 
+ 00031279  0x000085c2 arg  0x000005e6 , 0x00000005 
+ 00031280  0x000085c3 call  0x00007a70 
+ 00031281  0x000085c4 arg  0x00000a3e , 0x00000006 
+ 00031282  0x000085c5 call  0x00007a70 
+ 00031283  0x000085c7 setarg  0x00000000 
+ 00031284  0x000085c8 istore  0x00000008 , 0x00000005 
+ 00031285  0x000085c9 istore  0x00000004 , 0x00000005 
+ 00031286  0x000085ca fetch  0x00000004 , 0x0000468a 
+ 00031287  0x000085cb istore  0x00000004 , 0x00000005 
+ 00031288  0x000085cd copy  0x00000005 , 0x00000002 
+ 00031289  0x000085ce jam  0x00000080 , 0x00000726 
+ 00031290  0x000085cf copy  0x00000002 , 0x00000005 
+ 00031291  0x000085d0 arg  0x00000736 , 0x00000006 
+ 00031292  0x000085d1 call  0x00007a70 
+ 00031293  0x000085d3 call  0x00007912 
+ 00031294  0x000085d5 arg  0x000005e6 , 0x00000005 
+ 00031295  0x000085d6 force  0x00000007 , 0x00000039 
+ 00031296  0x000085d7 call  0x00007ec6 
+ 00031297  0x000085d8 istore  0x00000004 , 0x00000005 
+ 00031298  0x000085d9 setarg  0x000003f8 
+ 00031299  0x000085da istore  0x00000004 , 0x00000005 
+ 00031300  0x000085db call  0x00007912 
+ 00031301  0x000085dc call  0x0000794e 
+ 00031302  0x000085de arg  0x00000a3e , 0x00000006 
+ 00031303  0x000085df arg  0x00000706 , 0x00000005 
+ 00031304  0x000085e0 call  0x00007ebd 
+ 00031305  0x000085e2 setarg  0x005c5c5c 
+ 00031306  0x000085e3 lshift8  0x0000003f , 0x00000002 
+ 00031307  0x000085e4 or_into  0x0000005c , 0x00000002 
+ 00031308  0x000085e5 arg  0x00000a1e , 0x00000006 
+ 00031309  0x000085e6 force  0x00000006 , 0x00000039 
+ 00031310  0x000085e7 call  0x00007955 
+ 00031311  0x000085e8 call  0x0000790b 
+ 00031312  0x000085e9 call  0x00007912 
+ 00031313  0x000085ea arg  0x00000726 , 0x00000006 
+ 00031314  0x000085eb arg  0x000005e6 , 0x00000005 
+ 00031315  0x000085ec force  0x00000008 , 0x00000039 
+ 00031316  0x000085ed call  0x00007a71 
+ 00031317  0x000085ee setarg  0x00800000 
+ 00031318  0x000085ef lshift8  0x0000003f , 0x0000003f 
+ 00031319  0x000085f0 istore  0x00000004 , 0x00000005 
+ 00031320  0x000085f1 call  0x00007ec5 
+ 00031321  0x000085f2 setarg  0x00000300 
+ 00031322  0x000085f3 istore  0x00000004 , 0x00000005 
+ 00031323  0x000085f4 call  0x00007912 
+ 00031324  0x000085f5 branch  0x0000794e 
+ 00031325  0x000085fd jam  0x000000c0 , 0x000005e3 
+ 00031326  0x000085ff fetch  0x00000001 , 0x000005e3 
+ 00031327  0x00008600 rtn  0x00000034 
+ 00031328  0x00008601 increase  0xffffffff , 0x0000003f 
+ 00031329  0x00008602 store  0x00000001 , 0x000005e3 
+ 00031330  0x00008603 arg  0x000006be , 0x00000006 
+ 00031331  0x00008604 call  0x000076ec 
+ 00031332  0x00008605 branch  0x00007a5e , 0x00000001 
+ 00031333  0x00008606 arg  0x000005e6 , 0x00000006 
+ 00031334  0x00008607 arg  0x00000676 , 0x00000005 
+ 00031335  0x00008608 branch  0x000076f2 
+ 00031336  0x0000860b call  0x00007803 
+ 00031337  0x0000860c fetch  0x00000001 , 0x000005e3 
+ 00031338  0x0000860d increase  0xffffffff , 0x0000003f 
+ 00031339  0x0000860e store  0x00000001 , 0x000005e3 
+ 00031340  0x0000860f arg  0x000006be , 0x00000006 
+ 00031341  0x00008610 call  0x000076ec 
+ 00031342  0x00008611 rtn  0x00000001 
+ 00031343  0x00008612 branch  0x00007854 
+ 00031344  0x00008615 force  0x00000004 , 0x00000039 
+ 00031345  0x00008617 increase  0xfffffffc , 0x00000006 
+ 00031346  0x00008619 ifetch  0x00000004 , 0x00000006 
+ 00031347  0x0000861a istore  0x00000004 , 0x00000005 
+ 00031348  0x0000861b increase  0xfffffff8 , 0x00000006 
+ 00031349  0x0000861c loop  0x00007a72 
+ 00031350  0x0000861d rtn 
+ 00031351  0x00008623 bpatchx  0x000000ef , 0x0000403d 
+ 00031352  0x00008624 fetch  0x00000001 , 0x000044be 
+ 00031353  0x00008625 branch  0x00005af0 , 0x00000034 
+ 00031354  0x00008626 call  0x00005aec 
+ 00031355  0x00008627 call  0x00007583 
+ 00031356  0x00008629 branch  0x00007a7d 
+ 00031357  0x0000862f fetch  0x00000001 , 0x000044c3 
+ 00031358  0x00008630 rtnne  0x00000000 
+ 00031359  0x00008631 fetch  0x00000001 , 0x000044c0 
+ 00031360  0x00008632 rtnne  0x00000000 
+ 00031361  0x00008634 arg  0x000045b2 , 0x00000005 
+ 00031362  0x00008635 force  0x0000000f , 0x00000007 
+ 00031363  0x00008636 call  0x000076a2 
+ 00031364  0x00008637 random  0x0000003f 
+ 00031365  0x00008638 rshift  0x0000003f , 0x0000003f 
+ 00031366  0x00008639 istore  0x00000002 , 0x00000005 
+ 00031367  0x0000863b arg  0x00000766 , 0x00000005 
+ 00031368  0x0000863c arg  0x000045b2 , 0x00000006 
+ 00031369  0x0000863d call  0x00007ebd 
+ 00031370  0x0000863f arg  0x00000646 , 0x00000005 
+ 00031371  0x00008640 arg  0x0000095e , 0x00000006 
+ 00031372  0x00008641 call  0x00007eb3 
+ 00031373  0x00008643 arg  0x00000686 , 0x00000005 
+ 00031374  0x00008644 call  0x00007ed0 
+ 00031375  0x00008645 jam  0x00000001 , 0x00000686 
+ 00031376  0x00008647 call  0x00007ac7 
+ 00031377  0x00008648 jam  0x00000003 , 0x000044c0 
+ 00031378  0x00008649 rtn 
+ 00031379  0x0000864c arg  0x000045d2 , 0x00000005 
+ 00031380  0x0000864d arg  0x000006a6 , 0x00000006 
+ 00031381  0x0000864e call  0x00007eb3 
+ 00031382  0x0000864f jam  0x00000003 , 0x000044c3 
+ 00031383  0x00008650 jam  0x00000000 , 0x000044c0 
+ 00031384  0x00008651 rtn 
+ 00031385  0x00008656 fetch  0x00000001 , 0x000009b9 
+ 00031386  0x00008657 rtnne  0x00000000 
+ 00031387  0x00008658 fetch  0x00000001 , 0x000044c0 
+ 00031388  0x00008659 rtnne  0x00000000 
+ 00031389  0x0000865b arg  0x00000766 , 0x00000005 
+ 00031390  0x0000865c arg  0x000045b2 , 0x00000006 
+ 00031391  0x0000865d call  0x00007ebd 
+ 00031392  0x0000865f arg  0x00000646 , 0x00000005 
+ 00031393  0x00008660 arg  0x000009be , 0x00000006 
+ 00031394  0x00008661 call  0x00007eb3 
+ 00031395  0x00008663 arg  0x00000686 , 0x00000005 
+ 00031396  0x00008664 call  0x00007ed0 
+ 00031397  0x00008665 jam  0x00000001 , 0x00000686 
+ 00031398  0x00008667 call  0x00007ac7 
+ 00031399  0x00008668 jam  0x00000004 , 0x000044c0 
+ 00031400  0x00008669 rtn 
+ 00031401  0x0000866e arg  0x000009fe , 0x00000005 
+ 00031402  0x0000866f arg  0x000006a6 , 0x00000006 
+ 00031403  0x00008670 call  0x00007ebd 
+ 00031404  0x00008671 jam  0x00000003 , 0x000009b9 
+ 00031405  0x00008672 jam  0x00000000 , 0x000044c0 
+ 00031406  0x00008673 rtn 
+ 00031407  0x00008678 fetch  0x00000001 , 0x000044be 
+ 00031408  0x00008679 rtn  0x00000034 
+ 00031409  0x0000867a fetch  0x00000001 , 0x000044c0 
+ 00031410  0x0000867b rtn  0x00000034 
+ 00031411  0x0000867c increase  0x00000080 , 0x0000003f 
+ 00031412  0x0000867d store  0x00000001 , 0x000044c0 
+ 00031413  0x0000867e rtnbit1  0x00000007 
+ 00031414  0x0000867f fetch  0x00000002 , 0x000005e3 
+ 00031415  0x00008680 branch  0x00007ab9 , 0x00000034 
+ 00031416  0x00008681 branch  0x00007abf 
+ 00031417  0x00008684 bpatchx  0x000000f0 , 0x0000403e 
+ 00031418  0x00008685 call  0x00007ad4 
+ 00031419  0x00008686 fetch  0x00000001 , 0x000044c0 
+ 00031420  0x00008687 beq  0x00000003 , 0x00007a93 
+ 00031421  0x00008688 beq  0x00000004 , 0x00007aa9 
+ 00031422  0x00008689 rtn 
+ 00031423  0x0000868d call  0x00007ae6 
+ 00031424  0x0000868e fetch  0x00000002 , 0x000005e3 
+ 00031425  0x0000868f increase  0xffffffff , 0x0000003f 
+ 00031426  0x00008690 store  0x00000002 , 0x000005e3 
+ 00031427  0x00008691 arg  0x00000766 , 0x00000006 
+ 00031428  0x00008692 call  0x000076ec 
+ 00031429  0x00008693 rtn  0x00000001 
+ 00031430  0x00008694 branch  0x00007b37 
+ 00031431  0x00008697 bpatchx  0x000000f1 , 0x0000403e 
+ 00031432  0x00008698 setarg  0x00000100 , 0x0000003f 
+ 00031433  0x00008699 store  0x00000002 , 0x000005e3 
+ 00031434  0x0000869b fetch  0x00000002 , 0x000005e3 
+ 00031435  0x0000869c rtn  0x00000034 
+ 00031436  0x0000869d increase  0xffffffff , 0x0000003f 
+ 00031437  0x0000869e store  0x00000002 , 0x000005e3 
+ 00031438  0x0000869f arg  0x00000766 , 0x00000006 
+ 00031439  0x000086a0 call  0x000076ec 
+ 00031440  0x000086a1 branch  0x00007aca , 0x00000001 
+ 00031441  0x000086a2 arg  0x00000646 , 0x00000006 
+ 00031442  0x000086a3 arg  0x00000706 , 0x00000005 
+ 00031443  0x000086a4 branch  0x00007eb2 
+ 00031444  0x000086a8 arg  0x00000746 , 0x00000011 
+ 00031445  0x000086a9 arg  0x00000846 , 0x00000005 
+ 00031446  0x000086aa call  0x00007ba3 
+ 00031447  0x000086ab arg  0x00000846 , 0x00000011 
+ 00031448  0x000086ac arg  0x000007e6 , 0x00000005 
+ 00031449  0x000086ad call  0x00007c79 
+ 00031450  0x000086ae arg  0x00000706 , 0x00000011 
+ 00031451  0x000086af arg  0x000007e6 , 0x00000012 
+ 00031452  0x000086b0 arg  0x000006a6 , 0x00000005 
+ 00031453  0x000086b1 call  0x00007be1 
+ 00031454  0x000086b2 arg  0x00000846 , 0x00000011 
+ 00031455  0x000086b3 arg  0x000007e6 , 0x00000012 
+ 00031456  0x000086b4 arg  0x00000826 , 0x00000005 
+ 00031457  0x000086b5 call  0x00007be1 
+ 00031458  0x000086b6 arg  0x00000726 , 0x00000011 
+ 00031459  0x000086b7 arg  0x00000826 , 0x00000012 
+ 00031460  0x000086b8 arg  0x000006c6 , 0x00000005 
+ 00031461  0x000086b9 branch  0x00007be1 
+ 00031462  0x000086bc arg  0x00000746 , 0x00000011 
+ 00031463  0x000086bd arg  0x00000826 , 0x00000005 
+ 00031464  0x000086be call  0x00007c79 
+ 00031465  0x000086bf arg  0x00000826 , 0x00000011 
+ 00031466  0x000086c0 arg  0x00000846 , 0x00000005 
+ 00031467  0x000086c1 call  0x00007c79 
+ 00031468  0x000086c3 arg  0x0000093e , 0x00000011 
+ 00031469  0x000086c4 arg  0x00000846 , 0x00000012 
+ 00031470  0x000086c5 arg  0x00000846 , 0x00000005 
+ 00031471  0x000086c6 call  0x00007be1 
+ 00031472  0x000086c7 arg  0x00000706 , 0x00000011 
+ 00031473  0x000086c8 arg  0x00000826 , 0x00000005 
+ 00031474  0x000086c9 call  0x00007c79 
+ 00031475  0x000086cb arg  0x00000826 , 0x00000006 
+ 00031476  0x000086cc arg  0x000007e6 , 0x00000005 
+ 00031477  0x000086cd call  0x00007ebd 
+ 00031478  0x000086ce arg  0x000007e6 , 0x00000011 
+ 00031479  0x000086cf call  0x00007c80 
+ 00031480  0x000086d0 arg  0x00000826 , 0x00000011 
+ 00031481  0x000086d1 arg  0x000007e6 , 0x00000012 
+ 00031482  0x000086d2 arg  0x00000826 , 0x00000005 
+ 00031483  0x000086d3 call  0x00007c7d 
+ 00031484  0x000086d5 arg  0x00000826 , 0x00000011 
+ 00031485  0x000086d6 arg  0x00000846 , 0x00000012 
+ 00031486  0x000086d7 arg  0x00000826 , 0x00000005 
+ 00031487  0x000086d8 call  0x00007c7d 
+ 00031488  0x000086da arg  0x00000706 , 0x00000006 
+ 00031489  0x000086db arg  0x000007e6 , 0x00000005 
+ 00031490  0x000086dc call  0x00007ebd 
+ 00031491  0x000086dd arg  0x00000726 , 0x00000011 
+ 00031492  0x000086de arg  0x00000846 , 0x00000005 
+ 00031493  0x000086df call  0x00007c79 
+ 00031494  0x000086e0 arg  0x000007e6 , 0x00000011 
+ 00031495  0x000086e1 call  0x00007c80 
+ 00031496  0x000086e2 arg  0x000007e6 , 0x00000011 
+ 00031497  0x000086e3 call  0x00007c80 
+ 00031498  0x000086e4 arg  0x000007e6 , 0x00000011 
+ 00031499  0x000086e5 arg  0x00000846 , 0x00000012 
+ 00031500  0x000086e6 arg  0x000007e6 , 0x00000005 
+ 00031501  0x000086e7 call  0x00007be1 
+ 00031502  0x000086e8 arg  0x00000846 , 0x00000011 
+ 00031503  0x000086e9 arg  0x00000806 , 0x00000005 
+ 00031504  0x000086ea call  0x00007c79 
+ 00031505  0x000086eb arg  0x00000806 , 0x00000011 
+ 00031506  0x000086ec call  0x00007c80 
+ 00031507  0x000086ed arg  0x00000806 , 0x00000011 
+ 00031508  0x000086ee call  0x00007c80 
+ 00031509  0x000086ef arg  0x00000806 , 0x00000011 
+ 00031510  0x000086f0 call  0x00007c80 
+ 00031511  0x000086f1 arg  0x00000726 , 0x00000006 
+ 00031512  0x000086f2 arg  0x00000846 , 0x00000005 
+ 00031513  0x000086f3 call  0x00007ebd 
+ 00031514  0x000086f4 arg  0x00000846 , 0x00000011 
+ 00031515  0x000086f5 call  0x00007c80 
+ 00031516  0x000086f6 arg  0x00000846 , 0x00000011 
+ 00031517  0x000086f7 arg  0x00000746 , 0x00000012 
+ 00031518  0x000086f8 arg  0x00000746 , 0x00000005 
+ 00031519  0x000086f9 call  0x00007be1 
+ 00031520  0x000086fc arg  0x00000826 , 0x00000011 
+ 00031521  0x000086fd arg  0x00000846 , 0x00000005 
+ 00031522  0x000086fe call  0x00007c79 
+ 00031523  0x00008700 arg  0x00000846 , 0x00000011 
+ 00031524  0x00008701 arg  0x000007e6 , 0x00000012 
+ 00031525  0x00008702 arg  0x00000846 , 0x00000005 
+ 00031526  0x00008703 call  0x00007c96 
+ 00031527  0x00008704 arg  0x00000846 , 0x00000011 
+ 00031528  0x00008705 arg  0x000007e6 , 0x00000012 
+ 00031529  0x00008706 arg  0x00000706 , 0x00000005 
+ 00031530  0x00008707 call  0x00007c96 
+ 00031531  0x00008708 arg  0x000007e6 , 0x00000011 
+ 00031532  0x00008709 arg  0x00000706 , 0x00000012 
+ 00031533  0x0000870a arg  0x00000846 , 0x00000005 
+ 00031534  0x0000870b call  0x00007c96 
+ 00031535  0x0000870c arg  0x00000846 , 0x00000011 
+ 00031536  0x0000870d arg  0x00000826 , 0x00000012 
+ 00031537  0x0000870e arg  0x00000846 , 0x00000005 
+ 00031538  0x0000870f call  0x00007be1 
+ 00031539  0x00008710 arg  0x00000846 , 0x00000011 
+ 00031540  0x00008711 arg  0x00000806 , 0x00000012 
+ 00031541  0x00008712 arg  0x00000726 , 0x00000005 
+ 00031542  0x00008713 branch  0x00007c96 
+ 00031543  0x00008717 arg  0x00000686 , 0x00000011 
+ 00031544  0x00008718 arg  0x00000866 , 0x00000005 
+ 00031545  0x00008719 call  0x00007c79 
+ 00031546  0x0000871a arg  0x00000706 , 0x00000011 
+ 00031547  0x0000871b arg  0x00000866 , 0x00000012 
+ 00031548  0x0000871c arg  0x00000806 , 0x00000005 
+ 00031549  0x0000871d call  0x00007be1 
+ 00031550  0x00008720 arg  0x00000686 , 0x00000011 
+ 00031551  0x00008721 arg  0x00000866 , 0x00000012 
+ 00031552  0x00008722 arg  0x00000866 , 0x00000005 
+ 00031553  0x00008723 call  0x00007be1 
+ 00031554  0x00008724 arg  0x00000726 , 0x00000011 
+ 00031555  0x00008725 arg  0x00000866 , 0x00000012 
+ 00031556  0x00008726 arg  0x000007e6 , 0x00000005 
+ 00031557  0x00008727 call  0x00007be1 
+ 00031558  0x0000872a arg  0x00000746 , 0x00000011 
+ 00031559  0x0000872b arg  0x00000866 , 0x00000005 
+ 00031560  0x0000872c call  0x00007c79 
+ 00031561  0x0000872d arg  0x00000646 , 0x00000011 
+ 00031562  0x0000872e arg  0x00000866 , 0x00000012 
+ 00031563  0x0000872f arg  0x00000826 , 0x00000005 
+ 00031564  0x00008730 call  0x00007be1 
+ 00031565  0x00008732 arg  0x00000746 , 0x00000011 
+ 00031566  0x00008733 arg  0x00000866 , 0x00000012 
+ 00031567  0x00008734 arg  0x00000866 , 0x00000005 
+ 00031568  0x00008735 call  0x00007be1 
+ 00031569  0x00008736 arg  0x00000666 , 0x00000011 
+ 00031570  0x00008737 arg  0x00000866 , 0x00000012 
+ 00031571  0x00008738 arg  0x00000846 , 0x00000005 
+ 00031572  0x00008739 call  0x00007be1 
+ 00031573  0x0000873e arg  0x00000806 , 0x00000012 
+ 00031574  0x0000873f arg  0x00000826 , 0x00000011 
+ 00031575  0x00008740 arg  0x00000866 , 0x00000005 
+ 00031576  0x00008741 call  0x00007c96 
+ 00031577  0x00008742 arg  0x00000806 , 0x00000011 
+ 00031578  0x00008743 arg  0x00000826 , 0x00000012 
+ 00031579  0x00008744 arg  0x00000806 , 0x00000005 
+ 00031580  0x00008745 call  0x00007c7d 
+ 00031581  0x00008748 arg  0x000007e6 , 0x00000012 
+ 00031582  0x00008749 arg  0x00000846 , 0x00000011 
+ 00031583  0x0000874a arg  0x00000826 , 0x00000005 
+ 00031584  0x0000874b call  0x00007c96 
+ 00031585  0x0000874c arg  0x000007e6 , 0x00000011 
+ 00031586  0x0000874d arg  0x00000846 , 0x00000012 
+ 00031587  0x0000874e arg  0x000007e6 , 0x00000005 
+ 00031588  0x0000874f call  0x00007c7d 
+ 00031589  0x00008750 arg  0x000007e6 , 0x00000011 
+ 00031590  0x00008751 arg  0x00000866 , 0x00000012 
+ 00031591  0x00008752 arg  0x000007e6 , 0x00000005 
+ 00031592  0x00008753 call  0x00007be1 
+ 00031593  0x00008754 arg  0x00000746 , 0x00000011 
+ 00031594  0x00008755 arg  0x00000686 , 0x00000012 
+ 00031595  0x00008756 arg  0x00000846 , 0x00000005 
+ 00031596  0x00008757 call  0x00007be1 
+ 00031597  0x00008758 arg  0x00000846 , 0x00000011 
+ 00031598  0x00008759 arg  0x00000866 , 0x00000012 
+ 00031599  0x0000875a arg  0x00000746 , 0x00000005 
+ 00031600  0x0000875b call  0x00007be1 
+ 00031601  0x0000875d arg  0x00000866 , 0x00000011 
+ 00031602  0x0000875e arg  0x00000866 , 0x00000005 
+ 00031603  0x0000875f call  0x00007c79 
+ 00031604  0x00008760 arg  0x00000866 , 0x00000011 
+ 00031605  0x00008761 arg  0x00000806 , 0x00000012 
+ 00031606  0x00008762 arg  0x00000846 , 0x00000005 
+ 00031607  0x00008763 call  0x00007be1 
+ 00031608  0x00008764 arg  0x00000866 , 0x00000011 
+ 00031609  0x00008765 arg  0x000007e6 , 0x00000012 
+ 00031610  0x00008766 arg  0x000007e6 , 0x00000005 
+ 00031611  0x00008767 call  0x00007be1 
+ 00031612  0x00008768 arg  0x00000826 , 0x00000011 
+ 00031613  0x00008769 arg  0x00000706 , 0x00000005 
+ 00031614  0x0000876a call  0x00007c79 
+ 00031615  0x0000876b arg  0x00000706 , 0x00000011 
+ 00031616  0x0000876c arg  0x00000846 , 0x00000012 
+ 00031617  0x0000876d arg  0x00000706 , 0x00000005 
+ 00031618  0x0000876e call  0x00007c96 
+ 00031619  0x0000876f arg  0x00000706 , 0x00000006 
+ 00031620  0x00008770 arg  0x00000866 , 0x00000005 
+ 00031621  0x00008771 call  0x00007ebd 
+ 00031622  0x00008772 arg  0x00000866 , 0x00000011 
+ 00031623  0x00008773 call  0x00007c80 
+ 00031624  0x00008774 arg  0x00000846 , 0x00000011 
+ 00031625  0x00008775 arg  0x00000866 , 0x00000012 
+ 00031626  0x00008776 arg  0x00000846 , 0x00000005 
+ 00031627  0x00008777 call  0x00007c96 
+ 00031628  0x00008778 arg  0x00000846 , 0x00000011 
+ 00031629  0x00008779 arg  0x00000826 , 0x00000012 
+ 00031630  0x0000877a arg  0x00000826 , 0x00000005 
+ 00031631  0x0000877b call  0x00007be1 
+ 00031632  0x0000877c arg  0x00000826 , 0x00000011 
+ 00031633  0x0000877d arg  0x000007e6 , 0x00000012 
+ 00031634  0x0000877e arg  0x00000726 , 0x00000005 
+ 00031635  0x0000877f call  0x00007c96 
+ 00031636  0x00008780 arg  0x00000726 , 0x00000011 
+ 00031637  0x00008781 arg  0x0000091e , 0x00000012 
+ 00031638  0x00008782 arg  0x00000726 , 0x00000005 
+ 00031639  0x00008783 force  0x00000000 , 0x00000013 
+ 00031640  0x00008784 fetch  0x00000001 , 0x00000726 
+ 00031641  0x00008785 isolate1  0x00000000 , 0x0000003f 
+ 00031642  0x00008786 call  0x00007c7b , 0x00000001 
+ 00031643  0x00008787 copy  0x00000013 , 0x00000030 
+ 00031644  0x00008788 arg  0x00000726 , 0x00000011 
+ 00031645  0x00008789 call  0x00007cab 
+ 00031646  0x0000878a fetch  0x00000001 , 0x00000745 
+ 00031647  0x0000878b isolate1  0x00000000 , 0x00000030 
+ 00031648  0x0000878c setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00031649  0x0000878d store  0x00000001 , 0x00000745 
+ 00031650  0x0000878e rtn 
+ 00031651  0x00008791 copy  0x00000005 , 0x0000000b 
+ 00031652  0x00008792 arg  0x00000806 , 0x00000005 
+ 00031653  0x00008793 call  0x00007ed0 
+ 00031654  0x00008794 force  0x00000000 , 0x0000003f 
+ 00031655  0x00008796 store  0x00000004 , 0x00000826 
+ 00031656  0x00008797 jam  0x00000001 , 0x00000806 
+ 00031657  0x00008798 arg  0x00000786 , 0x00000005 
+ 00031658  0x00008799 call  0x00007ed2 
+ 00031659  0x0000879a arg  0x0000091e , 0x00000006 
+ 00031660  0x0000879b arg  0x000007c6 , 0x00000005 
+ 00031661  0x0000879c call  0x00007ebd 
+ 00031662  0x0000879d copy  0x00000011 , 0x00000006 
+ 00031663  0x0000879e arg  0x000007e6 , 0x00000005 
+ 00031664  0x0000879f call  0x00007ebd 
+ 00031665  0x000087a6 arg  0x000007e6 , 0x00000006 
+ 00031666  0x000087a7 call  0x00007cb5 
+ 00031667  0x000087a8 branch  0x00007bda , 0x00000034 
+ 00031668  0x000087ad arg  0x000007e6 , 0x00000011 
+ 00031669  0x000087ae arg  0x00000806 , 0x00000012 
+ 00031670  0x000087af call  0x00007cb8 
+ 00031671  0x000087b0 arg  0x000007c6 , 0x00000011 
+ 00031672  0x000087b1 arg  0x00000786 , 0x00000012 
+ 00031673  0x000087b2 call  0x00007cb8 
+ 00031674  0x000087b4 arg  0x000007e6 , 0x00000011 
+ 00031675  0x000087b5 arg  0x000007c6 , 0x00000012 
+ 00031676  0x000087b6 call  0x00007cb1 
+ 00031677  0x000087b7 branch  0x00007bcc , 0x00000002 
+ 00031678  0x000087b8 arg  0x000007c6 , 0x00000011 
+ 00031679  0x000087b9 arg  0x000007e6 , 0x00000012 
+ 00031680  0x000087ba copy  0x00000011 , 0x00000005 
+ 00031681  0x000087bb call  0x00007ca9 
+ 00031682  0x000087bc arg  0x00000806 , 0x00000011 
+ 00031683  0x000087bd arg  0x00000786 , 0x00000012 
+ 00031684  0x000087be copy  0x00000012 , 0x00000005 
+ 00031685  0x000087bf call  0x00007c7b 
+ 00031686  0x000087c0 ifetch  0x00000001 , 0x00000011 
+ 00031687  0x000087c1 iadd  0x00000013 , 0x00000013 
+ 00031688  0x000087c2 ifetch  0x00000001 , 0x00000012 
+ 00031689  0x000087c3 iadd  0x00000013 , 0x0000003f 
+ 00031690  0x000087c4 istore  0x00000001 , 0x00000012 
+ 00031691  0x000087c5 branch  0x00007bb1 
+ 00031692  0x000087c7 arg  0x000007e6 , 0x00000011 
+ 00031693  0x000087c8 arg  0x000007c6 , 0x00000012 
+ 00031694  0x000087c9 copy  0x00000011 , 0x00000005 
+ 00031695  0x000087ca call  0x00007ca9 
+ 00031696  0x000087cb arg  0x00000786 , 0x00000011 
+ 00031697  0x000087cc arg  0x00000806 , 0x00000012 
+ 00031698  0x000087cd copy  0x00000012 , 0x00000005 
+ 00031699  0x000087ce call  0x00007c7b 
+ 00031700  0x000087cf ifetch  0x00000001 , 0x00000011 
+ 00031701  0x000087d0 iadd  0x00000013 , 0x00000013 
+ 00031702  0x000087d1 ifetch  0x00000001 , 0x00000012 
+ 00031703  0x000087d2 iadd  0x00000013 , 0x0000003f 
+ 00031704  0x000087d3 istore  0x00000001 , 0x00000012 
+ 00031705  0x000087d4 branch  0x00007bb1 
+ 00031706  0x000087d7 arg  0x00000786 , 0x00000011 
+ 00031707  0x000087d8 copy  0x0000000b , 0x00000005 
+ 00031708  0x000087d9 call  0x00007c0a 
+ 00031709  0x000087db arg  0x0000091e , 0x00000011 
+ 00031710  0x000087dc copy  0x0000000b , 0x00000012 
+ 00031711  0x000087dd copy  0x0000000b , 0x00000005 
+ 00031712  0x000087de branch  0x00007c96 
+ 00031713  0x000087e2 copy  0x00000005 , 0x0000000b 
+ 00031714  0x000087e4 force  0x00000000 , 0x00000038 
+ 00031715  0x000087e6 arg  0x00000786 , 0x00000005 
+ 00031716  0x000087e7 call  0x00007ed2 
+ 00031717  0x000087e8 arg  0x00000ad2 , 0x00000005 
+ 00031718  0x000087e9 call  0x00007ed2 
+ 00031719  0x000087ed copy  0x00000011 , 0x00000006 
+ 00031720  0x000087ef jam  0x00000000 , 0x00000ad2 
+ 00031721  0x000087f0 setarg  0x00000000 
+ 00031722  0x000087f1 call  0x00007c73 
+ 00031723  0x000087f2 copy  0x00000012 , 0x00000006 
+ 00031724  0x000087f3 call  0x00007c77 
+ 00031725  0x000087f6 force  0x00000000 , 0x00000007 
+ 00031726  0x000087f7 arg  0x00000786 , 0x00000005 
+ 00031727  0x000087fb arg  0x00000ad2 , 0x00000002 
+ 00031728  0x000087fc copy  0x00000007 , 0x00000012 
+ 00031729  0x000087fd lshift2  0x00000012 , 0x0000003f 
+ 00031730  0x000087ff iadd  0x00000002 , 0x00000012 
+ 00031731  0x00008800 force  0x00000000 , 0x00000002 
+ 00031732  0x00008801 force  0x00000000 , 0x00000013 
+ 00031733  0x00008807 ifetch  0x00000004 , 0x00000005 
+ 00031734  0x00008808 iforce  0x00000011 
+ 00031735  0x0000880b ifetch  0x00000004 , 0x00000012 
+ 00031736  0x0000880c copy  0x00000013 , 0x00000038 
+ 00031737  0x0000880d imul32  0x0000002f , 0x0000003f 
+ 00031738  0x0000880e iadd  0x00000011 , 0x0000003f 
+ 00031739  0x0000880f iadd  0x00000002 , 0x0000003f 
+ 00031740  0x00008810 istore  0x00000004 , 0x00000005 
+ 00031741  0x00008811 rshift32  0x0000003f , 0x00000002 
+ 00031742  0x00008812 increase  0x00000001 , 0x00000013 
+ 00031743  0x00008813 compare  0x00000008 , 0x00000013 , 0x000000ff 
+ 00031744  0x00008814 nbranch  0x00007bf5 , 0x00000001 
+ 00031745  0x00008816 deposit  0x00000002 
+ 00031746  0x00008817 istore  0x00000004 , 0x00000005 
+ 00031747  0x00008818 increase  0xffffffe0 , 0x00000005 
+ 00031748  0x0000881b increase  0x00000001 , 0x00000007 
+ 00031749  0x0000881c compare  0x00000008 , 0x00000007 , 0x000000ff 
+ 00031750  0x0000881d nbranch  0x00007bef , 0x00000001 
+ 00031751  0x0000881e arg  0x00000786 , 0x00000011 
+ 00031752  0x0000881f copy  0x0000000b , 0x00000005 
+ 00031753  0x00008820 branch  0x00007c0a 
+ 00031754  0x00008823 bpatchx  0x000000f2 , 0x0000403e 
+ 00031755  0x00008824 copy  0x00000005 , 0x0000000b 
+ 00031756  0x00008825 copy  0x00000011 , 0x00000030 
+ 00031757  0x00008826 arg  0x000007c6 , 0x00000012 
+ 00031758  0x00008827 copy  0x00000012 , 0x00000005 
+ 00031759  0x00008828 call  0x00007ecd 
+ 00031760  0x00008829 istore  0x00000008 , 0x00000005 
+ 00031761  0x0000882a add  0x00000011 , 0x0000002c , 0x00000006 
+ 00031762  0x0000882b call  0x00007eb9 
+ 00031763  0x0000882c call  0x00007eb5 
+ 00031764  0x0000882d copy  0x00000012 , 0x00000011 
+ 00031765  0x0000882e call  0x00007c80 
+ 00031766  0x0000882f arg  0x000007c6 , 0x00000012 
+ 00031767  0x00008830 copy  0x00000030 , 0x00000011 
+ 00031768  0x00008831 copy  0x0000000b , 0x00000005 
+ 00031769  0x00008832 call  0x00007c7d 
+ 00031770  0x00008834 arg  0x000007c6 , 0x00000012 
+ 00031771  0x00008835 copy  0x00000012 , 0x00000005 
+ 00031772  0x00008836 call  0x00007ecd 
+ 00031773  0x00008837 istore  0x00000008 , 0x00000005 
+ 00031774  0x00008838 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031775  0x00008839 call  0x00007ebf 
+ 00031776  0x0000883a call  0x00007ecd 
+ 00031777  0x0000883b copy  0x00000012 , 0x00000011 
+ 00031778  0x0000883c call  0x00007c80 
+ 00031779  0x00008840 arg  0x000007c6 , 0x00000012 
+ 00031780  0x00008841 copy  0x0000000b , 0x00000011 
+ 00031781  0x00008842 copy  0x00000011 , 0x00000005 
+ 00031782  0x00008843 call  0x00007c7d 
+ 00031783  0x00008847 arg  0x000007c6 , 0x00000012 
+ 00031784  0x00008848 copy  0x00000012 , 0x00000005 
+ 00031785  0x00008849 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031786  0x0000884a call  0x00007eb5 
+ 00031787  0x0000884b call  0x00007ecd 
+ 00031788  0x0000884c istore  0x00000008 , 0x00000005 
+ 00031789  0x0000884d add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031790  0x0000884e call  0x00007eb9 
+ 00031791  0x0000884f copy  0x0000000b , 0x00000011 
+ 00031792  0x00008850 copy  0x00000011 , 0x00000005 
+ 00031793  0x00008851 call  0x00007c7d 
+ 00031794  0x00008855 arg  0x000007c6 , 0x00000012 
+ 00031795  0x00008856 copy  0x00000012 , 0x00000005 
+ 00031796  0x00008857 add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031797  0x00008858 call  0x00007eb5 
+ 00031798  0x00008859 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031799  0x0000885a call  0x00007eb5 
+ 00031800  0x0000885b add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031801  0x0000885c call  0x00007eb6 
+ 00031802  0x0000885d add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031803  0x0000885e call  0x00007eb6 
+ 00031804  0x0000885f copy  0x0000000b , 0x00000011 
+ 00031805  0x00008860 copy  0x00000011 , 0x00000005 
+ 00031806  0x00008861 call  0x00007c7d 
+ 00031807  0x00008864 arg  0x000007c6 , 0x00000012 
+ 00031808  0x00008865 copy  0x00000012 , 0x00000005 
+ 00031809  0x00008866 add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031810  0x00008867 call  0x00007eb5 
+ 00031811  0x00008868 call  0x00007ecd 
+ 00031812  0x00008869 istore  0x00000008 , 0x00000005 
+ 00031813  0x0000886a add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031814  0x0000886b call  0x00007eb6 
+ 00031815  0x0000886c add  0x00000030 , 0x00000028 , 0x00000006 
+ 00031816  0x0000886d call  0x00007eb6 
+ 00031817  0x0000886e copy  0x0000000b , 0x00000011 
+ 00031818  0x0000886f copy  0x00000011 , 0x00000005 
+ 00031819  0x00008870 call  0x00007c96 
+ 00031820  0x00008873 arg  0x000007c6 , 0x00000012 
+ 00031821  0x00008874 copy  0x00000012 , 0x00000005 
+ 00031822  0x00008875 add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031823  0x00008876 call  0x00007eb9 
+ 00031824  0x00008877 call  0x00007eb9 
+ 00031825  0x00008878 force  0x00000000 , 0x0000003f 
+ 00031826  0x00008879 istore  0x00000008 , 0x00000005 
+ 00031827  0x0000887a add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031828  0x0000887b call  0x00007eb6 
+ 00031829  0x0000887c add  0x00000030 , 0x0000002c , 0x00000006 
+ 00031830  0x0000887d call  0x00007eb6 
+ 00031831  0x0000887e copy  0x0000000b , 0x00000011 
+ 00031832  0x0000887f copy  0x00000011 , 0x00000005 
+ 00031833  0x00008880 call  0x00007c96 
+ 00031834  0x00008883 arg  0x000007c6 , 0x00000012 
+ 00031835  0x00008884 copy  0x00000012 , 0x00000005 
+ 00031836  0x00008885 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031837  0x00008886 call  0x00007eb5 
+ 00031838  0x00008887 add  0x00000030 , 0x00000020 , 0x00000006 
+ 00031839  0x00008888 call  0x00007eb5 
+ 00031840  0x00008889 call  0x00007ecd 
+ 00031841  0x0000888a add  0x00000030 , 0x00000030 , 0x00000006 
+ 00031842  0x0000888b call  0x00007eb6 
+ 00031843  0x0000888c copy  0x0000000b , 0x00000011 
+ 00031844  0x0000888d copy  0x00000011 , 0x00000005 
+ 00031845  0x0000888e call  0x00007c96 
+ 00031846  0x00008891 arg  0x000007c6 , 0x00000012 
+ 00031847  0x00008892 copy  0x00000012 , 0x00000005 
+ 00031848  0x00008893 add  0x00000030 , 0x00000038 , 0x00000006 
+ 00031849  0x00008894 call  0x00007eb9 
+ 00031850  0x00008895 call  0x00007ecd 
+ 00031851  0x00008896 add  0x00000030 , 0x00000024 , 0x00000006 
+ 00031852  0x00008897 call  0x00007eb5 
+ 00031853  0x00008898 call  0x00007ecd 
+ 00031854  0x00008899 add  0x00000030 , 0x00000034 , 0x00000006 
+ 00031855  0x0000889a call  0x00007eb6 
+ 00031856  0x0000889b copy  0x0000000b , 0x00000011 
+ 00031857  0x0000889c copy  0x00000011 , 0x00000005 
+ 00031858  0x0000889d branch  0x00007c96 
+ 00031859  0x000088a1 force  0x00000020 , 0x00000039 
+ 00031860  0x000088a2 arg  0x00000ad2 , 0x00000005 
+ 00031861  0x000088a3 iadd  0x00000005 , 0x00000005 
+ 00031862  0x000088a4 branch  0x00007f01 
+ 00031863  0x000088a7 force  0x00000008 , 0x00000039 
+ 00031864  0x000088a8 branch  0x00007781 
+ 00031865  0x000088ab copy  0x00000011 , 0x00000012 
+ 00031866  0x000088ac branch  0x00007be1 
+ 00031867  0x000088af force  0x00000008 , 0x00000039 
+ 00031868  0x000088b0 branch  0x00007712 
+ 00031869  0x000088b3 call  0x00007c7b 
+ 00031870  0x000088b4 copy  0x00000005 , 0x00000011 
+ 00031871  0x000088b5 branch  0x00007c81 
+ 00031872  0x000088b8 call  0x00007cae 
+ 00031873  0x000088ba isolate1  0x00000000 , 0x00000013 
+ 00031874  0x000088bb branch  0x00007c8a , 0x00000001 
+ 00031875  0x000088bc arg  0x0000091e , 0x00000012 
+ 00031876  0x000088bd copy  0x00000011 , 0x00000013 
+ 00031877  0x000088be increase  0xffffffe0 , 0x00000011 
+ 00031878  0x000088bf call  0x00007cb1 
+ 00031879  0x000088c0 nrtn  0x00000002 
+ 00031880  0x000088c1 copy  0x00000013 , 0x00000011 
+ 00031881  0x000088c2 branch  0x00007c92 
+ 00031882  0x000088c5 call  0x00007c92 
+ 00031883  0x000088c7 copy  0x00000011 , 0x00000013 
+ 00031884  0x000088c8 increase  0xffffffe0 , 0x00000011 
+ 00031885  0x000088c9 arg  0x0000091e , 0x00000012 
+ 00031886  0x000088ca call  0x00007cb1 
+ 00031887  0x000088cb nrtn  0x00000002 
+ 00031888  0x000088cc copy  0x00000013 , 0x00000011 
+ 00031889  0x000088cd branch  0x00007c92 
+ 00031890  0x000088d1 increase  0xffffffe0 , 0x00000011 
+ 00031891  0x000088d2 arg  0x0000091e , 0x00000012 
+ 00031892  0x000088d3 copy  0x00000011 , 0x00000005 
+ 00031893  0x000088d4 branch  0x00007ca9 
+ 00031894  0x000088da call  0x00007ca9 
+ 00031895  0x000088dc branch  0x00007ca0 , 0x00000001 
+ 00031896  0x000088df add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031897  0x000088e0 arg  0x0000091e , 0x00000012 
+ 00031898  0x000088e1 call  0x00007cb1 
+ 00031899  0x000088e2 nrtn  0x00000002 
+ 00031900  0x000088e3 arg  0x0000091e , 0x00000012 
+ 00031901  0x000088e4 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031902  0x000088e6 copy  0x00000011 , 0x00000005 
+ 00031903  0x000088e7 branch  0x00007ca9 
+ 00031904  0x000088e9 add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031905  0x000088ea arg  0x0000091e , 0x00000012 
+ 00031906  0x000088eb copy  0x00000011 , 0x00000005 
+ 00031907  0x000088ec call  0x00007c7b 
+ 00031908  0x000088ee rtn  0x00000001 
+ 00031909  0x000088ef add  0x00000005 , 0xffffffe0 , 0x00000011 
+ 00031910  0x000088f0 arg  0x0000091e , 0x00000012 
+ 00031911  0x000088f1 copy  0x00000011 , 0x00000005 
+ 00031912  0x000088f2 branch  0x00007c7b 
+ 00031913  0x000088f7 force  0x00000008 , 0x00000039 
+ 00031914  0x000088f8 branch  0x00007720 
+ 00031915  0x000088fb force  0x00000008 , 0x00000039 
+ 00031916  0x000088fc increase  0x0000001c , 0x00000011 
+ 00031917  0x000088fd branch  0x0000772f 
+ 00031918  0x00008900 force  0x00000008 , 0x00000039 
+ 00031919  0x00008901 force  0x00000000 , 0x00000013 
+ 00031920  0x00008902 branch  0x0000773d 
+ 00031921  0x00008905 force  0x00000008 , 0x00000039 
+ 00031922  0x00008906 increase  0x0000001c , 0x00000011 
+ 00031923  0x00008907 increase  0x0000001c , 0x00000012 
+ 00031924  0x00008908 branch  0x00007707 
+ 00031925  0x0000890c ifetch  0x00000008 , 0x00000006 
+ 00031926  0x0000890d nrtn  0x00000034 
+ 00031927  0x0000890e branch  0x000076f5 
+ 00031928  0x00008914 copy  0x00000011 , 0x00000030 
+ 00031929  0x00008916 copy  0x00000030 , 0x00000011 
+ 00031930  0x00008917 ifetch  0x00000001 , 0x00000011 
+ 00031931  0x00008918 isolate1  0x00000000 , 0x0000003f 
+ 00031932  0x00008919 rtn  0x00000001 
+ 00031933  0x0000891a call  0x00007cab 
+ 00031934  0x0000891b ifetch  0x00000001 , 0x00000012 
+ 00031935  0x0000891c isolate0  0x00000000 , 0x0000003f 
+ 00031936  0x0000891d branch  0x00007cc8 , 0x00000001 
+ 00031937  0x0000891e arg  0x0000091e , 0x00000011 
+ 00031938  0x0000891f copy  0x00000012 , 0x00000005 
+ 00031939  0x00008920 call  0x00007c7b 
+ 00031940  0x00008921 ifetch  0x00000001 , 0x00000012 
+ 00031941  0x00008922 iadd  0x00000013 , 0x0000003f 
+ 00031942  0x00008923 istore  0x00000001 , 0x00000012 
+ 00031943  0x00008924 increase  0xffffffe0 , 0x00000012 
+ 00031944  0x00008926 add  0x00000012 , 0x00000020 , 0x00000011 
+ 00031945  0x00008927 force  0x00000009 , 0x00000039 
+ 00031946  0x00008928 call  0x0000772f 
+ 00031947  0x00008929 branch  0x00007cb9 
+ 00031948  0x0000892e call  0x00002c65 
+ 00031949  0x0000892f rtn  0x0000002b 
+ 00031950  0x00008930 call  0x00007cd3 
+ 00031951  0x00008931 call  0x00007d75 
+ 00031952  0x00008932 branch  0x00007d08 
+ 00031953  0x00008935 call  0x00007d29 
+ 00031954  0x00008937 branch  0x00007d64 
+ 00031955  0x0000893a fetch  0x00000001 , 0x00004686 
+ 00031956  0x0000893b rtneq  0x000000ff 
+ 00031957  0x0000893c iforce  0x00000002 
+ 00031958  0x0000893d call  0x0000680e 
+ 00031959  0x0000893e fetcht  0x00000001 , 0x00004686 
+ 00031960  0x0000893f call  0x00006825 
+ 00031961  0x00008940 nop  0x00000064 
+ 00031962  0x00008941 fetcht  0x00000001 , 0x00004686 
+ 00031963  0x00008942 call  0x000067fb 
+ 00031964  0x00008943 branch  0x00007cdd 
+ 00031965  0x00008948 bpatchx  0x000000f3 , 0x0000403e 
+ 00031966  0x00008949 fetch  0x00000001 , 0x00004686 
+ 00031967  0x0000894a rtneq  0x000000ff 
+ 00031968  0x0000894b copy  0x0000003f , 0x00000002 
+ 00031969  0x0000894c call  0x0000681d 
+ 00031970  0x0000894d nbranch  0x00007cef , 0x00000001 
+ 00031971  0x00008950 call  0x00007cf9 
+ 00031972  0x00008951 fetch  0x00000002 , 0x00004682 
+ 00031973  0x00008952 set1  0x0000000c 
+ 00031974  0x00008953 store  0x00000002 , 0x00004682 
+ 00031975  0x00008954 fetch  0x00000001 , 0x00004679 
+ 00031976  0x00008955 rtneq  0x00000000 
+ 00031977  0x00008956 jam  0x00000000 , 0x00004679 
+ 00031978  0x00008958 fetch  0x00000001 , 0x00004685 
+ 00031979  0x00008959 store  0x00000001 , 0x00004678 
+ 00031980  0x0000895a call  0x00007d00 
+ 00031981  0x0000895b jam  0x0000002c , 0x00000a99 
+ 00031982  0x0000895c branch  0x00007d86 
+ 00031983  0x0000895e fetch  0x00000002 , 0x00004682 
+ 00031984  0x0000895f set0  0x0000000c 
+ 00031985  0x00008960 store  0x00000002 , 0x00004682 
+ 00031986  0x00008961 fetch  0x00000001 , 0x00004679 
+ 00031987  0x00008962 rtneq  0x00000001 
+ 00031988  0x00008963 jam  0x00000001 , 0x00004679 
+ 00031989  0x00008965 jam  0x00000000 , 0x00004678 
+ 00031990  0x00008966 call  0x00007d02 
+ 00031991  0x00008967 jam  0x0000002d , 0x00000a99 
+ 00031992  0x00008968 branch  0x00007d86 
+ 00031993  0x0000896b fetch  0x00000001 , 0x00004678 
+ 00031994  0x0000896c rtn  0x00000034 
+ 00031995  0x0000896d increase  0xffffffff , 0x0000003f 
+ 00031996  0x0000896e store  0x00000001 , 0x00004678 
+ 00031997  0x0000896f nrtn  0x00000034 
+ 00031998  0x00008971 jam  0x00000010 , 0x00000a99 
+ 00031999  0x00008972 branch  0x00007d86 
+ 00032000  0x00008975 arg  0x00000007 , 0x00000007 
+ 00032001  0x00008976 branch  0x00002c32 
+ 00032002  0x00008979 arg  0x00000007 , 0x00000007 
+ 00032003  0x0000897a branch  0x00002c36 
+ 00032004  0x00008991 fetch  0x00000002 , 0x0000421b 
+ 00032005  0x00008992 mul32  0x00000011 , 0x0000000b , 0x00000012 
+ 00032006  0x00008993 iadd  0x00000012 , 0x00000012 
+ 00032007  0x00008994 rtn 
+ 00032008  0x00008998 fetch  0x00000001 , 0x0000421a 
+ 00032009  0x00008999 rtn  0x00000034 
+ 00032010  0x0000899a copy  0x0000003f , 0x00000039 
+ 00032011  0x0000899b fetch  0x00000002 , 0x0000421b 
+ 00032012  0x0000899c copy  0x0000003f , 0x00000012 
+ 00032013  0x0000899e add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032014  0x0000899f ifetcht  0x00000001 , 0x00000013 
+ 00032015  0x000089a0 call  0x0000680e 
+ 00032016  0x000089a1 call  0x00007d32 
+ 00032017  0x000089a2 increase  0x0000000b , 0x00000012 
+ 00032018  0x000089a3 loop  0x00007d0d 
+ 00032019  0x000089a4 rtn 
+ 00032020  0x000089a9 call  0x00007d04 
+ 00032021  0x000089aa setarg  0x00000002 
+ 00032022  0x000089ab istore  0x00000001 , 0x00000012 
+ 00032023  0x000089ac call  0x00007d5e 
+ 00032024  0x000089ad branch  0x00007d35 
+ 00032025  0x000089b3 call  0x00007d04 
+ 00032026  0x000089b4 setarg  0x00000003 
+ 00032027  0x000089b5 istore  0x00000001 , 0x00000012 
+ 00032028  0x000089b6 call  0x00007d5e 
+ 00032029  0x000089b7 branch  0x00007d32 
+ 00032030  0x000089bc call  0x00007d04 
+ 00032031  0x000089bd setarg  0x00000001 
+ 00032032  0x000089be istore  0x00000001 , 0x00000012 
+ 00032033  0x000089bf setarg  0x000000ff 
+ 00032034  0x000089c0 istore  0x00000001 , 0x00000005 
+ 00032035  0x000089c1 branch  0x00007d32 
+ 00032036  0x000089c7 call  0x00007d04 
+ 00032037  0x000089c8 arg  0x0000000b , 0x00000039 
+ 00032038  0x000089c9 copy  0x00000013 , 0x00000006 
+ 00032039  0x000089ca copy  0x00000012 , 0x00000005 
+ 00032040  0x000089cb branch  0x00007ef4 
+ 00032041  0x000089d0 fetch  0x00000001 , 0x0000421a 
+ 00032042  0x000089d1 rtn  0x00000034 
+ 00032043  0x000089d2 arg  0x00000000 , 0x00000011 
+ 00032044  0x000089d4 call  0x00007d38 
+ 00032045  0x000089d5 increase  0x00000001 , 0x00000011 
+ 00032046  0x000089d6 fetch  0x00000001 , 0x0000421a 
+ 00032047  0x000089d7 isub  0x00000011 , 0x0000003e 
+ 00032048  0x000089d8 rtn  0x00000005 
+ 00032049  0x000089d9 branch  0x00007d2c 
+ 00032050  0x000089dd add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032051  0x000089de ifetcht  0x00000001 , 0x00000013 
+ 00032052  0x000089df branch  0x00006825 
+ 00032053  0x000089e3 add  0x00000012 , 0x00000002 , 0x00000013 
+ 00032054  0x000089e4 ifetcht  0x00000001 , 0x00000013 
+ 00032055  0x000089e5 branch  0x00006829 
+ 00032056  0x000089ea add  0x00000011 , 0x0000000b , 0x00000007 
+ 00032057  0x000089eb call  0x00007f16 
+ 00032058  0x000089ec nrtn  0x00000034 
+ 00032059  0x000089ee call  0x00007d04 
+ 00032060  0x000089f0 ifetch  0x00000001 , 0x00000012 
+ 00032061  0x000089f2 beq  0x00000002 , 0x00007d35 
+ 00032062  0x000089f3 beq  0x00000003 , 0x00007d32 
+ 00032063  0x000089f4 beq  0x00000000 , 0x00007d32 
+ 00032064  0x000089f5 beq  0x00000005 , 0x00007d4c 
+ 00032065  0x000089f7 call  0x00007d35 
+ 00032066  0x000089f8 add  0x00000012 , 0x00000007 , 0x00000013 
+ 00032067  0x000089f9 call  0x00007e7c 
+ 00032068  0x000089fa ifetch  0x00000002 , 0x00000013 
+ 00032069  0x000089fb call  0x00007f9c 
+ 00032070  0x000089fc call  0x00007e8c 
+ 00032071  0x000089fd setarg  0x00000005 
+ 00032072  0x000089fe istore  0x00000001 , 0x00000012 
+ 00032073  0x000089ff add  0x00000012 , 0x00000003 , 0x00000013 
+ 00032074  0x00008a00 ifetch  0x00000002 , 0x00000013 
+ 00032075  0x00008a01 branch  0x00007d5c 
+ 00032076  0x00008a05 call  0x00007d32 
+ 00032077  0x00008a06 add  0x00000012 , 0x00000009 , 0x00000013 
+ 00032078  0x00008a07 call  0x00007e7c 
+ 00032079  0x00008a08 ifetch  0x00000002 , 0x00000013 
+ 00032080  0x00008a09 call  0x00007f9c 
+ 00032081  0x00008a0a call  0x00007e8c 
+ 00032082  0x00008a0c add  0x00000012 , 0x00000001 , 0x00000013 
+ 00032083  0x00008a0d ifetch  0x00000001 , 0x00000013 
+ 00032084  0x00008a0e beq  0x000000ff , 0x00007d58 
+ 00032085  0x00008a0f increase  0xffffffff , 0x0000003f 
+ 00032086  0x00008a10 istore  0x00000001 , 0x00000013 
+ 00032087  0x00008a11 branch  0x00007d19 , 0x00000034 
+ 00032088  0x00008a13 setarg  0x00000004 
+ 00032089  0x00008a14 istore  0x00000001 , 0x00000012 
+ 00032090  0x00008a15 add  0x00000012 , 0x00000005 , 0x00000013 
+ 00032091  0x00008a16 ifetch  0x00000002 , 0x00000013 
+ 00032092  0x00008a18 add  0x00000011 , 0x0000000b , 0x00000007 
+ 00032093  0x00008a19 branch  0x00007f08 
+ 00032094  0x00008a1c setarg  0x00000000 
+ 00032095  0x00008a1d branch  0x00007d5c 
+ 00032096  0x00008a24 setarg  0x00001000 
+ 00032097  0x00008a25 lshift16  0x0000003f , 0x0000003f 
+ 00032098  0x00008a26 iadd  0x00000012 , 0x00000012 
+ 00032099  0x00008a27 rtn 
+ 00032100  0x00008a2a bpatchx  0x000000f4 , 0x0000403e 
+ 00032101  0x00008a2b arg  0x00000000 , 0x00000011 
+ 00032102  0x00008a2c fetcht  0x00000004 , 0x0000467a 
+ 00032103  0x00008a2d copy  0x00000022 , 0x00000012 
+ 00032104  0x00008a2e copy  0x00000012 , 0x0000003f 
+ 00032105  0x00008a2f isub  0x00000002 , 0x0000003e 
+ 00032106  0x00008a30 ncall  0x00007d60 , 0x00000002 
+ 00032107  0x00008a33 copy  0x00000012 , 0x0000003f 
+ 00032108  0x00008a34 increase  0x000000a0 , 0x00000002 
+ 00032109  0x00008a35 increase  0x000000a0 , 0x00000002 
+ 00032110  0x00008a36 isub  0x00000002 , 0x0000003e 
+ 00032111  0x00008a37 nbranch  0x00007d78 , 0x00000002 
+ 00032112  0x00008a38 increase  0x00000001 , 0x00000011 
+ 00032113  0x00008a39 and  0x00000011 , 0x0000000f , 0x0000003f 
+ 00032114  0x00008a3a nbranch  0x00007d6b , 0x00000034 
+ 00032115  0x00008a3b arg  0x00000000 , 0x00000011 
+ 00032116  0x00008a3c call  0x00007d7f 
+ 00032117  0x00008a3e copy  0x00000022 , 0x0000003f 
+ 00032118  0x00008a3f store  0x00000004 , 0x0000467a 
+ 00032119  0x00008a40 rtn 
+ 00032120  0x00008a42 bpatchx  0x000000f5 , 0x0000403e 
+ 00032121  0x00008a43 copy  0x00000011 , 0x0000003f 
+ 00032122  0x00008a44 rtn  0x00000034 
+ 00032123  0x00008a45 increase  0xffffff60 , 0x00000002 
+ 00032124  0x00008a46 increase  0xffffff60 , 0x00000002 
+ 00032125  0x00008a47 set0  0x0000001c , 0x00000002 
+ 00032126  0x00008a48 storet  0x00000004 , 0x0000467a 
+ 00032127  0x00008a4a branch  0x0000335f 
+ 00032128  0x00008a52 jam  0x00000001 , 0x00004666 
+ 00032129  0x00008a54 fetch  0x00000001 , 0x00004667 
+ 00032130  0x00008a55 nbranch  0x00007d81 , 0x00000034 
+ 00032131  0x00008a56 rtn 
+ 00032132  0x00008a59 jam  0x00000000 , 0x00004666 
+ 00032133  0x00008a5a rtn 
+ 00032134  0x00008a5f bpatchx  0x000000f6 , 0x0000403e 
+ 00032135  0x00008a60 call  0x00007d80 
+ 00032136  0x00008a61 copy  0x00000011 , 0x0000003f 
+ 00032137  0x00008a62 store  0x00000004 , 0x00000a91 
+ 00032138  0x00008a63 arg  0x00004668 , 0x00000011 
+ 00032139  0x00008a64 call  0x00007fb8 
+ 00032140  0x00008a65 fetch  0x00000004 , 0x00000a91 
+ 00032141  0x00008a66 copy  0x0000003f , 0x00000011 
+ 00032142  0x00008a67 branch  0x00007d84 
+ 00032143  0x00008a6a bpatchx  0x000000f7 , 0x0000403e 
+ 00032144  0x00008a6b call  0x00007d80 
+ 00032145  0x00008a6c copy  0x00000011 , 0x0000003f 
+ 00032146  0x00008a6d store  0x00000004 , 0x00000a91 
+ 00032147  0x00008a6e arg  0x00004670 , 0x00000011 
+ 00032148  0x00008a6f call  0x00007fb8 
+ 00032149  0x00008a70 fetch  0x00000004 , 0x00000a91 
+ 00032150  0x00008a71 copy  0x0000003f , 0x00000011 
+ 00032151  0x00008a72 branch  0x00007d84 
+ 00032152  0x00008a75 setarg  0x00000000 
+ 00032153  0x00008a76 store  0x00000008 , 0x00004670 
+ 00032154  0x00008a77 store  0x00000008 , 0x00004668 
+ 00032155  0x00008a78 rtn 
+ 00032156  0x00008a7b bpatchx  0x000000f8 , 0x0000403f 
+ 00032157  0x00008a7c fetch  0x00000001 , 0x000041ce 
+ 00032158  0x00008a7d nrtn  0x00000034 
+ 00032159  0x00008a7e arg  0x00004670 , 0x00000011 
+ 00032160  0x00008a7f call  0x00007fd0 
+ 00032161  0x00008a80 rtn  0x00000034 
+ 00032162  0x00008a81 jam  0x00000000 , 0x00000a90 
+ 00032163  0x00008a82 call  0x00007da7 
+ 00032164  0x00008a83 fetch  0x00000001 , 0x00000a90 
+ 00032165  0x00008a84 branch  0x00007d9c , 0x00000034 
+ 00032166  0x00008a85 rtn 
+ 00032167  0x00008a88 call  0x00007d80 
+ 00032168  0x00008a89 arg  0x00004670 , 0x00000011 
+ 00032169  0x00008a8a call  0x00007fc4 
+ 00032170  0x00008a8b copy  0x0000003f , 0x00000002 
+ 00032171  0x00008a8c call  0x00007d84 
+ 00032172  0x00008a8d bpatchx  0x000000f9 , 0x0000403f 
+ 00032173  0x00008a8e copy  0x00000002 , 0x0000003f 
+ 00032174  0x00008a8f rtn  0x00000034 
+ 00032175  0x00008a90 beq  0x00000001 , 0x00007ddd 
+ 00032176  0x00008a91 beq  0x00000002 , 0x00007de2 
+ 00032177  0x00008a92 beq  0x00000003 , 0x00007de8 
+ 00032178  0x00008a93 beq  0x00000007 , 0x00007ded 
+ 00032179  0x00008a94 beq  0x00000008 , 0x00007dee 
+ 00032180  0x00008a95 beq  0x00000009 , 0x00007def 
+ 00032181  0x00008a96 beq  0x0000000b , 0x00007df2 
+ 00032182  0x00008a97 beq  0x0000000c , 0x00007df3 
+ 00032183  0x00008a98 beq  0x0000000d , 0x00007df4 
+ 00032184  0x00008a99 beq  0x0000000e , 0x00007dfa 
+ 00032185  0x00008a9a beq  0x0000000f , 0x00007dff 
+ 00032186  0x00008a9b beq  0x00000010 , 0x00007e05 
+ 00032187  0x00008a9c beq  0x00000013 , 0x00007e0f 
+ 00032188  0x00008a9d beq  0x00000014 , 0x00007e11 
+ 00032189  0x00008a9e beq  0x00000015 , 0x00007e13 
+ 00032190  0x00008a9f beq  0x00000016 , 0x00007e15 
+ 00032191  0x00008aa0 beq  0x00000017 , 0x00007e18 
+ 00032192  0x00008aa1 beq  0x00000018 , 0x00007e1a 
+ 00032193  0x00008aa2 beq  0x00000019 , 0x00007e1d 
+ 00032194  0x00008aa3 beq  0x0000001b , 0x00007e25 
+ 00032195  0x00008aa4 beq  0x0000001e , 0x00007e2f 
+ 00032196  0x00008aa6 store  0x00000001 , 0x00000a99 
+ 00032197  0x00008aa7 bpatchx  0x000000fa , 0x0000403f 
+ 00032198  0x00008aa8 call  0x000062bc 
+ 00032199  0x00008aa9 nbranch  0x00007ddb , 0x00000034 
+ 00032200  0x00008aab fetch  0x00000001 , 0x00000a99 
+ 00032201  0x00008aac bmark0  0x00000009 , 0x00007dd6 
+ 00032202  0x00008aad beq  0x00000004 , 0x00007dea 
+ 00032203  0x00008aae beq  0x00000005 , 0x00004d17 
+ 00032204  0x00008aaf beq  0x00000006 , 0x00004d26 
+ 00032205  0x00008ab0 beq  0x0000000a , 0x00007df0 
+ 00032206  0x00008ab1 beq  0x00000011 , 0x00007e0a 
+ 00032207  0x00008ab2 beq  0x00000012 , 0x00007e0e 
+ 00032208  0x00008ab3 beq  0x0000001d , 0x00007e26 
+ 00032209  0x00008ab4 beq  0x0000001f , 0x000067cc 
+ 00032210  0x00008ab5 beq  0x00000020 , 0x000067d0 
+ 00032211  0x00008ab6 beq  0x00000021 , 0x00007e31 
+ 00032212  0x00008ab7 beq  0x00000025 , 0x0000670b 
+ 00032213  0x00008ab8 rtn 
+ 00032214  0x00008abb store  0x00000001 , 0x00000a99 
+ 00032215  0x00008abc call  0x00002252 
+ 00032216  0x00008abd branch  0x00007ddb , 0x00000005 
+ 00032217  0x00008abe call  0x0000225a 
+ 00032218  0x00008abf nrtn  0x00000005 
+ 00032219  0x00008ac1 jam  0x00000001 , 0x00000a90 
+ 00032220  0x00008ac2 branch  0x00007d8f 
+ 00032221  0x00008ac8 fetch  0x00000002 , 0x00004682 
+ 00032222  0x00008ac9 set1  0x00000006 
+ 00032223  0x00008aca store  0x00000002 , 0x00004682 
+ 00032224  0x00008acb jam  0x00000003 , 0x00004093 
+ 00032225  0x00008acc rtn 
+ 00032226  0x00008ad1 jam  0x00000000 , 0x00004680 
+ 00032227  0x00008ad2 jam  0x00000000 , 0x00004093 
+ 00032228  0x00008ad3 fetch  0x00000002 , 0x00004682 
+ 00032229  0x00008ad4 set0  0x00000006 
+ 00032230  0x00008ad5 store  0x00000002 , 0x00004682 
+ 00032231  0x00008ad6 rtn 
+ 00032232  0x00008adb jam  0x00000005 , 0x000041ce 
+ 00032233  0x00008adc rtn 
+ 00032234  0x00008ae1 jam  0x00000007 , 0x0000007c 
+ 00032235  0x00008ae2 jam  0x00000013 , 0x000004ca 
+ 00032236  0x00008ae3 rtn 
+ 00032237  0x00008ae8 rtn 
+ 00032238  0x00008aed rtn 
+ 00032239  0x00008af2 rtn 
+ 00032240  0x00008af7 jam  0x00000002 , 0x000004d4 
+ 00032241  0x00008af8 branch  0x00004d0a 
+ 00032242  0x00008afd rtn 
+ 00032243  0x00008b02 rtn 
+ 00032244  0x00008b07 jam  0x00000001 , 0x0000436e 
+ 00032245  0x00008b08 jam  0x00000000 , 0x00004484 
+ 00032246  0x00008b09 fetch  0x00000002 , 0x00004682 
+ 00032247  0x00008b0a set1  0x0000000b , 0x0000003f 
+ 00032248  0x00008b0b store  0x00000002 , 0x00004682 
+ 00032249  0x00008b0c rtn 
+ 00032250  0x00008b11 fetch  0x00000002 , 0x00004682 
+ 00032251  0x00008b12 set0  0x0000000b , 0x0000003f 
+ 00032252  0x00008b13 store  0x00000002 , 0x00004682 
+ 00032253  0x00008b14 jam  0x00000000 , 0x0000436e 
+ 00032254  0x00008b15 rtn 
+ 00032255  0x00008b1a jam  0x00000001 , 0x0000436e 
+ 00032256  0x00008b1b jam  0x00000001 , 0x00004484 
+ 00032257  0x00008b1c fetch  0x00000002 , 0x00004682 
+ 00032258  0x00008b1d set1  0x0000000b , 0x0000003f 
+ 00032259  0x00008b1e store  0x00000002 , 0x00004682 
+ 00032260  0x00008b1f rtn 
+ 00032261  0x00008b24 fetch  0x00000002 , 0x00004682 
+ 00032262  0x00008b25 set0  0x0000000b , 0x0000003f 
+ 00032263  0x00008b26 store  0x00000002 , 0x00004682 
+ 00032264  0x00008b27 jam  0x00000000 , 0x0000436e 
+ 00032265  0x00008b28 rtn 
+ 00032266  0x00008b2d setarg  0x00000014 
+ 00032267  0x00008b2e store  0x00000002 , 0x0000046d 
+ 00032268  0x00008b2f store  0x00000002 , 0x000044ba 
+ 00032269  0x00008b30 branch  0x00005c92 
+ 00032270  0x00008b35 branch  0x00005abf 
+ 00032271  0x00008b3a arg  0x00000000 , 0x00000011 
+ 00032272  0x00008b3b branch  0x00007d19 
+ 00032273  0x00008b40 arg  0x00000000 , 0x00000011 
+ 00032274  0x00008b41 branch  0x00007d14 
+ 00032275  0x00008b46 arg  0x00000000 , 0x00000011 
+ 00032276  0x00008b47 branch  0x00007d1e 
+ 00032277  0x00008b4c jam  0x00000001 , 0x00004369 
+ 00032278  0x00008b4d jam  0x0000001b , 0x000041ce 
+ 00032279  0x00008b50 rtn 
+ 00032280  0x00008b55 jam  0x00000001 , 0x00004369 
+ 00032281  0x00008b56 rtn 
+ 00032282  0x00008b5b jam  0x00000000 , 0x00004369 
+ 00032283  0x00008b5c jam  0x00000000 , 0x000041ce 
+ 00032284  0x00008b5d rtn 
+ 00032285  0x00008b62 fetch  0x00000002 , 0x000041eb 
+ 00032286  0x00008b63 call  0x00007f9c 
+ 00032287  0x00008b64 fetch  0x00000001 , 0x00004686 
+ 00032288  0x00008b65 beq  0x000000ff , 0x00007e23 
+ 00032289  0x00008b66 copy  0x0000003f , 0x00000002 
+ 00032290  0x00008b67 call  0x000067fb 
+ 00032291  0x00008b69 call  0x00007d98 
+ 00032292  0x00008b6a branch  0x00002b1f 
+ 00032293  0x00008b6f branch  0x00005b02 
+ 00032294  0x00008b74 jam  0x00000034 , 0x0000007c 
+ 00032295  0x00008b75 set1  0x00000003 , 0x00000000 
+ 00032296  0x00008b76 nrtn  0x00000029 
+ 00032297  0x00008b77 jam  0x00000000 , 0x0000455b 
+ 00032298  0x00008b78 jam  0x00000013 , 0x0000007c 
+ 00032299  0x00008b79 fetch  0x00000001 , 0x0000016d 
+ 00032300  0x00008b7a set0  0x00000002 , 0x0000003f 
+ 00032301  0x00008b7b store  0x00000001 , 0x0000016d 
+ 00032302  0x00008b7c rtn 
+ 00032303  0x00008b81 force  0x00000003 , 0x00000007 
+ 00032304  0x00008b82 branch  0x00007f07 
+ 00032305  0x00008b87 call  0x000062f8 
+ 00032306  0x00008b88 jam  0x00000041 , 0x0000007d 
+ 00032307  0x00008b89 branch  0x00005f9d 
+ 00032308  0x00008b8d fetch  0x00000001 , 0x00004682 
+ 00032309  0x00008b8e rtnbit0  0x0000000c 
+ 00032310  0x00008b8f rtnbit0  0x00000007 
+ 00032311  0x00008b90 branch  0x00007e2f 
+ 00032312  0x00008b96 fetch  0x00000002 , 0x00004218 
+ 00032313  0x00008b97 add  0x0000003f , 0x00000002 , 0x00000005 
+ 00032314  0x00008b98 setarg  0x00000000 
+ 00032315  0x00008b99 istore  0x00000003 , 0x00000005 
+ 00032316  0x00008b9a rtn 
+ 00032317  0x00008b9f call  0x00007fe9 
+ 00032318  0x00008ba0 call  0x00007e69 
+ 00032319  0x00008ba1 rtn  0x00000034 
+ 00032320  0x00008ba2 fetch  0x00000002 , 0x00004218 
+ 00032321  0x00008ba3 add  0x0000003f , 0x00000002 , 0x00000012 
+ 00032322  0x00008ba4 ifetcht  0x00000001 , 0x00000012 
+ 00032323  0x00008ba5 increase  0x00000001 , 0x00000002 
+ 00032324  0x00008ba6 istoret  0x00000001 , 0x00000012 
+ 00032325  0x00008ba8 ifetcht  0x00000001 , 0x0000003f 
+ 00032326  0x00008ba9 copy  0x00000002 , 0x00000039 
+ 00032327  0x00008baa add  0x0000003f , 0x00000004 , 0x00000012 
+ 00032328  0x00008bab ifetch  0x00000001 , 0x00000012 
+ 00032329  0x00008bac imul32  0x00000002 , 0x0000003f 
+ 00032330  0x00008bad iadd  0x00000006 , 0x00000005 
+ 00032331  0x00008bae copy  0x00000011 , 0x00000006 
+ 00032332  0x00008bb0 call  0x00007f01 
+ 00032333  0x00008bb1 call  0x00007e6d 
+ 00032334  0x00008bb2 pincrease  0xffffffff 
+ 00032335  0x00008bb3 ifetcht  0x00000001 , 0x00000012 
+ 00032336  0x00008bb4 increase  0x00000001 , 0x00000002 
+ 00032337  0x00008bb5 iand  0x00000002 , 0x00000002 
+ 00032338  0x00008bb6 istoret  0x00000001 , 0x00000012 
+ 00032339  0x00008bb7 branch  0x00007fe7 
+ 00032340  0x00008bbd call  0x00007fe9 
+ 00032341  0x00008bbe call  0x00007e65 
+ 00032342  0x00008bbf rtn  0x00000034 
+ 00032343  0x00008bc0 fetch  0x00000002 , 0x00004218 
+ 00032344  0x00008bc1 add  0x0000003f , 0x00000002 , 0x00000012 
+ 00032345  0x00008bc2 ifetcht  0x00000001 , 0x00000012 
+ 00032346  0x00008bc3 increase  0xffffffff , 0x00000002 
+ 00032347  0x00008bc4 istoret  0x00000001 , 0x00000012 
+ 00032348  0x00008bc5 ifetcht  0x00000001 , 0x0000003f 
+ 00032349  0x00008bc6 copy  0x00000002 , 0x00000039 
+ 00032350  0x00008bc7 add  0x0000003f , 0x00000003 , 0x00000012 
+ 00032351  0x00008bc8 ifetch  0x00000001 , 0x00000012 
+ 00032352  0x00008bc9 imul32  0x00000002 , 0x0000003f 
+ 00032353  0x00008bca iadd  0x00000006 , 0x00000006 
+ 00032354  0x00008bcb increase  0x00000001 , 0x00000006 
+ 00032355  0x00008bcc copy  0x00000011 , 0x00000005 
+ 00032356  0x00008bcd branch  0x00007e4c 
+ 00032357  0x00008bd2 fetch  0x00000002 , 0x00004218 
+ 00032358  0x00008bd3 add  0x0000003f , 0x00000002 , 0x00000006 
+ 00032359  0x00008bd4 ifetch  0x00000001 , 0x00000006 
+ 00032360  0x00008bd5 rtn 
+ 00032361  0x00008bd9 call  0x00007e6d 
+ 00032362  0x00008bda ifetcht  0x00000001 , 0x00000006 
+ 00032363  0x00008bdb isub  0x00000002 , 0x0000003f 
+ 00032364  0x00008bdc rtn 
+ 00032365  0x00008be0 fetch  0x00000002 , 0x00004218 
+ 00032366  0x00008be1 add  0x0000003f , 0x00000001 , 0x00000006 
+ 00032367  0x00008be2 ifetch  0x00000001 , 0x00000006 
+ 00032368  0x00008be3 rtn 
+ 00032369  0x00008bec sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00032370  0x00008bed rtn  0x00000005 
+ 00032371  0x00008bef rshift  0x0000003f , 0x0000003f 
+ 00032372  0x00008bf0 loop  0x00007e73 
+ 00032373  0x00008bf1 rtn 
+ 00032374  0x00008bf5 force  0x00000001 , 0x0000003f 
+ 00032375  0x00008bf6 sub  0x00000039 , 0x00000000 , 0x0000003e 
+ 00032376  0x00008bf7 rtn  0x00000005 
+ 00032377  0x00008bf9 lshift  0x0000003f , 0x0000003f 
+ 00032378  0x00008bfa loop  0x00007e79 
+ 00032379  0x00008bfb rtn 
+ 00032380  0x00008bfd deposit  0x00000005 
+ 00032381  0x00008bfe store  0x00000002 , 0x00000abb 
+ 00032382  0x00008bff storet  0x00000008 , 0x00000aa2 
+ 00032383  0x00008c00 deposit  0x0000000b 
+ 00032384  0x00008c01 store  0x00000004 , 0x00000aaa 
+ 00032385  0x00008c02 call  0x00007e85 
+ 00032386  0x00008c03 deposit  0x00000006 
+ 00032387  0x00008c04 store  0x00000002 , 0x00000ab9 
+ 00032388  0x00008c05 rtn 
+ 00032389  0x00008c08 deposit  0x00000011 
+ 00032390  0x00008c09 store  0x00000004 , 0x00000aae 
+ 00032391  0x00008c0a deposit  0x00000012 
+ 00032392  0x00008c0b store  0x00000004 , 0x00000ab2 
+ 00032393  0x00008c0c deposit  0x00000013 
+ 00032394  0x00008c0d store  0x00000003 , 0x00000ab6 
+ 00032395  0x00008c0e rtn 
+ 00032396  0x00008c11 fetcht  0x00000008 , 0x00000aa2 
+ 00032397  0x00008c12 fetch  0x00000004 , 0x00000aaa 
+ 00032398  0x00008c13 iforce  0x0000000b 
+ 00032399  0x00008c14 call  0x00007e95 
+ 00032400  0x00008c15 fetch  0x00000002 , 0x00000abb 
+ 00032401  0x00008c16 iforce  0x00000005 
+ 00032402  0x00008c17 fetch  0x00000002 , 0x00000ab9 
+ 00032403  0x00008c18 iforce  0x00000006 
+ 00032404  0x00008c19 rtn 
+ 00032405  0x00008c1c fetch  0x00000004 , 0x00000aae 
+ 00032406  0x00008c1d iforce  0x00000011 
+ 00032407  0x00008c1e fetch  0x00000004 , 0x00000ab2 
+ 00032408  0x00008c1f iforce  0x00000012 
+ 00032409  0x00008c20 fetch  0x00000003 , 0x00000ab6 
+ 00032410  0x00008c21 iforce  0x00000013 
+ 00032411  0x00008c22 rtn 
+ 00032412  0x00008c25 fetch  0x00000002 , 0x00000abb 
+ 00032413  0x00008c26 copy  0x0000003f , 0x00000005 
+ 00032414  0x00008c27 rtn 
+ 00032415  0x00008c29 fetch  0x00000002 , 0x00000ab9 
+ 00032416  0x00008c2a copy  0x0000003f , 0x00000006 
+ 00032417  0x00008c2b rtn 
+ 00032418  0x00008c2d copy  0x00000005 , 0x0000003f 
+ 00032419  0x00008c2e store  0x00000002 , 0x00000abb 
+ 00032420  0x00008c2f rtn 
+ 00032421  0x00008c31 copy  0x00000006 , 0x0000003f 
+ 00032422  0x00008c32 store  0x00000002 , 0x00000ab9 
+ 00032423  0x00008c33 rtn 
+ 00032424  0x00008c38 copy  0x00000005 , 0x0000003f 
+ 00032425  0x00008c39 store  0x00000002 , 0x00000a97 
+ 00032426  0x00008c3a copy  0x00000006 , 0x0000003f 
+ 00032427  0x00008c3b store  0x00000002 , 0x00000a95 
+ 00032428  0x00008c3c rtn 
+ 00032429  0x00008c3e fetch  0x00000002 , 0x00000a97 
+ 00032430  0x00008c3f copy  0x0000003f , 0x00000005 
+ 00032431  0x00008c40 fetch  0x00000002 , 0x00000a95 
+ 00032432  0x00008c41 copy  0x0000003f , 0x00000006 
+ 00032433  0x00008c42 rtn 
+ 00032434  0x00008c45 call  0x00007ebd 
+ 00032435  0x00008c47 call  0x00007ebd 
+ 00032436  0x00008c48 branch  0x00007ebd 
+ 00032437  0x00008c4a call  0x00007eb9 
+ 00032438  0x00008c4c ifetch  0x00000004 , 0x00000006 
+ 00032439  0x00008c4d istore  0x00000004 , 0x00000005 
+ 00032440  0x00008c4e rtn 
+ 00032441  0x00008c50 ifetch  0x00000008 , 0x00000006 
+ 00032442  0x00008c51 istore  0x00000008 , 0x00000005 
+ 00032443  0x00008c52 rtn 
+ 00032444  0x00008c55 call  0x00007ebf 
+ 00032445  0x00008c57 call  0x00007eb9 
+ 00032446  0x00008c59 call  0x00007eb9 
+ 00032447  0x00008c5b call  0x00007eb9 
+ 00032448  0x00008c5c branch  0x00007eb9 
+ 00032449  0x00008c61 arg  0x0000000a , 0x00000039 
+ 00032450  0x00008c63 nop  0x00002ee0 
+ 00032451  0x00008c64 loop  0x00007ec2 
+ 00032452  0x00008c65 rtn 
+ 00032453  0x00008c68 force  0x00000003 , 0x00000039 
+ 00032454  0x00008c6a force  0x00000000 , 0x0000003f 
+ 00032455  0x00008c6c istore  0x00000008 , 0x00000005 
+ 00032456  0x00008c6d loop  0x00007ec7 
+ 00032457  0x00008c6e rtn 
+ 00032458  0x00008c71 force  0x00000000 , 0x0000003f 
+ 00032459  0x00008c72 istore  0x00000008 , 0x00000005 
+ 00032460  0x00008c73 rtn 
+ 00032461  0x00008c75 force  0x00000000 , 0x0000003f 
+ 00032462  0x00008c76 istore  0x00000004 , 0x00000005 
+ 00032463  0x00008c77 rtn 
+ 00032464  0x00008c7a force  0x00000004 , 0x00000039 
+ 00032465  0x00008c7b branch  0x00007ec6 
+ 00032466  0x00008c7d force  0x00000008 , 0x00000039 
+ 00032467  0x00008c7e branch  0x00007ec6 
+ 00032468  0x00008c81 deposit  0x00000039 
+ 00032469  0x00008c82 rtn  0x00000034 
+ 00032470  0x00008c83 setarg  0x00000000 
+ 00032471  0x00008c85 istore  0x00000001 , 0x00000005 
+ 00032472  0x00008c86 loop  0x00007ed7 
+ 00032473  0x00008c87 rtn 
+ 00032474  0x00008c8b arg  0x00000020 , 0x00000039 
+ 00032475  0x00008c8c arg  0x00000ac2 , 0x00000005 
+ 00032476  0x00008c8d branch  0x00007ed4 
+ 00032477  0x00008c90 ifetch  0x00000004 , 0x00000013 
+ 00032478  0x00008c91 ifetcht  0x00000004 , 0x00000011 
+ 00032479  0x00008c92 ixor  0x00000002 , 0x0000003f 
+ 00032480  0x00008c93 istore  0x00000004 , 0x00000005 
+ 00032481  0x00008c94 increase  0x00000004 , 0x00000011 
+ 00032482  0x00008c95 increase  0x00000004 , 0x00000013 
+ 00032483  0x00008c96 loop  0x00007edd 
+ 00032484  0x00008c97 rtn 
+ 00032485  0x00008c9c bpatchx  0x000000fb , 0x0000403f 
+ 00032486  0x00008c9d copy  0x00000039 , 0x0000003f 
+ 00032487  0x00008c9e sub  0x0000003f , 0x00000001 , 0x0000003e 
+ 00032488  0x00008c9f rtn  0x00000002 
+ 00032489  0x00008ca0 iadd  0x00000011 , 0x00000012 
+ 00032490  0x00008ca1 increase  0xffffffff , 0x00000012 
+ 00032491  0x00008ca2 rshift  0x00000039 , 0x00000039 
+ 00032492  0x00008ca4 ifetcht  0x00000001 , 0x00000011 
+ 00032493  0x00008ca5 ifetch  0x00000001 , 0x00000012 
+ 00032494  0x00008ca6 istore  0x00000001 , 0x00000011 
+ 00032495  0x00008ca7 istoret  0x00000001 , 0x00000012 
+ 00032496  0x00008ca8 increase  0xffffffff , 0x00000012 
+ 00032497  0x00008ca9 increase  0x00000001 , 0x00000011 
+ 00032498  0x00008caa loop  0x00007eec 
+ 00032499  0x00008cab rtn 
+ 00032500  0x00008caf deposit  0x00000039 
+ 00032501  0x00008cb0 rtn  0x00000034 
+ 00032502  0x00008cb2 increase  0xfffffff8 , 0x00000039 
+ 00032503  0x00008cb3 call  0x00007eb9 , 0x00000002 
+ 00032504  0x00008cb4 rtn  0x00000005 
+ 00032505  0x00008cb5 branch  0x00007ef6 , 0x00000002 
+ 00032506  0x00008cb6 increase  0x00000008 , 0x00000039 
+ 00032507  0x00008cb8 increase  0xfffffffc , 0x00000039 
+ 00032508  0x00008cb9 call  0x00007eb6 , 0x00000002 
+ 00032509  0x00008cba rtn  0x00000005 
+ 00032510  0x00008cbb branch  0x00007efb , 0x00000002 
+ 00032511  0x00008cbc increase  0x00000004 , 0x00000039 
+ 00032512  0x00008cbd branch  0x00007f01 
+ 00032513  0x00008cc0 deposit  0x00000039 
+ 00032514  0x00008cc1 rtn  0x00000034 
+ 00032515  0x00008cc3 ifetch  0x00000001 , 0x00000006 
+ 00032516  0x00008cc4 istore  0x00000001 , 0x00000005 
+ 00032517  0x00008cc5 loop  0x00007f03 
+ 00032518  0x00008cc6 rtn 
+ 00032519  0x00008cc9 setarg  0x00000000 
+ 00032520  0x00008ccb rshift  0x00000022 , 0x00000002 
+ 00032521  0x00008ccc storet  0x00000004 , 0x00004094 
+ 00032522  0x00008ccd arg  0x0000419d , 0x00000005 
+ 00032523  0x00008cce iforce  0x00000002 
+ 00032524  0x00008ccf lshift  0x00000007 , 0x0000003f 
+ 00032525  0x00008cd0 iadd  0x00000005 , 0x00000005 
+ 00032526  0x00008cd1 istoret  0x00000002 , 0x00000005 
+ 00032527  0x00008cd2 bpatchx  0x000000fc , 0x0000403f 
+ 00032528  0x00008cd3 rtn 
+ 00032529  0x00008cd6 arg  0x00000800 , 0x0000000b 
+ 00032530  0x00008cd7 lshift16  0x0000000b , 0x0000000b 
+ 00032531  0x00008cd8 iadd  0x0000000b , 0x0000003f 
+ 00032532  0x00008cd9 rtn 
+ 00032533  0x00008cdd arg  0x00000000 , 0x00000007 
+ 00032534  0x00008cdf bpatchx  0x000000fd , 0x0000403f 
+ 00032535  0x00008ce0 fetcht  0x00000004 , 0x00004094 
+ 00032536  0x00008ce1 rshift  0x00000022 , 0x0000003f 
+ 00032537  0x00008ce2 store  0x00000004 , 0x00004094 
+ 00032538  0x00008ce3 isub  0x00000002 , 0x0000003e 
+ 00032539  0x00008ce4 ncall  0x00007f11 , 0x00000002 
+ 00032540  0x00008ce5 isub  0x00000002 , 0x0000000b 
+ 00032541  0x00008ce6 copy  0x0000000b , 0x00000002 
+ 00032542  0x00008ce7 arg  0x0000419d , 0x00000006 
+ 00032543  0x00008ce8 copy  0x00000006 , 0x00000005 
+ 00032544  0x00008ce9 arg  0x00000010 , 0x00000039 
+ 00032545  0x00008ceb ifetch  0x00000002 , 0x00000006 
+ 00032546  0x00008cec isub  0x00000002 , 0x0000003f 
+ 00032547  0x00008ced branch  0x00007f25 , 0x00000002 
+ 00032548  0x00008cee force  0x00000000 , 0x0000003f 
+ 00032549  0x00008cf0 istore  0x00000002 , 0x00000005 
+ 00032550  0x00008cf1 loop  0x00007f21 
+ 00032551  0x00008cf2 arg  0x0000419d , 0x00000006 
+ 00032552  0x00008cf3 lshift  0x00000007 , 0x0000003f 
+ 00032553  0x00008cf4 iadd  0x00000006 , 0x00000006 
+ 00032554  0x00008cf5 ifetch  0x00000002 , 0x00000006 
+ 00032555  0x00008cf6 rtn 
+ 00032556  0x00008cfc iadd  0x00000002 , 0x00000002 
+ 00032557  0x00008cfd copy  0x00000002 , 0x00000039 
+ 00032558  0x00008cfe setarg  0x00000ea6 
+ 00032559  0x00008cff isub  0x00000039 , 0x0000003f 
+ 00032560  0x00008d00 rtn  0x00000002 
+ 00032561  0x00008d01 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032562  0x00008d02 rshift16  0x00000002 , 0x00000002 
+ 00032563  0x00008d03 increase  0x00000001 , 0x00000002 
+ 00032564  0x00008d04 lshift16  0x00000002 , 0x00000002 
+ 00032565  0x00008d05 ior  0x00000002 , 0x00000002 
+ 00032566  0x00008d06 rtn 
+ 00032567  0x00008d09 call  0x00007f39 
+ 00032568  0x00008d0a branch  0x00007f43 
+ 00032569  0x00008d0e disable  0x00000028 
+ 00032570  0x00008d0f isub  0x00000002 , 0x0000003f 
+ 00032571  0x00008d10 branch  0x00007f3e , 0x00000002 
+ 00032572  0x00008d11 enable  0x00000028 
+ 00032573  0x00008d12 sub  0x0000003f , 0x00000000 , 0x0000003f 
+ 00032574  0x00008d14 rtnbit0  0x0000000f 
+ 00032575  0x00008d15 arg  0xffff0ea6 , 0x00000002 
+ 00032576  0x00008d16 iadd  0x00000002 , 0x0000003f 
+ 00032577  0x00008d17 set0  0x00000040 , 0x0000003f 
+ 00032578  0x00008d18 rtn 
+ 00032579  0x00008d1b iforce  0x00000006 
+ 00032580  0x00008d1c rshift16  0x0000003f , 0x0000003f 
+ 00032581  0x00008d1d arg  0x00000ea6 , 0x00000002 
+ 00032582  0x00008d1e imul32  0x00000002 , 0x0000003f 
+ 00032583  0x00008d1f iadd  0x00000006 , 0x0000003f 
+ 00032584  0x00008d20 rtn 
+ 00032585  0x00008d24 lshift8  0x0000003f , 0x0000003f 
+ 00032586  0x00008d25 lshift4  0x0000003f , 0x0000003f 
+ 00032587  0x00008d26 fetcht  0x00000003 , 0x0000416f 
+ 00032588  0x00008d27 idiv  0x00000002 
+ 00032589  0x00008d28 call  0x00007f86 
+ 00032590  0x00008d29 quotient  0x00000002 
+ 00032591  0x00008d2a rtn 
+ 00032592  0x00008d2e arg  0x00000ea6 , 0x00000002 
+ 00032593  0x00008d2f idiv  0x00000002 
+ 00032594  0x00008d30 call  0x00007f86 
+ 00032595  0x00008d31 quotient  0x0000003f 
+ 00032596  0x00008d32 lshift16  0x0000003f , 0x0000003f 
+ 00032597  0x00008d33 remainder  0x00000002 
+ 00032598  0x00008d34 ior  0x00000002 , 0x00000002 
+ 00032599  0x00008d35 rtn 
+ 00032600  0x00008d3d arg  0x00000000 , 0x00000002 
+ 00032601  0x00008d3f copy  0x00000002 , 0x00000013 
+ 00032602  0x00008d40 ifetch  0x00000001 , 0x00000003 
+ 00032603  0x00008d41 call  0x00007f64 
+ 00032604  0x00008d42 copy  0x00000013 , 0x00000002 
+ 00032605  0x00008d43 call  0x00007f95 
+ 00032606  0x00008d44 arg  0x0000000a , 0x00000012 
+ 00032607  0x00008d45 imul32  0x00000012 , 0x0000003f 
+ 00032608  0x00008d46 iadd  0x00000002 , 0x0000003f 
+ 00032609  0x00008d47 copy  0x0000003f , 0x00000002 
+ 00032610  0x00008d48 loop  0x00007f59 
+ 00032611  0x00008d49 rtn 
+ 00032612  0x00008d4e arg  0x0000003a , 0x00000002 
+ 00032613  0x00008d4f isub  0x00000002 , 0x0000003e 
+ 00032614  0x00008d50 nbranch  0x00007f6d , 0x00000002 
+ 00032615  0x00008d51 arg  0x00000061 , 0x00000002 
+ 00032616  0x00008d52 isub  0x00000002 , 0x0000003e 
+ 00032617  0x00008d53 branch  0x00007f70 , 0x00000002 
+ 00032618  0x00008d54 arg  0x00000037 , 0x00000002 
+ 00032619  0x00008d55 isub  0x00000002 , 0x0000003f 
+ 00032620  0x00008d56 rtn 
+ 00032621  0x00008d58 arg  0x00000030 , 0x00000002 
+ 00032622  0x00008d59 isub  0x00000002 , 0x0000003f 
+ 00032623  0x00008d5a rtn 
+ 00032624  0x00008d5c arg  0x00000057 , 0x00000002 
+ 00032625  0x00008d5d isub  0x00000002 , 0x0000003f 
+ 00032626  0x00008d5e rtn 
+ 00032627  0x00008d61 copy  0x00000002 , 0x00000030 
+ 00032628  0x00008d62 setarg  0x000001ff 
+ 00032629  0x00008d63 force  0x00000000 , 0x00000012 
+ 00032630  0x00008d65 rshift3  0x0000003f , 0x00000011 
+ 00032631  0x00008d66 rshift  0x00000011 , 0x00000011 
+ 00032632  0x00008d67 ixor  0x00000011 , 0x00000011 
+ 00032633  0x00008d68 isolate1  0x00000000 , 0x00000011 
+ 00032634  0x00008d69 setflag  0x00000001 , 0x00000009 , 0x0000003f 
+ 00032635  0x00008d6a rshift  0x00000002 , 0x00000002 
+ 00032636  0x00008d6b isolate1  0x00000000 , 0x0000003f 
+ 00032637  0x00008d6c setflag  0x00000001 , 0x00000007 , 0x00000002 
+ 00032638  0x00008d6d rshift  0x0000003f , 0x0000003f 
+ 00032639  0x00008d6e increase  0x00000001 , 0x00000012 
+ 00032640  0x00008d6f compare  0x00000000 , 0x00000012 , 0x00000007 
+ 00032641  0x00008d70 nbranch  0x00007f76 , 0x00000001 
+ 00032642  0x00008d71 istoret  0x00000001 , 0x00000005 
+ 00032643  0x00008d72 loop  0x00007f76 
+ 00032644  0x00008d73 copy  0x00000030 , 0x00000002 
+ 00032645  0x00008d74 rtn 
+ 00032646  0x00008d78 rtn  0x00000035 
+ 00032647  0x00008d79 branch  0x00007f86 
+ 00032648  0x00008d85 ifetch  0x00000001 , 0x00000011 
+ 00032649  0x00008d86 ifetcht  0x00000001 , 0x00000012 
+ 00032650  0x00008d87 isub  0x00000002 , 0x0000003e 
+ 00032651  0x00008d88 nrtn  0x00000005 
+ 00032652  0x00008d89 increase  0x00000001 , 0x00000011 
+ 00032653  0x00008d8a increase  0x00000001 , 0x00000012 
+ 00032654  0x00008d8b loop  0x00007f88 
+ 00032655  0x00008d8c force  0x00000000 , 0x0000003e 
+ 00032656  0x00008d8d rtn 
+ 00032657  0x00008d91 isub  0x00000002 , 0x0000003e 
+ 00032658  0x00008d92 nrtn  0x00000002 
+ 00032659  0x00008d93 deposit  0x00000002 
+ 00032660  0x00008d94 rtn 
+ 00032661  0x00008d97 iadd  0x00000002 , 0x0000003f 
+ 00032662  0x00008d98 isub  0x00000002 , 0x00000002 
+ 00032663  0x00008d99 isub  0x00000002 , 0x0000003f 
+ 00032664  0x00008d9a rtn 
+ 00032665  0x00008d9d arg  0x00000200 , 0x00000039 
+ 00032666  0x00008d9e arg  0x00004000 , 0x00000005 
+ 00032667  0x00008d9f branch  0x00007ec6 
+ 00032668  0x00008da3 rtn  0x00000034 
+ 00032669  0x00008da4 copy  0x0000003f , 0x0000003d 
+ 00032670  0x00008da8 hfetch  0x00000002 , 0x0000810e 
+ 00032671  0x00008da9 nbranch  0x00007f9e , 0x00000034 
+ 00032672  0x00008daa rtn 
+ 00032673  0x00008dad jam  0x00000001 , 0x00008203 
+ 00032674  0x00008dae rtn 
+ 00032675  0x00008db1 hstore  0x00000002 , 0x00008205 
+ 00032676  0x00008db2 hfetch  0x00000001 , 0x00008203 
+ 00032677  0x00008db3 set1  0x00000004 , 0x0000003f 
+ 00032678  0x00008db4 hstore  0x00000001 , 0x00008203 
+ 00032679  0x00008db5 rtn 
+ 00032680  0x00008db7 hstore  0x00000002 , 0x00008207 
+ 00032681  0x00008db8 hfetch  0x00000001 , 0x00008203 
+ 00032682  0x00008db9 set1  0x00000006 , 0x0000003f 
+ 00032683  0x00008dba hstore  0x00000001 , 0x00008203 
+ 00032684  0x00008dbb rtn 
+ 00032685  0x00008dbe hstore  0x00000002 , 0x00008205 
+ 00032686  0x00008dbf jam  0x00000030 , 0x00008203 
+ 00032687  0x00008dc0 rtn 
+ 00032688  0x00008dc5 hfetch  0x00000001 , 0x00008043 
+ 00032689  0x00008dc6 set0  0x00000004 , 0x0000003f 
+ 00032690  0x00008dc7 hstore  0x00000001 , 0x00008043 
+ 00032691  0x00008dc8 rtn 
+ 00032692  0x00008dcb hfetch  0x00000002 , 0x0000810e 
+ 00032693  0x00008dcc arg  0x00000200 , 0x00000002 
+ 00032694  0x00008dce isub  0x00000002 , 0x0000003e 
+ 00032695  0x00008dcf rtn 
+ 00032696  0x00008dd6 bpatchx  0x000000fe , 0x0000403f 
+ 00032697  0x00008dd7 ifetcht  0x00000008 , 0x00000011 
+ 00032698  0x00008dd8 and  0x00000002 , 0x000000ff , 0x0000003f 
+ 00032699  0x00008dd9 nbranch  0x00007fbe , 0x00000034 
+ 00032700  0x00008dda rshift8  0x00000002 , 0x0000003f 
+ 00032701  0x00008ddb istore  0x00000008 , 0x00000011 
+ 00032702  0x00008ddd increase  0x00000007 , 0x00000011 
+ 00032703  0x00008dde ifetch  0x00000001 , 0x00000011 
+ 00032704  0x00008ddf nbranch  0x00002a8c , 0x00000034 
+ 00032705  0x00008de0 fetch  0x00000001 , 0x00000a99 
+ 00032706  0x00008de1 istore  0x00000001 , 0x00000011 
+ 00032707  0x00008de2 rtn 
+ 00032708  0x00008de8 bpatchx  0x000000ff , 0x0000403f 
+ 00032709  0x00008de9 arg  0x00000008 , 0x00000039 
+ 00032710  0x00008dea ifetch  0x00000008 , 0x00000011 
+ 00032711  0x00008deb rtn  0x00000034 
+ 00032712  0x00008ded ifetch  0x00000001 , 0x00000011 
+ 00032713  0x00008dee nbranch  0x00007fcd , 0x00000034 
+ 00032714  0x00008def increase  0x00000001 , 0x00000011 
+ 00032715  0x00008df0 loop  0x00007fc8 
+ 00032716  0x00008df1 branch  0x00002a8c 
+ 00032717  0x00008df3 arg  0x00000000 , 0x00000002 
+ 00032718  0x00008df4 istoret  0x00000001 , 0x00000011 
+ 00032719  0x00008df5 rtn 
+ 00032720  0x00008dfb ifetch  0x00000008 , 0x00000011 
+ 00032721  0x00008dfc rtn 
+ 00032722  0x00008e02 ifetch  0x00000001 , 0x00000011 
+ 00032723  0x00008e03 rtn 
+ 00032724  0x00008e07 ifetch  0x00000002 , 0x00000011 
+ 00032725  0x00008e08 rtn 
+ 00032726  0x00008e0d arg  0x00000000 , 0x00000002 
+ 00032727  0x00008e0f fetch  0x00000001 , 0x00000006 
+ 00032728  0x00008e10 loop  0x00007fd7 , 0x00000034 
+ 00032729  0x00008e11 increase  0x00000001 , 0x00000002 
+ 00032730  0x00008e12 loop  0x00007fd7 
+ 00032731  0x00008e13 copy  0x00000002 , 0x0000003f 
+ 00032732  0x00008e14 rtn 
+ 00032733  0x00008e17 isub  0x00000002 , 0x0000003e 
+ 00032734  0x00008e18 nrtn  0x00000002 
+ 00032735  0x00008e19 copy  0x00000002 , 0x0000003f 
+ 00032736  0x00008e1a rtn 
+ 00032737  0x00008e1e force  0xffffffff , 0x0000003e 
+ 00032738  0x00008e1f rtn 
+ 00032739  0x00008e22 force  0x00000001 , 0x0000003e 
+ 00032740  0x00008e23 rtn 
+ 00032741  0x00008e25 force  0x00000000 , 0x0000003e 
+ 00032742  0x00008e26 rtn 
+ 00032743  0x00008e29 enable  0x00000028 
+ 00032744  0x00008e2a rtn 
+ 00032745  0x00008e2d disable  0x00000028 
+ 00032746  0x00008e2e rtn 
+ 00032747  0x00008e31 enable  0x0000002c 
+ 00032748  0x00008e32 rtn 
+ 00032749  0x00008e35 disable  0x0000002c 
+ 00032750  0x00008e36 rtn 
+ 00032751  0x00008e39 setarg  0x00000001 
+ 00032752  0x00008e3a rtn 
+ 00032753  0x00008e3d setarg  0x00000000 
+ 00032754  0x00008e3e rtn 
+ 00032755  0x00008e42 copy  0x00000039 , 0x0000003f 
+ 00032756  0x00008e43 rtn  0x00000034 
+ 00032757  0x00008e44 copy  0x00000006 , 0x0000003f 
+ 00032758  0x00008e45 iadd  0x00000039 , 0x0000003f 
+ 00032759  0x00008e46 increase  0xffffffff , 0x0000003f 
+ 00032760  0x00008e47 copy  0x0000003f , 0x00000006 
+ 00032761  0x00008e49 ifetch  0x00000001 , 0x00000006 
+ 00032762  0x00008e4a increase  0xfffffffe , 0x00000006 
+ 00032763  0x00008e4b istore  0x00000001 , 0x00000005 
+ 00032764  0x00008e4c loop  0x00007ff9 
+ 00032765  0x00008e4d rtn 
Index: YJX_Only24g/main/output/bt_program23.list
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_program23.list	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_program23.list	(working copy)
@@ -0,0 +1,30435 @@
+              include "bt_format "
+              org 0x0000
+0x0000 000062 bbit1 8 ,pf_patch_ext 
+0x0001 000063 beq patch10_5 ,p_shutdown_radio 
+0x0002 000064 beq patch11_1 ,p_set_freq_tx 
+0x0003 000065 beq patch11_2 ,p_initialize_radio_cont 
+0x0004 000067 beq patch00_1 ,p_soft_reset_1 
+0x0005 000068 beq patch14_1 ,p_init_param 
+0x0006 000069 beq patch15_0 ,p_lpm_dispatch_next2 
+0x0007 000070 beq patch16_1 ,p_lpm_check_wake_lock 
+0x0008 000071 beq patch16_2 ,p_g24_dispatch 
+0x0009 000072 beq patch18_4 ,p_device_init 
+0x000a 000073 beq patch19_1 ,p_app_flag_store 
+0x000b 000074 beq patch19_2 ,p_app_initflag_check 
+0x000c 000075 beq patch1c_3 ,p_mouse_seting_dpi 
+0x000d 000076 beq patch1c_6 ,p_mouse_motion 
+0x000e 000077 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+0x000f 000078 beq patch1d_3 ,p_mouse_start_discovery 
+0x0010 000079 beq patch1d_4 ,p_mouse_stop_discovery 
+0x0011 000080 branch loop 
+:      000081 pf_patch_ext:
+0x0012 000082 beq patch31_4 ,p_twspi_reset 
+0x0013 000083 branch loop 
+:      000089 p_rssi_signal:
+0x0014 000090 copy pdata ,rega 
+0x0015 000091 fetcht 1 ,mem_rssi_signal_index 
+0x0016 000092 setarg mem_rssi_signal_buf 
+0x0017 000093 iadd temp ,contw 
+0x0018 000094 copy rega ,pdata 
+0x0019 000095 istore 1 ,contw 
+0x001a 000096 increase 1 ,temp 
+0x001b 000097 and_into rssi_buf_len_signal ,temp 
+0x001c 000098 storet 1 ,mem_rssi_signal_index 
+0x001d 000099 rtn 
+:      000101 p_soft_reset_1:
+0x001e 000102 arg mem_sp_state ,contw 
+0x001f 000103 arg 12 ,loopcnt 
+0x0020 000104 call clear_mem 
+0x0021 000105 call p_mouse_le_txbuff_load 
+0x0022 000106 call rfcomm_init 
+0x0023 000107 call init_lmp 
+0x0024 000108 ncall lpm_disable_exen_output ,wake 
+0x0025 000109 call ui_init + 1 
+0x0026 000110 branch soft_reset + 11 
+:      000113 p_init_param:
+0x0027 000114 setarg param_le_version 
+0x0028 000115 store 3 ,mem_lmp_version 
+0x0029 000116 setarg param_le_subversion 
+0x002a 000117 store 2 ,mem_lmp_version + 3 
+0x002b 000118 branch init_param + 12 
+:      000120 p_lpm_dispatch_next2:
+0x002c 000121 fetch 1 ,mem_mouse_wheel_trigger 
+0x002d 000122 nrtn blank 
+0x002e 000123 branch lpm_dispatch_next2 
+:      000125 p_lpm_check_wake_lock:
+0x002f 000126 rtnmark1 mark_24g 
+0x0030 000127 fetch 1 ,mem_mouse_multi_led_blink_count 
+0x0031 000128 nbranch disable_blank ,blank 
+0x0032 000129 fetch 1 ,mem_mouse_multi_led_state 
+0x0033 000130 nbranch disable_blank ,blank 
+0x0034 000133 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0x0035 000134 beq 0 ,disable_blank 
+0x0036 000135 fetch 1 ,mem_mouse_le_conn_param_reject 
+0x0037 000136 beq le_lpm_disable ,disable_blank 
+0x0038 000137 fetch 2 ,mem_sdp_remote_cid 
+0x0039 000138 nbranch disable_blank ,blank 
+0x003a 000139 branch enable_blank 
+:      000141 p_g24_dispatch:
+0x003b 000142 rtnmark0 mark_24g 
+0x003c 000143 fetch 1 ,mem_24g_transmit_by_interrupt 
+0x003d 000144 beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+:      000145 p_g24_transmit_process:
+0x003e 000146 call p_g24_txdata_prep 
+0x003f 000147 nbranch p_g24_nodata_transmit ,user 
+0x0040 000148 call p_g24_rf_sta_check 
+:      000149 p_g24_transmit_start:
+0x0041 000150 call p_g24_transmit_packet 
+0x0042 000151 fetch 1 ,mem_24g_pairing_sm 
+0x0043 000152 rtnne state_24g_pairing_success 
+0x0044 000153 call power_ctrl_start 
+0x0045 000154 call g24_long_sleep_shorter_param_update 
+0x0046 000155 fetch 1 ,mem_24g_transmit_by_interrupt 
+0x0047 000156 rtneq g24_tx_timer_int_enable 
+:      000157 p_g24_short_sleep:
+0x0048 000158 call lpo_calibration 
+0x0049 000159 fetch 3 ,mem_clks_per_lpo 
+0x004a 000160 rtn blank 
+0x004b 000161 fetch 1 ,mem_lpm_mode 
+0x004c 000162 rtn blank 
+0x004d 000163 call p_mouse_setgpio_lpm 
+0x004e 000164 call p_clear_wake 
+0x004f 000165 setarg 63000 
+0x0050 000166 branch lpm_dispatch_sleep 
+:      000168 g24_long_sleep_shorter_param_update:
+0x0051 000169 fetch 1 ,mem_config_function_enable 
+0x0052 000170 rtnbit1 enable_sensor_motion_pin 
+0x0053 000171 setarg g24_long_sleep_step1 
+0x0054 000172 store 3 ,mem_24g_enter_hibernate 
+0x0055 000173 jam 30 ,mem_24g_long_sleep_param_update_timer 
+0x0056 000174 rtn 
+:      000176 p_g24_transmit_by_interrupt:
+0x0057 000177 call p_g24_timer_check 
+0x0058 000178 nrtn user 
+0x0059 000179 call p_g24_interval_calibrate 
+0x005a 000180 fetch 1 ,mem_24g_transmit_by_interrupt_exit_count 
+0x005b 000181 increase 1 ,pdata 
+0x005c 000182 store 1 ,mem_24g_transmit_by_interrupt_exit_count 
+0x005d 000183 sub pdata ,25 ,null 
+0x005e 000184 call p_g24_transmit_by_interrupt_exit ,zero 
+0x005f 000185 branch p_g24_transmit_process 
+:      000186 p_g24_transmit_by_interrupt_exit:
+0x0060 000187 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0x0061 000188 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+:      000189 p_g24_interval_min:
+0x0062 000190 jam 0 ,mem_24g_pac_index 
+0x0063 000191 fetch 1 ,mem_24g_interval_min 
+0x0064 000192 store 1 ,mem_24g_interval 
+0x0065 000193 rtn 
+:      000194 p_g24_interval_max:
+0x0066 000195 fetch 1 ,mem_24g_interval_max 
+0x0067 000196 store 1 ,mem_24g_interval 
+0x0068 000197 rtn 
+:      000198 p_g24_interval_calibrate:
+0x0069 000199 fetch 1 ,mem_24g_pac_index 
+0x006a 000200 increase 1 ,pdata 
+0x006b 000201 store 1 ,mem_24g_pac_index 
+0x006c 000202 beq 4 ,p_g24_interval_max 
+0x006d 000203 beq 5 ,p_g24_interval_min 
+0x006e 000204 rtn 
+:      000205 p_g24_transmit_by_interrupt_enable:
+0x006f 000206 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+0x0070 000207 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+0x0071 000208 rtn 
+:      000210 p_g24_nodata_transmit:
+0x0072 000211 fetch 1 ,mem_24g_abort_pac 
+0x0073 000212 call p_g24_send_abort_packet ,blank 
+:      000213 p_g24_long_sleep:
+0x0074 000214 call lpo_calibration 
+0x0075 000215 fetch 3 ,mem_clks_per_lpo 
+0x0076 000216 rtn blank 
+0x0077 000217 fetch 1 ,mem_lpm_mode 
+0x0078 000218 rtn blank 
+0x0079 000219 call p_mouse_setgpio_lpm 
+0x007a 000220 fetch 8 ,mem_24g_enter_hibernate 
+0x007b 000221 call clk2lpo 
+0x007c 000222 storet 4 ,mem_sleep_counter 
+0x007d 000223 branch lpm_sleep 
+:      000225 p_g24_send_abort_packet:
+0x007e 000226 jam 1 ,mem_24g_abort_pac 
+0x007f 000227 jam 0 ,mem_24g_rf_hop_ch 
+0x0080 000228 call p_g24_transmit_rf_ctrl_clear 
+0x0081 000229 store 1 ,mem_24g_txbuf 
+0x0082 000230 setarg 0 
+0x0083 000231 store 7 ,mem_24g_txbuf + 1 
+0x0084 000232 fetch 4 ,mem_24g_device_addr 
+0x0085 000233 store 4 ,mem_24g_txbuf + 8 
+0x0086 000234 jam 12 ,mem_24g_datalen 
+0x0087 000235 fetch 1 ,mem_24g_data_type 
+0x0088 000236 set1 bit_abort ,pdata 
+0x0089 000237 store 1 ,mem_24g_data_type 
+0x008a 000238 call p_g24_transmit_prep 
+0x008b 000239 call p_g24_txdata_enable_tx 
+0x008c 000240 branch p_g24_transmit_start 
+:      000243 p_mouse_before_lpm:
+0x008d 000244 rtnmark1 mark_24g 
+0x008e 000245 call p_mouse_le_txbuff_save 
+0x008f 000246 call p_mouse_setgpio_lpm 
+0x0090 000247 fetch 1 ,mem_context 
+0x0091 000248 bbit0 state_inconn ,p_clear_wake 
+0x0092 000249 fetch 1 ,mem_lpm_current_mult 
+0x0093 000250 nrtn blank 
+:      000251 p_clear_wake:
+0x0094 000252 setarg 0 
+0x0095 000253 store 8 ,mem_gpio_wakeup_low 
+0x0096 000254 rtn 
+:      000256 p_mouse_setgpio_lpm:
+0x0097 000257 call p_mouse_set_sdio_high 
+0x0098 000258 call p_clear_wake 
+0x0099 000259 call mouse_lpm_before_common 
+0x009a 000260 hfetch 4 ,core_gpio_oe0 
+0x009b 000261 hfetcht 4 ,core_gpio_pu0 
+0x009c 000262 ior temp ,temp 
+0x009d 000263 invert temp ,temp 
+0x009e 000264 hstoret 4 ,core_gpio_pd0 
+0x009f 000265 branch p_mouse_multi_led_off2 
+:      000267 p_mouse_set_sdio_high:
+0x00a0 000268 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0x00a1 000269 rtn blank 
+0x00a2 000270 branch p_mouse_seting_dpi + 1 
+:      000272 p_mouse_le_txbuff_save:
+0x00a3 000273 arg mem_le_tx_buffer0 ,contr 
+0x00a4 000274 arg mem_le_tx_buffer0_omemalloc ,contw 
+0x00a5 000275 call p_mouse_le_txbuff_copy 
+0x00a6 000276 arg mem_le_tx_buffer1 ,contr 
+0x00a7 000277 arg mem_le_tx_buffer1_omemalloc ,contw 
+0x00a8 000278 call p_mouse_le_txbuff_copy 
+0x00a9 000279 arg mem_le_tx_buffer2 ,contr 
+0x00aa 000280 arg mem_le_tx_buffer2_omemalloc ,contw 
+0x00ab 000281 call p_mouse_le_txbuff_copy 
+0x00ac 000282 arg mem_le_tx_buffer3 ,contr 
+0x00ad 000283 arg mem_le_tx_buffer3_omemalloc ,contw 
+:      000284 p_mouse_le_txbuff_copy:
+0x00ae 000285 arg 27 ,loopcnt 
+0x00af 000286 branch memcpy 
+:      000288 p_mouse_le_txbuff_load:
+0x00b0 000289 arg mem_le_tx_buffer0_omemalloc ,contr 
+0x00b1 000290 arg mem_le_tx_buffer0 ,contw 
+0x00b2 000291 call p_mouse_le_txbuff_copy 
+0x00b3 000292 arg mem_le_tx_buffer1_omemalloc ,contr 
+0x00b4 000293 arg mem_le_tx_buffer1 ,contw 
+0x00b5 000294 call p_mouse_le_txbuff_copy 
+0x00b6 000295 arg mem_le_tx_buffer2_omemalloc ,contr 
+0x00b7 000296 arg mem_le_tx_buffer2 ,contw 
+0x00b8 000297 call p_mouse_le_txbuff_copy 
+0x00b9 000298 arg mem_le_tx_buffer3_omemalloc ,contr 
+0x00ba 000299 arg mem_le_tx_buffer3 ,contw 
+0x00bb 000300 branch p_mouse_le_txbuff_copy 
+:      000302 p_device_init:
+0x00bc 000303 call app_lpm_mult_enable 
+0x00bd 000304 branch p_device_init_common ,wake 
+0x00be 000305 jam 0x20 ,core_gpio_pu0 
+0x00bf 000307 call p_mouse_data_init 
+0x00c0 000308 fetch 1 ,mem_tx_power 
+0x00c1 000309 store 1 ,mem_tx_power_temp 
+0x00c2 000310 call power_ctrl_pac_succ_cnt_init 
+0x00c3 000311 fetch 1 ,mem_ui_button_timeout 
+0x00c4 000312 store 1 ,mem_combination_ui_button_count 
+0x00c5 000313 call mouse_bt_discovery_button_down_disable 
+:      000314 p_device_init_common:
+0x00c6 000315 call p_mouse_init 
+0x00c7 000316 branch enable_authrom 
+:      000318 p_mouse_init:
+0x00c8 000319 ncall p_mouse_setting_config ,wake 
+0x00c9 000320 call p_mouse_spi_init 
+0x00ca 000321 rtn wake 
+0x00cb 000322 jam 1 ,mem_mouse_dpi 
+0x00cc 000323 call p_mouse_cb_fuction 
+0x00cd 000330 branch p_mouse_wakeup_from_power 
+:      000331 p_test_function:
+0x00ce 000332 call p_mouse_check_key_gpio 
+0x00cf 000335 beq mouse_lmr_button ,p_test_rf_param 
+0x00d0 000336 rtn 
+:      000338 p_test_rf_param:
+0x00d1 000340 setarg 0x1bb7 
+0x00d2 000341 store 2 ,mem_device_flag 
+0x00d3 000342 arg 2 ,temp 
+0x00d4 000343 arg mem_device_flag ,rega 
+0x00d5 000344 setarg 0 
+0x00d6 000345 call iicd_write_eep 
+0x00d7 000346 jam 1 ,0x8010 
+0x00d8 000347 rtn 
+:      000349 p_mouse_check_reconn_target:
+0x00d9 000350 call p_mouse_tx_power_init 
+0x00da 000351 fetch 1 ,mem_xrecord_mode 
+0x00db 000352 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+0x00dc 000353 rtn 
+:      000357 p_mouse4_0_check_reconn_target:
+0x00dd 000358 call p_mouse4_0_reconn_led_blink_init 
+0x00de 000359 jam 1 ,mem_mouse_le_reconnect_flag 
+0x00df 000360 fetch 2 ,mem_mouse_direct_timeout 
+0x00e0 000361 store 2 ,mem_mouse_direct_timer 
+0x00e1 000362 call app_lpm_mult_disable 
+0x00e2 000363 call p_le_check_adv_flag 
+0x00e3 000364 setarg adv_flag_bredr_not_supported 
+0x00e4 000365 istore 1 ,contr 
+0x00e5 000366 branch check_51cmd_adv 
+:      000368 p_le_check_adv_flag:
+0x00e6 000369 arg mem_le_adv_data ,rega 
+:      000370 p_le_check_adv_flag_loop:
+0x00e7 000371 ifetch 1 ,rega 
+0x00e8 000372 rtn blank 
+0x00e9 000373 iadd contr ,rega 
+0x00ea 000374 ifetch 1 ,contr 
+0x00eb 000375 rtneq 0x01 
+0x00ec 000376 branch p_le_check_adv_flag_loop 
+:      000378 p_mouse4_0_reconn_led_blink_init:
+0x00ed 000379 jam 1 ,mem_mouse_ble_reconn_multi_led_blink_flag 
+0x00ee 000380 jam 9 ,mem_mouse_multi_led_blink_count 
+0x00ef 000381 branch p_mouse_dpi_multi_led_blink 
+:      000398 p_mouse_dpi_config:
+0x00f0 000399 fetch mouse_flag_len ,mem_mouse_flag 
+0x00f1 000400 bbit0 mouse_enable_eeprom ,mouse_dpi_config 
+0x00f2 000401 fetch 1 ,mem_mouse_dpi 
+0x00f3 000402 beq 0xff ,mouse_dpi_config 
+0x00f4 000403 branch mouse_seting_dpi + 2 
+:      000405 p_mouse_spi_init:
+0x00f5 000406 jam 0x76 ,mem_spi_init_clk 
+0x00f6 000407 branch mouse_spi_init 
+:      000409 p_mouse_init_sunt:
+0x00f7 000410 call p_mouse_spi_init 
+0x00f8 000411 call mouse_spi_sdio_gpio_pollup 
+0x00f9 000412 fetch 1 ,mem_config_sensor_type 
+0x00fa 000413 beq p3610 ,mouse_init_3610sensor 
+:      000414 p_mouse_init_sensor:
+0x00fb 000415 call mouse_read_sensor_id 
+0x00fc 000416 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+0x00fd 000417 beq p3065_id1 ,p_mouse_p3065_init_param 
+0x00fe 000418 call mouse_twspi_reset 
+0x00ff 000419 nop 1000 
+0x0100 000420 branch p_mouse_init_sensor 
+:      000422 p_mouse_init_sensor_reset:
+0x0101 000423 jam 1 ,mem_mouse_init_sensor_reset_flag 
+0x0102 000424 call spi_ncs_enable 
+0x0103 000425 call p_mouse_init_sunt 
+0x0104 000426 branch spi_ncs_disable 
+:      000428 p_mouse_init_p32xx_id2_judge:
+0x0105 000429 call p_mouse_sensor_poweron 
+0x0106 000430 fetch 1 ,mem_sensor_id2 
+0x0107 000431 beq p_mx8650 ,p_mouse_mx8650_init_param 
+0x0108 000432 branch mouse_init_p32xx_id2_judge 
+:      000433 p_mouse_mx8650_init_param:
+0x0109 000434 jam mx8650 ,mem_config_sensor_type 
+0x010a 000435 rtn 
+:      000437 p_mouse_p3065_init_param:
+0x010b 000438 call p_mouse_sensor_poweron 
+0x010c 000439 fetch 1 ,mem_sensor_id2 
+0x010d 000440 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0x010e 000441 jam p3065 ,mem_config_sensor_type 
+0x010f 000442 rtn 
+:      000444 p_mouse_sensor_poweron:
+0x0110 000445 setarg 0x8006 
+0x0111 000446 call twspi_write 
+0x0112 000447 nop 12000 
+0x0113 000448 branch p_mouse_dpi_config 
+:      000449 p_mouse_sensor_powerdown:
+0x0114 000450 setarg 0x06 
+0x0115 000451 call twspi_read 
+0x0116 000452 or pdata ,0x08 ,pdata 
+0x0117 000453 lshift8 pdata ,pdata 
+0x0118 000454 add pdata ,0x06 ,pdata 
+0x0119 000455 branch twspi_write 
+:      000457 p_mouse_setting_config:
+0x011a 000458 call p_g24_set_device_addr 
+0x011b 000460 hfetch 1 ,core_usb_config 
+0x011c 000461 set0 4 ,pdata 
+0x011d 000462 hstore 1 ,core_usb_config 
+0x011e 000463 call mouse_gpio_init 
+0x011f 000465 fetcht 1 ,mem_mouse_multi_led_gpio 
+0x0120 000466 call gpio_config_output 
+0x0121 000468 call mouse_param_init 
+0x0122 000469 setarg 0 
+0x0123 000470 store 2 ,mem_lpm_interval 
+0x0124 000471 call p_mouse_set_gpio_control_sensor 
+0x0125 000472 setarg 0x1802 
+0x0126 000473 store 2 ,mem_fcomp_mul 
+0x0127 000474 call mouse_adc_init 
+0x0128 000475 call le_set_config_fixed_ltk 
+0x0129 000476 call le_set_justwork 
+0x012a 000477 call le_set_fixed_ltk 
+0x012b 000478 call le_set_config_read_authentication 
+:      000483 p_mouse_init_iic:
+0x012c 000484 call iic_init_390k 
+0x012d 000485 fetch mouse_flag_len ,mem_mouse_flag 
+0x012e 000486 isolate1 mouse_enable_2k_eeprom ,pdata 
+0x012f 000487 ncall clear_eeprom_size_2k ,true 
+0x0130 000488 call mouse_load_eeprom_dpi 
+0x0131 000489 call p_mouse_init_environment 
+:      000490 p_mouse_init_iic_read_24g_addr:
+0x0132 000491 call p_mouse_set_24g_addr_eeprom 
+0x0133 000492 branch iicd_read_eep_data 
+:      000494 p_mouse_set_gpio_control_sensor:
+0x0134 000495 fetch mouse_flag_len ,mem_mouse_flag 
+0x0135 000496 rtnbit0 mouse_enable_gpio_control_adc_sensor 
+:      000497 p_mouse_sensor_set_angle:
+0x0136 000498 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x0137 000499 call gpio_config_input 
+0x0138 000500 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x0139 000501 call gpio_get_bit 
+0x013a 000502 jam mouse_12clk_angle ,mem_config_sensor_angle 
+0x013b 000503 rtn true 
+0x013c 000504 jam mouse_9clk_angle ,mem_config_sensor_angle 
+0x013d 000505 rtn 
+:      000508 p_mouse_init_environment:
+0x013e 000509 call app_initflag_check 
+0x013f 000510 branch mouse_eeprom_load_recon_info ,zero 
+0x0140 000511 call p_le_addr_random_config 
+0x0141 000512 branch mouse_init_environment + 2 
+:      000514 p_app_flag_store:
+0x0142 000515 arg 2 ,temp 
+0x0143 000516 arg mem_timeup ,rega 
+0x0144 000517 arg mouse_eeprom_module_init_flag ,regb 
+0x0145 000518 branch iicd_write_protect_eep_data 
+:      000520 p_app_initflag_check:
+0x0146 000521 arg 2 ,temp 
+0x0147 000522 arg mem_pdatatemp ,rega 
+0x0148 000523 arg mouse_eeprom_module_init_flag ,regb 
+0x0149 000524 branch app_initflag_check + 4 
+:      000550 p_mouse_wakeup_from_power:
+0x014a 000551 fetch mouse_flag_len ,mem_mouse_flag 
+0x014b 000552 bbit0 mouse_enable_wakeup_from_power ,p_mouse_wakeup_no_from_power 
+0x014c 000553 fetch 1 ,mem_wakup_from_power_flag 
+0x014d 000554 isolate0 gpio_latch ,pdata 
+0x014e 000555 nbranch p_mouse_wakeup_no_from_power ,true 
+0x014f 000556 call p_mouse_init_sunt 
+0x0150 000557 call p_mouse_sensor_powerdown 
+:      000558 p_mouse_wakeup_no_from_power:
+0x0151 000559 fetch 1 ,mem_reconn_times_init 
+0x0152 000560 store 1 ,mem_reconn_times 
+0x0153 000561 fetch 1 ,mem_config_function_enable 
+0x0154 000562 rtnbit1 enable_select_device_by_gpio_button 
+0x0155 000563 rtnbit1 enable_select_device_by_switch 
+:      000564 p_mouse_start_24g_mode:
+0x0156 000565 fetch mouse_flag_len ,mem_mouse_flag 
+0x0157 000566 rtnbit0 mouse_enable_24g 
+0x0158 000567 fetch 1 ,mem_wakup_from_power_flag 
+0x0159 000569 branch p_g24_auto_pair_start 
+:      000571 p_g24_factory_check:
+0x015a 000572 arg 2 ,loopcnt 
+0x015b 000573 arg mem_24g_addr ,contr 
+:      000574 p_pdata_0xff_check:
+0x015c 000575 call enable_user 
+0x015d 000576 setarg 0xffff 
+:      000577 p_pdata_0xff_check_loop:
+0x015e 000578 ifetcht 2 ,contr 
+0x015f 000579 isub temp ,null 
+0x0160 000580 ncall disable_user ,zero 
+0x0161 000581 loop p_pdata_0xff_check_loop 
+0x0162 000582 rtn 
+:      000584 p_mouse_cb_fuction:
+0x0163 000585 setarg p_mouse_g24_package_data 
+0x0164 000586 store 2 ,mem_cb_24g_data 
+0x0165 000587 setarg p_mouse_before_lpm 
+0x0166 000588 store 2 ,mem_cb_before_lpm 
+0x0167 000589 setarg p_mouse_priority_bb_event 
+0x0168 000590 store 2 ,mem_cb_bb_event_process 
+0x0169 000591 setarg p_mouse_idle 
+0x016a 000592 store 2 ,mem_cb_idle_process 
+0x016b 000593 setarg p_mouse_before_hibernate 
+0x016c 000594 store 2 ,mem_cb_before_hibernate 
+0x016d 000595 setarg p_mouse_bb_event_timer 
+0x016e 000596 store 2 ,mem_cb_event_timer 
+0x016f 000597 setarg mouse_spi_write_flash_cb 
+0x0170 000598 store 2 ,mem_cb_spi_flash_write_complate 
+0x0171 000599 rtn 
+:      000601 p_mouse_g24_package_data:
+0x0172 000602 call mouse_g24_package_data 
+0x0173 000603 fetch 2 ,mem_mouse_z 
+0x0174 000604 rtn blank 
+0x0175 000605 branch p_g24_transmit_by_interrupt_enable 
+:      000607 p_mouse_le_current_mult_update:
+0x0176 000608 fetch 1 ,mem_config_function_enable 
+0x0177 000609 rtnbit1 enable_sensor_motion_pin 
+0x0178 000610 jam 0 ,mem_lpm_mult 
+0x0179 000611 jam 30 ,mem_mouse_le_current_mult_timer 
+0x017a 000612 rtn 
+:      000614 p_mouse_wheel_trigger:
+0x017b 000615 jam 1 ,mem_mouse_wheel_trigger 
+0x017c 000616 jam 2 ,mem_mouse_wheel_trigger_timer 
+0x017d 000617 rtn 
+:      000620 p_mouse_clear_sensor_data:
+0x017e 000621 call le_set_config_more_data 
+0x017f 000622 jam 1 ,mem_mouse_clear_sensor_data_flag 
+0x0180 000623 branch p_mouse_sensor_poweron 
+:      000625 p_mouse_idle:
+0x0181 000627 call ui_check_paring_button 
+0x0182 000629 branch mouse_wheel_check 
+:      000631 p_mouse_dpi_check:
+0x0183 000632 fetcht 1 ,mem_dpi_button_gpio 
+0x0184 000633 call p_gpio_set_input_pd 
+0x0185 000634 fetcht 1 ,mem_dpi_button_gpio 
+0x0186 000635 call gpio_get_bit 
+0x0187 000636 branch p_mouse_dpi_up ,true 
+0x0188 000637 call p_gpio_set_input_pu 
+:      000638 p_mouse_dpi_down:
+0x0189 000639 fetch 1 ,mem_mouse_dpi_button_state 
+0x018a 000640 rtneq dpi_button_state_down 
+0x018b 000641 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+0x018c 000642 fetch 1 ,mem_mouse_dpi 
+0x018d 000643 increase 1 ,pdata 
+0x018e 000644 and pdata ,0x03 ,pdata 
+0x018f 000645 store 1 ,mem_mouse_dpi 
+0x0190 000646 increase 2 ,pdata 
+0x0191 000647 store 2 ,mem_mouse_multi_led_blink_count 
+0x0192 000648 call p_mouse_dpi_multi_led_blink 
+0x0193 000649 branch mouse_dpi_down + 7 
+:      000651 p_mouse_dpi_up:
+0x0194 000652 call p_gpio_set_input_pu 
+0x0195 000653 branch mouse_dpi_up 
+:      000681 p_mouse_priority_bb_event:
+0x0196 000682 copy regc ,pdata 
+0x0197 000683 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+0x0198 000684 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+0x0199 000685 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+0x019a 000686 branch mouse_priority_bb_event + 1 
+:      000691 p_mouse_24g_pairing_complete:
+0x019b 000692 call p_mouse_init_sensor_reset 
+0x019c 000694 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x019d 000695 arg mosue_24g_pairing_flag ,queue 
+0x019e 000696 call mouse_disable_function_flag 
+0x019f 000697 setarg 0 
+0x01a0 000698 store 2 ,mem_24g_pairing_timer_count 
+0x01a1 000699 jam 0 ,mem_mouse_move_flag 
+0x01a2 000701 fetch 1 ,mem_config_sensor_type 
+0x01a3 000702 sub pdata ,p3610 ,null 
+0x01a4 000703 call mouse_read_sensor3610_data ,zero 
+0x01a5 000704 ncall mouse_read_sensor_common ,zero 
+0x01a6 000706 call p_mouse_tx_power_init 
+0x01a7 000710 call p_mouse_set_24g_addr_eeprom 
+0x01a8 000711 branch iicd_write_protect_eep_data 
+:      000713 p_mouse_set_24g_addr_eeprom:
+0x01a9 000714 arg mem_24g_addr ,rega 
+0x01aa 000715 arg mouse_g24_addr_eeprom_offect ,regb 
+0x01ab 000716 arg 4 ,temp 
+0x01ac 000717 rtn 
+:      000725 p_mouse_tx_power_init:
+0x01ad 000726 fetch 1 ,mem_tx_power_temp 
+0x01ae 000727 store 1 ,mem_tx_power 
+0x01af 000728 rtn 
+:      000730 p_mouse_24g_attempt_fail:
+0x01b0 000731 call p_mouse_sensor_powerdown_check 
+0x01b1 000732 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0x01b2 000733 call p_mouse_tx_power_init 
+0x01b3 000734 call p_g24_check_51cmd_stop_24g 
+0x01b4 000735 fetch 1 ,mem_mouse_mode_config 
+0x01b5 000736 bbit1 mouse_24g_only ,p_mouse_null_enter_hibernate_enable 
+0x01b6 000737 jam 0 ,mem_link_key_exists 
+0x01b7 000738 call mouse_eeprom_load_recon_info 
+0x01b8 000739 arg 3 ,loopcnt 
+0x01b9 000740 arg mem_device1_addr ,contr 
+0x01ba 000741 call p_pdata_0xff_check 
+0x01bb 000742 branch p_mouse_null_enter_hibernate_enable ,user 
+0x01bc 000743 branch p_mouse_check_reconn_target 
+:      000745 p_mouse_null_enter_hibernate_enable:
+0x01bd 000746 jam 1 ,mem_mouse_null_enter_hibernate_flag 
+0x01be 000747 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+0x01bf 000748 rtn 
+:      000750 p_mouse_24g_attempt_success:
+0x01c0 000751 call p_mouse_init_sensor_reset 
+0x01c1 000752 branch mouse_no_data_timer_init 
+:      000754 p_mouse_before_hibernate:
+0x01c2 000755 enable user 
+0x01c3 000756 hfetch 4 ,0x8138 
+0x01c4 000757 setflag user ,26 ,pdata 
+0x01c5 000758 hstore 4 ,core_lpm_reg 
+0x01c6 000759 call lpm_write_ctrl 
+0x01c7 000760 call p_mouse_sensor_powerdown_check 
+0x01c8 000761 call disable_authrom 
+0x01c9 000762 call mouse_devce_led_off 
+0x01ca 000763 call mouse_before_hibernate_wheel_gpio_set 
+0x01cb 000764 call mouse_lpm_before_common 
+0x01cc 000765 branch p_mouse_multi_led_off2 
+:      000767 p_mouse_sensor_powerdown_check:
+0x01cd 000768 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+0x01ce 000769 rtn blank 
+0x01cf 000770 jam 0 ,mem_mouse_init_sensor_reset_flag 
+0x01d0 000771 branch p_mouse_sensor_powerdown 
+:      000773 p_mouse_bb_event_timer:
+0x01d1 000775 call p_mouse_24g_long_sleep_param_update_timer 
+0x01d2 000776 call p_mouse_le_current_mult_update_timer 
+0x01d3 000777 call p_mouse_wheel_trigger_timer 
+0x01d4 000778 call p_mouse_null_enter_hibernate_timer 
+0x01d5 000779 call p_mouse_bt_discovery_check 
+0x01d6 000780 call p_mouse_dpi_check 
+0x01d7 000781 call mouse_check_discovery_timeout_timer 
+0x01d8 000782 call mouse_check_direct_timeout_timer 
+0x01d9 000783 call mouse_check_no_data_timeout_timer 
+0x01da 000784 branch p_mouse_le_enable_att_list_timer 
+:      000788 p_mouse_wheel_trigger_timer:
+0x01db 000789 arg mem_mouse_wheel_trigger_timer ,regc 
+0x01dc 000790 arg p_mouse_wheel_trigger_disable ,regb 
+0x01dd 000791 branch timer_single_step 
+:      000792 p_mouse_wheel_trigger_disable:
+0x01de 000793 jam 0 ,mem_mouse_wheel_trigger 
+0x01df 000794 rtn 
+:      000796 p_mouse_24g_long_sleep_param_update_timer:
+0x01e0 000797 arg mem_24g_long_sleep_param_update_timer ,regc 
+0x01e1 000798 arg p_mouse_24g_long_sleep_normal_param ,regb 
+0x01e2 000799 branch timer_single_step 
+:      000800 p_mouse_24g_long_sleep_normal_param:
+0x01e3 000801 setarg g24_long_sleep_step2 
+0x01e4 000802 store 3 ,mem_24g_enter_hibernate 
+0x01e5 000803 jam 1 ,mem_mouse_long_mult_flag 
+0x01e6 000804 rtn 
+:      000806 p_mouse_le_current_mult_update_timer:
+0x01e7 000807 arg mem_mouse_le_current_mult_timer ,regc 
+0x01e8 000808 arg p_mouse_le_current_mult_reinit ,regb 
+0x01e9 000809 branch timer_single_step 
+:      000810 p_mouse_le_current_mult_reinit:
+0x01ea 000811 fetch 1 ,mem_lpm_mult_init 
+0x01eb 000812 store 1 ,mem_lpm_mult 
+0x01ec 000813 jam 1 ,mem_mouse_long_mult_flag 
+0x01ed 000814 rtn 
+:      000816 p_mouse_le_enable_att_list_timer:
+0x01ee 000817 arg mem_le_start_encrypt_timer ,regc 
+0x01ef 000818 arg mouse_le_write_enable ,regb 
+0x01f0 000819 branch timer_single_step 
+:      000821 p_mouse_bt_discovery_check:
+0x01f1 000822 fetch 1 ,mem_config_function_enable 
+0x01f2 000823 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
+:      000829 p_mouse_bt_discovery_commbination_key_up:
+0x01f3 000830 fetch 1 ,mem_ui_button_timeout 
+0x01f4 000831 store 1 ,mem_combination_ui_button_count 
+0x01f5 000832 fetch 1 ,mem_bt_discovey_button_statue 
+0x01f6 000833 rtneq dpi_button_state_up 
+0x01f7 000834 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+0x01f8 000835 arg mouse_bt_discovery_button_long_down_flag ,queue 
+0x01f9 000836 call mouse_disable_function_flag 
+0x01fa 000837 branch mouse_bt_discovery_button_down_disable 
+:      000838 p_mouse_bt_discovery_commbination_key_down:
+0x01fb 000839 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+0x01fc 000840 call p_mouse_bt_discovery_timer 
+0x01fd 000841 branch mouse_bt_discovery_commbination_key_down + 1 
+:      000843 p_mouse_bt_discovery_timer:
+0x01fe 000844 arg mem_combination_ui_button_count ,regc 
+0x01ff 000845 arg p_mouse_long_button_bt_discovery ,regb 
+0x0200 000846 branch timer_single_step 
+:      000848 p_mouse_long_button_bt_discovery:
+0x0201 000849 call p_mouse_sensor_powerdown_check 
+0x0202 000850 fetch 2 ,mem_ui_state_map 
+0x0203 000851 isolate1 ui_state_ble_adv ,pdata 
+0x0204 000852 call mouse_stop_le_adv ,true 
+0x0205 000853 fetch 2 ,mem_ui_state_map 
+0x0206 000854 isolate1 ui_state_bt_reconnect ,pdata 
+0x0207 000855 call mouse_cancel_reconnect ,true 
+0x0208 000856 arg mouse_bt_discovery_button_long_down_flag ,queue 
+0x0209 000857 call mouse_enable_function_flag 
+0x020a 000858 branch mouse_long_button_bt_discovry 
+:      000860 p_mouse_null_enter_hibernate_timer:
+0x020b 000861 fetch 1 ,mem_mouse_null_enter_hibernate_flag 
+0x020c 000862 rtn blank 
+0x020d 000863 fetch 1 ,mem_mouse_null_enter_hibernate_timer 
+0x020e 000864 branch p_mouse_null_enter_hibernate ,blank 
+0x020f 000865 increase -1 ,pdata 
+0x0210 000866 store 1 ,mem_mouse_null_enter_hibernate_timer 
+0x0211 000867 rtn 
+:      000868 p_mouse_null_enter_hibernate:
+0x0212 000869 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+0x0213 000870 branch app_enter_hibernate 
+:      000888 p_mouse_multi_led_type_blink:
+0x0214 000889 fetch 1 ,mem_mouse_multi_led_blink_timer 
+0x0215 000890 increase -1 ,pdata 
+0x0216 000891 store 1 ,mem_mouse_multi_led_blink_timer 
+0x0217 000892 nrtn blank 
+0x0218 000893 fetch 1 ,mem_mouse_multi_led_blink_timer_init 
+0x0219 000894 store 1 ,mem_mouse_multi_led_blink_timer 
+0x021a 000895 fetch 1 ,mem_mouse_multi_led_blink_count_limited 
+0x021b 000896 branch p_mouse_multi_led_blink_count_no_limited ,blank 
+0x021c 000897 fetch 1 ,mem_mouse_multi_led_blink_count 
+0x021d 000898 branch p_mouse_multi_led_blink_off ,blank 
+0x021e 000899 increase -1 ,pdata 
+0x021f 000900 store 1 ,mem_mouse_multi_led_blink_count 
+:      000901 p_mouse_multi_led_blink_count_no_limited:
+0x0220 000902 fetch 1 ,mem_mouse_multi_led_state 
+0x0221 000903 beq on ,p_mouse_multi_led_off 
+0x0222 000904 beq off ,p_mouse_multi_led_on 
+0x0223 000905 rtn 
+:      000907 p_mouse_multi_led_on:
+0x0224 000908 jam on ,mem_mouse_multi_led_state 
+0x0225 000909 fetcht 1 ,mem_mouse_multi_led_gpio 
+0x0226 000910 branch gpio_out_active 
+:      000912 p_mouse_multi_led_blink_off:
+0x0227 000913 jam 0 ,mem_mouse_ble_reconn_multi_led_blink_flag 
+0x0228 000914 jam 0 ,mem_mouse_multi_led_blink_timer 
+0x0229 000915 jam 0 ,mem_mouse_multi_led_blink_count 
+0x022a 000916 jam 0 ,mem_mouse_multi_led_blink_count_limited 
+:      000917 p_mouse_multi_led_off:
+0x022b 000918 fetch 1 ,mem_mouse_multi_led_blink_count 
+0x022c 000919 nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
+0x022d 000920 jam 0 ,mem_mouse_multi_led_blink_enable 
+0x022e 000921 jam 0 ,mem_mouse_multi_led_type 
+:      000922 p_mouse_multi_led_off_wait_blink_over:
+0x022f 000923 jam 0 ,mem_mouse_multi_led_on_timer 
+0x0230 000924 jam off ,mem_mouse_multi_led_state 
+:      000925 p_mouse_multi_led_off2:
+0x0231 000926 fetcht 1 ,mem_mouse_multi_led_gpio 
+0x0232 000927 branch gpio_out_inactive 
+:      000937 p_mouse_discovery_multi_led_blink:
+0x0233 000938 jam 1 ,mem_mouse_multi_led_blink_timer 
+0x0234 000939 jam 5 ,mem_mouse_multi_led_blink_timer_init 
+0x0235 000940 jam 0 ,mem_mouse_multi_led_blink_count_limited 
+0x0236 000941 jam 1 ,mem_mouse_multi_led_blink_count 
+:      000942 p_mouse_multi_led_blink_enable:
+0x0237 000943 jam on ,mem_mouse_multi_led_blink_enable 
+0x0238 000944 jam multi_led_blink ,mem_mouse_multi_led_type 
+0x0239 000945 rtn 
+:      000947 p_mouse_discovey_led_blink_off:
+0x023a 000952 fetch 1 ,mem_mouse_ble_reconn_multi_led_blink_flag 
+0x023b 000953 nrtn blank 
+0x023c 000954 branch p_mouse_multi_led_blink_off + 1 
+:      000956 p_mouse_dpi_multi_led_blink:
+0x023d 000957 jam 1 ,mem_mouse_multi_led_blink_timer 
+0x023e 000958 jam 3 ,mem_mouse_multi_led_blink_timer_init 
+0x023f 000959 jam 1 ,mem_mouse_multi_led_blink_count_limited 
+0x0240 000960 branch p_mouse_multi_led_blink_enable 
+:      000962 p_mouse_motion:
+0x0241 000963 disable user 
+0x0242 000964 setarg 0 
+0x0243 000965 store 6 ,mem_mouse_x 
+0x0244 000966 call p_mouse_cheak_sensor_data 
+0x0245 000967 call mouse_zwheel 
+0x0246 000968 call mouse_t_zwheel 
+0x0247 000969 call p_mouse_key 
+0x0248 000970 branch mouse_motion + 8 
+:      000972 p_mouse_key:
+0x0249 000973 call p_mouse_check_key_gpio 
+0x024a 000974 branch mouse_key + 1 
+:      000975 p_mouse_check_key_gpio:
+0x024b 000976 arg 0 ,rega 
+0x024c 000977 call p_mouse_check_lkey_gpio 
+0x024d 000978 call p_mouse_check_rkey_gpio 
+0x024e 000979 call p_mouse_check_mkey_gpio 
+0x024f 000980 call p_mouse_check_skey_gpio 
+0x0250 000981 copy rega ,pdata 
+0x0251 000982 rtn 
+:      000983 p_mouse_check_skey_gpio:
+0x0252 000984 fetch 1 ,mem_bk_button_gpio 
+0x0253 000985 rtneq gpio_disable 
+0x0254 000986 call p_mouse_check_bk_key_gpio 
+0x0255 000987 branch p_mouse_check_fw_key_gpio 
+:      000989 p_mouse_check_lkey_gpio:
+0x0256 000990 fetcht 1 ,mem_lbutton_gpio 
+0x0257 000991 call p_gpio_set_input_pu 
+0x0258 000992 fetcht 1 ,mem_lbutton_gpio 
+0x0259 000993 call gpio_get_bit 
+0x025a 000994 setflag true ,0 ,rega 
+0x025b 000995 rtn 
+:      000996 p_mouse_check_rkey_gpio:
+0x025c 000997 fetcht 1 ,mem_rbutton_gpio 
+0x025d 000998 call p_gpio_set_input_pu 
+0x025e 000999 fetcht 1 ,mem_rbutton_gpio 
+0x025f 001000 call gpio_get_bit 
+0x0260 001001 setflag true ,1 ,rega 
+0x0261 001002 rtn 
+:      001003 p_mouse_check_mkey_gpio:
+0x0262 001004 fetcht 1 ,mem_mbutton_gpio 
+0x0263 001005 call p_gpio_set_input_pu 
+0x0264 001006 fetcht 1 ,mem_mbutton_gpio 
+0x0265 001007 call gpio_get_bit 
+0x0266 001008 setflag true ,2 ,rega 
+0x0267 001009 rtn 
+:      001010 p_mouse_check_bk_key_gpio:
+0x0268 001011 fetcht 1 ,mem_bk_button_gpio 
+0x0269 001012 call p_gpio_set_input_pd 
+0x026a 001013 fetcht 1 ,mem_bk_button_gpio 
+0x026b 001014 call gpio_get_bit 
+0x026c 001015 nsetflag true ,3 ,rega 
+0x026d 001016 branch p_gpio_set_input_pu 
+:      001017 p_mouse_check_fw_key_gpio:
+0x026e 001018 fetcht 1 ,mem_fw_button_gpio 
+0x026f 001019 call p_gpio_set_input_pd 
+0x0270 001020 fetcht 1 ,mem_fw_button_gpio 
+0x0271 001021 call gpio_get_bit 
+0x0272 001022 nsetflag true ,4 ,rega 
+0x0273 001023 branch p_gpio_set_input_pu 
+:      001024 p_gpio_set_input_pd:
+0x0274 001025 set0 gpio_active_bit ,temp 
+0x0275 001026 arg core_gpio_pu0 ,contw 
+0x0276 001027 call gpio_set_bit 
+0x0277 001028 set1 gpio_active_bit ,temp 
+0x0278 001029 arg core_gpio_pd0 ,contw 
+0x0279 001030 call gpio_set_bit 
+0x027a 001031 set0 gpio_active_bit ,temp 
+0x027b 001032 arg core_gpio_oe0 ,contw 
+0x027c 001033 branch gpio_set_bit 
+:      001035 p_gpio_set_input_pu:
+0x027d 001036 set1 gpio_active_bit ,temp 
+0x027e 001037 arg core_gpio_pu0 ,contw 
+0x027f 001038 call gpio_set_bit 
+0x0280 001039 set0 gpio_active_bit ,temp 
+0x0281 001040 branch p_gpio_set_input_pd + 4 
+:      001042 p_mouse_cheak_sensor_data:
+0x0282 001043 fetch 1 ,mem_spi_write_flash_sm 
+0x0283 001044 rtnne flash_sm_no_buys 
+0x0284 001045 fetch 1 ,mem_config_sensor_type 
+0x0285 001046 beq p3205 ,p_mouse_p32xx_sensor_motion 
+0x0286 001047 beq p3065 ,p_mouse_p32xx_sensor_motion 
+0x0287 001048 beq ka8 ,p_mouse_p32xx_sensor_motion 
+0x0288 001049 beq p3204 ,p_mouse_p32xx_sensor_motion 
+0x0289 001050 beq p3212 ,p_mouse_p3212_sensor_motion 
+0x028a 001051 beq p3610 ,mouse_p3610_sensor_motion 
+0x028b 001052 beq p3065_xy ,p_mouse_p32xx_sensor_motion 
+0x028c 001053 branch p_mouse_p32xx_sensor_motion 
+:      001055 p_mouse_p32xx_sensor_motion:
+0x028d 001056 call mouse_clear_sensor_data 
+0x028e 001057 disable user 
+0x028f 001058 fetch 1 ,mem_config_function_enable 
+0x0290 001059 bbit0 enable_sensor_motion_pin ,mouse_p32xx_sensor_motion_2 
+0x0291 001060 fetcht 1 ,mem_sensor_data_gpio 
+0x0292 001061 call gpio_get_bit 
+0x0293 001062 nrtn true 
+0x0294 001063 branch mouse_p32xx_sensor_motion_2 
+:      001064 p_mouse_p3212_sensor_motion:
+0x0295 001065 call mouse_clear_sensor_data 
+0x0296 001066 fetch 1 ,mem_config_function_enable 
+0x0297 001067 bbit0 enable_sensor_motion_pin ,mouse_p3212_sensor_motion_1 
+0x0298 001068 fetcht 1 ,mem_sensor_data_gpio 
+0x0299 001069 call gpio_get_bit 
+0x029a 001070 nrtn true 
+0x029b 001071 branch mouse_p3212_sensor_motion_1 
+:      001073 p_mouse_seting_dpi:
+0x029c 001074 call mosue_dpi_led_blink_init 
+0x029d 001075 fetch 1 ,mem_config_sensor_type 
+0x029e 001076 beq p3610 ,mouse_seting_3610_dpi 
+0x029f 001077 beq p3212 ,p_mouse_seting_3212_dpi 
+0x02a0 001078 beq p3065_xy ,p_mouse_seting_3065xy_dpi 
+0x02a1 001080 beq mx8650 ,p_mouse_seting_8650xy_dpi 
+0x02a2 001081 branch mouse_seting_dpi + 3 
+:      001082 p_mouse_seting_3205_dpi:
+0x02a3 001083 fetch 1 ,mem_mouse_dpi 
+0x02a4 001084 sub pdata ,mouse_dpi_level2 ,null 
+0x02a5 001085 call p_mouse_3205_dpi_recount ,zero 
+0x02a6 001086 fetch 1 ,mem_mouse_dpi 
+0x02a7 001087 beq mouse_dpi_level1 ,p_mouse_set_cpi1 
+0x02a8 001088 beq mouse_dpi_level2 ,p_mouse_set_cpi2 
+0x02a9 001089 beq mouse_dpi_level3 ,p_mouse_set_cpi3 
+0x02aa 001090 beq mouse_dpi_level4 ,p_mouse_set_cpi4 
+0x02ab 001091 branch p_mouse_set_cpi3 
+:      001092 p_mouse_3205_dpi_recount:
+0x02ac 001093 jam mouse_dpi_level3 ,mem_mouse_dpi 
+0x02ad 001094 rtn 
+:      001095 p_mouse_set_cpi1:
+0x02ae 001096 jam 1 ,mem_mouse_dpi_blink_count 
+0x02af 001097 branch mouse_set_cpi1 
+:      001098 p_mouse_set_cpi2:
+0x02b0 001099 jam 1 ,mem_mouse_dpi_blink_count 
+0x02b1 001100 branch mouse_set_cpi1 
+:      001101 p_mouse_set_cpi3:
+0x02b2 001102 jam 2 ,mem_mouse_dpi_blink_count 
+0x02b3 001103 branch mouse_set_cpi3 
+:      001104 p_mouse_set_cpi4:
+0x02b4 001105 jam 3 ,mem_mouse_dpi_blink_count 
+0x02b5 001106 branch mouse_set_cpi4 
+:      001108 p_mouse_seting_8650xy_dpi:
+0x02b6 001109 fetch 1 ,mem_mouse_dpi 
+0x02b7 001110 sub pdata ,mouse_dpi_level2 ,null 
+0x02b8 001111 call p_mouse_3065xy_dpi_recount ,zero 
+0x02b9 001112 fetch 1 ,mem_mouse_dpi 
+0x02ba 001113 beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi2 
+0x02bb 001115 beq mouse_dpi_level3 ,p_mouse_3065xy_set_cpi3 
+0x02bc 001116 beq mouse_dpi_level4 ,p_mouse_3065xy_set_cpi4 
+0x02bd 001117 branch p_mouse_3065xy_set_cpi3 
+:      001118 p_mouse_8650xy_dpi_recount:
+0x02be 001119 jam mouse_dpi_level3 ,mem_mouse_dpi 
+0x02bf 001120 rtn 
+:      001121 p_mouse_8650xy_set_cpi1:
+0x02c0 001127 fetch 1 ,mem_3065xy_dpi_4 
+0x02c1 001128 branch mouse_p3205_dpi 
+:      001132 p_mouse_8650xy_set_cpi3:
+0x02c2 001134 fetch 1 ,mem_3065xy_dpi_2 
+0x02c3 001135 branch mouse_p3205_dpi 
+:      001136 p_mouse_8650xy_set_cpi4:
+0x02c4 001138 fetch 1 ,mem_3065xy_dpi_3 
+0x02c5 001139 branch mouse_p3205_dpi 
+:      001141 p_mouse_seting_3065xy_dpi:
+0x02c6 001142 fetch 1 ,mem_mouse_dpi 
+0x02c7 001143 sub pdata ,mouse_dpi_level2 ,null 
+0x02c8 001144 call p_mouse_3065xy_dpi_recount ,zero 
+0x02c9 001145 fetch 1 ,mem_mouse_dpi 
+0x02ca 001146 beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi1 
+0x02cb 001147 beq mouse_dpi_level2 ,p_mouse_3065xy_set_cpi2 
+0x02cc 001148 beq mouse_dpi_level3 ,p_mouse_3065xy_set_cpi3 
+0x02cd 001149 beq mouse_dpi_level4 ,p_mouse_3065xy_set_cpi4 
+0x02ce 001150 branch p_mouse_3065xy_set_cpi3 
+:      001151 p_mouse_3065xy_dpi_recount:
+0x02cf 001152 jam mouse_dpi_level3 ,mem_mouse_dpi 
+0x02d0 001153 rtn 
+:      001154 p_mouse_3065xy_set_cpi1:
+0x02d1 001155 jam 1 ,mem_mouse_dpi_blink_count 
+0x02d2 001156 fetch 1 ,mem_320x_dpi_1 
+0x02d3 001157 increase -1 ,pdata 
+0x02d4 001158 branch mouse_p3205_dpi 
+:      001159 p_mouse_3065xy_set_cpi2:
+0x02d5 001160 fetch 1 ,mem_3065xy_dpi_2 
+0x02d6 001161 branch mouse_p3205_dpi 
+:      001162 p_mouse_3065xy_set_cpi3:
+0x02d7 001163 jam 2 ,mem_mouse_dpi_blink_count 
+0x02d8 001164 fetch 1 ,mem_3065xy_dpi_3 
+0x02d9 001165 branch mouse_p3205_dpi 
+:      001166 p_mouse_3065xy_set_cpi4:
+0x02da 001167 jam 3 ,mem_mouse_dpi_blink_count 
+0x02db 001168 fetch 1 ,mem_3065xy_dpi_4 
+0x02dc 001169 branch mouse_p3205_dpi 
+:      001171 p_mouse_seting_3212_dpi:
+0x02dd 001172 fetch 1 ,mem_mouse_dpi 
+0x02de 001173 sub pdata ,mouse_dpi_level2 ,null 
+0x02df 001174 call p_mouse_3205_dpi_recount ,zero 
+0x02e0 001175 fetch 1 ,mem_mouse_dpi 
+0x02e1 001176 beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+0x02e2 001177 beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+0x02e3 001178 beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
+0x02e4 001179 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+0x02e5 001180 branch mouse_set_p3212_cpi3 
+:      001182 p_mouse_bb_event_discovery_btn:
+0x02e6 001183 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+0x02e7 001184 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+0x02e8 001185 bmark1 mark_24g ,p_mouse_switch_to_bt 
+0x02e9 001186 branch mouse_bb_event_discovery_btn + 1 
+:      001187 p_mouse_switch_to_bt:
+0x02ea 001188 call p_g24_check_51cmd_stop_24g 
+0x02eb 001189 branch mouse_bb_event_discovery_btn + 1 
+:      001192 p_le_addr_random_config:
+0x02ec 001193 call load_adc_init 
+0x02ed 001194 fetch 2 ,mem_0_5_adc_io_data 
+0x02ee 001195 branch p_le_otp_adc_empty ,blank 
+0x02ef 001196 store 2 ,mem_random_addr_increase_count 
+:      001197 p_le_addr_random_store:
+0x02f0 001198 branch p_mouse_store_eerpom_random_addr_increase_count 
+:      001200 p_le_otp_adc_empty:
+0x02f1 001201 setarg 0x1122 
+0x02f2 001202 store 2 ,mem_random_addr_increase_count 
+0x02f3 001203 branch p_le_addr_random_store 
+:      001205 p_mouse_start_discovery:
+0x02f4 001206 call p_mouse_tx_power_init 
+0x02f5 001207 jam 0 ,mem_mouse_clear_sensor_data_flag 
+0x02f6 001208 fetch 2 ,mem_ui_state_map 
+0x02f7 001209 bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
+0x02f8 001210 fetch mouse_flag_len ,mem_mouse_flag 
+0x02f9 001211 bbit0 mouse_enable_ble_random_addre ,p_mouse_start_discovery_norandom 
+0x02fa 001213 call p_mouse_load_eeprom_random_addr_increase_count 
+0x02fb 001214 fetcht 2 ,mem_random_addr_increase_count 
+0x02fc 001215 increase 1 ,temp 
+0x02fd 001216 storet 2 ,mem_random_addr_increase_count 
+0x02fe 001217 storet 2 ,mem_le_lap + 1 
+0x02ff 001218 call p_mouse_store_eerpom_random_addr_increase_count 
+0x0300 001219 random pdata 
+0x0301 001220 store 1 ,mem_le_lap 
+:      001222 p_mouse_start_discovery_norandom:
+0x0302 001223 call app_lpm_mult_disable 
+0x0303 001224 fetch 2 ,mem_discovery_timeout 
+0x0304 001225 store 2 ,mem_mouse_discovery_timer 
+0x0305 001226 jam 6 ,mem_connection_options 
+0x0306 001227 setarg 0 
+0x0307 001228 store 2 ,mem_mouse_no_data_timer 
+0x0308 001229 store 2 ,mem_mouse_direct_timer 
+0x0309 001230 arg mouse_store_eeprom_flag ,queue 
+0x030a 001231 call mouse_enable_function_flag 
+0x030b 001232 call mouse_bt_discovery_button_down_disable 
+0x030c 001233 fetch 1 ,mem_device_option 
+0x030d 001234 isolate1 mode_4_mouse ,pdata 
+0x030e 001235 call p_check_51cmd_adv ,true 
+0x030f 001236 branch mouse_start_discovery_norandom + 13 
+:      001238 p_mouse_store_eerpom_random_addr_increase_count:
+0x0310 001239 arg 2 ,temp 
+0x0311 001240 arg mem_random_addr_increase_count ,rega 
+0x0312 001241 arg mouse_random_addr_count_eeprom_offset ,regb 
+0x0313 001242 branch iicd_write_protect_eep_data 
+:      001244 p_mouse_load_eeprom_random_addr_increase_count:
+0x0314 001245 arg 2 ,temp 
+0x0315 001246 arg mem_random_addr_increase_count ,rega 
+0x0316 001247 arg mouse_random_addr_count_eeprom_offset ,regb 
+0x0317 001248 branch iicd_read_eep_data 
+:      001250 p_check_51cmd_adv:
+0x0318 001251 jam 0 ,mem_mouse_le_reconnect_flag 
+0x0319 001252 call p_le_check_adv_flag 
+0x031a 001253 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable 
+0x031b 001254 istore 1 ,contr 
+0x031c 001255 branch check_51cmd_adv 
+:      001257 p_mouse_stop_discovery:
+0x031d 001258 setarg 0 
+0x031e 001259 store 2 ,mem_mouse_discovery_timer 
+0x031f 001260 call p_mouse_sensor_poweron 
+0x0320 001261 branch mouse_stop_discovery + 1 
+:      001264 p_twspi_reset:
+0x0321 001265 hfetch 1 ,core_gpio_out3 
+0x0322 001266 and_into 0xfd ,pdata 
+0x0323 001267 hstore 1 ,core_gpio_out3 
+0x0324 001268 hfetcht 1 ,core_gpio_oe3 
+0x0325 001269 or_into 0x2 ,temp 
+0x0326 001270 hstoret 1 ,core_gpio_oe3 
+0x0327 001271 call twspi_disable 
+0x0328 001272 and_into 0xfd ,temp 
+0x0329 001273 nop 13 
+0x032a 001274 call twspi_enable 
+0x032b 001275 hstoret 1 ,core_gpio_oe3 
+0x032c 001276 rtn 
+:      001282 p_g24_set_device_addr:
+0x032d 001283 call adc_init_data 
+0x032e 001287 fetch 4 ,mem_lap 
+0x032f 001288 store 4 ,mem_24g_device_addr 
+0x0330 001289 rtn 
+:      001292 p_g24_transmit_rf_sta_init:
+0x0331 001293 jam 1 ,mem_24g_rf_last_sta 
+0x0332 001294 jam 0 ,mem_24g_sync_cnt 
+:      001295 p_g24_transmit_rf_ctrl_clear:
+0x0333 001296 fetch 1 ,mem_24g_data_type 
+0x0334 001297 and_into bits_data ,pdata 
+0x0335 001298 store 1 ,mem_24g_data_type 
+0x0336 001299 rtn 
+:      001301 p_g24_hop_ch_enable:
+0x0337 001302 fetch 1 ,mem_24g_data_type 
+0x0338 001303 set1 bit_hop ,pdata 
+0x0339 001304 store 1 ,mem_24g_data_type 
+0x033a 001306 store 1 ,mem_24g_txpayload 
+0x033b 001307 rtn 
+:      001308 p_g24_hop_ch_disable:
+0x033c 001309 fetch 1 ,mem_24g_data_type 
+0x033d 001310 set0 bit_hop ,pdata 
+0x033e 001311 store 1 ,mem_24g_data_type 
+0x033f 001312 rtn 
+:      001314 p_g24_transmit_hop_pac_fail:
+0x0340 001315 call power_ctrl_pac_succ_decrs 
+0x0341 001316 fetch 1 ,mem_24g_rf_work_stage 
+0x0342 001317 beq 1 ,p_g24_transmit_hop_pac_fail_wo_hop 
+0x0343 001318 beq 2 ,p_g24_transmit_hop_pac_fail_hop_stage2 
+0x0344 001319 rtn 
+:      001320 p_g24_transmit_hop_pac_fail_wo_hop:
+0x0345 001321 jam 2 ,mem_24g_sync_cnt 
+:      001322 p_g24_transmit_hop_pac_fail_stage1:
+0x0346 001323 jam 0 ,mem_24g_hop_pac_retry 
+0x0347 001324 jam 0 ,mem_24g_rf_last_sta 
+0x0348 001325 branch p_g24_transmit_rf_ctrl_clear 
+:      001327 p_g24_transmit_hop_pac_fail_hop_stage2:
+0x0349 001328 jam 0 ,mem_24g_rf_hop_ch 
+0x034a 001329 branch p_g24_transmit_hop_pac_fail_stage1 
+:      001332 p_g24_transmit_pac_fail_hop_stage3:
+0x034b 001333 fetch 2 ,mem_24g_txfail_cnt 
+0x034c 001334 increase 1 ,pdata 
+0x034d 001335 store 2 ,mem_24g_txfail_cnt 
+0x034e 001336 bbit1 10 ,p_g24_tx_attempt_fail 
+0x034f 001337 fetch 1 ,mem_24g_rf_hop_ch 
+0x0350 001338 beq 1 ,p_g24_rf_hop_fastly 
+0x0351 001339 jam 1 ,mem_24g_rf_hop_ch 
+:      001340 p_g24_rf_hop_attemp_again:
+0x0352 001341 fetch 1 ,mem_24g_rf_hop_ch 
+0x0353 001342 bne 1 ,p_g24_transmit_rf_ctrl_clear 
+:      001343 p_g24_rf_hop_fastly:
+0x0354 001344 fetch 1 ,mem_24g_hop_fastly_cnt 
+0x0355 001345 increase 1 ,pdata 
+0x0356 001346 store 1 ,mem_24g_hop_fastly_cnt 
+0x0357 001347 beq 4 ,p_g24_rf_hop_fastly_exit 
+0x0358 001348 call p_g24_ch 
+0x0359 001349 jam 2 ,mem_24g_max_retry 
+0x035a 001350 branch p_g24_transmit_packet 
+:      001352 p_g24_rf_hop_fastly_exit:
+0x035b 001353 call power_ctrl_pac_succ_decrs 
+0x035c 001354 jam 0 ,mem_24g_hop_fastly_cnt 
+0x035d 001355 branch p_g24_transmit_rf_ctrl_clear 
+:      001357 p_g24_transmit_hop_pac_succ_wo_hop:
+0x035e 001358 jam 2 ,mem_24g_sync_cnt 
+:      001359 p_g24_transmit_hop_pac_succ:
+0x035f 001360 jam 1 ,mem_24g_rf_last_sta 
+0x0360 001361 jam 0 ,mem_24g_rf_hop_ch 
+0x0361 001362 branch p_g24_transmit_rf_ctrl_clear 
+:      001364 p_g24_transmit_succ_rf_config:
+0x0362 001365 fetch 1 ,mem_24g_rf_work_stage 
+0x0363 001366 beq 3 ,p_g24_transmit_hop_pac_succ 
+0x0364 001367 fetch 1 ,mem_24g_data_type 
+0x0365 001368 isolate0 bit_hop ,pdata 
+0x0366 001369 branch p_g24_transmit_rf_sta_init ,true 
+0x0367 001370 fetch 1 ,mem_24g_rf_work_stage 
+0x0368 001371 beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+0x0369 001372 beq 2 ,p_g24_transmit_hop_pac_succ 
+0x036a 001373 rtn 
+:      001375 p_g24_rf_sta_check:
+0x036b 001376 fetch 1 ,mem_24g_pairing_sm 
+0x036c 001377 rtnne state_24g_pairing_success 
+0x036d 001378 call p_g24_rf_laststa_synccnt_check 
+0x036e 001379 ncall p_g24_rf_sync_cnt_check ,user2 
+0x036f 001380 rtn 
+:      001382 p_g24_rf_laststa_synccnt_check:
+0x0370 001383 disable user2 
+0x0371 001384 fetch 1 ,mem_24g_rf_last_sta 
+0x0372 001385 rtnne 1 
+0x0373 001386 fetch 1 ,mem_24g_sync_cnt 
+0x0374 001387 rtnne 0 
+0x0375 001388 jam 1 ,mem_24g_rf_work_stage 
+0x0376 001389 jam 4 ,mem_24g_max_retry 
+0x0377 001390 branch enable_user2 
+:      001392 p_g24_rf_sync_cnt_check:
+0x0378 001393 fetch 1 ,mem_24g_sync_cnt 
+0x0379 001394 branch p_g24_rf_hop_attemp ,blank 
+0x037a 001395 increase -1 ,pdata 
+0x037b 001396 store 1 ,mem_24g_sync_cnt 
+0x037c 001397 jam 2 ,mem_24g_rf_work_stage 
+0x037d 001398 call p_g24_ch 
+0x037e 001399 jam 4 ,mem_24g_max_retry 
+0x037f 001400 rtn 
+:      001402 p_g24_rf_hop_attemp:
+0x0380 001403 jam 3 ,mem_24g_rf_work_stage 
+0x0381 001404 fetch 1 ,mem_24g_rf_hop_ch 
+0x0382 001405 nbranch p_g24_rf_hop_attemp_again ,blank 
+0x0383 001406 call p_g24_ch 
+0x0384 001407 jam 2 ,mem_24g_max_retry 
+0x0385 001408 rtn 
+:      001410 p_g24_txdata_prep:
+0x0386 001411 fetch 1 ,mem_24g_pairing_sm 
+0x0387 001412 bne state_24g_pairing_success ,p_g24_pairing_sm 
+:      001413 p_g24_txdata_prep_packeage_data:
+0x0388 001414 call p_g24_package_data 
+0x0389 001415 call p_g24_transmit_prep 
+:      001416 p_g24_txdata_enable_tx:
+0x038a 001417 jam ensure_on_24g ,mem_24g_ensure 
+0x038b 001418 rtn 
+:      001420 p_g24_package_data:
+0x038c 001421 fetch 2 ,mem_cb_24g_data 
+0x038d 001422 call callback_func 
+0x038e 001423 branch p_g24_accumulate_mouse_data ,user 
+0x038f 001424 fetch 7 ,mem_24g_txbuf + 1 
+0x0390 001425 rtn blank 
+0x0391 001426 branch enable_user 
+:      001427 p_g24_accumulate_mouse_data:
+0x0392 001428 call p_mouse_data_xy_release 
+0x0393 001429 jam 0 ,mem_24g_abort_pac 
+0x0394 001430 add rega ,1 ,pdata 
+0x0395 001431 store 1 ,mem_24g_datalen 
+0x0396 001432 call p_g24_transmit_rf_ctrl_clear 
+0x0397 001433 store 1 ,mem_24g_txbuf 
+0x0398 001434 ifetcht 1 ,contw 
+0x0399 001435 ifetch 1 ,regb 
+0x039a 001436 ior temp ,pdata 
+0x039b 001437 istore 1 ,contw 
+0x039c 001438 increase 1 ,regb 
+0x039d 001439 arg 2 ,loopcnt 
+:      001440 p_g24_accumulation_loop:
+0x039e 001441 ifetch 2 ,regb 
+0x039f 001444 istore 2 ,contw 
+0x03a0 001445 increase 2 ,regb 
+0x03a1 001446 loop p_g24_accumulation_loop 
+0x03a2 001447 arg mem_24g_txbuf + 6 ,contw 
+0x03a3 001448 arg 2 ,loopcnt 
+:      001449 p_g24_accumulation_loop2:
+0x03a4 001450 ifetch 1 ,regb 
+0x03a5 001451 ifetcht 1 ,contw 
+0x03a6 001452 iadd temp ,pdata 
+0x03a7 001453 istore 1 ,contw 
+0x03a8 001454 increase 1 ,regb 
+0x03a9 001455 loop p_g24_accumulation_loop2 
+0x03aa 001456 rtn 
+:      001458 p_mouse_data_xy_release:
+0x03ab 001459 fetch 1 ,mem_config_function_enable 
+0x03ac 001460 rtnbit1 enable_sensor_motion_pin 
+0x03ad 001461 fetch 1 ,mem_mouse_long_mult_flag 
+0x03ae 001462 rtnne 1 
+0x03af 001463 setarg 0 
+0x03b0 001464 store 1 ,mem_mouse_long_mult_flag 
+0x03b1 001465 store 4 ,mem_mouse_x 
+0x03b2 001466 branch p_mouse_sensor_poweron 
+:      001468 p_g24_transmit_packet:
+0x03b3 001469 jam 0 ,mem_24g_retry 
+:      001470 p_g24_transmit_loop:
+0x03b4 001471 arg param_rx_setup ,timeup 
+0x03b5 001472 until clkn_rt ,meet 
+0x03b6 001473 call p_g24_transmit_receive_ack 
+0x03b7 001474 fetch 1 ,mem_24g_no_ack 
+0x03b8 001475 rtneq no_ack_24g 
+0x03b9 001476 nbranch p_g24_retransmit ,sync 
+0x03ba 001477 nbranch p_g24_retransmit ,user3 
+0x03bb 001478 call p_g24_txbuf_clear 
+0x03bc 001479 call p_g24_ackpayload_parse 
+0x03bd 001480 call power_ctrl_pac_succ_incrs 
+:      001481 p_g24_transmit_next_packet:
+0x03be 001482 fetch 1 ,mem_24g_pid 
+0x03bf 001483 increase 1 ,pdata 
+0x03c0 001484 store 1 ,mem_24g_pid 
+0x03c1 001485 fetch 1 ,mem_24g_pairing_sm 
+0x03c2 001486 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+0x03c3 001487 call p_g24_transmit_succ_rf_config 
+:      001488 p_g24_transmit_abandon:
+0x03c4 001489 setarg 0 
+0x03c5 001490 store 2 ,mem_24g_txfail_cnt 
+0x03c6 001491 store 1 ,mem_24g_get_ack_fail 
+0x03c7 001492 store 1 ,mem_24g_hop_pac_retry 
+0x03c8 001493 jam ensure_off_24g ,mem_24g_ensure 
+0x03c9 001494 rtn 
+:      001496 p_g24_txbuf_clear:
+0x03ca 001497 arg 4 ,loopcnt 
+0x03cb 001498 arg mem_24g_txbuf ,contw 
+0x03cc 001499 branch memset0 
+:      001501 p_g24_paring_mode_start:
+0x03cd 001502 call power_ctrl_pac_succ_cnt_init 
+0x03ce 001503 branch p_g24_paring_mode 
+:      001505 p_g24_transmit_receive_ack:
+0x03cf 001506 disable user3 
+0x03d0 001507 call p_g24_transmit 
+0x03d1 001510 fetch 1 ,mem_24g_no_ack 
+0x03d2 001511 beq no_ack_24g ,p_g24_transmit_no_ack 
+0x03d3 001512 force 0 ,radio_ctrl 
+0x03d4 001513 fetch 4 ,mem_24g_addr 
+0x03d5 001514 iforce access 
+0x03d6 001515 fetcht 1 ,mem_last_freq 
+0x03d7 001516 call set_freq_rx 
+0x03d8 001517 call rf_rx_enable 
+0x03d9 001518 call p_g24_receive_rxon 
+0x03da 001519 call p_g24_end_of_packet ,user3 
+0x03db 001520 rtn 
+:      001521 p_g24_transmit_no_ack:
+0x03dc 001522 call p_g24_end_of_packet 
+0x03dd 001523 branch p_g24_transmit_next_packet 
+:      001525 p_g24_retransmit:
+0x03de 001526 fetch 1 ,mem_24g_get_ack_fail 
+0x03df 001527 increase 1 ,pdata 
+0x03e0 001528 store 1 ,mem_24g_get_ack_fail 
+0x03e1 001529 fetch 1 ,mem_24g_pairing_sm 
+0x03e2 001530 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+0x03e3 001531 fetcht 1 ,mem_24g_retry 
+0x03e4 001532 increase 1 ,temp 
+0x03e5 001533 storet 1 ,mem_24g_retry 
+0x03e6 001534 fetch 1 ,mem_24g_max_retry 
+0x03e7 001535 isub temp ,pdata 
+0x03e8 001536 nbranch p_g24_transmit_loop ,blank 
+0x03e9 001537 fetch 1 ,mem_24g_rf_work_stage 
+0x03ea 001538 beq 3 ,p_g24_transmit_pac_fail_hop_stage3 
+0x03eb 001539 fetch 1 ,mem_24g_hop_pac_retry 
+0x03ec 001540 increase 1 ,pdata 
+0x03ed 001541 store 1 ,mem_24g_hop_pac_retry 
+0x03ee 001542 beq 2 ,p_g24_transmit_hop_pac_fail 
+0x03ef 001543 call p_g24_hop_ch_enable 
+0x03f0 001544 jam 1 ,mem_24g_max_retry 
+0x03f1 001545 branch p_g24_transmit_packet 
+:      001547 p_g24_tx_paring_retry:
+0x03f2 001548 fetch 1 ,mem_24g_get_ack_fail 
+0x03f3 001549 rtnne 0xff 
+0x03f4 001550 jam 0 ,mem_24g_get_ack_fail 
+0x03f5 001551 branch p_g24_stop_g24_mode 
+:      001553 p_g24_tx_attempt_fail:
+0x03f6 001554 setarg 0 
+0x03f7 001555 store 2 ,mem_24g_txfail_cnt 
+:      001556 p_g24_stop_g24_mode:
+0x03f8 001557 jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+0x03f9 001558 branch ui_ipc_send_event 
+:      001560 p_g24_ackpayload_parse:
+0x03fa 001561 call p_g24_read_len_pid_crc 
+0x03fb 001562 fetch 1 ,mem_24g_rxdata_length 
+0x03fc 001563 rtn blank 
+0x03fd 001564 iforce loopcnt 
+0x03fe 001565 arg mem_24g_rxbuf + 2 ,contr 
+0x03ff 001566 arg mem_24g_rxpayload ,contw 
+0x0400 001567 branch memcpy 
+:      001569 power_ctrl_pac_succ_cnt_init:
+0x0401 001570 jam 1 ,mem_power_ctrl_level 
+0x0402 001571 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0x0403 001572 rtn 
+:      001573 power_ctrl_pac_succ_incrs:
+0x0404 001574 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0405 001575 increase 1 ,pdata 
+0x0406 001576 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0407 001577 rtn 
+:      001578 power_ctrl_pac_succ_decrs:
+0x0408 001579 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0409 001580 sub pdata ,2 ,null 
+0x040a 001581 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+0x040b 001582 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x040c 001583 rtneq 0 
+0x040d 001584 increase -1 ,pdata 
+0x040e 001585 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0x040f 001586 rtn 
+:      001587 power_ctrl_pac_succ_cnt_reinit:
+0x0410 001588 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+0x0411 001589 rtn 
+:      001591 power_ctrl_start:
+0x0412 001592 fetch 2 ,mem_ui_state_map 
+0x0413 001593 rtnbit1 ui_state_ble_adv 
+0x0414 001594 rtnbit1 ui_state_bt_reconnect 
+0x0415 001595 rtnbit1 ui_state_bt_discovery 
+0x0416 001597 arg mem_rssi_signal_buf ,rega 
+0x0417 001598 call p_rssi_average 
+0x0418 001599 storet 1 ,mem_rssi_avg_received 
+0x0419 001602 isolate1 mark_24g ,mark 
+0x041a 001603 call power_ctrl_24g_dis_max ,true 
+0x041b 001604 ncall power_ctrl_le_dis_max ,true 
+0x041c 001605 isub temp ,null 
+0x041d 001606 nbranch power_ctrl_txpower_incrs_force ,positive 
+0x041e 001608 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x041f 001609 sub pdata ,2 ,null 
+0x0420 001610 nbranch power_ctrl_txpower_decrs_check ,positive 
+0x0421 001611 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x0422 001612 beq 0 ,power_ctrl_txpower_incrs 
+0x0423 001613 rtn 
+:      001615 power_ctrl_24g_dis_max:
+0x0424 001616 setarg rssi_dis_max_24g 
+0x0425 001617 rtn 
+:      001618 power_ctrl_24g_dis_min:
+0x0426 001619 setarg rssi_dis_min_24g 
+0x0427 001620 rtn 
+:      001621 power_ctrl_le_dis_max:
+0x0428 001622 setarg rssi_dis_max_ble 
+0x0429 001623 rtn 
+:      001624 power_ctrl_le_dis_min:
+0x042a 001625 setarg rssi_dis_min_ble 
+0x042b 001626 rtn 
+:      001628 power_ctrl_txpower_decrs_check:
+0x042c 001629 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0x042d 001630 rtnne 32 
+0x042e 001631 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+:      001632 power_ctrl_txpower_decrs:
+0x042f 001633 fetcht 1 ,mem_rssi_avg_received 
+0x0430 001634 isolate1 mark_24g ,mark 
+0x0431 001635 call power_ctrl_24g_dis_min ,true 
+0x0432 001636 ncall power_ctrl_le_dis_min ,true 
+0x0433 001637 isub temp ,null 
+0x0434 001638 nrtn positive 
+0x0435 001639 fetch 1 ,mem_power_ctrl_level 
+0x0436 001640 beq 0 ,power_ctrl_decrs_level0 
+0x0437 001641 increase -1 ,pdata 
+0x0438 001642 store 1 ,mem_power_ctrl_level 
+0x0439 001643 beq 0 ,power_ctrl_decrs_level0 
+:      001644 power_ctrl_decrs_level1:
+:      001645 power_ctrl_incrs_level1:
+0x043a 001646 jam tx_power_0db ,mem_tx_power 
+0x043b 001647 rtn 
+:      001649 power_ctrl_txpower_incrs_force:
+0x043c 001650 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+:      001651 power_ctrl_txpower_incrs:
+0x043d 001652 fetch 1 ,mem_power_ctrl_level 
+0x043e 001653 beq 2 ,power_ctrl_incrs_level2 
+0x043f 001654 increase 1 ,pdata 
+0x0440 001655 store 1 ,mem_power_ctrl_level 
+0x0441 001656 beq 1 ,power_ctrl_incrs_level1 
+:      001657 power_ctrl_incrs_level2:
+0x0442 001659 jam tx_power_5db ,mem_tx_power 
+0x0443 001660 rtn 
+:      001662 power_ctrl_decrs_level0:
+0x0444 001664 jam tx_power_f5db ,mem_tx_power 
+0x0445 001665 rtn 
+:      001667 p_g24_start_pairing_sm1:
+0x0446 001668 set1 mark_24g ,mark 
+0x0447 001669 call p_g24_pair_init 
+:      001670 p_g24_set_pairing_sm_1:
+0x0448 001671 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+0x0449 001672 rtn 
+:      001674 p_g24_pair_init:
+0x044a 001675 jam tx_power_pair ,mem_tx_power 
+0x044b 001676 jam 0 ,mem_24g_pid 
+0x044c 001677 jam g24_pair_ch ,mem_24g_ch 
+0x044d 001678 fetch 4 ,mem_24g_paring_addr 
+0x044e 001679 branch p_g24_update_addr_and_synccrc8 
+:      001681 p_g24_pairing_sm:
+0x044f 001682 fetch 1 ,mem_24g_ensure 
+0x0450 001683 beq ensure_on_24g ,enable_user 
+0x0451 001684 fetch 1 ,mem_24g_pairing_sm 
+0x0452 001685 beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+0x0453 001686 beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+0x0454 001687 beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+0x0455 001688 branch assert 
+:      001690 p_g24_pairing_sm_1:
+0x0456 001691 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+0x0457 001692 jam 0xaa ,mem_24g_common_temp 
+0x0458 001693 branch p_g24_pairing_sm_common 
+:      001694 p_g24_pairing_sm_2:
+0x0459 001695 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+0x045a 001696 jam 0x55 ,mem_24g_common_temp 
+0x045b 001697 branch p_g24_pairing_sm_common 
+:      001698 p_g24_pairing_sm_3:
+0x045c 001699 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+0x045d 001700 jam 0x22 ,mem_24g_common_temp 
+:      001701 p_g24_pairing_sm_common:
+0x045e 001702 fetch 1 ,mem_24g_data_type 
+0x045f 001703 and_into bits_data ,pdata 
+0x0460 001704 store 1 ,mem_24g_common_temp + 1 
+0x0461 001705 fetch 4 ,mem_24g_device_addr 
+0x0462 001706 store 4 ,mem_24g_common_temp + 2 
+:      001707 p_g24_put_pairing_data_in_buff:
+0x0463 001708 jam 0 ,mem_24g_common_temp + 6 
+0x0464 001709 arg mem_24g_common_temp ,rega 
+0x0465 001710 arg 7 ,temp 
+0x0466 001711 call p_g24_put_data_in_buff 
+0x0467 001712 call p_g24_transmit_prep 
+0x0468 001713 call p_g24_txdata_enable_tx 
+0x0469 001714 branch enable_user 
+:      001716 p_g24_paring_mode:
+0x046a 001717 fetch 1 ,mem_24g_pairing_sm 
+0x046b 001718 rtneq state_24g_pairing_success 
+0x046c 001719 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+0x046d 001720 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+0x046e 001721 beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+0x046f 001722 rtn 
+:      001725 p_g24_pairing_sm_1_waiting_ack:
+0x0470 001726 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+0x0471 001727 branch p_g24_transmit_abandon 
+:      001728 p_g24_pairing_sm_2_waiting_ack:
+0x0472 001729 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+0x0473 001730 branch p_g24_transmit_abandon 
+:      001731 p_g24_pairing_sm_3_waiting_ack:
+0x0474 001732 jam state_24g_pairing_success ,mem_24g_pairing_sm 
+0x0475 001733 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+0x0476 001734 call ui_ipc_send_event 
+0x0477 001735 fetch 4 ,mem_24g_rxpayload + 2 
+0x0478 001736 call p_g24_update_addr_and_synccrc8 
+0x0479 001737 branch p_g24_transmit_abandon 
+:      001756 p_g24_tx_attemp_dongle_succ:
+0x047a 001757 set1 mark_24g ,mark 
+0x047b 001758 setarg 0 
+0x047c 001759 store 2 ,mem_24g_check_dongle_times 
+0x047d 001760 jam 0 ,mem_mouse_long_mult_flag 
+0x047e 001761 jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+0x047f 001762 call ui_ipc_send_event 
+0x0480 001763 call p_g24_txbuf_clear 
+0x0481 001764 branch p_g24_transmit_by_interrupt_enable 
+:      001766 p_g24_tx_attemp_data_prep:
+0x0482 001767 jam 0xff ,mem_24g_common_temp 
+0x0483 001768 fetch 1 ,mem_24g_data_type 
+0x0484 001769 store 1 ,mem_24g_common_temp + 1 
+0x0485 001770 fetch 4 ,mem_24g_device_addr 
+0x0486 001771 store 4 ,mem_24g_common_temp + 2 
+0x0487 001772 arg 6 ,temp 
+0x0488 001773 arg mem_24g_common_temp ,rega 
+0x0489 001774 call p_g24_put_data_in_buff 
+0x048a 001775 branch p_g24_transmit_prep 
+:      001784 p_g24_auto_pair_start:
+0x048b 001785 setarg 0 
+0x048c 001786 store 2 ,mem_24g_pair_current_ch_num 
+0x048d 001787 set0 mark_24g ,mark 
+0x048e 001788 call p_g24_auto_pair_first_attemp 
+0x048f 001789 call p_g24_tx_attemp_data_prep 
+:      001790 p_g24_auto_pair_restart:
+0x0490 001791 setarg 0 
+0x0491 001792 store 2 ,mem_24g_check_dongle_times 
+:      001794 p_g24_auto_pair_start_loop:
+0x0492 001795 call lpo_calibration 
+0x0493 001796 nop 2000 
+0x0494 001797 fetch 2 ,mem_24g_check_dongle_times 
+0x0495 001798 arg 0x7788 ,temp 
+0x0496 001799 isub temp ,null 
+0x0497 001800 branch p_g24_stop_g24_mode ,zero 
+0x0498 001803 call p_g24_transmit_receive_ack 
+0x0499 001804 nbranch p_g24_auto_pair_retry ,sync 
+0x049a 001805 nbranch p_g24_auto_pair_retry ,user3 
+0x049b 001806 call p_g24_ackpayload_parse 
+0x049c 001807 call p_mouse_tx_power_init 
+0x049d 001808 fetch 4 ,mem_24g_addr 
+0x049e 001809 fetcht 4 ,mem_24g_paring_addr 
+0x049f 001810 isub temp ,null 
+0x04a0 001811 branch p_g24_start_pairing_sm1 ,zero 
+0x04a1 001812 branch p_g24_tx_attemp_dongle_succ 
+:      001825 p_g24_auto_pair_retry:
+0x04a2 001826 fetch 2 ,mem_24g_check_dongle_times 
+0x04a3 001827 increase 1 ,pdata 
+0x04a4 001828 store 2 ,mem_24g_check_dongle_times 
+0x04a5 001829 fetch 1 ,mem_24g_auto_paring_switch 
+0x04a6 001830 increase 1 ,pdata 
+0x04a7 001831 and_into 3 ,pdata 
+0x04a8 001832 store 1 ,mem_24g_auto_paring_switch 
+0x04a9 001833 beq 0 ,p_g24_auto_pair_device_attemp 
+0x04aa 001834 beq 1 ,p_g24_auto_pair_pair_attemp 
+0x04ab 001835 beq 2 ,p_g24_auto_pair_all_powerful_attemp 
+0x04ac 001836 beq 3 ,p_g24_auto_pair_pair_attemp 
+0x04ad 001837 rtn 
+:      001838 p_g24_auto_pair_first_attemp:
+0x04ae 001839 call p_mouse_tx_power_init 
+0x04af 001840 fetch 4 ,mem_24g_device_addr 
+0x04b0 001841 store 4 ,mem_24g_addr 
+0x04b1 001842 fetch 1 ,mem_24g_pair_current_ch_num 
+0x04b2 001843 store 1 ,mem_24g_current_ch_number 
+0x04b3 001844 call p_g24_ch_syncword_crc8_init 
+0x04b4 001845 storet 1 ,mem_24g_pair_current_ch_num 
+0x04b5 001846 rtn 
+:      001851 p_g24_auto_pair_dongle_addr_reconn:
+0x04b6 001852 call p_mouse_tx_power_init 
+0x04b7 001853 call p_mouse_init_iic_read_24g_addr 
+0x04b8 001854 call p_g24_factory_check 
+0x04b9 001855 branch p_g24_auto_pair_all_powerful ,user 
+0x04ba 001856 branch p_g24_ch_syncword_crc8_init 
+:      001863 p_g24_auto_pair_all_powerful:
+0x04bb 001864 jam tx_power_pair ,mem_tx_power 
+0x04bc 001865 setarg 0x0f0f 
+0x04bd 001866 store 2 ,mem_24g_addr 
+0x04be 001867 istore 2 ,contw 
+0x04bf 001868 fetch 1 ,mem_24g_powerful_current_ch_num 
+0x04c0 001869 store 1 ,mem_24g_current_ch_number 
+0x04c1 001870 call p_g24_ch_syncword_crc8_init 
+0x04c2 001871 storet 1 ,mem_24g_powerful_current_ch_num 
+0x04c3 001872 rtn 
+:      001873 p_g24_ch_syncword_crc8_init:
+0x04c4 001874 call p_g24_syncword_crc8 
+0x04c5 001875 branch p_g24_ch 
+:      001877 p_g24_auto_pair_device_attemp:
+0x04c6 001878 call p_g24_auto_pair_first_attemp 
+0x04c7 001879 branch p_g24_auto_pair_start_loop 
+:      001881 p_g24_auto_pair_pair_attemp:
+0x04c8 001882 call p_g24_pair_init 
+0x04c9 001883 branch p_g24_auto_pair_start_loop 
+:      001885 p_g24_auto_pair_all_powerful_attemp:
+0x04ca 001886 call p_g24_auto_pair_all_powerful 
+0x04cb 001887 branch p_g24_auto_pair_start_loop 
+:      001893 p_g24_check_51cmd_stop_24g:
+0x04cc 001894 set0 mark_24g ,mark 
+0x04cd 001895 call le_disable 
+:      001896 p_mouse_disable_g24_pairing_flag:
+0x04ce 001897 arg mosue_24g_pairing_flag ,queue 
+0x04cf 001898 branch mouse_disable_function_flag 
+:      001900 p_g24_put_data_in_buff:
+0x04d0 001901 storet 1 ,mem_24g_datalen 
+0x04d1 001902 copy temp ,loopcnt 
+0x04d2 001903 arg mem_24g_txbuf ,contw 
+0x04d3 001904 copy rega ,contr 
+0x04d4 001905 branch memcpy 
+:      001907 p_g24_read_len_pid_crc:
+0x04d5 001909 fetch 1 ,mem_24g_rxbuf + 1 
+0x04d6 001910 rshift3 pdata ,pdata 
+0x04d7 001911 store 1 ,mem_24g_rxdata_length 
+0x04d8 001913 increase 1 ,pdata 
+0x04d9 001914 arg mem_24g_rxbuf + 1 ,contr 
+0x04da 001915 iadd contr ,contr 
+0x04db 001916 ifetch 3 ,contr 
+0x04dc 001917 store 3 ,mem_24g_sta_crc 
+0x04dd 001919 fetch 1 ,mem_24g_rxbuf + 1 
+0x04de 001920 rshift pdata ,pdata 
+0x04df 001921 and pdata ,0x03 ,pdata 
+0x04e0 001922 store 1 ,mem_24g_sta_pid 
+0x04e1 001923 rtn 
+:      001926 p_set_freq_tx:
+0x04e2 001927 storet 1 ,mem_last_freq 
+0x04e3 001928 add temp ,0 ,rega 
+0x04e4 001929 call rf_write_freq 
+0x04e5 001930 setarg param_pll_setup 
+0x04e6 001931 call sleep 
+:      001932 p_rf_tx_enable:
+0x04e7 001933 jam 0x1 ,rfen_adc 
+0x04e8 001934 jam 0x3c ,rfen_rx 
+0x04e9 001935 jam 0xe0 ,rfen_tx 
+0x04ea 001936 nop 10 
+0x04eb 001937 jam 0x01 ,rfen_mdm 
+0x04ec 001938 jam 0x3d ,rfen_mdm 
+0x04ed 001939 nop 10 
+0x04ee 001940 jam 0xb7 ,rfen_sn 
+0x04ef 001941 nop 10 
+0x04f0 001942 jam 0x7d ,rfen_mdm 
+0x04f1 001943 fetch 1 ,mem_tx_power 
+0x04f2 001944 beq tx_power_0db ,p_set_tx_power_0db 
+0x04f3 001945 beq tx_power_3db ,p_set_tx_power_3db 
+0x04f4 001946 beq tx_power_5db ,p_set_tx_power_5db 
+0x04f5 001948 beq tx_power_f5db ,p_set_tx_power_f5db 
+0x04f6 001949 beq tx_power_pair ,p_set_tx_power_pair 
+0x04f7 001950 branch p_set_tx_power_0db 
+:      001952 p_set_tx_power_0db:
+0x04f8 001953 call p_rx_low_sens 
+0x04f9 001954 jam 0xba ,0x894b 
+0x04fa 001955 jam 0xd0 ,0x8955 
+0x04fb 001956 jam 0xe0 ,0x8956 
+0x04fc 001957 jam 0x88 ,0x8957 
+0x04fd 001958 jam 0x6c ,0x8958 
+0x04fe 001959 jam 0x10 ,0x8959 
+0x04ff 001960 branch set_tx_power_0db 
+:      001962 p_set_tx_power_3db:
+0x0500 001963 call p_rx_high_sens 
+0x0501 001964 jam 0xba ,0x894b 
+0x0502 001965 jam 0xd0 ,0x8955 
+0x0503 001966 jam 0xe0 ,0x8956 
+0x0504 001967 jam 0x88 ,0x8957 
+0x0505 001968 jam 0x3c ,0x8958 
+0x0506 001969 jam 0x10 ,0x8959 
+0x0507 001970 branch set_tx_power_3db 
+:      001972 p_set_tx_power_5db:
+0x0508 001973 call p_rx_high_sens 
+0x0509 001974 jam 0xba ,0x894b 
+0x050a 001975 jam 0xd0 ,0x8955 
+0x050b 001976 jam 0xe0 ,0x8956 
+0x050c 001977 jam 0x88 ,0x8957 
+0x050d 001978 jam 0x3c ,0x8958 
+0x050e 001979 jam 0x10 ,0x8959 
+0x050f 001980 branch set_tx_power_5db 
+:      001992 p_set_tx_power_f5db:
+0x0510 001993 call p_rx_low_sens 
+0x0511 001994 jam 0xba ,0x894b 
+0x0512 001995 jam 0xd0 ,0x8955 
+0x0513 001996 jam 0xc0 ,0x8956 
+0x0514 001997 jam 0x88 ,0x8957 
+0x0515 001998 jam 0x6c ,0x8958 
+0x0516 001999 jam 0x10 ,0x8959 
+0x0517 002000 branch set_tx_power_f5db 
+:      002002 p_rx_low_sens:
+0x0518 002003 jam 0x5b ,0x894c 
+0x0519 002004 jam 0x96 ,0x894d 
+0x051a 002005 jam 0x2c ,0x894e 
+0x051b 002006 jam 0x46 ,0x894f 
+0x051c 002007 rtn 
+:      002009 p_rx_high_sens:
+0x051d 002010 jam 0xfb ,0x894c 
+0x051e 002011 jam 0xef ,0x894d 
+0x051f 002012 jam 0xec ,0x894e 
+0x0520 002013 jam 0x5e ,0x894f 
+0x0521 002014 rtn 
+:      002016 p_set_tx_power_pair:
+0x0522 002017 jam 0xc2 ,0x8956 
+0x0523 002018 jam 0xd0 ,0x8955 
+0x0524 002019 rtn 
+:      002021 p_shutdown_radio:
+0x0525 002022 force 8 ,radio_ctrl 
+0x0526 002023 branch shutdown_radio + 1 
+:      002025 p_initialize_radio_cont:
+0x0527 002026 call initialize_radio_cont + 1 
+0x0528 002027 jam clksel_dpll ,core_clksel 
+0x0529 002028 rtn 
+:      002031 p_g24_timer_check:
+0x052a 002032 call disable_user 
+0x052b 002033 fetcht 4 ,mem_24g_tx_btclk 
+0x052c 002034 copy clkn_bt ,pdata 
+0x052d 002035 isub temp ,null 
+0x052e 002036 ncall g24_timer_timeout ,positive 
+0x052f 002037 copy pdata ,regb 
+0x0530 002038 fetch 4 ,mem_24g_tx_btclk 
+0x0531 002039 fetcht 1 ,mem_24g_interval 
+0x0532 002040 iadd temp ,temp 
+0x0533 002041 copy regb ,pdata 
+0x0534 002042 isub temp ,null 
+0x0535 002043 nrtn positive 
+0x0536 002044 set0 28 ,pdata 
+0x0537 002045 store 4 ,mem_24g_tx_btclk 
+0x0538 002046 branch enable_user 
+:      002048 p_rssi_noise:
+0x0539 002049 call save_rssi 
+0x053a 002050 rtn blank 
+0x053b 002051 fetcht 1 ,mem_rssi_noise_index 
+0x053c 002052 arg mem_rssi_noise_buffer ,rega 
+0x053d 002053 call p_rssi_store 
+0x053e 002054 storet 1 ,mem_rssi_noise_index 
+0x053f 002055 rtn 
+:      002057 p_rssi_store:
+0x0540 002058 copy rega ,pdata 
+0x0541 002059 iadd temp ,contw 
+0x0542 002060 fetch 1 ,mem_rssi 
+0x0543 002061 istore 1 ,contw 
+0x0544 002062 increase 1 ,temp 
+0x0545 002063 and_into rssi_buf_len_signal ,temp 
+0x0546 002064 rtn 
+:      002065 p_rssi_average:
+0x0547 002066 arg 0 ,temp 
+0x0548 002067 arg rssi_buf_len_signal + 1 ,loopcnt 
+0x0549 002068 copy rega ,contr 
+:      002069 p_rssi_average_loop:
+0x054a 002070 ifetch 1 ,contr 
+0x054b 002071 iadd temp ,temp 
+0x054c 002072 loop p_rssi_average_loop 
+0x054d 002073 rshift3 temp ,pdata 
+0x054e 002074 copy pdata ,temp 
+0x054f 002075 rtnmark0 mark_24g 
+0x0550 002077 div pdata ,10 
+0x0551 002078 call wait_div_end 
+0x0552 002079 quotient pdata 
+0x0553 002080 lshift4 pdata ,pdata 
+0x0554 002081 remainder temp 
+0x0555 002082 ior temp ,temp 
+0x0556 002083 rtn 
+0x0557 002084 rtn 
+:      002086 p_g24_update_addr_and_synccrc8:
+0x0558 002087 store 4 ,mem_24g_addr 
+:      002090 p_g24_syncword_crc8:
+0x0559 002091 arg 0 ,rega 
+0x055a 002092 arg 4 ,loopcnt 
+0x055b 002093 arg mem_24g_addr ,contr 
+:      002094 p_g24_syncword_crc8_loop:
+0x055c 002095 ifetch 1 ,contr 
+0x055d 002096 iadd rega ,rega 
+0x055e 002097 loop p_g24_syncword_crc8_loop 
+0x055f 002098 copy rega ,pdata 
+0x0560 002099 store 2 ,mem_24g_syncword 
+0x0561 002100 fetch 1 ,mem_24g_syncword 
+0x0562 002101 fetcht 1 ,mem_24g_syncword + 1 
+0x0563 002102 iadd temp ,pdata 
+0x0564 002103 store 1 ,mem_24g_syncword_crc8 
+0x0565 002104 rtn 
+:      002107 p_g24_transmit_prep:
+0x0566 002110 fetch 1 ,mem_24g_datalen 
+0x0567 002111 increase 2 ,pdata 
+0x0568 002112 store 1 ,mem_24g_txlen 
+0x0569 002114 fetch 1 ,mem_24g_data_type 
+0x056a 002115 store 1 ,mem_24g_txpayload 
+0x056b 002117 fetch 1 ,mem_24g_datalen 
+0x056c 002118 lshift3 pdata ,pdata 
+0x056d 002119 fetcht 1 ,mem_24g_pid 
+0x056e 002120 and temp ,0x03 ,temp 
+0x056f 002121 lshift temp ,temp 
+0x0570 002122 ior temp ,pdata 
+0x0571 002123 fetcht 1 ,mem_24g_no_ack 
+0x0572 002124 iadd temp ,pdata 
+0x0573 002125 istore 1 ,contw 
+0x0574 002127 fetch 1 ,mem_24g_datalen 
+0x0575 002128 iforce loopcnt 
+0x0576 002129 arg mem_24g_txbuf ,contr 
+0x0577 002130 branch memcpy 
+:      002132 p_g24_ch:
+0x0578 002133 fetcht 1 ,mem_24g_current_ch_number 
+0x0579 002134 call p_g24_ch_map_size 
+0x057a 002135 storet 1 ,mem_24g_current_ch_number 
+0x057b 002136 rtn 
+:      002138 p_g24_ch_map_size:
+0x057c 002139 call p_g24_ch_calc 
+0x057d 002140 increase 1 ,temp 
+0x057e 002141 and_into 3 ,temp 
+0x057f 002142 rtn 
+:      002144 p_g24_ch_calc:
+0x0580 002145 fetch 1 ,mem_24g_addr 
+0x0581 002146 and_into 0x03 ,pdata 
+0x0582 002147 mul32 pdata ,4 ,rega 
+0x0583 002148 setarg mem_24g_ch_map1 
+0x0584 002149 iadd rega ,pdata 
+0x0585 002150 iadd temp ,contr 
+0x0586 002151 ifetch 1 ,contr 
+0x0587 002152 store 1 ,mem_24g_ch 
+0x0588 002153 rtn 
+:      002155 p_g24_prep:
+0x0589 002156 disable enable_crc 
+0x058a 002157 disable enable_white 
+0x058b 002158 setarg 0x555555 
+0x058c 002159 iforce crc24_init 
+0x058d 002160 fetch 1 ,mem_24g_ch 
+0x058e 002161 reverse pdata ,temp 
+0x058f 002162 set1 1 ,temp 
+0x0590 002163 rshift temp ,white_init 
+0x0591 002164 rtn 
+:      002166 p_g24_receive_packet:
+0x0592 002167 call le_enable 
+0x0593 002168 fetch 4 ,mem_24g_addr 
+0x0594 002169 iforce access 
+0x0595 002170 call set_sync_on 
+0x0596 002171 fetcht 1 ,mem_24g_ch 
+0x0597 002172 call set_freq_rx 
+0x0598 002173 setarg param_pll_setup 
+0x0599 002174 call sleep 
+0x059a 002175 call rf_rx_enable 
+:      002176 p_g24_receive_rxon:
+0x059b 002179 call p_g24_prep 
+0x059c 002180 disable user3 
+0x059d 002181 enable decode_fec0 
+0x059e 002182 enable is_rx 
+0x059f 002183 disable is_tx 
+0x05a0 002184 enable swfine 
+0x05a1 002185 fetch 2 ,mem_24g_rx_window 
+0x05a2 002186 iforce stop_watch 
+0x05a3 002187 correlate null ,timeout 
+0x05a4 002188 nbranch p_g24_sync_timeout ,sync 
+0x05a5 002191 disable decode_fec0 
+0x05a6 002192 enable decode_fec1 
+0x05a7 002193 enable enable_white 
+0x05a8 002194 enable enable_crc 
+0x05a9 002195 call p_g24_receive_byte 
+0x05aa 002196 store 1 ,mem_24g_get_syncword_crc8 
+0x05ab 002197 fetcht 1 ,mem_24g_syncword_crc8 
+0x05ac 002198 isub temp ,null 
+0x05ad 002199 nbranch p_g24_end_of_packet ,zero 
+0x05ae 002200 call p_g24_receive_byte 
+0x05af 002201 store 1 ,mem_24g_rxbuf 
+0x05b0 002202 fetch 1 ,mem_24g_mode 
+0x05b1 002203 sub pdata ,rx_24g ,null 
+0x05b2 002204 branch p_g24_receive_skip ,zero 
+0x05b3 002205 fetch 1 ,mem_24g_rxbuf 
+0x05b4 002206 fetcht 1 ,mem_24g_data_type 
+0x05b5 002207 icompare bits_data ,temp 
+0x05b6 002208 nbranch p_g24_end_of_packet ,true 
+:      002209 p_g24_receive_skip:
+0x05b7 002210 call p_g24_receive_byte 
+0x05b8 002211 istore 1 ,contw 
+0x05b9 002212 rshift3 pdata ,pdata 
+0x05ba 002213 and pdata ,0x1f ,loopcnt 
+0x05bb 002214 branch p_g24rx_nopayload ,zero 
+:      002215 p_g24rx_loop:
+0x05bc 002216 call p_g24_receive_byte 
+0x05bd 002217 istore 1 ,contw 
+0x05be 002218 loop p_g24rx_loop 
+:      002219 p_g24rx_nopayload:
+0x05bf 002221 copy contw ,rega 
+0x05c0 002222 call p_g24_receive_byte 
+0x05c1 002223 store 1 ,mem_rssi_hex_received 
+0x05c2 002224 copy rega ,contw 
+0x05c3 002225 parse demod ,bucket ,24 
+0x05c4 002226 enable swfine 
+0x05c5 002227 arg param_sifs ,stop_watch 
+0x05c6 002228 rshift32 pdata ,pdata 
+0x05c7 002229 rshift16 pdata ,pdata 
+0x05c8 002230 istore 3 ,contw 
+0x05c9 002231 disable decode_fec1 
+0x05ca 002232 branch p_g24_end_of_packet ,crc_failed 
+0x05cb 002235 enable user3 
+0x05cc 002236 fetch 1 ,mem_last_freq 
+0x05cd 002237 add pdata ,0 ,rega 
+0x05ce 002238 call rf_write_freq 
+0x05cf 002239 disable decode_fec0 
+0x05d0 002240 call set_sync_on 
+0x05d1 002241 fetch 1 ,mem_rssi_hex_received 
+0x05d2 002242 copy pdata ,rega 
+0x05d3 002243 call p_rssi_signal 
+0x05d4 002244 rtn 
+:      002246 p_g24_receive_byte:
+0x05d5 002247 parse demod ,bucket ,8 
+0x05d6 002248 rshift3 pwindow ,pdata 
+0x05d7 002249 rtn 
+:      002251 p_g24_end_of_packet:
+0x05d8 002252 disable encode_fec1 
+0x05d9 002253 disable decode_fec1 
+0x05da 002254 call end_of_packet 
+0x05db 002255 rtn 
+:      002257 p_g24_sync_timeout:
+0x05dc 002258 branch p_g24_end_of_packet 
+:      002260 p_g24_set_freq_tx:
+0x05dd 002261 call set_sync_on 
+0x05de 002262 fetcht 1 ,mem_24g_ch 
+0x05df 002263 branch set_freq_tx 
+:      002265 p_g24_transmit:
+0x05e0 002266 call le_enable 
+0x05e1 002267 fetch 4 ,mem_24g_addr 
+0x05e2 002268 iforce access 
+0x05e3 002269 call p_g24_prep 
+0x05e4 002270 call p_g24_set_freq_tx 
+0x05e5 002271 set1 txgfsk ,radio_ctrl 
+0x05e6 002272 enable encode_fec0 
+0x05e7 002273 enable is_tx 
+0x05e8 002274 disable is_rx 
+0x05e9 002277 rshift16 access ,pdata 
+0x05ea 002278 rshift8 pdata ,pdata 
+0x05eb 002279 rshift4 pdata ,pdata 
+0x05ec 002280 inject mod ,40 
+0x05ed 002281 disable encode_fec0 
+0x05ee 002282 enable encode_fec1 
+0x05ef 002283 enable enable_white 
+0x05f0 002284 enable enable_crc 
+0x05f1 002285 fetch 1 ,mem_24g_syncword_crc8 
+0x05f2 002286 inject mod ,8 
+0x05f3 002287 fetch 1 ,mem_24g_txlen 
+0x05f4 002288 iforce loopcnt 
+0x05f5 002289 arg mem_24g_txpayload ,contr 
+:      002290 p_g24tr_loop:
+0x05f6 002291 ifetch 1 ,contr 
+0x05f7 002292 inject mod ,8 
+0x05f8 002293 loop p_g24tr_loop 
+0x05f9 002296 enable enable_parity 
+0x05fa 002297 inject mod ,24 
+0x05fb 002298 disable enable_parity 
+0x05fc 002299 until null ,tx_clear 
+0x05fd 002300 nop 100 
+0x05fe 002301 disable encode_fec0 
+0x05ff 002302 disable encode_fec1 
+0x0600 002303 rtn 
+:      002307 p_mouse_data_init:
+0x0601 002308 jam 7 ,mem_mouse_data_queue 
+0x0602 002309 jam 4 ,mem_mouse_data_queue + 1 
+0x0603 002310 setarg mem_mouse_data_queue 
+0x0604 002311 store 2 ,mem_queue_ptr 
+0x0605 002312 branch queue_init 
+:      002314 p_mouse_data_push:
+0x0606 002315 arg mem_mouse_key ,rega 
+0x0607 002316 call queue_push 
+0x0608 002317 call p_mouse_queue_increase ,user 
+0x0609 002319 rtn 
+:      002320 p_mouse_queue_increase:
+0x060a 002321 fetch 1 ,mem_mouse_data_queue_num 
+0x060b 002322 increase 1 ,pdata 
+0x060c 002323 store 1 ,mem_mouse_data_queue_num 
+0x060d 002324 rtn 
+:      002326 p_mouse_data_pull:
+0x060e 002327 arg mem_mouse_key ,rega 
+0x060f 002328 call queue_pop 
+0x0610 002329 branch p_mouse_fill_data_le ,user 
+0x0611 002330 rtn 
+:      002332 p_mouse_fill_data_le:
+0x0612 002333 call le_clear_md 
+0x0613 002334 fetch 1 ,mem_mouse_data_queue_num 
+0x0614 002335 sub pdata ,1 ,null 
+0x0615 002336 ncall le_set_md ,positive 
+0x0616 002337 fetch 1 ,mem_mouse_data_queue_num 
+0x0617 002338 rtn blank 
+0x0618 002339 increase -1 ,pdata 
+0x0619 002340 store 1 ,mem_mouse_data_queue_num 
+0x061a 002341 branch mouse_fill_data_le 
+              org 0x2000
+:      002458 start:
+0x2000 002459 call lpmstate 
+:      002461 soft_reset:
+0x2001 002462 bpatch patch00_0 ,mem_patch00 
+0x2002 002463 clear_stack 
+0x2003 002464 call spi_ncs_gpio_init 
+0x2004 002465 call initialize_radio 
+0x2005 002466 call iicd_init_12m 
+0x2006 002467 call init_param 
+0x2007 002468 call l2cap_init 
+0x2008 002469 bpatch patch00_1 ,mem_patch00 
+0x2009 002470 call rfcomm_init 
+0x200a 002471 call init_lmp 
+0x200b 002472 call ui_init 
+0x200c 002473 call app_init 
+0x200d 002474 ncall load_chip_option ,wake 
+0x200e 002475 bpatch patch00_2 ,mem_patch00 
+0x200f 002476 call app_lpm_init ,wake 
+0x2010 002477 call publickey_init 
+0x2011 002478 call lpm_recover_clk ,wake 
+:      002479 main_loop:
+0x2012 002480 bpatch patch00_3 ,mem_patch00 
+0x2013 002481 call sp_calc_sequence 
+0x2014 002482 call sp_calc_sequence_256 
+0x2015 002483 call sp_calc_sequence_256_check 
+0x2016 002484 call le_dispatch 
+0x2017 002485 bpatch patch00_4 ,mem_patch00 
+0x2018 002486 call idle_dispatch 
+0x2019 002487 call app_process_idle 
+0x201a 002488 call inquiry_dispatch 
+0x201b 002489 call inquiry_scan_dispatch 
+0x201c 002490 call page_scan_dispatch 
+0x201d 002491 call connection_dispatch 
+0x201e 002492 call lpm_dispatch 
+0x201f 002493 call g24_dispatch 
+0x2020 002494 branch main_loop 
+:      002496 connection_dispatch:
+0x2021 002497 call connection_incontext 
+0x2022 002498 rtnmark0 mark_context 
+0x2023 002499 set0 mark_context ,mark 
+0x2024 002500 call context_save 
+0x2025 002501 branch le_disable 
+:      002503 connection_incontext:
+0x2026 002504 bpatch patch00_5 ,mem_patch00 
+0x2027 002505 call context_search_insniff 
+0x2028 002506 nbranch connection_nosniff ,zero 
+0x2029 002507 call context_load 
+0x202a 002508 add rega ,coffset_mode ,contr 
+0x202b 002509 ifetch 1 ,contr 
+0x202c 002510 bbit1 mode_le ,le_conn_dispatch 
+0x202d 002511 bbit1 mode_master ,master_dispatch 
+0x202e 002512 branch slave_dispatch 
+:      002513 connection_nosniff:
+0x202f 002514 call context_get_next 
+0x2030 002515 copy loopcnt ,null 
+0x2031 002516 rtn zero 
+0x2032 002517 call context_load 
+0x2033 002518 fetch 1 ,mem_state 
+0x2034 002519 bbit1 state_inpage ,master_page 
+0x2035 002520 fetch 1 ,mem_mode 
+0x2036 002521 bbit1 mode_master ,master_dispatch 
+0x2037 002522 branch slave_dispatch 
+:      002530 idle_dispatch:
+0x2038 002531 fetch 1 ,mem_hci_cmd 
+0x2039 002532 rtn blank 
+0x203a 002533 beq hci_cmd_inquiry ,idle_inquiry 
+0x203b 002534 beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+0x203c 002535 beq hci_cmd_remote_name_req ,idle_remote_name_req 
+0x203d 002536 beq hci_cmd_create_conn ,idle_create_conn 
+0x203e 002537 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+0x203f 002538 call context_search_conn_handle 
+0x2040 002539 rtn zero 
+0x2041 002540 call context_search_plap 
+0x2042 002541 rtn zero 
+:      002542 idle_exit:
+0x2043 002543 jam 0 ,mem_hci_cmd 
+0x2044 002544 rtn 
+:      002546 idle_le_create_conn:
+0x2045 002547 jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+0x2046 002548 jam 0 ,mem_hci_cmd 
+0x2047 002549 rtn 
+:      002551 idle_inquiry:
+0x2048 002552 set1 mark_inquiry_on ,mark 
+0x2049 002553 set0 mark_inquiry_trainb ,mark 
+0x204a 002554 jam param_ninquiry ,mem_ninqy_index 
+0x204b 002555 jam 31 ,mem_nfreq_index_inq 
+0x204c 002556 branch idle_exit 
+:      002558 idle_inquiry_cancel:
+0x204d 002559 set0 mark_inquiry_on ,mark 
+0x204e 002560 force 0 ,stop_watch 
+0x204f 002561 branch idle_exit 
+:      002563 idle_remote_name_req:
+0x2050 002564 call context_search_plap 
+0x2051 002565 rtn zero 
+0x2052 002566 force lmp_name_req ,temp 
+0x2053 002567 jam 5 ,mem_nameres_cnt 
+0x2054 002568 branch idle_start_page 
+:      002570 idle_create_conn:
+0x2055 002571 bpatch patch00_6 ,mem_patch00 
+:      002572 idle_create_conn_device:
+0x2056 002573 fetch 6 ,mem_hci_plap 
+0x2057 002574 branch idle_exit ,blank 
+0x2058 002575 jam reconnect_hid ,memui_reconnect_mode 
+0x2059 002577 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x205a 002578 branch idle_create_conn_cont 
+:      002580 idle_create_conn_cont:
+0x205b 002581 force lmp_version_req ,temp 
+:      002582 idle_start_page:
+0x205c 002583 bpatch patch00_7 ,mem_patch00 
+0x205d 002584 fetch 1 ,mem_page_mode 
+0x205e 002585 branch idle_page_mode_r0 ,blank 
+0x205f 002586 lshift3 pdata ,pdata 
+0x2060 002587 lshift4 pdata ,pdata 
+0x2061 002588 increase -1 ,pdata 
+:      002589 idle_page_mode_r0:
+0x2062 002590 store 1 ,mem_npage 
+0x2063 002591 store 1 ,mem_npage_index 
+0x2064 002592 jam 31 ,mem_nfreq_index_page 
+0x2065 002593 set0 mark_page_trainb ,mark 
+0x2066 002594 call context_new 
+0x2067 002595 nbranch idle_page_fail ,zero 
+0x2068 002596 call get_free_amaddr 
+0x2069 002597 store 1 ,mem_amaddr 
+0x206a 002598 storet 1 ,mem_lmo_opcode2 
+0x206b 002599 fetch 6 ,mem_hci_plap 
+0x206c 002600 store 6 ,mem_plap 
+0x206d 002601 bpatch patch01_0 ,mem_patch01 
+0x206e 002602 call timer_reinit 
+0x206f 002603 force 0 ,pdata 
+0x2070 002604 compare lmp_name_req ,temp ,0xff 
+0x2071 002605 nsetflag true ,state_init_seq ,pdata 
+0x2072 002606 set1 state_inpage ,pdata 
+0x2073 002607 store 1 ,mem_state 
+0x2074 002608 jam bt_evt_reconn_started ,mem_fifo_temp 
+0x2075 002609 call ui_ipc_send_event 
+0x2076 002610 force 0 ,pdata 
+0x2077 002611 setflag true ,smap_name_req ,pdata 
+0x2078 002612 store 1 ,mem_state_map 
+0x2079 002613 setarg 0 
+0x207a 002614 set1 mode_master ,pdata 
+0x207b 002615 store 1 ,mem_mode 
+0x207c 002616 enable master 
+0x207d 002617 call context_save 
+0x207e 002618 disable master 
+0x207f 002619 force page_length_timer ,queue 
+0x2080 002620 fetch 2 ,mem_page_to 
+0x2081 002621 call timer_init 
+0x2082 002622 branch idle_exit 
+:      002623 idle_page_fail:
+0x2083 002624 bpatch patch01_1 ,mem_patch01 
+0x2084 002625 fetch 6 ,mem_hci_plap 
+0x2085 002626 store 6 ,mem_plap 
+0x2086 002627 compare lmp_name_req ,temp ,0xff 
+0x2087 002628 branch idle_name_fail ,true 
+0x2088 002629 branch idle_exit 
+:      002630 idle_name_fail:
+0x2089 002631 arg mem_tmp_buffer ,contw 
+0x208a 002632 arg 8 ,loopcnt 
+0x208b 002633 call memset0 
+0x208c 002634 jam bt_evt_reconn_failed ,mem_fifo_temp 
+0x208d 002635 call ui_ipc_send_event 
+0x208e 002636 branch idle_exit 
+:      002643 inquiry_dispatch:
+0x208f 002644 rtnmark0 mark_inquiry_on 
+0x2090 002645 force inquiry_length_timer ,queue 
+0x2091 002646 call timer_check 
+0x2092 002647 nsetflag blank ,mark_inquiry_on ,mark 
+0x2093 002648 nbranch inquiry_start ,blank 
+0x2094 002649 rtn 
+:      002653 inquiry_start:
+0x2095 002654 bpatch patch01_2 ,mem_patch01 
+0x2096 002655 fetcht 2 ,mem_inq_window 
+0x2097 002656 force 4 ,queue 
+0x2098 002657 call sniff_check_window 
+0x2099 002658 rtn user 
+0x209a 002659 call afh_clear 
+0x209b 002660 force 0 ,freq_mode 
+:      002661 inquiry_restart:
+0x209c 002662 rtn timeout 
+0x209d 002663 set0 mark_fhs_already_good ,mark 
+0x209e 002664 set0 mark_fhs_eir ,mark 
+:      002665 inquiry_rx_restart:
+0x209f 002666 add clkn_bt ,1 ,bt_clk 
+0x20a0 002667 isolate1 mark_inquiry_trainb ,mark 
+0x20a1 002668 setflag true ,2 ,freq_mode 
+0x20a2 002669 compare 0x00 ,bt_clk ,0x02 
+0x20a3 002670 nbranch inquiry_receive ,true 
+:      002672 inquiry_transmit:
+0x20a4 002673 bpatch patch01_3 ,mem_patch01 
+0x20a5 002674 fetch 1 ,mem_inquiry_transmit 
+0x20a6 002675 increase 1 ,pdata 
+0x20a7 002676 store 1 ,mem_inquiry_transmit 
+0x20a8 002677 call fetch_giac 
+0x20a9 002678 call tx_radio_freq 
+0x20aa 002679 call fetch_diac 
+0x20ab 002680 call start_transmitter 
+0x20ac 002681 call start_tx_native 
+0x20ad 002682 call send_access_word 
+0x20ae 002683 call end_of_packet 
+0x20af 002684 call inquiry_check_train 
+0x20b0 002685 branch inquiry_restart 
+:      002687 inquiry_check_train:
+0x20b1 002688 bpatch patch01_4 ,mem_patch01 
+0x20b2 002689 fetch 1 ,mem_nfreq_index_inq 
+0x20b3 002690 increase -1 ,pdata 
+0x20b4 002691 store 1 ,mem_nfreq_index_inq 
+0x20b5 002692 rtn positive 
+0x20b6 002693 jam 31 ,mem_nfreq_index_inq 
+0x20b7 002694 fetch 1 ,mem_ninqy_index 
+0x20b8 002695 increase -1 ,pdata 
+0x20b9 002696 store 1 ,mem_ninqy_index 
+0x20ba 002697 rtn positive 
+0x20bb 002698 setflip mark_inquiry_trainb ,mark 
+0x20bc 002699 jam param_ninquiry ,mem_ninqy_index 
+0x20bd 002700 rtn 
+:      002702 inquiry_receive:
+0x20be 002703 bpatch patch01_5 ,mem_patch01 
+0x20bf 002704 call fetch_giac 
+0x20c0 002705 call rx_radio_freq 
+0x20c1 002706 call fetch_diac 
+0x20c2 002707 call start_rx_native 
+0x20c3 002708 call start_receiver 
+0x20c4 002709 call wait_access_clkn_rt 
+0x20c5 002710 branch inquiry_sync ,sync 
+0x20c6 002711 call inquiry_check_train 
+0x20c7 002712 branch inquiry_rx_restart 
+:      002713 inquiry_sync:
+0x20c8 002714 bpatch patch01_6 ,mem_patch01 
+0x20c9 002715 call save_rssi 
+0x20ca 002716 call scan_mode_whiten 
+0x20cb 002717 call receive_packet_whitened 
+0x20cc 002718 set0 mark_rxbuf_inuse ,mark 
+0x20cd 002719 rtnmark0 mark_fhs_already_good 
+:      002720 inquiry_receive_rtn:
+0x20ce 002721 bpatch patch01_7 ,mem_patch01 
+:      002722 inquiry_receive_eir_rtn:
+0x20cf 002723 fetch 1 ,mem_inquiry_rcv 
+0x20d0 002724 increase 1 ,pdata 
+0x20d1 002725 store 1 ,mem_inquiry_rcv 
+0x20d2 002726 rtn 
+:      002734 master_page:
+0x20d3 002735 bpatch patch02_0 ,mem_patch02 
+0x20d4 002736 enable master 
+0x20d5 002737 enable clknt 
+0x20d6 002738 fetch 2 ,mem_page_interval 
+0x20d7 002739 branch master_page_no_interval ,blank 
+0x20d8 002740 force page_interval_timer ,queue 
+0x20d9 002741 call timer_check 
+0x20da 002742 nrtn blank 
+:      002743 master_page_no_interval:
+0x20db 002744 bpatch patch02_1 ,mem_patch02 
+0x20dc 002745 fetcht 2 ,mem_page_window 
+0x20dd 002746 force 40 ,queue 
+0x20de 002747 call sniff_check_window 
+0x20df 002748 branch page_exit ,user 
+0x20e0 002749 force page_length_timer ,queue 
+0x20e1 002750 call timer_check 
+0x20e2 002751 nbranch page_start ,blank 
+0x20e3 002752 fetch 1 ,mem_state_map 
+0x20e4 002753 bbit1 smap_name_req ,master_npage_timeout 
+0x20e5 002754 branch master_page_timeout 
+:      002755 master_npage_timeout:
+0x20e6 002756 arg mem_tmp_buffer ,contw 
+0x20e7 002757 arg 8 ,loopcnt 
+0x20e8 002758 call memset0 
+:      002759 master_page_timeout:
+0x20e9 002760 bpatch patch02_2 ,mem_patch02 
+0x20ea 002761 jam 0 ,mem_state 
+0x20eb 002762 call init_lmp_work 
+0x20ec 002763 jam 0 ,memui_reconnect_mode 
+0x20ed 002764 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+0x20ee 002765 call ui_ipc_send_event 
+0x20ef 002766 branch page_exit 
+:      002768 page_start:
+0x20f0 002769 bpatch patch02_3 ,mem_patch02 
+0x20f1 002770 force 0 ,timeup 
+0x20f2 002771 until clkn_rt ,meet 
+0x20f3 002772 fetch 1 ,mem_page_clk 
+0x20f4 002773 increase -1 ,pdata 
+0x20f5 002774 ixor clkn_bt ,pdata 
+0x20f6 002775 compare 0 ,pdata ,3 
+0x20f7 002776 nbranch page_start ,true 
+0x20f8 002777 deposit am_addr 
+0x20f9 002778 store 1 ,mem_fhs_am_addr 
+0x20fa 002779 force 0 ,n_tx_slot 
+0x20fb 002780 force 0 ,freq_mode 
+:      002782 page_restart:
+0x20fc 002783 bpatch patch02_4 ,mem_patch02 
+0x20fd 002784 branch page_exit ,timeout 
+0x20fe 002785 call fetch_page_bt_adr 
+0x20ff 002786 arg param_rf_setup ,timeup 
+0x2100 002787 until clkn_rt ,meet 
+:      002788 page_rx_restart:
+0x2101 002789 bpatch patch02_5 ,mem_patch02 
+0x2102 002790 fetch 4 ,mem_page_clk 
+0x2103 002791 iforce bt_clk 
+0x2104 002792 increase 1 ,pdata 
+0x2105 002793 store 4 ,mem_page_clk 
+0x2106 002794 isolate1 mark_page_trainb ,mark 
+0x2107 002795 setflag true ,2 ,freq_mode 
+0x2108 002796 compare 0x00 ,bt_clk ,0x02 
+0x2109 002797 nbranch page_receive ,true 
+0x210a 002798 fetch 1 ,mem_page_transmit 
+0x210b 002799 increase 1 ,pdata 
+0x210c 002800 store 1 ,mem_page_transmit 
+0x210d 002801 call tx_radio_freq 
+0x210e 002802 call start_transmitter 
+0x210f 002803 call start_tx_native 
+0x2110 002804 call send_access_word 
+0x2111 002805 call end_of_packet 
+0x2112 002806 call page_check_train 
+0x2113 002807 branch page_restart 
+:      002808 page_exit:
+0x2114 002809 bpatch patch02_6 ,mem_patch02 
+0x2115 002810 disable master 
+0x2116 002811 fetch 2 ,mem_page_interval 
+0x2117 002812 rtn blank 
+0x2118 002813 force page_interval_timer ,queue 
+0x2119 002814 branch timer_init 
+:      002816 page_check_train:
+0x211a 002817 bpatch patch02_7 ,mem_patch02 
+0x211b 002818 fetch 1 ,mem_nfreq_index_page 
+0x211c 002819 increase -1 ,pdata 
+0x211d 002820 store 1 ,mem_nfreq_index_page 
+0x211e 002821 rtn positive 
+0x211f 002822 jam 31 ,mem_nfreq_index_page 
+0x2120 002823 fetch 1 ,mem_npage_index 
+0x2121 002824 increase -1 ,pdata 
+0x2122 002825 store 1 ,mem_npage_index 
+0x2123 002826 rtn positive 
+0x2124 002827 setflip mark_page_trainb ,mark 
+0x2125 002828 fetch 1 ,mem_npage 
+0x2126 002829 store 1 ,mem_npage_index 
+0x2127 002830 rtn 
+:      002832 page_receive:
+0x2128 002833 bpatch patch03_0 ,mem_patch03 
+0x2129 002834 call rx_radio_freq 
+0x212a 002835 call start_rx_native 
+0x212b 002836 call start_receiver 
+0x212c 002837 call wait_access_clkn_rt 
+0x212d 002838 branch page_sync ,sync 
+0x212e 002839 call page_check_train 
+0x212f 002840 branch page_rx_restart 
+:      002841 page_sync:
+0x2130 002842 call end_of_packet 
+0x2131 002843 fetch 1 ,mem_page_rcv 
+0x2132 002844 increase 1 ,pdata 
+0x2133 002845 store 1 ,mem_page_rcv 
+0x2134 002846 force 0 ,stop_watch 
+0x2135 002847 fetch 4 ,mem_page_clk 
+:      002848 page_send_fhs:
+0x2136 002849 bpatch patch03_1 ,mem_patch03 
+0x2137 002850 call rf_setup_time_master_slot 
+0x2138 002851 call fetch_page_bt_adr 
+0x2139 002852 increase 1 ,n_tx_slot 
+:      002853 page_send_fhs_continue:
+0x213a 002854 and_into 0x1fd ,bt_clk 
+0x213b 002855 and_into 0x1fc ,freq_mode 
+0x213c 002856 call tx_radio_freq 
+0x213d 002857 call start_transmitter 
+0x213e 002858 call start_tx_native 
+0x213f 002859 call send_access_word 
+0x2140 002860 deposit clkn_bt 
+0x2141 002861 store 4 ,mem_clkn_bt 
+0x2142 002862 force 0 ,am_addr 
+0x2143 002863 force type_fhs ,type 
+0x2144 002864 call scan_mode_whiten 
+0x2145 002865 call transmit_packet_whitened 
+:      002866 page_wait_fhs_reply:
+0x2146 002867 bpatch patch03_2 ,mem_patch03 
+0x2147 002868 call rf_setup_time_slave_slot 
+0x2148 002869 or_into 0x02 ,bt_clk 
+0x2149 002870 and_into 0x1fc ,freq_mode 
+0x214a 002871 call rx_radio_freq 
+0x214b 002872 call start_rx_native 
+0x214c 002873 call start_receiver 
+0x214d 002874 call wait_access_clkn_rt 
+0x214e 002875 call end_of_packet ,sync 
+0x214f 002876 branch page_wait_fhs_reply_ok ,sync 
+0x2150 002877 fetch 1 ,mem_fhs_wait_counter 
+0x2151 002878 branch page_restart ,blank 
+0x2152 002879 increase -1 ,pdata 
+0x2153 002880 store 1 ,mem_fhs_wait_counter 
+0x2154 002881 branch page_send_fhs 
+:      002883 page_wait_fhs_reply_ok:
+0x2155 002884 bpatch patch03_3 ,mem_patch03 
+0x2156 002885 fetch 1 ,mem_page_rcv_fhs 
+0x2157 002886 increase 1 ,pdata 
+0x2158 002887 store 1 ,mem_page_rcv_fhs 
+0x2159 002888 call prepare_newconn 
+:      002889 master_newconn_loop:
+0x215a 002890 call master_newconn_once 
+0x215b 002891 branch newconn_poll_responded ,sync 
+0x215c 002892 call new_conn_timeout 
+0x215d 002893 nbranch master_newconn_loop ,blank 
+0x215e 002894 branch page_restart 
+:      002896 newconn_poll_responded:
+0x215f 002897 bpatch patch03_4 ,mem_patch03 
+0x2160 002898 fetch 1 ,mem_state 
+0x2161 002899 set0 state_inpage ,pdata 
+0x2162 002900 store 1 ,mem_state 
+0x2163 002901 call newconn_init 
+0x2164 002902 disable master 
+0x2165 002903 rtn 
+:      002906 master_dispatch:
+0x2166 002907 bpatch patch03_5 ,mem_patch03 
+0x2167 002908 enable master 
+0x2168 002909 enable clknt 
+0x2169 002910 call role_switch_master 
+0x216a 002911 rtn user 
+0x216b 002912 call check_bt_disabled 
+0x216c 002913 call rf_setup_time_master_slot 
+0x216d 002914 add clkn_bt ,1 ,bt_clk 
+0x216e 002915 call fetch_self_bt_adr 
+0x216f 002916 force 0x03 ,freq_mode 
+0x2170 002917 call scheduler_tx_l2cap_pkt 
+0x2171 002918 call prepare_tx 
+0x2172 002919 call tx_radio_freq 
+0x2173 002920 call start_transmitter 
+0x2174 002921 call start_tx_native 
+0x2175 002922 call send_access_word 
+0x2176 002923 call transmit_packet 
+:      002924 master_loop:
+0x2177 002925 bpatch patch03_6 ,mem_patch03 
+0x2178 002926 call parse_lmp 
+0x2179 002927 call master_conn_recv_packet 
+0x217a 002928 nbranch master_notmatch ,match 
+0x217b 002929 call supervision_flush 
+0x217c 002930 call parse_l2cap 
+0x217d 002931 fetch 1 ,mem_master_rcvcnt 
+0x217e 002932 increase 1 ,pdata 
+0x217f 002933 store 1 ,mem_master_rcvcnt 
+:      002934 master_notmatch:
+0x2180 002935 bpatch patch03_7 ,mem_patch03 
+0x2181 002936 call scheduler_process 
+0x2182 002937 call check_master_disconnect 
+0x2183 002938 nrtn master 
+0x2184 002939 call check_attempt 
+0x2185 002940 nbranch master_attempt ,blank 
+:      002941 master_exit:
+0x2186 002942 disable master 
+0x2187 002943 rtn 
+:      002945 master_attempt:
+0x2188 002946 call prepare_tx 
+0x2189 002947 call master_conn_send_packet 
+0x218a 002948 branch master_loop 
+:      002951 check_master_disconnect:
+0x218b 002952 branch check_master_match ,match 
+0x218c 002953 call supervision_update 
+0x218d 002954 branch master_disconnect ,positive 
+:      002955 check_master_match:
+0x218e 002956 call check_disconnect_timeout 
+0x218f 002957 nbranch master_disconnect ,user 
+0x2190 002958 fetch 1 ,mem_state_map 
+0x2191 002959 rtnbit0 smap_name_req 
+0x2192 002960 rtnbit1 smap_name_res 
+0x2193 002961 fetch 1 ,mem_op 
+0x2194 002962 rtnbit1 op_disconn 
+0x2195 002963 call conn_timer_expired 
+0x2196 002964 nrtn blank 
+0x2197 002965 fetch 1 ,mem_nameres_cnt 
+0x2198 002966 increase -1 ,pdata 
+0x2199 002967 store 1 ,mem_nameres_cnt 
+0x219a 002968 nrtn blank 
+0x219b 002969 branch lmp_disconnect 
+:      002971 master_disconnect:
+0x219c 002972 bpatch patch04_0 ,mem_patch04 
+0x219d 002973 call quit_connection 
+0x219e 002974 disable master 
+0x219f 002975 fetch 1 ,mem_state_map 
+0x21a0 002976 bbit1 smap_name_req ,master_name_disconnect 
+0x21a1 002977 rtn 
+:      002979 master_name_disconnect:
+0x21a2 002980 fetch 1 ,mem_state_map 
+0x21a3 002981 rtnbit1 smap_name_res 
+:      002982 master_name_error:
+0x21a4 002983 arg mem_tmp_buffer ,contw 
+0x21a5 002984 arg 8 ,loopcnt 
+0x21a6 002985 branch memset0 
+:      002987 check_disconnect_timeout:
+0x21a7 002988 bpatch patch04_1 ,mem_patch04 
+0x21a8 002989 enable user 
+0x21a9 002990 fetch 1 ,mem_op 
+0x21aa 002991 rtnbit0 op_disconn 
+0x21ab 002992 call conn_timer_expired 
+0x21ac 002993 nrtn blank 
+0x21ad 002994 branch disable_user 
+:      002996 conn_timer_expired:
+0x21ae 002997 fetch 1 ,mem_conn_timer 
+0x21af 002998 increase -1 ,pdata 
+0x21b0 002999 store 1 ,mem_conn_timer 
+0x21b1 003000 rtn 
+:      003002 linkkey_ready:
+0x21b2 003003 bpatch patch04_2 ,mem_patch04 
+0x21b3 003004 fetch 1 ,mem_state 
+0x21b4 003005 bbit1 state_linkkey ,linkkey_set 
+0x21b5 003006 fetch 1 ,mem_pairing_auth 
+0x21b6 003007 branch linkkey_set ,blank 
+0x21b7 003008 jam defalt_pairing_auth ,mem_pairing_auth 
+0x21b8 003009 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+0x21b9 003010 call ui_ipc_send_event 
+0x21ba 003011 branch linkkey_set 
+:      003012 linkkey_set:
+0x21bb 003013 bpatch patch04_3 ,mem_patch04 
+0x21bc 003014 call context_traverse_linkkey 
+0x21bd 003015 fetch 1 ,mem_state 
+0x21be 003016 set1 state_linkkey ,pdata 
+0x21bf 003017 store 1 ,mem_state 
+0x21c0 003018 jam 1 ,mem_link_key_exists 
+0x21c1 003019 fetch 1 ,mem_conn_sm 
+0x21c2 003020 bne conn_sm_pairing ,linkkey_set_continue 
+:      003021 linkkey_set_continue:
+0x21c3 003022 rtn 
+:      003024 generate_linkkey_continue:
+0x21c4 003025 jam pairing_auth ,mem_pairing_auth 
+:      003026 clear_linkstate:
+0x21c5 003027 fetch 1 ,mem_state 
+0x21c6 003028 set0 state_linkkey ,pdata 
+0x21c7 003029 store 1 ,mem_state 
+0x21c8 003030 rtn 
+:      003034 role_switch_check:
+0x21c9 003035 bpatch patch04_4 ,mem_patch04 
+0x21ca 003036 disable user 
+0x21cb 003037 fetch 2 ,mem_tsniff 
+0x21cc 003038 arg 0xffff ,temp 
+0x21cd 003039 isub temp ,null 
+0x21ce 003040 nrtn zero 
+0x21cf 003041 fetch 4 ,mem_sniff_anchor 
+0x21d0 003042 branch role_switch_clkn ,clknt 
+0x21d1 003043 isub clke_bt ,pdata 
+0x21d2 003044 branch role_switch_clke 
+:      003045 role_switch_clkn:
+0x21d3 003046 isub clkn_bt ,pdata 
+:      003047 role_switch_clke:
+0x21d4 003048 sub pdata ,4 ,null 
+0x21d5 003049 nrtn positive 
+0x21d6 003050 force 0 ,pdata 
+0x21d7 003051 store 2 ,mem_tsniff 
+0x21d8 003052 branch enable_user 
+:      003056 role_switch_prepare:
+0x21d9 003057 copy pdata ,temp 
+0x21da 003058 bpatch patch04_5 ,mem_patch04 
+0x21db 003059 storet 4 ,mem_sniff_anchor 
+:      003060 role_switch_prepare0:
+0x21dc 003061 jam switch_flag_accept ,mem_switch_flag 
+0x21dd 003062 setarg 0xffff 
+0x21de 003063 store 2 ,mem_tsniff 
+0x21df 003064 jam 1 ,mem_sniff_attempt 
+0x21e0 003065 rtn 
+:      003068 role_switch_master:
+0x21e1 003069 bpatch patch04_6 ,mem_patch04 
+0x21e2 003070 call role_switch_check 
+0x21e3 003071 nrtn user 
+0x21e4 003072 disable user 
+0x21e5 003073 jam param_newconnto ,mem_newconnto_counter 
+0x21e6 003074 set0 mark_fhs_already_good ,mark 
+:      003075 roles_waitfhs_loop:
+0x21e7 003076 call rf_setup_time_master_slot 
+0x21e8 003077 call master_recv_packet 
+0x21e9 003078 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+0x21ea 003079 call new_conn_timeout 
+0x21eb 003080 nbranch roles_waitfhs_loop ,blank 
+:      003081 role_switch_fail_master:
+0x21ec 003082 bpatch patch04_7 ,mem_patch04 
+0x21ed 003083 disable user 
+0x21ee 003084 deposit clkn_bt 
+0x21ef 003085 store 4 ,mem_next_btclk 
+0x21f0 003086 enable clknt 
+0x21f1 003087 enable master 
+0x21f2 003088 jam bt_evt_switch_fail_master ,mem_fifo_temp 
+0x21f3 003089 branch ui_ipc_send_event 
+:      003091 roles_replyto_fhs:
+0x21f4 003092 bpatch patch05_0 ,mem_patch05 
+0x21f5 003093 call rf_setup_time_slave_slot 
+0x21f6 003094 arg type_id ,type 
+0x21f7 003095 call master_send_packet 
+0x21f8 003096 disable clknt 
+0x21f9 003097 disable master 
+0x21fa 003098 call apply_switch_clke 
+0x21fb 003099 call prepare_newconn 
+:      003100 roles_newconns_loop:
+0x21fc 003101 bpatch patch05_1 ,mem_patch05 
+0x21fd 003102 call slave_newconn_once 
+0x21fe 003103 branch roles_newconns_responded ,match 
+0x21ff 003104 call new_conn_timeout 
+0x2200 003105 nbranch roles_newconns_loop ,blank 
+0x2201 003106 branch role_switch_fail_master 
+:      003107 roles_newconns_responded:
+0x2202 003108 fetch 1 ,mem_mode 
+0x2203 003109 set0 mode_master ,pdata 
+0x2204 003110 store 1 ,mem_mode 
+0x2205 003111 call supervision_flush 
+0x2206 003112 call calc_clke_offset 
+0x2207 003113 enable user 
+0x2208 003114 jam bt_evt_switch_success_master ,mem_fifo_temp 
+0x2209 003115 branch ui_ipc_send_event 
+:      003120 context_load:
+0x220a 003121 bpatch patch05_2 ,mem_patch05 
+0x220b 003122 set1 mark_context ,mark 
+0x220c 003123 deposit rega 
+0x220d 003124 store 2 ,mem_context_ptr 
+0x220e 003125 force context_size ,loopcnt 
+0x220f 003126 arg mem_le_state ,contw 
+0x2210 003127 add rega ,coffset_mode ,contr 
+0x2211 003128 ifetch 1 ,contr 
+0x2212 003129 copy rega ,contr 
+0x2213 003130 bbit1 mode_le ,memcpy 
+0x2214 003131 arg mem_state ,contw 
+0x2215 003132 call memcpy 
+0x2216 003133 disable attempt 
+0x2217 003134 fetch 1 ,mem_amaddr 
+0x2218 003135 iforce am_addr 
+0x2219 003136 jam 1 ,mem_current_sniff_attempt 
+0x221a 003137 branch context_load_master ,master 
+0x221b 003138 jam 1 ,mem_current_sniff_attempt 
+:      003139 context_load_master:
+0x221c 003140 fetch 1 ,mem_state 
+0x221d 003141 rtnbit0 state_insniff 
+0x221e 003142 fetch 1 ,mem_sniff_attempt 
+0x221f 003143 store 1 ,mem_current_sniff_attempt 
+0x2220 003144 fetch 1 ,mem_sniff_timeout 
+0x2221 003145 store 1 ,mem_current_sniff_timeout 
+0x2222 003146 rtn 
+:      003148 context_save:
+0x2223 003149 bpatch patch05_3 ,mem_patch05 
+0x2224 003150 fetch 2 ,mem_context_ptr 
+0x2225 003151 iforce contw 
+0x2226 003152 force context_size ,loopcnt 
+0x2227 003153 arg mem_le_state ,contr 
+0x2228 003154 branch memcpy ,le 
+0x2229 003155 arg mem_state ,contr 
+0x222a 003156 branch memcpy 
+:      003160 context_get_next:
+0x222b 003161 arg context_num ,loopcnt 
+0x222c 003162 fetcht 1 ,mem_current_context 
+:      003163 context_get_next_loop:
+0x222d 003164 increase 1 ,temp 
+0x222e 003165 compare context_num ,temp ,0xff 
+0x222f 003166 nbranch context_get_next_cont ,true 
+0x2230 003167 arg 0 ,temp 
+:      003168 context_get_next_cont:
+0x2231 003169 storet 1 ,mem_current_context 
+0x2232 003170 mul32 temp ,context_size ,pdata 
+0x2233 003171 arg mem_context ,rega 
+0x2234 003172 iadd rega ,rega 
+0x2235 003173 ifetch 1 ,rega 
+0x2236 003174 bbit1 state_insniff ,context_get_next_sniff 
+0x2237 003175 rtnbit1 state_inconn 
+0x2238 003176 rtnbit1 state_inpage 
+:      003177 context_get_next_sniff:
+0x2239 003178 loop context_get_next_loop 
+0x223a 003179 rtn 
+:      003181 context_new:
+0x223b 003182 bpatch patch05_4 ,mem_patch05 
+0x223c 003183 arg context_search_empty ,regc 
+0x223d 003184 call context_search 
+0x223e 003185 nrtn zero 
+0x223f 003186 deposit rega 
+0x2240 003187 store 2 ,mem_context_ptr 
+0x2241 003188 force 0 ,null 
+0x2242 003189 rtn 
+:      003193 context_check_all_wack:
+0x2243 003194 call check_esco_amaddr 
+0x2244 003195 branch context_check_esco_wack ,true 
+0x2245 003196 fetch 2 ,mem_context_ptr 
+0x2246 003197 add pdata ,coffset_arq ,contw 
+0x2247 003198 fetch 1 ,mem_arq 
+0x2248 003199 istore 1 ,contw 
+0x2249 003200 arg context_check_a_wack ,regc 
+0x224a 003201 branch context_search 
+:      003203 context_check_esco_wack:
+0x224b 003204 fetch 1 ,mem_arq 
+0x224c 003205 isolate1 wack ,pdata 
+0x224d 003206 branch context_esco_wack ,true 
+0x224e 003207 force 1 ,null 
+0x224f 003208 rtn 
+:      003209 context_esco_wack:
+0x2250 003210 force 0 ,null 
+0x2251 003211 rtn 
+:      003214 context_check_idle:
+0x2252 003215 arg context_check_inconn ,regc 
+0x2253 003216 branch context_search 
+:      003218 context_traverse_linkkey:
+0x2254 003219 fetcht 2 ,mem_context_ptr 
+0x2255 003220 arg context_traverse_clearkey ,regc 
+0x2256 003221 branch context_search 
+:      003225 context_search_conn_handle:
+0x2257 003226 fetcht 1 ,mem_hci_conn_handle 
+:      003227 context_search_conn_handle2:
+0x2258 003228 arg context_search_handle ,regc 
+0x2259 003229 branch context_search 
+:      003231 context_search_plap:
+0x225a 003232 bpatch patch05_5 ,mem_patch05 
+0x225b 003233 fetcht 6 ,mem_hci_plap 
+:      003234 context_search_plap2:
+0x225c 003235 arg context_search_lap ,regc 
+0x225d 003236 branch context_search 
+:      003238 context_search_insniff:
+0x225e 003239 arg context_search_sniff ,regc 
+0x225f 003240 branch context_search 
+:      003242 context_search_sniff_window:
+0x2260 003243 arg context_search_window ,regc 
+:      003244 context_search:
+0x2261 003245 bpatch patch05_6 ,mem_patch05 
+0x2262 003246 arg mem_context ,rega 
+0x2263 003247 arg context_num ,loopcnt 
+:      003248 context_search_loop:
+0x2264 003249 ifetch 1 ,rega 
+0x2265 003250 copy regc ,pc 
+:      003251 context_search_next:
+0x2266 003252 increase context_size ,rega 
+0x2267 003253 loop context_search_loop 
+0x2268 003254 force 1 ,null 
+0x2269 003255 rtn 
+:      003257 context_search_empty:
+0x226a 003258 bbit1 state_inconn ,context_search_next 
+0x226b 003259 bbit1 state_inpage ,context_search_next 
+0x226c 003260 force 0 ,null 
+0x226d 003261 rtn 
+:      003263 context_search_lap:
+0x226e 003264 bbit1 state_inpage ,context_search_lap_cont 
+0x226f 003265 bbit0 state_inconn ,context_search_next 
+:      003266 context_search_lap_cont:
+0x2270 003267 add rega ,coffset_plap ,contr 
+0x2271 003268 ifetch 6 ,contr 
+0x2272 003269 isub temp ,null 
+0x2273 003270 rtn zero 
+0x2274 003271 branch context_search_next 
+:      003273 context_search_handle:
+0x2275 003274 bbit0 state_inconn ,context_search_next 
+0x2276 003275 add rega ,coffset_conn_handle ,contr 
+0x2277 003276 ifetch 1 ,contr 
+0x2278 003277 isub temp ,null 
+0x2279 003278 rtn zero 
+0x227a 003279 branch context_search_next 
+:      003281 context_search_sniff:
+0x227b 003282 bbit0 state_insniff ,context_search_next 
+:      003283 context_search_sniff_loop:
+0x227c 003284 call context_get_anchor 
+0x227d 003285 call sign_pdata_temp 
+0x227e 003286 isub temp ,pdata 
+0x227f 003287 increase 1 ,pdata 
+0x2280 003288 branch context_search_sniff_miss ,positive 
+0x2281 003289 copy contr ,regb 
+0x2282 003290 store 9 ,mem_temp 
+0x2283 003291 fetch 1 ,mem_le_sc_calc 
+0x2284 003292 nbranch context_search_sniff_sc ,blank 
+0x2285 003293 fetch 9 ,mem_temp 
+0x2286 003294 copy regb ,contr 
+0x2287 003295 increase 5 ,pdata 
+0x2288 003296 branch context_search_meet1 
+:      003297 context_search_sniff_sc:
+0x2289 003298 fetch 9 ,mem_temp 
+0x228a 003299 copy regb ,contr 
+0x228b 003300 increase 20 ,pdata 
+:      003301 context_search_meet1:
+0x228c 003302 nbranch context_search_next ,positive 
+:      003303 context_search_meet:
+0x228d 003304 copy temp ,bt_clk 
+0x228e 003305 call context_next_anchor 
+0x228f 003306 force 0 ,null 
+0x2290 003307 rtn 
+:      003310 context_search_sniff_miss:
+0x2291 003311 iforce regb 
+0x2292 003312 add rega ,coffset_tsniff ,contr 
+0x2293 003313 ifetch 2 ,contr 
+0x2294 003314 branch context_search_meet ,blank 
+0x2295 003315 call context_next_anchor 
+0x2296 003316 branch context_search_sniff_loop 
+:      003318 sign_pdata_temp:
+0x2297 003319 rshift16 pdata ,timeup 
+0x2298 003320 rshift8 timeup ,timeup 
+0x2299 003321 branch sign_pdata_temp_p0 ,zero 
+0x229a 003322 compare 0xf ,timeup ,0xf 
+0x229b 003323 nrtn true 
+0x229c 003324 rshift16 temp ,timeup 
+0x229d 003325 rshift8 timeup ,timeup 
+0x229e 003326 nrtn zero 
+0x229f 003327 set1 28 ,temp 
+0x22a0 003328 rtn 
+:      003329 sign_pdata_temp_p0:
+0x22a1 003330 rshift16 temp ,timeup 
+0x22a2 003331 rshift8 timeup ,timeup 
+0x22a3 003332 compare 0xf ,timeup ,0xf 
+0x22a4 003333 nrtn true 
+0x22a5 003334 set1 28 ,pdata 
+0x22a6 003335 rtn 
+:      003337 context_check_inconn:
+0x22a7 003338 bbit0 state_inconn ,context_search_next 
+0x22a8 003339 force 0 ,null 
+0x22a9 003340 rtn 
+:      003342 context_check_a_wack:
+0x22aa 003343 bbit0 state_inconn ,context_search_next 
+0x22ab 003344 add rega ,coffset_mode ,contr 
+0x22ac 003345 ifetch 1 ,contr 
+0x22ad 003346 bbit1 mode_le ,context_search_next 
+0x22ae 003347 add rega ,coffset_arq ,contr 
+0x22af 003348 ifetch 1 ,contr 
+0x22b0 003349 bbit0 wack ,context_search_next 
+0x22b1 003350 force 0 ,null 
+0x22b2 003351 rtn 
+:      003353 context_get_anchor:
+0x22b3 003354 add rega ,coffset_mode ,contr 
+0x22b4 003355 ifetcht 1 ,contr 
+0x22b5 003356 deposit clkn_bt 
+0x22b6 003357 isolate1 mode_master ,temp 
+0x22b7 003358 add rega ,coffset_sniff_anchor ,contr 
+0x22b8 003359 ifetcht 4 ,contr 
+0x22b9 003360 rtn true 
+0x22ba 003361 add rega ,coffset_clk_offset ,contr 
+0x22bb 003362 ifetch 6 ,contr 
+0x22bc 003363 call calc_clke2 
+0x22bd 003364 deposit clke_bt 
+0x22be 003365 rtn 
+:      003367 context_next_anchor:
+0x22bf 003368 add rega ,coffset_tsniff ,contr 
+0x22c0 003369 add rega ,coffset_sniff_anchor ,contw 
+0x22c1 003370 ifetch 2 ,contr 
+0x22c2 003371 iadd temp ,timeup 
+0x22c3 003372 deposit timeup 
+0x22c4 003373 istore 4 ,contw 
+0x22c5 003374 branch le_context_nexthop 
+:      003377 context_search_window:
+0x22c6 003378 bbit0 state_insniff ,context_search_next 
+0x22c7 003379 call context_get_anchor 
+0x22c8 003380 iadd stop_watch ,pdata 
+0x22c9 003381 iadd stop_watch ,pdata 
+0x22ca 003382 iadd queue ,pdata 
+0x22cb 003383 isub temp ,null 
+0x22cc 003384 nbranch context_search_next ,positive 
+0x22cd 003385 force 0 ,null 
+0x22ce 003386 rtn 
+:      003388 context_traverse_clearkey:
+0x22cf 003389 bbit0 state_inconn ,context_search_next 
+0x22d0 003390 deposit temp 
+0x22d1 003391 isub rega ,null 
+0x22d2 003392 branch context_search_next ,null 
+0x22d3 003393 add rega ,coffset_mode ,contr 
+0x22d4 003394 ifetch 1 ,contr 
+0x22d5 003395 bbit1 mode_le ,context_search_next 
+0x22d6 003396 ifetch 1 ,rega 
+0x22d7 003397 set0 state_linkkey ,pdata 
+0x22d8 003398 istore 1 ,rega 
+0x22d9 003399 branch context_search_next 
+:      003402 master_conn_send_packet:
+0x22da 003403 bpatch patch05_7 ,mem_patch05 
+0x22db 003404 call rf_setup_time_master_slot 
+:      003405 master_send_packet:
+0x22dc 003406 add clkn_bt ,1 ,bt_clk 
+0x22dd 003407 call fetch_self_bt_adr 
+0x22de 003408 force 0x03 ,freq_mode 
+0x22df 003409 call tx_radio_freq 
+0x22e0 003410 call start_transmitter 
+0x22e1 003411 call start_tx_native 
+0x22e2 003412 call send_access_word 
+0x22e3 003413 branch transmit_packet 
+:      003415 master_conn_recv_packet:
+0x22e4 003416 bpatch patch06_0 ,mem_patch06 
+0x22e5 003417 call rf_setup_time_slave_slot 
+:      003418 master_recv_packet:
+0x22e6 003419 add clkn_bt ,1 ,bt_clk 
+0x22e7 003420 call fetch_self_bt_adr 
+0x22e8 003421 force 0x03 ,freq_mode 
+0x22e9 003422 call rx_radio_freq 
+0x22ea 003423 call init_rx_packet_flags 
+0x22eb 003424 call prep_crypt 
+0x22ec 003425 call start_rx_native 
+0x22ed 003426 call start_receiver 
+:      003427 master_rx_conn_finish_packet:
+0x22ee 003428 call wait_access_clkn_rt 
+0x22ef 003429 nrtn sync 
+0x22f0 003430 call save_rssi 
+0x22f1 003431 branch receive_packet 
+:      003435 master_newconn_once:
+0x22f2 003436 bpatch patch06_1 ,mem_patch06 
+0x22f3 003437 fetch 1 ,mem_fhs_am_addr 
+0x22f4 003438 iforce am_addr 
+0x22f5 003439 force type_poll ,type 
+0x22f6 003440 call master_conn_send_packet 
+0x22f7 003441 branch master_conn_recv_packet 
+:      003452 inquiry_scan_dispatch:
+0x22f8 003453 fetch 1 ,mem_scan_mode 
+0x22f9 003454 rtnbit0 inq_scan_mode 
+0x22fa 003455 force iscan_interval_timer ,queue 
+0x22fb 003456 call timer_check 
+0x22fc 003457 nrtn blank 
+0x22fd 003458 fetcht 2 ,mem_iscan_window 
+0x22fe 003459 force 4 ,queue 
+0x22ff 003460 call sniff_check_window 
+0x2300 003461 rtn user 
+0x2301 003462 call inquiry_scan_start 
+0x2302 003463 force iscan_interval_timer ,queue 
+0x2303 003464 fetch 2 ,mem_iscan_interval 
+0x2304 003465 nbranch timer_init ,sync 
+0x2305 003466 random pdata 
+0x2306 003467 iand mask3ff ,pdata 
+0x2307 003468 branch timer_init 
+:      003471 inquiry_scan_start:
+0x2308 003472 bpatch patch06_2 ,mem_patch06 
+0x2309 003473 jam 0 ,mem_fhs_am_addr 
+0x230a 003474 disable clknt 
+0x230b 003475 disable attempt 
+0x230c 003476 call afh_clear 
+0x230d 003477 and clkn_bt ,0x1fc ,bt_clk 
+0x230e 003478 force 0x01 ,freq_mode 
+0x230f 003479 call fetch_giac 
+0x2310 003480 call rx_radio_freq 
+0x2311 003481 setflip mark_inquiry_state ,mark 
+0x2312 003482 fetch 1 ,mem_inquiryscan_waitcnt 
+0x2313 003483 increase 1 ,pdata 
+0x2314 003484 store 1 ,mem_inquiryscan_waitcnt 
+0x2315 003485 call fetch_diac 
+0x2316 003486 call start_receiver 
+0x2317 003487 call wait_access_forever 
+0x2318 003488 nrtn sync 
+0x2319 003489 bpatch patch06_3 ,mem_patch06 
+0x231a 003490 force 0 ,stop_watch 
+0x231b 003491 call shutdown_radio 
+0x231c 003492 fetch 1 ,mem_inquiryscan_rcvcnt 
+0x231d 003493 increase 1 ,pdata 
+0x231e 003494 store 1 ,mem_inquiryscan_rcvcnt 
+0x231f 003495 call fetch_giac 
+0x2320 003496 call rf_setup_time_slave_slot 
+0x2321 003497 or_into 0x002 ,bt_clk 
+0x2322 003498 force 0x01 ,freq_mode 
+0x2323 003499 call tx_radio_freq 
+0x2324 003500 call fetch_diac 
+0x2325 003501 call start_transmitter 
+0x2326 003502 call start_tx_external 
+0x2327 003503 deposit clkn_bt 
+0x2328 003504 store 4 ,mem_clkn_bt 
+0x2329 003505 call send_access_word 
+0x232a 003506 force type_fhs ,type 
+0x232b 003507 force 0 ,am_addr 
+0x232c 003508 call scan_mode_whiten 
+0x232d 003509 call transmit_packet_whitened 
+0x232e 003510 call send_eir 
+0x232f 003511 and_into 0x1fd ,bt_clk 
+0x2330 003512 increase 1 ,n_tx_slot 
+0x2331 003513 rtn 
+:      003515 send_eir:
+0x2332 003516 bpatch patch06_4 ,mem_patch06 
+0x2333 003517 fetch 1 ,mem_eir_enable 
+0x2334 003518 rtn blank 
+0x2335 003519 arg mem_eir ,contw 
+0x2336 003520 fetch 1 ,mem_local_name_length 
+0x2337 003521 copy pdata ,loopcnt 
+0x2338 003522 increase 1 ,pdata 
+0x2339 003523 istore 1 ,contw 
+0x233a 003524 copy contw ,temp 
+0x233b 003525 increase 1 ,pdata 
+0x233c 003526 store 2 ,mem_tx_len 
+0x233d 003527 copy temp ,contw 
+0x233e 003528 setarg 0x09 
+0x233f 003529 istore 1 ,contw 
+0x2340 003530 arg mem_local_name ,contr 
+0x2341 003531 call memcpy 
+0x2342 003533 arg mem_all_uuid_128bits ,regc 
+0x2343 003534 arg 4 ,loopcnt 
+0x2344 003535 call get_all_uuid 
+0x2345 003536 arg mem_all_uuid_16bits ,regc 
+0x2346 003537 arg 1 ,loopcnt 
+0x2347 003538 call get_all_uuid 
+0x2348 003540 force type_dm3 ,type 
+0x2349 003541 jam 2 ,mem_tx_lch 
+0x234a 003542 setarg mem_eir 
+0x234b 003543 store 2 ,mem_txptr 
+0x234c 003544 call rf_setup_time_slave_slot 
+0x234d 003545 call tx_radio_freq 
+0x234e 003546 call start_transmitter 
+0x234f 003547 call start_tx_external 
+0x2350 003548 call send_access_word 
+0x2351 003549 call scan_mode_whiten 
+0x2352 003550 call transmit_packet_whitened 
+0x2353 003551 rtn 
+:      003554 get_all_uuid:
+0x2354 003555 copy contw ,temp 
+0x2355 003556 copy regc ,contr 
+0x2356 003557 ifetch 1 ,contr 
+0x2357 003558 rtn blank 
+:      003559 lshift_loop:
+0x2358 003560 lshift pdata ,pdata 
+0x2359 003561 loop lshift_loop 
+0x235a 003562 copy pdata ,rega 
+0x235b 003563 increase 2 ,pdata 
+0x235c 003564 copy pdata ,queue 
+0x235d 003565 fetch 2 ,mem_tx_len 
+0x235e 003566 iadd queue ,pdata 
+0x235f 003567 store 2 ,mem_tx_len 
+0x2360 003568 copy temp ,contw 
+0x2361 003569 copy rega ,pdata 
+0x2362 003570 increase 1 ,pdata 
+0x2363 003571 istore 1 ,contw 
+0x2364 003572 copy regc ,contr 
+0x2365 003573 ifetch 1 ,contr 
+0x2366 003574 ifetch 1 ,contr 
+0x2367 003575 istore 1 ,contw 
+0x2368 003576 copy rega ,loopcnt 
+0x2369 003577 branch memcpy 
+:      003583 page_scan_dispatch:
+0x236a 003584 fetch 1 ,mem_scan_mode 
+0x236b 003585 rtnbit0 page_scan_mode 
+0x236c 003586 force pscan_interval_timer ,queue 
+0x236d 003587 call timer_check 
+0x236e 003588 nrtn blank 
+0x236f 003589 fetcht 2 ,mem_pscan_window 
+0x2370 003590 force 40 ,queue 
+0x2371 003591 call sniff_check_window 
+0x2372 003592 rtn user 
+0x2373 003593 force 0 ,am_addr 
+0x2374 003594 jam param_pagerespto ,mem_fhs_wait_counter 
+0x2375 003595 set0 mark_fhs_already_good ,mark 
+0x2376 003596 call page_scan_start 
+0x2377 003597 force pscan_interval_timer ,queue 
+0x2378 003598 fetch 2 ,mem_pscan_interval 
+0x2379 003599 branch timer_init 
+:      003602 page_scan_start:
+0x237a 003603 bpatch patch06_5 ,mem_patch06 
+0x237b 003604 disable clknt 
+0x237c 003605 call afh_clear 
+0x237d 003606 fetch 1 ,mem_pagescan_waitcnt 
+0x237e 003607 increase 1 ,pdata 
+0x237f 003608 store 1 ,mem_pagescan_waitcnt 
+0x2380 003609 force 0 ,n_tx_slot 
+0x2381 003610 call fetch_self_bt_adr 
+0x2382 003611 add clkn_bt ,1 ,bt_clk 
+0x2383 003612 force 0x02 ,freq_mode 
+0x2384 003613 bpatch patch06_6 ,mem_patch06 
+0x2385 003614 call rx_radio_freq 
+0x2386 003615 call start_receiver 
+0x2387 003616 call wait_access_forever 
+0x2388 003617 nrtn sync 
+0x2389 003618 call shutdown_radio 
+0x238a 003619 fetch 1 ,mem_pagescan_rcvcnt 
+0x238b 003620 increase 1 ,pdata 
+0x238c 003621 store 1 ,mem_pagescan_rcvcnt 
+0x238d 003622 force 0 ,stop_watch 
+0x238e 003623 call rf_setup_time_slave_slot 
+0x238f 003624 or_into 0x002 ,bt_clk 
+0x2390 003625 force 0x01 ,freq_mode 
+0x2391 003626 call tx_radio_freq 
+0x2392 003627 call start_transmitter 
+0x2393 003628 call start_tx_external 
+0x2394 003629 call send_access_word 
+0x2395 003630 call end_of_packet 
+0x2396 003631 force 0 ,am_addr 
+0x2397 003632 arg param_rf_setup ,timeup 
+0x2398 003633 until clke_rt ,meet 
+0x2399 003634 or_into 0x03 ,clke_bt 
+0x239a 003635 and_into 0x1fd ,bt_clk 
+:      003636 page_scan_wait_fhs_restart:
+0x239b 003637 bpatch patch06_7 ,mem_patch06 
+0x239c 003638 increase 1 ,n_tx_slot 
+0x239d 003639 call rx_radio_freq 
+0x239e 003640 call start_receiver 
+0x239f 003641 call wait_access_mhalfbnd 
+0x23a0 003642 nbranch page_scan_wait_fhs_again ,sync 
+0x23a1 003643 call scan_mode_whiten 
+0x23a2 003644 call receive_packet_whitened 
+0x23a3 003645 bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+:      003646 page_scan_wait_fhs_again:
+0x23a4 003647 bpatch patch07_0 ,mem_patch07 
+0x23a5 003648 fetch 1 ,mem_fhs_wait_counter 
+0x23a6 003649 rtn blank 
+0x23a7 003650 increase -1 ,pdata 
+0x23a8 003651 store 1 ,mem_fhs_wait_counter 
+0x23a9 003652 call rf_setup_time_master_slot 
+0x23aa 003653 branch page_scan_wait_fhs_restart 
+:      003656 page_scan_reply_to_fhs:
+0x23ab 003657 bpatch patch07_1 ,mem_patch07 
+0x23ac 003658 set0 1 ,clke_bt 
+0x23ad 003659 set1 0 ,clke_bt 
+0x23ae 003660 fetch 1 ,mem_pagescan_rcvfhscnt 
+0x23af 003661 increase 1 ,pdata 
+0x23b0 003662 store 1 ,mem_pagescan_rcvfhscnt 
+0x23b1 003663 call rf_setup_time_slave_slot 
+0x23b2 003664 or_into 0x02 ,bt_clk 
+0x23b3 003665 call tx_radio_freq 
+0x23b4 003666 call start_transmitter 
+0x23b5 003667 call start_tx_external 
+0x23b6 003668 call send_access_word 
+0x23b7 003669 call end_of_packet 
+:      003670 slave_apply_clke_bt:
+0x23b8 003671 compare 0x03 ,clke_bt ,0x03 
+0x23b9 003672 branch slave_apply_clke_bt_now ,true 
+0x23ba 003673 until null ,mhalfbnd 
+0x23bb 003674 branch slave_apply_clke_bt 
+:      003675 slave_apply_clke_bt_now:
+0x23bc 003676 fetch 4 ,mem_clke_bt 
+0x23bd 003677 or_into 0x03 ,pdata 
+0x23be 003678 icopy clke_bt 
+:      003680 start_slave_connection:
+0x23bf 003681 bpatch patch07_2 ,mem_patch07 
+0x23c0 003682 fetch 6 ,extm_lap 
+0x23c1 003683 store 6 ,mem_plap 
+0x23c2 003684 call prepare_newconn 
+:      003685 slave_newconn_loop:
+0x23c3 003686 call slave_newconn_once 
+0x23c4 003687 branch sconn_successful ,match 
+0x23c5 003688 call new_conn_timeout 
+0x23c6 003689 nbranch slave_newconn_loop ,blank 
+0x23c7 003690 rtn 
+:      003693 sconn_successful:
+0x23c8 003694 bpatch patch07_3 ,mem_patch07 
+0x23c9 003695 call newconn_init 
+0x23ca 003696 call context_new 
+0x23cb 003697 nrtn zero 
+0x23cc 003698 jam 0 ,mem_mode 
+0x23cd 003699 call calc_clke_offset 
+0x23ce 003700 branch context_save 
+:      003705 slave_dispatch:
+0x23cf 003706 bpatch patch07_4 ,mem_patch07 
+0x23d0 003707 call calc_clke 
+0x23d1 003708 call role_switch_slave 
+0x23d2 003709 rtn user 
+:      003710 slave_loop:
+0x23d3 003711 bpatch patch07_5 ,mem_patch07 
+0x23d4 003712 call check_bt_disabled 
+0x23d5 003713 call scheduler_process 
+0x23d6 003714 call slave_conn_recv_packet 
+0x23d7 003715 nbranch slave_notmatch ,match 
+0x23d8 003716 call supervision_flush 
+0x23d9 003717 call scheduler_tx_l2cap_pkt 
+0x23da 003718 call prepare_tx 
+0x23db 003719 call slave_conn_send_packet 
+0x23dc 003720 call parse_l2cap 
+0x23dd 003721 call parse_lmp 
+0x23de 003722 fetch 1 ,mem_slave_rcvcnt 
+0x23df 003723 increase 1 ,pdata 
+0x23e0 003724 store 1 ,mem_slave_rcvcnt 
+0x23e1 003725 call calc_clke_offset 
+:      003726 slave_notmatch:
+0x23e2 003727 bpatch patch07_6 ,mem_patch07 
+0x23e3 003728 call lpm_set_mult 
+0x23e4 003729 call supervision_update 
+0x23e5 003730 branch slave_disconnect ,positive 
+0x23e6 003731 call check_disconnect_timeout 
+0x23e7 003732 nbranch slave_disconnect ,user 
+0x23e8 003733 call check_attempt 
+0x23e9 003734 nbranch slave_loop ,blank 
+0x23ea 003735 rtn 
+:      003737 slave_disconnect:
+0x23eb 003738 bpatch patch07_7 ,mem_patch07 
+0x23ec 003739 jam 0 ,mem_tester_emulate 
+0x23ed 003740 jam 0 ,mem_debug_config 
+0x23ee 003741 call quit_connection 
+0x23ef 003742 set0 mark_testmode ,mark 
+0x23f0 003743 call test_enable_white 
+0x23f1 003744 fetch 1 ,mem_state 
+0x23f2 003745 rtn 
+:      003748 role_switch_slave:
+0x23f3 003749 bpatch patch08_0 ,mem_patch08 
+0x23f4 003750 call role_switch_check 
+0x23f5 003751 nrtn user 
+0x23f6 003752 copy am_addr ,temp 
+0x23f7 003753 call get_free_amaddr 
+0x23f8 003754 store 1 ,mem_fhs_am_addr 
+0x23f9 003755 copy temp ,am_addr 
+0x23fa 003756 jam param_newconnto ,mem_newconnto_counter 
+:      003757 roles_sendfhs_loop:
+0x23fb 003758 bpatch patch08_1 ,mem_patch08 
+0x23fc 003759 call rf_setup_time_master_slot 
+0x23fd 003760 force type_fhs ,type 
+0x23fe 003761 call slave_send_access 
+0x23ff 003762 deposit clkn_bt 
+0x2400 003763 store 4 ,mem_clkn_bt 
+0x2401 003764 call transmit_packet 
+0x2402 003765 call rf_setup_time_slave_slot 
+0x2403 003766 enable user3 
+0x2404 003767 call slave_receive_access 
+0x2405 003768 branch roles_got_fhs_reply ,sync 
+0x2406 003769 call shutdown_radio 
+0x2407 003770 call new_conn_timeout 
+0x2408 003771 nbranch roles_sendfhs_loop ,blank 
+0x2409 003772 rtnmark0 mark_accept_switch 
+0x240a 003773 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x240b 003774 set1 mark_switch_initiated ,mark 
+0x240c 003775 rtn 
+:      003776 roles_got_fhs_reply:
+0x240d 003777 enable clknt 
+0x240e 003778 call prepare_newconn 
+0x240f 003779 call afh_clear 
+:      003780 roles_newconn_loop:
+0x2410 003781 bpatch patch08_2 ,mem_patch08 
+0x2411 003782 call master_newconn_once 
+0x2412 003783 branch roles_newconn_responded ,sync 
+0x2413 003784 call new_conn_timeout 
+0x2414 003785 nbranch roles_newconn_loop ,blank 
+0x2415 003786 disable clknt 
+0x2416 003787 deposit clke_bt 
+0x2417 003788 store 4 ,mem_next_btclk 
+0x2418 003789 rtn 
+:      003790 roles_newconn_responded:
+0x2419 003791 enable master 
+0x241a 003792 bmark0 mark_accept_switch ,roles_newconn_nolmp 
+0x241b 003793 set0 mark_accept_switch ,mark 
+0x241c 003794 jam lmp_accepted ,mem_lmo_opcode2 
+0x241d 003795 jam lmp_host_connection_req ,mem_lmi_opcode2 
+0x241e 003796 call tid_set_reply 
+:      003797 roles_newconn_nolmp:
+0x241f 003798 deposit am_addr 
+0x2420 003799 store 1 ,mem_amaddr 
+0x2421 003800 force 0 ,pdata 
+0x2422 003801 store 6 ,mem_clk_offset 
+0x2423 003802 fetch 1 ,mem_mode 
+0x2424 003803 set1 mode_master ,pdata 
+0x2425 003804 store 1 ,mem_mode 
+0x2426 003805 call supervision_flush 
+0x2427 003806 disable master 
+0x2428 003807 enable user 
+0x2429 003808 rtn 
+:      003812 init_rx_packet_flags:
+0x242a 003813 bpatch patch08_3 ,mem_patch08 
+0x242b 003814 disable match 
+0x242c 003815 set0 mark_loopback ,mark 
+0x242d 003816 set0 mark_am_addr_broadcast ,mark 
+0x242e 003817 set0 mark_longpacket ,mark 
+0x242f 003818 set0 mark_old_packet ,mark 
+0x2430 003819 fetch 1 ,mem_arq 
+0x2431 003820 set0 arqnx ,pdata 
+0x2432 003821 set1 flowx ,pdata 
+0x2433 003822 store 1 ,mem_arq 
+0x2434 003823 rtn 
+:      003825 prepare_newconn:
+0x2435 003826 bpatch patch08_4 ,mem_patch08 
+0x2436 003827 jam param_newconnto ,mem_newconnto_counter 
+0x2437 003828 jam param_newconn_arq ,mem_arq 
+0x2438 003829 fetch 2 ,mem_rx_window_init 
+0x2439 003830 store 2 ,mem_rx_window 
+0x243a 003831 deposit clkn_bt 
+0x243b 003832 store 4 ,mem_next_btclk 
+0x243c 003833 rtn clknt 
+0x243d 003834 deposit clke_bt 
+0x243e 003835 store 4 ,mem_next_btclk 
+0x243f 003836 rtn 
+:      003838 newconn_init:
+0x2440 003839 bpatch patch08_5 ,mem_patch08 
+0x2441 003840 call init_lmp_reinit 
+0x2442 003841 call new_conn_handle 
+0x2443 003842 store 1 ,mem_conn_handle 
+0x2444 003843 setarg 0 
+0x2445 003844 store 2 ,mem_l2cap_rxbuff1_len 
+0x2446 003845 setarg param_supervision_to 
+0x2447 003846 store 2 ,mem_supervision_to 
+0x2448 003847 fetch 1 ,mem_state 
+0x2449 003848 set1 state_inconn ,pdata 
+0x244a 003849 store 1 ,mem_state 
+0x244b 003850 jam 0 ,mem_op 
+0x244c 003851 jam 0 ,mem_state_map 
+0x244d 003852 jam 0 ,mem_lpm_current_mult 
+0x244e 003853 branch supervision_flush 
+:      003856 clear_linkkey:
+0x244f 003857 bpatch patch08_6 ,mem_patch08 
+0x2450 003858 force 0 ,pdata 
+0x2451 003859 store 8 ,mem_link_key 
+0x2452 003860 istore 8 ,contw 
+0x2453 003861 call clear_linkstate 
+0x2454 003862 branch context_traverse_linkkey 
+:      003864 new_conn_timeout:
+0x2455 003865 fetch 1 ,mem_newconnto_counter 
+0x2456 003866 increase -1 ,pdata 
+0x2457 003867 store 1 ,mem_newconnto_counter 
+0x2458 003868 rtn 
+:      003870 new_conn_handle:
+0x2459 003871 fetch 1 ,mem_handle_num 
+0x245a 003872 increase 1 ,pdata 
+0x245b 003873 store 1 ,mem_handle_num 
+0x245c 003874 rtn 
+:      003877 quit_connection:
+0x245d 003878 bpatch patch08_7 ,mem_patch08 
+0x245e 003879 fetch 1 ,mem_hci_cmd 
+0x245f 003880 beq hci_cmd_remote_name_req ,quit_connection_name 
+0x2460 003881 fetch 1 ,mem_lmp_to_send 
+0x2461 003882 bne lmp_name_req ,quit_connection_cont 
+:      003883 quit_connection_name:
+0x2462 003884 call cmd_check_plap 
+0x2463 003885 nbranch quit_connection_cont ,zero 
+0x2464 003886 call master_name_error 
+0x2465 003887 jam 0 ,mem_hci_cmd 
+:      003888 quit_connection_cont:
+0x2466 003889 bpatch patch09_0 ,mem_patch09 
+0x2467 003890 call app_disconn_reason_collect_bt 
+0x2468 003891 call sniff_exit 
+0x2469 003892 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+0x246a 003893 call ui_ipc_send_event 
+0x246b 003894 call init_lmp_work 
+0x246c 003895 call l2cap_init_work 
+0x246d 003896 call sp_initialize 
+0x246e 003897 fetch 1 ,mem_state 
+0x246f 003898 set0 state_inconn 
+0x2470 003899 store 1 ,mem_state 
+0x2471 003900 jam 0 ,memui_reconnect_mode 
+0x2472 003902 fetch 1 ,mem_state_map 
+0x2473 003903 compare 0x0 ,pdata ,0xc0 
+0x2474 003904 branch quit_connection_not_clear_mark ,true 
+0x2475 003905 set0 mark_rxbuf_inuse ,mark 
+:      003906 quit_connection_not_clear_mark:
+0x2476 003907 fetch 1 ,mem_arq 
+0x2477 003908 bbit0 wack ,quit_connection_not_clear_tx 
+:      003909 quit_connection_not_clear_tx:
+0x2478 003910 fetch 1 ,mem_op 
+0x2479 003911 rtnbit0 op_txl2cap 
+0x247a 003912 set0 mark_tx_l2cap ,mark 
+0x247b 003913 rtn 
+:      003915 slave_newconn_once:
+0x247c 003916 bpatch patch09_1 ,mem_patch09 
+0x247d 003917 fetch 1 ,extm_newconn_am_addr 
+0x247e 003918 rtn blank 
+0x247f 003919 icopy am_addr 
+0x2480 003920 call slave_conn_recv_packet 
+0x2481 003921 nrtn match 
+0x2482 003922 force type_null ,type 
+0x2483 003923 call slave_conn_send_packet 
+0x2484 003924 deposit am_addr 
+0x2485 003925 store 1 ,mem_amaddr 
+0x2486 003926 force 0 ,pdata 
+0x2487 003927 store 1 ,extm_newconn_am_addr 
+0x2488 003928 rtn 
+:      003934 prepare_tx:
+0x2489 003935 bpatch patch09_2 ,mem_patch09 
+0x248a 003936 fetch 1 ,mem_state 
+0x248b 003937 bbit0 state_insco ,prepare_tx_not_sco 
+0x248c 003938 force type_hv3 ,type 
+0x248d 003939 bmark0 mark_esco ,prepare_tx_not_esco 
+0x248e 003940 call check_esco_amaddr 
+0x248f 003941 nbranch prepare_tx_not_sco ,true 
+0x2490 003942 branch prepare_tx_not_sco ,attempt 
+0x2491 003943 call set_wait_ack 
+0x2492 003944 setarg 2 
+0x2493 003945 store 2 ,mem_retransmission_cnt 
+0x2494 003946 rtn 
+:      003947 prepare_tx_not_esco:
+0x2495 003948 nrtn attempt 
+:      003949 prepare_tx_not_sco:
+0x2496 003950 bpatch patch09_3 ,mem_patch09 
+0x2497 003951 call context_check_all_wack 
+0x2498 003952 nbranch prepare_tx_no_retransmit ,zero 
+0x2499 003953 fetch 1 ,mem_arq 
+0x249a 003954 bbit0 wack ,prepare_tx_pollnull 
+:      003955 prepare_tx_retransmit:
+0x249b 003956 bmark1 mark_loopback ,prepare_tx_loopback 
+0x249c 003957 fetch 1 ,mem_debug_config 
+0x249d 003958 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+0x249e 003959 fetch 2 ,mem_retransmission_cnt 
+0x249f 003960 increase -1 ,pdata 
+0x24a0 003961 store 2 ,mem_retransmission_cnt 
+0x24a1 003962 branch prepare_tx_nomore_retransmit ,blank 
+0x24a2 003963 fetch 1 ,mem_last_type 
+0x24a3 003964 iforce type 
+0x24a4 003965 rtn 
+:      003967 prepare_tx_nomore_retransmit:
+0x24a5 003968 bpatch patch09_4 ,mem_patch09 
+0x24a6 003969 call clear_got_tx 
+:      003970 prepare_tx_no_retransmit:
+0x24a7 003971 call check_esco_amaddr 
+0x24a8 003972 branch prepare_tx_pollnull ,true 
+0x24a9 003973 call send_lmp 
+0x24aa 003974 branch prepare_tx_sendlmp ,user 
+0x24ab 003975 fetch 1 ,mem_op 
+0x24ac 003976 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+0x24ad 003977 bmark1 mark_loopback ,prepare_tx_loopback 
+0x24ae 003978 fetch 1 ,mem_debug_config 
+0x24af 003979 bbit1 debug_tx_pattern ,prepare_tx_txpat 
+:      003980 prepare_tx_pollnull:
+0x24b0 003981 force type_poll ,type 
+0x24b1 003982 rtn master 
+0x24b2 003983 force type_null ,type 
+0x24b3 003984 rtn 
+:      003985 prepare_tx_loopback:
+0x24b4 003986 bpatch patch09_5 ,mem_patch09 
+0x24b5 003987 fetch 1 ,mem_rx_type 
+0x24b6 003988 iforce type 
+0x24b7 003989 rtnne 1 
+0x24b8 003990 force type_null ,type 
+0x24b9 003991 rtn 
+:      003992 prepare_tx_txpat:
+0x24ba 003993 fetch 1 ,test_mode_packet_type 
+0x24bb 003994 and pdata ,0xf ,type 
+0x24bc 003995 set1 mark_loopback ,mark 
+0x24bd 003996 rtn 
+:      003997 prepare_tx_sendlmp:
+0x24be 003998 force type_lmp ,type 
+0x24bf 003999 branch set_wait_ack 
+:      004000 prepare_tx_sendl2cap:
+0x24c0 004001 call tx_l2cap_type 
+:      004003 set_wait_ack:
+0x24c1 004004 bpatch patch09_6 ,mem_patch09 
+0x24c2 004005 fetcht 1 ,mem_arq 
+0x24c3 004006 set1 wack ,temp 
+0x24c4 004007 storet 1 ,mem_arq 
+0x24c5 004008 deposit type 
+0x24c6 004009 store 1 ,mem_last_type 
+0x24c7 004010 setarg 0xffff 
+0x24c8 004011 store 2 ,mem_retransmission_cnt 
+0x24c9 004012 rtn 
+:      004014 tx_l2cap_type:
+0x24ca 004015 bpatch patch09_7 ,mem_patch09 
+0x24cb 004016 fetch 1 ,mem_state_map 
+0x24cc 004017 isolate1 smap_edr ,pdata 
+0x24cd 004018 fetch 2 ,mem_tx_len 
+0x24ce 004019 branch tx_l2cap_type_edr ,true 
+0x24cf 004020 force type_dm1 ,type 
+0x24d0 004021 sub pdata ,17 ,null 
+0x24d1 004022 rtn positive 
+0x24d2 004023 force type_dh1 ,type 
+0x24d3 004024 sub pdata ,27 ,null 
+0x24d4 004025 rtn positive 
+0x24d5 004026 force type_dm3 ,type 
+0x24d6 004027 sub pdata ,121 ,null 
+0x24d7 004028 rtn positive 
+0x24d8 004029 force type_dh3 ,type 
+0x24d9 004030 sub pdata ,183 ,null 
+0x24da 004031 rtn positive 
+0x24db 004032 force type_dm5 ,type 
+0x24dc 004033 sub pdata ,224 ,null 
+0x24dd 004034 rtn positive 
+0x24de 004035 force type_dh5 ,type 
+0x24df 004036 rtn 
+:      004037 tx_l2cap_type_edr:
+0x24e0 004038 force type_dm1 ,type 
+0x24e1 004039 sub pdata ,17 ,null 
+0x24e2 004040 rtn positive 
+0x24e3 004041 force type_dh1 ,type 
+0x24e4 004042 sub pdata ,54 ,null 
+0x24e5 004043 rtn positive 
+0x24e6 004044 force type_dm3 ,type 
+0x24e7 004045 arg 367 ,temp 
+0x24e8 004046 isub temp ,null 
+0x24e9 004047 nrtn positive 
+0x24ea 004048 force type_dm5 ,type 
+0x24eb 004049 arg 679 ,temp 
+0x24ec 004050 isub temp ,null 
+0x24ed 004051 nrtn positive 
+0x24ee 004052 force type_dh5 ,type 
+0x24ef 004053 rtn 
+:      004062 slave_receive_master_slot:
+0x24f0 004063 fetch 1 ,mem_state 
+0x24f1 004064 bbit0 state_insniff ,slave_receive_notsniff 
+0x24f2 004065 fetch 2 ,mem_tsniff 
+0x24f3 004066 branch slave_receive_notsniff ,blank 
+0x24f4 004067 nbranch slave_receive_sniff ,attempt 
+:      004068 slave_receive_notsniff:
+0x24f5 004069 call rf_setup_time_master_slot 
+:      004070 slave_receive_access:
+0x24f6 004071 add clke_bt ,1 ,bt_clk 
+:      004072 slave_receive_sniff:
+0x24f7 004073 enable swfine 
+0x24f8 004074 fetch 2 ,mem_rx_window 
+0x24f9 004075 rshift pdata ,pdata 
+0x24fa 004076 arg param_pll_setup ,temp 
+0x24fb 004077 iadd temp ,pdata 
+0x24fc 004078 call ahead_window 
+0x24fd 004079 call fetch_extm_bt_adr 
+0x24fe 004080 force 0x03 ,freq_mode 
+0x24ff 004081 call rx_radio_freq 
+0x2500 004082 call init_rx_packet_flags 
+0x2501 004083 call prep_crypt 
+0x2502 004084 bpatch patch0a_0 ,mem_patch0a 
+0x2503 004085 fetch 2 ,mem_rx_window 
+0x2504 004086 rshift pdata ,pdata 
+0x2505 004087 call ahead_window 
+0x2506 004088 call start_receiver 
+0x2507 004089 enable decode_fec0 
+0x2508 004090 fetch 2 ,mem_rx_window 
+0x2509 004091 arg param_clke_cal ,temp 
+0x250a 004092 iadd temp ,stop_watch 
+0x250b 004093 correlate null ,timeout 
+0x250c 004094 copy clke ,temp 
+0x250d 004095 storet 6 ,mem_sync_clke 
+0x250e 004096 disable decode_fec0 
+0x250f 004097 nrtn sync 
+0x2510 004098 arg param_clke_cal ,clke_rt 
+0x2511 004099 copy bt_clk ,clke_bt 
+0x2512 004100 branch lpm_adjust_clk ,wake 
+0x2513 004101 rtn 
+:      004104 slave_conn_recv_packet:
+0x2514 004105 bpatch patch0a_1 ,mem_patch0a 
+0x2515 004106 call slave_receive_master_slot 
+0x2516 004107 nbranch shutdown_radio ,sync 
+0x2517 004108 call save_rssi 
+0x2518 004109 bmark0 mark_testmode ,receive_packet 
+0x2519 004110 fetch 2 ,mem_tst_pktcnt_sync 
+0x251a 004111 increase 1 ,pdata 
+0x251b 004112 store 2 ,mem_tst_pktcnt_sync 
+:      004113 receive_packet:
+0x251c 004114 rshift bt_clk ,temp 
+0x251d 004115 or temp ,0x40 ,white_init 
+:      004116 receive_packet_whitened:
+0x251e 004117 bpatch patch0a_2 ,mem_patch0a 
+0x251f 004118 enable enable_white 
+0x2520 004119 enable enable_hec 
+0x2521 004120 enable decode_fec1 
+0x2522 004121 parse demod ,bucket ,3 
+0x2523 004122 rshift8 pwindow ,pdata 
+0x2524 004123 store 1 ,mem_temp_am_addr 
+0x2525 004124 parse demod ,bucket ,4 
+0x2526 004125 inject bucket ,7 
+0x2527 004126 copy pwindow ,pdata 
+0x2528 004127 store 1 ,mem_rx_type 
+0x2529 004128 parse demod ,bucket ,3 
+0x252a 004129 rshift8 pwindow ,pdata 
+0x252b 004130 store 1 ,mem_temp_arq 
+0x252c 004131 fetch 1 ,mem_rx_type 
+0x252d 004132 sub pdata ,3 ,null 
+0x252e 004133 branch receive_packet_noedr ,positive 
+0x252f 004134 beq 7 ,receive_packet_noedr 
+0x2530 004135 fetch 1 ,mem_state_map 
+0x2531 004136 isolate1 smap_edr ,pdata 
+0x2532 004137 setflag true ,psk ,radio_ctrl 
+:      004138 receive_packet_noedr:
+0x2533 004139 bpatch patch0a_3 ,mem_patch0a 
+0x2534 004140 parse demod ,bucket ,8 
+0x2535 004141 disable decode_fec1 
+0x2536 004142 disable enable_hec 
+0x2537 004143 branch error_header ,crc_failed 
+0x2538 004144 bmark0 mark_testmode ,receive_packet_amchk 
+0x2539 004145 fetch 2 ,mem_tst_pktcnt_hec 
+0x253a 004146 increase 1 ,pdata 
+0x253b 004147 store 2 ,mem_tst_pktcnt_hec 
+:      004148 receive_packet_amchk:
+0x253c 004149 bpatch patch0a_4 ,mem_patch0a 
+0x253d 004150 fetch 1 ,mem_temp_am_addr 
+0x253e 004151 compare 0 ,pdata ,0x07 
+0x253f 004152 setflag true ,mark_am_addr_broadcast ,mark 
+0x2540 004153 branch am_addr_ok ,true 
+0x2541 004154 icompare 0x07 ,am_addr 
+0x2542 004155 branch am_addr_match ,true 
+0x2543 004156 bmark0 mark_esco ,end_of_packet 
+0x2544 004157 fetcht 1 ,mem_saved_amaddr 
+0x2545 004158 icompare 0x7 ,temp 
+0x2546 004159 nbranch end_of_packet ,true 
+0x2547 004160 fetch 1 ,mem_arq 
+0x2548 004161 set0 arqnx ,pdata 
+0x2549 004162 set1 flowx ,pdata 
+0x254a 004163 store 1 ,mem_arq 
+:      004164 am_addr_match:
+0x254b 004165 enable match 
+:      004166 am_addr_ok:
+0x254c 004167 bpatch patch0a_5 ,mem_patch0a 
+0x254d 004168 fetch 1 ,mem_rx_type 
+0x254e 004169 icopy type 
+0x254f 004170 bmark1 mark_am_addr_broadcast ,arqn_bypass 
+0x2550 004171 fetcht 1 ,mem_temp_arq 
+0x2551 004172 fetch 1 ,mem_arq 
+0x2552 004173 set0 flow ,pdata 
+0x2553 004174 isolate1 flow ,temp 
+0x2554 004175 setflag true ,flow ,pdata 
+0x2555 004176 isolate1 arqn ,temp 
+0x2556 004177 setflag true ,arqn ,pdata 
+0x2557 004178 store 1 ,mem_arq 
+0x2558 004179 isolate0 arqn ,temp 
+0x2559 004180 branch arqn_bypass ,true 
+0x255a 004181 call clear_got_tx 
+:      004182 arqn_bypass:
+0x255b 004183 bpatch patch0a_6 ,mem_patch0a 
+0x255c 004184 arg 0 ,temp 
+0x255d 004185 call reserve_slot 
+0x255e 004186 and type ,0xf ,pdata 
+0x255f 004187 beq type_poll ,process_poll 
+0x2560 004188 beq type_null ,end_of_packet 
+0x2561 004189 beq type_fhs ,process_fhs 
+0x2562 004190 fetcht 1 ,mem_temp_arq 
+0x2563 004191 fetch 1 ,mem_arq 
+0x2564 004192 icompare 0x04 ,temp 
+0x2565 004193 nbranch rx_type_dispatch ,true 
+0x2566 004194 bmark0 mark_am_addr_broadcast ,failed_seqn 
+0x2567 004195 bbit0 bcast1 ,rx_type_dispatch 
+:      004196 failed_seqn:
+0x2568 004197 set1 mark_old_packet ,mark 
+:      004198 rx_type_dispatch:
+0x2569 004199 bpatch patch0a_7 ,mem_patch0a 
+0x256a 004200 deposit type 
+0x256b 004201 beq type_dm1 ,process_dm1 
+0x256c 004202 beq type_dh1 ,process_dh1 
+0x256d 004203 beq type_hv3 ,process_hev 
+0x256e 004204 beq type_3dh1 ,process_3dh1 
+0x256f 004205 arg 4 ,temp 
+0x2570 004206 call reserve_slot 
+0x2571 004207 beq type_dm3 ,process_dm3 
+0x2572 004208 beq type_dh3 ,process_dh3 
+0x2573 004209 arg 8 ,temp 
+0x2574 004210 call reserve_slot 
+0x2575 004211 beq type_dm5 ,process_dm5 
+0x2576 004212 beq type_dh5 ,process_dh5 
+0x2577 004213 rtn 
+:      004216 process_hev:
+0x2578 004217 bpatch patch0b_0 ,mem_patch0b 
+0x2579 004218 enable decode_fec0 
+0x257a 004219 enable enable_crc 
+0x257b 004220 enable encrypt 
+0x257c 004221 arg mem_sco_ibuf ,contw 
+0x257d 004222 force 30 ,loopcnt 
+:      004223 process_hev_loop:
+0x257e 004224 parse demod ,bucket ,8 
+0x257f 004225 rshift3 pwindow ,pdata 
+0x2580 004226 istore 1 ,contw 
+0x2581 004227 loop process_hev_loop 
+0x2582 004228 bmark0 mark_esco ,end_of_packet 
+0x2583 004229 parse demod ,bucket ,16 
+0x2584 004230 nsetflag crc_failed ,mark_esco_rxok ,mark 
+0x2585 004231 branch error_payload ,crc_failed 
+0x2586 004232 branch ack_payload 
+:      004235 process_poll:
+0x2587 004236 branch end_of_packet 
+:      004238 process_dm3:
+:      004239 process_dm5:
+0x2588 004240 set1 mark_longpacket ,mark 
+:      004241 process_dm1:
+0x2589 004242 enable decode_fec2 
+0x258a 004243 branch process_dmh 
+:      004245 process_dh3:
+:      004246 process_dh5:
+0x258b 004247 set1 mark_longpacket ,mark 
+:      004248 process_3dh1:
+0x258c 004249 set1 psk3m ,radio_ctrl 
+:      004250 process_dh1:
+0x258d 004251 enable decode_fec0 
+:      004252 process_dmh:
+0x258e 004253 bpatch patch0b_1 ,mem_patch0b 
+0x258f 004254 bmark1 mark_rxbuf_inuse ,end_of_packet 
+0x2590 004255 isolate0 psk ,radio_ctrl 
+0x2591 004256 branch process_dmh_noedr ,true 
+0x2592 004257 disable enable_white 
+0x2593 004258 enable decode_fec0 
+0x2594 004259 disable decode_fec2 
+0x2595 004260 add clkn_bt ,2 ,timeup 
+0x2596 004261 correlate clkn_bt ,meet 
+0x2597 004262 nbranch error_payload ,sync 
+0x2598 004263 set1 mark_longpacket ,mark 
+0x2599 004264 enable enable_white 
+:      004265 process_dmh_noedr:
+0x259a 004266 bpatch patch0b_2 ,mem_patch0b 
+0x259b 004267 enable encrypt 
+0x259c 004268 enable enable_crc 
+0x259d 004269 parse demod ,bucket ,3 
+0x259e 004270 rshift8 pwindow ,pdata 
+0x259f 004271 store 1 ,mem_lch_code 
+0x25a0 004272 parse demod ,bucket ,5 
+0x25a1 004273 bmark1 mark_longpacket ,process_dmh_long 
+0x25a2 004274 rshift3 pwindow ,loopcnt 
+0x25a3 004275 rshift3 loopcnt ,loopcnt 
+0x25a4 004276 branch process_dmh_common 
+:      004277 process_dmh_long:
+0x25a5 004278 parse demod ,bucket ,5 
+0x25a6 004279 rshift pwindow ,loopcnt 
+0x25a7 004280 parse demod ,bucket ,3 
+:      004281 process_dmh_common:
+0x25a8 004282 bpatch patch0b_3 ,mem_patch0b 
+0x25a9 004283 deposit loopcnt 
+0x25aa 004284 store 2 ,mem_len 
+0x25ab 004285 branch process_dmh_data_end ,blank 
+0x25ac 004286 isub mask3ff ,null 
+0x25ad 004287 branch error_payload ,positive 
+0x25ae 004288 bpatch patch0b_4 ,mem_patch0b 
+0x25af 004289 set0 mark_fhs_eir ,mark 
+0x25b0 004290 fetch 1 ,mem_lch_code 
+0x25b1 004291 and_into 0x03 ,pdata 
+0x25b2 004292 arg mem_rxbuf ,contw 
+0x25b3 004293 beq llid_lmp ,process_lmp 
+0x25b4 004294 bmark1 mark_testmode ,process_dmh_data 
+0x25b5 004296 fetch 1 ,mem_lch_code 
+0x25b6 004297 and_into 0x03 ,pdata 
+0x25b7 004298 beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+0x25b8 004299 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+0x25b9 004300 branch error_payload 
+:      004302 process_lmp:
+0x25ba 004303 fetch 2 ,mem_len 
+0x25bb 004304 sub pdata ,0x70 ,null 
+0x25bc 004305 nbranch error_payload ,positive 
+0x25bd 004306 bmark1 mark_old_packet ,ack_payload 
+0x25be 004307 branch process_dmh_data 
+:      004310 process_dmh_data_l2cap_start_pkt:
+0x25bf 004311 bpatch patch0b_5 ,mem_patch0b 
+0x25c0 004312 bmark1 mark_old_packet ,ack_payload 
+0x25c1 004313 fetch 2 ,mem_len 
+0x25c2 004314 arg 0x2e0 ,temp 
+0x25c3 004315 isub temp ,null 
+0x25c4 004316 branch error_payload ,positive 
+0x25c5 004317 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x25c6 004318 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+0x25c7 004319 bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+0x25c8 004320 branch end_of_packet 
+:      004321 process_dmh_data_into_buff1:
+0x25c9 004322 jam 1 ,mem_l2cap_rxbuff_new 
+0x25ca 004323 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25cb 004324 bne 0 ,end_of_packet 
+0x25cc 004325 arg mem_l2cap_rxbuff1 ,contw 
+0x25cd 004326 branch process_dmh_data 
+:      004327 process_dmh_data_into_buff2:
+0x25ce 004328 jam 2 ,mem_l2cap_rxbuff_new 
+0x25cf 004329 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x25d0 004330 bne 0 ,end_of_packet 
+0x25d1 004331 arg mem_l2cap_rxbuff2 ,contw 
+0x25d2 004332 branch process_dmh_data 
+:      004334 process_dmh_data_l2cap_continue_pkt:
+0x25d3 004335 bpatch patch0b_6 ,mem_patch0b 
+0x25d4 004336 bmark1 mark_old_packet ,ack_payload 
+0x25d5 004337 fetch 2 ,mem_len 
+0x25d6 004338 arg 0x2e0 ,temp 
+0x25d7 004339 isub temp ,null 
+0x25d8 004340 branch error_payload ,positive 
+0x25d9 004341 fetch 1 ,mem_l2cap_rxbuff_new 
+0x25da 004342 beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+0x25db 004343 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+0x25dc 004344 branch end_of_packet 
+:      004345 process_dmh_data_l2cap_continue_pkt1:
+0x25dd 004346 arg mem_l2cap_rxbuff1 ,contw 
+0x25de 004347 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25df 004348 iadd contw ,contw 
+0x25e0 004349 branch process_dmh_data 
+:      004350 process_dmh_data_l2cap_continue_pkt2:
+0x25e1 004351 arg mem_l2cap_rxbuff2 ,contw 
+0x25e2 004352 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x25e3 004353 iadd contw ,contw 
+:      004354 process_dmh_data:
+0x25e4 004355 parse demod ,bucket ,8 
+0x25e5 004356 rshift3 pwindow ,pdata 
+0x25e6 004357 istore 1 ,contw 
+0x25e7 004358 loop process_dmh_data 
+:      004359 process_dmh_data_end:
+0x25e8 004360 bpatch patch0b_7 ,mem_patch0b 
+0x25e9 004361 parse demod ,bucket ,16 
+0x25ea 004362 branch error_payload_crc ,crc_failed 
+0x25eb 004363 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+0x25ec 004364 beq l2cap_flow_ctrl_enable ,end_of_packet 
+0x25ed 004365 bmark1 mark_testmode ,process_dmh_cont 
+0x25ee 004366 bmark1 mark_old_packet ,redundant_payload 
+0x25ef 004367 fetch 1 ,mem_lch_code 
+0x25f0 004368 compare 3 ,pdata ,3 
+0x25f1 004369 branch process_dmh_cont ,true 
+0x25f2 004370 fetch 2 ,mem_len 
+0x25f3 004371 branch process_dmh_cont ,blank 
+0x25f4 004372 bpatch patch0c_0 ,mem_patch0c 
+0x25f5 004373 fetch 1 ,mem_l2cap_rxbuff_new 
+0x25f6 004374 beq 1 ,process_l2cap_pass_crc_buff1 
+0x25f7 004375 beq 2 ,process_l2cap_pass_crc_buff2 
+0x25f8 004376 branch assert 
+:      004377 process_l2cap_pass_crc_buff1:
+0x25f9 004378 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x25fa 004379 fetcht 2 ,mem_len 
+0x25fb 004380 iadd temp ,pdata 
+0x25fc 004381 store 2 ,mem_l2cap_rxbuff1_len 
+0x25fd 004382 beq 0 ,assert 
+0x25fe 004383 fetcht 2 ,mem_l2cap_rxbuff1 
+0x25ff 004384 increase 4 ,temp 
+0x2600 004385 isub temp ,null 
+0x2601 004386 call l2cap_buff1_inuse ,zero 
+0x2602 004387 branch process_dmh_cont 
+:      004388 process_l2cap_pass_crc_buff2:
+0x2603 004389 fetch 2 ,mem_l2cap_rxbuff2_len 
+0x2604 004390 fetcht 2 ,mem_len 
+0x2605 004391 iadd temp ,pdata 
+0x2606 004392 store 2 ,mem_l2cap_rxbuff2_len 
+0x2607 004393 beq 0 ,assert 
+0x2608 004394 fetcht 2 ,mem_l2cap_rxbuff2 
+0x2609 004395 add temp ,4 ,temp 
+0x260a 004396 isub temp ,null 
+0x260b 004397 call l2cap_buff2_inuse ,zero 
+0x260c 004398 branch process_dmh_cont 
+:      004399 process_dmh_cont:
+0x260d 004400 bpatch patch0c_1 ,mem_patch0c 
+0x260e 004401 fetcht 1 ,mem_state_map 
+0x260f 004402 fetch 1 ,mem_lch_code 
+0x2610 004403 compare 3 ,pdata ,0x03 
+0x2611 004404 setflag true ,smap_rxlmp ,temp 
+0x2612 004405 nsetflag true ,smap_rxl2cap ,temp 
+0x2613 004406 storet 1 ,mem_state_map 
+0x2614 004407 nbranch process_dmh_cont_rxbuf_not_use ,true 
+0x2615 004408 set1 mark_rxbuf_inuse ,mark 
+:      004409 process_dmh_cont_rxbuf_not_use:
+0x2616 004410 bmark0 mark_testmode ,ack_payload 
+0x2617 004411 isolate1 smap_rxlmp ,temp 
+0x2618 004412 branch ack_payload ,true 
+0x2619 004413 fetch 2 ,mem_tst_pktcnt_crc 
+0x261a 004414 increase 1 ,pdata 
+0x261b 004415 store 2 ,mem_tst_pktcnt_crc 
+0x261c 004416 set1 mark_loopback ,mark 
+0x261d 004417 set0 smap_rxl2cap ,temp 
+0x261e 004418 set0 mark_rxbuf_inuse ,mark 
+0x261f 004419 storet 1 ,mem_state_map 
+:      004420 ack_payload:
+0x2620 004421 bpatch patch0c_2 ,mem_patch0c 
+0x2621 004422 fetcht 1 ,mem_temp_arq 
+0x2622 004423 fetch 1 ,mem_arq 
+0x2623 004424 set1 arqnx ,pdata 
+0x2624 004425 isolate1 seqn ,temp 
+0x2625 004426 setflag true ,seqn ,pdata 
+0x2626 004427 isolate1 mark_am_addr_broadcast ,mark 
+0x2627 004428 setflag true ,bcast1 ,pdata 
+0x2628 004429 store 1 ,mem_arq 
+0x2629 004430 fetch 2 ,mem_len 
+0x262a 004431 nbranch end_of_packet ,blank 
+0x262b 004432 fetch 1 ,mem_state_map 
+0x262c 004433 set0 smap_rxl2cap ,pdata 
+0x262d 004434 store 1 ,mem_state_map 
+0x262e 004435 fetch 1 ,mem_lch_code 
+0x262f 004436 compare 0x01 ,pdata ,0x07 
+0x2630 004438 branch end_of_packet 
+:      004440 error_header:
+0x2631 004441 bpatch patch0c_3 ,mem_patch0c 
+0x2632 004442 disable match 
+0x2633 004443 fetch 2 ,mem_rx_hec_err 
+0x2634 004444 increase 1 ,pdata 
+0x2635 004445 store 2 ,mem_rx_hec_err 
+0x2636 004446 branch end_of_packet 
+:      004447 error_payload_crc:
+0x2637 004448 fetch 2 ,mem_rx_crc_err 
+0x2638 004449 increase 1 ,pdata 
+0x2639 004450 store 2 ,mem_rx_crc_err 
+0x263a 004451 call discard_pkt 
+0x263b 004452 bmark0 mark_testmode ,error_payload 
+0x263c 004453 set1 mark_loopback ,mark 
+:      004454 error_payload:
+0x263d 004455 branch end_of_packet 
+:      004457 discard_pkt:
+0x263e 004458 bpatch patch0c_4 ,mem_patch0c 
+0x263f 004459 fetch 1 ,mem_lch_code 
+0x2640 004460 compare 3 ,pdata ,0x03 
+0x2641 004461 nbranch discard_pkt_l2cap ,true 
+:      004462 discard_pkt_lmp:
+0x2642 004463 fetcht 1 ,mem_state_map 
+0x2643 004464 set0 smap_rxlmp ,temp 
+0x2644 004465 storet 1 ,mem_state_map 
+0x2645 004466 rtn 
+:      004467 discard_pkt_l2cap:
+0x2646 004470 fetcht 1 ,mem_state_map 
+0x2647 004471 set0 smap_rxl2cap ,temp 
+0x2648 004472 storet 1 ,mem_state_map 
+0x2649 004473 branch h4_send_acl_trigger_clear 
+:      004475 redundant_payload:
+0x264a 004476 fetch 1 ,mem_arq 
+0x264b 004477 set1 arqnx ,pdata 
+0x264c 004478 store 1 ,mem_arq 
+:      004479 end_of_packet:
+0x264d 004480 bpatch patch0c_5 ,mem_patch0c 
+0x264e 004481 disable encode_fec0 
+0x264f 004482 disable encode_fec2 
+0x2650 004483 disable decode_fec0 
+0x2651 004484 disable decode_fec2 
+0x2652 004485 disable enable_crc 
+0x2653 004486 disable encrypt 
+0x2654 004487 disable enable_white 
+0x2655 004488 branch shutdown_radio ,is_rx 
+0x2656 004489 until null ,tx_clear 
+0x2657 004490 nop 100 
+0x2658 004491 branch shutdown_radio 
+:      004493 process_fhs:
+0x2659 004494 bpatch patch0c_6 ,mem_patch0c 
+0x265a 004495 enable enable_crc 
+0x265b 004496 enable decode_fec2 
+0x265c 004497 parse demod ,bucket ,72 
+0x265d 004498 isolate1 58 ,pdata 
+0x265e 004499 setflag true ,mark_fhs_eir ,mark 
+0x265f 004500 copy bt_adr ,temp 
+0x2660 004501 ialigned bt_adr 
+0x2661 004502 ialigned fhs0 
+0x2662 004503 pulse recalc 
+0x2663 004504 setsect 2 ,0xfffff 
+0x2664 004505 setsect 3 ,0x0ffff 
+0x2665 004506 nop 32 
+0x2666 004507 iverify fhs_parity 
+0x2667 004508 deposit lap 
+0x2668 004509 store 3 ,extm_lap 
+0x2669 004510 deposit uap 
+0x266a 004511 store 1 ,extm_uap 
+0x266b 004512 copy temp ,bt_adr 
+0x266c 004513 branch fhs_parity_ok ,true 
+0x266d 004514 branch error_payload 
+:      004515 fhs_parity_ok:
+0x266e 004516 bpatch patch0c_7 ,mem_patch0c 
+0x266f 004517 parse demod ,bucket ,72 
+0x2670 004518 ialigned fhs1 
+0x2671 004519 ialigned am_addr 
+0x2672 004520 ialigned nap 
+0x2673 004521 ialigned regb 
+0x2674 004522 force 0 ,pdata 
+0x2675 004523 parse demod ,bucket ,16 
+0x2676 004524 branch error_payload ,crc_failed 
+0x2677 004525 setarg 0x0ffffffc 
+0x2678 004526 iand regb ,pdata 
+0x2679 004527 store 4 ,mem_clke_bt 
+0x267a 004528 deposit fhs_class 
+0x267b 004529 store 3 ,extm_class 
+0x267c 004530 deposit fhs_misc 
+0x267d 004531 store 1 ,extm_fhs_misc 
+0x267e 004532 deposit am_addr 
+0x267f 004533 store 1 ,extm_newconn_am_addr 
+0x2680 004534 deposit nap 
+0x2681 004535 store 2 ,extm_nap 
+0x2682 004536 deposit bt_clk 
+0x2683 004537 inject rxf ,32 
+0x2684 004538 compare type_fhs ,type ,0x0f 
+0x2685 004539 setflag true ,mark_fhs_already_good ,mark 
+0x2686 004540 branch end_of_packet 
+:      004542 clear_got_tx:
+0x2687 004543 bpatch patch0d_0 ,mem_patch0d 
+0x2688 004544 fetch 1 ,mem_arq 
+0x2689 004545 rtnbit0 wack 
+0x268a 004546 set0 wack ,pdata 
+0x268b 004547 setflip seqnx ,pdata 
+0x268c 004548 store 1 ,mem_arq 
+0x268d 004549 fetch 1 ,mem_last_type 
+0x268e 004550 beq type_lmp ,clear_got_txlmp 
+0x268f 004551 rtneq type_hv3 
+0x2690 004552 fetch 1 ,mem_op 
+0x2691 004553 rtnbit0 op_txl2cap ,pdata 
+0x2692 004554 set0 op_txl2cap ,pdata 
+0x2693 004555 set1 op_pkt_comp ,pdata 
+0x2694 004556 store 1 ,mem_op 
+0x2695 004557 set0 mark_tx_l2cap ,mark 
+0x2696 004558 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x2697 004559 nrtn blank 
+0x2698 004560 fetch 1 ,mem_op 
+0x2699 004561 set0 op_pkt_comp ,pdata 
+0x269a 004562 store 1 ,mem_op 
+0x269b 004563 branch l2cap_malloc_free 
+:      004565 clear_got_txlmp:
+0x269c 004566 bpatch patch0d_1 ,mem_patch0d 
+0x269d 004567 fetch 1 ,mem_lmo_header_opcode 
+0x269e 004568 rshift pdata ,pdata 
+0x269f 004569 beq lmp_start_encryption_req ,start_encryption 
+0x26a0 004570 beq lmp_stop_encryption_req ,stop_encryption 
+0x26a1 004571 beq lmp_unsniff_req ,sniff_exit 
+0x26a2 004572 beq lmp_escape ,clear_lmp_escape 
+0x26a3 004573 rtnne lmp_accepted 
+0x26a4 004574 fetch 1 ,mem_lmo_payload 
+0x26a5 004575 beq lmp_sco_link_req ,sco_link_req_by_slave 
+0x26a6 004576 beq lmp_start_encryption_req ,clear_send_setup_complete 
+0x26a7 004577 rtn 
+:      004579 clear_lmp_escape:
+0x26a8 004580 fetch 1 ,mem_lmo_payload 
+0x26a9 004581 set1 7 ,pdata 
+0x26aa 004582 rtn 
+:      004583 clear_send_setup_complete:
+0x26ab 004584 rtn master 
+0x26ac 004585 fetch 1 ,mem_state 
+0x26ad 004586 rtnbit1 state_conn_comp 
+0x26ae 004587 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x26af 004588 rtn 
+:      004591 sco_link_req_by_slave:
+0x26b0 004592 rtn master 
+0x26b1 004593 fetch 1 ,mem_mode 
+0x26b2 004594 isolate1 send_sco_when_slave ,pdata 
+0x26b3 004595 branch clean_mem_mode ,true 
+0x26b4 004597 rtn 
+:      004598 clean_mem_mode:
+0x26b5 004599 set0 send_sco_when_slave ,pdata 
+0x26b6 004600 store 1 ,mem_mode 
+0x26b7 004601 rtn 
+:      004603 start_encryption:
+0x26b8 004604 bpatch patch0d_2 ,mem_patch0d 
+0x26b9 004605 fetch 1 ,mem_state_map 
+0x26ba 004606 set1 smap_encryption ,pdata 
+0x26bb 004607 store 1 ,mem_state_map 
+0x26bc 004608 jam 1 ,core_encrypt 
+0x26bd 004609 fetch 1 ,mem_state 
+0x26be 004610 isolate1 state_conn_comp ,pdata 
+0x26bf 004611 rtn 
+:      004613 stop_encryption:
+0x26c0 004614 bpatch patch0d_3 ,mem_patch0d 
+0x26c1 004615 fetch 1 ,mem_state_map 
+0x26c2 004616 set0 smap_encryption ,pdata 
+0x26c3 004617 store 1 ,mem_state_map 
+0x26c4 004618 jam 0 ,core_encrypt 
+0x26c5 004619 rtn 
+:      004622 sniff_init:
+0x26c6 004623 bpatch patch0d_4 ,mem_patch0d 
+0x26c7 004624 copy clkn_bt ,pdata 
+0x26c8 004625 store 4 ,mem_lpm_delay_after_sniff 
+0x26c9 004626 add clkn_bt ,3 ,rega 
+0x26ca 004627 branch sniff_init_master ,master 
+0x26cb 004628 add clke_bt ,3 ,rega 
+:      004629 sniff_init_master:
+0x26cc 004630 fetcht 2 ,mem_tsniff 
+0x26cd 004631 deposit rega 
+0x26ce 004632 set0 27 ,pdata 
+0x26cf 004633 idiv temp 
+0x26d0 004634 fetch 2 ,mem_dsniff 
+0x26d1 004635 call wait_div_end 
+0x26d2 004636 remainder regc 
+0x26d3 004637 isub regc ,pdata 
+0x26d4 004638 branch sniff_init_nowrap ,positive 
+0x26d5 004639 iadd temp ,pdata 
+:      004640 sniff_init_nowrap:
+0x26d6 004641 iadd rega ,pdata 
+0x26d7 004642 store 4 ,mem_sniff_anchor 
+0x26d8 004643 jam switch_flag_init ,mem_switch_flag 
+0x26d9 004644 fetch 1 ,mem_state 
+0x26da 004645 set1 state_insniff ,pdata 
+0x26db 004646 store 1 ,mem_state 
+0x26dc 004647 fetch 1 ,mem_sniff_attempt 
+0x26dd 004648 store 1 ,mem_current_sniff_attempt 
+0x26de 004649 setarg 0 
+0x26df 004650 store 3 ,mem_sniff_rcv 
+0x26e0 004651 store 3 ,mem_sniff_lost 
+0x26e1 004652 store 1 ,mem_sniff_unint_lost 
+0x26e2 004653 jam bt_evt_enter_sniff ,mem_fifo_temp 
+0x26e3 004654 call ui_ipc_send_event 
+0x26e4 004655 fetch 2 ,mem_rx_window_sniff 
+0x26e5 004656 store 2 ,mem_rx_window 
+0x26e6 004657 nrtn master 
+0x26e7 004658 add am_addr ,-1 ,queue 
+0x26e8 004659 rtn 
+:      004661 sniff_exit:
+0x26e9 004662 bpatch patch0d_5 ,mem_patch0d 
+0x26ea 004663 fetch 1 ,mem_state 
+0x26eb 004664 rtnbit0 state_insniff 
+0x26ec 004665 set0 state_insniff ,pdata 
+0x26ed 004666 store 1 ,mem_state 
+0x26ee 004667 fetch 2 ,mem_rx_window_init 
+0x26ef 004668 store 2 ,mem_rx_window 
+0x26f0 004669 disable wake 
+0x26f1 004670 jam bt_evt_exit_sniff ,mem_fifo_temp 
+0x26f2 004671 branch ui_ipc_send_event 
+:      004674 check_attempt:
+0x26f3 004675 bpatch patch0d_6 ,mem_patch0d 
+0x26f4 004676 enable attempt 
+0x26f5 004677 fetch 1 ,mem_state 
+0x26f6 004678 bbit1 state_insniff ,check_attempt_sniff 
+0x26f7 004679 rtnmark1 mark_testmode 
+0x26f8 004680 fetch 1 ,mem_arq 
+0x26f9 004681 rtnbit1 wack 
+0x26fa 004682 fetch 1 ,mem_lmp_to_send 
+0x26fb 004683 nrtn blank 
+0x26fc 004684 fetch 1 ,mem_op 
+0x26fd 004685 rtnbit1 op_txl2cap 
+:      004686 check_attempt_nomore:
+0x26fe 004687 force 0 ,pdata 
+0x26ff 004688 rtn 
+:      004690 check_attempt_sniff:
+0x2700 004691 bbit0 state_insco ,check_attempt_not_sco 
+0x2701 004692 fetch 1 ,mem_current_sniff_attempt 
+0x2702 004693 beq 2 ,check_attempt_sniff_restore_sco 
+0x2703 004694 fetch 1 ,mem_arq 
+0x2704 004695 bbit1 wack ,check_attempt_notimeout 
+0x2705 004696 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+:      004697 check_attempt_sniff_restore_sco:
+0x2706 004698 nbranch check_attempt_notimeout ,master 
+0x2707 004699 fetch 1 ,mem_lmp_to_send 
+0x2708 004700 nbranch check_attempt_notimeout ,blank 
+:      004701 check_attempt_sco_master:
+0x2709 004702 fetch 1 ,mem_sco_poll 
+0x270a 004703 increase -1 ,pdata 
+0x270b 004704 store 1 ,mem_sco_poll 
+0x270c 004705 nbranch check_attempt_nomore ,blank 
+0x270d 004706 jam param_sco_poll ,mem_sco_poll 
+0x270e 004707 branch check_attempt_notimeout 
+:      004714 check_attempt_not_sco:
+0x270f 004715 fetch 1 ,mem_current_sniff_attempt 
+0x2710 004716 bne 1 ,check_attempt_notimeout 
+0x2711 004717 fetch 1 ,mem_current_sniff_timeout 
+0x2712 004718 branch check_attempt_notimeout ,blank 
+0x2713 004719 increase -1 ,pdata 
+0x2714 004720 store 1 ,mem_current_sniff_timeout 
+0x2715 004721 fetch 1 ,mem_arq 
+0x2716 004722 rtnbit1 wack 
+0x2717 004723 nrtn match 
+:      004724 check_attempt_notimeout:
+0x2718 004725 fetch 1 ,mem_current_sniff_attempt 
+0x2719 004726 increase -1 ,pdata 
+0x271a 004727 store 1 ,mem_current_sniff_attempt 
+0x271b 004728 rtn 
+:      004739 sniff_check_window:
+0x271c 004740 bpatch patch0d_7 ,mem_patch0d 
+0x271d 004741 disable swfine 
+0x271e 004742 copy temp ,stop_watch 
+0x271f 004743 call context_search_sniff_window 
+0x2720 004744 disable user 
+0x2721 004745 nrtn zero 
+0x2722 004746 force 0 ,stop_watch 
+0x2723 004747 enable user 
+0x2724 004748 rtn 
+:      004751 check_esco_amaddr:
+0x2725 004752 fetch 1 ,mem_esco_addr 
+0x2726 004753 icompare 0xff ,am_addr 
+0x2727 004754 rtn 
+:      004757 parse_l2cap:
+0x2728 004758 bpatch patch0e_0 ,mem_patch0e 
+0x2729 004759 set0 mark_rxbuf_inuse ,mark 
+:      004760 parse_l2cap_cont:
+0x272a 004761 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x272b 004762 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x272c 004763 rtn blank 
+0x272d 004764 isolate1 l2cap_inuse_buff1 ,pdata 
+0x272e 004765 arg mem_l2cap_rxbuff1 ,contr 
+0x272f 004766 call process_rx_l2cap_pkt ,true 
+0x2730 004767 bpatch patch0e_1 ,mem_patch0e 
+0x2731 004768 fetch 1 ,mem_l2cap_rx_done 
+0x2732 004769 beq l2cap_rx_done ,parse_l2cap_release_buff1 
+0x2733 004771 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+0x2734 004772 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2735 004773 rtnbit0 l2cap_inuse_buff2 
+0x2736 004774 arg mem_l2cap_rxbuff2 ,contr 
+0x2737 004775 call process_rx_l2cap_pkt 
+0x2738 004776 fetch 1 ,mem_l2cap_rx_done 
+0x2739 004777 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+0x273a 004778 rtn 
+:      004780 parse_l2cap_release_buff1:
+0x273b 004781 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x273c 004782 set0 l2cap_inuse_buff1 ,pdata 
+0x273d 004783 store 1 ,mem_l2cap_rxbuff_inuse 
+0x273e 004784 setarg 0 
+0x273f 004785 store 2 ,mem_l2cap_rxbuff1_len 
+0x2740 004786 rtn 
+:      004787 parse_l2cap_release_buff2:
+0x2741 004788 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2742 004789 set0 l2cap_inuse_buff2 ,pdata 
+0x2743 004790 store 1 ,mem_l2cap_rxbuff_inuse 
+0x2744 004791 setarg 0 
+0x2745 004792 store 2 ,mem_l2cap_rxbuff2_len 
+0x2746 004793 rtn 
+:      004795 l2cap_buff1_inuse:
+0x2747 004796 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x2748 004797 set1 l2cap_inuse_buff1 ,pdata 
+0x2749 004798 store 1 ,mem_l2cap_rxbuff_inuse 
+0x274a 004799 rtn 
+:      004801 l2cap_buff2_inuse:
+0x274b 004802 fetch 1 ,mem_l2cap_rxbuff_inuse 
+0x274c 004803 set1 l2cap_inuse_buff2 ,pdata 
+0x274d 004804 store 1 ,mem_l2cap_rxbuff_inuse 
+0x274e 004805 rtn 
+:      004811 slave_send_access:
+0x274f 004812 bpatch patch0e_2 ,mem_patch0e 
+0x2750 004813 add clke_bt ,1 ,bt_clk 
+0x2751 004814 call fetch_extm_bt_adr 
+0x2752 004815 force 0x03 ,freq_mode 
+0x2753 004816 call tx_radio_freq 
+0x2754 004817 call start_transmitter 
+0x2755 004818 call start_tx_external 
+0x2756 004819 branch send_access_word 
+:      004822 slave_conn_send_packet:
+0x2757 004823 bpatch patch0e_3 ,mem_patch0e 
+0x2758 004824 call rf_setup_time_slave_slot 
+0x2759 004825 deposit clke_bt 
+0x275a 004826 fetcht 4 ,mem_next_btclk 
+0x275b 004827 isub temp ,pdata 
+0x275c 004828 rtnne 1 
+0x275d 004829 compare type_null ,type ,0x1f 
+0x275e 004830 nbranch slave_conn_send_access ,true 
+0x275f 004831 fetch 1 ,mem_rx_type 
+0x2760 004832 rtn blank 
+:      004833 slave_conn_send_access:
+0x2761 004834 call slave_send_access 
+:      004835 transmit_packet:
+0x2762 004836 compare type_id ,type ,0x1f 
+0x2763 004837 branch end_of_packet ,true 
+0x2764 004838 rshift bt_clk ,temp 
+0x2765 004839 or temp ,0x40 ,white_init 
+:      004840 transmit_packet_whitened:
+0x2766 004841 bpatch patch0e_4 ,mem_patch0e 
+0x2767 004842 enable enable_white 
+0x2768 004843 enable enable_hec 
+0x2769 004844 enable encode_fec1 
+0x276a 004845 set0 mark_longpacket ,mark 
+0x276b 004846 deposit am_addr 
+0x276c 004847 inject mod ,3 
+0x276d 004848 deposit type 
+0x276e 004849 inject mod ,4 
+0x276f 004850 fetch 1 ,mem_arq 
+0x2770 004851 inject bucket ,4 
+0x2771 004852 inject mod ,3 
+0x2772 004853 enable enable_parity 
+0x2773 004854 inject mod ,8 
+0x2774 004855 disable encode_fec1 
+0x2775 004856 disable enable_parity 
+0x2776 004857 disable enable_hec 
+0x2777 004858 set0 psk3m ,radio_ctrl 
+0x2778 004859 arg 0 ,temp 
+0x2779 004860 call reserve_slot 
+0x277a 004861 bpatch patch0e_5 ,mem_patch0e 
+0x277b 004862 and type ,0x1f ,pdata 
+0x277c 004863 beq type_lmp ,transmit_lmp 
+0x277d 004864 beq type_null ,end_of_packet 
+0x277e 004865 beq type_poll ,end_of_packet 
+0x277f 004866 beq type_fhs ,transmit_fhs 
+0x2780 004867 beq type_dm1 ,transmit_dm1 
+0x2781 004868 beq type_dh1 ,transmit_dh1 
+0x2782 004869 beq type_hv3 ,transmit_hev 
+0x2783 004870 beq type_3dh1 ,transmit_3dh1 
+0x2784 004871 arg 4 ,temp 
+0x2785 004872 call reserve_slot 
+0x2786 004873 beq type_dm3 ,transmit_dm3 
+0x2787 004874 beq type_dh3 ,transmit_dh3 
+0x2788 004875 arg 8 ,temp 
+0x2789 004876 call reserve_slot 
+0x278a 004877 beq type_dh5 ,transmit_dh5 
+0x278b 004878 branch transmit_dm5 
+:      004881 transmit_hev:
+0x278c 004882 bpatch patch0e_6 ,mem_patch0e 
+0x278d 004883 enable encode_fec0 
+0x278e 004884 enable enable_crc 
+0x278f 004885 enable encrypt 
+0x2790 004886 force 30 ,loopcnt 
+0x2791 004887 arg mem_sco_obuf ,contr 
+:      004888 transmit_ev_loop:
+0x2792 004889 ifetch 1 ,contr 
+0x2793 004890 inject mod ,8 
+0x2794 004891 loop transmit_ev_loop 
+0x2795 004892 bmark1 mark_esco ,transmit_end 
+0x2796 004893 branch end_of_packet 
+:      004895 transmit_fhs:
+0x2797 004896 bpatch patch0e_7 ,mem_patch0e 
+0x2798 004897 fetch 1 ,mem_fhs_am_addr 
+0x2799 004898 icopy am_addr 
+0x279a 004899 fetch 1 ,mem_fhs_misc 
+0x279b 004900 icopy fhs_misc 
+0x279c 004901 fetch 3 ,mem_class 
+0x279d 004902 icopy fhs_class 
+0x279e 004903 fetch 2 ,mem_nap 
+0x279f 004904 icopy nap 
+0x27a0 004905 enable enable_crc 
+0x27a1 004906 enable encode_fec2 
+0x27a2 004907 copy bt_adr ,rega 
+0x27a3 004908 call fetch_self_bt_adr 
+0x27a4 004909 pulse recalc 
+0x27a5 004910 nop 32 
+0x27a6 004911 copy bt_clk ,timeup 
+0x27a7 004912 fetch 4 ,mem_clkn_bt 
+0x27a8 004913 icopy bt_clk 
+0x27a9 004914 preload fhs0 
+0x27aa 004915 set1 58 ,pdata 
+0x27ab 004916 inject mod ,72 
+0x27ac 004917 preload fhs1 
+0x27ad 004918 inject mod ,72 
+0x27ae 004919 copy timeup ,bt_clk 
+0x27af 004920 copy rega ,bt_adr 
+0x27b0 004921 enable enable_parity 
+0x27b1 004922 inject mod ,16 
+0x27b2 004923 disable enable_parity 
+0x27b3 004924 branch end_of_packet 
+:      004926 transmit_lmp:
+0x27b4 004927 bpatch patch0f_0 ,mem_patch0f 
+0x27b5 004928 enable encrypt 
+0x27b6 004929 enable enable_crc 
+0x27b7 004930 enable encode_fec2 
+0x27b8 004931 fetch 1 ,mem_lmo_header_length 
+0x27b9 004932 and pdata ,0x1f8 ,temp 
+0x27ba 004933 arg mem_lmo_header_length ,contr 
+0x27bb 004934 increase 8 ,temp 
+:      004935 transmit_lmp_loop:
+0x27bc 004936 add temp ,-72 ,regc 
+0x27bd 004937 nbranch transmit_lmp_finish ,positive 
+0x27be 004938 ifetch 9 ,contr 
+0x27bf 004939 inject mod ,72 
+0x27c0 004940 copy regc ,temp 
+0x27c1 004941 branch transmit_lmp_loop 
+:      004942 transmit_lmp_finish:
+0x27c2 004943 ifetch 9 ,contr 
+0x27c3 004944 iinject mod ,temp 
+0x27c4 004945 branch transmit_end 
+:      004947 transmit_dm1:
+0x27c5 004948 enable encode_fec2 
+0x27c6 004949 branch transmit_dmh 
+:      004950 transmit_dm3:
+:      004951 transmit_dm5:
+0x27c7 004952 enable encode_fec2 
+0x27c8 004953 set1 mark_longpacket ,mark 
+0x27c9 004954 branch transmit_dmh 
+:      004956 transmit_3dh1:
+0x27ca 004957 set1 psk3m ,radio_ctrl 
+:      004958 transmit_dh1:
+0x27cb 004959 enable encode_fec0 
+0x27cc 004960 branch transmit_dmh 
+:      004962 transmit_dh3:
+:      004963 transmit_dh5:
+0x27cd 004964 set1 psk3m ,radio_ctrl 
+0x27ce 004965 enable encode_fec0 
+0x27cf 004966 set1 mark_longpacket ,mark 
+:      004968 transmit_dmh:
+0x27d0 004969 bpatch patch0f_1 ,mem_patch0f 
+0x27d1 004970 fetch 1 ,mem_state_map 
+0x27d2 004971 bbit0 smap_edr ,transmit_noedr 
+0x27d3 004972 sub type ,3 ,null 
+0x27d4 004973 branch transmit_noedr ,positive 
+0x27d5 004974 disable encrypt 
+0x27d6 004975 disable encode_fec2 
+0x27d7 004976 enable encode_fec0 
+0x27d8 004977 disable enable_white 
+0x27d9 004978 set1 psk ,radio_ctrl 
+0x27da 004979 isolate1 psk3m ,radio_ctrl 
+0x27db 004980 branch transmit_edr3m ,true 
+0x27dc 004981 setarg 0xabeee 
+0x27dd 004982 inject mod ,20 
+0x27de 004983 branch transmit_edr_sync_end 
+:      004984 transmit_edr3m:
+0x27df 004985 setarg 0x5faeba 
+0x27e0 004986 inject mod ,24 
+0x27e1 004987 setarg 0x12 
+0x27e2 004988 inject mod ,6 
+:      004989 transmit_edr_sync_end:
+0x27e3 004990 enable enable_white 
+0x27e4 004991 set1 mark_longpacket ,mark 
+:      004992 transmit_noedr:
+0x27e5 004993 enable encrypt 
+0x27e6 004994 enable enable_crc 
+0x27e7 004995 bmark1 mark_loopback ,transmit_loopback 
+0x27e8 004996 fetch 1 ,mem_tx_lch 
+0x27e9 004997 inject mod ,3 
+0x27ea 004998 fetch 2 ,mem_tx_len 
+0x27eb 004999 iforce loopcnt 
+0x27ec 005000 bmark1 mark_longpacket ,transmit_long 
+0x27ed 005001 inject mod ,5 
+0x27ee 005002 branch transmit_stuff 
+:      005003 transmit_long:
+0x27ef 005004 inject mod ,13 
+:      005005 transmit_stuff:
+0x27f0 005006 deposit loopcnt 
+0x27f1 005007 branch transmit_end ,blank 
+0x27f2 005008 fetch 2 ,mem_txptr 
+0x27f3 005009 iforce contr 
+:      005010 transmit_stuff_loop:
+0x27f4 005011 ifetch 1 ,contr 
+0x27f5 005012 inject mod ,8 
+0x27f6 005013 loop transmit_stuff_loop 
+:      005016 transmit_end:
+0x27f7 005017 enable enable_parity 
+0x27f8 005018 inject mod ,16 
+0x27f9 005019 disable enable_parity 
+0x27fa 005020 call set_wait_ack 
+0x27fb 005021 fetch 1 ,mem_state_map 
+0x27fc 005022 bbit0 smap_edr ,end_of_packet 
+0x27fd 005023 force 0 ,pdata 
+0x27fe 005024 inject mod ,6 
+0x27ff 005025 branch end_of_packet 
+:      005028 transmit_loopback:
+0x2800 005029 bpatch patch0f_2 ,mem_patch0f 
+0x2801 005030 bmark1 mark_longpacket ,transmit_loopback_long 
+:      005031 transmit_loopback_short:
+0x2802 005032 fetch 1 ,mem_lch_code 
+0x2803 005033 inject mod ,3 
+0x2804 005034 fetch 1 ,mem_len 
+0x2805 005035 iforce regc 
+0x2806 005036 inject mod ,5 
+0x2807 005037 branch transmit_loopback_cont 
+:      005038 transmit_loopback_long:
+0x2808 005039 fetch 1 ,mem_lch_code 
+0x2809 005040 inject mod ,3 
+0x280a 005041 fetch 2 ,mem_len 
+0x280b 005042 iforce regc 
+0x280c 005043 inject mod ,13 
+:      005044 transmit_loopback_cont:
+0x280d 005045 arg mem_rxbuf ,contr 
+:      005046 transmit_loopback_loop:
+0x280e 005047 copy regc ,null 
+0x280f 005048 branch transmit_loopback_end ,zero 
+0x2810 005049 ifetch 1 ,contr 
+0x2811 005050 inject mod ,8 
+0x2812 005051 increase -1 ,regc 
+0x2813 005052 branch transmit_loopback_loop 
+:      005053 transmit_loopback_end:
+0x2814 005054 fetch 2 ,mem_tst_pktcnt_dmh 
+0x2815 005055 increase 1 ,pdata 
+0x2816 005056 store 2 ,mem_tst_pktcnt_dmh 
+0x2817 005057 branch transmit_end 
+:      005060 apply_switch_clke:
+0x2818 005061 fetch 4 ,mem_clke_bt 
+0x2819 005062 add pdata ,7 ,rega 
+0x281a 005063 fetch 2 ,mem_slot_offset 
+0x281b 005064 nbranch apply_switch_nozero ,blank 
+0x281c 005065 increase -3 ,rega 
+0x281d 005066 branch apply_switch_wait_loop 
+:      005067 apply_switch_nozero:
+0x281e 005068 mul32 pdata ,12 ,pdata 
+0x281f 005069 hfetcht 2 ,core_halfslot 
+0x2820 005070 increase 1 ,temp 
+:      005071 apply_switch_loop:
+0x2821 005072 isub temp ,pdata 
+0x2822 005073 nbranch apply_switch_bt ,positive 
+0x2823 005074 increase -1 ,rega 
+0x2824 005075 branch apply_switch_loop 
+:      005076 apply_switch_bt:
+0x2825 005077 sub pdata ,0 ,pdata 
+:      005078 apply_switch_wait_loop:
+0x2826 005079 until null ,oneslot 
+0x2827 005080 compare 0 ,clkn_bt ,3 
+0x2828 005081 nbranch apply_switch_wait_loop ,true 
+0x2829 005082 iforce clke_rt 
+0x282a 005083 copy rega ,clke_bt 
+0x282b 005084 iforce clke_rt 
+0x282c 005085 rtn 
+:      005088 calc_slot_offset:
+0x282d 005089 bpatch patch0f_3 ,mem_patch0f 
+0x282e 005090 until null ,halfslot 
+0x282f 005091 deposit clke 
+0x2830 005092 iforce contr 
+0x2831 005093 rshift16 ,pdata ,pdata 
+0x2832 005094 isub clkn_bt ,loopcnt 
+0x2833 005095 and_into 3 ,loopcnt 
+0x2834 005096 nbranch calc_bt_portion ,zero 
+0x2835 005097 force 0 ,pdata 
+0x2836 005098 branch calc_skip_bt 
+:      005099 calc_bt_portion:
+0x2837 005100 arg 3750 ,temp 
+0x2838 005101 force 0 ,pdata 
+:      005102 calc_slot_offset_loop:
+0x2839 005103 iadd temp ,pdata 
+0x283a 005104 loop calc_slot_offset_loop 
+:      005105 calc_skip_bt:
+0x283b 005106 iadd contr ,pdata 
+0x283c 005107 div pdata ,12 
+0x283d 005108 call wait_div_end 
+0x283e 005109 quotient pdata 
+0x283f 005110 store 2 ,mem_slot_offset 
+0x2840 005111 rtn 
+:      005113 calc_clke_offset:
+0x2841 005114 bpatch patch0f_4 ,mem_patch0f 
+0x2842 005115 deposit clke 
+0x2843 005116 copy clkn ,temp 
+0x2844 005117 isub temp ,null 
+0x2845 005118 nsetflag positive ,44 ,pdata 
+0x2846 005119 isub temp ,temp 
+0x2847 005120 setarg 3750 
+0x2848 005121 isolate0 15 ,temp 
+0x2849 005122 branch calc_clke_pos ,true 
+0x284a 005123 setarg -61786 
+0x284b 005124 iadd temp ,temp 
+:      005125 calc_clke_pos:
+0x284c 005126 storet 6 ,mem_le_clk_offset 
+0x284d 005127 rtn le 
+0x284e 005128 storet 6 ,mem_clk_offset 
+0x284f 005129 rtn 
+:      005131 calc_clke:
+0x2850 005132 disable clknt 
+0x2851 005133 fetch 6 ,mem_le_clk_offset 
+0x2852 005134 branch calc_clke2 ,le 
+0x2853 005135 fetch 6 ,mem_clk_offset 
+:      005136 calc_clke2:
+0x2854 005137 iadd clkn ,alarm 
+0x2855 005138 increase 10 ,alarm 
+0x2856 005139 setarg 3750 
+0x2857 005140 isub alarm ,pdata 
+0x2858 005141 isolate0 15 ,pdata 
+0x2859 005142 branch calc_clke_pos_adj ,true 
+0x285a 005143 setarg 0xf15a 
+0x285b 005144 iadd alarm ,alarm 
+:      005145 calc_clke_pos2:
+0x285c 005146 copy alarm ,clke 
+0x285d 005147 rtn 
+:      005148 calc_clke_pos_adj:
+0x285e 005149 force 0 ,null 
+0x285f 005150 branch calc_clke_pos2 
+:      005157 calc_radio_freq:
+0x2860 005158 bpatch patch0f_5 ,mem_patch0f 
+0x2861 005159 call set_sync_on 
+0x2862 005160 copy bt_clk ,pdata 
+0x2863 005161 and_into 0x180 ,pdata 
+0x2864 005162 compare 3 ,freq_mode ,0x07 
+0x2865 005163 nbranch freq_not_connection ,true 
+0x2866 005164 rshift3 pdata ,pdata 
+0x2867 005165 iadd freq_index ,pdata 
+0x2868 005166 branch do_hop_mod_now 
+:      005167 freq_not_connection:
+0x2869 005168 copy freq_index ,pdata 
+:      005169 do_hop_mod_now:
+0x286a 005170 div pdata ,79 
+0x286b 005171 pulse recalc 
+0x286c 005172 call wait_div_end 
+0x286d 005173 remainder rega 
+0x286e 005174 add rega ,-40 ,temp 
+0x286f 005175 branch odd_half ,positive 
+0x2870 005176 lshift rega ,temp 
+0x2871 005177 branch freq_result 
+:      005178 odd_half:
+0x2872 005179 lshift temp ,temp 
+0x2873 005180 increase 1 ,temp 
+:      005181 freq_result:
+0x2874 005182 bpatch patch0f_6 ,mem_patch0f 
+0x2875 005183 fetch 1 ,mem_mode 
+0x2876 005184 bbit0 afh_change ,afh_process_con 
+:      005185 afh_process_0:
+0x2877 005186 fetch 4 ,mem_afh_instant 
+0x2878 005187 isub bt_clk ,null 
+0x2879 005188 branch afh_process_con ,positive 
+0x287a 005189 call afh_clear 
+0x287b 005190 fetch 1 ,mem_afh_new_mod 
+0x287c 005191 rtn blank 
+0x287d 005192 fetch 1 ,mem_mode 
+0x287e 005193 set1 afh_enable ,pdata 
+0x287f 005194 store 1 ,mem_mode 
+0x2880 005195 fetch 5 ,mem_afh_map_new 
+0x2881 005196 store 5 ,mem_afh_map_lo 
+0x2882 005197 ifetch 5 ,contr 
+0x2883 005198 store 5 ,mem_afh_map_hi 
+0x2884 005199 call afh_process_freq_map 
+:      005200 afh_process_con:
+0x2885 005201 fetch 1 ,mem_mode 
+0x2886 005202 rtnbit0 afh_enable 
+0x2887 005203 isolate1 1 ,bt_clk 
+0x2888 005204 branch afh_same_channel ,true 
+0x2889 005205 rshift3 temp ,rega 
+0x288a 005206 and temp ,7 ,queue 
+0x288b 005207 setarg mem_afh_map_lo 
+0x288c 005208 iadd rega ,rega 
+0x288d 005209 ifetch 1 ,rega 
+0x288e 005210 qisolate0 pdata 
+0x288f 005211 branch afh_process_1 ,true 
+0x2890 005212 deposit temp 
+0x2891 005213 branch afh_process_end 
+:      005214 afh_process_1:
+0x2892 005215 fetch 1 ,mem_afh_used 
+0x2893 005216 iforce regb 
+0x2894 005217 deposit bt_clk 
+0x2895 005218 and_into 0x180 ,pdata 
+0x2896 005219 rshift3 pdata ,pdata 
+0x2897 005220 iadd freq_index ,pdata 
+0x2898 005221 idiv regb 
+0x2899 005222 setarg mem_afh_map 
+0x289a 005223 call wait_div_end 
+0x289b 005224 remainder rega 
+0x289c 005225 iadd rega ,contr 
+0x289d 005226 ifetch 1 ,contr 
+:      005227 afh_process_end:
+0x289e 005228 store 1 ,mem_afh_index 
+0x289f 005229 iforce temp 
+0x28a0 005230 rtn 
+:      005232 afh_same_channel:
+0x28a1 005233 fetch 1 ,mem_afh_index 
+0x28a2 005234 iforce temp 
+0x28a3 005235 rtn 
+:      005237 afh_clear:
+0x28a4 005238 fetch 1 ,mem_mode 
+0x28a5 005239 set0 afh_enable ,pdata 
+0x28a6 005240 set0 afh_change ,pdata 
+0x28a7 005241 store 1 ,mem_mode 
+0x28a8 005242 rtn 
+:      005248 afh_process_freq_map:
+0x28a9 005249 bpatch patch0f_7 ,mem_patch0f 
+0x28aa 005250 arg mem_afh_map ,contw 
+0x28ab 005251 force 10 ,loopcnt 
+0x28ac 005252 call memset0 
+0x28ad 005253 arg mem_afh_map ,contw 
+0x28ae 005254 force 0 ,regc 
+0x28af 005255 force 2 ,queue 
+:      005256 process_freq_3:
+0x28b0 005257 fetch 5 ,mem_afh_map_lo 
+0x28b1 005258 iforce temp 
+0x28b2 005259 compare 2 ,queue ,0xff 
+0x28b3 005260 branch process_freq_1 ,true 
+0x28b4 005261 rshift temp ,temp 
+:      005262 process_freq_1:
+0x28b5 005263 isolate0 0 ,temp 
+0x28b6 005264 branch process_freq_0 ,true 
+0x28b7 005265 deposit regc 
+0x28b8 005266 istore 1 ,contw 
+:      005267 process_freq_0:
+0x28b9 005268 rshift2 temp ,temp 
+0x28ba 005269 increase 2 ,regc 
+0x28bb 005270 compare 40 ,regc ,0xfe 
+0x28bc 005271 nbranch process_freq_2 ,true 
+0x28bd 005272 fetch 5 ,mem_afh_map_hi 
+0x28be 005273 iforce temp 
+0x28bf 005274 compare 2 ,queue ,0xff 
+0x28c0 005275 branch process_freq_2 ,true 
+0x28c1 005276 rshift temp ,temp 
+:      005277 process_freq_2:
+0x28c2 005278 sub regc ,78 ,null 
+0x28c3 005279 branch process_freq_1 ,positive 
+0x28c4 005280 force 1 ,regc 
+0x28c5 005281 increase -1 ,queue 
+0x28c6 005282 nbranch process_freq_3 ,zero 
+0x28c7 005283 arg mem_afh_map ,rega 
+0x28c8 005284 deposit contw 
+0x28c9 005285 isub rega ,pdata 
+0x28ca 005286 store 1 ,mem_afh_used 
+0x28cb 005287 rtn 
+:      005289 rx_radio_freq:
+0x28cc 005290 bpatch patch10_0 ,mem_patch10 
+0x28cd 005291 call calc_radio_freq 
+0x28ce 005292 fetch 1 ,mem_debug_config 
+0x28cf 005293 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+0x28d0 005294 fetcht 1 ,mem_rx_fixed_freq 
+:      005295 rx_radio_freq_now:
+0x28d1 005296 branch set_freq_rx 
+:      005299 tx_radio_freq:
+0x28d2 005300 bpatch patch10_1 ,mem_patch10 
+0x28d3 005301 call calc_radio_freq 
+0x28d4 005302 fetch 1 ,mem_debug_config 
+0x28d5 005303 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+0x28d6 005304 fetcht 1 ,mem_tx_fixed_freq 
+:      005305 tx_radio_freq_now:
+0x28d7 005306 branch set_freq_tx 
+:      005309 fetch_giac:
+0x28d8 005310 force 0 ,uap 
+0x28d9 005311 fetch 3 ,mem_glap 
+0x28da 005312 iforce lap 
+0x28db 005313 rtn 
+:      005315 fetch_page_bt_adr:
+0x28dc 005316 bpatch patch10_2 ,mem_patch10 
+0x28dd 005317 fetch 1 ,mem_hci_puap 
+0x28de 005318 icopy uap 
+0x28df 005319 fetch 3 ,mem_hci_plap 
+0x28e0 005320 icopy lap 
+0x28e1 005321 rtn 
+:      005323 fetch_self_bt_adr:
+0x28e2 005324 bpatch patch10_3 ,mem_patch10 
+0x28e3 005325 fetch 2 ,mem_nap 
+0x28e4 005326 icopy nap 
+0x28e5 005327 fetch 1 ,mem_uap 
+0x28e6 005328 icopy uap 
+0x28e7 005329 fetch 3 ,mem_lap 
+0x28e8 005330 icopy lap 
+0x28e9 005331 rtn 
+:      005333 fetch_extm_bt_adr:
+0x28ea 005334 bpatch patch10_4 ,mem_patch10 
+0x28eb 005335 fetch 2 ,mem_pnap 
+0x28ec 005336 icopy nap 
+0x28ed 005337 fetch 1 ,mem_puap 
+0x28ee 005338 icopy uap 
+0x28ef 005339 fetch 3 ,mem_plap 
+0x28f0 005340 icopy lap 
+0x28f1 005341 rtn 
+:      005344 fetch_diac:
+0x28f2 005345 bmark1 mark_all_diac ,fetch_diac_do 
+0x28f3 005346 rtnmark0 mark_inquiry_state 
+0x28f4 005347 rtnmark0 mark_periodical_diac 
+:      005348 fetch_diac_do:
+0x28f5 005349 and_into -256 ,lap 
+0x28f6 005350 pulse recalc 
+0x28f7 005351 nop 32 
+0x28f8 005352 rtn 
+:      005355 shutdown_radio:
+0x28f9 005356 bpatch patch10_5 ,mem_patch10 
+0x28fa 005357 branch shutdown_radio0 ,is_rx 
+0x28fb 005358 jam 0xd4 ,rf_tx_pa_ib 
+0x28fc 005359 nop 4 
+0x28fd 005360 jam 0xd2 ,rf_tx_pa_ib 
+0x28fe 005361 nop 4 
+0x28ff 005362 jam 0xd1 ,rf_tx_pa_ib 
+0x2900 005363 nop 4 
+0x2901 005364 fetch 1 ,mem_tx_power 
+0x2902 005365 beq tx_power_0db ,shutdown_radio_0db 
+0x2903 005366 beq tx_power_3db ,shutdown_radio_3db 
+0x2904 005367 beq tx_power_5db ,shutdown_radio_5db 
+0x2905 005368 beq tx_power_f3db ,shutdown_radio_f3db 
+0x2906 005369 beq tx_power_f5db ,shutdown_radio_f5db 
+0x2907 005370 beq tx_power_pair ,shutdown_radio_pair 
+:      005371 shutdown_radio_5db:
+:      005372 shutdown_radio_0db:
+0x2908 005373 jam 0xd0 ,rf_tx_pa_ib 
+0x2909 005374 jam 0xe0 ,rf_tx_pa_gc 
+:      005375 shutdown_radio0:
+0x290a 005376 force 0 ,radio_ctrl 
+0x290b 005377 disable is_rx 
+0x290c 005378 disable is_tx 
+0x290d 005379 pulse packet_end 
+0x290e 005380 jam 0x0 ,rfen_mdm 
+0x290f 005381 jam 0x0 ,rfen_tx 
+0x2910 005382 jam 0x0 ,rfen_rx 
+0x2911 005383 jam 0 ,rfen_sn 
+0x2912 005384 jam 0x70 ,rfen_msc 
+0x2913 005385 jam 0x0 ,rfen_adc 
+0x2914 005386 rtn 
+:      005388 shutdown_radio_pair:
+:      005389 shutdown_radio_f5db:
+:      005390 shutdown_radio_f3db:
+:      005391 shutdown_radio_3db:
+0x2915 005392 jam 0xd0 ,rf_tx_pa_ib 
+0x2916 005393 jam 0xc0 ,rf_tx_pa_gc 
+0x2917 005394 branch shutdown_radio0 
+:      005396 set_sync_on:
+0x2918 005397 bpatch patch10_6 ,mem_patch10 
+0x2919 005398 jam 0x0 ,rfen_mdm 
+0x291a 005399 jam 0x0 ,rfen_tx 
+0x291b 005400 jam 0x18 ,rfen_rx 
+0x291c 005401 jam 0xa7 ,rfen_sn 
+0x291d 005402 jam 0x7f ,rfen_msc 
+0x291e 005403 rtn 
+:      005405 set_freq_rx:
+0x291f 005406 bpatch patch10_7 ,mem_patch10 
+0x2920 005408 storet 1 ,mem_last_freq 
+0x2921 005409 add temp ,rx_freq_offset ,rega 
+0x2922 005410 jam 0x07 ,rf_balun_ctrim 
+0x2923 005411 branch rf_write_freq 
+:      005412 rf_rx_enable:
+0x2924 005413 bpatch patch11_0 ,mem_patch11 
+0x2925 005414 jam 0xcf ,rfen_tx 
+0x2926 005415 nop 10 
+0x2927 005416 jam 0xff ,rfen_rx 
+0x2928 005417 jam 0xaf ,rfen_sn 
+0x2929 005418 jam 0xff ,rfen_msc 
+0x292a 005419 nop 10 
+0x292b 005420 jam 0xa0 ,rfen_mdm 
+0x292c 005421 rtn 
+:      005423 set_freq_tx_offset:
+0x292d 005424 fetch 1 ,mem_250k_freq_enable 
+0x292e 005425 branch set_freq_tx_2m_offset ,blank 
+:      005426 set_freq_tx_0m_offset:
+0x292f 005427 add temp ,2 ,rega 
+0x2930 005428 rtn 
+:      005429 set_freq_tx_2m_offset:
+0x2931 005430 add temp ,0 ,rega 
+0x2932 005431 rtn 
+:      005433 set_freq_tx:
+0x2933 005434 bpatch patch11_1 ,mem_patch11 
+0x2934 005435 storet 1 ,mem_last_freq 
+0x2935 005436 call set_freq_tx_offset 
+0x2936 005437 call rf_write_freq 
+0x2937 005438 setarg param_pll_setup 
+0x2938 005439 call sleep 
+:      005440 txon:
+0x2939 005441 jam 0x1 ,rfen_adc 
+0x293a 005442 jam 0x3c ,rfen_rx 
+0x293b 005443 jam 0xe0 ,rfen_tx 
+0x293c 005444 jam 0x12 ,rf_balun_ctrim 
+0x293d 005445 nop 10 
+0x293e 005446 jam 0x01 ,rfen_mdm 
+0x293f 005447 jam 0x3d ,rfen_mdm 
+0x2940 005448 nop 10 
+0x2941 005449 jam 0xb7 ,rfen_sn 
+0x2942 005450 nop 10 
+0x2943 005451 jam 0x7f ,rfen_mdm 
+:      005452 txon_power_select:
+0x2944 005453 fetch 1 ,mem_tx_power 
+0x2945 005454 beq tx_power_0db ,set_tx_power_0db 
+0x2946 005455 beq tx_power_3db ,set_tx_power_3db 
+0x2947 005456 beq tx_power_5db ,set_tx_power_5db 
+0x2948 005457 beq tx_power_f3db ,set_tx_power_f3db 
+0x2949 005458 beq tx_power_f5db ,set_tx_power_f5db 
+0x294a 005459 beq tx_power_pair ,set_tx_power_pair 
+:      005460 set_tx_power_0db:
+0x294b 005461 jam 0xf0 ,rf_tx_pa_gc 
+0x294c 005462 call txon_common 
+0x294d 005463 jam 0xd8 ,rf_tx_pa_ib 
+0x294e 005464 rtn 
+:      005466 set_tx_power_3db:
+0x294f 005467 jam 0xdf ,rf_tx_pa_gc 
+0x2950 005468 call txon_common 
+0x2951 005469 jam 0xdf ,rf_tx_pa_ib 
+0x2952 005470 rtn 
+:      005472 set_tx_power_5db:
+0x2953 005473 jam 0xff ,rf_tx_pa_gc 
+0x2954 005474 call txon_common 
+0x2955 005475 jam 0xdf ,rf_tx_pa_ib 
+0x2956 005476 rtn 
+:      005477 set_tx_power_f3db:
+0x2957 005478 jam 0xce ,rf_tx_pa_gc 
+0x2958 005479 call txon_common 
+0x2959 005480 jam 0xd8 ,rf_tx_pa_ib 
+0x295a 005481 rtn 
+:      005483 set_tx_power_f5db:
+0x295b 005484 jam 0xcb ,rf_tx_pa_gc 
+0x295c 005485 call txon_common 
+0x295d 005486 jam 0xd8 ,rf_tx_pa_ib 
+0x295e 005487 rtn 
+:      005489 set_tx_power_pair:
+0x295f 005490 jam 0xd0 ,rf_tx_pa_ib 
+0x2960 005491 jam 0xc0 ,rf_tx_pa_gc 
+0x2961 005492 jam 0x4c ,0x8957 
+0x2962 005493 jam 0x6c ,0x8958 
+0x2963 005494 jam 0x50 ,0x8959 
+0x2964 005495 rtn 
+:      005497 txon_common:
+0x2965 005498 nop 4 
+0x2966 005499 jam 0xd1 ,rf_tx_pa_ib 
+0x2967 005500 nop 4 
+0x2968 005501 jam 0xd2 ,rf_tx_pa_ib 
+0x2969 005502 nop 4 
+0x296a 005503 jam 0xd4 ,rf_tx_pa_ib 
+0x296b 005504 rtn 
+:      005507 initialize_radio:
+0x296c 005508 jam clksel_rc ,core_clksel 
+:      005509 initialize_radio_wait:
+0x296d 005510 fetch 2 ,mem_rf_init_ptr 
+0x296e 005511 bbit0 14 ,initialize_radio_wait 
+0x296f 005512 iforce contr 
+0x2970 005513 arg 0x8900 ,temp 
+:      005514 initialize_radio_loop:
+0x2971 005515 ifetch 1 ,contr 
+0x2972 005516 beq 0xff ,initialize_radio_cont 
+0x2973 005517 ior temp ,contw 
+0x2974 005518 ifetch 1 ,contr 
+0x2975 005519 istore 1 ,contw 
+0x2976 005520 branch initialize_radio_loop 
+:      005521 initialize_radio_cont:
+0x2977 005522 bpatch patch11_2 ,mem_patch11 
+0x2978 005523 call lpm_cal_xtal_startup 
+0x2979 005524 call switchto_dpllclk 
+0x297a 005526 setarg param_dpll_start_delay 
+0x297b 005527 iadd clkn_bt ,pdata 
+0x297c 005528 store 4 ,mem_dpll_clkn 
+0x297d 005529 set1 reset ,radio_ctrl 
+0x297e 005530 force 0 ,radio_ctrl 
+0x297f 005531 ncall do_rccal ,wake 
+0x2980 005532 branch set_rccal 
+:      005535 rf_write_freq:
+0x2981 005536 bpatch patch11_3 ,mem_patch11 
+0x2982 005537 setarg 2400 
+0x2983 005538 iadd rega ,temp 
+0x2984 005539 fetch 1 ,mem_fcomp_mul 
+0x2985 005540 jam 0x04 ,rf_pll_rstn 
+0x2986 005541 imul32 temp ,pdata 
+0x2987 005542 fetcht 1 ,mem_fcomp_div 
+0x2988 005543 idiv temp 
+0x2989 005544 call wait_div_end 
+0x298a 005545 quotient rega 
+0x298b 005546 remainder pdata 
+0x298c 005547 lshift16 pdata ,pdata 
+0x298d 005548 lshift4 pdata ,pdata 
+0x298e 005549 idiv temp 
+0x298f 005550 call wait_div_end 
+0x2990 005551 quotient pdata 
+0x2991 005552 lshift8 pdata ,pdata 
+0x2992 005553 lshift pdata ,pdata 
+0x2993 005554 ior rega ,pdata 
+0x2994 005555 hstore 4 ,rf_pll_intg 
+0x2995 005556 jam 0x44 ,rf_pll_rstn 
+0x2996 005557 jam 0xc4 ,rf_pll_rstn 
+0x2997 005558 rtn 
+:      005561 do_rccal:
+0x2998 005562 bpatch patch11_4 ,mem_patch11 
+0x2999 005563 jam 0x02 ,rfen_adc 
+0x299a 005564 setarg 250000 
+0x299b 005565 call sleep 
+0x299c 005566 jam 0x7f ,rfen_rx 
+0x299d 005567 nop 130 
+0x299e 005568 jam 0x30 ,rf_rccal_ctrl 
+0x299f 005569 jam 0xd0 ,rfen_tx 
+0x29a0 005570 jam 0x70 ,rf_rccal_ctrl 
+0x29a1 005571 jam 0xf0 ,rf_rccal_ctrl 
+0x29a2 005572 force 50 ,loopcnt 
+:      005573 do_rccal_loop:
+0x29a3 005574 hfetch 1 ,rf_rccal_result 
+0x29a4 005575 bbit1 5 ,do_rccal_end 
+0x29a5 005576 loop do_rccal_loop 
+:      005577 do_rccal_end:
+0x29a6 005578 store 1 ,mem_rf_rccal 
+0x29a7 005579 jam 0 ,rfen_tx 
+0x29a8 005580 jam 0 ,rfen_rx 
+0x29a9 005581 jam 0x00 ,rfen_adc 
+0x29aa 005582 rtn 
+:      005584 set_rccal:
+0x29ab 005585 bpatch patch11_5 ,mem_patch11 
+0x29ac 005586 fetch 1 ,mem_rf_rccal 
+0x29ad 005587 set1 5 ,pdata 
+0x29ae 005588 hstore 1 ,rf_rccal_ctrl 
+0x29af 005589 hfetcht 1 ,rf_bpf_ctrim 
+0x29b0 005590 and_into 7 ,temp 
+0x29b1 005591 lshift3 pdata ,pdata 
+0x29b2 005592 ior temp ,pdata 
+0x29b3 005593 hstore 1 ,rf_bpf_ctrim 
+0x29b4 005594 hfetch 1 ,rf_bpf_ib 
+0x29b5 005595 set0 bpf_rccal ,pdata 
+0x29b6 005596 hstore 1 ,rf_bpf_ib 
+0x29b7 005597 hfetch 1 ,rf_adc_rccal 
+0x29b8 005598 set0 adc_rccal ,pdata 
+0x29b9 005599 hstore 1 ,rf_adc_rccal 
+0x29ba 005600 rtn 
+:      005602 save_rssi:
+0x29bb 005603 bpatch patch11_6 ,mem_patch11 
+0x29bc 005604 hfetch 2 ,rf_afc_d2a 
+0x29bd 005605 rshift4 pdata ,pdata 
+0x29be 005606 rshift3 pdata ,pdata 
+0x29bf 005607 sub pdata ,0 ,pdata 
+:      005608 bcd:
+0x29c0 005609 and_into 0xff ,pdata 
+0x29c1 005610 div pdata ,10 
+0x29c2 005611 call wait_div_end 
+0x29c3 005612 quotient pdata 
+0x29c4 005613 lshift4 pdata ,pdata 
+0x29c5 005614 remainder temp 
+0x29c6 005615 ior temp ,pdata 
+0x29c7 005616 store 1 ,mem_rssi 
+0x29c8 005617 rtn 
+:      005620 switchto_dpllclk:
+0x29c9 005621 jam clksel_rc ,core_clksel 
+0x29ca 005622 hfetch 1 ,rf_clkpll_frac + 2 
+0x29cb 005623 set0 4 ,pdata 
+0x29cc 005624 set0 5 ,pdata 
+0x29cd 005625 hstore 1 ,rf_clkpll_frac + 2 
+0x29ce 005626 jam 0x00 ,rfen_ck 
+0x29cf 005627 jam 0x00 ,rfen_msc 
+0x29d0 005628 jam 0x70 ,rfen_msc 
+0x29d1 005629 jam 0xff ,rfen_ck 
+0x29d2 005630 hfetch 1 ,rf_clkpll_frac + 2 
+0x29d3 005631 set1 4 ,pdata 
+0x29d4 005632 set1 5 ,pdata 
+0x29d5 005633 hstore 1 ,rf_clkpll_frac + 2 
+0x29d6 005634 call init_lpm_ctrl 
+0x29d7 005635 hfetch 1 ,rf_clkpll_int 
+0x29d8 005636 set1 7 ,pdata 
+0x29d9 005637 hstore 1 ,rf_clkpll_int 
+0x29da 005638 set0 7 ,pdata 
+0x29db 005639 hstore 1 ,rf_clkpll_int 
+0x29dc 005640 set1 7 ,pdata 
+0x29dd 005641 hstore 1 ,rf_clkpll_int 
+0x29de 005642 jam clksel_dpll ,core_clksel 
+0x29df 005643 nop 1 
+0x29e0 005644 jam clksel_xtal ,core_clksel 
+0x29e1 005645 hfetch 1 ,rf_clkpll_frac + 2 
+0x29e2 005646 and_into 0xcf ,pdata 
+0x29e3 005647 hstore 1 ,rf_clkpll_frac + 2 
+0x29e4 005648 or_into 0x30 ,pdata 
+0x29e5 005649 hstore 1 ,rf_clkpll_frac + 2 
+0x29e6 005650 rtn 
+:      005653 xtal_fast_wake:
+0x29e7 005654 setarg 0xf0f 
+0x29e8 005655 branch lpm_write_config 
+:      005657 init_lpm_ctrl:
+0x29e9 005658 setarg 0x80f 
+0x29ea 005659 branch lpm_write_config 
+:      005663 start_receiver:
+0x29eb 005664 bpatch patch11_7 ,mem_patch11 
+0x29ec 005665 call rf_rx_enable 
+0x29ed 005666 disable is_tx 
+0x29ee 005667 enable is_rx 
+0x29ef 005668 pulse init_encrypt 
+0x29f0 005669 rtn 
+:      005671 prep_crypt:
+0x29f1 005672 bpatch patch12_0 ,mem_patch12 
+0x29f2 005673 fetch 1 ,mem_state_map 
+0x29f3 005674 isolate1 smap_encryption ,pdata 
+0x29f4 005675 setflag true ,0 ,pdata 
+0x29f5 005676 hstore 1 ,core_encrypt 
+0x29f6 005677 arg mem_kc ,contr 
+0x29f7 005678 ifetch 9 ,contr 
+0x29f8 005679 iforce kc_ls 
+0x29f9 005680 ifetch 7 ,contr 
+0x29fa 005681 iforce kc_ms 
+0x29fb 005682 fetch 1 ,mem_key_size 
+0x29fc 005683 add pdata ,-1 ,g1l 
+0x29fd 005684 pulse kc_p_activate 
+0x29fe 005685 rtn 
+:      005687 wait_access_end:
+0x29ff 005688 deposit clke 
+0x2a00 005689 store 6 ,mem_sync_clke 
+0x2a01 005690 disable decode_fec0 
+0x2a02 005691 nbranch shutdown_radio ,sync 
+0x2a03 005692 arg param_clke_cal ,clke_rt 
+0x2a04 005693 increase 1 ,clke_bt 
+0x2a05 005694 and_into 0x1fc ,clke_bt 
+0x2a06 005695 rtn 
+:      005699 wait_access_mhalfbnd:
+0x2a07 005700 enable decode_fec0 
+:      005701 wait_access_mhalfbnd_correlate:
+0x2a08 005702 correlate null ,mhalfbnd 
+0x2a09 005703 branch wait_access_end ,sync 
+0x2a0a 005704 compare 0x02 ,clke_bt ,0x02 
+0x2a0b 005705 nbranch wait_access_mhalfbnd_correlate ,true 
+0x2a0c 005706 branch wait_access_end 
+:      005708 wait_access_clkn_rt:
+0x2a0d 005709 bpatch patch12_1 ,mem_patch12 
+0x2a0e 005710 arg param_conn_access ,timeup 
+0x2a0f 005711 enable decode_fec0 
+0x2a10 005712 correlate clkn_rt ,meet 
+0x2a11 005713 disable decode_fec0 
+0x2a12 005714 nbranch shutdown_radio ,sync 
+0x2a13 005715 rtn 
+:      005717 wait_access_forever:
+0x2a14 005718 bpatch patch12_2 ,mem_patch12 
+0x2a15 005719 enable decode_fec0 
+0x2a16 005720 correlate null ,timeout 
+0x2a17 005721 disable decode_fec0 
+0x2a18 005722 nbranch shutdown_radio ,sync 
+0x2a19 005723 arg param_clke_cal ,clke_rt 
+0x2a1a 005724 and_into 0x1fc ,clke_bt 
+0x2a1b 005725 rtn 
+:      005728 reserve_slot:
+0x2a1c 005729 bpatch patch12_3 ,mem_patch12 
+0x2a1d 005730 iforce rega 
+0x2a1e 005731 deposit bt_clk 
+0x2a1f 005732 iadd temp ,timeup 
+0x2a20 005733 copy timeup ,pdata 
+0x2a21 005734 store 4 ,mem_next_btclk 
+0x2a22 005735 deposit rega 
+0x2a23 005736 rtn 
+:      005739 ahead_window:
+0x2a24 005740 copy pdata ,temp 
+0x2a25 005741 bpatch patch12_4 ,mem_patch12 
+0x2a26 005742 copy temp ,pdata 
+0x2a27 005743 call clk2bt 
+0x2a28 005744 lshift16 bt_clk ,pdata 
+0x2a29 005745 set1 44 ,pdata 
+0x2a2a 005746 call clk_diff 
+0x2a2b 005747 set0 44 ,pdata 
+0x2a2c 005748 call get_clk 
+0x2a2d 005749 call clk_diff 
+0x2a2e 005750 rtn user 
+0x2a2f 005751 call clk2rt 
+0x2a30 005752 iforce stop_watch 
+0x2a31 005753 until null ,timeout 
+0x2a32 005754 rtn 
+:      005757 setup_clk:
+0x2a33 005758 bpatch patch12_5 ,mem_patch12 
+0x2a34 005759 branch setup_clkn ,clknt 
+0x2a35 005760 until clke_rt ,meet 
+:      005761 skip_setup_clke:
+0x2a36 005762 copy clke_bt ,temp 
+0x2a37 005763 branch setup_clknbt 
+:      005764 setup_clkn:
+0x2a38 005765 branch skip_setup_clkn ,attempt 
+0x2a39 005766 until clkn_rt ,meet 
+:      005767 skip_setup_clkn:
+0x2a3a 005768 copy clkn_bt ,temp 
+:      005769 setup_clknbt:
+0x2a3b 005770 branch setup_clk11 ,user 
+0x2a3c 005771 compare 1 ,temp ,3 
+0x2a3d 005772 nbranch setup_clk ,true 
+:      005773 setup_complete:
+0x2a3e 005774 bpatch patch12_6 ,mem_patch12 
+0x2a3f 005775 fetch 1 ,mem_state 
+0x2a40 005776 rtnbit0 state_inconn 
+0x2a41 005777 fetch 4 ,mem_next_btclk 
+0x2a42 005778 isub temp ,pdata 
+0x2a43 005779 nrtn positive 
+0x2a44 005780 sub pdata ,0xff ,null 
+0x2a45 005781 branch setup_clk ,positive 
+0x2a46 005782 rtn 
+:      005783 setup_clk11:
+0x2a47 005784 compare 3 ,temp ,3 
+0x2a48 005785 nbranch setup_clk ,true 
+0x2a49 005786 branch setup_complete 
+:      005788 rf_setup_time:
+0x2a4a 005789 bpatch patch12_7 ,mem_patch12 
+0x2a4b 005790 arg param_rf_setup ,timeup 
+0x2a4c 005791 branch setup_clk 
+:      005793 rf_setup_time_slave_slot:
+0x2a4d 005794 disable user 
+0x2a4e 005795 branch rf_setup_time 
+:      005797 rf_setup_time_master_slot:
+0x2a4f 005798 enable user 
+0x2a50 005799 branch rf_setup_time 
+:      005801 start_transmitter:
+0x2a51 005802 bpatch patch13_0 ,mem_patch13 
+0x2a52 005803 call prep_crypt 
+0x2a53 005804 disable is_rx 
+0x2a54 005805 enable is_tx 
+0x2a55 005806 rtn 
+:      005810 start_tx_native:
+0x2a56 005811 bpatch patch13_1 ,mem_patch13 
+0x2a57 005812 arg param_tx_setup ,timeup 
+0x2a58 005813 until clkn_rt ,meet 
+0x2a59 005814 pulse init_encrypt 
+0x2a5a 005815 rtn 
+:      005817 start_rx_native:
+0x2a5b 005818 bpatch patch13_2 ,mem_patch13 
+0x2a5c 005819 arg param_rx_setup ,timeup 
+0x2a5d 005820 until clkn_rt ,meet 
+0x2a5e 005821 rtn 
+:      005824 start_tx_external:
+0x2a5f 005825 bpatch patch13_3 ,mem_patch13 
+0x2a60 005826 arg param_tx_setup ,timeup 
+0x2a61 005827 until clke_rt ,meet 
+0x2a62 005828 pulse init_encrypt 
+0x2a63 005829 rtn 
+:      005831 send_access_word:
+0x2a64 005832 bpatch patch13_4 ,mem_patch13 
+0x2a65 005833 preload access 
+0x2a66 005834 enable encode_fec0 
+0x2a67 005835 set1 txgfsk ,radio_ctrl 
+0x2a68 005836 inject mod ,72 
+0x2a69 005837 disable encode_fec0 
+0x2a6a 005838 rtn 
+:      005841 scan_mode_whiten:
+0x2a6b 005842 copy xin ,temp 
+0x2a6c 005843 or_into 0x60 ,temp 
+0x2a6d 005844 copy temp ,white_init 
+0x2a6e 005845 rtn 
+:      005850 get_free_amaddr:
+0x2a6f 005851 bpatch patch13_5 ,mem_patch13 
+0x2a70 005852 fetch 1 ,mem_current_amaddr 
+0x2a71 005853 increase 1 ,pdata 
+0x2a72 005854 bne param_esco_addr ,get_free_amaddr_cont 
+0x2a73 005855 force 1 ,pdata 
+:      005856 get_free_amaddr_cont:
+0x2a74 005857 store 1 ,mem_current_amaddr 
+0x2a75 005858 iforce am_addr 
+0x2a76 005859 rtn 
+:      005861 get_clk:
+0x2a77 005862 copy clkn ,temp 
+0x2a78 005863 rtn master 
+0x2a79 005864 copy clke ,temp 
+0x2a7a 005865 rtn 
+:      005867 get_clkbt:
+0x2a7b 005868 deposit clkn_bt 
+0x2a7c 005869 rtn master 
+0x2a7d 005870 deposit clke_bt 
+0x2a7e 005871 rtn 
+:      005874 supervision_update:
+0x2a7f 005875 bpatch patch13_6 ,mem_patch13 
+0x2a80 005876 fetcht 4 ,mem_supervision_timer 
+0x2a81 005877 call get_clkbt 
+0x2a82 005878 isub temp ,timeup 
+0x2a83 005879 deposit timeup 
+0x2a84 005880 fetcht 2 ,mem_supervision_to 
+0x2a85 005881 lshift temp ,temp 
+0x2a86 005882 isub temp ,pdata 
+0x2a87 005883 rtn 
+:      005885 supervision_flush:
+0x2a88 005886 bpatch patch13_7 ,mem_patch13 
+0x2a89 005887 call get_clkbt 
+0x2a8a 005888 store 4 ,mem_supervision_timer 
+0x2a8b 005889 rtn 
+:      005891 assert:
+0x2a8c 005892 bpatch patch14_0 ,mem_patch14 
+0x2a8d 005893 branch assert 
+:      005895 loop:
+0x2a8e 005896 branch loop 
+:      005898 sleep:
+0x2a8f 005899 rtn blank 
+0x2a90 005901 rshift pdata ,pdata 
+0x2a91 005902 increase -3 ,pdata 
+:      005903 sleep_loop:
+0x2a92 005904 increase -1 ,pdata 
+0x2a93 005905 nbranch sleep_loop ,zero 
+0x2a94 005906 force 0 ,pdata 
+0x2a95 005907 rtn 
+:      005911 init_param:
+0x2a96 005913 arg 0x10 ,loopcnt 
+0x2a97 005914 arg 0 ,contw 
+0x2a98 005915 call memset0 
+0x2a99 005916 arg mem_le_state ,contw 
+0x2a9a 005917 arg 10 ,loopcnt 
+0x2a9b 005918 call memset0 
+0x2a9c 005919 jam 0 ,mem_sp_calc 
+0x2a9d 005920 jam 0 ,mem_fifo_temp 
+0x2a9e 005921 jam 0 ,mem_le_testtype 
+0x2a9f 005922 jam 0 ,mem_debug_config 
+0x2aa0 005923 jam 0 ,mem_lmp_conn_state 
+0x2aa1 005924 bpatch patch14_1 ,mem_patch14 
+0x2aa2 005925 jam 0 ,mem_connection_options 
+0x2aa3 005926 jam 0 ,mem_tester_emulate 
+0x2aa4 005927 jam 0 ,mem_tester_cnt 
+0x2aa5 005928 setarg param_glap 
+0x2aa6 005929 store 3 ,mem_glap 
+0x2aa7 005930 setarg param_acl_pktlen 
+0x2aa8 005931 store 2 ,mem_acl_pktlen 
+0x2aa9 005932 jam param_sco_pktlen ,mem_sco_pktlen 
+0x2aaa 005933 jam param_acl_pktcnt ,mem_acl_pktcnt 
+0x2aab 005934 jam param_sco_pktcnt ,mem_sco_pktcnt 
+0x2aac 005935 setarg param_hci_version 
+0x2aad 005936 store 3 ,mem_hci_version 
+0x2aae 005941 jam 0x60 ,mem_fhs_misc 
+0x2aaf 005942 jam param_max_slot ,mem_max_slot 
+0x2ab0 005943 jam 0x02 ,mem_fw_ver 
+0x2ab1 005944 fetch 1 ,mem_ssp_enable 
+0x2ab2 005945 ncall init_memp ,blank 
+0x2ab3 005946 fetch 1 ,mem_le_secure_connect_enable 
+0x2ab4 005947 ncall init_memp_256 ,blank 
+0x2ab5 005948 bpatch patch14_2 ,mem_patch14 
+0x2ab6 005949 rtn wake 
+0x2ab7 005950 setarg 0 
+0x2ab8 005951 store 2 ,mem_tx_len 
+0x2ab9 005952 rshift clkn_bt ,pdata 
+0x2aba 005953 store 4 ,mem_last_clkn 
+0x2abb 005954 rtn 
+:      005961 lpmstate:
+0x2abc 005962 setarg 0xee21 
+0x2abd 005963 hstore 2 ,core_clkoff 
+0x2abe 005964 hfetch 4 ,core_gpio_in 
+0x2abf 005965 store 4 ,mem_saved_gpio_in 
+0x2ac0 005966 hfetch 1 ,core_lpm_ldocnt 
+0x2ac1 005967 store 1 ,mem_wakup_from_power_flag 
+0x2ac2 005968 bbit0 gpio_latch ,loadcode 
+0x2ac3 005969 enable wake 
+0x2ac4 005970 bbit0 cold_wake ,lpmwake 
+0x2ac5 005971 disable wake 
+0x2ac6 005972 deposit auxcnt 
+0x2ac7 005973 nbranch lpmwake ,blank 
+0x2ac8 005974 hfetch 1 ,core_lpm_ctrl + 3 
+0x2ac9 005975 bbit1 reload_code ,lpmwake 
+0x2aca 005976 arg param_hibernate_clks ,temp 
+0x2acb 005977 branch lpm_enter_sleep 
+:      005978 lpmwake:
+0x2acc 005979 hfetch 3 ,core_lpm_xtalcnt 
+0x2acd 005980 hstore 3 ,core_lpm_reg 
+0x2ace 005981 ifetch 1 ,contr 
+0x2acf 005982 or_into isogate_mask ,pdata 
+0x2ad0 005983 istore 1 ,contw 
+0x2ad1 005984 call lpm_write_ctrl2 
+0x2ad2 005985 hfetch 1 ,core_lpm_isogate 
+0x2ad3 005986 set1 enable_retmem ,pdata 
+0x2ad4 005987 hstore 1 ,core_lpm_isogate 
+0x2ad5 005988 call lpm_write_ctrl2 
+0x2ad6 005989 call lpm_load_context ,wake 
+0x2ad7 005990 hfetch 1 ,core_lpm_reg + 2 
+0x2ad8 005991 set0 gpio_latch ,pdata 
+0x2ad9 005992 hstore 1 ,core_lpm_reg + 2 
+0x2ada 005993 call lpm_write_ctrl2 
+0x2adb 005994 nbranch loadcode ,wake 
+0x2adc 005995 rtnmark0 mark_otp_encrypt 
+0x2add 005996 jam lock_otp ,core_misc_ctrl 
+0x2ade 005997 rtn 
+:      005999 lpm_load_context:
+0x2adf 006000 fetch 1 ,mem_saved_spidctrl 
+0x2ae0 006001 hstore 1 ,core_spid_ctrl 
+0x2ae1 006002 fetch 3 ,mem_saved_gsel 
+0x2ae2 006003 hstore 3 ,core_gpio_sel 
+0x2ae3 006004 fetch 4 ,mem_saved_gpio + 4 
+0x2ae4 006005 hstore 4 ,core_gpio_out0 
+0x2ae5 006006 fetch 4 ,mem_saved_gpio 
+0x2ae6 006007 hstore 4 ,core_gpio_oe0 
+0x2ae7 006008 fetch 8 ,mem_saved_gpio + 8 
+0x2ae8 006009 hstore 8 ,core_gpio_pu0 
+0x2ae9 006010 fetch 8 ,mem_saved_mark 
+0x2aea 006011 iforce mark 
+0x2aeb 006012 hfetch 8 ,core_gpio_wakeup_low 
+0x2aec 006013 store 8 ,mem_gpio_wakeup_low 
+0x2aed 006014 call load_ucode 
+0x2aee 006015 rtn 
+:      006017 lpm_save_context:
+0x2aef 006018 deposit mark 
+0x2af0 006019 store 8 ,mem_saved_mark 
+0x2af1 006020 hfetch 8 ,core_gpio_oe0 
+0x2af2 006021 store 8 ,mem_saved_gpio 
+0x2af3 006022 ifetch 8 ,contr 
+0x2af4 006023 istore 8 ,contw 
+0x2af5 006024 hfetch 3 ,core_gpio_sel 
+0x2af6 006025 store 3 ,mem_saved_gsel 
+0x2af7 006026 hfetch 1 ,core_spid_ctrl 
+0x2af8 006027 store 1 ,mem_saved_spidctrl 
+0x2af9 006028 branch lpm_write_gpio_wakeup 
+:      006030 lpo_calibration:
+0x2afa 006031 hfetch 1 ,core_bist_ctrl 
+0x2afb 006032 nbranch lpo_cal_inited ,blank 
+0x2afc 006033 fetch 3 ,mem_clks_per_lpo 
+0x2afd 006034 nrtn blank 
+0x2afe 006035 jam 0xc0 ,core_bist_ctrl 
+0x2aff 006036 jam ccnt_start ,core_misc_ctrl 
+:      006037 lpo_cal_inited:
+0x2b00 006038 hfetch 1 ,core_perf_status 
+0x2b01 006039 rtnbit0 1 
+0x2b02 006040 hfetch 3 ,core_clk_counter 
+0x2b03 006041 store 3 ,mem_clks_per_lpo 
+0x2b04 006042 rtn 
+:      006046 lpm_adjust_clk:
+0x2b05 006047 bpatch patch14_3 ,mem_patch14 
+0x2b06 006048 deposit clke 
+0x2b07 006049 call clk_diff_rt 
+0x2b08 006050 fetcht 4 ,mem_sleep_counter_all 
+0x2b09 006051 sub temp ,0xff ,null 
+0x2b0a 006052 rtn positive 
+0x2b0b 006053 lshift8 pdata ,pdata 
+0x2b0c 006054 lshift4 pdata ,pdata 
+0x2b0d 006055 idiv temp 
+0x2b0e 006056 call wait_div_end 
+0x2b0f 006057 quotient pdata 
+0x2b10 006058 arg param_lpm_adjmax ,temp 
+0x2b11 006059 call ceiling 
+0x2b12 006060 store 1 ,mem_lpm_adjust 
+0x2b13 006061 nbranch lpm_adjust_positive ,user 
+0x2b14 006062 sub pdata ,0 ,pdata 
+:      006063 lpm_adjust_positive:
+0x2b15 006064 fetcht 3 ,mem_clks_per_lpo 
+0x2b16 006065 iadd temp ,pdata 
+0x2b17 006066 store 3 ,mem_clks_per_lpo 
+:      006067 lpm_clear_counter:
+0x2b18 006068 setarg 0 
+0x2b19 006069 store 4 ,mem_sleep_counter_all 
+0x2b1a 006070 rtn 
+:      006074 lpm_doze:
+0x2b1b 006075 fetch 1 ,mem_lpm_config + 2 
+0x2b1c 006076 set1 reload_code ,pdata 
+0x2b1d 006077 store 1 ,mem_lpm_config + 2 
+0x2b1e 006078 branch lpm_hibernate_normal 
+:      006082 lpm_hibernate:
+0x2b1f 006083 arg param_hibernate_clks ,temp 
+0x2b20 006084 fetch 1 ,mem_lpm_config + 1 
+0x2b21 006085 set0 7 ,pdata 
+0x2b22 006086 store 1 ,mem_lpm_config + 1 
+:      006087 lpm_hibernate_normal:
+0x2b23 006088 bpatch patch14_4 ,mem_patch14 
+0x2b24 006089 call lpm_write_gpio_wakeup 
+0x2b25 006090 fetch 1 ,mem_lpm_hibernate_switch 
+0x2b26 006091 store 1 ,mem_lpm_xtalcnt + 4 
+0x2b27 006092 fetch 1 ,mem_lpm_xtalcnt + 2 
+0x2b28 006093 set1 cold_wake ,pdata 
+0x2b29 006094 store 1 ,mem_lpm_xtalcnt + 2 
+:      006097 lpm_sleep:
+0x2b2a 006098 bpatch patch14_5 ,mem_patch14 
+0x2b2b 006099 call xtal_fast_wake 
+0x2b2c 006100 fetch 4 ,mem_sleep_counter_all 
+0x2b2d 006101 iadd temp ,pdata 
+0x2b2e 006102 store 4 ,mem_sleep_counter_all 
+0x2b2f 006103 call lpm_save_context 
+0x2b30 006104 fetch 5 ,mem_lpm_xtalcnt 
+0x2b31 006105 hstore 4 ,core_lpm_reg 
+0x2b32 006106 rshift32 pdata ,rega 
+0x2b33 006107 until null ,lpo_edge 
+0x2b34 006108 deposit clkn 
+0x2b35 006109 store 6 ,mem_sleep_clkn 
+0x2b36 006110 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+0x2b37 006111 until null ,lpo_edge 
+0x2b38 006112 until null ,lpo_edge 
+0x2b39 006113 deposit rega 
+0x2b3a 006114 hstore 1 ,core_lpm_isogate 
+0x2b3b 006115 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+:      006116 lpm_enter_sleep:
+0x2b3c 006117 until null ,lpo_edge 
+0x2b3d 006118 until null ,lpo_edge 
+0x2b3e 006119 hstoret 4 ,core_lpm_reg 
+0x2b3f 006120 jam lpmreg_sel_counter ,core_lpm_wr 
+0x2b40 006121 until null ,never 
+:      006126 lpm_recover_clk:
+0x2b41 006127 bpatch patch14_6 ,mem_patch14 
+0x2b42 006128 setarg 0 
+0x2b43 006129 copy auxcnt ,null 
+0x2b44 006130 branch lpm_recover_timeout ,zero 
+0x2b45 006131 hfetch 1 ,core_lpm_xtalcnt 
+0x2b46 006132 hfetcht 1 ,core_lpm_buckcnt 
+0x2b47 006133 isub temp ,null 
+0x2b48 006134 branch lpm_recover_xtal ,positive 
+0x2b49 006135 deposit temp 
+:      006136 lpm_recover_xtal:
+0x2b4a 006137 isub auxcnt ,pdata 
+0x2b4b 006138 increase 1 ,pdata 
+:      006139 lpm_recover_timeout:
+0x2b4c 006140 increase 8 ,pdata 
+0x2b4d 006141 until null ,lpo_edge 
+0x2b4e 006142 iadd lpo_time ,pdata 
+0x2b4f 006143 fetcht 4 ,mem_sleep_counter 
+0x2b50 006144 iadd temp ,pdata 
+0x2b51 006145 fetcht 3 ,mem_clks_per_lpo 
+0x2b52 006146 imul32 temp ,pdata 
+0x2b53 006147 rshift8 pdata ,pdata 
+0x2b54 006148 rshift4 pdata ,pdata 
+0x2b55 006149 increase param_lpm_fix ,pdata 
+0x2b56 006150 arg 3750 ,temp 
+0x2b57 006151 idiv temp 
+0x2b58 006152 call wait_div_end 
+0x2b59 006153 quotient pdata 
+0x2b5a 006154 lshift16 pdata ,pdata 
+0x2b5b 006155 remainder temp 
+0x2b5c 006156 ior temp ,pdata 
+0x2b5d 006157 fetcht 6 ,mem_sleep_clkn 
+0x2b5e 006158 call clk_add 
+0x2b5f 006159 copy temp ,clkn 
+0x2b60 006160 fetch 6 ,mem_context + coffset_clk_offset 
+0x2b61 006161 call calc_clke2 
+0x2b62 006162 deposit clke 
+0x2b63 006163 store 6 ,mem_pdatatemp 
+0x2b64 006164 deposit auxcnt 
+0x2b65 006165 istore 1 ,contw 
+0x2b66 006166 hfetch 1 ,core_gpio_in1 
+0x2b67 006167 or_into 0xf0 ,pdata 
+0x2b68 006168 istore 1 ,contw 
+0x2b69 006169 rtn 
+:      006171 lpm_dispatch:
+0x2b6a 006172 bpatch patch14_7 ,mem_patch14 
+0x2b6b 006173 call lpo_calibration 
+0x2b6c 006174 fetch 3 ,mem_clks_per_lpo 
+0x2b6d 006175 rtn blank 
+0x2b6e 006176 fetch 1 ,mem_lpm_mode 
+0x2b6f 006177 rtn blank 
+0x2b70 006178 fetch 1 ,mem_ssp_enable 
+0x2b71 006179 branch lpm_dispatch_next ,blank 
+0x2b72 006180 fetch 1 ,mem_sp_local_key_invalid 
+0x2b73 006181 rtn blank 
+:      006182 lpm_dispatch_next:
+0x2b74 006183 fetch 1 ,mem_le_sc_calc 
+0x2b75 006184 nrtn blank 
+0x2b76 006185 call lpm_check_wake_lock 
+0x2b77 006186 nrtn blank 
+0x2b78 006187 fetch 1 ,mem_context 
+0x2b79 006188 compare 3 ,pdata ,0x7 
+0x2b7a 006189 nbranch lpm_dispatch_unconn ,true 
+0x2b7b 006190 fetch 2 ,mem_context + coffset_tsniff 
+0x2b7c 006191 rtn blank 
+0x2b7d 006192 rtn wake 
+0x2b7e 006193 bpatch patch15_0 ,mem_patch15 
+:      006194 lpm_dispatch_next2:
+0x2b7f 006195 fetcht 1 ,mem_lpm_current_mult 
+0x2b80 006196 fetch 2 ,mem_context + coffset_tsniff 
+0x2b81 006197 imul32 temp ,pdata 
+0x2b82 006198 rshift4 temp ,temp 
+0x2b83 006199 rshift2 temp ,temp 
+0x2b84 006200 isub temp ,pdata 
+0x2b85 006201 fetcht 4 ,mem_context + coffset_sniff_anchor 
+0x2b86 006202 iadd temp ,pdata 
+0x2b87 006203 fetcht 1 ,mem_lpm_overhead 
+0x2b88 006204 isub temp ,pdata 
+0x2b89 006205 lshift16 pdata ,alarm 
+0x2b8a 006206 bpatch patch15_1 ,mem_patch15 
+0x2b8b 006207 fetch 2 ,mem_context + coffset_rx_window 
+0x2b8c 006208 rshift pdata ,pdata 
+0x2b8d 006209 call clk2bt 
+0x2b8e 006210 deposit alarm 
+0x2b8f 006211 call clk_diff 
+0x2b90 006212 copy clke ,temp 
+0x2b91 006213 call clk_diff_rt 
+0x2b92 006214 rtn user 
+:      006215 lpm_dispatch_sleep:
+0x2b93 006216 call clk2lpo 
+:      006217 lpm_dispatch_lpo:
+0x2b94 006218 bpatch patch15_2 ,mem_patch15 
+0x2b95 006219 fetch 1 ,mem_lpm_xtalcnt 
+0x2b96 006220 isub temp ,null 
+0x2b97 006221 branch lpm_clear_counter ,positive 
+0x2b98 006222 storet 4 ,mem_sleep_counter 
+0x2b99 006223 call app_will_enter_lpm 
+0x2b9a 006224 call l2cap_lpm_save_txbuf 
+0x2b9b 006225 fetcht 4 ,mem_sleep_counter 
+0x2b9c 006226 branch lpm_sleep 
+:      006228 lpm_dispatch_unconn:
+0x2b9d 006229 bpatch patch15_3 ,mem_patch15 
+0x2b9e 006230 fetch 1 ,mem_context 
+0x2b9f 006231 rtnbit1 state_inconn 
+0x2ba0 006232 rtnbit1 state_inpage 
+0x2ba1 006233 fetch 1 ,mem_ssp_enable 
+0x2ba2 006234 branch lpm_unconn_nossp ,blank 
+0x2ba3 006235 fetch 1 ,mem_sp_local_key_invalid 
+0x2ba4 006236 rtn blank 
+:      006237 lpm_unconn_nossp:
+0x2ba5 006238 bpatch patch15_4 ,mem_patch15 
+0x2ba6 006239 fetch 1 ,mem_le_adv_enable 
+0x2ba7 006240 nbranch lpm_unconn_cont ,blank 
+0x2ba8 006241 fetch 1 ,mem_scan_mode 
+0x2ba9 006242 rtn blank 
+:      006243 lpm_unconn_cont:
+0x2baa 006244 fetch 2 ,mem_lpm_interval 
+0x2bab 006245 rtn blank 
+:      006246 lpm_sleep_btclk:
+0x2bac 006247 fetcht 1 ,mem_lpm_overhead 
+0x2bad 006248 isub temp ,pdata 
+0x2bae 006249 arg 7500 ,temp 
+0x2baf 006250 imul32 temp ,pdata 
+0x2bb0 006251 branch lpm_dispatch_sleep 
+:      006253 lpm_set_mult:
+0x2bb1 006254 bpatch patch15_5 ,mem_patch15 
+0x2bb2 006255 disable wake 
+0x2bb3 006256 fetch 1 ,mem_state 
+0x2bb4 006257 rtnbit0 state_insniff 
+0x2bb5 006258 nbranch lpm_not_match ,match 
+0x2bb6 006259 call lpm_match 
+0x2bb7 006260 fetch 2 ,mem_rx_window_sniff 
+0x2bb8 006261 store 2 ,mem_rx_window 
+0x2bb9 006262 fetch 1 ,mem_arq 
+0x2bba 006263 bbit1 wack ,lpm_mult_short 
+0x2bbb 006264 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x2bbc 006265 call l2cap_malloc_is_fifo_empty 
+0x2bbd 006266 nbranch lpm_mult_short ,blank 
+0x2bbe 006267 fetch 1 ,mem_classic_bt_flag 
+0x2bbf 006268 bbit1 short_mult_flag ,lpm_mult_short 
+:      006269 lpm_mult_wait_timeout:
+0x2bc0 006270 jam 0 ,mem_lpm_current_mult 
+0x2bc1 006271 bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+0x2bc2 006272 fetch 1 ,mem_lpm_mult_cnt 
+0x2bc3 006273 branch lpm_mult_long ,blank 
+0x2bc4 006274 increase -1 ,pdata 
+0x2bc5 006275 store 1 ,mem_lpm_mult_cnt 
+0x2bc6 006276 rtn 
+:      006279 classic_bt_set_mult_short_flag:
+0x2bc7 006280 arg short_mult_flag ,queue 
+0x2bc8 006281 branch classic_bluetooth_set_flag 
+:      006283 classic_bt_clr_mult_short_flag:
+0x2bc9 006284 arg short_mult_flag ,queue 
+0x2bca 006285 branch classic_bluetooth_clr_flag 
+:      006289 lpm_match:
+0x2bcb 006290 jam 0 ,mem_sniff_unint_lost 
+0x2bcc 006291 fetch 3 ,mem_sniff_rcv 
+0x2bcd 006292 increase 1 ,pdata 
+0x2bce 006293 store 3 ,mem_sniff_rcv 
+0x2bcf 006294 rtn 
+:      006296 lpm_not_match:
+0x2bd0 006297 bpatch patch15_6 ,mem_patch15 
+0x2bd1 006298 fetcht 2 ,mem_rx_window_sniff 
+0x2bd2 006299 rshift temp ,temp 
+0x2bd3 006300 fetch 2 ,mem_rx_window 
+0x2bd4 006301 iadd temp ,pdata 
+0x2bd5 006302 store 2 ,mem_rx_window 
+:      006303 lpm_lost:
+0x2bd6 006304 jam 0 ,mem_lpm_current_mult 
+0x2bd7 006305 fetch 3 ,mem_sniff_lost 
+0x2bd8 006306 increase 1 ,pdata 
+0x2bd9 006307 store 3 ,mem_sniff_lost 
+0x2bda 006308 fetch 1 ,mem_sniff_unint_lost 
+0x2bdb 006309 increase 1 ,pdata 
+0x2bdc 006310 store 1 ,mem_sniff_unint_lost 
+0x2bdd 006311 rtn 
+:      006313 lpm_mult_short:
+0x2bde 006314 jam 0 ,mem_lpm_current_mult 
+0x2bdf 006315 fetch 1 ,mem_lpm_mult_timeout 
+0x2be0 006316 store 1 ,mem_lpm_mult_cnt 
+0x2be1 006317 rtn 
+:      006319 lpm_mult_long:
+0x2be2 006320 fetcht 1 ,mem_lpm_mult 
+0x2be3 006321 storet 1 ,mem_lpm_current_mult 
+0x2be4 006322 rtn 
+:      006324 lpm_cal_xtal_startup:
+0x2be5 006325 bpatch patch15_7 ,mem_patch15 
+0x2be6 006326 fetch 1 ,mem_lpm_xtalcnt 
+0x2be7 006327 nrtn blank 
+0x2be8 006328 jam clksel_rc ,core_clksel 
+0x2be9 006329 setarg 0xf0c 
+0x2bea 006330 call lpm_write_config 
+0x2beb 006331 setarg 200000 
+0x2bec 006332 call sleep 
+0x2bed 006333 until null ,lpo_edge 
+0x2bee 006334 copy lpo_time ,alarm 
+0x2bef 006335 call xtal_fast_wake 
+0x2bf0 006336 jam clksel_xtal ,core_clksel 
+0x2bf1 006337 nop 10 
+0x2bf2 006338 until null ,lpo_edge 
+0x2bf3 006339 deposit lpo_time 
+0x2bf4 006340 isub alarm ,pdata 
+0x2bf5 006341 increase 0x30 ,pdata 
+0x2bf6 006342 arg 0xff ,temp 
+0x2bf7 006343 call ceiling 
+0x2bf8 006344 store 1 ,mem_lpm_xtalcnt 
+0x2bf9 006345 nop 30000 
+0x2bfa 006346 nop 30000 
+0x2bfb 006347 nop 30000 
+0x2bfc 006348 rtn 
+:      006350 lpm_cal_xtal_startup_by_snooze:
+0x2bfd 006351 fetch 1 ,mem_lpm_xtalcnt 
+0x2bfe 006352 nrtn blank 
+0x2bff 006353 jam 0xff ,core_xtal_stable_time 
+0x2c00 006354 jam clksel_rc ,core_clksel 
+0x2c01 006355 call xtal_fast_wake 
+0x2c02 006356 setarg 1000 
+0x2c03 006357 iadd lpo_time ,alarm 
+0x2c04 006358 snooze 
+0x2c05 006359 deposit lpo_time 
+0x2c06 006360 nop 12000 
+0x2c07 006361 nop 12000 
+0x2c08 006362 nop 12000 
+0x2c09 006363 nop 12000 
+0x2c0a 006364 nop 12000 
+0x2c0b 006365 nop 12000 
+0x2c0c 006366 nop 12000 
+0x2c0d 006367 nop 12000 
+0x2c0e 006368 nop 12000 
+0x2c0f 006369 isub alarm ,pdata 
+0x2c10 006370 add pdata ,0x30 ,pdata 
+0x2c11 006371 arg 0xff ,temp 
+0x2c12 006372 call ceiling 
+0x2c13 006373 store 1 ,mem_lpm_xtalcnt 
+0x2c14 006374 nop 30000 
+0x2c15 006375 nop 30000 
+0x2c16 006376 nop 30000 
+0x2c17 006377 rtn 
+:      006382 lpm_write_config:
+0x2c18 006383 arg 0xfff ,contw 
+0x2c19 006384 iand contw ,contw 
+0x2c1a 006385 fetch 1 ,mem_lpm_config 
+0x2c1b 006386 and_into 0xf0 ,pdata 
+0x2c1c 006387 lshift8 pdata ,pdata 
+0x2c1d 006388 ior contw ,pdata 
+0x2c1e 006389 hstore 2 ,core_lpm_reg 
+0x2c1f 006390 ifetch 2 ,contr 
+0x2c20 006391 istore 2 ,contw 
+:      006393 lpm_write_ctrl:
+0x2c21 006394 setarg lpmreg_sel_ctrl 
+0x2c22 006395 branch lpm_write 
+:      006397 lpm_write_ctrl2:
+0x2c23 006398 setarg lpmreg_sel_ctrl2 
+:      006399 lpm_write:
+0x2c24 006400 until null ,lpo_edge 
+0x2c25 006401 hstore 1 ,core_lpm_wr 
+0x2c26 006402 until null ,lpo_edge 
+0x2c27 006403 until null ,lpo_edge 
+0x2c28 006404 rtn 
+:      006407 lpm_write_gpio_wakeup:
+0x2c29 006408 bpatch patch16_0 ,mem_patch16 
+0x2c2a 006409 fetch 4 ,mem_gpio_wakeup_low 
+0x2c2b 006410 hstore 4 ,core_lpm_reg 
+0x2c2c 006411 setarg lpmreg_sel_gpiolow 
+0x2c2d 006412 call lpm_write 
+0x2c2e 006413 fetch 4 ,mem_gpio_wakeup_high 
+0x2c2f 006414 hstore 4 ,core_lpm_reg 
+0x2c30 006415 setarg lpmreg_sel_gpiohigh 
+0x2c31 006416 branch lpm_write 
+:      006418 lpm_get_wake_lock:
+0x2c32 006419 fetch 2 ,mem_lpm_wake_lock 
+0x2c33 006420 qset1 pdata 
+0x2c34 006421 store 2 ,mem_lpm_wake_lock 
+0x2c35 006422 rtn 
+:      006424 lpm_put_wake_lock:
+0x2c36 006425 fetch 2 ,mem_lpm_wake_lock 
+0x2c37 006426 qset0 pdata 
+0x2c38 006427 store 2 ,mem_lpm_wake_lock 
+0x2c39 006428 rtn 
+:      006432 lpm_check_wake_lock:
+0x2c3a 006433 bpatch patch16_1 ,mem_patch16 
+0x2c3b 006434 call app_check_wake_lock 
+0x2c3c 006435 fetch 2 ,mem_lpm_wake_lock 
+0x2c3d 006436 copy pdata ,rega 
+0x2c3e 006437 fetch 1 ,mem_state_map 
+0x2c3f 006438 isolate1 smap_rxlmp ,pdata 
+0x2c40 006439 setflag true ,wake_lock_lmp_rx ,rega 
+0x2c41 006440 fetch 1 ,mem_lmo_opcode1 
+0x2c42 006441 fetcht 1 ,mem_lmo_opcode2 
+0x2c43 006442 iadd temp ,pdata 
+0x2c44 006443 fetcht 1 ,mem_lmp_to_send 
+0x2c45 006444 iadd temp ,pdata 
+0x2c46 006445 nsetflag blank ,wake_lock_lmp_tx ,rega 
+0x2c47 006446 fetch 1 ,mem_le_tx_buff_used 
+0x2c48 006447 nsetflag blank ,wake_lock_ble_tx ,rega 
+0x2c49 006448 fetch 2 ,mem_l2cap_rxbuff1_len 
+0x2c4a 006449 fetcht 2 ,mem_l2cap_rxbuff2_len 
+0x2c4b 006450 iadd temp ,pdata 
+0x2c4c 006451 nsetflag blank ,wake_lock_l2cap_rx ,rega 
+0x2c4d 006452 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x2c4e 006453 nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+0x2c4f 006454 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+0x2c50 006455 nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+0x2c51 006456 fetch 1 ,mem_hci_cmd 
+0x2c52 006457 nsetflag blank ,wake_lock_cmd ,rega 
+0x2c53 006458 fetch 1 ,mem_device_option 
+0x2c54 006459 compare dvc_op_module ,pdata ,0xff 
+0x2c55 006460 call lpm_uart_wake_lock ,true 
+0x2c56 006461 setarg -8 
+0x2c57 006462 iand rega ,rega 
+0x2c58 006463 copy rega ,pdata 
+0x2c59 006464 store 2 ,mem_lpm_wake_lock 
+0x2c5a 006465 rtn 
+:      006467 lpm_uart_wake_lock:
+0x2c5b 006468 hfetch 2 ,core_uart_rxitems 
+0x2c5c 006469 nsetflag blank ,wake_lock_uart_rx ,rega 
+0x2c5d 006470 hfetch 2 ,core_uart_txitems 
+0x2c5e 006471 nsetflag blank ,wake_lock_uart_tx ,rega 
+0x2c5f 006472 rtn 
+:      006474 lpm_shut_down:
+0x2c60 006475 hfetch 4 ,core_lpm_ctrl 
+0x2c61 006476 set0 27 ,pdata 
+0x2c62 006477 hstore 4 ,core_lpm_reg 
+0x2c63 006478 call lpm_write_ctrl 
+0x2c64 006479 branch assert 
+:      006481 lpm_disable_exen_output:
+0x2c65 006482 hfetch 4 ,core_lpm_xtalcnt 
+0x2c66 006483 set0 20 ,pdata 
+0x2c67 006484 hstore 4 ,core_lpm_reg 
+0x2c68 006485 branch lpm_write_ctrl2 
+:      006487 check_bt_disabled:
+0x2c69 006488 fetch 2 ,mem_chip_functions 
+0x2c6a 006489 bbit1 bt_disabled ,assert 
+0x2c6b 006490 rtn 
+:      006491 check_ble_disabled:
+0x2c6c 006492 fetch 2 ,mem_chip_functions 
+0x2c6d 006493 bbit1 ble_disabled ,assert 
+0x2c6e 006494 rtn 
+:      006495 check_module_disabled:
+0x2c6f 006496 fetch 2 ,mem_chip_functions 
+0x2c70 006497 bbit1 module_disable ,assert 
+0x2c71 006498 rtn 
+:      006559 g24_dispatch:
+0x2c72 006560 bpatch patch16_2 ,mem_patch16 
+0x2c73 006561 call g24_head_ptr2regc 
+0x2c74 006562 add regc ,offset_24g_mode ,regb 
+0x2c75 006563 ifetch 1 ,regb 
+0x2c76 006565 rtneq disable_24g 
+0x2c77 006566 beq tx_24g ,g24_transmit_process 
+0x2c78 006567 beq rx_24g ,g24_receive_process 
+0x2c79 006568 rtn 
+:      006570 g24_head_ptr2regc:
+0x2c7a 006571 fetcht 2 ,mem_24g_head_ptr 
+0x2c7b 006572 copy temp ,regc 
+0x2c7c 006573 rtn 
+:      006575 g24_receive_process_init:
+0x2c7d 006576 call g24_receive_init 
+0x2c7e 006577 branch g24_mode_switch_init 
+:      006579 g24_receive_process:
+0x2c7f 006580 call g24_mode_switch 
+0x2c80 006581 call g24_dongle_work_mode_auto 
+0x2c81 006582 call g24_dongle_bind_mode_auto 
+0x2c82 006583 branch g24_dongle_search_mode_auto 
+:      006586 g24_pair_init:
+0x2c83 006589 call g24_set0_mem_pid 
+0x2c84 006590 setarg g24_pair_ch 
+0x2c85 006591 call g24_store_mem_ch 
+0x2c86 006592 call g24_store_mem_pair_txpower 
+0x2c87 006595 add regc ,offset_24g_paring_addr ,rega 
+0x2c88 006596 ifetch 4 ,rega 
+0x2c89 006597 branch g24_store_mem_addr 
+:      006599 g24_ch:
+0x2c8a 006600 call g24_head_ptr2regc 
+0x2c8b 006601 add regc ,offset_24g_current_ch_number ,regb 
+0x2c8c 006602 ifetcht 1 ,regb 
+0x2c8d 006604 call g24_ch_temp_incre_size4 
+0x2c8e 006605 add regc ,offset_24g_current_ch_number ,contw 
+0x2c8f 006607 branch g24_contw_istoret_1byte 
+:      006609 g24_ch_temp_incre_size4:
+0x2c90 006610 call g24_ch_calc 
+0x2c91 006611 increase 1 ,temp 
+0x2c92 006612 and_into 3 ,temp 
+0x2c93 006613 rtn 
+:      006615 g24_ch_calc:
+0x2c94 006616 add regc ,offset_24g_addr ,regb 
+0x2c95 006617 ifetch 1 ,regb 
+0x2c96 006619 and_into 0x03 ,pdata 
+0x2c97 006620 mul32 pdata ,4 ,rega 
+0x2c98 006621 add regc ,offset_24g_ch_map1 ,pdata 
+0x2c99 006623 iadd rega ,pdata 
+0x2c9a 006624 iadd temp ,contr 
+0x2c9b 006625 ifetch 1 ,contr 
+0x2c9c 006627 branch g24_store_mem_ch 
+:      006629 g24_set_device_addr:
+0x2c9d 006630 call g24_store_mem_tx_power_temp 
+0x2c9e 006631 call otp_enable_chgpump 
+0x2c9f 006632 setarg 0x7e2 
+0x2ca0 006633 arg mem_temp ,rega 
+0x2ca1 006634 arg 4 ,temp 
+0x2ca2 006635 call otpd_read_data 
+0x2ca3 006636 call otp_disable_chgpump 
+0x2ca4 006637 fetch 4 ,mem_temp 
+0x2ca5 006638 call g24_store_mem_device_addr 
+0x2ca6 006640 nrtn blank 
+0x2ca7 006641 fetch 4 ,mem_lap 
+0x2ca8 006643 branch g24_store_mem_device_addr 
+:      006645 g24_transmit_rf_sta_init:
+0x2ca9 006646 call g24_set1_mem_rf_last_sta 
+0x2caa 006648 setarg 0 
+0x2cab 006649 call g24_store_mem_sync_cnt 
+:      006651 g24_transmit_rf_ctrl_clear:
+0x2cac 006652 call g24_fetch_mem_data_type 
+0x2cad 006654 and_into bits_data ,pdata 
+0x2cae 006656 branch g24_store_mem_data_type 
+:      006658 g24_hop_ch_enable:
+0x2caf 006659 call g24_fetch_mem_data_type 
+0x2cb0 006661 set1 bit_hop ,pdata 
+0x2cb1 006662 call g24_store_mem_data_type 
+0x2cb2 006665 branch g24_store_mem_txpayload 
+:      006667 g24_transmit_hop_pac_fail:
+0x2cb3 006668 call g24_fetch_mem_rf_work_stage 
+0x2cb4 006670 beq 1 ,g24_transmit_hop_pac_fail_wo_hop 
+0x2cb5 006671 beq 2 ,g24_transmit_hop_pac_fail_hop_stage2 
+0x2cb6 006672 rtn 
+:      006674 g24_transmit_hop_pac_fail_wo_hop:
+0x2cb7 006675 call g24_set2_mem_sync_cnt 
+:      006677 g24_transmit_hop_pac_fail_stage1:
+0x2cb8 006678 add regc ,offset_24g_hop_pac_retry ,contw 
+0x2cb9 006679 call g24_mem_set0 
+0x2cba 006681 call g24_store_mem_rf_last_sta 
+0x2cbb 006683 branch g24_transmit_rf_ctrl_clear 
+:      006685 g24_transmit_hop_pac_fail_hop_stage2:
+0x2cbc 006686 call g24_set0_mem_rf_hop_ch 
+0x2cbd 006688 branch g24_transmit_hop_pac_fail_stage1 
+:      006690 g24_transmit_pac_fail_hop_stage3:
+0x2cbe 006691 add regc ,offset_24g_txfail_cnt ,rega 
+0x2cbf 006692 ifetch 1 ,rega 
+0x2cc0 006694 increase 1 ,pdata 
+0x2cc1 006695 add regc ,offset_24g_txfail_cnt ,contw 
+0x2cc2 006696 istore 1 ,contw 
+0x2cc3 006698 beq 0x20 ,g24_tx_attempt_fail 
+0x2cc4 006699 call g24_fetch_mem_rf_hop_ch 
+0x2cc5 006701 beq 1 ,g24_rf_hop_fastly 
+0x2cc6 006702 setarg 1 
+0x2cc7 006703 call g24_store_mem_rf_hop_ch 
+:      006705 g24_rf_hop_attemp_again:
+0x2cc8 006706 call g24_fetch_mem_rf_hop_ch 
+0x2cc9 006708 bne 1 ,g24_transmit_rf_ctrl_clear 
+:      006709 g24_rf_hop_fastly:
+0x2cca 006710 add regc ,offset_24g_hop_fastly_cnt ,rega 
+0x2ccb 006711 ifetch 1 ,rega 
+0x2ccc 006713 increase 1 ,pdata 
+0x2ccd 006714 call g24_store_mem_hop_fastly_cnt 
+0x2cce 006716 beq 4 ,g24_rf_hop_fastly_exit 
+0x2ccf 006717 call g24_ch 
+0x2cd0 006718 call g24_set2_mem_max_retry 
+0x2cd1 006720 branch g24_transmit_packet 
+:      006722 g24_rf_hop_fastly_exit:
+0x2cd2 006723 call g24_set0_mem_hop_fastly_cnt 
+0x2cd3 006725 branch g24_transmit_rf_ctrl_clear 
+:      006727 g24_set0_mem_hop_fastly_cnt:
+0x2cd4 006728 setarg 0 
+:      006729 g24_store_mem_hop_fastly_cnt:
+0x2cd5 006730 add regc ,offset_24g_hop_fastly_cnt ,contw 
+0x2cd6 006731 branch g24_contw_istore_1byte 
+:      006733 g24_transmit_hop_pac_succ_wo_hop:
+0x2cd7 006734 call g24_set2_mem_sync_cnt 
+:      006736 g24_transmit_hop_pac_succ:
+0x2cd8 006737 call g24_set0_mem_rf_hop_ch 
+0x2cd9 006739 call g24_set1_mem_rf_last_sta 
+0x2cda 006741 branch g24_transmit_rf_ctrl_clear 
+:      006743 g24_transmit_succ_rf_config:
+0x2cdb 006744 call g24_fetch_mem_rf_work_stage 
+0x2cdc 006746 beq 3 ,g24_transmit_hop_pac_succ 
+0x2cdd 006747 call g24_fetch_mem_data_type 
+0x2cde 006749 isolate0 bit_hop ,pdata 
+0x2cdf 006750 branch g24_transmit_rf_sta_init ,true 
+0x2ce0 006751 call g24_fetch_mem_rf_work_stage 
+0x2ce1 006753 beq 1 ,g24_transmit_hop_pac_succ_wo_hop 
+0x2ce2 006754 beq 2 ,g24_transmit_hop_pac_succ 
+0x2ce3 006755 rtn 
+:      006757 g24_rf_sta_check:
+0x2ce4 006758 call g24_fetch_mem_pairing_sm 
+0x2ce5 006760 rtnne state_24g_pairing_success 
+0x2ce6 006761 call g24_rf_laststa_synccnt_check 
+0x2ce7 006762 ncall g24_rf_sync_cnt_check ,user2 
+0x2ce8 006763 rtn 
+:      006765 g24_rf_laststa_synccnt_check:
+0x2ce9 006766 disable user2 
+0x2cea 006767 add regc ,offset_24g_rf_last_sta ,rega 
+0x2ceb 006768 ifetch 1 ,rega 
+0x2cec 006770 rtnne 1 
+0x2ced 006771 add regc ,offset_24g_sync_cnt ,rega 
+0x2cee 006772 ifetch 1 ,rega 
+0x2cef 006774 rtnne 0 
+0x2cf0 006775 setarg 1 
+0x2cf1 006776 call g24_store_mem_rf_work_stage 
+0x2cf2 006778 call g24_set4_mem_max_retry 
+0x2cf3 006780 branch enable_user2 
+:      006782 g24_rf_sync_cnt_check:
+0x2cf4 006783 add regc ,offset_24g_sync_cnt ,rega 
+0x2cf5 006784 ifetch 1 ,rega 
+0x2cf6 006786 branch g24_rf_hop_attemp ,blank 
+0x2cf7 006787 increase -1 ,pdata 
+0x2cf8 006788 call g24_store_mem_sync_cnt 
+0x2cf9 006790 setarg 2 
+0x2cfa 006791 call g24_store_mem_rf_work_stage 
+0x2cfb 006793 call g24_ch 
+0x2cfc 006795 branch g24_set4_mem_max_retry 
+:      006797 g24_store_mem_rf_work_stage:
+0x2cfd 006798 add regc ,offset_24g_rf_work_stage ,contw 
+0x2cfe 006799 branch g24_contw_istore_1byte 
+:      006802 g24_rf_hop_attemp:
+0x2cff 006803 setarg 3 
+0x2d00 006804 call g24_store_mem_rf_work_stage 
+0x2d01 006806 call g24_fetch_mem_rf_hop_ch 
+0x2d02 006808 nbranch g24_rf_hop_attemp_again ,blank 
+0x2d03 006809 call g24_ch 
+:      006811 g24_set2_mem_max_retry:
+0x2d04 006812 setarg 2 
+0x2d05 006813 branch g24_store_mem_max_retry 
+:      006815 g24_transmit_process:
+0x2d06 006816 rtnmark0 mark_24g 
+0x2d07 006817 set1 mark_24g_conext ,mark 
+0x2d08 006818 bpatch patch16_3 ,mem_patch16 
+0x2d09 006819 add regc ,offset_24g_tx_without_int ,rega 
+0x2d0a 006820 ifetch 1 ,rega 
+0x2d0b 006822 beq 1 ,g24_transmit_without_int 
+0x2d0c 006823 call g24_timer_check 
+0x2d0d 006824 nbranch g24_transmit_exit ,user 
+0x2d0e 006825 call g24_interval_calibrate 
+:      006826 g24_transmit_without_int:
+0x2d0f 006827 add regc ,offset_24g_tx_without_int ,contw 
+0x2d10 006828 call g24_mem_set0 
+0x2d11 006830 call g24_txdata_prep 
+0x2d12 006831 nbranch g24_enter_lpm ,user 
+0x2d13 006832 call g24_rf_sta_check 
+:      006833 g24_transmit_start:
+0x2d14 006834 call g24_transmit_packet 
+0x2d15 006835 call g24_power_ctrl 
+:      006836 g24_transmit_exit:
+0x2d16 006837 set0 mark_24g_conext ,mark 
+0x2d17 006838 rtn 
+:      006840 g24_timer_timeout:
+0x2d18 006841 rtn zero 
+0x2d19 006842 set1 28 ,pdata 
+0x2d1a 006843 rtn 
+:      006845 g24_interval_calibrate:
+0x2d1b 006846 add regc ,offset_24g_pac_index ,rega 
+0x2d1c 006847 ifetch 1 ,rega 
+0x2d1d 006849 increase 1 ,pdata 
+0x2d1e 006850 add regc ,offset_24g_pac_index ,contw 
+0x2d1f 006851 istore 1 ,contw 
+0x2d20 006853 beq 4 ,g24_interval_max 
+0x2d21 006854 beq 5 ,g24_interval_min 
+0x2d22 006855 rtn 
+:      006856 g24_interval_max:
+0x2d23 006857 add regc ,offset_24g_interval_max ,rega 
+0x2d24 006858 ifetch 1 ,rega 
+:      006860 g24_interval_update:
+0x2d25 006862 add regc ,offset_24g_interval ,contw 
+0x2d26 006863 branch g24_contw_istore_1byte 
+:      006865 g24_interval_min:
+0x2d27 006866 add regc ,offset_24g_pac_index ,contw 
+0x2d28 006867 call g24_mem_set0 
+0x2d29 006869 add regc ,offset_24g_interval_min ,rega 
+0x2d2a 006870 ifetch 1 ,rega 
+0x2d2b 006872 branch g24_interval_update 
+:      006874 g24_txdata_prep:
+0x2d2c 006875 call g24_fetch_mem_pairing_sm 
+0x2d2d 006877 bne state_24g_pairing_success ,g24_pairing_sm 
+0x2d2e 006878 bpatch patch16_4 ,mem_patch16 
+0x2d2f 006879 call g24_package_data 
+0x2d30 006880 nbranch g24_txdata_last_pac ,user 
+0x2d31 006881 call g24_transmit_prep 
+0x2d32 006882 call g24_power_ctrl_pac_incrs 
+:      006883 g24_txdata_enable_tx:
+0x2d33 006885 setarg ensure_on_24g 
+:      006886 g24_store_mem_ensure:
+0x2d34 006887 add regc ,offset_24g_ensure ,contw 
+0x2d35 006888 branch g24_contw_istore_1byte 
+:      006890 g24_txdata_last_pac:
+0x2d36 006891 add regc ,offset_24g_ensure ,rega 
+0x2d37 006892 ifetch 1 ,rega 
+0x2d38 006894 beq ensure_on_24g ,enable_user 
+0x2d39 006895 rtn 
+:      006897 g24_package_data:
+0x2d3a 006899 add regc ,offset_24g_cb_data ,temp 
+0x2d3b 006900 ifetch 2 ,temp 
+0x2d3c 006902 call callback_func 
+0x2d3d 006903 nrtn user 
+0x2d3e 006904 copy rega ,pdata 
+0x2d3f 006905 store 1 ,mem_rega 
+0x2d40 006906 add regc ,offset_24g_abort_pac ,contw 
+0x2d41 006907 call g24_mem_set0 
+0x2d42 006909 call g24_transmit_rf_ctrl_clear 
+0x2d43 006910 store 1 ,mem_24g_common_temp 
+0x2d44 006911 fetch 1 ,mem_rega 
+0x2d45 006912 copy pdata ,rega 
+0x2d46 006913 add rega ,1 ,temp 
+0x2d47 006914 arg mem_24g_common_temp + 1 ,contw 
+0x2d48 006915 copy rega ,loopcnt 
+0x2d49 006916 copy regb ,contr 
+0x2d4a 006917 call memcpy 
+0x2d4b 006918 arg mem_24g_common_temp ,rega 
+:      006919 g24_put_data_in_buff:
+0x2d4c 006920 rtnmark0 mark_24g_conext 
+0x2d4d 006921 add regc ,offset_24g_datalen ,contw 
+0x2d4e 006922 istoret 1 ,contw 
+0x2d4f 006924 copy temp ,loopcnt 
+0x2d50 006925 add regc ,offset_24g_txbuf ,contw 
+0x2d51 006927 copy rega ,contr 
+0x2d52 006928 branch memcpy 
+:      006930 g24_transmit_prep:
+0x2d53 006932 add regc ,offset_24g_datalen ,rega 
+0x2d54 006933 ifetch 1 ,rega 
+0x2d55 006935 increase 2 ,pdata 
+0x2d56 006936 add regc ,offset_24g_txlen ,contw 
+0x2d57 006937 istore 1 ,contw 
+0x2d58 006940 call g24_fetch_mem_data_type 
+0x2d59 006942 call g24_store_mem_txpayload 
+0x2d5a 006945 add regc ,offset_24g_datalen ,rega 
+0x2d5b 006946 ifetch 1 ,rega 
+0x2d5c 006948 lshift3 pdata ,pdata 
+0x2d5d 006949 add regc ,offset_24g_pid ,rega 
+0x2d5e 006950 ifetcht 1 ,rega 
+0x2d5f 006952 and temp ,0x03 ,temp 
+0x2d60 006953 lshift temp ,temp 
+0x2d61 006954 ior temp ,pdata 
+0x2d62 006955 add regc ,offset_24g_no_ack ,rega 
+0x2d63 006956 ifetcht 1 ,rega 
+0x2d64 006958 iadd temp ,pdata 
+0x2d65 006959 istore 1 ,contw 
+0x2d66 006961 add regc ,offset_24g_datalen ,rega 
+0x2d67 006962 ifetch 1 ,rega 
+0x2d68 006964 iforce loopcnt 
+0x2d69 006965 add regc ,offset_24g_txbuf ,contr 
+0x2d6a 006967 branch memcpy 
+:      006969 g24_send_abort_packet:
+0x2d6b 006970 call g24_set1_mem_abort_pac 
+0x2d6c 006972 call g24_set0_mem_rf_hop_ch 
+0x2d6d 006974 call g24_power_ctrl_reinit 
+0x2d6e 006975 call g24_transmit_rf_ctrl_clear 
+0x2d6f 006976 store 1 ,mem_24g_common_temp 
+0x2d70 006977 call g24_put_data_in_buff_pre 
+0x2d71 006978 call g24_fetch_mem_data_type 
+0x2d72 006980 set1 bit_abort ,pdata 
+0x2d73 006981 call g24_store_mem_data_type 
+0x2d74 006983 call g24_transmit_prep 
+0x2d75 006984 call g24_txdata_enable_tx 
+0x2d76 006985 branch g24_transmit_start 
+:      006987 g24_put_data_in_buff_pre:
+0x2d77 006988 store 1 ,mem_24g_common_temp + 1 
+0x2d78 006989 call g24_fetch_mem_device_addr 
+0x2d79 006991 store 4 ,mem_24g_common_temp + 2 
+0x2d7a 006992 arg 6 ,temp 
+0x2d7b 006993 arg mem_24g_common_temp ,rega 
+0x2d7c 006994 branch g24_put_data_in_buff 
+:      006996 g24_enter_lpm:
+0x2d7d 006997 add regc ,offset_24g_abort_pac ,rega 
+0x2d7e 006998 ifetch 1 ,rega 
+0x2d7f 007000 branch g24_send_abort_packet ,blank 
+:      007001 g24_enter_lpm_prepare:
+0x2d80 007003 add regc ,offset_24g_cb_lpm_prepare ,rega 
+0x2d81 007004 ifetch 2 ,rega 
+0x2d82 007006 branch callback_func 
+:      007008 g24_lpm_long_sleep:
+0x2d83 007009 call g24_head_ptr2regc 
+0x2d84 007011 call lpo_calibration 
+0x2d85 007012 fetch 3 ,mem_clks_per_lpo 
+0x2d86 007013 rtn blank 
+0x2d87 007014 add regc ,offset_24g_cb_lpm_before ,temp 
+0x2d88 007015 ifetch 2 ,temp 
+0x2d89 007017 call callback_func 
+0x2d8a 007018 add regc ,offset_24g_enter_hibernate ,temp 
+0x2d8b 007019 ifetch 8 ,temp 
+0x2d8c 007020 call clk2lpo 
+0x2d8d 007021 storet 4 ,mem_sleep_counter 
+0x2d8e 007022 branch lpm_sleep 
+:      007024 g24_transmit_packet:
+0x2d8f 007025 call g24_head_ptr2regc 
+0x2d90 007026 add regc ,offset_24g_retry ,contw 
+0x2d91 007027 call g24_mem_set0 
+:      007029 g24_transmit_loop:
+0x2d92 007030 call g24_transmit_receive_ack 
+0x2d93 007031 nbranch g24_retransmit ,sync 
+0x2d94 007032 nbranch g24_retransmit ,user3 
+0x2d95 007033 call g24_ackpayload_parse 
+0x2d96 007034 call g24_power_ctrl_ack_incrs 
+:      007035 g24_transmit_next_packet:
+0x2d97 007036 call g24_head_ptr2regc 
+0x2d98 007037 add regc ,offset_24g_pid ,rega 
+0x2d99 007038 ifetch 1 ,rega 
+0x2d9a 007040 increase 1 ,pdata 
+0x2d9b 007041 call g24_store_mem_pid 
+0x2d9c 007043 call g24_fetch_mem_pairing_sm 
+0x2d9d 007045 bne state_24g_pairing_success ,g24_paring_mode 
+0x2d9e 007046 call g24_transmit_succ_rf_config 
+:      007047 g24_transmit_abandon:
+0x2d9f 007048 setarg 0 
+0x2da0 007049 add regc ,offset_24g_txfail_cnt ,contw 
+0x2da1 007050 istore 2 ,contw 
+0x2da2 007054 setarg ensure_off_24g 
+0x2da3 007055 branch g24_store_mem_ensure 
+:      007058 g24_transmit_receive_ack:
+0x2da4 007059 disable user3 
+0x2da5 007060 call g24_transmit 
+0x2da6 007061 call g24_head_ptr2regc 
+0x2da7 007062 add regc ,offset_24g_no_ack ,rega 
+0x2da8 007063 ifetch 1 ,rega 
+0x2da9 007065 beq no_ack_24g ,g24_transmit_no_ack 
+0x2daa 007066 call g24_receive_packet 
+0x2dab 007067 branch g24_end_of_packet 
+:      007068 g24_transmit_no_ack:
+0x2dac 007069 call g24_end_of_packet 
+0x2dad 007070 branch g24_transmit_next_packet 
+:      007073 g24_retransmit:
+0x2dae 007074 bpatch patch16_5 ,mem_patch16 
+0x2daf 007075 add regc ,offset_24g_get_ack_fail ,rega 
+0x2db0 007076 ifetch 1 ,rega 
+0x2db1 007078 increase 1 ,pdata 
+0x2db2 007079 add regc ,offset_24g_get_ack_fail ,contw 
+0x2db3 007080 istore 1 ,contw 
+0x2db4 007082 call g24_fetch_mem_pairing_sm 
+0x2db5 007084 bne state_24g_pairing_success ,g24_tx_paring_retry 
+0x2db6 007085 add regc ,offset_24g_retry ,rega 
+0x2db7 007086 ifetcht 1 ,rega 
+0x2db8 007088 increase 1 ,temp 
+0x2db9 007089 add regc ,offset_24g_retry ,contw 
+0x2dba 007090 istoret 1 ,contw 
+0x2dbb 007092 add regc ,offset_24g_max_retry ,rega 
+0x2dbc 007093 ifetch 1 ,rega 
+0x2dbd 007095 isub temp ,pdata 
+0x2dbe 007096 nbranch g24_transmit_loop ,blank 
+0x2dbf 007097 bpatch patch16_6 ,mem_patch16 
+0x2dc0 007098 call g24_fetch_mem_rf_work_stage 
+0x2dc1 007100 beq 3 ,g24_transmit_pac_fail_hop_stage3 
+0x2dc2 007101 add regc ,offset_24g_hop_pac_retry ,rega 
+0x2dc3 007102 ifetch 1 ,rega 
+0x2dc4 007104 increase 1 ,pdata 
+0x2dc5 007105 add regc ,offset_24g_hop_pac_retry ,contw 
+0x2dc6 007106 istore 1 ,contw 
+0x2dc7 007108 beq 2 ,g24_transmit_hop_pac_fail 
+0x2dc8 007109 call g24_hop_ch_enable 
+0x2dc9 007110 setarg 1 
+0x2dca 007111 call g24_store_mem_max_retry 
+0x2dcb 007113 branch g24_transmit_packet 
+:      007115 g24_tx_paring_retry:
+0x2dcc 007116 add regc ,offset_24g_get_ack_fail ,rega 
+0x2dcd 007117 ifetch 1 ,rega 
+0x2dce 007119 rtnne 0xff 
+0x2dcf 007120 add regc ,offset_24g_get_ack_fail ,contw 
+0x2dd0 007121 call g24_mem_set0 
+0x2dd1 007123 branch g24_stop_24g_mode 
+:      007125 g24_tx_attempt_fail:
+0x2dd2 007126 add regc ,offset_24g_txfail_cnt ,contw 
+0x2dd3 007127 call g24_mem_set0 
+:      007129 g24_stop_24g_mode:
+0x2dd4 007130 jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+0x2dd5 007131 branch ui_ipc_send_event 
+:      007133 g24_ackpayload_parse:
+0x2dd6 007134 call g24_read_len_pid_crc 
+0x2dd7 007135 add regc ,offset_24g_rxdata_length ,rega 
+0x2dd8 007136 ifetch 1 ,rega 
+0x2dd9 007138 rtn blank 
+0x2dda 007139 iforce loopcnt 
+0x2ddb 007140 add regc ,offset_24g_rxbuf_add2 ,contr 
+0x2ddc 007142 add regc ,offset_24g_rxpayload ,contw 
+0x2ddd 007144 branch memcpy 
+:      007147 g24_read_len_pid_crc:
+0x2dde 007149 call g24_fetch_mem_rxbuf_add1 
+0x2ddf 007151 rshift3 pdata ,pdata 
+0x2de0 007152 add regc ,offset_24g_rxdata_length ,contw 
+0x2de1 007153 istore 1 ,contw 
+0x2de2 007156 increase 1 ,pdata 
+0x2de3 007157 add regc ,offset_24g_rxbuf_add1 ,contr 
+0x2de4 007159 iadd contr ,contr 
+0x2de5 007160 ifetch 3 ,contr 
+0x2de6 007161 add regc ,offset_24g_sta_crc ,contw 
+0x2de7 007162 istore 3 ,contw 
+0x2de8 007165 call g24_fetch_mem_rxbuf_add1 
+0x2de9 007167 rshift pdata ,pdata 
+0x2dea 007168 and pdata ,0x03 ,pdata 
+0x2deb 007169 add regc ,offset_24g_sta_pid ,contw 
+0x2dec 007170 istore 1 ,contw 
+0x2ded 007172 rtn 
+:      007174 g24_prep:
+0x2dee 007175 disable enable_crc 
+0x2def 007176 disable enable_white 
+0x2df0 007177 setarg 0x555555 
+0x2df1 007178 iforce crc24_init 
+0x2df2 007179 rtn 
+:      007181 g24_set_freq_tx:
+0x2df3 007182 call set_sync_on 
+0x2df4 007183 add regc ,offset_24g_ch ,rega 
+0x2df5 007184 ifetcht 1 ,rega 
+0x2df6 007186 branch set_freq_tx 
+:      007188 g24_transmit:
+0x2df7 007189 call g24_prep 
+0x2df8 007190 call g24_set_freq_tx 
+0x2df9 007191 set1 txgfsk ,radio_ctrl 
+0x2dfa 007192 enable encode_fec0 
+0x2dfb 007193 enable is_tx 
+0x2dfc 007194 disable is_rx 
+0x2dfd 007195 call le_enable 
+0x2dfe 007196 call g24_fetch_mem_addr 
+0x2dff 007198 iforce access 
+0x2e00 007199 inject mod ,32 
+0x2e01 007200 enable enable_crc 
+0x2e02 007201 add regc ,offset_24g_txlen ,rega 
+0x2e03 007202 ifetch 1 ,rega 
+0x2e04 007204 iforce loopcnt 
+0x2e05 007205 add regc ,offset_24g_txpayload ,contr 
+:      007207 g24tr_loop:
+0x2e06 007208 ifetch 1 ,contr 
+0x2e07 007209 inject mod ,8 
+0x2e08 007210 loop g24tr_loop 
+0x2e09 007211 enable enable_parity 
+0x2e0a 007212 inject mod ,24 
+0x2e0b 007213 disable enable_parity 
+0x2e0c 007214 until null ,tx_clear 
+0x2e0d 007215 bpatch patch16_7 ,mem_patch16 
+0x2e0e 007216 nop 100 
+0x2e0f 007217 disable encode_fec0 
+0x2e10 007218 rtn 
+:      007220 g24_receive_packet:
+0x2e11 007221 disable user3 
+0x2e12 007222 force 0 ,radio_ctrl 
+0x2e13 007223 add regc ,offset_24g_ch ,rega 
+0x2e14 007224 ifetcht 1 ,rega 
+0x2e15 007226 call set_freq_rx 
+0x2e16 007227 call rf_rx_enable 
+:      007228 g24_receive_rxon:
+0x2e17 007229 call g24_prep 
+0x2e18 007230 enable decode_fec0 
+0x2e19 007231 enable is_rx 
+0x2e1a 007232 disable is_tx 
+0x2e1b 007233 call le_enable 
+0x2e1c 007234 call g24_fetch_mem_addr 
+0x2e1d 007236 iforce access 
+0x2e1e 007237 enable swfine 
+0x2e1f 007238 add regc ,offset_24g_rx_window ,rega 
+0x2e20 007239 ifetch 2 ,rega 
+0x2e21 007241 iforce stop_watch 
+0x2e22 007242 correlate null ,timeout 
+0x2e23 007243 nbranch g24_sync_timeout ,sync 
+0x2e24 007244 enable enable_crc 
+0x2e25 007245 parse demod ,bucket ,8 
+0x2e26 007246 rshift3 pwindow ,pdata 
+0x2e27 007247 add regc ,offset_24g_rxbuf ,contw 
+0x2e28 007248 istore 1 ,contw 
+0x2e29 007250 add regc ,offset_24g_mode ,rega 
+0x2e2a 007251 ifetch 1 ,rega 
+0x2e2b 007253 beq rx_24g ,g24_receive_skip 
+0x2e2c 007254 bpatch patch17_0 ,mem_patch17 
+0x2e2d 007255 add regc ,offset_24g_rxbuf ,rega 
+0x2e2e 007256 ifetch 1 ,rega 
+0x2e2f 007258 add regc ,offset_24g_data_type ,rega 
+0x2e30 007259 ifetcht 1 ,rega 
+0x2e31 007261 icompare bits_data ,temp 
+0x2e32 007262 nbranch g24_end_of_packet ,true 
+:      007263 g24_receive_skip:
+0x2e33 007264 parse demod ,bucket ,8 
+0x2e34 007265 rshift3 pwindow ,pdata 
+0x2e35 007266 istore 1 ,contw 
+0x2e36 007267 rshift3 pdata ,pdata 
+0x2e37 007268 and pdata ,0x1f ,loopcnt 
+0x2e38 007269 branch g24rx_nopayload ,zero 
+:      007270 g24rx_loop:
+0x2e39 007271 parse demod ,bucket ,8 
+0x2e3a 007272 rshift3 pwindow ,pdata 
+0x2e3b 007273 istore 1 ,contw 
+0x2e3c 007274 loop g24rx_loop 
+:      007275 g24rx_nopayload:
+0x2e3d 007276 parse demod ,bucket ,24 
+0x2e3e 007277 rshift32 pdata ,pdata 
+0x2e3f 007278 rshift16 pdata ,pdata 
+0x2e40 007279 istore 3 ,contw 
+0x2e41 007280 branch g24_end_of_packet ,crc_failed 
+0x2e42 007281 enable user3 
+0x2e43 007282 disable decode_fec0 
+0x2e44 007283 rtn 
+:      007286 g24_end_of_packet:
+0x2e45 007287 disable encode_fec0 
+0x2e46 007288 disable decode_fec0 
+0x2e47 007289 disable enable_crc 
+0x2e48 007290 disable enable_white 
+0x2e49 007291 branch shutdown_radio ,is_rx 
+0x2e4a 007292 until null ,tx_clear 
+0x2e4b 007293 nop 100 
+0x2e4c 007294 branch shutdown_radio 
+:      007296 g24_sync_timeout:
+0x2e4d 007297 call rssi_noise 
+0x2e4e 007298 branch g24_end_of_packet 
+:      007300 rssi_noise:
+0x2e4f 007301 call save_rssi 
+0x2e50 007302 rtn blank 
+0x2e51 007303 add regc ,offset_rssi_noise_index ,rega 
+0x2e52 007304 ifetcht 1 ,rega 
+0x2e53 007306 arg mem_rssi_noise_buffer ,rega 
+0x2e54 007308 call rssi_noise_store 
+0x2e55 007309 add regc ,offset_rssi_noise_index ,contw 
+:      007311 g24_contw_istoret_1byte:
+0x2e56 007312 istoret 1 ,contw 
+0x2e57 007313 rtn 
+:      007315 rssi_noise_store:
+0x2e58 007316 arg rssi_buf_len_noise ,regb 
+0x2e59 007317 branch rssi_store 
+:      007335 rssi_store:
+0x2e5a 007336 copy rega ,pdata 
+0x2e5b 007337 iadd temp ,contw 
+0x2e5c 007338 fetch 1 ,mem_rssi 
+0x2e5d 007339 istore 1 ,contw 
+0x2e5e 007340 increase 1 ,temp 
+0x2e5f 007341 copy regb ,pdata 
+0x2e60 007342 iand_into temp 
+0x2e61 007343 rtn 
+:      007345 rssi_average:
+0x2e62 007346 arg 0 ,temp 
+0x2e63 007347 copy rega ,contr 
+:      007348 rssi_average_loop:
+0x2e64 007349 ifetch 1 ,contr 
+0x2e65 007350 iadd temp ,temp 
+0x2e66 007351 loop rssi_average_loop 
+0x2e67 007352 rshift8 temp ,temp 
+0x2e68 007353 rtn 
+:      007355 g24_power_ctrl_init:
+0x2e69 007356 call g24_head_ptr2regc 
+0x2e6a 007357 call g24_power_ctrl_incrs_level1 
+0x2e6b 007358 setarg 1 
+0x2e6c 007359 call g24_store_mem_power_ctrl_level 
+:      007361 g24_power_ctrl_reinit:
+0x2e6d 007362 setarg 0 
+0x2e6e 007363 call g24_store_mem_power_ctrl_pac 
+0x2e6f 007365 istore 1 ,contw 
+0x2e70 007367 rtn 
+:      007369 g24_power_ctrl_pac_incrs:
+0x2e71 007370 call g24_fetch_mem_power_ctrl_pac 
+0x2e72 007372 increase 1 ,pdata 
+:      007373 g24_store_mem_power_ctrl_pac:
+0x2e73 007375 add regc ,offset_power_ctrl_packet_cnt ,contw 
+0x2e74 007376 branch g24_contw_istore_1byte 
+:      007378 g24_power_ctrl_ack_incrs:
+0x2e75 007381 add regc ,offset_power_ctrl_ack_cnt ,rega 
+0x2e76 007382 ifetch 1 ,rega 
+0x2e77 007383 increase 1 ,pdata 
+0x2e78 007384 add regc ,offset_power_ctrl_ack_cnt ,contw 
+0x2e79 007385 branch g24_contw_istore_1byte 
+:      007387 g24_power_ctrl:
+0x2e7a 007388 bpatch patch17_1 ,mem_patch17 
+0x2e7b 007389 call g24_fetch_mem_power_ctrl_pac 
+0x2e7c 007391 sub pdata ,power_ctrl_max_packet_cnt ,null 
+0x2e7d 007392 rtn positive 
+0x2e7e 007393 add regc ,offset_power_ctrl_ack_cnt ,rega 
+0x2e7f 007394 ifetcht 1 ,rega 
+0x2e80 007396 isub temp ,temp 
+0x2e81 007397 call g24_power_ctrl_reinit 
+0x2e82 007398 setarg offset_power_ctrl_threshold_up 
+0x2e83 007399 iadd regc ,rega 
+0x2e84 007400 ifetch 1 ,rega 
+0x2e85 007402 isub temp ,null 
+0x2e86 007403 nbranch g24_power_ctrl_incrs ,positive 
+0x2e87 007404 setarg offset_power_ctrl_threshold_down 
+0x2e88 007405 iadd regc ,rega 
+0x2e89 007406 ifetch 1 ,rega 
+0x2e8a 007408 isub temp ,null 
+0x2e8b 007409 branch g24_power_ctrl_decrs ,positive 
+0x2e8c 007410 rtn 
+:      007412 g24_power_ctrl_incrs:
+0x2e8d 007413 add regc ,offset_power_ctrl_level ,rega 
+0x2e8e 007414 ifetch 1 ,rega 
+0x2e8f 007416 beq 2 ,g24_power_ctrl_incrs_level2 
+0x2e90 007417 increase 1 ,pdata 
+0x2e91 007418 call g24_store_mem_power_ctrl_level 
+0x2e92 007420 beq 1 ,g24_power_ctrl_incrs_level1 
+:      007421 g24_power_ctrl_incrs_level2:
+0x2e93 007422 setarg power_ctrl_losspac_thresh_up2 
+0x2e94 007423 call g24_store_mem_power_ctrl_threshold_up 
+0x2e95 007425 setarg power_ctrl_losspac_thresh_down2 
+0x2e96 007426 call g24_store_mem_power_ctrl_threshold_down 
+0x2e97 007429 add regc ,offset_power_ctrl_txpwr_level2 ,rega 
+0x2e98 007431 branch g24_ifetch_rega_store_mem_txpower 
+:      007433 g24_power_ctrl_decrs:
+0x2e99 007434 add regc ,offset_power_ctrl_level ,rega 
+0x2e9a 007435 ifetch 1 ,rega 
+0x2e9b 007437 beq 0 ,g24_power_ctrl_decrs_level0 
+0x2e9c 007438 increase -1 ,pdata 
+0x2e9d 007439 call g24_store_mem_power_ctrl_level 
+0x2e9e 007441 beq 0 ,g24_power_ctrl_decrs_level0 
+:      007442 g24_power_ctrl_decrs_level1:
+:      007445 g24_power_ctrl_incrs_level1:
+0x2e9f 007446 setarg power_ctrl_losspac_thresh_up1 
+0x2ea0 007447 call g24_store_mem_power_ctrl_threshold_up 
+0x2ea1 007449 setarg power_ctrl_losspac_thresh_down1 
+0x2ea2 007450 call g24_store_mem_power_ctrl_threshold_down 
+0x2ea3 007453 setarg offset_power_ctrl_txpwr_level1 
+:      007454 g24_iadd_offset_mem_txpower:
+0x2ea4 007455 iadd regc ,rega 
+:      007456 g24_ifetch_rega_store_mem_txpower:
+0x2ea5 007457 ifetch 1 ,rega 
+0x2ea6 007459 branch g24_store_mem_txpower 
+:      007461 g24_power_ctrl_decrs_level0:
+0x2ea7 007464 setarg power_ctrl_losspac_thresh_up0 
+0x2ea8 007465 call g24_store_mem_power_ctrl_threshold_up 
+0x2ea9 007467 setarg power_ctrl_losspac_thresh_down0 
+0x2eaa 007468 call g24_store_mem_power_ctrl_threshold_down 
+0x2eab 007471 setarg offset_power_ctrl_txpwr_level0 
+0x2eac 007473 branch g24_iadd_offset_mem_txpower 
+:      007487 g24_start_pairing_sm1:
+0x2ead 007488 set1 mark_24g ,mark 
+0x2eae 007489 call g24_pair_init 
+:      007490 g24_set_pairing_sm_1:
+0x2eaf 007492 setarg state_24g_pairing_1 
+0x2eb0 007493 branch g24_store_mem_pairing_sm 
+:      007495 g24_pairing_sm:
+0x2eb1 007496 add regc ,offset_24g_ensure ,rega 
+0x2eb2 007497 ifetch 1 ,rega 
+0x2eb3 007499 beq ensure_on_24g ,enable_user 
+0x2eb4 007500 call g24_fetch_mem_pairing_sm 
+0x2eb5 007502 beq state_24g_pairing_1 ,g24_pairing_sm_1 
+0x2eb6 007503 beq state_24g_pairing_2 ,g24_pairing_sm_2 
+0x2eb7 007504 beq state_24g_pairing_3 ,g24_pairing_sm_3 
+0x2eb8 007505 branch assert 
+:      007507 g24_pairing_sm_1:
+0x2eb9 007508 setarg state_24g_pairing_1_waiting_ack 
+0x2eba 007509 call g24_store_mem_pairing_sm 
+0x2ebb 007511 jam 0xaa ,mem_24g_common_temp 
+0x2ebc 007512 branch g24_pairing_sm_common 
+:      007513 g24_pairing_sm_2:
+0x2ebd 007514 setarg state_24g_pairing_2_waiting_ack 
+0x2ebe 007515 call g24_store_mem_pairing_sm 
+0x2ebf 007517 jam 0x55 ,mem_24g_common_temp 
+0x2ec0 007518 branch g24_pairing_sm_common 
+:      007519 g24_pairing_sm_3:
+0x2ec1 007520 setarg state_24g_pairing_3_waiting_ack 
+0x2ec2 007521 call g24_store_mem_pairing_sm 
+0x2ec3 007523 jam 0x22 ,mem_24g_common_temp 
+:      007524 g24_pairing_sm_common:
+0x2ec4 007525 call g24_fetch_mem_data_type 
+0x2ec5 007527 and_into bits_data ,pdata 
+0x2ec6 007528 store 1 ,mem_24g_common_temp + 1 
+0x2ec7 007529 call g24_fetch_mem_device_addr 
+0x2ec8 007531 store 4 ,mem_24g_common_temp + 2 
+:      007532 g24_put_pairing_data_in_buff:
+0x2ec9 007533 jam 0 ,mem_24g_common_temp + 6 
+0x2eca 007534 arg mem_24g_common_temp ,rega 
+0x2ecb 007535 arg 7 ,temp 
+0x2ecc 007536 call g24_put_data_in_buff 
+0x2ecd 007537 call g24_transmit_prep 
+0x2ece 007538 call g24_txdata_enable_tx 
+0x2ecf 007539 branch enable_user 
+:      007541 g24_paring_mode:
+0x2ed0 007542 call g24_fetch_mem_pairing_sm 
+0x2ed1 007544 rtneq state_24g_pairing_success 
+0x2ed2 007545 beq state_24g_pairing_1_waiting_ack ,g24_pairing_sm_1_waiting_ack 
+0x2ed3 007546 beq state_24g_pairing_2_waiting_ack ,g24_pairing_sm_2_waiting_ack 
+0x2ed4 007547 beq state_24g_pairing_3_waiting_ack ,g24_pairing_sm_3_waiting_ack 
+0x2ed5 007548 rtn 
+:      007550 g24_pairing_sm_1_waiting_ack:
+0x2ed6 007551 setarg state_24g_pairing_2 
+0x2ed7 007552 call g24_store_mem_pairing_sm 
+0x2ed8 007554 branch g24_transmit_abandon 
+:      007555 g24_pairing_sm_2_waiting_ack:
+0x2ed9 007556 setarg state_24g_pairing_3 
+0x2eda 007557 call g24_store_mem_pairing_sm 
+0x2edb 007559 branch g24_transmit_abandon 
+:      007560 g24_pairing_sm_3_waiting_ack:
+0x2edc 007561 setarg state_24g_pairing_success 
+0x2edd 007562 call g24_store_mem_pairing_sm 
+0x2ede 007564 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+0x2edf 007565 call ui_ipc_send_event 
+0x2ee0 007566 add regc ,offset_24g_rxpayload_add2 ,rega 
+0x2ee1 007567 ifetch 4 ,rega 
+0x2ee2 007569 call g24_store_mem_addr 
+0x2ee3 007571 branch g24_transmit_abandon 
+:      007573 g24_auto_pair_start:
+0x2ee4 007574 set0 mark_24g ,mark 
+0x2ee5 007575 call g24_auto_pair_set_device_info 
+0x2ee6 007576 call g24_tx_attemp_data_prep 
+:      007577 g24_auto_pair_restart:
+0x2ee7 007578 call g24_set0_mem_check_dongle_times 
+:      007579 g24_auto_pair_start_loop:
+0x2ee8 007580 nop 2000 
+0x2ee9 007581 call g24_fetch_mem_check_dongle_times 
+0x2eea 007582 beq 0xff ,g24_stop_24g_mode 
+0x2eeb 007583 call g24_transmit_receive_ack 
+0x2eec 007584 nbranch g24_auto_pair_retry ,sync 
+0x2eed 007585 nbranch g24_auto_pair_retry ,user3 
+0x2eee 007586 call g24_ackpayload_parse 
+0x2eef 007587 call g24_head_ptr2regc 
+0x2ef0 007588 add regc ,offset_24g_paring_addr ,rega 
+0x2ef1 007589 ifetcht 4 ,rega 
+0x2ef2 007590 call g24_fetch_mem_addr_isub_temp 
+0x2ef3 007591 branch g24_start_pairing_sm1 ,zero 
+0x2ef4 007592 call g24_head_ptr2regc 
+0x2ef5 007593 add regc ,offset_24g_rxpayload_add2 ,rega 
+0x2ef6 007594 ifetch 4 ,rega 
+0x2ef7 007595 beq 0 ,g24_auto_pair_restart 
+0x2ef8 007596 call g24_store_mem_addr 
+0x2ef9 007597 branch g24_tx_attemp_dongle_succ 
+:      007599 g24_auto_pair_retry:
+0x2efa 007600 call g24_fetch_mem_check_dongle_times 
+0x2efb 007601 increase 1 ,pdata 
+0x2efc 007602 call g24_store_mem_check_dongle_times 
+0x2efd 007604 call g24_fetch_mem_auto_paring_switch 
+0x2efe 007605 increase 1 ,pdata 
+0x2eff 007606 and_into 1 ,pdata 
+0x2f00 007607 call g24_store_mem_auto_paring_switch 
+0x2f01 007608 beq 0 ,g24_auto_pair_device_attemp 
+0x2f02 007609 beq 1 ,g24_auto_pair_pair_attemp 
+0x2f03 007610 rtn 
+:      007612 g24_fetch_mem_auto_paring_switch:
+0x2f04 007613 setarg offset_24g_auto_pair_switch 
+0x2f05 007614 branch g24_set_rega_ifetch_1byte 
+:      007615 g24_store_mem_auto_paring_switch:
+0x2f06 007616 arg offset_24g_auto_pair_switch ,rega 
+0x2f07 007617 branch g24_set_contw_with_regb_store_1byte 
+:      007619 g24_auto_pair_set_device_info:
+0x2f08 007620 call g24_store_mem_tx_power 
+0x2f09 007621 call g24_fetch_mem_device_addr 
+0x2f0a 007622 call g24_store_mem_addr 
+0x2f0b 007623 branch g24_ch 
+:      007625 g24_auto_pair_device_attemp:
+0x2f0c 007626 call g24_auto_pair_set_device_info 
+0x2f0d 007627 branch g24_auto_pair_start_loop 
+:      007629 g24_auto_pair_pair_attemp:
+0x2f0e 007630 call g24_pair_init 
+0x2f0f 007631 branch g24_auto_pair_start_loop 
+:      007634 g24_start_24g_mode:
+0x2f10 007635 set0 mark_24g ,mark 
+0x2f11 007636 call g24_ch 
+0x2f12 007637 call g24_fetch_mem_pairing_sm 
+0x2f13 007639 rtnne state_24g_pairing_success 
+0x2f14 007640 call g24_tx_attemp_data_prep 
+0x2f15 007641 call g24_set0_mem_check_dongle_times 
+:      007643 g24_tx_attemp_dongle_loop:
+0x2f16 007644 nop 2000 
+0x2f17 007645 call g24_fetch_mem_check_dongle_times 
+0x2f18 007647 beq 0xff ,g24_stop_24g_mode 
+0x2f19 007648 call g24_transmit_receive_ack 
+0x2f1a 007649 nbranch g24_attemp_txdata_retry ,sync 
+0x2f1b 007650 nbranch g24_attemp_txdata_retry ,user3 
+:      007651 g24_tx_attemp_dongle_succ:
+0x2f1c 007652 set1 mark_24g ,mark 
+0x2f1d 007653 call g24_set0_mem_check_dongle_times 
+0x2f1e 007654 setarg state_24g_pairing_success 
+0x2f1f 007655 call g24_store_mem_pairing_sm 
+0x2f20 007657 jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+0x2f21 007658 branch ui_ipc_send_event 
+:      007660 g24_tx_attemp_data_prep:
+0x2f22 007661 set1 mark_24g_conext ,mark 
+0x2f23 007662 jam 0xff ,mem_24g_common_temp 
+0x2f24 007663 call g24_fetch_mem_data_type 
+0x2f25 007665 call g24_put_data_in_buff_pre 
+0x2f26 007666 branch g24_transmit_prep 
+:      007668 g24_attemp_txdata_retry:
+0x2f27 007669 call g24_fetch_mem_check_dongle_times 
+0x2f28 007671 increase 1 ,pdata 
+0x2f29 007672 call g24_store_mem_check_dongle_times 
+0x2f2a 007674 call g24_ch 
+0x2f2b 007675 branch g24_tx_attemp_dongle_loop 
+:      007677 g24_check_51cmd_start_24g:
+0x2f2c 007678 call g24_store_mem_tx_power 
+0x2f2d 007681 setarg state_24g_pairing_success 
+0x2f2e 007682 call g24_store_mem_pairing_sm 
+0x2f2f 007684 branch g24_start_24g_mode 
+:      007693 dongle_init:
+0x2f30 007694 bpatch patch17_2 ,mem_patch17 
+0x2f31 007695 call g24_head_ptr2regc 
+0x2f32 007696 setarg dongle_rxdata_type1 
+0x2f33 007697 add regc ,offset_24g_cb_rxdata_type1 ,contw 
+0x2f34 007698 istore 2 ,contw 
+0x2f35 007700 call g24_receive_init 
+0x2f36 007701 call usb_init 
+0x2f37 007702 call g24_fetch_mem_pair_mode 
+0x2f38 007704 bpatch patch17_3 ,mem_patch17 
+0x2f39 007705 beq 0x00 ,dongle_auto_bind 
+0x2f3a 007706 beq 0x01 ,dongle_pc_bind 
+0x2f3b 007707 beq 0x0f ,dongle_all_powerful 
+0x2f3c 007708 branch assert 
+:      007710 g24_receive_init:
+0x2f3d 007711 call g24_store_mem_tx_power_temp 
+0x2f3e 007712 arg 0x80 ,loopcnt 
+0x2f3f 007713 arg mem_rssi_noise_buffer ,contw 
+0x2f40 007714 branch memset0 
+:      007716 dongle_all_powerful:
+0x2f41 007717 call dongle_check_mode 
+:      007718 dongle_all_powerful_loop:
+0x2f42 007719 call g24_dongle_work_mode 
+0x2f43 007720 call usb_isr 
+0x2f44 007721 branch dongle_all_powerful_loop 
+:      007723 dongle_pc_bind:
+0x2f45 007724 bpatch patch17_4 ,mem_patch17 
+0x2f46 007725 call dongle_check_mode 
+:      007726 dongle_pc_bind_loop:
+0x2f47 007727 call g24_dongle_work_mode 
+0x2f48 007728 call g24_dongle_bind_mode 
+0x2f49 007729 call usb_isr 
+0x2f4a 007730 call dongle_usb_dispatch 
+0x2f4b 007731 branch dongle_pc_bind_loop 
+:      007733 dongle_check_mode:
+0x2f4c 007737 call g24_set_work_mem_dongle_work_mode 
+0x2f4d 007738 call g24_set0_mem_dongle_mode_init 
+0x2f4e 007739 branch g24_set0_mem_ackpayload_enable 
+:      007741 g24_dongle_work_mode:
+0x2f4f 007742 call g24_fetch_mem_dongle_work_mode 
+0x2f50 007744 rtnne dongle_work 
+:      007745 g24_dongle_work_mode_start:
+0x2f51 007746 call g24_dongle_work_init 
+0x2f52 007747 call g24_ch_process 
+0x2f53 007748 call g24_receive_packet_start 
+0x2f54 007749 branch g24_blank_data_process 
+:      007751 g24_dongle_work_init:
+0x2f55 007752 call g24_fetch_mem_dongle_mode_init 
+0x2f56 007754 rtnbit1 dongle_work 
+0x2f57 007755 set1 dongle_work ,pdata 
+0x2f58 007756 call g24_store_mem_dongle_mode_init 
+0x2f59 007758 call g24_store_mem_tx_power 
+0x2f5a 007761 call g24_set0_mem_ackpayload_enable 
+0x2f5b 007763 jam 0 ,mem_usb_tx_enable 
+0x2f5c 007764 call g24_set1_mem_abort_pac 
+0x2f5d 007766 call g24_dongle_init 
+:      007767 g24_rx_interrupt_clear:
+0x2f5e 007768 add regc ,offset_24g_rxbuf ,contw 
+0x2f5f 007770 arg 66 ,loopcnt 
+0x2f60 007771 branch clear_mem 
+:      007773 g24_dongle_init:
+0x2f61 007774 call g24_set0_mem_pid 
+0x2f62 007776 call g24_fetch_mem_rx_addr 
+0x2f63 007778 call g24_store_mem_addr 
+0x2f64 007780 branch g24_ch 
+:      007782 g24_ch_process:
+0x2f65 007783 bpatch patch17_5 ,mem_patch17 
+0x2f66 007784 call g24_fetch_mem_abort_pac 
+0x2f67 007786 beq 1 ,g24_noise_rssi 
+0x2f68 007787 call g24_fetch_mem_hop_pac 
+0x2f69 007789 beq 1 ,g24_ch 
+0x2f6a 007790 setarg offset_24g_hop_btclk 
+0x2f6b 007791 iadd regc ,rega 
+0x2f6c 007792 ifetcht 4 ,rega 
+0x2f6d 007794 copy clkn_bt ,pdata 
+0x2f6e 007795 isub temp ,null 
+0x2f6f 007796 ncall g24_timer_timeout ,positive 
+0x2f70 007797 copy pdata ,regb 
+0x2f71 007798 setarg offset_24g_hop_btclk 
+0x2f72 007799 iadd regc ,rega 
+0x2f73 007800 ifetch 4 ,rega 
+0x2f74 007801 copy pdata ,temp 
+0x2f75 007803 setarg offset_24g_hop_interval 
+0x2f76 007804 iadd regc ,rega 
+0x2f77 007805 copy temp ,pdata 
+0x2f78 007806 ifetcht 1 ,rega 
+0x2f79 007808 iadd temp ,temp 
+0x2f7a 007809 copy regb ,pdata 
+0x2f7b 007810 isub temp ,null 
+0x2f7c 007811 nrtn positive 
+0x2f7d 007812 set0 28 ,pdata 
+0x2f7e 007813 setarg offset_24g_hop_btclk 
+0x2f7f 007814 iadd regc ,contw 
+0x2f80 007815 istore 4 ,contw 
+:      007817 g24_ch_update:
+0x2f81 007818 call g24_ch 
+0x2f82 007819 call g24_fetch_mem_rf_laststa 
+0x2f83 007821 increase 1 ,pdata 
+0x2f84 007822 call g24_store_mem_rf_laststa 
+0x2f85 007824 rtnne 2 
+0x2f86 007825 call g24_set0_mem_rf_laststa 
+0x2f87 007829 branch g24_set1_mem_abort_pac 
+:      007831 g24_ch_timer_reinit:
+0x2f88 007832 copy clkn_bt ,pdata 
+0x2f89 007833 arg offset_24g_hop_btclk ,rega 
+0x2f8a 007834 call g24_set_contw_with_temp 
+0x2f8b 007835 istore 4 ,contw 
+0x2f8c 007839 branch g24_set0_mem_rf_laststa 
+:      007841 g24_noise_rssi:
+0x2f8d 007842 arg mem_rssi_noise_buffer ,rega 
+0x2f8e 007843 call g24_noise_rssi_average 
+0x2f8f 007844 add regc ,offset_rssi_noise_avg ,contw 
+0x2f90 007845 istoret 1 ,contw 
+0x2f91 007847 sub temp ,rssi_thresh_noise ,null 
+0x2f92 007848 nrtn positive 
+0x2f93 007849 branch g24_ch 
+:      007851 g24_noise_rssi_average:
+0x2f94 007852 arg rssi_buf_len_noise + 1 ,loopcnt 
+0x2f95 007853 branch rssi_average 
+:      007855 g24_blank_data_process:
+0x2f96 007856 call g24_ms_blank_data 
+0x2f97 007857 call g24_kb_blank_data 
+0x2f98 007858 branch g24_kb_mul_blank_data 
+:      007860 g24_ms_blank_data:
+0x2f99 007861 setarg offset_24g_ms_blank_data_enable 
+0x2f9a 007862 call g24_set_rega_ifetch_1byte 
+0x2f9b 007864 rtn blank 
+0x2f9c 007865 arg timer_ms_blank ,queue 
+0x2f9d 007866 call timer_check 
+0x2f9e 007867 nrtn blank 
+0x2f9f 007868 call g24_set0_mem_ms_blank_data_enable 
+:      007870 g24_ms_blank_data_2usb:
+0x2fa0 007871 setarg ms_report_id 
+0x2fa1 007872 store 1 ,mem_usb_mouse_data 
+0x2fa2 007873 setarg 0 
+0x2fa3 007874 istore 7 ,contw 
+0x2fa4 007875 branch g24_data_type1_usbtx_enable 
+:      007877 g24_kb_blank_data:
+0x2fa5 007878 setarg offset_24g_kb_blank_data_enable 
+0x2fa6 007879 call g24_set_rega_ifetch_1byte 
+0x2fa7 007881 rtn blank 
+0x2fa8 007882 arg timer_kb_blank ,queue 
+0x2fa9 007883 call timer_check 
+0x2faa 007884 nrtn blank 
+0x2fab 007885 call g24_set0_mem_kb_blank_data_enable 
+:      007887 g24_kb_blank_data_2usb:
+0x2fac 007888 arg mem_usb_kb_data ,contw 
+0x2fad 007889 arg 2 ,loopcnt 
+0x2fae 007890 call memset0 
+0x2faf 007891 jam kb_normal_report_id ,mem_usb_kb_data 
+0x2fb0 007892 branch g24_kb_data_into_ep1_fifo 
+:      007894 g24_kb_mul_blank_data:
+0x2fb1 007895 setarg offset_24g_kb_mul_blank_data_enable 
+0x2fb2 007896 call g24_set_rega_ifetch_1byte 
+0x2fb3 007898 rtn blank 
+0x2fb4 007899 arg timer_kb_mul_blank ,queue 
+0x2fb5 007900 call timer_check 
+0x2fb6 007901 nrtn blank 
+0x2fb7 007902 call g24_set0_mem_kb_mul_blank_data_enable 
+:      007904 g24_kb_mul_blank_data_2usb:
+0x2fb8 007905 arg mem_usb_kb_multikey ,contw 
+0x2fb9 007906 arg 2 ,loopcnt 
+0x2fba 007907 call memset0 
+0x2fbb 007908 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+0x2fbc 007909 branch g24_kb_mul_data_into_ep2_fifo 
+:      007911 g24_dongle_bind_mode:
+0x2fbd 007912 call g24_fetch_mem_dongle_work_mode 
+0x2fbe 007914 rtnne dongle_bind 
+0x2fbf 007915 call g24_dongle_bind_init 
+0x2fc0 007916 branch g24_dongle_bind_data_process 
+:      007918 g24_dongle_bind_init:
+0x2fc1 007919 call g24_fetch_mem_dongle_mode_init 
+0x2fc2 007921 rtnbit1 dongle_bind 
+0x2fc3 007922 set1 dongle_bind ,pdata 
+0x2fc4 007923 call g24_store_mem_dongle_mode_init 
+0x2fc5 007925 call g24_set1_mem_ackpayload_enable 
+0x2fc6 007927 call g24_pair_init 
+0x2fc7 007928 setarg 0 
+0x2fc8 007929 arg offset_dongle_ms_bind_step ,rega 
+0x2fc9 007930 call g24_set_contw_with_temp 
+0x2fca 007932 branch g24_contw_istore_3byte 
+:      007934 g24_dongle_bind_data_process:
+0x2fcb 007935 call g24_receive_transmit_ack 
+0x2fcc 007936 nbranch g24_rx_interrupt_clear ,user3 
+0x2fcd 007937 add regc ,offset_24g_rxbuf ,contr 
+0x2fce 007938 setarg offset_24g_rxdata_temp 
+0x2fcf 007939 iadd regc ,contw 
+0x2fd0 007940 arg 8 ,loopcnt 
+0x2fd1 007941 call memcpy 
+0x2fd2 007942 setarg offset_24g_rxdata_temp_add2 
+0x2fd3 007943 call g24_set_rega_ifetch_1byte 
+0x2fd4 007944 beq datatype_bind ,g24_dongle_bind_first_step 
+0x2fd5 007945 beq datatype_config ,g24_dongle_bind_second_step 
+0x2fd6 007946 beq datatype_ok ,g24_dongle_bind_third_step 
+0x2fd7 007947 beq 0xff ,g24_data_attemp 
+0x2fd8 007948 branch g24_rx_interrupt_clear 
+:      007950 g24_dongle_bind_first_step:
+0x2fd9 007951 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x2fda 007952 beq bind_mouse ,g24_dongle_bind_first_step_mouse 
+0x2fdb 007953 beq bind_keyboard ,g24_dongle_bind_first_step_keyboard 
+0x2fdc 007954 rtn 
+:      007955 g24_dongle_bind_first_step_mouse:
+0x2fdd 007956 setarg 1 
+0x2fde 007957 call g24_store_mem_ms_bind_step 
+:      007959 g24_dongle_bind_ms_payload_cfg:
+0x2fdf 007960 setarg datatype_mouse 
+0x2fe0 007961 call g24_store_mem_bind_payload 
+:      007963 g24_dongle_bind_payload_cfg:
+0x2fe1 007964 setarg 0x80 
+0x2fe2 007965 arg offset_24g_bind_payload_add1 ,rega 
+0x2fe3 007966 call g24_set_contw_with_regb_store_1byte 
+0x2fe4 007968 call g24_fetch_mem_rx_addr 
+0x2fe5 007970 arg offset_24g_bind_payload_add2 ,rega 
+0x2fe6 007971 call g24_set_contw_with_temp 
+0x2fe7 007973 branch g24_contw_istore_4byte 
+:      007975 g24_dongle_bind_first_step_keyboard:
+0x2fe8 007976 setarg 1 
+0x2fe9 007977 call g24_store_mem_kb_bind_step 
+:      007979 g24_dongle_bind_kb_payload_cfg:
+0x2fea 007980 setarg datatype_keyboard 
+0x2feb 007981 call g24_store_mem_bind_payload 
+0x2fec 007983 branch g24_dongle_bind_payload_cfg 
+:      007985 g24_dongle_bind_second_step:
+0x2fed 007986 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x2fee 007987 beq bind_mouse ,g24_dongle_bind_second_step_mouse 
+0x2fef 007988 beq bind_keyboard ,g24_dongle_bind_second_step_keyboard 
+0x2ff0 007989 rtn 
+:      007990 g24_dongle_bind_second_step_mouse:
+0x2ff1 007991 call g24_dongle_bind_ms_payload_cfg 
+0x2ff2 007992 setarg offset_dongle_ms_bind_step 
+0x2ff3 007993 call g24_set_rega_ifetch_1byte 
+0x2ff4 007995 beq 1 ,g24_dongle_ms_bind_step_set2 
+0x2ff5 007996 rtn 
+:      007997 g24_dongle_ms_bind_step_set2:
+0x2ff6 007998 setarg 2 
+:      008000 g24_store_mem_ms_bind_step:
+0x2ff7 008001 arg offset_dongle_ms_bind_step ,rega 
+0x2ff8 008002 branch g24_set_contw_with_regb_store_1byte 
+:      008004 g24_dongle_bind_second_step_keyboard:
+0x2ff9 008005 call g24_dongle_bind_kb_payload_cfg 
+0x2ffa 008006 setarg offset_dongle_kb_bind_step 
+0x2ffb 008007 call g24_set_rega_ifetch_1byte 
+0x2ffc 008009 beq 1 ,g24_dongle_kb_bind_step_set2 
+0x2ffd 008010 rtn 
+:      008011 g24_dongle_kb_bind_step_set2:
+0x2ffe 008012 setarg 2 
+:      008014 g24_store_mem_kb_bind_step:
+0x2fff 008015 arg offset_dongle_kb_bind_step ,rega 
+0x3000 008016 branch g24_set_contw_with_regb_store_1byte 
+:      008018 g24_dongle_bind_third_step:
+0x3001 008019 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x3002 008020 beq bind_mouse ,g24_dongle_bind_third_step_mouse 
+0x3003 008021 beq bind_keyboard ,g24_dongle_bind_third_step_keyboard 
+0x3004 008022 rtn 
+:      008023 g24_dongle_bind_third_step_mouse:
+0x3005 008024 setarg offset_dongle_ms_bind_step 
+0x3006 008025 call g24_set_rega_ifetch_1byte 
+0x3007 008027 beq 2 ,g24_dongle_ms_bind_step_success 
+0x3008 008028 rtn 
+:      008029 g24_dongle_ms_bind_step_success:
+0x3009 008030 call g24_fetch_mem_bind_device_status 
+0x300a 008032 or_into 0x01 ,pdata 
+0x300b 008033 call g24_store_mem_bind_device_status 
+:      008035 g24_dongle_bind_exit:
+0x300c 008036 setarg 0 
+0x300d 008037 setarg offset_dongle_ms_bind_step 
+0x300e 008038 iadd regc ,contw 
+0x300f 008039 istore 2 ,contw 
+0x3010 008040 branch g24_rx_interrupt_clear 
+:      008042 g24_dongle_bind_third_step_keyboard:
+0x3011 008043 setarg offset_dongle_kb_bind_step 
+0x3012 008044 call g24_set_rega_ifetch_1byte 
+0x3013 008046 bne 0 ,g24_dongle_kb_bind_step_success 
+0x3014 008047 rtn 
+:      008048 g24_dongle_kb_bind_step_success:
+0x3015 008049 call g24_fetch_mem_bind_device_status 
+0x3016 008051 or_into 0x02 ,pdata 
+0x3017 008052 call g24_store_mem_bind_device_status 
+0x3018 008054 branch g24_dongle_bind_exit 
+:      008057 dongle_usb_dispatch:
+0x3019 008058 fetch 1 ,mem_usb0_get_set_report 
+0x301a 008059 rtn blank 
+0x301b 008060 jam 0 ,mem_usb0_get_set_report 
+0x301c 008061 fetch 2 ,mem_usb_setup_bvalue_temp 
+0x301d 008062 arg pc_set_report ,temp 
+0x301e 008063 isub temp ,null 
+0x301f 008064 nrtn zero 
+0x3020 008066 fetch 1 ,mem_usb0_set_report_data 
+0x3021 008067 rtnne pc_report_id 
+0x3022 008068 fetch 1 ,mem_usb0_set_report_data + 1 
+0x3023 008069 bpatch patch17_6 ,mem_patch17 
+0x3024 008070 beq command_mode ,dongle_dispose_cmd_mode 
+0x3025 008071 beq command_bind ,dongle_dispose_cmd_bind 
+0x3026 008072 beq command_current_project ,dongle_dispose_cmd_current_project 
+0x3027 008073 beq command_current_mode ,dongle_dispose_cmd_current_mode 
+0x3028 008074 beq command_current_fw_version ,dongle_dispose_cmd_current_fw_version 
+0x3029 008075 beq command_user_defined ,dongle_dispose_cmd_user_defined 
+:      008076 usb0_data_ready_report_set0:
+0x302a 008077 jam 0 ,mem_usb0_data_ready_report 
+0x302b 008078 rtn 
+:      008079 dongle_dispose_cmd_bind:
+0x302c 008080 fetch 1 ,mem_usb0_set_report_data + 2 
+0x302d 008081 beq com_bind_get ,dongle_dispose_cmd_get_bind 
+0x302e 008082 beq com_bind_exit ,dongle_dispose_cmd_exit_bind 
+0x302f 008083 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+0x3030 008084 branch usb0_data_ready_report_set0 
+:      008085 dongle_dispose_cmd_get_bind:
+0x3031 008086 call g24_fetch_mem_bind_device_status 
+0x3032 008088 store 1 ,mem_usb0_get_report_data + 1 
+0x3033 008089 branch usb0_data_ready_report_set1 
+:      008090 dongle_dispose_cmd_exit_bind:
+0x3034 008091 call g24_set_work_mem_dongle_work_mode 
+0x3035 008093 call g24_set0_mem_dongle_mode_init 
+0x3036 008095 call g24_fetch_mem_bind_device_status 
+0x3037 008097 store 1 ,mem_usb0_get_report_data + 1 
+0x3038 008098 branch usb0_data_ready_report_set1 
+:      008100 dongle_dispose_cmd_read_mode:
+:      008101 dongle_dispose_in_bind_mode:
+0x3039 008102 jam command_bind ,mem_usb0_get_report_data + 1 
+0x303a 008103 branch usb0_data_ready_report_set1 
+:      008105 dongle_dispose_cmd_mode:
+0x303b 008106 fetch 1 ,mem_usb0_set_report_data + 2 
+0x303c 008107 beq com_mode_bind ,dongle_enter_bind_mode 
+0x303d 008109 branch usb0_data_ready_report_set0 
+:      008110 dongle_enter_bind_mode:
+0x303e 008113 call g24_bind_mode_enable 
+:      008114 usb0_data_ready_report_set1:
+0x303f 008115 jam 1 ,mem_usb0_data_ready_report 
+0x3040 008116 rtn 
+:      008121 dongle_dispose_cmd_current_project:
+0x3041 008122 jam product_id ,mem_usb0_get_report_data + 1 
+0x3042 008123 branch usb0_data_ready_report_set1 
+:      008125 dongle_dispose_cmd_current_mode:
+0x3043 008126 call g24_fetch_mem_dongle_work_mode 
+0x3044 008128 beq dongle_work ,dongle_dispose_in_work_mode 
+0x3045 008129 beq dongle_bind ,dongle_dispose_in_bind_mode 
+0x3046 008131 rtn 
+:      008132 dongle_dispose_in_work_mode:
+0x3047 008133 jam command_mode ,mem_usb0_get_report_data + 1 
+0x3048 008134 branch usb0_data_ready_report_set1 
+:      008139 dongle_dispose_cmd_current_fw_version:
+0x3049 008140 jam fw_version0 ,mem_usb0_get_report_data + 1 
+0x304a 008141 jam fw_version1 ,mem_usb0_get_report_data + 2 
+0x304b 008142 jam fw_version2 ,mem_usb0_get_report_data + 3 
+0x304c 008143 branch usb0_data_ready_report_set1 
+:      008145 dongle_dispose_cmd_user_defined:
+0x304d 008147 call g24_set1_mem_ackpayload_enable 
+0x304e 008148 fetch 1 ,mem_usb0_set_report_data + 2 
+0x304f 008149 increase 2 ,pdata 
+0x3050 008150 copy pdata ,loopcnt 
+0x3051 008151 arg mem_usb0_set_report_data ,contr 
+0x3052 008152 setarg offset_24g_ackpayload 
+0x3053 008153 iadd regc ,contw 
+0x3054 008154 branch memcpy 
+:      008157 dongle_auto_bind:
+0x3055 008158 bpatch patch17_7 ,mem_patch17 
+0x3056 008159 call g24_mode_switch_init 
+:      008160 dongle_auto_bind_loop:
+0x3057 008161 call g24_receive_process 
+0x3058 008162 call usb_isr 
+0x3059 008163 branch dongle_auto_bind_loop 
+:      008165 g24_dongle_work_mode_auto:
+0x305a 008166 call g24_fetch_mem_dongle_work_mode 
+0x305b 008168 rtnne dongle_work 
+0x305c 008169 call g24_dongle_work_mode_start 
+0x305d 008170 branch g24_rx_nodata_process 
+:      008172 g24_dongle_bind_mode_auto:
+0x305e 008173 call g24_fetch_mem_dongle_work_mode 
+0x305f 008175 rtnne dongle_bind 
+0x3060 008176 call g24_dongle_bind_init 
+0x3061 008177 call g24_dongle_bind_data_process 
+0x3062 008178 call g24_fetch_mem_bind_device_status 
+0x3063 008180 rtn blank 
+0x3064 008181 call g24_set0_mem_mode_switch 
+0x3065 008183 call dongle_check_mode 
+0x3066 008184 call g24_enable_nodata_timer 
+:      008185 g24_timer_init:
+0x3067 008186 setarg 0 
+0x3068 008187 add regc ,offset_24g_tx_btclk ,contw 
+0x3069 008189 branch g24_contw_istore_4byte 
+:      008191 g24_timer_check:
+0x306a 008192 call disable_user 
+0x306b 008193 add regc ,offset_24g_tx_btclk ,rega 
+0x306c 008194 ifetcht 4 ,rega 
+0x306d 008196 copy clkn_bt ,pdata 
+0x306e 008197 isub temp ,null 
+0x306f 008198 ncall g24_timer_timeout ,positive 
+0x3070 008199 copy pdata ,regb 
+0x3071 008200 add regc ,offset_24g_tx_btclk ,rega 
+0x3072 008201 ifetch 4 ,rega 
+0x3073 008203 add regc ,offset_24g_interval ,rega 
+0x3074 008204 ifetcht 1 ,rega 
+0x3075 008206 iadd temp ,temp 
+0x3076 008207 copy regb ,pdata 
+0x3077 008208 isub temp ,null 
+0x3078 008209 nrtn positive 
+0x3079 008210 set0 28 ,pdata 
+0x307a 008211 add regc ,offset_24g_tx_btclk ,contw 
+0x307b 008212 istore 4 ,contw 
+0x307c 008214 branch enable_user 
+:      008216 g24_mode_switch_init:
+0x307d 008217 setarg 1 
+0x307e 008218 call g24_store_mem_mode_switch 
+0x307f 008220 call g24_set0_mem_time_slice 
+0x3080 008222 setarg 0xff 
+0x3081 008223 add regc ,offset_24g_interval ,contw 
+0x3082 008224 istore 1 ,contw 
+0x3083 008226 branch g24_timer_init 
+:      008228 g24_mode_switch:
+0x3084 008229 setarg offset_24g_mode_switch 
+0x3085 008230 call g24_set_rega_ifetch_1byte 
+0x3086 008232 rtn blank 
+0x3087 008233 call g24_timer_check 
+0x3088 008234 nrtn user 
+0x3089 008235 call g24_fetch_mem_time_slice 
+0x308a 008237 increase 1 ,pdata 
+0x308b 008238 and_into 1 ,pdata 
+0x308c 008239 call g24_store_mem_time_slice 
+0x308d 008241 beq 0 ,dongle_check_mode 
+0x308e 008242 beq 1 ,g24_bind_mode_enable 
+0x308f 008243 rtn 
+:      008245 g24_bind_mode_enable:
+0x3090 008249 setarg dongle_bind 
+0x3091 008250 call g24_store_mem_dongle_work_mode 
+0x3092 008251 branch g24_set0_mem_dongle_mode_init 
+:      008253 g24_enable_nodata_timer:
+0x3093 008254 setarg 1 
+0x3094 008255 call g24_store_mem_nodata_timer_enable 
+:      008257 g24_enable_nodata_timer_init:
+0x3095 008258 setarg timer_nodata_delay 
+0x3096 008259 arg timer_nodata ,queue 
+0x3097 008260 branch timer_init 
+:      008262 g24_rx_nodata_process:
+0x3098 008263 call g24_fetch_mem_nodata_timer_enable 
+0x3099 008265 rtn blank 
+0x309a 008266 arg timer_nodata ,queue 
+0x309b 008267 call timer_check 
+0x309c 008268 nrtn blank 
+0x309d 008269 call g24_set0_mem_nodata_timer_enable 
+0x309e 008272 setarg dongle_search 
+0x309f 008273 call g24_store_mem_dongle_work_mode 
+0x30a0 008275 call g24_set0_mem_dongle_mode_init 
+0x30a1 008277 branch g24_rx_interrupt_clear 
+:      008279 g24_dongle_search_mode_auto:
+0x30a2 008280 bpatch patch18_0 ,mem_patch18 
+0x30a3 008281 call g24_fetch_mem_dongle_work_mode 
+0x30a4 008283 rtnne dongle_search 
+0x30a5 008284 call g24_dongle_search_mode_init 
+0x30a6 008285 call g24_rx_auto_addr_ch_search 
+0x30a7 008286 call g24_receive_transmit_ack 
+0x30a8 008287 nbranch g24_rx_interrupt_clear ,user3 
+0x30a9 008289 call g24_dongle_search_addr_check 
+0x30aa 008290 call g24_receive_packet_parse ,zero 
+0x30ab 008294 call dongle_check_mode 
+0x30ac 008295 call g24_fetch_mem_dongle_mode_init 
+0x30ad 008297 set1 dongle_work ,pdata 
+0x30ae 008298 call g24_store_mem_dongle_mode_init 
+0x30af 008300 call g24_rx_interrupt_clear 
+0x30b0 008301 call g24_enable_nodata_timer 
+0x30b1 008302 call g24_dongle_search_addr_check 
+0x30b2 008303 branch g24_dg_ch_num_reinit ,zero 
+0x30b3 008304 setarg offset_24g_kb_addr 
+0x30b4 008305 call g24_set_rega_ifetcht_4byte 
+0x30b5 008307 call g24_fetch_mem_addr_isub_temp 
+0x30b6 008308 branch g24_kb_ch_num_reinit ,zero 
+0x30b7 008309 setarg offset_24g_mouse_addr 
+0x30b8 008310 call g24_set_rega_ifetcht_4byte 
+0x30b9 008312 call g24_fetch_mem_addr_isub_temp 
+0x30ba 008313 branch g24_ms_ch_num_reinit ,zero 
+0x30bb 008314 rtn 
+:      008316 g24_dongle_search_addr_check:
+0x30bc 008317 setarg offset_24g_rx_addr 
+0x30bd 008318 call g24_set_rega_ifetcht_4byte 
+:      008320 g24_fetch_mem_addr_isub_temp:
+0x30be 008321 call g24_fetch_mem_addr 
+0x30bf 008323 isub temp ,null 
+0x30c0 008324 rtn 
+:      008326 g24_dg_ch_num_reinit:
+0x30c1 008327 setarg offset_24g_dg_ch_number 
+0x30c2 008328 call g24_set_rega_ifetch_1byte 
+:      008330 g24_current_ch_num_reinit:
+0x30c3 008332 add regc ,offset_24g_current_ch_number ,contw 
+0x30c4 008333 branch g24_contw_istore_1byte 
+:      008335 g24_kb_ch_num_reinit:
+0x30c5 008336 setarg offset_24g_kb_ch_number 
+0x30c6 008337 call g24_set_rega_ifetch_1byte 
+0x30c7 008339 branch g24_current_ch_num_reinit 
+:      008340 g24_ms_ch_num_reinit:
+0x30c8 008341 setarg offset_24g_ms_ch_number 
+0x30c9 008342 call g24_set_rega_ifetch_1byte 
+0x30ca 008344 branch g24_current_ch_num_reinit 
+:      008346 g24_dongle_search_mode_init:
+0x30cb 008347 call g24_fetch_mem_dongle_mode_init 
+0x30cc 008349 rtnbit1 dongle_search 
+0x30cd 008350 set1 dongle_search ,pdata 
+0x30ce 008351 call g24_store_mem_dongle_mode_init 
+0x30cf 008353 call g24_set0_mem_time_slice 
+0x30d0 008355 call g24_set1_mem_ackpayload_enable 
+0x30d1 008357 setarg 0 
+0x30d2 008358 add regc ,offset_rssi_noise_dg_index ,contw 
+0x30d3 008359 istore 3 ,contw 
+0x30d4 008361 arg offset_24g_dg_config_ch_once ,rega 
+0x30d5 008362 call g24_set_contw_with_temp 
+0x30d6 008363 istore 7 ,contw 
+0x30d7 008366 call g24_dongle_search_addr_check 
+0x30d8 008367 nrtn zero 
+0x30d9 008368 add regc ,offset_24g_current_ch_number ,rega 
+0x30da 008369 ifetch 1 ,rega 
+0x30db 008371 arg offset_24g_dg_ch_number ,rega 
+0x30dc 008372 call g24_set_contw_with_regb_store_1byte 
+0x30dd 008374 add regc ,offset_24g_ch ,rega 
+0x30de 008375 ifetch 1 ,rega 
+0x30df 008378 branch g24_store_mem_dg_last_ch 
+:      008380 g24_rx_auto_addr_ch_search:
+0x30e0 008381 bpatch patch18_1 ,mem_patch18 
+0x30e1 008382 call g24_fetch_mem_time_slice 
+0x30e2 008384 increase 1 ,pdata 
+0x30e3 008385 and_into 3 ,pdata 
+0x30e4 008386 call g24_store_mem_time_slice 
+0x30e5 008389 beq 0 ,g24_rx_auto_bind_config_kb 
+0x30e6 008390 beq 1 ,g24_rx_auto_bind_config_dongle 
+0x30e7 008391 beq 2 ,g24_rx_auto_bind_config_mouse 
+0x30e8 008392 beq 3 ,g24_rx_auto_bind_config_dongle 
+0x30e9 008393 rtn 
+:      008395 g24_rx_auto_bind_config_mouse:
+0x30ea 008396 call g24_dongle_bind_ms_payload_cfg 
+0x30eb 008397 setarg offset_24g_mouse_addr 
+0x30ec 008398 call g24_set_rega_ifetch_4byte 
+0x30ed 008400 branch g24_rx_auto_addr_ch_search ,blank 
+0x30ee 008401 call g24_store_mem_addr 
+0x30ef 008403 setarg offset_24g_ms_config_ch_once 
+0x30f0 008404 call g24_set_rega_ifetch_1byte 
+0x30f1 008406 call g24_ms_config_ch_once ,blank 
+0x30f2 008407 setarg offset_24g_ms_last_ch 
+0x30f3 008408 call g24_set_rega_ifetch_1byte 
+0x30f4 008410 call g24_store_mem_ch 
+0x30f5 008412 add regc ,offset_rssi_noise_ms_index ,rega 
+0x30f6 008413 ifetcht 1 ,rega 
+0x30f7 008415 arg mem_rssi_noise_ms_buffer ,rega 
+0x30f8 008416 call rssi_noise_store 
+0x30f9 008417 add regc ,offset_rssi_noise_ms_index ,contw 
+0x30fa 008418 istoret 1 ,contw 
+0x30fb 008420 call g24_noise_rssi_average 
+0x30fc 008421 add regc ,offset_rssi_noise_ms_avg ,contw 
+0x30fd 008422 istoret 1 ,contw 
+0x30fe 008424 sub temp ,rssi_thresh_noise ,null 
+0x30ff 008425 nrtn positive 
+0x3100 008426 setarg offset_24g_ms_ch_number 
+0x3101 008427 call g24_set_rega_ifetcht_1byte 
+0x3102 008429 call g24_ch_temp_incre_size4 
+0x3103 008430 arg offset_24g_ms_ch_number ,rega 
+0x3104 008431 call g24_set_contw_with_regb2 
+0x3105 008432 istoret 1 ,contw 
+:      008434 g24_store_mem_ms_last_ch:
+0x3106 008436 arg offset_24g_ms_last_ch ,rega 
+0x3107 008437 branch g24_set_contw_with_regb_store_1byte 
+:      008439 g24_ms_config_ch_once:
+0x3108 008440 setarg 1 
+0x3109 008441 arg offset_24g_ms_config_ch_once ,rega 
+0x310a 008442 call g24_set_contw_with_regb_store_1byte 
+0x310b 008444 arg 0 ,temp 
+0x310c 008445 call g24_ch_calc 
+0x310d 008448 branch g24_store_mem_ms_last_ch 
+:      008450 g24_rx_auto_bind_config_kb:
+0x310e 008451 call g24_dongle_bind_kb_payload_cfg 
+0x310f 008452 setarg offset_24g_kb_addr 
+0x3110 008453 call g24_set_rega_ifetch_4byte 
+0x3111 008455 branch g24_rx_auto_addr_ch_search ,blank 
+0x3112 008456 call g24_store_mem_addr 
+0x3113 008458 setarg offset_24g_kb_config_ch_once 
+0x3114 008459 call g24_set_rega_ifetch_1byte 
+0x3115 008461 call g24_kb_config_ch_once ,blank 
+0x3116 008462 setarg offset_24g_kb_last_ch 
+0x3117 008463 call g24_set_rega_ifetch_1byte 
+0x3118 008465 call g24_store_mem_ch 
+0x3119 008467 add regc ,offset_rssi_noise_kb_index ,rega 
+0x311a 008468 ifetcht 1 ,rega 
+0x311b 008470 arg mem_rssi_noise_kb_buffer ,rega 
+0x311c 008471 call rssi_noise_store 
+0x311d 008472 add regc ,offset_rssi_noise_kb_index ,contw 
+0x311e 008473 istoret 1 ,contw 
+0x311f 008475 call g24_noise_rssi_average 
+0x3120 008476 add regc ,offset_rssi_noise_kb_avg ,contw 
+0x3121 008477 istoret 1 ,contw 
+0x3122 008479 sub temp ,rssi_thresh_noise ,null 
+0x3123 008480 nrtn positive 
+0x3124 008481 setarg offset_24g_kb_ch_number 
+0x3125 008482 call g24_set_rega_ifetcht_1byte 
+0x3126 008484 call g24_ch_temp_incre_size4 
+0x3127 008485 arg offset_24g_kb_ch_number ,rega 
+0x3128 008486 call g24_set_contw_with_regb2 
+0x3129 008487 istoret 1 ,contw 
+:      008489 g24_store_mem_kb_last_ch:
+0x312a 008491 arg offset_24g_kb_last_ch ,rega 
+0x312b 008492 branch g24_set_contw_with_regb_store_1byte 
+:      008494 g24_kb_config_ch_once:
+0x312c 008495 setarg 1 
+0x312d 008496 arg offset_24g_kb_config_ch_once ,rega 
+0x312e 008497 call g24_set_contw_with_regb_store_1byte 
+0x312f 008499 arg 0 ,temp 
+0x3130 008500 call g24_ch_calc 
+0x3131 008503 branch g24_store_mem_kb_last_ch 
+:      008505 g24_rx_auto_bind_config_dongle:
+0x3132 008506 call g24_dongle_bind_ms_payload_cfg 
+0x3133 008507 call g24_fetch_mem_rx_addr 
+0x3134 008509 call g24_store_mem_addr 
+0x3135 008511 setarg offset_24g_dg_config_ch_once 
+0x3136 008512 call g24_set_rega_ifetch_1byte 
+0x3137 008514 call g24_dg_config_ch_once ,blank 
+0x3138 008515 call g24_dg_store_config_ch 
+0x3139 008516 add regc ,offset_rssi_noise_dg_index ,rega 
+0x313a 008517 ifetcht 1 ,rega 
+0x313b 008519 arg mem_rssi_noise_dg_buffer ,rega 
+0x313c 008520 call rssi_noise_store 
+0x313d 008521 add regc ,offset_rssi_noise_dg_index ,contw 
+0x313e 008522 istoret 1 ,contw 
+0x313f 008524 call g24_noise_rssi_average 
+0x3140 008525 add regc ,offset_rssi_noise_dg_avg ,contw 
+0x3141 008526 istoret 1 ,contw 
+0x3142 008528 sub temp ,rssi_thresh_noise ,null 
+0x3143 008529 nrtn positive 
+0x3144 008530 setarg offset_24g_dg_ch_number 
+0x3145 008531 call g24_set_rega_ifetcht_1byte 
+0x3146 008533 call g24_ch_temp_incre_size4 
+0x3147 008534 arg offset_24g_dg_ch_number ,rega 
+0x3148 008535 call g24_set_contw_with_regb2 
+0x3149 008536 istoret 1 ,contw 
+:      008538 g24_store_mem_dg_last_ch:
+0x314a 008541 arg offset_24g_dg_last_ch ,rega 
+0x314b 008542 branch g24_set_contw_with_regb_store_1byte 
+:      008545 g24_dg_config_ch_once:
+0x314c 008550 setarg 1 
+0x314d 008551 arg offset_24g_dg_config_ch_once ,rega 
+0x314e 008552 call g24_set_contw_with_regb_store_1byte 
+:      008553 g24_dg_store_config_ch:
+0x314f 008554 setarg offset_24g_dg_last_ch 
+0x3150 008555 call g24_set_rega_ifetch_1byte 
+0x3151 008556 branch g24_store_mem_ch 
+:      008559 g24_transmit_ack:
+0x3152 008561 add regc ,offset_24g_rxbuf ,rega 
+0x3153 008562 ifetch 1 ,rega 
+0x3154 008564 call g24_store_mem_data_type 
+0x3155 008567 call g24_read_len_pid_crc 
+0x3156 008569 call g24_fetch_mem_rxbuf_add1 
+0x3157 008571 isolate1 bit_ack_24g ,pdata 
+0x3158 008572 branch g24tx_no_ack ,true 
+:      008573 g24tx_with_ack:
+0x3159 008574 call g24_ackpayload_prep 
+0x315a 008575 call g24_transmit_prep 
+0x315b 008576 call g24_transmit 
+:      008577 g24tx_no_ack:
+0x315c 008578 branch g24_end_of_packet 
+:      008580 g24_ackpayload_prep:
+0x315d 008581 bpatch patch18_2 ,mem_patch18 
+0x315e 008582 add regc ,offset_24g_datalen ,contw 
+0x315f 008583 call g24_mem_set0 
+0x3160 008585 setarg offset_24g_ackpayload_enable 
+0x3161 008586 call g24_set_rega_ifetch_1byte 
+0x3162 008588 rtn blank 
+0x3163 008589 setarg 0x06 
+0x3164 008590 add regc ,offset_24g_datalen ,contw 
+0x3165 008591 istore 1 ,contw 
+0x3166 008593 arg 0x06 ,loopcnt 
+0x3167 008594 setarg offset_24g_bind_payload 
+0x3168 008595 iadd regc ,contr 
+0x3169 008597 add regc ,offset_24g_txbuf ,contw 
+0x316a 008599 branch memcpy 
+:      008602 g24_receive_packet_start:
+0x316b 008603 call g24_receive_transmit_ack 
+0x316c 008604 nbranch g24_rx_interrupt_clear ,user3 
+0x316d 008605 branch g24_receive_packet_parse 
+:      008607 g24_receive_transmit_ack:
+0x316e 008608 call g24_rx_interrupt_clear 
+0x316f 008609 call g24_receive_packet 
+0x3170 008610 nrtn user3 
+0x3171 008611 branch g24_transmit_ack 
+:      008613 g24_receive_packet_parse:
+0x3172 008614 bpatch patch18_3 ,mem_patch18 
+0x3173 008615 call g24_receive_packet_parse_pid_crc 
+0x3174 008616 nbranch g24_rx_interrupt_clear ,user 
+0x3175 008617 add regc ,offset_24g_rxdata_length ,rega 
+0x3176 008618 ifetch 1 ,rega 
+0x3177 008620 branch g24_rx_interrupt_clear ,blank 
+0x3178 008621 increase 2 ,pdata 
+0x3179 008622 iforce loopcnt 
+0x317a 008623 add regc ,offset_24g_rxbuf ,contr 
+0x317b 008625 setarg offset_24g_rxdata_temp 
+0x317c 008626 iadd regc ,contw 
+0x317d 008628 call memcpy 
+0x317e 008629 call g24_set0_mem_mode_switch 
+0x317f 008631 call g24_fetch_mem_pair_mode 
+0x3180 008633 call g24_enable_nodata_timer ,blank 
+0x3181 008634 setarg offset_24g_rxdata_temp_add2 
+0x3182 008635 call g24_set_rega_ifetch_1byte 
+0x3183 008637 beq 0x01 ,g24_data_type1 
+0x3184 008638 beq 0x02 ,g24_data_type2 
+0x3185 008639 beq 0x03 ,g24_data_type3 
+0x3186 008640 beq 0xff ,g24_data_attemp 
+0x3187 008641 branch g24_rx_interrupt_clear 
+:      008643 g24_receive_packet_parse_pid_crc:
+0x3188 008644 call g24_head_ptr2regc 
+0x3189 008645 call disable_user 
+0x318a 008646 add regc ,offset_24g_sta_pid ,rega 
+0x318b 008647 ifetch 1 ,rega 
+0x318c 008649 add regc ,offset_24g_last_pid ,rega 
+0x318d 008650 ifetcht 1 ,rega 
+0x318e 008652 isub temp ,null 
+0x318f 008653 ncall enable_user ,zero 
+0x3190 008654 add regc ,offset_24g_sta_pid ,rega 
+0x3191 008655 ifetch 1 ,rega 
+0x3192 008657 add regc ,offset_24g_last_pid ,contw 
+0x3193 008658 istore 1 ,contw 
+0x3194 008660 add regc ,offset_24g_sta_crc ,rega 
+0x3195 008661 ifetch 3 ,rega 
+0x3196 008663 add regc ,offset_24g_last_crc ,rega 
+0x3197 008664 ifetcht 3 ,rega 
+0x3198 008666 isub temp ,null 
+0x3199 008667 ncall enable_user ,zero 
+0x319a 008668 add regc ,offset_24g_sta_crc ,rega 
+0x319b 008669 ifetch 3 ,rega 
+0x319c 008671 add regc ,offset_24g_last_crc ,contw 
+0x319d 008673 branch g24_contw_istore_3byte 
+:      008675 g24_data_type1:
+0x319e 008676 call g24_ch_timer_reinit 
+0x319f 008677 call g24_fetch_mem_abort_pac 
+0x31a0 008678 store 1 ,mem_temp 
+0x31a1 008680 call g24_fetcht_mem_rxdata_temp 
+0x31a2 008681 fetch 1 ,mem_temp 
+0x31a3 008683 isolate1 bit_abort ,temp 
+0x31a4 008684 setflag true ,0 ,pdata 
+0x31a5 008685 add regc ,offset_24g_abort_pac ,contw 
+0x31a6 008686 istore 1 ,contw 
+0x31a7 008688 beq 1 ,g24_data_attemp_mouse 
+0x31a8 008689 call g24_fetch_mem_hop_pac 
+0x31a9 008691 call g24_fetcht_mem_rxdata_temp 
+0x31aa 008693 isolate1 bit_hop ,temp 
+0x31ab 008694 setflag true ,0 ,pdata 
+0x31ac 008695 call g24_store_mem_hop_pac 
+0x31ad 008697 add regc ,offset_24g_cb_rxdata_type1 ,rega 
+0x31ae 008698 ifetch 2 ,rega 
+0x31af 008700 branch callback_func 
+:      008702 dongle_rxdata_type1:
+0x31b0 008703 setarg ms_report_id 
+0x31b1 008704 store 1 ,mem_usb_mouse_data 
+0x31b2 008705 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b3 008707 istore 7 ,contw 
+0x31b4 008708 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b5 008710 ncall g24_ms_enable_blank_data_forcibly ,blank 
+0x31b6 008711 call g24_fetch_mem_rxdata_temp_add3_7byte 
+0x31b7 008713 call g24_ms_disable_blank_data_forcibly ,blank 
+:      008714 g24_data_type1_usbtx_enable:
+0x31b8 008715 jam usb_ep2_ms ,mem_usb_ep2_data 
+:      008716 g24_data_type1_usbtx_enable_ep2:
+0x31b9 008717 fetch 1 ,mem_usb_tx_enable 
+0x31ba 008718 set1 2 ,pdata 
+0x31bb 008719 store 1 ,mem_usb_tx_enable 
+0x31bc 008720 rtn 
+:      008722 g24_ms_enable_blank_data_forcibly:
+0x31bd 008723 setarg 1 
+0x31be 008724 call g24_store_mem_ms_blank_data_enable 
+:      008726 g24_ms_enable_blank_data_timer:
+0x31bf 008727 setarg timer_ms_blank_delay 
+0x31c0 008728 arg timer_ms_blank ,queue 
+0x31c1 008729 branch timer_init 
+:      008730 g24_ms_disable_blank_data_forcibly:
+0x31c2 008731 call g24_set0_mem_ms_blank_data_enable 
+:      008733 g24_ms_disable_blank_data_timer:
+0x31c3 008734 setarg 0 
+0x31c4 008735 arg timer_ms_blank ,queue 
+0x31c5 008736 branch timer_init 
+:      008738 g24_data_type2:
+0x31c6 008739 call g24_fetcht_mem_rxdata_temp 
+0x31c7 008741 isolate1 bit_abort ,temp 
+0x31c8 008742 branch g24_data_attemp_kbd ,true 
+0x31c9 008743 arg mem_usb_kb_data ,contw 
+0x31ca 008744 call g24_data_type2_reverse_data 
+0x31cb 008745 fetch 8 ,mem_usb_kb_data 
+0x31cc 008746 ncall g24_kb_enable_blank_data_forcibly ,blank 
+0x31cd 008747 fetch 8 ,mem_usb_kb_data 
+0x31ce 008748 call g24_kb_disable_blank_data_forcibly ,blank 
+0x31cf 008749 call g24_head_ptr2regc 
+0x31d0 008750 fetch 8 ,mem_usb_kb_data 
+0x31d1 008751 arg offset_24g_kb_data_sta_data ,rega 
+0x31d2 008752 call g24_set_contw_with_temp 
+0x31d3 008753 istore 8 ,contw 
+0x31d4 008755 setarg offset_24g_kb_data_last_data 
+0x31d5 008756 iadd regc ,rega 
+0x31d6 008757 ifetcht 8 ,rega 
+0x31d7 008759 isub temp ,null 
+0x31d8 008760 ncall g24_kb_data_dispose ,zero 
+0x31d9 008761 setarg offset_24g_kb_data_sta_data 
+0x31da 008762 iadd regc ,rega 
+0x31db 008763 ifetch 8 ,rega 
+0x31dc 008765 arg offset_24g_kb_data_last_data ,rega 
+0x31dd 008766 call g24_set_contw_with_temp 
+0x31de 008767 istore 8 ,contw 
+0x31df 008769 branch g24_rx_interrupt_clear 
+:      008771 g24_data_type2_reverse_data:
+0x31e0 008772 setarg offset_24g_rxdata_temp_add2 
+0x31e1 008773 iadd regc ,contr 
+0x31e2 008775 arg 9 ,loopcnt 
+0x31e3 008776 branch reverse_byte 
+:      008778 g24_kb_enable_blank_data_forcibly:
+0x31e4 008779 setarg 1 
+0x31e5 008780 call g24_store_mem_kb_blank_data_enable 
+:      008782 g24_kb_enable_blank_data_timer:
+0x31e6 008783 setarg timer_kb_blank_delay 
+0x31e7 008784 arg timer_kb_blank ,queue 
+0x31e8 008785 branch timer_init 
+:      008787 g24_kb_disable_blank_data_forcibly:
+0x31e9 008788 call g24_set0_mem_kb_blank_data_enable 
+:      008790 g24_kb_disable_blank_data_timer:
+0x31ea 008791 setarg 0 
+0x31eb 008792 arg timer_kb_blank ,queue 
+0x31ec 008793 branch timer_init 
+:      008795 g24_kb_data_dispose:
+:      008796 g24_kb_data_into_ep1_fifo:
+0x31ed 008797 jam usb_ep1_kb ,mem_usb_ep1_data 
+0x31ee 008798 fetch 1 ,mem_usb_tx_enable 
+0x31ef 008799 set1 1 ,pdata 
+0x31f0 008800 store 1 ,mem_usb_tx_enable 
+0x31f1 008801 rtn 
+:      008803 g24_data_type3:
+0x31f2 008804 arg mem_usb_kb_multikey ,contw 
+0x31f3 008805 call g24_data_type2_reverse_data 
+0x31f4 008806 fetch 2 ,mem_usb_kb_multikey + 1 
+0x31f5 008807 ncall g24_kb_mul_enable_blank_data_forcibly ,blank 
+0x31f6 008808 fetch 2 ,mem_usb_kb_multikey + 1 
+0x31f7 008809 call g24_kb_mul_disable_blank_data_forcibly ,blank 
+0x31f8 008810 call g24_head_ptr2regc 
+0x31f9 008811 fetch 3 ,mem_usb_kb_multikey 
+0x31fa 008812 arg offset_24g_kb_multikey_sta_data ,rega 
+0x31fb 008813 call g24_set_contw_with_temp_store_3byte 
+0x31fc 008815 setarg offset_24g_kb_multikey_last_data 
+0x31fd 008816 iadd regc ,rega 
+0x31fe 008817 ifetcht 3 ,rega 
+0x31ff 008819 isub temp ,null 
+0x3200 008820 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+0x3201 008821 setarg offset_24g_kb_multikey_sta_data 
+0x3202 008822 iadd regc ,rega 
+0x3203 008823 ifetch 3 ,rega 
+0x3204 008825 arg offset_24g_kb_multikey_last_data ,rega 
+0x3205 008826 call g24_set_contw_with_temp_store_3byte 
+0x3206 008828 branch g24_rx_interrupt_clear 
+:      008830 g24_kb_mul_data_into_ep2_fifo:
+0x3207 008831 jam usb_ep2_multikey ,mem_usb_ep2_data 
+0x3208 008832 branch g24_data_type1_usbtx_enable_ep2 
+:      008834 g24_kb_mul_enable_blank_data_forcibly:
+0x3209 008835 setarg 1 
+0x320a 008836 call g24_store_mem_kb_mul_blank_data_enable 
+:      008838 g24_kb_mul_enable_blank_data_timer:
+0x320b 008839 setarg timer_kb_mul_blank_delay 
+0x320c 008840 arg timer_kb_mul_blank ,queue 
+0x320d 008841 branch timer_init 
+:      008843 g24_kb_mul_disable_blank_data_forcibly:
+0x320e 008844 call g24_set0_mem_kb_mul_blank_data_enable 
+:      008846 g24_kb_mul_disable_blank_data_timer:
+0x320f 008847 setarg 0 
+0x3210 008848 arg timer_kb_mul_blank ,queue 
+0x3211 008849 branch timer_init 
+:      008851 g24_data_attemp:
+0x3212 008852 call g24_fetch_mem_rxdata_temp_add3_1byte 
+0x3213 008854 beq datatype_mouse ,g24_data_attemp_mouse 
+0x3214 008855 beq datatype_keyboard ,g24_data_attemp_kbd 
+0x3215 008856 rtn 
+:      008857 g24_data_attemp_mouse:
+0x3216 008858 setarg offset_24g_rxdata_temp_add4 
+0x3217 008859 call g24_set_rega_ifetch_4byte 
+0x3218 008860 arg offset_24g_mouse_addr ,rega 
+0x3219 008861 call g24_set_contw_with_temp 
+0x321a 008864 branch g24_contw_istore_4byte 
+:      008866 g24_data_attemp_kbd:
+0x321b 008867 setarg offset_24g_rxdata_temp_add4 
+0x321c 008868 call g24_set_rega_ifetch_4byte 
+0x321d 008869 arg offset_24g_kb_addr ,rega 
+0x321e 008870 call g24_set_contw_with_temp 
+0x321f 008873 branch g24_contw_istore_4byte 
+:      008875 g24_store_mem_24g_mode:
+0x3220 008876 call g24_head_ptr2regc 
+0x3221 008877 add regc ,offset_24g_mode ,contw 
+0x3222 008878 istore 1 ,contw 
+0x3223 008879 rtn 
+:      008881 g24_fetch_mem_device_addr:
+0x3224 008882 call g24_head_ptr2regc 
+0x3225 008883 add regc ,offset_24g_device_addr ,rega 
+0x3226 008884 branch g24_rega_ifetch_4byte 
+:      008885 g24_store_mem_device_addr:
+0x3227 008886 call g24_head_ptr2regc 
+0x3228 008887 add regc ,offset_24g_device_addr ,contw 
+0x3229 008888 branch g24_contw_istore_4byte 
+:      008890 g24_fetch_mem_addr:
+0x322a 008891 add regc ,offset_24g_addr ,rega 
+0x322b 008892 branch g24_rega_ifetch_4byte 
+:      008893 g24_store_mem_addr:
+0x322c 008894 add regc ,offset_24g_addr ,contw 
+:      008895 g24_contw_istore_4byte:
+0x322d 008896 istore 4 ,contw 
+0x322e 008897 rtn 
+:      008899 g24_store_mem_ch:
+0x322f 008900 add regc ,offset_24g_ch ,contw 
+0x3230 008901 branch g24_contw_istore_1byte 
+:      008903 g24_set0_mem_pid:
+0x3231 008904 setarg 0 
+:      008905 g24_store_mem_pid:
+0x3232 008906 call g24_head_ptr2regc 
+0x3233 008907 add regc ,offset_24g_pid ,contw 
+0x3234 008908 branch g24_contw_istore_1byte 
+:      008910 g24_store_mem_txpayload:
+0x3235 008911 add regc ,offset_24g_txpayload ,contw 
+0x3236 008912 branch g24_contw_istore_1byte 
+:      008914 g24_set4_mem_max_retry:
+0x3237 008915 setarg 4 
+:      008916 g24_store_mem_max_retry:
+0x3238 008917 add regc ,offset_24g_max_retry ,contw 
+0x3239 008918 branch g24_contw_istore_1byte 
+:      008920 g24_fetch_mem_data_type:
+0x323a 008921 add regc ,offset_24g_data_type ,rega 
+0x323b 008922 branch g24_rega_ifetch_1byte 
+:      008923 g24_store_mem_data_type:
+0x323c 008924 add regc ,offset_24g_data_type ,contw 
+0x323d 008925 branch g24_contw_istore_1byte 
+:      008927 g24_set2_mem_sync_cnt:
+0x323e 008928 setarg 2 
+:      008929 g24_store_mem_sync_cnt:
+0x323f 008930 add regc ,offset_24g_sync_cnt ,contw 
+0x3240 008931 branch g24_contw_istore_1byte 
+:      008933 g24_set1_mem_rf_last_sta:
+0x3241 008934 setarg 1 
+:      008935 g24_store_mem_rf_last_sta:
+0x3242 008936 call g24_head_ptr2regc 
+0x3243 008937 add regc ,offset_24g_rf_last_sta ,contw 
+0x3244 008938 branch g24_contw_istore_1byte 
+:      008940 g24_fetch_mem_hop_pac:
+0x3245 008941 call g24_head_ptr2regc 
+0x3246 008942 add regc ,offset_24g_hop_pac ,rega 
+0x3247 008943 branch g24_rega_ifetch_1byte 
+:      008944 g24_set1_mem_hop_pac:
+0x3248 008945 setarg 1 
+:      008946 g24_store_mem_hop_pac:
+0x3249 008947 call g24_head_ptr2regc 
+0x324a 008948 add regc ,offset_24g_hop_pac ,contw 
+0x324b 008949 branch g24_contw_istore_1byte 
+:      008951 g24_fetch_mem_abort_pac:
+0x324c 008952 call g24_head_ptr2regc 
+0x324d 008953 add regc ,offset_24g_abort_pac ,rega 
+0x324e 008954 branch g24_rega_ifetch_1byte 
+:      008955 g24_set1_mem_abort_pac:
+0x324f 008956 setarg 1 
+:      008957 g24_store_mem_abort_pac:
+0x3250 008958 call g24_head_ptr2regc 
+0x3251 008959 add regc ,offset_24g_abort_pac ,contw 
+0x3252 008960 branch g24_contw_istore_1byte 
+:      008962 g24_fetch_mem_pairing_sm:
+0x3253 008963 call g24_head_ptr2regc 
+0x3254 008964 add regc ,offset_24g_pairing_sm ,rega 
+0x3255 008965 branch g24_rega_ifetch_1byte 
+:      008966 g24_store_mem_pairing_sm:
+0x3256 008967 add regc ,offset_24g_pairing_sm ,contw 
+0x3257 008968 branch g24_contw_istore_1byte 
+:      008970 g24_fetch_mem_rf_hop_ch:
+0x3258 008971 add regc ,offset_24g_rf_hop_ch ,rega 
+0x3259 008972 branch g24_rega_ifetch_1byte 
+:      008973 g24_set0_mem_rf_hop_ch:
+0x325a 008974 setarg 0 
+:      008975 g24_store_mem_rf_hop_ch:
+0x325b 008976 add regc ,offset_24g_rf_hop_ch ,contw 
+0x325c 008977 branch g24_contw_istore_1byte 
+:      008979 g24_fetch_mem_rf_work_stage:
+0x325d 008980 add regc ,offset_24g_rf_work_stage ,rega 
+0x325e 008981 branch g24_rega_ifetch_1byte 
+:      008983 g24_fetch_mem_rxbuf_add1:
+0x325f 008984 add regc ,offset_24g_rxbuf_add1 ,rega 
+0x3260 008985 branch g24_rega_ifetch_1byte 
+:      008987 g24_fetch_mem_check_dongle_times:
+0x3261 008988 add regc ,offset_24g_check_dongle_times ,rega 
+0x3262 008989 branch g24_rega_ifetch_1byte 
+:      008990 g24_set0_mem_check_dongle_times:
+0x3263 008991 setarg 0 
+:      008992 g24_store_mem_check_dongle_times:
+0x3264 008993 call g24_head_ptr2regc 
+0x3265 008994 add regc ,offset_24g_check_dongle_times ,contw 
+0x3266 008995 branch g24_contw_istore_1byte 
+:      008997 g24_store_mem_tx_power:
+0x3267 008998 call g24_head_ptr2regc 
+0x3268 008999 add regc ,offset_tx_power_temp ,rega 
+0x3269 009000 ifetch 1 ,rega 
+:      009001 g24_store_mem_txpower:
+0x326a 009002 store 1 ,mem_tx_power 
+0x326b 009003 rtn 
+:      009005 g24_store_mem_tx_power_temp:
+0x326c 009006 call g24_head_ptr2regc 
+0x326d 009007 fetch 1 ,mem_tx_power 
+0x326e 009009 add regc ,offset_tx_power_temp ,contw 
+0x326f 009010 branch g24_contw_istore_1byte 
+:      009012 g24_fetch_mem_power_ctrl_pac:
+0x3270 009013 add regc ,offset_power_ctrl_packet_cnt ,rega 
+0x3271 009014 branch g24_rega_ifetch_1byte 
+:      009016 g24_store_mem_power_ctrl_level:
+0x3272 009017 add regc ,offset_power_ctrl_level ,contw 
+0x3273 009018 branch g24_contw_istore_1byte 
+:      009020 g24_fetcht_mem_rxdata_temp:
+0x3274 009021 setarg offset_24g_rxdata_temp 
+:      009022 g24_set_rega_ifetcht_1byte:
+0x3275 009023 iadd regc ,rega 
+0x3276 009024 ifetcht 1 ,rega 
+0x3277 009025 rtn 
+:      009027 g24_fetch_mem_rf_laststa:
+0x3278 009028 setarg offset_24g_rf_laststa 
+0x3279 009029 branch g24_set_rega_ifetch_1byte 
+:      009030 g24_set0_mem_rf_laststa:
+0x327a 009031 setarg 0 
+:      009032 g24_store_mem_rf_laststa:
+0x327b 009033 arg offset_24g_rf_laststa ,rega 
+0x327c 009034 branch g24_set_contw_with_regb_store_1byte 
+:      009036 g24_fetch_mem_rx_addr:
+0x327d 009037 setarg offset_24g_rx_addr 
+:      009038 g24_set_rega_ifetch_4byte:
+0x327e 009039 call g24_set_rega 
+:      009040 g24_rega_ifetch_4byte:
+0x327f 009041 ifetch 4 ,rega 
+0x3280 009042 rtn 
+:      009044 g24_fetch_mem_time_slice:
+0x3281 009045 setarg offset_24g_time_slice 
+0x3282 009046 branch g24_set_rega_ifetch_1byte 
+:      009047 g24_set0_mem_time_slice:
+0x3283 009048 setarg 0 
+:      009049 g24_store_mem_time_slice:
+0x3284 009050 arg offset_24g_time_slice ,rega 
+0x3285 009051 branch g24_set_contw_with_regb_store_1byte 
+:      009053 g24_set0_mem_mode_switch:
+0x3286 009054 setarg 0 
+:      009055 g24_store_mem_mode_switch:
+0x3287 009056 arg offset_24g_mode_switch ,rega 
+0x3288 009057 branch g24_set_contw_with_regb_store_1byte 
+:      009059 g24_store_mem_bind_payload:
+0x3289 009060 arg offset_24g_bind_payload ,rega 
+0x328a 009061 branch g24_set_contw_with_regb_store_1byte 
+:      009063 g24_fetch_mem_bind_device_status:
+0x328b 009064 setarg offset_dongle_bind_device_status 
+0x328c 009065 branch g24_set_rega_ifetch_1byte 
+:      009066 g24_store_mem_bind_device_status:
+0x328d 009067 arg offset_dongle_bind_device_status ,rega 
+0x328e 009068 branch g24_set_contw_with_regb_store_1byte 
+:      009070 g24_fetch_mem_dongle_work_mode:
+0x328f 009071 setarg offset_dongle_work_mode 
+0x3290 009072 branch g24_set_rega_ifetch_1byte 
+:      009073 g24_set_work_mem_dongle_work_mode:
+0x3291 009074 setarg dongle_work 
+:      009075 g24_store_mem_dongle_work_mode:
+0x3292 009076 arg offset_dongle_work_mode ,rega 
+0x3293 009077 branch g24_set_contw_with_regb_store_1byte 
+:      009079 g24_fetch_mem_dongle_mode_init:
+0x3294 009080 setarg offset_dongle_mode_init 
+0x3295 009081 branch g24_set_rega_ifetch_1byte 
+:      009082 g24_set0_mem_dongle_mode_init:
+0x3296 009083 setarg clear_init 
+:      009084 g24_store_mem_dongle_mode_init:
+0x3297 009085 arg offset_dongle_mode_init ,rega 
+0x3298 009086 branch g24_set_contw_with_regb_store_1byte 
+:      009088 g24_set0_mem_ackpayload_enable:
+0x3299 009089 setarg 0 
+:      009090 g24_store_mem_ackpayload_enable:
+0x329a 009091 arg offset_24g_ackpayload_enable ,rega 
+0x329b 009092 branch g24_set_contw_with_regb_store_1byte 
+:      009093 g24_set1_mem_ackpayload_enable:
+0x329c 009094 setarg 1 
+0x329d 009095 branch g24_store_mem_ackpayload_enable 
+:      009097 g24_fetch_mem_rxdata_temp_add3_7byte:
+0x329e 009098 setarg offset_24g_rxdata_temp_add3 
+0x329f 009099 call g24_set_rega 
+0x32a0 009100 ifetch 7 ,rega 
+0x32a1 009101 rtn 
+:      009103 g24_fetch_mem_nodata_timer_enable:
+0x32a2 009104 setarg offset_24g_nodata_timer_enable 
+0x32a3 009105 branch g24_set_rega_ifetch_1byte 
+:      009106 g24_set0_mem_nodata_timer_enable:
+0x32a4 009107 setarg 0 
+:      009108 g24_store_mem_nodata_timer_enable:
+0x32a5 009109 arg offset_24g_nodata_timer_enable ,rega 
+0x32a6 009110 branch g24_set_contw_with_regb_store_1byte 
+:      009112 g24_set0_mem_ms_blank_data_enable:
+0x32a7 009113 setarg 0 
+:      009114 g24_store_mem_ms_blank_data_enable:
+0x32a8 009115 arg offset_24g_ms_blank_data_enable ,rega 
+0x32a9 009116 branch g24_set_contw_with_regb_store_1byte 
+:      009118 g24_set0_mem_kb_blank_data_enable:
+0x32aa 009119 setarg 0 
+:      009120 g24_store_mem_kb_blank_data_enable:
+0x32ab 009121 arg offset_24g_kb_blank_data_enable ,rega 
+0x32ac 009122 branch g24_set_contw_with_regb_store_1byte 
+:      009124 g24_set0_mem_kb_mul_blank_data_enable:
+0x32ad 009125 setarg 0 
+:      009126 g24_store_mem_kb_mul_blank_data_enable:
+0x32ae 009127 arg offset_24g_kb_mul_blank_data_enable ,rega 
+0x32af 009128 branch g24_set_contw_with_regb_store_1byte 
+:      009130 g24_store_mem_power_ctrl_threshold_up:
+0x32b0 009131 arg offset_power_ctrl_threshold_up ,rega 
+0x32b1 009132 branch g24_set_contw_with_regb_store_1byte 
+:      009134 g24_store_mem_power_ctrl_threshold_down:
+0x32b2 009135 arg offset_power_ctrl_threshold_down ,rega 
+:      009136 g24_set_contw_with_regb_store_1byte:
+0x32b3 009137 call g24_set_contw_with_regb 
+:      009138 g24_contw_istore_1byte:
+0x32b4 009139 istore 1 ,contw 
+0x32b5 009140 rtn 
+:      009142 g24_fetch_mem_pair_mode:
+0x32b6 009143 setarg offset_24g_pair_mode 
+0x32b7 009144 branch g24_set_rega_ifetch_1byte 
+:      009146 g24_store_mem_pair_mode:
+0x32b8 009147 arg offset_24g_pair_mode ,rega 
+0x32b9 009148 branch g24_set_contw_with_regb_store_1byte 
+:      009150 g24_store_mem_pair_txpower:
+0x32ba 009151 setarg offset_24g_pair_txpower 
+0x32bb 009152 call g24_set_rega_ifetch_1byte 
+0x32bc 009153 branch g24_store_mem_txpower 
+:      009155 g24_fetch_mem_rxdata_temp_add3_1byte:
+0x32bd 009156 setarg offset_24g_rxdata_temp_add3 
+0x32be 009157 branch g24_set_rega_ifetch_1byte 
+:      009159 g24_set_contw_with_temp:
+0x32bf 009160 copy pdata ,temp 
+0x32c0 009161 copy rega ,pdata 
+0x32c1 009162 iadd regc ,contw 
+0x32c2 009163 copy temp ,pdata 
+0x32c3 009164 rtn 
+:      009166 g24_set_contw_with_temp_store_3byte:
+0x32c4 009167 call g24_set_contw_with_temp 
+:      009168 g24_contw_istore_3byte:
+0x32c5 009169 istore 3 ,contw 
+0x32c6 009170 rtn 
+:      009172 g24_set_contw_with_regb:
+0x32c7 009173 call g24_head_ptr2regc 
+:      009174 g24_set_contw_with_regb2:
+0x32c8 009175 copy pdata ,regb 
+0x32c9 009176 copy rega ,pdata 
+0x32ca 009177 iadd regc ,contw 
+0x32cb 009178 copy regb ,pdata 
+0x32cc 009179 rtn 
+:      009181 g24_set_rega:
+0x32cd 009182 call g24_head_ptr2regc 
+0x32ce 009183 iadd regc ,rega 
+0x32cf 009184 rtn 
+:      009186 g24_set_rega_ifetch_1byte:
+0x32d0 009187 call g24_set_rega 
+:      009188 g24_rega_ifetch_1byte:
+0x32d1 009189 ifetch 1 ,rega 
+0x32d2 009190 rtn 
+:      009192 g24_set_rega_ifetcht_4byte:
+0x32d3 009193 call g24_set_rega 
+0x32d4 009194 ifetcht 4 ,rega 
+0x32d5 009195 rtn 
+:      009197 g24_mem_set0:
+0x32d6 009198 setarg 0 
+0x32d7 009199 branch g24_contw_istore_1byte 
+:      009203 app_init:
+0x32d8 009204 bpatch patch18_4 ,mem_patch18 
+0x32d9 009205 fetch 1 ,mem_device_option 
+0x32da 009206 branch app_init ,blank 
+0x32db 009208 beq dvc_op_dongle ,dongle_init 
+0x32dc 009209 beq dvc_op_antilost ,antilost_init 
+0x32dd 009210 beq dvc_op_shutter ,shutter_init 
+0x32de 009211 beq dvc_op_module ,module_init 
+0x32df 009212 beq dvc_op_car ,car_init 
+0x32e0 009213 beq dvc_op_remote_car ,remote_car_init 
+0x32e1 009214 bbit1 dvc_op_mouse ,mouse_init 
+0x32e2 009215 rtn 
+:      009217 app_lpm_init:
+0x32e3 009218 bpatch patch18_5 ,mem_patch18 
+0x32e4 009219 jam 0 ,mem_tester_emulate 
+0x32e5 009220 jam 0 ,mem_debug_config 
+0x32e6 009221 jam 0 ,mem_lch_code 
+0x32e7 009222 setarg 0 
+0x32e8 009223 store 5 ,mem_sp_state_start 
+0x32e9 009224 fetch 1 ,mem_device_option 
+0x32ea 009225 branch app_lpm_init ,blank 
+0x32eb 009226 beq dvc_op_module ,module_lpm_init 
+:      009227 app_lpm_init0:
+0x32ec 009228 rtn 
+:      009231 app_process_idle:
+0x32ed 009232 call ui_dispatch 
+0x32ee 009233 call check_51cmd 
+0x32ef 009234 call app_process_bb_event 
+0x32f0 009235 fetch 2 ,mem_cb_idle_process 
+0x32f1 009236 branch callback_func 
+:      009238 app_process_bt:
+0x32f2 009239 fetch 2 ,mem_cb_bt_process 
+0x32f3 009240 branch callback_func 
+:      009242 app_process_ble:
+0x32f4 009243 fetch 2 ,mem_cb_le_process 
+0x32f5 009244 branch callback_func 
+:      009246 app_process_bb_event:
+0x32f6 009247 bpatch patch18_6 ,mem_patch18 
+0x32f7 009249 arg mem_ipc_fifo_bt2c51 ,rega 
+0x32f8 009250 call fifo_out 
+0x32f9 009251 rtn blank 
+0x32fa 009253 copy pdata ,regc 
+0x32fb 009254 call app_event_normal_process 
+0x32fc 009255 branch app_process_bb_event_priority 
+:      009257 app_discard_event:
+0x32fd 009258 arg 0 ,regc 
+0x32fe 009259 rtn 
+:      009264 app_event_normal_process:
+0x32ff 009265 beq bt_evt_bb_connected ,app_evt_bt_conn 
+0x3300 009266 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+0x3301 009267 beq bt_evt_setup_complete ,app_evt_setup_complete 
+0x3302 009268 beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+0x3303 009269 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+0x3304 009270 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+0x3305 009271 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+0x3306 009272 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+0x3307 009273 beq bt_evt_le_connected ,app_le_event_bb_connected 
+0x3308 009274 beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+0x3309 009275 beq bt_evt_reconn_started ,app_event_reconn_start 
+0x330a 009276 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+0x330b 009277 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+0x330c 009279 beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+0x330d 009280 beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+0x330e 009281 beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+0x330f 009282 beq bt_evt_switch_success_master ,app_event_switch_success 
+0x3310 009283 rtn 
+:      009286 app_evt_bt_conn:
+0x3311 009287 fetch 2 ,mem_ui_state_map 
+0x3312 009288 set1 ui_state_bt_connected ,pdata 
+0x3313 009289 store 2 ,mem_ui_state_map 
+0x3314 009290 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3315 009291 set0 app_disc_by_button ,pdata 
+0x3316 009292 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3317 009293 rtn 
+:      009295 app_event_switch_success:
+0x3318 009296 jam 0 ,mem_switch_fail_master_count 
+0x3319 009297 rtn 
+:      009299 app_event_switch_fail_master:
+0x331a 009300 fetch 1 ,mem_switch_fail_master_count 
+0x331b 009301 increase 1 ,pdata 
+0x331c 009302 store 1 ,mem_switch_fail_master_count 
+0x331d 009303 sub pdata ,1 ,null 
+0x331e 009304 branch app_bt_role_switch ,positive 
+0x331f 009305 jam 0 ,mem_switch_fail_master_count 
+0x3320 009306 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3321 009307 set1 app_disc_switch_fail ,pdata 
+0x3322 009308 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3323 009309 branch app_bt_disconnect 
+:      009311 app_process_bb_event_priority:
+0x3324 009312 fetch 2 ,mem_cb_bb_event_process 
+0x3325 009313 branch callback_func 
+:      009315 app_check_wake_lock:
+0x3326 009316 fetch 2 ,mem_cb_check_wakelock 
+0x3327 009317 branch callback_func 
+:      009319 app_will_enter_lpm:
+0x3328 009320 fetch 2 ,mem_cb_before_lpm 
+0x3329 009321 branch callback_func 
+:      009323 app_event_linkkey_generate:
+0x332a 009324 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x332b 009325 set1 app_disc_after_pairing ,pdata 
+0x332c 009326 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x332d 009327 branch app_bt_store_reconn_info 
+:      009329 app_event_reconn_start:
+0x332e 009330 fetch 2 ,mem_ui_state_map 
+0x332f 009331 set1 ui_state_bt_reconnect ,pdata 
+0x3330 009332 store 2 ,mem_ui_state_map 
+0x3331 009333 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3332 009334 set1 app_disc_after_reconn ,pdata 
+0x3333 009335 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3334 009336 rtn 
+:      009338 app_evt_setup_complete:
+0x3335 009339 fetch 2 ,mem_ui_state_map 
+0x3336 009340 set1 ui_state_bt_setup_complete ,pdata 
+0x3337 009341 store 2 ,mem_ui_state_map 
+0x3338 009342 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3339 009343 set1 app_disc_after_setup_done ,pdata 
+0x333a 009344 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x333b 009345 rtn 
+:      009347 app_evt_hid_handshake:
+0x333c 009348 fetch 2 ,mem_ui_state_map 
+0x333d 009349 set1 ui_state_bt_hid_handshake ,pdata 
+0x333e 009350 store 2 ,mem_ui_state_map 
+0x333f 009351 rtn 
+:      009353 app_event_enter_sniff:
+0x3340 009354 fetch 2 ,mem_ui_state_map 
+0x3341 009355 set1 ui_state_bt_sniff ,pdata 
+0x3342 009356 store 2 ,mem_ui_state_map 
+0x3343 009357 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3344 009358 set1 app_disc_after_sniff ,pdata 
+0x3345 009359 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3346 009360 rtn 
+:      009362 app_event_exit_sniff:
+0x3347 009363 fetch 2 ,mem_ui_state_map 
+0x3348 009364 set0 ui_state_bt_sniff ,pdata 
+0x3349 009365 store 2 ,mem_ui_state_map 
+0x334a 009366 rtn 
+:      009368 app_le_event_bb_connected:
+0x334b 009369 fetch 2 ,mem_ui_state_map 
+0x334c 009370 set1 ui_state_ble_connected ,pdata 
+0x334d 009371 store 2 ,mem_ui_state_map 
+0x334e 009372 rtn 
+:      009374 app_le_event_bb_disconn:
+0x334f 009375 fetch 2 ,mem_ui_state_map 
+0x3350 009376 set0 ui_state_ble_connected ,pdata 
+0x3351 009377 store 2 ,mem_ui_state_map 
+0x3352 009378 branch app_lpm_mult_disable 
+:      009380 app_bb_event_hid_connected:
+0x3353 009381 fetch 2 ,mem_ui_state_map 
+0x3354 009382 set1 ui_state_bt_hid_conn ,pdata 
+0x3355 009383 store 2 ,mem_ui_state_map 
+0x3356 009384 rtn 
+:      009386 app_evt_button_long_pressed:
+0x3357 009387 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x3358 009388 set1 app_disc_by_button ,pdata 
+0x3359 009389 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335a 009390 rtn 
+:      009392 app_event_ml2cap_conn_refused:
+0x335b 009393 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335c 009394 set1 app_disc_l2cap_refused ,pdata 
+0x335d 009395 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x335e 009396 branch app_bt_disconnect 
+:      009399 app_evt_timer:
+0x335f 009400 bpatch patch18_7 ,mem_patch18 
+0x3360 009401 store 1 ,mem_app_evt_timer_count 
+:      009402 app_evt_100ms_loop:
+0x3361 009403 fetch 1 ,mem_app_evt_timer_count 
+0x3362 009404 rtn blank 
+0x3363 009405 increase -1 ,pdata 
+0x3364 009406 store 1 ,mem_app_evt_timer_count 
+0x3365 009407 call ui_button_polling 
+0x3366 009408 call app_lpm_wake_auto_lock_timer 
+0x3367 009409 call app_unsniff_delay_timer 
+0x3368 009410 call app_discovery_timer 
+0x3369 009411 call flash_write_spi_sm_timer 
+0x336a 009412 fetch 2 ,mem_cb_event_timer 
+0x336b 009413 call callback_func 
+0x336c 009414 branch app_evt_100ms_loop 
+:      009419 timer_single_step:
+0x336d 009420 ifetch 1 ,regc 
+0x336e 009421 rtn blank 
+0x336f 009422 pincrease -1 
+0x3370 009423 istore 1 ,regc 
+0x3371 009424 nrtn blank 
+0x3372 009425 copy regb ,pdata 
+0x3373 009426 branch callback_func 
+:      009430 timer_single_step_2b:
+0x3374 009431 ifetch 2 ,regc 
+0x3375 009432 rtn blank 
+0x3376 009433 pincrease -1 
+0x3377 009434 istore 2 ,regc 
+0x3378 009435 nrtn blank 
+0x3379 009436 copy regb ,pdata 
+0x337a 009437 branch callback_func 
+:      009439 app_power_timer:
+0x337b 009440 fetcht 2 ,mem_power_param_ptr 
+0x337c 009441 add temp ,power_timer_offset ,regc 
+0x337d 009442 arg app_power_timer_timeout ,regb 
+0x337e 009443 branch timer_single_step 
+:      009445 app_power_timer_timeout:
+0x337f 009446 call app_got_power_state_common 
+0x3380 009447 beq power_starting ,app_enter_power_stanby_state 
+:      009448 app_enter_power_off_state:
+0x3381 009449 branch app_enter_hibernate 
+:      009450 app_enter_power_stanby_state:
+0x3382 009451 setarg power_standby 
+0x3383 009452 istore 1 ,regc 
+0x3384 009453 add temp ,power_standby_cb_offset ,regb 
+:      009454 app_power_cb_common:
+0x3385 009455 ifetch 2 ,regb 
+0x3386 009456 branch callback_func 
+:      009458 app_unsniff_delay_timer:
+0x3387 009459 arg mem_unsniff2sniff_timer_count ,regc 
+0x3388 009460 arg app_unsniff_delay_timeout ,regb 
+0x3389 009461 branch timer_single_step 
+:      009463 app_unsniff_delay_timeout:
+0x338a 009464 call context_check_idle 
+0x338b 009465 branch app_bt_enter_sniff ,zero 
+0x338c 009466 rtn 
+:      009469 app_discovery_timer:
+0x338d 009470 arg mem_discovery_timeout_timer_count ,regc 
+0x338e 009471 arg app_discovery_timeout ,regb 
+0x338f 009472 branch timer_single_step_2b 
+:      009474 app_discovery_timeout:
+0x3390 009475 call app_bt_stop_discovery 
+0x3391 009476 call app_led_off 
+0x3392 009477 fetch 2 ,mem_cb_discovry_timeout 
+0x3393 009478 branch callback_func 
+:      009481 app_bb_event_reconn_failed:
+0x3394 009482 call app_disconn_reason_flag_clear 
+:      009483 app_clear_reconnect_flag:
+0x3395 009484 fetch 2 ,mem_ui_state_map 
+0x3396 009485 set0 ui_state_bt_reconnect ,pdata 
+0x3397 009486 store 2 ,mem_ui_state_map 
+0x3398 009487 rtn 
+:      009489 app_bb_event_bb_disconn:
+0x3399 009490 jam 0 ,mem_unsniff2sniff_timer_count 
+0x339a 009491 fetch 2 ,mem_ui_state_map 
+0x339b 009492 bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+0x339c 009493 isolate0 ui_state_bt_setup_complete ,pdata 
+0x339d 009494 call app_discard_event ,true 
+:      009495 app_bb_event_bb_reconn_disconn:
+0x339e 009496 bpatch patch19_0 ,mem_patch19 
+0x339f 009497 fetch 2 ,mem_ui_state_map 
+0x33a0 009498 set0 ui_state_bt_connected ,pdata 
+0x33a1 009499 set0 ui_state_bt_setup_complete ,pdata 
+0x33a2 009500 set0 ui_state_bt_hid_conn ,pdata 
+0x33a3 009501 set0 ui_state_bt_hid_handshake ,pdata 
+0x33a4 009502 set0 ui_state_bt_reconnect ,pdata 
+0x33a5 009503 store 2 ,mem_ui_state_map 
+0x33a6 009504 branch app_lpm_mult_disable 
+:      009506 app_bb_hibernate:
+0x33a7 009507 call app_disconn_reason_clear 
+0x33a8 009508 branch app_enter_hibernate 
+:      009511 app_disconn_reason_clear:
+0x33a9 009512 setarg 0 
+0x33aa 009513 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33ab 009514 rtn 
+:      009515 app_disconn_reason_flag_clear:
+0x33ac 009516 setarg 0 
+0x33ad 009517 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33ae 009518 rtn 
+:      009520 app_disconn_reason_collect_bt:
+0x33af 009521 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b0 009522 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33b1 009523 setarg 0 
+0x33b2 009524 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b3 009525 rtn 
+:      009527 app_disconn_reason_collect_ble:
+0x33b4 009528 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b5 009529 set1 app_disc_ble ,pdata 
+0x33b6 009530 store app_disc_rsn_size ,mem_app_disconn_reason 
+0x33b7 009531 setarg 0 
+0x33b8 009532 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x33b9 009533 rtn 
+:      009541 app_check_sniff:
+0x33ba 009542 fetch 1 ,mem_ui_state_map 
+0x33bb 009543 isolate1 ui_state_bt_sniff ,pdata 
+0x33bc 009544 rtn 
+:      009552 app_initflag_store:
+0x33bd 009553 setarg eeprom_init_flag 
+:      009554 app_flag_store:
+0x33be 009555 store 2 ,mem_timeup 
+0x33bf 009556 bpatch patch19_1 ,mem_patch19 
+0x33c0 009557 arg 2 ,temp 
+0x33c1 009558 arg mem_timeup ,rega 
+0x33c2 009559 arg eeprom_module_init_flag ,regb 
+0x33c3 009560 branch iicd_write_eep_data 
+:      009563 app_initflag_check:
+0x33c4 009564 bpatch patch19_2 ,mem_patch19 
+0x33c5 009565 arg 2 ,temp 
+0x33c6 009566 arg mem_pdatatemp ,rega 
+0x33c7 009567 arg eeprom_module_init_flag ,regb 
+0x33c8 009568 call iicd_read_eep_data 
+0x33c9 009569 fetch 2 ,mem_pdatatemp 
+0x33ca 009570 arg eeprom_init_flag ,temp 
+0x33cb 009571 isub temp ,null 
+0x33cc 009572 rtn 
+:      009575 app_start_auto_sniff:
+0x33cd 009576 fetch 1 ,mem_unsniff2sniff_timer 
+0x33ce 009577 store 1 ,mem_unsniff2sniff_timer_count 
+0x33cf 009578 rtn 
+:      009580 app_get_lpm_wake_lock:
+0x33d0 009581 arg wake_lock_app ,queue 
+0x33d1 009582 branch lpm_get_wake_lock 
+:      009584 app_put_lpm_wake_lock:
+0x33d2 009585 arg wake_lock_app ,queue 
+0x33d3 009586 branch lpm_put_wake_lock 
+:      009588 app_lpm_wake_auto_lock:
+0x33d4 009589 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+0x33d5 009590 branch app_get_lpm_wake_lock 
+:      009592 app_lpm_wake_auto_lock_timer:
+0x33d6 009593 arg mem_wake_up_delay_timer ,regc 
+0x33d7 009594 arg app_put_lpm_wake_lock ,regb 
+0x33d8 009595 branch timer_single_step 
+:      009597 app_l2cap_flow_control_enable:
+0x33d9 009598 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+0x33da 009599 rtn 
+:      009601 app_l2cap_flow_control_disable:
+0x33db 009602 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+0x33dc 009603 rtn 
+:      009605 app_bt_set_pincode:
+0x33dd 009606 jam bt_cmd_set_pin_code ,mem_fifo_temp 
+0x33de 009607 branch ui_ipc_send_cmd 
+:      009609 app_bt_role_switch:
+0x33df 009610 jam bt_cmd_role_switch ,mem_fifo_temp 
+0x33e0 009611 branch ui_ipc_send_cmd 
+:      009613 app_bt_start_reconnect:
+0x33e1 009614 bpatch patch19_3 ,mem_patch19 
+0x33e2 009615 fetch 1 ,mem_app_connection_options 
+0x33e3 009616 store 1 ,mem_connection_options 
+0x33e4 009617 jam app_flag_reconnect ,mem_reconnect_flag 
+0x33e5 009618 jam bt_cmd_reconnect ,mem_fifo_temp 
+0x33e6 009619 branch ui_ipc_send_cmd 
+:      009621 app_bt_reconnect_cancel:
+0x33e7 009622 jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+0x33e8 009623 branch ui_ipc_send_cmd 
+:      009625 app_bt_disconnect:
+0x33e9 009626 jam bt_cmd_disconnect ,mem_fifo_temp 
+0x33ea 009627 branch ui_ipc_send_cmd 
+:      009629 app_bt_start_discovery_short:
+0x33eb 009630 fetch 2 ,mem_discovery_timeout 
+0x33ec 009631 store 2 ,mem_discovery_timeout_timer_count 
+:      009632 app_bt_start_discovery_led_blink:
+0x33ed 009633 call app_led_start_blink 
+:      009634 app_bt_start_discovery:
+0x33ee 009635 jam bt_cmd_start_discovery ,mem_fifo_temp 
+0x33ef 009636 branch ui_ipc_send_cmd 
+:      009638 app_bt_stop_discovery:
+0x33f0 009639 setarg 0 
+0x33f1 009640 store 2 ,mem_discovery_timeout_timer_count 
+0x33f2 009641 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+0x33f3 009642 branch ui_ipc_send_cmd 
+:      009644 app_ble_start_direct_adv:
+0x33f4 009645 jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+0x33f5 009646 branch ui_ipc_send_cmd 
+:      009648 app_ble_stop_direct_adv:
+0x33f6 009649 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+0x33f7 009650 branch ui_ipc_send_cmd 
+:      009652 app_ble_stop_adv:
+0x33f8 009653 jam bt_cmd_stop_adv ,mem_fifo_temp 
+0x33f9 009654 branch ui_ipc_send_cmd 
+:      009656 app_ble_start_adv:
+0x33fa 009657 jam bt_cmd_start_adv ,mem_fifo_temp 
+0x33fb 009658 branch ui_ipc_send_cmd 
+:      009660 app_ble_start_scan:
+0x33fc 009661 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+0x33fd 009662 branch ui_ipc_send_cmd 
+:      009664 app_ble_stop_scan:
+0x33fe 009665 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+0x33ff 009666 branch ui_ipc_send_cmd 
+:      009668 app_ble_start_conn:
+0x3400 009669 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+0x3401 009670 branch ui_ipc_send_cmd 
+:      009672 app_ble_disconnect:
+0x3402 009673 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+0x3403 009674 branch ui_ipc_send_cmd 
+:      009676 app_led_start_blink:
+0x3404 009677 jam bt_cmd_led_blink ,mem_fifo_temp 
+0x3405 009678 branch ui_ipc_send_cmd 
+:      009680 app_led_on:
+0x3406 009681 jam bt_cmd_led_on ,mem_fifo_temp 
+0x3407 009682 branch ui_ipc_send_cmd 
+:      009684 app_led_stop_blink:
+:      009685 app_led_off:
+0x3408 009686 jam bt_cmd_led_off ,mem_fifo_temp 
+0x3409 009687 branch ui_ipc_send_cmd 
+:      009689 app_enter_hibernate:
+0x340a 009690 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+0x340b 009691 branch ui_ipc_send_cmd 
+:      009693 app_bt_sniff_exit:
+0x340c 009694 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+0x340d 009695 branch ui_ipc_send_cmd 
+:      009697 app_bt_enter_sniff:
+0x340e 009698 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+0x340f 009699 branch ui_ipc_send_cmd 
+:      009701 app_ble_store_reconn_info:
+0x3410 009702 jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+0x3411 009703 branch ui_ipc_send_cmd 
+:      009705 app_bt_store_reconn_info:
+0x3412 009706 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+0x3413 009707 branch ui_ipc_send_cmd 
+:      009709 app_store_reconn_info:
+0x3414 009710 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+0x3415 009711 branch ui_ipc_send_cmd 
+:      009713 app_lpm_mult_enable:
+0x3416 009714 set1 mark_lpm_mult_enable ,mark 
+0x3417 009715 rtn 
+:      009717 app_lpm_mult_disable:
+0x3418 009718 set0 mark_lpm_mult_enable ,mark 
+0x3419 009719 rtn 
+:      009739 app_button_long_pressed:
+0x341a 009740 call app_got_power_state_common 
+0x341b 009741 beq power_standby ,app_power_shutting_down 
+:      009742 app_power_starting:
+0x341c 009743 setarg power_starting 
+0x341d 009744 istore 1 ,regc 
+0x341e 009745 add temp ,power_starting_timeout_offset ,rega 
+0x341f 009746 add temp ,power_starting_cb_offset ,regb 
+:      009747 app_power_common:
+0x3420 009748 ifetcht 1 ,rega 
+0x3421 009749 increase 1 ,regc 
+0x3422 009750 istoret 1 ,regc 
+0x3423 009751 branch app_power_cb_common 
+:      009753 app_power_shutting_down:
+0x3424 009754 setarg power_off 
+0x3425 009755 istore 1 ,regc 
+0x3426 009756 fetch 2 ,mem_ui_state_map 
+0x3427 009757 bbit0 ui_state_ble_connected ,app_power_off_end 
+0x3428 009758 call app_ble_disconnect 
+:      009759 app_power_off_end:
+0x3429 009760 fetcht 2 ,mem_power_param_ptr 
+0x342a 009761 add temp ,power_off_timeout_offset ,rega 
+0x342b 009762 add temp ,power_off_cb_offset ,regb 
+0x342c 009763 branch app_power_common 
+:      009765 app_got_power_state_common:
+0x342d 009766 fetcht 2 ,mem_power_param_ptr 
+0x342e 009767 add temp ,power_state_offset ,regc 
+0x342f 009768 ifetch 1 ,regc 
+0x3430 009769 rtn 
+:      009771 app_event_button_up:
+0x3431 009772 call app_got_power_state_common 
+0x3432 009773 bne power_off ,app_power_release 
+0x3433 009774 branch app_enter_hibernate 
+:      009775 app_power_release:
+0x3434 009776 add temp ,ui_butten_up_cb_offset ,regb 
+0x3435 009777 branch app_power_cb_common 
+:      009779 antilost_init:
+0x3436 009780 rtn wake 
+0x3437 009781 jam 0x00 ,core_gpio_sel1 
+0x3438 009782 setarg antilost_le_before_hibernate 
+0x3439 009783 store 2 ,mem_cb_before_hibernate 
+0x343a 009784 setarg keyscan_process_lpm_before 
+0x343b 009785 store 2 ,mem_cb_before_lpm 
+0x343c 009786 setarg antilost_idle_process 
+0x343d 009787 store 2 ,mem_cb_idle_process 
+0x343e 009788 setarg antilost_le_conn_process 
+0x343f 009789 store 2 ,mem_cb_le_process 
+0x3440 009790 setarg antilost_bb_event_process 
+0x3441 009791 store 2 ,mem_cb_bb_event_process 
+0x3442 009792 setarg antilost_le_bb_event_timer 
+0x3443 009793 store 2 ,mem_cb_event_timer 
+0x3444 009794 setarg antilost_le_notification 
+0x3445 009795 store 2 ,mem_cb_ble_transmit 
+0x3446 009796 setarg antilost_lpm_lock_process 
+0x3447 009797 store 2 ,mem_cb_check_wakelock 
+0x3448 009798 setarg antilost_le_receive_data_process 
+0x3449 009799 store 2 ,mem_cb_att_write 
+0x344a 009800 bpatch patch19_4 ,mem_patch19 
+0x344b 009801 call antilost_buzzer_pwm_init 
+0x344c 009802 call keyscan_key_init 
+0x344d 009803 call antilost_adc_init 
+0x344e 009804 call ui_led_init_global 
+0x344f 009805 call ui_button_init 
+0x3450 009806 setarg antilost_key_up_down 
+0x3451 009807 store 2 ,mem_cb_antl_key 
+0x3452 009808 setarg antilost_power_off_cb 
+0x3453 009809 store 2 ,mem_antl_power_off_cb 
+0x3454 009810 setarg antilost_power_starting_cb 
+0x3455 009811 store 2 ,mem_antl_power_starting_cb 
+0x3456 009812 setarg antilost_power_standby_cb 
+0x3457 009813 store 2 ,mem_antl_power_standby_cb 
+0x3458 009814 setarg antilost_led_on_cb 
+0x3459 009815 store 2 ,mem_antl_led_cb_on 
+0x345a 009816 setarg antilost_led_off_cb 
+0x345b 009817 store 2 ,mem_antl_led_cb_off 
+0x345c 009818 setarg antilost_buzzer_on 
+0x345d 009819 store 2 ,mem_antl_buzzer_cb_on 
+0x345e 009820 setarg antilost_buzzer_off 
+0x345f 009821 store 2 ,mem_antl_buzzer_cb_off 
+0x3460 009822 fetch 2 ,mem_ui_state_map 
+0x3461 009823 rtnbit1 ui_state_btn_down 
+0x3462 009824 branch app_enter_hibernate 
+:      009826 antilost_le_before_hibernate:
+0x3463 009827 call antilost_led_buzzer_stop_blink 
+0x3464 009828 branch app_enter_hibernate 
+:      009830 antilost_le_notification:
+0x3465 009831 call le_fifo_check_nearly_full 
+0x3466 009832 nrtn blank 
+0x3467 009833 arg mem_temp_block5 ,rega 
+0x3468 009834 call queue_pop 
+0x3469 009835 nrtn user 
+0x346a 009836 arg mem_temp_block5 ,contr 
+0x346b 009837 branch le_send_notify_from_list 
+:      009839 antilost_power_standby_cb:
+0x346c 009840 fetch 2 ,mem_antl_le_sleep_timeout 
+0x346d 009841 store 2 ,mem_antl_le_sleep_timer 
+0x346e 009842 jam 1 ,mem_antl_key_scan_enable 
+0x346f 009843 branch antilost_fast_adv_start 
+:      009845 antilost_lpm_lock_process:
+0x3470 009846 fetch 1 ,mem_antl_key_state 
+0x3471 009847 beq 1 ,antilost_lpm_ctrl_for_led_buzzer 
+0x3472 009848 fetch 2 ,mem_ui_state_map 
+0x3473 009849 bbit0 ui_state_ble_connected ,antilost_lpm_ctrl_for_led_buzzer 
+0x3474 009850 fetch 1 ,mem_antl_lost_mode 
+0x3475 009851 beq 1 ,app_get_lpm_wake_lock 
+0x3476 009852 fetch 1 ,mem_antl_queue_curr_num 
+0x3477 009853 nbranch app_get_lpm_wake_lock ,blank 
+0x3478 009854 branch app_put_lpm_wake_lock 
+:      009856 antilost_lpm_ctrl_for_led_buzzer:
+0x3479 009857 fetch 1 ,mem_antl_led_state 
+0x347a 009858 fetcht 1 ,mem_antl_buzzer_state 
+0x347b 009859 ior temp ,pdata 
+0x347c 009860 beq 1 ,app_get_lpm_wake_lock 
+0x347d 009861 branch app_put_lpm_wake_lock 
+:      009863 antilost_bb_event_process:
+0x347e 009864 copy regc ,pdata 
+0x347f 009865 beq bt_evt_button_up ,app_event_button_up 
+0x3480 009866 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x3481 009867 beq bt_evt_le_connected ,antilost_le_process_conn 
+0x3482 009868 beq bt_evt_le_disconnected ,antilost_le_process_discon 
+0x3483 009869 beq bt_evt_le_parse_conn_papa_update_rsp ,antilost_le_conn_param_update_rsp_recieved 
+0x3484 009870 rtn 
+:      009871 antilost_le_conn_param_update_rsp_recieved:
+0x3485 009872 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x3486 009873 beq ble_signaling_connect_parameter_update_rejected ,antilost_le_conn_param_rejected 
+:      009874 antilost_le_conn_param_accepted:
+0x3487 009875 fetch 2 ,mem_le_new_connslavelatency 
+0x3488 009876 branch antilost_master_nonsupport_latency ,blank 
+:      009877 antilost_le_conn_param_updata_procedure_sucsess:
+0x3489 009878 jam conn_param_updata_procedure_complete ,mem_antl_conn_updata_procedure_state 
+0x348a 009879 jam 60 ,mem_antl_conn_update_timer 
+0x348b 009880 rtn 
+:      009882 antilost_le_conn_param_rejected:
+0x348c 009883 fetch 2 ,mem_le_latency 
+0x348d 009884 branch antilost_conn_param_updata_procedure_faild ,blank 
+:      009885 antilost_conn_param_retransimiting:
+0x348e 009886 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+0x348f 009887 fetcht 2 ,mem_interval_increment 
+0x3490 009888 fetch 2 ,mem_le_interval_min 
+0x3491 009889 iadd temp ,pdata 
+0x3492 009890 store 2 ,mem_le_interval_min 
+0x3493 009891 copy pdata ,rega 
+0x3494 009892 fetch 2 ,mem_le_interval_max 
+0x3495 009893 iadd temp ,pdata 
+0x3496 009894 store 2 ,mem_le_interval_max 
+0x3497 009895 iadd rega ,pdata 
+0x3498 009896 rshift pdata ,temp 
+0x3499 009897 fetch 2 ,mem_antl_le_unnormal_interval_max 
+0x349a 009898 idiv temp 
+0x349b 009899 call wait_div_end 
+0x349c 009900 quotient pdata 
+0x349d 009901 store 2 ,mem_le_latency 
+0x349e 009902 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x349f 009903 rtn 
+:      009904 antilost_conn_param_updata_procedure_faild:
+0x34a0 009905 jam conn_param_updata_procedure_faild ,mem_antl_conn_updata_procedure_state 
+0x34a1 009906 rtn 
+:      009908 antilost_master_nonsupport_latency:
+0x34a2 009909 jam 0 ,mem_lpm_mult 
+0x34a3 009910 jam 0 ,mem_antl_send_updata_le_param_timer 
+0x34a4 009911 fetch 2 ,mem_le_new_conninterval 
+0x34a5 009912 fetcht 2 ,mem_antl_le_unnormal_interval_min 
+0x34a6 009913 isub temp ,null 
+0x34a7 009914 setflag positive ,0 ,rega 
+0x34a8 009915 fetch 2 ,mem_antl_le_unnormal_interval_max 
+0x34a9 009916 fetcht 2 ,mem_le_new_conninterval 
+0x34aa 009917 isub temp ,pdata 
+0x34ab 009918 setflag positive ,1 ,rega 
+0x34ac 009919 compare 0x03 ,rega ,0x03 
+0x34ad 009920 rtn true 
+0x34ae 009921 fetch 8 ,mem_antl_le_unnormal_interval_min 
+0x34af 009922 store 8 ,mem_le_interval_min 
+0x34b0 009923 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x34b1 009924 rtn 
+:      009927 antilost_le_bb_event_timer:
+0x34b2 009929 call app_power_timer 
+0x34b3 009930 call antilost_double_click_timer 
+0x34b4 009931 call antilost_le_fast_adv_timer 
+0x34b5 009932 call antilost_le_sleep_timer 
+0x34b6 009933 call antilost_app_updata_le_param_timer 
+0x34b7 009934 call antilost_conn_update_timer 
+0x34b8 009935 branch antilost_adc_check_timer 
+:      009938 antilost_double_click_timer:
+0x34b9 009939 arg mem_double_click_timer ,regc 
+0x34ba 009940 arg antilost_double_click_timeout ,regb 
+0x34bb 009941 branch timer_single_step 
+:      009942 antilost_double_click_timeout:
+0x34bc 009943 jam 0 ,mem_butten_click_cnt 
+0x34bd 009944 rtn 
+:      009945 antilost_le_fast_adv_timer:
+0x34be 009946 arg mem_antl_fast_adv_timer ,regc 
+0x34bf 009947 arg antilost_le_fast_adv_timeout ,regb 
+0x34c0 009948 branch timer_single_step_2b 
+:      009949 antilost_le_fast_adv_timeout:
+0x34c1 009950 arg mem_antl_slow_adv_led_style ,regc 
+0x34c2 009951 arg mem_antl_slow_adv_lpm_interval ,regb 
+0x34c3 009952 branch antilost_adv_start_common 
+:      009955 antilost_conn_update_timer:
+0x34c4 009956 arg mem_antl_conn_update_timer ,regc 
+0x34c5 009957 arg antilost_conn_update_timer_time_out ,regb 
+0x34c6 009958 branch timer_single_step 
+:      009960 antilost_conn_update_timer_time_out:
+0x34c7 009961 fetch 2 ,mem_le_latency 
+0x34c8 009962 store 1 ,mem_lpm_mult 
+0x34c9 009963 rtn 
+:      009964 antilost_app_updata_le_param_timer:
+0x34ca 009965 arg mem_antl_send_updata_le_param_timer ,regc 
+0x34cb 009966 arg antilost_app_updata_le_param_timeout ,regb 
+0x34cc 009967 branch timer_single_step 
+:      009968 antilost_app_updata_le_param_timeout:
+0x34cd 009969 fetch 1 ,mem_le_state 
+0x34ce 009970 compare 0 ,pdata ,0x60 
+0x34cf 009971 nbranch antilost_wait_for_updata_param_instant_expire ,true 
+0x34d0 009972 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+0x34d1 009973 call app_lpm_mult_enable 
+0x34d2 009974 branch le_l2cap_tx_update_req 
+:      009975 antilost_wait_for_updata_param_instant_expire:
+0x34d3 009976 jam 1 ,mem_antl_send_updata_le_param_timer 
+0x34d4 009977 rtn 
+:      009979 antilost_le_sleep_timer:
+0x34d5 009980 arg mem_antl_le_sleep_timer ,regc 
+0x34d6 009981 arg antilost_le_sleep_timer_timeout ,regb 
+0x34d7 009982 branch timer_single_step_2b 
+:      009985 antilost_le_sleep_timer_timeout:
+0x34d8 009986 branch app_button_long_pressed 
+:      009988 antilost_adc_check_timer:
+0x34d9 009991 arg mem_adc_timer ,regc 
+0x34da 009992 arg antilost_adc_check_timer_timeout ,regb 
+0x34db 009993 branch timer_single_step_2b 
+:      009994 antilost_adc_check_timer_timeout:
+0x34dc 009995 fetch 2 ,mem_adc_timeout 
+0x34dd 009996 store 2 ,mem_adc_timer 
+0x34de 009997 branch antilost_battery_process 
+:      010000 antilost_le_process_conn:
+0x34df 010001 fetch 2 ,mem_adc_timeout 
+0x34e0 010002 store 2 ,mem_adc_timer 
+0x34e1 010003 setarg 0 
+0x34e2 010004 store 2 ,mem_antl_fast_adv_timer 
+0x34e3 010005 store 2 ,mem_antl_le_sleep_timer 
+0x34e4 010006 call antilost_alert_off 
+0x34e5 010007 call antilost_led_buzzer_stop_blink 
+0x34e6 010008 jam 0 ,mem_lpm_mult 
+0x34e7 010009 branch app_ble_stop_adv 
+:      010012 antilost_le_process_discon:
+0x34e8 010015 setarg 0 
+0x34e9 010016 store 4 ,mem_adc_timer 
+0x34ea 010017 store 3 ,mem_antl_conn_updata_procedure_state 
+0x34eb 010018 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x34ec 010020 jam 1 ,mem_alarm_config_notfy_cnt 
+0x34ed 010021 fetch 2 ,mem_antl_le_sleep_timeout 
+0x34ee 010022 store 2 ,mem_antl_le_sleep_timer 
+0x34ef 010023 call queue_init 
+0x34f0 010024 fetch 1 ,mem_antl_power_state 
+0x34f1 010025 rtneq power_off 
+0x34f2 010026 call antilost_fast_adv_start 
+0x34f3 010027 branch antilost_on_off_alarm_after_disconn 
+:      010030 antilost_le_conn_process:
+0x34f4 010032 branch antilost_key_process 
+:      010034 antilost_idle_process:
+0x34f5 010036 fetch 1 ,mem_antl_power_state 
+0x34f6 010037 rtnne power_standby 
+0x34f7 010038 branch antilost_key_process 
+:      010043 antilost_power_starting_cb:
+0x34f8 010044 arg mem_antl_power_starting_buzzer_style ,regc 
+0x34f9 010045 call antilost_buzzer_configuration 
+0x34fa 010046 arg mem_antl_power_starting_led_style ,regc 
+:      010047 antilost_power_common:
+0x34fb 010048 branch antilost_led_configuration 
+:      010050 antilost_power_off_cb:
+0x34fc 010051 jam off ,mem_le_adv_enable 
+0x34fd 010052 arg mem_antl_power_off_buzzer_style ,regc 
+0x34fe 010053 call antilost_buzzer_configuration 
+0x34ff 010054 arg mem_antl_power_off_led_style ,regc 
+0x3500 010055 branch antilost_power_common 
+:      010057 antilost_le_receive_data_process:
+0x3501 010058 fetch 1 ,mem_le_att_opcode 
+0x3502 010059 beq attop_write_request ,antilost_le_parse_att_write_request 
+0x3503 010060 rtn 
+:      010061 antilost_le_parse_att_write_request:
+0x3504 010062 fetch 2 ,mem_le_att_handle 
+0x3505 010064 beq new_spec_write_handle ,antilost_cmd_parse_for_application 
+0x3506 010065 beq new_spec_notification_enable_handle ,antilost_notify_alarm_config_first_time 
+0x3507 010066 rtn 
+:      010071 antilost_key_process:
+0x3508 010072 fetch 1 ,mem_antl_key_scan_enable 
+0x3509 010073 rtn blank 
+0x350a 010074 branch keyscan_key_process 
+:      010078 antilost_key_up_down:
+0x350b 010079 copy rega ,pdata 
+0x350c 010080 branch antilost_key_is_up ,blank 
+:      010081 antilost_key_is_down:
+0x350d 010082 copy queue ,pdata 
+0x350e 010083 beq 0 ,antilost_key0_down 
+0x350f 010084 rtn 
+:      010085 antilost_key_is_up:
+0x3510 010086 copy queue ,pdata 
+0x3511 010087 beq 0 ,antilost_key0_up 
+0x3512 010088 rtn 
+:      010090 antilost_key0_down:
+0x3513 010091 jam 1 ,mem_antl_key_state 
+0x3514 010092 arg mem_antl_key_buzzer_style ,regc 
+0x3515 010093 call antilost_buzzer_configuration 
+0x3516 010094 arg mem_antl_key_led_style ,regc 
+0x3517 010095 call antilost_led_configuration 
+0x3518 010096 fetch 2 ,mem_ui_state_map 
+0x3519 010097 bbit0 ui_state_ble_connected ,antilost_butten_down_while_disconn 
+0x351a 010098 branch antilost_butten_down_after_conn 
+:      010100 antilost_key0_up:
+0x351b 010101 jam 0 ,mem_antl_key_state 
+0x351c 010102 branch antilost_double_click_timer_init 
+:      010106 antilost_double_click_timer_init:
+0x351d 010107 fetch 1 ,mem_butten_click_cnt 
+0x351e 010108 rtnne 1 
+0x351f 010109 jam 5 ,mem_double_click_timer 
+0x3520 010110 rtn 
+:      010112 antilost_butten_down_after_conn:
+0x3521 010113 fetch 1 ,mem_butten_click_cnt 
+0x3522 010114 pincrease 1 
+0x3523 010115 store 1 ,mem_butten_click_cnt 
+0x3524 010116 beq 1 ,antilost_click_once 
+0x3525 010117 beq 2 ,antilost_click_twice 
+0x3526 010118 rtn 
+:      010119 antilost_click_once:
+0x3527 010120 call antilost_alert_off 
+0x3528 010121 jam opcode1_butten_click_once ,mem_antl_key0_press + 5 
+0x3529 010122 arg mem_antl_key0_press ,regc 
+0x352a 010123 branch antilost_prepare_data_and_send 
+:      010124 antilost_click_twice:
+0x352b 010125 jam 0 ,mem_butten_click_cnt 
+0x352c 010126 jam opcode2_butten_double_click ,mem_antl_key0_press + 5 
+0x352d 010127 arg mem_antl_key0_press ,regc 
+0x352e 010128 call antilost_prepare_data_and_send 
+0x352f 010129 fetch 1 ,mem_antl_lost_mode 
+0x3530 010130 beq 1 ,antilost_alert_on 
+0x3531 010131 rtn 
+:      010133 antilost_butten_down_while_disconn:
+0x3532 010134 fetch 2 ,mem_antl_le_sleep_timeout 
+0x3533 010135 store 2 ,mem_antl_le_sleep_timer 
+0x3534 010136 call antilost_alert_off 
+0x3535 010137 branch antilost_fast_adv_start 
+:      010140 antilost_cmd_parse_for_application:
+0x3536 010141 bpatch patch19_5 ,mem_patch19 
+0x3537 010142 call le_app_receive_data 
+0x3538 010143 ifetch 1 ,rega 
+0x3539 010144 beq opcode3_antl_start_alram ,antilost_on_of_alram 
+0x353a 010145 beq opcode7_antl_config_alram ,antilost_configuration_for_alram 
+0x353b 010146 rtn 
+:      010148 antilost_on_of_alram:
+0x353c 010149 fetch 1 ,mem_antl_lost_mode 
+0x353d 010150 beq anti_le_alarm_off ,antilost_alert_on 
+0x353e 010151 beq anti_le_alarm_on ,antilost_alert_off 
+0x353f 010152 rtn 
+:      010154 antilost_configuration_for_alram:
+0x3540 010155 ifetch 1 ,regb 
+0x3541 010156 beq 1 ,antilost_set_start_alarm_after_disconn 
+0x3542 010157 beq 0 ,antilost_set_no_alarm_after_disconn 
+0x3543 010158 rtn 
+:      010165 antilost_prepare_data_and_send:
+0x3544 010166 bpatch patch19_6 ,mem_patch19 
+0x3545 010167 fetch 1 ,mem_client_characteristic_configuration_descriptor 
+0x3546 010168 isolate1 notification_enable_bit ,pdata 
+0x3547 010169 nrtn true 
+0x3548 010170 add regc ,6 ,contr 
+0x3549 010171 ifetch 2 ,contr 
+0x354a 010172 byteswap pdata ,pdata 
+0x354b 010173 add pdata ,5 ,loopcnt 
+0x354c 010174 add regc ,3 ,contr 
+0x354d 010175 call calc_check_sum_start 
+0x354e 010176 istore 1 ,contr 
+0x354f 010177 copy regc ,rega 
+0x3550 010178 branch queue_push 
+:      010184 antilost_alert_on:
+0x3551 010185 fetch 1 ,mem_antl_power_state 
+0x3552 010186 rtn blank 
+0x3553 010187 jam 1 ,mem_antl_lost_mode 
+0x3554 010188 arg mem_antl_alert_buzzer_stlye ,regc 
+0x3555 010189 call antilost_buzzer_configuration 
+0x3556 010190 arg mem_antl_alert_led_stlye ,regc 
+0x3557 010191 call antilost_led_configuration 
+0x3558 010192 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+0x3559 010193 jam 1 ,mem_antl_key0_release + 8 
+0x355a 010194 arg mem_antl_key0_release ,regc 
+0x355b 010195 branch antilost_prepare_data_and_send 
+:      010196 antilost_alert_off:
+0x355c 010197 fetch 1 ,mem_antl_lost_mode 
+0x355d 010198 rtn blank 
+0x355e 010199 jam 0 ,mem_antl_lost_mode 
+0x355f 010200 call antilost_led_buzzer_stop_blink 
+0x3560 010201 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+0x3561 010202 jam 0 ,mem_antl_key0_release + 8 
+0x3562 010203 arg mem_antl_key0_release ,regc 
+0x3563 010204 branch antilost_prepare_data_and_send 
+:      010206 antilost_set_start_alarm_after_disconn:
+0x3564 010207 jam 1 ,mem_alarm_config 
+0x3565 010208 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x3566 010209 jam 1 ,mem_antl_key0_release + 8 
+0x3567 010210 arg mem_antl_key0_release ,regc 
+0x3568 010211 branch antilost_prepare_data_and_send 
+:      010212 antilost_set_no_alarm_after_disconn:
+0x3569 010213 jam 0 ,mem_alarm_config 
+0x356a 010214 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x356b 010215 jam 0 ,mem_antl_key0_release + 8 
+0x356c 010216 arg mem_antl_key0_release ,regc 
+0x356d 010217 branch antilost_prepare_data_and_send 
+:      010218 antilost_on_off_alarm_after_disconn:
+0x356e 010219 fetch 1 ,mem_alarm_config 
+0x356f 010220 rtn blank 
+0x3570 010221 branch antilost_alert_on 
+:      010223 antilost_notify_alarm_config_first_time:
+0x3571 010224 ifetch 2 ,rega 
+0x3572 010225 store 2 ,mem_client_characteristic_configuration_descriptor 
+0x3573 010226 isolate1 notification_enable_bit ,pdata 
+0x3574 010227 nrtn true 
+0x3575 010228 fetch 1 ,mem_alarm_config_notfy_cnt 
+0x3576 010229 rtn blank 
+0x3577 010230 jam 0 ,mem_alarm_config_notfy_cnt 
+0x3578 010231 fetch 8 ,mem_antl_le_interval_min 
+0x3579 010232 store 8 ,mem_le_interval_min 
+0x357a 010233 jam 2 ,mem_antl_send_updata_le_param_timer 
+0x357b 010234 call antilost_battery_process 
+0x357c 010235 call antilost_battery_calculate_end 
+0x357d 010236 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+0x357e 010237 fetch 1 ,mem_alarm_config 
+0x357f 010238 store 1 ,mem_antl_key0_release + 8 
+0x3580 010239 arg mem_antl_key0_release ,regc 
+0x3581 010240 branch antilost_prepare_data_and_send 
+:      010244 antilost_buzzer_configuration:
+0x3582 010245 arg 1 ,rega 
+0x3583 010246 branch antilost_configuration_common 
+:      010247 antilost_led_configuration:
+0x3584 010248 arg 0 ,rega 
+:      010249 antilost_configuration_common:
+0x3585 010250 branch antilost_led_buzzer_style_configuration 
+:      010252 antilost_led_buzzer_stop_blink:
+0x3586 010253 arg 0 ,rega 
+0x3587 010254 call ui_led_blink_stop_global 
+0x3588 010255 arg 1 ,rega 
+0x3589 010256 call ui_led_blink_stop_global 
+0x358a 010257 fetch 1 ,mem_buzzer_pwm_conf 
+0x358b 010258 branch pwm_disable 
+:      010260 antilost_led_buzzer_style_configuration:
+0x358c 010261 call calc_curr_struct_prt 
+0x358d 010262 arg 7 ,loopcnt 
+0x358e 010263 branch ui_led_set_style_global + 2 
+:      010267 antilost_fast_adv_start:
+0x358f 010268 arg mem_antl_fast_adv_led_style ,regc 
+0x3590 010269 arg mem_antl_lpm_interval ,regb 
+:      010270 antilost_adv_start_common:
+0x3591 010271 call antilost_adv_interval_lpm_interval_set 
+0x3592 010272 call antilost_led_configuration 
+0x3593 010273 fetch 2 ,mem_antl_fast_adv_timeout 
+0x3594 010274 store 2 ,mem_antl_fast_adv_timer 
+0x3595 010275 branch app_ble_start_adv 
+:      010277 antilost_adv_interval_lpm_interval_set:
+0x3596 010278 ifetch 2 ,regb 
+0x3597 010279 store 2 ,mem_lpm_interval 
+0x3598 010280 ifetch 2 ,contr 
+0x3599 010281 store 2 ,mem_le_adv_interval 
+0x359a 010282 rtn 
+:      010284 antilost_buzzer_pwm_init:
+0x359b 010285 arg 0 ,rega 
+0x359c 010286 call pwm_init 
+0x359d 010287 fetch 6 ,mem_buzzer_pwm_conf 
+0x359e 010288 store 6 ,mem_pdatatemp 
+0x359f 010289 call pwm_out_set 
+0x35a0 010290 fetch 1 ,mem_buzzer_pwm_conf 
+0x35a1 010291 branch pwm_disable 
+:      010293 antilost_led_on_cb:
+0x35a2 010294 jam 1 ,mem_antl_led_state 
+0x35a3 010295 rtn 
+:      010296 antilost_led_off_cb:
+0x35a4 010297 jam 0 ,mem_antl_led_state 
+0x35a5 010298 rtn 
+:      010302 antilost_buzzer_off:
+0x35a6 010303 jam 0 ,mem_antl_buzzer_state 
+0x35a7 010304 fetch 1 ,mem_buzzer_pwm_conf 
+0x35a8 010305 branch pwm_disable 
+:      010307 antilost_buzzer_on:
+0x35a9 010308 jam 1 ,mem_antl_buzzer_state 
+0x35aa 010309 fetch 6 ,mem_buzzer_pwm_conf 
+0x35ab 010310 store 6 ,mem_pdatatemp 
+0x35ac 010311 branch pwm_out_set 
+:      010315 antilost_adc_init:
+0x35ad 010316 jam 0 ,mem_adc_config_flag 
+0x35ae 010317 branch adc_init_data 
+:      010319 antilost_battery_process:
+0x35af 010320 call adc_set_mode 
+0x35b0 010321 call vdd_calculate_by_mode 
+0x35b1 010322 store 2 ,mem_battery_current_voltage 
+0x35b2 010323 arg mem_battery_calculate_set ,rega 
+0x35b3 010324 call adc_bat_percent_lowpower_out 
+0x35b4 010325 store 1 ,mem_voltage_remain_percent 
+0x35b5 010326 beq 0 ,antilost_low_battery 
+0x35b6 010327 sub pdata ,0x64 ,null 
+0x35b7 010328 nbranch antilost_full_battery ,positive 
+0x35b8 010329 store 1 ,mem_antl_key0_release + 8 
+:      010330 antilost_battery_calculate_end:
+0x35b9 010331 jam opcode5_batter_information ,mem_antl_key0_release + 5 
+0x35ba 010332 arg mem_antl_key0_release ,regc 
+0x35bb 010333 branch antilost_prepare_data_and_send 
+:      010334 antilost_full_battery:
+0x35bc 010335 jam 100 ,mem_antl_key0_release + 8 
+0x35bd 010336 branch antilost_battery_calculate_end 
+:      010338 antilost_low_battery:
+0x35be 010339 branch app_button_long_pressed 
+:      010343 car_init:
+0x35bf 010344 rtn wake 
+0x35c0 010345 hfetch 1 ,core_gpio_sel1 
+0x35c1 010346 and_into 0xf0 ,pdata 
+0x35c2 010347 hstore 1 ,core_gpio_sel1 
+0x35c3 010348 setarg car_le_before_hibernate 
+0x35c4 010349 store 2 ,mem_cb_before_hibernate 
+0x35c5 010351 setarg car_le_process_lpm_before 
+0x35c6 010352 store 2 ,mem_cb_before_lpm 
+0x35c7 010354 setarg app_enter_hibernate 
+0x35c8 010355 store 2 ,mem_cb_discovry_timeout 
+0x35c9 010357 setarg car_scale_process_idle 
+0x35ca 010358 store 2 ,mem_cb_idle_process 
+0x35cb 010360 setarg car_scale_process_bb_event 
+0x35cc 010361 store 2 ,mem_cb_bb_event_process 
+0x35cd 010363 setarg app_get_lpm_wake_lock 
+0x35ce 010364 store 2 ,mem_cb_check_wakelock 
+0x35cf 010366 setarg car_le_receive_data 
+0x35d0 010367 store 2 ,mem_cb_att_write 
+0x35d1 010369 setarg car_le_bb_event_timer 
+0x35d2 010370 store 2 ,mem_cb_event_timer 
+0x35d3 010372 call g24_head_ptr2regc 
+0x35d4 010373 setarg car_24g_receive_data 
+0x35d5 010374 add regc ,offset_24g_cb_rxdata_type1 ,contw 
+0x35d6 010375 istore 2 ,contw 
+0x35d7 010377 setarg car_power_off_signal 
+0x35d8 010378 store 2 ,mem_remote_car_power_off_cb 
+0x35d9 010380 setarg car_soft_switch_power_on_signal 
+0x35da 010381 store 2 ,mem_remote_car_power_standby_cb 
+0x35db 010383 bpatch patch19_7 ,mem_patch19 
+0x35dc 010384 call car_init_environment 
+0x35dd 010385 call queue_init 
+0x35de 010386 jam 2 ,mem_lpm_mult 
+0x35df 010387 jam power_on ,mem_car_24g_received_pac 
+0x35e0 010388 fetch 1 ,mem_car_config_soft_switch_enable 
+0x35e1 010389 store 1 ,mem_car_hard_soft_switch 
+0x35e2 010390 beq hard_switch ,car_hard_switch_power_on_signal 
+0x35e3 010391 fetch 1 ,mem_car_config_soft_switch_gpio 
+0x35e4 010392 store 1 ,mem_ui_button_gpio 
+0x35e5 010393 jam off ,mem_le_adv_enable 
+:      010394 car_soft_switch_power_on_init:
+0x35e6 010395 call car_ui_led_init 
+0x35e7 010396 call ui_button_init 
+0x35e8 010397 call ui_button_polling 
+0x35e9 010398 jam power_starting ,mem_car_power_state 
+0x35ea 010399 fetch 2 ,mem_ui_state_map 
+0x35eb 010400 rtnbit1 ui_state_btn_down 
+0x35ec 010401 branch app_enter_hibernate 
+:      010403 car_power_off_signal:
+0x35ed 010404 branch car_ui_led_init 
+:      010406 car_hard_switch_power_on_signal:
+0x35ee 010407 jam power_standby ,mem_car_power_state 
+:      010408 car_soft_switch_power_on_signal:
+0x35ef 010409 jam on ,mem_le_adv_enable 
+0x35f0 010410 call car_ui_led_init 
+0x35f1 010411 arg 0 ,rega 
+0x35f2 010412 call ui_led_blink_start_global 
+0x35f3 010414 setarg fast_adv_interval_value_car 
+0x35f4 010415 call shutter_ble_adv_interval_set 
+:      010416 car_le_modified_name_adv:
+0x35f5 010417 arg mem_le_name + 7 ,contw 
+0x35f6 010418 fetch 1 ,mem_le_lap 
+:      010419 car_name_loop:
+0x35f7 010420 and pdata ,0xF0 ,temp 
+0x35f8 010421 rshift4 temp ,temp 
+0x35f9 010422 call car_hex_to_ascii 
+0x35fa 010423 istoret 1 ,contw 
+0x35fb 010424 and pdata ,0x0F ,temp 
+0x35fc 010425 call car_hex_to_ascii 
+0x35fd 010426 istoret 1 ,contw 
+0x35fe 010427 call le_modified_name_att_list 
+0x35ff 010428 fetcht 1 ,mem_le_name_len 
+0x3600 010429 copy temp ,loopcnt 
+0x3601 010430 arg mem_le_adv_data + 2 ,contw 
+0x3602 010431 arg mem_le_name ,contr 
+0x3603 010432 call memcpy 
+:      010433 car_le_modified_name_scan:
+0x3604 010434 fetcht 1 ,mem_le_name_len 
+0x3605 010435 copy temp ,loopcnt 
+0x3606 010436 arg mem_le_scan_data + 2 ,contw 
+0x3607 010437 arg mem_le_name ,contr 
+0x3608 010438 branch memcpy 
+:      010439 car_hex_to_ascii:
+0x3609 010440 sub temp ,9 ,null 
+0x360a 010441 branch car_hex_num ,positive 
+0x360b 010442 add temp ,55 ,temp 
+0x360c 010443 rtn 
+:      010444 car_hex_num:
+0x360d 010445 add temp ,48 ,temp 
+0x360e 010446 rtn 
+:      010448 car_ui_led_init:
+0x360f 010449 fetch 1 ,mem_car_config_blood_led1_gpio 
+0x3610 010450 bne invalid_pin_num ,car_blood_led_gpio_set 
+:      010451 car_ui_led_init_1:
+0x3611 010452 fetch 1 ,mem_car_config_pairing_led_gpio 
+0x3612 010453 bne invalid_pin_num ,car_pairing_led_gpio_set 
+:      010454 car_ui_led_init_2:
+0x3613 010455 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+0x3614 010456 bne invalid_pin_num ,car_low_voltage_led_gpio_set 
+:      010457 car_ui_led_init_3:
+0x3615 010458 fetch 1 ,mem_car_led_num 
+0x3616 010459 copy pdata ,loopcnt 
+0x3617 010460 setarg mem_car_led_map 
+0x3618 010461 copy pdata ,rega 
+:      010462 car_in_lp1:
+0x3619 010463 copy rega ,contr 
+0x361a 010464 ifetch 1 ,contr 
+0x361b 010465 copy contr ,rega 
+0x361c 010466 beq invalid_pin_num ,car_in_lp1_end 
+0x361d 010467 copy pdata ,temp 
+0x361e 010468 call gpio_config_output 
+:      010469 car_in_lp1_end:
+0x361f 010470 loop car_in_lp1 
+:      010471 car_ui_led_init_end:
+0x3620 010472 rtn 
+:      010473 car_blood_led_gpio_set:
+0x3621 010474 fetch 8 ,mem_car_config_blood_led1_gpio 
+0x3622 010475 store 8 ,mem_car_led_map + 2 
+0x3623 010476 branch car_ui_led_init_1 
+:      010477 car_pairing_led_gpio_set:
+0x3624 010478 store 1 ,mem_car_led_map 
+0x3625 010479 branch car_ui_led_init_2 
+:      010480 car_low_voltage_led_gpio_set:
+0x3626 010481 store 1 ,mem_car_led_map + 1 
+0x3627 010482 branch car_ui_led_init_3 
+:      010485 car_init_environment:
+0x3628 010486 arg 0 ,rega 
+0x3629 010487 call pwm_init 
+0x362a 010488 call car_ir_rx_init 
+0x362b 010489 call g24_receive_process_init 
+0x362c 010490 branch car_init_adc_hvin 
+:      010492 car_init_adc_hvin:
+0x362d 010493 jam 100 ,mem_car_notify_vdd_value_last 
+0x362e 010494 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+0x362f 010495 store 1 ,mem_car_style2_struct_led_gpio 
+0x3630 010496 branch adc_init_data 
+:      010498 car_le_before_hibernate:
+0x3631 010499 call gpio_set_before_lpm_common 
+0x3632 010500 branch keyscan_process_lpm_before 
+:      010502 car_le_process_lpm_before:
+0x3633 010503 branch keyscan_process_lpm_before 
+:      010505 car_key_scan_process:
+0x3634 010508 branch keyscan_key_process 
+:      010510 car_scale_process_idle:
+0x3635 010511 call car_le_send_packet 
+0x3636 010512 call car_ir_receive_process 
+0x3637 010513 call car_g24_status_process 
+0x3638 010514 branch car_key_scan_process 
+:      010516 car_g24_status_process:
+0x3639 010517 fetch 2 ,mem_ui_state_map 
+0x363a 010518 rtnbit1 ui_state_ble_connected 
+0x363b 010519 fetch 1 ,mem_car_24g_received_pac 
+0x363c 010520 beq work_paired ,car_g24_connected_event 
+0x363d 010521 rtn 
+:      010522 car_g24_connected_event:
+0x363e 010523 fetch 1 ,mem_car_24g_status 
+0x363f 010524 rtneq work_paired 
+0x3640 010525 jam work_paired ,mem_car_24g_status 
+0x3641 010526 branch car_g24_connected 
+:      010528 car_le_send_packet:
+0x3642 010529 fetch 2 ,mem_ui_state_map 
+0x3643 010530 rtnbit0 ui_state_ble_connected 
+0x3644 010531 call le_fifo_check_nearly_full 
+0x3645 010532 nrtn blank 
+0x3646 010533 arg mem_car_pop_queue_buff ,rega 
+0x3647 010534 call queue_pop 
+0x3648 010535 nrtn user 
+0x3649 010536 arg mem_car_pop_queue_buff ,contr 
+0x364a 010537 branch le_send_notify_from_list 
+:      010539 car_scale_process_bb_event:
+0x364b 010540 copy regc ,pdata 
+0x364c 010541 beq bt_evt_button_up ,app_event_button_up 
+0x364d 010542 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x364e 010543 beq bt_evt_le_connected ,car_scale_event_le_conn 
+0x364f 010544 beq bt_evt_le_disconnected ,car_scale_event_le_discon 
+0x3650 010545 rtn 
+:      010547 car_scale_event_le_conn:
+0x3651 010548 setarg disable_24g 
+0x3652 010549 call g24_store_mem_24g_mode 
+0x3653 010550 branch car_scale_process_conn 
+:      010551 car_g24_connected:
+0x3654 010552 fetch 2 ,mem_car_24g_no_data_timeout_count 
+0x3655 010553 store 2 ,mem_car_24g_no_data_timeout_timer 
+:      010554 car_scale_process_conn:
+0x3656 010555 jam 0x14 ,mem_car_notify_vdd_timer 
+0x3657 010556 jam 0 ,mem_lpm_mode 
+0x3658 010557 call app_ble_stop_adv 
+0x3659 010558 call app_lpm_mult_enable 
+0x365a 010559 fetch 1 ,mem_car_config_pairing_led_conn_status 
+0x365b 010560 beq 0x01 ,car_pairing_led_conn_status_setting 
+:      010561 car_scale_process_conn_next:
+0x365c 010562 arg 0 ,rega 
+0x365d 010563 branch ui_led_on_global 
+:      010564 car_pairing_led_conn_status_setting:
+0x365e 010565 arg 0 ,rega 
+0x365f 010566 branch ui_led_blink_stop_global 
+:      010568 car_scale_event_le_discon:
+0x3660 010569 setarg rx_24g 
+0x3661 010570 call g24_store_mem_24g_mode 
+:      010571 car_g24_disconnect:
+0x3662 010572 setarg 0 
+0x3663 010573 store 5 ,mem_car_led_control 
+0x3664 010574 setarg 4 
+0x3665 010575 call pwm_disable 
+0x3666 010576 setarg 5 
+0x3667 010577 call pwm_disable 
+0x3668 010578 setarg 20 
+0x3669 010579 call pwm_disable 
+0x366a 010580 setarg 21 
+0x366b 010581 call pwm_disable 
+0x366c 010582 setarg 22 
+0x366d 010583 call pwm_disable 
+0x366e 010584 setarg 7 
+0x366f 010585 call pwm_disable 
+0x3670 010586 call queue_init 
+0x3671 010587 jam 10 ,mem_motor1_speed 
+0x3672 010588 jam 10 ,mem_motor2_speed 
+0x3673 010589 jam 10 ,mem_motor3_speed 
+0x3674 010591 jam 2 ,mem_lpm_mult 
+0x3675 010592 arg 0 ,rega 
+0x3676 010593 call ui_led_blink_start_global 
+0x3677 010595 setarg fast_adv_interval_value_car 
+0x3678 010596 call shutter_ble_adv_interval_set 
+0x3679 010597 branch app_ble_start_adv 
+:      010599 car_le_bb_event_timer:
+0x367a 010601 call car_moto1_blank_data_timer 
+0x367b 010602 call car_moto2_blank_data_timer 
+0x367c 010603 call car_moto3_blank_data_timer 
+0x367d 010604 call app_power_timer 
+0x367e 010605 call car_led_control_timer 
+0x367f 010606 call car_notify_vdd_timer 
+0x3680 010607 call car_24g_no_data_timeout_timer 
+0x3681 010608 call car_ir_breakdown_timer 
+0x3682 010609 branch car_attack_shake_timer 
+:      010611 car_ir_breakdown_timer:
+0x3683 010612 arg mem_car_ir_breakdown_check_timer ,regc 
+0x3684 010613 arg car_ir_breakdown_timeout ,regb 
+0x3685 010614 branch timer_single_step 
+:      010615 car_ir_breakdown_timeout:
+0x3686 010616 call car_ir_gpio_get_status 
+0x3687 010617 nrtn true 
+0x3688 010618 jam 1 ,mem_car_ir_breakdown_flag 
+0x3689 010619 rtn 
+:      010621 car_24g_no_data_timeout_timer:
+0x368a 010622 arg mem_car_24g_no_data_timeout_timer ,regc 
+0x368b 010623 arg car_24g_no_data_timer_timeout ,regb 
+0x368c 010624 branch timer_single_step_2b 
+:      010625 car_24g_no_data_timer_timeout:
+0x368d 010626 jam work_search ,mem_car_24g_status 
+0x368e 010627 branch car_g24_disconnect 
+:      010629 car_attack_shake_timer:
+0x368f 010630 arg mem_car_attack_shake_timer ,regc 
+0x3690 010631 arg car_attack_shake ,regb 
+0x3691 010632 branch timer_single_step 
+:      010633 car_attack_shake:
+0x3692 010634 fetch 1 ,mem_car_attack_shake_flag 
+0x3693 010635 branch car_attack_shake_stop ,blank 
+0x3694 010636 jam 2 ,mem_car_attack_shake_timer 
+0x3695 010637 jam 0 ,mem_car_attack_shake_flag 
+0x3696 010638 setarg 0x0a02 
+0x3697 010639 store 2 ,mem_le_receive_payload 
+0x3698 010640 fetch 1 ,mem_car_config_device_select 
+0x3699 010641 beq device_battle_tank ,car_attack_shake_front_battle_tank 
+:      010642 car_attack_shake_front_battle_car:
+0x369a 010643 branch car_motor_control 
+:      010644 car_attack_shake_front_battle_tank:
+0x369b 010645 setarg 0x0a02 
+0x369c 010646 store 2 ,mem_le_receive_payload + 2 
+0x369d 010647 branch car_motor_control 
+:      010648 car_attack_shake_stop:
+0x369e 010649 setarg 0 
+0x369f 010650 store 4 ,mem_le_receive_payload 
+0x36a0 010651 branch car_motor_control 
+:      010653 car_notify_vdd_timer:
+0x36a1 010654 fetch 1 ,mem_car_config_bat_notify_enable 
+0x36a2 010655 rtn blank 
+0x36a3 010656 fetch 2 ,mem_ui_state_map 
+0x36a4 010657 bbit0 ui_state_ble_connected ,car_low_bat_led_off 
+0x36a5 010658 arg mem_car_notify_vdd_timer ,regc 
+0x36a6 010659 arg car_notify_vdd ,regb 
+0x36a7 010660 branch timer_single_step 
+:      010661 car_notify_vdd:
+0x36a8 010662 fetch 1 ,mem_car_notify_vdd_count 
+0x36a9 010663 store 1 ,mem_car_notify_vdd_timer 
+0x36aa 010664 fetch 1 ,mem_car_working_flag 
+0x36ab 010665 nrtn blank 
+:      010666 car_read_hvin:
+0x36ac 010667 call adc_set_mode 
+0x36ad 010668 call vdd_calculate_by_mode 
+0x36ae 010669 store 2 ,mem_vdd_now_vol 
+0x36af 010670 arg mem_vdd_calculate_set ,rega 
+0x36b0 010671 call adc_bat_percent_lowpower_out 
+0x36b1 010672 fetcht 1 ,mem_car_notify_vdd_value_last 
+0x36b2 010673 isub temp ,null 
+0x36b3 010674 branch car_notify_vdd_next2 ,positive 
+0x36b4 010675 store 1 ,mem_car_notify_vdd_value_last 
+0x36b5 010676 copy pdata ,temp 
+:      010677 car_notify_vdd_next2:
+0x36b6 010678 storet 1 ,mem_car_notify_vdd_percent 
+0x36b7 010679 fetch 1 ,mem_car_config_low_voltage_percent 
+0x36b8 010680 isub temp ,null 
+0x36b9 010681 call car_enter_low_bat ,positive 
+0x36ba 010682 storet 1 ,mem_notify_bat_payload 
+0x36bb 010683 arg 6 ,loopcnt 
+0x36bc 010684 arg mem_notify_bat_head ,contr 
+0x36bd 010685 call calc_check_sum_start 
+0x36be 010686 store 1 ,mem_notify_bat_check_sum 
+0x36bf 010687 arg mem_notify_bat_packet ,rega 
+0x36c0 010688 branch queue_push 
+:      010689 car_enter_low_bat:
+0x36c1 010690 fetch 1 ,mem_low_bat_flag 
+0x36c2 010691 nrtn blank 
+0x36c3 010692 jam 1 ,mem_low_bat_flag 
+0x36c4 010693 arg 1 ,rega 
+0x36c5 010694 branch ui_led_blink_start_global 
+:      010695 car_low_bat_led_off:
+0x36c6 010696 arg 1 ,rega 
+0x36c7 010697 branch ui_led_blink_stop_global 
+:      010699 car_led_control_timer:
+0x36c8 010700 arg mem_car_led_control_timer ,regc 
+0x36c9 010701 arg car_led_control ,regb 
+0x36ca 010702 branch timer_single_step 
+:      010703 car_led_control:
+0x36cb 010704 jam 5 ,mem_car_led_control_timer 
+0x36cc 010705 jam 0 ,mem_car_led_no 
+0x36cd 010706 fetch 1 ,mem_car_led_blink_status 
+0x36ce 010707 beq led_on ,car_led_control_blink_off 
+0x36cf 010708 beq led_off ,car_led_control_blink_on 
+:      010709 car_led_control_set:
+0x36d0 010710 arg mem_car_led_control ,contr 
+0x36d1 010711 copy contr ,rega 
+0x36d2 010712 arg 8 ,loopcnt 
+:      010713 car_led_control_timer_next:
+0x36d3 010714 copy rega ,contr 
+0x36d4 010715 ifetch 1 ,contr 
+0x36d5 010716 copy contr ,rega 
+0x36d6 010717 beq led_off ,car_led_control_off 
+0x36d7 010718 beq led_on ,car_led_control_on 
+0x36d8 010719 beq led_blink ,car_led_control_blink 
+:      010720 car_led_control_timer_next_2:
+0x36d9 010721 fetch 1 ,mem_car_led_no 
+0x36da 010722 increase 1 ,pdata 
+0x36db 010723 store 1 ,mem_car_led_no 
+0x36dc 010724 loop car_led_control_timer_next 
+0x36dd 010725 rtn 
+:      010726 car_led_switch:
+0x36de 010727 fetch 1 ,mem_car_led_no 
+0x36df 010728 arg mem_car_config_blood_led_gpio ,regb 
+0x36e0 010729 iadd regb ,regb 
+0x36e1 010730 ifetcht 1 ,regb 
+0x36e2 010731 rtn 
+:      010732 car_led_control_off:
+0x36e3 010733 call car_led_switch 
+0x36e4 010734 call gpio_out_inactive 
+0x36e5 010735 branch car_led_control_timer_next_2 
+:      010736 car_led_control_on:
+0x36e6 010737 call car_led_switch 
+0x36e7 010738 call gpio_out_active 
+0x36e8 010739 branch car_led_control_timer_next_2 
+:      010740 car_led_control_blink:
+0x36e9 010741 fetch 1 ,mem_car_led_blink_status 
+0x36ea 010742 beq led_on ,car_led_control_off 
+0x36eb 010743 branch car_led_control_on 
+:      010744 car_led_control_blink_on:
+0x36ec 010745 jam led_on ,mem_car_led_blink_status 
+0x36ed 010746 branch car_led_control_set 
+:      010747 car_led_control_blink_off:
+0x36ee 010748 jam led_off ,mem_car_led_blink_status 
+0x36ef 010749 branch car_led_control_set 
+:      010753 calc_check_sum_start:
+0x36f0 010754 arg 0 ,rega 
+:      010755 calc_check_sum_loop:
+0x36f1 010756 ifetch 1 ,contr 
+0x36f2 010757 iadd rega ,rega 
+0x36f3 010758 loop calc_check_sum_loop 
+:      010759 calc_check_sum_and:
+0x36f4 010760 and rega ,0xff ,pdata 
+0x36f5 010761 rtn 
+:      010763 car_le_receive_data:
+0x36f6 010764 fetch 1 ,mem_le_att_opcode 
+0x36f7 010765 beq attop_write_request ,car_le_parse_att_write_request 
+0x36f8 010766 rtn 
+:      010767 car_le_parse_att_write_request:
+0x36f9 010768 fetch 2 ,mem_le_att_handle 
+0x36fa 010769 beq att_car_control_handle ,car_control_le_receive 
+0x36fb 010770 rtn 
+:      010782 le_app_receive_data:
+0x36fc 010783 bpatch patch1a_0 ,mem_patch1a 
+0x36fd 010784 ifetch 5 ,rega 
+0x36fe 010785 store 5 ,mem_app_receive_temp 
+0x36ff 010786 fetch 2 ,mem_app_receive_temp 
+0x3700 010787 arg le_receive_packet_head ,temp 
+0x3701 010788 isub temp ,null 
+0x3702 010789 nrtn zero 
+0x3703 010790 fetch 2 ,mem_app_receive_temp + 3 
+0x3704 010791 byteswap pdata ,pdata 
+0x3705 010792 store 2 ,mem_app_receive_temp + 3 
+0x3706 010793 copy pdata ,loopcnt 
+0x3707 010794 increase 5 ,rega 
+0x3708 010795 copy rega ,contr 
+0x3709 010796 arg mem_app_receive_temp + 5 ,contw 
+0x370a 010797 call memcpy 
+0x370b 010798 ifetch 1 ,contr 
+0x370c 010799 store 1 ,mem_app_receive_temp + 15 
+0x370d 010800 arg mem_app_receive_temp + 2 ,rega 
+0x370e 010801 arg mem_app_receive_temp + 5 ,regb 
+0x370f 010802 rtn 
+:      010804 car_control_le_receive:
+0x3710 010805 setarg 0 
+0x3711 010806 store 5 ,mem_le_receive_payload 
+0x3712 010807 store 5 ,mem_le_receive_payload + 5 
+0x3713 010808 call le_app_receive_data 
+0x3714 010809 copy regb ,contr 
+0x3715 010810 arg mem_le_receive_payload ,contw 
+0x3716 010811 arg 10 ,loopcnt 
+0x3717 010812 call memcpy 
+:      010813 car_receive_cmd_select:
+0x3718 010814 bpatch patch1a_1 ,mem_patch1a 
+0x3719 010815 ifetch 1 ,rega 
+0x371a 010816 beq car_cmd_old_car_control ,car_drive_old 
+0x371b 010817 beq car_cmd_old_speed_control ,car_speed_set_old 
+0x371c 010818 beq car_cmd_l_r_motor_control ,car_motor_control 
+0x371d 010819 beq car_cmd_f_b_motor_control ,car_motor_control 
+0x371e 010820 beq car_cmd_ir_control ,car_ir_data_rx_from_app 
+0x371f 010821 beq car_cmd_led_control ,car_led_control_receive 
+0x3720 010822 beq car_cmd_device_info ,car_info_request 
+0x3721 010823 rtn 
+:      010825 car_24g_receive_data:
+0x3722 010826 fetch 2 ,mem_ui_state_map 
+0x3723 010827 rtnbit1 ui_state_ble_connected 
+0x3724 010829 fetch 2 ,mem_car_24g_no_data_timeout_count 
+0x3725 010830 store 2 ,mem_car_24g_no_data_timeout_timer 
+0x3726 010832 jam work_paired ,mem_car_24g_received_pac 
+0x3727 010834 setarg offset_24g_rxdata_temp_add3 
+0x3728 010835 call g24_set_rega 
+0x3729 010836 call car_control_le_receive 
+0x372a 010838 fetch 1 ,mem_app_receive_temp + 2 
+0x372b 010839 beq car_cmd_l_r_motor_control ,car_24g_receive_data_next 
+0x372c 010840 beq car_cmd_f_b_motor_control ,car_24g_receive_data_next 
+0x372d 010841 rtn 
+:      010842 car_24g_receive_data_next:
+0x372e 010843 fetch 1 ,mem_le_receive_payload 
+0x372f 010844 ncall car_moto1_enable_blank_data_timer ,blank 
+0x3730 010845 fetch 1 ,mem_le_receive_payload + 2 
+0x3731 010846 ncall car_moto2_enable_blank_data_timer ,blank 
+0x3732 010847 fetch 1 ,mem_le_receive_payload + 4 
+0x3733 010848 ncall car_moto3_enable_blank_data_timer ,blank 
+0x3734 010849 rtn 
+:      010851 car_moto1_enable_blank_data_timer:
+0x3735 010852 jam 5 ,mem_car_moto1_blank_timer 
+0x3736 010853 rtn 
+:      010854 car_moto2_enable_blank_data_timer:
+0x3737 010855 jam 5 ,mem_car_moto2_blank_timer 
+0x3738 010856 rtn 
+:      010857 car_moto3_enable_blank_data_timer:
+0x3739 010858 jam 5 ,mem_car_moto3_blank_timer 
+0x373a 010859 rtn 
+:      010861 car_moto1_blank_data_timer:
+0x373b 010862 arg mem_car_moto1_blank_timer ,regc 
+0x373c 010863 arg car_moto1_blank_data ,regb 
+0x373d 010864 branch timer_single_step 
+:      010865 car_moto2_blank_data_timer:
+0x373e 010866 arg mem_car_moto2_blank_timer ,regc 
+0x373f 010867 arg car_moto2_blank_data ,regb 
+0x3740 010868 branch timer_single_step 
+:      010869 car_moto3_blank_data_timer:
+0x3741 010870 arg mem_car_moto3_blank_timer ,regc 
+0x3742 010871 arg car_moto3_blank_data ,regb 
+0x3743 010872 branch timer_single_step 
+:      010874 car_moto1_blank_data:
+0x3744 010875 jam 0 ,mem_le_receive_payload 
+0x3745 010876 branch car_motor_control 
+:      010877 car_moto2_blank_data:
+0x3746 010878 jam 0 ,mem_le_receive_payload + 2 
+0x3747 010879 branch car_motor_control 
+:      010880 car_moto3_blank_data:
+0x3748 010881 jam 0 ,mem_le_receive_payload + 4 
+0x3749 010882 branch car_motor_control 
+:      010887 car_drive_old:
+0x374a 010888 call car_left_right_control_old 
+0x374b 010889 branch car_front_back_control_old 
+:      010890 car_left_right_control_old:
+0x374c 010891 fetch 1 ,mem_le_receive_payload 
+0x374d 010892 store 1 ,mem_motor2_status 
+0x374e 010893 branch car_motor2_control 
+:      010894 car_front_back_control_old:
+0x374f 010895 fetch 1 ,mem_motor1_speed 
+0x3750 010896 call car_reset_old_speed 
+0x3751 010897 fetch 1 ,mem_le_receive_payload + 1 
+0x3752 010898 store 1 ,mem_motor1_status 
+0x3753 010899 branch car_motor1_control 
+:      010900 car_reset_old_speed:
+0x3754 010901 beq speed_level_2 ,car_reset_old_speed2 
+0x3755 010902 beq speed_level_3 ,car_reset_old_speed3 
+0x3756 010903 store 1 ,mem_motor1_speed 
+0x3757 010904 rtn 
+:      010905 car_reset_old_speed2:
+0x3758 010906 jam speed_level_5 ,mem_motor1_speed 
+0x3759 010907 rtn 
+:      010908 car_reset_old_speed3:
+0x375a 010909 jam speed_level_10 ,mem_motor1_speed 
+0x375b 010910 rtn 
+:      010911 car_speed_set_old:
+0x375c 010912 fetch 1 ,mem_le_receive_payload 
+0x375d 010913 call car_reset_old_speed 
+0x375e 010914 fetch 1 ,mem_motor1_speed 
+0x375f 010915 call car_motor_speed_duty_setting 
+0x3760 010916 call car_motor_speed_duty_transform 
+0x3761 010917 branch pwm_pwm0_duty_set 
+:      010919 car_motor_control:
+0x3762 010920 fetch 1 ,mem_car_24g_go_die_flag 
+0x3763 010921 nrtn blank 
+0x3764 010922 fetch 6 ,mem_le_receive_payload 
+0x3765 010923 store 6 ,mem_motor1_status 
+0x3766 010924 fetch 1 ,mem_motor1_speed 
+0x3767 010925 fetcht 1 ,mem_motor2_speed 
+0x3768 010926 iand temp ,pdata 
+0x3769 010927 fetcht 1 ,mem_motor3_speed 
+0x376a 010928 iand temp ,pdata 
+0x376b 010929 call car_motor_working_flag ,blank 
+0x376c 010930 bpatch patch1a_2 ,mem_patch1a 
+0x376d 010931 call car_motor1_control 
+0x376e 010932 call car_motor2_control 
+0x376f 010933 branch car_motor3_control 
+:      010934 car_motor1_control:
+0x3770 010935 arg mem_motor1_pwm_set ,regb 
+0x3771 010936 arg mem_motor1_status ,contr 
+0x3772 010937 branch car_motor_status_select 
+:      010938 car_motor2_control:
+0x3773 010939 arg mem_motor2_pwm_set ,regb 
+0x3774 010940 arg mem_motor2_status ,contr 
+0x3775 010941 branch car_motor_status_select 
+:      010942 car_motor3_control:
+0x3776 010943 arg mem_motor3_pwm_set ,regb 
+0x3777 010944 arg mem_motor3_status ,contr 
+0x3778 010945 branch car_motor_status_select 
+:      010946 car_motor_working_flag:
+0x3779 010947 jam 0 ,mem_car_working_flag 
+0x377a 010948 rtn 
+:      010950 car_motor_status_select:
+0x377b 010951 ifetch 1 ,contr 
+0x377c 010952 beq motor_stop ,car_motor_stop 
+0x377d 010953 beq go_front ,car_motor_positive 
+0x377e 010954 beq go_back ,car_motor_negative 
+0x377f 010955 rtn 
+:      010956 car_motor_positive:
+0x3780 010957 jam 0 ,mem_motor_select_p_n 
+0x3781 010958 branch car_motor_negative + 1 
+:      010959 car_motor_negative:
+0x3782 010960 jam 1 ,mem_motor_select_p_n 
+0x3783 010961 ifetch 1 ,contr 
+0x3784 010962 store 1 ,mem_car_motor_speed 
+0x3785 010963 ifetch 8 ,regb 
+0x3786 010964 branch car_motor_work 
+:      010966 car_motor_stop:
+0x3787 010967 ifetch 1 ,regb 
+0x3788 010968 call pwm_disable 
+0x3789 010969 increase 1 ,regb 
+0x378a 010970 ifetch 1 ,regb 
+0x378b 010971 branch pwm_disable 
+:      010972 car_motor_work:
+0x378c 010973 store 8 ,mem_motor_pwm_pin1_set 
+0x378d 010974 jam 1 ,mem_car_working_flag 
+0x378e 010975 fetch 1 ,mem_motor_select_p_n 
+0x378f 010976 beq 0 ,car_motor_select_positive 
+:      010977 car_motor_select_negative:
+0x3790 010978 fetch 1 ,mem_motor_pwm_pin2_set 
+0x3791 010979 store 1 ,mem_motor_pwm_pin_set 
+0x3792 010980 fetch 1 ,mem_motor_pwm_pin1_set 
+:      010981 car_motor_work_next:
+0x3793 010982 call pwm_disable 
+0x3794 010983 fetch 1 ,mem_car_motor_speed 
+0x3795 010984 call car_motor_speed_duty_setting 
+0x3796 010985 store 1 ,mem_motor_pwm_dute_set 
+0x3797 010986 fetch 6 ,mem_motor_pwm_pin_set 
+0x3798 010987 store 6 ,mem_pdatatemp 
+0x3799 010988 branch pwm_out_set 
+:      010989 car_motor_select_positive:
+0x379a 010990 fetch 1 ,mem_motor_pwm_pin1_set 
+0x379b 010991 store 1 ,mem_motor_pwm_pin_set 
+0x379c 010992 fetch 1 ,mem_motor_pwm_pin2_set 
+0x379d 010993 branch car_motor_work_next 
+:      010995 car_motor_speed_duty_setting:
+0x379e 010996 mul32 pdata ,5 ,pdata 
+0x379f 010997 add pdata ,50 ,pdata 
+0x37a0 010998 rtn 
+:      010999 car_motor_speed_duty_transform:
+0x37a1 011000 arg 12000 ,temp 
+0x37a2 011001 imul32 temp ,pdata 
+0x37a3 011002 div pdata ,100 
+0x37a4 011003 call wait_div_end 
+0x37a5 011004 quotient temp 
+0x37a6 011005 copy temp ,rega 
+0x37a7 011006 setarg 12000 
+0x37a8 011007 isub temp ,regb 
+0x37a9 011008 rtn 
+:      011011 car_ir_init:
+0x37aa 011012 hfetch 1 ,core_gpio_sel2 
+0x37ab 011013 set1 2 ,pdata 
+0x37ac 011014 hstore 1 ,core_gpio_sel2 
+0x37ad 011015 setarg 158 
+0x37ae 011016 hstore 2 ,core_pwm_pcnt4 
+0x37af 011017 hstore 2 ,core_pwm_ncnt4 
+0x37b0 011018 rtn 
+:      011020 car_ir_data_rx_from_app:
+0x37b1 011021 fetch 1 ,mem_car_24g_go_die_flag 
+0x37b2 011022 nrtn blank 
+0x37b3 011023 fetch 2 ,mem_le_receive_payload 
+0x37b4 011024 store 2 ,mem_ir_data 
+0x37b5 011025 fetch 1 ,mem_car_24g_status 
+0x37b6 011026 bne work_paired ,car_ir_data_tx 
+0x37b7 011027 fetch 2 ,mem_le_lap 
+0x37b8 011028 store 2 ,mem_ir_data 
+:      011029 car_ir_data_tx:
+0x37b9 011030 bpatch patch1a_3 ,mem_patch1a 
+0x37ba 011031 call car_ir_init 
+0x37bb 011032 call car_ir_enable 
+0x37bc 011033 setarg 48000 
+0x37bd 011034 call sleep 
+0x37be 011035 call car_ir_disable 
+0x37bf 011036 setarg 7200 
+0x37c0 011037 call sleep 
+0x37c1 011038 arg 16 ,loopcnt 
+:      011039 car_ir_send_loop:
+0x37c2 011040 call car_ir_enable 
+0x37c3 011041 fetch 2 ,mem_ir_data 
+0x37c4 011042 bbit1 0 ,car_ir_is_bit1 
+0x37c5 011043 setarg 7200 
+0x37c6 011044 call sleep 
+0x37c7 011045 call car_ir_disable 
+0x37c8 011046 branch car_ir_wait_finish 
+:      011048 car_ir_is_bit1:
+0x37c9 011049 setarg 14400 
+0x37ca 011050 call sleep 
+0x37cb 011051 call car_ir_disable 
+:      011052 car_ir_wait_finish:
+0x37cc 011053 setarg 7200 
+0x37cd 011054 call sleep 
+0x37ce 011055 fetch 2 ,mem_ir_data 
+0x37cf 011056 rshift pdata ,pdata 
+0x37d0 011057 store 2 ,mem_ir_data 
+0x37d1 011058 loop car_ir_send_loop 
+0x37d2 011060 jam 2 ,mem_car_attack_shake_timer 
+0x37d3 011061 jam 1 ,mem_car_attack_shake_flag 
+0x37d4 011062 setarg 0x0a01 
+0x37d5 011063 store 2 ,mem_le_receive_payload 
+0x37d6 011064 fetch 1 ,mem_car_config_device_select 
+0x37d7 011065 beq device_battle_tank ,car_attack_shake_back_battle_tank 
+:      011066 car_attack_shake_back_battle_car:
+0x37d8 011067 branch car_motor_control 
+:      011068 car_attack_shake_back_battle_tank:
+0x37d9 011069 setarg 0x0a01 
+0x37da 011070 store 2 ,mem_le_receive_payload + 2 
+0x37db 011071 branch car_motor_control 
+:      011073 car_ir_enable:
+0x37dc 011074 hfetch 1 ,core_gpio_key2 
+0x37dd 011075 or_into 0x40 ,pdata 
+0x37de 011076 hstore 1 ,core_gpio_key2 
+0x37df 011077 rtn 
+:      011078 car_ir_disable:
+0x37e0 011079 hfetch 1 ,core_gpio_key2 
+0x37e1 011080 and_into 0xbf ,pdata 
+0x37e2 011081 hstore 1 ,core_gpio_key2 
+0x37e3 011082 rtn 
+:      011084 car_ir_rx_init:
+0x37e4 011085 fetch 1 ,mem_car_config_ir_enable 
+0x37e5 011086 rtneq 0x00 
+0x37e6 011087 call lpm_disable_exen_output 
+0x37e7 011088 fetcht 1 ,mem_car_config_ir_rx_gpio 
+0x37e8 011089 storet 1 ,mem_ir_rx_gpio 
+0x37e9 011090 call gpio_config_input 
+0x37ea 011091 call car_ir_gpio_get_status 
+0x37eb 011092 nrtn true 
+0x37ec 011093 jam 1 ,mem_car_ir_breakdown_check_timer 
+0x37ed 011094 rtn 
+:      011096 car_ir_receive_process:
+0x37ee 011097 fetch 1 ,mem_car_config_ir_enable 
+0x37ef 011098 rtneq flag_ir_disable 
+0x37f0 011099 fetch 1 ,mem_car_ir_breakdown_flag 
+0x37f1 011100 nrtn blank 
+0x37f2 011101 fetch 2 ,mem_ui_state_map 
+0x37f3 011102 bbit1 ui_state_ble_connected ,car_ir_receive_process_next 
+0x37f4 011103 fetch 1 ,mem_car_24g_status 
+0x37f5 011104 rtnne work_paired 
+:      011105 car_ir_receive_process_next:
+0x37f6 011106 bpatch patch1a_4 ,mem_patch1a 
+0x37f7 011107 call car_ir_gpio_get_status 
+0x37f8 011108 nrtn true 
+0x37f9 011109 setarg 36000 
+0x37fa 011110 call sleep 
+0x37fb 011111 call car_ir_gpio_get_status 
+0x37fc 011112 nrtn true 
+0x37fd 011113 call car_ir_clk_get 
+:      011114 car_ir_packet_head_wait_end:
+0x37fe 011115 call car_ir_clk_check 
+0x37ff 011116 nrtn positive 
+0x3800 011117 call car_ir_gpio_get_status 
+0x3801 011118 branch car_ir_packet_head_wait_end ,true 
+0x3802 011119 arg 0 ,rega 
+0x3803 011120 arg 16 ,loopcnt 
+0x3804 011121 call car_ir_clk_get 
+:      011122 car_ir_receive_process_loop:
+0x3805 011123 call car_ir_clk_check 
+0x3806 011124 nrtn positive 
+0x3807 011125 call car_ir_gpio_get_status 
+0x3808 011126 nbranch car_ir_receive_process_loop ,true 
+0x3809 011127 setarg 10800 
+0x380a 011128 call sleep 
+0x380b 011129 call car_ir_gpio_get_status 
+0x380c 011130 branch car_ir_get_bit1 ,true 
+:      011131 car_ir_get_bit0:
+0x380d 011132 setarg 0 
+0x380e 011133 rshift rega ,rega 
+0x380f 011134 ior rega ,rega 
+0x3810 011135 loop car_ir_receive_process_loop 
+0x3811 011136 branch car_ir_receive_process_end 
+:      011137 car_ir_get_bit1:
+0x3812 011138 setarg 0x8000 
+0x3813 011139 rshift rega ,rega 
+0x3814 011140 ior rega ,rega 
+0x3815 011141 call car_ir_clk_get 
+:      011142 car_ir_get_bit1_wait_low_end:
+0x3816 011143 call car_ir_clk_check 
+0x3817 011144 nrtn positive 
+0x3818 011145 call car_ir_gpio_get_status 
+0x3819 011146 branch car_ir_get_bit1_wait_low_end ,true 
+0x381a 011147 loop car_ir_receive_process_loop 
+:      011148 car_ir_receive_process_end:
+0x381b 011149 bpatch patch1a_5 ,mem_patch1a 
+0x381c 011150 copy rega ,pdata 
+0x381d 011151 store 2 ,mem_ir_rx_buf 
+0x381e 011152 store 2 ,mem_ir_notify_data + 8 
+0x381f 011153 fetch 1 ,mem_car_24g_status 
+0x3820 011154 beq work_paired ,car_ir_24g_receive_attack 
+:      011155 car_ir_data_notify:
+0x3821 011156 arg 0x07 ,loopcnt 
+0x3822 011157 arg mem_ir_notify_data_head ,contr 
+0x3823 011158 call calc_check_sum_start 
+0x3824 011159 store 1 ,mem_ir_notify_data_check_sum 
+0x3825 011160 arg mem_ir_notify_data ,rega 
+0x3826 011161 branch queue_push 
+:      011163 car_ir_24g_receive_attack:
+0x3827 011164 fetch 1 ,mem_car_24g_ir_receive_attack_count 
+0x3828 011165 increase 1 ,pdata 
+0x3829 011166 store 1 ,mem_car_24g_ir_receive_attack_count 
+0x382a 011167 div pdata ,2 
+0x382b 011168 call wait_div_end 
+0x382c 011169 quotient temp 
+0x382d 011170 remainder pdata 
+0x382e 011171 nbranch car_ir_24g_receive_attack_blink ,blank 
+:      011172 car_ir_24g_receive_attack_off:
+0x382f 011173 fetch 1 ,mem_car_config_led_num 
+0x3830 011174 isub temp ,null 
+0x3831 011175 call car_ir_24g_go_die ,zero 
+0x3832 011176 arg mem_car_led_control ,pdata 
+0x3833 011177 increase -1 ,temp 
+0x3834 011178 iadd temp ,rega 
+0x3835 011179 arg 0 ,pdata 
+0x3836 011180 istore 1 ,rega 
+0x3837 011181 rtn 
+:      011182 car_ir_24g_receive_attack_blink:
+0x3838 011183 arg mem_car_led_control ,pdata 
+0x3839 011184 iadd temp ,rega 
+0x383a 011185 arg 2 ,pdata 
+0x383b 011186 istore 1 ,rega 
+0x383c 011187 rtn 
+:      011188 car_ir_24g_go_die:
+0x383d 011189 jam 1 ,mem_car_24g_go_die_flag 
+0x383e 011190 rtn 
+:      011191 car_ir_clk_get:
+0x383f 011192 copy clkn_bt ,pdata 
+0x3840 011193 store 4 ,mem_ir_receive_clkn 
+0x3841 011194 rtn 
+:      011195 car_ir_clk_check:
+0x3842 011196 copy clkn_bt ,pdata 
+0x3843 011197 fetcht 4 ,mem_ir_receive_clkn 
+0x3844 011198 isub temp ,pdata 
+0x3845 011199 sub pdata ,200 ,null 
+0x3846 011200 rtn 
+:      011202 car_ir_gpio_get_status:
+0x3847 011203 fetcht 1 ,mem_ir_rx_gpio 
+0x3848 011204 branch gpio_get_bit 
+:      011206 car_led_control_receive:
+0x3849 011207 fetch 8 ,mem_le_receive_payload 
+0x384a 011208 store 8 ,mem_car_led_control 
+0x384b 011209 rtn 
+:      011211 car_info_request:
+0x384c 011212 fetch 1 ,mem_car_config_device_select 
+0x384d 011213 store 1 ,mem_car_info_request_payload 
+0x384e 011214 fetch 1 ,mem_car_config_motor_layout 
+0x384f 011215 store 1 ,mem_car_info_request_payload + 1 
+0x3850 011216 fetch 1 ,mem_car_config_ir_enable 
+0x3851 011217 store 1 ,mem_car_info_request_payload + 2 
+0x3852 011218 arg 13 ,loopcnt 
+0x3853 011219 arg mem_car_info_request_head ,contr 
+0x3854 011220 call calc_check_sum_start 
+0x3855 011221 store 1 ,mem_car_info_request_checksum 
+0x3856 011222 arg mem_car_info_request ,rega 
+0x3857 011223 branch queue_push 
+:      011229 light_init:
+0x3858 011230 call clear_eeprom_size_2k 
+0x3859 011231 jam 0x7a ,mem_curr_packet_num 
+0x385a 011232 call light_load_controler_list 
+0x385b 011233 call light_init_crr_cmd_count 
+0x385c 011234 setarg light_pairing_timer 
+0x385d 011235 store 2 ,mem_cb_event_timer 
+0x385e 011236 arg 0 ,rega 
+0x385f 011237 branch pwm_init 
+:      011239 light_pairing_timer:
+0x3860 011240 fetch 2 ,mem_light_pairing_timer 
+0x3861 011241 rtn blank 
+0x3862 011242 increase -1 ,pdata 
+0x3863 011243 store 2 ,mem_light_pairing_timer 
+0x3864 011244 rtnne 0 
+0x3865 011245 jam 0 ,mem_light_pairing_enable 
+0x3866 011246 rtn 
+:      011248 light_init_crr_cmd_count:
+0x3867 011249 bpatch patch1a_6 ,mem_patch1a 
+0x3868 011250 fetch 1 ,mem_light_next_record 
+0x3869 011251 sub pdata ,40 ,null 
+0x386a 011252 rtn positive 
+0x386b 011253 jam 0 ,mem_light_next_record 
+0x386c 011254 rtn 
+:      011256 light_load_controler_list:
+0x386d 011257 arg mem_light_next_record ,rega 
+0x386e 011258 arg 0 ,regb 
+0x386f 011259 arg 81 ,temp 
+0x3870 011260 branch iicd_read_eep_data 
+:      011263 light_find_controler_pairing:
+0x3871 011264 disable user 
+0x3872 011265 fetch 1 ,mem_light_cnum 
+0x3873 011266 copy pdata ,loopcnt 
+0x3874 011268 arg mem_light_clist ,rega 
+0x3875 011269 copy regc ,regb 
+:      011270 light_find_controler_pairing_loop:
+0x3876 011271 bpatch patch1a_7 ,mem_patch1a 
+0x3877 011272 call light_compare_addr_record 
+0x3878 011273 branch enable_user ,zero 
+:      011274 light_find_single_pairing_diff:
+0x3879 011275 increase 4 ,rega 
+0x387a 011276 loop light_find_controler_pairing_loop 
+0x387b 011277 rtn 
+:      011280 light_compare_addr_record:
+0x387c 011281 bpatch patch1b_0 ,mem_patch1b 
+0x387d 011282 ifetch 3 ,rega 
+0x387e 011283 ifetcht 3 ,regb 
+0x387f 011284 isub temp ,null 
+0x3880 011285 rtn 
+:      011287 light_compare_single_record:
+0x3881 011288 bpatch patch1b_1 ,mem_patch1b 
+0x3882 011289 ifetch 3 ,rega 
+0x3883 011290 ifetcht 3 ,regb 
+0x3884 011291 isub temp ,null 
+0x3885 011292 nrtn zero 
+0x3886 011293 ifetch 1 ,contr 
+0x3887 011294 sub pdata ,0 ,null 
+0x3888 011295 rtn zero 
+0x3889 011296 add rega ,3 ,contr 
+0x388a 011297 ifetcht 1 ,contr 
+0x388b 011298 isub temp ,null 
+0x388c 011299 rtn 
+:      011302 light_find_controler_cmd:
+0x388d 011303 bpatch patch1b_2 ,mem_patch1b 
+0x388e 011304 disable user 
+0x388f 011305 fetch 1 ,mem_light_cnum 
+0x3890 011306 copy pdata ,loopcnt 
+0x3891 011308 arg mem_light_clist ,rega 
+0x3892 011309 copy regc ,regb 
+:      011310 light_find_controler_cmd_loop:
+0x3893 011311 call light_compare_single_record 
+0x3894 011312 branch enable_user ,zero 
+0x3895 011313 increase 4 ,rega 
+0x3896 011314 loop light_find_controler_cmd_loop 
+0x3897 011315 rtn 
+:      011318 light_recv_adv:
+0x3898 011319 fetch 1 ,mem_le_scanrsp_rcv 
+0x3899 011320 increase 1 ,pdata 
+0x389a 011321 store 1 ,mem_le_scanrsp_rcv 
+0x389b 011322 arg mem_le_rxbuf + 12 ,regc 
+:      011324 light_anylize_command:
+0x389c 011325 ifetch 2 ,regc 
+0x389d 011326 arg 0x55aa ,temp 
+0x389e 011327 isub temp ,null 
+0x389f 011328 nrtn zero 
+0x38a0 011329 copy contr ,regc 
+0x38a1 011330 ifetcht 3 ,regc 
+0x38a2 011331 setarg 0xffffff 
+0x38a3 011332 isub temp ,null 
+0x38a4 011333 branch light_parse_cmd ,zero 
+0x38a5 011334 call light_find_controler_cmd 
+0x38a6 011335 branch light_parse_cmd ,user 
+0x38a7 011336 rtn 
+:      011338 light_parse_cmd:
+0x38a8 011339 bpatch patch1b_3 ,mem_patch1b 
+0x38a9 011340 increase 4 ,regc 
+0x38aa 011341 ifetch 1 ,regc 
+0x38ab 011342 fetcht 1 ,mem_curr_packet_num 
+0x38ac 011343 isub temp ,null 
+0x38ad 011344 rtn zero 
+0x38ae 011345 store 1 ,mem_curr_packet_num 
+0x38af 011346 fetch 1 ,mem_le_req_rcv 
+0x38b0 011347 increase 1 ,pdata 
+0x38b1 011348 store 1 ,mem_le_req_rcv 
+0x38b2 011350 increase 1 ,regc 
+0x38b3 011351 ifetch 1 ,regc 
+0x38b4 011352 store 1 ,mem_light_crr_cmd_count 
+0x38b5 011353 copy pdata ,loopcnt 
+0x38b6 011354 rtn blank 
+:      011355 light_parse_cmd_loop:
+0x38b7 011356 ifetch 1 ,contr 
+0x38b8 011357 beq light_cmd_pwm0 ,light_parse_cmd_pwm0 
+0x38b9 011358 beq light_cmd_pwm1 ,light_parse_cmd_pwm1 
+0x38ba 011359 beq light_cmd_pwm2 ,light_parse_cmd_pwm2 
+0x38bb 011360 beq light_cmd_pwm3 ,light_parse_cmd_pwm3 
+0x38bc 011361 beq light_cmd_pwm4 ,light_parse_cmd_pwm4 
+0x38bd 011362 beq light_cmd_pwm5 ,light_parse_cmd_pwm5 
+0x38be 011363 beq light_cmd_auto_mode ,light_parse_auto_mode 
+0x38bf 011364 beq light_cmd_pairing ,light_parse_pairing 
+0x38c0 011365 loop light_parse_cmd_loop 
+0x38c1 011366 rtn 
+:      011368 light_parse_cmd_pwm0:
+0x38c2 011369 copy contr ,regc 
+0x38c3 011370 fetch 1 ,mem_light_pwm0 
+0x38c4 011371 store 1 ,mem_pdatatemp 
+0x38c5 011372 arg 0 ,temp 
+:      011373 light_parse_cmd_pwm_common:
+0x38c6 011374 storet 1 ,mem_pdatatemp + 1 
+0x38c7 011375 setarg 10000 
+0x38c8 011376 store 3 ,mem_pdatatemp + 2 
+0x38c9 011377 ifetch 1 ,regc 
+0x38ca 011378 store 1 ,mem_pdatatemp + 5 
+0x38cb 011379 call pwm_out_set 
+0x38cc 011380 and regc ,1 ,contr 
+0x38cd 011381 loop light_parse_cmd_loop 
+0x38ce 011382 rtn 
+:      011383 light_parse_cmd_pwm1:
+0x38cf 011384 copy regc ,contr 
+0x38d0 011385 fetch 1 ,mem_light_pwm1 
+0x38d1 011386 store 1 ,mem_pdatatemp 
+0x38d2 011387 arg 1 ,temp 
+0x38d3 011388 branch light_parse_cmd_pwm_common 
+:      011389 light_parse_cmd_pwm2:
+0x38d4 011390 copy regc ,contr 
+0x38d5 011391 fetch 1 ,mem_light_pwm2 
+0x38d6 011392 store 1 ,mem_pdatatemp 
+0x38d7 011393 arg 2 ,temp 
+0x38d8 011394 branch light_parse_cmd_pwm_common 
+:      011395 light_parse_cmd_pwm3:
+0x38d9 011396 copy regc ,contr 
+0x38da 011397 fetch 1 ,mem_light_pwm3 
+0x38db 011398 store 1 ,mem_pdatatemp 
+0x38dc 011399 arg 3 ,temp 
+0x38dd 011400 branch light_parse_cmd_pwm_common 
+:      011401 light_parse_cmd_pwm4:
+0x38de 011402 copy regc ,contr 
+0x38df 011403 fetch 1 ,mem_light_pwm4 
+0x38e0 011404 store 1 ,mem_pdatatemp 
+0x38e1 011405 arg 4 ,temp 
+0x38e2 011406 branch light_parse_cmd_pwm_common 
+:      011407 light_parse_cmd_pwm5:
+0x38e3 011408 copy regc ,contr 
+0x38e4 011409 fetch 1 ,mem_light_pwm5 
+0x38e5 011410 store 1 ,mem_pdatatemp 
+0x38e6 011411 arg 5 ,temp 
+0x38e7 011412 branch light_parse_cmd_pwm_common 
+:      011414 light_parse_auto_mode:
+0x38e8 011415 ifetch 1 ,contr 
+0x38e9 011416 rtn 
+:      011418 light_parse_pairing:
+0x38ea 011419 copy contr ,regc 
+0x38eb 011420 fetch 1 ,mem_light_pairing_enable 
+0x38ec 011421 bne 1 ,light_parse_pairing_abandon 
+0x38ed 011422 call update_controler_list 
+:      011423 light_parse_pairing_abandon:
+0x38ee 011424 and regc ,4 ,contr 
+0x38ef 011425 rtn 
+:      011426 update_controler_list:
+0x38f0 011427 bpatch patch1b_4 ,mem_patch1b 
+0x38f1 011428 call light_find_controler_pairing 
+0x38f2 011429 branch update_conrtoler_list_found ,user 
+0x38f3 011430 fetch 1 ,mem_light_next_record 
+0x38f4 011431 copy pdata ,temp 
+0x38f5 011432 increase 1 ,pdata 
+0x38f6 011433 store 1 ,mem_light_next_record 
+0x38f7 011434 call light_init_crr_cmd_count 
+0x38f8 011435 lshift2 temp ,temp 
+0x38f9 011436 setarg mem_light_clist 
+0x38fa 011437 iadd temp ,contw 
+0x38fb 011438 ifetch 4 ,regc 
+0x38fc 011439 istore 4 ,contw 
+0x38fd 011440 branch update_conrtoler_store_list 
+:      011441 update_conrtoler_list_found:
+0x38fe 011442 add regc ,3 ,contr 
+0x38ff 011443 ifetch 1 ,contr 
+0x3900 011444 rtn blank 
+0x3901 011445 ifetch 4 ,regc 
+0x3902 011446 istore 4 ,rega 
+:      011447 update_conrtoler_store_list:
+0x3903 011448 arg mem_light_next_record ,rega 
+0x3904 011449 arg 0 ,regb 
+0x3905 011450 arg 81 ,temp 
+0x3906 011451 branch iicd_write_eep_data 
+:      011455 lightc_init:
+0x3907 011459 fetcht 1 ,mem_lightc_led_gpio 
+0x3908 011460 call gpio_out_inactive 
+0x3909 011461 rtn 
+:      011464 lightc_dispatch:
+0x390a 011467 fetcht 1 ,mem_lightc_led_gpio 
+0x390b 011468 call gpio_out_active 
+0x390c 011471 fetcht 1 ,mem_lightc_led_gpio 
+0x390d 011472 call gpio_out_inactive 
+0x390e 011475 call lightc_start_adv 
+0x390f 011477 fetch 1 ,mem_adv_time 
+0x3910 011478 nrtn blank 
+0x3911 011480 call lpm_write_gpio_wakeup 
+0x3912 011481 hfetch 4 ,core_lpm_ctrl 
+0x3913 011482 set0 15 ,pdata 
+0x3914 011483 hstore 4 ,core_lpm_reg 
+0x3915 011484 call lpm_write_ctrl 
+0x3916 011485 arg param_hibernate_clks ,temp 
+0x3917 011486 branch lpm_sleep 
+:      011488 lightc_adv:
+0x3918 011489 fetch 1 ,mem_adv_time 
+0x3919 011490 branch le_adv_loop_tx ,blank 
+0x391a 011491 increase -1 ,pdata 
+0x391b 011492 store 1 ,mem_adv_time 
+0x391c 011493 branch le_adv_loop_tx 
+:      011495 lightc_start_adv:
+0x391d 011496 mul32 pdata ,20 ,pdata 
+0x391e 011497 arg mem_cmd0_string ,contr 
+0x391f 011498 iadd contr ,contr 
+0x3920 011499 ifetch 1 ,contr 
+0x3921 011500 rtn blank 
+0x3922 011501 copy pdata ,rega 
+0x3923 011502 copy rega ,loopcnt 
+0x3924 011503 arg mem_le_adv_data + 2 ,contw 
+0x3925 011504 call memcpy 
+0x3926 011505 copy rega ,pdata 
+0x3927 011506 increase 2 ,pdata 
+0x3928 011507 store 1 ,mem_le_adv_data_len 
+0x3929 011508 rtn 
+:      011515 module_init:
+0x392a 011517 rtn wake 
+0x392b 011518 call le_modified_name 
+0x392c 011519 call adc_init_data 
+0x392d 011520 setarg module_process_idle 
+0x392e 011521 store 2 ,mem_cb_idle_process 
+0x392f 011522 setarg module_bt_conn_process 
+0x3930 011523 store 2 ,mem_cb_bt_process 
+0x3931 011524 setarg module_process_bb_event 
+0x3932 011525 store 2 ,mem_cb_bb_event_process 
+0x3933 011526 setarg module_le_conn_process 
+0x3934 011527 store 2 ,mem_cb_le_process 
+0x3935 011528 setarg module_lpm_lock 
+0x3936 011529 store 2 ,mem_cb_check_wakelock 
+0x3937 011530 setarg module_hci_cmd_transmit_le_notify 
+0x3938 011531 store 2 ,mem_cb_ble_transmit 
+0x3939 011532 setarg module_hci_event_receive_spp_data 
+0x393a 011533 store 2 ,mem_cb_receive_spp_data 
+0x393b 011534 setarg module_le_receive_data 
+0x393c 011535 store 2 ,mem_cb_att_write 
+0x393d 011536 setarg module_bb_event_timer 
+0x393e 011537 store 2 ,mem_cb_event_timer 
+0x393f 011539 call module_spp_clear_last_transmite_clock 
+0x3940 011540 bpatch patch1b_5 ,mem_patch1b 
+0x3941 011541 call module_lpm_uart_init 
+0x3942 011542 call module_gpio_init 
+0x3943 011543 call check_module_disabled 
+0x3944 011544 branch module_hci_event_enter_standby_mode 
+:      011547 module_lpm_uart_init:
+0x3945 011548 fetch 4 ,mem_module_uart_rx_buffer 
+0x3946 011549 hstore 4 ,core_uart_rsaddr 
+0x3947 011551 fetch 4 ,mem_module_uart_tx_buffer 
+0x3948 011552 hstore 4 ,core_uart_tsaddr 
+0x3949 011554 hfetch 1 ,core_gpio_sel1 
+0x394a 011555 or_into 0x04 ,pdata 
+0x394b 011556 and_into 0xfc ,pdata 
+0x394c 011557 hstore 1 ,core_gpio_sel1 
+0x394d 011558 jam 0x00 ,core_uart_ctrl 
+0x394e 011560 fetch 2 ,mem_module_uart_rx_buffer 
+0x394f 011561 hstore 2 ,core_uart_rrptr 
+0x3950 011562 fetch 2 ,mem_module_uart_tx_buffer 
+0x3951 011563 hstore 2 ,core_uart_twptr 
+0x3952 011564 hstore 2 ,core_uart_trptrp 
+0x3953 011566 hfetch 4 ,core_gpio_pu0 
+0x3954 011567 set1 7 ,pdata 
+0x3955 011568 hstore 4 ,core_gpio_pu0 
+0x3956 011570 hfetch 2 ,core_clkoff 
+0x3957 011571 set0 clock_off_uart ,pdata 
+0x3958 011572 hstore 2 ,core_clkoff 
+0x3959 011573 call uart_set_baud_by_mem 
+0x395a 011574 jam uartclk_crystal ,core_uart_clksel 
+0x395b 011575 jam uart_ctrl_h4 ,core_uart_ctrl 
+0x395c 011577 fetch 1 ,mem_module_flag 
+0x395d 011578 isolate1 module_flag_uart_flow_control ,pdata 
+0x395e 011579 hfetcht 1 ,core_uart_ctrl 
+0x395f 011580 setflag true ,4 ,temp 
+0x3960 011581 hstoret 1 ,core_uart_ctrl 
+0x3961 011582 rtn 
+:      011586 module_lpm_init:
+0x3962 011587 call module_spp_clear_last_transmite_clock 
+0x3963 011588 branch module_lpm_uart_init 
+:      011591 module_gpio_init:
+0x3964 011596 fetcht 1 ,mem_module_connect_state_gpio 
+0x3965 011597 call gpio_config_output 
+0x3966 011598 call module_set_conn_pin_low 
+0x3967 011600 fetcht 1 ,mem_module_wake_up_gpio 
+0x3968 011601 branch gpio_config_input 
+:      011603 module_lpm_lock:
+0x3969 011604 fetcht 1 ,mem_module_wake_up_gpio 
+0x396a 011605 call gpio_get_bit 
+0x396b 011606 nbranch app_put_lpm_wake_lock ,true 
+0x396c 011607 branch app_get_lpm_wake_lock 
+:      011610 module_le_conn_process:
+0x396d 011611 rtn 
+:      011613 module_bt_conn_process:
+0x396e 011614 call module_spp_enter_sniff 
+0x396f 011615 branch module_control_air_flow 
+:      011617 module_spp_enter_sniff:
+0x3970 011618 fetch 1 ,mem_ui_state_map 
+0x3971 011619 bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+0x3972 011620 bpatch patch1b_6 ,mem_patch1b 
+0x3973 011621 setarg 0x3eff 
+0x3974 011622 fetcht 4 ,mem_last_transmite_clock 
+0x3975 011623 iadd temp ,temp 
+0x3976 011624 copy clkn_bt ,pdata 
+0x3977 011625 isub temp ,null 
+0x3978 011626 nrtn positive 
+0x3979 011627 fetch 2 ,mem_ui_state_map 
+0x397a 011628 bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+0x397b 011629 fetch 1 ,mem_module_flag 
+0x397c 011630 rtnbit1 moudle_task_sniff 
+0x397d 011631 call module_set_sniff_task_flag 
+0x397e 011632 call app_bt_enter_sniff 
+:      011633 module_spp_clear_last_transmite_clock:
+0x397f 011634 copy clkn_bt ,pdata 
+0x3980 011635 store 4 ,mem_last_transmite_clock 
+0x3981 011636 rtn 
+:      011639 module_process_idle:
+0x3982 011640 call module_control_air_flow 
+0x3983 011641 call l2cap_malloc_is_fifo_full 
+0x3984 011642 nrtn blank 
+0x3985 011643 branch module_process 
+:      011646 module_process_bb_event:
+0x3986 011647 copy regc ,pdata 
+0x3987 011648 beq bt_evt_bb_connected ,module_process_bb_conn 
+0x3988 011649 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+0x3989 011650 beq bt_evt_reconn_failed ,module_process_reconn_fail 
+0x398a 011651 beq bt_evt_setup_complete ,module_process_setup_complete 
+0x398b 011652 beq bt_evt_spp_connected ,module_process_spp_connected 
+0x398c 011653 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+0x398d 011654 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+0x398e 011655 beq bt_evt_enter_sniff ,module_process_enter_sniff 
+0x398f 011656 beq bt_evt_exit_sniff ,module_process_exit_sniff 
+0x3990 011657 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+0x3991 011658 beq bt_evt_le_connected ,module_process_le_conn 
+0x3992 011659 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+0x3993 011660 beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+0x3994 011661 beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+0x3995 011662 beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+0x3996 011663 beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+0x3997 011664 beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+0x3998 011665 beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+0x3999 011666 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+0x399a 011667 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+0x399b 011668 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+0x399c 011669 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+0x399d 011670 beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+0x399e 011671 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+0x399f 011672 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+0x39a0 011673 beq bt_evt_store_nvram ,module_hci_event_store_device 
+0x39a1 011674 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+0x39a2 011675 rtn 
+:      011678 module_process_bb_event_disconned:
+0x39a3 011679 call module_spp_clear_last_transmite_clock 
+0x39a4 011680 fetch 1 ,mem_flag_pairing_state 
+0x39a5 011681 ncall module_hci_event_bt_pairing_fail ,blank 
+0x39a6 011682 call module_disconn_start 
+0x39a7 011683 fetch 2 ,mem_ui_state_map 
+0x39a8 011684 rtnbit0 ui_state_bt_spp_conn 
+0x39a9 011685 branch module_spp_disconnected 
+:      011687 module_process_spp_connected:
+0x39aa 011688 fetch 2 ,mem_ui_state_map 
+0x39ab 011689 set1 ui_state_bt_spp_conn ,pdata 
+0x39ac 011690 store 2 ,mem_ui_state_map 
+0x39ad 011691 fetch 1 ,mem_module_spp_lpm_mult 
+0x39ae 011692 store 1 ,mem_lpm_mult 
+0x39af 011693 call module_set_conn_pin_low 
+0x39b0 011694 branch module_hci_event_spp_connect 
+:      011696 module_process_spp_disconnected:
+:      011698 module_spp_disconnected:
+0x39b1 011699 fetch 2 ,mem_ui_state_map 
+0x39b2 011700 rtnbit0 ui_state_bt_spp_conn 
+0x39b3 011701 set0 ui_state_bt_spp_conn ,pdata 
+0x39b4 011702 store 2 ,mem_ui_state_map 
+0x39b5 011703 branch module_hci_event_spp_disconnect 
+:      011706 module_process_enter_sniff:
+:      011708 module_sniff_param_check:
+0x39b6 011709 call module_spp_clear_last_transmite_clock 
+0x39b7 011712 fetch 2 ,mem_context + coffset_tsniff 
+0x39b8 011713 rshift pdata ,pdata 
+0x39b9 011714 fetcht 2 ,mem_sniff_param_interval 
+0x39ba 011715 isub temp ,null 
+0x39bb 011716 nbranch module_sniff_param_check_unsniff ,zero 
+0x39bc 011717 branch app_lpm_mult_enable 
+:      011718 module_sniff_param_check_unsniff:
+0x39bd 011719 fetch 1 ,mem_module_flag 
+0x39be 011720 rtnbit1 moudle_task_unsniff 
+0x39bf 011721 hfetch 2 ,core_uart_rxitems 
+0x39c0 011722 ncall module_set_unsniff_task_flag ,blank 
+0x39c1 011723 branch app_bt_sniff_exit 
+:      011725 module_process_exit_sniff:
+0x39c2 011726 call module_clear_sniff_task_flag 
+0x39c3 011727 branch app_lpm_mult_disable 
+:      011729 module_process_setup_complete:
+0x39c4 011730 call module_spp_clear_last_transmite_clock 
+0x39c5 011731 branch module_conn_start 
+:      011733 module_process_bb_even_le_disconn:
+0x39c6 011734 call le_clr_config_more_data 
+0x39c7 011735 call module_disconn_start 
+0x39c8 011736 branch module_hci_event_le_disconnect 
+:      011738 module_process_evt_pincode_req:
+0x39c9 011739 branch app_bt_set_pincode 
+:      011742 module_process_sniff_not_accept:
+0x39ca 011743 branch module_clear_sniff_task_flag 
+:      011746 module_process_unsniff_accept:
+0x39cb 011747 fetch 1 ,mem_module_flag 
+0x39cc 011748 bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+0x39cd 011749 branch module_clear_unsniff_task_flag 
+:      011752 module_process_unsniff_not_accept:
+0x39ce 011753 branch module_clear_unsniff_task_flag 
+:      011756 module_process_le_conn:
+0x39cf 011757 call le_send_att_exchange_mtu_requset 
+0x39d0 011758 call module_conn_start 
+0x39d1 011759 fetch 1 ,mem_module_le_lpm_mult 
+0x39d2 011760 store 1 ,mem_lpm_mult 
+0x39d3 011761 branch module_hci_event_le_connect 
+:      011764 module_process_bb_conn:
+0x39d4 011765 jam 0 ,mem_flag_mode_ssp_pin 
+0x39d5 011766 call module_clear_sniff_task_flag 
+0x39d6 011767 branch module_clear_unsniff_task_flag 
+:      011769 module_process_page_time_out:
+:      011770 module_process_reconn_fail:
+:      011771 module_disconn_start:
+0x39d7 011772 call module_start_adv_discovery_by_command 
+0x39d8 011773 branch module_set_conn_pin_high 
+:      011776 module_process_ble_ltk_lost:
+0x39d9 011777 call le_send_reject_ind 
+0x39da 011778 branch le_send_smp_security_request 
+:      011781 module_set_conn_pin_high:
+0x39db 011782 fetcht 1 ,mem_module_connect_state_gpio 
+0x39dc 011783 branch gpio_out_active 
+:      011785 module_conn_start:
+0x39dd 011786 call module_stop_adv_discovery 
+0x39de 011787 branch module_set_conn_pin_low 
+:      011789 module_stop_adv_discovery:
+0x39df 011790 fetch 1 ,mem_module_state 
+0x39e0 011791 isolate1 moudle_state_bt_bit ,pdata 
+0x39e1 011792 call app_bt_stop_discovery ,true 
+0x39e2 011793 fetch 1 ,mem_module_state 
+0x39e3 011794 isolate1 moudle_state_ble_bit ,pdata 
+0x39e4 011795 call app_ble_stop_adv ,true 
+0x39e5 011796 rtn 
+:      011797 module_set_conn_pin_low:
+0x39e6 011798 fetcht 1 ,mem_module_connect_state_gpio 
+0x39e7 011799 branch gpio_out_inactive 
+:      011801 module_process_with_credit:
+0x39e8 011802 fetch 1 ,mem_credit_flag 
+0x39e9 011803 rtneq credit_disable 
+0x39ea 011804 branch rfcomm_send_uih_without_payload 
+:      011806 module_process:
+0x39eb 011807 hfetch 1 ,core_uart_status 
+0x39ec 011808 bbit1 uart_status_rx_fifo_empty ,module_process_with_credit 
+0x39ed 011809 call uartd_prepare_rx 
+0x39ee 011810 ifetch 1 ,contru 
+0x39ef 011811 bne 0x01 ,module_hci_in_excp 
+0x39f0 011812 hfetch 2 ,core_uart_rxitems 
+0x39f1 011813 sub pdata ,2 ,null 
+0x39f2 011814 rtn positive 
+0x39f3 011815 ifetch 1 ,contru 
+0x39f4 011816 store 1 ,mem_module_uart_opcode 
+0x39f5 011817 ifetcht 1 ,contru 
+0x39f6 011818 copy contru ,rega 
+0x39f7 011819 storet 1 ,mem_module_uart_len 
+0x39f8 011820 add temp ,3 ,temp 
+0x39f9 011821 hfetch 2 ,core_uart_rxitems 
+0x39fa 011822 isub temp ,temp 
+0x39fb 011823 nrtn positive 
+0x39fc 011824 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x39fd 011825 call module_hci_cmd_control 
+0x39fe 011826 fetch 1 ,mem_module_temp_nl_discard_packet 
+0x39ff 011827 rtneq hci_not_discard_packet 
+0x3a00 011828 branch module_hci_dicard_packet 
+:      011830 module_hci_in_excp:
+0x3a01 011831 call delay_10ms 
+0x3a02 011832 call module_hci_event_invalid_packet 
+0x3a03 011833 branch module_hci_release_except 
+:      011836 module_hci_release_except:
+0x3a04 011837 bpatch patch1b_7 ,mem_patch1b 
+0x3a05 011838 hfetch 2 ,core_uart_rxitems 
+0x3a06 011839 rtn blank 
+0x3a07 011840 call uartd_prepare_rx 
+0x3a08 011841 ifetch 1 ,contru 
+0x3a09 011842 sub pdata ,0x01 ,null 
+0x3a0a 011843 ncall module_hci_dicard_bytes ,zero 
+0x3a0b 011844 nbranch module_hci_release_except ,zero 
+0x3a0c 011845 ifetch 1 ,contru 
+0x3a0d 011846 rtneq hci_cmd_spp_data_req 
+0x3a0e 011847 rtneq hci_cmd_set_credit_given 
+0x3a0f 011848 increase -1 ,contru 
+0x3a10 011849 call module_hci_dicard_bytes 
+0x3a11 011850 branch module_hci_release_except 
+:      011852 module_hci_dicard_packet:
+0x3a12 011853 call uartd_prepare_rx 
+0x3a13 011854 increase 2 ,contru 
+0x3a14 011855 ifetch 1 ,contru 
+0x3a15 011856 iadd contru ,contru 
+:      011857 module_hci_dicard_bytes:
+0x3a16 011858 branch uartd_rxdone 
+:      011861 module_hci_cmd_control:
+0x3a17 011862 bpatch patch1c_0 ,mem_patch1c 
+0x3a18 011863 fetch 1 ,mem_module_uart_opcode 
+0x3a19 011864 beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+0x3a1a 011865 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+0x3a1b 011866 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+0x3a1c 011867 beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+0x3a1d 011868 beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+0x3a1e 011869 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+0x3a1f 011870 beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+0x3a20 011871 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+0x3a21 011872 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+0x3a22 011873 beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+0x3a23 011874 beq hci_cmd_set_uartcontrol_req ,module_hci_cmd_set_uart_control_mode 
+0x3a24 011875 beq hci_cmd_set_uart_baud_req ,module_hci_cmd_set_uart_baud 
+0x3a25 011876 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+0x3a26 011877 beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+0x3a27 011878 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+0x3a28 011879 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+0x3a29 011880 beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+0x3a2a 011881 beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+0x3a2b 011882 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+0x3a2c 011883 beq hci_cmd_power_req ,module_hci_cmd_power_request 
+0x3a2d 011884 beq hci_cmd_power_set ,module_hci_cmd_power_set 
+0x3a2e 011885 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+0x3a2f 011886 beq hci_cmd_set_gpio ,module_hci_cmd_set_gpio 
+0x3a30 011887 beq hci_cmd_read_gpio ,module_hci_cmd_read_gpio 
+0x3a31 011888 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+0x3a32 011889 beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+0x3a33 011890 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+0x3a34 011891 beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+0x3a35 011892 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+0x3a36 011893 beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+0x3a37 011894 beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
+0x3a38 011895 beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+0x3a39 011896 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+0x3a3a 011897 beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+0x3a3b 011898 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+0x3a3c 011899 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+0x3a3d 011900 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+0x3a3e 011901 branch module_hci_event_receive_invalid_cmd 
+:      011906 module_hci_cmd_set_bt_addr:
+0x3a3f 011907 fetch 1 ,mem_module_uart_len 
+0x3a40 011908 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x3a41 011909 ifetch 6 ,contru 
+0x3a42 011910 store 6 ,mem_lap 
+0x3a43 011911 branch module_hci_event_receive_valid_cmd 
+:      011914 module_hci_cmd_set_le_addr:
+0x3a44 011915 fetch 1 ,mem_module_uart_len 
+0x3a45 011916 bne 6 ,module_hci_event_receive_invalid_cmd 
+0x3a46 011917 ifetch 6 ,contru 
+0x3a47 011918 store 6 ,mem_le_lap 
+0x3a48 011919 branch module_hci_event_receive_valid_cmd 
+:      011923 module_hci_cmd_set_visibility:
+0x3a49 011924 fetch 1 ,mem_module_uart_len 
+0x3a4a 011925 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3a4b 011926 copy rega ,contru 
+0x3a4c 011927 call module_hci_event_receive_valid_cmd 
+0x3a4d 011928 ifetcht 1 ,contru 
+0x3a4e 011929 storet 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a4f 011930 fetch 2 ,mem_ui_state_map 
+0x3a50 011931 rtnbit1 ui_state_ble_connected 
+0x3a51 011932 rtnbit1 ui_state_bt_connected 
+:      011933 module_start_adv_discovery_by_command:
+0x3a52 011934 fetch 1 ,mem_module_state 
+0x3a53 011935 isolate1 moudle_state_bt_bit ,pdata 
+0x3a54 011936 nbranch moudle_start_adv_by_command ,true 
+0x3a55 011937 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a56 011938 and temp ,0x03 ,pdata 
+0x3a57 011939 store 1 ,mem_scan_mode 
+:      011940 moudle_start_adv_by_command:
+0x3a58 011941 fetch 1 ,mem_module_state 
+0x3a59 011942 isolate1 moudle_state_ble_bit ,pdata 
+0x3a5a 011943 nrtn true 
+0x3a5b 011944 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+0x3a5c 011945 isolate1 2 ,temp 
+0x3a5d 011946 branch app_ble_start_adv ,true 
+0x3a5e 011947 branch app_ble_stop_adv 
+:      011951 module_hci_cmd_set_bt_name:
+0x3a5f 011952 fetch 1 ,mem_module_uart_len 
+0x3a60 011953 sub pdata ,67 ,null 
+0x3a61 011954 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3a62 011955 store 1 ,mem_local_name_length 
+0x3a63 011956 arg 8 ,loopcnt 
+0x3a64 011957 call memset0 
+0x3a65 011958 fetch 1 ,mem_module_uart_len 
+0x3a66 011959 copy pdata ,loopcnt 
+0x3a67 011960 copy rega ,contru 
+0x3a68 011961 arg mem_local_name ,contw 
+0x3a69 011962 call uart_copy_rx_bytes_fast 
+0x3a6a 011963 branch module_hci_event_receive_valid_cmd 
+:      011967 module_hci_cmd_set_le_name:
+0x3a6b 011968 fetch 1 ,mem_module_uart_len 
+0x3a6c 011969 sub pdata ,29 ,null 
+0x3a6d 011970 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3a6e 011971 store 1 ,mem_le_name_len 
+0x3a6f 011972 copy pdata ,loopcnt 
+0x3a70 011973 copy rega ,contru 
+0x3a71 011974 arg mem_le_name ,contw 
+0x3a72 011975 call uart_copy_rx_bytes_fast 
+0x3a73 011976 call le_modified_name 
+0x3a74 011977 branch module_hci_event_receive_valid_cmd 
+:      011981 module_hci_cmd_receive_spp_data:
+0x3a75 011982 fetch 1 ,mem_ui_state_map 
+0x3a76 011983 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+0x3a77 011984 call app_check_sniff 
+0x3a78 011985 branch module_hci_cmd_spp_exit_sniff ,true 
+0x3a79 011986 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a7a 011988 call module_spp_clear_last_transmite_clock 
+0x3a7b 011989 fetch 1 ,mem_remote_credits 
+0x3a7c 011990 rtn blank 
+0x3a7d 011991 fetch 2 ,mem_nl_rx_len_all 
+0x3a7e 011992 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+0x3a7f 011993 fetch 1 ,mem_module_uart_len 
+0x3a80 011994 store 2 ,mem_nl_rx_len_all 
+0x3a81 011996 copy rega ,contru 
+0x3a82 011999 copy contru ,pdata 
+0x3a83 012000 store 2 ,mem_nl_rx_data_src 
+:      012001 module_hci_cmd_pass_init_ng_rx_len_all:
+0x3a84 012002 call module_hci_cmd_get_current_packet_len_and_remain_len 
+0x3a85 012003 branch spp_tx_rfcomm_packet 
+:      012005 module_hci_cmd_spp_exit_sniff:
+0x3a86 012006 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a87 012007 branch module_exit_sniff 
+:      012009 module_hci_cmd_get_current_packet_len_and_remain_len:
+0x3a88 012010 call module_hci_cmd_get_current_patcket_len 
+0x3a89 012011 fetch 2 ,mem_nl_rx_len_all 
+0x3a8a 012012 fetcht 2 ,mem_current_packet_length 
+0x3a8b 012013 isub temp ,pdata 
+0x3a8c 012014 store 2 ,mem_nl_rx_len_all 
+0x3a8d 012015 rtn 
+:      012017 module_hci_cmd_get_current_patcket_len:
+0x3a8e 012018 fetch 2 ,mem_nl_rx_len_all 
+0x3a8f 012019 arg dm_refcom_buff_len ,temp 
+0x3a90 012020 call not_greater_than 
+0x3a91 012021 fetcht 2 ,mem_rfcomm_max_frame_size 
+0x3a92 012022 call not_greater_than 
+0x3a93 012023 fetcht 2 ,mem_pn_max_frame_size 
+0x3a94 012024 call not_greater_than 
+0x3a95 012025 store 2 ,mem_current_packet_length 
+0x3a96 012026 rtn 
+:      012028 module_hci_command_tx_spp_tx_complete:
+0x3a97 012029 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a98 012030 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+0x3a99 012031 branch module_hci_event_receive_valid_cmd 
+:      012035 module_hci_cmd_receive_le_data:
+0x3a9a 012036 fetch 2 ,mem_ui_state_map 
+0x3a9b 012037 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x3a9c 012038 call module_check_ble_encrypt_state 
+0x3a9d 012039 branch module_hci_event_receive_invalid_cmd ,user 
+0x3a9e 012040 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3a9f 012041 fetch 1 ,mem_module_flag 
+0x3aa0 012042 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+0x3aa1 012043 fetch 1 ,mem_module_hci_notify_len 
+0x3aa2 012044 nrtn blank 
+0x3aa3 012045 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3aa4 012046 ifetch 2 ,contru 
+0x3aa5 012047 store 2 ,mem_module_hci_notify_handle 
+0x3aa6 012048 copy contru ,pdata 
+0x3aa7 012049 store 2 ,mem_module_hci_nofiy_addr 
+0x3aa8 012050 fetch 1 ,mem_module_uart_len 
+0x3aa9 012051 pincrease -2 
+0x3aaa 012052 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3aab 012053 branch module_hci_event_receive_invalid_cmd ,zero 
+0x3aac 012054 store 1 ,mem_module_hci_notify_len 
+0x3aad 012055 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3aae 012056 call le_set_config_more_data 
+0x3aaf 012057 call module_hci_cmd_transmit_le_notify 
+0x3ab0 012058 call module_hci_cmd_transmit_le_notify 
+0x3ab1 012059 call module_hci_cmd_transmit_le_notify 
+0x3ab2 012060 fetch 1 ,mem_module_flag 
+0x3ab3 012061 rtnbit0 module_flag_ble_data_finish 
+:      012062 module_hci_cmd_receive_le_data_finish:
+0x3ab4 012063 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+0x3ab5 012064 call module_clear_le_tx_data_flag 
+0x3ab6 012065 branch module_hci_event_receive_valid_cmd 
+:      012067 module_hci_cmd_transmit_le_notify:
+0x3ab7 012068 fetch 1 ,mem_module_hci_notify_len 
+0x3ab8 012069 rtn blank 
+0x3ab9 012070 call le_fifo_check_nearly_full 
+0x3aba 012071 nrtn blank 
+0x3abb 012072 call module_get_le_remote_mtu 
+0x3abc 012073 bpatch patch1c_1 ,mem_patch1c 
+0x3abd 012074 add temp ,-3 ,pdata 
+0x3abe 012075 fetcht 1 ,mem_module_hci_notify_len 
+0x3abf 012076 call not_greater_than 
+0x3ac0 012077 copy pdata ,rega 
+0x3ac1 012078 copy temp ,pdata 
+0x3ac2 012079 isub rega ,pdata 
+0x3ac3 012080 store 1 ,mem_module_hci_notify_len 
+0x3ac4 012081 fetcht 2 ,mem_module_hci_notify_handle 
+0x3ac5 012082 call le_att_malloc_tx_notify 
+0x3ac6 012083 fetch 2 ,mem_module_hci_nofiy_addr 
+0x3ac7 012084 copy pdata ,contru 
+0x3ac8 012085 copy rega ,loopcnt 
+0x3ac9 012086 call uart_copy_rx_bytes_fast 
+0x3aca 012087 copy contru ,pdata 
+0x3acb 012088 store 2 ,mem_module_hci_nofiy_addr 
+0x3acc 012089 fetch 1 ,mem_module_hci_notify_len 
+0x3acd 012090 nrtn blank 
+0x3ace 012091 branch module_set_le_tx_data_flag 
+:      012095 module_get_le_remote_mtu:
+0x3acf 012096 arg 0x17 ,temp 
+0x3ad0 012097 fetch 1 ,mem_module_flag 
+0x3ad1 012098 rtnbit1 module_flag_ble_send_mtu23 
+0x3ad2 012099 fetcht 2 ,mem_le_remote_mtu 
+0x3ad3 012100 rtn 
+:      012102 module_check_ble_encrypt_state:
+0x3ad4 012103 fetch 1 ,mem_module_flag 
+0x3ad5 012104 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+0x3ad6 012105 branch disable_user 
+:      012109 module_hci_cmd_inquire_status:
+0x3ad7 012110 branch module_hci_event_status_res 
+:      012114 module_hci_cmd_set_pairing_mode:
+0x3ad8 012115 copy rega ,contru 
+0x3ad9 012116 ifetch 1 ,contru 
+0x3ada 012117 beq pairing_pincode ,module_hci_pairing_pincode_mode 
+0x3adb 012118 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+0x3adc 012119 beq pairing_passkey ,module_hci_pairing_passkey 
+0x3add 012120 beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+0x3ade 012121 branch module_hci_event_receive_invalid_cmd 
+:      012122 module_hci_pairing_pincode_mode:
+0x3adf 012123 call ssp_disable 
+0x3ae0 012124 jam 0 ,mem_ssp_enable 
+0x3ae1 012125 branch module_hci_event_receive_valid_cmd 
+:      012126 module_hci_pairing_just_work_mode:
+0x3ae2 012127 setarg ssp_mode_just_work_io_cap_data 
+:      012128 module_hci_sspairing_mode:
+0x3ae3 012129 store 3 ,mem_sp_iocap_local 
+0x3ae4 012130 store 1 ,mem_ssp_mode_flag 
+0x3ae5 012131 call ssp_enable 
+0x3ae6 012132 jam 1 ,mem_ssp_enable 
+0x3ae7 012133 branch module_hci_event_receive_valid_cmd 
+:      012134 module_hci_pairing_passkey:
+0x3ae8 012135 setarg ssp_mode_passkey_io_cap_data 
+0x3ae9 012136 branch module_hci_sspairing_mode 
+:      012138 module_hci_pairing_numeric_comparison:
+0x3aea 012139 setarg ssp_mode_ssp_pin_io_cap_data 
+0x3aeb 012140 branch module_hci_sspairing_mode 
+:      012143 module_hci_cmd_set_pincode:
+0x3aec 012144 fetch 1 ,mem_module_uart_len 
+0x3aed 012145 sub pdata ,16 ,null 
+0x3aee 012146 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3aef 012147 store 1 ,mem_pin_length 
+0x3af0 012148 copy pdata ,loopcnt 
+0x3af1 012149 arg mem_pin ,contw 
+0x3af2 012150 call uart_copy_rx_bytes 
+0x3af3 012151 branch module_hci_event_receive_valid_cmd 
+:      012155 module_hci_cmd_set_uart_control_mode:
+0x3af4 012156 copy rega ,contru 
+0x3af5 012157 ifetch 1 ,contru 
+0x3af6 012158 hfetcht 1 ,core_uart_ctrl 
+0x3af7 012159 nsetflag blank ,4 ,temp 
+0x3af8 012160 hstoret 1 ,core_uart_ctrl 
+0x3af9 012161 branch module_hci_event_receive_valid_cmd 
+:      012165 module_hci_cmd_set_uart_baud:
+0x3afa 012166 fetch 1 ,mem_module_uart_len 
+0x3afb 012167 copy pdata ,loopcnt 
+0x3afc 012168 copy rega ,contru 
+0x3afd 012169 call string2dec_from_uart 
+0x3afe 012170 setarg uart_clk_24 
+0x3aff 012171 idiv temp 
+0x3b00 012172 call wait_div_end 
+0x3b01 012173 quotient pdata 
+:      012174 module_hci_cmd_set_uart_baud_ok:
+0x3b02 012175 store uart_baud_len ,mem_baud 
+0x3b03 012176 call module_hci_event_receive_valid_cmd 
+0x3b04 012177 call wait_uarttx 
+0x3b05 012178 branch uart_set_baud_by_mem 
+:      012182 module_hci_cmd_version_request:
+0x3b06 012183 arg 2 ,rega 
+0x3b07 012184 arg mem_soft_version_num ,regb 
+0x3b08 012185 arg 0 ,temp 
+0x3b09 012186 branch module_hci_event_set_cmd 
+:      012187 module_hci_event_set_cmd_send_response:
+0x3b0a 012188 store 2 ,mem_event_cmd_response_content 
+0x3b0b 012189 arg mem_event_cmd_response_content ,regb 
+0x3b0c 012190 arg 0 ,temp 
+0x3b0d 012191 branch module_hci_event_set_cmd 
+:      012195 module_hci_cmd_bt_disconnect:
+0x3b0e 012196 fetch 2 ,mem_ui_state_map 
+0x3b0f 012197 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+:      012198 module_hci_cmd_bt_disconnect_doing:
+0x3b10 012199 call module_hci_event_receive_valid_cmd 
+0x3b11 012200 branch app_bt_disconnect 
+:      012204 module_hci_cmd_ble_disconnect:
+0x3b12 012205 fetch 2 ,mem_ui_state_map 
+0x3b13 012206 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+:      012207 module_hci_cmd_ble_disconnect_doing:
+0x3b14 012208 call module_hci_event_receive_valid_cmd 
+0x3b15 012209 branch app_ble_disconnect 
+:      012215 module_hci_cmd_set_nvram:
+0x3b16 012216 fetch 1 ,mem_module_uart_len 
+0x3b17 012217 copy pdata ,loopcnt 
+0x3b18 012218 copy rega ,contru 
+0x3b19 012219 fetch 2 ,mem_nv_data_ptr 
+0x3b1a 012220 icopy contw 
+0x3b1b 012221 call uart_copy_rx_bytes_fast 
+0x3b1c 012222 branch module_hci_event_receive_valid_cmd 
+:      012226 module_hci_cmd_confirm_gkey:
+0x3b1d 012227 fetch 1 ,mem_ui_state_map 
+0x3b1e 012228 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+0x3b1f 012229 ifetch 1 ,contru 
+0x3b20 012230 fetcht 1 ,mem_flag_mode_ssp_pin 
+0x3b21 012231 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+0x3b22 012232 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+0x3b23 012233 storet 1 ,mem_flag_mode_ssp_pin 
+0x3b24 012235 call module_hci_event_receive_valid_cmd 
+0x3b25 012237 fetch 1 ,mem_flag_mode_ssp_pin 
+0x3b26 012238 bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+0x3b27 012239 rtn 
+:      012241 dhkey_not_accept:
+0x3b28 012242 jam 0 ,mem_flag_mode_ssp_pin 
+0x3b29 012243 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+0x3b2a 012244 branch ui_ipc_send_cmd 
+:      012247 module_hci_cmd_spp_number_comparison_result_is1:
+0x3b2b 012248 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x3b2c 012249 branch dhkey_not_accept 
+:      012253 module_hci_cmd_set_credit_given:
+0x3b2d 012254 fetch 1 ,mem_ui_state_map 
+0x3b2e 012255 rtnbit0 ui_state_bt_spp_conn 
+0x3b2f 012256 fetch 1 ,mem_credit_flag 
+0x3b30 012257 rtneq credit_disable 
+0x3b31 012258 ifetch 1 ,contru 
+0x3b32 012259 fetcht 1 ,mem_credit_given 
+0x3b33 012260 iadd temp ,temp 
+0x3b34 012261 storet 1 ,mem_credit_given 
+0x3b35 012262 rtn 
+:      012266 module_hci_cmd_auto_adv:
+0x3b36 012267 arg 0x40 ,loopcnt 
+0x3b37 012268 arg mem_le_adv_data_len ,contw 
+0x3b38 012269 call clear_mem 
+0x3b39 012270 setarg 0 
+0x3b3a 012271 store 1 ,mem_regb 
+0x3b3b 012272 copy rega ,contru 
+:      012273 module_hci_cmd_auto_adv_loop:
+0x3b3c 012274 copy contru ,pdata 
+0x3b3d 012275 store 2 ,mem_regc 
+0x3b3e 012276 call module_hci_cmd_auto_adv_adv_analys 
+0x3b3f 012278 fetch 1 ,mem_regb 
+0x3b40 012279 fetcht 1 ,mem_temp 
+0x3b41 012280 increase 1 ,temp 
+0x3b42 012281 iadd temp ,pdata 
+0x3b43 012282 store 1 ,mem_regb 
+0x3b44 012284 sub pdata ,31 ,null 
+0x3b45 012285 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+:      012286 module_hci_cmd_auto_adv_store_adv:
+0x3b46 012287 fetcht 1 ,mem_le_adv_data_len 
+0x3b47 012288 setarg mem_le_adv_data 
+0x3b48 012289 iadd temp ,pdata 
+0x3b49 012290 store 2 ,mem_contw 
+0x3b4a 012291 fetcht 1 ,mem_temp 
+0x3b4b 012292 increase 1 ,temp 
+0x3b4c 012293 fetch 1 ,mem_le_adv_data_len 
+0x3b4d 012294 iadd temp ,pdata 
+0x3b4e 012295 store 1 ,mem_le_adv_data_len 
+0x3b4f 012296 branch module_hci_cmd_auto_adv_store_common 
+:      012297 module_hci_cmd_auto_adv_store_scan:
+0x3b50 012298 fetcht 1 ,mem_le_scan_data_len 
+0x3b51 012299 setarg mem_le_scan_data 
+0x3b52 012300 iadd temp ,pdata 
+0x3b53 012301 store 2 ,mem_contw 
+0x3b54 012302 fetcht 1 ,mem_temp 
+0x3b55 012303 increase 1 ,temp 
+0x3b56 012304 fetch 1 ,mem_le_scan_data_len 
+0x3b57 012305 iadd temp ,pdata 
+0x3b58 012306 store 1 ,mem_le_scan_data_len 
+:      012307 module_hci_cmd_auto_adv_store_common:
+0x3b59 012308 fetch 2 ,mem_contw 
+0x3b5a 012309 copy pdata ,contw 
+0x3b5b 012310 fetch 2 ,mem_regc 
+0x3b5c 012311 copy pdata ,contru 
+0x3b5d 012313 copy temp ,loopcnt 
+0x3b5e 012314 call uart_copy_rx_bytes_fast 
+0x3b5f 012316 fetch 1 ,mem_module_uart_len 
+0x3b60 012317 fetcht 1 ,mem_regb 
+0x3b61 012318 isub temp ,null 
+0x3b62 012319 nbranch module_hci_cmd_auto_adv_loop ,zero 
+0x3b63 012320 branch module_hci_event_receive_valid_cmd 
+:      012323 module_hci_cmd_auto_adv_adv_analys:
+0x3b64 012324 ifetch 1 ,contru 
+0x3b65 012325 store 1 ,mem_temp 
+0x3b66 012326 ifetch 1 ,contru 
+0x3b67 012327 store 1 ,mem_rega 
+0x3b68 012328 rtn 
+:      012332 module_hci_cmd_power_request:
+0x3b69 012333 arg 0 ,temp 
+0x3b6a 012334 arg 2 ,rega 
+0x3b6b 012335 fetch 2 ,mem_module_vdd_quotient 
+0x3b6c 012336 store 2 ,mem_event_cmd_response_content 
+0x3b6d 012337 arg mem_event_cmd_response_content ,regb 
+0x3b6e 012338 branch module_hci_event_set_cmd 
+:      012342 module_hci_cmd_power_set:
+0x3b6f 012343 fetch 1 ,mem_module_uart_len 
+0x3b70 012344 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3b71 012345 ifetch 1 ,contru 
+0x3b72 012346 store 1 ,mem_module_read_vdd_flag 
+0x3b73 012347 setarg 0x00 
+0x3b74 012348 store 2 ,mem_module_vdd_quotient 
+0x3b75 012349 branch module_hci_event_receive_valid_cmd 
+:      012353 module_hci_cmd_passkey_entry:
+0x3b76 012354 ifetch 4 ,contru 
+0x3b77 012355 store 4 ,mem_pin 
+0x3b78 012356 jam 4 ,mem_pin_length 
+0x3b79 012357 jam 0 ,mem_authentication_passkey_times 
+0x3b7a 012358 call module_hci_event_receive_valid_cmd 
+0x3b7b 012359 branch authentication_passkey 
+:      012363 module_hci_cmd_set_gpio:
+0x3b7c 012364 fetch 1 ,mem_module_uart_len 
+0x3b7d 012365 bne 3 ,module_hci_event_receive_invalid_cmd 
+0x3b7e 012366 ifetch 1 ,contru 
+0x3b7f 012367 beq hci_cmd_config_gpio_input ,module_set_gpio_input 
+0x3b80 012368 beq hci_cmd_config_gpio_output ,module_set_gpio_output 
+0x3b81 012369 branch module_hci_event_receive_invalid_cmd 
+:      012371 module_set_gpio_input:
+0x3b82 012372 ifetcht 1 ,contru 
+0x3b83 012373 ifetch 1 ,contru 
+0x3b84 012374 beq gpio_input_high_impedance ,module_set_gpio_high_impedance 
+0x3b85 012375 nsetflag blank ,7 ,temp 
+0x3b86 012376 call gpio_config_input 
+0x3b87 012377 branch module_hci_event_receive_valid_cmd 
+:      012379 module_set_gpio_high_impedance:
+0x3b88 012380 call gpio_set_high_impedance 
+0x3b89 012381 branch module_hci_event_receive_valid_cmd 
+:      012383 module_set_gpio_output:
+0x3b8a 012384 ifetcht 1 ,contru 
+0x3b8b 012385 call gpio_config_output0 
+0x3b8c 012386 ifetch 1 ,contru 
+0x3b8d 012387 isolate1 0 ,pdata 
+0x3b8e 012388 call gpio_out_flag 
+0x3b8f 012389 branch module_hci_event_receive_valid_cmd 
+:      012393 module_hci_cmd_read_gpio:
+0x3b90 012394 fetch 1 ,mem_module_uart_len 
+0x3b91 012395 bne 1 ,module_hci_event_receive_invalid_cmd 
+0x3b92 012396 ifetcht 1 ,contru 
+0x3b93 012397 call gpio_get_bit 
+0x3b94 012398 setarg 0x0 
+0x3b95 012399 nsetflag true ,0 ,pdata 
+0x3b96 012400 arg 1 ,rega 
+0x3b97 012401 branch module_hci_event_set_cmd_send_response 
+:      012405 module_hci_cmd_le_set_pairing_mode:
+0x3b98 012406 copy rega ,contru 
+0x3b99 012407 ifetch 1 ,contru 
+0x3b9a 012408 copy pdata ,temp 
+0x3b9b 012409 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+0x3b9c 012410 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+0x3b9d 012411 beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+0x3b9e 012412 store 1 ,mem_le_pairing_mode 
+0x3b9f 012413 beq le_pairing_mode_none ,module_le_set_no_pairing 
+0x3ba0 012414 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+0x3ba1 012415 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+0x3ba2 012416 branch module_hci_event_receive_invalid_cmd 
+:      012418 module_le_set_pairing_mode_secure_justwork:
+0x3ba3 012419 fetch 1 ,mem_le_secure_connect_enable 
+0x3ba4 012420 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3ba5 012421 storet 1 ,mem_le_pairing_mode 
+0x3ba6 012422 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3ba7 012423 branch module_le_set_noinputnooutput 
+:      012424 module_le_set_pairing_mode_secure_numeric:
+0x3ba8 012425 fetch 1 ,mem_le_secure_connect_enable 
+0x3ba9 012426 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3baa 012427 storet 1 ,mem_le_pairing_mode 
+0x3bab 012428 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3bac 012429 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x3bad 012430 branch module_hci_event_receive_valid_cmd 
+:      012431 module_le_set_pairing_mode_secure_passkey:
+0x3bae 012432 fetch 1 ,mem_le_secure_connect_enable 
+0x3baf 012433 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3bb0 012434 storet 1 ,mem_le_pairing_mode 
+0x3bb1 012435 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x3bb2 012436 branch module_le_set_displayonly 
+:      012437 module_le_set_no_pairing:
+0x3bb3 012438 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      012439 module_le_set_noinputnooutput:
+0x3bb4 012440 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x3bb5 012441 branch module_hci_event_receive_valid_cmd 
+:      012442 module_le_set_pairing_mode_lagacy_just_work:
+0x3bb6 012443 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x3bb7 012444 branch module_le_set_noinputnooutput 
+:      012445 module_le_set_pairing_mode_lagacy_passkey:
+0x3bb8 012446 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      012447 module_le_set_displayonly:
+0x3bb9 012448 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x3bba 012449 branch module_hci_event_receive_valid_cmd 
+:      012453 module_hci_cmd_le_set_adv_data:
+0x3bbb 012454 fetch 1 ,mem_module_uart_len 
+0x3bbc 012455 sub pdata ,31 ,null 
+0x3bbd 012456 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3bbe 012457 store 1 ,mem_le_adv_data_len 
+0x3bbf 012458 copy pdata ,loopcnt 
+0x3bc0 012459 copy rega ,contru 
+0x3bc1 012460 arg mem_le_adv_data ,contw 
+0x3bc2 012461 call uart_copy_rx_bytes_fast 
+0x3bc3 012462 branch module_hci_event_receive_valid_cmd 
+:      012466 module_hci_cmd_le_set_scan_data:
+0x3bc4 012467 fetch 1 ,mem_module_uart_len 
+0x3bc5 012468 sub pdata ,31 ,null 
+0x3bc6 012469 nbranch module_hci_event_receive_invalid_cmd ,positive 
+0x3bc7 012470 store 1 ,mem_le_scan_data_len 
+0x3bc8 012471 copy pdata ,loopcnt 
+0x3bc9 012472 copy rega ,contru 
+0x3bca 012473 arg mem_le_scan_data ,contw 
+0x3bcb 012474 call uart_copy_rx_bytes_fast 
+0x3bcc 012475 branch module_hci_event_receive_valid_cmd 
+:      012479 module_hci_cmd_le_send_conn_update_req:
+0x3bcd 012480 fetch 2 ,mem_ui_state_map 
+0x3bce 012481 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+0x3bcf 012482 fetch 1 ,mem_module_uart_len 
+0x3bd0 012483 bne 0x08 ,module_hci_event_receive_invalid_cmd 
+0x3bd1 012484 copy rega ,contru 
+0x3bd2 012485 ifetch 8 ,contru 
+0x3bd3 012486 store 8 ,mem_le_interval_min 
+0x3bd4 012487 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x3bd5 012488 call ui_ipc_send_cmd 
+0x3bd6 012489 branch module_hci_event_receive_valid_cmd 
+:      012493 module_hci_cmd_set_le_adv_parameter:
+0x3bd7 012494 ifetch 2 ,contru 
+0x3bd8 012495 store 2 ,mem_le_adv_interval 
+0x3bd9 012496 branch module_hci_event_receive_valid_cmd 
+:      012500 module_hci_cmd_le_start_pairing:
+0x3bda 012501 fetch 1 ,mem_le_pairing_mode 
+0x3bdb 012502 branch module_hci_event_receive_invalid_cmd ,blank 
+0x3bdc 012503 fetch 1 ,mem_le_pairing_state 
+0x3bdd 012504 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+0x3bde 012505 fetch 1 ,mem_le_enc_state 
+0x3bdf 012506 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+0x3be0 012507 call check_51cmd_le_smp_sec_req 
+0x3be1 012508 branch module_hci_event_receive_valid_cmd 
+:      012512 module_hci_cmd_set_wake_gpio:
+0x3be2 012513 fetch 1 ,mem_module_uart_len 
+0x3be3 012514 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x3be4 012515 ifetch 1 ,contru 
+0x3be5 012516 store 1 ,mem_module_mcu_wake_pin 
+0x3be6 012517 ifetch 4 ,contru 
+0x3be7 012518 store 4 ,mem_module_mcu_wake_delay_us 
+0x3be8 012519 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3be9 012520 call gpio_config_output 
+0x3bea 012521 call module_set_mcu_wake_pin_low 
+0x3beb 012522 branch module_hci_event_receive_valid_cmd 
+:      012526 module_hci_cmd_set_tx_power:
+0x3bec 012527 fetch 1 ,mem_module_uart_len 
+0x3bed 012528 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x3bee 012529 ifetch 1 ,contru 
+0x3bef 012530 store 1 ,mem_tx_power 
+0x3bf0 012531 branch module_hci_event_receive_valid_cmd 
+:      012535 module_hci_cmd_le_confirm_gkey:
+0x3bf1 012536 ifetch 1 ,contru 
+0x3bf2 012537 beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+0x3bf3 012538 fetch 1 ,mem_le_secure_connect_state 
+0x3bf4 012539 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf5 012540 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf6 012541 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+0x3bf7 012542 branch module_hci_event_receive_invalid_cmd 
+:      012543 module_hci_cmd_le_confirm_gkey_ok:
+0x3bf8 012544 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+0x3bf9 012545 branch module_hci_event_receive_valid_cmd 
+:      012547 module_hci_cmd_le_confirm_gkey_fail:
+0x3bfa 012548 call le_send_pairing_confirm_value_failed 
+0x3bfb 012549 branch module_hci_event_receive_valid_cmd 
+:      012553 module_hci_cmd_set_reject_justwork_flag:
+0x3bfc 012554 fetch 1 ,mem_module_uart_len 
+0x3bfd 012555 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+0x3bfe 012556 call module_hci_event_receive_valid_cmd 
+0x3bff 012557 ifetch 1 ,contru 
+0x3c00 012558 branch classic_bt_clr_reject_justwork_flag ,blank 
+0x3c01 012559 branch classic_bt_set_reject_justwork_flag 
+:      012563 module_hci_cmd_reset_chip:
+0x3c02 012564 call module_hci_event_receive_valid_cmd 
+0x3c03 012565 call wait_uarttx 
+0x3c04 012566 jam 0x01 ,core_reset 
+0x3c05 012567 branch loop 
+:      012571 module_hci_cmd_le_set_fixed_passkey:
+0x3c06 012572 fetch 1 ,mem_module_uart_len 
+0x3c07 012573 beq 0 ,module_hci_event_receive_invalid_cmd 
+0x3c08 012574 ifetch 1 ,contru 
+0x3c09 012575 branch module_hci_cmd_le_set_random_passkey ,blank 
+0x3c0a 012576 fetch 1 ,mem_module_uart_len 
+0x3c0b 012577 bne 5 ,module_hci_event_receive_invalid_cmd 
+0x3c0c 012578 ifetch 4 ,contru 
+0x3c0d 012579 arg 1000000 ,temp 
+0x3c0e 012580 isub temp ,null 
+0x3c0f 012581 branch module_hci_event_receive_invalid_cmd ,positive 
+0x3c10 012582 store 4 ,mem_le_tk 
+0x3c11 012583 call le_set_config_fixed_tk 
+0x3c12 012584 branch module_hci_event_receive_valid_cmd 
+:      012586 module_hci_cmd_le_set_random_passkey:
+0x3c13 012587 call le_clr_config_fixed_tk 
+0x3c14 012588 branch module_hci_event_receive_valid_cmd 
+:      012592 module_hci_test_cmde_close_lpm:
+0x3c15 012593 jam 0 ,mem_lpm_mode 
+0x3c16 012594 branch module_hci_event_receive_valid_cmd 
+:      012599 module_hci_event_receive_invalid_cmd:
+0x3c17 012600 arg 1 ,temp 
+0x3c18 012601 arg 0 ,rega 
+0x3c19 012602 branch module_hci_event_set_cmd 
+:      012605 module_hci_event_receive_valid_cmd:
+0x3c1a 012606 arg 0 ,temp 
+0x3c1b 012607 arg 0 ,rega 
+0x3c1c 012608 branch module_hci_event_set_cmd 
+:      012612 module_hci_event_spp_connect:
+0x3c1d 012613 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+0x3c1e 012614 branch module_hci_event_enter_standby_mode_len0 
+:      012618 module_hci_event_le_connect:
+0x3c1f 012619 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+0x3c20 012620 branch module_hci_event_enter_standby_mode_len0 
+:      012624 module_hci_event_spp_disconnect:
+0x3c21 012625 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+0x3c22 012626 branch module_hci_event_enter_standby_mode_len0 
+:      012630 module_hci_event_le_disconnect:
+0x3c23 012631 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+0x3c24 012632 branch module_hci_event_enter_standby_mode_len0 
+:      012640 module_hci_event_set_cmd:
+0x3c25 012641 fetch 1 ,mem_module_uart_opcode 
+0x3c26 012642 copy pdata ,regc 
+0x3c27 012643 jam hci_event_cmd_res ,mem_module_uart_opcode 
+0x3c28 012644 setarg 2 
+0x3c29 012645 iadd rega ,pdata 
+0x3c2a 012646 call module_hci_prepare_tx 
+0x3c2b 012647 copy regc ,pdata 
+0x3c2c 012648 istore 1 ,contwu 
+0x3c2d 012649 istoret 1 ,contwu 
+0x3c2e 012650 copy rega ,loopcnt 
+0x3c2f 012651 copy regb ,contr 
+0x3c30 012652 call uart_copy_tx_bytes 
+0x3c31 012653 branch uartd_send 
+:      012657 module_hci_event_receive_spp_data:
+0x3c32 012659 call module_spp_clear_last_transmite_clock 
+0x3c33 012660 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+0x3c34 012661 fetch 1 ,mem_current_length 
+0x3c35 012662 rtn blank 
+0x3c36 012663 call module_hci_prepare_tx 
+0x3c37 012664 fetch 1 ,mem_current_length 
+0x3c38 012665 copy pdata ,loopcnt 
+0x3c39 012666 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x3c3a 012667 copy pdata ,contr 
+0x3c3b 012668 call uart_copy_tx_bytes_fast 
+0x3c3c 012669 branch uartd_send 
+:      012673 module_hci_event_receive_le_data:
+0x3c3d 012674 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+0x3c3e 012675 fetch 1 ,mem_module_le_rx_data_len 
+0x3c3f 012676 icopy loopcnt 
+0x3c40 012677 increase 2 ,pdata 
+0x3c41 012678 call module_hci_prepare_tx 
+0x3c42 012679 fetch 2 ,mem_module_le_rx_data_handle 
+0x3c43 012680 istore 2 ,contwu 
+0x3c44 012681 fetch 2 ,mem_module_le_rx_data_address 
+0x3c45 012682 icopy contr 
+0x3c46 012683 call uart_copy_tx_bytes_fast 
+0x3c47 012684 branch uartd_send 
+:      012688 module_hci_event_enter_standby_mode:
+0x3c48 012689 jam hci_event_standby_rep ,mem_module_uart_opcode 
+:      012690 module_hci_event_enter_standby_mode_len0:
+0x3c49 012691 setarg 0 
+0x3c4a 012692 call module_hci_prepare_tx 
+0x3c4b 012693 branch uartd_send 
+:      012697 module_hci_event_status_res:
+0x3c4c 012698 jam hci_event_status_res ,mem_module_uart_opcode 
+0x3c4d 012699 setarg 1 
+0x3c4e 012700 call module_hci_prepare_tx 
+0x3c4f 012702 call module_hci_read_bt_status 
+0x3c50 012704 fetch 2 ,mem_ui_state_map 
+0x3c51 012705 arg ui_state_bt_hid_conn ,queue 
+0x3c52 012706 qisolate1 pdata 
+0x3c53 012707 setflag true ,3 ,temp 
+0x3c54 012709 arg ui_state_ble_connected ,queue 
+0x3c55 012710 qisolate1 pdata 
+0x3c56 012711 setflag true ,5 ,temp 
+0x3c57 012713 fetch 1 ,mem_ui_state_map 
+0x3c58 012714 arg ui_state_bt_spp_conn ,queue 
+0x3c59 012715 qisolate1 pdata 
+0x3c5a 012716 setflag true ,4 ,temp 
+0x3c5b 012718 istoret 1 ,contwu 
+0x3c5c 012719 branch uartd_send 
+:      012723 module_hci_read_bt_status:
+0x3c5d 012724 arg 0 ,temp 
+0x3c5e 012725 fetch 1 ,mem_scan_mode 
+0x3c5f 012726 arg inq_scan_mode ,queue 
+0x3c60 012727 qisolate1 pdata 
+0x3c61 012728 setflag true ,0 ,temp 
+0x3c62 012729 arg page_scan_mode ,queue 
+0x3c63 012730 qisolate1 pdata 
+0x3c64 012731 setflag true ,1 ,temp 
+0x3c65 012733 fetch 1 ,mem_le_adv_enable 
+0x3c66 012734 arg 0 ,queue 
+0x3c67 012735 qisolate1 pdata 
+0x3c68 012736 setflag true ,2 ,temp 
+0x3c69 012737 rtn 
+:      012741 module_hci_event_store_device:
+0x3c6a 012742 jam hci_event_nvram_rep ,mem_module_uart_opcode 
+0x3c6b 012743 fetch 1 ,mem_nv_data_number 
+0x3c6c 012744 mul32 pdata ,34 ,pdata 
+0x3c6d 012745 icopy loopcnt 
+0x3c6e 012746 call module_hci_prepare_tx 
+0x3c6f 012747 fetch 2 ,mem_nv_data_ptr 
+0x3c70 012748 icopy contr 
+0x3c71 012749 call uart_copy_tx_bytes_fast 
+0x3c72 012750 branch uartd_send 
+:      012754 module_hci_event_gkey_generate:
+0x3c73 012755 jam hci_event_gkey ,mem_module_uart_opcode 
+0x3c74 012756 setarg 4 
+0x3c75 012757 call module_hci_prepare_tx 
+0x3c76 012758 fetch 4 ,mem_gkey 
+0x3c77 012759 istore 4 ,contwu 
+0x3c78 012760 branch uartd_send 
+:      012764 module_hci_event_invalid_packet:
+0x3c79 012765 jam hci_event_invalid_packet ,mem_module_uart_opcode 
+0x3c7a 012766 hfetch 2 ,core_uart_rxitems 
+0x3c7b 012767 arg 0xff ,temp 
+0x3c7c 012768 call not_greater_than 
+0x3c7d 012769 copy pdata ,loopcnt 
+0x3c7e 012770 call module_hci_prepare_tx 
+0x3c7f 012771 call uartd_prepare_rx 
+0x3c80 012772 call uart_copy_rx2tx 
+0x3c81 012773 branch uartd_send 
+:      012777 module_hci_event_passkey_entry_mode:
+0x3c82 012778 jam hci_event_get_passkey ,mem_module_uart_opcode 
+0x3c83 012779 branch module_hci_event_enter_standby_mode_len0 
+:      012783 module_hci_event_le_tk:
+0x3c84 012784 jam hci_event_le_tk ,mem_module_uart_opcode 
+0x3c85 012785 setarg 4 
+0x3c86 012786 call module_hci_prepare_tx 
+0x3c87 012787 fetch 4 ,mem_le_tk 
+0x3c88 012788 istore 4 ,contwu 
+0x3c89 012789 branch uartd_send 
+:      012793 module_hci_event_le_pairing_fail:
+0x3c8a 012794 arg flag_ble_pairing_fail ,rega 
+0x3c8b 012795 branch module_hci_event_pairing_completed 
+:      012797 module_hci_event_le_pairing_success:
+0x3c8c 012798 arg flag_ble_pairing_success ,rega 
+0x3c8d 012799 branch module_hci_event_pairing_completed 
+:      012801 module_hci_event_bt_pairing_fail:
+0x3c8e 012802 arg flag_bt_pairing_fail ,rega 
+0x3c8f 012803 branch module_hci_event_pairing_completed 
+:      012805 module_hci_event_bt_pairing_success:
+0x3c90 012806 arg flag_bt_pairing_success ,rega 
+:      012808 module_hci_event_pairing_completed:
+0x3c91 012809 jam 0 ,mem_flag_mode_ssp_pin 
+0x3c92 012810 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+0x3c93 012811 setarg 2 
+0x3c94 012812 call module_hci_prepare_tx 
+0x3c95 012813 copy rega ,pdata 
+0x3c96 012814 istore 2 ,contwu 
+0x3c97 012815 branch uartd_send 
+:      012819 module_hci_event_pause_enc:
+0x3c98 012820 arg flag_event_pause_enc ,regc 
+0x3c99 012821 branch module_hci_event_enc 
+:      012823 module_hci_event_start_enc:
+0x3c9a 012824 arg flag_event_start_enc ,regc 
+:      012826 module_hci_event_enc:
+0x3c9b 012827 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+0x3c9c 012828 setarg 1 
+0x3c9d 012829 call module_hci_prepare_tx 
+0x3c9e 012830 copy regc ,pdata 
+0x3c9f 012831 istore 1 ,contwu 
+0x3ca0 012832 branch uartd_send 
+:      012836 module_hci_event_le_gkey:
+0x3ca1 012837 jam hci_event_le_gkey ,mem_module_uart_opcode 
+0x3ca2 012838 setarg 4 
+0x3ca3 012839 call module_hci_prepare_tx 
+0x3ca4 012840 fetch 4 ,mem_gkey 
+0x3ca5 012841 istore 4 ,contwu 
+0x3ca6 012842 branch uartd_send 
+:      012853 module_hci_prepare_tx:
+0x3ca7 012854 jam 0x02 ,mem_module_uart_cmd 
+0x3ca8 012855 store 1 ,mem_module_uart_len 
+0x3ca9 012856 storet 8 ,mem_temp 
+0x3caa 012857 bpatch patch1c_2 ,mem_patch1c 
+0x3cab 012858 call module_set_mcu_wake_pin_high_delay 
+0x3cac 012859 fetcht 8 ,mem_temp 
+0x3cad 012860 call uartd_prepare_tx 
+0x3cae 012861 fetch 3 ,mem_module_uart_cmd 
+0x3caf 012862 istore 3 ,contwu 
+0x3cb0 012863 rtn 
+:      012866 module_set_mcu_wake_pin_high_delay:
+0x3cb1 012867 call module_check_mcu_wake_pin_high 
+0x3cb2 012868 rtn true 
+:      012869 module_set_mcu_wake_pin_h_delay:
+0x3cb3 012870 call module_set_mcu_wake_pin_high 
+0x3cb4 012871 fetch 4 ,mem_module_mcu_wake_delay_us 
+0x3cb5 012872 rshift2 pdata ,pdata 
+0x3cb6 012873 rtn blank 
+0x3cb7 012874 branch delay 
+:      012876 module_set_mcu_wake_pin_high:
+0x3cb8 012878 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cb9 012879 branch gpio_out_active 
+:      012881 module_check_mcu_wake_pin_high:
+0x3cba 012882 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cbb 012883 branch gpio_check_active 
+:      012885 module_set_mcu_wake_pin_low:
+0x3cbc 012886 fetcht 1 ,mem_module_mcu_wake_pin 
+0x3cbd 012887 branch gpio_out_inactive 
+:      012890 delay:
+0x3cbe 012891 increase -1 ,pdata 
+0x3cbf 012892 nop 38 
+0x3cc0 012893 nbranch delay ,blank 
+0x3cc1 012894 rtn 
+:      012903 module_le_receive_data:
+0x3cc2 012904 call module_check_ble_encrypt_state 
+0x3cc3 012905 rtn user 
+0x3cc4 012906 copy rega ,pdata 
+0x3cc5 012907 store 2 ,mem_module_le_rx_data_address 
+0x3cc6 012908 copy regb ,pdata 
+0x3cc7 012909 store 1 ,mem_module_le_rx_data_len 
+0x3cc8 012910 fetch 2 ,mem_le_att_handle 
+0x3cc9 012911 fetcht 2 ,mem_module_data_write_handle 
+0x3cca 012912 isub temp ,null 
+0x3ccb 012913 branch module_le_receive_data_ok ,zero 
+0x3ccc 012914 fetcht 2 ,mem_module_data_write_handle2 
+0x3ccd 012915 isub temp ,null 
+0x3cce 012916 nrtn zero 
+:      012917 module_le_receive_data_ok:
+0x3ccf 012918 store 2 ,mem_module_le_rx_data_handle 
+0x3cd0 012919 branch module_hci_event_receive_le_data 
+:      012924 module_exit_sniff:
+0x3cd1 012925 fetch 1 ,mem_module_flag 
+0x3cd2 012926 rtnbit1 moudle_task_unsniff 
+0x3cd3 012927 call module_set_unsniff_task_flag 
+0x3cd4 012928 branch app_bt_sniff_exit 
+:      012931 module_set_lpm_mult_2:
+0x3cd5 012932 jam 2 ,mem_lpm_mult 
+0x3cd6 012933 rtn 
+:      012937 module_bb_event_timer:
+0x3cd7 012938 branch module_read_vdd_timer 
+:      012940 module_read_vdd_timer:
+0x3cd8 012941 fetch 1 ,mem_module_read_vdd_flag 
+0x3cd9 012942 rtn blank 
+0x3cda 012943 fetch 1 ,mem_module_read_vdd_count 
+0x3cdb 012944 rtn blank 
+0x3cdc 012945 increase -1 ,pdata 
+0x3cdd 012946 store 1 ,mem_module_read_vdd_count 
+0x3cde 012947 nrtn blank 
+0x3cdf 012948 jam flag_module_read_vdd_count ,mem_module_read_vdd_count 
+0x3ce0 012949 call adc_set_mode 
+0x3ce1 012950 call vdd_calculate_by_mode 
+0x3ce2 012951 div pdata ,0x64 
+0x3ce3 012952 call wait_div_end 
+0x3ce4 012953 quotient pdata 
+0x3ce5 012954 remainder temp 
+0x3ce6 012955 store 1 ,mem_module_vdd_quotient 
+0x3ce7 012956 storet 1 ,mem_module_vdd_remainder 
+0x3ce8 012957 rtn 
+:      012960 module_control_air_flow:
+0x3ce9 012961 call check_uart_tx_buff 
+0x3cea 012962 branch app_l2cap_flow_control_enable ,positive 
+0x3ceb 012963 branch app_l2cap_flow_control_disable 
+:      012967 module_set_sniff_task_flag:
+0x3cec 012968 arg moudle_task_sniff ,queue 
+0x3ced 012969 branch module_set_state 
+:      012971 module_clear_sniff_task_flag:
+0x3cee 012972 arg moudle_task_sniff ,queue 
+0x3cef 012973 branch module_clr_state 
+:      012975 module_set_unsniff_task_flag:
+0x3cf0 012976 arg moudle_task_unsniff ,queue 
+0x3cf1 012977 branch module_set_state 
+:      012979 module_clear_unsniff_task_flag:
+0x3cf2 012980 arg moudle_task_unsniff ,queue 
+0x3cf3 012981 branch module_clr_state 
+:      012983 module_set_le_tx_data_flag:
+0x3cf4 012984 arg module_flag_ble_data_finish ,queue 
+0x3cf5 012985 branch module_set_state 
+:      012987 module_clear_le_tx_data_flag:
+0x3cf6 012988 arg module_flag_ble_data_finish ,queue 
+0x3cf7 012989 branch module_clr_state 
+:      012991 module_clr_state:
+0x3cf8 012992 fetch 1 ,mem_module_flag 
+0x3cf9 012993 qset0 pdata 
+0x3cfa 012994 store 1 ,mem_module_flag 
+0x3cfb 012995 rtn 
+:      012997 module_set_state:
+0x3cfc 012998 fetch 1 ,mem_module_flag 
+0x3cfd 012999 qset1 pdata 
+0x3cfe 013000 store 1 ,mem_module_flag 
+0x3cff 013001 rtn 
+:      013011 mouse_init:
+0x3d00 013012 call mouse_setting_config 
+0x3d01 013013 call spi_ncs_enable 
+0x3d02 013014 call mouse_init_sunt 
+0x3d03 013015 call mouse_dpi_config 
+0x3d04 013016 call spi_ncs_disable 
+0x3d05 013017 rtn wake 
+0x3d06 013018 call mouse_cheak_enable_usb 
+0x3d07 013019 call mouse_cb_fuction 
+0x3d08 013022 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d09 013023 rtnbit1 mouse_enable_usb 
+0x3d0a 013024 call mouse_wakeup_from_power 
+0x3d0b 013025 rtnmark1 mark_24g 
+0x3d0c 013026 fetch 2 ,mem_ui_state_map 
+0x3d0d 013027 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x3d0e 013028 branch mouse_check_reconn_target 
+:      013031 mouse_delay_4s:
+0x3d0f 013032 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d10 013033 rtnbit0 mouse_enable_init_delay 
+0x3d11 013034 arg 20 ,loopcnt 
+:      013035 mouse_delay_20ms:
+0x3d12 013036 setarg 200000 
+0x3d13 013037 call sleep 
+0x3d14 013038 loop delay_10ms 
+0x3d15 013039 rtn 
+:      013042 mouse_cheak_enable_usb:
+0x3d16 013043 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d17 013044 rtnbit0 mouse_enable_usb 
+0x3d18 013045 branch usb_init 
+:      013048 mouse_cb_fuction:
+0x3d19 013049 setarg mouse_le 
+0x3d1a 013050 store 2 ,mem_cb_le_process 
+0x3d1b 013051 setarg mouse_send_process 
+0x3d1c 013052 store 2 ,mem_cb_bt_process 
+0x3d1d 013053 setarg mouse_process_lpm_before 
+0x3d1e 013054 store 2 ,mem_cb_before_lpm 
+0x3d1f 013055 setarg mouse_priority_bb_event 
+0x3d20 013056 store 2 ,mem_cb_bb_event_process 
+0x3d21 013057 setarg mouse_idle 
+0x3d22 013058 store 2 ,mem_cb_idle_process 
+0x3d23 013059 setarg mouse_before_hibernate 
+0x3d24 013060 store 2 ,mem_cb_before_hibernate 
+0x3d25 013061 setarg le_mouse_bb_event_connect_complete 
+0x3d26 013062 store 2 ,mem_cb_att_write 
+0x3d27 013064 call g24_head_ptr2regc 
+0x3d28 013065 setarg mouse_g24_package_data 
+0x3d29 013066 add regc ,offset_24g_cb_data ,contw 
+0x3d2a 013067 istore 2 ,contw 
+0x3d2b 013068 setarg mouse_g24_enter_lpm 
+0x3d2c 013069 add regc ,offset_24g_cb_lpm_prepare ,contw 
+0x3d2d 013070 istore 2 ,contw 
+0x3d2e 013071 setarg mouse_lpm_before_common 
+0x3d2f 013072 add regc ,offset_24g_cb_lpm_before ,contw 
+0x3d30 013073 istore 2 ,contw 
+0x3d31 013075 setarg mouse_bb_event_timer 
+0x3d32 013076 store 2 ,mem_cb_event_timer 
+0x3d33 013077 setarg mouse_spi_write_flash_cb 
+0x3d34 013078 store 2 ,mem_cb_spi_flash_write_complate 
+0x3d35 013079 rtn 
+:      013080 mouse_spi_write_flash_cb:
+:      013081 mouse_spi_init:
+0x3d36 013082 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d37 013083 bbit0 mouse_enable_spi2 ,spid_init 
+0x3d38 013084 branch spid_init2 
+:      013086 mouse_setting_config:
+0x3d39 013087 rtn wake 
+0x3d3a 013088 call g24_set_device_addr 
+0x3d3b 013089 call mouse_gpio_init 
+0x3d3c 013090 call mouse_param_init 
+0x3d3d 013091 call mouse_adc_init 
+0x3d3e 013092 call le_set_config_fixed_ltk 
+0x3d3f 013093 call le_set_justwork 
+0x3d40 013094 call le_set_fixed_ltk 
+0x3d41 013095 call le_set_config_read_authentication 
+0x3d42 013096 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d43 013097 bbit1 mouse_enable_eeprom ,mouse_init_iic 
+0x3d44 013098 bbit1 mouse_enable_flash ,mouse_load_flash_info_cheak 
+0x3d45 013099 rtn 
+:      013101 mouse_init_iic:
+0x3d46 013102 call iic_init_390k 
+0x3d47 013103 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d48 013104 isolate1 mouse_enable_2k_eeprom ,pdata 
+0x3d49 013105 ncall clear_eeprom_size_2k ,true 
+0x3d4a 013106 call mouse_load_eeprom_dpi 
+0x3d4b 013107 call mouse_init_environment 
+0x3d4c 013108 call mouse_set_24g_addr_eeprom 
+0x3d4d 013109 branch iicd_read_eep_data 
+:      013111 mouse_wakeup_from_power:
+0x3d4e 013112 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d4f 013113 bbit0 mouse_enable_wakeup_from_power ,mouse_wakeup_no_from_power 
+0x3d50 013114 fetch 1 ,mem_wakup_from_power_flag 
+0x3d51 013115 isolate0 gpio_latch ,pdata 
+0x3d52 013116 nrtn true 
+:      013117 mouse_wakeup_no_from_power:
+0x3d53 013118 fetch 1 ,mem_reconn_times_init 
+0x3d54 013119 store 1 ,mem_reconn_times 
+0x3d55 013120 fetch 1 ,mem_config_function_enable 
+0x3d56 013121 rtnbit1 enable_select_device_by_switch 
+:      013122 mouse_start_24g_mode:
+0x3d57 013123 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d58 013124 rtnbit0 mouse_enable_24g 
+0x3d59 013125 bbit1 mouse_enable_auto_24g_paring ,g24_auto_pair_start 
+0x3d5a 013126 branch g24_check_51cmd_start_24g 
+:      013127 le_mouse_bb_event_connect_complete:
+0x3d5b 013128 fetch 1 ,mem_le_att_handle 
+0x3d5c 013129 sub pdata ,26 ,pdata 
+0x3d5d 013130 nrtn zero 
+0x3d5e 013131 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x3d5f 013132 call ui_ipc_send_cmd 
+:      013133 mouse_le_write_enable:
+0x3d60 013134 arg write_req_enable_flag ,queue 
+0x3d61 013135 branch mouse_le_enable_connect_flag 
+:      013137 mouse_dpi_up:
+0x3d62 013138 fetch 1 ,mem_mouse_dpi_button_state 
+0x3d63 013139 rtneq dpi_button_state_up 
+0x3d64 013140 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+0x3d65 013141 rtn 
+:      013142 mouse_dpi_config:
+0x3d66 013143 fetch 1 ,mem_config_sensor_motion 
+0x3d67 013144 and pdata ,0x0f ,pdata 
+0x3d68 013145 store 1 ,mem_mouse_dpi 
+0x3d69 013146 branch mouse_seting_dpi + 2 
+:      013149 mouse_dpi_cheak:
+0x3d6a 013150 fetcht 1 ,mem_dpi_button_gpio 
+0x3d6b 013151 call gpio_get_bit 
+0x3d6c 013152 nbranch mouse_dpi_up ,true 
+:      013153 mouse_dpi_down:
+0x3d6d 013154 fetch 1 ,mem_mouse_dpi_button_state 
+0x3d6e 013155 rtneq dpi_button_state_down 
+0x3d6f 013156 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+:      013157 mouse_dpi_down_setting:
+0x3d70 013158 fetch 1 ,mem_mouse_dpi 
+0x3d71 013159 increase 1 ,pdata 
+0x3d72 013160 and pdata ,0x03 ,pdata 
+0x3d73 013161 store 1 ,mem_mouse_dpi 
+0x3d74 013162 call mouse_seting_dpi 
+0x3d75 013163 fetch mouse_flag_len ,mem_mouse_flag 
+0x3d76 013164 bbit1 mouse_enable_eeprom ,mouse_store_eerpom_dpi 
+0x3d77 013165 bbit1 mouse_enable_flash ,mouse_before_store_flash_cpi 
+0x3d78 013166 rtn 
+:      013167 mouse_before_store_flash_cpi:
+0x3d79 013168 arg mouse_spi2_clk_gpio ,temp 
+0x3d7a 013169 call gpio_config_output 
+0x3d7b 013170 arg mouse_spi2_sdio_gpio ,temp 
+0x3d7c 013171 call gpio_config_output 
+0x3d7d 013172 branch mouse_store_flash_device_info 
+:      013174 mouse_seting_dpi:
+0x3d7e 013175 bpatch patch1c_3 ,mem_patch1c 
+0x3d7f 013176 call mosue_dpi_led_blink_init 
+0x3d80 013177 fetch 1 ,mem_config_sensor_type 
+0x3d81 013178 beq p3610 ,mouse_seting_3610_dpi 
+0x3d82 013179 beq p3212 ,mouse_seting_3212_dpi 
+0x3d83 013180 fetch 1 ,mem_mouse_dpi 
+0x3d84 013181 beq mouse_dpi_level1 ,mouse_set_cpi1 
+0x3d85 013182 beq mouse_dpi_level2 ,mouse_set_cpi2 
+0x3d86 013183 beq mouse_dpi_level3 ,mouse_set_cpi3 
+0x3d87 013184 beq mouse_dpi_level4 ,mouse_set_cpi4 
+:      013185 mouse_set_cpi2:
+0x3d88 013186 fetch 1 ,mem_320x_dpi_2 
+0x3d89 013187 branch mouse_p3205_dpi 
+:      013188 mouse_set_cpi1:
+0x3d8a 013189 fetch 1 ,mem_320x_dpi_1 
+0x3d8b 013190 branch mouse_p3205_dpi 
+:      013191 mouse_set_cpi3:
+0x3d8c 013192 fetch 1 ,mem_320x_dpi_3 
+0x3d8d 013193 branch mouse_p3205_dpi 
+:      013194 mouse_set_cpi4:
+0x3d8e 013195 fetch 1 ,mem_320x_dpi_4 
+0x3d8f 013196 branch mouse_p3205_dpi 
+:      013197 moue_seting_cpi_count:
+0x3d90 013198 fetch 1 ,mem_config_sensor_type 
+0x3d91 013199 rtneq p3065_xy 
+0x3d92 013200 fetch 1 ,mem_mouse_cpi_count 
+0x3d93 013201 increase 1 ,pdata 
+0x3d94 013202 store 1 ,mem_mouse_cpi_count 
+0x3d95 013203 rtn 
+:      013205 mouse_seting_3212_dpi:
+0x3d96 013206 fetch 1 ,mem_mouse_dpi 
+0x3d97 013207 beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+0x3d98 013208 beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+0x3d99 013209 beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
+0x3d9a 013210 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+:      013211 mouse_set_p3212_cpi2:
+0x3d9b 013212 fetch 1 ,mem_3212_dpi_2 
+0x3d9c 013213 branch mouse_p3212_dpi 
+:      013214 mouse_set_p3212_cpi1:
+0x3d9d 013215 fetch 1 ,mem_3212_dpi_1 
+0x3d9e 013216 branch mouse_p3212_dpi 
+:      013217 mouse_set_p3212_cpi3:
+0x3d9f 013218 fetch 1 ,mem_3212_dpi_3 
+0x3da0 013219 branch mouse_p3212_dpi 
+:      013220 mouse_set_p3212_cpi4:
+0x3da1 013221 fetch 1 ,mem_3212_dpi_4 
+:      013222 mouse_p3212_dpi:
+0x3da2 013223 store 1 ,mem_mouse_cpi_count 
+0x3da3 013224 lshift8 pdata ,pdata 
+0x3da4 013225 copy pdata ,rega 
+0x3da5 013226 add pdata ,mouse_p3212_dpi_xaddress ,pdata 
+0x3da6 013227 call twspi_write 
+0x3da7 013228 copy rega ,pdata 
+0x3da8 013229 add pdata ,mouse_p3212_dpi_yaddress ,pdata 
+0x3da9 013230 branch twspi_write 
+:      013232 mouse_seting_3610_dpi:
+0x3daa 013233 fetch 1 ,mem_mouse_dpi 
+0x3dab 013234 beq mouse_dpi_level1 ,mouse_set_p3610_cpi1 
+0x3dac 013235 beq mouse_dpi_level2 ,mouse_set_p3610_cpi2 
+0x3dad 013236 beq mouse_dpi_level3 ,mouse_set_p3610_cpi3 
+0x3dae 013237 beq mouse_dpi_level4 ,mouse_set_p3610_cpi4 
+:      013238 mouse_set_p3610_cpi2:
+0x3daf 013239 fetch 1 ,mem_3610_dpi_2 
+0x3db0 013240 branch mouse_p3610_dpi 
+:      013241 mouse_set_p3610_cpi1:
+0x3db1 013242 fetch 1 ,mem_3610_dpi_1 
+0x3db2 013243 branch mouse_p3610_dpi 
+:      013244 mouse_set_p3610_cpi3:
+0x3db3 013245 fetch 1 ,mem_3610_dpi_3 
+0x3db4 013246 branch mouse_p3610_dpi 
+:      013247 mouse_set_p3610_cpi4:
+0x3db5 013248 fetch 1 ,mem_3610_dpi_4 
+:      013249 mouse_p3610_dpi:
+0x3db6 013250 store 1 ,mem_mouse_cpi_count 
+0x3db7 013251 call mouse_spi_sdio_gpio_pollup 
+0x3db8 013252 fetch 1 ,mem_mouse_cpi_count 
+:      013253 mouse_reset_p3610_dpi:
+0x3db9 013254 add pdata ,0x80 ,pdata 
+0x3dba 013255 lshift8 pdata ,pdata 
+0x3dbb 013256 add pdata ,mouse_p3610_dpi_address ,pdata 
+0x3dbc 013257 copy pdata ,rega 
+0x3dbd 013258 branch mouse_set_sensor_reg 
+:      013260 mouse_p3205_dpi:
+0x3dbe 013261 store 1 ,mem_mouse_cpi_count 
+0x3dbf 013262 call moue_seting_cpi_count 
+0x3dc0 013263 fetch 1 ,mem_mouse_cpi_count 
+0x3dc1 013264 setarg mouse_dpi_address 
+0x3dc2 013265 call twspi_read 
+0x3dc3 013266 and pdata ,0xf8 ,temp 
+0x3dc4 013267 fetch 1 ,mem_mouse_cpi_count 
+0x3dc5 013268 iadd temp ,pdata 
+0x3dc6 013269 lshift8 pdata ,pdata 
+0x3dc7 013270 add pdata ,mouse_dpi_address ,pdata 
+0x3dc8 013271 branch twspi_write 
+:      013274 mouse_init_environment:
+0x3dc9 013275 call app_initflag_check 
+0x3dca 013276 branch mouse_eeprom_load_recon_info ,zero 
+0x3dcb 013277 call mouse_ble_init_address 
+0x3dcc 013278 call mouse_store_eeprom_device_info 
+0x3dcd 013279 branch app_initflag_store 
+:      013282 mouse_24g_pairing_button:
+0x3dce 013283 fetch 2 ,mem_24g_pairing_timer_count 
+0x3dcf 013284 rtn blank 
+0x3dd0 013285 fetch mouse_flag_len ,mem_mouse_flag 
+0x3dd1 013286 rtnbit0 mouse_enable_24g 
+0x3dd2 013287 rtnbit1 mosue_24g_pairing_flag 
+0x3dd3 013288 rtnmark1 mark_24g 
+0x3dd4 013289 call mouse_check_key_gpio 
+0x3dd5 013290 rtnne mouse_lmr_button 
+0x3dd6 013291 call mouse_devce_led_off 
+0x3dd7 013292 arg mosue_24g_pairing_flag ,queue 
+0x3dd8 013293 call mouse_enable_function_flag 
+0x3dd9 013294 setarg 0 
+0x3dda 013295 store 2 ,mem_mouse_direct_timer 
+0x3ddb 013296 store 1 ,mem_mouse_send_blank_timer 
+0x3ddc 013297 call g24_set0_mem_check_dongle_times 
+0x3ddd 013299 fetch 2 ,mem_ui_state_map 
+0x3dde 013300 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+0x3ddf 013301 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x3de0 013302 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x3de1 013303 call mouse_stop_discovery 
+0x3de2 013304 branch g24_start_pairing_sm1 
+:      013307 mouse_idle:
+0x3de3 013308 call mouse_24g_pairing_button 
+0x3de4 013309 call ui_check_paring_button 
+0x3de5 013310 call mouse_dpi_cheak 
+0x3de6 013311 call mouse_usb_isr 
+0x3de7 013312 call mouse_wheel_check 
+0x3de8 013313 branch mouse_usb_mode 
+:      013314 mouse_usb_isr:
+0x3de9 013315 fetch mouse_flag_len ,mem_mouse_flag 
+0x3dea 013316 rtnbit0 mouse_enable_usb 
+0x3deb 013317 call usb_isr 
+0x3dec 013318 branch usb_offline_state 
+:      013320 mouse_cheak_usb:
+0x3ded 013321 hfetch 1 ,core_usb_addr 
+0x3dee 013322 bbit0 7 ,mouse_usb_no_exsit 
+0x3def 013323 bbit1 7 ,mouse_usb_exsit 
+0x3df0 013324 rtn 
+:      013325 mouse_usb_no_exsit:
+0x3df1 013326 fetch 1 ,mem_usb_addr 
+0x3df2 013327 rtnbit0 7 
+0x3df3 013328 branch soft_reset_chip 
+:      013329 mouse_usb_exsit:
+0x3df4 013330 fetch 1 ,mem_usb_addr 
+0x3df5 013331 rtnbit1 7 
+0x3df6 013332 branch mouse_stop_bluetooth_mode 
+:      013334 mouse_usb_mode:
+0x3df7 013335 call mouse_cheak_usb 
+0x3df8 013336 hfetch 1 ,core_usb_addr 
+0x3df9 013337 store 1 ,mem_usb_addr 
+0x3dfa 013338 rtnbit0 7 
+0x3dfb 013339 call mouse_clkn_check 
+0x3dfc 013340 fetch 4 ,mem_btclk_sensor 
+0x3dfd 013341 fetcht 1 ,mem_wire_usb_interval 
+0x3dfe 013342 iadd temp ,temp 
+0x3dff 013343 copy clkn_bt ,pdata 
+0x3e00 013344 isub temp ,null 
+0x3e01 013345 nrtn positive 
+0x3e02 013346 store 4 ,mem_btclk_sensor 
+0x3e03 013347 call mouse_motion 
+0x3e04 013348 nrtn user 
+0x3e05 013349 jam 4 ,mem_usb_tx_enable 
+0x3e06 013350 branch mouse_wired_to_usb 
+:      013352 mouse_clkn_check:
+0x3e07 013353 fetcht 4 ,mem_btclk_sensor 
+0x3e08 013354 copy clkn_bt ,pdata 
+0x3e09 013355 isub temp ,null 
+0x3e0a 013356 ncall mouse_clkn_timeout ,positive 
+0x3e0b 013357 rtn 
+:      013358 mouse_clkn_timeout:
+0x3e0c 013359 setarg 0 
+0x3e0d 013360 store 4 ,mem_btclk_sensor 
+0x3e0e 013361 rtn 
+:      013365 mouse_wired_to_usb:
+0x3e0f 013366 fetch 1 ,mem_usb_tx_enable 
+0x3e10 013367 rtnbit0 2 
+0x3e11 013368 branch mouse_data_push 
+:      013369 mouse_data_push:
+0x3e12 013370 hfetch 1 ,core_usb_addr 
+0x3e13 013371 rtnbit0 7 
+0x3e14 013372 jam usb_ep2_ms ,mem_usb_ep2_data 
+0x3e15 013373 setarg ms_report_id 
+0x3e16 013374 store 1 ,mem_usb_mouse_data 
+0x3e17 013375 fetch 7 ,mem_mouse_key 
+0x3e18 013376 istore 7 ,contw 
+0x3e19 013377 rtn 
+:      013380 mouse_enable_clock_qdecoder:
+0x3e1a 013381 hfetch 2 ,core_clkoff 
+0x3e1b 013382 set0 clock_off_qdecoder ,pdata 
+0x3e1c 013383 hstore 2 ,core_clkoff 
+0x3e1d 013384 rtn 
+:      013386 mouse_param_init:
+0x3e1e 013387 setarg 0x8c00 
+0x3e1f 013388 store 2 ,mem_ui_uuid_table 
+0x3e20 013389 setarg 0x8e7a 
+0x3e21 013390 store 2 ,mem_ui_le_uuid_table 
+0x3e22 013391 setarg 0x2402 
+0x3e23 013392 store 2 ,mem_fcomp_mul 
+0x3e24 013393 setarg 0x2580 
+0x3e25 013394 store 3 ,mem_class 
+0x3e26 013395 jam 3 ,mem_lpm_mult_timeout 
+0x3e27 013396 jam 8 ,mem_lpm_overhead 
+0x3e28 013397 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x3e29 013398 setarg 0x0200 
+0x3e2a 013399 store 2 ,mem_lpm_interval 
+0x3e2b 013400 jam 0x17 ,mem_le_local_mtu 
+0x3e2c 013401 jam 0x17 ,mem_le_remote_mtu 
+0x3e2d 013403 setarg 0x0a77 
+0x3e2e 013404 store 2 ,mem_spi_init_clk 
+0x3e2f 013420 setsect 0 ,0x306 
+0x3e30 013421 setsect 1 ,0x4440 
+0x3e31 013422 setsect 2 ,0x10000 
+0x3e32 013423 setsect 3 ,0x4408 
+0x3e33 013424 store 9 ,mem_all_uuid_16bits 
+0x3e34 013425 setsect 0 ,0x1224 
+0x3e35 013426 setsect 1 ,0x4000 
+0x3e36 013427 setsect 2 ,0x0 
+0x3e37 013428 istore 5 ,contw 
+0x3e38 013430 setsect 0 ,0x3ffff 
+0x3e39 013431 setsect 1 ,0x2fe23 
+0x3e3a 013432 setsect 2 ,0x199d9 
+0x3e3b 013433 setsect 3 ,0x20d 
+0x3e3c 013434 store 8 ,mem_features 
+0x3e3d 013436 setarg 0x012c 
+0x3e3e 013437 store 2 ,mem_24g_pairing_timer_count 
+0x3e3f 013438 call le_modified_name 
+0x3e40 013439 fetch mouse_flag_len ,mem_mouse_flag 
+0x3e41 013440 rtnbit0 mouse_enable_gpio_control_adc_sensor 
+0x3e42 013441 call mouse_sensor_set_angle 
+0x3e43 013442 branch mouse_select_adc 
+:      013444 mouse_sensor_set_angle:
+0x3e44 013445 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x3e45 013446 call gpio_config_input 
+0x3e46 013447 fetcht 1 ,mem_select_sensor_angle_gpio 
+0x3e47 013448 call gpio_get_bit 
+0x3e48 013449 jam mouse_3clk_angle ,mem_config_sensor_angle 
+0x3e49 013450 rtn true 
+0x3e4a 013451 jam mouse_12clk_angle ,mem_config_sensor_angle 
+0x3e4b 013452 rtn 
+:      013454 mouse_select_adc:
+0x3e4c 013455 fetcht 1 ,mem_select_adc_gpio 
+0x3e4d 013456 call gpio_config_input 
+0x3e4e 013457 fetcht 1 ,mem_select_adc_gpio 
+0x3e4f 013458 call gpio_get_bit 
+0x3e50 013459 jam adc_config_vinlpm ,mem_adc_config_flag 
+0x3e51 013460 rtn true 
+0x3e52 013461 jam adc_config_gpio ,mem_adc_config_flag 
+0x3e53 013462 rtn 
+:      013465 mouse_adc_init:
+0x3e54 013466 fetch 1 ,mem_adc_config_flag 
+0x3e55 013467 beq adc_config_vinlpm ,mouse_adc_init_data_vinlpm 
+0x3e56 013468 beq adc_config_hvin ,mouse_adc_init_data_hvin 
+0x3e57 013469 beq adc_config_gpio ,mouse_adc_init_data_io 
+0x3e58 013470 branch mouse_adc_init_data_vinlpm 
+:      013472 mouse_adc_init_data_vinlpm:
+0x3e59 013473 fetcht 2 ,mem_2v_adc_vinlpm_data 
+0x3e5a 013474 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x3e5b 013475 isub temp ,pdata 
+0x3e5c 013476 mul32 pdata ,20 ,pdata 
+0x3e5d 013477 div pdata ,100 
+0x3e5e 013478 call wait_div_end 
+0x3e5f 013479 quotient pdata 
+0x3e60 013480 store 2 ,mem_adc_reference_voltage 
+0x3e61 013481 rtn 
+:      013482 mouse_adc_init_data_hvin:
+0x3e62 013483 fetcht 2 ,mem_1v_adc_hvin_data 
+0x3e63 013484 fetch 2 ,mem_5v_adc_hvin_data 
+0x3e64 013485 isub temp ,pdata 
+0x3e65 013486 mul32 pdata ,230 ,pdata 
+0x3e66 013487 div pdata ,400 
+0x3e67 013488 call wait_div_end 
+0x3e68 013489 quotient pdata 
+0x3e69 013490 store 2 ,mem_adc_reference_voltage 
+0x3e6a 013491 rtn 
+:      013492 mouse_adc_init_data_io:
+0x3e6b 013493 fetch 2 ,mem_1v_adc_io_data 
+0x3e6c 013494 store 2 ,mem_adc_reference_voltage 
+0x3e6d 013495 rtn 
+:      013496 mouse_gpio_init:
+0x3e6e 013497 fetcht 1 ,mem_eeprom_wp_gpio 
+0x3e6f 013498 call gpio_config_output 
+0x3e70 013499 call usb_offline_check_init 
+0x3e71 013500 fetcht 1 ,mem_lbutton_gpio 
+0x3e72 013501 call gpio_config_input 
+0x3e73 013502 fetcht 1 ,mem_rbutton_gpio 
+0x3e74 013503 call gpio_config_input 
+0x3e75 013504 fetcht 1 ,mem_mbutton_gpio 
+0x3e76 013505 call gpio_config_input 
+0x3e77 013506 fetcht 1 ,mem_sensor_data_gpio 
+0x3e78 013507 call gpio_config_input 
+0x3e79 013509 fetcht 1 ,mem_sensor_reset_gpio 
+0x3e7a 013510 call gpio_config_output 
+0x3e7b 013512 fetcht 1 ,mem_whee_a_data_gpio 
+0x3e7c 013513 call gpio_config_input 
+0x3e7d 013515 fetcht 1 ,mem_whee_b_data_gpio 
+0x3e7e 013516 call gpio_config_input 
+0x3e7f 013518 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3e80 013519 call gpio_config_input 
+0x3e81 013520 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3e82 013521 call gpio_config_input 
+0x3e83 013523 fetcht 1 ,mem_bk_button_gpio 
+0x3e84 013524 call gpio_config_input 
+0x3e85 013525 fetcht 1 ,mem_fw_button_gpio 
+0x3e86 013526 call gpio_config_input 
+0x3e87 013528 fetcht 1 ,mem_config_low_voltage_alarm_gpio 
+0x3e88 013529 call gpio_config_output 
+0x3e89 013531 fetcht 1 ,mem_config_device1_led_gpio 
+0x3e8a 013532 call gpio_config_output 
+0x3e8b 013534 fetcht 1 ,mem_config_device2_led_gpio 
+0x3e8c 013535 call gpio_config_output 
+0x3e8d 013537 fetcht 1 ,mem_config_device3_led_gpio 
+0x3e8e 013538 call gpio_config_output 
+0x3e8f 013540 fetcht 1 ,mem_dpi_led_gpio 
+0x3e90 013541 call gpio_config_output 
+0x3e91 013543 fetcht 1 ,mem_config_select_device_button_gpio 
+0x3e92 013544 call gpio_config_input 
+0x3e93 013546 fetcht 1 ,mem_config_bt_button_gpio 
+0x3e94 013547 call gpio_config_input 
+0x3e95 013549 fetcht 1 ,mem_dpi_button_gpio 
+0x3e96 013550 branch gpio_config_input 
+:      013552 mouse_wheel_gpio_set_wake:
+0x3e97 013553 fetcht 1 ,mem_whee_a_data_gpio 
+0x3e98 013554 call gpio_set_wake_by_current_state 
+0x3e99 013555 fetcht 1 ,mem_whee_b_data_gpio 
+0x3e9a 013556 call gpio_set_wake_by_current_state 
+0x3e9b 013557 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3e9c 013558 call gpio_set_wake_by_current_state 
+0x3e9d 013559 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3e9e 013560 branch gpio_set_wake_by_current_state 
+:      013562 mouse_before_hibernate_wheel_gpio_set:
+0x3e9f 013563 fetcht 1 ,mem_whee_a_data_gpio 
+0x3ea0 013564 call mouse_gpio_set_pupd_by_input 
+0x3ea1 013565 fetcht 1 ,mem_whee_b_data_gpio 
+0x3ea2 013566 call mouse_gpio_set_pupd_by_input 
+0x3ea3 013567 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ea4 013568 call mouse_gpio_set_pupd_by_input 
+0x3ea5 013569 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3ea6 013570 branch mouse_gpio_set_pupd_by_input 
+:      013572 mouse_gpio_set_pupd_by_input:
+0x3ea7 013573 sub temp ,ui_button_gpio_disable ,null 
+0x3ea8 013574 rtn zero 
+0x3ea9 013575 and temp ,0x7f ,queue 
+0x3eaa 013576 hfetch 4 ,core_gpio_in 
+0x3eab 013577 qisolate1 pdata 
+0x3eac 013578 hfetch 4 ,core_gpio_pu0 
+0x3ead 013579 qsetflag true ,pdata 
+0x3eae 013580 hstore 4 ,core_gpio_pu0 
+0x3eaf 013581 hfetch 4 ,core_gpio_pd0 
+0x3eb0 013582 nqsetflag true ,pdata 
+0x3eb1 013583 hstore 4 ,core_gpio_pd0 
+0x3eb2 013584 rtn 
+:      013586 mouse_before_hibernate:
+0x3eb3 013587 enable user 
+0x3eb4 013588 hfetch 4 ,0x8138 
+0x3eb5 013589 setflag user ,26 ,pdata 
+0x3eb6 013590 hstore 4 ,core_lpm_reg 
+0x3eb7 013591 call lpm_write_ctrl 
+0x3eb8 013592 call mouse_devce_led_off 
+0x3eb9 013593 call mouse_before_hibernate_wheel_gpio_set 
+0x3eba 013595 branch mouse_lpm_before_common 
+:      013599 mouse_process_lpm_before:
+0x3ebb 013600 call mouse_lpm_before_common 
+0x3ebc 013601 fetch 1 ,mem_lpm_current_mult 
+0x3ebd 013602 nrtn blank 
+0x3ebe 013603 branch gpio_clr_wake 
+:      013605 mouse_lpm_before_common:
+0x3ebf 013606 call mouse_wheel_check 
+0x3ec0 013607 arg mouse_spi1_clk_gpio ,temp 
+0x3ec1 013608 fetch mouse_flag_len ,mem_mouse_flag 
+0x3ec2 013609 isolate1 mouse_enable_spi2 ,pdata 
+0x3ec3 013610 call mouse_spi_clk_gpio ,true 
+0x3ec4 013611 call gpio_config_output 
+0x3ec5 013612 call twspi_disable 
+0x3ec6 013616 fetcht 1 ,mem_lbutton_gpio 
+0x3ec7 013617 call gpio_set_wake_by_current_state 
+0x3ec8 013618 fetcht 1 ,mem_rbutton_gpio 
+0x3ec9 013619 call gpio_set_wake_by_current_state 
+0x3eca 013620 fetcht 1 ,mem_mbutton_gpio 
+0x3ecb 013621 call gpio_set_wake_by_current_state 
+0x3ecc 013623 fetcht 1 ,mem_bk_button_gpio 
+0x3ecd 013624 call gpio_set_wake_by_current_state 
+0x3ece 013625 fetcht 1 ,mem_fw_button_gpio 
+0x3ecf 013626 call gpio_set_wake_by_current_state 
+0x3ed0 013627 fetcht 1 ,mem_dpi_button_gpio 
+0x3ed1 013628 call gpio_set_wake_by_current_state 
+0x3ed2 013629 fetcht 1 ,mem_config_select_device_button_gpio 
+0x3ed3 013630 call gpio_set_wake_by_current_state 
+0x3ed4 013631 fetcht 1 ,mem_whee_a_data_gpio 
+0x3ed5 013632 call gpio_set_wake_by_current_state 
+0x3ed6 013633 fetcht 1 ,mem_whee_b_data_gpio 
+0x3ed7 013634 call gpio_set_wake_by_current_state 
+0x3ed8 013635 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ed9 013636 call gpio_set_wake_by_current_state 
+0x3eda 013637 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3edb 013638 call gpio_set_wake_by_current_state 
+0x3edc 013639 fetcht 1 ,mem_sensor_data_gpio 
+0x3edd 013640 branch gpio_set_wake 
+:      013644 mouse_spi_clk_gpio:
+0x3ede 013645 arg mouse_spi2_clk_gpio ,temp 
+0x3edf 013646 rtn 
+:      013648 mouse_wheel_check:
+0x3ee0 013649 bpatch patch1c_4 ,mem_patch1c 
+0x3ee1 013650 call mouse_t_wheel_scan 
+0x3ee2 013651 call mouse_wheel_scan 
+0x3ee3 013652 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3ee4 013653 fetcht 1 ,mem_wheel_tb_old_pinlevel 
+0x3ee5 013654 store 1 ,mem_wheel_tb_old_pinlevel 
+0x3ee6 013655 isub temp ,null 
+0x3ee7 013656 nbranch app_lpm_wake_auto_lock ,zero 
+0x3ee8 013657 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3ee9 013658 fetcht 1 ,mem_mwheel_b_old_pinlevel 
+0x3eea 013659 store 1 ,mem_mwheel_b_old_pinlevel 
+0x3eeb 013660 isub temp ,null 
+0x3eec 013661 nbranch app_lpm_wake_auto_lock ,zero 
+0x3eed 013662 rtn 
+:      013663 mouse_t_wheel_scan:
+0x3eee 013664 fetch 1 ,mem_whee_ta_data_gpio 
+0x3eef 013665 rtneq gpio_disable 
+0x3ef0 013666 arg 0 ,rega 
+0x3ef1 013667 fetcht 1 ,mem_whee_ta_data_gpio 
+0x3ef2 013668 call gpio_get_bit 
+0x3ef3 013669 setflag true ,0 ,rega 
+0x3ef4 013670 fetcht 1 ,mem_whee_tb_data_gpio 
+0x3ef5 013671 call gpio_get_bit 
+0x3ef6 013672 setflag true ,1 ,rega 
+0x3ef7 013673 copy rega ,pdata 
+0x3ef8 013674 store 1 ,mem_wheel_tb_new_pinlevel 
+0x3ef9 013675 beq 0x01 ,mouse_t_wheel_scan_judge1 
+0x3efa 013676 beq 0x02 ,mouse_t_wheel_scan_judge2 
+0x3efb 013677 fetch 1 ,mem_wheel_tog 
+0x3efc 013678 bbit1 7 ,mouse_t_wheel_scan_judge3 
+0x3efd 013679 rtn 
+:      013681 mouse_t_wheel_scan_judge1:
+0x3efe 013682 fetch 1 ,mem_wheel_tb_old_pinlevel 
+0x3eff 013683 beq 0 ,mouse_t_wheel_scan_judge11 
+0x3f00 013684 beq 3 ,mouse_t_wheel_scan_judge12 
+0x3f01 013685 rtn 
+:      013686 mouse_t_wheel_scan_judge2:
+0x3f02 013687 fetch 1 ,mem_wheel_tb_old_pinlevel 
+0x3f03 013688 beq 0 ,mouse_t_wheel_scan_judge21 
+0x3f04 013689 beq 3 ,mouse_t_wheel_scan_judge22 
+0x3f05 013690 rtn 
+:      013691 mouse_t_wheel_scan_judge11:
+0x3f06 013692 jam 0x82 ,mem_wheel_tog 
+0x3f07 013693 rtn 
+:      013694 mouse_t_wheel_scan_judge12:
+0x3f08 013695 jam 0x81 ,mem_wheel_tog 
+0x3f09 013696 rtn 
+:      013697 mouse_t_wheel_scan_judge21:
+0x3f0a 013698 jam 0x80 ,mem_wheel_tog 
+0x3f0b 013699 rtn 
+:      013700 mouse_t_wheel_scan_judge22:
+0x3f0c 013701 jam 0x83 ,mem_wheel_tog 
+0x3f0d 013702 rtn 
+:      013703 mouse_t_wheel_scan_judge3:
+0x3f0e 013704 fetch 1 ,mem_wheel_tog 
+0x3f0f 013705 set0 7 ,pdata 
+0x3f10 013706 store 1 ,mem_wheel_tog 
+0x3f11 013707 beq 0 ,mouse_t_wheel_scan_judge30 
+0x3f12 013708 beq 1 ,mouse_t_wheel_scan_judge31 
+0x3f13 013709 beq 2 ,mouse_t_wheel_scan_judge32 
+0x3f14 013710 beq 3 ,mouse_t_wheel_scan_judge33 
+0x3f15 013711 rtn 
+:      013712 mouse_t_wheel_scan_judge30:
+0x3f16 013713 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f17 013714 beq 3 ,mouse_wheel_t_forward 
+0x3f18 013715 rtn 
+:      013716 mouse_t_wheel_scan_judge31:
+0x3f19 013717 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f1a 013718 beq 0 ,mouse_wheel_t_forward 
+0x3f1b 013719 rtn 
+:      013720 mouse_t_wheel_scan_judge32:
+0x3f1c 013721 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f1d 013722 beq 3 ,mouse_wheel_t_back 
+0x3f1e 013723 rtn 
+:      013724 mouse_t_wheel_scan_judge33:
+0x3f1f 013725 fetch 1 ,mem_wheel_tb_new_pinlevel 
+0x3f20 013726 beq 0 ,mouse_wheel_t_back 
+0x3f21 013727 rtn 
+:      013728 mouse_wheel_t_forward:
+0x3f22 013729 fetch 1 ,mem_mouse_tz_data_count1 
+0x3f23 013730 increase 1 ,pdata 
+0x3f24 013731 store 1 ,mem_mouse_tz_data_count1 
+0x3f25 013732 sub pdata ,1 ,null 
+0x3f26 013733 rtn positive 
+0x3f27 013734 jam 0 ,mem_mouse_tz_data_count1 
+0x3f28 013735 fetch 1 ,mem_mouse_tz_data 
+0x3f29 013736 increase 1 ,pdata 
+0x3f2a 013737 store 1 ,mem_mouse_tz_data 
+0x3f2b 013738 rtn 
+:      013739 mouse_wheel_t_back:
+0x3f2c 013740 fetch 1 ,mem_mouse_tz_data_count 
+0x3f2d 013741 increase 1 ,pdata 
+0x3f2e 013742 store 1 ,mem_mouse_tz_data_count 
+0x3f2f 013743 sub pdata ,1 ,null 
+0x3f30 013744 rtn positive 
+0x3f31 013745 jam 0 ,mem_mouse_tz_data_count 
+0x3f32 013746 fetch 1 ,mem_mouse_tz_data 
+0x3f33 013747 increase -1 ,pdata 
+0x3f34 013748 store 1 ,mem_mouse_tz_data 
+0x3f35 013749 rtn 
+:      013752 mouse_wheel_scan:
+0x3f36 013753 fetch 1 ,mem_whee_a_data_gpio 
+0x3f37 013754 rtneq gpio_disable 
+0x3f38 013755 arg 0 ,rega 
+0x3f39 013756 fetcht 1 ,mem_whee_a_data_gpio 
+0x3f3a 013757 call gpio_get_bit 
+0x3f3b 013758 setflag true ,0 ,rega 
+0x3f3c 013759 fetcht 1 ,mem_whee_b_data_gpio 
+0x3f3d 013760 call gpio_get_bit 
+0x3f3e 013761 setflag true ,1 ,rega 
+0x3f3f 013762 copy rega ,pdata 
+0x3f40 013763 store 1 ,mem_mwheel_b_new_pinlevel 
+0x3f41 013764 beq 0x01 ,mouse_wheel_scan_judge1 
+0x3f42 013765 beq 0x02 ,mouse_wheel_scan_judge2 
+0x3f43 013766 fetch 1 ,mem_mwheel_tog 
+0x3f44 013767 bbit1 7 ,mouse_wheel_scan_judge3 
+0x3f45 013768 rtn 
+:      013770 mouse_wheel_scan_judge1:
+0x3f46 013771 fetch 1 ,mem_mwheel_b_old_pinlevel 
+0x3f47 013772 beq 0 ,mouse_wheel_scan_judge11 
+0x3f48 013773 beq 3 ,mouse_wheel_scan_judge12 
+0x3f49 013774 rtn 
+:      013775 mouse_wheel_scan_judge2:
+0x3f4a 013776 fetch 1 ,mem_mwheel_b_old_pinlevel 
+0x3f4b 013777 beq 0 ,mouse_wheel_scan_judge21 
+0x3f4c 013778 beq 3 ,mouse_wheel_scan_judge22 
+0x3f4d 013779 rtn 
+:      013780 mouse_wheel_scan_judge11:
+0x3f4e 013781 jam 0x82 ,mem_mwheel_tog 
+0x3f4f 013782 rtn 
+:      013783 mouse_wheel_scan_judge12:
+0x3f50 013784 jam 0x81 ,mem_mwheel_tog 
+0x3f51 013785 rtn 
+:      013786 mouse_wheel_scan_judge21:
+0x3f52 013787 jam 0x80 ,mem_mwheel_tog 
+0x3f53 013788 rtn 
+:      013789 mouse_wheel_scan_judge22:
+0x3f54 013790 jam 0x83 ,mem_mwheel_tog 
+0x3f55 013791 rtn 
+:      013792 mouse_wheel_scan_judge3:
+0x3f56 013793 fetch 1 ,mem_mwheel_tog 
+0x3f57 013794 set0 7 ,pdata 
+0x3f58 013795 store 1 ,mem_mwheel_tog 
+0x3f59 013796 beq 0 ,mouse_wheel_scan_judge30 
+0x3f5a 013797 beq 1 ,mouse_wheel_scan_judge31 
+0x3f5b 013798 beq 2 ,mouse_wheel_scan_judge32 
+0x3f5c 013799 beq 3 ,mouse_wheel_scan_judge33 
+0x3f5d 013800 rtn 
+:      013801 mouse_wheel_scan_judge30:
+0x3f5e 013802 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f5f 013803 beq 3 ,mouse_wheel_forward 
+0x3f60 013804 rtn 
+:      013805 mouse_wheel_scan_judge31:
+0x3f61 013806 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f62 013807 beq 0 ,mouse_wheel_forward 
+0x3f63 013808 rtn 
+:      013809 mouse_wheel_scan_judge32:
+0x3f64 013810 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f65 013811 beq 3 ,mouse_wheel_back 
+0x3f66 013812 rtn 
+:      013813 mouse_wheel_scan_judge33:
+0x3f67 013814 fetch 1 ,mem_mwheel_b_new_pinlevel 
+0x3f68 013815 beq 0 ,mouse_wheel_back 
+0x3f69 013816 rtn 
+:      013817 mouse_wheel_forward:
+0x3f6a 013818 jam 0 ,mem_mouse_z_data_count1 
+0x3f6b 013819 fetch 1 ,mem_mouse_z_data 
+0x3f6c 013820 increase 1 ,pdata 
+0x3f6d 013821 store 1 ,mem_mouse_z_data 
+0x3f6e 013822 rtn 
+:      013823 mouse_wheel_back:
+0x3f6f 013824 jam 0 ,mem_mouse_z_data_count 
+0x3f70 013825 fetch 1 ,mem_mouse_z_data 
+0x3f71 013826 increase -1 ,pdata 
+0x3f72 013827 store 1 ,mem_mouse_z_data 
+0x3f73 013828 rtn 
+:      013831 mouse_hid_connected:
+0x3f74 013832 setarg hid_handshake_timeout 
+0x3f75 013833 store 1 ,mem_hid_handshake_timer_count 
+0x3f76 013834 rtn 
+:      013836 mouse_send_process:
+0x3f77 013837 fetch 1 ,mem_app_handshake_flag 
+0x3f78 013838 rtn blank 
+0x3f79 013839 call l2cap_malloc_is_fifo_nearly_full 
+0x3f7a 013840 nrtn blank 
+0x3f7b 013841 fetch mouse_flag_len ,mem_mouse_flag 
+0x3f7c 013842 bbit1 mosue_24g_pairing_flag ,mouse_send_empty_data 
+0x3f7d 013843 bbit1 mouse_select_device_flag ,mouse_send_empty_data 
+0x3f7e 013844 bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+0x3f7f 013845 call mouse_motion 
+0x3f80 013846 nrtn user 
+:      013847 mouse_send_data:
+0x3f81 013848 arg 9 ,rega 
+0x3f82 013849 call hid_malloc_tx_buff 
+0x3f83 013850 fetch 2 ,mem_hid_int_remote_cid 
+0x3f84 013851 istore 2 ,contw 
+0x3f85 013852 setarg 0x02a1 
+0x3f86 013853 istore 2 ,contw 
+0x3f87 013854 fetch 7 ,mem_mouse_key 
+0x3f88 013855 istore 7 ,contw 
+0x3f89 013856 rtn 
+:      013859 mouse_send_empty_data:
+0x3f8a 013860 setarg 0 
+0x3f8b 013861 store 7 ,mem_mouse_key 
+0x3f8c 013862 branch mouse_send_data 
+:      013865 mouse_no_data_timer_init:
+0x3f8d 013866 fetch 2 ,mem_mouse_no_data_timeout 
+0x3f8e 013867 store 2 ,mem_mouse_no_data_timer 
+0x3f8f 013868 rtn 
+:      013871 mouse_fill_data_le:
+0x3f90 013872 bpatch patch1c_5 ,mem_patch1c 
+0x3f91 013873 arg 7 ,rega 
+0x3f92 013874 fetcht 2 ,mem_le_notify_handle 
+0x3f93 013875 call le_att_malloc_tx_notify 
+0x3f94 013876 fetch 7 ,mem_mouse_key 
+0x3f95 013877 istore 7 ,contw 
+0x3f96 013878 rtn 
+:      013880 mouse_motion:
+0x3f97 013881 bpatch patch1c_6 ,mem_patch1c 
+0x3f98 013882 disable user 
+0x3f99 013883 setarg 0 
+0x3f9a 013884 store 6 ,mem_mouse_x 
+0x3f9b 013885 call mouse_cheak_sensor_data 
+0x3f9c 013886 call mouse_zwheel 
+0x3f9d 013887 call mouse_t_zwheel 
+0x3f9e 013888 call mouse_key 
+0x3f9f 013889 nrtn user 
+0x3fa0 013890 call mouse_no_data_timer_init 
+0x3fa1 013891 arg mouse_statue_up_flag ,queue 
+0x3fa2 013892 branch mouse_enable_function_flag 
+:      013894 motion_6clk_direction_dispose:
+0x3fa3 013895 fetch 2 ,mem_mouse_x 
+0x3fa4 013896 sub pdata ,0 ,pdata 
+0x3fa5 013897 store 2 ,mem_mouse_x 
+0x3fa6 013898 branch enable_user 
+:      013899 motion_12clk_direction_dispose:
+0x3fa7 013900 fetch 2 ,mem_mouse_y 
+0x3fa8 013901 sub pdata ,0 ,pdata 
+0x3fa9 013902 store 2 ,mem_mouse_y 
+0x3faa 013903 branch enable_user 
+:      013904 motion_9clk_direction_dispose:
+0x3fab 013905 fetch 2 ,mem_mouse_y 
+0x3fac 013906 sub pdata ,0 ,pdata 
+0x3fad 013907 store 2 ,mem_mouse_y 
+0x3fae 013908 fetch 2 ,mem_mouse_x 
+0x3faf 013909 sub pdata ,0 ,pdata 
+0x3fb0 013910 store 2 ,mem_mouse_x 
+0x3fb1 013911 call mouse_sensor_data_swap_places 
+0x3fb2 013912 branch enable_user 
+:      013913 motion_3clk_direction_dispose:
+0x3fb3 013914 call mouse_sensor_data_swap_places 
+0x3fb4 013915 branch enable_user 
+:      013916 mouse_cheak_sensor_data:
+0x3fb5 013917 fetch 1 ,mem_spi_write_flash_sm 
+0x3fb6 013918 rtnne flash_sm_no_buys 
+0x3fb7 013919 fetch 1 ,mem_config_sensor_type 
+0x3fb8 013920 beq p3205 ,mouse_p32xx_sensor_motion 
+0x3fb9 013921 beq p3065 ,mouse_p32xx_sensor_motion 
+0x3fba 013922 beq ka8 ,mouse_p32xx_sensor_motion 
+0x3fbb 013923 beq p3204 ,mouse_p32xx_sensor_motion 
+0x3fbc 013924 beq p3212 ,mouse_p3212_sensor_motion 
+0x3fbd 013925 beq p3610 ,mouse_p3610_sensor_motion 
+0x3fbe 013926 beq p3065_xy ,mouse_p32xx_sensor_motion 
+0x3fbf 013927 branch mouse_p32xx_sensor_motion 
+:      013929 mouse_clear_sensor_data:
+0x3fc0 013930 fetch 1 ,mem_mouse_move_flag 
+0x3fc1 013931 call mouse_read_sensor_common ,blank 
+0x3fc2 013932 jam 1 ,mem_mouse_move_flag 
+0x3fc3 013933 rtn 
+:      013936 mouse_p3212_sensor_motion:
+0x3fc4 013937 call mouse_clear_sensor_data 
+0x3fc5 013938 fetcht 1 ,mem_sensor_data_gpio 
+0x3fc6 013939 call gpio_get_bit 
+0x3fc7 013940 nrtn true 
+:      013941 mouse_p3212_sensor_motion_1:
+0x3fc8 013942 setarg pan_reg_pid_l 
+0x3fc9 013943 call twspi_read 
+0x3fca 013944 bne p32xx_id1 ,mouse_twspi_reset 
+0x3fcb 013945 setarg pan_reg_motion_staus 
+0x3fcc 013946 call twspi_read 
+0x3fcd 013947 rtnbit0 7 
+0x3fce 013948 call mouse_read_sensor_common 
+0x3fcf 013949 call mouse_read_3212sensor_xy_high 
+0x3fd0 013950 store 1 ,mem_mouse_xy_h 
+0x3fd1 013951 rshift4 pdata ,pdata 
+0x3fd2 013952 call extsign_bit3 
+0x3fd3 013953 store 1 ,mem_mouse_x + 1 
+0x3fd4 013954 fetch 1 ,mem_mouse_xy_h 
+0x3fd5 013955 and pdata ,0x0f ,pdata 
+0x3fd6 013956 call extsign_bit3 
+0x3fd7 013957 store 1 ,mem_mouse_y + 1 
+0x3fd8 013958 fetch 1 ,mem_config_sensor_angle 
+0x3fd9 013959 beq mouse_6clk_angle ,motion_6clk_direction_dispose 
+0x3fda 013960 beq mouse_9clk_angle ,motion_9clk_direction_dispose 
+0x3fdb 013961 beq mouse_12clk_angle ,motion_12clk_direction_dispose 
+0x3fdc 013962 beq mouse_3clk_angle ,motion_3clk_direction_dispose 
+0x3fdd 013963 rtn 
+:      013965 mouse_read_3212sensor_xy_high:
+0x3fde 013966 setarg 0x12 
+0x3fdf 013967 branch twspi_read 
+:      013969 mouse_p3065_judge:
+0x3fe0 013970 beq p3065_id1 ,mouse_p32xx_sensor_motion_1 
+0x3fe1 013971 branch mouse_twspi_reset 
+:      013973 mouse_p32xx_sensor_motion:
+0x3fe2 013974 call mouse_clear_sensor_data 
+0x3fe3 013975 disable user 
+0x3fe4 013976 fetcht 1 ,mem_sensor_data_gpio 
+0x3fe5 013977 call gpio_get_bit 
+0x3fe6 013978 nrtn true 
+:      013979 mouse_p32xx_sensor_motion_2:
+0x3fe7 013980 setarg pan_reg_pid_l 
+0x3fe8 013981 call twspi_read 
+0x3fe9 013982 bne p32xx_id1 ,mouse_p3065_judge 
+:      013983 mouse_p32xx_sensor_motion_1:
+0x3fea 013984 setarg pan_reg_motion_staus 
+0x3feb 013985 call twspi_read 
+0x3fec 013986 rtnbit0 7 
+0x3fed 013987 call mouse_read_sensor_common 
+0x3fee 013988 fetch 1 ,mem_mouse_x 
+0x3fef 013989 call extsign 
+0x3ff0 013990 store 2 ,mem_mouse_x 
+0x3ff1 013991 fetch 1 ,mem_mouse_y 
+0x3ff2 013992 call extsign 
+0x3ff3 013993 store 2 ,mem_mouse_y 
+0x3ff4 013994 fetch 1 ,mem_config_sensor_angle 
+0x3ff5 013995 beq mouse_6clk_angle ,motion32xx_6clk_direction_selection 
+0x3ff6 013996 beq mouse_9clk_angle ,motion32xx_9clk_direction_selection 
+0x3ff7 013997 beq mouse_12clk_angle ,motion32xx_12clk_direction_selection 
+0x3ff8 013998 beq mouse_3clk_angle ,motion32xx_3clk_direction_selection 
+0x3ff9 013999 rtn 
+:      014001 motion32xx_6clk_direction_selection:
+0x3ffa 014002 call motion_6clk_direction_dispose 
+0x3ffb 014003 branch mouse_sensor_sdio_low 
+:      014004 motion32xx_9clk_direction_selection:
+0x3ffc 014005 call motion_9clk_direction_dispose 
+0x3ffd 014006 branch mouse_sensor_sdio_low 
+:      014007 motion32xx_12clk_direction_selection:
+0x3ffe 014008 call motion_12clk_direction_dispose 
+0x3fff 014009 branch mouse_sensor_sdio_low 
+:      014010 motion32xx_3clk_direction_selection:
+0x4000 014011 call motion_3clk_direction_dispose 
+0x4001 014012 branch mouse_sensor_sdio_low 
+:      014014 mouse_sensor_data_swap_places:
+0x4002 014015 fetch 2 ,mem_mouse_y 
+0x4003 014016 fetcht 2 ,mem_mouse_x 
+0x4004 014017 store 2 ,mem_mouse_x 
+0x4005 014018 storet 2 ,mem_mouse_y 
+0x4006 014019 rtn 
+:      014021 mouse_p3610sensor_read:
+0x4007 014022 call spi_ncs_enable 
+0x4008 014023 nop 100 
+0x4009 014024 copy regb ,pdata 
+0x400a 014025 call twspi_read 
+0x400b 014026 copy pdata ,regb 
+0x400c 014027 call spi_ncs_disable 
+0x400d 014028 nop 100 
+0x400e 014029 copy regb ,pdata 
+0x400f 014030 rtn 
+:      014031 mouse_p3610_sensor_motion:
+0x4010 014032 disable user 
+0x4011 014033 fetcht 1 ,mem_sensor_data_gpio 
+0x4012 014034 call gpio_get_bit 
+0x4013 014035 nrtn true 
+0x4014 014036 arg pan_reg_motion_staus ,regb 
+0x4015 014037 call mouse_p3610sensor_read 
+0x4016 014038 rtnbit0 7 
+0x4017 014039 arg pan_reg_pid_l ,regb 
+0x4018 014040 call mouse_p3610sensor_read 
+0x4019 014041 store 1 ,mem_sensor_id1 
+0x401a 014042 bne p3610_id1 ,mouse_init_3610sensor_reset 
+0x401b 014043 fetch 1 ,mem_mouse_move_flag 
+0x401c 014044 call mouse_read_sensor3610_data ,blank 
+0x401d 014045 jam 1 ,mem_mouse_move_flag 
+0x401e 014046 call mouse_read_sensor3610_data 
+0x401f 014047 fetch 1 ,mem_mouse_xy_h 
+0x4020 014048 rshift4 pdata ,pdata 
+0x4021 014049 call extsign_bit3 
+0x4022 014050 store 1 ,mem_mouse_x + 1 
+0x4023 014051 fetch 1 ,mem_mouse_xy_h 
+0x4024 014052 and pdata ,0x0f ,pdata 
+0x4025 014053 call extsign_bit3 
+0x4026 014054 store 1 ,mem_mouse_y + 1 
+0x4027 014055 fetch 1 ,mem_config_sensor_angle 
+0x4028 014056 beq 0 ,motion3610_6clk_direction_selection 
+0x4029 014057 beq 1 ,motion3610_9clk_direction_selection 
+0x402a 014058 beq 2 ,motion3610_12clk_direction_selection 
+0x402b 014059 beq 3 ,motion3610_3clk_direction_selection 
+0x402c 014060 rtn 
+:      014062 mouse_3610_smart_select:
+0x402d 014063 fetch 1 ,mem_sensor_smart_flag 
+0x402e 014064 beq p3610_smart_enable ,mouse_3610_smart_disable 
+0x402f 014065 beq p3610_smart_disable ,mouse_3610_smart_enable 
+0x4030 014066 rtn 
+:      014069 motion3610_6clk_direction_selection:
+0x4031 014070 call motion_6clk_direction_dispose 
+0x4032 014071 branch mouse_3610_smart_select 
+:      014073 motion3610_12clk_direction_selection:
+0x4033 014074 call motion_12clk_direction_dispose 
+0x4034 014075 branch mouse_3610_smart_select 
+:      014077 motion3610_9clk_direction_selection:
+0x4035 014078 call motion_9clk_direction_dispose 
+0x4036 014079 branch mouse_3610_smart_select 
+:      014081 motion3610_3clk_direction_selection:
+0x4037 014082 call motion_3clk_direction_dispose 
+0x4038 014083 branch mouse_3610_smart_select 
+:      014085 mouse_read_sensor3610_data:
+0x4039 014086 call spi_ncs_enable 
+0x403a 014087 call mouse_read_sensor_common 
+0x403b 014088 arg 5 ,pdata 
+0x403c 014089 call twspi_read 
+0x403d 014090 store 1 ,mem_mouse_xy_h 
+0x403e 014091 arg 7 ,pdata 
+0x403f 014092 call twspi_read 
+0x4040 014093 store 1 ,mem_sensor_shutter_hi 
+0x4041 014094 arg 8 ,pdata 
+0x4042 014095 call twspi_read 
+0x4043 014096 store 1 ,mem_sensor_shutter_lo 
+0x4044 014097 branch spi_ncs_disable 
+:      014100 mouse_3610_smart_enable:
+0x4045 014101 fetch 1 ,mem_sensor_shutter_hi 
+0x4046 014102 rtnne 0 
+0x4047 014103 fetch 1 ,mem_sensor_shutter_lo 
+0x4048 014104 sub pdata ,45 ,null 
+0x4049 014105 rtn positive 
+0x404a 014106 jam p3610_smart_enable ,mem_sensor_smart_flag 
+0x404b 014107 setarg 0xba41 
+0x404c 014108 call sensor_write 
+0x404d 014109 setarg 0x0032 
+0x404e 014110 call sensor_write 
+0x404f 014111 setarg 0xb541 
+0x4050 014112 branch sensor_write 
+:      014113 mouse_3610_smart_disable:
+0x4051 014114 fetch 1 ,mem_sensor_shutter_hi 
+0x4052 014115 rtnne 0 
+0x4053 014116 fetch 1 ,mem_sensor_shutter_lo 
+0x4054 014117 sub pdata ,45 ,null 
+0x4055 014118 nrtn positive 
+0x4056 014119 jam p3610_smart_disable ,mem_sensor_smart_flag 
+0x4057 014120 setarg 0xba41 
+0x4058 014121 call sensor_write 
+0x4059 014122 setarg 0x8032 
+0x405a 014123 call sensor_write 
+0x405b 014124 setarg 0xb541 
+0x405c 014125 branch sensor_write 
+:      014129 mouse_read_sensor_common:
+0x405d 014130 arg pan_reg_delta_x ,pdata 
+0x405e 014131 call twspi_read 
+0x405f 014132 store 2 ,mem_mouse_x 
+0x4060 014133 arg pan_reg_delta_y ,pdata 
+0x4061 014134 call twspi_read 
+0x4062 014135 store 2 ,mem_mouse_y 
+0x4063 014136 rtn 
+:      014138 mouse_set_qdecoder_x:
+0x4064 014139 arg mouse_default_xa_gpio ,temp 
+0x4065 014140 call gpio_config_input 
+0x4066 014141 arg mouse_default_xa_gpio ,temp 
+0x4067 014142 call gpio_get_bit 
+0x4068 014143 rtn true 
+0x4069 014144 hfetch 1 ,core_qdec_cntx 
+0x406a 014145 set1 4 ,pdata 
+0x406b 014146 hstore 1 ,core_qdec_cntx 
+0x406c 014147 rtn 
+:      014149 mouse_hardware_zwheel:
+0x406d 014150 fetcht 1 ,mem_mouse_z_data 
+0x406e 014151 hfetch 1 ,core_qdec_cntx 
+0x406f 014152 iadd temp ,pdata 
+0x4070 014153 rtn blank 
+0x4071 014154 store 1 ,mem_mouse_z 
+0x4072 014155 jam 0 ,mem_mouse_z_data 
+0x4073 014156 branch enable_user 
+:      014157 mouse_hardware_zwheel_beforelpm:
+0x4074 014158 fetcht 1 ,mem_mouse_z_data 
+0x4075 014159 hfetch 1 ,core_qdec_cntx 
+0x4076 014160 iadd temp ,pdata 
+0x4077 014161 store 1 ,mem_mouse_z_data 
+0x4078 014162 rtn 
+:      014163 mouse_zwheel:
+0x4079 014164 fetch 1 ,mem_mouse_z_data 
+0x407a 014165 rtn blank 
+0x407b 014166 store 1 ,mem_mouse_z 
+0x407c 014167 jam 0 ,mem_mouse_z_data 
+0x407d 014168 branch enable_user 
+:      014170 mouse_t_zwheel:
+0x407e 014171 fetch 1 ,mem_mouse_tz_data 
+0x407f 014172 rtn blank 
+0x4080 014173 store 1 ,mem_mouse_tz 
+0x4081 014174 jam 0 ,mem_mouse_tz_data 
+0x4082 014175 branch enable_user 
+:      014177 mouse_check_key_gpio:
+0x4083 014178 arg 0 ,rega 
+0x4084 014179 fetcht 1 ,mem_lbutton_gpio 
+0x4085 014180 call gpio_get_bit 
+0x4086 014181 setflag true ,0 ,rega 
+0x4087 014182 fetcht 1 ,mem_rbutton_gpio 
+0x4088 014183 call gpio_get_bit 
+0x4089 014184 setflag true ,1 ,rega 
+0x408a 014185 fetcht 1 ,mem_mbutton_gpio 
+0x408b 014186 call gpio_get_bit 
+0x408c 014187 setflag true ,2 ,rega 
+0x408d 014188 call mouse_check_s_key_gpio 
+0x408e 014189 copy rega ,pdata 
+0x408f 014190 rtn 
+:      014191 mouse_check_s_key_gpio:
+0x4090 014192 fetch 1 ,mem_bk_button_gpio 
+0x4091 014193 rtneq gpio_disable 
+0x4092 014194 fetcht 1 ,mem_bk_button_gpio 
+0x4093 014195 call gpio_get_bit 
+0x4094 014196 setflag true ,3 ,rega 
+0x4095 014197 fetcht 1 ,mem_fw_button_gpio 
+0x4096 014198 call gpio_get_bit 
+0x4097 014199 setflag true ,4 ,rega 
+0x4098 014200 rtn 
+:      014202 mouse_key:
+0x4099 014203 call mouse_check_key_gpio 
+0x409a 014204 call mouse_set_mult 
+0x409b 014205 call mouse_24g_key 
+0x409c 014206 copy rega ,pdata 
+0x409d 014207 fetcht 1 ,mem_mouse_key 
+0x409e 014208 store 1 ,mem_mouse_key 
+0x409f 014209 ixor temp ,pdata 
+0x40a0 014210 sub pdata ,0 ,null 
+0x40a1 014211 rtn zero 
+0x40a2 014212 branch enable_user 
+:      014214 mouse_24g_key:
+0x40a3 014215 rtnmark0 mark_24g 
+0x40a4 014216 copy rega ,pdata 
+0x40a5 014217 rtn blank 
+0x40a6 014218 store 1 ,mem_mouse_key 
+0x40a7 014219 branch enable_user 
+:      014222 mouse_set_mult:
+0x40a8 014223 fetch 2 ,mem_ui_state_map 
+0x40a9 014224 bbit1 ui_state_ble_connected ,mouse_set_ble_mult 
+0x40aa 014225 fetch 2 ,mem_ui_state_map 
+0x40ab 014226 bbit1 ui_state_bt_connected ,mouse_set_bt_mult 
+0x40ac 014227 rtn 
+:      014228 mouse_set_ble_mult:
+0x40ad 014229 copy rega ,pdata 
+0x40ae 014230 nbranch le_set_config_short_mult ,blank 
+0x40af 014231 branch le_clr_config_short_mult 
+:      014232 mouse_set_bt_mult:
+0x40b0 014233 copy rega ,pdata 
+0x40b1 014234 nbranch classic_bt_set_mult_short_flag ,blank 
+0x40b2 014235 branch classic_bt_clr_mult_short_flag 
+:      014238 mouse_sensor_sdio_low:
+0x40b3 014239 bpatch patch1c_7 ,mem_patch1c 
+0x40b4 014240 arg mouse_spi1_sdio_gpio ,temp 
+0x40b5 014241 fetch mouse_flag_len ,mem_mouse_flag 
+0x40b6 014242 isolate1 mouse_enable_spi2 ,pdata 
+0x40b7 014243 call mouse_sensor_sdio_low2 ,true 
+0x40b8 014244 call gpio_get_bit 
+0x40b9 014245 rtn true 
+0x40ba 014246 setarg 0x0a 
+0x40bb 014247 call twspi_read 
+0x40bc 014248 nop 1000 
+0x40bd 014249 branch mouse_sensor_sdio_low 
+:      014250 mouse_sensor_sdio_low2:
+0x40be 014251 arg mouse_spi2_sdio_gpio ,temp 
+0x40bf 014252 rtn 
+:      014254 mouse_spi_sdio_gpio_pollup:
+0x40c0 014255 fetch mouse_flag_len ,mem_mouse_flag 
+0x40c1 014256 bbit1 mouse_enable_spi2 ,mouse_spi2_sdio_gpio_pollup 
+:      014257 mouse_spi1_sdio_gpio_pollup:
+0x40c2 014258 arg mouse_spi1_sdio_gpio ,temp 
+0x40c3 014259 branch gpio_config_input_without_wake 
+:      014260 mouse_spi2_sdio_gpio_pollup:
+0x40c4 014261 arg mouse_spi2_sdio_gpio ,temp 
+0x40c5 014262 branch gpio_config_input_without_wake 
+:      014265 mouse_init_sunt:
+0x40c6 014266 call mouse_spi_init 
+0x40c7 014267 rtn wake 
+0x40c8 014268 call mouse_spi_sdio_gpio_pollup 
+0x40c9 014269 fetch 1 ,mem_config_sensor_type 
+0x40ca 014270 beq p3610 ,mouse_init_3610sensor 
+:      014271 mouse_init_sensor:
+0x40cb 014272 call mouse_read_sensor_id 
+0x40cc 014273 beq p32xx_id1 ,mouse_init_p32xx_id2_judge 
+0x40cd 014274 beq p3065_id1 ,mouse_p3065_init_param 
+0x40ce 014275 call mouse_twspi_reset 
+0x40cf 014276 nop 1000 
+0x40d0 014277 branch mouse_init_sensor 
+:      014278 mouse_twspi_reset:
+0x40d1 014279 bpatch patch1d_0 ,mem_patch1d 
+0x40d2 014280 fetch mouse_flag_len ,mem_mouse_flag 
+0x40d3 014281 bbit1 mouse_enable_spi2 ,twspi_reset2 
+0x40d4 014282 branch twspi_reset 
+:      014284 mouse_init_3610sensor:
+0x40d5 014285 call mouse_read_sensor_id 
+0x40d6 014286 beq p3610_id1 ,mouse_init_p3610 
+0x40d7 014287 call mouse_init_3610sensor_reset 
+0x40d8 014288 branch mouse_init_3610sensor 
+:      014290 mouse_read_sensor_id:
+0x40d9 014291 setarg pan_reg_pid_h 
+0x40da 014292 call twspi_read 
+0x40db 014293 store 1 ,mem_sensor_id2 
+0x40dc 014294 setarg pan_reg_pid_l 
+0x40dd 014295 call twspi_read 
+0x40de 014296 store 1 ,mem_sensor_id1 
+0x40df 014297 rtn 
+:      014298 mouse_init_p32xx_id2_judge:
+0x40e0 014299 fetch 1 ,mem_sensor_id2 
+0x40e1 014300 beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
+0x40e2 014301 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
+0x40e3 014302 beq p3212_id2 ,mouse_3212_init_param 
+0x40e4 014303 beq pka8_id2 ,mouse_ka8_init_param 
+0x40e5 014304 rtn 
+:      014305 mouse_ka8_init_param:
+0x40e6 014306 jam ka8 ,mem_config_sensor_type 
+0x40e7 014307 rtn 
+:      014308 mouse_p3065xy_init_param:
+0x40e8 014309 jam p3065_xy ,mem_config_sensor_type 
+0x40e9 014310 rtn 
+:      014311 mouse_p3065_init_param:
+0x40ea 014312 fetch 1 ,mem_sensor_id2 
+0x40eb 014313 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+0x40ec 014314 jam p3065 ,mem_config_sensor_type 
+0x40ed 014315 rtn 
+:      014316 mouse_3212_init_param:
+0x40ee 014317 jam p3212 ,mem_config_sensor_type 
+0x40ef 014318 call mouse_sensor_disable_wp 
+0x40f0 014319 setarg 0x3426 
+0x40f1 014320 call twspi_write 
+0x40f2 014321 setarg 0x0419 
+0x40f3 014322 call twspi_write 
+:      014323 mouse_sensor_enable_wp:
+0x40f4 014324 setarg 0x0009 
+0x40f5 014325 branch twspi_write 
+:      014326 mouse_sensor_disable_wp:
+0x40f6 014327 setarg 0x5a09 
+0x40f7 014328 branch twspi_write 
+:      014330 mouse_3204_3l_init_param:
+0x40f8 014331 jam p3204 ,mem_config_sensor_type 
+0x40f9 014332 call mouse_sensor_disable_wp 
+0x40fa 014333 setarg 0x0f0d 
+0x40fb 014334 call twspi_write 
+0x40fc 014335 setarg 0xe31d 
+0x40fd 014336 call twspi_write 
+0x40fe 014337 setarg 0xd27d 
+0x40ff 014338 call twspi_write 
+0x4100 014339 call mouse_32xx_init_param 
+0x4101 014340 branch mouse_32xx_init_param_1 
+:      014342 mouse_32xx_init_param:
+0x4102 014343 setarg 0x351b 
+0x4103 014344 call twspi_write 
+0x4104 014345 setarg 0xb428 
+0x4105 014346 call twspi_write 
+0x4106 014347 setarg 0x4629 
+0x4107 014348 call twspi_write 
+0x4108 014349 setarg 0x962a 
+0x4109 014350 call twspi_write 
+0x410a 014351 setarg 0x8c2b 
+0x410b 014352 call twspi_write 
+0x410c 014353 setarg 0x6e2c 
+0x410d 014354 call twspi_write 
+0x410e 014355 setarg 0x642d 
+0x410f 014356 call twspi_write 
+0x4110 014357 setarg 0x5f38 
+0x4111 014358 call twspi_write 
+0x4112 014359 setarg 0x0f39 
+0x4113 014360 call twspi_write 
+0x4114 014361 setarg 0x323a 
+0x4115 014362 call twspi_write 
+0x4116 014363 setarg 0x473b 
+0x4117 014364 call twspi_write 
+0x4118 014365 setarg 0x1042 
+0x4119 014366 branch twspi_write 
+:      014367 mouse_32xx_init_param_1:
+0x411a 014368 setarg 0x2e54 
+0x411b 014369 call twspi_write 
+0x411c 014370 setarg 0xf255 
+0x411d 014371 call twspi_write 
+0x411e 014372 setarg 0xf461 
+0x411f 014373 call twspi_write 
+0x4120 014374 setarg 0x7063 
+0x4121 014375 call twspi_write 
+0x4122 014376 setarg 0x5275 
+0x4123 014377 call twspi_write 
+0x4124 014378 setarg 0x4176 
+0x4125 014379 call twspi_write 
+0x4126 014380 setarg 0xed77 
+0x4127 014381 call twspi_write 
+0x4128 014382 setarg 0x2378 
+0x4129 014383 call twspi_write 
+0x412a 014384 setarg 0x4679 
+0x412b 014385 call twspi_write 
+0x412c 014386 setarg 0xe57a 
+0x412d 014387 call twspi_write 
+0x412e 014388 setarg 0x487c 
+0x412f 014389 call twspi_write 
+0x4130 014390 setarg 0x777e 
+0x4131 014391 call twspi_write 
+0x4132 014392 setarg 0x017f 
+0x4133 014393 call twspi_write 
+0x4134 014394 setarg 0x000b 
+0x4135 014395 call twspi_write 
+0x4136 014396 setarg 0x007f 
+0x4137 014397 call twspi_write 
+0x4138 014398 branch mouse_sensor_enable_wp 
+:      014401 mouse_3205_3t_init_param:
+0x4139 014402 jam p3205 ,mem_config_sensor_type 
+0x413a 014403 call mouse_sensor_disable_wp 
+0x413b 014404 setarg 0x100d 
+0x413c 014405 call twspi_write 
+0x413d 014406 setarg 0xed1d 
+0x413e 014407 call twspi_write 
+0x413f 014408 setarg 0x807d 
+0x4140 014409 call twspi_write 
+0x4141 014410 call mouse_32xx_init_param 
+0x4142 014411 setarg 0x0943 
+0x4143 014412 call twspi_write 
+0x4144 014413 branch mouse_32xx_init_param_1 
+:      014416 mouse_init_3610sensor_reset:
+0x4145 014417 fetcht 1 ,mem_sensor_reset_gpio 
+0x4146 014418 call gpio_out_active 
+0x4147 014419 call delay_10ms 
+0x4148 014420 fetcht 1 ,mem_sensor_reset_gpio 
+0x4149 014421 call gpio_out_inactive 
+0x414a 014422 branch delay_10ms 
+:      014424 mouse_init_p3610:
+0x414b 014425 jam p3610 ,mem_config_sensor_type 
+0x414c 014426 setarg 0xba41 
+0x414d 014427 call sensor_write 
+0x414e 014428 setarg 0x0d11 
+0x414f 014429 call sensor_write 
+0x4150 014430 setarg 0x041b 
+0x4151 014431 call sensor_write 
+0x4152 014432 setarg 0x041c 
+0x4153 014433 call sensor_write 
+0x4154 014434 setarg 0x0f1d 
+0x4155 014435 call sensor_write 
+0x4156 014436 setarg 0x0032 
+0x4157 014437 call sensor_write 
+0x4158 014438 setarg 0xb541 
+0x4159 014439 branch sensor_write 
+:      014443 mouse_set_sensor_reg:
+0x415a 014444 setarg 0xba41 
+0x415b 014445 call sensor_write 
+0x415c 014446 nop 4000 
+0x415d 014447 setarg 0xff7f 
+0x415e 014448 call sensor_write 
+0x415f 014449 copy rega ,pdata 
+0x4160 014450 call sensor_write 
+0x4161 014451 setarg 0x007f 
+0x4162 014452 call sensor_write 
+0x4163 014453 setarg 0xb541 
+0x4164 014454 branch sensor_write 
+:      014456 extsign:
+0x4165 014457 rtnbit0 7 
+0x4166 014458 arg 0xff00 ,temp 
+0x4167 014459 ior temp ,pdata 
+0x4168 014460 rtn 
+:      014462 extsign_bit3:
+0x4169 014463 rtnbit0 3 
+0x416a 014464 arg 0xf0 ,temp 
+0x416b 014465 ior temp ,pdata 
+0x416c 014466 rtn 
+:      014469 mouse_le:
+0x416d 014470 call le_fifo_check_nearly_full 
+0x416e 014471 nrtn blank 
+0x416f 014472 fetch 1 ,mem_le_connect_status_flag 
+0x4170 014473 and pdata ,0x03 ,pdata 
+0x4171 014474 rtnne 0x03 
+0x4172 014475 fetch mouse_flag_len ,mem_mouse_flag 
+0x4173 014476 bbit1 mosue_24g_pairing_flag ,mouse_le_send_empty_packet 
+0x4174 014477 bbit1 mouse_select_device_flag ,mouse_le_send_empty_packet 
+0x4175 014478 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+0x4176 014479 call mouse_motion 
+0x4177 014480 nrtn user 
+0x4178 014481 branch mouse_fill_data_le 
+:      014483 mouse_le_send_empty_packet:
+0x4179 014484 setarg 0 
+0x417a 014485 store 7 ,mem_mouse_key 
+0x417b 014486 branch mouse_fill_data_le 
+:      014488 mouse_priority_bb_event:
+0x417c 014489 copy regc ,pdata 
+0x417d 014490 beq bt_evt_le_connected ,mouse_le_bb_event_connected 
+0x417e 014491 beq bt_evt_bb_connected ,mouse_stop_discovery 
+0x417f 014492 beq bt_evt_le_disconnected ,mouse_bb_disconnected 
+0x4180 014493 beq bt_evt_bb_disconnected ,mouse_bb_disconnected 
+0x4181 014494 beq bt_evt_setup_complete ,mouse_bt_event_setup_complete 
+0x4182 014495 beq bt_evt_button_long_pressed ,mouse_bb_event_discovery_btn 
+0x4183 014496 beq bt_evt_hid_handshake ,mouse_bt_hid_handshake 
+0x4184 014497 beq bt_evt_hid_connected ,mouse_bt_hid_connected 
+0x4185 014498 beq bt_evt_reconn_failed ,mouse_bb_event_reconn_failed 
+0x4186 014499 beq bt_evt_reconn_page_timeout ,mouse_bb_event_reconn_timeout 
+0x4187 014500 beq bt_evt_pincode_req ,mouse_bb_event_pincode 
+0x4188 014501 beq bt_evt_remote_unsniff ,app_start_auto_sniff 
+0x4189 014502 beq bt_evt_le_pairing_success ,mouse_le_pairing_success 
+0x418a 014503 beq bt_evt_le_start_enc ,mouse_le_ll_start_encryt 
+0x418b 014504 beq bt_evt_le_pairing_complete ,mouse_le_pairing_complete 
+0x418c 014505 beq bt_evt_virtual_cable_unplug ,mouse_irtual_cable_unplug 
+0x418d 014506 beq bt_evt_24g_pairing_complete ,mouse_24g_pairing_complete 
+0x418e 014507 beq bt_evt_24g_attempt_fail ,mouse_24g_attempt_fail 
+0x418f 014508 beq bt_evt_24g_attempt_success ,mouse_24g_attempt_success 
+0x4190 014509 rtn 
+:      014512 mouse_le_pairing_complete:
+0x4191 014513 branch app_ble_store_reconn_info 
+:      014515 mouse_24g_attempt_fail:
+0x4192 014516 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x4193 014517 fetch 1 ,mem_reconn_times 
+0x4194 014518 nbranch mouse_polling_device ,blank 
+0x4195 014519 fetch 1 ,mem_device_flag 
+0x4196 014520 fetcht 1 ,mem_24g_device_number 
+0x4197 014521 isub temp ,null 
+0x4198 014522 branch app_enter_hibernate ,zero 
+0x4199 014523 rtn 
+:      014524 mouse_24g_attempt_success:
+0x419a 014525 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x419b 014526 rtn 
+:      014527 mouse_24g_pairing_complete:
+0x419c 014528 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+0x419d 014529 arg mosue_24g_pairing_flag ,queue 
+0x419e 014530 call mouse_disable_function_flag 
+0x419f 014531 setarg 0 
+0x41a0 014532 store 2 ,mem_24g_pairing_timer_count 
+0x41a1 014533 jam 0 ,mem_mouse_move_flag 
+0x41a2 014535 fetch 1 ,mem_config_sensor_type 
+0x41a3 014536 sub pdata ,p3610 ,null 
+0x41a4 014537 call mouse_read_sensor3610_data ,zero 
+0x41a5 014538 ncall mouse_read_sensor_common ,zero 
+0x41a6 014540 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x41a7 014541 bbit1 mouse_enable_flash ,mouse_store_flash_24g_address 
+0x41a8 014542 call mouse_set_24g_addr_eeprom 
+0x41a9 014543 branch iicd_write_protect_eep_data 
+:      014545 mouse_set_24g_addr_eeprom:
+0x41aa 014546 call g24_head_ptr2regc 
+0x41ab 014547 add regc ,offset_24g_addr ,rega 
+0x41ac 014548 arg mouse_g24_addr_eeprom_offect ,regb 
+0x41ad 014549 arg 4 ,temp 
+0x41ae 014550 rtn 
+:      014552 mouse_store_flash_24g_address:
+0x41af 014553 call g24_head_ptr2regc 
+0x41b0 014554 add regc ,offset_24g_addr ,regb 
+0x41b1 014555 ifetch 1 ,regb 
+0x41b2 014556 store 1 ,mem_mouse_24g_addr 
+0x41b3 014557 branch mouse_store_flash_device_info 
+:      014560 mouse_le_pairing_success:
+0x41b4 014561 arg ll_pairing_success_flag ,queue 
+0x41b5 014562 branch mouse_le_enable_connect_flag 
+:      014563 mouse_le_ll_start_encryt:
+0x41b6 014564 jam 2 ,mem_le_start_encrypt_timer 
+0x41b7 014565 arg ll_start_enc_flag ,queue 
+0x41b8 014566 branch mouse_le_enable_connect_flag 
+:      014569 mouse_le_enable_connect_flag:
+0x41b9 014570 fetch 1 ,mem_le_connect_status_flag 
+0x41ba 014571 qset1 pdata 
+0x41bb 014572 store 1 ,mem_le_connect_status_flag 
+0x41bc 014573 rtn 
+:      014575 mouse_le_disable_connect_flag:
+0x41bd 014576 fetch 1 ,mem_le_connect_status_flag 
+0x41be 014577 qset0 pdata 
+0x41bf 014578 store 1 ,mem_le_connect_status_flag 
+0x41c0 014579 rtn 
+:      014580 mouse_le_clean_connect_flag:
+0x41c1 014581 jam 0 ,mem_le_connect_status_flag 
+0x41c2 014582 rtn 
+:      014584 mouse_le_bb_event_connected:
+0x41c3 014585 fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x41c4 014586 set0 app_disc_by_button ,pdata 
+0x41c5 014587 store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+0x41c6 014588 setarg 0 
+0x41c7 014589 store 2 ,mem_mouse_direct_timer 
+0x41c8 014590 call mouse_no_data_timer_init 
+0x41c9 014591 branch mouse_stop_discovery 
+:      014593 mouse_bb_event_pincode:
+0x41ca 014594 call pincode_reinit 
+0x41cb 014595 branch app_bt_set_pincode 
+:      014596 mouse_bb_event_reconn_timeout:
+:      014597 mouse_bb_event_reconn_failed:
+0x41cc 014598 fetch 1 ,mem_reconn_times 
+0x41cd 014599 nbranch mouse_polling_device ,blank 
+0x41ce 014600 fetch 2 ,mem_ui_state_map 
+0x41cf 014601 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x41d0 014602 fetch mouse_flag_len ,mem_mouse_flag 
+0x41d1 014603 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+0x41d2 014604 bbit1 mouse_bt_discovery_button_down_flag ,mouse_start_discovery 
+0x41d3 014605 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+0x41d4 014606 branch app_bb_hibernate 
+:      014609 mouse_bt_hid_connected:
+0x41d5 014610 branch mouse_hid_connected 
+:      014612 mouse_bt_event_setup_complete:
+0x41d6 014613 rtn 
+:      014615 mouse_soft_reset:
+0x41d7 014616 call mouse_select_device_enable 
+0x41d8 014617 branch soft_reset_chip 
+:      014619 mouse_bb_disconnected:
+0x41d9 014620 bpatch patch1d_1 ,mem_patch1d 
+0x41da 014621 call mouse_bb_discon_clear_stack 
+0x41db 014622 fetch mouse_flag_len ,mem_mouse_flag 
+0x41dc 014623 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+0x41dd 014624 bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+0x41de 014625 fetch 1 ,mem_reconn_times 
+0x41df 014626 nbranch mouse_polling_device ,blank 
+0x41e0 014627 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x41e1 014628 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn 
+0x41e2 014629 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0x41e3 014630 bbit1 app_disc_after_pairing ,mouse_event_light_state_pairing 
+0x41e4 014631 bbit1 app_disc_after_reconn ,mouse_event_light_state_hibernate 
+0x41e5 014632 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+0x41e6 014633 branch mouse_start_discovery 
+:      014634 mouse_bb_discon_clear_stack:
+0x41e7 014635 setarg 0 
+0x41e8 014636 store 8 ,mem_wheel_tb_old_pinlevel 
+0x41e9 014637 istore 4 ,contw 
+0x41ea 014638 jam 0 ,mem_mouse_send_blank_timer 
+0x41eb 014639 jam 0 ,mem_mouse_move_flag 
+0x41ec 014640 jam app_handshake_null ,mem_app_handshake_flag 
+0x41ed 014641 jam 0 ,mem_ltk_exists 
+0x41ee 014642 rtn 
+:      014644 mouse_event_light_state_pairing:
+0x41ef 014645 bbit1 app_disc_after_handshake ,mouse_event_light_state_hibernate 
+0x41f0 014646 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+0x41f1 014647 branch mouse_start_discovery 
+:      014648 mouse_event_light_state_hibernate:
+0x41f2 014649 fetch 2 ,mem_ui_state_map 
+0x41f3 014650 bbit1 ui_state_btn_down ,mouse_start_discovery 
+0x41f4 014651 branch app_bb_hibernate 
+:      014653 mouse4_0_event_bb_disconn:
+0x41f5 014654 call mouse_le_clean_connect_flag 
+0x41f6 014655 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+0x41f7 014656 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+0x41f8 014657 branch app_bb_hibernate 
+:      014659 mouse_bb_event_timer:
+0x41f9 014660 call mouse_adc_read 
+0x41fa 014661 call mouse_24g_delay_timer 
+0x41fb 014662 call mouse_ban_24g_pairing_timer 
+0x41fc 014663 call mouse_dpi_led_blink_delay_timer 
+0x41fd 014664 call mouse_statue_up_timer 
+0x41fe 014666 call mouse_statue_cheak_timer 
+0x41ff 014667 call mouse_select_device 
+0x4200 014668 call mouse_bt_discovery_cheak 
+0x4201 014669 call mouse_low_voltage_led_timer 
+0x4202 014670 call mouse_sensor_led_contrl_timer 
+0x4203 014671 call mouse_check_hid_handshake_timer 
+0x4204 014672 call mouse_check_discovery_timeout_timer 
+0x4205 014673 call mouse_check_direct_timeout_timer 
+0x4206 014674 call mouse_check_no_data_timeout_timer 
+0x4207 014675 call mouse_check_mouse_state_timer 
+0x4208 014676 branch mouse_le_enable_att_list_timer 
+:      014680 mouse_sensor_led_contrl_timer:
+0x4209 014681 fetch 1 ,mem_mouse_sensor_timer_count 
+0x420a 014682 rtn blank 
+0x420b 014683 increase -1 ,pdata 
+0x420c 014684 store 1 ,mem_mouse_sensor_timer_count 
+0x420d 014685 nrtn blank 
+0x420e 014686 branch mouse_sensor_led_contrl 
+:      014687 mouse_sensor_led_contrl:
+0x420f 014688 fetch 1 ,mem_sensor_led_style 
+0x4210 014689 rtneq ui_led_state_blink_stop 
+0x4211 014690 beq ui_led_state_blink_darking ,mouse_sensor_led_blink_state_darking 
+:      014691 mouse_sensor_led_blink_state_lighting:
+0x4212 014692 call mouse_sensor_led_on 
+0x4213 014693 jam ui_led_state_blink_darking ,mem_sensor_led_style 
+0x4214 014694 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x4215 014695 rtn 
+:      014696 mouse_sensor_led_blink_state_darking:
+0x4216 014697 call mouse_sensor_led_off 
+0x4217 014698 jam ui_led_state_blink_lighting ,mem_sensor_led_style 
+0x4218 014699 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x4219 014700 rtn 
+:      014702 mouse_sensor_led_blink_stop:
+:      014703 mouse_sensor_reset:
+0x421a 014704 setarg 0x8006 
+0x421b 014705 call twspi_write 
+0x421c 014706 nop 1000 
+0x421d 014707 jam 0x00 ,mem_mouse_sensor_timer_count 
+0x421e 014708 jam ui_led_state_blink_stop ,mem_sensor_led_style 
+0x421f 014709 branch mouse_init_p32xx_id2_judge 
+:      014711 mouse_p3212sensor_led_on:
+0x4220 014712 setarg 0xa006 
+0x4221 014713 call twspi_write 
+0x4222 014714 setarg 0xa005 
+0x4223 014715 branch twspi_write 
+:      014716 mouse_sensor_led_on_global:
+0x4224 014717 jam 0 ,mem_mouse_sensor_timer_count 
+:      014718 mouse_sensor_led_on:
+0x4225 014719 fetch 1 ,mem_config_sensor_type 
+0x4226 014720 beq p3212 ,mouse_p3212sensor_led_on 
+0x4227 014721 setarg 0x0106 
+0x4228 014722 call twspi_write 
+0x4229 014723 setarg 0xa105 
+0x422a 014724 branch twspi_write 
+:      014726 mouse_sensor_led_off_global:
+0x422b 014727 jam 0 ,mem_mouse_sensor_timer_count 
+:      014728 mouse_sensor_led_off:
+0x422c 014729 setarg 0x0906 
+0x422d 014730 branch twspi_write 
+:      014731 mouse_sensor_start_blink:
+0x422e 014732 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+0x422f 014733 jam ui_led_state_blink_start ,mem_sensor_led_style 
+0x4230 014734 rtn 
+:      014736 mouse_check_hid_handshake_timer:
+0x4231 014737 arg mem_hid_handshake_timer_count ,regc 
+0x4232 014738 arg mouse_bt_hid_handshake ,regb 
+0x4233 014739 branch timer_single_step 
+:      014741 mouse_check_discovery_timeout_timer:
+0x4234 014742 arg mem_mouse_discovery_timer ,regc 
+0x4235 014743 arg mouse_check_discovery_timeout ,regb 
+0x4236 014744 branch timer_single_step_2b 
+:      014746 mouse_check_direct_timeout_timer:
+0x4237 014747 arg mem_mouse_direct_timer ,regc 
+0x4238 014748 arg mouse_check_direct_timeout ,regb 
+0x4239 014749 branch timer_single_step_2b 
+:      014751 mouse_check_no_data_timeout_timer:
+0x423a 014752 arg mem_mouse_no_data_timer ,regc 
+0x423b 014753 arg mouse_check_no_data_timeout ,regb 
+0x423c 014754 branch timer_single_step_2b 
+:      014756 mouse_check_mouse_state_timer:
+0x423d 014757 arg mem_mouse_statue_led_timer ,regc 
+0x423e 014758 arg mouse_statue_led_off ,regb 
+0x423f 014759 branch timer_single_step 
+:      014763 mouse_le_enable_att_list_timer:
+0x4240 014764 arg mem_le_start_encrypt_timer ,regc 
+0x4241 014765 arg mouse_le_enable_att_list ,regb 
+0x4242 014766 branch timer_single_step 
+:      014768 mouse_24g_delay_timer:
+0x4243 014769 arg mem_24g_enter_lpm_timer ,regc 
+0x4244 014770 arg mouse_24g_delay ,regb 
+0x4245 014771 branch timer_single_step 
+:      014773 mouse_ban_24g_pairing_timer:
+0x4246 014774 arg mem_24g_pairing_timer_count ,regc 
+0x4247 014775 arg mouse_ban_24g_pairing ,regb 
+0x4248 014776 branch timer_single_step_2b 
+:      014777 mouse_ban_24g_pairing:
+:      014778 mouse_24g_delay:
+0x4249 014779 rtn 
+:      014782 mosue_dpi_led_blink_init:
+0x424a 014783 fetch mouse_flag_len ,mem_mouse_flag 
+0x424b 014784 rtnbit0 mouse_enable_dpi_led_blink 
+0x424c 014785 jam 10 ,mem_mouse_dpi_led_delay_count 
+0x424d 014786 fetch 1 ,mem_dpi_led_gpio 
+0x424e 014787 store 1 ,mem_mouse_struct_led_gpio 
+0x424f 014788 rtn 
+:      014791 mouse_dpi_led_blink_delay_timer:
+0x4250 014792 arg mem_mouse_dpi_led_delay_count ,regc 
+0x4251 014793 arg mouse_dpi_led_setting ,regb 
+0x4252 014794 branch timer_single_step 
+:      014795 mouse_dpi_led_setting:
+0x4253 014796 fetch 1 ,mem_dpi_led_gpio 
+0x4254 014797 store 1 ,mem_mouse_struct_led_gpio 
+0x4255 014798 setarg led_dpi_blink 
+0x4256 014799 store 2 ,mem_mouse_on_time 
+0x4257 014800 store 2 ,mem_mouse_off_time 
+0x4258 014801 arg 0 ,rega 
+0x4259 014802 fetcht 1 ,mem_mouse_dpi 
+0x425a 014803 increase 1 ,temp 
+0x425b 014804 storet 1 ,mem_mouse_blink_count 
+0x425c 014805 jam ui_led_state_blink_start ,mem_mouse_led_type 
+0x425d 014806 rtn 
+:      014808 mouse_le_enable_att_list:
+0x425e 014809 fetch 1 ,mem_le_connect_status_flag 
+0x425f 014810 rtnbit1 ll_pairing_success_flag 
+0x4260 014811 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+0x4261 014812 call ui_ipc_send_cmd 
+0x4262 014813 arg write_req_enable_flag ,queue 
+0x4263 014814 branch mouse_le_enable_connect_flag 
+:      014817 mouse_check_discovery_timeout:
+0x4264 014818 call mouse_stop_discovery 
+0x4265 014819 branch app_enter_hibernate 
+:      014821 mouse_check_direct_timeout:
+0x4266 014822 call app_ble_stop_direct_adv 
+0x4267 014823 fetch 1 ,mem_reconn_times 
+0x4268 014824 nbranch mouse_polling_device ,blank 
+0x4269 014825 branch app_enter_hibernate 
+:      014827 mouse_check_no_data_timeout:
+0x426a 014828 bmark1 mark_24g ,check_51cmd_hibernate 
+0x426b 014829 branch mouse_disconnect 
+:      014833 mouse_bb_event_discovery_btn:
+0x426c 014834 bpatch patch1d_2 ,mem_patch1d 
+0x426d 014835 jam 0 ,mem_mouse_send_blank_timer 
+0x426e 014836 call mouse_disconnect 
+0x426f 014837 call mouse_le_clean_connect_flag 
+0x4270 014838 branch mouse_start_discovery 
+:      014842 mouse3_0_check_reconn_target:
+0x4271 014843 fetch 6 ,mem_hci_plap 
+0x4272 014844 branch app_bt_start_discovery_short ,blank 
+0x4273 014845 call mouse_reconn_setting_led_gpio 
+0x4274 014846 jam 0x17 ,mem_connection_options 
+0x4275 014847 fetch 1 ,mem_ssp_enable 
+0x4276 014848 nbranch app_bt_start_reconnect ,blank 
+0x4277 014849 jam 0x04 ,mem_connection_options 
+0x4278 014850 branch app_bt_start_reconnect 
+:      014852 mouse4_0_check_reconn_target:
+0x4279 014853 fetch 2 ,mem_mouse_direct_timeout 
+0x427a 014854 store 2 ,mem_mouse_direct_timer 
+0x427b 014855 call mouse_reconn_setting_led_gpio 
+0x427c 014856 call app_lpm_mult_disable 
+0x427d 014857 branch check_51cmd_adv 
+:      014859 mouse_reconn_setting_led_gpio:
+0x427e 014860 setarg led_reconnect_blink 
+0x427f 014861 store 2 ,mem_mouse_on_time 
+0x4280 014862 store 2 ,mem_mouse_off_time 
+0x4281 014863 branch mouse_setting_led_gpio_comman 
+:      014865 mouse_discover_setting_led_gpio:
+0x4282 014866 setarg led_discovery_blink 
+0x4283 014867 store 2 ,mem_mouse_on_time 
+0x4284 014868 store 2 ,mem_mouse_off_time 
+:      014869 mouse_setting_led_gpio_comman:
+0x4285 014870 fetch 1 ,mem_device_flag 
+0x4286 014871 beq mode_bt_device1 ,mouse_device_led1 
+0x4287 014872 beq mode_bt_device2 ,mouse_device_led2 
+0x4288 014873 beq mode_bt_device3 ,mouse_device_led3 
+0x4289 014874 rtn 
+:      014875 mouse_device_led1:
+0x428a 014876 fetch 1 ,mem_config_device1_led_gpio 
+0x428b 014877 branch mouse_led_blink 
+:      014878 mouse_device_led2:
+0x428c 014879 fetch 1 ,mem_config_device2_led_gpio 
+0x428d 014880 branch mouse_led_blink 
+:      014881 mouse_device_led3:
+0x428e 014882 fetch 1 ,mem_config_device3_led_gpio 
+:      014883 mouse_led_blink:
+0x428f 014884 store 1 ,mem_temp 
+0x4290 014885 call mouse_devce_led_off 
+0x4291 014886 fetch 1 ,mem_temp 
+0x4292 014887 store 1 ,mem_mouse_struct_led_gpio 
+0x4293 014888 arg 0 ,rega 
+0x4294 014889 jam ui_led_state_blink_start ,mem_mouse_led_type 
+0x4295 014890 branch ui_led_blink_start_global 
+:      014892 mouse_led_off:
+0x4296 014893 arg 0 ,rega 
+0x4297 014894 branch ui_led_off_global 
+:      014895 mouse_led_on:
+0x4298 014896 arg 0 ,rega 
+0x4299 014897 branch ui_led_on_global 
+:      014899 mouse4_0_bb_event_discovery_btn:
+0x429a 014900 branch mouse_le_clean_connect_flag 
+:      014902 mouse_bt_hid_handshake:
+0x429b 014903 jam app_handshake_done ,mem_app_handshake_flag 
+0x429c 014904 call app_lpm_mult_enable 
+0x429d 014905 call app_bt_store_reconn_info 
+0x429e 014906 setarg 0 
+0x429f 014907 store 2 ,mem_discovery_timeout_timer_count 
+0x42a0 014908 store 1 ,mem_hid_handshake_timer_count 
+0x42a1 014909 branch app_bt_enter_sniff 
+:      014911 mouse_check_reconn_target:
+0x42a2 014912 call mouse_cheak_select_device_by_switch 
+0x42a3 014913 fetch 1 ,mem_device_flag 
+0x42a4 014914 fetcht 1 ,mem_24g_device_number 
+0x42a5 014915 isub temp ,null 
+0x42a6 014916 branch mouse_connect_24g_mode ,zero 
+0x42a7 014917 fetch 1 ,mem_xrecord_mode 
+0x42a8 014918 beq rec_3_mode ,mouse3_0_check_reconn_target 
+0x42a9 014919 beq rec_4_mode ,mouse4_0_check_reconn_target 
+0x42aa 014920 branch mouse_start_discovery 
+:      014921 mouse_connect_24g_mode:
+0x42ab 014922 call mouse_start_24g_mode 
+0x42ac 014923 rtnmark1 mark_24g 
+0x42ad 014924 fetch 1 ,mem_reconn_times 
+0x42ae 014925 nbranch mouse_polling_device ,blank 
+0x42af 014926 rtn 
+:      014928 mouse_start_discovery:
+0x42b0 014929 bpatch patch1d_3 ,mem_patch1d 
+0x42b1 014930 fetch 2 ,mem_ui_state_map 
+0x42b2 014931 bbit1 ui_state_ble_adv ,mouse_start_discovery_norandom 
+0x42b3 014932 fetch mouse_flag_len ,mem_mouse_flag 
+0x42b4 014933 bbit0 mouse_enable_ble_random_addre ,mouse_start_discovery_norandom 
+0x42b5 014934 random pdata 
+0x42b6 014935 store 1 ,mem_le_lap + 1 
+:      014936 mouse_start_discovery_norandom:
+0x42b7 014937 call app_lpm_mult_disable 
+0x42b8 014938 fetch 2 ,mem_discovery_timeout 
+0x42b9 014939 store 2 ,mem_mouse_discovery_timer 
+0x42ba 014940 jam 6 ,mem_connection_options 
+0x42bb 014941 setarg 0 
+0x42bc 014942 store 2 ,mem_mouse_no_data_timer 
+0x42bd 014943 store 2 ,mem_mouse_direct_timer 
+0x42be 014944 arg mouse_store_eeprom_flag ,queue 
+0x42bf 014945 call mouse_enable_function_flag 
+0x42c0 014946 call mouse_bt_discovery_button_down_disable 
+0x42c1 014947 fetch 1 ,mem_device_option 
+0x42c2 014948 isolate1 mode_4_mouse ,pdata 
+0x42c3 014949 call check_51cmd_adv ,true 
+0x42c4 014950 fetch 1 ,mem_device_option 
+0x42c5 014951 isolate1 mode_3_mouse ,pdata 
+0x42c6 014952 call check_51cmd_start_discovery ,true 
+0x42c7 014953 fetch mouse_flag_len ,mem_mouse_flag 
+0x42c8 014954 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_start_blink 
+0x42c9 014955 branch mouse_discover_setting_led_gpio 
+:      014957 mouse_stop_discovery:
+0x42ca 014958 bpatch patch1d_4 ,mem_patch1d 
+0x42cb 014959 fetch 1 ,mem_device_option 
+0x42cc 014960 isolate1 mode_4_mouse ,pdata 
+0x42cd 014961 call mouse_stop_le_adv ,true 
+0x42ce 014962 fetch 1 ,mem_device_option 
+0x42cf 014963 isolate1 mode_3_mouse ,pdata 
+0x42d0 014964 call mouse_stop_bt3_discovery ,true 
+0x42d1 014965 fetch mouse_flag_len ,mem_mouse_flag 
+0x42d2 014966 bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_led_blink_stop 
+0x42d3 014967 branch mouse_devce_led_off 
+:      014968 mouse_stop_le_adv:
+0x42d4 014969 setarg 0 
+0x42d5 014970 store 2 ,mem_mouse_direct_timer 
+0x42d6 014971 branch check_51cmd_stop_adv 
+:      014972 mouse_stop_bt3_discovery:
+0x42d7 014973 setarg 0 
+0x42d8 014974 store 2 ,mem_mouse_discovery_timer 
+0x42d9 014975 branch check_51cmd_stop_discovery 
+:      014981 mouse_store_remote_bdaddr:
+0x42da 014982 fetch mouse_flag_len ,mem_mouse_flag 
+0x42db 014983 rtnbit0 mouse_store_eeprom_flag 
+0x42dc 014984 arg mouse_store_eeprom_flag ,queue 
+0x42dd 014985 call mouse_disable_function_flag 
+0x42de 014986 call mouse_check_device_addr 
+:      014987 mouse_unplug_clean_bdaddr:
+0x42df 014988 call mouse_before_store_reconn_info 
+0x42e0 014989 fetch mouse_flag_len ,mem_mouse_flag 
+0x42e1 014990 bbit1 mouse_enable_flash ,mouse_store_flash_device_info 
+0x42e2 014991 bbit1 mouse_enable_eeprom ,mouse_store_eeprom_device_info 
+0x42e3 014992 rtn 
+:      014993 mouse_store_eeprom_device_info:
+0x42e4 014994 arg 88 ,temp 
+0x42e5 014995 arg mem_device_flag ,rega 
+0x42e6 014996 arg mouse_info_eeprom_offect ,regb 
+0x42e7 014997 branch iicd_write_protect_eep_data 
+:      014999 mouse_check_device_addr:
+0x42e8 015000 fetch 1 ,mem_record_bt_mode 
+0x42e9 015001 beq rec_4_mode ,mouse_check_le_device_addr 
+0x42ea 015002 beq rec_3_mode ,mouse_check_bt_device_addr 
+0x42eb 015003 rtn 
+:      015004 mouse_check_le_device_addr:
+0x42ec 015005 store 1 ,mem_device_addr_temp 
+0x42ed 015006 fetch 6 ,mem_le_plap 
+0x42ee 015007 branch mouse_check_bt_device_addr_common 
+:      015008 mouse_check_bt_device_addr:
+0x42ef 015009 store 1 ,mem_device_addr_temp 
+0x42f0 015010 fetch 6 ,mem_plap 
+:      015011 mouse_check_bt_device_addr_common:
+0x42f1 015012 store 6 ,mem_device_addr_temp + 1 
+0x42f2 015013 fetch 7 ,mem_device_addr_temp 
+0x42f3 015014 arg mem_device1_type ,contr 
+0x42f4 015015 arg 3 ,loopcnt 
+:      015016 mouse_check_device_addr_end:
+0x42f5 015017 ifetcht 7 ,contr 
+0x42f6 015018 isub temp ,null 
+0x42f7 015019 branch mouse_clean_addr ,zero 
+0x42f8 015020 increase 22 ,contr 
+0x42f9 015021 loop mouse_check_device_addr_end 
+0x42fa 015022 rtn 
+:      015023 mouse_before_store_reconn_info:
+0x42fb 015024 arg mem_device1_type ,rega 
+0x42fc 015025 fetch 1 ,mem_device_flag 
+0x42fd 015026 increase -1 ,pdata 
+0x42fe 015027 mul32 pdata ,29 ,pdata 
+0x42ff 015028 iadd rega ,rega 
+0x4300 015029 fetch 1 ,mem_record_bt_mode 
+0x4301 015030 istore 1 ,rega 
+0x4302 015031 beq rec_4_mode ,mouse_store_le_device 
+0x4303 015032 beq rec_3_mode ,mouse_store_bt_device 
+0x4304 015033 rtn 
+:      015035 mouse_store_le_device:
+0x4305 015036 fetch 6 ,mem_le_plap 
+0x4306 015037 istore 6 ,contw 
+0x4307 015038 arg mem_le_ltk ,contr 
+0x4308 015039 call memcpy16 
+0x4309 015040 fetch 6 ,mem_le_lap 
+0x430a 015041 istore 6 ,contw 
+0x430b 015042 rtn 
+:      015043 mouse_store_bt_device:
+0x430c 015044 fetch 6 ,mem_plap 
+0x430d 015045 istore 6 ,contw 
+0x430e 015046 arg mem_link_key ,contr 
+0x430f 015047 branch memcpy16 
+:      015049 mouse_clean_addr:
+0x4310 015050 increase -6 ,contr 
+0x4311 015051 copy contr ,contw 
+0x4312 015052 fetcht 6 ,mem_device_addr_temp + 1 
+0x4313 015053 increase 3 ,temp 
+0x4314 015054 istoret 6 ,contw 
+0x4315 015055 rtn 
+:      015059 mouse_eeprom_load_recon_info:
+0x4316 015060 arg 88 ,temp 
+0x4317 015061 arg mem_device_flag ,rega 
+0x4318 015062 arg mouse_info_eeprom_offect ,regb 
+0x4319 015063 call iicd_read_eep_data 
+:      015064 mouse_select_reconn_device:
+0x431a 015065 arg mem_device1_type ,rega 
+0x431b 015066 fetch 1 ,mem_device_flag 
+0x431c 015067 fetcht 1 ,mem_24g_device_number 
+0x431d 015068 isub temp ,null 
+0x431e 015069 rtn zero 
+0x431f 015070 increase -1 ,pdata 
+0x4320 015071 mul32 pdata ,29 ,pdata 
+0x4321 015072 iadd rega ,rega 
+0x4322 015073 ifetch 1 ,rega 
+0x4323 015074 store 1 ,mem_xrecord_mode 
+0x4324 015075 beq rec_3_mode ,mouse_load_bt_device 
+0x4325 015076 beq rec_4_mode ,mouse_load_le_device 
+0x4326 015077 rtn 
+:      015079 mouse_load_bt_device:
+0x4327 015080 ifetch 6 ,contr 
+:      015081 mouse_load_bt_device_end:
+0x4328 015082 store 6 ,mem_hci_plap 
+0x4329 015083 arg mem_link_key ,contw 
+0x432a 015084 call memcpy16 
+0x432b 015085 branch check_link_key_load 
+:      015087 mouse_load_le_device:
+0x432c 015088 ifetch 6 ,contr 
+:      015089 mouse_load_le_device_end:
+0x432d 015090 store 6 ,mem_hci_plap 
+0x432e 015091 arg mem_le_ltk ,contw 
+0x432f 015092 call memcpy16 
+0x4330 015093 ifetch 6 ,contr 
+0x4331 015094 store 6 ,mem_le_lap 
+0x4332 015095 rtn 
+:      015098 mouse_select_device:
+0x4333 015099 fetch 1 ,mem_config_function_enable 
+0x4334 015100 bbit1 enable_select_device_by_gpio_button ,mouse_select_device_by_button 
+0x4335 015101 bbit1 enable_select_device_by_switch ,mouse_select_device_by_switch 
+0x4336 015102 branch mouse_select_device_by_combination_key 
+:      015104 mouse_select_device_by_combination_key:
+0x4337 015105 call mouse_check_key_gpio 
+0x4338 015106 beq mouse_rm_button ,mouse_select_device_commbination_key_down 
+:      015107 mouse_select_device_commbination_key_up:
+0x4339 015108 jam 30 ,mem_combination_select_device_count 
+0x433a 015109 fetch 1 ,mem_select_device_button_statue 
+0x433b 015110 rtneq dpi_button_state_up 
+0x433c 015111 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x433d 015112 rtn 
+:      015114 mouse_select_device_commbination_key_down:
+0x433e 015115 call mouse_combination_select_device_timer 
+0x433f 015116 fetch 1 ,mem_select_device_button_statue 
+0x4340 015117 rtneq dpi_button_state_down 
+0x4341 015118 jam dpi_button_state_down ,mem_select_device_button_statue 
+0x4342 015119 branch mouse_select_device_enable 
+:      015121 mouse_combination_select_device_timer:
+0x4343 015122 fetch 1 ,mem_combination_select_device_count 
+0x4344 015123 rtn blank 
+0x4345 015124 pincrease -1 
+0x4346 015125 store 1 ,mem_combination_select_device_count 
+0x4347 015126 nrtn blank 
+0x4348 015127 branch mouse_ready_reconnection_by_button 
+:      015129 mouse_select_device_by_button:
+0x4349 015130 fetch 1 ,mem_config_select_device_button_gpio 
+0x434a 015131 rtneq gpio_disable 
+0x434b 015132 fetcht 1 ,mem_config_select_device_button_gpio 
+0x434c 015133 call gpio_get_bit 
+0x434d 015134 branch mouse_select_device_button_down ,true 
+:      015135 mouse_select_device_button_up:
+0x434e 015136 fetch 1 ,mem_select_device_button_statue 
+0x434f 015137 rtneq dpi_button_state_up 
+0x4350 015138 jam dpi_button_state_up ,mem_select_device_button_statue 
+0x4351 015139 fetch mouse_flag_len ,mem_mouse_flag 
+0x4352 015140 rtnbit1 mouse_long_bt_button_flag 
+0x4353 015141 branch mouse_ready_reconnection_by_button 
+:      015143 mouse_select_device_button_down:
+0x4354 015144 fetch 1 ,mem_select_device_button_statue 
+0x4355 015145 rtneq dpi_button_state_down 
+0x4356 015146 jam dpi_button_state_down ,mem_select_device_button_statue 
+0x4357 015147 arg mouse_long_bt_button_flag ,queue 
+0x4358 015148 branch mouse_disable_function_flag 
+:      015152 mouse_select_device_by_switch:
+0x4359 015153 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x435a 015154 rtnbit0 enable_select_device_by_switch 
+0x435b 015155 fetch 1 ,mem_device_flag 
+0x435c 015156 beq mode_bt_device1 ,mouse_select1_device 
+0x435d 015157 beq mode_24g_device ,mouse_select2_device 
+0x435e 015158 rtn 
+:      015159 mouse_cheak_select_device_by_switch:
+0x435f 015160 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+0x4360 015161 rtnbit0 enable_select_device_by_switch 
+0x4361 015162 fetcht 1 ,mem_config_select_device_button_gpio 
+0x4362 015163 call gpio_get_bit 
+0x4363 015164 branch mouse_cheak_select_24gdevice ,true 
+:      015165 mouse_select_btdevice:
+0x4364 015166 jam mode_bt_device1 ,mem_device_flag 
+0x4365 015167 rtn 
+:      015168 mouse_cheak_select_24gdevice:
+0x4366 015169 fetch 1 ,mem_24g_device_number 
+0x4367 015170 store 1 ,mem_device_flag 
+0x4368 015171 rtn 
+:      015172 mouse_select1_device:
+0x4369 015173 fetcht 1 ,mem_config_select_device_button_gpio 
+0x436a 015174 nbranch mouse_ready_reconnection_by_button ,true 
+0x436b 015175 rtn 
+:      015176 mouse_select2_device:
+0x436c 015177 fetcht 1 ,mem_config_select_device_button_gpio 
+0x436d 015178 call gpio_get_bit 
+0x436e 015179 branch mouse_select_device_button_down ,true 
+0x436f 015180 rtn 
+:      015185 mouse_ready_reconnection_by_button:
+0x4370 015186 fetcht 1 ,mem_device_flag 
+0x4371 015187 increase 1 ,temp 
+0x4372 015188 fetch 1 ,mem_device_number 
+0x4373 015189 isub temp ,null 
+0x4374 015190 ncall mouse_select_device_count_clean ,positive 
+0x4375 015191 storet 1 ,mem_device_flag 
+0x4376 015192 jam 0 ,mem_link_key_exists 
+0x4377 015193 call mouse_store_device_number2eeprom 
+0x4378 015194 call mouse_select_device_enable 
+0x4379 015196 branch mouse_set_reconnection 
+:      015198 mouse_store_device_number2eeprom:
+0x437a 015199 arg 1 ,temp 
+0x437b 015200 arg mem_device_flag ,rega 
+0x437c 015201 arg 0 ,regb 
+0x437d 015202 branch iicd_write_eep_data 
+:      015204 mouse_set_reconnection:
+0x437e 015205 call mouse_stop_bluetooth_mode 
+0x437f 015206 call mouse_select_device_disable 
+0x4380 015207 branch mouse_soft_reset 
+:      015208 mouse_stop_bluetooth_mode:
+0x4381 015209 fetch 2 ,mem_ui_state_map 
+0x4382 015210 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+0x4383 015211 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x4384 015212 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x4385 015213 branch mouse_stop_discovery 
+:      015215 mouse_disconnect:
+0x4386 015216 bpatch patch1d_5 ,mem_patch1d 
+0x4387 015217 setarg 0 
+0x4388 015218 store 2 ,mem_mouse_no_data_timer 
+0x4389 015219 fetch 2 ,mem_ui_state_map 
+0x438a 015220 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x438b 015221 fetch 2 ,mem_ui_state_map 
+0x438c 015222 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x438d 015223 rtn 
+:      015225 mouse_irtual_cable_unplug:
+0x438e 015226 setarg 0x01 
+0x438f 015227 store 6 ,mem_plap 
+0x4390 015228 jam rec_3_mode ,mem_record_bt_mode 
+0x4391 015229 branch mouse_unplug_clean_bdaddr 
+:      015232 mouse_cancel_reconnect:
+0x4392 015233 call mouse_bt_cannel_reconn_enable 
+0x4393 015234 branch check_51cmd_bb_reconn_cancel 
+:      015236 mouse_bt_discovery_by_button:
+0x4394 015237 fetch 1 ,mem_config_bt_button_gpio 
+0x4395 015238 rtneq gpio_disable 
+0x4396 015239 fetcht 1 ,mem_config_bt_button_gpio 
+0x4397 015240 call gpio_get_bit 
+0x4398 015241 branch mouse_bt_discovery_button_down ,true 
+:      015242 mouse_bt_discovery_button_up:
+0x4399 015243 fetch 1 ,mem_ui_button_timeout 
+0x439a 015244 store 1 ,mem_combination_ui_button_count 
+0x439b 015245 fetch 1 ,mem_bt_discovey_button_statue 
+0x439c 015246 rtneq dpi_button_state_up 
+0x439d 015247 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+0x439e 015248 branch mouse_bt_discovery_button_down_disable 
+:      015249 mouse_bt_discovery_button_down:
+0x439f 015250 call mouse_bt_discovry_timer 
+0x43a0 015251 fetch 1 ,mem_bt_discovey_button_statue 
+0x43a1 015252 rtneq dpi_button_state_down 
+0x43a2 015253 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+0x43a3 015254 call check_51cmd_bb_reconn_cancel 
+0x43a4 015255 branch mouse_bt_discovery_button_down_enable 
+:      015258 mouse_bt_discovery_cheak:
+0x43a5 015259 fetch 1 ,mem_config_function_enable 
+0x43a6 015260 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
+:      015261 mouse_bt_discovery_commbination_key:
+0x43a7 015262 call mouse_check_key_gpio 
+0x43a8 015263 beq mouse_lmr_button ,mouse_bt_discovery_commbination_key_down 
+:      015264 mouse_bt_discovery_commbination_key_up:
+0x43a9 015265 fetch 1 ,mem_ui_button_timeout 
+0x43aa 015266 store 1 ,mem_combination_ui_button_count 
+0x43ab 015267 fetch 1 ,mem_bt_discovey_button_statue 
+0x43ac 015268 rtneq dpi_button_state_up 
+0x43ad 015269 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+0x43ae 015270 branch mouse_bt_discovery_button_down_disable 
+:      015273 mouse_bt_discovery_commbination_key_down:
+0x43af 015274 call mouse_bt_discovry_timer 
+0x43b0 015275 fetch 1 ,mem_bt_discovey_button_statue 
+0x43b1 015276 rtneq dpi_button_state_down 
+0x43b2 015277 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+0x43b3 015278 call check_51cmd_bb_reconn_cancel 
+0x43b4 015279 branch mouse_bt_discovery_button_down_enable 
+:      015281 mouse_bt_discovry_timer:
+0x43b5 015282 arg mem_combination_ui_button_count ,regc 
+0x43b6 015283 arg mouse_long_button_bt_discovry ,regb 
+0x43b7 015284 branch timer_single_step 
+:      015286 mouse_long_button_bt_discovry:
+0x43b8 015287 arg mouse_long_bt_button_flag ,queue 
+0x43b9 015288 call mouse_enable_function_flag 
+0x43ba 015289 call app_evt_button_long_pressed 
+0x43bb 015290 branch mouse_bb_event_discovery_btn 
+:      015293 mouse_cpi_enable:
+0x43bc 015294 arg mouse_cpi_flag ,queue 
+0x43bd 015295 branch mouse_enable_function_flag 
+:      015296 mouse_cpi_disable:
+0x43be 015297 arg mouse_cpi_flag ,queue 
+0x43bf 015298 branch mouse_disable_function_flag 
+:      015299 mouse_select_device_enable:
+0x43c0 015300 arg mouse_select_device_flag ,queue 
+0x43c1 015301 branch mouse_enable_function_flag 
+:      015302 mouse_select_device_disable:
+0x43c2 015303 arg mouse_select_device_flag ,queue 
+0x43c3 015304 branch mouse_disable_function_flag 
+:      015305 mouse_bt_cannel_reconn_enable:
+0x43c4 015306 arg mouse_bt_cannel_reconn_flag ,queue 
+0x43c5 015307 branch mouse_enable_function_flag 
+:      015308 mouse_bt_cannel_reconn_disable:
+0x43c6 015309 arg mouse_bt_cannel_reconn_flag ,queue 
+0x43c7 015310 branch mouse_disable_function_flag 
+:      015311 mouse_bt_discovery_button_down_enable:
+0x43c8 015312 arg mouse_bt_discovery_button_down_flag ,queue 
+0x43c9 015313 branch mouse_enable_function_flag 
+:      015314 mouse_bt_discovery_button_down_disable:
+0x43ca 015315 arg mouse_bt_discovery_button_down_flag ,queue 
+0x43cb 015316 branch mouse_disable_function_flag 
+:      015320 mouse_select_device_count_clean:
+0x43cc 015321 arg 1 ,temp 
+0x43cd 015322 rtn 
+:      015324 mouse_enable_function_flag:
+0x43ce 015325 fetch mouse_flag_len ,mem_mouse_flag 
+0x43cf 015326 qset1 pdata 
+0x43d0 015327 store mouse_flag_len ,mem_mouse_flag 
+0x43d1 015328 rtn 
+:      015330 mouse_disable_function_flag:
+0x43d2 015331 fetch mouse_flag_len ,mem_mouse_flag 
+0x43d3 015332 qset0 pdata 
+0x43d4 015333 store mouse_flag_len ,mem_mouse_flag 
+0x43d5 015334 rtn 
+:      015336 mouse_adc_read:
+0x43d6 015337 fetch mouse_flag_len ,mem_mouse_flag 
+0x43d7 015338 rtnbit0 mouse_enable_adc 
+0x43d8 015339 fetch 1 ,mem_adc_read_timer 
+0x43d9 015340 increase 1 ,pdata 
+0x43da 015341 store 1 ,mem_adc_read_timer 
+0x43db 015342 sub pdata ,10 ,null 
+0x43dc 015343 rtn positive 
+0x43dd 015344 jam 0 ,mem_adc_read_timer 
+0x43de 015345 call adc_set_mode 
+0x43df 015346 call vdd_calculate_by_mode 
+0x43e0 015347 store 2 ,mem_mouse_vdd_now_vol 
+0x43e1 015348 arg mem_mouse_vdd_calculate_set ,rega 
+0x43e2 015349 call adc_bat_percent_lowpower_out 
+0x43e3 015350 fetch 1 ,mem_adc_power_flag 
+0x43e4 015351 bbit1 1 ,mouse_power_down 
+0x43e5 015352 bbit0 0 ,mouse_adc_no_low_voltage 
+0x43e6 015353 branch mouse_adc_low_voltage 
+:      015354 mouse_adc_low_voltage:
+0x43e7 015355 arg mouse_low_voltage_flag ,queue 
+0x43e8 015356 branch mouse_enable_function_flag 
+:      015357 mouse_adc_no_low_voltage:
+0x43e9 015358 arg mouse_low_voltage_flag ,queue 
+0x43ea 015359 branch mouse_disable_function_flag 
+:      015361 mouse_low_voltage_led_timer:
+0x43eb 015362 fetch mouse_flag_len ,mem_mouse_flag 
+0x43ec 015363 rtnbit0 mouse_low_voltage_flag 
+0x43ed 015364 fetch 1 ,mem_config_low_voltage_alarm_gpio 
+0x43ee 015365 store 1 ,mem_mouse_struct_led_gpio 
+0x43ef 015366 fetch 1 ,mem_adc_low_volatage_led_timer_count 
+0x43f0 015367 pincrease 1 
+0x43f1 015368 store 1 ,mem_adc_low_volatage_led_timer_count 
+0x43f2 015369 sub pdata ,20 ,null 
+0x43f3 015370 ncall mouse_adc_low_volatage_led_timer_count_clean ,positive 
+0x43f4 015371 beq 2 ,mouse_low_voltage_led_on 
+0x43f5 015372 beq 4 ,mouse_low_voltage_led_off 
+0x43f6 015373 beq 6 ,mouse_low_voltage_led_on 
+0x43f7 015374 beq 8 ,mouse_low_voltage_led_off 
+0x43f8 015375 rtn 
+:      015376 mouse_adc_low_volatage_led_timer_count_clean:
+0x43f9 015377 jam 1 ,mem_adc_low_volatage_led_timer_count 
+0x43fa 015378 branch mouse_low_voltage_led_off 
+:      015379 mouse_low_voltage_led_on:
+0x43fb 015380 arg 0 ,rega 
+0x43fc 015381 jam ui_led_state_lighting ,mem_mouse_led_type 
+0x43fd 015382 branch ui_led_on_global 
+:      015383 mouse_low_voltage_led_off:
+0x43fe 015384 arg 0 ,rega 
+0x43ff 015385 jam ui_led_state_lighting ,mem_mouse_led_type 
+0x4400 015386 branch ui_led_off_global 
+:      015388 mouse_g24_package_data:
+0x4401 015389 call mouse_motion 
+0x4402 015390 nrtn user 
+0x4403 015391 arg 7 ,rega 
+0x4404 015392 arg mem_mouse_key ,regb 
+0x4405 015393 rtn 
+:      015395 mouse_g24_enter_lpm:
+0x4406 015396 fetch 1 ,mem_mouse_24g_enter_lpm_enable 
+0x4407 015397 rtn blank 
+0x4408 015399 fetcht 1 ,mem_dpi_button_gpio 
+0x4409 015400 call gpio_get_bit 
+0x440a 015401 call mouse_24g_dpi_delay_init ,true 
+0x440b 015402 fetch 1 ,mem_24g_enter_lpm_timer 
+0x440c 015403 nrtn blank 
+0x440d 015404 call mouse_check_key_gpio 
+0x440e 015405 nrtn blank 
+0x440f 015406 branch g24_lpm_long_sleep 
+:      015408 mouse_24g_dpi_delay_init:
+0x4410 015409 fetch 1 ,mem_dpi_button_gpio 
+0x4411 015410 rtneq ui_button_gpio_disable 
+0x4412 015411 jam 10 ,mem_24g_enter_lpm_timer 
+0x4413 015412 rtn 
+:      015415 mouse_load_flash_info_cheak:
+0x4414 015416 call mouse_load_flash_flag 
+0x4415 015417 fetch 2 ,mem_store_flag 
+0x4416 015418 arg eeprom_init_flag ,temp 
+0x4417 015419 isub temp ,null 
+0x4418 015420 branch mouse_load_flash_device_info ,zero 
+0x4419 015421 storet 2 ,mem_store_flag 
+0x441a 015422 call mouse_ble_init_address 
+0x441b 015423 branch mouse_store_flash_device_info 
+:      015424 mouse_ble_init_address:
+0x441c 015425 fetch 6 ,mem_le_lap 
+0x441d 015426 store 6 ,mem_device1_locall_addr 
+0x441e 015427 add pdata ,0x0100 ,pdata 
+0x441f 015428 store 6 ,mem_device2_locall_addr 
+0x4420 015429 add pdata ,0x0100 ,pdata 
+0x4421 015430 store 6 ,mem_device3_locall_addr 
+0x4422 015431 rtn 
+:      015434 mouse_load_flash_flag:
+0x4423 015435 setarg mem_store_flag 
+0x4424 015436 arg mem_mouse_information_start ,temp 
+0x4425 015437 isub temp ,temp 
+0x4426 015438 fetch 3 ,mem_flash_base 
+0x4427 015439 iadd temp ,pdata 
+0x4428 015440 arg 2 ,temp 
+0x4429 015441 arg mem_store_flag ,rega 
+0x442a 015442 branch spid_read_flash 
+:      015445 mouse_load_flash_device_info:
+0x442b 015446 setarg mem_mouse_information_end 
+0x442c 015447 arg mem_mouse_information_start ,temp 
+0x442d 015448 isub temp ,temp 
+0x442e 015449 fetch 3 ,mem_flash_base 
+0x442f 015450 arg mem_mouse_information_start ,rega 
+0x4430 015451 call spid_read_flash 
+0x4431 015452 call mouse_select_reconn_device 
+0x4432 015453 fetch 4 ,mem_mouse_24g_addr 
+0x4433 015454 call g24_head_ptr2regc 
+0x4434 015455 branch g24_store_mem_addr 
+:      015457 mouse_store_flash_device_info:
+0x4435 015458 setarg mem_mouse_information_end 
+0x4436 015459 arg mem_mouse_information_start ,temp 
+0x4437 015460 isub temp ,temp 
+0x4438 015461 arg mem_mouse_information_start ,rega 
+0x4439 015462 fetch 3 ,mem_flash_base 
+0x443a 015463 branch flash_write 
+:      015465 mouse_store_eerpom_dpi:
+0x443b 015466 arg 1 ,temp 
+0x443c 015467 arg mem_mouse_dpi ,rega 
+0x443d 015468 arg mouse_dpi_eeprom_offect ,regb 
+0x443e 015469 branch iicd_write_protect_eep_data 
+:      015471 mouse_load_eeprom_dpi:
+0x443f 015472 arg 1 ,temp 
+0x4440 015473 arg mem_mouse_dpi ,rega 
+0x4441 015474 arg mouse_dpi_eeprom_offect ,regb 
+0x4442 015475 branch iicd_read_eep_data 
+:      015477 mouse_statue_cheak_timer:
+0x4443 015478 rtnmark1 mark_24g 
+0x4444 015479 fetch mouse_flag_len ,mem_mouse_flag 
+0x4445 015480 rtnbit0 mouse_enable_statue_up 
+0x4446 015481 fetch 1 ,mem_mouse_1step_up_count 
+0x4447 015482 pincrease 1 
+0x4448 015483 and pdata ,0x07 ,pdata 
+0x4449 015484 store 1 ,mem_mouse_1step_up_count 
+0x444a 015485 rtnne 0x07 
+0x444b 015486 fetch 2 ,mem_ui_state_map 
+0x444c 015487 bbit1 ui_state_bt_connected ,mouse_check_statue_up 
+0x444d 015488 bbit1 ui_state_ble_connected ,mouse_check_statue_up 
+0x444e 015489 rtn 
+:      015494 mouse_check_statue_up:
+0x444f 015495 bpatch patch1d_6 ,mem_patch1d 
+0x4450 015496 fetch 1 ,mem_mouse_2step_up_count 
+0x4451 015497 nrtn blank 
+0x4452 015498 fetch mouse_flag_len ,mem_mouse_flag 
+0x4453 015499 rtnbit0 mouse_statue_up_flag 
+0x4454 015500 fetch 1 ,mem_sensor_squal_reg 
+0x4455 015501 call sensor_read 
+0x4456 015502 store 1 ,mem_sensor_iqc 
+0x4457 015503 sub pdata ,0x10 ,null 
+0x4458 015504 branch mouse_statue_up_timer_init ,positive 
+0x4459 015505 jam 0 ,mem_mouse_2step_up_count 
+0x445a 015506 rtn 
+:      015508 mouse_statue_up_timer_init:
+0x445b 015509 jam 30 ,mem_mouse_2step_up_count 
+0x445c 015510 rtn 
+:      015511 mouse_statue_up_timer:
+0x445d 015512 arg mem_mouse_2step_up_count ,regc 
+0x445e 015513 arg mouse_statue_up ,regb 
+0x445f 015514 branch timer_single_step 
+:      015516 mouse_statue_up:
+0x4460 015517 fetch 1 ,mem_sensor_squal_reg 
+0x4461 015518 call twspi_read 
+0x4462 015519 sub pdata ,0x10 ,null 
+0x4463 015520 nrtn positive 
+0x4464 015521 fetch mouse_flag_len ,mem_mouse_flag 
+0x4465 015522 rtnbit0 mouse_statue_up_flag 
+0x4466 015523 arg mouse_statue_up_flag ,queue 
+0x4467 015524 call mouse_disable_function_flag 
+0x4468 015525 jam 0 ,mem_lpm_mult 
+0x4469 015526 jam 30 ,mem_mouse_statue_led_timer 
+0x446a 015527 call mouse_devce_led_off 
+0x446b 015528 fetch mouse_flag_len ,mem_mouse_flag 
+0x446c 015529 bbit1 mouse_enable_statue_up_three_led ,mouse_three_device_statue_up 
+:      015530 mouse_two_device_statue_up:
+0x446d 015531 fetch 1 ,mem_device_flag 
+0x446e 015532 beq mode_bt_device1 ,mouse_device1_led_on 
+0x446f 015533 beq mode_bt_device2 ,mouse_device_blink_led_init 
+0x4470 015534 rtn 
+:      015535 mouse_three_device_statue_up:
+0x4471 015536 fetch 1 ,mem_device_flag 
+0x4472 015537 beq mode_bt_device1 ,mouse_device1_led_on 
+0x4473 015538 beq mode_bt_device2 ,mouse_device2_led_on 
+0x4474 015539 beq mode_bt_device3 ,mouse_device3_led_on 
+0x4475 015540 rtn 
+:      015542 mouse_device_blink_led_init:
+0x4476 015543 fetch 1 ,mem_config_device1_led_gpio 
+0x4477 015544 branch mouse_led_blink 
+:      015548 mouse_statue_led_off:
+0x4478 015549 jam 0x20 ,mem_lpm_mult 
+0x4479 015550 branch mouse_devce_led_off 
+:      015554 mouse_devce1_led_off:
+0x447a 015555 fetch 1 ,mem_config_device1_led_gpio 
+0x447b 015556 rtneq gpio_disable 
+0x447c 015557 store 1 ,mem_mouse_struct_led_gpio 
+0x447d 015558 branch mouse_led_off 
+:      015560 mouse_devce2_led_off:
+0x447e 015561 fetch 1 ,mem_config_device2_led_gpio 
+0x447f 015562 rtneq gpio_disable 
+0x4480 015563 store 1 ,mem_mouse_struct_led_gpio 
+0x4481 015564 branch mouse_led_off 
+:      015566 mouse_devce_led_off:
+0x4482 015567 call mouse_led_off 
+0x4483 015568 call mouse_devce1_led_off 
+0x4484 015569 call mouse_devce2_led_off 
+:      015570 mouse_devce3_led_off:
+0x4485 015571 fetch 1 ,mem_config_device3_led_gpio 
+0x4486 015572 rtneq gpio_disable 
+0x4487 015573 store 1 ,mem_mouse_struct_led_gpio 
+0x4488 015574 branch mouse_led_off 
+:      015576 mouse_device1_led_on:
+0x4489 015577 fetch 1 ,mem_config_device1_led_gpio 
+0x448a 015578 store 1 ,mem_mouse_struct_led_gpio 
+0x448b 015579 branch mouse_led_on 
+:      015580 mouse_device2_led_on:
+0x448c 015581 fetch 1 ,mem_config_device2_led_gpio 
+0x448d 015582 store 1 ,mem_mouse_struct_led_gpio 
+0x448e 015583 branch mouse_led_on 
+:      015584 mouse_device3_led_on:
+0x448f 015585 fetch 1 ,mem_config_device3_led_gpio 
+0x4490 015586 store 1 ,mem_mouse_struct_led_gpio 
+0x4491 015587 branch mouse_led_on 
+:      015591 mouse_polling_device:
+0x4492 015592 bpatch patch1d_7 ,mem_patch1d 
+0x4493 015593 fetch 1 ,mem_reconn_times 
+0x4494 015594 increase -1 ,pdata 
+0x4495 015595 store 1 ,mem_reconn_times 
+0x4496 015596 fetcht 1 ,mem_device_flag 
+0x4497 015597 increase 1 ,temp 
+0x4498 015598 fetch 1 ,mem_device_number 
+0x4499 015599 isub temp ,null 
+0x449a 015600 ncall mouse_select_device_count_clean ,positive 
+0x449b 015601 storet 1 ,mem_device_flag 
+0x449c 015602 jam 0 ,mem_link_key_exists 
+0x449d 015603 call mouse_store_device_number2eeprom 
+0x449e 015604 call mouse_before_store_reconn_info 
+0x449f 015605 branch mouse_check_reconn_target 
+:      015607 mouse_power_down:
+0x44a0 015608 call mouse_devce_led_off 
+0x44a1 015609 setarg 0 
+0x44a2 015610 store 8 ,mem_gpio_wakeup_low 
+0x44a3 015611 branch lpm_hibernate 
+:      015622 remote_car_init:
+0x44a4 015623 rtn wake 
+0x44a5 015624 hfetch 1 ,core_gpio_sel1 
+0x44a6 015625 and_into 0xf0 ,pdata 
+0x44a7 015626 hstore 1 ,core_gpio_sel1 
+0x44a8 015627 call keyscan_key_init 
+0x44a9 015628 setarg remote_car_le_before_hibernate 
+0x44aa 015629 store 2 ,mem_cb_before_hibernate 
+0x44ab 015631 setarg remote_car_process_lpm_before 
+0x44ac 015632 store 2 ,mem_cb_before_lpm 
+0x44ad 015634 setarg remote_car_scale_process_idle 
+0x44ae 015635 store 2 ,mem_cb_idle_process 
+0x44af 015637 setarg remote_car_scale_process_bb_event 
+0x44b0 015638 store 2 ,mem_cb_bb_event_process 
+0x44b1 015640 setarg app_get_lpm_wake_lock 
+0x44b2 015641 store 2 ,mem_cb_check_wakelock 
+0x44b3 015643 call g24_head_ptr2regc 
+0x44b4 015644 setarg remote_car_g24_package_data 
+0x44b5 015645 add regc ,offset_24g_cb_data ,contw 
+0x44b6 015646 istore 2 ,contw 
+0x44b7 015648 setarg remote_car_g24_enter_lpm 
+0x44b8 015649 add regc ,offset_24g_cb_lpm_prepare ,contw 
+0x44b9 015650 istore 2 ,contw 
+0x44ba 015652 setarg remote_car_process_lpm_before 
+0x44bb 015653 add regc ,offset_24g_cb_lpm_before ,contw 
+0x44bc 015654 istore 2 ,contw 
+0x44bd 015656 setarg remote_car_event_timer 
+0x44be 015657 store 2 ,mem_cb_event_timer 
+0x44bf 015659 setarg remote_car_power_off_signal 
+0x44c0 015660 store 2 ,mem_remote_car_power_off_cb 
+0x44c1 015662 setarg remote_car_soft_switch_power_on_signal 
+0x44c2 015663 store 2 ,mem_remote_car_power_standby_cb 
+0x44c3 015665 setarg remote_car_send_key_data 
+0x44c4 015666 store 2 ,mem_cb_remote_car_keyscan 
+0x44c5 015668 bpatch patch1e_0 ,mem_patch1e 
+0x44c6 015669 call remote_car_init_environment 
+0x44c7 015670 call queue_init 
+0x44c8 015671 jam 2 ,mem_lpm_mult 
+0x44c9 015672 fetch 1 ,mem_remote_car_config_soft_switch_enable 
+0x44ca 015673 store 1 ,mem_remote_car_hard_soft_switch 
+0x44cb 015674 beq hard_switch ,remote_car_hard_switch_power_on_signal 
+0x44cc 015675 fetch 1 ,mem_remote_car_config_soft_switch_gpio 
+0x44cd 015676 store 1 ,mem_ui_button_gpio 
+:      015677 remote_car_soft_switch_power_on_init:
+0x44ce 015678 call remote_car_ui_led_init 
+0x44cf 015679 call ui_button_init 
+0x44d0 015680 call ui_button_polling 
+0x44d1 015681 jam power_starting ,mem_remote_car_power_state 
+0x44d2 015682 fetch 2 ,mem_ui_state_map 
+0x44d3 015683 rtnbit1 ui_state_btn_down 
+0x44d4 015684 branch app_enter_hibernate 
+:      015688 remote_car_hard_switch_power_on_signal:
+0x44d5 015689 jam power_standby ,mem_remote_car_power_state 
+:      015690 remote_car_soft_switch_power_on_signal:
+0x44d6 015691 call remote_car_ui_led_init 
+0x44d7 015693 arg 0 ,rega 
+0x44d8 015694 call ui_led_blink_start_global 
+:      015695 remote_car_connect_24g_mode:
+0x44d9 015696 branch g24_auto_pair_start 
+:      015698 remote_car_power_off_signal:
+0x44da 015699 branch remote_car_ui_led_init 
+:      015701 remote_car_ui_led_init:
+0x44db 015702 bpatch patch1e_1 ,mem_patch1e 
+0x44dc 015703 fetch 1 ,mem_remote_car_config_connect_led_gpio 
+0x44dd 015704 bne invalid_pin_num ,remote_car_pairing_led_gpio_set 
+:      015705 remote_car_ui_led_init_1:
+0x44de 015706 fetcht 1 ,mem_remote_car_led_map 
+0x44df 015707 branch gpio_config_output 
+:      015708 remote_car_pairing_led_gpio_set:
+0x44e0 015709 store 1 ,mem_remote_car_led_map 
+0x44e1 015710 branch remote_car_ui_led_init_1 
+:      015713 remote_car_init_environment:
+0x44e2 015714 call g24_set_device_addr 
+0x44e3 015715 fetch 2 ,mem_remote_car_no_data_timeout 
+0x44e4 015716 store 2 ,mem_remote_car_no_data_timer 
+0x44e5 015717 branch remote_car_get_adc_default_data 
+:      015719 remote_car_le_before_hibernate:
+:      015724 remote_car_in_enter_hibernate:
+0x44e6 015725 call gpio_set_before_lpm_common 
+0x44e7 015726 call remote_car_process_lpm_before 
+0x44e8 015727 branch app_enter_hibernate 
+:      015729 remote_car_process_lpm_before:
+0x44e9 015730 branch keyscan_process_lpm_before 
+:      015732 remote_car_g24_enter_lpm:
+0x44ea 015733 fetch 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44eb 015734 rtn blank 
+0x44ec 015736 branch g24_lpm_long_sleep 
+:      015738 remote_car_process_auto_pair_exit:
+0x44ed 015739 rtn 
+:      015741 remote_car_key_scan_process:
+0x44ee 015742 branch keyscan_key_process 
+:      015744 remote_car_scale_process_idle:
+0x44ef 015745 call remote_car_rocker_process 
+0x44f0 015746 call remote_car_24g_status_process 
+0x44f1 015747 branch remote_car_key_scan_process 
+:      015749 remote_car_scale_process_bb_event:
+0x44f2 015750 copy regc ,pdata 
+0x44f3 015751 beq bt_evt_button_up ,app_event_button_up 
+0x44f4 015752 beq bt_evt_button_long_pressed ,app_button_long_pressed 
+0x44f5 015753 beq bt_evt_24g_pairing_complete ,remote_car_24g_pairing_complete 
+0x44f6 015754 beq bt_evt_24g_attempt_success ,remote_car_24g_attempt_success 
+0x44f7 015755 beq bt_evt_24g_attempt_fail ,remote_car_24g_attempt_fail 
+0x44f8 015756 rtn 
+:      015758 remote_car_24g_attempt_fail:
+0x44f9 015759 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44fa 015760 rtn 
+:      015762 remote_car_24g_pairing_complete:
+0x44fb 015763 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x44fc 015764 jam work_paired ,mem_remote_car_24g_auto_work_step 
+0x44fd 015765 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+0x44fe 015766 rtn 
+:      015768 remote_car_24g_attempt_success:
+0x44ff 015769 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+0x4500 015770 jam work_paired ,mem_remote_car_24g_auto_work_step 
+0x4501 015771 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+0x4502 015772 rtn 
+:      015774 remote_car_24g_status_process:
+0x4503 015775 fetch 1 ,mem_remote_car_24g_auto_work_step 
+0x4504 015776 rtneq power_on 
+0x4505 015777 fetch 1 ,mem_remote_car_24g_status 
+0x4506 015778 rtneq work_paired 
+0x4507 015779 jam work_paired ,mem_remote_car_24g_status 
+:      015780 remote_car_scale_process_paired:
+0x4508 015781 arg 0 ,rega 
+0x4509 015782 branch ui_led_off_global 
+:      015783 remote_car_scale_process_shutdown:
+0x450a 015784 arg 0 ,rega 
+0x450b 015785 call ui_led_off_global 
+0x450c 015786 call remote_car_ui_led_init 
+0x450d 015787 branch app_enter_hibernate 
+:      015789 remote_car_event_timer:
+0x450e 015790 call app_power_timer 
+0x450f 015791 branch remote_car_no_data_timer 
+:      015793 remote_car_no_data_timer:
+0x4510 015794 fetch 1 ,mem_remote_car_config_timeout_shutdown_enable 
+0x4511 015795 rtn blank 
+0x4512 015796 arg mem_remote_car_no_data_timer ,regc 
+0x4513 015797 arg remote_car_scale_process_shutdown ,regb 
+0x4514 015798 branch timer_single_step_2b 
+:      015801 remote_car_get_adc_default_data:
+0x4515 015802 call remote_car_rocker_get_x 
+0x4516 015803 storet 2 ,mem_current_vdd_value_default_mid_x 
+0x4517 015804 call remote_car_rocker_get_y 
+0x4518 015805 storet 2 ,mem_current_vdd_value_default_mid_y 
+0x4519 015806 rtn 
+:      015807 remote_car_rocker_data_get:
+:      015808 remote_car_rocker_get_x:
+0x451a 015809 fetch 2 ,mem_current_vdd_value_default_mid_x 
+0x451b 015810 store 2 ,mem_current_vdd_value_default_mid_temp 
+0x451c 015811 call remote_car_get_adc_from_gpio6 
+0x451d 015812 call remote_car_rocker_get_value 
+0x451e 015813 store 1 ,mem_rocker_status 
+:      015814 remote_car_rocker_get_y:
+0x451f 015815 fetch 2 ,mem_current_vdd_value_default_mid_y 
+0x4520 015816 store 2 ,mem_current_vdd_value_default_mid_temp 
+0x4521 015817 call remote_car_get_adc_from_gpio7 
+0x4522 015818 call remote_car_rocker_get_value 
+0x4523 015819 store 1 ,mem_rocker_status + 1 
+0x4524 015820 rtn 
+:      015821 remote_car_rocker_get_value:
+0x4525 015822 fetch 2 ,mem_current_vdd_default_range 
+0x4526 015823 copy pdata ,rega 
+0x4527 015824 fetch 2 ,mem_current_vdd_value_default_mid_temp 
+0x4528 015825 call remote_car_rocker_mid_value_adjust 
+0x4529 015826 fetch 1 ,mem_rocker_work_status 
+0x452a 015827 nbranch remote_car_rocker_translate_key ,blank 
+0x452b 015828 nrtn positive 
+0x452c 015829 fetcht 2 ,mem_current_vdd_value_default_mid_temp 
+0x452d 015830 rtn 
+:      015831 remote_car_rocker_mid_value_adjust:
+0x452e 015832 isub temp ,pdata 
+0x452f 015833 branch remote_car_rocker_mid_adjust_positive ,positive 
+0x4530 015834 sub pdata ,0 ,pdata 
+0x4531 015835 jam 1 ,mem_rocker_negative_flag 
+0x4532 015836 isub rega ,null 
+0x4533 015837 rtn 
+:      015838 remote_car_rocker_mid_adjust_positive:
+0x4534 015839 jam 0 ,mem_rocker_negative_flag 
+0x4535 015840 isub rega ,null 
+0x4536 015841 rtn 
+:      015842 remote_car_rocker_translate_key:
+0x4537 015843 nbranch remote_car_rocker_middle_key ,positive 
+0x4538 015844 fetch 1 ,mem_rocker_negative_flag 
+0x4539 015845 nbranch remote_car_rocker_negative_key ,blank 
+:      015846 remote_car_rocker_positive_key:
+0x453a 015847 setarg rocker_positive_key 
+0x453b 015848 rtn 
+:      015849 remote_car_rocker_negative_key:
+0x453c 015850 setarg rocker_negative_key 
+0x453d 015851 rtn 
+:      015852 remote_car_rocker_middle_key:
+0x453e 015853 setarg rocker_middle_key 
+0x453f 015854 rtn 
+:      015855 remote_car_get_adc_from_gpio6:
+0x4540 015856 jam 0x33 ,mem_adc_channel 
+0x4541 015857 branch adc_set_mode 
+:      015858 remote_car_get_adc_from_gpio7:
+0x4542 015859 jam 0x34 ,mem_adc_channel 
+0x4543 015860 branch adc_set_mode 
+:      015863 remote_car_rocker_process:
+0x4544 015864 fetch 1 ,mem_remote_car_config_check_way 
+0x4545 015865 rtnne car_remote_check_rocker 
+:      015866 remote_car_read_rocker_check_start:
+0x4546 015867 bpatch patch1e_2 ,mem_patch1e 
+0x4547 015868 jam 1 ,mem_rocker_work_status 
+0x4548 015869 call remote_car_rocker_data_get 
+0x4549 015870 fetch 2 ,mem_rocker_status 
+0x454a 015871 fetcht 2 ,mem_rocker_last_status 
+0x454b 015872 isub temp ,null 
+0x454c 015873 rtn zero 
+0x454d 015874 store 2 ,mem_rocker_last_status 
+0x454e 015875 call remote_car_rocker_x_to_key 
+0x454f 015876 branch remote_car_rocker_y_to_key 
+:      015878 remote_car_rocker_x_to_key:
+0x4550 015879 fetch 1 ,mem_rocker_x_status 
+0x4551 015880 branch rocker_to_queue_set_0 ,blank 
+0x4552 015881 increase -1 ,pdata 
+0x4553 015882 branch remote_car_rocker_to_key 
+:      015883 remote_car_rocker_y_to_key:
+0x4554 015884 fetch 1 ,mem_rocker_y_status 
+0x4555 015885 branch rocker_to_queue_set_2 ,blank 
+0x4556 015886 increase 1 ,pdata 
+:      015887 remote_car_rocker_to_key:
+0x4557 015888 copy pdata ,queue 
+0x4558 015889 arg 1 ,rega 
+0x4559 015890 branch remote_car_send_key_data 
+:      015892 rocker_to_queue_set_0:
+0x455a 015893 arg 0 ,queue 
+0x455b 015894 arg 0 ,rega 
+0x455c 015895 branch remote_car_send_key_data 
+:      015896 rocker_to_queue_set_2:
+0x455d 015897 arg 2 ,queue 
+0x455e 015898 arg 0 ,rega 
+0x455f 015899 branch remote_car_send_key_data 
+:      015901 remote_car_send_key_data:
+0x4560 015902 copy rega ,pdata 
+0x4561 015903 store 1 ,mem_remote_key_status 
+0x4562 015904 fetch 1 ,mem_remote_car_24g_auto_work_step 
+0x4563 015905 beq power_on ,g24_auto_pair_start 
+0x4564 015906 fetch 2 ,mem_remote_car_no_data_timeout 
+0x4565 015907 store 2 ,mem_remote_car_no_data_timer 
+0x4566 015908 fetch 1 ,mem_remote_key_status 
+0x4567 015909 branch remote_car_key_is_release ,blank 
+:      015910 remote_car_key_is_press:
+0x4568 015911 bpatch patch1e_3 ,mem_patch1e 
+0x4569 015912 arg 0 ,rega 
+0x456a 015913 call ui_led_on_global 
+:      015914 remote_car_attack_key_press:
+0x456b 015915 copy queue ,pdata 
+0x456c 015916 beq 4 ,remote_car_send_attack_key4_press 
+0x456d 015917 beq 5 ,remote_car_send_attack_key5_press 
+0x456e 015918 beq 6 ,remote_car_send_fire_key6_press 
+:      015921 remote_car_motor_key_press:
+0x456f 015922 call remote_car_device_layout_select 
+0x4570 015923 beq control_f_b_ten ,remote_car_single_motor_key_is_press 
+0x4571 015924 beq control_l_r_ten ,remote_car_double_motor_key_press 
+0x4572 015925 beq control_l_r_lr ,remote_car_single_motor_key_is_press 
+0x4573 015926 rtn 
+:      015928 remote_car_single_motor_key_is_press:
+0x4574 015929 copy queue ,pdata 
+0x4575 015930 beq 0 ,remote_car_send_motor1_key0_press 
+0x4576 015931 beq 1 ,remote_car_send_motor1_key1_press 
+0x4577 015932 beq 2 ,remote_car_send_motor2_key2_press 
+0x4578 015933 beq 3 ,remote_car_send_motor2_key3_press 
+0x4579 015934 rtn 
+:      015936 remote_car_double_motor_key_press:
+0x457a 015937 copy queue ,pdata 
+0x457b 015938 beq 0 ,remote_car_send_double_motor_key0_press 
+0x457c 015939 beq 1 ,remote_car_send_double_motor_key1_press 
+0x457d 015940 beq 2 ,remote_car_send_double_motor_key2_press 
+0x457e 015941 beq 3 ,remote_car_send_double_motor_key3_press 
+0x457f 015942 rtn 
+:      015944 remote_car_key_is_release:
+0x4580 015945 bpatch patch1e_4 ,mem_patch1e 
+0x4581 015946 arg 0 ,rega 
+0x4582 015947 call ui_led_off_global 
+:      015948 remote_car_attack_key_release:
+0x4583 015949 copy queue ,pdata 
+0x4584 015950 beq 4 ,remote_car_send_attack_key4_rel 
+0x4585 015951 beq 5 ,remote_car_send_attack_key5_rel 
+:      015954 remote_car_motor_key_release:
+0x4586 015955 call remote_car_device_layout_select 
+0x4587 015956 beq control_f_b_ten ,remote_car_single_motor_key_rel 
+0x4588 015957 beq control_l_r_ten ,remote_car_double_motor_key_rel 
+0x4589 015958 beq control_l_r_lr ,remote_car_single_motor_key_rel 
+0x458a 015959 rtn 
+:      015961 remote_car_device_layout_select:
+0x458b 015962 fetch 1 ,mem_remote_car_config_layout 
+0x458c 015963 fetcht 1 ,mem_remote_car_config_key_map 
+0x458d 015964 ior temp ,pdata 
+0x458e 015965 rtn 
+:      015968 remote_car_send_motor1_key0_press:
+0x458f 015969 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x4590 015970 branch remote_car_send_key 
+:      015971 remote_car_send_motor1_key1_press:
+0x4591 015972 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x4592 015973 branch remote_car_send_key 
+:      015974 remote_car_send_motor2_key2_press:
+0x4593 015975 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x4594 015976 branch remote_car_send_key 
+:      015977 remote_car_send_motor2_key3_press:
+0x4595 015978 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x4596 015979 branch remote_car_send_key 
+:      015982 remote_car_send_double_motor_key0_press:
+0x4597 015983 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x4598 015984 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x4599 015985 branch remote_car_send_key 
+:      015986 remote_car_send_double_motor_key1_press:
+0x459a 015987 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x459b 015988 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x459c 015989 branch remote_car_send_key 
+:      015990 remote_car_send_double_motor_key2_press:
+0x459d 015991 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+0x459e 015992 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+0x459f 015993 branch remote_car_send_key 
+:      015994 remote_car_send_double_motor_key3_press:
+0x45a0 015995 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+0x45a1 015996 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+0x45a2 015997 branch remote_car_send_key 
+:      016000 remote_car_send_attack_key4_press:
+0x45a3 016001 jam motor_positive ,mem_remote_car_24g_motor3_payload 
+0x45a4 016002 branch remote_car_send_key 
+:      016003 remote_car_send_attack_key5_press:
+0x45a5 016004 jam motor_negative ,mem_remote_car_24g_motor3_payload 
+0x45a6 016005 branch remote_car_send_key 
+:      016007 remote_car_send_fire_key6_press:
+0x45a7 016008 jam 0x01 ,mem_remote_car_24g_fire_send_payload 
+0x45a8 016009 branch remote_car_send_attack 
+:      016011 remote_car_single_motor_key_rel:
+0x45a9 016012 copy queue ,pdata 
+0x45aa 016013 beq 0 ,remote_car_send_motor1_key0_rel 
+0x45ab 016014 beq 1 ,remote_car_send_motor1_key1_rel 
+0x45ac 016015 beq 2 ,remote_car_send_motor2_key2_rel 
+0x45ad 016016 beq 3 ,remote_car_send_motor2_key3_rel 
+0x45ae 016017 rtn 
+:      016019 remote_car_double_motor_key_rel:
+0x45af 016020 copy queue ,pdata 
+0x45b0 016021 beq 0 ,remote_car_send_double_motor_key0_rel 
+0x45b1 016022 beq 1 ,remote_car_send_double_motor_key1_rel 
+0x45b2 016023 beq 2 ,remote_car_send_double_motor_key2_rel 
+0x45b3 016024 beq 3 ,remote_car_send_double_motor_key3_rel 
+0x45b4 016025 rtn 
+:      016027 remote_car_send_motor1_key0_rel:
+:      016028 remote_car_send_motor1_key1_rel:
+0x45b5 016029 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+0x45b6 016030 branch remote_car_send_key 
+:      016031 remote_car_send_motor2_key2_rel:
+:      016032 remote_car_send_motor2_key3_rel:
+0x45b7 016033 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+0x45b8 016034 branch remote_car_send_key 
+:      016036 remote_car_send_double_motor_key0_rel:
+:      016037 remote_car_send_double_motor_key1_rel:
+:      016038 remote_car_send_double_motor_key2_rel:
+:      016039 remote_car_send_double_motor_key3_rel:
+0x45b9 016040 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+0x45ba 016041 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+0x45bb 016042 branch remote_car_send_key 
+:      016044 remote_car_send_attack_key4_rel:
+:      016045 remote_car_send_attack_key5_rel:
+0x45bc 016046 jam motor_stop ,mem_remote_car_24g_motor3_payload 
+0x45bd 016047 branch remote_car_send_key 
+:      016049 remote_car_send_key:
+0x45be 016050 arg mem_remote_car_24g_motor_packet ,rega 
+0x45bf 016051 branch queue_push 
+:      016052 remote_car_send_attack:
+0x45c0 016053 arg mem_remote_car_24g_fire_packet ,rega 
+0x45c1 016054 branch queue_push 
+:      016056 remote_car_g24_package_data:
+0x45c2 016057 fetch 1 ,mem_remote_car_24g_pair_success_flag 
+0x45c3 016058 beq work_paired ,remote_car_g24_send_empty 
+0x45c4 016059 arg mem_remote_car_24g_tx_temp ,rega 
+0x45c5 016060 call queue_pop 
+0x45c6 016061 nbranch remote_car_moto_data ,user 
+:      016062 remote_car_g24_package_data_continue:
+0x45c7 016063 arg mem_remote_car_24g_tx_temp ,contr 
+0x45c8 016064 ifetch 1 ,contr 
+0x45c9 016065 copy pdata ,rega 
+0x45ca 016066 arg mem_remote_car_24g_tx_temp + 1 ,regb 
+0x45cb 016069 rtn 
+:      016071 remote_car_g24_send_empty:
+0x45cc 016072 jam 0 ,mem_remote_car_24g_pair_success_flag 
+0x45cd 016073 enable user 
+0x45ce 016074 arg 1 ,rega 
+0x45cf 016075 arg mem_remote_car_empty_packet ,regb 
+0x45d0 016076 rtn 
+:      016078 remote_car_moto_data:
+0x45d1 016079 fetch 1 ,mem_remote_car_24g_tx_temp + 3 
+0x45d2 016080 beq car_cmd_l_r_motor_control ,remote_car_moto_data_next 
+0x45d3 016081 beq car_cmd_f_b_motor_control ,remote_car_moto_data_next 
+0x45d4 016082 rtn 
+:      016083 remote_car_moto_data_next:
+0x45d5 016084 fetch 1 ,mem_remote_car_24g_tx_temp + 6 
+0x45d6 016085 nbranch remote_car_moto_data_enable_user ,blank 
+0x45d7 016086 fetch 1 ,mem_remote_car_24g_tx_temp + 8 
+0x45d8 016087 nbranch remote_car_moto_data_enable_user ,blank 
+0x45d9 016088 fetch 1 ,mem_remote_car_24g_tx_temp + 10 
+0x45da 016089 nbranch remote_car_moto_data_enable_user ,blank 
+0x45db 016090 rtn 
+:      016091 remote_car_moto_data_enable_user:
+0x45dc 016092 enable user 
+0x45dd 016093 branch remote_car_g24_package_data_continue 
+:      016101 shutter_init:
+0x45de 016102 rtn wake 
+0x45df 016103 hfetch 1 ,core_gpio_sel1 
+0x45e0 016104 and_into 0xfc ,pdata 
+0x45e1 016105 hstore 1 ,core_gpio_sel1 
+0x45e2 016106 setarg shutter_le_before_hibernate 
+0x45e3 016107 store 2 ,mem_cb_before_hibernate 
+0x45e4 016109 setarg shutter_process_lpm_before 
+0x45e5 016110 store 2 ,mem_cb_before_lpm 
+0x45e6 016112 setarg app_enter_hibernate 
+0x45e7 016113 store 2 ,mem_cb_discovry_timeout 
+0x45e8 016115 setarg shutter_process_idle 
+0x45e9 016116 store 2 ,mem_cb_idle_process 
+0x45ea 016118 setarg shutter_process_bb_event 
+0x45eb 016119 store 2 ,mem_cb_bb_event_process 
+0x45ec 016121 setarg shutter_le_scale_lpm_lock 
+0x45ed 016122 store 2 ,mem_cb_check_wakelock 
+0x45ee 016124 setarg ble_shutter_receive_data 
+0x45ef 016125 store 2 ,mem_cb_att_write 
+0x45f0 016127 setarg shutter_le_bb_event_timer 
+0x45f1 016128 store 2 ,mem_cb_event_timer 
+0x45f2 016130 setarg shutter_key_change 
+0x45f3 016131 store 2 ,mem_cb_shutter_keycan 
+0x45f4 016133 setarg shutter_soft_swtich_power_on 
+0x45f5 016134 store 2 ,mem_shutter_soft_switch_poweron_callback_function 
+0x45f6 016135 setarg shutter_soft_swtich_power_off 
+0x45f7 016136 store 2 ,mem_shutter_soft_switch_poweroff_callback_function 
+0x45f8 016138 call le_modified_name 
+0x45f9 016139 call shutter_load_bluetooth_config_by_user_config 
+0x45fa 016140 call shutter_init_bluetooth_config 
+0x45fb 016141 call shutter_init_param 
+0x45fc 016142 call keyscan_key_init 
+0x45fd 016143 call shutter_load_buffer_config_form_datarom 
+0x45fe 016144 call queue_init 
+0x45ff 016145 call ui_led_init_global 
+0x4600 016146 call shutter_load_bluetooth_config 
+0x4601 016147 call shutter_load_bluetooth_config_by_eeprom 
+0x4602 016149 bpatch patch1e_5 ,mem_patch1e 
+0x4603 016150 call classic_shutter_load_reconn_info 
+0x4604 016151 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x4605 016152 beq hard_switch ,shutter_hart_swtich_power_on 
+0x4606 016153 fetch 1 ,mem_shutter_soft_switch_button_gpio 
+0x4607 016154 store 1 ,mem_ui_button_gpio 
+0x4608 016155 branch ui_soft_swtich_init 
+:      016158 shutter_hart_swtich_power_on:
+0x4609 016159 jam ui_button_gpio_disable ,mem_ui_button_gpio 
+0x460a 016160 jam ss_state_power_on ,mem_shutter_soft_switch_power_state 
+0x460b 016161 branch shutter_start_reconnect 
+:      016165 shutter_le_scale_lpm_lock:
+0x460c 016166 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x460d 016167 beq ss_state_power_off ,app_get_lpm_wake_lock 
+0x460e 016168 call l2cap_malloc_get_full_map 
+0x460f 016169 fetch 1 ,mem_used_map 
+0x4610 016170 nbranch app_get_lpm_wake_lock ,blank 
+0x4611 016171 branch app_put_lpm_wake_lock 
+:      016175 shutter_process_bb_event:
+0x4612 016176 copy regc ,pdata 
+0x4613 016178 beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
+0x4614 016179 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
+0x4615 016180 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
+0x4616 016181 beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
+0x4617 016182 beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
+0x4618 016183 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
+0x4619 016184 beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
+0x461a 016185 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
+0x461b 016186 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
+0x461c 016187 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
+0x461d 016188 beq bt_evt_store_nvram ,classic_shutter_process_store_reconnect_information 
+0x461e 016190 beq bt_evt_le_connected ,ble_shutter_process_baseband_connect 
+0x461f 016191 beq bt_evt_le_disconnected ,ble_shutter_process_baseband_disconnect 
+0x4620 016192 beq bt_evt_le_reconnect_complete ,ble_shutter_process_reconnect_complete 
+0x4621 016193 beq bt_evt_le_parse_conn_papa_update_rsp ,ble_shutter_process_parse_connect_parameter_update_response 
+0x4622 016195 beq bt_evt_button_long_pressed ,shutter_process_soft_swtich_button_long_press 
+0x4623 016196 beq bt_evt_button_down ,shutter_process_soft_swtich_button_down 
+0x4624 016197 beq bt_evt_button_up ,shutter_process_soft_swtich_button_up 
+0x4625 016198 rtn 
+:      016203 classic_shutter_process_baseband_connect:
+0x4626 016204 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x4627 016205 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x4628 016206 rtn 
+:      016209 classic_shutter_process_baseband_disconnect:
+0x4629 016210 call classic_shutter_disconnect_clear_flag 
+0x462a 016211 branch classic_shutter_process_reconnect_failed 
+:      016213 classic_shutter_disconnect_clear_flag:
+0x462b 016214 jam app_handshake_null ,mem_app_handshake_flag 
+0x462c 016215 jam 0 ,mem_hid_handshake_timer_count 
+0x462d 016216 jam 0 ,mem_unsniff2sniff_timer_count 
+0x462e 016217 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x462f 016218 jam 0 ,mem_classic_shutter_hid_disconn_count 
+0x4630 016219 branch queue_init 
+:      016222 classic_shutter_process_reconnect_failed:
+0x4631 016223 call app_disconn_reason_clear 
+0x4632 016224 branch shutter_start_bluetooth_discovery 
+:      016227 classic_shutter_process_setup_complete:
+0x4633 016228 call shutter_stop_bluetooth_discovery 
+0x4634 016229 branch app_led_stop_blink 
+:      016232 classic_shutter_process_hid_connect:
+0x4635 016233 setarg hid_handshake_timeout 
+0x4636 016234 store 1 ,mem_hid_handshake_timer_count 
+0x4637 016235 rtn 
+:      016238 classic_shutter_process_hid_disconnect:
+0x4638 016239 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+0x4639 016240 setarg flag_shutter_hid_disconn_timeout 
+0x463a 016241 store 1 ,mem_classic_shutter_hid_disconn_count 
+0x463b 016242 rtn 
+:      016245 classic_shutter_process_hid_handshake:
+0x463c 016246 fetch 1 ,mem_app_handshake_flag 
+0x463d 016247 rtneq app_handshake_done 
+0x463e 016248 jam app_handshake_done ,mem_app_handshake_flag 
+0x463f 016249 call app_lpm_mult_enable 
+0x4640 016250 call app_store_reconn_info 
+0x4641 016251 call shutter_stop_bluetooth_discovery 
+0x4642 016252 call app_led_off 
+0x4643 016253 branch app_bt_enter_sniff 
+:      016256 classic_shutter_process_reconnect_page_timeout:
+0x4644 016257 branch classic_shutter_process_reconnect_failed 
+:      016260 classic_shutter_process_virtual_cable_unplug:
+0x4645 016261 setarg flag_shutter_cable_unplug_timeout 
+0x4646 016262 store 1 ,mem_classic_shutter_cable_unplug_conut 
+0x4647 016263 rtn 
+:      016266 classic_shutter_process_remote_unsniff:
+0x4648 016267 branch app_start_auto_sniff 
+:      016271 classic_shutter_process_store_reconnect_information:
+0x4649 016272 arg nvram_eeprom_offset ,regb 
+0x464a 016273 fetch 1 ,mem_nv_data_number 
+0x464b 016274 mul32 pdata ,34 ,temp 
+0x464c 016275 fetch 2 ,mem_nv_data_ptr 
+0x464d 016276 copy pdata ,rega 
+0x464e 016277 branch iicd_write_eep_data 
+:      016279 classic_shutter_load_reconn_info:
+0x464f 016280 arg nvram_eeprom_offset ,regb 
+0x4650 016281 fetch 1 ,mem_shutter_bluetooth_type 
+0x4651 016282 rtnbit0 classic_shutter 
+0x4652 016283 fetch 1 ,mem_nv_data_number 
+0x4653 016284 rtn blank 
+0x4654 016285 mul32 pdata ,34 ,temp 
+0x4655 016286 fetch 2 ,mem_nv_data_ptr 
+0x4656 016287 copy pdata ,rega 
+0x4657 016288 branch iicd_read_eep_data 
+:      016292 ble_shutter_process_baseband_connect:
+0x4658 016293 call shutter_stop_bluetooth_discovery 
+0x4659 016294 setarg 0 
+0x465a 016295 store 2 ,mem_ble_shutter_reconn_timer 
+0x465b 016296 branch app_led_off 
+:      016299 ble_shutter_process_baseband_disconnect:
+0x465c 016300 call queue_init 
+0x465d 016301 jam 0 ,mem_ble_shutter_enable_notify 
+0x465e 016302 branch shutter_start_reconnect 
+:      016305 ble_shutter_process_reconnect_complete:
+0x465f 016306 call queue_init 
+0x4660 016307 jam 1 ,mem_ble_shutter_enable_notify 
+0x4661 016308 fetch 8 ,mem_ble_shutter_interval_min 
+0x4662 016309 store 8 ,mem_le_interval_min 
+0x4663 016310 call app_lpm_mult_enable 
+0x4664 016311 branch le_l2cap_tx_update_req 
+:      016314 ble_shutter_process_parse_connect_parameter_update_response:
+0x4665 016315 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x4666 016316 rtneq ble_signaling_connect_parameter_update_accepted 
+0x4667 016317 fetch 8 ,mem_ble_shutter_interval_min_new 
+0x4668 016318 rtn blank 
+0x4669 016319 store 8 ,mem_le_interval_min 
+0x466a 016320 branch le_l2cap_tx_update_req 
+:      016324 shutter_process_soft_swtich_button_long_press:
+0x466b 016325 branch ui_soft_switch_botton_long_press 
+:      016327 shutter_process_soft_swtich_button_down:
+0x466c 016328 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x466d 016329 rtneq hard_switch 
+0x466e 016330 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x466f 016331 rtnne ss_state_power_on 
+0x4670 016332 call shutter_store_currenct_led_state 
+0x4671 016333 branch app_led_on 
+:      016335 shutter_store_currenct_led_state:
+0x4672 016336 jam 1 ,mem_shutter_soft_swtich_botton_down 
+0x4673 016337 arg 11 ,loopcnt 
+0x4674 016338 arg mem_shutter_soft_swtich_led_struct_temp ,contw 
+0x4675 016339 arg mem_shutter_led_struct_app_led ,contr 
+0x4676 016340 branch memcpy 
+:      016342 shutter_process_soft_swtich_button_up:
+0x4677 016343 fetch 1 ,mem_shutter_hard_soft_switch_case 
+0x4678 016344 rtneq hard_switch 
+0x4679 016345 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x467a 016346 beq ss_state_power_on ,shutter_load_currenct_led_state 
+0x467b 016347 branch ui_soft_switch_botton_up 
+:      016349 shutter_load_currenct_led_state:
+0x467c 016350 fetch 1 ,mem_shutter_soft_swtich_botton_down 
+0x467d 016351 rtnne 1 
+0x467e 016352 jam 0 ,mem_shutter_soft_swtich_botton_down 
+0x467f 016353 fetch 2 ,mem_ui_state_map 
+0x4680 016354 bbit1 ui_state_bt_connected ,app_led_off 
+0x4681 016355 bbit1 ui_state_ble_connected ,app_led_off 
+0x4682 016356 arg 11 ,loopcnt 
+0x4683 016357 arg mem_shutter_soft_swtich_led_struct_temp ,contr 
+0x4684 016358 arg mem_shutter_led_struct_app_led ,contw 
+0x4685 016359 branch memcpy 
+:      016364 shutter_le_bb_event_timer:
+0x4686 016366 call shutter_check_sleep_timer 
+0x4687 016369 call shutter_check_power_off_timer 
+0x4688 016372 call classic_shutter_check_unplug_timer 
+0x4689 016373 call classic_shutter_hid_handshake_timer 
+0x468a 016374 call classic_shutter_hid_disconn_timer 
+0x468b 016377 branch ble_shutter_reconn_timer 
+:      016381 shutter_check_sleep_timer:
+0x468c 016382 arg mem_shutter_sleep_timer ,regc 
+0x468d 016383 arg shutter_sleep_timeout ,regb 
+0x468e 016384 branch timer_single_step_2b 
+:      016385 shutter_sleep_timeout:
+0x468f 016386 jam ss_state_power_off ,mem_shutter_soft_switch_power_state 
+0x4690 016387 call app_led_off 
+0x4691 016388 call shutter_disconnect_current_connection 
+0x4692 016389 branch shutter_wait_power_off 
+:      016392 shutter_check_power_off_timer:
+0x4693 016393 arg mem_shutter_power_off_timer ,regc 
+0x4694 016394 arg shutter_check_power_off_timeout ,regb 
+0x4695 016395 branch timer_single_step 
+:      016397 shutter_check_power_off_timeout:
+0x4696 016398 fetch 2 ,mem_ui_state_map 
+0x4697 016399 bbit1 ui_state_ble_connected ,shutter_wait_power_off 
+0x4698 016400 bbit1 ui_state_bt_connected ,shutter_wait_power_off 
+0x4699 016401 fetch 1 ,mem_shutter_led_struct_app_led_type 
+0x469a 016402 beq ui_led_state_blink_start ,shutter_wait_power_off 
+0x469b 016403 beq ui_led_state_blink_lighting ,shutter_wait_power_off 
+0x469c 016404 beq ui_led_state_blink_darking ,shutter_wait_power_off 
+0x469d 016405 branch app_enter_hibernate 
+:      016409 classic_shutter_check_unplug_timer:
+0x469e 016410 arg mem_classic_shutter_cable_unplug_conut ,regc 
+0x469f 016411 arg classic_shutter_unplug_timeout ,regb 
+0x46a0 016412 branch timer_single_step 
+:      016414 classic_shutter_unplug_timeout:
+0x46a1 016415 fetch 1 ,mem_control_tasks 
+0x46a2 016416 set1 l2cap_disconnect_interrupt ,pdata 
+0x46a3 016417 set1 l2cap_disconnect_control ,pdata 
+0x46a4 016418 store 1 ,mem_control_tasks 
+0x46a5 016419 rtn 
+:      016421 classic_shutter_hid_handshake_timer:
+0x46a6 016422 arg mem_hid_handshake_timer_count ,regc 
+0x46a7 016423 arg classic_shutter_process_hid_handshake ,regb 
+0x46a8 016424 branch timer_single_step 
+:      016426 classic_shutter_hid_disconn_timer:
+0x46a9 016427 arg mem_classic_shutter_hid_disconn_count ,regc 
+0x46aa 016428 arg app_bt_disconnect ,regb 
+0x46ab 016429 branch timer_single_step 
+:      016434 ble_shutter_reconn_timer:
+0x46ac 016435 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46ad 016436 rtnne ss_state_power_on 
+0x46ae 016437 arg mem_ble_shutter_reconn_timer ,regc 
+0x46af 016438 arg shutter_start_bluetooth_discovery ,regb 
+0x46b0 016439 branch timer_single_step_2b 
+:      016442 shutter_process_idle:
+0x46b1 016443 call shutter_send_data_to_master 
+0x46b2 016444 branch keyscan_key_process 
+:      016447 shutter_process_lpm_before:
+0x46b3 016448 branch keyscan_process_lpm_before 
+:      016450 shutter_le_before_hibernate:
+0x46b4 016451 call gpio_set_before_lpm_common 
+0x46b5 016452 branch shutter_process_lpm_before 
+:      016458 shutter_stop_bluetooth_discovery:
+0x46b6 016459 fetch 1 ,mem_shutter_bluetooth_type 
+0x46b7 016460 bbit1 classic_shutter ,classic_shutter_stop_bluetooth_discovery 
+0x46b8 016461 bbit1 ble_shutter ,ble_shutter_stop_bluetooth_discovery 
+0x46b9 016462 rtn 
+:      016464 ble_shutter_stop_bluetooth_discovery:
+0x46ba 016465 fetch 2 ,mem_ble_shutter_connect_timeout 
+0x46bb 016466 store 2 ,mem_shutter_sleep_timeout 
+0x46bc 016467 store 2 ,mem_shutter_sleep_timer 
+0x46bd 016468 branch app_ble_stop_adv 
+:      016470 classic_shutter_stop_bluetooth_discovery:
+0x46be 016471 fetch 2 ,mem_classic_shutter_connect_timeout 
+0x46bf 016472 store 2 ,mem_shutter_sleep_timeout 
+0x46c0 016473 store 2 ,mem_shutter_sleep_timer 
+0x46c1 016474 branch app_bt_stop_discovery 
+:      016476 shutter_start_bluetooth_discovery:
+0x46c2 016477 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46c3 016478 rtnne ss_state_power_on 
+0x46c4 016479 fetch 1 ,mem_shutter_bluetooth_type 
+0x46c5 016480 bbit1 classic_shutter ,classic_shutter_start_discovery 
+0x46c6 016481 bbit1 ble_shutter ,ble_shutter_start_discovery 
+0x46c7 016482 rtn 
+:      016484 classic_shutter_start_discovery:
+0x46c8 016485 fetch 2 ,mem_classic_shutter_discovery_timeout ,
+0x46c9 016486 store 2 ,mem_shutter_sleep_timeout 
+0x46ca 016487 store 2 ,mem_shutter_sleep_timer 
+0x46cb 016488 branch app_bt_start_discovery_short 
+:      016490 ble_shutter_start_discovery:
+0x46cc 016491 fetch 2 ,mem_ui_state_map 
+0x46cd 016492 rtnbit1 ui_state_ble_connected 
+0x46ce 016493 fetch 2 ,mem_ble_shutter_discovery_timeout 
+0x46cf 016494 store 2 ,mem_shutter_sleep_timeout 
+0x46d0 016495 store 2 ,mem_shutter_sleep_timer 
+0x46d1 016496 fetch 2 ,mem_ble_shutter_discovery_adv_interval 
+0x46d2 016497 call shutter_ble_adv_interval_set 
+0x46d3 016498 call app_led_start_blink 
+0x46d4 016499 fetch 4 ,mem_ble_shutter_discovery_blink_on_time 
+0x46d5 016500 store 4 ,mem_shutter_led_struct_app_led_on_time 
+0x46d6 016501 fetch 2 ,mem_ui_state_map 
+0x46d7 016502 rtnbit1 ui_state_ble_adv 
+0x46d8 016503 branch app_ble_start_adv 
+:      016506 shutter_start_reconnect:
+0x46d9 016507 fetch 1 ,mem_shutter_soft_switch_power_state 
+0x46da 016508 rtnne ss_state_power_on 
+0x46db 016509 fetch 1 ,mem_shutter_bluetooth_type 
+0x46dc 016510 bbit1 classic_shutter ,classic_shutter_start_reconnect 
+0x46dd 016511 bbit1 ble_shutter ,ble_shutter_start_reconnect 
+0x46de 016512 rtn 
+:      016514 classic_shutter_start_reconnect:
+0x46df 016515 call app_check_reconn_target 
+0x46e0 016516 branch shutter_start_bluetooth_discovery ,blank 
+0x46e1 016517 call app_led_on 
+0x46e2 016518 call app_bt_stop_discovery 
+0x46e3 016519 branch app_bt_start_reconnect 
+:      016521 ble_shutter_start_reconnect:
+0x46e4 016522 fetch 2 ,mem_ble_shutter_reconn_timer 
+0x46e5 016523 fetcht 2 ,mem_ble_shutter_reconn_timeout 
+0x46e6 016524 storet 2 ,mem_ble_shutter_reconn_timer 
+0x46e7 016525 nrtn blank 
+0x46e8 016526 fetch 2 ,mem_ble_shutter_reconn_dav_interval 
+0x46e9 016527 call shutter_ble_adv_interval_set 
+0x46ea 016528 call app_led_start_blink 
+0x46eb 016529 fetch 4 ,mem_ble_shutter_reconn_blink_on_time 
+0x46ec 016530 store 4 ,mem_shutter_led_struct_app_led_on_time 
+0x46ed 016531 fetch 2 ,mem_ui_state_map 
+0x46ee 016532 rtnbit1 ui_state_ble_adv 
+0x46ef 016533 branch app_ble_start_adv 
+:      016536 shutter_ble_adv_interval_set:
+0x46f0 016537 store 2 ,mem_lpm_interval 
+0x46f1 016538 increase -4 ,pdata 
+0x46f2 016539 store 2 ,mem_le_adv_interval 
+0x46f3 016540 rtn 
+:      016543 shutter_disconnect_current_connection:
+0x46f4 016544 fetch 2 ,mem_ui_state_map 
+0x46f5 016545 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+0x46f6 016546 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+0x46f7 016547 branch shutter_stop_bluetooth_discovery 
+:      016551 app_check_reconn_target:
+0x46f8 016552 fetch 1 ,mem_nv_data_number 
+0x46f9 016553 copy pdata ,loopcnt 
+0x46fa 016554 fetch 2 ,mem_nv_data_ptr 
+0x46fb 016555 copy pdata ,rega 
+:      016556 app_check_reconn_target_loop:
+0x46fc 016557 ifetch 2 ,rega 
+0x46fd 016558 beq 0 ,found_reconn_device 
+0x46fe 016559 increase nv_data_len ,rega 
+0x46ff 016560 loop app_check_reconn_target_loop 
+0x4700 016561 branch enable_blank 
+:      016563 found_reconn_device:
+0x4701 016564 ifetch 6 ,contr 
+0x4702 016565 store 6 ,mem_hci_plap 
+0x4703 016566 increase 10 ,contr 
+0x4704 016567 arg mem_link_key ,contw 
+0x4705 016568 call memcpy16 
+0x4706 016569 call check_link_key_load 
+0x4707 016570 branch disable_blank 
+:      016576 shutter_check_data_enable:
+0x4708 016577 call disable_user 
+0x4709 016578 fetch 2 ,mem_ui_state_map 
+0x470a 016579 bbit1 ui_state_bt_connected ,shutter_check_bt_data_enable 
+0x470b 016580 bbit1 ui_state_ble_connected ,shutter_check_ble_data_enable 
+0x470c 016581 rtn 
+:      016583 shutter_check_bt_data_enable:
+0x470d 016584 fetch 1 ,mem_hid_interrupt_state 
+0x470e 016585 rtnne 0x3f 
+0x470f 016586 branch enable_user 
+:      016588 shutter_check_ble_data_enable:
+0x4710 016589 fetch 1 ,mem_ble_shutter_enable_notify 
+0x4711 016590 rtn blank 
+0x4712 016591 branch enable_user 
+:      016596 shutter_check_bluetooth_conn:
+0x4713 016597 call disable_user 
+0x4714 016598 fetch 2 ,mem_ui_state_map 
+0x4715 016599 rtnbit1 ui_state_bt_connected 
+0x4716 016600 rtnbit1 ui_state_ble_connected 
+0x4717 016601 branch enable_user 
+:      016605 shutter_change_bluetooth_status_bt_disconn:
+0x4718 016606 fetch 1 ,mem_shutter_bluetooth_type 
+0x4719 016607 bbit1 classic_shutter ,classic_shutter_change_bluetooth_status_bt_disconn 
+0x471a 016608 bbit1 ble_shutter ,ble_shutter_change_bluetooth_status_bt_disconn 
+0x471b 016609 rtn 
+:      016611 classic_shutter_change_bluetooth_status_bt_disconn:
+0x471c 016612 fetch 1 ,mem_scan_mode 
+0x471d 016613 rtnne 0x03 
+0x471e 016614 branch shutter_start_reconnect 
+:      016616 ble_shutter_change_bluetooth_status_bt_disconn:
+0x471f 016617 branch shutter_start_reconnect 
+:      016620 shutter_check_send_data:
+0x4720 016621 disable user2 
+0x4721 016622 fetch 2 ,mem_shutter_sleep_timeout 
+0x4722 016623 store 2 ,mem_shutter_sleep_timer 
+0x4723 016625 call shutter_check_bluetooth_conn 
+0x4724 016626 branch shutter_change_bluetooth_status_bt_disconn ,user 
+0x4725 016628 call shutter_check_data_enable 
+0x4726 016629 nrtn user 
+0x4727 016630 enable user2 
+0x4728 016631 rtn 
+:      016635 shutter_key_change:
+0x4729 016636 call shutter_check_send_data 
+0x472a 016637 nrtn user2 
+0x472b 016638 deposit rega 
+0x472c 016639 branch shutter_key_release ,blank 
+:      016640 shutter_key_press:
+0x472d 016641 call app_led_on 
+0x472e 016642 arg mem_key0_press ,regc 
+0x472f 016643 branch push_queue_press_or_release 
+:      016645 shutter_key_release:
+0x4730 016646 call app_led_off 
+0x4731 016647 arg mem_key0_release ,regc 
+:      016649 push_queue_press_or_release:
+0x4732 016650 arg max_queue_num ,pdata 
+0x4733 016651 imul32 queue ,pdata 
+0x4734 016652 iadd regc ,regc 
+:      016655 push_buffer_in_queue:
+0x4735 016656 ifetch 1 ,regc 
+0x4736 016657 rtn blank 
+0x4737 016658 call queue_push_one_byte 
+0x4738 016659 increase 1 ,regc 
+0x4739 016660 branch push_buffer_in_queue 
+:      016663 shutter_send_data_to_master:
+0x473a 016664 fetch 2 ,mem_ui_state_map 
+0x473b 016665 bbit1 ui_state_ble_connected ,pop_queue_to_ble_data 
+0x473c 016666 bbit1 ui_state_bt_connected ,pop_queue_to_classic_data 
+0x473d 016667 rtn 
+:      016669 pop_queue_to_ble_data:
+0x473e 016670 call le_fifo_check_nearly_full 
+0x473f 016671 nrtn blank 
+0x4740 016672 call queue_pop_one_byte 
+0x4741 016673 nrtn user 
+0x4742 016674 pincrease -1 
+0x4743 016675 mul32 pdata ,shutter_ble_data_buffer ,pdata 
+0x4744 016676 arg mem_ble_data_buffer1 ,temp 
+0x4745 016677 iadd temp ,contr 
+:      016678 le_send_notify_from_list:
+0x4746 016679 ifetch 1 ,contr 
+0x4747 016680 copy pdata ,rega 
+0x4748 016681 ifetcht 2 ,contr 
+0x4749 016682 call store_contr 
+0x474a 016683 call le_att_malloc_tx_notify 
+0x474b 016684 copy rega ,loopcnt 
+0x474c 016685 call get_contr 
+0x474d 016686 branch memcpy 
+:      016689 pop_queue_to_classic_data:
+0x474e 016690 call l2cap_malloc_is_fifo_nearly_full 
+0x474f 016691 nrtn blank 
+0x4750 016692 call queue_pop_one_byte 
+0x4751 016693 nrtn user 
+0x4752 016694 pincrease -1 
+0x4753 016695 mul32 pdata ,shutter_classic_data_buffer ,pdata 
+0x4754 016696 arg mem_classic_data_buffer1 ,temp 
+0x4755 016697 iadd temp ,contr 
+0x4756 016698 ifetch 5 ,contr 
+0x4757 016699 store 5 ,mem_classic_data_buffer 
+:      016700 classic_send_hid_data:
+0x4758 016701 fetch 1 ,mem_classic_data_buffer 
+0x4759 016702 copy pdata ,rega 
+0x475a 016703 call hid_malloc_tx_buff 
+0x475b 016704 fetch 2 ,mem_hid_int_remote_cid 
+0x475c 016705 istore 2 ,contw 
+0x475d 016706 setarg 0xa1 
+0x475e 016707 istore 1 ,contw 
+0x475f 016708 fetch 4 ,mem_classic_data_buffer + 1 
+0x4760 016709 istore 9 ,contw 
+0x4761 016710 rtn 
+:      016714 queue_push_one_byte:
+0x4762 016715 store 1 ,mem_pdatatemp 
+0x4763 016716 arg mem_pdatatemp ,rega 
+0x4764 016717 branch queue_push 
+:      016719 queue_pop_one_byte:
+0x4765 016720 arg mem_pdatatemp ,rega 
+0x4766 016721 call queue_pop 
+0x4767 016722 nrtn user 
+0x4768 016723 fetch 1 ,mem_pdatatemp 
+0x4769 016724 rtn 
+:      016727 ble_shutter_receive_data:
+0x476a 016728 fetch 2 ,mem_le_att_handle 
+0x476b 016729 beq gatt_keyboard_write_handle ,ble_shutter_process_reconnect_complete 
+0x476c 016730 rtn 
+:      016732 shutter_init_param:
+0x476d 016733 setarg 0x02 
+0x476e 016734 store 1 ,mem_shutter_power_off_timeout 
+0x476f 016736 setarg 0x00200008 
+0x4770 016737 store 4 ,mem_ble_shutter_interval_min 
+0x4771 016738 setarg 0x012c0005 
+0x4772 016739 istore 4 ,contw 
+0x4773 016742 jam 0x17 ,mem_le_local_mtu 
+0x4774 016745 setarg 0x1b 
+0x4775 016746 store 2 ,mem_le_pairing_handle 
+0x4776 016747 call le_set_config_fixed_ltk 
+0x4777 016748 call le_set_fixed_ltk 
+0x4778 016749 call le_set_justwork 
+0x4779 016750 branch le_set_config_read_authentication 
+:      016753 shutter_load_buffer_config_form_datarom:
+0x477a 016755 arg ble_key_value_list_size ,loopcnt 
+0x477b 016756 arg mem_ble_data_buffer1 ,contw 
+0x477c 016757 arg ble_shutter_key_value_list ,contr 
+0x477d 016758 call memcpy_fast 
+0x477e 016759 arg bt_key_value_list_size ,loopcnt 
+0x477f 016760 arg mem_classic_data_buffer1 ,contw 
+0x4780 016761 arg classic_shutter_key_value_list ,contr 
+0x4781 016762 branch memcpy_fast 
+:      016765 shutter_load_ble_gatt_form_datarom:
+0x4782 016766 arg ble_gatt_list_size ,loopcnt 
+0x4783 016767 arg ble_shutter_gatt_list ,contr 
+0x4784 016768 branch memcpy_fast 
+:      016771 shutter_load_bt_sdp_form_datarom:
+0x4785 016772 arg bt_sdp_list_size ,loopcnt 
+0x4786 016773 arg classic_shutter_sdp_list ,contr 
+0x4787 016774 branch memcpy_fast 
+:      016778 shutter_init_bluetooth_config:
+0x4788 016779 call shutter_check_load_config_flag 
+0x4789 016780 nrtn user 
+0x478a 016781 fetch 1 ,mem_shutter_config_select_gpio1 
+0x478b 016782 call shutter_init_bluetooth_config_gpio_input 
+0x478c 016783 fetch 1 ,mem_shutter_config_select_gpio2 
+0x478d 016784 call shutter_init_bluetooth_config_gpio_input 
+0x478e 016785 fetch 1 ,mem_shutter_config_select_gpio3 
+0x478f 016786 branch shutter_init_bluetooth_config_gpio_input 
+:      016788 shutter_init_bluetooth_config_gpio_input:
+0x4790 016789 rtn blank 
+0x4791 016790 or pdata ,0x80 ,temp 
+0x4792 016791 branch gpio_config_input_nowake 
+:      016794 shutter_load_bluetooth_config:
+0x4793 016795 call shutter_check_load_config_flag 
+0x4794 016796 nrtn user 
+0x4795 016797 call shutter_load_bluetooth_config_label 
+0x4796 016798 branch shutter_load_bluetooth_config_by_otp 
+:      016800 shutter_load_bluetooth_config_label:
+0x4797 016801 arg 0 ,rega 
+0x4798 016802 fetch 1 ,mem_shutter_config_select_gpio1 
+0x4799 016803 call shutter_load_bluetooth_config_read_gpio_input 
+0x479a 016804 nsetflag blank ,0 ,rega 
+0x479b 016805 fetch 1 ,mem_shutter_config_select_gpio2 
+0x479c 016806 call shutter_load_bluetooth_config_read_gpio_input 
+0x479d 016807 nsetflag blank ,1 ,rega 
+0x479e 016808 fetch 1 ,mem_shutter_config_select_gpio3 
+0x479f 016809 call shutter_load_bluetooth_config_read_gpio_input 
+0x47a0 016810 nsetflag blank ,2 ,rega 
+0x47a1 016811 copy rega ,pdata 
+0x47a2 016812 store 1 ,mem_shutter_config_label 
+0x47a3 016813 fetch 1 ,mem_shutter_config_size 
+0x47a4 016814 imul32 rega ,pdata 
+0x47a5 016815 fetcht 2 ,mem_shutter_config_otp_base_address 
+0x47a6 016816 iadd temp ,pdata 
+0x47a7 016817 store 2 ,mem_shutter_config_otp_addr 
+0x47a8 016818 rtn 
+:      016820 shutter_load_bluetooth_config_read_gpio_input:
+0x47a9 016821 rtn blank 
+0x47aa 016822 or pdata ,0x80 ,temp 
+0x47ab 016823 call gpio_get_bit 
+0x47ac 016824 nbranch enable_blank ,true 
+0x47ad 016825 branch disable_blank 
+:      016828 shutter_check_load_config_flag:
+0x47ae 016829 call disable_user 
+0x47af 016830 fetch 1 ,mem_shutter_config_user_size 
+0x47b0 016831 nrtn blank 
+0x47b1 016832 fetch 1 ,mem_shutter_config_enable 
+0x47b2 016833 rtn blank 
+0x47b3 016834 branch enable_user 
+:      016837 shutter_load_bluetooth_config_by_otp:
+0x47b4 016838 call otp_enable_chgpump 
+0x47b5 016839 fetch 2 ,mem_shutter_config_otp_addr 
+0x47b6 016840 arg mem_shutter_config_data_temp ,rega 
+0x47b7 016841 fetcht 1 ,mem_shutter_config_size 
+0x47b8 016842 call otpd_read_data 
+0x47b9 016843 call otp_disable_chgpump 
+:      016844 shutter_load_bluetooth_config_store_name:
+0x47ba 016845 fetch 1 ,mem_shutter_config_data_temp 
+0x47bb 016846 copy pdata ,loopcnt 
+0x47bc 016847 store 1 ,mem_le_name_len 
+0x47bd 016848 call memcpy_fast 
+0x47be 016849 fetch 1 ,mem_shutter_config_data_temp 
+0x47bf 016850 copy pdata ,loopcnt 
+0x47c0 016851 store 1 ,mem_local_name_length 
+0x47c1 016852 call memcpy_fast 
+0x47c2 016853 ifetch 1 ,contr 
+0x47c3 016854 store 1 ,mem_shutter_key_num 
+0x47c4 016855 ifetch 1 ,contr 
+0x47c5 016856 store 1 ,mem_shutter_hard_soft_switch_case 
+0x47c6 016857 rtn 
+:      016860 shutter_load_bluetooth_config_by_eeprom:
+0x47c7 016861 fetch 1 ,mem_shutter_bluetooth_type 
+0x47c8 016862 rtnbit0 classic_shutter 
+0x47c9 016863 arg 3 ,temp 
+0x47ca 016864 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+0x47cb 016865 copy pdata ,regb 
+0x47cc 016866 arg mem_shutter_config_eeprom_start_flag ,rega 
+0x47cd 016867 call iicd_read_eep_data 
+0x47ce 016868 fetcht 2 ,mem_shutter_config_eeprom_start_flag 
+0x47cf 016869 setarg shutter_eeprom_config_crc 
+0x47d0 016870 isub temp ,null 
+0x47d1 016871 nrtn zero 
+0x47d2 016872 fetch 1 ,mem_shutter_config_user_size 
+0x47d3 016873 rtn blank 
+0x47d4 016874 copy pdata ,temp 
+0x47d5 016875 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+0x47d6 016876 add pdata ,3 ,regb 
+0x47d7 016877 arg mem_shutter_config_data_temp ,rega 
+0x47d8 016878 call iicd_read_eep_data 
+0x47d9 016879 branch shutter_store_config 
+:      016881 shutter_load_bluetooth_config_by_user_config:
+0x47da 016882 fetch 2 ,mem_shutter_config_user_otp_address 
+0x47db 016883 rtn blank 
+0x47dc 016884 call otp_enable_chgpump 
+0x47dd 016885 arg 1 ,temp 
+0x47de 016886 arg mem_shutter_config_user_size ,rega 
+0x47df 016887 call otpd_read_data 
+0x47e0 016889 fetch 1 ,mem_shutter_config_user_size 
+0x47e1 016890 rtn blank 
+0x47e2 016892 fetch 2 ,mem_shutter_config_user_otp_address 
+0x47e3 016893 pincrease 1 
+0x47e4 016894 arg mem_shutter_config_data_temp ,rega 
+0x47e5 016895 fetcht 1 ,mem_shutter_config_user_size 
+0x47e6 016896 call otpd_read_data 
+0x47e7 016897 call otp_disable_chgpump 
+:      016898 shutter_store_config:
+0x47e8 016899 call shutter_load_bluetooth_config_store_name 
+:      016900 shutter_load_bluetooth_config_custom:
+0x47e9 016901 ifetch 2 ,contr 
+0x47ea 016902 rtn blank 
+0x47eb 016903 copy pdata ,contw 
+0x47ec 016904 ifetcht 1 ,contr 
+0x47ed 016905 copy temp ,loopcnt 
+0x47ee 016906 call memcpy 
+0x47ef 016907 branch shutter_load_bluetooth_config_custom 
+:      016911 shutter_random_mac_addr:
+0x47f0 016912 fetch 1 ,mem_shutter_bluetooth_type 
+0x47f1 016913 rtnbit0 classic_shutter 
+0x47f2 016914 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+0x47f3 016915 copy pdata ,regb 
+0x47f4 016916 arg 4 ,temp 
+0x47f5 016917 arg mem_shutter_random_mac_data_temp ,rega 
+0x47f6 016918 call iicd_read_eep_data 
+0x47f7 016919 fetch 1 ,mem_shutter_random_mac_data_temp 
+0x47f8 016920 bne 1 ,shutter_write_random_mac_addr_to_eeprom 
+:      016921 shutter_write_random_mac_addr_to_eeprom:
+0x47f9 016922 setarg 1 
+0x47fa 016923 store 1 ,mem_shutter_random_mac_data_temp 
+0x47fb 016924 force 3 ,loopcnt 
+0x47fc 016925 call generate_random_loop 
+0x47fd 016926 fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+0x47fe 016927 copy pdata ,regb 
+0x47ff 016928 arg 4 ,temp 
+0x4800 016929 arg mem_shutter_random_mac_data_temp ,rega 
+0x4801 016930 call iicd_write_eep_data 
+:      016931 shutter_write_random_mac_addr:
+0x4802 016932 fetch 3 ,mem_shutter_random_mac_data_temp + 1 
+0x4803 016933 store 3 ,mem_lap 
+0x4804 016934 store 3 ,mem_le_lap 
+0x4805 016935 rtn 
+:      016938 shutter_soft_swtich_power_on:
+0x4806 016939 branch shutter_start_reconnect 
+:      016942 shutter_soft_swtich_power_off:
+0x4807 016943 arg 0 ,rega 
+0x4808 016944 arg mem_shutter_power_off_led_style ,regc 
+0x4809 016945 call ui_led_set_style_global 
+0x480a 016946 call shutter_disconnect_current_connection 
+:      016947 shutter_wait_power_off:
+0x480b 016948 fetch 1 ,mem_shutter_power_off_timeout 
+0x480c 016949 store 1 ,mem_shutter_power_off_timer 
+0x480d 016950 rtn 
+:      016954 ui_soft_swtich_init:
+0x480e 016955 setarg ss_state_power_up 
+0x480f 016956 call ui_soft_swtich_init_power_on_time 
+0x4810 016957 jam ui_button_state_up ,mem_ui_button_last_state 
+0x4811 016958 call ui_button_init 
+0x4812 016959 call ui_button_polling 
+0x4813 016960 fetch 2 ,mem_ui_state_map 
+0x4814 016961 rtnbit1 ui_state_btn_down 
+0x4815 016962 branch app_enter_hibernate 
+:      016964 ui_soft_swtich_init_power_on_time:
+0x4816 016965 fetcht 2 ,mem_power_param_ptr 
+0x4817 016966 istore 1 ,temp 
+0x4818 016967 ifetch 1 ,contw 
+0x4819 016968 store 1 ,mem_ui_button_timeout 
+0x481a 016969 rtn 
+:      016972 ui_soft_switch_botton_up:
+0x481b 016973 fetch 2 ,mem_power_param_ptr 
+0x481c 016974 ifetch 1 ,pdata 
+0x481d 016975 rtnne ss_state_power_up 
+0x481e 016976 branch app_enter_hibernate 
+:      016979 ui_soft_switch_botton_long_press:
+0x481f 016980 fetcht 2 ,mem_power_param_ptr 
+0x4820 016981 ifetch 1 ,temp 
+0x4821 016982 beq ss_state_power_on ,ui_soft_switch_power_off 
+:      016983 ui_soft_switch_power_on:
+0x4822 016984 setarg ss_state_power_on 
+0x4823 016985 fetcht 2 ,mem_power_param_ptr 
+0x4824 016986 istore 1 ,temp 
+0x4825 016987 add temp ,ss_power_off_time ,contr 
+0x4826 016988 ifetch 1 ,contr 
+0x4827 016989 istore 1 ,mem_ui_button_timeout 
+0x4828 016990 ifetch 2 ,contr 
+0x4829 016991 branch callback_func 
+:      016993 ui_soft_switch_power_off:
+0x482a 016994 setarg ss_state_power_off 
+0x482b 016995 call ui_soft_swtich_init_power_on_time 
+0x482c 016996 add temp ,ss_power_off_cb ,contr 
+0x482d 016997 ifetch 2 ,contr 
+0x482e 016998 branch app_enter_hibernate ,blank 
+0x482f 016999 branch callback_func 
+:      017005 shutter_byteswap:
+0x4830 017006 store 6 ,mem_tmp_buffer 
+0x4831 017007 fetch 1 ,mem_tmp_buffer 
+0x4832 017008 store 1 ,mem_tmp_buffer + 11 
+0x4833 017009 ifetch 1 ,contr 
+0x4834 017010 store 1 ,mem_tmp_buffer + 10 
+0x4835 017011 ifetch 1 ,contr 
+0x4836 017012 store 1 ,mem_tmp_buffer + 9 
+0x4837 017013 ifetch 1 ,contr 
+0x4838 017014 store 1 ,mem_tmp_buffer + 8 
+0x4839 017015 ifetch 1 ,contr 
+0x483a 017016 store 1 ,mem_tmp_buffer + 7 
+0x483b 017017 ifetch 1 ,contr 
+0x483c 017018 store 1 ,mem_tmp_buffer + 6 
+0x483d 017019 fetch 6 ,mem_tmp_buffer + 6 
+0x483e 017020 rtn 
+:      017022 shutter_random_addr_by_otp:
+0x483f 017023 call load_adc_init 
+0x4840 017024 fetch 1 ,mem_1v_adc_io_data 
+0x4841 017025 store 1 ,mem_le_lap 
+0x4842 017026 fetch 1 ,mem_5v_adc_hvin_data 
+0x4843 017027 istore 1 ,contw 
+0x4844 017028 fetch 1 ,mem_3v_adc_vinlpm_data 
+0x4845 017029 istore 1 ,contw 
+0x4846 017030 fetch 3 ,mem_le_lap 
+0x4847 017031 store 3 ,mem_lap 
+0x4848 017032 rtn 
+:      017044 sim_iic_read_eep_data:
+0x4849 017045 fetch 2 ,mem_eeprom_base 
+0x484a 017046 iadd regb ,pdata 
+0x484b 017047 byteswap pdata ,pdata 
+0x484c 017048 store 2 ,mem_addr_mi 
+0x484d 017049 copy temp ,regb 
+0x484e 017051 call sim_iic_start 
+0x484f 017052 setarg 0xa0 
+0x4850 017053 call sim_iic_send_byte 
+0x4851 017054 fetch 1 ,mem_addr_mi 
+0x4852 017055 call sim_iic_send_byte 
+0x4853 017056 bmark1 mark_eeprom_size ,sim_iic_read_eep_data_2k 
+0x4854 017057 fetch 1 ,mem_addr_mi + 1 
+0x4855 017058 call sim_iic_send_byte 
+:      017059 sim_iic_read_eep_data_2k:
+0x4856 017060 call sim_iic_stop 
+0x4857 017062 call sim_iic_start 
+0x4858 017063 setarg 0xa1 
+0x4859 017064 call sim_iic_send_byte 
+:      017066 sim_iic_read_eep_data_loop:
+0x485a 017067 call sim_iic_read_byte 
+0x485b 017068 istore 1 ,rega 
+0x485c 017069 increase 1 ,rega 
+0x485d 017070 increase -1 ,regb 
+0x485e 017071 nbranch sim_iic_read_eep_data_loop ,zero 
+0x485f 017072 branch sim_iic_stop 
+:      017083 sim_iic_write_eep_data:
+0x4860 017084 byteswap regb ,pdata 
+0x4861 017085 store 2 ,mem_addr_mi 
+0x4862 017086 copy temp ,regb 
+0x4863 017088 call sim_iic_start 
+0x4864 017089 setarg 0xa0 
+0x4865 017090 call sim_iic_send_byte 
+0x4866 017092 fetch 1 ,mem_addr_mi 
+0x4867 017093 call sim_iic_send_byte 
+0x4868 017094 bmark1 mark_eeprom_size ,sim_iic_write_eep_data_loop 
+0x4869 017095 fetch 1 ,mem_addr_mi + 1 
+0x486a 017096 call sim_iic_send_byte 
+:      017097 sim_iic_write_eep_data_loop:
+0x486b 017098 ifetch 1 ,rega 
+0x486c 017099 call sim_iic_send_byte 
+0x486d 017100 increase 1 ,rega 
+0x486e 017101 increase -1 ,regb 
+0x486f 017102 nbranch sim_iic_write_eep_data_loop ,zero 
+0x4870 017103 branch sim_iic_stop 
+:      017107 sim_iic_wait_ack:
+0x4871 017108 arg 10 ,loopcnt 
+0x4872 017109 call sim_iic_release_sda 
+0x4873 017110 call sim_iic_scl_output_high 
+0x4874 017111 call sim_iic_delay 
+:      017112 sim_iic_wait_ack_loop:
+0x4875 017113 call sim_iic_read_sda_level 
+0x4876 017114 branch sim_iic_scl_output_low ,blank 
+0x4877 017115 loop sim_iic_wait_ack_loop 
+0x4878 017116 branch sim_iic_scl_output_low 
+:      017120 sim_iic_ack_slave:
+0x4879 017121 call sim_iic_scl_output_low 
+0x487a 017122 call sim_iic_sda_output_low 
+0x487b 017123 call sim_iic_delay 
+0x487c 017124 call sim_iic_scl_output_high 
+0x487d 017125 call sim_iic_delay 
+0x487e 017126 branch sim_iic_scl_output_low 
+:      017131 sim_iic_read_byte:
+0x487f 017132 arg 8 ,loopcnt 
+0x4880 017133 arg 0 ,regc 
+0x4881 017134 call sim_iic_release_sda 
+:      017135 sim_iic_read_byte_loop:
+0x4882 017136 call sim_iic_scl_output_high 
+0x4883 017137 call sim_iic_delay 
+0x4884 017138 lshift regc ,regc 
+0x4885 017139 call sim_iic_read_sda_level 
+0x4886 017140 iadd regc ,regc 
+0x4887 017141 call sim_iic_delay 
+0x4888 017142 call sim_iic_scl_output_low 
+0x4889 017143 loop sim_iic_read_byte_loop 
+0x488a 017144 call sim_iic_ack_slave 
+0x488b 017145 copy regc ,pdata 
+0x488c 017146 rtn 
+:      017150 sim_iic_send_byte:
+0x488d 017151 arg 8 ,loopcnt 
+0x488e 017152 copy pdata ,regc 
+0x488f 017153 call sim_iic_scl_output_low 
+:      017154 sim_iic_send_byte_loop:
+0x4890 017155 isolate1 7 ,regc 
+0x4891 017156 call sim_iic_sda_output_high ,true 
+0x4892 017157 ncall sim_iic_sda_output_low ,true 
+0x4893 017158 lshift regc ,regc 
+0x4894 017159 call sim_iic_delay 
+0x4895 017160 call sim_iic_scl_output_high 
+0x4896 017161 call sim_iic_delay 
+0x4897 017162 call sim_iic_scl_output_low 
+0x4898 017163 call sim_iic_delay 
+0x4899 017164 loop sim_iic_send_byte_loop 
+0x489a 017165 branch sim_iic_wait_ack 
+:      017169 sim_iic_start:
+0x489b 017170 call sim_iic_sda_output_high 
+0x489c 017171 call sim_iic_scl_output_high 
+0x489d 017172 call sim_iic_delay 
+0x489e 017173 call sim_iic_sda_output_low 
+0x489f 017174 call sim_iic_delay 
+0x48a0 017175 branch sim_iic_scl_output_low 
+:      017179 sim_iic_stop:
+0x48a1 017180 call sim_iic_sda_output_low 
+0x48a2 017181 call sim_iic_scl_output_high 
+0x48a3 017182 call sim_iic_delay 
+0x48a4 017183 call sim_iic_sda_output_high 
+0x48a5 017184 branch sim_iic_delay 
+:      017188 sim_iic_scl_output_high:
+0x48a6 017189 enable user 
+0x48a7 017190 fetch 1 ,sim_iic_scl_gpio_num 
+0x48a8 017191 branch sim_iic_config_gpio 
+:      017194 sim_iic_scl_output_low:
+0x48a9 017195 disable user 
+0x48aa 017196 fetch 1 ,sim_iic_scl_gpio_num 
+0x48ab 017197 branch sim_iic_config_gpio 
+:      017200 sim_iic_sda_output_high:
+0x48ac 017201 enable user 
+0x48ad 017202 fetch 1 ,sim_iic_sda_gpio_num 
+0x48ae 017203 branch sim_iic_config_gpio 
+:      017206 sim_iic_sda_output_low:
+0x48af 017207 disable user 
+0x48b0 017208 fetch 1 ,sim_iic_sda_gpio_num 
+0x48b1 017209 branch sim_iic_config_gpio 
+:      017214 sim_iic_config_gpio:
+0x48b2 017215 and pdata ,0x07 ,queue 
+0x48b3 017216 rshift3 pdata ,pdata 
+0x48b4 017217 arg core_gpio_oe0 ,temp 
+0x48b5 017218 iadd temp ,temp 
+0x48b6 017219 ifetch 1 ,temp 
+0x48b7 017220 qset1 pdata 
+0x48b8 017221 istore 1 ,temp 
+0x48b9 017222 increase 4 ,temp 
+0x48ba 017223 ifetch 1 ,temp 
+0x48bb 017224 qsetflag user ,pdata 
+0x48bc 017225 istore 1 ,temp 
+0x48bd 017226 rtn 
+:      017229 sim_iic_release_sda:
+0x48be 017230 fetch 1 ,sim_iic_sda_gpio_num 
+0x48bf 017231 and pdata ,0x07 ,queue 
+0x48c0 017232 rshift3 pdata ,pdata 
+0x48c1 017233 arg core_gpio_oe0 ,temp 
+0x48c2 017234 iadd temp ,temp 
+0x48c3 017235 ifetch 1 ,temp 
+0x48c4 017236 qset0 pdata 
+0x48c5 017237 istore 1 ,temp 
+0x48c6 017238 rtn 
+:      017243 sim_iic_read_sda_level:
+0x48c7 017244 nop 4 
+0x48c8 017245 fetch 1 ,sim_iic_sda_gpio_num 
+0x48c9 017246 and pdata ,0x07 ,queue 
+0x48ca 017247 rshift3 pdata ,pdata 
+0x48cb 017248 arg core_gpio_in ,temp 
+0x48cc 017249 iadd temp ,temp 
+0x48cd 017250 setarg 0 
+0x48ce 017251 ifetcht 1 ,temp 
+0x48cf 017252 qisolate1 temp 
+0x48d0 017253 setflag true ,0 ,pdata 
+0x48d1 017254 rtn 
+:      017257 sim_iic_delay:
+0x48d2 017259 rtn 
+:      017265 usb_isr:
+0x48d3 017266 bpatch patch1e_6 ,mem_patch1e 
+0x48d4 017267 hfetch 1 ,core_usb_status 
+0x48d5 017268 isolate1 7 ,pdata 
+0x48d6 017269 call usb_init ,true 
+0x48d7 017270 call usb_nak_state_judge 
+0x48d8 017271 hfetch 1 ,core_usb_status 
+0x48d9 017272 store 1 ,mem_usb_status 
+0x48da 017273 hfetch 1 ,core_usb_fifo_empty 
+0x48db 017274 store 1 ,mem_usb_fifo_empty 
+0x48dc 017275 hstore 1 ,core_usb_fifo_empty 
+0x48dd 017276 pinvert 
+0x48de 017277 fetcht 1 ,mem_usb_tx_wait 
+0x48df 017278 iand temp ,pdata 
+0x48e0 017279 store 1 ,mem_usb_tx_wait 
+0x48e1 017280 jam 0xe0 ,core_usb_status 
+0x48e2 017281 fetch 1 ,mem_usb_fifo_empty 
+0x48e3 017282 compare 0x1 ,pdata ,0x1 
+0x48e4 017283 call usb0_fifo_empty ,true 
+0x48e5 017284 fetch 1 ,mem_usb_status 
+0x48e6 017285 compare 0x1 ,pdata ,0x1 
+0x48e7 017286 call usb_status1 ,true 
+0x48e8 017287 call usb_tx 
+0x48e9 017288 branch usb_nak_state 
+:      017290 usb_init:
+0x48ea 017291 bpatch patch1e_7 ,mem_patch1e 
+0x48eb 017292 call usb_init_param 
+0x48ec 017293 jam 0x00 ,core_usb_config 
+0x48ed 017294 nop 10000 
+0x48ee 017295 jam 0xc0 ,core_usb_trig 
+0x48ef 017296 hfetch 2 ,core_clkoff 
+0x48f0 017297 set0 clock_off_usb ,pdata 
+0x48f1 017298 hstore 2 ,core_clkoff 
+0x48f2 017299 jam 0x3c ,core_usb_config 
+0x48f3 017300 jam 0xff ,core_usb_status 
+0x48f4 017301 jam 0xff ,core_usb_fifo_empty 
+0x48f5 017302 jam 0 ,core_usb_addr 
+0x48f6 017303 jam dev_default ,mem_usb0_state 
+0x48f7 017304 setarg mem_usb_clear_mem_end 
+0x48f8 017305 arg mem_usb_clear_mem_start ,contw 
+0x48f9 017306 isub contw ,loopcnt 
+0x48fa 017307 branch clear_mem 
+:      017309 usb_offline_check_init:
+0x48fb 017310 fetcht 1 ,mem_usb_offline_check_gpio 
+0x48fc 017311 branch gpio_config_input 
+:      017312 usb_offline_state:
+0x48fd 017313 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x48fe 017314 rtn blank 
+0x48ff 017315 fetcht 1 ,mem_usb_offline_check_gpio 
+0x4900 017316 call gpio_get_bit 
+0x4901 017317 branch usb_init ,true 
+0x4902 017318 rtn 
+:      017321 usb_nak_state:
+0x4903 017322 arg timer_nak ,queue 
+0x4904 017323 call timer_check 
+0x4905 017324 nrtn blank 
+0x4906 017325 fetch 1 ,mem_usb_wakestate_onetime_flag 
+0x4907 017326 nrtn blank 
+0x4908 017327 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x4909 017328 ncall usb_mac_wakeup_judge ,blank 
+0x490a 017329 rtn 
+:      017331 usb_mem_devicedesc_init:
+0x490b 017332 arg mem_devicedesc ,contw 
+0x490c 017333 setsect 0 ,0x11212 
+0x490d 017334 setsect 1 ,0x8000 
+0x490e 017335 setsect 2 ,0x0 
+0x490f 017336 setsect 3 ,0x10000 
+0x4910 017337 istore 9 ,contw 
+0x4911 017338 setsect 0 ,0x22412 
+0x4912 017339 setsect 1 ,0x8604 
+0x4913 017340 setsect 2 ,0x1000 
+0x4914 017341 setsect 3 ,0x8 
+0x4915 017342 istore 9 ,contw 
+0x4916 017343 setsect 0 ,0x1 
+0x4917 017344 istore 1 ,contw 
+0x4918 017345 rtn 
+:      017347 usb_init_param:
+0x4919 017348 jam 2 ,mem_usb0_state 
+0x491a 017349 setarg 0x0 
+0x491b 017350 store 1 ,mem_remain 
+0x491c 017351 store 2 ,mem_usb_zero_packet 
+0x491d 017352 pincrease 1 
+0x491e 017353 store 2 ,mem_usb_ones_packet 
+0x491f 017354 pincrease 1 
+0x4920 017355 store 2 ,mem_usb_two_packet 
+0x4921 017356 setarg hid_kbdata_addr 
+0x4922 017357 store 2 ,mem_hidreportdesc_kb 
+0x4923 017358 setarg hid_msdata_addr 
+0x4924 017359 store 2 ,mem_hidreportdesc_m 
+0x4925 017360 arg mem_confdesc ,contw 
+0x4926 017361 arg hid_confdata_addr ,contr 
+0x4927 017362 call memcpy64 
+0x4928 017363 fetch 1 ,mem_usb_tx_interval 
+0x4929 017364 ncall usb_tx_interval_config ,blank 
+0x492a 017365 branch usb_mem_devicedesc_init 
+:      017367 usb_tx_interval_config:
+0x492b 017368 store 1 ,mem_confdesc + 34 
+0x492c 017369 store 1 ,mem_confdesc + 59 
+0x492d 017370 rtn 
+:      017371 usb_nak_state_judge:
+0x492e 017372 hfetch 1 ,core_usb_status 
+0x492f 017373 bbit1 usb_status_nak ,usb_nak_state_timer_init 
+0x4930 017374 rtn 
+:      017376 usb_nak_state_timer_init:
+0x4931 017377 call usb0_attached_state_judge 
+0x4932 017378 call timer_reinit 
+0x4933 017379 setarg timer_nak_delay 
+0x4934 017380 arg timer_nak ,queue 
+0x4935 017381 branch timer_init 
+:      017383 usb0_attached_state_judge:
+0x4936 017384 fetch 1 ,mem_usb_state 
+0x4937 017385 bne usb_connected ,usb_clear_halt_dispose 
+0x4938 017386 jam 0 ,mem_usb_wakestate_onetime_flag 
+0x4939 017387 jam 0 ,mem_usb_mac_wakeup_trig 
+0x493a 017388 rtn 
+:      017389 usb_clear_halt_dispose:
+0x493b 017390 fetch 1 ,mem_usb_clear_halt 
+0x493c 017391 rtn blank 
+0x493d 017392 jam 0 ,mem_usb_clear_halt 
+0x493e 017393 jam usb_connected ,mem_usb_state 
+0x493f 017394 jam 1 ,mem_usb_device_enumeration_endflag 
+0x4940 017395 rtn 
+:      017397 usb0_fifo_empty:
+0x4941 017398 jam 0x1 ,core_usb_fifo_empty 
+0x4942 017399 branch usb0_tx 
+:      017401 usb_rx_no_data:
+0x4943 017402 fetch 1 ,mem_usb_status 
+0x4944 017403 bbit1 usb_status_setup ,usb_class_type 
+0x4945 017404 rtn 
+:      017406 usb_rx_read:
+0x4946 017407 hfetch 1 ,core_usb_ep 
+0x4947 017408 istore 1 ,contw 
+0x4948 017409 loop usb_rx_read 
+0x4949 017410 rtn 
+:      017412 usb_status1:
+0x494a 017413 bpatch patch1f_0 ,mem_patch1f 
+0x494b 017414 jam 0x11 ,core_usb_status 
+0x494c 017415 hfetch 1 ,core_usb_ep_len 
+0x494d 017416 store 1 ,mem_usb_read_len 
+0x494e 017417 copy pdata ,loopcnt 
+0x494f 017418 branch usb_rx_no_data ,blank 
+0x4950 017419 arg mem_usb_setup ,contw 
+0x4951 017420 call usb_rx_read 
+0x4952 017421 fetch 1 ,mem_usb_read_len 
+0x4953 017422 sub pdata ,7 ,null 
+0x4954 017423 rtn positive 
+:      017424 usb_class_type:
+0x4955 017425 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4956 017426 and_into 0x80 ,pdata 
+0x4957 017427 beq in_device ,usb_in_device 
+0x4958 017428 beq out_device ,usb_out_device 
+0x4959 017429 branch assert 
+:      017431 usb_in_device:
+0x495a 017432 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x495b 017433 rshift4 pdata ,pdata 
+0x495c 017434 rshift pdata ,pdata 
+0x495d 017435 and_into 0x03 ,pdata 
+0x495e 017436 beq standard_req ,usb_in_standard_req 
+0x495f 017437 beq class_req ,usb_in_class_req 
+0x4960 017438 beq manufacturer_req ,usb_in_manufacturer_req 
+0x4961 017439 branch assert 
+:      017441 usb_out_device:
+0x4962 017442 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4963 017443 rshift4 pdata ,pdata 
+0x4964 017444 rshift pdata ,pdata 
+0x4965 017445 and_into 0x03 ,pdata 
+0x4966 017446 beq standard_req ,usb_out_standard_req 
+0x4967 017447 beq class_req ,usb_out_class_req 
+0x4968 017448 beq manufacturer_req ,usb_out_manufacturer_req 
+0x4969 017449 branch assert 
+:      017451 usb_in_standard_req:
+0x496a 017452 fetch 1 ,mem_usb_setup_brequest 
+0x496b 017453 beq get_configuration ,usb0_request_get_configuration 
+0x496c 017454 beq get_descriptor ,usb0_request_get_descriptor 
+0x496d 017455 beq get_interface ,usb0_request_get_interface 
+0x496e 017456 beq get_status ,usb0_request_get_status 
+0x496f 017457 branch usb0_force_stall 
+:      017459 usb_in_class_req:
+0x4970 017460 fetch 1 ,mem_usb_setup_brequest 
+0x4971 017461 beq get_idle ,usb_get_idle 
+0x4972 017462 beq get_report ,usb_get_report 
+0x4973 017463 beq get_protocol ,usb_get_protocol_req 
+0x4974 017464 branch usb0_force_stall 
+:      017466 usb_in_manufacturer_req:
+0x4975 017467 branch usb0_force_stall 
+:      017469 usb_out_standard_req:
+0x4976 017470 fetch 1 ,mem_usb_setup_brequest 
+0x4977 017471 beq clear_feature ,usb0_request_clear_feature 
+0x4978 017472 beq set_feature ,usb0_request_set_feature 
+0x4979 017473 beq set_address ,usb0_request_set_address 
+0x497a 017474 beq set_configuration ,usb0_request_set_configuration 
+0x497b 017475 beq set_interface ,usb0_request_set_interface 
+0x497c 017476 beq set_descriptor ,usb0_force_stall 
+0x497d 017477 branch usb0_force_stall 
+:      017479 usb_out_class_req:
+0x497e 017480 fetch 1 ,mem_usb_setup_brequest 
+0x497f 017481 beq set_idle ,usb_set_idle 
+0x4980 017482 beq set_report ,usb_set_report 
+0x4981 017483 beq set_protocol ,usb_set_protocol_req 
+0x4982 017484 branch usb0_force_stall 
+:      017486 usb_out_manufacturer_req:
+0x4983 017487 branch usb0_force_stall 
+:      017489 usb0_force_stall:
+0x4984 017490 hfetch 1 ,core_usb_stall 
+0x4985 017491 set1 0 ,pdata 
+0x4986 017492 hstore 1 ,core_usb_stall 
+0x4987 017493 branch usb0_reply_zerolen 
+:      017495 usb0_reply_zerolen:
+0x4988 017496 jam 0x40 ,core_usb_clear 
+0x4989 017497 rtn 
+:      017499 usb0_request_get_configuration:
+0x498a 017500 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x498b 017501 bne in_device ,usb0_force_stall 
+0x498c 017502 fetch 1 ,mem_usb_setup_windex 
+0x498d 017503 bne 0 ,usb0_force_stall 
+0x498e 017504 fetch 1 ,mem_usb_setup_windex + 1 
+0x498f 017505 bne 0 ,usb0_force_stall 
+0x4990 017506 fetch 1 ,mem_usb_setup_blength 
+0x4991 017507 bne 1 ,usb0_force_stall 
+0x4992 017508 fetch 1 ,mem_usb_setup_blengthh 
+0x4993 017509 bne 0 ,usb0_force_stall 
+0x4994 017510 fetch 1 ,mem_usb_setup_bvalue 
+0x4995 017511 bne 0 ,usb0_force_stall 
+0x4996 017512 fetch 1 ,mem_usb_setup_bvalue + 1 
+0x4997 017513 bne 0 ,usb0_force_stall 
+0x4998 017514 fetch 1 ,mem_usb0_state 
+0x4999 017515 beq dev_configured ,usb0_request_get_cfg_dev_cfg 
+0x499a 017516 beq dev_address ,usb0_request_get_cfg_dev_addr 
+0x499b 017517 branch usb0_force_stall 
+:      017519 usb0_request_get_cfg_dev_cfg:
+0x499c 017520 arg 1 ,regb 
+0x499d 017521 branch usb_send_ones_packet 
+:      017523 usb0_request_get_cfg_dev_addr:
+0x499e 017524 arg 1 ,regb 
+0x499f 017525 branch usb_send_zero_packet 
+:      017527 usb0_request_get_descriptor:
+0x49a0 017528 bpatch patch1f_1 ,mem_patch1f 
+0x49a1 017529 set0 mark_isstr ,mark 
+0x49a2 017530 fetch 1 ,mem_usb_setup_bvalueh 
+0x49a3 017531 beq dsc_device ,dsc_device_info 
+0x49a4 017532 beq dsc_config ,dsc_config_info 
+0x49a5 017533 beq dsc_string ,dsc_string_info 
+0x49a6 017534 beq dsc_hid ,dsc_hid_info 
+0x49a7 017535 beq dsc_hid_report ,dsc_hid_report_info 
+0x49a8 017536 branch usb0_force_stall 
+:      017538 dsc_hid_info:
+0x49a9 017539 jam 0 ,mem_usb_get_protocol_flag 
+0x49aa 017540 fetch 1 ,mem_usb_setup_windex 
+0x49ab 017541 beq 0 ,dsc_hid_info_interface0 
+0x49ac 017542 beq 1 ,dsc_hid_info_interface1 
+0x49ad 017543 branch usb0_force_stall 
+:      017545 dsc_hid_info_interface0:
+0x49ae 017546 arg mem_confdesc + 19 ,rega 
+0x49af 017547 ifetch 1 ,rega 
+0x49b0 017548 iforce regb 
+0x49b1 017549 branch usb0_respond 
+:      017551 dsc_hid_info_interface1:
+0x49b2 017552 arg mem_confdesc + 44 ,rega 
+0x49b3 017553 ifetch 1 ,rega 
+0x49b4 017554 iforce regb 
+0x49b5 017555 branch usb0_respond 
+:      017557 dsc_device_info:
+0x49b6 017561 fetch 1 ,mem_usb_set_high_addr_flag 
+0x49b7 017562 ncall usb_set_high_addr ,blank 
+0x49b8 017563 setarg mem_devicedesc 
+0x49b9 017564 fetcht 1 ,mem_devicedesc 
+:      017565 dsc_info_set_data_len:
+0x49ba 017566 store 2 ,mem_dsc_info_data_pointer 
+0x49bb 017567 storet 1 ,mem_dsc_info_len 
+0x49bc 017568 fetch 1 ,mem_usb_setup_blength 
+0x49bd 017569 isub temp ,null 
+0x49be 017570 nbranch dsc_info_set_current_data_len ,positive 
+:      017571 dsc_info_set_initial_data_len:
+0x49bf 017572 fetch 1 ,mem_dsc_info_len 
+:      017573 dsc_info_set_data_size_completed:
+0x49c0 017574 iforce regb 
+0x49c1 017575 fetch 2 ,mem_dsc_info_data_pointer 
+0x49c2 017576 add pdata ,1 ,pdata 
+0x49c3 017577 iforce rega 
+0x49c4 017578 branch usb0_respond 
+:      017579 dsc_info_set_current_data_len:
+0x49c5 017580 fetch 1 ,mem_usb_setup_blength 
+0x49c6 017581 branch dsc_info_set_data_size_completed 
+:      017583 usb_set_high_addr:
+0x49c7 017584 hfetch 1 ,core_usb_addr 
+0x49c8 017585 ncall usb0_set_addr ,blank 
+0x49c9 017586 jam 0 ,mem_usb_set_high_addr_flag 
+0x49ca 017587 rtn 
+:      017588 usb0_set_addr:
+0x49cb 017589 hfetch 1 ,core_usb_addr 
+0x49cc 017590 set1 7 ,pdata 
+0x49cd 017591 hstore 1 ,core_usb_addr 
+0x49ce 017592 rtn 
+:      017594 dsc_config_info:
+0x49cf 017595 setarg mem_confdesc 
+0x49d0 017596 fetcht 1 ,mem_confdesc 
+0x49d1 017597 branch dsc_info_set_data_len 
+:      017599 dsc_string_info:
+0x49d2 017600 fetch 1 ,mem_usb_setup_bvalue 
+0x49d3 017601 sub pdata ,3 ,null 
+0x49d4 017602 nbranch usb0_force_stall ,positive 
+0x49d5 017603 fetch 1 ,mem_usb_setup_bvalue 
+0x49d6 017604 arg mem_string0 ,rega 
+0x49d7 017605 beq 0 ,usb0_respond_length 
+0x49d8 017606 set1 mark_isstr ,mark 
+0x49d9 017607 arg mem_string1 ,rega 
+0x49da 017608 beq 1 ,usb0_respond_length 
+0x49db 017609 arg mem_string2 ,rega 
+0x49dc 017610 beq 2 ,usb0_respond_length 
+0x49dd 017611 arg mem_string3 ,rega 
+0x49de 017612 beq 3 ,usb0_respond_length 
+0x49df 017613 rtn 
+:      017615 dsc_hid_report_info:
+0x49e0 017616 fetch 2 ,mem_usb_setup_windex 
+0x49e1 017617 beq 1 ,dsc_hid_report_info0 
+0x49e2 017618 fetch 2 ,mem_hidreportdesc_kb 
+0x49e3 017619 copy pdata ,rega 
+0x49e4 017621 branch usb0_respond_length 
+:      017622 dsc_hid_report_info0:
+0x49e5 017623 jam 1 ,mem_usb_device_enumeration_endflag 
+0x49e6 017624 jam usb_got_report_req ,mem_usb_state 
+0x49e7 017625 fetch 2 ,mem_hidreportdesc_m 
+0x49e8 017626 copy pdata ,rega 
+0x49e9 017628 branch usb0_respond_length 
+:      017631 usb0_request_get_interface:
+0x49ea 017632 fetch 1 ,mem_usb0_state 
+0x49eb 017633 bne dev_configured ,usb0_force_stall 
+0x49ec 017634 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x49ed 017635 bne in_interface ,usb0_force_stall 
+0x49ee 017636 fetch 1 ,mem_usb_setup_bvalue 
+0x49ef 017637 bne 0 ,usb0_force_stall 
+0x49f0 017638 fetch 1 ,mem_usb_setup_bvalueh 
+0x49f1 017639 bne 0 ,usb0_force_stall 
+0x49f2 017640 fetch 1 ,mem_usb_setup_blength 
+0x49f3 017641 bne 1 ,usb0_force_stall 
+0x49f4 017642 fetch 1 ,mem_usb_setup_blengthh 
+0x49f5 017643 bne 0 ,usb0_force_stall 
+0x49f6 017644 fetch 1 ,mem_usb_setup_windex 
+0x49f7 017645 bne 0 ,usb0_force_stall 
+0x49f8 017646 fetch 1 ,mem_usb_setup_windex + 1 
+0x49f9 017647 bne 0 ,usb0_force_stall 
+0x49fa 017648 arg 1 ,regb 
+0x49fb 017649 branch usb_send_zero_packet 
+:      017652 usb0_request_get_status:
+0x49fc 017653 fetch 1 ,mem_usb0_state 
+0x49fd 017654 beq dev_default ,usb0_force_stall 
+0x49fe 017655 fetch 1 ,mem_usb_setup_bvalue 
+0x49ff 017656 bne 0 ,usb0_force_stall 
+0x4a00 017657 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a01 017658 bne 0 ,usb0_force_stall 
+0x4a02 017659 fetch 1 ,mem_usb_setup_blength 
+0x4a03 017660 bne 2 ,usb0_force_stall 
+0x4a04 017661 fetch 1 ,mem_usb_setup_blengthh 
+0x4a05 017662 bne 0 ,usb0_force_stall 
+0x4a06 017663 fetch 1 ,mem_usb_setup_windex + 1 
+0x4a07 017664 bne 0 ,usb0_force_stall 
+0x4a08 017665 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a09 017666 beq in_device ,usb0_get_status_in_device 
+0x4a0a 017667 beq in_interface ,usb0_get_status_in_interface 
+0x4a0b 017668 beq in_endpoint ,usb0_get_status_in_endpoint 
+0x4a0c 017669 branch usb0_force_stall 
+:      017671 usb0_get_status_in_device:
+0x4a0d 017672 fetch 1 ,mem_usb_setup_windex 
+0x4a0e 017673 bne 0 ,usb0_force_stall 
+0x4a0f 017674 arg 2 ,regb 
+0x4a10 017675 fetch 1 ,mem_usb_remote_wakeup 
+0x4a11 017676 beq 0x01 ,usb_send_two_packet 
+:      017678 usb_send_zero_packet:
+0x4a12 017679 arg mem_usb_zero_packet ,rega 
+0x4a13 017680 branch usb0_respond 
+:      017681 usb_send_ones_packet:
+0x4a14 017682 arg mem_usb_ones_packet ,rega 
+0x4a15 017683 branch usb0_respond 
+:      017684 usb_send_two_packet:
+0x4a16 017685 arg mem_usb_two_packet ,rega 
+0x4a17 017686 branch usb0_respond 
+:      017688 usb0_get_status_in_interface:
+0x4a18 017689 fetch 1 ,mem_usb0_state 
+0x4a19 017690 bne dev_configured ,usb0_force_stall 
+0x4a1a 017691 arg 2 ,regb 
+0x4a1b 017692 branch usb_send_zero_packet 
+:      017694 usb0_get_status_in_endpoint:
+0x4a1c 017695 fetch 1 ,mem_usb0_state 
+0x4a1d 017696 bne dev_configured ,usb0_force_stall 
+0x4a1e 017697 fetch 1 ,mem_usb_setup_windex 
+0x4a1f 017698 beq in_ep1 ,usb0_get_status_in_ep_in_ep1 
+0x4a20 017699 beq in_ep2 ,usb0_get_status_in_ep_in_ep2 
+0x4a21 017700 beq in_ep3 ,usb0_get_status_in_ep_in_ep3 
+0x4a22 017701 and_into 0x7f ,pdata 
+0x4a23 017702 beq 0x00 ,usb0_get_status_in_ep_in_ep0 
+0x4a24 017703 branch usb0_force_stall 
+:      017705 usb0_get_status_in_ep_in_ep0:
+0x4a25 017706 fetch 1 ,mem_usb_ep0_stall_status 
+:      017707 usb0_get_status_in_ep_in_ack:
+0x4a26 017708 arg 2 ,regb 
+0x4a27 017709 beq 1 ,usb_send_ones_packet 
+0x4a28 017710 branch usb_send_zero_packet 
+:      017711 usb0_get_status_in_ep_in_ep1:
+0x4a29 017712 fetch 1 ,mem_usb_ep1_stall_status 
+0x4a2a 017713 branch usb0_get_status_in_ep_in_ack 
+:      017714 usb0_get_status_in_ep_in_ep2:
+0x4a2b 017715 fetch 1 ,mem_usb_ep2_stall_status 
+0x4a2c 017716 branch usb0_get_status_in_ep_in_ack 
+:      017717 usb0_get_status_in_ep_in_ep3:
+0x4a2d 017718 fetch 1 ,mem_usb_ep3_stall_status 
+0x4a2e 017719 branch usb0_get_status_in_ep_in_ack 
+:      017721 usb_get_idle:
+0x4a2f 017722 jam 1 ,mem_usb_idle_flag 
+0x4a30 017723 arg mem_usb_idle_rate ,rega 
+0x4a31 017724 arg 1 ,regb 
+0x4a32 017725 branch usb0_respond 
+:      017727 usb_get_report:
+0x4a33 017728 fetch 2 ,mem_usb_setup_bvalue 
+0x4a34 017729 arg pc_get_report ,temp 
+0x4a35 017730 isub temp ,null 
+0x4a36 017731 nbranch usb0_force_stall ,zero 
+0x4a37 017732 set0 mark_isstr ,mark 
+:      017733 usb_get_report_dispose:
+0x4a38 017734 fetch 1 ,mem_usb0_data_ready_report 
+0x4a39 017735 nbranch usb_get_report_data_success ,blank 
+0x4a3a 017736 jam pc_get_nondata ,mem_usb0_get_report_data 
+:      017737 usb_get_report_send_data:
+0x4a3b 017738 fetch 1 ,mem_usb_setup_blength 
+0x4a3c 017739 iforce regb 
+0x4a3d 017740 arg mem_usb0_get_report_data ,rega 
+0x4a3e 017741 call usb0_respond 
+:      017742 usb_get_report_data_release:
+0x4a3f 017743 arg mem_usb0_get_report_data ,contw 
+0x4a40 017744 arg 8 ,loopcnt 
+0x4a41 017745 branch memset0 
+:      017746 usb_get_report_data_success:
+0x4a42 017747 jam 0 ,mem_usb0_data_ready_report 
+0x4a43 017748 jam pc_get_data ,mem_usb0_get_report_data 
+0x4a44 017749 branch usb_get_report_send_data 
+:      017751 usb_get_protocol_req:
+0x4a45 017752 fetch 1 ,mem_usb_setup_blength 
+0x4a46 017753 bne 1 ,usb0_force_stall 
+0x4a47 017754 jam 1 ,mem_usb_get_protocol_flag 
+0x4a48 017755 arg 1 ,regb 
+0x4a49 017756 fetch 1 ,mem_usb_set_protocol_value 
+0x4a4a 017757 beq 0 ,usb_get_report_protocol 
+0x4a4b 017758 beq 1 ,usb_get_boot_protocol 
+0x4a4c 017759 branch usb_send_zero_packet 
+:      017760 usb_get_report_protocol:
+0x4a4d 017761 branch usb_send_ones_packet 
+:      017762 usb_get_boot_protocol:
+0x4a4e 017763 branch usb_send_zero_packet 
+:      017768 usb0_request_clear_feature:
+0x4a4f 017769 fetch 1 ,mem_usb0_state 
+0x4a50 017770 bne dev_configured ,usb0_force_stall 
+0x4a51 017771 fetch 1 ,mem_usb_setup_blength 
+0x4a52 017772 bne 0 ,usb0_force_stall 
+0x4a53 017773 fetch 1 ,mem_usb_setup_blengthh 
+0x4a54 017774 bne 0 ,usb0_force_stall 
+0x4a55 017775 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a56 017776 bne 0 ,usb0_force_stall 
+0x4a57 017777 fetch 1 ,mem_usb_setup_windex + 1 
+0x4a58 017778 bne 0 ,usb0_force_stall 
+0x4a59 017779 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a5a 017780 beq out_device ,usb0_request_clear_feature_out_device 
+0x4a5b 017781 beq out_interface ,usb0_request_clear_feature_out_interface 
+0x4a5c 017782 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+0x4a5d 017783 branch usb0_force_stall 
+:      017785 usb0_request_clear_feature_out_device:
+0x4a5e 017786 fetch 1 ,mem_usb_setup_bvalue 
+0x4a5f 017787 bne device_remote_wakeup ,usb0_force_stall 
+0x4a60 017788 hfetch 1 ,core_usb_config 
+0x4a61 017789 set0 7 ,pdata 
+0x4a62 017790 hstore 1 ,core_usb_config 
+0x4a63 017791 jam 0 ,mem_usb_remote_wakeup 
+0x4a64 017792 jam 1 ,mem_usb_clear_remote_wakeup 
+0x4a65 017793 branch usb0_reply_zerolen 
+:      017795 usb0_request_clear_feature_out_interface:
+0x4a66 017796 branch usb0_force_stall 
+:      017798 usb0_request_clear_feature_out_endpoint:
+0x4a67 017799 fetch 1 ,mem_usb_setup_bvalue 
+0x4a68 017800 bne endpoint_halt ,usb0_force_stall 
+0x4a69 017801 fetch 1 ,mem_usb_setup_windex 
+0x4a6a 017802 beq in_ep1 ,usb0_force_stall_ep1_in_off 
+0x4a6b 017803 beq in_ep2 ,usb0_force_stall_ep2_in_off 
+0x4a6c 017804 beq in_ep3 ,usb0_force_stall_ep3_in_off 
+0x4a6d 017805 and_into 0x7f ,pdata 
+0x4a6e 017806 beq 0x00 ,usb0_force_stall_ep0_in_off 
+0x4a6f 017807 branch usb0_force_stall 
+:      017809 usb0_force_stall_ep0_in_off:
+0x4a70 017810 jam 0 ,mem_usb_ep0_stall_status 
+0x4a71 017811 branch usb0_reply_zerolen 
+:      017812 usb0_force_stall_ep1_in_off:
+0x4a72 017813 jam 0 ,mem_usb_ep1_stall_status 
+:      017814 usb0_force_stall_ep1_in_off_reply:
+0x4a73 017815 jam 1 ,mem_usb_clear_halt 
+0x4a74 017816 branch usb0_reply_zerolen 
+:      017817 usb0_force_stall_ep2_in_off:
+0x4a75 017818 jam 0 ,mem_usb_ep2_stall_status 
+0x4a76 017819 branch usb0_force_stall_ep1_in_off_reply 
+:      017820 usb0_force_stall_ep3_in_off:
+0x4a77 017821 jam 0 ,mem_usb_ep3_stall_status 
+0x4a78 017822 branch usb0_force_stall_ep1_in_off_reply 
+:      017825 usb0_request_set_feature:
+0x4a79 017826 fetch 1 ,mem_usb_setup_blength 
+0x4a7a 017827 bne 0 ,usb0_force_stall 
+0x4a7b 017828 fetch 1 ,mem_usb_setup_blengthh 
+0x4a7c 017829 bne 0 ,usb0_force_stall 
+0x4a7d 017830 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4a7e 017831 beq out_device ,usb0_request_set_feature_out_device 
+0x4a7f 017832 beq out_interface ,usb0_request_set_feature_out_interface 
+0x4a80 017833 beq out_endpoint ,usb0_request_set_feature_out_endpoint 
+0x4a81 017834 branch usb0_force_stall 
+:      017836 usb0_request_set_feature_out_device:
+0x4a82 017837 fetch 1 ,mem_usb_setup_bvalue 
+0x4a83 017838 bne device_remote_wakeup ,usb0_force_stall 
+0x4a84 017839 hfetch 1 ,core_usb_config 
+0x4a85 017840 set1 7 ,pdata 
+0x4a86 017841 hstore 1 ,core_usb_config 
+0x4a87 017842 jam 1 ,mem_usb_remote_wakeup 
+0x4a88 017843 jam usb_sleep ,mem_usb_state 
+0x4a89 017844 jam 0 ,mem_usb_tx_win_enable 
+0x4a8a 017845 call usb0_reply_zerolen 
+:      017846 usb_wakeup_timer_reinit:
+0x4a8b 017847 call timer_reinit 
+0x4a8c 017848 setarg timer_wakeup_delay 
+0x4a8d 017849 arg timer_wakeup ,queue 
+0x4a8e 017850 branch timer_init 
+:      017852 usb0_request_set_feature_out_interface:
+0x4a8f 017853 branch usb0_force_stall 
+:      017855 usb0_request_set_feature_out_endpoint:
+0x4a90 017856 fetch 1 ,mem_usb_setup_bvalue 
+0x4a91 017857 bne endpoint_halt ,usb0_force_stall 
+0x4a92 017858 fetch 1 ,mem_usb_setup_bvalueh 
+0x4a93 017859 bne 0 ,usb0_force_stall 
+0x4a94 017860 fetch 1 ,mem_usb_setup_windex 
+0x4a95 017861 beq in_ep1 ,usb0_force_stall_ep1_in_on 
+0x4a96 017862 beq in_ep2 ,usb0_force_stall_ep2_in_on 
+0x4a97 017863 beq in_ep3 ,usb0_force_stall_ep3_in_on 
+0x4a98 017864 and_into 0x7f ,pdata 
+0x4a99 017865 beq 0x00 ,usb0_force_stall_ep0_in_on 
+0x4a9a 017866 branch usb0_force_stall 
+:      017868 usb0_force_stall_ep0_in_on:
+0x4a9b 017869 jam 1 ,mem_usb_ep0_stall_status 
+0x4a9c 017870 branch usb0_reply_zerolen 
+:      017871 usb0_force_stall_ep1_in_on:
+0x4a9d 017872 jam 1 ,mem_usb_ep1_stall_status 
+0x4a9e 017873 branch usb0_reply_zerolen 
+:      017874 usb0_force_stall_ep2_in_on:
+0x4a9f 017875 jam 1 ,mem_usb_ep2_stall_status 
+0x4aa0 017876 branch usb0_reply_zerolen 
+:      017877 usb0_force_stall_ep3_in_on:
+0x4aa1 017878 jam 1 ,mem_usb_ep3_stall_status 
+0x4aa2 017879 branch usb0_reply_zerolen 
+:      017882 usb0_request_set_address:
+0x4aa3 017883 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4aa4 017884 bne out_device ,usb0_force_stall 
+0x4aa5 017885 fetch 1 ,mem_usb_setup_windex 
+0x4aa6 017886 bne 0 ,usb0_force_stall 
+0x4aa7 017887 fetch 1 ,mem_usb_setup_windex + 1 
+0x4aa8 017888 bne 0 ,usb0_force_stall 
+0x4aa9 017889 fetch 1 ,mem_usb_setup_blength 
+0x4aaa 017890 bne 0 ,usb0_force_stall 
+0x4aab 017891 fetch 1 ,mem_usb_setup_blengthh 
+0x4aac 017892 bne 0 ,usb0_force_stall 
+0x4aad 017893 fetch 1 ,mem_usb_setup_bvalueh 
+0x4aae 017894 bne 0 ,usb0_force_stall 
+0x4aaf 017895 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab0 017896 and_into 0x80 ,pdata 
+0x4ab1 017897 bne 0 ,usb0_force_stall 
+0x4ab2 017898 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab3 017899 bne 0 ,usb_usb0_state_set_dev_addr 
+:      017900 usb_usb0_state_set_dev_default:
+0x4ab4 017901 jam dev_default ,mem_usb0_state 
+:      017902 usb0_request_set_wait_address:
+0x4ab5 017903 fetch 1 ,mem_usb_setup_bvalue 
+0x4ab6 017904 hstore 1 ,core_usb_addr 
+0x4ab7 017905 call usb0_reply_zerolen 
+0x4ab8 017906 jam 1 ,mem_usb_set_high_addr_flag 
+0x4ab9 017907 rtn 
+:      017908 usb_usb0_state_set_dev_addr:
+0x4aba 017909 jam dev_address ,mem_usb0_state 
+0x4abb 017910 branch usb0_request_set_wait_address 
+:      017913 usb0_request_set_configuration:
+0x4abc 017914 fetch 1 ,mem_usb0_state 
+0x4abd 017915 beq dev_default ,usb0_force_stall 
+0x4abe 017916 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4abf 017917 bne out_device ,usb0_force_stall 
+0x4ac0 017918 fetch 1 ,mem_usb_setup_windex 
+0x4ac1 017919 bne 0 ,usb0_force_stall 
+0x4ac2 017920 fetch 1 ,mem_usb_setup_windex + 1 
+0x4ac3 017921 bne 0 ,usb0_force_stall 
+0x4ac4 017922 fetch 1 ,mem_usb_setup_blength 
+0x4ac5 017923 bne 0 ,usb0_force_stall 
+0x4ac6 017924 fetch 1 ,mem_usb_setup_blengthh 
+0x4ac7 017925 bne 0 ,usb0_force_stall 
+0x4ac8 017926 fetch 1 ,mem_usb_setup_bvalue + 1 
+0x4ac9 017927 bne 0 ,usb0_force_stall 
+0x4aca 017928 fetch 1 ,mem_usb_setup_bvalue 
+0x4acb 017929 sub pdata ,usb_max_num_cfg ,null 
+0x4acc 017930 nbranch usb0_force_stall ,positive 
+0x4acd 017931 fetch 1 ,mem_usb0_state 
+0x4ace 017932 beq dev_address ,usb0_request_set_cfg_addr_state 
+0x4acf 017933 beq dev_configured ,usb0_request_set_cfg_cfg_state 
+0x4ad0 017934 branch usb0_force_stall 
+:      017936 usb0_request_set_cfg_addr_state:
+:      017937 usb0_request_set_cfg_cfg_state:
+0x4ad1 017938 fetch 1 ,mem_usb_setup_bvalue 
+0x4ad2 017939 beq 0 ,usb0_request_set_cfg_stay_addr_state 
+0x4ad3 017940 jam dev_configured ,mem_usb0_state 
+0x4ad4 017941 branch usb0_reply_zerolen 
+:      017942 usb0_request_set_cfg_stay_addr_state:
+0x4ad5 017943 jam dev_address ,mem_usb0_state 
+0x4ad6 017944 branch usb0_reply_zerolen 
+:      017947 usb0_request_set_interface:
+0x4ad7 017948 fetch 1 ,mem_usb0_state 
+0x4ad8 017949 bne dev_configured ,usb0_force_stall 
+0x4ad9 017950 fetch 1 ,mem_usb_setup_bmrequesttype 
+0x4ada 017951 bne out_interface ,usb0_force_stall 
+0x4adb 017952 fetch 1 ,mem_usb_setup_bvalue 
+0x4adc 017953 bne 0 ,usb0_force_stall 
+0x4add 017954 fetch 1 ,mem_usb_setup_bvalueh 
+0x4ade 017955 bne 0 ,usb0_force_stall 
+0x4adf 017956 fetch 1 ,mem_usb_setup_blength 
+0x4ae0 017957 bne 0 ,usb0_force_stall 
+0x4ae1 017958 fetch 1 ,mem_usb_setup_blengthh 
+0x4ae2 017959 bne 0 ,usb0_force_stall 
+0x4ae3 017960 fetch 1 ,mem_usb_setup_windex 
+0x4ae4 017961 bne 0 ,usb0_force_stall 
+0x4ae5 017962 fetch 1 ,mem_usb_setup_windex + 1 
+0x4ae6 017963 bne 0 ,usb0_force_stall 
+0x4ae7 017964 branch usb0_reply_zerolen 
+:      017967 usb_set_idle:
+0x4ae8 017968 jam 1 ,mem_usb_idle_flag 
+0x4ae9 017969 fetch 1 ,mem_usb_setup_bvalueh 
+0x4aea 017970 store 1 ,mem_usb_idle_rate 
+0x4aeb 017971 fetch 1 ,mem_usb_setup_windex 
+0x4aec 017972 sub pdata ,1 ,null 
+0x4aed 017973 call usb_clear_remote_wakeup_set0 ,zero 
+0x4aee 017974 fetch 1 ,mem_usb_state 
+0x4aef 017975 bne usb_resume ,usb0_reply_zerolen 
+0x4af0 017976 jam usb_connected ,mem_usb_state 
+0x4af1 017977 call usb0_reply_zerolen 
+0x4af2 017978 nop 30000 
+0x4af3 017979 nop 30000 
+0x4af4 017980 rtn 
+:      017981 usb_clear_remote_wakeup_set0:
+0x4af5 017982 jam 1 ,mem_usb_device_enumeration_endflag 
+0x4af6 017983 jam 0 ,mem_usb_clear_remote_wakeup 
+0x4af7 017984 jam usb_resume ,mem_usb_state 
+0x4af8 017985 rtn 
+:      017988 usb_set_report:
+0x4af9 017989 jam 1 ,mem_usb0_get_set_report 
+0x4afa 017990 call usb_set_report_resume_judge 
+0x4afb 017991 fetch 2 ,mem_usb_setup_bvalue 
+0x4afc 017992 store 2 ,mem_usb_setup_bvalue_temp 
+0x4afd 017993 fetch 1 ,mem_usb_setup_blength 
+0x4afe 017994 iforce loopcnt 
+0x4aff 017995 arg mem_usb0_setup ,contr 
+0x4b00 017996 arg mem_usb0_set_report_data ,contw 
+0x4b01 017997 call memcpy 
+0x4b02 017998 branch usb0_reply_zerolen 
+:      018000 usb_set_report_resume_judge:
+0x4b03 018001 fetch 2 ,mem_usb_setup_bvalue 
+0x4b04 018002 arg pc_set_report_bvalue ,temp 
+0x4b05 018003 isub temp ,null 
+0x4b06 018004 nrtn zero 
+0x4b07 018005 fetch 2 ,mem_usb_setup_windex 
+0x4b08 018006 arg pc_set_report_windex ,temp 
+0x4b09 018007 isub temp ,null 
+0x4b0a 018008 nrtn zero 
+0x4b0b 018009 fetch 2 ,mem_usb_setup_blength 
+0x4b0c 018010 arg pc_set_report_blength ,temp 
+0x4b0d 018011 isub temp ,null 
+0x4b0e 018012 nrtn zero 
+0x4b0f 018013 jam 1 ,mem_usb_tx_win_enable 
+0x4b10 018014 rtn 
+:      018017 usb_set_protocol_req:
+0x4b11 018018 fetch 1 ,mem_usb_setup_blength 
+0x4b12 018019 bne 0 ,usb0_force_stall 
+0x4b13 018020 fetch 1 ,mem_usb_setup_bvalue 
+0x4b14 018021 beq boot_protocol ,usb_set_boot_protocol 
+0x4b15 018022 beq report_protocol ,usb_set_report_protocol 
+0x4b16 018023 branch usb0_force_stall 
+:      018024 usb_set_boot_protocol:
+0x4b17 018025 jam 0 ,mem_usb_set_protocol_status 
+0x4b18 018026 jam 1 ,mem_usb_set_protocol_value 
+0x4b19 018027 branch usb0_reply_zerolen 
+:      018028 usb_set_report_protocol:
+0x4b1a 018029 jam 1 ,mem_usb_tx_mac_enable 
+0x4b1b 018030 jam 1 ,mem_usb_set_protocol_status 
+0x4b1c 018031 jam 0 ,mem_usb_set_protocol_value 
+0x4b1d 018032 branch usb0_reply_zerolen 
+:      018035 usb0_respond_length:
+0x4b1e 018036 ifetch 1 ,rega 
+0x4b1f 018037 iforce regb 
+0x4b20 018038 increase 1 ,rega 
+:      018040 usb0_respond:
+0x4b21 018041 bpatch patch1f_2 ,mem_patch1f 
+0x4b22 018042 bmark0 mark_isstr ,usb0_respond0 
+0x4b23 018043 add regb ,1 ,pdata 
+0x4b24 018044 lshift pdata ,pdata 
+0x4b25 018045 hstore 1 ,core_usb_dfifo0 
+0x4b26 018046 jam 3 ,core_usb_dfifo0 
+0x4b27 018047 fetch 1 ,mem_usb_setup_blength 
+0x4b28 018048 increase -2 ,pdata 
+0x4b29 018049 rshift pdata ,pdata 
+0x4b2a 018050 store 1 ,mem_usb_setup_blength 
+0x4b2b 018051 beq 0 ,usb_no_respond_data 
+:      018052 usb0_respond0:
+0x4b2c 018053 fetch 2 ,mem_usb_setup_blength 
+0x4b2d 018054 isub regb ,null 
+0x4b2e 018055 branch usb0_respond1 ,positive 
+0x4b2f 018056 copy pdata ,regb 
+:      018057 usb0_respond1:
+0x4b30 018058 deposit rega 
+0x4b31 018059 store 2 ,mem_bufptr 
+0x4b32 018060 deposit regb 
+0x4b33 018061 store 1 ,mem_remain 
+0x4b34 018062 branch usb0_tx 
+:      018064 usb_no_respond_data:
+0x4b35 018065 arg 0 ,queue 
+0x4b36 018066 branch usb_trig 
+:      018069 usb0_tx:
+0x4b37 018070 bpatch patch1f_3 ,mem_patch1f 
+0x4b38 018071 fetch 1 ,mem_remain 
+0x4b39 018072 rtn blank 
+0x4b3a 018073 copy pdata ,loopcnt 
+0x4b3b 018074 sub pdata ,ep0_packet_size ,null 
+0x4b3c 018075 branch usb0_tx_info ,positive 
+0x4b3d 018076 arg ep0_packet_size ,loopcnt 
+:      018077 usb0_tx_info:
+0x4b3e 018078 fetch 1 ,mem_remain 
+0x4b3f 018079 isub loopcnt ,pdata 
+0x4b40 018080 store 1 ,mem_remain 
+0x4b41 018081 fetch 2 ,mem_bufptr 
+0x4b42 018082 copy pdata ,contr 
+:      018083 usb0_tx0:
+0x4b43 018084 ifetch 1 ,contr 
+0x4b44 018085 hstore 1 ,core_usb_dfifo0 
+0x4b45 018086 bmark0 mark_isstr ,usb0_tx1 
+0x4b46 018087 jam 0 ,core_usb_dfifo0 
+:      018088 usb0_tx1:
+0x4b47 018089 loop usb0_tx0 
+0x4b48 018090 copy contr ,pdata 
+0x4b49 018091 store 2 ,mem_bufptr 
+0x4b4a 018092 arg 0 ,queue 
+0x4b4b 018093 call usb_trig 
+0x4b4c 018094 fetch 1 ,mem_remain 
+0x4b4d 018095 nrtn blank 
+0x4b4e 018096 fetch 1 ,mem_usb_state 
+0x4b4f 018097 rtnne usb_got_report_req 
+0x4b50 018098 jam usb_connected ,mem_usb_state 
+0x4b51 018099 rtn 
+:      018102 usb_tx_ep1:
+0x4b52 018103 arg core_usb_dfifo1 ,rega 
+0x4b53 018104 arg 1 ,queue 
+:      018105 usb_tx_loop:
+0x4b54 018106 ifetch 1 ,contr 
+0x4b55 018107 istore 1 ,rega 
+0x4b56 018108 loop usb_tx_loop 
+:      018109 usb_trig:
+0x4b57 018110 setarg 0 
+0x4b58 018111 qset1 pdata 
+0x4b59 018112 hstore 1 ,core_usb_trig 
+0x4b5a 018113 fetcht 1 ,mem_usb_tx_wait 
+0x4b5b 018114 ior temp ,pdata 
+0x4b5c 018115 store 1 ,mem_usb_tx_wait 
+0x4b5d 018116 rtn 
+:      018118 usb_tx_ep2:
+0x4b5e 018119 arg 2 ,queue 
+0x4b5f 018120 arg core_usb_dfifo2 ,rega 
+0x4b60 018121 branch usb_tx_loop 
+:      018123 usb_tx:
+0x4b61 018124 bpatch patch1f_4 ,mem_patch1f 
+0x4b62 018125 fetch 1 ,mem_usb_tx_enable 
+0x4b63 018126 rtn blank 
+0x4b64 018127 fetch 1 ,mem_usb_tx_wait 
+0x4b65 018128 nbranch usb_inwake_state_tx_dispose ,blank 
+0x4b66 018129 fetch 1 ,mem_usb_device_enumeration_endflag 
+0x4b67 018130 branch usb_tx_fifo_release ,blank 
+0x4b68 018131 fetch 1 ,mem_usb_state 
+0x4b69 018132 beq usb_sleep ,usb_windows_wakeup 
+0x4b6a 018133 bne usb_connected ,usb_tx_fifo_release 
+0x4b6b 018134 fetch 1 ,mem_usb_clear_remote_wakeup 
+0x4b6c 018135 nbranch usb_tx_fifo_release ,blank 
+0x4b6d 018136 call usb_tx_data_ep1 
+0x4b6e 018137 branch usb_tx_data_ep2 
+:      018139 usb_tx_data_ep1:
+0x4b6f 018140 fetch 1 ,mem_usb_tx_enable 
+0x4b70 018141 rtnbit0 1 
+0x4b71 018142 fetch 1 ,mem_usb_tx_wait 
+0x4b72 018143 rtnbit1 1 
+0x4b73 018144 fetch 1 ,mem_usb_tx_enable 
+0x4b74 018145 set0 1 ,pdata 
+0x4b75 018146 store 1 ,mem_usb_tx_enable 
+0x4b76 018147 fetch 1 ,mem_usb_ep1_data 
+0x4b77 018148 rtn blank 
+0x4b78 018149 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+0x4b79 018150 branch assert 
+:      018152 usb_tx_data_ep2:
+0x4b7a 018153 fetch 1 ,mem_usb_tx_enable 
+0x4b7b 018154 rtnbit0 2 
+0x4b7c 018155 fetch 1 ,mem_usb_tx_wait 
+0x4b7d 018156 rtnbit1 2 
+0x4b7e 018157 fetch 1 ,mem_usb_tx_enable 
+0x4b7f 018158 set0 2 ,pdata 
+0x4b80 018159 store 1 ,mem_usb_tx_enable 
+0x4b81 018160 fetch 1 ,mem_usb_ep2_data 
+0x4b82 018161 rtn blank 
+0x4b83 018162 beq usb_ep2_ms ,usb_tx_ms_data 
+0x4b84 018163 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0x4b85 018164 branch assert 
+:      018166 usb_tx_fifo_release:
+0x4b86 018168 arg mem_usb_mouse_data ,contw 
+0x4b87 018169 arg 6 ,loopcnt 
+0x4b88 018170 branch memset0 
+:      018172 usb_tx_ms_data:
+0x4b89 018173 fetch 1 ,mem_usb_idle_flag 
+0x4b8a 018174 fetcht 1 ,mem_usb_get_protocol_flag 
+0x4b8b 018175 iand temp ,pdata 
+0x4b8c 018176 branch usb_tx_ms_data_normal_mode ,blank 
+0x4b8d 018177 fetcht 1 ,mem_usb_set_protocol_status 
+0x4b8e 018178 iadd temp ,pdata 
+0x4b8f 018179 beq mac_boot_mode ,usb_tx_ms_data_mac_boot_mode 
+0x4b90 018180 branch usb_tx_ms_data_normal_mode 
+:      018182 usb_tx_ms_data_mac_boot_mode:
+0x4b91 018183 jam 0 ,mem_usb_ep2_data 
+:      018184 usb_tx_ms_data_mac_boot_regroup:
+0x4b92 018185 fetch 1 ,mem_usb_mouse_data + 1 
+0x4b93 018186 beq r_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+0x4b94 018187 beq lr_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+0x4b95 018188 fetch 1 ,mem_usb_mouse_data + 1 
+0x4b96 018189 store 1 ,mem_usb_mouse_data 
+0x4b97 018190 fetch 1 ,mem_usb_mouse_data + 2 
+0x4b98 018191 istore 1 ,contw 
+0x4b99 018192 fetch 1 ,mem_usb_mouse_data + 4 
+0x4b9a 018193 istore 1 ,contw 
+0x4b9b 018194 fetch 1 ,mem_usb_mouse_data + 6 
+0x4b9c 018195 istore 1 ,contw 
+0x4b9d 018196 arg 4 ,loopcnt 
+0x4b9e 018197 arg mem_usb_mouse_data ,contr 
+0x4b9f 018198 branch usb_tx_ep2 
+:      018200 usb_tx_ms_data_normal_mode:
+0x4ba0 018201 jam 0 ,mem_usb_ep2_data 
+:      018202 usb_tx_mac_boot_ms_regroup_r_or_lrkey:
+0x4ba1 018203 arg 8 ,loopcnt 
+0x4ba2 018204 arg mem_usb_mouse_data ,contr 
+0x4ba3 018205 branch usb_tx_ep2 
+:      018207 usb_tx_kb_multikey_data:
+0x4ba4 018208 jam 0 ,mem_usb_ep2_data 
+0x4ba5 018209 arg 3 ,loopcnt 
+0x4ba6 018210 arg mem_usb_kb_multikey ,contr 
+0x4ba7 018211 branch usb_tx_ep2 
+:      018213 usb_tx_kb_normal_data:
+0x4ba8 018214 jam 0 ,mem_usb_ep1_data 
+0x4ba9 018215 arg 8 ,loopcnt 
+0x4baa 018216 arg mem_usb_kb_data ,contr 
+0x4bab 018217 branch usb_tx_ep1 
+:      018219 usb_inwake_state_tx_dispose:
+0x4bac 018220 fetch 1 ,mem_usb_state 
+0x4bad 018221 beq usb_sleep ,usb_clear_tx_wait 
+0x4bae 018222 beq usb_connected ,usb_mac_wakeup_trig 
+0x4baf 018223 rtn 
+:      018224 usb_clear_tx_wait:
+0x4bb0 018225 jam 0 ,mem_usb_tx_wait 
+0x4bb1 018226 rtn 
+:      018227 usb_mac_wakeup_trig:
+0x4bb2 018228 hfetch 1 ,core_usb_config 
+0x4bb3 018229 set1 7 ,pdata 
+0x4bb4 018230 hstore 1 ,core_usb_config 
+0x4bb5 018231 jam 1 ,mem_usb_mac_wakeup_trig 
+0x4bb6 018232 rtn 
+:      018234 usb_mac_wakeup_judge:
+0x4bb7 018235 fetch 1 ,mem_usb_state 
+0x4bb8 018236 rtneq usb_sleep 
+0x4bb9 018237 beq usb_connected ,usb_mac_wakeup 
+0x4bba 018238 rtn 
+:      018239 usb_mac_wakeup:
+0x4bbb 018240 fetch 1 ,mem_usb_mac_wakeup_trig 
+0x4bbc 018241 rtn blank 
+0x4bbd 018242 jam 1 ,mem_usb_wakestate_onetime_flag 
+0x4bbe 018243 branch usb_wakeup 
+:      018245 usb_windows_wakeup:
+0x4bbf 018246 arg timer_wakeup ,queue 
+0x4bc0 018247 call timer_check 
+0x4bc1 018248 nrtn blank 
+:      018249 usb_wakeup:
+0x4bc2 018250 hfetch 1 ,core_usb_config 
+0x4bc3 018251 rtnbit0 7 
+0x4bc4 018252 jam 0xfc ,core_usb_config 
+0x4bc5 018253 nop 30000 
+0x4bc6 018254 jam 0x3c ,core_usb_config 
+0x4bc7 018255 rtn 
+:      018262 hci_rx_h4:
+0x4bc8 018263 bpatch patch1f_5 ,mem_patch1f 
+0x4bc9 018264 fetch 1 ,mem_hci_cmd 
+0x4bca 018265 nrtn blank 
+:      018266 hci_rx_h4_1:
+0x4bcb 018267 call hci_h4_parse_packet 
+0x4bcc 018268 ncall h4_rx_discard_packet ,user 
+0x4bcd 018269 rtn 
+:      018271 hci_h4_parse_packet:
+0x4bce 018272 bpatch patch1f_6 ,mem_patch1f 
+0x4bcf 018273 copy contru ,rega 
+0x4bd0 018274 arg 4 ,temp 
+0x4bd1 018275 ifetch 1 ,contru 
+0x4bd2 018276 beq hci_h4_type_cmd ,hci_h4_parse_packet_wait_len 
+0x4bd3 018277 increase 1 ,temp 
+0x4bd4 018278 beq hci_h4_type_acl ,hci_h4_parse_packet_wait_len 
+0x4bd5 018279 copy contru ,pdata 
+0x4bd6 018280 hstore 2 ,core_uart_rrptr 
+0x4bd7 018281 rtn 
+:      018282 hci_h4_parse_packet_wait_len:
+0x4bd8 018283 hfetch 2 ,core_uart_rxitems 
+0x4bd9 018284 isub temp ,null 
+0x4bda 018285 nbranch hci_h4_parse_packet_wait_len ,positive 
+0x4bdb 018287 disable user 
+0x4bdc 018288 copy rega ,contru 
+0x4bdd 018289 call h4_get_rx_payload_len 
+0x4bde 018290 iadd temp ,temp 
+:      018291 hci_h4_parse_packet_wait:
+0x4bdf 018292 hfetch 2 ,core_uart_rxitems 
+0x4be0 018293 isub temp ,null 
+0x4be1 018294 nbranch hci_h4_parse_packet_wait ,positive 
+0x4be2 018295 copy rega ,contru 
+0x4be3 018296 ifetch 1 ,contru 
+0x4be4 018297 beq hci_h4_type_cmd ,process_hci_cmd 
+0x4be5 018298 branch assert 
+:      018300 h4_rx_discard_packet:
+0x4be6 018301 bpatch patch1f_7 ,mem_patch1f 
+0x4be7 018302 hfetch 2 ,core_uart_rrptr 
+0x4be8 018303 iforce contru 
+0x4be9 018304 call h4_get_rx_payload_len 
+0x4bea 018305 iadd contru ,contru 
+0x4beb 018306 deposit contru 
+0x4bec 018307 hstore 2 ,core_uart_rrptr 
+0x4bed 018308 rtn 
+:      018313 h4_get_rx_payload_len:
+0x4bee 018314 ifetch 1 ,contru 
+0x4bef 018315 increase 2 ,contru 
+0x4bf0 018316 beq hci_h4_type_acl ,h4_get_rx_payload_len_acl 
+0x4bf1 018317 ifetch 1 ,contru 
+0x4bf2 018318 rtn 
+:      018319 h4_get_rx_payload_len_acl:
+0x4bf3 018320 ifetch 2 ,contru 
+0x4bf4 018321 rtn 
+:      018323 h4_get_tx_ptr:
+0x4bf5 018324 hfetch 2 ,core_uart_twptr 
+0x4bf6 018325 increase -5 ,contwu 
+0x4bf7 018326 iadd contwu ,contwu 
+0x4bf8 018327 rtn 
+:      018329 h4_send_packet_event:
+0x4bf9 018330 arg hci_h4_type_event ,temp 
+0x4bfa 018331 branch h4_send_packet 
+:      018332 h4_send_packet_acl:
+0x4bfb 018333 arg hci_h4_type_acl ,temp 
+:      018334 h4_send_packet:
+0x4bfc 018335 bpatchx patch20_0 ,mem_patch20 
+0x4bfd 018336 increase 1 ,loopcnt 
+0x4bfe 018337 hfetch 2 ,core_uart_twptr 
+0x4bff 018338 copy pdata ,contwu 
+0x4c00 018339 copy loopcnt ,pdata 
+0x4c01 018340 istoret 1 ,contwu 
+0x4c02 018341 increase -1 ,pdata 
+0x4c03 018342 iadd contwu ,contwu 
+0x4c04 018343 copy contwu ,pdata 
+0x4c05 018344 store 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c06 018345 copy temp ,pdata 
+0x4c07 018346 rtneq hci_h4_type_acl 
+0x4c08 018347 fetch 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c09 018348 hstore 2 ,core_uart_twptr 
+0x4c0a 018349 branch h4_send_acl_trigger_clear 
+:      018352 h4_send_acl_trigger_clear:
+0x4c0b 018353 setarg 0 
+0x4c0c 018354 store 2 ,mem_hci_acl_tx_trigger_wptr 
+0x4c0d 018355 rtn 
+:      018362 hci_init:
+0x4c0e 018363 rtn wake 
+0x4c0f 018364 setarg hci_idle_dispatch 
+0x4c10 018365 store 2 ,mem_cb_idle_process 
+0x4c11 018367 setarg uart_baud_115200 
+0x4c12 018368 store uart_baud_len ,mem_baud 
+:      018369 hci_lpm_init:
+0x4c13 018370 setarg mem_h5rx_buf 
+0x4c14 018371 hstore 2 ,core_uart_rsaddr 
+0x4c15 018372 setarg mem_h5rx_buf_end 
+0x4c16 018373 hstore 2 ,core_uart_readdr 
+0x4c17 018374 setarg mem_h5tx_buf 
+0x4c18 018375 hstore 2 ,core_uart_tsaddr 
+0x4c19 018376 call hci_sel_init 
+:      018377 hci_reinit:
+0x4c1a 018378 jam 0x0 ,core_uart_ctrl 
+0x4c1b 018379 setarg mem_h5tx_buf 
+0x4c1c 018380 hstore 2 ,core_uart_twptr 
+0x4c1d 018381 hstore 2 ,core_uart_trptrp 
+0x4c1e 018382 setarg mem_h5rx_buf 
+0x4c1f 018383 hstore 2 ,core_uart_rrptr 
+0x4c20 018384 store 2 ,mem_h5rx_rptr 
+:      018385 hci_init_common:
+0x4c21 018386 hfetch 2 ,core_clkoff 
+0x4c22 018387 set0 clock_off_uart ,pdata 
+0x4c23 018388 hstore 2 ,core_clkoff 
+0x4c24 018389 call uart_set_baud_by_mem 
+0x4c25 018390 jam uartclk_dpll ,core_uart_clksel 
+0x4c26 018391 jam uart_ctrl_h4 ,core_uart_ctrl 
+0x4c27 018392 rtn 
+:      018394 hci_sel_init:
+0x4c28 018395 setarg mem_h5tx_buf_end 
+0x4c29 018396 hstore 2 ,core_uart_teaddr 
+0x4c2a 018397 hfetch 1 ,core_gpio_sel1 
+0x4c2b 018398 or_into 0x07 ,pdata 
+0x4c2c 018399 hstore 1 ,core_gpio_sel1 
+0x4c2d 018400 rtn 
+:      018403 hci_rx_packet:
+0x4c2e 018404 bpatchx patch20_1 ,mem_patch20 
+0x4c2f 018405 hfetch 1 ,core_uart_status 
+0x4c30 018406 iforce regb 
+0x4c31 018407 bbit0 uart_status_rx_fifo_empty ,hci_rx_packet_cont 
+0x4c32 018408 hfetch 2 ,core_uart_rxitems 
+0x4c33 018409 iforce regc 
+0x4c34 018410 arg 0x44f ,temp 
+0x4c35 018411 isub temp ,null 
+0x4c36 018412 nrtn zero 
+:      018413 hci_rx_packet_cont:
+0x4c37 018414 hfetch 2 ,core_uart_rrptr 
+0x4c38 018415 iforce contru 
+0x4c39 018416 branch hci_rx_h4 
+:      018418 uart_send_byte:
+0x4c3a 018419 hfetcht 1 ,core_uart_status 
+0x4c3b 018420 isolate1 6 ,temp 
+0x4c3c 018421 branch uart_send_byte ,true 
+0x4c3d 018422 hstore 1 ,core_uart_txd 
+0x4c3e 018423 rtn 
+:      018425 process_hci_cmd:
+0x4c3f 018426 bpatchx patch20_2 ,mem_patch20 
+0x4c40 018427 fetch 1 ,mem_hci_cmd 
+0x4c41 018428 branch process_hci_cmd_cont ,blank 
+0x4c42 018429 enable user 
+0x4c43 018430 rtn 
+:      018431 process_hci_cmd_cont:
+0x4c44 018432 ifetch 2 ,contru 
+0x4c45 018433 iforce alarm 
+0x4c46 018434 iforce queue 
+0x4c47 018435 ifetch 1 ,contru 
+0x4c48 018436 iforce temp 
+0x4c49 018437 rshift2 alarm ,pdata 
+0x4c4a 018438 rshift8 pdata ,pdata 
+0x4c4b 018439 beq hci_ogf_vendor_specific ,phci_grp_vendor_specific 
+0x4c4c 018440 rtn 
+:      018443 phci_grp_vendor_specific:
+0x4c4d 018444 bpatchx patch20_3 ,mem_patch20 
+0x4c4e 018445 deposit queue 
+0x4c4f 018446 beq hci_vendor_cmd_reset ,hci_normal_reply 
+0x4c50 018447 beq hci_vendor_cmd_chipid ,phci_grp_vendor_chipid 
+0x4c51 018448 beq hci_vendor_cmd_baud ,phci_grp_vendor_baud 
+0x4c52 018449 beq hci_vendor_cmd_patch ,phci_grp_vendor_patch 
+0x4c53 018450 beq hci_vendor_cmd_patch_done ,phci_grp_vendor_done 
+0x4c54 018451 beq hci_vendor_cmd_echo ,hci_normal_reply 
+0x4c55 018452 beq hci_vendor_cmd_bdaddr ,phci_grp_vendor_bdaddr 
+0x4c56 018453 beq hci_vendor_cmd_enter_lpm ,phci_grp_vendor_enter_lpm 
+0x4c57 018455 beq hci_vendor_cmd_mem ,phci_grp_vendor_mem 
+0x4c58 018456 beq hci_vendor_cmd_eep ,phci_grp_vendor_eep 
+0x4c59 018457 beq hci_vendor_cmd_patch_sec_init ,phci_grp_vendor_patch_sec_init 
+0x4c5a 018458 beq hci_vendor_cmd_patch_sec ,phci_grp_vendor_patch_sec 
+0x4c5b 018459 branch hci_normal_reply 
+:      018461 phci_grp_vendor_enter_lpm:
+0x4c5c 018462 call hci_normal_reply 
+0x4c5d 018463 call wait_uarttx 
+0x4c5e 018464 call gpio_pu_uart_tx 
+:      018465 hci_enter_lpm:
+0x4c5f 018466 call app_put_lpm_wake_lock 
+0x4c60 018467 call app_l2cap_flow_control_enable 
+0x4c61 018468 branch gpio_rx_config_input_with_pu 
+:      018470 hci_exit_lpm:
+0x4c62 018471 jam hci_rx_ready ,mem_hci_lt_rx_state 
+0x4c63 018472 call app_get_lpm_wake_lock 
+0x4c64 018473 call hci_lpm_init 
+0x4c65 018474 branch app_l2cap_flow_control_disable 
+:      018476 phci_grp_vendor_chipid:
+0x4c66 018477 call hci_get_cmd_complete_ptr 
+0x4c67 018478 hfetch 2 ,core_chipid 
+0x4c68 018479 istore 2 ,contwu 
+0x4c69 018480 force 6 ,loopcnt 
+0x4c6a 018481 branch hci_command_complete 
+:      018483 phci_grp_vendor_baud:
+0x4c6b 018484 ifetch 2 ,contru 
+0x4c6c 018485 store 2 ,mem_baud 
+0x4c6d 018486 hstore 2 ,core_uart_baud 
+0x4c6e 018487 rtn 
+:      018490 phci_grp_vendor_patch_common:
+0x4c6f 018492 ifetch 1 ,contru 
+0x4c70 018493 copy pdata ,temp 
+0x4c71 018494 hstore 1 ,core_ucode_low 
+0x4c72 018495 ifetch 1 ,contru 
+0x4c73 018496 iadd temp ,temp 
+0x4c74 018497 set1 7 ,pdata 
+0x4c75 018498 hstore 1 ,core_ucode_ctrl 
+0x4c76 018499 ifetch 1 ,contru 
+0x4c77 018500 iadd temp ,temp 
+0x4c78 018501 copy pdata ,loopcnt 
+0x4c79 018502 rtn 
+:      018504 phci_grp_vendor_patch:
+0x4c7a 018505 bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4c7b 018506 call phci_grp_vendor_patch_common 
+:      018507 phci_grp_vendor_patch_loop:
+0x4c7c 018508 ifetch 1 ,contru 
+0x4c7d 018509 hstore 1 ,core_ucode_data 
+0x4c7e 018510 iadd temp ,temp 
+0x4c7f 018511 loop phci_grp_vendor_patch_loop 
+:      018512 phci_grp_vendor_patch_check_sum:
+0x4c80 018513 and temp ,0xff ,temp 
+0x4c81 018514 ifetch 1 ,contru 
+0x4c82 018515 isub temp ,null 
+0x4c83 018516 nbranch phci_grp_vendor_patch_bad ,zero 
+0x4c84 018517 branch hci_normal_reply 
+:      018520 phci_grp_vendor_patch_sec:
+0x4c85 018521 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4c86 018522 call phci_grp_vendor_patch_common 
+0x4c87 018523 store 8 ,mem_pdatatemp 
+:      018524 phci_grp_vendor_patch_sec_loop:
+0x4c88 018525 call do_aes_cbc 
+0x4c89 018526 arg 16 ,loopcnt 
+0x4c8a 018527 arg mem_temp_block0 ,contw 
+0x4c8b 018528 call load_uart_sum_loop 
+0x4c8c 018529 storet 8 ,mem_temp 
+0x4c8d 018530 arg mem_temp_block2 ,contw 
+0x4c8e 018531 call store_aes_result 
+0x4c8f 018532 arg mem_temp_block2 ,rega 
+0x4c90 018533 arg mem_temp_block0 ,regb 
+0x4c91 018534 arg mem_temp_block3 ,contw 
+0x4c92 018535 call xor16 
+0x4c93 018536 arg 16 ,loopcnt 
+0x4c94 018537 arg mem_temp_block3 ,contr 
+0x4c95 018538 call load_ucode_only_loop 
+0x4c96 018539 fetcht 8 ,mem_temp 
+0x4c97 018540 fetch 8 ,mem_pdatatemp 
+0x4c98 018541 increase -16 ,pdata 
+0x4c99 018542 store 8 ,mem_pdatatemp 
+0x4c9a 018543 nbranch phci_grp_vendor_patch_sec_loop ,blank 
+0x4c9b 018544 branch phci_grp_vendor_patch_check_sum 
+:      018546 load_ucode_only_loop:
+0x4c9c 018547 ifetch 1 ,contr 
+0x4c9d 018548 hstore 1 ,core_ucode_data 
+0x4c9e 018549 loop load_ucode_only_loop 
+0x4c9f 018550 rtn 
+:      018552 load_uart_sum_loop:
+0x4ca0 018553 ifetch 1 ,contru 
+0x4ca1 018554 istore 1 ,contw 
+0x4ca2 018555 iadd temp ,temp 
+0x4ca3 018556 loop load_uart_sum_loop 
+0x4ca4 018557 rtn 
+:      018559 phci_grp_vendor_patch_sec_init:
+0x4ca5 018560 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+0x4ca6 018561 arg 0 ,temp 
+0x4ca7 018562 arg 16 ,loopcnt 
+0x4ca8 018563 arg mem_temp_block0 ,contw 
+0x4ca9 018564 call load_uart_sum_loop 
+0x4caa 018565 hfetch 1 ,core_gpio_key2 
+0x4cab 018566 and_into 0xfd ,pdata 
+0x4cac 018567 hstore 1 ,core_gpio_key2 
+0x4cad 018568 arg mem_temp_block0 ,contr 
+0x4cae 018569 arg 16 ,loopcnt 
+0x4caf 018570 call aes_load_data 
+0x4cb0 018571 call aes_init 
+0x4cb1 018572 call aes_clear_data 
+0x4cb2 018573 branch phci_grp_vendor_patch_check_sum 
+:      018576 phci_grp_vendor_done:
+0x4cb3 018577 arg 0x20 ,loopcnt 
+0x4cb4 018578 arg mem_patch00 ,contw 
+0x4cb5 018579 arg 0 ,temp 
+:      018580 phci_grp_vendor_done_loop:
+0x4cb6 018581 ifetch 1 ,contru 
+0x4cb7 018582 istore 1 ,contw 
+0x4cb8 018583 iadd temp ,temp 
+0x4cb9 018584 loop phci_grp_vendor_done_loop 
+0x4cba 018585 and temp ,0xff ,temp 
+0x4cbb 018586 ifetch 1 ,contru 
+0x4cbc 018587 isub temp ,null 
+0x4cbd 018588 nbranch phci_grp_vendor_patch_bad ,zero 
+0x4cbe 018589 jam 0 ,core_ucode_ctrl 
+0x4cbf 018590 call hci_normal_reply 
+0x4cc0 018591 call h4_rx_discard_packet 
+0x4cc1 018592 call clear_key_buf 
+0x4cc2 018593 call wait_uarttx 
+0x4cc3 018594 branch soft_reset 
+:      018596 phci_grp_vendor_patch_bad:
+0x4cc4 018597 jam 0 ,core_ucode_ctrl 
+0x4cc5 018598 branch start 
+:      018600 phci_grp_vendor_bdaddr:
+0x4cc6 018601 ifetch 6 ,contru 
+0x4cc7 018602 store 6 ,mem_lap 
+0x4cc8 018603 branch hci_normal_reply 
+:      018606 phci_grp_vendor_mem:
+0x4cc9 018607 ifetch 1 ,contru 
+0x4cca 018608 store 1 ,mem_hci_curr_len 
+0x4ccb 018609 copy pdata ,loopcnt 
+0x4ccc 018610 ifetch 2 ,contru 
+0x4ccd 018611 store 2 ,mem_hci_curr_target 
+0x4cce 018612 copy pdata ,contw 
+0x4ccf 018613 call uart_copy_rx_bytes 
+0x4cd0 018614 branch hci_normal_reply 
+:      018617 phci_grp_vendor_eep:
+0x4cd1 018618 ifetch 1 ,contru 
+0x4cd2 018619 store 1 ,mem_hci_curr_len 
+0x4cd3 018620 copy pdata ,loopcnt 
+0x4cd4 018621 ifetch 2 ,contru 
+0x4cd5 018622 store 2 ,mem_hci_curr_target 
+0x4cd6 018623 arg mem_l2cap_rxbuff1 ,contw 
+0x4cd7 018624 call uart_copy_rx_bytes 
+0x4cd8 018625 fetcht 1 ,mem_hci_curr_len 
+0x4cd9 018626 arg mem_l2cap_rxbuff1 ,rega 
+0x4cda 018627 fetch 2 ,mem_hci_curr_target 
+0x4cdb 018628 branch iicd_write_ota_data 
+:      018633 hci_normal_reply:
+0x4cdc 018634 force 4 ,loopcnt 
+:      018635 hci_command_complete:
+0x4cdd 018636 call hci_get_payload_ptr 
+0x4cde 018637 force 0x1 ,pdata 
+0x4cdf 018638 istore 1 ,contwu 
+0x4ce0 018639 deposit alarm 
+0x4ce1 018640 istore 3 ,contwu 
+0x4ce2 018641 force hci_event_command_complete ,queue 
+:      018642 hci_send_event:
+0x4ce3 018643 bpatchx patch20_4 ,mem_patch20 
+0x4ce4 018644 call hci_get_packet_ptr 
+0x4ce5 018645 deposit queue 
+0x4ce6 018646 istore 1 ,contwu 
+0x4ce7 018647 deposit loopcnt 
+0x4ce8 018648 istore 1 ,contwu 
+:      018649 hci_send_event_raw:
+0x4ce9 018650 force 5 ,queue 
+0x4cea 018651 increase 2 ,loopcnt 
+:      018652 hci_send_packet:
+0x4ceb 018653 branch h4_send_packet_event 
+:      018655 hci_send_commu_ready_event:
+0x4cec 018656 force hci_event_vendor_specific ,queue 
+0x4ced 018657 call hci_get_payload_ptr 
+0x4cee 018658 setarg hci_vendor_event_commu_ready 
+0x4cef 018659 istore 1 ,contwu 
+0x4cf0 018660 force 1 ,loopcnt 
+0x4cf1 018661 branch hci_send_event 
+:      018663 hci_get_cmd_complete_ptr:
+0x4cf2 018664 force 12 ,contwu 
+0x4cf3 018665 branch hci_get_tx_ptr 
+:      018667 hci_get_payload_ptr:
+0x4cf4 018668 force 8 ,contwu 
+0x4cf5 018669 branch hci_get_tx_ptr 
+:      018671 hci_get_packet_ptr:
+0x4cf6 018672 force 6 ,contwu 
+:      018673 hci_get_tx_ptr:
+0x4cf7 018674 branch h4_get_tx_ptr 
+:      018678 calc_tx_crc16:
+0x4cf8 018679 pulse crc16 
+0x4cf9 018680 enable enable_crc 
+:      018681 crcloop:
+0x4cfa 018682 ifetch 1 ,contwu 
+0x4cfb 018683 inject bucket ,8 
+0x4cfc 018684 loop crcloop 
+0x4cfd 018685 enable enable_parity 
+0x4cfe 018686 inject bucket ,16 
+0x4cff 018687 disable enable_parity 
+0x4d00 018688 disable enable_crc 
+0x4d01 018689 disable crc16 
+0x4d02 018690 byteswap pdata ,pdata 
+0x4d03 018691 rtn 
+:      018695 cmd_exit:
+0x4d04 018696 jam 0 ,mem_hci_cmd 
+0x4d05 018697 rtn 
+:      018698 cmd_check_plap:
+0x4d06 018699 fetch 6 ,mem_hci_plap 
+0x4d07 018700 fetcht 6 ,mem_plap 
+0x4d08 018701 isub temp ,null 
+0x4d09 018702 rtn 
+:      018707 cmd_pair:
+0x4d0a 018708 fetch 1 ,mem_op 
+0x4d0b 018709 bbit1 op_inrand_req ,cmd_pair_passive 
+0x4d0c 018710 call tid_initiate 
+0x4d0d 018711 jam lmp_in_rand ,mem_lmo_opcode2 
+0x4d0e 018712 branch cmd_exit 
+:      018713 cmd_pair_passive:
+0x4d0f 018714 set0 op_inrand_req ,pdata 
+0x4d10 018715 store 1 ,mem_op 
+0x4d11 018716 call lmp_accept_inrand 
+0x4d12 018717 setarg 0 
+0x4d13 018718 setflag master ,smap_lmptid ,pdata 
+0x4d14 018719 store 1 ,mem_lmo_tid2 
+0x4d15 018720 branch cmd_exit 
+0x4d16 018721 rtn 
+:      018722 cmd_in_sniff:
+0x4d17 018723 jam lmp_sniff_req ,mem_lmo_opcode2 
+0x4d18 018724 arg mem_sniff_payload ,contw 
+0x4d19 018725 setarg 0 
+0x4d1a 018726 isolate1 27 ,clke_bt 
+0x4d1b 018727 setflag true ,1 ,pdata 
+0x4d1c 018728 istore 1 ,contw 
+0x4d1d 018729 setarg 0 
+0x4d1e 018730 istore 2 ,contw 
+0x4d1f 018731 fetch 2 ,mem_sniff_param_interval 
+0x4d20 018732 istore 2 ,contw 
+0x4d21 018733 fetch 1 ,mem_sniff_param_attempt 
+0x4d22 018734 istore 2 ,contw 
+0x4d23 018735 fetch 1 ,mem_sniff_param_timeout 
+0x4d24 018736 istore 2 ,contw 
+0x4d25 018737 branch cmd_exit 
+:      018739 cmd_exit_sniff:
+0x4d26 018740 jam lmp_unsniff_req ,mem_lmo_opcode2 
+0x4d27 018741 branch cmd_exit 
+:      018743 hci_idle_dispatch:
+0x4d28 018744 call gpio_check_uart_state 
+0x4d29 018745 rtn true 
+0x4d2a 018746 arg uart_wakeup_rx ,temp 
+0x4d2b 018747 call gpio_get_bit 
+0x4d2c 018748 nbranch uart_wake_up ,true 
+0x4d2d 018749 jam hci_rx_wake ,mem_hci_lt_rx_state 
+0x4d2e 018750 rtn 
+:      018751 uart_wake_up:
+0x4d2f 018752 fetch 1 ,mem_hci_lt_rx_state 
+0x4d30 018753 rtnne hci_rx_wake 
+0x4d31 018754 call hci_exit_lpm 
+0x4d32 018755 branch hci_send_commu_ready_event 
+:      018769 hid_rx_process:
+0x4d33 018770 bpatchx patch20_5 ,mem_patch20 
+0x4d34 018771 fetch 2 ,mem_l2cap_payload_ptr 
+0x4d35 018772 copy pdata ,contr 
+0x4d36 018773 ifetch 1 ,contr 
+0x4d37 018774 and pdata ,0x0f ,temp 
+0x4d38 018775 rshift4 pdata ,pdata 
+0x4d39 018776 beq hid_type_set_idle ,hid_rx_process_handshake 
+0x4d3a 018777 beq hid_type_set_protocol ,hid_rx_process_handshake 
+0x4d3b 018778 beq hid_type_data ,hid_rx_process_data 
+0x4d3c 018779 beq hid_type_set_report ,hid_rx_process_set_report 
+0x4d3d 018780 beq hid_type_control ,hid_rx_process_hid_control 
+0x4d3e 018781 rtn 
+:      018783 hid_rx_process_hid_control:
+0x4d3f 018784 copy temp ,pdata 
+0x4d40 018785 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+0x4d41 018786 beq hid_control_p_suspend ,hid_rx_process_suspend 
+0x4d42 018787 rtn 
+:      018789 hid_rx_process_virtual_cable_unplug:
+0x4d43 018790 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+0x4d44 018791 call ui_ipc_send_event 
+0x4d45 018792 fetch 1 ,mem_device_option 
+0x4d46 018793 rtnbit0 dvc_op_mouse 
+0x4d47 018794 copy temp ,pdata 
+0x4d48 018795 beq hid_control_p_virtualcableunplug ,mouse_irtual_cable_unplug 
+0x4d49 018796 rtn 
+:      018797 hid_rx_process_suspend:
+0x4d4a 018798 rtn 
+:      018800 hid_rx_process_set_report:
+0x4d4b 018801 call hid_rx_process_data 
+0x4d4c 018802 arg 0x01 ,rega 
+0x4d4d 018803 call hid_malloc_tx_buff 
+0x4d4e 018804 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4d4f 018805 istore 2 ,contw 
+0x4d50 018806 setarg 0x00 
+0x4d51 018807 istore 1 ,contw 
+0x4d52 018808 rtn 
+:      018810 hid_rx_process_handshake:
+0x4d53 018811 arg 1 ,rega 
+0x4d54 018812 call hid_malloc_tx_buff 
+0x4d55 018813 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4d56 018814 istore 2 ,contw 
+0x4d57 018815 setarg 0 
+0x4d58 018816 istore 1 ,contw 
+0x4d59 018817 jam 1 ,mem_ui_data_txbuff_length 
+0x4d5a 018818 fetch 1 ,mem_hid_control_state 
+0x4d5b 018819 set1 l2cap_channel_hid_handshake_done 
+0x4d5c 018820 store 1 ,mem_hid_control_state 
+0x4d5d 018821 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0x4d5e 018822 branch ui_ipc_send_event 
+:      018824 hid_rx_process_data:
+0x4d5f 018825 ifetch 1 ,contr 
+0x4d60 018826 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+0x4d61 018827 rtn 
+:      018829 hid_rx_process_data_hid_kb:
+0x4d62 018830 rtn 
+:      018833 hid_malloc_tx_buff:
+0x4d63 018834 call l2cap_malloc 
+0x4d64 018835 copy rega ,temp 
+0x4d65 018836 storet 1 ,mem_ui_data_txbuff_length 
+0x4d66 018837 copy pdata ,contw 
+0x4d67 018838 copy rega ,pdata 
+0x4d68 018839 istore 2 ,contw 
+0x4d69 018840 rtn 
+:      018857 l2cap_init:
+0x4d6a 018858 branch l2cap_init_wake ,wake 
+:      018859 l2cap_init_work:
+0x4d6b 018860 setarg mem_l2cap_xmem_end 
+0x4d6c 018861 arg mem_l2cap_xmem_start ,contw 
+0x4d6d 018862 isub contw ,loopcnt 
+0x4d6e 018863 call clear_mem 
+:      018864 l2cap_init_wake:
+0x4d6f 018865 bpatchx patch20_6 ,mem_patch20 
+0x4d70 018866 setarg mem_sdp_mem_end 
+0x4d71 018867 arg mem_sdp_mem_start ,contw 
+0x4d72 018868 isub contw ,loopcnt 
+0x4d73 018869 call clear_mem 
+0x4d74 018870 setarg mem_l2cap_mem_end 
+0x4d75 018871 arg mem_l2cap_mem_start ,contw 
+0x4d76 018872 isub contw ,loopcnt 
+0x4d77 018873 call clear_mem 
+0x4d78 018874 branch l2cap_lpm_load_txbuf 
+:      018876 process_rx_l2cap_pkt:
+0x4d79 018877 bpatchx patch20_7 ,mem_patch20 
+0x4d7a 018878 copy contr ,temp 
+0x4d7b 018881 copy temp ,contr 
+0x4d7c 018882 ifetch 2 ,contr 
+0x4d7d 018883 store 2 ,mem_l2cap_rx_pkt_length 
+0x4d7e 018884 ifetch 2 ,contr 
+0x4d7f 018885 store 2 ,mem_l2cap_rx_cid 
+0x4d80 018886 deposit contr 
+0x4d81 018887 store 2 ,mem_l2cap_payload_ptr 
+0x4d82 018888 fetch 1 ,memui_reconnect_mode 
+0x4d83 018889 beq no_reconnection ,l2cap_rx_multiplexing 
+0x4d84 018890 branch ml2cap_rx_multiplexing 
+:      018892 l2cap_rx_multiplexing:
+0x4d85 018893 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x4d86 018894 branch l2cap_rx_reset_state ,blank 
+0x4d87 018895 bpatchx patch21_0 ,mem_patch21 
+0x4d88 018896 fetch 1 ,mem_l2cap_rx_cid 
+0x4d89 018897 beq l2cap_signal_channel ,l2cap_call_proc_signal 
+:      018898 l2cap_rx_multiplexing0:
+0x4d8a 018899 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+0x4d8b 018900 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x4d8c 018901 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x4d8d 018902 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x4d8e 018903 branch l2cap_rx_reset_state 
+:      018905 l2cap_check_map:
+0x4d8f 018908 bpatchx patch21_1 ,mem_patch21 
+0x4d90 018909 call l2cap_malloc_get_full_map 
+0x4d91 018910 fetch 1 ,mem_used_map 
+0x4d92 018911 beq 0 ,set_pdata_0 
+0x4d93 018912 beq 1 ,set_pdata_0 
+0x4d94 018913 beq 2 ,set_pdata_0 
+0x4d95 018914 beq 3 ,set_pdata_0 
+0x4d96 018915 beq 0x81 ,set_pdata_0 
+0x4d97 018916 beq 0xc0 ,set_pdata_0 
+0x4d98 018917 beq 0x80 ,set_pdata_0 
+0x4d99 018918 beq 0x40 ,set_pdata_0 
+0x4d9a 018919 rtn 
+:      018921 set_pdata_0:
+0x4d9b 018922 setarg 0 
+0x4d9c 018923 rtn 
+:      018926 l2cap_call_proc_signal:
+0x4d9d 018927 call l2cap_check_map 
+0x4d9e 018928 nrtn blank 
+:      018929 l2cap_call_proc_signal0:
+0x4d9f 018930 call l2cap_malloc_signal_channel 
+0x4da0 018931 call l2cap_process_signal_pkt 
+0x4da1 018932 fetcht 2 ,mem_l2cap_signal_tx_length 
+0x4da2 018933 branch l2cap_call_proc_no_reply ,blank 
+0x4da3 018934 call l2cap_get_signal_tx_buff 
+0x4da4 018935 fetch 2 ,mem_l2cap_signal_tx_length 
+0x4da5 018936 istore 2 ,contw 
+0x4da6 018937 force l2cap_signal_channel ,pdata 
+0x4da7 018938 istore 2 ,contw 
+0x4da8 018939 branch l2cap_rx_reset_state 
+:      018941 l2cap_call_proc_sigal_pending:
+0x4da9 018942 fetch 1 ,mem_l2cap_pending_item 
+0x4daa 018943 rtn blank 
+0x4dab 018944 copy pdata ,rega 
+0x4dac 018945 bpatchx patch21_2 ,mem_patch21 
+0x4dad 018946 fetch 4 ,mem_l2cap_sdpres_delay_time 
+0x4dae 018947 arg 0x100 ,temp 
+0x4daf 018948 iadd temp ,temp 
+0x4db0 018949 copy clkn_bt ,pdata 
+0x4db1 018950 isub temp ,null 
+0x4db2 018951 nrtn positive 
+0x4db3 018952 jam 0 ,mem_l2cap_pending_item 
+0x4db4 018953 copy rega ,pdata 
+0x4db5 018954 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+0x4db6 018955 branch assert 
+:      018956 l2cap_sdp_conn_succ:
+0x4db7 018957 arg 0 ,debug 
+0x4db8 018958 call l2cap_malloc_signal_channel 
+0x4db9 018959 call restore_l2cap_req_param 
+0x4dba 018960 call l2cap_get_signal_tx_payload 
+0x4dbb 018961 call save_cont_pointers 
+0x4dbc 018962 call send_connection_sdp_res 
+0x4dbd 018963 call l2cap_get_signal_tx_buff 
+0x4dbe 018965 setarg 0x000c 
+0x4dbf 018966 istore 2 ,contw 
+0x4dc0 018967 force l2cap_signal_channel ,pdata 
+0x4dc1 018968 istore 2 ,contw 
+0x4dc2 018969 branch l2cap_rx_reset_state 
+:      018973 l2cap_reset_sdp_map:
+0x4dc3 018974 bpatchx patch21_3 ,mem_patch21 
+0x4dc4 018975 fetch 2 ,mem_sdp_tx_pkt_length 
+0x4dc5 018976 increase 4 ,pdata 
+0x4dc6 018977 rshift4 pdata ,pdata 
+0x4dc7 018978 rshift3 pdata ,pdata 
+0x4dc8 018979 add pdata ,1 ,temp 
+0x4dc9 018980 arg mem_tx_fifo3 ,contr 
+0x4dca 018981 ifetch 3 ,contr 
+0x4dcb 018982 rtn blank 
+0x4dcc 018983 store 3 ,mem_tx_fifo_map_temp 
+0x4dcd 018984 fetch 1 ,mem_tx_fifo_map_temp 
+0x4dce 018985 copy pdata ,rega 
+0x4dcf 018986 call check_l2cap_map 
+0x4dd0 018987 copy regb ,pdata 
+0x4dd1 018988 store 1 ,mem_tx_fifo3 
+0x4dd2 018989 rtn 
+:      018991 check_l2cap_map:
+0x4dd3 018992 arg 0 ,queue 
+0x4dd4 018993 arg 0 ,regb 
+:      018995 check_l2cap_map_loop:
+0x4dd5 018996 sub queue ,7 ,null 
+0x4dd6 018997 nrtn positive 
+0x4dd7 018998 qisolate1 rega 
+0x4dd8 018999 branch check_l2cap_map_used ,true 
+0x4dd9 019000 branch check_l2cap_map_used2 
+:      019002 check_l2cap_map_used:
+0x4dda 019003 copy temp ,pdata 
+0x4ddb 019004 branch check_l2cap_map_used2 ,blank 
+0x4ddc 019005 qset1 regb 
+0x4ddd 019006 increase -1 ,temp 
+:      019008 check_l2cap_map_used2:
+0x4dde 019009 increase 1 ,queue 
+0x4ddf 019010 branch check_l2cap_map_loop 
+:      019012 l2cap_call_proc_sdp:
+0x4de0 019013 call l2cap_malloc_is_fifo_empty 
+0x4de1 019014 nrtn blank 
+0x4de2 019015 call l2cap_check_map 
+0x4de3 019016 nrtn blank 
+0x4de4 019017 call l2cap_malloc_sdp_channel 
+0x4de5 019018 call sdp_process 
+0x4de6 019019 call l2cap_reset_sdp_map 
+0x4de7 019020 branch l2cap_call_proc_sdp_common 
+:      019023 ml2cap_call_proc_sdp:
+0x4de8 019024 call l2cap_malloc_is_fifo_empty 
+0x4de9 019025 nrtn blank 
+0x4dea 019026 call l2cap_malloc_sdp_channel 
+0x4deb 019027 call sdp_process 
+:      019028 l2cap_call_proc_sdp_common:
+0x4dec 019029 call l2cap_get_sdp_tx_buff 
+0x4ded 019030 fetch 2 ,mem_sdp_tx_pkt_length 
+0x4dee 019031 branch l2cap_call_proc_no_reply ,blank 
+0x4def 019032 istore 2 ,contw 
+0x4df0 019033 fetch 2 ,mem_sdp_remote_cid 
+0x4df1 019034 istore 2 ,contw 
+0x4df2 019035 branch l2cap_rx_reset_state 
+:      019037 l2cap_call_proc_hid:
+0x4df3 019038 call hid_rx_process 
+0x4df4 019039 branch l2cap_rx_reset_state 
+:      019041 l2cap_call_proc_rfcomm:
+0x4df5 019042 bpatchx patch21_4 ,mem_patch21 
+0x4df6 019043 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x4df7 019044 call rfcomm_rx_process 
+0x4df8 019045 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+0x4df9 019046 rtneq rfcomm_malloc_fail 
+0x4dfa 019047 branch l2cap_rx_reset_state 
+:      019048 l2cap_call_proc_no_reply:
+0x4dfb 019049 call l2cap_malloc_discard 
+:      019051 l2cap_rx_reset_state:
+0x4dfc 019052 setarg 0 
+0x4dfd 019053 store 2 ,mem_l2cap_rx_pkt_length 
+0x4dfe 019054 store 2 ,mem_l2cap_rx_cid 
+0x4dff 019055 jam l2cap_rx_done ,mem_l2cap_rx_done 
+0x4e00 019056 rtn 
+:      019058 l2cap_process_signal_pkt:
+0x4e01 019059 bpatchx patch21_5 ,mem_patch21 
+0x4e02 019060 call l2cap_get_signal_tx_payload 
+0x4e03 019061 force 0 ,regb 
+0x4e04 019062 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x4e05 019063 copy pdata ,regc 
+0x4e06 019064 fetch 2 ,mem_l2cap_payload_ptr 
+0x4e07 019065 iforce contr 
+:      019066 l2cap_process_signal_pkt_loop:
+0x4e08 019067 call l2cap_process_one_signal 
+0x4e09 019068 deposit regc 
+0x4e0a 019069 increase -4 ,regc 
+0x4e0b 019070 increase -4 ,pdata 
+0x4e0c 019071 nbranch l2cap_process_signal_pkt_loop ,blank 
+0x4e0d 019072 copy regb ,pdata 
+0x4e0e 019073 store 2 ,mem_l2cap_signal_tx_length 
+0x4e0f 019074 rtn 
+:      019076 l2cap_process_one_signal:
+0x4e10 019077 bpatchx patch21_6 ,mem_patch21 
+0x4e11 019078 ifetch 1 ,contr 
+0x4e12 019079 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+0x4e13 019080 beq signal_connect_req ,l2cap_proc_signal_connect_req 
+0x4e14 019081 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+0x4e15 019082 beq signal_config_req ,l2cap_proc_signal_config_req 
+0x4e16 019083 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+0x4e17 019084 beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+0x4e18 019085 beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+0x4e19 019086 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x4e1a 019087 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+0x4e1b 019088 beq signal_info_req ,l2cap_proc_signal_info_req 
+0x4e1c 019089 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+0x4e1d 019090 call l2cap_reject_command 
+:      019091 l2cap_process_one_signal_rtn:
+0x4e1e 019092 rtn 
+:      019094 l2cap_proc_signal_info_req:
+0x4e1f 019095 ifetch 1 ,contr 
+0x4e20 019096 copy pdata ,queue 
+0x4e21 019097 ifetch 2 ,contr 
+0x4e22 019098 copy pdata ,rega 
+0x4e23 019099 copy regc ,pdata 
+0x4e24 019100 isub rega ,regc 
+0x4e25 019101 setarg signal_info_rsp 
+0x4e26 019102 istore 1 ,contw 
+0x4e27 019103 copy queue ,pdata 
+0x4e28 019104 istore 1 ,contw 
+0x4e29 019105 ifetch 2 ,contr 
+:      019106 l2cap_proc_signal_info_req_reply:
+0x4e2a 019107 beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+0x4e2b 019108 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+0x4e2c 019109 rtn 
+:      019110 l2cap_proc_signal_info_req_ext:
+0x4e2d 019111 setarg 0x020008 
+0x4e2e 019112 istore 6 ,contw 
+0x4e2f 019113 setarg 0x0280 
+0x4e30 019114 istore 4 ,contw 
+0x4e31 019115 force 12 ,pdata 
+0x4e32 019116 branch l2cap_proc_signal_info_req_common 
+:      019117 l2cap_proc_signal_info_req_fix:
+0x4e33 019118 setarg 0x3000c 
+0x4e34 019119 istore 6 ,contw 
+0x4e35 019120 setarg 0x0006 
+0x4e36 019121 istore 8 ,contw 
+0x4e37 019122 force 16 ,pdata 
+:      019123 l2cap_proc_signal_info_req_common:
+0x4e38 019124 iadd regb ,regb 
+0x4e39 019125 branch l2cap_process_one_signal_rtn 
+:      019127 ml2cap_proc_signal_info_req:
+0x4e3a 019128 ifetch 1 ,contr 
+0x4e3b 019129 copy pdata ,queue 
+0x4e3c 019130 ifetch 2 ,contr 
+0x4e3d 019131 copy pdata ,rega 
+0x4e3e 019132 ifetch 2 ,contr 
+0x4e3f 019133 store 2 ,mem_temp 
+0x4e40 019134 copy regc ,pdata 
+0x4e41 019135 isub rega ,regc 
+0x4e42 019136 call l2cap_get_signal_tx_payload 
+0x4e43 019137 setarg signal_info_rsp 
+0x4e44 019138 istore 1 ,contw 
+0x4e45 019139 copy queue ,pdata 
+0x4e46 019140 istore 1 ,contw 
+0x4e47 019141 fetch 2 ,mem_temp 
+0x4e48 019142 branch l2cap_proc_signal_info_req_reply 
+:      019146 l2cap_proc_signal_cmd_reject:
+0x4e49 019147 ifetch 1 ,contr 
+0x4e4a 019148 copy pdata ,queue 
+0x4e4b 019149 ifetch 2 ,contr 
+0x4e4c 019150 copy pdata ,rega 
+0x4e4d 019151 iadd contr ,contr 
+0x4e4e 019152 copy regc ,pdata 
+0x4e4f 019153 isub rega ,regc 
+:      019154 l2cap_proc_signal_cmd_reject_rtn:
+0x4e50 019155 branch l2cap_process_one_signal_rtn 
+:      019157 l2cap_proc_signal_connect_req:
+0x4e51 019158 call save_cont_pointers 
+0x4e52 019161 call load_cont_pointers 
+0x4e53 019162 arg 0 ,debug 
+0x4e54 019163 ifetch 1 ,contr 
+0x4e55 019164 copy pdata ,queue 
+0x4e56 019165 ifetch 2 ,contr 
+0x4e57 019166 copy pdata ,rega 
+0x4e58 019167 ifetch 2 ,contr 
+0x4e59 019168 copy pdata ,temp 
+0x4e5a 019169 ifetch 2 ,contr 
+0x4e5b 019170 copy pdata ,timeup 
+0x4e5c 019171 bpatchx patch21_7 ,mem_patch21 
+0x4e5d 019172 copy temp ,pdata 
+0x4e5e 019173 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+0x4e5f 019174 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+0x4e60 019175 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+0x4e61 019176 beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+0x4e62 019177 call l2cap_reject_command 
+0x4e63 019178 branch l2cap_proc_signal_connect_req_rtn 
+:      019180 l2cap_proc_signal_connect_req_sdp:
+0x4e64 019181 call save_cont_pointers 
+0x4e65 019182 arg l2cap_sdp_channel ,temp 
+0x4e66 019183 fetch 2 ,mem_sdp_remote_cid 
+0x4e67 019184 nbranch already_connected ,blank 
+0x4e68 019185 copy timeup ,pdata 
+0x4e69 019186 store 2 ,mem_sdp_remote_cid 
+0x4e6a 019187 copy clkn_bt ,pdata 
+0x4e6b 019188 store 4 ,mem_l2cap_sdpres_delay_time 
+0x4e6c 019189 call store_l2cap_req_param 
+0x4e6d 019190 branch send_connection_pending 
+:      019192 store_l2cap_req_param:
+0x4e6e 019193 storet 2 ,mem_psm 
+0x4e6f 019194 deposit timeup 
+0x4e70 019195 store 2 ,mem_scid 
+0x4e71 019196 deposit rega 
+0x4e72 019197 store 2 ,mem_cmd_length 
+0x4e73 019198 deposit regb 
+0x4e74 019199 store 2 ,mem_tt2 
+0x4e75 019200 deposit regc 
+0x4e76 019201 store 2 ,mem_tt3 
+0x4e77 019202 deposit queue 
+0x4e78 019203 store 2 ,mem_id 
+0x4e79 019204 rtn 
+:      019206 restore_l2cap_req_param:
+0x4e7a 019207 fetcht 2 ,mem_psm 
+0x4e7b 019208 fetch 2 ,mem_scid 
+0x4e7c 019209 copy pdata ,timeup 
+0x4e7d 019210 fetch 2 ,mem_cmd_length 
+0x4e7e 019211 copy pdata ,rega 
+0x4e7f 019212 fetch 2 ,mem_tt2 
+0x4e80 019213 copy pdata ,regb 
+0x4e81 019214 fetch 2 ,mem_tt3 
+0x4e82 019215 copy pdata ,regc 
+0x4e83 019216 fetch 2 ,mem_id 
+0x4e84 019217 copy pdata ,queue 
+0x4e85 019218 rtn 
+:      019220 l2cap_proc_signal_connect_req_rfcomm:
+0x4e86 019221 call save_cont_pointers 
+0x4e87 019222 setarg l2cap_rfcomm_channel 
+0x4e88 019223 arg l2cap_rfcomm_channel ,temp 
+0x4e89 019224 fetch 2 ,mem_rfcomm_remote_cid 
+0x4e8a 019225 nbranch already_connected ,blank 
+0x4e8b 019226 copy timeup ,pdata 
+0x4e8c 019227 store 2 ,mem_rfcomm_remote_cid 
+0x4e8d 019228 fetch 1 ,mem_rfcomm_state 
+0x4e8e 019229 set1 l2cap_channel_state_conn_req ,pdata 
+0x4e8f 019230 set1 l2cap_channel_state_conn_res ,pdata 
+0x4e90 019231 store 1 ,mem_rfcomm_state 
+0x4e91 019232 branch send_connection_res 
+:      019233 l2cap_proc_signal_connect_req_hid_ctrl:
+0x4e92 019234 call save_cont_pointers 
+0x4e93 019235 arg l2cap_hid_control_channel ,temp 
+0x4e94 019236 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4e95 019237 nbranch already_connected ,blank 
+0x4e96 019238 copy timeup ,pdata 
+0x4e97 019239 store 2 ,mem_hid_ctrl_remote_cid 
+0x4e98 019240 fetch 1 ,mem_hid_control_state 
+0x4e99 019241 set1 l2cap_channel_state_conn_req ,pdata 
+0x4e9a 019242 set1 l2cap_channel_state_conn_res ,pdata 
+0x4e9b 019243 store 1 ,mem_hid_control_state 
+0x4e9c 019244 branch send_connection_res 
+:      019245 l2cap_proc_signal_connect_req_hid_int:
+0x4e9d 019246 call save_cont_pointers 
+0x4e9e 019247 deposit clke 
+0x4e9f 019248 arg l2cap_hid_interrupt_channel ,temp 
+0x4ea0 019249 fetch 2 ,mem_hid_int_remote_cid 
+0x4ea1 019250 nbranch already_connected ,blank 
+0x4ea2 019251 copy timeup ,pdata 
+0x4ea3 019252 store 2 ,mem_hid_int_remote_cid 
+0x4ea4 019253 fetch 1 ,mem_hid_interrupt_state 
+0x4ea5 019254 set1 l2cap_channel_state_conn_req ,pdata 
+0x4ea6 019255 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ea7 019256 store 1 ,mem_hid_interrupt_state 
+0x4ea8 019257 branch send_connection_res 
+:      019259 send_connection_pending:
+0x4ea9 019260 setarg l2cap_connect_pending 
+0x4eaa 019261 store 2 ,meml2cap_t1 
+0x4eab 019262 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+0x4eac 019263 branch send_connection_res0 
+:      019264 send_connection_sdp_res:
+0x4ead 019265 fetch 1 ,mem_sdp_state 
+0x4eae 019266 set1 l2cap_channel_state_conn_req ,pdata 
+0x4eaf 019267 set1 l2cap_channel_state_conn_res ,pdata 
+0x4eb0 019268 store 1 ,mem_sdp_state 
+:      019269 send_connection_res:
+0x4eb1 019270 setarg l2cap_connect_successful 
+0x4eb2 019271 store 2 ,meml2cap_t1 
+:      019272 send_connection_res0:
+0x4eb3 019273 bpatchx patch22_0 ,mem_patch22 
+0x4eb4 019274 call load_cont_pointers 
+0x4eb5 019275 setarg signal_connect_rsp 
+0x4eb6 019276 istore 1 ,contw 
+0x4eb7 019277 copy queue ,pdata 
+0x4eb8 019278 istore 1 ,contw 
+0x4eb9 019279 setarg 0x0008 
+0x4eba 019280 istore 2 ,contw 
+0x4ebb 019281 copy temp ,pdata 
+0x4ebc 019282 istore 2 ,contw 
+0x4ebd 019283 copy timeup ,pdata 
+0x4ebe 019284 istore 2 ,contw 
+0x4ebf 019285 fetch 2 ,meml2cap_t1 
+0x4ec0 019286 beq l2cap_connect_pending ,connect_pending 
+0x4ec1 019287 isolate0 0 ,debug 
+0x4ec2 019288 branch connect_suc ,true 
+0x4ec3 019289 setarg l2cap_connect_refused_no_resources 
+:      019290 connect_suc:
+0x4ec4 019291 istore 2 ,contw 
+0x4ec5 019292 force 0x0000 ,pdata 
+0x4ec6 019293 istore 2 ,contw 
+0x4ec7 019294 setarg 12 
+0x4ec8 019295 branch connect_req_update_byte_counts 
+:      019296 connect_pending:
+0x4ec9 019297 istore 2 ,contw 
+0x4eca 019298 force 0x0002 ,pdata 
+0x4ecb 019299 istore 2 ,contw 
+0x4ecc 019300 setarg 12 
+0x4ecd 019301 branch connect_req_update_byte_counts 
+:      019303 already_connected:
+0x4ece 019304 set1 0 ,debug 
+0x4ecf 019305 branch send_connection_res 
+:      019306 connect_req_update_byte_counts:
+0x4ed0 019307 iadd regb ,regb 
+0x4ed1 019308 copy regc ,pdata 
+0x4ed2 019309 isub rega ,regc 
+0x4ed3 019310 branch l2cap_proc_signal_connect_req_rtn 
+:      019311 l2cap_proc_signal_connect_req_rtn:
+0x4ed4 019312 branch l2cap_process_one_signal_rtn 
+:      019314 l2cap_proc_signal_connect_rsp:
+0x4ed5 019315 ifetch 1 ,contr 
+0x4ed6 019316 copy pdata ,queue 
+0x4ed7 019317 ifetch 2 ,contr 
+0x4ed8 019318 copy pdata ,rega 
+0x4ed9 019319 copy regc ,pdata 
+0x4eda 019320 isub rega ,regc 
+0x4edb 019321 ifetch 2 ,contr 
+0x4edc 019322 copy pdata ,timeup 
+0x4edd 019323 ifetch 2 ,contr 
+0x4ede 019324 copy pdata ,temp 
+0x4edf 019325 bpatchx patch22_1 ,mem_patch22 
+0x4ee0 019326 setarg l2cap_sdp_channel 
+0x4ee1 019327 isub temp ,null 
+0x4ee2 019328 branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+0x4ee3 019329 setarg l2cap_rfcomm_channel 
+0x4ee4 019330 isub temp ,null 
+0x4ee5 019331 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x4ee6 019332 setarg l2cap_hid_control_channel 
+0x4ee7 019333 isub temp ,null 
+0x4ee8 019334 branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x4ee9 019335 setarg l2cap_hid_interrupt_channel 
+0x4eea 019336 isub temp ,null 
+0x4eeb 019337 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x4eec 019338 rtn 
+:      019340 l2cap_proc_signal_connect_rsp_sdp:
+0x4eed 019341 copy timeup ,pdata 
+0x4eee 019342 store 2 ,mem_sdp_remote_cid 
+0x4eef 019343 fetch 1 ,mem_sdp_state 
+0x4ef0 019344 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ef1 019345 store 1 ,mem_sdp_state 
+0x4ef2 019346 branch l2cap_process_one_signal_rtn 
+:      019347 l2cap_proc_signal_connect_rsp_rfcomm:
+0x4ef3 019348 copy timeup ,pdata 
+0x4ef4 019349 store 2 ,mem_rfcomm_remote_cid 
+0x4ef5 019350 fetch 1 ,mem_rfcomm_state 
+0x4ef6 019351 set1 l2cap_channel_state_conn_res ,pdata 
+0x4ef7 019352 store 1 ,mem_rfcomm_state 
+0x4ef8 019353 rtn 
+:      019354 l2cap_proc_signal_connect_rsp_hid_int:
+0x4ef9 019355 copy timeup ,pdata 
+0x4efa 019356 store 2 ,mem_hid_ctrl_remote_cid 
+0x4efb 019357 fetch 1 ,mem_hid_interrupt_state 
+0x4efc 019358 set1 l2cap_channel_state_conn_res ,pdata 
+0x4efd 019359 store 1 ,mem_hid_interrupt_state 
+0x4efe 019360 rtn 
+:      019361 l2cap_proc_signal_connect_rsp_hid_ctrl:
+0x4eff 019362 copy timeup ,pdata 
+0x4f00 019363 store 2 ,mem_hid_int_remote_cid 
+0x4f01 019364 fetch 1 ,mem_hid_control_state 
+0x4f02 019365 set1 l2cap_channel_state_conn_res ,pdata 
+0x4f03 019366 store 1 ,mem_hid_control_state 
+0x4f04 019367 rtn 
+:      019369 l2cap_proc_signal_config_req:
+0x4f05 019370 ifetch 1 ,contr 
+0x4f06 019371 copy pdata ,queue 
+0x4f07 019372 ifetch 2 ,contr 
+0x4f08 019373 copy pdata ,rega 
+0x4f09 019374 copy regc ,pdata 
+0x4f0a 019375 isub rega ,regc 
+0x4f0b 019376 ifetch 2 ,contr 
+0x4f0c 019377 copy pdata ,temp 
+0x4f0d 019378 copy temp ,rega 
+0x4f0e 019379 bpatchx patch22_2 ,mem_patch22 
+0x4f0f 019380 setarg l2cap_sdp_channel 
+0x4f10 019381 isub temp ,null 
+0x4f11 019382 branch l2cap_proc_signal_config_req_sdp ,zero 
+0x4f12 019383 setarg l2cap_rfcomm_channel 
+0x4f13 019384 isub temp ,null 
+0x4f14 019385 branch l2cap_proc_signal_config_req_rfcomm ,zero 
+0x4f15 019386 setarg l2cap_hid_control_channel 
+0x4f16 019387 isub temp ,null 
+0x4f17 019388 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x4f18 019389 setarg l2cap_hid_interrupt_channel 
+0x4f19 019390 isub temp ,null 
+0x4f1a 019391 branch l2cap_proc_signal_config_req_hid_int ,zero 
+0x4f1b 019392 branch l2cap_reject_command 
+:      019394 l2cap_proc_signal_config_req_sdp:
+0x4f1c 019395 copy contw ,timeup 
+0x4f1d 019396 fetch 1 ,mem_sdp_state 
+0x4f1e 019397 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f1f 019398 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f20 019400 store 1 ,mem_sdp_state 
+0x4f21 019401 copy timeup ,contw 
+0x4f22 019402 arg l2cap_sdp_channel ,timeup 
+0x4f23 019403 fetch 2 ,mem_sdp_remote_cid 
+0x4f24 019404 copy pdata ,temp 
+0x4f25 019405 branch l2cap_send_config_rsp 
+:      019406 l2cap_proc_signal_config_req_hid_ctrl:
+0x4f26 019407 copy contw ,timeup 
+0x4f27 019408 fetch 1 ,mem_hid_control_state 
+0x4f28 019409 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f29 019410 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f2a 019412 store 1 ,mem_hid_control_state 
+0x4f2b 019413 copy timeup ,contw 
+0x4f2c 019414 arg l2cap_hid_control_channel ,timeup 
+0x4f2d 019415 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4f2e 019416 copy pdata ,temp 
+0x4f2f 019417 branch l2cap_send_config_rsp 
+:      019418 l2cap_proc_signal_config_req_hid_int:
+0x4f30 019419 copy contw ,timeup 
+0x4f31 019420 fetch 1 ,mem_hid_interrupt_state 
+0x4f32 019421 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f33 019422 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f34 019424 store 1 ,mem_hid_interrupt_state 
+0x4f35 019425 copy timeup ,contw 
+0x4f36 019426 arg l2cap_hid_interrupt_channel ,timeup 
+0x4f37 019427 fetch 2 ,mem_hid_int_remote_cid 
+0x4f38 019428 copy pdata ,temp 
+0x4f39 019429 branch l2cap_send_config_rsp 
+:      019430 l2cap_proc_signal_config_req_rfcomm:
+0x4f3a 019431 copy contw ,timeup 
+0x4f3b 019432 fetch 1 ,mem_rfcomm_state 
+0x4f3c 019433 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x4f3d 019434 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x4f3e 019436 store 1 ,mem_rfcomm_state 
+0x4f3f 019438 copy timeup ,contw 
+0x4f40 019439 arg l2cap_rfcomm_channel ,timeup 
+0x4f41 019440 fetch 2 ,mem_rfcomm_remote_cid 
+0x4f42 019441 copy pdata ,temp 
+:      019442 l2cap_send_config_rsp:
+0x4f43 019443 bpatchx patch22_3 ,mem_patch22 
+0x4f44 019444 setarg signal_config_rsp 
+0x4f45 019445 istore 1 ,contw 
+0x4f46 019446 copy queue ,pdata 
+0x4f47 019447 istore 1 ,contw 
+0x4f48 019448 setarg 0x0006 
+0x4f49 019449 istore 2 ,contw 
+0x4f4a 019450 copy temp ,pdata 
+0x4f4b 019451 istore 2 ,contw 
+0x4f4c 019452 force 0x00 ,pdata 
+0x4f4d 019453 istore 2 ,contw 
+0x4f4e 019454 force l2cap_config_success ,pdata 
+0x4f4f 019455 istore 2 ,contw 
+0x4f50 019456 force 10 ,pdata 
+0x4f51 019457 iadd regb ,regb 
+0x4f52 019459 storet 2 ,mem_config_req_dest_cid 
+0x4f53 019460 copy queue ,pdata 
+0x4f54 019461 store 1 ,mem_config_identifier 
+0x4f55 019462 force l2cap_sdp_channel ,pdata 
+0x4f56 019463 icompare 0xff ,timeup 
+0x4f57 019464 branch l2cap_send_config_rsp_is_sdp ,true 
+0x4f58 019465 increase 1 ,pdata 
+:      019466 l2cap_send_config_rsp_is_sdp:
+0x4f59 019468 rtn 
+:      019469 l2cap_check_channel_state:
+0x4f5a 019470 disable user 
+0x4f5b 019471 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x4f5c 019472 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+0x4f5d 019473 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+0x4f5e 019474 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x4f5f 019475 copy contr ,contw 
+0x4f60 019476 increase -1 ,contw 
+0x4f61 019477 istore 1 ,contw 
+0x4f62 019478 enable user 
+0x4f63 019479 rtn 
+:      019480 l2cap_send_config_req:
+:      019481 l2cap_send_config_req_sdp:
+0x4f64 019482 fetch 1 ,mem_sdp_state 
+0x4f65 019483 call l2cap_check_channel_state 
+0x4f66 019484 nbranch l2cap_send_config_req_rfcomm ,user 
+0x4f67 019485 jam l2cap_sdp_channel ,mem_send_config_req 
+0x4f68 019486 fetch 2 ,mem_sdp_remote_cid 
+0x4f69 019487 store 2 ,mem_config_req_dest_cid 
+0x4f6a 019488 branch l2cap_generate_config_req 
+:      019489 l2cap_send_config_req_rfcomm:
+0x4f6b 019490 fetch 1 ,mem_rfcomm_state 
+0x4f6c 019491 call l2cap_check_channel_state 
+0x4f6d 019492 nbranch l2cap_send_config_req_hid_ctrl ,user 
+0x4f6e 019493 jam l2cap_rfcomm_channel ,mem_send_config_req 
+0x4f6f 019494 fetch 2 ,mem_rfcomm_remote_cid 
+0x4f70 019495 store 2 ,mem_config_req_dest_cid 
+0x4f71 019496 branch l2cap_generate_config_req 
+:      019497 l2cap_send_config_req_hid_ctrl:
+0x4f72 019498 fetch 1 ,mem_hid_control_state 
+0x4f73 019499 call l2cap_check_channel_state 
+0x4f74 019500 nbranch l2cap_send_config_req_hid_int ,user 
+0x4f75 019501 jam l2cap_hid_control_channel ,mem_send_config_req 
+0x4f76 019502 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4f77 019503 store 2 ,mem_config_req_dest_cid 
+0x4f78 019504 branch l2cap_generate_config_req 
+:      019505 l2cap_send_config_req_hid_int:
+0x4f79 019506 fetch 1 ,mem_hid_interrupt_state 
+0x4f7a 019507 call l2cap_check_channel_state 
+0x4f7b 019508 nrtn user 
+0x4f7c 019509 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+0x4f7d 019510 fetch 2 ,mem_hid_int_remote_cid 
+0x4f7e 019511 store 2 ,mem_config_req_dest_cid 
+:      019514 l2cap_generate_config_req:
+0x4f7f 019515 bpatchx patch22_4 ,mem_patch22 
+0x4f80 019516 call l2cap_get_req_id 
+0x4f81 019517 call l2cap_malloc_signal_channel 
+0x4f82 019518 force 0 ,regb 
+0x4f83 019519 call l2cap_get_signal_tx_payload 
+0x4f84 019520 force signal_config_req ,pdata 
+0x4f85 019521 istore 1 ,contw 
+0x4f86 019522 fetch 1 ,mem_ml2cap_comm_id 
+0x4f87 019523 istore 1 ,contw 
+0x4f88 019524 setarg 0x0008 
+0x4f89 019525 istore 2 ,contw 
+0x4f8a 019526 fetch 2 ,mem_config_req_dest_cid 
+0x4f8b 019527 istore 2 ,contw 
+0x4f8c 019528 setarg 0x0000 
+0x4f8d 019529 istore 2 ,contw 
+0x4f8e 019530 force 1 ,pdata 
+0x4f8f 019531 istore 1 ,contw 
+0x4f90 019532 force 2 ,pdata 
+0x4f91 019533 istore 1 ,contw 
+0x4f92 019534 fetch 1 ,mem_send_config_req 
+0x4f93 019535 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+0x4f94 019536 setarg l2cap_config_mtu_sdp 
+0x4f95 019537 istore 2 ,contw 
+0x4f96 019538 branch l2cap_generate_config_req_done 
+:      019539 l2cap_generate_config_req_rfcomm:
+0x4f97 019540 setarg l2cap_config_mtu_rfcomm 
+0x4f98 019541 istore 2 ,contw 
+:      019542 l2cap_generate_config_req_done:
+0x4f99 019543 arg 0x0c ,temp 
+0x4f9a 019544 storet 2 ,mem_l2cap_signal_tx_length 
+0x4f9b 019545 call l2cap_get_signal_tx_buff 
+0x4f9c 019546 fetch 2 ,mem_l2cap_signal_tx_length 
+0x4f9d 019547 istore 2 ,contw 
+0x4f9e 019548 force l2cap_signal_channel ,pdata 
+0x4f9f 019549 istore 2 ,contw 
+0x4fa0 019550 jam 0 ,mem_send_config_req 
+:      019551 l2cap_proc_signal_config_req_rtn:
+0x4fa1 019552 branch l2cap_process_one_signal_rtn 
+:      019554 l2cap_proc_signal_config_rsp:
+0x4fa2 019555 increase 1 ,contr 
+0x4fa3 019556 ifetch 2 ,contr 
+0x4fa4 019557 copy pdata ,rega 
+0x4fa5 019558 copy regc ,pdata 
+0x4fa6 019559 isub rega ,regc 
+0x4fa7 019560 ifetch 2 ,contr 
+0x4fa8 019561 copy pdata ,rega 
+0x4fa9 019562 bpatchx patch22_5 ,mem_patch22 
+0x4faa 019563 setarg l2cap_sdp_channel 
+0x4fab 019564 isub rega ,null 
+0x4fac 019565 branch l2cap_proc_signal_config_rsp_sdp ,zero 
+0x4fad 019566 setarg l2cap_rfcomm_channel 
+0x4fae 019567 isub rega ,null 
+0x4faf 019568 branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x4fb0 019569 setarg l2cap_hid_control_channel 
+0x4fb1 019570 isub rega ,null 
+0x4fb2 019571 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x4fb3 019572 setarg l2cap_hid_interrupt_channel 
+0x4fb4 019573 isub rega ,null 
+0x4fb5 019574 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+0x4fb6 019575 increase 2 ,contr 
+0x4fb7 019576 ifetch 2 ,contr 
+0x4fb8 019577 iforce null 
+0x4fb9 019578 branch l2cap_process_one_signal_rtn 
+:      019579 l2cap_proc_signal_config_rsp_sdp:
+0x4fba 019580 fetch 1 ,mem_sdp_state 
+0x4fbb 019581 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fbc 019582 store 1 ,mem_sdp_state 
+0x4fbd 019583 branch l2cap_process_one_signal_rtn 
+:      019584 l2cap_proc_signal_config_rsp_rfcomm:
+0x4fbe 019585 fetch 1 ,mem_rfcomm_state 
+0x4fbf 019586 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc0 019587 store 1 ,mem_rfcomm_state 
+0x4fc1 019588 branch l2cap_process_one_signal_rtn 
+:      019589 l2cap_proc_signal_config_rsp_hid_ctrl:
+0x4fc2 019590 fetch 1 ,mem_hid_control_state 
+0x4fc3 019591 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc4 019592 store 1 ,mem_hid_control_state 
+0x4fc5 019593 branch l2cap_process_one_signal_rtn 
+:      019594 l2cap_proc_signal_config_rsp_hid_int:
+0x4fc6 019595 fetch 1 ,mem_hid_interrupt_state 
+0x4fc7 019596 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x4fc8 019597 store 1 ,mem_hid_interrupt_state 
+0x4fc9 019598 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x4fca 019599 branch ui_ipc_send_event 
+:      019603 l2cap_proc_signal_disconnect_req:
+0x4fcb 019604 ifetch 1 ,contr 
+0x4fcc 019605 copy pdata ,queue 
+0x4fcd 019606 ifetch 2 ,contr 
+0x4fce 019607 copy pdata ,rega 
+0x4fcf 019608 copy regc ,pdata 
+0x4fd0 019609 isub rega ,regc 
+0x4fd1 019610 ifetch 2 ,contr 
+0x4fd2 019611 copy pdata ,rega 
+0x4fd3 019612 ifetch 2 ,contr 
+0x4fd4 019613 copy pdata ,timeup 
+0x4fd5 019614 copy rega ,temp 
+0x4fd6 019615 call save_cont_pointers 
+0x4fd7 019616 bpatchx patch22_6 ,mem_patch22 
+0x4fd8 019617 setarg l2cap_sdp_channel 
+0x4fd9 019618 isub temp ,null 
+0x4fda 019619 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+0x4fdb 019620 setarg l2cap_rfcomm_channel 
+0x4fdc 019621 isub temp ,null 
+0x4fdd 019622 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+0x4fde 019623 setarg l2cap_hid_control_channel 
+0x4fdf 019624 isub temp ,null 
+0x4fe0 019625 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+0x4fe1 019626 setarg l2cap_hid_interrupt_channel 
+0x4fe2 019627 isub temp ,null 
+0x4fe3 019628 branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+0x4fe4 019629 call l2cap_reject_command 
+0x4fe5 019630 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      019631 l2cap_proc_signal_disconnect_req_hid_ctrl:
+0x4fe6 019632 copy timeup ,temp 
+0x4fe7 019633 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4fe8 019634 isub temp ,null 
+0x4fe9 019635 branch l2cap_disconnect_hid_control_now ,zero 
+0x4fea 019636 call l2cap_reject_command 
+0x4feb 019637 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      019638 l2cap_proc_signal_disconnect_req_hid_int:
+0x4fec 019639 copy timeup ,temp 
+0x4fed 019640 fetch 2 ,mem_hid_int_remote_cid 
+0x4fee 019641 isub temp ,null 
+0x4fef 019642 branch l2cap_disconnect_hid_interrupt_now ,zero 
+0x4ff0 019643 call l2cap_reject_command 
+0x4ff1 019644 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      019646 l2cap_proc_signal_disconnect_req_sdp:
+0x4ff2 019647 copy timeup ,temp 
+0x4ff3 019648 fetch 2 ,mem_sdp_remote_cid 
+0x4ff4 019649 isub temp ,null 
+0x4ff5 019650 branch l2cap_disconnect_sdp_now ,zero 
+0x4ff6 019651 call l2cap_reject_command 
+0x4ff7 019652 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      019653 l2cap_disconnect_hid_control_now:
+0x4ff8 019654 call l2cap_reset_hid_ctrl_state 
+0x4ff9 019655 branch l2cap_send_disconnect_rsp_pkt 
+:      019656 l2cap_disconnect_hid_interrupt_now:
+0x4ffa 019657 call l2cap_reset_hid_int_state 
+0x4ffb 019658 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x4ffc 019659 branch l2cap_send_disconnect_rsp_pkt ,blank 
+0x4ffd 019667 branch l2cap_send_disconnect_rsp_pkt 
+:      019669 l2cap_disconnect_sdp_now:
+0x4ffe 019670 call l2cap_reset_sdp_channel_state 
+0x4fff 019671 fetch 1 ,mem_upper_sm_ss 
+0x5000 019672 nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+0x5001 019675 branch l2cap_send_disconnect_rsp_pkt 
+:      019676 l2cap_proc_signal_disconnect_req_rfcomm:
+0x5002 019677 copy timeup ,temp 
+0x5003 019678 fetch 2 ,mem_rfcomm_remote_cid 
+0x5004 019679 isub temp ,null 
+0x5005 019680 branch l2cap_disconnect_rfcomm_now ,zero 
+0x5006 019681 call l2cap_reject_command 
+0x5007 019682 branch l2cap_proc_signal_disconnect_req_err_rtn 
+:      019683 l2cap_disconnect_rfcomm_now:
+0x5008 019684 call l2cap_reset_rfcomm_channel_state 
+0x5009 019685 branch l2cap_send_disconnect_rsp_pkt 
+:      019686 l2cap_send_disconnect_rsp_pkt:
+0x500a 019687 call load_cont_pointers 
+0x500b 019688 setarg signal_disconnect_rsp 
+0x500c 019689 istore 1 ,contw 
+0x500d 019690 copy queue ,pdata 
+0x500e 019691 istore 1 ,contw 
+0x500f 019692 setarg 0x0004 
+0x5010 019693 istore 2 ,contw 
+0x5011 019694 copy rega ,pdata 
+0x5012 019695 istore 2 ,contw 
+0x5013 019696 copy timeup ,pdata 
+0x5014 019697 istore 2 ,contw 
+0x5015 019698 force 8 ,pdata 
+0x5016 019699 branch l2cap_proc_signal_disconnect_req_rtn 
+:      019700 l2cap_proc_signal_disconnect_req_err_rtn:
+0x5017 019701 call load_cont_pointers 
+0x5018 019702 branch l2cap_proc_signal_disconnect_req_rtn 
+:      019703 l2cap_proc_signal_disconnect_req_rtn:
+0x5019 019704 iadd regb ,regb 
+0x501a 019705 branch l2cap_process_one_signal_rtn 
+:      019706 l2cap_proc_signal_disconnect_rsp:
+0x501b 019707 ifetch 1 ,contr 
+0x501c 019708 copy pdata ,queue 
+0x501d 019709 ifetch 2 ,contr 
+0x501e 019710 copy pdata ,rega 
+0x501f 019711 copy regc ,pdata 
+0x5020 019712 isub rega ,regc 
+0x5021 019713 ifetch 2 ,contr 
+0x5022 019714 copy pdata ,timeup 
+0x5023 019715 ifetch 2 ,contr 
+0x5024 019716 copy pdata ,temp 
+0x5025 019717 call save_cont_pointers 
+0x5026 019718 bpatchx patch22_7 ,mem_patch22 
+0x5027 019719 setarg l2cap_sdp_channel 
+0x5028 019720 isub temp ,null 
+0x5029 019721 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+0x502a 019722 setarg l2cap_rfcomm_channel 
+0x502b 019723 isub temp ,null 
+0x502c 019724 branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+0x502d 019725 setarg l2cap_hid_control_channel 
+0x502e 019726 isub temp ,null 
+0x502f 019727 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+0x5030 019728 setarg l2cap_hid_interrupt_channel 
+0x5031 019729 isub temp ,null 
+0x5032 019730 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+0x5033 019731 call l2cap_reject_command 
+0x5034 019732 branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+:      019733 l2cap_proc_signal_disconnect_rsp_sdp:
+0x5035 019734 copy temp ,rega 
+0x5036 019735 copy timeup ,temp 
+0x5037 019736 fetch 2 ,mem_sdp_remote_cid 
+0x5038 019737 isub temp ,null 
+0x5039 019738 call l2cap_reset_sdp_channel_state ,zero 
+0x503a 019739 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      019740 l2cap_proc_signal_disconnect_rsp_rfcomm:
+0x503b 019741 copy temp ,rega 
+0x503c 019742 copy timeup ,temp 
+0x503d 019743 fetch 2 ,mem_rfcomm_remote_cid 
+0x503e 019744 isub temp ,null 
+0x503f 019745 call l2cap_reset_rfcomm_channel_state ,zero 
+0x5040 019746 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      019747 l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+0x5041 019748 copy temp ,rega 
+0x5042 019749 copy timeup ,temp 
+0x5043 019750 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5044 019751 isub temp ,null 
+0x5045 019752 call l2cap_reset_hid_ctrl_state ,zero 
+0x5046 019753 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      019754 l2cap_proc_signal_disconnect_rsp_hid_int:
+0x5047 019755 copy temp ,rega 
+0x5048 019756 copy timeup ,temp 
+0x5049 019757 fetch 2 ,mem_hid_int_remote_cid 
+0x504a 019758 isub temp ,null 
+0x504b 019759 call l2cap_reset_hid_int_state ,zero 
+0x504c 019760 branch l2cap_proc_signal_disconnect_rsp_rtn 
+:      019761 l2cap_proc_signal_disconnect_rsp_rtn:
+0x504d 019762 call load_cont_pointers 
+0x504e 019763 branch l2cap_process_one_signal_rtn 
+:      019764 l2cap_proc_signal_disconnect_rsp_err_rtn:
+0x504f 019765 branch l2cap_process_one_signal_rtn 
+:      019768 l2cap_proc_signal_echo_req:
+0x5050 019769 ifetch 1 ,contr 
+0x5051 019770 copy pdata ,queue 
+0x5052 019771 ifetch 2 ,contr 
+0x5053 019772 copy pdata ,rega 
+0x5054 019773 iadd contr ,contr 
+0x5055 019774 setarg 9 
+0x5056 019775 istore 1 ,contw 
+0x5057 019776 copy queue ,pdata 
+0x5058 019777 istore 1 ,contw 
+0x5059 019778 force 0x0000 ,pdata 
+0x505a 019779 istore 2 ,contw 
+0x505b 019780 force 4 ,pdata 
+0x505c 019781 iadd regb ,regb 
+0x505d 019782 copy regc ,pdata 
+0x505e 019783 isub rega ,regc 
+0x505f 019784 branch l2cap_process_one_signal_rtn 
+:      019785 l2cap_proc_signal_echo_rsp:
+0x5060 019786 branch l2cap_process_one_signal_rtn 
+:      019788 l2cap_proc_signal_info_rsp:
+0x5061 019789 branch l2cap_process_one_signal_rtn 
+:      019790 l2cap_reject_command:
+0x5062 019791 force 0 ,regb 
+0x5063 019792 call l2cap_get_signal_tx_payload 
+0x5064 019793 setarg signal_cmd_reject 
+0x5065 019794 istore 1 ,contw 
+0x5066 019795 copy queue ,pdata 
+0x5067 019796 istore 1 ,contw 
+0x5068 019797 setarg 2 
+0x5069 019798 istore 2 ,contw 
+0x506a 019799 setarg cmd_not_understood 
+0x506b 019800 istore 2 ,contw 
+0x506c 019801 increase 6 ,regb 
+0x506d 019802 arg 4 ,regc 
+0x506e 019803 branch l2cap_process_one_signal_rtn 
+:      019807 l2cap_reset_rfcomm_channel_state:
+0x506f 019808 setarg 0 
+0x5070 019809 store 2 ,mem_rfcomm_tx_pkt_length 
+0x5071 019810 store 2 ,mem_rfcomm_remote_cid 
+0x5072 019811 jam 0 ,mem_rfcomm_state 
+0x5073 019812 rtn 
+:      019813 l2cap_reset_sdp_channel_state:
+0x5074 019814 setarg 0 
+0x5075 019815 store 2 ,mem_sdp_tx_pkt_length 
+0x5076 019816 store 2 ,mem_sdp_remote_cid 
+0x5077 019817 jam 0 ,mem_sdp_state 
+0x5078 019818 rtn 
+:      019819 l2cap_reset_hid_ctrl_state:
+0x5079 019820 setarg 0 
+0x507a 019821 store 2 ,mem_hid_ctrl_remote_cid 
+0x507b 019822 jam 0 ,mem_hid_control_state 
+0x507c 019823 fetch 1 ,mem_hid_interrupt_state 
+0x507d 019824 beq 0 ,l2cap_reset_hid_disconnected 
+0x507e 019825 rtn 
+:      019827 l2cap_reset_hid_int_state:
+0x507f 019828 setarg 0 
+0x5080 019829 store 2 ,mem_hid_int_remote_cid 
+0x5081 019830 jam 0 ,mem_hid_interrupt_state 
+0x5082 019831 fetch 1 ,mem_hid_control_state 
+0x5083 019832 beq 0 ,l2cap_reset_hid_disconnected 
+0x5084 019833 rtn 
+:      019835 l2cap_reset_hid_disconnected:
+0x5085 019836 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+0x5086 019837 branch ui_ipc_send_event 
+:      019839 l2cap_disconnect_interrupt_req:
+0x5087 019840 fetch 1 ,mem_control_tasks 
+0x5088 019841 set0 l2cap_disconnect_interrupt ,pdata 
+0x5089 019842 store 1 ,mem_control_tasks 
+0x508a 019843 fetch 2 ,mem_hid_int_remote_cid 
+0x508b 019844 rtn blank 
+0x508c 019845 call l2cap_malloc_signal_channel 
+0x508d 019846 fetch 2 ,mem_hid_int_remote_cid 
+0x508e 019847 copy pdata ,rega 
+0x508f 019848 force l2cap_hid_interrupt_channel ,regb 
+0x5090 019849 branch l2cap_generate_disconnect_req 
+:      019850 l2cap_disconnect_control_req:
+0x5091 019851 fetch 1 ,mem_control_tasks 
+0x5092 019852 set0 l2cap_disconnect_control ,pdata 
+0x5093 019853 store 1 ,mem_control_tasks 
+0x5094 019854 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5095 019855 rtn blank 
+0x5096 019856 call l2cap_malloc_signal_channel 
+0x5097 019857 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x5098 019858 copy pdata ,rega 
+0x5099 019859 force l2cap_hid_control_channel ,regb 
+:      019860 l2cap_generate_disconnect_req:
+0x509a 019861 call l2cap_get_req_id 
+0x509b 019862 call l2cap_get_signal_tx_payload 
+0x509c 019863 force signal_disconnect_req ,pdata 
+0x509d 019864 istore 1 ,contw 
+0x509e 019865 fetch 1 ,mem_ml2cap_comm_id 
+0x509f 019866 istore 1 ,contw 
+0x50a0 019867 setarg 0x0004 
+0x50a1 019868 istore 2 ,contw 
+0x50a2 019869 copy rega ,pdata 
+0x50a3 019870 istore 2 ,contw 
+0x50a4 019871 copy regb ,pdata 
+0x50a5 019872 istore 2 ,contw 
+0x50a6 019873 force 0x08 ,temp 
+0x50a7 019874 branch ml2cap_send_signal 
+:      019876 ml2cap_send_signal_connect_req:
+0x50a8 019877 bpatchx patch23_0 ,mem_patch23 
+0x50a9 019878 call l2cap_get_req_id 
+0x50aa 019879 call l2cap_get_signal_tx_payload 
+0x50ab 019880 setarg signal_connect_req 
+0x50ac 019881 istore 1 ,contw 
+0x50ad 019882 fetch 1 ,mem_ml2cap_comm_id 
+0x50ae 019883 istore 1 ,contw 
+0x50af 019884 setarg 0x0004 
+0x50b0 019885 istore 2 ,contw 
+0x50b1 019886 copy temp ,pdata 
+0x50b2 019887 istore 2 ,contw 
+0x50b3 019888 copy timeup ,pdata 
+0x50b4 019889 istore 2 ,contw 
+0x50b5 019890 arg 8 ,temp 
+0x50b6 019891 branch ml2cap_send_signal 
+:      019892 ml2cap_send_signal_config_req:
+0x50b7 019893 bpatchx patch23_1 ,mem_patch23 
+0x50b8 019894 call l2cap_get_req_id 
+0x50b9 019895 call l2cap_get_signal_tx_payload 
+0x50ba 019896 setarg signal_config_req 
+0x50bb 019897 istore 1 ,contw 
+0x50bc 019898 fetch 1 ,mem_ml2cap_comm_id 
+0x50bd 019899 istore 1 ,contw 
+0x50be 019900 setarg 0x0008 
+0x50bf 019901 istore 2 ,contw 
+0x50c0 019903 copy temp ,pdata 
+0x50c1 019905 istore 2 ,contw 
+0x50c2 019906 setarg 0x0000 
+0x50c3 019907 istore 2 ,contw 
+0x50c4 019908 setarg 0x01 
+0x50c5 019909 istore 1 ,contw 
+0x50c6 019910 setarg 0x02 
+0x50c7 019911 istore 1 ,contw 
+0x50c8 019912 setarg l2cap_config_mtu_rfcomm 
+0x50c9 019913 istore 2 ,contw 
+0x50ca 019914 arg 0xc ,temp 
+0x50cb 019915 branch ml2cap_send_signal 
+:      019916 ml2cap_send_signal_disconn_req:
+0x50cc 019917 bpatchx patch23_2 ,mem_patch23 
+0x50cd 019918 call l2cap_get_req_id 
+0x50ce 019919 call l2cap_get_signal_tx_payload 
+0x50cf 019920 setarg signal_disconnect_req 
+0x50d0 019921 istore 1 ,contw 
+0x50d1 019922 fetch 1 ,mem_ml2cap_comm_id 
+0x50d2 019923 increase 1 ,pdata 
+0x50d3 019924 copy contw ,rega 
+0x50d4 019925 store 1 ,mem_ml2cap_comm_id 
+0x50d5 019926 copy rega ,contw 
+0x50d6 019927 istore 1 ,contw 
+0x50d7 019928 setarg 0x0004 
+0x50d8 019929 istore 2 ,contw 
+0x50d9 019930 copy temp ,pdata 
+0x50da 019931 istore 2 ,contw 
+0x50db 019932 copy timeup ,pdata 
+0x50dc 019933 istore 2 ,contw 
+0x50dd 019934 arg 0x8 ,temp 
+:      019937 ml2cap_send_signal:
+0x50de 019938 storet 2 ,mem_l2cap_signal_tx_length 
+0x50df 019939 copy temp ,pdata 
+0x50e0 019940 branch l2cap_malloc_discard ,blank 
+0x50e1 019941 call l2cap_get_signal_tx_buff 
+0x50e2 019942 fetch 2 ,mem_l2cap_signal_tx_length 
+0x50e3 019943 istore 2 ,contw 
+0x50e4 019944 force l2cap_signal_channel ,pdata 
+0x50e5 019945 istore 2 ,contw 
+0x50e6 019946 rtn 
+:      019948 msdp_send_req_done:
+0x50e7 019949 fetch 2 ,mem_sdp_tx_pkt_length 
+0x50e8 019950 branch assert ,blank 
+0x50e9 019951 call l2cap_get_sdp_tx_buff 
+0x50ea 019952 fetch 2 ,mem_sdp_tx_pkt_length 
+0x50eb 019953 istore 2 ,contw 
+0x50ec 019954 fetch 2 ,mem_sdp_remote_cid 
+0x50ed 019955 istore 2 ,contw 
+0x50ee 019956 rtn 
+:      019957 ml2cap_rx_multiplexing:
+0x50ef 019958 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x50f0 019959 branch l2cap_rx_reset_state ,blank 
+0x50f1 019960 bpatchx patch23_3 ,mem_patch23 
+0x50f2 019961 fetch 1 ,mem_l2cap_rx_cid 
+0x50f3 019962 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+0x50f4 019963 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+0x50f5 019964 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+0x50f6 019965 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+0x50f7 019966 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+0x50f8 019967 branch l2cap_rx_reset_state 
+:      019969 ml2cap_call_proc_signal:
+0x50f9 019970 bpatchx patch23_4 ,mem_patch23 
+0x50fa 019971 call l2cap_malloc_signal_channel 
+0x50fb 019972 force 0 ,regb 
+0x50fc 019973 call l2cap_get_signal_tx_payload 
+0x50fd 019974 copy pdata ,contw 
+0x50fe 019975 fetch 2 ,mem_l2cap_rx_pkt_length 
+0x50ff 019976 copy pdata ,regc 
+0x5100 019977 fetch 2 ,mem_l2cap_payload_ptr 
+0x5101 019978 iforce contr 
+:      019979 ml2cap_proc_one_comm_loop:
+0x5102 019980 call ml2cap_proc_one_comm 
+0x5103 019981 increase -4 ,regc 
+0x5104 019982 nbranch ml2cap_proc_one_comm_loop ,zero 
+0x5105 019983 copy regb ,temp 
+0x5106 019984 call ml2cap_send_signal 
+0x5107 019985 branch l2cap_rx_reset_state 
+:      019987 ml2cap_proc_one_comm:
+0x5108 019988 ifetch 1 ,contr 
+0x5109 019989 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+0x510a 019990 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+0x510b 019991 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+0x510c 019992 beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+0x510d 019993 beq signal_config_req ,ml2cap_proc_signal_config_req 
+0x510e 019994 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+0x510f 019995 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+0x5110 019996 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+0x5111 019997 beq signal_info_req ,ml2cap_proc_signal_info_req 
+0x5112 019998 branch ml2cap_proc_send_reject 
+:      020000 ml2cap_proc_signal_connect_req:
+0x5113 020001 call save_cont_pointers 
+0x5114 020003 call load_cont_pointers 
+0x5115 020004 branch l2cap_proc_signal_connect_req 
+:      020005 ml2cap_proc_signal_cmd_reject:
+0x5116 020006 ifetch 1 ,contr 
+0x5117 020007 copy pdata ,queue 
+0x5118 020008 ifetch 2 ,contr 
+0x5119 020009 copy pdata ,rega 
+0x511a 020010 copy regc ,pdata 
+0x511b 020011 isub rega ,regc 
+:      020012 mvptr:
+0x511c 020013 ifetch 1 ,contr 
+0x511d 020014 increase -1 ,rega 
+0x511e 020015 nbranch mvptr ,zero 
+0x511f 020016 rtn 
+:      020017 ml2cap_proc_signal_connect_rsp:
+0x5120 020018 ifetch 1 ,contr 
+0x5121 020019 copy pdata ,queue 
+0x5122 020020 ifetch 2 ,contr 
+0x5123 020021 copy pdata ,rega 
+0x5124 020022 ifetch 2 ,contr 
+0x5125 020023 copy pdata ,timeup 
+0x5126 020024 ifetch 2 ,contr 
+0x5127 020025 copy pdata ,temp 
+0x5128 020026 ifetch 2 ,contr 
+0x5129 020027 sub pdata ,0 ,null 
+0x512a 020028 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+0x512b 020029 beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+0x512c 020030 beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+0x512d 020031 branch ml2cap_proc_signal_connect_rsp_mnosucc 
+:      020032 ml2cap_proc_signal_connect_refused_result:
+0x512e 020033 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+0x512f 020034 call ui_ipc_send_event 
+:      020035 ml2cap_proc_signal_connect_rsp_mnosucc:
+0x5130 020036 ifetch 2 ,contr 
+0x5131 020037 branch mnosucc 
+:      020038 ml2cap_proc_signal_connect_rsp_sucessful:
+0x5132 020039 call save_cont_pointers 
+0x5133 020043 bpatchx patch23_5 ,mem_patch23 
+0x5134 020044 setarg l2cap_sdp_channel 
+0x5135 020045 isub temp ,null 
+0x5136 020046 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+0x5137 020047 setarg l2cap_rfcomm_channel 
+0x5138 020048 isub temp ,null 
+0x5139 020049 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+0x513a 020050 setarg l2cap_hid_interrupt_channel 
+0x513b 020051 isub temp ,null 
+0x513c 020052 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+0x513d 020053 setarg l2cap_hid_control_channel 
+0x513e 020054 isub temp ,null 
+0x513f 020055 branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+0x5140 020056 branch mnosucc 
+:      020057 ml2cap_proc_signal_connect_rsp_sdp:
+0x5141 020058 copy timeup ,pdata 
+0x5142 020059 store 2 ,mem_sdp_remote_cid 
+0x5143 020060 fetch 1 ,mem_sdp_state 
+0x5144 020061 set1 l2cap_channel_state_conn_res 
+0x5145 020062 store 1 ,mem_sdp_state 
+0x5146 020063 branch mnosucc1 
+:      020064 ml2cap_proc_signal_connect_rsp_rfcomm:
+0x5147 020065 copy timeup ,pdata 
+0x5148 020066 store 2 ,mem_rfcomm_remote_cid 
+0x5149 020067 fetch 1 ,mem_rfcomm_state 
+0x514a 020068 set1 l2cap_channel_state_conn_res 
+0x514b 020069 store 1 ,mem_rfcomm_state 
+0x514c 020070 branch mnosucc1 
+:      020071 ml2cap_proc_signal_connect_rsp_hid_ctrl:
+0x514d 020072 copy timeup ,pdata 
+0x514e 020073 store 2 ,mem_hid_ctrl_remote_cid 
+0x514f 020074 fetch 1 ,mem_hid_control_state 
+0x5150 020075 set1 l2cap_channel_state_conn_res 
+0x5151 020076 store 1 ,mem_hid_control_state 
+0x5152 020077 branch mnosucc1 
+:      020078 ml2cap_proc_signal_connect_rsp_hid_int:
+0x5153 020079 copy timeup ,pdata 
+0x5154 020080 store 2 ,mem_hid_int_remote_cid 
+0x5155 020081 fetch 1 ,mem_hid_interrupt_state 
+0x5156 020082 set1 l2cap_channel_state_conn_res 
+0x5157 020083 store 1 ,mem_hid_interrupt_state 
+:      020086 mnosucc1:
+0x5158 020087 call load_cont_pointers 
+:      020088 mnosucc:
+0x5159 020089 copy regc ,pdata 
+0x515a 020090 isub rega ,regc 
+0x515b 020091 rtn 
+:      020093 ml2cap_proc_signal_config_rsp:
+0x515c 020094 ifetch 1 ,contr 
+0x515d 020095 copy pdata ,queue 
+0x515e 020096 ifetch 2 ,contr 
+0x515f 020097 copy pdata ,rega 
+0x5160 020098 copy regc ,pdata 
+0x5161 020099 isub rega ,regc 
+0x5162 020100 ifetch 2 ,contr 
+0x5163 020101 copy pdata ,timeup 
+0x5164 020102 ifetch 2 ,contr 
+0x5165 020103 ifetch 2 ,contr 
+0x5166 020104 nbranch mcrsdone1 ,blank 
+0x5167 020105 call save_cont_pointers 
+0x5168 020109 copy timeup ,temp 
+0x5169 020110 bpatchx patch23_6 ,mem_patch23 
+0x516a 020111 setarg l2cap_sdp_channel 
+0x516b 020112 isub temp ,null 
+0x516c 020113 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+0x516d 020114 setarg l2cap_rfcomm_channel 
+0x516e 020115 isub temp ,null 
+0x516f 020116 branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+0x5170 020117 setarg l2cap_hid_control_channel 
+0x5171 020118 isub temp ,null 
+0x5172 020119 branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+0x5173 020120 setarg l2cap_hid_interrupt_channel 
+0x5174 020121 isub temp ,null 
+0x5175 020122 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+:      020123 ml2cap_proc_signal_config_rsp_sdp:
+0x5176 020124 fetch 1 ,mem_sdp_state 
+0x5177 020125 set1 l2cap_channel_state_rcv_cfg_res 
+0x5178 020126 store 1 ,mem_sdp_state 
+0x5179 020127 rtn 
+:      020128 ml2cap_proc_signal_config_rsp_rfcomm:
+0x517a 020129 fetch 1 ,mem_rfcomm_state 
+0x517b 020130 set1 l2cap_channel_state_rcv_cfg_res 
+0x517c 020131 store 1 ,mem_rfcomm_state 
+0x517d 020132 rtn 
+:      020133 ml2cap_proc_signal_config_rsp_hid_ctrl:
+0x517e 020134 fetch 1 ,mem_hid_control_state 
+0x517f 020135 set1 l2cap_channel_state_rcv_cfg_res 
+0x5180 020136 store 1 ,mem_hid_control_state 
+0x5181 020137 rtn 
+:      020138 ml2cap_proc_signal_config_rsp_hid_int:
+0x5182 020139 fetch 1 ,mem_hid_interrupt_state 
+0x5183 020140 set1 l2cap_channel_state_rcv_cfg_res 
+0x5184 020141 store 1 ,mem_hid_interrupt_state 
+0x5185 020142 jam bt_evt_hid_connected ,mem_fifo_temp 
+0x5186 020143 branch ui_ipc_send_event 
+:      020146 mcfrsdone:
+0x5187 020147 call load_cont_pointers 
+:      020148 mcrsdone1:
+0x5188 020149 increase -6 ,rega 
+:      020150 mloop2:
+0x5189 020151 branch mcrsdone ,zero 
+0x518a 020152 increase 1 ,contr 
+0x518b 020153 increase -1 ,rega 
+0x518c 020154 branch mloop2 
+:      020155 mcrsdone:
+0x518d 020156 rtn 
+:      020157 ml2cap_proc_signal_config_req:
+0x518e 020158 ifetch 1 ,contr 
+0x518f 020159 copy pdata ,queue 
+0x5190 020160 ifetch 2 ,contr 
+0x5191 020161 copy pdata ,rega 
+0x5192 020162 copy regc ,pdata 
+0x5193 020163 isub rega ,regc 
+0x5194 020164 ifetch 2 ,contr 
+0x5195 020165 increase 2 ,contr 
+0x5196 020166 copy pdata ,temp 
+0x5197 020167 setarg signal_config_rsp 
+0x5198 020168 istore 1 ,contw 
+0x5199 020169 copy queue ,pdata 
+0x519a 020170 istore 1 ,contw 
+0x519b 020171 increase 2 ,rega 
+0x519c 020172 copy rega ,pdata 
+0x519d 020173 istore 2 ,contw 
+0x519e 020174 call save_cont_pointers 
+0x519f 020175 bpatchx patch23_7 ,mem_patch23 
+0x51a0 020176 setarg l2cap_sdp_channel 
+0x51a1 020177 isub temp ,null 
+0x51a2 020178 branch ml2cap_proc_signal_config_req_sdp ,zero 
+0x51a3 020179 setarg l2cap_rfcomm_channel 
+0x51a4 020180 isub temp ,null 
+0x51a5 020181 branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+0x51a6 020182 setarg l2cap_hid_control_channel 
+0x51a7 020183 isub temp ,null 
+0x51a8 020184 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+0x51a9 020185 setarg l2cap_hid_interrupt_channel 
+0x51aa 020186 isub temp ,null 
+0x51ab 020187 branch ml2cap_proc_signal_config_req_hid_int ,zero 
+0x51ac 020188 branch mcfgrq_done 
+:      020189 ml2cap_proc_signal_config_req_sdp:
+0x51ad 020190 fetch 1 ,mem_sdp_state 
+0x51ae 020191 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51af 020192 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51b0 020193 store 1 ,mem_sdp_state 
+0x51b1 020194 bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+0x51b2 020195 fetcht 1 ,mem_control_tasks 
+0x51b3 020196 set1 l2cap_init_config_req ,temp 
+0x51b4 020197 storet 1 ,mem_control_tasks 
+0x51b5 020198 copy queue ,pdata 
+0x51b6 020199 increase 1 ,pdata 
+0x51b7 020200 store 1 ,mem_config_identifier 
+0x51b8 020201 fetch 1 ,mem_sdp_state 
+0x51b9 020202 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x51ba 020203 store 1 ,mem_sdp_state 
+:      020204 ml2cap_proc_signal_config_req_sdp_nsndreq:
+0x51bb 020205 fetch 2 ,mem_sdp_remote_cid 
+0x51bc 020206 store 2 ,mem_config_req_dest_cid 
+0x51bd 020207 branch mcfgrq_done 
+:      020208 ml2cap_proc_signal_config_req_rfcomm:
+0x51be 020209 fetch 1 ,mem_rfcomm_state 
+0x51bf 020210 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51c0 020211 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51c1 020212 store 1 ,mem_rfcomm_state 
+0x51c2 020213 fetch 2 ,mem_rfcomm_remote_cid 
+0x51c3 020214 branch mcfgrq_done 
+:      020215 ml2cap_proc_signal_config_req_hid_ctrl:
+0x51c4 020216 fetch 1 ,mem_hid_control_state 
+0x51c5 020217 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51c6 020218 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51c7 020219 store 1 ,mem_hid_control_state 
+0x51c8 020220 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x51c9 020221 branch mcfgrq_done 
+:      020222 ml2cap_proc_signal_config_req_hid_int:
+0x51ca 020223 fetch 1 ,mem_hid_interrupt_state 
+0x51cb 020224 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+0x51cc 020225 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+0x51cd 020226 store 1 ,mem_hid_interrupt_state 
+0x51ce 020227 fetch 2 ,mem_hid_int_remote_cid 
+:      020230 mcfgrq_done:
+0x51cf 020231 copy pdata ,timeup 
+0x51d0 020232 call load_cont_pointers 
+0x51d1 020234 copy timeup ,pdata 
+0x51d2 020236 istore 2 ,contw 
+0x51d3 020237 force 0x0000 ,pdata 
+0x51d4 020238 istore 2 ,contw 
+0x51d5 020239 force 0x0000 ,pdata 
+0x51d6 020240 istore 2 ,contw 
+0x51d7 020241 force 10 ,pdata 
+0x51d8 020242 iadd regb ,regb 
+0x51d9 020243 increase -6 ,rega 
+:      020244 mloop1:
+0x51da 020245 branch mcrqdone ,zero 
+0x51db 020246 ifetch 1 ,contr 
+0x51dc 020247 istore 1 ,contw 
+0x51dd 020248 increase 1 ,regb 
+0x51de 020249 increase -1 ,rega 
+0x51df 020250 branch mloop1 
+:      020251 mcrqdone:
+0x51e0 020252 rtn 
+:      020253 ml2cap_proc_signal_disconn_req:
+0x51e1 020254 ifetch 1 ,contr 
+0x51e2 020255 copy pdata ,queue 
+0x51e3 020256 ifetch 2 ,contr 
+0x51e4 020257 copy pdata ,rega 
+0x51e5 020258 copy regc ,pdata 
+0x51e6 020259 isub rega ,regc 
+0x51e7 020261 ifetch 2 ,contr 
+0x51e8 020262 copy pdata ,rega 
+0x51e9 020263 ifetch 2 ,contr 
+0x51ea 020264 copy pdata ,timeup 
+0x51eb 020265 call save_cont_pointers 
+0x51ec 020266 bpatchx patch24_0 ,mem_patch24 
+0x51ed 020267 setarg l2cap_sdp_channel 
+0x51ee 020268 copy rega ,temp 
+0x51ef 020269 isub temp ,null 
+0x51f0 020270 branch ml2cap_proc_signal_disconn_sdp ,zero 
+0x51f1 020271 setarg l2cap_hid_control_channel 
+0x51f2 020272 copy rega ,temp 
+0x51f3 020273 isub temp ,null 
+0x51f4 020274 branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+0x51f5 020275 setarg l2cap_hid_interrupt_channel 
+0x51f6 020276 copy rega ,temp 
+0x51f7 020277 isub temp ,null 
+0x51f8 020278 branch ml2cap_proc_signal_disconn_hid_int ,zero 
+0x51f9 020279 branch mclsrfc 
+:      020280 ml2cap_proc_signal_disconn_sdp:
+0x51fa 020281 setarg 0x0000 
+0x51fb 020282 store 2 ,mem_sdp_tx_pkt_length 
+0x51fc 020283 store 2 ,mem_sdp_remote_cid 
+0x51fd 020284 store 1 ,mem_sdp_state 
+0x51fe 020285 branch mclssdp 
+:      020286 ml2cap_proc_signal_disconn_hid_ctrl:
+0x51ff 020287 call l2cap_reset_hid_ctrl_state 
+0x5200 020288 branch mclssdp 
+:      020289 ml2cap_proc_signal_disconn_hid_int:
+0x5201 020290 call l2cap_reset_hid_int_state 
+0x5202 020296 branch mclssdp 
+:      020297 mclsrfc:
+0x5203 020298 setarg 0x0000 
+0x5204 020299 store 2 ,mem_rfcomm_tx_pkt_length 
+:      020300 mclssdp:
+0x5205 020301 call load_cont_pointers 
+0x5206 020302 setarg signal_disconnect_rsp 
+0x5207 020303 istore 1 ,contw 
+0x5208 020304 copy queue ,pdata 
+0x5209 020305 istore 1 ,contw 
+0x520a 020306 setarg 0x0004 
+0x520b 020307 istore 2 ,contw 
+0x520c 020308 copy rega ,pdata 
+0x520d 020309 istore 2 ,contw 
+0x520e 020310 copy timeup ,pdata 
+0x520f 020311 istore 2 ,contw 
+0x5210 020312 force 8 ,pdata 
+0x5211 020313 iadd regb ,regb 
+0x5212 020314 rtn 
+:      020316 ml2cap_proc_signal_disconn_rsp:
+0x5213 020317 ifetch 1 ,contr 
+0x5214 020318 copy pdata ,queue 
+0x5215 020319 ifetch 2 ,contr 
+0x5216 020320 copy pdata ,rega 
+0x5217 020321 ifetch 2 ,contr 
+0x5218 020322 copy pdata ,timeup 
+0x5219 020323 ifetch 2 ,contr 
+0x521a 020324 copy pdata ,temp 
+0x521b 020325 call save_cont_pointers 
+0x521c 020326 bpatchx patch24_1 ,mem_patch24 
+0x521d 020327 fetch 1 ,mem_ml2cap_comm_id 
+0x521e 020328 icompare 0xff ,queue 
+0x521f 020329 nbranch mdisdone ,true 
+0x5220 020330 setarg l2cap_sdp_channel 
+0x5221 020331 isub temp ,null 
+0x5222 020332 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+0x5223 020333 setarg l2cap_rfcomm_channel 
+0x5224 020334 isub temp ,null 
+0x5225 020335 branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+0x5226 020336 branch mdisdone 
+:      020337 ml2cap_proc_signal_disconn_rsp_sdp:
+0x5227 020338 jam 0 ,mem_sdp_remote_cid 
+0x5228 020339 jam 0 ,mem_sdp_state 
+0x5229 020340 branch mdisdone 
+:      020341 ml2cap_proc_signal_disconn_rsp_rfcomm:
+:      020344 mdisdone:
+0x522a 020345 call load_cont_pointers 
+0x522b 020346 copy regc ,pdata 
+0x522c 020347 isub rega ,regc 
+0x522d 020348 rtn 
+:      020350 ml2cap_proc_send_reject:
+0x522e 020351 setarg signal_cmd_reject 
+0x522f 020352 istore 1 ,contw 
+0x5230 020353 ifetch 1 ,contr 
+0x5231 020354 istore 1 ,contw 
+0x5232 020355 setarg 0x0002 
+0x5233 020356 istore 2 ,contw 
+0x5234 020357 setarg 0x0000 
+0x5235 020358 istore 2 ,contw 
+0x5236 020359 setarg 0x0006 
+0x5237 020360 iadd regb ,regb 
+0x5238 020361 force 4 ,regc 
+0x5239 020362 rtn 
+:      020365 l2cap_get_req_id:
+0x523a 020366 fetch 1 ,mem_ml2cap_comm_id 
+0x523b 020367 increase 1 ,pdata 
+0x523c 020368 bne 0 ,l2cap_get_req_id_ok 
+0x523d 020369 increase 1 ,pdata 
+:      020370 l2cap_get_req_id_ok:
+0x523e 020371 store 1 ,mem_ml2cap_comm_id 
+0x523f 020372 rtn 
+:      020382 l2cap_malloc:
+0x5240 020383 bpatchx patch24_2 ,mem_patch24 
+0x5241 020384 arg 0 ,regb 
+0x5242 020385 call l2cap_malloc_is_fifo_full 
+0x5243 020386 nbranch assert ,blank 
+0x5244 020387 call l2cap_malloc_get_full_map 
+0x5245 020388 arg mem_tx_buff0 ,regb 
+0x5246 020389 arg 0 ,queue 
+:      020390 l2cap_malloc_loop:
+0x5247 020391 fetcht 1 ,mem_used_map 
+0x5248 020392 qisolate1 temp 
+0x5249 020393 branch l2cap_malloc_next ,true 
+0x524a 020394 call l2cap_malloc_enough 
+0x524b 020395 sub timeup ,0 ,null 
+0x524c 020396 branch l2cap_malloc_next ,positive 
+0x524d 020397 call l2cap_malloc_into_fifo 
+0x524e 020398 branch l2cap_malloc_rtn 
+:      020399 l2cap_malloc_next:
+0x524f 020400 increase 128 ,regb 
+0x5250 020401 increase 1 ,queue 
+0x5251 020402 setarg 8 
+0x5252 020403 isub queue ,null 
+0x5253 020404 branch l2cap_malloc_loop ,positive 
+0x5254 020405 arg 0 ,regb 
+:      020406 l2cap_malloc_rtn:
+0x5255 020407 copy regb ,pdata 
+0x5256 020408 branch assert ,blank 
+0x5257 020409 rtn 
+:      020417 l2cap_malloc_fifo_out:
+0x5258 020418 bpatchx patch24_3 ,mem_patch24 
+0x5259 020419 call l2cap_malloc_fifo_get_first_ptr 
+0x525a 020420 increase 1 ,contr 
+0x525b 020421 ifetch 2 ,contr 
+0x525c 020422 rtn 
+:      020428 l2cap_malloc_free:
+0x525d 020429 bpatchx patch24_4 ,mem_patch24 
+0x525e 020430 call l2cap_malloc_fifo_get_first_ptr 
+0x525f 020431 copy contr ,contw 
+0x5260 020432 copy contr ,temp 
+0x5261 020433 setarg 0 
+0x5262 020434 istore 3 ,contw 
+0x5263 020435 rtn 
+:      020440 l2cap_malloc_discard:
+0x5264 020441 bpatchx patch24_5 ,mem_patch24 
+0x5265 020442 call l2cap_malloc_is_fifo_empty 
+0x5266 020443 branch assert ,blank 
+0x5267 020444 fetch 3 ,mem_tx_fifo2 
+0x5268 020445 store 3 ,mem_tx_fifo3 
+0x5269 020446 fetch 3 ,mem_tx_fifo1 
+0x526a 020447 store 3 ,mem_tx_fifo2 
+0x526b 020448 fetch 3 ,mem_tx_fifo0 
+0x526c 020449 store 3 ,mem_tx_fifo1 
+0x526d 020450 rtn 
+:      020456 l2cap_malloc_is_fifo_full:
+0x526e 020457 bpatchx patch24_6 ,mem_patch24 
+0x526f 020458 fetch 3 ,mem_tx_fifo0 
+0x5270 020459 rtn 
+:      020465 l2cap_malloc_is_fifo_nearly_full:
+0x5271 020466 bpatchx patch24_7 ,mem_patch24 
+0x5272 020467 fetch 3 ,mem_tx_fifo1 
+0x5273 020468 rtn 
+:      020474 l2cap_malloc_is_fifo_empty:
+0x5274 020475 bpatchx patch25_0 ,mem_patch25 
+0x5275 020476 fetch 3 ,mem_tx_fifo3 
+0x5276 020477 rtn 
+:      020482 l2cap_malloc_fifo_get_first_ptr:
+0x5277 020483 call l2cap_malloc_is_fifo_empty 
+0x5278 020484 branch assert ,blank 
+0x5279 020485 arg mem_tx_fifo0 ,contr 
+:      020486 l2cap_malloc_free_loop:
+0x527a 020487 ifetch 3 ,contr 
+0x527b 020488 branch l2cap_malloc_free_loop ,blank 
+0x527c 020489 increase -3 ,contr 
+0x527d 020490 rtn 
+:      020497 l2cap_malloc_get_full_map:
+0x527e 020498 bpatchx patch25_1 ,mem_patch25 
+0x527f 020499 arg 4 ,loopcnt 
+0x5280 020500 arg mem_tx_fifo0_map ,contr 
+0x5281 020501 arg 0 ,temp 
+:      020502 l2cap_malloc_get_full_map_loop:
+0x5282 020503 ifetch 3 ,contr 
+0x5283 020504 and pdata ,0xff ,pdata 
+0x5284 020505 ior temp ,temp 
+0x5285 020506 loop l2cap_malloc_get_full_map_loop 
+0x5286 020507 storet 1 ,mem_used_map 
+0x5287 020508 rtn 
+:      020516 l2cap_malloc_into_fifo:
+0x5288 020517 bpatchx patch25_2 ,mem_patch25 
+0x5289 020518 call l2cap_malloc_is_fifo_full 
+0x528a 020519 nbranch assert ,blank 
+0x528b 020520 call l2cap_malloc_is_fifo_empty 
+0x528c 020521 branch l2cap_malloc_into_fifo_no_push ,blank 
+0x528d 020522 fetch 3 ,mem_tx_fifo1 
+0x528e 020523 store 3 ,mem_tx_fifo0 
+0x528f 020524 ifetch 3 ,contr 
+0x5290 020525 istore 3 ,contw 
+0x5291 020526 ifetch 3 ,contr 
+0x5292 020527 istore 3 ,contw 
+0x5293 020528 setarg 0 
+0x5294 020529 istore 3 ,contw 
+:      020530 l2cap_malloc_into_fifo_no_push:
+0x5295 020531 arg 0 ,temp 
+0x5296 020532 copy timeup ,pdata 
+0x5297 020533 iadd queue ,pdata 
+:      020534 l2cap_malloc_into_fifo_loop:
+0x5298 020535 qset1 temp 
+0x5299 020536 increase 1 ,queue 
+0x529a 020537 isub queue ,null 
+0x529b 020538 nbranch l2cap_malloc_into_fifo_loop ,zero 
+0x529c 020540 lshift8 regb ,pdata 
+0x529d 020541 ior temp ,pdata 
+0x529e 020542 store 3 ,mem_tx_fifo3 
+0x529f 020543 rtn 
+:      020553 l2cap_malloc_enough:
+0x52a0 020554 bpatchx patch25_3 ,mem_patch25 
+0x52a1 020555 call l2cap_malloc_get_full_map 
+0x52a2 020556 copy queue ,regc 
+0x52a3 020557 arg 0 ,temp 
+0x52a4 020558 arg 0 ,timeup 
+:      020560 l2cap_malloc_enough_loop:
+0x52a5 020561 copy queue ,pdata 
+0x52a6 020562 beq 8 ,l2cap_malloc_enough_end 
+0x52a7 020563 fetch 1 ,mem_used_map 
+0x52a8 020564 qisolate1 pdata 
+0x52a9 020565 branch l2cap_malloc_enough_end ,true 
+0x52aa 020566 increase 128 ,temp 
+0x52ab 020567 increase 1 ,queue 
+0x52ac 020568 copy rega ,pdata 
+0x52ad 020569 isub temp ,null 
+0x52ae 020570 branch l2cap_malloc_enough_end ,zero 
+0x52af 020571 branch l2cap_malloc_enough_loop ,positive 
+:      020572 l2cap_malloc_enough_end:
+0x52b0 020573 copy temp ,pdata 
+0x52b1 020574 isub rega ,null 
+0x52b2 020575 nbranch l2cap_malloc_enough_rtn ,positive 
+0x52b3 020576 copy queue ,pdata 
+0x52b4 020577 copy regc ,temp 
+0x52b5 020578 isub temp ,timeup 
+:      020579 l2cap_malloc_enough_rtn:
+0x52b6 020580 copy regc ,queue 
+0x52b7 020581 rtn 
+:      020584 l2cap_malloc_signal_channel:
+0x52b8 020585 bpatchx patch25_4 ,mem_patch25 
+0x52b9 020586 arg l2cap_signal_malloc_size ,rega 
+0x52ba 020587 call l2cap_malloc 
+0x52bb 020588 store 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x52bc 020589 increase 4 ,pdata 
+0x52bd 020590 store 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x52be 020591 setarg 0 
+0x52bf 020592 store 2 ,mem_l2cap_signal_tx_length 
+0x52c0 020593 rtn 
+:      020595 l2cap_get_signal_tx_buff:
+0x52c1 020596 fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+0x52c2 020597 branch l2cap_util_pdata_to_contw 
+:      020599 l2cap_get_signal_tx_payload:
+0x52c3 020600 fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+0x52c4 020601 branch l2cap_util_pdata_to_contw 
+:      020604 l2cap_malloc_sdp_channel:
+0x52c5 020605 bpatchx patch25_5 ,mem_patch25 
+0x52c6 020606 arg sdp_malloc_size ,rega 
+0x52c7 020607 call l2cap_malloc 
+0x52c8 020608 store 2 ,mem_sdp_tx_buff_ptr 
+0x52c9 020609 increase 4 ,pdata 
+0x52ca 020610 store 2 ,mem_sdp_tx_payload_ptr 
+0x52cb 020611 setarg 0 
+0x52cc 020612 store 2 ,mem_sdp_tx_pkt_length 
+0x52cd 020613 rtn 
+:      020615 l2cap_get_sdp_tx_buff:
+0x52ce 020616 fetch 2 ,mem_sdp_tx_buff_ptr 
+0x52cf 020617 branch l2cap_util_pdata_to_contw 
+:      020619 l2cap_get_sdp_tx_payload:
+0x52d0 020620 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x52d1 020621 branch l2cap_util_pdata_to_contw 
+:      020624 l2cap_malloc_rfcomm_channel:
+0x52d2 020625 bpatchx patch25_6 ,mem_patch25 
+0x52d3 020626 call push_stack 
+0x52d4 020627 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+0x52d5 020628 call l2cap_malloc_is_fifo_full 
+0x52d6 020629 nrtn blank 
+0x52d7 020630 arg rfcomm_malloc_size ,rega 
+0x52d8 020631 call l2cap_malloc 
+0x52d9 020632 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x52da 020633 increase 4 ,pdata 
+0x52db 020634 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x52dc 020635 setarg 0 
+0x52dd 020636 store 2 ,mem_rfcomm_tx_pkt_length 
+0x52de 020637 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+0x52df 020638 branch pop_stack 
+:      020640 l2cap_get_rfcomm_tx_buff:
+0x52e0 020641 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x52e1 020642 branch l2cap_util_pdata_to_contw 
+:      020644 l2cap_util_pdata_to_contw:
+0x52e2 020645 branch assert ,blank 
+0x52e3 020646 copy pdata ,contw 
+0x52e4 020647 rtn 
+:      020650 l2cap_lpm_save_calc_len:
+0x52e5 020651 bpatchx patch25_7 ,mem_patch25 
+0x52e6 020652 arg 0 ,regb 
+0x52e7 020653 arg mem_tx_fifo0_map ,rega 
+0x52e8 020654 increase -2 ,rega 
+:      020655 l2cap_lpm_save_calc_len_loop:
+0x52e9 020656 increase 2 ,rega 
+0x52ea 020657 setarg mem_tx_fifo_end 
+0x52eb 020658 isub rega ,null 
+0x52ec 020659 branch l2cap_lpm_save_calc_len_end ,zero 
+0x52ed 020660 ifetch 1 ,rega 
+0x52ee 020661 increase 1 ,rega 
+0x52ef 020662 branch l2cap_lpm_save_calc_len_loop ,blank 
+0x52f0 020663 ifetcht 2 ,rega 
+0x52f1 020664 ifetch 2 ,temp 
+0x52f2 020665 iadd regb ,regb 
+0x52f3 020666 increase 4 ,regb 
+0x52f4 020667 branch l2cap_lpm_save_calc_len_loop 
+:      020668 l2cap_lpm_save_calc_len_end:
+0x52f5 020669 copy regb ,pdata 
+0x52f6 020670 rtn 
+:      020673 l2cap_lpm_get_wake_lock:
+0x52f7 020674 arg wake_lock_l2cap_tx ,queue 
+0x52f8 020675 branch lpm_get_wake_lock 
+:      020677 l2cap_lpm_put_wake_lock:
+0x52f9 020678 arg wake_lock_l2cap_tx ,queue 
+0x52fa 020679 branch lpm_put_wake_lock 
+:      020681 l2cap_lpm_save_txbuf:
+0x52fb 020682 bpatchx patch26_0 ,mem_patch26 
+0x52fc 020683 call l2cap_malloc_get_full_map 
+0x52fd 020684 fetch 1 ,mem_used_map 
+0x52fe 020685 rtn blank 
+0x52ff 020686 call l2cap_lpm_save_calc_len 
+0x5300 020687 arg l2cap_lpm_txbuf_len ,temp 
+0x5301 020688 isub temp ,null 
+0x5302 020689 branch l2cap_lpm_get_wake_lock ,positive 
+0x5303 020690 call l2cap_lpm_put_wake_lock 
+0x5304 020691 arg mem_l2cap_lpm_txbuf ,contw 
+0x5305 020692 arg mem_tx_fifo0 ,rega 
+:      020693 l2cap_lpm_save_txbuf_loop:
+0x5306 020694 setarg mem_tx_fifo_end 
+0x5307 020695 isub rega ,null 
+0x5308 020696 rtn zero 
+0x5309 020697 ifetch 1 ,rega 
+0x530a 020698 increase 1 ,rega 
+0x530b 020699 nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+0x530c 020700 istore 2 ,contw 
+0x530d 020701 increase 2 ,rega 
+0x530e 020702 branch l2cap_lpm_save_txbuf_loop 
+:      020703 l2cap_lpm_save_txbuf_nempty:
+0x530f 020704 ifetch 2 ,rega 
+0x5310 020705 increase 2 ,rega 
+0x5311 020706 copy pdata ,contr 
+0x5312 020707 ifetch 2 ,contr 
+0x5313 020708 istore 2 ,contw 
+0x5314 020709 copy pdata ,loopcnt 
+0x5315 020710 increase 2 ,loopcnt 
+0x5316 020711 call memcpy 
+0x5317 020712 branch l2cap_lpm_save_txbuf_loop 
+:      020714 l2cap_lpm_load_txbuf:
+0x5318 020715 bpatchx patch26_1 ,mem_patch26 
+0x5319 020716 call l2cap_malloc_get_full_map 
+0x531a 020717 fetch 1 ,mem_used_map 
+0x531b 020718 rtn blank 
+0x531c 020719 arg mem_tx_fifo0_ptr ,rega 
+0x531d 020720 increase -3 ,rega 
+0x531e 020721 arg mem_l2cap_lpm_txbuf ,contr 
+:      020722 l2cap_lpm_load_txbuf_loop:
+0x531f 020723 increase 3 ,rega 
+0x5320 020724 setarg mem_tx_fifo_end + 1 
+0x5321 020725 isub rega ,null 
+0x5322 020726 rtn zero 
+0x5323 020727 ifetch 2 ,contr 
+0x5324 020728 branch l2cap_lpm_load_txbuf_loop ,blank 
+0x5325 020729 increase 4 ,pdata 
+0x5326 020730 copy pdata ,loopcnt 
+0x5327 020731 copy contr ,regb 
+0x5328 020732 ifetch 2 ,rega 
+0x5329 020733 copy pdata ,contw 
+0x532a 020734 copy regb ,contr 
+0x532b 020735 increase -2 ,contr 
+0x532c 020736 call memcpy 
+0x532d 020737 branch l2cap_lpm_load_txbuf_loop 
+:      020747 le_init_conn:
+0x532e 020748 bpatchx patch26_2 ,mem_patch26 
+0x532f 020749 disable wake 
+0x5330 020750 jam 1 ,mem_le_conn_handle 
+0x5331 020751 jam 3 ,mem_le_state 
+0x5332 020752 jam 1 ,mem_le_arq 
+0x5333 020753 setarg -1 
+0x5334 020754 store 2 ,mem_le_event_count 
+0x5335 020755 force 0 ,pdata 
+0x5336 020756 store 1 ,mem_le_ch 
+0x5337 020757 store 1 ,mem_le_op 
+0x5338 020758 store 3 ,mem_sniff_rcv 
+0x5339 020759 store 3 ,mem_sniff_lost 
+0x533a 020760 store 5 ,mem_le_pcnt_tx 
+0x533b 020761 set1 39 ,pdata 
+0x533c 020762 store 5 ,mem_le_pcnt_rx 
+0x533d 020763 jam 1 ,mem_le_txheader 
+0x533e 020764 jam 0 ,mem_le_txlen 
+0x533f 020765 branch le_supervision_flush 
+:      020767 le_init_master:
+0x5340 020768 bpatchx patch26_3 ,mem_patch26 
+0x5341 020769 enable master 
+0x5342 020770 jam lemode_master ,mem_le_mode 
+0x5343 020771 jam 1 ,mem_le_att_handle 
+0x5344 020772 jam 1 ,mem_le_search_handle_start 
+0x5345 020773 setarg 0xffff 
+0x5346 020774 store 2 ,mem_le_search_handle_end 
+0x5347 020775 force 0 ,pdata 
+0x5348 020776 store 5 ,mem_le_pcnt_rx 
+0x5349 020777 set1 39 ,pdata 
+0x534a 020778 store 5 ,mem_le_pcnt_tx 
+0x534b 020779 branch le_init_conn 
+:      020782 le_init_slave:
+0x534c 020783 bpatchx patch26_4 ,mem_patch26 
+0x534d 020784 disable master 
+0x534e 020785 setarg 0x17 
+0x534f 020786 store 2 ,mem_le_remote_mtu 
+0x5350 020787 jam lemode_slave ,mem_le_mode 
+0x5351 020788 jam 0 ,mem_le_adv_enable 
+0x5352 020789 jam 0 ,mem_lpm_current_mult 
+0x5353 020790 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5354 020791 jam flag_le_enc_null ,mem_le_enc_state 
+0x5355 020792 fetch 2 ,mem_le_superto 
+0x5356 020793 store 2 ,mem_le_init_superto 
+0x5357 020794 fetch 2 ,mem_le_tsniff 
+0x5358 020795 mul32 pdata ,5 ,pdata 
+0x5359 020796 rshift4 pdata ,pdata 
+0x535a 020797 store 2 ,mem_le_superto 
+0x535b 020798 branch le_init_conn 
+:      020804 le_dispatch:
+0x535c 020805 call le_enable 
+0x535d 020806 call le_scan 
+0x535e 020807 call le_adv 
+0x535f 020808 branch le_disable 
+:      020810 le_conn_dispatch:
+0x5360 020811 bpatchx patch26_5 ,mem_patch26 
+0x5361 020812 call le_enable 
+0x5362 020813 call app_process_ble 
+0x5363 020814 fetch 1 ,mem_le_mode 
+0x5364 020815 beq lemode_master ,le_master_dispatch 
+0x5365 020816 branch le_slave_dispatch 
+:      020822 le_master_dispatch:
+0x5366 020823 bpatchx patch26_6 ,mem_patch26 
+0x5367 020824 enable master 
+0x5368 020825 call le_supervision_update 
+0x5369 020826 branch le_master_disconn ,positive 
+0x536a 020827 call check_ble_disabled 
+0x536b 020828 call le_setup 
+0x536c 020829 call le_prepare_tx 
+0x536d 020830 disable match 
+0x536e 020831 call le_transmit_receive_sifs 
+0x536f 020832 nrtn match 
+0x5370 020833 bpatchx patch26_7 ,mem_patch26 
+0x5371 020834 fetch 1 ,mem_le_conn_rcv 
+0x5372 020835 increase 1 ,pdata 
+0x5373 020836 store 1 ,mem_le_conn_rcv 
+0x5374 020837 call le_acknowledge 
+0x5375 020838 disable master 
+0x5376 020839 rtn 
+:      020841 le_master_disconn:
+0x5377 020842 call le_disconnect 
+0x5378 020843 disable master 
+0x5379 020844 rtn 
+:      020849 le_slave_dispatch:
+0x537a 020850 bpatchx patch27_0 ,mem_patch27 
+0x537b 020851 jam 0 ,mem_le_md_count 
+0x537c 020852 call sp_calc_sequence_256 
+0x537d 020853 call le_secure_connect_sm 
+0x537e 020854 disable attempt 
+0x537f 020855 call le_supervision_update 
+0x5380 020856 branch le_slave_disconn ,positive 
+0x5381 020857 call check_ble_disabled 
+0x5382 020858 call le_setup 
+0x5383 020859 call le_receive_slave 
+0x5384 020860 nbranch le_slave_unsync ,sync 
+0x5385 020861 call le_got_first_packet 
+0x5386 020862 branch le_slave_match ,match 
+0x5387 020863 branch le_slave_cont 
+:      020866 le_slave_match:
+0x5388 020867 bpatchx patch27_1 ,mem_patch27 
+0x5389 020868 fetch 1 ,mem_le_md_count 
+0x538a 020869 pincrease 1 
+0x538b 020870 store 1 ,mem_le_md_count 
+0x538c 020871 beq le_md_max_count ,le_slave_cont 
+0x538d 020872 call le_acknowledge 
+0x538e 020873 call le_prepare_tx 
+0x538f 020874 call le_transmit_norx 
+0x5390 020875 call le_parse 
+0x5391 020876 fetch 2 ,mem_cb_ble_transmit 
+0x5392 020877 call callback_func 
+0x5393 020878 call le_check_md 
+0x5394 020879 branch le_slave_more_data ,user 
+:      020880 le_slave_cont:
+0x5395 020881 bpatchx patch27_2 ,mem_patch27 
+0x5396 020882 call le_pairing_sm 
+0x5397 020883 call le_check_paring_time 
+0x5398 020884 call check_51cmd 
+0x5399 020885 fetch 1 ,mem_le_op 
+0x539a 020886 bbit1 op_disconn ,le_slave_disconn 
+:      020887 le_slave_unsync:
+0x539b 020888 bpatchx patch27_3 ,mem_patch27 
+0x539c 020889 call le_lpm_set_mult 
+0x539d 020890 call le_update_channel_map 
+0x539e 020891 call le_update_param 
+0x539f 020892 branch calc_clke_offset 
+:      020895 le_check_md:
+0x53a0 020896 disable user 
+0x53a1 020897 bmark1 mark_ble_rx_md ,enable_user 
+0x53a2 020898 bmark1 mark_ble_tx_md ,enable_user 
+0x53a3 020899 rtn 
+:      020902 le_slave_more_data:
+0x53a4 020903 bpatchx patch27_4 ,mem_patch27 
+0x53a5 020904 enable attempt 
+0x53a6 020905 call le_transmit_receive_sifs_notx 
+0x53a7 020906 branch le_slave_match ,match 
+0x53a8 020907 branch le_slave_cont 
+:      020909 le_slave_disconn:
+:      020912 le_disconnect:
+0x53a9 020913 bpatchx patch27_5 ,mem_patch27 
+0x53aa 020914 call le_clear_connection_info 
+0x53ab 020915 call app_disconn_reason_collect_ble 
+0x53ac 020916 call sp_initialize_256 
+0x53ad 020917 jam bt_evt_le_disconnected ,mem_fifo_temp 
+0x53ae 020918 branch ui_ipc_send_event 
+:      020920 le_clear_connection_info:
+0x53af 020921 setarg 0 
+0x53b0 020922 store 9 ,mem_le_tx_buff_used 
+0x53b1 020923 jam 0 ,mem_le_conn_handle 
+0x53b2 020924 jam lemode_idle ,mem_le_mode 
+0x53b3 020925 jam 0 ,mem_le_state 
+0x53b4 020926 jam flag_le_enc_null ,mem_le_enc_state 
+0x53b5 020927 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x53b6 020928 rtn 
+:      020930 le_got_first_packet:
+0x53b7 020931 bpatchx patch27_6 ,mem_patch27 
+0x53b8 020932 fetch 1 ,mem_le_conn_rcv 
+0x53b9 020933 increase 1 ,pdata 
+0x53ba 020934 store 1 ,mem_le_conn_rcv 
+0x53bb 020935 fetch 1 ,mem_le_state 
+0x53bc 020936 rtnbit1 lestate_got_first_packet 
+0x53bd 020937 set1 lestate_got_first_packet 
+0x53be 020938 store 1 ,mem_le_state 
+0x53bf 020939 fetch 2 ,mem_le_init_superto 
+0x53c0 020940 store 2 ,mem_le_superto 
+0x53c1 020941 setarg 0 
+0x53c2 020942 store 4 ,mem_le_transmit_window 
+0x53c3 020943 rtn 
+:      020946 le_enable:
+0x53c4 020947 bpatchx patch27_7 ,mem_patch27 
+0x53c5 020948 jam 0x36 ,rf_adc_goff 
+0x53c6 020949 jam 0x5f ,rf_agc_nsat 
+0x53c7 020950 enable le 
+0x53c8 020951 jam 7 ,rfen_ulp 
+0x53c9 020952 call check_ble_disabled 
+0x53ca 020953 fetch 1 ,mem_250k_freq_enable 
+0x53cb 020954 rtn blank 
+0x53cc 020955 jam 0xb8 ,rf_iq_gain 
+0x53cd 020956 rtn 
+:      020958 le_disable:
+0x53ce 020959 bpatchx patch28_0 ,mem_patch28 
+0x53cf 020960 jam 0x2e ,rf_adc_goff 
+0x53d0 020961 jam 0xff ,rf_agc_nsat 
+0x53d1 020962 disable le 
+0x53d2 020963 jam 3 ,rfen_ulp 
+0x53d3 020964 arg 0 ,stop_watch 
+0x53d4 020965 rtn 
+:      020967 le_prep:
+0x53d5 020968 disable enable_crc 
+0x53d6 020969 disable enable_white 
+0x53d7 020970 fetch 3 ,mem_le_crcinit 
+0x53d8 020971 iforce crc24_init 
+0x53d9 020972 fetch 1 ,mem_le_ch_mapped 
+0x53da 020973 reverse pdata ,temp 
+0x53db 020974 set1 1 ,temp 
+0x53dc 020975 rshift temp ,white_init 
+0x53dd 020976 rtn 
+:      020979 lerx_setfreq:
+0x53de 020980 call le_setfreq 
+0x53df 020981 call set_freq_rx 
+0x53e0 020982 setarg param_pll_setup 
+0x53e1 020983 call sleep 
+0x53e2 020984 branch rf_rx_enable 
+:      020986 letx_setfreq:
+0x53e3 020987 branch txon ,match 
+:      020988 letx_setfreq0:
+0x53e4 020989 call le_setfreq 
+0x53e5 020990 branch set_freq_tx 
+:      020991 le_setfreq:
+0x53e6 020992 bpatchx patch28_1 ,mem_patch28 
+0x53e7 020993 call set_sync_on 
+0x53e8 020994 fetch 1 ,mem_le_testtype 
+0x53e9 020995 nbranch le_ctf_test ,blank 
+0x53ea 020996 fetch 1 ,mem_le_ch_mapped 
+0x53eb 020997 sub pdata ,36 ,null 
+0x53ec 020998 branch le_ctf_normal ,positive 
+0x53ed 020999 force 0 ,temp 
+0x53ee 021000 rtneq 37 
+0x53ef 021001 force 24 ,temp 
+0x53f0 021002 rtneq 38 
+0x53f1 021003 force 78 ,temp 
+0x53f2 021004 rtn 
+:      021006 le_ctf_normal:
+0x53f3 021007 sub pdata ,10 ,null 
+0x53f4 021008 branch le_ctf_low ,positive 
+0x53f5 021009 increase 1 ,pdata 
+:      021011 le_ctf_low:
+0x53f6 021012 lshift pdata ,pdata 
+0x53f7 021013 add pdata ,2 ,temp 
+0x53f8 021014 rtn 
+:      021016 le_ctf_test:
+0x53f9 021017 fetch 1 ,mem_le_ch_mapped 
+0x53fa 021018 lshift pdata ,temp 
+0x53fb 021019 rtn 
+:      021021 le_sca_map:
+0x53fc 021022 arg 500 ,temp 
+0x53fd 021023 rtn blank 
+0x53fe 021024 arg 250 ,temp 
+0x53ff 021025 rtneq 1 
+0x5400 021026 arg 150 ,temp 
+0x5401 021027 rtneq 2 
+0x5402 021028 arg 100 ,temp 
+0x5403 021029 rtneq 3 
+0x5404 021030 arg 75 ,temp 
+0x5405 021031 rtneq 4 
+0x5406 021032 arg 50 ,temp 
+0x5407 021033 rtneq 5 
+0x5408 021034 arg 40 ,temp 
+0x5409 021035 rtneq 6 
+0x540a 021036 arg 20 ,temp 
+0x540b 021037 rtn 
+:      021041 le_adv_access:
+0x540c 021042 setarg 0x8e89be 
+0x540d 021043 lshift8 pdata ,pdata 
+0x540e 021044 or_into 0xd6 ,pdata 
+0x540f 021045 iforce access 
+0x5410 021046 setarg 0x555555 
+0x5411 021047 store 3 ,mem_le_crcinit 
+0x5412 021048 rtn 
+:      021050 le_setup:
+0x5413 021051 bpatchx patch28_2 ,mem_patch28 
+0x5414 021052 enable swfine 
+0x5415 021053 fetch 4 ,mem_le_access 
+0x5416 021054 iforce access 
+0x5417 021055 call le_map_channel 
+0x5418 021056 setarg 0x200 
+0x5419 021057 branch le_setup_master ,master 
+0x541a 021058 fetch 2 ,mem_le_receive_window 
+0x541b 021059 rshift pdata ,pdata 
+:      021060 le_setup_master:
+0x541c 021061 arg param_pll_setup ,temp 
+0x541d 021062 iadd temp ,pdata 
+0x541e 021063 call ahead_window 
+0x541f 021064 deposit clke 
+0x5420 021065 store 6 ,mem_le_rxon_ts 
+0x5421 021066 rtn 
+:      021068 le_next_adv_channel:
+0x5422 021069 bpatchx patch28_3 ,mem_patch28 
+0x5423 021070 fetch 1 ,mem_le_ch_mapped 
+0x5424 021071 beq 37 ,le_next_adv_channel_curr_channel_37 
+0x5425 021072 beq 38 ,le_next_adv_channel_curr_channel_38 
+0x5426 021073 beq 39 ,le_next_adv_channel_curr_channel_39 
+0x5427 021074 branch le_next_adv_channel_curr_channel_39 
+:      021076 le_next_adv_channel_curr_channel_37:
+0x5428 021077 fetcht 1 ,mem_le_adv_channel_map 
+0x5429 021078 isolate1 bit_adv_channel_map_38 ,temp 
+0x542a 021079 branch set_le_next_adv_channel_38 ,true 
+0x542b 021080 isolate1 bit_adv_channel_map_39 ,temp 
+0x542c 021081 branch set_le_next_adv_channel_39 ,true 
+0x542d 021082 branch set_le_next_adv_channel_37 
+:      021085 le_next_adv_channel_curr_channel_38:
+0x542e 021086 fetcht 1 ,mem_le_adv_channel_map 
+0x542f 021087 isolate1 bit_adv_channel_map_39 ,temp 
+0x5430 021088 branch set_le_next_adv_channel_39 ,true 
+0x5431 021089 isolate1 bit_adv_channel_map_37 ,temp 
+0x5432 021090 branch set_le_next_adv_channel_37 ,true 
+0x5433 021091 branch set_le_next_adv_channel_38 
+:      021094 le_next_adv_channel_curr_channel_39:
+0x5434 021095 fetcht 1 ,mem_le_adv_channel_map 
+0x5435 021096 isolate1 bit_adv_channel_map_37 ,temp 
+0x5436 021097 branch set_le_next_adv_channel_37 ,true 
+0x5437 021098 isolate1 bit_adv_channel_map_38 ,temp 
+0x5438 021099 branch set_le_next_adv_channel_38 ,true 
+0x5439 021100 branch set_le_next_adv_channel_39 
+:      021104 set_le_next_adv_channel_37:
+0x543a 021105 jam 37 ,mem_le_ch_mapped 
+0x543b 021106 fetch 1 ,mem_le_adv_channel_map_temp 
+0x543c 021107 set1 bit_adv_channel_map_37 ,pdata 
+0x543d 021108 store 1 ,mem_le_adv_channel_map_temp 
+0x543e 021109 rtn 
+:      021111 set_le_next_adv_channel_38:
+0x543f 021112 jam 38 ,mem_le_ch_mapped 
+0x5440 021113 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5441 021114 set1 bit_adv_channel_map_38 ,pdata 
+0x5442 021115 store 1 ,mem_le_adv_channel_map_temp 
+0x5443 021116 rtn 
+:      021118 set_le_next_adv_channel_39:
+0x5444 021119 jam 39 ,mem_le_ch_mapped 
+0x5445 021120 fetch 1 ,mem_le_adv_channel_map_temp 
+0x5446 021121 set1 bit_adv_channel_map_39 ,pdata 
+0x5447 021122 store 1 ,mem_le_adv_channel_map_temp 
+0x5448 021123 rtn 
+:      021127 le_context_nexthop:
+0x5449 021128 bpatchx patch28_4 ,mem_patch28 
+0x544a 021129 add rega ,coffset_mode ,contr 
+0x544b 021130 ifetch 1 ,contr 
+0x544c 021131 rtnbit0 mode_le 
+0x544d 021132 add rega ,coffset_le_event_cnt ,contw 
+0x544e 021133 ifetch 2 ,contw 
+0x544f 021134 increase 1 ,pdata 
+0x5450 021135 istore 2 ,contw 
+0x5451 021136 add rega ,coffset_le_hop ,contr 
+0x5452 021137 ifetch 1 ,contr 
+0x5453 021138 add rega ,coffset_le_ch ,contw 
+0x5454 021139 ifetcht 1 ,contw 
+0x5455 021140 iadd temp ,pdata 
+0x5456 021141 sub pdata ,36 ,null 
+0x5457 021142 branch le_nexthop_nowrap ,positive 
+0x5458 021143 increase -37 ,pdata 
+:      021144 le_nexthop_nowrap:
+0x5459 021145 istore 1 ,contw 
+0x545a 021146 rtn 
+:      021149 le_calc_channel_map:
+0x545b 021150 bpatchx patch28_5 ,mem_patch28 
+0x545c 021151 fetch 5 ,mem_le_channel_map 
+0x545d 021152 force 0 ,temp 
+0x545e 021153 force 37 ,loopcnt 
+:      021154 le_count_channels_loop:
+0x545f 021155 bbit0 0 ,le_count_channels_notused 
+0x5460 021156 increase 1 ,temp 
+:      021157 le_count_channels_notused:
+0x5461 021158 rshift pdata ,pdata 
+0x5462 021159 loop le_count_channels_loop 
+0x5463 021160 add temp ,-1 ,pdata 
+0x5464 021161 store 1 ,mem_le_channels 
+0x5465 021162 rtn 
+:      021164 le_map_channel:
+0x5466 021165 bpatchx patch28_6 ,mem_patch28 
+0x5467 021166 fetch 1 ,mem_le_ch 
+0x5468 021167 iforce queue 
+0x5469 021168 fetcht 5 ,mem_le_channel_map 
+0x546a 021169 qisolate1 temp 
+0x546b 021170 branch le_map_channel_end ,true 
+:      021171 le_map_channel_next:
+0x546c 021172 bpatchx patch28_7 ,mem_patch28 
+0x546d 021173 fetch 1 ,mem_le_channels 
+0x546e 021174 isub queue ,pdata 
+0x546f 021175 branch le_map_channel_cont ,positive 
+0x5470 021176 sub pdata ,-1 ,queue 
+0x5471 021177 branch le_map_channel_next 
+:      021178 le_map_channel_cont:
+0x5472 021179 copy queue ,loopcnt 
+0x5473 021180 force 0 ,queue 
+:      021181 le_map_channel_loop:
+0x5474 021182 qisolate1 temp 
+0x5475 021183 branch le_map_channel_skip ,true 
+0x5476 021184 increase 1 ,loopcnt 
+:      021185 le_map_channel_skip:
+0x5477 021186 deposit loopcnt 
+0x5478 021187 branch le_map_channel_end ,blank 
+0x5479 021188 increase 1 ,queue 
+0x547a 021189 increase -1 ,loopcnt 
+0x547b 021190 branch le_map_channel_loop 
+:      021191 le_map_channel_end:
+0x547c 021192 deposit queue 
+0x547d 021193 store 1 ,mem_le_ch_mapped 
+0x547e 021194 rtn 
+:      021197 le_wait_tx:
+0x547f 021198 branch le_wait_master ,master 
+0x5480 021199 until null ,timeout 
+0x5481 021200 rtn 
+:      021202 le_wait_master:
+0x5482 021203 arg 0xea0 ,timeup 
+0x5483 021204 until clkn_rt ,meet 
+0x5484 021205 rtn 
+:      021207 le_receive_adv:
+0x5485 021208 disable swfine 
+0x5486 021209 fetch 2 ,mem_le_scan_window 
+0x5487 021210 copy pdata ,timeup 
+0x5488 021211 branch le_receive_packet 
+:      021214 le_receive_slave:
+0x5489 021215 bpatchx patch29_0 ,mem_patch29 
+0x548a 021216 enable swfine 
+0x548b 021217 fetch 2 ,mem_le_receive_window 
+0x548c 021218 fetcht 4 ,mem_le_transmit_window 
+0x548d 021219 iadd temp ,timeup 
+:      021220 le_receive_packet:
+0x548e 021221 call lerx_setfreq 
+:      021222 le_receive_rxon:
+0x548f 021223 bpatchx patch29_1 ,mem_patch29 
+0x5490 021224 call le_prep 
+0x5491 021225 disable match 
+0x5492 021226 enable decode_fec0 
+0x5493 021227 enable is_rx 
+0x5494 021228 disable is_tx 
+0x5495 021229 copy timeup ,stop_watch 
+0x5496 021230 correlate null ,timeout 
+0x5497 021231 branch le_receive_on_attempt ,attempt 
+0x5498 021232 copy clke ,temp 
+0x5499 021233 storet 6 ,mem_sync_clke 
+:      021234 le_receive_on_attempt:
+0x549a 021235 nbranch end_of_packet ,sync 
+0x549b 021236 branch le_receive_skip ,attempt 
+0x549c 021237 arg param_clke_cal_le ,clke_rt 
+0x549d 021238 copy bt_clk ,clke_bt 
+0x549e 021239 fetch 1 ,mem_le_state 
+0x549f 021240 bbit0 lestate_got_first_packet ,le_receive_skip 
+0x54a0 021241 call lpm_adjust_clk ,wake 
+:      021242 le_receive_skip:
+0x54a1 021243 bpatchx patch29_2 ,mem_patch29 
+0x54a2 021244 call save_rssi 
+0x54a3 021245 enable enable_white 
+0x54a4 021246 enable enable_crc 
+0x54a5 021247 parse demod ,bucket ,8 
+0x54a6 021248 rshift3 pwindow ,pdata 
+0x54a7 021249 store 1 ,mem_le_rxbuf 
+0x54a8 021250 parse demod ,bucket ,8 
+0x54a9 021251 rshift3 pwindow ,pdata 
+0x54aa 021252 istore 1 ,contw 
+0x54ab 021253 and pdata ,0x3f ,loopcnt 
+0x54ac 021254 branch lerx_nopayload ,zero 
+:      021256 lerx_loop:
+0x54ad 021257 parse demod ,bucket ,8 
+0x54ae 021258 rshift3 pwindow ,pdata 
+0x54af 021259 istore 1 ,contw 
+0x54b0 021260 loop lerx_loop 
+:      021262 lerx_nopayload:
+0x54b1 021263 bpatchx patch29_3 ,mem_patch29 
+0x54b2 021264 parse demod ,bucket ,24 
+0x54b3 021265 enable swfine 
+0x54b4 021266 arg param_sifs ,stop_watch 
+0x54b5 021267 rshift32 pdata ,pdata 
+0x54b6 021268 rshift16 pdata ,pdata 
+0x54b7 021269 istore 3 ,contw 
+0x54b8 021270 branch end_of_packet ,crc_failed 
+0x54b9 021271 enable match 
+0x54ba 021272 fetch 1 ,mem_last_freq 
+0x54bb 021273 add pdata ,0 ,rega 
+0x54bc 021274 call rf_write_freq 
+0x54bd 021275 disable decode_fec0 
+0x54be 021276 branch set_sync_on 
+:      021278 le_transmit_receive_sifs:
+0x54bf 021279 bpatchx patch29_4 ,mem_patch29 
+0x54c0 021280 call le_transmit 
+:      021281 le_transmit_receive_sifs_notx:
+0x54c1 021282 fetcht 1 ,mem_last_freq 
+0x54c2 021283 call set_freq_rx 
+0x54c3 021284 call rf_rx_enable 
+0x54c4 021285 enable swfine 
+0x54c5 021286 arg 5500 ,timeup 
+0x54c6 021287 branch le_receive_rxon 
+:      021289 le_transmit_norx:
+0x54c7 021290 call le_transmit 
+0x54c8 021291 branch end_of_packet 
+:      021293 le_transmit:
+0x54c9 021294 bpatchx patch29_5 ,mem_patch29 
+0x54ca 021295 call le_prep 
+0x54cb 021296 call letx_setfreq 
+0x54cc 021297 branch le_transmit0 
+:      021299 le_transmit0:
+0x54cd 021300 set1 txgfsk ,radio_ctrl 
+0x54ce 021301 enable encode_fec0 
+0x54cf 021302 enable is_tx 
+0x54d0 021303 disable is_rx 
+0x54d1 021304 call le_wait_tx 
+0x54d2 021305 rshift16 access ,pdata 
+0x54d3 021306 rshift8 pdata ,pdata 
+0x54d4 021307 rshift4 pdata ,pdata 
+0x54d5 021308 inject mod ,40 
+0x54d6 021309 enable enable_white 
+0x54d7 021310 enable enable_crc 
+0x54d8 021311 bpatchx patch29_6 ,mem_patch29 
+0x54d9 021312 fetch 1 ,mem_le_txheader 
+0x54da 021313 inject mod ,8 
+0x54db 021314 ifetch 1 ,contr 
+0x54dc 021315 and pdata ,0x3f ,loopcnt 
+0x54dd 021316 inject mod ,8 
+0x54de 021317 branch letr_nopayload ,zero 
+:      021318 letr_loop:
+0x54df 021319 ifetch 1 ,contr 
+0x54e0 021320 inject mod ,8 
+0x54e1 021321 loop letr_loop 
+:      021323 letr_nopayload:
+0x54e2 021324 enable enable_parity 
+0x54e3 021325 inject mod ,24 
+0x54e4 021326 disable enable_parity 
+0x54e5 021327 until null ,tx_clear 
+0x54e6 021328 nop 100 
+0x54e7 021329 disable encode_fec0 
+0x54e8 021330 rtn 
+:      021332 le_send_adv_ind:
+0x54e9 021333 bpatchx patch29_7 ,mem_patch29 
+0x54ea 021334 fetch 1 ,mem_le_adv_type 
+0x54eb 021335 beq adv_direct_ind ,le_send_adv_direct_ind 
+0x54ec 021336 fetch 1 ,mem_le_adv_own_addr_type 
+0x54ed 021337 lshift4 pdata ,pdata 
+0x54ee 021338 lshift2 pdata ,pdata 
+0x54ef 021339 store 1 ,mem_le_txheader 
+0x54f0 021340 fetcht 1 ,mem_le_adv_data_len 
+0x54f1 021341 add temp ,6 ,pdata 
+0x54f2 021342 store 1 ,mem_le_txlen 
+0x54f3 021343 fetch 6 ,mem_le_lap 
+0x54f4 021344 store 6 ,mem_le_txpayload 
+0x54f5 021345 copy temp ,loopcnt 
+0x54f6 021346 arg mem_le_adv_data ,contr 
+0x54f7 021347 call memcpy_fast 
+0x54f8 021348 branch le_send_adv_transmit 
+:      021349 le_send_adv_direct_ind:
+0x54f9 021350 fetch 1 ,mem_le_adv_direct_addr_type 
+0x54fa 021351 lshift4 pdata ,pdata 
+0x54fb 021352 lshift2 pdata ,pdata 
+0x54fc 021353 increase 1 ,pdata 
+0x54fd 021354 store 1 ,mem_le_txheader 
+0x54fe 021355 setarg 12 
+0x54ff 021356 store 1 ,mem_le_txlen 
+0x5500 021357 fetch 6 ,mem_le_lap 
+0x5501 021358 store 6 ,mem_le_txpayload 
+0x5502 021359 fetch 6 ,mem_hci_plap 
+0x5503 021360 istore 6 ,contw 
+:      021361 le_send_adv_transmit:
+0x5504 021362 bpatchx patch2a_0 ,mem_patch2a 
+0x5505 021363 fetch 1 ,mem_le_adv_transmit 
+0x5506 021364 increase 1 ,pdata 
+0x5507 021365 store 1 ,mem_le_adv_transmit 
+0x5508 021366 arg 1800 ,stop_watch 
+0x5509 021367 disable match 
+0x550a 021368 branch le_transmit_receive_sifs 
+:      021370 le_send_scan_request:
+0x550b 021371 bpatchx patch2a_1 ,mem_patch2a 
+0x550c 021372 fetch 1 ,mem_le_scan_type 
+0x550d 021373 rtnne le_scan_type_active 
+0x550e 021374 fetch 1 ,mem_le_adv_transmit 
+0x550f 021375 increase 1 ,pdata 
+0x5510 021376 store 1 ,mem_le_adv_transmit 
+0x5511 021377 arg 0x0c03 ,temp 
+0x5512 021378 fetch 1 ,mem_le_scan_own_addr_type 
+0x5513 021379 nsetflag blank ,le_sender_addr_bit ,temp 
+0x5514 021380 copy rega ,pdata 
+0x5515 021381 nsetflag blank ,le_receiver_addr_bit ,temp 
+0x5516 021382 storet 2 ,mem_le_txheader 
+0x5517 021383 fetch 6 ,mem_le_lap 
+0x5518 021384 istore 6 ,contw 
+0x5519 021385 fetch 6 ,mem_le_plap 
+0x551a 021386 istore 6 ,contw 
+0x551b 021387 branch le_transmit_receive_sifs 
+:      021390 le_send_scan_response:
+0x551c 021391 bpatchx patch2a_2 ,mem_patch2a 
+0x551d 021392 arg scan_rsp ,temp 
+0x551e 021393 fetch 1 ,mem_le_adv_own_addr_type 
+0x551f 021394 nsetflag blank ,le_sender_addr_bit ,temp 
+0x5520 021395 storet 1 ,mem_le_txheader 
+0x5521 021396 fetcht 1 ,mem_le_scan_data_len 
+0x5522 021397 add temp ,6 ,pdata 
+0x5523 021398 store 1 ,mem_le_txlen 
+0x5524 021399 fetch 6 ,mem_le_lap 
+0x5525 021400 store 6 ,mem_le_txpayload 
+0x5526 021401 arg mem_le_scan_data ,contr 
+0x5527 021402 copy temp ,loopcnt 
+0x5528 021403 call memcpy_fast 
+0x5529 021404 call le_transmit_norx 
+0x552a 021405 branch le_adv_not_match 
+:      021407 le_connect_request:
+0x552b 021408 bpatchx patch2a_3 ,mem_patch2a 
+0x552c 021409 force -1 ,pdata 
+0x552d 021410 setsect 2 ,1 
+0x552e 021411 store 5 ,mem_le_channel_map 
+0x552f 021412 call le_calc_channel_map 
+0x5530 021413 force 4 ,loopcnt 
+0x5531 021414 arg mem_le_access ,contw 
+0x5532 021415 call generate_random_loop 
+0x5533 021416 fetch 2 ,mem_le_timeout 
+0x5534 021417 store 2 ,mem_le_superto 
+:      021418 le_con_req_hop_retry:
+0x5535 021419 random pdata 
+0x5536 021420 and_into 0xf ,pdata 
+0x5537 021421 sub pdata ,4 ,null 
+0x5538 021422 branch le_con_req_hop_retry ,positive 
+0x5539 021423 store 1 ,mem_le_hop 
+0x553a 021424 store 1 ,mem_tmp1 
+0x553b 021425 bpatchx patch2a_4 ,mem_patch2a 
+0x553c 021426 fetcht 2 ,mem_le_conn_interval 
+0x553d 021427 storet 2 ,mem_le_tsniff 
+0x553e 021428 copy temp ,regc 
+0x553f 021429 add clkn_bt ,7 ,pdata 
+0x5540 021430 idiv regc 
+0x5541 021431 call wait_div_end 
+0x5542 021432 remainder rega 
+0x5543 021433 isub rega ,pdata 
+0x5544 021434 iadd regc ,pdata 
+0x5545 021435 fetcht 2 ,mem_le_dsniff 
+0x5546 021436 iadd temp ,pdata 
+0x5547 021437 store 4 ,mem_le_anchor 
+0x5548 021438 isub clkn_bt ,rega 
+0x5549 021439 increase -6 ,rega 
+0x554a 021440 arg 0x2205 ,regb 
+0x554b 021441 fetch 1 ,mem_le_conn_own_addr_type 
+0x554c 021442 nsetflag blank ,le_sender_addr_bit ,regb 
+0x554d 021443 fetch 1 ,mem_le_conn_peer_addr_type 
+0x554e 021444 nsetflag blank ,le_receiver_addr_bit ,regb 
+0x554f 021445 copy regb ,pdata 
+0x5550 021446 store 2 ,mem_le_txheader 
+0x5551 021447 fetch 6 ,mem_le_lap 
+0x5552 021448 istore 6 ,contw 
+0x5553 021449 fetch 6 ,mem_le_plap 
+0x5554 021450 istore 6 ,contw 
+0x5555 021451 fetch 4 ,mem_le_access 
+0x5556 021452 istore 4 ,contw 
+0x5557 021453 random pdata 
+0x5558 021454 istore 2 ,contw 
+0x5559 021455 random pdata 
+0x555a 021456 istore 1 ,contw 
+0x555b 021457 force 2 ,pdata 
+0x555c 021458 istore 1 ,contw 
+0x555d 021459 rshift2 rega ,pdata 
+0x555e 021460 istore 2 ,contw 
+0x555f 021461 rshift2 regc ,pdata 
+0x5560 021462 istore 2 ,contw 
+0x5561 021463 bpatchx patch2a_5 ,mem_patch2a 
+0x5562 021464 setarg 0 
+0x5563 021465 istore 2 ,contw 
+0x5564 021466 fetch 2 ,mem_le_timeout 
+0x5565 021467 istore 2 ,contw 
+0x5566 021468 fetch 5 ,mem_le_channel_map 
+0x5567 021469 istore 5 ,contw 
+0x5568 021470 fetch 1 ,mem_le_hop 
+0x5569 021471 arg param_le_sca ,temp 
+0x556a 021472 ior temp ,pdata 
+0x556b 021473 istore 1 ,contw 
+0x556c 021474 call le_transmit_norx 
+0x556d 021475 setarg mem_le_txheader 
+0x556e 021476 add pdata ,18 ,contr 
+0x556f 021477 ifetch 3 ,contr 
+0x5570 021478 store 3 ,mem_le_crcinit 
+0x5571 021479 rtn 
+:      021481 le_init_adv:
+0x5572 021482 bpatchx patch2a_6 ,mem_patch2a 
+0x5573 021483 disable master 
+0x5574 021484 branch le_adv_access 
+:      021488 le_update_param:
+0x5575 021489 fetch 1 ,mem_le_state 
+0x5576 021490 rtnbit0 lestate_update_param 
+0x5577 021491 fetch 2 ,mem_le_event_count 
+0x5578 021492 fetcht 2 ,mem_le_instant 
+0x5579 021493 isub temp ,pdata 
+0x557a 021494 nrtn positive 
+0x557b 021495 store 2 ,mem_pdatatemp 
+0x557c 021496 bpatchx patch2a_7 ,mem_patch2a 
+0x557d 021497 fetch 1 ,mem_le_state 
+0x557e 021498 set0 lestate_update_param ,pdata 
+0x557f 021499 set0 lestate_got_first_packet ,pdata 
+0x5580 021500 store 1 ,mem_le_state 
+0x5581 021501 fetch 4 ,mem_le_anchor 
+0x5582 021502 fetcht 2 ,mem_le_tsniff 
+0x5583 021503 storet 2 ,mem_temp 
+0x5584 021504 isub temp ,rega 
+0x5585 021505 bpatchx patch2b_0 ,mem_patch2b 
+0x5586 021506 fetch 1 ,mem_le_new_param 
+0x5587 021507 store 1 ,mem_le_window_size 
+0x5588 021508 ifetcht 2 ,contr 
+0x5589 021509 ifetch 2 ,contr 
+0x558a 021510 lshift2 pdata ,pdata 
+0x558b 021511 store 2 ,mem_le_tsniff 
+0x558c 021512 lshift2 temp ,temp 
+0x558d 021513 iadd temp ,pdata 
+0x558e 021514 ifetcht 4 ,contr 
+0x558f 021515 storet 4 ,mem_le_slave_latency 
+0x5590 021516 iadd rega ,pdata 
+0x5591 021517 copy pdata ,regab 
+0x5592 021518 fetch 2 ,mem_le_tsniff 
+0x5593 021519 fetcht 2 ,mem_temp 
+0x5594 021520 isub temp ,pdata 
+0x5595 021521 fetcht 2 ,mem_pdatatemp 
+0x5596 021522 imul32 temp ,pdata 
+0x5597 021523 iadd regab ,pdata 
+0x5598 021524 store 4 ,mem_le_anchor 
+0x5599 021525 call le_receive_window_size 
+0x559a 021526 fetch 2 ,mem_le_superto 
+0x559b 021527 store 2 ,mem_le_init_superto 
+0x559c 021528 rtn 
+:      021531 le_update_channel_map:
+0x559d 021532 bpatchx patch2b_1 ,mem_patch2b 
+0x559e 021533 fetch 1 ,mem_le_state 
+0x559f 021534 rtnbit0 lestate_update_map 
+0x55a0 021535 fetch 2 ,mem_le_event_count 
+0x55a1 021536 fetcht 2 ,mem_le_instant 
+0x55a2 021537 isub temp ,pdata 
+0x55a3 021538 nrtn positive 
+0x55a4 021539 fetch 1 ,mem_le_state 
+0x55a5 021540 set0 lestate_update_map ,pdata 
+0x55a6 021541 store 1 ,mem_le_state 
+0x55a7 021542 fetch 5 ,mem_le_new_map 
+0x55a8 021543 store 5 ,mem_le_channel_map 
+0x55a9 021544 branch le_calc_channel_map 
+:      021547 le_acknowledge:
+0x55aa 021548 bpatchx patch2b_2 ,mem_patch2b 
+0x55ab 021549 call le_supervision_flush 
+0x55ac 021550 call le_check_wak 
+0x55ad 021551 fetch 1 ,mem_le_rxbuf 
+0x55ae 021552 isolate1 md ,pdata 
+0x55af 021553 setflag true ,mark_ble_rx_md ,mark 
+0x55b0 021554 rshift pdata ,pdata 
+0x55b1 021555 ixor temp ,pdata 
+0x55b2 021556 isolate1 nesn ,pdata 
+0x55b3 021557 setflag true ,mark_old_packet ,mark 
+0x55b4 021558 rtnmark1 mark_old_packet 
+0x55b5 021559 fetch 1 ,mem_le_rxbuf + 1 
+0x55b6 021560 branch le_ack_unenc ,blank 
+0x55b7 021561 fetch 1 ,mem_le_state 
+0x55b8 021562 bbit0 lestate_encryption ,le_ack_unenc 
+0x55b9 021563 call load_sk 
+0x55ba 021564 call le_decrypt 
+0x55bb 021565 nrtn blank 
+:      021566 le_ack_unenc:
+0x55bc 021567 fetcht 1 ,mem_le_arq 
+0x55bd 021568 setflip nesn ,temp 
+0x55be 021569 storet 1 ,mem_le_arq 
+0x55bf 021570 rtn 
+:      021573 le_check_wak:
+0x55c0 021574 bpatchx patch2b_3 ,mem_patch2b 
+0x55c1 021575 fetcht 1 ,mem_le_arq 
+0x55c2 021576 isolate0 wak ,temp 
+0x55c3 021577 rtn true 
+0x55c4 021578 fetch 1 ,mem_le_rxbuf 
+0x55c5 021579 lshift pdata ,pdata 
+0x55c6 021580 ixor temp ,pdata 
+0x55c7 021581 rtnbit0 sn 
+0x55c8 021582 set0 wak ,temp 
+0x55c9 021583 setflip sn ,temp 
+0x55ca 021584 storet 1 ,mem_le_arq 
+0x55cb 021585 compare 3 ,temp ,3 
+0x55cc 021586 nrtn true 
+0x55cd 021587 fetch 1 ,mem_le_txpayload 
+0x55ce 021588 beq ll_start_enc_req ,le_set_enc 
+0x55cf 021589 fetch 1 ,mem_le_enc_state 
+0x55d0 021590 beq flag_le_enc_pause ,le_clear_enc 
+0x55d1 021591 rtn 
+:      021594 le_set_enc:
+0x55d2 021595 fetch 1 ,mem_le_state 
+0x55d3 021596 set1 lestate_encryption ,pdata 
+0x55d4 021597 store 1 ,mem_le_state 
+0x55d5 021598 rtn 
+:      021600 le_clear_enc:
+0x55d6 021601 bpatchx patch2b_4 ,mem_patch2b 
+0x55d7 021602 jam flag_le_enc_null ,mem_le_enc_state 
+0x55d8 021603 arg 0 ,pdata 
+0x55d9 021604 store 4 ,mem_le_last_mic 
+0x55da 021605 store 5 ,mem_le_pcnt_tx 
+0x55db 021606 set1 39 ,pdata 
+0x55dc 021607 store 5 ,mem_le_pcnt_rx 
+0x55dd 021608 fetch 1 ,mem_le_state 
+0x55de 021609 set0 lestate_encryption ,pdata 
+0x55df 021610 store 1 ,mem_le_state 
+0x55e0 021611 rtn 
+:      021614 le_wait_adv:
+0x55e1 021615 bpatchx patch2b_5 ,mem_patch2b 
+0x55e2 021616 call le_next_adv_channel 
+0x55e3 021617 call le_receive_adv 
+0x55e4 021618 fetch 1 ,mem_le_adv_waitcnt 
+0x55e5 021619 increase 1 ,pdata 
+0x55e6 021620 store 1 ,mem_le_adv_waitcnt 
+0x55e7 021621 rtn 
+:      021624 le_scan:
+0x55e8 021625 bpatchx patch2b_6 ,mem_patch2b 
+0x55e9 021626 fetch 1 ,mem_le_scan_enable 
+0x55ea 021627 rtnne le_scan_enable 
+0x55eb 021628 arg le_scan_interval_timer ,queue 
+0x55ec 021629 call timer_check 
+0x55ed 021630 nrtn blank 
+0x55ee 021631 fetch 2 ,mem_le_scan_interval 
+0x55ef 021632 fetcht 2 ,mem_le_scan_window 
+0x55f0 021633 isub temp ,pdata 
+0x55f1 021634 arg le_scan_interval_timer ,queue 
+0x55f2 021635 call timer_init 
+0x55f3 021636 disable master 
+0x55f4 021637 call le_init_adv 
+0x55f5 021638 call le_wait_adv 
+0x55f6 021639 nrtn match 
+0x55f7 021640 bpatchx patch2b_7 ,mem_patch2b 
+0x55f8 021641 fetch 6 ,mem_le_rxbuf + 2 
+0x55f9 021642 store 6 ,mem_le_plap 
+0x55fa 021645 fetch 1 ,mem_le_adv_rcv 
+0x55fb 021646 increase 1 ,pdata 
+0x55fc 021647 store 1 ,mem_le_adv_rcv 
+0x55fd 021648 call le_create_conn 
+0x55fe 021649 rtn master 
+0x55ff 021650 call le_send_scan_request 
+0x5600 021651 nrtn match 
+0x5601 021652 bpatchx patch2c_0 ,mem_patch2c 
+0x5602 021653 fetch 1 ,mem_le_scanrsp_rcv 
+0x5603 021654 increase 1 ,pdata 
+0x5604 021655 store 1 ,mem_le_scanrsp_rcv 
+0x5605 021656 fetch 9 ,mem_le_rxbuf + 8 
+0x5606 021657 store 9 ,mem_tmp_buffer 
+0x5607 021658 rtn 
+:      021660 le_create_conn:
+0x5608 021661 bpatchx patch2c_1 ,mem_patch2c 
+0x5609 021662 fetch 1 ,mem_cmd_le_create_conn 
+0x560a 021663 rtnne hci_cmd_le_create_conn 
+0x560b 021664 fetch 6 ,mem_le_plap 
+0x560c 021665 fetcht 6 ,mem_le_conn_peer_addr 
+0x560d 021666 isub temp ,null 
+0x560e 021667 nrtn zero 
+0x560f 021668 call context_new 
+0x5610 021669 nrtn zero 
+0x5611 021670 call le_connect_request 
+0x5612 021671 call le_init_master 
+0x5613 021672 bpatchx patch2c_2 ,mem_patch2c 
+0x5614 021673 jam 0 ,mem_hci_cmd 
+0x5615 021674 jam 0 ,mem_le_peer_sca 
+0x5616 021675 jam 0 ,mem_le_scan_enable 
+0x5617 021676 jam 0 ,mem_cmd_le_create_conn 
+0x5618 021677 branch context_save 
+:      021679 le_scan_check_sender_addr_type:
+0x5619 021680 arg 1 ,rega 
+0x561a 021681 fetch 1 ,mem_le_rxbuf 
+0x561b 021682 rtnbit1 le_sender_addr_bit 
+0x561c 021683 arg 0 ,rega 
+0x561d 021684 rtn 
+:      021688 le_prepare_tx:
+0x561e 021689 bpatchx patch2c_3 ,mem_patch2c 
+0x561f 021690 fetch 1 ,mem_le_arq 
+0x5620 021691 rtnbit1 wak 
+0x5621 021692 call le_check_tx_md 
+0x5622 021693 call le_fifo_get_first_tx_ptr 
+0x5623 021694 branch le_send_empty ,blank 
+0x5624 021695 ifetch 1 ,contr 
+0x5625 021696 ifetcht 1 ,contr 
+0x5626 021697 copy temp ,rega 
+0x5627 021698 isub rega ,pdata 
+0x5628 021699 arg le_max_paket_len ,temp 
+0x5629 021700 call not_greater_than 
+0x562a 021701 copy pdata ,temp 
+0x562b 021702 ifetch 1 ,contr 
+0x562c 021703 copy pdata ,type 
+0x562d 021704 copy rega ,pdata 
+0x562e 021705 iadd contr ,contr 
+0x562f 021706 arg mem_le_txpayload ,contw 
+0x5630 021707 copy temp ,loopcnt 
+0x5631 021708 call memcpy 
+0x5632 021709 call le_update_tx_type 
+0x5633 021710 call le_send_packet 
+0x5634 021712 call le_fifo_get_first_tx_ptr 
+0x5635 021713 ifetch 1 ,contr 
+0x5636 021714 copy pdata ,rega 
+0x5637 021715 copy contr ,regc 
+0x5638 021716 ifetcht 1 ,contr 
+0x5639 021717 copy temp ,regb 
+0x563a 021718 isub regb ,pdata 
+0x563b 021719 arg le_max_paket_len ,temp 
+0x563c 021720 call not_greater_than 
+0x563d 021721 iadd regb ,pdata 
+0x563e 021722 istore 1 ,regc 
+0x563f 021723 isub rega ,null 
+0x5640 021724 nrtn zero 
+0x5641 021725 branch le_fifo_release_first_node 
+:      021728 le_check_tx_md:
+0x5642 021729 call le_check_continue 
+0x5643 021730 rtnmark1 mark_ble_tx_md 
+0x5644 021731 fetch 1 ,mem_le_configuration 
+0x5645 021732 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+0x5646 021733 call le_fifo_get_second_tx_ptr 
+0x5647 021734 branch le_clear_md ,blank 
+0x5648 021735 branch le_set_md 
+:      021738 le_check_continue:
+0x5649 021739 call le_fifo_get_first_tx_ptr 
+0x564a 021740 branch le_clear_md ,blank 
+0x564b 021741 ifetch 1 ,contr 
+0x564c 021742 ifetcht 1 ,contr 
+0x564d 021743 isub temp ,pdata 
+0x564e 021744 sub pdata ,le_max_paket_len ,null 
+0x564f 021745 branch le_clear_md ,positive 
+:      021746 le_set_md:
+0x5650 021747 set1 mark_ble_tx_md ,mark 
+0x5651 021748 rtn 
+:      021750 le_clear_md:
+0x5652 021751 set0 mark_ble_tx_md ,mark 
+0x5653 021752 rtn 
+:      021754 le_update_tx_type:
+0x5654 021755 copy rega ,pdata 
+0x5655 021756 rtn blank 
+0x5656 021757 arg llid_continue ,type 
+0x5657 021758 rtn 
+:      021761 le_att_check_notification_enable:
+0x5658 021762 bpatchx patch2c_4 ,mem_patch2c 
+0x5659 021763 increase 1 ,temp 
+0x565a 021764 call le_att_get_handle_ptr 
+0x565b 021765 increase -2 ,contr 
+0x565c 021766 ifetch 2 ,contr 
+0x565d 021767 arg client_charactertic_configuration ,temp 
+0x565e 021768 isub temp ,null 
+0x565f 021769 nrtn zero 
+0x5660 021770 increase 1 ,contr 
+0x5661 021771 copy contr ,rega 
+0x5662 021772 ifetch 1 ,contr 
+0x5663 021773 rtn 
+:      021776 le_send_empty:
+0x5664 021777 force 0 ,temp 
+0x5665 021778 force 1 ,type 
+:      021780 le_send_packet:
+0x5666 021781 bpatchx patch2c_5 ,mem_patch2c 
+0x5667 021782 storet 1 ,mem_le_txlen 
+0x5668 021783 fetcht 1 ,mem_le_arq 
+0x5669 021784 set1 wak ,temp 
+0x566a 021785 and temp ,0xfc ,pdata 
+0x566b 021786 ior type ,pdata 
+0x566c 021787 store 1 ,mem_le_arq 
+0x566d 021788 and_into 0x1f ,pdata 
+0x566e 021789 isolate1 mark_ble_tx_md ,mark 
+0x566f 021790 setflag true ,md ,pdata 
+0x5670 021791 store 1 ,mem_le_txheader 
+0x5671 021793 fetch 1 ,mem_le_txheader 
+0x5672 021794 compare 1 ,type ,3 
+0x5673 021795 nbranch le_send_no_txlen ,true 
+0x5674 021796 fetch 1 ,mem_le_txlen 
+0x5675 021797 rtn blank 
+:      021798 le_send_no_txlen:
+0x5676 021799 fetch 1 ,mem_le_state 
+0x5677 021800 rtnbit0 lestate_encryption 
+0x5678 021801 call load_sk 
+0x5679 021802 branch le_encrypt 
+:      021805 get_lpm_wake_ble_rx_lock:
+0x567a 021806 arg wake_lock_ble_rx ,queue 
+0x567b 021807 branch lpm_get_wake_lock 
+:      021809 put_lpm_wake_ble_rx_lock:
+0x567c 021810 arg wake_lock_ble_rx ,queue 
+0x567d 021811 branch lpm_put_wake_lock 
+:      021814 le_parse:
+0x567e 021815 bpatchx patch2c_6 ,mem_patch2c 
+0x567f 021816 rtnmark1 mark_old_packet 
+0x5680 021817 call le_fifo_check_full 
+0x5681 021818 nrtn blank 
+0x5682 021819 fetch 1 ,mem_le_rxbuf 
+0x5683 021820 and pdata ,0x3 ,pdata 
+0x5684 021821 store 1 ,mem_le_packet_llid 
+0x5685 021822 ifetch 1 ,contr 
+0x5686 021823 and pdata ,0x1f ,pdata 
+0x5687 021824 store 1 ,mem_le_packet_size 
+0x5688 021825 rtn blank 
+0x5689 021826 copy contr ,pdata 
+0x568a 021827 store 2 ,mem_le_payload_ptr 
+0x568b 021828 fetch 1 ,mem_le_packet_llid 
+0x568c 021829 beq llid_le_ll ,le_parse_ll 
+:      021830 le_parse_l2cap:
+0x568d 021831 call le_check_l2cap_complete 
+0x568e 021832 nbranch get_lpm_wake_ble_rx_lock ,user 
+0x568f 021833 call put_lpm_wake_ble_rx_lock 
+0x5690 021834 fetch 2 ,mem_le_payload_ptr 
+0x5691 021835 copy pdata ,contr 
+0x5692 021836 ifetch 2 ,contr 
+0x5693 021837 store 2 ,mem_le_l2cap_size 
+0x5694 021838 bpatchx patch2c_7 ,mem_patch2c 
+0x5695 021839 ifetch 2 ,contr 
+0x5696 021840 beq le_l2cap_cid_att ,le_parse_att 
+0x5697 021841 beq le_l2cap_cid_smp ,le_parse_smp 
+0x5698 021842 beq le_l2cap_cid_signal ,le_parse_signaling 
+0x5699 021843 rtn 
+:      021846 le_check_l2cap_complete:
+0x569a 021847 fetch 1 ,mem_le_packet_llid 
+0x569b 021848 beq llid_start ,le_check_l2cap_llid_start 
+0x569c 021849 beq llid_continue ,le_check_l2cap_llid_continue 
+0x569d 021850 rtn 
+:      021855 le_check_l2cap_cid_legal:
+0x569e 021856 call enable_user 
+0x569f 021857 arg le_l2cap_cid_att ,temp 
+0x56a0 021858 isub pdata ,null 
+0x56a1 021859 rtn zero 
+0x56a2 021860 arg le_l2cap_cid_signal ,temp 
+0x56a3 021861 isub pdata ,null 
+0x56a4 021862 rtn zero 
+0x56a5 021863 arg le_l2cap_cid_smp ,temp 
+0x56a6 021864 isub pdata ,null 
+0x56a7 021865 rtn zero 
+0x56a8 021866 branch disable_user 
+:      021869 le_check_l2cap_llid_start:
+0x56a9 021870 fetch 2 ,mem_le_payload_ptr 
+0x56aa 021871 copy pdata ,contr 
+0x56ab 021872 ifetch 2 ,contr 
+0x56ac 021873 store 2 ,mem_le_l2cap_size 
+0x56ad 021874 ifetch 2 ,contr 
+0x56ae 021875 call le_check_l2cap_cid_legal 
+0x56af 021876 nrtn user 
+0x56b0 021877 fetcht 1 ,mem_le_packet_size 
+0x56b1 021878 storet 1 ,mem_le_packet_len_recved 
+0x56b2 021879 fetch 2 ,mem_le_l2cap_size 
+0x56b3 021880 increase 4 ,pdata 
+0x56b4 021881 isub temp ,null 
+0x56b5 021882 branch enable_user ,zero 
+0x56b6 021883 fetch 1 ,mem_le_packet_size 
+0x56b7 021884 copy pdata ,loopcnt 
+0x56b8 021885 arg mem_le_l2capbuf ,contw 
+0x56b9 021886 fetch 2 ,mem_le_payload_ptr 
+0x56ba 021887 copy pdata ,contr 
+0x56bb 021888 call memcpy 
+0x56bc 021889 branch disable_user 
+:      021894 le_check_l2cap_continue_legal:
+0x56bd 021895 call enable_user 
+0x56be 021896 fetch 1 ,mem_le_packet_len_recved 
+0x56bf 021897 nrtn blank 
+0x56c0 021898 branch disable_user 
+:      021900 le_check_l2cap_llid_continue:
+0x56c1 021901 call le_check_l2cap_continue_legal 
+0x56c2 021902 nrtn user 
+0x56c3 021903 fetch 1 ,mem_le_packet_len_recved 
+0x56c4 021904 arg mem_le_l2capbuf ,contw 
+0x56c5 021905 iadd contw ,rega 
+0x56c6 021906 fetcht 1 ,mem_le_packet_size 
+0x56c7 021907 iadd temp ,pdata 
+0x56c8 021908 store 1 ,mem_le_packet_len_recved 
+0x56c9 021909 fetch 1 ,mem_le_packet_size 
+0x56ca 021910 copy pdata ,loopcnt 
+0x56cb 021911 copy rega ,contw 
+0x56cc 021912 fetch 2 ,mem_le_payload_ptr 
+0x56cd 021913 copy pdata ,contr 
+0x56ce 021914 call memcpy_fast 
+0x56cf 021915 setarg mem_le_l2capbuf 
+0x56d0 021916 store 2 ,mem_le_payload_ptr 
+0x56d1 021917 fetch 2 ,mem_le_l2cap_size 
+0x56d2 021918 increase 4 ,pdata 
+0x56d3 021919 fetcht 1 ,mem_le_packet_len_recved 
+0x56d4 021920 isub temp ,null 
+0x56d5 021921 branch enable_user ,zero 
+0x56d6 021922 branch disable_user 
+:      021928 le_get_search_att_type:
+0x56d7 021929 call store_contr 
+0x56d8 021930 arg mem_le_search_att_type_length ,contw 
+:      021931 le_get_search_common:
+0x56d9 021932 fetch 2 ,mem_le_l2cap_size 
+0x56da 021933 increase -5 ,pdata 
+:      021934 le_get_search_common2:
+0x56db 021935 istore 1 ,contw 
+0x56dc 021936 copy pdata ,loopcnt 
+0x56dd 021937 call get_contr 
+0x56de 021938 branch memcpy_fast 
+:      021940 le_get_search_att_uuid:
+0x56df 021941 call store_contr 
+0x56e0 021942 arg mem_le_search_uuid_length ,contw 
+0x56e1 021943 branch le_get_search_common 
+:      021947 le_writeatt_cb:
+0x56e2 021948 fetch 2 ,mem_cb_att_write 
+0x56e3 021949 branch callback_func 
+:      021951 le_supervision_update:
+0x56e4 021952 fetcht 4 ,mem_le_supervision_timer 
+0x56e5 021953 call get_clkbt 
+0x56e6 021954 isub temp ,timeup 
+0x56e7 021955 deposit timeup 
+0x56e8 021956 fetcht 2 ,mem_le_superto 
+0x56e9 021957 lshift4 temp ,temp 
+0x56ea 021958 lshift temp ,temp 
+0x56eb 021959 isub temp ,pdata 
+0x56ec 021960 rtn 
+:      021962 le_supervision_flush:
+0x56ed 021963 call get_clkbt 
+0x56ee 021964 store 4 ,mem_le_supervision_timer 
+0x56ef 021965 rtn 
+:      021968 le_adv:
+0x56f0 021969 jam 36 ,mem_le_ch_mapped 
+0x56f1 021970 jam 0 ,mem_le_adv_channel_map_temp 
+:      021971 le_adv_loop:
+0x56f2 021972 bpatchx patch2d_0 ,mem_patch2d 
+0x56f3 021973 fetch 1 ,mem_le_adv_enable 
+0x56f4 021974 rtn blank 
+0x56f5 021975 arg le_adv_interval_timer ,queue 
+0x56f6 021976 call timer_check 
+0x56f7 021977 nrtn blank 
+0x56f8 021978 bpatchx patch2d_1 ,mem_patch2d 
+:      021979 le_adv_loop_tx:
+0x56f9 021980 disable master 
+0x56fa 021981 enable swfine 
+0x56fb 021982 call le_init_adv 
+0x56fc 021983 call le_next_adv_channel 
+0x56fd 021984 call le_send_adv_ind 
+0x56fe 021985 nbranch le_adv_not_match ,match 
+0x56ff 021986 fetch 1 ,mem_le_req_rcv 
+0x5700 021987 increase 1 ,pdata 
+0x5701 021988 store 1 ,mem_le_req_rcv 
+0x5702 021989 fetch 1 ,mem_le_rxbuf 
+0x5703 021990 and pdata ,0x0f ,pdata 
+0x5704 021991 beq scan_req ,le_send_scan_response 
+0x5705 021992 beq connect_req ,le_parse_connect_req 
+:      021993 le_adv_not_match:
+0x5706 021994 bpatchx patch2d_2 ,mem_patch2d 
+0x5707 021995 random pdata 
+0x5708 021996 arg 0x1ff ,temp 
+0x5709 021997 iand temp ,pdata 
+0x570a 021998 add pdata ,250 ,pdata 
+0x570b 021999 call delay 
+0x570c 022000 fetch 1 ,mem_le_adv_channel_map_temp 
+0x570d 022001 fetcht 1 ,mem_le_adv_channel_map 
+0x570e 022002 isub temp ,null 
+0x570f 022003 nbranch le_adv_loop ,zero 
+0x5710 022004 arg le_adv_interval_timer ,queue 
+0x5711 022005 fetch 2 ,mem_le_adv_interval 
+0x5712 022006 branch timer_init 
+:      022009 le_receive_window_size:
+0x5713 022010 bpatchx patch2d_3 ,mem_patch2d 
+0x5714 022011 fetch 1 ,mem_le_peer_sca 
+0x5715 022012 call le_sca_map 
+0x5716 022013 fetch 2 ,mem_le_tsniff 
+0x5717 022014 imul32 temp ,pdata 
+0x5718 022015 arg 375 ,temp 
+0x5719 022016 imul32 temp ,pdata 
+0x571a 022017 arg 100000 ,temp 
+0x571b 022018 idiv temp 
+0x571c 022019 fetch 1 ,mem_le_window_size 
+0x571d 022020 arg 20000 ,temp 
+0x571e 022021 imul32 temp ,pdata 
+0x571f 022022 iadd temp ,pdata 
+0x5720 022023 store 4 ,mem_le_transmit_window 
+0x5721 022024 bpatchx patch2d_4 ,mem_patch2d 
+0x5722 022025 fetch 2 ,mem_rx_window_sniff 
+0x5723 022026 call wait_div_end 
+0x5724 022027 quotient temp 
+0x5725 022028 iadd temp ,pdata 
+0x5726 022029 store 2 ,mem_le_receive_window 
+0x5727 022030 rtn 
+:      022032 le_parse_connect_req:
+0x5728 022033 bpatchx patch2d_5 ,mem_patch2d 
+0x5729 022034 fetch 6 ,mem_le_rxbuf + 8 
+0x572a 022035 fetcht 6 ,mem_le_lap 
+0x572b 022036 isub temp ,null 
+0x572c 022037 nrtn zero 
+0x572d 022038 call le_scan_check_sender_addr_type 
+0x572e 022039 copy rega ,pdata 
+0x572f 022040 store 1 ,mem_le_conn_peer_addr_type 
+0x5730 022041 fetch 7 ,mem_le_rxbuf + 21 
+0x5731 022042 store 7 ,mem_tmp_buffer 
+0x5732 022043 ifetch 8 ,contr 
+0x5733 022044 istore 8 ,contw 
+0x5734 022045 fetch 6 ,mem_le_rxbuf + 2 
+0x5735 022046 store 6 ,mem_le_plap 
+0x5736 022047 increase 6 ,contr 
+0x5737 022048 ifetch 8 ,contr 
+0x5738 022049 store 8 ,mem_le_access 
+0x5739 022050 ifetcht 2 ,contr 
+0x573a 022051 bpatchx patch2d_6 ,mem_patch2d 
+0x573b 022052 lshift2 temp ,temp 
+0x573c 022053 ifetch 2 ,contr 
+0x573d 022054 lshift2 pdata ,pdata 
+0x573e 022055 store 2 ,mem_le_tsniff 
+0x573f 022056 store 4 ,mem_le_anchor 
+0x5740 022057 isub temp ,pdata 
+0x5741 022058 add pdata ,-2 ,clke_bt 
+0x5742 022059 ifetch 9 ,contr 
+0x5743 022060 store 9 ,mem_le_slave_latency 
+0x5744 022061 bpatchx patch2d_7 ,mem_patch2d 
+0x5745 022062 ifetch 1 ,contr 
+0x5746 022063 rshift4 pdata ,temp 
+0x5747 022064 rshift temp ,temp 
+0x5748 022065 storet 1 ,mem_le_peer_sca 
+0x5749 022066 and_into 0x1f ,pdata 
+0x574a 022067 store 1 ,mem_le_hop 
+0x574b 022068 call le_receive_window_size 
+0x574c 022069 call le_calc_channel_map 
+0x574d 022070 call le_init_slave 
+0x574e 022071 call context_new 
+0x574f 022072 nrtn zero 
+0x5750 022073 bpatchx patch2e_0 ,mem_patch2e 
+0x5751 022074 call calc_clke_offset 
+0x5752 022075 call le_l2cap_reset_signaling_identifier 
+0x5753 022076 jam bt_evt_le_connected ,mem_fifo_temp 
+0x5754 022077 call ui_ipc_send_event 
+0x5755 022078 branch context_save 
+:      022081 le_init_attlist_search:
+0x5756 022082 bpatchx patch2e_1 ,mem_patch2e 
+0x5757 022083 fetch 2 ,mem_le_search_handle_start 
+0x5758 022084 iforce regb 
+0x5759 022085 fetch 2 ,mem_le_search_handle_end 
+0x575a 022086 iforce regc 
+0x575b 022087 fetch 2 ,mem_ui_le_uuid_table 
+0x575c 022088 iforce contr 
+0x575d 022089 enable user 
+0x575e 022090 rtn 
+:      022093 le_att_handle_inrange:
+0x575f 022094 ifetch 2 ,contr 
+0x5760 022095 rtn blank 
+0x5761 022096 isub regb ,null 
+0x5762 022097 nrtn positive 
+0x5763 022098 isub regc ,null 
+0x5764 022099 rtn zero 
+0x5765 022100 branch le_att_handle_blank ,positive 
+0x5766 022101 force 1 ,null 
+0x5767 022102 rtn 
+:      022103 le_att_handle_blank:
+0x5768 022104 force 0 ,pdata 
+0x5769 022105 rtn 
+:      022109 le_att_get_handle_ptr:
+0x576a 022110 call le_att_get_handle_ptr2 
+0x576b 022111 branch le_att_get_handle_ptr_found ,zero 
+0x576c 022112 rtn 
+:      022114 le_att_get_handle_ptr2:
+0x576d 022115 bpatchx patch2e_2 ,mem_patch2e 
+0x576e 022116 fetch 2 ,mem_ui_le_uuid_table 
+0x576f 022117 iforce contr 
+:      022118 le_att_get_handle_loop1:
+0x5770 022119 ifetch 2 ,contr 
+0x5771 022120 rtn blank 
+0x5772 022121 isub temp ,null 
+0x5773 022122 rtn zero 
+0x5774 022123 ifetch 1 ,contr 
+0x5775 022124 iadd contr ,contr 
+0x5776 022125 ifetch 1 ,contr 
+0x5777 022126 iadd contr ,contr 
+0x5778 022127 branch le_att_get_handle_loop1 
+:      022128 le_att_get_handle_ptr_found:
+0x5779 022129 ifetch 1 ,contr 
+0x577a 022130 iadd contr ,contr 
+0x577b 022131 rtn 
+:      022135 le_att_get_short_uuid_ptr:
+0x577c 022136 bpatchx patch2e_3 ,mem_patch2e 
+0x577d 022137 fetch 2 ,mem_ui_le_uuid_table 
+0x577e 022138 iforce contr 
+:      022139 le_att_get_short_uuid_loop:
+0x577f 022140 ifetch 2 ,contr 
+0x5780 022141 rtn blank 
+0x5781 022142 ifetch 1 ,contr 
+0x5782 022143 iadd contr ,contr 
+0x5783 022144 increase -2 ,contr 
+0x5784 022145 ifetch 2 ,contr 
+0x5785 022146 isub temp ,null 
+0x5786 022147 rtn zero 
+0x5787 022148 ifetch 1 ,contr 
+0x5788 022149 iadd contr ,contr 
+0x5789 022150 branch le_att_get_short_uuid_loop 
+:      022154 le_att_get_handle_info_from_ptr:
+0x578a 022155 fetch 2 ,mem_le_cur_attlist_start_ptr 
+0x578b 022156 branch le_att_get_handle_info_fast 
+:      022158 le_att_get_handle_info:
+0x578c 022159 bpatchx patch2e_4 ,mem_patch2e 
+0x578d 022160 fetch 2 ,mem_ui_le_uuid_table 
+:      022161 le_att_get_handle_info_fast:
+0x578e 022162 iforce contr 
+0x578f 022163 copy temp ,rega 
+:      022164 le_att_get_handle_loop:
+0x5790 022165 ifetch 2 ,contr 
+0x5791 022166 branch le_att_unfind_handle ,blank 
+0x5792 022167 isub rega ,null 
+0x5793 022168 branch le_att_finded_handle ,zero 
+0x5794 022169 ifetch 1 ,contr 
+0x5795 022170 iadd contr ,contr 
+0x5796 022171 ifetch 1 ,contr 
+0x5797 022172 iadd contr ,contr 
+0x5798 022173 branch le_att_get_handle_loop 
+:      022174 le_att_unfind_handle:
+0x5799 022175 branch disable_blank 
+:      022177 le_att_finded_handle:
+0x579a 022178 ifetch 1 ,contr 
+0x579b 022179 store 1 ,mem_le_cur_uuid_length 
+0x579c 022180 copy pdata ,loopcnt 
+0x579d 022181 arg mem_le_cur_uuid ,contw 
+0x579e 022182 call memcpy_fast 
+0x579f 022183 ifetch 1 ,contr 
+0x57a0 022184 store 1 ,mem_le_curr_att_len 
+0x57a1 022185 call store_contr 
+0x57a2 022186 branch enable_blank 
+:      022189 le_modified_name:
+0x57a3 022190 bpatchx patch2e_5 ,mem_patch2e 
+0x57a4 022191 call le_modified_name_att_list 
+0x57a5 022192 branch le_modified_name_adv 
+:      022194 le_modified_name_att_list:
+0x57a6 022195 arg uuid_chrctr_device_name ,temp 
+0x57a7 022196 call le_att_get_short_uuid_ptr 
+0x57a8 022197 rtn blank 
+0x57a9 022198 ifetch 1 ,contr 
+0x57aa 022199 copy contr ,contw 
+0x57ab 022200 fetcht 1 ,mem_le_name_len 
+0x57ac 022201 copy temp ,loopcnt 
+0x57ad 022202 isub temp ,null 
+0x57ae 022203 nbranch le_name_length_longer_than_att ,positive 
+0x57af 022204 isub temp ,temp 
+0x57b0 022205 arg mem_le_name ,contr 
+0x57b1 022206 call memcpy 
+0x57b2 022207 copy temp ,loopcnt 
+0x57b3 022208 ncall memcpy_empty ,zero 
+0x57b4 022209 rtn 
+:      022210 le_name_length_longer_than_att:
+0x57b5 022211 copy pdata ,loopcnt 
+0x57b6 022212 arg mem_le_name ,contr 
+0x57b7 022213 branch memcpy_fast 
+:      022216 le_modified_name_adv:
+0x57b8 022217 arg mem_le_adv_data_len + 32 ,regc 
+0x57b9 022218 arg mem_le_adv_data ,rega 
+0x57ba 022219 call le_modified_name_adv_and_scan 
+0x57bb 022220 setarg 0 
+0x57bc 022221 setflag user ,0 ,pdata 
+0x57bd 022222 store 1 ,mem_pdatatemp 
+0x57be 022223 arg mem_le_scan_data_len + 32 ,regc 
+0x57bf 022224 arg mem_le_scan_data ,rega 
+0x57c0 022225 call le_modified_name_adv_and_scan 
+0x57c1 022226 rtn user 
+0x57c2 022227 fetch 1 ,mem_pdatatemp 
+0x57c3 022228 branch assert ,blank 
+0x57c4 022229 rtn 
+:      022232 le_modified_name_adv_and_scan:
+0x57c5 022233 bpatchx patch2e_6 ,mem_patch2e 
+0x57c6 022234 call enable_user 
+0x57c7 022235 call clear_temp_block 
+0x57c8 022236 arg 0 ,regb 
+0x57c9 022237 arg mem_le_data_temp ,contw 
+0x57ca 022238 call le_modified_name_adv_loop 
+0x57cb 022239 fetch 1 ,mem_le_name_len 
+0x57cc 022240 add pdata ,1 ,temp 
+0x57cd 022241 iadd regb ,rega 
+0x57ce 022242 increase 2 ,rega 
+0x57cf 022243 sub rega ,0x1f ,null 
+0x57d0 022244 nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+0x57d1 022245 istoret 1 ,contw 
+0x57d2 022246 arg gap_adtype_local_name_complete ,temp 
+0x57d3 022247 istoret 1 ,contw 
+0x57d4 022248 iforce loopcnt 
+0x57d5 022249 call memcpy_fast 
+0x57d6 022250 copy rega ,regb 
+:      022251 le_modified_name_adv_and_scan_store_data:
+0x57d7 022252 deposit regb 
+0x57d8 022253 store 1 ,mem_le_data_len_temp 
+0x57d9 022254 arg mem_le_data_len_temp ,contr 
+0x57da 022255 setarg -32 
+0x57db 022256 iadd regc ,contw 
+0x57dc 022257 branch memcpy32 
+:      022259 le_modified_name_adv_and_scan_name_overflow:
+0x57dd 022260 call disable_user 
+0x57de 022261 branch le_modified_name_adv_and_scan_store_data 
+:      022263 le_modified_name_adv_loop:
+0x57df 022264 ifetch 1 ,rega 
+0x57e0 022265 rtn blank 
+0x57e1 022266 pincrease 1 
+0x57e2 022267 ifetcht 1 ,contr 
+0x57e3 022268 sub temp ,gap_adtype_local_name_complete ,null 
+0x57e4 022269 branch le_modified_name_adv_found_name ,zero 
+0x57e5 022270 iadd regb ,regb 
+0x57e6 022271 copy rega ,contr 
+0x57e7 022272 iforce loopcnt 
+0x57e8 022273 call memcpy_fast 
+0x57e9 022274 copy contr ,rega 
+:      022275 le_modified_name_adv_loop2:
+0x57ea 022276 deposit rega 
+0x57eb 022277 isub regc ,null 
+0x57ec 022278 rtn positive 
+0x57ed 022279 branch le_modified_name_adv_loop 
+:      022281 le_modified_name_adv_found_name:
+0x57ee 022282 iadd rega ,rega 
+0x57ef 022283 branch le_modified_name_adv_loop2 
+:      022286 memcpy_empty:
+0x57f0 022287 setarg space 
+0x57f1 022288 istore 1 ,contw 
+0x57f2 022289 loop memcpy_empty 
+0x57f3 022290 rtn 
+:      022293 le_lpm_set_mult:
+0x57f4 022294 bpatchx patch2e_7 ,mem_patch2e 
+0x57f5 022295 disable wake 
+0x57f6 022296 branch le_lpm_set_mult_attempt ,attempt 
+0x57f7 022297 nbranch le_lpm_lost ,match 
+:      022298 le_lpm_set_mult_attempt:
+0x57f8 022299 call lpm_match 
+0x57f9 022300 fetch 2 ,mem_rx_window_sniff 
+0x57fa 022301 store 2 ,mem_le_receive_window 
+0x57fb 022303 nbranch lpm_mult_short ,match 
+0x57fc 022304 bmark1 mark_old_packet ,lpm_mult_short 
+0x57fd 022306 fetch 1 ,mem_le_packet_size 
+0x57fe 022307 nbranch lpm_mult_short ,blank 
+0x57ff 022308 fetch 1 ,mem_le_txlen 
+0x5800 022309 nbranch lpm_mult_short ,blank 
+0x5801 022311 fetch 1 ,mem_le_configuration 
+0x5802 022312 bbit1 bit_ble_short_mult ,lpm_mult_short 
+0x5803 022314 fetch 1 ,mem_le_state 
+0x5804 022315 bbit1 lestate_update_param ,lpm_mult_short 
+0x5805 022316 branch lpm_mult_wait_timeout 
+:      022318 le_lpm_lost:
+0x5806 022319 fetcht 2 ,mem_rx_window_sniff 
+0x5807 022320 rshift temp ,temp 
+0x5808 022321 fetch 2 ,mem_le_receive_window 
+0x5809 022322 iadd temp ,pdata 
+0x580a 022323 store 2 ,mem_le_receive_window 
+0x580b 022324 branch lpm_lost 
+:      022327 le_set_config_fixed_tk:
+0x580c 022328 arg bit_ble_passkey_fixed_key ,queue 
+0x580d 022329 branch le_set_config 
+:      022331 le_clr_config_fixed_tk:
+0x580e 022332 arg bit_ble_passkey_fixed_key ,queue 
+0x580f 022333 branch le_clr_config 
+:      022335 le_set_config_fixed_ltk:
+0x5810 022336 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5811 022337 branch le_set_config 
+:      022339 le_clr_config_fixed_ltk:
+0x5812 022340 arg bit_ble_pairing_fixed_ltk ,queue 
+0x5813 022341 branch le_clr_config 
+:      022343 le_set_config_more_data:
+0x5814 022344 arg bit_ble_transmit_packet_by_md ,queue 
+0x5815 022345 branch le_set_config 
+:      022347 le_clr_config_more_data:
+0x5816 022348 arg bit_ble_transmit_packet_by_md ,queue 
+0x5817 022349 branch le_clr_config 
+:      022351 le_set_config_read_authentication:
+0x5818 022352 arg bit_ble_read_auth ,queue 
+0x5819 022353 branch le_set_config 
+:      022355 le_clr_config_read_authentication:
+0x581a 022356 arg bit_ble_read_auth ,queue 
+0x581b 022357 branch le_clr_config 
+:      022359 le_set_config_write_authentication:
+0x581c 022360 arg bit_ble_write_auth ,queue 
+0x581d 022361 branch le_set_config 
+:      022363 le_clr_config_write_authentication:
+0x581e 022364 arg bit_ble_write_auth ,queue 
+0x581f 022365 branch le_clr_config 
+:      022367 le_set_config_short_mult:
+0x5820 022368 arg bit_ble_short_mult ,queue 
+0x5821 022369 branch le_set_config 
+:      022371 le_clr_config_short_mult:
+0x5822 022372 arg bit_ble_short_mult ,queue 
+0x5823 022373 branch le_clr_config 
+:      022376 le_set_config:
+0x5824 022377 fetch 1 ,mem_le_configuration 
+0x5825 022378 qset1 pdata 
+0x5826 022379 store 1 ,mem_le_configuration 
+0x5827 022380 rtn 
+:      022382 le_clr_config:
+0x5828 022383 fetch 1 ,mem_le_configuration 
+0x5829 022384 qset0 pdata 
+0x582a 022385 store 1 ,mem_le_configuration 
+0x582b 022386 rtn 
+:      022388 le_set_fixed_ltk:
+0x582c 022389 setarg 0x112233 
+0x582d 022390 store 3 ,mem_le_fixed_ltk 
+0x582e 022391 setarg 0x445566 
+0x582f 022392 istore 3 ,contw 
+0x5830 022393 setarg 0x778899 
+0x5831 022394 istore 3 ,contw 
+0x5832 022395 setarg 0x001122 
+0x5833 022396 istore 3 ,contw 
+0x5834 022397 setarg 0x334455 
+0x5835 022398 istore 3 ,contw 
+0x5836 022399 setarg 0x66 
+0x5837 022400 istore 1 ,contw 
+0x5838 022401 rtn 
+:      022404 le_set_justwork:
+0x5839 022405 setarg 0x01000302 
+0x583a 022406 store 4 ,mem_le_pres 
+0x583b 022407 setarg 0x010010 
+0x583c 022408 store 3 ,mem_le_pres_max_keysize 
+0x583d 022409 jam 1 ,mem_le_pairing_mode 
+0x583e 022410 rtn 
+:      022414 le_fifo_malloc_tx_empty:
+0x583f 022415 arg 0 ,rega 
+0x5840 022416 arg llid_empty ,type 
+0x5841 022417 branch le_fifo_malloc_tx 
+:      022421 le_fifo_malloc_tx_ll:
+0x5842 022422 arg llid_le_ll ,type 
+0x5843 022423 call le_fifo_malloc_tx 
+0x5844 022424 copy regb ,pdata 
+0x5845 022425 istore 1 ,contw 
+0x5846 022426 rtn 
+:      022430 le_fifo_malloc_tx_l2cap:
+0x5847 022431 force llid_l2cap_start ,type 
+0x5848 022432 increase 4 ,rega 
+0x5849 022433 call le_fifo_malloc_tx 
+0x584a 022434 increase -4 ,rega 
+0x584b 022435 copy rega ,pdata 
+0x584c 022436 istore 2 ,contw 
+0x584d 022437 copy regb ,pdata 
+0x584e 022438 istore 2 ,contw 
+0x584f 022439 rtn 
+:      022443 le_fifo_malloc_tx:
+0x5850 022444 sub rega ,240 ,null 
+0x5851 022445 nbranch assert ,positive 
+0x5852 022446 fetch 1 ,mem_le_tx_buff_used 
+0x5853 022447 arg 1 ,temp 
+0x5854 022448 arg le_tx_buff_count ,loopcnt 
+:      022449 le_fifo_malloc_tx_loop:
+0x5855 022450 iand temp ,null 
+0x5856 022451 branch le_fifo_malloc_tx_got_empty ,zero 
+0x5857 022452 lshift temp ,temp 
+0x5858 022453 loop le_fifo_malloc_tx_loop 
+0x5859 022454 branch assert 
+:      022455 le_fifo_malloc_tx_got_empty:
+0x585a 022456 ixor temp ,pdata 
+0x585b 022457 store 1 ,mem_le_tx_buff_used 
+0x585c 022458 sub loopcnt ,le_tx_buff_count ,pdata 
+0x585d 022459 lshift4 pdata ,pdata 
+0x585e 022460 lshift4 pdata ,pdata 
+0x585f 022461 arg mem_le_tx_buffer0 ,temp 
+0x5860 022462 iadd temp ,temp 
+:      022463 le_fifo_tx_find_empty_ptr:
+0x5861 022464 arg 0 ,loopcnt 
+0x5862 022465 arg mem_le_tx_ptr0 ,contr 
+:      022466 le_fifo_tx_find_empty_ptr_loop:
+0x5863 022467 ifetch 2 ,contr 
+0x5864 022468 branch le_fifo_tx_found_empty_ptr ,blank 
+0x5865 022469 copy loopcnt ,pdata 
+0x5866 022470 increase 1 ,loopcnt 
+0x5867 022471 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+0x5868 022472 branch assert 
+:      022475 le_fifo_tx_found_empty_ptr:
+0x5869 022476 increase -2 ,contr 
+0x586a 022477 istoret 2 ,contr 
+0x586b 022478 copy temp ,contw 
+0x586c 022479 copy rega ,pdata 
+0x586d 022480 istore 1 ,contw 
+0x586e 022481 setarg 0 
+0x586f 022482 istore 1 ,contw 
+0x5870 022483 copy type ,pdata 
+0x5871 022484 istore 1 ,contw 
+0x5872 022485 rtn 
+:      022489 le_fifo_get_first_tx_ptr:
+0x5873 022490 fetch 2 ,mem_le_tx_ptr0 
+0x5874 022491 copy pdata ,contr 
+0x5875 022492 rtn 
+:      022494 le_fifo_get_second_tx_ptr:
+0x5876 022495 fetch 2 ,mem_le_tx_ptr1 
+0x5877 022496 copy pdata ,contr 
+0x5878 022497 rtn 
+:      022499 le_fifo_get_last_tx_ptr:
+0x5879 022500 call le_fifo_get_last_tx_ptr0 
+0x587a 022501 copy pdata ,contr 
+0x587b 022502 rtn 
+:      022503 le_fifo_get_last_tx_ptr0:
+0x587c 022504 fetch 2 ,mem_le_tx_ptr3 
+0x587d 022505 nrtn blank 
+0x587e 022506 fetch 2 ,mem_le_tx_ptr2 
+0x587f 022507 nrtn blank 
+0x5880 022508 fetch 2 ,mem_le_tx_ptr1 
+0x5881 022509 nrtn blank 
+0x5882 022510 fetch 2 ,mem_le_tx_ptr0 
+0x5883 022511 rtn 
+:      022513 le_fifo_get_first_l2cap_ptr:
+0x5884 022514 call le_fifo_get_first_tx_ptr 
+0x5885 022515 increase 3 ,contr 
+0x5886 022516 rtn 
+:      022518 le_fifo_get_first_att_ptr:
+0x5887 022519 call le_fifo_get_first_tx_ptr 
+0x5888 022520 increase 7 ,contr 
+0x5889 022521 rtn 
+:      022523 le_fifo_get_last_att_ptr:
+0x588a 022524 call le_fifo_get_last_tx_ptr 
+0x588b 022525 increase 7 ,contr 
+0x588c 022526 rtn 
+:      022528 le_fifo_get_last_l2cap_ptr:
+0x588d 022529 call le_fifo_get_last_tx_ptr 
+0x588e 022530 increase 3 ,contr 
+0x588f 022531 rtn 
+:      022535 le_fifo_check_full:
+0x5890 022536 fetch 2 ,mem_le_tx_ptr3 
+0x5891 022537 rtn 
+:      022540 le_fifo_check_nearly_full:
+0x5892 022541 fetch 2 ,mem_le_tx_ptr2 
+0x5893 022542 rtn 
+:      022545 le_fifo_check_empty:
+0x5894 022546 fetch 2 ,mem_le_tx_ptr0 
+0x5895 022547 rtn 
+:      022550 le_fifo_release_first_node:
+0x5896 022551 fetch 2 ,mem_le_tx_ptr0 
+0x5897 022552 arg mem_le_tx_buffer0 ,temp 
+0x5898 022553 isub temp ,pdata 
+0x5899 022554 rshift4 pdata ,pdata 
+0x589a 022555 rshift4 pdata ,queue 
+0x589b 022556 fetch 1 ,mem_le_tx_buff_used 
+0x589c 022557 qset0 pdata 
+0x589d 022558 store 1 ,mem_le_tx_buff_used 
+0x589e 022559 arg 0 ,loopcnt 
+:      022560 le_fifo_release_first_node_loop:
+0x589f 022561 lshift loopcnt ,pdata 
+0x58a0 022562 arg mem_le_tx_ptr1 ,temp 
+0x58a1 022563 iadd temp ,temp 
+0x58a2 022564 ifetch 2 ,temp 
+0x58a3 022565 increase -2 ,temp 
+0x58a4 022566 istore 2 ,temp 
+0x58a5 022567 copy loopcnt ,pdata 
+0x58a6 022568 increase 1 ,loopcnt 
+0x58a7 022569 bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+0x58a8 022570 setarg 0 
+0x58a9 022571 istore 2 ,temp 
+0x58aa 022572 rtn 
+:      022578 le_parse_att:
+0x58ab 022579 ifetch 3 ,contr 
+0x58ac 022580 store 3 ,mem_le_att_opcode 
+0x58ad 022581 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+0x58ae 022582 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+0x58af 022583 beq attop_find_information_request ,le_parse_att_find_information_request 
+0x58b0 022584 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+0x58b1 022585 beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+0x58b2 022586 beq attop_read_request ,le_parse_att_read_request 
+0x58b3 022587 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+0x58b4 022588 beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+0x58b5 022589 beq attop_write_request ,le_parse_att_write_request 
+0x58b6 022590 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+0x58b7 022591 beq attop_execute_write_request ,le_parse_att_execute_write_request 
+0x58b8 022592 beq attop_write_command ,le_parse_att_write_command 
+0x58b9 022593 rtn 
+:      022596 le_send_att_exchange_mtu_requset:
+0x58ba 022597 force 3 ,rega 
+0x58bb 022598 call le_fifo_malloc_tx_l2cap_gatt 
+0x58bc 022599 setarg attop_exchange_mtu_request 
+0x58bd 022600 istore 1 ,contw 
+0x58be 022601 fetch 2 ,mem_le_local_mtu 
+0x58bf 022602 istore 2 ,contw 
+0x58c0 022603 rtn 
+:      022606 le_parse_att_exchange_mtu_request:
+0x58c1 022607 call le_parse_att_exchange_mtu_response 
+:      022608 le_send_att_exchange_mtu_response:
+0x58c2 022609 force 3 ,rega 
+0x58c3 022610 call le_fifo_malloc_tx_l2cap_gatt 
+0x58c4 022611 setarg attop_exchange_mtu_response 
+0x58c5 022612 istore 1 ,contw 
+0x58c6 022613 fetch 2 ,mem_le_local_mtu 
+0x58c7 022614 istore 2 ,contw 
+0x58c8 022615 rtn 
+:      022617 le_parse_att_exchange_mtu_response:
+0x58c9 022618 rshift8 pdata ,pdata 
+0x58ca 022619 store 2 ,mem_le_remote_mtu 
+0x58cb 022620 rtn 
+:      022622 le_parse_att_find_information_request:
+0x58cc 022623 call le_get_search_handle_start_end_common 
+0x58cd 022624 call enable_user 
+0x58ce 022625 branch le_send_att_find_information_response 
+:      022627 le_send_att_find_information_response:
+0x58cf 022628 arg 3 ,timeup 
+0x58d0 022629 call le_init_attlist_search 
+:      022630 le_send_att_find_information_res_loop:
+0x58d1 022631 call le_att_handle_inrange 
+0x58d2 022632 branch le_send_att_find_information_res_end ,blank 
+0x58d3 022633 nbranch le_send_att_find_information_res_next ,positive 
+0x58d4 022634 increase -2 ,contr 
+0x58d5 022635 call store_contr 
+0x58d6 022636 call get_contw 
+0x58d7 022637 nbranch le_send_att_find_information_res_store_info ,user 
+0x58d8 022638 call push_stack_rega_b_c 
+0x58d9 022639 call disable_user 
+0x58da 022640 force 20 ,rega 
+0x58db 022641 call le_fifo_malloc_tx_l2cap_gatt 
+0x58dc 022642 call pop_stack_rega_b_c 
+0x58dd 022643 setarg attop_find_information_response 
+0x58de 022644 istore 1 ,contw 
+0x58df 022645 setarg uuid_size_16bit 
+0x58e0 022646 istore 1 ,contw 
+:      022647 le_send_att_find_information_res_store_info:
+0x58e1 022648 call get_contr 
+0x58e2 022649 ifetch 2 ,contr 
+0x58e3 022650 istore 2 ,contw 
+0x58e4 022651 ifetch 1 ,contr 
+0x58e5 022652 copy pdata ,loopcnt 
+0x58e6 022653 call memcpy 
+0x58e7 022654 call store_contw 
+0x58e8 022655 increase -1 ,timeup 
+0x58e9 022656 branch le_send_att_find_information_res_end ,zero 
+:      022657 le_send_att_find_information_res_cont:
+0x58ea 022658 ifetch 1 ,contr 
+0x58eb 022659 iadd contr ,contr 
+0x58ec 022660 branch le_send_att_find_information_res_loop 
+:      022661 le_send_att_find_information_res_next:
+0x58ed 022662 ifetch 1 ,contr 
+0x58ee 022663 iadd contr ,contr 
+0x58ef 022664 branch le_send_att_find_information_res_cont 
+:      022665 le_send_att_find_information_res_end:
+0x58f0 022666 branch le_send_att_error_response_notfound ,user 
+0x58f1 022667 branch le_send_auto_len_by_mem 
+:      022670 le_parse_att_find_by_type_value_request:
+0x58f2 022671 call le_get_search_handle_start_end_common 
+0x58f3 022672 ifetch 2 ,contr 
+0x58f4 022673 store 2 ,mem_le_search_uuid 
+0x58f5 022674 call store_contr 
+0x58f6 022675 arg mem_le_search_att_type_length ,contw 
+0x58f7 022676 fetch 2 ,mem_le_l2cap_size 
+0x58f8 022677 increase -7 ,pdata 
+0x58f9 022678 call le_get_search_common2 
+0x58fa 022679 branch le_send_att_find_by_type_value_response 
+:      022682 le_start_end_handle_check_1:
+0x58fb 022683 disable user 
+0x58fc 022684 fetcht 2 ,mem_le_search_handle_start 
+0x58fd 022685 fetch 2 ,mem_le_search_handle_end 
+0x58fe 022686 isub temp ,null 
+0x58ff 022687 nbranch le_start_end_handle_check_1_fail ,positive 
+0x5900 022688 deposit temp 
+0x5901 022689 rtnne 0 
+:      022690 le_start_end_handle_check_1_fail:
+0x5902 022691 enable user 
+0x5903 022692 jam att_err_invalid_handle ,mem_le_err_code 
+0x5904 022693 branch le_send_att_error_response 
+:      022696 le_send_att_find_by_type_value_response:
+0x5905 022697 call le_start_end_handle_check_1 
+0x5906 022698 rtn user 
+0x5907 022699 fetcht 2 ,mem_le_search_uuid 
+0x5908 022700 setarg uuid_gatt_primary_service 
+0x5909 022701 isub temp ,null 
+0x590a 022702 branch le_send_att_find_by_type_value_res_primary ,zero 
+0x590b 022703 branch le_send_att_error_response_notfound 
+:      022706 le_send_att_find_by_type_value_res_primary:
+0x590c 022707 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+0x590d 022708 fetcht 2 ,mem_le_search_handle_start 
+0x590e 022709 storet 2 ,mem_temp 
+0x590f 022710 call le_att_get_handle_info 
+0x5910 022711 nbranch le_send_att_error_response_notfound ,blank 
+:      022712 le_send_att_find_primary_search_loop:
+0x5911 022713 fetcht 2 ,mem_temp 
+0x5912 022714 call le_att_get_handle_info 
+0x5913 022715 nbranch le_send_att_error_response_notfound2 ,blank 
+0x5914 022716 copy contr ,rega 
+0x5915 022717 fetch 1 ,mem_le_curr_att_len 
+0x5916 022718 copy pdata ,loopcnt 
+0x5917 022719 fetcht 1 ,mem_le_search_att_type_length 
+0x5918 022720 isub temp ,null 
+0x5919 022721 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x591a 022722 arg mem_le_search_att_type ,regb 
+0x591b 022723 call string_compare 
+0x591c 022725 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+0x591d 022727 fetch 2 ,mem_le_cur_uuid 
+0x591e 022728 fetcht 2 ,mem_le_search_uuid 
+0x591f 022729 isub temp ,null 
+0x5920 022730 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+:      022731 le_send_att_find_primary_search_loop1:
+0x5921 022732 fetch 2 ,mem_temp 
+0x5922 022733 increase 1 ,pdata 
+0x5923 022734 store 2 ,mem_temp 
+0x5924 022735 branch le_send_att_find_primary_search_loop 
+:      022737 le_send_att_error_response_notfound2:
+0x5925 022738 fetch 1 ,mem_le_search_res 
+0x5926 022739 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+0x5927 022740 branch le_send_att_error_response_notfound 
+:      022743 le_send_att_find_primary_search_end_start_handle_found:
+0x5928 022744 fetch 2 ,mem_le_cur_uuid 
+0x5929 022745 fetcht 2 ,mem_le_search_uuid 
+0x592a 022746 isub temp ,null 
+0x592b 022747 nbranch le_send_att_find_primary_search_loop1 ,zero 
+0x592c 022748 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+0x592d 022750 fetcht 2 ,mem_temp 
+0x592e 022751 storet 2 ,mem_le_cur_handle_start 
+0x592f 022752 branch le_send_att_find_primary_search_loop1 
+:      022754 le_send_att_find_primary_search_end_ending_handle_found:
+0x5930 022755 fetch 1 ,mem_le_search_res 
+0x5931 022756 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+0x5932 022757 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+0x5933 022758 fetcht 2 ,mem_temp 
+0x5934 022759 increase -1 ,temp 
+0x5935 022760 storet 2 ,mem_le_cur_handle_end 
+:      022762 le_send_att_find_primary_search_end:
+0x5936 022763 arg 5 ,rega 
+0x5937 022764 call le_fifo_malloc_tx_l2cap_gatt 
+0x5938 022765 setarg attop_find_by_type_value_response 
+0x5939 022766 istore 1 ,contw 
+0x593a 022767 fetch 2 ,mem_le_cur_handle_start 
+0x593b 022768 istore 2 ,contw 
+0x593c 022769 fetch 2 ,mem_le_cur_handle_end 
+0x593d 022770 istore 2 ,contw 
+0x593e 022771 rtn 
+:      022775 le_parse_att_read_by_type_request:
+0x593f 022776 call le_get_search_handle_start_end_common 
+0x5940 022777 call le_get_search_att_uuid 
+0x5941 022778 branch le_send_att_read_by_type_response 
+:      022780 le_send_att_read_by_type_response:
+0x5942 022781 fetcht 2 ,mem_le_search_handle_start 
+0x5943 022782 storet 2 ,mem_temp 
+0x5944 022783 call le_init_attlist_search 
+0x5945 022784 call le_att_get_handle_ptr2 
+0x5946 022785 increase -2 ,contr 
+0x5947 022786 copy contr ,pdata 
+0x5948 022787 store 2 ,mem_le_cur_attlist_start_ptr 
+0x5949 022789 fetcht 2 ,mem_le_search_uuid 
+0x594a 022790 setarg uuid_chrctr_device_name 
+0x594b 022791 isub temp ,null 
+0x594c 022792 branch le_send_att_read_by_type_res_device_name ,zero 
+0x594d 022793 setarg uuid_gatt_characteristic 
+0x594e 022794 isub temp ,null 
+0x594f 022795 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+0x5950 022796 arg 2 ,timeup 
+:      022797 le_send_att_read_by_type_response_loop:
+0x5951 022798 call le_att_check_handle_end 
+0x5952 022799 nbranch le_send_att_read_by_type_response_end ,positive 
+0x5953 022800 fetcht 2 ,mem_temp 
+0x5954 022801 call le_att_get_handle_info_from_ptr 
+0x5955 022802 beq 1 ,le_send_att_read_by_type_response_end 
+0x5956 022803 call le_att_same_uuid 
+0x5957 022804 nbranch le_send_att_read_by_type_response_next_handle ,zero 
+0x5958 022805 nbranch le_send_att_read_by_type_res_found_next ,user 
+0x5959 022806 disable user 
+0x595a 022807 arg 20 ,rega 
+0x595b 022808 call le_fifo_malloc_tx_l2cap_gatt 
+0x595c 022809 setarg attop_read_by_type_response 
+0x595d 022810 istore 1 ,contw 
+0x595e 022811 copy contw ,alarm 
+0x595f 022812 increase 1 ,contw 
+0x5960 022814 call le_send_att_read_by_type_write_properties 
+0x5961 022815 call le_att_next_handle 
+0x5962 022816 call le_att_get_handle_info_from_ptr 
+0x5963 022817 call le_send_att_read_by_type_write_uuid 
+0x5964 022818 fetch 1 ,mem_le_cur_uuid_length 
+0x5965 022819 increase 5 ,pdata 
+0x5966 022820 istore 1 ,alarm 
+0x5967 022821 fetch 1 ,mem_le_cur_uuid_length 
+0x5968 022822 beq 16 ,le_send_att_read_by_type_response_end 
+0x5969 022823 increase -1 ,timeup 
+0x596a 022824 branch le_send_att_read_by_type_response_end ,zero 
+:      022825 le_send_att_read_by_type_response_next_handle:
+0x596b 022826 call le_att_next_handle 
+0x596c 022827 branch le_send_att_read_by_type_response_loop 
+:      022828 le_send_att_read_by_type_response_end:
+0x596d 022829 branch le_send_att_error_response_notfound ,user 
+0x596e 022830 branch le_send_auto_len_by_mem 
+:      022832 le_send_att_read_by_type_res_found_next:
+0x596f 022833 call le_store_att_record 
+0x5970 022834 call le_att_next_handle 
+0x5971 022835 call le_att_get_handle_info_from_ptr 
+0x5972 022836 fetch 1 ,mem_le_cur_uuid_length 
+0x5973 022837 beq 16 ,le_send_att_read_by_type_response_end 
+0x5974 022839 call get_contw 
+0x5975 022840 fetch 2 ,mem_temp 
+0x5976 022841 increase -1 ,pdata 
+0x5977 022842 istore 2 ,contw 
+0x5978 022843 call le_write_att_record_common 
+0x5979 022844 call le_send_att_read_by_type_write_uuid 
+0x597a 022845 increase -1 ,timeup 
+0x597b 022846 branch le_send_att_read_by_type_response_end ,zero 
+0x597c 022847 branch le_send_att_read_by_type_response_next_handle 
+:      022850 le_send_att_read_by_type_write_properties:
+0x597d 022851 fetch 2 ,mem_temp 
+0x597e 022852 istore 2 ,contw 
+0x597f 022854 fetch 1 ,mem_le_curr_att_len 
+0x5980 022855 copy pdata ,loopcnt 
+0x5981 022856 call get_contr 
+0x5982 022857 call memcpy_fast 
+0x5983 022858 branch store_contw 
+:      022859 le_send_att_read_by_type_write_uuid:
+0x5984 022860 call get_contw 
+0x5985 022861 fetch 2 ,mem_temp 
+0x5986 022862 istore 2 ,contw 
+0x5987 022863 call store_contw 
+0x5988 022864 fetch 1 ,mem_le_cur_uuid_length 
+0x5989 022865 copy pdata ,loopcnt 
+0x598a 022866 call get_contw 
+0x598b 022867 call get_contr 
+0x598c 022868 isub loopcnt ,contr 
+0x598d 022869 increase -1 ,contr 
+0x598e 022870 call memcpy_fast 
+0x598f 022871 branch store_contw 
+:      022875 le_send_att_read_by_type_res_not_characteristic:
+0x5990 022876 fetcht 2 ,mem_le_search_handle_start 
+0x5991 022877 storet 2 ,mem_temp 
+:      022878 le_send_att_read_by_type_res_not_char_loop:
+0x5992 022879 call le_att_check_handle_end 
+0x5993 022880 nbranch le_send_att_error_response_notfound ,positive 
+0x5994 022881 call le_att_get_handle_info_from_ptr 
+0x5995 022882 beq 1 ,le_send_att_error_response_notfound 
+0x5996 022883 call le_att_same_uuid 
+0x5997 022884 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+:      022886 le_send_att_read_by_type_res_not_char_common:
+0x5998 022887 arg 20 ,rega 
+0x5999 022888 call le_fifo_malloc_tx_l2cap_gatt 
+0x599a 022889 setarg attop_read_by_type_response 
+0x599b 022890 istore 1 ,contw 
+0x599c 022891 fetch 1 ,mem_le_curr_att_len 
+0x599d 022892 copy pdata ,loopcnt 
+0x599e 022893 increase 2 ,pdata 
+0x599f 022894 istore 1 ,contw 
+0x59a0 022895 fetch 2 ,mem_temp 
+0x59a1 022896 istore 2 ,contw 
+0x59a2 022897 call get_contr 
+0x59a3 022898 call memcpy_fast 
+0x59a4 022899 call store_contw 
+0x59a5 022900 branch le_send_auto_len_by_mem 
+:      022902 le_send_att_read_by_type_res_not_char_next:
+0x59a6 022903 call le_att_next_handle 
+0x59a7 022904 branch le_send_att_read_by_type_res_not_char_loop 
+:      022907 le_send_att_read_by_type_res_device_name:
+0x59a8 022908 arg uuid_chrctr_device_name ,temp 
+0x59a9 022909 call le_att_get_short_uuid_ptr 
+0x59aa 022910 rtn blank 
+0x59ab 022911 increase -5 ,contr 
+0x59ac 022912 ifetch 2 ,contr 
+0x59ad 022913 store 2 ,mem_temp 
+0x59ae 022914 arg 20 ,rega 
+0x59af 022915 call le_fifo_malloc_tx_l2cap_gatt 
+0x59b0 022916 setarg attop_read_by_type_response 
+0x59b1 022917 istore 1 ,contw 
+0x59b2 022918 fetch 1 ,mem_le_name_len 
+0x59b3 022919 copy pdata ,loopcnt 
+0x59b4 022920 increase 2 ,pdata 
+0x59b5 022921 istore 1 ,contw 
+0x59b6 022922 fetch 2 ,mem_temp 
+0x59b7 022923 istore 2 ,contw 
+0x59b8 022924 arg mem_le_name ,contr 
+0x59b9 022925 call memcpy_fast 
+0x59ba 022926 call store_contw 
+0x59bb 022927 branch le_send_auto_len_by_mem 
+:      022931 le_parse_att_read_request:
+0x59bc 022932 fetcht 2 ,mem_le_att_handle 
+0x59bd 022933 fetch 1 ,mem_le_configuration 
+0x59be 022934 bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+:      022936 le_send_att_read_response:
+0x59bf 022937 call le_att_get_handle_ptr 
+0x59c0 022938 branch le_send_att_error_response_notfound ,blank 
+0x59c1 022939 increase -2 ,contr 
+0x59c2 022940 ifetch 2 ,contr 
+0x59c3 022941 arg uuid_chrctr_device_name ,temp 
+0x59c4 022942 isub temp ,null 
+0x59c5 022943 branch le_send_device_name ,zero 
+0x59c6 022944 ifetch 1 ,contr 
+0x59c7 022945 sub pdata ,22 ,null 
+0x59c8 022946 branch le_send_att_read_response_less ,positive 
+0x59c9 022947 force 22 ,pdata 
+:      022948 le_send_att_read_response_less:
+0x59ca 022949 copy pdata ,regc 
+0x59cb 022950 call store_contr 
+0x59cc 022951 add regc ,1 ,rega 
+0x59cd 022952 call le_fifo_malloc_tx_l2cap_gatt 
+0x59ce 022953 setarg attop_read_response 
+0x59cf 022954 istore 1 ,contw 
+0x59d0 022955 copy regc ,loopcnt 
+0x59d1 022956 call get_contr 
+0x59d2 022957 branch memcpy 
+:      022959 le_send_device_name:
+0x59d3 022960 call store_contr 
+0x59d4 022961 fetch 1 ,mem_le_name_len 
+0x59d5 022962 add pdata ,1 ,rega 
+0x59d6 022963 call le_fifo_malloc_tx_l2cap_gatt 
+0x59d7 022964 setarg attop_read_response 
+0x59d8 022965 istore 1 ,contw 
+0x59d9 022966 fetch 1 ,mem_le_name_len 
+0x59da 022967 copy pdata ,loopcnt 
+0x59db 022968 arg mem_le_name ,contr 
+0x59dc 022969 branch memcpy 
+:      022972 le_send_att_read_response_check_auth:
+0x59dd 022973 fetch 2 ,mem_le_pairing_handle 
+0x59de 022974 isub temp ,null 
+0x59df 022975 nbranch le_send_att_read_response ,zero 
+0x59e0 022977 call le_check_encrypt_state 
+0x59e1 022978 nbranch le_send_att_read_response ,user 
+0x59e2 022979 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x59e3 022980 branch le_send_att_error_response 
+:      022983 le_parse_att_read_blob_request:
+0x59e4 022984 ifetch 2 ,contr 
+0x59e5 022985 store 2 ,mem_le_att_offset 
+:      022986 le_send_att_read_blob_response:
+0x59e6 022987 arg 20 ,rega 
+0x59e7 022988 call le_fifo_malloc_tx_l2cap_gatt 
+0x59e8 022989 setarg attop_read_blob_response 
+0x59e9 022990 istore 1 ,contw 
+0x59ea 022991 fetch 2 ,mem_le_att_offset 
+0x59eb 022992 iforce rega 
+0x59ec 022993 fetcht 2 ,mem_le_att_handle 
+0x59ed 022994 call le_att_get_handle_ptr 
+0x59ee 022995 branch le_send_att_error_response_notfound ,blank 
+0x59ef 022996 ifetch 1 ,contr 
+0x59f0 022997 isub rega ,loopcnt 
+0x59f1 022998 nbranch le_send_att_error_response_notfound ,positive 
+0x59f2 022999 sub loopcnt ,22 ,null 
+0x59f3 023000 branch le_send_att_read_blob_response_less ,positive 
+0x59f4 023001 force 22 ,loopcnt 
+:      023002 le_send_att_read_blob_response_less:
+0x59f5 023003 deposit rega 
+0x59f6 023004 iadd contr ,contr 
+0x59f7 023005 call memcpy_fast 
+0x59f8 023006 call store_contw 
+0x59f9 023007 branch le_send_auto_len_by_mem 
+:      023010 le_parse_att_read_by_group_type_request:
+0x59fa 023011 call le_get_search_handle_start_end_common 
+0x59fb 023012 call le_get_search_att_type 
+0x59fc 023013 branch le_send_att_read_by_group_type_response 
+:      023018 le_send_att_read_by_group_type_response:
+0x59fd 023019 arg 2 ,timeup 
+0x59fe 023020 fetcht 2 ,mem_le_search_handle_start 
+0x59ff 023024 storet 2 ,mem_temp 
+0x5a00 023025 call le_init_attlist_search 
+0x5a01 023026 call le_att_get_handle_ptr2 
+0x5a02 023027 increase -2 ,contr 
+0x5a03 023028 copy contr ,pdata 
+0x5a04 023029 store 2 ,mem_le_cur_attlist_start_ptr 
+:      023030 le_send_att_read_by_group_type_response_loop:
+0x5a05 023031 call le_att_check_handle_end 
+0x5a06 023032 nbranch le_send_att_read_by_group_type_end0 ,positive 
+0x5a07 023033 fetcht 2 ,mem_temp 
+0x5a08 023034 call le_att_get_handle_info_from_ptr 
+0x5a09 023035 beq 1 ,le_send_att_read_by_group_type_end1 
+0x5a0a 023037 call le_att_same_type 
+0x5a0b 023038 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+0x5a0c 023039 copy timeup ,pdata 
+0x5a0d 023040 beq 0 ,le_send_att_read_by_group_type_end1 
+0x5a0e 023041 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+0x5a0f 023042 disable user 
+0x5a10 023044 arg 20 ,rega 
+0x5a11 023045 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a12 023046 setarg attop_read_by_group_type_response 
+0x5a13 023047 istore 1 ,contw 
+0x5a14 023048 fetch 1 ,mem_le_curr_att_len 
+0x5a15 023049 increase 4 ,pdata 
+0x5a16 023050 istore 1 ,contw 
+0x5a17 023051 call store_contw 
+0x5a18 023052 branch le_send_att_read_by_group_type_store_record 
+:      023053 le_send_att_read_by_group_type_store_write_record:
+0x5a19 023054 fetch 1 ,mem_le_curr_att_len 
+0x5a1a 023055 beq 16 ,le_send_att_read_by_group_type_end1 
+0x5a1b 023056 fetch 2 ,mem_temp 
+0x5a1c 023057 increase -1 ,pdata 
+0x5a1d 023058 store 2 ,mem_le_cur_handle_end 
+0x5a1e 023059 call le_write_att_record 
+:      023060 le_send_att_read_by_group_type_store_record:
+0x5a1f 023061 fetch 2 ,mem_temp 
+0x5a20 023062 store 2 ,mem_le_cur_handle_start 
+0x5a21 023063 call le_store_att_record 
+0x5a22 023064 increase -1 ,timeup 
+:      023066 le_send_att_read_by_group_type_next_handle:
+0x5a23 023067 call le_att_next_handle 
+0x5a24 023068 branch le_send_att_read_by_group_type_response_loop 
+:      023070 le_send_att_read_by_group_type_end0:
+0x5a25 023071 fetch 2 ,mem_temp 
+0x5a26 023072 store 2 ,mem_le_cur_handle_end 
+0x5a27 023073 branch le_send_att_read_by_group_type_end_common 
+:      023074 le_send_att_read_by_group_type_end1:
+0x5a28 023075 fetch 2 ,mem_temp 
+0x5a29 023076 increase -1 ,pdata 
+0x5a2a 023077 store 2 ,mem_le_cur_handle_end 
+0x5a2b 023078 branch le_send_att_read_by_group_type_end_common 
+:      023079 le_send_att_read_by_group_type_end_common:
+0x5a2c 023080 branch le_send_att_error_response_notfound ,user 
+0x5a2d 023081 call le_write_att_record 
+0x5a2e 023082 branch le_send_auto_len_by_mem 
+:      023087 le_parse_att_write_request:
+0x5a2f 023088 copy contr ,rega 
+0x5a30 023089 fetch 2 ,mem_le_l2cap_size 
+0x5a31 023090 add pdata ,-3 ,regb 
+0x5a32 023091 call le_writeatt_cb 
+:      023092 le_send_att_write_response_check_auth:
+0x5a33 023093 fetch 1 ,mem_le_configuration 
+0x5a34 023094 bbit0 bit_ble_write_auth ,le_send_att_write_response 
+0x5a35 023096 fetcht 2 ,mem_le_att_handle 
+0x5a36 023097 fetch 2 ,mem_le_pairing_handle 
+0x5a37 023098 isub temp ,null 
+0x5a38 023099 nbranch le_send_att_write_response ,zero 
+0x5a39 023100 call le_check_encrypt_state 
+0x5a3a 023101 nbranch le_send_att_write_response ,user 
+0x5a3b 023102 jam att_err_insufficient_authentication ,mem_le_err_code 
+0x5a3c 023103 branch le_send_att_error_response 
+:      023105 le_send_att_write_response:
+0x5a3d 023106 force 1 ,rega 
+0x5a3e 023107 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a3f 023108 setarg attop_write_response 
+0x5a40 023109 istore 1 ,contw 
+0x5a41 023110 rtn 
+:      023112 le_check_encrypt_state:
+0x5a42 023113 call disable_user 
+0x5a43 023114 fetch 1 ,mem_le_pairing_mode 
+0x5a44 023115 rtneq le_pairing_mode_none 
+0x5a45 023116 fetch 1 ,mem_context 
+0x5a46 023117 rtnbit1 lestate_encryption 
+0x5a47 023118 branch enable_user 
+:      023121 le_parse_att_prepare_write_request:
+0x5a48 023122 add contr ,2 ,rega 
+0x5a49 023123 fetch 2 ,mem_le_l2cap_size 
+0x5a4a 023124 add pdata ,-5 ,regb 
+0x5a4b 023125 call le_writeatt_cb 
+0x5a4c 023126 branch le_send_att_prepare_write_response 
+:      023129 le_send_att_prepare_write_response:
+0x5a4d 023130 fetch 2 ,mem_le_l2cap_size 
+0x5a4e 023131 copy pdata ,rega 
+0x5a4f 023132 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a50 023133 setarg attop_prepare_write_response 
+0x5a51 023134 istore 1 ,contw 
+0x5a52 023135 fetch 2 ,mem_le_att_handle 
+0x5a53 023136 istore 2 ,contw 
+0x5a54 023137 fetch 2 ,mem_le_l2cap_size 
+0x5a55 023138 add pdata ,-5 ,loopcnt 
+0x5a56 023139 fetch 2 ,mem_le_payload_ptr 
+0x5a57 023140 add pdata ,7 ,contr 
+0x5a58 023141 ifetch 2 ,contr 
+0x5a59 023142 istore 2 ,contw 
+0x5a5a 023143 branch memcpy_fast 
+:      023147 le_parse_att_execute_write_request:
+:      023149 le_send_att_execute_write_response:
+0x5a5b 023150 force 1 ,rega 
+0x5a5c 023151 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a5d 023152 setarg attop_execute_write_response 
+0x5a5e 023153 istore 1 ,contw 
+0x5a5f 023154 rtn 
+:      023158 le_parse_att_write_command:
+0x5a60 023159 copy contr ,rega 
+0x5a61 023160 fetch 2 ,mem_le_l2cap_size 
+0x5a62 023161 add pdata ,-3 ,regb 
+0x5a63 023162 branch le_writeatt_cb 
+:      023167 le_att_malloc_tx_notify:
+0x5a64 023168 copy temp ,regc 
+0x5a65 023169 increase 3 ,rega 
+0x5a66 023170 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a67 023171 increase -3 ,rega 
+0x5a68 023172 setarg attop_handle_value_notification 
+0x5a69 023173 istore 1 ,contw 
+0x5a6a 023174 copy regc ,temp 
+0x5a6b 023175 istoret 2 ,contw 
+0x5a6c 023176 rtn 
+:      023179 le_att_malloc_tx_indication:
+0x5a6d 023180 copy temp ,regc 
+0x5a6e 023181 increase 3 ,rega 
+0x5a6f 023182 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a70 023183 increase -3 ,rega 
+0x5a71 023184 setarg attop_handle_value_indication 
+0x5a72 023185 istore 1 ,contw 
+0x5a73 023186 copy regc ,temp 
+0x5a74 023187 istoret 2 ,contw 
+0x5a75 023188 rtn 
+:      023193 le_send_att_error_response_notfound:
+0x5a76 023194 jam att_err_attribute_not_found ,mem_le_err_code 
+:      023195 le_send_att_error_response:
+0x5a77 023196 force 5 ,rega 
+0x5a78 023197 call le_fifo_malloc_tx_l2cap_gatt 
+0x5a79 023198 setarg attop_error_response 
+0x5a7a 023199 istore 1 ,contw 
+0x5a7b 023200 fetch 1 ,mem_le_att_opcode 
+0x5a7c 023201 istore 1 ,contw 
+0x5a7d 023202 fetch 2 ,mem_le_att_handle 
+0x5a7e 023203 istore 2 ,contw 
+0x5a7f 023204 fetch 1 ,mem_le_err_code 
+0x5a80 023205 istore 1 ,contw 
+0x5a81 023206 rtn 
+:      023209 le_fifo_malloc_tx_l2cap_gatt:
+0x5a82 023210 force le_l2cap_cid_att ,regb 
+0x5a83 023211 branch le_fifo_malloc_tx_l2cap 
+:      023214 le_att_next_handle:
+0x5a84 023215 fetcht 2 ,mem_temp 
+0x5a85 023216 increase 1 ,temp 
+0x5a86 023217 storet 2 ,mem_temp 
+0x5a87 023218 rtn 
+:      023220 le_att_check_handle_end:
+0x5a88 023221 fetcht 2 ,mem_temp 
+0x5a89 023222 fetch 2 ,mem_le_search_handle_end 
+0x5a8a 023223 isub temp ,null 
+0x5a8b 023224 rtn 
+:      023227 le_att_same_type:
+0x5a8c 023228 fetcht 1 ,mem_le_search_att_type_length 
+0x5a8d 023229 arg mem_le_search_att_type ,rega 
+:      023230 le_att_check_same_common:
+0x5a8e 023231 fetch 1 ,mem_le_cur_uuid_length 
+0x5a8f 023232 copy pdata ,loopcnt 
+0x5a90 023233 isub temp ,null 
+0x5a91 023234 nrtn zero 
+0x5a92 023235 arg mem_le_cur_uuid ,regb 
+0x5a93 023236 branch string_compare 
+:      023238 le_att_same_uuid:
+0x5a94 023239 fetcht 1 ,mem_le_search_uuid_length 
+0x5a95 023240 arg mem_le_search_uuid ,rega 
+0x5a96 023241 branch le_att_check_same_common 
+:      023244 le_store_att_record:
+0x5a97 023245 fetch 1 ,mem_le_curr_att_len 
+0x5a98 023246 store 1 ,mem_tmp_buffer 
+0x5a99 023247 copy pdata ,loopcnt 
+0x5a9a 023248 call get_contr 
+0x5a9b 023249 branch memcpy_fast 
+:      023252 le_write_att_record:
+0x5a9c 023253 call get_contw 
+0x5a9d 023254 fetch 2 ,mem_le_cur_handle_start 
+0x5a9e 023255 istore 2 ,contw 
+0x5a9f 023256 fetch 2 ,mem_le_cur_handle_end 
+0x5aa0 023257 istore 2 ,contw 
+:      023258 le_write_att_record_common:
+0x5aa1 023259 fetch 1 ,mem_tmp_buffer 
+0x5aa2 023260 copy pdata ,loopcnt 
+0x5aa3 023261 call memcpy_fast 
+0x5aa4 023262 branch store_contw 
+:      023266 le_send_auto_len_by_mem:
+0x5aa5 023267 call get_contw 
+0x5aa6 023268 call le_fifo_get_last_att_ptr 
+0x5aa7 023269 copy contw ,pdata 
+0x5aa8 023270 isub contr ,rega 
+0x5aa9 023271 call le_fifo_get_last_l2cap_ptr 
+0x5aaa 023272 copy rega ,pdata 
+0x5aab 023273 istore 2 ,contr 
+0x5aac 023274 increase 4 ,rega 
+0x5aad 023275 call le_fifo_get_last_tx_ptr 
+0x5aae 023276 copy rega ,pdata 
+0x5aaf 023277 istore 1 ,contr 
+0x5ab0 023278 rtn 
+:      023281 le_get_search_handle_start_end_common:
+0x5ab1 023282 rshift8 pdata ,pdata 
+0x5ab2 023283 store 2 ,mem_le_search_handle_start 
+0x5ab3 023284 ifetch 2 ,contr 
+0x5ab4 023285 store 2 ,mem_le_search_handle_end 
+0x5ab5 023286 rtn 
+:      023291 le_parse_signaling:
+0x5ab6 023292 ifetch 1 ,contr 
+0x5ab7 023293 ifetcht 1 ,contr 
+0x5ab8 023294 ifetcht 2 ,contr 
+0x5ab9 023295 beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+0x5aba 023296 rtn 
+:      023297 le_l2cap_parse_conn_parameter_update_rsp:
+0x5abb 023298 ifetch 2 ,contr 
+0x5abc 023299 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+0x5abd 023300 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+0x5abe 023301 branch ui_ipc_send_event 
+:      023307 le_l2cap_tx_update_req:
+0x5abf 023308 arg 0x0c ,rega 
+0x5ac0 023309 arg l2cap_connection_parameter_update_request ,regc 
+0x5ac1 023310 call le_fifo_malloc_tx_l2cap_signaling 
+0x5ac2 023311 setarg 0x08 
+0x5ac3 023312 istore 2 ,contw 
+0x5ac4 023313 fetch 8 ,mem_le_interval_min 
+0x5ac5 023314 istore 8 ,contw 
+0x5ac6 023315 rtn 
+:      023319 le_fifo_malloc_tx_l2cap_signaling:
+0x5ac7 023320 call le_l2cap_update_signaling_identifier 
+0x5ac8 023321 arg le_l2cap_cid_signal ,regb 
+0x5ac9 023322 call le_fifo_malloc_tx_l2cap 
+0x5aca 023323 copy regc ,pdata 
+0x5acb 023324 istore 1 ,contw 
+0x5acc 023325 fetch 1 ,mem_le_signaling_identifier 
+0x5acd 023326 istore 1 ,contw 
+0x5ace 023327 rtn 
+:      023330 le_l2cap_update_signaling_identifier:
+0x5acf 023331 fetch 1 ,mem_le_signaling_identifier 
+0x5ad0 023333 pincrease 1 
+0x5ad1 023334 store 1 ,mem_le_signaling_identifier 
+0x5ad2 023335 rtnne 0 
+:      023337 le_l2cap_reset_signaling_identifier:
+0x5ad3 023338 jam 1 ,mem_le_signaling_identifier 
+0x5ad4 023339 rtn 
+:      023344 le_pairing_mode_init:
+0x5ad5 023345 fetch 1 ,mem_le_pairing_mode 
+0x5ad6 023346 beq le_pairing_mode_none ,le_set_no_pairing 
+0x5ad7 023347 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+0x5ad8 023348 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+0x5ad9 023349 beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+0x5ada 023350 beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+0x5adb 023351 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+0x5adc 023352 rtn 
+:      023354 le_set_pairing_mode_secure_justwork:
+0x5add 023355 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ade 023356 branch le_set_noinputnooutput 
+:      023357 le_set_pairing_mode_secure_numeric:
+0x5adf 023358 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ae0 023359 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+0x5ae1 023360 rtn 
+:      023361 le_set_pairing_mode_secure_passkey:
+0x5ae2 023362 jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+0x5ae3 023363 branch le_set_displayonly 
+:      023364 le_set_no_pairing:
+0x5ae4 023365 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+:      023366 le_set_noinputnooutput:
+0x5ae5 023367 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+0x5ae6 023368 rtn 
+:      023369 le_set_pairing_mode_lagacy_just_work:
+0x5ae7 023370 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+0x5ae8 023371 branch le_set_noinputnooutput 
+:      023372 le_set_pairing_mode_lagacy_passkey:
+0x5ae9 023373 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+:      023374 le_set_displayonly:
+0x5aea 023375 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+0x5aeb 023376 rtn 
+:      023379 le_secure_connection_enable:
+0x5aec 023380 fetch 1 ,mem_le_pres_auth 
+0x5aed 023381 set1 le_auth_secure_connection_pairing_bit ,pdata 
+0x5aee 023382 store 1 ,mem_le_pres_auth 
+0x5aef 023383 rtn 
+:      023384 le_secure_connection_disable:
+0x5af0 023385 fetch 1 ,mem_le_pres_auth 
+0x5af1 023386 set0 le_auth_secure_connection_pairing_bit ,pdata 
+0x5af2 023387 store 1 ,mem_le_pres_auth 
+0x5af3 023388 rtn 
+:      023390 le_parse_smp:
+0x5af4 023391 ifetch 1 ,contr 
+0x5af5 023392 beq smp_pairing_request ,le_parse_smp_pairing_request 
+0x5af6 023394 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+0x5af7 023395 beq smp_pairing_random ,le_parse_smp_pairing_random 
+0x5af8 023396 beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+0x5af9 023397 beq smp_encryption_information ,le_parse_smp_encryption_information 
+0x5afa 023398 beq smp_master_identification ,le_parse_smp_master_identification 
+0x5afb 023399 beq smp_identity_information ,le_parse_smp_identity_information 
+0x5afc 023400 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+0x5afd 023401 beq smp_signing_information ,le_parse_smp_signing_information 
+0x5afe 023402 beq smp_security_request ,le_parse_smp_security_request 
+0x5aff 023403 beq smp_pairing_public_key ,le_parse_smp_public_key 
+0x5b00 023404 beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+0x5b01 023405 rtn 
+:      023409 le_send_smp_security_request:
+0x5b02 023410 force 2 ,rega 
+0x5b03 023411 call le_fifo_malloc_tx_l2cap_smp 
+0x5b04 023412 setarg smp_security_request 
+0x5b05 023413 istore 1 ,contw 
+0x5b06 023414 fetch 1 ,mem_le_pres_auth 
+0x5b07 023415 istore 1 ,contw 
+0x5b08 023416 rtn 
+:      023418 le_parse_smp_pairing_request:
+0x5b09 023419 store 1 ,mem_le_preq 
+0x5b0a 023420 ifetch 6 ,contr 
+0x5b0b 023421 istore 6 ,contw 
+0x5b0c 023422 fetch 1 ,mem_le_pairing_mode 
+0x5b0d 023423 beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+0x5b0e 023424 call le_send_smp_pairing_response 
+0x5b0f 023425 call le_check_master_support_secure_connect 
+0x5b10 023426 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+0x5b11 023427 fetch 1 ,mem_le_preq_iocap 
+0x5b12 023428 beq flag_iocap_displayonly ,le_set_tk_0 
+0x5b13 023429 beq flag_iocap_displayyesno ,le_set_tk_0 
+0x5b14 023430 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+0x5b15 023431 fetch 1 ,mem_le_pairing_mode 
+0x5b16 023432 beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+0x5b17 023433 rtneq le_pairing_mode_secure_connect_passkey 
+:      023434 le_set_tk_0:
+0x5b18 023435 arg 0 ,pdata 
+0x5b19 023436 store 4 ,mem_le_tk 
+0x5b1a 023437 rtn 
+:      023439 le_parse_smp_pairing_req_passkey:
+0x5b1b 023440 fetch 1 ,mem_le_configuration 
+0x5b1c 023441 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+:      023442 le_genernate_tk:
+0x5b1d 023443 arg mem_le_tk ,rega 
+0x5b1e 023444 copy rega ,contw 
+0x5b1f 023445 arg 3 ,loopcnt 
+0x5b20 023446 call generate_random_loop 
+0x5b21 023447 fetch 2 ,mem_le_tk + 2 
+0x5b22 023448 and_into 0x7 ,pdata 
+0x5b23 023449 store 2 ,mem_le_tk + 2 
+:      023450 le_parse_smp_pairing_req_fixed_passkey:
+0x5b24 023451 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+0x5b25 023452 branch ui_ipc_send_event 
+:      023454 le_check_master_support_secure_connect:
+0x5b26 023455 fetch 1 ,mem_le_preq_auth 
+0x5b27 023456 rtnbit1 le_auth_secure_connection_pairing_bit 
+0x5b28 023457 fetch 1 ,mem_le_pairing_mode 
+0x5b29 023458 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5b2a 023459 branch app_ble_disconnect 
+:      023461 le_send_smp_pairing_response:
+0x5b2b 023462 force 7 ,rega 
+0x5b2c 023463 call le_fifo_malloc_tx_l2cap_smp 
+0x5b2d 023464 fetch 7 ,mem_le_pres 
+0x5b2e 023465 istore 7 ,contw 
+0x5b2f 023466 rtn 
+:      023469 le_parse_smp_pairing_confirm:
+0x5b30 023470 copy contr ,rega 
+0x5b31 023471 fetch 1 ,mem_le_pairing_mode 
+0x5b32 023472 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+0x5b33 023473 copy rega ,contr 
+0x5b34 023474 arg mem_le_rconfirm ,contw 
+0x5b35 023475 call memcpy16 
+0x5b36 023476 branch le_send_smp_pairing_confirm 
+:      023477 le_parse_smp_pairing_confirm_secure_passkey:
+0x5b37 023478 copy rega ,contr 
+0x5b38 023479 arg mem_le_rconfirm ,contw 
+0x5b39 023480 call memcpy16 
+0x5b3a 023481 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5b3b 023482 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+0x5b3c 023483 rtn 
+:      023486 le_send_smp_pairing_confirm:
+0x5b3d 023487 fetch 1 ,mem_le_pairing_mode 
+0x5b3e 023488 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+0x5b3f 023489 call generate_confirm 
+0x5b40 023490 force 17 ,rega 
+0x5b41 023491 call le_fifo_malloc_tx_l2cap_smp 
+0x5b42 023492 setarg smp_pairing_confirm 
+0x5b43 023493 istore 1 ,contw 
+0x5b44 023494 branch store_aes_result 
+:      023497 le_send_smp_pairing_confirm_sc:
+0x5b45 023498 arg mem_le_srand ,contw 
+0x5b46 023499 call generate_random 
+0x5b47 023500 call function_f4_cb 
+0x5b48 023501 force 17 ,rega 
+0x5b49 023502 call le_fifo_malloc_tx_l2cap_smp 
+0x5b4a 023503 setarg smp_pairing_confirm 
+0x5b4b 023504 istore 1 ,contw 
+0x5b4c 023505 branch load_inverse_result 
+:      023509 le_parse_smp_pairing_random:
+0x5b4d 023510 copy contr ,rega 
+0x5b4e 023511 fetch 1 ,mem_le_pairing_mode 
+0x5b4f 023512 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+0x5b50 023513 copy rega ,contr 
+0x5b51 023514 call authenticate_rconfirm 
+0x5b52 023515 branch le_parse_smp_pairing_random_success ,zero 
+:      023516 le_send_pairing_confirm_value_failed:
+0x5b53 023517 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+:      023518 le_send_pairing_failed:
+0x5b54 023519 force 2 ,rega 
+0x5b55 023520 call le_fifo_malloc_tx_l2cap_smp 
+0x5b56 023521 setarg smp_pairing_failed 
+0x5b57 023522 istore 1 ,contw 
+0x5b58 023523 fetch 1 ,mem_le_ll_pairing_fail_reason 
+0x5b59 023524 istore 1 ,contw 
+:      023525 le_parse_smp_pairing_failed:
+0x5b5a 023526 force smp_pairing_timer ,queue 
+0x5b5b 023527 call timer_stop 
+0x5b5c 023528 jam flag_le_pairing_null ,mem_le_pairing_state 
+0x5b5d 023529 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+0x5b5e 023530 branch ui_ipc_send_event 
+:      023532 le_smp_pairing_fail_reason_not_support_pairing:
+0x5b5f 023533 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+0x5b60 023534 branch le_send_pairing_failed 
+:      023537 le_parse_smp_pairing_random_sc:
+0x5b61 023538 arg mem_le_mrand ,contw 
+0x5b62 023539 copy rega ,contr 
+0x5b63 023540 call memcpy16 
+0x5b64 023541 fetch 1 ,mem_le_pairing_mode 
+0x5b65 023542 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+0x5b66 023543 call function_g2 
+0x5b67 023546 call le_send_smp_pairing_random 
+0x5b68 023547 fetch 1 ,mem_le_pairing_mode 
+0x5b69 023548 rtnne le_pairing_mode_secure_connect_numeric 
+0x5b6a 023549 jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+0x5b6b 023550 branch ui_ipc_send_event 
+:      023552 le_parse_smp_pairing_random_sc_passkey:
+0x5b6c 023553 call function_f4_ca 
+0x5b6d 023554 arg mem_aes_cmac_temp ,contw 
+0x5b6e 023555 call load_inverse_result 
+0x5b6f 023556 arg mem_aes_cmac_temp ,rega 
+0x5b70 023557 arg mem_le_rconfirm ,regb 
+0x5b71 023558 arg 16 ,loopcnt 
+0x5b72 023559 call string_compare 
+0x5b73 023560 nbranch le_send_pairing_confirm_value_failed ,zero 
+0x5b74 023561 branch le_send_smp_pairing_random 
+:      023563 le_parse_smp_pairing_random_success:
+0x5b75 023564 call generate_stk 
+0x5b76 023565 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5b77 023566 call ui_ipc_send_event 
+0x5b78 023567 jam 1 ,mem_ltk_exists 
+0x5b79 023568 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+:      023570 le_send_smp_pairing_random:
+0x5b7a 023571 force 17 ,rega 
+0x5b7b 023572 call le_fifo_malloc_tx_l2cap_smp 
+0x5b7c 023573 setarg smp_pairing_random 
+0x5b7d 023574 istore 1 ,contw 
+0x5b7e 023575 arg mem_le_srand ,contr 
+0x5b7f 023576 branch memcpy16 
+:      023578 le_parse_smp_encryption_information:
+0x5b80 023579 arg mem_le_peer_ltk ,contw 
+0x5b81 023580 branch memcpy16 
+:      023582 le_send_smp_encryption_information:
+0x5b82 023583 force 17 ,rega 
+0x5b83 023584 call le_fifo_malloc_tx_l2cap_smp 
+0x5b84 023585 setarg smp_encryption_information 
+0x5b85 023586 istore 1 ,contw 
+0x5b86 023587 fetch 1 ,mem_le_configuration 
+0x5b87 023588 bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+0x5b88 023589 arg mem_le_ltk ,contr 
+0x5b89 023590 branch memcpy16 
+:      023592 le_send_fixed_ltk:
+0x5b8a 023593 arg mem_le_fixed_ltk ,contr 
+0x5b8b 023594 branch memcpy16 
+:      023597 le_send_smp_master_identification:
+0x5b8c 023598 arg mem_le_ediv ,contw 
+0x5b8d 023599 force 10 ,loopcnt 
+0x5b8e 023600 call generate_random_loop 
+0x5b8f 023601 force 11 ,rega 
+0x5b90 023602 call le_fifo_malloc_tx_l2cap_smp 
+0x5b91 023603 setarg smp_master_identification 
+0x5b92 023604 istore 1 ,contw 
+0x5b93 023605 fetch 2 ,mem_le_ediv 
+0x5b94 023606 istore 2 ,contw 
+0x5b95 023607 fetch 8 ,mem_le_rand 
+0x5b96 023608 istore 8 ,contw 
+0x5b97 023609 rtn 
+:      023611 le_send_smp_identity_information:
+0x5b98 023612 force 17 ,rega 
+0x5b99 023613 call le_fifo_malloc_tx_l2cap_smp 
+0x5b9a 023614 setarg smp_identity_information 
+0x5b9b 023615 istore 1 ,contw 
+0x5b9c 023616 setarg 0 
+0x5b9d 023617 istore 8 ,contw 
+0x5b9e 023618 istore 8 ,contw 
+0x5b9f 023619 rtn 
+:      023622 le_send_smp_identity_address_information:
+0x5ba0 023623 force 8 ,rega 
+0x5ba1 023624 call le_fifo_malloc_tx_l2cap_smp 
+0x5ba2 023625 setarg smp_identity_address_information 
+0x5ba3 023626 istore 1 ,contw 
+0x5ba4 023627 fetch 1 ,mem_le_conn_own_addr_type 
+0x5ba5 023628 istore 1 ,contw 
+0x5ba6 023629 fetch 6 ,mem_le_lap 
+0x5ba7 023630 istore 6 ,contw 
+0x5ba8 023631 rtn 
+:      023634 le_send_pairing_fail_unspecified_reason:
+0x5ba9 023635 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+0x5baa 023636 branch le_send_pairing_failed 
+:      023638 le_check_init_key_distribution:
+0x5bab 023639 fetch 1 ,mem_le_pres_init_key_distribution 
+0x5bac 023640 fetcht 1 ,mem_le_pres_init_key_distribution 
+0x5bad 023641 iand temp ,pdata 
+0x5bae 023642 rtn 
+:      023644 le_parse_smp_identity_information:
+0x5baf 023645 arg mem_le_irk ,contw 
+0x5bb0 023646 call memcpy16 
+0x5bb1 023647 call le_check_init_key_distribution 
+0x5bb2 023648 isolate0 le_initator_irk_bit ,pdata 
+0x5bb3 023649 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5bb4 023650 fetch 1 ,mem_device_option 
+0x5bb5 023651 rtnne dvc_op_module 
+0x5bb6 023652 call le_check_master_addr_type 
+0x5bb7 023653 nrtn user 
+0x5bb8 023654 branch app_ble_store_reconn_info 
+:      023657 le_check_master_addr_type:
+0x5bb9 023658 call disable_user 
+0x5bba 023659 fetch 1 ,mem_le_conn_peer_addr_type 
+0x5bbb 023660 rtneq master_public_addr 
+0x5bbc 023661 fetch 1 ,mem_le_plap + 5 
+0x5bbd 023662 compare 0xc0 ,pdata ,0xc0 
+0x5bbe 023663 rtn true 
+0x5bbf 023664 branch enable_user 
+:      023666 le_parse_smp_identity_address_information:
+0x5bc0 023667 call le_check_init_key_distribution 
+0x5bc1 023668 isolate0 le_initator_irk_bit ,pdata 
+0x5bc2 023669 branch le_send_pairing_fail_unspecified_reason ,true 
+0x5bc3 023670 rtn 
+:      023672 le_parse_smp_master_identification:
+:      023673 le_parse_smp_signing_information:
+:      023674 le_parse_smp_security_request:
+0x5bc4 023675 rtn 
+:      023677 le_parse_smp_public_key:
+0x5bc5 023678 arg mem_le_pubkey_remote_x_256 ,contw 
+0x5bc6 023679 call memcpy64 
+0x5bc7 023680 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5bc8 023681 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+0x5bc9 023682 rtn 
+:      023684 le_parse_smp_dhkey_check:
+0x5bca 023685 arg mem_sp_confirm_remote ,contw 
+0x5bcb 023686 call memcpy16 
+0x5bcc 023687 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+0x5bcd 023688 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5bce 023689 rtn 
+:      023691 le_send_smp_pairing_public_key:
+0x5bcf 023692 force 65 ,rega 
+0x5bd0 023693 call le_fifo_malloc_tx_l2cap_smp 
+0x5bd1 023694 setarg smp_pairing_public_key 
+0x5bd2 023695 istore 1 ,contw 
+0x5bd3 023696 arg mem_le_pubkey_local_x_256 ,contr 
+0x5bd4 023697 branch memcpy64 
+:      023699 le_send_smp_pairing_dhkey_check:
+0x5bd5 023700 call function_f6_eb 
+0x5bd6 023701 force 17 ,rega 
+0x5bd7 023702 call le_fifo_malloc_tx_l2cap_smp 
+0x5bd8 023703 setarg smp_pairing_dhkey_check 
+0x5bd9 023704 istore 1 ,contw 
+0x5bda 023705 branch load_inverse_result 
+:      023708 le_check_paring_time:
+0x5bdb 023709 fetch 1 ,mem_le_pairing_state 
+0x5bdc 023710 rtneq flag_le_pairing_end 
+0x5bdd 023711 arg flag_le_pairing_rcv_pairing_req ,temp 
+0x5bde 023712 isub temp ,null 
+0x5bdf 023713 nrtn positive 
+0x5be0 023714 arg smp_pairing_timer ,queue 
+0x5be1 023715 call timer_check 
+0x5be2 023716 nrtn blank 
+0x5be3 023717 branch le_send_pairing_fail_unspecified_reason 
+:      023719 le_pairing_sm:
+0x5be4 023720 bpatchx patch2f_0 ,mem_patch2f 
+0x5be5 023721 fetch 1 ,mem_le_pairing_state 
+0x5be6 023722 beq flag_le_pairing_null ,le_pairing_sm_null 
+0x5be7 023723 beq flag_le_pairing_start ,le_pairing_sm_start 
+0x5be8 023724 beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+0x5be9 023725 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+0x5bea 023726 beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+0x5beb 023727 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+0x5bec 023728 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+0x5bed 023729 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+0x5bee 023730 rtn 
+:      023732 le_pairing_sm_null:
+:      023733 le_pairing_sm_send_sec_req:
+0x5bef 023734 fetch 1 ,mem_le_enc_state 
+0x5bf0 023735 rtnne flag_le_send_start_enc_rsp 
+0x5bf1 023736 jam flag_le_enc_end ,mem_le_enc_state 
+0x5bf2 023737 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5bf3 023738 jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+0x5bf4 023739 branch ui_ipc_send_event 
+:      023742 le_pairing_sm_start:
+0x5bf5 023743 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+0x5bf6 023744 branch le_send_smp_security_request 
+:      023746 le_pairing_sm_rcv_pairing_req:
+0x5bf7 023747 jam flag_le_pairing_auth ,mem_le_pairing_state 
+0x5bf8 023748 setarg timer_smp_pairing_timeout 
+0x5bf9 023749 arg smp_pairing_timer ,queue 
+0x5bfa 023750 branch timer_init 
+:      023752 le_pairing_sm_after_auth:
+0x5bfb 023753 fetch 1 ,mem_le_enc_state 
+0x5bfc 023754 beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+0x5bfd 023755 rtn 
+:      023757 le_pairing_sm_after_auth_start_enc:
+0x5bfe 023758 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+0x5bff 023759 jam bt_evt_le_enc_info ,mem_fifo_temp 
+0x5c00 023760 call ui_ipc_send_event 
+0x5c01 023761 call le_send_smp_encryption_information 
+0x5c02 023762 fetch 1 ,mem_device_option 
+0x5c03 023763 rtnne dvc_op_module 
+0x5c04 023764 call le_check_master_addr_type 
+0x5c05 023765 rtn user 
+0x5c06 023766 branch app_ble_store_reconn_info 
+:      023769 le_pairng_sm_send_enc_information:
+0x5c07 023770 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+0x5c08 023771 branch le_send_smp_master_identification 
+:      023773 le_pairng_sm_send_master_indentification:
+0x5c09 023774 fetch 1 ,mem_le_preq_resp_key_distribution 
+0x5c0a 023775 fetcht 1 ,mem_le_pres_resp_key_distribution 
+0x5c0b 023776 iand temp ,pdata 
+0x5c0c 023777 isolate0 le_initator_irk_bit ,pdata 
+0x5c0d 023778 branch le_parse_start_enc_rsp_after_auth_end ,true 
+0x5c0e 023779 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+0x5c0f 023780 branch le_send_smp_identity_information 
+:      023782 le_pairng_sm_send_indentity_information:
+0x5c10 023783 call le_send_smp_identity_address_information 
+0x5c11 023784 branch le_parse_start_enc_rsp_after_auth_end 
+:      023787 le_parse_start_enc_rsp_after_auth_end:
+0x5c12 023788 force smp_pairing_timer ,queue 
+0x5c13 023789 call timer_stop 
+0x5c14 023790 jam flag_le_enc_end ,mem_le_enc_state 
+0x5c15 023791 jam flag_le_pairing_end ,mem_le_pairing_state 
+0x5c16 023792 jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+0x5c17 023793 branch ui_ipc_send_event 
+:      023797 le_secure_connect_sm:
+0x5c18 023798 bpatchx patch2f_1 ,mem_patch2f 
+0x5c19 023799 fetch 1 ,mem_le_pairing_mode 
+0x5c1a 023800 rtnbit0 le_pairing_mode_secure_connect_bit 
+0x5c1b 023801 fetch 1 ,mem_le_secure_connect_flag 
+0x5c1c 023802 rtnne le_sp_flag_commit_256 
+0x5c1d 023803 jam sp_flag_standby ,mem_le_secure_connect_flag 
+0x5c1e 023804 fetch 1 ,mem_le_secure_connect_state 
+0x5c1f 023805 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+0x5c20 023806 beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+0x5c21 023807 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+0x5c22 023808 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+0x5c23 023809 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+0x5c24 023810 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+0x5c25 023811 rtn 
+:      023814 le_sc_sm_passkey_wait_confirm:
+0x5c26 023815 fetch 1 ,mem_authentication_passkey_times 
+0x5c27 023816 copy pdata ,queue 
+0x5c28 023817 increase 1 ,pdata 
+0x5c29 023818 store 1 ,mem_authentication_passkey_times 
+0x5c2a 023819 fetch 4 ,mem_le_tk 
+0x5c2b 023820 qisolate1 pdata 
+0x5c2c 023821 setarg 0x80 
+0x5c2d 023822 setflag true ,0 ,pdata 
+0x5c2e 023823 store 1 ,mem_passkey_1bit 
+0x5c2f 023824 branch le_sc_sm_ready_send_pairing_confirm 
+:      023826 le_sc_sm_wait_confirm_gkey:
+0x5c30 023827 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+0x5c31 023828 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+0x5c32 023829 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+0x5c33 023830 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c34 023831 rtn 
+:      023833 le_sc_confirm_gkey_ok:
+0x5c35 023834 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+0x5c36 023835 call ui_ipc_send_event 
+0x5c37 023836 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+0x5c38 023837 branch le_send_smp_pairing_dhkey_check 
+:      023839 le_sc_sm_receive_dhkey:
+0x5c39 023840 fetch 1 ,mem_sp_dhkey_invalid 
+0x5c3a 023841 beq sp_key_valid_256 ,le_dhkey_ready 
+0x5c3b 023842 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c3c 023843 rtn 
+:      023845 le_dhkey_ready:
+0x5c3d 023846 call function_f5 
+0x5c3e 023850 fetch 1 ,mem_le_pairing_mode 
+0x5c3f 023851 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+0x5c40 023852 call le_set_tk_0 
+:      023853 le_dhkey_ready_common:
+0x5c41 023854 call function_f6_ea 
+0x5c42 023855 arg mem_aes_cmac_temp ,rega 
+0x5c43 023856 arg mem_sp_confirm_remote ,regb 
+0x5c44 023857 arg 16 ,loopcnt 
+0x5c45 023858 call string_compare 
+0x5c46 023859 branch le_dhkey_check_ok ,zero 
+:      023860 le_dhkey_check_fail:
+0x5c47 023861 jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+0x5c48 023862 branch le_send_pairing_failed 
+:      023865 le_dhkey_check_ok:
+0x5c49 023866 call sp_calc_check_publickey_256 
+0x5c4a 023867 nbranch le_dhkey_check_fail ,zero 
+0x5c4b 023868 jam 1 ,mem_ltk_exists 
+0x5c4c 023869 fetch 1 ,mem_le_pairing_mode 
+0x5c4d 023870 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+0x5c4e 023871 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+0x5c4f 023872 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c50 023873 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+0x5c51 023874 rtn 
+:      023876 le_sc_sm_send_public_key:
+0x5c52 023877 fetch 1 ,mem_le_pairing_mode 
+0x5c53 023878 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+0x5c54 023879 jam 0 ,mem_passkey_1bit 
+:      023880 le_sc_sm_ready_send_pairing_confirm:
+0x5c55 023881 branch le_send_smp_pairing_confirm 
+:      023883 le_sc_sm_send_public_key_passkey:
+0x5c56 023887 jam 0 ,mem_authentication_passkey_times 
+0x5c57 023888 branch le_parse_smp_pairing_req_passkey 
+:      023891 le_sc_sm_receive_public_key:
+0x5c58 023892 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c59 023893 fetch 1 ,mem_le_sc_local_key_invalid 
+0x5c5a 023894 beq sp_key_valid_256 ,le_public_key_ready 
+0x5c5b 023896 rtn 
+:      023898 le_public_key_ready:
+0x5c5c 023899 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+0x5c5d 023900 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+0x5c5e 023901 branch sp_dhkey_calc_256 
+:      023903 le_sc_sm_wait_send_public_key:
+0x5c5f 023904 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+0x5c60 023905 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+0x5c61 023906 branch le_send_smp_pairing_public_key 
+:      023910 le_fifo_malloc_tx_l2cap_smp:
+0x5c62 023911 force le_l2cap_cid_smp ,regb 
+0x5c63 023912 branch le_fifo_malloc_tx_l2cap 
+:      023916 le_parse_ll:
+0x5c64 023917 fetch 1 ,mem_le_rxbuf + 2 
+0x5c65 023918 beq ll_connection_update_req ,le_parse_connection_update_req 
+0x5c66 023919 beq ll_channel_map_req ,le_parse_channel_map_req 
+0x5c67 023920 beq ll_terminate_ind ,le_parse_terminate_ind 
+0x5c68 023921 beq ll_enc_req ,le_parse_enc_req 
+0x5c69 023922 beq ll_enc_rsp ,le_parse_enc_rsp 
+0x5c6a 023923 beq ll_start_enc_req ,le_parse_start_enc_req 
+0x5c6b 023924 beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+0x5c6c 023925 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+0x5c6d 023926 beq ll_feature_req ,le_parse_feature_req 
+0x5c6e 023927 beq ll_feature_rsp ,le_parse_feature_rsp 
+0x5c6f 023928 beq ll_pause_enc_req ,le_parse_pause_enc_req 
+0x5c70 023929 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+0x5c71 023930 beq ll_version_ind ,le_parse_version_ind 
+0x5c72 023931 beq ll_reject_ind ,le_parse_reject_ind 
+0x5c73 023932 beq ll_ping_req ,le_parse_ping_req 
+0x5c74 023933 beq ll_ping_rsp ,le_parse_ping_rsp 
+0x5c75 023934 arg 2 ,rega 
+0x5c76 023935 arg ll_unknown_rsp ,regb 
+0x5c77 023936 call le_fifo_malloc_tx_ll 
+0x5c78 023937 fetch 1 ,mem_le_rxbuf + 2 
+0x5c79 023938 istore 1 ,contw 
+0x5c7a 023939 rtn 
+:      023942 le_parse_connection_update_req:
+0x5c7b 023943 ifetch 9 ,contr 
+0x5c7c 023944 store 9 ,mem_le_new_param 
+0x5c7d 023945 ifetch 2 ,contr 
+0x5c7e 023946 store 2 ,mem_le_instant 
+0x5c7f 023947 fetch 1 ,mem_le_state 
+0x5c80 023948 set1 lestate_update_param ,pdata 
+0x5c81 023949 store 1 ,mem_le_state 
+0x5c82 023950 rtn 
+:      023952 le_parse_channel_map_req:
+0x5c83 023953 ifetch 5 ,contr 
+0x5c84 023954 store 5 ,mem_le_new_map 
+0x5c85 023955 ifetch 2 ,contr 
+0x5c86 023956 store 2 ,mem_le_instant 
+0x5c87 023957 fetcht 2 ,mem_le_event_count 
+0x5c88 023958 isub temp ,null 
+0x5c89 023959 nbranch le_parse_terminate_ind ,positive 
+0x5c8a 023960 fetch 1 ,mem_le_state 
+0x5c8b 023961 set1 lestate_update_map ,pdata 
+0x5c8c 023962 store 1 ,mem_le_state 
+0x5c8d 023963 rtn 
+:      023966 le_parse_terminate_ind:
+0x5c8e 023967 setarg 20 
+0x5c8f 023968 store 2 ,mem_le_superto 
+0x5c90 023969 store 2 ,mem_le_init_superto 
+0x5c91 023970 rtn 
+:      023972 le_send_terminate_ind_user_terminated:
+0x5c92 023973 arg error_remote_user_terminated_connection ,regc 
+:      023976 le_send_terminate_ind:
+0x5c93 023977 arg 2 ,rega 
+0x5c94 023978 arg ll_terminate_ind ,regb 
+0x5c95 023979 call le_fifo_malloc_tx_ll 
+0x5c96 023980 copy regc ,pdata 
+0x5c97 023981 istore 1 ,contw 
+0x5c98 023982 rtn 
+:      023984 le_parse_feature_req:
+:      023986 le_send_feature_rsp:
+0x5c99 023987 arg 9 ,rega 
+0x5c9a 023988 arg ll_feature_rsp ,regb 
+0x5c9b 023989 call le_fifo_malloc_tx_ll 
+0x5c9c 023990 setarg param_le_features 
+0x5c9d 023991 istore 8 ,contw 
+0x5c9e 023992 rtn 
+:      023995 le_parse_version_ind:
+0x5c9f 023996 rtn master 
+:      023997 le_send_version_ind:
+0x5ca0 023998 arg 6 ,rega 
+0x5ca1 023999 arg ll_version_ind ,regb 
+0x5ca2 024000 call le_fifo_malloc_tx_ll 
+0x5ca3 024001 fetch 5 ,mem_lmp_version 
+0x5ca4 024002 istore 5 ,contw 
+0x5ca5 024003 rtn 
+:      024006 le_parse_ping_req:
+0x5ca6 024007 arg ll_ping_rsp ,regb 
+0x5ca7 024008 branch le_send_ll_one_lenth 
+:      024011 le_send_ll_one_lenth:
+0x5ca8 024012 arg 1 ,rega 
+0x5ca9 024013 branch le_fifo_malloc_tx_ll 
+:      024016 le_parse_enc_req:
+0x5caa 024017 ifetch 8 ,contr 
+0x5cab 024018 store 8 ,mem_le_rand 
+0x5cac 024019 ifetch 2 ,contr 
+0x5cad 024020 store 2 ,mem_le_ediv 
+0x5cae 024021 ifetch 8 ,contr 
+0x5caf 024022 store 8 ,mem_le_skdm 
+0x5cb0 024023 ifetch 4 ,contr 
+0x5cb1 024024 store 4 ,mem_le_ivm 
+0x5cb2 024025 call le_send_enc_rsp 
+0x5cb3 024026 bpatchx patch2f_2 ,mem_patch2f 
+0x5cb4 024027 fetch 1 ,mem_le_pairing_state 
+0x5cb5 024028 beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+0x5cb6 024029 fetch 1 ,mem_le_configuration 
+0x5cb7 024030 bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+0x5cb8 024031 fetch 1 ,mem_nv_data_number 
+0x5cb9 024032 ncall load_device_list_mode_4 ,blank 
+0x5cba 024033 fetch 1 ,mem_ltk_exists 
+0x5cbb 024034 beq 0 ,le_ltk_lost 
+:      024035 le_parse_enc_req_after_auth:
+0x5cbc 024036 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+0x5cbd 024037 call le_send_start_enc_req 
+0x5cbe 024038 branch generate_sk 
+:      024040 le_parse_enc_req_fixed_ltk:
+0x5cbf 024041 jam 1 ,mem_ltk_exists 
+0x5cc0 024042 arg mem_le_fixed_ltk ,contr 
+0x5cc1 024043 arg mem_le_ltk ,contw 
+0x5cc2 024044 call memcpy16 
+0x5cc3 024045 branch le_parse_enc_req_after_auth 
+:      024048 le_ltk_lost:
+0x5cc4 024049 bpatchx patch2f_3 ,mem_patch2f 
+0x5cc5 024050 jam flag_le_enc_null ,mem_le_enc_state 
+0x5cc6 024051 jam flag_le_enc_null ,mem_le_pairing_state 
+0x5cc7 024052 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+0x5cc8 024053 branch ui_ipc_send_event 
+:      024055 le_send_reject_ind:
+0x5cc9 024056 arg 2 ,rega 
+0x5cca 024057 arg ll_reject_ind ,regb 
+0x5ccb 024058 call le_fifo_malloc_tx_ll 
+0x5ccc 024059 setarg le_err_pin_or_key_missing 
+0x5ccd 024060 istore 1 ,contw 
+0x5cce 024061 rtn 
+:      024063 le_send_enc_rsp:
+0x5ccf 024064 arg mem_le_skds ,contw 
+0x5cd0 024065 force 8 ,loopcnt 
+0x5cd1 024066 call generate_random_loop 
+0x5cd2 024067 arg mem_le_ivs ,contw 
+0x5cd3 024068 force 4 ,loopcnt 
+0x5cd4 024069 call generate_random_loop 
+0x5cd5 024070 arg 13 ,rega 
+0x5cd6 024071 arg ll_enc_rsp ,regb 
+0x5cd7 024072 call le_fifo_malloc_tx_ll 
+0x5cd8 024073 fetch 8 ,mem_le_skds 
+0x5cd9 024074 istore 8 ,contw 
+0x5cda 024075 fetch 4 ,mem_le_ivs 
+0x5cdb 024076 istore 4 ,contw 
+0x5cdc 024077 rtn 
+:      024079 le_send_start_enc_req:
+0x5cdd 024080 arg ll_start_enc_req ,regb 
+0x5cde 024081 branch le_send_ll_one_lenth 
+:      024083 le_send_start_enc_rsp:
+0x5cdf 024084 arg ll_start_enc_rsp ,regb 
+0x5ce0 024085 branch le_send_ll_one_lenth 
+:      024088 le_parse_enc_rsp:
+0x5ce1 024089 ifetch 8 ,contr 
+0x5ce2 024090 store 8 ,mem_le_skds 
+0x5ce3 024091 ifetch 4 ,contr 
+0x5ce4 024092 store 4 ,mem_le_ivs 
+0x5ce5 024093 branch generate_sk 
+:      024095 le_parse_start_enc_req:
+0x5ce6 024096 fetch 1 ,mem_le_state 
+0x5ce7 024097 set1 lestate_encryption ,pdata 
+0x5ce8 024098 store 1 ,mem_le_state 
+0x5ce9 024099 rtn 
+:      024101 le_parse_start_enc_rsp:
+0x5cea 024102 rtn master 
+0x5ceb 024103 jam bt_evt_le_start_enc ,mem_fifo_temp 
+0x5cec 024104 call ui_ipc_send_event 
+0x5ced 024105 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+0x5cee 024106 branch le_send_start_enc_rsp 
+:      024108 le_parse_pause_enc_req:
+0x5cef 024109 jam flag_le_enc_pause ,mem_le_enc_state 
+0x5cf0 024110 call le_send_pause_enc_rsp 
+0x5cf1 024111 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+0x5cf2 024112 branch ui_ipc_send_event 
+:      024114 le_send_pause_enc_rsp:
+0x5cf3 024115 arg ll_pause_enc_rsp ,regb 
+0x5cf4 024116 branch le_send_ll_one_lenth 
+:      024119 le_parse_feature_rsp:
+:      024120 le_parse_unknown_rsp:
+:      024121 le_parse_pause_enc_rsp:
+:      024122 le_parse_reject_ind:
+:      024123 le_parse_ping_rsp:
+0x5cf5 024124 rtn 
+:      024131 init_lmp:
+0x5cf6 024132 rtn wake 
+:      024133 init_lmp_work:
+0x5cf7 024134 bpatchx patch2f_4 ,mem_patch2f 
+0x5cf8 024135 setarg 0 
+0x5cf9 024136 store 1 ,mem_lmp_to_send 
+0x5cfa 024137 store 1 ,mem_conn_sm 
+0x5cfb 024138 store 1 ,mem_lmo_opcode1 
+0x5cfc 024139 store 1 ,mem_lmo_opcode2 
+0x5cfd 024140 store 1 ,mem_esco_addr 
+0x5cfe 024141 store 1 ,mem_auth_enable 
+0x5cff 024142 store 1 ,mem_connection_options 
+0x5d00 024143 store 1 ,mem_pairing_auth 
+0x5d01 024144 jam switch_flag_init ,mem_switch_flag 
+0x5d02 024145 jam 0 ,mem_switch_fail_master_count 
+0x5d03 024146 jam null_encryp ,mem_wait_encryption 
+:      024147 init_lmp_reinit:
+0x5d04 024148 jam 0 ,mem_pairing_auth 
+0x5d05 024149 jam 0 ,mem_sp_localsm 
+0x5d06 024150 jam 0 ,mem_lmp_conn_state 
+:      024152 parse_rx_done:
+0x5d07 024153 rtn 
+:      024155 parse_lmp:
+0x5d08 024156 bpatchx patch2f_5 ,mem_patch2f 
+0x5d09 024157 call setlocalsm_master ,master 
+0x5d0a 024158 ncall setlocalsm_slave ,master 
+0x5d0b 024159 call lmo_fifo_check 
+0x5d0c 024160 nrtn blank 
+0x5d0d 024161 fetch 1 ,mem_state_map 
+0x5d0e 024162 rtnbit0 smap_rxlmp 
+0x5d0f 024163 set0 smap_rxlmp ,pdata 
+0x5d10 024164 set0 mark_rxbuf_inuse ,mark 
+0x5d11 024165 store 1 ,mem_state_map 
+0x5d12 024166 fetch 1 ,mem_rxbuf 
+0x5d13 024167 fetcht 1 ,mem_state_map 
+0x5d14 024168 isolate1 smap_lmptidinit ,pdata 
+0x5d15 024169 setflag true ,smap_lmptid ,temp 
+0x5d16 024170 storet 1 ,mem_state_map 
+0x5d17 024171 and_into 0x2 ,temp 
+0x5d18 024172 storet 1 ,mem_lmo_tid2 
+0x5d19 024173 fetcht 1 ,mem_state_map 
+0x5d1a 024174 rshift pdata ,pdata 
+0x5d1b 024175 store 1 ,mem_lmi_opcode2 
+0x5d1c 024176 bpatchx patch2f_6 ,mem_patch2f 
+0x5d1d 024177 fetch 1 ,mem_lmi_opcode2 
+0x5d1e 024178 beq lmp_escape ,parse_lmp_escape 
+0x5d1f 024179 beq lmp_accepted ,parse_lmp_accepted 
+0x5d20 024180 beq lmp_not_accepted ,parse_lmp_not_accepted 
+0x5d21 024181 beq lmp_set_afh ,parse_lmp_set_afh 
+0x5d22 024182 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+0x5d23 024183 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+0x5d24 024184 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+0x5d25 024185 beq lmp_auto_rate ,parse_lmp_auto_rate 
+0x5d26 024186 beq lmp_test_control ,parse_lmp_test_control 
+0x5d27 024187 beq lmp_test_activate ,parse_lmp_test_activate 
+0x5d28 024188 beq lmp_setup_complete ,parse_lmp_setup_complete 
+0x5d29 024189 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+0x5d2a 024190 beq lmp_features_req ,parse_lmp_features_req 
+0x5d2b 024191 beq lmp_host_connection_req ,parse_lmp_conn_req 
+0x5d2c 024192 beq lmp_version_req ,parse_lmp_version_req 
+0x5d2d 024193 beq lmp_version_res ,parse_lmp_version_res 
+0x5d2e 024194 beq lmp_detach ,parse_lmp_detach 
+0x5d2f 024195 beq lmp_max_slot ,parse_lmp_max_slot 
+0x5d30 024196 beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+0x5d31 024197 beq lmp_name_req ,parse_lmp_name_req 
+0x5d32 024198 beq lmp_name_res ,parse_lmp_name_res 
+0x5d33 024199 beq lmp_features_res ,parse_lmp_features_res 
+0x5d34 024200 beq lmp_comb_key ,parse_lmp_comb_key 
+0x5d35 024201 beq lmp_au_rand ,parse_lmp_au_rand 
+0x5d36 024202 beq lmp_in_rand ,parse_lmp_in_rand 
+0x5d37 024203 beq lmp_sres ,parse_lmp_sres 
+0x5d38 024204 beq lmp_incr_power_req ,parse_lmp_incr_power 
+0x5d39 024205 beq lmp_decr_power_req ,parse_lmp_decr_power 
+0x5d3a 024206 beq lmp_max_power ,parse_lmp_max_power 
+0x5d3b 024207 beq lmp_min_power ,parse_lmp_min_power 
+0x5d3c 024208 beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+0x5d3d 024209 beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+0x5d3e 024210 beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+0x5d3f 024211 beq lmp_slot_offset ,parse_lmp_slot_offset 
+0x5d40 024212 beq lmp_sniff_req ,parse_lmp_sniff_req 
+0x5d41 024213 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+0x5d42 024214 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+0x5d43 024215 beq lmp_switch_req ,parse_lmp_switch_req 
+0x5d44 024216 beq lmp_temp_rand ,parse_lmp_temp_rand 
+0x5d45 024217 beq lmp_temp_key ,parse_lmp_temp_key 
+0x5d46 024218 beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+0x5d47 024219 beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+0x5d48 024220 beq lmp_unit_key ,parse_lmp_unit_key 
+0x5d49 024221 beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+0x5d4a 024222 beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+0x5d4b 024223 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+0x5d4c 024224 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+0x5d4d 024225 beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+0x5d4e 024226 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+0x5d4f 024227 beq lmp_dhkey_check ,parse_dhkey_check 
+0x5d50 024228 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+0x5d51 024229 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+:      024232 reject_unknown_packet:
+0x5d52 024233 jam unknown_lmp_pdu ,mem_lmo_reason2 
+:      024234 reject_lmp_packet:
+0x5d53 024235 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5d54 024236 rtn 
+:      024238 parse_lmp_clkoffset_req:
+0x5d55 024239 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+0x5d56 024240 rtn 
+:      024242 parse_enc_key_size_mask_req:
+0x5d57 024243 jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+0x5d58 024244 rtn 
+:      024246 parse_lmp_set_afh:
+0x5d59 024247 fetch 4 ,mem_rxbuf + 1 
+0x5d5a 024248 lshift pdata ,pdata 
+0x5d5b 024249 store 4 ,mem_afh_instant 
+0x5d5c 024250 fetch 1 ,mem_rxbuf + 5 
+0x5d5d 024251 store 1 ,mem_afh_new_mod 
+0x5d5e 024252 fetch 5 ,mem_rxbuf + 6 
+0x5d5f 024253 store 5 ,mem_afh_map_new 
+0x5d60 024254 fetch 5 ,mem_rxbuf + 11 
+0x5d61 024255 istore 5 ,contw 
+0x5d62 024256 fetch 1 ,mem_mode 
+0x5d63 024257 set1 afh_change ,pdata 
+0x5d64 024258 store 1 ,mem_mode 
+0x5d65 024259 rtn 
+:      024260 parse_lmp_escape:
+0x5d66 024261 bpatchx patch2f_7 ,mem_patch2f 
+0x5d67 024262 fetch 1 ,mem_rxbuf + 1 
+0x5d68 024263 set1 7 ,pdata 
+0x5d69 024264 store 1 ,mem_lmi_opcode2 
+0x5d6a 024265 beq lmp_ext_accepted ,parse_lmpext_accepted 
+0x5d6b 024266 beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+0x5d6c 024267 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+0x5d6d 024268 beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+0x5d6e 024269 beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+0x5d6f 024270 beq lmp_ext_features_req ,parse_lmpext_features_req 
+0x5d70 024271 beq lmp_ext_features_res ,parse_lmpext_features_res 
+0x5d71 024272 beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+0x5d72 024273 beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+0x5d73 024274 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+0x5d74 024275 beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+0x5d75 024276 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+0x5d76 024277 rtneq lmp_ext_features_res 
+:      024280 reject_unknown_ext_packet:
+0x5d77 024281 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x5d78 024282 jam unknown_lmp_pdu ,mem_lmo_reason2 
+0x5d79 024284 rtn 
+:      024285 parse_lmpext_chn_classification_req:
+0x5d7a 024286 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+0x5d7b 024287 jam not_support_chn_classification ,mem_lmo_reason2 
+0x5d7c 024288 rtn 
+:      024290 parse_lmpext_iocap_req:
+0x5d7d 024291 call iocap_lmpext_load 
+0x5d7e 024292 jam lmp_io_cap_res ,mem_lmo_opcode2 
+0x5d7f 024293 rtn 
+:      024295 parse_lmpext_iocap_res:
+0x5d80 024296 call iocap_lmpext_load 
+0x5d81 024297 branch iocap_lmpext_common 
+:      024299 iocap_lmpext_load:
+0x5d82 024300 arg mem_sp_iocap_remote ,contw 
+0x5d83 024301 fetch 3 ,mem_rxbuf + 2 
+0x5d84 024302 istore 3 ,contw 
+0x5d85 024303 rtn 
+:      024305 iocap_lmpext_common:
+0x5d86 024306 branch master_set_mem_master_sp_flag ,true 
+0x5d87 024307 rtn 
+:      024308 parse_lmpext_accepted:
+0x5d88 024309 fetch 1 ,mem_rxbuf + 3 
+0x5d89 024310 set1 7 ,pdata 
+0x5d8a 024311 store 1 ,mem_lmi_accepted_opcode 
+0x5d8b 024312 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+0x5d8c 024313 rtn 
+:      024316 parse_lmpext_not_accepted:
+0x5d8d 024317 fetch 1 ,mem_rxbuf + 3 
+0x5d8e 024318 set1 7 ,pdata 
+0x5d8f 024319 store 1 ,mem_lmi_accepted_opcode 
+0x5d90 024320 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+0x5d91 024321 rtn 
+:      024323 parse_lmpext_accepted_ptt:
+0x5d92 024324 fetch 1 ,mem_ptt 
+0x5d93 024325 fetcht 1 ,mem_state_map 
+0x5d94 024326 nsetflag blank ,smap_edr ,temp 
+0x5d95 024327 storet 1 ,mem_state_map 
+:      024328 parse_lmpext_not_accepted_ptt:
+0x5d96 024329 fetch 1 ,mem_state 
+0x5d97 024330 rtnbit0 state_init_seq 
+0x5d98 024331 set0 state_init_seq ,pdata 
+0x5d99 024332 store 1 ,mem_state 
+0x5d9a 024333 fetch 1 ,mem_auth_enable 
+0x5d9b 024334 nrtn blank 
+0x5d9c 024335 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5d9d 024336 rtn 
+:      024338 parse_lmpext_pause_encrypt:
+0x5d9e 024339 nbranch parse_lmpext_pause_encrypt_slave ,master 
+0x5d9f 024340 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x5da0 024341 branch tid_reply 
+:      024343 parse_lmpext_pause_encrypt_slave:
+0x5da1 024344 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+0x5da2 024345 rtn 
+:      024347 parse_lmpext_resume_encrypt:
+0x5da3 024350 call tid_reply 
+0x5da4 024351 branch lmp_start_encryption 
+:      024353 parse_lmpext_features_req:
+0x5da5 024354 jam lmp_ext_features_res ,mem_lmo_opcode2 
+0x5da6 024355 rtn 
+:      024357 parse_lmpext_features_res:
+0x5da7 024358 fetcht 1 ,mem_rxbuf + 4 
+0x5da8 024359 and temp ,0x1 ,temp 
+0x5da9 024360 storet 1 ,mem_remote_sppcap 
+0x5daa 024361 fetch 1 ,mem_hci_cmd 
+0x5dab 024362 bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+0x5dac 024363 jam 0 ,mem_hci_cmd 
+:      024364 parse_lmpext_features_res_not_hci:
+0x5dad 024365 fetch 1 ,mem_conn_sm 
+0x5dae 024366 rtnne conn_sm_wait_features_ext 
+0x5daf 024367 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x5db0 024368 branch process_conn_sm 
+:      024370 parse_lmp_accepted:
+0x5db1 024371 bpatchx patch30_0 ,mem_patch30 
+0x5db2 024372 fetch 1 ,mem_rxbuf + 1 
+0x5db3 024373 store 1 ,mem_lmi_accepted_opcode 
+0x5db4 024374 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+0x5db5 024375 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+0x5db6 024376 beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+0x5db7 024377 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+0x5db8 024378 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+0x5db9 024379 beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+0x5dba 024380 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+0x5dbb 024381 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+0x5dbc 024382 beq lmp_switch_req ,parse_lmp_accepted_switch 
+0x5dbd 024384 beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+0x5dbe 024385 beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+0x5dbf 024386 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+0x5dc0 024387 beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+0x5dc1 024388 rtn 
+:      024390 parse_lmp_not_accepted:
+0x5dc2 024391 bpatchx patch30_1 ,mem_patch30 
+0x5dc3 024392 fetch 1 ,mem_rxbuf + 1 
+0x5dc4 024393 store 1 ,mem_lmi_accepted_opcode 
+0x5dc5 024394 beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+0x5dc6 024395 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+0x5dc7 024396 beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+0x5dc8 024397 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+0x5dc9 024398 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+0x5dca 024400 beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+0x5dcb 024401 beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+0x5dcc 024402 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+0x5dcd 024403 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+0x5dce 024404 rtn 
+:      024406 parse_lmp_accepted_switch:
+0x5dcf 024407 jam bt_evt_switch_accept ,mem_fifo_temp 
+0x5dd0 024408 call ui_ipc_send_event 
+0x5dd1 024409 branch role_switch_prepare0 
+:      024410 parse_lmp_not_accepted_switch:
+0x5dd2 024411 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+0x5dd3 024412 call ui_ipc_send_event 
+0x5dd4 024413 jam switch_flag_not_accept ,mem_switch_flag 
+0x5dd5 024414 setarg timer_switch_waite 
+0x5dd6 024415 arg switch_wait_timer ,queue 
+0x5dd7 024416 branch timer_init 
+:      024419 parse_lmp_accepted_hostconn:
+0x5dd8 024422 fetch 1 ,mem_lmp_conn_state 
+0x5dd9 024423 set1 received_conn_req ,pdata 
+0x5dda 024424 store 1 ,mem_lmp_conn_state 
+0x5ddb 024425 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x5ddc 024426 call ui_ipc_send_event 
+0x5ddd 024427 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+:      024429 parse_lmp_accepted_hostconn_ctn:
+0x5dde 024431 fetch 1 ,mem_conn_sm 
+0x5ddf 024432 bne conn_sm_wait_conn_accept ,parse_rx_done 
+0x5de0 024435 jam conn_sm_auth_pair ,mem_conn_sm 
+0x5de1 024436 rtn 
+:      024444 parse_lmp_not_accepted_hostconn:
+0x5de2 024445 jam acl_connection_already_exists ,mem_disconn_reason_send 
+0x5de3 024446 jam lmp_detach ,mem_lmo_opcode2 
+0x5de4 024448 jam conn_sm_standby ,mem_conn_sm 
+0x5de5 024450 branch parse_rx_done ,true 
+0x5de6 024451 rtn 
+:      024453 parse_lmp_accepted_inrand:
+0x5de7 024454 fetch 1 ,mem_link_key_exists 
+0x5de8 024455 nrtn blank 
+0x5de9 024456 call clear_linkkey 
+0x5dea 024457 call lmp_generate_key 
+0x5deb 024458 rtn master 
+0x5dec 024459 set1 mark_slave_in_rand_accepted ,mark 
+0x5ded 024460 rtn 
+:      024462 parse_lmp_accepted_enc_mode:
+0x5dee 024463 nrtn master 
+0x5def 024464 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x5df0 024465 fetch 1 ,mem_state_map 
+0x5df1 024466 rtnbit0 smap_encryption 
+0x5df2 024467 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x5df3 024468 rtn 
+:      024470 parse_lmp_accepted_enc_keysize:
+0x5df4 024471 branch lmp_start_encryption 
+:      024473 parse_lmp_accepted_start_enc:
+0x5df5 024474 call send_create_conn_start_l2cap_timer_sm 
+0x5df6 024475 fetch 1 ,mem_state 
+0x5df7 024476 rtnbit1 state_conn_comp 
+0x5df8 024477 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5df9 024478 fetch 1 ,mem_conn_sm 
+0x5dfa 024479 rtnne conn_sm_encrypt_wait 
+0x5dfb 024480 jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+0x5dfc 024481 rtn 
+:      024483 parse_lmp_accepted_stop_enc:
+0x5dfd 024491 rtn 
+:      024493 parse_lmp_not_accepted_aurand:
+:      024494 parse_lmp_not_accepted_aurand_send_detach:
+0x5dfe 024495 jam lmp_detach ,mem_lmo_opcode2 
+0x5dff 024496 jam other_end_terminated ,mem_disconn_reason_send 
+0x5e00 024497 rtn 
+:      024499 parse_lmp_not_accepted_inrand:
+0x5e01 024500 fetch 1 ,mem_rxbuf + 2 
+0x5e02 024501 beq key_missing ,parse_lmp_inrand_key_missing 
+0x5e03 024502 rtnne pairing_not_allowed 
+0x5e04 024503 jam pairing_not_allowed ,mem_disconn_reason_send 
+0x5e05 024504 jam lmp_detach ,mem_lmo_opcode2 
+0x5e06 024505 rtn 
+:      024506 parse_lmp_inrand_key_missing:
+0x5e07 024507 jam key_missing ,mem_disconn_reason_send 
+0x5e08 024508 jam lmp_detach ,mem_lmo_opcode2 
+0x5e09 024509 rtn 
+:      024511 parse_lmp_not_accepted_name_req:
+0x5e0a 024512 rtn 
+:      024514 parse_lmp_not_accepted_simple_pairing_number:
+0x5e0b 024515 jam sp_stat_null ,mem_sp_state 
+0x5e0c 024516 jam lmp_detach ,mem_lmo_opcode2 
+0x5e0d 024517 branch parse_rx_done 
+:      024519 parse_lmp_not_accepted_dhkey_check:
+0x5e0e 024520 jam sp_stat_null ,mem_sp_state 
+0x5e0f 024521 jam lmp_detach ,mem_lmo_opcode2 
+0x5e10 024522 branch parse_rx_done 
+:      024523 parse_lmp_not_accepted_unsniff_req:
+0x5e11 024524 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+0x5e12 024525 branch ui_ipc_send_event 
+:      024527 parse_lmp_accepted_unsniff_req:
+0x5e13 024528 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+0x5e14 024529 call ui_ipc_send_event 
+0x5e15 024530 branch sniff_exit 
+:      024532 parse_lmp_accepted_sniff_req:
+0x5e16 024533 jam bt_evt_sniff_accept ,mem_fifo_temp 
+0x5e17 024534 call ui_ipc_send_event 
+0x5e18 024535 setarg 0 
+0x5e19 024536 store 2 ,mem_dsniff 
+0x5e1a 024537 fetch 2 ,mem_sniff_param_interval 
+0x5e1b 024538 lshift pdata ,pdata 
+0x5e1c 024539 store 2 ,mem_tsniff 
+0x5e1d 024540 fetch 1 ,mem_sniff_param_attempt 
+0x5e1e 024541 store 1 ,mem_sniff_attempt 
+0x5e1f 024542 fetch 1 ,mem_sniff_param_timeout 
+0x5e20 024543 store 1 ,mem_sniff_timeout 
+0x5e21 024544 branch sniff_init 
+:      024546 parse_lmp_not_acdcept_sniff_req:
+0x5e22 024547 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+0x5e23 024548 branch ui_ipc_send_event 
+:      024550 parse_lmp_crypt_key:
+0x5e24 024551 fetcht 1 ,mem_rxbuf + 1 
+0x5e25 024552 storet 1 ,mem_key_size 
+0x5e26 024553 branch accept_lmp_msg 
+:      024555 parse_lmp_setup_complete:
+0x5e27 024556 fetch 1 ,mem_lmp_conn_state 
+0x5e28 024557 set1 received_setup_complete ,pdata 
+0x5e29 024558 store 1 ,mem_lmp_conn_state 
+0x5e2a 024559 rtnbit1 sent_setup_complete 
+0x5e2b 024560 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x5e2c 024561 branch parse_rx_done 
+:      024563 parse_lmp_max_slot:
+0x5e2d 024566 rtn 
+:      024568 parse_lmp_max_slot_req:
+0x5e2e 024569 fetch 1 ,mem_max_slot 
+0x5e2f 024570 fetcht 1 ,mem_rxbuf + 1 
+0x5e30 024571 isub temp ,null 
+0x5e31 024573 branch accept_lmp_msg ,positive 
+0x5e32 024574 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5e33 024575 jam unspecified_error ,mem_lmo_reason2 
+0x5e34 024576 jam lmp_max_slot_req ,mem_lmi_opcode2 
+0x5e35 024577 rtn 
+:      024579 parse_lmp_detach:
+0x5e36 024580 call prepare_disconnect 
+0x5e37 024581 branch accept_lmp_msg 
+:      024583 accept_lmp_msg:
+0x5e38 024584 jam lmp_accepted ,mem_lmo_opcode2 
+0x5e39 024585 rtn 
+:      024587 parse_lmp_incr_power:
+0x5e3a 024588 jam lmp_max_power ,mem_lmo_opcode2 
+0x5e3b 024589 rtn 
+:      024591 parse_lmp_decr_power:
+0x5e3c 024592 jam lmp_min_power ,mem_lmo_opcode2 
+0x5e3d 024593 rtn 
+:      024595 parse_lmp_version_res:
+0x5e3e 024596 fetch 1 ,mem_conn_sm 
+0x5e3f 024597 rtneq conn_sm_wait_version 
+0x5e40 024599 jam conn_sm_send_features ,mem_conn_sm 
+0x5e41 024601 rtn 
+:      024604 parse_lmp_auto_rate:
+0x5e42 024605 rtn 
+:      024607 parse_lmp_in_rand:
+0x5e43 024608 call lmp_copy_rand 
+0x5e44 024609 jam pincode_state_wait_pincode ,mem_pincode_state 
+0x5e45 024610 jam bt_evt_pincode_req ,mem_fifo_temp 
+0x5e46 024611 call ui_ipc_send_event 
+0x5e47 024613 call tid_check 
+0x5e48 024614 nbranch lmp_accept_inrand ,true 
+0x5e49 024616 nbranch parse_lmp_inrand_res ,master 
+0x5e4a 024617 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5e4b 024618 jam lmp_in_rand ,mem_lmi_opcode2 
+0x5e4c 024619 jam transaction_collision ,mem_lmo_reason2 
+0x5e4d 024620 rtn 
+:      024621 parse_lmp_inrand_res:
+0x5e4e 024622 fetch 1 ,mem_op 
+0x5e4f 024623 set1 op_inrand_req ,pdata 
+0x5e50 024624 store 1 ,mem_op 
+0x5e51 024625 rtn 
+:      024628 pop_tid_follow:
+0x5e52 024629 fetcht 1 ,mem_state_map 
+0x5e53 024630 nsetflag blank ,smap_lmptid ,temp 
+0x5e54 024631 storet 1 ,mem_state_map 
+0x5e55 024632 rtn 
+:      024635 push_tid_follow:
+0x5e56 024636 fetch 1 ,mem_lmo_tid2 
+0x5e57 024637 rshift pdata ,pdata 
+0x5e58 024638 and_into 1 ,pdata 
+0x5e59 024639 rtn 
+:      024641 parse_lmp_au_rand_moudle:
+0x5e5a 024642 fetch 1 ,mem_nv_data_number 
+0x5e5b 024643 rtn blank 
+0x5e5c 024644 fetch 1 ,mem_pairing_auth 
+0x5e5d 024645 call load_device_list ,blank 
+0x5e5e 024646 rtn 
+:      024648 parse_lmp_au_rand:
+0x5e5f 024649 call parse_lmp_au_rand_moudle 
+0x5e60 024650 call push_tid_follow 
+0x5e61 024651 store 1 ,mem_sres_tid 
+0x5e62 024652 call lmp_copy_rand 
+0x5e63 024653 jam lmp_sres ,mem_lmo_opcode2 
+0x5e64 024654 fetch 1 ,mem_link_key_exists 
+0x5e65 024655 nrtn blank 
+0x5e66 024656 fetch 1 ,mem_state 
+0x5e67 024657 rtnbit1 state_combkey 
+0x5e68 024658 jam key_missing ,mem_lmo_reason2 
+0x5e69 024659 branch reject_lmp_packet 
+:      024661 parse_lmp_sres:
+0x5e6a 024662 arg mem_plap ,rega 
+0x5e6b 024663 call function_e1 
+0x5e6c 024664 fetch 4 ,mem_rxbuf + 1 
+0x5e6d 024665 fetcht 4 ,mem_input_store 
+0x5e6e 024666 isub temp ,null 
+0x5e6f 024667 branch authentication_ok ,zero 
+0x5e70 024668 jam lmp_detach ,mem_lmo_opcode2 
+0x5e71 024669 jam authentication_failure_error ,mem_disconn_reason_send 
+0x5e72 024670 rtn 
+:      024671 authentication_ok:
+0x5e73 024672 call authentication_ok_common 
+0x5e74 024673 fetch 1 ,mem_ssp_enable 
+0x5e75 024674 branch pairing_success ,blank 
+0x5e76 024675 rtn 
+:      024678 authentication_ok_common:
+0x5e77 024679 call copy_aco 
+0x5e78 024680 call linkkey_ready 
+0x5e79 024681 fetch 1 ,mem_op 
+0x5e7a 024682 isolate1 op_auth_req ,pdata 
+0x5e7b 024683 set0 op_auth_req ,pdata 
+0x5e7c 024684 store 1 ,mem_op 
+0x5e7d 024685 fetch 1 ,mem_conn_sm 
+0x5e7e 024686 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+0x5e7f 024687 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+0x5e80 024688 rtn 
+:      024689 authentication_ok_conn_sm:
+0x5e81 024690 fetch 1 ,mem_pairing_auth 
+0x5e82 024691 rtnne defalt_pairing_auth 
+0x5e83 024692 fetch 1 ,mem_state_map 
+0x5e84 024693 rtnbit1 smap_encryption 
+0x5e85 024694 branch host_create_conn_encrypt 
+:      024696 parse_lmp_comb_key:
+0x5e86 024697 arg mem_rxbuf + 1 ,rega 
+0x5e87 024698 arg mem_kinit ,regb 
+0x5e88 024699 arg mem_random_number ,contw 
+0x5e89 024700 call xor16 
+0x5e8a 024701 arg mem_plap ,rega 
+0x5e8b 024702 call generate_linkkey 
+0x5e8c 024703 jam lmp_au_rand ,mem_lmo_opcode2 
+0x5e8d 024704 fetch 1 ,mem_state 
+0x5e8e 024705 bbit0 state_combkey ,lmp_generate_key 
+0x5e8f 024706 rtn 
+:      024708 parse_lmp_name_res:
+0x5e90 024709 fetch 2 ,mem_len 
+0x5e91 024710 add pdata ,-3 ,loopcnt 
+0x5e92 024711 fetcht 1 ,mem_rxbuf + 1 
+0x5e93 024712 setarg mem_tmp_buffer 
+0x5e94 024713 iadd temp ,contw 
+0x5e95 024714 arg mem_rxbuf + 3 ,contr 
+0x5e96 024715 call memcpy 
+0x5e97 024716 fetcht 1 ,mem_name_offset 
+0x5e98 024717 fetch 1 ,mem_rxbuf + 2 
+0x5e99 024718 isub temp ,pdata 
+0x5e9a 024719 sub pdata ,14 ,null 
+0x5e9b 024720 branch parse_lmp_name_res_end ,positive 
+0x5e9c 024721 add temp ,14 ,pdata 
+0x5e9d 024722 store 1 ,mem_name_offset 
+0x5e9e 024723 jam lmp_name_req ,mem_lmo_opcode2 
+0x5e9f 024724 rtn 
+:      024725 parse_lmp_name_res_end:
+0x5ea0 024726 fetch 1 ,mem_state_map 
+0x5ea1 024727 set1 smap_name_res ,pdata 
+0x5ea2 024728 store 1 ,mem_state_map 
+0x5ea3 024729 bbit1 smap_name_req ,lmp_disconnect 
+0x5ea4 024730 rtn 
+:      024731 parse_lmp_name_req:
+0x5ea5 024732 fetch 1 ,mem_rxbuf + 1 
+0x5ea6 024733 store 1 ,mem_lmi_opcode2 
+0x5ea7 024734 jam lmp_name_res ,mem_lmo_opcode2 
+0x5ea8 024735 rtn 
+:      024737 parse_lmp_conn_req:
+0x5ea9 024738 branch accept_lmp_msg 
+:      024740 parse_lmp_timing_accuracy_req:
+0x5eaa 024741 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+0x5eab 024742 rtn 
+:      024744 parse_lmp_features_req:
+0x5eac 024745 jam lmp_features_res ,mem_lmo_opcode2 
+0x5ead 024746 rtn 
+:      024748 parse_lmp_version_req:
+0x5eae 024749 jam lmp_version_res ,mem_lmo_opcode2 
+0x5eaf 024750 rtn 
+:      024752 parse_lmp_supervision_timeout:
+0x5eb0 024755 rtn 
+:      024759 parse_lmp_sniff_subrating_req:
+0x5eb1 024760 fetch 2 ,mem_tsniff 
+0x5eb2 024761 iforce temp 
+0x5eb3 024762 fetch 1 ,mem_rxbuf + 2 
+0x5eb4 024763 store 1 ,mem_subsniff_rate 
+0x5eb5 024764 imul32 temp ,temp 
+0x5eb6 024765 fetch 2 ,mem_rxbuf + 3 
+0x5eb7 024766 lshift pdata ,pdata 
+0x5eb8 024767 store 2 ,mem_subsniff_tcmax 
+0x5eb9 024768 fetch 4 ,mem_rxbuf + 5 
+0x5eba 024769 lshift pdata ,pdata 
+0x5ebb 024770 store 4 ,mem_subsniff_instant 
+0x5ebc 024772 deposit temp 
+0x5ebd 024773 store 2 ,mem_subsniff_tsniff 
+0x5ebe 024774 rtn 
+:      024775 parse_lmpext_packet_type_table_req:
+0x5ebf 024776 fetcht 1 ,mem_ptt 
+0x5ec0 024777 fetch 1 ,mem_rxbuf + 2 
+0x5ec1 024778 ixor temp ,null 
+0x5ec2 024779 nbranch reject_unknown_ext_packet ,zero 
+0x5ec3 024780 isolate1 0 ,pdata 
+0x5ec4 024781 fetch 1 ,mem_state_map 
+0x5ec5 024782 setflag true ,smap_edr ,pdata 
+0x5ec6 024783 store 1 ,mem_state_map 
+0x5ec7 024784 jam lmp_ext_accepted ,mem_lmo_opcode2 
+0x5ec8 024785 jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+0x5ec9 024786 rtn 
+:      024789 parse_lmp_sniff_subrating_res:
+:      024790 parse_lmp_preferred_rate:
+:      024791 parse_lmp_max_power:
+:      024792 parse_lmp_min_power:
+0x5eca 024793 rtn 
+:      024794 parse_lmp_page_mode_req:
+0x5ecb 024796 branch accept_lmp_msg 
+:      024797 parse_lmp_page_scan_mode_req:
+0x5ecc 024800 branch accept_lmp_msg 
+:      024804 parse_lmp_slot_offset:
+0x5ecd 024805 fetch 2 ,mem_rxbuf + 1 
+0x5ece 024806 store 2 ,mem_slot_offset 
+0x5ecf 024807 rtn 
+:      024809 parse_lmp_sniff_req_check_sniff_para:
+0x5ed0 024810 fetch 2 ,mem_rxbuf + 4 
+0x5ed1 024811 fetcht 1 ,mem_lpm_mult 
+0x5ed2 024812 imul32 temp ,pdata 
+0x5ed3 024813 arg 0x640 ,temp 
+0x5ed4 024814 isub temp ,null 
+0x5ed5 024816 rtn 
+:      024818 parse_lmp_sniff_req:
+0x5ed6 024819 fetch 2 ,mem_rxbuf + 6 
+0x5ed7 024820 branch lmp_reject_sniff ,blank 
+0x5ed8 024821 call parse_lmp_sniff_req_check_sniff_para 
+0x5ed9 024822 branch lmp_reject_sniff ,positive 
+0x5eda 024823 fetch 1 ,mem_device_option 
+0x5edb 024824 sub pdata ,dvc_op_module ,null 
+0x5edc 024825 call module_set_lpm_mult_2 ,zero 
+0x5edd 024826 fetch 1 ,mem_state 
+0x5ede 024827 bbit1 state_insniff ,lmp_reject_sniff 
+0x5edf 024828 fetch 2 ,mem_rxbuf + 2 
+0x5ee0 024829 lshift pdata ,pdata 
+0x5ee1 024830 store 2 ,mem_dsniff 
+0x5ee2 024831 fetch 2 ,mem_rxbuf + 4 
+0x5ee3 024832 lshift pdata ,pdata 
+0x5ee4 024833 store 2 ,mem_tsniff 
+0x5ee5 024834 fetch 2 ,mem_rxbuf + 6 
+0x5ee6 024835 store 1 ,mem_sniff_attempt 
+0x5ee7 024836 iforce temp 
+0x5ee8 024837 fetch 2 ,mem_rxbuf + 8 
+0x5ee9 024838 store 1 ,mem_sniff_timeout 
+0x5eea 024839 isub temp ,null 
+0x5eeb 024840 nbranch set_big_value_to_attempt ,positive 
+0x5eec 024841 store 1 ,mem_sniff_attempt 
+:      024842 set_big_value_to_attempt:
+0x5eed 024844 jam lmp_accepted ,mem_lmo_opcode2 
+0x5eee 024845 jam lmp_sniff_req ,mem_lmi_opcode2 
+0x5eef 024846 rtn 
+:      024848 lmp_reject_sniff:
+0x5ef0 024849 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5ef1 024850 branch reject_lmp_packet 
+:      024852 parse_lmp_start_encryption_req:
+0x5ef2 024853 call accept_lmp_msg 
+0x5ef3 024854 call lmp_copy_rand 
+0x5ef4 024855 call function_e3 
+0x5ef5 024856 branch start_encryption 
+:      024858 parse_lmp_stop_encryption_req:
+0x5ef6 024859 call accept_lmp_msg 
+0x5ef7 024860 branch stop_encryption 
+:      024863 parse_lmp_switch_req:
+0x5ef8 024864 fetch 4 ,mem_rxbuf + 1 
+0x5ef9 024865 lshift pdata ,pdata 
+0x5efa 024867 branch parse_lmp_switch_accept ,master 
+0x5efb 024868 fetcht 1 ,mem_link_key_exists 
+0x5efc 024869 nbranch parse_lmp_switch_req_clear_mark ,blank 
+:      024870 parse_lmp_switch_req_not_accept:
+0x5efd 024871 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x5efe 024872 jam lmp_switch_req ,mem_lmi_opcode2 
+0x5eff 024873 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f00 024874 rtn 
+:      024875 parse_lmp_switch_req_clear_mark:
+0x5f01 024876 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x5f02 024877 jam 0 ,mem_conn_sm 
+0x5f03 024878 branch role_switch_prepare 
+:      024880 parse_lmp_switch_accept:
+0x5f04 024881 call role_switch_prepare 
+0x5f05 024882 set1 mark_reconn_recieve_switch ,mark 
+0x5f06 024883 fetch 1 ,mem_connection_options 
+0x5f07 024884 set0 connection_switch ,pdata 
+0x5f08 024885 store 1 ,mem_connection_options 
+0x5f09 024886 branch accept_lmp_msg 
+:      024890 parse_lmp_temp_rand:
+:      024891 parse_lmp_temp_key:
+:      024892 parse_lmp_timing_accuracy_res:
+:      024893 parse_lmp_unit_key:
+:      024894 parse_lmp_use_semi_permanend_key:
+0x5f0a 024895 rtn 
+:      024898 parse_lmp_unsniff_req:
+0x5f0b 024899 jam lmp_accepted ,mem_lmo_opcode2 
+0x5f0c 024900 jam lmp_unsniff_req ,mem_lmi_opcode2 
+0x5f0d 024901 jam bt_evt_remote_unsniff ,mem_fifo_temp 
+0x5f0e 024902 call ui_ipc_send_event 
+0x5f0f 024903 branch sniff_exit 
+:      024905 parse_lmp_encapsulated_header:
+0x5f10 024906 fetch 1 ,mem_rxbuf + 1 
+0x5f11 024907 bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f12 024908 fetch 1 ,mem_rxbuf + 2 
+0x5f13 024909 bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f14 024910 fetch 1 ,mem_rxbuf + 3 
+0x5f15 024911 bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+0x5f16 024912 call check_localsm 
+0x5f17 024913 branch parse_lmp_encapsulated_header_master ,true 
+0x5f18 024914 jam sp_stat_key_recv ,mem_sp_state 
+:      024915 parse_lmp_encapsulated_header_master:
+0x5f19 024916 jam lmp_accepted ,mem_lmo_opcode2 
+0x5f1a 024917 jam lmp_encapsulated_header ,mem_lmi_opcode2 
+0x5f1b 024918 branch parse_rx_done 
+:      024920 parse_lmp_encapsulated_header_reject:
+0x5f1c 024921 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f1d 024922 branch reject_lmp_packet 
+:      024924 parse_lmp_accepted_encapsulated_header:
+0x5f1e 024927 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x5f1f 024929 rtn 
+:      024930 parse_lmp_accepted_simple_pairing_number:
+0x5f20 024931 fetch 1 ,mem_ssp_mode_flag 
+0x5f21 024932 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+0x5f22 024933 beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+:      024934 parse_lmp_accepted_simple_pairing_number_common:
+0x5f23 024935 call check_localsm 
+0x5f24 024936 rtn true 
+0x5f25 024937 jam sp_stat_confirm_recv ,mem_sp_state 
+0x5f26 024938 rtn 
+:      024940 parse_lmp_accepted_simple_pairing_number_ssp_pin:
+0x5f27 024941 call g_noninit_number_confirm 
+0x5f28 024942 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+0x5f29 024943 call ui_ipc_send_event 
+0x5f2a 024944 branch parse_lmp_accepted_simple_pairing_number_common 
+:      024947 parse_lmp_accepted_simple_pairing_number_passkey:
+0x5f2b 024948 call check_localsm 
+0x5f2c 024949 rtn true 
+0x5f2d 024950 fetch 1 ,mem_authentication_passkey_times 
+0x5f2e 024951 beq 19 ,authentication_passkey_end 
+0x5f2f 024952 increase 1 ,pdata 
+0x5f30 024953 store 1 ,mem_authentication_passkey_times 
+:      024956 authentication_passkey:
+0x5f31 024957 jam sp_flag_commit ,mem_sp_flag 
+0x5f32 024958 jam sp_stat_commit_calc ,mem_sp_state 
+0x5f33 024959 fetch 1 ,mem_authentication_passkey_times 
+0x5f34 024960 copy pdata ,queue 
+0x5f35 024961 fetch 6 ,mem_pin 
+0x5f36 024962 qisolate1 pdata 
+0x5f37 024963 setarg 0x80 
+0x5f38 024964 setflag true ,0 ,pdata 
+0x5f39 024965 store 1 ,mem_passkey_1bit 
+0x5f3a 024966 rtn 
+:      024968 authentication_passkey_end:
+0x5f3b 024969 jam sp_stat_confirm_recv ,mem_sp_state 
+0x5f3c 024970 rtn 
+:      024972 parse_lmp_accepted_dhkey_check:
+0x5f3d 024973 call parse_lmp_accepted_dhkey_check_common 
+:      024974 pairing_success:
+0x5f3e 024975 fetch 1 ,mem_flag_pairing_state 
+0x5f3f 024976 rtn blank 
+0x5f40 024977 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+0x5f41 024978 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+0x5f42 024979 branch ui_ipc_send_event 
+:      024982 parse_lmp_accepted_dhkey_check_common:
+0x5f43 024984 call check_localsm 
+0x5f44 024985 ncall g_noninit ,true 
+0x5f45 024986 call g_init ,true 
+0x5f46 024987 call check_localsm 
+0x5f47 024988 rtn true 
+0x5f48 024989 jam sp_stat_link_key_calc ,mem_sp_state 
+0x5f49 024990 jam sp_flag_commit ,mem_sp_flag 
+0x5f4a 024991 rtn 
+:      024993 parse_simple_pairing_confirm:
+0x5f4b 024994 arg mem_sp_confirm_remote ,contw 
+0x5f4c 024995 arg mem_rxbuf + 1 ,contr 
+0x5f4d 024996 call memcpy16 
+0x5f4e 024997 fetch 1 ,mem_ssp_mode_flag 
+0x5f4f 024998 rtneq ssp_mode_passkey_entry_flag 
+0x5f50 024999 branch master_set_mem_master_sp_flag 
+:      025001 parse_lmp_encapsulated_payload:
+0x5f51 025002 fetch 1 ,mem_master_sp_state 
+0x5f52 025003 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+0x5f53 025004 fetch 1 ,mem_sp_state 
+0x5f54 025005 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+:      025006 parse_encapsulated_payload_master:
+0x5f55 025007 fetch 1 ,mem_sp_remote_key_recv_count 
+0x5f56 025008 sub pdata ,0x20 ,contw 
+0x5f57 025009 nbranch parse_lmp_encapsulated_payload_reject ,positive 
+0x5f58 025010 arg mem_sp_pubkey_remote ,contw 
+0x5f59 025011 iadd contw ,contw 
+0x5f5a 025012 fetch 8 ,mem_rxbuf + 1 
+0x5f5b 025013 istore 8 ,contw 
+0x5f5c 025014 fetch 8 ,mem_rxbuf + 9 
+0x5f5d 025015 istore 8 ,contw 
+0x5f5e 025016 fetch 1 ,mem_sp_remote_key_recv_count 
+0x5f5f 025017 increase 16 ,pdata 
+0x5f60 025018 store 1 ,mem_sp_remote_key_recv_count 
+0x5f61 025019 bne encapsulated_len_p192 ,accept_lmp_msg 
+:      025020 parse_lmp_encapsulated_payload_completed:
+0x5f62 025021 call check_localsm 
+0x5f63 025022 branch accept_lmp_msg ,true 
+0x5f64 025023 jam sp_key_valid ,mem_sp_remote_key_invalid 
+0x5f65 025024 jam sp_stat_key_generate ,mem_sp_state 
+0x5f66 025025 jam sp_flag_commit ,mem_sp_flag 
+0x5f67 025026 branch accept_lmp_msg 
+:      025027 parse_lmp_encapsulated_payload_reject:
+0x5f68 025028 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f69 025029 branch reject_lmp_packet 
+:      025030 parse_lmp_accepted_encapsulated_payload:
+0x5f6a 025031 fetch 1 ,mem_sp_local_key_send_count 
+0x5f6b 025032 beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+0x5f6c 025033 jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+0x5f6d 025034 branch parse_rx_done 
+:      025036 parse_lmp_encapsulated_payload_all_accepted:
+0x5f6e 025037 call check_localsm 
+0x5f6f 025038 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+0x5f70 025039 fetch 1 ,mem_ssp_mode_flag 
+0x5f71 025040 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+0x5f72 025041 jam sp_flag_commit ,mem_sp_flag 
+0x5f73 025042 jam sp_stat_commit_calc ,mem_sp_state 
+0x5f74 025043 branch parse_rx_done 
+:      025045 parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+0x5f75 025046 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+0x5f76 025047 branch ui_ipc_send_event 
+:      025050 parse_lmp_encapsulated_payload_all_accepted_master:
+0x5f77 025052 branch parse_rx_done 
+:      025054 parse_lmp_simple_pairing_number:
+0x5f78 025055 fetch 1 ,mem_master_sp_state 
+0x5f79 025056 beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+0x5f7a 025057 fetch 1 ,mem_sp_state 
+0x5f7b 025058 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+:      025059 parse_lmp_simple_pairing_number_master:
+0x5f7c 025060 arg mem_sp_random_remote ,contw 
+0x5f7d 025061 fetch 8 ,mem_rxbuf + 1 
+0x5f7e 025062 istore 8 ,contw 
+0x5f7f 025063 fetch 8 ,mem_rxbuf + 9 
+0x5f80 025064 istore 8 ,contw 
+0x5f81 025065 call check_localsm 
+0x5f82 025066 branch parse_lmp_simple_pairing_number_master0 ,true 
+0x5f83 025067 jam sp_stat_random_send ,mem_sp_state 
+0x5f84 025068 jam sp_flag_commit ,mem_sp_flag 
+0x5f85 025069 branch accept_lmp_msg 
+:      025070 parse_lmp_simple_pairing_number_master0:
+0x5f86 025071 jam sp_stat_commit_calc ,mem_master_sp_state 
+0x5f87 025072 branch master_set_mem_master_sp_flag 
+:      025075 parse_lmp_simple_pairing_number_reject:
+0x5f88 025076 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f89 025077 branch reject_lmp_packet 
+:      025079 parse_dhkey_check:
+0x5f8a 025080 fetch 1 ,mem_master_sp_state 
+0x5f8b 025081 beq sp_stat_confirm_send ,parse_dhkey_check_master 
+0x5f8c 025082 fetch 1 ,mem_sp_state 
+0x5f8d 025083 bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+:      025084 parse_dhkey_check_master:
+0x5f8e 025085 arg mem_sp_check_result ,contw 
+0x5f8f 025086 arg mem_rxbuf + 1 ,contr 
+0x5f90 025087 call memcpy16 
+0x5f91 025088 call check_localsm 
+0x5f92 025089 branch parse_dhkey_check_master0 ,true 
+0x5f93 025090 fetch 1 ,mem_ssp_mode_flag 
+0x5f94 025091 beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+:      025092 number_comparison_successed:
+0x5f95 025093 jam 0 ,mem_flag_mode_ssp_pin 
+0x5f96 025094 jam sp_stat_confirm_check ,mem_sp_state 
+0x5f97 025095 jam sp_flag_commit ,mem_sp_flag 
+0x5f98 025096 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x5f99 025097 branch parse_rx_done 
+:      025099 parse_dhkey_check_master0:
+0x5f9a 025100 jam sp_stat_confirm_check ,mem_master_sp_state 
+0x5f9b 025101 jam sp_flag_commit ,mem_master_sp_flag 
+0x5f9c 025102 branch parse_rx_done 
+:      025103 parse_lmp_dhkey_check_reject:
+0x5f9d 025104 jam pdu_not_allowed ,mem_lmo_reason2 
+0x5f9e 025105 branch reject_lmp_packet 
+:      025107 number_comparison_mode:
+0x5f9f 025108 fetch 1 ,mem_flag_mode_ssp_pin 
+0x5fa0 025109 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+0x5fa1 025110 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+0x5fa2 025111 store 1 ,mem_flag_mode_ssp_pin 
+0x5fa3 025112 rtn 
+:      025114 comparison_result:
+0x5fa4 025115 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+0x5fa5 025116 jam 0 ,mem_flag_mode_ssp_pin 
+0x5fa6 025117 branch parse_lmp_dhkey_check_reject 
+:      025120 parse_lmp_clkoffset_res:
+0x5fa7 025121 branch parse_rx_done 
+:      025123 parse_lmp_encryption_mode_req:
+0x5fa8 025124 fetch 1 ,mem_connection_options 
+0x5fa9 025125 set0 connection_encrypt 
+0x5faa 025126 store 1 ,mem_connection_options 
+0x5fab 025127 call accept_lmp_msg 
+0x5fac 025128 nrtn master 
+0x5fad 025129 fetch 1 ,mem_rxbuf + 1 
+0x5fae 025130 fetcht 1 ,mem_op 
+0x5faf 025131 setflag blank ,op_stop_enc ,temp 
+0x5fb0 025132 nsetflag blank ,op_start_enc ,temp 
+0x5fb1 025133 storet 1 ,mem_op 
+0x5fb2 025134 rtn 
+:      025136 parse_lmp_features_res:
+0x5fb3 025137 fetcht 8 ,mem_rxbuf + 1 
+:      025138 parse_lmp_features_res_not_hci:
+0x5fb4 025139 fetch 1 ,mem_conn_sm 
+0x5fb5 025140 rtnne conn_sm_wait_features_res 
+0x5fb6 025142 fetch 1 ,mem_connection_options 
+0x5fb7 025143 bbit0 connection_feature_ext ,parse_lmp_send_conn 
+0x5fb8 025145 jam conn_sm_send_features_ext ,mem_conn_sm 
+0x5fb9 025146 rtn 
+:      025147 parse_lmp_send_conn:
+0x5fba 025148 jam conn_sm_send_conn_req ,mem_conn_sm 
+0x5fbb 025149 rtn 
+:      025150 parse_lmp_test_activate:
+0x5fbc 025151 fetch 1 ,mem_debug_config 
+0x5fbd 025152 store 1 ,mem_test_mode_old_debug_config 
+0x5fbe 025153 jam lmp_accepted ,mem_lmo_opcode2 
+0x5fbf 025154 jam lmp_test_activate ,mem_lmi_opcode2 
+0x5fc0 025155 rtn 
+:      025156 parse_lmp_test_control:
+0x5fc1 025159 jam lmp_accepted ,mem_lmo_opcode2 
+0x5fc2 025160 jam lmp_test_control ,mem_lmi_opcode2 
+0x5fc3 025161 force 9 ,loopcnt 
+0x5fc4 025162 arg mem_rxbuf + 1 ,contr 
+0x5fc5 025163 arg mem_temp_payload ,contw 
+:      025164 parse_lmp_test_xor:
+0x5fc6 025165 ifetch 1 ,contr 
+0x5fc7 025166 xor_into 0x55 ,pdata 
+0x5fc8 025167 istore 1 ,contw 
+0x5fc9 025168 loop parse_lmp_test_xor 
+0x5fca 025169 fetch 1 ,test_mode_scenario 
+0x5fcb 025170 fetcht 1 ,mem_tester_emulate 
+0x5fcc 025171 set0 tester_no_whitening ,temp 
+0x5fcd 025172 set0 tester_pattern_test ,temp 
+0x5fce 025173 beq exit_test_mode ,parse_lmp_test_control_exit 
+0x5fcf 025174 beq pause_test_mode ,parse_lmp_test_control_pause 
+0x5fd0 025175 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+0x5fd1 025176 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x5fd2 025177 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+0x5fd3 025178 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+0x5fd4 025179 beq zero_pattern ,parse_lmp_test_control_pattern 
+0x5fd5 025180 beq one_pattern ,parse_lmp_test_control_pattern 
+0x5fd6 025181 beq alt_pattern ,parse_lmp_test_control_pattern 
+0x5fd7 025182 beq alt2_pattern ,parse_lmp_test_control_pattern 
+0x5fd8 025183 beq pseudorandom ,parse_lmp_test_control_pattern 
+0x5fd9 025184 rtn 
+:      025185 parse_lmp_test_control_exit:
+0x5fda 025187 fetch 1 ,mem_tester_emulate 
+0x5fdb 025188 set1 tester_exit ,pdata 
+0x5fdc 025189 set1 tester_change ,pdata 
+0x5fdd 025190 store 1 ,mem_tester_emulate 
+0x5fde 025191 rtn 
+:      025192 parse_lmp_test_control_pattern:
+0x5fdf 025193 set1 tester_pattern_test ,temp 
+0x5fe0 025194 jam 5 ,mem_lch_code 
+0x5fe1 025195 fetch 2 ,test_mode_data_length 
+0x5fe2 025196 iforce loopcnt 
+0x5fe3 025197 store 2 ,mem_len 
+0x5fe4 025198 arg mem_rxbuf ,contw 
+0x5fe5 025199 call pn9 
+:      025200 parse_lmp_test_control_loopback_nowhite:
+0x5fe6 025201 set1 tester_no_whitening ,temp 
+:      025202 parse_lmp_test_control_loopback:
+0x5fe7 025203 set1 tester_change ,temp 
+0x5fe8 025204 force 0 ,pdata 
+0x5fe9 025205 store 1 ,mem_slave_rcvcnt 
+0x5fea 025206 store 2 ,mem_tst_pktcnt_crc 
+0x5feb 025207 store 2 ,mem_tst_pktcnt_dmh 
+0x5fec 025208 store 2 ,mem_tst_pktcnt_hec 
+0x5fed 025209 store 2 ,mem_tst_pktcnt_sync 
+0x5fee 025210 fetch 1 ,test_mode_hopping_mode 
+0x5fef 025211 compare fixed_freq ,pdata ,0xff 
+0x5ff0 025212 setflag true ,tester_fixed_freq ,temp 
+0x5ff1 025213 storet 1 ,mem_tester_emulate 
+0x5ff2 025214 rtn 
+:      025216 parse_lmp_test_control_pause:
+0x5ff3 025217 set0 mark_testmode ,mark 
+0x5ff4 025218 jam 0 ,mem_tester_emulate 
+0x5ff5 025219 fetch 1 ,mem_debug_config 
+0x5ff6 025220 set0 debug_tx_pattern ,pdata 
+0x5ff7 025221 store 1 ,mem_debug_config 
+0x5ff8 025222 rtn 
+:      025228 lmp_copy_rand:
+0x5ff9 025229 arg mem_rxbuf + 1 ,contr 
+0x5ffa 025230 arg mem_random_number ,contw 
+0x5ffb 025231 branch memcpy16 
+:      025233 lmp_generate_key:
+0x5ffc 025234 jam lmp_comb_key ,mem_lmo_opcode2 
+0x5ffd 025235 rtn 
+:      025237 lmp_start_encryption:
+0x5ffe 025238 nrtn master 
+0x5fff 025239 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+0x6000 025240 rtn 
+:      025242 lmp_accept_inrand:
+0x6001 025243 arg mem_lap ,rega 
+0x6002 025244 call generate_kinit 
+0x6003 025245 jam lmp_accepted ,mem_lmo_opcode2 
+0x6004 025246 jam lmp_in_rand ,mem_lmi_opcode2 
+0x6005 025247 rtn 
+:      025249 lmp_disconnect:
+0x6006 025250 jam 10 ,mem_conn_timer 
+0x6007 025251 jam lmp_detach ,mem_lmo_opcode2 
+0x6008 025252 jam local_host ,mem_disconn_reason_send 
+0x6009 025253 rtn 
+:      025259 send_lmp:
+0x600a 025260 bpatchx patch30_2 ,mem_patch30 
+0x600b 025261 disable user 
+0x600c 025262 call lmo_fifo_process 
+0x600d 025263 fetch 1 ,mem_lmp_to_send 
+0x600e 025264 rtn blank 
+0x600f 025269 bbit1 7 ,send_lmp_escape 
+:      025270 send_lmp0:
+0x6010 025271 beq lmp_name_req ,send_lmp_name_req 
+0x6011 025272 beq lmp_name_res ,send_lmp_name_res 
+0x6012 025273 beq lmp_accepted ,send_lmp_accepted 
+0x6013 025274 beq lmp_not_accepted ,send_lmp_not_accepted 
+0x6014 025275 beq lmp_features_req ,send_lmp_features_req 
+0x6015 025276 beq lmp_features_res ,send_lmp_features_res 
+0x6016 025277 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+0x6017 025278 beq lmp_version_req ,send_lmp_version_req 
+0x6018 025279 beq lmp_version_res ,send_lmp_version_res 
+0x6019 025280 beq lmp_setup_complete ,send_lmp_setup_complete 
+0x601a 025281 beq lmp_supervision_timeout ,send_lmp_superto 
+0x601b 025282 beq lmp_host_connection_req ,send_lmp_no_payload 
+0x601c 025283 beq lmp_in_rand ,send_lmp_inrand 
+0x601d 025284 beq lmp_comb_key ,send_lmp_comb_key 
+0x601e 025285 beq lmp_au_rand ,send_lmp_aurand 
+0x601f 025286 beq lmp_sres ,send_lmp_sres 
+0x6020 025287 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+0x6021 025288 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+0x6022 025289 beq lmp_start_encryption_req ,send_lmp_start_encryption 
+0x6023 025290 beq lmp_detach ,send_lmp_detach 
+0x6024 025291 beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+0x6025 025292 beq lmp_unit_key ,send_lmp_unit_key 
+0x6026 025294 beq lmp_incr_power_req ,send_lmp_inc_power 
+0x6027 025295 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+0x6028 025296 beq lmp_max_power ,send_lmp_nopayload_reply 
+0x6029 025297 beq lmp_max_slot ,send_lmp_max_slot 
+0x602a 025298 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+0x602b 025299 beq lmp_min_power ,send_lmp_nopayload_reply 
+0x602c 025300 beq lmp_slot_offset ,send_lmp_slot_offset 
+0x602d 025301 beq lmp_switch_req ,send_lmp_switch_req 
+0x602e 025302 beq lmp_sniff_req ,send_lmp_sniff_req 
+0x602f 025303 beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+0x6030 025304 beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+0x6031 025305 beq lmp_unsniff_req ,send_lmp_unsniff_req 
+0x6032 025306 beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+0x6033 025307 beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+0x6034 025308 beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+0x6035 025309 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+0x6036 025310 beq lmp_dhkey_check ,send_lmp_dhkey_check 
+0x6037 025311 beq lmp_auto_rate ,send_lmp_auto_rate 
+0x6038 025312 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+0x6039 025314 beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+0x603a 025315 beq lmp_quality_of_service ,send_lmp_quality_of_service 
+0x603b 025316 beq lmp_test_activate ,send_lmp_test_activate 
+0x603c 025317 beq lmp_test_control ,send_lmp_test_control 
+:      025318 send_lmp_error:
+0x603d 025319 branch assert 
+0x603e 025320 rtn 
+:      025321 send_lmp_escape:
+0x603f 025322 beq lmp_ext_accepted ,send_lmpext_accepted 
+0x6040 025323 beq lmp_ext_features_res ,send_lmpext_features_res 
+0x6041 025324 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+0x6042 025325 beq lmp_ext_features_req ,send_lmpext_features_req 
+0x6043 025326 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+0x6044 025327 beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+0x6045 025328 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+0x6046 025329 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+0x6047 025330 beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+0x6048 025331 beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+0x6049 025332 branch assert 
+:      025338 send_lmp_accepted:
+0x604a 025339 force 2 ,pdata 
+0x604b 025340 call msg_send_lmp 
+0x604c 025341 fetch 1 ,mem_lmi_opcode 
+0x604d 025342 istore 1 ,contw 
+0x604e 025343 call send_lmp_follow 
+0x604f 025344 bpatchx patch30_3 ,mem_patch30 
+0x6050 025345 fetch 1 ,mem_lmi_opcode 
+0x6051 025346 beq lmp_in_rand ,send_lmp_accepted_inrand 
+0x6052 025347 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+0x6053 025348 beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+0x6054 025349 beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+0x6055 025350 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+0x6056 025351 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+0x6057 025352 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+0x6058 025353 rtn 
+:      025355 send_create_conn_start_l2cap_timer_sm:
+0x6059 025356 fetch 1 ,mem_conn_sm 
+0x605a 025357 rtn blank 
+0x605b 025358 jam conn_sm_wait_done ,mem_conn_sm 
+0x605c 025359 setarg timer_enpt_waite 
+0x605d 025360 arg enpt_delay_timer ,queue 
+0x605e 025361 branch timer_init 
+:      025363 send_lmp_accept_sniff_req:
+0x605f 025364 branch sniff_init 
+:      025365 send_lmp_not_accepted:
+0x6060 025366 force 3 ,pdata 
+0x6061 025367 call msg_send_lmp 
+0x6062 025368 fetch 1 ,mem_lmi_opcode 
+0x6063 025369 beq lmp_au_rand ,send_not_accept_aurand 
+0x6064 025370 istore 1 ,contw 
+0x6065 025371 fetch 1 ,mem_lmo_reason 
+0x6066 025372 istore 1 ,contw 
+0x6067 025373 branch send_lmp_follow 
+:      025375 send_not_accept_aurand:
+0x6068 025376 istore 1 ,contw 
+0x6069 025377 fetch 1 ,mem_lmo_reason 
+0x606a 025378 istore 1 ,contw 
+0x606b 025379 arg mem_sres_tid ,temp 
+0x606c 025380 branch special_tid_store 
+:      025382 send_lmpext_accepted:
+0x606d 025383 force 4 ,queue 
+0x606e 025384 call send_lmpext 
+0x606f 025385 setarg lmp_escape 
+0x6070 025386 istore 1 ,contw 
+0x6071 025387 fetch 1 ,mem_lmi_opcode 
+0x6072 025388 set0 7 ,pdata 
+0x6073 025389 istore 1 ,contw 
+0x6074 025390 fetch 1 ,mem_lmi_opcode 
+0x6075 025391 branch send_lmp_follow 
+:      025393 send_lmpext_not_accepted:
+0x6076 025394 force 5 ,queue 
+0x6077 025395 call send_lmpext 
+0x6078 025396 setarg lmp_escape 
+0x6079 025397 istore 1 ,contw 
+0x607a 025398 fetch 1 ,mem_lmi_opcode 
+0x607b 025399 set0 7 ,pdata 
+0x607c 025400 istore 1 ,contw 
+0x607d 025401 fetch 1 ,mem_lmo_reason 
+0x607e 025402 istore 1 ,contw 
+0x607f 025403 branch send_lmp_follow 
+:      025406 send_lmp_accepted_inrand:
+0x6080 025407 call clear_linkkey 
+0x6081 025408 call tid_check 
+0x6082 025409 rtn true 
+0x6083 025410 branch lmp_generate_key 
+:      025412 send_lmp_accepted_enc_mode:
+0x6084 025413 fetch 1 ,mem_op 
+0x6085 025414 bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+0x6086 025415 rtnbit0 op_stop_enc 
+0x6087 025416 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+0x6088 025417 set0 op_stop_enc ,pdata 
+0x6089 025418 call tid_reply 
+0x608a 025419 branch send_lmp_accepted_enc_exit 
+:      025420 send_lmp_accepted_enc_start:
+0x608b 025421 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+0x608c 025422 set0 op_start_enc ,pdata 
+:      025423 send_lmp_accepted_enc_exit:
+0x608d 025424 store 1 ,mem_op 
+0x608e 025425 rtn 
+:      025427 send_lmp_accepted_enc_key:
+0x608f 025428 call check_localsm 
+0x6090 025429 branch lmp_start_encryption ,true 
+0x6091 025430 rtn 
+:      025432 send_lmp_accepted_connection:
+0x6092 025433 jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+0x6093 025435 fetch 1 ,mem_lmp_conn_state 
+0x6094 025436 set1 received_conn_req ,pdata 
+0x6095 025437 store 1 ,mem_lmp_conn_state 
+0x6096 025438 jam bt_evt_bb_connected ,mem_fifo_temp 
+0x6097 025439 branch ui_ipc_send_event 
+:      025442 send_lmp_accept_dhkey_check:
+0x6098 025443 rtn 
+:      025447 send_lmpext_features_res:
+0x6099 025448 force 12 ,queue 
+0x609a 025449 call send_lmpext 
+0x609b 025450 setarg 0x01 
+0x609c 025451 istore 1 ,contw 
+0x609d 025452 fetch 2 ,mem_lmpext_ssp_enable 
+0x609e 025453 istore 2 ,contw 
+0x609f 025454 setarg 0 
+0x60a0 025455 istore 3 ,contw 
+0x60a1 025456 setarg 0x00 
+0x60a2 025457 istore 4 ,contw 
+0x60a3 025458 branch send_lmp_reply 
+:      025459 send_lmpext_io_cap_res:
+0x60a4 025460 force 5 ,queue 
+0x60a5 025461 call send_lmpext 
+0x60a6 025462 fetch 3 ,mem_sp_iocap_local 
+0x60a7 025463 istore 3 ,contw 
+0x60a8 025464 call send_lmp_reply 
+0x60a9 025465 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+0x60aa 025466 fetch 1 ,mem_sp_iocap_local 
+0x60ab 025467 beq display_yesno ,responder_iocap_display_yesno 
+0x60ac 025468 beq keyboard_only ,responder_iocap_keyboard_only 
+0x60ad 025469 beq no_input_no_output ,responder_iocap_no_input_no_output 
+0x60ae 025470 rtn 
+:      025472 responder_iocap_keyboard_only:
+0x60af 025473 fetch 1 ,mem_sp_iocap_remote 
+0x60b0 025474 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+0x60b1 025475 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+0x60b2 025476 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+0x60b3 025477 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+0x60b4 025478 rtn 
+:      025481 responder_iocap_display_yesno:
+0x60b5 025482 fetch 1 ,mem_sp_iocap_remote 
+0x60b6 025483 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+0x60b7 025484 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+0x60b8 025485 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+0x60b9 025486 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+0x60ba 025487 rtn 
+:      025490 responder_iocap_no_input_no_output:
+0x60bb 025491 fetch 1 ,mem_sp_iocap_remote 
+0x60bc 025492 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+0x60bd 025493 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+0x60be 025494 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+0x60bf 025495 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+0x60c0 025496 rtn 
+:      025498 responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+:      025499 responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+:      025500 responder_iocap_display_yesno_initiator_iocap_display_only:
+:      025501 responder_iocap_no_input_no_output_initiator_iocap_display_only:
+:      025502 responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+:      025503 responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+:      025504 responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+:      025505 set_ssp_mode_justwork:
+0x60c1 025506 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+0x60c2 025507 fetch 1 ,mem_classic_bt_flag 
+0x60c3 025508 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+0x60c4 025509 rtn 
+:      025511 responder_iocap_display_yesno_initiator_iocap_display_yesno:
+:      025512 set_ssp_mode_numeric_comparison:
+0x60c5 025513 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+0x60c6 025514 rtn 
+:      025516 responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+:      025517 responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
+:      025518 responder_iocap_keyboard_only_initiator_iocap_display_only:
+:      025519 responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+:      025520 set_ssp_mode_passkey:
+0x60c7 025521 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+0x60c8 025522 rtn 
+:      025525 classic_bt_set_reject_justwork_flag:
+0x60c9 025526 arg flag_ssp_reject_justwork ,queue 
+0x60ca 025527 branch classic_bluetooth_set_flag 
+:      025529 classic_bt_clr_reject_justwork_flag:
+0x60cb 025530 arg flag_ssp_reject_justwork ,queue 
+0x60cc 025531 branch classic_bluetooth_clr_flag 
+:      025533 classic_bluetooth_set_flag:
+0x60cd 025534 fetch 1 ,mem_classic_bt_flag 
+0x60ce 025535 qset1 pdata 
+0x60cf 025536 store 1 ,mem_classic_bt_flag 
+0x60d0 025537 rtn 
+:      025539 classic_bluetooth_clr_flag:
+0x60d1 025540 fetch 1 ,mem_classic_bt_flag 
+0x60d2 025541 qset0 pdata 
+0x60d3 025542 store 1 ,mem_classic_bt_flag 
+0x60d4 025543 rtn 
+:      025546 send_lmp_io_cap_req:
+0x60d5 025547 force 5 ,queue 
+0x60d6 025548 call send_lmpext 
+0x60d7 025549 fetch 3 ,mem_sp_iocap_local 
+0x60d8 025550 istore 3 ,contw 
+0x60d9 025551 branch send_lmp_request 
+:      025554 send_lmpext_sniff_subrating_req:
+0x60da 025556 rtn 
+:      025557 send_lmpext_sniff_subrating_res:
+0x60db 025558 force 9 ,queue 
+0x60dc 025559 call send_lmpext 
+0x60dd 025560 fetch 1 ,mem_subsniff_rate 
+0x60de 025561 istore 1 ,contw 
+0x60df 025562 fetch 2 ,mem_subsniff_tcmax 
+0x60e0 025563 istore 2 ,contw 
+0x60e1 025564 fetch 4 ,mem_subsniff_instant 
+0x60e2 025565 istore 4 ,contw 
+0x60e3 025566 branch send_lmp_reply 
+:      025568 send_lmp_name_res:
+0x60e4 025569 force 17 ,pdata 
+0x60e5 025570 call msg_send_lmp 
+0x60e6 025571 fetch 1 ,mem_lmi_opcode 
+0x60e7 025572 copy pdata ,temp 
+0x60e8 025573 beq 0x00 ,send_lmp_name_res_offset_ok 
+0x60e9 025574 beq 0x0e ,send_lmp_name_res_offset_ok 
+0x60ea 025575 beq 0x1c ,send_lmp_name_res_offset_ok 
+0x60eb 025576 rtn 
+:      025577 send_lmp_name_res_offset_ok:
+0x60ec 025578 istore 1 ,contw 
+0x60ed 025579 fetch 1 ,mem_local_name_length 
+0x60ee 025580 istore 1 ,contw 
+0x60ef 025581 arg 14 ,loopcnt 
+0x60f0 025582 setarg mem_local_name 
+0x60f1 025583 iadd temp ,contr 
+0x60f2 025584 call memcpy 
+0x60f3 025585 branch send_lmp_reply 
+:      025588 send_lmp_timing_accuracy_res:
+0x60f4 025589 force 3 ,pdata 
+0x60f5 025590 call msg_send_lmp 
+0x60f6 025591 setarg 0x0114 
+0x60f7 025592 istore 2 ,contw 
+0x60f8 025593 branch send_lmp_reply 
+:      025595 send_lmp_clkoffset_res:
+0x60f9 025597 force 3 ,pdata 
+0x60fa 025598 call msg_send_lmp 
+0x60fb 025599 fetch 4 ,mem_clke_bt 
+0x60fc 025600 isub clkn_bt ,pdata 
+0x60fd 025601 branch send_lmp_clkoffset_res_master ,master 
+0x60fe 025602 sub pdata ,0 ,pdata 
+:      025603 send_lmp_clkoffset_res_master:
+0x60ff 025605 rshift2 pdata ,pdata 
+0x6100 025606 set0 15 ,pdata 
+0x6101 025607 istore 2 ,contw 
+0x6102 025608 branch send_lmp_reply 
+:      025610 send_lmp_version_res:
+0x6103 025611 force 6 ,pdata 
+0x6104 025612 call msg_send_lmp 
+0x6105 025613 fetch 5 ,mem_lmp_version 
+0x6106 025614 istore 5 ,contw 
+0x6107 025615 branch send_lmp_reply 
+:      025617 send_lmp_features_res:
+0x6108 025618 force 9 ,pdata 
+0x6109 025619 call msg_send_lmp 
+0x610a 025620 fetch 8 ,mem_features 
+0x610b 025621 istore 8 ,contw 
+0x610c 025622 branch send_lmp_reply 
+:      025629 send_lmpext_features_req:
+0x610d 025630 force 12 ,queue 
+0x610e 025631 call send_lmpext 
+0x610f 025632 setarg 0x01 
+0x6110 025633 istore 1 ,contw 
+0x6111 025634 fetch 2 ,mem_lmpext_ssp_enable 
+0x6112 025635 istore 2 ,contw 
+0x6113 025636 setarg 0 
+0x6114 025637 istore 3 ,contw 
+0x6115 025638 setarg 0x00 
+0x6116 025639 istore 4 ,contw 
+0x6117 025640 branch send_lmp_request 
+:      025642 send_lmpext_packet_type_table_req:
+0x6118 025643 force 3 ,queue 
+0x6119 025644 call send_lmpext 
+0x611a 025645 fetch 1 ,mem_ptt 
+0x611b 025646 istore 1 ,contw 
+0x611c 025647 disable user 
+0x611d 025648 call send_lmp_request 
+0x611e 025649 nrtn user 
+0x611f 025650 nrtn master 
+0x6120 025651 fetch 1 ,mem_afh_cfg 
+0x6121 025652 rtnbit0 afh_cfg_on 
+0x6122 025653 call afh_init 
+0x6123 025654 branch afh_open_all_channels 
+:      025657 ssp_enable:
+0x6124 025658 bpatchx patch30_4 ,mem_patch30 
+0x6125 025659 fetch 1 ,mem_features + 6 
+0x6126 025660 set1 param_featrue_ssp ,pdata 
+0x6127 025661 store 1 ,mem_features + 6 
+0x6128 025662 setarg param_lmpext_ssp_enable 
+0x6129 025663 store 2 ,mem_lmpext_ssp_enable 
+0x612a 025664 rtn 
+:      025666 ssp_disable:
+0x612b 025667 bpatchx patch30_5 ,mem_patch30 
+0x612c 025668 fetch 1 ,mem_features + 6 
+0x612d 025669 set0 param_featrue_ssp ,pdata 
+0x612e 025670 store 1 ,mem_features + 6 
+0x612f 025671 setarg 0 
+0x6130 025672 store 2 ,mem_lmpext_ssp_enable 
+0x6131 025673 rtn 
+:      025675 afh_init:
+0x6132 025676 jam 0x3 ,mem_afh_cfg 
+0x6133 025677 setarg 0 
+0x6134 025678 store 4 ,mem_afh_timer 
+0x6135 025679 arg mem_afh_map_lo ,contw 
+0x6136 025680 call afh_reset_map 
+0x6137 025681 arg mem_afh_map_new ,contw 
+0x6138 025682 call afh_reset_map 
+0x6139 025683 arg mem_afh_classify_channel_map ,contw 
+0x613a 025684 call afh_reset_map 
+0x613b 025685 branch afh_clear_error_counter 
+:      025686 afh_open_all_channels:
+0x613c 025687 arg mem_afh_map_new ,contw 
+0x613d 025688 call afh_reset_map 
+0x613e 025689 call afh_clear_error_counter 
+0x613f 025690 branch afh_set_send_flag 
+:      025693 afh_reset_map:
+0x6140 025694 setarg 0xffffff 
+0x6141 025695 istore 3 ,contw 
+0x6142 025696 istore 3 ,contw 
+0x6143 025697 istore 3 ,contw 
+0x6144 025698 setarg 0x7f 
+0x6145 025699 istore 1 ,contw 
+0x6146 025700 rtn 
+:      025701 afh_clear_error_counter:
+0x6147 025702 setarg 0 
+0x6148 025703 store 2 ,mem_afh_error_total 
+0x6149 025704 rtn 
+:      025705 afh_set_send_flag:
+0x614a 025706 fetch 1 ,mem_afh_cfg 
+0x614b 025707 set1 send_lmp_set_afh ,pdata 
+0x614c 025708 store 1 ,mem_afh_cfg 
+0x614d 025709 rtn 
+:      025712 send_lmpext_pause_encryption_req:
+0x614e 025713 force 2 ,queue 
+0x614f 025714 call send_lmpext 
+0x6150 025715 nbranch send_lmp_reply ,master 
+0x6151 025717 branch send_lmp_request 
+:      025721 send_lmp_detach:
+0x6152 025722 force 2 ,pdata 
+0x6153 025723 call msg_send_lmp 
+0x6154 025724 fetch 1 ,mem_disconn_reason_send 
+0x6155 025725 istore 1 ,contw 
+0x6156 025726 call send_lmp_request 
+:      025727 prepare_disconnect:
+0x6157 025728 fetch 1 ,mem_op 
+0x6158 025729 set1 op_disconn ,pdata 
+0x6159 025730 store 1 ,mem_op 
+0x615a 025731 jam 50 ,mem_conn_timer 
+0x615b 025732 rtn 
+:      025735 send_lmp_no_payload:
+0x615c 025736 force 1 ,pdata 
+0x615d 025737 call msg_send_lmp 
+0x615e 025738 branch send_lmp_request 
+:      025739 send_lmp_nopayload_reply:
+0x615f 025740 force 1 ,pdata 
+0x6160 025741 call msg_send_lmp 
+0x6161 025742 branch send_lmp_reply 
+:      025745 send_lmp_encryption_mode_req:
+0x6162 025746 force 2 ,pdata 
+0x6163 025747 call msg_send_lmp 
+0x6164 025748 fetch 1 ,mem_state_map 
+0x6165 025749 isolate0 smap_encryption ,pdata 
+0x6166 025750 setflag true ,0 ,pdata 
+0x6167 025751 and_into 1 ,pdata 
+0x6168 025752 istore 1 ,contw 
+0x6169 025753 branch send_lmp_request 
+:      025756 send_lmp_superto:
+0x616a 025757 force 3 ,pdata 
+0x616b 025758 call msg_send_lmp 
+0x616c 025759 fetch 2 ,mem_supervision_to 
+0x616d 025760 istore 2 ,contw 
+0x616e 025761 branch send_lmp_request 
+:      025763 send_lmp_name_req:
+0x616f 025764 jam 250 ,mem_conn_timer 
+0x6170 025765 force 2 ,pdata 
+0x6171 025766 call msg_send_lmp 
+0x6172 025767 fetch 1 ,mem_name_offset 
+0x6173 025768 istore 1 ,contw 
+0x6174 025769 branch send_lmp_request 
+:      025771 send_lmp_test_control:
+0x6175 025772 force 10 ,pdata 
+0x6176 025773 call msg_send_lmp 
+0x6177 025774 arg mem_temp_payload ,contr 
+0x6178 025775 force 9 ,loopcnt 
+:      025776 send_lmp_test_control_loop:
+0x6179 025777 ifetch 1 ,contr 
+0x617a 025778 xor_into 0x55 ,pdata 
+0x617b 025779 istore 1 ,contw 
+0x617c 025780 loop send_lmp_test_control_loop 
+0x617d 025781 branch send_lmp_request 
+:      025783 send_lmp_quality_of_service_req:
+0x617e 025784 branch send_lmp_request 
+:      025785 send_lmp_unit_key:
+0x617f 025786 branch send_lmp_request 
+:      025788 send_lmp_slot_offset:
+0x6180 025789 rtn master 
+0x6181 025790 call calc_slot_offset 
+0x6182 025791 force 9 ,pdata 
+0x6183 025792 call msg_send_lmp 
+0x6184 025793 fetch 2 ,mem_slot_offset 
+0x6185 025794 istore 2 ,contw 
+0x6186 025795 fetch 3 ,mem_lap 
+0x6187 025796 istore 3 ,contw 
+0x6188 025797 fetch 1 ,mem_uap 
+0x6189 025798 istore 1 ,contw 
+0x618a 025799 fetch 2 ,mem_nap 
+0x618b 025800 istore 2 ,contw 
+0x618c 025801 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+0x618d 025802 set0 mark_switch_initiated ,mark 
+0x618e 025803 call send_lmp_request 
+0x618f 025804 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6190 025805 rtn 
+:      025806 send_lmp_slot_offset_reply:
+0x6191 025807 call send_lmp_reply 
+0x6192 025808 jam lmp_accepted ,mem_lmo_opcode2 
+0x6193 025809 jam lmp_switch_req ,mem_lmi_opcode2 
+0x6194 025810 rtn 
+:      025812 send_lmp_switch_req:
+0x6195 025813 arg 0x200 ,temp 
+0x6196 025814 branch switch_on_native ,master 
+0x6197 025815 deposit clke_bt 
+0x6198 025816 branch switch_slack 
+:      025817 switch_on_native:
+0x6199 025818 deposit clkn_bt 
+:      025819 switch_slack:
+0x619a 025820 deposit bt_clk 
+0x619b 025821 iadd temp ,pdata 
+0x619c 025822 and_into 0x1fc ,pdata 
+0x619d 025823 store 4 ,mem_sniff_anchor 
+0x619e 025824 force 5 ,pdata 
+0x619f 025825 call msg_send_lmp 
+0x61a0 025826 fetch 4 ,mem_sniff_anchor 
+0x61a1 025827 rshift pdata ,pdata 
+0x61a2 025828 istore 4 ,contw 
+0x61a3 025829 branch send_lmp_request 
+:      025831 send_lmp_sniff_req:
+0x61a4 025832 force 10 ,pdata 
+0x61a5 025833 call msg_send_lmp 
+0x61a6 025834 arg mem_sniff_payload ,contr 
+0x61a7 025835 ifetch 9 ,contr 
+0x61a8 025836 istore 9 ,contw 
+0x61a9 025837 branch send_lmp_request 
+:      025840 send_lmp_timing_accuracy_req:
+0x61aa 025842 force 3 ,pdata 
+0x61ab 025843 call msg_send_lmp 
+0x61ac 025844 setarg 0x0114 
+0x61ad 025845 istore 2 ,contw 
+0x61ae 025846 branch send_lmp_request 
+:      025848 send_lmp_unsniff_req:
+0x61af 025850 force 1 ,pdata 
+0x61b0 025851 call msg_send_lmp 
+0x61b1 025860 branch send_lmp_request 
+:      025863 send_lmp_max_slot:
+0x61b2 025864 force 2 ,pdata 
+0x61b3 025865 call msg_send_lmp 
+0x61b4 025866 fetch 1 ,mem_max_slot 
+0x61b5 025867 istore 1 ,contw 
+0x61b6 025868 branch send_lmp_request 
+:      025871 send_lmp_max_slot_req:
+0x61b7 025872 force 2 ,pdata 
+0x61b8 025873 call msg_send_lmp 
+0x61b9 025874 setarg 0x05 
+0x61ba 025875 istore 1 ,contw 
+0x61bb 025876 branch send_lmp_request 
+:      025879 send_lmp_inc_power:
+0x61bc 025880 force 2 ,pdata 
+0x61bd 025881 call msg_send_lmp 
+0x61be 025882 setarg 0x00 
+0x61bf 025883 istore 1 ,contw 
+0x61c0 025884 branch send_lmp_request 
+:      025887 send_lmp_setup_complete_by_module:
+0x61c1 025888 jam lmp_max_slot_req ,mem_lmo_opcode2 
+0x61c2 025889 rtn 
+:      025890 send_lmp_setup_complete:
+0x61c3 025891 fetch 1 ,mem_device_option 
+0x61c4 025892 sub pdata ,dvc_op_module ,null 
+0x61c5 025893 call send_lmp_setup_complete_by_module ,zero 
+0x61c6 025894 fetch 1 ,mem_state 
+0x61c7 025895 set1 state_conn_comp ,pdata 
+0x61c8 025896 store 1 ,mem_state 
+0x61c9 025897 copy clkn_bt ,pdata 
+0x61ca 025898 store 4 ,mem_aurand_send_delay_time 
+0x61cb 025899 fetch 1 ,mem_lmp_conn_state 
+0x61cc 025900 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+0x61cd 025901 set1 sent_setup_complete ,pdata 
+0x61ce 025902 store 1 ,mem_lmp_conn_state 
+0x61cf 025903 jam bt_evt_setup_complete ,mem_fifo_temp 
+0x61d0 025904 call ui_ipc_send_event 
+0x61d1 025905 force 1 ,pdata 
+0x61d2 025906 call msg_send_lmp 
+0x61d3 025907 branch send_lmp_request 
+:      025908 send_lmp_setup_complete_has_sent:
+0x61d4 025909 jam 0 ,mem_lmp_to_send 
+0x61d5 025910 rtn 
+:      025912 send_lmp_version_req:
+0x61d6 025913 force 6 ,pdata 
+0x61d7 025914 call msg_send_lmp 
+0x61d8 025915 fetch 5 ,mem_lmp_version 
+0x61d9 025916 istore 5 ,contw 
+0x61da 025917 branch send_lmp_request 
+:      025919 send_lmp_features_req:
+0x61db 025920 force 9 ,pdata 
+0x61dc 025921 call msg_send_lmp 
+0x61dd 025922 fetch 8 ,mem_features 
+0x61de 025923 istore 8 ,contw 
+0x61df 025924 branch send_lmp_request 
+:      025926 sp_master_send_io_cap_get:
+0x61e0 025927 jam sp_flag_commit ,mem_master_sp_flag 
+0x61e1 025928 fetch 1 ,mem_sp_local_key_invalid 
+0x61e2 025929 rtnne sp_key_valid 
+0x61e3 025930 jam sp_master_stat_start_done ,mem_master_sp_state 
+0x61e4 025931 rtn 
+:      025933 sp_master_send_io_cap_send:
+0x61e5 025934 call tid_initiate 
+0x61e6 025935 jam lmp_io_cap_req ,mem_lmo_opcode2 
+0x61e7 025936 jam sp_stat_key_send ,mem_master_sp_state 
+0x61e8 025937 rtn 
+:      025940 sp_master_send_lmp_encapsulated_header:
+0x61e9 025941 call tid_initiate 
+0x61ea 025942 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x61eb 025943 jam sp_stat_random_send ,mem_master_sp_state 
+0x61ec 025944 rtn 
+:      025946 sp_master_commitment_compare:
+0x61ed 025947 arg mem_sp_calc_result_high ,rega 
+0x61ee 025948 arg mem_sp_confirm_remote ,regb 
+0x61ef 025949 arg 16 ,loopcnt 
+0x61f0 025950 call string_compare 
+0x61f1 025951 branch sp_master_commitment_compare_success ,zero 
+0x61f2 025952 jam sp_stat_null ,mem_master_sp_state 
+0x61f3 025953 call master_clear_mem_master_sp_flag 
+0x61f4 025954 jam pdu_not_allowed ,mem_lmo_reason2 
+0x61f5 025955 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x61f6 025956 branch reject_lmp_packet 
+:      025957 sp_master_commitment_compare_success:
+0x61f7 025958 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x61f8 025959 call master_set_mem_master_sp_flag 
+0x61f9 025960 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+0x61fa 025961 branch accept_lmp_msg 
+:      025965 sp_master_send_lmp_simple_pairing_number:
+0x61fb 025966 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x61fc 025967 rtn 
+:      025971 sp_send_lmp_encapsulated_header:
+0x61fd 025974 jam lmp_encapsulated_header ,mem_lmo_opcode2 
+0x61fe 025976 rtn 
+:      025982 send_lmp_encapsulated_header:
+0x61ff 025983 jam 0 ,mem_sp_local_key_send_count 
+0x6200 025984 force 4 ,pdata 
+0x6201 025985 call msg_send_lmp 
+0x6202 025986 force encapsulated_major_type_p192 ,pdata 
+0x6203 025987 istore 1 ,contw 
+0x6204 025988 force encapsulated_minor_type_p192 ,pdata 
+0x6205 025989 istore 1 ,contw 
+0x6206 025990 force encapsulated_len_p192 ,pdata 
+0x6207 025991 istore 1 ,contw 
+0x6208 025992 call check_localsm 
+0x6209 025993 branch send_lmp_request ,true 
+0x620a 025994 branch send_lmp_reply 
+:      025996 send_lmp_encapsulated_payload:
+0x620b 025998 force 17 ,pdata 
+0x620c 025999 call msg_send_lmp 
+0x620d 026000 fetch 1 ,mem_sp_local_key_send_count 
+0x620e 026001 arg mem_sp_pubkey_local ,contr 
+0x620f 026002 iadd contr ,contr 
+0x6210 026003 ifetch 8 ,contr 
+0x6211 026004 istore 8 ,contw 
+0x6212 026005 ifetch 8 ,contr 
+0x6213 026006 istore 8 ,contw 
+0x6214 026007 fetch 1 ,mem_sp_local_key_send_count 
+0x6215 026008 increase 16 ,pdata 
+0x6216 026009 store 1 ,mem_sp_local_key_send_count 
+0x6217 026010 call check_localsm 
+0x6218 026011 branch send_lmp_request ,true 
+0x6219 026012 branch send_lmp_reply 
+:      026015 sp_send_lmp_simple_pairing_comfirm:
+0x621a 026016 jam sp_stat_random_recv ,mem_sp_state 
+0x621b 026017 jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+0x621c 026018 rtn 
+:      026019 send_lmp_simple_pairing_comfirm:
+0x621d 026022 force 17 ,pdata 
+0x621e 026023 call msg_send_lmp 
+0x621f 026024 arg mem_sp_calc_result_high ,contr 
+0x6220 026025 ifetch 8 ,contr 
+0x6221 026026 istore 8 ,contw 
+0x6222 026027 ifetch 8 ,contr 
+0x6223 026028 istore 8 ,contw 
+0x6224 026029 branch send_lmp_reply 
+:      026031 sp_send_lmp_simple_pairing_number:
+0x6225 026032 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+0x6226 026033 rtn 
+:      026035 send_lmp_simple_pairing_number:
+0x6227 026037 call check_localsm 
+0x6228 026038 call sp_local_random_key_generator ,true 
+0x6229 026039 force 17 ,pdata 
+0x622a 026040 call msg_send_lmp 
+0x622b 026041 arg mem_sp_random_local ,contr 
+0x622c 026042 ifetch 8 ,contr 
+0x622d 026043 istore 8 ,contw 
+0x622e 026044 ifetch 8 ,contr 
+0x622f 026045 istore 8 ,contw 
+0x6230 026046 call check_localsm 
+0x6231 026047 nbranch send_lmp_reply ,true 
+0x6232 026048 branch send_lmp_request ,true 
+:      026050 master_sp_sm_end:
+0x6233 026052 jam sp_stat_done ,mem_master_sp_state 
+:      026053 sp_aurand_send:
+0x6234 026054 call tid_initiate 
+0x6235 026055 jam lmp_au_rand ,mem_lmo_opcode2 
+0x6236 026056 call check_localsm_master 
+0x6237 026057 branch sp_master_key_prarm_push ,true 
+0x6238 026058 branch sp_link_key_prarm_push 
+:      026059 master_sp_send_lmp_dhkey_check:
+0x6239 026060 call tid_reply 
+:      026061 sp_send_lmp_dhkey_check:
+0x623a 026062 jam lmp_dhkey_check ,mem_lmo_opcode2 
+0x623b 026063 rtn 
+:      026064 send_lmp_dhkey_check:
+0x623c 026066 force 17 ,pdata 
+0x623d 026067 call msg_send_lmp 
+0x623e 026068 arg mem_sp_calc_result_high ,contr 
+0x623f 026069 ifetch 8 ,contr 
+0x6240 026070 istore 8 ,contw 
+0x6241 026071 ifetch 8 ,contr 
+0x6242 026072 istore 8 ,contw 
+0x6243 026073 call check_localsm 
+0x6244 026074 nbranch send_lmp_reply ,true 
+0x6245 026075 branch send_lmp_request ,true 
+:      026077 send_lmp_enc_key_size_mask_res:
+0x6246 026078 force 3 ,pdata 
+0x6247 026079 call msg_send_lmp 
+0x6248 026080 setarg 0xfffe 
+0x6249 026081 istore 2 ,contw 
+0x624a 026082 branch send_lmp_reply 
+:      026084 send_lmp_auto_rate:
+0x624b 026085 branch send_lmp_request 
+:      026086 send_lmp_clkoffset_req:
+0x624c 026087 branch send_lmp_request 
+:      026088 send_lmp_quality_of_service:
+0x624d 026089 branch send_lmp_request 
+:      026090 send_lmp_test_activate:
+0x624e 026091 branch send_lmp_request 
+:      026096 send_lmp_comb_key:
+0x624f 026097 call generate_random_number 
+0x6250 026098 arg mem_lap ,rega 
+0x6251 026099 call generate_linkkey 
+0x6252 026100 force 17 ,pdata 
+0x6253 026101 call msg_send_lmp 
+0x6254 026102 arg mem_kinit ,rega 
+0x6255 026103 arg mem_random_number ,regb 
+0x6256 026104 call xor16 
+0x6257 026105 nbranch send_lmp_follow ,master 
+0x6258 026106 branch send_lmp_tid 
+:      026108 send_lmp_inrand:
+0x6259 026109 call generate_random_number 
+0x625a 026110 arg mem_plap ,rega 
+0x625b 026111 call generate_kinit 
+:      026112 send_lmp_rand:
+0x625c 026113 force 17 ,pdata 
+0x625d 026114 call msg_send_lmp 
+0x625e 026115 arg mem_random_number ,contr 
+0x625f 026116 call memcpy16 
+0x6260 026117 fetch 1 ,mem_conn_sm 
+0x6261 026118 beq conn_sm_auth_wait ,send_lmp_request 
+0x6262 026119 beq conn_sm_pairing_wait ,send_lmp_request 
+0x6263 026120 branch send_lmp_tid 
+:      026122 send_lmp_aurand:
+0x6264 026123 fetch 1 ,mem_pairing_auth 
+0x6265 026124 branch send_lmp_aurand_notpairing ,blank 
+0x6266 026125 call check_localsm 
+0x6267 026126 call tid_initiate ,true 
+0x6268 026127 ncall tid_reply ,true 
+0x6269 026128 branch send_lmp_aurand_common 
+:      026129 send_lmp_aurand_notpairing:
+0x626a 026130 call tid_initiate 
+:      026131 send_lmp_aurand_common:
+0x626b 026132 call generate_random_number 
+0x626c 026133 branch send_lmp_rand 
+:      026135 send_lmp_sres:
+0x626d 026136 arg mem_lap ,rega 
+0x626e 026137 call function_e1 
+0x626f 026138 force 5 ,pdata 
+0x6270 026139 call msg_send_lmp 
+0x6271 026140 fetch 4 ,mem_input_store 
+0x6272 026141 istore 4 ,contw 
+0x6273 026142 arg mem_sres_tid ,temp 
+0x6274 026143 call special_tid_store 
+0x6275 026144 call copy_aco 
+0x6276 026145 call check_localsm 
+0x6277 026146 branch send_lmp_sres_master ,true 
+0x6278 026147 jam done_encryp ,mem_wait_encryption 
+0x6279 026148 fetch 1 ,mem_pairing_auth 
+0x627a 026149 rtn blank 
+0x627b 026150 jam lmp_au_rand ,mem_lmo_opcode2 
+:      026151 send_lmp_sres_master:
+0x627c 026152 fetch 1 ,mem_link_key_exists 
+0x627d 026153 rtn blank 
+:      026154 send_lmp_sres_startenc:
+0x627e 026155 call check_localsm 
+0x627f 026156 nbranch send_lmp_sres_startenc_slave ,true 
+0x6280 026157 fetch 1 ,mem_auth_enable 
+0x6281 026158 rtn blank 
+0x6282 026159 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6283 026160 rtn 
+:      026161 send_lmp_sres_startenc_slave:
+0x6284 026162 rtnmark0 mark_slave_in_rand_accepted 
+0x6285 026163 set0 mark_slave_in_rand_accepted ,mark 
+0x6286 026164 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x6287 026165 rtn 
+:      026169 send_lmp_start_encryption:
+0x6288 026170 call generate_random_number 
+0x6289 026171 call function_e3 
+0x628a 026172 force 17 ,pdata 
+0x628b 026173 call msg_send_lmp 
+0x628c 026174 arg mem_random_number ,contr 
+0x628d 026175 call memcpy16 
+0x628e 026176 branch send_lmp_tid 
+:      026178 send_lmp_stop_encryption_req:
+0x628f 026179 force 1 ,pdata 
+0x6290 026180 call msg_send_lmp 
+0x6291 026181 branch send_lmp_tid 
+:      026183 send_lmp_encryption_key_size_req:
+0x6292 026184 force 2 ,pdata 
+0x6293 026185 call msg_send_lmp 
+0x6294 026186 force 16 ,pdata 
+0x6295 026187 istore 1 ,contw 
+0x6296 026188 store 1 ,mem_key_size 
+0x6297 026189 branch send_lmp_tid 
+:      026191 msg_send_lmp:
+0x6298 026193 lshift3 pdata ,pdata 
+0x6299 026194 or_into 0x07 ,pdata 
+0x629a 026195 store 1 ,mem_lmo_header_length 
+0x629b 026196 arg 17 ,loopcnt 
+0x629c 026197 arg mem_lmo_payload ,contw 
+0x629d 026198 call clear_mem 
+0x629e 026199 arg mem_lmo_payload ,contw 
+0x629f 026200 rtn 
+:      026202 send_lmpext:
+0x62a0 026203 and pdata ,0x7f ,rega 
+0x62a1 026204 jam lmp_escape ,mem_lmp_to_send 
+0x62a2 026205 deposit queue 
+0x62a3 026206 call msg_send_lmp 
+0x62a4 026207 deposit rega 
+0x62a5 026208 istore 1 ,contw 
+0x62a6 026209 rtn 
+:      026211 send_lmp_follow:
+0x62a7 026212 fetch 1 ,mem_lmp_to_send 
+0x62a8 026213 lshift pdata ,pdata 
+0x62a9 026214 fetcht 1 ,mem_state_map 
+0x62aa 026215 isolate1 smap_lmptid ,temp 
+0x62ab 026216 setflag true ,0 ,pdata 
+0x62ac 026217 branch send_lmp_exit 
+:      026220 send_lmp_tid:
+0x62ad 026221 fetcht 1 ,mem_state_map 
+0x62ae 026222 and_into 1 ,temp 
+0x62af 026223 branch send_lmp_end 
+:      026225 send_lmp_reply:
+0x62b0 026226 force 0 ,temp 
+0x62b1 026227 branch send_lmp_end 
+:      026229 send_lmp_request:
+0x62b2 026230 force 1 ,temp 
+:      026231 send_lmp_end:
+0x62b3 026232 fetch 1 ,mem_lmp_to_send 
+0x62b4 026233 lshift pdata ,pdata 
+0x62b5 026234 setflag master ,0 ,pdata 
+0x62b6 026235 ixor temp ,pdata 
+:      026236 send_lmp_exit:
+0x62b7 026237 store 1 ,mem_lmo_header_opcode 
+0x62b8 026238 jam 0 ,mem_lmp_to_send 
+0x62b9 026239 call lmo_fifo_process_lmo0empty 
+0x62ba 026240 enable user 
+0x62bb 026241 rtn 
+:      026244 lmo_fifo_check:
+0x62bc 026245 fetch 1 ,mem_lmo_opcode2 
+0x62bd 026246 rtn blank 
+0x62be 026247 call lmo_fifo_process 
+0x62bf 026248 fetch 1 ,mem_lmo_opcode2 
+0x62c0 026249 rtn 
+:      026251 lmo_fifo_process:
+0x62c1 026252 bpatchx patch30_6 ,mem_patch30 
+0x62c2 026253 fetch 1 ,mem_lmp_to_send 
+0x62c3 026254 branch lmo_fifo_process_lmo0empty ,blank 
+0x62c4 026255 fetch 1 ,mem_lmo_opcode1 
+0x62c5 026256 nrtn blank 
+0x62c6 026257 branch lmo_fifo_process_lmo2to1 
+:      026258 lmo_fifo_process_lmo0empty:
+0x62c7 026259 fetch 1 ,mem_lmo_opcode1 
+0x62c8 026260 branch lmo_fifo_process_lmo1_empty ,blank 
+0x62c9 026261 fetch 3 ,mem_lmo_opcode1 
+0x62ca 026262 store 3 ,mem_lmp_to_send 
+0x62cb 026263 fetcht 1 ,mem_lmo_tid1 
+0x62cc 026264 fetch 1 ,mem_state_map 
+0x62cd 026265 set0 smap_lmptid ,pdata 
+0x62ce 026266 ior temp ,pdata 
+0x62cf 026267 store 1 ,mem_state_map 
+0x62d0 026268 jam 0 ,mem_lmo_opcode1 
+:      026269 lmo_fifo_process_lmo2to1:
+0x62d1 026270 fetch 1 ,mem_lmo_opcode2 
+0x62d2 026271 rtn blank 
+0x62d3 026272 fetch 4 ,mem_lmo_opcode2 
+0x62d4 026273 store 4 ,mem_lmo_opcode1 
+0x62d5 026274 jam 0 ,mem_lmo_opcode2 
+0x62d6 026275 rtn 
+:      026276 lmo_fifo_process_lmo1_empty:
+0x62d7 026277 fetch 1 ,mem_lmo_opcode2 
+0x62d8 026278 rtn blank 
+0x62d9 026279 fetch 3 ,mem_lmo_opcode2 
+0x62da 026280 store 3 ,mem_lmp_to_send 
+0x62db 026281 fetcht 1 ,mem_lmo_tid2 
+0x62dc 026282 fetch 1 ,mem_state_map 
+0x62dd 026283 set0 smap_lmptid ,pdata 
+0x62de 026284 ior temp ,pdata 
+0x62df 026285 store 1 ,mem_state_map 
+0x62e0 026286 jam 0 ,mem_lmo_opcode2 
+0x62e1 026287 rtn 
+:      026290 special_tid_store:
+0x62e2 026291 bpatchx patch30_7 ,mem_patch30 
+0x62e3 026292 fetch 1 ,mem_state_map 
+0x62e4 026293 copy pdata ,regc 
+0x62e5 026294 ifetch 1 ,temp 
+0x62e6 026295 call pop_tid_follow 
+0x62e7 026296 call send_lmp_follow 
+0x62e8 026297 copy regc ,pdata 
+0x62e9 026298 store 1 ,mem_state_map 
+0x62ea 026299 rtn 
+:      026301 tid_reply:
+0x62eb 026302 fetcht 1 ,mem_state_map 
+0x62ec 026303 set0 smap_lmptidinit ,temp 
+0x62ed 026304 storet 1 ,mem_state_map 
+0x62ee 026305 rtn 
+:      026307 tid_initiate:
+0x62ef 026308 fetcht 1 ,mem_state_map 
+0x62f0 026309 set1 smap_lmptidinit ,temp 
+0x62f1 026310 storet 1 ,mem_state_map 
+0x62f2 026311 rtn 
+:      026314 tid_check:
+0x62f3 026315 nsetflag master ,smap_lmptid ,pdata 
+0x62f4 026316 fetcht 1 ,mem_state_map 
+0x62f5 026317 ixor temp ,pdata 
+0x62f6 026318 isolate1 smap_lmptid ,pdata 
+0x62f7 026319 rtn 
+:      026322 tid_set_reply:
+0x62f8 026323 fetch 1 ,mem_state_map 
+0x62f9 026324 setflag master ,smap_lmptid ,pdata 
+0x62fa 026325 store 1 ,mem_state_map 
+0x62fb 026326 rtn 
+:      026329 check_localsm:
+0x62fc 026330 fetch 1 ,mem_sp_localsm 
+0x62fd 026331 compare local_statemachine ,pdata ,0x7f 
+0x62fe 026332 rtn 
+:      026333 setlocalsm_master:
+0x62ff 026334 fetch 1 ,mem_sp_localsm 
+0x6300 026335 set1 7 ,pdata 
+0x6301 026336 store 1 ,mem_sp_localsm 
+0x6302 026337 rtn 
+:      026338 setlocalsm_slave:
+0x6303 026339 fetch 1 ,mem_sp_localsm 
+0x6304 026340 set0 7 ,pdata 
+0x6305 026341 store 1 ,mem_sp_localsm 
+0x6306 026342 rtn 
+:      026343 check_localsm_master:
+0x6307 026344 fetch 1 ,mem_sp_localsm 
+0x6308 026345 isolate1 7 ,pdata 
+0x6309 026346 store 1 ,mem_sp_localsm 
+0x630a 026347 rtn 
+:      026349 generate_random_number:
+0x630b 026351 arg mem_random_number ,contw 
+:      026352 generate_random:
+0x630c 026353 force 16 ,loopcnt 
+:      026354 generate_random_another:
+:      026355 generate_random_loop:
+0x630d 026356 random pdata 
+0x630e 026357 istore 1 ,contw 
+0x630f 026358 loop generate_random_another 
+0x6310 026359 rtn 
+:      026361 generate_linkkey:
+0x6311 026362 call function_e21 
+0x6312 026363 arg mem_link_key ,rega 
+0x6313 026364 arg mem_input_store ,regb 
+0x6314 026365 ifetch 8 ,rega 
+0x6315 026366 fetcht 1 ,mem_state 
+0x6316 026367 nsetflag blank ,state_combkey ,temp 
+0x6317 026368 storet 1 ,mem_state 
+0x6318 026369 copy rega ,contw 
+0x6319 026370 call xor16 
+0x631a 026371 branch generate_linkkey_continue 
+:      026377 process_conn_sm:
+0x631b 026379 bpatchx patch31_0 ,mem_patch31 
+0x631c 026381 call lmo_fifo_check 
+0x631d 026382 nrtn blank 
+:      026383 process_conn_sm_continue:
+0x631e 026384 fetch 1 ,mem_conn_sm 
+0x631f 026385 rtn blank 
+0x6320 026389 beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+0x6321 026390 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+0x6322 026391 beq conn_sm_send_features ,host_create_conn_send_features 
+0x6323 026392 beq conn_sm_wait_features_res ,host_create_conn_waiting 
+0x6324 026393 beq conn_sm_send_switch ,host_create_conn_send_switch 
+0x6325 026394 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+0x6326 026395 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+0x6327 026396 beq conn_sm_encrypt ,host_create_conn_encrypt 
+0x6328 026397 beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+0x6329 026398 beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+0x632a 026399 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+0x632b 026400 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+0x632c 026401 beq conn_sm_detach_delay ,host_create_conn_master_detach 
+0x632d 026402 beq conn_sm_send_version ,host_create_conn_send_version 
+0x632e 026403 beq conn_sm_wait_version ,host_create_conn_waiting 
+0x632f 026404 beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+0x6330 026405 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+0x6331 026406 beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+0x6332 026407 beq conn_sm_pairing ,host_create_conn_pairing 
+0x6333 026408 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+0x6334 026409 beq conn_sm_auth ,host_create_conn_auth 
+0x6335 026410 beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+0x6336 026411 beq conn_sm_done ,host_create_conn_done 
+0x6337 026412 beq conn_sm_wait_done ,host_create_conn_done_wait 
+0x6338 026413 jam conn_sm_standby ,mem_conn_sm 
+0x6339 026415 rtn 
+:      026416 host_create_conn_done:
+0x633a 026417 fetch 1 ,mem_lmp_conn_state 
+0x633b 026418 rtnbit0 received_setup_complete 
+0x633c 026419 rtnbit0 sent_setup_complete 
+0x633d 026420 jam conn_sm_standby ,mem_conn_sm 
+0x633e 026421 call host_conn_judge_encrypt 
+0x633f 026422 branch scheduler_start_upper_sm 
+:      026424 host_conn_judge_encrypt:
+0x6340 026425 fetch 1 ,mem_connection_options 
+0x6341 026426 rtnbit0 connection_encrypt 
+0x6342 026427 jam conn_sm_encrypt_wait ,mem_conn_sm 
+0x6343 026428 rtn 
+:      026430 host_create_conn_done_wait:
+0x6344 026431 arg enpt_delay_timer ,queue 
+0x6345 026432 call timer_check 
+0x6346 026433 nrtn blank 
+0x6347 026434 jam conn_sm_done ,mem_conn_sm 
+0x6348 026435 rtn 
+:      026437 host_create_conn_auth:
+0x6349 026438 fetch 1 ,mem_connection_options 
+0x634a 026439 set0 connection_auth ,pdata 
+0x634b 026440 store 1 ,mem_connection_options 
+0x634c 026441 jam conn_sm_auth_wait ,mem_conn_sm 
+0x634d 026442 jam lmp_au_rand ,mem_lmo_opcode2 
+0x634e 026443 rtn 
+:      026444 host_create_conn_auth_wait:
+0x634f 026445 rtn 
+:      026446 host_create_conn_pairing:
+0x6350 026447 fetch 1 ,mem_pincode_state 
+0x6351 026448 rtnne pincode_state_pincode_ready 
+0x6352 026449 call host_auth 
+0x6353 026450 jam conn_sm_pairing_wait ,mem_conn_sm 
+0x6354 026451 rtn 
+:      026453 host_create_conn_pairing_wait:
+0x6355 026454 rtn 
+:      026455 host_creat_conn_send_feat_ext:
+0x6356 026456 jam conn_sm_wait_features_ext ,mem_conn_sm 
+0x6357 026457 jam lmp_ext_features_req ,mem_lmo_opcode2 
+0x6358 026458 rtn 
+:      026459 host_create_conn_send_version:
+0x6359 026460 jam conn_sm_wait_version ,mem_conn_sm 
+0x635a 026461 jam lmp_version_req ,mem_lmo_opcode2 
+0x635b 026462 rtn 
+:      026464 host_creat_conn_wait_switch:
+0x635c 026465 fetch 1 ,mem_switch_flag 
+0x635d 026466 rtneq switch_flag_init 
+0x635e 026467 beq switch_flag_accept ,host_create_conn_switch_accept 
+0x635f 026468 arg switch_wait_timer ,queue 
+0x6360 026469 call timer_check 
+0x6361 026470 nrtn blank 
+0x6362 026471 jam switch_flag_init ,mem_switch_flag 
+0x6363 026472 branch host_create_conn_switch 
+:      026473 host_create_conn_switch_accept:
+0x6364 026474 rtn master 
+0x6365 026475 branch host_create_conn_auth_pair 
+:      026477 host_create_conn_send_features:
+0x6366 026478 jam conn_sm_wait_features_res ,mem_conn_sm 
+0x6367 026479 jam lmp_features_req ,mem_lmo_opcode2 
+0x6368 026480 rtn 
+:      026481 host_create_conn_send_switch:
+0x6369 026482 jam lmp_switch_req ,mem_lmo_opcode2 
+0x636a 026483 set1 mark_switch_initiated ,mark 
+0x636b 026484 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x636c 026485 setarg 0x1ff 
+0x636d 026486 store 2 ,mem_soft_timer 
+0x636e 026487 rtn 
+:      026488 host_create_conn_send_conn_req:
+0x636f 026489 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+0x6370 026490 jam 0xff ,mem_soft_timer 
+0x6371 026491 set0 mark_reconn_recieve_switch ,mark 
+0x6372 026492 jam lmp_host_connection_req ,mem_lmo_opcode2 
+0x6373 026493 branch init_lmp_reinit 
+:      026494 host_create_conn_wait_accept:
+0x6374 026495 rtnmark1 mark_reconn_recieve_switch 
+0x6375 026496 fetch 2 ,mem_soft_timer 
+0x6376 026497 sub pdata ,1 ,pdata 
+0x6377 026498 branch host_create_conn_resend ,zero 
+0x6378 026499 store 2 ,mem_soft_timer 
+0x6379 026500 rtn 
+:      026501 host_create_conn_resend:
+0x637a 026502 jam conn_sm_send_switch ,mem_conn_sm 
+0x637b 026503 rtn 
+:      026504 host_create_conn_waiting:
+0x637c 026506 rtn 
+:      026508 host_create_conn_switch:
+0x637d 026509 fetch 1 ,mem_lmp_conn_state 
+0x637e 026510 rtnbit0 sent_setup_complete 
+0x637f 026511 rtnbit0 received_setup_complete 
+0x6380 026512 fetch 1 ,mem_connection_options 
+0x6381 026513 set0 connection_switch ,pdata 
+0x6382 026514 store 1 ,mem_connection_options 
+0x6383 026515 jam lmp_switch_req ,mem_lmo_opcode2 
+0x6384 026516 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+0x6385 026517 rtn 
+:      026519 host_create_conn_send_setup_complete:
+0x6386 026520 jam conn_sm_wait_setup_complete ,mem_conn_sm 
+0x6387 026521 jam lmp_setup_complete ,mem_lmo_opcode2 
+0x6388 026522 rtn 
+:      026524 host_create_conn_wait_setup_complete:
+0x6389 026525 fetch 1 ,mem_lmp_conn_state 
+0x638a 026526 rtnbit0 received_setup_complete 
+0x638b 026527 jam conn_sm_standby ,mem_conn_sm 
+0x638c 026529 rtn 
+:      026530 host_create_conn_wait_setup_complete_rtn:
+0x638d 026531 jam conn_sm_auth_pair ,mem_conn_sm 
+0x638e 026532 rtn 
+:      026534 host_create_conn_master_detach:
+0x638f 026535 fetch 1 ,mem_soft_timer 
+0x6390 026536 increase -1 ,pdata 
+0x6391 026537 branch host_create_conn_send_detach ,blank 
+0x6392 026538 store 1 ,mem_soft_timer 
+0x6393 026539 rtn 
+:      026540 host_create_conn_send_detach:
+0x6394 026541 jam lmp_detach ,mem_lmo_opcode2 
+0x6395 026542 jam local_host ,mem_disconn_reason_send 
+0x6396 026543 jam 0 ,mem_conn_sm 
+0x6397 026544 rtn 
+:      026545 host_create_conn_auth_pair:
+0x6398 026547 fetch 1 ,mem_connection_options 
+0x6399 026548 bbit1 connection_switch ,host_create_conn_switch 
+0x639a 026549 bbit1 connection_auth ,host_create_conn_auth_pair_true 
+:      026550 host_create_conn_sm_done:
+0x639b 026551 jam conn_sm_done ,mem_conn_sm 
+0x639c 026552 rtn 
+:      026553 host_create_conn_auth_pair_true:
+0x639d 026554 fetch 1 ,mem_link_key_exists 
+0x639e 026555 branch host_create_conn_auth_pair_nokey ,blank 
+0x639f 026556 fetch 1 ,mem_lmp_conn_state 
+0x63a0 026557 rtnbit0 sent_setup_complete 
+0x63a1 026558 rtnbit0 received_setup_complete 
+0x63a2 026559 fetch 4 ,mem_aurand_send_delay_time 
+0x63a3 026560 arg 100 ,temp 
+0x63a4 026561 iadd temp ,temp 
+0x63a5 026562 copy clkn_bt ,pdata 
+0x63a6 026563 isub temp ,null 
+0x63a7 026564 nrtn positive 
+0x63a8 026565 branch host_create_conn_auth 
+:      026569 host_create_conn_auth_pair_nokey:
+0x63a9 026570 jam conn_sm_pairing ,mem_conn_sm 
+0x63aa 026571 jam 4 ,mem_pin_length 
+0x63ab 026572 setarg 0x3030 
+0x63ac 026573 store 2 ,mem_pin 
+0x63ad 026574 istore 2 ,contw 
+0x63ae 026575 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x63af 026576 branch host_create_conn_pairing 
+:      026578 host_create_conn_auth_pair_wait:
+0x63b0 026579 rtn 
+:      026580 host_create_conn_encrypt:
+0x63b1 026581 fetch 1 ,mem_connection_options 
+0x63b2 026582 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+0x63b3 026583 jam conn_sm_done ,mem_conn_sm 
+0x63b4 026584 rtn 
+:      026586 host_create_conn_encrypt_start:
+0x63b5 026587 fetch 1 ,mem_connection_options 
+0x63b6 026588 set0 connection_encrypt ,pdata 
+0x63b7 026589 store 1 ,mem_connection_options 
+0x63b8 026590 jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+0x63b9 026591 rtn 
+:      026593 host_create_conn_encrypt_wait:
+0x63ba 026594 fetch 1 ,mem_wait_encryption 
+0x63bb 026595 rtn blank 
+0x63bc 026596 jam conn_sm_standby ,mem_conn_sm 
+0x63bd 026597 branch host_create_conn_encrypt_start 
+:      026599 host_create_conn_encrypt_wait_clear:
+0x63be 026600 jam conn_sm_send_setup_complete ,mem_conn_sm 
+0x63bf 026601 rtn 
+:      026603 host_auth:
+0x63c0 026604 fetch 1 ,mem_op 
+0x63c1 026605 bbit1 op_inrand_req ,remote_auth 
+0x63c2 026606 call tid_initiate 
+0x63c3 026607 jam lmp_in_rand ,mem_lmo_opcode2 
+0x63c4 026608 branch cmd_exit 
+:      026609 remote_auth:
+0x63c5 026610 fetch 1 ,mem_op 
+0x63c6 026611 set0 op_inrand_req ,pdata 
+0x63c7 026612 store 1 ,mem_op 
+0x63c8 026613 call lmp_accept_inrand 
+0x63c9 026614 call tid_set_reply 
+0x63ca 026615 branch cmd_exit 
+:      026617 pincode_reinit:
+0x63cb 026618 setarg 4 
+0x63cc 026619 store 1 ,mem_pin_length 
+0x63cd 026620 setarg 0x3030 
+0x63ce 026621 istore 2 ,contw 
+0x63cf 026622 istore 2 ,contw 
+0x63d0 026623 rtn 
+:      026629 twspi_reset:
+0x63d1 026630 bpatchx patch31_4 ,mem_patch31 
+0x63d2 026631 hfetch 1 ,core_gpio_oe3 
+0x63d3 026632 arg 0x06 ,temp 
+0x63d4 026633 ior temp ,pdata 
+0x63d5 026634 hstore 1 ,core_gpio_oe3 
+0x63d6 026635 hfetch 1 ,core_gpio_out3 
+0x63d7 026636 ior temp ,pdata 
+0x63d8 026637 hstore 1 ,core_gpio_out3 
+0x63d9 026638 call twspi_disable 
+0x63da 026639 hfetch 1 ,core_gpio_out3 
+0x63db 026640 set0 1 ,pdata 
+0x63dc 026641 set0 2 ,pdata 
+0x63dd 026642 hstore 1 ,core_gpio_out3 
+0x63de 026643 nop 30 
+0x63df 026644 branch twspi_enable 
+:      026646 twspi_reset2:
+0x63e0 026647 hfetch 1 ,core_gpio_oe3 
+0x63e1 026648 arg 0xc0 ,temp 
+0x63e2 026649 ior temp ,pdata 
+0x63e3 026650 hstore 1 ,core_gpio_oe3 
+0x63e4 026651 hfetch 1 ,core_gpio_out3 
+0x63e5 026652 ior temp ,pdata 
+0x63e6 026653 hstore 1 ,core_gpio_out3 
+0x63e7 026654 call twspi_disable 
+0x63e8 026655 hfetch 1 ,core_gpio_out3 
+0x63e9 026656 set0 6 ,pdata 
+0x63ea 026657 set0 7 ,pdata 
+0x63eb 026658 hstore 1 ,core_gpio_out3 
+0x63ec 026659 nop 30 
+0x63ed 026660 branch twspi_enable2 
+:      026662 twspi_disable:
+0x63ee 026663 hfetch 1 ,core_gpio_sel1 
+0x63ef 026664 and pdata ,0xfc ,pdata 
+0x63f0 026665 hstore 1 ,core_gpio_sel1 
+0x63f1 026666 rtn 
+:      026667 twspi_enable:
+0x63f2 026668 hfetch 1 ,core_gpio_sel1 
+0x63f3 026669 or pdata ,0x01 ,pdata 
+0x63f4 026670 hstore 1 ,core_gpio_sel1 
+0x63f5 026671 rtn 
+:      026672 twspi_enable2:
+0x63f6 026673 hfetch 1 ,core_gpio_sel1 
+0x63f7 026674 or pdata ,0x03 ,pdata 
+0x63f8 026675 set0 4 ,pdata 
+0x63f9 026676 hstore 1 ,core_gpio_sel1 
+0x63fa 026677 rtn 
+:      026681 sensor_read:
+0x63fb 026682 copy pdata ,regb 
+0x63fc 026683 call spi_ncs_enable 
+0x63fd 026684 nop 100 
+0x63fe 026685 copy regb ,pdata 
+0x63ff 026686 call twspi_read 
+0x6400 026687 copy pdata ,regb 
+0x6401 026688 call spi_ncs_disable 
+0x6402 026689 nop 100 
+0x6403 026690 copy regb ,pdata 
+0x6404 026691 rtn 
+:      026693 sensor_write:
+0x6405 026694 copy pdata ,regb 
+0x6406 026695 call spi_ncs_enable 
+0x6407 026696 nop 100 
+0x6408 026697 copy regb ,pdata 
+0x6409 026698 call twspi_write 
+0x640a 026699 call spi_ncs_disable 
+0x640b 026700 nop 100 
+0x640c 026701 rtn 
+:      026704 spi_ncs_gpio_init:
+0x640d 026705 fetcht 1 ,mem_spi_ncs_gpio 
+0x640e 026706 branch gpio_config_output 
+:      026709 spi_ncs_enable:
+0x640f 026710 fetcht 1 ,mem_spi_ncs_gpio 
+0x6410 026711 branch gpio_out_active 
+:      026714 spi_ncs_disable:
+0x6411 026715 fetcht 1 ,mem_spi_ncs_gpio 
+0x6412 026716 branch gpio_out_inactive 
+:      026719 twspi_write:
+0x6413 026720 branch spid_write_reg 
+:      026722 twspi_read:
+0x6414 026723 branch spid_read_reg 
+:      026730 read_function_aes:
+0x6415 026731 nbranch read_function ,user 
+0x6416 026732 hfetch 1 ,core_gpio_key2 
+0x6417 026733 or_into 0x2 ,pdata 
+0x6418 026734 hstore 1 ,core_gpio_key2 
+:      026735 read_function:
+0x6419 026736 copy temp ,null 
+0x641a 026737 branch read_fuction_zero ,zero 
+0x641b 026738 copy regc ,pc 
+:      026739 read_fuction_zero:
+0x641c 026740 isolate0 0 ,null 
+0x641d 026741 branch set_ucode_status 
+:      026744 get_block_header:
+0x641e 026745 force 4 ,temp 
+:      026746 get_block_header0:
+0x641f 026747 arg mem_ucode_buf ,rega 
+0x6420 026748 hfetch 1 ,core_gpio_key2 
+0x6421 026749 and_into 0xfd ,pdata 
+0x6422 026750 hstore 1 ,core_gpio_key2 
+0x6423 026751 call read_function 
+0x6424 026752 arg 0x55aa ,rega 
+0x6425 026753 fetch 2 ,mem_ucode_buf 
+0x6426 026754 ifetcht 2 ,contr 
+0x6427 026755 isub rega ,null 
+0x6428 026756 rtn 
+:      026758 read_first_block:
+0x6429 026759 arg 2 ,temp 
+0x642a 026760 arg mem_ucode_ptr ,rega 
+0x642b 026761 call read_function 
+0x642c 026762 fetch 2 ,mem_ucode_ptr 
+0x642d 026763 store 2 ,mem_addr_mi 
+0x642e 026764 call get_iv ,user 
+0x642f 026765 rtn 
+:      026767 get_iv:
+0x6430 026768 arg 16 ,temp 
+0x6431 026769 arg mem_ucode_keybuf ,rega 
+0x6432 026770 hfetch 1 ,core_gpio_key2 
+0x6433 026771 and_into 0xfd ,pdata 
+0x6434 026772 hstore 1 ,core_gpio_key2 
+0x6435 026773 call read_function 
+0x6436 026774 arg mem_ucode_keybuf ,contr 
+0x6437 026775 arg 16 ,loopcnt 
+0x6438 026776 call aes_load_data 
+0x6439 026777 call aes_init 
+0x643a 026778 call aes_clear_data 
+0x643b 026779 branch do_aes_cbc 
+:      026781 load_storage:
+0x643c 026782 disable match 
+0x643d 026783 call get_block_header 
+0x643e 026784 nrtn zero 
+0x643f 026785 enable match 
+0x6440 026786 jam 0x80 ,core_ucode_ctrl 
+0x6441 026787 jam 0 ,core_ucode_hi 
+0x6442 026788 jam 0 ,core_ucode_low 
+0x6443 026789 arg core_ucode_data ,rega 
+0x6444 026790 call read_function_aes 
+0x6445 026791 jam 0x0 ,core_ucode_ctrl 
+:      026792 load_storage_loop:
+0x6446 026793 arg 6 ,temp 
+0x6447 026794 call get_block_header0 
+0x6448 026795 nrtn zero 
+0x6449 026796 ifetch 2 ,contr 
+0x644a 026797 iforce rega 
+0x644b 026798 call read_function 
+0x644c 026799 branch load_storage_loop 
+:      026803 reload_eeprom:
+0x644d 026804 call clean_mem 
+0x644e 026805 setarg 0x1000 
+0x644f 026806 store 2 ,mem_addr_mi 
+0x6450 026807 arg iicd_read_eep ,regc 
+0x6451 026808 arg 2 ,loopcnt 
+:      026809 reload_eeprom_loop:
+0x6452 026810 call get_block_header 
+0x6453 026811 nrtn zero 
+0x6454 026812 fetch 2 ,mem_addr_mi 
+0x6455 026813 byteswap pdata ,pdata 
+0x6456 026814 iadd temp ,pdata 
+0x6457 026815 byteswap pdata ,pdata 
+0x6458 026816 store 2 ,mem_addr_mi 
+0x6459 026817 loop reload_eeprom_loop 
+0x645a 026818 branch load_storage_loop 
+:      026820 loadcode:
+0x645b 026821 call clean_mem 
+0x645c 026822 disable user 
+0x645d 026823 call otp_enable_chgpump 
+0x645e 026824 setarg otp_ucode_flag 
+0x645f 026825 arg mem_otp_ucode_flag ,rega 
+0x6460 026826 arg 2 ,temp 
+0x6461 026827 call otpd_read_data 
+0x6462 026828 fetch 2 ,mem_otp_ucode_flag 
+0x6463 026829 bbit0 otp_uflag_aes ,loadcode_otp 
+0x6464 026830 jam 0x25 ,core_clkoff 
+0x6465 026831 setarg otp_ucode_aeskey 
+0x6466 026832 arg mem_ucode_keybuf ,rega 
+0x6467 026833 arg 16 ,temp 
+0x6468 026834 call otpd_read_data 
+0x6469 026835 jam lock_otp ,core_misc_ctrl 
+0x646a 026836 set1 mark_otp_encrypt ,mark 
+0x646b 026837 arg mem_ucode_keybuf ,contr 
+0x646c 026838 call load_key 
+0x646d 026839 enable user 
+:      026840 loadcode_otp:
+0x646e 026841 jam 0 ,mem_loadcode_times 
+:      026842 loadcode_otp_2:
+0x646f 026843 call loadcode_check_times 
+0x6470 026844 fetch 2 ,mem_otp_ucode_flag 
+0x6471 026845 byteswap pdata ,pdata 
+0x6472 026846 arg 0x7ff ,temp 
+0x6473 026847 iand temp ,pdata 
+0x6474 026848 branch loadcode_iic ,zero 
+0x6475 026849 call otp_set_addr 
+0x6476 026850 arg otpd_read_code ,regc 
+0x6477 026851 call get_iv ,user 
+0x6478 026852 call load_storage 
+0x6479 026853 fetch 1 ,mem_ucode_status 
+0x647a 026854 bbit0 0 ,loadcode_otp_2 
+:      026856 loadcode_iic:
+0x647b 026857 call otp_disable_chgpump 
+0x647c 026858 jam 0 ,mem_loadcode_times 
+:      026859 loadcode_iic_2:
+0x647d 026860 call loadcode_check_times 
+0x647e 026861 call clear_eeprom_size_2k 
+0x647f 026862 fetch 1 ,mem_otp_ucode_flag 
+0x6480 026863 bbit1 otp_uflag_skip_eep ,loadcode_spi 
+0x6481 026864 call loadcode_iic_by_eeprom 
+0x6482 026865 nbranch loadcode_iic_eeprom_2k ,match 
+0x6483 026866 fetch 1 ,mem_ucode_status 
+0x6484 026867 bbit0 0 ,loadcode_iic_2 
+0x6485 026868 branch loadcode_hci 
+:      026869 loadcode_iic_eeprom_2k:
+0x6486 026870 call set_eeprom_size_2k 
+0x6487 026871 fetch 1 ,mem_otp_ucode_flag 
+0x6488 026872 bbit1 otp_uflag_skip_eep ,loadcode_spi 
+0x6489 026873 call loadcode_iic_by_eeprom 
+0x648a 026874 nbranch loadcode_spi ,match 
+0x648b 026875 fetch 1 ,mem_ucode_status 
+0x648c 026876 bbit0 0 ,loadcode_iic_2 
+0x648d 026877 branch loadcode_hci 
+:      026879 loadcode_spi:
+0x648e 026880 jam 0 ,mem_loadcode_times 
+:      026881 loadcode_spi_2:
+0x648f 026882 call loadcode_check_times 
+0x6490 026883 fetch 1 ,mem_otp_ucode_flag 
+0x6491 026884 bbit1 otp_uflag_skip_flash ,loadcode_hci 
+0x6492 026885 setarg 0x0 
+0x6493 026886 store 3 ,mem_addr_hi 
+0x6494 026887 call spid_init_flash 
+0x6495 026888 arg spid_load_flash ,regc 
+0x6496 026889 call read_first_block 
+0x6497 026890 call load_storage 
+0x6498 026891 nbranch loadcode_hci ,match 
+0x6499 026892 fetch 1 ,mem_ucode_status 
+0x649a 026893 bbit0 0 ,loadcode_spi_2 
+:      026895 loadcode_hci:
+0x649b 026896 bmark1 mark_otp_encrypt ,loadcode_hci_enc 
+0x649c 026897 call clear_key_buf 
+:      026898 loadcode_hci_enc:
+0x649d 026899 fetch 1 ,mem_otp_ucode_flag 
+0x649e 026900 bbit0 otp_uflag_hci ,clear_key_buf 
+0x649f 026901 jam 0x21 ,core_clkoff 
+0x64a0 026902 call hci_init 
+:      026903 loadcode_hci_loop:
+0x64a1 026904 call hci_rx_packet 
+0x64a2 026905 branch loadcode_hci_loop 
+:      026907 clear_key_buf:
+0x64a3 026908 setarg 0 
+0x64a4 026909 store 8 ,mem_ucode_keybuf 
+0x64a5 026910 store 8 ,mem_ucode_keybuf + 8 
+0x64a6 026911 force regidx_key ,regext_index 
+0x64a7 026912 call aes_clear 
+0x64a8 026913 jam 0x21 ,core_clkoff 
+0x64a9 026914 rtn 
+:      026917 loadcode_iic_by_eeprom:
+0x64aa 026918 setarg 0x0 
+0x64ab 026919 store 2 ,mem_addr_mi 
+0x64ac 026920 arg iicd_read_eep ,regc 
+0x64ad 026921 call iicd_init_12m 
+0x64ae 026922 call read_first_block 
+0x64af 026923 branch load_storage 
+:      026926 loadcode_check_times:
+0x64b0 026927 fetch 1 ,mem_loadcode_times 
+0x64b1 026928 increase 1 ,pdata 
+0x64b2 026929 sub pdata ,3 ,null 
+0x64b3 026930 nbranch loadcode_error ,positive 
+0x64b4 026931 store 1 ,mem_loadcode_times 
+0x64b5 026932 rtn 
+:      026934 loadcode_error:
+0x64b6 026935 call clear_key_buf 
+0x64b7 026936 call ice_break 
+0x64b8 026937 rtn 
+:      026941 set_ucode_status:
+0x64b9 026942 fetch 1 ,mem_ucode_status 
+0x64ba 026943 lshift pdata ,pdata 
+0x64bb 026944 setflag true ,0 ,pdata 
+0x64bc 026945 isolate0 15 ,rega 
+0x64bd 026946 rtn true 
+0x64be 026947 store 1 ,mem_ucode_status 
+0x64bf 026948 rtn 
+:      026951 decrypt_code:
+0x64c0 026952 hfetch 1 ,core_gpio_key2 
+0x64c1 026953 rtnbit0 1 
+0x64c2 026954 branch decrypt_code_skip 
+:      026955 decrypt_code_loop:
+0x64c3 026956 hfetch 1 ,core_dma_status 
+0x64c4 026957 qisolate1 pdata 
+0x64c5 026958 rtn true 
+:      026959 decrypt_code_skip:
+0x64c6 026960 hfetch 1 ,core_misc_status 
+0x64c7 026961 bbit0 1 ,decrypt_code_loop 
+0x64c8 026962 call do_aes_cbc 
+0x64c9 026963 branch decrypt_code_loop 
+:      026967 load_ucode:
+0x64ca 026968 fetch 2 ,mem_patch_ptr 
+0x64cb 026969 rtn blank 
+0x64cc 026970 jam 0x80 ,core_ucode_ctrl 
+0x64cd 026971 jam 0 ,core_ucode_hi 
+0x64ce 026972 jam 0 ,core_ucode_low 
+0x64cf 026973 fetcht 2 ,mem_patch_len 
+0x64d0 026974 lshift2 temp ,loopcnt 
+0x64d1 026975 iforce contr 
+:      026976 load_ucode_loop:
+0x64d2 026977 ifetch 1 ,contr 
+0x64d3 026978 hstore 1 ,core_ucode_data 
+0x64d4 026979 loop load_ucode_loop 
+0x64d5 026980 jam 0x0 ,core_ucode_ctrl 
+0x64d6 026981 rtn 
+:      026986 spid_init:
+0x64d7 026987 bpatchx patch31_5 ,mem_patch31 
+0x64d8 026988 call spid_init_common 
+0x64d9 026989 branch twspi_enable 
+:      026991 spid_init2:
+0x64da 026992 call spid_init_common 
+0x64db 026993 call twspi_disable 
+0x64dc 026994 branch twspi_enable2 
+:      026996 spid_init_common:
+0x64dd 026997 fetch 1 ,mem_spi_init_clk 
+0x64de 026998 hstore 1 ,core_spid_ctrl 
+0x64df 026999 fetch 1 ,mem_spi_init_delay_time 
+0x64e0 027000 hstore 1 ,core_spid_delay 
+0x64e1 027001 setarg mem_spid_tbuf 
+0x64e2 027002 hstore 2 ,core_spid_txaddr 
+0x64e3 027003 setarg mem_spid_rbuf 
+0x64e4 027004 hstore 2 ,core_spid_rxaddr 
+0x64e5 027005 branch twspi_disable 
+:      027007 spid_reset:
+0x64e6 027008 hfetch 1 ,core_spid_ctrl 
+0x64e7 027009 set1 7 ,pdata 
+0x64e8 027010 hstore 1 ,core_spid_ctrl 
+0x64e9 027011 set0 7 ,pdata 
+0x64ea 027012 hstore 1 ,core_spid_ctrl 
+0x64eb 027013 rtn 
+:      027017 spid_write_reg:
+0x64ec 027018 set1 7 ,pdata 
+0x64ed 027019 store 2 ,mem_spid_tbuf 
+0x64ee 027020 bpatchx patch31_6 ,mem_patch31 
+0x64ef 027021 jam 2 ,core_spid_txlen 
+0x64f0 027022 jam 0 ,core_spid_rxlen 
+0x64f1 027023 jam spid_start ,core_misc_ctrl 
+0x64f2 027024 branch wait_spid_done 
+:      027027 spid_read_reg:
+0x64f3 027028 force 1 ,temp 
+:      027030 spid_read_regs:
+0x64f4 027032 store 1 ,mem_spid_tbuf 
+0x64f5 027033 bpatchx patch31_7 ,mem_patch31 
+0x64f6 027034 jam 1 ,core_spid_txlen 
+0x64f7 027035 hstoret 2 ,core_spid_rxlen 
+0x64f8 027036 jam spid_start ,core_misc_ctrl 
+0x64f9 027037 call wait_spid_done 
+0x64fa 027038 fetch 1 ,mem_spid_rbuf 
+0x64fb 027039 rtn 
+:      027041 wait_spid_done:
+0x64fc 027042 fetch 2 ,mem_afh_error_total 
+0x64fd 027043 increase 1 ,pdata 
+0x64fe 027044 store 2 ,mem_afh_error_total 
+0x64ff 027045 hfetch 1 ,core_dma_status 
+0x6500 027046 bbit0 spid_done ,wait_spid_done 
+0x6501 027047 rtn 
+:      027049 spid_init_flash:
+0x6502 027050 jam 0x40 ,core_spid_ctrl 
+0x6503 027051 jam 0x0 ,core_spid_delay 
+0x6504 027052 hfetch 1 ,core_gpio_sel1 
+0x6505 027053 set0 0 ,pdata 
+0x6506 027054 set1 1 ,pdata 
+0x6507 027055 hstore 1 ,core_gpio_sel1 
+0x6508 027056 setarg 0 
+0x6509 027057 store 4 ,mem_spid_tbuf 
+0x650a 027058 rtn 
+:      027061 spid_unlock_flash:
+0x650b 027062 setarg 0 
+0x650c 027063 hstore 2 ,core_spid_rxlen 
+0x650d 027064 setarg 1 
+0x650e 027065 hstore 2 ,core_spid_txlen 
+0x650f 027066 setarg mem_spid_tbuf 
+0x6510 027067 hstore 2 ,core_spid_txaddr 
+0x6511 027068 jam 6 ,mem_spid_tbuf 
+0x6512 027069 jam spid_start ,core_misc_ctrl 
+0x6513 027070 branch wait_spid_done 
+:      027085 flash_write:
+0x6514 027086 disable user 
+0x6515 027087 copy pdata ,regb 
+0x6516 027088 fetch 1 ,mem_spi_write_flash_sm 
+0x6517 027089 rtnne flash_sm_no_buys 
+0x6518 027090 enable user 
+0x6519 027091 copy regb ,pdata 
+0x651a 027092 branch flash_write_start 
+:      027095 flash_write_spi_sm_timer:
+0x651b 027096 fetch 1 ,mem_spi_write_flash_sm 
+0x651c 027097 beq flash_sm_start ,flash_write_start 
+0x651d 027098 beq flash_sm_erase_sector ,flash_erase_sector 
+0x651e 027099 beq flash_sm_wait_erase_sector ,flash_wait_erase_sector 
+0x651f 027100 beq flash_sm_write_data ,flash_write_data 
+0x6520 027101 beq flash_sm_wait_write_data ,flash_wait_write_data 
+0x6521 027102 rtn 
+:      027104 flash_write_start:
+0x6522 027105 store 3 ,mem_spi_write_addr 
+0x6523 027106 copy rega ,pdata 
+0x6524 027107 store 2 ,mem_spi_write_ptr 
+0x6525 027108 storet 2 ,mem_spi_write_len 
+0x6526 027109 jam flash_sm_erase_sector ,mem_spi_write_flash_sm 
+0x6527 027110 branch spid_init_flash 
+:      027111 flash_erase_sector:
+0x6528 027112 call spid_init_flash 
+0x6529 027113 jam flash_sm_wait_erase_sector ,mem_spi_write_flash_sm 
+0x652a 027114 call spid_unlock_flash 
+0x652b 027115 arg mem_spid_tbuf ,rega 
+0x652c 027116 fetch 3 ,mem_spi_write_addr 
+0x652d 027117 jam 4 ,core_spid_txlen 
+0x652e 027118 arg flash_command_sector_erase ,temp 
+0x652f 027119 branch spid_write_flash_common 
+:      027121 flash_wait_erase_sector:
+0x6530 027122 call spid_init_flash 
+0x6531 027123 call spid_unlock_flash 
+0x6532 027124 setarg flash_read_satus 
+0x6533 027125 call spid_read_reg 
+0x6534 027126 rtnbit1 flash_status_wip 
+0x6535 027127 jam flash_sm_write_data ,mem_spi_write_flash_sm 
+0x6536 027128 rtn 
+:      027129 flash_write_data:
+0x6537 027130 call spid_init_flash 
+0x6538 027131 jam flash_sm_wait_write_data ,mem_spi_write_flash_sm 
+0x6539 027132 call spid_unlock_flash 
+0x653a 027133 call flash_data_preserve 
+0x653b 027134 call spid_write_flash 
+0x653c 027135 branch flash_data_recover 
+:      027136 flash_wait_write_data:
+0x653d 027137 call spid_init_flash 
+0x653e 027138 call spid_unlock_flash 
+0x653f 027139 setarg flash_read_satus 
+0x6540 027140 call spid_read_reg 
+0x6541 027141 rtnbit1 flash_status_wip 
+0x6542 027142 jam flash_sm_no_buys ,mem_spi_write_flash_sm 
+0x6543 027143 fetch 2 ,mem_cb_spi_flash_write_complate 
+0x6544 027144 branch callback_func 
+:      027145 flash_data_recover:
+0x6545 027146 fetch 4 ,mem_temp 
+0x6546 027147 fetcht 2 ,mem_spi_write_ptr 
+0x6547 027148 increase -4 ,temp 
+0x6548 027149 istore 4 ,temp 
+0x6549 027150 rtn 
+:      027151 flash_data_preserve:
+0x654a 027152 fetcht 2 ,mem_spi_write_ptr 
+0x654b 027153 copy temp ,rega 
+0x654c 027154 increase -4 ,temp 
+0x654d 027155 ifetch 4 ,temp 
+0x654e 027156 store 4 ,mem_temp 
+0x654f 027157 fetcht 2 ,mem_spi_write_len 
+0x6550 027158 fetch 3 ,mem_spi_write_addr 
+0x6551 027159 rtn 
+:      027163 spid_write_flash:
+0x6552 027164 increase 4 ,temp 
+0x6553 027165 hstoret 2 ,core_spid_txlen 
+0x6554 027166 arg flash_command_write_data ,temp 
+0x6555 027167 increase -4 ,rega 
+:      027168 spid_write_flash_common:
+0x6556 027170 istoret 1 ,rega 
+0x6557 027171 rshift16 pdata ,temp 
+0x6558 027172 istoret 1 ,contw 
+0x6559 027173 rshift8 pdata ,temp 
+0x655a 027174 istoret 1 ,contw 
+0x655b 027175 istore 1 ,contw 
+0x655c 027176 deposit rega 
+0x655d 027177 hstore 2 ,core_spid_txaddr 
+0x655e 027178 setarg 0 
+0x655f 027179 hstore 2 ,core_spid_rxlen 
+0x6560 027180 jam spid_start ,core_misc_ctrl 
+0x6561 027181 branch wait_spid_done 
+:      027185 spid_read_flash:
+0x6562 027186 hstoret 2 ,core_spid_rxlen 
+0x6563 027187 rshift16 pdata ,temp 
+0x6564 027188 storet 1 ,mem_addr_hi 
+0x6565 027189 rshift8 pdata ,temp 
+0x6566 027190 storet 1 ,mem_addr_mi 
+0x6567 027191 store 1 ,mem_addr_lo 
+0x6568 027192 setarg 4 
+0x6569 027193 hstore 2 ,core_spid_txlen 
+0x656a 027194 jam flash_command_read_data ,mem_spid_tbuf 
+0x656b 027195 setarg mem_spid_tbuf 
+0x656c 027196 hstore 2 ,core_spid_txaddr 
+0x656d 027197 deposit rega 
+0x656e 027198 hstore 2 ,core_spid_rxaddr 
+0x656f 027199 hfetch 1 ,core_spid_ctrl 
+0x6570 027200 isolate0 15 ,rega 
+0x6571 027201 setflag true ,6 ,pdata 
+0x6572 027202 hstore 1 ,core_spid_ctrl 
+0x6573 027203 jam spid_start ,core_misc_ctrl 
+:      027204 spi_read_flash_wait:
+0x6574 027205 hfetch 1 ,core_dma_status 
+0x6575 027206 bbit1 7 ,spi_read_flash_wait 
+0x6576 027207 arg spid_done ,queue 
+0x6577 027208 branch wait_spid_done 
+:      027212 spid_load_flash:
+0x6578 027213 hstoret 2 ,core_spid_rxlen 
+0x6579 027214 setarg 4 
+0x657a 027215 hstore 2 ,core_spid_txlen 
+0x657b 027216 jam 3 ,mem_spid_tbuf 
+0x657c 027217 setarg mem_spid_tbuf 
+0x657d 027218 hstore 2 ,core_spid_txaddr 
+0x657e 027219 deposit rega 
+0x657f 027220 hstore 2 ,core_spid_rxaddr 
+0x6580 027221 hfetch 1 ,core_spid_ctrl 
+0x6581 027222 isolate0 15 ,rega 
+0x6582 027223 setflag true ,6 ,pdata 
+0x6583 027224 hstore 1 ,core_spid_ctrl 
+0x6584 027225 jam spid_start ,core_misc_ctrl 
+:      027226 spi_load_flash_wait:
+0x6585 027227 hfetch 1 ,core_dma_status 
+0x6586 027228 bbit1 7 ,spi_load_flash_wait 
+0x6587 027229 arg spid_done ,queue 
+0x6588 027230 call decrypt_code 
+0x6589 027231 call wait_spid_done 
+0x658a 027232 isolate1 spid_crcok ,pdata 
+0x658b 027233 call set_ucode_status 
+0x658c 027234 fetch 1 ,mem_addr_hi 
+0x658d 027235 lshift16 pdata ,regb 
+0x658e 027236 fetch 1 ,mem_addr_mi 
+0x658f 027237 lshift8 pdata ,pdata 
+0x6590 027238 ior regb ,regb 
+0x6591 027239 fetch 1 ,mem_addr_lo 
+0x6592 027240 ior regb ,pdata 
+0x6593 027241 iadd temp ,pdata 
+0x6594 027242 store 1 ,mem_addr_lo 
+0x6595 027243 rshift8 pdata ,pdata 
+0x6596 027244 store 1 ,mem_addr_mi 
+0x6597 027245 rshift8 pdata ,pdata 
+0x6598 027246 store 1 ,mem_addr_hi 
+0x6599 027247 rtn 
+:      027252 soft_reset_chip:
+0x659a 027253 jam 1 ,core_reset 
+0x659b 027254 rtn 
+:      027260 iic_init_390k:
+0x659c 027261 jam 12 ,core_iicd_scl_low 
+0x659d 027262 jam 13 ,core_iicd_scl_high 
+0x659e 027263 jam 13 ,core_iicd_start_setup 
+0x659f 027264 jam 13 ,core_iicd_start_hold 
+0x65a0 027265 jam 13 ,core_iicd_stop_setup 
+0x65a1 027266 jam 12 ,core_iicd_data_setup 
+0x65a2 027267 branch iicd_init_gpio 
+:      027270 iicd_init_12m:
+0x65a3 027271 jam 5 ,core_iicd_scl_low 
+0x65a4 027272 jam 7 ,core_iicd_scl_high 
+0x65a5 027273 jam 7 ,core_iicd_start_setup 
+0x65a6 027274 jam 7 ,core_iicd_start_hold 
+0x65a7 027275 jam 7 ,core_iicd_stop_setup 
+0x65a8 027276 jam 5 ,core_iicd_data_setup 
+:      027277 iicd_init_gpio:
+0x65a9 027278 hfetch 1 ,core_gpio_pu3 
+0x65aa 027279 or_into 0xc0 ,pdata 
+0x65ab 027280 hstore 1 ,core_gpio_pu3 
+0x65ac 027281 hfetch 1 ,core_gpio_sel1 
+0x65ad 027282 or_into 0x10 ,pdata 
+0x65ae 027283 hstore 1 ,core_gpio_sel1 
+0x65af 027284 rtn 
+:      027288 wait_iicd_done:
+0x65b0 027289 hfetch 1 ,core_dma_status 
+0x65b1 027290 bbit0 iicd_done ,wait_iicd_done 
+0x65b2 027291 rtn 
+:      027299 iicd_read_data:
+0x65b3 027300 hstore 2 ,core_iicd_txlen 
+0x65b4 027301 deposit rega 
+0x65b5 027302 hstore 2 ,core_iicd_txaddr 
+0x65b6 027303 deposit regb 
+0x65b7 027304 hstore 2 ,core_iicd_rxaddr 
+0x65b8 027305 deposit temp 
+0x65b9 027306 hstore 2 ,core_iicd_rxlen 
+0x65ba 027307 arg 1 ,temp 
+0x65bb 027308 nsetflag blank ,1 ,temp 
+0x65bc 027309 hstore 1 ,core_iicd_ctrl 
+0x65bd 027310 jam iicd_start ,core_misc_ctrl 
+0x65be 027311 branch wait_iicd_done 
+:      027314 set_eeprom_size_2k:
+0x65bf 027315 set1 mark_eeprom_size ,mark 
+0x65c0 027316 jam 0x08 ,mem_eeprom_block_size 
+0x65c1 027317 rtn 
+:      027319 clear_eeprom_size_2k:
+0x65c2 027320 set0 mark_eeprom_size ,mark 
+0x65c3 027321 jam 0x20 ,mem_eeprom_block_size 
+0x65c4 027322 rtn 
+:      027325 iicd_read_eep_data_size_2k:
+0x65c5 027326 fetch 1 ,mem_eeprom_base 
+0x65c6 027327 iadd regb ,pdata 
+0x65c7 027328 store 1 ,mem_addr_mi 
+0x65c8 027329 branch iicd_read_eep_size_2k 
+:      027331 iicd_read_eep_size_2k_lcadcode:
+0x65c9 027332 fetch 2 ,mem_addr_mi 
+0x65ca 027333 byteswap pdata ,pdata 
+0x65cb 027334 store 1 ,mem_addr_mi 
+:      027339 iicd_read_eep_size_2k:
+0x65cc 027340 setarg 3 
+0x65cd 027341 hstore 2 ,core_iicd_txlen 
+0x65ce 027342 jam 0xa0 ,mem_iicd_tbuf 
+0x65cf 027343 jam 0xa1 ,mem_iicd_tbuf + 2 
+0x65d0 027344 branch iicd_read_eep_common 
+:      027350 iicd_write_protect_eep_data:
+0x65d1 027351 storet 2 ,mem_temp 
+0x65d2 027352 call iicd_eeprom_write_enable 
+0x65d3 027353 fetcht 2 ,mem_temp 
+0x65d4 027354 call iicd_write_eep_data 
+0x65d5 027355 branch iicd_eeprom_write_disable 
+:      027357 iicd_eeprom_write_enable:
+0x65d6 027358 fetch 1 ,mem_eeprom_wp_gpio 
+0x65d7 027359 rtneq gpio_disable 
+0x65d8 027360 bbit0 6 ,iicd_wp_gpio_output_low 
+0x65d9 027361 setarg 150000 
+0x65da 027362 call sleep 
+:      027363 iicd_wp_gpio_output_low:
+0x65db 027364 fetcht 1 ,mem_eeprom_wp_gpio 
+0x65dc 027365 branch gpio_out_active 
+:      027367 iicd_eeprom_write_disable:
+0x65dd 027368 fetcht 1 ,mem_eeprom_wp_gpio 
+0x65de 027369 branch gpio_out_inactive 
+:      027374 iicd_read_eep_data:
+0x65df 027375 bpatchx patch32_0 ,mem_patch32 
+0x65e0 027376 bmark1 mark_eeprom_size ,iicd_read_eep_data_size_2k 
+0x65e1 027377 fetch 2 ,mem_eeprom_base 
+0x65e2 027378 iadd regb ,pdata 
+0x65e3 027379 byteswap pdata ,pdata 
+0x65e4 027380 store 2 ,mem_addr_mi 
+:      027383 iicd_read_eep:
+0x65e5 027384 bpatchx patch32_1 ,mem_patch32 
+0x65e6 027385 bmark1 mark_eeprom_size ,iicd_read_eep_size_2k_lcadcode 
+0x65e7 027386 setarg 4 
+0x65e8 027387 hstore 2 ,core_iicd_txlen 
+0x65e9 027388 jam 0xa0 ,mem_iicd_tbuf 
+0x65ea 027389 jam 0xa1 ,mem_iicd_tbuf + 3 
+:      027390 iicd_read_eep_common:
+0x65eb 027391 setarg mem_iicd_tbuf 
+0x65ec 027392 hstore 2 ,core_iicd_txaddr 
+0x65ed 027393 hstoret 2 ,core_iicd_rxlen 
+0x65ee 027394 deposit rega 
+0x65ef 027395 hstore 2 ,core_iicd_rxaddr 
+0x65f0 027396 setarg 2 
+0x65f1 027397 isolate0 15 ,rega 
+0x65f2 027398 setflag true ,0 ,pdata 
+0x65f3 027399 hstore 1 ,core_iicd_ctrl 
+0x65f4 027400 jam iicd_start ,core_misc_ctrl 
+0x65f5 027401 arg iicd_done ,queue 
+0x65f6 027402 call decrypt_code 
+0x65f7 027403 call wait_iicd_done 
+0x65f8 027404 isolate1 iicd_crcok ,pdata 
+0x65f9 027405 call set_ucode_status 
+0x65fa 027406 bmark1 mark_eeprom_size ,iicd_read_eep_load_code_size_2k 
+0x65fb 027407 fetch 2 ,mem_addr_mi 
+0x65fc 027408 byteswap pdata ,pdata 
+0x65fd 027409 iadd temp ,pdata 
+0x65fe 027410 byteswap pdata ,pdata 
+0x65ff 027411 store 2 ,mem_addr_mi 
+0x6600 027412 rtn 
+:      027414 iicd_read_eep_load_code_size_2k:
+0x6601 027415 fetch 1 ,mem_addr_mi 
+0x6602 027416 iadd temp ,pdata 
+0x6603 027417 byteswap pdata ,pdata 
+0x6604 027418 store 2 ,mem_addr_mi 
+0x6605 027419 rtn 
+:      027425 iicd_write_eep_data:
+0x6606 027426 fetch 2 ,mem_eeprom_base 
+0x6607 027427 iadd regb ,pdata 
+:      027430 iicd_write_ota_data:
+0x6608 027431 store 2 ,mem_pdatatemp 
+0x6609 027432 bpatchx patch32_2 ,mem_patch32 
+0x660a 027433 storet 2 ,mem_temp 
+0x660b 027434 copy rega ,pdata 
+0x660c 027435 store 2 ,mem_contr 
+:      027436 iicd_write_eep_loop:
+0x660d 027437 call iicd_eep_transparency 
+0x660e 027439 fetcht 2 ,mem_regb 
+0x660f 027440 fetch 2 ,mem_contr 
+0x6610 027441 copy pdata ,rega 
+0x6611 027442 fetch 2 ,mem_pdatatemp 
+0x6612 027444 call iicd_write_eep 
+0x6613 027446 fetch 2 ,mem_regb 
+0x6614 027447 fetcht 2 ,mem_contr 
+0x6615 027448 iadd temp ,temp 
+0x6616 027449 storet 2 ,mem_contr 
+0x6617 027450 fetcht 2 ,mem_pdatatemp 
+0x6618 027451 iadd temp ,temp 
+0x6619 027452 storet 2 ,mem_pdatatemp 
+0x661a 027453 fetch 2 ,mem_temp 
+0x661b 027454 nbranch iicd_write_eep_loop ,blank 
+0x661c 027455 rtn 
+:      027463 iicd_eep_transparency:
+0x661d 027464 bpatchx patch32_3 ,mem_patch32 
+0x661e 027465 fetch 1 ,mem_eeprom_block_size 
+0x661f 027466 increase -1 ,pdata 
+0x6620 027467 fetcht 2 ,mem_pdatatemp 
+0x6621 027468 ior temp ,pdata 
+0x6622 027469 increase 1 ,pdata 
+0x6623 027470 store 3 ,mem_regc 
+0x6624 027472 fetch 2 ,mem_temp 
+0x6625 027473 iadd temp ,pdata 
+0x6626 027475 fetcht 3 ,mem_regc 
+0x6627 027476 isub temp ,pdata 
+0x6628 027477 nbranch iicd_eep_deal_short_packet ,positive 
+0x6629 027478 store 2 ,mem_temp 
+0x662a 027479 fetch 3 ,mem_regc 
+0x662b 027480 fetcht 2 ,mem_pdatatemp 
+0x662c 027481 isub temp ,pdata 
+0x662d 027482 store 2 ,mem_regb 
+0x662e 027483 rtn 
+:      027484 iicd_eep_deal_short_packet:
+0x662f 027485 fetch 2 ,mem_temp 
+0x6630 027486 store 2 ,mem_regb 
+0x6631 027487 setarg 0 
+0x6632 027488 store 2 ,mem_temp 
+0x6633 027489 rtn 
+:      027491 iicd_write_eep_size_2k:
+0x6634 027492 increase 2 ,temp 
+0x6635 027493 hstoret 2 ,core_iicd_txlen 
+0x6636 027494 increase -2 ,rega 
+0x6637 027495 ifetcht 3 ,rega 
+0x6638 027496 copy temp ,regb 
+0x6639 027497 arg 0xa0 ,temp 
+0x663a 027498 istoret 1 ,rega 
+0x663b 027500 istore 1 ,contw 
+0x663c 027501 branch iicd_write_eep_common 
+:      027504 iicd_write_eep:
+0x663d 027505 copy pdata ,regb 
+0x663e 027506 bpatchx patch32_4 ,mem_patch32 
+0x663f 027507 bmark1 mark_eeprom_size ,iicd_write_eep_size_2k 
+0x6640 027508 copy regb ,pdata 
+0x6641 027509 increase 3 ,temp 
+0x6642 027510 hstoret 2 ,core_iicd_txlen 
+0x6643 027511 increase -3 ,rega 
+0x6644 027512 ifetcht 3 ,rega 
+0x6645 027513 copy temp ,regb 
+0x6646 027514 arg 0xa0 ,temp 
+0x6647 027515 istoret 1 ,rega 
+0x6648 027516 byteswap pdata ,pdata 
+0x6649 027517 istore 2 ,contw 
+:      027518 iicd_write_eep_common:
+0x664a 027519 deposit rega 
+0x664b 027520 hstore 2 ,core_iicd_txaddr 
+0x664c 027521 setarg 0 
+0x664d 027522 hstore 2 ,core_iicd_rxlen 
+0x664e 027523 jam 1 ,core_iicd_ctrl 
+0x664f 027524 jam iicd_start ,core_misc_ctrl 
+0x6650 027525 call wait_iicd_done 
+0x6651 027526 copy regb ,pdata 
+0x6652 027527 istore 3 ,rega 
+:      027529 iic_check_eeprom_standby:
+0x6653 027530 bpatchx patch32_5 ,mem_patch32 
+0x6654 027531 jam 0 ,mem_iicd_tbuf + 3 
+:      027532 iic_check_eeprom_standby_wait:
+0x6655 027533 setarg 1 
+0x6656 027534 hstore 2 ,core_iicd_txlen 
+0x6657 027535 jam 0xa0 ,mem_iicd_tbuf 
+0x6658 027536 setarg mem_iicd_tbuf 
+0x6659 027537 hstore 2 ,core_iicd_txaddr 
+0x665a 027538 setarg 0 
+0x665b 027539 hstore 2 ,core_iicd_rxlen 
+0x665c 027540 hstore 2 ,core_iicd_rxaddr 
+0x665d 027541 setarg 3 
+0x665e 027542 hstore 1 ,core_iicd_ctrl 
+0x665f 027543 jam iicd_start ,core_misc_ctrl 
+0x6660 027544 call wait_iicd_done 
+0x6661 027545 hfetch 1 ,core_dma_status 
+0x6662 027546 rtnbit0 iicd_ack 
+0x6663 027547 nop 1500 
+0x6664 027548 fetch 1 ,mem_iicd_tbuf + 3 
+0x6665 027549 increase 1 ,pdata 
+0x6666 027550 store 1 ,mem_iicd_tbuf + 3 
+0x6667 027551 sub pdata ,40 ,null 
+0x6668 027552 nrtn positive 
+0x6669 027553 branch iic_check_eeprom_standby_wait 
+:      027557 otp_enable_chgpump:
+0x666a 027558 jam 0x70 ,rfen_chgpump 
+0x666b 027559 nop param_chgpump_delay 
+0x666c 027560 rtn 
+:      027562 otp_disable_chgpump:
+0x666d 027563 jam 0x30 ,rfen_chgpump 
+0x666e 027564 rtn 
+:      027566 otp_set_addr:
+0x666f 027567 lshift3 pdata ,pdata 
+0x6670 027568 hstore 2 ,core_otp_addr 
+0x6671 027569 jam 0 ,core_otpd_ctrl 
+0x6672 027570 rtn 
+:      027573 otp_write:
+0x6673 027574 call otp_set_addr 
+0x6674 027575 call otp_ce 
+:      027576 otp_program:
+0x6675 027577 ifetcht 1 ,rega 
+0x6676 027578 increase 1 ,rega 
+0x6677 027579 force 0 ,queue 
+:      027580 otp_program_bit:
+0x6678 027581 qisolate0 temp 
+0x6679 027582 branch otp_skip_0 ,true 
+0x667a 027583 hfetch 1 ,core_otp_din 
+0x667b 027584 set1 6 ,pdata 
+0x667c 027585 set1 7 ,pdata 
+0x667d 027586 hstore 1 ,core_otp_din 
+0x667e 027587 jam 0x02 ,core_otp_ctrl 
+0x667f 027588 jam 0x82 ,core_otp_ctrl 
+0x6680 027589 set0 7 ,pdata 
+0x6681 027590 hstore 1 ,core_otp_din 
+0x6682 027591 jam 0x8a ,core_otp_ctrl 
+0x6683 027592 nop 11 
+0x6684 027593 jam 0xca ,core_otp_ctrl 
+0x6685 027594 nop 33 
+0x6686 027595 jam 0x4a ,core_otp_ctrl 
+0x6687 027596 nop 44 
+0x6688 027597 jam 0xca ,core_otp_ctrl 
+0x6689 027598 nop 22 
+0x668a 027599 jam 0x8a ,core_otp_ctrl 
+0x668b 027600 nop 33 
+0x668c 027601 jam 0x82 ,core_otp_ctrl 
+0x668d 027602 nop 1 
+0x668e 027603 jam 0x92 ,core_otp_ctrl 
+0x668f 027604 nop 10 
+0x6690 027605 jam 0xb2 ,core_otp_ctrl 
+0x6691 027606 hfetch 1 ,core_otp_rdata 
+0x6692 027607 jam 0x92 ,core_otp_ctrl 
+0x6693 027608 nop 1 
+0x6694 027609 jam 0x82 ,core_otp_ctrl 
+0x6695 027610 qisolate0 pdata 
+0x6696 027611 branch otp_program_bit ,true 
+:      027612 otp_skip_0:
+0x6697 027613 hfetch 2 ,core_otp_addr 
+0x6698 027614 increase 1 ,pdata 
+0x6699 027615 hstore 2 ,core_otp_addr 
+0x669a 027616 increase 1 ,queue 
+0x669b 027617 compare 8 ,queue ,0xf 
+0x669c 027618 nbranch otp_program_bit ,true 
+0x669d 027619 loop otp_program 
+0x669e 027620 jam 0x83 ,core_otp_ctrl 
+0x669f 027621 rtn 
+:      027623 otp_ce:
+0x66a0 027624 jam 0x82 ,core_otp_ctrl 
+0x66a1 027625 nop 12 
+0x66a2 027626 jam 0x80 ,core_otp_ctrl 
+0x66a3 027627 jam 0x82 ,core_otp_ctrl 
+0x66a4 027628 nop 150 
+0x66a5 027629 rtn 
+:      027632 otpd_read_init:
+0x66a6 027633 call otp_ce 
+0x66a7 027634 jam 0xa2 ,core_otp_ctrl 
+0x66a8 027635 deposit rega 
+0x66a9 027636 hstore 2 ,core_otpd_addr 
+0x66aa 027637 set1 11 ,temp 
+0x66ab 027638 isolate0 15 ,pdata 
+0x66ac 027639 setflag true ,15 ,temp 
+0x66ad 027640 hstoret 2 ,core_otpd_len 
+0x66ae 027641 jam otpd_start ,core_misc_ctrl 
+0x66af 027642 rtn 
+:      027644 otpd_wait_end:
+0x66b0 027645 hfetch 1 ,core_dma_status 
+0x66b1 027646 bbit0 otpd_done ,otpd_wait_end 
+0x66b2 027647 rtn 
+:      027650 otpd_read_data:
+0x66b3 027651 call otp_set_addr 
+0x66b4 027652 call otpd_read_init 
+0x66b5 027653 call otpd_wait_end 
+0x66b6 027654 jam 0x83 ,core_otp_ctrl 
+0x66b7 027655 rtn 
+:      027660 otpd_read_code:
+0x66b8 027661 hfetch 2 ,core_current_otp_addr 
+0x66b9 027662 hstore 2 ,core_otp_addr 
+0x66ba 027663 call otpd_read_init 
+0x66bb 027664 arg otpd_done ,queue 
+0x66bc 027665 call decrypt_code 
+0x66bd 027666 call otpd_wait_end 
+0x66be 027667 isolate1 otpd_crcok ,pdata 
+0x66bf 027668 call set_ucode_status 
+0x66c0 027669 jam 0x83 ,core_otp_ctrl 
+0x66c1 027670 rtn 
+:      027673 uartd_prepare_tx:
+0x66c2 027674 hfetch 2 ,core_uart_twptr 
+0x66c3 027675 iforce contwu 
+0x66c4 027676 rtn 
+:      027678 uartd_send:
+0x66c5 027679 deposit contwu 
+0x66c6 027680 hstore 2 ,core_uart_twptr 
+0x66c7 027681 rtn 
+:      027683 uartd_rxdone:
+0x66c8 027684 deposit contru 
+0x66c9 027685 hstore 2 ,core_uart_rrptr 
+0x66ca 027686 rtn 
+:      027688 uartd_prepare_rx:
+0x66cb 027689 hfetch 2 ,core_uart_rrptr 
+0x66cc 027690 copy pdata ,contru 
+0x66cd 027691 rtn 
+:      027693 uart_set_baud_by_mem:
+0x66ce 027694 fetch uart_baud_len ,mem_baud 
+0x66cf 027695 hstore uart_baud_len ,core_uart_baud 
+0x66d0 027696 rtn 
+:      027698 uart_copy_tx_bytes_fast:
+0x66d1 027699 deposit loopcnt 
+0x66d2 027700 rtn blank 
+:      027701 uart_copy_tx_bytes_fast_loop:
+0x66d3 027702 increase -8 ,loopcnt 
+0x66d4 027703 call uart_tx_8_bytes ,positive 
+0x66d5 027704 rtn zero 
+0x66d6 027705 branch uart_copy_tx_bytes_fast_loop ,positive 
+0x66d7 027706 increase 8 ,loopcnt 
+:      027707 uart_copy_tx_bytes_fast_loop_four:
+0x66d8 027708 increase -4 ,loopcnt 
+0x66d9 027709 call uart_tx_4_bytes ,positive 
+0x66da 027710 rtn zero 
+0x66db 027711 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+0x66dc 027712 increase 4 ,loopcnt 
+0x66dd 027713 branch uart_copy_tx_bytes 
+:      027715 uart_tx_8_bytes:
+0x66de 027716 ifetch 8 ,contr 
+0x66df 027717 istore 8 ,contwu 
+0x66e0 027718 rtn 
+:      027720 uart_tx_4_bytes:
+0x66e1 027721 ifetch 4 ,contr 
+0x66e2 027722 istore 4 ,contwu 
+0x66e3 027723 rtn 
+:      027725 uart_copy_tx_bytes:
+0x66e4 027726 deposit loopcnt 
+0x66e5 027727 rtn blank 
+:      027728 uart_copy_tx_bytes_loop:
+0x66e6 027729 ifetch 1 ,contr 
+0x66e7 027730 istore 1 ,contwu 
+0x66e8 027731 loop uart_copy_tx_bytes_loop 
+0x66e9 027732 rtn 
+:      027734 uart_copy_rx_bytes_fast:
+0x66ea 027735 deposit loopcnt 
+0x66eb 027736 rtn blank 
+:      027737 uart_copy_rx_bytes_fast_loop:
+0x66ec 027738 increase -8 ,loopcnt 
+0x66ed 027739 call uart_rx_8_bytes ,positive 
+0x66ee 027740 rtn zero 
+0x66ef 027741 branch uart_copy_rx_bytes_fast_loop ,positive 
+0x66f0 027742 increase 8 ,loopcnt 
+:      027743 uart_copy_rx_bytes_fast_loop_four:
+0x66f1 027744 increase -4 ,loopcnt 
+0x66f2 027745 call uart_rx_4_bytes ,positive 
+0x66f3 027746 rtn zero 
+0x66f4 027747 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+0x66f5 027748 increase 4 ,loopcnt 
+0x66f6 027749 branch uart_copy_rx_bytes 
+:      027751 uart_rx_8_bytes:
+0x66f7 027752 ifetch 8 ,contru 
+0x66f8 027753 istore 8 ,contw 
+0x66f9 027754 rtn 
+:      027756 uart_rx_4_bytes:
+0x66fa 027757 ifetch 4 ,contru 
+0x66fb 027758 istore 4 ,contw 
+0x66fc 027759 rtn 
+:      027762 uart_copy_rx_bytes:
+0x66fd 027763 deposit loopcnt 
+0x66fe 027764 rtn blank 
+:      027765 uart_copy_rx_bytes_loop:
+0x66ff 027766 ifetch 1 ,contru 
+0x6700 027767 istore 1 ,contw 
+0x6701 027768 loop uart_copy_rx_bytes_loop 
+0x6702 027769 rtn 
+:      027772 uart_copy_rx2tx:
+0x6703 027773 deposit loopcnt 
+0x6704 027774 rtn blank 
+:      027775 uart_copy_rx2tx_loop:
+0x6705 027776 ifetch 1 ,contru 
+0x6706 027777 istore 1 ,contwu 
+0x6707 027778 loop uart_copy_rx2tx_loop 
+0x6708 027779 rtn 
+:      027784 app_store_nvram_event:
+0x6709 027785 jam bt_evt_store_nvram ,mem_fifo_temp 
+0x670a 027786 branch ui_ipc_send_event 
+:      027788 check_51cmd_store_reconn_info:
+:      027789 check_51cmd_update_device_record:
+0x670b 027790 bpatchx patch32_6 ,mem_patch32 
+0x670c 027791 fetch 1 ,mem_nv_data_number 
+0x670d 027792 rtn blank 
+0x670e 027793 call check_nvram 
+0x670f 027794 call init_device_list ,zero 
+0x6710 027795 call nvram_find_addr_from_bd_list 
+:      027796 write_device_record:
+0x6711 027797 fetch 1 ,mem_nv_data_number 
+0x6712 027798 icopy regc 
+0x6713 027799 fetcht 2 ,mem_nv_data_ptr 
+0x6714 027800 storet 2 ,mem_list_item_ptr 
+:      027801 write_device_loop_find:
+0x6715 027802 copy regc ,pdata 
+0x6716 027803 branch app_store_nvram_event ,blank 
+0x6717 027804 increase -1 ,regc 
+0x6718 027805 copy temp ,rega 
+0x6719 027806 ifetch 1 ,rega 
+0x671a 027807 fetcht 1 ,mem_select_list_item 
+0x671b 027808 isub temp ,null 
+0x671c 027809 call set_index_finded_device ,zero 
+0x671d 027810 branch write_device_loop_find0 ,positive 
+0x671e 027811 ifetch 1 ,rega 
+0x671f 027812 increase 1 ,pdata 
+0x6720 027813 istore 1 ,rega 
+:      027814 write_device_loop_find0:
+0x6721 027815 fetcht 2 ,mem_list_item_ptr 
+0x6722 027816 increase nv_data_len ,temp 
+0x6723 027817 storet 2 ,mem_list_item_ptr 
+0x6724 027818 branch write_device_loop_find 
+:      027820 set_index_finded_device:
+0x6725 027821 setarg 0 
+0x6726 027822 istore 1 ,rega 
+0x6727 027823 fetch 1 ,mem_temp_reconn_record 
+0x6728 027824 istore 1 ,contw 
+0x6729 027825 bne rec_3_mode ,set_index_finded_device_ble_mode 
+0x672a 027826 arg mem_link_key ,regb 
+:      027827 set_index_find_device_master_addr:
+0x672b 027828 ifetch 6 ,contr 
+0x672c 027829 istore 8 ,contw 
+0x672d 027830 setarg 0 
+0x672e 027831 istore 8 ,contw 
+0x672f 027832 copy regb ,contr 
+:      027833 store_rec_data_common:
+0x6730 027834 call memcpy16 
+0x6731 027835 force 1 ,null 
+0x6732 027836 rtn 
+:      027838 set_index_finded_device_ble_mode:
+0x6733 027839 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+0x6734 027840 beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+0x6735 027841 arg mem_le_ltk ,regb 
+0x6736 027842 branch set_index_find_device_master_addr 
+:      027844 set_index_finded_device_irk:
+0x6737 027845 arg mem_le_irk ,contr 
+0x6738 027846 call memcpy16 
+:      027847 store_ble_rec_data_common:
+0x6739 027848 arg mem_le_ltk ,contr 
+0x673a 027849 branch store_rec_data_common 
+:      027851 set_index_finded_device_ediv:
+0x673b 027852 arg mem_le_rand ,contr 
+0x673c 027853 call memcpy16 
+0x673d 027854 branch store_ble_rec_data_common 
+:      027857 nvram_find_addr_from_bd_list:
+0x673e 027858 call disable_user 
+0x673f 027859 fetch 1 ,mem_nv_data_number 
+0x6740 027860 rtn blank 
+0x6741 027861 fetch 2 ,mem_ui_state_map 
+0x6742 027862 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+:      027863 find_addr_from_bd_list_ble_mode:
+0x6743 027864 bpatchx patch32_7 ,mem_patch32 
+0x6744 027865 fetch 1 ,mem_le_conn_peer_addr_type 
+0x6745 027866 beq master_public_addr ,find_addr_from_bd_list_static_addr 
+0x6746 027867 fetch 1 ,mem_le_plap + 5 
+0x6747 027868 compare 0xc0 ,pdata ,0xc0 
+0x6748 027869 branch find_addr_from_bd_list_static_addr ,true 
+0x6749 027870 compare 0x40 ,pdata ,0xc0 
+0x674a 027871 branch find_addr_from_bd_list_random_addr ,true 
+0x674b 027872 compare 0x00 ,pdata ,0xc0 
+0x674c 027873 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+:      027874 find_addr_from_bd_list_static_addr:
+0x674d 027875 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+0x674e 027876 fetch 6 ,mem_le_plap 
+0x674f 027877 branch find_addr_from_bd_list_common 
+:      027879 find_addr_from_bd_list_random_non_resolvable_private_address:
+0x6750 027880 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+0x6751 027881 branch find_addr_from_bd_list_common 
+:      027884 find_addr_from_bd_list_random_addr:
+0x6752 027885 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+0x6753 027886 branch find_addr_from_bd_list_common 
+:      027889 find_addr_from_bd_list_spp_mode:
+0x6754 027890 bpatchx patch33_0 ,mem_patch33 
+0x6755 027891 jam rec_3_mode ,mem_temp_reconn_record 
+0x6756 027892 fetch 6 ,mem_plap 
+:      027893 find_addr_from_bd_list_common:
+0x6757 027894 store 6 ,mem_temp_reconn_record + 1 
+0x6758 027895 fetch 2 ,mem_nv_data_ptr 
+0x6759 027896 ifetcht 1 ,pdata 
+0x675a 027897 pincrease 1 
+0x675b 027898 store 2 ,mem_list_item_ptr 
+0x675c 027899 storet 1 ,mem_select_list_item 
+0x675d 027900 fetch 1 ,mem_nv_data_number 
+0x675e 027901 icopy regc 
+:      027902 nvram_find_addr_from_list:
+0x675f 027903 fetch 2 ,mem_list_item_ptr 
+0x6760 027904 copy pdata ,rega 
+0x6761 027905 call nvram_find_addr_from_list_compare 
+0x6762 027906 rtn user 
+0x6763 027907 fetcht 2 ,mem_list_item_ptr 
+0x6764 027908 increase nv_data_len ,temp 
+0x6765 027909 storet 2 ,mem_list_item_ptr 
+0x6766 027910 increase -1 ,temp 
+0x6767 027911 ifetch 1 ,temp 
+0x6768 027912 store 1 ,mem_select_list_item 
+0x6769 027913 increase -1 ,regc 
+0x676a 027914 nbranch nvram_find_addr_from_list ,zero 
+0x676b 027915 fetch 1 ,mem_nv_data_number 
+0x676c 027916 pincrease decreased_one 
+0x676d 027917 store 1 ,mem_select_list_item 
+0x676e 027918 rtn 
+:      027919 nvram_find_addr_from_list_compare:
+0x676f 027920 fetch 1 ,mem_temp_reconn_record 
+0x6770 027921 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+:      027922 find_master_addr_from_list_compare:
+0x6771 027923 arg mem_temp_reconn_record ,regb 
+0x6772 027924 arg 7 ,loopcnt 
+0x6773 027925 call string_compare 
+0x6774 027926 branch enable_user ,zero 
+0x6775 027927 rtn 
+:      027929 find_addr_from_list_compare_ble_mode:
+0x6776 027930 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+0x6777 027931 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+0x6778 027932 branch find_master_addr_from_list_compare 
+:      027934 find_irk_form_list_compare:
+0x6779 027935 ifetcht 1 ,rega 
+0x677a 027936 isub temp ,null 
+0x677b 027937 nrtn zero 
+0x677c 027938 arg mem_le_prand ,contw 
+0x677d 027939 arg 16 ,loopcnt 
+0x677e 027940 call clear_mem 
+0x677f 027941 fetch 3 ,mem_le_plap + 3 
+0x6780 027942 store 3 ,mem_le_prand 
+0x6781 027943 call genernate_master_macaddress 
+0x6782 027944 fetch 2 ,mem_le_aes_128 + 13 
+0x6783 027945 byteswap pdata ,pdata 
+0x6784 027946 lshift8 pdata ,temp 
+0x6785 027947 ifetch 1 ,contr 
+0x6786 027948 iadd temp ,pdata 
+0x6787 027949 fetcht 3 ,mem_le_plap 
+0x6788 027950 isub temp ,null 
+0x6789 027951 branch enable_user ,zero 
+0x678a 027952 rtn 
+:      027955 genernate_master_macaddress:
+0x678b 027956 arg mem_le_prand ,contr 
+0x678c 027957 call load_data128 
+0x678d 027959 ifetch 1 ,rega 
+0x678e 027960 call load_regext 
+0x678f 027961 force 0x38 ,aes_ctrl 
+0x6790 027962 force 0x0 ,aes_ctrl 
+0x6791 027963 call wait_aes 
+0x6792 027964 arg mem_le_aes_128 ,contw 
+0x6793 027965 branch store_aes_result 
+:      027967 find_ediv_form_list_compare:
+0x6794 027968 ifetcht 1 ,rega 
+0x6795 027969 isub temp ,null 
+0x6796 027970 nrtn zero 
+0x6797 027971 copy contr ,rega 
+0x6798 027972 add contr ,8 ,regc 
+0x6799 027973 arg mem_le_rand ,regb 
+0x679a 027974 arg 8 ,loopcnt 
+0x679b 027975 call string_compare 
+0x679c 027976 branch enable_user ,zero 
+0x679d 027977 copy regc ,rega 
+0x679e 027978 arg mem_le_irk ,regb 
+0x679f 027979 arg 8 ,loopcnt 
+0x67a0 027980 call string_compare 
+0x67a1 027981 branch enable_user ,zero 
+0x67a2 027982 rtn 
+:      027984 check_nvram:
+0x67a3 027985 fetch 2 ,mem_nv_data_ptr 
+0x67a4 027986 ifetcht 1 ,pdata 
+0x67a5 027987 pincrease nv_data_len 
+0x67a6 027988 ifetch 1 ,pdata 
+0x67a7 027989 isub temp ,null 
+0x67a8 027990 rtn 
+:      027992 init_device_list:
+0x67a9 027993 fetch 1 ,mem_nv_data_number 
+0x67aa 027994 icopy loopcnt 
+0x67ab 027995 fetcht 2 ,mem_nv_data_ptr 
+0x67ac 027996 setarg 0 
+:      027997 init_device_list_loop:
+0x67ad 027998 istore 1 ,temp 
+0x67ae 027999 increase nv_data_len ,temp 
+0x67af 028000 pincrease 1 
+0x67b0 028001 loop init_device_list_loop 
+0x67b1 028002 rtn 
+:      028004 load_device_list:
+0x67b2 028005 bpatchx patch33_1 ,mem_patch33 
+0x67b3 028006 call nvram_find_addr_from_bd_list 
+0x67b4 028007 fetch 1 ,mem_state 
+0x67b5 028008 setflag user ,state_combkey ,pdata 
+0x67b6 028009 store 1 ,mem_state 
+0x67b7 028010 nbranch clear_key_exists ,user 
+0x67b8 028011 add rega ,10 ,contr 
+0x67b9 028013 arg mem_link_key ,contw 
+0x67ba 028014 call memcpy16 
+0x67bb 028015 branch check_link_key_load 
+:      028016 clear_key_exists:
+0x67bc 028017 jam 0 ,mem_link_key_exists 
+0x67bd 028018 rtn 
+:      028020 load_device_list_mode_4:
+0x67be 028021 fetch 9 ,mem_le_ediv 
+0x67bf 028022 branch clear_ltk_exists ,blank 
+0x67c0 028023 call nvram_find_addr_from_bd_list 
+0x67c1 028024 nbranch clear_ltk_exists ,user 
+0x67c2 028025 fetch 2 ,mem_list_item_ptr 
+0x67c3 028026 add pdata ,1 ,contr 
+0x67c4 028027 arg mem_le_irk ,contw 
+0x67c5 028028 call memcpy16 
+0x67c6 028029 arg mem_le_ltk ,contw 
+0x67c7 028030 call memcpy16 
+0x67c8 028031 jam 1 ,mem_ltk_exists 
+0x67c9 028032 rtn 
+:      028034 clear_ltk_exists:
+0x67ca 028035 jam 0 ,mem_ltk_exists 
+0x67cb 028036 rtn 
+:      028039 eeprom_store_le_reconn_info:
+0x67cc 028040 fetch 6 ,mem_le_plap 
+0x67cd 028041 store 6 ,mem_temp_lap 
+0x67ce 028042 jam rec_4_mode ,mem_record_bt_mode 
+0x67cf 028043 branch eeprom_store_reconn_info 
+:      028044 eeprom_store_bd_reconn_info:
+0x67d0 028045 fetch 6 ,mem_plap 
+0x67d1 028046 store 6 ,mem_temp_lap 
+0x67d2 028047 jam rec_3_mode ,mem_record_bt_mode 
+:      028048 eeprom_store_reconn_info:
+0x67d3 028049 fetch 1 ,mem_device_option 
+0x67d4 028050 beq dvc_op_module ,check_51cmd_update_device_record 
+0x67d5 028051 bbit1 dvc_op_mouse ,mouse_store_remote_bdaddr 
+0x67d6 028052 rtn 
+:      028055 check_link_key_load:
+0x67d7 028056 fetch 8 ,mem_link_key 
+0x67d8 028057 fetcht 8 ,mem_link_key + 8 
+0x67d9 028058 ior temp ,pdata 
+0x67da 028059 rtn blank 
+0x67db 028060 jam 1 ,mem_link_key_exists 
+0x67dc 028061 rtn 
+:      028068 gpio_set_wake_by_current_state:
+0x67dd 028069 bpatchx patch33_2 ,mem_patch33 
+0x67de 028070 set1 7 ,temp 
+0x67df 028071 call gpio_get_bit 
+0x67e0 028072 nsetflag true ,7 ,temp 
+:      028077 gpio_set_wake:
+0x67e1 028078 bpatchx patch33_3 ,mem_patch33 
+0x67e2 028079 sub temp ,ui_button_gpio_disable ,null 
+0x67e3 028080 rtn zero 
+0x67e4 028081 isolate0 7 ,temp 
+0x67e5 028082 and temp ,0x1f ,queue 
+0x67e6 028083 fetch 4 ,mem_gpio_wakeup_low 
+0x67e7 028084 qsetflag true ,pdata 
+0x67e8 028085 store 4 ,mem_gpio_wakeup_low 
+0x67e9 028086 fetch 4 ,mem_gpio_wakeup_high 
+0x67ea 028087 nqsetflag true ,pdata 
+0x67eb 028088 store 4 ,mem_gpio_wakeup_high 
+0x67ec 028089 rtn 
+:      028092 gpio_clr_wake:
+0x67ed 028093 bpatchx patch33_4 ,mem_patch33 
+0x67ee 028094 sub temp ,ui_button_gpio_disable ,null 
+0x67ef 028095 rtn zero 
+0x67f0 028096 isolate0 7 ,temp 
+0x67f1 028097 and temp ,0x1f ,queue 
+0x67f2 028098 fetch 4 ,mem_gpio_wakeup_low 
+0x67f3 028099 qset0 pdata 
+0x67f4 028100 store 4 ,mem_gpio_wakeup_low 
+0x67f5 028101 fetch 4 ,mem_gpio_wakeup_high 
+0x67f6 028102 qset0 pdata 
+0x67f7 028103 store 4 ,mem_gpio_wakeup_high 
+0x67f8 028104 rtn 
+:      028107 gpio_config_input_nowake:
+0x67f9 028108 call gpio_clr_wake 
+0x67fa 028109 branch gpio_config_input_without_wake 
+:      028112 gpio_config_input:
+0x67fb 028113 sub temp ,ui_button_gpio_disable ,null 
+0x67fc 028114 rtn zero 
+0x67fd 028115 ncall gpio_set_wake ,wake 
+:      028117 gpio_config_input_without_wake:
+0x67fe 028118 arg core_gpio_pd0 ,contw 
+0x67ff 028119 call gpio_set_bit 
+0x6800 028120 setflip gpio_active_bit ,temp 
+0x6801 028121 arg core_gpio_pu0 ,contw 
+0x6802 028122 call gpio_set_bit 
+0x6803 028123 set0 gpio_active_bit ,temp 
+0x6804 028124 arg core_gpio_oe0 ,contw 
+0x6805 028125 branch gpio_set_bit 
+:      028128 gpio_set_high_impedance:
+0x6806 028129 arg core_gpio_pd0 ,contw 
+0x6807 028130 call gpio_set_bit 
+0x6808 028131 set0 gpio_active_bit ,temp 
+0x6809 028132 arg core_gpio_pu0 ,contw 
+0x680a 028133 call gpio_set_bit 
+0x680b 028134 set0 gpio_active_bit ,temp 
+0x680c 028135 arg core_gpio_oe0 ,contw 
+0x680d 028136 branch gpio_set_bit 
+:      028140 gpio_config_output:
+0x680e 028141 sub temp ,ui_button_gpio_disable ,null 
+0x680f 028142 rtn zero 
+0x6810 028143 setflip gpio_active_bit ,temp 
+0x6811 028144 call gpio_out 
+:      028145 gpio_config_output0:
+0x6812 028146 set1 gpio_active_bit ,temp 
+0x6813 028147 arg core_gpio_oe0 ,contw 
+0x6814 028148 branch gpio_set_bit 
+:      028150 gpio_common:
+0x6815 028151 and temp ,0x07 ,queue 
+0x6816 028152 rshift3 temp ,pdata 
+0x6817 028153 and_into 3 ,pdata 
+0x6818 028154 iadd contw ,contw 
+0x6819 028155 ifetch 1 ,contw 
+0x681a 028156 rtn 
+:      028158 gpio_check_active:
+0x681b 028159 arg core_gpio_out0 ,contw 
+0x681c 028160 branch get_bit_common 
+:      028164 gpio_get_bit:
+0x681d 028165 arg core_gpio_in ,contw 
+:      028166 get_bit_common:
+0x681e 028167 call gpio_common 
+0x681f 028168 isolate1 gpio_active_bit ,temp 
+0x6820 028169 branch gpio_get_bit_reverse ,true 
+0x6821 028170 qisolate0 pdata 
+0x6822 028171 rtn 
+:      028172 gpio_get_bit_reverse:
+0x6823 028173 qisolate1 pdata 
+0x6824 028174 rtn 
+:      028176 gpio_out_inactive:
+0x6825 028177 sub temp ,ui_button_gpio_disable ,null 
+0x6826 028178 rtn zero 
+0x6827 028179 isolate1 7 ,null 
+0x6828 028180 branch gpio_out_flag 
+:      028182 gpio_out_active:
+0x6829 028183 sub temp ,ui_button_gpio_disable ,null 
+0x682a 028184 rtn zero 
+0x682b 028185 isolate0 7 ,null 
+:      028188 gpio_out_flag:
+0x682c 028189 setarg 0 
+0x682d 028190 nsetflag true ,gpio_active_bit ,pdata 
+0x682e 028191 ixor temp ,temp 
+:      028194 gpio_out:
+0x682f 028195 arg core_gpio_out0 ,contw 
+:      028198 gpio_set_bit:
+0x6830 028199 call gpio_common 
+0x6831 028200 isolate1 gpio_active_bit ,temp 
+0x6832 028201 qsetflag true ,pdata 
+0x6833 028202 istore 1 ,contw 
+0x6834 028203 rtn 
+:      028205 gpio_set_before_lpm_common:
+0x6835 028206 arg -1 ,rega 
+0x6836 028207 hfetch 1 ,core_gpio_sel1 
+0x6837 028208 compare 0x02 ,pdata ,0x03 
+0x6838 028209 call neglact4_from_23_pin ,true 
+0x6839 028211 compare 0x01 ,pdata ,0x03 
+0x683a 028212 call neglact2_form_25_pin ,true 
+0x683b 028214 compare 0x03 ,pdata ,0x03 
+0x683c 028215 call neglact2_form_25_pin ,true 
+0x683d 028217 isolate1 2 ,pdata 
+0x683e 028218 call neglect2_from_6_pin ,true 
+0x683f 028220 isolate1 3 ,pdata 
+0x6840 028221 call neglect4_from_9_pin ,true 
+0x6841 028223 isolate1 4 ,pdata 
+0x6842 028224 call neglact2_form_30_pin ,true 
+0x6843 028226 isolate1 6 ,pdata 
+0x6844 028227 nsetflag true ,04 ,rega 
+0x6845 028229 isolate1 7 ,pdata 
+0x6846 028230 nsetflag true ,05 ,rega 
+0x6847 028232 hfetch 1 ,core_gpio_sel2 
+0x6848 028233 isolate1 0 ,pdata 
+0x6849 028234 nsetflag true ,27 ,rega 
+0x684a 028235 isolate1 1 ,pdata 
+0x684b 028236 nsetflag true ,28 ,rega 
+0x684c 028237 isolate1 2 ,pdata 
+0x684d 028238 nsetflag true ,03 ,rega 
+0x684e 028239 isolate1 3 ,pdata 
+0x684f 028240 nsetflag true ,08 ,rega 
+0x6850 028241 isolate1 4 ,pdata 
+0x6851 028242 nsetflag true ,20 ,rega 
+0x6852 028243 isolate1 5 ,pdata 
+0x6853 028244 nsetflag true ,21 ,rega 
+0x6854 028245 isolate1 6 ,pdata 
+0x6855 028246 nsetflag true ,22 ,rega 
+0x6856 028247 isolate1 7 ,pdata 
+0x6857 028248 nsetflag true ,23 ,rega 
+0x6858 028250 hfetch 1 ,core_gpio_sel 
+0x6859 028251 isolate1 0 ,pdata 
+0x685a 028252 nsetflag true ,05 ,rega 
+0x685b 028253 isolate1 1 ,pdata 
+0x685c 028254 nsetflag true ,06 ,rega 
+0x685d 028255 isolate1 2 ,pdata 
+0x685e 028256 nsetflag true ,07 ,rega 
+0x685f 028257 isolate1 3 ,pdata 
+0x6860 028258 nsetflag true ,18 ,rega 
+0x6861 028259 isolate1 4 ,pdata 
+0x6862 028260 nsetflag true ,19 ,rega 
+0x6863 028261 isolate1 5 ,pdata 
+0x6864 028262 nsetflag true ,20 ,rega 
+0x6865 028263 isolate1 6 ,pdata 
+0x6866 028264 nsetflag true ,21 ,rega 
+0x6867 028265 isolate1 7 ,pdata 
+0x6868 028266 nsetflag true ,22 ,rega 
+0x6869 028268 hfetch 1 ,core_uart_ctrl 
+0x686a 028269 isolate1 4 ,pdata 
+0x686b 028270 call neglact2_form_2_pin ,true 
+0x686c 028271 bpatchx patch33_5 ,mem_patch33 
+0x686d 028273 hfetch 4 ,core_gpio_pu0 
+0x686e 028274 hfetcht 4 ,core_gpio_pd0 
+0x686f 028275 ior temp ,pdata 
+0x6870 028276 invert pdata ,pdata 
+0x6871 028277 iand rega ,pdata 
+0x6872 028279 hstore 4 ,core_gpio_oe0 
+0x6873 028280 rtn 
+:      028283 neglect2_from_6_pin:
+0x6874 028284 arg 6 ,queue 
+0x6875 028285 branch neglect_2_pin 
+:      028286 neglect4_from_9_pin:
+0x6876 028287 arg 9 ,queue 
+0x6877 028288 branch neglact_4_pin 
+:      028289 neglact4_from_23_pin:
+0x6878 028290 arg 23 ,queue 
+0x6879 028291 branch neglact_4_pin 
+:      028292 neglact2_form_25_pin:
+0x687a 028293 arg 25 ,queue 
+0x687b 028294 branch neglect_2_pin 
+:      028295 neglact2_form_30_pin:
+0x687c 028296 arg 30 ,queue 
+0x687d 028297 branch neglect_2_pin 
+:      028298 neglact2_form_2_pin:
+0x687e 028299 arg 2 ,queue 
+0x687f 028300 branch neglect_2_pin 
+:      028301 neglact_1_pin:
+0x6880 028302 arg 1 ,loopcnt 
+0x6881 028303 branch neglect_pin_loop 
+:      028304 neglact_4_pin:
+0x6882 028305 arg 4 ,loopcnt 
+0x6883 028306 branch neglect_pin_loop 
+:      028307 neglect_2_pin:
+0x6884 028308 arg 2 ,loopcnt 
+:      028309 neglect_pin_loop:
+0x6885 028310 qset0 rega 
+0x6886 028311 increase 1 ,queue 
+0x6887 028312 loop neglect_pin_loop 
+0x6888 028313 rtn 
+:      028321 gpio_cfg_uart_tx_output:
+0x6889 028322 call gpio_uart2gpio 
+0x688a 028323 arg uart_wakeup_tx ,temp 
+0x688b 028324 branch gpio_config_output 
+:      028326 gpio_pu_uart_tx:
+0x688c 028327 call gpio_cfg_uart_tx_output 
+0x688d 028328 arg uart_wakeup_tx ,temp 
+0x688e 028329 branch gpio_out_inactive 
+:      028333 gpio_rx_config_input_with_pu:
+0x688f 028334 call gpio_uart2gpio 
+0x6890 028335 hfetch 1 ,core_gpio_pu0 
+0x6891 028336 set1 uart_wakeup_rx ,pdata 
+0x6892 028337 hstore 1 ,core_gpio_pu0 
+0x6893 028338 arg uart_wakeup_rx ,temp 
+0x6894 028339 branch gpio_config_input 
+:      028341 gpio_uart2gpio:
+0x6895 028342 hfetch 1 ,core_gpio_sel1 
+0x6896 028343 and_into 0xfb ,pdata 
+0x6897 028344 hstore 1 ,core_gpio_sel1 
+0x6898 028345 rtn 
+:      028347 gpio_check_uart_state:
+0x6899 028348 hfetch 1 ,core_gpio_sel1 
+0x689a 028349 isolate1 2 ,pdata 
+0x689b 028350 rtn 
+:      028352 load_chip_option:
+0x689c 028353 call otp_enable_chgpump 
+0x689d 028354 setarg otp_chip_functions 
+0x689e 028355 arg mem_chip_functions ,rega 
+0x689f 028356 arg 0x02 ,temp 
+0x68a0 028357 call otpd_read_data 
+0x68a1 028358 branch otp_disable_chgpump 
+:      028361 load_adc_init:
+0x68a2 028362 call otp_enable_chgpump 
+0x68a3 028363 setarg otp_adc_io_0_5v_addr 
+0x68a4 028364 arg mem_0_5_adc_io_data ,rega 
+0x68a5 028365 arg 14 ,temp 
+0x68a6 028366 call otpd_read_data 
+0x68a7 028367 branch otp_disable_chgpump 
+:      028371 adc_init_data:
+0x68a8 028372 bpatchx patch33_6 ,mem_patch33 
+0x68a9 028374 call load_adc_init 
+0x68aa 028376 fetch 1 ,mem_adc_config_flag 
+0x68ab 028377 beq adc_config_vinlpm ,adc_init_data_vinlpm 
+0x68ac 028378 beq adc_config_hvin ,adc_init_data_hvin 
+0x68ad 028379 beq adc_config_gpio ,adc_init_data_io 
+0x68ae 028380 rtn 
+:      028382 adc_init_data_vinlpm:
+0x68af 028383 fetcht 2 ,mem_otp_adc_flag 
+0x68b0 028384 setarg otp_adc_flag 
+0x68b1 028385 isub temp ,null 
+0x68b2 028386 branch adc_check_data_vinlpm ,zero 
+0x68b3 028387 setarg 0x4dfa 
+0x68b4 028388 store 2 ,mem_3v_adc_vinlpm_data 
+0x68b5 028389 setarg 0x4894 
+0x68b6 028390 store 2 ,mem_2v_adc_vinlpm_data 
+0x68b7 028391 branch set_vdd_reference_voltage_1v 
+:      028393 adc_check_data_vinlpm:
+0x68b8 028394 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x68b9 028395 nbranch adc_check_2v_vinlpm ,blank 
+0x68ba 028396 setarg 0x4dfa 
+0x68bb 028397 store 2 ,mem_3v_adc_vinlpm_data 
+:      028398 adc_check_2v_vinlpm:
+0x68bc 028399 fetch 2 ,mem_2v_adc_vinlpm_data 
+0x68bd 028400 nbranch set_vdd_reference_voltage_1v ,blank 
+0x68be 028401 setarg 0x4894 
+0x68bf 028402 store 2 ,mem_2v_adc_vinlpm_data 
+:      028403 set_vdd_reference_voltage_1v:
+0x68c0 028404 setarg 100 
+0x68c1 028405 store 2 ,mem_reference_voltage 
+0x68c2 028406 rtn 
+:      028408 adc_init_data_hvin:
+0x68c3 028409 fetcht 2 ,mem_otp_adc_flag 
+0x68c4 028410 setarg otp_adc_flag 
+0x68c5 028411 isub temp ,null 
+0x68c6 028412 branch adc_check_data_hvin ,zero 
+0x68c7 028413 setarg 0x5932 
+0x68c8 028414 store 2 ,mem_5v_adc_hvin_data 
+0x68c9 028415 setarg 0x4323 
+0x68ca 028416 store 2 ,mem_1v_adc_hvin_data 
+0x68cb 028417 branch set_vdd_reference_voltage_4v 
+:      028419 adc_check_data_hvin:
+0x68cc 028420 fetch 2 ,mem_5v_adc_hvin_data 
+0x68cd 028421 nbranch adc_check_1v_hvin ,blank 
+0x68ce 028422 setarg 0x5932 
+0x68cf 028423 store 2 ,mem_5v_adc_hvin_data 
+:      028424 adc_check_1v_hvin:
+0x68d0 028425 fetch 2 ,mem_1v_adc_hvin_data 
+0x68d1 028426 nbranch set_vdd_reference_voltage_4v ,blank 
+0x68d2 028427 setarg 0x4323 
+0x68d3 028428 store 2 ,mem_1v_adc_hvin_data 
+:      028429 set_vdd_reference_voltage_4v:
+0x68d4 028430 setarg 400 
+0x68d5 028431 store 2 ,mem_reference_voltage 
+0x68d6 028432 rtn 
+:      028434 adc_init_data_io:
+0x68d7 028435 fetcht 2 ,mem_otp_adc_flag 
+0x68d8 028436 setarg otp_adc_flag 
+0x68d9 028437 isub temp ,null 
+0x68da 028438 branch adc_check_data_io ,zero 
+0x68db 028439 setarg 0x6946 
+0x68dc 028440 store 2 ,mem_1v_adc_io_data 
+0x68dd 028441 setarg 0x5377 
+0x68de 028442 store 2 ,mem_0_5_adc_io_data 
+0x68df 028443 branch set_vdd_reference_voltage_0_5v 
+:      028445 adc_check_data_io:
+0x68e0 028446 fetch 2 ,mem_1v_adc_io_data 
+0x68e1 028447 nbranch adc_check_0_5v_io ,blank 
+0x68e2 028448 setarg 0x6946 
+0x68e3 028449 store 2 ,mem_1v_adc_io_data 
+:      028450 adc_check_0_5v_io:
+0x68e4 028451 fetch 2 ,mem_0_5_adc_io_data 
+0x68e5 028452 nbranch set_vdd_reference_voltage_0_5v ,blank 
+0x68e6 028453 setarg 0x5377 
+0x68e7 028454 store 2 ,mem_0_5_adc_io_data 
+:      028455 set_vdd_reference_voltage_0_5v:
+0x68e8 028456 setarg 50 
+0x68e9 028457 store 2 ,mem_reference_voltage 
+0x68ea 028458 rtn 
+:      028461 adc_set_mode:
+0x68eb 028462 fetch 1 ,mem_adc_config_flag 
+0x68ec 028463 beq adc_config_vinlpm ,adc_check_vinlpm 
+0x68ed 028464 beq adc_config_hvin ,adc_check_hvin 
+0x68ee 028465 beq adc_config_gpio ,adc_check_gpio 
+0x68ef 028466 rtn 
+:      028467 adc_check_vinlpm:
+0x68f0 028468 jam 0xbf ,rf_adc_mode 
+0x68f1 028469 branch read_adc 
+:      028470 adc_check_hvin:
+0x68f2 028471 jam 0xaf ,rf_adc_mode 
+0x68f3 028472 branch read_adc 
+:      028473 adc_check_gpio:
+0x68f4 028474 jam 0x8f ,rf_adc_mode 
+0x68f5 028475 fetch 1 ,mem_adc_channel 
+0x68f6 028476 hstore 1 ,rf_adc_ch 
+0x68f7 028477 branch read_adc 
+:      028478 read_adc:
+0x68f8 028479 bpatchx patch33_7 ,mem_patch33 
+0x68f9 028480 hfetch 1 ,core_uart_baud + 1 
+0x68fa 028481 set1 7 ,pdata 
+0x68fb 028482 hstore 1 ,core_uart_baud + 1 
+0x68fc 028483 hfetch 1 ,rf_adc_ch 
+0x68fd 028484 or_into 0x30 ,pdata 
+0x68fe 028485 hstore 1 ,rf_adc_ch 
+0x68ff 028486 jam 0x7c ,rfen_adc 
+0x6900 028487 jam 0xaa ,rf_adc_gc 
+0x6901 028488 nop 5000 
+0x6902 028489 hfetcht 2 ,core_adc_sum 
+0x6903 028490 hfetch 1 ,core_uart_baud + 1 
+0x6904 028491 set0 7 ,pdata 
+0x6905 028492 hstore 1 ,core_uart_baud + 1 
+0x6906 028493 storet 2 ,mem_adc_current_value 
+0x6907 028494 rtn 
+:      028496 vdd_calculate_by_mode:
+0x6908 028497 bpatchx patch34_0 ,mem_patch34 
+0x6909 028498 fetch 1 ,mem_adc_config_flag 
+0x690a 028499 beq adc_config_vinlpm ,vdd_calculate_vinlpm 
+0x690b 028500 beq adc_config_hvin ,vdd_calculate_hvin 
+0x690c 028501 beq adc_config_gpio ,vdd_calculate_io 
+0x690d 028502 rtn 
+:      028504 vdd_calculate_vinlpm:
+0x690e 028505 fetch 2 ,mem_3v_adc_vinlpm_data 
+0x690f 028506 fetcht 2 ,mem_2v_adc_vinlpm_data 
+0x6910 028507 arg 200 ,regc 
+0x6911 028508 branch vdd_calculate 
+:      028510 vdd_calculate_hvin:
+0x6912 028511 fetch 2 ,mem_5v_adc_hvin_data 
+0x6913 028512 fetcht 2 ,mem_1v_adc_hvin_data 
+0x6914 028513 arg 100 ,regc 
+0x6915 028514 branch vdd_calculate 
+:      028516 vdd_calculate_io:
+0x6916 028517 fetch 2 ,mem_1v_adc_io_data 
+0x6917 028518 fetcht 2 ,mem_0_5_adc_io_data 
+0x6918 028519 arg 50 ,regc 
+0x6919 028520 branch vdd_calculate 
+:      028522 vdd_calculate:
+0x691a 028523 isub temp ,rega 
+0x691b 028524 fetch 2 ,mem_adc_current_value 
+0x691c 028525 isub temp ,pdata 
+0x691d 028526 nbranch vdd_calculate1 ,positive 
+0x691e 028527 fetcht 2 ,mem_reference_voltage 
+0x691f 028528 imul32 temp ,regb 
+0x6920 028529 copy regc ,pdata 
+0x6921 028530 imul32 rega ,pdata 
+0x6922 028531 iadd regb ,pdata 
+:      028532 vdd_calculate2:
+0x6923 028533 idiv rega 
+0x6924 028534 call wait_div_end 
+0x6925 028535 quotient pdata 
+0x6926 028536 rtn 
+:      028538 vdd_calculate1:
+0x6927 028539 copy temp ,pdata 
+0x6928 028540 fetcht 2 ,mem_adc_current_value 
+0x6929 028541 isub temp ,pdata 
+0x692a 028542 fetcht 2 ,mem_reference_voltage 
+0x692b 028543 imul32 temp ,regb 
+0x692c 028544 copy regc ,pdata 
+0x692d 028545 imul32 rega ,pdata 
+0x692e 028546 isub regb ,pdata 
+0x692f 028547 branch vdd_calculate2 
+:      028558 adc_bat_percent_lowpower_out:
+0x6930 028559 ifetch 8 ,rega 
+0x6931 028560 store 8 ,mem_pdatatemp 
+0x6932 028561 fetch 2 ,mem_pdatatemp 
+0x6933 028562 fetcht 2 ,mem_pdatatemp + 2 
+0x6934 028563 isub temp ,rega 
+0x6935 028564 fetch 2 ,mem_pdatatemp + 6 
+0x6936 028565 isub temp ,regb 
+0x6937 028566 fetcht 2 ,mem_pdatatemp + 4 
+0x6938 028567 isub temp ,null 
+0x6939 028568 ncall adc_set_low_power_flag ,positive 
+0x693a 028569 mul32 regb ,100 ,pdata 
+0x693b 028570 idiv rega 
+0x693c 028571 call wait_div_end 
+0x693d 028572 quotient pdata 
+0x693e 028573 call adc_set_no_power_flag ,blank 
+0x693f 028574 rtn 
+:      028575 adc_set_low_power_flag:
+0x6940 028576 fetch 1 ,mem_adc_power_flag 
+0x6941 028577 set1 0 ,pdata 
+0x6942 028578 store 1 ,mem_adc_power_flag 
+0x6943 028579 rtn 
+:      028580 adc_set_no_power_flag:
+0x6944 028581 fetcht 1 ,mem_adc_power_flag 
+0x6945 028582 set1 1 ,temp 
+0x6946 028583 storet 1 ,mem_adc_power_flag 
+0x6947 028584 rtn 
+:      028589 keyscan_key_init:
+0x6948 028590 fetch 2 ,mem_key_num_ptr 
+0x6949 028591 ifetch 1 ,pdata 
+:      028592 keyscan_key_init_next:
+0x694a 028593 rtn blank 
+0x694b 028594 copy pdata ,loopcnt 
+0x694c 028596 fetch 2 ,mem_keyscan_ptr 
+0x694d 028597 increase 3 ,pdata 
+0x694e 028598 copy pdata ,rega 
+:      028599 keyscan_key_init_lp1:
+0x694f 028600 ifetcht 1 ,rega 
+0x6950 028601 call gpio_config_input 
+0x6951 028602 increase key_conf_struct_len ,rega 
+0x6952 028603 loop keyscan_key_init_lp1 
+:      028604 keyscan_key_init_end:
+0x6953 028605 rtn 
+:      028607 keyscan_scan_key:
+0x6954 028608 fetch 2 ,mem_keyscan_ptr 
+0x6955 028609 increase 3 ,pdata 
+0x6956 028610 copy pdata ,rega 
+0x6957 028612 force 0 ,regb 
+0x6958 028613 jam 0 ,mem_key_value_temp 
+:      028614 keyscan_scan_key_lp1:
+0x6959 028615 ifetcht 1 ,rega 
+0x695a 028616 call gpio_get_bit 
+0x695b 028617 bpatchx patch34_1 ,mem_patch34 
+0x695c 028618 fetch 2 ,mem_key_value_temp 
+0x695d 028619 copy regb ,queue 
+0x695e 028620 qsetflag true ,pdata 
+0x695f 028621 store 2 ,mem_key_value_temp 
+0x6960 028622 increase key_conf_struct_len ,rega 
+0x6961 028623 increase 1 ,regb 
+0x6962 028624 fetch 2 ,mem_key_num_ptr 
+0x6963 028625 ifetch 1 ,pdata 
+:      028626 keyscan_scan_key_lp1_next:
+0x6964 028627 ixor regb ,null 
+0x6965 028628 nbranch keyscan_scan_key_lp1 ,zero 
+0x6966 028629 fetch 2 ,mem_key_value_temp 
+0x6967 028630 fetcht 2 ,mem_key_value 
+0x6968 028631 ixor temp ,null 
+0x6969 028632 rtn zero 
+0x696a 028633 enable user 
+0x696b 028634 rtn 
+:      028636 keyscan_process_lpm_before:
+0x696c 028637 fetch 2 ,mem_key_num_ptr 
+0x696d 028638 ifetch 1 ,pdata 
+:      028639 keyscan_process_lpm_before_next:
+0x696e 028640 rtn blank 
+0x696f 028641 copy pdata ,loopcnt 
+0x6970 028642 fetch 2 ,mem_keyscan_ptr 
+0x6971 028643 increase 3 ,pdata 
+0x6972 028644 copy pdata ,rega 
+:      028645 keyscan_process_lpm_before_lp1:
+0x6973 028646 ifetcht 1 ,rega 
+0x6974 028647 call gpio_set_wake_by_current_state 
+0x6975 028648 increase key_conf_struct_len ,rega 
+0x6976 028649 loop keyscan_process_lpm_before_lp1 
+:      028650 keyscan_process_lpm_before_end:
+0x6977 028651 rtn 
+:      028653 keyscan_key_process:
+0x6978 028654 arg key_scan_timer ,queue 
+0x6979 028655 call timer_check 
+0x697a 028656 nrtn blank 
+0x697b 028657 setarg 0x20 
+0x697c 028658 arg key_scan_timer ,queue 
+0x697d 028659 call timer_init 
+0x697e 028660 disable user 
+0x697f 028661 call keyscan_process_lpm_before 
+0x6980 028662 bpatchx patch34_2 ,mem_patch34 
+0x6981 028663 fetch 2 ,mem_key_num_ptr 
+0x6982 028664 ifetch 1 ,pdata 
+:      028665 keyscan_key_process_next:
+0x6983 028666 rtn blank 
+0x6984 028667 call keyscan_scan_key 
+0x6985 028668 nbranch lpm_button_clean_wake_lock ,user 
+0x6986 028669 call lpm_button_get_wake_lock 
+0x6987 028670 disable user 
+0x6988 028671 fetch 2 ,mem_key_value_temp 
+0x6989 028672 store 2 ,mem_key_value_temp4 
+0x698a 028673 jam 0 ,mem_key_value_temp6 
+0x698b 028674 force 0 ,queue 
+:      028675 keyscan_key_lp1:
+0x698c 028676 fetch 2 ,mem_key_value 
+0x698d 028677 rshift pdata ,temp 
+0x698e 028678 storet 2 ,mem_key_value 
+0x698f 028679 and pdata ,0x01 ,pdata 
+0x6990 028680 fetcht 2 ,mem_key_value_temp4 
+0x6991 028681 and temp ,0x01 ,rega 
+0x6992 028682 rshift temp ,temp 
+0x6993 028683 storet 2 ,mem_key_value_temp4 
+0x6994 028684 ixor rega ,null 
+0x6995 028685 ncall keyscan_send_key_data ,zero 
+0x6996 028686 fetch 2 ,mem_key_num_ptr 
+0x6997 028687 ifetch 1 ,pdata 
+:      028688 keyscan_key_lp1_next:
+0x6998 028689 fetcht 1 ,mem_key_value_temp6 
+0x6999 028690 increase 1 ,temp 
+0x699a 028691 storet 1 ,mem_key_value_temp6 
+0x699b 028692 copy temp ,queue 
+0x699c 028693 ixor queue ,null 
+0x699d 028694 nbranch keyscan_key_lp1 ,zero 
+0x699e 028695 fetch 2 ,mem_key_value_temp 
+0x699f 028696 store 2 ,mem_key_value 
+0x69a0 028697 rtn 
+:      028698 keyscan_send_key_data:
+0x69a1 028699 bpatchx patch34_3 ,mem_patch34 
+0x69a2 028700 fetch 2 ,mem_keyscan_ptr 
+0x69a3 028701 increase 1 ,pdata 
+0x69a4 028702 ifetch 2 ,pdata 
+0x69a5 028703 branch callback_func 
+:      028714 pwm_init:
+0x69a6 028715 hfetch 1 ,core_clksel 
+0x69a7 028716 ior rega ,pdata 
+0x69a8 028717 hstore 1 ,core_clksel 
+0x69a9 028718 hfetch 2 ,core_clkoff 
+0x69aa 028719 set0 clock_off_pwm ,pdata 
+0x69ab 028720 hstore 2 ,core_clkoff 
+0x69ac 028721 nop 100 
+0x69ad 028722 rtn 
+:      028733 pwm_out_set:
+0x69ae 028734 fetcht 3 ,mem_pdatatemp + 2 
+0x69af 028735 setarg pwm_12mhz 
+0x69b0 028736 idiv temp 
+0x69b1 028737 call wait_div_end 
+0x69b2 028738 quotient temp 
+0x69b3 028739 fetch 1 ,mem_pdatatemp + 5 
+0x69b4 028740 imul32 temp ,pdata 
+0x69b5 028741 div pdata ,100 
+0x69b6 028742 call wait_div_end 
+0x69b7 028743 quotient rega 
+0x69b8 028744 copy temp ,pdata 
+0x69b9 028745 isub rega ,regb 
+0x69ba 028746 fetch 1 ,mem_pdatatemp + 1 
+0x69bb 028747 call pwm_duty_cycle_set 
+0x69bc 028748 fetch 1 ,mem_pdatatemp 
+0x69bd 028749 branch pwm_enable 
+:      028752 pwm_duty_cycle_set:
+0x69be 028753 beq 0 ,pwm_pwm0_duty_set 
+0x69bf 028754 beq 1 ,pwm_pwm1_duty_set 
+0x69c0 028755 beq 2 ,pwm_pwm2_duty_set 
+0x69c1 028756 beq 3 ,pwm_pwm3_duty_set 
+0x69c2 028757 beq 4 ,pwm_pwm4_duty_set 
+0x69c3 028758 beq 5 ,pwm_pwm5_duty_set 
+:      028759 pwm_pwm0_duty_set:
+0x69c4 028760 arg core_pwm_pcnt0 ,contw 
+0x69c5 028761 branch pwm_set_pncnt 
+:      028762 pwm_pwm1_duty_set:
+0x69c6 028763 arg core_pwm_pcnt1 ,contw 
+0x69c7 028764 branch pwm_set_pncnt 
+:      028765 pwm_pwm2_duty_set:
+0x69c8 028766 arg core_pwm_pcnt2 ,contw 
+0x69c9 028767 branch pwm_set_pncnt 
+:      028768 pwm_pwm3_duty_set:
+0x69ca 028769 arg core_pwm_pcnt3 ,contw 
+0x69cb 028770 branch pwm_set_pncnt 
+:      028771 pwm_pwm4_duty_set:
+0x69cc 028772 arg core_pwm_pcnt4 ,contw 
+0x69cd 028773 branch pwm_set_pncnt 
+:      028774 pwm_pwm5_duty_set:
+0x69ce 028775 arg core_pwm_pcnt5 ,contw 
+0x69cf 028776 branch pwm_set_pncnt 
+:      028777 pwm_set_pncnt:
+0x69d0 028778 copy rega ,pdata 
+0x69d1 028779 istore 2 ,contw 
+0x69d2 028780 copy regb ,pdata 
+0x69d3 028781 istore 2 ,contw 
+0x69d4 028782 rtn 
+:      028786 pwm_enable:
+0x69d5 028787 enable user 
+0x69d6 028788 branch pwm_gpio_set 
+:      028789 pwm_disable:
+0x69d7 028790 disable user 
+:      028791 pwm_gpio_set:
+0x69d8 028792 beq 4 ,pwm_gpio4_set 
+0x69d9 028793 beq 5 ,pwm_gpio5_set 
+0x69da 028794 beq 27 ,pwm_gpio27_set 
+0x69db 028795 beq 28 ,pwm_gpio28_set 
+0x69dc 028796 beq 3 ,pwm_gpio3_set 
+0x69dd 028797 beq 8 ,pwm_gpio8_set 
+0x69de 028798 beq 20 ,pwm_gpio20_set 
+0x69df 028799 beq 21 ,pwm_gpio21_set 
+0x69e0 028800 beq 22 ,pwm_gpio22_set 
+0x69e1 028801 beq 23 ,pwm_gpio23_set 
+0x69e2 028802 rtn 
+:      028805 pwm_gpio4_set:
+0x69e3 028806 arg 6 ,queue 
+0x69e4 028807 branch pwm_one_set_select 
+:      028808 pwm_gpio5_set:
+0x69e5 028809 arg 7 ,queue 
+0x69e6 028810 branch pwm_one_set_select 
+:      028811 pwm_gpio27_set:
+0x69e7 028812 arg 8 ,queue 
+0x69e8 028813 branch pwm_one_set_select 
+:      028814 pwm_gpio28_set:
+0x69e9 028815 arg 9 ,queue 
+0x69ea 028816 branch pwm_one_set_select 
+:      028817 pwm_gpio3_set:
+0x69eb 028818 arg 10 ,queue 
+0x69ec 028819 branch pwm_one_set_select 
+:      028820 pwm_gpio8_set:
+0x69ed 028821 arg 11 ,queue 
+0x69ee 028822 branch pwm_one_set_select 
+:      028823 pwm_gpio20_set:
+0x69ef 028824 arg 12 ,queue 
+0x69f0 028825 branch pwm_tw0_set_select 
+:      028826 pwm_gpio21_set:
+0x69f1 028827 arg 13 ,queue 
+0x69f2 028828 branch pwm_tw0_set_select 
+:      028829 pwm_gpio22_set:
+0x69f3 028830 arg 14 ,queue 
+0x69f4 028831 branch pwm_tw0_set_select 
+:      028832 pwm_gpio23_set:
+0x69f5 028833 arg 15 ,queue 
+0x69f6 028834 branch pwm_tw0_set_select 
+:      028836 pwm_set_select:
+0x69f7 028837 hfetch 2 ,core_gpio_sel1 
+0x69f8 028838 qsetflag user ,pdata 
+0x69f9 028839 hstore 2 ,core_gpio_sel1 
+0x69fa 028840 copy rega ,queue 
+0x69fb 028841 hfetch 1 ,core_gpio_key2 
+0x69fc 028842 qsetflag user ,pdata 
+0x69fd 028843 hstore 1 ,core_gpio_key2 
+0x69fe 028844 rtn 
+:      028846 pwm_one_set_select:
+0x69ff 028847 add queue ,-4 ,rega 
+0x6a00 028848 branch pwm_set_select 
+:      028850 pwm_tw0_set_select:
+0x6a01 028851 add queue ,-10 ,rega 
+0x6a02 028852 branch pwm_set_select 
+:      028857 rfcomm_init:
+0x6a03 028858 rtn wake 
+0x6a04 028859 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6a05 028860 jam bits9600 ,memremoterpnbitrate 
+0x6a06 028861 jam databits8 ,memremoteprndatabits 
+0x6a07 028862 jam 0x11 ,memremoteprnxon 
+0x6a08 028863 jam 0x13 ,memremoteprnxoff 
+0x6a09 028864 setarg 0 
+0x6a0a 028865 store 3 ,memremoteprnstopbit 
+0x6a0b 028866 store 1 ,mem_spp_state 
+0x6a0c 028867 jam 0 ,memui_reconnect_mode 
+:      028869 rfcomm_init_spp:
+0x6a0d 028870 bpatchx patch34_4 ,mem_patch34 
+0x6a0e 028871 setarg 0 
+0x6a0f 028872 store 1 ,mem_spp_state 
+0x6a10 028873 store 1 ,mem_remote_spp_channel 
+0x6a11 028874 store 1 ,mem_pn_dlci 
+0x6a12 028875 fetch 1 ,mem_credit_flag 
+0x6a13 028876 beq credit_enable ,rfcomm_init_spp_with_credit 
+0x6a14 028877 jam 0x50 ,mem_credit_given 
+0x6a15 028878 rtn 
+:      028880 rfcomm_init_spp_with_credit:
+0x6a16 028881 jam 0x00 ,mem_credit_given 
+0x6a17 028882 rtn 
+:      028884 set_cr_bit:
+0x6a18 028885 or_into 0x02 ,temp 
+0x6a19 028886 rtn 
+:      028898 rfcomm_calculate_fcs_sabm:
+0x6a1a 028899 copy temp ,pdata 
+0x6a1b 028900 reverse pdata ,pdata 
+0x6a1c 028901 store 1 ,memfcstemp3 
+0x6a1d 028902 force ini_tx_sabm ,pdata 
+0x6a1e 028903 reverse pdata ,pdata 
+0x6a1f 028904 store 1 ,memfcstemp2 
+0x6a20 028905 force 0x01 ,pdata 
+0x6a21 028906 reverse pdata ,pdata 
+0x6a22 028907 store 1 ,memfcstemp1 
+0x6a23 028908 call caculate_fcs 
+0x6a24 028909 copy temp ,pdata 
+0x6a25 028910 rtn 
+:      028911 rfcomm_calculate_fcs_ua:
+0x6a26 028912 reverse pdata ,pdata 
+0x6a27 028913 store 1 ,memfcstemp3 
+0x6a28 028914 force rsp_tx_ua ,pdata 
+0x6a29 028915 reverse pdata ,pdata 
+0x6a2a 028916 store 1 ,memfcstemp2 
+0x6a2b 028917 force 0x01 ,pdata 
+0x6a2c 028918 reverse pdata ,pdata 
+0x6a2d 028919 store 1 ,memfcstemp1 
+0x6a2e 028920 branch caculate_fcs 
+:      028922 rfcomm_calculate_fcs_dlci0:
+0x6a2f 028923 fetch 1 ,mem_rfcomm_initiator 
+0x6a30 028924 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+0x6a31 028925 setarg 0x70 
+0x6a32 028926 rtn 
+:      028927 rfcomm_calculate_fcs_dlci0_res:
+0x6a33 028928 setarg 0xaa 
+0x6a34 028929 rtn 
+:      028931 rfcomm_save_fcs_uih:
+0x6a35 028932 reverse pdata ,pdata 
+0x6a36 028933 store 1 ,memfcstemp3 
+0x6a37 028934 force rsp_rx_uih ,pdata 
+0x6a38 028935 call caculate_uihdata_fcs 
+0x6a39 028936 fetcht 2 ,mem_contw_temp 
+0x6a3a 028937 copy temp ,contw 
+0x6a3b 028938 istore 1 ,contw 
+0x6a3c 028939 copy contw ,temp 
+0x6a3d 028940 storet 2 ,mem_contw_temp 
+0x6a3e 028941 force rsp_rx_uih_wdata ,pdata 
+0x6a3f 028942 call caculate_uihdata_fcs 
+0x6a40 028943 fetcht 2 ,mem_contw_temp 
+0x6a41 028944 copy temp ,contw 
+0x6a42 028945 istore 1 ,contw 
+0x6a43 028946 rtn 
+:      028955 caculate_uihdata_fcs:
+0x6a44 028956 reverse pdata ,pdata 
+0x6a45 028957 store 1 ,memfcstemp2 
+0x6a46 028958 fetch 2 ,memfcstemp2 
+0x6a47 028959 lshift8 pdata ,pdata 
+0x6a48 028960 store 3 ,mem_mod2div_temp 
+0x6a49 028961 arg 0x107 ,rega 
+0x6a4a 028962 arg 0xf ,regb 
+0x6a4b 028963 call mod2div 
+0x6a4c 028964 xor_into 0xd7 ,pdata 
+0x6a4d 028965 invert pdata ,pdata 
+0x6a4e 028966 reverse pdata ,pdata 
+0x6a4f 028967 rtn 
+:      028977 caculate_fcs:
+0x6a50 028978 fetch 3 ,memfcstemp1 
+0x6a51 028979 store 3 ,mem_mod2div_temp 
+0x6a52 028980 arg 0x107 ,rega 
+0x6a53 028981 arg 0xf ,regb 
+0x6a54 028982 call mod2div 
+0x6a55 028983 lshift8 pdata ,pdata 
+0x6a56 028984 arg 0x7 ,regb 
+0x6a57 028985 call mod2div 
+0x6a58 028986 xor_into 0x2b ,pdata 
+0x6a59 028987 invert pdata ,pdata 
+0x6a5a 028988 reverse pdata ,pdata 
+0x6a5b 028989 copy pdata ,temp 
+0x6a5c 028990 rtn 
+:      028992 mod2div:
+0x6a5d 028993 arg 0 ,regc 
+0x6a5e 028994 copy regb ,loopcnt 
+0x6a5f 028995 call right_shift_n 
+0x6a60 028996 icopy temp 
+:      028997 mod2div_loop:
+0x6a61 029002 copy temp ,pdata 
+0x6a62 029003 lshift regc ,regc 
+0x6a63 029004 bbit0 8 ,mod2div_not_enough_reduction 
+0x6a64 029005 ixor rega ,temp 
+0x6a65 029006 increase 1 ,regc 
+:      029007 mod2div_not_enough_reduction:
+0x6a66 029008 lshift temp ,temp 
+0x6a67 029009 fetch 3 ,mem_mod2div_temp 
+0x6a68 029010 increase -1 ,regb 
+0x6a69 029011 compare 0xff ,regb ,0xff 
+0x6a6a 029012 branch mod2div_end ,true 
+0x6a6b 029013 copy regb ,loopcnt 
+0x6a6c 029014 call right_shift_n 
+0x6a6d 029015 isolate1 0 ,pdata 
+0x6a6e 029016 setflag true ,0 ,temp 
+0x6a6f 029017 branch mod2div_loop 
+:      029018 mod2div_end:
+0x6a70 029020 rshift temp ,pdata 
+0x6a71 029021 rtn 
+:      029023 get_rfcomm_snd_adss:
+0x6a72 029024 fetcht 1 ,mem_pn_dlci 
+:      029025 dlci_to_address_cmd:
+0x6a73 029027 lshift2 temp ,temp 
+0x6a74 029028 set1 rfcomm_address_ext_len ,temp 
+0x6a75 029029 fetch 1 ,mem_rfcomm_initiator 
+0x6a76 029030 ncall set_cr_bit ,blank 
+0x6a77 029031 storet 1 ,mem_rfcomm_send_adss 
+0x6a78 029032 rtn 
+:      029034 channel_to_dlci:
+0x6a79 029036 lshift temp ,temp 
+0x6a7a 029037 fetch 1 ,mem_rfcomm_initiator 
+0x6a7b 029038 setflag blank ,0 ,temp 
+0x6a7c 029040 rtn 
+:      029041 rfcomm_rx_process_dlci0_sabm:
+0x6a7d 029042 fetcht 1 ,mem_current_channel 
+0x6a7e 029043 jam 0xd7 ,mem_current_fcs 
+0x6a7f 029044 call rfcomm_send_ua 
+0x6a80 029045 fetch 1 ,mem_rfcomm_state 
+0x6a81 029046 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6a82 029047 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6a83 029048 store 1 ,mem_rfcomm_state 
+0x6a84 029049 jam 0 ,mem_rfcomm_initiator 
+0x6a85 029050 branch rfcomm_rx_process_end 
+:      029051 rfcomm_rx_process_dlci0_ua:
+0x6a86 029052 fetch 1 ,mem_rfcomm_state 
+0x6a87 029053 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+0x6a88 029054 store 1 ,mem_rfcomm_state 
+0x6a89 029055 branch rfcomm_rx_process_end 
+:      029058 rfcomm_rx_process:
+0x6a8a 029059 bpatchx patch34_5 ,mem_patch34 
+0x6a8b 029060 fetch 1 ,memui_reconnect_mode 
+0x6a8c 029061 beq no_reconnection ,rfcomm_rx_process_remote_page 
+0x6a8d 029062 branch rfcomm_rx_process_reconn 
+:      029064 rfcomm_rx_process_remote_page:
+0x6a8e 029065 fetch 2 ,mem_l2cap_payload_ptr 
+0x6a8f 029066 copy pdata ,contr 
+0x6a90 029067 call get_rfcomm_head_struct 
+0x6a91 029068 fetch 1 ,mem_current_channel 
+0x6a92 029069 beq 0 ,parse_dlci0_rp 
+0x6a93 029070 branch parse_uih_rp 
+:      029071 parse_dlci0_rp:
+0x6a94 029072 bpatchx patch34_6 ,mem_patch34 
+0x6a95 029073 fetch 1 ,mem_current_frame_type 
+0x6a96 029074 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6a97 029075 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6a98 029076 beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+0x6a99 029077 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+0x6a9a 029078 rtn 
+:      029081 parse_dlci0_rp_uih:
+0x6a9b 029082 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6a9c 029083 copy pdata ,contr 
+0x6a9d 029084 call get_rfcomm_uih_head_struct 
+0x6a9e 029085 fetch 1 ,mem_uih_cmd_type 
+0x6a9f 029086 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+0x6aa0 029087 beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+0x6aa1 029088 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+0x6aa2 029089 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+0x6aa3 029090 beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+0x6aa4 029091 branch rfcomm_rx_process_end 
+:      029093 parse_dlci0_rp_uih_pn_cmd:
+0x6aa5 029094 call parse_dlci0_rp_uih_pn_res_common 
+0x6aa6 029096 branch parse_dlci0_rp_uih_pn_cmd_spp 
+:      029098 parse_dlci0_rp_uih_pn_cmd_spp:
+0x6aa7 029099 fetch 1 ,mem_spp_state 
+0x6aa8 029100 set1 rfcomm_channel_state_pn_cmd ,pdata 
+0x6aa9 029101 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6aaa 029102 store 1 ,mem_spp_state 
+0x6aab 029103 call rfcomm_send_param_neg_res 
+0x6aac 029104 branch rfcomm_rx_process_end 
+:      029106 parse_dlci0_rp_uih_pn_res:
+0x6aad 029107 call parse_dlci0_rp_uih_pn_res_common 
+0x6aae 029108 branch rfcomm_rx_process_end 
+:      029110 parse_dlci0_rp_uih_pn_res_common:
+0x6aaf 029111 call get_param_payload_ptr 
+0x6ab0 029112 branch get_rfcomm_prarmer_negotiation 
+:      029114 get_rfcomm_param_modem_status:
+0x6ab1 029115 call get_param_payload_ptr 
+0x6ab2 029116 ifetch 1 ,contr 
+0x6ab3 029117 rshift3 pdata ,pdata 
+0x6ab4 029118 store 1 ,mem_ms_channel 
+0x6ab5 029119 ifetch 1 ,contr 
+0x6ab6 029120 store 1 ,mem_ms_param 
+0x6ab7 029121 rtn 
+:      029124 get_rfcomm_head_struct:
+0x6ab8 029125 ifetch 1 ,contr 
+0x6ab9 029126 store 1 ,mem_current_adss 
+0x6aba 029127 rshift3 pdata ,pdata 
+0x6abb 029128 store 1 ,mem_current_channel 
+0x6abc 029129 ifetch 1 ,contr 
+0x6abd 029130 store 1 ,mem_current_frame_type 
+:      029131 get_rfcomm_current_length:
+0x6abe 029132 call get_rfcomm_length_common 
+0x6abf 029133 storet 2 ,mem_current_length 
+0x6ac0 029134 copy contr ,pdata 
+0x6ac1 029135 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6ac2 029136 rtn 
+:      029138 get_rfcomm_uih_head_struct:
+0x6ac3 029139 ifetch 1 ,contr 
+0x6ac4 029140 rshift pdata ,pdata 
+0x6ac5 029141 store 1 ,mem_uih_cmd_type 
+0x6ac6 029142 call get_rfcomm_length_common 
+0x6ac7 029143 storet 2 ,mem_uih_length 
+0x6ac8 029144 copy contr ,pdata 
+0x6ac9 029145 store 2 ,mem_param_payload_ptr 
+0x6aca 029146 rtn 
+:      029149 get_param_payload_ptr:
+0x6acb 029150 fetch 2 ,mem_param_payload_ptr 
+0x6acc 029151 copy pdata ,contr 
+0x6acd 029152 rtn 
+:      029154 get_rfcomm_length_common:
+0x6ace 029155 ifetch 1 ,contr 
+0x6acf 029156 copy pdata ,temp 
+0x6ad0 029157 rshift temp ,temp 
+0x6ad1 029158 rtnbit1 0 
+0x6ad2 029159 ifetch 1 ,contr 
+0x6ad3 029160 lshift3 pdata ,pdata 
+0x6ad4 029161 lshift4 pdata ,pdata 
+0x6ad5 029162 iadd temp ,temp 
+0x6ad6 029163 rtn 
+:      029165 get_rfcomm_prarmer_negotiation:
+0x6ad7 029166 ifetch 1 ,contr 
+0x6ad8 029167 store 1 ,mem_pn_dlci 
+0x6ad9 029168 ifetch 1 ,contr 
+0x6ada 029169 store 1 ,mem_pn_credit_flow_type_info 
+0x6adb 029170 ifetch 1 ,contr 
+0x6adc 029171 store 1 ,mem_pn_priority 
+0x6add 029172 ifetch 1 ,contr 
+0x6ade 029173 store 1 ,mem_pn_acknowledg_timer 
+0x6adf 029174 ifetch 2 ,contr 
+0x6ae0 029175 store 2 ,mem_pn_max_frame_size 
+0x6ae1 029176 ifetch 1 ,contr 
+0x6ae2 029177 store 1 ,mem_pn_max_retrans 
+0x6ae3 029178 ifetch 1 ,contr 
+0x6ae4 029179 store 1 ,mem_remote_credits 
+0x6ae5 029180 rtn 
+:      029183 parse_dlci0_rp_uih_ms_cmd:
+0x6ae6 029184 call get_rfcomm_param_modem_status 
+0x6ae7 029186 branch parse_dlci0_rp_uih_ms_cmd_spp 
+:      029188 parse_dlci0_rp_uih_ms_cmd_spp:
+0x6ae8 029189 fetch 1 ,mem_spp_state 
+0x6ae9 029190 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6aea 029191 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6aeb 029192 store 1 ,mem_spp_state 
+0x6aec 029193 fetcht 1 ,mem_pn_dlci 
+0x6aed 029194 lshift2 temp ,temp 
+0x6aee 029195 or_into 3 ,temp 
+0x6aef 029196 call rfcomm_send_modem_status_res 
+0x6af0 029197 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+0x6af1 029198 branch rfcomm_rx_process_end 
+:      029200 parse_dlci0_rp_uih_ms_res:
+0x6af2 029201 jam bt_evt_spp_connected ,mem_fifo_temp 
+0x6af3 029202 call ui_ipc_send_event 
+0x6af4 029203 call get_rfcomm_param_modem_status 
+0x6af5 029204 fetch 1 ,mem_ms_channel 
+0x6af6 029205 sub pdata ,1 ,null 
+0x6af7 029206 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+0x6af8 029207 branch assert 
+:      029208 parse_dlci0_rp_uih_ms_res_spp:
+0x6af9 029209 fetch 1 ,mem_spp_state 
+0x6afa 029210 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6afb 029211 store 1 ,mem_spp_state 
+0x6afc 029212 branch rfcomm_rx_process_end 
+:      029214 parse_dlci0_rp_uih_cmd_port:
+0x6afd 029215 call get_param_payload_ptr 
+0x6afe 029216 ifetch 1 ,contr 
+0x6aff 029217 store 1 ,mem_rpn_dlci 
+0x6b00 029218 call l2cap_malloc_rfcomm_channel 
+0x6b01 029219 call l2cap_get_rfcomm_tx_buff 
+0x6b02 029220 setarg 0x000e 
+0x6b03 029221 istore 2 ,contw 
+0x6b04 029222 fetch 2 ,mem_rfcomm_remote_cid 
+0x6b05 029223 istore 2 ,contw 
+0x6b06 029224 fetch 1 ,mem_rfcomm_initiator 
+0x6b07 029226 lshift pdata ,pdata 
+0x6b08 029227 set1 0 ,pdata 
+0x6b09 029228 istore 1 ,contw 
+0x6b0a 029229 bpatchx patch34_7 ,mem_patch34 
+0x6b0b 029230 setarg 0x15ef 
+0x6b0c 029231 istore 2 ,contw 
+0x6b0d 029232 setarg 0x1191 
+0x6b0e 029233 istore 2 ,contw 
+0x6b0f 029236 fetch 1 ,mem_rpn_dlci 
+0x6b10 029237 istore 1 ,contw 
+0x6b11 029238 setarg 0x000007 
+0x6b12 029239 istore 5 ,contw 
+0x6b13 029242 setarg 0x01 
+0x6b14 029243 istore 2 ,contw 
+0x6b15 029246 call rfcomm_calculate_fcs_dlci0 
+0x6b16 029247 istore 1 ,contw 
+0x6b17 029248 rtn 
+:      029252 parse_uih_rp:
+0x6b18 029253 branch parse_uih_rp_spp 
+:      029255 parse_uih_rp_spp:
+0x6b19 029256 bpatchx patch35_0 ,mem_patch35 
+0x6b1a 029257 fetch 1 ,mem_current_frame_type 
+0x6b1b 029258 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+0x6b1c 029259 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+0x6b1d 029260 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6b1e 029261 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6b1f 029262 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+0x6b20 029263 rtn 
+:      029264 parse_uih_rp_spp_ua:
+0x6b21 029265 fetch 1 ,mem_spp_state 
+0x6b22 029266 set1 rfcomm_channel_state_ua ,pdata 
+0x6b23 029267 store 1 ,mem_spp_state 
+0x6b24 029268 branch rfcomm_rx_process_end 
+:      029269 parse_uih_rp_spp_sabm:
+0x6b25 029270 fetch 1 ,mem_spp_state 
+0x6b26 029271 set1 rfcomm_channel_state_ua ,pdata 
+0x6b27 029272 set1 rfcomm_channel_state_sabm ,pdata 
+0x6b28 029273 store 1 ,mem_spp_state 
+0x6b29 029274 fetch 1 ,mem_current_adss 
+0x6b2a 029275 call rfcomm_calculate_fcs_ua 
+0x6b2b 029276 store 1 ,mem_current_fcs 
+0x6b2c 029277 call rfcomm_send_ua 
+0x6b2d 029278 fetch 1 ,mem_current_adss 
+0x6b2e 029279 rshift2 pdata ,pdata 
+0x6b2f 029280 store 1 ,mem_pn_dlci 
+0x6b30 029281 lshift2 pdata ,pdata 
+0x6b31 029282 set0 rfcomm_address_cr ,pdata 
+0x6b32 029283 set1 rfcomm_address_ext_len ,pdata 
+0x6b33 029284 arg mem_hiufcs_spp ,temp 
+0x6b34 029285 storet 2 ,mem_contw_temp 
+0x6b35 029286 call rfcomm_save_fcs_uih 
+0x6b36 029287 branch rfcomm_rx_process_end 
+:      029289 parse_uih_spp_uih_credits:
+0x6b37 029290 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b38 029291 copy pdata ,contr 
+0x6b39 029292 increase 1 ,pdata 
+0x6b3a 029293 store 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b3b 029294 ifetch 1 ,contr 
+0x6b3c 029295 fetcht 1 ,mem_remote_credits 
+0x6b3d 029296 iadd temp ,pdata 
+0x6b3e 029297 store 1 ,mem_remote_credits 
+:      029298 parse_uih_spp_uih:
+0x6b3f 029299 call rfcomm_increase_credit_given 
+:      029300 parse_uih_spp_uih_cont:
+0x6b40 029301 call get_rfcomm_snd_adss 
+0x6b41 029302 call rfcomm_send_uih_without_payload 
+0x6b42 029303 call spp_process_rx_data 
+0x6b43 029304 branch rfcomm_rx_process_end 
+:      029306 parse_uih_rp_spp_disconn_send_event:
+0x6b44 029307 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+0x6b45 029308 call ui_ipc_send_event 
+:      029309 parse_uih_rp_spp_disconn:
+0x6b46 029310 call rfcomm_init_spp 
+0x6b47 029311 fetch 1 ,mem_current_adss 
+0x6b48 029312 call rfcomm_calculate_fcs_ua 
+0x6b49 029313 store 1 ,mem_current_fcs 
+0x6b4a 029314 call rfcomm_send_ua 
+0x6b4b 029315 branch rfcomm_rx_process_end 
+:      029320 rfcomm_rx_process_reconn:
+0x6b4c 029321 fetch 2 ,mem_l2cap_payload_ptr 
+0x6b4d 029322 copy pdata ,contr 
+0x6b4e 029323 call get_rfcomm_head_struct 
+0x6b4f 029324 fetch 1 ,mem_current_channel 
+0x6b50 029325 beq 0 ,parse_dlci0_reconn 
+0x6b51 029326 branch parse_uih_reconn 
+:      029328 parse_dlci0_reconn:
+0x6b52 029329 bpatchx patch35_1 ,mem_patch35 
+0x6b53 029330 fetch 1 ,mem_current_frame_type 
+0x6b54 029331 beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+0x6b55 029332 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+0x6b56 029333 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+0x6b57 029334 branch rfcomm_rx_process_end 
+:      029335 parse_dlci0_reconn_uih:
+0x6b58 029336 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+0x6b59 029337 copy pdata ,contr 
+0x6b5a 029338 call get_rfcomm_uih_head_struct 
+0x6b5b 029339 fetch 1 ,mem_uih_cmd_type 
+0x6b5c 029340 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+0x6b5d 029341 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+0x6b5e 029342 beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+0x6b5f 029343 beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+0x6b60 029344 branch rfcomm_rx_process_end 
+:      029346 parse_dlci0_reconn_uih_pn_cmd:
+0x6b61 029347 call parse_dlci0_rp_uih_pn_res_common 
+0x6b62 029348 fetch 1 ,mem_pn_dlci 
+0x6b63 029349 rshift pdata ,pdata 
+0x6b64 029350 fetcht 1 ,mem_remote_spp_channel 
+0x6b65 029351 isub temp ,null 
+0x6b66 029352 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+0x6b67 029353 branch assert 
+:      029354 parse_dlci0_reconn_uih_pn_cmd_spp:
+0x6b68 029355 fetch 1 ,mem_spp_state 
+0x6b69 029356 set1 rfcomm_channel_state_pn_res ,pdata 
+0x6b6a 029357 store 1 ,mem_spp_state 
+0x6b6b 029358 branch rfcomm_rx_process_end 
+:      029360 parse_dlci0_reconn_uih_ms_cmd:
+0x6b6c 029361 call get_rfcomm_param_modem_status 
+0x6b6d 029362 fetch 1 ,mem_ms_channel 
+0x6b6e 029363 fetcht 1 ,mem_remote_spp_channel 
+0x6b6f 029364 isub temp ,null 
+0x6b70 029365 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+0x6b71 029366 branch assert 
+0x6b72 029367 branch rfcomm_rx_process_end 
+:      029368 parse_dlci0_reconn_uih_ms_cmd_spp:
+0x6b73 029369 fetch 1 ,mem_spp_state 
+0x6b74 029370 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+0x6b75 029371 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+0x6b76 029372 store 1 ,mem_spp_state 
+0x6b77 029373 fetcht 1 ,mem_pn_dlci 
+0x6b78 029374 lshift2 temp ,temp 
+0x6b79 029375 or_into 3 ,temp 
+0x6b7a 029376 call rfcomm_send_modem_status_res 
+0x6b7b 029377 branch rfcomm_rx_process_end 
+:      029379 parse_dlci0_reconn_uih_ms_res:
+0x6b7c 029380 call get_rfcomm_param_modem_status 
+0x6b7d 029381 fetch 1 ,mem_ms_channel 
+0x6b7e 029382 fetcht 1 ,mem_remote_spp_channel 
+0x6b7f 029383 isub temp ,null 
+0x6b80 029384 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+0x6b81 029385 branch assert 
+:      029386 parse_dlci0_reconn_uih_ms_res_spp:
+0x6b82 029387 fetch 1 ,mem_spp_state 
+0x6b83 029388 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+0x6b84 029389 store 1 ,mem_spp_state 
+0x6b85 029390 branch rfcomm_rx_process_end 
+:      029392 parse_uih_reconn:
+0x6b86 029393 fetch 1 ,mem_current_channel 
+0x6b87 029394 fetcht 1 ,mem_remote_spp_channel 
+0x6b88 029395 isub temp ,null 
+0x6b89 029396 branch parse_uih_reconn_spp ,zero 
+0x6b8a 029397 branch assert 
+0x6b8b 029398 branch rfcomm_rx_process_end 
+:      029400 parse_uih_reconn_spp:
+0x6b8c 029401 fetch 1 ,mem_current_frame_type 
+0x6b8d 029402 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+0x6b8e 029403 beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+0x6b8f 029404 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+0x6b90 029405 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+:      029406 parse_uih_reconn_spp_ua:
+0x6b91 029407 fetch 1 ,mem_spp_state 
+0x6b92 029408 set1 rfcomm_channel_state_ua ,pdata 
+0x6b93 029409 store 1 ,mem_spp_state 
+0x6b94 029410 branch rfcomm_rx_process_end 
+:      029411 parse_uih_reconn_spp_sabm:
+0x6b95 029412 branch parse_uih_reconn_spp_sabm 
+:      029413 parse_uih_reconn_spp_disconn:
+0x6b96 029414 branch parse_uih_rp_spp_disconn 
+:      029415 rfcomm_rx_process_end:
+0x6b97 029416 rtn 
+:      029418 rfcomm_send_more_pkt:
+0x6b98 029419 fetch 1 ,mem_rfcomm_send_more_pkt 
+0x6b99 029420 rtn blank 
+0x6b9a 029421 beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+0x6b9b 029422 branch assert 
+:      029424 rfcomm_send_more_pkt_msc_cmd_spp:
+0x6b9c 029425 jam 0 ,mem_rfcomm_send_more_pkt 
+0x6b9d 029426 call l2cap_malloc_rfcomm_channel 
+0x6b9e 029427 arg spp_slave_channel ,temp 
+0x6b9f 029428 fetcht 1 ,mem_pn_dlci 
+0x6ba0 029429 lshift2 temp ,temp 
+:      029430 rfcomm_send_more_pkt_msc_cmd_spp0:
+0x6ba1 029431 or_into 0x03 ,temp 
+0x6ba2 029432 arg 0xaa ,rega 
+0x6ba3 029433 call rfcomm_send_modem_status_cmd 
+0x6ba4 029434 call l2cap_get_rfcomm_tx_buff 
+0x6ba5 029435 copy contw ,contr 
+0x6ba6 029436 ifetch 2 ,contr 
+0x6ba7 029437 branch assert ,blank 
+0x6ba8 029438 rtn 
+:      029440 rfcomm_send_sabm:
+0x6ba9 029441 call l2cap_get_rfcomm_tx_buff 
+0x6baa 029442 setarg 0x0004 
+0x6bab 029443 istore 2 ,contw 
+0x6bac 029444 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bad 029445 istore 2 ,contw 
+0x6bae 029446 fetch 1 ,mem_current_adss 
+0x6baf 029447 istore 1 ,contw 
+0x6bb0 029448 bpatchx patch35_2 ,mem_patch35 
+0x6bb1 029449 setarg 0x013f 
+0x6bb2 029450 istore 2 ,contw 
+0x6bb3 029451 fetch 1 ,mem_current_fcs 
+0x6bb4 029452 istore 1 ,contw 
+0x6bb5 029453 rtn 
+:      029454 rfcomm_send_ua:
+0x6bb6 029455 call l2cap_malloc_rfcomm_channel 
+0x6bb7 029456 call l2cap_get_rfcomm_tx_buff 
+0x6bb8 029457 setarg 0x0004 
+0x6bb9 029458 istore 2 ,contw 
+0x6bba 029459 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bbb 029460 istore 2 ,contw 
+0x6bbc 029461 fetch 1 ,mem_current_adss 
+0x6bbd 029462 istore 1 ,contw 
+0x6bbe 029463 bpatchx patch35_3 ,mem_patch35 
+0x6bbf 029464 setarg 0x0173 
+0x6bc0 029465 istore 2 ,contw 
+0x6bc1 029466 fetch 1 ,mem_current_fcs 
+0x6bc2 029467 istore 1 ,contw 
+0x6bc3 029468 rtn 
+:      029469 rfcomm_send_param_neg_cmd:
+0x6bc4 029470 call l2cap_get_rfcomm_tx_buff 
+0x6bc5 029471 setarg 0x000e 
+0x6bc6 029472 istore 2 ,contw 
+0x6bc7 029473 fetch 2 ,mem_rfcomm_remote_cid 
+0x6bc8 029474 istore 2 ,contw 
+0x6bc9 029475 fetch 1 ,mem_rfcomm_initiator 
+0x6bca 029476 lshift pdata ,pdata 
+0x6bcb 029477 set1 0 ,pdata 
+0x6bcc 029478 istore 1 ,contw 
+0x6bcd 029479 bpatchx patch35_4 ,mem_patch35 
+0x6bce 029480 setarg 0x15ef 
+0x6bcf 029481 istore 2 ,contw 
+0x6bd0 029482 setarg 0x1183 
+0x6bd1 029483 istore 2 ,contw 
+0x6bd2 029484 copy temp ,pdata 
+0x6bd3 029485 istore 1 ,contw 
+0x6bd4 029486 setarg 0x0000f0 
+0x6bd5 029487 istore 3 ,contw 
+0x6bd6 029488 setarg rfcomm_max_frame_size 
+0x6bd7 029489 istore 2 ,contw 
+0x6bd8 029490 setarg 0 
+0x6bd9 029491 istore 1 ,contw 
+0x6bda 029492 setarg 0x01 
+0x6bdb 029493 istore 1 ,contw 
+0x6bdc 029494 call rfcomm_calculate_fcs_dlci0 
+0x6bdd 029495 istore 1 ,contw 
+0x6bde 029496 jam 0x10 ,mem_credit_given 
+0x6bdf 029497 rtn 
+:      029498 rfcomm_send_param_neg_res:
+0x6be0 029499 call l2cap_malloc_rfcomm_channel 
+0x6be1 029500 call l2cap_get_rfcomm_tx_buff 
+0x6be2 029501 setarg 0x000e 
+0x6be3 029502 istore 2 ,contw 
+0x6be4 029503 fetch 2 ,mem_rfcomm_remote_cid 
+0x6be5 029504 istore 2 ,contw 
+0x6be6 029505 fetch 1 ,mem_rfcomm_initiator 
+0x6be7 029506 lshift pdata ,pdata 
+0x6be8 029507 set1 0 ,pdata 
+0x6be9 029508 istore 1 ,contw 
+0x6bea 029509 bpatchx patch35_5 ,mem_patch35 
+0x6beb 029510 setarg 0x15ef 
+0x6bec 029511 istore 2 ,contw 
+0x6bed 029512 setarg 0x1181 
+0x6bee 029513 istore 2 ,contw 
+0x6bef 029514 fetch 1 ,mem_pn_dlci 
+0x6bf0 029515 istore 1 ,contw 
+0x6bf1 029516 setarg 0x0000e0 
+0x6bf2 029517 istore 3 ,contw 
+0x6bf3 029518 fetch 2 ,mem_rfcomm_max_frame_size 
+0x6bf4 029519 istore 2 ,contw 
+0x6bf5 029520 setarg 0x00 
+0x6bf6 029521 istore 1 ,contw 
+0x6bf7 029522 fetch 1 ,mem_rfcomm_credit_init_data 
+0x6bf8 029523 istore 1 ,contw 
+0x6bf9 029524 call rfcomm_calculate_fcs_dlci0 
+0x6bfa 029525 istore 1 ,contw 
+0x6bfb 029526 rtn 
+:      029527 rfcomm_send_modem_status_cmd:
+0x6bfc 029528 call l2cap_get_rfcomm_tx_buff 
+0x6bfd 029529 setarg 0x0008 
+0x6bfe 029530 istore 2 ,contw 
+0x6bff 029531 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c00 029532 istore 2 ,contw 
+0x6c01 029533 fetch 1 ,mem_rfcomm_initiator 
+0x6c02 029534 lshift pdata ,pdata 
+0x6c03 029535 set1 0 ,pdata 
+0x6c04 029536 istore 1 ,contw 
+0x6c05 029537 bpatchx patch35_6 ,mem_patch35 
+0x6c06 029538 setarg 0x09ef 
+0x6c07 029539 istore 2 ,contw 
+0x6c08 029540 setarg 0x05e3 
+0x6c09 029541 istore 2 ,contw 
+0x6c0a 029542 copy temp ,pdata 
+0x6c0b 029543 istore 1 ,contw 
+0x6c0c 029544 setarg 0x8d 
+0x6c0d 029545 istore 1 ,contw 
+0x6c0e 029546 call rfcomm_calculate_fcs_dlci0 
+0x6c0f 029547 istore 1 ,contw 
+0x6c10 029548 rtn 
+:      029550 rfcomm_send_modem_status_res:
+0x6c11 029551 call l2cap_malloc_rfcomm_channel 
+0x6c12 029552 call l2cap_get_rfcomm_tx_buff 
+0x6c13 029553 setarg 0x0008 
+0x6c14 029554 istore 2 ,contw 
+0x6c15 029555 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c16 029556 istore 2 ,contw 
+0x6c17 029557 copy temp ,timeup 
+0x6c18 029558 fetch 1 ,mem_rfcomm_initiator 
+0x6c19 029559 lshift pdata ,pdata 
+0x6c1a 029560 set1 0 ,pdata 
+0x6c1b 029561 istore 1 ,contw 
+0x6c1c 029562 bpatchx patch35_7 ,mem_patch35 
+0x6c1d 029563 setarg 0x09ef 
+0x6c1e 029564 istore 2 ,contw 
+0x6c1f 029565 setarg 0x05e1 
+0x6c20 029566 istore 2 ,contw 
+0x6c21 029567 copy timeup ,pdata 
+0x6c22 029568 istore 1 ,contw 
+0x6c23 029569 setarg 0x8d 
+0x6c24 029570 istore 1 ,contw 
+0x6c25 029571 call rfcomm_calculate_fcs_dlci0 
+0x6c26 029572 istore 1 ,contw 
+0x6c27 029573 rtn 
+:      029575 rfcomm_send_uih_without_payload:
+0x6c28 029576 bpatchx patch36_0 ,mem_patch36 
+0x6c29 029577 fetch 1 ,mem_credit_given 
+0x6c2a 029578 rtn blank 
+0x6c2b 029579 hfetch 2 ,core_uart_rxitems 
+0x6c2c 029580 nrtn blank 
+0x6c2d 029581 copy rega ,pdata 
+0x6c2e 029582 store 1 ,mem_pdatatemp + 1 
+0x6c2f 029583 storet 1 ,mem_pdatatemp 
+0x6c30 029584 call l2cap_malloc_is_fifo_full 
+0x6c31 029585 nrtn blank 
+0x6c32 029586 call l2cap_malloc_rfcomm_channel 
+0x6c33 029587 call l2cap_get_rfcomm_tx_buff 
+0x6c34 029588 setarg 0x05 
+0x6c35 029589 istore 2 ,contw 
+0x6c36 029590 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c37 029591 istore 2 ,contw 
+0x6c38 029592 fetch 1 ,mem_rfcomm_send_adss 
+0x6c39 029593 istore 1 ,contw 
+0x6c3a 029594 setarg 0x01ff 
+0x6c3b 029595 istore 2 ,contw 
+0x6c3c 029596 fetch 1 ,mem_credit_given 
+0x6c3d 029597 istore 1 ,contw 
+0x6c3e 029598 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6c3f 029599 istore 1 ,contw 
+0x6c40 029600 jam 0 ,mem_credit_given 
+0x6c41 029601 rtn 
+:      029603 rfcomm_increase_credit_given:
+0x6c42 029604 bpatchx patch36_1 ,mem_patch36 
+0x6c43 029605 fetch 1 ,mem_credit_flag 
+0x6c44 029606 rtneq credit_enable 
+0x6c45 029607 fetch 2 ,mem_current_length 
+0x6c46 029608 rtn blank 
+0x6c47 029609 fetch 1 ,mem_credit_given 
+0x6c48 029610 increase 1 ,pdata 
+0x6c49 029611 store 1 ,mem_credit_given 
+0x6c4a 029612 rtn 
+:      029614 spp_process_rx_data:
+0x6c4b 029615 fetch 2 ,mem_cb_receive_spp_data 
+0x6c4c 029616 branch callback_func 
+:      029618 spp_tx_rfcomm_packet:
+0x6c4d 029619 bpatchx patch36_2 ,mem_patch36 
+0x6c4e 029621 fetch 1 ,mem_remote_credits 
+0x6c4f 029622 rtn blank 
+0x6c50 029623 increase -1 ,pdata 
+0x6c51 029624 store 1 ,mem_remote_credits 
+0x6c52 029625 fetch 2 ,mem_pn_max_frame_size 
+0x6c53 029626 fetcht 2 ,mem_current_packet_length 
+0x6c54 029627 isub temp ,null 
+0x6c55 029628 branch ssp_tx_rfcomm_from_uart ,positive 
+0x6c56 029629 store 2 ,mem_current_packet_length 
+:      029630 ssp_tx_rfcomm_from_uart:
+0x6c57 029631 fetch 1 ,mem_credit_given 
+0x6c58 029632 branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+0x6c59 029633 jam 1 ,mem_rfcomm_send_offset 
+0x6c5a 029634 fetch 1 ,mem_hiufcs_spp_wcredits 
+0x6c5b 029635 store 1 ,mem_rfcomm_send_fcs 
+0x6c5c 029636 setarg rsp_rx_uih_wdata 
+0x6c5d 029637 store 1 ,mem_rfcomm_send_frame_type 
+0x6c5e 029638 branch ssp_tx_rfcomm_from_uart_common 
+:      029639 ssp_tx_rfcomm_from_uart_without_credit:
+0x6c5f 029640 jam 0 ,mem_rfcomm_send_offset 
+0x6c60 029641 fetch 1 ,mem_hiufcs_spp 
+0x6c61 029642 store 1 ,mem_rfcomm_send_fcs 
+0x6c62 029643 setarg rsp_tx_uih 
+0x6c63 029644 store 1 ,mem_rfcomm_send_frame_type 
+:      029645 ssp_tx_rfcomm_from_uart_common:
+0x6c64 029646 bpatchx patch36_3 ,mem_patch36 
+0x6c65 029647 fetch 2 ,mem_current_packet_length 
+0x6c66 029648 sub pdata ,127 ,null 
+0x6c67 029649 branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+0x6c68 029650 fetch 1 ,mem_rfcomm_send_offset 
+0x6c69 029651 increase 1 ,pdata 
+0x6c6a 029652 store 1 ,mem_rfcomm_send_offset 
+:      029653 ssp_tx_rfcomm_from_uart_common0:
+0x6c6b 029654 call get_rfcomm_snd_adss 
+0x6c6c 029655 fetch 2 ,mem_current_packet_length 
+0x6c6d 029656 increase 8 ,pdata 
+0x6c6e 029657 fetcht 1 ,mem_rfcomm_send_offset 
+0x6c6f 029658 iadd temp ,rega 
+0x6c70 029660 call l2cap_malloc 
+0x6c71 029661 store 2 ,mem_rfcomm_tx_buff_ptr 
+0x6c72 029662 increase 4 ,pdata 
+0x6c73 029663 store 2 ,mem_rfcomm_tx_payload_ptr 
+0x6c74 029664 copy pdata ,contw 
+0x6c75 029665 fetch 1 ,mem_rfcomm_send_adss 
+0x6c76 029666 istore 1 ,contw 
+0x6c77 029667 fetch 1 ,mem_rfcomm_send_frame_type 
+0x6c78 029668 istore 1 ,contw 
+0x6c79 029669 call ssp_tx_write_length 
+0x6c7a 029670 call ssp_tx_write_given_credit 
+0x6c7b 029671 bpatchx patch36_4 ,mem_patch36 
+0x6c7c 029672 fetch 2 ,mem_nl_rx_data_src 
+0x6c7d 029673 copy pdata ,contru 
+0x6c7e 029674 fetch 2 ,mem_current_packet_length 
+0x6c7f 029675 copy pdata ,loopcnt 
+0x6c80 029676 call uart_copy_rx_bytes_fast 
+0x6c81 029677 copy contw ,temp 
+0x6c82 029678 copy contru ,pdata 
+0x6c83 029679 store 2 ,mem_nl_rx_data_src 
+0x6c84 029680 copy temp ,contw 
+0x6c85 029681 fetch 1 ,mem_rfcomm_send_fcs 
+0x6c86 029682 istore 1 ,contw 
+0x6c87 029683 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+0x6c88 029684 copy pdata ,contw 
+0x6c89 029685 fetch 2 ,mem_current_packet_length 
+0x6c8a 029686 fetcht 1 ,mem_rfcomm_send_offset 
+0x6c8b 029687 iadd temp ,pdata 
+0x6c8c 029688 increase 4 ,pdata 
+0x6c8d 029689 istore 2 ,contw 
+0x6c8e 029690 fetch 2 ,mem_rfcomm_remote_cid 
+0x6c8f 029691 istore 2 ,contw 
+0x6c90 029692 jam 0 ,mem_credit_given 
+0x6c91 029693 fetch 2 ,mem_nl_rx_len_all 
+0x6c92 029694 beq 0 ,module_hci_command_tx_spp_tx_complete 
+0x6c93 029695 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+0x6c94 029696 rtn 
+:      029698 ssp_tx_write_length:
+0x6c95 029699 bpatchx patch36_5 ,mem_patch36 
+0x6c96 029700 fetch 2 ,mem_current_packet_length 
+0x6c97 029701 sub pdata ,0x7f ,null 
+0x6c98 029702 nbranch ssp_tx_write_long_packet ,positive 
+0x6c99 029703 lshift pdata ,pdata 
+0x6c9a 029704 set1 0 ,pdata 
+0x6c9b 029705 istore 1 ,contw 
+0x6c9c 029706 rtn 
+:      029707 ssp_tx_write_long_packet:
+0x6c9d 029708 fetch 2 ,mem_current_packet_length 
+0x6c9e 029709 rshift3 pdata ,pdata 
+0x6c9f 029710 rshift4 pdata ,temp 
+0x6ca0 029711 and_into 0x7f ,pdata 
+0x6ca1 029712 lshift pdata ,pdata 
+0x6ca2 029713 set0 0 ,pdata 
+0x6ca3 029714 istore 1 ,contw 
+0x6ca4 029715 istoret 1 ,contw 
+0x6ca5 029716 rtn 
+:      029717 ssp_tx_write_given_credit:
+0x6ca6 029718 fetch 1 ,mem_credit_given 
+0x6ca7 029719 rtn blank 
+0x6ca8 029720 istore 1 ,contw 
+0x6ca9 029721 rtn 
+:      029726 scheduler_process:
+0x6caa 029727 bpatchx patch36_6 ,mem_patch36 
+0x6cab 029728 call check_51cmd 
+0x6cac 029729 call app_process_bb_event 
+0x6cad 029730 call process_conn_sm 
+0x6cae 029732 bpatchx patch36_7 ,mem_patch36 
+0x6caf 029733 call sp_calc_sequence 
+0x6cb0 029734 call simple_pairing_sequence 
+0x6cb1 029735 call master_simple_paring_sequence 
+0x6cb2 029738 call l2cap_malloc_is_fifo_full 
+0x6cb3 029739 nrtn blank 
+0x6cb4 029741 call l2cap_call_proc_sigal_pending 
+0x6cb5 029742 call l2cap_malloc_is_fifo_full 
+0x6cb6 029743 nrtn blank 
+0x6cb7 029744 bpatchx patch37_0 ,mem_patch37 
+0x6cb8 029746 call process_upper_sm 
+0x6cb9 029747 call l2cap_send_config_req 
+0x6cba 029748 call rfcomm_send_more_pkt 
+:      029749 scheduler_process0:
+0x6cbb 029750 call scheduler_tx_disconnect_hid 
+0x6cbc 029751 bpatchx patch37_1 ,mem_patch37 
+0x6cbd 029754 branch app_process_bt 
+:      029756 scheduler_tx_disconnect_hid:
+0x6cbe 029757 fetch 1 ,mem_control_tasks 
+0x6cbf 029758 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+0x6cc0 029759 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+0x6cc1 029760 rtn 
+:      029762 scheduler_tx_l2cap_pkt:
+0x6cc2 029763 bpatchx patch37_2 ,mem_patch37 
+0x6cc3 029764 call l2cap_malloc_is_fifo_empty 
+0x6cc4 029765 rtn blank 
+0x6cc5 029766 fetch 1 ,mem_op 
+0x6cc6 029767 rtnbit1 op_txl2cap 
+0x6cc7 029768 call l2cap_malloc_fifo_out 
+0x6cc8 029769 store 2 ,mem_txptr 
+0x6cc9 029770 copy pdata ,contr 
+0x6cca 029771 ifetch 2 ,contr 
+0x6ccb 029772 increase 4 ,pdata 
+0x6ccc 029773 store 2 ,mem_tx_len 
+0x6ccd 029774 jam 6 ,mem_tx_lch 
+0x6cce 029775 bpatchx patch37_3 ,mem_patch37 
+0x6ccf 029776 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6cd0 029777 branch scheduler_tx_l2cap_start_pkt ,blank 
+0x6cd1 029778 fetch 1 ,mem_op 
+0x6cd2 029779 rtnbit0 op_pkt_comp 
+0x6cd3 029780 set0 op_pkt_comp ,pdata 
+0x6cd4 029781 store 1 ,mem_op 
+0x6cd5 029782 jam 5 ,mem_tx_lch 
+0x6cd6 029783 fetcht 2 ,mem_l2cap_tx_multi_offset 
+0x6cd7 029784 fetch 2 ,mem_txptr 
+0x6cd8 029785 iadd temp ,pdata 
+0x6cd9 029786 store 2 ,mem_txptr 
+0x6cda 029787 fetch 2 ,mem_tx_len 
+0x6cdb 029788 isub temp ,pdata 
+0x6cdc 029789 store 2 ,mem_tx_len 
+:      029790 scheduler_tx_l2cap_start_pkt:
+0x6cdd 029791 bpatchx patch37_4 ,mem_patch37 
+0x6cde 029792 fetch 2 ,mem_tx_len 
+0x6cdf 029793 branch assert ,blank 
+0x6ce0 029794 arg l2cap_max_pkt_len ,temp 
+0x6ce1 029795 isub temp ,pdata 
+0x6ce2 029796 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+0x6ce3 029797 bpatchx patch37_5 ,mem_patch37 
+0x6ce4 029798 storet 2 ,mem_tx_len 
+0x6ce5 029799 fetch 2 ,mem_l2cap_tx_multi_offset 
+0x6ce6 029800 iadd temp ,pdata 
+0x6ce7 029801 store 2 ,mem_l2cap_tx_multi_offset 
+0x6ce8 029802 branch scheduler_tx_l2cap_pkt_end 
+:      029803 scheduler_tx_l2cap_last_pkt:
+0x6ce9 029804 setarg 0 
+0x6cea 029805 store 2 ,mem_l2cap_tx_multi_offset 
+:      029806 scheduler_tx_l2cap_pkt_end:
+0x6ceb 029807 fetch 1 ,mem_op 
+0x6cec 029808 set1 op_txl2cap ,pdata 
+0x6ced 029809 store 1 ,mem_op 
+0x6cee 029810 rtn 
+:      029812 scheduler_start_upper_sm:
+0x6cef 029813 fetch 1 ,mem_ui_profile_supported 
+0x6cf0 029814 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+0x6cf1 029815 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+0x6cf2 029816 rtn 
+:      029817 scheduler_start_upper_sm_hid:
+0x6cf3 029818 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6cf4 029819 rtn 
+:      029821 process_upper_sm:
+0x6cf5 029822 fetch 1 ,memui_reconnect_mode 
+0x6cf6 029823 nbranch process_upper_sm_reconn ,blank 
+:      029824 process_upper_sm_remote_page:
+0x6cf7 029825 fetch 1 ,mem_upper_sm_remote_page 
+0x6cf8 029827 rtn blank 
+0x6cf9 029829 jam 0 ,mem_upper_sm_remote_page 
+:      029830 process_upper_sm_rp_wait:
+0x6cfa 029831 rtn 
+:      029834 process_upper_sm_reconn:
+0x6cfb 029835 bpatchx patch37_6 ,mem_patch37 
+0x6cfc 029836 fetch 1 ,mem_upper_sm_reconn 
+0x6cfd 029837 rtn blank 
+0x6cfe 029838 beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+0x6cff 029839 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+0x6d00 029840 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+0x6d01 029841 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+0x6d02 029842 beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+0x6d03 029843 beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+0x6d04 029844 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+0x6d05 029845 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+0x6d06 029846 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+0x6d07 029847 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+0x6d08 029848 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+0x6d09 029849 beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+0x6d0a 029850 beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+0x6d0b 029851 beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+0x6d0c 029852 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+0x6d0d 029853 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+0x6d0e 029854 beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+0x6d0f 029855 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+0x6d10 029856 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+0x6d11 029857 beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+0x6d12 029858 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+0x6d13 029859 beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+0x6d14 029860 beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+0x6d15 029861 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+0x6d16 029862 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+0x6d17 029863 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+0x6d18 029864 beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+0x6d19 029865 beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+:      029866 process_upper_sm_reconn_wait:
+0x6d1a 029867 rtn 
+:      029868 process_upper_sm_reconn_sdp_conn:
+0x6d1b 029869 call upper_sm_send_sdp_conn 
+0x6d1c 029870 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+0x6d1d 029871 fetch 1 ,mem_sdp_state 
+0x6d1e 029872 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d1f 029873 store 1 ,mem_sdp_state 
+0x6d20 029874 rtn 
+:      029875 process_upper_sm_reconn_sdp_cfg:
+0x6d21 029876 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6d22 029877 fetch 1 ,mem_sdp_state 
+0x6d23 029878 rtnbit1 l2cap_channel_state_snd_cfg_req 
+0x6d24 029879 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6d25 029880 call upper_sm_send_sdp_cfg 
+0x6d26 029881 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+0x6d27 029882 fetch 1 ,mem_sdp_state 
+0x6d28 029883 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d29 029884 store 1 ,mem_sdp_state 
+0x6d2a 029885 rtn 
+:      029886 process_upper_sm_reconn_ss_spp:
+0x6d2b 029887 call l2cap_malloc_is_fifo_empty 
+0x6d2c 029888 nrtn blank 
+0x6d2d 029889 call upper_sm_send_ss_spp 
+0x6d2e 029890 jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+0x6d2f 029891 rtn 
+:      029892 process_upper_sm_reconn_sdp_disconn:
+0x6d30 029893 call upper_sm_send_sdp_disconn 
+0x6d31 029894 jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+0x6d32 029895 rtn 
+:      029896 process_upper_sm_reconn_hid_ctrl_conn:
+0x6d33 029897 call upper_sm_send_hid_ctrl_conn 
+0x6d34 029898 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+0x6d35 029899 fetch 1 ,mem_hid_control_state 
+0x6d36 029900 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d37 029901 store 1 ,mem_hid_control_state 
+0x6d38 029902 rtn 
+:      029903 process_upper_sm_reconn_hid_ctrl_cfg:
+0x6d39 029904 call upper_sm_send_hid_ctrl_cfg 
+0x6d3a 029905 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+0x6d3b 029906 fetch 1 ,mem_hid_control_state 
+0x6d3c 029907 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d3d 029908 store 1 ,mem_hid_control_state 
+0x6d3e 029909 rtn 
+:      029910 process_upper_sm_reconn_hid_int_conn:
+0x6d3f 029911 call upper_sm_send_hid_int_conn 
+0x6d40 029912 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+0x6d41 029913 fetch 1 ,mem_hid_interrupt_state 
+0x6d42 029914 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d43 029915 store 1 ,mem_hid_interrupt_state 
+0x6d44 029916 rtn 
+:      029917 process_upper_sm_reconn_hid_int_cfg:
+0x6d45 029918 call upper_sm_send_hid_int_cfg 
+0x6d46 029919 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+0x6d47 029920 fetch 1 ,mem_hid_interrupt_state 
+0x6d48 029921 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d49 029922 store 1 ,mem_hid_interrupt_state 
+0x6d4a 029923 rtn 
+:      029924 process_upper_sm_reconn_rfcomm_conn:
+0x6d4b 029925 call upper_sm_send_rfcomm_conn 
+0x6d4c 029926 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+0x6d4d 029927 fetch 1 ,mem_rfcomm_state 
+0x6d4e 029928 set1 l2cap_channel_state_conn_req ,pdata 
+0x6d4f 029929 store 1 ,mem_rfcomm_state 
+0x6d50 029930 rtn 
+:      029931 process_upper_sm_reconn_rfcomm_cfg:
+0x6d51 029932 call upper_sm_send_rfcomm_cfg 
+0x6d52 029933 jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+0x6d53 029934 fetch 1 ,mem_rfcomm_state 
+0x6d54 029935 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+0x6d55 029936 store 1 ,mem_rfcomm_state 
+0x6d56 029937 rtn 
+:      029938 process_upper_sm_reconn_rfcomm_sabm:
+0x6d57 029939 call upper_sm_send_rfcomm_sabm 
+0x6d58 029940 jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+0x6d59 029941 fetch 1 ,mem_rfcomm_state 
+0x6d5a 029942 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+0x6d5b 029943 store 1 ,mem_rfcomm_state 
+0x6d5c 029944 rtn 
+:      029945 process_upper_sm_reconn_spp_cmd_pn:
+0x6d5d 029946 call upper_sm_send_spp_cmd_pn 
+0x6d5e 029947 fetch 1 ,mem_spp_state 
+0x6d5f 029948 set1 rfcomm_channel_state_pn_cmd 
+0x6d60 029949 store 1 ,mem_spp_state 
+0x6d61 029950 jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+0x6d62 029951 rtn 
+:      029952 process_upper_sm_reconn_spp_sabm:
+0x6d63 029953 call upper_sm_send_spp_sabm 
+0x6d64 029954 fetch 1 ,mem_spp_state 
+0x6d65 029955 set1 rfcomm_channel_state_sabm 
+0x6d66 029956 store 1 ,mem_spp_state 
+0x6d67 029957 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+0x6d68 029958 fetch 1 ,mem_remote_spp_channel 
+0x6d69 029959 lshift3 pdata ,pdata 
+0x6d6a 029960 or_into 3 ,pdata 
+0x6d6b 029961 arg mem_hiufcs_spp ,temp 
+0x6d6c 029962 storet 2 ,mem_contw_temp 
+0x6d6d 029963 branch rfcomm_save_fcs_uih 
+:      029964 process_upper_sm_reconn_spp_cmd_ms:
+0x6d6e 029965 call upper_sm_send_spp_cmd_ms 
+0x6d6f 029966 fetch 1 ,mem_spp_state 
+0x6d70 029967 set1 rfcomm_channel_state_snd_ms_cmd 
+0x6d71 029968 store 1 ,mem_spp_state 
+0x6d72 029969 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+0x6d73 029970 rtn 
+:      029972 process_upper_sm_reconn_sdp_conn_wait:
+0x6d74 029973 fetch 1 ,mem_sdp_state 
+0x6d75 029974 rtnbit0 l2cap_channel_state_conn_res 
+0x6d76 029975 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+0x6d77 029976 branch process_upper_sm_reconn 
+:      029977 process_upper_sm_reconn_sdp_cfg_wait:
+0x6d78 029978 fetch 1 ,mem_sdp_state 
+0x6d79 029979 rtnne l2cap_channel_setup_complete 
+0x6d7a 029980 jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+:      029981 process_upper_sm_reconn_ss_spp_wait:
+0x6d7b 029982 fetch 1 ,mem_message_to_uppersm 
+0x6d7c 029983 rtnne recieve_ss_reasult_hf 
+0x6d7d 029984 jam 0 ,mem_message_to_uppersm 
+0x6d7e 029985 jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+0x6d7f 029986 branch process_upper_sm_reconn 
+:      029987 process_upper_sm_reconn_sdp_disconn_wait:
+0x6d80 029988 fetch 1 ,mem_sdp_state 
+0x6d81 029989 nrtn blank 
+0x6d82 029990 fetch 1 ,mem_ui_profile_supported 
+0x6d83 029991 bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+0x6d84 029992 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6d85 029993 branch process_upper_sm_reconn_termination 
+:      029994 process_upper_sm_reconn_hid_ctrl_conn_wait:
+0x6d86 029995 fetch 1 ,mem_hid_control_state 
+0x6d87 029996 rtnbit0 l2cap_channel_state_conn_res 
+0x6d88 029997 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+0x6d89 029998 branch process_upper_sm_reconn 
+:      029999 process_upper_sm_reconn_hid_ctrl_cfg_wait:
+0x6d8a 030000 fetch 1 ,mem_hid_control_state 
+0x6d8b 030001 rtnne l2cap_channel_setup_complete 
+0x6d8c 030002 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+0x6d8d 030003 branch process_upper_sm_reconn 
+:      030004 process_upper_sm_reconn_hid_int_conn_wait:
+0x6d8e 030005 fetch 1 ,mem_hid_interrupt_state 
+0x6d8f 030006 rtnbit0 l2cap_channel_state_conn_res 
+0x6d90 030007 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+0x6d91 030008 branch process_upper_sm_reconn 
+:      030009 process_upper_sm_reconn_hid_int_cfg_wait:
+0x6d92 030010 fetch 1 ,mem_hid_interrupt_state 
+0x6d93 030011 rtnne l2cap_channel_setup_complete 
+0x6d94 030012 fetch 1 ,mem_ui_profile_supported 
+0x6d95 030013 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+0x6d96 030014 branch process_upper_sm_reconn_termination 
+:      030015 process_upper_sm_reconn_rfcomm_conn_wait:
+0x6d97 030016 fetch 1 ,mem_rfcomm_state 
+0x6d98 030017 rtnbit0 l2cap_channel_state_conn_res 
+0x6d99 030018 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+0x6d9a 030019 branch process_upper_sm_reconn 
+:      030020 process_upper_sm_reconn_rfcomm_cfg_wait:
+0x6d9b 030021 fetch 1 ,mem_rfcomm_state 
+0x6d9c 030022 rtnne l2cap_channel_setup_complete 
+0x6d9d 030023 jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+0x6d9e 030024 branch process_upper_sm_reconn 
+:      030025 process_upper_sm_reconn_rfcomm_sabm_wait:
+0x6d9f 030026 fetch 1 ,mem_rfcomm_state 
+0x6da0 030027 rtnne l2cap_channel_rfcomm_dlci0_opened 
+0x6da1 030028 fetch 1 ,mem_ui_profile_supported 
+0x6da2 030029 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+0x6da3 030030 branch process_upper_sm_reconn_termination 
+:      030031 process_upper_sm_reconn_spp_cmd_pn_wait:
+0x6da4 030032 fetch 1 ,mem_spp_state 
+0x6da5 030033 rtnbit0 rfcomm_channel_state_pn_res 
+0x6da6 030034 jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+0x6da7 030035 branch process_upper_sm_reconn 
+:      030036 process_upper_sm_reconn_spp_sabm_wait:
+0x6da8 030037 fetch 1 ,mem_spp_state 
+0x6da9 030038 rtnbit0 rfcomm_channel_state_ua 
+0x6daa 030039 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+0x6dab 030040 branch process_upper_sm_reconn 
+:      030041 process_upper_sm_reconn_spp_cmd_ms_wait:
+0x6dac 030042 fetch 1 ,mem_spp_state 
+0x6dad 030043 rtnne rfcomm_channel_setup_complete 
+0x6dae 030044 branch process_upper_sm_reconn_termination 
+:      030046 process_upper_sm_reconn_setup_hid:
+0x6daf 030047 jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+0x6db0 030048 branch process_upper_sm_reconn 
+:      030050 process_upper_sm_reconn_setup_rfcomm:
+0x6db1 030051 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+0x6db2 030052 branch process_upper_sm_reconn 
+:      030053 process_upper_sm_reconn_setup_spp:
+0x6db3 030054 jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+0x6db4 030055 branch process_upper_sm_reconn 
+:      030059 process_upper_sm_reconn_termination:
+0x6db5 030060 jam 0 ,mem_upper_sm_reconn 
+0x6db6 030061 rtn 
+:      030062 upper_sm_send_sdp_conn:
+0x6db7 030063 bpatchx patch37_7 ,mem_patch37 
+0x6db8 030064 call l2cap_malloc_signal_channel 
+0x6db9 030065 setarg psm_sdp 
+0x6dba 030066 copy pdata ,temp 
+0x6dbb 030067 setarg l2cap_sdp_channel 
+0x6dbc 030068 copy pdata ,timeup 
+0x6dbd 030069 branch ml2cap_send_signal_connect_req 
+:      030071 upper_sm_send_sdp_cfg:
+0x6dbe 030072 bpatchx patch38_0 ,mem_patch38 
+0x6dbf 030073 call l2cap_malloc_signal_channel 
+0x6dc0 030074 fetch 2 ,mem_sdp_remote_cid 
+0x6dc1 030075 copy pdata ,temp 
+0x6dc2 030076 branch ml2cap_send_signal_config_req 
+:      030078 upper_sm_send_sdp_disconn:
+0x6dc3 030079 bpatchx patch38_1 ,mem_patch38 
+0x6dc4 030080 call l2cap_malloc_signal_channel 
+0x6dc5 030081 fetch 2 ,mem_sdp_remote_cid 
+0x6dc6 030082 copy pdata ,temp 
+0x6dc7 030083 arg l2cap_sdp_channel ,timeup 
+0x6dc8 030084 call ml2cap_send_signal_disconn_req 
+0x6dc9 030085 fetch 1 ,mem_sdp_state 
+0x6dca 030086 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+0x6dcb 030087 store 1 ,mem_sdp_state 
+0x6dcc 030088 rtn 
+:      030090 upper_sm_send_ss_spp:
+0x6dcd 030091 bpatchx patch38_2 ,mem_patch38 
+0x6dce 030092 call l2cap_malloc_sdp_channel 
+0x6dcf 030093 call sdp_send_spp_request 
+0x6dd0 030094 branch msdp_send_req_done 
+:      030096 upper_sm_send_rfcomm_conn:
+0x6dd1 030097 bpatchx patch38_3 ,mem_patch38 
+0x6dd2 030098 call l2cap_malloc_signal_channel 
+0x6dd3 030099 setarg psm_rfcomm 
+0x6dd4 030100 copy pdata ,temp 
+0x6dd5 030101 setarg l2cap_rfcomm_channel 
+0x6dd6 030102 copy pdata ,timeup 
+0x6dd7 030103 branch ml2cap_send_signal_connect_req 
+:      030105 upper_sm_send_rfcomm_cfg:
+0x6dd8 030106 bpatchx patch38_4 ,mem_patch38 
+0x6dd9 030107 call l2cap_malloc_signal_channel 
+0x6dda 030108 fetch 2 ,mem_rfcomm_remote_cid 
+0x6ddb 030109 copy pdata ,temp 
+0x6ddc 030110 branch ml2cap_send_signal_config_req 
+:      030112 upper_sm_send_hid_ctrl_conn:
+0x6ddd 030113 bpatchx patch38_5 ,mem_patch38 
+0x6dde 030114 call l2cap_malloc_signal_channel 
+0x6ddf 030115 setarg psm_hid_control 
+0x6de0 030116 copy pdata ,temp 
+0x6de1 030117 setarg l2cap_hid_control_channel 
+0x6de2 030118 copy pdata ,timeup 
+0x6de3 030119 branch ml2cap_send_signal_connect_req 
+:      030121 upper_sm_send_hid_ctrl_cfg:
+0x6de4 030122 bpatchx patch38_6 ,mem_patch38 
+0x6de5 030123 call l2cap_malloc_signal_channel 
+0x6de6 030124 fetch 2 ,mem_hid_ctrl_remote_cid 
+0x6de7 030125 copy pdata ,temp 
+0x6de8 030126 branch ml2cap_send_signal_config_req 
+:      030128 upper_sm_send_hid_int_conn:
+0x6de9 030129 bpatchx patch38_7 ,mem_patch38 
+0x6dea 030130 call l2cap_malloc_signal_channel 
+0x6deb 030131 setarg psm_hid_interrupt 
+0x6dec 030132 copy pdata ,temp 
+0x6ded 030133 setarg l2cap_hid_interrupt_channel 
+0x6dee 030134 copy pdata ,timeup 
+0x6def 030135 branch ml2cap_send_signal_connect_req 
+:      030137 upper_sm_send_hid_int_cfg:
+0x6df0 030138 bpatchx patch39_0 ,mem_patch39 
+0x6df1 030139 call l2cap_malloc_signal_channel 
+0x6df2 030140 fetch 2 ,mem_hid_int_remote_cid 
+0x6df3 030141 copy pdata ,temp 
+0x6df4 030142 branch ml2cap_send_signal_config_req 
+:      030144 upper_sm_send_rfcomm_sabm:
+0x6df5 030145 bpatchx patch39_1 ,mem_patch39 
+0x6df6 030146 call l2cap_malloc_rfcomm_channel 
+0x6df7 030148 jam 3 ,mem_current_adss 
+0x6df8 030149 jam 0x1c ,mem_current_fcs 
+0x6df9 030150 call rfcomm_send_sabm 
+0x6dfa 030151 jam 1 ,mem_rfcomm_initiator 
+0x6dfb 030152 rtn 
+:      030154 upper_sm_send_spp_cmd_pn:
+0x6dfc 030155 bpatchx patch39_2 ,mem_patch39 
+0x6dfd 030156 call l2cap_malloc_rfcomm_channel 
+0x6dfe 030157 fetcht 1 ,mem_remote_spp_channel 
+0x6dff 030158 call channel_to_dlci 
+0x6e00 030159 storet 1 ,mem_pn_dlci 
+0x6e01 030160 branch rfcomm_send_param_neg_cmd 
+:      030162 upper_sm_send_spp_sabm:
+0x6e02 030163 bpatchx patch39_3 ,mem_patch39 
+0x6e03 030164 call l2cap_malloc_rfcomm_channel 
+0x6e04 030165 fetcht 1 ,mem_pn_dlci 
+0x6e05 030166 call dlci_to_address_cmd 
+0x6e06 030167 call rfcomm_calculate_fcs_sabm 
+0x6e07 030168 store 1 ,mem_current_fcs 
+0x6e08 030169 fetcht 1 ,mem_pn_dlci 
+0x6e09 030170 call dlci_to_address_cmd 
+0x6e0a 030171 storet 1 ,mem_current_adss 
+0x6e0b 030172 branch rfcomm_send_sabm 
+:      030174 upper_sm_send_spp_cmd_ms:
+0x6e0c 030175 bpatchx patch39_4 ,mem_patch39 
+0x6e0d 030176 call l2cap_malloc_rfcomm_channel 
+0x6e0e 030177 fetcht 1 ,mem_pn_dlci 
+0x6e0f 030178 call dlci_to_address_cmd 
+0x6e10 030179 branch rfcomm_send_modem_status_cmd 
+:      030192 sdp_process:
+0x6e11 030193 bpatchx patch39_5 ,mem_patch39 
+0x6e12 030194 fetch 2 ,mem_l2cap_payload_ptr 
+0x6e13 030195 iforce contr 
+0x6e14 030198 ifetch 1 ,contr 
+0x6e15 030199 copy pdata ,regb 
+0x6e16 030200 store 1 ,mem_sdp_pduid 
+0x6e17 030201 ifetch 2 ,contr 
+0x6e18 030202 store 2 ,mem_sdp_transactionid 
+0x6e19 030203 ifetch 1 ,contr 
+0x6e1a 030204 lshift8 pdata ,timeup 
+0x6e1b 030205 ifetch 1 ,contr 
+0x6e1c 030206 iadd timeup ,timeup 
+0x6e1d 030207 bpatchx patch39_6 ,mem_patch39 
+0x6e1e 030208 copy contr ,temp 
+0x6e1f 030209 arg 4 ,loopcnt 
+0x6e20 030210 arg mem_sdp_handle_list ,contw 
+0x6e21 030211 call memset0 
+0x6e22 030212 copy temp ,contr 
+0x6e23 030213 deposit regb 
+0x6e24 030214 beq sdp_error_res ,sdp_process_error_res 
+0x6e25 030215 beq sdp_search_req ,sdp_process_ss_req 
+0x6e26 030216 beq sdp_search_res ,sdp_process_ss_res 
+0x6e27 030217 beq sdp_attribute_req ,sdp_process_sa_req 
+0x6e28 030218 beq sdp_attribute_res ,sdp_process_sa_res 
+0x6e29 030219 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+0x6e2a 030220 beq sdp_searchattrib_res ,sdp_process_ssa_res 
+0x6e2b 030221 branch sdp_insufficient_resource 
+:      030232 sdp_process_ss_req:
+0x6e2c 030233 bpatchx patch39_7 ,mem_patch39 
+0x6e2d 030234 call ask_serviceclassid 
+0x6e2e 030235 compare 1 ,temp ,0xff 
+0x6e2f 030236 branch ss_empty_rsp ,true 
+0x6e30 030237 compare 0xff ,temp ,0xff 
+0x6e31 030238 branch sdp_invalid_request_syntax ,true 
+0x6e32 030240 ifetch 2 ,contr 
+0x6e33 030241 store 2 ,mem_sdp_record_maxcnt 
+0x6e34 030242 increase -2 ,timeup 
+0x6e35 030244 increase -1 ,timeup 
+0x6e36 030245 nbranch sdp_invalid_pdu_size ,zero 
+0x6e37 030246 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6e38 030247 ifetch 2 ,timeup 
+0x6e39 030248 rtn blank 
+0x6e3a 030249 call search_all_uuid 
+0x6e3b 030250 call l2cap_get_sdp_tx_payload 
+0x6e3c 030251 force 3 ,pdata 
+0x6e3d 030252 istore 1 ,contw 
+0x6e3e 030253 fetch 2 ,mem_sdp_transactionid 
+0x6e3f 030254 istore 2 ,contw 
+0x6e40 030255 lshift2 queue ,pdata 
+0x6e41 030256 add pdata ,5 ,pdata 
+0x6e42 030257 add pdata ,5 ,regc 
+0x6e43 030258 byteswap pdata ,pdata 
+0x6e44 030259 istore 2 ,contw 
+0x6e45 030260 deposit queue 
+0x6e46 030261 byteswap pdata ,pdata 
+0x6e47 030262 istore 2 ,contw 
+0x6e48 030263 istore 2 ,contw 
+0x6e49 030264 arg mem_sdp_handle_list ,contr 
+0x6e4a 030265 copy queue ,loopcnt 
+0x6e4b 030266 branch ss_req_blank ,zero 
+:      030267 ss_req_loop:
+0x6e4c 030268 ifetch 4 ,contr 
+0x6e4d 030269 istore 4 ,contw 
+0x6e4e 030270 loop ss_req_loop 
+:      030271 ss_req_blank:
+0x6e4f 030272 force 0 ,pdata 
+0x6e50 030273 istore 1 ,contw 
+0x6e51 030274 deposit regc 
+0x6e52 030275 store 2 ,mem_sdp_tx_pkt_length 
+0x6e53 030277 rtn 
+:      030288 sdp_process_sa_req:
+0x6e54 030289 bpatchx patch3a_0 ,mem_patch3a 
+0x6e55 030290 ifetch 4 ,contr 
+0x6e56 030291 store 4 ,mem_sdp_record_handle 
+0x6e57 030292 increase -4 ,timeup 
+0x6e58 030293 call sdp_store_maxbyte 
+0x6e59 030294 store 2 ,mem_sdp_attribute_maxbyte 
+0x6e5a 030295 increase -2 ,timeup 
+0x6e5b 030296 call dataelementtype6 
+0x6e5c 030297 branch sdp_invalid_request_syntax ,zero 
+0x6e5d 030298 compare 5 ,rega ,0xff 
+0x6e5e 030300 branch sa_judge_wholerange ,true 
+:      030301 sa_isnot_wholerange:
+0x6e5f 030302 arg mem_sdp_attrib_list ,contw 
+0x6e60 030303 force 0 ,queue 
+0x6e61 030304 branch sa_req_loop 
+:      030305 sa_judge_wholerange:
+0x6e62 030306 ifetch 1 ,contr 
+0x6e63 030307 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+0x6e64 030308 ifetch 2 ,contr 
+0x6e65 030309 nbranch sa_judge_wholerange_false1 ,blank 
+0x6e66 030310 ifetch 1 ,contr 
+0x6e67 030311 bne 0xff ,sa_judge_wholerange_false2 
+0x6e68 030312 ifetch 1 ,contr 
+0x6e69 030313 bne 0xff ,sa_judge_wholerange_false3 
+0x6e6a 030314 branch sa_req_all 
+:      030315 sa_judge_wholerange_false3:
+0x6e6b 030316 increase -5 ,contr 
+0x6e6c 030317 branch sa_isnot_wholerange 
+:      030318 sa_judge_wholerange_false2:
+0x6e6d 030319 increase -4 ,contr 
+0x6e6e 030320 branch sa_isnot_wholerange 
+:      030321 sa_judge_wholerange_false1:
+0x6e6f 030322 increase -3 ,contr 
+0x6e70 030323 branch sa_isnot_wholerange 
+:      030324 sa_req_loop:
+0x6e71 030325 ifetch 1 ,contr 
+0x6e72 030326 beq sdp_attribute_id ,sa_req_one_id 
+0x6e73 030327 beq sdp_attribute_range ,sa_req_range 
+:      030328 sa_req_range:
+0x6e74 030329 ifetch 2 ,contr 
+0x6e75 030330 istore 2 ,contw 
+0x6e76 030331 increase 1 ,queue 
+0x6e77 030332 byteswap pdata ,regb 
+0x6e78 030333 ifetch 2 ,contr 
+0x6e79 030334 byteswap pdata ,pdata 
+:      030335 sa_req_range_id_increase:
+0x6e7a 030336 increase 1 ,regb 
+0x6e7b 030337 isub regb ,null 
+0x6e7c 030338 nbranch sa_req_range_id_finish ,positive 
+0x6e7d 030339 copy pdata ,regc 
+0x6e7e 030340 byteswap regb ,pdata 
+0x6e7f 030341 istore 2 ,contw 
+0x6e80 030342 increase 1 ,queue 
+0x6e81 030343 copy regc ,pdata 
+0x6e82 030344 branch sa_req_range_id_increase 
+:      030345 sa_req_range_id_finish:
+0x6e83 030346 increase -5 ,timeup 
+0x6e84 030347 increase -5 ,rega 
+0x6e85 030348 branch sa_req_check_next_id 
+:      030349 sa_req_one_id:
+0x6e86 030350 ifetch 2 ,contr 
+0x6e87 030351 istore 2 ,contw 
+0x6e88 030352 increase 1 ,queue 
+0x6e89 030353 increase -3 ,timeup 
+0x6e8a 030354 increase -3 ,rega 
+:      030355 sa_req_check_next_id:
+0x6e8b 030356 nbranch sdp_invalid_request_syntax ,positive 
+0x6e8c 030357 nbranch sa_req_loop ,zero 
+0x6e8d 030358 increase -1 ,timeup 
+0x6e8e 030359 nbranch sdp_invalid_request_syntax ,zero 
+0x6e8f 030361 call l2cap_get_sdp_tx_payload 
+0x6e90 030362 increase 10 ,contw 
+0x6e91 030363 arg mem_sdp_attrib_list ,rega 
+:      030364 sa_req_handle_attributelist_next:
+0x6e92 030365 copy queue ,pdata 
+0x6e93 030366 branch sa_req_handle_attributelist_end ,blank 
+0x6e94 030367 ifetch 2 ,rega 
+0x6e95 030368 branch sa_req_handle_attributelist_end ,blank 
+0x6e96 030369 iforce regb 
+0x6e97 030370 fetch 4 ,mem_sdp_record_handle 
+0x6e98 030371 iforce temp 
+0x6e99 030372 call search_handle_attrib 
+0x6e9a 030373 copy contr ,pdata 
+0x6e9b 030374 branch sa_req_handle_attributelist_notfound ,blank 
+0x6e9c 030375 increase -3 ,contr 
+0x6e9d 030376 ifetch 3 ,contr 
+0x6e9e 030377 istore 3 ,contw 
+0x6e9f 030378 call sdp_data_len 
+0x6ea0 030379 iforce loopcnt 
+0x6ea1 030380 call memcpy 
+:      030381 sa_req_handle_attributelist_notfound:
+0x6ea2 030382 increase 2 ,rega 
+0x6ea3 030383 increase -1 ,queue 
+0x6ea4 030384 branch sa_req_handle_attributelist_next 
+:      030386 sa_req_handle_attributelist_end:
+0x6ea5 030387 arg sdp_attribute_res ,rega 
+0x6ea6 030388 call ssa_req_range_lastfreg_common 
+0x6ea7 030389 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6ea8 030390 beq 11 ,sa_empty_rsp 
+0x6ea9 030391 branch ssa_req_range_attrbutes_length_no_continue 
+:      030394 sdp_store_continue_common:
+0x6eaa 030395 ifetch 1 ,contr 
+0x6eab 030396 beq 0 ,sdp_store_continue_0byte 
+0x6eac 030397 beq 1 ,sdp_store_continue_1byte 
+0x6ead 030398 beq 2 ,sdp_store_continue_2byte 
+:      030399 sdp_store_continue_0byte:
+0x6eae 030400 increase -1 ,timeup 
+0x6eaf 030401 branch sdp_store_continue_end 
+:      030402 sdp_store_continue_1byte:
+0x6eb0 030403 ifetch 1 ,contr 
+0x6eb1 030404 increase -2 ,timeup 
+0x6eb2 030405 branch sdp_store_continue_end 
+:      030406 sdp_store_continue_2byte:
+0x6eb3 030407 ifetch 2 ,contr 
+0x6eb4 030408 byteswap pdata ,pdata 
+0x6eb5 030409 increase -3 ,timeup 
+:      030410 sdp_store_continue_end:
+0x6eb6 030411 store 2 ,mem_sdp_continue_byte 
+0x6eb7 030412 rtn 
+:      030414 sa_req_all:
+0x6eb8 030415 increase -5 ,timeup 
+0x6eb9 030416 call sdp_store_continue_common 
+0x6eba 030417 nbranch sdp_invalid_pdu_size ,zero 
+0x6ebb 030418 fetcht 4 ,mem_sdp_record_handle 
+0x6ebc 030419 call search_handle 
+0x6ebd 030420 nbranch sdp_invalid_service_record_handle ,zero 
+0x6ebe 030421 copy contr ,rega 
+0x6ebf 030422 call l2cap_get_sdp_tx_payload 
+0x6ec0 030423 copy rega ,contr 
+0x6ec1 030424 increase 3 ,contw 
+0x6ec2 030425 copy contr ,timeup 
+0x6ec3 030426 call sdp_get_data 
+0x6ec4 030427 copy pdata ,rega 
+0x6ec5 030429 fetch 2 ,mem_sdp_continue_byte 
+0x6ec6 030430 copy pdata ,regb 
+0x6ec7 030431 copy rega ,pdata 
+0x6ec8 030432 isub regb ,regb 
+0x6ec9 030433 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6eca 030434 isub regb ,null 
+0x6ecb 030435 nbranch sa_req_all_fragment_sdp ,positive 
+0x6ecc 030437 disable user 
+0x6ecd 030438 fetch 2 ,mem_sdp_continue_byte 
+0x6ece 030439 branch sa_req_all_fisrt_fragment ,blank 
+0x6ecf 030440 iadd timeup ,contr 
+0x6ed0 030441 increase 3 ,regb 
+0x6ed1 030442 copy regb ,loopcnt 
+0x6ed2 030443 copy loopcnt ,pdata 
+0x6ed3 030444 increase 3 ,pdata 
+0x6ed4 030445 byteswap pdata ,pdata 
+0x6ed5 030446 istore 2 ,contw 
+0x6ed6 030447 copy loopcnt ,pdata 
+0x6ed7 030448 byteswap pdata ,pdata 
+0x6ed8 030449 istore 2 ,contw 
+0x6ed9 030450 branch sa_req_all_answer_attributelist_full_loop 
+:      030451 sa_req_all_fisrt_fragment:
+0x6eda 030452 add rega ,6 ,loopcnt 
+0x6edb 030453 branch sa_req_all_parlength_continue_byte ,user 
+0x6edc 030454 byteswap loopcnt ,pdata 
+0x6edd 030455 branch sa_req_all_parlength_continue_byte_end 
+:      030456 sa_req_all_parlength_continue_byte:
+0x6ede 030457 copy loopcnt ,pdata 
+0x6edf 030458 increase 2 ,pdata 
+0x6ee0 030459 byteswap pdata ,pdata 
+:      030460 sa_req_all_parlength_continue_byte_end:
+0x6ee1 030461 istore 2 ,contw 
+0x6ee2 030462 increase -3 ,loopcnt 
+0x6ee3 030463 byteswap loopcnt ,pdata 
+0x6ee4 030464 istore 2 ,contw 
+0x6ee5 030465 copy timeup ,contr 
+0x6ee6 030466 branch sa_req_all_answer_attributelist_full_loop 
+:      030467 sa_req_all_fragment_sdp:
+0x6ee7 030468 enable user 
+0x6ee8 030470 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6ee9 030471 copy pdata ,rega 
+0x6eea 030472 copy rega ,loopcnt 
+0x6eeb 030473 fetch 2 ,mem_sdp_continue_byte 
+0x6eec 030474 branch sa_req_all_fisrt_fragment ,blank 
+0x6eed 030475 iadd timeup ,contr 
+0x6eee 030476 copy rega ,pdata 
+0x6eef 030477 increase 5 ,pdata 
+0x6ef0 030478 byteswap pdata ,pdata 
+0x6ef1 030479 istore 2 ,contw 
+0x6ef2 030480 copy rega ,pdata 
+0x6ef3 030481 byteswap pdata ,pdata 
+0x6ef4 030482 istore 2 ,contw 
+:      030483 sa_req_all_answer_attributelist_full_loop:
+0x6ef5 030484 call memcpy 
+0x6ef6 030485 nbranch sa_req_all_last_frag_continue ,user 
+0x6ef7 030486 force 2 ,pdata 
+0x6ef8 030487 istore 1 ,contw 
+0x6ef9 030488 copy contr ,pdata 
+0x6efa 030489 isub timeup ,pdata 
+0x6efb 030490 byteswap pdata ,pdata 
+0x6efc 030491 istore 2 ,contw 
+0x6efd 030492 branch sa_req_all_frag_end 
+:      030493 sa_req_all_last_frag_continue:
+0x6efe 030494 force 0 ,pdata 
+0x6eff 030495 istore 1 ,contw 
+:      030496 sa_req_all_frag_end:
+0x6f00 030497 arg sdp_attribute_res ,rega 
+0x6f01 030498 branch ssa_req_range_common 
+:      030509 sdp_process_ssa_req:
+0x6f02 030510 bpatchx patch3a_1 ,mem_patch3a 
+0x6f03 030511 call ask_serviceclassid 
+0x6f04 030512 compare 0xff ,temp ,0xff 
+0x6f05 030513 branch sdp_invalid_request_syntax ,true 
+0x6f06 030514 call sdp_store_maxbyte 
+0x6f07 030515 store 2 ,mem_sdp_attribute_maxbyte 
+0x6f08 030516 increase -2 ,timeup 
+0x6f09 030517 call dataelementtype6 
+0x6f0a 030518 arg mem_sdp_attrib_list ,contw 
+0x6f0b 030519 force 0 ,queue 
+:      030520 ssa_req_loop:
+0x6f0c 030521 ifetch 1 ,contr 
+0x6f0d 030522 beq sdp_attribute_range ,ssa_req_range 
+0x6f0e 030523 ifetch 2 ,contr 
+0x6f0f 030524 istore 2 ,contw 
+0x6f10 030525 increase 1 ,queue 
+0x6f11 030526 increase -3 ,timeup 
+0x6f12 030527 increase -3 ,rega 
+0x6f13 030528 nbranch sdp_invalid_request_syntax ,positive 
+0x6f14 030529 nbranch ssa_req_loop ,zero 
+0x6f15 030530 increase -1 ,timeup 
+0x6f16 030531 nbranch sdp_invalid_request_syntax ,zero 
+0x6f17 030532 call l2cap_get_sdp_tx_payload 
+0x6f18 030533 increase 13 ,contw 
+0x6f19 030534 fetch 2 ,mem_sdp_uuid_search_ptr 
+0x6f1a 030535 iforce regc 
+0x6f1b 030536 arg mem_sdp_attrib_list ,rega 
+:      030537 ssa_req_attributelist_next:
+0x6f1c 030538 ifetch 2 ,rega 
+0x6f1d 030539 branch ssa_req_attributelist_end ,blank 
+0x6f1e 030540 iforce regb 
+0x6f1f 030541 call search_attrib 
+0x6f20 030542 branch ssa_req_attributelist_notfound ,blank 
+0x6f21 030543 increase -3 ,contr 
+0x6f22 030544 ifetch 3 ,contr 
+0x6f23 030545 istore 3 ,contw 
+0x6f24 030546 call sdp_data_len 
+0x6f25 030547 iforce loopcnt 
+0x6f26 030548 call memcpy 
+:      030549 ssa_req_attributelist_notfound:
+0x6f27 030550 increase 2 ,rega 
+0x6f28 030551 branch ssa_req_attributelist_next 
+:      030553 ssa_req_attributelist_end:
+0x6f29 030554 call ssa_req_range_lastfreg 
+0x6f2a 030555 fetch 2 ,mem_sdp_tx_pkt_length 
+0x6f2b 030556 beq 14 ,ssa_empty_rsp 
+0x6f2c 030557 call ssa_req_range_attrbutes_length_no_continue 
+0x6f2d 030558 branch ssa_req_range_attrbutes_length_no_continue 
+:      030561 sdp_store_maxbyte:
+0x6f2e 030562 ifetch 2 ,contr 
+0x6f2f 030563 byteswap pdata ,pdata 
+0x6f30 030564 increase -3 ,pdata 
+0x6f31 030565 arg 200 ,temp 
+0x6f32 030566 isub temp ,null 
+0x6f33 030567 nrtn positive 
+0x6f34 030568 setarg 200 
+0x6f35 030569 rtn 
+:      030572 ssa_req_range:
+0x6f36 030573 increase 4 ,contr 
+0x6f37 030574 increase -5 ,timeup 
+0x6f38 030575 increase -5 ,rega 
+0x6f39 030576 nbranch sdp_invalid_request_syntax ,zero 
+0x6f3a 030577 call sdp_store_continue_common 
+0x6f3b 030578 nbranch sdp_invalid_pdu_size ,zero 
+0x6f3c 030579 arg mem_sdp_uuid_search_ptr ,timeup 
+0x6f3d 030580 call search_all_uuid 
+0x6f3e 030581 deposit queue 
+0x6f3f 030582 branch ssa_empty_rsp ,blank 
+0x6f40 030583 store 1 ,mem_handle_humber 
+0x6f41 030585 copy regb ,pdata 
+0x6f42 030586 store 2 ,mem_sdp_all_length 
+0x6f43 030587 arg 0 ,queue 
+0x6f44 030588 arg 0 ,rega 
+0x6f45 030589 call l2cap_get_sdp_tx_payload 
+0x6f46 030590 increase 10 ,contw 
+:      030591 ssa_req_range_find_handle:
+0x6f47 030592 call ssa_req_range_get_length 
+0x6f48 030593 nbranch assert ,user 
+0x6f49 030594 copy contr ,timeup 
+0x6f4a 030595 copy pdata ,regc 
+0x6f4b 030596 iadd rega ,rega 
+0x6f4c 030599 fetch 2 ,mem_sdp_continue_byte 
+0x6f4d 030600 copy pdata ,regb 
+0x6f4e 030601 branch ssa_req_range_first_freg ,blank 
+:      030602 ssa_req_range_later_freg_with_continue:
+0x6f4f 030603 copy rega ,pdata 
+0x6f50 030604 isub regb ,regb 
+0x6f51 030605 branch ssa_req_range_next_handle ,zero 
+0x6f52 030606 nbranch ssa_req_range_next_handle ,positive 
+0x6f53 030607 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6f54 030608 isub regb ,null 
+0x6f55 030609 branch ssa_req_range_maxbyte_with_continue ,zero 
+0x6f56 030610 nbranch ssa_req_range_maxbyte_with_continue ,positive 
+:      030613 ssa_req_range_send_not_maxbyte:
+0x6f57 030614 copy regb ,loopcnt 
+0x6f58 030615 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6f59 030616 fetch 1 ,mem_handle_humber 
+0x6f5a 030617 increase 1 ,queue 
+0x6f5b 030618 isub queue ,null 
+0x6f5c 030619 branch ssa_req_range_lastfreg ,zero 
+0x6f5d 030620 branch ssa_req_range_freg_with_continue 
+:      030622 ssa_req_range_maxbyte_with_continue:
+0x6f5e 030623 copy pdata ,loopcnt 
+0x6f5f 030624 call ssa_req_range_maxbyte_with_continue_cpy 
+0x6f60 030625 branch ssa_req_range_freg_with_continue 
+:      030627 ssa_req_range_maxbyte_with_continue_cpy:
+0x6f61 030628 increase -3 ,contw 
+0x6f62 030629 copy loopcnt ,temp 
+0x6f63 030630 copy regc ,pdata 
+0x6f64 030631 isub regb ,pdata 
+0x6f65 030632 iadd timeup ,contr 
+0x6f66 030633 branch memcpy 
+:      030635 ssa_req_range_next_handle:
+0x6f67 030636 fetch 1 ,mem_handle_humber 
+0x6f68 030637 increase 1 ,queue 
+0x6f69 030638 isub queue ,null 
+0x6f6a 030639 rtn zero 
+0x6f6b 030640 branch ssa_req_range_find_handle 
+:      030642 ssa_req_range_get_length:
+0x6f6c 030643 call disable_user 
+0x6f6d 030644 arg mem_sdp_handle_list ,contr 
+0x6f6e 030645 lshift2 queue ,pdata 
+0x6f6f 030646 iadd contr ,contr 
+0x6f70 030647 ifetcht 4 ,contr 
+0x6f71 030648 call search_handle 
+0x6f72 030649 nrtn zero 
+0x6f73 030650 call sdp_data_len 
+0x6f74 030651 branch enable_user 
+:      030653 ssa_req_range_first_freg:
+0x6f75 030654 fetch 2 ,mem_sdp_attribute_maxbyte 
+0x6f76 030655 isub rega ,null 
+0x6f77 030656 nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+0x6f78 030657 copy rega ,loopcnt 
+0x6f79 030658 copy loopcnt ,temp 
+0x6f7a 030659 copy timeup ,contr 
+0x6f7b 030660 call memcpy 
+0x6f7c 030661 fetch 2 ,mem_sdp_all_length 
+0x6f7d 030662 isub rega ,null 
+0x6f7e 030663 branch ssa_req_range_freg_no_continue ,zero 
+:      030664 ssa_req_range_firstfreg_not_maxbyte_with_continue:
+0x6f7f 030665 call ssa_req_range_freg_with_continue 
+0x6f80 030666 branch ssa_req_range_attrbutes_length 
+:      030668 ssa_req_range_freg_no_continue:
+0x6f81 030669 call ssa_req_range_lastfreg 
+0x6f82 030670 branch ssa_req_range_attrbutes_length 
+:      030672 ssa_req_range_lastfreg:
+0x6f83 030673 arg sdp_searchattrib_res ,rega 
+:      030674 ssa_req_range_lastfreg_common:
+0x6f84 030675 force 0 ,pdata 
+0x6f85 030676 istore 1 ,contw 
+0x6f86 030677 call ssa_req_range_common 
+0x6f87 030678 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6f88 030679 increase -5 ,temp 
+0x6f89 030680 byteswap temp ,pdata 
+0x6f8a 030681 istore 2 ,contw 
+0x6f8b 030682 increase -3 ,temp 
+0x6f8c 030683 byteswap temp ,pdata 
+0x6f8d 030684 istore 2 ,contw 
+0x6f8e 030685 rtn 
+:      030687 ssa_req_range_firstfreg_maxbyte_with_continue:
+0x6f8f 030688 copy pdata ,loopcnt 
+0x6f90 030689 copy loopcnt ,temp 
+0x6f91 030690 copy timeup ,contr 
+0x6f92 030691 call memcpy 
+0x6f93 030692 call ssa_req_range_freg_with_continue 
+:      030693 ssa_req_range_attrbutes_length:
+0x6f94 030694 setarg 0x36 
+0x6f95 030695 istore 1 ,contw 
+0x6f96 030696 fetch 2 ,mem_sdp_all_length 
+0x6f97 030697 byteswap pdata ,pdata 
+0x6f98 030698 istore 2 ,contw 
+0x6f99 030699 rtn 
+:      030701 ssa_req_range_attrbutes_length_no_continue:
+0x6f9a 030702 setarg 0x36 
+0x6f9b 030703 istore 1 ,contw 
+0x6f9c 030704 increase -3 ,temp 
+0x6f9d 030705 byteswap temp ,pdata 
+0x6f9e 030706 istore 2 ,contw 
+0x6f9f 030707 rtn 
+:      030709 ssa_req_range_freg_with_continue:
+0x6fa0 030710 arg sdp_searchattrib_res ,rega 
+0x6fa1 030711 setarg 2 
+0x6fa2 030712 istore 1 ,contw 
+0x6fa3 030713 fetch 2 ,mem_sdp_continue_byte 
+0x6fa4 030714 iadd temp ,temp 
+0x6fa5 030715 byteswap temp ,pdata 
+0x6fa6 030716 istore 2 ,contw 
+0x6fa7 030717 call ssa_req_range_common 
+0x6fa8 030718 fetcht 2 ,mem_sdp_tx_pkt_length 
+0x6fa9 030719 increase -5 ,temp 
+0x6faa 030720 byteswap temp ,pdata 
+0x6fab 030721 istore 2 ,contw 
+0x6fac 030722 increase -5 ,temp 
+0x6fad 030723 byteswap temp ,pdata 
+0x6fae 030724 istore 2 ,contw 
+0x6faf 030725 rtn 
+:      030727 ssa_req_range_common:
+0x6fb0 030728 fetch 2 ,mem_sdp_tx_payload_ptr 
+0x6fb1 030729 isub contw ,pdata 
+0x6fb2 030730 sub pdata ,0 ,pdata 
+0x6fb3 030731 store 2 ,mem_sdp_tx_pkt_length 
+0x6fb4 030732 call l2cap_get_sdp_tx_payload 
+0x6fb5 030733 copy rega ,pdata 
+0x6fb6 030734 istore 1 ,contw 
+0x6fb7 030735 fetch 2 ,mem_sdp_transactionid 
+0x6fb8 030736 istore 2 ,contw 
+0x6fb9 030737 rtn 
+:      030750 sdp_process_ssa_res:
+:      030751 sdp_process_ss_res:
+:      030752 sdp_process_sa_res:
+:      030753 sdp_process_error_res:
+0x6fba 030754 rtn 
+:      030787 sdp_invalid_service_record_handle:
+0x6fbb 030788 setarg 0x0200 
+0x6fbc 030789 store 2 ,mem_sdp_error_code 
+0x6fbd 030790 branch sdp_error_response 
+:      030791 sdp_invalid_pdu_size:
+0x6fbe 030792 setarg 0x0400 
+0x6fbf 030793 store 2 ,mem_sdp_error_code 
+0x6fc0 030794 branch sdp_error_response 
+:      030795 sdp_insufficient_resource:
+0x6fc1 030796 setarg 0x0600 
+0x6fc2 030797 store 2 ,mem_sdp_error_code 
+0x6fc3 030798 branch sdp_error_response 
+:      030799 sdp_invalid_request_syntax:
+0x6fc4 030800 setarg 0x0300 
+0x6fc5 030801 store 2 ,mem_sdp_error_code 
+:      030802 sdp_error_response:
+0x6fc6 030803 call l2cap_get_sdp_tx_payload 
+0x6fc7 030804 istore 1 ,contw 
+0x6fc8 030805 fetch 2 ,mem_sdp_transactionid 
+0x6fc9 030806 istore 2 ,contw 
+0x6fca 030807 setarg 0x0200 
+0x6fcb 030808 istore 2 ,contw 
+0x6fcc 030809 fetch 2 ,mem_sdp_error_code 
+0x6fcd 030810 istore 2 ,contw 
+0x6fce 030811 jam 7 ,mem_sdp_tx_pkt_length 
+0x6fcf 030812 rtn 
+:      030817 ask_serviceclassid:
+0x6fd0 030818 arg 0 ,regb 
+0x6fd1 030819 force 0 ,temp 
+0x6fd2 030820 arg mem_sdp_uuid_search_ptr ,contw 
+0x6fd3 030821 call dataelementtype6 
+0x6fd4 030822 branch asksrv_error ,zero 
+:      030823 classidloop:
+0x6fd5 030824 increase 1 ,regb 
+0x6fd6 030825 ifetch 1 ,contr 
+0x6fd7 030826 increase -1 ,rega 
+0x6fd8 030827 increase -1 ,timeup 
+0x6fd9 030828 compare 0x18 ,pdata ,0xf8 
+0x6fda 030829 nbranch asksrv_error ,true 
+0x6fdb 030830 compare 0x04 ,pdata ,0x07 
+0x6fdc 030831 nbranch cmp032 ,true 
+0x6fdd 030832 force 1 ,temp 
+:      030833 skip2bytes:
+0x6fde 030834 ifetch 1 ,contr 
+0x6fdf 030835 increase -1 ,rega 
+0x6fe0 030836 increase -1 ,timeup 
+0x6fe1 030837 bne 0x00 ,frstbwrong 
+0x6fe2 030838 ifetch 1 ,contr 
+0x6fe3 030839 increase -1 ,rega 
+0x6fe4 030840 increase -1 ,timeup 
+0x6fe5 030841 beq 0x00 ,cmpuuid 
+0x6fe6 030842 branch scndbwrong 
+:      030843 frstbwrong:
+0x6fe7 030844 increase 1 ,contr 
+0x6fe8 030845 increase -1 ,rega 
+0x6fe9 030846 increase -1 ,timeup 
+:      030847 scndbwrong:
+0x6fea 030848 increase 2 ,contr 
+0x6feb 030849 increase -2 ,rega 
+0x6fec 030850 increase -2 ,timeup 
+0x6fed 030851 compare 0x00 ,temp ,0xff 
+0x6fee 030852 branch loopornot ,true 
+0x6fef 030853 increase 12 ,contr 
+0x6ff0 030854 increase -12 ,rega 
+0x6ff1 030855 increase -12 ,timeup 
+0x6ff2 030856 branch loopornot 
+:      030857 cmp032:
+0x6ff3 030858 compare 0x02 ,pdata ,0x07 
+0x6ff4 030859 nbranch cmp016 ,true 
+0x6ff5 030860 branch skip2bytes 
+:      030861 cmp016:
+0x6ff6 030862 compare 0x01 ,pdata ,0x07 
+0x6ff7 030863 nbranch asksrv_error ,true 
+:      030864 cmpuuid:
+0x6ff8 030865 increase -2 ,rega 
+0x6ff9 030866 increase -2 ,timeup 
+0x6ffa 030867 ifetch 2 ,contr 
+0x6ffb 030868 sub regb ,4 ,null 
+0x6ffc 030869 branch uuidsize ,zero 
+0x6ffd 030870 istore 2 ,contw 
+:      030871 uuidsize:
+0x6ffe 030872 compare 0x00 ,temp ,0xff 
+0x6fff 030873 branch loopornot ,true 
+0x7000 030874 copy contr ,temp 
+0x7001 030875 ifetch 1 ,contr 
+0x7002 030876 bne 0x00 ,wrong12b 
+0x7003 030877 ifetch 1 ,contr 
+0x7004 030878 bne 0x00 ,wrong12b 
+0x7005 030879 ifetch 1 ,contr 
+0x7006 030880 bne 0x10 ,wrong12b 
+0x7007 030881 ifetch 1 ,contr 
+0x7008 030882 bne 0x00 ,wrong12b 
+0x7009 030883 ifetch 1 ,contr 
+0x700a 030884 bne 0x80 ,wrong12b 
+0x700b 030885 ifetch 1 ,contr 
+0x700c 030886 bne 0x00 ,wrong12b 
+0x700d 030887 ifetch 1 ,contr 
+0x700e 030888 bne 0x00 ,wrong12b 
+0x700f 030889 ifetch 1 ,contr 
+0x7010 030890 bne 0x80 ,wrong12b 
+0x7011 030891 ifetch 1 ,contr 
+0x7012 030892 bne 0x5f ,wrong12b 
+0x7013 030893 ifetch 1 ,contr 
+0x7014 030894 bne 0x9b ,wrong12b 
+0x7015 030895 ifetch 1 ,contr 
+0x7016 030896 bne 0x34 ,wrong12b 
+0x7017 030897 ifetch 1 ,contr 
+0x7018 030898 beq 0xfb ,chck12dn 
+:      030899 wrong12b:
+0x7019 030900 copy temp ,contr 
+:      030901 wrong12b1:
+0x701a 030902 increase 12 ,contr 
+0x701b 030903 force 0x00 ,queue 
+0x701c 030904 force 0x00 ,temp 
+0x701d 030905 branch chck12dn 
+:      030907 chck12dn:
+0x701e 030908 increase -12 ,timeup 
+0x701f 030909 increase -12 ,rega 
+:      030910 loopornot:
+0x7020 030911 force 0x00 ,temp 
+0x7021 030912 compare 0x00 ,rega ,0xff 
+0x7022 030913 nbranch classidloop ,true 
+0x7023 030914 force 0 ,pdata 
+0x7024 030915 istore 2 ,contw 
+0x7025 030916 rtn 
+:      030917 asksrv_error:
+0x7026 030918 arg 0xff ,temp 
+0x7027 030919 rtn 
+:      030929 dataelementtype6:
+0x7028 030930 bpatchx patch3a_4 ,mem_patch3a 
+0x7029 030931 ifetch 1 ,contr 
+0x702a 030932 increase -1 ,timeup 
+0x702b 030933 compare 0x30 ,pdata ,0xf8 
+0x702c 030934 nbranch dsize_error ,true 
+0x702d 030935 compare 0x07 ,pdata ,0x07 
+0x702e 030936 branch dsize32 ,true 
+0x702f 030937 compare 0x06 ,pdata ,0x07 
+0x7030 030938 branch dsize16 ,true 
+0x7031 030939 compare 0x05 ,pdata ,0x07 
+0x7032 030940 nbranch dsize_error ,true 
+0x7033 030942 ifetch 1 ,contr 
+0x7034 030943 copy pdata ,rega 
+0x7035 030944 increase -1 ,timeup 
+0x7036 030945 branch dsize 
+:      030946 dsize32:
+0x7037 030947 increase 2 ,contr 
+0x7038 030948 increase -2 ,timeup 
+:      030949 dsize16:
+0x7039 030950 ifetch 2 ,contr 
+0x703a 030951 byteswap pdata ,rega 
+0x703b 030952 increase -2 ,timeup 
+:      030953 dsize:
+0x703c 030954 force 0x01 ,pdata 
+0x703d 030955 rtn 
+:      030956 dsize_error:
+0x703e 030957 force 0x00 ,pdata 
+0x703f 030958 rtn 
+:      030968 ss_empty_rsp:
+0x7040 030969 setarg sdp_search_res 
+0x7041 030970 store 1 ,mem_sdp_pduid 
+0x7042 030971 branch empty_response 
+:      030972 sa_empty_rsp:
+0x7043 030973 setarg sdp_attribute_res 
+0x7044 030974 store 1 ,mem_sdp_pduid 
+0x7045 030975 branch empty_response 
+:      030976 ssa_empty_rsp:
+0x7046 030977 setarg sdp_searchattrib_res 
+0x7047 030978 store 1 ,mem_sdp_pduid 
+:      030979 empty_response:
+0x7048 030980 call l2cap_get_sdp_tx_payload 
+0x7049 030983 fetch 1 ,mem_sdp_pduid 
+0x704a 030984 copy pdata ,regb 
+0x704b 030985 istore 1 ,contw 
+0x704c 030986 fetch 2 ,mem_sdp_transactionid 
+0x704d 030987 istore 2 ,contw 
+0x704e 030988 setarg 0x0500 
+0x704f 030989 istore 2 ,contw 
+0x7050 030990 compare sdp_attribute_res ,regb ,0xff 
+0x7051 030991 branch fullsearch ,true 
+0x7052 030992 compare sdp_searchattrib_res ,regb ,0xff 
+0x7053 030993 branch fullsearch ,true 
+0x7054 030994 setarg 0x000000 
+0x7055 030995 istore 5 ,contw 
+0x7056 030996 branch outempty 
+:      030998 fullsearch:
+0x7057 030999 setarg 0x350200 
+0x7058 031000 istore 5 ,contw 
+:      031001 outempty:
+0x7059 031002 jam 10 ,mem_sdp_tx_pkt_length 
+0x705a 031003 rtn 
+:      031006 sdp_data_len:
+0x705b 031007 call store_contw 
+0x705c 031008 call store_contr 
+0x705d 031009 call sdp_get_data 
+0x705e 031010 call get_contw 
+0x705f 031011 call get_contr 
+0x7060 031012 copy temp ,pdata 
+0x7061 031013 rtn 
+:      031016 sdp_get_data:
+0x7062 031017 ifetch 1 ,contr 
+0x7063 031018 and pdata ,0x7 ,loopcnt 
+0x7064 031019 rshift3 pdata ,pdata 
+0x7065 031020 bne 0 ,sdp_get_data_type_not0 
+:      031021 sdp_get_data_type0:
+0x7066 031022 force 1 ,pdata 
+0x7067 031023 force 1 ,temp 
+0x7068 031024 rtn 
+:      031026 sdp_get_data_type_not0_sizeindex01234:
+0x7069 031027 call left_shift_n 
+0x706a 031028 add pdata ,1 ,temp 
+0x706b 031029 rtn 
+:      031030 sdp_get_data_type_not0:
+0x706c 031031 deposit loopcnt 
+0x706d 031032 sub pdata ,4 ,null 
+0x706e 031033 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+0x706f 031034 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+0x7070 031035 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+0x7071 031036 beq 7 ,sdp_get_data_type_not0_sizeindex7 
+0x7072 031037 rtn 
+:      031039 sdp_get_data_type_not0_sizeindex5:
+0x7073 031040 ifetch 1 ,contr 
+0x7074 031041 add pdata ,2 ,temp 
+0x7075 031042 rtn 
+:      031043 sdp_get_data_type_not0_sizeindex6:
+0x7076 031044 ifetch 2 ,contr 
+0x7077 031045 byteswap pdata ,pdata 
+0x7078 031046 add pdata ,3 ,temp 
+0x7079 031047 rtn 
+:      031048 sdp_get_data_type_not0_sizeindex7:
+0x707a 031049 ifetch 2 ,contr 
+0x707b 031050 byteswap pdata ,pdata 
+0x707c 031051 ifetcht 2 ,contr 
+0x707d 031052 byteswap temp ,temp 
+0x707e 031053 lshift16 temp ,temp 
+0x707f 031054 iadd temp ,pdata 
+0x7080 031055 add pdata ,5 ,temp 
+0x7081 031056 rtn 
+:      031062 search_all_uuid:
+0x7082 031063 bpatchx patch3a_5 ,mem_patch3a 
+0x7083 031064 force 0 ,queue 
+0x7084 031065 arg 0 ,regb 
+0x7085 031066 arg mem_sdp_handle_list ,contw 
+:      031067 search_all_uuid_llop:
+0x7086 031068 ifetch 2 ,timeup 
+0x7087 031069 rtn blank 
+0x7088 031070 call search_uuid 
+0x7089 031071 copy queue ,pdata 
+0x708a 031072 rtneq sdp_max_handle_number 
+0x708b 031073 increase 2 ,timeup 
+0x708c 031074 branch search_all_uuid_llop 
+:      031076 search_uuid:
+0x708d 031078 iforce regc 
+0x708e 031080 fetch 2 ,mem_ui_uuid_table 
+0x708f 031081 iforce contr 
+:      031082 search_uuid_next:
+0x7090 031083 copy queue ,pdata 
+0x7091 031084 rtneq sdp_max_handle_number 
+0x7092 031085 disable user 
+0x7093 031086 ifetch 1 ,contr 
+0x7094 031087 rtn blank 
+0x7095 031088 iforce loopcnt 
+:      031089 search_uuid_loop:
+0x7096 031090 ifetch 2 ,contr 
+0x7097 031091 isub regc ,null 
+0x7098 031092 nbranch search_uuid_not_found ,zero 
+0x7099 031093 enable user 
+:      031094 search_uuid_not_found:
+0x709a 031095 loop search_uuid_loop 
+0x709b 031096 ifetcht 4 ,contr 
+0x709c 031097 copy contr ,rega 
+0x709d 031098 nbranch search_uuid_nomatch ,user 
+0x709e 031099 arg mem_sdp_handle_list ,contr 
+0x709f 031100 arg sdp_max_handle_number ,loopcnt 
+:      031101 search_uuid_check_same_handle:
+0x70a0 031102 ifetch 4 ,contr 
+0x70a1 031103 branch search_uuid_store_handle ,blank 
+0x70a2 031104 isub temp ,null 
+0x70a3 031105 branch search_uuid_nomatch ,zero 
+0x70a4 031106 loop search_uuid_check_same_handle 
+0x70a5 031107 rtn 
+:      031108 search_uuid_store_handle:
+0x70a6 031109 istoret 4 ,contw 
+0x70a7 031110 increase 1 ,queue 
+0x70a8 031111 copy rega ,contr 
+0x70a9 031112 call sdp_data_len 
+0x70aa 031113 iadd regb ,regb 
+0x70ab 031114 iadd contr ,contr 
+0x70ac 031115 branch search_uuid_next 
+:      031116 search_uuid_nomatch:
+0x70ad 031117 copy rega ,contr 
+0x70ae 031118 call sdp_get_data 
+0x70af 031119 iadd contr ,contr 
+0x70b0 031120 branch search_uuid_next 
+:      031126 search_handle:
+0x70b1 031127 bpatchx patch3a_6 ,mem_patch3a 
+0x70b2 031128 fetch 2 ,mem_ui_uuid_table 
+0x70b3 031129 iforce contr 
+:      031130 search_handle_loop:
+0x70b4 031131 ifetch 1 ,contr 
+0x70b5 031132 branch disable_zero ,blank 
+0x70b6 031133 lshift pdata ,pdata 
+0x70b7 031134 iadd contr ,contr 
+0x70b8 031135 ifetch 4 ,contr 
+0x70b9 031136 isub temp ,null 
+0x70ba 031137 rtn zero 
+0x70bb 031138 deposit contw 
+0x70bc 031139 store 2 ,mem_contw 
+0x70bd 031140 storet 8 ,mem_temp 
+0x70be 031141 call sdp_get_data 
+0x70bf 031142 iadd contr ,contr 
+0x70c0 031143 copy contr ,pdata 
+0x70c1 031144 fetcht 2 ,mem_contw 
+0x70c2 031145 copy temp ,contw 
+0x70c3 031146 fetcht 8 ,mem_temp 
+0x70c4 031147 copy pdata ,contr 
+0x70c5 031148 branch search_handle_loop 
+:      031154 search_attrib:
+0x70c6 031155 bpatchx patch3a_7 ,mem_patch3a 
+0x70c7 031156 fetch 2 ,mem_ui_uuid_table 
+0x70c8 031157 iforce contr 
+:      031158 search_attrib_next:
+0x70c9 031159 ifetch 1 ,contr 
+0x70ca 031160 branch search_attrib_end ,blank 
+0x70cb 031161 iforce loopcnt 
+:      031162 search_attrib_loop:
+0x70cc 031163 ifetch 2 ,contr 
+0x70cd 031164 isub regc ,null 
+0x70ce 031165 branch search_attrib_found_uuid ,zero 
+0x70cf 031166 loop search_attrib_loop 
+0x70d0 031167 increase 4 ,contr 
+0x70d1 031168 call sdp_get_data 
+0x70d2 031169 iadd contr ,contr 
+0x70d3 031170 branch search_attrib_next 
+:      031171 search_attrib_found_uuid:
+0x70d4 031172 increase -1 ,loopcnt 
+0x70d5 031173 lshift loopcnt ,pdata 
+0x70d6 031174 iadd contr ,contr 
+0x70d7 031175 increase 4 ,contr 
+0x70d8 031176 call sdp_get_data 
+0x70d9 031177 iadd contr ,timeup 
+:      031178 search_attrib_loop_attribs:
+0x70da 031179 increase 1 ,contr 
+0x70db 031180 ifetch 2 ,contr 
+0x70dc 031181 isub regb ,null 
+0x70dd 031185 branch disable_blank ,zero 
+0x70de 031186 call sdp_data_len 
+0x70df 031187 iadd contr ,contr 
+0x70e0 031188 deposit timeup 
+0x70e1 031189 isub contr ,null 
+0x70e2 031190 branch search_attrib_end ,zero 
+0x70e3 031191 branch search_attrib_loop_attribs 
+:      031192 search_attrib_end:
+0x70e4 031193 force 0 ,contr 
+0x70e5 031194 force 0 ,pdata 
+0x70e6 031195 rtn 
+:      031201 search_handle_attrib:
+0x70e7 031202 bpatchx patch3b_0 ,mem_patch3b 
+0x70e8 031203 fetch 2 ,mem_ui_uuid_table 
+0x70e9 031204 iforce contr 
+:      031205 search_handle_attrib_next:
+0x70ea 031206 ifetch 1 ,contr 
+0x70eb 031207 branch search_handle_attrib_end ,blank 
+0x70ec 031208 lshift pdata ,pdata 
+0x70ed 031209 iadd contr ,contr 
+0x70ee 031210 ifetch 4 ,contr 
+0x70ef 031211 isub temp ,null 
+0x70f0 031212 branch search_handl_attrib_found_handle ,zero 
+0x70f1 031213 call sdp_get_data 
+0x70f2 031214 iadd contr ,contr 
+0x70f3 031215 branch search_handle_attrib_next 
+:      031216 search_handl_attrib_found_handle:
+0x70f4 031217 call sdp_get_data 
+0x70f5 031218 iadd contr ,timeup 
+:      031219 search_handle_attrib_loop_attribs:
+0x70f6 031220 increase 1 ,contr 
+0x70f7 031221 ifetch 2 ,contr 
+0x70f8 031222 isub regb ,null 
+0x70f9 031223 rtn zero 
+0x70fa 031224 call sdp_data_len 
+0x70fb 031225 iadd contr ,contr 
+0x70fc 031226 deposit timeup 
+0x70fd 031227 isub contr ,null 
+0x70fe 031228 branch search_handle_attrib_end ,zero 
+0x70ff 031229 branch search_handle_attrib_loop_attribs 
+:      031230 search_handle_attrib_end:
+0x7100 031231 force 0 ,contr 
+0x7101 031232 rtn 
+:      031236 search_rfcomm_cn:
+0x7102 031237 arg 0x0400 ,regb 
+0x7103 031238 call search_handl_attrib_found_handle 
+0x7104 031239 arg 0x0300 ,regb 
+0x7105 031240 call search_uuid_in_data 
+0x7106 031241 nrtn user 
+0x7107 031242 sub rega ,3 ,null 
+0x7108 031243 branch disable_user ,positive 
+0x7109 031244 ifetch 1 ,contr 
+0x710a 031245 bne 0x08 ,disable_user 
+0x710b 031246 ifetch 1 ,contr 
+0x710c 031247 rtn 
+:      031252 search_uuid_in_data:
+0x710d 031253 bpatchx patch3b_1 ,mem_patch3b 
+0x710e 031254 call sdp_get_data 
+0x710f 031255 copy pdata ,rega 
+:      031256 search_uuid_in_data_loop:
+0x7110 031257 ifetch 1 ,contr 
+0x7111 031258 and pdata ,0x7 ,loopcnt 
+0x7112 031259 rshift3 pdata ,pdata 
+0x7113 031260 sub pdata ,3 ,null 
+0x7114 031261 branch search_uuid_in_data_found_uuid ,zero 
+0x7115 031262 copy loopcnt ,pdata 
+0x7116 031263 beq 5 ,search_uuid_in_data_found_element_index5 
+0x7117 031264 beq 6 ,search_uuid_in_data_found_element_index6 
+0x7118 031265 beq 7 ,search_uuid_in_data_found_element_index7 
+0x7119 031266 increase -1 ,contr 
+0x711a 031267 call sdp_get_data 
+0x711b 031268 iadd contr ,contr 
+0x711c 031269 copy rega ,pdata 
+0x711d 031270 isub temp ,rega 
+0x711e 031271 branch disable_user ,zero 
+0x711f 031272 branch search_uuid_in_data_loop 
+:      031274 search_uuid_in_data_found_element_index5:
+0x7120 031275 increase -2 ,rega 
+0x7121 031276 increase 1 ,contr 
+0x7122 031277 branch search_uuid_in_data_loop 
+:      031278 search_uuid_in_data_found_element_index6:
+0x7123 031279 increase -3 ,rega 
+0x7124 031280 increase 2 ,contr 
+0x7125 031281 branch search_uuid_in_data_loop 
+:      031282 search_uuid_in_data_found_element_index7:
+0x7126 031283 increase -5 ,rega 
+0x7127 031284 increase 4 ,contr 
+0x7128 031285 branch search_uuid_in_data_loop 
+:      031287 search_uuid_in_data_found_uuid:
+0x7129 031288 increase -1 ,rega 
+0x712a 031289 copy loopcnt ,pdata 
+0x712b 031290 beq 1 ,search_uuid_in_data_type_uuid_16 
+0x712c 031291 beq 2 ,search_uuid_in_data_type_uuid_32 
+0x712d 031292 beq 4 ,search_uuid_in_data_type_uuid_128 
+0x712e 031293 branch disable_user 
+:      031294 search_uuid_in_data_type_uuid_128:
+0x712f 031295 increase -12 ,rega 
+:      031296 search_uuid_in_data_type_uuid_32:
+0x7130 031297 ifetch 2 ,contr 
+0x7131 031298 increase -2 ,rega 
+:      031299 search_uuid_in_data_type_uuid_16:
+0x7132 031300 ifetch 2 ,contr 
+0x7133 031301 isub regb ,null 
+0x7134 031302 branch enable_user ,zero 
+0x7135 031303 increase -2 ,rega 
+0x7136 031304 branch disable_user ,zero 
+0x7137 031305 branch search_uuid_in_data_loop 
+:      031364 sdp_send_spp_request:
+0x7138 031365 call l2cap_get_sdp_tx_payload 
+0x7139 031366 copy pdata ,contw 
+0x713a 031367 setarg 6 
+0x713b 031368 istore 1 ,contw 
+0x713c 031369 setarg sdp_tid_spp 
+0x713d 031370 istore 2 ,contw 
+0x713e 031371 setarg 0x0f00 
+0x713f 031372 istore 2 ,contw 
+0x7140 031373 setarg 0x1a0535 
+0x7141 031374 istore 3 ,contw 
+0x7142 031375 setarg 0x0111 
+0x7143 031376 lshift16 pdata ,pdata 
+0x7144 031377 istore 4 ,contw 
+0x7145 031378 setarg 0x2600 
+0x7146 031379 istore 2 ,contw 
+0x7147 031380 setarg 0x0335 
+0x7148 031381 istore 2 ,contw 
+0x7149 031382 setarg 0x0009 
+0x714a 031383 istore 2 ,contw 
+0x714b 031384 setarg 0x0004 
+0x714c 031385 istore 2 ,contw 
+0x714d 031386 jam 0x14 ,mem_sdp_tx_pkt_length 
+0x714e 031387 rtn 
+:      031391 function_g2:
+0x714f 031392 bpatchx patch3b_2 ,mem_patch3b 
+0x7150 031393 jam 80 ,mem_aes_cmac_data_length 
+0x7151 031394 arg memdat ,contw 
+0x7152 031395 arg mem_le_srand ,contr 
+0x7153 031396 call memcpy16 
+0x7154 031397 arg mem_le_pubkey_local_x_256 ,contr 
+0x7155 031398 call memcpy32 
+0x7156 031399 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7157 031400 call memcpy32 
+0x7158 031401 call inverse_memdat 
+0x7159 031402 arg mem_le_mrand ,contr 
+0x715a 031403 call store_inverse_k 
+0x715b 031404 call function_aes_cmac 
+0x715c 031406 arg mem_aes_cmac_temp ,contw 
+0x715d 031407 call load_inverse_result 
+0x715e 031408 setarg 1000000 
+0x715f 031409 copy pdata ,rega 
+0x7160 031410 fetch 4 ,mem_aes_cmac_temp 
+0x7161 031411 idiv rega 
+0x7162 031412 call wait_div_end 
+0x7163 031413 remainder pdata 
+0x7164 031414 store 4 ,mem_gkey 
+0x7165 031416 rtn 
+:      031418 function_f6_eb:
+0x7166 031419 jam 65 ,mem_aes_cmac_data_length 
+0x7167 031420 arg memdat ,contw 
+0x7168 031421 call store_addr_common_a 
+0x7169 031422 call store_addr_common_b 
+0x716a 031423 fetch 3 ,mem_le_pres + 1 
+0x716b 031424 istore 3 ,contw 
+0x716c 031427 call get_r 
+0x716d 031429 arg mem_le_mrand ,contr 
+0x716e 031430 call memcpy16 
+0x716f 031431 arg mem_le_srand ,contr 
+0x7170 031432 call memcpy16 
+0x7171 031433 call inverse_memdat 
+0x7172 031434 arg mem_le_mackey ,contr 
+0x7173 031435 arg mem_aes_cmac_k ,contw 
+0x7174 031436 call memcpy16 
+0x7175 031438 branch function_aes_cmac 
+:      031442 get_r:
+0x7176 031443 fetch 4 ,mem_le_tk 
+0x7177 031444 istore 4 ,contw 
+0x7178 031445 call memset0_4 
+0x7179 031446 branch memset0_8 
+:      031448 function_f6_ea:
+0x717a 031449 bpatchx patch3b_3 ,mem_patch3b 
+0x717b 031450 jam 65 ,mem_aes_cmac_data_length 
+0x717c 031451 arg memdat ,contw 
+0x717d 031452 call store_addr_common_b 
+0x717e 031453 call store_addr_common_a 
+0x717f 031454 fetch 3 ,mem_le_preq + 1 
+0x7180 031455 istore 3 ,contw 
+0x7181 031458 call get_r 
+0x7182 031459 arg mem_le_srand ,contr 
+0x7183 031460 call memcpy16 
+0x7184 031461 arg mem_le_mrand ,contr 
+0x7185 031462 call memcpy16 
+0x7186 031463 call inverse_memdat 
+0x7187 031464 arg mem_le_mackey ,contr 
+0x7188 031465 arg mem_aes_cmac_k ,contw 
+0x7189 031466 call memcpy16 
+0x718a 031468 call function_aes_cmac 
+0x718b 031469 arg mem_aes_cmac_temp ,contw 
+0x718c 031470 branch load_inverse_result 
+:      031472 function_f5:
+0x718d 031473 jam 32 ,mem_aes_cmac_data_length 
+0x718e 031474 arg mem_le_dhkey_256 ,contr 
+0x718f 031475 arg memdat ,contw 
+0x7190 031476 call memcpy32 
+0x7191 031477 call inverse_memdat 
+0x7192 031478 arg mem_le_slat ,contr 
+0x7193 031479 call store_inverse_k 
+0x7194 031480 call function_aes_cmac 
+0x7195 031481 arg mem_aes_cmac_k ,contw 
+0x7196 031482 call store_aes_result 
+0x7197 031483 arg 1 ,temp 
+0x7198 031484 call function_f5_common 
+0x7199 031485 arg mem_le_ltk ,contw 
+0x719a 031486 call load_inverse_result 
+0x719b 031487 arg 0 ,temp 
+0x719c 031488 call function_f5_common 
+0x719d 031489 arg mem_le_mackey ,contw 
+0x719e 031491 branch store_aes_result 
+:      031494 function_f5_common:
+0x719f 031495 bpatchx patch3b_4 ,mem_patch3b 
+0x71a0 031496 jam 53 ,mem_aes_cmac_data_length 
+0x71a1 031497 setarg 0x100 
+0x71a2 031498 store 2 ,memdat 
+0x71a3 031499 call store_addr_common_b 
+0x71a4 031500 call store_addr_common_a 
+0x71a5 031501 arg mem_le_srand ,contr 
+0x71a6 031502 call memcpy16 
+0x71a7 031503 arg mem_le_mrand ,contr 
+0x71a8 031504 call memcpy16 
+0x71a9 031506 setarg 0x6c65 
+0x71aa 031507 istore 2 ,contw 
+0x71ab 031508 setarg 0x6274 
+0x71ac 031509 istore 2 ,contw 
+0x71ad 031510 istoret 1 ,contw 
+0x71ae 031511 call inverse_memdat 
+0x71af 031512 branch function_aes_cmac 
+:      031514 store_addr_common_b:
+0x71b0 031515 fetch 6 ,mem_le_lap 
+0x71b1 031516 istore 6 ,contw 
+0x71b2 031517 fetch 1 ,mem_le_conn_own_addr_type 
+0x71b3 031518 istore 1 ,contw 
+0x71b4 031519 rtn 
+:      031521 store_addr_common_a:
+0x71b5 031522 fetch 6 ,mem_le_plap 
+0x71b6 031523 istore 6 ,contw 
+0x71b7 031528 fetch 1 ,mem_le_conn_peer_addr_type 
+0x71b8 031529 istore 1 ,contw 
+0x71b9 031530 rtn 
+:      031532 function_f4_ca:
+0x71ba 031533 jam 65 ,mem_aes_cmac_data_length 
+0x71bb 031534 fetch 1 ,mem_passkey_1bit 
+0x71bc 031535 store 1 ,memdat 
+0x71bd 031536 arg mem_le_pubkey_local_x_256 ,contr 
+0x71be 031537 call memcpy32 
+0x71bf 031538 arg mem_le_pubkey_remote_x_256 ,contr 
+0x71c0 031539 call memcpy32 
+0x71c1 031540 call inverse_memdat 
+0x71c2 031541 arg mem_le_mrand ,contr 
+0x71c3 031542 call store_inverse_k 
+0x71c4 031543 branch function_aes_cmac 
+:      031546 function_f4_cb:
+0x71c5 031547 jam 65 ,mem_aes_cmac_data_length 
+0x71c6 031548 fetch 1 ,mem_passkey_1bit 
+0x71c7 031549 store 1 ,memdat 
+0x71c8 031550 arg mem_le_pubkey_remote_x_256 ,contr 
+0x71c9 031551 call memcpy32 
+0x71ca 031552 arg mem_le_pubkey_local_x_256 ,contr 
+0x71cb 031553 call memcpy32 
+0x71cc 031554 call inverse_memdat 
+0x71cd 031555 arg mem_le_srand ,contr 
+0x71ce 031556 call store_inverse_k 
+0x71cf 031557 branch function_aes_cmac 
+:      031559 function_aes_cmac:
+0x71d0 031560 bpatchx patch3b_5 ,mem_patch3b 
+0x71d1 031561 call function_aes_cmac_generate_subkey 
+0x71d2 031565 fetch 1 ,mem_aes_cmac_data_length 
+0x71d3 031566 copy pdata ,temp 
+:      031567 function_ceil16:
+0x71d4 031568 increase 15 ,pdata 
+0x71d5 031569 rshift4 pdata ,pdata 
+0x71d6 031570 copy pdata ,regb 
+0x71d7 031571 branch function_aes_cmac_set_flag_0_balnk ,blank 
+0x71d8 031572 and temp ,0x0f ,pdata 
+0x71d9 031573 nbranch function_aes_cmac_set_flag_0 ,blank 
+0x71da 031575 arg mem_aes_cmac_k1 ,regc 
+0x71db 031576 arg memdat ,pdata 
+0x71dc 031577 increase -16 ,pdata 
+0x71dd 031580 iadd temp ,rega 
+0x71de 031581 arg mem_aes_cmac_m_last ,contw 
+0x71df 031582 arg 4 ,loopcnt 
+0x71e0 031583 call xor_loop 
+0x71e1 031587 branch function_aes_cmac_aes 
+:      031589 function_aes_cmac_set_flag_0_balnk:
+0x71e2 031590 arg 1 ,regb 
+0x71e3 031591 arg 0 ,rega 
+0x71e4 031593 branch function_aes_cmac_set_flag_0_common 
+:      031596 function_aes_cmac_set_flag_0:
+0x71e5 031598 and temp ,0x0f ,rega 
+:      031599 function_aes_cmac_set_flag_0_common:
+0x71e6 031600 arg memdat ,pdata 
+0x71e7 031601 iadd temp ,pdata 
+0x71e8 031602 isub rega ,contr 
+0x71e9 031604 arg mem_aes_cmac_temp ,contw 
+0x71ea 031605 call function_aes_cmac_padding 
+0x71eb 031607 arg mem_aes_cmac_k2 ,regc 
+0x71ec 031608 arg mem_aes_cmac_temp ,rega 
+0x71ed 031609 arg mem_aes_cmac_m_last ,contw 
+0x71ee 031610 arg 4 ,loopcnt 
+0x71ef 031611 call xor_loop 
+:      031618 function_aes_cmac_aes:
+0x71f0 031623 call aes_clear_data 
+0x71f1 031624 call aes_init 
+0x71f2 031627 arg memdat ,contr 
+:      031628 function_aes_cmac_aes_loop:
+0x71f3 031630 increase -1 ,regb 
+0x71f4 031631 deposit regb 
+0x71f5 031632 branch function_aes_cmac_aes_loop_end ,blank 
+0x71f6 031633 call load_data128 
+0x71f7 031634 call do_aes_cbc 
+0x71f8 031635 branch function_aes_cmac_aes_loop 
+:      031637 function_aes_cmac_aes_loop_end:
+0x71f9 031638 arg mem_aes_cmac_temp ,contw 
+0x71fa 031639 call store_aes_result 
+0x71fb 031640 arg mem_aes_cmac_m_last ,contr 
+0x71fc 031641 call load_data128 
+0x71fd 031642 call aes_init 
+0x71fe 031643 arg mem_aes_cmac_temp ,contr 
+0x71ff 031644 call load_data128 
+0x7200 031645 branch do_aes_cbc 
+:      031649 load_inverse_result:
+0x7201 031651 copy contw ,rega 
+0x7202 031652 call store_aes_result 
+0x7203 031654 arg 16 ,loopcnt 
+0x7204 031655 branch inverse_data 
+:      031657 store_inverse_k:
+0x7205 031658 arg mem_aes_cmac_k ,contw 
+0x7206 031659 call memcpy16 
+:      031660 inverse_k:
+0x7207 031661 arg 16 ,loopcnt 
+0x7208 031662 arg mem_aes_cmac_k ,rega 
+0x7209 031663 branch inverse_data 
+:      031665 inverse_memdat:
+0x720a 031666 fetch 1 ,mem_aes_cmac_data_length 
+0x720b 031667 copy pdata ,loopcnt 
+0x720c 031668 arg memdat ,rega 
+0x720d 031669 branch inverse_data 
+:      031671 bn_lshift_0_inverse:
+0x720e 031672 ifetch 1 ,rega 
+0x720f 031673 lshift pdata ,pdata 
+0x7210 031674 isolate1 0 ,regc 
+0x7211 031675 setflag true ,0 ,pdata 
+0x7212 031676 isolate1 8 ,pdata 
+0x7213 031677 setflag true ,0 ,regc 
+0x7214 031678 istore 1 ,rega 
+0x7215 031679 increase -1 ,rega 
+0x7216 031680 loop bn_lshift_0_inverse 
+0x7217 031681 rtn 
+:      031683 function_aes_cmac_k1_inverse:
+0x7218 031684 arg mem_aes_cmac_k1 ,rega 
+:      031685 function_aes_cmac_inverse_common:
+0x7219 031686 increase 15 ,rega 
+0x721a 031687 force 16 ,loopcnt 
+0x721b 031688 force 0 ,regc 
+0x721c 031689 branch bn_lshift_0_inverse 
+:      031691 function_aes_cmac_k2_inverse:
+0x721d 031692 arg mem_aes_cmac_k2 ,rega 
+0x721e 031693 branch function_aes_cmac_inverse_common 
+:      031696 function_aes_cmac_generate_subkey:
+0x721f 031697 arg mem_aes_cmac_k ,contr 
+0x7220 031698 call load_key 
+0x7221 031701 force regidx_xor ,regext_index 
+0x7222 031702 call aes_clear 
+0x7223 031703 call aes_clear_data 
+0x7224 031704 call do_aes_ocb 
+0x7225 031709 arg mem_aes_cmac_k1 ,contw 
+0x7226 031710 call store_aes_result 
+:      031711 function_aes_cmac_k1:
+0x7227 031712 bpatchx patch3b_6 ,mem_patch3b 
+0x7228 031713 fetch 1 ,mem_aes_cmac_k1 
+0x7229 031714 isolate1 7 ,pdata 
+0x722a 031715 nbranch function_aes_cmac_k1_0 ,true 
+0x722b 031716 call function_aes_cmac_k1_inverse 
+0x722c 031719 arg mem_aes_cmac_k1 ,regc 
+0x722d 031721 arg mem_aes_cmac_k1 ,contw 
+0x722e 031724 call function_aes_cmac_xor_rb 
+0x722f 031725 branch function_aes_cmac_k2 
+:      031726 function_aes_cmac_k1_0:
+0x7230 031727 call function_aes_cmac_k1_inverse 
+:      031728 function_aes_cmac_k2:
+0x7231 031730 arg mem_aes_cmac_k1 ,contr 
+0x7232 031731 arg mem_aes_cmac_k2 ,contw 
+0x7233 031732 call memcpy16 
+0x7234 031733 fetch 1 ,mem_aes_cmac_k2 
+0x7235 031734 isolate1 7 ,pdata 
+0x7236 031735 nbranch function_aes_cmac_k2_inverse ,true 
+0x7237 031736 call function_aes_cmac_k2_inverse 
+0x7238 031738 arg mem_aes_cmac_k2 ,regc 
+0x7239 031740 arg mem_aes_cmac_k2 ,contw 
+:      031746 function_aes_cmac_xor_rb:
+0x723a 031747 arg 3 ,loopcnt 
+:      031748 function_aes_cmac_xor_rb_loop:
+0x723b 031749 arg 0 ,temp 
+0x723c 031750 call function_aes_cmac_xor_loop_common 
+0x723d 031751 increase 4 ,regc 
+0x723e 031752 loop function_aes_cmac_xor_rb_loop 
+0x723f 031753 arg 0x8700 ,temp 
+0x7240 031754 lshift16 temp ,temp 
+:      031755 function_aes_cmac_xor_loop_common:
+0x7241 031756 ifetch 4 ,regc 
+0x7242 031757 ixor temp ,pdata 
+0x7243 031758 istore 4 ,contw 
+0x7244 031759 rtn 
+:      031765 function_aes_cmac_padding:
+0x7245 031766 bpatchx patch3b_7 ,mem_patch3b 
+0x7246 031767 arg 16 ,loopcnt 
+0x7247 031768 arg 0 ,pdata 
+:      031769 function_aes_cmac_padding_loop:
+0x7248 031770 isub rega ,null 
+0x7249 031771 branch function_aes_cmac_padding_beq_length ,zero 
+0x724a 031772 branch function_aes_cmac_padding_big_length ,positive 
+0x724b 031773 ifetcht 1 ,contr 
+0x724c 031774 istoret 1 ,contw 
+:      031775 function_aes_cmac_padding_loop2:
+0x724d 031776 increase 1 ,pdata 
+0x724e 031777 loop function_aes_cmac_padding_loop 
+0x724f 031778 rtn 
+:      031779 function_aes_cmac_padding_beq_length:
+0x7250 031780 arg 0x80 ,temp 
+:      031781 function_aes_cmac_padding_common:
+0x7251 031782 istoret 1 ,contw 
+0x7252 031783 branch function_aes_cmac_padding_loop2 
+:      031785 function_aes_cmac_padding_big_length:
+0x7253 031786 arg 0 ,temp 
+0x7254 031787 branch function_aes_cmac_padding_common 
+:      031790 generate_kinit:
+0x7255 031791 call function_e22 
+0x7256 031792 arg mem_input_store ,contr 
+0x7257 031793 arg mem_kinit ,contw 
+0x7258 031794 branch memcpy16 
+:      031797 function_e21:
+0x7259 031798 disable user 
+0x725a 031799 call function_expand 
+0x725b 031800 arg mem_random_number ,contr 
+0x725c 031801 arg mem_x ,contw 
+0x725d 031802 force 15 ,loopcnt 
+0x725e 031803 call memcpy 
+0x725f 031804 ifetch 1 ,contr 
+0x7260 031805 xor_into 6 ,pdata 
+0x7261 031806 istore 1 ,contw 
+0x7262 031807 setarg mem_y 
+0x7263 031808 store 2 ,memp_ar_input 
+0x7264 031809 setarg mem_x 
+0x7265 031810 store 2 ,memp_ar_key 
+0x7266 031811 set1 mark_ar2 ,mark 
+0x7267 031812 branch function_ar 
+:      031816 function_e22:
+0x7268 031817 fetcht 1 ,mem_pin_length 
+0x7269 031818 force 16 ,regb 
+0x726a 031819 add temp ,6 ,regc 
+0x726b 031820 sub regc ,16 ,null 
+0x726c 031821 branch function_e22_pin_init ,positive 
+0x726d 031822 force 16 ,regc 
+:      031823 function_e22_pin_init:
+0x726e 031824 arg mem_x ,contw 
+:      031825 function_e22_genx_pin:
+0x726f 031826 arg mem_pin ,contr 
+0x7270 031827 copy temp ,loopcnt 
+0x7271 031828 disable user 
+:      031829 function_e22_genx_loop:
+0x7272 031830 ifetch 1 ,contr 
+0x7273 031831 istore 1 ,contw 
+0x7274 031832 increase -1 ,regb 
+0x7275 031833 branch function_e22_genx_end ,zero 
+0x7276 031834 loop function_e22_genx_loop 
+0x7277 031835 branch function_e22_genx_pin ,user 
+0x7278 031836 enable user 
+0x7279 031837 force 6 ,loopcnt 
+0x727a 031838 copy rega ,contr 
+0x727b 031839 branch function_e22_genx_loop 
+:      031840 function_e22_genx_end:
+0x727c 031841 arg mem_random_number ,contr 
+0x727d 031842 arg mem_y ,contw 
+0x727e 031843 call memcpy16 
+0x727f 031844 fetch 1 ,mem_y15 
+0x7280 031845 ixor regc ,pdata 
+0x7281 031846 store 1 ,mem_y15 
+0x7282 031847 setarg mem_y 
+0x7283 031848 store 2 ,memp_ar_input 
+0x7284 031849 setarg mem_x 
+0x7285 031850 store 2 ,memp_ar_key 
+0x7286 031851 set1 mark_ar2 ,mark 
+0x7287 031852 branch function_ar 
+:      031857 function_e1:
+0x7288 031858 disable user 
+0x7289 031859 call function_expand 
+0x728a 031860 branch function_hash 
+:      031862 function_e3:
+0x728b 031863 arg mem_aco ,rega 
+0x728c 031864 enable user 
+0x728d 031865 call function_expand 
+0x728e 031866 call function_hash 
+0x728f 031867 arg mem_input_store ,contr 
+0x7290 031868 arg mem_kc ,contw 
+0x7291 031869 branch memcpy16 
+:      031872 function_hash:
+0x7292 031873 setarg mem_random_number 
+0x7293 031874 store 2 ,memp_ar_input 
+0x7294 031875 setarg mem_link_key 
+0x7295 031876 store 2 ,memp_ar_key 
+0x7296 031877 set0 mark_ar2 ,mark 
+0x7297 031878 call function_ar 
+0x7298 031879 arg mem_input_store ,rega 
+0x7299 031880 arg mem_random_number ,regb 
+0x729a 031881 arg mem_x ,contw 
+0x729b 031882 call xor16 
+0x729c 031883 arg mem_x ,rega 
+0x729d 031884 arg mem_y ,regb 
+0x729e 031885 copy regb ,contw 
+0x729f 031886 enable user 
+0x72a0 031887 call add16 
+0x72a1 031888 call key_offset 
+0x72a2 031889 setarg mem_y 
+0x72a3 031890 store 2 ,memp_ar_input 
+0x72a4 031891 setarg mem_x 
+0x72a5 031892 store 2 ,memp_ar_key 
+0x72a6 031893 set1 mark_ar2 ,mark 
+0x72a7 031894 branch function_ar 
+:      031898 function_ar:
+0x72a8 031899 jam 0 ,mem_ar_hround 
+0x72a9 031900 fetch 2 ,memp_ar_key 
+0x72aa 031901 iforce contr 
+0x72ab 031902 arg mem_key_store ,contw 
+0x72ac 031903 call memcpy16 
+0x72ad 031904 fetch 2 ,memp_ar_input 
+0x72ae 031905 iforce contr 
+0x72af 031906 arg mem_input_store ,contw 
+0x72b0 031907 call memcpy16 
+:      031909 function_ar_loop:
+0x72b1 031910 call key_scheduling 
+0x72b2 031911 disable user 
+0x72b3 031912 bmark0 mark_ar2 ,function_ar_original 
+0x72b4 031913 fetch 1 ,mem_ar_hround 
+0x72b5 031914 bne 4 ,function_ar_original 
+0x72b6 031915 fetch 2 ,memp_ar_input 
+0x72b7 031916 iforce regb 
+0x72b8 031917 call xor_mod32_ar2 
+:      031918 function_ar_original:
+0x72b9 031919 call xor_mod32 
+0x72ba 031920 call el_boxes 
+0x72bb 031921 fetch 1 ,mem_ar_hround 
+0x72bc 031922 increase 1 ,pdata 
+0x72bd 031923 store 1 ,mem_ar_hround 
+0x72be 031925 call key_scheduling 
+0x72bf 031926 enable user 
+0x72c0 031927 call xor_mod32 
+0x72c1 031928 call pht 
+0x72c2 031929 call permute 
+0x72c3 031930 call pht 
+0x72c4 031931 call permute 
+0x72c5 031932 call pht 
+0x72c6 031933 call permute 
+0x72c7 031934 call pht 
+0x72c8 031935 fetch 1 ,mem_ar_hround 
+0x72c9 031936 increase 1 ,pdata 
+0x72ca 031937 store 1 ,mem_ar_hround 
+0x72cb 031938 bne 16 ,function_ar_loop 
+0x72cc 031939 call key_scheduling 
+0x72cd 031940 disable user 
+0x72ce 031941 branch xor_mod32 
+:      031945 key_scheduling:
+0x72cf 031946 fetch 1 ,mem_ar_hround 
+0x72d0 031947 arg mem_key_store ,contr 
+0x72d1 031948 branch key_sched_zero ,blank 
+0x72d2 031949 iforce regb 
+0x72d3 031950 force 17 ,loopcnt 
+0x72d4 031951 copy contr ,contw 
+:      031952 key_rotateloop:
+0x72d5 031953 ifetch 1 ,contr 
+0x72d6 031954 lshift3 pdata ,temp 
+0x72d7 031955 rshift2 pdata ,pdata 
+0x72d8 031956 rshift3 pdata ,pdata 
+0x72d9 031957 ior temp ,pdata 
+0x72da 031958 istore 1 ,contw 
+0x72db 031959 loop key_rotateloop 
+0x72dc 031960 setarg mem_key_store 
+0x72dd 031961 iadd regb ,contr 
+0x72de 031962 force 16 ,loopcnt 
+0x72df 031963 arg mem_round_key ,contw 
+:      031964 key_select_octet_loop:
+0x72e0 031965 ifetch 1 ,contr 
+0x72e1 031966 istore 1 ,contw 
+0x72e2 031967 compare mem_key_store_end ,contr ,0xff 
+0x72e3 031968 nbranch key_select_octet_nwrap ,true 
+0x72e4 031969 increase -17 ,contr 
+:      031970 key_select_octet_nwrap:
+0x72e5 031971 loop key_select_octet_loop 
+0x72e6 031972 force 0 ,rega 
+0x72e7 031973 add regb ,-1 ,regc 
+0x72e8 031974 lshift2 regc ,regc 
+0x72e9 031975 lshift2 regc ,regc 
+0x72ea 031976 call enable_authrom 
+0x72eb 031977 setarg mem_b_box 
+0x72ec 031978 iadd regc ,regc 
+0x72ed 031979 arg mem_round_key ,contw 
+0x72ee 031980 force 16 ,loopcnt 
+:      031981 bias_round_key_loop:
+0x72ef 031982 ifetcht 1 ,regc 
+0x72f0 031983 ifetch 1 ,contw 
+0x72f1 031984 iadd temp ,pdata 
+0x72f2 031985 istore 1 ,contw 
+0x72f3 031986 increase 1 ,regc 
+0x72f4 031987 loop bias_round_key_loop 
+0x72f5 031988 branch disable_authrom 
+:      031990 key_sched_zero:
+0x72f6 031991 force 16 ,loopcnt 
+0x72f7 031992 force 0 ,temp 
+:      031993 create_byte_16_loop:
+0x72f8 031994 ifetch 1 ,contr 
+0x72f9 031995 ixor temp ,temp 
+0x72fa 031996 loop create_byte_16_loop 
+0x72fb 031997 deposit temp 
+0x72fc 031998 istore 1 ,contr 
+0x72fd 031999 arg mem_key_store ,contr 
+0x72fe 032000 arg mem_round_key ,contw 
+0x72ff 032001 branch memcpy16 
+:      032003 xor_mod32:
+0x7300 032004 arg mem_round_key ,regb 
+:      032005 xor_mod32_ar2:
+0x7301 032006 force 16 ,loopcnt 
+0x7302 032007 arg mem_input_store ,rega 
+0x7303 032008 copy rega ,contw 
+:      032009 xor_mod32_loop:
+0x7304 032010 ifetcht 1 ,rega 
+0x7305 032011 ifetch 1 ,regb 
+0x7306 032012 ixor temp ,alarm 
+0x7307 032013 and loopcnt ,3 ,regc 
+0x7308 032014 nbranch xor_mod32_invert ,user 
+0x7309 032015 xor_into 3 ,regc 
+:      032016 xor_mod32_invert:
+0x730a 032017 sub regc ,1 ,regc 
+0x730b 032018 branch xor_even ,positive 
+0x730c 032019 iadd temp ,alarm 
+:      032020 xor_even:
+0x730d 032021 deposit alarm 
+0x730e 032022 istore 1 ,contw 
+0x730f 032023 increase 1 ,rega 
+0x7310 032024 increase 1 ,regb 
+0x7311 032025 loop xor_mod32_loop 
+0x7312 032026 rtn 
+:      032028 el_boxes:
+0x7313 032029 call enable_authrom 
+0x7314 032030 force 16 ,loopcnt 
+0x7315 032031 arg mem_input_store ,rega 
+:      032032 el_box_loop:
+0x7316 032033 ifetch 1 ,rega 
+0x7317 032034 arg mem_e_box ,contr 
+0x7318 032035 and loopcnt ,3 ,regc 
+0x7319 032036 sub regc ,1 ,null 
+0x731a 032037 branch e_boxes ,positive 
+0x731b 032038 arg mem_l_box ,contr 
+:      032039 e_boxes:
+0x731c 032040 iadd contr ,contr 
+0x731d 032041 ifetch 1 ,contr 
+0x731e 032042 istore 1 ,rega 
+0x731f 032043 increase 1 ,rega 
+0x7320 032044 loop el_box_loop 
+0x7321 032045 branch disable_authrom 
+:      032047 pht:
+0x7322 032048 force 8 ,loopcnt 
+0x7323 032049 arg mem_input_store ,contr 
+0x7324 032050 copy contr ,contw 
+:      032051 pht_loop:
+0x7325 032052 ifetch 1 ,contr 
+0x7326 032053 iforce rega 
+0x7327 032054 ifetch 1 ,contr 
+0x7328 032055 iforce regb 
+0x7329 032056 lshift rega ,pdata 
+0x732a 032057 iadd regb ,pdata 
+0x732b 032058 istore 1 ,contw 
+0x732c 032059 deposit rega 
+0x732d 032060 iadd regb ,pdata 
+0x732e 032061 istore 1 ,contw 
+0x732f 032062 loop pht_loop 
+0x7330 032063 rtn 
+:      032066 permute:
+0x7331 032067 setarg 0x8ae42c 
+0x7332 032068 iforce temp 
+0x7333 032069 force 7 ,loopcnt 
+0x7334 032070 call permute_exchange 
+0x7335 032071 setarg 0xd751b 
+0x7336 032072 iforce temp 
+0x7337 032073 force 5 ,loopcnt 
+0x7338 032074 call permute_exchange 
+0x7339 032075 fetch 1 ,mem_input_store + 15 
+0x733a 032076 iforce rega 
+0x733b 032077 fetch 1 ,mem_input_store + 3 
+0x733c 032078 store 1 ,mem_input_store + 15 
+0x733d 032079 deposit rega 
+0x733e 032080 store 1 ,mem_input_store + 3 
+0x733f 032081 rtn 
+:      032083 permute_exchange:
+0x7340 032084 and temp ,0xf ,regb 
+:      032085 permute_loop:
+0x7341 032086 and temp ,0xf ,pdata 
+0x7342 032087 arg mem_input_store ,contw 
+0x7343 032088 iadd contw ,contw 
+0x7344 032089 ifetch 1 ,contw 
+0x7345 032090 iforce regc 
+0x7346 032091 deposit rega 
+0x7347 032092 istore 1 ,contw 
+0x7348 032093 copy regc ,rega 
+0x7349 032094 rshift4 temp ,temp 
+0x734a 032095 loop permute_loop 
+0x734b 032096 setarg mem_input_store 
+0x734c 032097 iadd regb ,contw 
+0x734d 032098 deposit rega 
+0x734e 032099 istore 1 ,contw 
+0x734f 032100 rtn 
+:      032102 add16:
+0x7350 032103 enable user 
+0x7351 032104 branch xor_add16 
+:      032106 xor16:
+0x7352 032107 disable user 
+:      032108 xor_add16:
+0x7353 032109 force 16 ,loopcnt 
+:      032110 xoradd_loop:
+0x7354 032111 ifetcht 1 ,rega 
+0x7355 032112 ifetch 1 ,regb 
+0x7356 032113 branch xoradd_add ,user 
+0x7357 032114 ixor temp ,pdata 
+0x7358 032115 branch xoradd_store 
+:      032116 xoradd_add:
+0x7359 032117 iadd temp ,pdata 
+:      032118 xoradd_store:
+0x735a 032119 istore 1 ,contw 
+0x735b 032120 increase 1 ,rega 
+0x735c 032121 increase 1 ,regb 
+0x735d 032122 loop xoradd_loop 
+0x735e 032123 rtn 
+:      032126 function_expand:
+0x735f 032127 arg mem_y ,contw 
+0x7360 032128 ifetch 6 ,rega 
+0x7361 032129 istore 6 ,contw 
+0x7362 032130 branch expand_12 ,user 
+0x7363 032131 ifetch 6 ,rega 
+0x7364 032132 branch expand_cont 
+:      032133 expand_12:
+0x7365 032134 ifetch 6 ,contr 
+:      032135 expand_cont:
+0x7366 032136 istore 6 ,contw 
+0x7367 032137 ifetch 4 ,rega 
+0x7368 032138 istore 4 ,contw 
+0x7369 032139 rtn 
+:      032141 key_offset:
+0x736a 032142 arg mem_link_key ,contr 
+0x736b 032143 arg mem_x ,contw 
+0x736c 032144 arg 0 ,temp 
+0x736d 032145 setarg 0x8395a7 
+0x736e 032146 call concatenate_temp24 
+0x736f 032147 setarg 0xb3c1df 
+0x7370 032148 call concatenate_temp24 
+0x7371 032149 setarg 0xe5e9 
+0x7372 032150 call concatenate_temp16 
+0x7373 032151 copy temp ,regab 
+0x7374 032152 disable user 
+0x7375 032153 call key_addxor 
+0x7376 032154 copy regab ,temp 
+0x7377 032155 enable user 
+0x7378 032156 branch key_addxor 
+:      032158 key_addxor:
+0x7379 032159 force 8 ,loopcnt 
+:      032160 key_addxor_loop:
+0x737a 032161 ifetch 1 ,contr 
+0x737b 032162 compare 1 ,loopcnt ,1 
+0x737c 032163 branch key_high ,user 
+0x737d 032164 branch key_xor ,true 
+:      032165 key_add:
+0x737e 032166 iadd temp ,pdata 
+0x737f 032167 branch key_store 
+:      032168 key_high:
+0x7380 032169 branch key_add ,true 
+:      032170 key_xor:
+0x7381 032171 ixor temp ,pdata 
+:      032172 key_store:
+0x7382 032173 istore 1 ,contw 
+0x7383 032174 rshift8 temp ,temp 
+0x7384 032175 loop key_addxor_loop 
+0x7385 032176 rtn 
+:      032178 copy_aco:
+0x7386 032179 fetch 6 ,mem_input_store + 4 
+0x7387 032180 store 6 ,mem_aco 
+0x7388 032181 ifetch 6 ,contr 
+0x7389 032182 istore 6 ,contw 
+0x738a 032183 rtn 
+:      032185 concatenate_temp24:
+0x738b 032186 lshift8 temp ,temp 
+:      032187 concatenate_temp16:
+0x738c 032188 lshift16 temp ,temp 
+0x738d 032189 ior temp ,temp 
+0x738e 032190 rtn 
+:      032194 loop1:
+0x738f 032195 branch loop1 
+:      032199 generate_stk:
+0x7390 032200 bpatchx patch3c_0 ,mem_patch3c 
+0x7391 032201 call function_s1 
+0x7392 032202 arg mem_le_ltk ,contw 
+0x7393 032203 branch store_aes_result 
+:      032206 authenticate_rconfirm:
+0x7394 032207 arg mem_le_srand ,contw 
+0x7395 032208 branch authenticate_mconfirm ,master 
+0x7396 032209 arg mem_le_mrand ,contw 
+:      032210 authenticate_mconfirm:
+0x7397 032211 copy contr ,rega 
+0x7398 032212 call memcpy16 
+0x7399 032213 call function_c1 
+0x739a 032214 arg mem_le_rconfirm ,contr 
+0x739b 032215 branch compare_res 
+:      032217 generate_confirm:
+0x739c 032218 arg mem_le_mrand ,rega 
+0x739d 032219 branch generate_mrand ,master 
+0x739e 032220 arg mem_le_srand ,rega 
+:      032221 generate_mrand:
+0x739f 032222 copy rega ,contw 
+0x73a0 032223 call generate_random 
+0x73a1 032224 branch function_c1 
+:      032226 generate_sk:
+0x73a2 032227 arg mem_le_skdm ,contr 
+0x73a3 032228 call load_data128 
+0x73a4 032229 arg mem_le_ltk ,contr 
+0x73a5 032230 call load_regext 
+0x73a6 032231 force 0x38 ,aes_ctrl 
+0x73a7 032232 force 0x0 ,aes_ctrl 
+0x73a8 032233 call wait_aes 
+0x73a9 032234 arg mem_le_sk ,contw 
+0x73aa 032235 branch store_aes_result 
+:      032238 first_block_counter:
+0x73ab 032239 force 0x49 ,pdata 
+0x73ac 032240 branch first_block 
+:      032241 first_block_data:
+0x73ad 032242 force 1 ,pdata 
+:      032243 first_block:
+0x73ae 032244 force regidx_data ,regext_index 
+0x73af 032245 lshift8 temp ,regext 
+0x73b0 032246 ior regext ,regext 
+0x73b1 032247 increase 1 ,regext_index 
+0x73b2 032248 rshift8 temp ,regext 
+0x73b3 032249 rshift16 regext ,regext 
+0x73b4 032250 fetch 2 ,mem_le_ivm 
+0x73b5 032251 lshift16 ,pdata ,pdata 
+0x73b6 032252 ior regext ,regext 
+0x73b7 032253 increase 1 ,regext_index 
+0x73b8 032254 ifetch 4 ,contr 
+0x73b9 032255 iforce regext 
+0x73ba 032256 increase 1 ,regext_index 
+0x73bb 032257 ifetch 2 ,contr 
+0x73bc 032258 byteswap rega ,regext 
+0x73bd 032259 lshift16 regext ,regext 
+0x73be 032260 ior regext ,regext 
+0x73bf 032261 increase 1 ,regext_index 
+0x73c0 032262 rtn 
+:      032266 generate_mic:
+0x73c1 032267 add regc ,1 ,contr 
+0x73c2 032268 ifetch 1 ,contr 
+0x73c3 032269 iforce rega 
+0x73c4 032270 call first_block_counter 
+0x73c5 032271 call do_aes_ocb 
+0x73c6 032273 force regidx_data ,regext_index 
+0x73c7 032274 ifetch 1 ,regc 
+0x73c8 032275 and_into 0x3 ,pdata 
+0x73c9 032276 lshift16 pdata ,regext 
+0x73ca 032277 set1 8 ,regext 
+0x73cb 032278 call clear_hidata 
+0x73cc 032279 call do_aes_cbc 
+0x73cd 032281 copy rega ,loopcnt 
+0x73ce 032282 add regc ,2 ,contr 
+0x73cf 032283 call padding_data 
+:      032284 generate_mic_loop:
+0x73d0 032285 call aes_load_data 
+0x73d1 032286 call do_aes_cbc 
+0x73d2 032287 deposit loopcnt 
+0x73d3 032288 branch generate_mic_end ,blank 
+0x73d4 032289 branch generate_mic_loop 
+:      032290 generate_mic_end:
+0x73d5 032291 force regidx_result ,regext_index 
+0x73d6 032292 deposit regext 
+0x73d7 032293 store 4 ,mem_le_mic 
+0x73d8 032294 rtn 
+:      032296 aes_crypt_data:
+0x73d9 032297 increase 1 ,rega 
+0x73da 032298 call first_block_data 
+0x73db 032299 copy regc ,contr 
+0x73dc 032300 call aes_load_xor 
+0x73dd 032301 call do_aes_ctr 
+0x73de 032302 call store_enc_data 
+0x73df 032303 increase 16 ,regc 
+0x73e0 032304 increase -16 ,regb 
+0x73e1 032305 branch aes_crypt_data ,positive 
+0x73e2 032306 rtn 
+:      032308 le_encrypt:
+0x73e3 032309 bpatchx patch3c_1 ,mem_patch3c 
+0x73e4 032310 arg mem_le_txheader ,regc 
+0x73e5 032311 fetcht 5 ,mem_le_pcnt_tx 
+0x73e6 032312 call generate_mic 
+0x73e7 032313 force regidx_xor ,regext_index 
+0x73e8 032314 iforce regext 
+0x73e9 032315 force 0 ,rega 
+0x73ea 032316 call first_block_data 
+0x73eb 032317 call do_aes_ctr 
+0x73ec 032318 arg mem_le_txpayload ,regc 
+0x73ed 032319 fetch 1 ,mem_le_txlen 
+0x73ee 032320 add pdata ,-1 ,regb 
+0x73ef 032321 iadd regc ,contw 
+0x73f0 032322 force regidx_result ,regext_index 
+0x73f1 032323 deposit regext 
+0x73f2 032324 istore 4 ,contw 
+0x73f3 032325 call aes_crypt_data 
+0x73f4 032326 fetch 1 ,mem_le_txlen 
+0x73f5 032327 increase 4 ,pdata 
+0x73f6 032328 store 1 ,mem_le_txlen 
+0x73f7 032329 fetcht 5 ,mem_le_pcnt_tx 
+0x73f8 032330 increase 1 ,temp 
+0x73f9 032331 storet 5 ,mem_le_pcnt_tx 
+0x73fa 032332 rtn 
+:      032334 le_decrypt:
+0x73fb 032335 bpatchx patch3c_2 ,mem_patch3c 
+0x73fc 032336 fetch 1 ,mem_le_rxbuf + 1 
+0x73fd 032337 sub pdata ,20 ,null 
+0x73fe 032338 branch le_dec_cont ,positive 
+:      032339 le_dec_cont:
+0x73ff 032340 arg mem_le_rxbuf + 2 ,regc 
+0x7400 032341 add pdata ,-1 ,regb 
+0x7401 032342 increase -4 ,pdata 
+0x7402 032343 store 1 ,mem_le_rxbuf + 1 
+0x7403 032344 iadd regc ,contr 
+0x7404 032345 ifetch 4 ,contr 
+0x7405 032346 force regidx_xor ,regext_index 
+0x7406 032347 iforce regext 
+0x7407 032348 force 0 ,rega 
+0x7408 032349 fetcht 5 ,mem_le_pcnt_rx 
+0x7409 032350 call first_block_data 
+0x740a 032351 call do_aes_ctr 
+0x740b 032352 force regidx_result ,regext_index 
+0x740c 032353 deposit regext 
+0x740d 032354 store 4 ,mem_le_peer_mic 
+0x740e 032355 call aes_crypt_data 
+0x740f 032356 arg mem_le_rxbuf ,regc 
+0x7410 032357 call generate_mic 
+0x7411 032358 fetcht 4 ,mem_le_peer_mic 
+0x7412 032359 isub temp ,pdata 
+0x7413 032360 nrtn blank 
+0x7414 032361 fetch 4 ,mem_le_last_mic 
+0x7415 032362 isub temp ,pdata 
+0x7416 032363 rtn blank 
+0x7417 032364 storet 4 ,mem_le_last_mic 
+0x7418 032365 fetch 5 ,mem_le_pcnt_rx 
+0x7419 032366 increase 1 ,pdata 
+0x741a 032367 store 5 ,mem_le_pcnt_rx 
+0x741b 032368 force 0 ,pdata 
+0x741c 032369 rtn 
+:      032371 wait_aes:
+0x741d 032372 nbranch wait_aes ,aes_ready 
+0x741e 032373 rtn 
+:      032375 do_aes_ocb:
+0x741f 032376 force 0x30 ,aes_ctrl 
+0x7420 032377 force 0x0 ,aes_ctrl 
+0x7421 032378 branch wait_aes 
+:      032380 do_aes_cbc:
+0x7422 032381 force 0x32 ,aes_ctrl 
+0x7423 032382 force 0x2 ,aes_ctrl 
+0x7424 032383 branch wait_aes 
+:      032385 do_aes_ctr:
+0x7425 032386 force 0x34 ,aes_ctrl 
+0x7426 032387 force 0x4 ,aes_ctrl 
+0x7427 032388 branch wait_aes 
+:      032391 aes_init:
+0x7428 032392 force 1 ,aes_ctrl 
+0x7429 032393 force 0 ,aes_ctrl 
+0x742a 032394 rtn 
+:      032395 function_s1:
+0x742b 032396 force regidx_data ,regext_index 
+0x742c 032397 fetch 4 ,mem_le_mrand 
+0x742d 032398 iforce regext 
+0x742e 032399 increase 1 ,regext_index 
+0x742f 032400 ifetch 4 ,contr 
+0x7430 032401 iforce regext 
+0x7431 032402 increase 1 ,regext_index 
+0x7432 032403 fetch 4 ,mem_le_srand 
+0x7433 032404 iforce regext 
+0x7434 032405 increase 1 ,regext_index 
+0x7435 032406 ifetch 4 ,contr 
+0x7436 032407 iforce regext 
+0x7437 032408 increase 1 ,regext_index 
+0x7438 032409 call aes_clear 
+0x7439 032410 increase -4 ,regext_index 
+0x743a 032411 fetch 4 ,mem_le_tk 
+0x743b 032412 copy pdata ,regext 
+0x743c 032413 increase 4 ,regext_index 
+0x743d 032414 force 0x38 ,aes_ctrl 
+0x743e 032415 force 0x8 ,aes_ctrl 
+0x743f 032416 branch wait_aes 
+:      032419 function_c1:
+0x7440 032420 bpatchx patch3c_3 ,mem_patch3c 
+0x7441 032421 fetch 6 ,mem_le_lap 
+0x7442 032422 fetcht 6 ,mem_le_plap 
+0x7443 032423 branch function_c1_master ,master 
+0x7444 032424 fetch 6 ,mem_le_plap 
+0x7445 032425 fetcht 6 ,mem_le_lap 
+:      032426 function_c1_master:
+0x7446 032427 force regidx_xor ,regext_index 
+0x7447 032428 copy temp ,regext 
+0x7448 032429 increase 1 ,regext_index 
+0x7449 032430 rshift32 temp ,regext 
+0x744a 032431 lshift16 pdata ,pdata 
+0x744b 032432 ior regext ,regext 
+0x744c 032433 increase 1 ,regext_index 
+0x744d 032434 rshift32 pdata ,regext 
+0x744e 032435 increase 1 ,regext_index 
+0x744f 032436 force 0 ,regext 
+0x7450 032437 force 0 ,pdata 
+0x7451 032438 fetch 1 ,mem_le_conn_peer_addr_type 
+0x7452 032439 fetcht 1 ,mem_le_adv_own_addr_type 
+0x7453 032440 nbranch function_c1_irat ,master 
+0x7454 032442 fetch 1 ,mem_le_conn_own_addr_type 
+0x7455 032443 fetcht 1 ,mem_le_conn_peer_addr_type 
+:      032444 function_c1_irat:
+0x7456 032445 store 1 ,mem_le_iat 
+0x7457 032446 storet 1 ,mem_le_rat 
+0x7458 032447 force regidx_data ,regext_index 
+0x7459 032448 arg mem_le_iat ,regb 
+0x745a 032449 force 4 ,loopcnt 
+:      032450 function_c1_loop1:
+0x745b 032451 ifetch 4 ,rega 
+0x745c 032452 ifetcht 4 ,regb 
+0x745d 032453 ixor temp ,regext 
+0x745e 032454 increase 1 ,regext_index 
+0x745f 032455 increase 4 ,rega 
+0x7460 032456 increase 4 ,regb 
+0x7461 032457 loop function_c1_loop1 
+0x7462 032458 call aes_clear 
+0x7463 032459 increase -4 ,regext_index 
+0x7464 032460 fetch 4 ,mem_le_tk 
+0x7465 032461 copy pdata ,regext 
+0x7466 032462 increase 4 ,regext_index 
+0x7467 032463 force 0x38 ,aes_ctrl 
+0x7468 032464 force 0xc ,aes_ctrl 
+0x7469 032465 call wait_aes 
+0x746a 032467 call aes_clear_data 
+0x746b 032468 force 0x3a ,aes_ctrl 
+0x746c 032469 force 0x8 ,aes_ctrl 
+0x746d 032470 branch wait_aes 
+:      032472 padding_data:
+0x746e 032473 compare 0 ,loopcnt ,3 
+0x746f 032474 rtn true 
+0x7470 032475 deposit contr 
+0x7471 032476 iadd loopcnt ,contw 
+0x7472 032477 force 0 ,pdata 
+:      032478 padding_loop:
+0x7473 032479 istore 1 ,contw 
+0x7474 032480 increase 1 ,loopcnt 
+0x7475 032481 compare 0 ,loopcnt ,3 
+0x7476 032482 rtn true 
+0x7477 032483 branch padding_loop 
+:      032485 aes_load_data:
+0x7478 032486 force regidx_data ,regext_index 
+:      032487 load_data_loop:
+0x7479 032488 deposit loopcnt 
+0x747a 032489 branch load_data_padding ,blank 
+0x747b 032490 ifetch 4 ,contr 
+0x747c 032491 increase -4 ,loopcnt 
+:      032492 load_data_padding:
+0x747d 032493 iforce regext 
+0x747e 032494 increase 1 ,regext_index 
+0x747f 032495 compare regidx_key ,regext_index ,0xf 
+0x7480 032496 rtn true 
+0x7481 032497 branch load_data_loop 
+:      032499 aes_load_xor:
+0x7482 032500 force regidx_xor ,regext_index 
+0x7483 032501 branch load_regext 
+:      032502 load_key:
+0x7484 032503 force regidx_key ,regext_index 
+0x7485 032504 branch load_regext 
+:      032505 load_data128:
+0x7486 032506 force regidx_data ,regext_index 
+:      032507 load_regext:
+0x7487 032508 force 4 ,loopcnt 
+:      032509 load_regext_loop:
+0x7488 032510 ifetch 4 ,contr 
+0x7489 032511 iforce regext 
+0x748a 032512 increase 1 ,regext_index 
+0x748b 032513 loop load_regext_loop 
+0x748c 032514 rtn 
+:      032516 load_sk:
+0x748d 032517 arg mem_le_sk ,contr 
+0x748e 032518 branch load_key 
+:      032520 clear_hidata:
+0x748f 032521 force 4 ,loopcnt 
+0x7490 032522 branch clear_data_rest 
+:      032524 aes_clear_data:
+0x7491 032525 force regidx_data ,regext_index 
+:      032526 aes_clear:
+0x7492 032527 force 4 ,loopcnt 
+:      032528 clear_loop:
+0x7493 032529 force 0 ,regext 
+:      032530 clear_data_rest:
+0x7494 032531 increase 1 ,regext_index 
+0x7495 032532 loop clear_loop 
+0x7496 032533 rtn 
+:      032535 store_aes_result:
+0x7497 032536 force regidx_result ,regext_index 
+0x7498 032537 force 4 ,loopcnt 
+:      032538 send_aes_result_loop:
+0x7499 032539 deposit regext 
+0x749a 032540 istore 4 ,contw 
+0x749b 032541 increase 1 ,regext_index 
+0x749c 032542 loop send_aes_result_loop 
+0x749d 032543 rtn 
+:      032545 store_enc_data:
+0x749e 032546 force regidx_result ,regext_index 
+0x749f 032547 copy regc ,contw 
+0x74a0 032548 add regb ,1 ,loopcnt 
+0x74a1 032549 sub loopcnt ,15 ,null 
+0x74a2 032550 branch store_enc_loop ,positive 
+0x74a3 032551 force 16 ,loopcnt 
+:      032552 store_enc_loop:
+0x74a4 032553 deposit regext 
+0x74a5 032554 sub loopcnt ,3 ,null 
+0x74a6 032555 branch store_enc_byte ,positive 
+0x74a7 032556 istore 4 ,contw 
+0x74a8 032557 increase -4 ,loopcnt 
+0x74a9 032558 rtn zero 
+0x74aa 032559 increase 1 ,regext_index 
+0x74ab 032560 branch store_enc_loop 
+:      032561 store_enc_byte:
+0x74ac 032562 istore 1 ,contw 
+0x74ad 032563 rshift8 pdata ,pdata 
+0x74ae 032564 loop store_enc_byte 
+0x74af 032565 rtn 
+:      032568 compare_res:
+0x74b0 032569 force regidx_result ,regext_index 
+0x74b1 032570 force 4 ,loopcnt 
+:      032571 compare_res_loop:
+0x74b2 032572 ifetch 4 ,contr 
+0x74b3 032573 isub regext ,null 
+0x74b4 032574 nrtn zero 
+0x74b5 032575 increase 1 ,regext_index 
+0x74b6 032576 loop compare_res_loop 
+0x74b7 032577 force 0 ,null 
+0x74b8 032578 rtn 
+:      032580 enable_authrom:
+0x74b9 032581 hfetch 1 ,core_clkoff 
+0x74ba 032582 set0 clock_off_auth_rom ,pdata 
+0x74bb 032583 hstore 1 ,core_clkoff 
+0x74bc 032584 rtn 
+:      032586 disable_authrom:
+0x74bd 032587 hfetch 1 ,core_clkoff 
+0x74be 032588 set1 clock_off_auth_rom ,pdata 
+0x74bf 032589 hstore 1 ,core_clkoff 
+0x74c0 032590 rtn 
+:      032592 init_memp:
+0x74c1 032593 arg mem_p ,contw 
+0x74c2 032594 setsect 0 ,0x3ffff 
+0x74c3 032595 setsect 1 ,0x3ffff 
+0x74c4 032596 setsect 2 ,0x3ffff 
+0x74c5 032597 setsect 3 ,0x3fbff 
+0x74c6 032598 istore 9 ,contw 
+0x74c7 032599 setsect 0 ,0x3ffff 
+0x74c8 032600 setsect 1 ,0x3ffff 
+0x74c9 032601 setsect 2 ,0x3ffff 
+0x74ca 032602 setsect 3 ,0x3ffff 
+0x74cb 032603 istore 9 ,contw 
+0x74cc 032604 setsect 0 ,0x3ffff 
+0x74cd 032605 setsect 1 ,0x3ffff 
+0x74ce 032606 setsect 2 ,0x3cfff 
+0x74cf 032607 setsect 3 ,0x3ffff 
+0x74d0 032608 istore 9 ,contw 
+0x74d1 032609 setsect 0 ,0x3ffff 
+0x74d2 032610 setsect 1 ,0x3ffff 
+0x74d3 032611 setsect 2 ,0x3ffef 
+0x74d4 032612 setsect 3 ,0x3ffff 
+0x74d5 032613 istore 9 ,contw 
+0x74d6 032614 setsect 0 ,0x3ffff 
+0x74d7 032615 setsect 1 ,0x3ffff 
+0x74d8 032616 setsect 2 ,0x3ffff 
+0x74d9 032617 setsect 3 ,0x3ffff 
+0x74da 032618 istore 9 ,contw 
+0x74db 032619 setsect 0 ,0x3ffff 
+0x74dc 032620 setsect 1 ,0x26c7f 
+0x74dd 032621 setsect 2 ,0x146b 
+0x74de 032622 setsect 3 ,0x37bb3 
+0x74df 032623 istore 9 ,contw 
+0x74e0 032624 setsect 0 ,0x1feb8 
+0x74e1 032625 setsect 1 ,0x10c12 
+0x74e2 032626 setsect 2 ,0x2b722 
+0x74e3 032627 setsect 3 ,0x29fa6 
+0x74e4 032628 istore 9 ,contw 
+0x74e5 032629 setsect 0 ,0xe70f 
+0x74e6 032630 setsect 1 ,0x16720 
+0x74e7 032631 setsect 2 ,0x519e 
+0x74e8 032632 setsect 3 ,0x19084 
+0x74e9 032633 istore 9 ,contw 
+0x74ea 032634 setsect 0 ,0x31012 
+0x74eb 032635 setsect 1 ,0x360bf 
+0x74ec 032636 setsect 2 ,0x3f0af 
+0x74ed 032637 setsect 3 ,0x3d3 
+0x74ee 032638 istore 9 ,contw 
+0x74ef 032639 setsect 0 ,0x3a188 
+0x74f0 032640 setsect 1 ,0x3ad0 
+0x74f1 032641 setsect 2 ,0x3cbf2 
+0x74f2 032642 setsect 3 ,0x243d9 
+0x74f3 032643 istore 9 ,contw 
+0x74f4 032644 setsect 0 ,0x2b030 
+0x74f5 032645 setsect 1 ,0x36a03 
+0x74f6 032646 setsect 2 ,0x11188 
+0x74f7 032647 setsect 3 ,0x1e520 
+0x74f8 032648 istore 9 ,contw 
+0x74f9 032649 setsect 0 ,0x3a11e 
+0x74fa 032650 setsect 1 ,0xfe5d 
+0x74fb 032651 setsect 2 ,0xdd57 
+0x74fc 032652 setsect 3 ,0x1ac93 
+0x74fd 032653 istore 9 ,contw 
+0x74fe 032654 setsect 0 ,0x11ed 
+0x74ff 032655 setsect 1 ,0x218c4 
+0x7500 032656 setsect 2 ,0x8da7 
+0x7501 032657 setsect 3 ,0x257ff 
+0x7502 032658 istore 9 ,contw 
+0x7503 032659 setsect 0 ,0x3192b 
+0x7504 032660 setsect 1 ,0x34641 
+0x7505 032661 setsect 2 ,0x1be0c 
+0x7506 032662 setsect 3 ,0x366ad 
+0x7507 032663 istore 9 ,contw 
+0x7508 032664 setsect 0 ,0x1f83 
+0x7509 032665 setsect 1 ,0x15a23 
+0x750a 032666 setsect 2 ,0x3f9b0 
+0x750b 032667 setsect 3 ,0x3949 
+0x750c 032668 istore 9 ,contw 
+0x750d 032669 setsect 0 ,0x13a51 
+0x750e 032670 setsect 1 ,0x153fd 
+0x750f 032671 setsect 2 ,0x3372a 
+0x7510 032672 setsect 3 ,0xf1bb 
+0x7511 032673 istore 9 ,contw 
+0x7512 032674 setsect 0 ,0x3ae85 
+0x7513 032675 setsect 1 ,0x1eed9 
+0x7514 032676 setsect 2 ,0x9e66 
+0x7515 032677 setsect 3 ,0x1a8 
+0x7516 032678 istore 8 ,contw 
+0x7517 032679 rtn 
+:      032683 init_memp_256:
+0x7518 032684 arg mem_p_256 ,contw 
+0x7519 032685 setsect 0 ,0x3ffff 
+0x751a 032686 setsect 1 ,0x3ffff 
+0x751b 032687 setsect 2 ,0x3ffff 
+0x751c 032688 setsect 3 ,0x3ffff 
+0x751d 032689 istore 9 ,contw 
+0x751e 032690 setsect 0 ,0x3ffff 
+0x751f 032691 setsect 1 ,0x3f 
+0x7520 032692 setsect 2 ,0x0 
+0x7521 032693 setsect 3 ,0x0 
+0x7522 032694 istore 9 ,contw 
+0x7523 032695 setsect 0 ,0x0 
+0x7524 032696 setsect 1 ,0x0 
+0x7525 032697 setsect 2 ,0x1000 
+0x7526 032698 setsect 3 ,0x0 
+0x7527 032699 istore 9 ,contw 
+0x7528 032700 setsect 0 ,0x3ff00 
+0x7529 032701 setsect 1 ,0x3ffff 
+0x752a 032702 setsect 2 ,0x3ffcf 
+0x752b 032703 setsect 3 ,0x3ffff 
+0x752c 032704 istore 9 ,contw 
+0x752d 032705 setsect 0 ,0x3ffff 
+0x752e 032706 setsect 1 ,0x3ffff 
+0x752f 032707 setsect 2 ,0x3ffff 
+0x7530 032708 setsect 3 ,0x3ff 
+0x7531 032709 istore 9 ,contw 
+0x7532 032710 setsect 0 ,0x0 
+0x7533 032711 setsect 1 ,0x0 
+0x7534 032712 setsect 2 ,0x0 
+0x7535 032713 setsect 3 ,0x0 
+0x7536 032714 istore 9 ,contw 
+0x7537 032715 setsect 0 ,0x10000 
+0x7538 032716 setsect 1 ,0x0 
+0x7539 032717 setsect 2 ,0x3f000 
+0x753a 032718 setsect 3 ,0x3ffff 
+0x753b 032719 istore 9 ,contw 
+0x753c 032720 setsect 0 ,0x296ff 
+0x753d 032721 setsect 1 ,0x22630 
+0x753e 032722 setsect 2 ,0x3945d 
+0x753f 032723 setsect 3 ,0x3d284 
+0x7540 032724 istore 9 ,contw 
+0x7541 032725 setsect 0 ,0x333a0 
+0x7542 032726 setsect 1 ,0x4b7a 
+0x7543 032727 setsect 2 ,0x37d8 
+0x7544 032728 setsect 3 ,0x3c9dc 
+0x7545 032729 istore 9 ,contw 
+0x7546 032730 setsect 0 ,0x3a440 
+0x7547 032731 setsect 1 ,0x1b958 
+0x7548 032732 setsect 2 ,0x38bce 
+0x7549 032733 setsect 3 ,0x1091f 
+0x754a 032734 istore 9 ,contw 
+0x754b 032735 setsect 0 ,0x2e12c 
+0x754c 032736 setsect 1 ,0x1f47c 
+0x754d 032737 setsect 2 ,0x356b1 
+0x754e 032738 setsect 3 ,0x2fd47 
+0x754f 032739 istore 9 ,contw 
+0x7550 032740 setsect 0 ,0x6837 
+0x7551 032741 setsect 1 ,0x2ed90 
+0x7552 032742 setsect 2 ,0x1ecec 
+0x7553 032743 setsect 3 ,0x1acc5 
+0x7554 032744 istore 9 ,contw 
+0x7555 032745 setsect 0 ,0x23357 
+0x7556 032746 setsect 1 ,0x18af3 
+0x7557 032747 setsect 2 ,0xf9e1 
+0x7558 032748 setsect 3 ,0x129f0 
+0x7559 032749 istore 9 ,contw 
+0x755a 032750 setsect 0 ,0x2e7eb 
+0x755b 032751 setsect 1 ,0x3e6e3 
+0x755c 032752 setsect 2 ,0x3e1a7 
+0x755d 032753 setsect 3 ,0x10b8b 
+0x755e 032754 istore 9 ,contw 
+0x755f 032755 setsect 0 ,0x24fe3 
+0x7560 032756 setsect 1 ,0x20ef 
+0x7561 032757 setsect 2 ,0x1b5a6 
+0x7562 032758 setsect 3 ,0xdc2f 
+0x7563 032759 istore 9 ,contw 
+0x7564 032760 setsect 0 ,0x13860 
+0x7565 032761 setsect 1 ,0x2bd69 
+0x7566 032762 setsect 2 ,0x391a 
+0x7567 032763 setsect 3 ,0x1b222 
+0x7568 032764 istore 9 ,contw 
+0x7569 032765 rtn 
+:      032768 publickey_init:
+0x756a 032769 fetch 1 ,mem_ssp_enable 
+0x756b 032770 nbranch sp_initialize ,blank 
+0x756c 032771 branch sp_initialize_256 
+:      032773 sp_calc_sequence_256_check:
+0x756d 032774 bpatchx patch3c_4 ,mem_patch3c 
+0x756e 032775 fetch 1 ,mem_ssp_enable 
+0x756f 032776 rtn blank 
+0x7570 032777 fetch 1 ,mem_sp_local_key_invalid 
+0x7571 032778 rtnne sp_key_valid 
+0x7572 032779 fetch 1 ,mem_le_secure_connect_enable 
+0x7573 032780 rtn blank 
+0x7574 032781 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7575 032782 rtneq sp_key_valid_256 
+0x7576 032783 fetch 2 ,mem_ui_state_map 
+0x7577 032784 bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+0x7578 032785 fetch 1 ,mem_le_sc_calc 
+0x7579 032786 beq sp_calc_standby ,sp_initialize_256 
+0x757a 032787 rtn 
+:      032788 stop_publickey_calc_256:
+0x757b 032789 jam sp_calc_standby ,mem_le_sc_calc 
+0x757c 032790 rtn 
+:      032793 sp_initialize:
+0x757d 032794 bpatchx patch3c_5 ,mem_patch3c 
+0x757e 032795 fetch 1 ,mem_ssp_enable 
+0x757f 032796 branch ssp_disable ,blank 
+0x7580 032797 call ssp_enable 
+0x7581 032798 call sp_clear_flags 
+0x7582 032799 branch sp_pubkey_calc 
+:      032801 sp_clear_flags:
+0x7583 032802 setarg 0 
+0x7584 032803 store 8 ,mem_sp_state_start 
+0x7585 032804 store 4 ,mem_sp_flag_start 
+0x7586 032805 store 7 ,mem_sp_iocap_remote 
+0x7587 032806 rtn 
+:      032808 sp_generate_local_key:
+0x7588 032809 jam sp_flag_commit ,mem_sp_flag 
+0x7589 032810 branch sp_generate_local_key0 
+:      032811 sp_master_generate_local_key:
+0x758a 032812 fetch 1 ,mem_sp_local_key_invalid 
+0x758b 032813 beq sp_key_valid ,sp_dhkey_calc 
+0x758c 032814 branch assert 
+:      032815 sp_generate_local_key0:
+0x758d 032816 fetch 1 ,mem_sp_local_key_invalid 
+0x758e 032817 beq sp_key_valid ,sp_start_send_pubkey 
+0x758f 032818 branch sp_pubkey_calc 
+:      032820 sp_start_send_pubkey:
+0x7590 032821 call sp_dhkey_calc 
+0x7591 032822 fetch 1 ,mem_master_sp_state 
+0x7592 032823 nrtn blank 
+0x7593 032824 jam sp_stat_key_send ,mem_sp_state 
+0x7594 032825 rtn 
+:      032828 sp_calc_check_publickey_256:
+0x7595 032829 call sp_calc_b256 
+0x7596 032830 arg mem_le_pubkey_remote_y_256 ,rega 
+0x7597 032831 arg mem_t7_256 ,contw 
+0x7598 032832 call bn_sqrmod_256 
+0x7599 032833 arg mem_le_pubkey_remote_x_256 ,rega 
+0x759a 032834 arg mem_t2_256 ,contw 
+0x759b 032835 call bn_sqrmod_256 
+0x759c 032836 arg mem_t2_256 ,rega 
+0x759d 032837 arg mem_le_pubkey_remote_x_256 ,regb 
+0x759e 032838 arg mem_t2_256 ,contw 
+0x759f 032839 call bn_mulmod_256 
+0x75a0 032840 arg mem_a_256 ,rega 
+0x75a1 032841 arg mem_le_pubkey_remote_x_256 ,regb 
+0x75a2 032842 arg mem_t3_256 ,contw 
+0x75a3 032843 call bn_mulmod_256 
+0x75a4 032844 arg mem_t3_256 ,rega 
+0x75a5 032845 arg mem_t2_256 ,regb 
+0x75a6 032846 arg mem_t2_256 ,contw 
+0x75a7 032847 call bn_addmod_256 
+0x75a8 032848 arg mem_t0_256 ,rega 
+0x75a9 032849 arg mem_t2_256 ,regb 
+0x75aa 032850 arg mem_t0_256 ,contw 
+0x75ab 032851 call bn_addmod_256 
+0x75ac 032852 arg 32 ,loopcnt 
+0x75ad 032853 arg mem_t7_256 ,rega 
+0x75ae 032854 arg mem_t0_256 ,regb 
+0x75af 032855 branch string_compare 
+:      032857 sp_calc_b256:
+0x75b0 032858 arg mem_gy_256 ,rega 
+0x75b1 032859 arg mem_t0_256 ,contw 
+0x75b2 032860 call bn_sqrmod_256 
+0x75b3 032861 arg mem_gx_256 ,rega 
+0x75b4 032862 arg mem_t2_256 ,contw 
+0x75b5 032863 call bn_sqrmod_256 
+0x75b6 032864 arg mem_t2_256 ,rega 
+0x75b7 032865 arg mem_gx_256 ,regb 
+0x75b8 032866 arg mem_t2_256 ,contw 
+0x75b9 032867 call bn_mulmod_256 
+0x75ba 032868 arg mem_a_256 ,rega 
+0x75bb 032869 arg mem_gx_256 ,regb 
+0x75bc 032870 arg mem_t3_256 ,contw 
+0x75bd 032871 call bn_mulmod_256 
+0x75be 032872 arg mem_t3_256 ,rega 
+0x75bf 032873 arg mem_t2_256 ,regb 
+0x75c0 032874 arg mem_t2_256 ,contw 
+0x75c1 032875 call bn_addmod_256 
+0x75c2 032876 arg mem_t0_256 ,rega 
+0x75c3 032877 arg mem_t2_256 ,regb 
+0x75c4 032878 arg mem_t0_256 ,contw 
+0x75c5 032879 branch bn_submod_256 
+:      032881 sp_calc_check_publickey:
+0x75c6 032882 call sp_calc_b 
+0x75c7 032883 arg mem_sp_pubkey_remote_y ,rega 
+0x75c8 032884 arg mem_t7_256 ,contw 
+0x75c9 032885 call bn_sqrmod 
+0x75ca 032886 arg mem_sp_pubkey_remote_x ,rega 
+0x75cb 032887 arg mem_t2_256 ,contw 
+0x75cc 032888 call bn_sqrmod 
+0x75cd 032889 arg mem_t2_256 ,rega 
+0x75ce 032890 arg mem_sp_pubkey_remote_x ,regb 
+0x75cf 032891 arg mem_t2_256 ,contw 
+0x75d0 032892 call bn_mulmod 
+0x75d1 032893 arg mem_a ,rega 
+0x75d2 032894 arg mem_sp_pubkey_remote_x ,regb 
+0x75d3 032895 arg mem_t3_256 ,contw 
+0x75d4 032896 call bn_mulmod 
+0x75d5 032897 arg mem_t3_256 ,rega 
+0x75d6 032898 arg mem_t2_256 ,regb 
+0x75d7 032899 arg mem_t2_256 ,contw 
+0x75d8 032900 call bn_addmod 
+0x75d9 032901 arg mem_t0_256 ,rega 
+0x75da 032902 arg mem_t2_256 ,regb 
+0x75db 032903 arg mem_t0_256 ,contw 
+0x75dc 032904 call bn_addmod 
+0x75dd 032905 arg 24 ,loopcnt 
+0x75de 032906 arg mem_t7_256 ,rega 
+0x75df 032907 arg mem_t0_256 ,regb 
+0x75e0 032908 branch string_compare 
+:      032910 sp_calc_b:
+0x75e1 032911 arg mem_gy ,rega 
+0x75e2 032912 arg mem_t0_256 ,contw 
+0x75e3 032913 call bn_sqrmod 
+0x75e4 032914 arg mem_gx ,rega 
+0x75e5 032915 arg mem_t2_256 ,contw 
+0x75e6 032916 call bn_sqrmod 
+0x75e7 032917 arg mem_t2_256 ,rega 
+0x75e8 032918 arg mem_gx ,regb 
+0x75e9 032919 arg mem_t2_256 ,contw 
+0x75ea 032920 call bn_mulmod 
+0x75eb 032921 arg mem_a ,rega 
+0x75ec 032922 arg mem_gx ,regb 
+0x75ed 032923 arg mem_t3_256 ,contw 
+0x75ee 032924 call bn_mulmod 
+0x75ef 032925 arg mem_t3_256 ,rega 
+0x75f0 032926 arg mem_t2_256 ,regb 
+0x75f1 032927 arg mem_t2_256 ,contw 
+0x75f2 032928 call bn_addmod 
+0x75f3 032929 arg mem_t0_256 ,rega 
+0x75f4 032930 arg mem_t2_256 ,regb 
+0x75f5 032931 arg mem_t0_256 ,contw 
+0x75f6 032932 branch bn_submod 
+:      032935 sp_calculate_commitment:
+0x75f7 032936 fetch 1 ,mem_sp_calc 
+0x75f8 032937 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+0x75f9 032938 call sp_local_random_key_generator 
+0x75fa 032939 arg mem_sp_prarm_stack ,contw 
+0x75fb 032940 setarg mem_sp_random_local_end 
+0x75fc 032941 istore 2 ,contw 
+0x75fd 032942 setarg mem_sp_pubkey_local_x_end 
+0x75fe 032943 istore 2 ,contw 
+0x75ff 032944 setarg mem_sp_pubkey_remote_x_end 
+0x7600 032945 istore 2 ,contw 
+0x7601 032946 branch sp_calculate_commitment0 
+:      032947 master_sp_calculate_commitment:
+0x7602 032948 arg mem_sp_prarm_stack ,contw 
+0x7603 032949 setarg mem_sp_random_remote_end 
+0x7604 032950 istore 2 ,contw 
+0x7605 032951 setarg mem_sp_pubkey_remote_x_end 
+0x7606 032952 istore 2 ,contw 
+0x7607 032953 setarg mem_sp_pubkey_local_x_end 
+0x7608 032954 istore 2 ,contw 
+:      032955 sp_calculate_commitment0:
+0x7609 032956 call function_f1 
+0x760a 032957 fetch 1 ,mem_master_sp_state 
+0x760b 032958 beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+0x760c 032959 jam sp_flag_commit ,mem_sp_flag 
+0x760d 032960 jam sp_stat_commit_send ,mem_sp_state 
+0x760e 032961 rtn 
+:      032962 master_sp_calculate_commitment0:
+0x760f 032963 jam sp_stat_commitment_compare ,mem_master_sp_state 
+0x7610 032964 call sp_master_generate_local_key 
+0x7611 032965 branch master_set_mem_master_sp_flag 
+:      032967 sp_local_random_key_generator:
+0x7612 032968 arg mem_sp_random_local ,contw 
+0x7613 032969 force 8 ,queue 
+0x7614 032970 branch random_generator 
+:      032972 sp_calculate_commitment_wait_dhkey_calc:
+0x7615 032973 jam sp_flag_commit ,mem_sp_flag 
+0x7616 032974 rtn 
+:      032976 sp_confirm_check:
+0x7617 032978 bpatchx patch3c_6 ,mem_patch3c 
+0x7618 032979 arg mem_addr_value ,contw 
+0x7619 032980 fetch 6 ,mem_lap 
+0x761a 032981 istore 6 ,contw 
+0x761b 032982 fetch 6 ,mem_plap 
+0x761c 032983 istore 6 ,contw 
+0x761d 032984 fetch 3 ,mem_sp_iocap_remote 
+0x761e 032985 istore 3 ,contw 
+0x761f 032987 call function_f3a 
+0x7620 032989 arg mem_sp_calc_result_high ,rega 
+0x7621 032990 arg mem_sp_check_result ,regb 
+0x7622 032991 force 4 ,queue 
+0x7623 032992 call compare4 
+0x7624 032993 nbranch sp_confirm_check_failed ,true 
+0x7625 032995 call sp_confirm_check_success 
+0x7626 032996 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7627 032997 branch tid_set_reply 
+:      032999 sp_confirm_check_success:
+0x7628 033000 fetch 1 ,mem_master_sp_state 
+0x7629 033001 beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+0x762a 033002 jam sp_stat_confirm_calc ,mem_sp_state 
+0x762b 033003 jam sp_flag_commit ,mem_sp_flag 
+0x762c 033004 jam lmp_accepted ,mem_lmo_opcode2 
+0x762d 033005 rtn 
+:      033006 sp_confirm_check_success_master:
+0x762e 033007 jam lmp_accepted ,mem_lmo_opcode2 
+0x762f 033008 jam sp_state_end ,mem_master_sp_state 
+0x7630 033009 branch master_set_mem_master_sp_flag 
+:      033012 sp_confirm_check_failed:
+0x7631 033013 fetch 1 ,mem_master_sp_state 
+0x7632 033014 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+0x7633 033015 jam sp_stat_null ,mem_sp_state 
+0x7634 033016 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x7635 033018 jam authentication_failure_error ,mem_lmo_reason2 
+0x7636 033019 rtn 
+:      033020 sp_confirm_check_failed_master:
+0x7637 033021 jam lmp_not_accepted ,mem_lmo_opcode2 
+0x7638 033022 jam sp_stat_null ,mem_master_sp_state 
+0x7639 033023 rtn 
+:      033025 sp_confirm_calc:
+0x763a 033026 fetch 1 ,mem_sp_dh_ready 
+0x763b 033027 beq sp_flag_commit ,sp_confirm_calc_ready 
+0x763c 033028 jam sp_stat_confirm_calc ,mem_master_sp_state 
+0x763d 033029 branch master_set_mem_master_sp_flag 
+:      033030 sp_confirm_calc_ready:
+0x763e 033031 arg mem_addr_value ,contw 
+0x763f 033032 fetch 6 ,mem_plap 
+0x7640 033033 istore 6 ,contw 
+0x7641 033034 fetch 6 ,mem_lap 
+0x7642 033035 istore 6 ,contw 
+0x7643 033036 fetch 3 ,mem_sp_iocap_local 
+0x7644 033037 istore 3 ,contw 
+0x7645 033039 call function_f3b 
+0x7646 033040 fetch 1 ,mem_master_sp_state 
+0x7647 033041 beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+0x7648 033042 jam sp_stat_confirm_send ,mem_sp_state 
+0x7649 033043 jam sp_flag_commit ,mem_sp_flag 
+0x764a 033044 rtn 
+:      033045 sp_confirm_calc_master:
+0x764b 033046 jam sp_stat_confirm_send ,mem_master_sp_state 
+0x764c 033047 jam sp_flag_commit ,mem_master_sp_flag 
+0x764d 033048 rtn 
+:      033050 sp_master_key_prarm_push:
+0x764e 033051 arg mem_sp_prarm_stack ,contw 
+0x764f 033052 fetch 6 ,mem_plap 
+0x7650 033053 istore 6 ,contw 
+0x7651 033054 fetch 6 ,mem_lap 
+0x7652 033055 istore 6 ,contw 
+0x7653 033056 setarg mem_sp_random_local_end 
+0x7654 033057 istore 2 ,contw 
+0x7655 033058 setarg mem_sp_random_remote_end 
+0x7656 033059 istore 2 ,contw 
+0x7657 033060 branch sp_link_key_calc 
+:      033061 sp_link_key_prarm_push:
+0x7658 033062 jam sp_stat_done ,mem_sp_state 
+0x7659 033063 arg mem_sp_prarm_stack ,contw 
+0x765a 033064 fetch 6 ,mem_lap 
+0x765b 033065 istore 6 ,contw 
+0x765c 033066 fetch 6 ,mem_plap 
+0x765d 033067 istore 6 ,contw 
+0x765e 033068 setarg mem_sp_random_remote_end 
+0x765f 033069 istore 2 ,contw 
+0x7660 033070 setarg mem_sp_random_local_end 
+0x7661 033071 istore 2 ,contw 
+:      033072 sp_link_key_calc:
+0x7662 033074 arg mem_addr_value ,contw 
+0x7663 033075 fetch 6 ,mem_sp_prarm_stack 
+0x7664 033076 istore 6 ,contw 
+0x7665 033077 fetch 6 ,mem_sp_prarm_stack + 6 
+0x7666 033078 istore 6 ,contw 
+0x7667 033080 call function_f2 
+0x7668 033083 jam 1 ,mem_link_key_exists 
+0x7669 033084 arg mem_link_key ,contw 
+0x766a 033085 arg mem_sp_calc_result_high ,contr 
+0x766b 033086 call memcpy16 
+0x766c 033087 branch generate_linkkey_continue 
+:      033090 sp_pubkey_calc:
+0x766d 033091 bpatchx patch3c_7 ,mem_patch3c 
+0x766e 033092 fetch 1 ,mem_sp_local_key_invalid 
+0x766f 033093 rtnne sp_key_invalid 
+0x7670 033094 fetch 1 ,mem_sp_calc 
+0x7671 033095 rtnne sp_calc_standby 
+0x7672 033096 arg mem_sp_private_key ,contw 
+0x7673 033097 force 11 ,queue 
+0x7674 033098 call random_generator 
+0x7675 033099 random pdata 
+0x7676 033100 rshift pdata ,pdata 
+0x7677 033101 istore 2 ,contw 
+0x7678 033103 arg mem_k ,contw 
+0x7679 033104 arg mem_sp_private_key ,contr 
+0x767a 033105 call memcpy24 
+0x767b 033107 arg mem_ax ,contw 
+0x767c 033108 arg mem_gx ,contr 
+0x767d 033109 call memcpy48 
+0x767e 033111 arg mem_az ,contw 
+0x767f 033112 call bn_zero 
+0x7680 033113 jam 1 ,mem_az 
+0x7681 033115 call eckp_calc_init 
+0x7682 033116 jam sp_calc_pubkey ,mem_sp_calc 
+0x7683 033117 rtn 
+:      033119 sp_pubkey_generated:
+0x7684 033120 arg mem_sp_pubkey_local ,contw 
+0x7685 033121 arg mem_bx ,contr 
+0x7686 033122 call memcpy48 
+0x7687 033123 jam sp_key_valid ,mem_sp_local_key_invalid 
+0x7688 033124 jam sp_calc_standby ,mem_sp_calc 
+0x7689 033125 rtn 
+:      033127 sp_dhkey_calc:
+0x768a 033128 bpatchx patch3d_0 ,mem_patch3d 
+0x768b 033129 fetch 1 ,mem_sp_dhkey_invalid 
+0x768c 033130 rtnne sp_key_invalid 
+0x768d 033131 fetch 1 ,mem_sp_calc 
+0x768e 033132 rtnne sp_calc_standby 
+0x768f 033134 arg mem_k ,contw 
+0x7690 033135 arg mem_sp_private_key ,contr 
+0x7691 033136 call memcpy24 
+0x7692 033138 arg mem_ax ,contw 
+0x7693 033139 arg mem_sp_pubkey_remote ,contr 
+0x7694 033140 call memcpy48 
+0x7695 033142 arg mem_az ,contw 
+0x7696 033143 call bn_zero 
+0x7697 033144 jam 1 ,mem_az 
+0x7698 033146 call eckp_calc_init 
+0x7699 033147 jam sp_calc_dhkey ,mem_sp_calc 
+0x769a 033148 rtn 
+:      033150 sp_dhkey_generated:
+0x769b 033151 jam sp_flag_commit ,mem_sp_dh_ready 
+0x769c 033152 arg mem_sp_dhkey ,contw 
+0x769d 033153 arg mem_bx ,contr 
+0x769e 033154 call memcpy24 
+0x769f 033155 jam sp_key_valid ,mem_sp_dhkey_invalid 
+0x76a0 033156 jam sp_calc_standby ,mem_sp_calc 
+0x76a1 033157 rtn 
+:      033159 random_generator:
+0x76a2 033160 increase -1 ,queue 
+0x76a3 033161 nrtn positive 
+0x76a4 033162 random pdata 
+0x76a5 033163 istore 2 ,contw 
+0x76a6 033164 branch random_generator 
+:      033165 compare4:
+0x76a7 033166 increase -1 ,queue 
+0x76a8 033167 nbranch compare4_success ,positive 
+0x76a9 033168 ifetch 4 ,rega 
+0x76aa 033169 copy pdata ,temp 
+0x76ab 033170 ifetch 4 ,regb 
+0x76ac 033171 iflip temp ,pdata 
+0x76ad 033172 nbranch compare4_failed ,zero 
+0x76ae 033173 increase 4 ,rega 
+0x76af 033174 increase 4 ,regb 
+0x76b0 033175 branch compare4 
+:      033176 compare4_failed:
+0x76b1 033177 disable true 
+0x76b2 033178 rtn 
+:      033179 compare4_success:
+0x76b3 033180 enable true 
+0x76b4 033181 rtn 
+:      033188 simple_pairing_sequence:
+0x76b5 033189 bpatchx patch3d_1 ,mem_patch3d 
+0x76b6 033190 fetch 1 ,mem_sp_flag 
+0x76b7 033191 rtn blank 
+0x76b8 033192 call lmo_fifo_check 
+0x76b9 033193 nrtn blank 
+0x76ba 033194 jam sp_flag_standby ,mem_sp_flag 
+0x76bb 033195 fetch 1 ,mem_sp_state 
+0x76bc 033196 beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+0x76bd 033197 beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+0x76be 033198 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+0x76bf 033199 beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+0x76c0 033200 beq sp_stat_key_generate ,sp_generate_local_key 
+0x76c1 033201 beq sp_stat_commit_calc ,sp_calculate_commitment 
+0x76c2 033202 beq sp_stat_confirm_check ,sp_confirm_check 
+0x76c3 033203 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x76c4 033204 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+0x76c5 033206 rtn 
+:      033208 master_simple_paring_sequence:
+0x76c6 033209 bpatchx patch3d_2 ,mem_patch3d 
+0x76c7 033210 fetch 1 ,mem_master_sp_flag 
+0x76c8 033211 rtn blank 
+0x76c9 033212 call lmo_fifo_check 
+0x76ca 033213 nrtn blank 
+0x76cb 033214 jam sp_flag_standby ,mem_master_sp_flag 
+0x76cc 033215 fetch 1 ,mem_master_sp_state 
+0x76cd 033216 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+0x76ce 033217 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+0x76cf 033218 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+0x76d0 033219 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+0x76d1 033220 beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+0x76d2 033221 beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+0x76d3 033222 beq sp_stat_confirm_calc ,sp_confirm_calc 
+0x76d4 033223 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+0x76d5 033224 beq sp_stat_confirm_check ,sp_confirm_check 
+0x76d6 033225 beq sp_state_end ,master_sp_sm_end 
+0x76d7 033226 rtn 
+:      033228 master_set_mem_master_sp_flag:
+0x76d8 033229 jam sp_flag_commit ,mem_master_sp_flag 
+0x76d9 033230 rtn 
+:      033232 master_clear_mem_master_sp_flag:
+0x76da 033233 jam sp_flag_standby ,mem_master_sp_flag 
+0x76db 033234 rtn 
+:      033235 sp_calc_sequence:
+0x76dc 033236 bpatchx patch3d_3 ,mem_patch3d 
+0x76dd 033237 fetch 1 ,mem_ssp_enable 
+0x76de 033238 rtn blank 
+0x76df 033239 fetch 1 ,mem_sp_calc 
+0x76e0 033240 rtn blank 
+0x76e1 033241 increase 0x80 ,pdata 
+0x76e2 033242 store 1 ,mem_sp_calc 
+0x76e3 033243 rtnbit1 7 
+0x76e4 033244 fetch 1 ,mem_ec_loopc 
+0x76e5 033245 branch sp_calc_sequence_done ,blank 
+0x76e6 033246 branch eckp_calc 
+:      033248 sp_calc_sequence_done:
+0x76e7 033249 call ecunmapz 
+0x76e8 033250 fetch 1 ,mem_sp_calc 
+0x76e9 033251 beq sp_calc_pubkey ,sp_pubkey_generated 
+0x76ea 033252 beq sp_calc_dhkey ,sp_dhkey_generated 
+0x76eb 033253 rtn 
+:      033256 bn_testbit:
+0x76ec 033257 and pdata ,7 ,queue 
+0x76ed 033258 rshift3 pdata ,pdata 
+0x76ee 033259 iadd contr ,contr 
+0x76ef 033260 ifetch 1 ,contr 
+0x76f0 033261 qisolate0 pdata 
+0x76f1 033262 rtn 
+:      033265 ec_copy:
+0x76f2 033266 call memcpy24 
+0x76f3 033267 call memcpy24 
+0x76f4 033268 branch memcpy24 
+:      033271 bn_eq_zero:
+0x76f5 033272 ifetch 8 ,contr 
+0x76f6 033273 nrtn blank 
+0x76f7 033274 ifetch 8 ,contr 
+0x76f8 033275 nrtn blank 
+0x76f9 033276 ifetch 8 ,contr 
+0x76fa 033277 rtn 
+:      033282 bn_eq_0:
+0x76fb 033283 ifetch 4 ,rega 
+0x76fc 033284 iforce temp 
+0x76fd 033285 ifetch 4 ,regb 
+0x76fe 033286 isub temp ,null 
+0x76ff 033287 nrtn zero 
+0x7700 033288 increase 4 ,rega 
+0x7701 033289 increase 4 ,regb 
+0x7702 033290 loop bn_eq_0 
+0x7703 033291 rtn 
+:      033294 bn_bigeq:
+0x7704 033295 force 6 ,loopcnt 
+0x7705 033296 increase 20 ,rega 
+0x7706 033297 increase 20 ,regb 
+:      033298 bn_bigeq_0:
+0x7707 033299 ifetch 4 ,regb 
+0x7708 033300 iforce temp 
+0x7709 033301 ifetch 4 ,rega 
+0x770a 033302 isub temp ,pdata 
+0x770b 033303 nrtn positive 
+0x770c 033304 nrtn blank 
+0x770d 033305 increase -4 ,rega 
+0x770e 033306 increase -4 ,regb 
+0x770f 033307 loop bn_bigeq_0 
+0x7710 033308 rtn 
+:      033310 bn_add:
+0x7711 033311 force 6 ,loopcnt 
+0x7712 033312 force 0 ,regc 
+:      033313 bn_add_0:
+0x7713 033314 ifetch 4 ,rega 
+0x7714 033315 iforce temp 
+0x7715 033316 ifetch 4 ,regb 
+0x7716 033317 iadd temp ,pdata 
+0x7717 033318 iadd regc ,pdata 
+0x7718 033319 istore 4 ,contw 
+0x7719 033320 isolate1 32 ,pdata 
+0x771a 033321 setflag true ,0 ,regc 
+0x771b 033322 increase 4 ,rega 
+0x771c 033323 increase 4 ,regb 
+0x771d 033324 loop bn_add_0 
+0x771e 033325 rtn 
+:      033327 bn_sub:
+0x771f 033328 force 6 ,loopcnt 
+0x7720 033329 force 0 ,regc 
+:      033330 bn_sub_0:
+0x7721 033331 ifetch 4 ,regb 
+0x7722 033332 iforce temp 
+0x7723 033333 ifetch 4 ,rega 
+0x7724 033334 isub temp ,pdata 
+0x7725 033335 isub regc ,pdata 
+0x7726 033336 istore 4 ,contw 
+0x7727 033337 isolate1 32 ,pdata 
+0x7728 033338 setflag true ,0 ,regc 
+0x7729 033339 increase 4 ,rega 
+0x772a 033340 increase 4 ,regb 
+0x772b 033341 loop bn_sub_0 
+0x772c 033342 rtn 
+:      033344 bn_rshift6:
+0x772d 033345 force 6 ,loopcnt 
+0x772e 033346 increase 20 ,rega 
+:      033347 bn_rshift:
+0x772f 033348 force 0 ,regc 
+:      033349 bn_rshift_0:
+0x7730 033350 ifetch 4 ,rega 
+0x7731 033351 isolate1 0 ,pdata 
+0x7732 033352 setflag true ,1 ,regc 
+0x7733 033353 rshift pdata ,pdata 
+0x7734 033354 isolate1 0 ,regc 
+0x7735 033355 setflag true ,31 ,pdata 
+0x7736 033356 istore 4 ,rega 
+0x7737 033357 increase -4 ,rega 
+0x7738 033358 rshift regc ,regc 
+0x7739 033359 loop bn_rshift_0 
+0x773a 033360 rtn 
+:      033362 bn_lshift:
+0x773b 033363 force 6 ,loopcnt 
+0x773c 033364 force 0 ,regc 
+:      033365 bn_lshift_0:
+0x773d 033366 ifetch 4 ,rega 
+0x773e 033367 isolate1 31 ,pdata 
+0x773f 033368 setflag true ,1 ,regc 
+0x7740 033369 lshift pdata ,pdata 
+0x7741 033370 isolate1 0 ,regc 
+0x7742 033371 setflag true ,0 ,pdata 
+0x7743 033372 istore 4 ,rega 
+0x7744 033373 increase 4 ,rega 
+0x7745 033374 rshift regc ,regc 
+0x7746 033375 loop bn_lshift_0 
+0x7747 033376 rtn 
+:      033378 bn_lshiftmod:
+0x7748 033379 call bn_lshift 
+:      033380 bn_lshiftmod_ismod:
+0x7749 033381 isolate1 0 ,regc 
+0x774a 033382 branch bn_lshiftmod_0 ,true 
+0x774b 033383 arg mem_p ,regb 
+0x774c 033384 copy rega ,regc 
+0x774d 033385 increase -24 ,rega 
+0x774e 033386 call bn_bigeq 
+0x774f 033387 nrtn positive 
+0x7750 033388 copy regc ,rega 
+:      033389 bn_lshiftmod_0:
+0x7751 033390 increase -24 ,rega 
+0x7752 033391 arg mem_p ,regb 
+0x7753 033392 copy rega ,contw 
+0x7754 033393 branch bn_sub 
+:      033396 bn_addmod:
+0x7755 033397 call bn_add 
+0x7756 033398 copy contw ,rega 
+0x7757 033399 branch bn_lshiftmod_ismod 
+:      033401 bn_submod:
+0x7758 033402 call bn_sub 
+0x7759 033403 isolate0 0 ,regc 
+0x775a 033404 rtn true 
+0x775b 033405 arg mem_p ,regb 
+0x775c 033406 add contw ,-24 ,rega 
+0x775d 033407 copy rega ,contw 
+0x775e 033408 branch bn_add 
+:      033411 bn_p192mod:
+0x775f 033412 copy contw ,timeup 
+0x7760 033413 copy rega ,alarm 
+0x7761 033414 arg mem_tmp2 ,regb 
+0x7762 033415 copy regb ,contw 
+0x7763 033416 add rega ,24 ,contr 
+0x7764 033417 ifetch 8 ,contr 
+0x7765 033418 istore 8 ,contw 
+0x7766 033419 istore 8 ,contw 
+0x7767 033420 force 0 ,pdata 
+0x7768 033421 istore 8 ,contw 
+0x7769 033422 copy timeup ,contw 
+0x776a 033423 call bn_addmod 
+0x776b 033424 arg mem_tmp2 ,regb 
+0x776c 033425 copy regb ,contw 
+0x776d 033426 force 0 ,pdata 
+0x776e 033427 istore 8 ,contw 
+0x776f 033428 add alarm ,32 ,contr 
+0x7770 033429 ifetch 8 ,contr 
+0x7771 033430 istore 8 ,contw 
+0x7772 033431 istore 8 ,contw 
+0x7773 033432 copy timeup ,rega 
+0x7774 033433 copy rega ,contw 
+0x7775 033434 call bn_addmod 
+0x7776 033435 arg mem_tmp2 ,regb 
+0x7777 033436 copy regb ,contw 
+0x7778 033437 add alarm ,40 ,contr 
+0x7779 033438 ifetch 8 ,contr 
+0x777a 033439 istore 8 ,contw 
+0x777b 033440 istore 8 ,contw 
+0x777c 033441 istore 8 ,contw 
+0x777d 033442 copy timeup ,rega 
+0x777e 033443 copy rega ,contw 
+0x777f 033444 branch bn_addmod 
+:      033447 bn_load:
+0x7780 033448 force 6 ,loopcnt 
+:      033449 bn_load_0:
+0x7781 033450 ifetch 4 ,contr 
+0x7782 033451 iforce regext 
+0x7783 033452 increase 1 ,regext_index 
+0x7784 033453 loop bn_load_0 
+0x7785 033454 rtn 
+:      033458 bn_mulmod:
+0x7786 033459 copy contw ,timeup 
+0x7787 033460 arg mem_tmp1 ,contw 
+0x7788 033461 call bn_zero 
+0x7789 033462 arg mem_tmp1 ,contw 
+0x778a 033463 copy rega ,contr 
+0x778b 033464 force 0 ,regext_index 
+0x778c 033465 call bn_load 
+0x778d 033466 copy regb ,contr 
+0x778e 033467 call bn_load 
+0x778f 033468 force 0 ,regb 
+:      033469 bn_mulmod_1:
+0x7790 033470 force 0 ,temp 
+0x7791 033471 force 6 ,regc 
+:      033472 bn_mulmod_0:
+0x7792 033473 ifetch 4 ,contw 
+0x7793 033474 iforce rega 
+0x7794 033475 copy regb ,regext_index 
+0x7795 033476 deposit regext 
+0x7796 033477 copy regc ,regext_index 
+0x7797 033478 imul32 regext ,pdata 
+0x7798 033479 iadd rega ,pdata 
+0x7799 033480 iadd temp ,pdata 
+0x779a 033481 istore 4 ,contw 
+0x779b 033482 rshift32 pdata ,temp 
+0x779c 033483 increase 1 ,regc 
+0x779d 033484 compare 12 ,regc ,0xff 
+0x779e 033485 nbranch bn_mulmod_0 ,true 
+0x779f 033486 deposit temp 
+0x77a0 033487 istore 4 ,contw 
+0x77a1 033488 increase -24 ,contw 
+0x77a2 033489 increase 1 ,regb 
+0x77a3 033490 compare 6 ,regb ,0xff 
+0x77a4 033491 nbranch bn_mulmod_1 ,true 
+0x77a5 033492 arg mem_tmp1 ,rega 
+0x77a6 033493 copy timeup ,contw 
+0x77a7 033494 branch bn_p192mod 
+:      033497 bn_sqrmod:
+0x77a8 033498 copy rega ,regb 
+0x77a9 033499 branch bn_mulmod 
+:      033501 bn_rshifteven:
+0x77aa 033502 copy rega ,alarm 
+:      033503 bn_rshifteven_1:
+0x77ab 033504 copy alarm ,rega 
+0x77ac 033505 ifetch 1 ,rega 
+0x77ad 033506 isolate1 0 ,pdata 
+0x77ae 033507 rtn true 
+0x77af 033508 call bn_rshift6 
+0x77b0 033509 ifetch 1 ,regb 
+0x77b1 033510 isolate0 0 ,pdata 
+0x77b2 033511 branch bn_rshifteven_0 ,true 
+0x77b3 033512 arg mem_p ,rega 
+0x77b4 033513 copy regb ,contw 
+0x77b5 033514 call bn_add 
+0x77b6 033515 ifetch 1 ,regb 
+0x77b7 033516 iadd regc ,pdata 
+0x77b8 033517 istore 1 ,regb 
+0x77b9 033518 increase -24 ,regb 
+:      033519 bn_rshifteven_0:
+0x77ba 033520 add regb ,24 ,rega 
+0x77bb 033521 force 7 ,loopcnt 
+0x77bc 033522 call bn_rshift 
+0x77bd 033523 branch bn_rshifteven_1 
+:      033526 bn_invmod:
+0x77be 033527 copy contw ,timeup 
+0x77bf 033528 arg mem_tmp0 ,contw 
+0x77c0 033529 call bn_zero 
+0x77c1 033530 force 0 ,pdata 
+0x77c2 033531 store 4 ,mem_tmp5 
+0x77c3 033532 store 4 ,mem_t2 
+0x77c4 033533 jam 1 ,mem_tmp0 
+0x77c5 033534 arg mem_tmp1 ,contw 
+0x77c6 033535 call bn_zero 
+0x77c7 033536 arg mem_p ,contr 
+0x77c8 033537 arg mem_tmp2 ,contw 
+0x77c9 033538 call memcpy24 
+0x77ca 033539 copy rega ,contr 
+0x77cb 033540 arg mem_tmp3 ,contw 
+0x77cc 033541 call memcpy24 
+:      033542 bn_invmod_2:
+0x77cd 033543 arg mem_tmp3 ,contr 
+0x77ce 033544 call bn_eq_zero 
+0x77cf 033545 branch bn_invmod_0 ,blank 
+0x77d0 033546 arg mem_tmp3 ,rega 
+0x77d1 033547 arg mem_tmp0 ,regb 
+0x77d2 033548 call bn_rshifteven 
+0x77d3 033550 arg mem_tmp2 ,rega 
+0x77d4 033551 arg mem_tmp1 ,regb 
+0x77d5 033552 call bn_rshifteven 
+0x77d6 033553 arg mem_tmp3 ,rega 
+0x77d7 033554 arg mem_tmp2 ,regb 
+0x77d8 033555 call bn_bigeq 
+0x77d9 033556 branch bn_invmod_1 ,positive 
+0x77da 033557 arg mem_tmp2 ,rega 
+0x77db 033558 arg mem_tmp3 ,regb 
+0x77dc 033559 copy rega ,contw 
+0x77dd 033560 call bn_sub 
+0x77de 033561 arg mem_tmp0 ,rega 
+0x77df 033562 arg mem_tmp1 ,regb 
+0x77e0 033563 copy regb ,contw 
+0x77e1 033564 call bn_add 
+0x77e2 033565 ifetch 1 ,rega 
+0x77e3 033566 iadd regc ,regc 
+0x77e4 033567 ifetch 1 ,regb 
+0x77e5 033568 iadd regc ,pdata 
+0x77e6 033569 istore 1 ,regb 
+0x77e7 033570 branch bn_invmod_2 
+:      033571 bn_invmod_1:
+0x77e8 033572 arg mem_tmp3 ,rega 
+0x77e9 033573 arg mem_tmp2 ,regb 
+0x77ea 033574 copy rega ,contw 
+0x77eb 033575 call bn_sub 
+0x77ec 033576 arg mem_tmp1 ,rega 
+0x77ed 033577 arg mem_tmp0 ,regb 
+0x77ee 033578 copy regb ,contw 
+0x77ef 033579 call bn_add 
+0x77f0 033580 ifetch 1 ,rega 
+0x77f1 033581 iadd regc ,regc 
+0x77f2 033582 ifetch 1 ,regb 
+0x77f3 033583 iadd regc ,pdata 
+0x77f4 033584 istore 1 ,regb 
+0x77f5 033585 branch bn_invmod_2 
+:      033586 bn_invmod_0:
+0x77f6 033587 arg mem_tmp0 ,contw 
+0x77f7 033588 call bn_zero 
+0x77f8 033589 fetch 1 ,mem_tmp5 
+0x77f9 033590 store 1 ,mem_tmp0 
+0x77fa 033591 store 1 ,mem_tmp0a 
+0x77fb 033592 arg mem_tmp0 ,rega 
+0x77fc 033593 arg mem_tmp1 ,regb 
+0x77fd 033594 copy regb ,contw 
+0x77fe 033595 call bn_addmod 
+0x77ff 033596 arg mem_p ,rega 
+0x7800 033597 arg mem_tmp1 ,regb 
+0x7801 033598 copy timeup ,contw 
+0x7802 033599 branch bn_submod 
+:      033604 ecdbl:
+0x7803 033605 arg mem_cz ,rega 
+0x7804 033606 arg mem_t2 ,contw 
+0x7805 033607 call bn_sqrmod 
+0x7806 033608 arg mem_t2 ,rega 
+0x7807 033609 arg mem_t3 ,contw 
+0x7808 033610 call bn_sqrmod 
+0x7809 033611 arg mem_a ,rega 
+0x780a 033612 arg mem_t3 ,regb 
+0x780b 033613 arg mem_t3 ,contw 
+0x780c 033614 call bn_mulmod 
+0x780d 033615 arg mem_cx ,rega 
+0x780e 033616 arg mem_t2 ,contw 
+0x780f 033617 call bn_sqrmod 
+0x7810 033618 arg mem_t2 ,contr 
+0x7811 033619 arg mem_t1 ,contw 
+0x7812 033620 call memcpy24 
+0x7813 033621 arg mem_t1 ,rega 
+0x7814 033622 call bn_lshiftmod 
+0x7815 033623 arg mem_t2 ,rega 
+0x7816 033624 arg mem_t1 ,regb 
+0x7817 033625 arg mem_t2 ,contw 
+0x7818 033626 call bn_addmod 
+0x7819 033627 arg mem_t2 ,rega 
+0x781a 033628 arg mem_t3 ,regb 
+0x781b 033629 arg mem_t2 ,contw 
+0x781c 033630 call bn_addmod 
+0x781d 033631 arg mem_cx ,contr 
+0x781e 033632 arg mem_t1 ,contw 
+0x781f 033633 call memcpy24 
+0x7820 033634 arg mem_cy ,rega 
+0x7821 033635 arg mem_t3 ,contw 
+0x7822 033636 call bn_sqrmod 
+0x7823 033637 arg mem_t1 ,rega 
+0x7824 033638 call bn_lshiftmod 
+0x7825 033639 arg mem_t1 ,rega 
+0x7826 033640 call bn_lshiftmod 
+0x7827 033641 arg mem_t1 ,rega 
+0x7828 033642 arg mem_t3 ,regb 
+0x7829 033643 arg mem_t1 ,contw 
+0x782a 033644 call bn_mulmod 
+0x782b 033645 arg mem_t3 ,rega 
+0x782c 033646 arg mem_t0 ,contw 
+0x782d 033647 call bn_sqrmod 
+0x782e 033648 arg mem_t0 ,rega 
+0x782f 033649 call bn_lshiftmod 
+0x7830 033650 arg mem_t0 ,rega 
+0x7831 033651 call bn_lshiftmod 
+0x7832 033652 arg mem_t0 ,rega 
+0x7833 033653 call bn_lshiftmod 
+0x7834 033654 arg mem_cy ,contr 
+0x7835 033655 arg mem_t3 ,contw 
+0x7836 033656 call memcpy24 
+0x7837 033657 arg mem_t3 ,rega 
+0x7838 033658 call bn_lshiftmod 
+0x7839 033659 arg mem_t3 ,rega 
+0x783a 033660 arg mem_cz ,regb 
+0x783b 033661 arg mem_cz ,contw 
+0x783c 033662 call bn_mulmod 
+0x783d 033663 arg mem_t2 ,rega 
+0x783e 033664 arg mem_t3 ,contw 
+0x783f 033665 call bn_sqrmod 
+0x7840 033666 arg mem_t3 ,rega 
+0x7841 033667 arg mem_t1 ,regb 
+0x7842 033668 arg mem_t3 ,contw 
+0x7843 033669 call bn_submod 
+0x7844 033670 arg mem_t3 ,rega 
+0x7845 033671 arg mem_t1 ,regb 
+0x7846 033672 arg mem_cx ,contw 
+0x7847 033673 call bn_submod 
+0x7848 033674 arg mem_t1 ,rega 
+0x7849 033675 arg mem_cx ,regb 
+0x784a 033676 arg mem_t3 ,contw 
+0x784b 033677 call bn_submod 
+0x784c 033678 arg mem_t3 ,rega 
+0x784d 033679 arg mem_t2 ,regb 
+0x784e 033680 arg mem_t3 ,contw 
+0x784f 033681 call bn_mulmod 
+0x7850 033682 arg mem_t3 ,rega 
+0x7851 033683 arg mem_t0 ,regb 
+0x7852 033684 arg mem_cy ,contw 
+0x7853 033685 branch bn_submod 
+:      033689 ecadd:
+0x7854 033690 arg mem_az ,rega 
+0x7855 033691 arg mem_t7 ,contw 
+0x7856 033692 call bn_sqrmod 
+0x7857 033693 arg mem_cx ,rega 
+0x7858 033694 arg mem_t7 ,regb 
+0x7859 033695 arg mem_t0 ,contw 
+0x785a 033696 call bn_mulmod 
+0x785b 033697 arg mem_az ,rega 
+0x785c 033698 arg mem_t7 ,regb 
+0x785d 033699 arg mem_t7 ,contw 
+0x785e 033700 call bn_mulmod 
+0x785f 033701 arg mem_cy ,rega 
+0x7860 033702 arg mem_t7 ,regb 
+0x7861 033703 arg mem_t1 ,contw 
+0x7862 033704 call bn_mulmod 
+0x7863 033705 arg mem_cz ,rega 
+0x7864 033706 arg mem_t7 ,contw 
+0x7865 033707 call bn_sqrmod 
+0x7866 033708 arg mem_ax ,rega 
+0x7867 033709 arg mem_t7 ,regb 
+0x7868 033710 arg mem_t2 ,contw 
+0x7869 033711 call bn_mulmod 
+0x786a 033712 arg mem_cz ,rega 
+0x786b 033713 arg mem_t7 ,regb 
+0x786c 033714 arg mem_t7 ,contw 
+0x786d 033715 call bn_mulmod 
+0x786e 033716 arg mem_ay ,rega 
+0x786f 033717 arg mem_t7 ,regb 
+0x7870 033718 arg mem_t3 ,contw 
+0x7871 033719 call bn_mulmod 
+0x7872 033720 arg mem_t0 ,rega 
+0x7873 033721 arg mem_t2 ,regb 
+0x7874 033722 arg mem_t7 ,contw 
+0x7875 033723 call bn_submod 
+0x7876 033724 arg mem_t0 ,rega 
+0x7877 033725 arg mem_t2 ,regb 
+0x7878 033726 arg mem_t0 ,contw 
+0x7879 033727 call bn_addmod 
+0x787a 033728 arg mem_t1 ,rega 
+0x787b 033729 arg mem_t3 ,regb 
+0x787c 033730 arg mem_t2 ,contw 
+0x787d 033731 call bn_submod 
+0x787e 033732 arg mem_t1 ,rega 
+0x787f 033733 arg mem_t3 ,regb 
+0x7880 033734 arg mem_t1 ,contw 
+0x7881 033735 call bn_addmod 
+0x7882 033736 arg mem_t1 ,rega 
+0x7883 033737 arg mem_t7 ,regb 
+0x7884 033738 arg mem_t1 ,contw 
+0x7885 033739 call bn_mulmod 
+0x7886 033740 arg mem_cz ,rega 
+0x7887 033741 arg mem_az ,regb 
+0x7888 033742 arg mem_t3 ,contw 
+0x7889 033743 call bn_mulmod 
+0x788a 033744 arg mem_t3 ,rega 
+0x788b 033745 arg mem_t7 ,regb 
+0x788c 033746 arg mem_cz ,contw 
+0x788d 033747 call bn_mulmod 
+0x788e 033748 arg mem_t7 ,rega 
+0x788f 033749 arg mem_t7 ,contw 
+0x7890 033750 call bn_sqrmod 
+0x7891 033751 arg mem_t7 ,rega 
+0x7892 033752 arg mem_t0 ,regb 
+0x7893 033753 arg mem_t3 ,contw 
+0x7894 033754 call bn_mulmod 
+0x7895 033755 arg mem_t7 ,rega 
+0x7896 033756 arg mem_t1 ,regb 
+0x7897 033757 arg mem_t1 ,contw 
+0x7898 033758 call bn_mulmod 
+0x7899 033759 arg mem_t2 ,rega 
+0x789a 033760 arg mem_cx ,contw 
+0x789b 033761 call bn_sqrmod 
+0x789c 033762 arg mem_cx ,rega 
+0x789d 033763 arg mem_t3 ,regb 
+0x789e 033764 arg mem_cx ,contw 
+0x789f 033765 call bn_submod 
+0x78a0 033766 arg mem_cx ,contr 
+0x78a1 033767 arg mem_t7 ,contw 
+0x78a2 033768 call memcpy24 
+0x78a3 033769 arg mem_t7 ,rega 
+0x78a4 033770 call bn_lshiftmod 
+0x78a5 033771 arg mem_t3 ,rega 
+0x78a6 033772 arg mem_t7 ,regb 
+0x78a7 033773 arg mem_t3 ,contw 
+0x78a8 033774 call bn_submod 
+0x78a9 033775 arg mem_t3 ,rega 
+0x78aa 033776 arg mem_t2 ,regb 
+0x78ab 033777 arg mem_t2 ,contw 
+0x78ac 033778 call bn_mulmod 
+0x78ad 033779 arg mem_t2 ,rega 
+0x78ae 033780 arg mem_t1 ,regb 
+0x78af 033781 arg mem_cy ,contw 
+0x78b0 033782 call bn_submod 
+0x78b1 033783 arg mem_cy ,rega 
+0x78b2 033784 arg mem_p ,regb 
+0x78b3 033785 arg mem_cy ,contw 
+0x78b4 033786 force 0 ,regc 
+0x78b5 033787 fetch 1 ,mem_cy 
+0x78b6 033788 isolate1 0 ,pdata 
+0x78b7 033789 call bn_add ,true 
+0x78b8 033790 copy regc ,alarm 
+0x78b9 033791 arg mem_cy ,rega 
+0x78ba 033792 call bn_rshift6 
+0x78bb 033793 fetch 1 ,mem_cy5 
+0x78bc 033794 isolate1 0 ,alarm 
+0x78bd 033795 setflag true ,7 ,pdata 
+0x78be 033796 store 1 ,mem_cy5 
+0x78bf 033797 rtn 
+:      033801 eckp_0:
+0x78c0 033802 fetch 1 ,mem_ec_loopc 
+0x78c1 033803 increase -1 ,pdata 
+0x78c2 033804 nrtn positive 
+0x78c3 033805 store 1 ,mem_ec_loopc 
+0x78c4 033806 fetch 1 ,mem_ec_infinite 
+0x78c5 033807 call ecdbl ,blank 
+0x78c6 033808 fetch 1 ,mem_ec_loopc 
+0x78c7 033809 arg mem_k ,contr 
+0x78c8 033810 call bn_testbit 
+0x78c9 033811 branch eckp_0 ,true 
+0x78ca 033812 fetch 1 ,mem_ec_infinite 
+0x78cb 033813 nbranch eckp_1 ,blank 
+0x78cc 033814 call ecadd 
+0x78cd 033815 branch eckp_0 
+:      033816 eckp_1:
+0x78ce 033817 jam 0 ,mem_ec_infinite 
+0x78cf 033818 arg mem_ax ,contr 
+0x78d0 033819 arg mem_cx ,contw 
+0x78d1 033820 call ec_copy 
+0x78d2 033821 branch eckp_0 
+:      033824 ecunmapz:
+0x78d3 033825 arg mem_cz ,rega 
+0x78d4 033826 arg mem_t3 ,contw 
+0x78d5 033827 call bn_invmod 
+0x78d6 033828 arg mem_t3 ,rega 
+0x78d7 033829 arg mem_t1 ,contw 
+0x78d8 033830 call bn_sqrmod 
+0x78d9 033831 arg mem_cx ,rega 
+0x78da 033832 arg mem_t1 ,regb 
+0x78db 033833 arg mem_bx ,contw 
+0x78dc 033834 call bn_mulmod 
+0x78dd 033835 arg mem_t3 ,rega 
+0x78de 033836 arg mem_t1 ,regb 
+0x78df 033837 arg mem_t2 ,contw 
+0x78e0 033838 call bn_mulmod 
+0x78e1 033839 arg mem_cy ,rega 
+0x78e2 033840 arg mem_t2 ,regb 
+0x78e3 033841 arg mem_by ,contw 
+0x78e4 033842 branch bn_mulmod 
+:      033846 sha_endian_swap2:
+0x78e5 033847 ifetch 4 ,contr 
+0x78e6 033848 force 4 ,rega 
+0x78e7 033849 increase 3 ,contw 
+:      033850 sha_endian_loop:
+0x78e8 033851 istore 1 ,contw 
+0x78e9 033852 rshift8 pdata ,pdata 
+0x78ea 033853 increase -2 ,contw 
+0x78eb 033854 increase -1 ,rega 
+0x78ec 033855 nbranch sha_endian_loop ,zero 
+0x78ed 033856 increase 5 ,contw 
+0x78ee 033857 loop sha_endian_swap2 
+0x78ef 033858 rtn 
+:      033861 sha_getw:
+0x78f0 033862 lshift2 queue ,pdata 
+0x78f1 033863 iadd timeup ,contr 
+0x78f2 033864 ifetch 4 ,contr 
+0x78f3 033865 rtn 
+:      033867 sha_r:
+0x78f4 033868 force 16 ,alarm 
+0x78f5 033869 arg memdat ,timeup 
+:      033870 sha_r_loop:
+0x78f6 033871 add alarm ,-7 ,queue 
+0x78f7 033872 call sha_getw 
+0x78f8 033873 iforce temp 
+0x78f9 033874 add alarm ,-16 ,queue 
+0x78fa 033875 call sha_getw 
+0x78fb 033876 iadd temp ,temp 
+0x78fc 033877 add alarm ,-2 ,queue 
+0x78fd 033878 call sha_getw 
+0x78fe 033879 shasx pdata ,1 ,pdata 
+0x78ff 033880 iadd temp ,temp 
+0x7900 033881 add alarm ,-15 ,queue 
+0x7901 033882 call sha_getw 
+0x7902 033883 shasx pdata ,0 ,pdata 
+0x7903 033884 iadd temp ,temp 
+0x7904 033885 lshift2 alarm ,pdata 
+0x7905 033886 iadd timeup ,contw 
+0x7906 033887 istoret 4 ,contw 
+0x7907 033888 increase 1 ,alarm 
+0x7908 033889 compare 64 ,alarm ,0xff 
+0x7909 033890 nbranch sha_r_loop ,true 
+0x790a 033891 rtn 
+:      033894 sha_init:
+0x790b 033895 arg memh0 ,contr 
+0x790c 033896 force 7 ,regext_index 
+:      033897 sha_init_0:
+0x790d 033898 ifetch 4 ,contr 
+0x790e 033899 iforce regext 
+0x790f 033900 increase -1 ,regext_index 
+0x7910 033901 branch sha_init_0 ,positive 
+0x7911 033902 rtn 
+:      033904 sha:
+0x7912 033905 bpatchx patch3d_4 ,mem_patch3d 
+0x7913 033906 call sha_r 
+0x7914 033907 arg memahbak ,contw 
+0x7915 033908 force 0 ,regext_index 
+:      033909 sha_0:
+0x7916 033910 deposit regext 
+0x7917 033911 istore 4 ,contw 
+0x7918 033912 increase 1 ,regext_index 
+0x7919 033913 compare 8 ,regext_index ,0xff 
+0x791a 033914 nbranch sha_0 ,true 
+0x791b 033915 call enable_authrom 
+0x791c 033916 arg memk ,timeup 
+0x791d 033917 arg memdat ,alarm 
+0x791e 033918 force 64 ,loopcnt 
+:      033919 sha_loop:
+0x791f 033920 ifetcht 4 ,alarm 
+0x7920 033921 ifetch 4 ,timeup 
+0x7921 033922 increase 4 ,timeup 
+0x7922 033923 increase 4 ,alarm 
+0x7923 033924 iadd temp ,pdata 
+0x7924 033925 force 7 ,regext_index 
+0x7925 033926 iadd regext ,temp 
+0x7926 033927 force 4 ,regext_index 
+0x7927 033928 shasx regext ,3 ,pdata 
+0x7928 033929 iadd temp ,temp 
+0x7929 033930 force 5 ,regext_index 
+0x792a 033931 deposit regext 
+0x792b 033932 force 6 ,regext_index 
+0x792c 033933 ixor regext ,pdata 
+0x792d 033934 force 4 ,regext_index 
+0x792e 033935 iand regext ,pdata 
+0x792f 033936 force 6 ,regext_index 
+0x7930 033937 ixor regext ,pdata 
+0x7931 033938 iadd temp ,temp 
+0x7932 033939 force 7 ,regext_index 
+0x7933 033940 copy temp ,regext 
+0x7934 033941 force 3 ,regext_index 
+0x7935 033942 deposit regext 
+0x7936 033943 iadd temp ,regext 
+0x7937 033944 force 0 ,regext_index 
+0x7938 033945 deposit regext 
+0x7939 033946 force 1 ,regext_index 
+0x793a 033947 iand regext ,temp 
+0x793b 033948 ior regext ,pdata 
+0x793c 033949 force 2 ,regext_index 
+0x793d 033950 iand regext ,pdata 
+0x793e 033951 ior temp ,temp 
+0x793f 033952 force 0 ,regext_index 
+0x7940 033953 shasx regext ,2 ,pdata 
+0x7941 033954 iadd temp ,pdata 
+0x7942 033955 force 7 ,regext_index 
+0x7943 033956 iadd regext ,regext 
+0x7944 033957 regexrot 
+0x7945 033958 loop sha_loop 
+0x7946 033959 arg memahbak ,contr 
+0x7947 033960 force 0 ,regext_index 
+:      033961 sha_1:
+0x7948 033962 ifetch 4 ,contr 
+0x7949 033963 iadd regext ,regext 
+0x794a 033964 increase 1 ,regext_index 
+0x794b 033965 compare 8 ,regext_index ,0xff 
+0x794c 033966 nbranch sha_1 ,true 
+0x794d 033967 branch disable_authrom 
+:      033970 sha_result:
+0x794e 033971 arg memresult ,contw 
+0x794f 033972 force 7 ,regext_index 
+:      033973 sha_regext_save:
+0x7950 033974 deposit regext 
+0x7951 033975 istore 4 ,contw 
+0x7952 033976 increase -1 ,regext_index 
+0x7953 033977 branch sha_regext_save ,positive 
+0x7954 033978 rtn 
+:      033980 pad_xor:
+0x7955 033982 arg memdat ,contw 
+0x7956 033983 increase -4 ,contr 
+0x7957 033984 sub loopcnt ,16 ,rega 
+:      033985 pad_xor_0:
+0x7958 033986 ifetch 4 ,contr 
+0x7959 033987 ixor temp ,pdata 
+0x795a 033988 istore 4 ,contw 
+0x795b 033989 increase -8 ,contr 
+0x795c 033990 loop pad_xor_0 
+0x795d 033991 copy rega ,loopcnt 
+0x795e 033992 deposit temp 
+:      033993 pad_xor_1:
+0x795f 033994 istore 4 ,contw 
+0x7960 033995 loop pad_xor_1 
+0x7961 033996 rtn 
+:      033998 g_noninit_number_confirm:
+0x7962 033999 call g_noninit0 
+0x7963 034000 call sha_result 
+0x7964 034001 branch g_common0 
+:      034003 g_noninit:
+0x7965 034004 call g_noninit0 
+0x7966 034005 branch g_common0 
+:      034007 g_noninit0:
+0x7967 034008 arg mem_sp_pubkey_remote_x_end ,contr 
+0x7968 034009 arg memdat ,contw 
+0x7969 034010 force 6 ,loopcnt 
+0x796a 034011 call memcpy_dword_swap 
+0x796b 034012 arg mem_sp_pubkey_local_x_end ,contr 
+0x796c 034013 force 6 ,loopcnt 
+0x796d 034014 call memcpy_dword_swap 
+0x796e 034015 arg mem_sp_random_remote_end ,contr 
+0x796f 034016 call memcpy_dword_swap4 
+0x7970 034017 call sha_init 
+0x7971 034018 call sha 
+0x7972 034019 arg mem_sp_random_local_end ,contr 
+0x7973 034020 arg memdat ,contw 
+0x7974 034021 branch g_common 
+:      034023 g_init:
+0x7975 034024 arg mem_sp_pubkey_local_x_end ,contr 
+0x7976 034025 arg memdat ,contw 
+0x7977 034026 force 6 ,loopcnt 
+0x7978 034027 call memcpy_dword_swap 
+0x7979 034028 arg mem_sp_pubkey_remote_x_end ,contr 
+0x797a 034029 force 6 ,loopcnt 
+0x797b 034030 call memcpy_dword_swap 
+0x797c 034031 arg mem_sp_random_local_end ,contr 
+0x797d 034032 call memcpy_dword_swap4 
+0x797e 034033 call sha_init 
+0x797f 034034 call sha 
+0x7980 034035 arg mem_sp_random_remote_end ,contr 
+0x7981 034036 arg memdat ,contw 
+0x7982 034037 call g_common 
+0x7983 034038 branch g_common0 
+:      034040 g_common:
+0x7984 034041 call memcpy_dword_swap4 
+0x7985 034042 setarg 0x800000 
+0x7986 034043 lshift8 pdata ,pdata 
+0x7987 034044 istore 4 ,contw 
+0x7988 034045 force 5 ,loopcnt 
+0x7989 034046 call memset0 
+0x798a 034047 setarg 640 
+0x798b 034048 istore 4 ,contw 
+0x798c 034049 branch sha 
+:      034050 g_common0:
+0x798d 034051 fetch 4 ,memresult 
+0x798e 034053 arg 1000 ,rega 
+0x798f 034054 idiv rega 
+0x7990 034055 call wait_div_end 
+0x7991 034056 remainder pdata 
+0x7992 034057 store 4 ,mem_gkey 
+0x7993 034058 quotient pdata 
+0x7994 034059 arg 1000 ,rega 
+0x7995 034060 idiv rega 
+0x7996 034061 call wait_div_end 
+0x7997 034062 remainder pdata 
+0x7998 034063 arg 1000 ,rega 
+0x7999 034064 imul32 rega ,pdata 
+0x799a 034065 fetcht 4 ,mem_gkey 
+0x799b 034066 iadd temp ,pdata 
+0x799c 034067 store 4 ,mem_gkey 
+0x799d 034068 rtn 
+:      034070 function_f1_no_key:
+0x799e 034071 jam 0 ,mem_passkey_1bit 
+0x799f 034072 branch function_f1_common 
+:      034074 function_f1:
+0x79a0 034075 fetch 1 ,mem_ssp_mode_flag 
+0x79a1 034076 bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+:      034077 function_f1_common:
+0x79a2 034078 bpatchx patch3d_5 ,mem_patch3d 
+0x79a3 034079 setarg 0x363636 
+0x79a4 034080 lshift8 pdata ,temp 
+0x79a5 034081 or_into 0x36 ,temp 
+0x79a6 034082 fetch 2 ,mem_sp_prarm_stack 
+0x79a7 034083 copy pdata ,contr 
+0x79a8 034084 force 4 ,loopcnt 
+0x79a9 034085 call pad_xor 
+0x79aa 034086 call sha_init 
+0x79ab 034087 call sha 
+0x79ac 034088 fetch 2 ,mem_sp_prarm_stack + 2 
+0x79ad 034089 copy pdata ,contr 
+0x79ae 034090 arg memdat ,contw 
+0x79af 034091 force 6 ,loopcnt 
+0x79b0 034092 call memcpy_dword_swap 
+0x79b1 034093 fetch 2 ,mem_sp_prarm_stack + 4 
+0x79b2 034094 copy pdata ,contr 
+0x79b3 034095 force 6 ,loopcnt 
+0x79b4 034096 call memcpy_dword_swap 
+0x79b5 034097 setarg 0x800000 
+0x79b6 034098 istore 3 ,contw 
+0x79b7 034100 fetch 1 ,mem_passkey_1bit 
+0x79b8 034102 istore 1 ,contw 
+0x79b9 034103 force 0 ,pdata 
+0x79ba 034104 istore 8 ,contw 
+0x79bb 034105 setarg 0x0388 
+0x79bc 034106 istore 4 ,contw 
+0x79bd 034107 call sha 
+0x79be 034108 call sha_result 
+0x79bf 034109 arg memresult ,contr 
+0x79c0 034110 arg memahsave ,contw 
+0x79c1 034111 call memcpy32 
+0x79c2 034113 setarg 0x5c5c5c 
+0x79c3 034114 lshift8 pdata ,temp 
+0x79c4 034115 or_into 0x5c ,temp 
+0x79c5 034116 fetch 2 ,mem_sp_prarm_stack 
+0x79c6 034117 copy pdata ,contr 
+0x79c7 034118 force 4 ,loopcnt 
+0x79c8 034119 call pad_xor 
+0x79c9 034120 call sha_init 
+0x79ca 034121 call sha 
+0x79cb 034122 arg memahsave_end ,contr 
+0x79cc 034123 arg memdat ,contw 
+0x79cd 034124 force 8 ,loopcnt 
+0x79ce 034125 call memcpy_dword_swap 
+0x79cf 034126 setarg 0x800000 
+0x79d0 034127 lshift8 pdata ,pdata 
+0x79d1 034128 istore 4 ,contw 
+0x79d2 034129 call bn_zero 
+0x79d3 034130 setarg 0x0300 
+0x79d4 034131 istore 4 ,contw 
+0x79d5 034132 call sha 
+0x79d6 034133 branch sha_result 
+:      034136 function_f2:
+0x79d7 034137 setarg 0x363636 
+0x79d8 034138 lshift8 pdata ,temp 
+0x79d9 034139 or_into 0x36 ,temp 
+0x79da 034140 arg mem_sp_dhkey_end ,contr 
+0x79db 034141 force 6 ,loopcnt 
+0x79dc 034142 call pad_xor 
+0x79dd 034143 call sha_init 
+0x79de 034144 call sha 
+0x79df 034145 fetch 2 ,mem_sp_prarm_stack + 12 
+0x79e0 034146 copy pdata ,contr 
+0x79e1 034147 arg memdat ,contw 
+0x79e2 034148 call memcpy_dword_swap4 
+0x79e3 034149 fetch 2 ,mem_sp_prarm_stack + 14 
+0x79e4 034150 copy pdata ,contr 
+0x79e5 034151 call memcpy_dword_swap4 
+0x79e6 034153 setarg 0x62746c 
+0x79e7 034154 lshift8 pdata ,pdata 
+0x79e8 034155 or_into 0x6b ,pdata 
+0x79e9 034156 istore 4 ,contw 
+0x79ea 034157 arg mem_addr_value_end ,contr 
+0x79eb 034158 force 3 ,loopcnt 
+0x79ec 034159 call memcpy_dword_swap 
+0x79ed 034161 setarg 0x800000 
+0x79ee 034162 lshift8 pdata ,pdata 
+0x79ef 034163 istore 4 ,contw 
+0x79f0 034164 force 0 ,pdata 
+0x79f1 034165 istore 8 ,contw 
+0x79f2 034166 setarg 0x0380 
+0x79f3 034167 istore 4 ,contw 
+0x79f4 034168 call sha 
+0x79f5 034170 call sha_result 
+0x79f6 034171 arg memresult ,contr 
+0x79f7 034172 arg memahsave ,contw 
+0x79f8 034173 call memcpy32 
+0x79f9 034175 setarg 0x5c5c5c 
+0x79fa 034176 lshift8 pdata ,temp 
+0x79fb 034177 or_into 0x5c ,temp 
+0x79fc 034178 arg mem_sp_dhkey_end ,contr 
+0x79fd 034179 force 6 ,loopcnt 
+0x79fe 034180 call pad_xor 
+0x79ff 034181 call sha_init 
+0x7a00 034182 call sha 
+0x7a01 034183 arg memahsave_end ,contr 
+0x7a02 034184 arg memdat ,contw 
+0x7a03 034185 force 8 ,loopcnt 
+0x7a04 034186 call memcpy_dword_swap 
+0x7a05 034187 setarg 0x800000 
+0x7a06 034188 lshift8 pdata ,pdata 
+0x7a07 034189 istore 4 ,contw 
+0x7a08 034190 call bn_zero 
+0x7a09 034191 setarg 0x0300 
+0x7a0a 034192 istore 4 ,contw 
+0x7a0b 034193 call sha 
+0x7a0c 034194 branch sha_result 
+:      034197 function_f3a:
+0x7a0d 034198 fetch 1 ,mem_ssp_mode_flag 
+0x7a0e 034199 bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+:      034200 function_f3a_common:
+0x7a0f 034201 bpatchx patch3d_6 ,mem_patch3d 
+0x7a10 034202 setarg 0x363636 
+0x7a11 034203 lshift8 pdata ,temp 
+0x7a12 034204 or_into 0x36 ,temp 
+0x7a13 034205 arg mem_sp_dhkey_end ,contr 
+0x7a14 034206 force 6 ,loopcnt 
+0x7a15 034207 call pad_xor 
+0x7a16 034208 call sha_init 
+0x7a17 034209 call sha 
+0x7a18 034210 arg mem_sp_random_remote_end ,contr 
+0x7a19 034211 arg memdat ,contw 
+0x7a1a 034212 call memcpy_dword_swap4 
+0x7a1b 034213 arg mem_sp_random_local_end ,contr 
+0x7a1c 034214 call memcpy_dword_swap4 
+0x7a1d 034215 branch function_f3_common 
+:      034217 function_f3a_no_pin:
+0x7a1e 034218 setarg 0 
+0x7a1f 034219 store 4 ,mem_pin 
+0x7a20 034220 branch function_f3a_common 
+:      034222 function_f3b_no_pin:
+0x7a21 034223 setarg 0 
+0x7a22 034224 store 4 ,mem_pin 
+0x7a23 034225 branch function_f3b_common 
+:      034228 function_f3b:
+0x7a24 034229 fetch 1 ,mem_ssp_mode_flag 
+0x7a25 034230 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+:      034231 function_f3b_common:
+0x7a26 034232 setarg 0x363636 
+0x7a27 034233 lshift8 pdata ,temp 
+0x7a28 034234 or_into 0x36 ,temp 
+0x7a29 034235 arg mem_sp_dhkey_end ,contr 
+0x7a2a 034236 force 6 ,loopcnt 
+0x7a2b 034237 call pad_xor 
+0x7a2c 034238 call sha_init 
+0x7a2d 034239 call sha 
+0x7a2e 034241 arg mem_sp_random_local_end ,contr 
+0x7a2f 034242 arg memdat ,contw 
+0x7a30 034243 call memcpy_dword_swap4 
+0x7a31 034244 arg mem_sp_random_remote_end ,contr 
+0x7a32 034245 call memcpy_dword_swap4 
+:      034246 function_f3_common:
+0x7a33 034247 setarg 0x0 
+0x7a34 034248 istore 8 ,contw 
+0x7a35 034249 istore 4 ,contw 
+0x7a36 034250 fetch 4 ,mem_pin 
+0x7a37 034251 istore 4 ,contw 
+0x7a38 034253 copy contw ,temp 
+0x7a39 034254 jam 0x80 ,mem_addr_padding 
+0x7a3a 034255 copy temp ,contw 
+0x7a3b 034256 arg mem_addr_iocap_end ,contr 
+0x7a3c 034257 call memcpy_dword_swap4 
+0x7a3d 034259 call sha 
+0x7a3e 034261 arg memdat ,contw 
+0x7a3f 034262 force 7 ,loopcnt 
+0x7a40 034263 call memset0 
+0x7a41 034264 istore 4 ,contw 
+0x7a42 034265 setarg 0x03F8 
+0x7a43 034266 istore 4 ,contw 
+0x7a44 034267 call sha 
+0x7a45 034268 call sha_result 
+0x7a46 034270 arg memresult ,contr 
+0x7a47 034271 arg memahsave ,contw 
+0x7a48 034272 call memcpy32 
+0x7a49 034274 setarg 0x5c5c5c 
+0x7a4a 034275 lshift8 pdata ,temp 
+0x7a4b 034276 or_into 0x5c ,temp 
+0x7a4c 034277 arg mem_sp_dhkey_end ,contr 
+0x7a4d 034278 force 6 ,loopcnt 
+0x7a4e 034279 call pad_xor 
+0x7a4f 034280 call sha_init 
+0x7a50 034281 call sha 
+0x7a51 034282 arg memahsave_end ,contr 
+0x7a52 034283 arg memdat ,contw 
+0x7a53 034284 force 8 ,loopcnt 
+0x7a54 034285 call memcpy_dword_swap 
+0x7a55 034286 setarg 0x800000 
+0x7a56 034287 lshift8 pdata ,pdata 
+0x7a57 034288 istore 4 ,contw 
+0x7a58 034289 call bn_zero 
+0x7a59 034290 setarg 0x0300 
+0x7a5a 034291 istore 4 ,contw 
+0x7a5b 034292 call sha 
+0x7a5c 034293 branch sha_result 
+:      034300 eckp_calc_init:
+0x7a5d 034301 jam 192 ,mem_ec_loopc 
+:      034302 eckp_calc_init_1:
+0x7a5e 034303 fetch 1 ,mem_ec_loopc 
+0x7a5f 034304 rtn blank 
+0x7a60 034305 increase -1 ,pdata 
+0x7a61 034306 store 1 ,mem_ec_loopc 
+0x7a62 034307 arg mem_k ,contr 
+0x7a63 034308 call bn_testbit 
+0x7a64 034309 branch eckp_calc_init_1 ,true 
+0x7a65 034310 arg mem_ax ,contr 
+0x7a66 034311 arg mem_cx ,contw 
+0x7a67 034312 branch ec_copy 
+:      034314 eckp_calc:
+0x7a68 034315 call ecdbl 
+0x7a69 034316 fetch 1 ,mem_ec_loopc 
+0x7a6a 034317 increase -1 ,pdata 
+0x7a6b 034318 store 1 ,mem_ec_loopc 
+0x7a6c 034319 arg mem_k ,contr 
+0x7a6d 034320 call bn_testbit 
+0x7a6e 034321 rtn true 
+0x7a6f 034322 branch ecadd 
+:      034324 memcpy_dword_swap4:
+0x7a70 034325 force 4 ,loopcnt 
+:      034326 memcpy_dword_swap:
+0x7a71 034327 increase -4 ,contr 
+:      034328 memcpy_dword_swap_loop:
+0x7a72 034329 ifetch 4 ,contr 
+0x7a73 034330 istore 4 ,contw 
+0x7a74 034331 increase -8 ,contr 
+0x7a75 034332 loop memcpy_dword_swap_loop 
+0x7a76 034333 rtn 
+:      034338 sp_initialize_256:
+0x7a77 034339 bpatchx patch3d_7 ,mem_patch3d 
+0x7a78 034340 fetch 1 ,mem_le_secure_connect_enable 
+0x7a79 034341 branch le_secure_connection_disable ,blank 
+0x7a7a 034342 call le_secure_connection_enable 
+0x7a7b 034343 call sp_clear_flags 
+0x7a7c 034345 branch sp_pubkey_calc_256 
+:      034350 sp_pubkey_calc_256:
+0x7a7d 034351 fetch 1 ,mem_le_sc_local_key_invalid 
+0x7a7e 034352 rtnne sp_key_invalid 
+0x7a7f 034353 fetch 1 ,mem_le_sc_calc 
+0x7a80 034354 rtnne sp_calc_standby 
+0x7a81 034356 arg mem_le_private_key_256 ,contw 
+0x7a82 034357 force 15 ,queue 
+0x7a83 034358 call random_generator 
+0x7a84 034359 random pdata 
+0x7a85 034360 rshift pdata ,pdata 
+0x7a86 034361 istore 2 ,contw 
+0x7a87 034363 arg mem_k_256 ,contw 
+0x7a88 034364 arg mem_le_private_key_256 ,contr 
+0x7a89 034365 call memcpy32 
+0x7a8a 034367 arg mem_ax_256 ,contw 
+0x7a8b 034368 arg mem_gx_256 ,contr 
+0x7a8c 034369 call memcpy64 
+0x7a8d 034371 arg mem_az_256 ,contw 
+0x7a8e 034372 call clear_mem_256 
+0x7a8f 034373 jam 1 ,mem_az_256 
+0x7a90 034375 call eckp_calc_init_256 
+0x7a91 034376 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+0x7a92 034377 rtn 
+:      034379 sp_pubkey_generated_256:
+0x7a93 034380 arg mem_le_pubkey_local_x_256 ,contw 
+0x7a94 034381 arg mem_bx_256 ,contr 
+0x7a95 034382 call memcpy64 
+0x7a96 034383 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+0x7a97 034384 jam sp_calc_standby ,mem_le_sc_calc 
+0x7a98 034385 rtn 
+:      034389 sp_dhkey_calc_256:
+0x7a99 034390 fetch 1 ,mem_sp_dhkey_invalid 
+0x7a9a 034391 rtnne sp_key_invalid 
+0x7a9b 034392 fetch 1 ,mem_le_sc_calc 
+0x7a9c 034393 rtnne sp_calc_standby 
+0x7a9d 034395 arg mem_k_256 ,contw 
+0x7a9e 034396 arg mem_le_private_key_256 ,contr 
+0x7a9f 034397 call memcpy32 
+0x7aa0 034399 arg mem_ax_256 ,contw 
+0x7aa1 034400 arg mem_le_pubkey_remote_x_256 ,contr 
+0x7aa2 034401 call memcpy64 
+0x7aa3 034403 arg mem_az_256 ,contw 
+0x7aa4 034404 call clear_mem_256 
+0x7aa5 034405 jam 1 ,mem_az_256 
+0x7aa6 034407 call eckp_calc_init_256 
+0x7aa7 034408 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+0x7aa8 034409 rtn 
+:      034412 sp_dhkey_generated_256:
+0x7aa9 034414 arg mem_le_dhkey_256 ,contw 
+0x7aaa 034415 arg mem_bx_256 ,contr 
+0x7aab 034416 call memcpy32 
+0x7aac 034417 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+0x7aad 034418 jam sp_calc_standby ,mem_le_sc_calc 
+0x7aae 034419 rtn 
+:      034423 sp_calc_sequence_256:
+0x7aaf 034424 fetch 1 ,mem_le_secure_connect_enable 
+0x7ab0 034425 rtn blank 
+0x7ab1 034426 fetch 1 ,mem_le_sc_calc 
+0x7ab2 034427 rtn blank 
+0x7ab3 034428 increase 0x80 ,pdata 
+0x7ab4 034429 store 1 ,mem_le_sc_calc 
+0x7ab5 034430 rtnbit1 7 
+0x7ab6 034431 fetch 2 ,mem_ec_loopc 
+0x7ab7 034432 branch sp_calc_sequence_done_256 ,blank 
+0x7ab8 034433 branch eckp_calc_256 
+:      034435 sp_calc_sequence_done_256:
+0x7ab9 034436 bpatchx patch3e_0 ,mem_patch3e 
+0x7aba 034437 call ecunmapz_256 
+0x7abb 034438 fetch 1 ,mem_le_sc_calc 
+0x7abc 034439 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+0x7abd 034440 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+0x7abe 034441 rtn 
+:      034444 eckp_calc_256:
+0x7abf 034445 call ecdbl_256 
+0x7ac0 034446 fetch 2 ,mem_ec_loopc 
+0x7ac1 034447 increase -1 ,pdata 
+0x7ac2 034448 store 2 ,mem_ec_loopc 
+0x7ac3 034449 arg mem_k_256 ,contr 
+0x7ac4 034450 call bn_testbit 
+0x7ac5 034451 rtn true 
+0x7ac6 034452 branch ecadd_256 
+:      034454 eckp_calc_init_256:
+0x7ac7 034455 bpatchx patch3e_1 ,mem_patch3e 
+0x7ac8 034456 setarg 256 ,pdata 
+0x7ac9 034457 store 2 ,mem_ec_loopc 
+:      034458 eckp_calc_init_256_1:
+0x7aca 034459 fetch 2 ,mem_ec_loopc 
+0x7acb 034460 rtn blank 
+0x7acc 034461 increase -1 ,pdata 
+0x7acd 034462 store 2 ,mem_ec_loopc 
+0x7ace 034463 arg mem_k_256 ,contr 
+0x7acf 034464 call bn_testbit 
+0x7ad0 034465 branch eckp_calc_init_256_1 ,true 
+0x7ad1 034466 arg mem_ax_256 ,contr 
+0x7ad2 034467 arg mem_cx_256 ,contw 
+0x7ad3 034468 branch memcpy96 
+:      034471 ecunmapz_256:
+0x7ad4 034472 arg mem_cz_256 ,rega 
+0x7ad5 034473 arg mem_t3_256 ,contw 
+0x7ad6 034474 call bn_invmod_256 
+0x7ad7 034475 arg mem_t3_256 ,rega 
+0x7ad8 034476 arg mem_t1_256 ,contw 
+0x7ad9 034477 call bn_sqrmod_256 
+0x7ada 034478 arg mem_cx_256 ,rega 
+0x7adb 034479 arg mem_t1_256 ,regb 
+0x7adc 034480 arg mem_bx_256 ,contw 
+0x7add 034481 call bn_mulmod_256 
+0x7ade 034482 arg mem_t3_256 ,rega 
+0x7adf 034483 arg mem_t1_256 ,regb 
+0x7ae0 034484 arg mem_t2_256 ,contw 
+0x7ae1 034485 call bn_mulmod_256 
+0x7ae2 034486 arg mem_cy_256 ,rega 
+0x7ae3 034487 arg mem_t2_256 ,regb 
+0x7ae4 034488 arg mem_by_256 ,contw 
+0x7ae5 034489 branch bn_mulmod_256 
+:      034491 ecdbl_256:
+0x7ae6 034492 arg mem_cz_256 ,rega 
+0x7ae7 034493 arg mem_t2_256 ,contw 
+0x7ae8 034494 call bn_sqrmod_256 
+0x7ae9 034495 arg mem_t2_256 ,rega 
+0x7aea 034496 arg mem_t3_256 ,contw 
+0x7aeb 034497 call bn_sqrmod_256 
+0x7aec 034499 arg mem_a_256 ,rega 
+0x7aed 034500 arg mem_t3_256 ,regb 
+0x7aee 034501 arg mem_t3_256 ,contw 
+0x7aef 034502 call bn_mulmod_256 
+0x7af0 034503 arg mem_cx_256 ,rega 
+0x7af1 034504 arg mem_t2_256 ,contw 
+0x7af2 034505 call bn_sqrmod_256 
+0x7af3 034507 arg mem_t2_256 ,contr 
+0x7af4 034508 arg mem_t1_256 ,contw 
+0x7af5 034509 call memcpy32 
+0x7af6 034510 arg mem_t1_256 ,rega 
+0x7af7 034511 call bn_lshiftmod_256 
+0x7af8 034512 arg mem_t2_256 ,rega 
+0x7af9 034513 arg mem_t1_256 ,regb 
+0x7afa 034514 arg mem_t2_256 ,contw 
+0x7afb 034515 call bn_addmod_256 
+0x7afc 034517 arg mem_t2_256 ,rega 
+0x7afd 034518 arg mem_t3_256 ,regb 
+0x7afe 034519 arg mem_t2_256 ,contw 
+0x7aff 034520 call bn_addmod_256 
+0x7b00 034522 arg mem_cx_256 ,contr 
+0x7b01 034523 arg mem_t1_256 ,contw 
+0x7b02 034524 call memcpy32 
+0x7b03 034525 arg mem_cy_256 ,rega 
+0x7b04 034526 arg mem_t3_256 ,contw 
+0x7b05 034527 call bn_sqrmod_256 
+0x7b06 034528 arg mem_t1_256 ,rega 
+0x7b07 034529 call bn_lshiftmod_256 
+0x7b08 034530 arg mem_t1_256 ,rega 
+0x7b09 034531 call bn_lshiftmod_256 
+0x7b0a 034532 arg mem_t1_256 ,rega 
+0x7b0b 034533 arg mem_t3_256 ,regb 
+0x7b0c 034534 arg mem_t1_256 ,contw 
+0x7b0d 034535 call bn_mulmod_256 
+0x7b0e 034536 arg mem_t3_256 ,rega 
+0x7b0f 034537 arg mem_t0_256 ,contw 
+0x7b10 034538 call bn_sqrmod_256 
+0x7b11 034539 arg mem_t0_256 ,rega 
+0x7b12 034540 call bn_lshiftmod_256 
+0x7b13 034541 arg mem_t0_256 ,rega 
+0x7b14 034542 call bn_lshiftmod_256 
+0x7b15 034543 arg mem_t0_256 ,rega 
+0x7b16 034544 call bn_lshiftmod_256 
+0x7b17 034545 arg mem_cy_256 ,contr 
+0x7b18 034546 arg mem_t3_256 ,contw 
+0x7b19 034547 call memcpy32 
+0x7b1a 034548 arg mem_t3_256 ,rega 
+0x7b1b 034549 call bn_lshiftmod_256 
+0x7b1c 034550 arg mem_t3_256 ,rega 
+0x7b1d 034551 arg mem_cz_256 ,regb 
+0x7b1e 034552 arg mem_cz_256 ,contw 
+0x7b1f 034553 call bn_mulmod_256 
+0x7b20 034556 arg mem_t2_256 ,rega 
+0x7b21 034557 arg mem_t3_256 ,contw 
+0x7b22 034558 call bn_sqrmod_256 
+0x7b23 034560 arg mem_t3_256 ,rega 
+0x7b24 034561 arg mem_t1_256 ,regb 
+0x7b25 034562 arg mem_t3_256 ,contw 
+0x7b26 034563 call bn_submod_256 
+0x7b27 034564 arg mem_t3_256 ,rega 
+0x7b28 034565 arg mem_t1_256 ,regb 
+0x7b29 034566 arg mem_cx_256 ,contw 
+0x7b2a 034567 call bn_submod_256 
+0x7b2b 034568 arg mem_t1_256 ,rega 
+0x7b2c 034569 arg mem_cx_256 ,regb 
+0x7b2d 034570 arg mem_t3_256 ,contw 
+0x7b2e 034571 call bn_submod_256 
+0x7b2f 034572 arg mem_t3_256 ,rega 
+0x7b30 034573 arg mem_t2_256 ,regb 
+0x7b31 034574 arg mem_t3_256 ,contw 
+0x7b32 034575 call bn_mulmod_256 
+0x7b33 034576 arg mem_t3_256 ,rega 
+0x7b34 034577 arg mem_t0_256 ,regb 
+0x7b35 034578 arg mem_cy_256 ,contw 
+0x7b36 034579 branch bn_submod_256 
+:      034581 ecadd_256:
+0x7b37 034583 arg mem_az_256 ,rega 
+0x7b38 034584 arg mem_t7_256 ,contw 
+0x7b39 034585 call bn_sqrmod_256 
+0x7b3a 034586 arg mem_cx_256 ,rega 
+0x7b3b 034587 arg mem_t7_256 ,regb 
+0x7b3c 034588 arg mem_t0_256 ,contw 
+0x7b3d 034589 call bn_mulmod_256 
+0x7b3e 034592 arg mem_az_256 ,rega 
+0x7b3f 034593 arg mem_t7_256 ,regb 
+0x7b40 034594 arg mem_t7_256 ,contw 
+0x7b41 034595 call bn_mulmod_256 
+0x7b42 034596 arg mem_cy_256 ,rega 
+0x7b43 034597 arg mem_t7_256 ,regb 
+0x7b44 034598 arg mem_t1_256 ,contw 
+0x7b45 034599 call bn_mulmod_256 
+0x7b46 034602 arg mem_cz_256 ,rega 
+0x7b47 034603 arg mem_t7_256 ,contw 
+0x7b48 034604 call bn_sqrmod_256 
+0x7b49 034605 arg mem_ax_256 ,rega 
+0x7b4a 034606 arg mem_t7_256 ,regb 
+0x7b4b 034607 arg mem_t2_256 ,contw 
+0x7b4c 034608 call bn_mulmod_256 
+0x7b4d 034610 arg mem_cz_256 ,rega 
+0x7b4e 034611 arg mem_t7_256 ,regb 
+0x7b4f 034612 arg mem_t7_256 ,contw 
+0x7b50 034613 call bn_mulmod_256 
+0x7b51 034614 arg mem_ay_256 ,rega 
+0x7b52 034615 arg mem_t7_256 ,regb 
+0x7b53 034616 arg mem_t3_256 ,contw 
+0x7b54 034617 call bn_mulmod_256 
+0x7b55 034622 arg mem_t0_256 ,regb 
+0x7b56 034623 arg mem_t2_256 ,rega 
+0x7b57 034624 arg mem_t7_256 ,contw 
+0x7b58 034625 call bn_submod_256 
+0x7b59 034626 arg mem_t0_256 ,rega 
+0x7b5a 034627 arg mem_t2_256 ,regb 
+0x7b5b 034628 arg mem_t0_256 ,contw 
+0x7b5c 034629 call bn_addmod_256 
+0x7b5d 034632 arg mem_t1_256 ,regb 
+0x7b5e 034633 arg mem_t3_256 ,rega 
+0x7b5f 034634 arg mem_t2_256 ,contw 
+0x7b60 034635 call bn_submod_256 
+0x7b61 034636 arg mem_t1_256 ,rega 
+0x7b62 034637 arg mem_t3_256 ,regb 
+0x7b63 034638 arg mem_t1_256 ,contw 
+0x7b64 034639 call bn_addmod_256 
+0x7b65 034640 arg mem_t1_256 ,rega 
+0x7b66 034641 arg mem_t7_256 ,regb 
+0x7b67 034642 arg mem_t1_256 ,contw 
+0x7b68 034643 call bn_mulmod_256 
+0x7b69 034644 arg mem_cz_256 ,rega 
+0x7b6a 034645 arg mem_az_256 ,regb 
+0x7b6b 034646 arg mem_t3_256 ,contw 
+0x7b6c 034647 call bn_mulmod_256 
+0x7b6d 034648 arg mem_t3_256 ,rega 
+0x7b6e 034649 arg mem_t7_256 ,regb 
+0x7b6f 034650 arg mem_cz_256 ,contw 
+0x7b70 034651 call bn_mulmod_256 
+0x7b71 034653 arg mem_t7_256 ,rega 
+0x7b72 034654 arg mem_t7_256 ,contw 
+0x7b73 034655 call bn_sqrmod_256 
+0x7b74 034656 arg mem_t7_256 ,rega 
+0x7b75 034657 arg mem_t0_256 ,regb 
+0x7b76 034658 arg mem_t3_256 ,contw 
+0x7b77 034659 call bn_mulmod_256 
+0x7b78 034660 arg mem_t7_256 ,rega 
+0x7b79 034661 arg mem_t1_256 ,regb 
+0x7b7a 034662 arg mem_t1_256 ,contw 
+0x7b7b 034663 call bn_mulmod_256 
+0x7b7c 034664 arg mem_t2_256 ,rega 
+0x7b7d 034665 arg mem_cx_256 ,contw 
+0x7b7e 034666 call bn_sqrmod_256 
+0x7b7f 034667 arg mem_cx_256 ,rega 
+0x7b80 034668 arg mem_t3_256 ,regb 
+0x7b81 034669 arg mem_cx_256 ,contw 
+0x7b82 034670 call bn_submod_256 
+0x7b83 034671 arg mem_cx_256 ,contr 
+0x7b84 034672 arg mem_t7_256 ,contw 
+0x7b85 034673 call memcpy32 
+0x7b86 034674 arg mem_t7_256 ,rega 
+0x7b87 034675 call bn_lshiftmod_256 
+0x7b88 034676 arg mem_t3_256 ,rega 
+0x7b89 034677 arg mem_t7_256 ,regb 
+0x7b8a 034678 arg mem_t3_256 ,contw 
+0x7b8b 034679 call bn_submod_256 
+0x7b8c 034680 arg mem_t3_256 ,rega 
+0x7b8d 034681 arg mem_t2_256 ,regb 
+0x7b8e 034682 arg mem_t2_256 ,contw 
+0x7b8f 034683 call bn_mulmod_256 
+0x7b90 034684 arg mem_t2_256 ,rega 
+0x7b91 034685 arg mem_t1_256 ,regb 
+0x7b92 034686 arg mem_cy_256 ,contw 
+0x7b93 034687 call bn_submod_256 
+0x7b94 034688 arg mem_cy_256 ,rega 
+0x7b95 034689 arg mem_p_256 ,regb 
+0x7b96 034690 arg mem_cy_256 ,contw 
+0x7b97 034691 force 0 ,regc 
+0x7b98 034692 fetch 1 ,mem_cy_256 
+0x7b99 034693 isolate1 0 ,pdata 
+0x7b9a 034694 call bn_add_256 ,true 
+0x7b9b 034695 copy regc ,alarm 
+0x7b9c 034696 arg mem_cy_256 ,rega 
+0x7b9d 034697 call bn_rshift_256 
+0x7b9e 034698 fetch 1 ,mem_cy5_256 
+0x7b9f 034699 isolate1 0 ,alarm 
+0x7ba0 034700 setflag true ,7 ,pdata 
+0x7ba1 034701 store 1 ,mem_cy5_256 
+0x7ba2 034702 rtn 
+:      034704 bn_invmod_256:
+0x7ba3 034705 copy contw ,timeup 
+0x7ba4 034706 arg mem_tmp0_256 ,contw 
+0x7ba5 034707 call clear_mem_256 
+0x7ba6 034708 force 0 ,pdata 
+0x7ba7 034710 store 4 ,mem_t2_256 
+0x7ba8 034711 jam 1 ,mem_tmp0_256 
+0x7ba9 034712 arg mem_tmp1_256 ,contw 
+0x7baa 034713 call clear_mem_512 
+0x7bab 034714 arg mem_p_256 ,contr 
+0x7bac 034715 arg mem_tmp2_256 ,contw 
+0x7bad 034716 call memcpy32 
+0x7bae 034717 copy rega ,contr 
+0x7baf 034718 arg mem_tmp3_256 ,contw 
+0x7bb0 034719 call memcpy32 
+:      034725 bn_invmod_256_2:
+0x7bb1 034726 arg mem_tmp3_256 ,contr 
+0x7bb2 034727 call bn_eq_zero_256 
+0x7bb3 034728 branch bn_invmod_256_0 ,blank 
+0x7bb4 034733 arg mem_tmp3_256 ,rega 
+0x7bb5 034734 arg mem_tmp0_256 ,regb 
+0x7bb6 034735 call bn_rshifteven_256 
+0x7bb7 034736 arg mem_tmp2_256 ,rega 
+0x7bb8 034737 arg mem_tmp1_256 ,regb 
+0x7bb9 034738 call bn_rshifteven_256 
+0x7bba 034740 arg mem_tmp3_256 ,rega 
+0x7bbb 034741 arg mem_tmp2_256 ,regb 
+0x7bbc 034742 call bn_bigeq_256 
+0x7bbd 034743 branch bn_invmod_256_1 ,positive 
+0x7bbe 034744 arg mem_tmp2_256 ,rega 
+0x7bbf 034745 arg mem_tmp3_256 ,regb 
+0x7bc0 034746 copy rega ,contw 
+0x7bc1 034747 call bn_sub_256 
+0x7bc2 034748 arg mem_tmp0_256 ,rega 
+0x7bc3 034749 arg mem_tmp1_256 ,regb 
+0x7bc4 034750 copy regb ,contw 
+0x7bc5 034751 call bn_add_256 
+0x7bc6 034752 ifetch 1 ,rega 
+0x7bc7 034753 iadd regc ,regc 
+0x7bc8 034754 ifetch 1 ,regb 
+0x7bc9 034755 iadd regc ,pdata 
+0x7bca 034756 istore 1 ,regb 
+0x7bcb 034757 branch bn_invmod_256_2 
+:      034758 bn_invmod_256_1:
+0x7bcc 034759 arg mem_tmp3_256 ,rega 
+0x7bcd 034760 arg mem_tmp2_256 ,regb 
+0x7bce 034761 copy rega ,contw 
+0x7bcf 034762 call bn_sub_256 
+0x7bd0 034763 arg mem_tmp1_256 ,rega 
+0x7bd1 034764 arg mem_tmp0_256 ,regb 
+0x7bd2 034765 copy regb ,contw 
+0x7bd3 034766 call bn_add_256 
+0x7bd4 034767 ifetch 1 ,rega 
+0x7bd5 034768 iadd regc ,regc 
+0x7bd6 034769 ifetch 1 ,regb 
+0x7bd7 034770 iadd regc ,pdata 
+0x7bd8 034771 istore 1 ,regb 
+0x7bd9 034772 branch bn_invmod_256_2 
+:      034773 bn_invmod_256_0:
+0x7bda 034775 arg mem_tmp1_256 ,rega 
+0x7bdb 034776 copy timeup ,contw 
+0x7bdc 034777 call bn_p256mod 
+0x7bdd 034779 arg mem_p_256 ,rega 
+0x7bde 034780 copy timeup ,regb 
+0x7bdf 034781 copy timeup ,contw 
+0x7be0 034782 branch bn_submod_256 
+:      034785 bn_mulmod_256:
+0x7be1 034786 copy contw ,timeup 
+0x7be2 034788 force 0 ,regext_index 
+0x7be3 034790 arg mem_tmp1_256 ,contw 
+0x7be4 034791 call clear_mem_512 
+0x7be5 034792 arg mem_regext ,contw 
+0x7be6 034793 call clear_mem_512 
+0x7be7 034797 copy rega ,contr 
+0x7be8 034799 jam 0 ,mem_regext 
+0x7be9 034800 setarg 0 
+0x7bea 034801 call bn_load_mem 
+0x7beb 034802 copy regb ,contr 
+0x7bec 034803 call bn_load_256 
+0x7bed 034806 force 0 ,queue 
+0x7bee 034807 arg mem_tmp1_256 ,contw 
+:      034808 bn_mulmod_256_1:
+0x7bef 034811 arg mem_regext ,temp 
+0x7bf0 034812 copy queue ,regb 
+0x7bf1 034813 lshift2 regb ,pdata 
+0x7bf2 034815 iadd temp ,regb 
+0x7bf3 034816 force 0 ,temp 
+0x7bf4 034817 force 0 ,regc 
+:      034818 bn_mulmod_256_0:
+0x7bf5 034823 ifetch 4 ,contw 
+0x7bf6 034824 iforce rega 
+0x7bf7 034827 ifetch 4 ,regb 
+0x7bf8 034828 copy regc ,regext_index 
+0x7bf9 034829 imul32 regext ,pdata 
+0x7bfa 034830 iadd rega ,pdata 
+0x7bfb 034831 iadd temp ,pdata 
+0x7bfc 034832 istore 4 ,contw 
+0x7bfd 034833 rshift32 pdata ,temp 
+0x7bfe 034834 increase 1 ,regc 
+0x7bff 034835 compare 8 ,regc ,0xff 
+0x7c00 034836 nbranch bn_mulmod_256_0 ,true 
+0x7c01 034838 deposit temp 
+0x7c02 034839 istore 4 ,contw 
+0x7c03 034840 increase -32 ,contw 
+0x7c04 034843 increase 1 ,queue 
+0x7c05 034844 compare 8 ,queue ,0xff 
+0x7c06 034845 nbranch bn_mulmod_256_1 ,true 
+0x7c07 034846 arg mem_tmp1_256 ,rega 
+0x7c08 034847 copy timeup ,contw 
+0x7c09 034848 branch bn_p256mod 
+:      034850 bn_p256mod:
+0x7c0a 034851 bpatchx patch3e_2 ,mem_patch3e 
+0x7c0b 034852 copy contw ,timeup 
+0x7c0c 034853 copy rega ,alarm 
+0x7c0d 034854 arg mem_tmp2_256 ,regb 
+0x7c0e 034855 copy regb ,contw 
+0x7c0f 034856 call memset0_4 
+0x7c10 034857 istore 8 ,contw 
+0x7c11 034858 add rega ,44 ,contr 
+0x7c12 034859 call memcpy8 
+0x7c13 034860 call memcpy12 
+0x7c14 034861 copy regb ,rega 
+0x7c15 034862 call bn_lshiftmod_256 
+0x7c16 034863 arg mem_tmp2_256 ,regb 
+0x7c17 034864 copy alarm ,rega 
+0x7c18 034865 copy timeup ,contw 
+0x7c19 034866 call bn_addmod_256 
+0x7c1a 034868 arg mem_tmp2_256 ,regb 
+0x7c1b 034869 copy regb ,contw 
+0x7c1c 034870 call memset0_4 
+0x7c1d 034871 istore 8 ,contw 
+0x7c1e 034872 add alarm ,48 ,contr 
+0x7c1f 034873 call memcpy16 
+0x7c20 034874 call memset0_4 
+0x7c21 034875 copy regb ,rega 
+0x7c22 034876 call bn_lshiftmod_256 
+0x7c23 034880 arg mem_tmp2_256 ,regb 
+0x7c24 034881 copy timeup ,rega 
+0x7c25 034882 copy rega ,contw 
+0x7c26 034883 call bn_addmod_256 
+0x7c27 034887 arg mem_tmp2_256 ,regb 
+0x7c28 034888 copy regb ,contw 
+0x7c29 034889 add alarm ,32 ,contr 
+0x7c2a 034890 call memcpy12 
+0x7c2b 034891 call memset0_4 
+0x7c2c 034892 istore 8 ,contw 
+0x7c2d 034893 add alarm ,56 ,contr 
+0x7c2e 034894 call memcpy8 
+0x7c2f 034895 copy timeup ,rega 
+0x7c30 034896 copy rega ,contw 
+0x7c31 034897 call bn_addmod_256 
+0x7c32 034901 arg mem_tmp2_256 ,regb 
+0x7c33 034902 copy regb ,contw 
+0x7c34 034903 add alarm ,36 ,contr 
+0x7c35 034904 call memcpy12 
+0x7c36 034905 add alarm ,52 ,contr 
+0x7c37 034906 call memcpy12 
+0x7c38 034907 add alarm ,52 ,contr 
+0x7c39 034908 call memcpy4 
+0x7c3a 034909 add alarm ,32 ,contr 
+0x7c3b 034910 call memcpy4 
+0x7c3c 034911 copy timeup ,rega 
+0x7c3d 034912 copy rega ,contw 
+0x7c3e 034913 call bn_addmod_256 
+0x7c3f 034916 arg mem_tmp2_256 ,regb 
+0x7c40 034917 copy regb ,contw 
+0x7c41 034918 add alarm ,44 ,contr 
+0x7c42 034919 call memcpy12 
+0x7c43 034920 call memset0_4 
+0x7c44 034921 istore 8 ,contw 
+0x7c45 034922 add alarm ,32 ,contr 
+0x7c46 034923 call memcpy4 
+0x7c47 034924 add alarm ,40 ,contr 
+0x7c48 034925 call memcpy4 
+0x7c49 034926 copy timeup ,rega 
+0x7c4a 034927 copy rega ,contw 
+0x7c4b 034928 call bn_submod_256 
+0x7c4c 034931 arg mem_tmp2_256 ,regb 
+0x7c4d 034932 copy regb ,contw 
+0x7c4e 034933 add alarm ,48 ,contr 
+0x7c4f 034934 call memcpy8 
+0x7c50 034935 call memcpy8 
+0x7c51 034936 force 0 ,pdata 
+0x7c52 034937 istore 8 ,contw 
+0x7c53 034938 add alarm ,36 ,contr 
+0x7c54 034939 call memcpy4 
+0x7c55 034940 add alarm ,44 ,contr 
+0x7c56 034941 call memcpy4 
+0x7c57 034942 copy timeup ,rega 
+0x7c58 034943 copy rega ,contw 
+0x7c59 034944 call bn_submod_256 
+0x7c5a 034947 arg mem_tmp2_256 ,regb 
+0x7c5b 034948 copy regb ,contw 
+0x7c5c 034949 add alarm ,52 ,contr 
+0x7c5d 034950 call memcpy12 
+0x7c5e 034951 add alarm ,32 ,contr 
+0x7c5f 034952 call memcpy12 
+0x7c60 034953 call memset0_4 
+0x7c61 034954 add alarm ,48 ,contr 
+0x7c62 034955 call memcpy4 
+0x7c63 034956 copy timeup ,rega 
+0x7c64 034957 copy rega ,contw 
+0x7c65 034958 call bn_submod_256 
+0x7c66 034961 arg mem_tmp2_256 ,regb 
+0x7c67 034962 copy regb ,contw 
+0x7c68 034963 add alarm ,56 ,contr 
+0x7c69 034964 call memcpy8 
+0x7c6a 034965 call memset0_4 
+0x7c6b 034966 add alarm ,36 ,contr 
+0x7c6c 034967 call memcpy12 
+0x7c6d 034968 call memset0_4 
+0x7c6e 034969 add alarm ,52 ,contr 
+0x7c6f 034970 call memcpy4 
+0x7c70 034971 copy timeup ,rega 
+0x7c71 034972 copy rega ,contw 
+0x7c72 034973 branch bn_submod_256 
+:      034976 bn_load_mem:
+0x7c73 034977 force 32 ,loopcnt 
+0x7c74 034978 arg mem_regext ,contw 
+0x7c75 034979 iadd contw ,contw 
+0x7c76 034980 branch memcpy 
+:      034982 bn_load_256:
+0x7c77 034983 force 8 ,loopcnt 
+0x7c78 034984 branch bn_load_0 
+:      034986 bn_sqrmod_256:
+0x7c79 034987 copy rega ,regb 
+0x7c7a 034988 branch bn_mulmod_256 
+:      034990 bn_add_256:
+0x7c7b 034991 force 8 ,loopcnt 
+0x7c7c 034992 branch bn_add + 1 
+:      034994 bn_addmod_256:
+0x7c7d 034995 call bn_add_256 
+0x7c7e 034996 copy contw ,rega 
+0x7c7f 034997 branch bn_lshiftmod_ismod_256 
+:      034999 bn_lshiftmod_256:
+0x7c80 035000 call bn_lshift_256 
+:      035001 bn_lshiftmod_ismod_256:
+0x7c81 035002 isolate1 0 ,regc 
+0x7c82 035003 branch bn_lshiftmod_p_256 ,true 
+0x7c83 035004 arg mem_p_256 ,regb 
+0x7c84 035005 copy rega ,regc 
+0x7c85 035006 increase -32 ,rega 
+0x7c86 035007 call bn_bigeq_256 
+0x7c87 035008 nrtn positive 
+0x7c88 035009 copy regc ,rega 
+0x7c89 035010 branch sub_p2_256 
+:      035012 bn_lshiftmod_p_256:
+0x7c8a 035013 call sub_p2_256 
+0x7c8b 035015 copy rega ,regc 
+0x7c8c 035016 increase -32 ,rega 
+0x7c8d 035017 arg mem_p_256 ,regb 
+0x7c8e 035018 call bn_bigeq_256 
+0x7c8f 035019 nrtn positive 
+0x7c90 035020 copy regc ,rega 
+0x7c91 035021 branch sub_p2_256 
+:      035024 sub_p2_256:
+0x7c92 035025 increase -32 ,rega 
+0x7c93 035026 arg mem_p_256 ,regb 
+0x7c94 035027 copy rega ,contw 
+0x7c95 035028 branch bn_sub_256 
+:      035033 bn_submod_256:
+0x7c96 035034 call bn_sub_256 
+0x7c97 035036 branch bn_submod_256_np ,true 
+0x7c98 035039 add contw ,-32 ,rega 
+0x7c99 035040 arg mem_p_256 ,regb 
+0x7c9a 035041 call bn_bigeq_256 
+0x7c9b 035042 nrtn positive 
+0x7c9c 035043 arg mem_p_256 ,regb 
+0x7c9d 035044 add contw ,-32 ,rega 
+0x7c9e 035046 copy rega ,contw 
+0x7c9f 035047 branch bn_sub_256 
+:      035048 bn_submod_256_np:
+0x7ca0 035049 add contw ,-32 ,rega 
+0x7ca1 035050 arg mem_p_256 ,regb 
+0x7ca2 035051 copy rega ,contw 
+0x7ca3 035052 call bn_add_256 
+0x7ca4 035054 rtn true 
+0x7ca5 035055 add contw ,-32 ,rega 
+0x7ca6 035056 arg mem_p_256 ,regb 
+0x7ca7 035057 copy rega ,contw 
+0x7ca8 035058 branch bn_add_256 
+:      035062 bn_sub_256:
+0x7ca9 035063 force 8 ,loopcnt 
+0x7caa 035064 branch bn_sub + 1 
+:      035066 bn_rshift_256:
+0x7cab 035067 force 8 ,loopcnt 
+0x7cac 035068 increase 28 ,rega 
+0x7cad 035069 branch bn_rshift 
+:      035071 bn_lshift_256:
+0x7cae 035072 force 8 ,loopcnt 
+0x7caf 035073 force 0 ,regc 
+0x7cb0 035074 branch bn_lshift_0 
+:      035076 bn_bigeq_256:
+0x7cb1 035077 force 8 ,loopcnt 
+0x7cb2 035078 increase 28 ,rega 
+0x7cb3 035079 increase 28 ,regb 
+0x7cb4 035080 branch bn_bigeq_0 
+:      035083 bn_eq_zero_256:
+0x7cb5 035084 ifetch 8 ,contr 
+0x7cb6 035085 nrtn blank 
+0x7cb7 035086 branch bn_eq_zero 
+:      035091 bn_rshifteven_256:
+0x7cb8 035092 copy rega ,alarm 
+:      035093 bn_rshifteven_256_1:
+0x7cb9 035094 copy alarm ,rega 
+0x7cba 035095 ifetch 1 ,rega 
+0x7cbb 035096 isolate1 0 ,pdata 
+0x7cbc 035097 rtn true 
+0x7cbd 035098 call bn_rshift_256 
+0x7cbe 035099 ifetch 1 ,regb 
+0x7cbf 035100 isolate0 0 ,pdata 
+0x7cc0 035101 branch bn_rshifteven_256_0 ,true 
+0x7cc1 035102 arg mem_p_256 ,rega 
+0x7cc2 035103 copy regb ,contw 
+0x7cc3 035104 call bn_add_256 
+0x7cc4 035105 ifetch 1 ,regb 
+0x7cc5 035106 iadd regc ,pdata 
+0x7cc6 035107 istore 1 ,regb 
+0x7cc7 035108 increase -32 ,regb 
+:      035109 bn_rshifteven_256_0:
+0x7cc8 035110 add regb ,32 ,rega 
+0x7cc9 035111 force 9 ,loopcnt 
+0x7cca 035112 call bn_rshift 
+0x7ccb 035113 branch bn_rshifteven_256_1 
+:      035117 ui_init:
+0x7ccc 035118 call lpm_disable_exen_output 
+0x7ccd 035119 rtn wake 
+0x7cce 035120 call ui_button_init 
+0x7ccf 035121 call ui_timer_init 
+0x7cd0 035122 branch ui_led_init_global 
+:      035124 ui_dispatch:
+0x7cd1 035125 call ui_led_dispatch 
+0x7cd2 035127 branch ui_timer_check 
+:      035129 ui_button_init:
+0x7cd3 035130 fetch 1 ,mem_ui_button_gpio 
+0x7cd4 035131 rtneq ui_button_gpio_disable 
+0x7cd5 035132 iforce temp 
+0x7cd6 035133 call gpio_config_output 
+0x7cd7 035134 fetcht 1 ,mem_ui_button_gpio 
+0x7cd8 035135 call gpio_out_inactive 
+0x7cd9 035136 nop 100 
+0x7cda 035137 fetcht 1 ,mem_ui_button_gpio 
+0x7cdb 035138 call gpio_config_input 
+0x7cdc 035139 branch ui_button_polling 
+:      035143 ui_button_polling:
+0x7cdd 035144 bpatchx patch3e_3 ,mem_patch3e 
+0x7cde 035145 fetch 1 ,mem_ui_button_gpio 
+0x7cdf 035146 rtneq ui_button_gpio_disable 
+0x7ce0 035147 copy pdata ,temp 
+0x7ce1 035148 call gpio_get_bit 
+0x7ce2 035149 nbranch ui_button_up ,true 
+:      035151 ui_button_down:
+0x7ce3 035152 call ui_button_check_long_press 
+0x7ce4 035153 fetch 2 ,mem_ui_state_map 
+0x7ce5 035154 set1 ui_state_btn_down 
+0x7ce6 035155 store 2 ,mem_ui_state_map 
+0x7ce7 035156 fetch 1 ,mem_ui_button_last_state 
+0x7ce8 035157 rtneq ui_button_state_down 
+0x7ce9 035158 jam ui_button_state_down ,mem_ui_button_last_state 
+0x7cea 035160 fetch 1 ,mem_ui_button_timeout 
+0x7ceb 035161 store 1 ,mem_ui_button_timer 
+0x7cec 035162 call lpm_button_get_wake_lock 
+0x7ced 035163 jam bt_evt_button_down ,mem_fifo_temp 
+0x7cee 035164 branch ui_ipc_send_event 
+:      035165 ui_button_up:
+0x7cef 035166 fetch 2 ,mem_ui_state_map 
+0x7cf0 035167 set0 ui_state_btn_down 
+0x7cf1 035168 store 2 ,mem_ui_state_map 
+0x7cf2 035169 fetch 1 ,mem_ui_button_last_state 
+0x7cf3 035170 rtneq ui_button_state_up 
+0x7cf4 035171 jam ui_button_state_up ,mem_ui_button_last_state 
+0x7cf5 035173 jam 0 ,mem_ui_button_timer 
+0x7cf6 035174 call lpm_button_clean_wake_lock 
+0x7cf7 035175 jam bt_evt_button_up ,mem_fifo_temp 
+0x7cf8 035176 branch ui_ipc_send_event 
+:      035178 ui_button_check_long_press:
+0x7cf9 035179 fetch 1 ,mem_ui_button_timer 
+0x7cfa 035180 rtn blank 
+0x7cfb 035181 increase -1 ,pdata 
+0x7cfc 035182 store 1 ,mem_ui_button_timer 
+0x7cfd 035183 nrtn blank 
+0x7cfe 035185 jam bt_evt_button_long_pressed ,mem_fifo_temp 
+0x7cff 035186 branch ui_ipc_send_event 
+:      035188 lpm_button_get_wake_lock:
+0x7d00 035189 arg wake_lock_button ,queue 
+0x7d01 035190 branch lpm_get_wake_lock 
+:      035192 lpm_button_clean_wake_lock:
+0x7d02 035193 arg wake_lock_button ,queue 
+0x7d03 035194 branch lpm_put_wake_lock 
+:      035216 calc_curr_struct_prt:
+0x7d04 035217 fetch 2 ,mem_ui_led_struct_ptr 
+0x7d05 035218 mul32 rega ,led_offset_length ,regb 
+0x7d06 035219 iadd regb ,regb 
+0x7d07 035220 rtn 
+:      035223 ui_led_init_global:
+0x7d08 035224 fetch 1 ,mem_ui_led_struct_num 
+0x7d09 035225 rtn blank 
+0x7d0a 035226 copy pdata ,loopcnt 
+0x7d0b 035227 fetch 2 ,mem_ui_led_struct_ptr 
+0x7d0c 035228 copy pdata ,regb 
+:      035229 ui_led_init_loop:
+0x7d0d 035230 add regb ,led_offset_led_gpio ,regc 
+0x7d0e 035231 ifetcht 1 ,regc 
+0x7d0f 035232 call gpio_config_output 
+0x7d10 035233 call ui_led_off_static 
+0x7d11 035234 increase led_offset_length ,regb 
+0x7d12 035235 loop ui_led_init_loop 
+0x7d13 035236 rtn 
+:      035240 ui_led_on_global:
+0x7d14 035241 call calc_curr_struct_prt 
+0x7d15 035242 setarg ui_led_state_lighting 
+0x7d16 035243 istore 1 ,regb 
+0x7d17 035244 call ui_led_stop_timer 
+0x7d18 035245 branch ui_led_on_static 
+:      035249 ui_led_blink_stop_global:
+:      035250 ui_led_off_global:
+0x7d19 035251 call calc_curr_struct_prt 
+0x7d1a 035252 setarg ui_led_state_darking 
+0x7d1b 035253 istore 1 ,regb 
+0x7d1c 035254 call ui_led_stop_timer 
+0x7d1d 035255 branch ui_led_off_static 
+:      035259 ui_led_blink_start_global:
+0x7d1e 035260 call calc_curr_struct_prt 
+0x7d1f 035261 setarg ui_led_state_blink_start 
+0x7d20 035262 istore 1 ,regb 
+0x7d21 035263 setarg led_infinite_flash_num 
+0x7d22 035264 istore 1 ,contw 
+0x7d23 035265 branch ui_led_off_static 
+:      035270 ui_led_set_style_global:
+0x7d24 035271 call calc_curr_struct_prt 
+0x7d25 035272 arg led_offset_length ,loopcnt 
+0x7d26 035273 copy regc ,contr 
+0x7d27 035274 copy regb ,contw 
+0x7d28 035275 branch memcpy_fast 
+:      035279 ui_led_dispatch:
+0x7d29 035280 fetch 1 ,mem_ui_led_struct_num 
+0x7d2a 035281 rtn blank 
+0x7d2b 035282 arg 0 ,rega 
+:      035283 ui_led_blink_polling:
+0x7d2c 035284 call ui_led_change_style_by_type 
+0x7d2d 035285 increase 1 ,rega 
+0x7d2e 035286 fetch 1 ,mem_ui_led_struct_num 
+0x7d2f 035287 isub rega ,null 
+0x7d30 035288 rtn zero 
+0x7d31 035289 branch ui_led_blink_polling 
+:      035292 ui_led_off_static:
+0x7d32 035293 add regb ,led_offset_led_gpio ,regc 
+0x7d33 035294 ifetcht 1 ,regc 
+0x7d34 035295 branch gpio_out_inactive 
+:      035298 ui_led_on_static:
+0x7d35 035299 add regb ,led_offset_led_gpio ,regc 
+0x7d36 035300 ifetcht 1 ,regc 
+0x7d37 035301 branch gpio_out_active 
+:      035305 ui_led_change_style_by_type:
+0x7d38 035306 add rega ,ui_led_blink ,queue 
+0x7d39 035307 call timer_check 
+0x7d3a 035308 nrtn blank 
+0x7d3b 035310 call calc_curr_struct_prt 
+0x7d3c 035312 ifetch 1 ,regb 
+0x7d3d 035314 beq ui_led_state_lighting ,ui_led_on_static 
+0x7d3e 035315 beq ui_led_state_darking ,ui_led_off_static 
+0x7d3f 035316 beq ui_led_state_blink_stop ,ui_led_off_static 
+0x7d40 035317 beq ui_led_state_blink_darking ,ui_led_blink_state_darking 
+:      035318 ui_led_blink_state_lighting:
+0x7d41 035319 call ui_led_on_static 
+0x7d42 035320 add regb ,led_offset_cb_ledon ,regc 
+0x7d43 035321 call push_stack 
+0x7d44 035322 ifetch 2 ,regc 
+0x7d45 035323 call callback_func 
+0x7d46 035324 call pop_stack 
+0x7d47 035325 setarg ui_led_state_blink_darking 
+0x7d48 035326 istore 1 ,regb 
+0x7d49 035327 add regb ,led_offset_on_time ,regc 
+0x7d4a 035328 ifetch 2 ,regc 
+0x7d4b 035329 branch ui_led_blink_timer_start 
+:      035332 ui_led_blink_state_darking:
+0x7d4c 035333 call ui_led_off_static 
+0x7d4d 035334 add regb ,led_offset_cb_ledoff ,regc 
+0x7d4e 035335 call push_stack 
+0x7d4f 035336 ifetch 2 ,regc 
+0x7d50 035337 call callback_func 
+0x7d51 035338 call pop_stack 
+0x7d52 035340 add regb ,led_offset_blink_count ,regc 
+0x7d53 035341 ifetch 1 ,regc 
+0x7d54 035342 beq led_infinite_flash_num ,ui_led_blink_infinite 
+0x7d55 035343 increase -1 ,pdata 
+0x7d56 035344 istore 1 ,regc 
+0x7d57 035345 branch ui_led_blink_stop_global ,blank 
+:      035346 ui_led_blink_infinite:
+0x7d58 035347 setarg ui_led_state_blink_lighting 
+0x7d59 035348 istore 1 ,regb 
+0x7d5a 035349 add regb ,led_offset_off_time ,regc 
+0x7d5b 035350 ifetch 2 ,regc 
+:      035351 ui_led_blink_timer_start:
+0x7d5c 035352 add rega ,ui_led_blink ,queue 
+0x7d5d 035353 branch timer_init 
+:      035355 ui_led_stop_timer:
+0x7d5e 035356 setarg 0 
+0x7d5f 035357 branch ui_led_blink_timer_start 
+:      035363 ui_timer_timeout:
+0x7d60 035364 setarg 0x1000 
+0x7d61 035365 lshift16 pdata ,pdata 
+0x7d62 035366 iadd regb ,regb 
+0x7d63 035367 rtn 
+:      035369 ui_timer_check:
+0x7d64 035370 bpatchx patch3e_4 ,mem_patch3e 
+0x7d65 035371 arg 0 ,rega 
+0x7d66 035372 fetcht 4 ,mem_ui_timer_last_btclk 
+0x7d67 035373 copy clkn_bt ,regb 
+0x7d68 035374 copy regb ,pdata 
+0x7d69 035375 isub temp ,null 
+0x7d6a 035376 ncall ui_timer_timeout ,positive 
+:      035378 ui_timer_check_loop:
+0x7d6b 035379 copy regb ,pdata 
+0x7d6c 035380 increase 160 ,temp 
+0x7d6d 035381 increase 160 ,temp 
+0x7d6e 035382 isub temp ,null 
+0x7d6f 035383 nbranch ui_timer_check_end ,positive 
+0x7d70 035384 increase 1 ,rega 
+0x7d71 035385 and rega ,0x0f ,pdata 
+0x7d72 035386 nbranch ui_timer_check_loop ,blank 
+0x7d73 035387 arg 0 ,rega 
+0x7d74 035388 call ui_timer_check_send_evt 
+:      035389 ui_timer_init:
+0x7d75 035390 copy clkn_bt ,pdata 
+0x7d76 035391 store 4 ,mem_ui_timer_last_btclk 
+0x7d77 035392 rtn 
+:      035393 ui_timer_check_end:
+0x7d78 035394 bpatchx patch3e_5 ,mem_patch3e 
+0x7d79 035395 copy rega ,pdata 
+0x7d7a 035396 rtn blank 
+0x7d7b 035397 increase -160 ,temp 
+0x7d7c 035398 increase -160 ,temp 
+0x7d7d 035399 set0 28 ,temp 
+0x7d7e 035400 storet 4 ,mem_ui_timer_last_btclk 
+:      035401 ui_timer_check_send_evt:
+0x7d7f 035402 branch app_evt_timer 
+:      035409 ui_ipc_get_lock:
+0x7d80 035410 jam 1 ,mem_ipc_lock_bt 
+:      035411 ui_ipc_get_lock_wait:
+0x7d81 035412 fetch 1 ,mem_ipc_lock_c51 
+0x7d82 035413 nbranch ui_ipc_get_lock_wait ,blank 
+0x7d83 035414 rtn 
+:      035416 ui_ipc_put_lock:
+0x7d84 035417 jam 0 ,mem_ipc_lock_bt 
+0x7d85 035418 rtn 
+:      035422 ui_ipc_send_event:
+0x7d86 035423 bpatchx patch3e_6 ,mem_patch3e 
+0x7d87 035424 call ui_ipc_get_lock 
+0x7d88 035425 copy rega ,pdata 
+0x7d89 035426 store 4 ,mem_ipc_rega_temp 
+0x7d8a 035427 arg mem_ipc_fifo_bt2c51 ,rega 
+0x7d8b 035428 call fifo_in 
+0x7d8c 035429 fetch 4 ,mem_ipc_rega_temp 
+0x7d8d 035430 copy pdata ,rega 
+0x7d8e 035431 branch ui_ipc_put_lock 
+:      035433 ui_ipc_send_cmd:
+0x7d8f 035434 bpatchx patch3e_7 ,mem_patch3e 
+0x7d90 035435 call ui_ipc_get_lock 
+0x7d91 035436 copy rega ,pdata 
+0x7d92 035437 store 4 ,mem_ipc_rega_temp 
+0x7d93 035438 arg mem_ipc_fifo_c512bt ,rega 
+0x7d94 035439 call fifo_in 
+0x7d95 035440 fetch 4 ,mem_ipc_rega_temp 
+0x7d96 035441 copy pdata ,rega 
+0x7d97 035442 branch ui_ipc_put_lock 
+:      035444 ui_ipc_clean_all_fifo:
+0x7d98 035445 setarg 0 
+0x7d99 035446 store util_fifo_len ,mem_ipc_fifo_c512bt 
+0x7d9a 035447 store util_fifo_len ,mem_ipc_fifo_bt2c51 
+0x7d9b 035448 rtn 
+:      035450 check_51cmd:
+0x7d9c 035451 bpatchx patch3f_0 ,mem_patch3f 
+0x7d9d 035452 fetch 1 ,mem_hci_cmd 
+0x7d9e 035453 nrtn blank 
+0x7d9f 035454 arg mem_ipc_fifo_c512bt ,rega 
+0x7da0 035455 call fifo_is_empty 
+0x7da1 035456 rtn blank 
+0x7da2 035457 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+0x7da3 035458 call check_51cmd_once 
+0x7da4 035459 fetch 1 ,mem_ipc_skip_continue_proc 
+0x7da5 035460 branch check_51cmd ,blank 
+0x7da6 035461 rtn 
+:      035463 check_51cmd_once:
+0x7da7 035464 call ui_ipc_get_lock 
+0x7da8 035465 arg mem_ipc_fifo_c512bt ,rega 
+0x7da9 035466 call fifo_out 
+0x7daa 035467 copy pdata ,temp 
+0x7dab 035468 call ui_ipc_put_lock 
+0x7dac 035469 bpatchx patch3f_1 ,mem_patch3f 
+0x7dad 035470 copy temp ,pdata 
+0x7dae 035471 rtn blank 
+0x7daf 035472 beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+0x7db0 035473 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+0x7db1 035474 beq bt_cmd_reconnect ,check_51cmd_reconnect 
+0x7db2 035475 beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+0x7db3 035476 beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+0x7db4 035477 beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+0x7db5 035478 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+0x7db6 035479 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+0x7db7 035480 beq bt_cmd_start_adv ,check_51cmd_adv 
+0x7db8 035481 beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+0x7db9 035482 beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+0x7dba 035483 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+0x7dbb 035484 beq bt_cmd_led_off ,check_51cmd_led_off 
+0x7dbc 035485 beq bt_cmd_led_on ,check_51cmd_led_on 
+0x7dbd 035486 beq bt_cmd_led_blink ,check_51cmd_led_start_blink 
+0x7dbe 035487 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+0x7dbf 035488 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+0x7dc0 035489 beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+0x7dc1 035490 beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+0x7dc2 035491 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+0x7dc3 035492 beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+0x7dc4 035494 store 1 ,mem_fifo_temp 
+0x7dc5 035495 bpatchx patch3f_2 ,mem_patch3f 
+0x7dc6 035496 call lmo_fifo_check 
+0x7dc7 035497 nbranch check_51cmd_restore ,blank 
+:      035498 check_51cmd_once_continue:
+0x7dc8 035499 fetch 1 ,mem_fifo_temp 
+0x7dc9 035500 bmark0 mark_context ,check_51cmd_check_idle 
+0x7dca 035501 beq bt_cmd_disconnect ,check_51cmd_disconnect 
+0x7dcb 035502 beq bt_cmd_enter_sniff ,cmd_in_sniff 
+0x7dcc 035503 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+0x7dcd 035504 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+0x7dce 035505 beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+0x7dcf 035506 beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+0x7dd0 035507 beq bt_cmd_role_switch ,check_51cmd_role_switch 
+0x7dd1 035508 beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+0x7dd2 035509 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+0x7dd3 035510 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+0x7dd4 035511 beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+0x7dd5 035512 rtn 
+:      035514 check_51cmd_check_idle:
+0x7dd6 035515 store 1 ,mem_fifo_temp 
+0x7dd7 035516 call context_check_idle 
+0x7dd8 035517 branch check_51cmd_restore ,zero 
+0x7dd9 035518 call context_search_plap 
+0x7dda 035519 nrtn zero 
+:      035520 check_51cmd_restore:
+0x7ddb 035521 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+0x7ddc 035522 branch ui_ipc_send_cmd 
+:      035527 check_51cmd_start_discovery:
+0x7ddd 035528 fetch 2 ,mem_ui_state_map 
+0x7dde 035529 set1 ui_state_bt_discovery 
+0x7ddf 035530 store 2 ,mem_ui_state_map 
+0x7de0 035531 jam 3 ,mem_scan_mode 
+0x7de1 035532 rtn 
+:      035536 check_51cmd_stop_discovery:
+0x7de2 035537 jam 0 ,mem_hid_handshake_timer_count 
+0x7de3 035538 jam 0 ,mem_scan_mode 
+0x7de4 035539 fetch 2 ,mem_ui_state_map 
+0x7de5 035540 set0 ui_state_bt_discovery 
+0x7de6 035541 store 2 ,mem_ui_state_map 
+0x7de7 035542 rtn 
+:      035546 check_51cmd_reconnect:
+0x7de8 035547 jam hci_cmd_create_conn ,mem_hci_cmd 
+0x7de9 035548 rtn 
+:      035552 check_51cmd_disconnect:
+0x7dea 035553 jam lmp_detach ,mem_lmo_opcode2 
+0x7deb 035554 jam other_end_terminated ,mem_disconn_reason_send 
+0x7dec 035555 rtn 
+:      035559 check_51cmd_enter_sniff_subrating:
+0x7ded 035560 rtn 
+:      035564 check_51cmd_exit_sniff_subrating:
+0x7dee 035565 rtn 
+:      035569 check_51cmd_sniff_test:
+0x7def 035570 rtn 
+:      035574 check_51cmd_pincode:
+0x7df0 035575 jam pincode_state_pincode_ready ,mem_pincode_state 
+0x7df1 035576 branch cmd_pair 
+:      035580 check_51cmd_inq:
+0x7df2 035581 rtn 
+:      035585 check_51cmd_stop_inq:
+0x7df3 035586 rtn 
+:      035590 check_51cmd_adv:
+0x7df4 035591 jam on ,mem_le_adv_enable 
+0x7df5 035592 jam adv_ind ,mem_le_adv_type 
+0x7df6 035593 fetch 2 ,mem_ui_state_map 
+0x7df7 035594 set1 ui_state_ble_adv ,pdata 
+0x7df8 035595 store 2 ,mem_ui_state_map 
+0x7df9 035596 rtn 
+:      035600 check_51cmd_stop_adv:
+0x7dfa 035601 fetch 2 ,mem_ui_state_map 
+0x7dfb 035602 set0 ui_state_ble_adv ,pdata 
+0x7dfc 035603 store 2 ,mem_ui_state_map 
+0x7dfd 035604 jam off ,mem_le_adv_enable 
+0x7dfe 035605 rtn 
+:      035609 check_51cmd_direct_adv:
+0x7dff 035610 jam on ,mem_le_adv_enable 
+0x7e00 035611 jam adv_direct_ind ,mem_le_adv_type 
+0x7e01 035612 fetch 2 ,mem_ui_state_map 
+0x7e02 035613 set1 ui_state_ble_adv ,pdata 
+0x7e03 035614 store 2 ,mem_ui_state_map 
+0x7e04 035615 rtn 
+:      035619 check_51cmd_stop_direct_adv:
+0x7e05 035620 fetch 2 ,mem_ui_state_map 
+0x7e06 035621 set0 ui_state_ble_adv ,pdata 
+0x7e07 035622 store 2 ,mem_ui_state_map 
+0x7e08 035623 jam off ,mem_le_adv_enable 
+0x7e09 035624 rtn 
+:      035628 check_51cmd_le_disconnect:
+0x7e0a 035629 setarg 20 
+0x7e0b 035630 store 2 ,mem_le_superto 
+0x7e0c 035631 store 2 ,mem_le_init_superto 
+0x7e0d 035632 branch le_send_terminate_ind_user_terminated 
+:      035636 check_51cmd_ble_update_connect_param:
+0x7e0e 035637 branch le_l2cap_tx_update_req 
+:      035641 check_51cmd_led_off:
+0x7e0f 035642 arg 0 ,rega 
+0x7e10 035643 branch ui_led_off_global 
+:      035647 check_51cmd_led_on:
+0x7e11 035648 arg 0 ,rega 
+0x7e12 035649 branch ui_led_on_global 
+:      035653 check_51cmd_led_start_blink:
+0x7e13 035654 arg 0 ,rega 
+0x7e14 035655 branch ui_led_blink_start_global 
+:      035659 check_51cmd_le_start_con:
+0x7e15 035660 jam on ,mem_le_scan_enable 
+0x7e16 035661 jam hci_cmd_le_create_conn ,mem_hci_cmd 
+0x7e17 035664 rtn 
+:      035668 check_51cmd_start_scan:
+0x7e18 035669 jam on ,mem_le_scan_enable 
+0x7e19 035670 rtn 
+:      035674 check_51cmd_stop_scan:
+0x7e1a 035675 jam off ,mem_le_scan_enable 
+0x7e1b 035676 jam 0 ,mem_hci_cmd 
+0x7e1c 035677 rtn 
+:      035681 check_51cmd_hibernate:
+0x7e1d 035682 fetch 2 ,mem_cb_before_hibernate 
+0x7e1e 035683 call callback_func 
+0x7e1f 035684 fetch 1 ,mem_ui_button_gpio 
+0x7e20 035685 beq ui_button_gpio_disable ,check_51cmd_hibernate_btn_disabled 
+0x7e21 035686 copy pdata ,temp 
+0x7e22 035687 call gpio_config_input 
+:      035688 check_51cmd_hibernate_btn_disabled:
+0x7e23 035689 call ui_ipc_clean_all_fifo 
+0x7e24 035690 branch lpm_hibernate 
+:      035694 check_51cmd_le_smp_sec_req:
+0x7e25 035695 branch le_send_smp_security_request 
+:      035699 check_51cmd_role_switch:
+0x7e26 035700 jam lmp_slot_offset ,mem_lmo_opcode2 
+0x7e27 035701 set1 mark_switch_initiated ,mark 
+0x7e28 035702 nrtn master 
+0x7e29 035703 jam switch_flag_init ,mem_switch_flag 
+0x7e2a 035704 jam lmp_switch_req ,mem_lmo_opcode2 
+0x7e2b 035705 fetch 1 ,mem_connection_options 
+0x7e2c 035706 set0 connection_switch ,pdata 
+0x7e2d 035707 store 1 ,mem_connection_options 
+0x7e2e 035708 rtn 
+:      035712 check_51cmd_bb_reconn_cancel:
+0x7e2f 035713 force page_length_timer ,queue 
+0x7e30 035714 branch timer_stop 
+:      035718 check_51cmd_dhkey_not_accept:
+0x7e31 035719 call tid_set_reply 
+0x7e32 035720 jam lmp_dhkey_check ,mem_lmi_opcode2 
+0x7e33 035721 branch parse_lmp_dhkey_check_reject 
+:      035724 ui_check_paring_button:
+0x7e34 035725 fetch 1 ,mem_ui_state_map 
+0x7e35 035726 rtnbit0 ui_state_btn_down 
+0x7e36 035727 rtnbit0 ui_state_bt_reconnect 
+0x7e37 035728 branch check_51cmd_bb_reconn_cancel 
+:      035733 queue_init:
+0x7e38 035734 fetch 2 ,mem_queue_ptr 
+0x7e39 035735 add pdata ,queue_offset_curr_num ,contw 
+0x7e3a 035736 setarg 0 
+0x7e3b 035737 istore 3 ,contw 
+0x7e3c 035738 rtn 
+:      035742 queue_push:
+0x7e3d 035743 call disable_user 
+0x7e3e 035744 call queue_full 
+0x7e3f 035745 rtn blank 
+0x7e40 035746 fetch 2 ,mem_queue_ptr 
+0x7e41 035747 add pdata ,queue_offset_curr_num ,regb 
+0x7e42 035748 ifetcht 1 ,regb 
+0x7e43 035749 increase 1 ,temp 
+0x7e44 035750 istoret 1 ,regb 
+0x7e45 035752 ifetcht 1 ,pdata 
+0x7e46 035753 copy temp ,loopcnt 
+0x7e47 035754 add pdata ,queue_offset_write_ptr ,regb 
+0x7e48 035755 ifetch 1 ,regb 
+0x7e49 035756 imul32 temp ,pdata 
+0x7e4a 035757 iadd contr ,contw 
+0x7e4b 035758 copy rega ,contr 
+:      035759 calc_queue_next_ptr:
+0x7e4c 035760 call memcpy 
+0x7e4d 035761 call queue_get_size 
+0x7e4e 035762 pincrease -1 
+0x7e4f 035763 ifetcht 1 ,regb 
+0x7e50 035764 increase 1 ,temp 
+0x7e51 035765 iand temp ,temp 
+0x7e52 035766 istoret 1 ,regb 
+0x7e53 035767 branch enable_user 
+:      035772 queue_pop:
+0x7e54 035773 call disable_user 
+0x7e55 035774 call queue_empty 
+0x7e56 035775 rtn blank 
+0x7e57 035776 fetch 2 ,mem_queue_ptr 
+0x7e58 035777 add pdata ,queue_offset_curr_num ,regb 
+0x7e59 035778 ifetcht 1 ,regb 
+0x7e5a 035779 increase -1 ,temp 
+0x7e5b 035780 istoret 1 ,regb 
+0x7e5c 035781 ifetcht 1 ,pdata 
+0x7e5d 035782 copy temp ,loopcnt 
+0x7e5e 035783 add pdata ,queue_offset_read_ptr ,regb 
+0x7e5f 035784 ifetch 1 ,regb 
+0x7e60 035785 imul32 temp ,pdata 
+0x7e61 035786 iadd contr ,contr 
+0x7e62 035787 increase 1 ,contr 
+0x7e63 035788 copy rega ,contw 
+0x7e64 035789 branch calc_queue_next_ptr 
+:      035793 queue_empty:
+0x7e65 035794 fetch 2 ,mem_queue_ptr 
+0x7e66 035795 add pdata ,queue_offset_curr_num ,contr 
+0x7e67 035796 ifetch 1 ,contr 
+0x7e68 035797 rtn 
+:      035800 queue_full:
+0x7e69 035801 call queue_get_size 
+0x7e6a 035802 ifetcht 1 ,contr 
+0x7e6b 035803 isub temp ,pdata 
+0x7e6c 035804 rtn 
+:      035807 queue_get_size:
+0x7e6d 035808 fetch 2 ,mem_queue_ptr 
+0x7e6e 035809 add pdata ,queue_offset_length ,contr 
+0x7e6f 035810 ifetch 1 ,contr 
+0x7e70 035811 rtn 
+:      035819 right_shift_n:
+0x7e71 035820 sub loopcnt ,0 ,null 
+0x7e72 035821 rtn zero 
+:      035822 right_shift_n_loop:
+0x7e73 035823 rshift pdata ,pdata 
+0x7e74 035824 loop right_shift_n_loop 
+0x7e75 035825 rtn 
+:      035828 left_shift_n:
+0x7e76 035829 force 1 ,pdata 
+0x7e77 035830 sub loopcnt ,0 ,null 
+0x7e78 035831 rtn zero 
+:      035832 left_shift_n_loop:
+0x7e79 035833 lshift pdata ,pdata 
+0x7e7a 035834 loop left_shift_n_loop 
+0x7e7b 035835 rtn 
+:      035836 push_stack:
+0x7e7c 035837 deposit contw 
+0x7e7d 035838 store 2 ,mem_contw 
+0x7e7e 035839 storet 8 ,mem_temp 
+0x7e7f 035840 deposit timeup 
+0x7e80 035841 store 4 ,mem_timeup 
+0x7e81 035842 call push_stack_rega_b_c 
+0x7e82 035843 deposit contr 
+0x7e83 035844 store 2 ,mem_contr 
+0x7e84 035845 rtn 
+:      035847 push_stack_rega_b_c:
+0x7e85 035848 deposit rega 
+0x7e86 035849 store 4 ,mem_rega 
+0x7e87 035850 deposit regb 
+0x7e88 035851 store 4 ,mem_regb 
+0x7e89 035852 deposit regc 
+0x7e8a 035853 store 3 ,mem_regc 
+0x7e8b 035854 rtn 
+:      035856 pop_stack:
+0x7e8c 035857 fetcht 8 ,mem_temp 
+0x7e8d 035858 fetch 4 ,mem_timeup 
+0x7e8e 035859 iforce timeup 
+0x7e8f 035860 call pop_stack_rega_b_c 
+0x7e90 035861 fetch 2 ,mem_contw 
+0x7e91 035862 iforce contw 
+0x7e92 035863 fetch 2 ,mem_contr 
+0x7e93 035864 iforce contr 
+0x7e94 035865 rtn 
+:      035867 pop_stack_rega_b_c:
+0x7e95 035868 fetch 4 ,mem_rega 
+0x7e96 035869 iforce rega 
+0x7e97 035870 fetch 4 ,mem_regb 
+0x7e98 035871 iforce regb 
+0x7e99 035872 fetch 3 ,mem_regc 
+0x7e9a 035873 iforce regc 
+0x7e9b 035874 rtn 
+:      035876 get_contw:
+0x7e9c 035877 fetch 2 ,mem_contw 
+0x7e9d 035878 copy pdata ,contw 
+0x7e9e 035879 rtn 
+:      035880 get_contr:
+0x7e9f 035881 fetch 2 ,mem_contr 
+0x7ea0 035882 copy pdata ,contr 
+0x7ea1 035883 rtn 
+:      035884 store_contw:
+0x7ea2 035885 copy contw ,pdata 
+0x7ea3 035886 store 2 ,mem_contw 
+0x7ea4 035887 rtn 
+:      035888 store_contr:
+0x7ea5 035889 copy contr ,pdata 
+0x7ea6 035890 store 2 ,mem_contr 
+0x7ea7 035891 rtn 
+:      035895 save_cont_pointers:
+0x7ea8 035896 copy contw ,pdata 
+0x7ea9 035897 store 2 ,mem_hold_contw 
+0x7eaa 035898 copy contr ,pdata 
+0x7eab 035899 store 2 ,mem_hold_contr 
+0x7eac 035900 rtn 
+:      035901 load_cont_pointers:
+0x7ead 035902 fetch 2 ,mem_hold_contw 
+0x7eae 035903 copy pdata ,contw 
+0x7eaf 035904 fetch 2 ,mem_hold_contr 
+0x7eb0 035905 copy pdata ,contr 
+0x7eb1 035906 rtn 
+:      035908 memcpy96:
+0x7eb2 035909 call memcpy32 
+:      035910 memcpy64:
+0x7eb3 035911 call memcpy32 
+0x7eb4 035912 branch memcpy32 
+:      035913 memcpy12:
+0x7eb5 035914 call memcpy8 
+:      035915 memcpy4:
+0x7eb6 035916 ifetch 4 ,contr 
+0x7eb7 035917 istore 4 ,contw 
+0x7eb8 035918 rtn 
+:      035919 memcpy8:
+0x7eb9 035920 ifetch 8 ,contr 
+0x7eba 035921 istore 8 ,contw 
+0x7ebb 035922 rtn 
+:      035924 memcpy48:
+0x7ebc 035925 call memcpy16 
+:      035926 memcpy32:
+0x7ebd 035927 call memcpy8 
+:      035928 memcpy24:
+0x7ebe 035929 call memcpy8 
+:      035930 memcpy16:
+0x7ebf 035931 call memcpy8 
+0x7ec0 035932 branch memcpy8 
+:      035936 delay_10ms:
+0x7ec1 035937 arg 10 ,loopcnt 
+:      035938 delay_ms_wait:
+0x7ec2 035939 nop 12000 
+0x7ec3 035940 loop delay_ms_wait 
+0x7ec4 035941 rtn 
+:      035943 bn_zero:
+0x7ec5 035944 force 3 ,loopcnt 
+:      035945 memset0:
+0x7ec6 035946 force 0 ,pdata 
+:      035947 memset8:
+0x7ec7 035948 istore 8 ,contw 
+0x7ec8 035949 loop memset8 
+0x7ec9 035950 rtn 
+:      035952 memset0_8:
+0x7eca 035953 force 0 ,pdata 
+0x7ecb 035954 istore 8 ,contw 
+0x7ecc 035955 rtn 
+:      035956 memset0_4:
+0x7ecd 035957 force 0 ,pdata 
+0x7ece 035958 istore 4 ,contw 
+0x7ecf 035959 rtn 
+:      035961 clear_mem_256:
+0x7ed0 035962 force 4 ,loopcnt 
+0x7ed1 035963 branch memset0 
+:      035964 clear_mem_512:
+0x7ed2 035965 force 8 ,loopcnt 
+0x7ed3 035966 branch memset0 
+:      035968 clear_mem:
+0x7ed4 035969 deposit loopcnt 
+0x7ed5 035970 rtn blank 
+0x7ed6 035971 setarg 0 
+:      035972 clear_mem_loop:
+0x7ed7 035973 istore 1 ,contw 
+0x7ed8 035974 loop clear_mem_loop 
+0x7ed9 035975 rtn 
+:      035978 clear_temp_block:
+0x7eda 035979 arg 32 ,loopcnt 
+0x7edb 035980 arg mem_temp_block0 ,contw 
+0x7edc 035981 branch clear_mem 
+:      035983 xor_loop:
+0x7edd 035984 ifetch 4 ,regc 
+0x7ede 035985 ifetcht 4 ,rega 
+0x7edf 035986 ixor temp ,pdata 
+0x7ee0 035987 istore 4 ,contw 
+0x7ee1 035988 increase 4 ,rega 
+0x7ee2 035989 increase 4 ,regc 
+0x7ee3 035990 loop xor_loop 
+0x7ee4 035991 rtn 
+:      035995 inverse_data:
+0x7ee5 035996 bpatchx patch3f_3 ,mem_patch3f 
+0x7ee6 035997 copy loopcnt ,pdata 
+0x7ee7 035998 sub pdata ,1 ,null 
+0x7ee8 035999 rtn positive 
+0x7ee9 036000 iadd rega ,regb 
+0x7eea 036001 increase -1 ,regb 
+0x7eeb 036002 rshift loopcnt ,loopcnt 
+:      036003 inverse_loop:
+0x7eec 036004 ifetcht 1 ,rega 
+0x7eed 036005 ifetch 1 ,regb 
+0x7eee 036006 istore 1 ,rega 
+0x7eef 036007 istoret 1 ,regb 
+0x7ef0 036008 increase -1 ,regb 
+0x7ef1 036009 increase 1 ,rega 
+0x7ef2 036010 loop inverse_loop 
+0x7ef3 036011 rtn 
+:      036014 memcpy_fast:
+0x7ef4 036015 deposit loopcnt 
+0x7ef5 036016 rtn blank 
+:      036017 memcpy_fast_loop:
+0x7ef6 036018 increase -8 ,loopcnt 
+0x7ef7 036019 call memcpy8 ,positive 
+0x7ef8 036020 rtn zero 
+0x7ef9 036021 branch memcpy_fast_loop ,positive 
+0x7efa 036022 increase 8 ,loopcnt 
+:      036023 memcpy_fast_loop_four:
+0x7efb 036024 increase -4 ,loopcnt 
+0x7efc 036025 call memcpy4 ,positive 
+0x7efd 036026 rtn zero 
+0x7efe 036027 branch memcpy_fast_loop_four ,positive 
+0x7eff 036028 increase 4 ,loopcnt 
+0x7f00 036029 branch memcpy 
+:      036031 memcpy:
+0x7f01 036032 deposit loopcnt 
+0x7f02 036033 rtn blank 
+:      036034 memcpy_loop:
+0x7f03 036035 ifetch 1 ,contr 
+0x7f04 036036 istore 1 ,contw 
+0x7f05 036037 loop memcpy_loop 
+0x7f06 036038 rtn 
+:      036040 timer_stop:
+0x7f07 036041 setarg 0 
+:      036042 timer_init:
+0x7f08 036043 rshift clkn_bt ,temp 
+0x7f09 036044 storet 4 ,mem_last_clkn 
+0x7f0a 036045 arg mem_timers ,contw 
+0x7f0b 036046 iforce temp 
+0x7f0c 036047 lshift queue ,pdata 
+0x7f0d 036048 iadd contw ,contw 
+0x7f0e 036049 istoret 2 ,contw 
+0x7f0f 036050 bpatchx patch3f_4 ,mem_patch3f 
+0x7f10 036051 rtn 
+:      036053 timer_check_timeout:
+0x7f11 036054 arg 0x800 ,timeup 
+0x7f12 036055 lshift16 timeup ,timeup 
+0x7f13 036056 iadd timeup ,pdata 
+0x7f14 036057 rtn 
+:      036060 timer_reinit:
+0x7f15 036061 arg 0 ,queue 
+:      036062 timer_check:
+0x7f16 036063 bpatchx patch3f_5 ,mem_patch3f 
+0x7f17 036064 fetcht 4 ,mem_last_clkn 
+0x7f18 036065 rshift clkn_bt ,pdata 
+0x7f19 036066 store 4 ,mem_last_clkn 
+0x7f1a 036067 isub temp ,null 
+0x7f1b 036068 ncall timer_check_timeout ,positive 
+0x7f1c 036069 isub temp ,timeup 
+0x7f1d 036070 copy timeup ,temp 
+0x7f1e 036071 arg mem_timers ,contr 
+0x7f1f 036072 copy contr ,contw 
+0x7f20 036073 arg 16 ,loopcnt 
+:      036074 timer_loop:
+0x7f21 036075 ifetch 2 ,contr 
+0x7f22 036076 isub temp ,pdata 
+0x7f23 036077 branch timer_counting ,positive 
+0x7f24 036078 force 0 ,pdata 
+:      036079 timer_counting:
+0x7f25 036080 istore 2 ,contw 
+0x7f26 036081 loop timer_loop 
+0x7f27 036082 arg mem_timers ,contr 
+0x7f28 036083 lshift queue ,pdata 
+0x7f29 036084 iadd contr ,contr 
+0x7f2a 036085 ifetch 2 ,contr 
+0x7f2b 036086 rtn 
+:      036091 clk_add:
+0x7f2c 036092 iadd temp ,temp 
+0x7f2d 036093 copy temp ,loopcnt 
+0x7f2e 036094 setarg 3750 
+0x7f2f 036095 isub loopcnt ,pdata 
+0x7f30 036096 rtn positive 
+0x7f31 036097 sub pdata ,0 ,pdata 
+0x7f32 036098 rshift16 temp ,temp 
+0x7f33 036099 increase 1 ,temp 
+0x7f34 036100 lshift16 temp ,temp 
+0x7f35 036101 ior temp ,temp 
+0x7f36 036102 rtn 
+:      036104 clk_diff_rt:
+0x7f37 036105 call clk_diff 
+0x7f38 036106 branch clk2rt 
+:      036109 clk_diff:
+0x7f39 036110 disable user 
+0x7f3a 036111 isub temp ,pdata 
+0x7f3b 036112 branch clk_diff_pos ,positive 
+0x7f3c 036113 enable user 
+0x7f3d 036114 sub pdata ,0 ,pdata 
+:      036115 clk_diff_pos:
+0x7f3e 036116 rtnbit0 15 
+0x7f3f 036117 arg -61786 ,temp 
+0x7f40 036118 iadd temp ,pdata 
+0x7f41 036119 set0 64 ,pdata 
+0x7f42 036120 rtn 
+:      036122 clk2rt:
+0x7f43 036123 iforce contr 
+0x7f44 036124 rshift16 pdata ,pdata 
+0x7f45 036125 arg 3750 ,temp 
+0x7f46 036126 imul32 temp ,pdata 
+0x7f47 036127 iadd contr ,pdata 
+0x7f48 036128 rtn 
+:      036131 clk2lpo:
+0x7f49 036132 lshift8 pdata ,pdata 
+0x7f4a 036133 lshift4 pdata ,pdata 
+0x7f4b 036134 fetcht 3 ,mem_clks_per_lpo 
+0x7f4c 036135 idiv temp 
+0x7f4d 036136 call wait_div_end 
+0x7f4e 036137 quotient temp 
+0x7f4f 036138 rtn 
+:      036141 clk2bt:
+0x7f50 036142 arg 3750 ,temp 
+0x7f51 036143 idiv temp 
+0x7f52 036144 call wait_div_end 
+0x7f53 036145 quotient pdata 
+0x7f54 036146 lshift16 pdata ,pdata 
+0x7f55 036147 remainder temp 
+0x7f56 036148 ior temp ,temp 
+0x7f57 036149 rtn 
+:      036156 string2dec_from_uart:
+0x7f58 036157 arg 0 ,temp 
+:      036158 string2dec_from_uart_done:
+0x7f59 036159 copy temp ,regc 
+0x7f5a 036160 ifetch 1 ,contru 
+0x7f5b 036161 call uchar2dialog 
+0x7f5c 036162 copy regc ,temp 
+0x7f5d 036163 call swap 
+0x7f5e 036164 arg 10 ,regb 
+0x7f5f 036165 imul32 regb ,pdata 
+0x7f60 036166 iadd temp ,pdata 
+0x7f61 036167 copy pdata ,temp 
+0x7f62 036168 loop string2dec_from_uart_done 
+0x7f63 036169 rtn 
+:      036173 uchar2dialog:
+0x7f64 036174 arg 0x3a ,temp 
+0x7f65 036175 isub temp ,null 
+0x7f66 036176 nbranch uchar2dialog_number ,positive 
+0x7f67 036177 arg 0x61 ,temp 
+0x7f68 036178 isub temp ,null 
+0x7f69 036179 branch uchar2dialog_a2f ,positive 
+0x7f6a 036180 arg 0x37 ,temp 
+0x7f6b 036181 isub temp ,pdata 
+0x7f6c 036182 rtn 
+:      036183 uchar2dialog_number:
+0x7f6d 036184 arg 0x30 ,temp 
+0x7f6e 036185 isub temp ,pdata 
+0x7f6f 036186 rtn 
+:      036187 uchar2dialog_a2f:
+0x7f70 036188 arg 0x57 ,temp 
+0x7f71 036189 isub temp ,pdata 
+0x7f72 036190 rtn 
+:      036192 pn9:
+0x7f73 036193 copy temp ,alarm 
+0x7f74 036194 setarg 0x1ff 
+0x7f75 036195 force 0 ,regb 
+:      036196 pn9_loop:
+0x7f76 036197 rshift3 pdata ,rega 
+0x7f77 036198 rshift rega ,rega 
+0x7f78 036199 ixor rega ,rega 
+0x7f79 036200 isolate1 0 ,rega 
+0x7f7a 036201 setflag true ,9 ,pdata 
+0x7f7b 036202 rshift temp ,temp 
+0x7f7c 036203 isolate1 0 ,pdata 
+0x7f7d 036204 setflag true ,7 ,temp 
+0x7f7e 036205 rshift pdata ,pdata 
+0x7f7f 036206 increase 1 ,regb 
+0x7f80 036207 compare 0 ,regb ,0x7 
+0x7f81 036208 nbranch pn9_loop ,true 
+0x7f82 036209 istoret 1 ,contw 
+0x7f83 036210 loop pn9_loop 
+0x7f84 036211 copy alarm ,temp 
+0x7f85 036212 rtn 
+:      036215 wait_div_end:
+0x7f86 036216 rtn modone 
+0x7f87 036217 branch wait_div_end 
+:      036227 compare_loop:
+:      036228 string_compare:
+0x7f88 036229 ifetch 1 ,rega 
+0x7f89 036230 ifetcht 1 ,regb 
+0x7f8a 036231 isub temp ,null 
+0x7f8b 036232 nrtn zero 
+0x7f8c 036233 increase 1 ,rega 
+0x7f8d 036234 increase 1 ,regb 
+0x7f8e 036235 loop string_compare 
+0x7f8f 036236 force 0 ,null 
+0x7f90 036237 rtn 
+:      036240 ceiling:
+0x7f91 036241 isub temp ,null 
+0x7f92 036242 nrtn positive 
+0x7f93 036243 deposit temp 
+0x7f94 036244 rtn 
+:      036246 swap:
+0x7f95 036247 iadd temp ,pdata 
+0x7f96 036248 isub temp ,temp 
+0x7f97 036249 isub temp ,pdata 
+0x7f98 036250 rtn 
+:      036252 clean_mem:
+0x7f99 036253 arg 0x200 ,loopcnt 
+0x7f9a 036254 arg 0x4000 ,contw 
+0x7f9b 036255 branch memset0 
+:      036258 callback_func:
+0x7f9c 036259 rtn blank 
+0x7f9d 036260 copy pdata ,pc 
+:      036263 wait_uarttx:
+0x7f9e 036264 hfetch 2 ,core_uart_txitems 
+0x7f9f 036265 nbranch wait_uarttx ,blank 
+0x7fa0 036266 rtn 
+:      036268 ice_break:
+0x7fa1 036269 jam 0x1 ,core_ice_ctrl 
+0x7fa2 036270 rtn 
+:      036272 ice_setbp:
+0x7fa3 036273 hstore 2 ,core_ice_break0 
+0x7fa4 036274 hfetch 1 ,core_ice_ctrl 
+0x7fa5 036275 set1 4 ,pdata 
+0x7fa6 036276 hstore 1 ,core_ice_ctrl 
+0x7fa7 036277 rtn 
+:      036278 ice_setbp2:
+0x7fa8 036279 hstore 2 ,core_ice_break1 
+0x7fa9 036280 hfetch 1 ,core_ice_ctrl 
+0x7faa 036281 set1 6 ,pdata 
+0x7fab 036282 hstore 1 ,core_ice_ctrl 
+0x7fac 036283 rtn 
+:      036285 ice_set_write_bp:
+0x7fad 036286 hstore 2 ,core_ice_break0 
+0x7fae 036287 jam 0x30 ,core_ice_ctrl 
+0x7faf 036288 rtn 
+:      036292 test_enable_white:
+0x7fb0 036293 hfetch 1 ,core_config 
+0x7fb1 036294 set0 whiteoff_bit ,pdata 
+0x7fb2 036295 hstore 1 ,core_config 
+0x7fb3 036296 rtn 
+:      036298 check_uart_tx_buff:
+0x7fb4 036299 hfetch 2 ,core_uart_txitems 
+0x7fb5 036300 arg uart_air_control_threshold ,temp 
+:      036301 pdata_sub_temp:
+0x7fb6 036302 isub temp ,null 
+0x7fb7 036303 rtn 
+:      036309 fifo_in:
+0x7fb8 036310 bpatchx patch3f_6 ,mem_patch3f 
+0x7fb9 036311 ifetcht util_fifo_len ,rega 
+0x7fba 036312 and temp ,0xff ,pdata 
+0x7fbb 036313 nbranch fifo_in_push ,blank 
+0x7fbc 036314 rshift8 temp ,pdata 
+0x7fbd 036315 istore util_fifo_len ,rega 
+:      036316 fifo_in_push:
+0x7fbe 036317 increase util_fifo_len + util_fifo_offset ,rega 
+0x7fbf 036318 ifetch 1 ,rega 
+0x7fc0 036319 nbranch assert ,blank 
+0x7fc1 036320 fetch 1 ,mem_fifo_temp 
+0x7fc2 036321 istore 1 ,rega 
+0x7fc3 036322 rtn 
+:      036327 fifo_out:
+0x7fc4 036328 bpatchx patch3f_7 ,mem_patch3f 
+0x7fc5 036329 arg util_fifo_len ,loopcnt 
+0x7fc6 036330 ifetch util_fifo_len ,rega 
+0x7fc7 036331 rtn blank 
+:      036332 fifo_out_loop:
+0x7fc8 036333 ifetch 1 ,rega 
+0x7fc9 036334 nbranch fifo_out_end ,blank 
+0x7fca 036335 increase 1 ,rega 
+0x7fcb 036336 loop fifo_out_loop 
+0x7fcc 036337 branch assert 
+:      036338 fifo_out_end:
+0x7fcd 036339 arg 0 ,temp 
+0x7fce 036340 istoret 1 ,rega 
+0x7fcf 036341 rtn 
+:      036346 fifo_is_empty:
+0x7fd0 036347 ifetch util_fifo_len ,rega 
+0x7fd1 036348 rtn 
+:      036353 fifo_is_full:
+0x7fd2 036354 ifetch 1 ,rega 
+0x7fd3 036355 rtn 
+:      036358 fifo_is_near_full:
+0x7fd4 036359 ifetch 2 ,rega 
+0x7fd5 036360 rtn 
+:      036364 fifo_content_count:
+0x7fd6 036365 arg 0 ,temp 
+:      036366 fifo_content_count_loop:
+0x7fd7 036367 fetch 1 ,contr 
+0x7fd8 036368 loop fifo_content_count_loop ,blank 
+0x7fd9 036369 increase 1 ,temp 
+0x7fda 036370 loop fifo_content_count_loop 
+0x7fdb 036371 copy temp ,pdata 
+0x7fdc 036372 rtn 
+:      036374 not_greater_than:
+0x7fdd 036375 isub temp ,null 
+0x7fde 036376 nrtn positive 
+0x7fdf 036377 copy temp ,pdata 
+0x7fe0 036378 rtn 
+:      036381 disable_positive:
+0x7fe1 036382 force -1 ,null 
+0x7fe2 036383 rtn 
+:      036384 enable_positive:
+:      036385 disable_zero:
+0x7fe3 036386 force 1 ,null 
+0x7fe4 036387 rtn 
+:      036388 enable_zero:
+0x7fe5 036389 force 0 ,null 
+0x7fe6 036390 rtn 
+:      036392 enable_user:
+0x7fe7 036393 enable user 
+0x7fe8 036394 rtn 
+:      036396 disable_user:
+0x7fe9 036397 disable user 
+0x7fea 036398 rtn 
+:      036400 enable_user2:
+0x7feb 036401 enable user2 
+0x7fec 036402 rtn 
+:      036404 disable_user2:
+0x7fed 036405 disable user2 
+0x7fee 036406 rtn 
+:      036408 disable_blank:
+0x7fef 036409 setarg 1 
+0x7ff0 036410 rtn 
+:      036412 enable_blank:
+0x7ff1 036413 setarg 0 
+0x7ff2 036414 rtn 
+:      036417 reverse_byte:
+0x7ff3 036418 copy loopcnt ,pdata 
+0x7ff4 036419 rtn blank 
+0x7ff5 036420 copy contr ,pdata 
+0x7ff6 036421 iadd loopcnt ,pdata 
+0x7ff7 036422 increase -1 ,pdata 
+0x7ff8 036423 copy pdata ,contr 
+:      036424 reverse_loop:
+0x7ff9 036425 ifetch 1 ,contr 
+0x7ffa 036426 increase -2 ,contr 
+0x7ffb 036427 istore 1 ,contw 
+0x7ffc 036428 loop reverse_loop 
+0x7ffd 036429 rtn 
Index: YJX_Only24g/main/output/bt_program23.meta
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_program23.meta	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_program23.meta	(working copy)
@@ -0,0 +1,36431 @@
+define REVD
+//define FPGA
+define ROMCODE
+define PATCH
+define ADC
+//define RAM_VERSION
+//define CLK24M
+//define DEBUG_MALLOC
+//define DEBUG_H4LOG_ENABLE
+//define DEBUG_LIGHT_STATE
+//define E2_LOG
+//define LMP_DBG
+//define ACL_DEBUG
+//define DCDC
+define NVRAM
+define RELEASE
+define SECURE_CONNECTION
+define DEBUG_RF_INIT
+//define SPI_SIMULATE
+//define ROM_RESPIN_OPTIONAL
+
+define SIMPLE_PAIRING
+define COMPILE_RFCOMM
+define COMPILE_SHUTTER
+define COMPILE_AntiLost
+//define COMPILE_IR
+define COMPILE_KEYBOARD
+define COMPILE_MOUSE
+define COMPILE_MODULE
+//define COMPILE_AT
+//define COMPILE_PRCP
+//define COMPILE_USB
+//define COMPILE_DONGLE
+define COMPILE_LE
+define COMPILE_24G
+define COMPILE_CAR
+define COMPILE_REMOTE_CAR
+
+
+INCLUDE "bt_format"
+
+org 0x0000		// start from patch ram address start
+//define DONGLE
+define MOUSE
+//define BLE
+//define CLASSIC_BT
+//define ADC_ENABLE
+//define P24G_LOG
+//define RF_DEBUG
+
+//define DEBUGLOG
+//define DEBUGLOG_CALLBACK
+//define DEBUGLOG_EVENT
+//define DEBUGLOG_CMD
+//define DEBUGLOG_MISC
+//define DEBUGLOG_STATUS
+//define DEBUGLOG_PARSE_LMP
+//define DEBUGLOG_SEND_LMP
+//define DEBUGLOG_CONN_SM
+//define DEBUGLOG_UPPER_SM
+
+	bbit1 8,pf_patch_ext	
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	beq patch11_2,p_initialize_radio_cont
+
+	beq patch00_1,p_soft_reset_1
+	beq patch14_1,p_init_param
+	beq patch15_0,p_lpm_dispatch_next2
+	beq patch16_1,p_lpm_check_wake_lock
+	beq patch16_2,p_g24_dispatch
+	beq patch18_4,p_device_init
+	beq patch19_1,p_app_flag_store
+	beq patch19_2,p_app_initflag_check
+	beq patch1c_3,p_mouse_seting_dpi
+	beq patch1c_6,p_mouse_motion
+	beq patch1d_2,p_mouse_bb_event_discovery_btn
+	beq patch1d_3,p_mouse_start_discovery
+	beq patch1d_4,p_mouse_stop_discovery
+	branch loop
+pf_patch_ext:
+	beq patch31_4,p_twspi_reset
+	branch loop
+
+
+
+
+
+p_rssi_signal:
+	copy pdata,rega
+	fetcht 1,mem_rssi_signal_index
+	setarg mem_rssi_signal_buf
+	iadd temp,contw
+	copy rega,pdata
+	istore 1,contw
+	increase 1,temp
+	and_into RSSI_BUF_LEN_SIGNAL,temp
+	storet 1,mem_rssi_signal_index
+	rtn
+
+p_soft_reset_1:
+	arg mem_sp_state,contw
+	arg 12,loopcnt
+	call clear_mem
+	call p_mouse_le_txbuff_load
+	call rfcomm_init
+	call init_lmp
+	ncall lpm_disable_exen_output,wake
+	call ui_init+1
+	branch soft_reset+11
+
+
+p_init_param:
+	setarg param_le_version
+	store 3,mem_lmp_version
+	setarg param_le_subversion
+	store 2,mem_lmp_version+3
+	branch init_param+12
+
+p_lpm_dispatch_next2:
+	fetch 1,mem_mouse_wheel_trigger
+	nrtn blank
+	branch lpm_dispatch_next2
+
+p_lpm_check_wake_lock:
+	rtnmark1 mark_24g
+	fetch 1,mem_mouse_multi_led_blink_count
+	nbranch disable_blank,blank
+	fetch 1,mem_mouse_multi_led_state
+	nbranch disable_blank,blank
+//	fetch 1,mem_mouse_multi_led_on_timer
+//	nbranch disable_blank,blank
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	beq 0,disable_blank
+	fetch 1,mem_mouse_le_conn_param_reject
+	beq LE_LPM_DISABLE,disable_blank
+	fetch 2,mem_sdp_remote_cid
+	nbranch disable_blank,blank
+	branch enable_blank
+
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
+p_g24_transmit_process:
+	call p_g24_txdata_prep
+	nbranch p_g24_nodata_transmit,user
+	call p_g24_rf_sta_check
+p_g24_transmit_start:
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call power_ctrl_start
+	call g24_long_sleep_shorter_param_update
+	fetch 1,mem_24g_transmit_by_interrupt
+	rtneq G24_TX_TIMER_INT_ENABLE
+p_g24_short_sleep:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	call p_mouse_setgpio_lpm
+	call p_clear_wake
+	setarg 63000
+	branch lpm_dispatch_sleep
+
+g24_long_sleep_shorter_param_update:
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	setarg G24_LONG_SLEEP_STEP1
+	store 3,mem_24g_enter_hibernate
+	jam 30,mem_24g_long_sleep_param_update_timer
+	rtn
+
+p_g24_transmit_by_interrupt:
+	call p_g24_timer_check
+	nrtn user
+	call p_g24_interval_calibrate	
+	fetch 1,mem_24g_transmit_by_interrupt_exit_count
+	increase 1,pdata
+	store 1,mem_24g_transmit_by_interrupt_exit_count
+	sub pdata,25,null	//200ms
+	call p_g24_transmit_by_interrupt_exit,zero
+	branch p_g24_transmit_process
+p_g24_transmit_by_interrupt_exit:
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	jam 0,mem_24g_transmit_by_interrupt_exit_count
+p_g24_interval_min:
+	jam 0,mem_24g_pac_index
+	fetch 1,mem_24g_interval_min
+	store 1,mem_24g_interval
+	rtn
+p_g24_interval_max:
+	fetch 1,mem_24g_interval_max
+	store 1,mem_24g_interval
+	rtn	
+p_g24_interval_calibrate:
+	fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	store 1,mem_24g_pac_index
+	beq 4,p_g24_interval_max
+	beq 5,p_g24_interval_min
+	rtn
+p_g24_transmit_by_interrupt_enable:
+	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
+	jam 0,mem_24g_transmit_by_interrupt_exit_count
+	rtn
+
+p_g24_nodata_transmit:
+	fetch 1,mem_24g_abort_pac
+	call p_g24_send_abort_packet,blank
+p_g24_long_sleep:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	call p_mouse_setgpio_lpm
+	fetch 8,mem_24g_enter_hibernate
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+p_g24_send_abort_packet:
+	jam 1,mem_24g_abort_pac
+	jam 0,mem_24g_rf_hop_ch
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	setarg 0
+	store 7,mem_24g_txbuf+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_txbuf+8
+	jam 12,mem_24g_datalen
+	fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	store 1,mem_24g_data_type
+	call p_g24_transmit_prep
+	call p_g24_txdata_enable_tx
+	branch p_g24_transmit_start
+
+
+p_mouse_before_lpm:
+	rtnmark1 mark_24g
+	call p_mouse_le_txbuff_save
+	call p_mouse_setgpio_lpm
+	fetch 1,mem_context
+	bbit0 state_inconn,p_clear_wake
+	fetch 1,mem_lpm_current_mult
+	nrtn blank
+p_clear_wake:
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	rtn
+
+p_mouse_setgpio_lpm:
+	call p_mouse_set_sdio_high
+	call p_clear_wake
+	call mouse_lpm_before_common
+	hfetch 4,core_gpio_oe0
+	hfetcht 4,core_gpio_pu0
+	ior temp,temp
+	invert temp,temp
+	hstoret 4,core_gpio_pd0
+	branch p_mouse_multi_led_off2
+
+p_mouse_set_sdio_high:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	branch p_mouse_seting_dpi+1	// make sdio high to make 100uA less	
+
+p_mouse_le_txbuff_save:
+	arg mem_le_tx_buffer0,contr
+	arg mem_le_tx_buffer0_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contr
+	arg mem_le_tx_buffer1_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contr
+	arg mem_le_tx_buffer2_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contr
+	arg mem_le_tx_buffer3_omemalloc,contw
+p_mouse_le_txbuff_copy:	
+	arg 27,loopcnt
+	branch memcpy
+
+p_mouse_le_txbuff_load:
+	arg mem_le_tx_buffer0_omemalloc,contr
+	arg mem_le_tx_buffer0,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1_omemalloc,contr
+	arg mem_le_tx_buffer1,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2_omemalloc,contr
+	arg mem_le_tx_buffer2,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3_omemalloc,contr
+	arg mem_le_tx_buffer3,contw
+	branch p_mouse_le_txbuff_copy
+
+p_device_init:
+	call app_lpm_mult_enable
+	branch p_device_init_common,wake
+	jam 0x20,core_gpio_pu0
+
+	call p_mouse_data_init
+	fetch 1,mem_tx_power
+	store 1,mem_tx_power_temp
+	call power_ctrl_pac_succ_cnt_init
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init
+	call mouse_bt_discovery_button_down_disable
+p_device_init_common:
+	call p_mouse_init
+	branch enable_authrom
+
+p_mouse_init:
+	ncall p_mouse_setting_config,wake
+	call p_mouse_spi_init
+	rtn wake
+	jam 1,mem_mouse_dpi
+	call p_mouse_cb_fuction
+//	call p_test_function
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+//	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,p_mouse_wakeup_from_power
+//	call p_mouse_check_key_gpio
+//	beq MOUSE_LM_BUTTON,p_mouse_24g_pairing_button
+	branch p_mouse_wakeup_from_power
+p_test_function:
+	call p_mouse_check_key_gpio
+//	beq MOUSE_R_BUTTON,p_mouse_clear_bt_info
+	//beq MOUSE_RM_BUTTON,p_test_square_drawing
+	beq MOUSE_LMR_BUTTON,p_test_rf_param
+	rtn
+	
+p_test_rf_param:
+	//setarg 0x3923
+	setarg 0x1bb7
+	store 2,mem_device_flag
+	arg 2,temp
+	arg mem_device_flag,rega
+	setarg 0
+	call  iicd_write_eep
+	jam 1,0x8010
+	rtn
+
+p_mouse_check_reconn_target:
+	call p_mouse_tx_power_init
+	fetch 1,mem_xrecord_mode
+	beq REC_4_MODE,p_mouse4_0_check_reconn_target
+	rtn
+
+
+
+p_mouse4_0_check_reconn_target:
+	call p_mouse4_0_reconn_led_blink_init
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call app_lpm_mult_disable
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
+	istore 1,contr
+	branch check_51cmd_adv
+
+p_le_check_adv_flag:
+	arg mem_le_adv_data,rega
+p_le_check_adv_flag_loop:
+	ifetch 1,rega	//length
+	rtn blank
+	iadd contr,rega
+	ifetch 1,contr	//type
+	rtneq 0x01
+	branch p_le_check_adv_flag_loop
+
+p_mouse4_0_reconn_led_blink_init:
+	jam 1,mem_mouse_ble_reconn_multi_led_blink_flag
+	jam 9,mem_mouse_multi_led_blink_count
+	branch p_mouse_dpi_multi_led_blink
+/*
+p_mouse_24g_pairing_button:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 2,mem_24g_check_dongle_times
+	call mouse_stop_discovery
+	branch p_g24_start_pairing_sm1
+*/
+p_mouse_dpi_config:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_EEPROM,mouse_dpi_config
+	fetch 1,mem_mouse_dpi
+	beq 0xff,mouse_dpi_config
+	branch mouse_seting_dpi+2
+
+p_mouse_spi_init:
+	jam 0x76,mem_spi_init_clk
+	branch mouse_spi_init
+	
+p_mouse_init_sunt:
+	call p_mouse_spi_init
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_init_3610sensor
+p_mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
+	beq P3065_ID1,p_mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch p_mouse_init_sensor
+
+p_mouse_init_sensor_reset:
+	jam 1,mem_mouse_init_sensor_reset_flag
+	call spi_ncs_enable
+	call p_mouse_init_sunt
+	branch spi_ncs_disable
+
+p_mouse_init_p32xx_id2_judge:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq P_MX8650,p_mouse_mx8650_init_param
+	branch mouse_init_p32xx_id2_judge
+P_mouse_mx8650_init_param:
+	jam MX8650,mem_config_sensor_type
+	rtn
+
+p_mouse_p3065_init_param:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+
+p_mouse_sensor_poweron:
+	setarg 0x8006	// reset to factory settings
+	call twspi_write
+	nop 12000
+	branch p_mouse_dpi_config
+p_mouse_sensor_powerdown:
+	setarg 0x06
+	call twspi_read
+	or pdata,0x08,pdata
+	lshift8 pdata,pdata
+	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
+
+p_mouse_setting_config:
+	call p_g24_set_device_addr
+	//disable usb function
+	hfetch 1,core_usb_config
+	set0 4,pdata
+	hstore 1,core_usb_config
+	call mouse_gpio_init
+	
+	fetcht 1,mem_mouse_multi_led_gpio
+	call gpio_config_output
+	
+	call mouse_param_init
+	setarg 0
+	store 2,mem_lpm_interval
+	call p_mouse_set_gpio_control_sensor
+	setarg 0x1802	//16M XTAL
+	store 2,mem_fcomp_mul	
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_EEPROM,p_mouse_init_iic
+//	bbit1 MOUSE_ENABLE_FLASH,p_mouse_load_flash_info_cheak
+//	rtn
+p_mouse_init_iic:
+	call iic_init_390k
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	ncall clear_eeprom_size_2k,true
+	call mouse_load_eeprom_dpi
+	call p_mouse_init_environment
+p_mouse_init_iic_read_24g_addr:
+	call p_mouse_set_24g_addr_eeprom
+	branch iicd_read_eep_data
+
+p_mouse_set_gpio_control_sensor:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+p_mouse_sensor_set_angle:
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn true
+	jam MOUSE_9CLK_ANGLE,mem_config_sensor_angle
+	rtn
+	
+
+p_mouse_init_environment:
+	call app_initflag_check
+	branch mouse_eeprom_load_recon_info,zero
+	call p_le_addr_random_config
+	branch mouse_init_environment+2
+
+p_app_flag_store:
+	arg 2,temp
+	arg mem_timeup,rega
+	arg MOUSE_EEPROM_MODULE_INIT_FLAG,regb
+	branch iicd_write_protect_eep_data
+
+p_app_initflag_check:
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg MOUSE_EEPROM_MODULE_INIT_FLAG,regb
+	branch app_initflag_check+4
+
+/*
+p_mouse_load_flash_info_cheak:
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch p_mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	branch mouse_store_flash_device_info
+
+p_mouse_load_flash_device_info:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	call spid_read_flash
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	store 4,mem_24g_addr
+	rtn
+*/
+
+p_mouse_wakeup_from_power:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,p_mouse_wakeup_no_from_power
+	fetch 1,mem_wakup_from_power_flag
+	isolate0 gpio_latch,pdata
+	nbranch p_mouse_wakeup_no_from_power,true
+	call p_mouse_init_sunt
+	call p_mouse_sensor_powerdown
+p_mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
+p_mouse_start_24g_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	fetch 1,mem_wakup_from_power_flag
+//	bbit1 gpio_latch,p_g24_start_24g_mode
+	branch p_g24_auto_pair_start
+	
+p_g24_factory_check:
+	arg 2,loopcnt
+	arg mem_24g_addr,contr
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+
+p_mouse_cb_fuction:
+	setarg p_mouse_g24_package_data
+	store 2,mem_cb_24g_data
+	setarg p_mouse_before_lpm
+	store 2,mem_cb_before_lpm
+	setarg p_mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg p_mouse_idle
+	store 2,mem_cb_idle_process
+	setarg p_mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg p_mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg mouse_spi_write_flash_cb
+	store 2,mem_cb_spi_flash_write_complate
+	rtn
+
+p_mouse_g24_package_data:
+	call mouse_g24_package_data
+	fetch 2,mem_mouse_z
+	rtn blank
+	branch p_g24_transmit_by_interrupt_enable
+	
+p_mouse_le_current_mult_update:
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_le_current_mult_timer
+	rtn
+
+p_mouse_wheel_trigger:
+	jam 1,mem_mouse_wheel_trigger
+	jam 2,mem_mouse_wheel_trigger_timer
+	rtn
+	
+
+p_mouse_clear_sensor_data:
+	call le_set_config_more_data
+	jam 1,mem_mouse_clear_sensor_data_flag
+	branch p_mouse_sensor_poweron
+
+p_mouse_idle:
+//	call p_mouse_24g_pairing_button
+	call ui_check_paring_button
+//	call p_mouse_dpi_check
+	branch mouse_wheel_check
+
+p_mouse_dpi_check:
+	fetcht 1,mem_dpi_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	branch p_mouse_dpi_up,true
+	call p_gpio_set_input_pu
+p_mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_dpi
+	increase 2,pdata
+	store 2,mem_mouse_multi_led_blink_count
+	call p_mouse_dpi_multi_led_blink
+	branch mouse_dpi_down+7
+
+p_mouse_dpi_up:
+	call p_gpio_set_input_pu
+	branch mouse_dpi_up
+
+	
+/*
+//pc bind api
+p_mouse_24g_pairing_button:
+	fetch 2,mem_24g_pairing_timer_count
+	rtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_check_key_gpio
+	rtnne MOUSE_LMR_BUTTON
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 2,mem_24g_check_dongle_times
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	call mouse_stop_discovery
+	branch p_g24_start_pairing_sm1
+*/
+p_mouse_priority_bb_event:
+	copy regc,pdata
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
+	branch mouse_priority_bb_event+1
+
+
+
+
+p_mouse_24g_pairing_complete:
+	call p_mouse_init_sensor_reset
+
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	fetch 1,mem_config_sensor_type
+	sub pdata,P3610,null
+	call mouse_read_sensor3610_data,zero
+	ncall mouse_read_sensor_common,zero
+
+	call p_mouse_tx_power_init
+
+//	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_FLASH,p_mouse_store_flash_24g_address
+	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+p_mouse_set_24g_addr_eeprom:
+	arg mem_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+//p_mouse_store_flash_24g_address:
+//	arg mem_24g_addr,regb
+//	ifetch 4,regb
+//	store 4,mem_mouse_24g_addr
+//	branch mouse_store_flash_device_info
+
+p_mouse_tx_power_init:
+	fetch 1,mem_tx_power_temp
+	store 1,mem_tx_power
+	rtn
+	
+p_mouse_24g_attempt_fail:
+	call p_mouse_sensor_powerdown_check
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	call p_mouse_tx_power_init
+	call p_g24_check_51cmd_stop_24g
+	fetch 1,mem_mouse_mode_config
+	bbit1 MOUSE_24G_ONLY,p_mouse_null_enter_hibernate_enable
+	jam 0,mem_link_key_exists
+	call mouse_eeprom_load_recon_info	
+	arg 3,loopcnt
+	arg mem_device1_addr,contr
+	call p_pdata_0xff_check
+	branch p_mouse_null_enter_hibernate_enable,user
+	branch p_mouse_check_reconn_target
+
+p_mouse_null_enter_hibernate_enable:	//ble never connected
+	jam 1,mem_mouse_null_enter_hibernate_flag
+	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn
+
+p_mouse_24g_attempt_success:
+	call p_mouse_init_sensor_reset
+	branch mouse_no_data_timer_init
+	
+p_mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call p_mouse_sensor_powerdown_check
+	call disable_authrom
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+	call mouse_lpm_before_common
+	branch p_mouse_multi_led_off2
+	
+p_mouse_sensor_powerdown_check:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	jam 0,mem_mouse_init_sensor_reset_flag
+	branch p_mouse_sensor_powerdown
+
+p_mouse_bb_event_timer:
+//	call p_mouse_multi_led_blink_timer
+	call p_mouse_24g_long_sleep_param_update_timer
+	call p_mouse_le_current_mult_update_timer
+	call p_mouse_wheel_trigger_timer
+	call p_mouse_null_enter_hibernate_timer
+	call p_mouse_bt_discovery_check
+	call p_mouse_dpi_check
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	branch p_mouse_le_enable_att_list_timer
+
+
+
+p_mouse_wheel_trigger_timer:
+	arg mem_mouse_wheel_trigger_timer,regc
+	arg p_mouse_wheel_trigger_disable,regb
+	branch timer_single_step
+p_mouse_wheel_trigger_disable:
+	jam 0,mem_mouse_wheel_trigger
+	rtn
+
+p_mouse_24g_long_sleep_param_update_timer:
+	arg mem_24g_long_sleep_param_update_timer,regc
+	arg p_mouse_24g_long_sleep_normal_param,regb
+	branch timer_single_step
+p_mouse_24g_long_sleep_normal_param:
+	setarg G24_LONG_SLEEP_STEP2
+	store 3,mem_24g_enter_hibernate
+	jam 1,mem_mouse_long_mult_flag
+	rtn
+
+p_mouse_le_current_mult_update_timer:
+	arg mem_mouse_le_current_mult_timer,regc
+	arg p_mouse_le_current_mult_reinit,regb
+	branch timer_single_step
+p_mouse_le_current_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+	jam 1,mem_mouse_long_mult_flag
+	rtn
+
+p_mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_write_enable,regb
+	branch timer_single_step	
+
+p_mouse_bt_discovery_check:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
+	
+//p_mouse_bt_discovery_commbination_key:
+//	call p_mouse_check_key_gpio
+//	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down
+
+p_mouse_bt_discovery_commbination_key_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue
+	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+	call mouse_disable_function_flag
+	branch mouse_bt_discovery_button_down_disable
+p_mouse_bt_discovery_commbination_key_down:
+	jam 40,mem_mouse_null_enter_hibernate_timer
+	call p_mouse_bt_discovery_timer
+	branch mouse_bt_discovery_commbination_key_down+1
+
+p_mouse_bt_discovery_timer:
+	arg mem_combination_ui_button_count,regc
+	arg p_mouse_long_button_bt_discovery,regb
+	branch timer_single_step
+	
+p_mouse_long_button_bt_discovery:
+	call p_mouse_sensor_powerdown_check
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BLE_ADV,pdata
+	call mouse_stop_le_adv,true		//reconnect adv
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BT_RECONNECT,pdata
+	call mouse_cancel_reconnect,true
+	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+	call mouse_enable_function_flag
+	branch mouse_long_button_bt_discovry
+
+p_mouse_null_enter_hibernate_timer:
+	fetch 1,mem_mouse_null_enter_hibernate_flag
+	rtn blank
+	fetch 1,mem_mouse_null_enter_hibernate_timer
+	branch p_mouse_null_enter_hibernate,blank
+	increase -1,pdata
+	store 1,mem_mouse_null_enter_hibernate_timer
+	rtn
+p_mouse_null_enter_hibernate:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	branch app_enter_hibernate
+
+	
+
+/*
+p_mouse_multi_led_type_on:
+	call p_mouse_multi_led_on
+	fetch 1,mem_mouse_multi_led_on_timer
+	increase 1,pdata
+	store 1,mem_mouse_multi_led_on_timer
+	fetcht 1,mem_mouse_multi_led_on_timer_init
+	isub temp,null
+	call p_mouse_multi_led_off_poweron2s,zero
+	rtn
+p_mouse_multi_led_off_poweron2s:
+	jam 0,mem_mouse_multi_led_on_poweron2s_flag
+	branch p_mouse_multi_led_off
+*/
+p_mouse_multi_led_type_blink:
+	fetch 1,mem_mouse_multi_led_blink_timer
+	increase -1,pdata
+	store 1,mem_mouse_multi_led_blink_timer
+	nrtn blank
+	fetch 1,mem_mouse_multi_led_blink_timer_init
+	store 1,mem_mouse_multi_led_blink_timer
+	fetch 1,mem_mouse_multi_led_blink_count_limited
+	branch p_mouse_multi_led_blink_count_no_limited,blank
+	fetch 1,mem_mouse_multi_led_blink_count
+	branch p_mouse_multi_led_blink_off,blank
+	increase -1,pdata
+	store 1,mem_mouse_multi_led_blink_count
+p_mouse_multi_led_blink_count_no_limited:
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_mouse_multi_led_off
+	beq OFF,p_mouse_multi_led_on
+	rtn
+
+p_mouse_multi_led_on:
+	jam ON,mem_mouse_multi_led_state
+	fetcht 1,mem_mouse_multi_led_gpio
+	branch gpio_out_active
+	
+p_mouse_multi_led_blink_off:
+	jam 0,mem_mouse_ble_reconn_multi_led_blink_flag
+	jam 0,mem_mouse_multi_led_blink_timer
+	jam 0,mem_mouse_multi_led_blink_count
+	jam 0,mem_mouse_multi_led_blink_count_limited
+p_mouse_multi_led_off:
+	fetch 1,mem_mouse_multi_led_blink_count
+	nbranch p_mouse_multi_led_off_wait_blink_over,blank
+	jam 0,mem_mouse_multi_led_blink_enable
+	jam 0,mem_mouse_multi_led_type
+p_mouse_multi_led_off_wait_blink_over:
+	jam 0,mem_mouse_multi_led_on_timer
+	jam OFF,mem_mouse_multi_led_state
+p_mouse_multi_led_off2:	
+	fetcht 1,mem_mouse_multi_led_gpio
+	branch gpio_out_inactive
+/*
+p_mouse_mode_bt_device1_multi_led_on:
+p_mouse_mode_24g_device_multi_led_on:
+	jam 1,mem_mouse_multi_led_on_poweron2s_flag
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_ON,mem_mouse_multi_led_type
+	jam 0,mem_mouse_multi_led_on_timer
+	rtn
+*/
+p_mouse_discovery_multi_led_blink:
+	jam 1,mem_mouse_multi_led_blink_timer
+	jam 5,mem_mouse_multi_led_blink_timer_init	//500ms
+	jam 0,mem_mouse_multi_led_blink_count_limited
+	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
+p_mouse_multi_led_blink_enable:
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
+	rtn
+
+p_mouse_discovey_led_blink_off:
+//	fetch 1,mem_mouse_multi_led_on_timer
+//	nrtn blank
+//	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
+//	nrtn blank
+	fetch 1,mem_mouse_ble_reconn_multi_led_blink_flag
+	nrtn blank
+	branch p_mouse_multi_led_blink_off+1
+		
+p_mouse_dpi_multi_led_blink:
+	jam 1,mem_mouse_multi_led_blink_timer
+	jam 3,mem_mouse_multi_led_blink_timer_init	//300ms
+	jam 1,mem_mouse_multi_led_blink_count_limited
+	branch p_mouse_multi_led_blink_enable
+
+p_mouse_motion:
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call p_mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call p_mouse_key
+	branch mouse_motion+8
+
+p_mouse_key:
+	call p_mouse_check_key_gpio
+	branch mouse_key+1
+p_mouse_check_key_gpio:
+	arg 0,rega
+	call p_mouse_check_lkey_gpio
+	call p_mouse_check_rkey_gpio
+	call p_mouse_check_mkey_gpio
+	call p_mouse_check_skey_gpio
+	copy rega,pdata
+	rtn
+p_mouse_check_skey_gpio:
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
+	call p_mouse_check_bk_key_gpio
+	branch p_mouse_check_fw_key_gpio
+	
+p_mouse_check_lkey_gpio:
+	fetcht 1,mem_lbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega			//true = 1,input low level
+	rtn
+p_mouse_check_rkey_gpio:
+	fetcht 1,mem_rbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega			//true = 1,input low level
+	rtn
+p_mouse_check_mkey_gpio:
+	fetcht 1,mem_mbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega			//true = 1,input low level
+	rtn
+p_mouse_check_bk_key_gpio:
+	fetcht 1,mem_bk_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	nsetflag true,3,rega
+	branch p_gpio_set_input_pu
+p_mouse_check_fw_key_gpio:
+	fetcht 1,mem_fw_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	nsetflag true,4,rega
+	branch p_gpio_set_input_pu
+p_gpio_set_input_pd:
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set1 gpio_active_bit,temp
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd+4
+	
+p_mouse_cheak_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3205,p_mouse_p32xx_sensor_motion
+	beq P3065,p_mouse_p32xx_sensor_motion
+	beq KA8,p_mouse_p32xx_sensor_motion
+	beq P3204,p_mouse_p32xx_sensor_motion
+	beq P3212,p_mouse_p3212_sensor_motion
+	beq P3610,mouse_p3610_sensor_motion
+	beq P3065_xy,p_mouse_p32xx_sensor_motion
+	branch p_mouse_p32xx_sensor_motion
+
+p_mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	fetch 1,mem_config_function_enable
+	bbit0 ENABLE_SENSOR_MOTION_PIN,mouse_p32xx_sensor_motion_2
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	branch mouse_p32xx_sensor_motion_2
+p_mouse_p3212_sensor_motion:
+	call mouse_clear_sensor_data
+	fetch 1,mem_config_function_enable
+	bbit0 ENABLE_SENSOR_MOTION_PIN,mouse_p3212_sensor_motion_1
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	branch mouse_p3212_sensor_motion_1
+
+p_mouse_seting_dpi:
+	call mosue_dpi_led_blink_init
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_seting_3610_dpi
+	beq P3212,p_mouse_seting_3212_dpi
+	beq P3065_XY,p_mouse_seting_3065XY_dpi
+//	beq P3205,p_mouse_seting_3205_dpi
+	beq MX8650,p_mouse_seting_8650XY_dpi
+	branch mouse_seting_dpi+3
+p_mouse_seting_3205_dpi:
+	fetch 1,mem_mouse_dpi
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3205_dpi_recount,zero
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,p_mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL2,p_mouse_set_cpi2
+	beq MOUSE_DPI_LEVEL3,p_mouse_set_cpi3
+	beq MOUSE_DPI_LEVEL4,p_mouse_set_cpi4
+	branch p_mouse_set_cpi3
+p_mouse_3205_dpi_recount:
+	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
+	rtn
+p_mouse_set_cpi1:
+	jam 1,mem_mouse_dpi_blink_count
+	branch mouse_set_cpi1
+p_mouse_set_cpi2:
+	jam 1,mem_mouse_dpi_blink_count
+	branch mouse_set_cpi1
+p_mouse_set_cpi3:
+	jam 2,mem_mouse_dpi_blink_count
+	branch mouse_set_cpi3
+p_mouse_set_cpi4:
+	jam 3,mem_mouse_dpi_blink_count
+	branch mouse_set_cpi4
+	
+p_mouse_seting_8650XY_dpi:
+	fetch 1,mem_mouse_dpi
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3065xy_dpi_recount,zero
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,p_mouse_3065xy_set_cpi2
+//	beq MOUSE_DPI_LEVEL2,p_mouse_3065xy_set_cpi3
+	beq MOUSE_DPI_LEVEL3,p_mouse_3065xy_set_cpi3
+	beq MOUSE_DPI_LEVEL4,p_mouse_3065xy_set_cpi4
+	branch p_mouse_3065xy_set_cpi3
+p_mouse_8650xy_dpi_recount:
+	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
+	rtn
+p_mouse_8650xy_set_cpi1:
+//	jam 1,mem_mouse_dpi_blink_count
+//	fetch 1,mem_320x_dpi_1
+//	increase -1,pdata
+//	branch mouse_p3205_dpi
+//	jam 2,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_4
+	branch mouse_p3205_dpi
+//p_mouse_8650xy_set_cpi2:
+//	fetch 1,mem_3065xy_dpi_2
+//	branch mouse_p3205_dpi	
+p_mouse_8650xy_set_cpi3:
+//	jam 2,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_2
+	branch mouse_p3205_dpi
+p_mouse_8650xy_set_cpi4:
+//	jam 3,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_3
+	branch mouse_p3205_dpi
+
+p_mouse_seting_3065XY_dpi:
+	fetch 1,mem_mouse_dpi
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3065xy_dpi_recount,zero
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,p_mouse_3065xy_set_cpi1
+	beq MOUSE_DPI_LEVEL2,p_mouse_3065xy_set_cpi2
+	beq MOUSE_DPI_LEVEL3,p_mouse_3065xy_set_cpi3
+	beq MOUSE_DPI_LEVEL4,p_mouse_3065xy_set_cpi4
+	branch p_mouse_3065xy_set_cpi3
+p_mouse_3065xy_dpi_recount:
+	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
+	rtn
+p_mouse_3065xy_set_cpi1:
+	jam 1,mem_mouse_dpi_blink_count
+	fetch 1,mem_320x_dpi_1
+	increase -1,pdata
+	branch mouse_p3205_dpi
+p_mouse_3065xy_set_cpi2:
+	fetch 1,mem_3065xy_dpi_2
+	branch mouse_p3205_dpi	
+p_mouse_3065xy_set_cpi3:
+	jam 2,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_3
+	branch mouse_p3205_dpi
+p_mouse_3065xy_set_cpi4:
+	jam 3,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_4
+	branch mouse_p3205_dpi
+	
+p_mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3205_dpi_recount,zero
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+	branch mouse_set_p3212_cpi3
+
+p_mouse_bb_event_discovery_btn:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	jam 0,mem_mouse_null_enter_hibernate_timer
+	bmark1 mark_24g,p_mouse_switch_to_bt
+	branch mouse_bb_event_discovery_btn+1
+p_mouse_switch_to_bt:
+	call p_g24_check_51cmd_stop_24g
+	branch mouse_bb_event_discovery_btn+1
+
+
+p_le_addr_random_config:
+	call load_adc_init
+	fetch 2,mem_0_5_adc_io_data	//adc data from otp
+	branch p_le_otp_adc_empty,blank
+	store 2,mem_random_addr_increase_count
+p_le_addr_random_store:
+	branch p_mouse_store_eerpom_random_addr_increase_count
+
+p_le_otp_adc_empty:
+	setarg 0x1122
+	store 2,mem_random_addr_increase_count
+	branch p_le_addr_random_store
+
+p_mouse_start_discovery:
+	call p_mouse_tx_power_init
+	jam 0,mem_mouse_clear_sensor_data_flag
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,p_mouse_start_discovery_norandom
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,p_mouse_start_discovery_norandom
+
+	call p_mouse_load_eeprom_random_addr_increase_count
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_eerpom_random_addr_increase_count
+	random pdata
+	store 1,mem_le_lap
+
+p_mouse_start_discovery_norandom:
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call p_check_51cmd_adv,true
+	branch mouse_start_discovery_norandom+13
+
+p_mouse_store_eerpom_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	branch iicd_write_protect_eep_data
+	
+p_mouse_load_eeprom_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	branch iicd_read_eep_data
+
+p_check_51cmd_adv:
+	jam 0,mem_mouse_le_reconnect_flag
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
+	istore 1,contr
+	branch check_51cmd_adv
+
+p_mouse_stop_discovery:
+		setarg 0
+	store 2,mem_mouse_discovery_timer
+	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
+	branch mouse_stop_discovery+1
+
+
+p_twspi_reset:
+	hfetch 1,core_gpio_out3
+	and_into 0xfd,pdata
+	hstore 1,core_gpio_out3
+	hfetcht 1,core_gpio_oe3
+	or_into 0x2,temp
+	hstoret 1,core_gpio_oe3
+	call twspi_disable
+	and_into 0xfd,temp
+	nop 13
+	call twspi_enable
+	hstoret 1,core_gpio_oe3
+	rtn
+
+
+
+	
+	
+p_g24_set_device_addr:
+	call adc_init_data
+//	fetch 4,mem_0_5_adc_io_data	//adc data from otp
+//	store 4,mem_24g_device_addr	
+//	nrtn blank
+	fetch 4,mem_lap
+	store 4,mem_24g_device_addr
+	rtn
+
+
+p_g24_transmit_rf_sta_init:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_sync_cnt
+p_g24_transmit_rf_ctrl_clear:	
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_data_type
+	rtn
+	
+p_g24_hop_ch_enable:
+	fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	store 1,mem_24g_data_type
+	//update txpayload
+	store 1,mem_24g_txpayload
+	rtn
+p_g24_hop_ch_disable:
+	fetch 1,mem_24g_data_type
+	set0 bit_hop,pdata
+	store 1,mem_24g_data_type
+	rtn	
+
+p_g24_transmit_hop_pac_fail:
+	call power_ctrl_pac_succ_decrs
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
+	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+p_g24_transmit_hop_pac_fail_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_fail_stage1:	
+	jam 0,mem_24g_hop_pac_retry
+	jam 0,mem_24g_rf_last_sta
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_fail_hop_stage2:
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_hop_pac_fail_stage1
+
+	
+p_g24_transmit_pac_fail_hop_stage3:
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt
+	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
+	fetch 1,mem_24g_rf_hop_ch
+	beq 1,p_g24_rf_hop_fastly
+	jam 1,mem_24g_rf_hop_ch
+p_g24_rf_hop_attemp_again:
+	fetch 1,mem_24g_rf_hop_ch
+	bne 1,p_g24_transmit_rf_ctrl_clear
+p_g24_rf_hop_fastly:
+	fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	store 1,mem_24g_hop_fastly_cnt
+	beq 4,p_g24_rf_hop_fastly_exit
+	call p_g24_ch
+	jam 2,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_rf_hop_fastly_exit:
+	call power_ctrl_pac_succ_decrs
+	jam 0,mem_24g_hop_fastly_cnt
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_succ:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_succ_rf_config:
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_hop_pac_succ
+	fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch p_g24_transmit_rf_sta_init,true
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_succ_wo_hop
+	beq 2,p_g24_transmit_hop_pac_succ
+	rtn
+
+p_g24_rf_sta_check:
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_rf_laststa_synccnt_check
+	ncall p_g24_rf_sync_cnt_check,user2
+	rtn
+
+p_g24_rf_laststa_synccnt_check:
+	disable user2
+	fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	jam 1,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch enable_user2
+
+p_g24_rf_sync_cnt_check:
+	fetch 1,mem_24g_sync_cnt
+	branch p_g24_rf_hop_attemp,blank
+	increase -1,pdata
+	store 1,mem_24g_sync_cnt
+	jam 2,mem_24g_rf_work_stage
+	call p_g24_ch
+	jam 4,mem_24g_max_retry
+	rtn
+
+p_g24_rf_hop_attemp:
+	jam 3,mem_24g_rf_work_stage
+	fetch 1,mem_24g_rf_hop_ch
+	nbranch p_g24_rf_hop_attemp_again,blank
+	call p_g24_ch
+	jam 2,mem_24g_max_retry
+	rtn
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+p_g24_txdata_prep_packeage_data:
+	call p_g24_package_data
+	call p_g24_transmit_prep
+p_g24_txdata_enable_tx:
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	fetch 2,mem_cb_24g_data
+	call callback_func
+	branch p_g24_accumulate_mouse_data,user
+	fetch 7,mem_24g_txbuf+1	//mouse data
+	rtn blank
+	branch enable_user	// retransmit
+p_g24_accumulate_mouse_data:
+	call p_mouse_data_xy_release
+	jam 0,mem_24g_abort_pac
+	add rega,1,pdata
+	store 1,mem_24g_datalen
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	ifetcht 1,contw
+	ifetch 1,regb
+	ior temp,pdata
+	istore 1,contw
+	increase 1,regb
+	arg 2,loopcnt
+p_g24_accumulation_loop:
+	ifetch 2,regb
+//	ifetcht 2,contw
+//	iadd temp,pdata
+	istore 2,contw
+	increase 2,regb
+	loop p_g24_accumulation_loop
+	arg mem_24g_txbuf+6,contw
+	arg 2,loopcnt
+p_g24_accumulation_loop2:
+	ifetch 1,regb
+	ifetcht 1,contw
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regb
+	loop p_g24_accumulation_loop2
+	rtn
+
+p_mouse_data_xy_release:
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	fetch 1,mem_mouse_long_mult_flag
+	rtnne 1
+	setarg 0
+	store 1,mem_mouse_long_mult_flag
+	store 4,mem_mouse_x
+	branch p_mouse_sensor_poweron
+
+p_g24_transmit_packet:
+	jam 0,mem_24g_retry
+p_g24_transmit_loop:
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	call p_g24_transmit_receive_ack
+	fetch 1,mem_24g_no_ack	//tx noack
+	rtneq no_ack_24g
+	nbranch p_g24_retransmit,sync
+	nbranch p_g24_retransmit,user3
+	call p_g24_txbuf_clear
+	call p_g24_ackpayload_parse
+	call power_ctrl_pac_succ_incrs
+p_g24_transmit_next_packet:
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+	call p_g24_transmit_succ_rf_config
+p_g24_transmit_abandon:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	store 1,mem_24g_get_ack_fail
+	store 1,mem_24g_hop_pac_retry
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+p_g24_txbuf_clear:
+	arg 4,loopcnt
+	arg mem_24g_txbuf,contw
+	branch memset0
+
+p_g24_paring_mode_start:
+	call power_ctrl_pac_succ_cnt_init
+	branch p_g24_paring_mode
+
+p_g24_transmit_receive_ack:
+	disable user3
+	call p_g24_transmit
+	
+
+	fetch 1,mem_24g_no_ack
+	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+	force 0,radio_ctrl
+	fetch 4,mem_24g_addr
+	iforce access
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	call p_g24_receive_rxon
+	call p_g24_end_of_packet,user3
+	rtn
+p_g24_transmit_no_ack:
+	call p_g24_end_of_packet
+	branch p_g24_transmit_next_packet
+
+p_g24_retransmit:
+	fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	store 1,mem_24g_get_ack_fail
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+	fetcht 1,mem_24g_retry
+	increase 1,temp
+	storet 1,mem_24g_retry
+	fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch p_g24_transmit_loop,blank
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_pac_fail_hop_stage3
+	fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	store 1,mem_24g_hop_pac_retry
+	beq 2,p_g24_transmit_hop_pac_fail
+	call p_g24_hop_ch_enable
+	jam 1,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_tx_paring_retry:
+	fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	jam 0,mem_24g_get_ack_fail
+	branch p_g24_stop_g24_mode
+
+p_g24_tx_attempt_fail:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+p_g24_stop_g24_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+p_g24_ackpayload_parse:
+	call p_g24_read_len_pid_crc
+	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+power_ctrl_pac_succ_cnt_init:
+	jam 1,mem_power_ctrl_level
+	jam 0,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_incrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	increase 1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_decrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	ncall power_ctrl_pac_succ_cnt_reinit,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtneq 0
+	increase -1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_cnt_reinit:
+	jam 3,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+power_ctrl_start:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	rtnbit1 UI_STATE_BT_RECONNECT
+	rtnbit1 UI_STATE_BT_DISCOVERY
+
+	arg mem_rssi_signal_buf,rega
+	call p_rssi_average
+	storet 1,mem_rssi_avg_received
+
+	
+	isolate1 mark_24g,mark
+	call power_ctrl_24g_dis_max,true
+	ncall power_ctrl_le_dis_max,true
+	isub temp,null
+	nbranch power_ctrl_txpower_incrs_force,positive
+
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	nbranch power_ctrl_txpower_decrs_check,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	beq 0,power_ctrl_txpower_incrs
+	rtn
+
+power_ctrl_24g_dis_max:
+	setarg RSSI_DIS_MAX_24G
+	rtn
+power_ctrl_24g_dis_min:
+	setarg RSSI_DIS_MIN_24G
+	rtn	
+power_ctrl_le_dis_max:
+	setarg RSSI_DIS_MAX_BLE
+	rtn
+power_ctrl_le_dis_min:
+	setarg RSSI_DIS_MIN_BLE
+	rtn
+	
+power_ctrl_txpower_decrs_check:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtnne 32
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_decrs:
+	fetcht 1,mem_rssi_avg_received
+	isolate1 mark_24g,mark
+	call power_ctrl_24g_dis_min,true
+	ncall power_ctrl_le_dis_min,true
+	isub temp,null
+	nrtn positive
+	fetch 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+	increase -1,pdata
+	store 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+power_ctrl_decrs_level1:
+power_ctrl_incrs_level1:	//0dBm
+	jam TX_POWER_0DB,mem_tx_power
+	rtn
+
+power_ctrl_txpower_incrs_force:
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_incrs:
+	fetch 1,mem_power_ctrl_level
+	beq 2,power_ctrl_incrs_level2
+	increase 1,pdata
+	store 1,mem_power_ctrl_level
+	beq 1,power_ctrl_incrs_level1
+power_ctrl_incrs_level2:	//+6dBm
+
+	jam TX_POWER_5DB,mem_tx_power
+	rtn
+	
+power_ctrl_decrs_level0: //-5dBm
+
+	jam TX_POWER_f5DB,mem_tx_power
+	rtn
+	
+p_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call p_g24_pair_init
+p_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+p_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8
+
+p_g24_pairing_sm:
+	fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,p_g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,p_g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,p_g24_pairing_sm_3
+	branch assert
+
+p_g24_pairing_sm_1:
+	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch p_g24_pairing_sm_common
+p_g24_pairing_sm_2:
+	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch p_g24_pairing_sm_common
+p_g24_pairing_sm_3:
+	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+p_g24_pairing_sm_common:
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+p_g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call p_g24_put_data_in_buff
+	call p_g24_transmit_prep
+	call p_g24_txdata_enable_tx
+	branch enable_user
+
+p_g24_paring_mode:
+	fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,p_g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,p_g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,p_g24_pairing_sm_3_waiting_ack
+	rtn
+
+
+p_g24_pairing_sm_1_waiting_ack:
+	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+p_g24_pairing_sm_2_waiting_ack:
+	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+p_g24_pairing_sm_3_waiting_ack:
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event	
+	fetch 4,mem_24g_rxpayload+2
+	call p_g24_update_addr_and_synccrc8
+	branch p_g24_transmit_abandon
+
+//p_g24_start_24g_mode:
+//	set0 mark_24g,mark
+//	call p_g24_ch_syncword_crc8_init
+//	fetch 1,mem_24g_pairing_sm
+//	rtnne STATE_24G_PAIRING_SUCCESS
+//	call p_g24_tx_attemp_data_prep
+//p_g24_tx_attemp_dongle:
+//	setarg 0
+//	store 2,mem_24g_check_dongle_times
+//p_g24_tx_attemp_dongle_loop:
+//	call lpo_calibration
+//	nop 2000
+//	fetch 1,mem_24g_check_dongle_times
+//	beq 0xff,p_g24_stop_g24_mode
+//	call p_g24_transmit_receive_ack
+//	nbranch p_g24_attemp_txdata_retry,sync
+//	nbranch p_g24_attemp_txdata_retry,user3
+p_g24_tx_attemp_dongle_succ:
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	jam 0,mem_mouse_long_mult_flag
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+p_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+	
+//p_g24_attemp_txdata_retry:
+//	fetch 2,mem_24g_check_dongle_times
+//	increase 1,pdata
+//	store 2,mem_24g_check_dongle_times
+//	call p_g24_ch
+//	branch p_g24_tx_attemp_dongle_loop
+
+p_g24_auto_pair_start:
+	setarg 0
+	store 2,mem_24g_pair_current_ch_num
+	set0 mark_24g,mark
+	call p_g24_auto_pair_first_attemp
+	call p_g24_tx_attemp_data_prep
+p_g24_auto_pair_restart:
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+//	jam 0,mem_24g_check_dongle_times
+p_g24_auto_pair_start_loop:
+	call lpo_calibration
+	nop 2000
+	fetch 2,mem_24g_check_dongle_times
+	arg 0x7788,temp		//30s
+	isub temp,null
+	branch p_g24_stop_g24_mode,zero
+//	fetch 1,mem_24g_check_dongle_times
+//	beq 0xff,p_g24_stop_g24_mode
+	call p_g24_transmit_receive_ack
+	nbranch p_g24_auto_pair_retry,sync
+	nbranch p_g24_auto_pair_retry,user3
+	call p_g24_ackpayload_parse
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_paring_addr
+	isub temp,null
+	branch p_g24_start_pairing_sm1,zero
+	branch p_g24_tx_attemp_dongle_succ
+
+//p_g24_auto_pair_retry:
+//	fetch 1,mem_24g_check_dongle_times
+//	increase 1,pdata
+//	store 1,mem_24g_check_dongle_times
+//	fetch 1,mem_24g_auto_paring_switch
+//	increase 1,pdata
+//	and_into 1,pdata
+//	store 1,mem_24g_auto_paring_switch
+//	beq 0,p_g24_auto_pair_device_attemp
+//	beq 1,p_g24_auto_pair_pair_attemp
+//	rtn
+p_g24_auto_pair_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	fetch 1,mem_24g_auto_paring_switch
+	increase 1,pdata
+	and_into 3,pdata
+	store 1,mem_24g_auto_paring_switch
+	beq 0,p_g24_auto_pair_device_attemp
+	beq 1,p_g24_auto_pair_pair_attemp
+	beq 2,p_g24_auto_pair_all_powerful_attemp
+	beq 3,p_g24_auto_pair_pair_attemp
+	rtn
+p_g24_auto_pair_first_attemp:
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_addr
+	fetch 1,mem_24g_pair_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_pair_current_ch_num
+	rtn
+
+//p_g24_auto_pair_first_attemp:
+//	call p_g24_factory_check
+//	branch p_g24_auto_pair_all_powerful,user
+p_g24_auto_pair_dongle_addr_reconn:
+	call p_mouse_tx_power_init
+	call p_mouse_init_iic_read_24g_addr
+	call p_g24_factory_check
+	branch p_g24_auto_pair_all_powerful,user
+	branch p_g24_ch_syncword_crc8_init
+
+//p_g24_auto_pair_all_powerful:
+//	jam TX_POWER_PAIR,mem_tx_power
+//	setarg 0x0f0f
+//	store 2,mem_24g_addr
+//	istore 2,contw
+p_g24_auto_pair_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	setarg 0x0f0f
+	store 2,mem_24g_addr
+	istore 2,contw
+	fetch 1,mem_24g_powerful_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_powerful_current_ch_num
+	rtn
+p_g24_ch_syncword_crc8_init:	
+	call p_g24_syncword_crc8
+	branch p_g24_ch
+	
+p_g24_auto_pair_device_attemp:
+	call p_g24_auto_pair_first_attemp
+	branch p_g24_auto_pair_start_loop
+	
+p_g24_auto_pair_pair_attemp:
+	call p_g24_pair_init
+	branch p_g24_auto_pair_start_loop
+
+p_g24_auto_pair_all_powerful_attemp:
+	call p_g24_auto_pair_all_powerful
+	branch p_g24_auto_pair_start_loop
+
+//p_g24_auto_pair_pair_attemp:
+//	call p_g24_pair_init
+//	branch p_g24_auto_pair_start_loop
+
+p_g24_check_51cmd_stop_24g:
+	set0 mark_24g,mark
+	call le_disable
+p_mouse_disable_g24_pairing_flag:
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	branch mouse_disable_function_flag
+
+p_g24_put_data_in_buff:
+	storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+p_g24_read_len_pid_crc:
+//read control
+	fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	store 3,mem_24g_sta_crc
+//read pid
+	fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	store 1,mem_24g_sta_pid
+	rtn
+
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	add temp,0,rega			/* index to frequency */
+	call rf_write_freq
+	setarg param_pll_setup	//128us
+	call sleep
+p_rf_tx_enable:
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	nop 10 /* wait LDOs to turn ON*/
+	jam 0x01, rfen_mdm
+	jam 0x3d, rfen_mdm
+	nop 10 /* wait tx blocks to turn ON*/
+	jam 0xb7,rfen_sn
+	nop 10 /* wait tx lo buffer to turn ON*/
+	jam 0x7d, rfen_mdm
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,p_set_tx_power_0db
+	beq TX_POWER_3DB,p_set_tx_power_3db	
+	beq TX_POWER_5DB,p_set_tx_power_5db
+//	beq TX_POWER_f3DB,p_set_tx_power_f3db	
+	beq TX_POWER_f5DB,p_set_tx_power_f5db
+	beq TX_POWER_PAIR,p_set_tx_power_pair
+	branch p_set_tx_power_0db
+
+p_set_tx_power_0db:
+	call p_rx_low_sens
+	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+	jam 0x88,0x8957
+	jam 0x6c,0x8958
+	jam 0x10,0x8959
+	branch set_tx_power_0db	
+
+p_set_tx_power_3db:
+	call p_rx_high_sens
+	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+	jam 0x88,0x8957
+	jam 0x3c,0x8958
+	jam 0x10,0x8959
+	branch set_tx_power_3db
+	
+p_set_tx_power_5db:
+	call p_rx_high_sens
+	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+	jam 0x88,0x8957
+	jam 0x3c,0x8958
+	jam 0x10,0x8959
+	branch set_tx_power_5db
+
+//p_set_tx_power_f3db:
+//	call p_rx_low_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_f3db
+	
+p_set_tx_power_f5db:
+	call p_rx_low_sens
+	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xc0,0x8956
+	jam 0x88,0x8957
+	jam 0x6c,0x8958
+	jam 0x10,0x8959
+	branch set_tx_power_f5db
+
+p_rx_low_sens:
+	jam 0x5b,0x894c
+	jam 0x96,0x894d
+	jam 0x2c,0x894e 
+	jam 0x46,0x894f
+	rtn
+
+p_rx_high_sens:
+	jam 0xfb,0x894c 
+	jam 0xef,0x894d
+	jam 0xec,0x894e 
+	jam 0x5e,0x894f
+	rtn
+		
+p_set_tx_power_pair:	//50-100cm distance
+ 	jam 0xc2,0x8956
+ 	jam 0xd0,0x8955
+	rtn	
+
+p_shutdown_radio:
+	force 8,radio_ctrl
+	branch shutdown_radio+1
+
+p_initialize_radio_cont:
+	call initialize_radio_cont+1
+	jam clksel_dpll,core_clksel
+	rtn
+	
+/* ================================== 24g common functions ============================= */
+p_g24_timer_check:
+	call disable_user
+	fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	fetch 4,mem_24g_tx_btclk
+	fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	store 4,mem_24g_tx_btclk
+	branch enable_user
+
+p_rssi_noise:
+	call save_rssi
+	rtn blank
+	fetcht 1,mem_rssi_noise_index
+	arg mem_rssi_noise_buffer,rega
+	call p_rssi_store
+	storet 1,mem_rssi_noise_index
+	rtn
+	
+p_rssi_store:
+	copy rega,pdata
+	iadd temp,contw
+	fetch 1,mem_rssi
+	istore 1,contw
+	increase 1,temp
+	and_into RSSI_BUF_LEN_SIGNAL,temp
+	rtn
+p_rssi_average:
+	arg 0,temp
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+	copy rega,contr
+p_rssi_average_loop:
+	ifetch 1,contr
+	iadd temp,temp
+	loop p_rssi_average_loop
+	rshift3 temp,pdata
+	copy pdata,temp
+	rtnmark0 mark_24g
+	//2BCD
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+	rtn
+
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
+
+
+p_g24_transmit_prep:
+
+// total length
+	fetch 1,mem_24g_datalen
+	increase 2,pdata
+	store 1,mem_24g_txlen
+// data type
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	arg mem_24g_txbuf,contr
+	branch memcpy
+
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_current_ch_number
+	rtn
+
+p_g24_ch_map_size:
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	rtn
+	
+p_g24_ch_calc:
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	rtn
+
+p_g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	fetch 1,mem_24g_ch
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+
+p_g24_receive_packet:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	call rf_rx_enable
+p_g24_receive_rxon:
+
+
+	call p_g24_prep
+	disable user3
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	enable swfine
+	fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch p_g24_sync_timeout,sync
+
+
+	disable decode_fec0
+	enable decode_fec1
+	enable enable_white
+	enable enable_crc
+	call p_g24_receive_byte
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	call p_g24_receive_byte
+	store 1,mem_24g_rxbuf	//device id
+	fetch 1,mem_24g_mode
+	sub pdata,rx_24g,null
+	branch p_g24_receive_skip,zero
+	fetch 1,mem_24g_rxbuf
+	fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch p_g24_end_of_packet,true
+p_g24_receive_skip:
+	call p_g24_receive_byte
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	call p_g24_receive_byte
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+	//receive rssi hex
+	copy contw,rega
+	call p_g24_receive_byte
+	store 1,mem_rssi_hex_received
+	copy rega,contw
+	parse demod,bucket,24
+	enable swfine
+	arg param_sifs,stop_watch	
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	disable decode_fec1
+	branch p_g24_end_of_packet,crc_failed
+
+
+	enable user3
+	fetch 1,mem_last_freq
+	add pdata,0,rega
+	call rf_write_freq
+	disable decode_fec0
+	call set_sync_on
+	fetch 1,mem_rssi_hex_received
+	copy pdata,rega
+	call p_rssi_signal
+	rtn
+
+p_g24_receive_byte:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	rtn
+	
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	call end_of_packet
+	rtn
+
+p_g24_sync_timeout:
+	branch p_g24_end_of_packet
+
+p_g24_set_freq_tx:
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+p_g24_transmit:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call p_g24_prep
+	call p_g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+
+	
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	disable encode_fec0
+	enable encode_fec1
+	enable enable_white
+	enable enable_crc
+	fetch 1,mem_24g_syncword_crc8
+	inject mod,8
+	fetch 1,mem_24g_txlen
+	iforce loopcnt
+	arg mem_24g_txpayload,contr
+p_g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_g24tr_loop
+
+
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	nop 100
+	disable encode_fec0
+	disable encode_fec1
+	rtn
+
+
+
+p_mouse_data_init:
+	jam 7,mem_mouse_data_queue	//data length
+	jam 4,mem_mouse_data_queue+1	//fifo depth
+	setarg mem_mouse_data_queue
+	store 2,mem_queue_ptr
+	branch queue_init
+
+p_mouse_data_push:
+	arg mem_mouse_key,rega
+	call queue_push
+	call p_mouse_queue_increase,user
+	
+	rtn
+p_mouse_queue_increase:
+	fetch 1,mem_mouse_data_queue_num
+	increase 1,pdata
+	store 1, mem_mouse_data_queue_num
+	rtn
+	
+p_mouse_data_pull:
+	arg mem_mouse_key,rega
+	call queue_pop
+	branch p_mouse_fill_data_le,user
+	rtn
+
+p_mouse_fill_data_le:
+	call le_clear_md
+	fetch 1,mem_mouse_data_queue_num
+	sub pdata,1,null
+	ncall le_set_md,positive
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	increase -1,pdata
+	store 1, mem_mouse_data_queue_num
+	branch mouse_fill_data_le
+
+/*
+p_le_savelist:
+	fetch 1,mem_mouse_key
+	bbit0 0,p_le_savelist1
+	fetch 1,mem_lpm_mode
+	bbit1 1,p_le_savelist1
+	jam 0,mem_seqi
+p_le_savelist1:
+	fetch 4,mem_sync_clke
+	store 4,mem_pdatatemp
+	deposit auxcnt
+	istore 1,contw
+	fetch 1,mem_le_ch_mapped
+	istore 1,contw
+	fetch 2,mem_le_event_count
+	arg 0x0fff,contr
+	iand contr,pdata
+	setflag match,15,pdata
+	setflag wake,14,pdata
+	setflag sync,13,pdata
+	setflag attempt,12,pdata
+	istore 2,contw
+
+
+p_save1:
+	call p_savelist1
+	fetch 1,mem_context
+	rtnbit0 state_inconn
+	fetch 1,mem_lpm_mode
+	rtnbit1 1
+	fetch 1,mem_mouse_z
+	rtn blank
+	jam 3,mem_lpm_mode
+	jam 0,mem_seqi
+	rtn
+
+
+p_savelist:
+	store 8,mem_pdatatemp
+p_savelist1:
+	fetch 1,mem_seqi
+	rtneq 0x7f
+	and_into 0x7f,pdata
+	lshift3 pdata,pdata
+	arg 0x4c00,contw
+	iadd contw,contw
+	fetch 8,mem_pdatatemp
+	istore 8,contw
+	fetch 1,mem_seqi
+	isolate1 7,pdata
+	increase 1,pdata
+	and_into 0x7f,pdata
+	setflag true,7,pdata
+	store 1,mem_seqi
+	fetch 8,mem_pdatatemp
+	rtn	
+
+
+p_hci_log:
+	fetch 1,0x4c00
+	increase 1,pdata
+	sub pdata,50,null
+	branch p_hci_log_calc_ptr,positive
+	setarg 0
+p_hci_log_calc_ptr:
+	store 1,0x4c00
+	arg 8,temp
+	imul32 temp,pdata
+	arg 0x4c08,contw
+	iadd contw,contw
+p_hci_log_write_content:
+	fetch 1,0x4c00
+	istore 1,contw//counter
+	fetch 4,mem_24g_txbuf+2
+	istore 4,contw
+	rtn
+
+
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,p_send_lmp_escape
+	branch send_lmp0
+	
+p_send_lmp_escape:
+	beq LMP_EXT_FEATURES_RES,p_send_lmpext_features_res
+	beq LMP_EXT_FEATURES_REQ,p_send_lmpext_features_req	
+	branch send_lmp_escape
+
+p_send_lmpext_features_res:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_res
+p_send_lmpext_features_req:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_req
+
+p_check_ssp_enable:
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable,blank
+	branch ssp_enable
+
+*/
+
+
+
+
+/******************************************/
+/***********   ROM Start   ***************/
+/******************************************/
+
+org 0x2000		// start from rom address start
+start:
+	call lpmstate
+
+soft_reset:
+	bpatch patch00_0,mem_patch00
+	clear_stack
+	call spi_ncs_gpio_init  // 0xff disable spi ncs gpio init
+	call initialize_radio
+	call iicd_init_12m
+	call init_param
+	call l2cap_init
+	bpatch patch00_1,mem_patch00
+	call rfcomm_init
+	call init_lmp
+	call ui_init
+	call app_init
+	ncall load_chip_option,wake
+	bpatch patch00_2,mem_patch00
+	call app_lpm_init,wake
+	call publickey_init
+	call lpm_recover_clk,wake
+main_loop:	
+	bpatch patch00_3,mem_patch00
+	call sp_calc_sequence
+	call sp_calc_sequence_256
+	call sp_calc_sequence_256_check
+	call le_dispatch
+	bpatch patch00_4,mem_patch00
+	call idle_dispatch
+	call app_process_idle
+	call inquiry_dispatch
+	call inquiry_scan_dispatch
+	call page_scan_dispatch
+	call connection_dispatch
+	call lpm_dispatch
+	call g24_dispatch
+	branch main_loop
+
+connection_dispatch:
+	call connection_incontext
+	rtnmark0 mark_context
+	set0 mark_context,mark
+	call context_save
+	branch le_disable
+	
+connection_incontext:
+	bpatch patch00_5,mem_patch00
+	call context_search_insniff
+	nbranch connection_nosniff,zero
+	call context_load
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,le_conn_dispatch
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+connection_nosniff:
+	call context_get_next
+	copy loopcnt,null
+	rtn zero
+	call context_load
+	fetch 1,mem_state
+	bbit1 state_inpage,master_page
+	fetch 1,mem_mode
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+
+
+
+/**************************************/
+/**************idle dispatch*********/
+/**************************************/
+	
+idle_dispatch:
+	fetch 1,mem_hci_cmd
+	rtn blank
+	beq hci_cmd_inquiry,idle_inquiry
+	beq hci_cmd_inquiry_cancel,idle_inquiry_cancel
+	beq hci_cmd_remote_name_req,idle_remote_name_req
+	beq hci_cmd_create_conn,idle_create_conn
+	beq hci_cmd_le_create_conn,idle_le_create_conn
+	call context_search_conn_handle
+	rtn zero
+	call context_search_plap
+	rtn zero
+idle_exit:
+	jam 0,mem_hci_cmd
+	rtn
+
+idle_le_create_conn:
+	jam hci_cmd_le_create_conn,mem_cmd_le_create_conn
+	jam 0,mem_hci_cmd
+	rtn
+	
+idle_inquiry:
+	set1 mark_inquiry_on,mark
+	set0 mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	jam 31,mem_nfreq_index_inq
+	branch idle_exit
+
+idle_inquiry_cancel:
+	set0 mark_inquiry_on,mark
+	force 0,stop_watch
+	branch idle_exit
+
+idle_remote_name_req:
+	call context_search_plap
+	rtn zero
+	force LMP_NAME_REQ,temp
+	jam 5,mem_nameres_cnt
+	branch idle_start_page
+
+idle_create_conn:
+	bpatch patch00_6,mem_patch00
+idle_create_conn_device:
+	fetch 6,mem_hci_plap
+	branch idle_exit,blank
+	jam RECONNECT_HID,memui_reconnect_mode
+	//jam HS_INIT_CALL,mem_hs_mode //init as master
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	branch idle_create_conn_cont
+	
+idle_create_conn_cont:
+	force LMP_VERSION_REQ,temp
+idle_start_page:
+	bpatch patch00_7,mem_patch00
+	fetch 1,mem_page_mode
+	branch idle_page_mode_r0,blank
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	increase -1,pdata
+idle_page_mode_r0:
+	store 1,mem_npage
+	store 1,mem_npage_index
+	jam 31,mem_nfreq_index_page
+	set0 mark_page_trainb,mark
+	call context_new
+	nbranch idle_page_fail,zero
+	call get_free_amaddr
+	store 1,mem_amaddr
+	storet 1,mem_lmo_opcode2
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	bpatch patch01_0,mem_patch01
+	call timer_reinit
+	force 0,pdata
+	compare LMP_NAME_REQ,temp,0xff
+	nsetflag true,state_init_seq,pdata
+	set1 state_inpage,pdata
+	store 1,mem_state
+	jam BT_EVT_RECONN_STARTED,mem_fifo_temp
+	call ui_ipc_send_event
+	force 0,pdata
+	setflag true,smap_name_req,pdata
+	store 1,mem_state_map
+	setarg 0
+	set1 mode_master,pdata
+	store 1,mem_mode
+	enable master
+	call context_save
+	disable master
+	force page_length_timer,queue
+	fetch 2,mem_page_to
+	call timer_init
+	branch idle_exit
+idle_page_fail:
+	bpatch patch01_1,mem_patch01
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	compare LMP_NAME_REQ,temp,0xff
+	branch idle_name_fail,true
+	branch idle_exit
+idle_name_fail:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+	jam BT_EVT_RECONN_FAILED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch idle_exit
+	
+
+/******************************************/
+/**************  Inquiry  *****************/
+/******************************************/
+
+inquiry_dispatch:
+	rtnmark0 mark_inquiry_on
+	force inquiry_length_timer,queue
+	call timer_check
+	nsetflag blank,mark_inquiry_on,mark
+	nbranch inquiry_start,blank
+	rtn
+	
+
+
+inquiry_start:
+	bpatch patch01_2,mem_patch01
+	fetcht 2,mem_inq_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call afh_clear
+	force 0,freq_mode
+inquiry_restart:
+	rtn timeout
+	set0 mark_fhs_already_good,mark
+	set0 mark_fhs_eir,mark
+inquiry_rx_restart:
+	add clkn_bt,1,bt_clk
+	isolate1 mark_inquiry_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch inquiry_receive,true
+
+inquiry_transmit:
+	bpatch patch01_3,mem_patch01
+	fetch 1,mem_inquiry_transmit
+	increase 1,pdata
+	store 1,mem_inquiry_transmit
+	call fetch_giac
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call inquiry_check_train
+	branch inquiry_restart
+
+inquiry_check_train:
+	bpatch patch01_4,mem_patch01
+	fetch 1,mem_nfreq_index_inq
+	increase -1,pdata
+	store 1,mem_nfreq_index_inq
+	rtn positive  /* if it's time to incremnt N */
+	jam 31,mem_nfreq_index_inq
+	fetch 1,mem_ninqy_index
+	increase -1,pdata
+	store 1,mem_ninqy_index
+	rtn positive      /* if it's time to change train */
+	setflip mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	rtn
+
+inquiry_receive:
+	bpatch patch01_5,mem_patch01
+	call fetch_giac
+	call rx_radio_freq
+	call fetch_diac
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt
+	branch inquiry_sync,sync   /* try look for id packet again if not found */
+	call inquiry_check_train
+	branch inquiry_rx_restart
+inquiry_sync:
+	bpatch patch01_6,mem_patch01
+	call save_rssi
+	call scan_mode_whiten
+	call receive_packet_whitened
+	set0 mark_rxbuf_inuse,mark
+	rtnmark0 mark_fhs_already_good
+inquiry_receive_rtn:
+	bpatch patch01_7,mem_patch01
+inquiry_receive_eir_rtn:
+	fetch 1,mem_inquiry_rcv
+	increase 1,pdata
+	store 1,mem_inquiry_rcv
+	rtn
+		
+/******************************************/
+/**************  Master Dispatch  *************/
+/******************************************/
+
+
+
+master_page:
+	bpatch patch02_0,mem_patch02
+	enable master
+	enable clknt
+	fetch 2,mem_page_interval
+	branch master_page_no_interval,blank
+	force page_interval_timer,queue
+	call timer_check               
+	nrtn blank
+master_page_no_interval:
+	bpatch patch02_1,mem_patch02
+	fetcht 2,mem_page_window
+	force 40,queue
+	call sniff_check_window
+	branch page_exit,user
+	force page_length_timer,queue
+	call timer_check
+	nbranch page_start,blank
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_npage_timeout
+	branch master_page_timeout
+master_npage_timeout:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+master_page_timeout:
+	bpatch patch02_2,mem_patch02
+	jam 0,mem_state
+	call init_lmp_work
+	jam 0,memui_reconnect_mode
+	jam BT_EVT_RECONN_PAGE_TIMEOUT,mem_fifo_temp
+	call ui_ipc_send_event	
+	branch page_exit
+
+page_start:
+	bpatch patch02_3,mem_patch02
+	force 0,timeup
+	until clkn_rt,meet
+	fetch 1,mem_page_clk
+	increase -1,pdata
+	ixor clkn_bt,pdata
+	compare 0,pdata,3
+	nbranch page_start,true
+	deposit am_addr
+	store 1,mem_fhs_am_addr
+	force 0,N_tx_slot
+	force 0,freq_mode
+
+page_restart:
+	bpatch patch02_4,mem_patch02
+	branch page_exit,timeout
+	call fetch_page_bt_adr
+	arg param_rf_setup, timeup
+	until clkn_rt,meet         /* wait for the start_receiver time against native real clk  */
+page_rx_restart:
+	bpatch patch02_5,mem_patch02
+	fetch 4,mem_page_clk    /* deposit clk_estimate */
+	iforce bt_clk
+	increase 1,pdata
+	store 4,mem_page_clk
+	isolate1 mark_page_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch page_receive,true
+	fetch 1, mem_page_transmit
+	increase 1,pdata
+	store 1, mem_page_transmit
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call page_check_train
+	branch page_restart	
+page_exit:
+	bpatch patch02_6,mem_patch02
+	disable master
+	fetch 2,mem_page_interval      
+	rtn blank
+	force page_interval_timer,queue
+	branch timer_init              
+
+page_check_train:
+	bpatch patch02_7,mem_patch02
+	fetch 1,mem_nfreq_index_page
+	increase -1,pdata
+	store 1,mem_nfreq_index_page
+	rtn positive
+	jam 31,mem_nfreq_index_page
+	fetch 1,mem_npage_index
+	increase -1,pdata                 /* increment N */
+	store 1,mem_npage_index
+	rtn positive      			/* if it's time to change train */
+	setflip mark_page_trainb,mark             /* change train */
+	fetch 1,mem_npage
+	store 1,mem_npage_index
+	rtn
+	
+page_receive:
+	bpatch patch03_0,mem_patch03
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* try id look for id packet again */
+	branch page_sync,sync         /* restart if didn't receive anything */
+	call page_check_train
+	branch page_rx_restart
+page_sync:
+	call end_of_packet
+	fetch 1, mem_page_rcv
+	increase 1,pdata
+	store 1, mem_page_rcv
+	force 0,stop_watch
+	fetch 4,mem_page_clk
+page_send_fhs:
+	bpatch patch03_1,mem_patch03
+	call rf_setup_time_master_slot
+	call fetch_page_bt_adr
+	increase 1,N_tx_slot
+page_send_fhs_continue:
+	and_into 0x1fd,bt_clk
+	and_into 0x1fc,freq_mode               /* master response = x00, even_train settin must remain the same */
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	force 0,am_addr
+	force type_fhs,type
+	call scan_mode_whiten
+	call transmit_packet_whitened
+page_wait_fhs_reply:
+	bpatch patch03_2,mem_patch03
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	and_into 0x1fc,freq_mode               /* master response sequence = x00, even train setting must be preserved */
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* look for that reply */
+	call end_of_packet,sync              /* id reply is enough */
+	branch page_wait_fhs_reply_ok,sync           /* no reply then send fhs again */
+	fetch 1,mem_fhs_wait_counter
+	branch page_restart,blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	branch page_send_fhs
+	
+page_wait_fhs_reply_ok:
+	bpatch patch03_3,mem_patch03
+	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+master_newconn_loop:
+	call master_newconn_once
+	branch newconn_poll_responded,sync
+	call new_conn_timeout
+	nbranch master_newconn_loop,blank
+	branch page_restart
+
+newconn_poll_responded:
+	bpatch patch03_4,mem_patch03
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	call newconn_init
+	disable master
+	rtn
+	
+
+master_dispatch:
+	bpatch patch03_5,mem_patch03
+	enable master
+	enable clknt
+	call role_switch_master
+	rtn user
+	call check_bt_disabled
+	call rf_setup_time_master_slot
+	add clkn_bt,1,bt_clk
+	call fetch_self_bt_adr
+	force 0x03,freq_mode
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	call transmit_packet
+master_loop:
+	bpatch patch03_6,mem_patch03
+	call parse_lmp
+	call master_conn_recv_packet
+	nbranch master_notmatch,match
+	call supervision_flush
+	call parse_l2cap
+	fetch 1,mem_master_rcvcnt
+	increase 1,pdata
+	store 1,mem_master_rcvcnt
+master_notmatch:
+	bpatch patch03_7,mem_patch03
+	call scheduler_process
+	call check_master_disconnect
+	nrtn master					/* disconnected */
+	call check_attempt
+	nbranch master_attempt,blank
+master_exit:
+	disable master
+	rtn
+
+master_attempt:
+	call prepare_tx
+	call master_conn_send_packet
+	branch master_loop
+
+
+check_master_disconnect:
+	branch check_master_match,match
+	call supervision_update
+	branch master_disconnect,positive
+check_master_match:
+	call check_disconnect_timeout
+	nbranch master_disconnect,user
+	fetch 1,mem_state_map
+	rtnbit0 smap_name_req
+	rtnbit1 smap_name_res
+	fetch 1,mem_op
+	rtnbit1 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	fetch 1,mem_nameres_cnt
+	increase -1,pdata
+	store 1,mem_nameres_cnt
+	nrtn blank
+	branch lmp_disconnect
+
+master_disconnect:
+	bpatch patch04_0,mem_patch04
+	call quit_connection
+	disable master
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_name_disconnect
+	rtn
+	
+master_name_disconnect:
+	fetch 1,mem_state_map
+	rtnbit1 smap_name_res
+master_name_error:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	branch memset0
+	
+check_disconnect_timeout:
+	bpatch patch04_1,mem_patch04
+	enable user
+	fetch 1,mem_op
+	rtnbit0 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	branch disable_user
+
+conn_timer_expired:
+	fetch 1,mem_conn_timer
+	increase -1,pdata
+	store 1,mem_conn_timer
+	rtn
+
+linkkey_ready:
+	bpatch patch04_2,mem_patch04
+	fetch 1,mem_state
+	bbit1 state_linkkey,linkkey_set
+	fetch 1,mem_pairing_auth
+	branch linkkey_set,blank
+	jam DEFALT_PAIRING_AUTH,mem_pairing_auth
+	jam BT_EVT_LINKKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch linkkey_set
+linkkey_set:
+	bpatch patch04_3,mem_patch04
+	call context_traverse_linkkey
+	fetch 1,mem_state
+	set1 state_linkkey,pdata
+	store 1,mem_state
+	jam 1,mem_link_key_exists
+	fetch 1,mem_conn_sm
+	bne CONN_SM_PAIRING,linkkey_set_continue
+linkkey_set_continue:
+	rtn
+
+generate_linkkey_continue:
+	jam PAIRING_AUTH,mem_pairing_auth
+clear_linkstate:
+	fetch 1,mem_state
+	set0 state_linkkey,pdata
+	store 1,mem_state
+	rtn
+	
+
+	/* rtn user if switch */
+role_switch_check:
+	bpatch patch04_4,mem_patch04
+	disable user
+	fetch 2,mem_tsniff
+	arg 0xffff,temp
+	isub temp,null
+	nrtn zero
+	fetch 4,mem_sniff_anchor
+	branch role_switch_clkn,clknt
+	isub clke_bt,pdata
+	branch role_switch_clke
+role_switch_clkn:
+	isub clkn_bt,pdata
+role_switch_clke:
+	sub pdata,4,null
+	nrtn positive
+	force 0,pdata
+	store 2,mem_tsniff
+	branch enable_user
+
+
+	/* pdata: switch instant, set tsniff=0 for special sniff */	
+role_switch_prepare:
+	copy pdata,temp
+	bpatch patch04_5,mem_patch04
+	storet 4,mem_sniff_anchor
+role_switch_prepare0:
+	jam SWITCH_FLAG_ACCEPT,mem_switch_flag
+	setarg 0xffff
+	store 2,mem_tsniff
+	jam 1,mem_sniff_attempt
+	rtn
+
+
+role_switch_master:
+	bpatch patch04_6,mem_patch04
+	call role_switch_check
+	nrtn user
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,roles_replyto_fhs
+	call new_conn_timeout
+	nbranch roles_waitfhs_loop,blank
+role_switch_fail_master:
+	bpatch patch04_7,mem_patch04
+	disable user
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	enable clknt
+	enable master
+	jam BT_EVT_SWITCH_FAIL_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+roles_replyto_fhs:
+	bpatch patch05_0,mem_patch05
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	disable clknt
+	disable master
+	call apply_switch_clke
+	call prepare_newconn
+roles_newconns_loop:
+	bpatch patch05_1,mem_patch05
+	call slave_newconn_once
+	branch roles_newconns_responded,match
+	call new_conn_timeout
+	nbranch roles_newconns_loop,blank
+	branch role_switch_fail_master
+roles_newconns_responded:
+	fetch 1,mem_mode
+	set0 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	call calc_clke_offset
+	enable user
+	jam BT_EVT_SWITCH_SUCCESS_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+
+
+context_load:
+	bpatch patch05_2,mem_patch05
+	set1 mark_context,mark
+	deposit rega
+	store 2,mem_context_ptr
+	force context_size,loopcnt
+	arg mem_le_state,contw
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	copy rega,contr
+	bbit1 mode_le,memcpy
+	arg mem_state,contw
+	call memcpy
+	disable attempt
+	fetch 1,mem_amaddr
+	iforce am_addr
+	jam 1,mem_current_sniff_attempt
+	branch context_load_master,master
+	jam 1,mem_current_sniff_attempt
+context_load_master:
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	fetch 1,mem_sniff_timeout
+	store 1,mem_current_sniff_timeout
+	rtn
+	
+context_save:
+	bpatch patch05_3,mem_patch05
+	fetch 2,mem_context_ptr
+	iforce contw
+	force context_size,loopcnt
+	arg mem_le_state,contr
+	branch memcpy,le
+	arg mem_state,contr
+	branch memcpy
+
+	
+
+context_get_next:
+	arg context_num,loopcnt
+	fetcht 1,mem_current_context
+context_get_next_loop:
+	increase 1,temp
+	compare context_num,temp,0xff
+	nbranch context_get_next_cont,true
+	arg 0,temp
+context_get_next_cont:
+	storet 1,mem_current_context
+	mul32 temp,context_size,pdata
+	arg mem_context,rega
+	iadd rega,rega
+	ifetch 1,rega
+	bbit1 state_insniff,context_get_next_sniff
+	rtnbit1 state_inconn
+	rtnbit1 state_inpage
+context_get_next_sniff:
+	loop context_get_next_loop
+	rtn
+	
+context_new:
+	bpatch patch05_4,mem_patch05
+	arg context_search_empty,regc
+	call context_search
+	nrtn zero					// all occupied
+	deposit rega
+	store 2,mem_context_ptr
+	force 0,null
+	rtn
+	
+	//return zero if anyone's wack is 1.
+	//return nzero if all wack is 0
+context_check_all_wack:
+	call check_esco_amaddr
+	branch context_check_esco_wack,true
+	fetch 2,mem_context_ptr
+	add pdata,coffset_arq,contw
+	fetch 1,mem_arq
+	istore 1,contw
+	arg context_check_a_wack,regc
+	branch context_search
+
+context_check_esco_wack:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	branch context_esco_wack,true
+	force 1,null
+	rtn
+context_esco_wack:
+	force 0,null
+	rtn
+	
+	//rtn nzero if idle(no conn)
+context_check_idle:
+	arg context_check_inconn,regc
+	branch context_search
+	
+context_traverse_linkkey:
+	fetcht 2,mem_context_ptr
+	arg context_traverse_clearkey,regc
+	branch context_search
+	
+	
+	/* return zero if conn handle is found */
+context_search_conn_handle:
+	fetcht 1,mem_hci_conn_handle
+context_search_conn_handle2:
+	arg context_search_handle,regc
+	branch context_search
+	/* return zero if plap is found */
+context_search_plap:
+	bpatch patch05_5,mem_patch05
+	fetcht 6,mem_hci_plap
+context_search_plap2:
+	arg context_search_lap,regc
+	branch context_search
+	/* return zero if sniff anchor is meet and rega pointers to context */
+context_search_insniff:
+	arg context_search_sniff,regc
+	branch context_search
+	/* return zero if sniff window is in content with current transaction */
+context_search_sniff_window:
+	arg context_search_window,regc
+context_search:
+	bpatch patch05_6,mem_patch05
+	arg mem_context,rega
+	arg context_num,loopcnt
+context_search_loop:
+	ifetch 1,rega
+	copy regc,pc
+context_search_next:
+	increase context_size,rega
+	loop context_search_loop
+	force 1,null
+	rtn
+
+context_search_empty:
+	bbit1 state_inconn,context_search_next
+	bbit1 state_inpage,context_search_next
+	force 0,null
+	rtn
+	
+context_search_lap:
+	bbit1 state_inpage,context_search_lap_cont
+	bbit0 state_inconn,context_search_next
+context_search_lap_cont:
+	add rega,coffset_plap,contr
+	ifetch 6,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_handle:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_conn_handle,contr
+	ifetch 1,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_sniff:
+	bbit0 state_insniff,context_search_next
+context_search_sniff_loop:
+	call context_get_anchor
+	call sign_pdata_temp
+	isub temp,pdata
+	increase 1,pdata
+	branch context_search_sniff_miss,positive
+	copy contr,regb
+	store 9,mem_temp
+	fetch 1,mem_le_sc_calc
+	nbranch context_search_sniff_sc,blank
+	fetch 9,mem_temp
+	copy regb,contr
+	increase 5,pdata  
+	branch context_search_meet1
+context_search_sniff_sc:
+	fetch 9,mem_temp
+	copy regb,contr	
+	increase 20,pdata  
+context_search_meet1:
+	nbranch context_search_next,positive
+context_search_meet:
+	copy temp,bt_clk
+	call context_next_anchor
+	force 0,null
+	rtn
+	
+	
+context_search_sniff_miss:
+	iforce regb
+	add rega,coffset_tsniff,contr
+	ifetch 2,contr
+	branch context_search_meet,blank
+	call context_next_anchor
+	branch context_search_sniff_loop
+
+sign_pdata_temp:
+	rshift16 pdata,timeup    
+	rshift8 timeup,timeup    
+	branch sign_pdata_temp_p0,zero    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	nrtn zero    
+	set1 28,temp    
+	rtn
+sign_pdata_temp_p0:    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	set1 28,pdata    
+	rtn
+
+context_check_inconn:
+	bbit0 state_inconn,context_search_next
+	force 0,null 				// found
+	rtn
+	
+context_check_a_wack:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	add rega,coffset_arq,contr
+	ifetch 1,contr
+	bbit0 wack,context_search_next
+	force 0,null 				// found
+	rtn
+
+context_get_anchor:
+	add rega,coffset_mode,contr
+	ifetcht 1,contr
+	deposit clkn_bt
+	isolate1 mode_master,temp
+	add rega,coffset_sniff_anchor,contr
+	ifetcht 4,contr
+	rtn true
+	add rega,coffset_clk_offset,contr
+	ifetch 6,contr
+	call calc_clke2
+	deposit clke_bt
+	rtn
+
+context_next_anchor:
+	add rega,coffset_tsniff,contr
+	add rega,coffset_sniff_anchor,contw
+	ifetch 2,contr
+	iadd temp,timeup			/* wrap to 28 bits */
+	deposit timeup
+	istore 4,contw
+	branch le_context_nexthop
+	
+
+context_search_window:
+	bbit0 state_insniff,context_search_next
+	call context_get_anchor
+	iadd stop_watch,pdata
+	iadd stop_watch,pdata
+	iadd queue,pdata
+	isub temp,null
+	nbranch context_search_next,positive
+	force 0,null
+	rtn
+
+context_traverse_clearkey:
+	bbit0 state_inconn,context_search_next
+	deposit temp
+	isub rega,null
+	branch context_search_next,null
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	ifetch 1,rega
+	set0 state_linkkey,pdata
+	istore 1,rega
+	branch context_search_next
+
+	
+master_conn_send_packet:
+	bpatch patch05_7,mem_patch05
+	call rf_setup_time_master_slot
+master_send_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	branch transmit_packet
+
+master_conn_recv_packet:
+	bpatch patch06_0,mem_patch06
+	call rf_setup_time_slave_slot
+master_recv_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	call start_rx_native	/* start listening at start_rx time */
+	call start_receiver
+master_rx_conn_finish_packet:
+	call wait_access_clkn_rt	/* master use native clock */
+	nrtn sync
+	call save_rssi
+	branch receive_packet
+	
+	
+
+master_newconn_once:
+	bpatch patch06_1,mem_patch06
+	fetch 1,mem_fhs_am_addr
+	iforce am_addr			//review
+	force type_poll,type
+	call master_conn_send_packet
+	branch master_conn_recv_packet
+
+
+
+
+
+
+/******************************************/
+/************* Inquiry Scan ***************/
+/******************************************/
+
+inquiry_scan_dispatch:
+	fetch 1,mem_scan_mode
+	rtnbit0 inq_scan_mode
+	force iscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_iscan_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call inquiry_scan_start
+	force iscan_interval_timer,queue
+	fetch 2,mem_iscan_interval
+	nbranch timer_init,sync
+	random pdata				/* inquiry scan backoff */
+	iand mask3ff,pdata
+	branch timer_init
+	
+
+inquiry_scan_start:
+	bpatch patch06_2,mem_patch06
+	jam 0,mem_fhs_am_addr
+	disable clknt
+	disable attempt
+	call afh_clear
+	and clkn_bt,0x1fc,bt_clk      /* freeze the clock, set bit[1] 0, this is version 1.1 */
+	force 0x01,freq_mode     /* slave in inquiry scan, kind of same as inquriy_response, this is version 1.1 */
+	call fetch_giac
+	call rx_radio_freq
+	setflip mark_inquiry_state,mark
+	fetch 1,mem_inquiryscan_waitcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_waitcnt
+	call fetch_diac
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_forever	/* until there is timeout, or matched (true) */
+	nrtn sync
+	bpatch patch06_3,mem_patch06
+	force 0,stop_watch
+	call shutdown_radio	/* must have heard */
+	fetch 1,mem_inquiryscan_rcvcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_rcvcnt
+	call fetch_giac
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call send_access_word
+	force type_fhs,type
+	force 0,am_addr                       /* put 0 into am_addr field for fhs */
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	call send_eir
+	and_into 0x1fd,bt_clk                 /* put clk(1) back to 0 */
+	increase 1,N_tx_slot
+	rtn
+
+send_eir:
+	bpatch patch06_4,mem_patch06
+	fetch 1,mem_eir_enable
+	rtn blank
+	arg mem_eir,contw
+	fetch 1,mem_local_name_length
+	copy pdata,loopcnt
+	increase 1,pdata
+	istore 1,contw	
+	copy contw,temp
+	increase 1,pdata
+	store 2,mem_tx_len	
+	copy temp,contw
+	setarg 0x09  //type:name
+	istore 1,contw		
+	arg  mem_local_name,contr
+	call memcpy       //name
+
+	arg mem_all_uuid_128bits,regc
+	arg 4,loopcnt
+	call get_all_uuid
+	arg mem_all_uuid_16bits,regc
+	arg 1,loopcnt
+	call get_all_uuid
+
+	force type_dm3,type		/* DM3 */
+	jam 2,mem_tx_lch
+	setarg mem_eir
+	store 2,mem_txptr
+	call rf_setup_time_slave_slot
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	call send_access_word
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	rtn
+
+
+get_all_uuid:
+	copy contw,temp
+	copy regc,contr
+	ifetch 1,contr
+	rtn blank
+lshift_loop:
+	lshift pdata,pdata
+	loop lshift_loop
+	copy pdata,rega
+	increase 2,pdata
+	copy pdata,queue
+	fetch 2,mem_tx_len
+	iadd queue,pdata
+	store 2,mem_tx_len
+	copy temp,contw
+	copy rega,pdata
+	increase 1,pdata
+	istore 1,contw
+	copy regc,contr
+	ifetch 1,contr
+	ifetch 1,contr	//fetch type
+	istore 1,contw
+	copy rega,loopcnt
+	branch memcpy  //copy uuid
+	
+/******************************************/
+/******** Slave dispatch ***********/
+/******************************************/
+
+page_scan_dispatch:	
+	fetch 1,mem_scan_mode
+	rtnbit0 page_scan_mode
+	force pscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_pscan_window
+	force 40,queue
+	call sniff_check_window
+	rtn user
+	force 0,am_addr
+	jam param_pagerespto,mem_fhs_wait_counter
+	set0 mark_fhs_already_good,mark
+	call page_scan_start
+	force pscan_interval_timer,queue
+	fetch 2,mem_pscan_interval
+	branch timer_init
+	
+
+page_scan_start:
+	bpatch patch06_5,mem_patch06
+	disable clknt
+	call afh_clear
+	fetch 1,mem_pagescan_waitcnt
+	increase 1,pdata
+	store 1,mem_pagescan_waitcnt
+	force 0,N_tx_slot
+	call fetch_self_bt_adr
+	add clkn_bt,1,bt_clk      /* freeze the clock on native clock until scan window is up */
+	force 0x02, freq_mode     /* slave in inquiry and page, not response */
+	bpatch patch06_6,mem_patch06
+	call rx_radio_freq
+	call start_receiver	/* wait for that id packet from master */
+	call wait_access_forever
+	nrtn sync                          /* pscan window timeout occured, back to dispatch */
+	call shutdown_radio	/* got the id packet */
+	fetch 1,mem_pagescan_rcvcnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvcnt
+	force 0,stop_watch
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+	force 0,am_addr
+	arg param_rf_setup, timeup
+	until clke_rt,meet
+	or_into 0x03,clke_bt
+	and_into 0x1fd,bt_clk
+page_scan_wait_fhs_restart:
+	bpatch patch06_7,mem_patch06
+	increase 1,N_tx_slot
+	call rx_radio_freq
+	call start_receiver
+	call wait_access_mhalfbnd
+	nbranch page_scan_wait_fhs_again,sync	/* go back if didn't find access code */
+	call scan_mode_whiten
+	call receive_packet_whitened
+	bmark1 mark_fhs_already_good,page_scan_reply_to_fhs
+page_scan_wait_fhs_again:
+	bpatch patch07_0,mem_patch07
+	fetch 1,mem_fhs_wait_counter
+	rtn blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	call rf_setup_time_master_slot	/* set up expiration time */
+	branch page_scan_wait_fhs_restart
+
+
+page_scan_reply_to_fhs:
+	bpatch patch07_1,mem_patch07
+	set0 1,clke_bt
+	set1 0,clke_bt
+	fetch 1,mem_pagescan_rcvfhscnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvfhscnt
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+slave_apply_clke_bt:
+	compare 0x03,clke_bt,0x03
+	branch slave_apply_clke_bt_now,true
+	until null,mhalfbnd
+	branch slave_apply_clke_bt
+slave_apply_clke_bt_now:
+	fetch 4,mem_clke_bt
+	or_into 0x03,pdata
+	icopy clke_bt
+
+start_slave_connection:
+	bpatch patch07_2,mem_patch07
+	fetch 6,extm_lap
+	store 6,mem_plap
+	call prepare_newconn
+slave_newconn_loop:
+	call slave_newconn_once
+	branch sconn_successful,match     /* we were talked to */
+	call new_conn_timeout
+	nbranch slave_newconn_loop,blank
+	rtn
+
+	
+sconn_successful:
+	bpatch patch07_3,mem_patch07
+	call newconn_init
+	call context_new
+	nrtn zero
+	jam 0,mem_mode
+	call calc_clke_offset
+	branch context_save
+
+
+
+
+slave_dispatch:
+	bpatch patch07_4,mem_patch07
+	call calc_clke
+	call role_switch_slave
+	rtn user
+slave_loop:
+	bpatch patch07_5,mem_patch07
+	call check_bt_disabled
+	call scheduler_process
+	call slave_conn_recv_packet	/* go listen for a packet */
+	nbranch slave_notmatch,match
+	call supervision_flush
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call slave_conn_send_packet
+	call parse_l2cap
+	call parse_lmp
+	fetch 1,mem_slave_rcvcnt
+	increase 1,pdata
+	store 1,mem_slave_rcvcnt
+	call calc_clke_offset
+slave_notmatch:
+	bpatch patch07_6,mem_patch07
+	call lpm_set_mult
+	call supervision_update
+	branch slave_disconnect,positive
+	call check_disconnect_timeout
+	nbranch slave_disconnect,user
+	call check_attempt
+	nbranch slave_loop,blank
+	rtn
+
+slave_disconnect:
+	bpatch patch07_7,mem_patch07
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	call quit_connection
+	set0 mark_testmode,mark
+	call test_enable_white
+	fetch 1,mem_state
+	rtn
+
+
+role_switch_slave:
+	bpatch patch08_0,mem_patch08
+	call role_switch_check
+	nrtn user
+	copy am_addr,temp
+	call get_free_amaddr
+	store 1,mem_fhs_am_addr
+	copy temp,am_addr
+	jam param_newconnto,mem_newconnto_counter
+roles_sendfhs_loop:
+	bpatch patch08_1,mem_patch08
+	call rf_setup_time_master_slot
+	force type_fhs,type
+	call slave_send_access
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call transmit_packet
+	call rf_setup_time_slave_slot
+	enable user3
+	call slave_receive_access
+	branch roles_got_fhs_reply,sync
+	call shutdown_radio
+	call new_conn_timeout
+	nbranch roles_sendfhs_loop,blank
+	rtnmark0 mark_accept_switch
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	rtn
+roles_got_fhs_reply:
+	enable clknt
+	call prepare_newconn
+	call afh_clear
+roles_newconn_loop:
+	bpatch patch08_2,mem_patch08
+	call master_newconn_once
+	branch roles_newconn_responded,sync
+	call new_conn_timeout
+	nbranch roles_newconn_loop,blank
+	disable clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+roles_newconn_responded:
+	enable master
+	bmark0 mark_accept_switch,roles_newconn_nolmp
+	set0 mark_accept_switch,mark
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_HOST_CONNECTION_REQ,mem_lmi_opcode2
+	call tid_set_reply
+roles_newconn_nolmp:
+	deposit am_addr
+	store 1,mem_amaddr
+	force 0,pdata
+	store 6,mem_clk_offset
+	fetch 1,mem_mode
+	set1 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	disable master
+	enable user
+	rtn
+
+	
+
+init_rx_packet_flags:
+	bpatch patch08_3,mem_patch08
+	disable match
+	set0 mark_loopback,mark
+	set0 mark_am_addr_broadcast,mark          /* initialize slave flags */
+	set0 mark_longpacket,mark
+	set0 mark_old_packet,mark
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+	rtn
+
+prepare_newconn:
+	bpatch patch08_4,mem_patch08
+	jam param_newconnto,mem_newconnto_counter
+	jam param_newconn_arq,mem_arq
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	rtn clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+
+newconn_init:
+	bpatch patch08_5,mem_patch08
+	call init_lmp_reinit
+	call new_conn_handle
+	store 1,mem_conn_handle
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	setarg param_supervision_to
+	store 2,mem_supervision_to
+	fetch 1,mem_state
+	set1 state_inconn,pdata
+	store 1,mem_state
+	jam 0,mem_op
+	jam 0,mem_state_map
+	jam 0,mem_lpm_current_mult
+	branch supervision_flush
+	
+
+clear_linkkey:
+	bpatch patch08_6,mem_patch08
+	force 0,pdata
+	store 8,mem_link_key
+	istore 8,contw
+	call clear_linkstate
+	branch context_traverse_linkkey
+	
+new_conn_timeout:
+	fetch 1,mem_newconnto_counter
+	increase -1,pdata
+	store 1,mem_newconnto_counter
+	rtn
+
+new_conn_handle:
+	fetch 1,mem_handle_num
+	increase 1,pdata
+	store 1,mem_handle_num
+	rtn
+
+
+quit_connection:
+	bpatch patch08_7,mem_patch08
+	fetch 1,mem_hci_cmd
+	beq hci_cmd_remote_name_req,quit_connection_name
+	fetch 1,mem_lmp_to_send
+	bne LMP_NAME_REQ,quit_connection_cont
+quit_connection_name:
+	call cmd_check_plap
+	nbranch quit_connection_cont,zero
+	call master_name_error
+	jam 0,mem_hci_cmd
+quit_connection_cont:
+	bpatch patch09_0,mem_patch09
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+	call sp_initialize
+	fetch 1,mem_state
+	set0 state_inconn
+	store 1,mem_state
+	jam 0,memui_reconnect_mode
+
+	fetch 1,mem_state_map
+	compare 0x0,pdata,0xc0
+	branch quit_connection_not_clear_mark,true
+	set0 mark_rxbuf_inuse,mark
+quit_connection_not_clear_mark:
+	fetch 1,mem_arq
+	bbit0 wack,quit_connection_not_clear_tx
+quit_connection_not_clear_tx:
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap
+	set0 mark_tx_l2cap,mark
+	rtn
+
+slave_newconn_once:
+	bpatch patch09_1,mem_patch09
+	fetch 1,extm_newconn_am_addr
+	rtn blank     
+	icopy am_addr
+	call slave_conn_recv_packet
+	nrtn match
+	force type_null,type
+	call slave_conn_send_packet
+	deposit am_addr
+	store 1,mem_amaddr                 /* now the new am_addr is official */
+	force 0,pdata
+	store 1,extm_newconn_am_addr
+	rtn
+
+
+/******************************************/
+/********  Time consuming task  ***********/
+/******************************************/
+prepare_tx:
+	bpatch patch09_2,mem_patch09
+	fetch 1,mem_state
+	bbit0 state_insco,prepare_tx_not_sco
+	force type_hv3,type
+	bmark0 mark_esco,prepare_tx_not_esco
+	call check_esco_amaddr
+	nbranch prepare_tx_not_sco,true
+	branch prepare_tx_not_sco,attempt	
+	call set_wait_ack					/* send esco only at the first attempt */
+	setarg 2		/* esco only has 1 retry */
+	store 2,mem_retransmission_cnt
+	rtn
+prepare_tx_not_esco:
+	nrtn attempt						/* send sco only at the first attempt */
+prepare_tx_not_sco:
+	bpatch patch09_3,mem_patch09
+	call context_check_all_wack			 //abandon mark_retransmit, use context_check_all_wack instead.
+	nbranch prepare_tx_no_retransmit,zero
+	fetch 1,mem_arq
+	bbit0 wack,prepare_tx_pollnull		/* other wack, tx buffer in use, but not me */
+prepare_tx_retransmit:
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+	fetch 2,mem_retransmission_cnt
+	increase -1,pdata
+	store 2,mem_retransmission_cnt
+	branch prepare_tx_nomore_retransmit,blank
+	fetch 1,mem_last_type
+	iforce type
+	rtn
+
+prepare_tx_nomore_retransmit:
+	bpatch patch09_4,mem_patch09
+	call clear_got_tx
+prepare_tx_no_retransmit:
+	call check_esco_amaddr
+	branch prepare_tx_pollnull,true
+	call send_lmp
+	branch prepare_tx_sendlmp,user
+	fetch 1,mem_op
+	bbit1 op_txl2cap,prepare_tx_sendl2cap
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+prepare_tx_pollnull:
+	force type_poll,type				/* POLL for master */
+	rtn master
+	force type_null,type				/* default is NULL */
+	rtn
+prepare_tx_loopback:
+	bpatch patch09_5,mem_patch09
+	fetch 1,mem_rx_type
+	iforce type
+	rtnne 1
+	force type_null,type
+	rtn
+prepare_tx_txpat:
+	fetch 1,test_mode_packet_type
+	and pdata,0xf,type
+	set1 mark_loopback,mark
+	rtn
+prepare_tx_sendlmp:
+	force type_lmp,type
+	branch set_wait_ack
+prepare_tx_sendl2cap:
+	call tx_l2cap_type
+
+set_wait_ack:
+	bpatch patch09_6,mem_patch09
+	fetcht 1,mem_arq
+	set1 wack,temp
+	storet 1,mem_arq
+	deposit type
+	store 1,mem_last_type
+	setarg 0xffff
+	store 2,mem_retransmission_cnt
+	rtn
+
+tx_l2cap_type:
+	bpatch patch09_7,mem_patch09
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	fetch 2,mem_tx_len
+	branch tx_l2cap_type_edr,true
+	force type_dm1,type		/* DM1 */
+	sub pdata,17,null			
+	rtn positive
+	force type_dh1,type		/* DH1 */
+	sub pdata,27,null				
+	rtn positive
+	force type_dm3,type		/* DM3 */
+	sub pdata,121,null
+	rtn positive
+	force type_dh3,type		/* DH3 */
+	sub pdata,183,null
+	rtn positive	
+	force type_dm5,type		/* DM5 */
+	sub pdata,224,null
+	rtn positive
+	force type_dh5,type		/* DH5 */
+	rtn
+tx_l2cap_type_edr:
+	force type_dm1,type
+	sub pdata,17,null
+	rtn positive
+	force type_dh1,type		/*2-DH1*/
+	sub pdata,54,null
+	rtn positive
+	force type_dm3,type		/*2-DH3*/
+	arg 367,temp
+	isub temp,null
+	nrtn positive
+	force type_dm5,type		/*2-DH5*/
+	arg 679,temp
+	isub temp,null
+	nrtn positive
+	force type_dh5,type		/*3-DH5*/
+	rtn
+
+
+/******************************************/
+/***********  Receive Packet  *************/
+/******************************************/
+
+
+
+slave_receive_master_slot:
+	fetch 1,mem_state
+	bbit0 state_insniff,slave_receive_notsniff
+	fetch 2,mem_tsniff
+	branch slave_receive_notsniff,blank		/* role switch */
+	nbranch slave_receive_sniff,attempt
+slave_receive_notsniff:
+	call rf_setup_time_master_slot
+slave_receive_access:
+	add clke_bt,1,bt_clk
+slave_receive_sniff:
+	enable swfine
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection hop */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	bpatch patch0a_0,mem_patch0a
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	call ahead_window
+	call start_receiver
+	enable decode_fec0
+	fetch 2,mem_rx_window
+	arg param_clke_cal,temp
+	iadd temp,stop_watch
+	correlate null,timeout
+	copy clke,temp
+	storet 6,mem_sync_clke
+	disable decode_fec0
+	nrtn sync
+	arg param_clke_cal,clke_rt
+	copy bt_clk,clke_bt
+	branch lpm_adjust_clk,wake
+	rtn
+	
+
+slave_conn_recv_packet:
+	bpatch patch0a_1,mem_patch0a
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	bmark0 mark_testmode,receive_packet
+	fetch 2,mem_tst_pktcnt_sync
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_sync
+receive_packet:
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+receive_packet_whitened:
+	bpatch patch0a_2,mem_patch0a
+	enable enable_white
+	enable enable_hec
+	enable decode_fec1
+	parse demod,bucket,3  /* get am_addr */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_am_addr
+	parse demod,bucket,4  /* get type */
+	inject bucket,7       /* align up to pwindow */
+	copy pwindow,pdata
+	store 1,mem_rx_type
+	parse demod,bucket,3  /* get arq */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_arq
+	fetch 1,mem_rx_type
+	sub pdata,3,null
+	branch receive_packet_noedr,positive
+	beq 7,receive_packet_noedr		/* esco packet */
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	setflag true,PSK,radio_ctrl
+receive_packet_noedr:
+	bpatch patch0a_3,mem_patch0a
+	parse demod,bucket,8   /* cycle thru hec */
+	disable decode_fec1
+	disable enable_hec   /* at this moment, 1 seqn + 8 hec is in shift */
+	branch error_header,crc_failed  /* if hec error, nothing is valid */
+	bmark0 mark_testmode,receive_packet_amchk
+	fetch 2,mem_tst_pktcnt_hec
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_hec
+receive_packet_amchk:	
+	bpatch patch0a_4,mem_patch0a
+	fetch 1,mem_temp_am_addr
+	compare 0,pdata,0x07           /* check for broadcast */
+	setflag true,mark_am_addr_broadcast,mark   /* received a broadcast message, can fire ar_addr if during unpark_req */
+	branch am_addr_ok,true
+	icompare 0x07,am_addr
+	branch am_addr_match,true
+	bmark0 mark_esco,end_of_packet
+	fetcht 1,mem_saved_amaddr
+	icompare 0x7,temp
+	nbranch end_of_packet,true
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+am_addr_match:
+	enable match
+am_addr_ok:
+	bpatch patch0a_5,mem_patch0a
+	fetch 1,mem_rx_type
+	icopy type
+	bmark1 mark_am_addr_broadcast,arqn_bypass        /* arqn doesn't make sense */
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set0 flow,pdata
+	isolate1 flow,temp
+	setflag true,flow,pdata
+	isolate1 arqn,temp
+	setflag true,arqn,pdata
+	store 1,mem_arq
+	isolate0 arqn,temp
+	branch arqn_bypass,true
+	call clear_got_tx
+arqn_bypass:
+	bpatch patch0a_6,mem_patch0a
+	arg 0,temp
+	call reserve_slot
+	and type,0xf,pdata
+	beq type_poll,process_poll
+	beq type_null,end_of_packet	/* null */
+	beq type_fhs,process_fhs
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	icompare 0x04,temp    /* bit 2 is seqn */
+	nbranch rx_type_dispatch,true   /* different then it's new */
+	bmark0 mark_am_addr_broadcast,failed_seqn         /* seqn failed, and not broadcast */
+	bbit0 bcast1,rx_type_dispatch           /* first broadcast never fail seqn */
+failed_seqn:
+	set1 mark_old_packet,mark
+rx_type_dispatch:
+	bpatch patch0a_7,mem_patch0a
+	deposit type
+	beq type_dm1, process_dm1
+	beq type_dh1, process_dh1
+	beq type_hv3, process_hev
+	beq type_3dh1, process_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, process_dm3
+	beq type_dh3, process_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dm5, process_dm5
+	beq type_dh5, process_dh5
+	rtn
+
+
+process_hev:
+	bpatch patch0b_0,mem_patch0b
+	enable decode_fec0
+	enable enable_crc
+	enable encrypt
+	arg mem_sco_ibuf,contw
+	force 30,loopcnt
+process_hev_loop:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_hev_loop
+	bmark0 mark_esco,end_of_packet
+	parse demod,bucket,16  /* cycle through the crc */
+	nsetflag crc_failed,mark_esco_rxok,mark
+	branch error_payload,crc_failed
+	branch ack_payload
+
+
+process_poll:
+	branch end_of_packet
+
+process_dm3:
+process_dm5:
+	set1 mark_longpacket,mark
+process_dm1:
+	enable decode_fec2
+	branch process_dmh
+	
+process_dh3:
+process_dh5:
+	set1 mark_longpacket,mark
+process_3dh1:
+	set1 PSK3M,radio_ctrl
+process_dh1:
+	enable decode_fec0
+process_dmh:
+	bpatch patch0b_1,mem_patch0b
+	bmark1 mark_rxbuf_inuse,end_of_packet			/* buffer in use, nack */
+	isolate0 PSK,radio_ctrl
+	branch process_dmh_noedr,true
+	disable enable_white
+	enable decode_fec0
+	disable decode_fec2
+	add clkn_bt,2,timeup
+	correlate clkn_bt,meet
+	nbranch error_payload,sync
+	set1 mark_longpacket,mark
+	enable enable_white
+process_dmh_noedr:
+	bpatch patch0b_2,mem_patch0b
+	enable encrypt
+	enable enable_crc
+	parse demod,bucket,3  /* parse in lch+l2cap flow */
+	rshift8 pwindow,pdata
+	store 1,mem_lch_code		/* for loopback */
+	parse demod,bucket,5  /* parse in 5 bit packetlength */
+	bmark1 mark_longpacket,process_dmh_long
+	rshift3 pwindow,loopcnt
+	rshift3 loopcnt,loopcnt
+	branch process_dmh_common
+process_dmh_long:
+	parse demod,bucket,5		/* multi slot packet length of dh3 dh5 dm3 dm5 */
+	rshift pwindow,loopcnt
+	parse demod,bucket,3  /* undefined+bit 9 of length */
+process_dmh_common:	
+	bpatch patch0b_3,mem_patch0b
+	deposit loopcnt
+	store 2,mem_len
+	branch process_dmh_data_end,blank
+	isub mask3ff,null
+	branch error_payload,positive	/* packet too large, discard */
+	bpatch patch0b_4,mem_patch0b
+	set0 mark_fhs_eir,mark
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	arg mem_rxbuf,contw //lmp_data or test packet
+	beq LLID_LMP,process_lmp
+	bmark1 mark_testmode,process_dmh_data
+	//non-HCI mode
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	beq LLID_L2CAP_START,process_dmh_data_l2cap_start_pkt
+	beq LLID_L2CAP_CONT,process_dmh_data_l2cap_continue_pkt
+	branch error_payload
+
+process_lmp:
+	fetch 2,mem_len
+	sub pdata,0x70,null		//lmp buffer size
+	nbranch error_payload,positive
+	bmark1 mark_old_packet,ack_payload
+	branch process_dmh_data
+
+	
+process_dmh_data_l2cap_start_pkt:
+	bpatch patch0b_5,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_inuse
+	bbit0 L2CAP_INUSE_BUFF1,process_dmh_data_into_buff1
+	bbit0 L2CAP_INUSE_BUFF2,process_dmh_data_into_buff2
+	branch end_of_packet
+process_dmh_data_into_buff1:
+	jam 1,mem_l2cap_rxbuff_new //new data in buff 1
+	fetch 2,mem_l2cap_rxbuff1_len
+	bne 0,end_of_packet			//baseband head error
+	arg mem_l2cap_rxbuff1,contw
+	branch process_dmh_data
+process_dmh_data_into_buff2:
+	jam 2,mem_l2cap_rxbuff_new //new data in buff 2
+	fetch 2,mem_l2cap_rxbuff2_len
+	bne 0,end_of_packet
+	arg mem_l2cap_rxbuff2,contw
+	branch process_dmh_data
+	
+process_dmh_data_l2cap_continue_pkt:
+	bpatch patch0b_6,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_dmh_data_l2cap_continue_pkt1
+	beq 2,process_dmh_data_l2cap_continue_pkt2
+	branch end_of_packet
+process_dmh_data_l2cap_continue_pkt1:
+	arg mem_l2cap_rxbuff1,contw
+	fetch 2,mem_l2cap_rxbuff1_len
+	iadd contw,contw
+	branch process_dmh_data
+process_dmh_data_l2cap_continue_pkt2:
+	arg mem_l2cap_rxbuff2,contw
+	fetch 2,mem_l2cap_rxbuff2_len
+	iadd contw,contw
+process_dmh_data:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_dmh_data
+process_dmh_data_end:	
+	bpatch patch0b_7,mem_patch0b
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload_crc,crc_failed
+	fetch 1,mem_l2cap_flow_ctrl_flag
+	beq L2CAP_FLOW_CTRL_ENABLE,end_of_packet
+	bmark1 mark_testmode,process_dmh_cont
+	bmark1 mark_old_packet,redundant_payload
+	fetch 1,mem_lch_code
+	compare 3,pdata,3
+	branch process_dmh_cont,true
+	fetch 2,mem_len
+	branch process_dmh_cont,blank
+	bpatch patch0c_0,mem_patch0c
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_l2cap_pass_crc_buff1
+	beq 2,process_l2cap_pass_crc_buff2
+	branch assert
+process_l2cap_pass_crc_buff1:
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff1_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff1// l2cap payload length
+	increase 4,temp
+	isub temp,null
+	call l2cap_buff1_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_l2cap_pass_crc_buff2:
+	fetch 2,mem_l2cap_rxbuff2_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff2_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff2// l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_dmh_cont:
+	bpatch patch0c_1,mem_patch0c
+	fetcht 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	setflag true,smap_rxlmp,temp
+	nsetflag true,smap_rxl2cap,temp
+	storet 1,mem_state_map
+	nbranch process_dmh_cont_rxbuf_not_use,true
+	set1 mark_rxbuf_inuse,mark
+process_dmh_cont_rxbuf_not_use:
+	bmark0 mark_testmode,ack_payload
+	isolate1 smap_rxlmp,temp
+	branch ack_payload,true
+	fetch 2,mem_tst_pktcnt_crc
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_crc
+	set1 mark_loopback,mark
+	set0 smap_rxl2cap,temp
+	set0 mark_rxbuf_inuse,mark
+	storet 1,mem_state_map
+ack_payload:
+	bpatch patch0c_2,mem_patch0c
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	isolate1 seqn,temp            /* if accept, seqn always copies from the header */
+	setflag true,seqn,pdata
+	isolate1 mark_am_addr_broadcast,mark
+	setflag true,bcast1,pdata
+	store 1,mem_arq
+	fetch 2,mem_len
+	nbranch end_of_packet,blank
+	fetch 1,mem_state_map
+	set0 smap_rxl2cap,pdata//better to do this in l2cap_flow_ctrl_stop
+	store 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 0x01,pdata,0x07
+	//call l2cap_flow_ctrl_stop,true
+	branch end_of_packet
+	
+error_header:
+	bpatch patch0c_3,mem_patch0c
+	disable match
+	fetch 2,mem_rx_hec_err
+	increase 1,pdata
+	store 2,mem_rx_hec_err
+	branch end_of_packet
+error_payload_crc:
+	fetch 2,mem_rx_crc_err
+	increase 1,pdata
+	store 2,mem_rx_crc_err
+	call discard_pkt
+	bmark0 mark_testmode,error_payload
+	set1 mark_loopback,mark
+error_payload:
+	branch end_of_packet
+	
+discard_pkt:
+	bpatch patch0c_4,mem_patch0c
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	nbranch discard_pkt_l2cap,true
+discard_pkt_lmp:	
+	fetcht 1,mem_state_map
+	set0 smap_rxlmp,temp
+	storet 1,mem_state_map
+	rtn
+discard_pkt_l2cap:
+//	isolate1 mark_testmode,mark
+//	setflag true,mark_loopback,mark
+	fetcht 1,mem_state_map
+	set0 smap_rxl2cap,temp
+	storet 1,mem_state_map
+	branch  h4_send_acl_trigger_clear
+
+redundant_payload:
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	store 1,mem_arq
+end_of_packet:
+	bpatch patch0c_5,mem_patch0c
+	disable encode_fec0
+	disable encode_fec2
+	disable decode_fec0
+	disable decode_fec2
+	disable enable_crc
+	disable encrypt
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+	
+process_fhs:
+	bpatch patch0c_6,mem_patch0c
+	enable enable_crc
+	enable decode_fec2
+	parse demod,bucket,72
+	isolate1 58,pdata
+	setflag true,mark_fhs_eir,mark
+	copy bt_adr,temp             /* save current address to aside */
+	ialigned bt_adr            /* send it to access gen */
+	ialigned fhs0			/* get fhs_misc */
+	pulse recalc                /* calc the lap just received from the other guy */
+	setsect 2,0xfffff             /* preset ms of shift reg as big mask */
+	setsect 3,0x0ffff             /* preset ms of shift reg as big mask */
+	nop 32                       /* 30 cycles after recalc */
+	iverify fhs_parity             /* check fhs_parity against ls 34 bits at shift reg, with msb 36 bits as mask */
+	deposit lap
+	store 3,extm_lap
+	deposit uap
+	store 1,extm_uap
+	copy temp,bt_adr             /* put the address back */
+	branch fhs_parity_ok,true     /* fhs parity failed */
+	branch error_payload
+fhs_parity_ok:
+	bpatch patch0c_7,mem_patch0c
+	parse demod,bucket,72
+	ialigned fhs1                   /* give host the information on class and fhs_misc */
+	ialigned am_addr                /* store the am_addr the master assigned us */
+	ialigned nap
+	ialigned regb                   /* store external clock in regb according to clock format */
+	force 0,pdata
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload,crc_failed
+	setarg 0x0ffffffc
+	iand regb,pdata
+	store 4,mem_clke_bt
+	deposit fhs_class
+	store 3,extm_class
+	deposit fhs_misc
+	store 1,extm_fhs_misc
+	deposit am_addr
+	store 1,extm_newconn_am_addr
+	deposit nap
+	store 2,extm_nap
+	deposit bt_clk
+	inject rxf,32
+	compare type_fhs,type,0x0f         /* see if this was fhs packet */
+	setflag true,mark_fhs_already_good,mark
+	branch end_of_packet
+
+clear_got_tx:
+	bpatch patch0d_0,mem_patch0d
+	fetch 1,mem_arq
+	rtnbit0 wack
+	set0 wack,pdata
+	setflip seqnx,pdata
+	store 1,mem_arq
+	fetch 1,mem_last_type
+	beq type_lmp,clear_got_txlmp
+	rtneq type_hv3
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap,pdata
+	set0 op_txl2cap,pdata
+	set1 op_pkt_comp,pdata
+	store 1,mem_op
+	set0 mark_tx_l2cap,mark
+	fetch 2,mem_l2cap_tx_multi_offset
+	nrtn blank
+	fetch 1,mem_op
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	branch l2cap_malloc_free
+
+clear_got_txlmp:
+	bpatch patch0d_1,mem_patch0d
+	fetch 1,mem_lmo_header_opcode
+	rshift pdata,pdata
+	beq LMP_START_ENCRYPTION_REQ,start_encryption
+	beq LMP_STOP_ENCRYPTION_REQ,stop_encryption
+	beq LMP_UNSNIFF_REQ, sniff_exit
+	beq LMP_ESCAPE,clear_lmp_escape
+	rtnne LMP_ACCEPTED
+	fetch 1,mem_lmo_payload
+	beq LMP_SCO_LINK_REQ,sco_link_req_by_slave
+	beq LMP_START_ENCRYPTION_REQ,clear_send_setup_complete
+	rtn
+
+clear_lmp_escape:
+	fetch 1,mem_lmo_payload
+	set1 7,pdata
+	rtn
+clear_send_setup_complete:
+	rtn master
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+	
+// nokia BH-105  CALLING when reconnection
+sco_link_req_by_slave:
+	rtn master
+	fetch 1,mem_mode
+	isolate1 send_sco_when_slave,pdata
+	branch clean_mem_mode,true
+	//jam LMP_REMOVE_SCO_LINK_REQ,mem_lmo_opcode2
+	rtn
+clean_mem_mode:
+	set0 send_sco_when_slave,pdata
+	store 1,mem_mode
+	rtn
+	
+start_encryption:
+	bpatch patch0d_2,mem_patch0d
+	fetch 1,mem_state_map
+	set1 smap_encryption,pdata
+	store 1,mem_state_map
+	jam 1,core_encrypt
+	fetch 1,mem_state
+	isolate1 state_conn_comp,pdata
+	rtn
+
+stop_encryption:
+	bpatch patch0d_3,mem_patch0d
+	fetch 1,mem_state_map
+	set0 smap_encryption,pdata
+	store 1,mem_state_map
+	jam 0,core_encrypt
+	rtn
+
+
+sniff_init:
+	bpatch patch0d_4,mem_patch0d
+	copy clkn_bt,pdata
+	store 4,mem_lpm_delay_after_sniff
+	add clkn_bt,3,rega
+	branch sniff_init_master,master
+	add clke_bt,3,rega
+sniff_init_master:
+	fetcht 2,mem_tsniff
+	deposit rega
+	set0 27,pdata
+	idiv temp
+	fetch 2,mem_dsniff
+	call wait_div_end
+	remainder regc
+	isub regc,pdata
+	branch sniff_init_nowrap,positive
+	iadd temp,pdata
+sniff_init_nowrap:
+	iadd rega,pdata
+	store 4,mem_sniff_anchor
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	fetch 1,mem_state
+	set1 state_insniff,pdata
+	store 1,mem_state
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	setarg 0
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 1,mem_sniff_unint_lost
+	jam BT_EVT_ENTER_SNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	nrtn master
+	add am_addr,-1,queue
+	rtn
+
+sniff_exit:
+	bpatch patch0d_5,mem_patch0d
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	set0 state_insniff,pdata
+	store 1,mem_state
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	disable wake
+	jam BT_EVT_EXIT_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+check_attempt:
+	bpatch patch0d_6,mem_patch0d
+	enable attempt
+	fetch 1,mem_state
+	bbit1 state_insniff,check_attempt_sniff
+	rtnmark1 mark_testmode						/* pdata won't be blank now, try attempt */
+	fetch 1,mem_arq
+	rtnbit1 wack
+	fetch 1,mem_lmp_to_send
+	nrtn blank
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+check_attempt_nomore:
+	force 0,pdata
+	rtn
+
+check_attempt_sniff:
+	bbit0 state_insco,check_attempt_not_sco
+	fetch 1,mem_current_sniff_attempt
+	beq 2,check_attempt_sniff_restore_sco
+	fetch 1,mem_arq
+	bbit1 wack,check_attempt_notimeout
+	bmark0 mark_esco_rxok,check_attempt_notimeout
+check_attempt_sniff_restore_sco:
+	nbranch check_attempt_notimeout,master
+	fetch 1,mem_lmp_to_send
+	nbranch check_attempt_notimeout,blank
+check_attempt_sco_master:
+	fetch 1,mem_sco_poll
+	increase -1,pdata
+	store 1,mem_sco_poll
+	nbranch check_attempt_nomore,blank
+	jam param_sco_poll,mem_sco_poll
+	branch check_attempt_notimeout
+
+
+
+
+
+	
+check_attempt_not_sco:
+	fetch 1,mem_current_sniff_attempt
+	bne 1,check_attempt_notimeout
+	fetch 1,mem_current_sniff_timeout
+	branch check_attempt_notimeout,blank
+	increase -1,pdata
+	store 1,mem_current_sniff_timeout
+	fetch 1,mem_arq
+	rtnbit1 wack						// waiting for next ack
+	nrtn match						// waiting for next poll
+check_attempt_notimeout:
+	fetch 1,mem_current_sniff_attempt
+	increase -1,pdata
+	store 1,mem_current_sniff_attempt
+	rtn
+
+
+
+
+
+
+
+
+
+	/* enable user if sniff window vialation, queue is extra overhead */
+sniff_check_window:
+	bpatch patch0d_7,mem_patch0d
+	disable swfine
+	copy temp,stop_watch
+	call context_search_sniff_window
+	disable user
+	nrtn zero
+	force 0,stop_watch
+	enable user
+	rtn
+
+	//return true if it is esco context
+check_esco_amaddr:
+	fetch 1,mem_esco_addr
+	icompare 0xff,am_addr
+	rtn
+	
+
+parse_l2cap:	
+	bpatch patch0e_0,mem_patch0e
+	set0 mark_rxbuf_inuse,mark 
+parse_l2cap_cont:
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtn blank
+	isolate1 L2CAP_INUSE_BUFF1,pdata
+	arg mem_l2cap_rxbuff1,contr
+	call process_rx_l2cap_pkt,true
+	bpatch patch0e_1,mem_patch0e
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff1
+	
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtnbit0 L2CAP_INUSE_BUFF2
+	arg mem_l2cap_rxbuff2,contr	
+	call process_rx_l2cap_pkt
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff2
+	rtn
+		
+parse_l2cap_release_buff1:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	rtn
+parse_l2cap_release_buff2:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff2_len
+	rtn
+
+l2cap_buff1_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+l2cap_buff2_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+/******************************************/
+/**********  Transmit Packet  *************/
+/******************************************/
+
+slave_send_access:
+	bpatch patch0e_2,mem_patch0e
+	add clke_bt,1,bt_clk          /* slave start to use native clock */
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection frequency */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	branch send_access_word
+	
+
+slave_conn_send_packet:
+	bpatch patch0e_3,mem_patch0e
+	call rf_setup_time_slave_slot
+	deposit clke_bt
+	fetcht 4,mem_next_btclk
+	isub temp,pdata
+	rtnne 1					/* missed slave slot */
+	compare type_null,type,0x1f
+	nbranch slave_conn_send_access,true
+	fetch 1,mem_rx_type
+	rtn blank					/* null packet, do nothing */
+slave_conn_send_access:
+	call slave_send_access
+transmit_packet:
+	compare type_id,type,0x1f        /* is this id only ? */
+	branch end_of_packet,true
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+transmit_packet_whitened:
+	bpatch patch0e_4,mem_patch0e
+	enable enable_white
+	enable enable_hec
+	enable encode_fec1
+	set0 mark_longpacket,mark
+	deposit am_addr
+	inject mod,3             /* am_addr, temp is disabled */
+	deposit type
+	inject mod,4
+	fetch 1,mem_arq   /* aka mem_arq */
+	inject bucket,4  /* align up to flowx, arqnx, seqnx */
+	inject mod,3
+	enable enable_parity
+	inject mod,8   /* transmit parity */
+	disable encode_fec1
+	disable enable_parity
+	disable enable_hec
+	set0 PSK3M,radio_ctrl
+	arg 0,temp
+	call reserve_slot
+	bpatch patch0e_5,mem_patch0e
+	and type,0x1f,pdata
+	beq type_lmp, transmit_lmp
+	beq type_null, end_of_packet
+	beq type_poll, end_of_packet
+	beq type_fhs, transmit_fhs  /* master mode fhs need got_tx and ack */
+	beq type_dm1, transmit_dm1
+	beq type_dh1, transmit_dh1
+	beq type_hv3, transmit_hev
+	beq type_3dh1, transmit_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, transmit_dm3
+	beq type_dh3, transmit_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dh5, transmit_dh5
+	branch transmit_dm5	/* must be 14, dm5 */
+
+
+transmit_hev:
+	bpatch patch0e_6,mem_patch0e
+	enable encode_fec0
+	enable enable_crc
+	enable encrypt
+	force 30,loopcnt
+	arg mem_sco_obuf,contr
+transmit_ev_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_ev_loop
+	bmark1 mark_esco,transmit_end
+	branch end_of_packet
+	
+transmit_fhs:
+	bpatch patch0e_7,mem_patch0e
+	fetch 1,mem_fhs_am_addr            /* this is the am_addr to assign to slave */
+	icopy am_addr
+	fetch 1,mem_fhs_misc
+	icopy fhs_misc    /* [7:6]SR [5:4]SP [3:1]PS [0]undef  */
+	fetch 3,mem_class   /* store away class */
+	icopy fhs_class
+	fetch 2,mem_nap
+	icopy nap
+	enable enable_crc
+	enable encode_fec2
+	copy bt_adr,rega
+	call fetch_self_bt_adr
+	pulse recalc
+	nop 32                    /* 30 cycles after recalc for sync word generation */
+	copy bt_clk,timeup
+	fetch 4,mem_clkn_bt
+	icopy bt_clk
+	preload fhs0
+	set1 58,pdata		/* eir */
+	inject mod,72
+	preload fhs1
+	inject mod,72
+	copy timeup,bt_clk
+	copy rega,bt_adr
+	enable enable_parity
+	inject mod,16   /* generate CRC */
+	disable enable_parity
+	branch end_of_packet
+
+transmit_lmp:    /* expect the payload ready as in bb spec */
+	bpatch patch0f_0,mem_patch0f
+	enable encrypt
+	enable enable_crc
+	enable encode_fec2
+	fetch 1,mem_lmo_header_length   /* this is the payload header */
+	and pdata,0x1f8,temp       /* temp is number of bits, check payload header format */
+	arg mem_lmo_header_length,contr
+	increase 8,temp   /* temp is in bits */
+transmit_lmp_loop:
+	add temp,-72,regc   /* regc is remainder */
+	nbranch transmit_lmp_finish,positive
+	ifetch 9,contr
+	inject mod,72
+	copy regc,temp
+	branch transmit_lmp_loop
+transmit_lmp_finish:
+	ifetch 9,contr
+	iinject mod,temp
+	branch transmit_end
+
+transmit_dm1:
+	enable encode_fec2
+	branch transmit_dmh
+transmit_dm3:
+transmit_dm5:
+	enable encode_fec2
+	set1 mark_longpacket,mark
+	branch transmit_dmh
+
+transmit_3dh1:
+	set1 PSK3M,radio_ctrl
+transmit_dh1:
+	enable encode_fec0
+	branch transmit_dmh
+	
+transmit_dh3:
+transmit_dh5:
+	set1 PSK3M,radio_ctrl
+	enable encode_fec0
+	set1 mark_longpacket,mark
+
+transmit_dmh:
+	bpatch patch0f_1,mem_patch0f
+	fetch 1,mem_state_map
+	bbit0 smap_edr,transmit_noedr
+	sub type,3,null
+	branch transmit_noedr,positive
+	disable encrypt
+	disable encode_fec2
+	enable encode_fec0
+	disable enable_white
+	set1 PSK,radio_ctrl
+	isolate1 PSK3M,radio_ctrl
+	branch transmit_edr3m,true
+	setarg 0xabeee
+	inject mod,20
+	branch transmit_edr_sync_end
+transmit_edr3m:
+	setarg 0x5faeba
+	inject mod,24
+	setarg 0x12
+	inject mod,6
+transmit_edr_sync_end:	
+	enable enable_white
+	set1 mark_longpacket,mark
+transmit_noedr:
+	enable encrypt
+	enable enable_crc
+	bmark1 mark_loopback,transmit_loopback
+	fetch 1,mem_tx_lch
+	inject mod,3
+	fetch 2,mem_tx_len
+	iforce loopcnt
+	bmark1 mark_longpacket,transmit_long
+	inject mod,5
+	branch transmit_stuff
+transmit_long:	
+	inject mod,13
+transmit_stuff:
+	deposit loopcnt
+	branch transmit_end,blank
+	fetch 2,mem_txptr
+	iforce contr
+transmit_stuff_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_stuff_loop
+//	branch transmit_end
+
+transmit_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	call set_wait_ack
+	fetch 1,mem_state_map
+	bbit0 smap_edr,end_of_packet
+	force 0,pdata
+	inject mod,6				/* edr trailer */
+	branch end_of_packet
+
+
+transmit_loopback:
+	bpatch patch0f_2,mem_patch0f
+	bmark1 mark_longpacket,transmit_loopback_long
+transmit_loopback_short:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 1,mem_len	/* take packet length */
+	iforce regc
+	inject mod,5
+	branch transmit_loopback_cont
+transmit_loopback_long:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 2,mem_len	/* take packet length */
+	iforce regc
+	inject mod,13
+transmit_loopback_cont:
+	arg mem_rxbuf,contr
+transmit_loopback_loop:	
+	copy regc,null
+	branch transmit_loopback_end,zero
+	ifetch 1,contr
+	inject mod,8
+	increase -1,regc
+	branch transmit_loopback_loop
+transmit_loopback_end:
+	fetch 2,mem_tst_pktcnt_dmh
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_dmh
+	branch transmit_end
+	
+
+apply_switch_clke:
+	fetch 4,mem_clke_bt
+	add pdata,7,rega
+	fetch 2,mem_slot_offset
+	nbranch apply_switch_nozero,blank
+	increase -3,rega
+	branch apply_switch_wait_loop
+apply_switch_nozero:
+	mul32 pdata,12,pdata
+	hfetcht 2,core_halfslot
+	increase 1,temp
+apply_switch_loop:
+	isub temp,pdata
+	nbranch apply_switch_bt,positive
+	increase -1,rega
+	branch apply_switch_loop
+apply_switch_bt:
+	sub pdata,0,pdata
+apply_switch_wait_loop:
+	until null,oneslot
+	compare 0,clkn_bt,3
+	nbranch apply_switch_wait_loop,true
+	iforce clke_rt
+	copy rega,clke_bt
+	iforce clke_rt
+	rtn
+	
+
+calc_slot_offset:
+	bpatch patch0f_3,mem_patch0f
+	until null,halfslot
+	deposit clke
+	iforce contr
+	rshift16,pdata,pdata
+	isub clkn_bt,loopcnt
+	and_into 3,loopcnt			/* bt portion */
+	nbranch calc_bt_portion,zero
+	force 0,pdata
+	branch calc_skip_bt
+calc_bt_portion:
+	arg 3750,temp
+	force 0,pdata
+calc_slot_offset_loop:
+	iadd temp,pdata
+	loop calc_slot_offset_loop
+calc_skip_bt:
+	iadd contr,pdata			/* add rt portion */
+	div pdata,12
+	call wait_div_end
+	quotient pdata
+	store 2,mem_slot_offset
+	rtn
+
+calc_clke_offset:
+	bpatch patch0f_4,mem_patch0f
+	deposit clke
+	copy clkn,temp
+	isub temp,null
+	nsetflag positive,44,pdata
+	isub temp,temp
+	setarg 3750
+	isolate0 15,temp
+	branch calc_clke_pos,true
+	setarg -61786
+	iadd temp,temp
+calc_clke_pos:
+	storet 6,mem_le_clk_offset
+	rtn le
+	storet 6,mem_clk_offset
+	rtn
+
+calc_clke:
+	disable clknt
+	fetch 6,mem_le_clk_offset
+	branch calc_clke2,le
+	fetch 6,mem_clk_offset
+calc_clke2:
+	iadd clkn,alarm
+	increase 10,alarm
+	setarg 3750
+	isub alarm,pdata
+	isolate0 15,pdata
+	branch calc_clke_pos_adj,true
+	setarg 0xf15a
+	iadd alarm,alarm
+calc_clke_pos2:
+	copy alarm,clke
+	rtn
+calc_clke_pos_adj:		/* add 2 clock */
+	force 0,null
+	branch calc_clke_pos2
+	
+/******************************************/
+/********* RF related functions ***********/
+/******************************************/
+
+
+calc_radio_freq:
+	bpatch patch0f_5,mem_patch0f
+	call set_sync_on
+	copy bt_clk,pdata
+	and_into 0x180,pdata
+	compare 3,freq_mode,0x07
+	nbranch freq_not_connection,true    /* don't do the hack if not in connection */
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	branch do_hop_mod_now
+freq_not_connection:	
+	copy freq_index,pdata
+do_hop_mod_now:
+	div pdata,79
+	pulse recalc         /* now is good time to recalc id */
+	call wait_div_end
+	remainder rega
+	add rega,-40,temp
+	branch odd_half,positive
+	lshift rega,temp
+	branch freq_result
+odd_half:
+	lshift temp,temp
+	increase 1,temp
+freq_result:	
+	bpatch patch0f_6,mem_patch0f
+	fetch 1,mem_mode
+	bbit0 afh_change,afh_process_con
+afh_process_0:	
+	fetch 4, mem_afh_instant   
+	isub bt_clk, null
+	branch afh_process_con,positive
+	call afh_clear
+	fetch 1,mem_afh_new_mod
+	rtn blank
+	fetch 1,mem_mode
+	set1 afh_enable,pdata
+	store 1,mem_mode
+	fetch 5,mem_afh_map_new
+	store 5,mem_afh_map_lo
+	ifetch 5,contr
+	store 5,mem_afh_map_hi
+	call afh_process_freq_map
+afh_process_con:
+	fetch 1,mem_mode
+	rtnbit0 afh_enable
+	isolate1 1,bt_clk
+	branch afh_same_channel,true	/* at odd slot, use the same as last even */
+	rshift3 temp,rega
+	and temp,7,queue
+	setarg mem_afh_map_lo  
+	iadd rega, rega
+	ifetch 1, rega
+	qisolate0 pdata
+	branch afh_process_1,true		/* not in map, do afh */
+	deposit temp
+	branch afh_process_end
+afh_process_1:
+	fetch 1, mem_afh_used
+	iforce regb                     
+	deposit bt_clk
+	and_into 0x180, pdata
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	idiv regb
+	setarg mem_afh_map     
+	call wait_div_end
+	remainder rega
+	iadd rega,contr
+	ifetch 1,contr
+afh_process_end:	
+	store 1,mem_afh_index
+	iforce temp  
+  	rtn
+
+afh_same_channel:
+	fetch 1, mem_afh_index           /* last afh index  */
+	iforce temp
+	rtn
+
+afh_clear:
+	fetch 1,mem_mode
+	set0 afh_enable,pdata
+	set0 afh_change,pdata
+	store 1,mem_mode
+	rtn
+/*
+fixed_frequency:
+	fetcht 1,mem_fixed_freq
+	rtn
+*/
+afh_process_freq_map:
+	bpatch patch0f_7,mem_patch0f
+	arg mem_afh_map,contw
+	force 10,loopcnt
+	call memset0
+	arg mem_afh_map,contw
+	force 0,regC
+	force 2,queue
+process_freq_3:	
+	fetch 5,mem_afh_map_lo
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_1,true
+	rshift temp,temp
+process_freq_1:	
+	isolate0 0,temp
+	branch process_freq_0,true
+	deposit regC
+	istore 1,contw
+process_freq_0:
+	rshift2 temp,temp
+	increase 2,regC
+	compare 40,regC,0xfe
+	nbranch process_freq_2,true
+	fetch 5,mem_afh_map_hi
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_2,true
+	rshift temp,temp
+process_freq_2:	
+	sub regC,78,null
+	branch process_freq_1,positive
+	force 1,regC
+	increase -1,queue
+	nbranch process_freq_3,zero
+	arg mem_afh_map,rega
+	deposit contw
+	isub rega,pdata
+	store 1,mem_afh_used
+	rtn
+
+rx_radio_freq:
+	bpatch patch10_0,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_rx_fixed_freq,rx_radio_freq_now
+	fetcht 1,mem_rx_fixed_freq
+rx_radio_freq_now:
+	branch set_freq_rx
+	
+
+tx_radio_freq:
+	bpatch patch10_1,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_tx_fixed_freq,tx_radio_freq_now
+	fetcht 1,mem_tx_fixed_freq
+tx_radio_freq_now:
+	branch set_freq_tx
+	
+
+fetch_giac:
+	force 0,uap
+	fetch 3,mem_glap
+	iforce lap
+	rtn
+
+fetch_page_bt_adr:
+	bpatch patch10_2,mem_patch10
+	fetch 1,mem_hci_puap
+	icopy uap
+	fetch 3,mem_hci_plap
+	icopy lap
+	rtn
+
+fetch_self_bt_adr:
+	bpatch patch10_3,mem_patch10
+	fetch 2,mem_nap
+	icopy nap
+	fetch 1,mem_uap
+	icopy uap
+	fetch 3,mem_lap
+	icopy lap                 /* copy self_adr,bt_adr */      /* use own address */
+	rtn
+
+fetch_extm_bt_adr:
+	bpatch patch10_4,mem_patch10
+	fetch 2,mem_pnap
+	icopy nap
+	fetch 1,mem_puap
+	icopy uap
+	fetch 3,mem_plap
+	icopy lap         
+	rtn
+
+
+fetch_diac:
+	bmark1 mark_all_diac,fetch_diac_do
+	rtnmark0 mark_inquiry_state
+	rtnmark0 mark_periodical_diac
+fetch_diac_do:
+	and_into -256,lap
+	pulse recalc
+	nop 32
+	rtn
+
+
+shutdown_radio:
+	bpatch patch10_5,mem_patch10
+	branch shutdown_radio0,is_rx
+	jam 0xd4, rf_tx_pa_ib
+	nop 4
+	jam 0xd2, rf_tx_pa_ib
+	nop 4
+	jam 0xd1, rf_tx_pa_ib
+	nop 4	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,shutdown_radio_0db
+	beq TX_POWER_3DB,shutdown_radio_3db
+	beq TX_POWER_5DB,shutdown_radio_5db
+	beq TX_POWER_f3DB,shutdown_radio_f3db
+	beq TX_POWER_f5DB,shutdown_radio_f5db
+	beq TX_POWER_PAIR,shutdown_radio_pair
+shutdown_radio_5db:	
+shutdown_radio_0db:
+	jam 0xd0, rf_tx_pa_ib
+	jam 0xe0, rf_tx_pa_gc
+shutdown_radio0:
+	force 0,radio_ctrl
+	disable is_rx
+	disable is_tx
+	pulse packet_end
+	jam 0x0,rfen_mdm
+	jam 0x0,rfen_tx
+	jam 0x0,rfen_rx
+	jam 0,rfen_sn
+	jam 0x70,rfen_msc
+	jam 0x0,rfen_adc
+	rtn
+	
+shutdown_radio_pair:
+shutdown_radio_f5db:
+shutdown_radio_f3db:
+shutdown_radio_3db:
+	jam 0xd0,rf_tx_pa_ib
+	jam 0xc0,rf_tx_pa_gc
+	branch shutdown_radio0
+
+set_sync_on:
+	bpatch patch10_6,mem_patch10
+	jam 0x0,rfen_mdm					/* if called from tx or rx */
+	jam 0x0,rfen_tx
+	jam 0x18,rfen_rx
+	jam 0xa7,rfen_sn
+	jam 0x7f,rfen_msc
+	rtn
+
+set_freq_rx:
+	bpatch patch10_7,mem_patch10
+		/* IF is +2MHz */
+	storet 1,mem_last_freq
+	add temp,rx_freq_offset,rega			/* index to frequency */
+	jam 0x07,rf_balun_ctrim                                         /*Max added, for best sensitivity*/
+	branch rf_write_freq
+rf_rx_enable:
+	bpatch patch11_0,mem_patch11
+	jam 0xcf,rfen_tx
+	nop 10					/* wait adc clk48 ready */
+	jam 0xff,rfen_rx
+	jam 0xaf,rfen_sn
+	jam 0xff,rfen_msc
+	nop 10
+	jam 0xa0,rfen_mdm
+	rtn
+	
+set_freq_tx_offset:
+	fetch 1,mem_250k_freq_enable	//default: 0
+	branch set_freq_tx_2M_offset,blank
+set_freq_tx_0M_offset:
+	add temp,2,rega			//250k
+	rtn
+set_freq_tx_2M_offset:
+	add temp,0,rega			// bt 2M Medium Frequency
+	rtn
+
+set_freq_tx:
+	bpatch patch11_1,mem_patch11
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+txon:	
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	jam 0x12,rf_balun_ctrim
+	nop 10
+	jam 0x01,rfen_mdm
+	jam 0x3d,rfen_mdm
+	nop 10
+	jam 0xb7,rfen_sn
+	nop 10
+	jam 0x7f, rfen_mdm
+txon_power_select:	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,set_tx_power_0db
+	beq TX_POWER_3DB,set_tx_power_3db	
+	beq TX_POWER_5DB,set_tx_power_5db
+	beq TX_POWER_f3DB,set_tx_power_f3db	
+	beq TX_POWER_f5DB,set_tx_power_f5db
+	beq TX_POWER_PAIR,set_tx_power_pair
+set_tx_power_0db:	
+	jam 0xf0,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_3db:
+	jam 0xdf,rf_tx_pa_gc
+	call txon_common
+	jam 0xdf,rf_tx_pa_ib
+	rtn
+
+set_tx_power_5db:
+	jam 0xff,rf_tx_pa_gc
+	call txon_common
+	jam 0xdf,rf_tx_pa_ib
+	rtn
+set_tx_power_f3db:
+	jam 0xce,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_f5db:
+	jam 0xcb,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_pair:
+	jam 0xd0,rf_tx_pa_ib
+	jam 0xc0,rf_tx_pa_gc
+	jam 0x4c,0x8957
+	jam 0x6c,0x8958
+	jam 0x50,0x8959
+	rtn
+
+txon_common:
+	nop 4
+	jam 0xd1,rf_tx_pa_ib
+	nop 4
+	jam 0xd2,rf_tx_pa_ib
+	nop 4
+	jam 0xd4,rf_tx_pa_ib
+	rtn
+
+
+initialize_radio:
+	jam clksel_rc,core_clksel
+initialize_radio_wait:
+	fetch 2,mem_rf_init_ptr
+	bbit0 14,initialize_radio_wait
+	iforce contr
+	arg 0x8900,temp
+initialize_radio_loop:
+	ifetch 1,contr
+	beq 0xff,initialize_radio_cont
+	ior temp,contw
+	ifetch 1,contr
+	istore 1,contw
+	branch initialize_radio_loop
+initialize_radio_cont:
+	bpatch patch11_2,mem_patch11
+	call lpm_cal_xtal_startup
+	call switchto_dpllclk
+//	ncall check_dpll,wake
+	setarg param_dpll_start_delay
+	iadd clkn_bt,pdata
+	store 4,mem_dpll_clkn
+	set1 RESET,radio_ctrl
+	force 0,radio_ctrl
+	ncall do_rccal,wake
+	branch set_rccal
+
+	/* rega is frequency, 00=2400Mhz */
+rf_write_freq:
+	bpatch patch11_3,mem_patch11
+	setarg 2400
+	iadd rega,temp
+	fetch 1,mem_fcomp_mul
+	jam 0x04,rf_pll_rstn
+	imul32 temp,pdata
+	fetcht 1,mem_fcomp_div
+	idiv temp
+	call wait_div_end
+	quotient rega			/* rega is FLOOR(FVCO/fcomp) */
+	remainder pdata		
+	lshift16 pdata,pdata
+	lshift4 pdata,pdata		/* pdata is frac * 2^20 */
+	idiv temp
+	call wait_div_end
+	quotient pdata		/* pdata is frac *2^20/fcomp */
+	lshift8 pdata,pdata
+	lshift pdata,pdata
+	ior rega,pdata
+	hstore 4,rf_pll_intg
+	jam 0x44,rf_pll_rstn
+	jam 0xc4,rf_pll_rstn
+	rtn
+
+	
+do_rccal:
+	bpatch patch11_4,mem_patch11
+	jam 0x02,rfen_adc
+	setarg 250000
+	call sleep					/* wait clkpll&xtal stable */
+	jam 0x7f,rfen_rx
+	nop 130
+	jam 0x30,rf_rccal_ctrl
+	jam 0xd0,rfen_tx
+	jam 0x70,rf_rccal_ctrl
+	jam 0xf0,rf_rccal_ctrl
+	force 50,loopcnt
+do_rccal_loop:
+	hfetch 1,rf_rccal_result
+	bbit1 5,do_rccal_end
+	loop do_rccal_loop
+do_rccal_end:
+	store 1,mem_rf_rccal
+	jam 0,rfen_tx
+	jam 0,rfen_rx
+	jam 0x00,rfen_adc
+	rtn
+
+set_rccal:
+	bpatch patch11_5,mem_patch11
+	fetch 1,mem_rf_rccal
+	set1 5,pdata
+	hstore 1,rf_rccal_ctrl
+	hfetcht 1,rf_bpf_ctrim
+	and_into 7,temp
+	lshift3 pdata,pdata
+	ior temp,pdata
+	hstore 1,rf_bpf_ctrim
+	hfetch 1,rf_bpf_ib
+	set0 bpf_rccal,pdata
+	hstore 1,rf_bpf_ib
+	hfetch 1,rf_adc_rccal
+	set0 adc_rccal,pdata
+	hstore 1,rf_adc_rccal
+	rtn
+
+save_rssi:
+	bpatch patch11_6,mem_patch11
+	hfetch 2,rf_afc_d2a
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	sub pdata,0,pdata
+bcd:
+	and_into 0xff,pdata
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	store 1,mem_rssi			/* bcd value */
+	rtn
+
+	
+switchto_dpllclk:
+	jam clksel_rc,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	set0 4,pdata
+	set0 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	jam 0x00,rfen_ck
+	jam 0x00,rfen_msc
+	jam 0x70,rfen_msc
+	jam 0xff,rfen_ck
+	hfetch 1,rf_clkpll_frac+2
+	set1 4,pdata
+	set1 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	call init_lpm_ctrl
+	hfetch 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	set0 7,pdata
+	hstore 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	jam clksel_dpll,core_clksel
+	nop 1
+	jam clksel_xtal,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	and_into 0xcf,pdata
+	hstore 1,rf_clkpll_frac+2
+	or_into 0x30,pdata
+	hstore 1,rf_clkpll_frac+2
+	rtn
+
+	
+xtal_fast_wake:
+	setarg 0xf0f
+	branch lpm_write_config
+
+init_lpm_ctrl:
+	setarg 0x80f
+	branch lpm_write_config
+
+
+
+start_receiver:
+	bpatch patch11_7,mem_patch11
+	call rf_rx_enable
+	disable is_tx
+	enable is_rx
+	pulse init_encrypt
+	rtn
+
+prep_crypt:
+	bpatch patch12_0,mem_patch12
+	fetch 1,mem_state_map
+	isolate1 smap_encryption,pdata
+	setflag true,0,pdata
+	hstore 1,core_encrypt
+	arg mem_kc,contr
+	ifetch 9,contr
+	iforce kc_ls
+	ifetch 7,contr
+	iforce kc_ms
+	fetch 1,mem_key_size
+	add pdata,-1,g1l
+	pulse kc_p_activate               /* immediately start calculating primary Key */
+	rtn
+	
+wait_access_end:
+	deposit clke
+	store 6,mem_sync_clke
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	increase 1,clke_bt
+	and_into 0x1fc,clke_bt
+	rtn
+
+
+
+wait_access_mhalfbnd:
+	enable decode_fec0
+wait_access_mhalfbnd_correlate:
+	correlate null,mhalfbnd    /* keep correlating until sync is found, or clke half */
+	branch wait_access_end,sync
+	compare 0x02,clke_bt,0x02
+	nbranch wait_access_mhalfbnd_correlate,true
+	branch wait_access_end
+
+wait_access_clkn_rt:
+	bpatch patch12_1,mem_patch12
+	arg param_conn_access,timeup	/* found sync must occur within this time */
+	enable decode_fec0
+	correlate clkn_rt,meet    /* keep correlating until sync is found, or until clkn_rt timeup */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	rtn
+
+wait_access_forever:
+	bpatch patch12_2,mem_patch12
+	enable decode_fec0
+	correlate null,timeout    /* keep correlating until sync is found, or timeout */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	and_into 0x1fc,clke_bt
+	rtn
+
+	/* reserve slots for mult-slot packet */
+reserve_slot:
+	bpatch patch12_3,mem_patch12
+	iforce rega
+	deposit bt_clk
+	iadd temp,timeup
+	copy timeup,pdata
+	store 4,mem_next_btclk
+	deposit rega
+	rtn
+
+	/* pdata = clks ahead of bt_clk */
+ahead_window:
+	copy pdata,temp
+	bpatch patch12_4,mem_patch12
+	copy temp,pdata
+	call clk2bt
+	lshift16 bt_clk,pdata
+	set1 44,pdata
+	call clk_diff
+	set0 44,pdata
+	call get_clk
+	call clk_diff
+	rtn user
+	call clk2rt
+	iforce stop_watch
+	until null,timeout
+	rtn
+
+
+setup_clk:
+	bpatch patch12_5,mem_patch12
+	branch setup_clkn,clknt
+	until clke_rt,meet
+skip_setup_clke:
+	copy clke_bt,temp
+	branch setup_clknbt
+setup_clkn:
+	branch skip_setup_clkn,attempt
+	until clkn_rt,meet
+skip_setup_clkn:
+	copy clkn_bt,temp
+setup_clknbt:
+	branch setup_clk11,user
+	compare 1,temp,3
+	nbranch setup_clk,true
+setup_complete:
+	bpatch patch12_6,mem_patch12
+	fetch 1,mem_state
+	rtnbit0 state_inconn
+	fetch 4,mem_next_btclk
+	isub temp,pdata
+	nrtn positive
+	sub pdata,0xff,null
+	branch setup_clk,positive
+	rtn
+setup_clk11:
+	compare 3,temp,3
+	nbranch setup_clk,true
+	branch setup_complete
+
+rf_setup_time:
+	bpatch patch12_7,mem_patch12
+	arg param_rf_setup,timeup
+	branch setup_clk
+	
+rf_setup_time_slave_slot:
+	disable user
+	branch rf_setup_time
+
+rf_setup_time_master_slot:
+	enable user
+	branch rf_setup_time
+	
+start_transmitter:
+	bpatch patch13_0,mem_patch13
+	call prep_crypt
+	disable is_rx
+	enable is_tx
+	rtn
+
+
+
+start_tx_native:
+	bpatch patch13_1,mem_patch13
+	arg param_tx_setup,timeup
+	until clkn_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+start_rx_native:
+	bpatch patch13_2,mem_patch13
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	rtn
+
+
+start_tx_external:
+	bpatch patch13_3,mem_patch13
+	arg param_tx_setup,timeup
+	until clke_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+send_access_word:
+	bpatch patch13_4,mem_patch13
+	preload access          /* load in access word ready to be sent */
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	inject mod,72
+	disable encode_fec0
+	rtn
+
+
+scan_mode_whiten:
+	copy xin,temp
+	or_into 0x60,temp                /* extend xin with 5->1, 6->1 */
+	copy temp,white_init
+	rtn
+
+
+
+	/* return blank if free amaddr is found */
+get_free_amaddr:
+	bpatch patch13_5,mem_patch13
+	fetch 1,mem_current_amaddr
+	increase 1,pdata
+	bne param_esco_addr,get_free_amaddr_cont
+	force 1,pdata
+get_free_amaddr_cont:
+	store 1,mem_current_amaddr
+	iforce am_addr
+	rtn
+
+get_clk:
+	copy clkn,temp
+	rtn master
+	copy clke,temp
+	rtn
+
+get_clkbt:
+	deposit clkn_bt
+	rtn master
+	deposit clke_bt
+	rtn
+
+
+supervision_update:
+	bpatch patch13_6,mem_patch13
+	fetcht 4,mem_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_supervision_to
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+supervision_flush:
+	bpatch patch13_7,mem_patch13
+	call get_clkbt
+	store 4,mem_supervision_timer
+	rtn
+
+assert:
+	bpatch patch14_0,mem_patch14
+	branch assert
+	
+loop:
+	branch loop
+
+sleep:	
+	rtn blank
+	/* sleep pdata clocks, only even clocks are accurate */
+	rshift pdata,pdata
+	increase -3,pdata
+sleep_loop:	
+	increase -1,pdata
+	nbranch sleep_loop,zero
+	force 0,pdata
+	rtn
+
+
+
+init_param:
+	/* clear specified sched ram */
+	arg 0x10,loopcnt
+	arg 0,contw
+	call memset0
+	arg mem_le_state,contw
+	arg 10,loopcnt
+	call memset0
+	jam 0,mem_sp_calc
+	jam 0,mem_fifo_temp
+	jam 0,mem_le_testtype
+	jam 0,mem_debug_config
+	jam 0,mem_lmp_conn_state
+	bpatch patch14_1,mem_patch14
+	jam 0,mem_connection_options
+	jam 0,mem_tester_emulate
+	jam 0,mem_tester_cnt
+	setarg param_glap
+	store 3,mem_glap
+	setarg param_acl_pktlen
+	store 2,mem_acl_pktlen
+	jam param_sco_pktlen,mem_sco_pktlen
+	jam param_acl_pktcnt,mem_acl_pktcnt
+	jam param_sco_pktcnt,mem_sco_pktcnt
+	setarg param_hci_version
+	store 3,mem_hci_version
+//	setarg param_lmp_version
+//	store 3,mem_lmp_version
+//	setarg param_lmp_subversion
+//	store 2,mem_lmp_subversion
+	jam 0x60,mem_fhs_misc		/* R1 for 1.28s ps interval,P2 */
+	jam param_max_slot,mem_max_slot
+	jam 0x02,mem_fw_ver		/* set firmware version */
+	fetch 1,mem_ssp_enable
+	ncall init_memp,blank
+	fetch 1,mem_le_secure_connect_enable
+	ncall init_memp_256,blank
+	bpatch patch14_2,mem_patch14
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+
+
+
+/*****************************************LPO************************************************/
+
+lpmstate:
+	setarg 0xee21
+	hstore 2,core_clkoff			// disable unused peripherals
+	hfetch 4,core_gpio_in
+	store 4,mem_saved_gpio_in
+	hfetch 1,core_lpm_ldocnt
+	store 1,mem_wakup_from_power_flag
+	bbit0 gpio_latch,loadcode		// power up boot
+	enable wake
+	bbit0 cold_wake,lpmwake		
+	disable wake
+	deposit auxcnt
+	nbranch lpmwake,blank		// sleep interrupted, wakeup
+	hfetch 1,core_lpm_ctrl + 3
+	bbit1 reload_code,lpmwake
+	arg param_hibernate_clks,temp
+	branch lpm_enter_sleep
+lpmwake:
+	hfetch 3,core_lpm_xtalcnt
+	hstore 3,core_lpm_reg
+	ifetch 1,contr
+	or_into isogate_mask,pdata		// open all isolation gate&power switch
+	istore 1,contw
+	call lpm_write_ctrl2
+	hfetch 1,core_lpm_isogate
+	set1 enable_retmem,pdata
+	hstore 1,core_lpm_isogate
+	call lpm_write_ctrl2
+	call lpm_load_context,wake
+	hfetch 1,core_lpm_reg+2
+	set0 gpio_latch,pdata			// enable gpio fuction
+	hstore 1,core_lpm_reg+2
+	call lpm_write_ctrl2
+	nbranch loadcode,wake		// wakeup from hibernate
+	rtnmark0 mark_otp_encrypt
+	jam lock_otp,core_misc_ctrl	// disable further read/write of key
+	rtn 
+
+lpm_load_context:
+	fetch 1,mem_saved_spidctrl
+	hstore 1,core_spid_ctrl
+	fetch 3,mem_saved_gsel
+	hstore 3,core_gpio_sel
+	fetch 4,mem_saved_gpio+4
+	hstore 4,core_gpio_out0
+	fetch 4,mem_saved_gpio
+	hstore 4,core_gpio_oe0
+	fetch 8,mem_saved_gpio+8
+	hstore 8,core_gpio_pu0	
+	fetch 8,mem_saved_mark
+	iforce mark
+	hfetch 8,core_gpio_wakeup_low
+	store 8,mem_gpio_wakeup_low
+	call load_ucode
+	rtn
+
+lpm_save_context:
+	deposit mark
+	store 8,mem_saved_mark
+	hfetch 8,core_gpio_oe0
+	store 8,mem_saved_gpio
+	ifetch 8,contr
+	istore 8,contw
+	hfetch 3,core_gpio_sel
+	store 3,mem_saved_gsel
+	hfetch 1,core_spid_ctrl
+	store 1,mem_saved_spidctrl
+	branch lpm_write_gpio_wakeup
+
+lpo_calibration:
+	hfetch 1,core_bist_ctrl
+	nbranch lpo_cal_inited,blank
+	fetch 3,mem_clks_per_lpo
+	nrtn blank
+	jam 0xc0,core_bist_ctrl
+	jam ccnt_start,core_misc_ctrl
+lpo_cal_inited:
+	hfetch 1,core_perf_status
+	rtnbit0 1
+	hfetch 3,core_clk_counter
+	store 3,mem_clks_per_lpo
+	rtn
+
+
+	/* temp is synced clke */
+lpm_adjust_clk:
+	bpatch patch14_3,mem_patch14
+	deposit clke
+	call clk_diff_rt
+	fetcht 4,mem_sleep_counter_all
+	sub temp,0xff,null
+	rtn positive				// interval too small
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	arg param_lpm_adjmax,temp
+	call ceiling
+	store 1,mem_lpm_adjust
+	nbranch lpm_adjust_positive,user
+	sub pdata,0,pdata
+lpm_adjust_positive:
+	fetcht 3,mem_clks_per_lpo
+	iadd temp,pdata
+	store 3,mem_clks_per_lpo
+lpm_clear_counter:
+	setarg 0
+	store 4,mem_sleep_counter_all
+	rtn
+
+
+	/* temp is lpo counter for doze */
+lpm_doze:
+	fetch 1,mem_lpm_config+2
+	set1 reload_code,pdata
+	store 1,mem_lpm_config+2
+	branch lpm_hibernate_normal
+	
+
+	/* no retention memory at all */
+lpm_hibernate:
+	arg param_hibernate_clks,temp
+	fetch 1,mem_lpm_config+1
+	set0 7,pdata					/* lowest lpo */
+	store 1,mem_lpm_config+1
+lpm_hibernate_normal:
+	bpatch patch14_4,mem_patch14
+	call lpm_write_gpio_wakeup
+	fetch 1,mem_lpm_hibernate_switch
+	store 1,mem_lpm_xtalcnt + 4
+	fetch 1,mem_lpm_xtalcnt + 2
+	set1 cold_wake,pdata
+	store 1,mem_lpm_xtalcnt + 2
+
+	/* temp is lpo clocks to sleep */
+lpm_sleep:
+	bpatch patch14_5,mem_patch14
+	call xtal_fast_wake
+	fetch 4,mem_sleep_counter_all
+	iadd temp,pdata
+	store 4,mem_sleep_counter_all
+	call lpm_save_context
+	fetch 5,mem_lpm_xtalcnt
+	hstore 4,core_lpm_reg
+	rshift32 pdata,rega
+	until null,lpo_edge
+	deposit clkn
+	store 6,mem_sleep_clkn
+	jam lpmreg_sel_ctrl2,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	deposit rega
+	hstore 1,core_lpm_isogate
+	jam lpmreg_sel_ctrl2,core_lpm_wr
+lpm_enter_sleep:
+	until null,lpo_edge
+	until null,lpo_edge
+	hstoret 4,core_lpm_reg
+	jam lpmreg_sel_counter,core_lpm_wr
+	until null,never
+
+
+
+
+lpm_recover_clk:
+	bpatch patch14_6,mem_patch14
+	setarg 0
+	copy auxcnt,null
+	branch lpm_recover_timeout,zero
+	hfetch 1,core_lpm_xtalcnt
+	hfetcht 1,core_lpm_buckcnt
+	isub temp,null
+	branch lpm_recover_xtal,positive
+	deposit temp
+lpm_recover_xtal:
+	isub auxcnt,pdata
+	increase 1,pdata
+lpm_recover_timeout:
+	increase 8,pdata
+	until null,lpo_edge
+	iadd lpo_time,pdata
+	fetcht 4,mem_sleep_counter
+	iadd temp,pdata
+	fetcht 3,mem_clks_per_lpo
+	imul32 temp,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	increase param_lpm_fix,pdata
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	fetcht 6,mem_sleep_clkn
+	call clk_add
+	copy temp,clkn
+	fetch 6,mem_context + coffset_clk_offset
+	call calc_clke2
+	deposit clke
+	store 6,mem_pdatatemp
+	deposit auxcnt
+	istore 1,contw
+	hfetch 1,core_gpio_in1
+	or_into 0xf0,pdata
+	istore 1,contw
+	rtn
+	
+lpm_dispatch:
+	bpatch patch14_7,mem_patch14
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank	
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							/* sco won't sleep */
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff
+	rtn blank										/* role switch */
+	rtn wake
+	bpatch patch15_0,mem_patch15
+lpm_dispatch_next2:
+	fetcht 1,mem_lpm_current_mult
+	fetch 2,mem_context + coffset_tsniff
+	imul32 temp,pdata
+	rshift4 temp,temp
+	rshift2 temp,temp
+	isub temp,pdata
+	fetcht 4,mem_context + coffset_sniff_anchor
+	iadd temp,pdata
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	lshift16 pdata,alarm
+	bpatch patch15_1,mem_patch15
+	fetch 2,mem_context + coffset_rx_window
+	rshift pdata,pdata
+	call clk2bt
+	deposit alarm
+	call clk_diff
+	copy clke,temp
+	call clk_diff_rt
+	rtn user
+lpm_dispatch_sleep:
+	call clk2lpo
+lpm_dispatch_lpo:
+	bpatch patch15_2,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	isub temp,null
+	branch lpm_clear_counter,positive
+	storet 4,mem_sleep_counter
+	call app_will_enter_lpm
+	call l2cap_lpm_save_txbuf
+	fetcht 4,mem_sleep_counter
+	branch lpm_sleep
+	
+lpm_dispatch_unconn:
+	bpatch patch15_3,mem_patch15
+	fetch 1,mem_context
+	rtnbit1 state_inconn					// wont sleep in connection
+	rtnbit1 state_inpage					// wont sleep when paging
+	fetch 1,mem_ssp_enable
+	branch lpm_unconn_nossp,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_unconn_nossp:
+	bpatch patch15_4,mem_patch15
+	fetch 1,mem_le_adv_enable
+	nbranch lpm_unconn_cont,blank
+	fetch 1,mem_scan_mode
+	rtn blank
+lpm_unconn_cont:
+	fetch 2,mem_lpm_interval
+	rtn blank
+lpm_sleep_btclk:
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	arg 7500,temp				/* 1.25ms */
+	imul32 temp,pdata
+	branch lpm_dispatch_sleep
+
+lpm_set_mult:
+	bpatch patch15_5,mem_patch15
+	disable wake
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	nbranch lpm_not_match,match
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	fetch 1,mem_arq
+	bbit1 wack,lpm_mult_short
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	call l2cap_malloc_is_fifo_empty
+	nbranch lpm_mult_short,blank
+	fetch 1,mem_classic_bt_flag
+	bbit1 SHORT_MULT_FLAG,lpm_mult_short
+lpm_mult_wait_timeout:
+	jam 0,mem_lpm_current_mult
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	fetch 1,mem_lpm_mult_cnt
+	branch lpm_mult_long,blank
+	increase -1,pdata
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+
+classic_bt_set_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_set_flag
+	
+classic_bt_clr_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_clr_flag
+
+
+
+lpm_match:
+	jam 0,mem_sniff_unint_lost
+	fetch 3,mem_sniff_rcv
+	increase 1,pdata
+	store 3,mem_sniff_rcv
+	rtn
+
+lpm_not_match:
+	bpatch patch15_6,mem_patch15
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_rx_window
+	iadd temp,pdata
+	store 2,mem_rx_window
+lpm_lost:
+	jam 0,mem_lpm_current_mult
+	fetch 3,mem_sniff_lost
+	increase 1,pdata
+	store 3,mem_sniff_lost
+	fetch 1,mem_sniff_unint_lost
+	increase 1,pdata
+	store 1,mem_sniff_unint_lost
+	rtn
+
+lpm_mult_short:
+	jam 0,mem_lpm_current_mult
+	fetch 1,mem_lpm_mult_timeout
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+lpm_mult_long:
+	fetcht 1,mem_lpm_mult
+	storet 1,mem_lpm_current_mult
+	rtn
+
+lpm_cal_xtal_startup:
+	bpatch patch15_7,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	jam clksel_rc,core_clksel
+	setarg 0xf0c
+	call lpm_write_config
+	setarg 200000
+	call sleep
+	until null,lpo_edge
+	copy lpo_time,alarm
+	call xtal_fast_wake
+	jam clksel_xtal,core_clksel
+	nop 10
+	until null,lpo_edge
+	deposit lpo_time
+	isub alarm,pdata
+	increase 0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	
+	rtn
+
+lpm_cal_xtal_startup_by_snooze:
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	jam 0xff,core_xtal_stable_time
+	jam clksel_rc,core_clksel
+	call xtal_fast_wake
+	setarg 1000
+	iadd lpo_time,alarm
+	snooze
+	deposit lpo_time
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	isub alarm,pdata
+	add pdata,0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	//delay 90000 nop
+	rtn
+
+
+
+	/* pdata is lpm_reg[11:0] */
+lpm_write_config:
+	arg 0xfff,contw
+	iand contw,contw
+	fetch 1,mem_lpm_config
+	and_into 0xf0,pdata
+	lshift8 pdata,pdata
+	ior contw,pdata
+	hstore 2,core_lpm_reg
+	ifetch 2,contr
+	istore 2,contw
+
+lpm_write_ctrl:
+	setarg lpmreg_sel_ctrl
+	branch lpm_write
+
+lpm_write_ctrl2:
+	setarg lpmreg_sel_ctrl2
+lpm_write:
+	until null,lpo_edge
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+
+
+lpm_write_gpio_wakeup:
+	bpatch patch16_0,mem_patch16
+	fetch 4,mem_gpio_wakeup_low
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiolow
+	call lpm_write
+	fetch 4,mem_gpio_wakeup_high
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiohigh
+	branch lpm_write
+
+lpm_get_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset1 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_put_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset0 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+
+
+lpm_check_wake_lock:
+	bpatch patch16_1,mem_patch16
+	call app_check_wake_lock
+	fetch 2,mem_lpm_wake_lock
+	copy pdata,rega
+	fetch 1,mem_state_map
+	isolate1 smap_rxlmp,pdata
+	setflag true,wake_lock_lmp_rx,rega
+	fetch 1,mem_lmo_opcode1
+	fetcht 1,mem_lmo_opcode2
+	iadd temp,pdata
+	fetcht 1,mem_lmp_to_send
+	iadd temp,pdata
+	nsetflag blank,wake_lock_lmp_tx,rega
+	fetch 1,mem_le_tx_buff_used
+	nsetflag blank,wake_lock_ble_tx,rega
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_l2cap_rxbuff2_len
+	iadd temp,pdata
+	nsetflag blank,wake_lock_l2cap_rx,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	nsetflag blank,wake_lock_ipc_bt2c51,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	nsetflag blank,wake_lock_ipc_c512bt,rega
+	fetch 1,mem_hci_cmd
+	nsetflag blank,wake_lock_cmd,rega
+	fetch 1,mem_device_option
+	compare dvc_op_module,pdata,0xff
+	call lpm_uart_wake_lock,true
+	setarg -8
+	iand rega,rega
+	copy rega,pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_uart_wake_lock:
+	hfetch 2,core_uart_rxitems
+	nsetflag blank,wake_lock_uart_rx ,rega
+	hfetch 2,core_uart_txitems
+	nsetflag blank,wake_lock_uart_tx ,rega
+	rtn
+
+lpm_shut_down:
+	hfetch 4,core_lpm_ctrl
+	set0 27,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	branch assert
+	
+lpm_disable_exen_output:
+	hfetch 4,core_lpm_xtalcnt
+	set0 20,pdata
+	hstore 4,core_lpm_reg
+	branch lpm_write_ctrl2
+
+check_bt_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 bt_disabled,assert
+	rtn
+check_ble_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 ble_disabled,assert
+	rtn
+check_module_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 module_disable,assert
+	rtn
+
+
+
+
+
+
+
+//p_check_attempt_sniff:
+//	bbit0 state_insco,p_check_attempt_not_sco
+//	fetch 1,mem_current_sniff_attempt
+//	beq 2,p_check_attempt_sniff_restore_sco
+//	fetch 1,mem_arq
+//	bbit1 wack,p_check_attempt_notimeout
+//	bmark0 mark_esco_rxok,p_check_attempt_notimeout
+//p_check_attempt_sniff_restore_sco:
+//	nbranch p_check_attempt_notimeout,master
+//	fetch 1,mem_lmp_to_send
+//	nbranch p_check_attempt_notimeout,blank
+//p_check_attempt_sco_master:
+//	fetch 1,mem_sco_poll
+//	increase -1,pdata
+//	store 1,mem_sco_poll
+//	nbranch check_attempt_nomore,blank
+//	jam param_sco_poll,mem_sco_poll
+//	branch check_attempt_notimeout
+//p_check_attempt_not_sco:
+//	compare type_null,type,0x1f
+//	branch check_timeout,true
+//	compare type_poll,type,0x1f
+//	branch check_timeout,true
+//	branch check_anchor_end
+//p_check_attempt_notimeout:
+//check_atttemp_decrease:
+//	fetch 1,mem_current_sniff_attempt
+//	increase -1,pdata
+//	store 1,mem_current_sniff_attempt
+//	rtn
+//check_timeout:
+//	fetch 1,mem_sniff_timeout_temp
+//	increase 1,pdata
+//	store 1,mem_sniff_timeout_temp
+//check_anchor_end:
+//	fetch 1,mem_current_sniff_attempt
+//	branch check_anchor_end_attempt0,blank
+//	call check_atttemp_decrease
+//	nrtn blank
+//check_anchor_end_attempt0:  
+//	fetch 1,mem_sniff_timeout_temp
+//	fetcht 1,mem_current_sniff_timeout
+//	isub temp,null
+//	branch p_blank,positive
+//	arg 1,pdata
+//	rtn
+//p_blank:
+//	arg 0,pdata
+//	rtn
+
+
+
+
+g24_dispatch:
+	bpatch patch16_2,mem_patch16
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_mode
+	rtneq disable_24g
+	beq tx_24g,g24_transmit_process
+	beq rx_24g,g24_receive_process
+	rtn
+
+g24_head_ptr2regc:
+	fetcht 2,mem_24g_head_ptr
+	copy temp,regc
+	rtn
+
+g24_receive_process_init:
+	call g24_receive_init
+	branch g24_mode_switch_init
+
+g24_receive_process:
+	call g24_mode_switch
+	call g24_dongle_work_mode_auto
+	call g24_dongle_bind_mode_auto
+	branch g24_dongle_search_mode_auto
+	
+
+g24_pair_init:
+	//jam 0,mem_24g_pid
+	//jam G24_PAIR_CH,mem_24g_ch
+	call g24_set0_mem_pid
+	setarg G24_PAIR_CH
+	call g24_store_mem_ch
+	call g24_store_mem_pair_txpower
+	//fetch 4,mem_24g_paring_addr
+	//store 4,mem_24g_addr
+	add regc,offset_24g_paring_addr,rega
+	ifetch 4,rega
+	branch g24_store_mem_addr
+		
+g24_ch:
+	call g24_head_ptr2regc
+	add regc,offset_24g_current_ch_number,regb
+	ifetcht 1,regb
+	//fetcht 1,mem_24g_current_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	add regc,offset_24g_current_ch_number,contw
+	//storet 1,mem_24g_current_ch_number
+	branch g24_contw_istoret_1byte
+
+g24_ch_temp_incre_size4:
+	call g24_ch_calc
+	increase 1,temp
+	and_into 3,temp
+	rtn
+
+g24_ch_calc:
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_addr
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	add regc,offset_24g_ch_map1,pdata
+	//setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	//store 1,mem_24g_ch
+	branch g24_store_mem_ch
+
+g24_set_device_addr:
+	call g24_store_mem_tx_power_temp
+	call otp_enable_chgpump
+	setarg 0x7e2
+	arg mem_temp,rega
+	arg 4,temp
+	call otpd_read_data
+	call otp_disable_chgpump
+	fetch 4,mem_temp	//adc data from otp
+	call g24_store_mem_device_addr
+	//store 4,mem_24g_device_addr	
+	nrtn blank
+	fetch 4,mem_lap
+	//store 4,mem_24g_device_addr
+	branch g24_store_mem_device_addr
+
+g24_transmit_rf_sta_init:
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	setarg 0
+	call g24_store_mem_sync_cnt
+	//jam 0,mem_24g_sync_cnt
+g24_transmit_rf_ctrl_clear:	
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	//store 1,mem_24g_data_type
+	branch g24_store_mem_data_type
+	
+g24_hop_ch_enable:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	//store 1,mem_24g_txpayload
+	branch g24_store_mem_txpayload
+	
+g24_transmit_hop_pac_fail:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_fail_wo_hop
+	beq 2,g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+	
+g24_transmit_hop_pac_fail_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_fail_stage1:
+	add regc,offset_24g_hop_pac_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_hop_pac_retry
+	call g24_store_mem_rf_last_sta
+	//jam 0,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_hop_pac_fail_hop_stage2:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	branch g24_transmit_hop_pac_fail_stage1
+
+g24_transmit_pac_fail_hop_stage3:
+	add regc,offset_24g_txfail_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txfail_cnt
+	increase 1,pdata
+	add regc,offset_24g_txfail_cnt,contw
+	istore 1,contw
+	//store 1,mem_24g_txfail_cnt
+	beq 0x20,g24_tx_attempt_fail
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	beq 1,g24_rf_hop_fastly
+	setarg 1
+	call g24_store_mem_rf_hop_ch
+	//jam 1,mem_24g_rf_hop_ch
+g24_rf_hop_attemp_again:
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	bne 1,g24_transmit_rf_ctrl_clear
+g24_rf_hop_fastly:
+	add regc,offset_24g_hop_fastly_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	call g24_store_mem_hop_fastly_cnt
+	//store 1,mem_24g_hop_fastly_cnt
+	beq 4,g24_rf_hop_fastly_exit
+	call g24_ch
+	call g24_set2_mem_max_retry
+	//jam 2,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_rf_hop_fastly_exit:
+	call g24_set0_mem_hop_fastly_cnt
+	//jam 0,mem_24g_hop_fastly_cnt
+	branch g24_transmit_rf_ctrl_clear
+
+g24_set0_mem_hop_fastly_cnt:
+	setarg 0
+g24_store_mem_hop_fastly_cnt:
+	add regc,offset_24g_hop_fastly_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_transmit_hop_pac_succ_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_succ:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_succ_rf_config:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_hop_pac_succ
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch g24_transmit_rf_sta_init,true
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_succ_wo_hop
+	beq 2,g24_transmit_hop_pac_succ
+	rtn
+
+g24_rf_sta_check:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_rf_laststa_synccnt_check
+	ncall g24_rf_sync_cnt_check,user2
+	rtn
+
+g24_rf_laststa_synccnt_check:
+	disable user2
+	add regc,offset_24g_rf_last_sta,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	setarg 1
+	call g24_store_mem_rf_work_stage
+	//jam 1,mem_24g_rf_work_stage
+	call g24_set4_mem_max_retry
+	//jam 4,mem_24g_max_retry
+	branch enable_user2
+
+g24_rf_sync_cnt_check:
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	branch g24_rf_hop_attemp,blank
+	increase -1,pdata
+	call g24_store_mem_sync_cnt
+	//store 1,mem_24g_sync_cnt
+	setarg 2
+	call g24_store_mem_rf_work_stage
+	//jam 2,mem_24g_rf_work_stage
+	call g24_ch
+	//jam 4,mem_24g_max_retry
+	branch g24_set4_mem_max_retry
+
+g24_store_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,contw
+	branch g24_contw_istore_1byte
+
+
+g24_rf_hop_attemp:
+	setarg 3
+	call g24_store_mem_rf_work_stage
+	//jam 3,mem_24g_rf_work_stage
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	nbranch g24_rf_hop_attemp_again,blank
+	call g24_ch
+	//jam 2,mem_24g_max_retry
+g24_set2_mem_max_retry:	
+	setarg 2
+	branch g24_store_mem_max_retry
+
+g24_transmit_process:
+	rtnmark0 mark_24g
+	set1 mark_24g_conext,mark
+	bpatch patch16_3,mem_patch16
+	add regc,offset_24g_tx_without_int,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_tx_without_int
+	beq 1,g24_transmit_without_int
+	call g24_timer_check
+	nbranch g24_transmit_exit,user
+	call g24_interval_calibrate
+g24_transmit_without_int:
+	add regc,offset_24g_tx_without_int,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_tx_without_int
+	call g24_txdata_prep
+	nbranch g24_enter_lpm,user
+	call g24_rf_sta_check
+g24_transmit_start:
+	call g24_transmit_packet
+	call g24_power_ctrl
+g24_transmit_exit:
+	set0 mark_24g_conext,mark
+	rtn
+
+g24_timer_timeout:
+	rtn zero
+	set1 28,pdata
+	rtn
+
+g24_interval_calibrate:
+	add regc,offset_24g_pac_index,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	add regc,offset_24g_pac_index,contw
+	istore 1,contw
+	//store 1,mem_24g_pac_index
+	beq 4,g24_interval_max
+	beq 5,g24_interval_min
+	rtn
+g24_interval_max:
+	add regc,offset_24g_interval_max,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_max
+g24_interval_update:	
+	//store 1,mem_24g_interval
+	add regc,offset_24g_interval,contw
+	branch g24_contw_istore_1byte
+
+g24_interval_min:
+	add regc,offset_24g_pac_index,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_pac_index
+	add regc,offset_24g_interval_min,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_min
+	branch g24_interval_update
+
+g24_txdata_prep:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_pairing_sm
+	bpatch patch16_4,mem_patch16
+	call g24_package_data
+	nbranch g24_txdata_last_pac,user
+	call g24_transmit_prep
+	call g24_power_ctrl_pac_incrs
+g24_txdata_enable_tx:
+	//jam ENSURE_ON_24G,mem_24g_ensure
+	setarg ENSURE_ON_24G
+g24_store_mem_ensure:	
+	add regc,offset_24g_ensure,contw
+	branch g24_contw_istore_1byte
+
+g24_txdata_last_pac:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	rtn
+
+g24_package_data:
+	//rega:length,regb:contr
+	add regc,offset_24g_cb_data,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_data
+	call callback_func
+	nrtn user
+	copy rega,pdata
+	store 1,mem_rega
+	add regc,offset_24g_abort_pac,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_abort_pac
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	fetch 1,mem_rega
+	copy pdata,rega
+	add rega,1,temp
+	arg mem_24g_common_temp+1,contw
+	copy rega,loopcnt
+	copy regb,contr
+	call memcpy
+	arg mem_24g_common_temp,rega
+g24_put_data_in_buff:
+	rtnmark0 mark_24g_conext
+	add regc,offset_24g_datalen,contw
+	istoret 1,contw
+	//storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+g24_transmit_prep:
+// total length
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	increase 2,pdata
+	add regc,offset_24g_txlen,contw
+	istore 1,contw
+	//store 1,mem_24g_txlen
+// data type
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_store_mem_txpayload
+	//store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	add regc,offset_24g_pid,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	add regc,offset_24g_no_ack,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	iforce loopcnt
+	add regc,offset_24g_txbuf,contr
+	//arg mem_24g_txbuf,contr
+	branch memcpy
+
+g24_send_abort_packet:
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_power_ctrl_reinit
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	call g24_put_data_in_buff_pre
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch g24_transmit_start
+
+g24_put_data_in_buff_pre:
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	branch g24_put_data_in_buff
+
+g24_enter_lpm:
+	add regc,offset_24g_abort_pac,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_abort_pac
+	branch g24_send_abort_packet,blank
+g24_enter_lpm_prepare:
+ 	// some thing need to do and do not enter 24g long sleep
+	add regc,offset_24g_cb_lpm_prepare,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_lpm_prepare
+	branch callback_func
+
+g24_lpm_long_sleep:
+	call g24_head_ptr2regc
+	//fetch 8,mem_24g_enter_hibernate
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	add regc,offset_24g_cb_lpm_before,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_lpm_before
+	call callback_func
+	add regc,offset_24g_enter_hibernate,temp
+	ifetch 8,temp
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+g24_transmit_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_retry
+g24_transmit_loop:
+	call g24_transmit_receive_ack
+	nbranch g24_retransmit,sync
+	nbranch g24_retransmit,user3
+	call g24_ackpayload_parse
+	call g24_power_ctrl_ack_incrs
+g24_transmit_next_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pid
+	increase 1,pdata
+	call g24_store_mem_pid
+	//store 1,mem_24g_pid
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_paring_mode
+	call g24_transmit_succ_rf_config
+g24_transmit_abandon:
+	setarg 0
+	add regc,offset_24g_txfail_cnt,contw
+	istore 2,contw	//include mem_24g_get_ack_fail
+	//store 1,mem_24g_txfail_cnt
+	//store 1,mem_24g_get_ack_fail
+	//jam ENSURE_OFF_24G,mem_24g_ensure
+	setarg ENSURE_OFF_24G
+	branch g24_store_mem_ensure
+
+	
+g24_transmit_receive_ack:
+	disable user3
+	call g24_transmit
+	call g24_head_ptr2regc
+	add regc,offset_24g_no_ack,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_no_ack
+	beq no_ack_24g,g24_transmit_no_ack	//tx no ack
+	call g24_receive_packet
+	branch g24_end_of_packet
+g24_transmit_no_ack:
+	call g24_end_of_packet
+	branch g24_transmit_next_packet
+
+
+g24_retransmit:
+	bpatch patch16_5,mem_patch16
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	add regc,offset_24g_get_ack_fail,contw
+	istore 1,contw
+	//store 1,mem_24g_get_ack_fail
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_tx_paring_retry
+	add regc,offset_24g_retry,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_retry
+	increase 1,temp
+	add regc,offset_24g_retry,contw
+	istoret 1,contw
+	//storet 1,mem_24g_retry
+	add regc,offset_24g_max_retry,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch g24_transmit_loop,blank
+	bpatch patch16_6,mem_patch16
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_pac_fail_hop_stage3
+	add regc,offset_24g_hop_pac_retry,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	add regc,offset_24g_hop_pac_retry,contw
+	istore 1,contw
+	//store 1,mem_24g_hop_pac_retry
+	beq 2,g24_transmit_hop_pac_fail
+	call g24_hop_ch_enable
+	setarg 1
+	call g24_store_mem_max_retry
+	//jam 1,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_tx_paring_retry:
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	add regc,offset_24g_get_ack_fail,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_get_ack_fail
+	branch g24_stop_24g_mode
+
+g24_tx_attempt_fail:
+	add regc,offset_24g_txfail_cnt,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_txfail_cnt
+g24_stop_24g_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_ackpayload_parse:
+	call g24_read_len_pid_crc
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	add regc,offset_24g_rxbuf_add2,contr
+	//arg mem_24g_rxbuf+2,contr
+	add regc,offset_24g_rxpayload,contw	
+	//arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+
+g24_read_len_pid_crc:
+//read control
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	add regc,offset_24g_rxdata_length,contw
+	istore 1,contw
+	//store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	add regc,offset_24g_rxbuf_add1,contr
+	//arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	add regc,offset_24g_sta_crc,contw
+	istore 3,contw
+	//store 3,mem_24g_sta_crc
+//read pid
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	add regc,offset_24g_sta_pid,contw
+	istore 1,contw
+	//store 1,mem_24g_sta_pid
+	rtn
+
+g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	rtn
+
+g24_set_freq_tx:
+	call set_sync_on
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+g24_transmit:
+	call g24_prep
+	call g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	inject mod,32
+	enable enable_crc
+	add regc,offset_24g_txlen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txlen
+	iforce loopcnt
+	add regc,offset_24g_txpayload,contr
+	//arg mem_24g_txpayload,contr
+g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop g24tr_loop
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	bpatch patch16_7,mem_patch16
+	nop 100
+	disable encode_fec0
+	rtn
+
+g24_receive_packet:
+	disable user3
+	force 0,radio_ctrl
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	call set_freq_rx
+	call rf_rx_enable
+g24_receive_rxon:
+	call g24_prep
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	enable swfine
+	add regc,offset_24g_rx_window,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch g24_sync_timeout,sync
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	add regc,offset_24g_rxbuf,contw
+	istore 1,contw	
+	//store 1,mem_24g_rxbuf	//device id
+	add regc,offset_24g_mode,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_mode
+	beq rx_24g,g24_receive_skip
+	bpatch patch17_0,mem_patch17
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	add regc,offset_24g_data_type,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch g24_end_of_packet,true
+g24_receive_skip:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch g24rx_nopayload,zero
+g24rx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop g24rx_loop
+g24rx_nopayload:
+	parse demod,bucket,24
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch g24_end_of_packet,crc_failed
+	enable user3
+	disable decode_fec0
+	rtn
+//	branch rssi_signal
+
+g24_end_of_packet:
+	disable encode_fec0
+	disable decode_fec0
+	disable enable_crc
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+
+g24_sync_timeout:
+	call rssi_noise
+	branch g24_end_of_packet
+
+rssi_noise:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_noise_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_index
+	arg mem_rssi_noise_buffer,rega
+	//arg mem_rssi_noise_buf,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_index,contw
+	//storet 1,mem_rssi_noise_index
+g24_contw_istoret_1byte:	
+	istoret 1,contw
+	rtn
+
+rssi_noise_store:
+	arg RSSI_BUF_LEN_NOISE,regb
+	branch rssi_store
+	
+/*	
+rssi_signal:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_signal_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_signal_index
+	add regc,offset_rssi_signal_buf,rega
+	//arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL,regb
+	call rssi_store
+	add regc,offset_rssi_signal_index,contw
+	istoret 1,contw	
+	//storet 1,mem_rssi_signal_index
+	rtn
+*/	
+rssi_store:	
+	copy rega,pdata
+	iadd temp,contw
+	fetch 1,mem_rssi
+	istore 1,contw
+	increase 1,temp
+	copy regb,pdata
+	iand_into temp
+	rtn
+	
+rssi_average:
+	arg 0,temp
+	copy rega,contr
+rssi_average_loop:	
+	ifetch 1,contr
+	iadd temp,temp
+	loop rssi_average_loop
+	rshift8 temp,temp
+	rtn
+
+g24_power_ctrl_init:
+	call g24_head_ptr2regc
+	call g24_power_ctrl_incrs_level1
+	setarg 1
+	call g24_store_mem_power_ctrl_level
+	//jam 1,mem_power_ctrl_level
+g24_power_ctrl_reinit:
+	setarg 0
+	call g24_store_mem_power_ctrl_pac
+	//jam 0,mem_power_ctrl_packet_cnt
+	istore 1,contw
+	//jam 0,mem_power_ctrl_ack_cnt
+	rtn
+
+g24_power_ctrl_pac_incrs:
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	increase 1,pdata
+g24_store_mem_power_ctrl_pac:	
+	//store 1,mem_power_ctrl_packet_cnt
+	add regc,offset_power_ctrl_packet_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl_ack_incrs:
+	//fetch 1,mem_power_ctrl_ack_cnt
+	//store 1,mem_power_ctrl_ack_cnt
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetch 1,rega
+	increase 1,pdata
+	add regc,offset_power_ctrl_ack_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl:
+	bpatch patch17_1,mem_patch17
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	sub pdata,POWER_CTRL_MAX_PACKET_CNT,null
+	rtn positive
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_power_ctrl_ack_cnt
+	isub temp,temp	//loss packet cnt
+	call g24_power_ctrl_reinit
+	setarg offset_power_ctrl_threshold_up
+	iadd regc,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_threshold_up
+	isub temp,null
+	nbranch g24_power_ctrl_incrs,positive
+	setarg offset_power_ctrl_threshold_down
+	iadd regc,rega
+	ifetch 1,rega	
+	//fetch 1,mem_power_ctrl_threshold_down
+	isub temp,null
+	branch g24_power_ctrl_decrs,positive
+	rtn
+
+g24_power_ctrl_incrs:	
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 2,g24_power_ctrl_incrs_level2
+	increase 1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 1,g24_power_ctrl_incrs_level1
+g24_power_ctrl_incrs_level2:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP2
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP2,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN2
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN2,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN2,mem_rssi_ctrl_threshold_down
+	add regc,offset_power_ctrl_txpwr_level2,rega
+	//fetch 1,mem_power_ctrl_txpwr_level2
+	branch g24_ifetch_rega_store_mem_txpower
+
+g24_power_ctrl_decrs:
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+	increase -1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+g24_power_ctrl_decrs_level1:
+//	call rssi_check_distance
+//	nrtn user
+g24_power_ctrl_incrs_level1:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP1
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP1,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN1
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN1,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN1,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level1
+g24_iadd_offset_mem_txpower:	
+	iadd regc,rega
+g24_ifetch_rega_store_mem_txpower:	
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_txpwr_level1
+	branch g24_store_mem_txpower
+	
+g24_power_ctrl_decrs_level0:
+//	call rssi_check_distance
+//	nrtn user
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP0
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP0,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN0
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN0,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN0,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level0
+	//fetch 1,mem_power_ctrl_txpwr_level0
+	branch g24_iadd_offset_mem_txpower
+
+/*
+rssi_check_distance:
+	disable user
+	arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+	call rssi_average
+	storet 1,mem_rssi_signal_avg
+	fetch 1,mem_rssi_ctrl_threshold_down
+	isub temp,null
+	branch enable_user,positive
+	rtn
+*/
+g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call g24_pair_init
+g24_set_pairing_sm_1:
+	//jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	setarg STATE_24G_PAIRING_1
+	branch g24_store_mem_pairing_sm
+
+g24_pairing_sm:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,g24_pairing_sm_3
+	branch assert
+
+g24_pairing_sm_1:
+	setarg STATE_24G_PAIRING_1_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_2:
+	setarg STATE_24G_PAIRING_2_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_3:
+	setarg STATE_24G_PAIRING_3_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+g24_pairing_sm_common:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call g24_put_data_in_buff	
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch enable_user
+
+g24_paring_mode:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,g24_pairing_sm_3_waiting_ack
+	rtn
+
+g24_pairing_sm_1_waiting_ack:
+	setarg STATE_24G_PAIRING_2
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_2_waiting_ack:
+	setarg STATE_24G_PAIRING_3
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_3_waiting_ack:
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_rxpayload+2
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_transmit_abandon
+
+g24_auto_pair_start:
+	set0 mark_24g,mark
+	call g24_auto_pair_set_device_info
+	call g24_tx_attemp_data_prep
+g24_auto_pair_restart:	
+	call g24_set0_mem_check_dongle_times
+g24_auto_pair_start_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_auto_pair_retry,sync
+	nbranch g24_auto_pair_retry,user3
+	call g24_ackpayload_parse
+	call g24_head_ptr2regc
+	add regc,offset_24g_paring_addr,rega
+	ifetcht 4,rega
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_start_pairing_sm1,zero
+	call g24_head_ptr2regc
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	beq 0,g24_auto_pair_restart
+	call g24_store_mem_addr
+	branch g24_tx_attemp_dongle_succ
+
+g24_auto_pair_retry:
+	call g24_fetch_mem_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+
+	call g24_fetch_mem_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_auto_paring_switch
+	beq 0,g24_auto_pair_device_attemp
+	beq 1,g24_auto_pair_pair_attemp
+	rtn
+
+g24_fetch_mem_auto_paring_switch:
+	setarg offset_24g_auto_pair_switch
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_auto_paring_switch:
+	arg offset_24g_auto_pair_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_auto_pair_set_device_info:
+	call g24_store_mem_tx_power
+	call g24_fetch_mem_device_addr
+	call g24_store_mem_addr
+	branch g24_ch
+
+g24_auto_pair_device_attemp:
+	call g24_auto_pair_set_device_info
+	branch g24_auto_pair_start_loop
+
+g24_auto_pair_pair_attemp:
+	call g24_pair_init
+	branch g24_auto_pair_start_loop
+
+
+g24_start_24g_mode:
+	set0 mark_24g,mark
+	call g24_ch
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_tx_attemp_data_prep
+	call g24_set0_mem_check_dongle_times
+	//jam 0,mem_24g_check_dongle_times
+g24_tx_attemp_dongle_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_attemp_txdata_retry,sync
+	nbranch g24_attemp_txdata_retry,user3
+g24_tx_attemp_dongle_succ:	
+	set1 mark_24g,mark
+	call g24_set0_mem_check_dongle_times
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam 0,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_tx_attemp_data_prep:
+	set1 mark_24g_conext,mark
+	jam 0xff,mem_24g_common_temp
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_put_data_in_buff_pre
+	branch g24_transmit_prep
+	
+g24_attemp_txdata_retry:
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+	//store 1,mem_24g_check_dongle_times
+	call g24_ch
+	branch g24_tx_attemp_dongle_loop
+
+g24_check_51cmd_start_24g:
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch g24_start_24g_mode
+/*	
+g24_check_51cmd_stop_24g:
+	call g24_store_mem_tx_power
+	set0 mark_24g,mark
+	branch le_disable
+*/
+
+
+dongle_init:
+	bpatch patch17_2,mem_patch17
+	call g24_head_ptr2regc
+	setarg dongle_rxdata_type1
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+	//store 2,mem_24g_cb_rxdata_type1
+	call g24_receive_init
+	call usb_init
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	bpatch patch17_3,mem_patch17
+	beq 0x00,dongle_auto_bind
+	beq 0x01,dongle_pc_bind
+	beq 0x0f,dongle_all_powerful
+	branch assert
+
+g24_receive_init:
+	call g24_store_mem_tx_power_temp
+	arg 0x80,loopcnt
+	arg mem_rssi_noise_buffer,contw
+	branch memset0
+
+dongle_all_powerful:
+	call dongle_check_mode
+dongle_all_powerful_loop:
+	call g24_dongle_work_mode
+	call usb_isr
+	branch dongle_all_powerful_loop
+
+dongle_pc_bind:
+	bpatch patch17_4,mem_patch17
+	call dongle_check_mode
+dongle_pc_bind_loop:	
+	call g24_dongle_work_mode
+	call g24_dongle_bind_mode
+	call usb_isr
+	call dongle_usb_dispatch
+	branch dongle_pc_bind_loop
+
+dongle_check_mode:
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//jam 0,mem_24g_ackpayload_enable
+	call g24_set_work_mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	branch g24_set0_mem_ackpayload_enable
+	
+g24_dongle_work_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+g24_dongle_work_mode_start:
+	call g24_dongle_work_init
+	call g24_ch_process
+	call g24_receive_packet_start
+	branch g24_blank_data_process
+
+g24_dongle_work_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_WORK
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	call g24_set0_mem_ackpayload_enable
+	//jam 0,mem_24g_ackpayload_enable
+	jam 0,mem_usb_tx_enable
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_dongle_init
+g24_rx_interrupt_clear:
+	add regc,offset_24g_rxbuf,contw
+	//arg mem_24g_rxbuf,contw
+	arg 66,loopcnt
+	branch clear_mem
+
+g24_dongle_init:
+	call g24_set0_mem_pid
+	//jam 0,mem_24g_pid
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_ch
+
+g24_ch_process:
+	bpatch patch17_5,mem_patch17
+	call g24_fetch_mem_abort_pac
+	//fetch 1,mem_24g_abort_pac
+	beq 1,g24_noise_rssi
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	beq 1,g24_ch	
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetcht 4,rega
+	//fetcht 4,mem_24g_hop_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetch 4,rega
+	copy pdata,temp
+	//fetch 4,mem_24g_hop_btclk
+	setarg offset_24g_hop_interval
+	iadd regc,rega
+	copy temp,pdata
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_hop_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	setarg offset_24g_hop_btclk
+	iadd regc,contw
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+g24_ch_update:
+	call g24_ch
+	call g24_fetch_mem_rf_laststa
+	//fetch 1,mem_24g_rf_laststa
+	increase 1,pdata
+	call g24_store_mem_rf_laststa
+	//store 1,mem_24g_rf_laststa
+	rtnne 2
+	call g24_set0_mem_rf_laststa
+	//jam 0,mem_24g_rf_laststa
+	//jam 1,mem_24g_abort_pac
+	//rtn
+	branch g24_set1_mem_abort_pac
+	
+g24_ch_timer_reinit:
+	copy clkn_bt,pdata
+	arg offset_24g_hop_btclk,rega
+	call g24_set_contw_with_temp
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+	//jam 0,mem_24g_rf_laststa
+	//rtn
+	branch g24_set0_mem_rf_laststa
+
+g24_noise_rssi:
+	arg mem_rssi_noise_buffer,rega
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive	
+	branch g24_ch
+
+g24_noise_rssi_average:
+	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+	branch rssi_average
+
+g24_blank_data_process:
+	call g24_ms_blank_data
+	call g24_kb_blank_data
+	branch g24_kb_mul_blank_data
+
+g24_ms_blank_data:
+	setarg offset_24g_ms_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_blank_data_enable
+	rtn blank
+	arg TIMER_MS_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+g24_ms_blank_data_2usb:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data
+	setarg 0
+	istore 7,contw
+	branch g24_data_type1_usbtx_enable
+
+g24_kb_blank_data:
+	setarg offset_24g_kb_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_blank_data_enable
+	rtn blank
+	arg TIMER_KB_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+g24_kb_blank_data_2usb:	
+	arg mem_usb_kb_data,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_NORMAL_REPORT_ID,mem_usb_kb_data
+	branch g24_kb_data_into_ep1_fifo
+
+g24_kb_mul_blank_data:
+	setarg offset_24g_kb_mul_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_mul_blank_data_enable
+	rtn blank
+	arg TIMER_KB_MUL_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_blank_data_2usb:
+	arg mem_usb_kb_multikey,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_MULTIKEY_REPORT_ID,mem_usb_kb_multikey
+	branch g24_kb_mul_data_into_ep2_fifo
+
+g24_dongle_bind_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	branch g24_dongle_bind_data_process
+
+g24_dongle_bind_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_BIND
+	set1 DONGLE_BIND,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	call g24_pair_init
+	setarg 0
+	arg offset_dongle_ms_bind_step,rega
+	call g24_set_contw_with_temp
+	//store 3,mem_dongle_ms_bind_step
+	branch g24_contw_istore_3byte
+
+g24_dongle_bind_data_process:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3	
+	add regc,offset_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	arg 8,loopcnt
+	call memcpy
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	beq DATATYPE_BIND,g24_dongle_bind_first_step	//bind step 1
+	beq DATATYPE_CONFIG,g24_dongle_bind_second_step
+	beq DATATYPE_OK,g24_dongle_bind_third_step
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_first_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_first_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_first_step_keyboard
+	rtn
+g24_dongle_bind_first_step_mouse:
+	setarg 1
+	call g24_store_mem_ms_bind_step
+	//jam 1,mem_dongle_ms_bind_step
+g24_dongle_bind_ms_payload_cfg:
+	setarg DATATYPE_MOUSE
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_MOUSE,mem_24g_bind_payload
+g24_dongle_bind_payload_cfg:	
+	setarg 0x80
+	arg offset_24g_bind_payload_add1,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 0x80,mem_24g_bind_payload+1
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	arg offset_24g_bind_payload_add2,rega
+	call g24_set_contw_with_temp
+	//store 4,mem_24g_bind_payload+2
+	branch g24_contw_istore_4byte
+
+g24_dongle_bind_first_step_keyboard:
+	setarg 1
+	call g24_store_mem_kb_bind_step
+	//jam 1,mem_dongle_kb_bind_step
+g24_dongle_bind_kb_payload_cfg:
+	setarg DATATYPE_KEYBOARD
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_KEYBOARD,mem_24g_bind_payload
+	branch g24_dongle_bind_payload_cfg
+		
+g24_dongle_bind_second_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_second_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_second_step_keyboard
+	rtn
+g24_dongle_bind_second_step_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 1,g24_dongle_ms_bind_step_set2
+	rtn
+g24_dongle_ms_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_ms_bind_step
+g24_store_mem_ms_bind_step:
+	arg offset_dongle_ms_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_dongle_bind_second_step_keyboard:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	beq 1,g24_dongle_kb_bind_step_set2
+	rtn
+g24_dongle_kb_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_kb_bind_step
+g24_store_mem_kb_bind_step:
+	arg offset_dongle_kb_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_dongle_bind_third_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_third_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_third_step_keyboard
+	rtn
+g24_dongle_bind_third_step_mouse:
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 2,g24_dongle_ms_bind_step_success
+	rtn
+g24_dongle_ms_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x01,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+g24_dongle_bind_exit:	
+	setarg 0
+	setarg offset_dongle_ms_bind_step
+	iadd regc,contw
+	istore 2,contw
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_third_step_keyboard:
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	bne 0,g24_dongle_kb_bind_step_success
+	rtn
+g24_dongle_kb_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x02,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+	branch g24_dongle_bind_exit
+
+	
+dongle_usb_dispatch:
+	fetch 1,mem_usb0_get_set_report
+	rtn blank
+	jam 0,mem_usb0_get_set_report
+	fetch 2,mem_usb_setup_bValue_temp
+	arg PC_SET_REPORT,temp
+	isub temp,null
+	nrtn zero
+	//get usb host command
+	fetch 1,mem_usb0_set_report_data
+	rtnne PC_REPORT_ID
+	fetch 1,mem_usb0_set_report_data+1
+	bpatch patch17_6,mem_patch17
+	beq COMMAND_MODE,dongle_dispose_cmd_mode
+	beq COMMAND_BIND,dongle_dispose_cmd_bind
+	beq COMMAND_CURRENT_PROJECT,dongle_dispose_cmd_current_project
+	beq COMMAND_CURRENT_MODE,dongle_dispose_cmd_current_mode
+	beq COMMAND_CURRENT_FW_VERSION,dongle_dispose_cmd_current_fw_version
+	beq COMMAND_USER_DEFINED,dongle_dispose_cmd_user_defined
+usb0_data_ready_report_set0:
+	jam 0,mem_usb0_data_ready_report
+	rtn
+dongle_dispose_cmd_bind:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_BIND_GET,dongle_dispose_cmd_get_bind
+	beq COM_BIND_EXIT,dongle_dispose_cmd_exit_bind
+	beq COM_READ_MODE,dongle_dispose_cmd_read_mode
+	branch usb0_data_ready_report_set0
+dongle_dispose_cmd_get_bind:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+dongle_dispose_cmd_exit_bind:
+	call g24_set_work_mem_dongle_work_mode
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_read_mode:
+dongle_dispose_in_bind_mode:
+	jam COMMAND_BIND,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_mode:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_MODE_BIND,dongle_enter_bind_mode
+//	beq COM_MODE_TEST,dongle_enter_test_mode
+	branch usb0_data_ready_report_set0
+dongle_enter_bind_mode:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_bind_mode_enable
+usb0_data_ready_report_set1:
+	jam 1,mem_usb0_data_ready_report
+	rtn
+//dongle_enter_test_mode:
+//	jam DONGLE_TEST,mem_dongle_work_mode
+//	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_project:
+	jam PRODUCT_ID,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	beq DONGLE_WORK,dongle_dispose_in_work_mode
+	beq DONGLE_BIND,dongle_dispose_in_bind_mode
+//	beq DONGLE_TEST,dongle_dispose_in_test_mode
+	rtn
+dongle_dispose_in_work_mode:
+	jam COMMAND_MODE,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+//dongle_dispose_in_test_mode:
+//	jam COMMAND_TEST,mem_usb0_get_report_data+1
+//	branch usb0_data_ready_report_set1
+	
+dongle_dispose_cmd_current_fw_version:
+	jam FW_VERSION0,mem_usb0_get_report_data+1
+	jam FW_VERSION1,mem_usb0_get_report_data+2
+	jam FW_VERSION2,mem_usb0_get_report_data+3
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_user_defined:
+	//report_id|cmd|data_len|data
+	call g24_set1_mem_ackpayload_enable
+	fetch 1,mem_usb0_set_report_data+2	//data_len:max 30bytes
+	increase 2,pdata
+	copy pdata,loopcnt
+	arg mem_usb0_set_report_data,contr
+	setarg offset_24g_ackpayload
+	iadd regc,contw
+	branch memcpy
+
+
+dongle_auto_bind:
+	bpatch patch17_7,mem_patch17
+	call g24_mode_switch_init
+dongle_auto_bind_loop:
+	call g24_receive_process
+	call usb_isr
+	branch dongle_auto_bind_loop
+
+g24_dongle_work_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+	call g24_dongle_work_mode_start
+	branch g24_rx_nodata_process
+
+g24_dongle_bind_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	call g24_dongle_bind_data_process
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	rtn blank
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call dongle_check_mode
+	call g24_enable_nodata_timer
+g24_timer_init:
+	setarg 0
+	add regc,offset_24g_tx_btclk,contw
+	//store 4,mem_24g_tx_btclk
+	branch g24_contw_istore_4byte
+
+g24_timer_check:
+	call disable_user
+	add regc,offset_24g_tx_btclk,rega
+	ifetcht 4,rega	
+	//fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	add regc,offset_24g_tx_btclk,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_tx_btclk
+	add regc,offset_24g_interval,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	add regc,offset_24g_tx_btclk,contw
+	istore 4,contw
+	//store 4,mem_24g_tx_btclk
+	branch enable_user
+
+g24_mode_switch_init:
+	setarg 1
+	call g24_store_mem_mode_switch
+	//jam 1,mem_24g_mode_switch
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	setarg 0xff
+	add regc,offset_24g_interval,contw
+	istore 1,contw
+	//jam 0xff,mem_24g_interval
+	branch g24_timer_init
+
+g24_mode_switch:
+	setarg offset_24g_mode_switch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_mode_switch
+	rtn blank
+	call g24_timer_check
+	nrtn user
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	beq 0,dongle_check_mode
+	beq 1,g24_bind_mode_enable
+	rtn
+
+g24_bind_mode_enable:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//rtn
+	setarg DONGLE_BIND
+	call g24_store_mem_dongle_work_mode
+	branch g24_set0_mem_dongle_mode_init
+
+g24_enable_nodata_timer:
+	setarg 1
+	call g24_store_mem_nodata_timer_enable
+	//jam 1,mem_24g_nodata_timer_enable
+g24_enable_nodata_timer_init:
+	setarg TIMER_NODATA_DELAY
+	arg TIMER_NODATA,queue
+	branch timer_init
+
+g24_rx_nodata_process:
+	call g24_fetch_mem_nodata_timer_enable
+	//fetch 1,mem_24g_nodata_timer_enable
+	rtn blank
+	arg TIMER_NODATA,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_nodata_timer_enable
+	//jam 0,mem_24g_nodata_timer_enable
+	//no data for more than 100ms,then go to search
+	setarg DONGLE_SEARCH
+	call g24_store_mem_dongle_work_mode	
+	//jam DONGLE_SEARCH,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	branch g24_rx_interrupt_clear
+
+g24_dongle_search_mode_auto:
+	bpatch patch18_0,mem_patch18
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_SEARCH
+	call g24_dongle_search_mode_init
+	call g24_rx_auto_addr_ch_search
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	//dongle addr,then parse rxdata
+	call g24_dongle_search_addr_check
+	call g24_receive_packet_parse,zero
+	//receive data,then go to paired
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam 0,mem_24g_ackpayload_enable
+	call dongle_check_mode
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_rx_interrupt_clear
+	call g24_enable_nodata_timer
+	call g24_dongle_search_addr_check
+	branch g24_dg_ch_num_reinit,zero
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_kb_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_kb_ch_num_reinit,zero		
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_mouse_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_ms_ch_num_reinit,zero
+	rtn
+
+g24_dongle_search_addr_check:
+	setarg offset_24g_rx_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_rx_addr
+g24_fetch_mem_addr_isub_temp:
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	isub temp,null
+	rtn
+
+g24_dg_ch_num_reinit:
+	setarg offset_24g_dg_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_ch_number
+g24_current_ch_num_reinit:
+	//store 1,mem_24g_current_ch_number
+	add regc,offset_24g_current_ch_number,contw
+	branch g24_contw_istore_1byte
+
+g24_kb_ch_num_reinit:
+	setarg offset_24g_kb_ch_number
+	call g24_set_rega_ifetch_1byte	
+	//fetch 1,mem_24g_kb_ch_number
+	branch g24_current_ch_num_reinit
+g24_ms_ch_num_reinit:
+	setarg offset_24g_ms_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_ch_number
+	branch g24_current_ch_num_reinit
+
+g24_dongle_search_mode_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_SEARCH
+	set1 DONGLE_SEARCH,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	setarg 0
+	add regc,offset_rssi_noise_dg_index,contw
+	istore 3,contw
+	//store 3,mem_rssi_noise_dg_index
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_temp
+	istore 7,contw
+	//store 7,mem_24g_dg_config_ch_once
+
+	call g24_dongle_search_addr_check
+	nrtn zero
+	add regc,offset_24g_current_ch_number,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_current_ch_number
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb_store_1byte
+	//store 1,mem_24g_dg_ch_number
+	add regc,offset_24g_ch,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ch
+	//store 1,mem_24g_dg_last_ch
+	branch g24_store_mem_dg_last_ch
+
+g24_rx_auto_addr_ch_search:
+	bpatch patch18_1,mem_patch18
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 3,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	//pairing address and channel come first
+	beq 0,g24_rx_auto_bind_config_kb
+	beq 1,g24_rx_auto_bind_config_dongle
+	beq 2,g24_rx_auto_bind_config_mouse
+	beq 3,g24_rx_auto_bind_config_dongle
+	rtn
+
+g24_rx_auto_bind_config_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_mouse_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_ms_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_config_ch_once
+	call g24_ms_config_ch_once,blank
+	setarg offset_24g_ms_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_ms_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_ms_index
+	arg mem_rssi_noise_ms_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_ms_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_ms_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_ms_ch_number	
+	call g24_set_rega_ifetcht_1byte
+	//fetcht 1,mem_24g_ms_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_ms_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_ms_ch_number
+g24_store_mem_ms_last_ch:
+	//store 1,mem_24g_ms_last_ch
+	arg offset_24g_ms_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_ms_config_ch_once:
+	setarg 1
+	arg offset_24g_ms_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_ms_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_ms_last_ch
+	//rtn
+	branch g24_store_mem_ms_last_ch
+	
+g24_rx_auto_bind_config_kb:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_kb_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_kb_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_config_ch_once
+	call g24_kb_config_ch_once,blank
+	setarg offset_24g_kb_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_kb_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_kb_index
+	arg mem_rssi_noise_kb_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_kb_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_kb_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_kb_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_kb_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_kb_ch_number,rega
+	call g24_set_contw_with_regb2	
+	istoret 1,contw
+	//storet 1,mem_24g_kb_ch_number
+g24_store_mem_kb_last_ch:
+	//store 1,mem_24g_kb_last_ch
+	arg offset_24g_kb_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_kb_config_ch_once:
+	setarg 1
+	arg offset_24g_kb_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_kb_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_kb_last_ch
+	//rtn
+	branch g24_store_mem_kb_last_ch
+
+g24_rx_auto_bind_config_dongle:
+	call g24_dongle_bind_ms_payload_cfg
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_dg_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_config_ch_once
+	call g24_dg_config_ch_once,blank
+	call g24_dg_store_config_ch
+	add regc,offset_rssi_noise_dg_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_dg_index
+	arg mem_rssi_noise_dg_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_dg_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_dg_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_dg_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_dg_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_dg_ch_number
+g24_store_mem_dg_last_ch:
+	//store 1,mem_24g_dg_last_ch
+	//rtn
+	arg offset_24g_dg_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+
+g24_dg_config_ch_once:
+	//jam 1,mem_24g_dg_config_ch_once
+	//fetch 1,mem_24g_dg_last_ch
+	//store 1,mem_24g_ch
+	//rtn
+	setarg 1
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+g24_dg_store_config_ch:
+	setarg offset_24g_dg_last_ch
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_ch
+
+
+g24_transmit_ack:
+//data type
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+//read len pid crc
+	call g24_read_len_pid_crc
+//read ack
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	isolate1 bit_ack_24g,pdata
+	branch g24tx_no_ack,true
+g24tx_with_ack:
+	call g24_ackpayload_prep
+	call g24_transmit_prep
+	call g24_transmit
+g24tx_no_ack:
+	branch g24_end_of_packet
+
+g24_ackpayload_prep:
+	bpatch patch18_2,mem_patch18
+	add regc,offset_24g_datalen,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_datalen
+	setarg offset_24g_ackpayload_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ackpayload_enable
+	rtn blank
+	setarg 0x06
+	add regc,offset_24g_datalen,contw
+	istore 1,contw
+	//jam 0x06,mem_24g_datalen
+	arg 0x06,loopcnt
+	setarg offset_24g_bind_payload
+	iadd regc,contr
+	//arg mem_24g_bind_payload,contr
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	branch memcpy
+
+
+g24_receive_packet_start:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	branch g24_receive_packet_parse
+
+g24_receive_transmit_ack:
+	call g24_rx_interrupt_clear
+	call g24_receive_packet
+	nrtn user3
+	branch g24_transmit_ack
+
+g24_receive_packet_parse:
+	bpatch patch18_3,mem_patch18
+	call g24_receive_packet_parse_pid_crc
+	nbranch g24_rx_interrupt_clear,user
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length
+	branch g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	add regc,offset_24g_rxbuf,contr
+	//arg mem_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	//arg mem_24g_rxdata_temp,contw
+	call memcpy
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	call g24_enable_nodata_timer,blank
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_rxdata_temp+2
+	beq 0x01,g24_data_type1
+	beq 0x02,g24_data_type2
+	beq 0x03,g24_data_type3
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_receive_packet_parse_pid_crc:
+	call g24_head_ptr2regc
+	call disable_user
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega		
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,rega
+	ifetcht 1,rega		
+	//fetcht 1,mem_24g_last_pid
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,contw
+	istore 1,contw	
+	//store 1,mem_24g_last_pid
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega	
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,rega
+	ifetcht 3,rega	
+	//fetcht 3,mem_24g_last_crc
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,contw
+	//store 3,mem_24g_last_crc
+	branch g24_contw_istore_3byte
+
+g24_data_type1:
+	call g24_ch_timer_reinit
+	call g24_fetch_mem_abort_pac
+	store 1,mem_temp
+	//fetch 1,mem_24g_abort_pac
+	call g24_fetcht_mem_rxdata_temp
+	fetch 1,mem_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	add regc,offset_24g_abort_pac,contw
+	istore 1,contw
+	//store 1,mem_24g_abort_pac
+	beq 1,g24_data_attemp_mouse
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_hop,temp
+	setflag true,0,pdata
+	call g24_store_mem_hop_pac
+	//store 1,mem_24g_hop_pac
+	add regc,offset_24g_cb_rxdata_type1,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_rxdata_type1
+	branch callback_func
+
+dongle_rxdata_type1:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	istore 7,contw
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	ncall g24_ms_enable_blank_data_forcibly,blank//get kb data
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	call g24_ms_disable_blank_data_forcibly,blank
+g24_data_type1_usbtx_enable:
+	jam USB_EP2_MS,mem_usb_ep2_data
+g24_data_type1_usbtx_enable_ep2:	
+	fetch 1,mem_usb_tx_enable
+	set1 2,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+	
+g24_ms_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_ms_blank_data_enable	
+	//jam 1,mem_24g_ms_blank_data_enable
+g24_ms_enable_blank_data_timer:
+	setarg TIMER_MS_BLANK_DELAY
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+g24_ms_disable_blank_data_forcibly:
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+g24_ms_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+	
+g24_data_type2:
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	branch g24_data_attemp_kbd,true
+	arg mem_usb_kb_data,contw
+	call g24_data_type2_reverse_data
+	fetch 8,mem_usb_kb_data
+	ncall g24_kb_enable_blank_data_forcibly,blank//get kb data
+	fetch 8,mem_usb_kb_data
+	call g24_kb_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 8,mem_usb_kb_data
+	arg offset_24g_kb_data_sta_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_sta_data
+	setarg offset_24g_kb_data_last_data
+	iadd regc,rega
+	ifetcht 8,rega
+	//fetcht 8,mem_24g_kb_data_last_data
+	isub temp,null
+	ncall g24_kb_data_dispose,zero
+	setarg offset_24g_kb_data_sta_data
+	iadd regc,rega
+	ifetch 8,rega
+	//fetch 8,mem_24g_kb_data_sta_data
+	arg offset_24g_kb_data_last_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_last_data
+	branch g24_rx_interrupt_clear
+
+g24_data_type2_reverse_data:
+	setarg offset_24g_rxdata_temp_add2
+	iadd regc,contr
+	//arg mem_24g_rxdata_temp+2,contr
+	arg 9,loopcnt
+	branch reverse_byte
+
+g24_kb_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_blank_data_enable
+	//jam 1,mem_24g_kb_blank_data_enable
+g24_kb_enable_blank_data_timer:	
+	setarg TIMER_KB_BLANK_DELAY
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+g24_kb_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_data_dispose:
+g24_kb_data_into_ep1_fifo:
+	jam USB_EP1_KB,mem_usb_ep1_data
+	fetch 1,mem_usb_tx_enable
+	set1 1,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+
+g24_data_type3:
+	arg mem_usb_kb_multikey,contw
+	call g24_data_type2_reverse_data
+	fetch 2,mem_usb_kb_multikey+1
+	ncall g24_kb_mul_enable_blank_data_forcibly,blank//get multikey data
+	fetch 2,mem_usb_kb_multikey+1
+	call g24_kb_mul_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 3,mem_usb_kb_multikey
+	arg offset_24g_kb_multikey_sta_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_sta_data
+	setarg offset_24g_kb_multikey_last_data
+	iadd regc,rega
+	ifetcht 3,rega
+	//fetcht 3,mem_24g_kb_multikey_last_data
+	isub temp,null
+	ncall g24_kb_mul_data_into_ep2_fifo,zero
+	setarg offset_24g_kb_multikey_sta_data
+	iadd regc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_kb_multikey_sta_data
+	arg offset_24g_kb_multikey_last_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_last_data
+	branch g24_rx_interrupt_clear
+
+g24_kb_mul_data_into_ep2_fifo:
+	jam USB_EP2_MULTIKEY,mem_usb_ep2_data
+	branch g24_data_type1_usbtx_enable_ep2
+
+g24_kb_mul_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_mul_blank_data_enable
+	//jam 1,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_enable_blank_data_timer:	
+	setarg TIMER_KB_MUL_BLANK_DELAY
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+
+g24_kb_mul_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+	
+g24_data_attemp:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	//fetch 1,mem_24g_rxdata_temp+3
+	beq DATATYPE_MOUSE,g24_data_attemp_mouse
+	beq DATATYPE_KEYBOARD,g24_data_attemp_kbd
+	rtn
+g24_data_attemp_mouse:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_mouse_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_mouse_addr
+	branch g24_contw_istore_4byte
+
+g24_data_attemp_kbd:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_kb_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_kb_addr
+	branch g24_contw_istore_4byte
+
+g24_store_mem_24g_mode:
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,contw
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,contw
+	branch g24_contw_istore_4byte
+
+g24_fetch_mem_addr:
+	add regc,offset_24g_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_addr:
+	add regc,offset_24g_addr,contw
+g24_contw_istore_4byte:	
+	istore 4,contw
+	rtn
+
+g24_store_mem_ch:
+	add regc,offset_24g_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_set0_mem_pid:
+	setarg 0
+g24_store_mem_pid:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_txpayload:
+	add regc,offset_24g_txpayload,contw
+	branch g24_contw_istore_1byte
+
+g24_set4_mem_max_retry:
+	setarg 4
+g24_store_mem_max_retry:
+	add regc,offset_24g_max_retry,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_data_type:
+	add regc,offset_24g_data_type,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_data_type:
+	add regc,offset_24g_data_type,contw
+	branch g24_contw_istore_1byte
+
+g24_set2_mem_sync_cnt:
+	setarg 2
+g24_store_mem_sync_cnt:
+	add regc,offset_24g_sync_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_set1_mem_rf_last_sta:
+	setarg 1
+g24_store_mem_rf_last_sta:
+	call g24_head_ptr2regc
+	add regc,offset_24g_rf_last_sta,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_hop_pac:
+	setarg 1
+g24_store_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_abort_pac:
+	setarg 1
+g24_store_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_pairing_sm:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pairing_sm,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_pairing_sm:
+	add regc,offset_24g_pairing_sm,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_rf_hop_ch:
+	setarg 0
+g24_store_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,rega
+	branch g24_rega_ifetch_1byte
+	
+g24_fetch_mem_rxbuf_add1:
+	add regc,offset_24g_rxbuf_add1,rega
+	branch g24_rega_ifetch_1byte
+
+g24_fetch_mem_check_dongle_times:
+	add regc,offset_24g_check_dongle_times,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_check_dongle_times:
+	setarg 0
+g24_store_mem_check_dongle_times:
+	call g24_head_ptr2regc
+	add regc,offset_24g_check_dongle_times,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_tx_power:
+	call g24_head_ptr2regc
+	add regc,offset_tx_power_temp,rega
+	ifetch 1,rega
+g24_store_mem_txpower:
+	store 1,mem_tx_power
+	rtn
+
+g24_store_mem_tx_power_temp:
+	call g24_head_ptr2regc
+	fetch 1,mem_tx_power
+	//store 1,mem_tx_power_temp
+	add regc,offset_tx_power_temp,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_power_ctrl_pac:	
+	add regc,offset_power_ctrl_packet_cnt,rega
+	branch g24_rega_ifetch_1byte
+
+g24_store_mem_power_ctrl_level:
+	add regc,offset_power_ctrl_level,contw
+	branch g24_contw_istore_1byte
+
+g24_fetcht_mem_rxdata_temp:
+	setarg offset_24g_rxdata_temp
+g24_set_rega_ifetcht_1byte:	
+	iadd regc,rega
+	ifetcht 1,rega
+	rtn
+
+g24_fetch_mem_rf_laststa:
+	setarg offset_24g_rf_laststa
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_rf_laststa:
+	setarg 0
+g24_store_mem_rf_laststa:
+	arg offset_24g_rf_laststa,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_rx_addr:
+	setarg offset_24g_rx_addr
+g24_set_rega_ifetch_4byte:	
+	call g24_set_rega
+g24_rega_ifetch_4byte:
+	ifetch 4,rega
+	rtn
+
+g24_fetch_mem_time_slice:
+	setarg offset_24g_time_slice
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_time_slice:
+	setarg 0
+g24_store_mem_time_slice:
+	arg offset_24g_time_slice,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_mode_switch:
+	setarg 0
+g24_store_mem_mode_switch:
+	arg offset_24g_mode_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_bind_payload:
+	arg offset_24g_bind_payload,rega
+	branch g24_set_contw_with_regb_store_1byte	
+	
+g24_fetch_mem_bind_device_status:
+	setarg offset_dongle_bind_device_status
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_bind_device_status:
+	arg offset_dongle_bind_device_status,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_work_mode:
+	setarg offset_dongle_work_mode
+	branch g24_set_rega_ifetch_1byte
+g24_set_work_mem_dongle_work_mode:
+	setarg DONGLE_WORK
+g24_store_mem_dongle_work_mode:
+	arg offset_dongle_work_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_mode_init:
+	setarg offset_dongle_mode_init
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_dongle_mode_init:
+	setarg CLEAR_INIT
+g24_store_mem_dongle_mode_init:
+	arg offset_dongle_mode_init,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_ackpayload_enable:
+	setarg 0
+g24_store_mem_ackpayload_enable:
+	arg offset_24g_ackpayload_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+g24_set1_mem_ackpayload_enable:
+	setarg 1
+	branch g24_store_mem_ackpayload_enable
+
+g24_fetch_mem_rxdata_temp_add3_7byte:
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	ifetch 7,rega
+	rtn
+
+g24_fetch_mem_nodata_timer_enable:
+	setarg offset_24g_nodata_timer_enable
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_nodata_timer_enable:
+	setarg 0
+g24_store_mem_nodata_timer_enable:
+	arg offset_24g_nodata_timer_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_ms_blank_data_enable:
+	setarg 0
+g24_store_mem_ms_blank_data_enable:
+	arg offset_24g_ms_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_kb_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_blank_data_enable:
+	arg offset_24g_kb_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_kb_mul_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_mul_blank_data_enable:
+	arg offset_24g_kb_mul_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_up:
+	arg offset_power_ctrl_threshold_up,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_down:
+	arg offset_power_ctrl_threshold_down,rega
+g24_set_contw_with_regb_store_1byte:
+	call g24_set_contw_with_regb
+g24_contw_istore_1byte:
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_pair_mode:
+	setarg offset_24g_pair_mode
+	branch g24_set_rega_ifetch_1byte
+
+g24_store_mem_pair_mode:
+	arg offset_24g_pair_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_pair_txpower:
+	setarg offset_24g_pair_txpower
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_txpower
+
+g24_fetch_mem_rxdata_temp_add3_1byte:
+	setarg offset_24g_rxdata_temp_add3
+	branch g24_set_rega_ifetch_1byte
+
+g24_set_contw_with_temp:
+	copy pdata,temp
+	copy rega,pdata
+	iadd regc,contw
+	copy temp,pdata
+	rtn
+	
+g24_set_contw_with_temp_store_3byte:
+	call g24_set_contw_with_temp
+g24_contw_istore_3byte:	
+	istore 3,contw
+	rtn
+
+g24_set_contw_with_regb:
+	call g24_head_ptr2regc
+g24_set_contw_with_regb2:
+	copy pdata,regb
+	copy rega,pdata
+	iadd regc,contw
+	copy regb,pdata
+	rtn
+
+g24_set_rega:
+	call g24_head_ptr2regc
+	iadd regc,rega
+	rtn
+
+g24_set_rega_ifetch_1byte:
+	call g24_set_rega
+g24_rega_ifetch_1byte:
+	ifetch 1,rega
+	rtn
+
+g24_set_rega_ifetcht_4byte:
+	call g24_set_rega
+	ifetcht 4,rega
+	rtn
+
+g24_mem_set0:
+	setarg 0
+	branch g24_contw_istore_1byte
+
+
+
+app_init:
+	bpatch patch18_4,mem_patch18
+	fetch 1,mem_device_option
+	branch app_init,blank				/* wait ram to be initialized */
+//	beq dvc_op_ukey,le_ukey_init
+	beq dvc_op_dongle,dongle_init
+	beq dvc_op_AntiLost,antilost_init
+	beq dvc_op_shutter,shutter_init
+	beq dvc_op_module,module_init
+	beq dvc_op_car,car_init
+	beq dvc_op_remote_car,remote_car_init
+	bbit1 dvc_op_mouse,mouse_init
+	rtn
+	
+app_lpm_init:
+	bpatch patch18_5,mem_patch18
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	jam 0, mem_lch_code
+	setarg 0
+	store 5,mem_sp_state_start
+	fetch 1,mem_device_option
+	branch app_lpm_init,blank				/* wait ram to be initialized */
+	beq dvc_op_module,module_lpm_init
+app_lpm_init0:
+	rtn
+
+	
+app_process_idle:
+	call ui_dispatch
+	call check_51cmd
+	call app_process_bb_event
+	fetch 2,mem_cb_idle_process
+	branch callback_func
+	
+app_process_bt:
+	fetch 2,mem_cb_bt_process
+	branch callback_func
+	
+app_process_ble:
+	fetch 2,mem_cb_le_process
+	branch callback_func
+
+app_process_bb_event:
+	bpatch patch18_6,mem_patch18
+	//return if c51 need to process bb event
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_out
+	rtn blank
+	//reaching here mains c51 cannot get bb event.
+	copy pdata,regc
+	call app_event_normal_process
+	branch app_process_bb_event_priority
+	
+app_discard_event:
+	arg 0,regc
+	rtn
+
+//************************************************//
+//*APP BB EVENT NORMAL PROCESS**//
+//************************************************//
+app_event_normal_process:
+	beq BT_EVT_BB_CONNECTED,app_evt_bt_conn
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_evt_button_long_pressed
+	beq BT_EVT_SETUP_COMPLETE,app_evt_setup_complete
+	beq BT_EVT_HID_HANDSHAKE,app_evt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,app_bb_event_hid_connected
+	beq BT_EVT_RECONN_FAILED,app_bb_event_reconn_failed
+	beq BT_EVT_BB_DISCONNECTED,app_bb_event_bb_disconn
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,app_bb_event_reconn_failed	
+	beq BT_EVT_LE_CONNECTED,app_le_event_bb_connected
+	beq BT_EVT_LE_DISCONNECTED,app_le_event_bb_disconn
+	beq BT_EVT_RECONN_STARTED,app_event_reconn_start
+	beq BT_EVT_ENTER_SNIFF,app_event_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,app_event_exit_sniff
+	
+	beq BT_EVT_ML2CAP_CONN_REFUSED,app_event_ml2cap_conn_refused
+	beq BT_EVT_LINKKEY_GENERATE,app_event_linkkey_generate
+	beq BT_EVT_SWITCH_FAIL_MASTER,app_event_switch_fail_master
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,app_event_switch_success
+	rtn
+
+
+app_evt_bt_conn:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_event_switch_success:
+	jam 0,mem_switch_fail_master_count
+	rtn	
+
+app_event_switch_fail_master:
+	fetch 1,mem_switch_fail_master_count
+	increase 1,pdata
+	store 1,mem_switch_fail_master_count
+	sub pdata,1,null
+	branch app_bt_role_switch,positive
+	jam 0,mem_switch_fail_master_count
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_SWITCH_FAIL,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_disconnect
+	
+app_process_bb_event_priority:
+	fetch 2,mem_cb_bb_event_process
+	branch callback_func
+
+app_check_wake_lock:
+	fetch 2,mem_cb_check_wakelock
+	branch callback_func
+	
+app_will_enter_lpm:
+	fetch 2,mem_cb_before_lpm
+	branch callback_func
+
+app_event_linkkey_generate:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_PAIRING ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_store_reconn_info
+	
+app_event_reconn_start:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_RECONN,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_setup_complete:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SETUP_COMPLETE,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SETUP_DONE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_hid_handshake:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_HANDSHAKE,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_event_enter_sniff:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SNIFF,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_exit_sniff:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_le_event_bb_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_le_event_bb_disconn:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_event_hid_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_evt_button_long_pressed:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BY_BUTTON,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_ml2cap_conn_refused:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_L2CAP_REFUSED,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch  app_bt_disconnect
+
+
+app_evt_timer:
+	bpatch patch18_7,mem_patch18
+	store 1,mem_app_evt_timer_count
+app_evt_100ms_loop:
+	fetch 1,mem_app_evt_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_app_evt_timer_count
+	call ui_button_polling
+	call app_lpm_wake_auto_lock_timer
+	call app_unsniff_delay_timer
+	call app_discovery_timer
+	call flash_write_spi_sm_timer
+	fetch 2,mem_cb_event_timer
+	call callback_func
+	branch app_evt_100ms_loop
+
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step:
+	ifetch 1,regc
+	rtn blank
+	pincrease -1
+	istore 1,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step_2B:
+	ifetch 2,regc
+	rtn blank
+	pincrease -1
+	istore 2,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+	
+app_power_timer:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_timer_offset,regc
+	arg app_power_timer_timeout,regb
+	branch timer_single_step
+	
+app_power_timer_timeout:
+	call app_got_power_state_common
+	beq POWER_STARTING,app_enter_power_stanby_state
+app_enter_power_off_state:
+	branch app_enter_hibernate
+app_enter_power_stanby_state:
+	setarg POWER_STANDBY
+	istore 1,regc
+	add temp,power_standby_cb_offset,regb
+app_power_cb_common:
+	ifetch 2,regb
+	branch callback_func
+
+app_unsniff_delay_timer:
+	arg mem_unsniff2sniff_timer_count,regc
+	arg app_unsniff_delay_timeout,regb
+	branch timer_single_step
+	
+app_unsniff_delay_timeout:
+	call context_check_idle
+	branch app_bt_enter_sniff,zero
+	rtn
+
+
+app_discovery_timer:
+	arg mem_discovery_timeout_timer_count,regc
+	arg app_discovery_timeout,regb
+	branch timer_single_step_2B
+	
+app_discovery_timeout:
+	call app_bt_stop_discovery
+	call app_led_off
+	fetch 2,mem_cb_discovry_timeout
+	branch callback_func
+
+	
+app_bb_event_reconn_failed:
+	call app_disconn_reason_flag_clear
+app_clear_reconnect_flag:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_bb_event_bb_disconn:
+	jam 0,mem_unsniff2sniff_timer_count
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,app_bb_event_bb_reconn_disconn
+	isolate0 UI_STATE_BT_SETUP_COMPLETE,pdata
+ 	call app_discard_event,true
+app_bb_event_bb_reconn_disconn:
+	bpatch patch19_0,mem_patch19
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_CONNECTED,pdata
+	set0 UI_STATE_BT_SETUP_COMPLETE,pdata
+	set0 UI_STATE_BT_HID_CONN,pdata
+	set0 UI_STATE_BT_HID_HANDSHAKE,pdata
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_hibernate:
+	call app_disconn_reason_clear
+	branch app_enter_hibernate
+
+	
+app_disconn_reason_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	rtn
+app_disconn_reason_flag_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_disconn_reason_collect_bt:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_disconn_reason_collect_ble:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BLE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+	
+//************************************************//
+//********APP SHARED FUNCSIONS*******//
+//************************************************//
+
+
+app_check_sniff:
+	fetch 1,mem_ui_state_map
+	isolate1 UI_STATE_BT_SNIFF,pdata
+	rtn
+
+//*****************************************//
+//*****************API********************//
+//*****************************************//
+//app_clearflag_store:
+//	setarg 0
+//	branch app_flag_store
+app_initflag_store:
+	setarg EEPROM_INIT_FLAG
+app_flag_store:
+	store 2,mem_timeup
+	bpatch patch19_1,mem_patch19
+	arg 2,temp
+	arg mem_timeup,rega
+	arg eeprom_module_init_flag,regb
+	branch iicd_write_eep_data
+
+//initflag is in eeprom to sure is eeprom nead to init
+app_initflag_check:
+	bpatch patch19_2,mem_patch19
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg eeprom_module_init_flag,regb
+	call iicd_read_eep_data
+	fetch 2,mem_pdatatemp
+	arg EEPROM_INIT_FLAG,temp
+	isub  temp,null
+	rtn
+
+
+app_start_auto_sniff:
+	fetch 1,mem_unsniff2sniff_timer
+	store 1,mem_unsniff2sniff_timer_count
+	rtn	
+	
+app_get_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_get_wake_lock
+
+app_put_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_put_wake_lock
+	
+app_lpm_wake_auto_lock:
+	jam  LPM_WAKE_UP_DELAY_TIMER,mem_wake_up_delay_timer
+	branch app_get_lpm_wake_lock
+	
+app_lpm_wake_auto_lock_timer:
+	arg mem_wake_up_delay_timer,regc
+	arg app_put_lpm_wake_lock,regb
+	branch timer_single_step
+
+app_l2cap_flow_control_enable:
+	jam L2CAP_FLOW_CTRL_ENABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+
+app_l2cap_flow_control_disable:
+	jam L2CAP_FLOW_CTRL_DISABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+	
+app_bt_set_pincode:
+	jam BT_CMD_SET_PIN_CODE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_role_switch:
+	jam BT_CMD_ROLE_SWITCH,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_start_reconnect:
+	bpatch patch19_3,mem_patch19
+	fetch 1,mem_app_connection_options
+	store 1,mem_connection_options
+	jam APP_FLAG_RECONNECT,mem_reconnect_flag
+	jam BT_CMD_RECONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+	
+app_bt_reconnect_cancel:
+	jam BT_CMD_BB_RECONN_CANCEL,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_disconnect:
+	jam BT_CMD_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+
+app_bt_start_discovery_short:
+	fetch 2,mem_discovery_timeout
+	store 2,mem_discovery_timeout_timer_count
+app_bt_start_discovery_led_blink:
+	call app_led_start_blink
+app_bt_start_discovery:
+	jam BT_CMD_START_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_stop_discovery:
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	jam BT_CMD_STOP_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_direct_adv:
+	jam BT_CMD_START_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_stop_direct_adv:
+	jam BT_CMD_STOP_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_adv:
+	jam BT_CMD_STOP_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_adv:	
+	jam BT_CMD_START_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_scan:
+	jam BT_CMD_LE_START_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_scan:
+	jam BT_CMD_LE_STOP_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_conn:
+	jam BT_CMD_LE_START_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_disconnect:
+	jam BT_CMD_LE_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_start_blink:	
+	jam BT_CMD_LED_BLINK,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_led_on:
+	jam BT_CMD_LED_ON,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_stop_blink:
+app_led_off:
+	jam BT_CMD_LED_OFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_enter_hibernate:
+	jam BT_CMD_ENTER_HIBERNATE,mem_fifo_temp 
+	branch ui_ipc_send_cmd
+	
+app_bt_sniff_exit:
+	jam BT_CMD_EXIT_SNIFF,mem_fifo_temp
+	branch  ui_ipc_send_cmd
+	
+app_bt_enter_sniff:
+	jam BT_CMD_ENTER_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_LE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_BT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_lpm_mult_enable:
+	set1 mark_lpm_mult_enable,mark
+	rtn
+
+app_lpm_mult_disable:
+	set0 mark_lpm_mult_enable,mark
+	rtn
+
+
+/*
+
+mem_power_param struct
+{
+	usigned char     mem_power_state
+	usigned char     mem_power_timer
+	usigned char	 mem_power_off_timeout
+	usigned char	 mem_power_starting_timeout
+	usigned long	 mem_power_off_cb
+	usigned long	 mem_power_starting_cb
+	usigned long	 mem_power_standby_cb
+	usigned long 	 mem_ui_butten_up_cb
+}
+    	functions:power state switching by mem_app_power_timer timeout or by button_long_pressed event
+    	(power off -> power starting->power standby->power off) and power timer initialization 
+ input parameters:mem_power_param_ptr should be point to the variable(mem_power_param) address where the input parameters stored in with its format
+output parameters:switched power state will be stored in variable mem_power_state*/
+app_button_long_pressed:
+	call app_got_power_state_common
+	beq POWER_STANDBY,app_power_shutting_down
+app_power_starting:
+	setarg POWER_STARTING
+	istore 1,regc
+	add temp,power_starting_timeout_offset,rega
+	add temp,power_starting_cb_offset,regb
+app_power_common:
+	ifetcht 1,rega
+	increase 1,regc
+	istoret 1,regc
+	branch app_power_cb_common
+	
+app_power_shutting_down:
+	setarg POWER_OFF
+	istore 1,regc
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,app_power_off_end
+	call app_ble_disconnect
+app_power_off_end:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_off_timeout_offset,rega
+	add temp,power_off_cb_offset,regb
+	branch app_power_common
+	
+app_got_power_state_common:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_state_offset,regc
+	ifetch 1,regc
+	rtn
+
+app_event_button_up:
+	call app_got_power_state_common
+	bne POWER_OFF,app_power_release
+	branch app_enter_hibernate
+app_power_release:
+	add temp,ui_butten_up_cb_offset,regb
+	branch app_power_cb_common
+
+antilost_init:
+	rtn wake	
+	jam 0x00,core_gpio_sel1//1: GPIO[26:25] is two wire SPI, 2: GPIO[26:23] is SPI, 3: GPIO[26:23] is PCM
+	setarg antilost_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg keyscan_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg antilost_idle_process	//
+	store 2,mem_cb_idle_process
+	setarg antilost_le_conn_process	//
+	store 2,mem_cb_le_process
+	setarg antilost_bb_event_process 
+	store 2,mem_cb_bb_event_process
+	setarg antilost_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg antilost_le_notification
+	store 2,mem_cb_ble_transmit
+	setarg antilost_lpm_lock_process
+	store 2,mem_cb_check_wakelock
+	setarg antilost_le_receive_data_process
+	store 2,mem_cb_att_write
+	bpatch patch19_4,mem_patch19
+	call antilost_buzzer_pwm_init
+	call keyscan_key_init
+	call antilost_adc_init
+	call ui_led_init_global
+	call ui_button_init
+	setarg antilost_key_up_down
+	store 2,mem_cb_antl_key
+	setarg antilost_power_off_cb
+	store 2,mem_antl_power_off_cb
+	setarg antilost_power_starting_cb
+	store 2,mem_antl_power_starting_cb
+	setarg antilost_power_standby_cb
+	store 2,mem_antl_power_standby_cb
+	setarg antilost_led_on_cb
+	store 2,mem_antl_led_cb_on
+	setarg antilost_led_off_cb
+	store 2,mem_antl_led_cb_off
+	setarg antilost_buzzer_on
+	store 2,mem_antl_buzzer_cb_on
+	setarg antilost_buzzer_off
+	store 2,mem_antl_buzzer_cb_off
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+antilost_le_before_hibernate:
+	call antilost_led_buzzer_stop_blink
+	branch  app_enter_hibernate
+
+antilost_le_notification:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_temp_block5,rega
+	call queue_pop
+	nrtn user
+	arg mem_temp_block5,contr
+	branch le_send_notify_from_list
+
+antilost_power_standby_cb:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	jam 1,mem_antl_key_scan_enable
+	branch antilost_fast_adv_start
+	
+antilost_lpm_lock_process:
+	fetch 1,mem_antl_key_state
+	beq 1,antilost_lpm_ctrl_for_led_buzzer
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_lpm_ctrl_for_led_buzzer
+	fetch 1,mem_antl_lost_mode
+	beq 1,app_get_lpm_wake_lock
+	fetch 1, mem_antl_queue_curr_num
+	nbranch app_get_lpm_wake_lock,blank 
+	branch app_put_lpm_wake_lock
+	
+antilost_lpm_ctrl_for_led_buzzer:
+	fetch 1,mem_antl_led_state
+	fetcht 1,mem_antl_buzzer_state
+	ior temp,pdata
+	beq 1,app_get_lpm_wake_lock
+	branch app_put_lpm_wake_lock
+
+antilost_bb_event_process:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,antilost_le_process_conn
+	beq BT_EVT_LE_DISCONNECTED,antilost_le_process_discon
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,antilost_le_conn_param_update_rsp_recieved
+	rtn
+antilost_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	beq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED,antilost_le_conn_param_rejected
+antilost_le_conn_param_accepted:
+	fetch 2,mem_le_new_connslavelatency
+	branch antilost_master_nonsupport_latency,blank
+antilost_le_conn_param_updata_procedure_sucsess:
+	jam CONN_PARAM_UPDATA_PROCEDURE_COMPLETE,mem_antl_conn_updata_procedure_state
+	jam 60,mem_antl_conn_update_timer
+	rtn
+
+antilost_le_conn_param_rejected:
+	fetch 2,mem_le_latency
+	branch antilost_conn_param_updata_procedure_faild,blank
+antilost_conn_param_retransimiting:
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	fetcht 2,mem_interval_increment
+	fetch 2,mem_le_interval_min
+	iadd temp,pdata
+	store 2,mem_le_interval_min
+	copy pdata,rega
+	fetch 2,mem_le_interval_max
+	iadd temp,pdata
+	store 2,mem_le_interval_max
+	iadd rega,pdata
+	rshift pdata,temp
+	fetch 2,mem_antl_le_unnormal_interval_max
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	store 2,mem_le_latency
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+antilost_conn_param_updata_procedure_faild:
+	jam CONN_PARAM_UPDATA_PROCEDURE_FAILD,mem_antl_conn_updata_procedure_state
+	rtn
+
+antilost_master_nonsupport_latency:
+	jam 0,mem_lpm_mult
+	jam 0,mem_antl_send_updata_le_param_timer
+	fetch 2,mem_le_new_conninterval	//interval from master
+	fetcht 2,mem_antl_le_unnormal_interval_min
+	isub temp,null
+	setflag positive,0,rega 
+	fetch 2,mem_antl_le_unnormal_interval_max //local intervalmax
+	fetcht 2,mem_le_new_conninterval//interval form master
+	isub temp,pdata
+	setflag positive,1,rega
+	compare	0x03,rega,0x03
+	rtn true //return if the new conn_interval in range through conn_interval_min to conn_interval_max already
+	fetch 8,mem_antl_le_unnormal_interval_min
+	store 8,mem_le_interval_min
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn                               
+
+
+antilost_le_bb_event_timer:
+	//call ui_button_check_long_press
+	call app_power_timer
+	call antilost_double_click_timer
+	call antilost_le_fast_adv_timer
+	call antilost_le_sleep_timer
+	call antilost_app_updata_le_param_timer
+	call antilost_conn_update_timer
+	branch antilost_adc_check_timer
+
+
+antilost_double_click_timer:
+	arg mem_double_click_timer,regc
+	arg antilost_double_click_timeout,regb
+	branch timer_single_step
+antilost_double_click_timeout:
+	jam 0,mem_butten_click_cnt
+	rtn
+antilost_le_fast_adv_timer:
+	arg mem_antl_fast_adv_timer,regc
+	arg antilost_le_fast_adv_timeout,regb
+	branch timer_single_step_2B
+antilost_le_fast_adv_timeout:
+	arg mem_antl_slow_adv_led_style,regc
+	arg mem_antl_slow_adv_lpm_interval,regb
+	branch antilost_adv_start_common
+	
+
+antilost_conn_update_timer:
+	arg mem_antl_conn_update_timer,regc
+	arg antilost_conn_update_timer_time_out,regb
+	branch timer_single_step
+	
+antilost_conn_update_timer_time_out:
+	fetch 2,mem_le_latency
+	store 1,mem_lpm_mult
+	rtn
+antilost_app_updata_le_param_timer:
+	arg mem_antl_send_updata_le_param_timer,regc
+	arg antilost_app_updata_le_param_timeout,regb
+	branch timer_single_step
+antilost_app_updata_le_param_timeout:
+	fetch 1,mem_le_state
+	compare 0,pdata,0x60
+	nbranch antilost_wait_for_updata_param_instant_expire,true
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	call  app_lpm_mult_enable
+	branch le_l2cap_tx_update_req	
+antilost_wait_for_updata_param_instant_expire:
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+	
+antilost_le_sleep_timer:
+	arg mem_antl_le_sleep_timer,regc
+	arg antilost_le_sleep_timer_timeout,regb
+	branch timer_single_step_2B
+
+
+antilost_le_sleep_timer_timeout:
+	branch app_button_long_pressed
+
+antilost_adc_check_timer:
+	//fetch 1,mem_antl_power_timer
+	//rtneq SHUTTER_POWER_OFF
+	arg mem_adc_timer,regc
+	arg antilost_adc_check_timer_timeout,regb
+	branch timer_single_step_2B
+antilost_adc_check_timer_timeout:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	branch antilost_battery_process
+
+
+antilost_le_process_conn:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	setarg 0
+	store 2,mem_antl_fast_adv_timer
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	call antilost_led_buzzer_stop_blink
+	jam 0,mem_lpm_mult
+	branch app_ble_stop_adv
+	                                                      
+
+antilost_le_process_discon:
+	//setarg 0
+	//store 1,mem_hci_curr_len
+	setarg 0
+	store 4,mem_adc_timer
+	store 3,mem_antl_conn_updata_procedure_state
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	
+	jam 1,mem_alarm_config_notfy_cnt
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call queue_init
+	fetch 1,mem_antl_power_state
+	rtneq POWER_OFF
+	call antilost_fast_adv_start
+	branch antilost_on_off_alarm_after_disconn
+
+
+antilost_le_conn_process:
+//bpatch
+	branch antilost_key_process
+
+antilost_idle_process:
+
+	fetch 1,mem_antl_power_state
+	rtnne POWER_STANDBY
+	branch antilost_key_process
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+/////SOFT WTICH////////
+antilost_power_starting_cb:
+	arg mem_antl_power_starting_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_starting_led_style,regc
+antilost_power_common:
+	branch antilost_led_configuration
+
+antilost_power_off_cb:
+	jam OFF,mem_le_adv_enable
+	arg mem_antl_power_off_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_off_led_style,regc
+	branch antilost_power_common
+	
+antilost_le_receive_data_process:
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,antilost_le_parse_att_write_request
+	rtn
+antilost_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+//	beq  ATT_WRITE_REQUEST_HANDLE,antilost_key_data_send
+	beq NEW_SPEC_WRITE_HANDLE,antilost_cmd_parse_for_application
+	beq NEW_SPEC_NOTIFICATION_ENABLE_HANDLE,antilost_notify_alarm_config_first_time
+	rtn
+/////////////////////////////////////////////////////////
+
+
+/////////key scan
+antilost_key_process:
+	fetch 1,mem_antl_key_scan_enable
+	rtn blank
+	branch keyscan_key_process
+
+	//queue = key index
+	//rega =1 press, =0 release
+antilost_key_up_down:
+	copy rega,pdata
+	branch antilost_key_is_up,blank
+antilost_key_is_down:
+	copy queue,pdata
+	beq 0,antilost_key0_down
+	rtn
+antilost_key_is_up:
+	copy queue,pdata
+	beq 0,antilost_key0_up
+	rtn
+
+antilost_key0_down:
+	jam 1,mem_antl_key_state
+	arg mem_antl_key_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_key_led_style,regc
+	call antilost_led_configuration
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_butten_down_while_disconn
+	branch antilost_butten_down_after_conn
+	
+antilost_key0_up:
+	jam 0,mem_antl_key_state
+	branch antilost_double_click_timer_init
+
+//////////////process for double-click
+
+antilost_double_click_timer_init:
+	fetch 1,mem_butten_click_cnt
+	rtnne 1
+	jam 5,mem_double_click_timer
+	rtn
+
+antilost_butten_down_after_conn:
+	fetch 1,mem_butten_click_cnt
+	pincrease 1
+	store 1,mem_butten_click_cnt
+	beq 1,antilost_click_once
+	beq 2,antilost_click_twice
+	rtn
+antilost_click_once:
+	call antilost_alert_off
+	jam OPCODE1_BUTTEN_CLICK_ONCE,mem_antl_key0_press+5//5 represent opcode offset
+	arg mem_antl_key0_press,regc
+	branch antilost_prepare_data_and_send
+antilost_click_twice:
+	jam 0,mem_butten_click_cnt
+	jam OPCODE2_BUTTEN_DOUBLE_CLICK,mem_antl_key0_press+5
+	arg mem_antl_key0_press,regc
+	call antilost_prepare_data_and_send
+	fetch 1,mem_antl_lost_mode
+	beq 1,antilost_alert_on
+	rtn   //rtn should be retaind
+	
+antilost_butten_down_while_disconn:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	branch antilost_fast_adv_start
+	
+///////////////////////NEW App Spcecific///////
+antilost_cmd_parse_for_application:
+	bpatch patch19_5,mem_patch19
+	call le_app_receive_data
+	ifetch 1,rega
+	beq OPCODE3_ANTL_START_ALRAM,antilost_on_of_alram
+	beq OPCODE7_ANTL_CONFIG_ALRAM,antilost_configuration_for_alram
+	rtn
+
+antilost_on_of_alram:
+	fetch 1,mem_antl_lost_mode
+	beq ANTI_LE_ALARM_OFF,antilost_alert_on
+	beq ANTI_LE_ALARM_ON,antilost_alert_off
+	rtn
+
+antilost_configuration_for_alram:
+	ifetch 1,regb
+	beq 1,antilost_set_start_alarm_after_disconn
+	beq 0,antilost_set_no_alarm_after_disconn
+	rtn
+/////////////////check////////////////////////
+
+/*input: 1)package data addr in regc
+output:no
+function:calculate check_out value and send data*/
+//mem_temp_block5
+antilost_prepare_data_and_send:
+	bpatch patch19_6,mem_patch19
+	fetch 1,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	add regc,6,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,5,loopcnt
+	add regc,3,contr
+	call calc_check_sum_start
+	istore 1,contr
+	copy regc,rega
+	branch queue_push
+
+/////////////////NEW APP SPECIFIC check end////////////////////
+
+
+/////////alarm//////////////////////////////
+antilost_alert_on:
+	fetch 1,mem_antl_power_state
+	rtn blank
+	jam 1,mem_antl_lost_mode
+	arg mem_antl_alert_buzzer_stlye,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_alert_led_stlye,regc
+	call antilost_led_configuration
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 1,mem_antl_key0_release+8 //8 represent data offset,digit 1 represent alarm is on at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_alert_off:
+	fetch 1,mem_antl_lost_mode
+	rtn blank
+	jam 0,mem_antl_lost_mode
+	call antilost_led_buzzer_stop_blink
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 0,mem_antl_key0_release+8 //8 represent data offset,digit 0 represent alarm is off at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+antilost_set_start_alarm_after_disconn:
+	jam 1,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_set_no_alarm_after_disconn:
+	jam 0,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 0,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_on_off_alarm_after_disconn:
+	fetch 1,mem_alarm_config
+	rtn blank
+	branch antilost_alert_on
+	
+antilost_notify_alarm_config_first_time:
+	ifetch 2,rega
+	store 2,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	fetch 1,mem_alarm_config_notfy_cnt
+	rtn blank
+	jam 0,mem_alarm_config_notfy_cnt
+	fetch 8,mem_antl_le_interval_min
+	store 8,mem_le_interval_min
+	jam 2,mem_antl_send_updata_le_param_timer
+	call antilost_battery_process
+	call antilost_battery_calculate_end //send twice to combat the failure of reception first time
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	fetch 1,mem_alarm_config
+	store 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+//////////////alarm end//////////////////////////
+//sytle address in regc
+antilost_buzzer_configuration:
+	arg 1,rega
+	branch antilost_configuration_common
+antilost_led_configuration:
+	arg 0,rega
+antilost_configuration_common:
+	branch antilost_led_buzzer_style_configuration
+	
+antilost_led_buzzer_stop_blink:
+	arg 0,rega
+	call ui_led_blink_stop_global
+	arg 1,rega
+	call ui_led_blink_stop_global
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_buzzer_style_configuration:
+	call calc_curr_struct_prt
+	arg 7,loopcnt
+	branch ui_led_set_style_global+2
+
+
+
+antilost_fast_adv_start:
+	arg mem_antl_fast_adv_led_style,regc
+	arg mem_antl_lpm_interval,regb
+antilost_adv_start_common:
+	call antilost_adv_interval_lpm_interval_set
+	call antilost_led_configuration
+	fetch 2,mem_antl_fast_adv_timeout
+	store 2,mem_antl_fast_adv_timer
+	branch app_ble_start_adv
+	
+antilost_adv_interval_lpm_interval_set:
+	ifetch 2,regb
+	store 2,mem_lpm_interval
+	ifetch 2,contr
+	store 2,mem_le_adv_interval
+	rtn
+///////////////beep////////////
+antilost_buzzer_pwm_init:
+	arg 0,rega //sys clk 12mhz
+	call pwm_init
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	call pwm_out_set
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_on_cb:
+	jam 1,mem_antl_led_state
+	rtn	
+antilost_led_off_cb:
+	jam 0,mem_antl_led_state
+	rtn
+
+
+
+antilost_buzzer_off:
+	jam 0,mem_antl_buzzer_state
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_buzzer_on:
+	jam 1,mem_antl_buzzer_state
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+
+////////////////beep end///////////////////////////
+/////////////adc start////////////////////////
+antilost_adc_init:
+	jam 0,mem_adc_config_flag
+	branch adc_init_data
+
+antilost_battery_process:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_battery_current_voltage
+	arg mem_battery_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	store 1,mem_voltage_remain_percent //for debug
+	beq 0,antilost_low_battery
+	sub pdata,0x64,null
+	nbranch antilost_full_battery,positive
+	store 1,mem_antl_key0_release+8
+antilost_battery_calculate_end:
+	jam OPCODE5_BATTER_INFORMATION,mem_antl_key0_release+5
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_full_battery:
+	jam 100,mem_antl_key0_release+8
+	branch antilost_battery_calculate_end
+
+antilost_low_battery:
+	branch app_button_long_pressed
+
+
+
+car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	setarg car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg car_le_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg car_le_receive_data
+	store 2,mem_cb_att_write
+	
+	setarg car_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	
+	call g24_head_ptr2regc
+	setarg car_24g_receive_data
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+
+	setarg car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	bpatch patch19_7,mem_patch19
+	call car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	jam POWER_ON,mem_car_24g_received_pac
+	fetch 1,mem_car_config_soft_switch_enable
+	store 1,mem_car_hard_soft_switch
+	beq HARD_SWITCH, car_hard_switch_power_on_signal
+	fetch 1,mem_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+	jam OFF,mem_le_adv_enable
+car_soft_switch_power_on_init:
+	call car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+ 	branch app_enter_hibernate
+
+car_power_off_signal:	
+	branch car_ui_led_init
+	
+car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_car_power_state
+car_soft_switch_power_on_signal:
+	jam ON,mem_le_adv_enable
+	call car_ui_led_init
+	arg 0,rega
+	call ui_led_blink_start_global
+	
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+car_le_modified_name_adv:
+	arg mem_le_name+7,contw
+	fetch 1,mem_le_lap
+car_name_loop:
+	and pdata,0xF0,temp
+	rshift4 temp,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	and pdata,0x0F,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	call le_modified_name_att_list
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_adv_data+2,contw
+	arg mem_le_name,contr
+	call memcpy
+car_le_modified_name_scan:
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_scan_data+2,contw
+	arg mem_le_name,contr
+	branch memcpy
+car_hex_to_ascii:
+	sub temp,9,null
+	branch car_hex_num,positive
+	add temp,55,temp
+	rtn
+car_hex_num:	
+	add temp,48,temp
+	rtn
+
+car_ui_led_init:
+	fetch 1,mem_car_config_blood_led1_gpio
+	bne INVALID_PIN_NUM,car_blood_led_gpio_set
+car_ui_led_init_1:
+	fetch 1,mem_car_config_pairing_led_gpio
+	bne INVALID_PIN_NUM,car_pairing_led_gpio_set
+car_ui_led_init_2:
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	bne INVALID_PIN_NUM,car_low_voltage_led_gpio_set
+car_ui_led_init_3:
+	fetch 1, mem_car_led_num
+	copy pdata,loopcnt
+	setarg mem_car_led_map
+	copy pdata,rega
+car_in_lp1:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq INVALID_PIN_NUM,car_in_lp1_end
+	copy pdata,temp
+	call gpio_config_output
+car_in_lp1_end:
+	loop car_in_lp1
+car_ui_led_init_end:
+	rtn
+car_blood_led_gpio_set:
+	fetch 8,mem_car_config_blood_led1_gpio
+	store 8,mem_car_led_map+2
+	branch car_ui_led_init_1
+car_pairing_led_gpio_set:
+	store 1,mem_car_led_map
+	branch car_ui_led_init_2
+car_low_voltage_led_gpio_set:
+	store 1,mem_car_led_map+1
+	branch car_ui_led_init_3
+
+
+car_init_environment:
+	arg 0,rega
+	call pwm_init
+	call car_ir_rx_init
+	call g24_receive_process_init
+	branch car_init_adc_hvin
+
+car_init_adc_hvin:
+	jam 100,mem_car_notify_vdd_value_last
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	store 1,mem_car_style2_struct_led_gpio
+	branch adc_init_data
+	
+car_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch keyscan_process_lpm_before
+
+car_le_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+car_key_scan_process:
+//	fetch 1,mem_enable_key_scan
+//	rtn blank
+	branch keyscan_key_process
+
+car_scale_process_idle:
+	call car_le_send_packet
+	call car_ir_receive_process
+	call car_g24_status_process
+	branch car_key_scan_process
+
+car_g24_status_process:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 1,mem_car_24g_received_pac
+	beq WORK_PAIRED,car_g24_connected_event
+	rtn
+car_g24_connected_event:
+	fetch 1,mem_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_car_24g_status
+	branch car_g24_connected
+
+car_le_send_packet:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BLE_CONNECTED
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_car_pop_queue_buff,rega
+	call queue_pop
+	nrtn user
+	arg mem_car_pop_queue_buff,contr
+	branch le_send_notify_from_list
+ 
+car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,car_scale_event_le_conn
+	beq BT_EVT_LE_DISCONNECTED,car_scale_event_le_discon
+	rtn
+
+car_scale_event_le_conn:
+	setarg disable_24g
+	call g24_store_mem_24g_mode
+	branch car_scale_process_conn
+car_g24_connected:
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+car_scale_process_conn:
+	jam 0x14,mem_car_notify_vdd_timer
+	jam 0,mem_lpm_mode
+	call app_ble_stop_adv
+	call app_lpm_mult_enable
+	fetch 1,mem_car_config_pairing_led_conn_status
+	beq 0x01,car_pairing_led_conn_status_setting
+car_scale_process_conn_next:
+	arg 0,rega
+	branch ui_led_on_global
+car_pairing_led_conn_status_setting:
+	arg 0,rega
+	branch ui_led_blink_stop_global
+
+car_scale_event_le_discon:
+	setarg rx_24g
+	call g24_store_mem_24g_mode
+car_g24_disconnect:
+	setarg 0
+	store 5,mem_car_led_control
+	setarg 4
+	call pwm_disable
+	setarg 5
+	call pwm_disable
+	setarg 20
+	call pwm_disable
+	setarg 21
+	call pwm_disable
+	setarg 22
+	call pwm_disable
+	setarg 7
+	call pwm_disable
+	call queue_init
+	jam 10,mem_motor1_speed
+	jam 10,mem_motor2_speed
+	jam 10,mem_motor3_speed
+//	jam 1,mem_lpm_mode
+	jam 2,mem_lpm_mult
+	arg 0,rega
+	call ui_led_blink_start_global
+
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+	branch app_ble_start_adv
+
+car_le_bb_event_timer:
+//	call car_ui_power_timeout_timer
+	call car_moto1_blank_data_timer
+	call car_moto2_blank_data_timer
+	call car_moto3_blank_data_timer
+	call app_power_timer
+	call car_led_control_timer
+	call car_notify_vdd_timer
+	call car_24g_no_data_timeout_timer
+	call car_ir_breakdown_timer
+	branch car_attack_shake_timer
+
+car_ir_breakdown_timer:
+	arg mem_car_ir_breakdown_check_timer,regc
+	arg car_ir_breakdown_timeout,regb
+	branch timer_single_step
+car_ir_breakdown_timeout:
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_flag
+	rtn
+	
+car_24g_no_data_timeout_timer:
+	arg mem_car_24g_no_data_timeout_timer,regc
+	arg car_24g_no_data_timer_timeout,regb
+	branch timer_single_step_2B
+car_24g_no_data_timer_timeout:
+	jam WORK_SEARCH,mem_car_24g_status
+	branch car_g24_disconnect
+
+car_attack_shake_timer:
+	arg mem_car_attack_shake_timer,regc
+	arg car_attack_shake,regb
+	branch timer_single_step
+car_attack_shake:
+	fetch 1, mem_car_attack_shake_flag
+	branch car_attack_shake_stop,blank
+	jam 2,mem_car_attack_shake_timer
+	jam 0, mem_car_attack_shake_flag
+	setarg 0x0a02
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_front_battle_tank
+car_attack_shake_front_battle_car:
+	branch car_motor_control
+car_attack_shake_front_battle_tank:
+	setarg 0x0a02
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+car_attack_shake_stop:
+	setarg 0
+	store 4,mem_le_receive_payload
+	branch car_motor_control
+
+car_notify_vdd_timer:
+	fetch 1,mem_car_config_bat_notify_enable
+	rtn blank
+ 	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,car_low_bat_led_off
+	arg mem_car_notify_vdd_timer,regc
+	arg car_notify_vdd,regb
+	branch timer_single_step
+car_notify_vdd:
+	fetch 1,mem_car_notify_vdd_count
+	store 1,mem_car_notify_vdd_timer
+ 	fetch 1,mem_car_working_flag
+ 	nrtn blank
+car_read_hvin:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_vdd_now_vol
+	arg mem_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetcht 1,mem_car_notify_vdd_value_last
+	isub temp,null
+	branch car_notify_vdd_next2,positive
+	store 1,mem_car_notify_vdd_value_last
+	copy pdata,temp
+car_notify_vdd_next2:
+	storet 1,mem_car_notify_vdd_percent
+	fetch 1,mem_car_config_low_voltage_percent
+	isub temp,null
+	call car_enter_low_bat,positive
+	storet 1,mem_notify_bat_payload 
+	arg 6,loopcnt
+	arg mem_notify_bat_head,contr
+	call calc_check_sum_start
+	store 1,mem_notify_bat_check_sum
+	arg mem_notify_bat_packet,rega
+	branch queue_push
+car_enter_low_bat:
+	fetch 1,mem_low_bat_flag
+	nrtn blank
+	jam 1,mem_low_bat_flag
+	arg 1,rega
+	branch ui_led_blink_start_global
+car_low_bat_led_off:
+	arg 1,rega
+	branch ui_led_blink_stop_global
+
+car_led_control_timer:
+	arg mem_car_led_control_timer,regc
+	arg car_led_control,regb
+	branch timer_single_step
+car_led_control:
+	jam 5,mem_car_led_control_timer
+	jam 0,mem_car_led_no
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_blink_off
+	beq LED_OFF,car_led_control_blink_on
+car_led_control_set:
+	arg mem_car_led_control,contr
+	copy contr,rega
+	arg 8,loopcnt
+car_led_control_timer_next:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq LED_OFF,car_led_control_off
+	beq LED_ON,car_led_control_on
+	beq LED_BLINK,car_led_control_blink
+car_led_control_timer_next_2:
+	fetch 1,mem_car_led_no
+	increase 1,pdata
+	store 1,mem_car_led_no
+	loop car_led_control_timer_next
+	rtn
+car_led_switch:
+	fetch 1,mem_car_led_no
+	arg mem_car_config_blood_led_gpio,regb
+	iadd regb,regb
+	ifetcht 1,regb
+	rtn
+car_led_control_off:
+	call car_led_switch
+	call gpio_out_inactive
+	branch car_led_control_timer_next_2
+car_led_control_on:
+	call car_led_switch
+	call gpio_out_active
+	branch car_led_control_timer_next_2
+car_led_control_blink:
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_off
+	branch car_led_control_on
+car_led_control_blink_on:
+	jam LED_ON,mem_car_led_blink_status
+	branch car_led_control_set
+car_led_control_blink_off:
+	jam LED_OFF,mem_car_led_blink_status
+	branch car_led_control_set
+	
+////////////////////////check sum////////////////////////
+//loopcnt = sum number,contr = ptr
+calc_check_sum_start:
+	arg 0,rega
+calc_check_sum_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop calc_check_sum_loop
+calc_check_sum_and:
+	and rega,0xff,pdata
+	rtn
+
+car_le_receive_data:	
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,car_le_parse_att_write_request
+	rtn
+car_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+	beq ATT_CAR_CONTROL_HANDLE,car_control_le_receive
+	rtn
+
+/*
+*	typedef struct
+*	{
+*		2byte	packet_head				(mem_app_receive_temp)
+*		1byte	packet_cmd				(mem_app_receive_temp+2)
+*		2byte	packet_payload_length	(mem_app_receive_temp+3)
+*		10byte	packet_payload			(mem_app_receive_temp+5)
+*		1byte	packet_check_sum		(mem_app_receive_temp+15)
+*	}
+*/
+le_app_receive_data:
+	bpatch patch1a_0,mem_patch1a
+	ifetch 5,rega
+	store 5,mem_app_receive_temp
+	fetch 2,mem_app_receive_temp
+	arg LE_RECEIVE_PACKET_HEAD,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_app_receive_temp+3
+	byteswap pdata,pdata
+	store 2,mem_app_receive_temp+3
+	copy pdata,loopcnt
+	increase 5,rega
+	copy rega,contr
+	arg mem_app_receive_temp+5,contw
+	call memcpy
+	ifetch 1,contr
+	store 1,mem_app_receive_temp+15
+	arg mem_app_receive_temp+2,rega
+	arg mem_app_receive_temp+5,regb
+	rtn
+
+car_control_le_receive:
+	setarg 0
+	store 5,mem_le_receive_payload
+	store 5,mem_le_receive_payload+5
+	call le_app_receive_data
+	copy regb,contr
+	arg mem_le_receive_payload,contw
+	arg 10,loopcnt
+	call memcpy
+car_receive_cmd_select:
+	bpatch patch1a_1,mem_patch1a
+	ifetch 1,rega
+	beq CAR_CMD_OLD_CAR_CONTROL,car_drive_old
+	beq CAR_CMD_OLD_SPEED_CONTROL,car_speed_set_old
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_IR_CONTROL,car_ir_data_rx_from_app
+	beq CAR_CMD_LED_CONTROL,car_led_control_receive
+	beq CAR_CMD_DEVICE_INFO,car_info_request
+	rtn
+
+car_24g_receive_data:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+	
+	jam WORK_PAIRED,mem_car_24g_received_pac
+	
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	call car_control_le_receive
+
+	fetch 1,mem_app_receive_temp+2	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_24g_receive_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_24g_receive_data_next
+	rtn
+car_24g_receive_data_next:
+	fetch 1,mem_le_receive_payload	//moto1
+	ncall car_moto1_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+2	//moto2
+	ncall car_moto2_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+4	//moto3
+	ncall car_moto3_enable_blank_data_timer,blank
+	rtn
+
+car_moto1_enable_blank_data_timer:
+	jam 5,mem_car_moto1_blank_timer
+	rtn
+car_moto2_enable_blank_data_timer:
+	jam 5,mem_car_moto2_blank_timer
+	rtn
+car_moto3_enable_blank_data_timer:
+	jam 5,mem_car_moto3_blank_timer
+	rtn
+
+car_moto1_blank_data_timer:
+	arg mem_car_moto1_blank_timer,regc
+	arg car_moto1_blank_data,regb
+	branch timer_single_step
+car_moto2_blank_data_timer:	
+	arg mem_car_moto2_blank_timer,regc
+	arg car_moto2_blank_data,regb
+	branch timer_single_step
+car_moto3_blank_data_timer:		
+	arg mem_car_moto3_blank_timer,regc
+	arg car_moto3_blank_data,regb
+	branch timer_single_step
+
+car_moto1_blank_data:
+	jam 0,mem_le_receive_payload
+	branch car_motor_control
+car_moto2_blank_data:
+	jam 0,mem_le_receive_payload+2
+	branch car_motor_control
+car_moto3_blank_data:
+	jam 0,mem_le_receive_payload+4
+	branch car_motor_control
+	
+	
+///////////////////////Motor//////////////////////////////////////////
+
+car_drive_old:	
+	call car_left_right_control_old
+	branch car_front_back_control_old
+car_left_right_control_old:
+	fetch 1,mem_le_receive_payload
+	store 1,mem_motor2_status
+	branch car_motor2_control
+car_front_back_control_old:
+	fetch 1,mem_motor1_speed
+	call car_reset_old_speed
+	fetch 1,mem_le_receive_payload+1
+	store 1,mem_motor1_status
+	branch car_motor1_control
+car_reset_old_speed:
+	beq SPEED_LEVEL_2,car_reset_old_speed2
+	beq SPEED_LEVEL_3,car_reset_old_speed3
+	store 1,mem_motor1_speed
+	rtn
+car_reset_old_speed2:
+	jam SPEED_LEVEL_5,mem_motor1_speed
+	rtn
+car_reset_old_speed3:
+	jam SPEED_LEVEL_10,mem_motor1_speed
+	rtn
+car_speed_set_old:
+	fetch 1,mem_le_receive_payload
+	call car_reset_old_speed
+	fetch 1,mem_motor1_speed
+	call car_motor_speed_duty_setting
+	call car_motor_speed_duty_transform
+	branch pwm_pwm0_duty_set
+
+car_motor_control:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 6,mem_le_receive_payload
+	store 6,mem_motor1_status
+	fetch 1,mem_motor1_speed
+	fetcht 1,mem_motor2_speed
+	iand temp,pdata
+	fetcht 1,mem_motor3_speed
+	iand temp,pdata
+	call car_motor_working_flag,blank
+	bpatch patch1a_2,mem_patch1a
+	call car_motor1_control
+	call car_motor2_control
+	branch car_motor3_control
+car_motor1_control:
+	arg mem_motor1_pwm_set,regb
+	arg mem_motor1_status,contr
+	branch car_motor_status_select
+car_motor2_control:
+	arg mem_motor2_pwm_set,regb
+	arg mem_motor2_status,contr
+	branch car_motor_status_select
+car_motor3_control:
+	arg mem_motor3_pwm_set,regb
+	arg mem_motor3_status,contr
+	branch car_motor_status_select
+car_motor_working_flag:
+	jam 0,mem_car_working_flag
+	rtn
+
+car_motor_status_select:
+	ifetch 1,contr
+	beq MOTOR_STOP,car_motor_stop
+	beq GO_FRONT,car_motor_positive
+	beq GO_BACK,car_motor_negative
+	rtn
+car_motor_positive:
+	jam 0,mem_motor_select_p_n
+	branch car_motor_negative+1
+car_motor_negative:
+	jam 1,mem_motor_select_p_n
+	ifetch 1,contr
+	store 1,mem_car_motor_speed
+	ifetch 8,regb
+	branch car_motor_work
+
+car_motor_stop:
+	ifetch 1,regb
+	call pwm_disable
+	increase 1,regb
+	ifetch 1,regb
+	branch pwm_disable
+car_motor_work:
+	store 8,mem_motor_pwm_pin1_set
+	jam 1,mem_car_working_flag
+	fetch 1,mem_motor_select_p_n
+	beq 0,car_motor_select_positive
+car_motor_select_negative:
+	fetch 1,mem_motor_pwm_pin2_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin1_set
+car_motor_work_next:
+	call pwm_disable
+	fetch 1,mem_car_motor_speed
+	call car_motor_speed_duty_setting
+	store 1,mem_motor_pwm_dute_set
+	fetch 6,mem_motor_pwm_pin_set
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+car_motor_select_positive:
+	fetch 1,mem_motor_pwm_pin1_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin2_set
+	branch car_motor_work_next
+
+car_motor_speed_duty_setting:
+	mul32 pdata,5,pdata
+	add pdata,50,pdata
+	rtn
+car_motor_speed_duty_transform:
+	arg 12000,temp
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient temp
+	copy temp,rega
+	setarg 12000
+	isub temp,regb
+	rtn
+
+/////////////////////IR PROCESS/////////////////////
+car_ir_init:
+	hfetch 1,core_gpio_sel2		// select GPIO3 as pwm4
+	set1 2,pdata
+	hstore 1,core_gpio_sel2
+	setarg 158
+	hstore 2,core_pwm_pcnt4
+	hstore 2,core_pwm_ncnt4
+	rtn
+
+car_ir_data_rx_from_app:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 2,mem_le_receive_payload
+	store 2,mem_ir_data
+	fetch 1,mem_car_24g_status
+	bne WORK_PAIRED,car_ir_data_tx
+	fetch 2,mem_le_lap
+	store 2,mem_ir_data
+car_ir_data_tx:
+	bpatch patch1a_3,mem_patch1a
+	call car_ir_init
+	call car_ir_enable
+	setarg 48000
+	call sleep
+	call car_ir_disable
+	setarg 7200
+	call sleep
+	arg 16,loopcnt
+car_ir_send_loop:
+	call car_ir_enable
+	fetch 2,mem_ir_data
+	bbit1 0,car_ir_is_bit1
+	setarg 7200
+	call sleep
+	call car_ir_disable
+	branch car_ir_wait_finish
+	
+car_ir_is_bit1:
+	setarg 14400
+	call sleep
+	call car_ir_disable
+car_ir_wait_finish:
+	setarg 7200
+	call sleep
+	fetch 2,mem_ir_data
+	rshift pdata,pdata	
+	store 2,mem_ir_data
+	loop car_ir_send_loop
+
+	jam 2,mem_car_attack_shake_timer
+	jam 1, mem_car_attack_shake_flag
+	setarg 0x0a01
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_back_battle_tank
+car_attack_shake_back_battle_car:
+	branch car_motor_control
+car_attack_shake_back_battle_tank:
+	setarg 0x0a01
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+	
+car_ir_enable:
+	hfetch 1,core_gpio_key2			// PWM4_enable
+	or_into 0x40,pdata
+	hstore 1,core_gpio_key2	
+	rtn
+car_ir_disable:
+	hfetch 1,core_gpio_key2			// PWM4_disable
+	and_into 0xbf,pdata
+	hstore 1,core_gpio_key2
+	rtn
+	
+car_ir_rx_init:
+	fetch 1,mem_car_config_ir_enable
+	rtneq 0x00
+	call lpm_disable_exen_output
+	fetcht 1,mem_car_config_ir_rx_gpio
+	storet 1,mem_ir_rx_gpio
+	call gpio_config_input
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_check_timer
+	rtn
+
+car_ir_receive_process:
+	fetch 1,mem_car_config_ir_enable
+	rtneq FLAG_IR_DISABLE	
+	fetch 1,mem_car_ir_breakdown_flag
+	nrtn blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,car_ir_receive_process_next
+	fetch 1,mem_car_24g_status
+	rtnne WORK_PAIRED
+car_ir_receive_process_next:
+	bpatch patch1a_4,mem_patch1a
+	call car_ir_gpio_get_status
+	nrtn true
+	setarg 36000
+	call sleep
+	call car_ir_gpio_get_status
+	nrtn true
+	call car_ir_clk_get
+car_ir_packet_head_wait_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_packet_head_wait_end,true
+	arg 0,rega
+	arg 16,loopcnt
+	call car_ir_clk_get
+car_ir_receive_process_loop:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	nbranch car_ir_receive_process_loop,true
+	setarg 10800
+	call sleep
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1,true
+car_ir_get_bit0:
+	setarg 0
+ 	rshift rega,rega
+	ior rega,rega
+	loop car_ir_receive_process_loop
+	branch car_ir_receive_process_end
+car_ir_get_bit1:
+	setarg 0x8000
+	rshift rega,rega
+	ior rega,rega
+	call car_ir_clk_get
+car_ir_get_bit1_wait_low_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1_wait_low_end,true
+	loop car_ir_receive_process_loop
+car_ir_receive_process_end:
+	bpatch patch1a_5,mem_patch1a
+	copy rega,pdata
+	store 2,mem_ir_rx_buf
+	store 2,mem_ir_notify_data+8
+	fetch 1,mem_car_24g_status
+	beq WORK_PAIRED,car_ir_24g_receive_attack
+car_ir_data_notify:
+	arg 0x07,loopcnt
+	arg mem_ir_notify_data_head,contr
+	call calc_check_sum_start
+	store 1,mem_ir_notify_data_check_sum
+	arg mem_ir_notify_data,rega
+	branch queue_push
+
+car_ir_24g_receive_attack:
+	fetch 1,mem_car_24g_ir_receive_attack_count
+	increase 1,pdata
+	store 1,mem_car_24g_ir_receive_attack_count
+	div pdata,2
+	call wait_div_end
+	quotient temp
+	remainder pdata
+	nbranch car_ir_24g_receive_attack_blink,blank
+car_ir_24g_receive_attack_off:
+	fetch 1,mem_car_config_led_num
+	isub temp,null
+	call car_ir_24g_go_die,zero
+	arg mem_car_led_control,pdata
+	increase -1,temp
+	iadd temp,rega
+	arg 0,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_receive_attack_blink:
+	arg mem_car_led_control,pdata
+	iadd temp,rega
+	arg 2,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_go_die:
+	jam 1,mem_car_24g_go_die_flag
+	rtn
+car_ir_clk_get:
+	copy clkn_bt,pdata
+	store 4,mem_ir_receive_clkn
+	rtn
+car_ir_clk_check:
+	copy clkn_bt,pdata
+	fetcht 4,mem_ir_receive_clkn
+	isub temp,pdata
+	sub pdata,200,null
+	rtn
+
+car_ir_gpio_get_status:
+	fetcht 1,mem_ir_rx_gpio
+	branch gpio_get_bit
+
+car_led_control_receive:
+	fetch 8,mem_le_receive_payload
+	store 8,mem_car_led_control
+	rtn
+
+car_info_request:
+	fetch 1,mem_car_config_device_select
+	store 1,mem_car_info_request_payload
+	fetch 1,mem_car_config_motor_layout
+	store 1,mem_car_info_request_payload+1
+	fetch 1,mem_car_config_ir_enable
+	store 1,mem_car_info_request_payload+2
+	arg 13,loopcnt
+	arg mem_car_info_request_head,contr
+	call calc_check_sum_start
+	store 1,mem_car_info_request_checksum
+	arg mem_car_info_request,rega
+	branch queue_push
+    
+
+
+
+
+light_init:
+	call clear_eeprom_size_2k
+	jam 0x7a,mem_curr_packet_num
+	call light_load_controler_list
+	call light_init_crr_cmd_count
+	setarg light_pairing_timer
+	store 2,mem_cb_event_timer
+	arg 0,rega
+	branch pwm_init
+
+light_pairing_timer:
+	fetch 2,mem_light_pairing_timer
+	rtn blank
+	increase -1,pdata
+	store 2,mem_light_pairing_timer
+	rtnne 0
+	jam 0,mem_light_pairing_enable
+	rtn
+
+light_init_crr_cmd_count:
+	bpatch patch1a_6,mem_patch1a
+	fetch 1,mem_light_next_record
+	sub pdata,40,null
+	rtn positive
+	jam 0,mem_light_next_record
+	rtn
+
+light_load_controler_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_read_eep_data
+
+//output user:group record find
+light_find_controler_pairing:
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_pairing_loop:
+	bpatch patch1a_7,mem_patch1a
+	call light_compare_addr_record
+	branch enable_user,zero
+light_find_single_pairing_diff:
+	increase 4,rega
+	loop light_find_controler_pairing_loop
+	rtn
+
+//rega: regb:
+light_compare_addr_record:
+	bpatch patch1b_0,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	rtn
+//rega: regb:
+light_compare_single_record:
+	bpatch patch1b_1,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	nrtn zero
+	ifetch 1,contr
+	sub pdata,0,null //0 zero
+	rtn zero
+	add rega,3,contr
+	ifetcht 1,contr
+	isub temp,null
+	rtn
+
+//output:find single controler
+light_find_controler_cmd:
+	bpatch patch1b_2,mem_patch1b
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_cmd_loop:
+	call light_compare_single_record
+	branch enable_user,zero
+	increase 4,rega
+	loop light_find_controler_cmd_loop
+	rtn
+
+//regc
+light_recv_adv:
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	arg mem_le_rxbuf+12,regc
+
+light_anylize_command:
+	ifetch 2,regc
+	arg 0x55aa,temp
+	isub temp,null
+	nrtn zero
+	copy contr,regc
+	ifetcht 3,regc
+	setarg 0xffffff
+	isub temp,null
+	branch light_parse_cmd,zero
+	call light_find_controler_cmd
+	branch light_parse_cmd,user
+	rtn
+
+light_parse_cmd:
+	bpatch patch1b_3,mem_patch1b
+	increase 4,regc
+	ifetch 1,regc
+	fetcht 1,mem_curr_packet_num
+	isub temp,null
+	rtn zero
+	store 1,mem_curr_packet_num
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	
+	increase 1,regc
+	ifetch 1,regc
+	store 1,mem_light_crr_cmd_count
+	copy pdata,loopcnt
+	rtn blank
+light_parse_cmd_loop:
+	ifetch 1,contr
+	beq LIGHT_CMD_PWM0,light_parse_cmd_pwm0
+	beq LIGHT_CMD_PWM1,light_parse_cmd_pwm1
+	beq LIGHT_CMD_PWM2,light_parse_cmd_pwm2
+	beq LIGHT_CMD_PWM3,light_parse_cmd_pwm3
+	beq LIGHT_CMD_PWM4,light_parse_cmd_pwm4
+	beq LIGHT_CMD_PWM5,light_parse_cmd_pwm5
+	beq LIGHT_CMD_AUTO_MODE,light_parse_auto_mode
+	beq LIGHT_CMD_PAIRING,light_parse_pairing
+	loop light_parse_cmd_loop
+	rtn
+
+light_parse_cmd_pwm0:
+	copy contr,regc
+	fetch 1,mem_light_pwm0
+	store 1,mem_pdatatemp
+	arg 0,temp
+light_parse_cmd_pwm_common:
+	storet 1,mem_pdatatemp+1
+	setarg 10000
+	store 3,mem_pdatatemp+2
+	ifetch 1,regc
+	store 1,mem_pdatatemp+5
+	call  pwm_out_set
+	and regc,1,contr
+	loop light_parse_cmd_loop
+	rtn
+light_parse_cmd_pwm1:
+	copy regc,contr
+	fetch 1,mem_light_pwm1
+	store 1,mem_pdatatemp
+	arg 1,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm2:
+	copy regc,contr
+	fetch 1,mem_light_pwm2
+	store 1,mem_pdatatemp
+	arg 2,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm3:
+	copy regc,contr
+	fetch 1,mem_light_pwm3
+	store 1,mem_pdatatemp
+	arg 3,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm4:
+	copy regc,contr
+	fetch 1,mem_light_pwm4
+	store 1,mem_pdatatemp
+	arg 4,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm5:
+	copy regc,contr
+	fetch 1,mem_light_pwm5
+	store 1,mem_pdatatemp
+	arg 5,temp
+	branch light_parse_cmd_pwm_common
+
+light_parse_auto_mode:
+	ifetch 1,contr
+	rtn
+
+light_parse_pairing:
+	copy contr,regc
+	fetch 1,mem_light_pairing_enable
+	bne 1,light_parse_pairing_abandon
+	call update_controler_list
+light_parse_pairing_abandon:
+	and regc,4,contr
+	rtn
+update_controler_list:
+	bpatch patch1b_4,mem_patch1b
+	call light_find_controler_pairing
+	branch update_conrtoler_list_found,user
+	fetch 1,mem_light_next_record
+	copy pdata,temp
+	increase 1,pdata
+	store 1,mem_light_next_record
+	call light_init_crr_cmd_count
+	lshift2 temp,temp
+	setarg mem_light_clist
+	iadd temp,contw
+	ifetch 4,regc
+	istore 4,contw
+	branch update_conrtoler_store_list
+update_conrtoler_list_found:
+	add regc,3,contr
+	ifetch 1,contr
+	rtn blank
+	ifetch 4,regc
+	istore 4,rega
+update_conrtoler_store_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_write_eep_data
+
+
+
+lightc_init:
+	//key scan init
+
+	//gpio init
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+	rtn
+
+
+lightc_dispatch:
+	//key scan 
+	
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_active
+
+
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+
+	//
+	call lightc_start_adv
+
+	fetch 1,mem_adv_time
+	nrtn blank
+	//sleep 
+	call lpm_write_gpio_wakeup
+	hfetch 4,core_lpm_ctrl
+	set0 15,pdata						/* lowest lpo */
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	arg param_hibernate_clks,temp
+	branch lpm_sleep
+
+lightc_adv:
+	fetch 1,mem_adv_time
+	branch le_adv_loop_tx,blank
+	increase -1,pdata
+	store 1,mem_adv_time
+	branch le_adv_loop_tx
+
+lightc_start_adv:
+	mul32 pdata,20,pdata
+	arg mem_cmd0_string,contr
+	iadd contr,contr
+	ifetch 1,contr
+	rtn blank
+	copy pdata,rega
+	copy rega,loopcnt
+	arg mem_le_adv_data+2,contw
+	call memcpy
+	copy rega,pdata
+	increase 2,pdata
+	store 1,mem_le_adv_data_len
+	rtn
+
+
+
+
+
+
+module_init:
+	
+	rtn wake
+	call le_modified_name
+	call adc_init_data
+	setarg module_process_idle
+	store 2,mem_cb_idle_process
+	setarg module_bt_conn_process
+	store 2,mem_cb_bt_process
+	setarg module_process_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg module_le_conn_process
+	store 2,mem_cb_le_process
+	setarg module_lpm_lock
+	store 2,mem_cb_check_wakelock
+	setarg module_hci_cmd_transmit_le_notify
+	store 2,mem_cb_ble_transmit
+	setarg module_hci_event_receive_spp_data
+	store 2,mem_cb_receive_spp_data
+	setarg module_le_receive_data
+	store 2,mem_cb_att_write
+	setarg module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	call module_spp_clear_last_transmite_clock
+	bpatch patch1b_5,mem_patch1b
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	branch module_hci_event_enter_standby_mode
+
+
+module_lpm_uart_init:
+	fetch 4,mem_module_uart_rx_buffer
+	hstore 4,core_uart_rsaddr
+
+	fetch 4,mem_module_uart_tx_buffer
+	hstore 4,core_uart_tsaddr
+
+	hfetch 1,core_gpio_sel1
+	or_into 0x04,pdata
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	jam 0x00,core_uart_ctrl
+
+	fetch 2,mem_module_uart_rx_buffer
+	hstore 2,core_uart_rrptr
+	fetch 2,mem_module_uart_tx_buffer
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+
+	hfetch 4,core_gpio_pu0
+	set1 7,pdata
+	hstore 4,core_gpio_pu0
+	
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	jam uartclk_crystal,core_uart_clksel
+	jam uart_ctrl_h4,core_uart_ctrl
+
+	fetch 1,mem_module_flag
+	isolate1 MODULE_FLAG_UART_FLOW_CONTROL,pdata
+	hfetcht 1,core_uart_ctrl
+	setflag true,4,temp
+	hstoret 1,core_uart_ctrl
+	rtn
+	
+
+
+module_lpm_init:
+	call module_spp_clear_last_transmite_clock
+	branch module_lpm_uart_init
+//	branch module_gpio_init
+	
+module_gpio_init:
+	//module state pin
+//	call ui_led_init	
+//	call app_led_start_blink
+	//module conn state pin
+	fetcht 1,mem_module_connect_state_gpio
+	call gpio_config_output
+	call module_set_conn_pin_low
+	
+	fetcht 1,mem_module_wake_up_gpio
+	branch gpio_config_input
+
+module_lpm_lock:
+	fetcht 1,mem_module_wake_up_gpio
+	call gpio_get_bit
+	nbranch app_put_lpm_wake_lock,true
+	branch app_get_lpm_wake_lock
+
+	
+module_le_conn_process:
+	rtn
+
+module_bt_conn_process:
+	call module_spp_enter_sniff
+	branch module_control_air_flow
+
+module_spp_enter_sniff:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_spp_clear_last_transmite_clock
+	bpatch patch1b_6,mem_patch1b
+	setarg 0x3eff
+	fetcht 4,mem_last_transmite_clock
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_SNIFF,module_spp_clear_last_transmite_clock
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_SNIFF
+	call module_set_sniff_task_flag
+	call app_bt_enter_sniff
+module_spp_clear_last_transmite_clock:
+	copy clkn_bt,pdata
+	store 4,mem_last_transmite_clock
+	rtn
+	
+
+module_process_idle:
+	call module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch module_process
+
+	
+module_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BB_CONNECTED,module_process_bb_conn
+	beq BT_EVT_BB_DISCONNECTED,module_process_bb_event_disconned
+	beq BT_EVT_RECONN_FAILED,module_process_reconn_fail
+	beq BT_EVT_SETUP_COMPLETE,module_process_setup_complete
+	beq BT_EVT_SPP_CONNECTED,module_process_spp_connected
+	beq BT_EVT_SPP_DISCONNECTED,module_process_spp_disconnected
+	beq BT_EVT_PINCODE_REQ,module_process_evt_pincode_req
+	beq BT_EVT_ENTER_SNIFF,module_process_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,module_process_exit_sniff
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,module_process_page_time_out
+	beq BT_EVT_LE_CONNECTED,module_process_le_conn
+	beq BT_EVT_LE_DISCONNECTED,module_process_bb_even_le_disconn
+	beq BT_EVT_SNIFF_NOT_ACCEPT,module_process_sniff_not_accept
+	beq BT_EVT_UNSNIFF_ACCEPT,module_process_unsniff_accept
+	beq BT_EVT_UNSNIFF_NOT_ACCEPT,module_process_unsniff_not_accept
+	beq BT_EVT_LE_PAIRING_FAIL,module_hci_event_le_pairing_fail
+	beq BT_EVT_LE_PAIRING_SUCCESS,module_hci_event_le_pairing_success
+	beq BT_EVT_LE_START_ENC,module_hci_event_start_enc
+	beq BT_EVT_LE_PAUSE_ENC,module_hci_event_pause_enc
+	beq BT_EVT_LE_TK_GENERATE,module_hci_event_le_tk
+	beq BT_EVT_BT_GKEY_GENERATE,module_hci_event_gkey_generate
+	beq BT_EVT_BT_GET_PASSKEY,module_hci_event_passkey_entry_mode
+	beq BT_EVT_BT_PAIRING_FAIL,module_hci_event_bt_pairing_fail	
+	beq BT_EVT_BT_PAIRING_SUCCESS,module_hci_event_bt_pairing_success
+	beq BT_EVT_LE_GKEY_GENERATE,module_hci_event_le_gkey
+	beq BT_EVT_STORE_NVRAM,module_hci_event_store_device
+	beq BT_EVT_LE_LTK_LOST,module_process_ble_ltk_lost
+	rtn
+
+	
+module_process_bb_event_disconned:
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_flag_pairing_state
+	ncall module_hci_event_bt_pairing_fail,blank
+	call module_disconn_start
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	branch  module_spp_disconnected
+
+module_process_spp_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SPP_CONN,pdata
+	store 2,mem_ui_state_map
+	fetch 1,mem_module_spp_lpm_mult
+	store 1,mem_lpm_mult
+	call module_set_conn_pin_low
+	branch module_hci_event_spp_connect
+
+module_process_spp_disconnected:
+//	branch module_spp_disconnected
+module_spp_disconnected:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	set0 UI_STATE_BT_SPP_CONN ,pdata
+	store 2,mem_ui_state_map
+	branch module_hci_event_spp_disconnect
+
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+	call module_spp_clear_last_transmite_clock
+	//fetch 1,mem_context
+	//rtnbit0 state_insniff
+	fetch 2,mem_context+coffset_tsniff
+	rshift pdata,pdata
+	fetcht 2,mem_sniff_param_interval
+	isub temp,null
+	nbranch module_sniff_param_check_unsniff,zero
+	branch app_lpm_mult_enable
+module_sniff_param_check_unsniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	hfetch 2,core_uart_rxitems    //*
+	ncall module_set_unsniff_task_flag,blank    //*加这两句话
+	branch app_bt_sniff_exit
+
+module_process_exit_sniff:
+	call module_clear_sniff_task_flag
+	branch app_lpm_mult_disable
+ 	
+module_process_setup_complete:
+	call module_spp_clear_last_transmite_clock
+	branch module_conn_start
+	
+module_process_bb_even_le_disconn:
+	call le_clr_config_more_data
+	call module_disconn_start
+	branch module_hci_event_le_disconnect
+
+module_process_evt_pincode_req:
+	branch  app_bt_set_pincode
+	
+
+module_process_sniff_not_accept:
+	branch module_clear_sniff_task_flag
+
+
+module_process_unsniff_accept:
+	fetch 1,mem_module_flag
+	bbit0 MOUDLE_TASK_UNSNIFF,app_bt_enter_sniff
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_unsniff_not_accept:
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_le_conn:
+	call le_send_att_exchange_mtu_requset
+	call module_conn_start
+	fetch 1,mem_module_le_lpm_mult
+	store 1,mem_lpm_mult
+	branch module_hci_event_le_connect
+
+
+module_process_bb_conn:
+	jam 0,mem_flag_mode_ssp_pin
+	call module_clear_sniff_task_flag
+	branch module_clear_unsniff_task_flag
+
+module_process_page_time_out:
+module_process_reconn_fail:
+module_disconn_start:
+	call module_start_adv_discovery_by_command
+	branch module_set_conn_pin_high
+
+
+module_process_ble_ltk_lost:
+	call le_send_reject_ind
+	branch le_send_smp_security_request
+
+
+module_set_conn_pin_high:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_active
+
+module_conn_start:
+	call module_stop_adv_discovery
+	branch module_set_conn_pin_low
+	
+module_stop_adv_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_stop_discovery,true
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	call app_ble_stop_adv,true
+	rtn
+module_set_conn_pin_low:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_inactive
+
+module_process_with_credit:
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	branch rfcomm_send_uih_without_payload
+
+module_process:
+	hfetch 1,core_uart_status
+	bbit1 uart_status_rx_fifo_empty,module_process_with_credit  //rx no data
+	call uartd_prepare_rx
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	hfetch 2,core_uart_rxitems
+	sub pdata,2,null
+	rtn positive
+	ifetch 1,contru
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	add temp,3,temp
+	hfetch 2,core_uart_rxitems
+	isub temp,temp
+	nrtn positive
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call module_hci_cmd_control
+	fetch 1,mem_module_temp_nl_discard_packet
+	rtneq HCI_NOT_DISCARD_PACKET
+	branch module_hci_dicard_packet //discard this packet
+
+module_hci_in_excp:
+	call delay_10ms
+	call module_hci_event_invalid_packet
+	branch module_hci_release_except
+
+
+module_hci_release_except:
+	bpatch patch1b_7,mem_patch1b
+	hfetch 2,core_uart_rxitems
+	rtn blank
+	call uartd_prepare_rx
+	ifetch 1,contru
+	sub pdata,0x01,null
+	ncall module_hci_dicard_bytes,zero
+	nbranch module_hci_release_except,zero
+	ifetch 1,contru
+	rtneq HCI_CMD_SPP_DATA_REQ
+	rtneq HCI_CMD_SET_CREDIT_GIVEN
+	increase -1,contru
+	call module_hci_dicard_bytes
+	branch module_hci_release_except
+
+module_hci_dicard_packet:
+	call uartd_prepare_rx
+	increase 2,contru
+	ifetch 1,contru
+	iadd contru,contru
+module_hci_dicard_bytes:
+	branch uartd_rxdone
+	
+/*********************HCI CONTROL*********************/
+module_hci_cmd_control:
+	bpatch patch1c_0,mem_patch1c
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_SET_BT_ADDR_REQ,module_hci_cmd_set_bt_addr
+	beq HCI_CMD_SET_LE_ADDR_REQ,module_hci_cmd_set_le_addr
+	beq HCI_CMD_SET_VISIBILITY_REQ,module_hci_cmd_set_visibility	
+	beq HCI_CMD_SET_BT_NAME_REQ,module_hci_cmd_set_bt_name
+	beq HCI_CMD_SET_LE_NAME_REQ,module_hci_cmd_set_le_name
+	beq HCI_CMD_SPP_DATA_REQ,module_hci_cmd_receive_spp_data
+	beq HCI_CMD_LE_DATA_REQ,module_hci_cmd_receive_le_data
+	beq HCI_CMD_STATUS_IRQ,module_hci_cmd_inquire_status
+	beq HCI_CMD_SET_PAIRING_REQ,module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_SET_PINCODE_REQ,module_hci_cmd_set_pincode	
+	beq HCI_CMD_SET_UARTCONTROL_REQ,module_hci_cmd_set_uart_control_mode
+	beq HCI_CMD_SET_UART_BAUD_REQ,module_hci_cmd_set_uart_baud
+	beq HCI_CMD_VERSION_REQ,module_hci_cmd_version_request
+	beq HCI_CMD_BT_DISCONNECT,module_hci_cmd_bt_disconnect
+	beq HCI_CMD_BLE_DISCONNECT,module_hci_cmd_ble_disconnect
+	beq HCI_CMD_SET_NVRAM_REQ,module_hci_cmd_set_nvram
+	beq HCI_CMD_CONFIRM_GKEY,module_hci_cmd_confirm_gkey
+	beq HCI_CMD_SET_CREDIT_GIVEN,module_hci_cmd_set_credit_given
+	beq HCI_CMD_AUTO_ADV_SCAN,module_hci_cmd_auto_adv
+	beq HCI_CMD_POWER_REQ,module_hci_cmd_power_request
+	beq HCI_CMD_POWER_SET,module_hci_cmd_power_set
+	beq HCI_CMD_PASSKEY_ENTRY,module_hci_cmd_passkey_entry
+	beq HCI_CMD_SET_GPIO,module_hci_cmd_set_gpio
+	beq HCI_CMD_READ_GPIO,module_hci_cmd_read_gpio
+	beq HCI_CMD_LE_SET_PAIRING,module_hci_cmd_le_set_pairing_mode
+	beq HCI_CMD_LE_SET_ADV_DATA,module_hci_cmd_le_set_adv_data
+	beq HCI_CMD_LE_SET_SCAN_DATA,module_hci_cmd_le_set_scan_data
+	beq HCI_CMD_LE_SEND_CONN_UPDATE_REQ,module_hci_cmd_le_send_conn_update_req
+	beq HCI_CMD_LE_SET_ADV_PARM,module_hci_cmd_set_le_adv_parameter
+	beq HCI_CMD_LE_START_PAIRING,module_hci_cmd_le_start_pairing
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_CMD_SET_TX_POWER,module_hci_cmd_set_tx_power
+	beq HCI_CMD_LE_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey
+	beq HCI_CMD_REJECT_JUSTWORK,module_hci_cmd_set_reject_justwork_flag
+	beq HCI_CMD_RESET_CHIP_REQ,module_hci_cmd_reset_chip
+	beq HCI_CMD_LE_SET_FIXED_PASSKEY,module_hci_cmd_le_set_fixed_passkey
+	beq HCI_TEST_CMD_CLOSE_LPM,module_hci_test_cmde_close_lpm
+	branch  module_hci_event_receive_invalid_cmd
+
+/*********************HCI COMMAND*********************/
+
+//command opcode 0x00
+module_hci_cmd_set_bt_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_lap
+	branch module_hci_event_receive_valid_cmd
+
+//command opcode 0x01
+module_hci_cmd_set_le_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_le_lap
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x02
+module_hci_cmd_set_visibility:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	call module_hci_event_receive_valid_cmd
+	ifetcht 1,contru
+	storet 1,mem_module_bluetooth_stauts_by_command
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	rtnbit1 UI_STATE_BT_CONNECTED
+module_start_adv_discovery_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	nbranch moudle_start_adv_by_command,true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	and temp,0x03,pdata
+	store 1,mem_scan_mode
+moudle_start_adv_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	nrtn true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	isolate1 2,temp
+	branch app_ble_start_adv,true
+	branch app_ble_stop_adv
+
+
+//command opcode 0x03
+module_hci_cmd_set_bt_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,67,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_local_name_length
+	arg 8,loopcnt
+	call memset0
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_local_name,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x04
+module_hci_cmd_set_le_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,29,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_name_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_name,contw
+	call uart_copy_rx_bytes_fast
+	call le_modified_name
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x05
+module_hci_cmd_receive_spp_data:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_hci_event_receive_invalid_cmd
+	call app_check_sniff
+	branch module_hci_cmd_spp_exit_sniff,true
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_remote_credits
+	rtn blank
+	fetch 2,mem_nl_rx_len_all
+	bne 0,module_hci_cmd_pass_init_ng_rx_len_all
+	fetch 1,mem_module_uart_len
+	store 2,mem_nl_rx_len_all
+
+	copy rega,contru
+//	ifetch 2,contru
+//	store 2,mem_nl_rx_handle
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+module_hci_cmd_pass_init_ng_rx_len_all:
+	call module_hci_cmd_get_current_packet_len_and_remain_len
+	branch spp_tx_rfcomm_packet
+	
+module_hci_cmd_spp_exit_sniff:
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	branch module_exit_sniff
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+	call module_hci_cmd_get_current_patcket_len
+	fetch 2,mem_nl_rx_len_all
+	fetcht 2,mem_current_packet_length
+	isub temp,pdata
+	store 2,mem_nl_rx_len_all
+	rtn
+
+module_hci_cmd_get_current_patcket_len:
+	fetch 2,mem_nl_rx_len_all
+	arg DM_REFCOM_BUFF_LEN,temp
+	call not_greater_than
+	fetcht 2,mem_rfcomm_max_frame_size
+	call not_greater_than
+	fetcht 2,mem_pn_max_frame_size
+	call not_greater_than
+	store 2,mem_current_packet_length
+	rtn
+
+module_hci_command_tx_spp_tx_complete:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	jam HCI_CMD_SPP_DATA_REQ,mem_module_uart_opcode
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x09
+module_hci_cmd_receive_le_data:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	call module_check_ble_encrypt_state
+	branch module_hci_event_receive_invalid_cmd,user
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_FINISH,module_hci_cmd_receive_le_data_finish
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	ifetch 2,contru		//handle
+	store 2,mem_module_hci_notify_handle
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_uart_len
+	pincrease -2
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	branch module_hci_event_receive_invalid_cmd,zero
+	store 1,mem_module_hci_notify_len
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call le_set_config_more_data
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	fetch 1,mem_module_flag
+	rtnbit0 MODULE_FLAG_BLE_DATA_FINISH
+module_hci_cmd_receive_le_data_finish:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_transmit_le_notify:
+	fetch 1,mem_module_hci_notify_len
+	rtn blank
+	call le_fifo_check_nearly_full
+	nrtn blank				//no fifo
+	call module_get_le_remote_mtu
+	bpatch patch1c_1,mem_patch1c
+	add temp,-3,pdata		//sub handle and opcode
+	fetcht 1,mem_module_hci_notify_len
+	call not_greater_than
+	copy pdata,rega
+	copy temp,pdata
+	isub rega,pdata
+	store 1,mem_module_hci_notify_len
+	fetcht 2,mem_module_hci_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 2,mem_module_hci_nofiy_addr
+	copy pdata,contru
+	copy rega,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	branch module_set_le_tx_data_flag
+
+
+//output: temp is master mtu
+module_get_le_remote_mtu:
+	arg 0x17,temp
+	fetch 1,mem_module_flag
+	rtnbit1 MODULE_FLAG_BLE_SEND_MTU23
+	fetcht 2,mem_le_remote_mtu
+	rtn
+
+module_check_ble_encrypt_state:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_ENCRYPT,le_check_encrypt_state
+	branch disable_user
+	
+
+//command opcode 0x0b
+module_hci_cmd_inquire_status:
+	branch module_hci_event_status_res
+
+
+//command opcode 0x0c
+module_hci_cmd_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	beq PAIRING_PINCODE,module_hci_pairing_pincode_mode
+	beq PAIRING_JUSTWORK,module_hci_pairing_just_work_mode
+	beq PAIRING_PASSKEY,module_hci_pairing_passkey
+	beq PAIRING_CONFIRM,module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+module_hci_pairing_pincode_mode:
+	call ssp_disable
+	jam 0,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_just_work_mode:
+	setarg SSP_MODE_JUST_WORK_IO_CAP_DATA
+module_hci_sspairing_mode:	
+	store 3,mem_sp_iocap_local
+	store 1,mem_ssp_mode_flag
+	call ssp_enable
+	jam 1,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_passkey:
+	setarg SSP_MODE_PASSKEY_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+module_hci_pairing_numeric_comparison:
+	setarg SSP_MODE_SSP_PIN_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+//command opcode 0x0d
+module_hci_cmd_set_pincode:
+	fetch 1,mem_module_uart_len
+	sub pdata,16,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_pin_length
+	copy pdata,loopcnt
+	arg mem_pin,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x0e
+module_hci_cmd_set_uart_control_mode:
+	copy rega,contru
+	ifetch 1,contru
+	hfetcht 1,core_uart_ctrl
+	nsetflag blank,4,temp
+	hstoret 1,core_uart_ctrl
+ 	branch module_hci_event_receive_valid_cmd
+
+ 	
+//command opcode 0x0f
+module_hci_cmd_set_uart_baud:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	call string2dec_from_uart
+	setarg uart_clk_24
+	idiv temp
+	call wait_div_end
+	quotient pdata
+module_hci_cmd_set_uart_baud_ok:
+	store uart_baud_len,mem_baud
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	branch uart_set_baud_by_mem
+
+
+//command opcode 0x10
+module_hci_cmd_version_request:
+	arg 2,rega
+	arg mem_soft_version_num,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+module_hci_event_set_cmd_send_response:
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x11
+module_hci_cmd_bt_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_bt_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_bt_disconnect
+
+	
+//command opcode 0x12
+module_hci_cmd_ble_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_ble_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_ble_disconnect
+
+
+
+
+//command opcode 0x26
+module_hci_cmd_set_nvram:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	fetch 2,mem_nv_data_ptr
+	icopy contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x28
+module_hci_cmd_confirm_gkey:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd	
+	ifetch 1,contru
+	fetcht 1,mem_flag_mode_ssp_pin
+	setflag blank,FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,temp
+	set1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,temp
+	storet 1,mem_flag_mode_ssp_pin
+
+	call module_hci_event_receive_valid_cmd
+
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,module_hci_cmd_spp_number_comparison_result_is1
+	rtn
+
+dhkey_not_accept:
+	jam 0,mem_flag_mode_ssp_pin
+	jam BT_CMD_DHKEY_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+
+module_hci_cmd_spp_number_comparison_result_is1:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	branch dhkey_not_accept	
+
+
+//command opcode 0x29
+module_hci_cmd_set_credit_given:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	ifetch 1,contru
+	fetcht 1,mem_credit_given
+	iadd temp,temp
+	storet 1,mem_credit_given
+	rtn
+
+	
+//command opcode 0x2a
+module_hci_cmd_auto_adv:
+	arg 0x40,loopcnt
+	arg mem_le_adv_data_len,contw
+	call clear_mem
+	setarg 0
+	store 1,mem_regb
+	copy rega,contru
+module_hci_cmd_auto_adv_loop:
+	copy contru,pdata
+	store 2,mem_regc
+	call module_hci_cmd_auto_adv_adv_analys
+
+	fetch 1,mem_regb
+	fetcht 1,mem_temp
+	increase 1,temp
+	iadd temp,pdata
+	store 1,mem_regb
+
+	sub pdata,31,null
+	nbranch module_hci_cmd_auto_adv_store_scan,positive
+module_hci_cmd_auto_adv_store_adv:
+	fetcht 1,mem_le_adv_data_len
+	setarg mem_le_adv_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_adv_data_len
+	iadd temp,pdata
+	store 1,mem_le_adv_data_len
+	branch module_hci_cmd_auto_adv_store_common
+module_hci_cmd_auto_adv_store_scan:
+	fetcht 1,mem_le_scan_data_len
+	setarg mem_le_scan_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_scan_data_len
+	iadd temp,pdata
+	store 1,mem_le_scan_data_len
+module_hci_cmd_auto_adv_store_common:
+	fetch 2,mem_contw
+	copy pdata,contw
+	fetch 2,mem_regc
+	copy pdata,contru
+
+	copy temp,loopcnt
+	call uart_copy_rx_bytes_fast
+
+	fetch 1,mem_module_uart_len
+	fetcht 1,mem_regb
+	isub temp,null
+	nbranch  module_hci_cmd_auto_adv_loop,zero
+	branch module_hci_event_receive_valid_cmd
+
+//block of adv len in mem_temp
+module_hci_cmd_auto_adv_adv_analys:
+	ifetch 1,contru
+	store 1,mem_temp
+	ifetch 1,contru
+	store 1,mem_rega
+	rtn
+
+
+//command opcode 0x2b
+module_hci_cmd_power_request:
+	arg 0,temp
+	arg 2,rega
+	fetch 2,mem_module_vdd_quotient
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x2c
+module_hci_cmd_power_set:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_read_vdd_flag
+	setarg 0x00
+	store 2,mem_module_vdd_quotient
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x30
+module_hci_cmd_passkey_entry:
+	ifetch 4,contru
+	store 4,mem_pin
+	jam 4,mem_pin_length
+	jam 0,mem_authentication_passkey_times
+	call module_hci_event_receive_valid_cmd
+	branch authentication_passkey
+
+
+//command opcode 0x31
+module_hci_cmd_set_gpio:
+	fetch 1,mem_module_uart_len
+	bne 3,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	beq HCI_CMD_CONFIG_GPIO_INPUT,module_set_gpio_input
+	beq HCI_CMD_CONFIG_GPIO_OUTPUT,module_set_gpio_output
+	branch module_hci_event_receive_invalid_cmd
+
+module_set_gpio_input:
+	ifetcht 1,contru
+	ifetch 1,contru
+	beq GPIO_INPUT_HIGH_IMPEDANCE,module_set_gpio_high_impedance
+	nsetflag blank,7,temp
+	call gpio_config_input
+	branch module_hci_event_receive_valid_cmd
+
+module_set_gpio_high_impedance:
+	call gpio_set_high_impedance
+	branch module_hci_event_receive_valid_cmd
+	
+module_set_gpio_output:
+	ifetcht 1,contru
+	call gpio_config_output0
+	ifetch 1,contru	
+	isolate1 0,pdata
+	call gpio_out_flag
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x32
+module_hci_cmd_read_gpio:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetcht 1,contru
+	call gpio_get_bit
+	setarg 0x0
+	nsetflag true,0,pdata
+	arg 1,rega
+	branch module_hci_event_set_cmd_send_response
+
+
+//command opcode 0x33
+module_hci_cmd_le_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	copy pdata,temp
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,module_le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,module_le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,module_le_set_pairing_mode_secure_passkey
+	store 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, module_le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,module_le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,module_le_set_pairing_mode_lagacy_passkey
+	branch module_hci_event_receive_invalid_cmd
+		
+module_le_set_pairing_mode_secure_justwork:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_secure_numeric:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_secure_passkey:	
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_displayonly
+module_le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+module_le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+module_le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x34
+module_hci_cmd_le_set_adv_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_adv_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_adv_data,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x35
+module_hci_cmd_le_set_scan_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_scan_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_scan_data,contw
+	call uart_copy_rx_bytes_fast	
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x36
+module_hci_cmd_le_send_conn_update_req:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_module_uart_len
+	bne 0x08,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	ifetch 8,contru
+	store 8,mem_le_interval_min
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call  ui_ipc_send_cmd
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x37
+module_hci_cmd_set_le_adv_parameter:
+	ifetch 2,contru
+	store 2,mem_le_adv_interval
+	branch module_hci_event_receive_valid_cmd
+	
+	
+//command opcode 0x38
+module_hci_cmd_le_start_pairing:
+	fetch 1,mem_le_pairing_mode
+	branch module_hci_event_receive_invalid_cmd,blank
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_le_enc_state
+	bne FLAG_LE_ENC_NULL,module_hci_event_receive_invalid_cmd
+	call check_51cmd_le_smp_sec_req
+	branch module_hci_event_receive_valid_cmd	
+
+
+//command opcode 0x40
+module_hci_cmd_set_wake_gpio:
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_mcu_wake_pin
+	ifetch 4,contru
+	store 4, mem_module_mcu_wake_delay_us
+	fetcht 1,mem_module_mcu_wake_pin
+	call gpio_config_output
+	call module_set_mcu_wake_pin_low
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x42
+module_hci_cmd_set_tx_power:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_tx_power
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x48
+module_hci_cmd_le_confirm_gkey:
+	ifetch 1,contru
+	beq 0x01,module_hci_cmd_le_confirm_gkey_fail
+	fetch 1,mem_le_secure_connect_state
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_RECEIVE_DHKEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey_ok
+	branch module_hci_event_receive_invalid_cmd		
+module_hci_cmd_le_confirm_gkey_ok:
+	jam FLAG_LE_SC_CONFRIM_GKEY_OK,mem_le_sc_confirm_gkey_flag
+	branch module_hci_event_receive_valid_cmd	
+	
+module_hci_cmd_le_confirm_gkey_fail:
+	call le_send_pairing_confirm_value_failed
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x49
+module_hci_cmd_set_reject_justwork_flag:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	ifetch 1,contru
+	branch classic_bt_clr_reject_justwork_flag,blank
+	branch classic_bt_set_reject_justwork_flag
+
+
+//command opcode 0x51
+module_hci_cmd_reset_chip:
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	jam 0x01,core_reset // rest YC1021
+	branch loop
+
+
+//command opcode 0x61
+module_hci_cmd_le_set_fixed_passkey:
+	fetch 1,mem_module_uart_len
+	beq 0,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	branch module_hci_cmd_le_set_random_passkey,blank
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 4,contru
+	arg 1000000,temp
+	isub temp,null
+	branch module_hci_event_receive_invalid_cmd,positive
+	store 4,mem_le_tk
+	call le_set_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_le_set_random_passkey:
+	call le_clr_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0xff
+module_hci_test_cmde_close_lpm:
+	jam 0,mem_lpm_mode
+	branch module_hci_event_receive_valid_cmd
+	
+
+/*********************HCI EVENT*********************/
+
+module_hci_event_receive_invalid_cmd:
+	arg 1,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+module_hci_event_receive_valid_cmd:
+	arg 0,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+//event opcode 0x00
+module_hci_event_spp_connect:
+	jam  HCI_EVENT_SPP_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x02
+module_hci_event_le_connect:
+	jam  HCI_EVENT_LE_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x03
+module_hci_event_spp_disconnect:
+	jam  HCI_EVENT_SPP_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x05
+module_hci_event_le_disconnect:
+	jam  HCI_EVENT_LE_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x06
+//input:
+//	temp: success 0; fail 1
+//	rega:Response Content length
+//	regb:Response Content address
+module_hci_event_set_cmd:
+	fetch 1,mem_module_uart_opcode
+	copy pdata,regc
+	jam  HCI_EVENT_CMD_RES,mem_module_uart_opcode
+	setarg 2
+	iadd rega,pdata
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	istoret 1,contwu
+	copy rega,loopcnt
+	copy regb,contr
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+//event opcode 0x07
+module_hci_event_receive_spp_data:
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	jam HCI_EVENT_SPP_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_current_length
+	rtn blank
+	call module_hci_prepare_tx
+	fetch 1,mem_current_length
+	copy pdata,loopcnt
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x08
+module_hci_event_receive_le_data:
+	jam HCI_EVENT_LE_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_module_le_rx_data_len
+	icopy loopcnt
+	increase 2,pdata
+	call module_hci_prepare_tx
+	fetch 2,mem_module_le_rx_data_handle // Attribute handle
+	istore 2,contwu
+	fetch 2,mem_module_le_rx_data_address
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x09
+module_hci_event_enter_standby_mode:
+	jam HCI_EVENT_STANDBY_REP,mem_module_uart_opcode
+module_hci_event_enter_standby_mode_len0:
+	setarg 0
+	call module_hci_prepare_tx
+	branch uartd_send
+
+
+//event opcode 0x0a
+module_hci_event_status_res:
+	jam HCI_EVENT_STATUS_RES,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	
+	call module_hci_read_bt_status
+	
+	fetch 2,mem_ui_state_map	
+	arg UI_STATE_BT_HID_CONN,queue
+	qisolate1 pdata
+	setflag true,3,temp
+
+	arg UI_STATE_BLE_CONNECTED,queue
+	qisolate1 pdata
+	setflag true,5,temp	
+	
+	fetch 1,mem_ui_state_map
+	arg UI_STATE_BT_SPP_CONN,queue
+	qisolate1 pdata
+	setflag true,4,temp	
+	
+	istoret 1,contwu
+	branch uartd_send
+
+//	temp: bit0 3.0 inquiry;bit1 3.0 scan;bit2 ble adv;
+
+module_hci_read_bt_status:
+	arg 0,temp
+	fetch 1,mem_scan_mode
+	arg inq_scan_mode,queue
+	qisolate1 pdata
+	setflag true,0,temp
+	arg page_scan_mode,queue
+	qisolate1 pdata
+	setflag true,1,temp	
+
+	fetch 1,mem_le_adv_enable
+	arg 0,queue
+	qisolate1 pdata
+	setflag true,2,temp	
+	rtn
+
+
+//event opcode 0x0d
+module_hci_event_store_device:
+	jam HCI_EVENT_NVRAM_REP,mem_module_uart_opcode
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,pdata
+	icopy loopcnt
+	call module_hci_prepare_tx
+	fetch 2,mem_nv_data_ptr
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x0e
+module_hci_event_gkey_generate:
+	jam HCI_EVENT_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x0f
+module_hci_event_invalid_packet:
+	jam HCI_EVENT_INVALID_PACKET,mem_module_uart_opcode
+	hfetch 2,core_uart_rxitems
+	arg 0xff,temp
+	call not_greater_than
+	copy pdata,loopcnt
+	call module_hci_prepare_tx
+	call uartd_prepare_rx
+	call uart_copy_rx2tx
+	branch uartd_send
+
+
+//event opcode 0x10
+module_hci_event_passkey_entry_mode:
+	jam  HCI_EVENT_GET_PASSKEY,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x11
+module_hci_event_le_tk:
+	jam HCI_EVENT_LE_TK,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_le_tk
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x14
+module_hci_event_le_pairing_fail:
+	arg FLAG_BLE_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_le_pairing_success:
+	arg FLAG_BLE_PAIRING_SUCCESS,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_fail:
+	arg FLAG_BT_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_success:
+	arg FLAG_BT_PAIRING_SUCCESS,rega
+
+module_hci_event_pairing_completed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam HCI_EVENT_LE_PAIRING_STATE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	copy rega,pdata
+	istore 2,contwu
+	branch uartd_send
+
+
+//event opcode 0x15
+module_hci_event_pause_enc:
+	arg FLAG_EVENT_PAUSE_ENC,regc
+	branch module_hci_event_enc
+
+module_hci_event_start_enc:
+	arg FLAG_EVENT_START_ENC,regc
+
+module_hci_event_enc:
+	jam HCI_EVENT_LE_ENCRYPTION_STATE,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	branch uartd_send
+
+
+//event opcode 0x1d
+module_hci_event_le_gkey:
+	jam HCI_EVENT_LE_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//****************************************************************//
+	//module_hci_prepare_tx
+	//function:write hci packet header
+	//input: pdata-----packet length  (1byte)
+	//input: mem_uart_opcode------opcode (1byte)
+	//output:contwu --- pointer to packet payload
+	//use reg: contwu,pdata
+//****************************************************************//	
+module_hci_prepare_tx:
+	jam 0x02,mem_module_uart_cmd
+	store 1,mem_module_uart_len
+	storet 8,mem_temp
+	bpatch patch1c_2,mem_patch1c
+	call module_set_mcu_wake_pin_high_delay
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 3,mem_module_uart_cmd
+	istore 3,contwu
+	rtn
+
+
+module_set_mcu_wake_pin_high_delay:
+	call module_check_mcu_wake_pin_high
+	rtn true
+module_set_mcu_wake_pin_h_delay:
+	call module_set_mcu_wake_pin_high
+	fetch 4,mem_module_mcu_wake_delay_us
+	rshift2 pdata,pdata
+	rtn blank
+	branch delay
+
+module_set_mcu_wake_pin_high:
+	//call ice_break
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_active
+
+module_check_mcu_wake_pin_high:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_check_active
+
+module_set_mcu_wake_pin_low:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_inactive
+
+
+delay:
+	increase -1,pdata
+	nop 38
+	nbranch delay,blank
+	rtn
+
+/*********************hci command end*********************/
+
+/*********************hci ble receive data start*********************/
+
+//rega is le rx data address
+//regb is le rx data length
+//mem_le_att_handle is write handle
+module_le_receive_data:
+	call module_check_ble_encrypt_state
+	rtn user
+	copy rega,pdata
+	store 2,mem_module_le_rx_data_address
+	copy regb,pdata
+	store 1,mem_module_le_rx_data_len
+	fetch 2,mem_le_att_handle
+	fetcht 2,mem_module_data_write_handle
+	isub temp,null
+	branch module_le_receive_data_ok,zero
+	fetcht 2,mem_module_data_write_handle2
+	isub temp,null
+	nrtn zero
+module_le_receive_data_ok:	
+	store 2,mem_module_le_rx_data_handle
+	branch module_hci_event_receive_le_data
+
+
+/*********************hci ble receive data end*********************/
+
+module_exit_sniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	call module_set_unsniff_task_flag	
+	branch app_bt_sniff_exit
+
+
+module_set_lpm_mult_2:
+	jam 2,mem_lpm_mult
+	rtn
+
+
+
+module_bb_event_timer:
+	branch module_read_vdd_timer
+
+module_read_vdd_timer:
+	fetch 1,mem_module_read_vdd_flag
+	rtn blank
+	fetch 1,mem_module_read_vdd_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_module_read_vdd_count
+	nrtn blank
+	jam FLAG_MODULE_READ_VDD_COUNT,mem_module_read_vdd_count
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	div pdata,0x64
+	call wait_div_end
+	quotient pdata
+	remainder temp
+	store 1,mem_module_vdd_quotient
+	storet 1,mem_module_vdd_remainder
+	rtn	
+	
+
+module_control_air_flow:
+	call check_uart_tx_buff
+	branch app_l2cap_flow_control_enable,positive
+	branch app_l2cap_flow_control_disable
+
+
+/**************module state *******************/
+module_set_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_set_state
+
+module_clear_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_clr_state
+
+module_set_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_set_state
+
+module_clear_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_clr_state
+
+module_set_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_set_state
+	
+module_clear_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_clr_state
+
+module_clr_state:
+	fetch 1,mem_module_flag
+	qset0 pdata
+	store 1,mem_module_flag
+	rtn
+
+module_set_state:
+	fetch 1,mem_module_flag
+	qset1 pdata
+	store 1,mem_module_flag
+	rtn
+	
+/**************module state end*******************/
+
+
+
+
+//define FPGA_DEBUG
+
+
+mouse_init:
+	call mouse_setting_config
+	call spi_ncs_enable
+	call mouse_init_sunt
+	call mouse_dpi_config
+	call spi_ncs_disable
+	rtn wake
+	call mouse_cheak_enable_usb
+	call mouse_cb_fuction
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_ENABLE_USB
+	call mouse_wakeup_from_power//,true	// enter 
+	rtnmark1 mark_24g
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch mouse_check_reconn_target
+
+
+mouse_delay_4s:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_INIT_DELAY
+	arg 20,loopcnt
+mouse_delay_20ms:
+	setarg 200000
+	call sleep
+	loop delay_10ms
+	rtn
+
+	
+mouse_cheak_enable_usb:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	branch usb_init
+	
+
+mouse_cb_fuction:
+	setarg mouse_le
+	store 2,mem_cb_le_process
+	setarg mouse_send_process
+	store 2,mem_cb_bt_process
+	setarg mouse_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg mouse_idle
+	store 2,mem_cb_idle_process
+	setarg mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+
+	call g24_head_ptr2regc
+	setarg mouse_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	setarg mouse_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	setarg mouse_lpm_before_common
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+	
+	setarg mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg mouse_spi_write_flash_cb
+	store 2,mem_cb_spi_flash_write_complate
+	rtn
+mouse_spi_write_flash_cb:
+mouse_spi_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_SPI2,spid_init
+	branch spid_init2
+
+mouse_setting_config:
+	rtn wake
+	call g24_set_device_addr
+	call mouse_gpio_init
+	call mouse_param_init
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_init_iic
+	bbit1 MOUSE_ENABLE_FLASH,mouse_load_flash_info_cheak
+	rtn
+
+mouse_init_iic:
+	call iic_init_390k
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	ncall clear_eeprom_size_2k,true
+	call mouse_load_eeprom_dpi
+	call mouse_init_environment
+	call mouse_set_24g_addr_eeprom
+	branch iicd_read_eep_data
+
+mouse_wakeup_from_power:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,mouse_wakeup_no_from_power
+	fetch 1,mem_wakup_from_power_flag
+	isolate0 gpio_latch,pdata
+	nrtn true
+mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
+mouse_start_24g_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,g24_auto_pair_start
+	branch g24_check_51cmd_start_24g
+le_mouse_bb_event_connect_complete:
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+mouse_le_write_enable:	
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+mouse_dpi_up:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_mouse_dpi_button_state
+	rtn
+mouse_dpi_config:
+	fetch 1,mem_config_sensor_motion
+	and pdata,0x0f,pdata
+	store 1,mem_mouse_dpi
+	branch mouse_seting_dpi+2
+
+
+mouse_dpi_cheak:
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	nbranch mouse_dpi_up,true
+mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+mouse_dpi_down_setting:	
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eerpom_dpi
+	bbit1 MOUSE_ENABLE_FLASH,mouse_before_store_flash_cpi
+	rtn
+mouse_before_store_flash_cpi:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	call gpio_config_output				//hold high
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	call gpio_config_output 			//hold high 
+	branch mouse_store_flash_device_info
+
+mouse_seting_dpi:
+	bpatch patch1c_3,mem_patch1c
+	call mosue_dpi_led_blink_init
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_seting_3610_dpi
+	beq P3212,mouse_seting_3212_dpi
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
+mouse_set_cpi2:
+	fetch 1,mem_320x_dpi_2
+	branch mouse_p3205_dpi
+mouse_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	branch mouse_p3205_dpi
+mouse_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+	branch mouse_p3205_dpi
+mouse_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	branch mouse_p3205_dpi
+moue_seting_cpi_count:
+	fetch 1,mem_config_sensor_type
+	rtneq P3065_XY
+	fetch 1 ,mem_mouse_cpi_count
+	increase 1,pdata
+	store 1,mem_mouse_cpi_count
+	rtn
+
+mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+mouse_set_p3212_cpi2:
+	fetch 1,mem_3212_dpi_2
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi1:
+	fetch 1,mem_3212_dpi_1
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi3:
+	fetch 1,mem_3212_dpi_3
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi4:
+	fetch 1,mem_3212_dpi_4
+mouse_p3212_dpi:
+	store 1,mem_mouse_cpi_count
+	lshift8 pdata,pdata
+	copy pdata,rega
+	add pdata,MOUSE_P3212_DPI_XADDRESS,pdata
+  	call twspi_write
+ 	copy rega,pdata
+  	add pdata,MOUSE_P3212_DPI_YADDRESS,pdata
+	branch twspi_write
+	
+mouse_seting_3610_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3610_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3610_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3610_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3610_cpi4
+mouse_set_p3610_cpi2:
+	fetch 1,mem_3610_dpi_2
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi1:
+	fetch 1,mem_3610_dpi_1
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi3:
+	fetch 1,mem_3610_dpi_3
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi4:
+	fetch 1,mem_3610_dpi_4
+mouse_p3610_dpi:
+	store 1,mem_mouse_cpi_count
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_mouse_cpi_count
+mouse_reset_p3610_dpi:
+	add pdata,0x80,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_P3610_DPI_ADDRESS,pdata
+	copy pdata,rega
+	branch mouse_set_sensor_reg
+	
+mouse_p3205_dpi:
+	store 1,mem_mouse_cpi_count
+	call moue_seting_cpi_count
+	fetch 1,mem_mouse_cpi_count
+	setarg MOUSE_DPI_ADDRESS
+	call twspi_read
+	and pdata,0xf8,temp
+	fetch 1,mem_mouse_cpi_count
+	iadd temp,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_DPI_ADDRESS,pdata
+	branch twspi_write
+	
+
+mouse_init_environment:
+	call app_initflag_check
+	branch mouse_eeprom_load_recon_info,zero
+	call mouse_ble_init_address
+	call mouse_store_eeprom_device_info
+	branch app_initflag_store
+
+
+mouse_24g_pairing_button:
+	fetch 2,mem_24g_pairing_timer_count
+	rtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_check_key_gpio
+	rtnne MOUSE_LMR_BUTTON
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	call g24_set0_mem_check_dongle_times
+	
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	call mouse_stop_discovery
+	branch g24_start_pairing_sm1
+	
+
+mouse_idle:
+	call mouse_24g_pairing_button
+	call ui_check_paring_button
+	call mouse_dpi_cheak
+	call mouse_usb_isr
+	call mouse_wheel_check
+	branch mouse_usb_mode
+mouse_usb_isr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	call usb_isr	
+	branch usb_offline_state
+
+mouse_cheak_usb:
+	hfetch 1,core_usb_addr
+	bbit0 7,mouse_usb_no_exsit
+	bbit1 7,mouse_usb_exsit
+	rtn
+mouse_usb_no_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit0 7
+	branch soft_reset_chip
+mouse_usb_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit1 7
+	branch mouse_stop_bluetooth_mode
+	
+mouse_usb_mode:
+	call mouse_cheak_usb
+	hfetch 1,core_usb_addr
+	store 1,mem_usb_addr
+	rtnbit0 7
+	call mouse_clkn_check 
+	fetch 4,mem_btclk_sensor
+	fetcht 1,mem_wire_usb_interval
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	store 4,mem_btclk_sensor
+	call mouse_motion
+	nrtn user
+	jam 4,mem_usb_tx_enable
+	branch mouse_wired_to_usb
+
+mouse_clkn_check:
+	fetcht 4,mem_btclk_sensor
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall mouse_clkn_timeout,positive
+	rtn
+mouse_clkn_timeout:
+	setarg 0
+	store 4,mem_btclk_sensor
+	rtn
+
+
+	
+mouse_wired_to_usb:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	branch mouse_data_push
+mouse_data_push:
+	hfetch 1,core_usb_addr
+	rtnbit0 7
+	jam USB_EP2_MS,mem_usb_ep2_data
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+
+mouse_enable_clock_qdecoder:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_QDECODER,pdata
+	hstore 2,core_clkoff
+	rtn
+
+mouse_param_init:
+	setarg 0x8c00				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	setarg 0x8e7a				//ble attlist start address
+	store 2,mem_ui_le_uuid_table
+	setarg 0x2402
+	store 2,mem_fcomp_mul
+	setarg 0x2580
+	store 3,mem_class
+	jam 3,mem_lpm_mult_timeout
+	jam 8,mem_lpm_overhead
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	setarg 0x0200
+	store 2,mem_lpm_interval
+	jam 0x17,mem_le_local_mtu
+	jam 0x17,mem_le_remote_mtu
+//===========init spi param==============================
+	setarg 0x0a77
+	store 2,mem_spi_init_clk
+//===========default bt reconnect address===================	
+//	jam 1,mem_device_flag
+//	setarg 0x332211
+//	store 3,mem_device1_addr
+//	store 3,mem_device2_addr
+//	store 3,mem_device3_addr
+//	setarg 0x665544
+//	store 3,mem_device1_addr+3
+//	store 3,mem_device2_addr+3
+//	store 3,mem_device3_addr+3
+//	setarg 0x34
+//	store 1,mem_device1_type
+//	store 1,mem_device2_type
+//	store 1,mem_device3_type
+//===========all 16bit uuid==================================
+	setsect 0,0x306
+	setsect 1,0x4440
+	setsect 2,0x10000
+	setsect 3,0x4408
+	store 9,mem_all_uuid_16bits
+	setsect 0,0x1224
+	setsect 1,0x4000
+	setsect 2,0x0
+	istore 5,contw
+//===========features=====================================
+	setsect 0,0x3ffff
+	setsect 1,0x2fe23
+	setsect 2,0x199d9
+	setsect 3,0x20d
+	store 8,mem_features
+//======================================================	
+	setarg 0x012c  				//24g ban pairing timer init
+	store 2,mem_24g_pairing_timer_count
+	call le_modified_name
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+	call mouse_sensor_set_angle
+	branch mouse_select_adc
+
+mouse_sensor_set_angle:
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	jam MOUSE_3CLK_ANGLE,mem_config_sensor_angle
+	rtn true
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+
+mouse_select_adc:
+	fetcht 1,mem_select_adc_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_adc_gpio
+	call gpio_get_bit
+	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
+	rtn true
+	jam ADC_CONFIG_GPIO,mem_adc_config_flag
+	rtn
+	
+	
+mouse_adc_init:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,mouse_adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,mouse_adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,mouse_adc_init_data_io
+	branch mouse_adc_init_data_vinlpm
+	
+mouse_adc_init_data_vinlpm:
+	fetcht 2,mem_2v_adc_vinlpm_data
+	fetch 2,mem_3v_adc_vinlpm_data
+	isub temp,pdata
+	mul32 pdata,20,pdata 
+	div pdata,100
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //vinlpm :2v2 low alter
+	rtn
+mouse_adc_init_data_hvin:
+	fetcht 2,mem_1v_adc_hvin_data
+	fetch 2,mem_5v_adc_hvin_data
+	isub temp,pdata
+	mul32 pdata,230,pdata 
+	div pdata,400
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //hvin :3v3 low alter
+	rtn
+mouse_adc_init_data_io:
+	fetch 2,mem_1v_adc_io_data
+	store 2,mem_adc_reference_voltage  //vio :1v low alter
+	rtn
+mouse_gpio_init:
+	fetcht 1,mem_eeprom_wp_gpio
+	call gpio_config_output
+	call usb_offline_check_init
+	fetcht 1,mem_lbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_rbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_mbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_config_input
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_config_input
+	fetcht 1,mem_fw_button_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_config_low_voltage_alarm_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device1_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device2_led_gpio
+	call gpio_config_output
+	
+	fetcht 1,mem_config_device3_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_dpi_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_config_input
+	
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_config_input	
+
+	fetcht 1,mem_dpi_button_gpio
+	branch gpio_config_input
+
+mouse_wheel_gpio_set_wake:
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	branch gpio_set_wake_by_current_state
+	
+mouse_before_hibernate_wheel_gpio_set:
+	fetcht 1,mem_whee_a_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_b_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_ta_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_tb_data_gpio
+	branch mouse_gpio_set_pupd_by_input
+
+mouse_gpio_set_pupd_by_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	and temp,0x7f,queue
+	hfetch 4,core_gpio_in
+	qisolate1 pdata
+	hfetch 4,core_gpio_pu0
+	qsetflag true,pdata
+	hstore 4,core_gpio_pu0
+	hfetch 4,core_gpio_pd0
+	nqsetflag true,pdata
+	hstore 4,core_gpio_pd0
+	rtn
+	
+mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+//	call gpio_set_before_lpm_common
+	branch mouse_lpm_before_common
+
+
+	
+mouse_process_lpm_before:
+	call mouse_lpm_before_common
+	fetch 1,mem_lpm_current_mult
+	nrtn blank					// 7.5ms, no gpio wakeup
+	branch gpio_clr_wake
+
+mouse_lpm_before_common:
+	call mouse_wheel_check
+	arg MOUSE_SPI1_CLK_GPIO,temp					// set sclk high
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_spi_clk_gpio,true
+	call gpio_config_output
+	call twspi_disable
+
+
+
+	fetcht 1,mem_lbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_rbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_mbutton_gpio
+	call gpio_set_wake_by_current_state
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_fw_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_set_wake
+	
+
+	
+mouse_spi_clk_gpio:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	rtn
+
+mouse_wheel_check:
+	bpatch patch1c_4,mem_patch1c
+	call mouse_t_wheel_scan
+	call mouse_wheel_scan
+	fetch 1,mem_wheel_tb_new_pinlevel
+	fetcht 1,mem_wheel_tb_old_pinlevel
+	store 1,mem_wheel_tb_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	fetch 1,mem_mwheel_b_new_pinlevel
+	fetcht 1,mem_mwheel_b_old_pinlevel
+	store 1,mem_mwheel_b_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	rtn
+mouse_t_wheel_scan:
+	fetch 1,mem_whee_ta_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_wheel_tb_new_pinlevel
+	beq 0x01,mouse_t_wheel_scan_judge1
+	beq 0x02,mouse_t_wheel_scan_judge2
+	fetch 1,mem_wheel_tog
+	bbit1 7,mouse_t_wheel_scan_judge3
+	rtn
+
+mouse_t_wheel_scan_judge1:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge11
+	beq 3,mouse_t_wheel_scan_judge12
+	rtn
+mouse_t_wheel_scan_judge2:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge21
+	beq 3,mouse_t_wheel_scan_judge22
+	rtn
+mouse_t_wheel_scan_judge11:
+	jam 0x82,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge12:
+	jam 0x81,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge21:
+	jam 0x80,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge22:
+	jam 0x83,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge3:
+	fetch 1,mem_wheel_tog
+	set0 7,pdata
+	store 1,mem_wheel_tog
+	beq 0,mouse_t_wheel_scan_judge30
+	beq 1,mouse_t_wheel_scan_judge31
+	beq 2,mouse_t_wheel_scan_judge32
+	beq 3,mouse_t_wheel_scan_judge33
+	rtn
+mouse_t_wheel_scan_judge30:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge31:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge32:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_back
+	rtn
+mouse_t_wheel_scan_judge33:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_back
+	rtn
+mouse_wheel_t_forward:
+	fetch 1,mem_mouse_tz_data_count1
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count1
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count1
+	fetch 1,mem_mouse_tz_data
+	increase 1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+mouse_wheel_t_back:
+	fetch 1,mem_mouse_tz_data_count
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count
+	fetch 1,mem_mouse_tz_data
+	increase -1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+
+
+mouse_wheel_scan:
+	fetch 1,mem_whee_a_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_mwheel_b_new_pinlevel
+	beq 0x01,mouse_wheel_scan_judge1
+	beq 0x02,mouse_wheel_scan_judge2
+	fetch 1,mem_mwheel_tog
+	bbit1 7,mouse_wheel_scan_judge3
+	rtn
+
+mouse_wheel_scan_judge1:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge11
+	beq 3,mouse_wheel_scan_judge12
+	rtn
+mouse_wheel_scan_judge2:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge21
+	beq 3,mouse_wheel_scan_judge22
+	rtn
+mouse_wheel_scan_judge11:
+	jam 0x82,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge12:
+	jam 0x81,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge21:
+	jam 0x80,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge22:
+	jam 0x83,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge3:
+	fetch 1,mem_mwheel_tog
+	set0 7,pdata
+	store 1,mem_mwheel_tog
+	beq 0,mouse_wheel_scan_judge30
+	beq 1,mouse_wheel_scan_judge31
+	beq 2,mouse_wheel_scan_judge32
+	beq 3,mouse_wheel_scan_judge33
+	rtn
+mouse_wheel_scan_judge30:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge31:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge32:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_back
+	rtn
+mouse_wheel_scan_judge33:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_back
+	rtn
+mouse_wheel_forward:
+	jam 0,mem_mouse_z_data_count1
+	fetch 1,mem_mouse_z_data
+	increase 1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_wheel_back:
+	jam 0,mem_mouse_z_data_count
+	fetch 1,mem_mouse_z_data
+	increase -1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+	
+	
+mouse_hid_connected:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+	
+mouse_send_process:
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+mouse_send_data:
+	arg 9,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+	
+mouse_send_empty_data:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_send_data
+
+
+mouse_no_data_timer_init:
+	fetch 2,mem_mouse_no_data_timeout
+	store 2,mem_mouse_no_data_timer
+	rtn
+
+	
+mouse_fill_data_le:
+	bpatch patch1c_5,mem_patch1c
+	arg 7,rega //len
+	fetcht 2,mem_le_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+mouse_motion:
+	bpatch patch1c_6,mem_patch1c
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call mouse_key
+	nrtn user
+	call mouse_no_data_timer_init
+	arg MOUSE_STATUE_UP_FLAG,queue
+	branch mouse_enable_function_flag
+	
+motion_6clk_direction_dispose:
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	branch enable_user
+motion_12clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	branch enable_user
+motion_9clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	call mouse_sensor_data_swap_places
+	branch enable_user
+motion_3clk_direction_dispose:
+	call mouse_sensor_data_swap_places
+	branch enable_user
+mouse_cheak_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3205,mouse_p32xx_sensor_motion
+	beq P3065,mouse_p32xx_sensor_motion
+	beq KA8,mouse_p32xx_sensor_motion
+	beq P3204,mouse_p32xx_sensor_motion
+	beq P3212,mouse_p3212_sensor_motion
+	beq P3610,mouse_p3610_sensor_motion
+	beq P3065_xy,mouse_p32xx_sensor_motion
+	branch mouse_p32xx_sensor_motion
+	
+mouse_clear_sensor_data:
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor_common,blank
+	jam 1,mem_mouse_move_flag
+	rtn
+
+
+mouse_p3212_sensor_motion:
+	call mouse_clear_sensor_data
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+mouse_p3212_sensor_motion_1:	
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_twspi_reset
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	call mouse_read_3212sensor_xy_high
+	store 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion_6clk_direction_dispose
+	beq MOUSE_9CLK_ANGLE,motion_9clk_direction_dispose
+	beq MOUSE_12CLK_ANGLE,motion_12clk_direction_dispose
+	beq MOUSE_3CLK_ANGLE,motion_3clk_direction_dispose
+	rtn
+
+mouse_read_3212sensor_xy_high:
+	setarg 0x12
+	branch twspi_read
+	
+mouse_p3065_judge:
+	beq P3065_ID1,mouse_p32xx_sensor_motion_1
+	branch mouse_twspi_reset
+	
+mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+mouse_p32xx_sensor_motion_2:
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_p3065_judge   
+mouse_p32xx_sensor_motion_1:
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	fetch 1,mem_mouse_x
+	call extsign
+	store 2,mem_mouse_x
+	fetch 1,mem_mouse_y
+	call extsign
+	store 2,mem_mouse_y
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion32xx_6clk_direction_selection
+	beq MOUSE_9CLK_ANGLE,motion32xx_9clk_direction_selection
+	beq MOUSE_12CLK_ANGLE,motion32xx_12clk_direction_selection
+	beq MOUSE_3CLK_ANGLE,motion32xx_3clk_direction_selection
+	rtn
+	
+motion32xx_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_sensor_sdio_low
+	
+mouse_sensor_data_swap_places:
+	fetch 2, mem_mouse_y
+	fetcht 2,mem_mouse_x
+	store 2,mem_mouse_x
+	storet 2,mem_mouse_y
+	rtn
+//input regb  output:pdata
+mouse_p3610sensor_read:
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn	
+mouse_p3610_sensor_motion:
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	arg PAN_REG_MOTION_STAUS,regb
+	call mouse_p3610sensor_read
+	rtnbit0 7
+	arg PAN_REG_PID_L,regb
+	call mouse_p3610sensor_read
+	store 1,mem_sensor_id1
+	bne P3610_ID1,mouse_init_3610sensor_reset
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data,blank
+	jam 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data
+	fetch 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq 0,motion3610_6clk_direction_selection
+	beq 1,motion3610_9clk_direction_selection
+	beq 2,motion3610_12clk_direction_selection
+	beq 3,motion3610_3clk_direction_selection
+	rtn
+
+mouse_3610_smart_select:
+	fetch 1,mem_sensor_smart_flag
+	beq P3610_SMART_ENABLE,mouse_3610_smart_disable
+	beq P3610_SMART_DISABLE,mouse_3610_smart_enable
+	rtn
+
+
+motion3610_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+mouse_read_sensor3610_data:
+	call spi_ncs_enable
+	call mouse_read_sensor_common
+	arg 5,pdata
+	call twspi_read
+	store 1,mem_mouse_xy_h
+	arg 7,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_hi
+	arg 8,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_lo
+	branch spi_ncs_disable
+
+
+mouse_3610_smart_enable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	rtn positive
+	jam P3610_SMART_ENABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+mouse_3610_smart_disable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	nrtn positive
+	jam P3610_SMART_DISABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x8032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+
+
+mouse_read_sensor_common:
+	arg PAN_REG_DELTA_X,pdata
+	call twspi_read
+	store 2,mem_mouse_x
+	arg PAN_REG_DELTA_Y,pdata
+	call twspi_read
+	store 2,mem_mouse_y
+	rtn
+
+mouse_set_qdecoder_x:
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_config_input
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_get_bit
+	rtn true
+	hfetch 1,core_qdec_cntx
+	set1 4,pdata
+	hstore 1,core_qdec_cntx
+	rtn
+
+mouse_hardware_zwheel:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	rtn blank
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+mouse_hardware_zwheel_beforelpm:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_zwheel:
+	fetch 1,mem_mouse_z_data
+	rtn blank	
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+	
+mouse_t_zwheel:
+	fetch 1,mem_mouse_tz_data
+	rtn blank	
+	store 1,mem_mouse_tz
+	jam 0,mem_mouse_tz_data
+	branch enable_user
+	
+mouse_check_key_gpio:
+	arg 0,rega
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega
+	call mouse_check_s_key_gpio
+	copy rega,pdata
+	rtn
+mouse_check_s_key_gpio:
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	setflag true,3,rega
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	setflag true,4,rega
+	rtn
+
+mouse_key:
+	call mouse_check_key_gpio
+	call mouse_set_mult
+	call mouse_24g_key
+	copy rega,pdata
+	fetcht 1,mem_mouse_key
+	store 1,mem_mouse_key	
+	ixor temp,pdata
+	sub pdata,0,null
+	rtn zero
+	branch enable_user
+
+mouse_24g_key:
+	rtnmark0 mark_24g
+	copy rega,pdata
+	rtn blank
+	store 1,mem_mouse_key
+	branch enable_user
+
+//short mult: no key 
+mouse_set_mult:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_set_ble_mult
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_set_bt_mult
+	rtn
+mouse_set_ble_mult:
+	copy rega,pdata
+	nbranch le_set_config_short_mult,blank
+	branch le_clr_config_short_mult
+mouse_set_bt_mult:
+	copy rega,pdata
+	nbranch classic_bt_set_mult_short_flag,blank
+	branch classic_bt_clr_mult_short_flag
+	
+	/* sdio high will cost extra 9mA */
+mouse_sensor_sdio_low:
+	bpatch patch1c_7,mem_patch1c
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_sensor_sdio_low2,true
+	call gpio_get_bit
+	rtn true
+	setarg 0x0a
+	call twspi_read
+	nop 1000
+	branch mouse_sensor_sdio_low
+mouse_sensor_sdio_low2:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	rtn
+
+mouse_spi_sdio_gpio_pollup:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,mouse_spi2_sdio_gpio_pollup
+mouse_spi1_sdio_gpio_pollup:
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+mouse_spi2_sdio_gpio_pollup:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+
+	
+mouse_init_sunt:
+	call mouse_spi_init
+	rtn wake
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_init_3610sensor
+mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,mouse_init_p32xx_id2_judge
+	beq P3065_ID1,mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch mouse_init_sensor
+mouse_twspi_reset:
+	bpatch patch1d_0,mem_patch1d
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,twspi_reset2
+	branch twspi_reset
+
+mouse_init_3610sensor:
+	call mouse_read_sensor_id
+	beq P3610_ID1,mouse_init_p3610
+	call mouse_init_3610sensor_reset
+	branch mouse_init_3610sensor
+	
+mouse_read_sensor_id:
+	setarg PAN_REG_PID_H
+	call twspi_read
+	store 1,mem_sensor_id2
+	setarg PAN_REG_PID_L
+	call twspi_read
+	store 1,mem_sensor_id1
+	rtn
+mouse_init_p32xx_id2_judge:
+	fetch 1,mem_sensor_id2
+	beq P3205_TJ3T_ID2,mouse_3205_3t_init_param
+	beq P3204_TJ3L_ID2,mouse_3204_3l_init_param
+	beq P3212_ID2,mouse_3212_init_param
+	beq PKA8_ID2,mouse_ka8_init_param
+	rtn
+mouse_ka8_init_param:
+	jam KA8,mem_config_sensor_type
+	rtn
+mouse_p3065xy_init_param:
+	jam P3065_XY,mem_config_sensor_type
+	rtn
+mouse_p3065_init_param:
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+mouse_3212_init_param:
+	jam P3212,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x3426
+	call twspi_write
+	setarg 0x0419
+	call twspi_write
+mouse_sensor_enable_wp:
+	setarg 0x0009
+	branch twspi_write
+mouse_sensor_disable_wp:
+	setarg 0x5a09
+	branch twspi_write
+
+mouse_3204_3l_init_param:
+	jam P3204,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x0f0d//
+	call twspi_write
+	setarg 0xe31d//
+	call twspi_write
+	setarg 0xd27d
+	call twspi_write
+	call mouse_32xx_init_param
+	branch mouse_32xx_init_param_1
+	
+mouse_32xx_init_param:
+	setarg 0x351b
+	call twspi_write
+	setarg 0xb428
+	call twspi_write
+	setarg 0x4629
+	call twspi_write
+	setarg 0x962a
+	call twspi_write
+	setarg 0x8c2b
+	call twspi_write
+	setarg 0x6e2c
+	call twspi_write
+	setarg 0x642d
+	call twspi_write
+	setarg 0x5f38
+	call twspi_write
+	setarg 0x0f39
+	call twspi_write
+	setarg 0x323a
+	call twspi_write
+	setarg 0x473b
+	call twspi_write
+	setarg 0x1042
+	branch twspi_write
+mouse_32xx_init_param_1:	
+	setarg 0x2e54
+	call twspi_write
+	setarg 0xf255
+	call twspi_write
+	setarg 0xf461
+	call twspi_write
+	setarg 0x7063
+	call twspi_write
+	setarg 0x5275
+	call twspi_write
+	setarg 0x4176
+	call twspi_write
+	setarg 0xed77
+	call twspi_write
+	setarg 0x2378
+	call twspi_write
+	setarg 0x4679
+	call twspi_write
+	setarg 0xe57a
+	call twspi_write
+	setarg 0x487c
+	call twspi_write
+	setarg 0x777e
+	call twspi_write
+	setarg 0x017f
+	call twspi_write
+	setarg 0x000b
+	call twspi_write
+	setarg 0x007f
+	call twspi_write
+	branch mouse_sensor_enable_wp
+	
+
+mouse_3205_3t_init_param:
+	jam P3205,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x100d//
+	call twspi_write
+	setarg 0xed1d//
+	call twspi_write
+	setarg 0x807d
+	call twspi_write
+	call mouse_32xx_init_param
+	setarg 0x0943
+	call twspi_write
+	branch mouse_32xx_init_param_1
+	
+	
+mouse_init_3610sensor_reset:
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_active
+	call delay_10ms
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_inactive
+	branch delay_10ms
+
+mouse_init_p3610:
+	jam P3610,mem_config_sensor_type
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0d11
+	call sensor_write
+	setarg 0x041b
+	call sensor_write
+	setarg 0x041c
+	call sensor_write
+	setarg 0x0f1d
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+	
+	
+//input-rega
+mouse_set_sensor_reg:
+	setarg 0xba41
+	call sensor_write
+	nop 4000
+	setarg 0xff7f
+	call sensor_write
+	copy rega,pdata
+	call sensor_write
+	setarg 0x007f
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+extsign:
+	rtnbit0 7
+	arg 0xff00,temp
+	ior temp,pdata
+	rtn
+
+extsign_bit3:
+	rtnbit0 3
+	arg 0xf0,temp
+	ior temp,pdata
+	rtn
+
+
+mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	branch mouse_fill_data_le
+
+mouse_le_send_empty_packet:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_fill_data_le
+
+mouse_priority_bb_event:	
+	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,mouse_le_bb_event_connected
+	beq BT_EVT_BB_CONNECTED,mouse_stop_discovery
+	beq BT_EVT_LE_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_BB_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_SETUP_COMPLETE,mouse_bt_event_setup_complete
+	beq BT_EVT_BUTTON_LONG_PRESSED,mouse_bb_event_discovery_btn
+	beq BT_EVT_HID_HANDSHAKE,mouse_bt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,mouse_bt_hid_connected
+	beq BT_EVT_RECONN_FAILED,mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,mouse_bb_event_reconn_timeout
+	beq BT_EVT_PINCODE_REQ,mouse_bb_event_pincode
+	beq BT_EVT_REMOTE_UNSNIFF,app_start_auto_sniff
+	beq BT_EVT_LE_PAIRING_SUCCESS,mouse_le_pairing_success
+	beq BT_EVT_LE_START_ENC,mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PAIRING_COMPLETE,mouse_le_pairing_complete
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,mouse_irtual_cable_unplug
+	beq BT_EVT_24G_PAIRING_COMPLETE,mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,mouse_24g_attempt_success
+	rtn
+
+
+mouse_le_pairing_complete:
+	branch app_ble_store_reconn_info
+
+mouse_24g_attempt_fail:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch app_enter_hibernate,zero
+	rtn
+mouse_24g_attempt_success:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	rtn
+mouse_24g_pairing_complete:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	fetch 1,mem_config_sensor_type
+	sub pdata,P3610,null
+	call mouse_read_sensor3610_data,zero
+	ncall mouse_read_sensor_common,zero
+
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_24g_address
+	call mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+mouse_set_24g_addr_eeprom:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+mouse_store_flash_24g_address:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	store 1,mem_mouse_24g_addr
+	branch mouse_store_flash_device_info
+	
+
+mouse_le_pairing_success:
+	arg LL_PAIRING_SUCCESS_FLAG,queue
+	branch mouse_le_enable_connect_flag
+mouse_le_ll_start_encryt:
+	jam 2,mem_le_start_encrypt_timer
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+	
+mouse_le_enable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset1 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+
+mouse_le_disable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset0 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+mouse_le_clean_connect_flag:
+	jam 0,mem_le_connect_status_flag
+	rtn
+
+mouse_le_bb_event_connected:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	call mouse_no_data_timer_init
+	branch mouse_stop_discovery
+
+mouse_bb_event_pincode:
+	call pincode_reinit
+	branch app_bt_set_pincode
+mouse_bb_event_reconn_timeout:
+mouse_bb_event_reconn_failed:
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_start_discovery
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	branch app_bb_hibernate
+
+	
+mouse_bt_hid_connected:
+	branch mouse_hid_connected
+
+mouse_bt_event_setup_complete:
+	rtn
+
+mouse_soft_reset:
+	call mouse_select_device_enable
+	branch soft_reset_chip
+
+mouse_bb_disconnected:
+	bpatch patch1d_1,mem_patch1d
+	call mouse_bb_discon_clear_stack
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_bb_discon_clear_stack:
+	setarg 0
+	store 8,mem_wheel_tb_old_pinlevel
+	istore 4,contw             //clean wheel statue
+	jam 0,mem_mouse_send_blank_timer
+	jam 0,mem_mouse_move_flag
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_ltk_exists
+	rtn
+
+mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch app_bb_hibernate
+
+mouse4_0_event_bb_disconn:
+	call mouse_le_clean_connect_flag
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	branch app_bb_hibernate
+
+mouse_bb_event_timer:
+	call mouse_adc_read
+	call mouse_24g_delay_timer
+	call mouse_ban_24g_pairing_timer
+	call mouse_dpi_led_blink_delay_timer
+	call mouse_statue_up_timer
+	//poll
+	call mouse_statue_cheak_timer
+	call mouse_select_device
+	call mouse_bt_discovery_cheak
+	call mouse_low_voltage_led_timer
+	call mouse_sensor_led_contrl_timer
+	call mouse_check_hid_handshake_timer
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call mouse_check_mouse_state_timer
+	branch mouse_le_enable_att_list_timer
+
+
+
+mouse_sensor_led_contrl_timer:
+	fetch 1,mem_mouse_sensor_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_sensor_timer_count
+	nrtn blank
+	branch mouse_sensor_led_contrl
+mouse_sensor_led_contrl:
+	fetch 1,mem_sensor_led_style
+	rtneq UI_LED_STATE_BLINK_STOP
+	beq UI_LED_STATE_BLINK_DARKING,mouse_sensor_led_blink_state_darking
+mouse_sensor_led_blink_state_lighting:
+	call mouse_sensor_led_on
+	jam UI_LED_STATE_BLINK_DARKING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+mouse_sensor_led_blink_state_darking:
+	call mouse_sensor_led_off
+	jam UI_LED_STATE_BLINK_LIGHTING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+	
+mouse_sensor_led_blink_stop:
+mouse_sensor_reset:
+	setarg 0x8006
+	call twspi_write
+    nop 1000
+	jam 0x00,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_STOP,mem_sensor_led_style
+	branch mouse_init_p32xx_id2_judge
+	
+mouse_p3212sensor_led_on:
+	setarg 0xa006
+	call twspi_write
+	setarg 0xa005
+	branch twspi_write
+mouse_sensor_led_on_global:
+	jam 0,mem_mouse_sensor_timer_count
+mouse_sensor_led_on:
+	fetch 1,mem_config_sensor_type
+	beq P3212,mouse_p3212sensor_led_on
+	setarg 0x0106
+	call twspi_write
+	setarg 0xa105
+	branch twspi_write
+	
+mouse_sensor_led_off_global:
+	jam 0,mem_mouse_sensor_timer_count	
+mouse_sensor_led_off:
+	setarg 0x0906
+	branch twspi_write
+mouse_sensor_start_blink:
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_START,mem_sensor_led_style
+	rtn
+	
+mouse_check_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg mouse_bt_hid_handshake,regb
+	branch timer_single_step
+
+mouse_check_discovery_timeout_timer:	
+	arg mem_mouse_discovery_timer,regc
+	arg mouse_check_discovery_timeout,regb
+	branch timer_single_step_2B
+
+mouse_check_direct_timeout_timer:	
+	arg mem_mouse_direct_timer,regc
+	arg mouse_check_direct_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_no_data_timeout_timer:	
+	arg mem_mouse_no_data_timer,regc
+	arg mouse_check_no_data_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_mouse_state_timer:
+	arg mem_mouse_statue_led_timer,regc
+	arg mouse_statue_led_off,regb
+	branch timer_single_step
+
+
+
+mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_enable_att_list,regb
+	branch timer_single_step
+
+mouse_24g_delay_timer:
+	arg mem_24g_enter_lpm_timer,regc
+	arg mouse_24g_delay,regb
+	branch timer_single_step
+
+mouse_ban_24g_pairing_timer:
+	arg mem_24g_pairing_timer_count,regc
+	arg mouse_ban_24g_pairing,regb
+	branch timer_single_step_2B
+mouse_ban_24g_pairing:
+mouse_24g_delay:
+	rtn
+
+
+mosue_dpi_led_blink_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_DPI_LED_BLINK
+	jam 10,mem_mouse_dpi_led_delay_count  //delay 1s led blink
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	rtn
+
+
+mouse_dpi_led_blink_delay_timer:
+	arg mem_mouse_dpi_led_delay_count,regc
+	arg mouse_dpi_led_setting,regb
+	branch timer_single_step	
+mouse_dpi_led_setting:
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	setarg LED_DPI_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	arg 0,rega
+	fetcht 1,mem_mouse_dpi
+	increase 1,temp
+	storet 1,mem_mouse_blink_count
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	rtn
+	
+mouse_le_enable_att_list:	
+	fetch 1,mem_le_connect_status_flag
+	rtnbit1 LL_PAIRING_SUCCESS_FLAG
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+
+mouse_check_discovery_timeout:
+	call mouse_stop_discovery
+	branch app_enter_hibernate
+
+mouse_check_direct_timeout:
+	call app_ble_stop_direct_adv
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	branch app_enter_hibernate
+
+mouse_check_no_data_timeout:
+	bmark1 mark_24g,check_51cmd_hibernate
+	branch mouse_disconnect
+
+	
+
+mouse_bb_event_discovery_btn:
+	bpatch patch1d_2,mem_patch1d
+	jam 0,mem_mouse_send_blank_timer
+	call mouse_disconnect
+	call mouse_le_clean_connect_flag
+	branch mouse_start_discovery
+
+
+
+mouse3_0_check_reconn_target:
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	call mouse_reconn_setting_led_gpio
+	jam 0x17,mem_connection_options  //ssp
+	fetch 1,mem_ssp_enable
+	nbranch app_bt_start_reconnect,blank
+	jam 0x04,mem_connection_options  //no ssp
+	branch app_bt_start_reconnect
+	
+mouse4_0_check_reconn_target:
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call mouse_reconn_setting_led_gpio
+	call app_lpm_mult_disable
+	branch check_51cmd_adv
+
+mouse_reconn_setting_led_gpio:
+	setarg LED_RECONNECT_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	branch mouse_setting_led_gpio_comman
+	
+mouse_discover_setting_led_gpio:
+	setarg LED_DISCOVERY_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time	
+mouse_setting_led_gpio_comman:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device_led1
+	beq MODE_BT_DEVICE2,mouse_device_led2
+	beq MODE_BT_DEVICE3,mouse_device_led3
+	rtn
+mouse_device_led1:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+mouse_device_led2:
+	fetch 1,mem_config_device2_led_gpio
+	branch mouse_led_blink
+mouse_device_led3:
+	fetch 1,mem_config_device3_led_gpio
+mouse_led_blink:
+	store 1,mem_temp
+	call mouse_devce_led_off
+	fetch 1,mem_temp
+	store 1,mem_mouse_struct_led_gpio
+	arg 0,rega
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	branch ui_led_blink_start_global
+
+mouse_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+mouse_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+mouse4_0_bb_event_discovery_btn:
+	branch mouse_le_clean_connect_flag
+	
+mouse_bt_hid_handshake:
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_bt_store_reconn_info
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	store 1,mem_hid_handshake_timer_count
+	branch app_bt_enter_sniff
+
+mouse_check_reconn_target:
+	call mouse_cheak_select_device_by_switch
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch mouse_connect_24g_mode,zero
+	fetch 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse3_0_check_reconn_target
+	beq REC_4_MODE,mouse4_0_check_reconn_target
+	branch mouse_start_discovery
+mouse_connect_24g_mode:
+	call mouse_start_24g_mode
+	rtnmark1 mark_24g
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	rtn
+	
+mouse_start_discovery:
+	bpatch patch1d_3,mem_patch1d
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,mouse_start_discovery_norandom
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,mouse_start_discovery_norandom
+	random pdata					//random ble addr
+	store 1,mem_le_lap+1
+mouse_start_discovery_norandom:
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call check_51cmd_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	branch mouse_discover_setting_led_gpio
+
+mouse_stop_discovery:
+	bpatch patch1d_4,mem_patch1d
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call mouse_stop_le_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call mouse_stop_bt3_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_led_blink_stop
+	branch mouse_devce_led_off
+mouse_stop_le_adv:
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	branch check_51cmd_stop_adv
+mouse_stop_bt3_discovery:
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	branch check_51cmd_stop_discovery
+
+	
+
+
+
+mouse_store_remote_bdaddr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STORE_EEPROM_FLAG
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	call mouse_check_device_addr
+mouse_unplug_clean_bdaddr:
+	call mouse_before_store_reconn_info
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_device_info
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eeprom_device_info	
+	rtn
+mouse_store_eeprom_device_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_check_device_addr:
+	fetch 1,mem_record_bt_mode
+	beq REC_4_MODE,mouse_check_le_device_addr
+	beq REC_3_MODE,mouse_check_bt_device_addr
+	rtn
+mouse_check_le_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_le_plap
+	branch mouse_check_bt_device_addr_common
+mouse_check_bt_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_plap
+mouse_check_bt_device_addr_common:
+	store 6,mem_device_addr_temp+1
+	fetch 7,mem_device_addr_temp
+	arg mem_device1_type,contr
+	arg 3,loopcnt
+mouse_check_device_addr_end:
+	ifetcht 7,contr
+	isub temp,null
+	branch mouse_clean_addr,zero
+	increase 22,contr
+	loop mouse_check_device_addr_end
+	rtn
+mouse_before_store_reconn_info:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	fetch 1,mem_record_bt_mode
+	istore 1,rega
+	beq REC_4_MODE,mouse_store_le_device
+	beq REC_3_MODE,mouse_store_bt_device
+	rtn
+	
+mouse_store_le_device:
+	fetch 6,mem_le_plap
+	istore 6,contw
+	arg mem_le_ltk,contr
+	call memcpy16
+	fetch 6,mem_le_lap
+	istore 6,contw
+	rtn
+mouse_store_bt_device:
+	fetch 6,mem_plap
+	istore 6,contw
+	arg mem_link_key,contr
+	branch memcpy16
+
+mouse_clean_addr:
+	increase -6,contr
+	copy contr,contw
+	fetcht 6,mem_device_addr_temp+1
+	increase 3,temp
+	istoret 6,contw
+	rtn
+
+
+
+mouse_eeprom_load_recon_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	call iicd_read_eep_data
+mouse_select_reconn_device:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	ifetch 1,rega
+	store 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse_load_bt_device
+	beq REC_4_MODE,mouse_load_le_device
+	rtn
+
+mouse_load_bt_device:
+	ifetch 6,contr
+mouse_load_bt_device_end:
+	store 6,mem_hci_plap
+	arg mem_link_key,contw
+	call memcpy16
+	branch check_link_key_load
+
+mouse_load_le_device:
+	ifetch 6,contr
+mouse_load_le_device_end:
+	store 6,mem_hci_plap
+	arg mem_le_ltk,contw
+	call memcpy16
+	ifetch 6,contr
+	store 6,mem_le_lap
+	rtn
+
+
+mouse_select_device:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON,mouse_select_device_by_button
+	bbit1 ENABLE_SELECT_DEVICE_BY_SWITCH,mouse_select_device_by_switch
+	branch mouse_select_device_by_combination_key
+
+mouse_select_device_by_combination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_RM_BUTTON,mouse_select_device_commbination_key_down
+mouse_select_device_commbination_key_up:
+	jam 30,mem_combination_select_device_count	//combination key timer init 
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	rtn
+	
+mouse_select_device_commbination_key_down:
+	call mouse_combination_select_device_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	branch mouse_select_device_enable
+
+mouse_combination_select_device_timer:
+	fetch 1,mem_combination_select_device_count
+	rtn blank
+	pincrease -1
+	store 1,mem_combination_select_device_count
+	nrtn blank
+	branch mouse_ready_reconnection_by_button
+	
+mouse_select_device_by_button:
+	fetch 1,mem_config_select_device_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_LONG_BT_BUTTON_FLAG
+	branch mouse_ready_reconnection_by_button
+
+mouse_select_device_button_down:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_select1_device
+	beq MODE_24G_DEVICE,mouse_select2_device
+	rtn
+mouse_cheak_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_cheak_select_24gdevice,true
+mouse_select_btdevice:
+	jam MODE_BT_DEVICE1,mem_device_flag
+	rtn
+mouse_cheak_select_24gdevice:
+	fetch 1,mem_24g_device_number
+	store 1,mem_device_flag
+	rtn
+mouse_select1_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	nbranch mouse_ready_reconnection_by_button,true
+	rtn
+mouse_select2_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+	rtn
+
+
+	
+
+mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_select_device_enable
+//	call p_select_reconn_device
+	branch mouse_set_reconnection
+
+mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_eep_data
+
+mouse_set_reconnection:
+	call mouse_stop_bluetooth_mode
+	call mouse_select_device_disable
+	branch mouse_soft_reset
+mouse_stop_bluetooth_mode:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch mouse_stop_discovery
+
+mouse_disconnect:
+	bpatch patch1d_5,mem_patch1d
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+mouse_irtual_cable_unplug:
+	setarg 0x01
+	store 6,mem_plap
+	jam REC_3_MODE,mem_record_bt_mode
+	branch mouse_unplug_clean_bdaddr
+
+	
+mouse_cancel_reconnect:
+	call mouse_bt_cannel_reconn_enable
+	branch check_51cmd_bb_reconn_cancel
+
+mouse_bt_discovery_by_button:
+	fetch 1,mem_config_bt_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_get_bit
+	branch mouse_bt_discovery_button_down,true
+mouse_bt_discovery_button_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 	
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+mouse_bt_discovery_button_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+	
+mouse_bt_discovery_cheak:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
+mouse_bt_discovery_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,mouse_bt_discovery_commbination_key_down
+mouse_bt_discovery_commbination_key_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+	
+	
+mouse_bt_discovery_commbination_key_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+mouse_bt_discovry_timer:
+	arg mem_combination_ui_button_count,regc
+	arg mouse_long_button_bt_discovry,regb
+	branch timer_single_step
+	
+mouse_long_button_bt_discovry:
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	call mouse_enable_function_flag
+	call app_evt_button_long_pressed
+	branch mouse_bb_event_discovery_btn
+
+
+mouse_cpi_enable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_cpi_disable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_select_device_enable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_select_device_disable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_cannel_reconn_enable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_cannel_reconn_disable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_discovery_button_down_enable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_discovery_button_down_disable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_count_clean:
+	arg 1,temp
+	rtn
+
+mouse_enable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset1 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+
+mouse_disable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset0 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+	
+mouse_adc_read:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	rtn positive
+	jam 0,mem_adc_read_timer
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,mouse_power_down
+	bbit0 0,mouse_adc_no_low_voltage
+	branch mouse_adc_low_voltage
+mouse_adc_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_adc_no_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_disable_function_flag
+
+mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,mouse_low_voltage_led_on
+	beq 4,mouse_low_voltage_led_off
+	beq 6,mouse_low_voltage_led_on
+	beq 8,mouse_low_voltage_led_off
+	rtn
+mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch mouse_low_voltage_led_off
+mouse_low_voltage_led_on:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_on_global
+mouse_low_voltage_led_off:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_off_global
+
+mouse_g24_package_data:
+	call mouse_motion
+	nrtn user
+	arg 7,rega	//length
+	arg mem_mouse_key,regb //tx buff
+	rtn
+	
+mouse_g24_enter_lpm:
+	fetch 1,mem_mouse_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	call mouse_24g_dpi_delay_init,true
+	fetch 1,mem_24g_enter_lpm_timer
+	nrtn blank
+	call mouse_check_key_gpio
+	nrtn blank
+	branch g24_lpm_long_sleep
+
+mouse_24g_dpi_delay_init:
+	fetch 1,mem_dpi_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	jam 10,mem_24g_enter_lpm_timer
+	rtn
+
+	
+mouse_load_flash_info_cheak:
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	branch mouse_store_flash_device_info
+mouse_ble_init_address:
+	fetch 6,mem_le_lap
+	store 6,mem_device1_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device2_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device3_locall_addr
+	rtn
+	
+	
+mouse_load_flash_flag:
+	setarg mem_store_flag
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	iadd temp,pdata
+	arg 2,temp
+	arg mem_store_flag,rega
+	branch spid_read_flash
+
+	
+mouse_load_flash_device_info:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	call spid_read_flash
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	call g24_head_ptr2regc
+	branch g24_store_mem_addr
+
+mouse_store_flash_device_info:	
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	arg mem_mouse_information_start,rega
+	fetch 3,mem_flash_base
+	branch flash_write
+
+mouse_store_eerpom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_load_eeprom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_read_eep_data
+
+mouse_statue_cheak_timer:
+	rtnmark1 mark_24g
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_STATUE_UP
+	fetch 1,mem_mouse_1step_up_count
+	pincrease 1
+	and pdata,0x07,pdata
+	store 1,mem_mouse_1step_up_count
+	rtnne 0x07         //800ms read sensor
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_check_statue_up
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_check_statue_up
+	rtn
+
+
+
+//mosue 
+mouse_check_statue_up:
+	bpatch patch1d_6,mem_patch1d
+	fetch 1,mem_mouse_2step_up_count
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	fetch 1,mem_sensor_squal_reg
+	call sensor_read
+	store 1,mem_sensor_iqc
+	sub pdata,0x10,null
+	branch mouse_statue_up_timer_init,positive
+	jam 0,mem_mouse_2step_up_count
+	rtn
+
+mouse_statue_up_timer_init:
+	jam 30,mem_mouse_2step_up_count
+	rtn
+mouse_statue_up_timer:
+	arg mem_mouse_2step_up_count,regc
+	arg mouse_statue_up,regb
+	branch timer_single_step
+
+mouse_statue_up:
+	fetch 1,mem_sensor_squal_reg
+	call twspi_read
+	sub pdata,0x10,null
+	nrtn positive
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	arg MOUSE_STATUE_UP_FLAG,queue
+	call mouse_disable_function_flag
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_statue_led_timer         // led on3s
+	call mouse_devce_led_off
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_STATUE_UP_THREE_LED,mouse_three_device_statue_up
+mouse_two_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device_blink_led_init		//device_2
+	rtn
+mouse_three_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device2_led_on		//device_2
+	beq MODE_BT_DEVICE3,mouse_device3_led_on		//device_3
+	rtn
+	
+mouse_device_blink_led_init:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+
+
+
+mouse_statue_led_off:
+	jam 0x20,mem_lpm_mult
+	branch mouse_devce_led_off
+
+
+
+mouse_devce1_led_off:
+	fetch 1,mem_config_device1_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_devce2_led_off:
+	fetch 1,mem_config_device2_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+	
+mouse_devce_led_off:
+	call mouse_led_off
+	call mouse_devce1_led_off
+	call mouse_devce2_led_off
+mouse_devce3_led_off:
+	fetch 1,mem_config_device3_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_device1_led_on:
+	fetch 1,mem_config_device1_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device2_led_on:
+	fetch 1,mem_config_device2_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device3_led_on:
+	fetch 1,mem_config_device3_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+
+
+
+mouse_polling_device:
+	bpatch patch1d_7,mem_patch1d
+	fetch 1,mem_reconn_times
+	increase -1,pdata
+	store 1,mem_reconn_times
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_before_store_reconn_info
+	branch mouse_check_reconn_target
+	
+mouse_power_down:
+	call mouse_devce_led_off
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+
+
+
+
+
+
+
+
+
+
+remote_car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	call keyscan_key_init
+	setarg remote_car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg remote_car_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg remote_car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg remote_car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock	
+
+	call g24_head_ptr2regc
+	setarg remote_car_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	
+	setarg remote_car_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	
+	setarg remote_car_process_lpm_before
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+
+	setarg remote_car_event_timer
+	store 2,mem_cb_event_timer
+	
+	setarg remote_car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg remote_car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	setarg remote_car_send_key_data
+	store 2,mem_cb_remote_car_keyscan
+	
+	bpatch patch1e_0,mem_patch1e
+	call remote_car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	fetch 1,mem_remote_car_config_soft_switch_enable
+	store 1,mem_remote_car_hard_soft_switch
+	beq HARD_SWITCH, remote_car_hard_switch_power_on_signal
+	fetch 1,mem_remote_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+remote_car_soft_switch_power_on_init:
+	call remote_car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_remote_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+
+
+remote_car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_remote_car_power_state
+remote_car_soft_switch_power_on_signal:
+	call remote_car_ui_led_init
+//	fetch 1,mem_remote_car_led_map
+	arg 0,rega
+	call ui_led_blink_start_global
+remote_car_connect_24g_mode:
+	branch g24_auto_pair_start
+
+remote_car_power_off_signal:	
+	branch remote_car_ui_led_init
+	
+remote_car_ui_led_init:
+	bpatch patch1e_1,mem_patch1e
+	fetch 1,mem_remote_car_config_connect_led_gpio
+	bne INVALID_PIN_NUM,remote_car_pairing_led_gpio_set
+remote_car_ui_led_init_1:
+	fetcht 1, mem_remote_car_led_map
+	branch gpio_config_output
+remote_car_pairing_led_gpio_set:
+	store 1,mem_remote_car_led_map
+	branch remote_car_ui_led_init_1
+
+
+remote_car_init_environment:
+	call g24_set_device_addr
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	branch remote_car_get_adc_default_data
+
+remote_car_le_before_hibernate:
+//	call keyscan_scan_key
+//	fetch 2, mem_key_value_temp
+//	branch remote_car_in_enter_hibernate,blank
+//	branch app_enter_hibernate
+remote_car_in_enter_hibernate:	
+	call gpio_set_before_lpm_common
+	call remote_car_process_lpm_before
+	branch app_enter_hibernate
+
+remote_car_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+remote_car_g24_enter_lpm:
+	fetch 1,mem_remote_car_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	branch g24_lpm_long_sleep
+
+remote_car_process_auto_pair_exit:
+	rtn
+
+remote_car_key_scan_process:
+	branch keyscan_key_process
+
+remote_car_scale_process_idle:
+	call remote_car_rocker_process
+	call remote_car_24g_status_process
+	branch remote_car_key_scan_process
+
+remote_car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_24G_PAIRING_COMPLETE,remote_car_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,remote_car_24g_attempt_success
+	beq BT_EVT_24G_ATTEMPT_FAIL,remote_car_24g_attempt_fail
+	rtn
+
+remote_car_24g_attempt_fail:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	rtn
+
+remote_car_24g_pairing_complete:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_attempt_success:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_status_process:
+	fetch 1,mem_remote_car_24g_auto_work_step
+	rtneq POWER_ON
+	fetch 1,mem_remote_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_remote_car_24g_status
+remote_car_scale_process_paired:
+	arg 0,rega
+	branch ui_led_off_global
+remote_car_scale_process_shutdown:
+	arg 0,rega
+	call ui_led_off_global
+	call remote_car_ui_led_init
+	branch app_enter_hibernate
+	
+remote_car_event_timer:
+	call app_power_timer
+	branch remote_car_no_data_timer
+
+remote_car_no_data_timer:
+	fetch 1,mem_remote_car_config_timeout_shutdown_enable
+	rtn blank
+	arg mem_remote_car_no_data_timer,regc
+	arg remote_car_scale_process_shutdown,regb
+	branch timer_single_step_2B
+	
+////////////////////////////////////rocker/////////////////////////////
+remote_car_get_adc_default_data:
+	call remote_car_rocker_get_x
+	storet 2,mem_current_vdd_value_default_mid_x
+	call remote_car_rocker_get_y
+	storet 2,mem_current_vdd_value_default_mid_y
+	rtn
+remote_car_rocker_data_get:
+remote_car_rocker_get_x:
+	fetch 2,mem_current_vdd_value_default_mid_x
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio6
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status
+remote_car_rocker_get_y:
+	fetch 2,mem_current_vdd_value_default_mid_y
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio7
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status+1
+	rtn
+remote_car_rocker_get_value:
+	fetch 2,mem_current_vdd_default_range
+	copy pdata,rega
+	fetch 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_rocker_mid_value_adjust
+	fetch 1,mem_rocker_work_status
+	nbranch remote_car_rocker_translate_key,blank
+	nrtn positive
+	fetcht 2,mem_current_vdd_value_default_mid_temp
+	rtn	
+remote_car_rocker_mid_value_adjust:
+	isub temp,pdata
+	branch remote_car_rocker_mid_adjust_positive,positive
+	sub pdata,0,pdata		//negative adjust
+	jam 1,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_mid_adjust_positive:
+	jam 0,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_translate_key:
+	nbranch remote_car_rocker_middle_key,positive
+	fetch 1,mem_rocker_negative_flag
+	nbranch remote_car_rocker_negative_key,blank
+remote_car_rocker_positive_key:	
+	setarg ROCKER_POSITIVE_KEY
+	rtn
+remote_car_rocker_negative_key:
+	setarg ROCKER_NEGATIVE_KEY
+	rtn
+remote_car_rocker_middle_key:
+	setarg ROCKER_MIDDLE_KEY
+	rtn
+remote_car_get_adc_from_gpio6:
+	jam 0x33,mem_adc_channel
+	branch adc_set_mode
+remote_car_get_adc_from_gpio7:
+	jam 0x34,mem_adc_channel
+	branch adc_set_mode
+
+
+remote_car_rocker_process:
+	fetch 1,mem_remote_car_config_check_way
+	rtnne CAR_REMOTE_CHECK_ROCKER	
+remote_car_read_rocker_check_start:
+	bpatch patch1e_2,mem_patch1e
+	jam 1,mem_rocker_work_status
+	call remote_car_rocker_data_get
+	fetch 2,mem_rocker_status
+	fetcht 2,mem_rocker_last_status
+	isub temp,null
+	rtn zero
+	store 2,mem_rocker_last_status
+	call remote_car_rocker_x_to_key
+	branch remote_car_rocker_y_to_key
+	
+remote_car_rocker_x_to_key:
+	fetch 1,mem_rocker_x_status
+	branch rocker_to_queue_set_0,blank
+	increase -1,pdata
+	branch remote_car_rocker_to_key
+remote_car_rocker_y_to_key:
+	fetch 1,mem_rocker_y_status
+	branch rocker_to_queue_set_2,blank
+	increase 1,pdata
+remote_car_rocker_to_key:
+	copy pdata,queue
+	arg 1,rega
+	branch remote_car_send_key_data
+	
+rocker_to_queue_set_0:
+	arg 0,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+rocker_to_queue_set_2:
+	arg 2,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+	
+remote_car_send_key_data:
+	copy rega,pdata
+	store 1,mem_remote_key_status
+	fetch 1,mem_remote_car_24g_auto_work_step
+	beq POWER_ON,g24_auto_pair_start
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	fetch 1,mem_remote_key_status
+	branch remote_car_key_is_release,blank
+remote_car_key_is_press:
+	bpatch patch1e_3,mem_patch1e
+	arg 0,rega
+	call ui_led_on_global
+remote_car_attack_key_press:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_press
+	beq 5,remote_car_send_attack_key5_press
+	beq 6,remote_car_send_fire_key6_press
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_press:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_is_press
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_press
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_is_press
+	rtn
+	
+remote_car_single_motor_key_is_press:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_press
+	beq 1,remote_car_send_motor1_key1_press
+	beq 2,remote_car_send_motor2_key2_press
+	beq 3,remote_car_send_motor2_key3_press
+	rtn
+	
+remote_car_double_motor_key_press:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_press
+	beq 1,remote_car_send_double_motor_key1_press
+	beq 2,remote_car_send_double_motor_key2_press
+	beq 3,remote_car_send_double_motor_key3_press
+	rtn
+
+remote_car_key_is_release:
+	bpatch patch1e_4,mem_patch1e
+	arg 0,rega
+	call ui_led_off_global
+remote_car_attack_key_release:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_rel
+	beq 5,remote_car_send_attack_key5_rel
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_release:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_rel
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_rel
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_rel
+	rtn
+
+remote_car_device_layout_select:
+	fetch 1,mem_remote_car_config_layout
+	fetcht 1,mem_remote_car_config_key_map
+	ior temp,pdata
+	rtn
+
+//cross key,control front-back motor layout
+remote_car_send_motor1_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor1_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_press:	//left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key3_press:	//right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+
+//cross key,control left-right motor layout
+remote_car_send_double_motor_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key2_press:	//left
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key3_press:	//right
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+//attack motor control
+remote_car_send_attack_key4_press:	//attack left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+remote_car_send_attack_key5_press:	//attack right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_fire_key6_press:
+	jam 0x01,mem_remote_car_24g_fire_send_payload
+	branch remote_car_send_attack
+
+remote_car_single_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_rel
+	beq 1,remote_car_send_motor1_key1_rel
+	beq 2,remote_car_send_motor2_key2_rel
+	beq 3,remote_car_send_motor2_key3_rel
+	rtn
+
+remote_car_double_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_rel
+	beq 1,remote_car_send_double_motor_key1_rel
+	beq 2,remote_car_send_double_motor_key2_rel
+	beq 3,remote_car_send_double_motor_key3_rel
+	rtn
+
+remote_car_send_motor1_key0_rel:
+remote_car_send_motor1_key1_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_rel:
+remote_car_send_motor2_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_double_motor_key0_rel:
+remote_car_send_double_motor_key1_rel:
+remote_car_send_double_motor_key2_rel:
+remote_car_send_double_motor_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_attack_key4_rel:
+remote_car_send_attack_key5_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_key:
+	arg mem_remote_car_24g_motor_packet,rega
+	branch queue_push
+remote_car_send_attack:
+	arg mem_remote_car_24g_fire_packet,rega
+	branch queue_push
+
+remote_car_g24_package_data:
+	fetch 1,mem_remote_car_24g_pair_success_flag
+	beq WORK_PAIRED,remote_car_g24_send_empty
+	arg mem_remote_car_24g_tx_temp,rega
+	call queue_pop
+	nbranch remote_car_moto_data,user
+remote_car_g24_package_data_continue:
+	arg mem_remote_car_24g_tx_temp,contr
+	ifetch 1,contr
+	copy pdata,rega
+	arg mem_remote_car_24g_tx_temp+1,regb
+	//rega: length
+	//regb: tx buffer
+	rtn
+	
+remote_car_g24_send_empty:
+	jam 0,mem_remote_car_24g_pair_success_flag
+	enable user
+	arg 1,rega
+	arg mem_remote_car_empty_packet,regb
+	rtn
+	
+remote_car_moto_data:
+	fetch 1,mem_remote_car_24g_tx_temp+3	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,remote_car_moto_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,remote_car_moto_data_next
+	rtn
+remote_car_moto_data_next:
+	fetch 1,mem_remote_car_24g_tx_temp+6	//data moto1
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+8	//data moto2
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+10	//data moto3
+	nbranch remote_car_moto_data_enable_user,blank
+	rtn
+remote_car_moto_data_enable_user:
+	enable user
+	branch remote_car_g24_package_data_continue
+
+
+
+
+
+
+
+shutter_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	setarg shutter_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+
+	setarg shutter_process_lpm_before
+	store 2,mem_cb_before_lpm
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg shutter_process_idle
+	store 2,mem_cb_idle_process
+		
+	setarg shutter_process_bb_event 
+	store 2,mem_cb_bb_event_process
+
+	setarg shutter_le_scale_lpm_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg ble_shutter_receive_data
+	store 2,mem_cb_att_write
+
+	setarg shutter_le_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg shutter_key_change
+	store 2,mem_cb_shutter_keycan
+
+	setarg shutter_soft_swtich_power_on
+	store 2,mem_shutter_soft_switch_poweron_callback_function
+	setarg shutter_soft_swtich_power_off
+	store 2,mem_shutter_soft_switch_poweroff_callback_function
+
+	call le_modified_name
+	call shutter_load_bluetooth_config_by_user_config
+	call shutter_init_bluetooth_config
+	call shutter_init_param	
+	call keyscan_key_init
+	call shutter_load_buffer_config_form_DataRom
+	call queue_init
+	call ui_led_init_global
+	call shutter_load_bluetooth_config
+	call shutter_load_bluetooth_config_by_eeprom
+	
+	bpatch patch1e_5,mem_patch1e
+	call classic_shutter_load_reconn_info
+	fetch 1, mem_shutter_hard_soft_switch_case
+	beq HARD_SWITCH, shutter_hart_swtich_power_on
+	fetch 1,mem_shutter_soft_switch_button_gpio
+	store 1,mem_ui_button_gpio
+	branch ui_soft_swtich_init
+
+/**************hard swtich function**************/
+shutter_hart_swtich_power_on:
+	jam UI_BUTTON_GPIO_DISABLE,mem_ui_button_gpio
+	jam SS_STATE_POWER_ON,mem_shutter_soft_switch_power_state
+	branch shutter_start_reconnect
+/****************************/
+
+/**************lpm lock callback function**************/
+shutter_le_scale_lpm_lock:
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_OFF,app_get_lpm_wake_lock
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	nbranch app_get_lpm_wake_lock,blank
+	branch app_put_lpm_wake_lock
+/****************************/
+
+/**************c512bt event callback function*************/
+shutter_process_bb_event:
+	copy regc,pdata
+/**************classic shutter event*****************/
+	beq BT_EVT_BB_CONNECTED,classic_shutter_process_baseband_connect
+	beq BT_EVT_BB_DISCONNECTED,classic_shutter_process_baseband_disconnect
+	beq BT_EVT_RECONN_FAILED,classic_shutter_process_reconnect_failed
+	beq BT_EVT_SETUP_COMPLETE,classic_shutter_process_setup_complete
+	beq BT_EVT_HID_CONNECTED,classic_shutter_process_hid_connect
+	beq BT_EVT_HID_DISCONNECTED,classic_shutter_process_hid_disconnect
+	beq BT_EVT_HID_HANDSHAKE,classic_shutter_process_hid_handshake
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,classic_shutter_process_reconnect_page_timeout
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,classic_shutter_process_virtual_cable_unplug
+	beq BT_EVT_REMOTE_UNSNIFF,classic_shutter_process_remote_unsniff
+	beq BT_EVT_STORE_NVRAM,classic_shutter_process_store_reconnect_information
+/**************ble shutter event*****************/
+	beq BT_EVT_LE_CONNECTED,ble_shutter_process_baseband_connect
+	beq BT_EVT_LE_DISCONNECTED,ble_shutter_process_baseband_disconnect
+	beq BT_EVT_LE_RECONNECT_COMPLETE,ble_shutter_process_reconnect_complete
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,ble_shutter_process_parse_connect_parameter_update_response
+/***************soft swtich event****************/
+	beq BT_EVT_BUTTON_LONG_PRESSED,shutter_process_soft_swtich_button_long_press
+	beq BT_EVT_BUTTON_DOWN,shutter_process_soft_swtich_button_down
+	beq BT_EVT_BUTTON_UP,shutter_process_soft_swtich_button_up
+	rtn
+/****************************/
+
+
+/******************classic shutter event**********************/
+classic_shutter_process_baseband_connect:
+	jam 0,mem_classic_shutter_hid_disconn_count
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	rtn
+
+
+classic_shutter_process_baseband_disconnect:
+	call classic_shutter_disconnect_clear_flag
+	branch classic_shutter_process_reconnect_failed
+
+classic_shutter_disconnect_clear_flag:
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_unsniff2sniff_timer_count
+	jam 0,mem_classic_shutter_cable_unplug_conut
+	jam 0,mem_classic_shutter_hid_disconn_count
+	branch queue_init
+
+
+classic_shutter_process_reconnect_failed:
+	call app_disconn_reason_clear
+	branch shutter_start_bluetooth_discovery
+
+
+classic_shutter_process_setup_complete:
+	call shutter_stop_bluetooth_discovery
+	branch app_led_stop_blink
+
+
+classic_shutter_process_hid_connect:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn	
+
+
+classic_shutter_process_hid_disconnect:
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+	store 1,mem_classic_shutter_hid_disconn_count
+	rtn
+
+
+classic_shutter_process_hid_handshake:
+	fetch 1,mem_app_handshake_flag
+	rtneq APP_HANDSHAKE_DONE
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_store_reconn_info
+	call shutter_stop_bluetooth_discovery
+	call app_led_off
+	branch app_bt_enter_sniff
+
+
+classic_shutter_process_reconnect_page_timeout:
+	branch classic_shutter_process_reconnect_failed
+
+
+classic_shutter_process_virtual_cable_unplug:
+	setarg FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+	store 1,mem_classic_shutter_cable_unplug_conut
+	rtn
+
+
+classic_shutter_process_remote_unsniff:
+	branch app_start_auto_sniff
+
+
+/***************classic shutter store reconn info***********************/
+classic_shutter_process_store_reconnect_information:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_write_eep_data
+
+classic_shutter_load_reconn_info:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 1,mem_nv_data_number
+	rtn blank
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_read_eep_data
+/**************************************/
+
+/******************ble shutter event**********************/
+ble_shutter_process_baseband_connect:
+	call shutter_stop_bluetooth_discovery
+	setarg 0
+	store 2,mem_ble_shutter_reconn_timer
+	branch app_led_off
+
+
+ble_shutter_process_baseband_disconnect:
+	call queue_init
+	jam 0,mem_ble_shutter_enable_notify
+	branch shutter_start_reconnect
+
+
+ble_shutter_process_reconnect_complete:
+	call queue_init
+	jam 1,mem_ble_shutter_enable_notify
+	fetch 8,mem_ble_shutter_interval_min
+	store 8,mem_le_interval_min
+	call app_lpm_mult_enable
+	branch le_l2cap_tx_update_req
+
+
+ble_shutter_process_parse_connect_parameter_update_response:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 8,mem_ble_shutter_interval_min_new
+	rtn blank
+	store 8,mem_le_interval_min
+	branch le_l2cap_tx_update_req
+/**************************************/
+
+/******************soft swtich event**********************/
+shutter_process_soft_swtich_button_long_press:
+	branch ui_soft_switch_botton_long_press
+
+shutter_process_soft_swtich_button_down:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	call shutter_store_currenct_led_state
+	branch app_led_on
+	
+shutter_store_currenct_led_state:
+	jam 1,mem_shutter_soft_swtich_botton_down
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contw
+	arg mem_shutter_led_struct_app_led,contr
+	branch memcpy
+	
+shutter_process_soft_swtich_button_up:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_ON,shutter_load_currenct_led_state
+	branch ui_soft_switch_botton_up
+
+shutter_load_currenct_led_state:
+	fetch 1,mem_shutter_soft_swtich_botton_down
+	rtnne 1
+	jam 0,mem_shutter_soft_swtich_botton_down
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_led_off
+	bbit1 UI_STATE_BLE_CONNECTED,app_led_off
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contr
+	arg mem_shutter_led_struct_app_led,contw
+	branch memcpy
+	
+/**************************************/
+
+
+shutter_le_bb_event_timer:
+/**************shutter check sleep timer**********************/
+	call shutter_check_sleep_timer
+/************************************/
+/**************soft reset power off timer**********************/
+	call shutter_check_power_off_timer
+/************************************/
+/**************classic shutter timer**********************/
+	call classic_shutter_check_unplug_timer
+	call classic_shutter_hid_handshake_timer
+	call classic_shutter_hid_disconn_timer
+/************************************/
+/**************ble shutter timer**********************/
+	branch ble_shutter_reconn_timer
+/************************************/
+
+/**************shutter check sleep timer**********************/
+shutter_check_sleep_timer:
+	arg mem_shutter_sleep_timer,regc
+	arg shutter_sleep_timeout,regb
+	branch timer_single_step_2B
+shutter_sleep_timeout:
+	jam SS_STATE_POWER_OFF,mem_shutter_soft_switch_power_state
+	call app_led_off
+	call shutter_disconnect_current_connection
+	branch shutter_wait_power_off
+
+/**************soft reset power off timer**********************/
+shutter_check_power_off_timer:
+	arg mem_shutter_power_off_timer,regc
+	arg shutter_check_power_off_timeout,regb
+	branch timer_single_step
+
+shutter_check_power_off_timeout:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_wait_power_off
+	bbit1 UI_STATE_BT_CONNECTED,shutter_wait_power_off
+	fetch 1,mem_shutter_led_struct_app_led_type
+	beq UI_LED_STATE_BLINK_START,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_LIGHTING,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_DARKING,shutter_wait_power_off
+	branch app_enter_hibernate
+/************************************/
+
+/**************classic shutter timer**********************/
+classic_shutter_check_unplug_timer:
+	arg mem_classic_shutter_cable_unplug_conut,regc
+	arg classic_shutter_unplug_timeout,regb
+	branch timer_single_step
+	
+classic_shutter_unplug_timeout:
+	fetch 1,mem_CONTROL_tasks
+	set1  L2CAP_DISCONNECT_INTERRUPT, pdata
+	set1  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks	
+	rtn
+
+classic_shutter_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg classic_shutter_process_hid_handshake,regb
+	branch timer_single_step
+
+classic_shutter_hid_disconn_timer:
+	arg mem_classic_shutter_hid_disconn_count,regc
+	arg app_bt_disconnect,regb
+	branch timer_single_step
+
+/************************************/
+
+/**************ble shutter timer**********************/
+ble_shutter_reconn_timer:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	arg mem_ble_shutter_reconn_timer,regc
+	arg shutter_start_bluetooth_discovery,regb
+	branch timer_single_step_2B
+/************************************/
+
+shutter_process_idle:
+	call shutter_send_data_to_master
+	branch keyscan_key_process
+
+
+shutter_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+shutter_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch shutter_process_lpm_before
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+
+/****************shutter bluetooth control**********************/
+shutter_stop_bluetooth_discovery:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_stop_bluetooth_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_stop_bluetooth_discovery
+	rtn
+
+ble_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_ble_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_ble_stop_adv
+	
+classic_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_classic_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_stop_discovery
+
+shutter_start_bluetooth_discovery:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_start_discovery
+	rtn
+	
+classic_shutter_start_discovery:
+	fetch 2,mem_classic_shutter_discovery_timeout,
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_start_discovery_short
+
+ble_shutter_start_discovery:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 2,mem_ble_shutter_discovery_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	fetch 2,mem_ble_shutter_discovery_adv_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_discovery_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+
+shutter_start_reconnect:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_reconnect
+	bbit1 BLE_SHUTTER,ble_shutter_start_reconnect
+	rtn
+
+classic_shutter_start_reconnect:
+	call app_check_reconn_target
+	branch shutter_start_bluetooth_discovery,blank
+	call app_led_on	
+	call app_bt_stop_discovery
+	branch app_bt_start_reconnect	
+
+ble_shutter_start_reconnect:
+	fetch 2,mem_ble_shutter_reconn_timer
+	fetcht 2,mem_ble_shutter_reconn_timeout
+	storet 2,mem_ble_shutter_reconn_timer
+	nrtn blank
+	fetch 2,mem_ble_shutter_reconn_dav_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_reconn_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+//pdata:adv interval value
+shutter_ble_adv_interval_set:
+	store 2,mem_lpm_interval
+	increase -4,pdata
+	store 2,mem_le_adv_interval
+	rtn
+
+
+shutter_disconnect_current_connection:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch shutter_stop_bluetooth_discovery
+/**************************************/
+
+/******************classic shutter load reconnect*********************/
+app_check_reconn_target:
+	fetch 1,mem_nv_data_number
+	copy pdata,loopcnt
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+app_check_reconn_target_loop:
+	ifetch 2,rega
+	beq 0,found_reconn_device
+	increase NV_DATA_LEN,rega
+	loop app_check_reconn_target_loop
+	branch enable_blank
+
+found_reconn_device:
+	ifetch 6,contr
+	store 6,mem_hci_plap
+	increase 10,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	call check_link_key_load
+	branch disable_blank
+	
+/**************************************/
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,can send data
+shutter_check_data_enable:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,shutter_check_bt_data_enable
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_check_ble_data_enable
+	rtn
+
+shutter_check_bt_data_enable:
+	fetch 1,mem_hid_interrupt_state
+	rtnne 0x3f	
+	branch enable_user
+
+shutter_check_ble_data_enable:
+	fetch 1,mem_ble_shutter_enable_notify
+	rtn blank
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,bluetooth disconnect
+shutter_check_bluetooth_conn:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BT_CONNECTED
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_change_bluetooth_status_bt_disconn
+	bbit1 BLE_SHUTTER,ble_shutter_change_bluetooth_status_bt_disconn
+	rtn
+	
+classic_shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_scan_mode
+	rtnne 0x03
+	branch shutter_start_reconnect
+	
+ble_shutter_change_bluetooth_status_bt_disconn:
+	branch shutter_start_reconnect
+
+/////////////////////////////////////////////////////////////////////////
+shutter_check_send_data:
+	disable user2
+	fetch 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+
+	call shutter_check_bluetooth_conn
+	branch shutter_change_bluetooth_status_bt_disconn,user
+	
+	call shutter_check_data_enable
+	nrtn user
+	enable user2
+	rtn
+
+//queue = key index
+//rega =1 press, =0 release
+shutter_key_change:
+	call shutter_check_send_data
+	nrtn user2
+	deposit rega
+	branch shutter_key_release,blank
+shutter_key_press:
+	call app_led_on
+	arg mem_key0_press,regc
+	branch push_queue_press_or_release
+
+shutter_key_release:
+	call app_led_off
+	arg mem_key0_release,regc
+
+push_queue_press_or_release:
+	arg MAX_QUEUE_NUM,pdata
+	imul32 queue,pdata
+	iadd regc,regc
+	
+//input:regc the address that want push to queue buffer
+push_buffer_in_queue:
+	ifetch 1,regc
+	rtn blank
+	call queue_push_one_byte
+	increase 1,regc
+	branch push_buffer_in_queue
+
+
+shutter_send_data_to_master:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,pop_queue_to_ble_data
+	bbit1 UI_STATE_BT_CONNECTED,pop_queue_to_classic_data
+	rtn
+
+pop_queue_to_ble_data:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_BLE_DATA_BUFFER,pdata
+	arg mem_ble_data_buffer1,temp
+	iadd temp,contr
+le_send_notify_from_list:
+	ifetch 1,contr	//length 
+	copy pdata,rega
+	ifetcht 2,contr	//handle
+	call store_contr
+	call le_att_malloc_tx_notify
+	copy rega,loopcnt
+	call get_contr
+	branch memcpy
+
+
+pop_queue_to_classic_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_CLASSIC_DATA_BUFFER,pdata
+	arg mem_classic_data_buffer1,temp
+	iadd temp,contr
+	ifetch 5,contr
+	store 5,mem_classic_data_buffer
+classic_send_hid_data:
+	fetch 1,mem_classic_data_buffer
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0xa1
+	istore 1,contw
+	fetch 4,mem_classic_data_buffer + 1
+	istore 9,contw
+	rtn
+
+///////////queue function////////////
+//input:pdata is data that want push
+queue_push_one_byte:
+	store 1,mem_pdatatemp
+	arg mem_pdatatemp,rega
+	branch queue_push
+
+queue_pop_one_byte:
+	arg mem_pdatatemp,rega
+	call queue_pop
+	nrtn user
+	fetch 1,mem_pdatatemp
+	rtn
+
+///////////queue function ending////////////
+ble_shutter_receive_data:
+	fetch 2,mem_le_att_handle
+	beq GATT_KEYBOARD_WRITE_HANDLE,ble_shutter_process_reconnect_complete
+	rtn
+
+shutter_init_param:
+	setarg 0x02
+	store 1,mem_shutter_power_off_timeout
+/////////////ble connect interval//////////////
+	setarg 0x00200008
+	store 4,mem_ble_shutter_interval_min		//set min interval is 10ms,set max interval is 40ms
+	setarg 0x012c0005
+	istore 4,contw
+///////////////////////////////////////
+//////////////////MTU/////////////
+	jam 0x17,mem_le_local_mtu
+///////////////////////////////////////
+////////////////justwork/////////
+	setarg 0x1b
+ 	store 2,mem_le_pairing_handle
+ 	call le_set_config_fixed_ltk
+	call le_set_fixed_ltk
+	call le_set_justwork
+	branch le_set_config_read_authentication
+///////////////////////////////////////
+
+shutter_load_buffer_config_form_DataRom:
+///////load data Rom/////////
+	arg BLE_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_ble_data_buffer1,contw
+	arg BLE_SHUTTER_KEY_VALUE_LIST,contr
+	call memcpy_fast
+	arg BT_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_classic_data_buffer1,contw
+	arg CLASSIC_SHUTTER_KEY_VALUE_LIST,contr
+	branch memcpy_fast	
+
+
+shutter_load_ble_gatt_form_DataRom:
+	arg BLE_GATT_LIST_SIZE,loopcnt
+	arg BLE_SHUTTER_GATT_LIST,contr
+	branch memcpy_fast
+
+
+shutter_load_bt_sdp_form_DataRom:
+	arg BT_SDP_LIST_SIZE,loopcnt
+	arg CLASSIC_SHUTTER_SDP_LIST,contr
+	branch memcpy_fast
+	
+
+///////////////////////////////gpio config////////////////////////////////////
+shutter_init_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio3
+	branch shutter_init_bluetooth_config_gpio_input
+	
+shutter_init_bluetooth_config_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	branch gpio_config_input_nowake
+	
+
+shutter_load_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	call shutter_load_bluetooth_config_label
+	branch shutter_load_bluetooth_config_by_otp
+
+shutter_load_bluetooth_config_label:
+	arg 0,rega
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,0,rega
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,1,rega
+	fetch 1,mem_shutter_config_select_gpio3
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,2,rega
+	copy rega,pdata
+	store 1,mem_shutter_config_label
+	fetch 1,mem_shutter_config_size
+	imul32 rega,pdata
+	fetcht 2,mem_shutter_config_otp_base_address		//base address
+	iadd temp,pdata
+	store 2,mem_shutter_config_otp_addr
+	rtn
+
+shutter_load_bluetooth_config_read_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	call gpio_get_bit
+	nbranch enable_blank,true
+	branch disable_blank
+	
+
+shutter_check_load_config_flag:
+	call disable_user
+	fetch 1,mem_shutter_config_user_size
+	nrtn blank
+	fetch 1,mem_shutter_config_enable
+	rtn blank
+	branch enable_user
+
+
+shutter_load_bluetooth_config_by_otp:
+	call otp_enable_chgpump
+	fetch 2,mem_shutter_config_otp_addr
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_load_bluetooth_config_store_name:
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_le_name_len
+	call memcpy_fast
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_local_name_length
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_shutter_key_num
+	ifetch 1,contr
+	store 1,mem_shutter_hard_soft_switch_case
+	rtn
+
+
+shutter_load_bluetooth_config_by_eeprom:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	arg 3,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	copy pdata,regb
+	arg mem_shutter_config_eeprom_start_flag,rega
+	call iicd_read_eep_data
+	fetcht 2,mem_shutter_config_eeprom_start_flag
+	setarg SHUTTER_EEPROM_CONFIG_CRC
+	isub temp,null
+	nrtn zero
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	copy pdata,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	add pdata,3,regb
+	arg mem_shutter_config_data_temp,rega
+	call iicd_read_eep_data
+	branch shutter_store_config
+
+shutter_load_bluetooth_config_by_user_config:
+	fetch 2,mem_shutter_config_user_otp_address
+	rtn blank
+	call otp_enable_chgpump
+	arg 1,temp
+	arg mem_shutter_config_user_size,rega
+	call otpd_read_data
+	
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	
+	fetch 2,mem_shutter_config_user_otp_address
+	pincrease 1
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_user_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_store_config:
+	call shutter_load_bluetooth_config_store_name
+shutter_load_bluetooth_config_custom:
+	ifetch 2,contr
+	rtn blank
+	copy pdata,contw
+	ifetcht 1,contr
+	copy temp,loopcnt
+	call memcpy
+	branch shutter_load_bluetooth_config_custom
+///////////////////////////////////////////////////////////////////
+
+//////////////////////////random mac address//////////////////////////////
+shutter_random_mac_addr:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_read_eep_data
+	fetch 1,mem_shutter_random_mac_data_temp
+	bne 1,shutter_write_random_mac_addr_to_eeprom
+shutter_write_random_mac_addr_to_eeprom:
+	setarg 1
+	store 1,mem_shutter_random_mac_data_temp
+	force 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_write_eep_data
+shutter_write_random_mac_addr:
+	fetch 3,mem_shutter_random_mac_data_temp + 1
+	store 3,mem_lap
+	store 3,mem_le_lap
+	rtn
+	
+/////////////////////////////////////////////////////////////////
+shutter_soft_swtich_power_on:
+	branch shutter_start_reconnect
+
+
+shutter_soft_swtich_power_off:
+	arg 0,rega
+	arg mem_shutter_power_off_led_style,regc
+	call ui_led_set_style_global
+	call shutter_disconnect_current_connection
+shutter_wait_power_off:
+	fetch 1,mem_shutter_power_off_timeout
+	store 1,mem_shutter_power_off_timer
+	rtn
+	
+
+/*************soft swtich ui config*********************/
+ui_soft_swtich_init:
+	setarg SS_STATE_POWER_UP
+	call ui_soft_swtich_init_power_on_time
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	call ui_button_init
+	call ui_button_polling
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+ui_soft_swtich_init_power_on_time:
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	ifetch 1,contw		//power on time
+	store 1,mem_ui_button_timeout
+	rtn
+
+
+ui_soft_switch_botton_up:
+	fetch 2,mem_power_param_ptr
+	ifetch 1,pdata
+	rtnne SS_STATE_POWER_UP
+	branch app_enter_hibernate
+
+
+ui_soft_switch_botton_long_press:
+	fetcht 2,mem_power_param_ptr
+	ifetch 1,temp
+	beq SS_STATE_POWER_ON,ui_soft_switch_power_off
+ui_soft_switch_power_on:
+	setarg SS_STATE_POWER_ON
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	add temp,SS_POWER_OFF_TIME,contr
+	ifetch 1,contr
+	istore 1,mem_ui_button_timeout
+	ifetch 2,contr
+	branch callback_func
+
+ui_soft_switch_power_off:
+	setarg SS_STATE_POWER_OFF
+	call ui_soft_swtich_init_power_on_time
+	add temp,SS_POWER_OFF_CB,contr
+	ifetch 2,contr
+	branch app_enter_hibernate,blank		//no call back function , just enter hibernate
+	branch callback_func
+	
+/*************soft swtich ui config ending*********************/
+
+
+/*************unkown function*********************/
+shutter_byteswap:
+	store 6,mem_tmp_buffer
+	fetch 1,mem_tmp_buffer
+	store 1,mem_tmp_buffer+11
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+10
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+9
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+8
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+7
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+6
+	fetch 6,mem_tmp_buffer+6
+	rtn
+
+shutter_random_addr_by_otp:
+	call load_adc_init
+	fetch 1,mem_1v_adc_io_data
+	store 1,mem_le_lap
+	fetch 1,mem_5v_adc_hvin_data
+	istore 1,contw
+	fetch 1,mem_3v_adc_vinlpm_data
+	istore 1,contw
+	fetch 3,mem_le_lap
+	store 3,mem_lap
+	rtn
+
+
+
+//iic read function
+//function name:sim_iic_read_eep_data
+//input:
+//temp:the length that simulation iic want to read eeprom data
+//rega:the memmory point that simulation iic read data store
+//regb:the eeprom address offset
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_read_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+	
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_read_eep_data_2k
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_read_eep_data_2k:
+	call sim_iic_stop
+
+	call sim_iic_start
+	setarg 0xa1
+	call sim_iic_send_byte
+
+sim_iic_read_eep_data_loop:
+	call sim_iic_read_byte
+	istore 1,rega
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_read_eep_data_loop,zero
+	branch sim_iic_stop
+
+
+//iic write data function
+//function name:sim_iic_write_eep_data
+//input:
+//temp:the length that simulation iic want to write eeprom data
+//rega:the memmory point that simulation iic write data read
+//regb:the eeprom address
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_write_eep_data:
+	byteswap regb,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_write_eep_data_loop
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_write_eep_data_loop:
+	ifetch 1,rega
+	call sim_iic_send_byte
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_write_eep_data_loop,zero
+	branch sim_iic_stop
+//	bmark1 mark_eeprom_size
+
+//use reg:pdata,contr,contw,loopcnt
+sim_iic_wait_ack:
+	arg 10,loopcnt
+	call sim_iic_release_sda
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+sim_iic_wait_ack_loop:
+	call sim_iic_read_sda_level
+	branch sim_iic_scl_output_low,blank	//scl = 0
+	loop sim_iic_wait_ack_loop
+	branch sim_iic_scl_output_low		//scl = 0	
+
+
+//use reg:pdata,contr,contw,rega,queue
+sim_iic_ack_slave:
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low	//scl = 0	
+
+
+//output:pdata receive byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_read_byte:
+	arg 8,loopcnt
+	arg 0,regc
+	call sim_iic_release_sda
+sim_iic_read_byte_loop:
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	lshift regc,regc	
+	call sim_iic_read_sda_level
+	iadd regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	loop sim_iic_read_byte_loop
+	call sim_iic_ack_slave
+	copy regc,pdata
+	rtn
+
+//input:pdata send byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_send_byte:
+	arg 8,loopcnt
+	copy pdata,regc
+	call sim_iic_scl_output_low		//scl = 0	
+sim_iic_send_byte_loop:
+	isolate1 7,regc
+	call sim_iic_sda_output_high,true	//sda = 1
+	ncall sim_iic_sda_output_low,true	//sda = 0
+	lshift regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_delay				//delay 2.5us
+	loop sim_iic_send_byte_loop
+	branch sim_iic_wait_ack
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_start:
+	call sim_iic_sda_output_high	//sda = 1
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low		//scl = 0
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_stop:
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_high	//sda = 1
+	branch sim_iic_delay				//delay 2.5us
+
+
+//scl = 1
+sim_iic_scl_output_high:
+	enable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//scl = 0
+sim_iic_scl_output_low:
+	disable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 1
+sim_iic_sda_output_high:
+	enable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 0
+sim_iic_sda_output_low:
+	disable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//input:pdata the gpio number
+//input:user flag, if enable user,config gpio output high level; if disable user, config gpio output low level
+//use reg:pdata,contr,contw,queue,rega
+sim_iic_config_gpio:
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset1 pdata
+	istore 1,temp
+	increase 4,temp
+	ifetch 1,temp
+	qsetflag user,pdata
+	istore 1,temp
+	rtn
+
+
+sim_iic_release_sda:
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset0 pdata
+	istore 1,temp
+	rtn	
+
+//get sda level
+//output:if sda high level ,pdata is 1;if sda low level ,pdata is 0
+//use reg:pdata,contr,contw,queue,rega,temp
+sim_iic_read_sda_level:
+	nop 4
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_in,temp
+	iadd temp,temp
+	setarg 0
+	ifetcht 1,temp
+	qisolate1 temp
+	setflag true,0,pdata
+	rtn	
+
+//delay 2.5us
+sim_iic_delay:
+//	nop 1
+	rtn
+
+/**********************************/
+
+
+
+usb_isr:
+	bpatch patch1e_6,mem_patch1e
+	hfetch 1,core_usb_status
+	isolate1 7,pdata
+	call usb_init,true
+	call usb_nak_state_judge
+	hfetch 1,core_usb_status
+	store 1,mem_usb_status
+	hfetch 1,core_usb_fifo_empty
+	store 1,mem_usb_fifo_empty
+	hstore 1,core_usb_fifo_empty
+	pinvert
+	fetcht 1,mem_usb_tx_wait
+	iand temp,pdata
+	store 1,mem_usb_tx_wait
+	jam 0xe0,core_usb_status
+	fetch 1,mem_usb_fifo_empty
+	compare 0x1,pdata,0x1
+	call usb0_fifo_empty,true
+	fetch 1,mem_usb_status	
+	compare 0x1,pdata,0x1  
+	call usb_status1,true
+	call usb_tx
+	branch usb_nak_state
+
+usb_init:
+	bpatch patch1e_7,mem_patch1e
+	call usb_init_param
+	jam 0x00,core_usb_config
+	nop 10000
+	jam 0xc0,core_usb_trig
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_USB,pdata
+	hstore 2,core_clkoff
+	jam 0x3c,core_usb_config
+	jam 0xff,core_usb_status
+	jam 0xff,core_usb_fifo_empty
+	jam 0,core_usb_addr
+	jam DEV_DEFAULT,mem_usb0_state
+	setarg mem_usb_clear_mem_end
+	arg mem_usb_clear_mem_start,contw
+	isub contw,loopcnt
+	branch clear_mem
+
+usb_offline_check_init:
+	fetcht 1,mem_usb_offline_check_gpio
+	branch gpio_config_input
+usb_offline_state:
+	fetch 1,mem_usb_device_enumeration_endflag
+	rtn blank
+	fetcht 1,mem_usb_offline_check_gpio
+	call gpio_get_bit
+	branch usb_init,true
+	rtn
+
+
+usb_nak_state:
+	arg TIMER_NAK,queue
+	call timer_check
+	nrtn blank
+	fetch 1 ,mem_usb_wakestate_onetime_flag
+	nrtn blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	ncall usb_mac_wakeup_judge,blank
+	rtn
+
+usb_mem_devicedesc_init:
+	arg mem_devicedesc,contw
+	setsect 0,0x11212
+	setsect 1,0x8000
+	setsect 2,0x0
+	setsect 3,0x10000
+	istore 9,contw
+	setsect 0,0x22412
+	setsect 1,0x8604
+	setsect 2,0x1000
+	setsect 3,0x8
+	istore 9,contw
+	setsect 0,0x1
+	istore 1,contw
+	rtn
+	
+usb_init_param:
+	jam 2,mem_usb0_state
+	setarg 0x0
+	store 1,mem_remain
+	store 2,mem_usb_zero_packet
+	pincrease 1
+	store 2,mem_usb_ones_packet
+	pincrease 1
+	store 2,mem_usb_two_packet
+	setarg HID_KBDATA_ADDR
+	store 2,mem_hidreportdesc_kb
+	setarg HID_MSDATA_ADDR
+	store 2,mem_hidreportdesc_m
+	arg mem_confdesc,contw
+	arg HID_CONFDATA_ADDR,contr
+	call memcpy64
+	fetch 1,mem_usb_tx_interval
+	ncall usb_tx_interval_config,blank
+	branch usb_mem_devicedesc_init
+	
+usb_tx_interval_config:
+	store 1,mem_confdesc+34
+	store 1,mem_confdesc+59
+	rtn
+usb_nak_state_judge:
+	hfetch 1,core_usb_status
+	bbit1 USB_STATUS_NAK,usb_nak_state_timer_init
+	rtn
+	
+usb_nak_state_timer_init:
+	call usb0_attached_state_judge
+	call timer_reinit
+	setarg TIMER_NAK_DELAY
+	arg TIMER_NAK,queue
+	branch timer_init
+	
+usb0_attached_state_judge:
+	fetch 1,mem_usb_state
+	bne USB_CONNECTED,usb_clear_halt_dispose
+	jam 0,mem_usb_wakestate_onetime_flag
+	jam 0,mem_usb_mac_wakeup_trig
+	rtn
+usb_clear_halt_dispose:
+	fetch 1,mem_usb_clear_halt
+	rtn blank
+	jam 0,mem_usb_clear_halt
+	jam USB_CONNECTED,mem_usb_state
+	jam 1,mem_usb_device_enumeration_endflag
+	rtn
+    	
+usb0_fifo_empty:
+	jam 0x1,core_usb_fifo_empty
+	branch usb0_tx
+
+usb_rx_no_data:
+	fetch 1,mem_usb_status
+	bbit1 USB_STATUS_SETUP,usb_class_type
+	rtn
+
+usb_rx_read:
+	hfetch 1,core_usb_ep
+	istore 1,contw
+	loop usb_rx_read
+	rtn
+
+usb_status1:
+	bpatch patch1f_0,mem_patch1f
+	jam 0x11,core_usb_status
+	hfetch 1,core_usb_ep_len
+	store 1,mem_usb_read_len
+	copy pdata,loopcnt
+	branch usb_rx_no_data,blank
+	arg mem_usb_setup,contw
+	call usb_rx_read
+	fetch 1,mem_usb_read_len
+	sub pdata,7,null
+	rtn positive
+usb_class_type:
+	fetch 1,mem_usb_setup_bmRequestType
+	and_into 0x80,pdata
+	beq IN_DEVICE,usb_in_device
+	beq OUT_DEVICE,usb_out_device
+	branch assert
+
+usb_in_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_in_standard_req
+	beq CLASS_REQ,usb_in_class_req
+	beq MANUFACTURER_REQ,usb_in_manufacturer_req
+	branch assert
+
+usb_out_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_out_standard_req
+	beq CLASS_REQ,usb_out_class_req	
+	beq MANUFACTURER_REQ,usb_out_manufacturer_req
+	branch assert
+
+usb_in_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_CONFIGURATION,usb0_request_get_configuration
+	beq GET_DESCRIPTOR,usb0_request_get_descriptor
+	beq GET_INTERFACE,usb0_request_get_interface
+	beq GET_STATUS,usb0_request_get_status
+	branch usb0_force_stall
+
+usb_in_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_IDLE,usb_get_idle
+	beq GET_REPORT,usb_get_report
+	beq GET_PROTOCOL,usb_get_protocol_req
+	branch usb0_force_stall
+
+usb_in_manufacturer_req:
+	branch usb0_force_stall
+
+usb_out_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq CLEAR_FEATURE,usb0_request_clear_feature
+	beq SET_FEATURE,usb0_request_set_feature
+	beq SET_ADDRESS,usb0_request_set_address
+	beq SET_CONFIGURATION,usb0_request_set_configuration
+	beq SET_INTERFACE,usb0_request_set_interface
+	beq SET_DESCRIPTOR,usb0_force_stall
+	branch usb0_force_stall
+
+usb_out_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq SET_IDLE,usb_set_idle
+	beq SET_REPORT,usb_set_report
+	beq SET_PROTOCOL,usb_set_protocol_req
+	branch usb0_force_stall
+
+usb_out_manufacturer_req:
+	branch usb0_force_stall
+
+usb0_force_stall:
+	hfetch 1,core_usb_stall
+	set1 0,pdata
+	hstore 1,core_usb_stall
+	branch usb0_reply_zerolen
+	
+usb0_reply_zerolen:
+	jam 0x40,core_usb_clear
+	rtn
+
+usb0_request_get_configuration:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb0_state
+	beq DEV_CONFIGURED,usb0_request_get_cfg_dev_cfg
+	beq DEV_ADDRESS,usb0_request_get_cfg_dev_addr
+	branch usb0_force_stall
+//Return current config : 1
+usb0_request_get_cfg_dev_cfg:
+	arg 1,regb
+	branch usb_send_ones_packet
+//Config do not work, return default config : 0
+usb0_request_get_cfg_dev_addr:
+	arg 1,regb
+	branch usb_send_zero_packet
+
+usb0_request_get_descriptor:
+	bpatch patch1f_1,mem_patch1f
+	set0 mark_isstr,mark
+	fetch 1,mem_usb_setup_bValueH
+	beq DSC_DEVICE,dsc_device_info
+	beq DSC_CONFIG,dsc_config_info	
+	beq DSC_STRING,dsc_string_info
+	beq DSC_HID,dsc_hid_info
+	beq DSC_HID_REPORT,dsc_hid_report_info
+	branch usb0_force_stall
+
+dsc_hid_info:
+	jam 0,mem_usb_get_protocol_flag
+	fetch 1,mem_usb_setup_wIndex
+	beq 0,dsc_hid_info_interface0
+	beq 1,dsc_hid_info_interface1
+	branch usb0_force_stall
+//class_descriptor hid_descriptor--keyboard 
+dsc_hid_info_interface0:	
+	arg mem_confdesc+19,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+//class_descriptor hid_descriptor--mouse 
+dsc_hid_info_interface1:	
+	arg mem_confdesc+44,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+
+dsc_device_info:
+//input : pdata : data poniter 
+//input : temp: data len
+//sets the data pointer and len to correct descriptor
+	fetch 1,mem_usb_set_high_addr_flag
+	ncall usb_set_high_addr,blank
+	setarg mem_devicedesc
+	fetcht 1,mem_devicedesc
+dsc_info_set_data_len:
+	store 2,mem_dsc_info_data_pointer
+	storet 1,mem_dsc_info_len
+	fetch 1,mem_usb_setup_bLength
+	isub temp,null
+	nbranch dsc_info_set_current_data_len,positive
+dsc_info_set_initial_data_len:
+	fetch 1,mem_dsc_info_len
+dsc_info_set_data_size_completed:	
+	iforce regb
+	fetch 2,mem_dsc_info_data_pointer
+	add pdata,1,pdata
+	iforce rega
+	branch usb0_respond
+dsc_info_set_current_data_len:
+	fetch 1,mem_usb_setup_bLength
+	branch dsc_info_set_data_size_completed
+
+usb_set_high_addr:
+	hfetch 1,core_usb_addr
+	ncall usb0_set_addr,blank
+	jam 0,mem_usb_set_high_addr_flag
+	rtn
+usb0_set_addr:
+	hfetch 1,core_usb_addr
+   	set1 7,pdata
+	hstore 1,core_usb_addr
+	rtn
+
+dsc_config_info:
+	setarg mem_confdesc
+	fetcht 1,mem_confdesc
+	branch dsc_info_set_data_len
+
+dsc_string_info:
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,3,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb_setup_bValue
+	arg mem_string0,rega
+	beq 0,usb0_respond_length	
+	set1 mark_isstr,mark
+	arg mem_string1,rega
+	beq 1,usb0_respond_length
+	arg mem_string2,rega
+	beq 2,usb0_respond_length
+	arg mem_string3,rega
+	beq 3,usb0_respond_length
+	rtn
+
+dsc_hid_report_info:
+	fetch 2,mem_usb_setup_wIndex
+	beq 1,dsc_hid_report_info0
+	fetch 2,mem_hidreportdesc_kb
+	copy pdata,rega
+//	arg mem_hidreportdesc_kb,rega
+	branch usb0_respond_length
+dsc_hid_report_info0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam USB_GOT_REPORT_REQ,mem_usb_state
+	fetch 2,mem_hidreportdesc_m
+	copy pdata,rega
+//	arg mem_hidreportdesc_m,rega
+	branch usb0_respond_length
+
+
+usb0_request_get_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	arg 1,regb
+	branch usb_send_zero_packet
+
+
+usb0_request_get_status:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 2,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq IN_DEVICE,usb0_get_status_in_device
+	beq IN_INTERFACE,usb0_get_status_in_interface
+	beq IN_ENDPOINT,usb0_get_status_in_endpoint
+	branch usb0_force_stall
+
+usb0_get_status_in_device:
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	arg 2,regb
+	fetch 1,mem_usb_remote_wakeup
+	beq 0x01,usb_send_two_packet
+//regb:length
+usb_send_zero_packet:
+	arg mem_usb_zero_packet,rega
+	branch usb0_respond
+usb_send_ones_packet:
+	arg mem_usb_ones_packet,rega
+	branch usb0_respond
+usb_send_two_packet:
+	arg mem_usb_two_packet,rega
+	branch usb0_respond
+
+usb0_get_status_in_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	arg 2,regb
+	branch usb_send_zero_packet
+
+usb0_get_status_in_endpoint:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_get_status_in_ep_in_ep1
+	beq IN_EP2,usb0_get_status_in_ep_in_ep2
+	beq IN_EP3,usb0_get_status_in_ep_in_ep3
+	and_into 0x7f,pdata
+	beq 0x00,usb0_get_status_in_ep_in_ep0
+	branch usb0_force_stall
+	
+usb0_get_status_in_ep_in_ep0:
+	fetch 1,mem_usb_ep0_stall_status
+usb0_get_status_in_ep_in_ack:
+	arg 2,regb
+	beq 1,usb_send_ones_packet
+	branch usb_send_zero_packet
+usb0_get_status_in_ep_in_ep1:
+	fetch 1,mem_usb_ep1_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep2:
+	fetch 1,mem_usb_ep2_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep3:
+	fetch 1,mem_usb_ep3_stall_status
+	branch usb0_get_status_in_ep_in_ack
+
+usb_get_idle:
+	jam 1,mem_usb_idle_flag
+	arg mem_usb_idle_rate,rega
+	arg 1,regb
+	branch usb0_respond
+
+usb_get_report:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_GET_REPORT,temp
+	isub temp,null
+	nbranch usb0_force_stall,zero
+	set0 mark_isstr,mark
+usb_get_report_dispose:	
+	fetch 1,mem_usb0_data_ready_report
+	nbranch usb_get_report_data_success,blank
+	jam PC_GET_NONDATA,mem_usb0_get_report_data
+usb_get_report_send_data:
+	fetch 1,mem_usb_setup_bLength
+	iforce regb
+	arg mem_usb0_get_report_data,rega
+	call usb0_respond
+usb_get_report_data_release:	
+	arg mem_usb0_get_report_data,contw
+	arg 8,loopcnt
+	branch memset0
+usb_get_report_data_success:
+	jam 0,mem_usb0_data_ready_report
+	jam PC_GET_DATA,mem_usb0_get_report_data
+	branch usb_get_report_send_data
+
+usb_get_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	jam 1,mem_usb_get_protocol_flag
+	arg 1,regb //length
+	fetch 1,mem_usb_set_protocol_value
+	beq 0,usb_get_report_protocol
+	beq 1,usb_get_boot_protocol
+	branch usb_send_zero_packet
+usb_get_report_protocol:
+	branch usb_send_ones_packet
+usb_get_boot_protocol:
+	branch usb_send_zero_packet
+
+
+
+//in device
+usb0_request_clear_feature:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_clear_feature_out_device
+	beq OUT_INTERFACE,usb0_request_clear_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_clear_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set0 7,pdata
+	hstore 1,core_usb_config
+	jam 0,mem_usb_remote_wakeup
+	jam 1,mem_usb_clear_remote_wakeup
+	branch usb0_reply_zerolen
+
+usb0_request_clear_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_off
+	beq IN_EP2,usb0_force_stall_ep2_in_off
+	beq IN_EP3,usb0_force_stall_ep3_in_off
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_off
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_off:
+	jam 0,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_off:
+	jam 0,mem_usb_ep1_stall_status
+usb0_force_stall_ep1_in_off_reply:	
+	jam 1,mem_usb_clear_halt
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_off:
+	jam 0,mem_usb_ep2_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+usb0_force_stall_ep3_in_off:
+	jam 0,mem_usb_ep3_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+
+
+usb0_request_set_feature:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_set_feature_out_device
+	beq OUT_INTERFACE,usb0_request_set_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_set_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_remote_wakeup
+	jam USB_SLEEP,mem_usb_state
+	jam 0,mem_usb_tx_win_enable
+	call usb0_reply_zerolen
+usb_wakeup_timer_reinit:
+	call timer_reinit
+	setarg TIMER_WAKEUP_DELAY
+	arg TIMER_WAKEUP,queue
+	branch timer_init
+	
+usb0_request_set_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_on
+	beq IN_EP2,usb0_force_stall_ep2_in_on
+	beq IN_EP3,usb0_force_stall_ep3_in_on
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_on
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_on:
+	jam 1,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_on:
+	jam 1,mem_usb_ep1_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_on:
+	jam 1,mem_usb_ep2_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep3_in_on:
+	jam 1,mem_usb_ep3_stall_status
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_address:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	and_into 0x80,pdata
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb_usb0_state_set_dev_addr
+usb_usb0_state_set_dev_default:	
+	jam DEV_DEFAULT,mem_usb0_state
+usb0_request_set_wait_address:
+	fetch 1,mem_usb_setup_bValue
+	hstore 1,core_usb_addr
+	call usb0_reply_zerolen
+	jam 1,mem_usb_set_high_addr_flag
+	rtn
+usb_usb0_state_set_dev_addr:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_request_set_wait_address
+
+
+usb0_request_set_configuration:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,USB_MAX_NUM_CFG,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb0_state
+	beq DEV_ADDRESS,usb0_request_set_cfg_addr_state
+	beq DEV_CONFIGURED,usb0_request_set_cfg_cfg_state
+	branch usb0_force_stall
+ // This software only supports config = 0,1
+usb0_request_set_cfg_addr_state:
+usb0_request_set_cfg_cfg_state:
+	fetch 1,mem_usb_setup_bValue	//1:Configured state   0:Address state
+	beq 0,usb0_request_set_cfg_stay_addr_state
+	jam DEV_CONFIGURED,mem_usb0_state
+	branch usb0_reply_zerolen
+usb0_request_set_cfg_stay_addr_state:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	branch usb0_reply_zerolen
+
+
+usb_set_idle:
+	jam 1,mem_usb_idle_flag
+	fetch 1,mem_usb_setup_bValueH
+	store 1,mem_usb_idle_rate
+	fetch 1,mem_usb_setup_wIndex
+	sub pdata,1,null
+	call usb_clear_remote_wakeup_set0,zero
+	fetch 1,mem_usb_state
+	bne USB_RESUME,usb0_reply_zerolen
+	jam USB_CONNECTED,mem_usb_state
+	call usb0_reply_zerolen
+	nop 30000
+	nop 30000
+	rtn
+usb_clear_remote_wakeup_set0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam 0,mem_usb_clear_remote_wakeup
+	jam USB_RESUME,mem_usb_state
+	rtn
+
+
+usb_set_report:
+	jam 1,mem_usb0_get_set_report
+	call usb_set_report_resume_judge
+	fetch 2,mem_usb_setup_bValue
+	store 2,mem_usb_setup_bValue_temp
+	fetch 1,mem_usb_setup_bLength	//max 0x40
+	iforce loopcnt
+	arg mem_usb0_setup,contr
+	arg mem_usb0_set_report_data,contw
+	call memcpy
+	branch usb0_reply_zerolen
+	
+usb_set_report_resume_judge:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_SET_REPORT_bValue,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_wIndex
+	arg PC_SET_REPORT_wIndex,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_bLength
+	arg PC_SET_REPORT_bLength,temp
+	isub temp,null
+	nrtn zero
+	jam 1,mem_usb_tx_win_enable
+	rtn
+
+
+usb_set_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	beq BOOT_PROTOCOL,usb_set_boot_protocol
+	beq REPORT_PROTOCOL,usb_set_report_protocol
+	branch usb0_force_stall
+usb_set_boot_protocol:
+	jam 0,mem_usb_set_protocol_status
+	jam 1,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+usb_set_report_protocol:
+	jam 1,mem_usb_tx_mac_enable
+	jam 1,mem_usb_set_protocol_status
+	jam 0,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+
+
+usb0_respond_length:
+	ifetch 1,rega
+	iforce regb
+	increase 1,rega
+//rega=*buff,reb=size	
+usb0_respond:
+	bpatch patch1f_2,mem_patch1f
+	bmark0 mark_isstr,usb0_respond0
+	add regb,1,pdata
+	lshift pdata,pdata
+	hstore 1,core_usb_dfifo0 
+	jam 3,core_usb_dfifo0
+	fetch 1,mem_usb_setup_bLength
+	increase -2,pdata
+	rshift pdata,pdata
+	store 1,mem_usb_setup_bLength
+	beq 0,usb_no_respond_data
+usb0_respond0:
+	fetch 2,mem_usb_setup_bLength
+	isub regb,null
+	branch usb0_respond1,positive
+	copy pdata,regb	
+usb0_respond1:
+	deposit rega
+	store 2,mem_bufptr
+	deposit regb
+	store 1,mem_remain
+	branch usb0_tx
+
+usb_no_respond_data:
+	arg 0,queue
+	branch usb_trig
+
+//mem_bufptr=*buff,mem_remain=size,loopcnt=i,rega=len
+usb0_tx:
+	bpatch patch1f_3,mem_patch1f
+	fetch 1,mem_remain
+	rtn blank
+	copy pdata,loopcnt
+	sub pdata,EP0_PACKET_SIZE,null
+	branch usb0_tx_info,positive
+	arg EP0_PACKET_SIZE,loopcnt	
+usb0_tx_info:
+	fetch 1,mem_remain
+	isub loopcnt,pdata
+	store 1,mem_remain//mem_remain -= len
+	fetch 2,mem_bufptr
+	copy pdata,contr	
+usb0_tx0:
+	ifetch 1,contr
+	hstore 1,core_usb_dfifo0
+	bmark0 mark_isstr,usb0_tx1
+	jam 0,core_usb_dfifo0
+usb0_tx1:
+	loop usb0_tx0
+	copy contr,pdata
+	store 2,mem_bufptr//mem_bufptr += len
+	arg 0,queue
+	call usb_trig
+	fetch 1,mem_remain
+	nrtn blank
+	fetch 1,mem_usb_state
+	rtnne USB_GOT_REPORT_REQ
+	jam USB_CONNECTED,mem_usb_state
+	rtn
+
+
+usb_tx_ep1:
+	arg core_usb_dfifo1,rega
+	arg 1,queue
+usb_tx_loop:
+	ifetch 1,contr
+	istore 1,rega
+	loop usb_tx_loop
+usb_trig:
+	setarg 0
+	qset1 pdata
+	hstore 1,core_usb_trig
+	fetcht 1,mem_usb_tx_wait
+	ior temp,pdata
+	store 1,mem_usb_tx_wait
+	rtn
+
+usb_tx_ep2:
+	arg 2,queue
+	arg core_usb_dfifo2,rega
+	branch usb_tx_loop
+
+usb_tx:
+	bpatch patch1f_4,mem_patch1f
+	fetch 1,mem_usb_tx_enable
+	rtn blank
+	fetch 1,mem_usb_tx_wait
+	nbranch usb_inwake_state_tx_dispose,blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	branch usb_tx_fifo_release,blank
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_windows_wakeup
+	bne USB_CONNECTED,usb_tx_fifo_release
+	fetch 1,mem_usb_clear_remote_wakeup
+	nbranch usb_tx_fifo_release,blank
+	call usb_tx_data_ep1
+	branch usb_tx_data_ep2
+
+usb_tx_data_ep1:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 1
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 1
+	fetch 1,mem_usb_tx_enable
+	set0 1,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep1_data
+	rtn blank
+	beq USB_EP1_KB,usb_tx_kb_normal_data
+	branch assert
+
+usb_tx_data_ep2:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 2
+	fetch 1,mem_usb_tx_enable
+	set0 2,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep2_data
+	rtn blank
+	beq USB_EP2_MS,usb_tx_ms_data
+	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
+	branch assert
+
+usb_tx_fifo_release:
+	//clear mem_usb_mouse_data/mem_usb_kb_data/mem_usb_kb_multikey
+	arg mem_usb_mouse_data,contw
+	arg 6,loopcnt
+	branch memset0
+	
+usb_tx_ms_data:
+	fetch 1,mem_usb_idle_flag
+	fetcht 1,mem_usb_get_protocol_flag
+	iand temp,pdata
+	branch usb_tx_ms_data_normal_mode,blank
+	fetcht 1,mem_usb_set_protocol_status
+	iadd temp,pdata
+	beq MAC_BOOT_MODE,usb_tx_ms_data_mac_boot_mode
+	branch usb_tx_ms_data_normal_mode
+
+usb_tx_ms_data_mac_boot_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_ms_data_mac_boot_regroup:
+	fetch 1,mem_usb_mouse_data+1	//key
+	beq R_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	beq LR_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	fetch 1,mem_usb_mouse_data+1	//key
+	store 1,mem_usb_mouse_data
+	fetch 1,mem_usb_mouse_data+2	//x low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+4	//y low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+6	//wheel
+	istore 1,contw
+	arg 4,loopcnt
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+	
+usb_tx_ms_data_normal_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:	
+	arg 8,loopcnt		
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_multikey_data:
+	jam 0,mem_usb_ep2_data
+	arg 3,loopcnt
+	arg mem_usb_kb_multikey,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_normal_data:
+	jam 0,mem_usb_ep1_data
+	arg 8,loopcnt
+	arg mem_usb_kb_data,contr
+	branch usb_tx_ep1
+
+usb_inwake_state_tx_dispose:
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_clear_tx_wait
+	beq USB_CONNECTED, usb_mac_wakeup_trig
+	rtn
+usb_clear_tx_wait:
+	jam 0,mem_usb_tx_wait
+	rtn	
+usb_mac_wakeup_trig:
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_mac_wakeup_trig
+	rtn
+
+usb_mac_wakeup_judge:
+	fetch 1,mem_usb_state
+	rtneq USB_SLEEP
+	beq USB_CONNECTED,usb_mac_wakeup
+	rtn
+usb_mac_wakeup:
+	fetch 1,mem_usb_mac_wakeup_trig
+	rtn blank
+	jam 1,mem_usb_wakestate_onetime_flag
+	branch usb_wakeup
+
+usb_windows_wakeup:
+	arg TIMER_WAKEUP,queue
+	call timer_check
+	nrtn blank
+usb_wakeup:
+	hfetch 1,core_usb_config
+	rtnbit0 7	//endpoint wakeup enable
+	jam 0xfc,core_usb_config
+	nop 30000
+	jam 0x3c,core_usb_config
+	rtn
+
+
+
+
+
+
+hci_rx_h4:
+	bpatch patch1f_5,mem_patch1f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+hci_rx_h4_1:
+	call hci_h4_parse_packet
+	ncall h4_rx_discard_packet,user
+	rtn
+	
+hci_h4_parse_packet:
+	bpatch patch1f_6,mem_patch1f
+	copy contru,rega
+	arg 4,temp
+	ifetch 1,contru //type
+	beq HCI_H4_TYPE_CMD,hci_h4_parse_packet_wait_len
+	increase 1,temp //acl packet has 2 bytes for length
+	beq HCI_H4_TYPE_ACL,hci_h4_parse_packet_wait_len
+	copy contru,pdata
+	hstore 2,core_uart_rrptr
+	rtn
+hci_h4_parse_packet_wait_len:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait_len,positive // while(rxitems >= 4 or 5);
+	//Make sure length has been recieved.
+	disable user
+	copy rega,contru
+	call h4_get_rx_payload_len
+	iadd temp,temp
+hci_h4_parse_packet_wait:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait,positive//wait for rcv a complete packet
+	copy rega,contru
+	ifetch 1,contru //HCI packet type
+	beq  HCI_H4_TYPE_CMD,process_hci_cmd
+	branch assert
+	
+h4_rx_discard_packet:
+	bpatch patch1f_7,mem_patch1f
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	call h4_get_rx_payload_len
+	iadd contru,contru
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+
+//contru = pointer to packet start
+//return len via pdata
+h4_get_rx_payload_len:
+	ifetch 1,contru
+	increase 2,contru
+	beq HCI_H4_TYPE_ACL,h4_get_rx_payload_len_acl
+	ifetch 1,contru
+	rtn
+h4_get_rx_payload_len_acl:
+	ifetch 2,contru
+	rtn
+
+h4_get_tx_ptr:
+	hfetch 2,core_uart_twptr
+	increase -5,contwu
+	iadd contwu,contwu
+	rtn
+
+h4_send_packet_event:
+	arg HCI_H4_TYPE_EVENT,temp //type
+	branch h4_send_packet
+h4_send_packet_acl: //upgoing ACL
+	arg HCI_H4_TYPE_ACL,temp //type
+h4_send_packet:
+	bpatchx patch20_0,mem_patch20
+	increase 1,loopcnt
+	hfetch 2,core_uart_twptr
+	copy pdata,contwu
+	copy loopcnt,pdata //length
+	istoret 1,contwu //packet type in temp
+	increase -1,pdata
+	iadd contwu,contwu
+	copy contwu,pdata
+	store 2,mem_hci_acl_tx_trigger_wptr
+	copy temp,pdata
+	rtneq HCI_H4_TYPE_ACL //not send acl packet immediately
+	fetch 2,mem_hci_acl_tx_trigger_wptr
+	hstore 2,core_uart_twptr
+	branch h4_send_acl_trigger_clear
+	
+	
+h4_send_acl_trigger_clear:
+	setarg 0
+	store 2,mem_hci_acl_tx_trigger_wptr
+	rtn
+
+	
+/*********************************/
+/**********   HCI  *****************/
+/*********************************/
+
+hci_init:
+	rtn wake
+	setarg hci_idle_dispatch
+	store 2,mem_cb_idle_process
+
+	setarg uart_baud_115200
+	store uart_baud_len,mem_baud
+hci_lpm_init:
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rsaddr
+	setarg mem_h5rx_buf_end
+	hstore 2,core_uart_readdr
+	setarg mem_h5tx_buf
+	hstore 2,core_uart_tsaddr
+	call hci_sel_init
+hci_reinit:
+	jam 0x0,core_uart_ctrl
+ 	setarg mem_h5tx_buf
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rrptr
+	store 2,mem_h5rx_rptr
+hci_init_common:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	jam uartclk_dpll,core_uart_clksel
+	jam uart_ctrl_h4,core_uart_ctrl
+	rtn
+
+hci_sel_init:
+	setarg mem_h5tx_buf_end
+	hstore 2,core_uart_teaddr
+	hfetch 1,core_gpio_sel1
+	or_into 0x07,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+	
+	
+hci_rx_packet:
+	bpatchx patch20_1,mem_patch20
+	hfetch 1,core_uart_status
+	iforce regb
+	bbit0 uart_status_rx_fifo_empty,hci_rx_packet_cont
+	hfetch 2,core_uart_rxitems
+	iforce regc
+	arg 0x44f,temp
+	isub temp,null
+	nrtn zero
+hci_rx_packet_cont:
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	branch hci_rx_h4
+	
+uart_send_byte:
+	hfetcht 1,core_uart_status
+	isolate1 6,temp
+	branch uart_send_byte,true
+	hstore 1,core_uart_txd
+	rtn
+	
+process_hci_cmd:
+	bpatchx patch20_2,mem_patch20
+	fetch 1,mem_hci_cmd
+	branch process_hci_cmd_cont,blank
+	enable user					/* last command still there */
+	rtn
+process_hci_cmd_cont:
+	ifetch 2,contru
+	iforce alarm				/* alarm is used for sending */
+	iforce queue				/* queue is OCF */
+	ifetch 1,contru		/* skip hci length */
+	iforce temp			/* temp has the length */
+	rshift2 alarm,pdata
+	rshift8 pdata,pdata
+	beq HCI_OGF_VENDOR_SPECIFIC,phci_grp_vendor_specific
+	rtn
+
+
+phci_grp_vendor_specific:
+	bpatchx patch20_3,mem_patch20
+	deposit queue
+	beq HCI_VENDOR_CMD_RESET,hci_normal_reply
+	beq HCI_VENDOR_CMD_CHIPID,phci_grp_vendor_chipid
+	beq HCI_VENDOR_CMD_BAUD,phci_grp_vendor_baud
+	beq HCI_VENDOR_CMD_PATCH,phci_grp_vendor_patch
+	beq HCI_VENDOR_CMD_PATCH_DONE,phci_grp_vendor_done
+	beq HCI_VENDOR_CMD_ECHO,hci_normal_reply
+	beq HCI_VENDOR_CMD_BDADDR,phci_grp_vendor_bdaddr
+	beq HCI_VENDOR_CMD_ENTER_LPM,phci_grp_vendor_enter_lpm
+	
+	beq HCI_VENDOR_CMD_MEM,phci_grp_vendor_mem
+	beq HCI_VENDOR_CMD_EEP,phci_grp_vendor_eep
+	beq HCI_VENDOR_CMD_PATCH_SEC_INIT,phci_grp_vendor_patch_sec_init
+	beq HCI_VENDOR_CMD_PATCH_SEC,phci_grp_vendor_patch_sec
+	branch hci_normal_reply
+
+phci_grp_vendor_enter_lpm:
+	call hci_normal_reply
+	call wait_uarttx
+	call gpio_pu_uart_tx
+hci_enter_lpm:
+	call app_put_lpm_wake_lock
+	call app_l2cap_flow_control_enable
+	branch gpio_rx_config_input_with_pu
+
+hci_exit_lpm:
+	jam HCI_RX_READY,mem_hci_lt_rx_state
+	call app_get_lpm_wake_lock
+	call hci_lpm_init
+	branch app_l2cap_flow_control_disable
+	
+phci_grp_vendor_chipid:
+	call hci_get_cmd_complete_ptr
+	hfetch 2,core_chipid
+	istore 2,contwu
+	force 6,loopcnt
+	branch hci_command_complete
+	
+phci_grp_vendor_baud:
+	ifetch 2,contru
+	store 2,mem_baud
+	hstore 2,core_uart_baud
+	rtn
+
+
+phci_grp_vendor_patch_common:
+	//jam 0x80,core_ucode_ctrl
+	ifetch 1,contru
+	copy pdata,temp //check sum via temp
+	hstore 1,core_ucode_low
+	ifetch 1,contru
+	iadd temp,temp
+	set1 7,pdata
+	hstore 1,core_ucode_ctrl
+	ifetch 1,contru
+	iadd temp,temp
+	copy pdata,loopcnt
+	rtn
+	
+phci_grp_vendor_patch:
+	bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+phci_grp_vendor_patch_loop:
+	ifetch 1,contru
+	hstore 1,core_ucode_data
+	iadd temp,temp
+	loop phci_grp_vendor_patch_loop
+phci_grp_vendor_patch_check_sum:	
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	branch hci_normal_reply
+
+	
+phci_grp_vendor_patch_sec:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+	store 8,mem_pdatatemp
+phci_grp_vendor_patch_sec_loop:
+	call do_aes_cbc	
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	storet 8,mem_temp
+	arg mem_temp_block2,contw
+	call store_aes_result
+	arg mem_temp_block2,rega
+	arg mem_temp_block0,regb
+	arg mem_temp_block3,contw
+	call xor16	
+	arg 16,loopcnt
+	arg mem_temp_block3,contr
+	call load_ucode_only_loop
+	fetcht 8,mem_temp
+	fetch 8,mem_pdatatemp
+	increase -16,pdata
+	store 8,mem_pdatatemp
+	nbranch phci_grp_vendor_patch_sec_loop,blank
+	branch phci_grp_vendor_patch_check_sum	
+	
+load_ucode_only_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_only_loop
+	rtn
+
+load_uart_sum_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop load_uart_sum_loop
+	rtn
+
+phci_grp_vendor_patch_sec_init:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	arg 0,temp
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	arg mem_temp_block0,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch phci_grp_vendor_patch_check_sum
+
+
+phci_grp_vendor_done:
+	arg 0x20,loopcnt    //patch switch length
+	arg mem_patch00,contw
+	arg 0,temp //checksum
+phci_grp_vendor_done_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop phci_grp_vendor_done_loop
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	jam 0,core_ucode_ctrl
+	call hci_normal_reply
+	call h4_rx_discard_packet
+	call clear_key_buf
+	call wait_uarttx
+	branch soft_reset
+
+phci_grp_vendor_patch_bad:
+	jam 0,core_ucode_ctrl
+	branch start
+	
+phci_grp_vendor_bdaddr:
+	ifetch 6,contru
+	store 6,mem_lap
+	branch hci_normal_reply
+
+
+phci_grp_vendor_mem:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	copy pdata,contw
+	call uart_copy_rx_bytes
+	branch hci_normal_reply
+
+
+phci_grp_vendor_eep:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	arg mem_l2cap_rxbuff1,contw
+	call uart_copy_rx_bytes
+	fetcht 1,mem_hci_curr_len
+	arg mem_l2cap_rxbuff1,rega
+	fetch 2,mem_hci_curr_target
+	branch iicd_write_ota_data
+	
+	
+
+	
+hci_normal_reply:
+	force 4,loopcnt
+hci_command_complete:	/* loopcnt is hci length */
+	call hci_get_payload_ptr
+	force 0x1,pdata
+	istore 1,contwu
+	deposit alarm
+	istore 3,contwu
+	force HCI_EVENT_COMMAND_COMPLETE,queue
+hci_send_event:		/* queue:event code, loopcnt: length */
+	bpatchx patch20_4,mem_patch20
+	call hci_get_packet_ptr
+	deposit queue
+	istore 1,contwu
+	deposit loopcnt
+	istore 1,contwu
+hci_send_event_raw:
+	force 5,queue
+	increase 2,loopcnt
+hci_send_packet:
+	branch h4_send_packet_event
+
+hci_send_commu_ready_event:
+	force HCI_EVENT_VENDOR_SPECIFIC,queue
+	call hci_get_payload_ptr
+	setarg HCI_VENDOR_EVENT_COMMU_READY
+	istore 1,contwu
+	force 1,loopcnt
+	branch hci_send_event
+
+hci_get_cmd_complete_ptr:
+	force 12,contwu
+	branch hci_get_tx_ptr
+
+hci_get_payload_ptr:
+	force 8,contwu
+	branch hci_get_tx_ptr
+
+hci_get_packet_ptr:
+	force 6,contwu
+hci_get_tx_ptr:
+	branch h4_get_tx_ptr
+
+	
+
+calc_tx_crc16:
+	pulse crc16
+	enable enable_crc
+crcloop:
+	ifetch 1,contwu
+	inject bucket,8
+	loop crcloop
+	enable enable_parity
+	inject bucket,16
+	disable enable_parity
+	disable enable_crc
+	disable crc16
+	byteswap pdata,pdata
+	rtn
+
+
+
+cmd_exit:
+	jam 0,mem_hci_cmd
+	rtn
+cmd_check_plap:
+	fetch 6,mem_hci_plap
+	fetcht 6,mem_plap
+	isub temp,null
+	rtn
+
+	
+	
+//enable ssp master sm
+cmd_pair:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,cmd_pair_passive
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+cmd_pair_passive:
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	setarg 0
+	setflag master,smap_lmptid,pdata		
+	store 1,mem_lmo_tid2
+	branch cmd_exit
+	rtn
+cmd_in_sniff:
+	jam LMP_SNIFF_REQ,mem_lmo_opcode2
+	arg mem_sniff_payload,contw
+	setarg 0
+	isolate1 27,clke_bt
+	setflag true,1,pdata		/* use init 2 if bit27 of clke is 1 */
+	istore 1,contw	
+	setarg 0	/* dsniff */
+	istore 2,contw
+	fetch 2,mem_sniff_param_interval	/* tsniff */
+	istore 2,contw
+	fetch 1,mem_sniff_param_attempt	/* attempt */
+	istore 2,contw
+	fetch 1,mem_sniff_param_timeout	/* timeout */
+	istore 2,contw
+	branch cmd_exit
+	
+cmd_exit_sniff:
+	jam LMP_UNSNIFF_REQ,mem_lmo_opcode2
+	branch cmd_exit
+
+hci_idle_dispatch:
+	call gpio_check_uart_state
+	rtn true
+	arg UART_WAKEUP_RX,temp
+	call gpio_get_bit
+	nbranch uart_wake_up,true
+	jam HCI_RX_WAKE,mem_hci_lt_rx_state
+	rtn
+uart_wake_up:
+	fetch 1,mem_hci_lt_rx_state
+	rtnne HCI_RX_WAKE
+	call hci_exit_lpm
+	branch hci_send_commu_ready_event
+	
+	
+/**
+* the following API is to send the HID data
+* 
+*/
+
+/**
+* the following API is to process the hid  rx data
+* 
+*/
+//handle the hid data
+
+hid_rx_process:
+	bpatchx patch20_5,mem_patch20
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_idle,hid_rx_process_handshake
+	beq hid_type_set_protocol,hid_rx_process_handshake
+	beq hid_type_data,hid_rx_process_data
+	beq HID_TYPE_SET_REPORT,hid_rx_process_set_report
+	beq HID_TYPE_CONTROL,hid_rx_process_hid_control
+	rtn
+
+hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,hid_rx_process_virtual_cable_unplug
+	beq HID_CONTROL_P_SUSPEND,hid_rx_process_suspend
+	rtn
+	
+hid_rx_process_virtual_cable_unplug:
+	jam BT_EVT_VIRTUAL_CABLE_UNPLUG,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 1,mem_device_option
+	rtnbit0 dvc_op_mouse
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,mouse_irtual_cable_unplug
+	rtn
+hid_rx_process_suspend:
+	rtn
+
+hid_rx_process_set_report:
+	call hid_rx_process_data
+	arg 0x01,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0x00
+	istore 1,contw
+	rtn
+
+hid_rx_process_handshake:
+	arg 1,regA//payload length
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	jam 1,mem_ui_data_txbuff_length
+	fetch 1,mem_hid_control_state
+	set1 l2cap_channel_hid_handshake_done
+	store 1,mem_hid_control_state
+	jam BT_EVT_HID_HANDSHAKE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+hid_rx_process_data:
+	ifetch 1,contr
+	beq HID_REPORT_ID_KB,hid_rx_process_data_hid_kb
+	rtn
+
+hid_rx_process_data_hid_kb:
+	rtn
+
+	
+hid_malloc_tx_buff:
+	call l2cap_malloc
+	copy rega,temp
+	storet 1,mem_ui_data_txbuff_length
+	copy pdata,contw
+	copy rega,pdata
+	istore 2,contw //hid payload length
+	rtn
+
+
+
+
+	
+	
+
+
+
+	
+    
+	
+
+/************************************/
+/*initialize L2CAP related variables*/
+/************************************/
+l2cap_init:
+	branch l2cap_init_wake,wake
+l2cap_init_work:
+	setarg mem_l2cap_xmem_end
+	arg mem_l2cap_xmem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+l2cap_init_wake:	
+	bpatchx patch20_6,mem_patch20
+	setarg mem_sdp_mem_end
+	arg mem_sdp_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	setarg mem_l2cap_mem_end
+	arg mem_l2cap_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	branch l2cap_lpm_load_txbuf
+	
+process_rx_l2cap_pkt:
+	bpatchx patch20_7,mem_patch20
+	copy contr,temp
+	//call l2cap_malloc_is_fifo_full
+	//nrtn blank
+	copy temp,contr
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_pkt_length
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_cid
+	deposit contr
+	store 2,mem_l2cap_payload_ptr
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,l2cap_rx_multiplexing
+	branch ml2cap_rx_multiplexing
+
+l2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch21_0,mem_patch21
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,l2cap_call_proc_signal
+l2cap_rx_multiplexing0:
+	beq L2CAP_SDP_channel,l2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+l2cap_check_map:
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	bpatchx patch21_1,mem_patch21
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	beq 0,set_pdata_0
+	beq 1,set_pdata_0
+	beq 2,set_pdata_0
+	beq 3,set_pdata_0
+	beq 0x81,set_pdata_0
+	beq 0xc0,set_pdata_0
+	beq 0x80,set_pdata_0
+	beq 0x40,set_pdata_0
+	rtn
+
+set_pdata_0:
+	setarg 0
+	rtn
+
+
+l2cap_call_proc_signal:
+	call l2cap_check_map
+	nrtn blank
+l2cap_call_proc_signal0:
+	call l2cap_malloc_signal_channel
+	call l2cap_process_signal_pkt
+	fetcht 2,mem_l2cap_signal_tx_length
+	branch l2cap_call_proc_no_reply,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+	
+l2cap_call_proc_sigal_pending:
+	fetch 1,mem_l2cap_pending_item
+	rtn blank
+	copy pdata,rega
+	bpatchx patch21_2,mem_patch21
+	fetch 4,mem_l2cap_sdpres_delay_time
+	arg 0x100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	jam 0,mem_l2cap_pending_item
+	copy rega,pdata
+	beq L2CAP_SDP_channel,l2cap_sdp_conn_succ
+	branch assert
+l2cap_sdp_conn_succ:
+	arg 0,debug
+	call l2cap_malloc_signal_channel
+	call restore_l2cap_req_param
+	call l2cap_get_signal_tx_payload
+	call save_cont_pointers
+	call send_connection_sdp_res
+	call l2cap_get_signal_tx_buff
+	//fetch 2,mem_l2cap_signal_tx_length
+	setarg 0x000c
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+
+
+l2cap_reset_sdp_map:
+	bpatchx patch21_3,mem_patch21
+	fetch 2,mem_sdp_tx_pkt_length
+	increase 4,pdata
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	add pdata,1,temp ///temp: how many128
+	arg mem_tx_fifo3,contr
+	ifetch 3,contr
+	rtn blank
+	store 3,mem_tx_fifo_map_temp
+	fetch 1,mem_tx_fifo_map_temp
+	copy pdata,rega
+	call check_l2cap_map
+	copy regb,pdata
+	store 1,mem_tx_fifo3
+	rtn
+
+check_l2cap_map:
+	arg 0,queue
+	arg 0,regb
+
+check_l2cap_map_loop:
+	sub queue,7,null
+	nrtn positive
+	qisolate1 rega
+	branch check_l2cap_map_used,true
+	branch check_l2cap_map_used2
+
+check_l2cap_map_used:
+	copy temp,pdata
+	branch check_l2cap_map_used2,blank
+	qset1 regb
+	increase -1,temp
+
+check_l2cap_map_used2:
+	increase 1,queue
+	branch check_l2cap_map_loop
+
+l2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_check_map
+	nrtn blank
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+	call l2cap_reset_sdp_map
+	branch l2cap_call_proc_sdp_common
+
+	
+ml2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+l2cap_call_proc_sdp_common:
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	branch l2cap_call_proc_no_reply,blank
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_hid:
+	call hid_rx_process
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_rfcomm:
+	bpatchx patch21_4,mem_patch21
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	call rfcomm_rx_process
+	fetch 1,mem_rfcomm_malloc_fail_flag
+	rtneq RFCOMM_MALLOC_FAIL
+	branch l2cap_rx_reset_state
+l2cap_call_proc_no_reply:
+	call l2cap_malloc_discard
+	//fall through
+l2cap_rx_reset_state:
+	setarg 0
+	store 2,mem_l2cap_rx_pkt_length
+	store 2,mem_l2cap_rx_cid
+	jam L2CAP_RX_DONE,mem_l2cap_rx_done
+	rtn
+/* To process one L2CAP signalling pkt consisting of 1 or more signalling commands.	*/
+l2cap_process_signal_pkt:
+	bpatchx patch21_5,mem_patch21
+	call l2cap_get_signal_tx_payload
+	force 0,regB
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+l2cap_process_signal_pkt_loop:
+	call l2cap_process_one_signal
+	deposit regC
+	increase -4,regC
+	increase -4,pdata
+	nbranch l2cap_process_signal_pkt_loop,blank
+	copy regB,pdata
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_process_one_signal:
+	bpatchx patch21_6,mem_patch21
+	ifetch 1,contr
+	beq signal_cmd_reject,l2cap_proc_signal_cmd_reject
+	beq signal_connect_req,l2cap_proc_signal_connect_req
+	beq signal_connect_rsp,l2cap_proc_signal_connect_rsp
+	beq signal_config_req,l2cap_proc_signal_config_req
+	beq signal_config_rsp,l2cap_proc_signal_config_rsp
+	beq signal_disconnect_req,l2cap_proc_signal_disconnect_req
+	beq signal_disconnect_rsp,l2cap_proc_signal_disconnect_rsp
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_echo_rsp,l2cap_proc_signal_echo_rsp
+	beq signal_info_req,l2cap_proc_signal_info_req
+	beq signal_info_rsp,l2cap_proc_signal_info_rsp
+	call l2cap_reject_command
+l2cap_process_one_signal_rtn:
+	rtn
+
+l2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	copy regc,pdata
+	isub rega,regc
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1, contw
+	ifetch 2,contr 
+l2cap_proc_signal_info_req_reply:
+	beq L2CAP_SIG_EXT_FEATRUE,l2cap_proc_signal_info_req_ext
+	beq L2CAP_SIG_FIX_FEATRUE,l2cap_proc_signal_info_req_fix
+	rtn
+l2cap_proc_signal_info_req_ext:
+	setarg 0x020008
+	istore 6, contw
+	setarg 0x0280
+	istore 4, contw
+	force 12,pdata
+	branch l2cap_proc_signal_info_req_common
+l2cap_proc_signal_info_req_fix:
+	setarg 0x3000c
+	istore 6, contw
+	setarg 0x0006
+	istore 8, contw
+	force 16,pdata
+l2cap_proc_signal_info_req_common:
+	iadd regb,regb
+	branch l2cap_process_one_signal_rtn
+	
+ml2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	ifetch 2,contr
+	store 2,mem_temp
+	copy regc,pdata
+	isub rega,regc 
+	call l2cap_get_signal_tx_payload
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw 
+	fetch 2,mem_temp
+	branch l2cap_proc_signal_info_req_reply
+
+
+/*  Respond to the command reject signal sent from the remote BD.   */
+l2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	copy regC,pdata
+	isub regA,regC
+l2cap_proc_signal_cmd_reject_rtn:
+	branch l2cap_process_one_signal_rtn
+/* Respond to an L2CAP connection request from remote BD. (generate a connection_rsp)	*/
+l2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//fetch 6,mem_inquiry_bd_addr
+  	//store 6,mem_master_paged_bd_addr
+  	call load_cont_pointers
+	arg 0,debug
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,temp //PSM
+	ifetch 2,contr
+	copy pdata,timeup
+	bpatchx patch21_7,mem_patch21
+	copy temp,pdata
+	beq PSM_SDP,l2cap_proc_signal_connect_req_sdp
+	beq PSM_RFCOMM,l2cap_proc_signal_connect_req_rfcomm
+	beq PSM_HID_control,l2cap_proc_signal_connect_req_hid_ctrl
+	beq PSM_HID_interrupt,l2cap_proc_signal_connect_req_hid_int
+	call l2cap_reject_command
+	branch l2cap_proc_signal_connect_req_rtn
+
+l2cap_proc_signal_connect_req_sdp:
+	call save_cont_pointers
+	arg L2CAP_SDP_channel,temp
+	fetch 2,mem_sdp_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	copy clkn_bt,pdata
+	store 4,mem_l2cap_sdpres_delay_time
+	call store_l2cap_req_param
+	branch  send_connection_pending
+
+store_l2cap_req_param:
+	storet 2,mem_psm
+	deposit timeup
+	store 2,mem_scid
+	deposit rega
+	store 2,mem_cmd_length
+	deposit regb
+	store 2,mem_tt2
+	deposit regc
+	store 2,mem_tt3
+	deposit queue
+	store 2,mem_id
+	rtn
+
+restore_l2cap_req_param:
+	fetcht 2,mem_psm
+	fetch 2,mem_scid
+	copy pdata,timeup
+	fetch 2,mem_cmd_length
+	copy pdata,rega
+	fetch 2,mem_tt2
+	copy pdata,regb
+	fetch 2,mem_tt3
+	copy pdata,regc
+	fetch 2,mem_id
+	copy pdata,queue
+	rtn
+
+l2cap_proc_signal_connect_req_rfcomm:
+	call save_cont_pointers
+	setarg L2CAP_RFCOMM_channel
+	arg L2CAP_RFCOMM_channel,temp
+	fetch 2,mem_RFCOMM_remote_CID
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_ctrl:
+	call save_cont_pointers
+	arg L2CAP_HID_Control_channel,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_int:
+	call save_cont_pointers
+	deposit clke
+	arg L2CAP_HID_Interrupt_channel,temp
+	fetch 2,mem_hid_int_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	branch send_connection_res
+
+send_connection_pending:
+	setarg L2CAP_connect_pending
+	store 2,memL2CAP_T1
+	jam L2CAP_SDP_channel,mem_l2cap_pending_item
+	branch send_connection_res0
+send_connection_sdp_res:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+send_connection_res:
+	setarg L2CAP_connect_successful
+	store 2,memL2CAP_T1
+send_connection_res0:
+	bpatchx patch22_0,mem_patch22
+	call load_cont_pointers
+	setarg signal_connect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	fetch 2,memL2CAP_T1
+	beq L2CAP_connect_pending,connect_pending
+	isolate0 0,debug
+	branch connect_suc,true
+	setarg L2CAP_connect_refused_no_resources
+connect_suc:
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+connect_pending:
+	istore 2,contw
+	force 0x0002,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+	
+already_connected:
+	set1 0,debug
+	branch send_connection_res
+connect_req_update_byte_counts:
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_proc_signal_connect_req_rtn
+l2cap_proc_signal_connect_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //identifier
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //remote cid
+	copy pdata,timeup
+	ifetch 2,contr //local cid
+	copy pdata,temp
+	bpatchx patch22_1,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_int,zero
+	rtn
+
+l2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_rfcomm_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	rtn
+
+l2cap_proc_signal_config_req:
+	ifetch 1,contr//identifier
+	copy pdata,queue
+	ifetch 2,contr//length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr//dest cid
+	copy pdata,temp
+	copy temp,regA
+	bpatchx patch22_2,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_int,zero
+	branch l2cap_reject_command
+	//branch L2CAP_proc_signal_config_req_rtn
+l2cap_proc_signal_config_req_sdp:
+	copy contw, timeup
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	copy timeup,contw
+	arg L2CAP_SDP_channel,timeup
+	fetch 2,mem_sdp_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_ctrl:
+	copy contw, timeup
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	copy timeup,contw
+	arg L2CAP_HID_Control_channel,timeup
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_int:
+	copy contw, timeup
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	copy timeup,contw
+	arg L2CAP_HID_Interrupt_channel,timeup
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_rfcomm:
+	copy contw, timeup
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+//	jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	copy timeup,contw
+	arg L2CAP_RFCOMM_channel,timeup
+	fetch 2,mem_RFCOMM_remote_CID
+	copy pdata,temp
+l2cap_send_config_rsp:
+	bpatchx patch22_3,mem_patch22
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0006
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	force 0x00,pdata
+	istore 2,contw
+	force L2CAP_config_success,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	//copy temp,pdata
+	storet 2,mem_config_req_dest_CID
+	copy queue,pdata
+	store 1,mem_config_identifier
+	force L2CAP_SDP_channel,pdata
+	icompare 0xff,timeup
+	branch l2cap_send_config_rsp_is_sdp,true
+	increase 1,pdata
+l2cap_send_config_rsp_is_sdp:
+	//store 1,mem_send_config_req
+	rtn
+l2cap_check_channel_state:
+	disable user
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	copy contr,contw
+	increase -1,contw
+	istore 1,contw
+	enable user
+	rtn
+l2cap_send_config_req:
+l2cap_send_config_req_sdp:
+	fetch 1,mem_sdp_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_rfcomm,user
+	jam L2CAP_SDP_channel,mem_send_config_req
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_ctrl,user
+	jam L2CAP_RFCOMM_channel,mem_send_config_req
+	fetch 2,mem_RFCOMM_remote_CID
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_int,user
+	jam L2CAP_HID_Control_channel,mem_send_config_req
+	fetch 2,mem_hid_ctrl_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	call l2cap_check_channel_state
+	nrtn user//End of sending config req
+	jam L2CAP_HID_Interrupt_channel,mem_send_config_req
+	fetch 2,mem_hid_int_remote_cid
+	store 2,mem_config_req_dest_CID
+	//branch L2CAP_generate_config_req
+
+l2cap_generate_config_req:
+	bpatchx patch22_4,mem_patch22
+	call l2cap_get_req_id
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	force signal_config_req,pdata
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	fetch 2,mem_config_req_dest_CID
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	force 1,pdata
+	istore 1,contw
+	force 2,pdata
+	istore 1,contw
+	fetch 1,mem_send_config_req
+	beq L2CAP_RFCOMM_channel,l2cap_generate_config_req_rfcomm
+	setarg L2CAP_config_MTU_SDP
+	istore 2,contw
+	branch l2cap_generate_config_req_done
+l2cap_generate_config_req_rfcomm:
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+l2cap_generate_config_req_done:
+	arg 0x0c,temp
+	storet 2,mem_l2cap_signal_tx_length
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	jam 0,mem_send_config_req
+l2cap_proc_signal_config_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_config_rsp:
+	increase 1,contr
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //source cid
+	copy pdata,regA
+	bpatchx patch22_5,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_int,zero
+	increase 2,contr
+	ifetch 2,contr
+	iforce null
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+
+
+l2cap_proc_signal_disconnect_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	copy regA,temp
+	call save_cont_pointers
+	bpatchx patch22_6,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_control_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_int:
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_interrupt_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+
+l2cap_proc_signal_disconnect_req_sdp:
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_sdp_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_hid_control_now:
+	call l2cap_reset_hid_ctrl_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_disconnect_hid_interrupt_now:
+	call l2cap_reset_hid_int_state
+	fetch 2, mem_hid_ctrl_remote_cid
+	branch l2cap_send_disconnect_rsp_pkt, blank
+	//set the flag,hid channel close
+	//should we set here?
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch l2cap_send_disconnect_rsp_pkt
+
+l2cap_disconnect_sdp_now:
+	call l2cap_reset_sdp_channel_state
+	fetch 1,mem_upper_sm_ss
+	nbranch l2cap_send_disconnect_rsp_pkt,blank
+	//jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2
+	//jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_proc_signal_disconnect_req_rfcomm:
+	copy timeup,temp
+	fetch 2, mem_RFCOMM_remote_CID
+	isub temp,null
+	branch l2cap_disconnect_rfcomm_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_rfcomm_now:
+	call l2cap_reset_rfcomm_channel_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_send_disconnect_rsp_pkt:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_err_rtn:
+	call load_cont_pointers
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_rtn:
+	iadd regB,regB
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch22_7,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_rsp_err_rtn
+l2cap_proc_signal_disconnect_rsp_sdp:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	call l2cap_reset_sdp_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_rfcomm_remote_CID
+	isub temp,null
+	call l2cap_reset_rfcomm_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	call  l2cap_reset_hid_ctrl_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_int:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	call l2cap_reset_hid_int_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rtn:
+	call load_cont_pointers
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+	branch l2cap_process_one_signal_rtn
+
+/* received an echo request from remote BD.  Will echo the 1st 1 byte back,		*/
+l2cap_proc_signal_echo_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	setarg 9
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 4,pdata
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_echo_rsp:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_info_rsp:
+	branch l2cap_process_one_signal_rtn
+l2cap_reject_command:
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	setarg signal_cmd_reject
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 2
+	istore 2,contw
+	setarg cmd_not_understood
+	istore 2,contw
+	increase 6,regB
+	arg 4,regC
+	branch l2cap_process_one_signal_rtn
+
+
+
+l2cap_reset_rfcomm_channel_state:
+	setarg 0
+	store 2,mem_RFCOMM_Tx_pkt_length
+	store 2,mem_RFCOMM_remote_CID
+	jam 0,mem_rfcomm_state
+	rtn
+l2cap_reset_sdp_channel_state:
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	rtn
+l2cap_reset_hid_ctrl_state:
+	setarg 0
+	store 2,mem_hid_ctrl_remote_cid
+	jam 0,mem_hid_control_state
+	fetch 1,mem_hid_interrupt_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+
+l2cap_reset_hid_int_state:
+	setarg 0
+	store 2,mem_hid_int_remote_cid
+	jam 0,mem_hid_interrupt_state
+	fetch 1,mem_hid_control_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+	
+l2cap_reset_hid_disconnected:
+	jam BT_EVT_HID_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+l2cap_disconnect_interrupt_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_INTERRUPT, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_int_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_int_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Interrupt_channel,regB
+	branch l2cap_generate_disconnect_req
+l2cap_disconnect_control_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_ctrl_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_ctrl_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Control_channel,regB
+l2cap_generate_disconnect_req:
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	force signal_disconnect_req,pdata
+	istore 1,contw
+	fetch  1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy regB,pdata
+	istore 2,contw
+	force 0x08,temp //signal tx length in temp
+	branch ml2cap_send_signal
+
+ml2cap_send_signal_connect_req:
+	bpatchx patch23_0,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_connect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata	 //PSM
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 8,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_config_req:
+	bpatchx patch23_1,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_config_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	/****modigy for nokia*****/
+	copy temp,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x01
+	istore 1,contw
+	setarg 0x02
+	istore 1,contw
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+	arg 0xc,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_disconn_req:
+	bpatchx patch23_2,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_disconnect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	copy contw,regA
+	store 1,mem_ML2CAP_comm_id
+	copy regA,contw
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 0x8,temp
+	//branch ml2cap_send_signal
+	//Fall through
+ml2cap_send_signal:
+	storet 2,mem_l2cap_signal_tx_length
+	copy temp,pdata
+	branch l2cap_malloc_discard,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw //make sure that length is still in temp!
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	rtn
+
+msdp_send_req_done:
+	fetch 2,mem_sdp_tx_pkt_length
+	branch assert,blank
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	rtn
+ml2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch23_3,mem_patch23
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,ml2cap_call_proc_signal
+	beq L2CAP_SDP_channel,ml2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+ml2cap_call_proc_signal:
+	bpatchx patch23_4,mem_patch23
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	copy pdata,contw
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+ml2cap_proc_one_comm_loop:
+	call ml2cap_proc_one_comm
+	increase -4,regC
+	nbranch ml2cap_proc_one_comm_loop,zero
+	copy regB,temp
+	call ml2cap_send_signal
+	branch l2cap_rx_reset_state
+	
+ml2cap_proc_one_comm:
+	ifetch 1,contr
+	beq signal_connect_req,ml2cap_proc_signal_connect_req
+	beq signal_cmd_reject,ml2cap_proc_signal_cmd_reject
+	beq signal_connect_rsp,ml2cap_proc_signal_connect_rsp
+	beq signal_config_rsp,ml2cap_proc_signal_config_rsp
+	beq signal_config_req,ml2cap_proc_signal_config_req
+	beq signal_disconnect_rsp,ml2cap_proc_signal_disconn_rsp
+	beq signal_disconnect_req,ml2cap_proc_signal_disconn_req
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_info_req,ml2cap_proc_signal_info_req
+	branch ml2cap_proc_send_reject
+
+ml2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//jam NO_RECONNECTION,memui_reconnect_mode
+	call load_cont_pointers
+	branch l2cap_proc_signal_connect_req
+ml2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+mvptr:
+	ifetch 1,contr
+	increase -1,regA
+	nbranch mvptr,zero
+	rtn
+ml2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //id
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA	//length
+	ifetch 2,contr
+	copy pdata,timeup	//destination	cid
+	ifetch 2,contr
+	copy pdata,temp	//source	cid
+	ifetch 2,contr 		// result
+	sub pdata,0,null
+	branch ml2cap_proc_signal_connect_rsp_sucessful,zero
+	beq L2CAP_connect_refused_PSM_unsupported,ml2cap_proc_signal_connect_refused_result
+	beq L2CAP_connect_refused_no_resources,ml2cap_proc_signal_connect_refused_result
+	branch ml2cap_proc_signal_connect_rsp_mnosucc
+ml2cap_proc_signal_connect_refused_result:
+	jam BT_EVT_ML2CAP_CONN_REFUSED,mem_fifo_temp
+	call ui_ipc_send_event
+ml2cap_proc_signal_connect_rsp_mnosucc:
+	ifetch 2,contr //reason
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sucessful:
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mnosucc1,true
+	bpatchx patch23_5,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_int,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_sdp_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_rfcomm_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_control_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_interrupt_state
+	//branch mnosucc1
+
+mnosucc1:
+	call load_cont_pointers
+mnosucc:
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_signal_config_rsp:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	copy pdata,timeup
+	ifetch 2,contr
+	ifetch 2,contr		//	Get the result value, check success
+	nbranch mcrsdone1,blank
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mcfrsdone,true
+	copy timeup,temp
+	bpatchx patch23_6,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_int,zero
+ml2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_sdp_state
+	rtn
+ml2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_rfcomm_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_control_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+mcfrsdone:
+	call load_cont_pointers
+mcrsdone1:
+	increase -6,regA
+mloop2:
+	branch mcrsdone,zero
+	increase 1,contr
+	increase -1,regA
+	branch mloop2
+mcrsdone:
+	rtn
+ml2cap_proc_signal_config_req:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	increase 2,contr
+	copy pdata,temp
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	increase 2,regA
+	copy regA,pdata
+	istore 2,contw
+	call save_cont_pointers
+	bpatchx patch23_7,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_int,zero
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_sdp_state
+	bbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,ml2cap_proc_signal_config_req_sdp_nsndreq
+	fetcht 1,mem_CONTROL_tasks
+	set1 L2CAP_init_Config_Req,temp
+	storet 1,mem_CONTROL_tasks
+	copy queue,pdata
+	increase 1,pdata
+	store 1,mem_config_identifier
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	fetch 2,mem_RFCOMM_remote_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	fetch 2,mem_hid_ctrl_remote_cid
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	fetch 2,mem_hid_int_remote_cid
+	//branch mcfgrq_done
+
+mcfgrq_done:
+	copy pdata,timeup
+	call load_cont_pointers
+/*******for Nokia**************/
+	copy timeup,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	increase -6,regA
+mloop1:
+	branch mcrqdone,zero
+	ifetch 1,contr
+	istore 1,contw
+	increase 1,regB
+	increase -1,regA
+	branch mloop1
+mcrqdone:
+	rtn
+ml2cap_proc_signal_disconn_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	call save_cont_pointers
+	bpatchx patch24_0,mem_patch24
+	setarg L2CAP_SDP_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_sdp,zero
+	setarg L2CAP_HID_Control_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_int,zero
+	branch mclsrfc
+ml2cap_proc_signal_disconn_sdp:
+	setarg 0x0000
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	store 1,mem_sdp_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_ctrl:
+	call l2cap_reset_hid_ctrl_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_int:
+	call l2cap_reset_hid_int_state
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch mclssdp
+mclsrfc:
+	setarg 0x0000
+	store 2,mem_RFCOMM_Tx_pkt_length
+mclssdp:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	iadd regB,regB
+	rtn
+
+ml2cap_proc_signal_disconn_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch24_1,mem_patch24
+	fetch 1,mem_ML2CAP_comm_id
+	icompare 0xff,queue
+	nbranch mdisdone,true
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_rfcomm,zero
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_sdp:
+	jam 0,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+	//
+	//
+mdisdone:
+	call load_cont_pointers
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_send_reject:
+	setarg signal_cmd_reject
+	istore 1,contw
+	ifetch 1,contr
+	istore 1,contw
+	setarg 0x0002
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x0006
+	iadd regB,regB
+	force 4,regC
+	rtn
+	
+//l2cap command id, 0 is not allowed
+l2cap_get_req_id:
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	bne 0,l2cap_get_req_id_ok
+	increase 1,pdata
+l2cap_get_req_id_ok:
+	store 1,mem_ML2CAP_comm_id
+	rtn
+
+
+/*********************************************************/
+//char* malloc(short len)
+//input: regA -> len
+//rtn: regB -> pbuff;return from pdata
+//val: queue -> i
+//val: timeup -> buff_cnt
+/*********************************************************/
+l2cap_malloc:
+	bpatchx patch24_2,mem_patch24
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+	arg mem_tx_buff0,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+l2cap_malloc_loop:
+	fetcht 1,mem_used_map
+	qisolate1 temp
+	branch l2cap_malloc_next,true//if(1 == (used_map & (1 << i)))goto next;
+	call l2cap_malloc_enough
+	sub timeup,0,null// (0 - timeup)
+	branch l2cap_malloc_next,positive//if(buff_cnt <= 0)goto next;
+	call l2cap_malloc_into_fifo
+	branch l2cap_malloc_rtn//return (pbuff);
+l2cap_malloc_next:
+	increase 128,regB//pbuff += BUFF_SIZE;//point to next buff
+	increase 1,queue
+	setarg 8//BUFF_MAX_COUNT
+	isub queue,null //BUFF_MAX_COUNT - i
+	branch l2cap_malloc_loop,positive//while(i < buff_max_count)
+	arg 0,regB//return NULL
+l2cap_malloc_rtn:
+	copy regB,pdata
+	branch assert,blank
+	rtn//return pointer via pdata
+	
+/*********************************************************/
+//void* l2cap_malloc_fifo_out(void)
+//output:len -> temp
+//output:ptr ->pdata
+//only get ptr,not free
+/*********************************************************/
+l2cap_malloc_fifo_out:
+	bpatchx patch24_3,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	increase 1,contr
+	ifetch 2,contr //ptr ->pdata
+	rtn 
+
+/*********************************************************/
+//void free_first_buff_in_fifo(void)
+//only free the first one
+/*********************************************************/
+l2cap_malloc_free:
+	bpatchx patch24_4,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	copy contr,contw
+	copy contr,temp
+	setarg 0
+	istore 3,contw
+	rtn
+/*********************************************************/
+//void l2cap_malloc_discard(void)
+//discard the latest malloc
+/*********************************************************/
+l2cap_malloc_discard:
+	bpatchx patch24_5,mem_patch24
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank
+	fetch 3,mem_tx_fifo2
+	store 3,mem_tx_fifo3
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo2
+	fetch 3,mem_tx_fifo0
+	store 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_full(void)
+//blank == 1: not full
+//blank == 0: full
+/*********************************************************/
+l2cap_malloc_is_fifo_full:
+	bpatchx patch24_6,mem_patch24
+	fetch 3,mem_tx_fifo0
+	rtn
+/*********************************************************/
+//bool fifo_nearly_full(void)
+//blank == 1: nearly full
+//blank == 0: not nearly full
+/*********************************************************/
+l2cap_malloc_is_fifo_nearly_full:
+	bpatchx patch24_7,mem_patch24
+	fetch 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_empty(void)
+//blank == 1: empty
+//blank == 0: not empty
+/*********************************************************/
+l2cap_malloc_is_fifo_empty:
+	bpatchx patch25_0,mem_patch25
+	fetch 3,mem_tx_fifo3
+	rtn
+/*********************************************************/
+//char* l2cap_malloc_fifo_get_first_ptr(void)
+//output:contr  -->ptr
+/*********************************************************/	
+l2cap_malloc_fifo_get_first_ptr:
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank // fifo is empty
+	arg mem_tx_fifo0,contr
+l2cap_malloc_free_loop:
+	ifetch 3,contr
+	branch l2cap_malloc_free_loop,blank
+	increase -3,contr
+	rtn
+
+/*********************************************************/
+//char* l2cap_malloc_get_full_map(void)
+//output:mem_used_map  -->full_map
+//add all maps into one
+/*********************************************************/	
+l2cap_malloc_get_full_map:
+	bpatchx patch25_1,mem_patch25
+	arg 4,loopcnt
+	arg mem_tx_fifo0_map,contr
+	arg 0,temp
+l2cap_malloc_get_full_map_loop:	
+	ifetch 3,contr
+	and pdata,0xff,pdata
+	ior temp,temp
+	loop l2cap_malloc_get_full_map_loop
+	storet 1,mem_used_map
+	rtn
+/*********************************************************/
+//void buff_into_fifo(char buff_index, char buff_cnt, short len)
+//input: regA -> len
+//input: regC -> buff_index
+//input: timeup -> buff_cnt
+//val:temp ->   (fifo->map)
+/*********************************************************/
+l2cap_malloc_into_fifo:
+	bpatchx patch25_2,mem_patch25
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank //fifo full
+	call l2cap_malloc_is_fifo_empty
+	branch l2cap_malloc_into_fifo_no_push,blank//fifo empty, no need to push
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo0
+	ifetch 3,contr//mem_tx_fifo2
+	istore 3,contw//mem_tx_fifo1
+	ifetch 3,contr//mem_tx_fifo3
+	istore 3,contw//mem_tx_fifo2
+	setarg 0
+	istore 3,contw//mem_tx_fifo3
+l2cap_malloc_into_fifo_no_push:
+	arg 0,temp
+	copy timeup,pdata
+	iadd queue,pdata
+l2cap_malloc_into_fifo_loop:
+	qset1 temp//fifo->map |= 1 << i;
+	increase 1,queue
+	isub queue,null
+	nbranch l2cap_malloc_into_fifo_loop,zero
+	//map in temp
+	lshift8 regB,pdata
+	ior temp,pdata
+	store 3,mem_tx_fifo3
+	rtn
+
+/*********************************************************/
+//char is_size_enough(char buff_index, short len)
+//input: regA -> len
+//input: queue -> buff_index
+//rtn: timeup -> buff_cnt
+//val: max_size_fom_buff_index -> temp
+//val: i -> loopcnt
+/*********************************************************/
+l2cap_malloc_enough:
+	bpatchx patch25_3,mem_patch25
+	call l2cap_malloc_get_full_map
+	copy queue,regC//restore buff_index to regC
+	arg 0,temp
+	arg 0,timeup//default return val
+	//increase 1,queue
+l2cap_malloc_enough_loop:
+	copy queue,pdata
+	beq 8,l2cap_malloc_enough_end
+	fetch 1,mem_used_map
+	qisolate1 pdata
+	branch l2cap_malloc_enough_end,true
+	increase 128,temp
+	increase 1,queue
+	copy regA,pdata
+	isub temp,null
+	branch l2cap_malloc_enough_end,zero//(max_size_fom_buff_index ==  len)
+	branch l2cap_malloc_enough_loop,positive//(max_size_fom_buff_index <  len)
+l2cap_malloc_enough_end:
+	copy temp,pdata
+	isub regA,null
+	nbranch l2cap_malloc_enough_rtn,positive// max_size_fom_buff_index - len > 0
+	copy queue,pdata//i
+	copy regC,temp//buff_index
+	isub temp,timeup//return (i - buff_index)
+l2cap_malloc_enough_rtn:
+	copy regC,queue//restore buff_index to queue
+	rtn
+	
+
+l2cap_malloc_signal_channel:
+	bpatchx patch25_4,mem_patch25
+	arg L2CAP_SIGNAL_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_l2cap_signal_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_l2cap_signal_tx_payload_ptr
+	setarg 0
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_get_signal_tx_buff:
+	fetch 2,mem_l2cap_signal_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_signal_tx_payload:
+	fetch 2,mem_l2cap_signal_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_sdp_channel:
+	bpatchx patch25_5,mem_patch25
+	arg SDP_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_sdp_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_sdp_tx_payload_ptr
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	rtn
+
+l2cap_get_sdp_tx_buff:
+	fetch 2,mem_sdp_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_sdp_tx_payload:
+	fetch 2,mem_sdp_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_rfcomm_channel:
+	bpatchx patch25_6,mem_patch25
+	call push_stack
+	jam RFCOMM_MALLOC_FAIL,mem_rfcomm_malloc_fail_flag
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	arg RFCOMM_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	setarg 0
+	store 2,mem_rfcomm_tx_pkt_length
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	branch pop_stack
+
+l2cap_get_rfcomm_tx_buff:
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+	
+l2cap_util_pdata_to_contw:
+	branch assert,blank
+	copy pdata,contw
+	rtn
+	
+
+l2cap_lpm_save_calc_len:
+	bpatchx patch25_7,mem_patch25
+	arg 0,regb
+	arg mem_tx_fifo0_map,rega
+	increase -2,rega
+l2cap_lpm_save_calc_len_loop:
+	increase 2,rega
+	setarg mem_tx_fifo_end
+	isub rega,null
+	branch l2cap_lpm_save_calc_len_end,zero //end of 2lcap tx fifo
+	ifetch 1,rega
+	increase 1,rega
+	branch l2cap_lpm_save_calc_len_loop,blank
+	ifetcht 2,rega
+	ifetch 2,temp
+	iadd regb,regb
+	increase 4,regb //l2cap header len
+	branch l2cap_lpm_save_calc_len_loop
+l2cap_lpm_save_calc_len_end:
+	copy regb,pdata
+	rtn
+
+
+l2cap_lpm_get_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_get_wake_lock
+
+l2cap_lpm_put_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_put_wake_lock
+	
+l2cap_lpm_save_txbuf:
+	bpatchx patch26_0,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	call l2cap_lpm_save_calc_len
+	arg l2cap_lpm_txbuf_len,temp
+	isub temp,null
+	branch l2cap_lpm_get_wake_lock,positive //no enougth space to save l2cap tx data
+	call l2cap_lpm_put_wake_lock
+	arg mem_l2cap_lpm_txbuf,contw
+	arg mem_tx_fifo0,rega
+l2cap_lpm_save_txbuf_loop:
+	setarg mem_tx_fifo_end
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 1,rega  //mem_tx_fifoX_map
+	increase 1,rega
+	nbranch l2cap_lpm_save_txbuf_nempty,blank
+	istore 2,contw // length = 0
+	increase 2,rega
+	branch l2cap_lpm_save_txbuf_loop
+l2cap_lpm_save_txbuf_nempty:
+	ifetch 2,rega //ptr
+	increase 2,rega
+	copy pdata,contr
+	ifetch 2,contr  //l2cap len
+	istore 2,contw
+	copy pdata,loopcnt
+	increase 2,loopcnt //add CID len
+	call memcpy
+	branch l2cap_lpm_save_txbuf_loop
+	
+l2cap_lpm_load_txbuf:
+	bpatchx patch26_1,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	arg mem_tx_fifo0_ptr,rega
+	increase -3,rega //mem_tx_fifo0_ptr -3
+	arg mem_l2cap_lpm_txbuf,contr
+l2cap_lpm_load_txbuf_loop:
+	increase 3,rega //mem_tx_fifoX_ptr
+	setarg mem_tx_fifo_end+1
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 2,contr
+	branch l2cap_lpm_load_txbuf_loop,blank
+	increase 4,pdata //l2cap header len
+	copy pdata,loopcnt
+	copy contr,regb
+	ifetch 2,rega //ptr
+	copy pdata,contw
+	copy regb,contr
+	increase -2,contr
+	call memcpy
+	branch l2cap_lpm_load_txbuf_loop
+	
+
+
+	
+//******************************************//
+//*************LE INIT ****************//
+//******************************************//
+
+
+le_init_conn:
+	bpatchx patch26_2,mem_patch26
+	disable wake
+	jam 1,mem_le_conn_handle
+	jam 3,mem_le_state
+	jam 1,mem_le_arq
+	setarg -1
+	store 2,mem_le_event_count
+	force 0,pdata
+	store 1,mem_le_ch
+	store 1,mem_le_op
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	jam 1,mem_le_txheader
+	jam 0,mem_le_txlen
+	branch le_supervision_flush
+
+le_init_master:
+	bpatchx patch26_3,mem_patch26
+	enable master
+	jam lemode_master,mem_le_mode
+	jam 1,mem_le_att_handle
+	jam 1,mem_le_search_handle_start
+	setarg 0xffff
+	store 2,mem_le_search_handle_end
+	force 0,pdata
+	store 5,mem_le_pcnt_rx
+	set1 39,pdata
+	store 5,mem_le_pcnt_tx	
+	branch le_init_conn
+
+
+le_init_slave:
+	bpatchx patch26_4,mem_patch26
+	disable master
+ 	setarg 0x17
+ 	store 2,mem_le_remote_mtu
+	jam lemode_slave,mem_le_mode
+	jam 0,mem_le_adv_enable
+	jam 0,mem_lpm_current_mult
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	fetch 2,mem_le_tsniff
+	mul32 pdata,5,pdata
+	rshift4 pdata,pdata
+	store 2,mem_le_superto			// vol.6 part B 4.5.2 only 6*conninterval before establish
+	branch le_init_conn
+	
+
+//******************************************//
+//*************LE main process*********//
+//******************************************//
+le_dispatch:
+	call le_enable
+	call le_scan
+	call le_adv
+	branch le_disable
+
+le_conn_dispatch:
+	bpatchx patch26_5,mem_patch26
+	call le_enable
+	call app_process_ble
+	fetch 1,mem_le_mode
+	beq lemode_master,le_master_dispatch
+	branch le_slave_dispatch
+	
+//******************************************//
+//***********LE master process*********//
+//******************************************//
+	
+le_master_dispatch:
+	bpatchx patch26_6,mem_patch26
+	enable master
+	call le_supervision_update
+	branch le_master_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_prepare_tx
+	disable match
+	call le_transmit_receive_sifs
+	nrtn match
+	bpatchx patch26_7,mem_patch26
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	call le_acknowledge
+	disable master
+	rtn
+	
+le_master_disconn:
+	call le_disconnect
+	disable master
+	rtn
+	
+//******************************************//
+//***********LE slave process***********//
+//******************************************//
+le_slave_dispatch:
+	bpatchx patch27_0,mem_patch27
+	jam 0,mem_le_md_count
+	call sp_calc_sequence_256
+	call le_secure_connect_sm
+	disable attempt
+	call le_supervision_update
+	branch le_slave_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_receive_slave
+	nbranch le_slave_unsync,sync	// vol.6 part B 4.5.1 respond even crc error
+	call le_got_first_packet
+	branch le_slave_match,match
+	branch le_slave_cont
+	
+
+le_slave_match:
+	bpatchx patch27_1,mem_patch27
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call le_transmit_norx
+	call le_parse
+	fetch 2,mem_cb_ble_transmit
+	call callback_func
+	call le_check_md
+	branch le_slave_more_data,user
+le_slave_cont:
+	bpatchx patch27_2,mem_patch27
+	call le_pairing_sm
+ 	call le_check_paring_time
+	call check_51cmd
+	fetch 1,mem_le_op
+	bbit1 op_disconn,le_slave_disconn
+le_slave_unsync:
+	bpatchx patch27_3,mem_patch27
+	call le_lpm_set_mult
+	call le_update_channel_map
+	call le_update_param
+	branch calc_clke_offset
+
+
+le_check_md:
+	disable user
+	bmark1 mark_ble_rx_md,enable_user
+	bmark1 mark_ble_tx_md,enable_user
+	rtn
+
+
+le_slave_more_data:
+	bpatchx patch27_4,mem_patch27
+	enable attempt
+	call le_transmit_receive_sifs_notx
+	branch le_slave_match,match
+	branch le_slave_cont
+
+le_slave_disconn:
+
+	//fall through
+le_disconnect:
+	bpatchx patch27_5,mem_patch27
+	call le_clear_connection_info
+	call app_disconn_reason_collect_ble
+	call sp_initialize_256
+	jam BT_EVT_LE_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_clear_connection_info:
+	setarg 0
+	store 9,mem_le_tx_buff_used
+	jam 0,mem_le_conn_handle
+	jam lemode_idle,mem_le_mode
+	jam 0,mem_le_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	rtn
+	
+le_got_first_packet:
+	bpatchx patch27_6,mem_patch27
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	fetch 1,mem_le_state
+	rtnbit1 lestate_got_first_packet
+	set1 lestate_got_first_packet
+	store 1,mem_le_state
+	fetch 2,mem_le_init_superto
+	store 2,mem_le_superto
+	setarg 0
+	store 4,mem_le_transmit_window
+	rtn
+
+
+le_enable:
+	bpatchx patch27_7,mem_patch27
+	jam 0x36,rf_adc_goff        /*For BLE, tune AGC_gain_offset, Max added*/
+	jam 0x5f,rf_agc_nsat        //for BLE
+	enable le
+	jam 7,rfen_ulp			/* enable ulp */
+	call check_ble_disabled
+	fetch 1,mem_250k_freq_enable	//default: 0
+	rtn blank
+	jam 0xb8,rf_iq_gain
+	rtn
+	
+le_disable:
+	bpatchx patch28_0,mem_patch28
+	jam 0x2e,rf_adc_goff        /*For BR/EDR, tune AGC_gain_offset, Max added*/
+	jam 0xff,rf_agc_nsat         //for EDR&BR
+	disable le
+	jam 3,rfen_ulp
+	arg 0,stop_watch
+	rtn
+	
+le_prep:
+	disable enable_crc
+	disable enable_white
+	fetch 3,mem_le_crcinit
+	iforce crc24_init
+	fetch 1,mem_le_ch_mapped
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+	
+
+lerx_setfreq:
+	call le_setfreq
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	branch rf_rx_enable
+
+letx_setfreq:
+	branch txon,match
+letx_setfreq0:
+	call le_setfreq
+	branch set_freq_tx
+le_setfreq:
+	bpatchx patch28_1,mem_patch28
+	call set_sync_on
+	fetch 1, mem_le_testtype
+	nbranch le_ctf_test,blank
+	fetch 1,mem_le_ch_mapped
+	sub pdata,36,null
+	branch le_ctf_normal,positive
+	force 0,temp
+	rtneq 37
+	force 24,temp
+	rtneq 38
+	force 78,temp
+	rtn
+	
+le_ctf_normal:
+	sub pdata,10,null
+	branch le_ctf_low,positive
+	increase 1,pdata
+	
+le_ctf_low:	
+	lshift pdata,pdata
+	add pdata,2,temp
+	rtn
+	
+le_ctf_test:
+	fetch 1,mem_le_ch_mapped
+	lshift pdata,temp
+	rtn
+
+le_sca_map:
+	arg 500,temp
+	rtn blank
+	arg 250,temp
+	rtneq 1
+	arg 150,temp
+	rtneq 2
+	arg 100,temp
+	rtneq 3
+	arg 75,temp
+	rtneq 4
+	arg 50,temp
+	rtneq 5
+	arg 40,temp
+	rtneq 6
+	arg 20,temp
+	rtn
+
+
+	
+le_adv_access:
+	setarg 0x8e89be
+	lshift8 pdata,pdata
+	or_into 0xd6,pdata
+	iforce access
+	setarg 0x555555
+	store 3,mem_le_crcinit
+	rtn
+
+le_setup:
+	bpatchx patch28_2,mem_patch28
+	enable swfine
+	fetch 4,mem_le_access
+	iforce access
+	call le_map_channel
+	setarg 0x200
+	branch le_setup_master,master
+	fetch 2,mem_le_receive_window
+	rshift pdata,pdata
+le_setup_master:
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	deposit clke
+	store 6,mem_le_rxon_ts
+	rtn
+
+le_next_adv_channel:
+	bpatchx patch28_3,mem_patch28
+	fetch 1,mem_le_ch_mapped
+	beq 37,le_next_adv_channel_curr_channel_37
+	beq 38,le_next_adv_channel_curr_channel_38
+	beq 39,le_next_adv_channel_curr_channel_39
+	branch le_next_adv_channel_curr_channel_39
+
+le_next_adv_channel_curr_channel_37:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	branch set_le_next_adv_channel_37
+
+
+le_next_adv_channel_curr_channel_38:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	branch set_le_next_adv_channel_38
+
+
+le_next_adv_channel_curr_channel_39:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	branch set_le_next_adv_channel_39
+
+
+
+set_le_next_adv_channel_37:
+	jam 37,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_37,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_38:
+	jam 38,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_38,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_39:
+	jam 39,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_39,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+
+
+le_context_nexthop:
+	bpatchx patch28_4,mem_patch28
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	rtnbit0 mode_le
+	add rega,coffset_le_event_cnt,contw
+	ifetch 2,contw
+	increase 1,pdata
+	istore 2,contw
+	add rega,coffset_le_hop,contr
+	ifetch 1,contr
+	add rega,coffset_le_ch,contw
+	ifetcht 1,contw
+	iadd temp,pdata
+	sub pdata,36,null
+	branch le_nexthop_nowrap,positive
+	increase -37,pdata
+le_nexthop_nowrap:
+	istore 1,contw
+	rtn
+
+
+le_calc_channel_map:
+	bpatchx patch28_5,mem_patch28
+	fetch 5,mem_le_channel_map
+	force 0,temp
+	force 37,loopcnt
+le_count_channels_loop:
+	bbit0 0,le_count_channels_notused
+	increase 1,temp
+le_count_channels_notused:
+	rshift pdata,pdata
+	loop le_count_channels_loop
+	add temp,-1,pdata
+	store 1,mem_le_channels
+	rtn
+
+le_map_channel:
+	bpatchx patch28_6,mem_patch28
+	fetch 1,mem_le_ch
+	iforce queue
+	fetcht 5,mem_le_channel_map
+	qisolate1 temp
+	branch le_map_channel_end,true
+le_map_channel_next:
+	bpatchx patch28_7,mem_patch28
+	fetch 1,mem_le_channels
+	isub queue,pdata
+	branch le_map_channel_cont,positive
+	sub pdata,-1,queue
+	branch le_map_channel_next
+le_map_channel_cont:
+	copy queue,loopcnt
+	force 0,queue
+le_map_channel_loop:
+	qisolate1 temp
+	branch le_map_channel_skip,true
+	increase 1,loopcnt
+le_map_channel_skip:
+	deposit loopcnt
+	branch le_map_channel_end,blank
+	increase 1,queue
+	increase -1,loopcnt
+	branch le_map_channel_loop
+le_map_channel_end:
+	deposit queue
+	store 1,mem_le_ch_mapped
+	rtn
+
+
+le_wait_tx:
+	branch le_wait_master,master
+	until null,timeout
+	rtn
+	
+le_wait_master:
+	arg 0xea0,timeup
+	until clkn_rt,meet
+	rtn
+
+le_receive_adv:
+	disable swfine
+	fetch 2,mem_le_scan_window
+	copy pdata,timeup
+	branch le_receive_packet
+
+
+le_receive_slave:
+	bpatchx patch29_0,mem_patch29
+	enable swfine
+	fetch 2,mem_le_receive_window
+	fetcht 4,mem_le_transmit_window
+	iadd temp,timeup
+le_receive_packet:
+	call lerx_setfreq
+le_receive_rxon:
+	bpatchx patch29_1,mem_patch29
+	call le_prep
+	disable match
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	copy timeup,stop_watch
+	correlate null,timeout
+	branch le_receive_on_attempt,attempt
+	copy clke,temp
+	storet 6,mem_sync_clke
+le_receive_on_attempt:
+	nbranch end_of_packet,sync
+	branch le_receive_skip,attempt
+	arg param_clke_cal_le,clke_rt
+	copy bt_clk,clke_bt
+	fetch 1,mem_le_state
+	bbit0 lestate_got_first_packet,le_receive_skip
+	call lpm_adjust_clk,wake
+le_receive_skip:
+	bpatchx patch29_2,mem_patch29
+	call save_rssi
+	enable enable_white
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_le_rxbuf
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	and pdata,0x3f,loopcnt
+	branch lerx_nopayload,zero
+	
+lerx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop lerx_loop
+	
+lerx_nopayload:
+	bpatchx patch29_3,mem_patch29
+	parse demod,bucket,24	
+	enable swfine
+	arg param_sifs,stop_watch		// start SIFS timer after last bit of crc
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch end_of_packet,crc_failed
+	enable match
+	fetch 1,mem_last_freq
+	add pdata,0,rega				// ble 2M Medium Frequency
+	call rf_write_freq				/* set frequency to tx mode freq */
+	disable decode_fec0
+	branch set_sync_on
+
+le_transmit_receive_sifs:
+	bpatchx patch29_4,mem_patch29
+	call le_transmit
+le_transmit_receive_sifs_notx:
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+le_transmit_norx:
+	call le_transmit
+	branch end_of_packet
+	
+le_transmit:
+	bpatchx patch29_5,mem_patch29
+	call le_prep
+	call letx_setfreq
+	branch le_transmit0
+	
+le_transmit0:
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	enable enable_white
+	enable enable_crc
+	bpatchx patch29_6,mem_patch29
+	fetch 1,mem_le_txheader
+	inject mod,8
+	ifetch 1,contr
+	and pdata,0x3f,loopcnt
+	inject mod,8
+	branch letr_nopayload,zero
+letr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop letr_loop
+	
+letr_nopayload:
+	enable enable_parity
+	inject mod,24
+	disable enable_parity
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	disable encode_fec0
+	rtn
+	
+le_send_adv_ind:
+	bpatchx patch29_7,mem_patch29
+	fetch 1,mem_le_adv_type
+	beq ADV_DIRECT_IND,le_send_adv_direct_ind
+	fetch 1,mem_le_adv_own_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	store 1,mem_le_txheader
+	fetcht 1,mem_le_adv_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	copy temp,loopcnt
+	arg mem_le_adv_data,contr
+	call memcpy_fast
+	branch le_send_adv_transmit
+le_send_adv_direct_ind:
+	fetch 1,mem_le_adv_direct_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	increase 1,pdata
+	store 1,mem_le_txheader
+	setarg 12
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	fetch 6,mem_hci_plap
+	istore 6,contw
+le_send_adv_transmit:
+	bpatchx patch2a_0,mem_patch2a
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 1800,stop_watch
+	disable match
+	branch le_transmit_receive_sifs
+	
+le_send_scan_request:
+	bpatchx patch2a_1,mem_patch2a
+	fetch 1,mem_le_scan_type
+	rtnne LE_SCAN_TYPE_ACTIVE
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 0x0c03,temp// length + SCAN_REQ PDU
+	fetch 1,mem_le_scan_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	copy regA,pdata
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,temp	
+	storet 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 6,mem_le_plap
+	istore 6,contw
+	branch le_transmit_receive_sifs
+
+
+le_send_scan_response:
+	bpatchx patch2a_2,mem_patch2a
+	arg SCAN_RSP,temp
+	fetch 1,mem_le_adv_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	storet 1,mem_le_txheader
+	fetcht 1,mem_le_scan_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	arg mem_le_scan_data,contr
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_transmit_norx
+	branch le_adv_not_match
+
+le_connect_request:
+	bpatchx patch2a_3,mem_patch2a
+	force -1,pdata
+	setsect 2,1
+	store 5,mem_le_channel_map
+	call le_calc_channel_map	
+	force 4,loopcnt
+	arg mem_le_access,contw
+	call generate_random_loop	
+	fetch 2,mem_le_timeout
+	store 2,mem_le_superto
+le_con_req_hop_retry:
+	random pdata
+	and_into 0xf,pdata
+	sub pdata,4,null
+	branch le_con_req_hop_retry,positive
+	store 1,mem_le_hop
+	store 1,mem_tmp1
+	bpatchx patch2a_4,mem_patch2a
+	fetcht 2,mem_le_conn_interval
+	storet 2,mem_le_tsniff	
+	copy temp,regc			// tsniff in regc
+	add clkn_bt,7,pdata			// leave space for offset
+	idiv regc
+	call wait_div_end
+	remainder rega
+	isub rega,pdata
+	iadd regc,pdata
+	fetcht 2,mem_le_dsniff
+	iadd temp,pdata
+	store 4,mem_le_anchor
+	isub clkn_bt,rega
+	increase -6,rega			// window offset
+	arg 0x2205,regb			// length & CONN_REQ PDU
+	fetch 1,mem_le_conn_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,regb
+	fetch 1,mem_le_conn_peer_addr_type
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,regb
+	copy regb,pdata
+	store 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw//own addr
+	fetch 6,mem_le_plap
+	istore 6,contw// peer addr
+	fetch 4,mem_le_access
+	istore 4,contw
+	random pdata
+	istore 2,contw				/* crc init */
+	random pdata
+	istore 1,contw
+	force 2,pdata				/* window size */	
+	istore 1,contw
+	rshift2 rega,pdata
+	istore 2,contw				/* window offset */
+	rshift2 regc,pdata			
+	istore 2,contw				/* conn Interval */
+	bpatchx patch2a_5,mem_patch2a
+	setarg 0					/* slave latency */
+	istore 2,contw
+	fetch 2,mem_le_timeout
+	istore 2,contw
+	fetch 5,mem_le_channel_map
+	istore 5,contw				/* channel map */
+	fetch 1,mem_le_hop
+	arg param_le_sca,temp
+	ior temp,pdata
+	istore 1,contw
+	call le_transmit_norx
+	setarg mem_le_txheader
+	add pdata,18,contr
+	ifetch 3,contr
+	store 3,mem_le_crcinit
+	rtn
+		
+le_init_adv:
+	bpatchx patch2a_6,mem_patch2a
+	disable master
+	branch le_adv_access
+	
+
+
+le_update_param:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_param
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	store 2,mem_pdatatemp
+	bpatchx patch2a_7,mem_patch2a
+	fetch 1,mem_le_state
+	set0 lestate_update_param,pdata
+	set0 lestate_got_first_packet,pdata
+	store 1,mem_le_state
+	fetch 4,mem_le_anchor
+	fetcht 2,mem_le_tsniff
+	storet 2,mem_temp
+	isub temp,rega
+	bpatchx patch2b_0,mem_patch2b
+	fetch 1,mem_le_new_param
+	store 1,mem_le_window_size
+	ifetcht 2,contr
+	ifetch 2,contr
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	lshift2 temp,temp
+	iadd temp,pdata
+	ifetcht 4,contr
+	storet 4,mem_le_slave_latency	// and superTO
+	iadd rega,pdata
+	copy pdata,regab
+	fetch 2,mem_le_tsniff
+	fetcht 2,mem_temp	//last sniff
+	isub temp,pdata		//last sniff - new sniff
+	fetcht 2,mem_pdatatemp
+	imul32 temp,pdata
+	iadd regab,pdata
+	store 4,mem_le_anchor
+	call le_receive_window_size
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+
+le_update_channel_map:
+	bpatchx patch2b_1,mem_patch2b
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	fetch 1,mem_le_state
+	set0 lestate_update_map,pdata
+	store 1,mem_le_state
+ 	fetch 5,mem_le_new_map
+	store 5,mem_le_channel_map
+	branch le_calc_channel_map	
+	
+	
+le_acknowledge:
+	bpatchx patch2b_2,mem_patch2b
+	call le_supervision_flush
+	call le_check_wak
+	fetch 1,mem_le_rxbuf
+	isolate1 md,pdata
+	setflag true,mark_ble_rx_md,mark
+	rshift pdata,pdata
+	ixor temp,pdata
+	isolate1 nesn,pdata
+	setflag true,mark_old_packet,mark	/* retransmit */
+	rtnmark1 mark_old_packet
+	fetch 1,mem_le_rxbuf+1			
+	branch le_ack_unenc,blank		/* empty packet, no decryption */
+	fetch 1,mem_le_state
+	bbit0 lestate_encryption,le_ack_unenc
+	call load_sk
+	call le_decrypt
+	nrtn blank
+le_ack_unenc:
+	fetcht 1,mem_le_arq
+	setflip nesn,temp
+	storet 1,mem_le_arq
+	rtn
+
+	
+le_check_wak:
+	bpatchx patch2b_3,mem_patch2b
+	fetcht 1,mem_le_arq
+	isolate0 wak,temp
+	rtn true
+	fetch 1,mem_le_rxbuf
+	lshift pdata,pdata
+	ixor temp,pdata
+	rtnbit0 sn			/* received NESN is same as SN, NAK */
+	set0 wak,temp
+	setflip sn,temp
+	storet 1,mem_le_arq
+	compare 3,temp,3
+	nrtn true
+	fetch 1,mem_le_txpayload
+	beq LL_START_ENC_REQ,le_set_enc
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_ENC_PAUSE,le_clear_enc
+	rtn
+	
+
+le_set_enc:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn	
+	
+le_clear_enc:
+	bpatchx patch2b_4,mem_patch2b
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	arg 0,pdata
+	store 4,mem_le_last_mic
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	fetch 1,mem_le_state
+	set0 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_wait_adv:
+	bpatchx patch2b_5,mem_patch2b
+	call le_next_adv_channel
+	call le_receive_adv
+	fetch 1,mem_le_adv_waitcnt
+	increase 1,pdata
+	store 1,mem_le_adv_waitcnt
+	rtn
+
+
+le_scan:
+	bpatchx patch2b_6,mem_patch2b
+	fetch 1,mem_le_scan_enable
+	rtnne LE_SCAN_ENABLE
+	arg le_scan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetch 2,mem_le_scan_interval
+	fetcht 2,mem_le_scan_window
+	isub temp,pdata
+	arg le_scan_interval_timer,queue
+	call timer_init
+	disable master
+	call le_init_adv
+	call le_wait_adv
+	nrtn match
+	bpatchx patch2b_7,mem_patch2b
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+//	call le_scan_dongle
+
+	fetch 1,mem_le_adv_rcv
+	increase 1,pdata
+	store 1,mem_le_adv_rcv
+	call le_create_conn
+	rtn master
+	call le_send_scan_request
+	nrtn match
+	bpatchx patch2c_0,mem_patch2c
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	fetch 9,mem_le_rxbuf+8
+	store 9,mem_tmp_buffer
+	rtn
+	
+le_create_conn:
+	bpatchx patch2c_1,mem_patch2c
+	fetch 1,mem_cmd_le_create_conn
+	rtnne hci_cmd_le_create_conn
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_conn_peer_addr
+	isub temp,null
+	nrtn zero
+	call context_new
+	nrtn zero
+	call le_connect_request
+	call le_init_master
+	bpatchx patch2c_2,mem_patch2c
+	jam 0,mem_hci_cmd
+	jam 0,mem_le_peer_sca
+	jam 0,mem_le_scan_enable
+	jam 0,mem_cmd_le_create_conn
+	branch context_save
+	
+le_scan_check_sender_addr_type:
+	arg 1,rega// sender_addr_type
+	fetch 1,mem_le_rxbuf
+	rtnbit1 LE_SENDER_ADDR_BIT
+	arg 0,rega
+	rtn
+
+
+
+le_prepare_tx:
+	bpatchx patch2c_3,mem_patch2c
+	fetch 1,mem_le_arq
+	rtnbit1 wak
+	call le_check_tx_md
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_send_empty,blank
+	ifetch 1,contr
+	ifetcht 1,contr
+	copy temp,rega
+	isub rega,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	copy pdata,temp
+	ifetch 1,contr
+	copy pdata,type
+	copy rega,pdata
+	iadd contr,contr
+	arg mem_le_txpayload,contw
+	copy temp,loopcnt
+	call memcpy
+	call le_update_tx_type
+	call le_send_packet
+	
+	call le_fifo_get_first_tx_ptr
+	ifetch 1,contr
+	copy pdata,rega
+	copy contr,regc
+	ifetcht 1,contr
+	copy temp,regb
+	isub regb,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	iadd regb,pdata
+	istore 1,regc
+	isub rega,null
+	nrtn zero
+	branch le_fifo_release_first_node
+
+	
+le_check_tx_md:
+	call le_check_continue
+	rtnmark1 mark_ble_tx_md
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_TRANSMIT_PACKET_BY_MD,le_clear_md
+	call le_fifo_get_second_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	branch le_set_md
+
+	
+le_check_continue:
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	ifetch 1,contr				//pdata:length
+	ifetcht 1,contr				//temp:offest
+	isub temp,pdata			//pdata:length - offset
+	sub pdata,LE_MAX_PAKET_LEN,null	
+	branch le_clear_md,positive				//27 > length -offset
+le_set_md:
+	set1 mark_ble_tx_md,mark
+	rtn
+
+le_clear_md:
+	set0 mark_ble_tx_md,mark
+	rtn
+
+le_update_tx_type:
+	copy rega,pdata
+	rtn blank
+	arg LLID_CONTINUE,type
+	rtn
+
+
+le_att_check_notification_enable: // temp ->handle,output-> pdata,output :contr->rega
+	bpatchx patch2c_4,mem_patch2c
+	increase 1,temp
+	call le_att_get_handle_ptr
+	increase -2,contr
+	ifetch 2,contr
+	arg CLIENT_CHARACTERTIC_CONFIGURATION,temp
+	isub temp,null
+	nrtn zero
+	increase 1,contr
+	copy contr,rega
+	ifetch 1,contr
+	rtn
+	
+
+le_send_empty:
+	force 0,temp
+	force 1,type
+	
+le_send_packet:
+	bpatchx patch2c_5,mem_patch2c
+	storet 1,mem_le_txlen
+	fetcht 1,mem_le_arq
+	set1 wak,temp
+	and temp,0xfc,pdata
+	ior type,pdata
+	store 1,mem_le_arq
+	and_into 0x1f,pdata
+	isolate1 mark_ble_tx_md,mark
+	setflag true,md,pdata
+	store 1,mem_le_txheader
+
+	fetch 1,mem_le_txheader
+	compare 1,type,3
+	nbranch le_send_no_txlen,true
+	fetch 1,mem_le_txlen
+	rtn blank
+le_send_no_txlen:	
+	fetch 1,mem_le_state
+	rtnbit0 lestate_encryption
+	call load_sk
+	branch le_encrypt
+
+
+get_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_get_wake_lock
+
+put_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_put_wake_lock
+
+
+le_parse:
+	bpatchx patch2c_6,mem_patch2c
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,le_parse_ll
+le_parse_l2cap:
+	call le_check_l2cap_complete
+	nbranch get_lpm_wake_ble_rx_lock,user
+	call put_lpm_wake_ble_rx_lock
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr	//l2cap len
+	store 2,mem_le_l2cap_size
+	bpatchx patch2c_7,mem_patch2c
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+
+le_check_l2cap_complete:
+	fetch 1,mem_le_packet_llid
+	beq LLID_START,le_check_l2cap_llid_start
+	beq LLID_CONTINUE,le_check_l2cap_llid_continue
+	rtn
+
+//input: pdata is CID number
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_CID_legal:
+	call enable_user
+	arg LE_L2CAP_CID_ATT,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SIGNAL,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SMP,temp
+	isub pdata,null
+	rtn zero
+	branch disable_user
+
+	
+le_check_l2cap_llid_start:
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr
+	store 2,mem_le_l2cap_size
+	ifetch 2,contr			//CID
+	call le_check_l2cap_CID_legal
+	nrtn user
+	fetcht 1,mem_le_packet_size
+	storet 1,mem_le_packet_len_recved
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	isub temp,null
+	branch enable_user,zero
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	arg mem_le_l2capbuf,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy
+	branch disable_user
+
+//no input
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_continue_legal:
+	call enable_user
+	fetch 1,mem_le_packet_len_recved
+	nrtn blank
+	branch disable_user
+
+le_check_l2cap_llid_continue:
+	call le_check_l2cap_continue_legal
+	nrtn user
+	fetch 1,mem_le_packet_len_recved
+	arg mem_le_l2capbuf,contw
+	iadd contw,rega
+	fetcht 1,mem_le_packet_size
+	iadd temp,pdata
+	store 1,mem_le_packet_len_recved
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	copy rega,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy_fast
+	setarg mem_le_l2capbuf
+	store 2,mem_le_payload_ptr		//update ptr->mem_le_l2capbuff
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	fetcht 1,mem_le_packet_len_recved
+	isub temp,null
+	branch enable_user,zero
+	branch disable_user
+
+
+
+
+	
+le_get_search_att_type:
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+le_get_search_common:	
+	fetch 2,mem_le_l2cap_size
+	increase -5,pdata
+le_get_search_common2:		
+	istore 1,contw
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast	
+	
+le_get_search_att_uuid:
+	call store_contr
+	arg mem_le_search_uuid_length,contw
+	branch le_get_search_common
+
+
+	/* rega pointers to data, regb is length */
+le_writeatt_cb:
+	fetch 2,mem_cb_att_write
+	branch callback_func
+	
+le_supervision_update:
+	fetcht 4,mem_le_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_le_superto
+	lshift4 temp,temp
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+le_supervision_flush:
+	call get_clkbt
+	store 4,mem_le_supervision_timer
+	rtn
+
+
+le_adv:
+	jam 36,mem_le_ch_mapped
+	jam 0,mem_le_adv_channel_map_temp
+le_adv_loop:
+	bpatchx patch2d_0,mem_patch2d
+	fetch 1,mem_le_adv_enable
+	rtn blank
+	arg le_adv_interval_timer,queue
+	call timer_check
+	nrtn blank
+	bpatchx patch2d_1,mem_patch2d
+le_adv_loop_tx:
+	disable master
+	enable swfine
+	call le_init_adv
+	call le_next_adv_channel
+	call le_send_adv_ind
+	nbranch le_adv_not_match,match
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	fetch 1,mem_le_rxbuf
+	and pdata,0x0f,pdata
+	beq SCAN_REQ,le_send_scan_response
+	beq CONNECT_REQ,le_parse_connect_req
+le_adv_not_match:
+	bpatchx patch2d_2,mem_patch2d
+	random pdata 
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	call delay
+	fetch 1,mem_le_adv_channel_map_temp
+	fetcht 1,mem_le_adv_channel_map
+	isub temp,null
+	nbranch le_adv_loop,zero
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+	
+
+le_receive_window_size:
+	bpatchx patch2d_3,mem_patch2d
+	fetch 1,mem_le_peer_sca
+	call le_sca_map
+	fetch 2,mem_le_tsniff
+	imul32 temp,pdata
+	arg 375,temp
+	imul32 temp,pdata
+	arg 100000,temp
+	idiv temp
+	fetch 1,mem_le_window_size
+	arg 20000,temp
+	imul32 temp,pdata
+	iadd temp,pdata
+	store 4,mem_le_transmit_window
+	bpatchx patch2d_4,mem_patch2d
+	fetch 2,mem_rx_window_sniff
+	call wait_div_end
+	quotient temp
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	rtn
+
+le_parse_connect_req:
+	bpatchx patch2d_5,mem_patch2d
+	fetch 6,mem_le_rxbuf+8
+	fetcht 6,mem_le_lap
+	isub temp,null
+	nrtn zero
+	call le_scan_check_sender_addr_type
+	copy rega,pdata
+	store 1,mem_le_conn_peer_addr_type
+	fetch 7,mem_le_rxbuf+21
+	store 7,mem_tmp_buffer
+	ifetch 8,contr
+	istore 8,contw
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+	increase 6,contr
+	ifetch 8,contr
+	store 8,mem_le_access 	// and crcinit & window size
+	ifetcht 2,contr				// transmit offset
+	bpatchx patch2d_6,mem_patch2d
+	lshift2 temp,temp			
+	ifetch 2,contr				// connInterval
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	store 4,mem_le_anchor
+	isub temp,pdata
+	add pdata,-2,clke_bt
+	ifetch 9,contr
+	store 9,mem_le_slave_latency// and super to & channel map
+	bpatchx patch2d_7,mem_patch2d
+	ifetch 1,contr
+	rshift4 pdata,temp
+	rshift temp,temp
+	storet 1,mem_le_peer_sca
+	and_into 0x1f,pdata
+	store 1,mem_le_hop
+	call le_receive_window_size
+	call le_calc_channel_map
+	call le_init_slave
+	call context_new
+	nrtn zero
+	bpatchx patch2e_0,mem_patch2e
+	call calc_clke_offset
+	call le_l2cap_reset_signaling_identifier
+	jam BT_EVT_LE_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch context_save
+	
+
+le_init_attlist_search:
+	bpatchx patch2e_1,mem_patch2e
+	fetch 2,mem_le_search_handle_start
+	iforce regb
+	fetch 2,mem_le_search_handle_end
+	iforce regc
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+	enable user
+	rtn
+
+	/* return handle in pdata, blank:end of list, positive:in range */
+le_att_handle_inrange:
+	ifetch 2,contr
+	rtn blank
+	isub regb,null			/* less than start ? */
+	nrtn positive
+	isub regc,null			/* greater than end ? */
+	rtn zero
+	branch le_att_handle_blank,positive
+	force 1,null
+	rtn
+le_att_handle_blank:
+	force 0,pdata
+	rtn
+
+
+	/* handle in temp, return pointer in contr to length, blank not found */
+le_att_get_handle_ptr:
+	call le_att_get_handle_ptr2
+	branch le_att_get_handle_ptr_found,zero
+	rtn
+	
+le_att_get_handle_ptr2:
+	bpatchx patch2e_2,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_handle_loop1:
+	ifetch 2,contr
+	rtn blank
+	isub temp,null
+	rtn zero
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length  
+	iadd contr,contr
+	branch le_att_get_handle_loop1
+le_att_get_handle_ptr_found:
+	ifetch 1,contr
+	iadd contr,contr	
+	rtn	
+
+
+
+le_att_get_short_uuid_ptr:
+	bpatchx patch2e_3,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_short_uuid_loop:
+	ifetch 2,contr
+	rtn blank
+	ifetch 1,contr
+	iadd contr,contr
+	increase -2,contr
+	ifetch 2,contr
+	isub temp,null
+	rtn zero
+	ifetch 1,contr			 
+	iadd contr,contr
+	branch le_att_get_short_uuid_loop	
+
+
+
+le_att_get_handle_info_from_ptr:
+	fetch 2, mem_le_cur_attlist_start_ptr
+	branch le_att_get_handle_info_fast
+
+le_att_get_handle_info:
+	bpatchx patch2e_4,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+le_att_get_handle_info_fast:
+	iforce contr
+	copy temp,rega
+le_att_get_handle_loop:
+	ifetch 2,contr
+	branch le_att_unfind_handle,blank
+	isub rega,null
+	branch le_att_finded_handle, zero
+	ifetch 1,contr			// length  
+	iadd contr,contr	
+	ifetch 1,contr			//length 
+	iadd contr,contr
+	branch le_att_get_handle_loop
+le_att_unfind_handle:
+	branch disable_blank
+
+le_att_finded_handle:
+	ifetch 1,contr
+	store 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	arg mem_le_cur_uuid,contw
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_le_curr_att_len
+	call store_contr
+	branch enable_blank
+
+	
+le_modified_name:
+	bpatchx patch2e_5,mem_patch2e
+	call le_modified_name_att_list
+	branch le_modified_name_adv
+
+le_modified_name_att_list:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	ifetch 1,contr						// attribute length
+	copy contr,contw
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	isub temp,null
+	nbranch le_name_length_longer_than_att,positive
+	isub temp,temp
+	arg mem_le_name,contr
+	call memcpy
+	copy temp,loopcnt
+	ncall memcpy_empty,zero
+	rtn
+le_name_length_longer_than_att:
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy_fast
+
+
+le_modified_name_adv:
+	arg mem_le_adv_data_len+32,regc
+	arg mem_le_adv_data,rega
+	call le_modified_name_adv_and_scan
+	setarg 0
+	setflag user,0,pdata
+	store 1,mem_pdatatemp
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	call le_modified_name_adv_and_scan
+	rtn user
+	fetch 1,mem_pdatatemp
+	branch assert,blank
+	rtn
+
+
+le_modified_name_adv_and_scan:
+	bpatchx patch2e_6,mem_patch2e
+	call enable_user
+	call clear_temp_block
+	arg 0,regb	//current length
+	arg mem_le_data_temp,contw
+	call le_modified_name_adv_loop
+	fetch 1,mem_le_name_len
+	add pdata,1,temp
+	iadd regb,rega	
+	increase 2,rega
+	sub rega,0x1f,null
+	nbranch le_modified_name_adv_and_scan_name_overflow,positive
+	istoret 1,contw		//store ble name length
+	arg GAP_ADTYPE_LOCAL_NAME_COMPLETE,temp
+	istoret 1,contw		//store ble name type
+	iforce loopcnt
+	call memcpy_fast
+	copy rega,regb
+le_modified_name_adv_and_scan_store_data:
+	deposit regb
+	store 1,mem_le_data_len_temp
+	arg mem_le_data_len_temp,contr
+	setarg -32
+	iadd regc,contw
+	branch memcpy32
+
+le_modified_name_adv_and_scan_name_overflow:
+	call disable_user
+	branch le_modified_name_adv_and_scan_store_data
+	
+le_modified_name_adv_loop:
+	ifetch 1,rega		//pdata:length
+	rtn blank			//length is zero,ending find
+	pincrease 1		//length += 1
+	ifetcht 1,contr		//pdata:type
+	sub temp,GAP_ADTYPE_LOCAL_NAME_COMPLETE,null
+	branch le_modified_name_adv_found_name,zero
+	iadd regb,regb	
+	copy rega,contr
+	iforce loopcnt
+	call memcpy_fast
+	copy contr,rega
+le_modified_name_adv_loop2:
+	deposit rega
+	isub regc,null
+	rtn positive
+	branch le_modified_name_adv_loop
+
+le_modified_name_adv_found_name:
+	iadd rega,rega
+	branch le_modified_name_adv_loop2
+
+
+memcpy_empty:
+	setarg SPACE
+	istore 1,contw
+	loop memcpy_empty
+	rtn
+
+	
+le_lpm_set_mult:
+	bpatchx patch2e_7,mem_patch2e
+	disable wake
+	branch le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+
+	nbranch lpm_mult_short,match
+	bmark1 mark_old_packet,lpm_mult_short
+
+	fetch 1,mem_le_packet_size
+	nbranch lpm_mult_short,blank		// rx not empty, short interval
+	fetch 1,mem_le_txlen
+	nbranch lpm_mult_short,blank		// tx not empty, short interval
+	
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_SHORT_MULT,lpm_mult_short	//check flag,if flag is 1,always short mult
+	
+	fetch 1,mem_le_state
+	bbit1 lestate_update_param,lpm_mult_short
+	branch lpm_mult_wait_timeout
+	
+le_lpm_lost:
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_le_receive_window
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	branch lpm_lost
+
+///////////////////////////////BLE CONFIG//////////////////////////////////////////
+le_set_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_set_config
+
+le_clr_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_clr_config
+
+le_set_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_set_config
+
+le_clr_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_clr_config
+
+le_set_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_set_config
+
+le_clr_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_clr_config
+
+le_set_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_set_config
+
+le_clr_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_clr_config
+
+le_set_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_set_config
+
+le_clr_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_clr_config
+
+le_set_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_set_config
+
+le_clr_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_clr_config
+
+
+le_set_config:
+	fetch 1,mem_le_configuration
+	qset1 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_clr_config:
+	fetch 1,mem_le_configuration
+	qset0 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_set_fixed_ltk:
+	setarg 0x112233
+	store 3,mem_le_fixed_ltk
+	setarg 0x445566
+	istore 3,contw
+	setarg 0x778899
+	istore 3,contw
+	setarg 0x001122
+	istore 3,contw
+	setarg 0x334455
+	istore 3,contw
+	setarg 0x66
+	istore 1,contw
+	rtn
+
+
+le_set_justwork:
+	setarg 0x01000302
+	store 4,mem_le_pres
+	setarg 0x010010
+	store 3,mem_le_pres_max_keysize
+	jam 1,mem_le_pairing_mode
+	rtn
+
+/////////////////////////////////////////////////////////////////////////
+
+le_fifo_malloc_tx_empty:
+	arg 0,rega
+	arg LLID_EMPTY,type
+	branch le_fifo_malloc_tx
+
+
+//rega:len regb:ll opcode
+le_fifo_malloc_tx_ll:
+	arg LLID_LE_LL,type
+	call le_fifo_malloc_tx
+	copy regb,pdata
+	istore 1,contw
+	rtn
+	
+
+//rega:len regb:cid
+le_fifo_malloc_tx_l2cap:
+	force LLID_L2CAP_START,type
+	increase 4,rega
+	call le_fifo_malloc_tx
+	increase -4,rega
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//rega:len type:llid
+le_fifo_malloc_tx:
+	sub rega,240,null			//check max len
+	nbranch assert,positive
+	fetch 1,mem_le_tx_buff_used
+	arg 1,temp
+	arg LE_TX_BUFF_COUNT,loopcnt
+le_fifo_malloc_tx_loop:
+	iand temp,null
+	branch le_fifo_malloc_tx_got_empty,zero
+	lshift temp,temp
+	loop le_fifo_malloc_tx_loop
+	branch assert				//no empty buff
+le_fifo_malloc_tx_got_empty:
+	ixor temp,pdata
+	store 1,mem_le_tx_buff_used
+	sub loopcnt,LE_TX_BUFF_COUNT,pdata
+	lshift4 pdata,pdata
+	lshift4 pdata,pdata
+	arg mem_le_tx_buffer0,temp
+	iadd temp,temp
+le_fifo_tx_find_empty_ptr:
+	arg 0,loopcnt
+	arg mem_le_tx_ptr0,contr
+le_fifo_tx_find_empty_ptr_loop:
+	ifetch 2,contr
+	branch le_fifo_tx_found_empty_ptr,blank
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_COUNT,le_fifo_tx_find_empty_ptr_loop
+	branch assert
+
+	
+le_fifo_tx_found_empty_ptr:
+	increase -2,contr
+	istoret 2,contr
+	copy temp,contw
+	copy rega,pdata
+	istore 1,contw				//lengh
+	setarg 0
+	istore 1,contw				//offset
+	copy type,pdata
+	istore 1,contw				//LLID
+	rtn
+
+
+
+le_fifo_get_first_tx_ptr:
+	fetch 2,mem_le_tx_ptr0
+	copy pdata,contr
+	rtn
+
+le_fifo_get_second_tx_ptr:
+	fetch 2,mem_le_tx_ptr1
+	copy pdata,contr
+	rtn
+
+le_fifo_get_last_tx_ptr:
+	call le_fifo_get_last_tx_ptr0
+	copy pdata,contr
+	rtn
+le_fifo_get_last_tx_ptr0:
+	fetch 2,mem_le_tx_ptr3
+	nrtn blank
+	fetch 2,mem_le_tx_ptr2
+	nrtn blank
+	fetch 2,mem_le_tx_ptr1
+	nrtn blank
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+le_fifo_get_first_l2cap_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 3,contr
+	rtn
+
+le_fifo_get_first_att_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_att_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_l2cap_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 3,contr
+	rtn
+
+	
+
+le_fifo_check_full:
+	fetch 2,mem_le_tx_ptr3
+	rtn
+
+
+le_fifo_check_nearly_full:
+	fetch 2,mem_le_tx_ptr2
+	rtn
+
+	
+le_fifo_check_empty:
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+
+le_fifo_release_first_node:
+	fetch 2,mem_le_tx_ptr0
+	arg mem_le_tx_buffer0,temp
+	isub temp,pdata
+	rshift4 pdata,pdata
+	rshift4 pdata,queue
+	fetch 1,mem_le_tx_buff_used
+	qset0 pdata
+	store 1,mem_le_tx_buff_used
+	arg 0,loopcnt
+le_fifo_release_first_node_loop:
+	lshift loopcnt,pdata
+	arg mem_le_tx_ptr1,temp
+	iadd temp,temp
+	ifetch 2,temp
+	increase -2,temp
+	istore 2,temp
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_UPDATE_LOOPCNT,le_fifo_release_first_node_loop
+	setarg 0
+	istore 2,temp
+	rtn
+
+
+
+
+
+le_parse_att:
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_EXCHANGE_MTU_REQUEST,le_parse_att_exchange_mtu_request
+	beq ATTOP_EXCHANGE_MTU_RESPONSE,le_parse_att_exchange_mtu_response
+	beq ATTOP_FIND_INFORMATION_REQUEST,le_parse_att_find_information_request
+	beq ATTOP_FIND_BY_TYPE_VALUE_REQUEST,le_parse_att_find_by_type_value_request
+	beq ATTOP_READ_BY_TYPE_REQUEST,le_parse_att_read_by_type_request
+	beq ATTOP_READ_REQUEST,le_parse_att_read_request
+	beq ATTOP_READ_BLOB_REQUEST,le_parse_att_read_blob_request
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,le_parse_att_read_by_group_type_request
+	beq ATTOP_WRITE_REQUEST,le_parse_att_write_request
+	beq ATTOP_PREPARE_WRITE_REQUEST,le_parse_att_prepare_write_request
+	beq ATTOP_EXECUTE_WRITE_REQUEST,le_parse_att_execute_write_request
+	beq ATTOP_WRITE_COMMAND,le_parse_att_write_command
+	rtn
+
+
+le_send_att_exchange_mtu_requset:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_REQUEST
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+
+le_parse_att_exchange_mtu_request:
+	call le_parse_att_exchange_mtu_response
+le_send_att_exchange_mtu_response:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+le_parse_att_exchange_mtu_response:
+	rshift8 pdata,pdata
+	store 2,mem_le_remote_mtu
+	rtn
+
+le_parse_att_find_information_request:
+	call le_get_search_handle_start_end_common
+	call enable_user
+	branch le_send_att_find_information_response
+	
+le_send_att_find_information_response:
+	arg 3,timeup
+	call le_init_attlist_search
+le_send_att_find_information_res_loop:
+	call le_att_handle_inrange
+	branch le_send_att_find_information_res_end,blank
+	nbranch le_send_att_find_information_res_next,positive
+	increase -2,contr
+	call store_contr
+	call get_contw
+	nbranch le_send_att_find_information_res_store_info,user
+	call push_stack_rega_b_c
+	call disable_user
+	force 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	call pop_stack_rega_b_c
+	setarg ATTOP_FIND_INFORMATION_RESPONSE
+	istore 1,contw
+	setarg UUID_SIZE_16BIT
+	istore 1,contw
+le_send_att_find_information_res_store_info:
+	call get_contr
+	ifetch 2,contr
+	istore 2,contw
+	ifetch 1,contr
+	copy pdata,loopcnt
+	call memcpy
+	call store_contw
+	increase -1,timeup
+	branch le_send_att_find_information_res_end,zero
+le_send_att_find_information_res_cont:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_loop
+le_send_att_find_information_res_next:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_cont
+le_send_att_find_information_res_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_find_by_type_value_request:
+	call le_get_search_handle_start_end_common
+	ifetch 2,contr
+	store 2,mem_le_search_uuid
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+	fetch 2,mem_le_l2cap_size
+	increase -7,pdata
+	call le_get_search_common2
+	branch le_send_att_find_by_type_value_response
+
+
+le_start_end_handle_check_1:
+	disable user
+	fetcht 2,mem_le_search_handle_start
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	nbranch le_start_end_handle_check_1_fail,positive
+	deposit temp
+	rtnne 0
+le_start_end_handle_check_1_fail:
+	enable user
+	jam ATT_ERR_INVALID_HANDLE,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_send_att_find_by_type_value_response:
+	call le_start_end_handle_check_1
+	rtn user
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_GATT_PRIMARY_SERVICE
+	isub temp,null
+	branch le_send_att_find_by_type_value_res_primary,zero
+	branch le_send_att_error_response_notfound
+	
+
+le_send_att_find_by_type_value_res_primary:
+	jam LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,mem_le_search_res
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound,blank
+le_send_att_find_primary_search_loop:
+	fetcht 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound2,blank	
+	copy contr,rega
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	fetcht 1,mem_le_search_att_type_length
+	isub temp,null
+	nbranch le_send_att_find_primary_search_loop1,zero
+	arg mem_le_search_att_type,regb
+	call string_compare
+
+	branch le_send_att_find_primary_search_end_start_handle_found,zero
+
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	branch le_send_att_find_primary_search_end_ending_handle_found,zero
+le_send_att_find_primary_search_loop1:
+	fetch 2,mem_temp
+	increase 1,pdata
+	store 2,mem_temp
+	branch le_send_att_find_primary_search_loop
+
+le_send_att_error_response_notfound2:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,le_send_att_find_primary_search_end_ending_handle_found
+	branch le_send_att_error_response_notfound
+
+	
+le_send_att_find_primary_search_end_start_handle_found:
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	nbranch  le_send_att_find_primary_search_loop1,zero
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,mem_le_search_res
+//	copy rega,temp
+	fetcht 2,mem_temp
+	storet 2,mem_le_cur_handle_start
+	branch le_send_att_find_primary_search_loop1
+
+le_send_att_find_primary_search_end_ending_handle_found:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,le_send_att_find_primary_search_loop1
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE,mem_le_search_res
+	fetcht 2,mem_temp
+	increase -1,temp
+	storet 2,mem_le_cur_handle_end
+	
+le_send_att_find_primary_search_end:
+	arg 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+	rtn
+
+
+
+le_parse_att_read_by_type_request:
+	call le_get_search_handle_start_end_common
+	call le_get_search_att_uuid
+	branch le_send_att_read_by_type_response
+	
+le_send_att_read_by_type_response:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_CHRCTR_DEVICE_NAME
+	isub temp,null
+	branch le_send_att_read_by_type_res_device_name,zero
+	setarg UUID_GATT_CHARACTERISTIC
+	isub temp,null
+	nbranch le_send_att_read_by_type_res_not_characteristic,zero
+	arg 2,timeup
+le_send_att_read_by_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_type_response_end,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_type_response_end
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_response_next_handle,zero
+	nbranch le_send_att_read_by_type_res_found_next,user
+	disable user
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	copy contw,alarm
+	increase 1,contw
+	
+	call le_send_att_read_by_type_write_properties
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	call le_send_att_read_by_type_write_uuid
+	fetch 1,mem_le_cur_uuid_length
+	increase 5,pdata
+	istore 1,alarm
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+le_send_att_read_by_type_response_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_type_response_loop
+le_send_att_read_by_type_response_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+le_send_att_read_by_type_res_found_next:
+	call le_store_att_record
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	
+	call get_contw
+	fetch 2,mem_temp
+	increase -1,pdata
+	istore 2,contw
+	call le_write_att_record_common
+	call le_send_att_read_by_type_write_uuid
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+	branch le_send_att_read_by_type_response_next_handle
+
+	
+le_send_att_read_by_type_write_properties:
+	fetch 2,mem_temp
+	istore 2,contw
+	
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	call get_contr
+	call memcpy_fast
+	branch store_contw
+le_send_att_read_by_type_write_uuid:
+	call get_contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call store_contw
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	call get_contw	
+	call get_contr
+	isub loopcnt,contr
+	increase -1,contr
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_att_read_by_type_res_not_characteristic:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+le_send_att_read_by_type_res_not_char_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_error_response_notfound,positive
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_error_response_notfound
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_res_not_char_next,zero
+
+le_send_att_read_by_type_res_not_char_common:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call get_contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+	
+le_send_att_read_by_type_res_not_char_next:
+ 	call le_att_next_handle
+	branch le_send_att_read_by_type_res_not_char_loop
+
+
+le_send_att_read_by_type_res_device_name:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	increase -5,contr // point to handle
+	ifetch 2,contr		
+	store 2,mem_temp
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	arg mem_le_name,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+
+le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,le_send_att_read_response_check_auth
+
+le_send_att_read_response:
+	call le_att_get_handle_ptr
+	branch le_send_att_error_response_notfound,blank
+	increase -2,contr
+	ifetch 2,contr
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	isub temp,null
+	branch le_send_device_name,zero
+	ifetch 1,contr
+	sub pdata,22,null
+	branch le_send_att_read_response_less,positive
+	force 22,pdata
+le_send_att_read_response_less:
+	copy pdata,regc
+	call store_contr
+	add regc,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	copy regc,loopcnt
+	call get_contr
+	branch memcpy
+
+le_send_device_name:
+	call store_contr
+	fetch 1,mem_le_name_len
+	add pdata,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy
+	
+	
+le_send_att_read_response_check_auth:
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_read_response,zero
+//le_send_att_read_response_error_insufficient_auth:
+	call le_check_encrypt_state
+	nbranch le_send_att_read_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_parse_att_read_blob_request:
+	ifetch 2,contr
+	store 2,mem_le_att_offset
+le_send_att_read_blob_response:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BLOB_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_offset
+	iforce rega
+	fetcht 2,mem_le_att_handle
+	call le_att_get_handle_ptr 
+	branch le_send_att_error_response_notfound,blank
+	ifetch 1,contr
+	isub rega,loopcnt
+	nbranch le_send_att_error_response_notfound,positive
+	sub loopcnt,22,null
+	branch le_send_att_read_blob_response_less,positive
+	force 22,loopcnt
+le_send_att_read_blob_response_less:
+	deposit rega
+	iadd contr,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_read_by_group_type_request:
+	call le_get_search_handle_start_end_common
+ 	call le_get_search_att_type
+	branch le_send_att_read_by_group_type_response
+	
+//mem_le_search_att_type
+//mem_le_search_handle_start
+//mem_le_search_handle_end
+le_send_att_read_by_group_type_response:
+	arg 2,timeup
+	fetcht 2,mem_le_search_handle_start
+//	arg 23,pdata
+//	isub temp,null
+//	call ice_break,zero
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+le_send_att_read_by_group_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_group_type_end0,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_group_type_end1
+
+	call le_att_same_type
+	nbranch le_send_att_read_by_group_type_next_handle,zero
+	copy timeup,pdata
+	beq 0,le_send_att_read_by_group_type_end1
+	nbranch le_send_att_read_by_group_type_store_write_record,user		//un first
+	disable user
+	//first att uuid
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	increase 4,pdata
+	istore 1,contw
+	call store_contw
+	branch le_send_att_read_by_group_type_store_record
+le_send_att_read_by_group_type_store_write_record:
+	fetch 1,mem_le_curr_att_len
+	beq 16,le_send_att_read_by_group_type_end1
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	call le_write_att_record
+le_send_att_read_by_group_type_store_record:
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_start
+	call le_store_att_record
+	increase -1,timeup
+//	branch le_send_att_read_by_group_type_last_find,zero		
+le_send_att_read_by_group_type_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_group_type_response_loop
+
+le_send_att_read_by_group_type_end0:	//> att handle end
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end1:	//>att max list handle or diff len 
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end_common:
+	branch le_send_att_error_response_notfound,user
+	call le_write_att_record
+	branch le_send_auto_len_by_mem
+
+
+
+
+le_parse_att_write_request:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	call le_writeatt_cb
+le_send_att_write_response_check_auth:
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_WRITE_AUTH,le_send_att_write_response
+	
+	fetcht 2,mem_le_att_handle
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_write_response,zero
+	call le_check_encrypt_state
+	nbranch le_send_att_write_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+le_send_att_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+le_check_encrypt_state:
+	call disable_user
+	fetch 1,mem_le_pairing_mode
+	rtneq LE_PAIRING_MODE_NONE
+	fetch 1,mem_context
+	rtnbit1 lestate_encryption
+	branch enable_user
+
+
+le_parse_att_prepare_write_request:
+	add contr,2,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,regb
+	call le_writeatt_cb
+	branch le_send_att_prepare_write_response
+
+
+le_send_att_prepare_write_response:
+	fetch 2,mem_le_l2cap_size
+	copy pdata,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_PREPARE_WRITE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,loopcnt	
+	fetch 2,mem_le_payload_ptr
+	add pdata,7,contr
+	ifetch 2,contr		//offset
+	istore 2,contw
+	branch memcpy_fast
+
+
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXECUTE_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+
+
+le_parse_att_write_command:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	branch le_writeatt_cb
+
+
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_notify:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_NOTIFICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_indication:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_INDICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+
+///////////////////////////ATT common function////////////////////////////////////
+
+le_send_att_error_response_notfound:	
+	jam ATT_ERR_ATTRIBUTE_NOT_FOUND,mem_le_err_code
+le_send_att_error_response:	
+	force 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_ERROR_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_att_opcode
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 1,mem_le_err_code
+	istore 1,contw
+	rtn
+
+
+le_fifo_malloc_tx_l2cap_gatt:
+	force LE_L2CAP_CID_ATT,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
+le_att_next_handle:
+	fetcht 2,mem_temp
+	increase 1,temp
+	storet 2,mem_temp
+	rtn
+
+le_att_check_handle_end:
+	fetcht 2,mem_temp
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	rtn
+
+
+le_att_same_type:
+	fetcht 1,mem_le_search_att_type_length
+	arg mem_le_search_att_type,rega
+le_att_check_same_common:
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	isub temp,null
+	nrtn zero
+	arg mem_le_cur_uuid ,regb
+	branch string_compare
+
+le_att_same_uuid:
+	fetcht 1,mem_le_search_uuid_length
+	arg mem_le_search_uuid,rega
+	branch le_att_check_same_common
+
+
+le_store_att_record:
+	fetch 1,mem_le_curr_att_len
+	store 1, mem_tmp_buffer
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast
+
+
+le_write_att_record:
+	call get_contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+le_write_att_record_common:
+	fetch 1,mem_tmp_buffer
+	copy pdata,loopcnt
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_auto_len_by_mem:
+	call get_contw
+	call le_fifo_get_last_att_ptr
+	copy contw,pdata
+	isub contr,rega
+	call le_fifo_get_last_l2cap_ptr
+	copy rega,pdata
+	istore 2,contr
+	increase 4,rega
+	call le_fifo_get_last_tx_ptr
+	copy rega,pdata
+	istore 1,contr
+	rtn
+
+
+le_get_search_handle_start_end_common:
+	rshift8 pdata,pdata
+	store 2,mem_le_search_handle_start
+	ifetch 2,contr
+	store 2,mem_le_search_handle_end
+	rtn
+
+
+
+
+le_parse_signaling:
+	ifetch 1,contr
+	ifetcht 1,contr //id
+	ifetcht 2,contr //length
+	beq L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE,le_l2cap_parse_conn_parameter_update_rsp
+	rtn
+le_l2cap_parse_conn_parameter_update_rsp:
+	ifetch 2,contr	//result
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	jam BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+//mem_le_interval_min:the ptr that connection parameter,
+//include 	ConnIntervalMin,ConnIntervalMax,
+//		ConnSlaveLatency,ConnSupervisionTimeout
+le_l2cap_tx_update_req:
+	arg 0x0c,rega
+	arg L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST,regc
+	call le_fifo_malloc_tx_l2cap_signaling
+	setarg 0x08
+	istore 2,contw
+	fetch 8,mem_le_interval_min
+	istore 8,contw
+	rtn
+
+
+//rega:len regc:signaling opcode
+le_fifo_malloc_tx_l2cap_signaling:
+	call le_l2cap_update_signaling_identifier
+	arg LE_L2CAP_CID_SIGNAL,regb
+	call le_fifo_malloc_tx_l2cap
+	copy regc,pdata
+	istore 1,contw
+	fetch 1,mem_le_signaling_identifier
+	istore 1,contw
+	rtn
+
+
+le_l2cap_update_signaling_identifier:
+	fetch 1,mem_le_signaling_identifier
+	//beq 0xff,le_l2cap_signaling_identifier_set_1
+	pincrease 1
+	store 1,mem_le_signaling_identifier
+	rtnne 0
+	
+le_l2cap_reset_signaling_identifier:
+	jam 1,mem_le_signaling_identifier
+	rtn
+
+
+
+
+le_pairing_mode_init:
+	fetch  1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_set_pairing_mode_lagacy_passkey
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_set_pairing_mode_secure_passkey
+	rtn
+
+le_set_pairing_mode_secure_justwork:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_secure_numeric:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_secure_passkey:	
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_displayonly
+le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	rtn
+
+	
+le_secure_connection_enable:
+	fetch 1,mem_le_pres_auth
+	set1 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+le_secure_connection_disable:
+	fetch 1,mem_le_pres_auth
+	set0 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+
+le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_REQUEST,le_parse_smp_pairing_request
+//	beq SMP_PAIRING_RESPONSE,le_parse_smp_pairing_response
+	beq SMP_PAIRING_CONFIRM,le_parse_smp_pairing_confirm
+	beq SMP_PAIRING_RANDOM,le_parse_smp_pairing_random
+	beq SMP_PAIRING_FAILED,le_parse_smp_pairing_failed
+	beq SMP_ENCRYPTION_INFORMATION,le_parse_smp_encryption_information
+	beq SMP_MASTER_IDENTIFICATION,le_parse_smp_master_identification
+	beq SMP_IDENTITY_INFORMATION,le_parse_smp_identity_information
+	beq SMP_IDENTITY_ADDRESS_INFORMATION,le_parse_smp_identity_address_information
+	beq SMP_SIGNING_INFORMATION,le_parse_smp_signing_information
+	beq SMP_SECURITY_REQUEST,le_parse_smp_security_request
+	beq SMP_PAIRING_PUBLIC_KEY,le_parse_smp_public_key
+	beq SMP_PAIRING_DHKEY_CHECK,le_parse_smp_dhkey_check
+	rtn
+
+
+
+le_send_smp_security_request:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_SECURITY_REQUEST
+	istore 1,contw
+	fetch 1,mem_le_pres_auth
+	istore 1,contw
+	rtn
+		
+le_parse_smp_pairing_request:
+	store 1,mem_le_preq
+	ifetch 6,contr
+	istore 6,contw
+	fetch 1,mem_le_pairing_mode
+	beq  LE_PAIRING_MODE_NONE,le_smp_pairing_fail_reason_not_support_pairing
+	call le_send_smp_pairing_response
+	call le_check_master_support_secure_connect
+	jam FLAG_LE_PAIRING_RCV_PAIRING_REQ,mem_le_pairing_state
+	fetch 1,mem_le_preq_iocap
+	beq  FLAG_IOCAP_DISPlAYONLY,le_set_tk_0
+	beq  FLAG_IOCAP_DISPLAYYESNO,le_set_tk_0
+	beq  FLAG_IOCAP_NOINPUTNOOUTPUT,le_set_tk_0
+	fetch 1,mem_le_pairing_mode	
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_parse_smp_pairing_req_passkey
+	rtneq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+le_set_tk_0:
+	arg 0,pdata
+	store 4,mem_le_tk
+	rtn
+
+le_parse_smp_pairing_req_passkey:
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PASSKEY_FIXED_KEY,le_parse_smp_pairing_req_fixed_passkey
+le_genernate_tk:
+	arg mem_le_tk,rega
+	copy rega,contw
+	arg 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_le_tk + 2
+	and_into 0x7,pdata
+	store 2,mem_le_tk + 2
+le_parse_smp_pairing_req_fixed_passkey:
+	jam BT_EVT_LE_TK_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_check_master_support_secure_connect:
+	fetch 1,mem_le_preq_auth
+	rtnbit1  LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	branch app_ble_disconnect	
+
+le_send_smp_pairing_response:
+	force 7,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	fetch 7,mem_le_pres
+	istore 7,contw
+	rtn
+		
+
+le_parse_smp_pairing_confirm:
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_confirm_secure_passkey
+	copy rega,contr
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	branch le_send_smp_pairing_confirm
+le_parse_smp_pairing_confirm_secure_passkey:
+	copy rega,contr
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+	rtn
+
+
+le_send_smp_pairing_confirm:
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_send_smp_pairing_confirm_sc
+	call generate_confirm
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  store_aes_result
+
+	
+le_send_smp_pairing_confirm_sc:
+	arg mem_le_srand,contw	
+	call generate_random
+	call function_f4_cb
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  load_inverse_result
+
+
+	
+le_parse_smp_pairing_random:	
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_parse_smp_pairing_random_sc
+	copy rega,contr
+	call authenticate_rconfirm
+	branch le_parse_smp_pairing_random_success,zero
+le_send_pairing_confirm_value_failed:
+	jam PAIRING_FAILED_CONFIRM_VALUE_FAILED,mem_le_ll_pairing_fail_reason
+le_send_pairing_failed:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_FAILED
+	istore 1,contw
+	fetch 1,mem_le_ll_pairing_fail_reason
+	istore 1,contw	
+le_parse_smp_pairing_failed:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_smp_pairing_fail_reason_not_support_pairing:
+	jam PAIRING_FAILED_PAIRING_NOT_SUPPORTED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+	
+	
+le_parse_smp_pairing_random_sc:
+	arg mem_le_mrand,contw
+	copy rega,contr
+	call memcpy16	
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_random_sc_passkey
+	call function_g2
+//	jam LE_SC_STAT_RECEIVE_RANDOM,mem_le_secure_connect_state
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	call le_send_smp_pairing_random
+	fetch 1,mem_le_pairing_mode
+	rtnne LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+	jam BT_EVT_LE_GKEY_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+le_parse_smp_pairing_random_sc_passkey:
+	call function_f4_ca
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result	
+	arg mem_AES_CMAC_temp,rega
+	arg mem_le_rconfirm ,regb
+	arg 16,loopcnt
+	call string_compare
+	nbranch le_send_pairing_confirm_value_failed,zero
+	branch le_send_smp_pairing_random
+	
+le_parse_smp_pairing_random_success:
+	call generate_stk
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	jam 1,mem_ltk_exists
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	
+le_send_smp_pairing_random:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_RANDOM
+	istore 1,contw
+	arg mem_le_srand,contr
+	branch memcpy16
+	
+le_parse_smp_encryption_information:
+	arg mem_le_peer_ltk,contw
+	branch memcpy16
+
+le_send_smp_encryption_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_ENCRYPTION_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PAIRING_FIXED_LTK,le_send_fixed_ltk
+	arg mem_le_ltk,contr
+	branch memcpy16
+
+le_send_fixed_ltk:
+	arg mem_le_fixed_ltk,contr
+	branch memcpy16
+
+
+le_send_smp_master_identification:
+	arg mem_le_ediv,contw
+	force 10,loopcnt
+	call generate_random_loop
+	force 11,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_MASTER_IDENTIFICATION
+	istore 1,contw
+	fetch 2,mem_le_ediv
+	istore 2,contw
+	fetch 8,mem_le_rand
+	istore 8,contw
+	rtn
+
+le_send_smp_identity_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_INFORMATION
+	istore 1,contw
+	setarg 0
+	istore 8,contw
+	istore 8,contw
+	rtn
+	
+
+le_send_smp_identity_address_information:
+	force 8,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_ADDRESS_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	fetch 6,mem_le_lap	
+	istore 6,contw
+	rtn	
+
+
+le_send_pairing_fail_unspecified_reason:
+	jam PAIRING_FAILED_UNSPECIFIED_REASON,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+le_check_init_key_distribution:
+	fetch 1,mem_le_pres_init_key_distribution
+	fetcht 1,mem_le_pres_init_key_distribution
+	iand temp,pdata
+	rtn	
+
+le_parse_smp_identity_information:
+	arg mem_le_irk,contw
+	call memcpy16
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	nrtn user
+	branch app_ble_store_reconn_info
+
+//output:user is enable ,random addr type
+le_check_master_addr_type:
+	call disable_user
+	fetch 1,mem_le_conn_peer_addr_type
+	rtneq MASTER_PUBLIC_ADDR
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	rtn true
+	branch enable_user
+
+le_parse_smp_identity_address_information:
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	rtn
+
+le_parse_smp_master_identification:
+le_parse_smp_signing_information:	
+le_parse_smp_security_request:
+	rtn
+	
+le_parse_smp_public_key:
+	arg mem_le_pubkey_remote_x_256,contw	
+	call memcpy64
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_RECEIVE_PUBLIC_KEY,mem_le_secure_connect_state
+	rtn
+
+le_parse_smp_dhkey_check:
+	arg mem_sp_confirm_remote,contw
+	call memcpy16	
+	jam LE_SC_STAT_RECEIVE_DHKEY,mem_le_secure_connect_state
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn	
+
+le_send_smp_pairing_public_key:
+	force 65,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_PUBLIC_KEY
+	istore 1,contw	
+	arg mem_le_pubkey_local_x_256,contr
+	branch memcpy64
+	
+le_send_smp_pairing_dhkey_check:
+	call function_f6_eb	
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_DHKEY_CHECK
+	istore 1,contw
+	branch load_inverse_result
+	
+
+le_check_paring_time:
+	fetch 1,mem_le_pairing_state
+	rtneq FLAG_LE_PAIRING_END
+	arg FLAG_LE_PAIRING_RCV_PAIRING_REQ,temp
+	isub temp,null
+	nrtn positive
+	arg smp_pairing_timer,queue
+	call timer_check
+	nrtn blank
+	branch le_send_pairing_fail_unspecified_reason
+
+le_pairing_sm:
+	bpatchx patch2f_0,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_NULL,le_pairing_sm_null
+	beq FLAG_LE_PAIRING_START,le_pairing_sm_start
+	beq FLAG_LE_PAIRING_SEND_RECURITY_REQ,le_pairing_sm_send_sec_req
+	beq FLAG_LE_PAIRING_RCV_PAIRING_REQ,le_pairing_sm_rcv_pairing_req
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_pairing_sm_after_auth
+	beq FLAG_LE_PARING_SEND_ENC_INFORMATION,le_pairng_sm_send_enc_information
+	beq FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,le_pairng_sm_send_master_indentification
+	beq FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,le_pairng_sm_send_indentity_information
+	rtn
+
+le_pairing_sm_null:
+le_pairing_sm_send_sec_req:
+	fetch 1,mem_le_enc_state
+	rtnne FLAG_LE_SEND_START_ENC_RSP
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_RECONNECT_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+	
+le_pairing_sm_start:
+	jam FLAG_LE_PAIRING_SEND_RECURITY_REQ,mem_le_pairing_state
+	branch le_send_smp_security_request
+
+le_pairing_sm_rcv_pairing_req:
+	jam FLAG_LE_PAIRING_AUTH,mem_le_pairing_state
+	setarg TIMER_SMP_PAIRING_TIMEOUT
+	arg smp_pairing_timer,queue
+	branch timer_init
+	
+le_pairing_sm_after_auth:
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_SEND_START_ENC_RSP,le_pairing_sm_after_auth_start_enc
+	rtn
+	
+le_pairing_sm_after_auth_start_enc:
+	jam FLAG_LE_PARING_SEND_ENC_INFORMATION,mem_le_pairing_state
+	jam BT_EVT_LE_ENC_INFO,mem_fifo_temp
+	call ui_ipc_send_event
+	call le_send_smp_encryption_information
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	rtn user
+	branch app_ble_store_reconn_info
+
+
+le_pairng_sm_send_enc_information:	
+	jam FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,mem_le_pairing_state
+	branch le_send_smp_master_identification
+
+le_pairng_sm_send_master_indentification:	
+	fetch 1,mem_le_preq_resp_key_distribution
+	fetcht 1,mem_le_pres_resp_key_distribution
+	iand temp,pdata
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_parse_start_enc_rsp_after_auth_end,true
+	jam FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,mem_le_pairing_state
+	branch le_send_smp_identity_information
+
+le_pairng_sm_send_indentity_information:		
+	call le_send_smp_identity_address_information
+	branch le_parse_start_enc_rsp_after_auth_end
+
+
+le_parse_start_enc_rsp_after_auth_end:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+
+
+le_secure_connect_sm:
+	bpatchx patch2f_1,mem_patch2f
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	fetch 1,mem_le_secure_connect_flag
+	rtnne LE_SP_FLAG_COMMIT_256
+	jam SP_FLAG_STANDBY,mem_le_secure_connect_flag
+	fetch    1,mem_le_secure_connect_state
+	beq  LE_SC_STAT_RECEIVE_PUBLIC_KEY,le_sc_sm_receive_public_key
+	beq LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,le_sc_sm_wait_send_public_key
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,le_sc_sm_send_public_key
+	beq LE_SC_STAT_RECEIVE_DHKEY,le_sc_sm_receive_dhkey
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,le_sc_sm_wait_confirm_gkey
+	beq  LE_SC_STAT_PASSKEY_WAIT_CONFIRM,le_sc_sm_passkey_wait_confirm
+	rtn	
+
+
+le_sc_sm_passkey_wait_confirm:
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+	fetch 4,mem_le_tk
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	branch le_sc_sm_ready_send_pairing_confirm
+	
+le_sc_sm_wait_confirm_gkey:
+	fetch 1,mem_le_sc_confirm_gkey_flag
+	jam FLAG_LE_SC_CONFRIM_NULL,mem_le_sc_confirm_gkey_flag
+	beq FLAG_LE_SC_CONFRIM_GKEY_OK,le_sc_confirm_gkey_ok
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_sc_confirm_gkey_ok:
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	branch le_send_smp_pairing_dhkey_check
+
+le_sc_sm_receive_dhkey:
+	fetch 1,mem_sp_dhkey_invalid
+	beq SP_KEY_VALID_256,le_dhkey_ready
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+
+le_dhkey_ready:
+	call function_f5
+//	arg mem_le_r,contw
+//	force 2,loopcnt
+//	call memset0
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_dhkey_ready_common
+	call le_set_tk_0 
+le_dhkey_ready_common:
+	call function_f6_ea
+	arg mem_AES_CMAC_temp,rega
+	arg mem_sp_confirm_remote ,regb
+	arg 16,loopcnt
+	call string_compare
+	branch le_dhkey_check_ok,zero
+le_dhkey_check_fail:	
+	jam PAIRING_FAILED_DHKEY_CHECK_FAILED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+	
+le_dhkey_check_ok:
+	call sp_calc_check_publickey_256
+	nbranch le_dhkey_check_fail,zero
+	jam 1,mem_ltk_exists
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_sc_confirm_gkey_ok
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_sc_confirm_gkey_ok	
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_WAIT_CONFIRM_GKEY,mem_le_secure_connect_state	
+	rtn	
+
+le_sc_sm_send_public_key:
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_sc_sm_send_public_key_passkey
+	jam 0,mem_passkey_1bit
+le_sc_sm_ready_send_pairing_confirm:
+	branch le_send_smp_pairing_confirm
+
+le_sc_sm_send_public_key_passkey:
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+//	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+//	branch p_ng_event_le_get_passkey
+	jam 0,mem_authentication_passkey_times
+	branch le_parse_smp_pairing_req_passkey
+
+	
+le_sc_sm_receive_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	fetch 1,mem_le_sc_local_key_invalid
+	beq SP_KEY_VALID_256,le_public_key_ready
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_public_key_ready:
+	jam LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,mem_le_secure_connect_state	
+	jam SP_KEY_INVALID,mem_sp_dhkey_invalid
+	branch sp_dhkey_calc_256	
+
+le_sc_sm_wait_send_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_SEND_PUBLIC_KEY,mem_le_secure_connect_state
+	branch le_send_smp_pairing_public_key
+
+
+
+le_fifo_malloc_tx_l2cap_smp:
+	force LE_L2CAP_CID_SMP,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
+
+le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CONNECTION_UPDATE_REQ,le_parse_connection_update_req
+	beq LL_CHANNEL_MAP_REQ,le_parse_channel_map_req
+	beq LL_TERMINATE_IND,le_parse_terminate_ind
+	beq LL_ENC_REQ,le_parse_enc_req
+	beq LL_ENC_RSP,le_parse_enc_rsp
+	beq LL_START_ENC_REQ,le_parse_start_enc_req
+	beq LL_START_ENC_RSP,le_parse_start_enc_rsp
+	beq LL_UNKNOWN_RSP,le_parse_unknown_rsp
+	beq LL_FEATURE_REQ,le_parse_feature_req
+	beq LL_FEATURE_RSP,le_parse_feature_rsp
+	beq LL_PAUSE_ENC_REQ,le_parse_pause_enc_req
+	beq LL_PAUSE_ENC_RSP,le_parse_pause_enc_rsp
+	beq LL_VERSION_IND,le_parse_version_ind
+	beq LL_REJECT_IND,le_parse_reject_ind
+	beq LL_PING_REQ,le_parse_ping_req
+	beq LL_PING_RSP,le_parse_ping_rsp
+	arg 2,rega
+	arg LL_UNKNOWN_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 1,mem_le_rxbuf+2
+	istore 1,contw
+	rtn	
+
+
+le_parse_connection_update_req:
+	ifetch 9,contr
+	store 9,mem_le_new_param
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetch 1,mem_le_state
+	set1 lestate_update_param,pdata
+	store 1,mem_le_state
+	rtn
+
+le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetcht 2,mem_le_event_count
+	isub temp,null
+	nbranch le_parse_terminate_ind,positive
+	fetch 1,mem_le_state
+	set1 lestate_update_map,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_parse_terminate_ind:
+	setarg 20 // 200ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+le_send_terminate_ind_user_terminated:
+	arg ERROR_REMOTE_USER_TERMINATED_CONNECTION,regc
+
+//regc:The ErrorCode field shall be set to inform the remote device why the connection is about to be terminated.
+le_send_terminate_ind:
+	arg 2,rega
+	arg LL_TERMINATE_IND,regb
+	call le_fifo_malloc_tx_ll
+	copy regc,pdata
+	istore 1,contw
+	rtn
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+	arg 9,rega
+	arg LL_FEATURE_RSP,regb
+	call le_fifo_malloc_tx_ll
+	setarg param_le_features
+	istore 8,contw
+	rtn
+
+
+le_parse_version_ind:
+	rtn master
+le_send_version_ind:
+	arg 6,rega
+	arg LL_VERSION_IND,regb
+	call le_fifo_malloc_tx_ll
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	rtn
+
+
+le_parse_ping_req:
+	arg LL_PING_RSP,regb
+	branch le_send_ll_one_lenth
+
+//regb:ll opcode
+le_send_ll_one_lenth:
+	arg 1,rega
+	branch le_fifo_malloc_tx_ll
+
+	
+le_parse_enc_req:
+	ifetch 8,contr
+	store 8,mem_le_rand
+	ifetch 2,contr
+	store 2,mem_le_ediv
+	ifetch 8,contr
+	store 8,mem_le_skdm
+	ifetch 4,contr
+	store 4,mem_le_ivm
+	call le_send_enc_rsp
+	bpatchx patch2f_2,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_parse_enc_req_after_auth
+	fetch 1,mem_le_configuration
+	bbit1  BIT_BLE_PAIRING_FIXED_LTK,le_parse_enc_req_fixed_ltk
+	fetch 1,mem_nv_data_number
+	ncall load_device_list_mode_4,blank
+	fetch 1,mem_ltk_exists
+	beq 0,le_ltk_lost
+le_parse_enc_req_after_auth:
+	jam FLAG_LE_RCV_ENC_START,mem_le_enc_state
+	call  le_send_start_enc_req
+	branch generate_sk
+
+le_parse_enc_req_fixed_ltk:
+	jam 1,mem_ltk_exists
+	arg mem_le_fixed_ltk,contr
+	arg mem_le_ltk,contw
+	call memcpy16
+	branch le_parse_enc_req_after_auth
+
+
+le_ltk_lost:
+	bpatchx patch2f_3,mem_patch2f
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_ENC_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_LTK_LOST,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_send_reject_ind:
+	arg 2,rega
+	arg LL_REJECT_IND,regb
+	call le_fifo_malloc_tx_ll
+	setarg LE_ERR_PIN_OR_KEY_MISSING
+	istore 1,contw
+	rtn		
+	
+le_send_enc_rsp:
+	arg mem_le_skds,contw
+	force 8,loopcnt
+	call generate_random_loop
+	arg mem_le_ivs,contw
+	force 4,loopcnt
+	call generate_random_loop
+	arg 13,rega
+	arg LL_ENC_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 8,mem_le_skds
+	istore 8,contw
+	fetch 4,mem_le_ivs
+	istore 4,contw
+	rtn
+
+le_send_start_enc_req:
+	arg LL_START_ENC_REQ,regb
+	branch le_send_ll_one_lenth
+
+le_send_start_enc_rsp:
+	arg LL_START_ENC_RSP,regb
+	branch le_send_ll_one_lenth
+	
+	
+le_parse_enc_rsp:
+	ifetch 8,contr
+	store 8,mem_le_skds
+	ifetch 4,contr
+	store 4,mem_le_ivs
+	branch generate_sk
+	
+le_parse_start_enc_req:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+	
+le_parse_start_enc_rsp:
+	rtn master
+	jam BT_EVT_LE_START_ENC,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_SEND_START_ENC_RSP,mem_le_enc_state
+	branch le_send_start_enc_rsp
+	
+le_parse_pause_enc_req:
+	jam FLAG_LE_ENC_PAUSE,mem_le_enc_state
+	call le_send_pause_enc_rsp	
+	jam BT_EVT_LE_PAUSE_ENC,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+le_send_pause_enc_rsp:
+	arg LL_PAUSE_ENC_RSP,regb
+	branch le_send_ll_one_lenth	
+			
+
+le_parse_feature_rsp:
+le_parse_unknown_rsp:
+le_parse_pause_enc_rsp:
+le_parse_reject_ind:
+le_parse_ping_rsp:
+	rtn
+
+
+	
+/******************************************/
+/*************   LMP Parse   **************/
+/******************************************/
+init_lmp:
+	rtn wake
+init_lmp_work:
+	bpatchx patch2f_4,mem_patch2f
+	setarg 0
+	store 1,mem_lmp_to_send
+	store 1,mem_conn_sm
+	store 1,mem_lmo_opcode1
+	store 1,mem_lmo_opcode2
+	store 1,mem_esco_addr
+	store 1,mem_auth_enable
+	store 1,mem_connection_options
+	store 1,mem_pairing_auth
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam 0,mem_switch_fail_master_count
+	jam NULL_ENCRYP,mem_wait_encryption
+init_lmp_reinit:	
+	jam 0,mem_pairing_auth
+	jam 0,mem_sp_localsm
+	jam 0,mem_lmp_conn_state
+	//fall through
+parse_rx_done:
+	rtn
+
+parse_lmp:
+	bpatchx patch2f_5,mem_patch2f
+	call setlocalsm_master,master	//use this flag in hci
+	ncall setlocalsm_slave,master
+	call lmo_fifo_check
+	nrtn blank
+	fetch 1,mem_state_map
+	rtnbit0 smap_rxlmp
+	set0 smap_rxlmp,pdata
+	set0 mark_rxbuf_inuse,mark
+	store 1,mem_state_map
+	fetch 1,mem_rxbuf
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptidinit,pdata
+	setflag true,smap_lmptid,temp
+	storet 1,mem_state_map
+	and_into 0x2,temp //smap_lmptid only
+	storet 1,mem_lmo_tid2
+	fetcht 1,mem_state_map
+	rshift pdata,pdata			/* align lmp_opcode */
+  	store 1,mem_lmi_opcode2
+	bpatchx patch2f_6,mem_patch2f
+  	fetch 1,mem_lmi_opcode2
+  	beq LMP_ESCAPE,parse_lmp_escape//multi
+  	beq LMP_ACCEPTED,parse_lmp_accepted//multi
+	beq LMP_NOT_ACCEPTED,parse_lmp_not_accepted//multi
+  	beq LMP_SET_AFH, parse_lmp_set_afh
+  	beq LMP_CLKOFFSET_REQ, parse_lmp_clkoffset_req
+ 	beq LMP_ENCRYPTION_MODE_REQ, parse_lmp_encryption_mode_req
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_crypt_key
+	beq LMP_AUTO_RATE,parse_lmp_auto_rate
+	beq LMP_TEST_CONTROL,parse_lmp_test_control//multi
+	beq LMP_TEST_ACTIVATE,parse_lmp_test_activate
+	beq LMP_SETUP_COMPLETE,parse_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,parse_lmp_supervision_timeout
+	beq LMP_FEATURES_REQ,parse_lmp_features_req
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_conn_req
+	beq LMP_VERSION_REQ,parse_lmp_version_req
+	beq LMP_VERSION_RES,parse_lmp_version_res
+	beq LMP_DETACH,parse_lmp_detach
+	beq LMP_MAX_SLOT,parse_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ,parse_lmp_max_slot_req
+	beq LMP_NAME_REQ,parse_lmp_name_req
+	beq LMP_NAME_RES,parse_lmp_name_res
+	beq LMP_FEATURES_RES,parse_lmp_features_res
+	beq LMP_COMB_KEY,parse_lmp_comb_key
+	beq LMP_AU_RAND, parse_lmp_au_rand
+	beq LMP_IN_RAND,parse_lmp_in_rand
+	beq LMP_SRES,parse_lmp_sres
+	beq LMP_INCR_POWER_REQ,parse_lmp_incr_power
+	beq LMP_DECR_POWER_REQ,parse_lmp_decr_power
+	beq LMP_MAX_POWER, parse_lmp_max_power
+	beq LMP_MIN_POWER, parse_lmp_min_power
+	beq LMP_PAGE_MODE_REQ, parse_lmp_page_mode_req
+	beq LMP_PAGE_SCAN_MODE_REQ, parse_lmp_page_scan_mode_req
+	beq LMP_PREFERRED_RATE, parse_lmp_preferred_rate
+	beq LMP_SLOT_OFFSET, parse_lmp_slot_offset
+	beq LMP_SNIFF_REQ, parse_lmp_sniff_req
+	beq LMP_START_ENCRYPTION_REQ, parse_lmp_start_encryption_req
+	beq LMP_STOP_ENCRYPTION_REQ, parse_lmp_stop_encryption_req
+	beq LMP_SWITCH_REQ, parse_lmp_switch_req
+	beq LMP_TEMP_RAND, parse_lmp_temp_rand
+	beq LMP_TEMP_KEY, parse_lmp_temp_key
+	beq LMP_TIMING_ACCURACY_REQ, parse_lmp_timing_accuracy_req
+	beq LMP_TIMING_ACCURACY_RES, parse_lmp_timing_accuracy_res
+	beq LMP_UNIT_KEY, parse_lmp_unit_key
+	beq LMP_UNSNIFF_REQ, parse_lmp_unsniff_req
+	beq LMP_USE_SEMI_PERMANENT_KEY, parse_lmp_use_semi_permanend_key
+	beq  LMP_ENCAPSULATED_HEADER,parse_lmp_encapsulated_header
+	beq  LMP_ENCAPSULATED_PAYLOAD,parse_lmp_encapsulated_payload
+	beq	LMP_SIMPLE_PAIRING_CONFIRM,parse_simple_pairing_confirm
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_simple_pairing_number
+	beq  LMP_DHKEY_CHECK,parse_dhkey_check
+	beq LMP_CLKOFFSET_RES, parse_lmp_clkoffset_res
+	beq LMP_ENC_KEY_SIZE_MASK_REQ,parse_enc_key_size_mask_req
+/* lmp is not recognized, check to see if we respond to all messages */ 
+/* rejecting the unrecognized message with PDU not recognized */
+reject_unknown_packet:
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+reject_lmp_packet:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_clkoffset_req:
+	jam LMP_CLKOFFSET_RES,mem_lmo_opcode2
+	rtn	
+
+parse_enc_key_size_mask_req:
+	jam LMP_ENC_KEY_SIZE_MASK_RES,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_set_afh:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	store 4,mem_afh_instant
+	fetch 1,mem_rxbuf+5
+	store 1,mem_afh_new_mod
+	fetch 5,mem_rxbuf+6
+	store 5,mem_afh_map_new
+	fetch 5,mem_rxbuf+11
+	istore 5,contw
+	fetch 1,mem_mode
+	set1 afh_change,pdata
+	store 1,mem_mode
+	rtn
+parse_lmp_escape:
+	bpatchx patch2f_7,mem_patch2f
+	fetch 1,mem_rxbuf+1
+	set1 7,pdata
+	store 1,mem_lmi_opcode2
+	beq LMP_EXT_ACCEPTED,parse_lmpext_accepted
+	beq LMP_NOT_ACCEPTED_EXT,parse_lmpext_not_accepted
+	beq LMP_SNIFF_SUBRATING_REQ, parse_lmp_sniff_subrating_req
+	beq LMP_SNIFF_SUBRATING_RES, parse_lmp_sniff_subrating_res
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_packet_type_table_req
+	beq LMP_EXT_FEATURES_REQ,parse_lmpext_features_req
+	beq LMP_EXT_FEATURES_RES,parse_lmpext_features_res
+	beq LMP_EXT_CHN_CLASSIFICATION_REQ,parse_lmpext_chn_classification_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,parse_lmpext_pause_encrypt
+	beq LMP_RESUME_ENCRYPTION_REQ,parse_lmpext_resume_encrypt
+	beq LMP_IO_CAP_REQ,parse_lmpext_iocap_req
+	beq LMP_IO_CAP_RES,parse_lmpext_iocap_res
+	rtneq LMP_EXT_FEATURES_RES
+
+
+reject_unknown_ext_packet:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+	
+	rtn
+parse_lmpext_chn_classification_req:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam NOT_SUPPORT_CHN_CLASSIFICATION,mem_lmo_reason2
+	rtn
+	
+parse_lmpext_iocap_req:
+	call iocap_lmpext_load
+	jam LMP_IO_CAP_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_iocap_res:
+	call iocap_lmpext_load
+	branch iocap_lmpext_common
+	
+iocap_lmpext_load:
+	arg      mem_sp_iocap_remote,contw
+	fetch 3, mem_rxbuf+2
+	istore    3,contw
+	rtn
+	
+iocap_lmpext_common:
+	branch master_set_mem_master_sp_flag,true//is un very ok to use master flag,but we have to add many codes if wo don't
+	rtn
+parse_lmpext_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_accepted_ptt
+	rtn
+
+	
+parse_lmpext_not_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_not_accepted_ptt
+	rtn
+
+parse_lmpext_accepted_ptt:
+	fetch 1,mem_ptt
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_edr,temp
+	storet 1,mem_state_map
+parse_lmpext_not_accepted_ptt:
+	fetch 1,mem_state
+	rtnbit0 state_init_seq
+	set0 state_init_seq,pdata
+	store 1,mem_state
+	fetch 1,mem_auth_enable
+	nrtn blank
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_pause_encrypt:
+	nbranch parse_lmpext_pause_encrypt_slave, master
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	branch tid_reply
+
+parse_lmpext_pause_encrypt_slave:	
+	jam LMP_PAUSE_ENCRYPTION_REQ, mem_lmo_opcode2
+	rtn
+
+parse_lmpext_resume_encrypt:
+//trans file to pc may cause pause/resume encrypt
+//if ms is conn_sm_wait_end the controllor won't send ack after recieved start_encypt_accept
+	call tid_reply
+	branch lmp_start_encryption
+
+parse_lmpext_features_req:
+	jam LMP_EXT_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_features_res:
+	fetcht 1,mem_rxbuf+4
+	and temp,0x1,temp
+	storet 1,mem_remote_sppcap
+	fetch 1,mem_hci_cmd
+	bne hci_cmd_wait_remote_ext_feature,parse_lmpext_features_res_not_hci
+	jam 0,mem_hci_cmd
+parse_lmpext_features_res_not_hci:
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_EXT
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	branch process_conn_sm
+
+parse_lmp_accepted:
+	bpatchx patch30_0,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_accepted_hostconn//ok
+	beq LMP_IN_RAND,parse_lmp_accepted_inrand//ok
+	beq LMP_ENCRYPTION_MODE_REQ,parse_lmp_accepted_enc_mode//ok
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_accepted_enc_keysize//ok
+	beq LMP_START_ENCRYPTION_REQ,parse_lmp_accepted_start_enc//ok
+	beq LMP_STOP_ENCRYPTION_REQ,parse_lmp_accepted_stop_enc//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_accepted_unsniff_req//ok
+	beq LMP_SNIFF_REQ,parse_lmp_accepted_sniff_req//ok
+	beq LMP_SWITCH_REQ,parse_lmp_accepted_switch
+	// simple pairing 
+	beq LMP_ENCAPSULATED_HEADER,parse_lmp_accepted_encapsulated_header//ok
+	beq LMP_ENCAPSULATED_PAYLOAD,parse_lmp_accepted_encapsulated_payload//ok
+	beq LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_accepted_simple_pairing_number//ok
+	beq LMP_DHKEY_CHECK,parse_lmp_accepted_dhkey_check//ok
+	rtn
+	
+parse_lmp_not_accepted:
+	bpatchx patch30_1,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_NAME_REQ,parse_lmp_not_accepted_name_req//ok
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_not_accepted_hostconn//ok
+	beq LMP_AU_RAND,parse_lmp_not_accepted_aurand//ok
+	beq LMP_IN_RAND,parse_lmp_not_accepted_inrand//ok
+	beq LMP_SWITCH_REQ,parse_lmp_not_accepted_switch//ok
+	/* simple pairing support */
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_not_accepted_simple_pairing_number//ok
+	beq  LMP_DHKEY_CHECK,parse_lmp_not_accepted_dhkey_check//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_not_accepted_unsniff_req
+	beq LMP_SNIFF_REQ,parse_lmp_not_acdcept_sniff_req
+	rtn
+
+parse_lmp_accepted_switch:
+	jam BT_EVT_SWITCH_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch role_switch_prepare0
+parse_lmp_not_accepted_switch:
+	jam BT_EVT_SWITCH_NOT_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	jam SWITCH_FLAG_NOT_ACCEPT,mem_switch_flag
+	setarg TIMER_SWITCH_WAITE
+	arg switch_wait_timer,queue
+	branch timer_init
+
+
+parse_lmp_accepted_hostconn:
+	//fetch 1,mem_state
+	//rtnbit0 state_init_seq
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//nbranch parse_lmp_accepted_hostconn_ctn,master
+parse_lmp_accepted_hostconn_ctn:
+	/* checking to see if we requested host connection */
+	fetch 1,mem_conn_sm
+	bne CONN_SM_WAIT_CONN_ACCEPT, parse_rx_done
+	//branch parse_lmp_accepted_hostconn_master,master
+	/* continuing on with host connection state machine */
+	jam CONN_SM_AUTH_PAIR,mem_conn_sm
+	rtn
+	//branch host_create_conn_auth_pair
+
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+//parse_lmp_accepted_hostconn_master:
+	//jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+//	rtn
+
+parse_lmp_not_accepted_hostconn:
+	jam ACL_CONNECTION_ALREADY_EXISTS,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	/* clearing connection state machine */
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	branch parse_rx_done,true
+	rtn
+
+parse_lmp_accepted_inrand:
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	call clear_linkkey
+	call  lmp_generate_key
+	rtn master
+	set1 mark_slave_in_rand_accepted,mark
+	rtn
+
+parse_lmp_accepted_enc_mode:
+	nrtn master
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	fetch 1,mem_state_map
+	rtnbit0 smap_encryption
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+
+parse_lmp_accepted_enc_keysize:
+	branch lmp_start_encryption
+	
+parse_lmp_accepted_start_enc:
+	call send_create_conn_start_l2cap_timer_sm
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_ENCRYPT_WAIT
+	jam CONN_SM_ENCRYPT_WAIT_CLEAR,mem_conn_sm
+	rtn
+	
+parse_lmp_accepted_stop_enc:
+	/* again this won't work with multipoint. keep track of anyone else encrypting */
+	//jam HOST_STOP_ENCRYPTION,message_queue_B0
+	//jam 1,message_queue_B1
+	//jam HOST_RETURN_SUCCESS,message_queue_B2
+	//fetch 1,mem_lmp_state2
+	//set1 MESSAGE_QUEUE,pdata
+	//store 1,mem_lmp_state2
+	rtn
+
+parse_lmp_not_accepted_aurand:	
+parse_lmp_not_accepted_aurand_send_detach:	
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+/*in pair remote cancel the pair*/
+parse_lmp_not_accepted_inrand:
+	fetch 1,mem_rxbuf+2
+	beq KEY_MISSING,parse_lmp_inrand_key_missing
+	rtnne PAIRING_NOT_ALLOWED
+	jam PAIRING_NOT_ALLOWED,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn	
+parse_lmp_inrand_key_missing:
+	jam KEY_MISSING,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_not_accepted_name_req:
+	rtn
+	
+parse_lmp_not_accepted_simple_pairing_number:
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+	
+parse_lmp_not_accepted_dhkey_check:
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+parse_lmp_not_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_accepted_sniff_req:
+	jam BT_EVT_SNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	setarg 0
+	store 2,mem_dsniff
+	fetch 2,mem_sniff_param_interval
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 1,mem_sniff_param_attempt
+	store 1,mem_sniff_attempt
+	fetch 1,mem_sniff_param_timeout
+	store 1,mem_sniff_timeout
+	branch sniff_init
+	
+parse_lmp_not_acdcept_sniff_req:
+	jam BT_EVT_SNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	storet 1,mem_key_size
+	branch accept_lmp_msg
+	
+parse_lmp_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	rtnbit1 SENT_SETUP_COMPLETE
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	branch parse_rx_done
+	
+parse_lmp_max_slot:
+	//jam LMP_MAX_SLOT,mem_lmi_opcode2
+	//branch accept_lmp_msg
+	rtn
+	
+parse_lmp_max_slot_req:
+	fetch 1,mem_max_slot
+	fetcht 1,mem_rxbuf+1
+	isub temp,null
+	//jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg,positive
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam UNSPECIFIED_ERROR,mem_lmo_reason2
+	jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	rtn
+	
+parse_lmp_detach:
+	call prepare_disconnect
+	branch accept_lmp_msg
+	
+accept_lmp_msg:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_incr_power:
+	jam LMP_MAX_POWER,mem_lmo_opcode2
+	rtn
+
+parse_lmp_decr_power:
+	jam LMP_MIN_POWER,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_version_res:
+	fetch 1,mem_conn_sm
+	rtneq CONN_SM_WAIT_VERSION
+	/* continuing on with host connection state machine */
+	jam CONN_SM_SEND_FEATURES ,mem_conn_sm
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+	rtn
+
+
+parse_lmp_auto_rate:
+	rtn	
+
+parse_lmp_in_rand:
+	call lmp_copy_rand
+	jam pincode_state_wait_pincode,mem_pincode_state
+	jam BT_EVT_PINCODE_REQ,mem_fifo_temp
+	call ui_ipc_send_event
+
+	call tid_check
+	nbranch lmp_accept_inrand,true
+	//fetch 1,mem_auth_enable
+	nbranch parse_lmp_inrand_res,master // ignore this because of not ssp temporary
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	jam TRANSACTION_COLLISION,mem_lmo_reason2
+	rtn
+parse_lmp_inrand_res:
+	fetch 1,mem_op
+	set1 op_inrand_req,pdata
+	store 1,mem_op
+	rtn
+
+//store current tid
+pop_tid_follow:
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_lmptid,temp
+	storet 1,mem_state_map
+	rtn
+	
+//restore current tid
+push_tid_follow:
+	fetch 1,mem_lmo_tid2
+	rshift pdata,pdata
+	and_into 1,pdata
+	rtn
+
+parse_lmp_au_rand_moudle:
+	fetch 1,mem_nv_data_number
+	rtn blank
+	fetch 1,mem_pairing_auth
+	call load_device_list,blank
+	rtn	
+
+parse_lmp_au_rand:
+	call parse_lmp_au_rand_moudle
+	call push_tid_follow
+	store 1,mem_sres_tid
+	call lmp_copy_rand
+	jam LMP_SRES,mem_lmo_opcode2
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	fetch 1,mem_state
+	rtnbit1 state_combkey		/* we have comb key, but not verified */
+	jam KEY_MISSING,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_sres:	
+	arg mem_plap,rega
+	call function_e1
+	fetch 4,mem_rxbuf+1
+	fetcht 4,mem_input_store
+	isub temp,null
+	branch authentication_ok,zero
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam AUTHENTICATION_FAILURE_ERROR,mem_disconn_reason_send	
+	rtn
+authentication_ok:
+	call authentication_ok_common
+	fetch 1,mem_ssp_enable
+	branch  pairing_success,blank
+	rtn
+
+	
+authentication_ok_common:
+	call copy_aco
+	call linkkey_ready///save link key
+	fetch 1,mem_op
+	isolate1 op_auth_req,pdata
+	set0 op_auth_req,pdata
+	store 1,mem_op
+	fetch 1,mem_conn_sm
+	beq CONN_SM_AUTH_WAIT,authentication_ok_conn_sm
+	beq CONN_SM_PAIRING_WAIT,authentication_ok_conn_sm
+	rtn
+authentication_ok_conn_sm:
+	fetch 1,mem_pairing_auth
+	rtnne DEFALT_PAIRING_AUTH
+	fetch 1,mem_state_map
+	rtnbit1 smap_encryption
+	branch host_create_conn_encrypt
+
+parse_lmp_comb_key:
+	arg mem_rxbuf+1,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg mem_plap,rega
+	call generate_linkkey
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	fetch 1,mem_state
+	bbit0 state_combkey,lmp_generate_key
+	rtn
+	
+parse_lmp_name_res:
+	fetch 2,mem_len
+	add pdata,-3,loopcnt	//for remote name length error
+	fetcht 1,mem_rxbuf+1
+	setarg mem_tmp_buffer
+	iadd temp,contw
+	arg mem_rxbuf+3,contr
+	call memcpy
+	fetcht 1,mem_name_offset
+	fetch 1,mem_rxbuf+2
+	isub temp,pdata
+	sub pdata,14,null
+	branch parse_lmp_name_res_end,positive
+	add temp,14,pdata
+	store 1,mem_name_offset
+	jam LMP_NAME_REQ,mem_lmo_opcode2
+	rtn
+parse_lmp_name_res_end:
+	fetch 1,mem_state_map
+	set1 smap_name_res,pdata
+	store 1,mem_state_map
+	bbit1 smap_name_req,lmp_disconnect
+	rtn
+parse_lmp_name_req:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_opcode2 //offset 
+	jam LMP_NAME_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_conn_req:
+	branch accept_lmp_msg
+
+parse_lmp_timing_accuracy_req:
+	jam LMP_TIMING_ACCURACY_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_features_req:
+	jam LMP_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_version_req:
+	jam LMP_VERSION_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_supervision_timeout:
+//	fetch 2,mem_rxbuf+1
+//	store 2,mem_supervision_to
+	rtn
+	
+
+
+parse_lmp_sniff_subrating_req:
+	fetch 2,mem_tsniff
+	iforce temp
+	fetch 1,mem_rxbuf+2
+	store 1,mem_subsniff_rate
+	imul32 temp,temp
+	fetch 2,mem_rxbuf+3
+	lshift pdata,pdata
+	store 2,mem_subsniff_tcmax
+	fetch 4,mem_rxbuf+5
+	lshift pdata,pdata
+ 	store 4,mem_subsniff_instant
+	//product pdata
+	deposit temp
+	store 2,mem_subsniff_tsniff
+	rtn
+parse_lmpext_packet_type_table_req:
+	fetcht 1,mem_ptt
+	fetch 1,mem_rxbuf+2
+	ixor temp,null
+	nbranch reject_unknown_ext_packet,zero
+	isolate1 0,pdata
+	fetch 1,mem_state_map
+	setflag true,smap_edr,pdata
+	store 1,mem_state_map
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmi_opcode2
+	rtn
+
+	
+parse_lmp_sniff_subrating_res:
+parse_lmp_preferred_rate:
+parse_lmp_max_power:
+parse_lmp_min_power:
+	rtn
+parse_lmp_page_mode_req:
+	//jam LMP_PAGE_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+parse_lmp_page_scan_mode_req:
+	//this can influence connection. need accepted
+	//jam LMP_PAGE_SCAN_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+
+
+	
+parse_lmp_slot_offset:
+	fetch 2,mem_rxbuf+1
+	store 2,mem_slot_offset
+	rtn
+
+parse_lmp_sniff_req_check_sniff_para:
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	fetcht 1,mem_lpm_mult
+	imul32 temp,pdata
+	arg 0x640,temp
+	isub temp,null
+//	branch lmp_reject_sniff,positive
+	rtn
+	
+parse_lmp_sniff_req:
+	fetch 2,mem_rxbuf+6
+	branch lmp_reject_sniff,blank
+	call parse_lmp_sniff_req_check_sniff_para
+	branch lmp_reject_sniff,positive
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call module_set_lpm_mult_2,zero
+	fetch 1,mem_state
+	bbit1 state_insniff,lmp_reject_sniff
+	fetch 2,mem_rxbuf+2 /* dsniff */
+	lshift pdata,pdata
+	store 2,mem_dsniff	
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 2,mem_rxbuf+6 /* sniff attempt */
+	store 1,mem_sniff_attempt
+	iforce temp
+	fetch 2,mem_rxbuf+8 /* sniff timeout */
+	store 1,mem_sniff_timeout
+	isub temp,null
+	nbranch set_big_value_to_attempt,positive
+	store 1,mem_sniff_attempt
+set_big_value_to_attempt:	
+	//call sniff_init
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SNIFF_REQ,mem_lmi_opcode2
+	rtn
+
+lmp_reject_sniff:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_start_encryption_req:
+	call accept_lmp_msg
+	call lmp_copy_rand
+	call function_e3
+	branch start_encryption
+	
+parse_lmp_stop_encryption_req:
+	call accept_lmp_msg
+	branch stop_encryption
+	
+
+parse_lmp_switch_req:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	//branch parse_lmp_switch_req_not_accept
+	branch parse_lmp_switch_accept,master
+	fetcht 1,mem_link_key_exists
+	nbranch parse_lmp_switch_req_clear_mark,blank
+parse_lmp_switch_req_not_accept:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	rtn
+parse_lmp_switch_req_clear_mark:
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	jam 0,mem_conn_sm
+	branch role_switch_prepare
+
+parse_lmp_switch_accept:
+	call role_switch_prepare
+	set1 mark_reconn_recieve_switch,mark
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	branch accept_lmp_msg
+
+	
+
+parse_lmp_temp_rand:
+parse_lmp_temp_key:
+parse_lmp_timing_accuracy_res:	
+parse_lmp_unit_key:	
+parse_lmp_use_semi_permanend_key:
+	rtn
+
+	
+parse_lmp_unsniff_req:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_UNSNIFF_REQ,mem_lmi_opcode2
+	jam BT_EVT_REMOTE_UNSNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_encapsulated_header:
+	fetch 1,mem_rxbuf+1
+	bne ENCAPSULATED_MAJOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+2
+	bne ENCAPSULATED_MINOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+3
+	bne ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_header_reject
+	call check_localsm
+	branch parse_lmp_encapsulated_header_master,true
+	jam SP_STAT_KEY_RECV,mem_sp_state
+parse_lmp_encapsulated_header_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_ENCAPSULATED_HEADER,mem_lmi_opcode2
+	branch parse_rx_done
+	
+parse_lmp_encapsulated_header_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet
+	
+parse_lmp_accepted_encapsulated_header:
+	//jam LMP_ENCAPSULATED_PAYLOAD,mem_lmi_opcode2
+	//branch   accept_lmp_msg  	
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+      //   branch   accept_lmp_msg  	
+         rtn
+parse_lmp_accepted_simple_pairing_number:
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,parse_lmp_accepted_simple_pairing_number_ssp_pin
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_accepted_simple_pairing_number_passkey
+parse_lmp_accepted_simple_pairing_number_common:
+	call check_localsm
+	rtn true
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+	call g_noninit_number_confirm
+	jam BT_EVT_BT_GKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch parse_lmp_accepted_simple_pairing_number_common
+
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+	call check_localsm
+	rtn true
+	fetch 1,mem_authentication_passkey_times
+	beq 19,authentication_passkey_end
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+//	branch p_authentication_passkey
+
+authentication_passkey:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	fetch 6,mem_pin
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	rtn
+
+authentication_passkey_end:	
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_dhkey_check:
+	call parse_lmp_accepted_dhkey_check_common
+pairing_success:
+	fetch 1,mem_flag_pairing_state
+	rtn blank
+	jam FLAG_PAIRING_STATE_NOT_PAIRING,mem_flag_pairing_state
+	jam BT_EVT_BT_PAIRING_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_accepted_dhkey_check_common:
+	//here must be change***  shyd
+	call check_localsm
+	ncall g_noninit,true	//when be master  call g_init
+	call g_init,true
+	call check_localsm
+	rtn true
+	jam SP_STAT_LINK_KEY_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+
+parse_simple_pairing_confirm:
+	arg mem_sp_confirm_remote,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	fetch 1,mem_ssp_mode_flag
+	rtneq  SSP_MODE_PASSKEY_ENTRY_FLAG
+	branch master_set_mem_master_sp_flag
+	
+parse_lmp_encapsulated_payload:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_encapsulated_payload_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_KEY_RECV,parse_lmp_encapsulated_payload_reject
+parse_encapsulated_payload_master:
+	fetch    1,mem_sp_remote_key_recv_count
+	sub      pdata,0x20,contw
+	nbranch  parse_lmp_encapsulated_payload_reject,positive
+	arg      mem_sp_pubkey_remote,contw
+	iadd     contw,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	fetch    1,mem_sp_remote_key_recv_count
+	increase 16,pdata
+	store    1,mem_sp_remote_key_recv_count
+	bne ENCAPSULATED_LEN_P192,accept_lmp_msg
+parse_lmp_encapsulated_payload_completed:
+	call check_localsm
+	branch accept_lmp_msg,true
+	jam      SP_KEY_VALID,mem_sp_remote_key_invalid
+	jam      SP_STAT_KEY_GENERATE,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag  
+	branch   accept_lmp_msg
+parse_lmp_encapsulated_payload_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet	
+parse_lmp_accepted_encapsulated_payload: 
+	fetch 1,mem_sp_local_key_send_count
+	beq	ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_payload_all_accepted
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+	branch   parse_rx_done 
+	
+parse_lmp_encapsulated_payload_all_accepted:   
+	call check_localsm
+	branch parse_lmp_encapsulated_payload_all_accepted_master,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_encapsulated_payload_all_accepted_get_passkey
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	branch   parse_rx_done
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+	jam BT_EVT_BT_GET_PASSKEY,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+	//call sp_master_generate_local_key
+	branch   parse_rx_done   
+
+parse_lmp_simple_pairing_number:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_lmp_simple_pairing_number_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_RANDOM_RECV,parse_lmp_simple_pairing_number_reject
+parse_lmp_simple_pairing_number_master:
+	arg      mem_sp_random_remote,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	call check_localsm
+	branch parse_lmp_simple_pairing_number_master0,true
+	jam      SP_STAT_RANDOM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_master0:
+	jam SP_STAT_COMMIT_CALC,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+	//jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	//branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+	
+parse_dhkey_check:
+	fetch    1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_SEND,parse_dhkey_check_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_CONFIRM_RECV,parse_lmp_dhkey_check_reject
+parse_dhkey_check_master:
+	arg      mem_sp_check_result,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	call check_localsm
+	branch parse_dhkey_check_master0,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,number_comparison_mode
+number_comparison_successed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam SP_STAT_CONFIRM_CHECK,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch   parse_rx_done
+	
+parse_dhkey_check_master0:
+	jam      SP_STAT_CONFIRM_CHECK,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	branch   parse_rx_done
+parse_lmp_dhkey_check_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+number_comparison_mode:
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,comparison_result
+	set1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,pdata
+	store 1,mem_flag_mode_ssp_pin
+	rtn
+	
+comparison_result:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	jam 0,mem_flag_mode_ssp_pin
+	branch parse_lmp_dhkey_check_reject
+
+	
+parse_lmp_clkoffset_res:
+	branch parse_rx_done
+		
+parse_lmp_encryption_mode_req:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT
+	store 1,mem_connection_options
+	call accept_lmp_msg
+	nrtn master					/* do sth only if we're master */
+	fetch 1,mem_rxbuf+1
+	fetcht 1,mem_op
+	setflag blank,op_stop_enc,temp
+	nsetflag blank,op_start_enc,temp
+	storet 1,mem_op
+	rtn 
+	
+parse_lmp_features_res:
+	fetcht 8,mem_rxbuf+1		/*fix bcp(baoshijie) err*/
+parse_lmp_features_res_not_hci:	
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_RES
+
+	fetch 1,mem_connection_options
+	bbit0 CONNECTION_FEATURE_EXT,parse_lmp_send_conn
+
+	jam CONN_SM_SEND_FEATURES_EXT,mem_conn_sm
+	rtn
+parse_lmp_send_conn:
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	rtn
+parse_lmp_test_activate:
+	fetch 1,mem_debug_config
+	store 1,mem_test_mode_old_debug_config
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_ACTIVATE,mem_lmi_opcode2
+	rtn
+parse_lmp_test_control:
+	/* the 9 test control parameters are XORed with 0x55 */
+	/* doing the XOR here and storing in mem_temp_payload */
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_CONTROL,mem_lmi_opcode2
+	force 9,loopcnt
+	arg mem_rxbuf+1,contr
+	arg mem_temp_payload,contw
+parse_lmp_test_xor:
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop parse_lmp_test_xor
+	fetch 1,test_mode_scenario
+	fetcht 1,mem_tester_emulate
+	set0 tester_no_whitening,temp
+	set0 tester_pattern_test,temp
+	beq EXIT_TEST_MODE,	 parse_lmp_test_control_exit
+	beq PAUSE_TEST_MODE,	 parse_lmp_test_control_pause
+	beq CLOSED_LOOP_BACK_ACL,	 parse_lmp_test_control_loopback
+	beq ACL_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq CLOSED_LOOP_BACK_SCO,	 parse_lmp_test_control_loopback
+	beq SCO_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq ZERO_PATTERN,	 parse_lmp_test_control_pattern
+	beq ONE_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT2_PATTERN,	 parse_lmp_test_control_pattern
+	beq PSEUDORANDOM,	 parse_lmp_test_control_pattern
+	rtn
+parse_lmp_test_control_exit:
+	/* restoring old parameters */
+	fetch 1,mem_tester_emulate
+	set1 tester_exit,pdata
+	set1 tester_change,pdata
+	store 1,mem_tester_emulate
+	rtn
+parse_lmp_test_control_pattern:
+	set1 tester_pattern_test,temp
+	jam 5,mem_lch_code
+	fetch 2,test_mode_data_length
+	iforce loopcnt
+	store 2,mem_len
+	arg mem_rxbuf,contw
+	call pn9
+parse_lmp_test_control_loopback_nowhite:
+	set1 tester_no_whitening,temp
+parse_lmp_test_control_loopback:
+	set1 tester_change,temp
+	force 0,pdata
+	store 1,mem_slave_rcvcnt
+	store 2,mem_tst_pktcnt_crc
+	store 2,mem_tst_pktcnt_dmh
+	store 2,mem_tst_pktcnt_hec
+	store 2,mem_tst_pktcnt_sync
+	fetch 1,test_mode_hopping_mode
+	compare FIXED_FREQ,pdata,0xff
+	setflag true,tester_fixed_freq,temp
+	storet 1,mem_tester_emulate
+	rtn
+
+parse_lmp_test_control_pause:
+	set0 mark_testmode,mark
+	jam 0,mem_tester_emulate
+	fetch 1,mem_debug_config
+	set0 debug_tx_pattern,pdata
+	store 1,mem_debug_config
+	rtn
+
+
+	
+	
+
+lmp_copy_rand:	
+	arg mem_rxbuf+1,contr
+	arg mem_random_number,contw
+	branch memcpy16
+
+lmp_generate_key:
+	jam LMP_COMB_KEY,mem_lmo_opcode2
+	rtn
+
+lmp_start_encryption:
+	nrtn master
+	jam LMP_START_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+	
+lmp_accept_inrand:
+	arg mem_lap,rega
+	call generate_kinit
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	rtn
+
+lmp_disconnect:
+	jam 10,mem_conn_timer
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send	
+	rtn
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+	/* enable user if a lmp packet is to send */
+send_lmp:
+	bpatchx patch30_2,mem_patch30
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+/* lmp message to be processed. this will either be because host??? */
+/* wants to send a lmp message or because one resulted from the LMP */
+/* processing section */
+/********* outgoing lmp lookup table *************/
+	bbit1 7,send_lmp_escape
+send_lmp0:
+	beq LMP_NAME_REQ,	 send_lmp_name_req
+	beq LMP_NAME_RES,	 send_lmp_name_res
+	beq LMP_ACCEPTED,	 send_lmp_accepted
+	beq LMP_NOT_ACCEPTED,	 send_lmp_not_accepted
+	beq LMP_FEATURES_REQ,	 send_lmp_features_req
+	beq LMP_FEATURES_RES,	 send_lmp_features_res
+	beq LMP_TIMING_ACCURACY_RES,	 send_lmp_timing_accuracy_res
+	beq LMP_VERSION_REQ,	 send_lmp_version_req
+	beq LMP_VERSION_RES,	 send_lmp_version_res
+	beq LMP_SETUP_COMPLETE,	 send_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,	 send_lmp_superto
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_no_payload
+	beq LMP_IN_RAND,send_lmp_inrand
+	beq LMP_COMB_KEY,send_lmp_comb_key
+	beq LMP_AU_RAND,send_lmp_aurand
+	beq LMP_SRES,send_lmp_sres
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_encryption_mode_req
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_encryption_key_size_req
+	beq LMP_START_ENCRYPTION_REQ,send_lmp_start_encryption
+	beq LMP_DETACH,send_lmp_detach
+	beq LMP_QUALITY_OF_SERVICE_REQ, send_lmp_quality_of_service_req
+	beq LMP_UNIT_KEY,send_lmp_unit_key
+	//Optional (O)
+	beq LMP_INCR_POWER_REQ,send_lmp_inc_power	
+	beq LMP_CLKOFFSET_RES, send_lmp_clkoffset_res	
+	beq LMP_MAX_POWER,send_lmp_nopayload_reply
+	beq LMP_MAX_SLOT, send_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ, send_lmp_max_slot_req
+	beq LMP_MIN_POWER,send_lmp_nopayload_reply
+	beq LMP_SLOT_OFFSET, send_lmp_slot_offset
+	beq LMP_SWITCH_REQ, send_lmp_switch_req
+	beq LMP_SNIFF_REQ, send_lmp_sniff_req
+	beq LMP_STOP_ENCRYPTION_REQ, send_lmp_stop_encryption_req	
+	beq LMP_TIMING_ACCURACY_REQ, send_lmp_timing_accuracy_req
+	beq LMP_UNSNIFF_REQ, send_lmp_unsniff_req
+	beq LMP_ENCAPSULATED_HEADER,send_lmp_encapsulated_header
+	beq LMP_ENCAPSULATED_PAYLOAD,send_lmp_encapsulated_payload
+	beq LMP_SIMPLE_PAIRING_CONFIRM,send_lmp_simple_pairing_comfirm
+	beq LMP_SIMPLE_PAIRING_NUMBER,send_lmp_simple_pairing_number
+	beq LMP_DHKEY_CHECK,send_lmp_dhkey_check
+	beq LMP_AUTO_RATE,send_lmp_auto_rate
+	beq LMP_ENC_KEY_SIZE_MASK_RES,send_lmp_enc_key_size_mask_res
+	//master only must(M)
+	beq LMP_CLKOFFSET_REQ, send_lmp_clkoffset_req
+	beq LMP_QUALITY_OF_SERVICE, send_lmp_quality_of_service
+	beq LMP_TEST_ACTIVATE, send_lmp_test_activate
+	beq LMP_TEST_CONTROL, send_lmp_test_control
+send_lmp_error:
+	branch assert
+	rtn
+send_lmp_escape:
+	beq LMP_EXT_ACCEPTED,send_lmpext_accepted
+	beq LMP_EXT_FEATURES_RES,send_lmpext_features_res
+	beq LMP_NOT_ACCEPTED_EXT,send_lmpext_not_accepted
+	beq LMP_EXT_FEATURES_REQ,send_lmpext_features_req
+	beq LMP_PACKET_TYPE_TABLE_REQ,send_lmpext_packet_type_table_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,send_lmpext_pause_encryption_req
+	beq LMP_IO_CAP_REQ,send_lmp_io_cap_req
+         beq LMP_IO_CAP_RES,send_lmpext_io_cap_res
+         beq LMP_SNIFF_SUBRATING_REQ,send_lmpext_sniff_subrating_req
+         beq LMP_SNIFF_SUBRATING_RES,send_lmpext_sniff_subrating_res
+	branch assert
+
+
+/******** LMP follow messages **********/
+/****** TID follow received packet  *******/
+
+send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	call send_lmp_follow
+	bpatchx patch30_3,mem_patch30
+	fetch 1,mem_lmi_opcode
+	beq LMP_IN_RAND,send_lmp_accepted_inrand
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_accepted_enc_mode
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_accepted_enc_key
+	beq LMP_SNIFF_REQ,send_lmp_accept_sniff_req
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_accepted_connection
+	beq LMP_DHKEY_CHECK,send_lmp_accept_dhkey_check
+	beq LMP_START_ENCRYPTION_REQ,send_create_conn_start_l2cap_timer_sm  
+	rtn	
+	
+send_create_conn_start_l2cap_timer_sm:
+	fetch 1,mem_conn_sm
+	rtn blank
+	jam CONN_SM_WAIT_DONE,mem_conn_sm
+	setarg TIMER_ENPT_WAITE
+	arg enpt_delay_timer,queue
+	branch timer_init
+	
+send_lmp_accept_sniff_req:
+	branch sniff_init
+send_lmp_not_accepted:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	beq LMP_AU_RAND,send_not_accept_aurand
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+
+send_not_accept_aurand:
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	arg mem_sres_tid,temp
+	branch special_tid_store
+
+send_lmpext_accepted:	
+	force 4,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	branch send_lmp_follow
+
+send_lmpext_not_accepted:
+	force 5,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+	
+
+send_lmp_accepted_inrand:
+	call clear_linkkey
+	call tid_check	
+	rtn true
+	branch lmp_generate_key
+
+send_lmp_accepted_enc_mode:
+	fetch 1,mem_op
+	bbit1 op_start_enc,send_lmp_accepted_enc_start
+	rtnbit0 op_stop_enc
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	set0 op_stop_enc,pdata
+	call tid_reply
+	branch send_lmp_accepted_enc_exit
+send_lmp_accepted_enc_start:
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	set0 op_start_enc,pdata
+send_lmp_accepted_enc_exit:
+	store 1,mem_op
+	rtn
+
+send_lmp_accepted_enc_key:
+	call check_localsm
+	branch lmp_start_encryption,true
+	rtn
+
+send_lmp_accepted_connection:
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+send_lmp_accept_dhkey_check:
+	rtn
+/******** LMP reply messages **********/
+/****** TID always set to remote  *******/
+
+send_lmpext_features_res:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_reply
+send_lmpext_io_cap_res:     
+	force 5,queue
+         call send_lmpext
+       	fetch 3,mem_sp_iocap_local
+         istore 3,contw
+	call send_lmp_reply
+	jam FLAG_PAIRING_STATE_PAIRING,mem_flag_pairing_state
+	fetch 1,mem_sp_iocap_local
+	beq DISPLAY_YESNO,responder_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_keyboard_only_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_keyboard_only_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output
+	rtn
+
+
+responder_iocap_display_yesno:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_display_yesno_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_display_yesno_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_display_yesno_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_display_yesno_initiator_iocap_no_input_no_output
+	rtn
+
+	
+responder_iocap_no_input_no_output:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_no_input_no_output_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_no_input_no_output_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+set_ssp_mode_justwork: 
+	jam SSP_MODE_JUST_WORK_FLAG,mem_ssp_mode_flag
+	fetch 1,mem_classic_bt_flag
+	bbit1 FLAG_SSP_REJECT_JUSTWORK,app_bt_disconnect
+	rtn
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+set_ssp_mode_numeric_comparison: 
+	jam SSP_MODE_SSP_PIN_FLAG,mem_ssp_mode_flag
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+responder_iocap_keyboard_only_initiator_iocap_keyboard_only:	
+responder_iocap_keyboard_only_initiator_iocap_display_only:	
+responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+set_ssp_mode_passkey: 
+	jam SSP_MODE_PASSKEY_ENTRY_FLAG,mem_ssp_mode_flag
+	rtn
+
+
+classic_bt_set_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_set_flag
+
+classic_bt_clr_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_clr_flag
+
+classic_bluetooth_set_flag:
+	fetch 1,mem_classic_bt_flag
+	qset1 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+classic_bluetooth_clr_flag:
+	fetch 1,mem_classic_bt_flag
+	qset0 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+         
+send_lmp_io_cap_req:
+	force 5,queue
+	call send_lmpext
+	fetch 3,mem_sp_iocap_local
+	istore 3,contw
+	branch send_lmp_request
+	
+
+send_lmpext_sniff_subrating_req: 
+
+	rtn
+send_lmpext_sniff_subrating_res: 
+         force 9,queue
+         call send_lmpext
+         fetch 1,mem_subsniff_rate
+         istore 1,contw
+         fetch 2,mem_subsniff_tcmax
+         istore 2,contw
+         fetch 4,mem_subsniff_instant
+         istore 4,contw
+	branch send_lmp_reply
+
+send_lmp_name_res:
+	force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode  /* loading name offset */
+	copy pdata,temp
+	beq 0x00,send_lmp_name_res_offset_ok
+	beq 0x0e,send_lmp_name_res_offset_ok
+	beq 0x1c,send_lmp_name_res_offset_ok
+	rtn
+send_lmp_name_res_offset_ok:
+	istore 1,contw	/* writing name offset */
+	fetch 1,mem_local_name_length
+	istore 1,contw	/* writing name length */
+	arg 14,loopcnt
+	setarg mem_local_name
+	iadd temp,contr	/* setting read location */
+	call memcpy
+	branch send_lmp_reply
+
+
+send_lmp_timing_accuracy_res:
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_clkoffset_res:
+	// dopod s505 must wait for this res
+	force 3,pdata
+	call msg_send_lmp
+	fetch 4,mem_clke_bt
+	isub clkn_bt,pdata
+	branch send_lmp_clkoffset_res_master,master
+	sub pdata,0,pdata		/* our role is slave */
+send_lmp_clkoffset_res_master:	
+	// bit 16-2 of clkslave-clkmaster
+	rshift2 pdata,pdata
+	set0 15,pdata
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_version_res:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_reply
+
+send_lmp_features_res:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_reply  
+
+
+/******** LMP request messages **********/
+/****** TID always set to local initiated *******/
+	
+
+send_lmpext_features_req:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_request
+
+send_lmpext_packet_type_table_req:
+	force 3,queue
+	call send_lmpext
+	fetch 1,mem_ptt
+	istore 1,contw
+	disable user
+	call send_lmp_request
+	nrtn user
+	nrtn master
+	fetch 1,mem_afh_cfg
+	rtnbit0 AFH_CFG_ON
+	call afh_init
+	branch afh_open_all_channels
+	
+//default:featrue is enable,extfeature is disable
+ssp_enable:
+	bpatchx patch30_4,mem_patch30
+	fetch 1,mem_features+6
+	set1 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg param_lmpext_ssp_enable
+	store 2,mem_lmpext_ssp_enable
+	rtn
+
+ssp_disable:
+	bpatchx patch30_5,mem_patch30
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0
+	store 2,mem_lmpext_ssp_enable
+	rtn
+	
+afh_init:
+	jam 0x3,mem_afh_cfg
+	setarg 0
+	store 4,mem_afh_timer
+	arg mem_afh_map_lo,contw
+	call afh_reset_map
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	arg mem_afh_classify_channel_map,contw
+	call afh_reset_map
+	branch afh_clear_error_counter
+afh_open_all_channels:
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	call afh_clear_error_counter
+	branch afh_set_send_flag
+
+
+afh_reset_map:
+	setarg 0xffffff
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	setarg 0x7f
+	istore 1,contw
+	rtn
+afh_clear_error_counter:
+	setarg 0
+	store 2,mem_afh_error_total
+	rtn
+afh_set_send_flag:
+	fetch 1,mem_afh_cfg
+	set1 send_lmp_set_afh,pdata
+	store 1,mem_afh_cfg
+	rtn
+
+
+send_lmpext_pause_encryption_req:
+	force 2,queue
+	call send_lmpext
+	nbranch send_lmp_reply,master
+	// assume slave will not send pause req firstly???
+	branch send_lmp_request
+
+
+	
+send_lmp_detach:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+prepare_disconnect:
+	fetch 1,mem_op
+	set1 op_disconn,pdata
+	store 1,mem_op
+	jam 50,mem_conn_timer
+	rtn
+	
+
+send_lmp_no_payload:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_nopayload_reply:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_reply
+	
+	
+send_lmp_encryption_mode_req:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_state_map
+	isolate0 smap_encryption,pdata
+	setflag true,0,pdata
+	and_into 1,pdata
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_superto:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 2,mem_supervision_to
+	istore 2,contw
+	branch send_lmp_request
+
+send_lmp_name_req:
+	jam 250,mem_conn_timer
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_name_offset
+	istore 1,contw
+	branch send_lmp_request
+
+send_lmp_test_control:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_temp_payload,contr
+	force 9,loopcnt
+send_lmp_test_control_loop:	
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop send_lmp_test_control_loop
+	branch send_lmp_request  
+
+send_lmp_quality_of_service_req:
+	branch send_lmp_request
+send_lmp_unit_key:
+	branch send_lmp_request
+
+send_lmp_slot_offset:
+	rtn master
+	call calc_slot_offset
+	force 9,pdata
+	call msg_send_lmp
+	fetch 2,mem_slot_offset
+	istore 2,contw
+	fetch 3,mem_lap
+	istore 3,contw
+	fetch 1,mem_uap
+	istore 1,contw
+	fetch 2,mem_nap
+	istore 2,contw
+	bmark0 mark_switch_initiated,send_lmp_slot_offset_reply
+	set0 mark_switch_initiated,mark
+	call send_lmp_request
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_slot_offset_reply:
+	call send_lmp_reply
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	rtn
+	
+send_lmp_switch_req:
+	arg 0x200,temp
+	branch switch_on_native,master
+	deposit clke_bt
+	branch switch_slack
+switch_on_native:
+	deposit clkn_bt
+switch_slack:
+	deposit bt_clk
+	iadd temp,pdata
+	and_into 0x1fc,pdata
+	store 4,mem_sniff_anchor
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_sniff_anchor		/* reused as switch instant */
+	rshift pdata,pdata
+	istore 4,contw
+	branch send_lmp_request
+	
+send_lmp_sniff_req:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_sniff_payload,contr
+	ifetch 9,contr
+	istore 9,contw
+	branch send_lmp_request
+
+	
+send_lmp_timing_accuracy_req:
+/* default to TID_NORM_SEND */
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_request
+	
+send_lmp_unsniff_req:
+//--------------------need to completa
+	force 1,pdata
+	call msg_send_lmp
+	//fetch 1,mem_unsniff_pending
+	//nbranch send_msg_done,blank
+	//jam 1,mem_unsniff_pending
+	//fetch 2,mem_sniff_attempt
+	//fetch 2,mem_nsniff_attempt
+	//lshift3 pdata,pdata
+	//lshift pdata,pdata
+	//store 1,mem_unsniff_cnt
+	branch send_lmp_request
+
+	
+send_lmp_max_slot:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_max_slot
+	istore 1,contw
+	branch send_lmp_request
+	
+	
+send_lmp_max_slot_req:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x05		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_inc_power:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x00		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_setup_complete_by_module:
+	jam LMP_MAX_SLOT_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_setup_complete:
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call send_lmp_setup_complete_by_module,zero
+	fetch 1,mem_state
+	set1 state_conn_comp,pdata
+	store 1,mem_state
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	fetch 1,mem_lmp_conn_state
+	bbit1 SENT_SETUP_COMPLETE,send_lmp_setup_complete_has_sent
+	set1 SENT_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_SETUP_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_setup_complete_has_sent:
+	jam 0,mem_lmp_to_send
+	rtn
+	
+send_lmp_version_req:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_request
+
+send_lmp_features_req:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_request  
+
+sp_master_send_io_cap_get:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	jam SP_MASTER_STAT_START_DONE,mem_master_sp_state
+	rtn
+
+sp_master_send_io_cap_send:
+	call tid_initiate
+	jam LMP_IO_CAP_REQ,mem_lmo_opcode2
+	jam SP_STAT_KEY_SEND,mem_master_sp_state
+	rtn
+	
+	
+sp_master_send_LMP_ENCAPSULATED_HEADER:
+	call tid_initiate
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	jam SP_STAT_RANDOM_SEND,mem_master_sp_state
+	rtn
+	
+sp_master_commitment_compare:
+	arg mem_sp_calc_result_high,rega
+	arg mem_sp_confirm_remote,regb
+	arg 16,loopcnt
+	call string_compare
+	branch sp_master_commitment_compare_success,zero
+	jam SP_STAT_NULL,mem_master_sp_state
+	call master_clear_mem_master_sp_flag
+	jam   PDU_NOT_ALLOWED,mem_lmo_reason2
+	jam 	LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2 
+	branch reject_lmp_packet
+sp_master_commitment_compare_success:
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+	call master_set_mem_master_sp_flag
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	branch accept_lmp_msg  
+	
+
+	
+sp_master_send_lmp_simple_pairing_number:
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+	
+
+
+sp_send_lmp_encapsulated_header:
+	// calculate the private & public key here
+	//jam      LMP_ENCAPSULATED_HEADER,mem_lmp_to_send
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	//jam      TID_PAIRING,mem_lmp_tid
+	rtn
+	//fetch 1,mem_tid_table
+	//set1 TID_PAIRING,pdata
+	//store 1,mem_tid_table
+     
+    
+send_lmp_encapsulated_header: 
+	jam 0,mem_sp_local_key_send_count
+	force 4,pdata
+	call msg_send_lmp
+	force ENCAPSULATED_MAJOR_TYPE_P192,pdata
+	istore 1,contw
+	force ENCAPSULATED_MINOR_TYPE_P192,pdata
+	istore 1,contw  
+	force ENCAPSULATED_LEN_P192,pdata
+	istore 1,contw 
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+
+send_lmp_encapsulated_payload:
+	//jam      TID_PAIRING,mem_lmp_tid
+	 force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_sp_local_key_send_count
+	arg mem_sp_pubkey_local,contr
+	iadd contr,contr    
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	fetch    1,mem_sp_local_key_send_count
+	increase 16,pdata
+	store    1,mem_sp_local_key_send_count
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+	//branch send_lmp_request
+	
+sp_send_lmp_simple_pairing_comfirm:
+        jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        jam      LMP_SIMPLE_PAIRING_CONFIRM,mem_lmo_opcode2
+        rtn
+send_lmp_simple_pairing_comfirm:
+        //jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        //jam      TID_PAIRING,mem_lmp_tid
+        force    17,pdata
+        call msg_send_lmp   
+        arg      mem_sp_calc_result_high,contr
+        ifetch   8,contr
+        istore   8,contw
+        ifetch   8,contr
+        istore   8,contw 
+        branch send_lmp_reply
+
+sp_send_lmp_simple_pairing_number:
+	jam      LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+
+send_lmp_simple_pairing_number:
+	//jam      TID_PAIRING,mem_lmp_tid
+	call check_localsm
+	call sp_local_random_key_generator,true
+	force    17,pdata
+	call msg_send_lmp
+	arg      mem_sp_random_local,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+master_sp_sm_end:
+	//jam DEFAULT_STATEMACHINE,mem_sp_localsm
+	jam SP_STAT_DONE,mem_master_sp_state
+sp_aurand_send:
+	call tid_initiate
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	call check_localsm_master
+	branch sp_master_key_prarm_push,true
+	branch sp_link_key_prarm_push
+master_sp_send_lmp_dhkey_check:
+	call tid_reply
+sp_send_lmp_dhkey_check: 
+	jam      LMP_DHKEY_CHECK,mem_lmo_opcode2
+	rtn
+send_lmp_dhkey_check: 
+	//jam      TID_PAIRING,mem_lmp_tid
+	force    17,pdata
+	call     msg_send_lmp
+	arg      mem_sp_calc_result_high,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw 
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+send_lmp_enc_key_size_mask_res:
+	force 3,pdata
+	call msg_send_lmp   
+	setarg 0xfffe //enc key size mask
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_auto_rate:
+	branch send_lmp_request
+send_lmp_clkoffset_req:
+	branch send_lmp_request
+send_lmp_quality_of_service:
+	branch send_lmp_request
+send_lmp_test_activate:
+	branch send_lmp_request
+
+/******** LMP request/reply messages **********/
+/****** TID transaction specific *******/
+
+send_lmp_comb_key:
+	call generate_random_number
+	arg mem_lap,rega
+	call generate_linkkey
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_kinit,rega
+	arg mem_random_number,regb
+	call xor16
+	nbranch send_lmp_follow,master
+	branch send_lmp_tid
+
+send_lmp_inrand:
+	call generate_random_number
+	arg mem_plap,rega
+	call generate_kinit
+send_lmp_rand:	/* used by in_rand,au_rand,start_encrypt */
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	fetch 1,mem_conn_sm 
+	beq CONN_SM_AUTH_WAIT,send_lmp_request
+	beq CONN_SM_PAIRING_WAIT,send_lmp_request
+	branch send_lmp_tid
+
+send_lmp_aurand:
+	fetch 1,mem_pairing_auth
+	branch send_lmp_aurand_notpairing,blank
+	call check_localsm
+	call tid_initiate,true
+	ncall tid_reply,true
+	branch send_lmp_aurand_common
+send_lmp_aurand_notpairing:
+	call tid_initiate
+send_lmp_aurand_common:
+	call generate_random_number
+	branch send_lmp_rand
+
+send_lmp_sres:
+	arg mem_lap,rega
+	call function_e1
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_input_store
+	istore 4,contw
+	arg mem_sres_tid,temp
+	call special_tid_store
+	call copy_aco
+	call check_localsm
+	branch send_lmp_sres_master,true
+	jam DONE_ENCRYP,mem_wait_encryption
+	fetch 1,mem_pairing_auth
+	rtn blank
+	jam LMP_AU_RAND,mem_lmo_opcode2
+send_lmp_sres_master:
+	fetch 1,mem_link_key_exists
+	rtn blank
+send_lmp_sres_startenc:
+	call check_localsm
+	nbranch send_lmp_sres_startenc_slave,true
+	fetch 1,mem_auth_enable
+	rtn blank
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+send_lmp_sres_startenc_slave:
+	rtnmark0 mark_slave_in_rand_accepted
+	set0 mark_slave_in_rand_accepted,mark
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+	
+
+	
+send_lmp_start_encryption:
+	call generate_random_number
+	call function_e3
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	branch send_lmp_tid
+
+send_lmp_stop_encryption_req:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_tid
+
+send_lmp_encryption_key_size_req:
+	force 2,pdata
+	call msg_send_lmp
+	force 16,pdata
+	istore 1,contw
+	store 1,mem_key_size
+	branch send_lmp_tid
+
+msg_send_lmp:
+/* FLOW is set high and LMP is indicated */
+	lshift3 pdata,pdata
+	or_into 0x07,pdata
+	store 1,mem_lmo_header_length
+	arg 17,loopcnt
+	arg mem_lmo_payload,contw
+	call clear_mem
+	arg mem_lmo_payload,contw
+	rtn
+
+send_lmpext:
+	and pdata,0x7f,rega
+	jam LMP_ESCAPE,mem_lmp_to_send
+	deposit queue
+	call msg_send_lmp
+	deposit rega
+	istore 1,contw
+	rtn
+
+send_lmp_follow:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptid,temp
+	setflag true,0,pdata
+	branch send_lmp_exit
+
+
+send_lmp_tid:
+	fetcht 1,mem_state_map
+	and_into 1,temp
+	branch send_lmp_end
+
+send_lmp_reply:
+	force 0,temp
+	branch send_lmp_end
+	
+send_lmp_request:
+	force 1,temp
+send_lmp_end:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	setflag master,0,pdata
+	ixor temp,pdata
+send_lmp_exit:
+	store 1,mem_lmo_header_opcode
+	jam 0,mem_lmp_to_send
+	call lmo_fifo_process_lmo0empty
+	enable user
+	rtn
+
+//blank : not full 
+lmo_fifo_check:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	call lmo_fifo_process
+	fetch 1,mem_lmo_opcode2
+	rtn
+
+lmo_fifo_process:
+	bpatchx patch30_6,mem_patch30
+	fetch 1,mem_lmp_to_send
+	branch lmo_fifo_process_lmo0empty,blank
+	fetch 1,mem_lmo_opcode1
+	nrtn blank
+	branch lmo_fifo_process_lmo2to1
+lmo_fifo_process_lmo0empty:
+	fetch 1,mem_lmo_opcode1
+	branch lmo_fifo_process_lmo1_empty,blank
+	fetch 3,mem_lmo_opcode1
+	store 3,mem_lmp_to_send//1=>0
+	fetcht 1,mem_lmo_tid1
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode1
+lmo_fifo_process_lmo2to1:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 4,mem_lmo_opcode2
+	store 4,mem_lmo_opcode1//2=>1
+	jam 0,mem_lmo_opcode2
+	rtn
+lmo_fifo_process_lmo1_empty:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 3,mem_lmo_opcode2
+	store 3,mem_lmp_to_send//2=>0	
+	fetcht 1,mem_lmo_tid2
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode2
+	rtn
+	
+//input:temp
+special_tid_store:
+	bpatchx patch30_7,mem_patch30
+	fetch 1,mem_state_map
+	copy pdata,regc
+	ifetch 1,temp
+	call pop_tid_follow
+	call send_lmp_follow
+	copy regc,pdata
+	store 1,mem_state_map
+	rtn
+	
+tid_reply:
+	fetcht 1,mem_state_map
+	set0 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+tid_initiate:
+	fetcht 1,mem_state_map
+	set1 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+	/* true if transaction from remote */
+tid_check:
+	nsetflag master,smap_lmptid,pdata //it is ok
+	fetcht 1,mem_state_map
+	ixor temp,pdata
+	isolate1 smap_lmptid,pdata
+	rtn	
+
+	/* set to remote */
+tid_set_reply:
+	fetch 1,mem_state_map
+	setflag master,smap_lmptid,pdata //it is ok
+	store 1,mem_state_map
+	rtn
+
+	/*rtn true when we lead lmp*/
+check_localsm:
+	fetch 1,mem_sp_localsm
+	compare 	LOCAL_STATEMACHINE,pdata,0x7f
+	rtn
+setlocalsm_master:
+	fetch 1,mem_sp_localsm
+	set1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+setlocalsm_slave:
+	fetch 1,mem_sp_localsm
+	set0 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+check_localsm_master:
+	fetch 1,mem_sp_localsm
+	isolate1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+	
+generate_random_number:
+	/* generating a 16 byte random number,storing in ape_random_number */
+	arg mem_random_number,contw
+generate_random:
+	force 16,loopcnt
+generate_random_another:
+generate_random_loop:
+	random pdata
+	istore 1,contw
+	loop generate_random_another
+	rtn
+
+generate_linkkey:
+	call function_e21
+	arg mem_link_key,rega
+	arg mem_input_store,regb
+	ifetch 8,rega					/* check if already got comb key */
+	fetcht 1,mem_state
+	nsetflag blank,state_combkey,temp
+	storet 1,mem_state
+	copy rega,contw
+	call  xor16
+	branch generate_linkkey_continue
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+
+process_conn_sm:
+	//nrtn master
+	bpatchx patch31_0,mem_patch31
+
+	call lmo_fifo_check
+	nrtn blank
+process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	/* state machine begins in standby */
+	//beq CONN_SM_STANDBY, host_create_conn_begin
+	//beq CONN_SM_WAIT_PAGE, host_create_conn_wait_page
+	beq CONN_SM_SEND_CONN_REQ, host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_CONN_ACCEPT, host_create_conn_wait_accept
+	beq CONN_SM_SEND_FEATURES, host_create_conn_send_features
+	beq CONN_SM_WAIT_FEATURES_RES, host_create_conn_waiting
+	beq CONN_SM_SEND_SWITCH,host_create_conn_send_switch
+	beq CONN_SM_AUTH_PAIR, host_create_conn_auth_pair
+	beq CONN_SM_AUTH_PAIR_WAIT, host_create_conn_auth_pair_wait
+	beq CONN_SM_ENCRYPT, host_create_conn_encrypt
+	beq CONN_SM_ENCRYPT_WAIT, host_create_conn_encrypt_wait
+	beq CONN_SM_ENCRYPT_WAIT_CLEAR, host_create_conn_encrypt_wait_clear
+	beq CONN_SM_SEND_SETUP_COMPLETE, host_create_conn_send_setup_complete
+	beq CONN_SM_WAIT_SETUP_COMPLETE, host_create_conn_wait_setup_complete
+	beq CONN_SM_DETACH_DELAY,host_create_conn_master_detach
+	beq CONN_SM_SEND_VERSION, host_create_conn_send_version
+	beq CONN_SM_WAIT_VERSION, host_create_conn_waiting
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION, host_creat_conn_wait_switch
+	beq CONN_SM_SEND_FEATURES_EXT,host_creat_conn_send_feat_ext
+	beq CONN_SM_WAIT_FEATURES_EXT,host_create_conn_waiting
+	beq CONN_SM_PAIRING,host_create_conn_pairing
+	beq CONN_SM_PAIRING_WAIT,host_create_conn_pairing_wait
+	beq CONN_SM_AUTH,host_create_conn_auth
+	beq CONN_SM_AUTH_WAIT,host_create_conn_auth_wait
+	beq CONN_SM_DONE,host_create_conn_done
+	beq CONN_SM_WAIT_DONE,host_create_conn_done_wait
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	rtn
+host_create_conn_done:
+	fetch 1,mem_lmp_conn_state		
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	rtnbit0 SENT_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm
+	call host_conn_judge_encrypt
+	branch scheduler_start_upper_sm
+	
+host_conn_judge_encrypt:
+	fetch 1,mem_connection_options
+	rtnbit0 CONNECTION_ENCRYPT
+	jam CONN_SM_ENCRYPT_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_done_wait:
+	arg enpt_delay_timer,queue
+	call timer_check
+	nrtn blank
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+	
+host_create_conn_auth:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_AUTH,pdata
+	store 1,mem_connection_options
+	jam CONN_SM_AUTH_WAIT,mem_conn_sm
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	rtn 
+host_create_conn_auth_wait:
+	rtn
+host_create_conn_pairing:
+	fetch 1,mem_pincode_state
+	rtnne pincode_state_pincode_ready //wait for pincode
+	call host_auth
+	jam CONN_SM_PAIRING_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_pairing_wait:
+	rtn
+host_creat_conn_send_feat_ext:
+	jam CONN_SM_WAIT_FEATURES_EXT,mem_conn_sm
+	jam LMP_EXT_FEATURES_REQ,mem_lmo_opcode2
+	rtn
+host_create_conn_send_version:
+	jam CONN_SM_WAIT_VERSION,mem_conn_sm
+	jam LMP_VERSION_REQ,mem_lmo_opcode2
+	rtn 
+	
+host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,host_create_conn_switch_accept
+	arg switch_wait_timer,queue
+	call timer_check
+	nrtn blank
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	branch host_create_conn_switch
+host_create_conn_switch_accept:
+	rtn master
+	branch host_create_conn_auth_pair
+
+host_create_conn_send_features:
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	jam LMP_FEATURES_REQ,mem_lmo_opcode2
+	rtn 
+host_create_conn_send_switch:
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	setarg 0x1ff
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_send_conn_req:
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	jam 0xff,mem_soft_timer
+	set0 mark_reconn_recieve_switch,mark
+	jam LMP_HOST_CONNECTION_REQ,mem_lmo_opcode2
+	branch init_lmp_reinit
+host_create_conn_wait_accept:
+	rtnmark1 mark_reconn_recieve_switch
+	fetch 2,mem_soft_timer
+	sub pdata,1,pdata
+	branch host_create_conn_resend,zero
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_resend:
+	jam CONN_SM_SEND_SWITCH,mem_conn_sm
+	rtn
+host_create_conn_waiting:
+	/* we will exit waiting for connection request accepted, features res, or other commands to finish */
+	rtn 
+
+host_create_conn_switch:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	jam CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,mem_conn_sm
+	rtn 
+
+host_create_conn_send_setup_complete:
+	jam CONN_SM_WAIT_SETUP_COMPLETE,mem_conn_sm	
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn 
+
+host_create_conn_wait_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm	
+
+	rtn
+host_create_conn_wait_setup_complete_rtn:	
+	jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+	rtn
+
+host_create_conn_master_detach:
+	fetch 1, mem_soft_timer
+	increase -1,pdata
+	branch host_create_conn_send_detach,blank//detach
+	store 1, mem_soft_timer
+	rtn 
+host_create_conn_send_detach:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send
+	jam 0,mem_conn_sm
+	rtn
+host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_SWITCH,host_create_conn_switch
+	bbit1 CONNECTION_AUTH,host_create_conn_auth_pair_true
+host_create_conn_sm_done:
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+host_create_conn_auth_pair_true:
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 4,mem_aurand_send_delay_time
+	arg 100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	branch host_create_conn_auth
+
+
+
+host_create_conn_auth_pair_nokey:
+	jam CONN_SM_PAIRING,mem_conn_sm
+	jam 4,mem_pin_length
+	setarg 0x3030
+	store 2,mem_pin
+	istore 2,contw
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch host_create_conn_pairing
+
+host_create_conn_auth_pair_wait:
+	rtn
+host_create_conn_encrypt:
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_ENCRYPT,host_create_conn_encrypt_start
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn 
+
+host_create_conn_encrypt_start:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT,pdata
+	store 1,mem_connection_options
+	jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2  
+	rtn
+
+host_create_conn_encrypt_wait:
+	fetch 1, mem_wait_encryption
+	rtn blank
+	jam CONN_SM_STANDBY,mem_conn_sm
+	branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+	jam CONN_SM_SEND_SETUP_COMPLETE,mem_conn_sm
+	rtn 
+
+host_auth:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,remote_auth
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+remote_auth:
+	fetch 1,mem_op
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	call tid_set_reply
+	branch cmd_exit
+
+pincode_reinit:
+	setarg 4
+	store 1,mem_pin_length
+	setarg 0x3030
+	istore 2,contw
+	istore 2,contw
+	rtn
+	
+
+
+/* ===================== two wire SPI gpio ======================= */
+
+twspi_reset:
+	bpatchx patch31_4,mem_patch31
+	hfetch 1,core_gpio_oe3
+	arg 0x06,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 1,pdata
+	set0 2,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable
+
+twspi_reset2:
+	hfetch 1,core_gpio_oe3
+	arg 0xc0,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 6,pdata
+	set0 7,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable2
+
+twspi_disable:
+	hfetch 1,core_gpio_sel1
+	and pdata,0xfc,pdata
+	hstore 1,core_gpio_sel1  //disable spi
+	rtn
+twspi_enable:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x01,pdata
+	hstore 1,core_gpio_sel1  //enable spi
+	rtn
+twspi_enable2:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x03,pdata
+	set0 4,pdata
+	hstore 1,core_gpio_sel1  //enable spi2
+	rtn
+
+// input read reg number: pdata 
+//output reg data: pdata
+sensor_read:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn
+// input write reg number: pdata 
+sensor_write:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_write
+	call spi_ncs_disable
+	nop 100
+	rtn
+//spi gpio init .
+//0xff :disable spi ncs gpio init
+spi_ncs_gpio_init:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_config_output
+
+//nsc gpio ouput low
+spi_ncs_enable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_active
+
+//ncs gpio output high
+spi_ncs_disable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_inactive
+
+
+twspi_write:
+	branch spid_write_reg
+	
+twspi_read:
+	branch spid_read_reg
+
+
+
+/* ===================== code loading ======================= */
+
+
+read_function_aes:
+	nbranch read_function,user
+	hfetch 1,core_gpio_key2
+	or_into 0x2,pdata   	// enable aes 
+	hstore 1,core_gpio_key2
+read_function:
+	copy temp,null
+	branch read_fuction_zero,zero
+	copy regc,pc
+read_fuction_zero:
+	isolate0 0,null
+	branch set_ucode_status
+	
+/* return temp = block length */
+get_block_header:
+	force 4,temp
+get_block_header0:
+	arg mem_ucode_buf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   	// disable aes for header
+	hstore 1,core_gpio_key2
+	call read_function
+	arg 0x55aa,rega
+	fetch 2,mem_ucode_buf
+	ifetcht 2,contr
+	isub rega,null
+	rtn	
+
+read_first_block:
+	arg 2,temp
+	arg mem_ucode_ptr,rega
+	call read_function
+	fetch 2,mem_ucode_ptr
+	store 2,mem_addr_mi
+	call get_iv,user
+	rtn
+	
+get_iv:
+	arg 16,temp
+	arg mem_ucode_keybuf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	call read_function
+	arg mem_ucode_keybuf,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch do_aes_cbc					/* generate first IV */
+
+load_storage:
+	disable match
+	call get_block_header
+	nrtn zero
+	enable match
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	arg core_ucode_data,rega
+	call read_function_aes
+	jam 0x0, core_ucode_ctrl
+load_storage_loop:
+	arg 6,temp
+	call get_block_header0
+	nrtn zero
+	ifetch 2,contr
+	iforce rega
+	call read_function
+	branch load_storage_loop
+
+	
+	/* only load memory data from eeprom */
+reload_eeprom:
+	call clean_mem
+	setarg 0x1000
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	arg 2,loopcnt
+reload_eeprom_loop:
+	call get_block_header
+	nrtn zero
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	loop reload_eeprom_loop
+	branch load_storage_loop
+	
+loadcode:
+	call clean_mem
+	disable user
+	call otp_enable_chgpump
+	setarg otp_ucode_flag
+	arg mem_otp_ucode_flag,rega
+	arg 2,temp
+	call otpd_read_data
+	fetch 2,mem_otp_ucode_flag
+	bbit0 otp_uflag_aes, loadcode_otp
+	jam 0x25,core_clkoff			// disable debug uart
+	setarg otp_ucode_aeskey
+	arg mem_ucode_keybuf,rega
+	arg 16,temp
+	call otpd_read_data
+	jam lock_otp,core_misc_ctrl	// disable further read/write of key
+	set1 mark_otp_encrypt,mark	
+	arg mem_ucode_keybuf,contr
+	call load_key
+	enable user					// set user for aes
+loadcode_otp:
+	jam 0,mem_loadcode_times
+loadcode_otp_2:
+	call loadcode_check_times
+	fetch 2,mem_otp_ucode_flag
+	byteswap pdata,pdata
+	arg 0x7ff,temp
+	iand temp,pdata
+	branch loadcode_iic, zero
+	call otp_set_addr
+	arg otpd_read_code,regc
+	call get_iv,user
+	call load_storage
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_otp_2			// crc error, try again
+	
+loadcode_iic:
+	call otp_disable_chgpump
+	jam 0,mem_loadcode_times
+loadcode_iic_2:	
+	call loadcode_check_times
+	call clear_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_iic_eeprom_2k,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+loadcode_iic_eeprom_2k:
+	call set_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_spi,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+	
+loadcode_spi:
+	jam 0,mem_loadcode_times
+loadcode_spi_2:
+	call loadcode_check_times
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_flash, loadcode_hci
+	setarg 0x0
+	store 3,mem_addr_hi
+	call spid_init_flash
+	arg spid_load_flash,regc
+	call read_first_block
+	call load_storage
+	nbranch loadcode_hci,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_spi_2			// crc error, try again
+
+loadcode_hci:
+	bmark1 mark_otp_encrypt,loadcode_hci_enc
+	call clear_key_buf
+loadcode_hci_enc:
+	fetch 1,mem_otp_ucode_flag
+	bbit0 otp_uflag_hci,clear_key_buf
+	jam 0x21,core_clkoff			// enable debug uart
+	call hci_init
+loadcode_hci_loop:
+	call hci_rx_packet
+	branch loadcode_hci_loop
+
+clear_key_buf:
+	setarg 0
+	store 8,mem_ucode_keybuf
+	store 8,mem_ucode_keybuf+8
+	force regidx_key,regext_index
+	call aes_clear
+	jam 0x21,core_clkoff		// enable debug uart
+	rtn
+	
+
+loadcode_iic_by_eeprom:
+	setarg 0x0
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	call iicd_init_12m
+	call read_first_block
+	branch load_storage
+
+
+loadcode_check_times:
+	fetch 1,mem_loadcode_times
+	increase 1,pdata
+	sub pdata,3,null
+	nbranch loadcode_error,positive
+	store 1,mem_loadcode_times
+	rtn
+
+loadcode_error:
+	call clear_key_buf
+	call ice_break
+	rtn
+
+
+/* true flag is set into status */
+set_ucode_status:
+	fetch 1,mem_ucode_status
+	lshift pdata,pdata
+	setflag true,0,pdata
+	isolate0 15,rega
+	rtn true
+	store 1,mem_ucode_status
+	rtn
+
+	/* queue is bit position of hw done status */
+decrypt_code:
+	hfetch 1,core_gpio_key2
+	rtnbit0 1
+	branch decrypt_code_skip	/* skip to key generation at first for speed */
+decrypt_code_loop:
+	hfetch 1,core_dma_status
+	qisolate1 pdata
+	rtn true
+decrypt_code_skip:
+	hfetch 1,core_misc_status
+	bbit0 1,decrypt_code_loop
+	call do_aes_cbc
+	branch decrypt_code_loop
+
+
+
+load_ucode:
+	fetch 2,mem_patch_ptr
+	rtn blank
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	fetcht 2,mem_patch_len
+	lshift2 temp,loopcnt
+	iforce contr
+load_ucode_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_loop
+	jam 0x0, core_ucode_ctrl
+	rtn
+
+
+/* ===================== SPI dma ======================= */
+
+spid_init:
+	bpatchx patch31_5,mem_patch31
+	call spid_init_common
+	branch twspi_enable
+
+spid_init2:
+	call spid_init_common
+	call twspi_disable
+	branch twspi_enable2
+	
+spid_init_common:
+	fetch 1,mem_spi_init_clk
+	hstore 1,core_spid_ctrl	// A7530 should at least 34, or write fail
+	fetch 1,mem_spi_init_delay_time
+	hstore 1,core_spid_delay	// 4us delay
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	branch twspi_disable
+	
+spid_reset:
+	hfetch 1,core_spid_ctrl
+	set1 7,pdata
+	hstore 1,core_spid_ctrl
+	set0 7,pdata
+	hstore 1,core_spid_ctrl
+	rtn
+
+
+/* pdata 6:0 is reg address, 15:8 is data to write */
+spid_write_reg:
+	set1 7,pdata
+	store 2,mem_spid_tbuf
+	bpatchx patch31_6,mem_patch31
+	jam 2,core_spid_txlen
+	jam 0,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+/* pdata 6:0 is reg address */
+spid_read_reg:
+	force 1,temp
+/* pdata 6:0 is burst reg address, temp is bytes to read */
+spid_read_regs:
+//	nop 100
+	store 1,mem_spid_tbuf
+	bpatchx patch31_7,mem_patch31
+	jam 1,core_spid_txlen
+	hstoret 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	call wait_spid_done
+	fetch 1,mem_spid_rbuf
+	rtn
+
+wait_spid_done:
+	fetch 2,mem_afh_error_total
+	increase 1,pdata
+	store 2,mem_afh_error_total
+	hfetch 1,core_dma_status
+	bbit0 spid_done,wait_spid_done
+	rtn
+
+spid_init_flash:
+	jam 0x40,core_spid_ctrl
+	jam 0x0,core_spid_delay
+	hfetch 1,core_gpio_sel1
+	set0 0,pdata
+	set1 1,pdata
+	hstore 1,core_gpio_sel1
+	setarg 0
+	store 4,mem_spid_tbuf
+	rtn
+
+
+spid_unlock_flash:
+	setarg 0
+	hstore 2,core_spid_rxlen
+	setarg 1
+	hstore 2,core_spid_txlen
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	jam 6,mem_spid_tbuf
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/**
+ ******************************************************************************
+ ** \brief  write flash
+ **
+ ** \param [in]  rega: 2byte write ptr    
+ **			pdata:3byte flash address  
+ ** 			temp:2byte write data length
+ **
+ ** \retval user  0: flash buys 1:write flash setting complate
+ **
+ ******************************************************************************/
+
+flash_write:
+	disable user
+	copy pdata,regb
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	enable user
+	copy regb,pdata
+	branch flash_write_start
+
+
+flash_write_spi_sm_timer:
+	fetch 1,mem_spi_write_flash_sm 	
+	beq FLASH_SM_START,flash_write_start
+	beq FLASH_SM_ERASE_SECTOR,flash_erase_sector
+	beq FLASH_SM_WAIT_ERASE_SECTOR,flash_wait_erase_sector
+	beq FLASH_SM_WRITE_DATA,flash_write_data
+	beq FLASH_SM_WAIT_WRITE_DATA,flash_wait_write_data
+	rtn
+
+flash_write_start:
+	store 3,mem_spi_write_addr
+	copy rega,pdata
+	store 2,mem_spi_write_ptr
+	storet 2,mem_spi_write_len
+	jam FLASH_SM_ERASE_SECTOR,mem_spi_write_flash_sm
+	branch spid_init_flash
+flash_erase_sector:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_ERASE_SECTOR,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	arg mem_spid_tbuf,rega
+	fetch 3,mem_spi_write_addr
+	jam 4,core_spid_txlen
+	arg FLASH_COMMAND_SECTOR_ERASE,temp
+	branch spid_write_flash_common
+	
+flash_wait_erase_sector:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_WRITE_DATA,mem_spi_write_flash_sm
+	rtn
+flash_write_data:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_WRITE_DATA,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	call flash_data_preserve
+	call spid_write_flash
+	branch flash_data_recover
+flash_wait_write_data:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_NO_BUYS,mem_spi_write_flash_sm
+	fetch 2,mem_cb_spi_flash_write_complate
+	branch callback_func
+flash_data_recover:
+	fetch 4,mem_temp
+	fetcht 2,mem_spi_write_ptr
+	increase -4,temp
+	istore 4,temp
+	rtn
+flash_data_preserve:
+	fetcht 2,mem_spi_write_ptr
+	copy temp,rega
+	increase -4,temp
+	ifetch 4,temp
+	store 4,mem_temp
+	fetcht 2,mem_spi_write_len
+	fetch 3,mem_spi_write_addr
+	rtn
+
+
+/* pdata is flash address, rega pointers to txdata(4 ahead bytes should be left), temp is length */
+spid_write_flash:
+	increase 4,temp
+	hstoret 2,core_spid_txlen
+	arg FLASH_COMMAND_WRITE_DATA,temp
+	increase -4,rega
+spid_write_flash_common:
+
+	istoret 1,rega
+	rshift16 pdata,temp
+	istoret 1,contw
+	rshift8 pdata,temp
+	istoret 1,contw
+	istore 1,contw
+	deposit rega
+	hstore 2,core_spid_txaddr
+	setarg 0
+	hstore 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf   */
+spid_read_flash:
+	hstoret 2,core_spid_rxlen
+	rshift16 pdata,temp
+	storet 1,mem_addr_hi
+	rshift8 pdata,temp
+	storet 1,mem_addr_mi
+	store 1,mem_addr_lo
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam FLASH_COMMAND_READ_DATA,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_read_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_read_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf  */
+spid_load_flash:
+	hstoret 2,core_spid_rxlen
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam 3,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_load_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_load_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	call decrypt_code
+	call wait_spid_done
+	isolate1 spid_crcok,pdata
+	call set_ucode_status
+	fetch 1,mem_addr_hi
+	lshift16 pdata,regb
+	fetch 1,mem_addr_mi
+	lshift8 pdata,pdata
+	ior regb,regb
+	fetch 1,mem_addr_lo
+	ior regb,pdata
+	iadd temp,pdata
+	store 1,mem_addr_lo
+	rshift8 pdata,pdata
+	store 1,mem_addr_mi
+	rshift8 pdata,pdata
+	store 1,mem_addr_hi
+	rtn
+
+/*****************************************************************************
+*soft reset chip
+*****************************************************************************/
+soft_reset_chip:
+	jam 1,core_reset
+	rtn
+
+
+
+/* ===================== I2C dma ======================= */
+
+iic_init_390k:	//390khz
+	jam 12,core_iicd_scl_low
+	jam 13,core_iicd_scl_high
+	jam 13,core_iicd_start_setup
+	jam 13,core_iicd_start_hold
+	jam 13,core_iicd_stop_setup
+	jam 12,core_iicd_data_setup
+  	branch iicd_init_gpio	
+
+
+iicd_init_12m:
+	jam 5,core_iicd_scl_low
+ 	jam 7,core_iicd_scl_high
+	jam 7,core_iicd_start_setup
+	jam 7,core_iicd_start_hold
+	jam 7,core_iicd_stop_setup
+	jam 5,core_iicd_data_setup
+iicd_init_gpio:	
+	hfetch 1,core_gpio_pu3
+	or_into 0xc0,pdata
+	hstore 1,core_gpio_pu3
+	hfetch 1,core_gpio_sel1
+	or_into 0x10,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+
+
+wait_iicd_done:
+	hfetch 1,core_dma_status
+	bbit0 iicd_done,wait_iicd_done
+	rtn
+
+/*
+pdata is tx length
+rega is points to tx buffer
+regb is points to rx buffer
+temp is rx length
+*/
+iicd_read_data:
+	hstore 2,core_iicd_txlen
+	deposit rega
+	hstore 2,core_iicd_txaddr	
+	deposit regb
+	hstore 2,core_iicd_rxaddr
+	deposit temp	
+	hstore 2,core_iicd_rxlen
+	arg 1,temp
+	nsetflag blank,1,temp
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	branch wait_iicd_done
+
+
+set_eeprom_size_2k:
+	set1 mark_eeprom_size,mark
+	jam 0x08,mem_eeprom_block_size
+	rtn
+
+clear_eeprom_size_2k:
+	set0 mark_eeprom_size,mark
+	jam 0x20,mem_eeprom_block_size
+	rtn
+
+
+iicd_read_eep_data_size_2k:
+ 	fetch 1,mem_eeprom_base
+	iadd regb,pdata
+	store 1,mem_addr_mi
+	branch iicd_read_eep_size_2k
+
+iicd_read_eep_size_2k_lcadcode:
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	store 1,mem_addr_mi
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr:pdata
+iicd_read_eep_size_2k:
+ 	setarg 3
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+2
+	branch iicd_read_eep_common
+
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr:regb
+iicd_write_protect_eep_data:
+	storet 2,mem_temp
+	call iicd_eeprom_write_enable
+	fetcht 2,mem_temp
+	call iicd_write_eep_data
+	branch iicd_eeprom_write_disable
+	
+iicd_eeprom_write_enable:
+	fetch 1,mem_eeprom_wp_gpio
+	rtneq GPIO_DISABLE
+	bbit0 6,iicd_wp_gpio_output_low
+	setarg 150000
+	call sleep
+iicd_wp_gpio_output_low:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_active
+	
+iicd_eeprom_write_disable:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_inactive
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_read_eep_data:
+	bpatchx patch32_0,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_data_size_2k
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+
+/* rega pointers to buf, temp is length  */
+iicd_read_eep:
+	bpatchx patch32_1,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_size_2k_lcadcode
+	setarg 4
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+3
+iicd_read_eep_common:	
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	hstoret 2,core_iicd_rxlen
+	deposit rega
+	hstore 2,core_iicd_rxaddr
+	setarg 2
+	isolate0 15,rega
+	setflag true,0,pdata
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	arg iicd_done,queue
+	call decrypt_code
+	call wait_iicd_done
+	isolate1 iicd_crcok,pdata
+	call set_ucode_status
+	bmark1 mark_eeprom_size,iicd_read_eep_load_code_size_2k
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+
+iicd_read_eep_load_code_size_2k:
+	fetch 1,mem_addr_mi
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+	
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_write_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+
+//cuur ptr:pdata length:temp buf:rega
+iicd_write_ota_data:
+	store 2,mem_pdatatemp //curr ptr
+	bpatchx patch32_2,mem_patch32
+	storet 2,mem_temp	//len
+	copy rega,pdata
+	store 2,mem_contr
+iicd_write_eep_loop:
+	call iicd_eep_transparency
+
+	fetcht 2,mem_regb
+	fetch 2,mem_contr
+	copy pdata,rega
+	fetch 2,mem_pdatatemp
+	
+	call iicd_write_eep
+	
+	fetch 2,mem_regb
+	fetcht 2,mem_contr
+	iadd temp,temp
+	storet 2,mem_contr
+	fetcht 2,mem_pdatatemp
+	iadd temp,temp
+	storet 2,mem_pdatatemp
+	fetch 2,mem_temp
+	nbranch iicd_write_eep_loop,blank
+	rtn
+	
+//in:
+//1.size 2.len 3.src 4.des
+//mem_regc page's area
+//mem_pdatatemp curr ptr
+//mem_temp all len      
+//mem_regb curr len
+iicd_eep_transparency:
+	bpatchx patch32_3,mem_patch32
+	fetch 1,mem_eeprom_block_size
+	increase -1,pdata
+	fetcht 2,mem_pdatatemp
+	ior temp,pdata
+	increase 1,pdata
+	store 3,mem_regc
+
+	fetch 2,mem_temp
+	iadd temp,pdata
+
+	fetcht 3,mem_regc
+	isub temp,pdata
+	nbranch iicd_eep_deal_short_packet,positive
+	store 2,mem_temp
+	fetch 3,mem_regc
+	fetcht 2,mem_pdatatemp
+	isub temp,pdata
+	store 2,mem_regb
+	rtn
+iicd_eep_deal_short_packet:
+	fetch 2,mem_temp
+	store 2,mem_regb
+	setarg 0
+	store 2,mem_temp
+	rtn
+
+iicd_write_eep_size_2k:
+	increase 2,temp
+	hstoret 2,core_iicd_txlen
+	increase -2,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+//	byteswap pdata,pdata
+	istore 1,contw
+	branch iicd_write_eep_common
+
+	/* pdata is eeprom address, rega pointers to txdata(3 ahead bytes should be left), temp is length */
+iicd_write_eep:
+	copy pdata,regb
+	bpatchx patch32_4,mem_patch32
+	bmark1 mark_eeprom_size,iicd_write_eep_size_2k
+	copy regb,pdata
+	increase 3,temp
+	hstoret 2,core_iicd_txlen
+	increase -3,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+	byteswap pdata,pdata
+	istore 2,contw
+iicd_write_eep_common:	
+	deposit rega
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	jam 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	copy regb,pdata
+	istore 3,rega
+	
+iic_check_eeprom_standby:
+	bpatchx patch32_5,mem_patch32
+	jam 0,mem_iicd_tbuf+3
+iic_check_eeprom_standby_wait:
+	setarg 1
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	hstore 2,core_iicd_rxaddr
+	setarg 3
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	hfetch 1,core_dma_status
+	rtnbit0 iicd_ack
+	nop 1500
+	fetch 1,mem_iicd_tbuf+3
+	increase 1,pdata
+	store 1,mem_iicd_tbuf+3
+	sub pdata,40,null
+	nrtn positive//polling timeout 6ms
+	branch iic_check_eeprom_standby_wait
+
+/* ===================== OTP ======================= */
+
+otp_enable_chgpump:
+	jam 0x70,rfen_chgpump
+	nop param_chgpump_delay
+	rtn
+
+otp_disable_chgpump:
+	jam 0x30,rfen_chgpump
+	rtn
+	
+otp_set_addr:
+	lshift3 pdata,pdata
+	hstore 2,core_otp_addr
+	jam 0,core_otpd_ctrl
+	rtn	
+
+/* pdata = otp address, rega pointers data, loopcnt is count */
+otp_write:
+	call otp_set_addr
+	call otp_ce
+otp_program:
+	ifetcht 1,rega
+	increase 1,rega
+	force 0,queue
+otp_program_bit:
+	qisolate0 temp
+	branch otp_skip_0,true
+	hfetch 1,core_otp_din
+	set1 6,pdata				/* din */
+	set1 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x02,core_otp_ctrl	/* web */
+	jam 0x82,core_otp_ctrl
+	set0 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x8a,core_otp_ctrl	/* pgmen */
+	nop 11
+	jam 0xca,core_otp_ctrl	/* vppen */
+	nop 33
+	jam 0x4a,core_otp_ctrl	/* web 2nd */
+	nop 44
+	jam 0xca,core_otp_ctrl	/* release web */
+	nop 22
+	jam 0x8a,core_otp_ctrl	/* release vppen */
+	nop 33
+	jam 0x82,core_otp_ctrl	/* release pgmen */
+	nop 1
+	jam 0x92,core_otp_ctrl	/* pgmvfy */
+	nop 10
+	jam 0xb2,core_otp_ctrl	/* readen */
+	hfetch 1,core_otp_rdata
+	jam 0x92,core_otp_ctrl	/* release readen */
+	nop 1
+	jam 0x82,core_otp_ctrl	/* release pgmvfy */
+	qisolate0 pdata
+	branch otp_program_bit,true	/* program error */
+otp_skip_0:
+	hfetch 2,core_otp_addr
+	increase 1,pdata
+	hstore 2,core_otp_addr
+	increase 1,queue
+	compare 8,queue,0xf
+	nbranch otp_program_bit,true
+	loop otp_program
+	jam 0x83,core_otp_ctrl
+	rtn
+
+otp_ce:
+	jam 0x82,core_otp_ctrl	/* ceb */
+	nop 12
+	jam 0x80,core_otp_ctrl	/* rstn */
+	jam 0x82,core_otp_ctrl	/* release rstn */
+	nop 150					/* waiting for vdd25 stable */
+	rtn
+
+	/* rega points to data, temp is count */
+otpd_read_init:
+	call otp_ce
+	jam 0xa2,core_otp_ctrl	/* readen */
+	deposit rega
+	hstore 2,core_otpd_addr
+	set1 11,temp
+	isolate0 15,pdata
+	setflag true,15,temp
+	hstoret 2,core_otpd_len
+	jam otpd_start,core_misc_ctrl
+	rtn
+
+otpd_wait_end:
+	hfetch 1,core_dma_status
+	bbit0 otpd_done,otpd_wait_end
+	rtn
+	
+	/* pdata=otp address, rega points to data, temp is count */
+otpd_read_data:
+	call otp_set_addr
+	call otpd_read_init
+	call otpd_wait_end
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+
+
+/* rega pointers to buf, temp is length */
+otpd_read_code:	
+	hfetch 2,core_current_otp_addr
+	hstore 2,core_otp_addr
+	call otpd_read_init
+	arg otpd_done,queue
+	call decrypt_code
+	call otpd_wait_end
+	isolate1 otpd_crcok,pdata	
+	call set_ucode_status
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+/* ===================== uart dma ======================= */
+uartd_prepare_tx:
+	hfetch 2,core_uart_twptr
+	iforce contwu
+	rtn
+
+uartd_send:
+	deposit contwu
+	hstore 2,core_uart_twptr
+	rtn
+
+uartd_rxdone:
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+uartd_prepare_rx:
+	hfetch 2,core_uart_rrptr
+	copy pdata,contru
+	rtn
+
+uart_set_baud_by_mem:
+	fetch uart_baud_len,mem_baud
+	hstore uart_baud_len,core_uart_baud
+	rtn
+
+uart_copy_tx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_tx_8_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_tx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_tx_4_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_tx_bytes
+
+uart_tx_8_bytes:
+	ifetch 8,contr
+	istore 8,contwu
+	rtn
+
+uart_tx_4_bytes:
+	ifetch 4,contr
+	istore 4,contwu
+	rtn
+
+uart_copy_tx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_loop:
+	ifetch 1,contr
+	istore 1,contwu
+	loop uart_copy_tx_bytes_loop
+	rtn
+
+uart_copy_rx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_rx_8_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_rx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_rx_4_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_rx_bytes
+
+uart_rx_8_bytes:
+	ifetch 8,contru
+	istore 8,contw
+	rtn
+
+uart_rx_4_bytes:
+	ifetch 4,contru
+	istore 4,contw
+	rtn
+
+
+uart_copy_rx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_loop:
+	ifetch 1,contru
+	istore 1,contw
+	loop uart_copy_rx_bytes_loop
+	rtn
+
+
+uart_copy_rx2tx:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx2tx_loop:
+	ifetch 1,contru
+	istore 1,contwu
+	loop uart_copy_rx2tx_loop
+	rtn
+
+
+/* ===================== eeprom data ======================= */
+
+app_store_nvram_event:
+	jam BT_EVT_STORE_NVRAM,mem_fifo_temp
+	branch ui_ipc_send_event
+
+check_51cmd_store_reconn_info:
+check_51cmd_update_device_record:
+	bpatchx patch32_6,mem_patch32
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	call check_nvram
+	call init_device_list,zero
+	call nvram_find_addr_from_bd_list
+write_device_record:
+	fetch 1,mem_nv_data_number
+	icopy regc
+	fetcht 2,mem_nv_data_ptr
+	storet 2,mem_list_item_ptr
+write_device_loop_find:
+	copy regc,pdata
+	branch app_store_nvram_event,blank  //EEPROM
+	increase -1,regc
+	copy temp,rega
+	ifetch 1,rega
+	fetcht 1,mem_select_list_item
+	isub temp,null
+	call set_index_finded_device,zero
+	branch write_device_loop_find0,positive
+	ifetch 1,rega
+	increase 1,pdata
+	istore 1,rega
+write_device_loop_find0:
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	branch write_device_loop_find
+
+set_index_finded_device:
+	setarg 0
+	istore 1,rega
+	fetch 1,mem_temp_reconn_record
+	istore 1,contw	
+	bne REC_3_MODE,set_index_finded_device_ble_mode
+	arg mem_link_key,regb
+set_index_find_device_MASTER_ADDR:
+	ifetch 6,contr
+	istore 8,contw
+	setarg 0
+	istore 8,contw
+	copy regb,contr
+store_rec_data_common:
+	call memcpy16
+	force 1,null
+	rtn
+
+set_index_finded_device_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_IRK
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_EDIV
+	arg mem_le_ltk,regb
+	branch set_index_find_device_MASTER_ADDR
+
+set_index_finded_device_IRK:
+	arg mem_le_irk,contr
+	call memcpy16
+store_ble_rec_data_common:
+	arg mem_le_ltk,contr
+	branch store_rec_data_common
+
+set_index_finded_device_EDIV:
+	arg mem_le_rand,contr
+	call memcpy16
+	branch store_ble_rec_data_common
+
+
+nvram_find_addr_from_bd_list:
+	call disable_user
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,find_addr_from_bd_list_SPP_mode
+find_addr_from_bd_list_ble_mode:
+	bpatchx patch32_7,mem_patch32
+	fetch 1,mem_le_conn_peer_addr_type
+	beq MASTER_PUBLIC_ADDR,find_addr_from_bd_list_static_addr
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	branch find_addr_from_bd_list_static_addr,true
+	compare 0x40,pdata,0xc0
+	branch find_addr_from_bd_list_random_addr,true
+	compare 0x00,pdata,0xc0
+	branch find_addr_from_bd_list_random_non_resolvable_private_address,true
+find_addr_from_bd_list_static_addr:
+	jam REC_4_MODE_STATIC_ADDRESS,mem_temp_reconn_record
+	fetch 6,mem_le_plap
+	branch find_addr_from_bd_list_common
+	
+find_addr_from_bd_list_random_non_resolvable_private_address:	
+	jam REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+
+//input :pdata EDIV and rands
+find_addr_from_bd_list_random_addr:
+	jam REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+	
+//input :pdata EDIV and rands
+find_addr_from_bd_list_SPP_mode:
+	bpatchx patch33_0,mem_patch33
+	jam REC_3_MODE,mem_temp_reconn_record
+	fetch 6,mem_plap
+find_addr_from_bd_list_common:
+	store 6,mem_temp_reconn_record+1
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease 1
+	store 2,mem_list_item_ptr
+	storet 1,mem_select_list_item
+	fetch 1,mem_nv_data_number
+	icopy regc
+nvram_find_addr_from_list:
+	fetch 2,mem_list_item_ptr
+	copy pdata,rega
+	call nvram_find_addr_from_list_compare
+	rtn user
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	increase -1,temp
+	ifetch 1,temp
+	store 1,mem_select_list_item
+	increase -1,regc
+	nbranch nvram_find_addr_from_list,zero
+	fetch 1,mem_nv_data_number
+	pincrease DECREASED_ONE
+	store 1,mem_select_list_item
+	rtn
+nvram_find_addr_from_list_compare:
+	fetch 1,mem_temp_reconn_record
+	bne REC_3_MODE,find_addr_from_list_compare_ble_mode
+find_master_addr_from_list_compare:
+	arg mem_temp_reconn_record,regb
+	arg 7,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+find_addr_from_list_compare_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,find_irk_form_list_compare
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,find_ediv_form_list_compare
+	branch find_master_addr_from_list_compare
+
+find_irk_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	arg mem_le_prand,contw
+	arg 16,loopcnt
+	call clear_mem
+	fetch 3,mem_le_plap+3
+	store 3,mem_le_prand
+	call genernate_master_MacAddress
+	fetch 2,mem_le_aes_128+13
+	byteswap pdata,pdata
+	lshift8 pdata,temp
+	ifetch 1,contr
+	iadd temp,pdata
+	fetcht 3,mem_le_plap
+	isub temp,null
+	branch enable_user,zero
+	rtn
+
+
+genernate_master_MacAddress:
+	arg mem_le_prand ,contr
+	call load_data128
+//	arg mem_le_irk,contr
+	ifetch 1,rega
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_aes_128,contw
+	branch store_aes_result
+
+find_ediv_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	copy contr,rega
+	add contr,8,regc
+	arg mem_le_rand,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	copy regc,rega
+	arg mem_le_irk,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+check_nvram:
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease NV_DATA_LEN
+	ifetch 1,pdata
+	isub temp,null
+	rtn
+
+init_device_list:
+	fetch 1,mem_nv_data_number
+	icopy loopcnt
+	fetcht 2,mem_nv_data_ptr
+	setarg 0
+init_device_list_loop:
+	istore 1,temp
+	increase NV_DATA_LEN,temp
+	pincrease 1
+	loop init_device_list_loop
+	rtn
+
+load_device_list:
+	bpatchx patch33_1,mem_patch33
+	call nvram_find_addr_from_bd_list
+	fetch 1,mem_state
+	setflag user,state_combkey,pdata	/* we have link key */
+	store 1,mem_state
+	nbranch clear_key_exists,user
+	add rega,10,contr
+//	copy rega,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	branch check_link_key_load
+clear_key_exists:
+	jam 0,mem_link_key_exists
+	rtn
+
+load_device_list_mode_4:
+	fetch 9,mem_le_ediv
+	branch clear_ltk_exists,blank
+	call nvram_find_addr_from_bd_list
+	nbranch clear_ltk_exists,user
+	fetch 2,mem_list_item_ptr
+	add pdata,1,contr
+	arg mem_le_irk,contw
+	call  memcpy16
+	arg mem_le_ltk,contw
+	call  memcpy16
+	jam 1,mem_ltk_exists
+	rtn
+
+clear_ltk_exists:
+	jam 0,mem_ltk_exists
+	rtn
+
+
+eeprom_store_le_reconn_info:
+	fetch 6,mem_le_plap
+	store 6,mem_temp_lap
+	jam REC_4_MODE,mem_record_bt_mode
+	branch eeprom_store_reconn_info
+eeprom_store_bd_reconn_info:
+	fetch 6,mem_plap
+	store 6,mem_temp_lap
+	jam REC_3_MODE,mem_record_bt_mode
+eeprom_store_reconn_info:
+	fetch 1,mem_device_option
+	beq dvc_op_module,check_51cmd_update_device_record
+	bbit1 dvc_op_mouse,mouse_store_remote_bdaddr
+	rtn
+	
+
+check_link_key_load:
+	fetch 8,mem_link_key
+	fetcht 8,mem_link_key+8
+	ior temp,pdata
+	rtn blank
+	jam 1,mem_link_key_exists
+	rtn
+	
+
+/* =============== GPIO CONTROL ================= */
+
+
+	//temp [4:0]=GPIO number, 0-31, 
+gpio_set_wake_by_current_state:
+	bpatchx patch33_2,mem_patch33
+	set1 7,temp
+	call gpio_get_bit
+	nsetflag true,7,temp
+	//branch gpio_set_wake
+	//fall through
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_set_wake:
+	bpatchx patch33_3,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qsetflag true,pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	nqsetflag true,pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_clr_wake:
+	bpatchx patch33_4,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qset0 pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	qset0 pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+
+
+gpio_config_input_nowake:
+	call gpio_clr_wake
+	branch gpio_config_input_without_wake
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_config_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	ncall gpio_set_wake,wake
+
+gpio_config_input_without_wake:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	setflip gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+gpio_set_high_impedance:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active. set gpio to inactive state
+gpio_config_output:	
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	setflip gpio_active_bit,temp
+	call gpio_out
+gpio_config_output0:
+	set1 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+	
+gpio_common:
+	and temp,0x07,queue
+	rshift3 temp,pdata
+	and_into 3,pdata
+	iadd contw,contw
+	ifetch 1,contw
+	rtn
+
+gpio_check_active:
+	arg core_gpio_out0,contw
+	branch get_bit_common
+
+	
+	/* temp is gpio number, return true if gpio active */
+gpio_get_bit:
+	arg core_gpio_in,contw
+get_bit_common:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	branch gpio_get_bit_reverse,true
+	qisolate0 pdata
+	rtn
+gpio_get_bit_reverse:
+	qisolate1 pdata
+	rtn
+
+gpio_out_inactive:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate1 7,null
+	branch gpio_out_flag
+
+gpio_out_active:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,null
+
+	/* temp is gpio number,  [7]=1,set out equa true flag if gpio active */
+gpio_out_flag:
+	setarg 0
+	nsetflag true,gpio_active_bit,pdata
+	ixor temp,temp
+	
+	/* temp is gpio number,0-31, [7]=out bit value */
+gpio_out:
+	arg core_gpio_out0,contw
+
+	//temp [4:0]=GPIO number, 0-31, [7]=bit value; contw is gpio reg base
+gpio_set_bit:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	qsetflag true,pdata
+	istore 1,contw
+	rtn
+
+gpio_set_before_lpm_common:
+	arg -1,rega
+	hfetch 1,core_gpio_sel1
+	compare 0x02,pdata,0x03
+	call neglact4_from_23_pin,true	//spi
+
+	compare 0x01,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio25 26
+
+	compare 0x03,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio30 31
+	 	 
+	isolate1 2,pdata
+	call neglect2_from_6_pin,true	//uart
+	 
+	isolate1 3,pdata
+	call neglect4_from_9_pin,true	//spi
+
+	isolate1 4,pdata
+	call neglact2_form_30_pin,true	//IIC GPIO30 31
+
+	isolate1 6,pdata
+	nsetflag true,04,rega			//pwm0 gpio4
+
+	isolate1 7,pdata
+	nsetflag true,05,rega			//pwm1 gpio5
+
+	hfetch 1,core_gpio_sel2
+	isolate1 0,pdata
+	nsetflag true,27,rega			//pwm2 gpio27
+	isolate1 1,pdata
+	nsetflag true,28,rega			//pwm3 gpio28
+	isolate1 2,pdata
+	nsetflag true,03,rega			//pwm4 gpio03
+	isolate1 3,pdata
+	nsetflag true,08,rega			//pwm5 gpio08
+	isolate1 4,pdata
+	nsetflag true,20,rega			//pwm0 gpio20
+	isolate1 5,pdata
+	nsetflag true,21,rega			//pwm1 gpio21
+	isolate1 6,pdata
+	nsetflag true,22,rega			//pwm2 gpio22
+	isolate1 7,pdata
+	nsetflag true,23,rega			//pwm3 gpio23
+		
+	hfetch 1,core_gpio_sel
+	isolate1 0,pdata
+	nsetflag true,05,rega			//ADC GPIO05
+	isolate1 1,pdata
+	nsetflag true,06,rega			//ADC GPIO06
+	isolate1 2,pdata
+	nsetflag true,07,rega			//ADC GPIO07
+	isolate1 3,pdata
+	nsetflag true,18,rega			//ADC GPIO18
+	isolate1 4,pdata
+	nsetflag true,19,rega			//ADC GPIO19
+	isolate1 5,pdata
+	nsetflag true,20,rega			//ADC GPIO20
+	isolate1 6,pdata
+	nsetflag true,21,rega			//ADC GPIO21
+	isolate1 7,pdata
+	nsetflag true,22,rega			//ADC GPIO22
+	
+	hfetch 1,core_uart_ctrl
+	isolate1 4,pdata
+	call neglact2_form_2_pin,true
+	bpatchx patch33_5,mem_patch33
+
+	hfetch 4,core_gpio_pu0
+	hfetcht 4,core_gpio_pd0
+	ior temp,pdata
+	invert pdata,pdata
+	iand rega,pdata
+	//set0 4,pdata //revc
+	hstore 4,core_gpio_oe0
+	rtn
+	
+	
+neglect2_from_6_pin: //uart
+	 arg 6,queue
+	 branch neglect_2_pin
+neglect4_from_9_pin:
+	 arg 9,queue
+	 branch neglact_4_pin
+neglact4_from_23_pin:
+	 arg 23,queue
+	 branch neglact_4_pin
+neglact2_form_25_pin:
+	 arg 25,queue
+	 branch neglect_2_pin
+neglact2_form_30_pin:
+	 arg 30,queue
+	 branch neglect_2_pin
+neglact2_form_2_pin:
+	 arg 2,queue
+	 branch neglect_2_pin
+neglact_1_pin:
+	arg 1,loopcnt
+	branch neglect_pin_loop
+neglact_4_pin:
+	 arg 4,loopcnt
+	 branch neglect_pin_loop
+neglect_2_pin:
+	 arg 2,loopcnt
+neglect_pin_loop:
+	 qset0 rega
+	 increase 1,queue
+	 loop neglect_pin_loop
+	 rtn
+
+
+
+
+
+
+/* ===================== sniff GPIO CONTROL ======================= */
+gpio_cfg_uart_tx_output:
+	call gpio_uart2gpio
+	arg UART_WAKEUP_TX,temp
+	branch gpio_config_output
+
+gpio_pu_uart_tx:
+	call gpio_cfg_uart_tx_output
+	arg UART_WAKEUP_TX,temp
+	branch gpio_out_inactive
+
+
+
+gpio_rx_config_input_with_pu:
+	call gpio_uart2gpio
+	hfetch 1, core_gpio_pu0
+	set1 UART_WAKEUP_RX,pdata
+	hstore 1,core_gpio_pu0
+	arg UART_WAKEUP_RX,temp
+	branch gpio_config_input
+	
+gpio_uart2gpio:
+	hfetch 1,core_gpio_sel1
+	and_into 0xfb,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+gpio_check_uart_state:
+	hfetch 1,core_gpio_sel1
+	isolate1 2,pdata
+	rtn
+
+load_chip_option:
+	call otp_enable_chgpump
+	setarg OTP_CHIP_FUNCTIONS
+	arg mem_chip_functions,rega
+	arg 0x02,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+load_adc_init:
+	call otp_enable_chgpump
+	setarg otp_adc_io_0_5V_addr
+	arg mem_0_5_adc_io_data,rega
+	arg 14,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+//mem_adc_config_flag 0:vinlpm 1:Hvin 2: GPIO
+adc_init_data:
+	bpatchx patch33_6,mem_patch33
+
+	call load_adc_init
+	
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,adc_init_data_io
+	rtn	
+
+adc_init_data_vinlpm:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_vinlpm,zero
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data	
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+	branch set_vdd_reference_voltage_1v
+
+adc_check_data_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	nbranch adc_check_2v_vinlpm,blank
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data
+adc_check_2v_vinlpm:	
+	fetch 2,mem_2v_adc_vinlpm_data
+	nbranch set_vdd_reference_voltage_1v,blank
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+set_vdd_reference_voltage_1v:
+	setarg 100
+	store 2,mem_reference_voltage //set reference voltage = 1V
+	rtn		
+
+adc_init_data_hvin:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_hvin,zero
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data	
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+	branch set_vdd_reference_voltage_4v
+
+adc_check_data_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	nbranch adc_check_1v_hvin,blank
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data
+adc_check_1v_hvin:	
+	fetch 2,mem_1v_adc_hvin_data
+	nbranch set_vdd_reference_voltage_4v,blank
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+set_vdd_reference_voltage_4v:
+	setarg 400
+	store 2,mem_reference_voltage //set reference voltage = 4V
+	rtn 	
+
+adc_init_data_io:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_io,zero
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data	
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+	branch set_vdd_reference_voltage_0_5v
+
+adc_check_data_io:
+	fetch 2,mem_1v_adc_io_data
+	nbranch adc_check_0_5v_io,blank
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data
+adc_check_0_5v_io:
+	fetch 2,mem_0_5_adc_io_data
+	nbranch set_vdd_reference_voltage_0_5v,blank
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+set_vdd_reference_voltage_0_5v:
+	setarg 50
+	store 2,mem_reference_voltage //set reference voltage = 0.5V
+	rtn	
+
+
+adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_check_vinlpm
+	beq ADC_CONFIG_HVIN,adc_check_hvin
+	beq ADC_CONFIG_GPIO,adc_check_gpio
+	rtn
+adc_check_vinlpm:
+	jam 0xbf,rf_adc_mode	//read VINLPM voltage directly	
+	branch read_adc
+adc_check_hvin:
+	jam 0xaf,rf_adc_mode	//read HVIN voltage directly
+	branch read_adc
+adc_check_gpio:
+	jam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+read_adc:
+	bpatchx patch33_7,mem_patch33
+	hfetch 1,core_uart_baud + 1
+	set1 7,pdata
+	hstore 1,core_uart_baud + 1 
+	hfetch 1,rf_adc_ch
+	or_into 0x30,pdata
+	hstore 1,rf_adc_ch
+	jam 0x7c,rfen_adc
+	jam 0xaa,rf_adc_gc
+	nop 5000
+	hfetcht 2,core_adc_sum
+	hfetch 1,core_uart_baud + 1
+	set0 7,pdata
+	hstore 1,core_uart_baud + 1
+	storet 2,mem_adc_current_value
+	rtn
+
+vdd_calculate_by_mode:
+	bpatchx patch34_0,mem_patch34
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,vdd_calculate_vinlpm
+	beq ADC_CONFIG_HVIN,vdd_calculate_hvin
+	beq ADC_CONFIG_GPIO,vdd_calculate_io
+	rtn
+
+vdd_calculate_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	fetcht 2,mem_2v_adc_vinlpm_data
+	arg 200,regc
+	branch vdd_calculate
+
+vdd_calculate_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	fetcht 2,mem_1v_adc_hvin_data
+	arg 100,regc
+	branch vdd_calculate
+
+vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch vdd_calculate
+	
+vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch vdd_calculate1,positive
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	iadd regb,pdata
+vdd_calculate2:
+	idiv rega
+	call wait_div_end
+	quotient pdata	
+	rtn
+
+vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	isub regb,pdata
+	branch vdd_calculate2
+
+/*	typedef struct
+*	{
+*		uint16 full_vol
+*		uint16 empty_vol
+*		uint16 low_vol
+*		uint16 now_vol
+*	}bat_calculate;
+*/
+//out:	pdata->bat percent
+adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetch 2,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2
+	isub temp,rega
+	fetch 2,mem_pdatatemp+6
+	isub temp,regb
+	fetcht 2,mem_pdatatemp+4
+	isub temp,null
+	ncall adc_set_low_power_flag,positive
+	mul32 regb,100,pdata
+	idiv rega
+	call wait_div_end
+	quotient pdata
+	call adc_set_no_power_flag,blank
+	rtn
+adc_set_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set1 0,pdata
+	store 1,mem_adc_power_flag
+	rtn
+adc_set_no_power_flag:
+	fetcht 1,mem_adc_power_flag
+	set1 1,temp
+	storet 1,mem_adc_power_flag
+	rtn
+
+
+
+/****************************************key scan***************************************/
+keyscan_key_init:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_init_next:
+	rtn blank
+	copy pdata,loopcnt
+//	copy contr,rega
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_key_init_lp1:
+	ifetcht 1, rega
+	call gpio_config_input
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_key_init_lp1
+keyscan_key_init_end:
+	rtn
+	
+keyscan_scan_key:
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+//	arg mem_key_conf0_pin,rega
+	force 0,regb
+	jam 0,mem_key_value_temp
+keyscan_scan_key_lp1:
+	ifetcht 1, rega
+	call gpio_get_bit
+	bpatchx patch34_1,mem_patch34
+	fetch 2, mem_key_value_temp
+	copy regb,queue
+	qsetflag true,pdata
+	store 2, mem_key_value_temp
+	increase KEY_CONF_STRUCT_LEN,rega
+	increase 1,regb
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_scan_key_lp1_next:
+	ixor regb,null
+	nbranch keyscan_scan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	fetcht 2,mem_key_value
+	ixor temp,null
+	rtn zero
+	enable user
+	rtn
+
+keyscan_process_lpm_before:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_process_lpm_before_next:
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_keyscan_ptr 
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_process_lpm_before_lp1:
+	ifetcht 1, rega
+	call gpio_set_wake_by_current_state
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_process_lpm_before_lp1
+keyscan_process_lpm_before_end:
+	rtn
+
+keyscan_key_process:
+	arg key_scan_timer,queue
+	call timer_check
+	nrtn blank
+	setarg 0x20
+	arg key_scan_timer,queue
+	call timer_init
+	disable user
+	call keyscan_process_lpm_before
+	bpatchx patch34_2,mem_patch34
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_process_next:
+	rtn blank
+	call keyscan_scan_key
+	nbranch lpm_button_clean_wake_lock,user
+	call lpm_button_get_wake_lock
+	disable user
+	fetch 2, mem_key_value_temp
+	store 2,mem_key_value_temp4
+	jam 0,mem_key_value_temp6
+	force 0,queue
+keyscan_key_lp1:
+	fetch 2, mem_key_value
+	rshift pdata,temp
+	storet 2,mem_key_value
+	and pdata,0x01,pdata
+	fetcht 2, mem_key_value_temp4
+	and temp,0x01,rega
+	rshift temp,temp
+	storet 2,mem_key_value_temp4
+	ixor rega,null
+	ncall keyscan_send_key_data,zero
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_lp1_next:
+	fetcht 1, mem_key_value_temp6
+	increase 1,temp
+	storet 1, mem_key_value_temp6
+	copy temp,queue
+	ixor queue,null
+	nbranch keyscan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	store 2, mem_key_value
+	rtn
+keyscan_send_key_data:
+	bpatchx patch34_3,mem_patch34
+	fetch 2,mem_keyscan_ptr
+	increase 1,pdata
+	ifetch 2,pdata
+	branch callback_func
+
+
+/*************************************pwm*************************************/
+
+//rega:clk select(0:system clk; 1:system clk undivied; 2:lpo)
+/*rega:clk select
+			0x00:select system clock 12M;
+			0x40:select undivied system clock 24M/48M;
+			0x80:select lpo clock:33K
+*/
+pwm_init:
+	hfetch 1,core_clksel
+	ior rega,pdata
+	hstore 1,core_clksel
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_PWM,pdata
+	hstore 2,core_clkoff
+	nop 100
+	rtn
+
+/*	typedef struct
+*	{
+*		uint8 gpio_num
+*		uint8 pwm_channel
+*		uint24 frequency
+*		uint8 duty_cycle   //0-100
+*	}PWM_Style;
+	addr: mem_pdatatemp
+*/
+pwm_out_set:
+	fetcht 3,mem_pdatatemp+2
+	setarg PWM_12MHZ
+	idiv temp
+	call wait_div_end
+	quotient temp
+	fetch 1,mem_pdatatemp+5
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient rega
+	copy temp,pdata
+	isub rega,regb	
+	fetch 1,mem_pdatatemp+1
+	call pwm_duty_cycle_set
+	fetch 1,mem_pdatatemp
+	branch pwm_enable
+
+//rega:pcnt ;regb:ncnt ;pdata:pwm channel select
+pwm_duty_cycle_set:
+	beq 0,pwm_pwm0_duty_set
+	beq 1,pwm_pwm1_duty_set
+	beq 2,pwm_pwm2_duty_set
+	beq 3,pwm_pwm3_duty_set
+	beq 4,pwm_pwm4_duty_set
+	beq 5,pwm_pwm5_duty_set
+pwm_pwm0_duty_set:
+	arg core_pwm_pcnt0,contw
+	branch pwm_set_pncnt
+pwm_pwm1_duty_set:
+	arg core_pwm_pcnt1,contw
+	branch pwm_set_pncnt
+pwm_pwm2_duty_set:
+	arg core_pwm_pcnt2,contw
+	branch pwm_set_pncnt
+pwm_pwm3_duty_set:
+	arg core_pwm_pcnt3,contw
+	branch pwm_set_pncnt
+pwm_pwm4_duty_set:
+	arg core_pwm_pcnt4,contw
+	branch pwm_set_pncnt
+pwm_pwm5_duty_set:
+	arg core_pwm_pcnt5,contw
+	branch pwm_set_pncnt
+pwm_set_pncnt:
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//pdata:gpio select
+pwm_enable:
+	enable user
+	branch pwm_gpio_set
+pwm_disable:
+	disable user
+pwm_gpio_set:
+	beq 4,pwm_gpio4_set
+	beq 5,pwm_gpio5_set
+	beq 27,pwm_gpio27_set
+	beq 28,pwm_gpio28_set
+	beq 3,pwm_gpio3_set
+	beq 8,pwm_gpio8_set
+	beq 20,pwm_gpio20_set
+	beq 21,pwm_gpio21_set
+	beq 22,pwm_gpio22_set
+	beq 23,pwm_gpio23_set
+	rtn
+
+
+pwm_gpio4_set:	//pwm 0
+	arg 6,queue
+	branch pwm_one_set_select
+pwm_gpio5_set:	//pwm 1
+  	arg 7,queue
+	branch pwm_one_set_select
+pwm_gpio27_set:	//pwm 2
+  	arg 8,queue
+	branch pwm_one_set_select
+pwm_gpio28_set:	//pwm 3
+	arg 9,queue
+	branch pwm_one_set_select
+pwm_gpio3_set:	//pwm 4
+ 	arg 10,queue
+	branch pwm_one_set_select
+pwm_gpio8_set:	//pwm 5
+  	arg 11,queue
+	branch pwm_one_set_select
+pwm_gpio20_set:	//pwm 0
+  	arg 12,queue
+	branch pwm_tw0_set_select
+pwm_gpio21_set:	//pwm 1
+  	arg 13,queue
+	branch pwm_tw0_set_select
+pwm_gpio22_set:	//pwm 2
+   	arg 14,queue
+	branch pwm_tw0_set_select
+pwm_gpio23_set:	//pwm 3
+    	arg 15,queue
+	branch pwm_tw0_set_select
+
+pwm_set_select:
+	hfetch 2,core_gpio_sel1
+	qsetflag user,pdata
+	hstore 2,core_gpio_sel1
+	copy rega,queue
+	hfetch 1,core_gpio_key2
+   	qsetflag user,pdata
+   	hstore 1,core_gpio_key2
+	rtn
+
+pwm_one_set_select:
+	add queue,-4,rega
+	branch pwm_set_select
+
+pwm_tw0_set_select:
+	add queue,-10,rega
+	branch pwm_set_select
+
+
+	
+
+rfcomm_init:
+	rtn wake
+	jam 0,mem_rfcomm_send_more_pkt
+	jam BITS9600,memRemoteRPNBitRate        
+	jam DATABITS8,memRemotePRNDataBits      
+	jam 0x11,memRemotePRNXon
+	jam 0x13,memRemotePRNXoff
+	setarg 0
+	store 3,memRemotePRNStopBit
+	store 1,mem_spp_state                  
+	jam 0,memui_reconnect_mode
+	//branch rfcomm_init_spp
+rfcomm_init_spp:
+	bpatchx patch34_4,mem_patch34
+	setarg 0
+	store 1,mem_spp_state
+	store 1,mem_remote_spp_channel
+	store 1,mem_pn_dlci
+	fetch 1,mem_credit_flag
+	beq CREDIT_ENABLE,rfcomm_init_spp_with_credit
+	jam 0x50,mem_credit_given
+	rtn
+
+rfcomm_init_spp_with_credit:
+	jam 0x00,mem_credit_given
+	rtn
+
+set_CR_bit:
+	or_into 0x02,temp
+	rtn
+
+
+/*below added by koufan*/
+
+/*rfcomm_send */
+
+
+
+	/*rfcomm_calculate_FCS_sabm*/
+	/*input: address in temp*/
+	/*output: FCS in pdata  */
+rfcomm_calculate_FCS_sabm:
+	copy temp,pdata
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force INI_TX_SABM,pdata
+	reverse pdata,pdata
+	store 1,memFCStemp2
+	force 0x01,pdata                        
+	reverse pdata,pdata
+	store 1,memFCStemp1
+	call caculate_fcs
+	copy temp,pdata                        
+	rtn
+rfcomm_calculate_FCS_ua:
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force   RSP_TX_UA, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp2
+	force   0x01, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp1
+	branch caculate_fcs
+	/* FCS return from temp                */
+rfcomm_calculate_FCS_dlci0:
+	fetch 1,mem_rfcomm_initiator
+	branch rfcomm_calculate_FCS_dlci0_res,blank
+	setarg 0x70 //FCS of initiator
+	rtn
+rfcomm_calculate_FCS_dlci0_res:
+	setarg 0xaa//FCS of responder
+	rtn
+	
+rfcomm_save_FCS_uih:
+	reverse pdata, pdata //address 
+	store 1,memFCStemp3                     /* contw distroided                    */
+	force RSP_RX_UIH,pdata 
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw                      /* save FCS for later use              */
+	copy contw,temp
+	storet 2,mem_contw_temp
+	force RSP_RX_UIH_WDATA,pdata             /* P/F =1 + RSP_RX_UIH                 */
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw             /* save FCS for later use              */
+	rtn	
+/**********************************************************************/
+/* This subroutine caculates the FCS for UIH data                     */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3(bit reversed), control byte */
+/*        at pdata (not bit reversed)                                 */
+/* Output:                                                            */
+/*        pdata: the FCS                                              */
+/**********************************************************************/  
+caculate_UIHdata_fcs:
+	reverse pdata,pdata
+	store   1,memFCStemp2
+	fetch   2, memFCStemp2                     
+	lshift8 pdata,pdata
+	store 3,mem_mod2div_temp
+	arg     0x107,regA
+	arg 0xf,regB
+	call mod2div
+	xor_into     0xd7, pdata
+	invert  pdata,pdata
+	reverse pdata,pdata
+	rtn
+	
+/**********************************************************************/
+/* This subroutine caculates the FCS                                  */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3, control byte at memFCStemp2*/  
+/*        lenght at memFCStemp1 (all above data are bit reversed)     */
+/* Output:                                                            */
+/*        temp: the FCS                                               */
+/**********************************************************************/     
+caculate_fcs:
+	fetch 3, memFCStemp1                    /* load 3 bytes start at memFCStemp1   */
+	store 3,mem_mod2div_temp
+	arg 0x107,regA
+	arg 0xf,regB  //24bit(memFCStemp1+..+memFCStemp3) - 9bit(regA) = 15bit
+	call mod2div
+	lshift8 pdata,pdata 
+	arg 0x7, regB  //16bit(lshift8 pdata,pdata ) - 9bit(regA) = 7bit
+	call mod2div
+	xor_into     0x2b, pdata		//0x3d
+	invert  pdata, pdata                        
+	reverse pdata, pdata                      /* FCS at pdata                        */
+	copy    pdata, temp
+	rtn
+
+mod2div:
+	arg 0,regC
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	icopy temp
+mod2div_loop:
+	//jam 1,0x1fff
+//mod2div_loop1:
+	//fetch 1,0x1fff
+	//nbranch mod2div_loop1,blank
+	copy temp,pdata
+	lshift regC,regC//quotient
+	bbit0 8, mod2div_not_enough_reduction//the high bit of 0x107
+	ixor regA,temp// temp----remainer
+	increase 1,regC// quotient
+mod2div_not_enough_reduction: //Minuend smaller than Subtrahend
+	lshift temp,temp
+	fetch 3,mem_mod2div_temp
+	increase -1,regB
+	compare 0xff,regB,0xff
+	branch mod2div_end,true
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	isolate1 0,pdata
+	setflag true,0,temp //move a new bit from Dividend(queue) into Minuend(pdata)
+	branch mod2div_loop
+mod2div_end:
+	//output:remainer in pdata
+	rshift  temp,pdata
+	rtn
+
+get_rfcomm_snd_adss:
+	fetcht 1,mem_pn_dlci
+dlci_to_address_cmd:
+	//input DLCI from temp
+	lshift2 temp,temp
+	set1 RFCOMM_ADDRESS_EXT_LEN,temp
+	fetch 1,mem_rfcomm_initiator
+	ncall set_CR_bit,blank
+	storet 1,mem_rfcomm_send_adss
+	rtn
+
+channel_to_dlci:
+	//input channel from temp
+	lshift temp,temp
+	fetch 1,mem_rfcomm_initiator
+	setflag blank,0,temp //direction in dlci
+	//output dlci to temp
+	rtn
+rfcomm_rx_process_DLCI0_sabm:
+	fetcht 1,mem_current_channel //address
+	jam 0xd7,mem_current_fcs //FCS
+	call rfcomm_send_ua
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	jam 0,mem_rfcomm_initiator
+	branch rfcomm_rx_process_end
+rfcomm_rx_process_DLCI0_ua:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	branch rfcomm_rx_process_end
+
+	
+rfcomm_rx_process:
+	bpatchx patch34_5,mem_patch34
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,rfcomm_rx_process_remote_page
+	branch rfcomm_rx_process_reconn
+
+rfcomm_rx_process_remote_page:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_dlci0_rp
+	branch parse_uih_rp
+parse_dlci0_rp:
+	bpatchx patch34_6,mem_patch34
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_rp_uih
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn_send_event
+	rtn
+
+
+parse_DLCI0_rp_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_rp_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_rp_uih_pn_res
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_rp_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_rp_uih_ms_res
+	beq UIH_PARAM_CMD_REMOVE_PORT,parse_DLCI0_rp_uih_cmd_port	
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+
+	branch parse_DLCI0_rp_uih_pn_cmd_spp
+
+parse_DLCI0_rp_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	call rfcomm_send_param_neg_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_res:
+	call parse_DLCI0_rp_uih_pn_res_common
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_pn_res_common:
+	call get_param_payload_ptr
+	branch  get_rfcomm_prarmer_negotiation
+
+get_rfcomm_param_modem_status:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	rshift3 pdata,pdata
+	store 1,mem_ms_channel
+	ifetch 1,contr
+	store 1,mem_ms_param
+	rtn
+
+
+get_rfcomm_head_struct:
+	ifetch 1,contr
+	store 1,mem_current_adss
+	rshift3 pdata,pdata
+	store 1,mem_current_channel
+	ifetch 1,contr
+	store 1,mem_current_frame_type
+get_rfcomm_current_length:
+	call get_rfcomm_length_common
+	storet 2,mem_current_length
+	copy contr,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	rtn
+
+get_rfcomm_uih_head_struct:
+	ifetch 1,contr
+	rshift pdata,pdata
+	store 1,mem_uih_cmd_type
+	call get_rfcomm_length_common
+	storet 2,mem_uih_length
+	copy contr,pdata
+	store 2,mem_param_payload_ptr
+	rtn
+
+
+get_param_payload_ptr:
+	fetch 2,mem_param_payload_ptr
+	copy pdata,contr
+	rtn
+
+get_rfcomm_length_common:
+	ifetch 1,contr
+	copy pdata,temp
+	rshift temp,temp
+	rtnbit1 0
+	ifetch 1,contr
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	iadd temp,temp
+	rtn
+
+get_rfcomm_prarmer_negotiation:
+	ifetch 1,contr
+	store 1,mem_pn_dlci
+	ifetch 1,contr
+	store 1,mem_pn_credit_flow_type_info
+	ifetch 1,contr
+	store 1,mem_pn_priority
+	ifetch 1,contr
+	store 1,mem_pn_acknowledg_timer
+	ifetch 2,contr
+	store 2,mem_pn_max_frame_size
+	ifetch 1,contr
+	store 1,mem_pn_max_retrans
+	ifetch 1,contr
+	store 1,mem_remote_credits
+	rtn
+
+
+parse_DLCI0_rp_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+
+	branch parse_DLCI0_rp_uih_ms_cmd_spp
+
+parse_DLCI0_rp_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	jam MORE_PKT_MSC_CMD_SPP,mem_rfcomm_send_more_pkt
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_ms_res:
+	jam BT_EVT_SPP_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	sub pdata,1,null
+	branch parse_DLCI0_rp_uih_MS_RES_spp,zero
+	branch assert
+parse_DLCI0_rp_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_cmd_port:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	store 1,mem_rpn_dlci
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	//setarg 5
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch34_7,mem_patch34
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1191
+	istore 2,contw
+	//fetch 1,mem_pn_dlci
+	//setarg 0x0b
+	fetch 1,mem_rpn_dlci
+	istore 1,contw //DLCI
+	setarg 0x000007
+	istore 5,contw
+//	setarg 0 //max frame size
+//	istore 2,contw 
+	setarg 0x01 //max retrans
+	istore 2,contw
+//	setarg 0x00
+//	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+
+
+parse_uih_rp:
+	branch parse_uih_rp_spp
+
+parse_uih_rp_spp:
+	bpatchx patch35_0,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_rp_spp_ua
+	beq RFCOMM_FRAME_TYPE_SABM,parse_uih_rp_spp_sabm
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn
+	rtn
+parse_uih_rp_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_rp_spp_sabm:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	set1 RFCOMM_CHANNEL_STATE_SABM,pdata
+	store 1,mem_spp_state
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	fetch 1,mem_current_adss
+	rshift2 pdata,pdata
+	store 1,mem_pn_dlci
+	lshift2 pdata,pdata
+	set0 RFCOMM_ADDRESS_CR,pdata
+	set1 RFCOMM_ADDRESS_EXT_LEN,pdata 
+	arg mem_HIUfcs_spp,temp // mem_HIUfcs_HF_WCredits in regB++
+	storet 2,mem_contw_temp
+	call rfcomm_save_FCS_uih
+	branch rfcomm_rx_process_end
+	
+parse_uih_spp_uih_credits:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	increase 1,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	ifetch 1,contr //remote credits
+	fetcht 1,mem_remote_credits
+	iadd temp,pdata
+	store 1,mem_remote_credits
+parse_uih_spp_uih:
+	call rfcomm_increase_credit_given
+parse_uih_spp_uih_cont:
+	call get_rfcomm_snd_adss
+	call rfcomm_send_uih_without_payload
+	call spp_process_rx_data
+	branch rfcomm_rx_process_end
+
+parse_uih_rp_spp_disconn_send_event:
+	jam BT_EVT_SPP_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event	
+parse_uih_rp_spp_disconn:
+	call rfcomm_init_spp
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	branch rfcomm_rx_process_end
+	
+///////////////////////////////////////////
+///////////////////////////////////////////
+///////////////////////////////////////////
+rfcomm_rx_process_reconn:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_DLCI0_reconn
+	branch parse_uih_reconn
+		
+parse_DLCI0_reconn:
+	bpatchx patch35_1,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_reconn_uih
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_reconn_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_reconn_uih_ms_res
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+	fetch 1,mem_pn_dlci
+	rshift pdata,pdata
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_pn_cmd_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_cmd_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_reconn_uih_ms_res:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_res_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn:
+	fetch 1,mem_current_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_uih_reconn_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_reconn_spp_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_reconn_spp_disconn
+parse_uih_reconn_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_reconn_spp_sabm:
+	branch parse_uih_reconn_spp_sabm//loop
+parse_uih_reconn_spp_disconn:
+	branch parse_uih_rp_spp_disconn
+rfcomm_rx_process_end:
+	rtn
+	
+rfcomm_send_more_pkt:
+	fetch 1,mem_rfcomm_send_more_pkt
+	rtn blank
+	beq MORE_PKT_MSC_CMD_SPP,rfcomm_send_more_pkt_msc_cmd_spp
+	branch assert
+	
+rfcomm_send_more_pkt_msc_cmd_spp:
+	jam 0,mem_rfcomm_send_more_pkt
+	call l2cap_malloc_rfcomm_channel
+	arg SPP_SLAVE_CHANNEL,temp
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+rfcomm_send_more_pkt_msc_cmd_spp0:
+	or_into 0x03,temp
+	arg 0xaa,regA
+	call rfcomm_send_modem_status_cmd
+	call l2cap_get_rfcomm_tx_buff
+	copy contw,contr
+	ifetch 2, contr
+	branch assert,blank
+	rtn
+
+rfcomm_send_sabm:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_2,mem_patch35
+	setarg 0x013f
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_ua:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_3,mem_patch35
+	setarg 0x0173
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_param_neg_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_4,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1183
+	istore 2,contw
+	copy temp,pdata //DLCI in temp
+	istore 1,contw
+	setarg 0x0000f0
+	istore 3,contw
+	setarg RFCOMM_MAX_FRAME_SIZE
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	setarg 0x01		//change here later
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	jam 0x10,mem_credit_given
+	rtn
+rfcomm_send_param_neg_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_5,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1181
+	istore 2,contw
+	fetch 1,mem_pn_dlci
+	istore 1,contw //DLCI
+	setarg 0x0000e0
+	istore 3,contw
+	fetch 2,mem_rfcomm_max_frame_size
+	istore 2,contw 
+	setarg 0x00 //max retrans
+	istore 1,contw
+	fetch 1,mem_rfcomm_credit_init_data
+	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+rfcomm_send_modem_status_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_6,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e3
+	istore 2,contw
+	copy temp,pdata //DLCI adress
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_modem_status_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	copy temp,timeup
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_7,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e1
+	istore 2,contw
+	copy timeup,pdata //DLCI address in temp
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_uih_without_payload:
+	bpatchx patch36_0,mem_patch36
+	fetch 1,mem_credit_given
+	rtn blank
+	hfetch 2,core_uart_rxitems
+	nrtn blank
+	copy rega,pdata
+	store 1,mem_pdatatemp+1
+	storet 1,mem_pdatatemp
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x05
+	istore 2,contw
+	fetch 2,mem_RFCOMM_remote_CID
+	istore 2,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	setarg 0x01ff
+	istore 2,contw
+	fetch 1,mem_credit_given
+	istore 1,contw
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	istore 1,contw
+	jam 0,mem_credit_given
+	rtn
+	
+rfcomm_increase_credit_given:
+	bpatchx patch36_1,mem_patch36
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_ENABLE
+	fetch 2,mem_current_length
+	rtn blank
+	fetch 1,mem_credit_given
+	increase 1,pdata
+	store 1,mem_credit_given
+	rtn
+
+spp_process_rx_data:
+	fetch 2,mem_cb_receive_spp_data
+	branch callback_func
+
+spp_tx_rfcomm_packet:
+	bpatchx patch36_2,mem_patch36
+	//credit
+	fetch 1,mem_remote_credits
+	rtn blank
+	increase -1,pdata
+	store 1,mem_remote_credits
+	fetch 2,mem_pn_max_frame_size
+	fetcht 2,mem_current_packet_length
+	isub temp,null
+	branch ssp_tx_rfcomm_from_uart,positive
+	store 2,mem_current_packet_length
+ssp_tx_rfcomm_from_uart:
+	fetch 1,mem_credit_given
+	branch ssp_tx_rfcomm_from_uart_without_credit,blank
+	jam 1,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_RX_UIH_WDATA
+	store 1,mem_rfcomm_send_frame_type
+	branch ssp_tx_rfcomm_from_uart_common
+ssp_tx_rfcomm_from_uart_without_credit:
+	jam 0,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_TX_UIH
+	store 1,mem_rfcomm_send_frame_type
+ssp_tx_rfcomm_from_uart_common:
+	bpatchx patch36_3,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,127,null
+	branch ssp_tx_rfcomm_from_uart_common0,positive
+	fetch 1,mem_rfcomm_send_offset
+	increase 1,pdata
+	store 1,mem_rfcomm_send_offset
+ssp_tx_rfcomm_from_uart_common0:
+	call get_rfcomm_snd_adss
+	fetch 2,mem_current_packet_length
+	increase 8,pdata	//fcs + rfcommhead + l2caphead == 8
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,rega
+	//rfcomm payload
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	copy pdata,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	fetch 1,mem_rfcomm_send_frame_type
+	istore 1,contw
+	call ssp_tx_write_length
+	call ssp_tx_write_given_credit
+	bpatchx patch36_4,mem_patch36
+	fetch 2,mem_nl_rx_data_src		//src
+	copy pdata,contru
+	fetch 2,mem_current_packet_length
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contw,temp
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+	copy temp,contw	
+	fetch 1,mem_rfcomm_send_fcs
+	istore 1,contw
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	copy pdata,contw
+	fetch 2,mem_current_packet_length
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,pdata
+	increase 4,pdata
+	istore 2,contw
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw
+	jam 0,mem_credit_given	//whatever mem_credit_given is set to 0
+	fetch 2,mem_nl_rx_len_all
+	beq 0,module_hci_command_tx_spp_tx_complete
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	rtn
+
+ssp_tx_write_length:
+	bpatchx patch36_5,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,0x7f,null
+	nbranch ssp_tx_write_long_packet,positive
+	lshift pdata,pdata
+	set1 0,pdata
+	istore 1,contw
+	rtn
+ssp_tx_write_long_packet:
+	fetch 2,mem_current_packet_length
+	rshift3 pdata,pdata
+	rshift4 pdata,temp
+	and_into 0x7f,pdata
+	lshift pdata,pdata
+	set0 0,pdata
+	istore 1,contw
+	istoret 1,contw
+	rtn
+ssp_tx_write_given_credit:
+	fetch 1,mem_credit_given
+	rtn blank
+	istore 1,contw
+	rtn
+
+	
+
+
+scheduler_process:
+	bpatchx patch36_6,mem_patch36
+	call check_51cmd
+	call app_process_bb_event
+	call process_conn_sm
+/* check the connection state sequence byte */
+	bpatchx patch36_7,mem_patch36
+	call sp_calc_sequence
+	call simple_pairing_sequence
+	call master_simple_paring_sequence
+//return if it is hci mode. 'cause the following is host part.
+//notify BB to tx a l2cap packet
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	//for conn to MTK 
+	call l2cap_call_proc_sigal_pending
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	bpatchx patch37_0,mem_patch37
+//to generat a new l2cap packet
+	call process_upper_sm
+	call l2cap_send_config_req
+	call rfcomm_send_more_pkt//use this function to send msc_cmd after msc_rep sent
+scheduler_process0:
+	call scheduler_tx_disconnect_hid //may not used
+	bpatchx patch37_1,mem_patch37
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	branch app_process_bt
+	
+scheduler_tx_disconnect_hid:
+	fetch 1,mem_CONTROL_tasks		
+	bbit1 L2CAP_DISCONNECT_INTERRUPT,L2CAP_disconnect_interrupt_req
+	bbit1 L2CAP_DISCONNECT_CONTROL,L2CAP_disconnect_control_req
+	rtn
+	
+scheduler_tx_l2cap_pkt:
+	bpatchx patch37_2,mem_patch37
+	call l2cap_malloc_is_fifo_empty
+	rtn blank //empty
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+	call l2cap_malloc_fifo_out
+	store 2,mem_txptr
+	copy pdata,contr
+	ifetch 2,contr
+	increase 4,pdata
+	store 2,mem_tx_len
+	jam 6,mem_tx_lch//start pkt
+	bpatchx patch37_3,mem_patch37
+	fetch 2,mem_l2cap_tx_multi_offset
+	branch scheduler_tx_l2cap_start_pkt,blank
+	fetch 1,mem_op
+	rtnbit0 op_pkt_comp
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	jam 5,mem_tx_lch//continue pkt
+	fetcht 2,mem_l2cap_tx_multi_offset
+	fetch 2,mem_txptr
+	iadd temp,pdata
+	store 2,mem_txptr
+	fetch 2,mem_tx_len
+	isub temp,pdata
+	store 2,mem_tx_len
+scheduler_tx_l2cap_start_pkt:
+	bpatchx patch37_4,mem_patch37
+	fetch 2,mem_tx_len
+	branch assert,blank
+	arg l2cap_max_pkt_len,temp //max len of dh3 pkt
+	isub temp,pdata
+	nbranch scheduler_Tx_l2cap_last_pkt,positive
+	bpatchx patch37_5,mem_patch37
+	storet 2,mem_tx_len //l2cap_max_pkt_len
+	fetch 2,mem_l2cap_tx_multi_offset
+	iadd temp,pdata
+	store 2,mem_l2cap_tx_multi_offset
+	branch scheduler_Tx_l2cap_pkt_end
+scheduler_Tx_l2cap_last_pkt:
+	setarg 0
+	store 2,mem_l2cap_tx_multi_offset
+scheduler_Tx_l2cap_pkt_end:
+	fetch 1,mem_op
+	set1 op_txl2cap,pdata
+	store 1,mem_op
+	rtn
+
+scheduler_start_upper_sm:
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,scheduler_start_upper_sm_hid
+	jam UPPERSM_RECONN_SDP_CONN,mem_upper_sm_reconn
+	rtn
+scheduler_start_upper_sm_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	rtn
+	
+process_upper_sm:
+	fetch 1,memui_reconnect_mode
+	nbranch process_upper_sm_reconn,blank
+process_upper_sm_remote_page:
+	fetch 1,mem_upper_sm_remote_page
+	//beq UPPERSM_RP_IDLE,process_upper_sm_rp_idle
+	rtn blank
+	//nothing to do when remote page to create a connection.
+	jam 0,mem_upper_sm_remote_page
+process_upper_sm_rp_wait:
+	rtn
+
+
+process_upper_sm_reconn:
+	bpatchx patch37_6,mem_patch37
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+	beq UPPERSM_RECONN_SDP_CONN,process_upper_sm_reconn_sdp_conn
+	beq UPPERSM_RECONN_SDP_CONN_WAIT,process_upper_sm_reconn_sdp_conn_wait
+	beq UPPERSM_RECONN_SDP_CFG,process_upper_sm_reconn_sdp_cfg
+	beq UPPERSM_RECONN_SDP_CFG_WAIT,process_upper_sm_reconn_sdp_cfg_wait
+	beq UPPERSM_RECONN_SS_SPP,process_upper_sm_reconn_ss_spp
+	beq UPPERSM_RECONN_SS_SPP_WAIT,process_upper_sm_reconn_ss_spp_wait
+	beq UPPERSM_RECONN_SDP_DISCONN,process_upper_sm_reconn_sdp_disconn
+	beq UPPERSM_RECONN_SDP_DISCONN_WAIT,process_upper_sm_reconn_sdp_disconn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CONN,process_upper_sm_reconn_hid_ctrl_conn
+	beq UPPERSM_RECONN_HID_CTRL_CONN_WAIT,process_upper_sm_reconn_hid_ctrl_conn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CFG,process_upper_sm_reconn_hid_ctrl_cfg
+	beq UPPERSM_RECONN_HID_CTRL_CFG_WAIT,process_upper_sm_reconn_hid_ctrl_cfg_wait
+	beq UPPERSM_RECONN_HID_INT_CONN,process_upper_sm_reconn_hid_int_conn
+	beq UPPERSM_RECONN_HID_INT_CONN_WAIT,process_upper_sm_reconn_hid_int_conn_wait
+	beq UPPERSM_RECONN_HID_INT_CFG,process_upper_sm_reconn_hid_int_cfg
+	beq UPPERSM_RECONN_HID_INT_CFG_WAIT,process_upper_sm_reconn_hid_int_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_CONN,process_upper_sm_reconn_rfcomm_conn
+	beq UPPERSM_RECONN_RFCOMM_CONN_WAIT,process_upper_sm_reconn_rfcomm_conn_wait
+	beq UPPERSM_RECONN_RFCOMM_CFG,process_upper_sm_reconn_rfcomm_cfg
+	beq UPPERSM_RECONN_RFCOMM_CFG_WAIT,process_upper_sm_reconn_rfcomm_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_SABM,process_upper_sm_reconn_rfcomm_sabm
+	beq UPPERSM_RECONN_RFCOMM_SABM_WAIT,process_upper_sm_reconn_rfcomm_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_PN,process_upper_sm_reconn_spp_cmd_pn
+	beq UPPERSM_RECONN_SPP_CMD_PN_WAIT,process_upper_sm_reconn_spp_cmd_pn_wait
+	beq UPPERSM_RECONN_SPP_SABM,process_upper_sm_reconn_spp_sabm
+	beq UPPERSM_RECONN_SPP_SABM_WAIT,process_upper_sm_reconn_spp_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_MS,process_upper_sm_reconn_spp_cmd_ms
+	beq UPPERSM_RECONN_SPP_CMD_MS_WAIT,process_upper_sm_reconn_spp_cmd_ms_wait
+process_upper_sm_reconn_wait:
+	rtn
+process_upper_sm_reconn_sdp_conn:
+	call upper_sm_send_sdp_conn //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_sdp_cfg:
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	call upper_sm_send_sdp_cfg //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_ss_spp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank
+	call upper_sm_send_ss_spp
+	jam UPPERSM_RECONN_SS_SPP_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_sdp_disconn:
+	call upper_sm_send_sdp_disconn
+	jam UPPERSM_RECONN_SDP_DISCONN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_hid_ctrl_conn:
+	call upper_sm_send_hid_ctrl_conn
+	jam UPPERSM_RECONN_HID_CTRL_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_ctrl_cfg:    
+	call upper_sm_send_hid_ctrl_cfg
+	jam UPPERSM_RECONN_HID_CTRL_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_int_conn:
+	call upper_sm_send_hid_int_conn
+	jam UPPERSM_RECONN_HID_INT_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_hid_int_cfg:    
+	call upper_sm_send_hid_int_cfg
+	jam UPPERSM_RECONN_HID_INT_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_rfcomm_conn:
+	call upper_sm_send_rfcomm_conn
+	jam UPPERSM_RECONN_RFCOMM_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_cfg: 
+	call upper_sm_send_rfcomm_cfg
+	jam UPPERSM_RECONN_RFCOMM_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_sabm:
+	call upper_sm_send_rfcomm_sabm
+	jam UPPERSM_RECONN_RFCOMM_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_spp_cmd_pn: 
+	call upper_sm_send_spp_cmd_pn
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_PN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_spp_sabm:   
+	call upper_sm_send_spp_sabm
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SABM
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_remote_spp_channel //address in pdata
+	lshift3 pdata,pdata
+	or_into 3,pdata
+	arg mem_HIUfcs_SPP,temp // mem_HIUfcs_spp_WCredits in regB++
+	storet 2,mem_contw_temp
+	branch rfcomm_save_FCS_uih
+process_upper_sm_reconn_spp_cmd_ms: 
+	call upper_sm_send_spp_cmd_ms
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_MS_WAIT,mem_upper_sm_reconn
+	rtn
+
+process_upper_sm_reconn_sdp_conn_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_cfg_wait:
+	fetch 1,mem_sdp_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_SS_SPP ,mem_upper_sm_reconn
+process_upper_sm_reconn_ss_spp_wait:
+	fetch 1,mem_message_to_uppersm
+	rtnne RECIEVE_SS_REASULT_HF
+	jam 0,mem_message_to_uppersm
+	jam UPPERSM_RECONN_SDP_DISCONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_disconn_wait:
+	fetch 1,mem_sdp_state
+	nrtn blank
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,process_upper_sm_reconn_setup_hid
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+	fetch 1,mem_hid_control_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_CTRL_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+	fetch 1,mem_hid_control_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_HID_INT_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_conn_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_INT_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_cfg_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_rfcomm_conn_wait: 
+	fetch 1,mem_rfcomm_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_RFCOMM_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_cfg_wait:
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_RFCOMM_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_sabm_wait:  
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_spp
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_spp_cmd_pn_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_PN_RES
+	jam UPPERSM_RECONN_SPP_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_sabm_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_UA
+	jam UPPERSM_RECONN_SPP_CMD_MS ,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_cmd_ms_wait: 
+	fetch 1,mem_spp_state
+	rtnne RFCOMM_CHANNEL_SETUP_COMPLETE
+	branch process_upper_sm_reconn_termination
+
+process_upper_sm_reconn_setup_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+process_upper_sm_reconn_setup_rfcomm:
+	jam UPPERSM_RECONN_RFCOMM_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_setup_spp:
+	jam UPPERSM_RECONN_SPP_CMD_PN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+
+
+process_upper_sm_reconn_termination:
+	jam 0,mem_upper_sm_reconn
+	rtn
+upper_sm_send_sdp_conn:
+	bpatchx patch37_7,mem_patch37
+	call l2cap_malloc_signal_channel
+	setarg PSM_SDP
+	copy pdata,temp
+	setarg L2CAP_SDP_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_sdp_cfg:
+	bpatchx patch38_0,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+	
+upper_sm_send_sdp_disconn:
+	bpatchx patch38_1,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	arg L2CAP_SDP_channel,timeup
+	call ML2CAP_send_signal_disconn_req
+	fetch 1,mem_sdp_state
+	set0 L2CAP_CHANNEL_STATE_RCV_CFG_RES ,pdata
+	store 1,mem_sdp_state
+	rtn
+//service search
+upper_sm_send_ss_spp:
+	bpatchx patch38_2,mem_patch38
+	call l2cap_malloc_sdp_channel
+	call sdp_send_spp_request
+	branch MSDP_send_req_done
+
+upper_sm_send_rfcomm_conn:
+	bpatchx patch38_3,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_RFCOMM
+	copy pdata,temp
+	setarg L2CAP_RFCOMM_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_rfcomm_cfg:
+	bpatchx patch38_4,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_rfcomm_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_ctrl_conn:
+	bpatchx patch38_5,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_control
+	copy pdata,temp
+	setarg L2CAP_HID_Control_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_hid_ctrl_cfg:
+	bpatchx patch38_6,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_int_conn:
+	bpatchx patch38_7,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_interrupt
+	copy pdata,temp
+	setarg L2CAP_HID_interrupt_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_hid_int_cfg:
+	bpatchx patch39_0,mem_patch39
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_rfcomm_sabm:
+	bpatchx patch39_1,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	//force 3,temp //address
+	jam 3,mem_current_adss
+	jam 0x1c,mem_current_fcs
+	call rfcomm_send_sabm
+	jam 1,mem_rfcomm_initiator
+	rtn
+
+upper_sm_send_spp_cmd_pn:
+	bpatchx patch39_2,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_remote_spp_channel
+	call channel_to_dlci
+	storet 1,mem_pn_dlci
+	branch rfcomm_send_param_neg_cmd
+
+upper_sm_send_spp_sabm:
+	bpatchx patch39_3,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	call rfcomm_calculate_FCS_sabm //sabm fcs use once only,not need to save
+	store 1,mem_current_fcs
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	storet 1,mem_current_adss
+	branch rfcomm_send_sabm
+
+upper_sm_send_spp_cmd_ms:
+	bpatchx patch39_4,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd //address in temp
+	branch rfcomm_send_modem_status_cmd
+
+
+
+/**********************************************************************/
+/* Subroutine: sdp_process                                         */
+/* Process Service Discovery Request                                  */
+/* Called from L2CAP, check PDUID, branch to different req processings*/
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload                                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process:
+	bpatchx patch39_5,mem_patch39
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+//	ifetchr regb,1,contr				/* PDUID */
+//	storer regb,1,mem_sdp_pduid
+	ifetch 1,contr
+	copy pdata,regb
+	store 1,mem_sdp_pduid
+	ifetch 2,contr
+	store 2,mem_sdp_transactionid			/* save transaction id */
+	ifetch 1,contr				/* higher byte of parameter length */
+	lshift8 pdata,timeup				
+	ifetch 1,contr				/* lower byte of parameter length */
+	iadd timeup,timeup				/* parameter length stored in "timeup" */
+	bpatchx patch39_6,mem_patch39
+	copy contr,temp
+	arg 4,loopcnt
+	arg mem_sdp_handle_list,contw
+	call memset0
+	copy temp,contr 
+	deposit regb						/* PDUID  */
+	beq SDP_ERROR_RES,sdp_process_error_res
+	beq SDP_SEARCH_REQ,sdp_process_ss_req
+	beq SDP_SEARCH_RES,sdp_process_ss_res
+	beq SDP_ATTRIBUTE_REQ,sdp_process_sa_req
+	beq SDP_ATTRIBUTE_RES,sdp_process_sa_res
+	beq SDP_SEARCHATTRIB_REQ,sdp_process_ssa_req
+	beq SDP_SEARCHATTRIB_RES,sdp_process_ssa_res
+	branch sdp_insufficient_resource
+
+/**********************************************************************/
+/* ss_req			                              */
+/* Processing Service Search Request                                  */
+/* Call: ask_serviceclassid, empty_response                     */
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ss_req:
+	bpatchx patch39_7,mem_patch39
+	call ask_serviceclassid
+	compare 1,temp,0xff
+	branch ss_empty_rsp,true
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+
+	ifetch 2,contr				/* max aservice record count */
+	store 2,mem_sdp_record_maxcnt
+	increase -2,timeup
+
+	increase -1,timeup				/* continuation state 1 byte (0) */
+	nbranch sdp_invalid_pdu_size,zero		/* invalid pdu size */
+	arg mem_sdp_uuid_search_ptr,timeup
+	ifetch 2,timeup
+	rtn blank
+	call search_all_uuid
+	call l2cap_get_sdp_tx_payload			/* put the pointer to Tx buffer  */
+	force 3,pdata						/* PDUID 3, Service Search Response */
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			/* write transaction id */
+	istore 2,contw
+	lshift2 queue,pdata
+	add pdata,5,pdata
+	add pdata,5,regc
+	byteswap pdata,pdata
+	istore 2,contw							/* write parLength */
+	deposit queue
+	byteswap pdata,pdata
+	istore 2,contw							/* write TotSrvRecCount */
+	istore 2,contw							/* write CurSrvRecCount */
+	arg mem_sdp_handle_list,contr
+	copy queue,loopcnt
+	branch ss_req_blank,zero
+ss_req_loop:	
+	ifetch 4,contr
+	istore 4,contw
+	loop ss_req_loop
+ss_req_blank:	
+	force 0,pdata
+	istore 1,contw							/* continuation state */
+	deposit regc
+	store 2,mem_sdp_tx_pkt_length
+//	branch assert,blank
+	rtn
+
+/**********************************************************************/
+/* sa_req			                              */
+/* Processing Service Attribute Request                               */
+/* Call: ask_attributeid, empty_response (if 3 stored attr.     */
+/* not asked) or answer_attributelist                              */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_sa_req:
+	bpatchx patch3a_0,mem_patch3a
+	ifetch 4,contr				/* service record handle */
+	store 4,mem_sdp_record_handle	 
+	increase -4,timeup
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6		/* result: data size stored in rega */
+	branch sdp_invalid_request_syntax,zero
+	compare 5,rega,0xff  // length
+	//branch sa_req_all,true
+	branch sa_judge_wholerange,true
+sa_isnot_wholerange:
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+	branch sa_req_loop
+sa_judge_wholerange:
+	ifetch 1,contr
+	bne SDP_ATTRIBUTE_RANGE,sdp_invalid_request_syntax
+	ifetch 2,contr
+	nbranch sa_judge_wholerange_false1,blank
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false2
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false3		//also exist potential bug because mem_sdp_attrib_list length is only 7f
+	branch sa_req_all
+sa_judge_wholerange_false3:
+	increase -5,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false2:
+	increase -4,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false1:
+	increase -3,contr
+	branch sa_isnot_wholerange
+sa_req_loop:	
+	ifetch 1,contr
+	beq SDP_ATTRIBUTE_ID, sa_req_one_id
+	beq SDP_ATTRIBUTE_RANGE, sa_req_range
+sa_req_range:
+	ifetch 2, contr
+	istore 2, contw
+	increase 1,queue
+	byteswap pdata,regb
+	ifetch 2, contr
+	byteswap pdata,pdata
+sa_req_range_id_increase:	
+	increase 1, regb
+	isub regb, null
+	nbranch sa_req_range_id_finish,positive
+	copy pdata, regc
+	byteswap regb,pdata
+	istore 2, contw
+	increase 1,queue
+	copy regc, pdata
+	branch sa_req_range_id_increase
+sa_req_range_id_finish:
+	increase -5,timeup
+	increase -5,rega
+	branch sa_req_check_next_id
+sa_req_one_id:
+	ifetch 2,contr
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+sa_req_check_next_id:	
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch sa_req_loop,zero //another attribute 
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw
+	arg mem_sdp_attrib_list,rega
+sa_req_handle_attributelist_next:
+	copy queue,pdata
+	branch sa_req_handle_attributelist_end,blank
+	ifetch 2,rega
+	branch sa_req_handle_attributelist_end,blank
+	iforce regb /* regb is the attribute ID */
+	fetch 4,mem_sdp_record_handle	
+	iforce temp
+	call search_handle_attrib
+	copy contr,pdata
+	branch sa_req_handle_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+	call memcpy
+sa_req_handle_attributelist_notfound:
+	increase 2,rega
+	increase -1, queue
+	branch sa_req_handle_attributelist_next
+
+sa_req_handle_attributelist_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	call ssa_req_range_lastfreg_common
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 11,sa_empty_rsp
+	branch  ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_continue_common:
+	ifetch 1, contr
+	beq 0, sdp_store_continue_0byte
+	beq 1,sdp_store_continue_1byte
+	beq 2, sdp_store_continue_2byte
+sdp_store_continue_0byte:	
+	increase -1,timeup				/* continuation state byte (0) */
+	branch sdp_store_continue_end
+sdp_store_continue_1byte:
+	ifetch 1, contr
+	increase -2,timeup				/* continuation state byte (1) */
+	branch sdp_store_continue_end
+sdp_store_continue_2byte:
+	ifetch 2, contr
+	byteswap pdata,pdata
+	increase -3,timeup				/* continuation state byte (2) */
+sdp_store_continue_end:
+	store 2, mem_sdp_continue_byte	
+	rtn
+	
+sa_req_all:	
+	increase -5,timeup
+	call sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	fetcht 4,mem_sdp_record_handle		
+	call search_handle
+	nbranch sdp_invalid_service_record_handle,zero
+	copy contr,rega
+	call l2cap_get_sdp_tx_payload
+	copy rega,contr
+	increase 3,contw//arg mem_SDP_Tx_payload+3,contw
+	copy contr,timeup //sdp start pointer
+	call sdp_get_data
+	copy pdata, rega //sdp total length
+//	fetchr regb,2,mem_sdp_continue_byte
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in regb
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	nbranch sa_req_all_fragment_sdp, positive
+	// the last fragment
+	disable user
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr //set the read pointer
+	increase 3,regb //include the total length field, 3 bytes
+	copy regb, loopcnt
+	copy loopcnt, pdata
+	increase 3, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	copy loopcnt, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fisrt_fragment:
+	add rega,6,loopcnt
+	branch sa_req_all_parlength_continue_byte, user
+	byteswap loopcnt,pdata
+	branch sa_req_all_parlength_continue_byte_end
+sa_req_all_parlength_continue_byte:
+	copy loopcnt, pdata
+	increase 2, pdata
+	byteswap pdata,pdata
+sa_req_all_parlength_continue_byte_end:
+	istore 2,contw				/* ParLength */
+	increase -3,loopcnt
+	byteswap loopcnt,pdata			
+	istore 2,contw				/* AttrListByteCount */
+	copy timeup,contr
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fragment_sdp:
+	enable user
+//	fetchr rega,2,mem_sdp_attribute_maxbyte
+	fetch 2,mem_sdp_attribute_maxbyte
+	copy pdata,rega
+	copy rega,loopcnt
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr
+	copy rega,pdata
+	increase 5,pdata
+	byteswap pdata,pdata	
+	istore 2, contw
+	copy rega,pdata
+	byteswap pdata,pdata
+	istore 2, contw
+sa_req_all_answer_attributelist_full_loop:
+	call memcpy
+	nbranch sa_req_all_last_frag_continue, user
+	force 2,pdata
+	istore 1,contw
+	copy contr, pdata
+	isub timeup, pdata
+	byteswap pdata,pdata
+	istore 2, contw   // continuation length
+	branch sa_req_all_frag_end
+sa_req_all_last_frag_continue:
+	force 0,pdata
+	istore 1,contw
+sa_req_all_frag_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	branch ssa_req_range_common	
+	
+/**********************************************************************/
+/* ssa_req                          		      */
+/* Processing Service Search Attribute Request                        */
+/* Call: ask_serviceclassid, ask_attributeid, empty_response */
+/*       or answer_attributelist                                   */  
+/* Input:       contr                                                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_req:
+	bpatchx patch3a_1,mem_patch3a
+	call ask_serviceclassid
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+ssa_req_loop:	
+	ifetch 1,contr 
+	beq SDP_ATTRIBUTE_RANGE,ssa_req_range
+	ifetch 2,contr 
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch ssa_req_loop,zero
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	call l2cap_get_sdp_tx_payload
+	increase 13,contw//arg mem_SDP_Tx_payload+13,contw
+	fetch 2,mem_sdp_uuid_search_ptr
+	iforce regc
+	arg mem_sdp_attrib_list,rega
+ssa_req_attributelist_next:	
+	ifetch 2,rega
+	branch ssa_req_attributelist_end,blank
+	iforce regb						/* regb is the attribute ID */
+	call search_attrib
+	branch ssa_req_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+  	call memcpy
+ssa_req_attributelist_notfound:
+	increase 2,rega
+	branch ssa_req_attributelist_next
+
+ssa_req_attributelist_end:
+	call ssa_req_range_lastfreg
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 14,ssa_empty_rsp
+	call ssa_req_range_attrbutes_length_no_continue
+	branch ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_maxbyte:	
+	ifetch 2,contr				 
+	byteswap pdata,pdata
+	increase -3,pdata	
+	arg 200,temp
+	isub temp,null
+	nrtn positive
+	setarg 200
+	rtn
+	
+
+ssa_req_range:
+	increase 4,contr
+	increase -5,timeup
+	increase -5,rega
+	nbranch sdp_invalid_request_syntax,zero
+	call 	sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	arg mem_sdp_uuid_search_ptr,timeup
+	call search_all_uuid  
+	deposit queue
+	branch ssa_empty_rsp,blank
+	store 1,mem_handle_humber
+//	storer regb,2,mem_sdp_all_length
+	copy regb,pdata
+	store 2,mem_sdp_all_length
+	arg 0,queue
+	arg 0,rega
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw 
+ssa_req_range_find_handle:
+	call ssa_req_range_get_length	
+	nbranch assert,user
+	copy contr,timeup
+	copy pdata,regc
+	iadd rega,rega
+//	copy pdata,rega 
+//	fetch 2,mem_sdp_all_length
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	branch ssa_req_range_first_freg,blank
+ssa_req_range_later_freg_with_continue:
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in rega
+	branch ssa_req_range_next_handle,zero
+	nbranch ssa_req_range_next_handle,positive
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	branch ssa_req_range_maxbyte_with_continue,zero
+	nbranch ssa_req_range_maxbyte_with_continue, positive  
+	
+ // data length < =maxbyte 
+ssa_req_range_send_not_maxbyte:
+ 	copy regb,loopcnt
+	call ssa_req_range_maxbyte_with_continue_cpy
+ 	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	branch ssa_req_range_lastfreg,zero
+	branch ssa_req_range_freg_with_continue
+	
+ssa_req_range_maxbyte_with_continue:
+ 	copy pdata,loopcnt
+ 	call ssa_req_range_maxbyte_with_continue_cpy
+ 	branch ssa_req_range_freg_with_continue
+ 	
+ssa_req_range_maxbyte_with_continue_cpy:
+	increase -3,contw   
+	copy loopcnt,temp
+ 	copy regc,pdata
+	isub regb,pdata
+	iadd timeup,contr
+ 	branch memcpy
+
+ssa_req_range_next_handle:
+	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	rtn zero //
+	branch ssa_req_range_find_handle
+
+ssa_req_range_get_length:	
+	call disable_user
+	arg mem_sdp_handle_list,contr
+	lshift2 queue,pdata
+	iadd contr,contr
+	ifetcht 4, contr
+	call search_handle
+	nrtn zero
+	call sdp_data_len
+	branch enable_user
+
+ssa_req_range_first_freg:
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub rega, null
+	nbranch ssa_req_range_firstfreg_maxbyte_with_continue,positive
+	copy rega,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	fetch 2,mem_sdp_all_length
+	isub rega,null
+	branch ssa_req_range_freg_no_continue,zero
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+	call ssa_req_range_freg_with_continue
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_freg_no_continue:
+	call ssa_req_range_lastfreg
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_lastfreg:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+ssa_req_range_lastfreg_common:
+	force 0,pdata
+	istore 1,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw  //attribute length
+	rtn
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+	copy pdata,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	call ssa_req_range_freg_with_continue
+ssa_req_range_attrbutes_length:	
+	setarg 0x36
+	istore 1,contw
+	fetch 2,mem_sdp_all_length
+	byteswap pdata,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_attrbutes_length_no_continue:	
+	setarg 0x36
+	istore 1,contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_freg_with_continue:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+	setarg 2
+	istore 1,contw	
+	fetch 2,mem_sdp_continue_byte
+	iadd temp,temp
+	byteswap temp,pdata
+	istore 2,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_common:
+	fetch 2,mem_sdp_tx_payload_ptr
+	isub contw,pdata
+	sub pdata,0,pdata
+	store 2,mem_sdp_tx_pkt_length
+	call l2cap_get_sdp_tx_payload 
+	copy rega,pdata  //PUD ID
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid
+	istore 2,contw
+	rtn
+
+
+
+
+/**********************************************************************/
+/* ssa_res			                      */
+/* Processing Service Search Attribute Response                       */
+/* Call: dataelementtype6, attribute_reading                    */
+/* Input:       contr                                                 */
+/* Output:      mem_sdp_record_handle,mem_sdp_search_failed           */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_res:
+sdp_process_ss_res:
+sdp_process_sa_res:
+sdp_process_error_res:
+	rtn
+/*
+sdp_process_ss_res:
+	bpatchx patch3a_2,mem_patch3a
+	ifetch 2,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	bne 1,assert
+	ifetch 4,contr
+	store 4,mem_sdp_record_handle
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES,pdata
+	istore 1,regc
+	rtn
+	
+sdp_process_sa_res:
+	bpatchx patch3a_3,mem_patch3a
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES,pdata
+	istore 1,regc
+	copy temp,contr
+	ifetch 2,contr
+	call search_rfcomm_cn
+	store 1,mem_profile_channel	
+	rtn
+*/
+
+				    
+
+sdp_invalid_service_record_handle:		
+	setarg 0x0200
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_pdu_size:				
+	setarg 0x0400
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_insufficient_resource:			
+	setarg 0x0600
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_request_syntax:			
+	setarg 0x0300
+	store 2,mem_sdp_error_code
+sdp_error_response:	
+	call l2cap_get_sdp_tx_payload
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			
+	istore 2,contw
+	setarg 0x0200					
+	istore 2,contw
+	fetch 2,mem_sdp_error_code			
+	istore 2,contw
+	jam  7,mem_sdp_tx_pkt_length
+	rtn
+
+
+//store uuid in mem_sdp_uuid_search_ptr,
+//return temp 0xff if wrong 
+ask_serviceclassid:  
+	arg 0,regb
+	force 0,temp					/* use "temp" to mark syntax error or to mark 128 bit uuid */
+	arg mem_sdp_uuid_search_ptr,contw
+	call dataelementtype6
+	branch asksrv_error,zero
+classidloop:
+	increase 1,regb
+	ifetch 1,contr
+	increase -1,rega
+	increase -1,timeup
+	compare 0x18,pdata,0xf8			/* 5 MSB: b00011: uuid */
+	nbranch asksrv_error,true
+	compare 0x04,pdata,0x07			/* 3 LSB: b100 128 bits uuid */
+	nbranch cmp032,true
+	force 1,temp					/* mark it as 128 bit uuid */
+skip2bytes:
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	bne 0x00, frstbwrong
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	beq 0x00, cmpuuid
+	branch scndbwrong
+frstbwrong:  
+	increase 1,contr
+	increase -1,rega	
+	increase -1,timeup
+scndbwrong:  
+	increase 2,contr				/* skip 2 bytes, first 2 bytes already wrong */
+	increase -2,rega	
+	increase -2,timeup
+	compare 0x00,temp,0xff                        /* 128 bits or 32 bits ? */
+	branch loopornot,true
+	increase 12,contr				/* skip 12 bytes, first 2 bytes already wrong */
+	increase -12,rega	
+	increase -12,timeup
+	branch loopornot
+cmp032:
+	compare 0x02,pdata,0x07			/* 3 LSB: b010 32 bits uuid */
+	nbranch cmp016,true
+	branch skip2bytes			
+cmp016:
+	compare 0x01,pdata,0x07			/* 3 LSB: b001 16 bit uuid */
+	nbranch asksrv_error,true
+cmpuuid:
+	increase -2,rega
+	increase -2,timeup
+	ifetch 2,contr				/* higher order byte */
+	sub regb,4,null
+	branch uuidsize,zero //max store uuids =3 
+	istore 2,contw
+uuidsize:
+	compare 0x00,temp,0xff			/* is this 128 bits uuid */
+	branch loopornot,true
+	copy contr,temp
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x10, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x5f, wrong12b
+	ifetch 1,contr
+	bne 0x9b, wrong12b
+	ifetch 1,contr
+	bne 0x34, wrong12b
+	ifetch 1,contr
+	beq 0xfb, chck12dn
+wrong12b:
+	copy temp,contr  
+wrong12b1:
+	increase 12,contr				/* skip 12 bytes */
+	force 0x00,queue
+	force 0x00,temp
+	branch chck12dn
+
+chck12dn:
+	increase -12,timeup
+	increase -12,rega
+loopornot:
+	force 0x00,temp
+	compare 0x00,rega,0xff
+	nbranch classidloop,true
+	force 0,pdata
+	istore 2,contw			/* end list with null */
+	rtn
+asksrv_error:
+	arg 0xff,temp
+	rtn
+
+/**********************************************************************/
+/* Subroutine: dataelementtype6                                    */
+/* Parse Data Element Sequence, obtain the data size                  */
+/* Input:  SDP Rx Buf Pointer in contr, parameter count in timeup     */
+/* Output: data length in rega, data pointer in contr             */
+/*         and  parameter count in timeup, return with zero flag set: */
+/*         syntax error                                               */
+/**********************************************************************/     
+dataelementtype6:
+	bpatchx patch3a_4,mem_patch3a
+	ifetch 1,contr
+	increase -1,timeup
+	compare 0x30,pdata,0xf8			/* 5 MSB: b00110: type 6 */
+	nbranch dsize_error,true
+	compare 0x07,pdata,0x07			/* 3 LSB: b111: 32 bits */
+	branch dsize32,true
+	compare 0x06,pdata,0x07			/* 3 LSB: b110: 16 bits */
+	branch dsize16,true
+	compare 0x05,pdata,0x07			/* 3 LSB: b101: 8 bits */
+	nbranch dsize_error,true
+//	ifetchr rega,1,contr				/* data length in reg A */
+	ifetch 1,contr
+	copy pdata,rega
+	increase -1,timeup
+	branch dsize
+dsize32:
+	increase 2,contr				 
+	increase -2,timeup
+dsize16:
+	ifetch 2,contr
+	byteswap pdata,rega
+	increase -2,timeup
+dsize:
+	force 0x01,pdata
+	rtn
+dsize_error:
+	force 0x00,pdata
+	rtn
+
+/**********************************************************************/
+/* Subroutine: sa_empty_rsp                                      */
+/* Send empty response                                                */
+/*                                                                    */
+/* Input:       mem_sdp_pduid, mem_sdp_transactionid                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+ss_empty_rsp:
+	setarg SDP_SEARCH_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+sa_empty_rsp:
+	setarg SDP_ATTRIBUTE_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+ssa_empty_rsp:
+	setarg SDP_SEARCHATTRIB_RES
+	store 1, mem_sdp_pduid
+empty_response:
+	call l2cap_get_sdp_tx_payload			/* empty attribute list */
+//	fetchr regb,1,mem_sdp_pduid				/* PDUID */
+//	istorer regb,1,contw
+	fetch 1,mem_sdp_pduid
+	copy pdata,regb
+	istore 1,contw 
+	fetch 2,mem_sdp_transactionid			/* copy back transaction id */
+	istore 2,contw
+	setarg 0x0500
+	istore 2, contw
+	compare SDP_ATTRIBUTE_RES,regb,0xff			 
+	branch fullsearch,true
+	compare SDP_SEARCHATTRIB_RES,regb,0xff			 
+	branch fullsearch,true
+	setarg 0x000000
+	istore 5,contw
+	branch outempty
+
+fullsearch:					/* pduid must be 5 or 7 */
+	setarg 0x350200
+	istore 5,contw
+outempty:
+	jam 10,mem_sdp_tx_pkt_length
+	rtn
+
+//return length in pdata(whole element ,include header and data ), contr not change
+sdp_data_len:
+	call store_contw
+	call store_contr
+	call sdp_get_data
+	call get_contw
+	call get_contr
+	copy temp,pdata
+	rtn
+
+//return data length in pdata, contr is data pionter,return length in temp(whole element ,include header and data )
+sdp_get_data:
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	bne 0,sdp_get_data_type_not0
+sdp_get_data_type0:	
+	force 1,pdata
+	force 1,temp
+	rtn
+	
+sdp_get_data_type_not0_sizeindex01234:
+	call left_shift_n
+	add pdata,1,temp  //add header length
+	rtn
+sdp_get_data_type_not0:
+	deposit loopcnt
+	sub pdata,4,null
+	branch sdp_get_data_type_not0_sizeindex01234,positive
+	beq 5,sdp_get_data_type_not0_sizeindex5
+	beq 6,sdp_get_data_type_not0_sizeindex6
+	beq 7,sdp_get_data_type_not0_sizeindex7
+	rtn
+	
+sdp_get_data_type_not0_sizeindex5:
+	ifetch 1,contr
+	add pdata,2,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex6:
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,3,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex7:
+	ifetch 2,contr	
+	byteswap pdata,pdata
+	ifetcht 2,contr	
+	byteswap temp,temp
+	lshift16 temp,temp
+	iadd temp,pdata
+	add pdata,5,temp  //add header length
+	rtn
+
+/* find with uuids
+input uuids pionter in timeup
+return handles in mem_sdp_handle_list; handles number in queue if found 
+return regb all length*/
+search_all_uuid:
+	bpatchx patch3a_5,mem_patch3a
+	force 0,queue
+	arg 0,regb
+	arg mem_sdp_handle_list,contw
+search_all_uuid_llop:
+	ifetch 2,timeup
+ 	rtn blank
+	call search_uuid
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER 
+	increase 2,timeup
+ 	branch search_all_uuid_llop
+	
+search_uuid:
+//	arg 0,regb
+	iforce regc
+//	force 0,queue
+	fetch 2, mem_ui_uuid_table
+	iforce contr
+search_uuid_next:
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER   
+	disable user
+	ifetch 1,contr
+	rtn blank
+	iforce loopcnt
+search_uuid_loop:	
+	ifetch 2,contr
+	isub regc,null
+	nbranch search_uuid_not_found,zero
+	enable user					// uuid match
+search_uuid_not_found:
+	loop search_uuid_loop
+	ifetcht 4,contr					// get handle 
+	copy contr,rega
+	nbranch search_uuid_nomatch,user
+	arg mem_sdp_handle_list,contr
+	arg SDP_MAX_HANDLE_NUMBER,loopcnt 
+search_uuid_check_same_handle:
+	ifetch 4,contr
+	branch search_uuid_store_handle,blank
+	isub temp,null
+	branch search_uuid_nomatch,zero
+	loop search_uuid_check_same_handle
+	rtn 
+search_uuid_store_handle:
+	istoret 4,contw
+	increase 1,queue
+	copy rega,contr
+	call sdp_data_len
+	iadd regb,regb
+	iadd contr,contr		 
+	branch search_uuid_next
+search_uuid_nomatch:	
+	copy rega,contr
+	call sdp_get_data
+	iadd contr,contr			// next paragraph 
+	branch search_uuid_next
+
+/* temp is handle,
+return zero  if found
+return data pointer in contr 
+*/
+search_handle:
+	bpatchx patch3a_6,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_loop:	
+	ifetch 1,contr
+	branch disable_zero,blank
+	lshift pdata,pdata
+	iadd contr,contr
+	ifetch 4,contr
+	isub temp,null
+	rtn zero
+	deposit contw
+	store 2,mem_contw
+	storet 8,mem_temp
+	call sdp_get_data
+	iadd contr,contr
+	copy contr,pdata
+	fetcht 2,mem_contw
+	copy temp,contw
+	fetcht 8,mem_temp
+	copy pdata,contr
+	branch search_handle_loop
+
+/**
+* input regb and regc.regb is the attribute ID and regc is UUID.
+* set contr if find attribute or 0 if not
+*/
+search_attrib:
+	bpatchx patch3a_7,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_attrib_next:
+	ifetch 1,contr
+	branch search_attrib_end, blank
+	iforce loopcnt
+search_attrib_loop:	
+	ifetch 2,contr
+	isub regc,null						/* regc is UUID, compare it */
+	branch search_attrib_found_uuid,zero
+	loop search_attrib_loop
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_attrib_next	
+search_attrib_found_uuid:
+	increase -1,loopcnt
+	lshift loopcnt,pdata
+	iadd contr,contr
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	//force 0x1,pdata,zero
+//	setflag zero, 0,pdata
+//	copy timeup, timeup
+	branch disable_blank,zero			/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_attrib_loop_attribs	
+search_attrib_end:
+	force 0,contr
+	force 0,pdata
+	rtn
+	
+
+//search the attribute according the record handle
+//record handle in temp, attribute in regb
+//set the contr to zero if not found
+search_handle_attrib:	
+	bpatchx patch3b_0,mem_patch3b
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_attrib_next:
+	ifetch 1,contr
+	branch search_handle_attrib_end, blank
+	lshift pdata,pdata
+	iadd contr, contr
+	ifetch 4,contr
+	isub temp,null						/* regc is UUID, compare it */
+	branch search_handl_attrib_found_handle,zero
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_handle_attrib_next	
+search_handl_attrib_found_handle:
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_handle_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	rtn zero							/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_handle_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_handle_attrib_loop_attribs
+search_handle_attrib_end:
+	force 0,contr
+	rtn	
+
+
+//enable user if find rfcomm channel number, pdata is channel number
+search_rfcomm_cn:
+	arg 0x0400,regb  // attribute protocol edscriptor list
+	call search_handl_attrib_found_handle
+	arg 0x0300,regb  // uuid rfcomm
+	call search_uuid_in_data
+	nrtn user
+	sub rega,3,null
+	branch disable_user,positive
+	ifetch 1,contr
+	bne 0x08,disable_user
+	ifetch 1,contr
+	rtn
+	
+ //input timeup is lenth
+ //input contr is data ptr
+ //return contr is end of uuid; enable user if found uuid
+search_uuid_in_data:
+	bpatchx patch3b_1,mem_patch3b
+	call sdp_get_data
+	copy pdata,rega
+search_uuid_in_data_loop:	
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	sub pdata,3,null
+	branch search_uuid_in_data_found_uuid,zero
+	copy loopcnt,pdata
+	beq 5,search_uuid_in_data_found_element_index5
+	beq 6,search_uuid_in_data_found_element_index6
+	beq 7,search_uuid_in_data_found_element_index7
+	increase -1,contr
+	call sdp_get_data
+	iadd contr,contr
+	copy rega,pdata
+	isub temp,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+	
+search_uuid_in_data_found_element_index5:
+	increase -2,rega
+	increase 1,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index6:
+	increase -3,rega
+	increase 2,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index7:
+	increase -5,rega
+	increase 4,contr
+	branch search_uuid_in_data_loop		
+	
+search_uuid_in_data_found_uuid:
+	increase -1,rega
+	copy loopcnt,pdata
+	beq 1,search_uuid_in_data_type_uuid_16
+	beq 2,search_uuid_in_data_type_uuid_32
+	beq 4,search_uuid_in_data_type_uuid_128
+	branch disable_user 
+search_uuid_in_data_type_uuid_128:
+	increase -12,rega
+search_uuid_in_data_type_uuid_32:
+	ifetch 2,contr
+	increase -2,rega
+search_uuid_in_data_type_uuid_16:
+	ifetch 2,contr
+	isub regb,null
+	branch enable_user,zero
+	increase -2,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+
+/*
+//rega:l2cap len ,mem_search_uuid:uuid to search
+sdp_send_search_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_SEARCH_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+	//istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x19
+	istore 1,contw
+	fetch 2,mem_search_uuid
+	istore 2,contw
+	setarg 0x0008
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+
+//rega:l2cap len
+sdp_send_attribute_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_ATTRIBUTE_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+//	istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	fetch 4,mem_sdp_record_handle
+	istore 4,contw
+	setarg 0x2c01
+	istore 2,contw
+	setarg 0x0535
+	istore 2,contw
+	setarg 0x0a
+	istore 1,contw
+	setarg 0
+	istore 2,contw
+	setarg -1
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+*/	
+	
+
+sdp_send_spp_request:
+	call l2cap_get_sdp_tx_payload
+	copy pdata,contw
+	setarg 6//Search Attr Req
+	istore 1,contw
+	setarg sdp_tid_spp					
+	istore 2,contw
+	setarg 0x0f00 //length15
+	istore 2,contw
+	setarg 0x1a0535
+	istore 3,contw
+	setarg 0x0111
+	lshift16 pdata,pdata //UUID
+	istore 4,contw
+	setarg 0x2600 //max return len
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x0009
+	istore 2,contw
+	setarg 0x0004
+	istore 2,contw
+	jam 0x14,mem_sdp_tx_pkt_length
+	rtn
+
+
+	
+function_g2:
+	bpatchx patch3b_2,mem_patch3b
+	jam 80,mem_AES_CMAC_data_length
+	arg memdat,contw
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat	
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	call function_AES_CMAC	
+
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result
+	setarg 1000000
+	copy pdata,rega
+	fetch 4,mem_AES_CMAC_temp
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+//call ice_break
+	rtn
+
+function_f6_eb:
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_a
+	call store_addr_common_b
+	fetch 3,mem_le_pres+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	
+	arg mem_le_mrand,contr
+	call memcpy16
+	arg mem_le_srand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	branch function_AES_CMAC
+//	arg mem_AES_CMAC_temp,contw
+//	branch p_load_inverse_result
+
+get_r:
+	fetch 4,mem_le_tk
+	istore 4,contw
+	call memset0_4
+	branch memset0_8
+
+function_f6_ea:
+	bpatchx patch3b_3,mem_patch3b
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_b
+	call store_addr_common_a
+	fetch 3,mem_le_preq+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_temp,contw
+	branch load_inverse_result
+
+function_f5:
+	jam 32,mem_AES_CMAC_data_length
+	arg mem_le_dhkey_256 ,contr
+	arg memdat,contw
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_slat,contr
+	call store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_k,contw
+	call store_aes_result
+	arg 1,temp
+	call function_f5_common
+	arg mem_le_ltk,contw
+	call load_inverse_result
+	arg 0,temp
+	call function_f5_common
+	arg mem_le_mackey,contw
+//	branch p_load_inverse_result
+	branch store_aes_result
+
+
+function_f5_common:
+	bpatchx patch3b_4,mem_patch3b
+	jam 53,mem_AES_CMAC_data_length
+	setarg 0x100
+	store 2,memdat
+	call store_addr_common_b
+	call store_addr_common_a
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+//	fetch 4,mem_le_keyid 0x62746c65
+	setarg 0x6c65
+	istore 2,contw
+	setarg 0x6274
+	istore 2,contw
+	istoret 1,contw   //counter
+	call inverse_memdat	
+	branch function_AES_CMAC
+
+store_addr_common_b:
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	rtn
+
+store_addr_common_a:
+	fetch 6,mem_le_plap
+	istore 6,contw
+//	setarg 0x2dcfc1
+//	istore 3,contw
+//	setarg 0xa71370
+//	istore 3,contw
+	fetch 1,mem_le_conn_peer_addr_type
+	istore 1,contw
+	rtn
+
+function_f4_ca:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+	
+
+function_f4_cb:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_srand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+
+function_AES_CMAC:
+	bpatchx patch3b_5,mem_patch3b
+	call function_AES_CMAC_Generate_Subkey
+//call ice_break
+//	jam 65,mem_AES_CMAC_data_length
+//call ice_break
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,temp
+function_ceil16:
+	increase 15,pdata
+	rshift4 pdata,pdata
+	copy pdata,regb
+	branch function_AES_CMAC_set_flag_0_balnk,blank
+	and temp,0x0f,pdata
+	nbranch function_AES_CMAC_set_flag_0,blank
+//	flag =1;
+	arg mem_AES_CMAC_k1,regc
+	arg memdat,pdata
+	increase -16,pdata
+//	iadd temp,pdata
+//	isub rega,rega
+	iadd temp,rega	
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop
+//call ice_break
+//	arg mem_f4_k1,contr
+//	call load_key
+	branch function_AES_CMAC_aes
+
+function_AES_CMAC_set_flag_0_balnk:
+	arg 1,regb
+	arg 0,rega
+//	arg mem_f4_test_data,pdata
+	branch function_AES_CMAC_set_flag_0_common
+//call ice_break
+
+function_AES_CMAC_set_flag_0:
+//	flag = 0;
+	and temp,0x0f,rega
+function_AES_CMAC_set_flag_0_common:
+	arg memdat,pdata
+	iadd temp,pdata
+	isub rega,contr
+//call ice_break
+	arg mem_AES_CMAC_temp,contw
+	call function_AES_CMAC_padding
+//call ice_break
+	arg mem_AES_CMAC_k2,regc
+	arg mem_AES_CMAC_temp,rega
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop	
+//call ice_break
+
+//	arg mem_f4_k2,contr
+//	call load_key
+
+//	branch p_function_f4_aes
+function_AES_CMAC_aes:
+//	arg mem_f4_k,contr
+//	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call load_data128
+	call aes_clear_data
+	call aes_init	
+//	arg mem_f4_k,contr
+//	call load_key
+	arg memdat,contr
+function_AES_CMAC_aes_loop:
+//generate_mic_loop:
+	increase -1,regb
+	deposit regb
+	branch function_AES_CMAC_aes_loop_end,blank
+	call load_data128
+	call do_aes_cbc
+	branch function_AES_CMAC_aes_loop
+//generate_mic_end:
+function_AES_CMAC_aes_loop_end:	
+	arg mem_AES_CMAC_temp,contw
+	call store_aes_result
+	arg mem_AES_CMAC_M_last,contr
+	call load_data128
+	call aes_init	
+	arg mem_AES_CMAC_temp,contr
+	call load_data128	
+	branch do_aes_cbc
+
+
+
+load_inverse_result:
+//	arg mem_AES_CMAC_temp,contw
+	copy contw,rega
+	call store_aes_result
+//	arg mem_AES_CMAC_temp,rega
+	arg 16,loopcnt
+	branch inverse_data
+	
+store_inverse_k:
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+inverse_k:	
+	arg 16,loopcnt
+	arg mem_AES_CMAC_k,rega	
+	branch inverse_data
+	
+inverse_memdat:
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,loopcnt
+	arg memdat,rega
+	branch inverse_data
+
+bn_lshift_0_inverse:
+	ifetch 1,regA
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata	
+	isolate1 8,pdata
+	setflag true,0,regC	
+	istore 1,rega
+         increase -1,rega
+	loop bn_lshift_0_inverse
+	rtn	
+
+function_AES_CMAC_k1_inverse:
+	arg mem_AES_CMAC_k1,regA
+function_AES_CMAC_inverse_common:
+	increase 15,rega
+	force 16,loopcnt
+	force 0,regC
+	branch  bn_lshift_0_inverse	
+
+function_AES_CMAC_k2_inverse:
+	arg mem_AES_CMAC_k2,regA
+	branch function_AES_CMAC_inverse_common
+	
+
+function_AES_CMAC_Generate_Subkey:
+	arg mem_AES_CMAC_k,contr
+	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call aes_load_xor
+	force regidx_xor,regext_index
+	call aes_clear
+	call aes_clear_data
+	call do_aes_ocb
+	
+//	force 0x38,aes_ctrl
+//	force 0x0,aes_ctrl
+//	call wait_aes
+	arg mem_AES_CMAC_k1,contw
+	call store_aes_result
+function_AES_CMAC_k1:
+	bpatchx patch3b_6,mem_patch3b
+	fetch 1,mem_AES_CMAC_k1
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k1_0,true	
+	call function_AES_CMAC_k1_inverse
+	
+//p_function_f4_k1_xor:
+	arg mem_AES_CMAC_k1,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k1,contw
+//	arg 3,loopcnt
+//	call xor_loop
+	call function_AES_CMAC_xor_rb
+	branch function_AES_CMAC_k2
+function_AES_CMAC_k1_0:	
+	call function_AES_CMAC_k1_inverse
+function_AES_CMAC_k2:
+//call ice_break
+	arg mem_AES_CMAC_k1,contr
+	arg mem_AES_CMAC_k2,contw
+	call memcpy16
+	fetch 1,mem_AES_CMAC_k2
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k2_inverse,true		
+	call function_AES_CMAC_k2_inverse
+//p_function_f4_k2_xor:
+	arg mem_AES_CMAC_k2,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k2,contw
+//	arg 3,loopcnt
+//	branch xor_loop	
+
+
+//rb:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 87 
+function_AES_CMAC_xor_rb:
+	arg 3,loopcnt
+function_AES_CMAC_xor_rb_loop:	
+	arg 0,temp
+	call function_AES_CMAC_xor_loop_common	
+	increase 4,regc
+	loop  function_AES_CMAC_xor_rb_loop
+	arg 0x8700,temp
+	lshift16 temp,temp
+function_AES_CMAC_xor_loop_common:	
+	ifetch   4,regc
+	ixor  temp,pdata
+	istore   4,contw	
+	rtn
+		
+
+
+
+//input rega :length <16	contr,contw
+function_AES_CMAC_padding:
+	bpatchx patch3b_7,mem_patch3b
+	arg 16,loopcnt
+	arg 0,pdata
+function_AES_CMAC_padding_loop:
+	isub rega,null
+	branch function_AES_CMAC_padding_beq_length,zero
+	branch function_AES_CMAC_padding_big_length,positive
+	ifetcht 1,contr
+	istoret 1,contw
+function_AES_CMAC_padding_loop2:	
+	increase 1,pdata
+	loop function_AES_CMAC_padding_loop
+	rtn
+function_AES_CMAC_padding_beq_length:	
+	arg 0x80,temp
+function_AES_CMAC_padding_common:
+	istoret 1,contw
+	branch  function_AES_CMAC_padding_loop2
+
+function_AES_CMAC_padding_big_length:
+	arg 0,temp
+	branch function_AES_CMAC_padding_common
+
+	
+generate_kinit:
+	call function_e22
+	arg mem_input_store,contr
+	arg mem_kinit,contw		/* Kinit is ready */
+	branch memcpy16
+
+
+function_e21:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	arg mem_random_number,contr
+	arg mem_x,contw
+	force 15,loopcnt
+	call memcpy			
+	ifetch 1,contr
+	xor_into 6,pdata
+	istore 1,contw
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+	
+function_e22:		/* rega pointers to bdaddr */
+	fetcht 1,mem_pin_length
+	force 16,regb			/* total 16 bytes */
+	add temp,6,regc		/* regc is l' */
+	sub regc,16,null		
+	branch function_e22_pin_init,positive 
+	force 16,regc
+function_e22_pin_init:			/* generate x from pin and bdaddr */
+	arg mem_x,contw
+function_e22_genx_pin:
+	arg mem_pin,contr
+	copy temp,loopcnt
+	disable user
+function_e22_genx_loop:
+	ifetch 1,contr
+	istore 1,contw
+	increase -1,regb
+	branch function_e22_genx_end,zero
+	loop function_e22_genx_loop
+	branch function_e22_genx_pin,user
+	enable user
+	force 6,loopcnt
+	copy rega,contr
+	branch function_e22_genx_loop
+function_e22_genx_end:
+	arg mem_random_number,contr
+	arg mem_y,contw
+	call memcpy16
+	fetch 1,mem_y15
+	ixor regc,pdata
+	store 1,mem_y15	/* inpy[15] = rand_num[15]^l'; */
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+
+
+function_e1:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	branch function_hash
+
+function_e3:
+	arg mem_aco,rega
+	enable user
+	call function_expand
+	call function_hash
+	arg mem_input_store,contr
+	arg mem_kc,contw
+	branch memcpy16
+
+	/* costs 41769 clocks */
+function_hash:
+	setarg mem_random_number
+	store 2,memp_ar_input
+	setarg mem_link_key
+	store 2,memp_ar_key
+	set0 mark_ar2,mark
+	call function_ar
+	arg mem_input_store,rega
+	arg mem_random_number,regb
+	arg mem_x,contw
+	call xor16
+	arg mem_x,rega
+	arg mem_y,regb
+	copy regb,contw
+	enable user
+	call add16
+	call key_offset
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+	
+
+	/* totally costs 20700 clocks */
+function_ar:
+	jam 0,mem_ar_hround
+	fetch 2,memp_ar_key
+	iforce contr
+	arg mem_key_store,contw
+	call memcpy16
+	fetch 2,memp_ar_input
+	iforce contr
+	arg mem_input_store,contw
+	call memcpy16
+	
+function_ar_loop:
+	call key_scheduling
+	disable user
+	bmark0 mark_ar2,function_ar_original
+	fetch 1,mem_ar_hround
+	bne 4,function_ar_original
+	fetch 2,memp_ar_input
+	iforce regb
+	call xor_mod32_ar2
+function_ar_original:
+	call xor_mod32
+	call el_boxes
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+
+	call key_scheduling
+	enable user
+	call xor_mod32
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+	bne 16,function_ar_loop
+	call key_scheduling
+	disable user
+	branch xor_mod32
+	
+/* input round number and temp key in mem_key_store, and output the next temp key in mem_key_store */
+/* round key is generated and store in mem_round_key */
+key_scheduling:
+	fetch 1,mem_ar_hround
+	arg mem_key_store,contr
+	branch key_sched_zero,blank
+	iforce regb      			/* regb is half round */
+	force 17,loopcnt
+	copy contr,contw
+key_rotateloop:
+	ifetch 1,contr
+	lshift3 pdata,temp
+	rshift2 pdata,pdata
+	rshift3 pdata,pdata
+	ior temp,pdata
+	istore 1,contw
+	loop key_rotateloop
+	setarg mem_key_store
+	iadd regb,contr
+	force 16,loopcnt    
+	arg mem_round_key,contw
+key_select_octet_loop:
+	ifetch 1,contr
+	istore 1,contw
+	compare mem_key_store_end,contr,0xff
+	nbranch key_select_octet_nwrap,true
+	increase -17,contr
+key_select_octet_nwrap:
+	loop key_select_octet_loop
+	force 0,rega         /* rega is index of octet within row */
+	add regb,-1,regc    /* this is the row index, half_round#1 is 0 */
+	lshift2 regc,regc
+	lshift2 regc,regc
+	call enable_authrom
+	setarg mem_b_box
+	iadd regc,regc       /* regc hold the starting address of the row */
+	arg mem_round_key,contw
+	force 16,loopcnt
+bias_round_key_loop:
+	ifetcht 1,regc
+	ifetch 1,contw
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regc
+	loop bias_round_key_loop
+	branch disable_authrom
+
+key_sched_zero:    /* round 0, key1 */
+	force 16,loopcnt
+	force 0,temp
+create_byte_16_loop:
+	ifetch 1,contr
+	ixor temp,temp
+	loop create_byte_16_loop
+	deposit temp
+	istore 1,contr    	/* store the byte #16 */
+	arg mem_key_store,contr
+	arg mem_round_key,contw
+	branch memcpy16
+
+xor_mod32:     /* xor on 0,3, add on 1,2. if user is set, invert. x in rega and y in regb, out in contw */
+	arg mem_round_key,regb
+xor_mod32_ar2:
+	force 16,loopcnt
+	arg mem_input_store,rega
+	copy rega,contw
+xor_mod32_loop:	
+	ifetcht 1,rega
+	ifetch 1,regb
+	ixor temp,alarm
+	and loopcnt,3,regc
+	nbranch xor_mod32_invert,user
+	xor_into 3,regc
+xor_mod32_invert:
+	sub regc,1,regc
+	branch xor_even,positive
+	iadd temp,alarm
+xor_even:
+	deposit alarm
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xor_mod32_loop
+	rtn
+
+el_boxes:
+	call enable_authrom
+	force 16,loopcnt
+	arg mem_input_store,rega
+el_box_loop:	
+	ifetch 1,rega
+	arg mem_e_box,contr
+	and loopcnt,3,regc
+	sub regc,1,null
+	branch e_boxes,positive
+	arg mem_l_box,contr
+e_boxes:
+	iadd contr,contr
+	ifetch 1,contr
+	istore 1,rega
+	increase 1,rega
+	loop el_box_loop
+	branch disable_authrom
+
+pht:				
+	force 8,loopcnt
+	arg mem_input_store,contr
+	copy contr,contw
+pht_loop:
+	ifetch 1,contr
+	iforce rega
+	ifetch 1,contr
+	iforce regb
+	lshift rega,pdata
+	iadd regb,pdata
+	istore 1,contw
+	deposit rega
+	iadd regb,pdata
+	istore 1,contw
+	loop pht_loop
+	rtn
+
+/* 8 11 12 15 2 1 6 5 10 9 14 13 0 7 4 3 */
+permute:			
+	setarg 0x8ae42c
+	iforce temp
+	force 7,loopcnt
+	call permute_exchange
+	setarg 0xd751b
+	iforce temp
+	force 5,loopcnt
+	call permute_exchange
+	fetch 1,mem_input_store+15
+	iforce rega
+	fetch 1,mem_input_store+3
+	store 1,mem_input_store+15
+	deposit rega
+	store 1,mem_input_store+3
+	rtn
+
+permute_exchange:
+	and temp,0xf,regb
+permute_loop:
+	and temp,0xf,pdata
+	arg mem_input_store,contw
+	iadd contw,contw
+	ifetch 1,contw
+	iforce regc
+	deposit rega
+	istore 1,contw
+	copy regc,rega
+	rshift4 temp,temp
+	loop permute_loop	
+	setarg mem_input_store
+	iadd regb,contw
+	deposit rega
+	istore 1,contw
+	rtn
+
+add16:
+	enable user
+	branch xor_add16
+
+xor16:
+	disable user
+xor_add16:	/* if user is set, do add, else do xor */
+	force 16,loopcnt	/* rega and regb pointers to src, contw is result */
+xoradd_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	branch xoradd_add,user
+	ixor temp,pdata
+	branch xoradd_store
+xoradd_add:	
+	iadd temp,pdata
+xoradd_store:	
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xoradd_loop
+	rtn
+
+	
+function_expand:		/* rega pointers to bdaddr, or aco and user is set */
+	arg mem_y,contw
+	ifetch 6,rega
+	istore 6,contw
+	branch expand_12,user
+	ifetch 6,rega
+	branch expand_cont
+expand_12:
+	ifetch 6,contr
+expand_cont:
+	istore 6,contw
+	ifetch 4,rega
+	istore 4,contw
+	rtn
+
+key_offset:
+	arg mem_link_key,contr
+	arg mem_x,contw
+	arg 0,temp
+	setarg 0x8395a7
+	call concatenate_temp24
+	setarg 0xb3c1df
+	call concatenate_temp24
+	setarg 0xe5e9
+	call concatenate_temp16
+	copy temp,regab
+	disable user
+	call key_addxor
+	copy regab,temp
+	enable user
+	branch key_addxor
+
+key_addxor:
+	force 8,loopcnt
+key_addxor_loop:	
+	ifetch 1,contr
+	compare 1,loopcnt,1
+	branch key_high,user
+	branch key_xor,true
+key_add:	
+	iadd temp,pdata
+	branch key_store
+key_high:
+	branch key_add,true
+key_xor:
+	ixor temp,pdata
+key_store:
+	istore 1,contw
+	rshift8 temp,temp
+	loop key_addxor_loop
+	rtn
+
+copy_aco:
+	fetch 6,mem_input_store+4
+	store 6,mem_aco
+	ifetch 6,contr
+	istore 6,contw
+	rtn
+	
+concatenate_temp24:
+	lshift8 temp,temp
+concatenate_temp16:
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+
+
+loop1:	
+	branch loop1
+
+/* ==================== LE security ================= */
+
+generate_stk:
+	bpatchx patch3c_0,mem_patch3c
+	call function_s1
+	arg mem_le_ltk,contw
+	branch store_aes_result
+
+	/* contr = rand pointer */
+authenticate_rconfirm:
+	arg mem_le_srand,contw
+	branch authenticate_mconfirm,master
+	arg mem_le_mrand,contw
+authenticate_mconfirm:
+	copy contr,rega
+	call memcpy16
+	call function_c1
+	arg mem_le_rconfirm,contr
+	branch compare_res
+
+generate_confirm:
+	arg mem_le_mrand,rega
+	branch generate_mrand,master
+	arg mem_le_srand,rega
+generate_mrand:
+	copy rega,contw
+	call generate_random
+	branch function_c1
+
+generate_sk:
+	arg mem_le_skdm,contr
+	call load_data128
+	arg mem_le_ltk,contr
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_sk,contw
+	branch store_aes_result
+
+	/* temp=packet counter, rega = length or block counter*/
+first_block_counter:
+	force 0x49,pdata
+	branch first_block
+first_block_data:
+	force 1,pdata
+first_block:
+	force regidx_data,regext_index			/* B0 */
+	lshift8 temp,regext
+	ior regext,regext
+	increase 1,regext_index
+	rshift8 temp,regext
+	rshift16 regext,regext
+	fetch 2,mem_le_ivm
+	lshift16,pdata,pdata
+	ior regext,regext				/* octet3&octet4 of counter and low 16 bit of IV */
+	increase 1,regext_index
+	ifetch 4,contr					/* IV2-IV5 */
+	iforce regext
+	increase 1,regext_index
+	ifetch 2,contr					/* IV6-IV7 */
+	byteswap rega,regext
+	lshift16 regext,regext
+	ior regext,regext
+	increase 1,regext_index
+	rtn
+
+
+	/* temp=packet counter, regc pointers to data */	
+generate_mic:
+	add regc,1,contr
+	ifetch 1,contr
+	iforce rega
+	call first_block_counter
+	call do_aes_ocb
+
+	force regidx_data,regext_index			/* B1 */
+	ifetch 1,regc
+	and_into 0x3,pdata
+	lshift16 pdata,regext
+	set1 8,regext
+	call clear_hidata
+	call do_aes_cbc
+
+	copy rega,loopcnt
+	add regc,2,contr
+	call padding_data
+generate_mic_loop:
+	call aes_load_data
+	call do_aes_cbc
+	deposit loopcnt
+	branch generate_mic_end,blank
+	branch generate_mic_loop
+generate_mic_end:
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_mic
+	rtn
+
+aes_crypt_data:
+	increase 1,rega
+	call first_block_data
+	copy regc,contr
+	call aes_load_xor
+	call do_aes_ctr
+	call store_enc_data
+	increase 16,regc
+	increase -16,regb
+	branch aes_crypt_data,positive
+	rtn
+	
+le_encrypt:
+	bpatchx patch3c_1,mem_patch3c
+	arg mem_le_txheader,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	call first_block_data
+	call do_aes_ctr
+	arg mem_le_txpayload,regc
+	fetch 1,mem_le_txlen
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	deposit regext
+	istore 4,contw	
+	call aes_crypt_data
+	fetch 1,mem_le_txlen
+	increase 4,pdata
+	store 1,mem_le_txlen
+	fetcht 5,mem_le_pcnt_tx
+	increase 1,temp
+	storet 5,mem_le_pcnt_tx
+	rtn
+
+le_decrypt:
+	bpatchx patch3c_2,mem_patch3c
+	fetch 1,mem_le_rxbuf+1
+	sub pdata,20,null
+	branch le_dec_cont,positive
+le_dec_cont:
+	arg mem_le_rxbuf+2,regc
+	add pdata,-1,regb
+	increase -4,pdata				/* mic will be discarded */
+	store 1,mem_le_rxbuf+1
+	iadd regc,contr
+	ifetch 4,contr
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	fetcht 5,mem_le_pcnt_rx
+	call first_block_data
+	call do_aes_ctr
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_peer_mic
+	call aes_crypt_data
+	arg mem_le_rxbuf,regc
+	call generate_mic
+	fetcht 4,mem_le_peer_mic
+	isub temp,pdata				/* MIC ok? */
+	nrtn blank
+	fetch 4,mem_le_last_mic			/* reduntdant packet? */
+	isub temp,pdata
+	rtn blank
+	storet 4,mem_le_last_mic
+	fetch 5,mem_le_pcnt_rx
+	increase 1,pdata
+	store 5,mem_le_pcnt_rx
+	force 0,pdata
+	rtn
+
+wait_aes:
+	nbranch wait_aes,aes_ready
+	rtn
+
+do_aes_ocb:
+	force 0x30,aes_ctrl
+	force 0x0,aes_ctrl
+	branch wait_aes
+
+do_aes_cbc:
+	force 0x32,aes_ctrl
+	force 0x2,aes_ctrl
+	branch wait_aes
+
+do_aes_ctr:
+	force 0x34,aes_ctrl
+	force 0x4,aes_ctrl
+	branch wait_aes
+
+	
+aes_init:
+	force 1,aes_ctrl
+	force 0,aes_ctrl
+	rtn
+function_s1:
+	force regidx_data,regext_index
+	fetch 4,mem_le_mrand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	fetch 4,mem_le_srand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	call aes_clear
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+	/* rega pointers to random number */
+function_c1:
+	bpatchx patch3c_3,mem_patch3c
+	fetch 6,mem_le_lap
+	fetcht 6,mem_le_plap
+	branch function_c1_master,master
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_lap
+function_c1_master:
+	force regidx_xor,regext_index
+	copy temp,regext
+	increase 1,regext_index
+	rshift32 temp,regext
+	lshift16 pdata,pdata
+	ior regext,regext
+	increase 1,regext_index
+	rshift32 pdata,regext
+	increase 1,regext_index
+	force 0,regext					/* p2 = ia || ra */
+	force 0,pdata
+	fetch 1,mem_le_conn_peer_addr_type
+	fetcht 1,mem_le_adv_own_addr_type
+	nbranch function_c1_irat,master
+	//conn as master
+	fetch 1,mem_le_conn_own_addr_type
+	fetcht 1,mem_le_conn_peer_addr_type
+function_c1_irat:
+	store 1,mem_le_iat
+	storet 1,mem_le_rat
+	force regidx_data,regext_index
+	arg mem_le_iat,regb
+	force 4,loopcnt
+function_c1_loop1:
+	ifetch 4,rega		
+	ifetcht 4,regb
+	ixor temp,regext
+	increase 1,regext_index
+	increase 4,rega
+	increase 4,regb
+	loop function_c1_loop1		/* p1 ^ r */
+	call aes_clear				/* k = 0 */
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0xc,aes_ctrl
+	call wait_aes
+
+	call aes_clear_data
+	force 0x3a,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+padding_data:
+	compare 0,loopcnt,3
+	rtn true
+	deposit contr
+	iadd loopcnt,contw
+	force 0,pdata
+padding_loop:
+	istore 1,contw
+	increase 1,loopcnt
+	compare 0,loopcnt,3
+	rtn true
+	branch padding_loop
+
+aes_load_data:
+	force regidx_data,regext_index
+load_data_loop:
+	deposit loopcnt
+	branch load_data_padding,blank
+	ifetch 4,contr
+	increase -4,loopcnt
+load_data_padding:
+	iforce regext
+	increase 1,regext_index
+	compare regidx_key,regext_index,0xf
+	rtn true
+	branch load_data_loop
+
+aes_load_xor:
+	force regidx_xor,regext_index
+	branch load_regext
+load_key:
+	force regidx_key,regext_index
+	branch load_regext
+load_data128:
+	force regidx_data,regext_index
+load_regext:
+	force 4,loopcnt
+load_regext_loop:
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop load_regext_loop
+	rtn
+
+load_sk:
+	arg mem_le_sk,contr
+	branch load_key
+
+clear_hidata:
+	force 4,loopcnt
+	branch clear_data_rest
+
+aes_clear_data:
+	force regidx_data,regext_index
+aes_clear:
+	force 4,loopcnt
+clear_loop:
+	force 0,regext
+clear_data_rest:
+	increase 1,regext_index
+	loop clear_loop
+	rtn
+
+store_aes_result:
+	force regidx_result,regext_index
+	force 4,loopcnt
+send_aes_result_loop:
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	loop send_aes_result_loop
+	rtn
+
+store_enc_data:
+	force regidx_result,regext_index
+	copy regc,contw
+	add regb,1,loopcnt
+	sub loopcnt,15,null
+	branch store_enc_loop,positive
+	force 16,loopcnt
+store_enc_loop:
+	deposit regext
+	sub loopcnt,3,null
+	branch store_enc_byte,positive
+	istore 4,contw
+	increase -4,loopcnt
+	rtn zero
+	increase 1,regext_index
+	branch store_enc_loop
+store_enc_byte:
+	istore 1,contw
+	rshift8 pdata,pdata
+	loop store_enc_byte
+	rtn
+	
+	/* contr pointers to value to be compared */
+compare_res:
+	force regidx_result,regext_index
+	force 4,loopcnt
+compare_res_loop:
+	ifetch 4,contr
+	isub regext,null
+	nrtn zero
+	increase 1,regext_index
+	loop compare_res_loop
+	force 0,null
+	rtn
+
+enable_authrom:
+	hfetch 1,core_clkoff
+	set0 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+disable_authrom:
+	hfetch 1,core_clkoff
+	set1 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+init_memp:
+	arg mem_p,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3fbff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3cfff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffef
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x26c7f
+	setsect 2,0x146b
+	setsect 3,0x37bb3
+	istore 9,contw
+	setsect 0,0x1feb8
+	setsect 1,0x10c12
+	setsect 2,0x2b722
+	setsect 3,0x29fa6
+	istore 9,contw
+	setsect 0,0xe70f
+	setsect 1,0x16720
+	setsect 2,0x519e
+	setsect 3,0x19084
+	istore 9,contw
+	setsect 0,0x31012
+	setsect 1,0x360bf
+	setsect 2,0x3f0af
+	setsect 3,0x3d3
+	istore 9,contw
+	setsect 0,0x3a188
+	setsect 1,0x3ad0
+	setsect 2,0x3cbf2
+	setsect 3,0x243d9
+	istore 9,contw
+	setsect 0,0x2b030
+	setsect 1,0x36a03
+	setsect 2,0x11188
+	setsect 3,0x1e520
+	istore 9,contw
+	setsect 0,0x3a11e
+	setsect 1,0xfe5d
+	setsect 2,0xdd57
+	setsect 3,0x1ac93
+	istore 9,contw
+	setsect 0,0x11ed
+	setsect 1,0x218c4
+	setsect 2,0x8da7
+	setsect 3,0x257ff
+	istore 9,contw
+	setsect 0,0x3192b
+	setsect 1,0x34641
+	setsect 2,0x1be0c
+	setsect 3,0x366ad
+	istore 9,contw
+	setsect 0,0x1f83
+	setsect 1,0x15a23
+	setsect 2,0x3f9b0
+	setsect 3,0x3949
+	istore 9,contw
+	setsect 0,0x13a51
+	setsect 1,0x153fd
+	setsect 2,0x3372a
+	setsect 3,0xf1bb
+	istore 9,contw
+	setsect 0,0x3ae85
+	setsect 1,0x1eed9
+	setsect 2,0x9e66
+	setsect 3,0x1a8
+	istore 8,contw
+	rtn
+	
+
+
+init_memp_256:
+ 	arg mem_p_256,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3f
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x1000
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x3ff00
+        setsect 1,0x3ffff
+        setsect 2,0x3ffcf
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ff
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x10000
+        setsect 1,0x0
+        setsect 2,0x3f000
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x296ff
+        setsect 1,0x22630
+        setsect 2,0x3945d
+        setsect 3,0x3d284
+        istore 9,contw
+        setsect 0,0x333a0
+        setsect 1,0x4b7a
+        setsect 2,0x37d8
+        setsect 3,0x3c9dc
+        istore 9,contw
+        setsect 0,0x3a440
+        setsect 1,0x1b958
+        setsect 2,0x38bce
+        setsect 3,0x1091f
+        istore 9,contw
+        setsect 0,0x2e12c
+        setsect 1,0x1f47c
+        setsect 2,0x356b1
+        setsect 3,0x2fd47
+        istore 9,contw
+        setsect 0,0x6837
+        setsect 1,0x2ed90
+        setsect 2,0x1ecec
+        setsect 3,0x1acc5
+        istore 9,contw
+        setsect 0,0x23357
+        setsect 1,0x18af3
+        setsect 2,0xf9e1
+        setsect 3,0x129f0
+        istore 9,contw
+        setsect 0,0x2e7eb
+        setsect 1,0x3e6e3
+        setsect 2,0x3e1a7
+        setsect 3,0x10b8b
+        istore 9,contw
+        setsect 0,0x24fe3
+        setsect 1,0x20ef
+        setsect 2,0x1b5a6
+        setsect 3,0xdc2f
+        istore 9,contw
+        setsect 0,0x13860
+        setsect 1,0x2bd69
+        setsect 2,0x391a
+        setsect 3,0x1b222
+        istore 9,contw
+        rtn
+
+
+publickey_init:
+	fetch 1,mem_ssp_enable
+	nbranch sp_initialize,blank
+	branch sp_initialize_256
+
+sp_calc_sequence_256_check:
+	bpatchx patch3c_4,mem_patch3c
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_local_key_invalid
+	rtneq SP_KEY_VALID_256
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,stop_publickey_calc_256
+	fetch 1,mem_le_sc_calc
+	beq SP_CALC_STANDBY,sp_initialize_256
+	rtn
+stop_publickey_calc_256:
+	jam SP_CALC_STANDBY,mem_le_sc_calc	
+	rtn
+	
+
+sp_initialize:
+	bpatchx patch3c_5,mem_patch3c
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable, blank
+	call ssp_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc 
+	
+sp_clear_flags:
+	setarg 0
+	store 8,mem_sp_state_start
+	store 4,mem_sp_flag_start
+	store 7,mem_sp_iocap_remote
+	rtn
+
+sp_generate_local_key:
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	branch sp_generate_local_key0
+sp_master_generate_local_key:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_dhkey_calc
+	branch assert
+sp_generate_local_key0:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_start_send_pubkey
+	branch sp_pubkey_calc
+    
+sp_start_send_pubkey:
+	call sp_dhkey_calc
+	fetch 1,mem_master_sp_state
+	nrtn blank
+	jam SP_STAT_KEY_SEND,mem_sp_state
+	rtn
+
+
+sp_calc_check_publickey_256:
+	call sp_calc_b256
+	arg mem_le_pubkey_remote_y_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256   
+	arg mem_le_pubkey_remote_x_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256   
+  	arg mem_t2_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256	 
+	arg 32,loopcnt
+  	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b256:
+	arg mem_gy_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256   
+	arg mem_gx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256    
+  	arg mem_t2_256,regA
+	arg mem_gx_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_gx_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod_256	
+	
+sp_calc_check_publickey:
+	call sp_calc_b
+	arg mem_sp_pubkey_remote_y,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod 
+	arg mem_sp_pubkey_remote_x,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+  	arg mem_a,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod	 
+ 	arg 24,loopcnt
+ 	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b:
+	arg mem_gy,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod   
+	arg mem_gx,regA
+	arg mem_t2_256,contw
+  	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_gx,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+	arg mem_a,regA
+	arg mem_gx,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod	
+
+   
+sp_calculate_commitment:
+	fetch 1,mem_sp_calc
+	bne SP_CALC_STANDBY,sp_calculate_commitment_wait_dhkey_calc
+	call sp_local_random_key_generator
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	branch sp_calculate_commitment0
+master_sp_calculate_commitment:
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+sp_calculate_commitment0:
+	call function_f1
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment0
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam SP_STAT_COMMIT_SEND,mem_sp_state
+	rtn
+master_sp_calculate_commitment0:
+	jam SP_STAT_COMMITMENT_COMPARE,mem_master_sp_state
+	call sp_master_generate_local_key
+	branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+	arg mem_sp_random_local,contw
+	force 8,queue
+	branch random_generator
+  
+sp_calculate_commitment_wait_dhkey_calc:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+    
+sp_confirm_check:
+    /* calculate Ea here */
+	bpatchx patch3c_6,mem_patch3c
+	arg      mem_addr_value,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_remote
+	istore   3,contw 
+
+	call     function_f3a
+
+	arg      mem_sp_calc_result_high,regA
+	arg      mem_sp_check_result,regB    
+	force    4,queue 
+	call     compare4
+	nbranch  sp_confirm_check_failed,true  
+
+	call sp_confirm_check_success
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch tid_set_reply
+    
+sp_confirm_check_success:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_success_master
+	jam SP_STAT_CONFIRM_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+sp_confirm_check_success_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam SP_STATE_END,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+	//accept opcode?
+	
+sp_confirm_check_failed:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_failed_master
+	jam SP_STAT_NULL,mem_sp_state
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	//accept opcode?
+	jam      AUTHENTICATION_FAILURE_ERROR,mem_lmo_reason2 
+	rtn
+sp_confirm_check_failed_master:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam SP_STAT_NULL,mem_master_sp_state
+	rtn
+    
+sp_confirm_calc:
+	fetch 1,mem_sp_dh_ready
+	beq SP_FLAG_COMMIT, sp_confirm_calc_ready
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+sp_confirm_calc_ready:
+	arg      mem_addr_value,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_local
+	istore   3,contw 
+
+	call     function_f3b
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc_master
+	jam      SP_STAT_CONFIRM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+sp_confirm_calc_master:
+	jam      SP_STAT_CONFIRM_SEND,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn   
+
+sp_master_key_prarm_push:
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	branch sp_link_key_calc
+sp_link_key_prarm_push:
+	jam      SP_STAT_DONE,mem_sp_state    
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+sp_link_key_calc:
+    /*calculate Link key here */
+	arg      mem_addr_value,contw
+	fetch    6,mem_sp_prarm_stack
+	istore   6,contw
+	fetch    6,mem_sp_prarm_stack+6
+	istore   6,contw
+	
+	call     function_f2    
+
+	/*handle linkkey  */
+	jam 1,mem_link_key_exists
+	arg mem_link_key,contw
+	arg mem_sp_calc_result_high,contr
+	call memcpy16
+	branch  generate_linkkey_continue
+
+    
+sp_pubkey_calc:
+	bpatchx patch3c_7,mem_patch3c
+	fetch    1,mem_sp_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+	arg      mem_sp_private_key,contw 
+	force    11,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+/* we don't need fixed private key,generate random key instead */ 
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24 //mem_sp_private_key=>mem_k 24BYTES
+
+	arg      mem_ax,contw
+	arg      mem_gx,contr
+	call     memcpy48 //mem_gx=>mem_ax 48bytes
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az //0=>mem_az 24bytes
+
+	call     eckp_calc_init
+	jam SP_CALC_PUBKEY,mem_sp_calc
+	rtn    
+	
+sp_pubkey_generated:
+	arg      mem_sp_pubkey_local,contw
+	arg      mem_bx,contr
+	call     memcpy48   
+	jam      SP_KEY_VALID,mem_sp_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+sp_dhkey_calc:
+	bpatchx patch3d_0,mem_patch3d
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24
+
+	arg      mem_ax,contw
+	arg      mem_sp_pubkey_remote,contr
+	call     memcpy48
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az
+
+	call     eckp_calc_init
+	jam      SP_CALC_DHKEY,mem_sp_calc
+	rtn 	
+	
+sp_dhkey_generated:
+	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_sp_dhkey,contw
+	arg mem_bx,contr
+	call memcpy24
+	jam SP_KEY_VALID,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+random_generator:
+	increase -1,queue
+	nrtn     positive
+	random   pdata
+	istore   2,contw  
+	branch   random_generator
+compare4:
+	increase -1,queue
+	nbranch  compare4_success,positive
+	ifetch   4,regA
+	copy     pdata,temp
+	ifetch   4,regB
+	iflip    temp,pdata
+	nbranch  compare4_failed,zero
+	increase 4,regA
+	increase 4,regB
+	branch   compare4
+compare4_failed:
+	disable  true
+	rtn
+compare4_success:
+	enable   true
+	rtn
+
+/*************************************************/
+/** Message state machine routines ***************/
+/*************************************************/
+// simple pairing support 
+
+simple_pairing_sequence:
+	bpatchx patch3d_1,mem_patch3d
+         fetch 1,mem_sp_flag
+         rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam      SP_FLAG_STANDBY,mem_sp_flag
+	fetch    1,mem_sp_state
+	beq  SP_STAT_KEY_SEND,sp_send_LMP_ENCAPSULATED_HEADER
+	beq  SP_STAT_COMMIT_SEND,sp_send_LMP_SIMPLE_PAIRING_COMFIRM
+	beq  SP_STAT_RANDOM_SEND,sp_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq  SP_STAT_CONFIRM_SEND,sp_send_LMP_DHKEY_CHECK
+	beq  SP_STAT_KEY_GENERATE,sp_generate_local_key
+	beq  SP_STAT_COMMIT_CALC,sp_calculate_commitment
+	beq  SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq  SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq  SP_STAT_LINK_KEY_CALC,sp_link_key_prarm_push
+	//beq  SP_STAT_FEATURE_EXT_SEND,send_LMP_FEATURES_REQ_EXT
+	rtn  
+
+master_simple_paring_sequence:
+	bpatchx patch3d_2,mem_patch3d
+	fetch 1,mem_master_sp_flag
+	rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	fetch 1,mem_master_sp_state
+	beq SP_MASTER_STAT_START_SKIP,sp_master_send_io_cap_get
+	beq SP_MASTER_STAT_START_DONE,sp_master_send_io_cap_send
+	beq SP_STAT_KEY_SEND,sp_master_send_LMP_ENCAPSULATED_HEADER
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment
+	beq SP_STAT_COMMITMENT_COMPARE,sp_master_commitment_compare
+	beq SP_STAT_RANDOM_SEND,sp_master_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq SP_STAT_CONFIRM_SEND,master_sp_send_lmp_dhkey_check
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq SP_STATE_END,master_sp_sm_end
+	rtn
+
+master_set_mem_master_sp_flag:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn
+	
+master_clear_mem_master_sp_flag:
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	rtn
+sp_calc_sequence:
+	bpatchx patch3d_3,mem_patch3d
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_sp_calc
+	rtnbit1 7
+	fetch    1,mem_ec_loopc
+	branch   sp_calc_sequence_done,blank
+	branch   eckp_calc
+
+sp_calc_sequence_done:    
+	call ecunmapz
+	fetch 1,mem_sp_calc
+	beq  SP_CALC_PUBKEY,sp_pubkey_generated
+	beq  SP_CALC_DHKEY,sp_dhkey_generated
+	rtn
+
+
+bn_testbit:
+	and pdata,7,queue
+	rshift3 pdata,pdata
+	iadd contr,contr
+	ifetch 1,contr
+	qisolate0 pdata
+	rtn
+
+
+ec_copy:
+	call memcpy24
+	call memcpy24
+	branch memcpy24
+	
+	
+bn_eq_zero:
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	rtn
+	
+	
+	/* return zero if eq */
+
+bn_eq_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	isub temp,null
+	nrtn zero
+	increase 4,regA
+	increase 4,regB
+	loop bn_eq_0
+	rtn
+
+	/* return positive if A >= B */
+bn_bigeq:
+	force 6,loopcnt
+	increase 20,regA
+	increase 20,regB
+bn_bigeq_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	nrtn positive
+	nrtn blank
+	increase -4,regA
+	increase -4,regB
+	loop bn_bigeq_0
+	rtn
+
+bn_add:
+	force 6,loopcnt
+	force 0,regC
+bn_add_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	iadd temp,pdata
+	iadd regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_add_0
+	rtn
+
+bn_sub:
+	force 6,loopcnt
+	force 0,regC
+bn_sub_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	isub regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_sub_0
+	rtn
+
+bn_rshift6:
+	force 6,loopcnt
+	increase 20,regA
+bn_rshift:
+	force 0,regC
+bn_rshift_0:	
+	ifetch 4,regA
+	isolate1 0,pdata
+	setflag true,1,regC
+	rshift pdata,pdata
+	isolate1 0,regC
+	setflag true,31,pdata
+	istore 4,regA
+	increase -4,regA
+	rshift regC,regC
+	loop bn_rshift_0
+	rtn
+
+bn_lshift:
+	force 6,loopcnt
+	force 0,regC
+bn_lshift_0:	
+	ifetch 4,regA
+	isolate1 31,pdata
+	setflag true,1,regC
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata
+	istore 4,regA
+	increase 4,regA
+	rshift regC,regC
+	loop bn_lshift_0
+	rtn
+	
+bn_lshiftmod:
+	call bn_lshift
+bn_lshiftmod_ismod:	
+	isolate1 0,regC
+	branch bn_lshiftmod_0,true
+	arg mem_p,regB
+	copy regA,regC
+	increase -24,regA
+	call bn_bigeq
+	nrtn positive
+	copy regC,regA
+bn_lshiftmod_0:
+	increase -24,regA
+	arg mem_p,regB
+	copy regA,contw
+	branch bn_sub
+	
+
+bn_addmod:
+	call bn_add
+	copy contw,regA
+	branch bn_lshiftmod_ismod
+	
+bn_submod:
+	call bn_sub
+	isolate0 0,regC
+	rtn true
+	arg mem_p,regB
+	add contw,-24,regA
+	copy regA,contw
+	branch bn_add
+	
+
+bn_p192mod:
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2,regB
+	copy regB,contw
+	add regA,24,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	force 0,pdata
+	istore 8,contw
+	copy timeup,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	force 0,pdata
+	istore 8,contw
+	add alarm,32,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	add alarm,40,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	branch bn_addmod
+		
+
+bn_load:
+	force 6,loopcnt
+bn_load_0:	
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop bn_load_0
+	rtn
+
+
+	/* cost 1562 clks */	
+bn_mulmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp1,contw
+	call bn_zero
+	arg mem_tmp1,contw
+	copy regA,contr
+	force 0,regext_index
+	call bn_load
+	copy regB,contr
+	call bn_load
+	force 0,regB
+bn_mulmod_1:	
+	force 0,temp
+	force 6,regC
+bn_mulmod_0:
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+	copy regB,regext_index
+	deposit regext
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 12,regC,0xff
+	nbranch bn_mulmod_0,true
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -24,contw
+	increase 1,regB
+	compare 6,regB,0xff
+	nbranch bn_mulmod_1,true
+	arg mem_tmp1,regA
+	copy timeup,contw
+	branch bn_p192mod
+
+	
+bn_sqrmod:
+	copy regA,regB
+	branch bn_mulmod
+
+bn_rshifteven:
+	copy regA,alarm
+bn_rshifteven_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift6
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_0,true
+	arg mem_p,regA
+	copy regB,contw
+	call bn_add
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						/* [6] */
+	increase -24,regB
+bn_rshifteven_0:
+	add regB,24,regA
+	force 7,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_1
+
+	/* cost 141910 clks */
+bn_invmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp0,contw				/* x */
+	call bn_zero
+	force 0,pdata
+	store 4,mem_tmp5
+	store 4,mem_t2
+	jam 1,mem_tmp0
+	arg mem_tmp1,contw				/* y */
+	call bn_zero
+	arg mem_p,contr
+	arg mem_tmp2,contw				/* a */
+	call memcpy24
+	copy regA,contr
+	arg mem_tmp3,contw				/* b */
+	call memcpy24
+bn_invmod_2:	
+	arg mem_tmp3,contr
+	call bn_eq_zero
+	branch bn_invmod_0,blank
+	arg mem_tmp3,regA
+	arg mem_tmp0,regB
+	call bn_rshifteven
+
+	arg mem_tmp2,regA
+	arg mem_tmp1,regB
+	call bn_rshifteven
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	call bn_bigeq
+	branch bn_invmod_1,positive
+	arg mem_tmp2,regA
+	arg mem_tmp3,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_1:
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp1,regA
+	arg mem_tmp0,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_0:
+	arg mem_tmp0,contw
+	call bn_zero
+	fetch 1,mem_tmp5
+	store 1,mem_tmp0
+	store 1,mem_tmp0a
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_addmod
+	arg mem_p,regA
+	arg mem_tmp1,regB
+	copy timeup,contw
+	branch bn_submod
+	
+
+
+	/* cost 64742 clks */
+ecdbl:
+	arg mem_cz,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_a,regA
+	arg mem_t3,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=a*z4	*/
+	arg mem_cx,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_t2,contw
+	call bn_addmod
+	arg mem_t2,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_addmod		/* t2=3*x2 + z*z4		D  */
+	arg mem_cx,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_cy,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA		
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=4x*y2	B	*/
+	arg mem_t3,regA
+	arg mem_t0,contw
+	call bn_sqrmod
+	arg mem_t0,regA
+	call bn_lshiftmod
+	arg mem_t0,regA
+	call bn_lshiftmod		
+	arg mem_t0,regA		
+	call bn_lshiftmod		/* t0=8*y4		C */
+	arg mem_cy,contr
+	arg mem_t3,contw
+	call memcpy24
+	arg mem_t3,regA
+	call bn_lshiftmod
+	arg mem_t3,regA
+	arg mem_cz,regB
+	arg mem_cz,contw
+	call bn_mulmod		
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_cx,contw
+	call bn_submod
+	arg mem_t1,regA
+	arg mem_cx,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t3,contw
+	call bn_mulmod		
+	arg mem_t3,regA
+	arg mem_t0,regB
+	arg mem_cy,contw
+	branch bn_submod
+	
+
+	/* cost 104904	clks */
+ecadd:
+	arg mem_az,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_cx,regA
+	arg mem_t7,regB
+	arg mem_t0,contw
+	call bn_mulmod		/* n1=t0=xa*zb2  */
+	arg mem_az,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_cy,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* n2=t1=ya*zb3 */
+	arg mem_cz,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_ax,regA
+	arg mem_t7,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* n3=t2=xb*za2 */
+	arg mem_cz,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_ay,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* n4=t3=yb*za3 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t7,contw
+	call bn_submod		/* n5=t7=n1-n3=t0-t2 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t0,contw
+	call bn_addmod		/* n7=t0=n1+n3=t0+t2 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_submod		/* n6=t2=n2-n4=t1-t3 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_addmod		/* n8=t1=n2+n4=t1+t3 */
+	arg mem_t1,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5 */
+	arg mem_cz,regA
+	arg mem_az,regB
+	arg mem_t3,contw
+	call bn_mulmod	
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_cz,contw
+	call bn_mulmod		/* z=za*zb*n5 */
+	arg mem_t7,regA
+	arg mem_t7,contw
+	call bn_sqrmod		/* t7=n5^2 */
+	arg mem_t7,regA
+	arg mem_t0,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=n5^2*n7 */
+	arg mem_t7,regA
+	arg mem_t1,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5^3 */
+	arg mem_t2,regA
+	arg mem_cx,contw
+	call bn_sqrmod		
+	arg mem_cx,regA
+	arg mem_t3,regB
+	arg mem_cx,contw
+	call bn_submod		/* x=n6^2-n5^2*n7 */
+	arg mem_cx,contr
+	arg mem_t7,contw
+	call memcpy24
+	arg mem_t7,regA
+	call bn_lshiftmod		/* t7=2*x */
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_submod		/* t3=n9 */
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* t2=n9*n6 */
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_cy,contw
+	call bn_submod	
+	arg mem_cy,regA
+	arg mem_p,regB
+	arg mem_cy,contw
+	force 0,regC
+	fetch 1,mem_cy
+	isolate1 0,pdata
+	call bn_add,true
+	copy regC,alarm
+	arg mem_cy,regA
+	call bn_rshift6
+	fetch 1,mem_cy5
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5
+	rtn
+
+	/* cost 22276983 clks */
+
+eckp_0:	
+	fetch 1,mem_ec_loopc
+	increase -1,pdata
+	nrtn positive
+	store 1,mem_ec_loopc
+	fetch 1,mem_ec_infinite
+	call ecdbl,blank
+	fetch 1,mem_ec_loopc
+	arg mem_k,contr
+	call bn_testbit
+	branch eckp_0,true
+	fetch 1,mem_ec_infinite
+	nbranch eckp_1,blank
+	call ecadd
+	branch eckp_0
+eckp_1:
+	jam 0,mem_ec_infinite
+	arg mem_ax,contr
+	arg mem_cx,contw
+	call ec_copy
+	branch eckp_0
+
+	/* cost 162522 clks */
+ecunmapz:
+	arg mem_cz,regA
+	arg mem_t3,contw
+	call bn_invmod			/* t3 = 1/z */
+	arg mem_t3,regA
+	arg mem_t1,contw		
+	call bn_sqrmod			/* t1 = 1/z2 */
+	arg mem_cx,regA
+	arg mem_t1,regB
+	arg mem_bx,contw
+	call bn_mulmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t2,contw			
+	call bn_mulmod			/* t2 = 1/z3 */
+	arg mem_cy,regA
+	arg mem_t2,regB
+	arg mem_by,contw
+	branch bn_mulmod		
+	
+	
+
+sha_endian_swap2:	
+	ifetch 4,contr
+	force 4,regA
+	increase 3,contw
+sha_endian_loop:	
+	istore 1,contw
+	rshift8 pdata,pdata
+	increase -2,contw
+	increase -1,regA
+	nbranch sha_endian_loop,zero
+	increase 5,contw
+	loop sha_endian_swap2
+	rtn	
+
+
+sha_getw:
+	lshift2 queue,pdata
+	iadd timeup,contr
+	ifetch 4,contr
+	rtn
+	
+sha_r:
+	force 16,alarm
+	arg memdat,timeup
+sha_r_loop:	
+	add alarm,-7,queue
+	call sha_getw
+	iforce temp						/* W[t - 7] */
+	add alarm,-16,queue
+	call sha_getw
+	iadd temp,temp					/* W[t-7] + W[t-16] */
+	add alarm,-2,queue
+	call sha_getw
+	shasx pdata,1,pdata
+	iadd temp,temp					/* S1(W[t -  2]) + W[t-7] + W[t-16] */
+	add alarm,-15,queue
+	call sha_getw
+	shasx pdata,0,pdata
+	iadd temp,temp					/* S0(W[t - 15]) + S1(W[t -  2]) + W[t-7] + W[t-16] */
+	lshift2 alarm,pdata
+	iadd timeup,contw
+	istoret 4,contw
+	increase 1,alarm
+	compare 64,alarm,0xff
+	nbranch sha_r_loop,true
+	rtn
+	
+
+sha_init:
+	arg memh0,contr
+	force 7,regext_index
+sha_init_0:	
+	ifetch 4,contr
+	iforce regext
+	increase -1,regext_index
+	branch sha_init_0,positive
+	rtn
+
+sha:
+	bpatchx patch3d_4,mem_patch3d
+	call sha_r		/* preprocessing data into R() */
+	arg memahbak,contw
+	force 0,regext_index
+sha_0:	
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_0,true
+	call enable_authrom
+	arg memk,timeup
+	arg memdat,alarm
+	force 64,loopcnt
+sha_loop:	
+	ifetcht 4,alarm
+	ifetch 4,timeup
+	increase 4,timeup
+	increase 4,alarm
+	iadd temp,pdata			/* x+K */
+	force 7,regext_index
+	iadd regext,temp			/* x+K+h */
+	force 4,regext_index
+	shasx regext,3,pdata
+	iadd temp,temp			/* temp = s3(e)+x+K+h */
+	force 5,regext_index
+	deposit regext
+	force 6,regext_index
+	ixor regext,pdata
+	force 4,regext_index
+	iand regext,pdata			/* (e & (f ^ g)) */
+	force 6,regext_index
+	ixor regext,pdata			/* F1(e, f, g) = g ^ (e & (f ^ g)) */
+	iadd temp,temp			/* temp1 = h + S3(e) + F1(e,f,g) + K + x */
+	force 7,regext_index
+	copy temp,regext			/* save to H */
+	force 3,regext_index
+	deposit regext
+	iadd temp,regext			/* save to D */
+	force 0,regext_index
+	deposit regext
+	force 1,regext_index
+	iand regext,temp			/* a & b */
+	ior regext,pdata			/* a | b */			
+	force 2,regext_index
+	iand regext,pdata			/* (c & (a | b)) */
+	ior temp,temp				/* F0:(a & b) | (c & (a | b)) */
+	force 0,regext_index
+	shasx regext,2,pdata
+	iadd temp,pdata			/* temp2 = S2(a) + F0(a,b,c) */
+	force 7,regext_index
+	iadd regext,regext			/* h = temp1 + temp2 */
+	regexrot					/* rotate move h,a-g => a-h */
+	loop sha_loop
+	arg memahbak,contr
+	force 0,regext_index
+sha_1:	
+	ifetch 4,contr
+	iadd regext,regext
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_1,true
+	branch disable_authrom
+
+	
+sha_result:
+	arg   memresult,contw
+	force 7,regext_index
+sha_regext_save:
+	deposit regext
+	istore  4,contw 
+	increase -1,regext_index
+	branch   sha_regext_save,positive
+	rtn	
+
+pad_xor:
+//	arg memx_end,contr
+	arg      memdat,contw
+	increase -4,contr
+	sub      loopcnt,16,regA
+pad_xor_0:	    
+	ifetch   4,contr
+	ixor     temp,pdata
+	istore   4,contw	
+	increase -8,contr	
+	loop  pad_xor_0
+	copy     regA,loopcnt
+	deposit  temp
+pad_xor_1:	
+	istore 4,contw
+	loop pad_xor_1
+	rtn
+
+g_noninit_number_confirm:
+	call g_noninit0
+	call sha_result
+	branch g_common0
+
+g_noninit:
+	call g_noninit0
+	branch g_common0
+	
+g_noninit0:
+ 	arg      mem_sp_pubkey_remote_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_local_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	branch g_common
+	
+g_init:
+ 	arg      mem_sp_pubkey_local_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_remote_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call g_common
+	branch g_common0
+	
+g_common:	
+	call     memcpy_dword_swap4
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    5,loopcnt
+	call memset0
+	setarg 640
+	istore 4,contw
+	branch sha
+g_common0:
+	fetch 4,memresult
+//	store 4,mem_gkey
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+	quotient pdata
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	arg 1000,rega
+	imul32 rega,pdata
+	fetcht 4,mem_gkey
+	iadd temp,pdata
+	store 4,mem_gkey
+	rtn
+
+function_f1_no_key:
+	jam 0,mem_passkey_1bit
+	branch function_f1_common
+	
+function_f1:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f1_no_key
+function_f1_common:
+	bpatchx patch3d_5,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+2
+	copy pdata,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	fetch 2,mem_sp_prarm_stack+4
+	copy pdata,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	istore   3,contw
+	
+	fetch 1,mem_passkey_1bit
+	
+	istore   1,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0388
+	istore   4,contw
+	call     sha
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call		bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+	
+function_f2:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+12
+	copy pdata,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	fetch 2,mem_sp_prarm_stack+14
+	copy pdata,contr
+	call     memcpy_dword_swap4
+
+	setarg   0x62746c
+	lshift8  pdata,pdata
+	or_into       0x6b,pdata       
+	istore   4,contw
+	arg      mem_addr_value_end,contr
+	force    3,loopcnt
+	call     memcpy_dword_swap
+	
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0380
+	istore   4,contw
+	call     sha
+
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+
+function_f3a:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3a_no_pin
+function_f3a_common:
+	bpatchx patch3d_6,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	branch function_f3_common
+
+function_f3a_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3a_common
+
+function_f3b_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3b_common
+
+
+function_f3b:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3b_no_pin
+function_f3b_common:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+
+	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+function_f3_common:    
+	setarg   0x0    
+	istore   8,contw
+	istore   4,contw
+	fetch 4,mem_pin
+	istore   4,contw
+	
+	copy     contw,temp
+	jam      0x80,mem_addr_padding
+	copy     temp,contw
+	arg      mem_addr_iocap_end,contr
+	call     memcpy_dword_swap4
+
+	call     sha
+    
+	arg      memdat,contw
+	force 7,loopcnt
+	call memset0
+	istore   4,contw
+	setarg   0x03F8
+	istore   4,contw
+	call     sha
+	call     sha_result
+	
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha	
+	branch     sha_result
+		
+/*
+eckp:
+	jam 192,mem_ec_loopc
+	jam 1,mem_ec_infinite
+*/
+eckp_calc_init:
+	jam      192,mem_ec_loopc
+eckp_calc_init_1:    
+	fetch    1,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    1,mem_ec_loopc 	
+	arg      mem_k,contr
+	call     bn_testbit
+	branch eckp_calc_init_1,true
+	arg      mem_ax,contr
+	arg      mem_cx,contw
+	branch     ec_copy	
+	
+eckp_calc:
+	call     ecdbl  
+	fetch    1,mem_ec_loopc
+	increase -1,pdata
+	store    1,mem_ec_loopc
+	arg      mem_k,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd                
+	             
+memcpy_dword_swap4:
+	force 4,loopcnt
+memcpy_dword_swap:
+	increase -4,contr
+memcpy_dword_swap_loop:
+	ifetch   4,contr
+	istore   4,contw
+	increase -8,contr
+	loop   memcpy_dword_swap_loop 
+    	rtn
+
+	
+
+
+sp_initialize_256:	
+	bpatchx patch3d_7,mem_patch3d
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+	call le_secure_connection_enable
+	call sp_clear_flags
+//	jam SP_KEY_INVALID_256,mem_le_sc_local_key_invalid
+	branch sp_pubkey_calc_256
+    	
+
+
+
+sp_pubkey_calc_256:
+	fetch    1,mem_le_sc_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+	
+	arg      mem_le_private_key_256,contw 
+	force    15,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32 //mem_sp_private_key=>mem_k 
+
+	arg      mem_ax_256,contw
+	arg      mem_gx_256,contr
+	call     memcpy64 //mem_gx=>mem_ax 
+	
+	arg      mem_az_256,contw
+	call      clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam SP_CALC_PUBKEY_256,mem_le_sc_calc
+	rtn    
+
+sp_pubkey_generated_256:
+	arg      mem_le_pubkey_local_x_256,contw
+	arg      mem_bx_256,contr
+	call     memcpy64   
+	jam      SP_KEY_VALID_256,mem_le_sc_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+	
+
+
+sp_dhkey_calc_256:
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32
+
+	arg      mem_ax_256,contw
+	arg      mem_le_pubkey_remote_x_256,contr
+	call     memcpy64
+
+	arg      mem_az_256,contw
+	call     clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam     SP_CALC_DHKEY_256,mem_le_sc_calc
+	rtn 
+
+
+sp_dhkey_generated_256:
+//	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_le_dhkey_256,contw
+	arg mem_bx_256,contr
+	call memcpy32
+	jam SP_KEY_VALID_256,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+
+
+
+sp_calc_sequence_256:
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_le_sc_calc
+	rtnbit1 7
+	fetch    2,mem_ec_loopc
+	branch   sp_calc_sequence_done_256,blank
+	branch   eckp_calc_256
+
+sp_calc_sequence_done_256:    
+	bpatchx patch3e_0,mem_patch3e
+	call ecunmapz_256
+	fetch 1,mem_le_sc_calc
+	beq  SP_CALC_PUBKEY_256,sp_pubkey_generated_256
+	beq  SP_CALC_DHKEY_256,sp_dhkey_generated_256
+	rtn
+
+
+eckp_calc_256:
+	call     ecdbl_256  
+	fetch    2,mem_ec_loopc
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd_256   
+
+eckp_calc_init_256:
+	bpatchx patch3e_1,mem_patch3e
+	setarg 256,pdata
+	store 2,mem_ec_loopc
+eckp_calc_init_256_1:    
+	fetch    2,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	branch eckp_calc_init_256_1,true
+	arg      mem_ax_256,contr
+	arg      mem_cx_256,contw
+	branch     memcpy96	
+
+
+ecunmapz_256:
+	arg mem_cz_256,regA
+	arg mem_t3_256,contw
+	call bn_invmod_256			/* t3 = 1/z */
+	arg mem_t3_256,regA
+	arg mem_t1_256,contw		
+	call bn_sqrmod_256			/* t1 = 1/z2 */
+	arg mem_cx_256,regA
+	arg mem_t1_256,regB
+	arg mem_bx_256,contw
+	call bn_mulmod_256
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw			
+	call bn_mulmod_256			/* t2 = 1/z3 */
+	arg mem_cy_256,regA
+	arg mem_t2_256,regB
+	arg mem_by_256,contw
+	branch bn_mulmod_256	
+	
+ecdbl_256:
+	arg mem_cz_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_a_256,regA
+	arg mem_t3_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=a*z4	*/
+	arg mem_cx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_t2_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256
+//call ice_break
+	arg mem_t2_256,regA
+	arg mem_t3_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256		/* t2=3*x2 + z*z4		D  */
+//call ice_break
+	arg mem_cx_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_cy_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA		
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		//S = 4X1Y1^2/* t1=4x*y2	B	*/
+	arg mem_t3_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256		
+	arg mem_t0_256,regA		
+	call bn_lshiftmod_256	//T = 8Y1^4	/* t0=8*y4		C */
+	arg mem_cy_256,contr
+	arg mem_t3_256,contw
+	call memcpy32
+	arg mem_t3_256,regA
+	call bn_lshiftmod_256
+	arg mem_t3_256,regA
+	arg mem_cz_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		//z = 2Y1Z1
+
+
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256   // M ^2
+//call ice_break
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256  // t2^2 - 4*cx *cy^2 
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256   //X2
+	arg mem_t1_256,regA
+	arg mem_cx_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256   //S-X2
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	//M(S-X2)	
+	arg mem_t3_256,regA
+	arg mem_t0_256,regB
+	arg mem_cy_256,contw
+	branch bn_submod_256  //M(S-X2)-T Y2	
+
+ecadd_256:
+
+	arg mem_az_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_cx_256,regA
+	arg mem_t7_256,regB
+	arg mem_t0_256,contw
+	call bn_mulmod_256		/* n1=t0=xa*zb2 U1 = X1Z0^2*/
+
+
+	arg mem_az_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_cy_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* n2=t1=ya*zb3   S1 = Y1Z0^3*/
+
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_ax_256,regA
+	arg mem_t7_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* n3=t2=xb*za2  U0 = X0Z1^2*/
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_ay_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* n4=t3=yb*za3 S0 = Y0Z1^3*/
+
+
+//	arg mem_t0_256,regA
+//	arg mem_t2_256,regB
+	arg mem_t0_256,regb
+	arg mem_t2_256,rega
+	arg mem_t7_256,contw
+	call bn_submod_256		/* n5=t7=n1-n3=t0-t2   W=U1-U0*/
+	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256		/* n7=t0=n1+n3=t0+t2    T=U1+U0 */
+//	arg mem_t1_256,regA
+//	arg mem_t3_256,regB
+	arg mem_t1_256,regb
+	arg mem_t3_256,rega
+	arg mem_t2_256,contw
+	call bn_submod_256		/* n6=t2=n2-n4=t1-t3  S1-S0 */
+	arg mem_t1_256,regA
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_addmod_256		/* n8=t1=n2+n4=t1+t3 M=S1+S0*/
+	arg mem_t1_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5     MW */
+	arg mem_cz_256,regA
+	arg mem_az_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	      //Z0Z1
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		/* z=za*zb*n5   Z0Z1W */
+
+	arg mem_t7_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256		/* t7=n5^2 */
+	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=n5^2*n7 */
+	arg mem_t7_256,regA
+	arg mem_t1_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5^3 */
+	arg mem_t2_256,regA
+	arg mem_cx_256,contw
+	call bn_sqrmod_256		
+	arg mem_cx_256,regA
+	arg mem_t3_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256		/* x=n6^2-n5^2*n7 */
+	arg mem_cx_256,contr
+	arg mem_t7_256,contw
+	call memcpy32
+	arg mem_t7_256,regA
+	call bn_lshiftmod_256		/* t7=2*x */
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256		/* t3=n9 */
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* t2=n9*n6 */
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_cy_256,contw
+	call bn_submod_256	
+	arg mem_cy_256,regA
+	arg mem_p_256,regB
+	arg mem_cy_256,contw
+	force 0,regC
+	fetch 1,mem_cy_256
+	isolate1 0,pdata
+	call bn_add_256,true
+	copy regC,alarm
+	arg mem_cy_256,regA
+	call bn_rshift_256
+	fetch 1,mem_cy5_256
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5_256
+	rtn	
+
+bn_invmod_256:
+	copy contw,timeup					 
+	arg mem_tmp0_256,contw			 
+	call clear_mem_256
+	force 0,pdata
+//	store 4,mem_tmp52
+	store 4,mem_t2_256
+	jam 1,mem_tmp0_256      //y1
+	arg mem_tmp1_256,contw	//y2			 
+	call clear_mem_512      
+	arg mem_p_256,contr
+	arg mem_tmp2_256,contw		//j		 
+	call memcpy32
+	copy regA,contr
+	arg mem_tmp3_256,contw		//i		 
+	call memcpy32
+	
+//	arg mem_tmp22,regA
+//	arg mem_tmp32,regB
+//	call p_bn_bigeq_256
+//	branch assert,positive
+bn_invmod_256_2:	
+	arg mem_tmp3_256,contr
+	call bn_eq_zero_256
+	branch bn_invmod_256_0,blank
+//call ice_break    	
+//fetch 1,0x4ffe
+//increase 1,pdata
+//store 1,0x4ffe
+	arg mem_tmp3_256,regA
+	arg mem_tmp0_256,regB
+	call bn_rshifteven_256
+	arg mem_tmp2_256,regA
+	arg mem_tmp1_256,regB
+	call bn_rshifteven_256
+	
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	call bn_bigeq_256
+	branch bn_invmod_256_1,positive
+	arg mem_tmp2_256,regA
+	arg mem_tmp3_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp0_256,regA
+	arg mem_tmp1_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_1:
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp1_256,regA
+	arg mem_tmp0_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_0:
+//call ice_break
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	call  bn_p256mod
+//call ice_break
+	arg mem_p_256,regA
+	copy timeup,regB
+	copy timeup,contw
+	branch bn_submod_256
+
+
+bn_mulmod_256:
+	copy contw,timeup					/* save result ptr */
+	
+	force 0,regext_index
+	
+	arg mem_tmp1_256,contw
+	call clear_mem_512
+	arg mem_regext,contw
+	call clear_mem_512
+//	jam 0,mem_regext_index
+
+//	arg mem_tmp12,contw
+	copy regA,contr
+//	force 0,regext_index
+	jam 0,mem_regext
+	setarg 0
+	call bn_load_mem
+	copy regB,contr
+	call bn_load_256
+//	force 0,regB
+//	jam 0,mem_regb
+	force 0,queue
+	arg mem_tmp1_256,contw	
+bn_mulmod_256_1:	
+//	copy regb,pdata
+//	store 1,
+	arg mem_regext,temp
+	copy queue,regb
+	lshift2 regb,pdata
+//	lshift4 pdata,pdata
+	iadd temp,regb	
+	force 0,temp
+	force 0,regC
+bn_mulmod_256_0:
+//	copy contw,pdata
+//	store 2,mem_contw
+//call ice_break
+//	copy pdata,contw
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+//	copy regB,regext_index
+//	deposit regext
+	ifetch 4,regb
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 8,regC,0xff
+	nbranch bn_mulmod_256_0,true
+//call ice_break
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -32,contw
+//	fetch 1,mem_regb
+//	copy pdata,regb
+	increase 1,queue
+	compare 8,queue,0xff
+	nbranch bn_mulmod_256_1,true
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	branch bn_p256mod
+
+bn_p256mod:
+	bpatchx patch3e_2,mem_patch3e
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add regA,44,contr
+	call memcpy8
+	call memcpy12
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S1
+	arg mem_tmp2_256,regB
+	copy alarm,rega   
+	copy timeup,contw
+	call bn_addmod_256 //T+2S1
+//call ice_break	
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add alarm,48,contr
+	call memcpy16
+	call memset0_4	
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S2
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy timeup,rega   
+	copy regA,contw	
+	call bn_addmod_256  //+2S2
+//call ice_break	
+//	arg 0,regB
+		
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,56,contr
+	call memcpy8
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S3
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,36,contr
+	call memcpy12
+	add alarm,52,contr	
+	call memcpy12
+	add alarm,52,contr
+	call memcpy4
+	add alarm,32,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S4	
+//call ice_break	
+//	arg 1,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,44,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,32,contr
+	call memcpy4
+	add alarm,40,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D1	
+//call ice_break	
+//	arg 2,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,48,contr
+	call memcpy8
+	call memcpy8
+	force 0,pdata
+	istore 8,contw
+	add alarm,36,contr
+	call memcpy4
+	add alarm,44,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D2	
+//call ice_break	
+//	arg 3,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,52,contr
+	call memcpy12
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,48,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D3
+//call ice_break	
+//	arg 4,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,56,contr
+	call memcpy8
+	call memset0_4	
+	add alarm,36,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,52,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	branch  bn_submod_256 //-D4	
+
+
+bn_load_mem:
+	force 32,loopcnt
+	arg mem_regext,contw
+	iadd contw,contw
+	branch memcpy
+
+bn_load_256:
+	force 8,loopcnt
+	branch bn_load_0
+
+bn_sqrmod_256:
+	copy regA,regB
+	branch bn_mulmod_256
+
+bn_add_256:
+	force 8,loopcnt
+ 	branch bn_add+1
+
+bn_addmod_256:
+	call bn_add_256
+	copy contw,regA
+	branch bn_lshiftmod_ismod_256
+
+bn_lshiftmod_256:
+	call bn_lshift_256
+bn_lshiftmod_ismod_256:	
+	isolate1 0,regC
+	branch bn_lshiftmod_p_256,true
+	arg mem_p_256,regB
+	copy regA,regC
+	increase -32,regA
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+	
+bn_lshiftmod_p_256:
+	call sub_p2_256
+//	nrtn true
+	copy regA,regC
+	increase -32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+		
+	
+sub_p2_256:
+	increase -32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_sub_256
+	
+
+
+	
+bn_submod_256:
+	call bn_sub_256
+//	isolate1 0,regC
+	branch  bn_submod_256_np,true
+//	copy regA,regC
+//	increase -32,regA
+	add contw,-32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	arg mem_p_256,regB
+	add contw,-32,regA
+//	copy regC,regA
+	copy rega,contw
+	branch  bn_sub_256
+bn_submod_256_np:	
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	call bn_add_256
+//	isolate1 0,regC
+	rtn true
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_add_256	
+
+
+ 
+bn_sub_256:
+	force 8,loopcnt
+	branch bn_sub+1
+
+bn_rshift_256:
+	force 8,loopcnt
+	increase 28,regA
+	branch bn_rshift
+
+bn_lshift_256:
+	force 8,loopcnt
+	force 0,regC
+	branch bn_lshift_0
+
+bn_bigeq_256:
+	force 8,loopcnt
+	increase 28,regA
+	increase 28,regB
+	branch bn_bigeq_0
+
+
+bn_eq_zero_256:
+	ifetch 8,contr
+	nrtn blank
+	branch bn_eq_zero
+
+
+
+	
+bn_rshifteven_256:
+	copy regA,alarm
+bn_rshifteven_256_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift_256
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_256_0,true
+	arg mem_p_256,regA
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						 
+	increase -32,regB
+bn_rshifteven_256_0:
+	add regB,32,regA
+	force 9,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_256_1		
+
+
+
+ui_init:
+	call lpm_disable_exen_output
+	rtn wake
+	call ui_button_init
+	call ui_timer_init
+	branch ui_led_init_global
+
+ui_dispatch:
+	call ui_led_dispatch
+	
+	branch ui_timer_check
+	
+ui_button_init:
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	iforce temp
+	call gpio_config_output
+	fetcht 1,mem_ui_button_gpio
+	call gpio_out_inactive
+	nop 100
+	fetcht 1,mem_ui_button_gpio
+	call gpio_config_input
+	branch ui_button_polling
+
+
+	
+ui_button_polling:
+	bpatchx patch3e_3,mem_patch3e
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	copy pdata,temp
+	call gpio_get_bit
+	nbranch ui_button_up,true
+	//fall through
+ui_button_down:
+	call ui_button_check_long_press
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_DOWN
+	jam UI_BUTTON_STATE_DOWN,mem_ui_button_last_state
+	//Down Edge
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_ui_button_timer //start long press timer
+	call lpm_button_get_wake_lock
+	jam BT_EVT_BUTTON_DOWN,mem_fifo_temp
+	branch ui_ipc_send_event
+ui_button_up:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_UP
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	//Up Edge
+	jam 0,mem_ui_button_timer//stop long press timer
+	call lpm_button_clean_wake_lock
+	jam BT_EVT_BUTTON_UP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+ui_button_check_long_press:
+	fetch 1,mem_ui_button_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_ui_button_timer
+	nrtn blank
+	//Long Press
+	jam BT_EVT_BUTTON_LONG_PRESSED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+lpm_button_get_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_get_wake_lock
+	
+lpm_button_clean_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_put_wake_lock
+
+
+
+/***********************ui led function****************************/
+/******************
+led function
+
+ui_led_init_global
+ui_led_on_global
+
+ui_led_off_global
+//input:rega :struct number
+ui_led_blink_start_global
+
+//input:rega :struct number
+//contr: the point that want to set led style address
+ui_led_set_style_global
+
+******************/
+//input:rega :struct number
+//output:regb :current strutct starting pointer
+calc_curr_struct_prt:
+	fetch 2,mem_ui_led_struct_ptr
+	mul32 rega,LED_OFFSET_LENGTH,regb
+	iadd regb,regb
+	rtn
+
+
+ui_led_init_global:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_ui_led_struct_ptr
+	copy pdata,regb
+ui_led_init_loop:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	call gpio_config_output
+	call ui_led_off_static
+	increase LED_OFFSET_LENGTH,regb
+	loop ui_led_init_loop
+	rtn
+
+	
+//input:rega :struct number
+ui_led_on_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_LIGHTING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_on_static
+
+	
+//input:rega :struct number
+ui_led_blink_stop_global:
+ui_led_off_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_DARKING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+ui_led_blink_start_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_BLINK_START
+	istore 1,regb
+	setarg LED_INFINITE_FLASH_NUM
+	istore 1,contw
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+//REGC: the point that want to set led style address
+ui_led_set_style_global:
+	call calc_curr_struct_prt
+	arg LED_OFFSET_LENGTH,loopcnt
+	copy regc,contr
+	copy regb,contw
+	branch memcpy_fast
+
+
+
+ui_led_dispatch:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	arg 0,rega
+ui_led_blink_polling:
+	call ui_led_change_style_by_type
+	increase 1,rega
+	fetch 1,mem_ui_led_struct_num
+	isub rega,null
+	rtn zero
+	branch ui_led_blink_polling
+
+
+ui_led_off_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_inactive
+
+
+ui_led_on_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_active
+
+
+//input:rega :struct number
+ui_led_change_style_by_type:
+	add rega,ui_led_blink,queue
+	call timer_check
+	nrtn blank			//timer out
+	
+	call calc_curr_struct_prt
+
+	ifetch 1,regb			//led type
+
+	beq UI_LED_STATE_LIGHTING,ui_led_on_static
+	beq UI_LED_STATE_DARKING,ui_led_off_static
+	beq UI_LED_STATE_BLINK_STOP,ui_led_off_static
+	beq UI_LED_STATE_BLINK_DARKING,ui_led_blink_state_darking
+ui_led_blink_state_lighting:
+	call ui_led_on_static
+	add regb,LED_OFFSET_CB_LEDON,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	setarg UI_LED_STATE_BLINK_DARKING
+	istore 1,regb
+	add regb,LED_OFFSET_ON_TIME,regc
+	ifetch 2,regc
+	branch ui_led_blink_timer_start
+	
+
+ui_led_blink_state_darking:
+	call ui_led_off_static
+	add regb,LED_OFFSET_CB_LEDOFF,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	
+	add regb,LED_OFFSET_BLINK_COUNT,regc
+	ifetch 1,regc
+	beq LED_INFINITE_FLASH_NUM,ui_led_blink_infinite
+	increase -1,pdata
+	istore 1,regc
+	branch ui_led_blink_stop_global,blank		//End of flicker
+ui_led_blink_infinite:
+	setarg UI_LED_STATE_BLINK_LIGHTING
+	istore 1,regb
+	add regb,LED_OFFSET_OFF_TIME,regc
+	ifetch 2,regc
+ui_led_blink_timer_start:
+	add rega,ui_led_blink,queue
+	branch timer_init
+
+ui_led_stop_timer:
+	setarg 0
+	branch ui_led_blink_timer_start
+
+/***********************ui led function ending****************************/
+
+
+
+ui_timer_timeout:
+	setarg 0x1000
+	lshift16 pdata,pdata
+	iadd regb,regb
+	rtn
+	
+ui_timer_check:
+	bpatchx patch3e_4,mem_patch3e
+	arg 0,rega
+	fetcht 4,mem_ui_timer_last_btclk
+	copy clkn_bt,regb
+	copy regb,pdata
+	isub temp,null
+	ncall ui_timer_timeout,positive
+	//call ice_break
+ui_timer_check_loop:
+	copy regb,pdata
+	increase 160,temp    //320btclk = 100ms
+	increase 160,temp
+	isub temp,null
+	nbranch ui_timer_check_end,positive
+	increase 1,rega   //increase 1 every 100ms count
+	and rega,0x0f,pdata
+	nbranch ui_timer_check_loop,blank
+	arg 0,rega  //reset timer if it's longer than 1.5s between 2 checks
+	call ui_timer_check_send_evt
+ui_timer_init:
+	copy clkn_bt,pdata
+	store 4,mem_ui_timer_last_btclk
+	rtn
+ui_timer_check_end:
+	bpatchx patch3e_5,mem_patch3e
+	copy rega,pdata
+	rtn blank
+	increase -160,temp    //320btclk = 100ms
+	increase -160,temp
+	set0 28,temp
+	storet 4,mem_ui_timer_last_btclk
+ui_timer_check_send_evt:
+	branch app_evt_timer
+
+	
+
+//**********************************************************//
+//************UI Inter-Processor Communication*******//
+//**********************************************************//
+ui_ipc_get_lock:
+	jam 1,mem_ipc_lock_bt
+ui_ipc_get_lock_wait:
+	fetch 1,mem_ipc_lock_c51
+	nbranch ui_ipc_get_lock_wait,blank
+	rtn
+	
+ui_ipc_put_lock:
+	jam 0,mem_ipc_lock_bt
+	rtn
+	
+
+	
+ui_ipc_send_event:
+	bpatchx patch3e_6,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega
+	branch ui_ipc_put_lock
+
+ui_ipc_send_cmd:
+	bpatchx patch3e_7,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp	
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega	
+	branch ui_ipc_put_lock
+
+ui_ipc_clean_all_fifo:
+	setarg 0
+	store UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	store UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	rtn
+	
+check_51cmd:
+	bpatchx patch3f_0,mem_patch3f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_is_empty
+	rtn blank
+	jam IPC_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	call check_51cmd_once
+	fetch 1,mem_ipc_skip_continue_proc
+	branch check_51cmd,blank
+	rtn
+
+check_51cmd_once:
+	call ui_ipc_get_lock
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_out
+	copy pdata,temp
+	call ui_ipc_put_lock
+	bpatchx patch3f_1,mem_patch3f
+	copy temp,pdata
+	rtn blank
+ 	beq BT_CMD_START_DISCOVERY,check_51cmd_start_discovery
+  	beq BT_CMD_STOP_DISCOVERY,check_51cmd_stop_discovery
+  	beq BT_CMD_RECONNECT,check_51cmd_reconnect
+  	beq BT_CMD_ENTER_SNIFF_SUBRATING,check_51cmd_enter_sniff_subrating
+  	beq BT_CMD_EXIT_SNIFF_SUBRATING,check_51cmd_exit_sniff_subrating
+  	beq BT_CMD_SNIFF_TEST,check_51cmd_sniff_test
+	beq BT_CMD_START_INQUIRY,check_51cmd_inq
+	beq BT_CMD_STOP_INQUIRY,check_51cmd_stop_inq
+	beq BT_CMD_START_ADV,check_51cmd_adv
+	beq BT_CMD_STOP_ADV,check_51cmd_stop_adv
+	beq BT_CMD_START_DIRECT_ADV,check_51cmd_direct_adv
+	beq BT_CMD_STOP_DIRECT_ADV,check_51cmd_stop_direct_adv
+	beq BT_CMD_LED_OFF,check_51cmd_led_off
+	beq BT_CMD_LED_ON,check_51cmd_led_on
+	beq BT_CMD_LED_BLINK,check_51cmd_led_start_blink
+	beq BT_CMD_LE_START_CONN,check_51cmd_le_start_con
+	beq BT_CMD_LE_START_SCAN,check_51cmd_start_scan
+	beq BT_CMD_LE_STOP_SCAN,check_51cmd_stop_scan
+	beq BT_CMD_ENTER_HIBERNATE,check_51cmd_hibernate
+	beq BT_CMD_LE_SMP_SECURITY_REQUEST,check_51cmd_le_smp_sec_req
+	beq BT_CMD_BB_RECONN_CANCEL,check_51cmd_bb_reconn_cancel
+	//context related, process in context
+	store 1,mem_fifo_temp
+	bpatchx patch3f_2,mem_patch3f
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+check_51cmd_once_continue:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,check_51cmd_disconnect
+  	beq BT_CMD_ENTER_SNIFF,cmd_in_sniff
+  	beq BT_CMD_EXIT_SNIFF,cmd_exit_sniff
+  	beq BT_CMD_SET_PIN_CODE,check_51cmd_pincode
+	beq BT_CMD_LE_DISCONNECT,check_51cmd_le_disconnect
+	beq BT_CMD_LE_UPDATE_CONN,check_51cmd_ble_update_connect_param
+	beq BT_CMD_ROLE_SWITCH,check_51cmd_role_switch
+	beq BT_CMD_STORE_RECONN_INFO_LE,eeprom_store_le_reconn_info
+	beq BT_CMD_STORE_RECONN_INFO_BT,eeprom_store_bd_reconn_info
+	beq BT_CMD_DHKEY_NOT_ACCEPT,check_51cmd_dhkey_not_accept
+	beq BT_CMD_STORE_RECONN_INFO,check_51cmd_store_reconn_info
+	rtn
+
+check_51cmd_check_idle:
+	store 1,mem_fifo_temp
+  	call context_check_idle
+	branch check_51cmd_restore,zero
+	call context_search_plap
+	nrtn zero
+check_51cmd_restore:
+	jam IPC_SKIP_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	branch ui_ipc_send_cmd
+  
+ /******************** 51COMMAND*********************/
+
+//command opcode 0x01	
+check_51cmd_start_discovery:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	jam 3,mem_scan_mode
+	rtn
+
+
+//command opcode 0x02	
+check_51cmd_stop_discovery:
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_scan_mode
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	rtn	
+
+
+//command opcode 0x03	
+check_51cmd_reconnect:	
+	jam hci_cmd_create_conn,mem_hci_cmd
+	rtn	
+
+
+//command opcode 0x04
+check_51cmd_disconnect:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+
+	
+//command opcode 0x07
+check_51cmd_enter_sniff_subrating:
+	rtn
+
+
+//command opcode 0x08
+check_51cmd_exit_sniff_subrating:
+	rtn	
+
+
+//command opcode 0x09
+check_51cmd_sniff_test:
+	rtn	
+
+
+//command opcode 0x10
+check_51cmd_pincode:
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch cmd_pair
+
+
+//command opcode 0x11
+check_51cmd_inq:
+	rtn
+
+
+//command opcode 0x12
+check_51cmd_stop_inq:
+	rtn
+
+
+//command opcode 0x13
+check_51cmd_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x14
+check_51cmd_stop_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x15
+check_51cmd_direct_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_DIRECT_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x16
+check_51cmd_stop_direct_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x17
+check_51cmd_le_disconnect:
+	setarg 20 // 100ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	branch le_send_terminate_ind_user_terminated
+
+
+//command opcode 0x18
+check_51cmd_ble_update_connect_param:
+	branch le_l2cap_tx_update_req
+
+
+//command opcode 19
+check_51cmd_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+
+
+//command opcode 20
+check_51cmd_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+
+//command opcode 21
+check_51cmd_led_start_blink:
+	arg 0,rega
+	branch ui_led_blink_start_global
+
+
+//command opcode 0x22
+check_51cmd_le_start_con:
+	jam ON,mem_le_scan_enable
+	jam hci_cmd_le_create_conn,mem_hci_cmd
+//	fetch 6,mem_app_peer_addr
+//	store 6,mem_le_conn_peer_addr
+	rtn
+
+
+//command opcode 0x23
+check_51cmd_start_scan:
+	jam ON,mem_le_scan_enable
+	rtn
+
+
+//command opcode 0x24
+check_51cmd_stop_scan:
+	jam OFF,mem_le_scan_enable
+	jam 0,mem_hci_cmd
+	rtn
+
+
+//command opcode 0x25
+check_51cmd_hibernate:
+	fetch 2,mem_cb_before_hibernate
+	call callback_func
+	fetch 1,mem_ui_button_gpio
+	beq UI_BUTTON_GPIO_DISABLE,check_51cmd_hibernate_btn_disabled
+	copy pdata,temp
+	call gpio_config_input
+check_51cmd_hibernate_btn_disabled:
+	call ui_ipc_clean_all_fifo
+	branch lpm_hibernate	
+
+
+//command opcode 0x27
+check_51cmd_le_smp_sec_req:
+	branch le_send_smp_security_request
+
+
+//command opcode 0x29
+check_51cmd_role_switch:
+  	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	nrtn master
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam LMP_SWITCH_REQ ,mem_lmo_opcode2
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	rtn
+
+
+//command opcode 0x30
+check_51cmd_bb_reconn_cancel:
+	force page_length_timer,queue
+	branch timer_stop
+
+
+//command opcode 0x33
+check_51cmd_dhkey_not_accept:
+	call tid_set_reply
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch parse_lmp_dhkey_check_reject	
+
+
+ui_check_paring_button:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BTN_DOWN
+	rtnbit0 UI_STATE_BT_RECONNECT
+	branch check_51cmd_bb_reconn_cancel
+
+
+
+///////////queue function////////////
+queue_init:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contw
+	setarg 0
+	istore 3,contw
+	rtn
+	
+//input:rega:the address of the data to which you want to input queue
+//output:if user is disable,mean queue no have space
+queue_push:
+	call disable_user
+	call queue_full
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase 1,temp
+	istoret 1,regb	//number add 
+	
+	ifetcht 1,pdata	//temp:each length
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_WRITE_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contw
+	copy rega,contr
+calc_queue_next_ptr:
+	call memcpy
+	call queue_get_size
+	pincrease -1
+	ifetcht 1,regb
+	increase 1,temp
+	iand temp,temp
+	istoret 1,regb
+	branch enable_user
+
+
+//input:rega:the address of the data to which you want to output queue
+//output:if user is disable,mean queue no have data
+queue_pop:
+	call disable_user
+	call queue_empty
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase -1,temp
+	istoret 1,regb
+	ifetcht 1,pdata		//each size
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_READ_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contr
+	increase 1,contr
+	copy rega,contw
+	branch calc_queue_next_ptr
+
+
+//output:if blank is 1,mean queue is empty
+queue_empty:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contr
+	ifetch 1,contr
+	rtn
+
+//output:if blank is 1,mean queue is full
+queue_full:
+	call queue_get_size
+	ifetcht 1,contr
+	isub temp,pdata
+	rtn
+
+//output:pdata is queue size
+queue_get_size:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_LENGTH,contr
+	ifetch 1,contr
+	rtn
+
+///////////queue function end////////////
+
+
+
+
+
+right_shift_n: //rshiftN pdata,pdata
+	sub loopcnt,0,null
+	rtn zero
+right_shift_n_loop: 
+	rshift pdata,pdata
+	loop right_shift_n_loop
+	rtn
+
+/* lshift. 0:1 byte; 1:2byte; 2:4byte; 3:8byte; 4:16byte*/
+left_shift_n:
+	force 1,pdata
+	sub loopcnt,0,null
+	rtn zero
+left_shift_n_loop:
+	lshift pdata,pdata
+	loop left_shift_n_loop
+	rtn
+push_stack:
+	deposit contw
+	store 2, mem_contw
+	storet 8,mem_temp
+	deposit timeup
+	store 4,mem_timeup
+	call push_stack_rega_b_c
+	deposit contr
+	store 2, mem_contr
+	rtn
+
+push_stack_rega_b_c:
+	deposit rega
+	store 4, mem_rega
+	deposit regb
+	store 4, mem_regb
+	deposit regc
+	store 3, mem_regc
+	rtn
+
+pop_stack:
+	fetcht 8,mem_temp
+	fetch 4,mem_timeup
+	iforce timeup
+	call pop_stack_rega_b_c
+	fetch 2, mem_contw
+	iforce contw
+	fetch 2, mem_contr
+	iforce contr
+	rtn
+
+pop_stack_rega_b_c:
+	fetch 4, mem_rega
+	iforce rega
+	fetch 4, mem_regb
+	iforce regb
+	fetch 3,mem_regc
+	iforce regc
+	rtn
+
+get_contw:
+	fetch 2,mem_contw
+	copy pdata,contw
+	rtn
+get_contr:
+	fetch 2,mem_contr
+	copy pdata,contr
+	rtn
+store_contw:
+	copy contw,pdata
+	store 2,mem_contw
+	rtn
+store_contr:
+	copy contr,pdata
+	store 2,mem_contr
+	rtn	
+	
+
+//
+save_cont_pointers:
+	copy contw,pdata
+	store 2,mem_hold_contw
+	copy contr,pdata
+	store 2,mem_hold_contr
+	rtn
+load_cont_pointers:
+	fetch 2,mem_hold_contw
+	copy pdata,contw
+	fetch 2,mem_hold_contr
+	copy pdata,contr
+	rtn
+
+memcpy96:
+	call memcpy32
+memcpy64:
+	call memcpy32
+	branch memcpy32
+memcpy12:
+	call memcpy8
+memcpy4:
+	ifetch 4,contr
+	istore 4,contw
+	rtn	
+memcpy8:
+	ifetch 8,contr
+	istore 8,contw
+	rtn	
+
+memcpy48:
+	call memcpy16
+memcpy32:
+	call memcpy8
+memcpy24:
+	call memcpy8
+memcpy16:
+	call memcpy8
+	branch memcpy8
+
+
+
+delay_10ms:
+	arg 10,loopcnt
+delay_ms_wait:
+	nop 12000
+	loop delay_ms_wait
+	rtn
+
+bn_zero:
+	force 3,loopcnt
+memset0:
+	force 0,pdata
+memset8:
+	istore   8,contw
+	loop   memset8
+	rtn
+
+memset0_8:
+	force 0,pdata
+	istore 8,contw
+	rtn
+memset0_4:
+	force 0,pdata
+	istore 4,contw
+	rtn	
+	
+clear_mem_256:
+	force 4,loopcnt
+	branch memset0 
+clear_mem_512:
+	force 8,loopcnt
+	branch memset0 
+
+clear_mem:
+	deposit loopcnt
+	rtn blank
+	setarg 0
+clear_mem_loop:
+	istore 1,contw
+	loop clear_mem_loop
+	rtn
+	
+
+clear_temp_block:
+	arg 32,loopcnt
+	arg mem_temp_block0,contw
+	branch clear_mem
+	
+xor_loop:
+	ifetch   4,regc
+	ifetcht 4,rega
+	ixor     temp,pdata
+	istore   4,contw	
+	increase 4,rega
+	increase 4,regc
+	loop  xor_loop
+	rtn
+	
+// 11 22 -> 22 11; 11 22 33 -> 33 22 11 
+// rega:data addr ;loopnct:length
+inverse_data:
+	bpatchx patch3f_3,mem_patch3f
+	copy loopcnt,pdata
+	sub pdata,1,null
+	rtn positive
+	iadd rega,regb	
+	increase -1,regb
+	rshift loopcnt,loopcnt
+inverse_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	istore 1,rega
+	istoret 1,regb
+	increase -1,regb
+	increase 1,rega
+	loop inverse_loop
+	rtn
+
+
+memcpy_fast:
+	deposit loopcnt
+	rtn blank
+memcpy_fast_loop:
+	increase -8,loopcnt
+	call memcpy8,positive
+	rtn zero
+	branch memcpy_fast_loop,positive
+	increase 8,loopcnt
+memcpy_fast_loop_four:
+	increase -4,loopcnt
+	call memcpy4,positive
+	rtn zero
+	branch memcpy_fast_loop_four,positive
+	increase 4,loopcnt
+	branch memcpy
+ 
+memcpy:
+	deposit loopcnt
+	rtn blank
+memcpy_loop:
+	ifetch 1,contr
+	istore 1,contw
+	loop memcpy_loop
+	rtn
+
+timer_stop:
+	setarg 0
+timer_init:
+	rshift clkn_bt,temp
+	storet 4,mem_last_clkn
+	arg mem_timers,contw
+	iforce temp
+	lshift queue,pdata
+	iadd contw,contw
+	istoret 2,contw
+	bpatchx patch3f_4,mem_patch3f
+	rtn
+
+timer_check_timeout:
+	arg 0x800,timeup
+	lshift16 timeup,timeup
+	iadd timeup,pdata
+	rtn
+
+
+timer_reinit:
+	arg 0,queue
+timer_check:
+	bpatchx patch3f_5,mem_patch3f
+	fetcht 4,mem_last_clkn
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn	
+	isub temp,null
+	ncall timer_check_timeout,positive	
+	isub temp,timeup
+	copy timeup,temp
+	arg mem_timers,contr
+	copy contr,contw
+	arg 16,loopcnt
+timer_loop:
+	ifetch 2,contr
+	isub temp,pdata
+	branch timer_counting,positive
+	force 0,pdata
+timer_counting:
+	istore 2,contw
+	loop timer_loop	
+	arg mem_timers,contr
+	lshift queue,pdata
+	iadd contr,contr
+	ifetch 2,contr
+	rtn
+
+
+
+	/* pdata 28+16 bit add temp 26+16 bit, result in temp */
+clk_add:
+	iadd temp,temp
+	copy temp, loopcnt
+	setarg 3750
+	isub loopcnt,pdata
+	rtn positive
+	sub pdata,0,pdata
+	rshift16 temp,temp
+	increase 1,temp
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+clk_diff_rt:
+	call clk_diff
+	branch clk2rt
+
+/* pdata -temp -> pdata, all are 28+16 bits, set user if negative */
+clk_diff:
+	disable user
+	isub temp,pdata
+	branch clk_diff_pos,positive
+	enable user
+	sub pdata,0,pdata
+clk_diff_pos:
+	rtnbit0 15
+	arg -61786,temp
+	iadd temp,pdata
+	set0 64,pdata
+	rtn
+
+clk2rt:
+	iforce contr
+	rshift16 pdata,pdata
+	arg 3750,temp
+	imul32 temp,pdata
+	iadd contr,pdata
+	rtn
+
+	/* pdata = clks in, temp = lpo out */
+clk2lpo:
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	fetcht 3,mem_clks_per_lpo
+	idiv temp
+	call wait_div_end
+	quotient temp
+	rtn
+
+	/* rt clk -> bt+rt clk */
+clk2bt:
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+
+
+
+//input:contru 
+//output:temp
+//used register: temp regc
+string2dec_from_uart:
+	arg 0,temp
+string2dec_from_uart_done:
+         copy temp,regc
+	ifetch 1,contru
+	call uchar2dialog	
+	copy regc,temp
+	call swap
+	arg 10,regb
+	imul32 regb,pdata
+	iadd temp,pdata
+	copy pdata,temp
+	loop string2dec_from_uart_done
+	rtn
+	
+
+
+uchar2dialog:
+	arg 0x3a,temp
+	isub temp,null
+	nbranch uchar2dialog_number,positive
+	arg 0x61,temp
+	isub temp,null
+	branch uchar2dialog_a2f,positive
+	arg 0x37,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_number:
+	arg 0x30,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_a2f:
+	arg 0x57,temp
+	isub temp,pdata
+	rtn
+
+pn9:
+	copy temp,alarm
+	setarg 0x1ff
+	force 0,regb
+pn9_loop:	
+	rshift3 pdata,rega
+	rshift rega,rega
+	ixor rega,rega
+	isolate1 0,rega
+	setflag true,9,pdata
+	rshift temp,temp
+	isolate1 0,pdata
+	setflag true,7,temp
+	rshift pdata,pdata
+	increase 1,regb
+	compare 0,regb,0x7
+	nbranch pn9_loop,true
+	istoret 1,contw
+	loop pn9_loop
+	copy alarm,temp
+	rtn
+
+
+wait_div_end:	
+	rtn modone
+	branch wait_div_end
+
+
+
+//input:
+//	count:loopcnt str1:rega str2:regb
+//output:
+//	same:set falg true ,diff set falg false
+// using:
+//	reg:temp null flag:zero
+compare_loop:
+string_compare:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop string_compare
+	force 0,null
+	rtn
+
+	/* pdata = temp if pdata > temp */
+ceiling:
+	isub temp,null
+	nrtn positive
+	deposit temp
+	rtn
+	
+swap:
+	iadd temp,pdata
+	isub temp,temp
+	isub temp,pdata
+	rtn
+
+clean_mem:
+	arg 0x200,loopcnt
+	arg 0x4000,contw
+	branch memset0				// clear xram at boot
+
+	//cb function ptr in pdata
+callback_func:
+	rtn blank
+	copy pdata,pc	//rtn through cb functon.
+	//branch assert
+
+wait_uarttx:
+	hfetch 2,core_uart_txitems
+	nbranch wait_uarttx,blank
+	rtn
+
+ice_break:
+	jam 0x1,core_ice_ctrl
+	rtn
+
+ice_setbp:
+	hstore 2,core_ice_break0
+	hfetch 1,core_ice_ctrl
+	set1 4,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+ice_setbp2:
+	hstore 2,core_ice_break1
+	hfetch 1,core_ice_ctrl
+	set1 6,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+	
+ice_set_write_bp:
+	hstore 2,core_ice_break0
+	jam 0x30,core_ice_ctrl
+	rtn
+	
+
+
+test_enable_white:
+	hfetch 1,core_config
+	set0 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening on */
+	rtn
+
+check_uart_tx_buff:
+	hfetch 2,core_uart_txitems
+	arg UART_AIR_CONTROL_THRESHOLD,temp
+pdata_sub_temp:
+	isub temp,null
+	rtn
+
+	//fuction fifo_in
+	//rega pointer to fifo memory , *(rega+len) is the end of fifo
+	//mem_fifo_temp data into fifo
+	//assert if fifo was full
+fifo_in:
+	bpatchx patch3f_6,mem_patch3f
+	ifetcht UTIL_FIFO_LEN,rega
+	and temp,0xff,pdata
+	nbranch fifo_in_push,blank
+	rshift8 temp,pdata
+	istore UTIL_FIFO_LEN,rega
+fifo_in_push:
+	increase UTIL_FIFO_LEN+UTIL_FIFO_OFFSET,rega
+	ifetch 1,rega
+	nbranch assert,blank //fifo full
+	fetch 1,mem_fifo_temp
+	istore 1,rega
+	rtn
+	
+	//fuction fifo_out
+	//rega pointer to fifo memory
+	//pdata  data from fifo, blank mains fifo empty
+fifo_out:
+	bpatchx patch3f_7,mem_patch3f
+	arg UTIL_FIFO_LEN,loopcnt
+	ifetch UTIL_FIFO_LEN,rega
+	rtn blank
+fifo_out_loop:
+	ifetch 1,rega
+	nbranch fifo_out_end,blank
+	increase 1,rega
+	loop fifo_out_loop
+	branch assert
+fifo_out_end:
+	arg 0,temp
+	istoret 1,rega
+	rtn
+
+	//fuction fifo_is_empty
+	//rega pointer to fifo memory
+	//blank--- fifo is empty
+fifo_is_empty:
+	ifetch UTIL_FIFO_LEN,rega
+	rtn
+
+	//fuction fifo_is_full
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT full
+fifo_is_full:
+	ifetch 1,rega
+	rtn
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT near full
+fifo_is_near_full:
+	ifetch 2,rega
+	rtn
+
+	//rega pointer to fifo memory
+	//count output via pdata
+fifo_content_count:
+	arg 0,temp
+fifo_content_count_loop:
+	fetch 1,contr
+	loop fifo_content_count_loop,blank
+	increase 1,temp
+	loop fifo_content_count_loop
+	copy temp,pdata
+	rtn
+	
+not_greater_than:
+	isub temp,null
+	nrtn positive
+	copy temp,pdata
+	rtn
+
+
+disable_positive:
+	force -1,null
+	rtn
+enable_positive:
+disable_zero:
+	force 1,null
+	rtn
+enable_zero:
+	force 0,null
+	rtn
+
+enable_user:
+	enable user
+	rtn
+	
+disable_user:
+	disable user
+	rtn
+	
+enable_user2:
+	enable user2
+	rtn
+	
+disable_user2:
+	disable user2
+	rtn
+
+disable_blank:
+	setarg 1
+	rtn
+
+enable_blank:
+	setarg 0
+	rtn
+
+
+reverse_byte:
+	copy loopcnt,pdata
+	rtn blank
+	copy contr,pdata
+	iadd loopcnt,pdata
+	increase -1,pdata
+	copy pdata,contr	
+reverse_loop:
+	ifetch 1,contr
+	increase -2,contr
+	istore 1,contw
+	loop reverse_loop
+	rtn
+
+
Index: YJX_Only24g/main/output/bt_program23.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_program23.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/bt_program23.rom	(working copy)
@@ -0,0 +1,32766 @@
+11000010100001000000000000010010
+11000000010000101000010100100101
+11000000010001001000010011100010
+11000000010001010000010100100111
+11000000000000001000000000011110
+11000000010100001000000000100111
+11000000010101000000000000101100
+11000000010110001000000000101111
+11000000010110010000000000111011
+11000000011000100000000010111100
+11000000011001001000000101000010
+11000000011001010000000101000110
+11000000011100011000001010011100
+11000000011100110000001001000001
+11000000011101010000001011100110
+11000000011101011000001011110100
+11000000011101100000001100011101
+00100000001000000010101010001110
+11000000010001100000001100100001
+00100000001000000010101010001110
+00011111111000100010001000000000
+01101000000010001100110001100010
+01011000000000000100110001101001
+10011000010000001000101000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00011000010000001000010000000001
+00011000010000010000010000000111
+01100000000010001100110001100010
+00100000011000000000000000000000
+11011000101000000000100110101110
+11011111001000000000000000001100
+00100000010000000111111011010100
+00100000010000000000000010110000
+00100000010000000110101000000011
+00100000010000000101110011110110
+00100100010101011010110001100101
+00100000010000000111110011001101
+00100000001000000010000000001100
+01011000000000000000101000000110
+01100000000000011100010100010000
+01011000000000000001110110000111
+01100000000000010100010100010011
+00100000001000000010101010100010
+01101000000000001100100000001100
+00100100011110100000000000000000
+00100000001000000010101101111111
+11000110000100110000000000000000
+01101000000000001100101100010100
+00100100001110100111111111101111
+01101000000000001100101100001110
+00100100001110100111111111101111
+01101000000000001100011110100010
+11000000000000000111111111101111
+01101000000000001100011111001010
+11000000000000001111111111101111
+01101000000000010100001001001000
+00100100001110100111111111101111
+00100000001000000111111111110001
+11000110100100110000000000000000
+01101000000000001100110011100111
+11000000000000001000000001010111
+00100000010000000000001110000110
+00100100001101000000000001110010
+00100000010000000000001101101011
+00100000010000000000001110110011
+01101000000000001100101110110111
+11000001111111111000000000000000
+00100000010000000000010000010010
+00100000010000000000000001010001
+01101000000000001100110011100111
+11000001000000001000000000000000
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000011110100000000000000000
+01101000000000001100000010010001
+00100000011110100000000000000000
+00100000010000000000000010010111
+00100000010000000000000010010100
+01011000000000001111011000011000
+00100000001000000010101110010011
+01101000000000001100011011110101
+11000011100000111000000000000000
+01011000000000010111011100000000
+01100000000000011100101111010110
+01110000010010000001000000011110
+00100000011000000000000000000000
+00100000010000000000010100101010
+00100100011101000000000000000000
+00100000010000000000000001101001
+01101000000000001100110011101000
+00011111111000001111111000000001
+01100000000000001100110011101000
+00011111111001100111110000011001
+00100000010000101000000001100000
+00100000001000000000000000111110
+01110000010011001110011100000000
+01110000010011001110100000000000
+01110000010010111110001000000000
+01101000000000001100101111001101
+01100000000000001100101111001100
+00100000011000000000000000000000
+01101000000000001100101111001110
+01100000000000001100101111001100
+00100000011000000000000000000000
+01101000000000001100101111100010
+00011111111000001111111000000001
+01100000000000001100101111100010
+11000000000000100000000001100110
+11000000000000101000000001100010
+00100000011000000000000000000000
+01110000010011001110011100000001
+01110000010011001110100000000000
+00100000011000000000000000000000
+01101000000000001100101111010011
+00100000010110100000000001111110
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000011110100000000000000000
+01101000000000001100000010010001
+00100000011110100000000000000000
+00100000010000000000000010010111
+01101000000001000100101111010110
+00100000010000000111111101001001
+01100000000010100100000101011011
+00100000001000000010101100101010
+01110000010010111101001100000001
+01110000010011001101110000000000
+00100000010000000000001100110011
+01100000000000001100101101000011
+01011000000000000000000000000000
+01100000000000111100101101000100
+01101000000000100100101111011110
+01100000000000100100101101001011
+01110000010010111010011100001100
+01101000000000001100101110101000
+01111001001000000111111000000011
+01100000000000001100101110101000
+00100000010000000000010101100110
+00100000010000000000001110001010
+00100000001000000000000001000001
+11000110000100110000000000000000
+00100000010000000000000010100011
+00100000010000000000000010010111
+01101000000000001100000001000000
+11000011000000000000000010010100
+01101000000000001000000010100000
+00100100011110100000000000000000
+01011000000000000000000000000000
+01100000000001000000000010100001
+00100000011000000000000000000000
+00100000010000000000000010100000
+00100000010000000000000010010100
+00100000010000000011111010111111
+01101000000100100000000001110000
+01101000000110100000000001111000
+10011000010000011000010000000000
+00011000010001000000010000000000
+01100000000110100000000001111100
+00100000001000000000001000110001
+01101000000000001100101100001001
+00100000011110100000000000000000
+00100000001000000000001010011101
+11011000110000000001100000000000
+11011000101000000100100000010011
+00100000010000000000000010101110
+11011000110000000001100100000000
+11011000101000000100100000101110
+00100000010000000000000010101110
+11011000110000000001101000000000
+11011000101000000100100001001001
+00100000010000000000000010101110
+11011000110000000001101100000000
+11011000101000000100100001100100
+11011111001000000000000000011011
+00100000001000000111111100000001
+11011000110000000100100000010011
+11011000101000000001100000000000
+00100000010000000000000010101110
+11011000110000000100100000101110
+11011000101000000001100100000000
+00100000010000000000000010101110
+11011000110000000100100001001001
+11011000101000000001101000000000
+00100000010000000000000010101110
+11011000110000000100100001100100
+11011000101000000001101100000000
+00100000001000000000000010101110
+00100000010000000011010000010110
+00100000001101011000000011000110
+01110000100000000111100000100000
+00100000010000000000011000000001
+01101000000000001100000111011110
+01100000000000001100110001011110
+00100000010000000000010000000001
+01101000000000001100011010000101
+01100000000000001100011011011010
+00100000010000000100001111001010
+00100000010000000000000011001000
+00100000001000000111010010111001
+00100100010101011000000100011010
+00100000010000000000000011110101
+00100000011101011000000000000000
+01110000010001110111101000000001
+00100000010000000000000101100011
+00100000001000000000000101001010
+00100000010000000000001001001011
+11000000000000111000000011010001
+00100000011000000000000000000000
+01011000000000000001101110110111
+01100000000000010100011100100000
+11011000010000000000000000000010
+11011010001000000100011100100000
+01011000000000000000000000000000
+00100000010000000110011000111101
+01110000100000000001000000000001
+00100000011000000000000000000000
+00100000010000000000000110101101
+01101000000000001100001000010000
+11000000000110100000000011011101
+00100000011000000000000000000000
+00100000010000000000000011101101
+01110000010001111010010100000001
+01101000000000010100011010101000
+01100000000000010100011010101110
+00100000010000000011010000011000
+00100000010000000000000011100110
+01011000000000000000000000000100
+11100000110000001000000000000000
+00100000001000000111110111110100
+11011010001000000100001101110000
+11101010001000001000000000000000
+00100000011110100000000000000000
+10011000110000001010001000000000
+11101000110000001000000000000000
+11000001000000001000000000000000
+00100000001000000000000011100111
+01110000010010110001011100000001
+01110000010010110001010000001001
+00100000001000000000001000111101
+01101000000000100100011011010011
+11000011000010100011110101100110
+01101000000000001100011101111010
+11000000011111111011110101100110
+00100000001000000011110110000000
+01110000010000100001001001110110
+00100000001000000011110100110110
+00100000010000000000000011110101
+00100000010000000100000011000000
+01101000000000001100011011100000
+11000000000000101100000011010101
+00100000010000000100000011011001
+11000000000110000000000100000101
+11000000000110001000000100001011
+00100000010000000100000011010001
+00100000000000000000001111101000
+00100000001000000000000011111011
+01110000010010110000100100000001
+00100000010000000110010000001111
+00100000010000000000000011110111
+00100000001000000110010000010001
+00100000010000000000000100010000
+01101000000000001100011011011110
+11000000001011010000000100001001
+00100000001000000100000011100000
+01110000010001101110000000000111
+00100000011000000000000000000000
+00100000010000000000000100010000
+01101000000000001100011011011110
+11000000001110000100000011101000
+01110000010001101110000000000001
+00100000011000000000000000000000
+01011000000000001000000000000110
+00100000010000000110010000010011
+00100000000000000010111011100000
+00100000001000000000000011110000
+01011000000000000000000000000110
+00100000010000000110010000010100
+00011111111000011111111000001000
+00011111111011010111111000000000
+00011111111000001111111000000110
+00100000001000000110010000010011
+00100000010000000000001100101101
+01101000000100001000101000000000
+01111001001111111111111000000100
+01100000000100001000101000000000
+00100000010000000011111001101110
+01101000000010001100101100001101
+00100000010000000110100000001110
+00100000010000000011111000011110
+01011000000000000000000000000000
+01100000000000010100000101010100
+00100000010000000000000100110100
+01011000000000000001100000000010
+01100000000000010100000010111101
+00100000010000000011111001010100
+00100000010000000101100000010000
+00100000010000000101100000111001
+00100000010000000101100000101100
+00100000010000000101100000011000
+00100000010000000110010110011100
+01101000000000100100011011010011
+00101111111011111111111000011001
+00100100010000001110010111000010
+00100000010000000100010000111111
+00100000010000000000000100111110
+00100000010000000000000110101001
+00100000001000000110010111011111
+01101000000000100100011011010011
+11000100000011111000000000000000
+01101000000010001100011011110111
+00100000010000000110011111111011
+01101000000010001100011011110111
+00100000010000000110100000011101
+01110000010001101111011000000010
+00100000011000001000000000000000
+01110000010001101111011000000001
+00100000011000000000000000000000
+00100000010000000011001111000100
+00100000001000101100001100010110
+00100000010000000000001011101100
+00100000001000000011110111001011
+11011000010000000000000000000010
+11011010001000000000101010101010
+11011010010000000000000001100010
+00100000001000000110010111010001
+11011000010000000000000000000010
+11011010001000000000101010011010
+11011010010000000000000001100010
+00100000001000000011001111001000
+01101000000000100100011011010011
+11000011000011110000000101010001
+01101000000000001000101010111101
+00101111111011000000000000000011
+00100100001000001000000101010001
+00100000010000000000000011110111
+00100000010000000000000100010100
+01101000000000001100011100011111
+01100000000000001100011100011110
+01101000000000001100011011110101
+11000011100000101000000000000000
+11000011100000110000000000000000
+01101000000000100100011011010011
+11000100000010001000000000000000
+01101000000000001000101010111101
+00100000001000000000010010001011
+11011111001000000000000000000010
+11011000110000000100101111001111
+00100000010000000111111111100111
+01011000000000001111111111111111
+11101000110010010000000000000000
+10011000010001100111110000000000
+00100100010000101111111111101001
+11000010000000000000000101011110
+00100000011000000000000000000000
+01011000000000000000000101110010
+01100000000000010100110011011000
+01011000000000000000000010001101
+01100000000000010100000111101101
+01011000000000000000000110010110
+01100000000000010100000111110101
+01011000000000000000000110000001
+01100000000000010100000111110011
+01011000000000000000000111000010
+01100000000000010100000111101011
+01011000000000000000000111010001
+01100000000000010100000111111101
+01011000000000000011110100110110
+01100000000000010100001000000001
+00100000011000000000000000000000
+00100000010000000100010000000001
+01101000000000010100011010011111
+00100000011110100000000000000000
+00100000001000000000000001101111
+01101000000000001100011011110101
+11000011100000111000000000000000
+01110000010000010111001000000000
+01110000010010000000111100011110
+00100000011000000000000000000000
+01110000010010000000110000000001
+01110000010010000000110100000010
+00100000011000000000000000000000
+00100000010000000101100000010100
+01110000010001111010001000000001
+00100000001000000000000100010000
+00100000010000000111111000110100
+00100000001000000011111011100000
+01101000000010001100011011100111
+00100000010000000000001001110100
+01101000000010001100011011100111
+00100000010000000110100000011101
+00100000001000001000000110010100
+00100000010000000000001001111101
+01101000000000001100011010110110
+11000001000000000000000000000000
+01110000010001101011011000000000
+01101000000000001100011101111010
+00011111111000001111111000000001
+00011111111000010111111000000011
+01100000000000001100011101111010
+00011111111000001111111000000010
+01100000000000010100101100010100
+00100000010000000000001000111101
+00100000001000000011110101110100
+00100000010000000000001001111101
+00100000001000000011110101100010
+00011010011000100111111000000000
+11000000000111001000000110011011
+11000000000111010000000110110000
+11000000000111100000000111000000
+00100000001000000100000101111101
+00100000010000000000000100000001
+01110000010001111000101100000001
+11011000111000000000000000000011
+00100000010000000100001111010010
+01011000000000000000000000000000
+01100000000000010100011100000111
+01110000010001101010011100000000
+01101000000000001100011011100000
+00011111111001100111110000000101
+00100000010000101100000000111001
+00100100010000101100000001011101
+00100000010000000000000110101101
+00100000010000000000000110101001
+00100000001000000110010111010001
+11011010001000000100101111001111
+11011010010000000000000001011011
+11011000010000000000000000000100
+00100000011000000000000000000000
+01101000000000001100110001011110
+01100000000000001100000111011110
+00100000011000000000000000000000
+00100000010000000000000111001101
+01110000010011001110011100000000
+00100000010000000000000110101101
+00100000010000000000010011001100
+01101000000000001100100001111111
+11000010100000000000000110111101
+01110000010000011011110100000000
+00100000010000000100001100010110
+11011111001000000000000000000011
+11011000110000000100011100100010
+00100000010000000000000101011100
+00100000001101000000000110111101
+00100000001000000000000011011001
+01110000010001111010001100000001
+01110000010001111010010000101000
+00100000011000000000000000000000
+00100000010000000000000100000001
+00100000001000000011111110001101
+01111000001101000111110000000000
+01101000000100100000000100111000
+01111001001101000111111000011010
+01100000000100100000000001001100
+00100000010000000010110000100001
+00100000010000000000000111001101
+00100000010000000111010010111101
+00100000010000000100010010000010
+00100000010000000011111010011111
+00100000010000000011111010111111
+00100000001000000000001000110001
+01101000000000001100101100001001
+00100000011110100000000000000000
+01110000010010110000100100000000
+00100000001000000000000100010100
+00100000010000000000000111100000
+00100000010000000000000111100111
+00100000010000000000000111011011
+00100000010000000000001000001011
+00100000010000000000000111110001
+00100000010000000000000110000011
+00100000010000000100001000110100
+00100000010000000100001000110111
+00100000010000000100001000111010
+00100000001000000000000111101110
+11011010011000000100100000001101
+11011010010000000000000111011110
+00100000001000000011001101101101
+01110000010010000000110000000000
+00100000011000000000000000000000
+11011010011000000100100000010000
+11011010010000000000000111100011
+00100000001000000011001101101101
+01011000001101101110111010000000
+01100000000000011100101111010110
+01110000010010000000111000000001
+00100000011000000000000000000000
+11011010011000000100100000001111
+11011010010000000000000111101010
+00100000001000000011001101101101
+01101000000000001100011111001011
+01100000000000001100000101110010
+01110000010010000000111000000001
+00100000011000000000000000000000
+11011010011000000100011011000110
+11011010010000000011110101100000
+00100000001000000011001101101101
+01101000000000001100011011110101
+11000010100000100100001110010100
+01101000000000001100011010000101
+01100000000000001100011011011010
+01101000000000001100011011011011
+11000001000000001000000000000000
+01110000010001101101101100000001
+11011000111000000000000000001001
+00100000010000000100001111010010
+00100000001000000100001111001010
+01110000010001111010010000101000
+00100000010000000000000111111110
+00100000001000000100001110110000
+11011010011000000100011011011010
+11011010010000000000001000000001
+00100000001000000011001101101101
+00100000010000000000000111001101
+01101000000000010100011010000010
+00101111111011111111111000001011
+00100000010000001100001011010100
+01101000000000010100011010000010
+00101111111011111111111000000111
+00100000010000001100001110010010
+11011000111000000000000000001001
+00100000010000000100001111001110
+00100000001000000100001110111000
+01101000000000001100011110100011
+00100000011110100000000000000000
+01101000000000001100011110100100
+00100000001110100000001000010010
+00011111111000001111111111111111
+01100000000000001100011110100100
+00100000011000000000000000000000
+01110000010001111010001100000000
+00100000001000000011010000001010
+01101000000000001100101100010010
+00011111111000001111111111111111
+01100000000000001100101100010010
+00100100011110100000000000000000
+01101000000000001100101100010011
+01100000000000001100101100010010
+01101000000000001100101100010101
+00100000001110100000001000100000
+01101000000000001100101100010100
+00100000001110100000001000100111
+00011111111000001111111111111111
+01100000000000001100101100010100
+01101000000000001100101100001110
+11000000000000001000001000101011
+11000000000000000000001000100100
+00100000011000000000000000000000
+01110000010010110000111000000001
+01101000000010001100101100001101
+00100000001000000110100000101001
+01110000010010110001011100000000
+01110000010010110001001000000000
+01110000010010110001010000000000
+01110000010010110001010100000000
+01101000000000001100101100010100
+00100100001110100000001000101111
+01110000010010110000110000000000
+01110000010010110000111100000000
+01110000010010110001000000000000
+01110000010010110000111000000000
+01101000000010001100101100001101
+00100000001000000110100000100101
+01110000010010110001001000000001
+01110000010010110001001100000101
+01110000010010110001010100000000
+01110000010010110001010000000001
+01110000010010110000110000000001
+01110000010010110000111100000001
+00100000011000000000000000000000
+01101000000000001100101100010111
+00100100011110100000000000000000
+00100000001000000000001000101000
+01110000010010110001001000000001
+01110000010010110001001100000011
+01110000010010110001010100000001
+00100000001000000000001000110111
+01111000010101000111110000000000
+01011000000000000000000000000000
+01100000000000110100011010011011
+00100000010000000000001010000010
+00100000010000000100000001111001
+00100000010000000100000001111110
+00100000010000000000001001001001
+00100000001000000011111110011111
+00100000010000000000001001001011
+00100000001000000100000010011010
+11011010001000000000000000000000
+00100000010000000000001001010110
+00100000010000000000001001011100
+00100000010000000000001001100010
+00100000010000000000001001010010
+00011010001000100111111000000000
+00100000011000000000000000000000
+01101000000000001100011011100101
+11000001011111111000000000000000
+00100000010000000000001001101000
+00100000001000000000001001101110
+01101000000010001100011011100010
+00100000010000000000001001111101
+01101000000010001100011011100010
+00100000010000000110100000011101
+01111001001000001010001000000000
+00100000011000000000000000000000
+01101000000010001100011011100011
+00100000010000000000001001111101
+01101000000010001100011011100011
+00100000010000000110100000011101
+01111001001000001010001000000001
+00100000011000000000000000000000
+01101000000010001100011011100100
+00100000010000000000001001111101
+01101000000010001100011011100100
+00100000010000000110100000011101
+01111001001000001010001000000010
+00100000011000000000000000000000
+01101000000010001100011011100101
+00100000010000000000001001110100
+01101000000010001100011011100101
+00100000010000000110100000011101
+01111101001000001010001000000011
+00100000001000000000001001111101
+01101000000010001100011011100110
+00100000010000000000001001110100
+01101000000010001100011011100110
+00100000010000000110100000011101
+01111101001000001010001000000100
+00100000001000000000001001111101
+01111001001111111000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001000000000010000000111
+11011000101000001000000001111100
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+01111001001000000000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+00100000001000000000001001111000
+01101000000000001100001000111001
+11000001100000000000000000000000
+01101000000000001100011011100000
+11000000000000000000001010001101
+11000000000000001000001010001101
+11000000000000010000001010001101
+11000000000000011000001010001101
+11000000000000100000001010010101
+11000000000000101100000000010000
+11000000000000110000001010001101
+00100000001000000000001010001101
+00100000010000000011111111000000
+01111000010101000111110000000000
+01101000000000001100011011110101
+11000011000000111011111111100111
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+00100000001000000011111111100111
+00100000010000000011111111000000
+01101000000000001100011011110101
+11000011000000111011111111001000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+00100000001000000011111111001000
+00100000010000000100001001001010
+01101000000000001100011011100000
+11000000000000101011110110101010
+11000000000000100000001011011101
+11000000000000110000001011000110
+11000000000000111000001010110110
+00100000001000000011110110000001
+01101000000000001100011101111010
+00011111111001100111110000000001
+00100000010000101000001010101100
+01101000000000001100011101111010
+11000000000000000000001010101110
+11000000000000001000001010110000
+11000000000000010000001010110010
+11000000000000011000001010110100
+00100000001000000000001010110010
+01110000010001110111101000000010
+00100000011000000000000000000000
+01110000010010001000000000000001
+00100000001000000011110110001010
+01110000010010001000000000000001
+00100000001000000011110110001010
+01110000010010001000000000000010
+00100000001000000011110110001100
+01110000010010001000000000000011
+00100000001000000011110110001110
+01101000000000001100011101111010
+00011111111001100111110000000001
+00100000010000101000001011001111
+01101000000000001100011101111010
+11000000000000000000001011010101
+11000000000000010000001011010111
+11000000000000011000001011011010
+00100000001000000000001011010111
+01110000010001110111101000000010
+00100000011000000000000000000000
+01101000000000001100011110001111
+00100000001000000011110110111110
+01101000000000001100011110001101
+00100000001000000011110110111110
+01101000000000001100011110001110
+00100000001000000011110110111110
+01101000000000001100011101111010
+00011111111001100111110000000001
+00100000010000101000001011001111
+01101000000000001100011101111010
+11000000000000000000001011010001
+11000000000000001000001011010101
+11000000000000010000001011010111
+11000000000000011000001011011010
+00100000001000000000001011010111
+01110000010001110111101000000010
+00100000011000000000000000000000
+01110000010010001000000000000001
+01101000000000001100011101111111
+00011111111000001111111111111111
+00100000001000000011110110111110
+01101000000000001100011110001101
+00100000001000000011110110111110
+01110000010010001000000000000010
+01101000000000001100011110001110
+00100000001000000011110110111110
+01110000010010001000000000000011
+01101000000000001100011110001111
+00100000001000000011110110111110
+01101000000000001100011101111010
+00011111111001100111110000000001
+00100000010000101000001010101100
+01101000000000001100011101111010
+11000000000000000011110110011101
+11000000000000001011110110011011
+11000000000000010011110110011111
+11000000000000011011110110100001
+00100000001000000011110110011111
+01110000010001111010001100000000
+01110000010001111010010000000000
+11000101000100110000001011101010
+00100000001000000100001001101101
+00100000010000000000010011001100
+00100000001000000100001001101101
+00100000010000000110100010100010
+01101000000000010100001000011101
+00100000001110100000001011110001
+01100000000000010100011111001000
+00100000001000000000001100010000
+01011000000000000001000100100010
+01100000000000010100011111001000
+00100000001000000000001011110000
+00100000010000000000000110101101
+01110000010001111010001000000000
+01101000000000010100011010000010
+11000010100001011000001100000010
+01101000000000100100011011010011
+11000011000011000000001100000010
+00100000010000000000001100010100
+01101000000010010100011111001000
+00011000010000001000010000000001
+01100000000010010100011111001000
+01100000000010010100010010100001
+00100000010000000000001100010000
+00011000000010100111111000000000
+01100000000000001100010010100000
+00100000010000000011010000011000
+01101000000000010100011010000111
+01100000000000010100011010101100
+01110000000000010110110100000110
+01011000000000000000000000000000
+01100000000000010100011010110000
+01100000000000010100011010101110
+11011000111000000000000000000111
+00100000010000000100001111001110
+00100000010000000100001111001010
+01101000000000001100000010010010
+00101111111011111111111000000001
+00100000010000001000001100011000
+00100000001000000100001011000100
+11011000010000000000000000000010
+11011010001000000100011111001000
+11011010010000000000000001011111
+00100000001000000110010111010001
+11011000010000000000000000000010
+11011010001000000100011111001000
+11011010010000000000000001011111
+00100000001000000110010111011111
+01110000010001111010010100000000
+00100000010000000000000011100110
+01011000000000000000000000000101
+11100000110000001000000000000000
+00100000001000000111110111110100
+01011000000000000000000000000000
+01100000000000010100011010101100
+00100000010000000000000100010000
+00100000001000000100001011001011
+01101000000100001000000001110111
+00011111111000010111111011111101
+01100000000100001000000001110111
+01101000000110001000000001110011
+00011000010000011000010000000010
+01100000000110001000000001110011
+00100000010000000110001111101110
+00011000010000010000010011111101
+00100000000000000000000000001101
+00100000010000000110001111110010
+01100000000110001000000001110011
+00100000011000000000000000000000
+00100000010000000110100010101000
+01101000000000100100000010100000
+01100000000000100100101111011110
+00100000011000000000000000000000
+01110000010011001101110100000001
+01110000010011001101111100000000
+01101000000000001100101110101000
+00011111111000010111111000000111
+01100000000000001100101110101000
+00100000011000000000000000000000
+01101000000000001100101110101000
+01111001001000000111111000000100
+01100000000000001100101110101000
+01100000000000001100101101100011
+00100000011000000000000000000000
+01101000000000001100101110101000
+01111001001111111111111000000100
+01100000000000001100101110101000
+00100000011000000000000000000000
+00100000010000000000010000001000
+01101000000000001100110011011110
+11000000000000001000001101000101
+11000000000000010000001101001001
+00100000011000000000000000000000
+01110000010011001101111100000010
+01110000010011001101101100000000
+01110000010011001101110100000000
+00100000001000000000001100110011
+01110000010011001101110000000000
+00100000001000000000001101000110
+01101000000000010100101110101101
+00011111111000001111111000000001
+01100000000000010100101110101101
+11000010100001010000001111110110
+01101000000000001100110011011100
+11000000000000001000001101010100
+01110000010011001101110000000001
+01101000000000001100110011011100
+11000000100000001000001100110011
+01101000000000001100110011011010
+00011111111000001111111000000001
+01100000000000001100110011011010
+11000000000000100000001101011011
+00100000010000000000010101111000
+01110000010010111110110000000010
+00100000001000000000001110110011
+00100000010000000000010000001000
+01110000010011001101101000000000
+00100000001000000000001100110011
+01110000010011001101111100000010
+01110000010011001101110100000001
+01110000010011001101110000000000
+00100000001000000000001100110011
+01101000000000001100110011011110
+11000000000000011000001101011111
+01101000000000001100101110101000
+00101111111011000000000000000100
+00100000001000001000001100110001
+01101000000000001100110011011110
+11000000000000001000001101011110
+11000000000000010000001101011111
+00100000011000000000000000000000
+01101000000000001100101110110111
+11000001111111111000000000000000
+00100000010000000000001101110000
+00100100010101100000001101111000
+00100000011000000000000000000000
+01111000010101100111110000000000
+01101000000000001100110011011101
+11000001100000001000000000000000
+01101000000000001100110011011111
+11000001100000000000000000000000
+01110000010011001101111000000001
+01110000010010111110110000000100
+00100000001000000111111111101011
+01101000000000001100110011011111
+00100000001110100000001110000000
+00011111111000001111111111111111
+01100000000000001100110011011111
+01110000010011001101111000000010
+00100000010000000000010101111000
+01110000010010111110110000000100
+00100000011000000000000000000000
+01110000010011001101111000000011
+01101000000000001100110011011100
+00100100001110100000001101010010
+00100000010000000000010101111000
+01110000010010111110110000000010
+00100000011000000000000000000000
+01101000000000001100101110110111
+11000000111111111000010001001111
+00100000010000000000001110001100
+00100000010000000000010101100110
+01110000010010111010110000000001
+00100000011000000000000000000000
+01101000000000010100110011011000
+00100000010000000111111110011100
+00100000001101000000001110010010
+01101000000000111100101101000100
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000000001110101011
+01110000010010111101001100000000
+00011010001000001111111000000001
+01100000000000001100101110100111
+00100000010000000000001100110011
+01100000000000001100101101000011
+11101000101010001000000000000000
+11101010010000001000000000000000
+10011000010000011111111000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+11011111001000000000000000000010
+11101010010000010000000000000000
+11100000101000010000000000000000
+00011010010000001010010000000010
+11000010000000000000001110011110
+11011000101000000100101101001001
+11011111001000000000000000000010
+11101010010000001000000000000000
+11101000101010001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+11000010000000000000001110100100
+00100000011000000000000000000000
+01101000000000001100011011110101
+11000011100000111000000000000000
+01101000000000001100100000001110
+11000001100000001000000000000000
+01011000000000000000000000000000
+01100000000000001100100000001110
+01100000000000100100011010011011
+00100000001000000000000100010000
+01110000010010111011000000000000
+11011001011000000000110100000000
+00110100011100110000001000000000
+00100000010000000000001111001111
+01101000000000001100101111100011
+11000001000000001000000000000000
+00100100001011000000001111011110
+00100100001101111000001111011110
+00100000010000000000001111001010
+00100000010000000000001111111010
+00100000010000000000010000000100
+01101000000000001100101110100110
+00011111111000001111111000000001
+01100000000000001100101110100110
+01101000000000001100101110110111
+11000000111111111000001111001101
+00100000010000000000001101100010
+01011000000000000000000000000000
+01100000000000010100101110101101
+01100000000000001100101110101111
+01100000000000001100110011011011
+01110000010010111010110000000000
+00100000011000000000000000000000
+11011111001000000000000000000100
+11011000101000000100101101000011
+00100000001000000111111011000110
+00100000010000000000010000000001
+00100000001000000000010001101010
+01111000010101111111110000000000
+00100000010000000000010111100000
+01101000000000001100101111100011
+11000000000000001000001111011100
+00011000000000000010101000000000
+01101000000000100100101111001111
+10011000000000000001001000000000
+01101000000010001000000000010111
+00100000010000000010100100011111
+00100000010000000010100100100100
+00100000010000000000010110011011
+00100000010101111000010111011000
+00100000011000000000000000000000
+00100000010000000000010111011000
+00100000001000000000001110111110
+01101000000000001100101110101111
+00011111111000001111111000000001
+01100000000000001100101110101111
+01101000000000001100101110110111
+11000000111111111000001111110010
+01101000000010001100101110110000
+00011000010000001000010000000001
+01100000000010001100101110110000
+01101000000000001100101111101100
+10011000010001100111111000000000
+00100100001110100000001110110100
+01101000000000001100110011011110
+11000000000000011000001101001011
+01101000000000001100110011011011
+00011111111000001111111000000001
+01100000000000001100110011011011
+11000000000000010000001101000000
+00100000010000000000001100110111
+01110000010010111110110000000001
+00100000001000000000001110110011
+01101000000000001100101110101111
+11000001111111111000000000000000
+01110000010010111010111100000000
+00100000001000000000001111111000
+01011000000000000000000000000000
+01100000000000010100101110101101
+01110000000010101001100100111010
+00100000001000000111110110000110
+00100000010000000000010011010101
+01101000000000001100101110100101
+00100000011110100000000000000000
+10011000000000000111001000000000
+11011000110000000100101100100011
+11011000101000000100101110000101
+00100000001000000111111100000001
+01110000010011001110001100000001
+01110000010011001110000000000000
+00100000011000000000000000000000
+01101000000000001100110011100000
+00011111111000001111111000000001
+01100000000000001100110011100000
+00100000011000000000000000000000
+01101000000000001100110011100000
+00011111111001100111110000000010
+00100100010000010000010000010000
+01101000000000001100110011100000
+11000001000000000000000000000000
+00011111111000001111111111111111
+01100000000000001100110011100000
+00100000011000000000000000000000
+01110000010011001110000000000011
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000011100001011000000000000000
+11000011100000111000000000000000
+11000011100000110000000000000000
+11011010001000000100110001101001
+00100000010000000000010101000111
+01100000000010001100110011100001
+00101000000011111111111000100110
+00100000010000001000010000100100
+00100100010000001000010000101000
+10011000010001100111110000000000
+00100100001000010000010000111100
+01101000000000001100110011100000
+00011111111001100111110000000010
+00100100001000010000010000101100
+01101000000000001100110011100000
+11000000000000000000010000111101
+00100000011000000000000000000000
+01011000000000000000000010000010
+00100000011000000000000000000000
+01011000000000000000000001110111
+00100000011000000000000000000000
+01011000000000000000000010000000
+00100000011000000000000000000000
+01011000000000000000000001110101
+00100000011000000000000000000000
+01101000000000001100110011100000
+11000001100100000000000000000000
+01110000010011001110000000000000
+01101000000010001100110011100001
+00101000000011111111111000100110
+00100000010000001000010000100110
+00100100010000001000010000101010
+10011000010001100111110000000000
+00100100011000010000000000000000
+01101000000000001100110011100011
+11000000000000000000010001000100
+00011111111000001111111111111111
+01100000000000001100110011100011
+11000000000000000000010001000100
+01110000010000011101111000000000
+00100000011000000000000000000000
+01110000010011001110000000000000
+01101000000000001100110011100011
+11000000000000010000010001000010
+00011111111000001111111000000001
+01100000000000001100110011100011
+11000000000000001000010000111010
+01110000010000011101111000000010
+00100000011000000000000000000000
+01110000010000011101111000000100
+00100000011000000000000000000000
+01111001001000000000000000100110
+00100000010000000000010001001010
+01110000010010111011011100000001
+00100000011000000000000000000000
+01110000010000011101111000100000
+01110000010010111010011000000000
+01110000010010111011000101001110
+01101000000000100100101110110011
+00100000001000000000010101011000
+01101000000000001100101110101100
+11000000000000001111111111100111
+01101000000000001100101110110111
+11000000000000001000010001010110
+11000000000000010000010001011001
+11000000000000011000010001011100
+00100000001000000010101010001100
+01110000010010111011011100010001
+01110000000100011001111010101010
+00100000001000000000010001011110
+01110000010010111011011100010010
+01110000000100011001111001010101
+00100000001000000000010001011110
+01110000010010111011011100010011
+01110000000100011001111000100010
+01101000000000001100101110101000
+00011111111000010111111000000111
+01100000000000001001000110011111
+01101000000000100100101111011110
+01100000000000100001000110100000
+01110000000100011010010000000000
+11011010001000000001000110011110
+11011000010000000000000000000111
+00100000010000000000010011010000
+00100000010000000000010101100110
+00100000010000000000001110001010
+00100000001000000111111111100111
+01101000000000001100101110110111
+11000001011111111000000000000000
+11000000000010001000010001110000
+11000000000010010000010001110010
+11000000000010011000010001110100
+00100000011000000000000000000000
+01110000010010111011011100000010
+00100000001000000000001111000100
+01110000010010111011011100000011
+00100000001000000000001111000100
+01110000010010111011011111111111
+01110000000010101001100100111001
+00100000010000000111110110000110
+01101000000000100100101110000111
+00100000010000000000010101011000
+00100000001000000000001111000100
+01111001001000000000000000100110
+01011000000000000000000000000000
+01100000000000010100101111010100
+01110000010010000000111000000000
+01110000000010101001100100111100
+00100000010000000111110110000110
+00100000010000000000001111001010
+00100000001000000000000001101111
+01110000000100011001111011111111
+01101000000000001100101110101000
+01100000000000001001000110011111
+01101000000000100100101111011110
+01100000000000100001000110100000
+11011000010000000000000000000110
+11011010001000000001000110011110
+00100000010000000000010011010000
+00100000001000000000010101100110
+01011000000000000000000000000000
+01100000000000010001000110111110
+01111001001111111000000000100110
+00100000010000000000010010101110
+00100000010000000000010010000010
+01011000000000000000000000000000
+01100000000000010100101111010100
+00100000010000000010101011111010
+00100000000000000000011111010000
+01101000000000010100101111010100
+11011000010000000111011110001000
+10011000010001100111110000000000
+00100000001000101000001111111000
+00100000010000000000001111001111
+00100100001011000000010010100010
+00100100001101111000010010100010
+00100000010000000000001111111010
+00100000010000000000000110101101
+01101000000000100100101111001111
+01101000000010100100101110110011
+10011000010001100111110000000000
+00100000001000101000010001000110
+00100000001000000000010001111010
+01101000000000010100101111010100
+00011111111000001111111000000001
+01100000000000010100101111010100
+01101000000000001100110011100101
+00011111111000001111111000000001
+00011111111000010111111000000011
+01100000000000001100110011100101
+11000000000000000000010011000110
+11000000000000001000010011001000
+11000000000000010000010011001010
+11000000000000011000010011001000
+00100000011000000000000000000000
+00100000010000000000000110101101
+01101000000000100100101111011110
+01100000000000100100101111001111
+01101000000000001001000110111110
+01100000000000001100101110110010
+00100000010000000000010011000100
+01100000000010001001000110111110
+00100000011000000000000000000000
+00100000010000000000000110101101
+00100000010000000000000100110010
+00100000010000000000000101011010
+00100000001101000000010010111011
+00100000001000000000010011000100
+01110000010000011101111000100000
+01011000000000000000111100001111
+01100000000000010100101111001111
+11100000101000010000000000000000
+01101000000000001001000110111111
+01100000000000001100101110110010
+00100000010000000000010011000100
+01100000000010001001000110111111
+00100000011000000000000000000000
+00100000010000000000010101011001
+00100000001000000000010101111000
+00100000010000000000010010101110
+00100000001000000000010010010010
+00100000010000000000010001001010
+00100000001000000000010010010010
+00100000010000000000010010111011
+00100000001000000000010010010010
+01111001001111111000000000100110
+00100000010000000101001111001110
+11011000111000000000000000000011
+00100000001000000100001111010010
+01100000000010001100101110100111
+00011000010000100111001000000000
+11011000101000000100101101000011
+00011010001000100000110000000000
+00100000001000000111111100000001
+01101000000000001100101100100010
+00011111111010010111111000000000
+01100000000000001100101110100101
+00011111111000001111111000000001
+11011000110000000100101100100010
+10011000110000001000110000000000
+11101000110000011000000000000000
+01100000000000011100101111100100
+01101000000000001100101100100010
+00011111111000110111111000000000
+00011111111000010111111000000011
+01100000000000001100101111101010
+00100000011000000000000000000000
+01100000000010001000000000010111
+00011000010000001010001000000000
+00100000010000000010100110000001
+01011000000000000000010100000000
+00100000010000000010101010001111
+01110000100010010000011000000001
+01110000100010010000000000111100
+01110000100010010000000111100000
+00100000000000000000000000001010
+01110000100010010000001000000001
+01110000100010010000001000111101
+00100000000000000000000000001010
+01110000100010010000001110110111
+00100000000000000000000000001010
+01110000100010010000001001111101
+01101000000000001100000111011110
+11000000000000000000010011111000
+11000000000000001000010100000000
+11000000000000010000010100001000
+11000000000000100000010100010000
+11000000000100000000010100100010
+00100000001000000000010011111000
+00100000010000000000010100011000
+01110000100010010100101110111010
+01110000100010010101010111010000
+01110000100010010101011011100000
+01110000100010010101011110001000
+01110000100010010101100001101100
+01110000100010010101100100010000
+00100000001000000010100101001011
+00100000010000000000010100011101
+01110000100010010100101110111010
+01110000100010010101010111010000
+01110000100010010101011011100000
+01110000100010010101011110001000
+01110000100010010101100000111100
+01110000100010010101100100010000
+00100000001000000010100101001111
+00100000010000000000010100011101
+01110000100010010100101110111010
+01110000100010010101010111010000
+01110000100010010101011011100000
+01110000100010010101011110001000
+01110000100010010101100000111100
+01110000100010010101100100010000
+00100000001000000010100101010011
+00100000010000000000010100011000
+01110000100010010100101110111010
+01110000100010010101010111010000
+01110000100010010101011011000000
+01110000100010010101011110001000
+01110000100010010101100001101100
+01110000100010010101100100010000
+00100000001000000010100101011011
+01110000100010010100110001011011
+01110000100010010100110110010110
+01110000100010010100111000101100
+01110000100010010100111101000110
+00100000011000000000000000000000
+01110000100010010100110011111011
+01110000100010010100110111101111
+01110000100010010100111011101100
+01110000100010010100111101011110
+00100000011000000000000000000000
+01110000100010010101011011000010
+01110000100010010101010111010000
+00100000011000000000000000000000
+00011000000000000010101000001000
+00100000001000000010100011111010
+00100000010000000010100101111000
+01110000100000000100001000000101
+00100000011000000000000000000000
+00100000010000000111111111101001
+01101000000010100100101111001000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+01101000000000100100101111001000
+01101000000010001100101111001100
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+01100000000000100100101111001000
+00100000001000000111111111100111
+00100000010000000010100110111011
+00100000011110100000000000000000
+01101000000010001100110001100001
+11011010001000000000110110011110
+00100000010000000000010101000000
+01100000000010001100110001100001
+00100000011000000000000000000000
+00011010001000100111111000000000
+10011000010000001000101000000000
+01101000000000001000000000011000
+11100000101000001000000000000000
+00011000010000001000010000000001
+00011000010000010000010000000111
+00100000011000000000000000000000
+11011000010000000000000000000000
+11011111001000000000000000001000
+00011010001000100000110000000000
+11101000110000001000000000000000
+10011000010000001000010000000000
+11000010000000000000010101001010
+00011000010010010111111000000000
+00011111111000100000010000000000
+11000110100100110000000000000000
+00011111111001101111110000001010
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100100111111000000000
+00011000000001110000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01100000000000100100101111001111
+11011010001000000000000000000000
+11011111001000000000000000000100
+11011000110000000100101111001111
+11101000110000001000000000000000
+10011010001000001010001000000000
+11000010000000000000010101011100
+00011010001000100111111000000000
+01100000000000010100110001011000
+01101000000000001100110001011000
+01101000000010001100110001011001
+10011000010000001111111000000000
+01100000000000001100110001011010
+00100000011000000000000000000000
+01101000000000001100101110100111
+00011111111000001111111000000010
+01100000000000001100101110101001
+01101000000000001100101110101000
+01100000000000001100101101100011
+01101000000000001100101110100111
+00011111111010011111111000000000
+01101000000010001100101110100110
+00011000010000010000010000000011
+00011000010000111000010000000000
+10011000010000011111111000000000
+01101000000010001100101111100011
+10011000010000001111111000000000
+11100000101000001000000000000000
+01101000000000001100101110100111
+10011000000000000111001000000000
+11011000110000000100101101000011
+00100000001000000111111100000001
+01101000000010001100101110110010
+00100000010000000000010101111100
+01100000000010001100101110110010
+00100000011000000000000000000000
+00100000010000000000010110000000
+00011000010000001000010000000001
+00011000010000010000010000000011
+00100000011000000000000000000000
+01101000000000001100101111001111
+00011111111000010111111000000011
+00011111111011111010001000000100
+01011000000000000100101110111000
+10011010001000001111111000000000
+10011000010000001000110000000000
+11101000110000001000000000000000
+01100000000000001100101110110001
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01011000010101010101010101010101
+10011000000000000001111000000000
+01101000000000001100101110110001
+00011111111011011000010000000000
+01111001001000000000010000000001
+00011000010000110001110000000000
+00100000011000000000000000000000
+00100000010000000101001111000100
+01101000000000100100101111001111
+10011000000000000001001000000000
+00100000010000000010100100011000
+01101000000010001100101110110001
+00100000010000000010100100011111
+01011000000000000000010100000000
+00100000010000000010101010001111
+00100000010000000010100100100100
+00100000010000000000010110001001
+01111000010101111111110000000000
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+01111000001010000111110000000000
+01101000000000010100101110101010
+10011000000000000011011000000000
+00110111110000011000010000000000
+00100100001011000000010111011100
+01111000010001101111110000000000
+01111000001001011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+00100000010000000000010111010101
+01100000000000001100110001011011
+01101000000010001100110001011010
+10011000010001100111110000000000
+00100100001000101000010111011000
+00100000010000000000010111010101
+01100000000000001100101100100001
+01101000000000001100101111101101
+00011111111001100111110000000010
+00100000001000101000010110110111
+01101000000000001100101100100001
+01101000000010001100101110101000
+10101000010000000000111000000000
+00100100001000001000010111011000
+00100000010000000000010111010101
+11100000101000001000000000000000
+00011111111010010111111000000000
+00011111111000010111001000011111
+00100000001000101000010110111111
+00100000010000000000010111010101
+11100000101000001000000000000000
+11000010000000000000010110111100
+00011000101000100010001000000000
+00100000010000000000010111010101
+01100000000000001100110011100010
+00011010001000100000101000000000
+00001001100000000000000000011000
+01111000001010000111110000000000
+11011011011000000000011001100100
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+01111000010001011111110000000000
+00100000001000110000010111011000
+01111000001101111111110000000000
+01101000000000001000000000010111
+00011111111000001010001000000000
+00100000010000000010100110000001
+01111000010001101111110000000000
+00100000010000000010100100011000
+01101000000000001100110011100010
+00011111111000100010001000000000
+00100000010000000000000000010100
+00100000011000000000000000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+00100000011000000000000000000000
+01111000010011011111110000000000
+01111000010001011111110000000000
+00100000010000000010011001001101
+00100000011000000000000000000000
+00100000001000000000010111011000
+00100000010000000010100100011000
+01101000000010001100101110110001
+00100000001000000010100100110011
+00100000010000000101001111000100
+01101000000000100100101111001111
+10011000000000000001001000000000
+00100000010000000000010110001001
+00100000010000000000010111011101
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00011001001100010111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00001000000000001000011000101000
+01111000010011101111110000000000
+01111000001011011111110000000000
+01111000001000111111110000000000
+01111000001001001111110000000000
+01101000000000001100110001011010
+00001000000000001000011000001000
+01101000000000001100101110101001
+10011000000000000111001000000000
+11011000110000000100101101100011
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000000010111110110
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+00100000000000000000000001100100
+01111000010011101111110000000000
+01111000010011011111110000000000
+00100000011000000000000000000000
+01110000010001111010011000000111
+01110000010001111010011100000100
+01011000000000000100011110100110
+01100000000000010100001000011000
+00100000001000000111111000111000
+11011010001000000100011010011010
+00100000010000000111111000111101
+00100000010101000000011000001010
+00100000011000000000000000000000
+01101000000000001100011111000111
+00011111111000001111111000000001
+01100000000000001100011111000111
+00100000011000000000000000000000
+11011010001000000100011010011010
+00100000010000000111111001010100
+00100000001101000000011000010010
+00100000011000000000000000000000
+00100000010000000101011001010010
+01101000000000001100011111000111
+00011111111001100111110000000001
+00100100010000010101011001010000
+01101000000000001100011111000111
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011111000111
+00100000001000000011111110010000
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+                                
+00100000010000000010101010111100
+01000100100000000100000000000000
+00100000100000000000000000000000
+00100000010000000110010000001101
+00100000010000000010100101101100
+00100000010000000110010110100011
+00100000010000000010101010010110
+00100000010000000100110101101010
+01000100100000001100000000000000
+00100000010000000110101000000011
+00100000010000000101110011110110
+00100000010000000111110011001100
+00100000010000000011001011011000
+00100100010101011110100010011100
+01000100100000010100000000000000
+00100000010101011011001011100011
+00100000010000000111010101101010
+00100000010101011010101101000001
+01000100100000011100000000000000
+00100000010000000111011011011100
+00100000010000000111101010101111
+00100000010000000111010101101101
+00100000010000000101001101011100
+01000100100000100100000000000000
+00100000010000000010000000111000
+00100000010000000011001011101101
+00100000010000000010000010001111
+00100000010000000010001011111000
+00100000010000000010001101101010
+00100000010000000010000000100001
+00100000010000000010101101101010
+00100000010000000010110001110010
+00100000001000000010000000010010
+00100000010000000010000000100110
+11000110100001001000000000000000
+01111001001111111000000000001001
+00100000010000000010001000100011
+00100000001000000101001111001110
+01000100100000101100000000000000
+00100000010000000010001001011110
+00100100001000101010000000101111
+00100000010000000010001000001010
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000010100000000101001101100000
+11000010100000001010000101100110
+00100000001000000010001111001111
+00100000010000000010001000101011
+00011111001000100111110000000000
+00100000011000101000000000000000
+00100000010000000010001000001010
+01101000000000001000000000110000
+11000010100000011010000011010011
+01101000000000001000000000110001
+11000010100000001010000101100110
+00100000001000000010001111001111
+01101000000000001100000111001110
+00100000011110100000000000000000
+11000000000000001010000001001000
+11000000000000010010000001001101
+11000000000000011010000001010000
+11000000000000101010000001010101
+11000000000011011010000001000101
+00100000010000000010001001010111
+00100000011000101000000000000000
+00100000010000000010001001011010
+00100000011000101000000000000000
+01110000010000011100111000000000
+00100000011000000000000000000000
+01110000000001001001101100011011
+01110000010000011100111000000000
+00100000011000000000000000000000
+01111001001000000000000000011100
+01111001001111111000000000011110
+01110000000000001000111111111111
+01110000000000001000110100011111
+00100000001000000010000001000011
+01111001001111111000000000011100
+00011000000000000011011000000000
+00100000001000000010000001000011
+00100000010000000010001001011010
+00100000011000101000000000000000
+00011000000000000000010000000001
+01110000000000010110111000000101
+00100000001000000010000001011100
+01000100100000110100000000000000
+01101000000000110100000111010000
+00100000001110100010000001000011
+01110000010001101000000100000001
+01110000000000000101010100000011
+00100000001000000010000001011011
+00011000000000000000010000100101
+01000100100000111100000000000000
+01101000000000001000000011110001
+00100000001110100010000001100010
+00011111111010011111111000000000
+00011111111100100111111000000000
+00011111111000001111111111111111
+01100000000000001100000010100110
+01100000000000001000000011110000
+01110000000000001000111000011111
+01111001001111111000000000001100
+00100000010000000010001000111011
+00100100001000101010000010000011
+00100000010000000010101001101111
+01100000000000001000000001110111
+01100000000010001000000001111100
+01101000000000110100000111010000
+01100000000000110000000001000000
+01000100100001000100000000000001
+00100000010000000111111100010101
+00011000000000000111111000000000
+00101000010000011111111000000001
+01111101001000001111111000000101
+01111001001000000111111000000011
+01100000000000001000000000110000
+01110000000010101001100100000011
+00100000010000000111110110000110
+00011000000000000111111000000000
+01111001001000001111111000000100
+01100000000000001000000001001100
+01011000000000000000000000000000
+01111001001000000111111000000001
+01100000000000001000000000110001
+01111000001101001111110000000000
+00100000010000000010001000100011
+01111000010101001111110000000000
+00011000000000000000111000000011
+01101000000000010100000010111001
+00100000010000000111111100001000
+00100000001000000010000001000011
+01000100100001001100000000000001
+01101000000000110100000111010000
+01100000000000110000000001000000
+00101000010000011111111000000001
+00100000001000001010000010001001
+00100000001000000010000001000011
+11011000101000000000000100000001
+11011111001000000000000000001000
+00100000010000000111111011000110
+01110000000010101001100100000100
+00100000010000000111110110000110
+00100000001000000010000001000011
+11000110100011100000000000000000
+00011000000000000000111000000001
+00100000010000000111111100010110
+01111101001110100000000000011100
+00100100001110100010000010010101
+00100000011000000000000000000000
+01000100100001010100000000000001
+01101000000010010100000010111011
+00011000000000000000111000000100
+00100000010000000010011100011100
+00100000011101000000000000000000
+00100000010000000010100010100100
+00011000000000000100100000000000
+00100000011000011000000000000000
+01111001001111111000000000001011
+01111001001111111000000000000000
+00011100010000001100001000000001
+00101000000011111111111000011110
+01111001001000001100100000000010
+00101100001000000000010000000000
+00100100001000001010000010111110
+01000100100001011100000000000001
+01101000000000001000000000010010
+00011111111000001111111000000001
+01100000000000001000000000010010
+00100000010000000010100011011000
+00100000010000000010100011010010
+00100000010000000010100011110010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000010000000010011001001101
+00100000010000000010000010110001
+00100000001000000010000010011100
+01000100100001100100000000000001
+01101000000000001000000010001101
+00011111111000001111111111111111
+01100000000000001000000010001101
+00100000011000010000000000000000
+01110000000000001000110100011111
+01101000000000001000000010001111
+00011111111000001111111111111111
+01100000000000001000000010001111
+00100000011000010000000000000000
+01111001010000000000000000011110
+01110000000000001000111111111111
+00100000011000000000000000000000
+01000100100001101100000000000001
+00100000010000000010100011011000
+00100000010000000010100011001100
+00100000010000000010100011110010
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100000001011000010000011001000
+00100000010000000010000010110001
+00100000001000000010000010011111
+01000100100001110100000000000001
+00100000010000000010100110111011
+00100000010000000010101001101011
+00100000010000000010010100011110
+01111001001111111000000000000001
+11000110100001011000000000000000
+01000100100001111100000000000001
+01101000000000001000000000010011
+00011111111000001111111000000001
+01100000000000001000000000010011
+00100000011000000000000000000000
+01000100100010000100000000000010
+01111000001101001111110000000000
+01111000001110000111110000000000
+01101000000000010100000010110101
+00100000001110100010000011011011
+00011000000000000000111000001000
+00100000010000000111111100010110
+00100100011110100000000000000000
+01000100100010001100000000000010
+01101000000010010100000010110111
+00011000000000000000111000101000
+00100000010000000010011100011100
+00100000001101000010000100010100
+00011000000000000000111000000011
+00100000010000000111111100010110
+00100100001110100010000011110000
+01101000000000001000000001001100
+11000010100000100010000011100110
+00100000001000000010000011101001
+11011000101000000000000100000001
+11011111001000000000000000001000
+00100000010000000111111011000110
+01000100100010010100000000000010
+01110000000000000011000000000000
+00100000010000000101110011110111
+01110000010001101000000100000000
+01110000000010101001100100010011
+00100000010000000111110110000110
+00100000001000000010000100010100
+01000100100010011100000000000010
+00011000000000000001011000000000
+00110100011100110000001000000000
+01101000000000001000000011110010
+00011111111000001111111111111111
+10011100010000101111111000000000
+00101111111000000000011000000000
+00100100001000001010000011110000
+00011000100000100111111000000000
+01100000000000001000000110000001
+00011000000000000100110000000000
+00011000000000000100100000000000
+01000100100010100100000000000010
+00100000001000011010000100010100
+00100000010000000010100011011100
+11011001011000000000011000000000
+00110100011100110000001000000000
+01000100100010101100000000000010
+01101000000000100000000011110010
+10011000000000000100001000000000
+00011111111000001111111000000001
+01100000000000100000000011110010
+00101000000011111111111000001100
+01111001001000001100100000000010
+00101100001000000000010000000000
+00100100001000001010000100101000
+01101000000000001000000000001100
+00011111111000001111111000000001
+01100000000000001000000000001100
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000010000000010011001001101
+00100000010000000010000100011010
+00100000001000000010000011111100
+01000100100010110100000000000010
+01111000010101001111110000000000
+01101000000000010100000010110101
+00100000011110100000000000000000
+00011000000000000000111000001000
+00100000001000000111111100001000
+01000100100010111100000000000010
+01101000000000001000000010001110
+00011111111000001111111111111111
+01100000000000001000000010001110
+00100000011000010000000000000000
+01110000000000001000111000011111
+01101000000000001000000011110000
+00011111111000001111111111111111
+01100000000000001000000011110000
+00100000011000010000000000000000
+01111001010000000000000000001100
+01101000000000001100000010100110
+01100000000000001000000011110000
+00100000011000000000000000000000
+01000100100011000100000000000011
+00100000010000000010100011001100
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100000001011000010000100110000
+00100000010000000010000100011010
+00100000001000000010000100000001
+00100000010000000010011001001101
+01101000000000001000000000001101
+00011111111000001111111000000001
+01100000000000001000000000001101
+00011000000000000011011000000000
+01101000000000100000000011110010
+01000100100011001100000000000011
+00100000010000000010101001001111
+00100000010000000010100011011100
+00011100110000001100110000000001
+00011100001000010100001111111101
+00011100100000010100100111111100
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00011100010000100111111000000000
+01100000000000100000000101100001
+00011000000000000000100000000000
+00011000000000000000001000000010
+00100000010000000010101001101011
+00100000010000000010011101100110
+01000100100011010100000000000011
+00100000010000000010101001001101
+00011100001000011100001000000010
+00011100100000010100100111111100
+00100000010000000010100011001100
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100000010011000010011001001101
+00100000001011000010000101010101
+01101000000000001000000000010000
+00100000001110100010000011111100
+00011111111000001111111111111111
+01100000000000001000000000010000
+00100000001000000010000100110110
+01000100100011011100000000000011
+01101000000000001000000000001110
+00011111111000001111111000000001
+01100000000000001000000000001110
+00100000010000000010010000110101
+00100000010000000010001011110010
+00100000001011000010000101011111
+00100000010000000010010001010101
+00100100001110100010000101011010
+00100000001000000010000011111100
+01000100100011100100000000000011
+01101000000000001000000000110000
+01111001001111111111111000000011
+01100000000000001000000000110000
+00100000010000000010010001000000
+01111000010101001111110000000000
+00100000011000000000000000000000
+01000100100011101100000000000011
+01111000001101001111110000000000
+01111000001110000111110000000000
+00100000010000000010000111100001
+00100000011101000000000000000000
+00100000010000000010110001101001
+00100000010000000010101001001111
+00011100010000001100001000000001
+00100000010000000010100011100010
+00011000000000000100100000000011
+00100000010000000110110011000010
+00100000010000000010010010001001
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000010000000010011101100010
+01000100100011110100000000000011
+00100000010000000101110100001000
+00100000010000000010001011100100
+00100100001101101010000110000000
+00100000010000000010101010001000
+00100000010000000010011100101000
+01101000000000001000000000001111
+00011111111000001111111000000001
+01100000000000001000000000001111
+01000100100011111100000000000011
+00100000010000000110110010101010
+00100000010000000010000110001011
+00100100011101001000000000000000
+00100000010000000010011011110011
+00100100001110100010000110001000
+01111000010101001111110000000000
+00100000011000000000000000000000
+00100000010000000010010010001001
+00100000010000000010001011011010
+00100000001000000010000101110111
+00100000001101101010000110001110
+00100000010000000010101001111111
+00100000001000010010000110011100
+00100000010000000010000110100111
+00100100001101000010000110011100
+01101000000000001000000001001100
+11000100000000100000000000000000
+11000011100000011000000000000000
+01101000000000001000000001001011
+11000011100000011000000000000000
+00100000010000000010000110101110
+00100100011110100000000000000000
+01101000000000001000000101101110
+00011111111000001111111111111111
+01100000000000001000000101101110
+00100100011110100000000000000000
+00100000001000000110000000000110
+01000100100100000100000000000100
+00100000010000000010010001011101
+01111000010101001111110000000000
+01101000000000001000000001001100
+11000010100000100010000110100010
+00100000011000000000000000000000
+01101000000000001000000001001100
+11000011100000011000000000000000
+11011000101000000000000100000001
+11011111001000000000000000001000
+00100000001000000111111011000110
+01000100100100001100000000000100
+01111000001101000111110000000000
+01101000000000001000000001001011
+11000100000000011000000000000000
+00100000010000000010000110101110
+00100100011110100000000000000000
+00100000001000000111111111101001
+01101000000000001000000001110010
+00011111111000001111111111111111
+01100000000000001000000001110010
+00100000011000000000000000000000
+01000100100100010100000000000100
+01101000000000001000000000110000
+11000010100000111010000110111011
+01101000000000001000100110110101
+00100000001110100010000110111011
+01110000000010011011010100000000
+01110000000010101001100100011000
+00100000010000000111110110000110
+00100000001000000010000110111011
+01000100100100011100000000000100
+00100000010000000010001001010100
+01101000000000001000000000110000
+01111001001000000111111000000111
+01100000000000001000000000110000
+01110000010000011011110100000001
+01101000000000001000000001010101
+11000000100010110010000111000011
+00100000011000000000000000000000
+01110000000010011011010100000001
+01101000000000001000000000110000
+01111001001111111111111000000111
+01100000000000001000000000110000
+00100000011000000000000000000000
+01000100100100100100000000000100
+01111000010101000111110000000000
+01101000000000010000000000110010
+11011000010000001111111111111111
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000100000000000110100
+00100000001110000010000111010011
+10011101000001100111111000000000
+00100000001000000010000111010100
+10011100010001100111111000000000
+00011111111001100111110000000100
+00100100011000010000000000000000
+00011000000000000111111000000000
+01100000000000010000000000110010
+00100000001000000111111111100111
+00011111111000100000010000000000
+01000100100100101100000000000100
+01100000000010100000000000110100
+01110000010001010101101100000001
+01011000000000001111111111111111
+01100000000000010000000000110010
+01110000000000000111001100000001
+00100000011000000000000000000000
+01000100100100110100000000000100
+00100000010000000010000111001001
+00100100011101000000000000000000
+01111000010101000111110000000000
+01110000000000000001000100100000
+01111001001111111000000000001011
+00100000010000000010101001001111
+00100000010000000010001011100110
+11000101000001011010000111110100
+00100000010000000010010001010101
+00100100001110100010000111100111
+01000100100100111100000000000100
+01111000010101000111110000000000
+00011100010000100111111000000000
+01100000000000100100000011001010
+01111000001110000111110000000000
+01111000001101001111110000000000
+01110000000010101001100100101010
+00100000001000000111110110000110
+01000100100101000100000000000101
+00100000010000000010101001001101
+11011000001000000000000000010000
+00100000010000000010001011011100
+01111000010110000111110000000000
+01111000010101001111110000000000
+00100000010000000010100000011000
+00100000010000000010010000110101
+01000100100101001100000000000101
+00100000010000000010010001111100
+00100000001101101010001000000010
+00100000010000000010010001010101
+00100100001110100010000111111100
+00100000001000000010000111101100
+01101000000000001000000000110001
+01111001001111111111111000000001
+01100000000000001000000000110001
+00100000010000000010101010001000
+00100000010000000010100001000001
+01111000001101000111110000000000
+01110000000010101001100100101011
+00100000001000000111110110000110
+01000100100101010100000000000101
+01111001001000000000000000001001
+00011010001000100111111000000000
+01100000000000010000000000011110
+00011000000000000111001001010000
+11011000101000000000010000111111
+00011010001000001000110000000001
+11101000110000001000000000000000
+00011010001000100000110000000000
+11000010100000000111111100000001
+11011000101000000000000000110000
+00100000010000000111111100000001
+01111000010101110111110000000000
+01101000000000001000000001110111
+10011000000000000000100000000000
+01110000000000001000101000000001
+00100000001101001010001000011100
+01110000000000001000101000000001
+01101000000000001000000000110000
+11000100000000001000000000000000
+01101000000000001000000001110011
+01100000000000001000000010001010
+01101000000000001000000001110100
+01100000000000001000000010001011
+00100000011000000000000000000000
+01000100100101011100000000000101
+01101000000000010000000000011110
+10011000000000000000101000000000
+00011000000000000111001001010000
+11011000110000000000010000111111
+00100000001110110111111100000001
+11011000110000000000000000110000
+00100000001000000111111100000001
+11011111001000000000000000000001
+01101000000010001000000000010101
+00011000010000001000010000000001
+00101000010000011111111000000001
+00100100001000001010001000110001
+11011000010000000000000000000000
+01100000000010001000000000010101
+00011000010011111111111001010000
+11011010001000000100000001000000
+10011010001000001010001000000000
+11101010001000001000000000000000
+11000010100000001010001000111001
+11000011100000000000000000000000
+11000011100000011000000000000000
+11000010000000000010001000101101
+00100000011000000000000000000000
+01000100100101100100000000000101
+11011010011000000010001001101010
+00100000010000000010001001100001
+00100100011000101000000000000000
+00011010001000100111111000000000
+01100000000000010000000000011110
+00011000000000000111110000000000
+00100000011000000000000000000000
+00100000010000000010011100100101
+00100000001000001010001001001011
+01101000000000010000000000011110
+00011111111000001000101000010111
+01101000000000001000000001000111
+11100000101000001000000000000000
+11011010011000000010001010101010
+00100000001000000010001001100001
+01101000000000001000000001000111
+00101111111011111111111000000011
+00100000001000001010001001010000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000011000000000000000000000
+11011010011000000010001010100111
+00100000001000000010001001100001
+01101000000010010000000000011110
+11011010011000000010001011001111
+00100000001000000010001001100001
+01101000000010001100000111001111
+11011010011000000010001001110101
+00100000001000000010001001100001
+01000100100101101100000000000101
+01101000000010110100000111010000
+11011010011000000010001001101110
+00100000001000000010001001100001
+11011010011000000010001001111011
+00100000001000000010001001100001
+11011010011000000010001011000110
+01000100100101110100000000000101
+11011010001000000100000001000000
+11011111001000000000000000000001
+11101010001000001000000000000000
+00011010011000100111101000000000
+00011010001000001010001001010000
+11000010000000000010001001100100
+00011000000000000111110000000001
+00100000011000000000000000000000
+11000010100000000010001001100110
+11000010100000011010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000010100000011010001001110000
+11000011000000000010001001100110
+00011010001000001000110000010000
+11101000110000110000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+00100000001000000010001001100110
+11000011000000000010001001100110
+00011010001000001000110000010110
+11101000110000001000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+00100000001000000010001001100110
+11000011000000001010001001100110
+00100000010000000010001010110011
+00100000010000000010001010010111
+10011000010001100111111000000000
+00011111111000001111111000000001
+00100000001000010010001010010001
+00011000110000100010010000000000
+01100000000001001000101010100010
+01101000000000001100010011000000
+00100100001110100010001010001001
+01101000000001001000101010100010
+00011010010000100000110000000000
+00011111111000001111111000000101
+00100000001000000010001010001100
+01101000000001001000101010100010
+00011010010000100000110000000000
+00011111111000001111111000010100
+00100100001000010010001001100110
+00011000010000100100001000000000
+00100000010000000010001010111111
+00011000000000000111110000000000
+00100000011000000000000000000000
+10011000000000000010010000000000
+00011010001000001000110000000010
+11101000110000010000000000000000
+00100000001110100010001010001101
+00100000010000000010001010111111
+00100000001000000010001001111100
+00011111111100010001011000000000
+00011001011011001001011000000000
+00100000001000101010001010100001
+00101001011000000001111000001111
+00100100011000001000000000000000
+00011000010100010001011000000000
+00011001011011001001011000000000
+00100100011000101000000000000000
+01111001001000000000010000011100
+00100000011000000000000000000000
+00011000010100010001011000000000
+00011001011011001001011000000000
+00101001011000000001111000001111
+00100100011000001000000000000000
+01111001001000000111111000011100
+00100000011000000000000000000000
+11000011000000000010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000011000000000010001001100110
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000010100000000010001001100110
+00011010001000001000110000010111
+11101000110000001000000000000000
+11000011000000011010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+00011010001000001000110000000001
+11101000110010001000000000000000
+00011100010000100111111000000000
+00101000010011111111111000000001
+00011010001000001000110000000100
+11101000110010100000000000000000
+00100000011000001000000000000000
+00011010001000001000110000001000
+11101000110000110000000000000000
+00100000010000000010100001010100
+00011101000000100111111000000000
+00100000011000000000000000000000
+00011010001000001000110000000010
+00011010001000001000101000000100
+11101000110000010000000000000000
+10011000010000001001011000000000
+00011001011000100111111000000000
+11100000101000100000000000000000
+00100000001000000101010001001001
+11000011000000001010001001100110
+00100000010000000010001010110011
+10011011011000001111111000000000
+10011011011000001111111000000000
+10011000111000001111111000000000
+10011000010001100111110000000000
+00100100001000010010001001100110
+00011000000000000111110000000000
+00100000011000000000000000000000
+11000011000000000010001001100110
+00011000010000100111111000000000
+10011010001001100111110000000000
+00100000001111110010001001100110
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000010100000000010001001100110
+11101010001000001000000000000000
+01111001001111111111111000000111
+11100010001000001000000000000000
+00100000001000000010001001100110
+01000100100101111100000000000101
+00100000010000000010101001001111
+00011100010000001100001000000001
+00100000010000000010100011100010
+00011000000000000100100000000011
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001010110
+00100000010000000010101001100100
+00100000001000000010011101100010
+01000100100110000100000000000110
+00100000010000000010101001001101
+00011100010000001100001000000001
+00100000010000000010100011100010
+00011000000000000100100000000011
+00100000010000000010100011001100
+00100000010000000010010000101010
+00100000010000000010100111110001
+00100000010000000010101001011011
+00100000010000000010100111101011
+00100000010000000010101000001101
+00100100011011000000000000000000
+00100000010000000010100110111011
+00100000001000000010010100011100
+01000100100110001100000000000110
+01101000000000001000000110000001
+10011000000000000000100000000000
+00011000000000000000001000000001
+00100000010000000010001011011010
+00100000001000000010001011100100
+01101000000000001100000010010011
+11000100000000000000000000000000
+00011000000000000000111000000100
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000010010100000010101101
+00011000000000000000111000000100
+00100000010000000010011100011100
+00100000011101000000000000000000
+00100000010000000010001100001000
+00011000000000000000111000000100
+01101000000000010100000010101111
+00100100001011000111111100001000
+00011000000010100111111000000000
+10011110101000010111111000000000
+00100000001000000111111100001000
+01000100100110010100000000000110
+01110000000000011000000100000000
+01111000010110000111110000000000
+01111000010101110111110000000000
+00100000010000000010100010100100
+00011100010000010100001111111100
+00011000000000000100100000000001
+00100000010000000010100011011000
+00100000010000000010100011001100
+01111001010000000000000000011101
+01101000000000001000000000000110
+00011111111000001111111000000001
+01100000000000001000000000000110
+00100000010000000010100011110010
+00100000010000000010100111101011
+00100000010000000010101000010100
+00100100011011000000000000000000
+01000100100110011100000000000110
+00011000000000000011011000000000
+00100000010000000010100011111001
+01101000000000001000000000000111
+00011111111000001111111000000001
+01100000000000001000000000000111
+00100000010000000010100011011000
+00100000010000000010101001001101
+00011100001000011100001000000010
+00011000000000000100100000000001
+00100000010000000010100011010010
+00100000010000000010100011110010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00011100010000100111111000000000
+01100000000000100000000101100001
+00100000010000000010101001100100
+00011000000000000000001000000010
+00011000000000000000100000000000
+00100000010000000010101001101011
+00100000010000000010011101100110
+00100000010000000010001100110010
+00011100001000010100001111111101
+00011100110000001100110000000001
+00100000011000000000000000000000
+01000100100110100100000000000110
+01101000000000001100000011010001
+00100000011110100000000000000000
+11011000101000000000000110001110
+01101000000000001100010100010101
+00011111111000100111001000000000
+00011111111000001111111000000001
+11100000101000001000000000000000
+00011000101000100000010000000000
+00011111111000001111111000000001
+01100000000000010100000111011100
+00011000010000100000101000000000
+01011000000000000000000000001001
+11100000101000001000000000000000
+11011000110000000100010100010110
+00100000010000000111111100000001
+11011010011000000100010110001101
+11011111001000000000000000000100
+00100000010000000010001101010100
+11011010011000000100010101110111
+11011111001000000000000000000001
+00100000010000000010001101010100
+00011000000000000000001000001010
+01110000010000011101101100000010
+01011000000000000000000110001110
+01100000000000010000000101101111
+00100000010000000010101001001101
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000010000000010101001100100
+00100000010000000010101001101011
+00100000010000000010011101100110
+00100000011000000000000000000000
+00011000101000100000010000000000
+00011010011000100000110000000000
+11101000110000001000000000000000
+00100000011110100000000000000000
+00011111111000111111111000000000
+11000010000000000010001101011000
+00011111111000100010001000000000
+00011111111000001111111000000010
+00011111111000100000111000000000
+01101000000000010100000111011100
+10011000111000001111111000000000
+01100000000000010100000111011100
+00011000010000100000101000000000
+00011010001000100111111000000000
+00011111111000001111111000000001
+11100000101000001000000000000000
+00011010011000100000110000000000
+11101000110000001000000000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00011010001000100111001000000000
+00100000001000000111111100000001
+01101000000000001100000010010011
+11000100000000001000000000000000
+00011000000000000000111000000101
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000010010100000010110001
+00011000000000000000111000101000
+00100000010000000010011100011100
+00100000011101000000000000000000
+00011000000000000000100000000000
+01110000000000000001000000001000
+01111001001111111000000000001011
+00100000010000000010001101111010
+00011000000000000000111000000101
+01101000000000010100000010110011
+00100000001000000111111100001000
+01000100100110101100000000000110
+01111000010110000111110000000000
+00100000010000000010100010100100
+01101000000000001000000000001000
+00011111111000001111111000000001
+01100000000000001000000000001000
+00011000000000000100110000000000
+00100000010000000010100011100010
+00011100010000001100001000000001
+00011000000000000100100000000010
+01000100100110110100000000000110
+00100000010000000010100011001100
+00100000010000000010100111101011
+00100000010000000010101000010100
+00100100011011000000000000000000
+00100000010000000010100011111001
+01101000000000001000000000001001
+00011111111000001111111000000001
+01100000000000001000000000001001
+00011000000000000011011000000000
+00100000010000000010101001001101
+00011100001000011100001000000010
+00011000000000000100100000000001
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000010000000010101001100100
+00100000010000000010011001001101
+00011000000000000000100000000000
+11011001011000000000011000000000
+00110101001100110000001000000000
+00011101000000011101000000000011
+00011100001000010100001111111101
+01000100100110111100000000000110
+00011100110000001100110000000001
+00100000010000000010100011001100
+00100000010000000010100111101011
+00100000010000000010101000000111
+00100100001011000010001110100100
+00100000010000000010101001101011
+00100000010000000010010100011110
+11000101000001011010001110101011
+01000100100111000100000000000111
+01101000000000001000000000010000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001000000000010000
+00100000010000000010101001001111
+00100000001000000010001110011011
+01000100100111001100000000000111
+01111001001111111101000000000001
+01111001001000000101000000000000
+01101000000000001000000000001010
+00011111111000001111111000000001
+01100000000000001000000000001010
+00100000010000000010101001001101
+00011100001000011100001000000010
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000010000000010101001100100
+00100000010000000010011001001101
+00101101000000000000011000000011
+00100000001000001010001110111100
+00110111110010111000001000000000
+00100000001000000010001110111000
+01101000000000100000000101100101
+00011111111000011111111000000011
+00011111111000100101000000000000
+01000100100111010100000000000111
+01101000000000110000000101111000
+01100000000000110000000001000000
+00100000010000000010010000110101
+00100000010000000010010001111100
+00100000001101101010001111001000
+00100000010000000010010001010101
+00100100001110100010001111000011
+00100000011000000000000000000000
+01000100100111011100000000000111
+00100000010000000010010001000000
+00100000010000000010001000111011
+00100100011000101000000000000000
+01110000000000000011000100000000
+00100000010000000010100001000001
+00100000001000000010001000100011
+01000100100111100100000000000111
+00100000010000000010100001010000
+00100000010000000010001111110011
+00100000011101000000000000000000
+01000100100111101100000000000111
+00100000010000000010110001101001
+00100000010000000110110010101010
+00100000010000000010010100010100
+00100100001101101010001111100010
+00100000010000000010101010001000
+00100000010000000110110011000010
+00100000010000000010010010001001
+00100000010000000010011101010111
+00100000010000000010011100101000
+00100000010000000101110100001000
+01101000000000001000000000001011
+00011111111000001111111000000001
+01100000000000001000000000001011
+00100000010000000010100001000001
+01000100100111110100000000000111
+00100000010000000010101110110001
+00100000010000000010101001111111
+00100000001000010010001111101011
+00100000010000000010000110100111
+00100100001101000010001111101011
+00100000010000000010011011110011
+00100100001110100010001111010011
+00100000011000000000000000000000
+01000100100111111100000000000111
+01110000000000010101000100000000
+01110000000000010111111100000000
+00100000010000000010010001011101
+01111001001111111000000000010001
+00100000010000000111111110110000
+01101000000000001000000000110000
+00100000011000000000000000000000
+01000100101000000100000000001000
+00100000010000000010000111001001
+00100100011101000000000000000000
+00011000100000100000010000000000
+00100000010000000010101001101111
+01100000000000001000000110000001
+00011000010000100000100000000000
+01110000000000000001000100100000
+01000100101000001100000000001000
+00100000010000000010101001001111
+00011000000000000000001000000010
+00100000010000000010011101001111
+00011100010000100111111000000000
+01100000000000100000000101100001
+00100000010000000010011101100010
+00100000010000000010101001001101
+01111000001101111111110000000000
+00100000010000000010010011110110
+00100000001011000010010000001101
+00100000010000000010100011111001
+00100000010000000010010001010101
+00100100001110100010001111111011
+11000110100000100000000000000000
+01110000000000000111110000110100
+01111001001000000000000000000011
+00100000011000000000000000000000
+01111000001110000111110000000000
+00100000010000000010010000110101
+00100000010000000010100010100100
+01000100101000010100000000001000
+00100000010000000010001011110010
+00100000001011000010010000011001
+00100000010000000010010001010101
+00100100001110100010010000010000
+01111000010110000111110000000000
+00011101000000100111111000000000
+01100000000000100100000011001010
+00100000011000000000000000000000
+01111000001101001111110000000000
+11000101100000100010010000011111
+01111001001111111000000000000100
+01110000000000000111110000000011
+01110000000000000111110100110011
+00100000010000000110001011111000
+00011000100000100111111000000000
+01100000000000001000000001110111
+00011000000000000111111000000000
+01100000000000110000000000111000
+01101000000000001000000000110001
+01111001001000000111111000000001
+01100000000000001000000000110001
+00100000010000000010101010001000
+01111000010101001111110000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01000100101000011100000000001000
+01111000010101101111110000000000
+01111001001111111000000000000101
+01111001001111111000000000001010
+01111001001111111000000000010000
+01111001001111111000000000001111
+01101000000000001000000001000111
+01111001001111111111111000000101
+01111001001000000111111000000100
+01100000000000001000000001000111
+00100000011000000000000000000000
+01000100101000100100000000001000
+01110000000000000001000100100000
+01110000000000000100011101010000
+01101000000000010100000010111111
+01100000000000010000000000111110
+00011100010000100111111000000000
+01100000000000100100000011001010
+00100000011110000000000000000000
+00011101000000100111111000000000
+01100000000000100100000011001010
+00100000011000000000000000000000
+01000100101000101100000000001000
+00100000010000000101110100000100
+00100000010000000010010001011001
+01100000000000001000000001000110
+01011000000000000000000000000000
+01100000000000010000001001011101
+01011000000000000001110010000000
+01100000000000010000000001010001
+01101000000000001000000000110000
+01111001001000000111111000000000
+01100000000000001000000000110000
+01110000000000000100101100000000
+01110000000000000100110000000000
+01110000000000001010000000000000
+00100000001000000010101010001000
+01000100101000110100000000001000
+00011000000000000111111000000000
+01100000000001000100000110111110
+11100000101001000000000000000000
+00100000010000000010000111000101
+00100000001000000010001001010100
+01101000000000001000000000010001
+00011111111000001111111111111111
+01100000000000001000000000010001
+00100000011000000000000000000000
+01101000000000001100000011001111
+00011111111000001111111000000001
+01100000000000001100000011001111
+00100000011000000000000000000000
+01000100101000111100000000001000
+01101000000000001100000111001110
+11000000000000011010010001100010
+01101000000000001000000001001000
+11000000100000001010010001100110
+00100000010000000100110100000110
+00100100001000101010010001100110
+00100000010000000010000110100100
+01110000010000011100111000000000
+01000100101001000100000000001001
+00100000010000000011001110101111
+00100000010000000010011011101001
+01110000000010101001100100000010
+00100000010000000111110110000110
+00100000010000000101110011110111
+00100000010000000100110101101011
+00100000010000000111010101111101
+01101000000000001000000000110000
+01111001001111111111111000000000
+01100000000000001000000000110000
+01110000010001101000000100000000
+01101000000000001000000001001100
+00101111111000011000000000000000
+00100000001000001010010001110110
+01111001001111111000000000000001
+01101000000000001000000001000111
+11000011000000011010010001111000
+01101000000000001000000001001011
+11000100000000110000000000000000
+01111001001111111000000000000010
+00100000011000000000000000000000
+01000100101001001100000000001001
+01101000000000001000000101110100
+00100000011110100000000000000000
+00011111111000100000100000000000
+00100000010000000010010100010100
+00100100011101101000000000000000
+00011000000000000000001000000000
+00100000010000000010011101010111
+00011000100000100111111000000000
+01100000000000001000000001110111
+00011000000000000111111000000000
+01100000000000001000000101110100
+00100000011000000000000000000000
+01000100101001010100000000001001
+01101000000000001000000000110000
+11000011000000010010010010010110
+00011000000000000000001000000111
+11000101100000111010010010010101
+00100000010000000010011100100101
+00100100001000001010010010010110
+00100000001101110010010010010110
+00100000010000000010010011000001
+01011000000000000000000000000010
+01100000000000010100000011001000
+00100000011000000000000000000000
+00100100011101110000000000000000
+01000100101001011100000000001001
+00100000010000000010001001000011
+00100100001000101010010010100111
+01101000000000001000000001000111
+11000011000000011010010010110000
+11000101000000101010010010110100
+01101000000000001000000101111111
+11000010100000110010010010111010
+01101000000000010100000011001000
+00011111111000001111111111111111
+01100000000000010100000011001000
+00100000001110100010010010100101
+01101000000000001100000011000101
+10011000000000000000001000000000
+00100000011000000000000000000000
+01000100101001100100000000001001
+00100000010000000010011010000111
+00100000010000000010011100100101
+00100000001000001010010010110000
+00100000010000000110000000001010
+00100000001101000010010010111110
+01101000000000001000000001001011
+11000010100000110010010011000000
+11000101000000101010010010110100
+01101000000000001000000101111111
+11000010100000110010010010111010
+00011000000000000000001000000001
+00100000011101001000000000000000
+00011000000000000000001000000000
+00100000011000000000000000000000
+01000100101001101100000000001001
+01101000000000001000000000011001
+10011000000000000000001000000000
+11000001100000001000000000000000
+00011000000000000000001000000000
+00100000011000000000000000000000
+01101000000000001000000101011000
+00011111111000010000001000001111
+01111001001000000000000000000101
+00100000011000000000000000000000
+00011000000000000000001000010011
+00100000001000000010010011000001
+00100000010000000010010011001010
+01000100101001110100000000001001
+01101000000010001000000001000111
+01111001001000000000010000000011
+01100000000010001000000001000111
+00011000001000100111111000000000
+01100000000000001100000011000101
+01011000000000001111111111111111
+01100000000000010100000011001000
+00100000011000000000000000000000
+01000100101001111100000000001001
+01101000000000001000000001001100
+00101111111011111111111000000101
+01101000000000010100000111011100
+00100000001000001010010011100000
+00011000000000000000001000000011
+00011111111001100111110000010001
+00100000011000010000000000000000
+00011000000000000000001000000100
+00011111111001100111110000011011
+00100000011000010000000000000000
+00011000000000000000001000001010
+00011111111001100111110001111001
+00100000011000010000000000000000
+00011000000000000000001000001011
+00011111111001100111110010110111
+00100000011000010000000000000000
+00011000000000000000001000001110
+00011111111001100111110011100000
+00100000011000010000000000000000
+00011000000000000000001000001111
+00100000011000000000000000000000
+00011000000000000000001000000011
+00011111111001100111110000010001
+00100000011000010000000000000000
+00011000000000000000001000000100
+00011111111001100111110000110110
+00100000011000010000000000000000
+00011000000000000000001000001010
+11011000010000000000000101101111
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000000000000000001000001110
+11011000010000000000001010100111
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000000000000000001000001111
+00100000011000000000000000000000
+01101000000000001000000000110000
+11000011000000001010010011110101
+01101000000000010000000000110010
+00100000001110100010010011110101
+00100100001101110010010011110111
+00100000010000000010101001001111
+00011101000000001100001000000001
+01111000001010000111110000000000
+01101000000000010000000000111110
+00011111111000110111111000000000
+11011000010000000000010100000000
+10011000010000001111111000000000
+00100000010000000010101000100100
+00100000010000000010100011101010
+00011000000000000100100000000011
+00100000010000000010100011001100
+00100000010000000010010000101010
+00100000010000000010100111110001
+01000100101010000100000000001010
+01101000000000010000000000111110
+00011111111000110111111000000000
+00100000010000000010101000100100
+00100000010000000010100111101011
+01111000001001101111110000000000
+01101000000000010000000000111110
+11011000010000000000001110111011
+10011000010000001011011000000000
+00110111110000011000010000000000
+00011011010000100000010000000000
+01100000000010110000000010011010
+01111000010001101111110000000000
+00100100011011000000000000000000
+11011101001000000000001110111011
+00011100001000100101000000000000
+00100000001101011010101100000101
+00100000011000000000000000000000
+01000100101010001100000000001010
+00100000010000000010010011110000
+00100100001011000010100011111001
+00100000010000000010100110111011
+11000101100010001010010100011100
+01101000000000010000000011110110
+00011111111000001111111000000001
+01100000000000010000000011110110
+00011100001000110000010000000000
+00011000010000011001110001000000
+01000100101010010100000000001010
+01111000001000111111110000000000
+01111000001001010111110000000000
+01111000001001011111110000000000
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100000000000001000000101011101
+00001001100000000000000000000100
+00001000000000001000000000000111
+00011001100000100111111000000000
+01100000000000001000000000011001
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100000000000001000000101011110
+01101000000000001000000000011001
+00011111111001100111110000000011
+00100000001000010010010100110011
+11000000000000111010010100110011
+01101000000000001000000001001100
+00101111111011111111111000000101
+01111001001000001010101000000001
+01000100101010011100000000001010
+00001001100000000000000000001000
+01111000010001011111110000000000
+01111000010001010111110000000000
+00100000001000110010011000110001
+11000101100010001010010100111100
+01101000000000010000000011111000
+00011111111000001111111000000001
+01100000000000010000000011111000
+01000100101010100100000000001010
+01101000000000001000000101011101
+00101111111000000000111000000000
+01111001001000001000000000001010
+00100000001000001010010101001100
+10101000100000000000111000000000
+00100000001000001010010101001011
+11000101100000111010011001001101
+01101000000010001000000010110000
+10101000010000000000111000000000
+00100100001000001010011001001101
+01101000000000001000000001000111
+01111001001111111111111000000101
+01111001001000000111111000000100
+01100000000000001000000001000111
+01111000001101101111110000000000
+01000100101010101100000000001010
+01101000000000001000000000011001
+00011111111000100000001000000000
+11000101000001010010010101011011
+01101000000010001000000101011110
+01101000000000001000000001000111
+01111001001111111111111000000000
+00101000010011111111111000000000
+01111001001000001111111000000000
+00101000010011111111111000000001
+01111001001000001111111000000001
+01100000000000001000000001000111
+00101000010011000000000000000001
+00100000001000001010010101011011
+00100000010000000010011010000111
+01000100101010110100000000001010
+11011000010000000000000000000000
+00100000010000000010101000011100
+00011000001000010111111000001111
+11000000000000001010010110000111
+11000000000000000010011001001101
+11000000000000010010011001011001
+01101000000010001000000101011110
+01101000000000001000000001000111
+10101000010000000000100000000000
+00100100001000001010010101101001
+11000101100001010010010101101000
+11000011000000111010010101101001
+01111001001000000000000000001111
+01000100101010111100000000001010
+00011000001000100111111000000000
+11000000000000011010010110001001
+11000000000000100010010110001101
+11000000000000111010010101111000
+11000000000001000010010110001100
+11011000010000000000000000000100
+00100000010000000010101000011100
+11000000000001010010010110001000
+11000000000001011010010110001011
+11011000010000000000000000001000
+00100000010000000010101000011100
+11000000000001110010010110001000
+11000000000001111010010110001011
+00100000011000000000000000000000
+01000100101011000100000000001011
+01111000001001101111110000000000
+01111000001001001111110000000000
+01111000001001110111110000000000
+11011000101000000000000011010001
+00011000000000000111001000011110
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000010010101111110
+11000101100000111010011001001101
+00001001100000000000000000010000
+01111101001000110000000000001000
+00100000001000110010011000111101
+00100000001000000010011000100000
+00100000001000000010011001001101
+01111001001000000000000000010000
+01111000001001100111110000000000
+00100000001000000010010110001110
+01111001001000000000000000010000
+01111001001000000010101000000010
+01111000001001101111110000000000
+01000100101011001100000000001011
+11000101000000001010011001001101
+00101010101011000000000000000001
+00100000001000001010010110011010
+01111000010000111111110000000000
+01111000001001101111110000000000
+01111000010001100111110000000000
+00011100010000001001011000000010
+00110100010100110000010000000000
+00100100001011000010011000111101
+01111001001000000000000000010000
+01111000001000111111110000000000
+01000100101011010100000000001011
+01111000001001110111110000000000
+01111000001001001111110000000000
+00001001100000000000000000000011
+00011001100011001111111000000000
+01100000000000001000000110000000
+00001001100000000000000000000101
+11000101000010000010010110100101
+00011001100010010111001000000000
+00011111001010010111001000000000
+00100000001000000010010110101000
+00001001100000000000000000000101
+00011001100000110111001000000000
+00001001100000000000000000000011
+01000100101011011100000000001011
+00011111001000100111111000000000
+01100000000000010000000101011111
+00100000001110100010010111101000
+10011110101001100111110000000000
+00100000001000010010011000111101
+01000100101011100100000000001011
+01111001001111111000000000000000
+01101000000000001000000110000000
+00011111111000010111111000000011
+11011000101000000000010101010001
+11000000000000011010010110111010
+11000101000010001010010111100100
+01101000000000001000000110000000
+00011111111000010111111000000011
+11000000000000010010010110111111
+11000000000000001010010111010011
+00100000001000000010011000111101
+01101000000000010000000101011111
+00011111111001100111110001110000
+00100100001000010010011000111101
+11000101000001111010011000100000
+00100000001000000010010111100100
+01000100101011101100000000001011
+11000101000001111010011000100000
+01101000000000010000000101011111
+11011000010000000000001011100000
+10011000010001100111110000000000
+00100000001000010010011000111101
+01101000000000001000001001100011
+11000011000000000010010111001001
+11000011000000001010010111001110
+00100000001000000010011001001101
+01110000000000100110000100000001
+01101000000000010000001001011101
+11000000100000000010011001001101
+11011000101000000001000000000000
+00100000001000000010010111100100
+01110000000000100110000100000010
+01101000000000010000001001011111
+11000000100000000010011001001101
+11011000101000000001010000000000
+00100000001000000010010111100100
+01000100101011110100000000001011
+11000101000001111010011000100000
+01101000000000010000000101011111
+11011000010000000000001011100000
+10011000010001100111110000000000
+00100000001000010010011000111101
+01101000000000001000001001100001
+11000000000000001010010111011101
+11000000000000010010010111100001
+00100000001000000010011001001101
+11011000101000000001000000000000
+01101000000000010000001001011101
+10011000101000001000101000000000
+00100000001000000010010111100100
+11011000101000000001010000000000
+01101000000000010000001001011111
+10011000101000001000101000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000010010111100100
+01000100101011111100000000001011
+00001001100000000000000000010000
+00100000001000110010011000110111
+01101000000000001100001101100011
+11000000000000001010011001001101
+11000101000010001010011000001101
+11000101000001111010011001001010
+01101000000000001000000110000000
+00101111111000000000011000000011
+00100000001000001010011000001101
+01101000000000010000000101011111
+00100000001110100010011000001101
+01000100101100000100000000001100
+01101000000000001000001001100001
+11000000000000001010010111111001
+11000000000000010010011000000011
+00100000001000000010101010001100
+01101000000000010000001001011101
+01101000000010010000000101011111
+10011000010000001111111000000000
+01100000000000010000001001011101
+11000000000000000010101010001100
+01101000000010010001000000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101010011101000111
+00100000001000000010011000001101
+01101000000000010000001001011111
+01101000000010010000000101011111
+10011000010000001111111000000000
+01100000000000010000001001011111
+11000000000000000010101010001100
+01101000000010010001010000000000
+00011000010000001000010000000100
+10011000010001100111110000000000
+00100000010000101010011101001011
+00100000001000000010011000001101
+01000100101100001100000000001100
+01101000000010001000000001001100
+01101000000000001000000110000000
+00101111111000000000011000000011
+01111001001000001000010000000110
+01111101001000001000010000000111
+01100000000010001000000001001100
+00100100001000001010011000010110
+01111001001000000000000000000001
+11000101100010001010011000100000
+00101000010011111111111000000110
+00100000001000001010011000100000
+01101000000000010000000011111010
+00011111111000001111111000000001
+01100000000000010000000011111010
+01111001001000000000000000000101
+01111001001111111000010000000111
+01111001001111111000000000000001
+01100000000010001000000001001100
+01000100101100010100000000001100
+01101000000010001000000101011110
+01101000000000001000000001000111
+01111001001000000111111000000101
+00101000010011111111111000000010
+01111001001000001111111000000010
+00101000000011111111111000001010
+01111001001000001111111000000111
+01100000000000001000000001000111
+01101000000000010000000101011111
+00100100001110100010011001001101
+01101000000000001000000001001100
+01111001001111111111111000000111
+01100000000000001000000001001100
+01101000000000001000000110000000
+00101111111000000000111000000001
+00100000001000000010011001001101
+01000100101100011100000000001100
+01111000010101101111110000000000
+01101000000000010000000000011010
+00011111111000001111111000000001
+01100000000000010000000000011010
+00100000001000000010011001001101
+01101000000000010000000000011100
+00011111111000001111111000000001
+01100000000000010000000000011100
+00100000010000000010011000111110
+11000101100010001010011000111101
+01111001001000000000000000000101
+00100000001000000010011001001101
+01000100101100100100000000001100
+01101000000000001000000110000000
+00101111111000000000011000000011
+00100100001000001010011001000110
+01101000000010001000000001001100
+01111001001111111000010000000110
+01100000000010001000000001001100
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111001001111111000010000000111
+01100000000010001000000001001100
+00100000001000000100110000001011
+01101000000000001000000001000111
+01111001001000000111111000000101
+01100000000000001000000001000111
+01000100101100101100000000001100
+01111000010011101111110000000000
+01111000010011100111110000000000
+01111000010001101111110000000000
+01111000010001100111110000000000
+01111000010001001111110000000000
+01111000010001110111110000000000
+01111000010000111111110000000000
+00100000001100001010100011111001
+00110111110100111000001000000000
+00100000000000000000000001100100
+00100000001000000010100011111001
+01000100101100110100000000001100
+01111000001001001111110000000000
+01111000001001100111110000000000
+00001001100000000000000001001000
+00101111111011111111111000111010
+01111001001000001000000000000000
+00011100000000100000010000000000
+01010111111000000100000000000000
+01010111111000000011110000000000
+01111000001010101111110000000000
+00111000000010111111111111111111
+00111000000011001111111111111111
+00100000000000000000000000100000
+00101001101010000000000000000000
+00011101100000100111111000000000
+01100000000000011000000101111000
+00011101101000100111111000000000
+01100000000000001000000101111011
+00011000010000100100000000000000
+00100000001000001010011001101110
+00100000001000000010011000111101
+01000100101100111100000000001100
+00001001100000000000000001001000
+01010111111000000011111000000000
+01010111111000000000100000000000
+01010111111000000101110000000000
+01010111111000000010010000000000
+00011000000000000111111000000000
+00001001100000000000000000010000
+00100000001000110010011000111101
+01011111111111111111111111111100
+10011010010000010111111000000000
+01100000000000100000000101100101
+00011011101000100111111000000000
+01100000000000011000000101110101
+00011011100000100111111000000000
+01100000000000001000000101110011
+00011000100000100111111000000000
+01100000000000001000000101110100
+00011101110000100111111000000000
+01100000000000010000000101111100
+00011100001000100111111000000000
+00001000000000001000001000100000
+00101000001000000001111000000010
+01111001001000001000000000001011
+00100000001000000010011001001101
+01000100101101000100000000001101
+01101000000000001000000001000111
+11000100000000011000000000000000
+01111001001111111111111000000011
+01111001010000000111111000000110
+01100000000000001000000001000111
+01101000000000001100000011000101
+11000000000010011010011010011100
+11000001000000111000000000000000
+01101000000000001000000001001011
+11000100000000110000000000000000
+01111001001111111111111000000110
+01111001001000000111111000000111
+01100000000000001000000001001011
+01111001001111111000000000000010
+01101000000000010100001001000110
+00100100011110100000000000000000
+01101000000000001000000001001011
+01111001001111111111111000000111
+01100000000000001000000001001011
+00100000001000000101001001011101
+01000100101101001100000000001101
+01101000000000001000010010110111
+00011111111000110111111000000000
+11000000000010001010011010111000
+11000000000010010010011011000000
+11000000000011000010011011101001
+11000000001111111010011010101000
+11000001100000011000000000000000
+01101000000000001000010010111000
+11000000000101011010011010110000
+11000000000010001010011010101011
+00100000011000000000000000000000
+01101000000000001000010010111000
+01111001001000000111111000000111
+00100000011000000000000000000000
+00100000011101001000000000000000
+01101000000000001000000000110000
+11000011100000100000000000000000
+01110000000000000111110000110001
+00100000011000000000000000000000
+00100000011101001000000000000000
+01101000000000001000000000110001
+00101111111011111111111000000100
+00100000001000001010011010110101
+00100000011000000000000000000000
+01111001001111111111111000000100
+01100000000000001000000000110001
+00100000011000000000000000000000
+01000100101101010100000000001101
+01101000000000001000000001001100
+01111001001000000111111000000010
+01100000000000001000000001001100
+01110000100000000001000100000001
+01101000000000001000000000110000
+00101111111011111111111000000100
+00100000011000000000000000000000
+01000100101101011100000000001101
+01101000000000001000000001001100
+01111001001111111111111000000010
+01100000000000001000000001001100
+01110000100000000001000100000000
+00100000011000000000000000000000
+01000100101101100100000000001101
+00011100010000100111111000000000
+01100000000000100100001000001100
+00011100010000001010001000000011
+00100000001101001010011011001100
+00011101000000001010001000000011
+01101000000010010000000000110010
+00011010001000100111111000000000
+01111001001111111111111000011011
+10011000010001101111110000000000
+01101000000000010000000001110101
+00100000010000000111111110000110
+00011000000001110010011000000000
+10011010011001100111111000000000
+00100000001000010010011011010110
+10011000010000001111111000000000
+10011010001000001111111000000000
+01100000000000100000000000110100
+01110000010001010101101100000000
+01101000000000001000000000110000
+01111001001000000111111000000001
+01100000000000001000000000110000
+01101000000000001000000001110011
+01100000000000001000000010001010
+01011000000000000000000000000000
+01100000000000011100000101101001
+01100000000000011100000101101100
+01100000000000001100000101011001
+01110000000010101001100100001011
+00100000010000000111110110000110
+01101000000000010100000011000001
+01100000000000010000000000111110
+00100100011101001000000000000000
+00011000100000001000111111111111
+00100000011000000000000000000000
+01000100101101101100000000001101
+01101000000000001000000000110000
+11000100000000001000000000000000
+01111001001111111111111000000001
+01100000000000001000000000110000
+01101000000000010100000010111111
+01100000000000010000000000111110
+01111000010101011111110000000000
+01110000000010101001100100001100
+00100000001000000111110110000110
+01000100101101110100000000001101
+01111000001101110111110000000000
+01101000000000001000000000110000
+11000010100000001010011100000000
+11000110000010001000000000000000
+01101000000000001000000001000111
+11000011100000011000000000000000
+01101000000000001000000001001000
+00100100011110100000000000000000
+01101000000000001000000001001011
+11000011100000110000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+11000011000000010010011100001111
+01101000000000001000000010001010
+11000000000000010010011100000110
+01101000000000001000000001000111
+11000010100000011010011100011000
+11000101100001000010011100011000
+00100100001101001010011100011000
+01101000000000001000000001001000
+00100100001110100010011100011000
+01101000000000001000000011101111
+00011111111000001111111111111111
+01100000000000001000000011101111
+00100100001110100010011011111110
+01110000000000001110111100010000
+00100000001000000010011100011000
+01101000000000001000000010001010
+11000000100000001010011100011000
+01101000000000001000000010001011
+00100000001110100010011100011000
+00011111111000001111111111111111
+01100000000000001000000010001011
+01101000000000001000000001000111
+11000011100000011000000000000000
+00100100011101101000000000000000
+01101000000000001000000010001010
+00011111111000001111111111111111
+01100000000000001000000010001010
+00100000011000000000000000000000
+01000100101101111100000000001101
+01111000010010000111110000000000
+00011000010000100011011000000000
+00100000010000000010001001100000
+01111000010101000111110000000000
+00100100011000101000000000000000
+00011000000000000011011000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000001100000101011000
+10101000100000011111111000000000
+00100000011000000000000000000000
+01000100101110000100000000001110
+01111001001111111000000000000001
+01110000000000100110101000000000
+01101000000000001000001001100011
+00100000011110100000000000000000
+00101111111011111111111000000000
+11011000110000000001000000000000
+00100000010000001100110101111001
+01000100101110001100000000001110
+01101000000000001000001001101010
+11000000000000001010011100111011
+01110000000000100110101000000000
+01101000000000001000001001100011
+11000100000000001000000000000000
+11011000110000000001010000000000
+00100000010000000100110101111001
+01101000000000001000001001101010
+11000000000000001010011101000001
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001111111111111000000000
+01100000000000001000001001100011
+01011000000000000000000000000000
+01100000000000010000001001011101
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001111111111111000000001
+01100000000000001000001001100011
+01011000000000000000000000000000
+01100000000000010000001001011111
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001000000111111000000000
+01100000000000001000001001100011
+00100000011000000000000000000000
+01101000000000001000001001100011
+01111001001000000111111000000001
+01100000000000001000001001100011
+00100000011000000000000000000000
+01000100101110010100000000001110
+00011101000000001100001000000001
+00100000010000000010100011101010
+00011000000000000100100000000011
+00100000010000000010100011010010
+00100000010000000010101001010001
+00100000010000000010101001011111
+00100000001000000010101001100100
+01000100101110011100000000001110
+00100000010000000010101001001101
+00011101000000100111111000000000
+01101000000010100100000011001010
+10011000010001100111111000000000
+11000001100000001000000000000000
+00101000001000000011111000000000
+00100100001000001010011101100001
+01101000000000001000000000011001
+00100000011110100000000000000000
+00100000010000000010011101001111
+00101000001000000011111000010000
+00100000001000001010011001001101
+00011100001000110000010000000000
+00011000010000011001110001000000
+01000100101110100100000000001110
+01111000001000111111110000000000
+01111000001001010111110000000000
+01111000001011011111110000000000
+01111001001111111000000000010000
+00011000100000100111111000000000
+00001000000000001000011000000011
+00011000001000100111111000000000
+00001000000000001000011000000100
+01101000000000001000000001000111
+00001000000000001000000000000100
+00001000000000001000011000000011
+01111000001001000111110000000000
+00001000000000001000011000001000
+01111000010011011111110000000000
+01111000010001000111110000000000
+01111000010001010111110000000000
+01111001001111111010101000000010
+11011000010000000000000000000000
+00100000010000000010101000011100
+01000100101110101100000000001110
+00011000001000010111111000011111
+11000000000010011010011110110100
+11000000000000000010011001001101
+11000000000000001010011001001101
+11000000000000010010011110010111
+11000000000000011010011111000101
+11000000000000100010011111001011
+11000000000000111010011110001100
+11000000000001000010011111001010
+11011000010000000000000000000100
+00100000010000000010101000011100
+11000000000001010010011111000111
+11000000000001011010011111001101
+11011000010000000000000000001000
+00100000010000000010101000011100
+11000000000001111010011111001101
+00100000001000000010011111000111
+01000100101110110100000000001110
+01111000001011101111110000000000
+01111000001001001111110000000000
+01111000001001110111110000000000
+00011000000000000111001000011110
+11011000110000000000000010110011
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000010011110010010
+11000101000000111010011111110111
+00100000001000000010011001001101
+01000100101110111100000000001110
+01101000000000001000000110000001
+00011111111000100000100000000000
+01101000000000001000000010010000
+00011111111000100011100000000000
+01101000000000011100000010101010
+00011111111000100011101000000000
+01101000000000010100000010100100
+00011111111000100101110000000000
+01111000001001001111110000000000
+01111000001011100111110000000000
+00011100000000100010001000000000
+00100000010000000010100011100010
+01111000001010101111110000000000
+00100000000000000000000000100000
+00011100001000100001011000000000
+01101000000000100000000101100001
+00011111111000100100001000000000
+01010011110000000111111000000000
+01111001001000000111111000111010
+00001000000000001000011001001000
+01010011111000000111111000000000
+00001000000000001000011001001000
+00011001011000100100001000000000
+00011010001000100100000000000000
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000001000000010011001001101
+01000100101111000100000000001111
+01111000001001110111110000000000
+01111000001001001111110000000000
+01111000001011100111110000000000
+01101000000000001000010010110110
+00011111111000010000010111111000
+11011000110000000000010010110110
+00011000010000001000010000001000
+00011000010000001010011110111000
+00100100001000010010011111000010
+11101000110001001000000000000000
+00001000000000001000011001001000
+00011010011000100000010000000000
+00100000001000000010011110111100
+11101000110001001000000000000000
+00001000010000011000011000000000
+00100000001000000010011111110111
+01111000001011100111110000000000
+00100000001000000010011111010000
+01111000001011100111110000000000
+01111001001000000000000000010000
+00100000001000000010011111010000
+01111001001000000010101000000010
+01111000001011101111110000000000
+00100000001000000010011111010000
+01111001001000000010101000000010
+01111000001011101111110000000000
+01111001001000000000000000010000
+01000100101111001100000000001111
+01101000000000001000000001001100
+11000011000000101010011111100101
+00011000001001100111110000000011
+00100000001000010010011111100101
+01111000010001110111110000000000
+01111000010011100111110000000000
+01111000001011101111110000000000
+01111000010000111111110000000000
+01111001001000000010101000000001
+00101010101011111111111000000010
+00100000001000001010011111011111
+01011000000010101011111011101110
+00001000000000001000011000010100
+00100000001000000010011111100011
+01011000010111111010111010111010
+00001000000000001000011000011000
+01011000000000000000000000010010
+00001000000000001000011000000110
+01111000001000111111110000000000
+01111001001000000000000000010000
+01111000001001110111110000000000
+01111000001001001111110000000000
+11000101000000101010100000000000
+01101000000000001100000111011011
+00001000000000001000011000000011
+01101000000000010100000111011100
+10011000000000000111001000000000
+11000101000010000010011111101111
+00001000000000001000011000000101
+00100000001000000010011111110000
+00001000000000001000011000001101
+00011111001000100111111000000000
+00100000001110100010011111110111
+01101000000000010000000101101111
+10011000000000000000110000000000
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000010011111110100
+01111000001001000111110000000000
+00001000000000001000011000010000
+01111000010001000111110000000000
+00100000010000000010010011000001
+01101000000000001000000001001100
+11000011000000101010011001001101
+00011000000000000111111000000000
+00001000000000001000011000000110
+00100000001000000010011001001101
+01000100101111010100000000001111
+11000101000010000010100000001000
+01101000000000001000000110000000
+00001000000000001000011000000011
+01101000000000001000000101011111
+10011000000000000010011000000000
+00001000000000001000011000000101
+00100000001000000010100000001101
+01101000000000001000000110000000
+00001000000000001000011000000011
+01101000000000010000000101011111
+10011000000000000010011000000000
+00001000000000001000011000001101
+11011000110000000000010101010001
+00011010011000100111110000000000
+00100000001000101010100000010100
+11101000110000001000000000000000
+00001000000000001000011000001000
+00011010011000001010011111111111
+00100000001000000010100000001110
+01101000000000010000000011111100
+00011111111000001111111000000001
+01100000000000010000000011111100
+00100000001000000010011111110111
+01101000000000100000000101100101
+00011111111000001010001000000111
+01101000000000010000000101110001
+00100100001110100010100000011110
+00011010001000001010001111111101
+00100000001000000010100000100110
+00011111111011111111111000001100
+01101000000110010000000001000000
+00011000010000001000010000000001
+10011000010001100111111000000000
+00100100001000010010100000100101
+00011010001000001010001111111111
+00100000001000000010100000100001
+00011111111001100111111000000000
+00110111110100011000001000000000
+00101100010000000000011000000000
+00100100001000001010100000100110
+10011000000000000101001000000000
+00011010001000100101000000000000
+10011000000000000101001000000000
+00100000011000000000000000000000
+01000100101111011100000000001111
+00110111110100010000001000000000
+00011011010000100111111000000000
+10011000000000000000110000000000
+00011111111100010111111000000000
+10011100010001100111001000000000
+00011111001000010111001000000011
+00100100001000101010100000110111
+00011000000000000111111000000000
+00100000001000000010100000111011
+11011000010000000000111010100110
+00011000000000000111111000000000
+10011000010000001111111000000000
+11000010000000000010100000111001
+10011000110000001111111000000000
+00011111111001101111110000001100
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010000000101110001
+00100000011000000000000000000000
+01000100101111100100000000001111
+00011011010000100111111000000000
+00011011001000100000010000000000
+10011000010001100111110000000000
+01111101001000010111111000101100
+10011000010001100000010000000000
+01011000000000000000111010100110
+00101000010011000000000000001111
+00100000001000001010100001001100
+01011111111111110000111010100110
+10011000010000001000010000000000
+01100000000010110000010001000111
+00100000011110110000000000000000
+01100000000010110000000000111000
+00100000011000000000000000000000
+01111000010110000111110000000000
+01101000000000110000010001000111
+00100000001110110010100001010100
+01101000000000110000000000111000
+10011011001000001110000000000000
+00011110000000001110000000001010
+01011000000000000000111010100110
+10011110000001100111111000000000
+00101111111011000000000000001111
+00100000001000001010100001011110
+01011000000000001111000101011010
+10011110000000001110000000000000
+00011110000000100011010000000000
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000001000000010100001011100
+01000100101111101100000000001111
+00100000010000000010100100011000
+00011100001000100111111000000000
+00011111111000010111111110000000
+00101100100000000000111000000011
+00100100001000001010100001101001
+00011111111010010111111000000000
+10011010111000001111111000000000
+00100000001000000010100001101010
+00011010111000100111111000000000
+00011111111001101111110001001111
+01111000001010101111110000000000
+00100000010000000111111110000110
+00011000000001110010001000000000
+00011010001000001000010111011000
+00100000001000010010100001110010
+00011010001000111000010000000000
+00100000001000000010100001110100
+00011000010000111000010000000000
+00011000010000001000010000000001
+01000100101111110100000000001111
+01101000000000001000000000110001
+11000011000000011010100010000101
+01101000000000100100000011010010
+10011100001001100111110000000000
+00100000001000010010100010000101
+00100000010000000010100010100100
+01101000000000001100000011011001
+00100000011110100000000000000000
+01101000000000001000000000110001
+01111001001000000111111000000010
+01100000000000001000000000110001
+01101000000000101100000011100111
+01100000000000101100000011011010
+11101000110000101000000000000000
+01100000000000101100000011011111
+00100000010000000010100010101001
+01101000000000001000000000110001
+11000100000000010000000000000000
+00101100001011111111111000000001
+00100000001000001010100010100001
+00011000010010010010001000000000
+00011000010000010000111000000111
+01011000000000000100000011011010
+10011010001000001010001000000000
+11101010001000001000000000000000
+10101111111011000000000000000000
+00100000001000001010100010010010
+00011000010000100111111000000000
+00100000001000000010100010011110
+01101000000000001100000011100100
+10011000000000000010010000000000
+00011100001000100111111000000000
+00011111111000010111111110000000
+00011111111010010111111000000000
+10011010111000001111111000000000
+10011010010001101111110000000000
+01011000000000000100000011110010
+00100000010000000111111110000110
+00011000000001110010001000000000
+10011010001000001000110000000000
+11101000110000001000000000000000
+01100000000000001100000011100101
+10011000000000000000010000000000
+00100000011000000000000000000000
+01101000000000001100000011100101
+10011000000000000000010000000000
+00100000011000000000000000000000
+01101000000000001000000000110001
+01111001001111111111111000000010
+01111001001111111111111000000011
+01100000000000001000000000110001
+00100000011000000000000000000000
+01000100101111111100000000001111
+11011000101000000100000011110010
+00011000000000000111001000001010
+00100000010000000111111011000110
+11011000101000000100000011110010
+00011000000000000010011000000000
+00011000000000000000111000000010
+01101000000000101100000011011010
+10011000000000000000010000000000
+00101000111000011111111000000010
+00100000001000001010100010110101
+00011000010000110000010000000000
+00101000010011000000000000000000
+00100000001000001010100010111001
+00011010011000100111111000000000
+11100000101000001000000000000000
+00011000010010110000010000000000
+00011010011000001010011000000010
+00101010011000011111110000101000
+00100100001000001010100011000010
+01101000000000101100000011011111
+10011000000000000000010000000000
+00101000111000011111111000000010
+00100000001000001010100011000010
+00011000010000110000010000000000
+00011010011001100111110001001110
+00100000001000010010100010110101
+00011000000000000010011000000001
+00011000111000001000111111111111
+00100100001000101010100010110000
+11011010001000000100000011110010
+00011000101000100111111000000000
+10011010001001100111111000000000
+01100000000000001100000011100100
+00100000011000000000000000000000
+01000100110000000100000000010000
+00100000010000000010100001100000
+01101000000000001000000101111111
+11000011000000101010100011010001
+01101000000010001000010011001100
+00100000001000000010100100011111
+01000100110000001100000000010000
+00100000010000000010100001100000
+01101000000000001000000101111111
+11000011000000100010100011010111
+01101000000010001000010011001011
+00100000001000000010100100110011
+00011000000000000101101000000000
+01101000000000011100000010100111
+10011000000000000101100000000000
+00100000011000000000000000000000
+01000100110000010100000000010000
+01101000000000001100000111010011
+00011111111000100101101000000000
+01101000000000011100000111010000
+00011111111000100101100000000000
+00100000011000000000000000000000
+01000100110000011100000000010000
+01101000000000010100000010100100
+00011111111000100101110000000000
+01101000000000001100000010100011
+00011111111000100101101000000000
+01101000000000011100000010100000
+00011111111000100101100000000000
+00100000011000000000000000000000
+01000100110000100100000000010000
+01101000000000010000000001000100
+00011111111000100101110000000000
+01101000000000001000000001000011
+00011111111000100101101000000000
+01101000000000011000000001000000
+00011111111000100101100000000000
+00100000011000000000000000000000
+11000101000100000010100011110101
+11000110100011101000000000000000
+11000110100011111000000000000000
+00011101100000010101100100000000
+01111000001010101111110000000000
+00100000000000000000000000100000
+00100000011000000000000000000000
+01000100110000101100000000010000
+00100000001100001010100100001010
+01110000100010010101010111010100
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01101000000000001100000111011110
+11000000000000000010100100001000
+11000000000000001010100100010101
+11000000000000010010100100001000
+11000000000000011010100100010101
+11000000000000100010100100010101
+11000000000100000010100100010101
+01110000100010010101010111010000
+01110000100010010101011011100000
+00011000000000000010101000000000
+01111000010100001111110000000000
+01111000010100000111110000000000
+01111000001011110111110000000000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000001100000000
+01110000100010010000010001110000
+01110000100010010000011000000000
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+00100000001000000010100100001010
+01000100110000110100000000010000
+01110000100010010000001000000000
+01110000100010010000000100000000
+01110000100010010000000000011000
+01110000100010010000001110100111
+01110000100010010000010001111111
+00100000011000000000000000000000
+01000100110000111100000000010000
+01100000000010001000000000010111
+00011000010000001010001000000100
+01110000100010010110110100000111
+00100000001000000010100110000001
+01000100110001000100000000010001
+01110000100010010000000111001111
+00100000000000000000000000001010
+01110000100010010000000011111111
+01110000100010010000001110101111
+01110000100010010000010011111111
+00100000000000000000000000001010
+01110000100010010000001010100000
+00100000011000000000000000000000
+01101000000000001100000111100000
+00100000001110100010100100110001
+00011000010000001010001000000010
+00100000011000000000000000000000
+00011000010000001010001000000000
+00100000011000000000000000000000
+01000100110001001100000000010001
+01100000000010001000000000010111
+00100000010000000010100100101101
+00100000010000000010100110000001
+01011000000000000000010100000000
+00100000010000000010101010001111
+01110000100010010000011000000001
+01110000100010010000000000111100
+01110000100010010000000111100000
+01110000100010010110110100010010
+00100000000000000000000000001010
+01110000100010010000001000000001
+01110000100010010000001000111101
+00100000000000000000000000001010
+01110000100010010000001110110111
+00100000000000000000000000001010
+01110000100010010000001001111111
+01101000000000001100000111011110
+11000000000000000010100101001011
+11000000000000001010100101001111
+11000000000000010010100101010011
+11000000000000011010100101010111
+11000000000000100010100101011011
+11000000000100000010100101011111
+01110000100010010101011011110000
+00100000010000000010100101100101
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101011011011111
+00100000010000000010100101100101
+01110000100010010101010111011111
+00100000011000000000000000000000
+01110000100010010101011011111111
+00100000010000000010100101100101
+01110000100010010101010111011111
+00100000011000000000000000000000
+01110000100010010101011011001110
+00100000010000000010100101100101
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101011011001011
+00100000010000000010100101100101
+01110000100010010101010111011000
+00100000011000000000000000000000
+01110000100010010101010111010000
+01110000100010010101011011000000
+01110000100010010101011101001100
+01110000100010010101100001101100
+01110000100010010101100101010000
+00100000011000000000000000000000
+00100000000000000000000000000100
+01110000100010010101010111010001
+00100000000000000000000000000100
+01110000100010010101010111010010
+00100000000000000000000000000100
+01110000100010010101010111010100
+00100000011000000000000000000000
+01110000100000000100001000000110
+01101000000000010100000011000011
+11000011000001110010100101101101
+10011000000000000000110000000000
+11011000010000001000100100000000
+11101000110000001000000000000000
+11000000011111111010100101110111
+10011000010000011000101000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00100000001000000010100101110001
+01000100110001010100000000010001
+00100000010000000010101111100101
+00100000010000000010100111001001
+01011000000000000000011111010000
+10011100010000001111111000000000
+01100000000000100000000101101001
+01111001001000000010101000000011
+00011000000000000010101000000000
+00100100010101011010100110011000
+00100000001000000010100110101011
+01000100110001011100000000010001
+01011000000000000000100101100000
+10011010001000001000010000000000
+01101000000000001100000010111101
+01110000100010010101111100000100
+10011000010011111111111000000000
+01101000000010001100000010111110
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111010001000000000
+00011000000001110111111000000000
+00011111111100000111111000000000
+00011111111100100111111000000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111011010111111000000000
+00011111111000111111111000000000
+10011010001000011111111000000000
+01100000000100100000100101100000
+01110000100010010101111101000100
+01110000100010010101111111000100
+00100000011000000000000000000000
+01000100110001100100000000010001
+01110000100010010000011000000010
+01011000000000111101000010010000
+00100000010000000010101010001111
+01110000100010010000000001111111
+00100000000000000000000010000010
+01110000100010010101001000110000
+01110000100010010000000111010000
+01110000100010010101001001110000
+01110000100010010101001011110000
+00011000000000000111001000110010
+01101000000100001000100110000000
+11000010100000101010100110100110
+11000010000000000010100110100011
+01100000000000001100000011001110
+01110000100010010000000100000000
+01110000100010010000000000000000
+01110000100010010000011000000000
+00100000011000000000000000000000
+01000100110001101100000000010001
+01101000000000001100000011001110
+01111001001000000111111000000101
+01100000000100001000100101010010
+01101000000110001000100101010000
+00011000010000010000010000000111
+00011111111010011111111000000000
+10011000010000011111111000000000
+01100000000100001000100101010000
+01101000000100001000100101010001
+01111001001111111111111000000000
+01100000000100001000100101010001
+01101000000100001000100101010010
+01111001001111111111111000000101
+01100000000100001000100101010010
+00100000011000000000000000000000
+01000100110001110100000000010001
+01101000000100010000100110000001
+00011111111100011111111000000000
+00011111111010010111111000000000
+00011111111001100111111000000000
+00011111111000010111111011111111
+00011111111001101111110000001010
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100100111111000000000
+00011000000001110000010000000000
+10011000010000011111111000000000
+01100000000000001000000000011000
+00100000011000000000000000000000
+01110000100000000100001000000110
+01101000000100001000100101101011
+01111001001111111111111000000100
+01111001001111111111111000000101
+01100000000100001000100101101011
+01110000100010010000010100000000
+01110000100010010000010000000000
+01110000100010010000010001110000
+01110000100010010000010111111111
+01101000000100001000100101101011
+01111001001000000111111000000100
+01111001001000000111111000000101
+01100000000100001000100101101011
+00100000010000000010100111101001
+01101000000100001000100101101000
+01111001001000000111111000000111
+01100000000100001000100101101000
+01111001001111111111111000000111
+01100000000100001000100101101000
+01111001001000000111111000000111
+01100000000100001000100101101000
+01110000100000000100001000000101
+00100000000000000000000000000001
+01110000100000000100001000000100
+01101000000100001000100101101011
+00011111111000010111111011001111
+01100000000100001000100101101011
+00011111111000011111111000110000
+01100000000100001000100101101011
+00100000011000000000000000000000
+01011000000000000000111100001111
+00100000001000000010110000011000
+01011000000000000000100000001111
+00100000001000000010110000011000
+01000100110001111100000000010001
+00100000010000000010100100100100
+01111000010100000111110000000000
+01111000001100001111110000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110010000100000000010010
+01101000000000001000000001001100
+00101111111011111111111000000010
+01111001001000001111111000000000
+01100000000100001000000000010001
+11011000110000000000000001100010
+11101000110001001000000000000000
+10011000000000000110010000000000
+11101000110000111000000000000000
+10011000000000000110011000000000
+01101000000000001000000001010100
+00011111111000001110100111111111
+01111000001011010111110000000000
+00100000011000000000000000000000
+00011011010000100111111000000000
+01100000000000110000000010011010
+01111000010001101111110000000000
+00100100001011000010100011111001
+11011101001000000000001110111011
+00011101000000001101000000000001
+00011101000000010101000111111100
+00100000011000000000000000000000
+01111000001001101111110000000000
+00110111110010111000010000000000
+00100000001011000010100111111111
+00101101000000000000010000000010
+00100100001000001010101000001000
+00100000001000000010100111111111
+01000100110010001100000000010010
+11011001011000000000011000000000
+01111000001001101111110000000000
+00110100011100110000010000000000
+01111000010001101111110000000000
+00100100001011000010100011111001
+00100000011000000000000000000000
+01000100110010010100000000010010
+01111000001001101111110000000000
+00110111110000011000010000000000
+01111000010001101111110000000000
+00100100001011000010100011111001
+11011101001000000000001110111011
+00011101000000010101000111111100
+00100000011000000000000000000000
+01000100110010011100000000010010
+10011000000000000010001000000000
+00011100001000100111111000000000
+10011000010000001001011000000000
+00011001011000100111111000000000
+01100000000000100100000011001010
+00011010001000100111111000000000
+00100000011000000000000000000000
+00011111111000100000010000000000
+01000100110010100100000000010010
+00011000010000100111111000000000
+00100000010000000111111101010000
+00011100001100000111111000000000
+01111001001000000111111000101100
+00100000010000000111111100111001
+01111001001111111111111000101100
+00100000010000000010101001110111
+00100000010000000111111100111001
+00100000011101000000000000000000
+00100000010000000111111101000011
+10011000000000000011011000000000
+00110111110000011000001000000000
+00100000011000000000000000000000
+01000100110010101100000000010010
+00100000001110000010101000111000
+00110101001100110000001000000000
+00011101000000100000010000000000
+00100000001000000010101000111011
+00100000001101110010101000111010
+00110100011100110000001000000000
+00011100010000100000010000000000
+00100000001101000010101001000111
+00101000010000000000011000000001
+00100100001000001010101000110011
+01000100110010110100000000010010
+01101000000000001000000000110000
+11000100000000000000000000000000
+01101000000000100100000011001010
+10011000010001100111111000000000
+00100100011000010000000000000000
+00011111111001100111110011111111
+00100000001000010010101000110011
+00100000011000000000000000000000
+00101000010000000000011000000011
+00100100001000001010101000110011
+00100000001000000010101000111110
+01000100110010111100000000010010
+11011001011000000000011000000000
+00100000001000000010101000110011
+01111000010101000111110000000000
+00100000001000000010101001001010
+01111000001101000111110000000000
+00100000001000000010101001001010
+01000100110011000100000000010011
+00100000010000000010100111110001
+01111000010100001111110000000000
+01111000001100000111110000000000
+00100000011000000000000000000000
+01000100110011001100000000010011
+11011001011000000000111001000011
+00110100011100110000001000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110011010100000000010011
+11011001011000000000110100000000
+00110100011100110000001000000000
+00100000011000000000000000000000
+01000100110011011100000000010011
+11011001011000000000111001000011
+00110101001100110000001000000000
+01111000001010110111110000000000
+00100000011000000000000000000000
+01000100110011100100000000010011
+01010001001000000111111000000000
+01111000001011101111110000000000
+01111001001000000010101000000000
+00001000000000001000011001001000
+01111000010011101111110000000000
+00100000011000000000000000000000
+00011100101000100000010000000000
+00011000010000011000010001100000
+00011000010000100001110000000000
+00100000011000000000000000000000
+01000100110011101100000000010011
+01101000000000001100000010010000
+00011111111000001111111000000001
+11000000100000111010101001110100
+00011000000000000111111000000001
+01100000000000001100000010010000
+10011000000000000000100000000000
+00100000011000000000000000000000
+00011011001000100000010000000000
+00100000011101001000000000000000
+00011011010000100000010000000000
+00100000011000000000000000000000
+00011100010000100111111000000000
+00100000011101001000000000000000
+00011101000000100111111000000000
+00100000011000000000000000000000
+01000100110011110100000000010011
+01101000000010100000000001001101
+00100000010000000010101001111011
+10011000010001100001011000000000
+00011001011000100111111000000000
+01101000000010010000000001010001
+00011000010000111000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+01000100110011111100000000010011
+00100000010000000010101001111011
+01100000000000100000000001001101
+00100000011000000000000000000000
+01000100110100000100000000010100
+00100000001000000010101010001100
+00100000001000000010101010001110
+00100000011110100000000000000000
+00011111111000110111111000000000
+00011111111000001111111111111101
+00011111111000001111111111111111
+00100100001000101010101010010010
+00011000000000000111111000000000
+00100000011000000000000000000000
+11011111001000000000000000010000
+11011000101000000000000000000000
+00100000010000000111111011000110
+11011000101000000000010000111111
+11011111001000000000000000001010
+00100000010000000111111011000110
+01110000000010011011001000000000
+01110000000010101001100100000000
+01110000000001001000110000000000
+01110000000000010111111100000000
+01110000000001001101000100000000
+01000100110100001100000000010100
+01110000000000010110110100000000
+01110000000000010101000100000000
+01110000000000010101110000000000
+01011000100111101000101100110011
+01100000000000011100000010100111
+01011000000000000000000101010011
+01100000000000010000000010000011
+01110000000000001000010100011110
+01110000000000001000011000000001
+01110000000000001000100000000111
+01011000000100101110100100000100
+01100000000000011000000010000000
+01110000000000001001000001100000
+01110000010000001101000000000101
+01110000000000000001010000000010
+01101000000000001100011001011010
+00100100010110100111010011000001
+01101000000000001100010010111110
+00100100010110100111010100011000
+01000100110100010100000000010100
+00100000011101011000000000000000
+01011000000000000000000000000000
+01100000000000010100000111011100
+00011100010000110111111000000000
+01100000000000100100000010010100
+00100000011000000000000000000000
+01011000000000001110111000100001
+01100000000100010000000001010000
+01101000000100100000000100011100
+01100000000000100000101010111110
+01101000000100001000000100111110
+01100000000000001000101010111101
+11000011000000011110010001011011
+01111000001101011111110000000000
+11000011000000111010101011001100
+01111000010101011111110000000000
+00011100111000100111111000000000
+00100100001110100010101011001100
+01101000000100001000000100111011
+11000010100000010010101011001100
+11011000010111111111111111111111
+00100000001000000010101100111100
+01101000000100011000000100111100
+01100000000100011000000001001100
+11101000110000001000000000000000
+00011111111000011111111011101111
+11100000101000001000000000000000
+00100000010000000010110000100011
+01101000000100001000000001001111
+01111001001000000111111000000100
+01100000000100001000000001001111
+00100000010000000010110000100011
+00100000010101011010101011011111
+01101000000100001000000001001110
+01111001001111111111111000000011
+01100000000100001000000001001110
+00100000010000000010110000100011
+00100100001101011110010001011011
+11000110100101011000000000000000
+01110000100000000000011000001000
+00100000011000000000000000000000
+01101000000000001100000110011000
+01100000000100001000000010000110
+01101000000000011100000110001101
+01100000000100011000000010000000
+01101000000000100100000110000001
+01100000000100100000000001110100
+01101000000000100100000101111101
+01100000000100100000000001110000
+01101000000001000100000110000101
+01100000000101000000000001111000
+01101000000001000100000110010000
+10011000000000000000000000000000
+01101000000101000000000101000000
+01100000000001000000000010100001
+00100000010000000110010011001010
+00100000011000000000000000000000
+00011000000000100111111000000000
+01100000000001000100000110010000
+01101000000101000000000001110000
+01100000000001000100000101111101
+11101000110001000000000000000000
+11100000101001000000000000000000
+01101000000100011000000010000000
+01100000000000011100000110001101
+01101000000100001000000010000110
+01100000000000001100000110011000
+00100000001000000010110000101001
+01101000000100001000000001100011
+00100100001110100010101100000000
+01101000000000011100000101101111
+00100100011110100000000000000000
+01110000100000000110001111000000
+01110000100000000000011010000000
+01101000000100001000000100101101
+11000100000000001000000000000000
+01101000000100011000000101001001
+01100000000000011100000101101111
+00100000011000000000000000000000
+01000100110100011100000000010100
+00011011010000100111111000000000
+00100000010000000111111100110111
+01101000000010100100000101011111
+00011000010001100111110011111111
+00100000011000010000000000000000
+00011111111011010111111000000000
+00011111111100100111111000000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+11011000010000000000000011001000
+00100000010000000111111110010001
+01100000000000001000000010011001
+00100100001101000010101100010101
+00011111111001100111111000000000
+01101000000010011100000101101111
+10011000010000001111111000000000
+01100000000000011100000101101111
+01011000000000000000000000000000
+01100000000000100100000101011111
+00100000011000000000000000000000
+01101000000000001100000101110111
+01111001001000000111111000000010
+01100000000000001100000101110111
+00100000001000000010101100100011
+11011000010111111111111111111111
+01101000000000001100000101110110
+01111001001111111111111000000111
+01100000000000001100000101110110
+01000100110100100100000000010100
+00100000010000000010110000101001
+01101000000000001100000101010111
+01100000000000001100000101111100
+01101000000000001100000101111010
+01111001001000000111111000000111
+01100000000000001100000101111010
+01000100110100101100000000010100
+00100000010000000010100111100111
+01101000000000100100000101011111
+10011000010000001111111000000000
+01100000000000100100000101011111
+00100000010000000010101011101111
+01101000000000101100000101111000
+01100000000100100000000001001100
+00011111111011110010001000000000
+00110111110110011000001000000000
+00011011001000100111111000000000
+01100000000000110100000101100011
+01110000100000000000010100000010
+00110111110110011000001000000000
+00110111110110011000001000000000
+00011010001000100111111000000000
+01100000000100001000000001001111
+01110000100000000000010100000010
+00110111110110011000001000000000
+00110111110110011000001000000000
+01100000000110100000000001001100
+01110000100000000000010100010000
+00110111110111111000001000000000
+01000100110100110100000000010100
+01011000000000000000000000000000
+00011100111000100111110000000000
+00100000001000101010101101001100
+01101000000100001000000100111100
+01101000000110001000000100111101
+10011000010001100111110000000000
+00100000001000010010101101001010
+00011000010000100111111000000000
+10011100111001100111111000000000
+00011111111000001111111000000001
+00011111111000001111111000001000
+00110111110110011000001000000000
+10011110001000001111111000000000
+01101000000010100100000101011011
+10011000010000001111111000000000
+01101000000010011100000101101111
+10011000010011111111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00011111111000001111111001101110
+11011000010000000000111010100110
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100000111111000000000
+00011000000001110000010000000000
+10011000010000011111111000000000
+01101000000010110100000101100011
+00100000010000000111111100101100
+00011000010000100011001000000000
+01101000000000110100000001001000
+00100000010000000010100001010100
+00011011010000100111111000000000
+01100000000000110000101010011010
+00011100111000100111111000000000
+11100000101000001000000000000000
+01101000000100001000000100011101
+00011111111000011111111011110000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000100110100111100000000010100
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000011110100000000000000000
+01101000000000001100000010010001
+00100000011110100000000000000000
+01101000000000001100011001011010
+00100000001110100010101101110100
+01101000000000001100010110110001
+00100000011110100000000000000000
+01101000000000001100010011000000
+00100100011110100000000000000000
+00100000010000000010110000111010
+00100100011110100000000000000000
+01101000000000001100000001000000
+00101111111000000000111000000011
+00100100001000001010101110011101
+01101000000000010100000001000010
+00100000011110100000000000000000
+00100000011101011000000000000000
+01000100110101000100000000010101
+01101000000010001000000010100000
+01101000000000010100000001000010
+10011000010011111111111000000000
+00011000010100011000010000000000
+00011000010010110000010000000000
+10011000010001100111111000000000
+01101000000010100100000001000100
+10011000010000001111111000000000
+01101000000010001100000101010110
+10011000010001100111111000000000
+00011111111100000110000000000000
+01000100110101001100000000010101
+01101000000000010100000001001110
+00011111111000110111111000000000
+00100000010000000111111101010000
+00011110000000100111111000000000
+00100000010000000111111100111001
+00011011010000100000010000000000
+00100000010000000111111100110111
+00100000011101000000000000000000
+00100000010000000111111101001001
+01000100110101010100000000010101
+01101000000000001100000101111000
+10011000010001100111110000000000
+00100000001000010010101100011000
+01100000000010100100000101011011
+00100000010000000011001100101000
+00100000010000000101001011111011
+01101000000010100100000101011011
+00100000001000000010101100101010
+01000100110101011100000000010101
+01101000000000001100000001000000
+11000011100000000000000000000000
+11000011100000011000000000000000
+01101000000000001100011001011010
+00100000001110100010101110100101
+01101000000000001100010110110001
+00100000011110100000000000000000
+01000100110101100100000000010101
+01101000000000001100001101101110
+00100100001110100010101110101010
+01101000000000001100000010010011
+00100000011110100000000000000000
+01101000000000010100000101010100
+00100000011110100000000000000000
+01101000000010001100000101010110
+10011000010001100111111000000000
+11011000010000000001110101001100
+10011000010011111111111000000000
+00100000001000000010101110010011
+01000100110101101100000000010101
+01111000010101011111110000000000
+01101000000000001000000000110000
+11000100000000001000000000000000
+00100100001101101010101111010000
+00100000010000000010101111001011
+01101000000000010100000011000001
+01100000000000010000000000111110
+01101000000000001000000001000111
+11000010100000011010101111011110
+11000101100001101010101111011110
+00100000010000000101001001110100
+00100100001110100010101111011110
+01101000000000001100010101011100
+11000010100000001010101111011110
+01110000000000001010000000000000
+11000101100001101010101111011110
+01101000000000001100000101110100
+00100000001110100010101111100010
+00011111111000001111111111111111
+01100000000000001100000101110100
+00100000011000000000000000000000
+11011000111000000000000000000001
+00100000001000000110000011001101
+11011000111000000000000000000001
+00100000001000000110000011010001
+01110000010000010101100100000000
+01101000000000011100000101101001
+00011111111000001111111000000001
+01100000000000011100000101101001
+00100000011000000000000000000000
+01000100110101110100000000010101
+01101000000010010100000011000001
+00011000010000110000010000000000
+01101000000000010000000000111110
+10011000010000001111111000000000
+01100000000000010000000000111110
+01110000000000001010000000000000
+01101000000000011100000101101100
+00011111111000001111111000000001
+01100000000000011100000101101100
+01101000000000001100000101011001
+00011111111000001111111000000001
+01100000000000001100000101011001
+00100000011000000000000000000000
+01110000000000001010000000000000
+01101000000000001100000101110011
+01100000000000001100000101110100
+00100000011000000000000000000000
+01101000000010001100000101110010
+01100000000010001000000010100000
+00100000011000000000000000000000
+01000100110101111100000000010101
+01101000000000001100000101111000
+00100100011110100000000000000000
+01110000100000000100001000000110
+01011000000000000000111100001100
+00100000010000000010110000011000
+01011000000000110000110101000000
+00100000010000000010101010001111
+00110111110110011000001000000000
+00011110001000100110000000000000
+00100000010000000010100111100111
+01110000100000000100001000000100
+00100000000000000000000000001010
+00110111110110011000001000000000
+00011110001000100111111000000000
+10011110000001100111111000000000
+00011111111000001111111000110000
+11011000010000000000000011111111
+00100000010000000111111110010001
+01100000000000001100000101111000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+01101000000000001100000101111000
+00100100011110100000000000000000
+01110000100000000100010011111111
+01110000100000000100001000000110
+00100000010000000010100111100111
+01011000000000000000001111101000
+10011110001000001110000000000000
+00000111111000000000000000000000
+00011110001000100111111000000000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+00100000000000000010111011100000
+10011110000001100111111000000000
+00011111111000001111111000110000
+11011000010000000000000011111111
+00100000010000000111111110010001
+01100000000000001100000101111000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+11011000101000000000111111111111
+10011000101000010000101000000000
+01101000000000001100000101110101
+00011111111000010111111011110000
+00011111111011010111111000000000
+10011000101000011111111000000000
+01100000000100010000000001001100
+11101000110000010000000000000000
+11100000101000010000000000000000
+01011000000000000000000000000001
+00100000001000000010110000100100
+01011000000000000000000000000010
+00110111110110011000001000000000
+01100000000100001000000000000101
+00110111110110011000001000000000
+00110111110110011000001000000000
+00100000011000000000000000000000
+01000100110110000100000000010110
+01101000000000100000000010100001
+01100000000100100000000001001100
+01011000000000000000000000000100
+00100000010000000010110000100100
+01101000000000100000000010100101
+01100000000100100000000001001100
+01011000000000000000000000001000
+00100000001000000010110000100100
+01101000000000010100000101010010
+11111001001000000111111000000000
+01100000000000010100000101010010
+00100000011000000000000000000000
+01101000000000010100000101010010
+11111001001111111111111000000000
+01100000000000010100000101010010
+00100000011000000000000000000000
+01000100110110001100000000010110
+00100000010000000011001100100110
+01101000000000010100000101010010
+00011111111000100010001000000000
+01101000000000001000000001001100
+00101111111011111111111000000110
+01111001001000001010001000001011
+01101000000000001000000001111000
+01101000000010001000000001111100
+10011000010000001111111000000000
+01101000000010001000000001001000
+10011000010000001111111000000000
+01111101001110100010001000001010
+01101000000000001100010011111111
+01111101001110100010001000000001
+01101000000000010000001001011101
+01101000000010010000001001011111
+10011000010000001111111000000000
+01111101001110100010001000001101
+01101000000001000100011001101000
+01111101001110100010001000001111
+01101000000001000100011001110000
+01111101001110100010001000001110
+01101000000000001100000111001110
+01111101001110100010001000001000
+01101000000000001100000010010010
+00101111111000011111111000001010
+00100000010000001010110001011011
+01011111111111111111111111111000
+10011010001000010010001000000000
+00011010001000100111111000000000
+01100000000000010100000101010010
+00100000011000000000000000000000
+01101000000100010000000100010010
+01111101001110100010001000000110
+01101000000100010000000100001110
+01111101001110100010001000000101
+00100000011000000000000000000000
+01101000000100100000000100111000
+01111001001111111111111000011011
+01100000000100100000000001001100
+00100000010000000010110000100001
+00100000001000000010101010001100
+01101000000100100000000100111100
+01111001001111111111111000010100
+01100000000100100000000001001100
+00100000001000000010110000100011
+01101000000000010100000101010000
+11000010100000000010101010001100
+00100000011000000000000000000000
+01101000000000010100000101010000
+11000010100000001010101010001100
+00100000011000000000000000000000
+01101000000000010100000101010000
+11000010100000010010101010001100
+00100000011000000000000000000000
+01000100110110010100000000010110
+00100000010000000010110001111010
+00011010011000001010010011001101
+11101010010000001000000000000000
+11000001000000000000000000000000
+11000000000000001010110100000110
+11000000000000010010110001111111
+00100000011000000000000000000000
+01101000000010010100001001000001
+00011000010000100010011000000000
+00100000011000000000000000000000
+00100000010000000010111100111101
+00100000001000000011000001111101
+00100000010000000011000010000100
+00100000010000000011000001011010
+00100000010000000011000001011110
+00100000001000000011000010100010
+00100000010000000011001000110001
+01011000000000000000000001001110
+00100000010000000011001000101111
+00100000010000000011001010111010
+00011010011000001010001010010010
+11101010001000100000000000000000
+00100000001000000011001000101100
+00100000010000000010110001111010
+00011010011000001010010010010001
+11101010010010001000000000000000
+00100000010000000010110010010000
+00011010011000001000101010010001
+00100000001000000010111001010110
+00100000010000000010110010010100
+00011000010000001000010000000001
+00011000010000010000010000000011
+00100000011000000000000000000000
+00011010011000001010010010101110
+11101010010000001000000000000000
+00011111111000010111111000000011
+00011111111011111010001000000100
+00011010011000001111111010010111
+10011010001000001111111000000000
+10011000010000001000110000000000
+11101000110000001000000000000000
+00100000001000000011001000101111
+00100000010000000011001001101100
+00100000010000000110011001101010
+01011000000000000000011111100010
+11011010001000000000101010100010
+11011000010000000000000000000100
+00100000010000000110011010110011
+00100000010000000110011001101101
+01101000000000100000101010100010
+00100000010000000011001000100111
+00100100011110100000000000000000
+01101000000000100100000010100000
+00100000001000000011001000100111
+00100000010000000011001001000001
+01011000000000000000000000000000
+00100000010000000011001000111111
+00100000010000000011001000111010
+00011111111000010111111000000111
+00100000001000000011001000111100
+00100000010000000011001000111010
+01111001001000000111111000000100
+00100000010000000011001000111100
+00100000001000000011001000110101
+00100000010000000011001001011101
+11000000000000001010110010110111
+11000000000000010010110010111100
+00100000011000000000000000000000
+00100000010000000011001000111110
+00011010011000001000101011010001
+00100000010000000011001011010110
+00100000010000000011001001000010
+00100000001000000010110010101100
+00100000010000000011001001011010
+00100000001000000010110010111000
+00011010011000001010001010001100
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101010001100
+11100000101000001000000000000000
+11000000000100000010110111010010
+00100000010000000011001001011000
+11000000000000001010110011001010
+01011000000000000000000000000001
+00100000010000000011001001011011
+00100000010000000011001001011000
+11000000100000001010110010101100
+00011010011000001010001011010011
+11101010001000001000000000000000
+00011111111000001111111000000001
+00100000010000000010110011010101
+11000000000000100010110011010010
+00100000010000000010110010001010
+00100000010000000010110100000100
+00100000001000000010110110001111
+00100000010000000010110011010100
+00100000001000000010110010101100
+01011000000000000000000000000000
+00011010011000001000101011010011
+00100000001000000011001010110100
+00100000010000000011001000111110
+00100000010000000011001001011010
+00100000010000000011001001000001
+00100000001000000010110010101100
+00100000010000000011001001011101
+11000000000000011010110011011000
+00100000010000000011001000111010
+00101111111011000000000000000100
+00100000001000001010110010101001
+00100000010000000011001001011101
+11000000000000001010110011010111
+11000000000000010010110011011000
+00100000011000000000000000000000
+00100000010000000011001001010011
+11000001111111111000000000000000
+00100000010000000010110011101001
+00100100010101100010110011110100
+00100000011000000000000000000000
+01111000010101100111110000000000
+00011010011000001010001011001110
+11101010001000001000000000000000
+11000001100000001000000000000000
+00011010011000001010001011010000
+11101010001000001000000000000000
+11000001100000000000000000000000
+01011000000000000000000000000001
+00100000010000000010110011111101
+00100000010000000011001000110111
+00100000001000000111111111101011
+00011010011000001010001011010000
+11101010001000001000000000000000
+00100000001110100010110011111111
+00011111111000001111111111111111
+00100000010000000011001000111111
+01011000000000000000000000000010
+00100000010000000010110011111101
+00100000010000000010110010001010
+00100000001000000011001000110111
+00011010011000001000101011010010
+00100000001000000011001010110100
+01011000000000000000000000000011
+00100000010000000010110011111101
+00100000010000000011001001011000
+00100100001110100010110011001000
+00100000010000000010110010001010
+01011000000000000000000000000010
+00100000001000000011001000111000
+11000110100100110000000000000000
+01111001001000000000000000100111
+01000100110110011100000000010110
+00011010011000001010001010001110
+11101010001000001000000000000000
+11000000000000001010110100001111
+00100000010000000011000001101010
+00100100001101000010110100010110
+00100000010000000010110100011011
+00011010011000001000101010001110
+00100000010000000011001011010110
+00100000010000000010110100101100
+00100100001101000010110101111101
+00100000010000000010110011100100
+00100000010000000010110110001111
+00100000010000000010111001111010
+01111001001111111000000000100111
+00100000011000000000000000000000
+00100000011000101000000000000000
+01111001001000000111111000011100
+00100000011000000000000000000000
+00011010011000001010001011000010
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101011000010
+11100000101000001000000000000000
+11000000000000100010110100100011
+11000000000000101010110100100111
+00100000011000000000000000000000
+00011010011000001010001010101101
+11101010001000001000000000000000
+00011010011000001000101010101011
+00100000001000000011001010110100
+00011010011000001000101011000010
+00100000010000000011001011010110
+00011010011000001010001010101100
+11101010001000001000000000000000
+00100000001000000010110100100101
+00100000010000000011001001010011
+11000000111111111010111010110001
+01000100110110100100000000010110
+00100000010000000010110100111010
+00100100001101000010110100110110
+00100000010000000010110101010011
+00100000010000000010111001110001
+01011000000000000000000000000001
+00011010011000001000101010001011
+00100000001000000011001010110100
+00011010011000001010001010001011
+11101010001000001000000000000000
+11000000000000001111111111100111
+00100000011000000000000000000000
+00011010011000001000010011011000
+11101000010000010000000000000000
+00100000010000000111111110011100
+00100100011101000000000000000000
+00011010001000100111111000000000
+01100000000000001000101010101110
+00011010011000001000101010110010
+00100000010000000011001011010110
+00100000010000000010110010101100
+01100000000000001001000110011110
+01101000000000001000101010101110
+00011111111000100010001000000000
+00011010001000001000010000000001
+11011000101000000001000110011111
+00011010001000100111001000000000
+00011010010000100000110000000000
+00100000010000000111111100000001
+11011010001000000001000110011110
+11000110100100111000000000000000
+00011010011000001000101010000110
+11100000101010001000000000000000
+00011000010000100111001000000000
+00011010011000001000101000100010
+00011010001000100000110000000000
+00100000001000000111111100000001
+00011010011000001010001010000110
+11101010001000001000000000000000
+00011111111000001111111000000010
+00011010011000001000101010001000
+11100000101000001000000000000000
+00100000010000000011001000111010
+00100000010000000011001000110101
+00011010011000001010001010000110
+11101010001000001000000000000000
+00011111111010011111111000000000
+00011010011000001010001010000101
+11101010001010001000000000000000
+00011000010000010000010000000011
+00011000010000111000010000000000
+10011000010000011111111000000000
+00011010011000001010001011000011
+11101010001010001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010011000001010001010000110
+11101010001000001000000000000000
+10011000000000000111001000000000
+00011010011000001000110000100010
+00100000001000000111111100000001
+00100000010000000011001001001111
+00100000010000000011001001011010
+00100000010000000010111001101101
+00100000010000000010110010101100
+01100000000000001001000110011110
+00100000010000000010110101110111
+00100000010000000011001000111010
+01111001001000000111111000000011
+00100000010000000011001000111100
+00100000010000000010110101010011
+00100000010000000010110100110011
+00100000001000000010110100010100
+01100000000000001001000110011111
+00100000010000000011001000100100
+01100000000000100001000110100000
+11011000010000000000000000000110
+11011010001000000001000110011110
+00100000001000000010110101001100
+00011010011000001010001010110010
+11101010001000001000000000000000
+00100000001110100010110101101011
+00011010011000001010001011011010
+11101010001000010000000000000000
+00100000001000000111111110011100
+00100000010000000010110001111010
+00100000010000000010101011111010
+01101000000000011100000101101111
+00100000011110100000000000000000
+00011010011000001000010011011100
+11101000010000010000000000000000
+00100000010000000111111110011100
+00011010011000001000010010110110
+11101000010001000000000000000000
+00100000010000000111111101001001
+01100000000010100100000101011011
+00100000001000000010101100101010
+00100000010000000010110001111010
+00011010011000001000101010001111
+00100000010000000011001011010110
+00100000010000000010110110100100
+00100100001011000010110110101110
+00100100001101111010110110101110
+00100000010000000010110111010110
+00100000010000000010111001110101
+00100000010000000010110001111010
+00011010011000001010001010000101
+11101010001000001000000000000000
+00011111111000001111111000000001
+00100000010000000011001000110010
+00100000010000000011001001010011
+11000000111111111010111011010000
+00100000010000000010110011011011
+01011000000000000000000000000000
+00011010011000001000101010001100
+11100000101000010000000000000000
+01011000000000000000000000000000
+00100000001000000010110100110100
+01111000010101111111110000000000
+00100000010000000010110111110111
+00100000010000000010110001111010
+00011010011000001010001011000011
+11101010001000001000000000000000
+11000000000000001010110110101100
+00100000010000000010111000010001
+00100000001000000010111001000101
+00100000010000000010111001000101
+00100000001000000010110110010111
+01000100110110101100000000010110
+00011010011000001010001010001101
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101010001101
+11100000101000001000000000000000
+00100000010000000011001001010011
+11000000111111111010110111001100
+00011010011000001010001010001111
+11101010001010001000000000000000
+00011000010000001000010000000001
+00011010011000001000101010001111
+11100000101010001000000000000000
+00011010011000001010001011001100
+11101010001000001000000000000000
+10011000010001100111111000000000
+00100100001110100010110110010010
+01000100110110110100000000010110
+00100000010000000011001001011101
+11000000000000011010110010111110
+00011010011000001010001011010001
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101011010001
+11100000101000001000000000000000
+11000000000000010010110010110011
+00100000010000000010110010101111
+01011000000000000000000000000001
+00100000010000000011001000111000
+00100000001000000010110110001111
+00011010011000001010001010001101
+11101010001000001000000000000000
+11000001111111111000000000000000
+00011010011000001000101010001101
+00100000010000000011001011010110
+00100000001000000010110111010100
+00011010011000001000101010001100
+00100000010000000011001011010110
+01110000000010101001100100111010
+00100000001000000111110110000110
+00100000010000000010110111011110
+00011010011000001010001010000100
+11101010001000001000000000000000
+00100000011110100000000000000000
+10011000000000000111001000000000
+00011010011000001000110000000010
+00011010011000001000101001100100
+00100000001000000111111100000001
+00100000010000000011001001011111
+00011111111010010111111000000000
+00011010011000001000101010000100
+11100000101000001000000000000000
+00011111111000001111111000000001
+00011010011000001000110000000001
+10011000110000001000110000000000
+11101000110000011000000000000000
+00011010011000001000101011000100
+11100000101000011000000000000000
+00100000010000000011001001011111
+00011111111000110111111000000000
+00011111111000010111111000000011
+00011010011000001000101011001010
+11100000101000001000000000000000
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01011000010101010101010101010101
+10011000000000000001111000000000
+00100000011000000000000000000000
+00100000010000000010100100011000
+00011010011000001010001010010000
+11101010001010001000000000000000
+00100000001000000010100100110011
+00100000010000000010110111101110
+00100000010000000010110111110011
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00100000010000000101001111000100
+00100000010000000011001000101010
+10011000000000000001001000000000
+00001000000000001000011000100000
+01111000001001001111110000000000
+00011010011000001010001010001000
+11101010001000001000000000000000
+10011000000000000111001000000000
+00011010011000001000110001000010
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000010111000000110
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+01000100110110111100000000010110
+00100000000000000000000001100100
+01111000010011101111110000000000
+00100000011000000000000000000000
+01111000010101111111110000000000
+00011000000000000010101000000000
+00011010011000001010001010010000
+11101010001010001000000000000000
+00100000010000000010100100011111
+00100000010000000010100100100100
+00100000010000000010110111101110
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+00100000010000000101001111000100
+00100000010000000011001000101010
+10011000000000000001001000000000
+01111000001010000111110000000000
+00011010011000001010001010001001
+11101010001000010000000000000000
+10011000000000000011011000000000
+00110111110000011000010000000000
+00100100001011000010111001001101
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+00011010011000001000101000000000
+11100000101000001000000000000000
+00011010011000001010001011001101
+11101010001000001000000000000000
+11000000000000010010111000110011
+01000100110111000100000000010111
+00011010011000001010001000000000
+11101010001000001000000000000000
+00011010011000001010001010000111
+11101010001010001000000000000000
+10101000010000000000111000000000
+00100100001000001010111001000101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+00011111111010010111111000000000
+00011111111000010111001000011111
+00100000001000101010111000111101
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000010111000111001
+00001001100000000000000000011000
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+00100000001000110010111001000101
+01111000001101111111110000000000
+01111000010001101111110000000000
+00100000011000000000000000000000
+01111000010011101111110000000000
+01111000010001101111110000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+00100000001100001010100011111001
+00110111110100111000001000000000
+00100000000000000000000001100100
+00100000001000000010100011111001
+00100000010000000010111001001111
+00100000001000000010111001000101
+00100000010000000010100110111011
+00100000011110100000000000000000
+00011010011000001010001011101010
+11101010001010001000000000000000
+11011010001000000000110110011110
+00100000010000000010111001011000
+00011010011000001000101011101010
+11100000101010001000000000000000
+00100000011000000000000000000000
+11011010010000000000000011111111
+00100000001000000010111001011010
+00011010001000100111111000000000
+10011000010000001000101000000000
+01101000000000001000000000011000
+11100000101000001000000000000000
+00011000010000001000010000000001
+00011010010000100111111000000000
+10011000010000010000010000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+00011010001000100000110000000000
+11101000110000001000000000000000
+10011000010000001000010000000000
+11000010000000000010111001100100
+00011000010011001000010000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+00100000010000000010111010011111
+01011000000000000000000000000001
+00100000010000000011001001110010
+01011000000000000000000000000000
+00100000010000000010111001110011
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000011001001110000
+00011111111000001111111000000001
+00011010011000001000101011111100
+00100000001000000011001010110100
+00011010011000001010001011111101
+11101010001000001000000000000000
+00011111111000001111111000000001
+00011010011000001000101011111101
+00100000001000000011001010110100
+01000100110111001100000000010111
+00100000010000000011001001110000
+00011111111001100111110001111100
+00100000011000010000000000000000
+00011010011000001010001011111101
+11101010001010001000000000000000
+10011000010001100000010000000000
+00100000010000000010111001101101
+01011000000000000000000100000010
+10011010011000001010001000000000
+11101010001000001000000000000000
+10011000010001100111110000000000
+00100100001000010010111010001101
+01011000000000000000000100000011
+10011010011000001010001000000000
+11101010001000001000000000000000
+10011000010001100111110000000000
+00100000001000010010111010011001
+00100000011000000000000000000000
+00011010011000001010001011111110
+11101010001000001000000000000000
+11000000000000010010111010010011
+00011111111000001111111000000001
+00100000010000000011001001110010
+11000000000000001010111010011111
+01011000000000000000000000001010
+00100000010000000011001010110000
+01011000000000000000000000000000
+00100000010000000011001010110010
+00011010011000001010001011111111
+00100000001000000010111010100101
+00011010011000001010001011111110
+11101010001000001000000000000000
+11000000000000000010111010100111
+00011111111000001111111111111111
+00100000010000000011001001110010
+11000000000000000010111010100111
+01011000000000000000000000000101
+00100000010000000011001010110000
+01011000000000000000000000000000
+00100000010000000011001010110010
+01011000000000000000000100000000
+10011010011000001010001000000000
+11101010001000001000000000000000
+00100000001000000011001001101010
+01011000000000000000000000000010
+00100000010000000011001010110000
+01011000000000000000000000000000
+00100000010000000011001010110010
+01011000000000000000000100000001
+00100000001000000010111010100100
+01111001001000000000000000100110
+00100000010000000010110010000011
+01011000000000000000000000000001
+00100000001000000011001001010110
+00011010011000001010001010001011
+11101010001000001000000000000000
+11000000000000001111111111100111
+00100000010000000011001001010011
+11000000000000001010111010111001
+11000000000000010010111010111101
+11000000000000011010111011000001
+00100000001000000010101010001100
+01011000000000000000000000010001
+00100000010000000011001001010110
+01110000000100011001111010101010
+00100000001000000010111011000100
+01011000000000000000000000010010
+00100000010000000011001001010110
+01110000000100011001111001010101
+00100000001000000010111011000100
+01011000000000000000000000010011
+00100000010000000011001001010110
+01110000000100011001111000100010
+00100000010000000011001000111010
+00011111111000010111111000000111
+01100000000000001001000110011111
+00100000010000000011001000100100
+01100000000000100001000110100000
+01110000000100011010010000000000
+11011010001000000001000110011110
+11011000010000000000000000000111
+00100000010000000010110101001100
+00100000010000000010110101010011
+00100000010000000010110100110011
+00100000001000000111111111100111
+00100000010000000011001001010011
+11000001011111111000000000000000
+11000000000010001010111011010110
+11000000000010010010111011011001
+11000000000010011010111011011100
+00100000011000000000000000000000
+01011000000000000000000000000010
+00100000010000000011001001010110
+00100000001000000010110110011111
+01011000000000000000000000000011
+00100000010000000011001001010110
+00100000001000000010110110011111
+01011000000000000000000011111111
+00100000010000000011001001010110
+01110000000010101001100100111001
+00100000010000000111110110000110
+00011010011000001010001001100110
+11101010001000100000000000000000
+00100000010000000011001000101100
+00100000001000000010110110011111
+01111001001111111000000000100110
+00100000010000000010111100001000
+00100000010000000010111100100010
+00100000010000000011001001100011
+00100000000000000000011111010000
+00100000010000000011001001100001
+11000000011111111010110111010100
+00100000010000000010110110100100
+00100100001011000010111011111010
+00100100001101111010111011111010
+00100000010000000010110111010110
+00100000010000000010110001111010
+00011010011000001010001010010010
+11101010001010100000000000000000
+00100000010000000011000010111110
+00100000001000101010111010101101
+00100000010000000010110001111010
+00011010011000001010001001100110
+11101010001000100000000000000000
+11000000000000000010111011100111
+00100000010000000011001000101100
+00100000001000000010111100011100
+00100000010000000011001001100001
+00011111111000001111111000000001
+00100000010000000011001001100100
+00100000010000000010111100000100
+00011111111000001111111000000001
+00011111111000010111111000000001
+00100000010000000010111100000110
+11000000000000000010111100001100
+11000000000000001010111100001110
+00100000011000000000000000000000
+01011000000000000000000110001011
+00100000001000000011001011010000
+11011010001000000000000110001011
+00100000001000000011001010110011
+00100000010000000011001001100111
+00100000010000000011001000100100
+00100000010000000011001000101100
+00100000001000000010110010001010
+00100000010000000010111100001000
+00100000001000000010111011101000
+00100000010000000010110010000011
+00100000001000000010111011101000
+01111001001111111000000000100110
+00100000010000000010110010001010
+00100000010000000011001001010011
+11000001111111111000000000000000
+00100000010000000010111100100010
+00100000010000000011001001100011
+00100000000000000000011111010000
+00100000010000000011001001100001
+11000000011111111010110111010100
+00100000010000000010110110100100
+00100100001011000010111100100111
+00100100001101111010111100100111
+01111001001000000000000000100110
+00100000010000000011001001100011
+01011000000000000000000011111111
+00100000010000000011001001010110
+01110000000010101001100100111100
+00100000001000000111110110000110
+01111001001000000000000000100111
+01110000000100011001111011111111
+00100000010000000011001000111010
+00100000010000000010110101110111
+00100000001000000010110101010011
+00100000010000000011001001100001
+00011111111000001111111000000001
+00100000010000000011001001100100
+00100000010000000010110010001010
+00100000001000000010111100010110
+00100000010000000011001001100111
+01011000000000000000000011111111
+00100000010000000011001001010110
+00100000001000000010111100010000
+01000100110111010100000000010111
+00100000010000000010110001111010
+01011000000000000011000110110000
+00011010011000001000101011011110
+11100000101000010000000000000000
+00100000010000000010111100111101
+00100000010000000100100011101010
+00100000010000000011001010110110
+01000100110111011100000000010111
+11000000000000000011000001010101
+11000000000000001010111101000101
+11000000000001111010111101000001
+00100000001000000010101010001100
+00100000010000000011001001101100
+11011111001000000000000010000000
+11011000101000000000110110011110
+00100000001000000111111011000110
+00100000010000000010111101001100
+00100000010000000010111101001111
+00100000010000000100100011010011
+00100000001000000010111101000010
+01000100110111100100000000010111
+00100000010000000010111101001100
+00100000010000000010111101001111
+00100000010000000010111110111101
+00100000010000000100100011010011
+00100000010000000011000000011001
+00100000001000000010111101000111
+00100000010000000011001010010001
+00100000010000000011001010010110
+00100000001000000011001010011001
+00100000010000000011001010001111
+11000001100000000000000000000000
+00100000010000000010111101010101
+00100000010000000010111101100101
+00100000010000000011000101101011
+00100000001000000010111110010110
+00100000010000000011001010010100
+11000011100000000000000000000000
+01111001001000000111111000000000
+00100000010000000011001010010111
+00100000010000000011001001100111
+00100000010000000011001010011001
+01110000000011010011100000000000
+00100000010000000011001001001111
+00100000010000000010111101100001
+00011010011000001000101000000000
+11011111001000000000000001000010
+00100000001000000111111011010100
+00100000010000000011001000110001
+00100000010000000011001001111101
+00100000010000000011001000101100
+00100000001000000010110010001010
+01000100110111101100000000010111
+00100000010000000011001001001100
+11000000000000001010111110001101
+00100000010000000011001001000101
+11000000000000001010110010001010
+01011000000000000000000100110110
+10011010011000001010001000000000
+11101010001010100000000000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+01011000000000000000000100110110
+10011010011000001010001000000000
+11101010001000100000000000000000
+00011111111000100000010000000000
+01011000000000000000000100111010
+10011010011000001010001000000000
+00011000010000100111111000000000
+11101010001010001000000000000000
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+01011000000000000000000100110110
+10011010011000001000101000000000
+11100000101000100000000000000000
+00100000010000000010110010001010
+00100000010000000011001001111000
+00011111111000001111111000000001
+00100000010000000011001001111011
+11000001100000010000000000000000
+00100000010000000011001001111010
+00100000001000000011001001001111
+00011100010000100111111000000000
+11011010001000000000000100110110
+00100000010000000011001010111111
+11100000101000100000000000000000
+00100000001000000011001001111010
+11011010001000000000110110011110
+00100000010000000010111110010100
+00011010011000001000101011101011
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+00100000001000000010110010001010
+11011111001000000000000100000000
+00100000001000000010111001100010
+00100000010000000010111110011001
+00100000010000000010111110100101
+00100000001000000010111110110001
+01011000000000000000000110000000
+00100000010000000011001011010000
+00100000011110100000000000000000
+11011000111000000000000000001011
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010100111
+01011000000000000000000000000001
+01100000000000001000110101010100
+01011000000000000000000000000000
+11100000101000111000000000000000
+00100000001000000011000110111000
+01011000000000000000000101111110
+00100000010000000011001011010000
+00100000011110100000000000000000
+11011000111000000000000000001110
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010101010
+11011000101000000000110101100100
+11011111001000000000000000000010
+00100000010000000111111011000110
+01110000000011010110010000000000
+00100000001000000011000111101101
+01011000000000000000000101111111
+00100000010000000011001011010000
+00100000011110100000000000000000
+11011000111000000000000000001100
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010101101
+11011000101000000000110101110100
+11011111001000000000000000000010
+00100000010000000111111011000110
+01110000000011010111010000000011
+00100000001000000011001000000111
+00100000010000000011001010001111
+11000001100000001000000000000000
+00100000010000000010111111000001
+00100000001000000010111111001011
+00100000010000000011001010010100
+11000011100000001000000000000000
+01111001001000000111111000000001
+00100000010000000011001010010111
+00100000010000000011001010011100
+00100000010000000010110010000011
+01011000000000000000000000000000
+11011010001000000000000100000110
+00100000010000000011001010111111
+00100000001000000011001011000101
+00100000010000000011000101101110
+00100100001101111010111101011110
+00011010011000001000110000000000
+01011000000000000000000100001001
+10011010011000001000101000000000
+11011111001000000000000000001000
+00100000010000000111111100000001
+01011000000000000000000100001011
+00100000010000000011001011010000
+11000000010101010010111111011001
+11000000001010101010111111101101
+11000000000100010011000000000001
+11000000011111111011001000010010
+00100000001000000010111101011110
+00100000010000000011001010111101
+11000000000000001010111111011101
+11000000000000010010111111101000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000010000000010111111110111
+01011000000000000000000000000001
+00100000010000000011001010001001
+01011000000000000000000010000000
+11011010001000000000000100110000
+00100000010000000011001010110011
+00100000010000000011001001111101
+11011010001000000000000100110001
+00100000010000000011001010111111
+00100000001000000011001000101101
+01011000000000000000000000000001
+00100000010000000010111111111111
+01011000000000000000000000000010
+00100000010000000011001010001001
+00100000001000000010111111100001
+00100000010000000011001010111101
+11000000000000001010111111110001
+11000000000000010010111111111001
+00100000011000000000000000000000
+00100000010000000010111111011111
+01011000000000000000000100000110
+00100000010000000011001011010000
+11000000000000001010111111110110
+00100000011000000000000000000000
+01011000000000000000000000000010
+11011010001000000000000100000110
+00100000001000000011001010110011
+00100000010000000010111111101010
+01011000000000000000000100000111
+00100000010000000011001011010000
+11000000000000001010111111111110
+00100000011000000000000000000000
+01011000000000000000000000000010
+11011010001000000000000100000111
+00100000001000000011001010110011
+00100000010000000011001010111101
+11000000000000001011000000000101
+11000000000000010011000000010001
+00100000011000000000000000000000
+01011000000000000000000100000110
+00100000010000000011001011010000
+11000000000000010011000000001001
+00100000011000000000000000000000
+00100000010000000011001010001011
+00011111111000011111111000000001
+00100000010000000011001010001101
+01011000000000000000000000000000
+01011000000000000000000100000110
+10011010011000001000101000000000
+11100000101000010000000000000000
+00100000001000000010111101011110
+01011000000000000000000100000111
+00100000010000000011001011010000
+11000000100000000011000000010101
+00100000011000000000000000000000
+00100000010000000011001010001011
+00011111111000011111111000000010
+00100000010000000011001010001101
+00100000001000000011000000001100
+01101000000000001000110101010000
+00100000011110100000000000000000
+01110000000011010101000000000000
+01101000000000010000110101001110
+11011000010000000000001010111010
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000001000110010110110
+11000001110111010000000000000000
+01101000000000001000110010110111
+01000100110111110100000000010111
+11000000010100000011000000111011
+11000000010100001011000000101100
+11000000010100110011000001000001
+11000000010100111011000001000011
+11000000010101001011000001001001
+11000000010110000011000001001101
+01110000000011010100001000000000
+00100000011000000000000000000000
+01101000000000001000110010111000
+11000000000000001011000000110001
+11000000010000100011000000110100
+11000000010100111011000000111001
+00100000001000000011000000101010
+00100000010000000011001010001011
+01100000000000001000110011110111
+00100000001000000011000000111111
+00100000010000000011001010010001
+00100000010000000011001010010110
+00100000010000000011001010001011
+01100000000000001000110011110111
+00100000001000000011000000111111
+01110000000011001111011110100001
+00100000001000000011000000111111
+01101000000000001000110010111000
+11000000010000001011000000111110
+00100000001000000011000000101010
+00100000010000000011000010010000
+01110000000011010100001000000001
+00100000011000000000000000000000
+01110000000011001111011100010101
+00100000001000000011000000111111
+00100000010000000011001010001111
+11000000000000000011000001000111
+11000000000000001011000000111001
+00100000011000000000000000000000
+01110000000011001111011110100000
+00100000001000000011000000111111
+01110000000011001111011100000000
+01110000000011001111100000000000
+01110000000011001111100100000001
+00100000001000000011000000111111
+00100000010000000011001010011100
+01101000000000001000110010111000
+00011111111000001111111000000010
+00011111111000100111001000000000
+11011000110000000000110010110110
+01011000000000000000000100111100
+10011010011000001000101000000000
+00100000001000000111111100000001
+01000100110111111100000000010111
+00100000010000000011000001111101
+00100000010000000010110001111111
+00100000010000000100100011010011
+00100000001000000011000001010111
+00100000010000000011001010001111
+11000001100000000000000000000000
+00100000010000000010111101010001
+00100000001000000011000010011000
+00100000010000000011001010001111
+11000001100000001000000000000000
+00100000010000000010111111000001
+00100000010000000010111111001011
+00100000010000000011001010001011
+00100000011110100000000000000000
+00100000010000000011001010000110
+00100000010000000010111101001100
+00100000010000000011000010010011
+01011000000000000000000000000000
+00011010011000001000101010100111
+00100000001000000011001000101101
+00100000010000000111111111101001
+00011010011000001010001010100111
+11101010001010100000000000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010010110100011000
+00011111111000100010010000000000
+00011010011000001010001010100111
+11101010001000100000000000000000
+00011010011000001010001010101011
+11101010001010001000000000000000
+10011000010000001000010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01111001001111111111111000011100
+00011010011000001000101010100111
+11100000101000100000000000000000
+00100000001000000111111111100111
+01011000000000000000000000000001
+00100000010000000011001010000111
+00100000010000000011001010000011
+01011000000000000000000011111111
+00011010011000001000101010101011
+11100000101000001000000000000000
+00100000001000000011000001100111
+01011000000000000000000101011100
+00100000010000000011001011010000
+00100000011110100000000000000000
+00100000010000000011000001101010
+00100100011101000000000000000000
+00100000010000000011001010000001
+00011111111000001111111000000001
+00011111111000010111111000000001
+00100000010000000011001010000100
+11000000000000000010111101001100
+11000000000000001011000010010000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000010000000011001010010010
+00100000001000000011001010010110
+01011000000000000000000000000001
+00100000010000000011001010100101
+01011000000000000000001010000000
+11011000111000000000000000001000
+00100000001000000111111100001000
+00100000010000000011001010100010
+00100000011110100000000000000000
+11011000111000000000000000001000
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000011001010100100
+01011000000000000000000000000111
+00100000010000000011001010010010
+00100000010000000011001010010110
+00100000001000000010111101011110
+01000100111000000100000000011000
+00100000010000000011001010001111
+11000001100000111000000000000000
+00100000010000000011000011001011
+00100000010000000011000011100000
+00100000010000000011000101101110
+00100100001101111010111101011110
+00100000010000000011000010111100
+00100000010000101011000101110010
+00100000010000000010111101001100
+00100000010000000011001010010100
+01111001001000000111111000000000
+00100000010000000011001010010111
+00100000010000000010111101011110
+00100000010000000011000010010011
+00100000010000000011000010111100
+00100000001000101011000011000001
+01011000000000000000000101100100
+00100000010000000011001011010011
+00100000010000000011000010111110
+00100000001000101011000011000101
+01011000000000000000000101100000
+00100000010000000011001011010011
+00100000010000000011000010111110
+00100000001000101011000011001000
+00100000011000000000000000000000
+01011000000000000000000100101011
+00100000010000000011001011010011
+00100000010000000011001000101010
+10011000010001100111110000000000
+00100000011000000000000000000000
+01011000000000000000000110000010
+00100000010000000011001011010000
+00011010011000001000101010010001
+00100000001000000011001010110100
+01011000000000000000000110000101
+00100000010000000011001011010000
+00100000001000000011000011000011
+01011000000000000000000110001000
+00100000010000000011001011010000
+00100000001000000011000011000011
+00100000010000000011001010010100
+11000011100000111000000000000000
+01111001001000000111111000000111
+00100000010000000011001010010111
+00100000010000000011001010000011
+00100000010000000011001010011100
+01011000000000000000000000000000
+00011010011000001000101011110101
+11100000101000011000000000000000
+11011010001000000000000110000011
+00100000010000000011001010111111
+11100000101000111000000000000000
+00100000010000000011000010111100
+00100100011000101000000000000000
+00011010011000001010001010010001
+11101010001000001000000000000000
+11011010001000000000000110000010
+00100000010000000011001010110011
+00011010011000001010001010010000
+11101010001000001000000000000000
+00100000001000000011000101001010
+01000100111000001100000000011000
+00100000010000000011001010000001
+00011111111000001111111000000001
+00011111111000010111111000000011
+00100000010000000011001010000100
+11000000000000000011000100001110
+11000000000000001011000100110010
+11000000000000010011000011101010
+11000000000000011011000100110010
+00100000011000000000000000000000
+00100000010000000010111111011111
+01011000000000000000000101100000
+00100000010000000011001001111110
+00100000001110100011000011100000
+00100000010000000011001000101100
+01011000000000000000000110001001
+00100000010000000011001011010000
+00100000010110100011000100001000
+01011000000000000000000110000111
+00100000010000000011001011010000
+00100000010000000011001000101111
+00011010011000001010001011110111
+11101010001010001000000000000000
+11011010001000000000111110011110
+00100000010000000010111001011000
+00011010011000001000101011110111
+11100000101010001000000000000000
+00100000010000000010111110010100
+00011010011000001000101011111010
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+01011000000000000000000110001000
+00100000010000000011001001110101
+00100000010000000010110010010000
+11011010001000000000000110001000
+00100000010000000011001011001000
+11100000101010001000000000000000
+11011010001000000000000110000111
+00100000001000000011001010110011
+01011000000000000000000000000001
+11011010001000000000000110001001
+00100000010000000011001010110011
+11011000010000000000000000000000
+00100000010000000010110010010100
+00100000001000000011000100000110
+00100000010000000010111111101010
+01011000000000000000000101100100
+00100000010000000011001001111110
+00100000001110100011000011100000
+00100000010000000011001000101100
+01011000000000000000000110000110
+00100000010000000011001011010000
+00100000010110100011000100101100
+01011000000000000000000110000100
+00100000010000000011001011010000
+00100000010000000011001000101111
+00011010011000001010001011110110
+11101010001010001000000000000000
+11011010001000000001000010011110
+00100000010000000010111001011000
+00011010011000001000101011110110
+11100000101010001000000000000000
+00100000010000000010111110010100
+00011010011000001000101011111001
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+01011000000000000000000110000101
+00100000010000000011001001110101
+00100000010000000010110010010000
+11011010001000000000000110000101
+00100000010000000011001011001000
+11100000101010001000000000000000
+11011010001000000000000110000100
+00100000001000000011001010110011
+01011000000000000000000000000001
+11011010001000000000000110000110
+00100000010000000011001010110011
+11011000010000000000000000000000
+00100000010000000010110010010100
+00100000001000000011000100101010
+00100000010000000010111111011111
+00100000010000000011001001111101
+00100000010000000011001000101100
+01011000000000000000000110000011
+00100000010000000011001011010000
+00100000010110100011000101001100
+00100000010000000011000101001111
+00011010011000001010001011110101
+11101010001010001000000000000000
+11011010001000000000111010011110
+00100000010000000010111001011000
+00011010011000001000101011110101
+11100000101010001000000000000000
+00100000010000000010111110010100
+00011010011000001000101011111000
+11100000101010001000000000000000
+00011000010001100111110001010000
+00100100011000010000000000000000
+01011000000000000000000110000010
+00100000010000000011001001110101
+00100000010000000010110010010000
+11011010001000000000000110000010
+00100000010000000011001011001000
+11100000101010001000000000000000
+11011010001000000000000110000001
+00100000001000000011001010110011
+01011000000000000000000000000001
+11011010001000000000000110000011
+00100000010000000011001010110011
+01011000000000000000000110000001
+00100000010000000011001011010000
+00100000001000000011001000101111
+00011010011000001010001000000000
+11101010001000001000000000000000
+00100000010000000011001000111100
+00100000010000000010110111011110
+00100000010000000011001001011111
+00101111111011111111111000000000
+00100000001000001011000101011100
+00100000010000000011000101011101
+00100000010000000010110101010011
+00100000010000000010110111110111
+00100000001000000010111001000101
+01000100111000010100000000011000
+00011010011000001000101010000110
+00100000010000000011001011010110
+01011000000000000000000100111011
+00100000010000000011001011010000
+00100000011110100000000000000000
+01011000000000000000000000000110
+00011010011000001000101010000110
+11100000101000001000000000000000
+11011111001000000000000000000110
+01011000000000000000000100101111
+10011010011000001000110000000000
+00011010011000001000101000100010
+00100000001000000111111100000001
+00100000010000000011000101101110
+00100100001101111010111101011110
+00100000001000000011000101110010
+00100000010000000010111101011110
+00100000010000000010111000010001
+00100100011101111000000000000000
+00100000001000000011000101010010
+01000100111000011100000000011000
+00100000010000000011000110001000
+00100100001101000010111101011110
+00011010011000001010001010000100
+11101010001000001000000000000000
+00100000001110100010111101011110
+00011111111000001111111000000010
+10011000000000000111001000000000
+00011010011000001000110000000000
+01011000000000000000000100001001
+10011010011000001000101000000000
+00100000010000000111111100000001
+00100000010000000011001010000110
+00100000010000000011001010110110
+00100000010110100011000010010011
+01011000000000000000000100001011
+00100000010000000011001011010000
+11000000000000001011000110011110
+11000000000000010011000111000110
+11000000000000011011000111110010
+11000000011111111011001000010010
+00100000001000000010111101011110
+00100000010000000010110001111010
+00100000010000000111111111101001
+00011010011000001010001011001010
+11101010001000001000000000000000
+00011010011000001010001011001011
+11101010001010001000000000000000
+10011000010001100111110000000000
+00100100010000101111111111100111
+00011010011000001010001011001010
+11101010001000001000000000000000
+00011010011000001000101011001011
+11100000101000001000000000000000
+00011010011000001010001011000100
+11101010001000011000000000000000
+00011010011000001010001011000111
+11101010001010011000000000000000
+10011000010001100111110000000000
+00100100010000101111111111100111
+00011010011000001010001011000100
+11101010001000011000000000000000
+00011010011000001000101011000111
+00100000001000000011001011000101
+00100000010000000010111110001000
+00100000010000000011001001001100
+01100000000000001000101010100010
+00100000010000000011001001110100
+01101000000000001000101010100010
+00101000010011111111111000000011
+01111001001000001111111000000000
+00011010011000001000101010110010
+11100000101000001000000000000000
+11000000000000001011001000010110
+00100000010000000011001001000101
+00100000010000000011001001110100
+00101000010011111111111000000100
+01111001001000001111111000000000
+00100000010000000011001001001001
+00011010011000001010001011011110
+11101010001000010000000000000000
+00100000001000000111111110011100
+01011000000000000000000000000001
+01100000000000001000110101010100
+00100000010000000011001010011110
+11100000101000111000000000000000
+00100000010000000011001010011110
+00100100010110100011000110111101
+00100000010000000011001010011110
+00100000010110100011000111000010
+01110000000011010101001000100000
+01101000000000001000110100111000
+01111001001000000111111000000010
+01100000000000001000110100111000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000010000000011001010101000
+01011000000000000000000101000000
+11011000111000000000000000001011
+00100000001000000111111100001000
+00100000010000000011001010100111
+01011000000000000000000000000000
+11011000111000000000000000001011
+00100000001000000111111100001000
+00100000010000000011001001110100
+00101000010011111111111000000011
+00100000001000001011001000011011
+11011000101000000000110101100100
+00100000010000000011000111100000
+01101000000001000000110101100100
+00100100010110100011000111100100
+01101000000001000000110101100100
+00100000010110100011000111101001
+00100000010000000010110001111010
+01101000000001000000110101100100
+11011010001000000000000101101000
+00100000010000000011001010111111
+11100000101001000000000000000000
+01011000000000000000000101110000
+10011010011000001010001000000000
+11101010001011000000000000000000
+10011000010001100111110000000000
+00100100010000101011000111101101
+01011000000000000000000101101000
+10011010011000001010001000000000
+11101010001001000000000000000000
+11011010001000000000000101110000
+00100000010000000011001010111111
+11100000101001000000000000000000
+00100000001000000010111101011110
+01011000000000000000000100001011
+10011010011000001000110000000000
+11011111001000000000000000001001
+00100000001000000111111111110011
+01011000000000000000000000000001
+00100000010000000011001010101011
+01011000000000000000000101000000
+11011000111000000000000000001110
+00100000001000000111111100001000
+00100000010000000011001010101010
+01011000000000000000000000000000
+11011000111000000000000000001110
+00100000001000000111111100001000
+01110000000011010101000100010000
+01101000000000001000110100111000
+01111001001000000111111000000001
+01100000000000001000110100111000
+00100000011000000000000000000000
+11011000101000000000110101110100
+00100000010000000011000111100000
+01101000000000010000110101110101
+00100100010110100011001000001001
+01101000000000010000110101110101
+00100000010110100011001000001110
+00100000010000000010110001111010
+01101000000000011000110101110100
+11011010001000000000000101111000
+00100000010000000011001011000100
+01011000000000000000000101111011
+10011010011000001010001000000000
+11101010001010011000000000000000
+10011000010001100111110000000000
+00100100010000101011001000000111
+01011000000000000000000101111000
+10011010011000001010001000000000
+11101010001000011000000000000000
+11011010001000000000000101111011
+00100000010000000011001011000100
+00100000001000000010111101011110
+01110000000011010101001000100001
+00100000001000000011000110111001
+01011000000000000000000000000001
+00100000010000000011001010101110
+01011000000000000000000101000000
+11011000111000000000000000001100
+00100000001000000111111100001000
+00100000010000000011001010101101
+01011000000000000000000000000000
+11011000111000000000000000001100
+00100000001000000111111100001000
+00100000010000000011001010111101
+11000000000000001011001000010110
+11000000000000010011001000011011
+00100000011000000000000000000000
+01011000000000000000000100001101
+00100000010000000011001001111110
+11011010001000000000000101100000
+00100000010000000011001010111111
+00100000001000000011001000101101
+01011000000000000000000100001101
+00100000010000000011001001111110
+11011010001000000000000101100100
+00100000010000000011001010111111
+00100000001000000011001000101101
+00100000010000000010110001111010
+00011010011000001000101011001101
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+00011010011000001010001010111110
+00100000001000000011001001111111
+00100000010000000010110001111010
+00011010011000001000101010111110
+00100000001000000011001000101101
+00011010011000001010001010101110
+00100000001000000011001001111111
+00011010011000001000101010101110
+11100000101000100000000000000000
+00100000011000000000000000000000
+00011010011000001000101010010000
+00100000001000000011001010110100
+01011000000000000000000000000000
+00100000010000000010110001111010
+00011010011000001000101010000101
+00100000001000000011001010110100
+00011010011000001000101001000010
+00100000001000000011001010110100
+01011000000000000000000000000100
+00011010011000001000101011001100
+00100000001000000011001010110100
+00011010011000001010001010000111
+00100000001000000011001011010001
+00011010011000001000101010000111
+00100000001000000011001010110100
+01011000000000000000000000000010
+00011010011000001000101011010000
+00100000001000000011001010110100
+01011000000000000000000000000001
+00100000010000000010110001111010
+00011010011000001000101011001110
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001010110100
+00100000001000000011001011010001
+01011000000000000000000000000001
+00100000010000000010110001111010
+00011010011000001000101010110100
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001010110010
+00100000001000000011001011010001
+01011000000000000000000000000001
+00100000010000000010110001111010
+00011010011000001000101010110010
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001010010110
+00100000001000000011001011010001
+00011010011000001000101010010110
+00100000001000000011001010110100
+00011010011000001010001011001111
+00100000001000000011001011010001
+01011000000000000000000000000000
+00011010011000001000101011001111
+00100000001000000011001010110100
+00011010011000001010001011010010
+00100000001000000011001011010001
+00011010011000001010001000000001
+00100000001000000011001011010001
+00011010011000001010001010110101
+00100000001000000011001011010001
+01011000000000000000000000000000
+00100000010000000010110001111010
+00011010011000001000101010110101
+00100000001000000011001010110100
+00100000010000000010110001111010
+00011010011000001010001011111011
+11101010001000001000000000000000
+01100000000000001100000111011110
+00100000011000000000000000000000
+00100000010000000010110001111010
+01101000000000001100000111011110
+00011010011000001000101011111011
+00100000001000000011001010110100
+00011010011000001010001011111100
+00100000001000000011001011010001
+00011010011000001000101011111110
+00100000001000000011001010110100
+01011000000000000000000100001001
+10011010011000001010001000000000
+11101010001010001000000000000000
+00100000011000000000000000000000
+01011000000000000000000100110101
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000100110101
+00100000001000000011001010110011
+01011000000000000000000100101011
+00100000010000000011001011001101
+11101010001000100000000000000000
+00100000011000000000000000000000
+01011000000000000000000101011111
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000101011111
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000101011100
+00100000001000000011001010110011
+11011010001000000000000100101111
+00100000001000000011001010110011
+01011000000000000000000100001000
+00100000001000000011001011010000
+11011010001000000000000100001000
+00100000001000000011001010110011
+01011000000000000000000100000101
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000100000101
+00100000001000000011001010110011
+01011000000000000000000100000100
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000100000100
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000100111011
+00100000001000000011001010110011
+01011000000000000000000000000001
+00100000001000000011001010011010
+01011000000000000000000100001100
+00100000010000000011001011001101
+11101010001000111000000000000000
+00100000011000000000000000000000
+01011000000000000000000101011110
+00100000001000000011001011010000
+01011000000000000000000000000000
+11011010001000000000000101011110
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000110000000
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000101111110
+00100000001000000011001010110011
+01011000000000000000000000000000
+11011010001000000000000101111111
+00100000001000000011001010110011
+11011010001000000000000100000010
+00100000001000000011001010110011
+11011010001000000000000100000011
+00100000010000000011001011000111
+11100000101000001000000000000000
+00100000011000000000000000000000
+01011000000000000000000101011101
+00100000001000000011001011010000
+11011010001000000000000101011101
+00100000001000000011001010110011
+01011000000000000000000110001010
+00100000010000000011001011010000
+00100000001000000011001001101010
+01011000000000000000000100001100
+00100000001000000011001011010000
+00011111111000100000010000000000
+00011010001000100111111000000000
+10011010011000001000101000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00100000010000000011001010111111
+11100000101000011000000000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+00011111111000100010010000000000
+00011010001000100111111000000000
+10011010011000001000101000000000
+00011010010000100111111000000000
+00100000011000000000000000000000
+00100000010000000010110001111010
+10011010011000001010001000000000
+00100000011000000000000000000000
+00100000010000000011001011001101
+11101010001000001000000000000000
+00100000011000000000000000000000
+00100000010000000011001011001101
+11101010001010100000000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000001000000011001010110100
+01000100111000100100000000011000
+01101000000000001100000010010010
+00100000001110100011001011011000
+11000000000000100010111100110000
+11000000000001111011010000110110
+11000000000001001100010111011110
+11000000000001010011100100101010
+11000000000001110011010110111111
+11000000000010000100010010100100
+11000010100000110011110100000000
+00100000011000000000000000000000
+01000100111000101100000000011000
+01110000000000010101000100000000
+01110000000000010111111100000000
+01110000000000011000000000000000
+01011000000000000000000000000000
+01100000000000101000100110101110
+01101000000000001100000010010010
+00100000001110100011001011100011
+11000000000001010011100101100010
+00100000011000000000000000000000
+00100000010000000111110011010001
+00100000010000000111110110011100
+00100000010000000011001011110110
+01101000000000010100000111110011
+00100000001000000111111110011100
+01101000000000010100000111110001
+00100000001000000111111110011100
+01101000000000010100000111101111
+00100000001000000111111110011100
+01000100111000110100000000011000
+11011010001000000100011001101000
+00100000010000000111111111000100
+00100000011110100000000000000000
+00011111111000100010011000000000
+00100000010000000011001011111111
+00100000001000000011001100100100
+11011010011000000000000000000000
+00100000011000000000000000000000
+11000000000000001011001100010001
+11000000000010000011001101010111
+11000000000000101011001100110101
+11000000000010010011001100111100
+11000000000000110011001101010011
+11000000000000100011001110010100
+11000000000000010011001110011001
+11000000000010011011001110010100
+11000000000010100011001101001011
+11000000000010101011001101001111
+11000000000000011011001100101110
+11000000000001011011001101000000
+11000000000001100011001101000111
+11000000000010110011001101011011
+11000000000011000011001100101010
+11000000000101010011001100011010
+11000000000101011011001100011000
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000000
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001111111111111000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01110000000000100010100100000000
+00100000011000000000000000000000
+01101000000000001000001000101001
+00011111111000001111111000000001
+01100000000000001000001000101001
+00011111111001100111110000000001
+00100000001000010011001111011111
+01110000000000100010100100000000
+01101000000000010100001000001010
+01111001001000000111111000001001
+01100000000000010100001000001010
+00100000001000000011001111101001
+01101000000000010100000111110101
+00100000001000000111111110011100
+01101000000000010100000111101001
+00100000001000000111111110011100
+01101000000000010100000111101101
+00100000001000000111111110011100
+01101000000000010100001000001010
+01111001001000000111111000000001
+01100000000000010100001000001010
+00100000001000000011010000010010
+01101000000000010100011010000010
+01111001001000000111111000000111
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001000000111111000000010
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000001
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001000000111111000000100
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000011
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000000101
+01100000000000010100011010000010
+01101000000000010100001000001010
+01111001001000000111111000000011
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000000101
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001000000111111000001001
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000001001
+01100000000000010100011010000010
+00100000001000000011010000011000
+01101000000000010100011010000010
+01111001001000000111111000000010
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001000000111111000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001000000111111000001000
+01100000000000010100001000001010
+00100000001000000011001111101001
+01000100111000111100000000011000
+01100000000000001000001000101010
+01101000000000001000001000101010
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001000001000101010
+00100000010000000111110011011101
+00100000010000000011001111010110
+00100000010000000011001110000111
+00100000010000000011001110001101
+00100000010000000110010100011011
+01101000000000010100000111111101
+00100000010000000111111110011100
+00100000001000000011001101100001
+11101010011000001000000000000000
+00100000011110100000000000000000
+00011111111000001111111111111111
+11100010011000001000000000000000
+00100100011110100000000000000000
+00011010010000100111111000000000
+00100000001000000111111110011100
+11101010011000010000000000000000
+00100000011110100000000000000000
+00011111111000001111111111111111
+11100010011000010000000000000000
+00100100011110100000000000000000
+00011010010000100111111000000000
+00100000001000000111111110011100
+01101000000010010100001000111111
+00011000010000001010011000000001
+11011010010000000011001101111111
+00100000001000000011001101101101
+00100000010000000011010000101101
+11000000000000001011001110000010
+00100000001000000011010000001010
+01011000000000000000000000000010
+11100010011000001000000000000000
+00011000010000001010010000001000
+11101010010000010000000000000000
+00100000001000000111111110011100
+11011010011000000100001000000101
+11011010010000000011001110001010
+00100000001000000011001101101101
+00100000010000000010001001010010
+00100000001000101011010000001110
+00100000011000000000000000000000
+11011010011000000100011001111110
+11011010010000000011001110010000
+00100000001000000011001101110100
+00100000010000000011001111110000
+00100000010000000011010000001000
+01101000000000010100000111110111
+00100000001000000111111110011100
+00100000010000000011001110101100
+01101000000000010100011010000010
+01111001001111111111111000000111
+01100000000000010100011010000010
+00100000011000000000000000000000
+01110000010000100000010100000000
+01101000000000010100011010000010
+11000010100000111011001110011110
+00101111111011000000000000000001
+00100000010000001011001011111101
+01000100111001000100000000011001
+01101000000000010100011010000010
+01111001001111111111111000000000
+01111001001111111111111000000001
+01111001001111111111111000000010
+01111001001111111111111000000011
+01111001001111111111111000000111
+01100000000000010100011010000010
+00100000001000000011010000011000
+00100000010000000011001110101001
+00100000001000000011010000001010
+01011000000000000000000000000000
+01100000000000010100001000001000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01100000000000010100001000001000
+01011000000000000000000000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001000000111111000000111
+01100000000000010100001000001000
+01011000000000000000000000000000
+01100000000000010100001000001010
+00100000011000000000000000000000
+01101000000000001100011010000010
+00101111111011111111111000000101
+00100000011000000000000000000000
+01011000000000001010101001010101
+01100000000000010000101010101010
+01000100111001001100000000011001
+11011000010000000000000000000010
+11011010001000000000101010101010
+11011010010000000000000011000011
+00100000001000000110011000000110
+01000100111001010100000000011001
+11011000010000000000000000000010
+11011010001000000000101010011010
+11011010010000000000000011000011
+00100000010000000110010111011111
+01101000000000010000101010011010
+11011000010000001010101001010101
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000001100010101011010
+01100000000000001100001000000101
+00100000011000000000000000000000
+11011000111000000000000000001001
+00100000001000000010110000110010
+11011000111000000000000000001001
+00100000001000000010110000110110
+01110000010000100000011000000101
+00100000001000000011001111010000
+11011010011000000100001000000110
+11011010010000000011001111010010
+00100000001000000011001101101101
+01110000010000110110001100000001
+00100000011000000000000000000000
+01110000010000110110001100000000
+00100000011000000000000000000000
+01110000000010101001100100001010
+00100000001000000111110110001111
+01110000000010101001100100011101
+00100000001000000111110110001111
+01000100111001011100000000011001
+01101000000000001100001000000111
+01100000000000001000000101101101
+01110000000000100010100000000001
+01110000000010101001100100000011
+00100000001000000111110110001111
+01110000000010101001100100011110
+00100000001000000111110110001111
+01110000000010101001100100000100
+00100000001000000111110110001111
+01101000000000010100011010000111
+01100000000000010100011001111110
+00100000010000000011010000000100
+01110000000010101001100100000001
+00100000001000000111110110001111
+01011000000000000000000000000000
+01100000000000010100011001111110
+01110000000010101001100100000010
+00100000001000000111110110001111
+01110000000010101001100100001111
+00100000001000000111110110001111
+01110000000010101001100100010000
+00100000001000000111110110001111
+01110000000010101001100100001110
+00100000001000000111110110001111
+01110000000010101001100100001101
+00100000001000000111110110001111
+01110000000010101001100100010111
+00100000001000000111110110001111
+01110000000010101001100100011000
+00100000001000000111110110001111
+01110000000010101001100100010110
+00100000001000000111110110001111
+01110000000010101001100100010001
+00100000001000000111110110001111
+01110000000010101001100100010101
+00100000001000000111110110001111
+01110000000010101001100100010100
+00100000001000000111110110001111
+01110000000010101001100100010011
+00100000001000000111110110001111
+01110000000010101001100100011001
+00100000001000000111110110001111
+01110000000010101001100100000110
+00100000001000000111110110001111
+01110000000010101001100100000101
+00100000001000000111110110001111
+01110000000010101001100100011111
+00100000001000000111110110001111
+01110000000010101001100100100000
+00100000001000000111110110001111
+01110000000010101001100100100101
+00100000001000000111110110001111
+01111001001000000000000000001101
+00100000011000000000000000000000
+01111001001111111000000000001101
+00100000011000000000000000000000
+00100000010000000011010000101101
+11000000000000010011010000100100
+01011000000000000000000000000001
+11100010011000001000000000000000
+00011000010000001010001000000011
+00011000010000001010010000000110
+11101010001010001000000000000000
+00011010011000001010011000000001
+11100010011010001000000000000000
+00100000001000000011001110000101
+01011000000000000000000000000000
+11100010011000001000000000000000
+01101000000000010100011010000010
+11000011000001001011010000101001
+00100000010000000011010000000010
+01101000000010010100001000111111
+00011000010000001010001000000010
+00011000010000001010010000000100
+00100000001000000011010000100000
+01101000000010010100001000111111
+00011000010000001010011000000000
+11101010011000001000000000000000
+00100000011000000000000000000000
+00100000010000000011010000101101
+11000000100000000011010000110100
+00100000001000000011010000001010
+00011000010000001010010000001010
+00100000001000000011001110000101
+00100000011101011000000000000000
+01110000100000001000000100000000
+01011000000000000011010001100011
+01100000000000010100000111101011
+01011000000000000110100101101100
+01100000000000010100000111101101
+01011000000000000011010011110101
+01100000000000010100000111110011
+01011000000000000011010011110100
+01100000000000010100000111101111
+01011000000000000011010001111110
+01100000000000010100000111110101
+01011000000000000011010010110010
+01100000000000010100000111111101
+01011000000000000011010001100101
+01100000000000010100000111111011
+01011000000000000011010001110000
+01100000000000010100000111101001
+01011000000000000011010100000001
+01100000000000010100000111111001
+01000100111001100100000000011001
+00100000010000000011010110011011
+00100000010000000110100101001000
+00100000010000000011010110101101
+00100000010000000111110100001000
+00100000010000000111110011010011
+01011000000000000011010100001011
+01100000000000010100011101100110
+01011000000000000011010011111100
+01100000000000010100011101011101
+01011000000000000011010011111000
+01100000000000010100011101011111
+01011000000000000011010001101100
+01100000000000010100011101100001
+01011000000000000011010110100010
+01100000000000010100011010101001
+01011000000000000011010110100100
+01100000000000010100011010101011
+01011000000000000011010110101001
+01100000000000010100011010110100
+01011000000000000011010110100110
+01100000000000010100011010110110
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+00100000010000000011010110000110
+00100000001000000011010000001010
+00100000010000000101100010010010
+00100100011110100000000000000000
+11011010001000000000101100000110
+00100000010000000111111001010100
+00100100011101000000000000000000
+11011000110000000000101100000110
+00100000001000000100011101000110
+01101000000000010100011110010111
+01100000000000010100011110010001
+01110000010001110101001100000001
+00100000001000000011010110001111
+01101000000000001100011110011101
+11000000000000001011010001111001
+01101000000000010100011010000010
+11000011000001001011010001111001
+01101000000000001100011110011110
+11000000000000001011001111010000
+01101000000000001100011100000000
+00100100001110100011001111010000
+00100000001000000011001111010010
+01101000000000001100011110011011
+01101000000010001100011110011100
+10011000010000011111111000000000
+11000000000000001011001111010000
+00100000001000000011001111010010
+00011010011000100111111000000000
+11000000000101101011010000110001
+11000000000010000011010000011010
+11000000000010100011010011011111
+11000000000010101011010011101000
+11000000001000000011010010000101
+00100000011000000000000000000000
+01101000000000010100010100001001
+11000000000000001011010010001100
+01101000000000010100001111011000
+00100000001110100011010010100010
+01110000010001111000101000000010
+01110000010001111000111100111100
+00100000011000000000000000000000
+01101000000000010100010010011010
+00100000001110100011010010100000
+01110000010001111000101000000001
+01101000000010010100011110110100
+01101000000000010100010010010110
+10011000010000001111111000000000
+01100000000000010100010010010110
+00011111111000100010001000000000
+01101000000000010100010010011000
+10011000010000001111111000000000
+01100000000000010100010010011000
+10011010001000001111111000000000
+00011111111000110000010000000000
+01101000000000010100011111000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100010010011010
+01110000010001111001000000000001
+00100000011000000000000000000000
+01110000010001111000101000000011
+00100000011000000000000000000000
+01110000010000010111001000000000
+01110000010001111001000000000000
+01101000000000010100001111010110
+01101000000010010100011110111110
+10011000010001100111110000000000
+01111001001000010010001000000000
+01101000000000010100011111000000
+01101000000010010100001111010110
+10011000010001100111111000000000
+01111001001000010010001000000001
+00101010001000000000011000000011
+00100000011000001000000000000000
+01101000000001000100011110111110
+01100000000001000100010010010110
+01110000010001111001000000000001
+00100000011000000000000000000000
+00100000010000000011001101111011
+00100000010000000011010010111001
+00100000010000000011010010111110
+00100000010000000011010011010101
+00100000010000000011010011001010
+00100000010000000011010011000100
+00100000001000000011010011011001
+11011010011000000100011110011001
+11011010010000000011010010111100
+00100000001000000011001101101101
+01110000010001111001101000000000
+00100000011000000000000000000000
+11011010011000000100011110010011
+11011010010000000011010011000001
+00100000001000000011001101110100
+11011010011000000100011010111111
+11011010010000000100011010011110
+00100000001000000011010110010001
+11011010011000000100011110001111
+11011010010000000011010011000111
+00100000001000000011001101101101
+01101000000000010100010010011010
+01100000000000001100000101110010
+00100000011000000000000000000000
+11011010011000000100011110010000
+11011010010000000011010011001101
+00100000001000000011001101101101
+01101000000000001000010000111111
+00101111111000001100000000000000
+00100100001000001011010011010011
+01110000010001111000101000000001
+00100000010000000011010000010110
+00100000001000000101101010111111
+01110000010001111001000000000001
+00100000011000000000000000000000
+11011010011000000100011110010001
+11011010010000000011010011011000
+00100000001000000011001101110100
+00100000001000000011010000011010
+11011010011000000100011110001101
+11011010010000000011010011011100
+00100000001000000011001101110100
+01101000000000010100011110100111
+01100000000000010100011110001101
+00100000001000000011010110101111
+01101000000000010100011110100111
+01100000000000010100011110001101
+01011000000000000000000000000000
+01100000000000010100011110010011
+01100000000000010100011110010001
+00100000010000000011010101011100
+00100000010000000011010110000110
+01110000010000010111001000000000
+00100000001000000011001111111000
+01011000000000000000000000000000
+01100000000000100100011110001101
+01100000000000011100011110001010
+01100000000000010100010100001001
+01110000010001111010000000000001
+01101000000000010100011110010111
+01100000000000010100011110010001
+00100000010000000111111000111000
+01101000000000001100011101011001
+11000001000000000000000000000000
+00100000010000000011010110001111
+00100000001000000011010101101110
+00100000001000000011010100001000
+01101000000000001100011101011001
+11000001100000010000000000000000
+00100000001000000011010100001000
+11011010011000000100011011001101
+00100000010000000011010110000010
+11011010011000000100011011000110
+00100000001000000011010110000100
+01110000010000110110111000000000
+11011010011000000100011011011011
+00100000010000000011010110000010
+11011010011000000100011011010100
+00100000001000000011010011111011
+01101000000000001000010001110111
+11000000000010010011010100000100
+00100000011000000000000000000000
+01101000000000010000010001111000
+11000000000001101011010100110110
+11000000000001011011010101110001
+00100000011000000000000000000000
+01101000000000001100011101010011
+00100000011110100000000000000000
+00100000001000000110100101111000
+00011010001000100111111000000000
+00100000001110100011010100010000
+00011000111000100111111000000000
+11000000000000000011010100010011
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000011010100011011
+00100000011000000000000000000000
+01110000010001111001110100000001
+11011010011000000100011011110111
+00100000010000000011010110000010
+11011010011000000100011011110000
+00100000010000000011010110000100
+01101000000000010100011010000010
+11000011000001001011010100110010
+00100000001000000011010100100001
+01110000010001111001110100000000
+00100000001000000011010100011101
+01101000000000001100011110011010
+11000001100000001000000000000000
+01110000010001111001100100000101
+00100000011000000000000000000000
+01101000000000001100011110011010
+00011111111000001111111000000001
+01100000000000001100011110011010
+11000000000000001011010100100111
+11000000000000010011010100101011
+00100000011000000000000000000000
+00100000010000000011010101011100
+01110000010001110111000100000001
+11011010011000000100011101101100
+00100000001000000011010101000100
+01110000010001111001101000000000
+01110000010001110111000100000010
+11011010011000000100011101101100
+00100000010000000011010101000100
+01101000000000001100011110011110
+11000000000000001011010101010001
+00100000011000000000000000000000
+01101000000000010100011110010111
+01100000000000010100011110010001
+00100000010000000011010101011100
+00100000001000000011010110001111
+01000100111001101100000000011001
+00100000010000000011011011111100
+11101010001000001000000000000000
+11000000000000011011010100111100
+11000000000000111011010101000000
+00100000011000000000000000000000
+01101000000000001100011110011110
+11000000000000000011010101010001
+11000000000000001011010101011100
+00100000011000000000000000000000
+11101010010000001000000000000000
+11000000000000001011010101100100
+11000000000000000011010101101001
+00100000011000000000000000000000
+01000100111001110100000000011001
+01101000000000001100011110001011
+00101111111011111111111000000000
+00100100011000001000000000000000
+00011010011000001000110000000110
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011111111000001111001000000101
+00011010011000001000110000000011
+00100000010000000011011011110000
+11100000110000001000000000000000
+00011010011000100010001000000000
+00100000001000000111111000111101
+01101000000000001100011101011001
+00100000011110100000000000000000
+01110000010001111001111000000001
+11011010011000000100011011101001
+00100000010000000011010110000010
+11011010011000000100011011100010
+00100000010000000011010110000100
+01110000010001111000000000000100
+01110000010001111000001100000001
+11011010011000000100011101111011
+00100000001000000011010101000100
+01101000000000001100011110011110
+00100000011110100000000000000000
+01110000010001111001111000000000
+00100000010000000011010110000110
+01110000010001111000000000000100
+01110000010001111000001100000000
+11011010011000000100011101111011
+00100000001000000011010101000100
+01110000010001111001111100000001
+01110000010001111000000000000111
+01110000010001111000001100000001
+11011010011000000100011101111011
+00100000001000000011010101000100
+01110000010001111001111100000000
+01110000010001111000000000000111
+01110000010001111000001100000000
+11011010011000000100011101111011
+00100000001000000011010101000100
+01101000000000001100011110011111
+00100000011110100000000000000000
+00100000001000000011010101010001
+11101010001000010000000000000000
+01100000000000010100011110001011
+00101111111011111111111000000000
+00100100011000001000000000000000
+01101000000000001100011110100000
+00100000011110100000000000000000
+01110000010001111010000000000000
+01101000000001000100011110110110
+01100000000001000100010010010110
+01110000010001111001000000000010
+00100000010000000011010110101111
+00100000010000000011010110111001
+01110000010001111000000000000111
+01101000000000001100011110011111
+01100000000000001100011110000011
+11011010011000000100011101111011
+00100000001000000011010101000100
+11011010001000000000000000000001
+00100000001000000011010110000101
+11011010001000000000000000000000
+00100000001000000011010110001100
+11011010001000000000000000000000
+00100000010000000111110100011001
+11011010001000000000000000000001
+00100000010000000111110100011001
+01101000000000001100011110100001
+00100000001000000110100111010111
+00100000010000000111110100000100
+11011111001000000000000000000111
+00100000001000000111110100100110
+11011010011000000100011010111000
+11011010010000000100011010011010
+00100000010000000011010110010110
+00100000010000000011010110000100
+01101000000000010100011110010101
+01100000000000010100011110010011
+00100000001000000011001111111010
+11101010010000010000000000000000
+01100000000000010100000101010100
+11101000110000010000000000000000
+01100000000000010100010010000010
+00100000011000000000000000000000
+11011010001000000000000000000000
+00100000010000000110100110100110
+01101000000000110100011110100001
+01100000000000110000101010011010
+00100000010000000110100110101110
+01101000000000001100011110100001
+00100000001000000110100111010111
+01110000010001111001101100000001
+00100000011000000000000000000000
+01110000010001111001101100000000
+00100000011000000000000000000000
+01110000010001111001110000000000
+01101000000000001100011110100001
+00100000001000000110100111010111
+01110000010001111001110000000001
+01101000000000110100011110100001
+01100000000000110000101010011010
+00100000001000000110100110101110
+01110000010000100010110100000000
+00100000001000000110100010101000
+00100000010000000110100011101011
+00100000010000000110100100001000
+01100000000000010100011110110000
+11011010001000000100011110101010
+00100000010000000110100100110000
+01100000000000001100011110101001
+11000000000000000011010110111110
+00011111111001100111110001100100
+00100100001000010011010110111100
+01100000000000001100011110000011
+01110000010001111000000000000101
+11011010011000000100011101111011
+00100000001000000011010101000100
+01110000010001111000001101100100
+00100000001000000011010110111001
+00100000001000000011010000011010
+00100000011101011000000000000000
+01101000000100001000000010000001
+00011111111000010111111011110000
+01100000000100001000000010000001
+01011000000000000011011000110001
+01100000000000010100000111101011
+01011000000000000011011000110011
+01100000000000010100000111101101
+01011000000000000011010000001010
+01100000000000010100000111110111
+01011000000000000011011000110101
+01100000000000010100000111110011
+01011000000000000011011001001011
+01100000000000010100000111110101
+01011000000000000011001111010000
+01100000000000010100000111101001
+01011000000000000011011011110110
+01100000000000010100000111111001
+01011000000000000011011001111010
+01100000000000010100000111111101
+00100000010000000010110001111010
+01011000000000000011011100100010
+00011010011000001000101011011110
+11100000101000010000000000000000
+01011000000000000011010111101101
+01100000000000010100011101011011
+01011000000000000011010111101111
+01100000000000010100011101011111
+01000100111001111100000000011001
+00100000010000000011011000101000
+00100000010000000111111000111000
+01110000010000010111001000000010
+01110000010010011111011000000000
+01101000000000001100011111001011
+01100000000000001100011010011010
+11000000000000000011010111101110
+01101000000000001100011111001100
+01100000000000001100011010000110
+01110000010000110110111000000000
+00100000010000000011011000001111
+00100000010000000111110011010011
+00100000010000000111110011011101
+01110000010001111111001100000001
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+00100000001000000011011000001111
+01110000010001111111001100000010
+01110000010000110110111000000001
+00100000010000000011011000001111
+11011010001000000000000000000000
+00100000010000000111110100011110
+01011000000000000000000000100000
+00100000010000000100011011110000
+11011000101000000100001110110111
+01101000000000001100010010100000
+00011111111000010000010011110000
+00011000010100011000010000000000
+00100000010000000011011000001001
+11100000101010001000000000000000
+00011111111000010000010000001111
+00100000010000000011011000001001
+11100000101010001000000000000000
+00100000010000000101011110100110
+01101000000010001100001110101111
+00011000010000100111001000000000
+11011000101000000100001101110010
+11011000110000000100001110110000
+00100000010000000111111100000001
+01101000000010001100001110101111
+00011000010000100111001000000000
+11011000101000000100001110010010
+11011000110000000100001110110000
+00100000001000000111111100000001
+00011000010001100111110000001001
+00100000001000010011011000001101
+00011000010000001000010000110111
+00100000011000000000000000000000
+00011000010000001000010000110000
+00100000011000000000000000000000
+01101000000000001100011111000000
+11000000111111111011011000100001
+01101000000000001100011110111110
+11000000111111111011011000100100
+01101000000000001100011111001001
+11000000111111111011011000100110
+01101000000000001100011100101100
+00011111111000100111001000000000
+01011000000000000100011100101101
+00011111111000100010001000000000
+00011010001000100000110000000000
+11101000110000001000000000000000
+00011000110000100010001000000000
+11000000011111111011011000011111
+00011111111000100000010000000000
+00100000010000000110100000001110
+11000010000000000011011000011001
+00100000011000000000000000000000
+01101000000001000100011111000000
+01100000000001000100011100101111
+00100000001000000011011000010001
+01100000000000001100011100101101
+00100000001000000011011000010011
+01100000000000001100011100101110
+00100000001000000011011000010101
+11011010001000000000000000000000
+00100000010000000110100110100110
+00100000010000000011011111100100
+00100000010000000010110001111101
+00100000001000000011011000101101
+01110000010001111100111101100100
+01101000000000001100011111001001
+01100000000000001100011101000100
+00100000001000000110100010101000
+00100000010000000110100000110101
+00100000001000000110100101101100
+00100000001000000110100101101100
+00100000001000000110100101111000
+00100000010000000011011001000010
+00100000010000000011011111101110
+00100000010000000011011000111001
+00100000001000000011011000110100
+01101000000000010100011010000010
+11000011100001001000000000000000
+01101000000000001100100111110110
+11000000000000001011011000111110
+00100000011000000000000000000000
+01101000000000001100011111101010
+11000001000000001000000000000000
+01110000010001111110101000000001
+00100000001000000011011001010100
+01101000000000010100011010000010
+11000100000001001000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+11011010001000000100011100011000
+00100000010000000111111001010100
+00100100011101000000000000000000
+11011000110000000100011100011000
+00100000001000000100011101000110
+00011010011000100111111000000000
+11000000000101101011010000110001
+11000000000010000011010000011010
+11000000000010100011011001010001
+11000000000010101011011001100000
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000010000000011001000100000
+00100000001000000011011001010110
+01101000000000010100011111101011
+01100000000000010100011111101101
+01110000010001111100111000010100
+01110000010000001001000100000000
+00100000010000000011001111111000
+00100000010000000011010000010110
+01101000000000001100011110111101
+11000000000000001011011001011110
+11011010001000000000000000000000
+00100000001000000111110100010100
+11011010001000000000000000000000
+00100000001000000111110100011001
+01011000000000000000000000000010
+00100000010000000011001000100000
+01011000000000000000000000000000
+01100000000000101100011110011100
+01011000000000000000000000000100
+00100000010000000110100111010111
+01011000000000000000000000000101
+00100000010000000110100111010111
+01011000000000000000000000010100
+00100000010000000110100111010111
+01011000000000000000000000010101
+00100000010000000110100111010111
+01011000000000000000000000010110
+00100000010000000110100111010111
+01011000000000000000000000000111
+00100000010000000110100111010111
+00100000010000000111111000111000
+01110000010001110101111000001010
+01110000010001110110000000001010
+01110000010001110110001000001010
+01110000010000010111001000000010
+11011010001000000000000000000000
+00100000010000000111110100011110
+01011000000000000000000000100000
+00100000010000000100011011110000
+00100000001000000011001111111010
+00100000010000000011011100111011
+00100000010000000011011100111110
+00100000010000000011011101000001
+00100000010000000011001101111011
+00100000010000000011011011001000
+00100000010000000011011010100001
+00100000010000000011011010001010
+00100000010000000011011010000011
+00100000001000000011011010001111
+11011010011000000100011110011010
+11011010010000000011011010000110
+00100000001000000011001101101101
+00100000010000000011100001000111
+00100100011000001000000000000000
+01110000010001111001101100000001
+00100000011000000000000000000000
+11011010011000000100011111101101
+11011010010000000011011010001101
+00100000001000000011001101110100
+01110000010001111110101000000010
+00100000001000000011011001100010
+11011010011000000100011111110001
+11011010010000000011011010010010
+00100000001000000011001101101101
+01101000000000001100011111110010
+00100000001110100011011010011110
+01110000010001111111000100000010
+01110000010001111111001000000000
+01011000000000000000101000000010
+01100000000000010100011101010010
+01101000000000001100011110111001
+11000000000000011011011010011011
+00100000001000000011011101100010
+01011000000000000000101000000010
+01100000000000010100011101010100
+00100000001000000011011101100010
+01011000000000000000000000000000
+01100000000000100100011101010010
+00100000001000000011011101100010
+01101000000000001100011111001000
+00100000011110100000000000000000
+01101000000000010100011010000010
+11000011000001001011011011000110
+11011010011000000100011111001110
+11011010010000000011011010101000
+00100000001000000011001101101101
+01101000000000001100011111001101
+01100000000000001100011111001110
+01101000000000001100011111010001
+00100100011110100000000000000000
+00100000010000000110100011101011
+00100000010000000110100100001000
+01100000000000010100011111101000
+11011010001000000100011111100010
+00100000010000000110100100110000
+01101000000010001100011111001111
+10011000010001100111110000000000
+00100000001000010011011010110110
+01100000000000001100011111001111
+00011111111000100000010000000000
+01100000000010001100011111010000
+01101000000000001100011111001010
+10011000010001100111110000000000
+00100000010000010011011011000001
+01100000000010001100011111011011
+11011111001000000000000000000110
+11011000110000000100011111010110
+00100000010000000011011011110000
+01100000000000001100011111011100
+11011010001000000100011111010011
+00100000001000000111111000111101
+01101000000000001100011111010010
+00100100011110100000000000000000
+01110000010001111101001000000001
+11011010001000000000000000000001
+00100000001000000111110100011110
+11011010001000000000000000000001
+00100000001000000111110100011001
+11011010011000000100011110100100
+11011010010000000011011011001011
+00100000001000000011001101101101
+01110000010001111010010000000101
+01110000010001111010011000000000
+01101000000000001100011110100101
+11000000000000001011011011101110
+11000000000000000011011011101100
+11011000110000000100011110011100
+00011000110000100010001000000000
+11011111001000000000000000001000
+00011010001000100000110000000000
+11101000110000001000000000000000
+00011000110000100010001000000000
+11000000000000000011011011100011
+11000000000000001011011011100110
+11000000000000010011011011101001
+01101000000000001100011110100110
+00011111111000001111111000000001
+01100000000000001100011110100110
+11000010000000000011011011010011
+00100000011000000000000000000000
+01101000000000001100011110100110
+11011010010000000100011111000000
+10011010010000001010010000000000
+11101010010010001000000000000000
+00100000011000000000000000000000
+00100000010000000011011011011110
+00100000010000000110100000100101
+00100000001000000011011011011001
+00100000010000000011011011011110
+00100000010000000110100000101001
+00100000001000000011011011011001
+01101000000000001100011110100101
+11000000000000001011011011100011
+00100000001000000011011011100110
+01110000010001111010010100000001
+00100000001000000011011011010000
+01110000010001111010010100000000
+00100000001000000011011011010000
+11011010001000000000000000000000
+11101000110000001000000000000000
+10011010001000001010001000000000
+11000010000000000011011011110001
+00011010001000010111111011111111
+00100000011000000000000000000000
+01101000000000001000010001110111
+11000000000010010011011011111001
+00100000011000000000000000000000
+01101000000000010000010001111000
+11000000000010100011011100010000
+00100000011000000000000000000000
+01000100111010000100000000011010
+11101010001000101000000000000000
+01100000000000101000101100010010
+01101000000000010000101100010010
+11011000010000000110101101011010
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000010000101100010101
+00011111111100001111111000000000
+01100000000000010000101100010101
+00011111111000100111001000000000
+00011010001000001010001000000101
+00011010001000100000110000000000
+11011000101000000000101100010111
+00100000010000000111111100000001
+11101000110000001000000000000000
+01100000000000001000101100100001
+11011010001000000000101100010100
+11011010010000000000101100010111
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000101100011101010010
+01100000000000101100011101010111
+00100000010000000011011011111100
+00011010010000100000110000000000
+11011000101000000100011101010010
+11011111001000000000000000001010
+00100000010000000111111100000001
+01000100111010001100000000011010
+11101010001000001000000000000000
+11000000000000010011011101001010
+11000000000000011011011101011100
+11000000000000100011011101100010
+11000000000000101011011101100010
+11000000000000110011011110110001
+11000000000000111011100001001001
+11000000000001000011100001001100
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000011100001001000000000000000
+01101000000000010100011111101011
+01100000000000010100011111101101
+01110000010010011111011000000001
+01011000000000000000000100001100
+00100000010000000011001011001101
+00100000010000000011011100010000
+01101000000000001000101100010100
+11000000000000100011011100101110
+11000000000000101011011100101110
+00100000011000000000000000000000
+01101000000000001100011101010010
+00100100010110100011011100110101
+01101000000000001100011101010100
+00100100010110100011011100110111
+01101000000000001100011101010110
+00100100010110100011011100111001
+00100000011000000000000000000000
+01110000010010011111001100000101
+00100000011000000000000000000000
+01110000010010011111010000000101
+00100000011000000000000000000000
+01110000010010011111010100000101
+00100000011000000000000000000000
+11011010011000000100100111110011
+11011010010000000011011101000100
+00100000001000000011001101101101
+11011010011000000100100111110100
+11011010010000000011011101000110
+00100000001000000011001101101101
+11011010011000000100100111110101
+11011010010000000011011101001000
+00100000001000000011001101101101
+01110000010001110101001000000000
+00100000001000000011011101100010
+01110000010001110101010000000000
+00100000001000000011011101100010
+01110000010001110101011000000000
+00100000001000000011011101100010
+00100000010000000011011101001100
+00100000001000000011011101001111
+01101000000000001100011101010010
+01100000000000001100011101011111
+00100000001000000011011101110011
+01101000000000001100011101011110
+00100000010000000011011101010100
+01101000000000001100011101010011
+01100000000000001100011101011101
+00100000001000000011011101110000
+11000000000000010011011101011000
+11000000000000011011011101011010
+01100000000000001100011101011110
+00100000011000000000000000000000
+01110000010001110101111000000101
+00100000011000000000000000000000
+01110000010001110101111000001010
+00100000011000000000000000000000
+01101000000000001100011101010010
+00100000010000000011011101010100
+01101000000000001100011101011110
+00100000010000000011011110011110
+00100000010000000011011110100001
+00100000001000000110100111000100
+01101000000000001100011111110000
+00100100011110100000000000000000
+01101000000000110100011101010010
+01100000000000110100011101011101
+01101000000000001100011101011110
+01101000000010001100011101100000
+10011000010000010111111000000000
+01101000000010001100011101100010
+10011000010000010111111000000000
+00100000010110100011011101111001
+01000100111010010100000000011010
+00100000010000000011011101110000
+00100000010000000011011101110011
+00100000001000000011011101110110
+11011010010000000100011101100011
+11011000110000000100011101011101
+00100000001000000011011101111011
+11011010010000000100011101101011
+11011000110000000100011101011111
+00100000001000000011011101111011
+11011010010000000100011101110011
+11011000110000000100011101100001
+00100000001000000011011101111011
+01110000010001111101000100000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+11000000000000000011011110000111
+11000000000000001011011110000000
+11000000000000010011011110000010
+00100000011000000000000000000000
+01110000010001110111101100000000
+00100000001000000011011110000011
+01110000010001110111101100000001
+11101000110000001000000000000000
+01100000000000001100011101111101
+11101010010001000000000000000000
+00100000001000000011011110001100
+11101010010000001000000000000000
+00100000010000000110100111010111
+00011010010000001010010000000001
+11101010010000001000000000000000
+00100000001000000110100111010111
+01100000000001000100011101111110
+01110000010001111101000100000001
+01101000000000001100011101111011
+11000000000000000011011110011010
+01101000000000001100011101111111
+01100000000000001100011110000000
+01101000000000001100011101111110
+00100000010000000110100111010111
+01101000000000001100011101111101
+00100000010000000011011110011110
+01100000000000001100011110000101
+01101000000000110100011110000000
+01100000000000110000101010011010
+00100000001000000110100110101110
+01101000000000001100011101111110
+01100000000000001100011110000000
+01101000000000001100011101111111
+00100000001000000011011110010011
+00011111111011111111111000000101
+00011111111000001111111000110010
+00100000011000000000000000000000
+11011000010000000010111011100000
+10011000010011111111111000000000
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111000010000000000
+00011000010000100010001000000000
+01011000000000000010111011100000
+10011000010001100010010000000000
+00100000011000000000000000000000
+01101000000100001000000010000010
+01111001001000000111111000000010
+01100000000100001000000010000010
+01011000000000000000000010011110
+01100000000100010000000001101000
+01100000000100010000000001101010
+00100000011000000000000000000000
+01101000000000001100011111110000
+00100100011110100000000000000000
+01101000000000010100011101010010
+01100000000000010100011110000111
+01101000000000001100011111101010
+11000000100000001011011110111001
+01101000000000010100010010100000
+01100000000000010100011110000111
+01000100111010011100000000011010
+00100000010000000011011110101010
+00100000010000000011011111011100
+01011000000000001011101110000000
+00100000010000000010101010001111
+00100000010000000011011111100000
+01011000000000000001110000100000
+00100000010000000010101010001111
+11011111001000000000000000010000
+00100000010000000011011111011100
+01101000000000010100011110000111
+11000010100000000011011111001001
+01011000000000000001110000100000
+00100000010000000010101010001111
+00100000010000000011011111100000
+00100000001000000011011111001100
+01011000000000000011100001000000
+00100000010000000010101010001111
+00100000010000000011011111100000
+01011000000000000001110000100000
+00100000010000000010101010001111
+01101000000000010100011110000111
+00011111111000110111111000000000
+01100000000000010100011110000111
+11000010000000000011011111000010
+01110000010001111111000100000010
+01110000010001111111001000000001
+01011000000000000000101000000001
+01100000000000010100011101010010
+01101000000000001100011110111001
+11000000000000011011011111011001
+00100000001000000011011101100010
+01011000000000000000101000000001
+01100000000000010100011101010100
+00100000001000000011011101100010
+01101000000100001000000010000101
+00011111111000011111111001000000
+01100000000100001000000010000101
+00100000011000000000000000000000
+01101000000100001000000010000101
+00011111111000010111111010111111
+01100000000100001000000010000101
+00100000011000000000000000000000
+01101000000000001100011110111011
+11000001000000000000000000000000
+00100000010000000010110001100101
+01101000000010001100011110111100
+01100000000010001100011110000110
+00100000010000000110011111111011
+00100000010000000011100001000111
+00100100011000001000000000000000
+01110000010001111001101000000001
+00100000011000000000000000000000
+01101000000000001100011110111011
+11000001000000000000000000000000
+01101000000000001100011110011011
+00100100011110100000000000000000
+01101000000000010100011010000010
+11000010100001001011011111110110
+01101000000000001100011111101010
+11000001100000001000000000000000
+01000100111010100100000000011010
+00100000010000000011100001000111
+00100100011000001000000000000000
+01011000000000001000110010100000
+00100000010000000010101010001111
+00100000010000000011100001000111
+00100100011000001000000000000000
+00100000010000000011100000111111
+00100000010000000011100001000010
+00100100011000010000000000000000
+00100000010000000011100001000111
+00100000001000001011011111111110
+11011010001000000000000000000000
+11011111001000000000000000010000
+00100000010000000011100000111111
+00100000010000000011100001000010
+00100100011000010000000000000000
+00100000010000000011100001000111
+00100100001000001011100000000101
+01011000000000000010101000110000
+00100000010000000010101010001111
+00100000010000000011100001000111
+00100000001000001011100000010010
+01011000000000000000000000000000
+00011010001000110010001000000000
+10011010001000011010001000000000
+11000010000000000011100000000101
+00100000001000000011100000011011
+01011000000000001000000000000000
+00011010001000110010001000000000
+10011010001000011010001000000000
+00100000010000000011100000111111
+00100000010000000011100001000010
+00100100011000010000000000000000
+00100000010000000011100001000111
+00100000001000001011100000010110
+11000010000000000011100000000101
+01000100111010101100000000011010
+00011010001000100111111000000000
+01100000000000010100011110001001
+01100000000000010100011110010111
+01101000000000001100011111101010
+11000000000000001011100000100111
+11011111001000000000000000000111
+11011000110000000100011110010010
+00100000010000000011011011110000
+01100000000000001100011110011001
+11011010001000000100011110001111
+00100000001000000111111000111101
+01101000000000001100011111101111
+00011111111000001111111000000001
+01100000000000001100011111101111
+00011111111001101111110000000010
+00100000010000000111111110000110
+00011000000001111000010000000000
+00011000000001110111111000000000
+00100100001110100011100000111000
+01101000000000001100011110111111
+10011000010001100111110000000000
+00100000010000101011100000111101
+11011111111000000100011110011100
+00011000010000001000010111111111
+10011000010000001010001000000000
+11011111111000000000000000000000
+11100010001000001000000000000000
+00100000011000000000000000000000
+11011111111000000100011110011100
+10011000010000001010001000000000
+11011111111000000000000000000010
+11100010001000001000000000000000
+00100000011000000000000000000000
+01110000010001111111000000000001
+00100000011000000000000000000000
+00011100010000100111111000000000
+01100000000000100100011110001011
+00100000011000000000000000000000
+00011100010000100111111000000000
+01101000000010100100011110001011
+10011000010001100111111000000000
+00011111111001100111110011001000
+00100000011000000000000000000000
+01101000000010001100011110000110
+00100000001000000110100000011101
+01101000000001000100011101010010
+01100000000001000100011110011100
+00100000011000000000000000000000
+01101000000000001100011110111001
+01100000000000001100011110101111
+01101000000000001100011110111010
+01100000000000001100011110110000
+01101000000000001100011110111011
+01100000000000001100011110110001
+11011111001000000000000000001101
+11011000110000000100011110101010
+00100000010000000011011011110000
+01100000000000001100011110110111
+11011010001000000100011110100111
+00100000001000000111111000111101
+00100000010000000110010111000010
+01110000010001101111011001111010
+00100000010000000011100001101101
+00100000010000000011100001100111
+01011000000000000011100001100000
+01100000000000010100000111111101
+11011010001000000000000000000000
+00100000001000000110100110100110
+01101000000000010100011010100001
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000010100011010100001
+11000001100000000000000000000000
+01110000010001101010000000000000
+00100000011000000000000000000000
+01000100111010110100000000011010
+01101000000000001100011010100100
+00011111111001100111110000101000
+00100000011000010000000000000000
+01110000010001101010010000000000
+00100000011000000000000000000000
+11011010001000000100011010100100
+11011010010000000000000000000000
+11011000010000000000000001010001
+00100000001000000110010111011111
+01111000010101000111110000000000
+01101000000000001100011010100011
+00011111111000100111001000000000
+11011010001000000100011010100101
+00011010011000100010010000000000
+01000100111010111100000000011010
+00100000010000000011100001111100
+00100000001000101111111111100111
+00011010001000001010001000000100
+11000010000000000011100001110110
+00100000011000000000000000000000
+01000100111011000100000000011011
+11101010001000011000000000000000
+11101010010010011000000000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01000100111011001100000000011011
+11101010001000011000000000000000
+11101010010010011000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11101000110000001000000000000000
+00011111111001100111110000000000
+00100000011000101000000000000000
+00011010001000001000110000000011
+11101000110010001000000000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01000100111011010100000000011011
+01111000010101000111110000000000
+01101000000000001100011010100011
+00011111111000100111001000000000
+11011010001000000100011010100101
+00011010011000100010010000000000
+00100000010000000011100010000001
+00100000001000101111111111100111
+00011010001000001010001000000100
+11000010000000000011100010010011
+00100000011000000000000000000000
+01101000000000001000000000000100
+00011111111000001111111000000001
+01100000000000001000000000000100
+11011010011000000000001011100101
+11101010011000010000000000000000
+11011000010000000101010110101010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000100010011000000000
+11101010011010011000000000000000
+01011000111111111111111111111111
+10011000010001100111110000000000
+00100000001000101011100010101000
+00100000010000000011100010001101
+00100000001101000011100010101000
+00100000011000000000000000000000
+01000100111011011100000000011011
+00011010011000001010011000000100
+11101010011000001000000000000000
+01101000000010001100011011110110
+10011000010001100111110000000000
+00100000011000101000000000000000
+01100000000000001100011011110110
+01101000000000001000000000000011
+00011111111000001111111000000001
+01100000000000001000000000000011
+00011010011000001010011000000001
+11101010011000001000000000000000
+01100000000000001100011011110101
+00011111111000100111001000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+11000000000000000011100011000010
+11000000000000001011100011001111
+11000000000000010011100011010100
+11000000000000011011100011011001
+11000000000000100011100011011110
+11000000000000101011100011100011
+11000000000000110011100011101000
+11000000011111111011100011101010
+11000010000000000011100010110111
+00100000011000000000000000000000
+00011000110000100010011000000000
+01101000000000001100011010011010
+01100000000000001000101010011010
+11011000010000000000000000000000
+01100000000010001000101010011011
+01011000000000000010011100010000
+01100000000000011000101010011100
+11101010011000001000000000000000
+01100000000000001000101010011111
+00100000010000000110100110101110
+00011010011000010000110000000001
+11000010000000000011100010110111
+00100000011000000000000000000000
+00011010011000100000110000000000
+01101000000000001100011010011011
+01100000000000001000101010011010
+11011000010000000000000000000001
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011100
+01100000000000001000101010011010
+11011000010000000000000000000010
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011101
+01100000000000001000101010011010
+11011000010000000000000000000011
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011110
+01100000000000001000101010011010
+11011000010000000000000000000100
+00100000001000000011100011000110
+00011010011000100000110000000000
+01101000000000001100011010011111
+01100000000000001000101010011010
+11011000010000000000000000000101
+00100000001000000011100011000110
+11101000110000001000000000000000
+00100000011000000000000000000000
+00011000110000100010011000000000
+01101000000000001100011010100000
+11000000100000001011100011101110
+00100000010000000011100011110000
+00011010011000010000110000000100
+00100000011000000000000000000000
+01000100111011100100000000011011
+00100000010000000011100001110001
+00100000001101000011100011111110
+01101000000000001100011010100100
+00011111111000100000010000000000
+00011111111000001111111000000001
+01100000000000001100011010100100
+00100000010000000011100001100111
+00011000010010111000010000000000
+01011000000000000100011010100101
+10011000010000001000101000000000
+11101010011000100000000000000000
+11100000101000100000000000000000
+00100000001000000011100100000011
+00011010011000001000110000000011
+11101000110000001000000000000000
+00100000011110100000000000000000
+11101010011000100000000000000000
+11100010001000100000000000000000
+11011010001000000100011010100100
+11011010010000000000000000000000
+11011000010000000000000001010001
+00100000001000000110011000000110
+01101000000010001100011010011010
+00100000010000000110100000100101
+00100000011000000000000000000000
+01101000000010001100011010011010
+00100000010000000110100000101001
+01101000000010001100011010011010
+00100000010000000110100000100101
+00100000010000000011100100011101
+01101000000000001100011010100111
+00100100011110100000000000000000
+00100000010000000010110000101001
+01101000000100100000000100111000
+01111001001111111111111000001111
+01100000000100100000000001001100
+00100000010000000010110000100001
+11011000010111111111111111111111
+00100000001000000010101100101010
+01101000000000001100011010100111
+00100000001110100101011011111001
+00011111111000001111111111111111
+01100000000000001100011010100111
+00100000001000000101011011111001
+00011111111011111111111000010100
+11011000110000000100011010101000
+10011000110000001000110000000000
+11101000110000001000000000000000
+00100000011110100000000000000000
+00011111111000100010001000000000
+00011010001000100111001000000000
+11011000101000000100001101110010
+00100000010000000111111100000001
+00011010001000100111111000000000
+00011111111000001111111000000010
+01100000000000001100001101101111
+00100000011000000000000000000000
+00100000011101011000000000000000
+00100000010000000101011110100011
+00100000010000000110100010101000
+01011000000000000011100110000010
+01100000000000010100000111110011
+01011000000000000011100101101110
+01100000000000010100000111110001
+01011000000000000011100110000110
+01100000000000010100000111110101
+01011000000000000011100101101101
+01100000000000010100000111101111
+01011000000000000011100101101001
+01100000000000010100000111101001
+01011000000000000011101010110111
+01100000000000010100000111111011
+01011000000000000011110000110010
+01100000000000010100010101101111
+01011000000000000011110011000010
+01100000000000010100000111111001
+01011000000000000011110011010111
+01100000000000010100000111111101
+00100000010000000011100101111111
+01000100111011101100000000011011
+00100000010000000011100101000101
+00100000010000000011100101100100
+00100000010000000010110001101111
+00100000001000000011110001001000
+01101000000000100100011010101010
+01100000000100100000000001010100
+01101000000000100100011010101110
+01100000000100100000000001011010
+01101000000100001000000010000001
+00011111111000011111111000000100
+00011111111000010111111011111100
+01100000000100001000000010000001
+01110000100000000110001000000000
+01101000000000010100011010101010
+01100000000100010000000001011000
+01101000000000010100011010101110
+01100000000100010000000001011110
+01100000000100010000000001100000
+01101000000100100000000001111000
+01111001001000000111111000000111
+01100000000100100000000001111000
+01101000000100010000000001010000
+01111001001111111111111000001111
+01100000000100010000000001010000
+00100000010000000110011011001110
+01110000100000000100001100000000
+01110000100000000110001010000001
+01101000000000001100011010111111
+00101111111011111111111000000000
+01101000000110001000000001100010
+01111001001000001000010000000100
+01100000000110001000000001100010
+00100000011000000000000000000000
+00100000010000000011100101111111
+00100000001000000011100101000101
+01101000000010001100011010011110
+00100000010000000110100000001110
+00100000010000000011100111100110
+01101000000010001100011010011100
+00100000001000000110011111111011
+01101000000010001100011010011100
+00100000010000000110100000011101
+00100100001000001011001111010010
+00100000001000000011001111010000
+00100000011000000000000000000000
+00100000010000000011100101110000
+00100000001000000011110011101001
+01101000000000001100011010000010
+11000011000000100011100101111111
+01000100111011110100000000011011
+01011000000000000011111011111111
+01101000000010100100011011000101
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01101000000000010100011010000010
+11000010100000101011100101111111
+01101000000000001100011010111111
+11000011100000110000000000000000
+00100000010000000011110011101100
+00100000010000000011010000001110
+00011100010000100111111000000000
+01100000000000100100011011000101
+00100000011000000000000000000000
+00100000010000000011110011101001
+00100000010000000101001001101110
+00100100011110100000000000000000
+00100000001000000011100111101011
+00011010011000100111111000000000
+11000000000000001011100111010100
+11000000000000010011100110100011
+11000000000000100011100111010111
+11000000000000101011100111000100
+11000000000001000011100110101010
+11000000000001001011100110110001
+11000000000001010011100111001001
+11000000000001011011100110110110
+11000000000001100011100111000010
+11000000000010011011100111010111
+11000000000010100011100111001111
+11000000000010101011100111000110
+11000000000100001011100111001010
+11000000000100011011100111001011
+11000000000100100011100111001110
+11000000000110000011110010001010
+11000000000110001011110010001100
+11000000000110010011110010011010
+11000000000110011011110010011000
+11000000000110100011110010000100
+11000000000110101011110001110011
+11000000000110110011110010000010
+11000000000110111011110010001110
+11000000000111000011110010010000
+11000000000111011011110010100001
+11000000000111101011110001101010
+11000000001000001011100111011001
+00100000011000000000000000000000
+00100000010000000011100101111111
+01101000000000001100011001100101
+00100100010110100011110010001110
+00100000010000000011100111010111
+01101000000000010100011010000010
+11000100000000100000000000000000
+00100000001000000011100110110001
+01101000000000010100011010000010
+01111001001000000111111000000100
+01100000000000010100011010000010
+01101000000000001100011010100111
+01100000000000001100000101110010
+00100000010000000011100111100110
+00100000001000000011110000011101
+01101000000000010100011010000010
+11000100000000100000000000000000
+01111001001111111111111000000100
+01100000000000010100011010000010
+00100000001000000011110000100001
+00100000010000000011100101111111
+01101000000000010100000001000010
+00011111111000110111111000000000
+01101000000010010100000111100011
+10011000010001100111110000000000
+00100100001000101011100110111101
+00100000001000000011010000010110
+01101000000000001100011010111111
+11000011100000101000000000000000
+01101000000100010000000100010010
+00100100010110100011110011110000
+00100000001000000011010000001100
+00100000010000000011110011101110
+00100000001000000011010000011000
+00100000010000000011100101111111
+00100000001000000011100111011101
+00100000010000000101100000010110
+00100000010000000011100111010111
+00100000001000000011110000100011
+00100000001000000011001111011101
+00100000001000000011110011101110
+01101000000000001100011010111111
+11000011000000101011010000001110
+00100000001000000011110011110010
+00100000001000000011110011110010
+00100000010000000101100010111010
+00100000010000000011100111011101
+01101000000000001100011010101000
+01100000000000001100000101110010
+00100000001000000011110000011111
+01110000010001100110000100000000
+00100000010000000011110011101110
+00100000001000000011110011110010
+00100000010000000011101001010010
+00100000001000000011100111011011
+00100000010000000101110011001001
+00100000001000000101101100000010
+01101000000010001100011010011110
+00100000001000000110100000101001
+00100000010000000011100111011111
+00100000001000000011100111100110
+01101000000000001100011010100001
+00101111111011111111111000000000
+00100000010000001011001111110000
+01101000000000001100011010100001
+00101111111011111111111000000001
+00100000010000001011001111111000
+00100000011000000000000000000000
+01101000000010001100011010011110
+00100000001000000110100000100101
+01101000000000001100010101101011
+11000001000000000000000000000000
+00100000001000000110110000101000
+01101000000100001000000100001100
+11000010100000011011100111101000
+00100000010000000110011011001011
+11101000011000001000000000000000
+11000000100000001011101000000001
+01101000000100010000000100010010
+00011111111001100111110000000010
+00100000011000010000000000000000
+11101000011000001000000000000000
+01100000000000001000101100000011
+11101000011010001000000000000000
+00011000011000100010001000000000
+01100000000010001000101100000100
+00011000010000001000010000000011
+01101000000100010000000100010010
+10011000010001100000010000000000
+00100100011000010000000000000000
+01110000000010110000010100000001
+00100000010000000011101000010111
+01101000000000001000101100000101
+11000001000000000000000000000000
+00100000001000000011101000010010
+00100000010000000111111011000001
+00100000010000000011110001111001
+00100000001000000011101000000100
+01000100111011111100000000011011
+01101000000100010000000100010010
+00100000011110100000000000000000
+00100000010000000110011011001011
+11101000011000001000000000000000
+00011111111001100111110000000001
+00100100010000101011101000010110
+00100100001000101011101000000100
+11101000011000001000000000000000
+11000001000000101000000000000000
+11000001000101001000000000000000
+00011000011000001000011111111111
+00100000010000000011101000010110
+00100000001000000011101000000100
+00100000010000000110011011001011
+00011000011000001000011000000010
+11101000011000001000000000000000
+10011000011000001000011000000000
+00100000001000000110011011001000
+01000100111100000100000000011100
+01101000000000001000101100000011
+11000000000000000011101000111111
+11000000000000001011101001000100
+11000000000000010011101001001001
+11000000000000011011101001011111
+11000000000000100011101001101011
+11000000000000101011101001110101
+11000000000001001011101010011010
+11000000000001011011101011010111
+11000000000001100011101011011000
+11000000000001101011101011101100
+11000000000001110011101011110100
+11000000000001111011101011111010
+11000000000010000011101100000110
+11000000000010001011101100001110
+11000000000010010011101100010010
+11000000000100110011101100010110
+11000000000101000011101100011101
+11000000000101001011101100101101
+11000000000101010011101100110110
+11000000000101011011101101101001
+11000000000101100011101101101111
+11000000000110000011101101110110
+11000000000110001011101101111100
+11000000000110010011101110010000
+11000000000110011011101110011000
+11000000000110100011101110111011
+11000000000110101011101111000100
+11000000000110110011101111001101
+11000000000110111011101111010111
+11000000000111000011101111011010
+11000000001000000011101111100010
+11000000001000010011101111101100
+11000000001001000011101111110001
+11000000001001001011101111111100
+11000000001010001011110000000010
+11000000001100001011110000000110
+11000000011111111011110000010101
+00100000001000000011110000010111
+01101000000000001000101100000100
+11000000100000110011110000010111
+11101000011000110000000000000000
+01100000000000110100000010100000
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000110011110000010111
+11101000011000110000000000000000
+01100000000000110100010010100000
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+00011010001000100000011000000000
+00100000010000000011110000011010
+11101000011010001000000000000000
+01100000000010001100011010101001
+01101000000000010100011010000010
+11000011100001001000000000000000
+11000011100000000000000000000000
+01101000000000001100011010100001
+00101111111011111111111000000000
+00100100001000001011101001011000
+01101000000010001100011010101001
+00011000010000010111111000000011
+01100000000000001100000010010011
+01101000000000001100011010100001
+00101111111011111111111000000001
+00100100011000001000000000000000
+01101000000010001100011010101001
+00101000010011111111111000000010
+00100000001000001011001111111010
+00100000001000000011001111111000
+01101000000000001000101100000100
+00011111111001100111110001000011
+00100100001000010011110000010111
+01100000000000001100010100010101
+11011111001000000000000000001000
+00100000010000000111111011000110
+01101000000000001000101100000100
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100010100010110
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111001100111110000011101
+00100100001000010011110000010111
+01100000000000001100001110101111
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001110110000
+00100000010000000110011011101010
+00100000010000000101011110100011
+00100000001000000011110000011010
+01101000000000001100011010000010
+11000011000000100011110000010111
+00100000010000000011001110111010
+00100000001000001011101010000110
+01110000000010110000010100000000
+00100000010000000011100101111111
+01101000000000001100010101101000
+00100000011110100000000000000000
+01101000000000010100010101110011
+11000000100000000011101010000100
+01101000000000001000101100000100
+01100000000000010100010101110011
+00011010001000100000011000000000
+00011000011000100111111000000000
+01100000000000010100010101110001
+00100000010000000011101010001000
+00100000001000000110110001001101
+01110000000010110000010100000000
+00100000001000000011110011010001
+00100000010000000011101010001110
+01101000000000010100010101110011
+01101000000010010100011010011111
+10011000010001100111111000000000
+01100000000000010100010101110011
+00100000011000000000000000000000
+01101000000000010100010101110011
+11011000010000000000000001101110
+00100000010000000111111111011101
+01101000000010010100010101101100
+00100000010000000111111111011101
+01101000000010010100010101011110
+00100000010000000111111111011101
+01100000000000010100011010011111
+00100000011000000000000000000000
+01110000000010110000010100000001
+01110000000010110000001100000101
+00100000001000000011110000011010
+01101000000000010100011010000010
+11000011000001001011110000010111
+00100000010000000011101011010100
+00100000001101000011110000010111
+01110000000010110000010100000000
+01101000000000001100011010111111
+11000010100000100011101010110100
+01101000000000001100011011000000
+00100100011110100000000000000000
+01110000000010110000010100000001
+11101000011000010000000000000000
+01100000000000010100011011000001
+00011000011000100111111000000000
+01100000000000010100011011000011
+01101000000000001000101100000100
+00011111111000001111111111111110
+00100100001000010011110000010111
+00100000001000101011110000010111
+01100000000000001100011011000000
+01110000000010110000010100000000
+00100000010000000101100000010100
+00100000010000000011101010110111
+00100000010000000011101010110111
+00100000010000000011101010110111
+01101000000000001100011010111111
+11000100000000100000000000000000
+01110000000010110000010100000001
+00100000010000000011110011110110
+00100000001000000011110000011010
+01101000000000001100011011000000
+00100000011110100000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+00100000010000000011101011001111
+01000100111100001100000000011100
+00011000010000001111111111111101
+01101000000010001100011011000000
+00100000010000000111111111011101
+00011111111000100010001000000000
+00011000010000100111111000000000
+10011010001001100111111000000000
+01100000000000001100011011000000
+01101000000010010100011011000001
+00100000010000000101101001100100
+01101000000000010100011011000011
+00011111111000100000011000000000
+00011010001000100111001000000000
+00100000010000000110011011101010
+00011000011000100111111000000000
+01100000000000010100011011000011
+01101000000000001100011011000000
+00100100011110100000000000000000
+00100000001000000011110011110100
+11011000010000000000000000010111
+01101000000000001100011010111111
+11000011100000001000000000000000
+01101000000010010100010010101000
+00100000011000000000000000000000
+01101000000000001100011010111111
+11000010100000010101101001000010
+00100000001000000111111111101001
+00100000001000000011110001001100
+00011010001000100000011000000000
+11101000011000001000000000000000
+11000000000000000011101011011111
+11000000000000001011101011100010
+11000000000000010011101011101000
+11000000000000011011101011101010
+00100000001000000011110000010111
+00100000010000000110000100101011
+01110000010001100101101000000000
+00100000001000000011110000011010
+01011000000001000000000000000011
+01100000000000011100011001011011
+01100000000000001100011001100010
+00100000010000000110000100100100
+01110000010001100101101000000001
+00100000001000000011110000011010
+01011000000001000000000000000010
+00100000001000000011101011100011
+01011000000001000000000000000001
+00100000001000000011101011100011
+01101000000000001000101100000100
+00011111111001100111110000010000
+00100100001000010011110000010111
+01100000000000001100011010001001
+00011111111000100111001000000000
+11011000101000000100011010001010
+00100000010000000110011011111101
+00100000001000000011110000011010
+00011010001000100000011000000000
+11101000011000001000000000000000
+01101000000110001000000001100010
+01111101001110100000010000000100
+01100000000110001000000001100010
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111000100111001000000000
+00011010001000100000011000000000
+00100000010000000111111101011000
+01011001011011100011011000000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100001001000011
+00100000010000000011110000011010
+00100000010000000111111110011110
+00100000001000000110011011001110
+11011010001000000000000000000010
+11011010010000000100011010011010
+11011000010000000000000000000000
+00100000001000000011110000100101
+01100000000000010000101011000010
+11011010010000000000101011000010
+11011000010000000000000000000000
+00100000001000000011110000100101
+01101000000000010100011010000010
+11000011000000000011110000010111
+00100000010000000011110000011010
+00100000001000000011001111101001
+01101000000000010100011010000010
+11000011000001001011110000010111
+00100000010000000011110000011010
+00100000001000000011010000000010
+01101000000000001000101100000100
+00011111111000100111001000000000
+00011010001000100000011000000000
+01101000000000010100001000010101
+00011111111000100000101000000000
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000001100011010000010
+11000011000000000011110000010111
+11101000011000001000000000000000
+01101000000010001100011001100001
+01111001001110100000010000000000
+01111001001000000000010000000111
+01100000000010001100011001100001
+00100000010000000011110000011010
+01101000000000001100011001100001
+11000010100000110011101100101011
+00100000011000000000000000000000
+01110000010001100110000100000000
+01110000000010101001100100100001
+00100000001000000111110110001111
+11000010100000000101111110010101
+00100000001000000011101100101000
+01101000000000001100011010000010
+11000100000000100000000000000000
+01101000000000001100010101101011
+11000001000000000000000000000000
+11101000011000001000000000000000
+01101000000010001100010101101001
+10011000010000001000010000000000
+01100000000010001100010101101001
+00100000011000000000000000000000
+11011111001000000000000001000000
+11011000101000000100001101101111
+00100000010000000111111011010100
+01011000000000000000000000000000
+01100000000000001000101010110010
+00011010001000100000011000000000
+00011000011000100111111000000000
+01100000000000010000101010110110
+00100000010000000011101101100100
+01101000000000001000101010110010
+01101000000010001000101010100010
+00011000010000001000010000000001
+10011000010000001111111000000000
+01100000000000001000101010110010
+00011111111001100111110000011111
+00100100001000010011101101010000
+01101000000010001100001101101111
+01011000000000000100001101110000
+10011000010000001111111000000000
+01100000000000010000101010111011
+01101000000010001000101010100010
+00011000010000001000010000000001
+01101000000000001100001101101111
+10011000010000001111111000000000
+01100000000000001100001101101111
+00100000001000000011101101011001
+01101000000010001100001110001111
+01011000000000000100001110010000
+10011000010000001111111000000000
+01100000000000010000101010111011
+01101000000010001000101010100010
+00011000010000001000010000000001
+01101000000000001100001110001111
+10011000010000001111111000000000
+01100000000000001100001110001111
+01101000000000010000101010111011
+00011111111000100000101000000000
+01101000000000010000101010110110
+00011111111000100000011000000000
+00011000010000100111001000000000
+00100000010000000110011011101010
+01101000000000001000101100000100
+01101000000010001000101010110010
+10011000010001100111110000000000
+00100100001000101011101100111100
+00100000001000000011110000011010
+11101000011000001000000000000000
+01100000000000001000101010100010
+11101000011000001000000000000000
+01100000000000001000101010101110
+00100000011000000000000000000000
+11011000010000000000000000000000
+11011010001000000000000000000010
+01101000000000010100011010110100
+01100000000000010000101011000010
+11011010010000000000101011000010
+00100000001000000011110000100101
+01101000000000001000101100000100
+11000000100000001011110000010111
+11101000011000001000000000000000
+01100000000000001100011010110010
+01011000000000000000000000000000
+01100000000000010100011010110100
+00100000001000000011110000011010
+11101000011000100000000000000000
+01100000000000100100011010001010
+01110000010001101000100100000100
+01110000010001100110001100000000
+00100000010000000011110000011010
+00100000001000000101111100110001
+01101000000000001000101100000100
+11000000100000011011110000010111
+11101000011000001000000000000000
+11000000000000000011101110000010
+11000000000000001011101110001010
+00100000001000000011110000010111
+11101000011010001000000000000000
+11101000011000001000000000000000
+11000000000000010011101110001000
+01111101001110100000010000000111
+00100000010000000110011111111011
+00100000001000000011110000011010
+00100000010000000110100000000110
+00100000001000000011110000011010
+11101000011010001000000000000000
+00100000010000000110100000010010
+11101000011000001000000000000000
+00101111111011111111111000000000
+00100000010000000110100000101100
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+11101000011010001000000000000000
+00100000010000000110100000011101
+01011000000000000000000000000000
+01111101001000001111111000000000
+11011010001000000000000000000001
+00100000001000000011101100001010
+00011010001000100000011000000000
+11101000011000001000000000000000
+00011111111000100000010000000000
+11000000010000001011101110100011
+11000000010000010011101110101000
+11000000010000011011101110101110
+01100000000000001100010011000110
+11000000000000000011101110110011
+11000000000000001011101110110110
+11000000000000010011101110111000
+00100000001000000011110000010111
+01101000000000001100010010111110
+00100000001110100011110000010111
+01100000000010001100010011000110
+01110000010001000101011000001101
+00100000001000000011101110110100
+01101000000000001100010010111110
+00100000001110100011110000010111
+01100000000010001100010011000110
+01110000010001000101011000001101
+01110000010001000101010000000001
+00100000001000000011110000011010
+01101000000000001100010010111110
+00100000001110100011110000010111
+01100000000010001100010011000110
+01110000010001000101011000001101
+00100000001000000011101110111001
+01110000010001000101011000000000
+01110000010001000101010000000011
+00100000001000000011110000011010
+01110000010001000101011000000101
+00100000001000000011101110110100
+01110000010001000101011000000101
+01110000010001000101010000000000
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111001100111110000011111
+00100100001000010011110000010111
+01100000000000001100001101101111
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001101110000
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000001000101100000100
+00011111111001100111110000011111
+00100100001000010011110000010111
+01100000000000001100001110001111
+00011111111000100111001000000000
+00011010001000100000011000000000
+11011000101000000100001110010000
+00100000010000000110011011101010
+00100000001000000011110000011010
+01101000000000010100011010000010
+11000011000001001011110000010111
+01101000000000001000101100000100
+11000000100001000011110000010111
+00011010001000100000011000000000
+11101000011001000000000000000000
+01100000000001000100010010010110
+01110000000010101001100100010010
+00100000010000000111110110001111
+00100000001000000011110000011010
+11101000011000010000000000000000
+01100000000000010100010010000010
+00100000001000000011110000011010
+01101000000000001100010011000110
+00100000001110100011110000010111
+01101000000000001100010011000100
+11000000100000000011110000010111
+01101000000000001100010011000101
+11000000100000000011110000010111
+00100000010000000111111000100101
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000101011110000010111
+11101000011000001000000000000000
+01100000000000001100011010100010
+11101000011000100000000000000000
+01100000000000100100011010100011
+01101000000010001100011010100010
+00100000010000000110100000001110
+00100000010000000011110010111100
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+11101000011000001000000000000000
+01100000000000001100000111011110
+00100000001000000011110000011010
+11101000011000001000000000000000
+11000000000000001011101111111010
+01101000000000001100010011000001
+11000000000000011011101111111000
+11000000000000110011101111111000
+11000000000000111011101111111000
+00100000001000000011110000010111
+01110000010001001100001000000001
+00100000001000000011110000011010
+00100000010000000101101101010011
+00100000001000000011110000011010
+01101000000000001000101100000100
+11000000100000001011110000010111
+00100000010000000011110000011010
+11101000011000001000000000000000
+00100000001110100110000011001011
+00100000001000000110000011001001
+00100000010000000011110000011010
+00100000010000000111111110011110
+01110000100000000001000000000001
+00100000001000000010101010001110
+01101000000000001000101100000100
+11000000000000000011110000010111
+11101000011000001000000000000000
+00100000001110100011110000010011
+01101000000000001000101100000100
+11000000100000101011110000010111
+11101000011000100000000000000000
+11011000010011110100001001000000
+10011000010001100111110000000000
+00100000001000010011110000010111
+01100000000000100100010011000111
+00100000010000000101100000001100
+00100000001000000011110000011010
+00100000010000000101100000001110
+00100000001000000011110000011010
+01110000010000001001000100000000
+00100000001000000011110000011010
+11011000010000000000000000000001
+11011010001000000000000000000000
+00100000001000000011110000100101
+11011000010000000000000000000000
+11011010001000000000000000000000
+00100000001000000011110000100101
+01110000000010110000001100000000
+00100000001000000011110001001001
+01110000000010110000001100000010
+00100000001000000011110001001001
+01110000000010110000001100000011
+00100000001000000011110001001001
+01110000000010110000001100000101
+00100000001000000011110001001001
+01101000000000001000101100000011
+00011111111000100010011000000000
+01110000000010110000001100000110
+01011000000000000000000000000010
+10011010001000001111111000000000
+00100000010000000011110010100111
+00011010011000100111111000000000
+11100001010000001000000000000000
+11100001010010001000000000000000
+00011010001000100111001000000000
+00011010010000100000110000000000
+00100000010000000110011011100100
+00100000001000000110011011000101
+00100000010000000011100101111111
+01110000000010110000001100000111
+01101000000000001000010011111111
+00100000011110100000000000000000
+00100000010000000011110010100111
+01101000000000001000010011111111
+00011111111000100111001000000000
+01101000000000010000010100000001
+00011111111000100000110000000000
+00100000010000000110011011010001
+00100000001000000110011011000101
+01110000000010110000001100001000
+01101000000000001100011010110110
+00011111111000100111001000000000
+00011111111000001111111000000010
+00100000010000000011110010100111
+01101000000000010100011010111001
+11100001010000010000000000000000
+01101000000000010100011010110111
+00011111111000100000110000000000
+00100000010000000110011011010001
+00100000001000000110011011000101
+01110000000010110000001100001001
+01011000000000000000000000000000
+00100000010000000011110010100111
+00100000001000000110011011000101
+01110000000010110000001100001010
+01011000000000000000000000000001
+00100000010000000011110010100111
+00100000010000000011110001011101
+01101000000000010100011010000010
+11011000111000000000000000000010
+10101111111011111111111111111111
+01111001001000001000010000000011
+11011000111000000000000000001001
+10101111111011111111111111111111
+01111001001000001000010000000101
+01101000000000001100011010000010
+11011000111000000000000000000100
+10101111111011111111111111111111
+01111001001000001000010000000100
+11100001010010001000000000000000
+00100000001000000110011011000101
+11011000010000000000000000000000
+01101000000000001100000010010011
+11011000111000000000000000000000
+10101111111011111111111111111111
+01111001001000001000010000000000
+11011000111000000000000000000001
+10101111111011111111111111111111
+01111001001000001000010000000001
+01101000000000001100001101101110
+11011000111000000000000000000000
+10101111111011111111111111111111
+01111001001000001000010000000010
+00100000011000000000000000000000
+01110000000010110000001100001101
+01101000000000001100001000010111
+00011111111011111111111000100010
+00011111111000100111001000000000
+00100000010000000011110010100111
+01101000000000010100001000010101
+00011111111000100000110000000000
+00100000010000000110011011010001
+00100000001000000110011011000101
+01110000000010110000001100001110
+01011000000000000000000000000100
+00100000010000000011110010100111
+01101000000000100000100110111010
+11100001010000100000000000000000
+00100000001000000110011011000101
+01110000000010110000001100001111
+01101000000100010000000100010010
+11011000010000000000000011111111
+00100000010000000111111111011101
+00011111111000100111001000000000
+00100000010000000011110010100111
+00100000010000000110011011001011
+00100000010000000110011100000011
+00100000001000000110011011000101
+01110000000010110000001100010000
+00100000001000000011110001001001
+01110000000010110000001100010001
+01011000000000000000000000000100
+00100000010000000011110010100111
+01101000000000100100010011000111
+11100001010000100000000000000000
+00100000001000000110011011000101
+11011010001000000000000110000000
+00100000001000000011110010010001
+11011010001000000000000010000000
+00100000001000000011110010010001
+11011010001000000000000100000001
+00100000001000000011110010010001
+11011010001000000000000000000001
+01110000010001100110000100000000
+01110000000010110000001100010100
+01011000000000000000000000000010
+00100000010000000011110010100111
+00011010001000100111111000000000
+11100001010000010000000000000000
+00100000001000000110011011000101
+11011010011000000000000000000000
+00100000001000000011110010011011
+11011010011000000000000000000001
+01110000000010110000001100010101
+01011000000000000000000000000001
+00100000010000000011110010100111
+00011010011000100111111000000000
+11100001010000001000000000000000
+00100000001000000110011011000101
+01110000000010110000001100011101
+01011000000000000000000000000100
+00100000010000000011110010100111
+01101000000000100000100110111010
+11100001010000100000000000000000
+00100000001000000110011011000101
+01110000000010110000001000000010
+01100000000000001000101100000100
+01100000000011000000101010100010
+01000100111100010100000000011100
+00100000010000000011110010110001
+01101000000011000000101010100010
+00100000010000000110011011000010
+01101000000000011000101100000010
+11100001010000011000000000000000
+00100000011000000000000000000000
+00100000010000000011110010111010
+00100000011000001000000000000000
+00100000010000000011110010111000
+01101000000000100100011010100011
+00011111111010110111111000000000
+00100000011110100000000000000000
+00100000001000000011110010111110
+01101000000010001100011010100010
+00100000001000000110100000101001
+01101000000010001100011010100010
+00100000001000000110100000011011
+01101000000010001100011010100010
+00100000001000000110100000100101
+00011111111000001111111111111111
+00100000000000000000000000100110
+00100100001110100011110010111110
+00100000011000000000000000000000
+00100000010000000011101011010100
+00100000011101000000000000000000
+00011010001000100111111000000000
+01100000000000010100011010110111
+00011010010000100111111000000000
+01100000000000001100011010110110
+01101000000000010000010001111000
+01101000000010010100011010111011
+10011000010001100111110000000000
+00100000001000101011110011001111
+01101000000010010100011010111101
+10011000010001100111110000000000
+00100100011000101000000000000000
+01100000000000010100011010111001
+00100000001000000011110000111101
+01101000000000001100011010111111
+11000011100000101000000000000000
+00100000010000000011110011110000
+00100000001000000011010000001100
+01110000010000010111001000000010
+00100000011000000000000000000000
+00100000001000000011110011011000
+01101000000000001100011010110010
+00100000011110100000000000000000
+01101000000000001100011010110011
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011010110011
+00100100011110100000000000000000
+01110000010001101011001100001010
+00100000010000000110100011101011
+00100000010000000110100100001000
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011000000001110000010000000000
+01100000000000001100011010110100
+01100000000010001100011010110101
+00100000011000000000000000000000
+00100000010000000111111110110100
+00100000001000010011001111011001
+00100000001000000011001111011011
+11011000111000000000000000000110
+00100000001000000011110011111100
+11011000111000000000000000000110
+00100000001000000011110011111000
+11011000111000000000000000000101
+00100000001000000011110011111100
+11011000111000000000000000000101
+00100000001000000011110011111000
+11011000111000000000000000000100
+00100000001000000011110011111100
+11011000111000000000000000000100
+00100000001000000011110011111000
+01101000000000001100011010111111
+11111001001111111111111000000000
+01100000000000001100011010111111
+00100000011000000000000000000000
+01101000000000001100011010111111
+11111001001000000111111000000000
+01100000000000001100011010111111
+00100000011000000000000000000000
+00100000010000000011110100111001
+00100000010000000110010000001111
+00100000010000000100000011000110
+00100000010000000011110101100110
+00100000010000000110010000010001
+00100000011101011000000000000000
+00100000010000000011110100010110
+00100000010000000011110100011001
+01101000000000100100011011010011
+11000011100010000000000000000000
+00100000010000000011110101001110
+11000110000100110000000000000000
+01101000000000010100011010000010
+11000010100001100100001010110000
+00100000001000000100001010100010
+01101000000000100100011011010011
+11000100000011011000000000000000
+11011111001000000000000000010100
+01011000000000110000110101000000
+00100000010000000010101010001111
+11000010000000000111111011000001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000010000000000000000000
+00100000001000000100100011101010
+01011000000000000100000101101101
+01100000000000010100000111101111
+01011000000000000011111101110111
+01100000000000010100000111110001
+01011000000000000011111010111011
+01100000000000010100000111101101
+01011000000000000100000101111100
+01100000000000010100000111110101
+01011000000000000011110111100011
+01100000000000010100000111110011
+01011000000000000011111010110011
+01100000000000010100000111101011
+01011000000000000011110101011011
+01100000000000010100000111111001
+00100000010000000010110001111010
+01011000000000000100010000000001
+00011010011000001000101011011000
+11100000101000010000000000000000
+01011000000000000100010000000110
+00011010011000001000101011011010
+11100000101000010000000000000000
+01011000000000000011111010111111
+00011010011000001000101011011100
+11100000101000010000000000000000
+01011000000000000100000111111001
+01100000000000010100000111111101
+01011000000000000011110100110110
+01100000000000010100001000000001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000011000010010110010011010111
+00100000001000000110010011011010
+00100000011101011000000000000000
+00100000010000000010110010011101
+00100000010000000011111001101110
+00100000010000000011111000011110
+00100000010000000011111001010100
+00100000010000000101100000010000
+00100000010000000101100000111001
+00100000010000000101100000101100
+00100000010000000101100000011000
+01101000000000100100011011010011
+11000010100010100011110101000110
+11000010100010011100010000010100
+00100000011000000000000000000000
+00100000010000000110010110011100
+01101000000000100100011011010011
+00101111111011111111111000011001
+00100100010000001110010111000010
+00100000010000000100010000111111
+00100000010000000011110111001001
+00100000010000000100000110101010
+00100000001000000110010111011111
+01101000000000100100011011010011
+11000011000011110011110101010011
+01101000000000001000101010111101
+00101111111011000000000000000011
+00100100011000001000000000000000
+01101000000000001100011100011111
+01100000000000001100011100011110
+01101000000000001100011011110101
+11000011100000110000000000000000
+01101000000000100100011011010011
+11000100000010001000000000000000
+11000010100011101010111011100100
+00100000001000000010111100101100
+01101000000000001000010001111000
+00011111111001100111111000011010
+00100100011000101000000000000000
+01110000000010101001100100010010
+00100000010000000111110110001111
+11011000111000000000000000000000
+00100000001000000100000110111001
+01101000000000001100011010110110
+11000001000000001000000000000000
+01110000010001101011011000000001
+00100000011000000000000000000000
+01101000000000001100011011100001
+00011111111000010111111000001111
+01100000000000001100011101111010
+00100000001000000011110110000000
+01101000000010001100011011100111
+00100000010000000110100000011101
+00100100001000001011110101100010
+01101000000000001100011010110110
+11000001000000000000000000000000
+01110000010001101011011000000000
+01101000000000001100011101111010
+00011111111000001111111000000001
+00011111111000010111111000000011
+01100000000000001100011101111010
+00100000010000000011110101111110
+01101000000000100100011011010011
+11000010100010100100010000111011
+11000010100010011011110101111001
+00100000011000000000000000000000
+11011000010000000000000000011110
+00100000010000000110100000001110
+11011000010000000000000000011111
+00100000010000000110100000001110
+00100000001000000100010000110101
+01000100111100011100000000011100
+00100000010000000100001001001010
+01101000000000001100011011100000
+11000000000000101011110110101010
+11000000000000100011110110010110
+01101000000000001100011101111010
+11000000000000000011110110001010
+11000000000000001011110110001000
+11000000000000010011110110001100
+11000000000000011011110110001110
+01101000000000001100011110000000
+00100000001000000011110110111110
+01101000000000001100011101111111
+00100000001000000011110110111110
+01101000000000001100011110000001
+00100000001000000011110110111110
+01101000000000001100011110000010
+00100000001000000011110110111110
+01101000000000001100011011100000
+11000001000000110000000000000000
+01101000000000001100011010110101
+00011111111000001111111000000001
+01100000000000001100011010110101
+00100000011000000000000000000000
+01101000000000001100011101111010
+11000000000000000011110110011101
+11000000000000001011110110011011
+11000000000000010011110110011111
+11000000000000011011110110100001
+01101000000000001100011110000100
+00100000001000000011110110100010
+01101000000000001100011110000011
+00100000001000000011110110100010
+01101000000000001100011110000101
+00100000001000000011110110100010
+01101000000000001100011110000110
+01100000000000001100011010110101
+00011111111011010111111000000000
+00011111111000100010001000000000
+00011111111000001111111000001101
+00100000010000000110010000010011
+00011010001000100111111000000000
+00011111111000001111111000001110
+00100000001000000110010000010011
+01101000000000001100011101111010
+11000000000000000011110110110001
+11000000000000001011110110101111
+11000000000000010011110110110011
+11000000000000011011110110110101
+01101000000000001100011110001000
+00100000001000000011110110110110
+01101000000000001100011110000111
+00100000001000000011110110110110
+01101000000000001100011110001001
+00100000001000000011110110110110
+01101000000000001100011110001010
+01100000000000001100011010110101
+00100000010000000100000011000000
+01101000000000001100011010110101
+00011111111000001111111010000000
+00011111111011010111111000000000
+00011111111000001111111000000101
+00011111111000100010001000000000
+00100000001000000100000101011010
+01100000000000001100011010110101
+00100000010000000011110110010000
+01101000000000001100011010110101
+01011000000000000000000000000110
+00100000010000000110010000010100
+00011111111000010000010011111000
+01101000000000001100011010110101
+10011000010000001111111000000000
+00011111111011010111111000000000
+00011111111000001111111000000110
+00100000001000000110010000010011
+00100000010000000011001111000100
+00100000001000101100001100010110
+00100000010000000100010000011100
+00100000010000000100001011100100
+00100000001000000011001110111101
+01101000000000010100011100000111
+00100000011110100000000000000000
+01101000000000100100011011010011
+11000100000010001000000000000000
+11000011100000011000000000000000
+11000110000100110000000000000000
+00100000010000000100000010000011
+11000001100000111000000000000000
+00100000010000000100010010000010
+11011000111000000000000000000011
+00100000010000000100001111001110
+01011000000000000000000000000000
+01100000000000010100011010101110
+01100000000000001100011010110100
+00100000010000000011001001100011
+01101000000000010100011010000010
+11000010100000111100001110010010
+11000010100001001011010000000010
+11000010100000000011001111101001
+00100000010000000100001011001010
+00100000001000000010111010101101
+00100000010000000011110111001110
+00100000010000000111111000110100
+00100000010000000011110101101010
+00100000010000000011110111101001
+00100000010000000011111011100000
+00100000001000000011110111110111
+01101000000000100100011011010011
+11000100000010000000000000000000
+00100000010000000100100011010011
+00100000001000000100100011111101
+01101000000100001000101000000100
+11000011000000111011110111110001
+11000010100000111011110111110100
+00100000011000000000000000000000
+01101000000000001100011011111111
+11000100000000111000000000000000
+00100000001000000110010110011010
+01101000000000001100011011111111
+11000011100000111000000000000000
+00100000001000000100001110000001
+00100000010000000011110111101101
+01101000000100001000101000000100
+01100000000000001100011011111111
+11000100000000111000000000000000
+00100000010000000011111000000111
+01101000000000100100011011111001
+01101000000010001100011011111101
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01100000000000100100011011111001
+00100000010000000011111110010111
+00100100011101000000000000000000
+01110000000011010011100000000100
+00100000001000000011111000001111
+01101000000010100100011011111001
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100010000010011111000001100
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000100100011011111001
+00100000011000000000000000000000
+01101000000000001000110100111000
+11000100000000010000000000000000
+00100000001000000011111000010010
+01101000000100001000101000000100
+11000100000000111000000000000000
+01110000000011010101001000100000
+01011000000000000000000000000001
+01100000000000001000110101010100
+01101000000000111100011010011010
+11100000101000111000000000000000
+00100000011000000000000000000000
+01101000000100010000000001010000
+01111001001111111111111000001011
+01100000000100010000000001010000
+00100000011000000000000000000000
+01011000000000001000110000000000
+01100000000000010100010101110101
+01011000000000001000111001111010
+01100000000000010100010010111100
+01011000000000000010010000000010
+01100000000000010100000010111101
+01011000000000000010010110000000
+01100000000000011100000010101010
+01110000010000010111001100000011
+01110000010000010101011000001000
+01110000010001101101100100000001
+01011000000000000000001000000000
+01100000000000010100000101010100
+01110000010001001010011000010111
+01110000010001001010100000010111
+01011000000000000000101001110111
+01100000000000010100001000010010
+00111000000000000000001100000110
+00111000000001000100010001000000
+00111000000010010000000000000000
+00111000000011000100010000001000
+01100000000001001100010101110111
+00111000000000000001001000100100
+00111000000001000100000000000000
+00111000000010000000000000000000
+11100000101000101000000000000000
+00111000000000111111111111111111
+00111000000001101111111000100011
+00111000000010011001100111011001
+00111000000011000000001000001101
+01100000000001000100000010011000
+01011000000000000000000100101100
+01100000000000010100011100000111
+00100000010000000101011110100011
+01101000000000100100011011010011
+11000100000011111000000000000000
+00100000010000000011111001000100
+00100000001000000011111001001100
+01101000000010001100011011110111
+00100000010000000110011111111011
+01101000000010001100011011110111
+00100000010000000110100000011101
+01110000010001101111011000000011
+00100000011000001000000000000000
+01110000010001101111011000000010
+00100000011000000000000000000000
+01101000000010001100011011111000
+00100000010000000110011111111011
+01101000000010001100011011111000
+00100000010000000110100000011101
+01110000010000100010110100000000
+00100000011000001000000000000000
+01110000010000100010110100000010
+00100000011000000000000000000000
+01101000000000001100001000101101
+11000000000000000011111001011001
+11000000000000001011111001100010
+11000000000000010011111001101011
+00100000001000000011111001011001
+01101000000010010100001000100001
+01101000000000010100001000100111
+10011000010001100111111000000000
+00011111111011111111111000010100
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100011011010000
+00100000011000000000000000000000
+01101000000010010100001000011111
+01101000000000010100001000100101
+10011000010001100111111000000000
+00011111111011111111111011100110
+00011111111001101111110110010000
+00100000010000000111111110000110
+00011000000001111111111000000000
+01100000000000010100011011010000
+00100000011000000000000000000000
+01101000000000010100001000100011
+01100000000000010100011011010000
+00100000011000000000000000000000
+01101000000010001100001000111010
+00100000010000000110100000001110
+00100000010000000100100011111011
+01101000000010001100011011100010
+00100000010000000110011111111011
+01101000000010001100011011100011
+00100000010000000110011111111011
+01101000000010001100011011100100
+00100000010000000110011111111011
+01101000000010001100011011110011
+00100000010000000110011111111011
+01101000000010001100011011011100
+00100000010000000110100000001110
+01101000000010001100011011101000
+00100000010000000110011111111011
+01101000000010001100011011101001
+00100000010000000110011111111011
+01101000000010001100011011101010
+00100000010000000110011111111011
+01101000000010001100011011101011
+00100000010000000110011111111011
+01101000000010001100011011100101
+00100000010000000110011111111011
+01101000000010001100011011100110
+00100000010000000110011111111011
+01101000000010001100011011101111
+00100000010000000110100000001110
+01101000000010001100011011110000
+00100000010000000110100000001110
+01101000000010001100011011110001
+00100000010000000110100000001110
+01101000000010001100011011110010
+00100000010000000110100000001110
+01101000000010001100011011110100
+00100000010000000110100000001110
+01101000000010001100011011101101
+00100000010000000110011111111011
+01101000000010001100011011101100
+00100000010000000110011111111011
+01101000000010001100011011100111
+00100000001000000110011111111011
+01101000000010001100011011101000
+00100000010000000110011111011101
+01101000000010001100011011101001
+00100000010000000110011111011101
+01101000000010001100011011101010
+00100000010000000110011111011101
+01101000000010001100011011101011
+00100000001000000110011111011101
+01101000000010001100011011101000
+00100000010000000011111010100111
+01101000000010001100011011101001
+00100000010000000011111010100111
+01101000000010001100011011101010
+00100000010000000011111010100111
+01101000000010001100011011101011
+00100000001000000011111010100111
+00011000010001100111110011111111
+00100000011000101000000000000000
+00011000010000010000111001111111
+01101000000100100000000100011100
+10101111111011111111111111111111
+01101000000100100000000001111000
+11111001001000001111111000000000
+01100000000100100000000001111000
+01101000000100100000000001111100
+11111101001000001111111000000000
+01100000000100100000000001111100
+00100000011000000000000000000000
+01111000001101000111110000000000
+01101000000100100000000100111000
+01111001001101000111111000011010
+01100000000100100000000001001100
+00100000010000000010110000100001
+00100000010000000100010010000010
+00100000010000000011111010011111
+00100000001000000011111010111111
+00100000010000000011111010111111
+01101000000000001000000010100000
+00100100011110100000000000000000
+00100000001000000110011111101101
+00100000010000000011111011100000
+11011000010000000000000000011001
+01101000000000100100011011010011
+00101111111011111111111000010010
+00100000010000001011111011011110
+00100000010000000110100000001110
+00100000010000000110001111101110
+01101000000010001100011011100010
+00100000010000000110011111011101
+01101000000010001100011011100011
+00100000010000000110011111011101
+01101000000010001100011011100100
+00100000010000000110011111011101
+01101000000010001100011011100101
+00100000010000000110011111011101
+01101000000010001100011011100110
+00100000010000000110011111011101
+01101000000010001100011011100111
+00100000010000000110011111011101
+01101000000010001100011011101101
+00100000010000000110011111011101
+01101000000010001100011011101000
+00100000010000000110011111011101
+01101000000010001100011011101001
+00100000010000000110011111011101
+01101000000010001100011011101010
+00100000010000000110011111011101
+01101000000010001100011011101011
+00100000010000000110011111011101
+01101000000010001100011011110011
+00100000001000000110011111100001
+11011000010000000000000000011110
+00100000011000000000000000000000
+01000100111100100100000000011100
+00100000010000000011111011101110
+00100000010000000011111100110110
+01101000000000001100011010111000
+01101000000010001100011010110111
+01100000000000001100011010110111
+10011000010001100111110000000000
+00100100001000101011001111010100
+01101000000000001100011010111110
+01101000000010001100011010111101
+01100000000000001100011010111101
+10011000010001100111110000000000
+00100100001000101011001111010100
+00100000011000000000000000000000
+01101000000000001100011011101010
+11000001011111111000000000000000
+11011010001000000000000000000000
+01101000000010001100011011101010
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011101011
+00100000010000000110100000011101
+01111001001000001010001000000001
+00011010001000100111111000000000
+01100000000000001100011010111000
+11000000000000001011111011111110
+11000000000000010011111100000010
+01101000000000001100011010111001
+11000010100000111011111100001110
+00100000011000000000000000000000
+01101000000000001100011010110111
+11000000000000000011111100000110
+11000000000000011011111100001000
+00100000011000000000000000000000
+01101000000000001100011010110111
+11000000000000000011111100001010
+11000000000000011011111100001100
+00100000011000000000000000000000
+01110000010001101011100110000010
+00100000011000000000000000000000
+01110000010001101011100110000001
+00100000011000000000000000000000
+01110000010001101011100110000000
+00100000011000000000000000000000
+01110000010001101011100110000011
+00100000011000000000000000000000
+01101000000000001100011010111001
+01111001001111111111111000000111
+01100000000000001100011010111001
+11000000000000000011111100010110
+11000000000000001011111100011001
+11000000000000010011111100011100
+11000000000000011011111100011111
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000011011111100100010
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000000011111100100010
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000011011111100101100
+00100000011000000000000000000000
+01101000000000001100011010111000
+11000000000000000011111100101100
+00100000011000000000000000000000
+01101000000000001100011010111100
+00011111111000001111111000000001
+01100000000000001100011010111100
+00011111111001100111110000000001
+00100000011000010000000000000000
+01110000010001101011110000000000
+01101000000000001100011010111010
+00011111111000001111111000000001
+01100000000000001100011010111010
+00100000011000000000000000000000
+01101000000000001100011010111011
+00011111111000001111111000000001
+01100000000000001100011010111011
+00011111111001100111110000000001
+00100000011000010000000000000000
+01110000010001101011101100000000
+01101000000000001100011010111010
+00011111111000001111111111111111
+01100000000000001100011010111010
+00100000011000000000000000000000
+01101000000000001100011011101000
+11000001011111111000000000000000
+11011010001000000000000000000000
+01101000000010001100011011101000
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011101001
+00100000010000000110100000011101
+01111001001000001010001000000001
+00011010001000100111111000000000
+01100000000000001100011010111110
+11000000000000001011111101000110
+11000000000000010011111101001010
+01101000000000001100011010111111
+11000010100000111011111101010110
+00100000011000000000000000000000
+01101000000000001100011010111101
+11000000000000000011111101001110
+11000000000000011011111101010000
+00100000011000000000000000000000
+01101000000000001100011010111101
+11000000000000000011111101010010
+11000000000000011011111101010100
+00100000011000000000000000000000
+01110000010001101011111110000010
+00100000011000000000000000000000
+01110000010001101011111110000001
+00100000011000000000000000000000
+01110000010001101011111110000000
+00100000011000000000000000000000
+01110000010001101011111110000011
+00100000011000000000000000000000
+01101000000000001100011010111111
+01111001001111111111111000000111
+01100000000000001100011010111111
+11000000000000000011111101011110
+11000000000000001011111101100001
+11000000000000010011111101100100
+11000000000000011011111101100111
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000011011111101101010
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000000011111101101010
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000011011111101101111
+00100000011000000000000000000000
+01101000000000001100011010111110
+11000000000000000011111101101111
+00100000011000000000000000000000
+01110000010001101100001000000000
+01101000000000001100011011000000
+00011111111000001111111000000001
+01100000000000001100011011000000
+00100000011000000000000000000000
+01110000010001101100000100000000
+01101000000000001100011011000000
+00011111111000001111111111111111
+01100000000000001100011011000000
+00100000011000000000000000000000
+01011000000000000000000000000010
+01100000000000001100011010000000
+00100000011000000000000000000000
+01101000000000001100000111100010
+00100000011110100000000000000000
+00100000010000000101001001110001
+00100100011110100000000000000000
+01101000000000100100011011010011
+11000010100000011011111110001010
+11000010100000000011111110001010
+11000010100000101011111110001010
+00100000010000000011111110010111
+00100100011101000000000000000000
+11011010001000000000000000001001
+00100000010000000100110101100011
+01101000000000010100001001001110
+11100000101000010000000000000000
+01011000000000000000001010100001
+11100000101000010000000000000000
+01101000000000111100011010011010
+11100000101000111000000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000111100011010011010
+00100000001000000011111110000001
+01101000000000010100011010101010
+01100000000000010100011010110000
+00100000011000000000000000000000
+01000100111100101100000000011100
+11011010001000000000000000000111
+01101000000010010100010001101111
+00100000010000000101101001100100
+01101000000000111100011010011010
+11100000101000111000000000000000
+00100000011000000000000000000000
+01000100111100110100000000011100
+01111000010101000111110000000000
+01011000000000000000000000000000
+01100000000000110100011010011011
+00100000010000000011111110110101
+00100000010000000100000001111001
+00100000010000000100000001111110
+00100000010000000100000010011001
+00100100011101000000000000000000
+00100000010000000011111110001101
+11011000111000000000000000001000
+00100000001000000100001111001110
+01101000000000010100011010011011
+00011111111001100111111000000000
+01100000000000010100011010011011
+00100000001000000111111111100111
+01101000000000010100011010011101
+00011111111001100111111000000000
+01100000000000010100011010011101
+00100000001000000111111111100111
+01101000000000010100011010011101
+00011111111001100111111000000000
+01100000000000010100011010011101
+01101000000000010100011010011011
+00011111111001100111111000000000
+01100000000000010100011010011011
+00100000010000000100000000000010
+00100000001000000111111111100111
+00100000010000000100000000000010
+00100000001000000111111111100111
+01101000000000001100001000111001
+11000001100000000000000000000000
+01101000000000001100011011100000
+11000000000000000011111111100010
+11000000000000001011111111100010
+11000000000000010011111111100010
+11000000000000011011111111100010
+11000000000000100011111111000100
+11000000000000101100000000010000
+11000000000000110011111111100010
+00100000001000000011111111100010
+01101000000000001100011010100111
+00100000010110100100000001011101
+01110000010001101010011100000001
+00100000011000000000000000000000
+00100000010000000011111111000000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+01011000000000000000000000000000
+00100000010000000110010000010100
+11000000100110000100000011010001
+01011000000000000000000000000010
+00100000010000000110010000010100
+11000100000000111000000000000000
+00100000010000000100000001011101
+00100000010000000011111111011110
+01100000000000001100011010100001
+00011111111100011111111000000000
+00100000010000000100000101101001
+01100000000000001100011010011100
+01101000000000001100011010100001
+00011111111000010111111000001111
+00100000010000000100000101101001
+01100000000000001100011010011110
+01101000000000001100011011110110
+11000000000000000011111110100011
+11000000000000001011111110101011
+11000000000000010011111110100111
+11000000000000011011111110110011
+00100000011000000000000000000000
+01011000000000000000000000010010
+00100000001000000110010000010100
+11000000000110001011111111101010
+00100000001000000100000011010001
+00100000010000000011111111000000
+01111000010101000111110000000000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+01011000000000000000000000000000
+00100000010000000110010000010100
+11000000100110000011111111100000
+01011000000000000000000000000010
+00100000010000000110010000010100
+11000100000000111000000000000000
+00100000010000000100000001011101
+01101000000000001100011010011011
+00100000010000000100000101100101
+01100000000000010100011010011011
+01101000000000001100011010011101
+00100000010000000100000101100101
+01100000000000010100011010011101
+01101000000000001100011011110110
+11000000000000000011111111111010
+11000000000000001011111111111100
+11000000000000010011111111111110
+11000000000000011100000000000000
+00100000011000000000000000000000
+00100000010000000011111110100011
+00100000001000000100000010110011
+00100000010000000011111110101011
+00100000001000000100000010110011
+00100000010000000011111110100111
+00100000001000000100000010110011
+00100000010000000011111110110011
+00100000001000000100000010110011
+01101000000000010100011010011101
+01101000000010010100011010011011
+01100000000000010100011010011011
+01100000000010010100011010011101
+00100000011000000000000000000000
+00100000010000000110010000001111
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000010000000110010000010100
+00011111111000100010010000000000
+00100000010000000110010000010001
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000011000000000000000000000
+01111000010101000111110000000000
+01101000000010001100011011110011
+00100000010000000110100000011101
+00100100011000001000000000000000
+11011010010000000000000000000010
+00100000010000000100000000000111
+11000100000000111000000000000000
+11011010010000000000000000000000
+00100000010000000100000000000111
+01100000000000001100011011011101
+11000000100111110100000101000101
+01101000000000001100011010100111
+00100000010110100100000000111001
+01110000010001101010011100000001
+00100000010000000100000000111001
+01101000000000001100011010100001
+00011111111100011111111000000000
+00100000010000000100000101101001
+01100000000000001100011010011100
+01101000000000001100011010100001
+00011111111000010111111000001111
+00100000010000000100000101101001
+01100000000000001100011010011110
+01101000000000001100011011110110
+11000000000000000100000000110001
+11000000000000001100000000110101
+11000000000000010100000000110011
+11000000000000011100000000110111
+00100000011000000000000000000000
+01101000000000001100011010100100
+11000000000000000100000001010001
+11000000000000001100000001000101
+00100000011000000000000000000000
+00100000010000000011111110100011
+00100000001000000100000000101101
+00100000010000000011111110100111
+00100000001000000100000000101101
+00100000010000000011111110101011
+00100000001000000100000000101101
+00100000010000000011111110110011
+00100000001000000100000000101101
+00100000010000000110010000001111
+00100000010000000100000001011101
+11011111111000000000000000000101
+00100000010000000110010000010100
+01100000000000001100011010100001
+11011111111000000000000000000111
+00100000010000000110010000010100
+01100000000000001100011010100010
+11011111111000000000000000001000
+00100000010000000110010000010100
+01100000000000001100011010100011
+00100000001000000110010000010001
+01101000000000001100011010100010
+11000001100000000000000000000000
+01101000000000001100011010100011
+00011111111001100111110000101101
+00100000011000010000000000000000
+01110000010001101010010000000000
+01011000000000001011101001000001
+00100000010000000110010000000101
+01011000000000000000000000110010
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+01101000000000001100011010100010
+11000001100000000000000000000000
+01101000000000001100011010100011
+00011111111001100111110000101101
+00100100011000010000000000000000
+01110000010001101010010000000001
+01011000000000001011101001000001
+00100000010000000110010000000101
+01011000000000001000000000110010
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+11011111111000000000000000000011
+00100000010000000110010000010100
+01100000000000010100011010011011
+11011111111000000000000000000100
+00100000010000000110010000010100
+01100000000000010100011010011101
+00100000011000000000000000000000
+11011000010000000000000000011011
+00100000010000000110011111111011
+11011000010000000000000000011011
+00100000010000000110100000011101
+00100000011000001000000000000000
+01101000000100001000000100001001
+01111001001000000111111000000100
+01100000000100001000000100001001
+00100000011000000000000000000000
+01101000000010001100011011000000
+01101000000100001000000100001001
+10011000010000001111111000000000
+00100000011110100000000000000000
+01100000000000001100011010011111
+01110000010001101100000000000000
+00100000001000000111111111100111
+01101000000010001100011011000000
+01101000000100001000000100001001
+10011000010000001111111000000000
+01100000000000001100011011000000
+00100000011000000000000000000000
+01101000000000001100011011000000
+00100000011110100000000000000000
+01100000000000001100011010011111
+01110000010001101100000000000000
+00100000001000000111111111100111
+01101000000000001100011010111010
+00100000011110100000000000000000
+01100000000000001100011010100000
+01110000010001101011101000000000
+00100000001000000111111111100111
+11011010001000000000000000000000
+01101000000010001100011011100010
+00100000010000000110100000011101
+01111001001000001010001000000000
+01101000000010001100011011100011
+00100000010000000110100000011101
+01111001001000001010001000000001
+01101000000010001100011011100100
+00100000010000000110100000011101
+01111001001000001010001000000010
+00100000010000000100000010010000
+00011010001000100111111000000000
+00100000011000000000000000000000
+01101000000000001100011011100101
+11000001011111111000000000000000
+01101000000010001100011011100101
+00100000010000000110100000011101
+01111001001000001010001000000011
+01101000000010001100011011100110
+00100000010000000110100000011101
+01111001001000001010001000000100
+00100000011000000000000000000000
+00100000010000000100000010000011
+00100000010000000100000010101000
+00100000010000000100000010100011
+00011010001000100111111000000000
+01101000000010001100011010011010
+01100000000000001100011010011010
+10011000010000101111111000000000
+00011111111001100111110000000000
+00100000011000101000000000000000
+00100000001000000111111111100111
+11000110100100110000000000000000
+00011010001000100111111000000000
+00100000011110100000000000000000
+01100000000000001100011010011010
+00100000001000000111111111100111
+01101000000000010100011010000010
+11000010100001001100000010101101
+01101000000000010100011010000010
+11000010100000000100000010110000
+00100000011000000000000000000000
+00011010001000100111111000000000
+00100100001110100101100000100000
+00100000001000000101100000100010
+00011010001000100111111000000000
+00100100001110100010101111000111
+00100000001000000010101111001001
+01000100111100111100000000011100
+11011000010000000000000000011010
+01101000000000100100011011010011
+00101111111011111111111000010010
+00100000010000001100000010111110
+00100000010000000110100000011101
+00100000011000001000000000000000
+01011000000000000000000000001010
+00100000010000000110010000010100
+00100000000000000000001111101000
+00100000001000000100000010110011
+11011000010000000000000000011111
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000010100010010100000011000100
+11011000010000000000000000011010
+00100000001000000110011111111110
+11011000010000000000000000011111
+00100000001000000110011111111110
+00100000010000000011110100110110
+00100000011101011000000000000000
+00100000010000000100000011000000
+01101000000000001100011011100000
+11000000000000101100000011010101
+00100000010000000100000011011001
+11000000000110000100000011100000
+11000000000110001100000011101010
+00100000010000000100000011010001
+00100000000000000000001111101000
+00100000001000000100000011001011
+01000100111101000100000000011101
+01101000000000100100011011010011
+11000010100010010110001111100000
+00100000001000000110001111010001
+00100000010000000100000011011001
+11000000000111110100000101001011
+00100000010000000100000101000101
+00100000001000000100000011010101
+01011000000000000000000000000001
+00100000010000000110010000010100
+01100000000000001100011011011110
+01011000000000000000000000000000
+00100000010000000110010000010100
+01100000000000001100011011011101
+00100000011000000000000000000000
+01101000000000001100011011011110
+11000000011010001100000100111001
+11000000011010010100000011111000
+11000000000000010100000011101110
+11000000001010100100000011100110
+00100000011000000000000000000000
+01110000010001101110000000000010
+00100000011000000000000000000000
+01110000010001101110000000000110
+00100000011000000000000000000000
+01101000000000001100011011011110
+11000000001110000100000011101000
+01110000010001101110000000000001
+00100000011000000000000000000000
+01110000010001101110000000000100
+00100000010000000100000011110110
+01011000000000000011010000100110
+00100000010000000110010000010011
+01011000000000000000010000011001
+00100000010000000110010000010011
+01011000000000000000000000001001
+00100000001000000110010000010011
+01011000000000000101101000001001
+00100000001000000110010000010011
+01110000010001101110000000000011
+00100000010000000100000011110110
+01011000000000000000111100001101
+00100000010000000110010000010011
+01011000000000001110001100011101
+00100000010000000110010000010011
+01011000000000001101001001111101
+00100000010000000110010000010011
+00100000010000000100000100000010
+00100000001000000100000100011010
+01011000000000000011010100011011
+00100000010000000110010000010011
+01011000000000001011010000101000
+00100000010000000110010000010011
+01011000000000000100011000101001
+00100000010000000110010000010011
+01011000000000001001011000101010
+00100000010000000110010000010011
+01011000000000001000110000101011
+00100000010000000110010000010011
+01011000000000000110111000101100
+00100000010000000110010000010011
+01011000000000000110010000101101
+00100000010000000110010000010011
+01011000000000000101111100111000
+00100000010000000110010000010011
+01011000000000000000111100111001
+00100000010000000110010000010011
+01011000000000000011001000111010
+00100000010000000110010000010011
+01011000000000000100011100111011
+00100000010000000110010000010011
+01011000000000000001000001000010
+00100000001000000110010000010011
+01011000000000000010111001010100
+00100000010000000110010000010011
+01011000000000001111001001010101
+00100000010000000110010000010011
+01011000000000001111010001100001
+00100000010000000110010000010011
+01011000000000000111000001100011
+00100000010000000110010000010011
+01011000000000000101001001110101
+00100000010000000110010000010011
+01011000000000000100000101110110
+00100000010000000110010000010011
+01011000000000001110110101110111
+00100000010000000110010000010011
+01011000000000000010001101111000
+00100000010000000110010000010011
+01011000000000000100011001111001
+00100000010000000110010000010011
+01011000000000001110010101111010
+00100000010000000110010000010011
+01011000000000000100100001111100
+00100000010000000110010000010011
+01011000000000000111011101111110
+00100000010000000110010000010011
+01011000000000000000000101111111
+00100000010000000110010000010011
+01011000000000000000000000001011
+00100000010000000110010000010011
+01011000000000000000000001111111
+00100000010000000110010000010011
+00100000001000000100000011110100
+01110000010001101110000000000000
+00100000010000000100000011110110
+01011000000000000001000000001101
+00100000010000000110010000010011
+01011000000000001110110100011101
+00100000010000000110010000010011
+01011000000000001000000001111101
+00100000010000000110010000010011
+00100000010000000100000100000010
+01011000000000000000100101000011
+00100000010000000110010000010011
+00100000001000000100000100011010
+01101000000010001100011011011100
+00100000010000000110100000101001
+00100000010000000111111011000001
+01101000000010001100011011011100
+00100000010000000110100000100101
+00100000001000000111111011000001
+01110000010001101110000000000101
+01011000000000001011101001000001
+00100000010000000110010000000101
+01011000000000000000110100010001
+00100000010000000110010000000101
+01011000000000000000010000011011
+00100000010000000110010000000101
+01011000000000000000010000011100
+00100000010000000110010000000101
+01011000000000000000111100011101
+00100000010000000110010000000101
+01011000000000000000000000110010
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+01011000000000001011101001000001
+00100000010000000110010000000101
+00100000000000000000111110100000
+01011000000000001111111101111111
+00100000010000000110010000000101
+00011010001000100111111000000000
+00100000010000000110010000000101
+01011000000000000000000001111111
+00100000010000000110010000000101
+01011000000000001011010101000001
+00100000001000000110010000000101
+11000100000000111000000000000000
+11011000010000001111111100000000
+10011000010000011111111000000000
+00100000011000000000000000000000
+11000100000000011000000000000000
+11011000010000000000000011110000
+10011000010000011111111000000000
+00100000011000000000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+01101000000000001100011011000101
+00011111111000010111111000000011
+11000001100000011000000000000000
+01101000000000100100011011010011
+11000010100000011100000101111001
+11000010100000000100000101111001
+11000010100000101100000101111001
+00100000010000000011111110010111
+00100100011101000000000000000000
+00100000001000000011111110010000
+01011000000000000000000000000000
+01100000000000111100011010011010
+00100000001000000011111110010000
+00011010011000100111111000000000
+11000000000010100100000111000011
+11000000000000001100001011001010
+11000000000010101100000111011001
+11000000000000010100000111011001
+11000000000000101100000111010110
+11000000000010000100001001101100
+11000000000010010100001010011011
+11000000000000110100000111010101
+11000000000000100100000111001100
+11000000000010011100000111001100
+11000000000001010100000111001010
+11000000000101110011001111001101
+11000000000110001100000110110100
+11000000000110010100000110110110
+11000000000111110100000110010001
+11000000000100111100001110001110
+11000000000111001100000110011100
+11000000000111010100000110010010
+11000000000111100100000110011010
+00100000011000000000000000000000
+00100000001000000011010000010000
+01110000010001111000101100000001
+01101000000000001100011100011110
+00100100001110100100010010010010
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000001000101011010000001010
+00100000011000000000000000000000
+01110000010001111000101100000001
+00100000011000000000000000000000
+01110000010001111000101100000001
+11011000111000000000000000000011
+00100000010000000100001111010010
+01011000000000000000000000000000
+01100000000000010100011100000111
+01110000010001101010011100000000
+01101000000000001100011011100000
+00011111111001100111110000000101
+00100000010000101100000000111001
+00100100010000101100000001011101
+01101000000000001000000000000100
+11000010100010011100000110101111
+00100000010000000100000110101010
+00100000001000000110010111010001
+00100000010000000010110001111010
+00011010011000001010001010101110
+11011010010000000000000001011011
+11011000010000000000000000000100
+00100000011000000000000000000000
+00100000010000000010110001111010
+00011010011000001010010010101110
+11101010010000001000000000000000
+01100000000000001100011101111011
+00100000001000000100010000110101
+11011000111000000000000000000010
+00100000001000000100000110111001
+01110000010001101100011000000010
+11011000111000000000000000000001
+00100000001000000100000110111001
+01101000000000001100011011000101
+11111001001000000111111000000000
+01100000000000001100011011000101
+00100000011000000000000000000000
+01101000000000001100011011000101
+11111001001111111111111000000000
+01100000000000001100011011000101
+00100000011000000000000000000000
+01110000010001101100010100000000
+00100000011000000000000000000000
+01101000000000010100001000001010
+01111001001111111111111000000000
+01100000000000010100001000001010
+01011000000000000000000000000000
+01100000000000010100011010101110
+00100000010000000011111110001101
+00100000001000000100001011001010
+00100000010000000110001111001011
+00100000001000000011001111011101
+01101000000000001100011100011110
+00100100001110100100010010010010
+01101000000000010100011010000010
+11000010100001100100001010110000
+01101000000000100100011011010011
+11000010100000000100000111010111
+11000010100000101100001010110000
+11000010100000011010111010101101
+00100000001000000011001110100111
+00100000001000000011111101110100
+00100000011000000000000000000000
+00100000010000000100001111000000
+00100000001000000110010110011010
+01000100111101001100000000011101
+00100000010000000100000111100111
+01101000000000100100011011010011
+11000010100000000100000111010111
+11000010100000011010111010101101
+01101000000000001100011100011110
+00100100001110100100010010010010
+01101000000000010100001000001000
+11000010100000111100000111110101
+11000010100000000011001110101001
+11000010100000001100000111101111
+11000010100000010100000111110010
+11000010100000011100000111110010
+00100000001000000100001010110000
+01011000000000000000000000000000
+01100000000001000100011010110111
+11100000101000100000000000000000
+01110000010001101011010000000000
+01110000010001101010011100000000
+01110000010000011110001000000000
+01110000010001000010100100000000
+00100000011000000000000000000000
+11000010100000101100000111110010
+11000010100000011100000111110010
+00100000001000000100001010110000
+01101000000000010100011010000010
+11000010100001100100001010110000
+00100000001000000011001110100111
+00100000010000000100000111000001
+01101000000000010100001000001000
+11000010100000000011001110101001
+00100000001000000011001110100111
+00100000010000000100001111010110
+00100000010000000100001001000011
+00100000010000000100001001000110
+00100000010000000100001001010000
+00100000010000000100010001011101
+00100000010000000100010001000011
+00100000010000000100001100110011
+00100000010000000100001110100101
+00100000010000000100001111101011
+00100000010000000100001000001001
+00100000010000000100001000110001
+00100000010000000100001000110100
+00100000010000000100001000110111
+00100000010000000100001000111010
+00100000010000000100001000111101
+00100000001000000100001001000000
+01101000000000001100011100010001
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011100010001
+00100100011110100000000000000000
+00100000001000000100001000001111
+01101000000000001100011100010010
+11000001000000000000000000000000
+11000000000000101100001000010110
+00100000010000000100001000100101
+01110000010001110001001000000101
+01110000010001110001000100000101
+00100000011000000000000000000000
+00100000010000000100001000101100
+01110000010001110001001000000100
+01110000010001110001000100000101
+00100000011000000000000000000000
+01011000000000001000000000000110
+00100000010000000110010000010011
+00100000000000000000001111101000
+01110000010001110001000100000000
+01110000010001110001001000000000
+00100000001000000100000011100000
+01011000000000001010000000000110
+00100000010000000110010000010011
+01011000000000001010000000000101
+00100000001000000110010000010011
+01110000010001110001000100000000
+01101000000000001100011011100000
+11000000000000100100001000100000
+01011000000000000000000100000110
+00100000010000000110010000010011
+01011000000000001010000100000101
+00100000001000000110010000010011
+01110000010001110001000100000000
+01011000000000000000100100000110
+00100000001000000110010000010011
+01110000010001110001000100000101
+01110000010001110001001000000001
+00100000011000000000000000000000
+11011010011000000100011010000000
+11011010010000000100001010011011
+00100000001000000011001101101101
+11011010011000000100011010101100
+11011010010000000100001001100100
+00100000001000000011001101110100
+11011010011000000100011010101110
+11011010010000000100001001100110
+00100000001000000011001101110100
+11011010011000000100011010110000
+11011010010000000100001001101010
+00100000001000000011001101110100
+11011010011000000100011011000100
+11011010010000000100010001111000
+00100000001000000011001101101101
+11011010011000000100011011000110
+11011010010000000100001001011110
+00100000001000000011001101101101
+11011010011000000100011100000100
+11011010010000000100001001001001
+00100000001000000011001101101101
+11011010011000000100011100000111
+11011010010000000100001001001001
+00100000001000000011001101110100
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000010111000000000000000
+01110000010001101101111100001010
+01101000000000001100011011110100
+01100000000000001100011100010101
+00100000011000000000000000000000
+11011010011000000100011011011111
+11011010010000000100001001010011
+00100000001000000011001101101101
+01101000000000001100011011110100
+01100000000000001100011100010101
+01011000000000000000000110010000
+01100000000000010100011100010110
+01100000000000010100011100011000
+11011010001000000000000000000000
+01101000000010001100011101111010
+00011000010000001000010000000001
+01100000000010001100011100010100
+01110000010001110001001100000001
+00100000011000000000000000000000
+01101000000000001100011011000101
+11000011100000010000000000000000
+01110000000010101001100100010010
+00100000010000000111110110001111
+11011000111000000000000000000000
+00100000001000000100000110111001
+00100000010000000100001011001010
+00100000001000000011010000001010
+00100000010000000011001111110110
+01101000000000001100011100011110
+00100100001110100100010010010010
+00100000001000000011010000001010
+11000101000100110111111000011101
+00100000001000000100001110000110
+01000100111101010100000000011101
+01110000010001101011010000000000
+00100000010000000100001110000110
+00100000010000000100000111000001
+00100000001000000100001010110000
+01101000000000110100000111010000
+00100000001110100011001111101011
+00100000010000000100001001111110
+01110000000000010110110100010111
+01101000000000001100011001011010
+00100100001110100011001111100001
+01110000000000010110110100000100
+00100000001000000011001111100001
+01101000000000010100011010101000
+01100000000000010100011010101110
+00100000010000000100001001111110
+00100000010000000011010000011000
+00100000001000000111110111110100
+01011000000000000000000011001000
+01100000000000010100011100010110
+01100000000000010100011100011000
+00100000001000000100001010000101
+01011000000000000000001111101000
+01100000000000010100011100010110
+01100000000000010100011100011000
+01101000000000001100011100100000
+11000000000000001100001010001010
+11000000000000010100001010001100
+11000000000000011100001010001110
+00100000011000000000000000000000
+01101000000000001100011011110000
+00100000001000000100001010001111
+01101000000000001100011011110001
+00100000001000000100001010001111
+01101000000000001100011011110010
+01100000000000001000101010100010
+00100000010000000100010010000010
+01101000000000001000101010100010
+01100000000000001100011100010101
+11011010001000000000000000000000
+01110000010001110001001100000001
+00100000001000000111110100011110
+11011010001000000000000000000000
+00100000001000000111110100011001
+11011010001000000000000000000000
+00100000001000000111110100010100
+00100000001000000100000111000001
+01110000010000011110001000000001
+00100000010000000011010000010110
+00100000010000000011010000010010
+01011000000000000000000000000000
+01100000000000010100011001111110
+01100000000000001100011010000000
+00100000001000000011010000001110
+00100000010000000100001101011111
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000001000101100001010101011
+01101000000000001100001000010000
+11000000000110011100001001110001
+11000000000110100100001001111001
+00100000001000000100001010110000
+00100000010000000011110101010111
+11000110000100110000000000000000
+01101000000000001100011100011110
+00100100001110100100010010010010
+00100000011000000000000000000000
+01000100111101011100000000011101
+01101000000000010100011010000010
+11000010100001011100001010110111
+01101000000000100100011011010011
+11000011000011000100001010110111
+00011000000010100111111000000000
+01100000000000001100010010100001
+00100000010000000011010000011000
+01101000000000010100011010000111
+01100000000000010100011010101100
+01110000000000010110110100000110
+01011000000000000000000000000000
+01100000000000010100011010110000
+01100000000000010100011010101110
+11011000111000000000000000000111
+00100000010000000100001111001110
+00100000010000000100001111001010
+01101000000000001100000010010010
+00101111111011111111111000000001
+00100000010000001111110111110100
+01101000000000001100000010010010
+00101111111011111111111000000000
+00100000010000001111110111011101
+01101000000000100100011011010011
+11000010100011100100001000101110
+00100000001000000100001010000010
+01000100111101100100000000011101
+01101000000000001100000010010010
+00101111111011111111111000000001
+00100000010000001100001011010100
+01101000000000001100000010010010
+00101111111011111111111000000000
+00100000010000001100001011010111
+01101000000000100100011011010011
+11000010100011100100001000011010
+00100000001000000100010010000010
+01011000000000000000000000000000
+01100000000000010100011010101110
+00100000001000000111110111111010
+01011000000000000000000000000000
+01100000000000010100011010101100
+00100000001000000111110111100010
+01101000000000100100011011010011
+11000100000000111000000000000000
+11011000111000000000000000000111
+00100000010000000100001111010010
+00100000010000000100001011101000
+00100000010000000100001011111011
+01101000000000100100011011010011
+11000010100010011100010000110101
+11000010100010100100001011100100
+00100000011000000000000000000000
+11011000010000000000000001011000
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000001000000110010111010001
+01101000000000001000000110000101
+11000000000110100100001011101100
+11000000000110011100001011101111
+00100000011000000000000000000000
+01100000000000001100011011000111
+01101000000000110000010001001111
+00100000001000000100001011110001
+01100000000000001100011011000111
+01101000000000110000000001000000
+01100000000000110100011011001000
+01101000000000111100011011000111
+11011000110000000100011100100001
+11011111001000000000000000000011
+11101000110010111000000000000000
+10011000010001100111110000000000
+00100000001000101100001100010000
+00011000110000001000110000010110
+11000010000000000100001011110101
+00100000011000000000000000000000
+11011010001000000100011100100001
+01101000000000001100011100100000
+00011111111000001111111111111111
+00011111111011111111111000011101
+10011010001000001010001000000000
+01101000000000001000000110000101
+11100010001000001000000000000000
+11000000000110100100001100000101
+11000000000110011100001100001100
+00100000011000000000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+11011000110000000100010000011001
+00100000010000000111111010111111
+01101000000000110100010010100000
+11100000101000110000000000000000
+00100000011000000000000000000000
+01101000000000110000000001000000
+11100000101000110000000000000000
+11011000110000000100000110111110
+00100000001000000111111010111111
+00011000110000001000110111111010
+00011000110000100000101000000000
+01101000000010110100011011001000
+00011000010000001000010000000011
+11100000101010110000000000000000
+00100000011000000000000000000000
+11011000010000000000000001011000
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000010000000110010111011111
+11011010001000000100011100100001
+01101000000000001100011100100000
+01101000000010001100011100000011
+10011000010001100111110000000000
+00100000011000101000000000000000
+00011111111000001111111111111111
+00011111111011111111111000011101
+10011010001000001010001000000000
+11101010001000001000000000000000
+01100000000000001100001000010000
+11000000000110011100001100100111
+11000000000110100100001100101100
+00100000011000000000000000000000
+11101000110000110000000000000000
+01100000000000110100000111010000
+11011000101000000100000110111110
+00100000010000000111111010111111
+00100000001000000110011111010111
+11101000110000110000000000000000
+01100000000000110100000111010000
+11011000101000000100010000011001
+00100000010000000111111010111111
+11101000110000110000000000000000
+01100000000000110100010010100000
+00100000011000000000000000000000
+01101000000000001100011011110101
+11000010100000101100001101001001
+11000010100000110100001101011001
+00100000001000000100001100110111
+00100000010000000100000010000011
+11000000000000110100001100111110
+01110000010001101101100000011110
+01101000000000001100011011011001
+11000001000000001000000000000000
+01110000010001101101100100000001
+00100000011000000000000000000000
+00100000010000000100001101000011
+01101000000000001100011011011001
+11000001000000000000000000000000
+01110000010001101101100100000000
+00100000001000000100001111000000
+01101000000000001100011011011000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011011011000
+00100100011110100000000000000000
+00100000001000000100001101110000
+01101000000000001100011011101101
+11000001011111111000000000000000
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001100001101010100
+01101000000000001100011011011001
+11000001000000001000000000000000
+01110000010001101101100100000001
+01101000000000100100011011010011
+11000011100000110000000000000000
+00100000001000000100001101110000
+01101000000000001100011011011001
+11000001000000000000000000000000
+01110000010001101101100100000000
+11011000111000000000000000000110
+00100000001000000100001111010010
+01101000000000001000000000000100
+11000100000000110000000000000000
+01101000000000001100011100100000
+11000000000000001100001101101001
+11000000000000010100001101101100
+00100000011000000000000000000000
+01101000000000001000000000000100
+11000100000000110000000000000000
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001100001101100110
+01110000010001110010000000000001
+00100000011000000000000000000000
+01101000000000001100011100000011
+01100000000000001100011100100000
+00100000011000000000000000000000
+01101000000010001100011011101101
+00100100001000001100001101110000
+00100000011000000000000000000000
+01101000000010001100011011101101
+00100000010000000110100000011101
+00100000001000001100001101010100
+00100000011000000000000000000000
+01101000000010001100011100100000
+00011000010000001000010000000001
+01101000000000001100011011010010
+10011000010001100111110000000000
+00100100010000010100001111001100
+01100000000010001100011100100000
+01110000010000011011110100000000
+00100000010000000100001101111010
+00100000010000000100001111000000
+00100000001000000100001101111110
+11011000010000000000000000000001
+11011010001000000100011100100000
+11011010010000000000000000000000
+00100000001000000110011000000110
+00100000010000000100001110000001
+00100000010000000100001111000010
+00100000001000000100000111010111
+01101000000000010100011010000010
+11000010100000111100001110010010
+11000010100001001011010000000010
+11000010100000000011001111101001
+00100000001000000100001011001010
+01000100111101101100000000011101
+01011000000000000000000000000000
+01100000000000010100011010110000
+01101000000000010100011010000010
+11000010100001001011010000000010
+01101000000000010100011010000010
+11000010100000000011001111101001
+00100000011000000000000000000000
+01011000000000000000000000000001
+01100000000000110000000001000000
+01110000000000011000010100110011
+00100000001000000100001011011111
+00100000010000000100001111000100
+00100000001000000111111000101111
+01101000000000001100011011101100
+11000001011111111000000000000000
+01101000000010001100011011101100
+00100000010000000110100000011101
+00100000001000001100001110011111
+01101000000000001100011010000101
+01100000000000001100011011011010
+01101000000000001100011011011011
+11000001000000001000000000000000
+01110000010001101101101100000001
+00100000001000000100001111001010
+00100000010000000100001110110101
+01101000000000001100011011011011
+11000001000000000000000000000000
+01110000010001101101101100000000
+00100000010000000111111000101111
+00100000001000000100001111001000
+01101000000000001100011011110101
+11000010100000100100001110010100
+00100000010000000100000010000011
+11000000000000111100001110101111
+01101000000000001100011010000101
+01100000000000001100011011011010
+01101000000000001100011011011011
+11000001000000001000000000000000
+01110000010001101101101100000001
+00100000001000000100001111001010
+00100000010000000100001110110101
+01101000000000001100011011011011
+11000001000000000000000000000000
+01110000010001101101101100000000
+00100000010000000111111000101111
+00100000001000000100001111001000
+11011010011000000100011011011010
+11011010010000000100001110111000
+00100000001000000011001101101101
+11011000111000000000000000000110
+00100000010000000100001111001110
+00100000010000000011001101010111
+00100000001000000100001001101100
+11011000111000000000000000000001
+00100000001000000100001111001110
+11011000111000000000000000000001
+00100000001000000100001111010010
+11011000111000000000000000000000
+00100000001000000100001111001110
+11011000111000000000000000000000
+00100000001000000100001111010010
+11011000111000000000000000000010
+00100000001000000100001111001110
+11011000111000000000000000000010
+00100000001000000100001111010010
+11011000111000000000000000000101
+00100000001000000100001111001110
+11011000111000000000000000000101
+00100000001000000100001111010010
+11011000010000000000000000000001
+00100000011000000000000000000000
+01101000000000100100011011010011
+11111001001000000111111000000000
+01100000000000100100011011010011
+00100000011000000000000000000000
+01101000000000100100011011010011
+11111001001111111111111000000000
+01100000000000100100011011010011
+00100000011000000000000000000000
+01101000000000100100011011010011
+11000100000011010000000000000000
+01101000000000001100011011001110
+00011111111000001111111000000001
+01100000000000001100011011001110
+00011111111001100111110000001010
+00100000011000010000000000000000
+01110000010001101100111000000000
+00100000010000000110100011101011
+00100000010000000110100100001000
+01100000000000010100011100001111
+11011010001000000100011100001001
+00100000010000000110100100110000
+01101000000000001100001000110001
+11000010100000001100010010100000
+11000011000000000100001111101001
+00100000001000000100001111100111
+11011000111000000000000000000100
+00100000001000000100001111001110
+11011000111000000000000000000100
+00100000001000000100001111010010
+01101000000000100100011011010011
+11000100000000100000000000000000
+01101000000000001100011011101111
+01100000000000001100011100010101
+01101000000000001100011011001111
+00011111111000001111111000000001
+01100000000000001100011011001111
+00011111111001100111110000010100
+00100100010000010100001111111001
+11000000000000010100001111111011
+11000000000000100100001111111110
+11000000000000110100001111111011
+11000000000001000100001111111110
+00100000011000000000000000000000
+01110000010001101100111100000001
+00100000001000000100001111111110
+11011010001000000000000000000000
+01110000010001110001001100000010
+00100000001000000111110100010100
+11011010001000000000000000000000
+01110000010001110001001100000010
+00100000001000000111110100011001
+00100000010000000011111110010111
+00100100011101000000000000000000
+11011010001000000000000000000111
+11011010010000000100011010011010
+00100000011000000000000000000000
+01101000000000001100011110001011
+00100000011110100000000000000000
+01101000000010001100011011100111
+00100000010000000110100000011101
+00100000010000001100010000010000
+01101000000000001100011100000100
+00100100011110100000000000000000
+00100000010000000100000010000011
+00100100011110100000000000000000
+00100000001000000010110110000011
+01101000000000001100011011100111
+11000001011111111000000000000000
+01110000010001110000010000001010
+00100000011000000000000000000000
+00100000010000000100010000100011
+01101000000000010100011101111000
+11011000010000001010101001010101
+10011000010001100111110000000000
+00100000001000101100010000101011
+01100000000010010100011101111000
+00100000010000000100010000011100
+00100000001000000100010000110101
+01101000000000110100010010100000
+01100000000000110100011100111000
+00011111111000001111111100000000
+01100000000000110100011101010101
+00011111111000001111111100000000
+01100000000000110100011101110010
+00100000011000000000000000000000
+01011000000000000100011101111000
+11011000010000000100011100100000
+10011000010001100000010000000000
+01101000000000011100011100000000
+10011000010000001111111000000000
+11011000010000000000000000000010
+11011010001000000100011101111000
+00100000001000000110010101100010
+01011000000000000100011101111111
+11011000010000000100011100100000
+10011000010001100000010000000000
+01101000000000011100011100000000
+11011010001000000100011100100000
+00100000010000000110010101100010
+00100000010000000100001100011010
+01101000000000100100011101111011
+00100000010000000010110001111010
+00100000001000000011001000101100
+01011000000000000100011101111111
+11011000010000000100011100100000
+10011000010001100000010000000000
+11011010001000000100011100100000
+01101000000000011100011100000000
+00100000001000000110010100010100
+11011000010000000000000000000001
+11011010001000000100011101111010
+11011010010000000000000001011010
+00100000001000000110010111010001
+11011000010000000000000000000001
+11011010001000000100011101111010
+11011010010000000000000001011010
+00100000001000000110010111011111
+11000110000100110000000000000000
+01101000000000100100011011010011
+11000100000010110000000000000000
+01101000000000001100011100000101
+00011111111000001111111000000001
+00011111111000010111111000000111
+01100000000000001100011100000101
+11000001100000111000000000000000
+01101000000000010100011010000010
+11000010100000000100010001001111
+11000010100001001100010001001111
+00100000011000000000000000000000
+01000100111101110100000000011101
+01101000000000001100011100000110
+00100100011110100000000000000000
+01101000000000100100011011010011
+11000100000001000000000000000000
+01101000000000001100011010100101
+00100000010000000110001111111011
+01100000000000001100011010100110
+00011111111001100111110000010000
+00100000001000010100010001011011
+01110000010001110000011000000000
+00100000011000000000000000000000
+01110000010001110000011000011110
+00100000011000000000000000000000
+11011010011000000100011100000110
+11011010010000000100010001100000
+00100000001000000011001101101101
+01101000000000001100011010100101
+00100000010000000110010000010100
+00011111111001100111110000010000
+00100100011000010000000000000000
+01101000000000100100011011010011
+11000100000001000000000000000000
+11011000111000000000000000001000
+00100000010000000100001111010010
+01110000010000010111001000000000
+01110000010001101100010000011110
+00100000010000000100010010000010
+01101000000000100100011011010011
+11000010100010101100010001110001
+01101000000000001100011100100000
+11000000000000001100010010001001
+11000000000000010100010001110110
+00100000011000000000000000000000
+01101000000000001100011100100000
+11000000000000001100010010001001
+11000000000000010100010010001100
+11000000000000011100010010001111
+00100000011000000000000000000000
+01101000000000001100011011110000
+00100000001000000100001010001111
+01110000010000010111001000100000
+00100000001000000100010010000010
+01101000000000001100011011110000
+11000001011111111000000000000000
+01100000000000001100011100010101
+00100000001000000100001010010110
+01101000000000001100011011110001
+11000001011111111000000000000000
+01100000000000001100011100010101
+00100000001000000100001010010110
+00100000010000000100001010010110
+00100000010000000100010001111010
+00100000010000000100010001111110
+01101000000000001100011011110010
+11000001011111111000000000000000
+01100000000000001100011100010101
+00100000001000000100001010010110
+01101000000000001100011011110000
+01100000000000001100011100010101
+00100000001000000100001010011000
+01101000000000001100011011110001
+01100000000000001100011100010101
+00100000001000000100001010011000
+01101000000000001100011011110010
+01100000000000001100011100010101
+00100000001000000100001010011000
+01000100111101111100000000011101
+01101000000000001100011100011110
+00011111111000001111111111111111
+01100000000000001100011100011110
+01101000000010001100011100100000
+00011000010000001000010000000001
+01101000000000001100011011010010
+10011000010001100111110000000000
+00100100010000010100001111001100
+01100000000010001100011100100000
+01110000010000011011110100000000
+00100000010000000100001101111010
+00100000010000000100001011111011
+00100000001000000100001010100010
+00100000010000000100010010000010
+01011000000000000000000000000000
+01100000000001000000000010100001
+00100000001000000010101100011111
+00100000011101011000000000000000
+01101000000100001000000010000001
+00011111111000010111111011110000
+01100000000100001000000010000001
+00100000010000000110100101001000
+01011000000000000100010011100110
+01100000000000010100000111101011
+01011000000000000100010011101001
+01100000000000010100000111101101
+01011000000000000100010011101111
+01100000000000010100000111110011
+01011000000000000100010011110010
+01100000000000010100000111110101
+01011000000000000011001111010000
+01100000000000010100000111101001
+00100000010000000010110001111010
+01011000000000000100010111000010
+00011010011000001000101011011000
+11100000101000010000000000000000
+01011000000000000100010011101010
+00011010011000001000101011011010
+11100000101000010000000000000000
+01011000000000000100010011101001
+00011010011000001000101011011100
+11100000101000010000000000000000
+01011000000000000100010100001110
+01100000000000010100000111111101
+01011000000000000100010011011010
+01100000000000010100011101011011
+01011000000000000100010011010110
+01100000000000010100011101011111
+01011000000000000100010101100000
+01100000000000010100011100001111
+01000100111110000100000000011110
+00100000010000000100010011100010
+00100000010000000111111000111000
+01110000010000010111001000000010
+01101000000000001100011100101011
+01100000000000001100011010011010
+11000000000000000100010011010101
+01101000000000001100011100101100
+01100000000000001100011010000110
+00100000010000000100010011011011
+00100000010000000111110011010011
+00100000010000000111110011011101
+01110000010001110101011100000001
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+01110000010001110101011100000010
+00100000010000000100010011011011
+11011010001000000000000000000000
+00100000010000000111110100011110
+00100000001000000010111011100100
+00100000001000000100010011011011
+01000100111110001100000000011110
+01101000000000001100011100101001
+11000000111111111100010011100000
+01101000000010001100011100000110
+00100000001000000110100000001110
+01100000000000001100011100000110
+00100000001000000100010011011110
+00100000010000000010110010011101
+01101000000000010100011101010011
+01100000000000010100011101010101
+00100000001000000100010100010101
+00100000010000000110100000110101
+00100000010000000100010011101001
+00100000001000000011010000001010
+00100000001000000110100101101100
+01101000000000001100011101100101
+00100000011110100000000000000000
+00100000001000000010110110000011
+00100000011000000000000000000000
+00100000001000000110100101111000
+00100000010000000100010101000100
+00100000010000000100010100000011
+00100000001000000100010011101110
+00011010011000100111111000000000
+11000000000101101011010000110001
+11000000000010000011010000011010
+11000000000111001100010011111011
+11000000000111100100010011111111
+11000000000111010100010011111001
+00100000011000000000000000000000
+01110000010001110110010100000001
+00100000011000000000000000000000
+01110000010001110110010100000001
+01110000010001110110001100000001
+01110000010001110110010000000001
+00100000011000000000000000000000
+01110000010001110110010100000001
+01110000010001110110001100000001
+01110000010001110110010000000001
+00100000011000000000000000000000
+01101000000000001100011101100011
+11000001000000000000000000000000
+01101000000000001100011101100010
+11000001000000001000000000000000
+01110000010001110110001000000001
+11011010001000000000000000000000
+00100000001000000111110100011001
+11011010001000000000000000000000
+00100000010000000111110100011001
+00100000010000000100010011011011
+00100000001000000011010000001010
+00100000010000000011001101111011
+00100000001000000100010100010000
+01101000000000001100011100101101
+00100000011110100000000000000000
+11011010011000000100011101010101
+11011010010000000100010100001010
+00100000001000000011001101110100
+00100000010000000100010100011010
+01100000000010010100011100011010
+00100000010000000100010100011111
+01100000000010010100011100011100
+00100000011000000000000000000000
+01101000000000010100011100011010
+01100000000000010100011100011110
+00100000010000000100010101000000
+00100000010000000100010100100101
+01100000000000001100011100100100
+01101000000000010100011100011100
+01100000000000010100011100011110
+00100000010000000100010101000010
+00100000010000000100010100100101
+01100000000000001100011100100101
+00100000011000000000000000000000
+01101000000000010100011100100000
+00011111111000100010001000000000
+01101000000000010100011100011110
+00100000010000000100010100101110
+01101000000000001100011100011001
+00100100001110100100010100110111
+00100100011000010000000000000000
+01101000000010010100011100011110
+00100000011000000000000000000000
+10011000010001100111111000000000
+00100000001000010100010100110100
+00011111111001100111111000000000
+01110000010001110001100000000001
+10011010001001100111110000000000
+00100000011000000000000000000000
+01110000010001110001100000000000
+10011010001001100111110000000000
+00100000011000000000000000000000
+00100100001000010100010100111110
+01101000000000001100011100011000
+00100100001110100100010100111100
+01011000000000000000000000000001
+00100000011000000000000000000000
+01011000000000000000000000000010
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+01110000010000100010111000110011
+00100000001000000110100011101011
+01110000010000100010111000110100
+00100000001000000110100011101011
+01101000000000001100011100101010
+11000001100000001000000000000000
+01000100111110010100000000011110
+01110000010001110001100100000001
+00100000010000000100010100011010
+01101000000000010100011100100100
+01101000000010010100011100100010
+10011000010001100111110000000000
+00100000011000101000000000000000
+01100000000000010100011100100010
+00100000010000000100010101010000
+00100000001000000100010101010100
+01101000000000001100011100100100
+00100000001110100100010101011010
+00011111111000001111111111111111
+00100000001000000100010101010111
+01101000000000001100011100100101
+00100000001110100100010101011101
+00011111111000001111111000000001
+00011111111000100000111000000000
+11011010001000000000000000000001
+00100000001000000100010101100000
+11011000111000000000000000000000
+11011010001000000000000000000000
+00100000001000000100010101100000
+11011000111000000000000000000010
+11011010001000000000000000000000
+00100000001000000100010101100000
+00011010001000100111111000000000
+01100000000000001100011101100001
+01101000000000001100011101100011
+11000000000000000010111011100100
+01101000000000010100011101010011
+01100000000000010100011101010101
+01101000000000001100011101100001
+00100000001110100100010110000000
+01000100111110011100000000011110
+11011010001000000000000000000000
+00100000010000000111110100010100
+00011000111000100111111000000000
+11000000000000100100010110100011
+11000000000000101100010110100101
+11000000000000110100010110100111
+00100000010000000100010110001011
+11000000000000000100010101110100
+11000000000000010100010101111010
+11000000000000011100010101110100
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000100010110001111
+11000000000000001100010110010001
+11000000000000010100010110010011
+11000000000000011100010110010101
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000100010110010111
+11000000000000001100010110011010
+11000000000000010100010110011101
+11000000000000011100010110100000
+00100000011000000000000000000000
+01000100111110100100000000011110
+11011010001000000000000000000000
+00100000010000000111110100011001
+00011000111000100111111000000000
+11000000000000100100010110111100
+11000000000000101100010110111100
+00100000010000000100010110001011
+11000000000000000100010110101001
+11000000000000010100010110101111
+11000000000000011100010110101001
+00100000011000000000000000000000
+01101000000000001100011100101000
+01101000000010001100011100100111
+10011000010000011111111000000000
+00100000011000000000000000000000
+01110000010001110011010000000001
+00100000001000000100010110111110
+01110000010001110011010000000010
+00100000001000000100010110111110
+01110000010001110011011000000001
+00100000001000000100010110111110
+01110000010001110011011000000010
+00100000001000000100010110111110
+01110000010001110011010000000001
+01110000010001110011011000000001
+00100000001000000100010110111110
+01110000010001110011010000000010
+01110000010001110011011000000010
+00100000001000000100010110111110
+01110000010001110011010000000010
+01110000010001110011011000000001
+00100000001000000100010110111110
+01110000010001110011010000000001
+01110000010001110011011000000010
+00100000001000000100010110111110
+01110000010001110011100000000001
+00100000001000000100010110111110
+01110000010001110011100000000010
+00100000001000000100010110111110
+01110000010001110100000100000001
+00100000001000000100010111000000
+00011000111000100111111000000000
+11000000000000000100010110110101
+11000000000000001100010110110101
+11000000000000010100010110110111
+11000000000000011100010110110111
+00100000011000000000000000000000
+00011000111000100111111000000000
+11000000000000000100010110111001
+11000000000000001100010110111001
+11000000000000010100010110111001
+11000000000000011100010110111001
+00100000011000000000000000000000
+01110000010001110011010000000000
+00100000001000000100010110111110
+01110000010001110011011000000000
+00100000001000000100010110111110
+01110000010001110011010000000000
+01110000010001110011011000000000
+00100000001000000100010110111110
+01110000010001110011100000000000
+00100000001000000100010110111110
+11011010001000000100011100101110
+00100000001000000111111000111101
+11011010001000000100011100111011
+00100000001000000111111000111101
+01101000000000001100011101100100
+11000000000000001100010111001100
+11011010001000000100011101000100
+00100000010000000111111001010100
+00100100001101000100010111010001
+11011000110000000100011101000100
+11101000110000001000000000000000
+00011111111000100010001000000000
+11011010010000000100011101000101
+00100000011000000000000000000000
+01110000010001110110010000000000
+01111000001101000111110000000000
+11011010001000000000000000000001
+11011010010000000100011101100110
+00100000011000000000000000000000
+01101000000000001100011101000111
+11000000000000100100010111010101
+11000000000000101100010111010101
+00100000011000000000000000000000
+01101000000000001100011101001010
+00100100001110100100010111011100
+01101000000000001100011101001100
+00100100001110100100010111011100
+01101000000000001100011101001110
+00100100001110100100010111011100
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000100010111000111
+00100000011101011000000000000000
+01101000000100001000000010000001
+00011111111000010111111011111100
+01100000000100001000000010000001
+01011000000000000100011010110100
+01100000000000010100000111101011
+01011000000000000100011010110011
+01100000000000010100000111101101
+01011000000000000011010000001010
+01100000000000010100000111110111
+01011000000000000100011010110001
+01100000000000010100000111110011
+01011000000000000100011000010010
+01100000000000010100000111110101
+01011000000000000100011000001100
+01100000000000010100000111101001
+01011000000000000100011101101010
+01100000000000010100000111111001
+01011000000000000100011010000110
+01100000000000010100000111111101
+01011000000000000100011100101001
+01100000000000010100011011100111
+01011000000000000100100000000110
+01100000000000010100011011100010
+01011000000000000100100000000111
+01100000000000010100011011100100
+00100000010000000101011110100011
+00100000010000000100011111011010
+00100000010000000100011110001000
+00100000010000000100011101101101
+00100000010000000110100101001000
+00100000010000000100011101111010
+00100000010000000111111000111000
+00100000010000000111110100001000
+00100000010000000100011110010011
+00100000010000000100011111000111
+01000100111110101100000000011110
+00100000010000000100011001001111
+01101000000000001100011011011101
+11000000000000000100011000001001
+01101000000000001100011011011110
+01100000000000001100011010000110
+00100000001000000100100000001110
+01110000010001101000011011111111
+01110000010001101101111100000001
+00100000001000000100011011011001
+01101000000000001100011011011111
+11000000000000010011001111010000
+00100000010000000101001001111110
+01101000000000001100001001010110
+00100100001110100011001111010000
+00100000001000000011001111010010
+00011010011000100111111000000000
+11000000000000001100011000100110
+11000000000000010100011000101001
+11000000000000100100011000110001
+11000000000000101100011000110011
+11000000000000110100011000110101
+11000000000000111100011000111000
+11000000000010010100011000111100
+11000000000010011100011001000100
+11000000000100111100011001000101
+11000000000101110100011001001000
+11000000000111101100011001001001
+11000000000010100100011001011000
+11000000000010101100011001011100
+11000000000111111100011001011111
+11000000001000000100011001100101
+11000000000010000100011001101011
+11000000000101100100011001101100
+11000000000101101100011001110111
+00100000011000000000000000000000
+01110000010001101010110100000000
+01110000010001101010110000000000
+00100000011000000000000000000000
+00100000010000000100011000101011
+00100000001000000100011000110001
+01110000010000011110001000000000
+01110000010001101000000000000000
+01110000010000100000010100000000
+01110000010001101010110000000000
+01110000010001101010110100000000
+00100000001000000111111000111000
+00100000010000000011001110101001
+00100000001000000100011011000010
+00100000010000000100011010110110
+00100000001000000011010000001000
+01011000000000000000000000000010
+01100000000000001100011010000000
+00100000011000000000000000000000
+01110000010001101010110000000000
+01011000000000000000000000000001
+01100000000000001100011010101101
+00100000011000000000000000000000
+01101000000000001100000111100010
+11000001000000001000000000000000
+01110000010000011110001000000001
+00100000010000000011010000010110
+00100000010000000011010000010100
+00100000010000000100011010110110
+00100000010000000011010000001000
+00100000001000000011010000001110
+00100000001000000100011000110001
+01011000000000000000000000000101
+01100000000000001100011010101100
+00100000011000000000000000000000
+00100000001000000011001111001101
+11011010010000000000000000000000
+01101000000000001100001000010111
+00011111111011111000010000100010
+01101000000000010100001000010101
+00011111111000100010001000000000
+00100000001000000110011000000110
+11011010010000000000000000000000
+01101000000000001100011010011010
+11000100000000001000000000000000
+01101000000000001100001000010111
+00100000011110100000000000000000
+00011111111011111000010000100010
+01101000000000010100001000010101
+00011111111000100010001000000000
+00100000001000000110010111011111
+00100000010000000100011010110110
+01011000000000000000000000000000
+01100000000000010100011010110111
+00100000001000000011010000001000
+00100000010000000111111000111000
+01110000010001101011000000000000
+00100000001000000100011011011001
+00100000010000000111111000111000
+01110000010001101011000000000001
+01101000000001000100011011000001
+01100000000001000100010010010110
+00100000010000000011010000010110
+00100000001000000101101010111111
+01101000000000010100010100001001
+11000001000000000000000000000000
+01101000000001000100011011001001
+00100000011110100000000000000000
+01100000000001000100010010010110
+00100000001000000101101010111111
+00100000001000000100100000011111
+01101000000000001100011011011101
+11000001000000000000000000000000
+01101000000000001100011011011111
+11000001100000001000000000000000
+00100000010000000100011001110010
+00100000001000000011010000000110
+01110000010010001101111100000001
+11011111001000000000000000001011
+11011000101000000100100011100000
+11011000110000000100100011001001
+00100000001000000111111100000001
+01101000000000001100011011011101
+11000001000000000000000000000000
+01101000000000001100011011011111
+11000000000000001100011001111100
+00100000001000000100100000011011
+01101000000000001100100011011111
+11000001100000001000000000000000
+01110000010010001101111100000000
+01101000000000010100011010000010
+11000010100000000011010000001000
+11000010100001001011010000001000
+11011111001000000000000000001011
+11011000110000000100100011100000
+11011000101000000100100011001001
+00100000001000000111111100000001
+00100000010000000100011010001100
+00100000010000000100011010010011
+00100000010000000100011010011110
+00100000010000000100011010100110
+00100000010000000100011010101001
+00100000001000000100011010101100
+11011010011000000100011011011011
+11011010010000000100011010001111
+00100000001000000011001101110100
+01110000010001101101111100000010
+00100000010000000011010000001000
+00100000010000000100011011110100
+00100000001000000100100000001011
+11011010011000000100100011101100
+11011010010000000100011010010110
+00100000001000000011001101101101
+01101000000000010100011010000010
+11000010100001001100100000001011
+11000010100000000100100000001011
+01101000000000001100100011001001
+11000000000000001100100000001011
+11000000000000100100100000001011
+11000000000000101100100000001011
+00100000001000000011010000001010
+11011010011000000100011010101100
+11011010010000000100011010100001
+00100000001000000011001101101101
+01101000000000001000001001111111
+01111001001000000111111000000000
+01111001001000000111111000000111
+01100000000000001000001001111111
+00100000011000000000000000000000
+11011010011000000100011010000000
+11011010010000000100011000111100
+00100000001000000011001101101101
+11011010011000000100011010101101
+11011010010000000011001111101001
+00100000001000000011001101101101
+01101000000000001100011011011111
+11000001100000001000000000000000
+11011010011000000100011010110111
+11011010010000000100011011000010
+00100000001000000011001101110100
+00100000010000000100011100111010
+00100000001000000110100101111000
+00100000001000000110100101101100
+00100000010000000110100000110101
+00100000001000000100011010110011
+01101000000000001100011010011010
+11000010100000001100011010111110
+11000010100000000100011010111010
+00100000011000000000000000000000
+01101000000000010100011011010111
+01100000000000010100011011011001
+01100000000000010100011011011011
+00100000001000000011001111111000
+01101000000000010100011011010011
+01100000000000010100011011011001
+01100000000000010100011011011011
+00100000001000000011001111110000
+01101000000000001100011011011111
+11000001100000001000000000000000
+01101000000000001100011010011010
+11000010100000001100011011001000
+11000010100000000100011011001100
+00100000011000000000000000000000
+01101000000000010100011011010001
+01100000000000010100011011011001
+01100000000000010100011011011011
+00100000001000000011001111101011
+01101000000000010100011010000010
+11000011100001001000000000000000
+01101000000000010100011011010101
+01100000000000010100011011011001
+01100000000000010100011011011011
+01101000000000010100011010110011
+00100000010000000100011011110000
+00100000010000000011010000000100
+01101000000000100100011010111101
+01100000000000100100100011001100
+01101000000000010100011010000010
+11000011100001011000000000000000
+00100000001000000011001111111010
+01101000000000001100011011011111
+11000001100000001000000000000000
+01101000000000001100011010011010
+11000010100000001100011011011111
+11000010100000000100011011100100
+00100000011000000000000000000000
+00100000010000000100011011111000
+00100000001110100100011011000010
+00100000010000000011010000000110
+00100000010000000011001111110000
+00100000001000000011001111100001
+01101000000000010100011010110111
+01101000000010010100011010110101
+01100000000010010100011010110111
+00100100011110100000000000000000
+01101000000000010100011010110001
+00100000010000000100011011110000
+00100000010000000011010000000100
+01101000000000100100011010111001
+01100000000000100100100011001100
+01101000000000010100011010000010
+11000011100001011000000000000000
+00100000001000000011001111111010
+01100000000000010100000101010100
+00011111111000001111111111111100
+01100000000000010100010010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+11000010100001001011010000000010
+11000010100000000011001111101001
+00100000001000000100011010110110
+01101000000000001100001000010111
+00011111111000100111001000000000
+01101000000000010100001000010101
+00011111111000100010001000000000
+11101010001000010000000000000000
+11000000000000000100011100000001
+00011010001000001010001000100010
+11000010000000000100011011111100
+00100000001000000111111111110001
+11101000110000110000000000000000
+01100000000000110100000111010000
+00011000110000001000110000001010
+11011000101000000100000110111110
+00100000010000000111111010111111
+00100000010000000110011111010111
+00100000001000000111111111101111
+00100000010000000111111111101001
+01101000000000010100011010000010
+11000010100000000100011100001101
+11000010100001001100011100010000
+00100000011000000000000000000000
+01101000000000001100001001010011
+11000001100111111000000000000000
+00100000001000000111111111100111
+01101000000000001100011010110000
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000111111111101001
+01101000000000010100011010000010
+11000011100000000000000000000000
+11000011100001001000000000000000
+00100000001000000111111111100111
+01101000000000001100011010011010
+11000010100000001100011100011100
+11000010100000000100011100011111
+00100000011000000000000000000000
+01101000000000001100000010010011
+11000001100000011000000000000000
+00100000001000000100011011011001
+00100000001000000100011011011001
+01111000010101100111110000000000
+01101000000000010100011011011001
+01100000000000010100011011011011
+00100000010000000100011100010011
+00100000001101000100011100011000
+00100000010000000100011100001000
+00100100011101000000000000000000
+01111000001101100111110000000000
+00100000011000000000000000000000
+00100000010000000100011100100000
+00100100011101100000000000000000
+00011010001000100111111000000000
+00100000001110100100011100110000
+00100000010000000011010000000110
+11011010011000000100011011110001
+00100000001000000100011100110010
+00100000010000000011010000001000
+11011010011000000100011100011001
+11011111111000000000000000000101
+10011000111011111111111000000000
+10011010011000001010011000000000
+11101010011000001000000000000000
+00100000011110100000000000000000
+00100000010000000100011101100010
+00011010011000001010011000000001
+00100000001000000100011100110101
+01101000000000010100011010000010
+11000010100001001100011100111110
+11000010100000000100011101001110
+00100000011000000000000000000000
+00100000010000000101100010010010
+00100100011110100000000000000000
+00100000010000000100011101100101
+00100100011101000000000000000000
+00011111111000001111111111111111
+00011111111011111111111000000101
+11011000010000000100011101000001
+10011000010000001000110000000000
+11101000110000001000000000000000
+00011111111000100010001000000000
+11101000110010010000000000000000
+00100000010000000111111010100101
+00100000010000000101101001100100
+00011010001000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111100000001
+00100000010000000101001001110001
+00100100011110100000000000000000
+00100000010000000100011101100101
+00100100011101000000000000000000
+00011111111000001111111111111111
+00011111111011111111111000000101
+11011000010000000100011110100000
+10011000010000001000110000000000
+11101000110000101000000000000000
+01100000000000101100011110011011
+01101000000000001100011110011011
+00011111111000100010001000000000
+00100000010000000100110101100011
+01101000000000010100001001001110
+11100000101000010000000000000000
+01011000000000000000000010100001
+11100000101000001000000000000000
+01101000000000100100011110011100
+11100000101001001000000000000000
+00100000011000000000000000000000
+01100000000000001000101010011010
+11011010001000000000101010011010
+00100000001000000111111000111101
+11011010001000000000101010011010
+00100000010000000111111001010100
+00100100011101000000000000000000
+01101000000000001000101010011010
+00100000011000000000000000000000
+01101000000000010000010001111000
+11000000000011000100011001011111
+00100000011000000000000000000000
+01011000000000000000000000000010
+01100000000000001100100011101011
+01011000001000000000000000001000
+01100000000000100100011011000001
+01011001001011000000000000000101
+11100000101000100000000000000000
+01110000010001001010011000010111
+01011000000000000000000000011011
+01100000000000010100010011111010
+00100000010000000101100000010000
+00100000010000000101100000101100
+00100000010000000101100000111001
+00100000001000000101100000011000
+11011111001000000000000000101000
+11011000101000000100011101000001
+11011000110000001001010010011111
+00100000010000000111111011110100
+11011111001000000000000000101000
+11011000101000000100011110100000
+11011000110000001001010011000111
+00100000001000000111111011110100
+11011111001000000000000101111110
+11011000110000001001000100111010
+00100000001000000111111011110100
+11011111001000000000000111100111
+11011000110000001001001010111000
+00100000001000000111111011110100
+00100000010000000100011110101110
+00100100011101000000000000000000
+01101000000000001100011010011111
+00100000010000000100011110010000
+01101000000000001100011010100000
+00100000010000000100011110010000
+01101000000000001100011010100001
+00100000001000000100011110010000
+00100000011110100000000000000000
+00011111111000011000010010000000
+00100000001000000110011111111001
+00100000010000000100011110101110
+00100100011101000000000000000000
+00100000010000000100011110010111
+00100000001000000100011110110100
+11011010001000000000000000000000
+01101000000000001100011010011111
+00100000010000000100011110101001
+01111101001110100010001000000000
+01101000000000001100011010100000
+00100000010000000100011110101001
+01111101001110100010001000000001
+01101000000000001100011010100001
+00100000010000000100011110101001
+01111101001110100010001000000010
+00011010001000100111111000000000
+01100000000000001100011010101001
+01101000000000001100011010011110
+10011010001011111111111000000000
+01101000000010010100011010011100
+10011000010000001111111000000000
+01100000000000010100011010101010
+00100000011000000000000000000000
+00100000011110100000000000000000
+00011111111000011000010010000000
+00100000010000000110100000011101
+00100100001000001111111111110001
+00100000001000000111111111101111
+00100000010000000111111111101001
+01101000000000001100011010101000
+00100100011110100000000000000000
+01101000000000001100011010011011
+00100000011110100000000000000000
+00100000001000000111111111100111
+00100000010000000110011001101010
+01101000000000010100011010101010
+11011010001000000000101011000010
+01101000000010001100011010011110
+00100000010000000110011010110011
+00100000010000000110011001101101
+01101000000000001000101011000010
+00011111111000100111001000000000
+01100000000000001100001110101111
+00100000010000000111111011110100
+01101000000000001000101011000010
+00011111111000100111001000000000
+01100000000000001100010100010101
+00100000010000000111111011110100
+11101000110000001000000000000000
+01100000000000001100011011100110
+11101000110000001000000000000000
+01100000000000001100011011011101
+00100000011000000000000000000000
+01101000000000001100011010011010
+11000100000000001000000000000000
+11011000010000000000000000000011
+01101000000000010100011010100100
+00011111111000100010010000000000
+11011010001000000100011010100110
+00100000010000000110010111011111
+01101000000010010100011010100110
+01011000000000000001101100111010
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000001100011010101000
+00100000011110100000000000000000
+00011111111000100000010000000000
+01101000000000010100011010100100
+00011111111000001010010000000011
+11011010001000000000101011000010
+00100000010000000110010111011111
+00100000001000000100011111101000
+01101000000000010100011010100010
+00100000011110100000000000000000
+00100000010000000110011001101010
+11011000010000000000000000000001
+11011010001000000100011010101000
+00100000010000000110011010110011
+01101000000000001100011010101000
+00100000011110100000000000000000
+01101000000000010100011010100010
+00011111111000001111111000000001
+11011010001000000000101011000010
+01101000000010001100011010101000
+00100000010000000110011010110011
+00100000010000000110011001101101
+00100000010000000100011110111010
+11101000110000010000000000000000
+00100000011110100000000000000000
+00011111111000100000101000000000
+11101000110010001000000000000000
+00011000010000100111001000000000
+00100000010000000111111100000001
+00100000001000000100011111101001
+01101000000000001100011010011010
+11000100000000001000000000000000
+01101000000000010100011010101110
+00011111111000100010010000000000
+11011000010000000000000000000100
+11011010001000000000101011000010
+00100000010000000110010111011111
+01101000000000001000101011000010
+11000000100000001100011111111001
+01011000000000000000000000000001
+01100000000000001000101011000010
+00011000000000000111001000000011
+00100000010000000110001100001101
+01101000000000010100011010101110
+00011111111000100010010000000000
+11011000010000000000000000000100
+11011010001000000000101011000010
+00100000010000000110011000000110
+01101000000000011000101011000011
+01100000000000011100000010100000
+01100000000000011100010010100000
+00100000011000000000000000000000
+00100000001000000100011011011001
+11011010001000000000000000000000
+11011010011000000100100011010100
+00100000010000000111110100100100
+00100000010000000100011011110100
+01101000000000001100100011101011
+01100000000000001100100011101100
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000010000000100100000010110
+01110000010001100111100100000001
+00100000010000000111110011010011
+00100000010000000111110011011101
+01101000000000010100011010000010
+11000011100001100000000000000000
+00100000001000000011010000001010
+01101000000010010100001000111111
+11100000010000001000000000000000
+11101000101000001000000000000000
+01100000000000001100011010000101
+00100000011000000000000000000000
+01101000000000010100001000111111
+11101111111000001000000000000000
+11000001100000000000000000000000
+00100000001000000011010000001010
+01101000000010010100001000111111
+11101000010000001000000000000000
+11000000000000001100100000101010
+01011000000000000000000000000001
+01101000000010010100001000111111
+11100000010000001000000000000000
+00011000010000001000110000000010
+11101000110000001000000000000000
+11100000101000001000000000000000
+11101000110000010000000000000000
+00100000001000000111111110011100
+01011000000000000000000000000010
+00100000010000000100100000010110
+00011000010000001000110000000101
+11101000110000010000000000000000
+00100000001110100011010000001010
+00100000001000000111111110011100
+01100000000000110000000100000001
+01101000000000001000000100000001
+01100000000000001000000100001100
+11101000110000001000000000000000
+01100000000000001000000100001011
+11101000110000001000000000000000
+01100000000000001000000100001010
+11101000110000001000000000000000
+01100000000000001000000100001001
+11101000110000001000000000000000
+01100000000000001000000100001000
+11101000110000001000000000000000
+01100000000000001000000100000111
+01101000000000110000000100000111
+00100000011000000000000000000000
+00100000010000000110100010100010
+01101000000000001100001000100011
+01100000000000001100010010100000
+01101000000000001100001000100101
+11100000101000001000000000000000
+01101000000000001100001000100111
+11100000101000001000000000000000
+01101000000000011100010010100000
+01100000000000011100000010100000
+00100000011000000000000000000000
+01101000000000010100001000000011
+10011010010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+00011000010000100010010000000000
+00100000010000000100100010011011
+01011000000000000000000010100000
+00100000010000000100100010001101
+01101000000000001000000111110111
+00100000010000000100100010001101
+11000101000101000100100001010110
+01101000000000001000000111111000
+00100000010000000100100010001101
+00100000010000000100100010100001
+00100000010000000100100010011011
+01011000000000000000000010100001
+00100000010000000100100010001101
+00100000010000000100100001111111
+11100010001000001000000000000000
+00011010001000001010001000000001
+00011010010000001010010111111111
+00100100001000101100100001011010
+00100000001000000100100010100001
+00011010010100001111111000000000
+01100000000000010000000111110111
+00011000010000100010010000000000
+00100000010000000100100010011011
+01011000000000000000000010100000
+00100000010000000100100010001101
+01101000000000001000000111110111
+00100000010000000100100010001101
+11000101000101000100100001101011
+01101000000000001000000111111000
+00100000010000000100100010001101
+11101010001000001000000000000000
+00100000010000000100100010001101
+00011010001000001010001000000001
+00011010010000001010010111111111
+00100100001000101100100001101011
+00100000001000000100100010100001
+11011111001000000000000000001010
+00100000010000000100100010111110
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100011000111
+00100000001110100100100010101001
+11000010000000000100100001110101
+00100000001000000100100010101001
+00100000010000000100100010101001
+00100000010000000100100010101111
+00100000010000000100100011010010
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000001000000100100010101001
+11011111001000000000000000001000
+11011010011000000000000000000000
+00100000010000000100100010111110
+00100000010000000100100010100110
+00100000010000000100100011010010
+00011010011000111010011000000000
+00100000010000000100100011000111
+10011010011000001010011000000000
+00100000010000000100100011010010
+00100000010000000100100010101001
+11000010000000000100100010000010
+00100000010000000100100001111001
+00011010011000100111111000000000
+00100000011000000000000000000000
+11011111001000000000000000001000
+00011111111000100010011000000000
+00100000010000000100100010101001
+00101010011011111111111000000111
+00100000010000001100100010101100
+00100100010000001100100010101111
+00011010011000111010011000000000
+00100000010000000100100011010010
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100010101001
+00100000010000000100100011010010
+11000010000000000100100010010000
+00100000001000000100100001110001
+00100000010000000100100010101100
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100010101111
+00100000010000000100100011010010
+00100000001000000100100010101001
+00100000010000000100100010101111
+00100000010000000100100010100110
+00100000010000000100100011010010
+00100000010000000100100010101100
+00100000001000000100100011010010
+01111000001101000111110000000000
+01101000000000001100111111111110
+00100000001000000100100010110010
+01111000010101000111110000000000
+01101000000000001100111111111110
+00100000001000000100100010110010
+01111000001101000111110000000000
+01101000000000001100111111111111
+00100000001000000100100010110010
+01111000010101000111110000000000
+01101000000000001100111111111111
+00100000001000000100100010110010
+00011111111000010000111000000111
+00011111111010010111111000000000
+11011000010000001000000001110000
+10011000010000001000010000000000
+11101000010000001000000000000000
+11111001001000000111111000000000
+11100000010000001000000000000000
+00011000010000001000010000000100
+11101000010000001000000000000000
+11111001001101000111111000000000
+11100000010000001000000000000000
+00100000011000000000000000000000
+01101000000000001100111111111111
+00011111111000010000111000000111
+00011111111010010111111000000000
+11011000010000001000000001110000
+10011000010000001000010000000000
+11101000010000001000000000000000
+11111001001111111111111000000000
+11100000010000001000000000000000
+00100000011000000000000000000000
+00100000000000000000000000000100
+01101000000000001100111111111111
+00011111111000010000111000000111
+00011111111010010111111000000000
+11011000010000001000000100011100
+10011000010000001000010000000000
+01011000000000000000000000000000
+11101000010010001000000000000000
+10101000010011111111111111111111
+01111001001000001111111000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01000100111110110100000000011110
+01101000000100001000101000100110
+00101111111011111111111000000111
+00100000010000001100100011101010
+00100000010000000100100100101110
+01101000000100001000101000100110
+01100000000000001000101100100010
+01101000000100001000101000100111
+01100000000000001000101100100011
+01100000000100001000101000100111
+00011111111001000111111000000000
+01101000000010001000110100110111
+10011000010000010111111000000000
+01100000000000001000110100110111
+01110000100010100010011011100000
+01101000000000001000101100100011
+00101111111000000000001000000001
+00100000010000001100100101000001
+01101000000000001000101100100010
+00101111111000000000001000000001
+00100000010000001100100101001010
+00100000010000000100101101100001
+00100000001000000100100100000011
+01000100111110111100000000011110
+00100000010000000100100100011001
+01110000100010100000000000000000
+00100000000000000010011100010000
+01110000100010100001000011000000
+01101000000100010000000001010000
+01111001001111111111111000001010
+01100000000100010000000001010000
+01110000100010100000000000111100
+01110000100010100010011011111111
+01110000100010100010011111111111
+01110000100010100000010000000000
+01110000000011000110101100000010
+01011000000000000000110110011101
+11011000101000000000110001101110
+10011000101001100111001000000000
+00100000001000000111111011010100
+01101000000010001000110001101100
+00100000001000000110011111111011
+01101000000000001000110101000101
+00100000011110100000000000000000
+01101000000010001000110001101100
+00100000010000000110100000011101
+00100000001000001100100011101010
+00100000011000000000000000000000
+11011000111000000000000000000000
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000000001000110101000110
+00100100011110100000000000000000
+01101000000000001000110101000101
+00100100010110100100101110110111
+00100000011000000000000000000000
+11011000101000000000101101101000
+00111000000000010001001000010010
+00111000000001001000000000000000
+00111000000010000000000000000000
+00111000000011010000000000000000
+11100000101001001000000000000000
+00111000000000100010010000010010
+00111000000001001000011000000100
+00111000000010000001000000000000
+00111000000011000000000000001000
+11100000101001001000000000000000
+00111000000000000000000000000001
+11100000101000001000000000000000
+00100000011000000000000000000000
+01110000000011000110101100000010
+01011000000000000000000000000000
+01100000000000001000101101100111
+01100000000000010000110001100101
+00011111111000001111111000000001
+01100000000000010000110001100111
+00011111111000001111111000000001
+01100000000000010000110001101001
+01011000000000001000111111111010
+01100000000000010000101101111100
+01011000000000001001000000111010
+01100000000000010000101101111110
+11011000101000000000101110000000
+11011000110000001001000011111110
+00100000010000000111111010110011
+01101000000000001000110001101101
+00100100010110100100100100101011
+00100000001000000100100100001011
+01100000000000001000101110100010
+01100000000000001000101110111011
+00100000011000000000000000000000
+01101000000100001000101000100110
+11000010100000110100100100110001
+00100000011000000000000000000000
+00100000010000000100100100110110
+00100000010000000111111100010101
+01011000000000000000001010000000
+11011000111000000000000000000000
+00100000001000000111111100001000
+01101000000000001000110100110110
+11000000100000010100100100111011
+01110000000011010100011000000000
+01110000000011010100011100000000
+00100000011000000000000000000000
+01101000000000001000110101010011
+00100000011110100000000000000000
+01110000000011010101001100000000
+01110000000011010011011000000010
+01110000000011010100010100000001
+00100000011000000000000000000000
+01110000100010100010011100000001
+00100000001000000100101100110111
+01101000000000001000101100100010
+11000010100000100100100101010101
+00100000011000000000000000000000
+01101000000100001000101000011000
+11100000101000001000000000000000
+11000010000000000100100101000110
+00100000011000000000000000000000
+01000100111111000100000000011111
+01110000100010100010011000010001
+01101000000100001000101000100000
+01100000000000001000101100100100
+00011111111000100111001000000000
+00100000001110100100100101000011
+11011000101000000000110001101110
+00100000010000000100100101000110
+01101000000000001000101100100100
+00011111111001100111110000000111
+00100000011000010000000000000000
+01101000000000001000110001101110
+00011111111000010111111010000000
+11000000010000000100100101011010
+11000000000000000100100101100010
+00100000001000000010101010001100
+01101000000000001000110001101110
+00011111111100011111111000000000
+00011111111000110111111000000000
+00011111111000010111111000000011
+11000000000000000100100101101010
+11000000000000001100100101110000
+11000000000000010100100101110101
+00100000001000000010101010001100
+01101000000000001000110001101110
+00011111111100011111111000000000
+00011111111000110111111000000000
+00011111111000010111111000000011
+11000000000000000100100101110110
+11000000000000001100100101111110
+11000000000000010100100110000011
+00100000001000000010101010001100
+01101000000000001000110001101111
+11000000000001000100100110001010
+11000000000000110100100110100000
+11000000000001010100100111101010
+11000000000000000100100111111100
+00100000001000000100100110000100
+01101000000000001000110001101111
+11000000000000010100101000101111
+11000000000000001100101000110011
+11000000000000011100101001000101
+00100000001000000100100110000100
+00100000001000000100100110000100
+01101000000000001000110001101111
+11000000000000001100101001001111
+11000000000000011100101001111001
+11000000000000101100101010100011
+11000000000001001100101010111100
+11000000000001011100101011010111
+11000000000000111100100110000100
+00100000001000000100100110000100
+01101000000000001000110001101111
+11000000000001010100101011101000
+11000000000001001100101011111001
+11000000000001011100101100010001
+00100000001000000100100110000100
+00100000001000000100100110000100
+01101000000100001000101000010001
+01111001001000000111111000000000
+01100000000100001000101000010001
+00100000001000000100100110001000
+01110000100010100001001001000000
+00100000011000000000000000000000
+01101000000000001000110001101110
+11000000110000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000001100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001101011
+11000000000000100100100110011100
+11000000000000011100100110011110
+00100000001000000100100110000100
+11011010010000000000000000000001
+00100000001000000100101000010100
+11011010010000000000000000000001
+00100000001000000100101000010010
+01000100111111001100000000011111
+01111001001111111000000000100011
+01101000000000001000110001110001
+11000000000000001100100110110110
+11000000000000010100100111001111
+11000000000000011100100111010010
+11000000000100001100100110101001
+11000000000100010100100111100000
+00100000001000000100100110000100
+01110000000011010100101100000000
+01101000000000001000110001110010
+11000000000000000100100110101110
+11000000000000001100100110110010
+00100000001000000100100110000100
+11011010001000000000101110010011
+11101010001000001000000000000000
+10011000000000000010010000000000
+00100000001000000100101100100001
+11011010001000000000101110101100
+11101010001000001000000000000000
+10011000000000000010010000000000
+00100000001000000100101100100001
+01101000000000001000110101001000
+00100100010110100100100111000111
+01011000000000000000101101101000
+01101000000010001000101101101000
+01100000000000010000110100111111
+01100000000010001000110101000001
+01101000000000001000110001110100
+10011000010001100111110000000000
+00100100001000010100100111000101
+01101000000000001000110101000001
+10011000000000000010010000000000
+01101000000000010000110100111111
+00011111111000001111111000000001
+10011000000000000010001000000000
+00100000001000000100101100100001
+01101000000000001000110001110100
+00100000001000000100100111000000
+01101000000100001000101000000100
+00100100010110100100100111001011
+01110000000011010100100000000000
+00100000011000000000000000000000
+01101000000100001000101000000100
+01111001001000000111111000000111
+01100000000100001000101000000100
+00100000011000000000000000000000
+01011000000000000000101110000000
+01101000000010001000101110000000
+00100000001000000100100110111010
+01101000000000001000110001110000
+00011111111001100111110000000011
+00100100001000010100100110000100
+01101000000000001000110001110000
+11011010001000000000101111100100
+11000000000000000100101100011110
+01111001001000000000000000100011
+11011010001000000000101111101001
+11000000000000001100101100011110
+11011010001000000000110000000111
+11000000000000010100101100011110
+11011010001000000000110001000111
+11000000000000011100101100011110
+00100000011000000000000000000000
+01101000000000010000110001110010
+11000000000000001100100111100101
+01101000000000010000101101111100
+00011111111000100010001000000000
+00100000001000000100101100011110
+01110000000011010100010100000001
+01110000000011010011011000000001
+01101000000000010000101101111110
+00011111111000100010001000000000
+00100000001000000100101100011110
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001101110
+11000000110000001100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000001100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+11011010010000000000000000000001
+00100000001000000100101000010010
+01101000000000001000110001101011
+11000000000000010100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000010100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001101110
+11000000010000000100101000001101
+11000000010000001100101000011000
+11000000010000010100101000011100
+00100000001000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+11011010010000000000000000000010
+01101000000000001000110100111001
+11000000000000001100101000010110
+11011010001000000000110001100101
+00100000001000000100101100100001
+11011010001000000000110001100111
+00100000001000000100101100100001
+11011010001000000000110001101001
+00100000001000000100101100100001
+01101000000000001000110001101011
+11000000100000100100100110000100
+11011010010000000000000000000010
+00100000001000000100101000010010
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001110010
+11000000010000001100101000101001
+11000000010000010100101000101011
+11000000010000011100101000101101
+00011111111000010111111001111111
+11000000000000000100101000100101
+00100000001000000100100110000100
+01101000000000001000110100111011
+11011010010000000000000000000010
+11000000000000001100101000010100
+00100000001000000100101000010010
+01101000000000001000110100111100
+00100000001000000100101000100110
+01101000000000001000110100111101
+00100000001000000100101000100110
+01101000000000001000110100111110
+00100000001000000100101000100110
+01110000000011010100110000000001
+11011010001000000000110101001101
+11011010010000000000000000000001
+00100000001000000100101100100001
+01101000000000010000110001110000
+11011000010000000000000110111010
+10011000010001100111110000000000
+00100100001000101100100110000100
+01111001001111111000000000100011
+01101000000000001000110101000010
+00100100001110100100101001000010
+01110000000011001111011000000000
+01101000000000001000110001110100
+10011000000000000010010000000000
+11011010001000000000110011110110
+00100000010000000100101100100001
+11011000101000000000110011110110
+11011111001000000000000000001000
+00100000001000000111111011000110
+01110000000011010100001000000000
+01110000000011001111011000000001
+00100000001000000100101000111011
+01101000000000001000110001110100
+11000000100000001100100110000100
+01110000000011010100101100000001
+11011010010000000000000000000001
+01101000000000001000110101001001
+11000000000000000100101001001101
+11000000000000001100101001001110
+00100000001000000100101000010010
+00100000001000000100101000010100
+00100000001000000100101000010010
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001101110
+11000000000000000100101001011110
+11000000000000001100101001100110
+11000000000000010100101001100111
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000001100100110000100
+01101000000100001000101000000000
+01111001001111111111111000000111
+01100000000100001000101000000000
+01110000000011010011100100000000
+01110000000011010011101000000001
+00100000001000000100100110001000
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000010000001100101001110010
+11000000010000010100101001110101
+11000000010000011100101001110111
+00011111111000010111111001111111
+11000000000000000100101001110000
+00100000001000000100100110000100
+01110000000011010011101100000000
+00100000001000000100100110001000
+01110000000011010011110000000000
+01110000000011010101001100000001
+00100000001000000100100110001000
+01110000000011010011110100000000
+00100000001000000100101001110011
+01110000000011010011111000000000
+00100000001000000100101001110011
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001101110
+11000000000000000100101010000010
+11000000000000001100101010001111
+11000000000000010100101010010000
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000001100100110000100
+01101000000100001000101000000000
+01111001001000000111111000000111
+01100000000100001000101000000000
+01110000000011010011100100000001
+01110000000011010011011000000011
+01110000000011010100001100000000
+00100000010000000100100110001000
+00100000010000000111111100010101
+01011000000000000001001110001000
+11011000111000000000000000001111
+00100000001000000111111100001000
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000010000001100101010011101
+11000000010000010100101010011111
+11000000010000011100101010100001
+00011111111000010111111001111111
+11000000000000000100101010011011
+00100000001000000100100110000100
+01110000000011010011101100000001
+00100000001000000100100110001000
+01110000000011010011110000000001
+00100000001000000100100110001000
+01110000000011010011110100000001
+00100000001000000100100110001000
+01110000000011010011111000000001
+00100000001000000100100110001000
+01101000000000001000110001101110
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110000
+00011111111000010111111010000000
+11000000100000000100100110000100
+01101000000000001000110001110000
+11000000100000000100101010111010
+01110000000011000110101100000010
+01101000000000001000110001110000
+01100000000100001000101000000100
+00100000010000000100100110001000
+01110000000011010100100000000001
+00100000011000000000000000000000
+01110000000011000110101100000011
+00100000001000000100101010110101
+01101000000000001000110001101011
+11000000000000010100100110000100
+01101000000000001000110001101110
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110000
+00011111111001100111110000000001
+00100100001000010100100110000100
+01101000000000001000110001101011
+11000000000000011100101011010001
+11000000000000100100101011010001
+00100000001000000100100110000100
+01101000000000001000110001110000
+11000000000000000100101011010101
+01110000000011000110101100000100
+00100000001000000100100110001000
+01110000000011000110101100000011
+00100000001000000100100110001000
+01101000000000001000110001101011
+11000000100000100100100110000100
+01101000000000001000110001101110
+11000000100000001100100110000100
+01101000000000001000110001110000
+11000000100000000100100110000100
+01101000000000001000110001110001
+11000000100000000100100110000100
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110101
+11000000100000000100100110000100
+01101000000000001000110001110010
+11000000100000000100100110000100
+01101000000000001000110001110011
+11000000100000000100100110000100
+00100000001000000100100110001000
+01110000000011010100110000000001
+01101000000000001000110001110001
+01100000000000001000110101001101
+01101000000000001000110001110010
+00011111111001100111110000000001
+00100000010000101100101011110101
+01101000000000001000110100110110
+11000000100000100100100110001000
+01110000000011010011011000000010
+00100000010000000100100110001000
+00100000000000000111010100110000
+00100000000000000111010100110000
+00100000011000000000000000000000
+01110000000011010100010100000001
+01110000000011010011101000000000
+01110000000011010011011000000100
+00100000011000000000000000000000
+01110000000011010101000000000001
+00100000010000000100101100000011
+01101000000000010000110001110000
+01100000000000010000110101001110
+01101000000000001000110001110100
+10011000000000000111001000000000
+11011000110000000000110001110110
+11011000101000000000110010110110
+00100000010000000111111100000001
+00100000001000000100100110001000
+01101000000000010000110001110000
+11011000010000000000001000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000010000110001110010
+11011000010000000000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000000010000110001110100
+11011000010000000000000000000001
+10011000010001100111110000000000
+00100100011000101000000000000000
+01110000000011010100001100000001
+00100000011000000000000000000000
+01101000000000001000110001110100
+11000000100000000100100110000100
+01101000000000001000110001110000
+11000000000000000100101100010111
+11000000000000001100101100011010
+00100000001000000100100110000100
+01110000000011010100101000000000
+01110000000011010100100100000001
+00100000001000000100100110001000
+01110000000011010100010000000001
+01110000000011010100101000000001
+01110000000011010100100100000000
+00100000001000000100100110001000
+11101010001000001000000000000000
+10011000000000000010010000000000
+00011010001000001010001000000001
+01000100111111010100000000011111
+11000101100100011100101100101100
+00011010010000001111111000000001
+00011111111000111111111000000000
+01100000000100001000101000011000
+01110000100010100001100000000011
+01101000000000001000110001110100
+00011111111000001111111111111110
+00011111111000110111111000000000
+01100000000000001000110001110100
+11000000000000000100101100110101
+01101000000000010000110001110100
+10011010010001100111110000000000
+00100000001000010100101100110000
+00011111111000100010010000000000
+00011010001000100111111000000000
+01100000000000010000101101100101
+00011010010000100111111000000000
+01100000000000001000101101100111
+00100000001000000100101100110111
+11011000111000000000000000000000
+00100000001000000100101101010111
+01000100111111011100000000011111
+01101000000000001000101101100111
+00100000011110100000000000000000
+00011111111000100111001000000000
+00011111111001100111110001000000
+00100000001000010100101100111110
+11011111001000000000000001000000
+01101000000000001000101101100111
+10011111001001100111111000000000
+01100000000000001000101101100111
+01101000000000010000101101100101
+00011111111000100000110000000000
+11101000110000001000000000000000
+01100000000100001000101000011000
+11000101100100011100101101000111
+01110000100010100001100000000000
+11000010000000000100101101000011
+00011000110000100111111000000000
+01100000000000010000101101100101
+11011000111000000000000000000000
+00100000010000000100101101010111
+01101000000000001000101101100111
+00100100011110100000000000000000
+01101000000000001000110100110110
+11000001100000001000000000000000
+01110000000011010011011000000010
+00100000011000000000000000000000
+11011010001000001000101000011001
+11011000111000000000000000000001
+11101000110000001000000000000000
+11100010001000001000000000000000
+11000010000000000100101101010100
+01011000000000000000000000000000
+11111001001000000111111000000000
+01100000000100001000101000010000
+01101000000010001000110100110111
+10011000010000011111111000000000
+01100000000000001000110100110111
+00100000011000000000000000000000
+11011000111000000000000000000010
+11011010001000001000101000011010
+00100000001000000100101101010100
+01000100111111100100000000011111
+01101000000000001000110100111000
+00100000011110100000000000000000
+01101000000000001000110100110111
+00100100001110100100101110101100
+01101000000000001000110101000101
+00100000001110100100101110000110
+01101000000000001000110100110110
+11000000000000011100101110111111
+11000000100000010100101110000110
+01101000000000001000110100111010
+00100100001110100100101110000110
+00100000010000000100101101101111
+00100000001000000100101101111010
+01101000000000001000110100111000
+11000100000000001000000000000000
+01101000000000001000110100110111
+11000011100000001000000000000000
+01101000000000001000110100111000
+01111001001111111111111000000001
+01100000000000001000110100111000
+01101000000000001000110101010001
+00100000011110100000000000000000
+11000000000010000100101110101000
+00100000001000000010101010001100
+01101000000000001000110100111000
+11000100000000010000000000000000
+01101000000000001000110100110111
+11000011100000010000000000000000
+01101000000000001000110100111000
+01111001001111111111111000000010
+01100000000000001000110100111000
+01101000000000001000110101010010
+00100000011110100000000000000000
+11000000000100000100101110001001
+11000000000100001100101110100100
+00100000001000000010101010001100
+11011000101000000000110101010100
+11011111001000000000000000000110
+00100000001000000111111011000110
+01101000000000001000110101001100
+01101000000010001000110101001011
+10011000010000010111111000000000
+00100000001110100100101110100000
+01101000000010001000110101001010
+10011000010000001111111000000000
+11000000000000001100101110010001
+00100000001000000100101110100000
+01110000000011010101001000000000
+01101000000000001000110101010101
+11000000000000010100101110100001
+11000000000000011100101110100001
+01101000000000001000110101010101
+01100000000000001000110101010100
+01101000000000001000110101010110
+11100000101000001000000000000000
+01101000000000001000110101011000
+11100000101000001000000000000000
+01101000000000001000110101011010
+11100000101000001000000000000000
+11011111001000000000000000000100
+11011000110000000000110101010100
+00100000001000000100101101011110
+01110000000011010101001000000000
+11011111001000000000000000001000
+11011000110000000000110101010100
+00100000001000000100101101011110
+01110000000011010101001000000000
+11011111001000000000000000000011
+11011000110000000000110101110100
+00100000001000000100101101011110
+01110000000011010101000100000000
+11011111001000000000000000001000
+11011000110000000000110101100100
+00100000001000000100101101010010
+01101000000000001000110100110110
+11000000000000011100101110110000
+11000000000000010100101110110010
+00100000011000000000000000000000
+01110000000011010011011100000000
+00100000011000000000000000000000
+01101000000100001000101000000000
+01111001001000000111111000000111
+01100000000100001000101000000000
+01110000000011010100011100000001
+00100000011000000000000000000000
+01101000000000001000110100110110
+11000001000000011000000000000000
+11000000000000010100101110111011
+00100000011000000000000000000000
+01101000000000001000110101000111
+00100000011110100000000000000000
+01110000000011010100011000000001
+00100000001000000100101111000010
+11011000111000000000000000001111
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000100001000101000000000
+11000100000000111000000000000000
+01110000100010100000000011111100
+00100000000000000111010100110000
+01110000100010100000000000111100
+00100000011000000000000000000000
+01000100111111101100000000011111
+01101000000000001100000111001110
+00100100011110100000000000000000
+00100000010000000100101111001110
+00100100010101000100101111100110
+00100000011000000000000000000000
+01000100111111110100000000011111
+00011000011000100010001000000000
+11011000010000000000000000000100
+11101000011000001000000000000000
+11000000000000001100101111011000
+00011000010000001000010000000001
+11000000000000010100101111011000
+00011000011000100111111000000000
+01100000000100010000000001011000
+00100000011000000000000000000000
+01101000000100010000000100010010
+10011000010001100111110000000000
+00100100001000010100101111011000
+01111000010101000111110000000000
+00011010001000100000011000000000
+00100000010000000100101111101110
+10011000010000001000010000000000
+01101000000100010000000100010010
+10011000010001100111110000000000
+00100100001000010100101111011111
+00011010001000100000011000000000
+11101000011000001000000000000000
+11000000000000001100110000111111
+00100000001000000010101010001100
+01000100111111111100000000011111
+01101000000100010000000001011000
+10011000000000000000011000000000
+00100000010000000100101111101110
+10011000011000001000011000000000
+00011000011000100111111000000000
+01100000000100010000000001011000
+00100000011000000000000000000000
+11101000011000001000000000000000
+00011000011000001000011000000010
+11000000000000010100101111110011
+11101000011000001000000000000000
+00100000011000000000000000000000
+11101000011000010000000000000000
+00100000011000000000000000000000
+01101000000100010000000001011110
+00011001010000001001010111111011
+10011001010000001001010000000000
+00100000011000000000000000000000
+11011000010000000000000000000100
+00100000001000000100101111111100
+11011000010000000000000000000010
+01000111000000000100000000100000
+00011111001000001111001000000001
+01101000000100010000000001011110
+00011111111000100001010000000000
+00011111001000100111111000000000
+11100001010010001000000000000000
+00011111111000001111111111111111
+10011001010000001001010000000000
+00011001010000100111111000000000
+01100000000000010000001001011000
+00011000010000100111111000000000
+11000001000000010000000000000000
+01101000000000010000001001011000
+01100000000100010000000001011110
+00100000001000000100110000001011
+01011000000000000000000000000000
+01100000000000010000001001011000
+00100000011000000000000000000000
+00100000011101011000000000000000
+01011000000000000100110100101000
+01100000000000010100000111110011
+01011000000000000000000110100000
+01100000000000010100001001000011
+01011000000000000001100000000000
+01100000000100010000000001010100
+01011000000000000001101111111111
+01100000000100010000000001010110
+01011000000000000001110000000000
+01100000000100010000000001011010
+00100000010000000100110000101000
+01110000100000000110001000000000
+01011000000000000001110000000000
+01100000000100010000000001011110
+01100000000100010000000001100000
+01011000000000000001100000000000
+01100000000100010000000001011000
+01100000000000010000001001000100
+01101000000100010000000001010000
+01111001001111111111111000001111
+01100000000100010000000001010000
+00100000010000000110011011001110
+01110000100000000100001100000001
+01110000100000000110001010000001
+00100000011000000000000000000000
+01011000000000000001111111111111
+01100000000100010000000001011100
+01101000000100001000000010000001
+00011111111000011111111000000111
+01100000000100001000000010000001
+00100000011000000000000000000000
+01000111000000001100000000100000
+01101000000100001000000100001100
+10011000000000000010010000000000
+11000011000000011100110000110111
+01101000000100010000000100010010
+10011000000000000010011000000000
+11011000010000000000010001001111
+10011000010001100111110000000000
+00100100011000101000000000000000
+01101000000100010000000001011000
+10011000000000000000011000000000
+00100000001000000100101111001000
+01101000000110001000000100001100
+00101000010011111111111000000110
+00100000001000001100110000111010
+01100000000100001000000000010101
+00100000011000000000000000000000
+01000111000000010100000000100000
+01101000000000001100000111001110
+00100000001110100100110001000100
+01111000001101000111110000000000
+00100000011000000000000000000000
+11101000011000010000000000000000
+10011000000000000110000000000000
+10011000000000000000111000000000
+11101000011000001000000000000000
+10011000000000000000010000000000
+00011110000010110111111000000000
+00011111111011001111111000000000
+11000000000111111100110001001101
+00100000011000000000000000000000
+01000111000000011100000000100000
+00011000111000100111111000000000
+11000000000000000100110011011100
+11000000000000001100110001100110
+11000000000000010100110001101011
+11000000000000011100110001111010
+11000000000000100100110010110011
+11000000000000101100110011011100
+11000000000000110100110011000110
+11000000000000111100110001011100
+11000000000010000100110011001001
+11000000000010001100110011010001
+11000000000010010100110010100101
+11000000000010011100110010000101
+00100000001000000100110011011100
+00100000010000000100110011011100
+00100000010000000111111110011110
+00100000010000000110100010001100
+00100000010000000011001111010010
+00100000010000000011001111011001
+00100000001000000110100010001111
+01110000010000100100010100000000
+00100000010000000011001111010000
+00100000010000000100110000010011
+00100000001000000011001111011011
+00100000010000000100110011110010
+01101000000100010000000000000000
+11100001010000010000000000000000
+00011000000000000111001000000110
+00100000001000000100110011011101
+11101000011000010000000000000000
+01100000000000010100001001000011
+01100000000100010000000001010010
+00100000011000000000000000000000
+11101000011000001000000000000000
+00011111111000100000010000000000
+01100000000100001000000000100100
+11101000011000001000000000000000
+10011000010000001000010000000000
+01111001001000000111111000000111
+01100000000100001000000000100011
+11101000011000001000000000000000
+10011000010000001000010000000000
+00011111111000100111001000000000
+00100000011000000000000000000000
+11000101000101011100110011000100
+00100000010000000100110001101111
+11101000011000001000000000000000
+01100000000100001000000000100101
+10011000010000001000010000000000
+11000010000000000100110001111100
+00011000010000010000010011111111
+11101000011000001000000000000000
+10011000010001100111110000000000
+00100100001000101100110011000100
+00100000001000000100110011011100
+11000101100101011100110011000100
+00100000010000000100110001101111
+01100000000001000000101010011010
+00100000010000000111010000100010
+11011111001000000000000000010000
+11011000101000000000101011000010
+00100000010000000100110010100000
+01100000000011000000101010100010
+11011000101000000000101011010010
+00100000010000000111010010010111
+11011010001000000000101011010010
+11011010010000000000101011000010
+11011000101000000000101011100010
+00100000010000000111001101010010
+11011111001000000000000000010000
+11011000110000000000101011100010
+00100000010000000100110010011100
+01101000000011000000101010100010
+01101000000001000000101010011010
+00011111111000001111111111110000
+01100000000001000000101010011010
+00100100001110100100110010001000
+00100000001000000100110010000000
+11101000110000001000000000000000
+01100000000100001000000000100101
+11000010000000000100110010011100
+00100000011000000000000000000000
+11101000011000001000000000000000
+11100000101000001000000000000000
+10011000010000001000010000000000
+11000010000000000100110010100000
+00100000011000000000000000000000
+11000101100101011100110011000100
+11011000010000000000000000000000
+11011111001000000000000000010000
+11011000101000000000101011000010
+00100000010000000100110010100000
+01101000000100001000000010000101
+00011111111000010111111011111101
+01100000000100001000000010000101
+11011000110000000000101011000010
+11011111001000000000000000010000
+00100000010000000111010001111000
+00100000010000000111010000101000
+00100000010000000111010010010001
+00100000001000000100110010000000
+11011111001000000000000000100000
+11011000101000000100000000000000
+11011000010000000000000000000000
+11101000011000001000000000000000
+11100000101000001000000000000000
+10011000010000001000010000000000
+11000010000000000100110010110110
+00011000010000010000010011111111
+11101000011000001000000000000000
+10011000010001100111110000000000
+00100100001000101100110011000100
+01110000100000000010001100000000
+00100000010000000100110011011100
+00100000010000000100101111100110
+00100000010000000110010010100011
+00100000010000000111111110011110
+00100000001000000010000000000001
+01110000100000000010001100000000
+00100000001000000010000000000000
+11101000011000110000000000000000
+01100000000000110100000010100000
+00100000001000000100110011011100
+11101000011000001000000000000000
+01100000000000001000001001011010
+00011111111000100111001000000000
+11101000011000010000000000000000
+01100000000000010000001001011011
+00011111111000100000101000000000
+00100000010000000110011011111101
+00100000001000000100110011011100
+11101000011000001000000000000000
+01100000000000001000001001011010
+00011111111000100111001000000000
+11101000011000010000000000000000
+01100000000000010000001001011011
+11011000101000000001000000000000
+00100000010000000110011011111101
+01101000000010001000001001011010
+11011010001000000001000000000000
+01101000000000010000001001011011
+00100000001000000110011000001000
+00011000000000000111001000000100
+00100000010000000100110011110100
+00011000000000000111111000000001
+11100001010000001000000000000000
+00011110000000100111111000000000
+11100001010000011000000000000000
+00011000000000000000111000001110
+01000111000000100100000000100000
+00100000010000000100110011110110
+00011000111000100111111000000000
+11100001010000001000000000000000
+00011111001000100111111000000000
+11100001010000001000000000000000
+00011000000000000000111000000101
+00011111001000001111001000000010
+00100000001000000100101111111001
+00011000000000000000111011111111
+00100000010000000100110011110100
+01011000000000000000000000000001
+11100001010000001000000000000000
+00011000000000000111001000000001
+00100000001000000100110011100011
+00011000000000000001010000001100
+00100000001000000100110011110111
+00011000000000000001010000001000
+00100000001000000100110011110111
+00011000000000000001010000000110
+00100000001000000100101111110101
+01111000001001111111110000000000
+01111000001001001111110000000000
+11101001010000001000000000000000
+00001000000000001000000000001000
+11000010000000000100110011111010
+01111000001001000111110000000000
+00001000000000001000000000010000
+01111000010001000111110000000000
+01111000010001001111110000000000
+01111000010001111111110000000000
+00011111111100001111111000000000
+00100000011000000000000000000000
+01110000010000011100111000000000
+00100000011000000000000000000000
+01101000000000110100000111010000
+01101000000010110000000001000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000001000000001001011
+11000010100000010100110100001111
+00100000010000000110001011101111
+01110000000000000111110000001000
+00100000001000000100110100000100
+01111001001111111111111000000010
+01100000000000001000000001001011
+00100000010000000110000000000001
+01011000000000000000000000000000
+01111001001101001111111000000001
+01100000000000001000000001111111
+00100000001000000100110100000100
+00100000011000000000000000000000
+01110000000000000111110000010111
+11011000101000000000010011011001
+01011000000000000000000000000000
+00101101000011111111111000011011
+01111001001000001111111000000001
+11100000101000001000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+01101000000000010100000111100011
+11100000101000010000000000000000
+01101000000000001100000111100101
+11100000101000010000000000000000
+01101000000000001100000111100111
+11100000101000010000000000000000
+00100000001000000100110100000100
+01110000000000000111110000011000
+00100000001000000100110100000100
+00100000010000000110100010011001
+00100000011000001000000000000000
+11011000010000000000000000000111
+00100000010000000110100000011101
+00100100001000001100110100101111
+01110000010000100100010100000001
+00100000011000000000000000000000
+01101000000000001100001001000101
+11000001100000001000000000000000
+00100000010000000100110001100010
+00100000001000000100110011101100
+01000111000000101100000000100000
+01101000000000010000001001100100
+00011111111000100000110000000000
+11101000110000001000000000000000
+00011111111000010000010000001111
+00011111111100011111111000000000
+11000000000001001100110101010011
+11000000000000111100110101010011
+11000000000001010100110101011111
+11000000000000101100110101001011
+11000000000000001100110100111111
+00100000011000000000000000000000
+00011000010000100111111000000000
+11000000000000101100110101000011
+11000000000000011100110101001010
+00100000011000000000000000000000
+01110000000010101001100100100111
+00100000010000000111110110000110
+01101000000000001100000010010010
+11000100000000110000000000000000
+00011000010000100111111000000000
+11000000000000101100001110001110
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000100110101011111
+11011010001000000000000000000001
+00100000010000000100110101100011
+01101000000000010100001001001100
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011010001000000000000000000001
+00100000010000000100110101100011
+01101000000000010100001001001100
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+01110000000010101000111000000001
+01101000000000001100001001010010
+01111001001000000111111000000110
+01100000000000001100001001010010
+01110000000010101001100100010010
+00100000001000000111110110000110
+11101000110000001000000000000000
+11000000000000001100110101100010
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000101001001000000
+00011010001000100000010000000000
+01100000000010001000101010001110
+00011111111000100000101000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000001101011100110101101111
+01011000000000000100001101100101
+11011000101000000100001001000110
+10011000101001100111001000000000
+00100000010000000111111011010100
+01000111000000110100000000100000
+01011000000000000000010101010001
+11011000101000000000010100010001
+10011000101001100111001000000000
+00100000010000000111111011010100
+01011000000000000000001011001001
+11011000101000000000001001011101
+10011000101001100111001000000000
+00100000010000000111111011010100
+00100000001000000101001100011000
+01000111000000111100000000100000
+00011000110000100000010000000000
+00011000010000100000110000000000
+11101000110000010000000000000000
+01100000000000010000001001100110
+11101000110000010000000000000000
+01100000000000010000001001101000
+00011000110000100111111000000000
+01100000000000010000001001100100
+01101000000000001100011010000001
+11000000000000000100110110000101
+00100000001000000101000011101111
+01101000000000010000001001100110
+00100000001110100100110111111100
+01000111000001000100000000100001
+01101000000000001000001001101000
+11000000000000001100110110011101
+11000000001010000100110111100000
+11000000001010001100110111110101
+11000000001010010100110111110011
+11000000001010011100110111110011
+00100000001000000100110111111100
+01000111000001001100000000100001
+00100000010000000101001001111110
+01101000000000001100001001010110
+11000000000000000100110110011011
+11000000000000001100110110011011
+11000000000000010100110110011011
+11000000000000011100110110011011
+11000000010000001100110110011011
+11000000011000000100110110011011
+11000000010000000100110110011011
+11000000001000000100110110011011
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+00100000010000000100110110001111
+00100100011110100000000000000000
+00100000010000000101001010111000
+00100000010000000100111000000001
+01101000000010010000001001101111
+00100000001110100100110111111011
+00100000010000000101001011000001
+01101000000000010000001001101111
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+00100000001000000100110111111100
+01101000000000001100001101100100
+00100000011110100000000000000000
+00011111111000100010001000000000
+01000111000001010100000000100001
+01101000000000100000001011010101
+11011000010000000000000100000000
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01110000010000110110010000000000
+00011010001000100111111000000000
+11000000001010000100110110110111
+00100000001000000010101010001100
+11011001000000000000000000000000
+00100000010000000101001010111000
+00100000010000000100111001111010
+00100000010000000101001011000011
+00100000010000000111111010101000
+00100000010000000100111010101101
+00100000010000000101001011000001
+01011000000000000000000000001100
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+00100000001000000100110111111100
+01000111000001011100000000100001
+01101000000000010000001001110101
+00011111111000001111111000000100
+00011111111100011111111000000000
+00011111111010010111111000000000
+00011111111000001000010000000001
+11011000110000000100001001100000
+11101000110000011000000000000000
+00100000011110100000000000000000
+01100000000000011000101011000010
+01101000000000001000101011000010
+00011111111000100010001000000000
+00100000010000000100110111010011
+00011010010000100111111000000000
+01100000000000001100001001100000
+00100000011000000000000000000000
+11011000111000000000000000000000
+11011010010000000000000000000000
+00011000111001100111110000000111
+00100100011000010000000000000000
+10101010001011111111111111111111
+00100000001000001100110111011010
+00100000001000000100110111011110
+00011000010000100111111000000000
+00100000001110100100110111011110
+11111001001000000010010000000000
+00011000010000001000010111111111
+00011000111000001000111000000001
+00100000001000000100110111010101
+00100000010000000101001001110100
+00100100011110100000000000000000
+00100000010000000100110110001111
+00100100011110100000000000000000
+00100000010000000101001011000101
+00100000010000000110111000010001
+00100000010000000100110111000011
+00100000001000000100110111101100
+00100000010000000101001001110100
+00100100011110100000000000000000
+00100000010000000101001011000101
+00100000010000000110111000010001
+00100000010000000101001011001110
+01101000000000010000001001110101
+00100000001110100100110111111011
+11100000101000010000000000000000
+01101000000000010100001001001000
+11100000101000010000000000000000
+00100000001000000100110111111100
+00100000010000000100110100110011
+00100000001000000100110111111100
+01000111000001100100000000100001
+01110000000000101000010000000000
+00100000010000000110101010001010
+01101000000000001000001010000100
+11000001000000001000000000000000
+00100000001000000100110111111100
+00100000010000000101001001100100
+01011000000000000000000000000000
+01100000000000010000001001100110
+01100000000000010000001001101000
+01110000000000100110101000000001
+00100000011000000000000000000000
+01000111000001101100000000100001
+00100000010000000101001011000011
+00011000000000000010010000000000
+01101000000000010000001001100110
+00011111111000100010011000000000
+01101000000000010000001001100100
+10011000000000000000110000000000
+00100000010000000100111000010000
+00011010011000100111111000000000
+00011010011000001010011111111100
+00011111111000001111111111111100
+00100100001110100100111000001000
+00011010010000100111111000000000
+01100000000000010000001001101111
+00100000011000000000000000000000
+01000111000001110100000000100001
+11101000110000001000000000000000
+11000000000000001100111001001001
+11000000000000010100111001010001
+11000000000000011100111011010101
+11000000000000100100111100000101
+11000000000000101100111110100010
+11000000000000110100111111001011
+11000000000000111101000000011011
+11000000000001000101000001010000
+11000000000001001101000001100000
+11000000000001010100111000011111
+11000000000001011101000001100001
+00100000010000000101000001100010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+01011000000000000000000000001011
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+11101000110000010000000000000000
+11000000000000010100111000101101
+11000000000000011100111000110011
+00100000011000000000000000000000
+01011000000000100000000000001000
+11100000101000110000000000000000
+01011000000000000000001010000000
+11100000101000100000000000000000
+00011000000000000111111000001100
+00100000001000000100111000111000
+01011000000000110000000000001100
+11100000101000110000000000000000
+01011000000000000000000000000110
+11100000101001000000000000000000
+00011000000000000111111000010000
+10011010010000001010010000000000
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+01100000000000010000101010100010
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000010000000101001011000011
+01011000000000000000000000001011
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01101000000000010000101010100010
+00100000001000000100111000101010
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+10011000110000001000110000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000100111000011110
+00100000010000000111111010101000
+00100000010000000111111010101101
+11011001000000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+01000111000001111100000000100001
+00011000010000100111111000000000
+11000000000000001100111001100100
+11000000000000011100111010000110
+11000000000010001100111010010010
+11000000000010011100111010011101
+00100000010000000101000001100010
+00100000001000000100111011010100
+00100000010000000111111010101000
+11011000010000000000000001010000
+01101000000000010100001001001000
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001000
+00011100010000100111111000000000
+01100000000000100000001011010101
+00100000010000000100111001101110
+00100000001000000100111010101001
+01100000000010010000001011010011
+00011001011000100111111000000000
+01100000000000010000001011001001
+00011010001000100111111000000000
+01100000000000010000001011001011
+00011010010000100111111000000000
+01100000000000010000001011001101
+00011010011000100111111000000000
+01100000000000010000001011001111
+00011000111000100111111000000000
+01100000000000010000001011010001
+00100000011000000000000000000000
+01101000000010010000001011010011
+01101000000000010000001011001001
+00011111111000100001011000000000
+01101000000000010000001011001011
+00011111111000100010001000000000
+01101000000000010000001011001101
+00011111111000100010010000000000
+01101000000000010000001011001111
+00011111111000100010011000000000
+01101000000000010000001011010001
+00011111111000100000111000000000
+00100000011000000000000000000000
+00100000010000000111111010101000
+01011000000000000000000001010001
+11011000010000000000000001010001
+01101000000000010100001001001010
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001010
+01101000000000001100001001010001
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010001
+00100000001000000100111010110001
+00100000010000000111111010101000
+11011000010000000000000001010010
+01101000000000010100001001001100
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001100
+01101000000000001100001001010010
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010010
+00100000001000000100111010110001
+00100000010000000111111010101000
+00011011010000100111111000000000
+11011000010000000000000001010011
+01101000000000010100001001001110
+00100100001110100100111011001110
+00011001011000100111111000000000
+01100000000000010100001001001110
+01101000000000001100001001010011
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010011
+00100000001000000100111010110001
+01011000000000000000000000000001
+01100000000000010000001001111101
+01110000010000110110010001010000
+00100000001000000100111010110011
+01101000000000001100001001010000
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010000
+01011000000000000000000000000000
+01100000000000010000001001111101
+01000111000010000100000000100010
+00100000010000000111111010101101
+01011000000000000000000000000011
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000001000
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+01101000000000010000001001111101
+11000000000000001100111011001001
+00101001000011000000000000000000
+00100000001000001100111011000100
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+01011000000000000000000000001100
+00100000001000000100111011010000
+11100000101000010000000000000000
+00011000000000000111111000000010
+11100000101000010000000000000000
+01011000000000000000000000001100
+00100000001000000100111011010000
+01111001001000000001000000000000
+00100000001000000100111010110001
+10011010010000001010010000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000100111011010100
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+01000111000010001100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101100111011101101
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101100111011110011
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101100111011111111
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101100111011111001
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100000000000010100001001001000
+01101000000000001100001001010000
+01111001001000000111111000000001
+01100000000000001100001001010000
+00100000001000000100111000011110
+00011001011000100111111000000000
+01100000000000010100001001001010
+01101000000000001100001001010001
+01111001001000000111111000000001
+01100000000000001100001001010001
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100000000000010100001001001100
+01101000000000001100001001010011
+01111001001000000111111000000001
+01100000000000001100001001010011
+00100000011000000000000000000000
+00011001011000100111111000000000
+01100000000000010100001001001110
+01101000000000001100001001010010
+01111001001000000111111000000001
+01100000000000001100001001010010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+00011000010000100010001000000000
+01000111000010010100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101100111100011100
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101100111100111010
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101100111100100110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101100111100110000
+00100000001000000101000001100010
+00011000101000100001011000000000
+01101000000000001100001001010000
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010000
+00011001011000100000101000000000
+11011001011000000000000001010000
+01101000000000010100001001001000
+00011111111000100000010000000000
+00100000001000000100111101000011
+00011000101000100001011000000000
+01101000000000001100001001010010
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010010
+00011001011000100000101000000000
+11011001011000000000000001010010
+01101000000000010100001001001100
+00011111111000100000010000000000
+00100000001000000100111101000011
+00011000101000100001011000000000
+01101000000000001100001001010011
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010011
+00011001011000100000101000000000
+11011001011000000000000001010011
+01101000000000010100001001001110
+00011111111000100000010000000000
+00100000001000000100111101000011
+00011000101000100001011000000000
+01101000000000001100001001010001
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010001
+00011001011000100000101000000000
+11011001011000000000000001010001
+01101000000000010100001001001010
+00011111111000100000010000000000
+01000111000010011100000000100010
+01011000000000000000000000000101
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000110
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001010
+10011010010000001010010000000000
+01100000000010010000001010000010
+00011000111000100111111000000000
+01100000000000001000001010000001
+00011000000000000111111001010000
+10101001011000011111111000000000
+00100000001000001100111101011001
+00011111111000001111111000000001
+00100000011000000000000000000000
+01111000010101000111110000000000
+11000011100000010000000000000000
+11000100000000000000000000000000
+11000100000000001000000000000000
+01111001001000000111111000000010
+00011000110000100000101000000000
+00011000101000001000101111111111
+11100000101000001000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000001100001001010000
+00100000010000000100111101011010
+00100100001101000100111101101011
+01110000000000101000000001010000
+01101000000000010100001001001000
+01100000000000010000001010000010
+00100000001000000100111101111111
+01101000000000001100001001010001
+00100000010000000100111101011010
+00100100001101000100111101110010
+01110000000000101000000001010001
+01101000000000010100001001001010
+01100000000000010000001010000010
+00100000001000000100111101111111
+01101000000000001100001001010010
+00100000010000000100111101011010
+00100100001101000100111101111001
+01110000000000101000000001010010
+01101000000000010100001001001100
+01100000000000010000001010000010
+00100000001000000100111101111111
+01101000000000001100001001010011
+00100000010000000100111101011010
+00100100011101000000000000000000
+01110000000000101000000001010011
+01101000000000010100001001001110
+01100000000000010000001010000010
+01000111000010100100000000100010
+00100000010000000101001000111010
+00100000010000000101001010111000
+00011000000000000010010000000000
+00100000010000000101001011000011
+00011000000000000111111000000100
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000000010000001010000010
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000001000000000000000
+00011000000000000111111000000010
+11100000101000001000000000000000
+01101000000000001000001010000000
+11000000001010001100111110010111
+01011000000000000000000000110000
+11100000101000010000000000000000
+00100000001000000100111110011001
+01011000000000000000001111100011
+11100000101000010000000000000000
+11011000010000000000000000001100
+01100000000010010000001001101111
+00100000010000000101001011000001
+01101000000000010000001001101111
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+01110000000000101000000000000000
+00100000001000000100111000011110
+00011000110000001000110000000001
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+01000111000010101100000000100010
+01011000000000000000000001010000
+10011010001001100111110000000000
+00100000001000101100111110111010
+01011000000000000000000001010001
+10011010001001100111110000000000
+00100000001000101100111110111110
+01011000000000000000000001010010
+10011010001001100111110000000000
+00100000001000101100111111000010
+01011000000000000000000001010011
+10011010001001100111110000000000
+00100000001000101100111111000110
+00011000110000001000110000000010
+11101000110000010000000000000000
+10011000000000000111110000000000
+00100000001000000100111000011110
+01101000000000001100001001010000
+01111001001000000111111000000101
+01100000000000001100001001010000
+00100000001000000100111000011110
+01101000000000001100001001010001
+01111001001000000111111000000101
+01100000000000001100001001010001
+00100000001000000100111000011110
+01101000000000001100001001010010
+01111001001000000111111000000101
+01100000000000001100001001010010
+00100000001000000100111000011110
+01101000000000001100001001010011
+01111001001000000111111000000101
+01100000000000001100001001010011
+01110000000010101001100100000110
+00100000001000000111110110000110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+00011010001000100000010000000000
+00100000010000000111111010101000
+01000111000010110100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101100111111110010
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000000000010
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101100111111100110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101100111111101100
+00100000010000000101000001100010
+00100000001000000101000000010111
+00011001011000100000010000000000
+01101000000000010100001001001100
+10011000010001100111110000000000
+00100000001000101100111111111000
+00100000010000000101000001100010
+00100000001000000101000000010111
+00011001011000100000010000000000
+01101000000000010100001001001110
+10011000010001100111110000000000
+00100000001000101100111111111010
+00100000010000000101000001100010
+00100000001000000101000000010111
+00011001011000100000010000000000
+01101000000000010100001001001000
+10011000010001100111110000000000
+00100000001000101100111111111110
+00100000010000000101000001100010
+00100000001000000101000000010111
+00100000010000000101000001111001
+00100000001000000101000000001010
+00100000010000000101000001111111
+01101000000000010100001001001100
+00100000001110100101000000001010
+00100000001000000101000000001010
+00100000010000000101000001110100
+01101000000000001000001010001000
+00100100001110100101000000001010
+00100000001000000101000000001010
+00011001011000100000010000000000
+01101000000000010100001001001010
+10011000010001100111110000000000
+00100000001000101101000000001000
+00100000010000000101000001100010
+00100000001000000101000000010111
+00100000010000000101000001101111
+00100000001000000101000000001010
+00100000010000000111111010101101
+01011000000000000000000000000111
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001000
+00100000001000000101000000011001
+00100000010000000111111010101101
+00100000001000000101000000011001
+10011010010000001010010000000000
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+00100000010000000111111010101000
+01000111000010111100000000100010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000000110101
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000000111011
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000001000001
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000001000111
+00100000010000000101000001100010
+00100000001000000101000001001111
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001000
+10011000010001100111110000000000
+00100000010000101101000001110100
+00100000001000000101000001001101
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001010
+10011000010001100111110000000000
+00100000010000101101000001101111
+00100000001000000101000001001101
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001100
+10011000010001100111110000000000
+00100000010000101101000001111001
+00100000001000000101000001001101
+00011000010000100010001000000000
+00011001011000100000010000000000
+01101000000000010100001001001110
+10011000010001100111110000000000
+00100000010000101101000001111111
+00100000001000000101000001001101
+00100000010000000111111010101101
+00100000001000000100111000011110
+00100000001000000100111000011110
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+10011000110000001000110000000000
+01011000000000000000000000001001
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000100
+10011010010000001010010000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000001000000100111000011110
+00100000001000000100111000011110
+00100000001000000100111000011110
+00011000000000000010010000000000
+00100000010000000101001011000011
+01011000000000000000000000000001
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000010
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+00011010010000001010010000000110
+11011010011000000000000000000100
+00100000001000000100111000011110
+01011000000000000000000000000000
+01100000000000010000001001111011
+01100000000000010100001001001010
+01110000010000100101000100000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010000001001110101
+01100000000000010100001001001000
+01110000010000100101000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100001001001100
+01110000010000100101001000000000
+01101000000000001100001001010011
+11000000000000000101000010000101
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100001001001110
+01110000010000100101001100000000
+01101000000000001100001001010010
+11000000000000000101000010000101
+00100000011000000000000000000000
+01110000000010101001100100000111
+00100000001000000111110110000110
+01101000000000001000001001111111
+01111001001111111111111000000000
+01100000000000001000001001111111
+01101000000000010100001001001110
+00100000011110100000000000000000
+00100000010000000101001010111000
+01101000000000010100001001001110
+00011111111000100010001000000000
+00011000000000000010010001010011
+00100000001000000101000010011010
+01101000000000001000001001111111
+01111001001111111111111000000111
+01100000000000001000001001111111
+01101000000000010100001001001100
+00100000011110100000000000000000
+00100000010000000101001010111000
+01101000000000010100001001001100
+00011111111000100010001000000000
+00011000000000000010010001010010
+00100000010000000101001000111010
+00100000010000000101001011000011
+00011000000000000111111000000110
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011010010000100111111000000000
+11100000101000010000000000000000
+00011000000000000000010000001000
+00100000001000000101000011011110
+01000111000011000100000000100011
+00100000010000000101001000111010
+00100000010000000101001011000011
+01011000000000000000000000000010
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+11011000010000000000000000001000
+00100000001000000101000011011110
+01000111000011001100000000100011
+00100000010000000101001000111010
+00100000010000000101001011000011
+01011000000000000000000000000100
+11100000101000001000000000000000
+01101000000000001100001001010101
+11100000101000001000000000000000
+01011000000000000000000000001000
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+01011000000000000000000000000010
+11100000101000001000000000000000
+01011000000000000000001111100011
+11100000101000010000000000000000
+11011000010000000000000000001100
+00100000001000000101000011011110
+01000111000011010100000000100011
+00100000010000000101001000111010
+00100000010000000101001011000011
+01011000000000000000000000000110
+11100000101000001000000000000000
+01101000000000001100001001010101
+00011111111000001111111000000001
+00011000101000100010001000000000
+01100000000000001100001001010101
+00011010001000100000101000000000
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+11011000010000000000000000001000
+01100000000010010000001001101111
+00011000010000100111111000000000
+00100000001110100101001001100100
+00100000010000000101001011000001
+01101000000000010000001001101111
+11100000101000010000000000000000
+00011000000000000111111000000001
+11100000101000010000000000000000
+00100000011000000000000000000000
+01101000000000010000001001110101
+00100000001110100010101010001100
+00100000010000000101001011001110
+01101000000000010000001001110101
+11100000101000010000000000000000
+01101000000000010100001001001000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01101000000000010000001001100110
+00100000001110100100110111111100
+01000111000011011100000000100011
+01101000000000001000001001101000
+11000000000000001101000011111001
+11000000001010000100110111101000
+11000000001010001100110111110101
+11000000001010010100110111110011
+11000000001010011100110111110011
+00100000001000000100110111111100
+01000111000011100100000000100011
+00100000010000000101001010111000
+00011000000000000010010000000000
+00100000010000000101001011000011
+00011111111000100000101000000000
+01101000000000010000001001100110
+00011111111000100010011000000000
+01101000000000010000001001100100
+10011000000000000000110000000000
+00100000010000000101000100001000
+00011010011000001010011111111100
+00100100001000101101000100000010
+00011010010000100000010000000000
+00100000010000000101000011011110
+00100000001000000100110111111100
+11101000110000001000000000000000
+11000000000000010101000100010011
+11000000000000001101000100010110
+11000000000000011101000100100000
+11000000000000101101000101011100
+11000000000000100101000110001110
+11000000000000111101001000010011
+11000000000000110101000111100001
+11000000000001000101000001010000
+11000000000001010100111000111010
+00100000001000000101001000101110
+00100000010000000111111010101000
+00100000010000000111111010101101
+00100000001000000100111001010001
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000001000000000000000
+00011010001000001010001111111111
+00100100001000101101000100011100
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+11101000110000010000000000000000
+00011111111001100111110000000000
+00100000001000101101000100110010
+11000000000000010101000100101110
+11000000000000100101000100101110
+00100000001000000101000100110000
+01110000000010101001100100010110
+00100000010000000111110110000110
+11101000110000010000000000000000
+00100000001000000101000101011001
+00100000010000000111111010101000
+01000111000011101100000000100011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000101000001
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000101000111
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000101010011
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000101001101
+00100000001000000101000101011001
+00011001011000100111111000000000
+01100000000000010100001001001000
+01101000000000001100001001010000
+01111001001000000111111000000001
+01100000000000001100001001010000
+00100000001000000101000101011000
+00011001011000100111111000000000
+01100000000000010100001001001010
+01101000000000001100001001010001
+01111001001000000111111000000001
+01100000000000001100001001010001
+00100000001000000101000101011000
+00011001011000100111111000000000
+01100000000000010100001001001100
+01101000000000001100001001010010
+01111001001000000111111000000001
+01100000000000001100001001010010
+00100000001000000101000101011000
+00011001011000100111111000000000
+01100000000000010100001001001110
+01101000000000001100001001010011
+01111001001000000111111000000001
+01100000000000001100001001010011
+00100000010000000111111010101101
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+11101000110000010000000000000000
+00100100001110100101000110001000
+00100000010000000111111010101000
+00011001011000100000010000000000
+01000111000011110100000000100011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000101110110
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000101111010
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000101111110
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000110000010
+01101000000000001100001001010000
+01111001001000000111111000000101
+01100000000000001100001001010000
+00100000011000000000000000000000
+01101000000000001100001001010001
+01111001001000000111111000000101
+01100000000000001100001001010001
+00100000011000000000000000000000
+01101000000000001100001001010010
+01111001001000000111111000000101
+01100000000000001100001001010010
+00100000011000000000000000000000
+01101000000000001100001001010011
+01111001001000000111111000000101
+01100000000000001100001001010011
+01110000000010101001100100000110
+00100000001000000111110110000110
+00100000010000000111111010101101
+00011010001000001010001111111010
+00100000001000101101000110001101
+00011000110000001000110000000001
+00011010001000001010001111111111
+00100000001000000101000110001001
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011000110000001000110000000010
+00011111111000100000010000000000
+01011000000000000000000000000101
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+00011010001000001010001000000010
+00011010001000100111111000000000
+11100000101000010000000000000000
+00100000010000000111111010101000
+01000111000011111100000000100011
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101000110101101
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101000110111110
+01011000000000000000000001010010
+10011000010001100111110000000000
+00100000001000101101000111000100
+01011000000000000000000001010011
+10011000010001100111110000000000
+00100000001000101101000111001010
+00100000001000000101000111001111
+01101000000000001100001001010000
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010000
+11000010100000010101000110111011
+01101000000010001000001001111111
+01111001001000000000010000000110
+01100000000010001000001001111111
+00011000111000100111111000000000
+00011111111000001111111000000001
+01100000000000001000001010000001
+01101000000000001100001001010000
+01111001001000000111111000000010
+01100000000000001100001001010000
+01101000000000010100001001001000
+01100000000000010000001010000010
+00100000001000000101000111001111
+01101000000000001100001001010001
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010001
+01101000000000010100001001001010
+00100000001000000101000111001111
+01101000000000001100001001010010
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010010
+01101000000000010100001001001100
+00100000001000000101000111001111
+01101000000000001100001001010011
+01111001001000000111111000000100
+01111001001000000111111000000011
+01100000000000001100001001010011
+01101000000000010100001001001110
+00011111111000100001011000000000
+00100000010000000111111010101101
+00011001011000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001010
+10011010010000001010010000000000
+00011010001000001010001111111010
+00100000001000101101000111100000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00011010010000001010010000000001
+00011010001000001010001111111111
+00100000001000000101000111011010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+00011010011000100111111000000000
+10011010001001100010011000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+00100000010000000111111010101000
+01000111000100000100000000100100
+01011000000000000000000001010000
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101000111111010
+01011000000000000000000001010010
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101000111111111
+01011000000000000000000001010011
+00011010001000100000010000000000
+10011000010001100111110000000000
+00100000001000101101001000000001
+00100000001000000101001000000011
+01011000000000000000000000000000
+01100000000000010000001001110101
+01100000000000010100001001001000
+01100000000000001100001001010000
+00100000001000000101001000000101
+00100000010000000101000001111001
+00100000001000000101001000000101
+00100000010000000101000001111111
+00100000001000000101001000000101
+01011000000000000000000000000000
+01100000000000010000001001111011
+00100000010000000111111010101101
+01011000000000000000000000000111
+11100000101000001000000000000000
+00011000111000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000010000000000000000
+00011000000000000111111000001000
+10011010010000001010010000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000111000000000
+11101000110000010000000000000000
+00011111111000100010001000000000
+11101000110000010000000000000000
+00011111111000100001011000000000
+11101000110000010000000000000000
+00011111111000100000010000000000
+00100000010000000111111010101000
+01000111000100001100000000100100
+01101000000000001100001001010101
+10101000111000011111111000000000
+00100100001000001101001000101010
+01011000000000000000000001010000
+10011000010001100111110000000000
+00100000001000101101001000100111
+01011000000000000000000001010001
+10011000010001100111110000000000
+00100000001000101101001000101010
+00100000001000000101001000101010
+01110000010000100100100000000000
+01110000010000100101000000000000
+00100000001000000101001000101010
+00100000010000000111111010101101
+00011010011000100111111000000000
+10011010001001100010011000000000
+00100000011000000000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+01011000000000000000000000000010
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000010000000000000000
+01011000000000000000000000000110
+10011010010000001010010000000000
+00011000000000000010011000000100
+00100000011000000000000000000000
+01101000000000001100001001010101
+00011111111000001111111000000001
+11000000100000000101001000111110
+00011111111000001111111000000001
+01100000000000001100001001010101
+00100000011000000000000000000000
+01000111000100010100000000100100
+11011010010000000000000000000000
+00100000010000000101001001101110
+00100100001110100010101010001100
+00100000010000000101001001111110
+11011010010000000001100000000000
+11011000111000000000000000000000
+01101000000010001100001001010110
+10101000010011111111111111111111
+00100000001000001101001001001111
+00100000010000000101001010100000
+00011001011001100111110000000000
+00100000001000010101001001001111
+00100000010000000101001010001000
+00100000001000000101001001010101
+00011010010000001010010010000000
+00011000111000001000111000000001
+01011000000000000000000000001000
+10011000111001100111110000000000
+00100000001000010101001001000111
+11011010010000000000000000000000
+00011010010000100111111000000000
+00100000001110100010101010001100
+00100000011000000000000000000000
+01000111000100011100000000100100
+00100000010000000101001001110111
+00011000110000001000110000000001
+11101000110000010000000000000000
+00100000011000000000000000000000
+01000111000100100100000000100100
+00100000010000000101001001110111
+00011000110000100000101000000000
+00011000110000100000010000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+00100000011000000000000000000000
+01000111000100101100000000100100
+00100000010000000101001001110100
+00100000001110100010101010001100
+01101000000000011100001001011101
+01100000000000011100001001100000
+01101000000000011100001001011010
+01100000000000011100001001011101
+01101000000000011100001001010111
+01100000000000011100001001011010
+00100000011000000000000000000000
+01000111000100110100000000100100
+01101000000000011100001001010111
+00100000011000000000000000000000
+01000111000100111100000000100100
+01101000000000011100001001011010
+00100000011000000000000000000000
+01000111000101000100000000100101
+01101000000000011100001001100000
+00100000011000000000000000000000
+00100000010000000101001001110100
+00100000001110100010101010001100
+11011000110000000100001001010111
+11101000110000011000000000000000
+00100000001110100101001001111010
+00011000110000001000110111111101
+00100000011000000000000000000000
+01000111000101001100000000100101
+11011111001000000000000000000100
+11011000110000000100001001010111
+11011000010000000000000000000000
+11101000110000011000000000000000
+00011111111000010111111011111111
+10011000010000011000010000000000
+11000010000000000101001010000010
+01100000000010001100001001010110
+00100000011000000000000000000000
+01000111000101010100000000100101
+00100000010000000101001001101110
+00100100001110100010101010001100
+00100000010000000101001001110100
+00100000001110100101001010010101
+01101000000000011100001001011010
+01100000000000011100001001010111
+11101000110000011000000000000000
+11100000101000011000000000000000
+11101000110000011000000000000000
+11100000101000011000000000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+11011000010000000000000000000000
+00011001011000100111111000000000
+10011000111000001111111000000000
+11111001001000000000010000000000
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100100001000101101001010011000
+00011010010011010111111000000000
+10011000010000011111111000000000
+01100000000000011100001001100000
+00100000011000000000000000000000
+01000111000101011100000000100101
+00100000010000000101001001111110
+00011000111000100010011000000000
+11011000010000000000000000000000
+11011001011000000000000000000000
+00011000111000100111111000000000
+11000000000001000101001010110000
+01101000000000001100001001010110
+10101111111011111111111111111111
+00100000001000001101001010110000
+00011000010000001000010010000000
+00011000111000001000111000000001
+00011010001000100111111000000000
+10011000010001100111110000000000
+00100000001000101101001010110000
+00100000001000010101001010100101
+00011000010000100111111000000000
+10011010001001100111110000000000
+00100100001000010101001010110110
+00011000111000100111111000000000
+00011010011000100000010000000000
+10011000010001100001011000000000
+00011010011000100000111000000000
+00100000011000000000000000000000
+01000111000101100100000000100101
+11011010001000000000000001111111
+00100000010000000101001001000000
+01100000000000010000001001101011
+00011111111000001111111000000100
+01100000000000010000001001101101
+01011000000000000000000000000000
+01100000000000010000001001101111
+00100000011000000000000000000000
+01101000000000010000001001101011
+00100000001000000101001011100010
+01101000000000010000001001101101
+00100000001000000101001011100010
+01000111000101101100000000100101
+11011010001000000000000011111010
+00100000010000000101001001000000
+01100000000000010000001001110001
+00011111111000001111111000000100
+01100000000000010000001001110011
+01011000000000000000000000000000
+01100000000000010000001001110101
+00100000011000000000000000000000
+01101000000000010000001001110001
+00100000001000000101001011100010
+01101000000000010000001001110011
+00100000001000000101001011100010
+01000111000101110100000000100101
+00100000010000000111111001111100
+01110000000000101000010000000001
+00100000010000000101001001101110
+00100100011110100000000000000000
+11011010001000000000000001111111
+00100000010000000101001001000000
+01100000000000010000001001110111
+00011111111000001111111000000100
+01100000000000010000001001111001
+01011000000000000000000000000000
+01100000000000010000001001111011
+01110000000000101000010000000000
+00100000001000000111111010001100
+01101000000000010000001001110111
+00100000001000000101001011100010
+00100000001110100010101010001100
+00011111111000100000101000000000
+00100000011000000000000000000000
+01000111000101111100000000100101
+11011010010000000000000000000000
+11011010001000000100001001010111
+00011010001000001010001111111110
+00011010001000001010001000000010
+01011000000000000100001001100011
+10011010001001100111110000000000
+00100000001000101101001011110101
+11101010001000001000000000000000
+00011010001000001010001000000001
+00100000001110100101001011101001
+11101010001010010000000000000000
+11101000010000010000000000000000
+10011010010000001010010000000000
+00011010010000001010010000000100
+00100000001000000101001011101001
+00011010010000100111111000000000
+00100000011000000000000000000000
+11011000111000000000000000001100
+00100000001000000010110000110010
+11011000111000000000000000001100
+00100000001000000010110000110110
+01000111000110000100000000100110
+00100000010000000101001001111110
+01101000000000001100001001010110
+00100000011110100000000000000000
+00100000010000000101001011100101
+11011000010000000000000100000000
+10011000010001100111110000000000
+00100000001000010101001011110111
+00100000010000000101001011111001
+11011000101000000100001001100011
+11011010001000000100001001010111
+01011000000000000100001001100011
+10011010001001100111110000000000
+00100000011000101000000000000000
+11101010001000001000000000000000
+00011010001000001010001000000001
+00100100001110100101001100001111
+11100000101000010000000000000000
+00011010001000001010001000000010
+00100000001000000101001100000110
+11101010001000010000000000000000
+00011010001000001010001000000010
+00011111111000100000110000000000
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011111111000100111001000000000
+00011111001000001111001000000010
+00100000010000000111111100000001
+00100000001000000101001100000110
+01000111000110001100000000100110
+00100000010000000101001001111110
+01101000000000001100001001010110
+00100000011110100000000000000000
+11011010001000000100001001011000
+00011010001000001010001111111101
+11011000110000000100001001100011
+00011010001000001010001000000011
+01011000000000000100001001100100
+10011010001001100111110000000000
+00100000011000101000000000000000
+11101000110000010000000000000000
+00100000001110100101001100011111
+00011111111000001111111000000100
+00011111111000100111001000000000
+00011000110000100010010000000000
+11101010001000010000000000000000
+00011111111000100000101000000000
+00011010010000100000110000000000
+00011000110000001000110111111110
+00100000010000000111111100000001
+00100000001000000101001100011111
+01000111000110010100000000100110
+01111000010101011111110000000000
+01110000000001000101010100000001
+01110000000001000011111100000011
+01110000000001000101011000000001
+01011111111111111111111111111111
+01100000000000010000010001011001
+00011000000000000111111000000000
+01100000000000001000010001010111
+01100000000000001000010001100010
+01100000000000011100000101101001
+01100000000000011100000101101100
+01100000000000101100010000000011
+01111001001000000111111000100111
+01100000000000101100010000001000
+01110000010000111101110000000001
+01110000010000111101110100000000
+00100000001000000101011011101101
+01000111000110011100000000100110
+01111000001101001111110000000000
+01110000000001000100000000000011
+01110000000001000111100000000001
+01110000010001000101101000000001
+01011000000000001111111111111111
+01100000000000010100010001011100
+00011000000000000111111000000000
+01100000000000101100010000001000
+01111001001000000111111000100111
+01100000000000101100010000000011
+00100000001000000101001100101110
+01000111000110100100000000100110
+01111000010101001111110000000000
+01011000000000000000000000010111
+01100000000000010100010010101000
+01110000000001000100000000000001
+01110000010000110110111000000000
+01110000000000001010000000000000
+01110000010001001100010000000000
+01110000010001001100010100000000
+01101000000000010000010001101101
+01100000000000010100010010111010
+01101000000000010000010001000001
+00011111111011111111111000000101
+00011111111100011111111000000000
+01100000000000010000010001101101
+00100000001000000101001100101110
+00100000010000000101001111000100
+00100000010000000101010111101000
+00100000010000000101011011110000
+00100000001000000101001111001110
+01000111000110101100000000100110
+00100000010000000101001111000100
+00100000010000000011001011110100
+01101000000000001000010001000000
+11000000000000011101001101100110
+00100000001000000101001101111010
+01000111000110110100000000100110
+01111000001101001111110000000000
+00100000010000000101011011100100
+00100000001000010101001101110111
+00100000010000000010110001101100
+00100000010000000101010000010011
+00100000010000000101011000011110
+01111000010101101111110000000000
+00100000010000000101010010111111
+00100100011101101000000000000000
+01000111000110111100000000100110
+01101000000000001000000000000101
+00011111111000001111111000000001
+01100000000000001000000000000101
+00100000010000000101010110101010
+01111000010101001111110000000000
+00100000011000000000000000000000
+00100000010000000101001110101001
+01111000010101001111110000000000
+00100000011000000000000000000000
+01000111000111000100000000100111
+01110000010001010000111100000000
+00100000010000000111101010101111
+00100000010000000101110000011000
+01111000010101110111110000000000
+00100000010000000101011011100100
+00100000001000010101001110101001
+00100000010000000010110001101100
+00100000010000000101010000010011
+00100000010000000101010010001001
+00100100001011000101001110011011
+00100000010000000101001110110111
+00100000001101101101001110001000
+00100000001000000101001110010101
+01000111000111001100000000100111
+01101000000000001100010100001111
+00011111111000001111111000000001
+01100000000000001100010100001111
+11000000000001100101001110010101
+00100000010000000101010110101010
+00100000010000000101011000011110
+00100000010000000101010011000111
+00100000010000000101011001111110
+01101000000000010100000111111011
+00100000010000000111111110011100
+00100000010000000101001110100000
+00100000001101000101001110100100
+01000111000111010100000000100111
+00100000010000000101101111100100
+00100000010000000101101111011011
+00100000010000000111110110011100
+01101000000000001000010001100010
+11000010100000011101001110101001
+01000111000111011100000000100111
+00100000010000000101011111110100
+00100000010000000101010110011101
+00100000010000000101010101110101
+00100000001000000010100001000001
+01111000010101000111110000000000
+11000101000101010111111111100111
+11000101000101001111111111100111
+00100000011000000000000000000000
+01000111000111100100000000100111
+01111000001101110111110000000000
+00100000010000000101010011000001
+00100000001101101101001110001000
+00100000001000000101001110010101
+01000111000111101100000000100111
+00100000010000000101001110101111
+00100000010000000011001110110100
+00100000010000000111101001110111
+01110000000010101001100100010101
+00100000001000000111110110000110
+01011000000000000000000000000000
+01100000000001001100010011111111
+01110000000001000101010100000000
+01110000000001000100000000000000
+01110000000001000011111100000000
+01110000010001001100010100000000
+01110000010001001100010000000000
+00100000011000000000000000000000
+01000111000111110100000000100111
+01101000000000001000000000000101
+00011111111000001111111000000001
+01100000000000001000000000000101
+01101000000000001000010000111111
+11000011100000011000000000000000
+01111001001000000111111000000011
+01100000000000001000010000111111
+01101000000000010100010010111010
+01100000000000010000010001101101
+01011000000000000000000000000000
+01100000000000100100010011100101
+00100000011000000000000000000000
+01000111000111111100000000100111
+01110000100010010000111100110110
+01110000100010010000101101011111
+01111000001110110111110000000000
+01110000100010010001010000000111
+00100000010000000010110001101100
+01101000000000001100000111100000
+00100000011110100000000000000000
+01110000100010010000101010111000
+00100000011000000000000000000000
+01000111001000000100000000101000
+01110000100010010000111100101110
+01110000100010010000101111111111
+01111000010110110111110000000000
+01110000100010010001010000000011
+11011011011000000000000000000000
+00100000011000000000000000000000
+01111000010001001111110000000000
+01111000010000111111110000000000
+01101000000000011000010001100111
+10011000000000000001111000000000
+01101000000000001000000000010110
+00011111111011011000010000000000
+01111001001000000000010000000001
+00011000010000110001110000000000
+00100000011000000000000000000000
+00100000010000000101001111100110
+00100000010000000010100100011111
+01011000000000000000010100000000
+00100000010000000010101010001111
+00100000001000000010100100100100
+00100000001101101010100100111001
+00100000010000000101001111100110
+00100000001000000010100100110011
+01000111001000001100000000101000
+00100000010000000010100100011000
+01101000000000001000010010001100
+00100100001110100101001111111001
+01101000000000001000000000010110
+00011111111001100111110000100100
+00100000001000010101001111110011
+00011000000000000000010000000000
+11000001000100101000000000000000
+00011000000000000000010000011000
+11000001000100110000000000000000
+00011000000000000000010001001110
+00100000011000000000000000000000
+00011111111001100111110000001010
+00100000001000010101001111110110
+00011111111000001111111000000001
+00011111111000111111111000000000
+00011111111000001000010000000010
+00100000011000000000000000000000
+01101000000000001000000000010110
+00011111111000111000010000000000
+00100000011000000000000000000000
+11011000010000000000000111110100
+00100000011110100000000000000000
+11011000010000000000000011111010
+11000001000000001000000000000000
+11011000010000000000000010010110
+11000001000000010000000000000000
+11011000010000000000000001100100
+11000001000000011000000000000000
+11011000010000000000000001001011
+11000001000000100000000000000000
+11011000010000000000000000110010
+11000001000000101000000000000000
+11011000010000000000000000101000
+11000001000000110000000000000000
+11011000010000000000000000010100
+00100000011000000000000000000000
+01011000100011101000100110111110
+00011111111011010111111000000000
+00011111111000011111111011010110
+10011000000000000001001000000000
+01011000010101010101010101010101
+01100000000000011000010001100111
+00100000011000000000000000000000
+01000111001000010100000000101000
+01111000001010000111110000000000
+01101000000000100000010001100011
+10011000000000000001001000000000
+00100000010000000101010001100110
+01011000000000000000001000000000
+00100000001101001101010000011100
+01101000000000010000010001001101
+00011111111000110111111000000000
+11011000010000000000010100000000
+10011000010000001111111000000000
+00100000010000000010101000100100
+00011011010000100111111000000000
+01100000000000110000010010010001
+00100000011000000000000000000000
+01000111001000011100000000101000
+01101000000000001000000000010110
+11000000000100101101010000101000
+11000000000100110101010000101110
+11000000000100111101010000110100
+00100000001000000101010000110100
+01101000000010001100010010001101
+00101000010011111111111000000001
+00100000001000001101010000111111
+00101000010011111111111000000010
+00100000001000001101010001000100
+00100000001000000101010000111010
+01101000000010001100010010001101
+00101000010011111111111000000010
+00100000001000001101010001000100
+00101000010011111111111000000000
+00100000001000001101010000111010
+00100000001000000101010000111111
+01101000000010001100010010001101
+00101000010011111111111000000000
+00100000001000001101010000111010
+00101000010011111111111000000001
+00100000001000001101010000111111
+00100000001000000101010001000100
+01110000000000000001011000100101
+01101000000000001000101011000010
+01111001001000000111111000000000
+01100000000000001000101011000010
+00100000011000000000000000000000
+01110000000000000001011000100110
+01101000000000001000101011000010
+01111001001000000111111000000001
+01100000000000001000101011000010
+00100000011000000000000000000000
+01110000000000000001011000100111
+01101000000000001000101011000010
+01111001001000000111111000000010
+01100000000000001000101011000010
+00100000011000000000000000000000
+01000111001000100100000000101000
+00011010001000001000110000000001
+11101000110000001000000000000000
+11000100000000000000000000000000
+00011010001000001000101000011010
+11101000101000010000000000000000
+00011111111000001111111000000001
+11100000101000010000000000000000
+00011010001000001000110000011001
+11101000110000001000000000000000
+00011010001000001000101000011000
+11101000101010001000000000000000
+10011000010000001111111000000000
+00011111111001100111110000100100
+00100000001000010101010001011001
+00011111111000001111111111011011
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000111001000101100000000101000
+01101000000000101000010001101111
+00011000000000000000010000000000
+00011000000000000111001000100101
+11000011000000000101010001100001
+00011000010000001000010000000001
+00011111111000110111111000000000
+11000010000000000101010001011111
+00011000010000001111111111111111
+01100000000000001000010001100001
+00100000011000000000000000000000
+01000111001000110100000000101000
+01101000000000001000010001010111
+10011000000000000000111000000000
+01101000000010101000010001101111
+10101000010011111111111111111111
+00100000001000001101010001111100
+01000111001000111100000000101000
+01101000000000001000010001100001
+10011000111001100111111000000000
+00100000001000010101010001110010
+00011111111001100000111111111111
+00100000001000000101010001101100
+00011000111000100111001000000000
+00011000000000000000111000000000
+10101000010011111111111111111111
+00100000001000001101010001110111
+00011111001000001111001000000001
+00011111001000100111111000000000
+00100000001110100101010001111100
+00011000111000001000111000000001
+00011111001000001111001111111111
+00100000001000000101010001110100
+00011000111000100111111000000000
+01100000000000001000000000010110
+00100000011000000000000000000000
+00100000001101001101010010000010
+00110111110000011000001000000000
+00100000011000000000000000000000
+11011001011000000000111010100000
+00110100011100110000001000000000
+00100000011000000000000000000000
+01111000010010000111110000000000
+01101000000000010100001101101100
+00011111111000100001011000000000
+00100000001000000101010010001110
+01000111001001000100000000101001
+01111000001010000111110000000000
+01101000000000010000010001001101
+01101000000010100100010011100101
+10011000010000001001011000000000
+00100000010000000101001111011110
+01000111001001001100000000101001
+00100000010000000101001111010101
+01111000010101101111110000000000
+01111000001001101111110000000000
+01111000001100001111110000000000
+01111000010100000111110000000000
+00011001011000100011011000000000
+00110111110000011000010000000000
+00100000001101110101010010011010
+00011011010000100000010000000000
+01100000000010110000000010011010
+00100100001011000010011001001101
+00100000001101110101010010100001
+11011101001000000000000111100000
+00011100001000100101000000000000
+01101000000000001000010000111111
+11000011000000011101010010100001
+00100000010101011010101100000101
+01000111001001010100000000101001
+00100000010000000010100110111011
+01111000001000111111110000000000
+01111000001001001111110000000000
+00001001100000000000000000001000
+00011001100010010111111000000000
+01100000000000001000001011011001
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+00011111111000010111001000111111
+00100000001000101101010010110001
+00001001100000000000000000001000
+00011001100010010111111000000000
+11100000101000001000000000000000
+11000010000000000101010010101101
+01000111001001011100000000101001
+00001001100000000000000000011000
+01111000001010000111110000000000
+11011011011000000000011001100100
+00011111111011110111111000000000
+00011111111100010111111000000000
+11100000101000011000000000000000
+00100000001000110010011001001101
+01111000001101101111110000000000
+01101000000000001000000000010111
+00011111111000001010001000000000
+00100000010000000010100110000001
+01111000010001101111110000000000
+00100000001000000010100100011000
+01000111001001100100000000101001
+00100000010000000101010011001001
+01101000000010001000000000010111
+00100000010000000010100100011111
+00100000010000000010100100100100
+01111000001010000111110000000000
+11011001011000000001010101111100
+00100000001000000101010010001111
+00100000010000000101010011001001
+00100000001000000010011001001101
+01000111001001101100000000101001
+00100000010000000101001111010101
+00100000010000000101001111100011
+00100000001000000101010011001101
+01111001001000000010101000000000
+01111000001011101111110000000000
+01111000001100000111110000000000
+01111000010100001111110000000000
+00100000010000000101010001111111
+00011001001100010111111000000000
+00011111111011001111111000000000
+00011111111100011111111000000000
+00001000000000001000011000101000
+01111000001000111111110000000000
+01111000001001001111110000000000
+01000111001001110100000000101001
+01101000000000001100001111011100
+00001000000000001000011000001000
+11101000110000001000000000000000
+00011111111000010111001000111111
+00001000000000001000011000001000
+00100000001000101101010011100010
+11101000110000001000000000000000
+00001000000000001000011000001000
+11000010000000000101010011011111
+01111000001001000111110000000000
+00001000000000001000011000011000
+01111000010001000111110000000000
+00110111110100111000001000000000
+00100000000000000000000001100100
+01111000010011101111110000000000
+00100000011000000000000000000000
+01000111001001111100000000101001
+01101000000000001100010010000100
+11000000000000001101010011111001
+01101000000000001100010010000101
+00011111111100100111111000000000
+00011111111010111111111000000000
+01100000000000001100001111011100
+01101000000010001100001101101111
+00011000010000001111111000000110
+01100000000000001100001111011101
+01101000000000110100010010100000
+01100000000000110100001111011110
+00011000010000100111001000000000
+11011000110000000100001101110000
+00100000010000000111111011110100
+00100000001000000101010100000100
+01101000000000001100010010000110
+00011111111100100111111000000000
+00011111111010111111111000000000
+00011111111000001111111000000001
+01100000000000001100001111011100
+01011000000000000000000000001100
+01100000000000001100001111011101
+01101000000000110100010010100000
+01100000000000110100001111011110
+01101000000000110100000111010000
+11100000101000110000000000000000
+01000111001010000100000000101010
+01101000000000001000000000000000
+00011111111000001111111000000001
+01100000000000001000000000000000
+11011011011000000000011100001000
+01111000010101101111110000000000
+00100000001000000101010010111111
+01000111001010001100000000101010
+01101000000000001100010010011110
+11000001100000001000000000000000
+01101000000000001000000000000000
+00011111111000001111111000000001
+01100000000000001000000000000000
+11011000010000000000110000000011
+01101000000000001100010010011111
+01111101001110100000010000000110
+00011010001000100111111000000000
+01111101001110100000010000000111
+01100000000010010100001111011100
+01101000000000110100010010100000
+11100000101000110000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+00100000001000000101010010111111
+01000111001010010100000000101010
+11011000010000000000000000000100
+01101000000000001100010010000101
+01111101001110100000010000000110
+01100000000010001100001111011100
+01101000000010001100001110001111
+00011000010000001111111000000110
+01100000000000001100001111011101
+01101000000000110100010010100000
+01100000000000110100001111011110
+11011000110000000100001110010000
+00011000010000100111001000000000
+00100000010000000111111011110100
+00100000010000000101010011000111
+00100000001000000101011100000110
+01000111001010011100000000101010
+00011000000000000111111111111111
+00111000000010000000000000000001
+01100000000000101000010001101111
+00100000010000000101010001011011
+00011000000000000111001000000100
+11011000101000000000010001100011
+00100000010000000110001100001101
+01101000000000010100010010011100
+01100000000000010000010001101101
+00011000000010100111111000000000
+00011111111000010111111000001111
+00011111111001100111110000000100
+00100000001000010101010100110101
+01100000000000001000010001011000
+01100000000000001000011011100110
+01000111001010100100000000101010
+01101000000010010100001101100111
+01100000000010010000010001000001
+00011000010000100010011000000000
+00011100010000001111111000000111
+10011010011001101111110000000000
+00100000010000000111111110000110
+00011000000001110010001000000000
+10011010001001100111111000000000
+10011010011000001111111000000000
+01101000000010010100001101100101
+10011000010000001111111000000000
+01100000000000100000010001000011
+10011100010001100010001000000000
+00011010001000001010001111111010
+11011010010000000010001000000101
+01101000000000001100010010010101
+01111101001110100010010000000110
+01101000000000001100010010001110
+01111101001110100010010000000111
+00011010010000100111111000000000
+01100000000000010100001111011100
+01101000000000110100010010100000
+11100000101000110000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+01101000000000100000010001100011
+11100000101000100000000000000000
+00011000000010100111111000000000
+11100000101000010000000000000000
+00011000000010100111111000000000
+11100000101000001000000000000000
+00011000000000000111111000000010
+11100000101000001000000000000000
+00011010001010110111111000000000
+11100000101000010000000000000000
+00011010011010110111111000000000
+11100000101000010000000000000000
+01000111001010101100000000101010
+01011000000000000000000000000000
+11100000101000010000000000000000
+01101000000000010100010010011100
+11100000101000010000000000000000
+01101000000000101000010001101111
+11100000101000101000000000000000
+01101000000000001000010001011000
+11011000010000000000000010100000
+10011000010000011111111000000000
+11100000101000001000000000000000
+00100000010000000101010011000111
+01011000000000000100001111011100
+00011111111000001000110000010010
+11101000110000011000000000000000
+01100000000000011000010001100111
+00100000011000000000000000000000
+01000111001010110100000000101010
+01111000010101001111110000000000
+00100000001000000101010000001100
+01101000000000001000010000111111
+11000100000000101000000000000000
+01101000000000010000010001011001
+01101000000010010000010001011111
+10011000010001100111111000000000
+00100100011000010000000000000000
+01100000000000010000101010011010
+01000111001010111100000000101010
+01101000000000001000010000111111
+01111001001111111111111000000101
+01111001001111111111111000000011
+01100000000000001000010000111111
+01101000000000100000010001000011
+01101000000010010000010001000001
+01100000000010010000101010100010
+10011000010001100010001000000000
+01000111001011000100000000101011
+01101000000000001100001111010011
+01100000000000001000010001101010
+11101000110010010000000000000000
+11101000110000010000000000000000
+00011111111010111111111000000000
+01100000000000010000010001000001
+00011000010010111000010000000000
+10011000010000001111111000000000
+11101000110010100000000000000000
+01100000000010100000010001101011
+10011010001000001111111000000000
+00011111111000100010100000000000
+01101000000000010000010001000001
+01101000000010010000101010100010
+10011000010001100111111000000000
+01101000000010010000101010011010
+10011000010011111111111000000000
+10011010100000001111111000000000
+01100000000000100000010001000011
+00100000010000000101011100010011
+01101000000000010000010001101101
+01100000000000010100010010111010
+00100000011000000000000000000000
+01000111001011001100000000101011
+01101000000000001000010000111111
+11000100000000110000000000000000
+01101000000000010000010001011001
+01101000000010010000010001011111
+10011000010001100111111000000000
+00100100011000010000000000000000
+01101000000000001000010000111111
+01111001001111111111111000000110
+01100000000000001000010000111111
+01101000000000101100001111001110
+01100000000000101000010001101111
+00100000001000000101010001011011
+01000111001011010100000000101011
+00100000010000000101011011101101
+00100000010000000101010111000000
+01101000000000001000001011011001
+00101111111011111111111000000100
+01111001001000001000000000101010
+00011111111000110111111000000000
+10011000010000101111111000000000
+00101111111011111111111000000010
+01111001001000001000000000001111
+11000110000001111000000000000000
+01101000000000001000001011011010
+00100000001110100101010110111100
+01101000000000001000010000111111
+11000011000000100101010110111100
+00100000010000000111010010001101
+00100000010000000111001111111011
+00100100011110100000000000000000
+01101000000010001000010001010110
+01111001010000000000010000000010
+01100000000010001000010001010110
+00100000011000000000000000000000
+01000111001011011100000000101011
+01101000000010001000010001010110
+00101000010011000000000000000101
+00100000011000001000000000000000
+01101000000000001000001011011001
+00011111111000111111111000000000
+10011000010000101111111000000000
+11000100000000011000000000000000
+01111001001111111000010000000101
+01111001010000000000010000000011
+01100000000010001000010001010110
+00101000010000000000011000000011
+00100100011000001000000000000000
+01101000000000001100001111011110
+11000000000000101101010111010010
+01101000000000001100010011000101
+11000000000000010101010111010110
+00100000011000000000000000000000
+01101000000000001000010000111111
+01111001001000000111111000000100
+01100000000000001000010000111111
+00100000011000000000000000000000
+01000111001011100100000000101011
+01110000010001001100010100000000
+11011111111000000000000000000000
+01100000000000100100010000001101
+01100000000000101100010000000011
+01111001001000000111111000100111
+01100000000000101100010000001000
+01101000000000001000010000111111
+01111001001111111111111000000100
+01100000000000001000010000111111
+00100000011000000000000000000000
+01000111001011101100000000101011
+00100000010000000101010000100010
+00100000010000000101010010000101
+01101000000000001000000000000001
+00011111111000001111111000000001
+01100000000000001000000000000001
+00100000011000000000000000000000
+01000111001011110100000000101011
+01101000000000001100001101101001
+11000001100000001000000000000000
+11011000111000000000000000000010
+00100000010000000111111100010110
+00100100011110100000000000000000
+01101000000000010100001101101010
+01101000000010010100001101101100
+10011000010001100111111000000000
+11011000111000000000000000000010
+00100000010000000111111100001000
+01111000010101001111110000000000
+00100000010000000101010101110010
+00100000010000000101010111100001
+00100100011101101000000000000000
+01000111001011111100000000101011
+01101000000000110000001011011011
+01100000000000110000010001001111
+01101000000000001000000000000010
+00011111111000001111111000000001
+01100000000000001000000000000010
+00100000010000000101011000001000
+00100000011101001000000000000000
+00100000010000000101010100001011
+00100100011101101000000000000000
+01000111001100000100000000101100
+01101000000000001000000000000100
+00011111111000001111111000000001
+01100000000000001000000000000100
+01101000000001001000001011100001
+01100000000001001000000100000001
+00100000011000000000000000000000
+01000111001100001100000000101100
+01101000000000001000010010011011
+11000001100011011000000000000000
+01101000000000110000010001001111
+01101000000010110100010010001111
+10011000010001100111110000000000
+00100100011000101000000000000000
+00100000010000000010001000111011
+00100100011000101000000000000000
+00100000010000000101010100101011
+00100000010000000101001101000000
+01000111001100010100000000101100
+01110000010000011100111000000000
+01110000000001000111011000000000
+01110000010000110110100100000000
+01110000000001001001101100000000
+00100000001000000010001000100011
+11011010001000000000000000000001
+01101000000000001000001011011001
+11000011100000110000000000000000
+11011010001000000000000000000000
+00100000011000000000000000000000
+01000111001100011100000000101100
+01101000000000001000010001010110
+11000011100000101000000000000000
+00100000010000000101011001000010
+00100000010000000101100001110011
+00100000001110100101011001100100
+11101000110000001000000000000000
+11101000110010001000000000000000
+00011000010000100010001000000000
+10011010001001100111111000000000
+11011000010000000000000000011011
+00100000010000000111111111011101
+00011111111000100000010000000000
+11101000110000001000000000000000
+00011111111000100000001000000000
+00011010001000100111111000000000
+10011000110000001000110000000000
+11011000101000000100001111011110
+00011000010000100111001000000000
+00100000010000000111111100000001
+00100000010000000101011001010100
+00100000010000000101011001100110
+00100000010000000101100001110011
+11101000110000001000000000000000
+00011111111000100010001000000000
+00011000110000100010011000000000
+11101000110010001000000000000000
+00011000010000100010010000000000
+10011010010001100111111000000000
+11011000010000000000000000011011
+00100000010000000111111111011101
+10011010010000001111111000000000
+11100010011000001000000000000000
+10011010001001100111110000000000
+00100100011000101000000000000000
+00100000001000000101100010010110
+00100000010000000101011001001001
+11000110000101001000000000000000
+01101000000000001100010011101001
+11000011000000010101011001010010
+00100000010000000101100001110110
+00100000001110100101011001010010
+00100000001000000101011001010000
+00100000010000000101100001110011
+00100000001110100101011001010010
+11101000110000001000000000000000
+11101000110010001000000000000000
+10011000010001100111111000000000
+00011111111001100111110000011011
+00100000001000010101011001010010
+01111001001000000000000000101001
+00100000011000000000000000000000
+01111001001111111000000000101001
+00100000011000000000000000000000
+00011010001000100111111000000000
+00100000011110100000000000000000
+11011000001000000000000000000001
+00100000011000000000000000000000
+01000111001100100100000000101100
+00011000010000001000010000000001
+00100000010000000101011101101010
+00011000110000001000110111111110
+11101000110000010000000000000000
+11011000010000000010100100000010
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000001000110000000001
+00011000110000100010001000000000
+11101000110000001000000000000000
+00100000011000000000000000000000
+00011000000000000000010000000000
+00011000000000000000001000000001
+01000111001100101100000000101100
+01100000000010001100001111011101
+01101000000010001000010001010110
+01111001001000000000010000000101
+00011000010000010111111011111100
+10011000001000011111111000000000
+01100000000000001000010001010110
+00011111111000010111111000011111
+00101000000011111111111000101001
+01111001001000001111111000000100
+01100000000000001100001111011100
+01101000000000001100001111011100
+00101000001000000000011000000001
+00100100001000001101011001110110
+01101000000000001100001111011101
+00100000011110100000000000000000
+01101000000000001000010000111111
+11000100000000100000000000000000
+00100000010000000111010010001101
+00100000001000000111001111100011
+11011000111000000000000000000000
+00100000001000000010110000110010
+11011000111000000000000000000000
+00100000001000000010110000110110
+01000111001100110100000000101100
+11000110000001111000000000000000
+00100000010000000101100010010000
+00100100011110100000000000000000
+01101000000000001000001011011001
+00011111111000010111111000000011
+01100000000000001100010100001100
+11101000110000001000000000000000
+00011111111000010111111000011111
+01100000000000001100010100001011
+00100000011110100000000000000000
+00011000110000100111111000000000
+01100000000000010100010100001101
+01101000000000001100010100001100
+11000000000000011101110001100100
+00100000010000000101011010011010
+00100100001101000101011001111010
+00100000010000000101011001111100
+01101000000000010100010100001101
+00011111111000100000110000000000
+11101000110000010000000000000000
+01100000000000010100010011111100
+01000111001100111100000000101100
+11101000110000010000000000000000
+11000000000000100101100010101011
+11000000000000110101101011110100
+11000000000000101101101010110110
+00100000011000000000000000000000
+01101000000000001100010100001100
+11000000000000010101011010101001
+11000000000000001101011011000001
+00100000011000000000000000000000
+00100000010000000111111111100111
+11011000010000000000000000000100
+10011111111001100111110000000000
+00100000011000101000000000000000
+11011000010000000000000000000101
+10011111111001100111110000000000
+00100000011000101000000000000000
+11011000010000000000000000000110
+10011111111001100111110000000000
+00100000011000101000000000000000
+00100000001000000111111111101001
+01101000000000010100010100001101
+00011111111000100000110000000000
+11101000110000010000000000000000
+01100000000000010100010011111100
+11101000110000010000000000000000
+00100000010000000101011010011110
+00100100011101000000000000000000
+01101000000010001100010100001011
+01100000000010001100010011111110
+01101000000000010100010011111100
+00011111111000001111111000000100
+10011000010001100111110000000000
+00100000001000101111111111100111
+01101000000000001100010100001011
+00011111111000100111001000000000
+11011000101000000000001100010001
+01101000000000010100010100001101
+00011111111000100000110000000000
+00100000010000000111111100000001
+00100000001000000111111111101001
+00100000010000000111111111100111
+01101000000000001100010011111110
+00100100011110100000000000000000
+00100000001000000111111111101001
+00100000010000000101011010111101
+00100100011101000000000000000000
+01101000000000001100010011111110
+11011000101000000000001100010001
+10011000101000001010001000000000
+01101000000010001100010100001011
+10011000010000001111111000000000
+01100000000000001100010011111110
+01101000000000001100010100001011
+00011111111000100111001000000000
+00011010001000100000101000000000
+01101000000000010100010100001101
+00011111111000100000110000000000
+00100000010000000111111011110100
+01011000000000000000001100010001
+01100000000000010100010100001101
+01101000000000010100010011111100
+00011111111000001111111000000100
+01101000000010001100010011111110
+10011000010001100111110000000000
+00100000001000101111111111100111
+00100000001000000111111111101001
+00100000010000000111111010100101
+11011000101000000100010001011110
+01101000000000010100010011111100
+00011111111000001111111111111011
+11100000101000001000000000000000
+00011111111000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111011110100
+00100000010000000111111010100101
+11011000101000000100010001110001
+00100000001000000101011011011001
+01101000000000010100000111111001
+00100000001000000111111110011100
+01101000000010100000010001011011
+00100000010000000010101001111011
+10011000010001100001011000000000
+00011001011000100111111000000000
+01101000000010010000010001101101
+00011000010100100000010000000000
+00011000010000111000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+00100000010000000010101001111011
+01100000000000100000010001011011
+00100000011000000000000000000000
+01110000000000000001011000100100
+01110000000010101100001000000000
+01000111001101000100000000101101
+01101000000000001100001101101110
+00100000011110100000000000000000
+11011000111000000000000000000000
+00100000010000000111111100010110
+00100100011110100000000000000000
+01000111001101001100000000101101
+01111000010101001111110000000000
+01111000001010000111110000000000
+00100000010000000101010101110010
+00100000010000000101010000100010
+00100000010000000101010011101001
+00100100001101101101011100000110
+01101000000000001000000000000011
+00011111111000001111111000000001
+01100000000000001000000000000011
+01101000000000001000001011011001
+00011111111000010111111000001111
+11000000000000011101010100011100
+11000000000000101101011100101000
+01000111001101010100000000101101
+00011000000010100111111000000000
+11011000010000000000000111111111
+10011000010000010111111000000000
+00011111111000001111111011111010
+00100000010000000011110010111110
+01101000000000001000101011000010
+01101000000010001100010010001101
+10011000010001100111110000000000
+00100100001000101101011011110010
+11011000111000000000000000000000
+01101000000000010100010010000010
+00100000001000000111111100001000
+01000111001101011100000000101101
+01101000000000001000010001110110
+00100000010000000101001111111100
+01101000000000010000010001000001
+10011000010011111111111000000000
+11011000010000000000000101110111
+10011000010011111111111000000000
+11011000010000011000011010100000
+10011000010001101111110000000000
+01101000000000001000010001101010
+11011000010000000100111000100000
+10011000010011111111111000000000
+10011000010000001111111000000000
+01100000000000100100010011100101
+01000111001101100100000000101101
+01101000000000010100000011000001
+00100000010000000111111110000110
+00011000000001111000010000000000
+10011000010000001111111000000000
+01100000000000010000010001001101
+00100000011000000000000000000000
+01000111001101101100000000101101
+01101000000000110000001011100001
+01101000000010110100010010100000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00100000010000000101011000011001
+00011010001000100111111000000000
+01100000000000001100010010001110
+01101000000000111000001011101110
+01100000000000111000000100000001
+11101000110001000000000000000000
+11100000101001000000000000000000
+01101000000000110000001011011011
+01100000000000110000010001001111
+00011000110000001000110000000110
+11101000110001000000000000000000
+01100000000001000000010001100011
+11101000110010010000000000000000
+01000111001101110100000000101101
+00011000010010111000010000000000
+11101000110000010000000000000000
+00011111111010111111111000000000
+01100000000000010000010001000001
+01100000000000100000010001000011
+10011000010001100111111000000000
+00011111111000001101000111111110
+11101000110001001000000000000000
+01100000000001001000010001101011
+01000111001101111100000000101101
+11101000110000001000000000000000
+00011111111100011000010000000000
+00011000010000110000010000000000
+01100000000010001000010001110110
+00011111111000010111111000011111
+01100000000000001000010001011000
+00100000010000000101011100010011
+00100000010000000101010001011011
+00100000010000000101001101001100
+00100000010000000010001000111011
+00100100011000101000000000000000
+01000111001110000100000000101110
+00100000010000000010100001000001
+00100000010000000101101011010011
+01110000000010101001100100010100
+00100000010000000111110110000110
+00100000001000000010001000100011
+01000111001110001100000000101110
+01101000000000010100010001011010
+10011000000000000010010000000000
+01101000000000010100010001011100
+10011000000000000010011000000000
+01101000000000010100010010111100
+10011000000000000000110000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+11101000110000010000000000000000
+00100000011110100000000000000000
+10011010010001100111110000000000
+00100100011000010000000000000000
+10011010011001100111110000000000
+00100000011000101000000000000000
+00100000001000010101011101101000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+00100000010000000101011101101101
+00100000001000101101011101111001
+00100000011000000000000000000000
+01000111001110010100000000101110
+01101000000000010100010010111100
+10011000000000000000110000000000
+11101000110000010000000000000000
+00100000011110100000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101011101110000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000011000000000000000000000
+01000111001110011100000000101110
+01101000000000010100010010111100
+10011000000000000000110000000000
+11101000110000010000000000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00011000110000001000110111111110
+11101000110000010000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101011101111111
+01101000000000010000010010011100
+00100000001000000101011110001110
+01000111001110100100000000101110
+01101000000000010100010010111100
+10011000000000000000110000000000
+00011000010000100010001000000000
+11101000110000010000000000000000
+00100000001110100101011110011001
+10011010001001100111110000000000
+00100000001000101101011110011010
+11101000110000001000000000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101011110010000
+00100000001000000111111111101111
+11101000110000001000000000000000
+01100000000000001000010010100010
+00011111111000100111001000000000
+11011000101000000000010010100011
+00100000010000000111111011110100
+11101000110000001000000000000000
+01100000000000001000010010110011
+00100000010000000111111010100101
+00100000001000000111111111110001
+01000111001110101100000000101110
+00100000010000000101011110100110
+00100000001000000101011110111000
+11011000010000000010101000000000
+00100000010000000101011101111100
+00100000011110100000000000000000
+11101000110000001000000000000000
+00011000110000100000101000000000
+01101000000010001100001110101111
+00011000010000100111001000000000
+10011000010001100111110000000000
+00100100001000010101011110110101
+10011000010001100000010000000000
+11011000110000000100001110110000
+00100000010000000111111100000001
+00011000010000100111001000000000
+00100100010000101101011111110000
+00100000011000000000000000000000
+00011111111000100111001000000000
+11011000110000000100001110110000
+00100000001000000111111011110100
+11011010011000000100001110001111
+11011010001000000100001101110000
+00100000010000000101011111000101
+01011000000000000000000000000000
+01111001001101000111111000000000
+01100000000000001000101010011010
+11011010011000000100001110101111
+11011010001000000100001110010000
+00100000010000000101011111000101
+00100000011101000000000000000000
+01101000000000001000101010011010
+00100000001110100010101010001100
+00100000011000000000000000000000
+01000111001110110100000000101110
+00100000010000000111111111100111
+00100000010000000111111011011010
+11011010010000000000000000000000
+11011000101000000000101011000011
+00100000010000000101011111011111
+01101000000000001100001110101111
+00011111111000001000010000000001
+10011010010000001010001000000000
+00011010001000001010001000000010
+00011010001001100111110000011111
+00100100001000010101011111011101
+11100000101010001000000000000000
+11011000010000000000000000001001
+11100000101010001000000000000000
+10011000000000000111001000000000
+00100000010000000111111011110100
+00011010001000100010010000000000
+00011010010000100111111000000000
+01100000000000001000101011000010
+11011000110000000000101011000010
+01011111111111111111111111100000
+10011010011000001000101000000000
+00100000001000000111111010111101
+00100000010000000111111111101001
+00100000001000000101011111010111
+11101010001000001000000000000000
+00100000011110100000000000000000
+00011111111000001111111000000001
+11101000110010001000000000000000
+00011000010001100111110000001001
+00100000001000101101011111101110
+10011010010000001010010000000000
+00011010001000100000110000000000
+10011000000000000111001000000000
+00100000010000000111111011110100
+00011000110000100010001000000000
+00011010001000100111111000000000
+10011010011001100111110000000000
+00100000011000010000000000000000
+00100000001000000101011111011111
+10011010001000001010001000000000
+00100000001000000101011111101010
+01011000000000000000000000100000
+11100000101000001000000000000000
+11000010000000000101011111110000
+00100000011000000000000000000000
+01000111001110111100000000101110
+01111000010101011111110000000000
+00100000001101110101011111111000
+00100100001101101101100000000110
+00100000010000000010101111001011
+01101000000000010100000011000001
+01100000000000010000010001001101
+00100100001101101010101111011110
+11000101000001111010101111011110
+01101000000000001100010100001011
+00100100001110100010101111011110
+01101000000000001100001111011101
+00100100001110100010101111011110
+01101000000000001100010011101001
+11000010100000101010101111011110
+01101000000000001000010000111111
+11000010100000101010101111011110
+00100000001000000010101111000000
+01101000000010010100000011000001
+00011000010000110000010000000000
+01101000000000010000010001001101
+10011000010000001111111000000000
+01100000000000010000010001001101
+00100000001000000010101111010110
+11011000111000000000000000000000
+00100000001000000101100000100100
+11011000111000000000000000000000
+00100000001000000101100000101000
+11011000111000000000000000000001
+00100000001000000101100000100100
+11011000111000000000000000000001
+00100000001000000101100000101000
+11011000111000000000000000000010
+00100000001000000101100000100100
+11011000111000000000000000000010
+00100000001000000101100000101000
+11011000111000000000000000000011
+00100000001000000101100000100100
+11011000111000000000000000000011
+00100000001000000101100000101000
+11011000111000000000000000000100
+00100000001000000101100000100100
+11011000111000000000000000000100
+00100000001000000101100000101000
+11011000111000000000000000000101
+00100000001000000101100000100100
+11011000111000000000000000000101
+00100000001000000101100000101000
+01101000000000001100010011101001
+11111001001000000111111000000000
+01100000000000001100010011101001
+00100000011000000000000000000000
+01101000000000001100010011101001
+11111001001111111111111000000000
+01100000000000001100010011101001
+00100000011000000000000000000000
+01011000000100010010001000110011
+01100000000000011100010011101010
+01011000010001000101010101100110
+11100000101000011000000000000000
+01011000011101111000100010011001
+11100000101000011000000000000000
+01011000000000000001000100100010
+11100000101000011000000000000000
+01011000001100110100010001010101
+11100000101000011000000000000000
+01011000000000000000000001100110
+11100000101000001000000000000000
+00100000011000000000000000000000
+01011001000000000000001100000010
+01100000000000100100010001010011
+01011000000000010000000000010000
+01100000000000011100010001010111
+01110000010001001100011000000001
+00100000011000000000000000000000
+11011010001000000000000000000000
+11011000001000000000000000000001
+00100000001000000101100001010000
+11011000001000000000000000000011
+00100000010000000101100001010000
+00011010010000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011000000000000000001000000010
+00011010001000001010001000000100
+00100000010000000101100001010000
+00011010001000001010001111111100
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011010010000100111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00011010001001100111110011110000
+00100100001000010010101010001100
+01101000000000001100010011111111
+11011000010000000000000000000001
+11011111001000000000000000000100
+10011000010000010111110000000000
+00100000001000101101100001011010
+00011000010000111000010000000000
+11000010000000000101100001010101
+00100000001000000010101010001100
+10011000010000101111111000000000
+01100000000000001100010011111111
+00011111001001100111111000000100
+00011111111100100111111000000000
+00011111111100100111111000000000
+11011000010000000001100000000000
+10011000010000001000010000000000
+11011111001000000000000000000000
+11011000110000000100010100000000
+11101000110000010000000000000000
+00100000001110100101100001101001
+00011111001000100111111000000000
+00011111001000001111001000000001
+11000000100000100101100001100011
+00100000001000000010101010001100
+00011000110000001000110111111110
+11100000110010010000000000000000
+00011000010000100000101000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+00011000001000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000010100010100000000
+00011111111000100000110000000000
+00100000011000000000000000000000
+01101000000000010100010100000010
+00011111111000100000110000000000
+00100000011000000000000000000000
+00100000010000000101100001111100
+00011111111000100000110000000000
+00100000011000000000000000000000
+01101000000000010100010100000110
+00100100011110100000000000000000
+01101000000000010100010100000100
+00100100011110100000000000000000
+01101000000000010100010100000010
+00100100011110100000000000000000
+01101000000000010100010100000000
+00100000011000000000000000000000
+00100000010000000101100001110011
+00011000110000001000110000000011
+00100000011000000000000000000000
+00100000010000000101100001110011
+00011000110000001000110000000111
+00100000011000000000000000000000
+00100000010000000101100001111001
+00011000110000001000110000000111
+00100000011000000000000000000000
+00100000010000000101100001111001
+00011000110000001000110000000011
+00100000011000000000000000000000
+01101000000000010100010100000110
+00100000011000000000000000000000
+01101000000000010100010100000100
+00100000011000000000000000000000
+01101000000000010100010100000000
+00100000011000000000000000000000
+01101000000000010100010100000000
+11011000010000000001100000000000
+10011000010001100111111000000000
+00011111111100011111111000000000
+00011111111100011000111000000000
+01101000000000001100010011111111
+11111001001111111111111000000000
+01100000000000001100010011111111
+11011111001000000000000000000000
+00011111001000111111111000000000
+11011000010000000100010100000010
+10011000010000001000010000000000
+11101000010000010000000000000000
+00011000010000001000010111111110
+11100000010000010000000000000000
+00011111001000100111111000000000
+00011111001000001111001000000001
+11000000100000011101100010011111
+01011000000000000000000000000000
+11100000010000010000000000000000
+00100000011000000000000000000000
+11101000110000011000000000000000
+01100000000000011000010001110111
+11000000000000010101100011000001
+11000000000000011101100011001001
+11000000000000100101100011001100
+11000000000000110101100011110010
+11000000000001000101100100111111
+11000000000001010101100110111100
+11000000000001100101100111100100
+11000000000010000101100111111010
+11000000000010010101101000101111
+11000000000010110101101001001000
+11000000000011000101101001011011
+11000000001010010101101001100000
+00100000011000000000000000000000
+00011000000000000010001000000011
+00100000010000000101101010000010
+01011000000000000000000000000010
+11100000101000001000000000000000
+01101000000000010100010010100110
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000010000000101100011001001
+00011000000000000010001000000011
+00100000010000000101101010000010
+01011000000000000000000000000011
+11100000101000001000000000000000
+01101000000000010100010010100110
+11100000101000010000000000000000
+00100000011000000000000000000000
+00011111111011001111111000000000
+01100000000000010100010010101000
+00100000011000000000000000000000
+00100000010000000101101010110001
+00100000010000000111111111100111
+00100000001000000101100011001111
+11011001011000000000000000000011
+00100000010000000101011101010110
+00100000010000000101011101011111
+00100000001110100101100011110000
+00100100001000010101100011101101
+00011000110000001000110111111110
+00100000010000000111111010100101
+00100000010000000111111010011100
+00100100001101000101100011100001
+00100000010000000111111010000101
+00100000010000000111111111101001
+00011000000000000010001000010100
+00100000010000000101101010000010
+00100000010000000111111010010101
+01011000000000000000000000000101
+11100000101000001000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+00100000010000000111111010011111
+11101000110000010000000000000000
+11100000101000010000000000000000
+11101000110000001000000000000000
+00011111111000100111001000000000
+00100000010000000111111100000001
+00100000010000000111111010100010
+00011001011000001001011111111111
+00100000001000101101100011110000
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101100011010001
+11101000110000001000000000000000
+10011000110000001000110000000000
+00100000001000000101100011101010
+00100000001101000101101001110110
+00100000001000000101101010100101
+00100000010000000101101010110001
+11101000110000010000000000000000
+01100000000000010100010001110010
+00100000010000000111111010100101
+11011000101000000100010001011110
+01101000000000010100010011111100
+00011111111000001111111111111001
+00100000010000000101011011011011
+00100000001000000101100100000101
+01111000010101000111110000000000
+01101000000010010100010001011010
+01101000000000010100010001011100
+10011000010001100111110000000000
+00100100001000010101100100000010
+00011000010000100111111000000000
+11000001100000000000000000000000
+01111000001101000111110000000000
+01110000000001000111101000000001
+00100000001000000101101001110111
+00100000010000000101100011111011
+00100000011101000000000000000000
+01101000000010010100010001110010
+01011000000000000010100000000000
+10011000010001100111110000000000
+00100000001000101101100100001100
+00100000001000000101101001110110
+01110000000001001011010000000000
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101011110001100
+00100100001110100101101001110110
+01101000000010010000101010100010
+00100000010000000101011110001100
+00100100001110100101100100100101
+00011000110000100010001000000000
+01101000000000001000010010110011
+00011111111000100111001000000000
+01101000000010001100010001011110
+10011000010001100111110000000000
+00100100001000101101100100100001
+11011010010000000100010001011111
+00100000010000000111111110001000
+00100000001000101101100100101000
+01101000000000010000010010100011
+01101000000010010100010001110010
+10011000010001100111110000000000
+00100000001000101101100100110000
+01101000000000010000101010100010
+00011111111000001111111000000001
+01100000000000010000101010100010
+00100000001000000101100100010001
+01101000000000001000010010110100
+11000000000000001101100100110000
+00100000001000000101101001110110
+01101000000000010000010010100011
+01101000000010010100010001110010
+10011000010001100111110000000000
+00100100001000101101100100100001
+01110000000001001011010000000001
+01101000000010010000101010100010
+01100000000010010000010010011110
+00100000001000000101100100100001
+01101000000000001000010010110100
+11000000000000000101100100100001
+01110000000001001011010000000010
+01101000000010010000101010100010
+00011000010000001000010111111111
+01100000000010010000010010100000
+11011010001000000000000000000101
+00100000010000000101101010000010
+01011000000000000000000000000111
+11100000101000001000000000000000
+01101000000000010000010010011110
+11100000101000010000000000000000
+01101000000000010000010010100000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000010000000101101010110001
+00100000010000000101011011011111
+00100000001000000101100101000010
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101011101010110
+00100000010000000101011101101101
+00011000110000001000110111111110
+00011000110000100111111000000000
+01100000000000010000010010011100
+01101000000010010100010001110010
+01011000000000000010101000000000
+10011000010001100111110000000000
+00100000001000101101100110101000
+01011000000000000010100000000011
+10011000010001100111110000000000
+00100100001000101101100110010000
+11011001011000000000000000000010
+00100000010000000101101010001000
+00100100001000010101100101101101
+01101000000010010000101010100010
+00100000010000000101011110001010
+11000000000000001101100101101101
+00100000010000000101101010010100
+00100100001000101101100101101011
+00100100001101000101100101101111
+01111000010101000111110000000000
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001001
+11100000101000001000000000000000
+00011000101000100110000000000000
+00011000101000001000101000000001
+00100000010000000101100101111101
+00100000010000000101101010000100
+00100000010000000101011110001010
+00100000010000000101100110000100
+01101000000000001000010010100010
+00011111111000001111111000000101
+11100110000000001000000000000000
+01101000000000001000010010100010
+11000000000010000101100101101101
+00011001011000001001011111111111
+00100000001000101101100101101101
+00100000010000000101101010000100
+00100000001000000101100101010001
+00100000001101000101101001110110
+00100000001000000101101010100101
+00100000010000000101101010010111
+00100000010000000101101010000100
+00100000010000000101011110001010
+01101000000000001000010010100010
+11000000000010000101100101101101
+00100000010000000111111010011100
+01101000000000010000101010100010
+00011111111000001111111111111111
+11100000101000010000000000000000
+00100000010000000101101010100001
+00100000010000000101100110000100
+00011001011000001001011111111111
+00100000001000101101100101101101
+00100000001000000101100101101011
+01101000000000010000101010100010
+11100000101000010000000000000000
+01101000000000001000010010110011
+00011111111000100111001000000000
+00100000010000000111111010011111
+00100000010000000111111011110100
+00100000001000000111111010100010
+00100000010000000111111010011100
+01101000000000010000101010100010
+11100000101000010000000000000000
+00100000010000000111111010100010
+01101000000000001000010010100010
+00011111111000100111001000000000
+00100000010000000111111010011100
+00100000010000000111111010011111
+10011111001001100000110000000000
+00011000110000001000110111111111
+00100000010000000111111011110100
+00100000001000000111111010100010
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101101010001000
+00100100001000010101101001110110
+00100000010000000101011110001010
+11000000000000001101101001110110
+00100000010000000101101010010100
+00100100001000101101100110100110
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001001
+11100000101000001000000000000000
+01101000000000001000010010110011
+00011111111000100111001000000000
+00011111111000001111111000000010
+11100000101000001000000000000000
+01101000000000010000101010100010
+11100000101000010000000000000000
+00100000010000000111111010011111
+00100000010000000111111011110100
+00100000010000000111111010100010
+00100000001000000101101010100101
+00100000010000000101101010000100
+00100000001000000101100110010010
+11011000010000000010101000000000
+00100000010000000101011101111100
+00100000011110100000000000000000
+00011000110000001000110111111011
+11101000110000010000000000000000
+01100000000000010000101010100010
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001001
+11100000101000001000000000000000
+01101000000000001100001110101111
+00011111111000100111001000000000
+00011111111000001111111000000010
+11100000101000001000000000000000
+01101000000000010000101010100010
+11100000101000010000000000000000
+11011000110000000100001110110000
+00100000010000000111111011110100
+00100000010000000111111010100010
+00100000001000000101101010100101
+01101000000010010000010001111000
+01101000000000001100010011101001
+11000010100000011101100111011101
+00100000010000000101011101101010
+00100000001110100101101001110110
+00011000110000001000110111111110
+11101000110000010000000000000000
+11011000010000000010101000000000
+10011000010001100111110000000000
+00100000001000101101100111010011
+11101000110000001000000000000000
+00011111111001100111110000010110
+00100000001000010101100111001010
+00011000000000000111111000010110
+00011111111000100010011000000000
+00100000010000000111111010100101
+00011010011000001010001000000001
+00100000010000000101101010000010
+01011000000000000000000000001011
+11100000101000001000000000000000
+00011010011000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111100000001
+00100000010000000111111010100101
+01101000000000001100001110101111
+00011111111000001010001000000001
+00100000010000000101101010000010
+01011000000000000000000000001011
+11100000101000001000000000000000
+01101000000000001100001110101111
+00011111111000100111001000000000
+11011000110000000100001110110000
+00100000001000000111111100000001
+01101000000000010100010011111010
+10011000010001100111110000000000
+00100100001000101101100110111111
+00100000010000000101101001000010
+00100100001101000101100110111111
+01110000000001000111101000000101
+00100000001000000101101001110111
+11101000110000010000000000000000
+01100000000000010100010001011110
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000001101
+11100000101000001000000000000000
+01101000000000010100010001011110
+10011000000000000010001000000000
+01101000000010010000010001111000
+00100000010000000101011101101010
+00100000001110100101101001110110
+11101000110000001000000000000000
+10011010001001100111001000000000
+00100100001000010101101001110110
+00011111001001100111110000010110
+00100000001000010101100111110101
+00011000000000000111001000010110
+00011010001000100111111000000000
+10011000110000001000110000000000
+00100000010000000111111011110100
+00100000010000000111111010100010
+00100000001000000101101010100101
+00100000010000000101101010110001
+00100000010000000101011011010111
+00100000001000000101100111111101
+11011001011000000000000000000010
+01101000000010010100010001011010
+01100000000010010000101010100010
+00100000010000000101011101010110
+00100000010000000101011101101101
+00011000110000001000110111111110
+00011000110000100111111000000000
+01100000000000010000010010011100
+00100000010000000101101010001000
+00100100001000010101101000100101
+01101000000010010000101010100010
+00100000010000000101011110001010
+11000000000000001101101000101000
+00100000010000000101101010001100
+00100100001000101101101000100011
+00011001011000100111111000000000
+11000000000000000101101000101000
+00100100001101000101101000011001
+01111000010101000111110000000000
+11011010001000000000000000010100
+00100000010000000101101010000010
+01011000000000000000000000010001
+11100000101000001000000000000000
+01101000000000001000010010110011
+00011111111000001111111000000100
+11100000101000001000000000000000
+00100000010000000111111010100010
+00100000001000000101101000011111
+01101000000000001000010010110011
+11000000000010000101101000101000
+01101000000000010000101010100010
+00011111111000001111111111111111
+01100000000000010000010010100000
+00100000010000000101101010011100
+01101000000000010000101010100010
+01100000000000010000010010011110
+00100000010000000101101010010111
+00011001011000001001011111111111
+00100000010000000101101010000100
+00100000001000000101101000000101
+01101000000000010000101010100010
+01100000000000010000010010100000
+00100000001000000101101000101100
+01101000000000010000101010100010
+00011111111000001111111111111111
+01100000000000010000010010100000
+00100000001000000101101000101100
+00100000001101000101101001110110
+00100000010000000101101010011100
+00100000001000000101101010100101
+00011000110000100010001000000000
+01101000000000010100010011111100
+00011111111000001010010111111101
+00100000010000000101011011100010
+01101000000000001100010011101001
+11000011000000100101101000111101
+01101000000010010000010001111000
+01101000000000010100010011111010
+10011000010001100111110000000000
+00100100001000101101101000111101
+00100000010000000101101001000010
+00100100001101000101101000111101
+01110000000001000111101000000101
+00100000001000000101101001110111
+00011000000000000010001000000001
+00100000010000000101101010000010
+01011000000000000000000000010011
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000111111111101001
+01101000000000001100010011000110
+11000001000000000000000000000000
+01101000000000001100000001000000
+11000011100000100000000000000000
+00100000001000000111111111100111
+00011000110000001010001000000010
+01101000000000010100010011111100
+00011111111000001010010111111011
+00100000010000000101011011100010
+00100000001000000101101001001101
+01101000000000010100010011111100
+00011111111000100010001000000000
+00100000010000000101101010000010
+01011000000000000000000000010111
+11100000101000001000000000000000
+01101000000000010000010001111000
+11100000101000010000000000000000
+01101000000000010100010011111100
+00011111111000001111001111111011
+01101000000000010100010100001101
+00011111111000001000110000000111
+11101000110000010000000000000000
+11100000101000010000000000000000
+00100000001000000111111011110100
+00011000000000000010001000000001
+00100000010000000101101010000010
+01011000000000000000000000011001
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011000110000100010001000000000
+01101000000000010100010011111100
+00011111111000001010010111111101
+00100000001000000101011011100010
+00011000010000100010011000000000
+00011010001000001010001000000011
+00100000010000000101101010000010
+00011010001000001010001111111101
+01011000000000000000000000011011
+11100000101000001000000000000000
+00011010011000100000010000000000
+11100000101010010000000000000000
+00100000011000000000000000000000
+00011000010000100010011000000000
+00011010001000001010001000000011
+00100000010000000101101010000010
+00011010001000001010001111111101
+01011000000000000000000000011101
+11100000101000001000000000000000
+00011010011000100000010000000000
+11100000101010010000000000000000
+00100000011000000000000000000000
+01110000000001000111101000001010
+00011000000000000010001000000101
+00100000010000000101101010000010
+01011000000000000000000000000001
+11100000101000001000000000000000
+01101000000000001000010001110111
+11100000101000001000000000000000
+01101000000000010000010001111000
+11100000101000010000000000000000
+01101000000000001000010001111010
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011000000000000010010000000100
+00100000001000000101100001000111
+01101000000010010000101010100010
+00011000010000001000010000000001
+01100000000010010000101010100010
+00100000011000000000000000000000
+01101000000010010000101010100010
+01101000000000010100010001011100
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000010001100010001011110
+11011010001000000100010001011111
+01101000000000001000010010100010
+00011111111000100111001000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11011010010000000000010010100011
+00100000001000000111111110001000
+01101000000010001100010001110001
+11011010001000000100010001110010
+00100000001000000101101010001110
+01101000000000001000010010110011
+01100000000000001000000100000001
+00011111111000100111001000000000
+00100000010000000111111010011111
+00100000001000000111111011110100
+00100000010000000111111010011100
+01101000000000010000010010011110
+11100000101000010000000000000000
+01101000000000010000010010100000
+11100000101000010000000000000000
+01101000000000001000000100000001
+00011111111000100111001000000000
+00100000010000000111111011110100
+00100000001000000111111010100010
+00100000010000000111111010011100
+00100000010000000101100010001010
+00011000101000100111111000000000
+10011000110001100010001000000000
+00100000010000000101100010001101
+00011010001000100111111000000000
+11100000110000010000000000000000
+00011010001000001010001000000100
+00100000010000000101100001111001
+00011010001000100111111000000000
+11100000110000001000000000000000
+00100000011000000000000000000000
+00011111111011001111111000000000
+01100000000000010100010001011010
+11101000110000010000000000000000
+01100000000000010100010001011100
+00100000011000000000000000000000
+11101000110000001000000000000000
+11101000110010001000000000000000
+11101000110010010000000000000000
+11000000000010011101101010111011
+00100000011000000000000000000000
+11101000110000010000000000000000
+01100000000000010100010100001001
+01110000000010101001100101000000
+00100000001000000111110110000110
+11011010001000000000000000001100
+11011010011000000000000000010010
+00100000010000000101101011000111
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000001000100010010010110
+11100000101001000000000000000000
+00100000011000000000000000000000
+00100000010000000101101011001111
+11011010010000000000000000000101
+00100000010000000101100001000111
+00011010011000100111111000000000
+11100000101000001000000000000000
+01101000000000001100010100001000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000001100010100001000
+00011111111000001111111000000001
+01100000000000001100010100001000
+11000001100000000000000000000000
+01110000010001010000100000000001
+00100000011000000000000000000000
+01101000000000001100010011000110
+11000000000000000101101011100100
+11000000000000001101101011100111
+11000000000000010101101011101001
+11000000010000001101101011011101
+11000000010000010101101011011111
+11000000010000011101101011100010
+00100000011000000000000000000000
+01110000010001000101011000001101
+00100000001000000101101011100101
+01110000010001000101011000001101
+01110000010001000101010000000001
+00100000011000000000000000000000
+01110000010001000101011000001101
+00100000001000000101101011101010
+01110000010001000101011000000000
+01110000010001000101010000000011
+00100000011000000000000000000000
+01110000010001000101011000000101
+00100000001000000101101011100101
+01110000010001000101011000000101
+01110000010001000101010000000000
+00100000011000000000000000000000
+01101000000000001100010001010110
+01111001001000000111111000000011
+01100000000000001100010001010110
+00100000011000000000000000000000
+01101000000000001100010001010110
+01111001001111111111111000000011
+01100000000000001100010001010110
+00100000011000000000000000000000
+11101000110000001000000000000000
+11000000000000001101101100001001
+11000000000000011101101100110000
+11000000000000100101101101001101
+11000000000000101101101101011010
+11000000000000110101101110000000
+11000000000000111101101111000100
+11000000000001000101101110101111
+11000000000001001101101111000000
+11000000000001010101101111000100
+11000000000001011101101111000100
+11000000000001100101101111000101
+11000000000001101101101111001010
+00100000011000000000000000000000
+00011000000000000010001000000010
+00100000010000000101110001100010
+01011000000000000000000000001011
+11100000101000001000000000000000
+01101000000000001100010001010110
+11100000101000001000000000000000
+00100000011000000000000000000000
+01100000000000001100010001001100
+11101000110000110000000000000000
+11100000101000110000000000000000
+01101000000000001100010011000110
+11000000000000000101101101011111
+00100000010000000101101100101011
+00100000010000000101101100100110
+01110000010001001100010000000011
+01101000000000001100010001001101
+11000000000000000101101100011000
+11000000000000001101101100011000
+11000000000000011101101100011000
+01101000000000001100010011000110
+11000000000000010101101100011011
+11000001010000011000000000000000
+11011111111000000000000000000000
+01100000000000100100010011000111
+00100000011000000000000000000000
+01101000000000001100010011101001
+11000010100000000101101100100100
+11011010001000000100010011000111
+00011010001000100000101000000000
+11011111001000000000000000000011
+00100000010000000110001100001101
+01101000000000010100010011001001
+00011111111000010111111000000111
+01100000000000010100010011001001
+01110000000010101001100100110100
+00100000001000000111110110000110
+01101000000000001100010001001111
+11000011100000011000000000000000
+01101000000000001100010011000110
+11000100000000111000000000000000
+00100000001000000011010000000010
+00011000000000000010001000000111
+00100000010000000101110001100010
+01101000000000111100010001010011
+11100000101000111000000000000000
+00100000011000000000000000000000
+00011000110000100010001000000000
+01101000000000001100010011000110
+11000000010000011101101100110111
+00011010001000100000110000000000
+11011000101000000100010000101010
+00100000010000000111111010111111
+00100000001000000101101100111101
+00011010001000100000110000000000
+11011000101000000100010000101010
+00100000010000000111111010111111
+01110000010001001011111100000010
+01110000010001001100000100001000
+00100000011000000000000000000000
+01101000000000001100010011000110
+11000010100000111101101101000101
+00100000010000000111001110011100
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000011
+11100000101000001000000000000000
+00100000001000000111010010010111
+11011000101000000100010000111010
+00100000010000000110001100001100
+00100000010000000111000111000101
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000011
+11100000101000001000000000000000
+00100000001000000111001000000001
+00011000110000100010001000000000
+01101000000000001100010011000110
+11000010100000111101101101100001
+00011010001000100000110000000000
+00100000010000000111001110010100
+00100000001000101101101101110101
+01110000000001000111101100000100
+00011000000000000010001000000010
+00100000010000000101110001100010
+01011000000000000000000000000101
+11100000101000001000000000000000
+01101000000000001000010001111011
+11100000101000001000000000000000
+00011000000000000000111000001010
+00100000010000000111111100000111
+01110000010001001100010000000000
+01110000000010101001100100110000
+00100000001000000111110110000110
+01110000000001000111101100000101
+00100000001000000101101101010100
+11011000101000000000010000101111
+00011010001000100000110000000000
+00100000010000000111111010111111
+01101000000000001100010011000110
+11000000010000011101101101101100
+00100000010000000111000101001111
+00100000010000000101101101111010
+01101000000000001100010011000110
+11000001110000010000000000000000
+01110000000010101001100100111011
+00100000001000000111110110000110
+00100000010000000111000110111010
+11011000101000000000101011110010
+00100000010000000111001000000001
+11011010001000000000101011110010
+11011010010000000100010000101010
+11011111001000000000000000010000
+00100000010000000111111110001000
+00100100001000101101101101010011
+00100000001000000101101101111010
+00100000010000000111001110010000
+01110000000010101001100100110001
+00100000010000000111110110000110
+01110000010001000010100100000001
+01110000010001001100010000000101
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000100
+11100000101000001000000000000000
+11011000110000000100010000111010
+00100000001000000111111010111111
+11011000101000000000010000011111
+00100000001000000111111010111111
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000000110
+11100000101000001000000000000000
+01101000000000001100010011101001
+11000010100000001101101110001010
+11011000110000000100010000011001
+00100000001000000111111010111111
+11011000110000000100010011101010
+00100000001000000111111010111111
+11011000101000000100010011001011
+00011000000000000111001000001010
+00100000010000000110001100001101
+00011000000000000010001000001011
+00100000010000000101110001100010
+01011000000000000000000000000111
+11100000101000001000000000000000
+01101000000000010100010011001011
+11100000101000010000000000000000
+01101000000001000100010011001101
+11100000101001000000000000000000
+00100000011000000000000000000000
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000001000
+11100000101000001000000000000000
+01011000000000000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+00011000000000000010001000001000
+00100000010000000101110001100010
+01011000000000000000000000001001
+11100000101000001000000000000000
+01101000000000001100010010010101
+11100000101000001000000000000000
+01101000000000110100010010100000
+11100000101000110000000000000000
+00100000011000000000000000000000
+01110000000001000111101100001000
+00100000001000000101101101010100
+01101000000000001100010001011000
+01101000000010001100010001011000
+10011000010000010111111000000000
+00100000011000000000000000000000
+11011000101000000100010011010101
+00100000010000000111111010111111
+00100000010000000101101110101011
+00101111111011000000000000000001
+00100000001000001101101110101001
+01101000000000001100000010010010
+11000001100001010000000000000000
+00100000010000000101101110111001
+00100100011101000000000000000000
+00100000001000000011010000010000
+00100000010000000111111111101001
+01101000000000001100010010001110
+11000001000000000000000000000000
+01101000000000001000010001010100
+00101111111000011000000011000000
+00100000011000001000000000000000
+00100000001000000111111111100111
+00100000010000000101101110101011
+00101111111011000000000000000001
+00100000001000001101101110101001
+00100000011000000000000000000000
+00100000011000000000000000000000
+11011000101000000000100110111110
+00100000010000000111111010110011
+01110000010001001011111100000010
+01110000010001001100000100000001
+00100000011000000000000000000000
+11011000101000000000101001101110
+00100000010000000111111010111111
+01110000010001001100000100000110
+01110000010001001011111100000010
+00100000011000000000000000000000
+00011000000000000010001001000001
+00100000010000000101110001100010
+01011000000000000000000000001100
+11100000101000001000000000000000
+11011000110000000100010111010010
+00100000001000000111111010110011
+00100000010000000111000101100110
+00011000000000000010001000010001
+00100000010000000101110001100010
+01011000000000000000000000001101
+11100000101000001000000000000000
+00100000001000000111001000000001
+01101000000000001100010011000100
+11000001011111111000000000000000
+11011000010000000000000000000011
+10011000010001100111110000000000
+00100100011000010000000000000000
+11011000111000000000000000001010
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000001000000101101110101001
+01000111001111000100000000101111
+01101000000000001100010011000100
+11000000000000000101101111101111
+11000000000000001101101111110101
+11000000000000010101101111101111
+11000000000000011101101111110111
+11000000000000101101101111111011
+11000000000000111101110000000111
+11000000000001000101110000001001
+11000000000001001101110000010000
+00100000011000000000000000000000
+01101000000000001100010011000101
+11000001100000100000000000000000
+01110000010001001100010111111111
+01110000010001001100010011111111
+01110000000010101001100100111111
+00100000001000000111110110000110
+01110000010001001100010000000010
+00100000001000000101101100000010
+01110000010001001100010000000100
+01011000000000010111011100000000
+11011000111000000000000000001010
+00100000001000000111111100001000
+01101000000000001100010011000101
+11000000000000100101101111111110
+00100000011000000000000000000000
+01110000010001001100010000000111
+01110000000010101001100100101001
+00100000010000000111110110000110
+00100000010000000101101110000010
+01101000000000001100000010010010
+11000001100001010000000000000000
+00100000010000000101101110111001
+00100000011101000000000000000000
+00100000001000000011010000010000
+01110000010001001100010000001000
+00100000001000000101101110001100
+01101000000000001100010001010010
+01101000000010001100010001011001
+10011000010000010111111000000000
+00101111111011000000000000000001
+00100000001000001101110000010010
+01110000010001001100010000001001
+00100000001000000101101110011000
+00100000010000000101101110100000
+00100000001000000101110000010010
+00011000000000000000111000001010
+00100000010000000111111100000111
+01110000010001001100010111111111
+01110000010001001100010011111111
+01110000000010101001100100111110
+00100000001000000111110110000110
+01000111001111001100000000101111
+01101000000000001100010011000110
+11000100000000111000000000000000
+01101000000000001100010010111111
+11000001100000010000000000000000
+01110000010001001011111100000000
+01101000000000001100010011000001
+11000000000000001101110001011000
+11000000000000010101110001011111
+11000000000000011101110001010010
+11000000000000110101110000111001
+11000000000000111101110000110000
+11000000000001000101110000100110
+00100000011000000000000000000000
+01101000000000001100011001100011
+00011111111000100000111000000000
+00011111111000001111111000000001
+01100000000000001100011001100011
+01101000000000100100010011000111
+10101111111011111111111111111111
+01011000000000000000000010000000
+01111001001000001111111000000000
+01100000000000001100011001100100
+00100000001000000101110001010101
+01101000000000001100010011000010
+01110000010001001100001000000000
+11000000000000001101110000110101
+01110000010001001011111100000010
+00100000011000000000000000000000
+01110000000010101001100100110001
+00100000010000000111110110000110
+01110000010001001100010000000101
+00100000001000000101101111010101
+01101000000000001000100110111001
+11000000000000011101110000111101
+01110000010001001011111100000010
+00100000011000000000000000000000
+00100000010000000111000110001101
+01101000000000001100010011000110
+11000000010000011101110001000001
+00100000010000000101101100011000
+00100000010000000111000101111010
+11011010001000000000101011110010
+11011010010000000000101001101110
+11011111001000000000000000010000
+00100000010000000111111110001000
+00100000001000101101110001001001
+01110000000001000111101100001011
+00100000001000000101101101010100
+00100000010000000111010110010101
+00100100001000101101110001000111
+01110000010001000010100100000001
+01101000000000001100010011000110
+11000000010000001101110000110101
+11000000010000011101110000110101
+01110000010001001011111100000010
+01110000010001001100000100000111
+00100000011000000000000000000000
+01101000000000001100010011000110
+11000000010000011101110001010110
+01110000010001100110010000000000
+00100000001000000101101100111101
+01110000010001100110001100000000
+00100000001000000101101100011011
+01110000010001001011111100000010
+01101000000000001100010011000011
+11000000000000011101110001011100
+00100000011000000000000000000000
+01110000010001001100000100000010
+01110000000010011011100100000000
+00100000001000000111101010011001
+01110000010001001011111100000010
+01110000010001001100000100000011
+00100000001000000101101111001111
+00011000000000000010010000000110
+00100000001000000101100001000111
+01101000000000001000001011011011
+11000000000000000101110001111011
+11000000000000001101110010000011
+11000000000000010101110010001110
+11000000000000011101110010101010
+11000000000000100101110011100001
+11000000000000101101110011100110
+11000000000000110101110011101010
+11000000000000111101110011110101
+11000000000001000101110010011001
+11000000000001001101110011110101
+11000000000001010101110011101111
+11000000000001011101110011110101
+11000000000001100101110010011111
+11000000000001101101110011110101
+11000000000010010101110010100110
+11000000000010011101110011110101
+11011010001000000000000000000010
+11011010010000000000000000000111
+00100000010000000101100001000010
+01101000000000001000001011011011
+11100000101000001000000000000000
+00100000011000000000000000000000
+11101000110001001000000000000000
+01100000000001001100001111010011
+11101000110000010000000000000000
+01100000000000010000010001011111
+01101000000000001000010000111111
+01111001001000000111111000000101
+01100000000000001000010000111111
+00100000011000000000000000000000
+11101000110000101000000000000000
+01100000000000101100001111001110
+11101000110000010000000000000000
+01100000000000010000010001011111
+01101000000010010000010001011001
+10011000010001100111110000000000
+00100100001000010101110010001110
+01101000000000001000010000111111
+01111001001000000111111000000110
+01100000000000001000010000111111
+00100000011000000000000000000000
+01011000000000000000000000010100
+01100000000000010000010001101101
+01100000000000010100010010111010
+00100000011000000000000000000000
+11011010011000000000000000010011
+11011010001000000000000000000010
+11011010010000000000000000000010
+00100000010000000101100001000010
+00011010011000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011010001000000000000000001001
+11011010010000000000000000001001
+00100000010000000101100001000010
+01011000000000000000000000000001
+11100000101001000000000000000000
+00100000011000000000000000000000
+00100000011101001000000000000000
+11011010001000000000000000000110
+11011010010000000000000000001100
+00100000010000000101100001000010
+01101000000000101100010100010000
+11100000101000101000000000000000
+00100000011000000000000000000000
+11011010010000000000000000010011
+00100000001000000101110010101000
+11011010001000000000000000000001
+00100000001000000101100001000010
+11101000110001000000000000000000
+01100000000001000100010011001101
+11101000110000010000000000000000
+01100000000000010100010011001011
+11101000110001000000000000000000
+01100000000001000100010010101010
+11101000110000100000000000000000
+01100000000000100100010000010001
+00100000010000000101110011001111
+01000111001111010100000000101111
+01101000000000001100010011000100
+11000000000000101101110010111100
+01101000000000001100010011101001
+11000010100000001101110010111111
+01101000000000001100001000010111
+00100100010110100110011110111110
+01101000000000001100010000101001
+11000000000000000101110011000100
+01110000010001001100010100000001
+00100000010000000101110011011101
+00100000001000000111001110100010
+01110000010001000010100100000001
+11011000110000000100010011101010
+11011000101000000100010000011001
+00100000010000000111111010111111
+00100000001000000101110010111100
+01000111001111011100000000101111
+01110000010001001100010100000000
+01110000010001001100010000000000
+01110000000010101001100101000001
+00100000001000000111110110000110
+11011010001000000000000000000010
+11011010010000000000000000001101
+00100000010000000101100001000010
+01011000000000000000000000000110
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011000101000000100010010110010
+00011000000000000111001000001000
+00100000010000000110001100001101
+11011000101000000100010000010101
+00011000000000000111001000000100
+00100000010000000110001100001101
+11011010001000000000000000001101
+11011010010000000000000000000100
+00100000010000000101100001000010
+01101000000001000100010010110010
+11100000101001000000000000000000
+01101000000000100100010000010101
+11100000101000100000000000000000
+00100000011000000000000000000000
+11011010010000000000000000000101
+00100000001000000101110010101000
+11011010010000000000000000000110
+00100000001000000101110010101000
+11101000110001000000000000000000
+01100000000001000100010010110010
+11101000110000100000000000000000
+01100000000000100100010000010101
+00100000001000000111001110100010
+01101000000000001000010000111111
+01111001001000000111111000000100
+01100000000000001000010000111111
+00100000011000000000000000000000
+00100000011101001000000000000000
+01110000000010101001100100110010
+00100000010000000111110110000110
+01110000010001001100010100000100
+00100000001000000101110011011111
+01110000010001001100010100000010
+00100000010000000101110011110011
+01110000000010101001100100110011
+00100000001000000111110110000110
+11011010010000000000000000001011
+00100000001000000101110010101000
+00100000011000000000000000000000
+00100000011101011000000000000000
+01000111001111100100000000101111
+01011000000000000000000000000000
+01100000000000001000000001001000
+01100000000000001000000001010101
+01100000000000001000000001111000
+01100000000000001000000001111100
+01100000000000001100000101011000
+01100000000000001000010011010111
+01100000000000001000000101101101
+01100000000000001000100110110101
+01110000010001010101101100000000
+01110000000000100010100100000000
+01110000000001001101100000000000
+01110000000010011011010100000000
+01110000000010011011010000000000
+01110000000001001101000100000000
+00100000011000000000000000000000
+01000111001111101100000000101111
+00100000010101001110001011111111
+00100100010101001110001100000011
+00100000010000000110001010111100
+00100100011110100000000000000000
+01101000000000001000000001001100
+11000100000000110000000000000000
+01111001001111111111111000000110
+01111001001111111000000000000001
+01100000000000001000000001001100
+01101000000000001000010101010001
+01101000000010001000000001001100
+00101111111011111111111000000000
+01111001001000001000010000000001
+01100000000010001000000001001100
+00011000010000010000010000000010
+01100000000010001000000001111111
+01101000000010001000000001001100
+00011111111000110111111000000000
+01100000000000001000000001111101
+01000111001111110100000000101111
+01101000000000001000000001111101
+11000000001111111101110101100110
+11000000000000011101110110110001
+11000000000000100101110111000010
+11000000000111100101110101011001
+11000000000000101101110101010101
+11000000000001111101111110101000
+11000000000010000101111000100100
+11000000000100011101111001000010
+11000000000111001101111111000001
+11000000000111000101111110111100
+11000000000110001101111000100111
+11000000000110111101111010110000
+11000000000100111101111010101100
+11000000000110011101111010101001
+11000000000100101101111010101110
+11000000000100110101111000111110
+11000000000000111101111000110110
+11000000000101101101111000101101
+11000000000101110101111000101110
+11000000000000001101111010100101
+11000000000000010101111010010000
+11000000000101000101111110110011
+11000000000001001101111010000110
+11000000000001011101111001011111
+11000000000001000101111001000011
+11000000000001100101111001101010
+11000000000011111101111000111010
+11000000000100000101111000111100
+11000000000100001101111011001010
+11000000000100010101111011001010
+11000000000110101101111011001011
+11000000000110110101111011001100
+11000000000100100101111011001010
+11000000000110100101111011001101
+11000000000010111101111011010110
+11000000000010001101111011110010
+11000000000010010101111011110110
+11000000000010011101111011111000
+11000000000001101101111100001010
+11000000000001110101111100001010
+11000000000101111101111010101010
+11000000000110000101111100001010
+11000000000001010101111100001010
+11000000000011000101111100001011
+11000000000110010101111100001010
+11000000000111101101111100010000
+11000000000111110101111101010001
+11000000000111111101111101001011
+11000000001000000101111101111000
+11000000001000001101111110001010
+11000000000000110101111110100111
+11000000000111010101110101010111
+01110000000000000111111000011001
+01110000000000000111110000000100
+00100000011000000000000000000000
+01110000000000000111110000000110
+00100000011000000000000000000000
+01110000000000000111110000111011
+00100000011000000000000000000000
+01101000000000100000010101010010
+00011111111000111111111000000000
+01100000000000100100000011010010
+01101000000000001000010101010110
+01100000000000001100000011011001
+01101000000000101000010101010111
+01100000000000101100000011100111
+01101000000000101000010101011100
+11100000101000101000000000000000
+01101000000000001000000000110001
+01111001001000000111111000000011
+01100000000000001000000000110001
+00100000011000000000000000000000
+01000111001111111100000000101111
+01101000000000001000010101010010
+01111001001000000111111000000111
+01100000000000001000000001111101
+11000000010000001101110110001000
+11000000010000010101110110001101
+11000000010010101101111010110001
+11000000010010110101111011001010
+11000000010001011101111010111111
+11000000010000011101110110100101
+11000000010000100101110110100111
+11000000010010000101110101111010
+11000000010010111101110110011110
+11000000010011000101110110100011
+11000000010011001101110101111101
+11000000010011010101110110000000
+11000001010000100000000000000000
+01110000000000000111110010000010
+01110000000000000111111000011001
+00100000011000000000000000000000
+01110000000000000111110010000010
+01110000000000000111111000101110
+00100000011000000000000000000000
+00100000010000000101110110000010
+01110000000000000111110010011010
+00100000011000000000000000000000
+00100000010000000101110110000010
+00100000001000000101110110000110
+11011000101000000100011001011110
+01101000000000011000010101010011
+11100000101000011000000000000000
+00100000011000000000000000000000
+00100000001000001111011011011000
+00100000011000000000000000000000
+01101000000000001000010101010100
+01111001001000000111111000000111
+01100000000000001000010011001001
+11000000010001011101110110010010
+00100000011000000000000000000000
+01101000000000001000010101010100
+01111001001000000111111000000111
+01100000000000001000010011001001
+11000000010001011101110110010110
+00100000011000000000000000000000
+01101000000000001100000101011010
+01101000000010001000000001001100
+01111101001110100000010000000101
+01100000000010001000000001001100
+01101000000000001000000000110000
+11000100000000101000000000000000
+01111001001111111111111000000101
+01100000000000001000000000110000
+01101000000000001000010011010111
+00100100011110100000000000000000
+01110000000000000111110000110001
+00100000011000000000000000000000
+00100100001101001101110110100001
+01110000000000000111110000010010
+00100000001000000110001011101011
+01110000000000000111110010010111
+00100000011000000000000000000000
+00100000010000000110001011101011
+00100000001000000101111111111110
+01110000000000000111110010000100
+00100000011000000000000000000000
+01101000000010001000010101010101
+00011000010000010000010000000001
+01100000000010001000010011010000
+01101000000000001100000111001110
+11000000101010001101110110101101
+01110000010000011100111000000000
+01101000000000001000000001010101
+11000001100010101000000000000000
+01110000000000000101010100000100
+00100000001000000110001100011011
+01000111010000000100000000110000
+01101000000000001000010101010010
+01100000000000001000010011001001
+11000000000110011101110111011000
+11000000000001000101110111100111
+11000000000001111101110111101110
+11000000000010000101110111110100
+11000000000010001101110111110101
+11000000000010010101110111111101
+11000000000011000101111000010011
+11000000000010111101111000010110
+11000000000010011101110111001111
+11000000000111101101111100011110
+11000000000111110101111101101010
+11000000001000000101111100100000
+11000000001000001101111100111101
+00100000011000000000000000000000
+01000111010000001100000000110000
+01101000000000001000010101010010
+01100000000000001000010011001001
+11000000000000001101111000001010
+11000000000110011101110111100010
+11000000000001011101110111111110
+11000000000001000101111000000001
+11000000000010011101110111010010
+11000000001000000101111000001011
+11000000001000001101111000001110
+11000000000011000101111000010001
+11000000000010111101111000100010
+00100000011000000000000000000000
+01110000000010101001100100100000
+00100000010000000111110110000110
+00100000001000000010000111011100
+01110000000010101001100100011001
+00100000010000000111110110000110
+01110000010001010101101100000010
+01011000000000000000000001010000
+11011000111000000000000000000110
+00100000001000000111111100001000
+01101000000000001000010011010001
+01111001001000000111111000000000
+01100000000000001000010011010001
+01110000000010101001100100000001
+00100000010000000111110110000110
+01110000000000000111110010001011
+01101000000000001000000001010101
+11000000100000101101110100000111
+01110000000000000101010100000110
+00100000011000000000000000000000
+01110000000001001100101000001011
+01110000000000000111110000000111
+01110000000000000101010100000000
+00100000001000001101110100000111
+00100000011000000000000000000000
+01101000000000001100000110111101
+00100100011110100000000000000000
+00100000010000000010010001001111
+00100000010000000101111111111100
+00100000011101001000000000000000
+01111001001000000000000000100001
+00100000011000000000000000000000
+00100100011101001000000000000000
+01110000000000000111110000010000
+01101000000000001000000001001100
+11000100000000010000000000000000
+01110000000000000111110000010010
+00100000011000000000000000000000
+00100000001000000101111111111110
+00100000010000000110000001011001
+01101000000000001000000000110000
+11000011100000100000000000000000
+01110000000000000111110000110001
+01101000000000001000000001010101
+11000001100001010000000000000000
+01110000000000000101010100001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100101000010011
+00100000011000000000000000000000
+01101000000000001000010101010011
+11000000000000110101111000000111
+11000001100011000000000000000000
+01110000000001001100101000011000
+01110000000000000111110000000111
+00100000011000000000000000000000
+01110000000001001100101000000110
+01110000000000000111110000000111
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000010011010111000000000
+01110000000000000111110000000111
+00100000001000000101110100000111
+01110000000010011010111000000000
+01110000000000000111110000000111
+00100000001000000101110100000111
+01110000000010101001100100100100
+00100000001000000111110110000110
+01110000000010101001100100100011
+00100000010000000111110110000110
+00100000001000000010011011101001
+01110000000010101001100100100010
+00100000010000000111110110000110
+01011000000000000000000000000000
+01100000000000010000000001110101
+01101000000000010100000111100011
+00011111111000111111111000000000
+01100000000000010000000000110010
+01101000000000001100000111100101
+01100000000000001000000001110011
+01101000000000001100000111100111
+01100000000000001000000001110100
+00100000001000000010011011000110
+01110000000010101001100100100001
+00100000001000000111110110000110
+01101000000010001000010101010010
+01100000000010001000000001010100
+00100000001000000101111000111000
+01101000000000001000010011010001
+01111001001000000111111000000010
+01100000000000001000010011010001
+11000011100000011000000000000000
+01110000000000000111110000110001
+00100000001000000101110100000111
+00100000011000000000000000000000
+01101000000000001100000011010000
+01101000000010001000010101010010
+10011000010001100111110000000000
+00100000001000010101111000111000
+01110000000000000111110000000100
+01110000000000000111111000011111
+01110000000000000111110100101110
+00100000011000000000000000000000
+00100000010000000110000101010111
+00100000001000000101111000111000
+01110000000000000111110000000011
+00100000011000000000000000000000
+01110000000000000111110000100001
+00100000011000000000000000000000
+01110000000000000111110000100010
+00100000011000000000000000000000
+01101000000000001000000001010101
+11000001000010011000000000000000
+01110000000000000101010100000010
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000010000000101111111111001
+01110000000001001101010000000001
+01110000000010101001100100001010
+00100000010000000111110110000110
+00100000010000000110001011110011
+00100100001000001110000000000001
+00100100001101001101111001001110
+01110000000000000111110000000100
+01110000000000000111110100001000
+01110000000000000111111000100011
+00100000011000000000000000000000
+01101000000000001000000001001011
+01111001001000000111111000000010
+01100000000000001000000001001011
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111101001110100000010000000001
+01100000000010001000000001001100
+00100000011000000000000000000000
+01101000000000001000000001111111
+00011111111000110111111000000000
+00011111111000010111111000000001
+00100000011000000000000000000000
+01101000000000001100001000010111
+00100000011110100000000000000000
+01101000000000001000100110110101
+00100000010110100110011110110010
+00100000011000000000000000000000
+00100000010000000101111001011010
+00100000010000000101111001010110
+01100000000000001000010011010101
+00100000010000000101111111111001
+01110000000000000111110000001100
+01101000000000001100000110111101
+00100100011110100000000000000000
+01101000000000001000000000110000
+11000011100000110000000000000000
+01110000000000000111111000000110
+00100000001000000101110101010011
+11011010001000000000000001000000
+00100000010000000111001010001000
+01101000000000100000010101010010
+01101000000010100000010110010010
+10011000010001100111110000000000
+00100000001000101101111001110011
+01110000000000000111110000000111
+01110000000001001100101000000101
+00100000011000000000000000000000
+00100000010000000101111001110111
+01101000000000001100011001011010
+00100000001110100101111100111110
+00100000011000000000000000000000
+00100000010000000111001110000110
+00100000010000000010000110110010
+01101000000000001000000001001011
+00101111111011111111111000000001
+01111001001111111111111000000001
+01100000000000001000000001001011
+01101000000000001000000001010101
+11000000000011001101111010000001
+11000000000011000101111010000001
+00100000011000000000000000000000
+01101000000000001000100110110101
+11000001100000000000000000000000
+01101000000000001000000001001100
+11000011100000010000000000000000
+00100000001000000110001110110001
+11011010001000000000010101010010
+11011010010000000000010110000010
+11011000101000000000010101100010
+00100000010000000111001101010010
+11011010001000000000000001000000
+00100000010000000110001100010001
+01110000000000000111110000001011
+01101000000000001000000000110000
+11000011000000110101111111111100
+00100000011000000000000000000000
+01101000000000010000000101011111
+00011111111000001111001111111101
+01101000000010001000010101010010
+01011000000000000000000100000001
+10011000010000001000101000000000
+11011000110000000000010101010100
+00100000010000000111111100000001
+01101000000010001000000001010011
+01101000000000001000010101010011
+10011000010001100111111000000000
+00011111111001100111110000001110
+00100000001000010101111010100000
+00011000010000001111111000001110
+01100000000000001000000001010011
+01110000000000000111110000000001
+00100000011000000000000000000000
+01101000000000001000000001001100
+01111001001000000111111000000011
+01100000000000001000000001001100
+11000010100000100110000000000110
+00100000011000000000000000000000
+01101000000000001000010101010010
+01100000000000001000000001111101
+01110000000000000111110000000010
+00100000011000000000000000000000
+00100000001000000101111000111000
+01110000000000000111110000110000
+00100000011000000000000000000000
+01110000000000000111110000101000
+00100000011000000000000000000000
+01110000000000000111110000100110
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101000000000010000000000110010
+10011000000000000000010000000000
+01101000000000001000010101010011
+01100000000000001000000010010101
+10011000010011111000010000000000
+01101000000000010000010101010100
+00011111111000111111111000000000
+01100000000000010000000010010110
+01101000000000100000010101010110
+00011111111000111111111000000000
+01100000000000100000000010010001
+00011000010000100111111000000000
+01100000000000010000000010011000
+00100000011000000000000000000000
+01101000000010001100000101011010
+01101000000000001000010101010011
+10011000010000101111110000000000
+00100100001000101101110101110111
+00101111111011111111111000000000
+01101000000000001000000001001100
+01111001001000001111111000000101
+01100000000000001000000001001100
+01110000000000000111110010000001
+01110000000000000111110110001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000001000000101111000111000
+00100000001000000101111000111000
+01101000000000010000010101010010
+01100000000000010000000101110001
+00100000011000000000000000000000
+01101000000000010000010101010101
+01101000000010001100000101110010
+10011000010011111111111000000000
+11011000010000000000011001000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000010000010101010111
+00100000001110100101111011110000
+00100000010000000101111011010000
+00100000001000010101111011110000
+01101000000000001100000010010010
+00011111111001100111110000001010
+00100000010000101011110011010101
+01101000000000001000000000110000
+11000010100000001101111011110000
+01101000000000010000010101010011
+00011111111000111111111000000000
+01100000000000010000000001110101
+01101000000000010000010101010101
+00011111111000111111111000000000
+01100000000000010000000000110010
+01101000000000010000010101010111
+01100000000000001000000001110011
+10011000000000000000010000000000
+01101000000000010000010101011001
+01100000000000001000000001110100
+10011000010001100111110000000000
+00100100001000010101111011101101
+01100000000000001000000001110011
+01110000000000000111110000000011
+01110000000000000111110100010111
+00100000011000000000000000000000
+01110000000000000111111000100100
+00100000001000000101110101010011
+00100000010000000101111000111000
+00100000010000000101111111111001
+00100000010000000111001010001011
+00100000001000000010011010111000
+00100000010000000101111000111000
+00100000001000000010011011000000
+01101000000000100000010101010010
+00011111111000111111111000000000
+00100000001101001101111100000100
+01101000000010001100000110111101
+00100100001110100101111100000001
+01110000000000000111110000000100
+01110000000000000111110100010011
+01110000000000000111111000100100
+00100000011000000000000000000000
+01110000000000000111110000110100
+01110000000000000101010100000000
+00100000001000000010000111011001
+00100000010000000010000111011001
+01111001001000000000000000100010
+01101000000000001000000101101101
+01111001001111111111111000000010
+01100000000000001000000101101101
+00100000001000000101111000111000
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000000000111110100011000
+01110000000010101001100100101110
+00100000010000000111110110000110
+00100000001000000010011011101001
+01101000000000001000010101010010
+11000000100000001101111100011100
+01101000000000001000010101010011
+11000000100000001101111100011100
+01101000000000001000010101010100
+11000000100110000101111100011100
+00100000010000000110001011111100
+00100000001000001101111100011001
+01110000000010011010111000000001
+01110000000000000111110000000011
+01110000000000000111110100111101
+00100000001000000101110100000111
+01110000000000000111111000100100
+00100000001000000101110101010011
+01110000000000000111110000111110
+00100000011000000000000000000000
+01101000000000001100011001100010
+11000000000000001101111100100111
+11000000000000010101111100101011
+00100000010000000110001011111100
+00100000011000001000000000000000
+01110000000010011010111000001000
+00100000011000000000000000000000
+00100000010000000111100101100010
+01110000000010101001100100110101
+00100000010000000111110110000110
+00100000001000000101111100100011
+00100000010000000110001011111100
+00100000011000001000000000000000
+01101000000000001100011001100011
+11000000000010011101111100111011
+00011111111000001111111000000001
+01100000000000001100011001100011
+01110000000010011011000000000001
+01110000000010011010111000000100
+01101000000000001100011001100011
+00011111111000100000111000000000
+01101000000000110100011010001010
+10101111111011111111111111111111
+01011000000000000000000010000000
+01111001001000001111111000000000
+01100000000000001100011001100100
+00100000011000000000000000000000
+01110000000010011010111000001000
+00100000011000000000000000000000
+00100000010000000101111101000011
+01101000000000001100011001100101
+00100000011110100000000000000000
+01110000010001100110010100000000
+01110000000010101001100100111000
+00100000001000000111110110000110
+00100000010000000110001011111100
+00100100010000001111100101100101
+00100000010000001111100101110101
+00100000010000000110001011111100
+00100000011000001000000000000000
+01110000000010011010111000001100
+01110000000010011011000000000001
+00100000011000000000000000000000
+11011000101000000000101001101110
+11011000110000000000010101010010
+00100000010000000111111010111111
+01101000000000001100011001100010
+11000001000000010000000000000000
+00100000001000000111011011011000
+01101000000000001000100110101111
+11000000000000111101111101010101
+01101000000000001000100110101110
+11000000100000001101111101101000
+01101000000000001000100110110111
+00011111111001100000101000100000
+00100100001000010101111101101000
+11011000101000000000100111000110
+10011000101000001000101000000000
+01101000000001000000010101010010
+11100000101001000000000000000000
+01101000000001000000010101011010
+11100000101001000000000000000000
+01101000000000001000100110110111
+00011111111000001111111000010000
+01100000000000001000100110110111
+11000000100110000101111000111000
+00100000010000000110001011111100
+00100000001000001101111000111000
+01110000000010011011100000000001
+01110000000010011010111000000010
+01110000000010011011000000000001
+00100000001000000101111000111000
+01110000000000000111111000100100
+00100000001000000101110101010011
+01101000000000001000100110110110
+11000000000110000101111101101110
+01110000000000000111110000111110
+00100000001000000101110100000111
+00100000010000000110001011111100
+00100000001000001101111101110111
+01101000000000001100011001100010
+11000000000000010101111101110101
+01110000000010011011000000000001
+01110000000010011010111000000100
+00100000001000000101110100000111
+01110000000010101001100100110110
+00100000001000000111110110000110
+00100000001000000101110100000111
+01101000000000001000100110101111
+11000000000000111101111101111100
+01101000000000001000100110101110
+11000000100000110101111110001000
+11011000101000000000101000101110
+01101000000001000000010101010010
+11100000101001000000000000000000
+01101000000001000000010101011010
+11100000101001000000000000000000
+00100000010000000110001011111100
+00100000001000001101111110000110
+01110000000010011010111000000111
+01110000000010011011000000000001
+00100000001000000101111000111000
+01110000000010011010111100000100
+00100000001000000111011011011000
+01110000000000000111111000100100
+00100000001000000101110101010011
+01101000000000001000100110101111
+11000000000001011101111110001110
+01101000000000001000100110101110
+11000000100001000101111110011101
+11011000101000000000101001011110
+11011000110000000000010101010010
+00100000010000000111111010111111
+00100000010000000110001011111100
+00100000001000001101111110011010
+01101000000000001100011001100010
+11000000000000001101111110011111
+01110000010001100110000100000000
+01110000000010011010111000001001
+01110000000010011011000000000001
+01110000000000000111110101000001
+00100000001000000101110100000111
+01110000000010011010111100001001
+01110000000010011011000100000001
+00100000001000000101110100000111
+01110000000000000111111000100100
+00100000001000000101110101010011
+01101000000000001100011001100001
+11000010100000111101111110100100
+01111001001000000111111000000110
+01100000000000001100011001100001
+00100000011000000000000000000000
+11000010100000000101111110010101
+01110000010001100110000100000000
+00100000001000000101111110011101
+00100000001000000101110100000111
+01101000000000001000000101101101
+01111001001111111111111000000001
+01100000000000001000000101101101
+00100000010000000101111000111000
+00100100011101001000000000000000
+01101000000000001000010101010010
+01101000000010001000000001001011
+01111001001110100000010000000100
+01111101001110100000010000000101
+01100000000010001000000001001011
+00100000011000000000000000000000
+01101000000011000000010101010010
+01101000000000001000000001010101
+11000001100000011000000000000000
+01101000000000001000000101101101
+11000011000000100101111110111010
+01110000000000000101010100010100
+00100000011000000000000000000000
+01110000000000000101010100000100
+00100000011000000000000000000000
+01101000000000001000000101111111
+01100000000000001000000101011011
+01110000000000000111110000000011
+01110000000000000111110100111000
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000000000111110100111001
+00011000000000000111001000001001
+11011000110000000000010101010010
+11011000101000000000000101010010
+11101000110000001000000000000000
+00011111111000101111111001010101
+11100000101000001000000000000000
+11000010000000000101111111000110
+01101000000000001000000101010010
+01101000000010001000000101010001
+01111001001111111000010000000111
+01111001001111111000010000000100
+11000000011111111101111111011010
+11000000000000000101111111110011
+11000000000000101101111111100111
+11000000000000111101111111100110
+11000000000000110101111111100111
+11000000000001000101111111100110
+11000000000000001101111111011111
+11000000000000010101111111011111
+11000000000000011101111111011111
+11000000000001001101111111011111
+11000000000000100101111111011111
+00100000011000000000000000000000
+01101000000000001000000101010001
+01111001001000000111111000000011
+01111001001000000111111000000010
+01100000000000001000000101010001
+00100000011000000000000000000000
+01111001001000000000010000000100
+01110000000000011000000000000101
+01101000000000010000000101011001
+10011000000000000111001000000000
+01100000000000010000000101011111
+11011000101000000000010101010001
+00100000010000000111111101110011
+01111001001000000000010000000111
+01111001001000000000010000000010
+00011000000000000111111000000000
+01100000000000001000000000001011
+01100000000000010000000011111010
+01100000000000010000000011111100
+01100000000000010000000011111000
+01100000000000010000000011110110
+01101000000000001000000101010011
+00101111111000011111111000000000
+01111001001000001000010000000110
+01100000000010001000000101010001
+00100000011000000000000000000000
+01111001001111111000000000010001
+01110000000000010101000100000000
+01101000000000001000000101111111
+01111001001111111111111000000110
+01100000000000001000000101111111
+00100000011000000000000000000000
+11011000110000000000010101010010
+11011000101000000000010101100010
+00100000001000000111111010111111
+01110000000000000111110000001001
+00100000011000000000000000000000
+00100100011101001000000000000000
+01110000000000000111110000010001
+00100000011000000000000000000000
+11011010001000000100000010100000
+00100000010000000111001001010101
+01110000000000000111110000000011
+01110000000000000111110100001000
+00100000011000000000000000000000
+01110000000000000111001000001010
+01110000000000000111110000000111
+01110000000001001100101000010110
+00100000011000000000000000000000
+01000111010000010100000000110000
+01111000010101000111110000000000
+00100000010000000110001011000001
+01101000000000001000000001001000
+00100000011110100000000000000000
+11000010100000111110000000111111
+11000000000000001110000101101111
+11000000000000010110000011100100
+11000000000000011110000001001010
+11000000000000100110000001100000
+11000000000100111110000111011011
+11000000000101000110000100001000
+11000000000110000110000011110100
+11000000000100101110000111010110
+11000000000100110110000100000011
+11000000000110001110000111000011
+11000000000110111110000101101010
+11000000000110011110000101011100
+11000000000001000110001001011001
+11000000000001001110001001001111
+11000000000001011110001001100100
+11000000000001100110001001101101
+11000000000001111110000101100010
+11000000000010000110001010010010
+11000000000010001110001010001000
+11000000000000111110000101010010
+11000000000101010110000101111110
+11000000000001010110000101111111
+11000000000011111110000110111100
+11000000000000110110000011111001
+11000000000100001110000101011111
+11000000000101101110000110110010
+11000000000101110110000110110111
+11000000000100010110000101011111
+11000000000110100110000110000000
+11000000000010011110000110010101
+11000000000010111110000110100100
+11000000000010010110001010001111
+11000000000101111110000110101010
+11000000000011000110000110101111
+11000000000111101110000111111111
+11000000000111110110001000001011
+11000000000111111110001000011101
+11000000001000000110001000100111
+11000000001000001110001000111100
+11000000000100011110001001001011
+11000000000111011110001001000110
+11000000000000101110001001001100
+11000000000101001110001001001101
+11000000000111000110001001001110
+11000000000111001110000101110101
+00100000001000000010101010001100
+00100000011000000000000000000000
+11000000010000001110000001101101
+11000000010000100110000010011001
+11000000010000010110000001110110
+11000000010000011110000100001101
+11000000010001011110000100011000
+11000000010010111110000101001110
+11000000010011001110000011010101
+11000000010011010110000010100100
+11000000010010101110000011011010
+11000000010010110110000011011011
+00100000001000000010101010001100
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001001001
+11100000101000001000000000000000
+00100000010000000110001010100111
+01000111010000011100000000110000
+01101000000000001000000001001001
+11000000000001000110000010000000
+11000000000001111110000010000100
+11000000000010000110000010001111
+11000000000010111110000001011111
+11000000000110011110000010010010
+11000000001000001110000010011000
+11000000000010001110000001011001
+00100000011000000000000000000000
+01101000000000001000000001010101
+00100000011110100000000000000000
+01110000000000000101010100011011
+01011000000000000000000000001100
+11011000111000000000000000000111
+00100000001000000111111100001000
+00100000001000000010011011000110
+00011000000000000111111000000011
+00100000010000000110001010011000
+01101000000000001000000001001001
+11000000000001011110000001101000
+11100000101000001000000000000000
+01101000000000001000000001001010
+11100000101000001000000000000000
+00100000001000000110001010100111
+11100000101000001000000000000000
+01101000000000001000000001001010
+11100000101000001000000000000000
+11011000010000000000010011010101
+00100000001000000110001011100010
+00011000000000000000111000000100
+00100000010000000110001010100000
+01011000000000000000000001111111
+11100000101000001000000000000000
+01101000000000001000000001001001
+01111001001111111111111000000111
+11100000101000001000000000000000
+01101000000000001000000001001001
+00100000001000000110001010100111
+00011000000000000000111000000101
+00100000010000000110001010100000
+01011000000000000000000001111111
+11100000101000001000000000000000
+01101000000000001000000001001001
+01111001001111111111111000000111
+11100000101000001000000000000000
+01101000000000001000000001001010
+11100000101000001000000000000000
+00100000001000000110001010100111
+00100000010000000010010001001111
+00100000010000000110001011110011
+00100000011000001000000000000000
+00100000001000000101111111111100
+01101000000000001000000001001011
+11000010100000101110000010001011
+11000100000000100000000000000000
+01110000000000000111110000010010
+01111001001111111111111000000100
+00100000010000000110001011101011
+00100000001000000110000010001101
+01110000000000000111110000010000
+01111001001111111111111000000101
+01100000000000001000000001001011
+00100000011000000000000000000000
+00100000010000000110001011111100
+00100000001000001101111111111110
+00100000011000000000000000000000
+01110000000000000111110010001011
+01101000000000001000010011010001
+01111001001000000111111000000000
+01100000000000001000010011010001
+01110000000010101001100100000001
+00100000001000000111110110000110
+00100000011000000000000000000000
+00011000000000000000111000001100
+00100000010000000110001010100000
+01011000000000000000000000000001
+11100000101000001000000000000000
+01101000000000010000010011001110
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+01011000000000000000000000000000
+11100000101000100000000000000000
+00100000001000000110001010110000
+00011000000000000000111000000101
+00100000010000000110001010100000
+01101000000000011100011001011011
+11100000101000011000000000000000
+00100000010000000110001010110000
+01110000010001100110010100000001
+01101000000000001100011001011011
+11000000000000001110000010110101
+11000000000000010110000010101111
+11000000000000011110000010111011
+00100000011000000000000000000000
+01101000000000001100011001011110
+11000000000000000110000011000111
+11000000000000001110000011000111
+11000000000000010110000011000111
+11000000000000011110000011000001
+00100000011000000000000000000000
+01101000000000001100011001011110
+11000000000000000110000011000001
+11000000000000001110000011000101
+11000000000000010110000011000111
+11000000000000011110000011000001
+00100000011000000000000000000000
+01101000000000001100011001011110
+11000000000000000110000011000001
+11000000000000001110000011000001
+11000000000000010110000011000001
+11000000000000011110000011000001
+00100000011000000000000000000000
+01110000010001100110001000000011
+01101000000000001100010101011100
+11000010100000000011001111101001
+00100000011000000000000000000000
+01110000010001100110001000000001
+00100000011000000000000000000000
+01110000010001100110001000000010
+00100000011000000000000000000000
+11011000111000000000000000000000
+00100000001000000110000011001101
+11011000111000000000000000000000
+00100000001000000110000011010001
+01101000000000001100010101011100
+11111001001000000111111000000000
+01100000000000001100010101011100
+00100000011000000000000000000000
+01101000000000001100010101011100
+11111001001111111111111000000000
+01100000000000001100010101011100
+00100000011000000000000000000000
+00011000000000000000111000000101
+00100000010000000110001010100000
+01101000000000011100011001011011
+11100000101000011000000000000000
+00100000001000000110001010110010
+00100000011000000000000000000000
+00011000000000000000111000001001
+00100000010000000110001010100000
+01101000000000001000000010010101
+11100000101000001000000000000000
+01101000000000010000000010010110
+11100000101000010000000000000000
+01101000000000100000000010010001
+11100000101000100000000000000000
+00100000001000000110001010110000
+00011000000000000111111000010001
+00100000010000000110001010011000
+01101000000000001000000001001001
+00011111111000100000010000000000
+11000000000000000110000011101100
+11000000000001110110000011101100
+11000000000011100110000011101100
+00100000011000000000000000000000
+11100000101000001000000000000000
+01101000000000001100010100010101
+11100000101000001000000000000000
+11011111001000000000000000001110
+01011000000000000100010100010110
+10011000010000001000110000000000
+00100000010000000111111100000001
+00100000001000000110001010110000
+00011000000000000111111000000011
+00100000010000000110001010011000
+01011000000000000000000100010100
+11100000101000010000000000000000
+00100000001000000110001010110000
+00011000000000000111111000000011
+00100000010000000110001010011000
+01101000000000100000000101100101
+10011100010001100111111000000000
+00100000001101001110000011111111
+00011111111001100111111000000000
+00011111111010110111111000000000
+01111001001111111111111000001111
+11100000101000010000000000000000
+00100000001000000110001010110000
+00011000000000000111111000000110
+00100000010000000110001010011000
+01101000000000101100010100010000
+11100000101000101000000000000000
+00100000001000000110001010110000
+00011000000000000111111000001001
+00100000010000000110001010011000
+01101000000001000100000010011000
+11100000101001000000000000000000
+00100000001000000110001010110000
+00011000000000000000111000001100
+00100000010000000110001010100000
+01011000000000000000000000000001
+11100000101000001000000000000000
+01101000000000010000010011001110
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000011000000000000000
+01011000000000000000000000000000
+11100000101000100000000000000000
+00100000001000000110001010110010
+00011000000000000000111000000011
+00100000010000000110001010100000
+01101000000000001100000101011010
+11100000101000001000000000000000
+01111000010101000111110000000000
+00100000010000000110001010110010
+00100100011101000000000000000000
+00100100011101001000000000000000
+01101000000000001100000011011000
+11000100000000000000000000000000
+00100000010000000110000100110010
+00100000001000000110000100111100
+01000111010000100100000000110000
+01101000000000001100000010011110
+01111001001000000111111000000011
+01100000000000001100000010011110
+01011000000000000000000100000001
+01100000000000010000010011001110
+00100000011000000000000000000000
+01000111010000101100000000110000
+01101000000000001100000010011110
+01111001001111111111111000000011
+01100000000000001100000010011110
+01011000000000000000000000000000
+01100000000000010000010011001110
+00100000011000000000000000000000
+01110000010000001101100000000011
+01011000000000000000000000000000
+01100000000000100100000101000010
+11011000101000000100000011011010
+00100000010000000110000101000000
+11011000101000000100000011100111
+00100000010000000110000101000000
+11011000101000000100000101000110
+00100000010000000110000101000000
+00100000001000000110000101000111
+11011000101000000100000011100111
+00100000010000000110000101000000
+00100000010000000110000101000111
+00100000001000000110000101001010
+01011000111111111111111111111111
+11100000101000011000000000000000
+11100000101000011000000000000000
+11100000101000011000000000000000
+01011000000000000000000001111111
+11100000101000001000000000000000
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010100000011010110
+00100000011000000000000000000000
+01101000000000001100000011011000
+01111001001000000111111000000010
+01100000000000001100000011011000
+00100000011000000000000000000000
+00011000000000000000111000000010
+00100000010000000110001010100000
+00100100001101001110001010110000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000010011001010
+11100000101000001000000000000000
+00100000010000000110001010110010
+01101000000000001000000001001011
+01111001001000000111111000000011
+01100000000000001000000001001011
+01110000000000000111001000110010
+00100000011000000000000000000000
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110010
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110000
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001001100
+00101111111011000000000000000010
+01111001001000001111111000000000
+00011111111000010111111000000001
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000011
+00100000010000000110001010011000
+01101000000000010000000001010001
+11100000101000010000000000000000
+00100000001000000110001010110010
+01110000000000000111001011111010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001000000001010011
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000001010
+00100000010000000110001010011000
+11011000110000000000000101010010
+00011000000000000111001000001001
+11101000110000001000000000000000
+00011111111000101111111001010101
+11100000101000001000000000000000
+11000010000000000110000101111001
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000011101001000000000000000
+00100000010000000010100000101101
+00011000000000000111111000001001
+00100000010000000110001010011000
+01101000000000010000000101110001
+11100000101000010000000000000000
+01101000000000011100000010100000
+11100000101000011000000000000000
+01101000000000001100000010100011
+11100000101000001000000000000000
+01101000000000010100000010100100
+11100000101000010000000000000000
+11000101100000011110000110010001
+01111001001111111000000000000011
+00100000010000000110001010110010
+01110000000000000111110000010011
+00100000011000000000000000000000
+00100000010000000110001010110000
+01110000000000000111110000000011
+01110000000000000111110100010011
+00100000011000000000000000000000
+11011000010000000000001000000000
+00100000001101001110000110011001
+00011101000000100111111000000000
+00100000001000000110000110011010
+00011100010000100111111000000000
+00011100001000100111111000000000
+10011000010000001111111000000000
+00011111111000010111111111111100
+01100000000000100000000000110100
+00011000000000000111111000000101
+00100000010000000110001010011000
+01101000000000100000000000110100
+00011111111000110111111000000000
+11100000101000100000000000000000
+00100000001000000110001010110010
+00011000000000000111111000001010
+00100000010000000110001010011000
+11011000110000000000010011011001
+11101000110001001000000000000000
+11100000101001001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000011
+00100000010000000110001010011000
+01011000000000000000000100010100
+11100000101000010000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01101000000000001100000011010000
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01011000000000000000000000000101
+11100000101000001000000000000000
+00100000001000000110001010110010
+00011000000000000111111000000010
+00100000010000000110001010011000
+01011000000000000000000000000000
+11100000101000001000000000000000
+00100000001000000110001010110010
+01110000000000000111110000101110
+00100000011000000000000000000000
+01101000000000001100000010010010
+00011111111001100111110000001010
+00100000010000101110000111000001
+01101000000000001000000000110000
+01111001001000000111111000000100
+01100000000000001000000000110000
+00011100010000100111111000000000
+01100000000000100000010011101001
+01101000000000001000010011010001
+11000010100000011110000111010100
+01111001001000000111111000000011
+01100000000000001000010011010001
+01110000000010101001100100000101
+00100000010000000111110110000110
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010110010
+01110000000000000100100000000000
+00100000011000000000000000000000
+00011000000000000111111000000110
+00100000010000000110001010011000
+01101000000000101100010100010000
+11100000101000101000000000000000
+00100000001000000110001010110010
+00011000000000000111111000001001
+00100000010000000110001010011000
+01101000000001000100000010011000
+11100000101001000000000000000000
+00100000001000000110001010110010
+01110000000010011011000100000001
+01101000000000001100010110110001
+11000001100000001000000000000000
+01110000000010011010111100010011
+00100000011000000000000000000000
+00100000010000000110001011101111
+01110000000000000111110010011001
+01110000000010011010111100000011
+00100000011000000000000000000000
+00100000010000000110001011101111
+01110000000000000111110000111101
+01110000000010011010111100000111
+00100000011000000000000000000000
+11011010001000000000101001001110
+11011010010000000000101001101110
+11011111001000000000000000010000
+00100000010000000111111110001000
+00100000001000101110000111110111
+01110000000010011010111100000000
+00100000010000000111011011011010
+01110000000000000111111000100100
+01110000000000000111110101000000
+00100000001000000101110101010011
+01110000000010011010111100001010
+00100000010000000111011011011000
+01110000000000000111110101000000
+00100000001000000101111000111000
+01110000000000000111110001000000
+00100000011000000000000000000000
+01110000000000000111110000111101
+00100000011000000000000000000000
+01110000000010011011011000000000
+00011000000000000111111000000100
+00100000010000000110001010011000
+00011000000000000111111000000001
+11100000101000001000000000000000
+00011000000000000111111000000001
+11100000101000001000000000000000
+00011000000000000111111000110000
+11100000101000001000000000000000
+00100000010000000110001011111100
+00100000001000001110001010110010
+00100000001000000110001010110000
+00011000000000000111111000010001
+00100000010000000110001010011000
+01101000000000001000100110110110
+11011000110000000100011000101010
+10011000110000001000110000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+01101000000000001000100110110110
+00011111111000001111111000010000
+01100000000000001000100110110110
+00100000010000000110001011111100
+00100000001000001110001010110010
+00100000001000000110001010110000
+01110000000010011010111000000110
+01110000000000000111110000111111
+00100000011000000000000000000000
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000101001001110
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000001000000110001010110000
+01110000000000000111110001000000
+00100000011000000000000000000000
+00100000010000000110001011111100
+00100000010000001111011000010010
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000101000011110
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000010000000110001011111100
+00100100001000001110001010110000
+00100000001000001110001010110010
+01110000000010011010111100001111
+00100000010000000110001011101111
+01110000000000000111110000001011
+00100000010000000110001100000111
+00100000001000001111011001001110
+00100000001000000111011001011000
+00100000010000000110001011101011
+01110000000000000111110001000001
+00100000011000000000000000000000
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000101001001110
+11101000110001000000000000000000
+11100000101001000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000010000000110001011111100
+00100100001000001110001010110000
+00100000001000001110001010110010
+00011000000000000111111000000011
+00100000010000000110001010011000
+01011000000000001111111111111110
+11100000101000010000000000000000
+00100000001000000110001010110000
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000001000000110001010110010
+00100000010000000110001100001011
+11011010001000000100000010100000
+00100000010000000110001100010001
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011010001000000000010110000010
+11011010010000000000010101100010
+00100000010000000111001101010010
+00100100001101001110001010100111
+00100000001000000110001010101101
+00100000010000000110001100001011
+11011010001000000000000001000000
+00100000010000000111001001010101
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000010101100010
+00100000010000000111111010111111
+01101000000000001000000001010101
+11000000000011001110001010110010
+11000000000011000110001010110010
+00100000001000000110001010101101
+01101000000000001000100110110101
+00100000001110100110001001101010
+00100000010000000110001011111100
+00100000010000001110001011101111
+00100100010000001110001011101011
+00100000001000000110001001101011
+00100000010000000110001011101111
+00100000010000000110001100001011
+00100000001000000110001001011100
+11011010001000000100000010100000
+00100000010000000111001010001000
+00011000000000000111111000000101
+00100000010000000110001010011000
+01101000000000100000010110010010
+11100000101000100000000000000000
+11011000010000000000010011010101
+00100000010000000110001011100010
+00100000010000000111001110000110
+00100000010000000110001011111100
+00100000001000001110001001111100
+01110000000001001101100000000001
+01101000000000001000100110110101
+00100000011110100000000000000000
+01110000000000000111110000001011
+01101000000000001100000110111101
+00100000011110100000000000000000
+00100000010000000110001011111100
+00100100001000001110001010000100
+01101000000000001000010011010111
+00100000011110100000000000000000
+01110000000000000111110000001111
+00100000011000000000000000000000
+11000110100100001000000000000000
+01111001001111111000000000100001
+01110000000000000111110000001111
+00100000011000000000000000000000
+00100000010000000110001100001011
+00100000010000000111001010001011
+00011000000000000111111000010001
+00100000010000000110001010011000
+11011000110000000000010101100010
+00100000010000000111111010111111
+00100000001000000110001010101101
+00011000000000000111111000000001
+00100000010000000110001010011000
+00100000001000000110001010101101
+00011000000000000111111000000010
+00100000010000000110001010011000
+00011000000000000111111000010000
+11100000101000001000000000000000
+01100000000000001000000001010100
+00100000001000000110001010101101
+00011111111010011111111000000000
+00011111111000011111111000000111
+01100000000000001000010010110110
+11011111001000000000000000010001
+11011000101000000000010010111000
+00100000010000000111111011010100
+11011000101000000000010010111000
+00100000011000000000000000000000
+00011111111000010010001001111111
+01110000000000000100100001111111
+00011000111000100111111000000000
+00100000010000000110001010011000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000001000000001001000
+00011111111000111111111000000000
+01101000000010001000000001001100
+00101000010011111111111000000001
+01111001001000001111111000000000
+00100000001000000110001010110111
+01101000000010001000000001001100
+00011000010000010000010000000001
+00100000001000000110001010110011
+00011000000000000000010000000000
+00100000001000000110001010110011
+00011000000000000000010000000001
+01101000000000001000000001001000
+00011111111000111111111000000000
+01111001001101001111111000000000
+10011000010000101111111000000000
+01100000000000001000010010110111
+01110000000000000100100000000000
+00100000010000000110001011000111
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000001000000001111100
+00100000011110100000000000000000
+00100000010000000110001011000001
+01101000000000001000000001111100
+00100000011000000000000000000000
+01000111010000110100000000110000
+01101000000000001000000001001000
+00100000001110100110001011000111
+01101000000000001000000001111000
+00100100011110100000000000000000
+00100000001000000110001011010001
+01101000000000001000000001111000
+00100000001110100110001011010111
+01101000000000011000000001111000
+01100000000000011000000001001000
+01101000000010001000000001111011
+01101000000000001000000001001100
+01111001001111111111111000000001
+10011000010000011111111000000000
+01100000000000001000000001001100
+01110000000000000111100000000000
+01101000000000001000000001111100
+00100000011110100000000000000000
+01101000000000100000000001111100
+01100000000000100000000001111000
+01110000000000000111110000000000
+00100000011000000000000000000000
+01101000000000001000000001111100
+00100000011110100000000000000000
+01101000000000011000000001111100
+01100000000000011000000001001000
+01101000000010001000000001111111
+01101000000000001000000001001100
+01111001001111111111111000000001
+10011000010000011111111000000000
+01100000000000001000000001001100
+01110000000000000111110000000000
+00100000011000000000000000000000
+01000111010000111100000000110000
+01101000000000001000000001001100
+00011111111000100010011000000000
+11101000010000001000000000000000
+00100000010000000101111001010010
+00100000010000000110001010100111
+00011010011000100111111000000000
+01100000000000001000000001001100
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111001001111111000010000000000
+01100000000010001000000001001100
+00100000011000000000000000000000
+01101000000010001000000001001100
+01111001001000000000010000000000
+01100000000010001000000001001100
+00100000011000000000000000000000
+01111101001101001111111000000001
+01101000000010001000000001001100
+10011000010000101111111000000000
+00101111111011111111111000000001
+00100000011000000000000000000000
+01101000000000001000000001001100
+01111001001101001111111000000001
+01100000000000001000000001001100
+00100000011000000000000000000000
+01101000000000001000100110110100
+00101111111000001111111000000001
+00100000011000000000000000000000
+01101000000000001000100110110100
+01111001001000000111111000000111
+01100000000000001000100110110100
+00100000011000000000000000000000
+01101000000000001000100110110100
+01111001001111111111111000000111
+01100000000000001000100110110100
+00100000011000000000000000000000
+01101000000000001000100110110100
+00101111111011111111111000000111
+01100000000000001000100110110100
+00100000011000000000000000000000
+11011000101000000000010101100010
+00011000000000000111001000010000
+00011000000010100111111000000000
+11100000101000001000000000000000
+11000010000000000110001100001101
+00100000011000000000000000000000
+00100000010000000111001001011001
+11011010001000000100000110111110
+11011010010000000000010110010010
+11101010001001000000000000000000
+01101000000010001000000000110000
+01111101001110100000010000000110
+01100000000010001000000000110000
+00011010001000100000101000000000
+00100000010000000111001101010010
+00100000001000000010000111000100
+01000111010001000100000000110001
+00100000010000000110001010111100
+00100100011110100000000000000000
+01101000000000001000000001010101
+00100000011110100000000000000000
+11000000000000100110001101101111
+11000000000000101110001101110100
+11000000000000010110001101100110
+11000000000000011110001101111100
+11000000000001110110001101101001
+11000000000000110110001110011000
+11000000000000111110001110110000
+11000000000001001110001110110001
+11000000000001010110001110111010
+11000000000001011110001110111110
+11000000000001100110001110000110
+11000000000001101110001110001001
+11000000000001111110001110001111
+11000000000010010110001101011001
+11000000000010011110001101111100
+11000000000010000110001101011100
+11000000000010100110001101010110
+11000000000010101110001101111100
+11000000000010110110001101010000
+11000000000011000110001101010101
+11000000000010111110001101001001
+11000000000011001110001101001111
+11000000000011010110001100111010
+11000000000011011110001101000100
+01110000000000000101010100000000
+00100000011000000000000000000000
+01101000000000001000010011010001
+11000100000000010000000000000000
+11000100000000011000000000000000
+01110000000000000101010100000000
+00100000010000000110001101000000
+00100000001000000110110011101111
+01101000000000001000000101101101
+11000100000000001000000000000000
+01110000000000000101010100001010
+00100000011000000000000000000000
+11011000111000000000000000000111
+00100000010000000111111100010110
+00100100011110100000000000000000
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101000000000001000000101101101
+01111001001111111111111000000000
+01100000000000001000000101101101
+01110000000000000101010100011001
+01110000000000000111110000001011
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101000000000001000010011010100
+11000001100000010000000000000000
+00100000010000000110001111000000
+01110000000000000101010100011000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000000000101010100010101
+01110000000000000111110010000011
+00100000011000000000000000000000
+01110000000000000101010100010011
+01110000000000000111110000100101
+00100000011000000000000000000000
+01101000000000001100010101011011
+11000001000000000000000000000000
+11000000000000001110001101100100
+11011000111000000000000000000110
+00100000010000000111111100010110
+00100100011110100000000000000000
+01110000010001010101101100000000
+00100000001000000110001101111101
+00100000011101001000000000000000
+00100000001000000110001110011000
+01110000000000000101010100000011
+01110000000000000111110000100111
+00100000011000000000000000000000
+01110000000000000111110000010011
+01111001001000000000000000000011
+01110000000000000101010100000101
+01011000000000000000000111111111
+01100000000000010000010011010010
+00100000011000000000000000000000
+01110000000000000101010100000101
+01110000000001001101001011111111
+01111001001111111000000000100010
+01110000000000000111110000110011
+00100000001000000101110100000100
+11000110000100010000000000000000
+01101000000000010000010011010010
+00011111111001100111111000000001
+00100000001000101110001101111010
+01100000000000010000010011010010
+00100000011000000000000000000000
+01110000000000000101010100001110
+00100000011000000000000000000000
+00100000011000000000000000000000
+01101000000000001000010011010001
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101000000000001000000101101101
+01111001001111111111111000000010
+01100000000000001000000101101101
+01110000000000000111110000010011
+01110000000000000101010100010000
+00100000011000000000000000000000
+01110000000000000101010100001101
+01110000000000000111110000110001
+00100000011000000000000000000000
+01101000000000001000010011010001
+11000100000000010000000000000000
+01110000000000000101010100000000
+00100000011000000000000000000000
+01110000000000000101010100000110
+00100000011000000000000000000000
+01101000000000001000010011010010
+00011111111000001111111111111111
+00100000001110100110001110010100
+01100000000000001000010011010010
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100101000010110
+01110000000000000101010100000000
+00100000011000000000000000000000
+01101000000000001000000101101101
+11000010100000010110001101111101
+11000010100000000110001110011101
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101000000000001100000110111101
+00100000001110100110001110101001
+01101000000000001000010011010001
+11000100000000011000000000000000
+11000100000000010000000000000000
+01101000000000100000010011101001
+11011000010000000000000001100100
+10011000010000001000010000000000
+00011100010000100111111000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00100000001000000110001101001001
+01110000000000000101010100010110
+01110000010001101000100100000100
+01011000000000000011000000110000
+01100000000000010100011010001010
+11100000101000010000000000000000
+01110000000001001101010000000010
+00100000001000000110001101010000
+00100000011000000000000000000000
+01101000000000001000000101101101
+11000010100000001110001110110101
+01110000000000000101010100011010
+00100000011000000000000000000000
+01101000000000001000000101101101
+01111001001111111111111000000001
+01100000000000001000000101101101
+01110000000000000111110000001111
+00100000011000000000000000000000
+01101000000000001000010011011000
+00100000011110100000000000000000
+01110000000000000101010100000000
+00100000001000000110001110110101
+01110000000000000101010100001100
+00100000011000000000000000000000
+01101000000000001000000001001011
+11000010100000010110001111000101
+00100000010000000110001011101111
+01110000000000000111110000001000
+00100000001000000100110100000100
+01101000000000001000000001001011
+01111001001111111111111000000010
+01100000000000001000000001001011
+00100000010000000110000000000001
+00100000010000000110001011111000
+00100000001000000100110100000100
+01011000000000000000000000000100
+01100000000000001100011010001001
+01011000000000000011000000110000
+11100000101000010000000000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01000111010001100100000000110001
+01101000000100001000000001110011
+11011000010000000000000000000110
+10011000010000011111111000000000
+01100000000100001000000001110011
+01101000000100001000000001110111
+10011000010000011111111000000000
+01100000000100001000000001110111
+00100000010000000110001111101110
+01101000000100001000000001110111
+01111001001111111111111000000001
+01111001001111111111111000000010
+01100000000100001000000001110111
+00100000000000000000000000011110
+00100000001000000110001111110010
+01101000000100001000000001110011
+11011000010000000000000011000000
+10011000010000011111111000000000
+01100000000100001000000001110011
+01101000000100001000000001110111
+10011000010000011111111000000000
+01100000000100001000000001110111
+00100000010000000110001111101110
+01101000000100001000000001110111
+01111001001111111111111000000110
+01111001001111111111111000000111
+01100000000100001000000001110111
+00100000000000000000000000011110
+00100000001000000110001111110110
+01101000000100001000000010000001
+00011111111000010111111011111100
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000010000001
+00011111111000011111111000000001
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000010000001
+00011111111000011111111000000011
+01111001001111111111111000000100
+01100000000100001000000010000001
+00100000011000000000000000000000
+00011111111000100010010000000000
+00100000010000000110010000001111
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000010000000110010000010100
+00011111111000100010010000000000
+00100000010000000110010000010001
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000011000000000000000000000
+00011111111000100010010000000000
+00100000010000000110010000001111
+00100000000000000000000001100100
+00011010010000100111111000000000
+00100000010000000110010000010011
+00100000010000000110010000010001
+00100000000000000000000001100100
+00100000011000000000000000000000
+01101000000010001100001000010100
+00100000001000000110100000001110
+01101000000010001100001000010100
+00100000001000000110100000101001
+01101000000010001100001000010100
+00100000001000000110100000100101
+00100000001000000110010011101100
+00100000001000000110010011110011
+00100100001101000110010000011001
+01101000000100001000000010000101
+00011111111000011111111000000010
+01100000000100001000000010000101
+00011000010000100111110000000000
+00100000001000101110010000011100
+00011010011000100111101000000000
+00101111110011000000000000000000
+00100000001000000110010010111001
+00011000000000000000010000000100
+11011010001000000000000111111110
+01101000000100001000000010000101
+00011111111000010111111011111101
+01100000000100001000000010000101
+00100000010000000110010000011001
+11011010001000000101010110101010
+01101000000000010000000111111110
+11101000110010010000000000000000
+10011010001001100111110000000000
+00100000011000000000000000000000
+11011000010000000000000000000010
+11011010001000000000001000000100
+00100000010000000110010000011001
+01101000000000010000001000000100
+01100000000000010000000111110111
+00100000010101000110010000110000
+00100000011000000000000000000000
+11011000010000000000000000010000
+11011010001000000000001000000110
+01101000000100001000000010000101
+00011111111000010111111011111101
+01100000000100001000000010000101
+00100000010000000110010000011001
+11011000110000000000001000000110
+11011111001000000000000000010000
+00100000010000000111010001111000
+00100000010000000111010000101000
+00100000010000000111010010010001
+00100000001000000111010000100010
+01111000010101101111110000000000
+00100000010000000110010000011110
+00100100011000101000000000000000
+01111000001101101111110000000000
+01110000100000000010001110000000
+01110000100000000010001000000000
+01110000100000000010010000000000
+11011010001000001000000000100101
+00100000010000000110010000010101
+01110000100000000010001100000000
+11011000010000000000000000000110
+00100000010000000110010000011111
+00100100011000101000000000000000
+11101000110000010000000000000000
+10011000000000000010001000000000
+00100000010000000110010000011001
+00100000001000000110010001000110
+00100000010000000111111110011001
+01011000000000000001000000000000
+01100000000000010000000111110111
+11011010011000000110010111100101
+11011111001000000000000000000010
+00100000010000000110010000011110
+00100100011000101000000000000000
+01101000000000010000000111110111
+00011111111100001111111000000000
+10011000010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+11000010000000000110010001010010
+00100000001000000110010001000110
+00100000010000000111111110011001
+01111000010101000111110000000000
+00100000010000000110011001101010
+01011000000000000000000000000000
+11011010001000000000000111110011
+11011000010000000000000000000010
+00100000010000000110011010110011
+01101000000000010000000111110011
+11000011000000111110010001101110
+01110000100000000101000000100101
+01011000000000000000011111110000
+11011010001000000000001000000110
+11011000010000000000000000010000
+00100000010000000110011010110011
+01110000100000000000011000001000
+01111001001000000000000000101011
+11011000110000000000001000000110
+00100000010000000111010010000100
+01111000001101000111110000000000
+01110000010000011101101000000000
+00100000010000000110010010110000
+01101000000000010000000111110011
+00011111111100001111111000000000
+11011000010000000000011111111111
+10011000010000010111111000000000
+00100000001000101110010001111011
+00100000010000000110011001101111
+11011010011000000110011010111000
+00100000010101000110010000110000
+00100000010000000110010000111100
+01101000000000001000000111110010
+11000011000000000110010001101111
+00100000010000000110011001101101
+01110000010000011101101000000000
+00100000010000000110010010110000
+00100000010000000110010111000010
+01101000000000001000000111110011
+11000010100000110110010010001110
+00100000010000000110010010101010
+00100100001101101110010010000110
+01101000000000001000000111110010
+11000011000000000110010001111101
+00100000001000000110010010011011
+00100000010000000110010110111111
+01101000000000001000000111110011
+11000010100000110110010010001110
+00100000010000000110010010101010
+00100100001101101110010010001110
+01101000000000001000000111110010
+11000011000000000110010001111101
+00100000001000000110010010011011
+01110000010000011101101000000000
+00100000010000000110010010110000
+01101000000000001000000111110011
+11000010100000101110010010011011
+01011000000000000000000000000000
+01100000000000011000000111110110
+00100000010000000110010100000010
+11011010011000000110010101111000
+00100000010000000110010000101001
+00100000010000000110010000111100
+00100100001101101110010010011011
+01101000000000001000000111110010
+11000011000000000110010010001111
+11000101000101011110010010011101
+00100000010000000110010010100011
+01101000000000001000000111110011
+11000011000000100110010010100011
+01110000100000000101000000100001
+00100000010000000100110000001110
+00100000010000000100110000101110
+00100000001000000110010010100001
+01011000000000000000000000000000
+01100000000001000000001000000110
+01100000000001000000001000001110
+00011000000000000111000000000100
+00100000010000000111010010010010
+01110000100000000101000000100001
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000000010000000111110111
+11011010011000000110010111100101
+00100000010000000110010110100011
+00100000010000000110010000101001
+00100000001000000110010000111100
+01101000000000001100000111011010
+00011111111000001111111000000001
+00011111111001100111110000000011
+00100100001000010110010010110110
+01100000000000001100000111011010
+00100000011000000000000000000000
+00100000010000000110010010100011
+00100000010000000111111110100001
+00100000011000000000000000000000
+01101000000000001000000111110010
+00011111111000111111111000000000
+01111001001000001111111000000000
+00101010001011000000000000001111
+00100000011000001000000000000000
+01100000000000001000000111110010
+00100000011000000000000000000000
+01101000000100001000000010000101
+11000100000000001000000000000000
+00100000001000000110010011000110
+01101000000100001000000100101100
+10101111111011111111111111111111
+00100000011000001000000000000000
+01101000000100001000000100001000
+11000011000000001110010011000011
+00100000010000000111010000100010
+00100000001000000110010011000011
+01101000000000010100000110011001
+00100000011110100000000000000000
+01110000100000000010001110000000
+01110000100000000010001000000000
+01110000100000000010010000000000
+01101000000010010100000110011011
+00011000010010111111001000000000
+10011000000000000000110000000000
+11101000110000001000000000000000
+01100000000100001000000000100101
+11000010000000000110010011010010
+01110000100000000010001100000000
+00100000011000000000000000000000
+01000111010001101100000000110001
+00100000010000000110010011011101
+00100000001000000110001111110010
+00100000010000000110010011011101
+00100000010000000110001111101110
+00100000001000000110001111110110
+01101000000000001100001000010010
+01100000000100001000000010000110
+01101000000000001100001000010011
+01100000000100001000000010000111
+01011000000000000000000111110101
+01100000000100010000000010001010
+01011000000000000000000111111010
+01100000000100010000000010001100
+00100000001000000110001111101110
+01101000000100001000000010000110
+01111001001000000111111000000111
+01100000000100001000000010000110
+01111001001111111111111000000111
+01100000000100001000000010000110
+00100000011000000000000000000000
+01111001001000000111111000000111
+01100000000000010000000111110101
+01000111010001110100000000110001
+01110000100000001000100000000010
+01110000100000001000111000000000
+01110000100000000000011000000010
+00100000001000000110010011111100
+00011000000000000000010000000001
+01100000000000001000000111110101
+01000111010001111100000000110001
+01110000100000001000100000000001
+01100000000110010000000010001110
+01110000100000000000011000000010
+00100000010000000110010011111100
+01101000000000001000000111111010
+00100000011000000000000000000000
+01101000000000010100000011010110
+00011111111000001111111000000001
+01100000000000010100000011010110
+01101000000100001000000100101100
+11000011000000011110010011111100
+00100000011000000000000000000000
+01110000100000001000011001000000
+01110000100000001000011100000000
+01101000000100001000000010000001
+01111001001111111111111000000000
+01111001001000000111111000000001
+01100000000100001000000010000001
+01011000000000000000000000000000
+01100000000000100000000111110101
+00100000011000000000000000000000
+01011000000000000000000000000000
+01100000000100010000000010001110
+01011000000000000000000000000001
+01100000000100010000000010001000
+01011000000000000000000111110101
+01100000000100010000000010001010
+01110000000000011111010100000110
+01110000100000000000011000000010
+00100000001000000110010011111100
+01111000010101000111110000000000
+00011111111000100010010000000000
+01101000000000001100001000111001
+11000001100000000000000000000000
+01111000001101000111110000000000
+00011010010000100111111000000000
+00100000001000000110010100100010
+01101000000000001100001000111001
+11000000000000001110010100100010
+11000000000000010110010100101000
+11000000000000011110010100110000
+11000000000000100110010100110111
+11000000000000101110010100111101
+00100000011000000000000000000000
+01100000000000011100001000110010
+00011010001000100111111000000000
+01100000000000010100001000110101
+01100000000010010100001000110111
+01110000010000100011100100000010
+00100000001000000110010100000010
+00100000010000000110010100000010
+01110000010000100011100100000011
+00100000010000000110010100001011
+11011010001000000000000111110101
+01101000000000011100001000110010
+01110000100000001000100000000100
+11011000010000000000000000100000
+00100000001000000110010101010110
+00100000010000000110010100000010
+00100000010000000110010100001011
+01011000000000000000000000000101
+00100000010000000110010011110011
+11000011100000000000000000000000
+01110000010000100011100100000100
+00100000011000000000000000000000
+00100000010000000110010100000010
+01110000010000100011100100000101
+00100000010000000110010100001011
+00100000010000000110010101001010
+00100000010000000110010101010010
+00100000001000000110010101000101
+00100000010000000110010100000010
+00100000010000000110010100001011
+01011000000000000000000000000101
+00100000010000000110010011110011
+11000011100000000000000000000000
+01110000010000100011100100000000
+01101000000000010100001000000001
+00100000001000000111111110011100
+01101000000000100000101010100010
+01101000000010010100001000110101
+00011000010000001000010111111100
+11100000010000100000000000000000
+00100000011000000000000000000000
+01101000000010010100001000110101
+00011000010000100010001000000000
+00011000010000001000010111111100
+11101000010000100000000000000000
+01100000000000100000101010100010
+01101000000010010100001000110111
+01101000000000011100001000110010
+00100000011000000000000000000000
+00011000010000001000010000000100
+01100000000110010000000010001000
+11011000010000000000000000000010
+00011010001000001010001111111100
+11100010001010001000000000000000
+00011111111100010000010000000000
+11100000101010001000000000000000
+00011111111011001000010000000000
+11100000101010001000000000000000
+11100000101000001000000000000000
+00011010001000100111111000000000
+01100000000100010000000010001010
+01011000000000000000000000000000
+01100000000100010000000010001110
+01110000100000000000011000000010
+00100000001000000110010011111100
+01100000000110010000000010001110
+00011111111100010000010000000000
+01100000000010001000000111110110
+00011111111011001000010000000000
+01100000000010001000000111110111
+01100000000000001000000111111000
+01011000000000000000000000000100
+01100000000100010000000010001000
+01110000000000011111010100000011
+01011000000000000000000111110101
+01100000000100010000000010001010
+00011010001000100111111000000000
+01100000000100010000000010001100
+01101000000100001000000010000110
+00101010001011000000000000001111
+01111001001000001111111000000110
+01100000000100001000000010000110
+01110000100000000000011000000010
+01101000000100001000000100101100
+11000010100000111110010101110100
+11011000111000000000000000000011
+00100000001000000110010011111100
+01100000000110010000000010001110
+01011000000000000000000000000100
+01100000000100010000000010001000
+01110000000000011111010100000011
+01011000000000000000000111110101
+01100000000100010000000010001010
+00011010001000100111111000000000
+01100000000100010000000010001100
+01101000000100001000000010000110
+00101010001011000000000000001111
+01111001001000001111111000000110
+01100000000100001000000010000110
+01110000100000000000011000000010
+01101000000100001000000100101100
+11000010100000111110010110000101
+11011000111000000000000000000011
+00100000010000000110010011000000
+00100000010000000110010011111100
+00101111111011111111111000000010
+00100000010000000110010010111001
+01101000000000001000000111110110
+00011111111100000010010000000000
+01101000000000001000000111110111
+00011111111011010111111000000000
+10011010010000011010010000000000
+01101000000000001000000111111000
+10011010010000011111111000000000
+10011000010000001111111000000000
+01100000000000001000000111111000
+00011111111011001111111000000000
+01100000000000001000000111110111
+00011111111011001111111000000000
+01100000000000001000000111110110
+00100000011000000000000000000000
+01110000100000000001000000000001
+00100000011000000000000000000000
+01110000100000001001000100001100
+01110000100000001001001000001101
+01110000100000001001001100001101
+01110000100000001001010000001101
+01110000100000001001010100001101
+01110000100000001001011000001100
+00100000001000000110010110101001
+01110000100000001001000100000101
+01110000100000001001001000000111
+01110000100000001001001100000111
+01110000100000001001010000000111
+01110000100000001001010100000111
+01110000100000001001011000000101
+01101000000100001000000001111011
+00011111111000011111111011000000
+01100000000100001000000001111011
+01101000000100001000000010000001
+00011111111000011111111000010000
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000100101100
+11000011000000101110010110110000
+00100000011000000000000000000000
+01100000000100010000000010011000
+00011010001000100111111000000000
+01100000000100010000000010011010
+00011010010000100111111000000000
+01100000000100010000000010011100
+00011000010000100111111000000000
+01100000000100010000000010011110
+11011000010000000000000000000001
+01111101001110100000010000000001
+01100000000100001000000010010000
+01110000100000000000011000000100
+00100000001000000110010110110000
+01111001001000000000000000101000
+01110000010000100001000100001000
+00100000011000000000000000000000
+01111001001111111000000000101000
+01110000010000100001000100100000
+00100000011000000000000000000000
+01101000000000001100001000000011
+10011010010000001111111000000000
+01100000000000001000000111110111
+00100000001000000110010111001100
+01101000000000010000000111110111
+00011111111100001111111000000000
+01100000000000001000000111110111
+01011000000000000000000000000011
+01100000000100010000000010011000
+01110000000000011111011010100000
+01110000000000011111100010100001
+00100000001000000110010111101011
+01100000000010010000101010100010
+00100000010000000110010111010110
+01101000000010010000101010100010
+00100000010000000110011000000110
+00100000001000000110010111011101
+01101000000000001100001000111010
+11000001011111111000000000000000
+11000011000000110110010111011011
+01011000000000100100100111110000
+00100000010000000010101010001111
+01101000000010001100001000111010
+00100000001000000110100000101001
+01101000000010001100001000111010
+00100000001000000110100000100101
+01000111010010000100000000110010
+11000101000101000110010111000101
+01101000000000010100001000000011
+10011010010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+01000111010010001100000000110010
+11000101000101000110010111001001
+01011000000000000000000000000100
+01100000000100010000000010011000
+01110000000000011111011010100000
+01110000000000011111100110100001
+01011000000000000000000111110110
+01100000000100010000000010011010
+01100000000110010000000010011110
+00011010001000100111111000000000
+01100000000100010000000010011100
+01011000000000000000000000000010
+00101010001011000000000000001111
+01111001001000001111111000000000
+01100000000100001000000010010000
+01110000100000000000011000000100
+11011000111000000000000000000101
+00100000010000000110010011000000
+00100000010000000110010110110000
+00101111111011111111111000000100
+00100000010000000110010010111001
+11000101000101000110011000000001
+01101000000000010000000111110111
+00011111111100001111111000000000
+10011000010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+00100000011000000000000000000000
+01101000000000001000000111110111
+10011000010000001111111000000000
+00011111111100001111111000000000
+01100000000000010000000111110111
+00100000011000000000000000000000
+01101000000000010100001000000011
+10011010010000001111111000000000
+01100000000000010000101010011010
+01000111010010010100000000110010
+01100000000010010000101010100010
+00011010001000100111111000000000
+01100000000000010000101010111001
+00100000010000000110011000011101
+01101000000010010000101010110010
+01101000000000010000101010111001
+00011111111000100010001000000000
+01101000000000010000101010011010
+00100000010000000110011000111101
+01101000000000010000101010110010
+01101000000010010000101010111001
+10011000010000001000010000000000
+01100000000010010000101010111001
+01101000000010010000101010011010
+10011000010000001000010000000000
+01100000000010010000101010011010
+01101000000000010000101010100010
+00100100001110100110011000001101
+00100000011000000000000000000000
+01000111010010011100000000110010
+01101000000000001100001000010001
+00011111111000001111111111111111
+01101000000010010000101010011010
+10011000010000011111111000000000
+00011111111000001111111000000001
+01100000000000011000101010110110
+01101000000000010000101010100010
+10011000010000001111111000000000
+01101000000010011000101010110110
+10011000010001100111111000000000
+00100100001000010110011000101111
+01100000000000010000101010100010
+01101000000000011000101010110110
+01101000000010010000101010011010
+10011000010001100111111000000000
+01100000000000010000101010110010
+00100000011000000000000000000000
+01101000000000010000101010100010
+01100000000000010000101010110010
+01011000000000000000000000000000
+01100000000000010000101010100010
+00100000011000000000000000000000
+00011000010000001000010000000010
+01100000000110010000000010011000
+00011010001000001010001111111110
+11101010001010011000000000000000
+00011000010000100010010000000000
+11011000010000000000000010100000
+11100010001010001000000000000000
+11100000101000001000000000000000
+00100000001000000110011001001010
+00011111111000100010010000000000
+01000111010010100100000000110010
+11000101000101000110011000110100
+00011010010000100111111000000000
+00011000010000001000010000000011
+01100000000110010000000010011000
+00011010001000001010001111111101
+11101010001010011000000000000000
+00011000010000100010010000000000
+11011000010000000000000010100000
+11100010001010001000000000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011010001000100111111000000000
+01100000000100010000000010011010
+01011000000000000000000000000000
+01100000000100010000000010011110
+01110000100000001001000000000001
+01110000100000000000011000000100
+00100000010000000110010110110000
+00011010010000100111111000000000
+11100010001000011000000000000000
+01000111010010101100000000110010
+01110000000000011111100100000000
+01011000000000000000000000000001
+01100000000100010000000010011000
+01110000000000011111011010100000
+01011000000000000000000111110110
+01100000000100010000000010011010
+01011000000000000000000000000000
+01100000000100010000000010011110
+01100000000100010000000010011100
+01011000000000000000000000000011
+01100000000100001000000010010000
+01110000100000000000011000000100
+00100000010000000110010110110000
+01101000000100001000000100101100
+11000100000000110000000000000000
+00100000000000000000010111011100
+01101000000000001000000111111001
+00011111111000001111111000000001
+01100000000000001000000111111001
+00011111111001100111110000101000
+00100100011000010000000000000000
+00100000001000000110011001010101
+01110000100010010111001101110000
+00100000000000000000101110111000
+00100000011000000000000000000000
+01110000100010010111001100110000
+00100000011000000000000000000000
+00011111111010011111111000000000
+01100000000100010000000001000101
+01110000100000000100101100000000
+00100000011000000000000000000000
+00100000010000000110011001101111
+00100000010000000110011010100000
+11101010001010001000000000000000
+00011010001000001010001000000001
+00011000000000000000111000000000
+10101000010011000000000000000000
+00100000001000001110011010010111
+01101000000100001000000001000110
+01111001001000000111111000000110
+01111001001000000111111000000111
+01100000000100001000000001000110
+01110000100000000100011100000010
+01110000100000000100011110000010
+01111001001111111111111000000111
+01100000000100001000000001000110
+01110000100000000100011110001010
+00100000000000000000000000001011
+01110000100000000100011111001010
+00100000000000000000000000100001
+01110000100000000100011101001010
+00100000000000000000000000101100
+01110000100000000100011111001010
+00100000000000000000000000010110
+01110000100000000100011110001010
+00100000000000000000000000100001
+01110000100000000100011110000010
+00100000000000000000000000000001
+01110000100000000100011110010010
+00100000000000000000000000001010
+01110000100000000100011110110010
+01101000000100001000000000000111
+01110000100000000100011110010010
+00100000000000000000000000000001
+01110000100000000100011110000010
+10101111111011000000000000000000
+00100000001000001110011001111000
+01101000000100010000000001000101
+00011111111000001111111000000001
+01100000000100010000000001000101
+00011000111000001000111000000001
+00101000111000000001111000001000
+00100100001000001110011001111000
+11000010000000000110011001110101
+01110000100000000100011110000011
+00100000011000000000000000000000
+01110000100000000100011110000010
+00100000000000000000000000001100
+01110000100000000100011110000000
+01110000100000000100011110000010
+00100000000000000000000010010110
+00100000011000000000000000000000
+00100000010000000110011010100000
+01110000100000000100011110100010
+00011010001000100111111000000000
+01100000000100010000000001001000
+01111001001000000000010000001011
+00101111111011000000000000001111
+01111001001000001000010000001111
+01100000000110010000000001001010
+01110000100000000000011000000001
+00100000011000000000000000000000
+01101000000100001000000100101100
+11000011000000001110011010110000
+00100000011000000000000000000000
+00100000010000000110011001101111
+00100000010000000110011010100110
+00100000010000000110011010110000
+01110000100000000100011110000011
+00100000011000000000000000000000
+01101000000100010000000100100100
+01100000000100010000000001000101
+00100000010000000110011010100110
+11011000111000000000000000000001
+00100000010000000110010011000000
+00100000010000000110011010110000
+00101111111011111111111000000000
+00100000010000000110010010111001
+01110000100000000100011110000011
+00100000011000000000000000000000
+01101000000100010000000001011110
+10011000000000000001010000000000
+00100000011000000000000000000000
+00011001010000100111111000000000
+01100000000100010000000001011110
+00100000011000000000000000000000
+00011000011000100111111000000000
+01100000000100010000000001011000
+00100000011000000000000000000000
+01101000000100010000000001011000
+00011111111000100000011000000000
+00100000011000000000000000000000
+01101000000000010100001001000011
+01100000000100010000000001010010
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010110011011011110
+00100000011000101000000000000000
+00100000001000010110011011010011
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010110011011100001
+00100000011000101000000000000000
+00100000001000010110011011011000
+00011111001000001111001000000100
+00100000001000000110011011100100
+11101000110001000000000000000000
+11100001010001000000000000000000
+00100000011000000000000000000000
+11101000110000100000000000000000
+11100001010000100000000000000000
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+11100001010000001000000000000000
+11000010000000000110011011100110
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010110011011110111
+00100000011000101000000000000000
+00100000001000010110011011101100
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010110011011111010
+00100000011000101000000000000000
+00100000001000010110011011110001
+00011111001000001111001000000100
+00100000001000000110011011111101
+11101000011001000000000000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+11101000011000100000000000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000011000001000000000000000
+11100000101000001000000000000000
+11000010000000000110011011111111
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000011000001000000000000000
+11100001010000001000000000000000
+11000010000000000110011100000101
+00100000011000000000000000000000
+01110000000010101001100100111101
+00100000001000000111110110000110
+01000111010010110100000000110010
+01101000000000001100001000010111
+00100000011110100000000000000000
+00100000010000000110011110100011
+00100000010000101110011110101001
+00100000010000000110011100111110
+01101000000000001100001000010111
+00011111111000100010011000000000
+01101000000010010100001000010101
+01100000000010010000000110001100
+00011010011000100111111000000000
+00100000001110100110011100001001
+00011010011000001010011111111111
+00011000010000100010001000000000
+11101010001000001000000000000000
+01101000000010001000000110000100
+10011000010001100111110000000000
+00100000010000101110011100100101
+00100000001000010110011100100001
+11101010001000001000000000000000
+00011111111000001111111000000001
+11100010001000001000000000000000
+01101000000010010000000110001100
+00011000010000001000010000100010
+01100000000010010000000110001100
+00100000001000000110011100010101
+01011000000000000000000000000000
+11100010001000001000000000000000
+01101000000000001000000110000101
+11100000101000001000000000000000
+11000000100110011110011100110011
+11011010010000000100000110111110
+11101000110000110000000000000000
+11100000101001000000000000000000
+01011000000000000000000000000000
+11100000101001000000000000000000
+00011010010000100000110000000000
+00100000010000000111111010111111
+00011000000000000111110000000001
+00100000011000000000000000000000
+11000000000110110110011100110111
+11000000000110111110011100111011
+11011010010000000100010000011001
+00100000001000000110011100101011
+11011000110000000100010011010101
+00100000010000000111111010111111
+11011000110000000100010000011001
+00100000001000000110011100110000
+11011000110000000100010011001101
+00100000010000000111111010111111
+00100000001000000110011100111001
+00100000010000000111111111101001
+01101000000000001100001000010111
+00100000011110100000000000000000
+01101000000000010100011010000010
+11000010100000000110011101010100
+01000111010010111100000000110010
+01101000000000001100010010001110
+11000000000000000110011101001101
+01101000000000001000010001010100
+00101111111000011000000011000000
+00100000001000001110011101001101
+00101111111000011000000001000000
+00100000001000001110011101010010
+00101111111000011000000000000000
+00100000001000001110011101010000
+01110000000000011000010100110101
+01101000000000110000010001001111
+00100000001000000110011101010111
+01110000000000011000010100110111
+00100000001000000110011101010111
+01110000000000011000010100110110
+00100000001000000110011101010111
+01000111010011000100000000110011
+01110000000000011000010100110011
+01101000000000110000000001000000
+01100000000000110000000110000110
+01101000000000010100001000010101
+11101111111010001000000000000000
+00011111111000001111111000000001
+01100000000000010000000110001100
+01100000000010001000000110000100
+01101000000000001100001000010111
+00011111111000100010011000000000
+01101000000000010000000110001100
+00011111111000100010001000000000
+00100000010000000110011101101111
+00100000011101000000000000000000
+01101000000010010000000110001100
+00011000010000001000010000100010
+01100000000010010000000110001100
+00011000010000001000010111111111
+11101000010000001000000000000000
+01100000000000001000000110000100
+00011010011000001010011111111111
+00100100001000101110011101011111
+01101000000000001100001000010111
+00011111111000001111111111111111
+01100000000000001000000110000100
+00100000011000000000000000000000
+01101000000000001000000110000101
+11000000100110011110011101110110
+11011010010000000000000110000101
+11011111001000000000000000000111
+00100000010000000111111110001000
+00100000001000101111111111100111
+00100000011000000000000000000000
+11000000000110110110011101111001
+11000000000110111110011110010100
+00100000001000000110011101110001
+11101010001010001000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+11011000101000000000101011000010
+11011111001000000000000000010000
+00100000010000000111111011010100
+01101000000000011000010001010010
+01100000000000011000101011000010
+00100000010000000110011110001011
+01101000000000010000101011011111
+00011111111100001111111000000000
+00011111111011010000010000000000
+11101000110000001000000000000000
+10011000010000001111111000000000
+01101000000010011000010001001111
+10011000010001100111110000000000
+00100000001000101111111111100111
+00100000011000000000000000000000
+11011000110000000000101011000010
+00100000010000000111010010000110
+11101010001000001000000000000000
+00100000010000000111010010000111
+00011000000000000110110000111000
+00011000000000000110110000000000
+00100000010000000111010000011101
+11011000101000000000101011010010
+00100000001000000111010010010111
+11101010001010001000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011000110000100010001000000000
+00011000110000001010011000001000
+11011010010000000100010011001101
+11011111001000000000000000001000
+00100000010000000111111110001000
+00100000001000101111111111100111
+00011010011000100010001000000000
+11011010010000000100010011010101
+11011111001000000000000000001000
+00100000010000000111111110001000
+00100000001000101111111111100111
+00100000011000000000000000000000
+01101000000000010100001000010101
+11101111111010001000000000000000
+00011111111000001111111000100010
+11101111111000001000000000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01101000000000001100001000010111
+00011111111000100111001000000000
+01101000000010010100001000010101
+01011000000000000000000000000000
+11100000010000001000000000000000
+00011000010000001000010000100010
+00011111111000001111111000000001
+11000010000000000110011110101101
+00100000011000000000000000000000
+01000111010011001100000000110011
+00100000010000000110011100111110
+01101000000000001000000000110000
+01111001001101000111111000000110
+01100000000000001000000000110000
+00100100001101000110011110111100
+00011010001000001000110000001010
+11011000101000000100000110111110
+00100000010000000111111010111111
+00100000001000000110011111010111
+01110000010000011011110100000000
+00100000011000000000000000000000
+01101000000001001100010011001011
+00100000001110100110011111001010
+00100000010000000110011100111110
+00100100001101000110011111001010
+01101000000000010000000110001100
+00011111111000001000110000000001
+11011000101000000100010011010101
+00100000010000000111111010111111
+11011000101000000100010000011001
+00100000010000000111111010111111
+01110000010001000010100100000001
+00100000011000000000000000000000
+01110000010001000010100100000000
+00100000011000000000000000000000
+01101000000000110000010001001111
+01100000000000110000000110000110
+01110000000000011000010100110100
+00100000001000000110011111010011
+01101000000000110000000001000000
+01100000000000110000000110000110
+01110000000000011000010100110011
+01101000000000001100000010010010
+11000000000001010110011100001011
+11000010100000110100001011011010
+00100000011000000000000000000000
+01101000000001000100000110111110
+01101000000011000100000111000110
+10011000010000011111111000000000
+00100000011110100000000000000000
+01110000010000011011110100000001
+00100000011000000000000000000000
+01000111010011010100000000110011
+01111001001000000000010000000111
+00100000010000000110100000011101
+01111101001000001000010000000111
+01000111010011011100000000110011
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101000010011000000000000000111
+00011000010000010000111000011111
+01101000000000100000000010100001
+11111001001000001111111000000000
+01100000000000100000000010100001
+01101000000000100000000010100101
+11111101001000001111111000000000
+01100000000000100000000010100101
+00100000011000000000000000000000
+01000111010011100100000000110011
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101000010011000000000000000111
+00011000010000010000111000011111
+01101000000000100000000010100001
+11111001001111111111111000000000
+01100000000000100000000010100001
+01101000000000100000000010100101
+11111001001111111111111000000000
+01100000000000100000000010100101
+00100000011000000000000000000000
+00100000010000000110011111101101
+00100000001000000110011111111110
+00011000010001100111110011111111
+00100000011000101000000000000000
+00100100010101011110011111100001
+11011000101000001000000001111100
+00100000010000000110100000110000
+01111001010000000000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+11011000101000001000000001111100
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001111000
+00100000010000000110100000110000
+01111001001111111000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+00011000010001100111110011111111
+00100000011000101000000000000000
+01111001010000000000010000000111
+00100000010000000110100000101111
+01111001001000000000010000000111
+11011000101000001000000001110000
+00100000001000000110100000110000
+00011000010000010000111000000111
+00011000010010010111111000000000
+00011111111000010111111000000011
+10011000101000001000101000000000
+11101000101000001000000000000000
+00100000011000000000000000000000
+11011000101000001000000001110100
+00100000001000000110100000011110
+11011000101000001000000100011100
+00100000010000000110100000010101
+00101000010011111111111000000111
+00100000001000001110100000100011
+10101111111011000000000000000000
+00100000011000000000000000000000
+10101111111011111111111111111111
+00100000011000000000000000000000
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101111110011111111111000000111
+00100000001000000110100000101100
+00011000010001100111110011111111
+00100000011000101000000000000000
+00101111110011000000000000000111
+01011000000000000000000000000000
+01111101001000001111111000000111
+10011000010000101000010000000000
+11011000101000001000000001110100
+00100000010000000110100000010101
+00101000010011111111111000000111
+11111001001000001111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+11011010001111111111111111111111
+01101000000100001000000010000001
+00101111111000000000011000000010
+00100000010000001110100001111000
+00101111111000000000011000000001
+00100000010000001110100001111010
+00101111111000000000011000000011
+00100000010000001110100001111010
+00101111111011111111111000000010
+00100000010000001110100001110100
+00101111111011111111111000000011
+00100000010000001110100001110110
+00101111111011111111111000000100
+00100000010000001110100001111100
+00101111111011111111111000000110
+01111101001000001010001000000100
+00101111111011111111111000000111
+01111101001000001010001000000101
+01101000000100001000000010000010
+00101111111011111111111000000000
+01111101001000001010001000011011
+00101111111011111111111000000001
+01111101001000001010001000011100
+00101111111011111111111000000010
+01111101001000001010001000000011
+00101111111011111111111000000011
+01111101001000001010001000001000
+00101111111011111111111000000100
+01111101001000001010001000010100
+00101111111011111111111000000101
+01111101001000001010001000010101
+00101111111011111111111000000110
+01111101001000001010001000010110
+00101111111011111111111000000111
+01111101001000001010001000010111
+01101000000100001000000010000000
+00101111111011111111111000000000
+01111101001000001010001000000101
+00101111111011111111111000000001
+01111101001000001010001000000110
+00101111111011111111111000000010
+01111101001000001010001000000111
+00101111111011111111111000000011
+01111101001000001010001000010010
+00101111111011111111111000000100
+01111101001000001010001000010011
+00101111111011111111111000000101
+01111101001000001010001000010100
+00101111111011111111111000000110
+01111101001000001010001000010101
+00101111111011111111111000000111
+01111101001000001010001000010110
+01101000000100001000000001100010
+00101111111011111111111000000100
+00100000010000001110100001111110
+01000111010011101100000000110011
+01101000000100100000000001111000
+01101000000110100000000001111100
+10011000010000011111111000000000
+00011111111001000111111000000000
+10011010001000010111111000000000
+01100000000100100000000001110000
+00100000011000000000000000000000
+11011000111000000000000000000110
+00100000001000000110100010000100
+11011000111000000000000000001001
+00100000001000000110100010000010
+11011000111000000000000000010111
+00100000001000000110100010000010
+11011000111000000000000000011001
+00100000001000000110100010000100
+11011000111000000000000000011110
+00100000001000000110100010000100
+11011000111000000000000000000010
+00100000001000000110100010000100
+11011111001000000000000000000001
+00100000001000000110100010000101
+11011111001000000000000000000100
+00100000001000000110100010000101
+11011111001000000000000000000010
+11111001001111111010001000000000
+00011000111000001000111000000001
+11000010000000000110100010000101
+00100000011000000000000000000000
+00100000010000000110100010010101
+11011000010000000000000000000110
+00100000001000000110100000001110
+00100000010000000110100010001001
+11011000010000000000000000000110
+00100000001000000110100000100101
+00100000010000000110100010010101
+01101000000100001000000001111000
+01111001001000000111111000000111
+01100000000100001000000001111000
+11011000010000000000000000000111
+00100000001000000110011111111011
+01101000000100001000000010000001
+00011111111000010111111011111011
+01100000000100001000000010000001
+00100000011000000000000000000000
+01101000000100001000000010000001
+00101111111011111111111000000010
+00100000011000000000000000000000
+00100000010000000110011001101010
+01011000000000000000011111100000
+11011010001000000100000101010000
+11011000010000000000000000000010
+00100000010000000110011010110011
+00100000001000000110011001101101
+00100000010000000110011001101010
+01011000000000000000011111100010
+11011010001000000100001000011101
+11011000010000000000000000001110
+00100000010000000110011010110011
+00100000001000000110011001101101
+01000111010011110100000000110011
+00100000010000000110100010100010
+01101000000000001100001000101101
+11000000000000000110100010101111
+11000000000000001110100011000011
+11000000000000010110100011010111
+00100000011000000000000000000000
+01101000000010010100001000101001
+01011000000000001010101001010101
+10011000010001100111110000000000
+00100000001000101110100010111000
+01011000000000000100110111111010
+01100000000000010100001000100111
+01011000000000000100100010010100
+01100000000000010100001000100001
+00100000001000000110100011000000
+01101000000000010100001000100111
+00100100001110100110100010111100
+01011000000000000100110111111010
+01100000000000010100001000100111
+01101000000000010100001000100001
+00100100001110100110100011000000
+01011000000000000100100010010100
+01100000000000010100001000100001
+01011000000000000000000001100100
+01100000000000010100001000101011
+00100000011000000000000000000000
+01101000000010010100001000101001
+01011000000000001010101001010101
+10011000010001100111110000000000
+00100000001000101110100011001100
+01011000000000000101100100110010
+01100000000000010100001000100101
+01011000000000000100001100100011
+01100000000000010100001000011111
+00100000001000000110100011010100
+01101000000000010100001000100101
+00100100001110100110100011010000
+01011000000000000101100100110010
+01100000000000010100001000100101
+01101000000000010100001000011111
+00100100001110100110100011010100
+01011000000000000100001100100011
+01100000000000010100001000011111
+01011000000000000000000110010000
+01100000000000010100001000101011
+00100000011000000000000000000000
+01101000000010010100001000101001
+01011000000000001010101001010101
+10011000010001100111110000000000
+00100000001000101110100011100000
+01011000000000000110100101000110
+01100000000000010100001000100011
+01011000000000000101001101110111
+01100000000000010100001000011101
+00100000001000000110100011101000
+01101000000000010100001000100011
+00100100001110100110100011100100
+01011000000000000110100101000110
+01100000000000010100001000100011
+01101000000000010100001000011101
+00100100001110100110100011101000
+01011000000000000101001101110111
+01100000000000010100001000011101
+01011000000000000000000000110010
+01100000000000010100001000101011
+00100000011000000000000000000000
+01101000000000001100001000101101
+11000000000000000110100011110000
+11000000000000001110100011110010
+11000000000000010110100011110100
+00100000011000000000000000000000
+01110000100010010111000110111111
+00100000001000000110100011111000
+01110000100010010111000110101111
+00100000001000000110100011111000
+01110000100010010111000110001111
+01101000000000001100001000101110
+01100000000100001000100101110011
+00100000001000000110100011111000
+01000111010011111100000000110011
+01101000000100001000000001010011
+01111001001000000111111000000111
+01100000000100001000000001010011
+01101000000100001000100101110011
+00011111111000011111111000110000
+01100000000100001000100101110011
+01110000100010010000011001111100
+01110000100010010111001010101010
+00100000000000000001001110001000
+01101000000110010000000101010000
+01101000000100001000000001010011
+01111001001111111111111000000111
+01100000000100001000000001010011
+01100000000010010100001000101111
+00100000011000000000000000000000
+01000111010100000100000000110100
+01101000000000001100001000101101
+11000000000000000110100100001110
+11000000000000001110100100010010
+11000000000000010110100100010110
+00100000011000000000000000000000
+01101000000000010100001000100111
+01101000000010010100001000100001
+11011010011000000000000011001000
+00100000001000000110100100011010
+01101000000000010100001000100101
+01101000000010010100001000011111
+11011010011000000000000001100100
+00100000001000000110100100011010
+01101000000000010100001000100011
+01101000000010010100001000011101
+11011010011000000000000000110010
+00100000001000000110100100011010
+10011000010001100010001000000000
+01101000000000010100001000101111
+10011000010001100111111000000000
+00100100001000010110100100100111
+01101000000010010100001000101011
+10011000010011111010010000000000
+00011010011000100111111000000000
+10011010001011111111111000000000
+10011010010000001111111000000000
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00100000011000000000000000000000
+00011000010000100111111000000000
+01101000000010010100001000101111
+10011000010001100111111000000000
+01101000000010010100001000101011
+10011000010011111010010000000000
+00011010011000100111111000000000
+10011010001011111111111000000000
+10011010010001100111111000000000
+00100000001000000110100100100011
+11101010001001000000000000000000
+01100000000001000000101010011010
+01101000000000010000101010011010
+01101000000010010000101010011100
+10011000010001100010001000000000
+01101000000000010000101010100000
+10011000010001100010010000000000
+01101000000010010000101010011110
+10011000010001100111110000000000
+00100100010000010110100101000000
+00011010010011111111111001100100
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00100000010110100110100101000100
+00100000011000000000000000000000
+01101000000000001100001000110001
+01111001001000000111111000000000
+01100000000000001100001000110001
+00100000011000000000000000000000
+01101000000010001100001000110001
+01111001001000000000010000000001
+01100000000010001100001000110001
+00100000011000000000000000000000
+01101000000000010100001000111101
+11101111111000001000000000000000
+00100000011110100000000000000000
+00011111111000100111001000000000
+01101000000000010100001000111101
+00011111111000001111111000000011
+00011111111000100010001000000000
+11101010001010001000000000000000
+00100000010000000110011111111011
+00011010001000001010001000000001
+11000010000000000110100101001111
+00100000011000000000000000000000
+01101000000000010100001000111101
+00011111111000001111111000000011
+00011111111000100010001000000000
+00011000000000000010010000000000
+01110000000010110001001000000000
+11101010001010001000000000000000
+00100000010000000110100000011101
+01000111010100001100000000110100
+01101000000000010000101100010010
+00011010010000100000111000000000
+11111001001000001111111000000000
+01100000000000010000101100010010
+00011010001000001010001000000001
+00011010010000001010010000000001
+01101000000000010100001000111101
+11101111111000001000000000000000
+10011010010000101111110000000000
+00100100001000101110100101011001
+01101000000000010000101100010010
+01101000000010010000101100010100
+10011000010000101111110000000000
+00100000011000101000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01101000000000010100001000111101
+11101111111000001000000000000000
+00100000011110100000000000000000
+00011111111000100111001000000000
+01101000000000010100001000111101
+00011111111000001111111000000011
+00011111111000100010001000000000
+11101010001010001000000000000000
+00100000010000000110011111011101
+00011010001000001010001000000001
+11000010000000000110100101110011
+00100000011000000000000000000000
+11011000111000000000000000001001
+00100000010000000111111100010110
+00100100011110100000000000000000
+01011000000000000000000000100000
+11011000111000000000000000001001
+00100000010000000111111100001000
+01111000010101000111110000000000
+00100000010000000110100101101100
+01000111010100010100000000110100
+01101000000000010100001000111101
+11101111111000001000000000000000
+00100000011110100000000000000000
+00100000010000000110100101010100
+00100100001101000111110100000010
+00100000010000000111110100000000
+01111000010101000111110000000000
+01101000000000010000101100010010
+01100000000000010000101100011001
+01110000000010110001101100000000
+00011000000000000000111000000000
+01101000000000010000101100010100
+00011111111000110000010000000000
+01100000000010010000101100010100
+00011111111000010111111000000001
+01101000000010010000101100011001
+00011000010000010010001000000001
+00011000010000110000010000000000
+01100000000010010000101100011001
+10011010001000101111110000000000
+00100100010000101110100110100001
+01101000000000010100001000111101
+11101111111000001000000000000000
+01101000000010001000101100011011
+00011000010000001000010000000001
+01100000000010001000101100011011
+00011000010000100000111000000000
+10011000111000101111110000000000
+00100100001000101110100110001100
+01101000000000010000101100010010
+01100000000000010000101100010100
+00100000011000000000000000000000
+01000111010100011100000000110100
+01101000000000010100001000111101
+00011111111000001111111000000001
+11101111111000010000000000000000
+00100000001000000111111110011100
+01101000000100001000000001000010
+10011010001000011111111000000000
+01100000000100001000000001000010
+01101000000100010000000001010000
+01111001001111111111111000001101
+01100000000100010000000001010000
+00100000000000000000000001100100
+00100000011000000000000000000000
+01101000000010011000101010011100
+01011000101101110001101100000000
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111000010000000000
+01101000000000001000101010011111
+10011000010011111111111000000000
+00011111111001101111110001100100
+00100000010000000111111110000110
+00011000000001111010001000000000
+00011000010000100111111000000000
+10011010001001100010010000000000
+01101000000000001000101010011011
+00100000010000000110100110111110
+01101000000000001000101010011010
+00100000001000000110100111010101
+11000000000000000110100111000100
+11000000000000001110100111000110
+11000000000000010110100111001000
+11000000000000011110100111001010
+11000000000000100110100111001100
+11000000000000101110100111001110
+11011000101000001000000010100000
+00100000001000000110100111010000
+11011000101000001000000010100100
+00100000001000000110100111010000
+11011000101000001000000010101000
+00100000001000000110100111010000
+11011000101000001000000001100100
+00100000001000000110100111010000
+11011000101000001000000001101000
+00100000001000000110100111010000
+11011000101000001000000001101100
+00100000001000000110100111010000
+00011010001000100111111000000000
+11100000101000010000000000000000
+00011010010000100111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000110100111011000
+01111000010101000111110000000000
+11000000000000100110100111100011
+11000000000000101110100111100101
+11000000000011011110100111100111
+11000000000011100110100111101001
+11000000000000011110100111101011
+11000000000001000110100111101101
+11000000000010100110100111101111
+11000000000010101110100111110001
+11000000000010110110100111110011
+11000000000010111110100111110101
+00100000011000000000000000000000
+11011000111000000000000000000110
+00100000001000000110100111111111
+11011000111000000000000000000111
+00100000001000000110100111111111
+11011000111000000000000000001000
+00100000001000000110100111111111
+11011000111000000000000000001001
+00100000001000000110100111111111
+11011000111000000000000000001010
+00100000001000000110100111111111
+11011000111000000000000000001011
+00100000001000000110100111111111
+11011000111000000000000000001100
+00100000001000000110101000000001
+11011000111000000000000000001101
+00100000001000000110101000000001
+11011000111000000000000000001110
+00100000001000000110101000000001
+11011000111000000000000000001111
+00100000001000000110101000000001
+01101000000100010000000010000001
+11111001001101000111111000000000
+01100000000100010000000010000001
+00011010001000100000111000000000
+01101000000100001000000010000101
+11111001001101000111111000000000
+01100000000100001000000010000101
+00100000011000000000000000000000
+00011000111000001010001111111100
+00100000001000000110100111110111
+00011000111000001010001111110110
+00100000001000000110100111110111
+00100000011101011000000000000000
+01110000010001010110011100000000
+01110000000001001110110100000011
+01110000000001001110111000000011
+01110000000001001111001000010001
+01110000000001001111001100010011
+01011000000000000000000000000000
+01100000000000011000010011101111
+01100000000000001100001001010100
+01110000010001101000000100000000
+01000111010100100100000000110100
+01011000000000000000000000000000
+01100000000000001100001001010100
+01100000000000001100010101100100
+01100000000000001100010101011101
+01101000000000001100010101101011
+11000000000000001110101000010110
+01110000010001010110100101010000
+00100000011000000000000000000000
+01110000010001010110100100000000
+00100000011000000000000000000000
+00011000010000011000010000000010
+00100000011000000000000000000000
+00011000010000100111111000000000
+00011111111011011111111000000000
+01100000000000001100010101100010
+00011000000000000111111000111111
+00011111111011011111111000000000
+01100000000000001100010101100001
+00011000000000000111111000000001
+00011111111011011111111000000000
+01100000000000001100010101100000
+00100000010000000110101001010000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100000000000001100010101100010
+00011000000000000111111001110011
+00011111111011011111111000000000
+01100000000000001100010101100001
+00011000000000000111111000000001
+00011111111011011111111000000000
+01100000000000001100010101100000
+00100000001000000110101001010000
+01101000000000001100010101100011
+00100000001110100110101000110011
+01011000000000000000000001110000
+00100000011000000000000000000000
+01011000000000000000000010101010
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100000000000001100010101100010
+00011000000000000111111011101111
+00100000010000000110101001000100
+01101000000010010000010011110111
+00011000010000100000101000000000
+11100000101000001000000000000000
+00011000101000100000010000000000
+01100000000010010000010011110111
+00011000000000000111111011111111
+00100000010000000110101001000100
+01101000000010010000010011110111
+00011000010000100000101000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+00011111111011011111111000000000
+01100000000000001100010101100001
+01101000000000010100010101100001
+00011111111011010111111000000000
+01100000000000011000010011110100
+11011010001000000000000100000111
+11011010010000000000000000001111
+00100000010000000110101001011101
+00011111111000101111111011010111
+00011111111001000111111000000000
+00011111111011011111111000000000
+00100000011000000000000000000000
+01101000000000011100010101100000
+01100000000000011000010011110100
+11011010001000000000000100000111
+11011010010000000000000000001111
+00100000010000000110101001011101
+00011111111011010111111000000000
+11011010010000000000000000000111
+00100000010000000110101001011101
+00011111111000101111111000101011
+00011111111001000111111000000000
+00011111111011011111111000000000
+00011111111000100000010000000000
+00100000011000000000000000000000
+11011010011000000000000000000000
+00011010010000100111001000000000
+00100000010000000111111001110001
+00011111111000100000010000000000
+00011000010000100111111000000000
+00011010011000111010011000000000
+11000011000001000110101001100110
+10011010001000101000010000000000
+00011010011000001010011000000001
+00011000010000111000010000000000
+01101000000000011000010011110100
+00011010010000001010010111111111
+00101010010000011111111011111111
+00100000001000001110101001110000
+00011010010000100111001000000000
+00100000010000000111111001110001
+00101111111011111111111000000000
+01111001001000001000010000000000
+00100000001000000110101001100001
+00011000010000110111111000000000
+00100000011000000000000000000000
+01101000000010001100010101011101
+00011000010010111000010000000000
+01111001001000000000010000000000
+01101000000000001100010101100011
+00100100010110100110101000011000
+01100000000010001000010100001101
+00100000011000000000000000000000
+00011000010000111000010000000000
+01101000000000001100010101100011
+01111001001110100000010000000000
+00100000011000000000000000000000
+01101000000010001000010011111100
+01110000000001001111111011010111
+00100000010000000110101110110110
+01101000000000001100001001010001
+01111001001000000111111000000110
+01111001001000000111111000000111
+01100000000000001100001001010001
+01110000010001010110001100000000
+00100000001000000110101110010111
+01101000000000001100001001010001
+01111001001000000111111000000111
+01100000000000001100001001010001
+00100000001000000110101110010111
+01000111010100101100000000110100
+01101000000000001100011010000001
+11000000000000000110101010001110
+00100000001000000110101101001100
+01101000000000010000001001100100
+00011111111000100000110000000000
+00100000010000000110101010111000
+01101000000000001000010011111100
+11000000000000000110101010010100
+00100000001000000110101100011000
+01000111010100110100000000110100
+01101000000000001000010011111101
+11000000000111111110101001111101
+11000000001110011110101010000110
+11000000011101111110101010011011
+11000000001010011110101101000100
+00100000011000000000000000000000
+01101000000000010000010100000001
+00011111111000100000110000000000
+00100000010000000110101011000011
+01101000000000001000010100000011
+11000000001000001110101010100101
+11000000001000000110101010101101
+11000000001110001110101011100110
+11000000001110000110101011110010
+11000000001001001110101011111101
+00100000001000000110101110010111
+00100000010000000110101010101111
+00100000001000000110101010100111
+01101000000000001100001001010100
+01111001001000000111111000000000
+01111001001000000111111000000001
+01100000000000001100001001010100
+00100000010000000110101111100000
+00100000001000000110101110010111
+00100000010000000110101010101111
+00100000001000000110101110010111
+00100000010000000110101011001011
+00100000001000000110101011010111
+00100000010000000110101011001011
+11101000110000001000000000000000
+00011111111010010111111000000000
+01100000000000001100010101101010
+11101000110000001000000000000000
+01100000000000001000010100001000
+00100000011000000000000000000000
+11101000110000001000000000000000
+01100000000000001000010011111011
+00011111111010010111111000000000
+01100000000000001000010011111100
+11101000110000001000000000000000
+01100000000000001000010011111101
+00100000010000000110101011001110
+01100000000010010000010011111111
+00011000110000100111111000000000
+01100000000000010000010100000001
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000110111111000000000
+01100000000000001000010100000011
+00100000010000000110101011001110
+01100000000010010000010100000100
+00011000110000100111111000000000
+01100000000000010000010100000110
+00100000011000000000000000000000
+01101000000000010000010100000110
+00011111111000100000110000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000100000010000000000
+00011000010000110000010000000000
+11000011100000000000000000000000
+11101000110000001000000000000000
+00011111111010011111111000000000
+00011111111100100111111000000000
+10011000010000001000010000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+01100000000000001100010101011101
+11101000110000001000000000000000
+01100000000000001000010100001001
+11101000110000001000000000000000
+01100000000000001000010100001010
+11101000110000001000000000000000
+01100000000000001000010100001011
+11101000110000010000000000000000
+01100000000000010100010101011110
+11101000110000001000000000000000
+01100000000000001000010100001100
+11101000110000001000000000000000
+01100000000000001100010101101000
+00100000011000000000000000000000
+00100000010000000110101010110001
+00100000001000000110101011101000
+01101000000000001100001001010100
+01111001001000000111111000000101
+01111001001000000111111000000110
+01100000000000001100001001010100
+01101000000010001100010101011101
+00011000010010111000010000000000
+00011000010000011000010000000011
+00100000010000000110110000010001
+01110000010001010110011100000011
+00100000001000000110101110010111
+01110000000010101001100100001000
+00100000010000000111110110000110
+00100000010000000110101010110001
+01101000000000001100010101101010
+00011111111001100111110000000001
+00100000001000101110101011111001
+00100000001000000010101010001100
+01101000000000001100001001010100
+01111001001000000111111000000111
+01100000000000001100001001010100
+00100000001000000110101110010111
+00100000010000000110101011001011
+11101000110000001000000000000000
+01100000000000001000101011000010
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000001110
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010100111100000000110100
+01011000000000000001010111101111
+11100000101000010000000000000000
+01011000000000000001000110010001
+11100000101000010000000000000000
+01101000000000001000101011000010
+11100000101000001000000000000000
+01011000000000000000000000000111
+11100000101000101000000000000000
+01011000000000000000000000000001
+11100000101000010000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000001000000110101100011001
+01000111010101000100000000110101
+01101000000000001000010011111101
+11000000001110011110101100100001
+11000000000111111110101100100101
+11000000011101111110101100111111
+11000000011111111110101100110111
+11000000001010011110101101000110
+00100000011000000000000000000000
+01101000000000001100001001010100
+01111001001000000111111000000011
+01100000000000001100001001010100
+00100000001000000110101110010111
+01101000000000001100001001010100
+01111001001000000111111000000011
+01111001001000000111111000000010
+01100000000000001100001001010100
+01101000000000001000010011111011
+00100000010000000110101000100110
+01100000000000001000010011111110
+00100000010000000110101110110110
+01101000000000001000010011111011
+00011111111010110111111000000000
+01100000000000001100010101011101
+00011111111010111111111000000000
+01111001001111111111111000000001
+01111001001000000111111000000000
+11011000010000000100010101100101
+01100000000010010000010011110111
+00100000010000000110101000110101
+00100000001000000110101110010111
+01101000000000010000010100000001
+00011111111000100000110000000000
+00011111111000001111111000000001
+01100000000000010000010100000001
+11101000110000001000000000000000
+01101000000010001100010101101000
+10011000010000001111111000000000
+01100000000000001100010101101000
+00100000010000000110110001000010
+00100000010000000110101001110010
+00100000010000000110110000101000
+00100000010000000110110001001011
+00100000001000000110101110010111
+01110000000010101001100100001001
+00100000010000000111110110000110
+00100000010000000110101000001101
+01101000000000001000010011111011
+00100000010000000110101000100110
+01100000000000001000010011111110
+00100000010000000110101110110110
+00100000001000000110101110010111
+01101000000000010000001001100100
+00011111111000100000110000000000
+00100000010000000110101010111000
+01101000000000001000010011111100
+11000000000000000110101101010010
+00100000001000000110101110000110
+01000111010101001100000000110101
+01101000000000001000010011111101
+11000000000111111110101001111101
+11000000001110011110101010000110
+11000000011101111110101101011000
+00100000001000000110101110010111
+01101000000000010000010100000001
+00011111111000100000110000000000
+00100000010000000110101011000011
+01101000000000001000010100000011
+11000000001000001110101101100001
+11000000001000000110101101100001
+11000000001110001110101101101100
+11000000001110000110101101111100
+00100000001000000110101110010111
+00100000010000000110101010101111
+01101000000000001100010101011101
+00011111111000110111111000000000
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101101101000
+00100000001000000010101010001100
+01101000000000001100001001010100
+01111001001000000111111000000001
+01100000000000001100001001010100
+00100000001000000110101110010111
+00100000010000000110101010110001
+01101000000000001100010101101010
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101101110011
+00100000001000000010101010001100
+00100000001000000110101110010111
+01101000000000001100001001010100
+01111001001000000111111000000101
+01111001001000000111111000000110
+01100000000000001100001001010100
+01101000000010001100010101011101
+00011000010010111000010000000000
+00011000010000011000010000000011
+00100000010000000110110000010001
+00100000001000000110101110010111
+00100000010000000110101010110001
+01101000000000001100010101101010
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101110000010
+00100000001000000010101010001100
+01101000000000001100001001010100
+01111001001000000111111000000111
+01100000000000001100001001010100
+00100000001000000110101110010111
+01101000000000001000010011111100
+01101000000010001100010101100100
+10011000010001100111110000000000
+00100000001000101110101110001100
+00100000001000000010101010001100
+00100000001000000110101110010111
+01101000000000001000010011111101
+11000000001110011110101110010001
+11000000011101111110101100111111
+11000000011111111110101100110111
+11000000001010011110101110010110
+01101000000000001100001001010100
+01111001001000000111111000000011
+01100000000000001100001001010100
+00100000001000000110101110010111
+00100000001000000110101110010101
+00100000001000000110101101000110
+00100000011000000000000000000000
+01101000000000001100010101100111
+00100000011110100000000000000000
+11000000000000011110101110011100
+00100000001000000010101010001100
+01110000010001010110011100000000
+00100000010000000101001011010010
+11011000010000000000000000000001
+01101000000010001100010101011101
+00011000010010111000010000000000
+00011000010000011000010000000011
+11011010001000000000000010101010
+00100000010000000110101111111100
+00100000010000000101001011100000
+00011000101000100000110000000000
+11101000110000010000000000000000
+00100000001110100010101010001100
+00100000011000000000000000000000
+00100000010000000101001011100000
+01011000000000000000000000000100
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001000010011111011
+11100000101000001000000000000000
+01000111010101010100000000110101
+01011000000000000000000100111111
+11100000101000010000000000000000
+01101000000000001000010011111110
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000000100
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001000010011111011
+11100000101000001000000000000000
+01000111010101011100000000110101
+01011000000000000000000101110011
+11100000101000010000000000000000
+01101000000000001000010011111110
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011100000
+01011000000000000000000000001110
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101100100000000110101
+01011000000000000001010111101111
+11100000101000010000000000000000
+01011000000000000001000110000011
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000011110000
+11100000101000011000000000000000
+01011000000000000000000001111111
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+01011000000000000000000000000001
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+01110000010001010110100100010000
+00100000011000000000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000001110
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101101100000000110101
+01011000000000000001010111101111
+11100000101000010000000000000000
+01011000000000000001000110000001
+11100000101000010000000000000000
+01101000000000001100010101011101
+11100000101000001000000000000000
+01011000000000000000000011100000
+11100000101000011000000000000000
+01101000000000010100010101101100
+11100000101000010000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+01101000000000001100010101101110
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011100000
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101110100000000110101
+01011000000000000000100111101111
+11100000101000010000000000000000
+01011000000000000000010111100011
+11100000101000010000000000000000
+00011000010000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000010001101
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000001000
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+00011000010000100001011000000000
+01101000000000001100010101100011
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+01000111010101111100000000110101
+01011000000000000000100111101111
+11100000101000010000000000000000
+01011000000000000000010111100001
+11100000101000010000000000000000
+00011001011000100111111000000000
+11100000101000001000000000000000
+01011000000000000000000010001101
+11100000101000001000000000000000
+00100000010000000110101000101111
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000111010110000100000000110110
+01101000000000001100010101101001
+00100000011110100000000000000000
+01101000000100010000000100010010
+00100100011110100000000000000000
+00011010001000100111111000000000
+01100000000000001000101010011011
+01100000000010001000101010011010
+00100000010000000101001001101110
+00100100011110100000000000000000
+00100000010000000101001011010010
+00100000010000000101001011100000
+01011000000000000000000000000101
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01101000000000001000010100001101
+11100000101000001000000000000000
+01011000000000000000000111111111
+11100000101000010000000000000000
+01101000000000001100010101101001
+11100000101000001000000000000000
+01101000000000001100010101100110
+11100000101000001000000000000000
+01110000010001010110100100000000
+00100000011000000000000000000000
+01000111010110001100000000110110
+01101000000000001100010101101011
+11000001000000001000000000000000
+01101000000000010000010011111111
+00100000011110100000000000000000
+01101000000000001100010101101001
+00011111111000001111111000000001
+01100000000000001100010101101001
+00100000011000000000000000000000
+01101000000000010100010101101111
+00100000001000000111111110011100
+01000111010110010100000000110110
+01101000000000001100010101101000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100010101101000
+01101000000000010100010101011110
+01101000000010010100011010011111
+10011000010001100111110000000000
+00100000001000010110110001010111
+01100000000000010100011010011111
+01101000000000001100010101101001
+00100000001110100110110001011111
+01110000000001010001000000000001
+01101000000000001100010101100110
+01100000000000001000010100001111
+01011000000000000000000011111111
+01100000000000001000010100001110
+00100000001000000110110001100100
+01110000000001010001000000000000
+01101000000000001100010101100101
+01100000000000001000010100001111
+01011000000000000000000011101111
+01100000000000001000010100001110
+01000111010110011100000000110110
+01101000000000010100011010011111
+00011111111001100111110001111111
+00100000001000010110110001101011
+01101000000000001000010100010000
+00011111111000001111111000000001
+01100000000000001000010100010000
+00100000010000000110101001110010
+01101000000000010100011010011111
+00011111111000001111111000001000
+01101000000010001000010100010000
+10011000010000001010001000000000
+00100000010000000101001001000000
+01100000000000010000001001110111
+00011111111000001111111000000100
+01100000000000010000001001111001
+00011111111000100000101000000000
+01101000000000001000010100001101
+11100000101000001000000000000000
+01101000000000001000010100001110
+11100000101000001000000000000000
+00100000010000000110110010010101
+00100000010000000110110010100110
+01000111010110100100000000110110
+01101000000000010100010101110001
+00011111111000100000011000000000
+01101000000000010100011010011111
+00011111111000100111001000000000
+00100000010000000110011011101010
+00011000101000100000010000000000
+00011000011000100111111000000000
+01100000000000010100010101110001
+00011000010000100000101000000000
+01101000000000001000010100001111
+11100000101000001000000000000000
+01101000000000010000001001110111
+00011111111000100000101000000000
+01101000000000010100011010011111
+01101000000010001000010100010000
+10011000010000001111111000000000
+00011111111000001111111000000100
+11100000101000010000000000000000
+01101000000000010100001001001010
+11100000101000010000000000000000
+01110000010001010110100100000000
+01101000000000010100010101110011
+11000000000000000011101010010111
+01110000000010110000010100000000
+00100000011000000000000000000000
+01000111010110101100000000110110
+01101000000000010100011010011111
+00011111111001100111110001111111
+00100100001000010110110010011101
+00011111111000111111111000000000
+01111001001000000111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000010100011010011111
+00011111111010010111111000000000
+00011111111100011000010000000000
+00011111111000010111111001111111
+00011111111000111111111000000000
+01111001001111111111111000000000
+11100000101000001000000000000000
+11100000101010001000000000000000
+00100000011000000000000000000000
+01101000000000001100010101101001
+00100000011110100000000000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01000111010110110100000000110110
+00100000010000000111110110011100
+00100000010000000011001011110110
+00100000010000000110001100011011
+01000111010110111100000000110110
+00100000010000000111011011011100
+00100000010000000111011010110101
+00100000010000000111011011000110
+00100000010000000101001001101110
+00100100011110100000000000000000
+00100000010000000100110110101001
+00100000010000000101001001101110
+00100100011110100000000000000000
+01000111010111000100000000110111
+00100000010000000110110011110101
+00100000010000000100111101100100
+00100000010000000110101110011000
+00100000010000000110110010111110
+01000111010111001100000000110111
+00100000001000000011001011110010
+01101000000000001000001001111111
+11000010100000000101000010000111
+11000010100000111101000010010001
+00100000011000000000000000000000
+01000111010111010100000000110111
+00100000010000000101001001110100
+00100000011110100000000000000000
+01101000000000001000000001001011
+11000011100000110000000000000000
+00100000010000000101001001011000
+01100000000000010000000101101111
+00011111111000100000110000000000
+11101000110000010000000000000000
+00011111111000001111111000000100
+01100000000000010100000111011100
+01110000010000011101101100000110
+01000111010111011100000000110111
+01101000000000010100001001000110
+00100000001110100110110011011101
+01101000000000001000000001001011
+11000100000000111000000000000000
+01111001001111111111111000000111
+01100000000000001000000001001011
+01110000010000011101101100000101
+01101000000010010100001001000110
+01101000000000010000000101101111
+10011000010000001111111000000000
+01100000000000010000000101101111
+01101000000000010100000111011100
+10011000010001100111111000000000
+01100000000000010100000111011100
+01000111010111100100000000110111
+01101000000000010100000111011100
+00100000001110100010101010001100
+11011000010000000000000100000100
+10011000010001100111111000000000
+00100100001000010110110011101001
+01000111010111101100000000110111
+01100000000010010100000111011100
+01101000000000010100001001000110
+10011000010000001111111000000000
+01100000000000010100001001000110
+00100000001000000110110011101011
+01011000000000000000000000000000
+01100000000000010100001001000110
+01101000000000001000000001001011
+01111001001000000111111000000110
+01100000000000001000000001001011
+00100000011000000000000000000000
+01101000000000001100011010000100
+11000010100000000110110011110011
+01110000000000101000011100000001
+00100000011000000000000000000000
+01110000000000101000011100001111
+00100000011000000000000000000000
+01101000000000001100011010000001
+00100100001110100110110011111011
+01101000000000001000001010000110
+00100000011110100000000000000000
+01110000000000101000011000000000
+00100000011000000000000000000000
+01000111010111110100000000110111
+01101000000000001000001010000111
+00100000011110100000000000000000
+11000000000000001110110100011011
+11000000000000010110110101110100
+11000000000000011110110100100001
+11000000000000100110110101111000
+11000000000111011110110100101011
+11000000000111100110110101111011
+11000000000001101110110100110000
+11000000000001110110110110000000
+11000000000001111110110100110011
+11000000000010000110110110000110
+11000000000010001110110100111001
+11000000000010010110110110001010
+11000000000010011110110100111111
+11000000000010100110110110001110
+11000000000010101110110101000101
+11000000000010110110110110010010
+11000000000010111110110101001011
+11000000000011000110110110010111
+11000000000011001110110101010001
+11000000000011010110110110011011
+11000000000011011110110101010111
+11000000000011100110110110011111
+11000000000011101110110101011101
+11000000000011110110110110100100
+11000000000011111110110101100011
+11000000000100000110110110101000
+11000000000100001110110101101110
+11000000000100010110110110101100
+00100000011000000000000000000000
+00100000010000000110110110110111
+01110000000000101000011100000010
+01101000000000001100001001010000
+01111001001000000111111000000000
+01100000000000001100001001010000
+00100000011000000000000000000000
+01110000000000101000011100000100
+01101000000000001100001001010000
+11000011100000010000000000000000
+01110000000000101000011100000011
+00100000010000000110110110111110
+01110000000000101000011100000100
+01101000000000001100001001010000
+01111001001000000111111000000010
+01100000000000001100001001010000
+00100000011000000000000000000000
+00100000010000000101001001110100
+00100100011110100000000000000000
+00100000010000000110110111001101
+01110000000000101000011100111100
+00100000011000000000000000000000
+00100000010000000110110111000011
+01110000000000101000011100001110
+00100000011000000000000000000000
+00100000010000000110110111011101
+01110000000000101000011100010000
+01101000000000001100001001010010
+01111001001000000111111000000000
+01100000000000001100001001010010
+00100000011000000000000000000000
+00100000010000000110110111100100
+01110000000000101000011100010010
+01101000000000001100001001010010
+01111001001000000111111000000010
+01100000000000001100001001010010
+00100000011000000000000000000000
+00100000010000000110110111101001
+01110000000000101000011100010100
+01101000000000001100001001010011
+01111001001000000111111000000000
+01100000000000001100001001010011
+00100000011000000000000000000000
+00100000010000000110110111110000
+01110000000000101000011100010110
+01101000000000001100001001010011
+01111001001000000111111000000010
+01100000000000001100001001010011
+00100000011000000000000000000000
+00100000010000000110110111010001
+01110000000000101000011100011000
+01101000000000001100001001010001
+01111001001000000111111000000000
+01100000000000001100001001010001
+00100000011000000000000000000000
+00100000010000000110110111011000
+01110000000000101000011100011010
+01101000000000001100001001010001
+01111001001000000111111000000010
+01100000000000001100001001010001
+00100000011000000000000000000000
+00100000010000000110110111110101
+01110000000000101000011100011100
+01101000000000001100001001010001
+01111001001000000111111000000110
+01100000000000001100001001010001
+00100000011000000000000000000000
+00100000010000000110110111111100
+01101000000000001100001001010100
+01111001001000000111111000000000
+01100000000000001100001001010100
+01110000000000101000011100011110
+00100000011000000000000000000000
+00100000010000000110111000000010
+01101000000000001100001001010100
+01111001001000000111111000000010
+01100000000000001100001001010100
+01110000000000101000011100100000
+01101000000000001100010101100100
+00011111111010011111111000000000
+00011111111000011111111000000011
+11011000010000000100010101100101
+01100000000010010000010011110111
+00100000001000000110101000110101
+00100000010000000110111000001100
+01101000000000001100001001010100
+01111001001000000111111000000100
+01100000000000001100001001010100
+01110000000000101000011100100010
+00100000011000000000000000000000
+01101000000000001100001001010000
+11000100000000001000000000000000
+01110000000000101000011100000011
+00100000001000000110110011111011
+01101000000000001100001001010000
+11000001100111111000000000000000
+01110000000000101000011100111011
+01101000000000001000001010000101
+11000001100010111000000000000000
+01110000000000101000010100000000
+01110000000000101000011100001101
+00100000001000000110110011111011
+01101000000000001100001001010000
+00100100011110100000000000000000
+01101000000000001100011010000100
+11000010100000000110110110101111
+11000010100000110110110110110001
+00100000001000000110110110110101
+01101000000000001100001001010010
+11000100000000001000000000000000
+01110000000000101000011100010001
+00100000001000000110110011111011
+01101000000000001100001001010010
+11000001100111111000000000000000
+01110000000000101000011100010011
+00100000001000000110110011111011
+01101000000000001100001001010011
+11000100000000001000000000000000
+01110000000000101000011100010101
+00100000001000000110110011111011
+01101000000000001100001001010011
+11000001100111111000000000000000
+01101000000000001100011010000100
+11000010100000110110110110110001
+00100000001000000110110110110101
+01101000000000001100001001010001
+11000100000000001000000000000000
+01110000000000101000011100011001
+00100000001000000110110011111011
+01101000000000001100001001010001
+11000001100111111000000000000000
+01110000000000101000011100011011
+00100000001000000110110011111011
+01101000000000001100001001010001
+11000001111111111000000000000000
+01101000000000001100011010000100
+11000010100000110110110110110011
+00100000001000000110110110110101
+01101000000000001100001001010100
+11000100000000001000000000000000
+01110000000000101000011100011111
+00100000001000000110110011111011
+01101000000000001100001001010100
+11000100000000011000000000000000
+01110000000000101000011100100001
+00100000001000000110110011111011
+01101000000000001100001001010100
+11000001111111111000000000000000
+00100000001000000110110110110101
+01110000000000101000011100001111
+00100000001000000110110011111011
+01110000000000101000011100010111
+00100000001000000110110011111011
+01110000000000101000011100011101
+00100000001000000110110011111011
+01110000000000101000011100000000
+00100000011000000000000000000000
+01000111010111111100000000110111
+00100000010000000101001010111000
+01011000000000000000000000000001
+00011111111000100000010000000000
+01011000000000000000000001010000
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011000000100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001000
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011000001100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001000
+00011111111000100000010000000000
+11011001011000000000000001010000
+00100000010000000101000011001100
+01101000000000001100001001010000
+01111001001111111111111000000101
+01100000000000001100001001010000
+00100000011000000000000000000000
+01000111011000010100000000111000
+00100000010000000101001011000101
+00100000010000000111000100111000
+00100000001000000101000011100111
+01000111011000011100000000111000
+00100000010000000101001010111000
+01011000000000000000000000000011
+00011111111000100000010000000000
+01011000000000000000000001010001
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011000100100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001010
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011000101100000000111000
+00100000010000000101001010111000
+01011000000000000000000000010001
+00011111111000100000010000000000
+01011000000000000000000001010010
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011000110100000000111000
+00100000010000000101001010111000
+01101000000000010100001001001100
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011000111100000000111000
+00100000010000000101001010111000
+01011000000000000000000000010011
+00011111111000100000010000000000
+01011000000000000000000001010011
+00011111111000100001011000000000
+00100000001000000101000010101000
+01000111011001000100000000111001
+00100000010000000101001010111000
+01101000000000010100001001001110
+00011111111000100000010000000000
+00100000001000000101000010110111
+01000111011001001100000000111001
+00100000010000000101001011010010
+01110000000001001111101100000011
+01110000000001001111111000011100
+00100000010000000110101110101001
+01110000010001010110001100000001
+00100000011000000000000000000000
+01000111011001010100000000111001
+00100000010000000101001011010010
+01101000000010001100010101100100
+00100000010000000110101001111001
+01100000000010001100010101011101
+00100000001000000110101111000100
+01000111011001011100000000111001
+00100000010000000101001011010010
+01101000000010001100010101011101
+00100000010000000110101001110011
+00100000010000000110101000011010
+01100000000000001000010011111110
+01101000000010001100010101011101
+00100000010000000110101001110011
+01100000000010001000010011111011
+00100000001000000110101110101001
+01000111011001100100000000111001
+00100000010000000101001011010010
+01101000000010001100010101011101
+00100000010000000110101001110011
+00100000001000000110101111111100
+01000111011001101100000000111001
+01101000000000010000001001100100
+10011000000000000000110000000000
+11101000110000001000000000000000
+00011111111000100010010000000000
+01100000000000001000010100011011
+11101000110000010000000000000000
+01100000000000010000010100011100
+11101000110000001000000000000000
+00011111111011010001011000000000
+11101000110000001000000000000000
+10011001011000001001011000000000
+01000111011001110100000000111001
+00011000110000100000010000000000
+11011111001000000000000000000100
+11011000101000000000010100101010
+00100000010000000111111011000110
+00011000010000100000110000000000
+00011010010000100111111000000000
+11000000000000001110111110111010
+11000000000000010110111000101100
+11000000000000011110111110111010
+11000000000000100110111001010100
+11000000000000101110111110111010
+11000000000000110110111100000010
+11000000000000111110111110111010
+00100000001000000110111111000001
+01000111011001111100000000111001
+00100000010000000110111111010000
+00101000010000011111111000000001
+00100000001000001111000001000000
+00101000010000011111111011111111
+00100000001000001110111111000100
+11101000110000010000000000000000
+01100000000000010000010100100010
+00011001011000001001011111111110
+00011001011000001001011111111111
+00100100001000101110111110111110
+11011001011000000000010100010001
+11101001011000010000000000000000
+00100000011110100000000000000000
+00100000010000000111000010000010
+00100000010000000101001011010000
+00011000000000000111111000000011
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+00011000111010111111111000000000
+00011111111000001111111000000101
+00011111111000001010011000000101
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011000111000100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+11100000101000010000000000000000
+11011000110000000000010100101010
+00011000111000100111001000000000
+00100000001000101110111001001111
+11101000110000100000000000000000
+11100000101000100000000000000000
+11000010000000000110111001001100
+00011000000000000111111000000000
+11100000101000001000000000000000
+00011010011000100111111000000000
+01100000000000010000001001110101
+00100000011000000000000000000000
+01000111011010000100000000111010
+11101000110000100000000000000000
+01100000000000100000010100100100
+00011001011000001001011111111100
+00100000010000000110111100101110
+01100000000000010000010100100000
+00011001011000001001011111111110
+00100000010000000111000000101000
+00100000001000101110111111000100
+00101010001000011111111000000101
+00100000001000001110111001100010
+11011000101000000000010100101010
+00011000000000000000111000000000
+00100000001000000110111001110001
+11101000110000001000000000000000
+11000000100001010110111111000100
+11101000110000010000000000000000
+00100100001110100110111001101111
+11101000110000001000000000000000
+11000000111111111110111001101101
+11101000110000001000000000000000
+11000000111111111110111001101011
+00100000001000000110111010111000
+00011000110000001000110111111011
+00100000001000000110111001011111
+00011000110000001000110111111100
+00100000001000000110111001011111
+00011000110000001000110111111101
+00100000001000000110111001011111
+11101000110000001000000000000000
+11000000000001001110111010000110
+11000000000001010110111001110100
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011111111100001010010000000000
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011010010000001010010000000001
+10011010010001100111110000000000
+00100100001000010110111010000011
+00011111111000100010011000000000
+00011010010100001111111000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011010011000100111111000000000
+00100000001000000110111001111010
+00011001011000001001011111111011
+00011010001000001010001111111011
+00100000001000000110111010001011
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011001011000001001011111111101
+00011010001000001010001111111101
+00100100001000010110111111000100
+00100100001000101110111001110001
+00011001011000001001011111111111
+00100100001000101110111111000100
+00100000010000000101001011010000
+00011000101000001000101000001010
+11011010001000000000010100101010
+00011000111000100111111000000000
+00100000001110100110111010100101
+11101010001000010000000000000000
+00100000001110100110111010100101
+10011000000000000010010000000000
+01101000000000100000010100100100
+10011000000000000000010000000000
+00100000010000000111000011100111
+00011000110000100111111000000000
+00100000001110100110111010100010
+00011000110000001000110111111101
+11101000110000011000000000000000
+11100000101000011000000000000000
+00100000010000000111000001011011
+10011000000000000111001000000000
+00100000010000000111111100000001
+00011010001000001010001000000010
+00011000111000001000111111111111
+00100000001000000110111010010010
+11011010001000000000000000000101
+00100000010000000110111110000100
+01101000000000010000001001110101
+11000000000001011111000001000011
+00100000001000000110111110011010
+11101000110000001000000000000000
+11000000000000000110111010101110
+11000000000000001110111010110000
+11000000000000010110111010110011
+00011001011000001001011111111111
+00100000001000000110111010110110
+11101000110000001000000000000000
+00011001011000001001011111111110
+00100000001000000110111010110110
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011001011000001001011111111101
+01100000000000010000010100011001
+00100000011000000000000000000000
+00011001011000001001011111111011
+00100000010000000110111010101010
+00100100001000101110111110111110
+01101000000010100000010100100100
+00100000010000000111000010110001
+00100100001000101110111110111011
+00011000110000100010001000000000
+00100000010000000101001011010000
+00011010001000100000110000000000
+00011000101000001000101000000011
+00011000110000100001011000000000
+00100000010000000111000001100010
+00011111111000100010001000000000
+01101000000000010000010100011001
+00011111111000100010010000000000
+00011010001000100111111000000000
+10011010010001100010010000000000
+01101000000000010000010100100000
+10011010010001100111110000000000
+00100100001000010110111011100111
+01111000010101000111110000000000
+01101000000000010000010100011001
+00100000001110100110111011011010
+10011001011000001000110000000000
+00011010010000001010010000000011
+00011010010000100111001000000000
+00011111001000100111111000000000
+00011111111000001111111000000011
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011111001000100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000001000000110111011110101
+00011010001000001111001000000110
+00100000001101000110111011011110
+00011111001100001111111000000000
+00100000001000000110111011100001
+00011111001000100111111000000000
+00011111111000001111111000000010
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011111001000001111001111111101
+00011111001100001111111000000000
+11100000101000010000000000000000
+00011001011000100000110000000000
+00100000001000000110111011110101
+01111000001101000111110000000000
+01101000000000010000010100100000
+00011111111000100010001000000000
+00011010001000100111001000000000
+01101000000000010000010100011001
+00100000001110100110111011011010
+10011001011000001000110000000000
+00011010001000100111111000000000
+00011111111000001111111000000101
+00011111111100001111111000000000
+11100000101000010000000000000000
+00011010001000100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000010000000111111100000001
+00100100001101000110111011111110
+00011000000000000111111000000010
+11100000101000001000000000000000
+00011000110000100111111000000000
+10011001011001100111111000000000
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000001000000110111100000000
+00011000000000000111111000000000
+11100000101000001000000000000000
+11011010001000000000000000000101
+00100000001000000110111110110000
+01000111011010001100000000111010
+00100000010000000110111111010000
+00101000010000011111111011111111
+00100000001000001110111111000100
+00100000010000000110111100101110
+01100000000000010000010100100000
+00011001011000001001011111111110
+00100000010000000111000000101000
+11011000101000000000010100101010
+00011000000000000000111000000000
+11101000110000001000000000000000
+11000000000001010110111100110110
+11101000110000010000000000000000
+11100000101000010000000000000000
+00011000111000001000111000000001
+00011001011000001001011111111101
+00011010001000001010001111111101
+00100100001000010110111111000100
+00100100001000101110111100001100
+00011001011000001001011111111111
+00100100001000101110111111000100
+00100000010000000101001011010000
+00011000101000001000101000001101
+01101000000000010000010100010001
+10011000000000000010011000000000
+11011010001000000000010100101010
+11101010001000010000000000000000
+00100000001110100110111100101001
+10011000000000000010010000000000
+00100000010000000111000011000110
+00100000001110100110111100100111
+00011000110000001000110111111101
+11101000110000011000000000000000
+11100000101000011000000000000000
+00100000010000000111000001011011
+10011000000000000111001000000000
+00100000010000000111111100000001
+00011010001000001010001000000010
+00100000001000000110111100011100
+00100000010000000110111110000011
+01101000000000010000001001110101
+11000000000001110111000001000110
+00100000010000000110111110011010
+00100000001000000110111110011010
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011111111000001111111111111101
+11011000010000000000000011001000
+10011000010001100111110000000000
+00100100011000010000000000000000
+01011000000000000000000011001000
+00100000011000000000000000000000
+00011000110000001000110000000100
+00011001011000001001011111111011
+00011010001000001010001111111011
+00100100001000101110111111000100
+00100000010000000110111010101010
+00100100001000101110111110111110
+11011001011000000000010100010001
+00100000010000000111000010000010
+00011000111000100111111000000000
+00100000001110100111000001000110
+01100000000000001000010101001110
+00011010010000100111111000000000
+01100000000000010000010101001100
+11011000111000000000000000000000
+11011010001000000000000000000000
+00100000010000000101001011010000
+00011000101000001000101000001010
+00100000010000000110111101101100
+00100100001101000010101010001100
+00011000110000100001011000000000
+00011111111000100010011000000000
+10011010001000001010001000000000
+01101000000000010000010100011001
+00011111111000100010010000000000
+00100000001110100110111101110101
+00011010001000100111111000000000
+10011010010001100010010000000000
+00100000001000101110111101100111
+00100100001000010110111101100111
+01101000000000010000010100100000
+10011010010001100111110000000000
+00100000001000101110111101011110
+00100100001000010110111101011110
+00011010010000100111001000000000
+00100000010000000110111101100001
+01101000000000001000010101001110
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100000001000101110111110000011
+00100000001000000110111110100000
+00011111111000100111001000000000
+00100000010000000110111101100001
+00100000001000000110111110100000
+00011000101000001000101111111101
+00011111001000100000010000000000
+00011010011000100111111000000000
+10011010010001100111111000000000
+10011001011000001000110000000000
+00100000001000000111111100000001
+01101000000000001000010101001110
+00011000111000001000111000000001
+10011000111001100111110000000000
+00100000011000101000000000000000
+00100000001000000110111101000111
+00100000010000000111111111101001
+11011000110000000000010100101010
+00011000111010111111111000000000
+10011000110000001000110000000000
+11101000110010100000000000000000
+00100000010000000111000010110001
+00100100011000101000000000000000
+00100000010000000111000001011011
+00100000001000000111111111100111
+01101000000000010000010100100000
+10011010001001100111110000000000
+00100100001000010110111110001111
+00011010001000100111001000000000
+00011111001000100000010000000000
+00011001011000100000110000000000
+00100000010000000111111100000001
+01101000000000010000010101001100
+10011010001001100111110000000000
+00100000001000101110111110000001
+00100000010000000110111110100000
+00100000001000000110111110010100
+00100000010000000110111110000011
+00100000001000000110111110010100
+11011010001000000000000000000111
+00011000000000000111111000000000
+11100000101000001000000000000000
+00100000010000000110111110110000
+01101000000010010000001001110101
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100000101000010000000000000000
+00011000010000001000010111111101
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+00011111111000100111001000000000
+00011111001000100000010000000000
+00011001011000100000110000000000
+00100000010000000111111100000001
+00100000010000000110111110100000
+01011000000000000000000000110110
+11100000101000001000000000000000
+01101000000000010000010101001100
+00011111111100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01011000000000000000000000110110
+11100000101000001000000000000000
+00011000010000001000010111111101
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+11011010001000000000000000000111
+01011000000000000000000000000010
+11100000101000001000000000000000
+01101000000000010000010100011001
+10011000010000001000010000000000
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000010000000110111110110000
+01101000000010010000001001110101
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100000101000010000000000000000
+00011000010000001000010111111011
+00011000010100001111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+01101000000000010000001001110011
+10011000101001100111111000000000
+00011111111001100111111000000000
+01100000000000010000001001110101
+00100000010000000101001011010000
+00011010001000100111111000000000
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01011000000000000000001000000000
+01100000000000010000010101001010
+00100000001000000110111111000110
+01011000000000000000010000000000
+01100000000000010000010101001010
+00100000001000000110111111000110
+01011000000000000000011000000000
+01100000000000010000010101001010
+00100000001000000110111111000110
+01011000000000000000001100000000
+01100000000000010000010101001010
+00100000010000000101001011010000
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+01011000000000000000001000000000
+11100000101000010000000000000000
+01101000000000010000010101001010
+11100000101000010000000000000000
+01110000000000100111010100000111
+00100000011000000000000000000000
+11011010010000000000000000000000
+00011000000000000000010000000000
+11011000101000000000010100010001
+00100000010000000111000000101000
+00100000001000101111000000100110
+00011010010000001010010000000001
+11101000110000001000000000000000
+00011010001000001010001111111111
+00011001011000001001011111111111
+00101111111000011111000000011000
+00100100001000001111000000100110
+00101111111000000000111000000100
+00100100001000001110111111110011
+00011000000000000000010000000001
+11101000110000001000000000000000
+00011010001000001010001111111111
+00011001011000001001011111111111
+11000000100000000110111111100111
+11101000110000001000000000000000
+00011010001000001010001111111111
+00011001011000001001011111111111
+11000000000000000110111111111000
+00100000001000000110111111101010
+00011000110000001000110000000001
+00011010001000001010001111111111
+00011001011000001001011111111111
+00011000110000001000110000000010
+00011010001000001010001111111110
+00011001011000001001011111111110
+00101000010000011111111000000000
+00100000001000001111000000100000
+00011000110000001000110000001100
+00011010001000001010001111110100
+00011001011000001001011111110100
+00100000001000000111000000100000
+00101111111000000000111000000010
+00100100001000001110111111110110
+00100000001000000110111111011110
+00101111111000000000111000000001
+00100100001000001111000000100110
+00011010001000001010001111111110
+00011001011000001001011111111110
+11101000110000010000000000000000
+00011010010001100111110000000100
+00100000001000101110111111111110
+11100000101000010000000000000000
+00101000010000011111111000000000
+00100000001000001111000000100000
+00011000110000100000010000000000
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000100010000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000110000000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000100000000111000000011001
+11101000110000001000000000000000
+11000000110000000111000000011001
+11101000110000001000000000000000
+11000000101011111111000000011001
+11101000110000001000000000000000
+11000000110011011111000000011001
+11101000110000001000000000000000
+11000000100110100111000000011001
+11101000110000001000000000000000
+11000000011111011111000000011110
+00011000010000100000110000000000
+00011000110000001000110000001100
+00011000000000000000111000000000
+00011000000000000000010000000000
+00100000001000000111000000011110
+00011001011000001001011111110100
+00011010001000001010001111110100
+00011000000000000000010000000000
+00101010001000011111111000000000
+00100100001000001110111111010101
+00011000000000000111111000000000
+11100000101000010000000000000000
+00100000011000000000000000000000
+11011000010000000000000011111111
+00100000011000000000000000000000
+01000111011010100100000000111010
+11101000110000001000000000000000
+00011001011000001001011111111111
+00101111111000011111000000110000
+00100100001000001111000000111110
+00101111111000000000111000000111
+00100000001000001111000000110111
+00101111111000000000111000000110
+00100000001000001111000000111001
+00101111111000000000111000000101
+00100100001000001111000000111110
+11101000110000001000000000000000
+00011111111000100010001000000000
+00011001011000001001011111111111
+00100000001000000111000000111100
+00011000110000001000110000000010
+00011001011000001001011111111110
+11101000110000010000000000000000
+00011111111100001010001000000000
+00011001011000001001011111111110
+00011000000000000111111000000001
+00100000011000000000000000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+01011000000000000000000000000011
+01100000000000001000010100011011
+00100000001000000111000001001000
+01011000000000000000000000000101
+01100000000000001000010100011011
+00100000001000000111000001001000
+01011000000000000000000000000111
+01100000000000001000010100011011
+00100000010000000101001011010000
+01101000000000001000010100011011
+00011111111000100010010000000000
+11100000101000001000000000000000
+01101000000000010000010100011100
+11100000101000010000000000000000
+01011000000000000000010100000000
+11100000101000010000000000000000
+00101010010000011111111000000101
+00100000001000001111000001010111
+00101010010000011111111000000111
+00100000001000001111000001010111
+01011000000000000000000000000000
+11100000101000101000000000000000
+00100000001000000111000001011001
+01011000001101010000001000000000
+11100000101000101000000000000000
+01110000000000100111010100001010
+00100000011000000000000000000000
+00100000010000000111111010100010
+00100000010000000111111010100101
+00100000010000000111000001100010
+00100000010000000111111010011100
+00100000010000000111111010011111
+00011000010000100111111000000000
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000010111001000000111
+00011111111010010111111000000000
+11000000100000000111000001101100
+00011000000000000111111000000001
+00011000000000000000010000000001
+00100000011000000000000000000000
+00100000010000000111111001110110
+00011111111000001000010000000001
+00100000011000000000000000000000
+00011111001000100111111000000000
+00011111111001100111110000000100
+00100000001000010111000001101001
+11000000000000101111000001110011
+11000000000000110111000001110110
+11000000000000111111000001111010
+00100000011000000000000000000000
+11101000110000001000000000000000
+00011111111000001000010000000010
+00100000011000000000000000000000
+11101000110000010000000000000000
+00011111111100001111111000000000
+00011111111000001000010000000011
+00100000011000000000000000000000
+11101000110000010000000000000000
+00011111111100001111111000000000
+11101000110010010000000000000000
+00011000010100001000010000000000
+00011000010100000000010000000000
+10011000010000001111111000000000
+00011111111000001000010000000101
+00100000011000000000000000000000
+01000111011010101100000000111010
+00011000000000000000111000000000
+11011010010000000000000000000000
+11011000101000000000010100101010
+11101001011000010000000000000000
+00100000011110100000000000000000
+00100000010000000111000010001101
+00011000111000100111111000000000
+11000001000000111000000000000000
+00011001011000001001011000000010
+00100000001000000111000010000110
+10011000000000000010011000000000
+01101000000000010100010101110101
+10011000000000000000110000000000
+00011000111000100111111000000000
+11000001000000111000000000000000
+01111000010101000111110000000000
+11101000110000001000000000000000
+00100000011110100000000000000000
+10011000000000000111001000000000
+11101000110000010000000000000000
+10011010011001100111110000000000
+00100100001000101111000010011010
+01111000001101000111110000000000
+11000010000000000111000010010110
+11101000110010100000000000000000
+00011000110000100010001000000000
+00100100001101000111000010101101
+11011000110000000000010100101010
+11011111001000000000000000000111
+11101000110000100000000000000000
+00100000001110100111000010100110
+10011000010001100111110000000000
+00100000001000101111000010101101
+11000010000000000111000010100000
+00100000011000000000000000000000
+11100000101010100000000000000000
+00011000111000001000111000000001
+00011010001000100000110000000000
+00100000010000000111000001011011
+10011010010000001010010000000000
+10011000110000001000110000000000
+00100000001000000111000010010000
+00011010001000100000110000000000
+00100000010000000111000001100010
+10011000110000001000110000000000
+00100000001000000111000010010000
+01000111011010110100000000111010
+01101000000000010100010101110101
+10011000000000000000110000000000
+11101000110000001000000000000000
+00100000001110100111111111100011
+00011111111000111111111000000000
+10011000110000001000110000000000
+11101000110000100000000000000000
+10011000010001100111110000000000
+00100000011000101000000000000000
+00011000101000100111111000000000
+01100000000000010000101010111011
+01100000000011000000101010100010
+00100000010000000111000001100010
+10011000110000001000110000000000
+00011000110000100111111000000000
+01101000000010010000101010111011
+00011000010000100000101000000000
+01101000000011000000101010100010
+00011111111000100000110000000000
+00100000001000000111000010110100
+01000111011010111100000000111010
+01101000000000010100010101110101
+10011000000000000000110000000000
+11101000110000001000000000000000
+00100000001110100111000011100100
+10011000000000000111001000000000
+11101000110000010000000000000000
+10011010011001100111110000000000
+00100000001000101111000011010100
+11000010000000000111000011001100
+00011000110000001000110000000100
+00100000010000000111000001100010
+10011000110000001000110000000000
+00100000001000000111000011001001
+00011111001000001111001111111111
+00011111001000111111111000000000
+10011000110000001000110000000000
+00011000110000001000110000000100
+00100000010000000111000001100010
+10011000110000001001011000000000
+00011000110000001000110000000001
+11101000110000010000000000000000
+10011010010001100111110000000000
+00100000001000101111111111101111
+00100000010000000111000001011011
+10011000110000001000110000000000
+00011001011000100111111000000000
+10011000110001100111110000000000
+00100000001000101111000011100100
+00100000001000000111000011011010
+00011000000000000000110000000000
+00011000000000000111111000000000
+00100000011000000000000000000000
+01000111011011000100000000111011
+01101000000000010100010101110101
+10011000000000000000110000000000
+11101000110000001000000000000000
+00100000001110100111000100000000
+00011111111000111111111000000000
+10011000110000001000110000000000
+11101000110000100000000000000000
+10011000010001100111110000000000
+00100000001000101111000011110100
+00100000010000000111000001100010
+10011000110000001000110000000000
+00100000001000000111000011101010
+00100000010000000111000001100010
+10011000110000001001011000000000
+00011000110000001000110000000001
+11101000110000010000000000000000
+10011010010001100111110000000000
+00100000011000101000000000000000
+00100000010000000111000001011011
+10011000110000001000110000000000
+00011001011000100111111000000000
+10011000110001100111110000000000
+00100000001000101111000100000000
+00100000001000000111000011110110
+00011000000000000000110000000000
+00100000011000000000000000000000
+11011010010000000000010000000000
+00100000010000000111000011110100
+11011010010000000000001100000000
+00100000010000000111000100001101
+00100100011101000000000000000000
+00011010001001100111110000000011
+00100000001000010111111111101001
+11101000110000001000000000000000
+11000000100001000111111111101001
+11101000110000001000000000000000
+00100000011000000000000000000000
+01000111011011001100000000111011
+00100000010000000111000001100010
+00011111111000100010001000000000
+11101000110000001000000000000000
+00011111111000010111001000000111
+00011111111010010111111000000000
+00011111111001100111110000000011
+00100000001000101111000100101001
+00011111001000100111111000000000
+11000000000000101111000100100000
+11000000000000110111000100100011
+11000000000000111111000100100110
+00011000110000001000110111111111
+00100000010000000111000001100010
+10011000110000001000110000000000
+00011010001000100111111000000000
+10011000010001100010001000000000
+00100000001000101111111111101001
+00100000001000000111000100010000
+00011010001000001010001111111110
+00011000110000001000110000000001
+00100000001000000111000100010000
+00011010001000001010001111111101
+00011000110000001000110000000010
+00100000001000000111000100010000
+00011010001000001010001111111011
+00011000110000001000110000000100
+00100000001000000111000100010000
+00011010001000001010001111111111
+00011111001000100111111000000000
+11000000000000001111000100110010
+11000000000000010111000100110000
+11000000000000100111000100101111
+00100000001000000111111111101001
+00011010001000001010001111110100
+11101000110000010000000000000000
+00011010001000001010001111111110
+11101000110000010000000000000000
+10011010010001100111110000000000
+00100000001000101111111111100111
+00011010001000001010001111111110
+00100000001000101111111111101001
+00100000001000000111000100010000
+00100000010000000101001011010000
+00011111111000100000101000000000
+01011000000000000000000000000110
+11100000101000001000000000000000
+01011000000000000000000001101110
+11100000101000010000000000000000
+01011000000000000000111100000000
+11100000101000010000000000000000
+01011000000110100000010100110101
+11100000101000011000000000000000
+01011000000000000000000100010001
+00011111111100000111111000000000
+11100000101000100000000000000000
+01011000000000000010011000000000
+11100000101000010000000000000000
+01011000000000000000001100110101
+11100000101000010000000000000000
+01011000000000000000000000001001
+11100000101000010000000000000000
+01011000000000000000000000000100
+11100000101000010000000000000000
+01110000000000100111010100010100
+00100000011000000000000000000000
+01000111011011010100000000111011
+01110000000001011110010101010000
+11011000101000000000010111100110
+11011000110000000100010000111010
+00100000010000000111111010111111
+11011000110000000100010111010010
+00100000010000000111111010111101
+11011000110000000000100110111110
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000000010000101111
+00100000010000000111001000000101
+00100000010000000111000111010000
+11011000101000000000101011110010
+00100000010000000111001000000001
+01011000000011110100001001000000
+00011111111000100010001000000000
+01101000000000100000101011110010
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001110111111000000000
+01100000000000100000100110111010
+00100000011000000000000000000000
+01110000000001011110010101000001
+11011000101000000000010111100110
+00100000010000000111000110110101
+00100000010000000111000110110000
+01101000000000011100010001010100
+11100000101000011000000000000000
+00100000010000000111000101110110
+11011000110000000000010000101111
+00100000010000000111111010111111
+11011000110000000100010000111010
+00100000010000000111111010111111
+00100000010000000111001000001010
+11011000110000000000101100010010
+11011000101000000000101011000010
+00100000010000000111111010111111
+00100000001000000111000111010000
+01101000000000100100010011000111
+11100000101000100000000000000000
+00100000010000000111111011001101
+00100000001000000111111011001010
+01000111011011011100000000111011
+01110000000001011110010101000001
+11011000101000000000010111100110
+00100000010000000111000110110000
+00100000010000000111000110110101
+01101000000000011100010001001101
+11100000101000011000000000000000
+00100000010000000111000101110110
+11011000110000000100010000111010
+00100000010000000111111010111111
+11011000110000000000010000101111
+00100000010000000111111010111111
+00100000010000000111001000001010
+11011000110000000000101100010010
+11011000101000000000101011000010
+00100000010000000111111010111111
+00100000010000000111000111010000
+11011000101000000000101011110010
+00100000001000000111001000000001
+01110000000001011110010100100000
+11011000110000000000100111111110
+11011000101000000000010111100110
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000000100110011110
+00100000010000000111001000000101
+00100000010000000111000111010000
+11011000101000000000101011000010
+00100000010000000111010010010111
+11011000010000000000000000000001
+00100000010000000111000110011111
+11011000101000000100010000011001
+00100000010000000111001000000001
+11011000010000000000000000000000
+00100000010000000111000110011111
+11011000101000000000101100010010
+00100000001000000111010010010111
+01000111011011100100000000111011
+01110000000001011110010100110101
+01011000000000000000000100000000
+01100000000000010000010111100110
+00100000010000000111000110110000
+00100000010000000111000110110101
+11011000110000000100010000111010
+00100000010000000111111010111111
+11011000110000000000010000101111
+00100000010000000111111010111111
+01011000000000000110110001100101
+11100000101000010000000000000000
+01011000000000000110001001110100
+11100000101000010000000000000000
+11100000101010001000000000000000
+00100000010000000111001000001010
+00100000001000000111000111010000
+01101000000000110100010010100000
+11100000101000110000000000000000
+01101000000000001100010010010101
+11100000101000001000000000000000
+00100000011000000000000000000000
+01101000000000110000010001001111
+11100000101000110000000000000000
+01101000000000001100010010001110
+11100000101000001000000000000000
+00100000011000000000000000000000
+01110000000001011110010101000001
+01101000000000001100011001100100
+01100000000000001000010111100110
+11011000110000000100010111010010
+00100000010000000111111010111101
+11011000110000000000100110111110
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000000010000101111
+00100000010000000111001000000101
+00100000001000000111000111010000
+01110000000001011110010101000001
+01101000000000001100011001100100
+01100000000000001000010111100110
+11011000110000000000100110111110
+00100000010000000111111010111101
+11011000110000000100010111010010
+00100000010000000111111010111101
+00100000010000000111001000001010
+11011000110000000100010000111010
+00100000010000000111001000000101
+00100000001000000111000111010000
+01000111011011101100000000111011
+00100000010000000111001000011111
+01101000000000001000010111100101
+00011111111000100000010000000000
+00011111111000001111111000001111
+00011111111100011111111000000000
+00011111111000100010010000000000
+00100000001110100111000111100010
+00011000010000010111111000001111
+00100100001110100111000111100101
+11011010011000000000101011010010
+11011111111000000000010111100110
+00011111111000001111111111110000
+10011000010000001010001000000000
+11011000101000000000101100000010
+11011111001000000000000000000100
+00100000010000000111111011011101
+00100000001000000111000111110000
+11011010010000000000000000000001
+11011010001000000000000000000000
+00100000001000000111000111100110
+00011000010000010010001000001111
+11011111111000000000010111100110
+10011000010000001111111000000000
+10011010001001100000110000000000
+11011000101000000000101011110010
+00100000010000000111001001000101
+11011010011000000000101011100010
+11011010001000000000101011110010
+11011000101000000000101100000010
+11011111001000000000000000000100
+00100000010000000111111011011101
+00100000010000000111010010010001
+00100000010000000111010000101000
+11011000110000000000010111100110
+00011010010000001010010111111111
+00011010010000100111111000000000
+00100000001110100111000111111001
+00100000010000000111010010000110
+00100000010000000111010000100010
+00100000001000000111000111110011
+11011000101000000000101011110010
+00100000010000000111010010010111
+11011000110000000000101100000010
+00100000010000000111010010000110
+00100000010000000111010000101000
+11011000110000000000101011110010
+00100000010000000111010010000110
+00100000001000000111010000100010
+00011000101000100010001000000000
+00100000010000000111010010010111
+11011111001000000000000000010000
+00100000001000000111111011100101
+11011000101000000000101011000010
+00100000010000000111111010111111
+11011111001000000000000000010000
+11011010001000000000101011000010
+00100000001000000111111011100101
+01101000000000001000010111100101
+00011111111000100111001000000000
+11011010001000000000010111100110
+00100000001000000111111011100101
+11101010001000001000000000000000
+00011111111000111111111000000000
+00101010011011111111111000000000
+01111001001000001111111000000000
+00101111111011111111111000001000
+01111001001000001010011000000000
+11100010001000001000000000000000
+00011010001000001010001111111111
+11000010000000000111001000001110
+00100000011000000000000000000000
+11011010001000000000101011010010
+00011010001000001010001000001111
+00011000000000000111001000010000
+00011000000000000010011000000000
+00100000001000000111001000001110
+11011010001000000000101011100010
+00100000001000000111001000011001
+11011000110000000000101011000010
+00100000010000000111010010000100
+00011000000000000111000000001000
+00100000010000000111010010010010
+00100000010000000111010010010001
+00100000010000000111010000011111
+11011000101000000000101011010010
+00100000010000000111010010010111
+01000111011011110100000000111011
+01101000000000001000101011010010
+00101111111011111111111000000111
+00100100001000001111001000110000
+00100000010000000111001000011000
+11011010011000000000101011010010
+11011000101000000000101011010010
+00100000010000000111001000111010
+00100000001000000111001000110001
+00100000010000000111001000011000
+11011000110000000000101011010010
+11011000101000000000101011100010
+00100000010000000111111010111111
+01101000000000001000101011100010
+00101111111011111111111000000111
+00100100001000001111001000011101
+00100000010000000111001000011101
+11011010011000000000101011100010
+11011000101000000000101011100010
+11011111001000000000000000000011
+11011000010000000000000000000000
+00100000010000000111001001000001
+00011010011000001010011000000100
+11000010000000000111001000111011
+11011000010000001000011100000000
+00011000010100000000010000000000
+11101010011000100000000000000000
+10011000010000101111111000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+01000111011011111100000000111011
+11011111001000000000000000010000
+11011111111000000000000000000000
+10011010001001100111110000000000
+00100000001000101111001001010000
+00100000001000010111001001010011
+11101000110010001000000000000000
+11100000101010001000000000000000
+00011111111000001111111000000001
+11000010000000000111001001001000
+00100000011000000000000000000000
+11011000010000000000000010000000
+11100000101010001000000000000000
+00100000001000000111001001001101
+11011000010000000000000000000000
+00100000001000000111001001010001
+00100000010000000111001001101000
+11011000110000000000010110010010
+11011000101000000000010110000010
+00100000001000000111111010111111
+01111000010101000111110000000000
+00100000010000000111001101011111
+11011000110000000000010101100010
+11011000101000000000010110100010
+00011000000000000111001000001111
+00100000010000000111111100000001
+11101000110000001000000000000000
+00011111111000101111111000000110
+11100000101000001000000000000000
+01011000000000000000010110110010
+01100000000000010000010111010110
+01011000000000000000010110100010
+01100000000000010000010111010100
+01111001001000000000000000010010
+00100000001000000111001010101000
+01101000000010001100011010001001
+00011000000000000010010000010000
+00011000010000001010011000000110
+00011010011001100111110000010000
+00100000001000010111001001101110
+00011000000000000010011000010000
+11011000101000000000010110100010
+11011000110000000100011010001010
+00011000010000100111001000000000
+01111000010101000111110000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+00011010010000001010010111111111
+00100000001000101111001001111100
+11000010000000000111001001110010
+00100000001101000111001001101111
+01111000001101000111110000000000
+00011000000000000111001000000110
+00011010001000100000110000000000
+00100000001000000111001001110010
+11011000110000000000010101100010
+11011000101000000000010110110010
+00100000010000000111111010111111
+01101000000000001000010111000001
+10011010011000101111111000000000
+01100000000000001000010111000001
+01011000000000000000010110110010
+01100000000000010000010111010110
+01011000000000000000010110100010
+01100000000000010000010111010100
+01111001001000000000000000010010
+00100000001000000111001010101000
+01111000010101000111110000000000
+00100000010000000111001101011111
+00100000001000000111001010010010
+11011010001000000000000001010110
+01111000001101000111110000000000
+00100000010000000111001101011111
+00100000010000000111001010010010
+11011000110000000000010110010010
+11011000101000000000000001100010
+00100000001000000111111010111111
+01011000000000000000010101100010
+01100000000000010000010111010110
+01011000000000000100000110111110
+01100000000000010000010111010100
+01111001001111111000000000010010
+00100000010000000111001010101000
+11011010001000000000010110010010
+11011010010000000000010101100010
+11011000101000000000010110100010
+00100000010000000111001101010010
+11011010001000000000010110100010
+11011010010000000000010110110010
+00011010010000100000101000000000
+01111000001101000111110000000000
+00100000010000000111001101010000
+00100000010000000111001101101010
+01011000000000000000010110110010
+01100000000000010000010111010110
+01011000000000000000010110100010
+01100000000000010000010111010100
+01111001001000000000000000010010
+00100000001000000111001010101000
+01110000000001011101100000000000
+01101000000000010000010111010100
+10011000000000000000110000000000
+11011000101000000000010111000010
+00100000010000000111111010111111
+01101000000000010000010111010110
+10011000000000000000110000000000
+11011000101000000000010110010010
+00100000010000000111111010111111
+00100000010000000111001011001111
+01111000010101000111110000000000
+11000101100010010111001010111001
+01101000000000001000010111011000
+11000000100000100111001010111001
+01101000000000010000010111010110
+10011000000000000010010000000000
+00100000010000000111001100000001
+00100000010000000111001100000000
+00100000010000000111001100010011
+01101000000000001000010111011000
+00011111111000001111111000000001
+01100000000000001000010111011000
+00100000010000000111001011001111
+01111000001101000111110000000000
+00100000010000000111001100000000
+00100000010000000111001100100010
+00100000010000000111001100110001
+00100000010000000111001100100010
+00100000010000000111001100110001
+00100000010000000111001100100010
+00100000010000000111001100110001
+00100000010000000111001100100010
+01101000000000001000010111011000
+00011111111000001111111000000001
+01100000000000001000010111011000
+11000000100010000111001010110001
+00100000010000000111001011001111
+01111000010101000111110000000000
+00100000001000000111001100000000
+01101000000000001000010111011000
+11011000110000000000010111000010
+00100000001110100111001011110110
+10011000000000000010010000000000
+00011000000000000111001000010001
+00011000110000100000101000000000
+11101000110000001000000000000000
+00011111111010011000010000000000
+00011111111010110111111000000000
+00011111111010010111111000000000
+10011000010000011111111000000000
+11100000101000001000000000000000
+11000010000000000111001011010101
+01011000000000000000010111000010
+10011010010000001000110000000000
+00011000000000000111001000010000
+11011000101000000000010101110010
+11101000110000001000000000000000
+11100000101000001000000000000000
+00101000110000011111111111010011
+00100100001000001111001011100101
+00011000110000001000110111101111
+11000010000000000111001011100000
+00011000000000000010001000000000
+00011010010000001010011111111111
+00011010011010111010011000000000
+00011010011010111010011000000000
+00100000010000000111010010111001
+01011000000000001000010000000000
+10011010011000001010011000000000
+11011000101000000000010101110010
+00011000000000000111001000010000
+11101010011010001000000000000000
+11101000101000001000000000000000
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010011000001010011000000001
+11000010000000000111001011101111
+00100000001000000111010010111101
+00011000000000000111001000010000
+00011000000000000000010000000000
+11101000110000001000000000000000
+10011000010000101000010000000000
+11000010000000000111001011111000
+00011000010000100111111000000000
+11100000110000001000000000000000
+11011000110000000000010111000010
+11011000101000000000010101110010
+00100000001000000111111010111111
+11011010010000000000010101110010
+00011000000000000111001000010000
+11011010001000000000010110010010
+00011010001000100000101000000000
+11101010001010001000000000000000
+11101010010000001000000000000000
+10011000010000101110000000000000
+00011111001000010010011000000011
+00100100001101000111001100001010
+00011010011000101010011000000011
+00011010011001100010011000000001
+00100000001000010111001100001101
+10011000010000001110000000000000
+00011110000000100111111000000000
+11100000101000001000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111001100000100
+00100000011000000000000000000000
+00100000010000000111010010111001
+00011000000000000111001000010000
+11011010001000000000010110010010
+11101010001000001000000000000000
+11011000110000001000010100000000
+00011111001000010010011000000011
+00011010011001100111110000000001
+00100000001000010111001100011100
+11011000110000001000011000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+11100010001000001000000000000000
+00011010001000001010001000000001
+11000010000000000111001100010110
+00100000001000000111010010111101
+00011000000000000111001000001000
+11011000110000000000010110010010
+00011000110000100000101000000000
+11101000110000001000000000000000
+10011000000000000010001000000000
+11101000110000001000000000000000
+10011000000000000010010000000000
+00011010001000111111111000000000
+10011010010000001111111000000000
+11100000101000001000000000000000
+00011010001000100111111000000000
+10011010010000001111111000000000
+11100000101000001000000000000000
+11000010000000000111001100100101
+00100000011000000000000000000000
+01011000100010101110010000101100
+10011000000000000000010000000000
+00011000000000000111001000000111
+00100000010000000111001101000000
+01011000000011010111010100011011
+10011000000000000000010000000000
+00011000000000000111001000000101
+00100000010000000111001101000000
+01101000000000001000010110100001
+10011000000000000010001000000000
+01101000000000001000010110010101
+01100000000000001000010110100001
+00011010001000100111111000000000
+01100000000000001000010110010101
+00100000011000000000000000000000
+00011000010000010010010000001111
+00011000010000010111111000001111
+11011000101000000000010110010010
+10011000101000001000101000000000
+11101000101000001000000000000000
+10011000000000000010011000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00011010011000100010001000000000
+00011000010100011000010000000000
+11000010000000000111001101000001
+01011000000000000000010110010010
+10011010010000001000101000000000
+00011010001000100111111000000000
+11100000101000001000000000000000
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000001000000111001101010011
+01111000010101000111110000000000
+00011000000000000111001000010000
+11101010001010001000000000000000
+11101010010000001000000000000000
+00100000001101000111001101011001
+10011000010000101111111000000000
+00100000001000000111001101011010
+10011000010000001111111000000000
+11100000101000001000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111001101010100
+00100000011000000000000000000000
+11011000101000000000010110110010
+11101010001000110000000000000000
+11100000101000110000000000000000
+00100000001101000111001101100101
+11101010001000110000000000000000
+00100000001000000111001101100110
+11101000110000110000000000000000
+11100000101000110000000000000000
+11101010001000100000000000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+11011000110000000100000110111110
+11011000101000000000010110100010
+11011000010000000000000000000000
+01011000100000111001010110100111
+00100000010000000111001110001011
+01011000101100111100000111011111
+00100000010000000111001110001011
+01011000000000001110010111101001
+00100000010000000111001110001100
+00011000010000100010100000000000
+01111000010101000111110000000000
+00100000010000000111001101111001
+00011010100000100000010000000000
+01111000001101000111110000000000
+00100000001000000111001101111001
+00011000000000000111001000001000
+11101000110000001000000000000000
+00101111001000000000001000000001
+00100000001101000111001110000000
+00100000001000001111001110000001
+10011000010000001111111000000000
+00100000001000000111001110000010
+00100000001000001111001101111110
+10011000010000101111111000000000
+11100000101000001000000000000000
+00011000010011001000010000000000
+11000010000000000111001101111010
+00100000011000000000000000000000
+01101000000000110000010110010110
+01100000000000110000000001010110
+11101000110000110000000000000000
+11100000101000110000000000000000
+00100000011000000000000000000000
+00011000010011010000010000000000
+00011000010100000000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000001000000111001110001111
+01000111011100000100000000111100
+00100000010000000111010000101011
+11011000101000000100010000011001
+00100000001000000111010010010111
+11011000101000000100010000111010
+00100000001101001111001110010111
+11011000101000000000010000101111
+00011000110000100010001000000000
+00100000010000000111111010111111
+00100000010000000111010001000000
+11011000110000000100010000101010
+00100000001000000111010010110000
+11011010001000000000010000101111
+00100000001101001111001110011111
+11011010001000000100010000111010
+00011010001000100000101000000000
+00100000010000000110001100001100
+00100000001000000111010001000000
+11011000110000000100010010101010
+00100000010000000111010010000110
+11011000110000000100010000011001
+00100000010000000111010010000111
+00011000000000000110110000111000
+00011000000000000110110000000000
+00100000010000000111010000011101
+11011000101000000000010001111100
+00100000001000000111010010010111
+00011000000000000111111001001001
+00100000001000000111001110101110
+00011000000000000111111000000001
+00011000000000000111000000000000
+00011000010011010101111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00011000010011001101111000000000
+00011101111100010101111000000000
+01101000000000010100010000010001
+00011111111100000111111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101000110000010000000000000000
+00011010001100001101111000000000
+00011101111100000101111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00100000011000000000000000000000
+00011010011000001000110000000001
+11101000110000001000000000000000
+10011000000000000010001000000000
+00100000010000000111001110101011
+00100000010000000111010000011111
+00011000000000000111000000000000
+11101010011000001000000000000000
+00011111111000010111111000000011
+00011111111100000101111000000000
+01111001001000000101111000001000
+00100000010000000111010010001111
+00100000010000000111010000100010
+00011010001000100111001000000000
+00011010011000001000110000000010
+00100000010000000111010001101110
+00100000010000000111010001111000
+00100000010000000111010000100010
+00011111001000100111111000000000
+00100000001110100111001111010101
+00100000001000000111001111010000
+00011000000000000111000000001100
+00011101111000100111111000000000
+01100000000000100000010000010111
+00100000011000000000000000000000
+00011010001000001010001000000001
+00100000010000000111001110101101
+00011010011000100000110000000000
+00100000010000000111010010000010
+00100000010000000111010000100101
+00100000010000000111010010011110
+00011010011000001010011000010000
+00011010010000001010010111110000
+00100000001000010111001111011001
+00100000011000000000000000000000
+01000111011100001100000000111100
+11011010011000000100001111011100
+01101000000010101100010000000011
+00100000010000000111001111000001
+00011000000000000111000000001000
+10011000000000000101111000000000
+00011000000000000010001000000000
+00100000010000000111001110101101
+00100000010000000111010000100101
+11011010011000000100001111011110
+01101000000000001100001111011101
+00011111111000001010010111111111
+10011010011000001000101000000000
+00011000000000000111000000001100
+00011101111000100111111000000000
+11100000101000100000000000000000
+00100000010000000111001111011001
+01101000000000001100001111011101
+00011111111000001111111000000100
+01100000000000001100001111011101
+01101000000010101100010000000011
+00011000010000001000010000000001
+01100000000010101100010000000011
+00100000011000000000000000000000
+01000111011100010100000000111100
+01101000000000001000001011011010
+00011111111001100111110000010100
+00100000001000010111001111111111
+11011010011000000000001011011011
+00011111111000001010010111111111
+00011111111000001111111111111100
+01100000000000001000001011011010
+10011010011000001000110000000000
+11101000110000100000000000000000
+00011000000000000111000000001000
+10011000000000000101111000000000
+00011000000000000010001000000000
+01101000000010101100010000001000
+00100000010000000111001110101101
+00100000010000000111010000100101
+00011000000000000111000000001100
+00011101111000100111111000000000
+01100000000000100000010000011011
+00100000010000000111001111011001
+11011010011000000000001011011001
+00100000010000000111001111000001
+01101000000010100000010000011011
+10011000010001100111111000000000
+00100100011110100000000000000000
+01101000000000100100010000001101
+10011000010001100111111000000000
+00100000011110100000000000000000
+01100000000010100100010000001101
+01101000000000101100010000001000
+00011111111000001111111000000001
+01100000000000101100010000001000
+00011000000000000111111000000000
+00100000011000000000000000000000
+00100100001110111111010000011101
+00100000011000000000000000000000
+00011000000000000110110000110000
+00011000000000000110110000000000
+00100000001000000111010000011101
+00011000000000000110110000110010
+00011000000000000110110000000010
+00100000001000000111010000011101
+00011000000000000110110000110100
+00011000000000000110110000000100
+00100000001000000111010000011101
+00011000000000000110110000000001
+00011000000000000110110000000000
+00100000011000000000000000000000
+00011000000000000111000000000000
+01101000000000100000010000101111
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+01101000000000100100010000111010
+10011000000000000101111000000000
+00011111000000001111000000000001
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+00100000010000000111010010010010
+00011111000000001111000111111100
+01101000000000100100010011000111
+00011111111000100101111000000000
+00011111000000001111000000000100
+00011000000000000110110000111000
+00011000000000000110110000001000
+00100000001000000111010000011101
+01000111011100011100000000111100
+01101000000000110100010010100000
+01101000000010110000010001001111
+00100000001101001111010001000110
+01101000000000110000010001001111
+01101000000010110100010010100000
+00011000000000000111000000001000
+00011000010000100101111000000000
+00011111000000001111000000000001
+00011000010011110101111000000000
+00011111111100000111111000000000
+10011101111000011101111000000000
+00011111000000001111000000000001
+00011111111011110101111000000000
+00011111000000001111000000000001
+00011000000000000101111000000000
+00011000000000000111111000000000
+01101000000000001100010010001110
+01101000000010001100010010000101
+00100100001101001111010001010110
+01101000000000001100010010010101
+01101000000010001100010010001110
+01100000000000001100010001001010
+01100000000010001100010001001011
+00011000000000000111000000000000
+11011010010000000100010001001010
+00011000000000000111001000000100
+11101010001000100000000000000000
+11101010010010100000000000000000
+10011000010000101101111000000000
+00011111000000001111000000000001
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111010001011011
+00100000010000000111010010010010
+00011111000000001111000111111100
+01101000000000100100010011000111
+00011111111000100101111000000000
+00011111000000001111000000000100
+00011000000000000110110000111000
+00011000000000000110110000001100
+00100000010000000111010000011101
+00100000010000000111010010010001
+00011000000000000110110000111010
+00011000000000000110110000001000
+00100000001000000111010000011101
+00101111001000000000011000000000
+00100000011000001000000000000000
+00011000110000100111111000000000
+10011111001000001000101000000000
+00011000000000000111111000000000
+11100000101000001000000000000000
+00011111001000001111001000000001
+00101111001000000000011000000000
+00100000011000001000000000000000
+00100000001000000111010001110011
+00011000000000000111000000000000
+00011111001000100111111000000000
+00100000001110100111010001111101
+11101000110000100000000000000000
+00011111001000001111001111111100
+10011000000000000101111000000000
+00011111000000001111000000000001
+00101111000000000001111000000100
+00100000011000001000000000000000
+00100000001000000111010001111001
+00011000000000000111000000001000
+00100000001000000111010010000111
+00011000000000000111000000000100
+00100000001000000111010010000111
+00011000000000000111000000000000
+00011000000000000111001000000100
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111010010001000
+00100000011000000000000000000000
+11011000110000000000010001111100
+00100000001000000111010010000100
+00011000000000000111001000000100
+00100000001000000111010010010100
+00011000000000000111000000000000
+00011000000000000111001000000100
+00011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111010010010011
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011000000000000111001000000100
+00011101111000100111111000000000
+11100000101000100000000000000000
+00011111000000001111000000000001
+11000010000000000111010010011001
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011010011000100000101000000000
+00011010010000001111001000000001
+00011111001001100111110000001111
+00100000001000010111010010100100
+00011000000000000111001000010000
+00011101111000100111111000000000
+00011111001001100111110000000011
+00100000001000010111010010101100
+11100000101000100000000000000000
+00011111001000001111001111111100
+00100000011000101000000000000000
+00011111000000001111000000000001
+00100000001000000111010010100100
+11100000101000001000000000000000
+00011111111011001111111000000000
+11000010000000000111010010101100
+00100000011000000000000000000000
+00011000000000000111000000001100
+00011000000000000111001000000100
+11101000110000100000000000000000
+10011101111001100111110000000000
+00100100011000101000000000000000
+00011111000000001111000000000001
+11000010000000000111010010110010
+00011000000000000111110000000000
+00100000011000000000000000000000
+01101000000100001000000001010000
+01111001001111111111111000000000
+01100000000100001000000001010000
+00100000011000000000000000000000
+01101000000100001000000001010000
+01111001001000000111111000000000
+01100000000100001000000001010000
+00100000011000000000000000000000
+11011000101000000000100010000110
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111101111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111100111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111101111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001100110110001111111
+00111000000010000001010001101011
+00111000000011110111101110110011
+11100000101001001000000000000000
+00111000000000011111111010111000
+00111000000001010000110000010010
+00111000000010101011011100100010
+00111000000011101001111110100110
+11100000101001001000000000000000
+00111000000000001110011100001111
+00111000000001010110011100100000
+00111000000010000101000110011110
+00111000000011011001000010000100
+11100000101001001000000000000000
+00111000000000110001000000010010
+00111000000001110110000010111111
+00111000000010111111000010101111
+00111000000011000000001111010011
+11100000101001001000000000000000
+00111000000000111010000110001000
+00111000000001000011101011010000
+00111000000010111100101111110010
+00111000000011100100001111011001
+11100000101001001000000000000000
+00111000000000101011000000110000
+00111000000001110110101000000011
+00111000000010010001000110001000
+00111000000011011110010100100000
+11100000101001001000000000000000
+00111000000000111010000100011110
+00111000000001001111111001011101
+00111000000010001101110101010111
+00111000000011011010110010010011
+11100000101001001000000000000000
+00111000000000000001000111101101
+00111000000001100001100011000100
+00111000000010001000110110100111
+00111000000011100101011111111111
+11100000101001001000000000000000
+00111000000000110001100100101011
+00111000000001110100011001000001
+00111000000010011011111000001100
+00111000000011110110011010101101
+11100000101001001000000000000000
+00111000000000000001111110000011
+00111000000001010101101000100011
+00111000000010111111100110110000
+00111000000011000011100101001001
+11100000101001001000000000000000
+00111000000000010011101001010001
+00111000000001010101001111111101
+00111000000010110011011100101010
+00111000000011001111000110111011
+11100000101001001000000000000000
+00111000000000111010111010000101
+00111000000001011110111011011001
+00111000000010001001111001100110
+00111000000011000000000110101000
+11100000101001000000000000000000
+00100000011000000000000000000000
+11011000101000000000100100011110
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001000000000000111111
+00111000000010000000000000000000
+00111000000011000000000000000000
+11100000101001001000000000000000
+00111000000000000000000000000000
+00111000000001000000000000000000
+00111000000010000001000000000000
+00111000000011000000000000000000
+11100000101001001000000000000000
+00111000000000111111111100000000
+00111000000001111111111111111111
+00111000000010111111111111001111
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000111111111111111111
+00111000000001111111111111111111
+00111000000010111111111111111111
+00111000000011000000001111111111
+11100000101001001000000000000000
+00111000000000000000000000000000
+00111000000001000000000000000000
+00111000000010000000000000000000
+00111000000011000000000000000000
+11100000101001001000000000000000
+00111000000000010000000000000000
+00111000000001000000000000000000
+00111000000010111111000000000000
+00111000000011111111111111111111
+11100000101001001000000000000000
+00111000000000101001011011111111
+00111000000001100010011000110000
+00111000000010111001010001011101
+00111000000011111101001010000100
+11100000101001001000000000000000
+00111000000000110011001110100000
+00111000000001000100101101111010
+00111000000010000011011111011000
+00111000000011111100100111011100
+11100000101001001000000000000000
+00111000000000111010010001000000
+00111000000001011011100101011000
+00111000000010111000101111001110
+00111000000011010000100100011111
+11100000101001001000000000000000
+00111000000000101110000100101100
+00111000000001011111010001111100
+00111000000010110101011010110001
+00111000000011101111110101000111
+11100000101001001000000000000000
+00111000000000000110100000110111
+00111000000001101110110110010000
+00111000000010011110110011101100
+00111000000011011010110011000101
+11100000101001001000000000000000
+00111000000000100011001101010111
+00111000000001011000101011110011
+00111000000010001111100111100001
+00111000000011010010100111110000
+11100000101001001000000000000000
+00111000000000101110011111101011
+00111000000001111110011011100011
+00111000000010111110000110100111
+00111000000011010000101110001011
+11100000101001001000000000000000
+00111000000000100100111111100011
+00111000000001000010000011101111
+00111000000010011011010110100110
+00111000000011001101110000101111
+11100000101001001000000000000000
+00111000000000010011100001100000
+00111000000001101011110101101001
+00111000000010000011100100011010
+00111000000011011011001000100010
+11100000101001001000000000000000
+00100000011000000000000000000000
+01101000000000001100011001011010
+00100100001110100111010101111101
+00100000001000000111101001110111
+01000111011100100100000000111100
+01101000000000001100011001011010
+00100000011110100000000000000000
+01101000000000001100010110110001
+11000001100000001000000000000000
+01101000000000001100010010111110
+00100000011110100000000000000000
+01101000000000001100010011000011
+11000001000000011000000000000000
+01101000000000010100011010000010
+11000010100000000111010101111011
+01101000000000001100010011000000
+11000000000000000111101001110111
+00100000011000000000000000000000
+01110000010001001100000000000000
+00100000011000000000000000000000
+01000111011100101100000000111100
+01101000000000001100011001011010
+00100000001110100110000100101011
+00100000010000000110000100100100
+00100000010000000111010110000011
+00100000001000000111011001101101
+01011000000000000000000000000000
+01100000000001000000100110101110
+01100000000000100000100110110110
+01100000000000111100011001011110
+00100000011000000000000000000000
+01110000000010011011000000000001
+00100000001000000111010110001101
+01101000000000001100010110110001
+11000000000000001111011010001010
+00100000001000000010101010001100
+01101000000000001100010110110001
+11000000000000001111010110010000
+00100000001000000111011001101101
+00100000010000000111011010001010
+01101000000000001000100110101111
+00100100011110100000000000000000
+01110000000010011010111000000011
+00100000011000000000000000000000
+00100000010000000111010110110000
+11011010001000000000100111011110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000100110111110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011010001000000000100000100110
+11011010010000000000100110111110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000100100111110
+11011010010000000000100110111110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000010000000111110001111101
+11011111001000000000000000100000
+11011010001000000000100001100110
+11011010010000000000100000000110
+00100000001000000111111110001000
+11011010001000000000100101111110
+11011000101000000000100000000110
+00100000010000000111110001111001
+11011010001000000000100101011110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011010001000000000100000100110
+11011010010000000000100101011110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000100100111110
+11011010010000000000100101011110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000001000000111110010010110
+00100000010000000111010111100001
+11011010001000000000100111100110
+11011000101000000000100001100110
+00100000010000000111011110101000
+11011010001000000000100111000110
+11011000101000000000100000100110
+00100000010000000111011110101000
+11011010001000000000100000100110
+11011010010000000000100111000110
+11011000101000000000100000100110
+00100000010000000111011110000110
+11011010001000000000100010011110
+11011010010000000000100111000110
+11011000101000000000100001000110
+00100000010000000111011110000110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111011101010101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000010000000111011101010101
+11011111001000000000000000011000
+11011010001000000000100001100110
+11011010010000000000100000000110
+00100000001000000111111110001000
+11011010001000000000100011100110
+11011000101000000000100000000110
+00100000010000000111011110101000
+11011010001000000000100011001110
+11011000101000000000100000100110
+00100000010000000111011110101000
+11011010001000000000100000100110
+11011010010000000000100011001110
+11011000101000000000100000100110
+00100000010000000111011110000110
+11011010001000000000100010011110
+11011010010000000000100011001110
+11011000101000000000100001000110
+00100000010000000111011110000110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111011101010101
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000001000000111011101011000
+01101000000000001000100110110010
+11000000100000000111011000010101
+00100000010000000111011000010010
+11011000101000000000101001111110
+01011000000000000000101000101110
+11100000101000010000000000000000
+01011000000000000100011001000010
+11100000101000010000000000000000
+01011000000000000000100111011110
+11100000101000010000000000000000
+00100000001000000111011000001001
+11011000101000000000101001111110
+01011000000000000000101000111110
+11100000101000010000000000000000
+01011000000000000000100111011110
+11100000101000010000000000000000
+01011000000000000100011001000010
+11100000101000010000000000000000
+00100000010000000111100110100000
+01101000000000001000100110101111
+11000000000000100111011000001111
+01110000000010011011000000000001
+01110000000010011010111000000101
+00100000011000000000000000000000
+01110000000010011010111100010100
+00100000010000000111010110001010
+00100000001000000111011011011000
+11011000101000000000101000011110
+00011000000000000000111000001000
+00100000001000000111011010100010
+01110000000010011011000000000001
+00100000011000000000000000000000
+01000111011100110100000000111100
+11011000101000000000011100100111
+01101000000000110100000010100000
+11100000101000110000000000000000
+01101000000000110000000001000000
+11100000101000110000000000000000
+01101000000000011100011001011110
+11100000101000011000000000000000
+00100000010000000111101000001101
+11011010001000000000101001001110
+11011010010000000000101001011110
+00011000000000000000111000000100
+00100000010000000111011010100111
+00100100001000001111011000110001
+00100000010000000111011000101000
+01110000000000000111110101000001
+00100000001000000110001011111000
+01101000000000001000100110101111
+11000000000001001111011000101110
+01110000000010011010111000001010
+01110000000010011011000000000001
+01110000000000000111110000000011
+00100000011000000000000000000000
+01110000000000000111110000000011
+01110000000010011010111100010101
+00100000001000000111011011011000
+01101000000000001000100110101111
+11000000000001001111011000110111
+01110000000010011010111000000000
+01110000000000000111110000000100
+01110000000000000111111000000101
+00100000011000000000000000000000
+01110000000000000111110000000100
+01110000000010011010111100000000
+00100000011000000000000000000000
+01101000000000001000100110110011
+11000000000000001111011000111110
+01110000000010011010111100001010
+00100000001000000111011011011000
+11011000101000000000011100100111
+01101000000000110000000001000000
+11100000101000110000000000000000
+01101000000000110100000010100000
+11100000101000110000000000000000
+01101000000000011100011001011011
+11100000101000011000000000000000
+00100000010000000111101000100100
+01101000000000001000100110101111
+11000000000001010111011001001011
+01110000000010011010111000001011
+01110000000010011011000000000001
+00100000011000000000000000000000
+01110000000010011010111100001011
+01110000000010011011000100000001
+00100000011000000000000000000000
+11011000101000000000101001111110
+01101000000000110000000001000000
+11100000101000110000000000000000
+01101000000000110100000010100000
+11100000101000110000000000000000
+01011000000000000000101000101110
+11100000101000010000000000000000
+01011000000000000000101000111110
+11100000101000010000000000000000
+00100000001000000111011001100010
+01110000000010011010111000001111
+11011000101000000000101001111110
+01101000000000110100000010100000
+11100000101000110000000000000000
+01101000000000110000000001000000
+11100000101000110000000000000000
+01011000000000000000101000111110
+11100000101000010000000000000000
+01011000000000000000101000101110
+11100000101000010000000000000000
+11011000101000000000011100100111
+01101000000000110000101001111110
+11100000101000110000000000000000
+01101000000000110000101010000100
+11100000101000110000000000000000
+00100000010000000111100111010111
+01110000010000011011110100000001
+11011000101000000100000110111110
+11011000110000000000101001001110
+00100000010000000111111010111111
+00100000001000000010000111000100
+01000111011100111100000000111100
+01101000000000001100010110110001
+11000001100000000000000000000000
+01101000000000001000100110110010
+11000001100000000000000000000000
+11011000101000000100011000010010
+00011000000000000000111000001011
+00100000010000000111011010100010
+00011000000010100111111000000000
+00011111111000110111111000000000
+11100000101000010000000000000000
+11011000101000000000011010111110
+11011000110000000100011000010010
+00100000010000000111111010111110
+11011000101000000000010111100110
+11011000110000000000100011001110
+00100000010000000111111010111100
+11011000101000000000011000010110
+00100000010000000111111011000101
+01110000000001100001011000000001
+00100000010000000111101001011101
+01110000000010011011001000000001
+00100000011000000000000000000000
+11011000101000000100011000101010
+11011000110000000000011000101110
+00100000010000000111111010111100
+01110000010001011011000100000001
+01110000000010011011001000000000
+00100000011000000000000000000000
+01000111011101000100000000111101
+01101000000000001000100110111001
+11000001100000000000000000000000
+01101000000000001000100110110010
+11000001100000000000000000000000
+11011000101000000000011010111110
+11011000110000000100011000010010
+00100000010000000111111010111110
+11011000101000000000010111100110
+11011000110000000000100111000110
+00100000010000000111111010111100
+11011000101000000000011000010110
+00100000010000000111111011000101
+01110000000001100001011000000001
+00100000010000000111101001011101
+01110000000010011011001000000010
+00100000011000000000000000000000
+01110000000010011011001100000001
+11011000101000000000101000000110
+11011000110000000000011000101110
+00100000010000000111111010111110
+01110000000010011011100100000001
+01110000000010011011001000000000
+00100000011000000000000000000000
+00011000111000001000111111111111
+00100100011000010000000000000000
+00011000000010100111111000000000
+11100000101000010000000000000000
+00100000001000000111011010100010
+00011000111000001000111111111111
+00100100001000010111011010110011
+11101010001000100000000000000000
+00011111111000100000010000000000
+11101010010000100000000000000000
+10011000010000101111111000000000
+00100100001000101111011010110001
+00011010001000001010001000000100
+00011010010000001010010000000100
+00100000001000000111011010100111
+01111000010000001111110000000000
+00100000011000000000000000000000
+01111000001000001111110000000000
+00100000011000000000000000000000
+01000111011101001100000000111101
+01101000000000001000100110110000
+00100000011110100000000000000000
+00100000010000000110001010111100
+00100100011110100000000000000000
+01110000000010011011000000000000
+01101000000000001000100110101110
+11000000000000011110000111111101
+11000000000000101110001000011010
+11000000000000111110001000100101
+11000000000001011110001000111010
+11000000000000010111010110001000
+11000000000000100111010111110111
+11000000000001001111011000010111
+11000000000001010111011000111010
+11000000000001100111011001011000
+00100000011000000000000000000000
+01000111011101010100000000111101
+01101000000000001000100110110001
+00100000011110100000000000000000
+00100000010000000110001010111100
+00100100011110100000000000000000
+01110000000010011011000100000000
+01101000000000001000100110101111
+11000000000010010110000111100000
+11000000000010011110000111100101
+11000000000000011110000111101001
+11000000000000100111011000000010
+11000000000010100110000111101101
+11000000000000111110000111111011
+11000000000001010111011000111010
+11000000000001011110001000111001
+11000000000001001111011000010111
+11000000000010101110001000110011
+00100000011000000000000000000000
+01110000000010011011000100000001
+00100000011000000000000000000000
+01110000000010011011000100000000
+00100000011000000000000000000000
+01000111011101011100000000111101
+01101000000000001100011001011010
+00100000011110100000000000000000
+01101000000000001000100110110010
+00100000011110100000000000000000
+00011111111000001111111010000000
+01100000000000001000100110110010
+11000011100000111000000000000000
+01101000000000001000010111100011
+00100000001110100111011011100111
+00100000001000000111101001101000
+00100000010000000111100011010011
+01101000000000001000100110110010
+11000000000000001111011010000100
+11000000000000010111011010011011
+00100000011000000000000000000000
+00011111111000010000111000000111
+00011111111010010111111000000000
+10011000110000001000110000000000
+11101000110000001000000000000000
+10101111111011000000000000000000
+00100000011000000000000000000000
+00100000010000000111111010111110
+00100000010000000111111010111110
+00100000001000000111111010111110
+11101000110001000000000000000000
+00100100011110100000000000000000
+11101000110001000000000000000000
+00100100011110100000000000000000
+11101000110001000000000000000000
+00100000011000000000000000000000
+11101010001000100000000000000000
+10011000000000000000010000000000
+11101010010000100000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111011011111011
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011010001000001010001000010100
+00011010010000001010010000010100
+11101010010000100000000000000000
+10011000000000000000010000000000
+11101010001000100000000000000000
+10011000010001100111111000000000
+00100100011000010000000000000000
+00100100011110100000000000000000
+00011010001000001010001111111100
+00011010010000001010010111111100
+11000010000000000111011100000111
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101010001000100000000000000000
+10011000000000000000010000000000
+11101010010000100000000000000000
+10011000010000001111111000000000
+10011010011000001111111000000000
+11100000101000100000000000000000
+00101111111011111111111000100000
+01111001001000001010011000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111011100010011
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101010010000100000000000000000
+10011000000000000000010000000000
+11101010001000100000000000000000
+10011000010001100111111000000000
+10011010011001100111111000000000
+11100000101000100000000000000000
+00101111111011111111111000100000
+01111001001000001010011000000000
+00011010001000001010001000000100
+00011010010000001010010000000100
+11000010000000000111011100100001
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011010001000001010001000010100
+00011000000000000010011000000000
+11101010001000100000000000000000
+00101111111011111111111000000000
+01111001001000001010011000000001
+00011111111000110111111000000000
+00101010011011111111111000000000
+01111001001000001111111000011111
+11100010001000100000000000000000
+00011010001000001010001111111100
+00011010011000110010011000000000
+11000010000000000111011100110000
+00100000011000000000000000000000
+00011000000000000111001000000110
+00011000000000000010011000000000
+11101010001000100000000000000000
+00101111111011111111111000011111
+01111001001000001010011000000001
+00011111111000111111111000000000
+00101010011011111111111000000000
+01111001001000001111111000000000
+11100010001000100000000000000000
+00011010001000001010001000000100
+00011010011000110010011000000000
+11000010000000000111011100111101
+00100000011000000000000000000000
+00100000010000000111011100111011
+00101010011011111111111000000000
+00100000001000001111011101010001
+11011010010000000000100010000110
+00011010001000100010011000000000
+00011010001000001010001111101000
+00100000010000000111011100000100
+00100100011000010000000000000000
+00011010011000100010001000000000
+00011010001000001010001111101000
+11011010010000000000100010000110
+00011010001000100000101000000000
+00100000001000000111011100011111
+00100000010000000111011100010001
+00011000101000100010001000000000
+00100000001000000111011101001001
+00100000010000000111011100011111
+00101010011011000000000000000000
+00100000011000001000000000000000
+11011010010000000000100010000110
+00011000101000001010001111101000
+00011010001000100000101000000000
+00100000001000000111011100010001
+00011000101000100001011000000000
+00011010001000100110000000000000
+11011010010000000000011100010110
+00011010010000100000101000000000
+00011010001000001000110000011000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+00011001011000100000101000000000
+00100000010000000111011101010101
+11011010010000000000011100010110
+00011010010000100000101000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+00011110000000001000110000100000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111011101010101
+11011010010000000000011100010110
+00011010010000100000101000000000
+00011110000000001000110000101000
+11101000110001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+11100000101001000000000000000000
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000001000000111011101010101
+00011000000000000111001000000110
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000000000001
+11000010000000000111011110000001
+00100000011000000000000000000000
+00011000101000100001011000000000
+11011000101000000000011011100110
+00100000010000000111111011000101
+11011000101000000000011011100110
+00011010001000100000110000000000
+00011000000000000111000000000000
+00100000010000000111011110000000
+00011010010000100000110000000000
+00100000010000000111011110000000
+00011000000000000010010000000000
+00011000000000000000010000000000
+00011000000000000010011000000110
+11101000101000100000000000000000
+10011000000000000010001000000000
+00011010010000100111000000000000
+00011101111000100111111000000000
+00011010011000100111000000000000
+10011101111011111111111000000000
+10011010001000001111111000000000
+10011000010000001111111000000000
+11100000101000100000000000000000
+00011111111011110000010000000000
+00011010011000001010011000000001
+00101010011000011111111000001100
+00100100001000001111011110010010
+00011000010000100111111000000000
+11100000101000100000000000000000
+00011000101000001000101111101000
+00011010010000001010010000000001
+00101010010000011111111000000110
+00100100001000001111011110010000
+11011010001000000000011011100110
+00011001011000100000101000000000
+00100000001000000111011101011111
+00011010001000100010010000000000
+00100000001000000111011110000110
+00011010001000100110000000000000
+00011110000000100010001000000000
+11101010001000001000000000000000
+00101111111011111111111000000000
+00100000011000001000000000000000
+00100000010000000111011100101101
+11101010010000001000000000000000
+00101111111011000000000000000000
+00100000001000001111011110111010
+11011010001000000000100010000110
+00011010010000100000101000000000
+00100000010000000111011100010001
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00011010010000001010010111101000
+00011010010000001010001000011000
+00011000000000000111001000000111
+00100000010000000111011100101111
+00100000001000000111011110101011
+00011000101000100001011000000000
+11011000101000000000011101000110
+00100000010000000111111011000101
+00011000000000000111111000000000
+01100000000000100000011011111110
+01100000000000100000011101011110
+01110000000001110100011000000001
+11011000101000000000011011100110
+00100000010000000111111011000101
+11011000110000000000100010000110
+11011000101000000000011100010110
+00100000010000000111111010111110
+00011010001000100000110000000000
+11011000101000000000011100101110
+00100000010000000111111010111110
+11011000110000000000011100101110
+00100000010000000111011011110101
+00100000001110100111011111110110
+11011010001000000000011100101110
+11011010010000000000011101000110
+00100000010000000111011110101010
+11011010001000000000011100010110
+11011010010000000000011011100110
+00100000010000000111011110101010
+11011010001000000000011100101110
+11011010010000000000011100010110
+00100000010000000111011100000100
+00100000001000010111011111101000
+11011010001000000000011100010110
+11011010010000000000011100101110
+00011010001000100000101000000000
+00100000010000000111011100011111
+11011010001000000000011101000110
+11011010010000000000011011100110
+00011010010000100000101000000000
+00100000010000000111011100010001
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111011111001101
+11011010001000000000011100101110
+11011010010000000000011100010110
+00011010001000100000101000000000
+00100000010000000111011100011111
+11011010001000000000011011100110
+11011010010000000000011101000110
+00011010010000100000101000000000
+00100000010000000111011100010001
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111011111001101
+11011000101000000000011101000110
+00100000010000000111111011000101
+01101000000000001000011011111110
+01100000000000001000011101000110
+01100000000000001000011101001110
+11011010001000000000011101000110
+11011010010000000000011011100110
+00011010010000100000101000000000
+00100000010000000111011101010101
+11011010001000000000100010000110
+11011010010000000000011011100110
+00011001011000100000101000000000
+00100000001000000111011101011000
+11011010001000000000011010100110
+11011000101000000000011101011110
+00100000010000000111011110101000
+11011010001000000000011101011110
+11011000101000000000011101110110
+00100000010000000111011110101000
+11011010001000000000100010011110
+11011010010000000000011101110110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011001110110
+11011000101000000000011101011110
+00100000010000000111011110101000
+11011000110000000000011101011110
+11011000101000000000011100101110
+00100000010000000111111010111110
+11011010001000000000011100101110
+00100000010000000111011101001000
+11011010001000000000011101011110
+11011010010000000000011100101110
+11011000101000000000011101011110
+00100000010000000111011101010101
+11011010001000000000011101011110
+11011010010000000000011101110110
+11011000101000000000011101011110
+00100000010000000111011101010101
+11011000110000000000011001110110
+11011000101000000000011100101110
+00100000010000000111111010111110
+11011010001000000000011010001110
+11011000101000000000011101110110
+00100000010000000111011110101000
+11011010001000000000011100101110
+00100000010000000111011101001000
+11011010001000000000011100101110
+00100000010000000111011101001000
+11011010001000000000011100101110
+11011010010000000000011101110110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011000101000000000011101000110
+00100000010000000111011110101000
+11011010001000000000011101000110
+00100000010000000111011101001000
+11011010001000000000011101000110
+00100000010000000111011101001000
+11011010001000000000011101000110
+00100000010000000111011101001000
+11011000110000000000011010001110
+11011000101000000000011101110110
+00100000010000000111111010111110
+11011010001000000000011101110110
+00100000010000000111011101001000
+11011010001000000000011101110110
+11011010010000000000011010100110
+11011000101000000000011010100110
+00100000010000000111011110000110
+11011010001000000000011101011110
+11011000101000000000011101110110
+00100000010000000111011110101000
+11011010001000000000011101110110
+11011010010000000000011100101110
+11011000101000000000011101110110
+00100000010000000111011101011000
+11011010001000000000011101110110
+11011010010000000000011100101110
+11011000101000000000011001110110
+00100000010000000111011101011000
+11011010001000000000011100101110
+11011010010000000000011001110110
+11011000101000000000011101110110
+00100000010000000111011101011000
+11011010001000000000011101110110
+11011010010000000000011101011110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011010010000000000011101000110
+11011000101000000000011010001110
+00100000001000000111011101011000
+11011010001000000000011000010110
+11011000101000000000011110001110
+00100000010000000111011110101000
+11011010001000000000011001110110
+11011010010000000000011110001110
+11011000101000000000011101000110
+00100000010000000111011110000110
+11011010001000000000011000010110
+11011010010000000000011110001110
+11011000101000000000011110001110
+00100000010000000111011110000110
+11011010001000000000011010001110
+11011010010000000000011110001110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011010100110
+11011000101000000000011110001110
+00100000010000000111011110101000
+11011010001000000000010111100110
+11011010010000000000011110001110
+11011000101000000000011101011110
+00100000010000000111011110000110
+11011010001000000000011010100110
+11011010010000000000011110001110
+11011000101000000000011110001110
+00100000010000000111011110000110
+11011010001000000000010111111110
+11011010010000000000011110001110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011101000110
+11011010010000000000011101011110
+11011000101000000000011110001110
+00100000010000000111011101011000
+11011010001000000000011101000110
+11011010010000000000011101011110
+11011000101000000000011101000110
+00100000010000000111011101010101
+11011010001000000000011100101110
+11011010010000000000011101110110
+11011000101000000000011101011110
+00100000010000000111011101011000
+11011010001000000000011100101110
+11011010010000000000011101110110
+11011000101000000000011100101110
+00100000010000000111011101010101
+11011010001000000000011100101110
+11011010010000000000011110001110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011010100110
+11011010010000000000011000010110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011010010000000000011110001110
+11011000101000000000011010100110
+00100000010000000111011110000110
+11011010001000000000011110001110
+11011000101000000000011110001110
+00100000010000000111011110101000
+11011010001000000000011110001110
+11011010010000000000011101000110
+11011000101000000000011101110110
+00100000010000000111011110000110
+11011010001000000000011110001110
+11011010010000000000011100101110
+11011000101000000000011100101110
+00100000010000000111011110000110
+11011010001000000000011101011110
+11011000101000000000011001110110
+00100000010000000111011110101000
+11011010001000000000011001110110
+11011010010000000000011101110110
+11011000101000000000011001110110
+00100000010000000111011101011000
+11011000110000000000011001110110
+11011000101000000000011110001110
+00100000010000000111111010111110
+11011010001000000000011110001110
+00100000010000000111011101001000
+11011010001000000000011101110110
+11011010010000000000011110001110
+11011000101000000000011101110110
+00100000010000000111011101011000
+11011010001000000000011101110110
+11011010010000000000011101011110
+11011000101000000000011101011110
+00100000010000000111011110000110
+11011010001000000000011101011110
+11011010010000000000011100101110
+11011000101000000000011010001110
+00100000010000000111011101011000
+11011010001000000000011010001110
+11011010010000000000100010000110
+11011000101000000000011010001110
+00011000000000000010011000000000
+01101000000000001000011010001110
+00101111111011111111111000000000
+00100000010000001111011100010001
+00011010011000100110000000000000
+11011010001000000000011010001110
+00100000010000000111011100101101
+01101000000000001000011010100101
+00101110000011111111111000000000
+01111001001000001111111000000111
+01100000000000001000011010100101
+00100000011000000000000000000000
+01101000000000001000010111100011
+00011111111000001111111111111111
+00100100011000010000000000000000
+01100000000000001000010111100011
+01101000000000001000010111100010
+00100000010110100111100000000011
+01101000000000001000010111100011
+11011000110000000000011010111110
+00100000010000000111011011101100
+00100000001000001111100011000000
+01101000000000001000010111100010
+00100100001110100111100011001110
+00100000010000000111100001010100
+00100000001000000111100011000000
+01110000000001011110001000000000
+11011000110000000000010111100110
+11011000101000000000011001110110
+00100000010000000111011011110010
+00100000001000000111100011000000
+11011010001000000000011010100110
+11011000101000000000011101110110
+00100000010000000111011110111110
+11011010001000000000011101110110
+11011000101000000000011100101110
+00100000010000000111011110101000
+11011010001000000000011001110110
+11011010010000000000011100101110
+11011000101000000000011000101110
+00100000010000000111011110000110
+11011010001000000000011101110110
+11011010010000000000011100101110
+11011000101000000000011101011110
+00100000010000000111011110000110
+11011010001000000000011010001110
+11011010010000000000011101011110
+11011000101000000000011001000110
+00100000001000000111011110000110
+11101000110000100000000000000000
+00011000000000000010001000000100
+00011000101000001000101000000011
+11100000101000001000000000000000
+00011111111011001111111000000000
+00011000101000001000101111111110
+00011010001000001010001111111111
+00100100001000101111100011101000
+00011000101000001000101000000101
+11000010000000000111100011100101
+00100000011000000000000000000000
+00011000111010111111111000000000
+10011001011000001000110000000000
+11101000110000100000000000000000
+00100000011000000000000000000000
+00011000000000000110000000010000
+11011001011000000000010111100110
+00011110000000001000111111111001
+00100000010000000111100011110000
+10011000000000000000010000000000
+00011110000000001000111111110000
+00100000010000000111100011110000
+10011000010000001000010000000000
+00011110000000001000111111111110
+00100000010000000111100011110000
+00011111111011100111111000000001
+10011000010000001000010000000000
+00011110000000001000111111110001
+00100000010000000111100011110000
+00011111111011100111111000000000
+10011000010000001000010000000000
+00011110000010111111111000000000
+10011001011000001000101000000000
+11100000101010100000000000000000
+00011110000000001110000000000001
+00101110000000011111111001000000
+00100100001000001111100011110110
+00100000011000000000000000000000
+11011000110000000000100011111110
+00011000000000000111000000000111
+11101000110000100000000000000000
+10011000000000000101111000000000
+00011111000000001111000111111111
+00100000001000010111100100001101
+00100000011000000000000000000000
+01000111011101100100000000111101
+00100000010000000111100011110100
+11011000101000000000011011100110
+00011000000000000111000000000000
+00011101111000100111111000000000
+11100000101000100000000000000000
+00011111000000001111000000000001
+00101111000000011111111000001000
+00100100001000001111100100010110
+00100000010000000111010010111001
+11011001011000001000011100000000
+11011110000000000000010111100110
+00011000000000000111001001000000
+11101110000010100000000000000000
+11101001011000100000000000000000
+00011001011000001001011000000100
+00011110000000001110000000000100
+10011000010000001111111000000000
+00011000000000000111000000000111
+10011101111000001000010000000000
+00011000000000000111000000000100
+00011101111011100111111000000011
+10011000010000001000010000000000
+00011000000000000111000000000101
+00011101111000100111111000000000
+00011000000000000111000000000110
+10011101111000101111111000000000
+00011000000000000111000000000100
+10011101111000010111111000000000
+00011000000000000111000000000110
+10011101111000101111111000000000
+10011000010000001000010000000000
+00011000000000000111000000000111
+00011000010000100101111000000000
+00011000000000000111000000000011
+00011101111000100111111000000000
+10011000010000001101111000000000
+00011000000000000111000000000000
+00011101111000100111111000000000
+00011000000000000111000000000001
+10011101111000010000010000000000
+10011101111000011111111000000000
+00011000000000000111000000000010
+10011101111000010111111000000000
+10011000010000011000010000000000
+00011000000000000111000000000000
+00011101111011100111111000000010
+10011000010000001111111000000000
+00011000000000000111000000000111
+10011101111000001101111000000000
+10011000000011101111110000000000
+11000010000000000111100100011111
+11011000110000000000011011100110
+00011000000000000111000000000000
+11101000110000100000000000000000
+10011101111000001101111000000000
+00011111000000001111000000000001
+00101111000000011111111000001000
+00100100001000001111100101001000
+00100000001000000111010010111101
+11011000101000000000101000111110
+00011000000000000111000000000111
+00011101111000100111111000000000
+11100000101000100000000000000000
+00011111000000001111000111111111
+00100000001000010111100101010000
+00100000011000000000000000000000
+11011000101000000000010111100110
+00011000110000001000110111111100
+00011111001001100010001000010000
+11101000110000100000000000000000
+10011000010000101111111000000000
+11100000101000100000000000000000
+00011000110000001000110111111000
+11000010000000000111100101011000
+00011010001000100111001000000000
+00011000010000100111111000000000
+11100000101000100000000000000000
+11000010000000000111100101011111
+00100000011000000000000000000000
+00100000010000000111100101100111
+00100000010000000111100101001110
+00100000001000000111100110001101
+00100000010000000111100101100111
+00100000001000000111100110001101
+11011000110000000000100111011110
+11011000101000000000010111100110
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000100011001000010
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000000101000111110
+00100000010000000111101001110000
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000101110
+11011000101000000000010111100110
+00100000001000000111100110000100
+11011000110000000100011001000010
+11011000101000000000010111100110
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000000100111011110
+00011000000000000111001000000110
+00100000010000000111101001110001
+11011000110000000000101000101110
+00100000010000000111101001110000
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000111110
+11011000101000000000010111100110
+00100000010000000111100110000100
+00100000001000000111100110001101
+00100000010000000111101001110000
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00011000000000000111001000000101
+00100000010000000111111011000110
+01011000000000000000001010000000
+11100000101000100000000000000000
+00100000001000000111100100010010
+01101000000000100000101000111110
+11011010001000000000001111101000
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001110111111000000000
+01100000000000100000100110111010
+00011000000001111111111000000000
+11011010001000000000001111101000
+10011010001001101111110000000000
+00100000010000000111111110000110
+00011000000001110111111000000000
+11011010001000000000001111101000
+10011010001011111111111000000000
+01101000000010100000100110111010
+10011000010000001111111000000000
+01100000000000100000100110111010
+00100000011000000000000000000000
+01110000010001100110010000000000
+00100000001000000111100110100010
+01101000000000001100011001100010
+11000000100000010111100110011110
+01000111011101101100000000111101
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+01101000000000010000101001111110
+00011111111000100000110000000000
+00011000000000000111001000000100
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+01101000000000010000101010000000
+00011111111000100000110000000000
+11011000101000000000010111100110
+00011000000000000111001000000110
+00100000010000000111101001110001
+01101000000000010000101010000010
+00011111111000100000110000000000
+00011000000000000111001000000110
+00100000010000000111101001110001
+01011000100000000000000000000000
+11100000101000011000000000000000
+01101000000000001100011001100100
+11100000101000001000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+01011000000000000000001110001000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000010000000111100101001110
+11011000110000000000101000111110
+11011000101000000000011100000110
+00100000010000000111111010111101
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+01101000000000010000101001111110
+00011111111000100000110000000000
+00011000000000000111001000000100
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000011100100110
+11011000101000000000010111100110
+00011000000000000111001000001000
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00100000010000000111111011000101
+01011000000000000000001100000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000001000000111100101001110
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+01101000000000010000101010001010
+00011111111000100000110000000000
+11011000101000000000010111100110
+00100000010000000111101001110000
+01101000000000010000101010001100
+00011111111000100000110000000000
+00100000010000000111101001110000
+01011000011000100111010001101100
+00011111111011010111111000000000
+00011111111000011111111001101011
+11100000101000100000000000000000
+11011000110000000000011100110011
+00011000000000000111001000000011
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+01011000000000000000001110000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000010000000111100101001110
+11011000110000000000101000111110
+11011000101000000000011100000110
+00100000010000000111111010111101
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000011100100110
+11011000101000000000010111100110
+00011000000000000111001000001000
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00100000010000000111111011000101
+01011000000000000000001100000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000001000000111100101001110
+01101000000000001100011001100010
+11000000100000010111101000011110
+01000111011101110100000000111101
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000111110
+11011000101000000000010111100110
+00100000010000000111101001110000
+11011000110000000000101000101110
+00100000010000000111101001110000
+00100000001000000111101000110011
+01011000000000000000000000000000
+01100000000000100100011010001010
+00100000001000000111101000001111
+01011000000000000000000000000000
+01100000000000100100011010001010
+00100000001000000111101000100110
+01101000000000001100011001100010
+11000000100000010111101000100001
+01011000001101100011011000110110
+00011111111011010000010000000000
+00011000010000011000010000110110
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000101000101110
+11011000101000000000010111100110
+00100000010000000111101001110000
+11011000110000000000101000111110
+00100000010000000111101001110000
+01011000000000000000000000000000
+11100000101001000000000000000000
+11100000101000100000000000000000
+01101000000000100100011010001010
+11100000101000100000000000000000
+00011000101000100000010000000000
+01110000000001110010011010000000
+00011000010000100000101000000000
+11011000110000000000011100110110
+00100000010000000111101001110000
+00100000010000000111100100010010
+11011000101000000000010111100110
+00011000000000000111001000000111
+00100000010000000111111011000110
+11100000101000100000000000000000
+01011000000000000000001111111000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000010000000111100101001110
+11011000110000000000101000111110
+11011000101000000000011100000110
+00100000010000000111111010111101
+01011000010111000101110001011100
+00011111111011010000010000000000
+00011000010000011000010001011100
+11011000110000000000101000011110
+00011000000000000111001000000110
+00100000010000000111100101010101
+00100000010000000111100100001011
+00100000010000000111100100010010
+11011000110000000000011100100110
+11011000101000000000010111100110
+00011000000000000111001000001000
+00100000010000000111101001110001
+01011000100000000000000000000000
+00011111111011010111111000000000
+11100000101000100000000000000000
+00100000010000000111111011000101
+01011000000000000000001100000000
+11100000101000100000000000000000
+00100000010000000111100100010010
+00100000001000000111100101001110
+01110000000001011110001111000000
+01101000000000001000010111100011
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001000010111100011
+11011000110000000000011010111110
+00100000010000000111011011101100
+00100000001000001111101001011110
+11011000110000000000010111100110
+11011000101000000000011001110110
+00100000001000000111011011110010
+00100000010000000111100000000011
+01101000000000001000010111100011
+00011111111000001111111111111111
+01100000000000001000010111100011
+11011000110000000000011010111110
+00100000010000000111011011101100
+00100000011000001000000000000000
+00100000001000000111100001010100
+00011000000000000111001000000100
+00011000110000001000110111111100
+11101000110000100000000000000000
+11100000101000100000000000000000
+00011000110000001000110111111000
+11000010000000000111101001110010
+00100000011000000000000000000000
+01000111011101111100000000111101
+01101000000000001100010010111110
+00100000001110100101101011110000
+00100000010000000101101011101100
+00100000010000000111010110000011
+00100000001000000111101001111101
+01101000000000001100010011000011
+11000001100000000000000000000000
+01101000000000001100010011000000
+11000001100000000000000000000000
+11011000101000000100010110110010
+00011000000000000000111000001111
+00100000010000000111011010100010
+00011000000010100111111000000000
+00011111111000110111111000000000
+11100000101000010000000000000000
+11011000101000000000011101100110
+11011000110000000100010110110010
+00100000010000000111111010111101
+11011000101000000000011001000110
+11011000110000000000100101011110
+00100000010000000111111010110011
+11011000101000000000011010000110
+00100000010000000111111011010000
+01110000000001101000011000000001
+00100000010000000111101011000111
+01110000010001001100000000000011
+00100000011000000000000000000000
+11011000101000000100010111010010
+11011000110000000000011010100110
+00100000010000000111111010110011
+01110000010001001100001100000011
+01110000010001001100000000000000
+00100000011000000000000000000000
+01101000000000001000100110111001
+11000001100000000000000000000000
+01101000000000001100010011000000
+11000001100000000000000000000000
+11011000101000000000011101100110
+11011000110000000100010110110010
+00100000010000000111111010111101
+11011000101000000000011001000110
+11011000110000000000100110111110
+00100000010000000111111010110011
+11011000101000000000011010000110
+00100000010000000111111011010000
+01110000000001101000011000000001
+00100000010000000111101011000111
+01110000010001001100000000000100
+00100000011000000000000000000000
+11011000101000000000100111111110
+11011000110000000000011010100110
+00100000010000000111111010111101
+01110000000010011011100100000011
+01110000010001001100000000000000
+00100000011000000000000000000000
+01101000000000001100010010111110
+00100000011110100000000000000000
+01101000000000001100010011000000
+00100000011110100000000000000000
+00011111111000001111111010000000
+01100000000000001100010011000000
+11000011100000111000000000000000
+01101000000000010000010111100011
+00100000001110100111101010111001
+00100000001000000111101010111111
+01000111011110000100000000111110
+00100000010000000111101011010100
+01101000000000001100010011000000
+11000000000000011111101010010011
+11000000000000100111101010101001
+00100000011000000000000000000000
+00100000010000000111101011100110
+01101000000000010000010111100011
+00011111111000001111111111111111
+01100000000000010000010111100011
+11011000110000000000011101100110
+00100000010000000111011011101100
+00100000011000001000000000000000
+00100000001000000111101100110111
+01000111011110001100000000111110
+01011000000000000000000100000000
+01100000000000010000010111100011
+01101000000000010000010111100011
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000010000010111100011
+11011000110000000000011101100110
+00100000010000000111011011101100
+00100000001000001111101011001010
+11011000110000000000011001000110
+11011000101000000000011100000110
+00100000001000000111111010110010
+11011010001000000000011101000110
+11011000101000000000100001000110
+00100000010000000111101110100011
+11011010001000000000100001000110
+11011000101000000000011111100110
+00100000010000000111110001111001
+11011010001000000000011100000110
+11011010010000000000011111100110
+11011000101000000000011010100110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000011111100110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000011100100110
+11011010010000000000100000100110
+11011000101000000000011011000110
+00100000001000000111101111100001
+11011010001000000000011101000110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011010001000000000100000100110
+11011000101000000000100001000110
+00100000010000000111110001111001
+11011010001000000000100100111110
+11011010010000000000100001000110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000011100000110
+11011000101000000000100000100110
+00100000010000000111110001111001
+11011000110000000000100000100110
+11011000101000000000011111100110
+00100000010000000111111010111101
+11011010001000000000011111100110
+00100000010000000111110010000000
+11011010001000000000100000100110
+11011010010000000000011111100110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011010001000000000100000100110
+11011010010000000000100001000110
+11011000101000000000100000100110
+00100000010000000111110001111101
+11011000110000000000011100000110
+11011000101000000000011111100110
+00100000010000000111111010111101
+11011010001000000000011100100110
+11011000101000000000100001000110
+00100000010000000111110001111001
+11011010001000000000011111100110
+00100000010000000111110010000000
+11011010001000000000011111100110
+00100000010000000111110010000000
+11011010001000000000011111100110
+11011010010000000000100001000110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011000101000000000100000000110
+00100000010000000111110001111001
+11011010001000000000100000000110
+00100000010000000111110010000000
+11011010001000000000100000000110
+00100000010000000111110010000000
+11011010001000000000100000000110
+00100000010000000111110010000000
+11011000110000000000011100100110
+11011000101000000000100001000110
+00100000010000000111111010111101
+11011010001000000000100001000110
+00100000010000000111110010000000
+11011010001000000000100001000110
+11011010010000000000011101000110
+11011000101000000000011101000110
+00100000010000000111101111100001
+11011010001000000000100000100110
+11011000101000000000100001000110
+00100000010000000111110001111001
+11011010001000000000100001000110
+11011010010000000000011111100110
+11011000101000000000100001000110
+00100000010000000111110010010110
+11011010001000000000100001000110
+11011010010000000000011111100110
+11011000101000000000011100000110
+00100000010000000111110010010110
+11011010001000000000011111100110
+11011010010000000000011100000110
+11011000101000000000100001000110
+00100000010000000111110010010110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100000000110
+11011000101000000000011100100110
+00100000001000000111110010010110
+11011010001000000000011010000110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000011100000110
+11011010010000000000100001100110
+11011000101000000000100000000110
+00100000010000000111101111100001
+11011010001000000000011010000110
+11011010010000000000100001100110
+11011000101000000000100001100110
+00100000010000000111101111100001
+11011010001000000000011100100110
+11011010010000000000100001100110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000011101000110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000011001000110
+11011010010000000000100001100110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000011101000110
+11011010010000000000100001100110
+11011000101000000000100001100110
+00100000010000000111101111100001
+11011010001000000000011001100110
+11011010010000000000100001100110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010010000000000100000000110
+11011010001000000000100000100110
+11011000101000000000100001100110
+00100000010000000111110010010110
+11011010001000000000100000000110
+11011010010000000000100000100110
+11011000101000000000100000000110
+00100000010000000111110001111101
+11011010010000000000011111100110
+11011010001000000000100001000110
+11011000101000000000100000100110
+00100000010000000111110010010110
+11011010001000000000011111100110
+11011010010000000000100001000110
+11011000101000000000011111100110
+00100000010000000111110001111101
+11011010001000000000011111100110
+11011010010000000000100001100110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000011101000110
+11011010010000000000011010000110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001000110
+11011010010000000000100001100110
+11011000101000000000011101000110
+00100000010000000111101111100001
+11011010001000000000100001100110
+11011000101000000000100001100110
+00100000010000000111110001111001
+11011010001000000000100001100110
+11011010010000000000100000000110
+11011000101000000000100001000110
+00100000010000000111101111100001
+11011010001000000000100001100110
+11011010010000000000011111100110
+11011000101000000000011111100110
+00100000010000000111101111100001
+11011010001000000000100000100110
+11011000101000000000011100000110
+00100000010000000111110001111001
+11011010001000000000011100000110
+11011010010000000000100001000110
+11011000101000000000011100000110
+00100000010000000111110010010110
+11011000110000000000011100000110
+11011000101000000000100001100110
+00100000010000000111111010111101
+11011010001000000000100001100110
+00100000010000000111110010000000
+11011010001000000000100001000110
+11011010010000000000100001100110
+11011000101000000000100001000110
+00100000010000000111110010010110
+11011010001000000000100001000110
+11011010010000000000100000100110
+11011000101000000000100000100110
+00100000010000000111101111100001
+11011010001000000000100000100110
+11011010010000000000011111100110
+11011000101000000000011100100110
+00100000010000000111110010010110
+11011010001000000000011100100110
+11011010010000000000100100011110
+11011000101000000000011100100110
+00011000000000000010011000000000
+01101000000000001000011100100110
+00101111111011111111111000000000
+00100000010000001111110001111011
+00011010011000100110000000000000
+11011010001000000000011100100110
+00100000010000000111110010101011
+01101000000000001000011101000101
+00101110000011111111111000000000
+01111001001000001111111000000111
+01100000000000001000011101000101
+00100000011000000000000000000000
+00011000101000100001011000000000
+11011000101000000000100000000110
+00100000010000000111111011010000
+00011000000000000111111000000000
+01100000000000100000100000100110
+01110000000010000000011000000001
+11011000101000000000011110000110
+00100000010000000111111011010010
+11011000110000000000100100011110
+11011000101000000000011111000110
+00100000010000000111111010111101
+00011010001000100000110000000000
+11011000101000000000011111100110
+00100000010000000111111010111101
+11011000110000000000011111100110
+00100000010000000111110010110101
+00100000001110100111101111011010
+11011010001000000000011111100110
+11011010010000000000100000000110
+00100000010000000111110010111000
+11011010001000000000011111000110
+11011010010000000000011110000110
+00100000010000000111110010111000
+11011010001000000000011111100110
+11011010010000000000011111000110
+00100000010000000111110010110001
+00100000001000010111101111001100
+11011010001000000000011111000110
+11011010010000000000011111100110
+00011010001000100000101000000000
+00100000010000000111110010101001
+11011010001000000000100000000110
+11011010010000000000011110000110
+00011010010000100000101000000000
+00100000010000000111110001111011
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111101110110001
+11011010001000000000011111100110
+11011010010000000000011111000110
+00011010001000100000101000000000
+00100000010000000111110010101001
+11011010001000000000011110000110
+11011010010000000000100000000110
+00011010010000100000101000000000
+00100000010000000111110001111011
+11101010001000001000000000000000
+10011010011000001010011000000000
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00100000001000000111101110110001
+11011010001000000000011110000110
+00011001011000100000101000000000
+00100000010000000111110000001010
+11011010001000000000100100011110
+00011001011000100010010000000000
+00011001011000100000101000000000
+00100000001000000111110010010110
+00011000101000100001011000000000
+00011000000000000111000000000000
+11011000101000000000011110000110
+00100000010000000111111011010010
+11011000101000000000101011010010
+00100000010000000111111011010010
+00011010001000100000110000000000
+01110000000010101101001000000000
+01011000000000000000000000000000
+00100000010000000111110001110011
+00011010010000100000110000000000
+00100000010000000111110001110111
+00011000000000000000111000000000
+11011000101000000000011110000110
+11011000010000000000101011010010
+00011000111000100010010000000000
+00011010010010111111111000000000
+10011000010000001010010000000000
+00011000000000000000010000000000
+00011000000000000010011000000000
+11101000101000100000000000000000
+10011000000000000010001000000000
+11101010010000100000000000000000
+00011010011000100111000000000000
+10011101111011111111111000000000
+10011010001000001111111000000000
+10011000010000001111111000000000
+11100000101000100000000000000000
+00011111111011110000010000000000
+00011010011000001010011000000001
+00101010011000011111111000001000
+00100100001000001111101111110101
+00011000010000100111111000000000
+11100000101000100000000000000000
+00011000101000001000101111100000
+00011000111000001000111000000001
+00101000111000011111111000001000
+00100100001000001111101111101111
+11011010001000000000011110000110
+00011001011000100000101000000000
+00100000001000000111110000001010
+01000111011110010100000000111110
+00011000101000100001011000000000
+00011010001000100110000000000000
+11011010010000000000011111000110
+00011010010000100000101000000000
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011010001000001000110000101100
+00100000010000000111111010111001
+00100000010000000111111010110101
+00011010010000100010001000000000
+00100000010000000111110010000000
+11011010010000000000011111000110
+00011110000000100010001000000000
+00011001011000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011110000000001000110000110000
+00100000010000000111111010111111
+00100000010000000111111011001101
+00011010010000100010001000000000
+00100000010000000111110010000000
+11011010010000000000011111000110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000100000
+00100000010000000111111010110101
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011110000000001000110000111000
+00100000010000000111111010111001
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000100100
+00100000010000000111111010110101
+00011110000000001000110000110100
+00100000010000000111111010110101
+00011110000000001000110000110100
+00100000010000000111111010110110
+00011110000000001000110000100000
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110001111101
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000101100
+00100000010000000111111010110101
+00100000010000000111111011001101
+11100000101001000000000000000000
+00011110000000001000110000100000
+00100000010000000111111010110110
+00011110000000001000110000101000
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110010010110
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000110000
+00100000010000000111111010111001
+00100000010000000111111010111001
+00011000000000000111111000000000
+11100000101001000000000000000000
+00011110000000001000110000100100
+00100000010000000111111010110110
+00011110000000001000110000101100
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110010010110
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000110100
+00100000010000000111111010110101
+00011110000000001000110000100000
+00100000010000000111111010110101
+00100000010000000111111011001101
+00011110000000001000110000110000
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000010000000111110010010110
+11011010010000000000011111000110
+00011010010000100000101000000000
+00011110000000001000110000111000
+00100000010000000111111010111001
+00100000010000000111111011001101
+00011110000000001000110000100100
+00100000010000000111111010110101
+00100000010000000111111011001101
+00011110000000001000110000110100
+00100000010000000111111010110110
+00011001011000100010001000000000
+00011010001000100000101000000000
+00100000001000000111110010010110
+00011000000000000111001000100000
+11011000101000000000101011010010
+10011000101000001000101000000000
+00100000001000000111111100000001
+00011000000000000111001000001000
+00100000001000000111011110000001
+00011010001000100010010000000000
+00100000001000000111101111100001
+00011000000000000111001000001000
+00100000001000000111011100010010
+00100000010000000111110001111011
+00011000101000100010001000000000
+00100000001000000111110010000001
+00100000010000000111110010101110
+00101010011011111111111000000000
+00100000001000001111110010001010
+11011010010000000000100100011110
+00011010001000100010011000000000
+00011010001000001010001111100000
+00100000010000000111110010110001
+00100100011000010000000000000000
+00011010011000100010001000000000
+00100000001000000111110010010010
+00100000010000000111110010010010
+00011010001000100010011000000000
+00011010001000001010001111100000
+11011010010000000000100100011110
+00100000010000000111110010110001
+00100100011000010000000000000000
+00011010011000100010001000000000
+00100000001000000111110010010010
+00011010001000001010001111100000
+11011010010000000000100100011110
+00011010001000100000101000000000
+00100000001000000111110010101001
+00100000010000000111110010101001
+00100000001000001111110010100000
+00011000101000001010001111100000
+11011010010000000000100100011110
+00100000010000000111110010110001
+00100100011000010000000000000000
+11011010010000000000100100011110
+00011000101000001010001111100000
+00011010001000100000101000000000
+00100000001000000111110010101001
+00011000101000001010001111100000
+11011010010000000000100100011110
+00011010001000100000101000000000
+00100000010000000111110001111011
+00100000011000001000000000000000
+00011000101000001010001111100000
+11011010010000000000100100011110
+00011010001000100000101000000000
+00100000001000000111110001111011
+00011000000000000111001000001000
+00100000001000000111011100100000
+00011000000000000111001000001000
+00011010001000001010001000011100
+00100000001000000111011100101111
+00011000000000000111001000001000
+00011000000000000010011000000000
+00100000001000000111011100111101
+00011000000000000111001000001000
+00011010001000001010001000011100
+00011010010000001010010000011100
+00100000001000000111011100000111
+11101000110001000000000000000000
+00100100011110100000000000000000
+00100000001000000111011011110101
+00011010001000100110000000000000
+00011110000000100010001000000000
+11101010001000001000000000000000
+00101111111011111111111000000000
+00100000011000001000000000000000
+00100000010000000111110010101011
+11101010010000001000000000000000
+00101111111011000000000000000000
+00100000001000001111110011001000
+11011010001000000000100100011110
+00011010010000100000101000000000
+00100000010000000111110001111011
+11101010010000001000000000000000
+10011010011000001111111000000000
+11100010010000001000000000000000
+00011010010000001010010111100000
+00011010010000001010001000100000
+00011000000000000111001000001001
+00100000010000000111011100101111
+00100000001000000111110010111001
+00100000010000000010110001100101
+00100000011101011000000000000000
+00100000010000000111110011010011
+00100000010000000111110101110101
+00100000001000000111110100001000
+00100000010000000111110100101001
+00100000001000000111110101100100
+01101000000000001100011010000110
+11000001011111111000000000000000
+10011000000000000000010000000000
+00100000010000000110100000001110
+01101000000010001100011010000110
+00100000010000000110100000100101
+00100000000000000000000001100100
+01101000000010001100011010000110
+00100000010000000110011111111011
+00100000001000000111110011011101
+01000111011110011100000000111110
+01101000000000001100011010000110
+11000001011111111000000000000000
+00011111111000100000010000000000
+00100000010000000110100000011101
+00100100001000001111110011101111
+00100000010000000111110011111001
+01101000000000010100011010000010
+01111001001000000111111000001100
+01100000000000010100011010000010
+01101000000000001100011001111001
+11000001000000000000000000000000
+01110000010001100111100100000000
+01101000000000001100011010000101
+01100000000000001100011001111000
+00100000010000000111110100000000
+01110000000010101001100100101100
+00100000001000000111110110000110
+01101000000000010100011010000010
+01111001001111111111111000001100
+01100000000000010100011010000010
+01101000000000001100011001111001
+11000001000000001000000000000000
+01110000010001100111100100000001
+01110000010001100111100000000000
+00100000010000000111110100000010
+01110000000010101001100100101101
+00100000001000000111110110000110
+01101000000000001100011001111000
+00100000011110100000000000000000
+00011111111000001111111111111111
+01100000000000001100011001111000
+00100100011110100000000000000000
+01110000000010101001100100010000
+00100000001000000111110110000110
+11011000111000000000000000000111
+00100000001000000010110000110010
+11011000111000000000000000000111
+00100000001000000010110000110110
+01101000000000010100001000011011
+00011010001011111010010000001011
+10011010010000001010010000000000
+00100000011000000000000000000000
+01101000000000001100001000011010
+00100000011110100000000000000000
+00011111111000100111001000000000
+01101000000000010100001000011011
+00011111111000100010010000000000
+00011010010000001010011000000010
+11101010011010001000000000000000
+00100000010000000110100000001110
+00100000010000000111110100110010
+00011010010000001010010000001011
+11000010000000000111110100001101
+00100000011000000000000000000000
+00100000010000000111110100000100
+01011000000000000000000000000010
+11100010010000001000000000000000
+00100000010000000111110101011110
+00100000001000000111110100110101
+00100000010000000111110100000100
+01011000000000000000000000000011
+11100010010000001000000000000000
+00100000010000000111110101011110
+00100000001000000111110100110010
+00100000010000000111110100000100
+01011000000000000000000000000001
+11100010010000001000000000000000
+01011000000000000000000011111111
+11100000101000001000000000000000
+00100000001000000111110100110010
+00100000010000000111110100000100
+11011111001000000000000000001011
+00011010011000100000110000000000
+00011010010000100000101000000000
+00100000001000000111111011110100
+01101000000000001100001000011010
+00100000011110100000000000000000
+11011010001000000000000000000000
+00100000010000000111110100111000
+00011010001000001010001000000001
+01101000000000001100001000011010
+10011010001001100111110000000000
+00100000011000101000000000000000
+00100000001000000111110100101100
+00011010010000001010011000000010
+11101010011010001000000000000000
+00100000001000000110100000100101
+00011010010000001010011000000010
+11101010011010001000000000000000
+00100000001000000110100000101001
+00011010001000001000111000001011
+00100000010000000111111100010110
+00100100011110100000000000000000
+00100000010000000111110100000100
+11101010010000001000000000000000
+11000000000000010111110100110101
+11000000000000011111110100110010
+11000000000000000111110100110010
+11000000000000101111110101001100
+00100000010000000111110100110101
+00011010010000001010011000000111
+00100000010000000111111001111100
+11101010011000010000000000000000
+00100000010000000111111110011100
+00100000010000000111111010001100
+01011000000000000000000000000101
+11100010010000001000000000000000
+00011010010000001010011000000011
+11101010011000010000000000000000
+00100000001000000111110101011100
+00100000010000000111110100110010
+00011010010000001010011000001001
+00100000010000000111111001111100
+11101010011000010000000000000000
+00100000010000000111111110011100
+00100000010000000111111010001100
+00011010010000001010011000000001
+11101010011000001000000000000000
+11000000011111111111110101011000
+00011111111000001111111111111111
+11100010011000001000000000000000
+00100000001110100111110100011001
+01011000000000000000000000000100
+11100010010000001000000000000000
+00011010010000001010011000000101
+11101010011000010000000000000000
+00011010001000001000111000001011
+00100000001000000111111100001000
+01011000000000000000000000000000
+00100000001000000111110101011100
+01011000000000000001000000000000
+00011111111100000111111000000000
+10011010010000001010010000000000
+00100000011000000000000000000000
+01000111011110100100000000111110
+11011010001000000000000000000000
+01101000000010100100011001111010
+00011100010000100010010000000000
+00011010010000100111111000000000
+10011000010001100111110000000000
+00100100010000010111110101100000
+00011010010000100111111000000000
+00011000010000001000010010100000
+00011000010000001000010010100000
+10011000010001100111110000000000
+00100100001000010111110101111000
+00011010001000001010001000000001
+00011010001000010111111000001111
+00100100001110100111110101101011
+11011010001000000000000000000000
+00100000010000000111110101111111
+00011100010000100111111000000000
+01100000000000100100011001111010
+00100000011000000000000000000000
+01000111011110101100000000111110
+00011010001000100111111000000000
+00100000011110100000000000000000
+00011000010000001000010101100000
+00011000010000001000010101100000
+01111001001111111000010000011100
+01100000000010100100011001111010
+00100000001000000011001101011111
+01110000010001100110011000000001
+01101000000000001100011001100111
+00100100001110100111110110000001
+00100000011000000000000000000000
+01110000010001100110011000000000
+00100000011000000000000000000000
+01000111011110110100000000111110
+00100000010000000111110110000000
+00011010001000100111111000000000
+01100000000000100000101010010001
+11011010001000000100011001101000
+00100000010000000111111110111000
+01101000000000100000101010010001
+00011111111000100010001000000000
+00100000001000000111110110000100
+01000111011110111100000000111110
+00100000010000000111110110000000
+00011010001000100111111000000000
+01100000000000100000101010010001
+11011010001000000100011001110000
+00100000010000000111111110111000
+01101000000000100000101010010001
+00011111111000100010001000000000
+00100000001000000111110110000100
+01011000000000000000000000000000
+01100000000001000100011001110000
+01100000000001000100011001101000
+00100000011000000000000000000000
+01000111011111000100000000111111
+01101000000000001100000111001110
+00100100011110100000000000000000
+11011010001000000100011001110000
+00100000010000000111111111010000
+00100000011110100000000000000000
+01110000000010101001000000000000
+00100000010000000111110110100111
+01101000000000001000101010010000
+00100000001110100111110110011100
+00100000011000000000000000000000
+00100000010000000111110110000000
+11011010001000000100011001110000
+00100000010000000111111111000100
+00011111111000100000010000000000
+00100000010000000111110110000100
+01000111011111001100000000111111
+00011000010000100111111000000000
+00100000011110100000000000000000
+11000000000000001111110111011101
+11000000000000010111110111100010
+11000000000000011111110111101000
+11000000000000111111110111101101
+11000000000001000111110111101110
+11000000000001001111110111101111
+11000000000001011111110111110010
+11000000000001100111110111110011
+11000000000001101111110111110100
+11000000000001110111110111111010
+11000000000001111111110111111111
+11000000000010000111111000000101
+11000000000010011111111000001111
+11000000000010100111111000010001
+11000000000010101111111000010011
+11000000000010110111111000010101
+11000000000010111111111000011000
+11000000000011000111111000011010
+11000000000011001111111000011101
+11000000000011011111111000100101
+11000000000011110111111000101111
+01100000000000001000101010011001
+01000111011111010100000000111111
+00100000010000000110001010111100
+00100100001110100111110111011011
+01101000000000001000101010011001
+11000101100001001111110111010110
+11000000000000100111110111101010
+11000000000000101100110100010111
+11000000000000110100110100100110
+11000000000001010111110111110000
+11000000000010001111111000001010
+11000000000010010111111000001110
+11000000000011101111111000100110
+11000000000011111110011111001100
+11000000000100000110011111010000
+11000000000100001111111000110001
+11000000000100101110011100001011
+00100000011000000000000000000000
+01100000000000001000101010011001
+00100000010000000010001001010010
+00100000001000101111110111011011
+00100000010000000010001001011010
+00100100011000101000000000000000
+01110000000010101001000000000001
+00100000001000000111110110001111
+01101000000000010100011010000010
+01111001001000000111111000000110
+01100000000000010100011010000010
+01110000010000001001001100000011
+00100000011000000000000000000000
+01110000010001101000000000000000
+01110000010000001001001100000000
+01101000000000010100011010000010
+01111001001111111111111000000110
+01100000000000010100011010000010
+00100000011000000000000000000000
+01110000010000011100111000000101
+00100000011000000000000000000000
+01110000000000000111110000000111
+01110000000001001100101000010011
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000000001001101010000000010
+00100000001000000100110100001010
+00100000011000000000000000000000
+00100000011000000000000000000000
+01110000010000110110111000000001
+01110000010001001000010000000000
+01101000000000010100011010000010
+01111001001000000111111000001011
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000001011
+01100000000000010100011010000010
+01110000010000110110111000000000
+00100000011000000000000000000000
+01110000010000110110111000000001
+01110000010001001000010000000001
+01101000000000010100011010000010
+01111001001000000111111000001011
+01100000000000010100011010000010
+00100000011000000000000000000000
+01101000000000010100011010000010
+01111001001111111111111000001011
+01100000000000010100011010000010
+01110000010000110110111000000000
+00100000011000000000000000000000
+01011000000000000000000000010100
+01100000000000010000010001101101
+01100000000000010100010010111010
+00100000001000000101110010010010
+00100000001000000101101010111111
+11011010001000000000000000000000
+00100000001000000111110100011001
+11011010001000000000000000000000
+00100000001000000111110100010100
+11011010001000000000000000000000
+00100000001000000111110100011110
+01110000010000110110100100000001
+01110000010000011100111000011011
+00100000011000000000000000000000
+01110000010000110110100100000001
+00100000011000000000000000000000
+01110000010000110110100100000000
+01110000010000011100111000000000
+00100000011000000000000000000000
+01101000000000010100000111101011
+00100000010000000111111110011100
+01101000000000001100011010000110
+11000000011111111111111000100011
+00011111111000100000010000000000
+00100000010000000110011111111011
+00100000010000000111110110011000
+00100000001000000010101100011111
+00100000001000000101101100000010
+01110000000000000111110000110100
+01111001001000000000000000000011
+00100100011101001000000000000000
+01110000010001010101101100000000
+01110000000000000111110000010011
+01101000000000001000000101101101
+01111001001111111111111000000010
+01100000000000001000000101101101
+00100000011000000000000000000000
+00011000000000000000111000000011
+00100000001000000111111100000111
+00100000010000000110001011111000
+01110000000000000111110101000001
+00100000001000000101111110011101
+01101000000000001100011010000010
+11000100000001100000000000000000
+11000100000000111000000000000000
+00100000001000000111111000101111
+01101000000000010100001000011000
+00011111111000001000101000000010
+01011000000000000000000000000000
+11100000101000011000000000000000
+00100000011000000000000000000000
+00100000010000000111111111101001
+00100000010000000111111001101001
+00100000011110100000000000000000
+01101000000000010100001000011000
+00011111111000001010010000000010
+11101010010010001000000000000000
+00011000010000001000010000000001
+11100010010010001000000000000000
+11101111111010001000000000000000
+00011000010000100111001000000000
+00011111111000001010010000000100
+11101010010000001000000000000000
+10011000010011111111111000000000
+10011000110000001000101000000000
+00011010001000100000110000000000
+00100000010000000111111100000001
+00100000010000000111111001101101
+00011111111000001111111111111111
+11101010010010001000000000000000
+00011000010000001000010000000001
+10011000010000010000010000000000
+11100010010010001000000000000000
+00100000001000000111111111100111
+00100000010000000111111111101001
+00100000010000000111111001100101
+00100000011110100000000000000000
+01101000000000010100001000011000
+00011111111000001010010000000010
+11101010010010001000000000000000
+00011000010000001000010111111111
+11100010010010001000000000000000
+11101111111010001000000000000000
+00011000010000100111001000000000
+00011111111000001010010000000011
+11101010010000001000000000000000
+10011000010011111111111000000000
+10011000110000001000110000000000
+00011000110000001000110000000001
+00011010001000100000101000000000
+00100000001000000111111001001100
+01101000000000010100001000011000
+00011111111000001000110000000010
+11101000110000001000000000000000
+00100000011000000000000000000000
+00100000010000000111111001101101
+11101000110010001000000000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+01101000000000010100001000011000
+00011111111000001000110000000001
+11101000110000001000000000000000
+00100000011000000000000000000000
+00011111001001100111110000000000
+00100000011000101000000000000000
+00011111111000110111111000000000
+11000010000000000111111001110011
+00100000011000000000000000000000
+00011000000000000111111000000001
+00011111001001100111110000000000
+00100000011000101000000000000000
+00011111111000111111111000000000
+11000010000000000111111001111001
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100000000000010000101010111011
+01100000000011000000101010100010
+00011001011000100111111000000000
+01100000000000100000101010101010
+00100000010000000111111010000101
+00011000110000100111111000000000
+01100000000000010000101010111001
+00100000011000000000000000000000
+00011010001000100111111000000000
+01100000000000100000101010101110
+00011010010000100111111000000000
+01100000000000100000101010110010
+00011010011000100111111000000000
+01100000000000011000101010110110
+00100000011000000000000000000000
+01101000000011000000101010100010
+01101000000000100000101010101010
+10011000000000000001011000000000
+00100000010000000111111010010101
+01101000000000010000101010111011
+10011000000000000000101000000000
+01101000000000010000101010111001
+10011000000000000000110000000000
+00100000011000000000000000000000
+01101000000000100000101010101110
+10011000000000000010001000000000
+01101000000000100000101010110010
+10011000000000000010010000000000
+01101000000000011000101010110110
+10011000000000000010011000000000
+00100000011000000000000000000000
+01101000000000010000101010111011
+00011111111000100000101000000000
+00100000011000000000000000000000
+01101000000000010000101010111001
+00011111111000100000110000000000
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100000000000010000101010111011
+00100000011000000000000000000000
+00011000110000100111111000000000
+01100000000000010000101010111001
+00100000011000000000000000000000
+00011000101000100111111000000000
+01100000000000010000101010010111
+00011000110000100111111000000000
+01100000000000010000101010010101
+00100000011000000000000000000000
+01101000000000010000101010010111
+00011111111000100000101000000000
+01101000000000010000101010010101
+00011111111000100000110000000000
+00100000011000000000000000000000
+00100000010000000111111010111101
+00100000010000000111111010111101
+00100000001000000111111010111101
+00100000010000000111111010111001
+11101000110000100000000000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+11101000110001000000000000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+00100000010000000111111010111111
+00100000010000000111111010111001
+00100000010000000111111010111001
+00100000010000000111111010111001
+00100000001000000111111010111001
+11011111001000000000000000001010
+00100000000000000010111011100000
+11000010000000000111111011000010
+00100000011000000000000000000000
+00011000000000000111001000000011
+00011000000000000111111000000000
+11100000101001000000000000000000
+11000010000000000111111011000111
+00100000011000000000000000000000
+00011000000000000111111000000000
+11100000101001000000000000000000
+00100000011000000000000000000000
+00011000000000000111111000000000
+11100000101000100000000000000000
+00100000011000000000000000000000
+00011000000000000111001000000100
+00100000001000000111111011000110
+00011000000000000111001000001000
+00100000001000000111111011000110
+00011111001000100111111000000000
+00100000011110100000000000000000
+01011000000000000000000000000000
+11100000101000001000000000000000
+11000010000000000111111011010111
+00100000011000000000000000000000
+11011111001000000000000000100000
+11011000101000000000101011000010
+00100000001000000111111011010100
+11101010011000100000000000000000
+11101010001010100000000000000000
+10011000010000101111111000000000
+11100000101000100000000000000000
+00011010001000001010001000000100
+00011010011000001010011000000100
+11000010000000000111111011011101
+00100000011000000000000000000000
+01000111011111011100000000111111
+00011111001000100111111000000000
+00011111111001100111110000000001
+00100000011000010000000000000000
+10011010001000001010010000000000
+00011010010000001010010111111111
+00011111001000110111001000000000
+11101010001010001000000000000000
+11101010010000001000000000000000
+11100010001000001000000000000000
+11100010010010001000000000000000
+00011010010000001010010111111111
+00011010001000001010001000000001
+11000010000000000111111011101100
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011111001000001111001111111000
+00100000010000010111111010111001
+00100000011000101000000000000000
+00100000001000010111111011110110
+00011111001000001111001000001000
+00011111001000001111001111111100
+00100000010000010111111010110110
+00100000011000101000000000000000
+00100000001000010111111011111011
+00011111001000001111001000000100
+00100000001000000111111100000001
+00011111001000100111111000000000
+00100000011110100000000000000000
+11101000110000001000000000000000
+11100000101000001000000000000000
+11000010000000000111111100000011
+00100000011000000000000000000000
+01011000000000000000000000000000
+00011100010000110000010000000000
+01100000000010100100000010010100
+11011000101000000100000110011101
+10011000000000000000010000000000
+00011000111000111111111000000000
+10011000101000001000101000000000
+11100000101010010000000000000000
+01000111011111100100000000111111
+00100000011000000000000000000000
+11011001011000000000100000000000
+00011001011100000001011000000000
+10011001011000001111111000000000
+00100000011000000000000000000000
+11011000111000000000000000000000
+01000111011111101100000000111111
+01101000000010100100000010010100
+00011100010000110111111000000000
+01100000000000100100000010010100
+10011000010001100111110000000000
+00100100010000010111111100010001
+10011000010001100001011000000000
+00011001011000100000010000000000
+11011000110000000100000110011101
+00011000110000100000101000000000
+11011111001000000000000000010000
+11101000110000010000000000000000
+10011000010001100111111000000000
+00100000001000010111111100100101
+00011000000000000111111000000000
+11100000101000010000000000000000
+11000010000000000111111100100001
+11011000110000000100000110011101
+00011000111000111111111000000000
+10011000110000001000110000000000
+11101000110000010000000000000000
+00100000011000000000000000000000
+10011000010000001000010000000000
+00011000010000100111001000000000
+01011000000000000000111010100110
+10011111001001100111111000000000
+00100000011000010000000000000000
+00011111111001100111111000000000
+00011000010100010000010000000000
+00011000010000001000010000000001
+00011000010100000000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+00100000010000000111111100111001
+00100000001000000111111101000011
+01111000010101000111110000000000
+10011000010001100111111000000000
+00100000001000010111111100111110
+01111000001101000111110000000000
+00011111111001100111111000000000
+11000100000001111000000000000000
+11011000010111110000111010100110
+10011000010000001111111000000000
+01111001001111111111111001000000
+00100000011000000000000000000000
+10011000000000000000110000000000
+00011111111100010111111000000000
+11011000010000000000111010100110
+10011000010011111111111000000000
+10011000110000001111111000000000
+00100000011000000000000000000000
+00011111111011010111111000000000
+00011111111100100111111000000000
+01101000000010011100000101101111
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111000010000000000
+00100000011000000000000000000000
+11011000010000000000111010100110
+10011000010001101111110000000000
+00100000010000000111111110000110
+00011000000001111111111000000000
+00011111111100000111111000000000
+00011000000001110000010000000000
+10011000010000011000010000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+00011000010000100010011000000000
+11101000011000001000000000000000
+00100000010000000111111101100100
+00011010011000100000010000000000
+00100000010000000111111110010101
+11011010010000000000000000001010
+10011010010011111111111000000000
+10011000010000001111111000000000
+00011111111000100000010000000000
+11000010000000000111111101011001
+00100000011000000000000000000000
+11011000010000000000000000111010
+10011000010001100111110000000000
+00100100001000010111111101101101
+11011000010000000000000001100001
+10011000010001100111110000000000
+00100000001000010111111101110000
+11011000010000000000000000110111
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011000010000000000000000110000
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011000010000000000000001010111
+10011000010001100111111000000000
+00100000011000000000000000000000
+00011000010000100110000000000000
+01011000000000000000000111111111
+00011000000000000010010000000000
+00011111111010010010001000000000
+00011010001000110010001000000000
+10011010001000101010001000000000
+00101010001011111111111000000000
+01111001001000001111111000001001
+00011000010000110000010000000000
+00101111111011111111111000000000
+01111001001000001000010000000111
+00011111111000110111111000000000
+00011010010000001010010000000001
+00101010010000000000111000000000
+00100100001000001111111101110110
+11100000101010001000000000000000
+11000010000000000111111101110110
+00011110000000100000010000000000
+00100000011000000000000000000000
+00100000011110101000000000000000
+00100000001000000111111110000110
+11101010001000001000000000000000
+11101010010010001000000000000000
+10011000010001100111110000000000
+00100100011000101000000000000000
+00011010001000001010001000000001
+00011010010000001010010000000001
+11000010000000000111111110001000
+00011000000000000111110000000000
+00100000011000000000000000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+10011000010000001111111000000000
+10011000010001100000010000000000
+10011000010001100111111000000000
+00100000011000000000000000000000
+11011111001000000000001000000000
+11011000101000000100000000000000
+00100000001000000111111011000110
+00100000011110100000000000000000
+00011111111000100111101000000000
+01101000000100010000000100001110
+00100100001110100111111110011110
+00100000011000000000000000000000
+01110000100000100000001100000001
+00100000011000000000000000000000
+01100000000100010000001000000101
+01101000000100001000001000000011
+01111001001000000111111000000100
+01100000000100001000001000000011
+00100000011000000000000000000000
+01100000000100010000001000000111
+01101000000100001000001000000011
+01111001001000000111111000000110
+01100000000100001000001000000011
+00100000011000000000000000000000
+01100000000100010000001000000101
+01110000100000100000001100110000
+00100000011000000000000000000000
+01101000000100001000000001000011
+01111001001111111111111000000100
+01100000000100001000000001000011
+00100000011000000000000000000000
+01101000000100010000000100001110
+11011000010000000000001000000000
+10011000010001100111110000000000
+00100000011000000000000000000000
+01000111011111110100000000111111
+11101010001011000000000000000000
+00011000010000010111111011111111
+00100100001110100111111110111110
+00011000010011001111111000000000
+11100010001001000000000000000000
+00011010001000001010001000000111
+11101010001000001000000000000000
+00100100001110100010101010001100
+01101000000000001000101010011001
+11100010001000001000000000000000
+00100000011000000000000000000000
+01000111011111111100000000111111
+11011111001000000000000000001000
+11101010001001000000000000000000
+00100000011110100000000000000000
+11101010001000001000000000000000
+00100100001110100111111111001101
+00011010001000001010001000000001
+11000010000000000111111111001000
+00100000001000000010101010001100
+11011000010000000000000000000000
+11100010001010001000000000000000
+00100000011000000000000000000000
+11101010001001000000000000000000
+00100000011000000000000000000000
+11101010001000001000000000000000
+00100000011000000000000000000000
+11101010001000010000000000000000
+00100000011000000000000000000000
+11011000010000000000000000000000
+01101000000000001000000000000110
+11000010000000000111111111010111
+00011000010000001000010000000001
+11000010000000000111111111010111
+00011000010000100111111000000000
+00100000011000000000000000000000
+10011000010001100111110000000000
+00100100011000010000000000000000
+00011000010000100111111000000000
+00100000011000000000000000000000
+00011000000000000111110111111111
+00100000011000000000000000000000
+00011000000000000111110000000001
+00100000011000000000000000000000
+00011000000000000111110000000000
+00100000011000000000000000000000
+01111000001101000111110000000000
+00100000011000000000000000000000
+01111000010101000111110000000000
+00100000011000000000000000000000
+01111000001101100111110000000000
+00100000011000000000000000000000
+01111000010101100111110000000000
+00100000011000000000000000000000
+01011000000000000000000000000001
+00100000011000000000000000000000
+01011000000000000000000000000000
+00100000011000000000000000000000
+00011111001000100111111000000000
+00100000011110100000000000000000
+00011000110000100111111000000000
+10011111001000001111111000000000
+00011111111000001111111111111111
+00011111111000100000110000000000
+11101000110000001000000000000000
+00011000110000001000110111111110
+11100000101000001000000000000000
+11000010000000000111111111111001
+00100000011000000000000000000000
Index: YJX_Only24g/main/output/eeprom(1600).dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/eeprom(1600).dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/eeprom(1600).dat	(working copy)
@@ -0,0 +1,7163 @@
+00
+02
+aa
+55
+72
+18
+c2
+84
+00
+12
+c0
+42
+85
+26
+c0
+44
+84
+e3
+c0
+45
+05
+28
+c0
+00
+80
+1e
+c0
+50
+80
+27
+c0
+54
+00
+2c
+c0
+58
+80
+2f
+c0
+59
+00
+3b
+c0
+62
+00
+bc
+c0
+64
+81
+3e
+c0
+65
+01
+42
+c0
+71
+82
+98
+c0
+73
+02
+3d
+c0
+75
+02
+e7
+c0
+75
+82
+f5
+c0
+76
+03
+1e
+20
+20
+2a
+8e
+c0
+46
+03
+22
+20
+20
+2a
+8e
+1f
+e2
+22
+00
+68
+08
+cc
+62
+58
+00
+4c
+69
+98
+40
+8a
+00
+1a
+22
+7e
+00
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+60
+08
+cc
+62
+20
+60
+00
+00
+d8
+a0
+09
+ae
+df
+20
+00
+0c
+20
+40
+7e
+d4
+20
+40
+00
+b0
+20
+40
+6a
+03
+20
+40
+5c
+f6
+24
+55
+ac
+65
+20
+40
+7c
+cd
+20
+20
+20
+0c
+58
+00
+0a
+06
+60
+01
+c5
+10
+58
+00
+1d
+87
+60
+01
+45
+13
+20
+20
+2a
+a2
+68
+00
+c8
+0c
+24
+7a
+00
+00
+20
+20
+2b
+7f
+c6
+13
+00
+00
+68
+00
+cb
+14
+24
+3a
+7f
+ef
+68
+00
+cb
+0e
+24
+3a
+7f
+ef
+68
+00
+c7
+a2
+c0
+00
+7f
+ef
+68
+00
+c7
+ca
+c0
+00
+ff
+ef
+68
+01
+42
+48
+24
+3a
+7f
+ef
+20
+20
+7f
+f1
+c6
+93
+00
+00
+68
+00
+cc
+e7
+c0
+00
+80
+57
+20
+40
+03
+87
+24
+34
+00
+72
+20
+40
+03
+6c
+20
+40
+03
+b4
+68
+00
+cb
+b7
+c1
+ff
+80
+00
+20
+40
+04
+13
+20
+40
+00
+51
+68
+00
+cc
+e7
+c1
+00
+80
+00
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+7a
+00
+00
+68
+00
+c0
+91
+20
+7a
+00
+00
+20
+40
+00
+97
+20
+40
+00
+94
+58
+00
+f6
+18
+20
+20
+2b
+93
+68
+00
+c6
+f5
+c3
+83
+80
+00
+58
+01
+77
+00
+60
+01
+cb
+d6
+70
+48
+10
+1e
+20
+60
+00
+00
+20
+40
+05
+2b
+24
+74
+00
+00
+20
+40
+00
+69
+68
+00
+cc
+e8
+1f
+e0
+fe
+01
+60
+00
+cc
+e8
+1f
+e6
+7c
+19
+20
+42
+80
+60
+20
+20
+00
+3e
+70
+4c
+e7
+00
+70
+4c
+e8
+00
+70
+4b
+e2
+00
+68
+00
+cb
+cd
+60
+00
+cb
+cc
+20
+60
+00
+00
+68
+00
+cb
+ce
+60
+00
+cb
+cc
+20
+60
+00
+00
+68
+00
+cb
+e2
+1f
+e0
+fe
+01
+60
+00
+cb
+e2
+c0
+02
+00
+66
+c0
+02
+80
+62
+20
+60
+00
+00
+70
+4c
+e7
+01
+70
+4c
+e8
+00
+20
+60
+00
+00
+68
+00
+cb
+d3
+20
+5a
+00
+7e
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+7a
+00
+00
+68
+00
+c0
+91
+20
+7a
+00
+00
+20
+40
+00
+97
+68
+04
+4b
+d6
+20
+40
+7f
+49
+60
+0a
+41
+5b
+20
+20
+2b
+2a
+70
+4b
+d3
+01
+70
+4c
+dc
+00
+20
+40
+03
+34
+60
+00
+cb
+43
+58
+00
+00
+00
+60
+03
+cb
+44
+68
+02
+4b
+de
+60
+02
+4b
+4b
+70
+4b
+a7
+0c
+68
+00
+cb
+a8
+79
+20
+7e
+03
+60
+00
+cb
+a8
+20
+40
+05
+67
+20
+40
+03
+8b
+20
+20
+00
+41
+c6
+13
+00
+00
+20
+40
+00
+a3
+20
+40
+00
+97
+68
+00
+c0
+40
+c3
+00
+00
+94
+68
+00
+80
+a0
+24
+7a
+00
+00
+58
+00
+00
+00
+60
+04
+00
+a1
+20
+60
+00
+00
+20
+40
+00
+a0
+20
+40
+00
+94
+20
+40
+3e
+bf
+68
+12
+00
+70
+68
+1a
+00
+78
+98
+41
+84
+00
+18
+44
+04
+00
+60
+1a
+00
+7c
+20
+20
+02
+2d
+68
+00
+cb
+09
+20
+7a
+00
+00
+20
+20
+02
+99
+d8
+c0
+18
+00
+d8
+a0
+48
+13
+20
+40
+00
+ae
+d8
+c0
+19
+00
+d8
+a0
+48
+2e
+20
+40
+00
+ae
+d8
+c0
+1a
+00
+d8
+a0
+48
+49
+20
+40
+00
+ae
+d8
+c0
+1b
+00
+d8
+a0
+48
+64
+df
+20
+00
+1b
+20
+20
+7f
+01
+d8
+c0
+48
+13
+d8
+a0
+18
+00
+20
+40
+00
+ae
+d8
+c0
+48
+2e
+d8
+a0
+19
+00
+20
+40
+00
+ae
+d8
+c0
+48
+49
+d8
+a0
+1a
+00
+20
+40
+00
+ae
+d8
+c0
+48
+64
+d8
+a0
+1b
+00
+20
+20
+00
+ae
+20
+40
+34
+16
+20
+35
+80
+c6
+70
+80
+78
+20
+20
+40
+06
+02
+68
+00
+c1
+de
+60
+00
+cc
+5e
+20
+40
+04
+02
+68
+00
+c6
+85
+60
+00
+c6
+da
+20
+40
+43
+ca
+20
+40
+00
+c8
+20
+20
+74
+b9
+24
+55
+81
+16
+20
+40
+00
+f5
+20
+75
+80
+00
+70
+47
+7a
+01
+20
+40
+01
+5f
+20
+20
+01
+46
+20
+40
+02
+47
+c0
+03
+80
+d1
+20
+60
+00
+00
+58
+00
+1b
+b7
+60
+01
+47
+20
+d8
+40
+00
+02
+da
+20
+47
+20
+58
+00
+00
+00
+20
+40
+66
+3d
+70
+80
+10
+01
+20
+60
+00
+00
+20
+40
+01
+aa
+68
+00
+c2
+10
+c0
+1a
+00
+dd
+20
+60
+00
+00
+20
+40
+00
+ed
+70
+47
+a5
+01
+68
+01
+46
+a8
+60
+01
+46
+ae
+20
+40
+34
+18
+20
+40
+00
+e6
+58
+00
+00
+04
+e0
+c0
+80
+00
+20
+20
+7d
+f4
+da
+20
+43
+70
+ea
+20
+80
+00
+20
+7a
+00
+00
+98
+c0
+a2
+00
+e8
+c0
+80
+00
+c1
+00
+80
+00
+20
+20
+00
+e7
+70
+4b
+17
+01
+70
+4b
+14
+09
+20
+20
+02
+39
+68
+02
+46
+d3
+c3
+0a
+3d
+66
+68
+00
+c7
+7a
+c0
+7f
+bd
+66
+20
+20
+3d
+80
+70
+42
+12
+76
+20
+20
+3d
+36
+20
+40
+00
+f5
+20
+40
+40
+c0
+68
+00
+c6
+e0
+c0
+02
+c0
+d5
+20
+40
+40
+d9
+c0
+18
+01
+05
+c0
+18
+81
+07
+20
+40
+40
+d1
+20
+00
+03
+e8
+20
+20
+00
+fb
+70
+4b
+09
+01
+20
+40
+64
+0f
+20
+40
+00
+f7
+20
+20
+64
+11
+20
+40
+01
+0c
+20
+20
+40
+e0
+20
+40
+01
+0c
+68
+00
+c6
+de
+c0
+38
+40
+e8
+70
+46
+e0
+01
+20
+60
+00
+00
+58
+00
+80
+06
+20
+40
+64
+13
+20
+00
+2e
+e0
+20
+20
+00
+f0
+58
+00
+00
+06
+20
+40
+64
+14
+1f
+e1
+fe
+08
+1f
+ed
+7e
+00
+1f
+e0
+fe
+06
+20
+20
+64
+13
+20
+40
+03
+2e
+68
+10
+8a
+00
+79
+3f
+fe
+04
+60
+10
+8a
+00
+20
+40
+3e
+6e
+68
+08
+cb
+0d
+20
+40
+68
+0e
+20
+40
+3e
+1e
+58
+00
+00
+00
+60
+01
+41
+54
+20
+40
+01
+30
+58
+00
+18
+02
+60
+01
+40
+bd
+20
+40
+3e
+54
+20
+40
+58
+10
+20
+40
+58
+39
+20
+40
+58
+2c
+20
+40
+58
+18
+20
+40
+65
+9c
+68
+02
+46
+d3
+2f
+ef
+fe
+19
+24
+40
+e5
+c2
+20
+40
+44
+3f
+20
+40
+01
+3a
+20
+40
+01
+a6
+20
+20
+65
+df
+68
+02
+46
+d3
+c4
+0f
+80
+00
+68
+08
+c6
+f7
+20
+40
+67
+fb
+68
+08
+c6
+f7
+20
+40
+68
+1d
+70
+46
+f6
+02
+20
+60
+80
+00
+70
+46
+f6
+01
+20
+60
+00
+00
+20
+40
+33
+c4
+20
+22
+c3
+16
+20
+40
+02
+ed
+20
+20
+3d
+cb
+d8
+40
+00
+02
+da
+20
+0a
+aa
+da
+40
+00
+62
+20
+20
+65
+d1
+d8
+40
+00
+02
+da
+20
+0a
+9a
+da
+40
+00
+62
+20
+20
+33
+c8
+68
+02
+46
+d3
+c3
+0f
+01
+4d
+68
+00
+8a
+bd
+2f
+ec
+00
+03
+24
+20
+81
+4d
+20
+40
+00
+f7
+20
+40
+01
+10
+68
+00
+c7
+1f
+60
+00
+c7
+1e
+68
+00
+c6
+f5
+c3
+82
+80
+00
+c3
+83
+00
+00
+68
+02
+46
+d3
+c4
+08
+80
+00
+68
+00
+8a
+bd
+20
+20
+04
+8c
+df
+20
+00
+02
+d8
+c0
+4b
+cf
+20
+40
+7f
+e7
+58
+00
+ff
+ff
+e8
+c9
+00
+00
+98
+46
+7c
+00
+24
+42
+ff
+e9
+c2
+00
+01
+5a
+20
+60
+00
+00
+58
+00
+01
+6e
+60
+01
+4c
+d8
+58
+00
+00
+8d
+60
+01
+41
+ed
+58
+00
+01
+93
+60
+01
+41
+f5
+58
+00
+01
+7d
+60
+01
+41
+f3
+58
+00
+01
+bf
+60
+01
+41
+eb
+58
+00
+01
+ce
+60
+01
+41
+fd
+58
+00
+3d
+36
+60
+01
+42
+01
+20
+60
+00
+00
+20
+40
+44
+01
+68
+01
+46
+9f
+20
+7a
+00
+00
+20
+20
+00
+6f
+68
+00
+c6
+f5
+c3
+83
+80
+00
+70
+41
+72
+00
+70
+48
+0f
+1e
+20
+60
+00
+00
+70
+48
+0c
+01
+70
+48
+0d
+02
+20
+60
+00
+00
+20
+40
+58
+14
+70
+47
+a2
+01
+20
+20
+01
+0c
+20
+40
+7e
+34
+20
+40
+01
+80
+20
+20
+3e
+e0
+68
+08
+c6
+e7
+20
+40
+02
+70
+68
+08
+c6
+e7
+20
+40
+68
+1d
+20
+20
+81
+91
+20
+40
+02
+79
+68
+00
+c6
+b6
+c1
+00
+00
+00
+70
+46
+b6
+00
+68
+00
+c7
+7a
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+60
+00
+c7
+7a
+1f
+e0
+fe
+02
+60
+01
+4b
+14
+20
+40
+02
+39
+20
+20
+3d
+74
+20
+40
+02
+79
+20
+20
+3d
+62
+1a
+62
+7e
+00
+c0
+1c
+81
+98
+c0
+1d
+01
+ad
+c0
+1e
+01
+bd
+20
+20
+41
+7d
+20
+40
+01
+01
+70
+47
+8b
+01
+d8
+e0
+00
+03
+20
+40
+43
+d2
+58
+00
+00
+00
+60
+01
+47
+07
+70
+46
+a7
+00
+68
+00
+c6
+e0
+1f
+e6
+7c
+05
+20
+42
+c0
+39
+24
+42
+c0
+5d
+20
+40
+01
+aa
+20
+40
+01
+a6
+20
+20
+65
+d1
+da
+20
+4b
+cf
+da
+40
+00
+5b
+d8
+40
+00
+04
+20
+60
+00
+00
+68
+00
+cc
+5e
+60
+00
+c1
+de
+20
+60
+00
+00
+20
+40
+01
+ca
+70
+4c
+e7
+00
+20
+40
+01
+aa
+20
+40
+04
+cd
+68
+00
+c8
+7f
+c2
+80
+01
+ba
+70
+41
+bd
+00
+20
+40
+43
+16
+df
+20
+00
+03
+d8
+c0
+47
+22
+20
+40
+01
+58
+20
+34
+01
+ba
+20
+20
+00
+d9
+70
+47
+a3
+01
+70
+47
+a4
+28
+20
+60
+00
+00
+20
+40
+01
+01
+20
+20
+3f
+8d
+78
+34
+7c
+00
+68
+12
+01
+38
+79
+34
+7e
+1a
+60
+12
+00
+4c
+20
+40
+2c
+21
+20
+40
+01
+ca
+20
+40
+74
+bd
+20
+40
+44
+82
+20
+40
+3e
+9f
+20
+40
+3e
+bf
+20
+20
+02
+2d
+68
+00
+cb
+09
+20
+7a
+00
+00
+70
+4b
+09
+00
+20
+20
+01
+10
+20
+40
+01
+dc
+20
+40
+01
+e3
+20
+40
+01
+d7
+20
+40
+02
+07
+20
+40
+01
+ed
+20
+40
+42
+34
+20
+40
+42
+37
+20
+40
+42
+3a
+20
+20
+01
+ea
+da
+60
+48
+0d
+da
+40
+01
+da
+20
+20
+33
+6d
+70
+48
+0c
+00
+20
+60
+00
+00
+da
+60
+48
+10
+da
+40
+01
+df
+20
+20
+33
+6d
+58
+36
+ee
+80
+60
+01
+cb
+d6
+70
+48
+0e
+01
+20
+60
+00
+00
+da
+60
+48
+0f
+da
+40
+01
+e6
+20
+20
+33
+6d
+68
+00
+c7
+cb
+60
+00
+c1
+72
+70
+48
+0e
+01
+20
+60
+00
+00
+da
+60
+46
+c6
+da
+40
+3d
+60
+20
+20
+33
+6d
+68
+00
+c6
+f5
+c2
+82
+43
+94
+68
+00
+c6
+85
+60
+00
+c6
+da
+68
+00
+c6
+db
+c1
+00
+80
+00
+70
+46
+db
+01
+d8
+e0
+00
+09
+20
+40
+43
+d2
+20
+20
+43
+ca
+70
+47
+a4
+28
+20
+40
+01
+fa
+20
+20
+43
+b0
+da
+60
+46
+da
+da
+40
+01
+fd
+20
+20
+33
+6d
+20
+40
+01
+ca
+68
+01
+46
+82
+2f
+ef
+fe
+0b
+20
+40
+c2
+d4
+68
+01
+46
+82
+2f
+ef
+fe
+07
+20
+40
+c3
+92
+d8
+e0
+00
+09
+20
+40
+43
+ce
+20
+20
+43
+b8
+68
+00
+c7
+a3
+20
+7a
+00
+00
+68
+00
+c7
+a4
+20
+3a
+02
+0e
+1f
+e0
+ff
+ff
+60
+00
+c7
+a4
+20
+60
+00
+00
+70
+47
+a3
+00
+20
+20
+34
+0a
+68
+00
+cb
+12
+1f
+e0
+ff
+ff
+60
+00
+cb
+12
+24
+7a
+00
+00
+68
+00
+cb
+13
+60
+00
+cb
+12
+68
+00
+cb
+15
+20
+3a
+02
+1c
+68
+00
+cb
+14
+20
+3a
+02
+23
+1f
+e0
+ff
+ff
+60
+00
+cb
+14
+68
+00
+cb
+0e
+c0
+00
+82
+27
+c0
+00
+02
+20
+20
+60
+00
+00
+70
+4b
+0e
+01
+68
+08
+cb
+0d
+20
+20
+68
+29
+70
+4b
+17
+00
+70
+4b
+12
+00
+70
+4b
+14
+00
+70
+4b
+15
+00
+68
+00
+cb
+14
+24
+3a
+02
+2b
+70
+4b
+0c
+00
+70
+4b
+0f
+00
+70
+4b
+10
+00
+70
+4b
+0e
+00
+68
+08
+cb
+0d
+20
+20
+68
+25
+70
+4b
+12
+01
+70
+4b
+13
+05
+70
+4b
+15
+00
+70
+4b
+14
+01
+70
+4b
+0c
+01
+70
+4b
+0f
+01
+20
+60
+00
+00
+68
+00
+cb
+17
+24
+7a
+00
+00
+20
+20
+02
+24
+70
+4b
+12
+01
+70
+4b
+13
+03
+70
+4b
+15
+01
+20
+20
+02
+33
+78
+54
+7c
+00
+58
+00
+00
+00
+60
+03
+46
+9b
+20
+40
+02
+7e
+20
+40
+40
+79
+20
+40
+40
+7e
+20
+40
+02
+45
+20
+20
+3f
+9f
+20
+40
+02
+47
+20
+20
+40
+9a
+da
+20
+00
+00
+20
+40
+02
+52
+20
+40
+02
+58
+20
+40
+02
+5e
+20
+40
+02
+4e
+1a
+22
+7e
+00
+20
+60
+00
+00
+68
+00
+c6
+e5
+c1
+7f
+80
+00
+20
+40
+02
+64
+20
+20
+02
+6a
+68
+08
+c6
+e2
+20
+40
+02
+79
+68
+08
+c6
+e2
+20
+40
+68
+1d
+79
+20
+a2
+00
+20
+60
+00
+00
+68
+08
+c6
+e3
+20
+40
+02
+79
+68
+08
+c6
+e3
+20
+40
+68
+1d
+79
+20
+a2
+01
+20
+60
+00
+00
+68
+08
+c6
+e4
+20
+40
+02
+79
+68
+08
+c6
+e4
+20
+40
+68
+1d
+79
+20
+a2
+02
+20
+60
+00
+00
+68
+08
+c6
+e5
+20
+40
+02
+70
+68
+08
+c6
+e5
+20
+40
+68
+1d
+7d
+20
+a2
+03
+20
+20
+02
+79
+68
+08
+c6
+e6
+20
+40
+02
+70
+68
+08
+c6
+e6
+20
+40
+68
+1d
+7d
+20
+a2
+04
+20
+20
+02
+79
+79
+3f
+84
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+7c
+20
+40
+68
+30
+79
+3f
+84
+07
+d8
+a0
+80
+70
+20
+20
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+3f
+84
+07
+20
+20
+02
+74
+68
+00
+c2
+39
+c1
+80
+00
+00
+68
+00
+c6
+e0
+c0
+00
+02
+89
+c0
+00
+82
+89
+c0
+01
+02
+89
+c0
+01
+82
+89
+c0
+02
+02
+91
+c0
+02
+c0
+10
+c0
+03
+02
+89
+20
+20
+02
+89
+20
+40
+3f
+c0
+78
+54
+7c
+00
+68
+00
+c6
+f5
+c3
+03
+bf
+e7
+68
+08
+c6
+f3
+20
+40
+68
+1d
+24
+60
+80
+00
+20
+20
+3f
+e7
+20
+40
+3f
+c0
+68
+00
+c6
+f5
+c3
+03
+bf
+c8
+68
+08
+c6
+f3
+20
+40
+68
+1d
+24
+60
+80
+00
+20
+20
+3f
+c8
+20
+40
+42
+4a
+68
+00
+c6
+e0
+c0
+02
+bd
+aa
+c0
+02
+02
+de
+c0
+03
+02
+c7
+c0
+00
+02
+9e
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+a6
+68
+00
+c7
+7a
+c0
+00
+02
+a8
+c0
+00
+82
+ac
+c0
+01
+02
+ae
+20
+20
+02
+ac
+70
+47
+7a
+02
+20
+60
+00
+00
+70
+48
+80
+01
+20
+20
+3d
+8a
+70
+48
+80
+01
+20
+20
+3d
+8a
+70
+48
+80
+02
+20
+20
+3d
+8c
+70
+48
+80
+03
+20
+20
+3d
+8e
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+d0
+68
+00
+c7
+7a
+c0
+00
+02
+db
+c0
+00
+82
+db
+c0
+01
+02
+db
+c0
+01
+82
+db
+20
+20
+02
+d8
+70
+47
+7a
+02
+20
+60
+00
+00
+70
+48
+80
+01
+68
+00
+c7
+7f
+1f
+e0
+ff
+ff
+20
+20
+3d
+be
+68
+00
+c7
+8d
+20
+20
+3d
+be
+70
+48
+80
+02
+68
+00
+c7
+8e
+20
+20
+3d
+be
+70
+48
+80
+03
+68
+00
+c7
+8f
+20
+20
+3d
+be
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+d0
+68
+00
+c7
+7a
+c0
+00
+02
+d2
+c0
+00
+82
+d6
+c0
+01
+02
+d8
+c0
+01
+82
+db
+20
+20
+02
+d8
+70
+47
+7a
+02
+20
+60
+00
+00
+70
+48
+80
+01
+68
+00
+c7
+7f
+1f
+e0
+ff
+ff
+20
+20
+3d
+be
+68
+00
+c7
+8d
+20
+20
+3d
+be
+70
+48
+80
+02
+68
+00
+c7
+8e
+20
+20
+3d
+be
+70
+48
+80
+03
+68
+00
+c7
+8f
+20
+20
+3d
+be
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+a6
+68
+00
+c7
+7a
+c0
+00
+3d
+9d
+c0
+00
+bd
+9b
+c0
+01
+3d
+9f
+c0
+01
+bd
+a1
+20
+20
+3d
+9f
+70
+47
+a3
+00
+70
+47
+a4
+00
+c5
+13
+02
+eb
+20
+20
+42
+6d
+20
+40
+04
+cd
+20
+20
+42
+6d
+20
+40
+68
+a2
+68
+01
+42
+1d
+20
+3a
+02
+f2
+60
+01
+47
+c8
+20
+20
+03
+11
+58
+00
+11
+22
+60
+01
+47
+c8
+20
+20
+02
+f1
+20
+40
+01
+aa
+70
+47
+a2
+00
+68
+01
+46
+82
+c2
+85
+83
+03
+68
+02
+46
+d3
+c3
+0c
+03
+03
+20
+40
+03
+15
+68
+09
+47
+c8
+18
+40
+84
+01
+60
+09
+47
+c8
+60
+09
+44
+a1
+20
+40
+03
+11
+18
+0a
+7e
+00
+60
+00
+c4
+a0
+20
+40
+34
+18
+68
+01
+46
+87
+60
+01
+46
+ac
+70
+01
+6d
+06
+58
+00
+00
+00
+60
+01
+46
+b0
+60
+01
+46
+ae
+d8
+e0
+00
+07
+20
+40
+43
+ce
+20
+40
+43
+ca
+68
+00
+c0
+92
+2f
+ef
+fe
+01
+20
+40
+83
+19
+20
+20
+42
+c4
+d8
+40
+00
+02
+da
+20
+47
+c8
+da
+40
+00
+5f
+20
+20
+65
+d1
+d8
+40
+00
+02
+da
+20
+47
+c8
+da
+40
+00
+5f
+20
+20
+65
+df
+70
+47
+a5
+00
+20
+40
+00
+e6
+58
+00
+00
+05
+e0
+c0
+80
+00
+20
+20
+7d
+f4
+58
+00
+00
+00
+60
+01
+46
+ac
+20
+40
+01
+0c
+20
+20
+42
+cb
+68
+10
+80
+77
+1f
+e1
+7e
+fd
+60
+10
+80
+77
+68
+18
+80
+73
+18
+41
+84
+02
+60
+18
+80
+73
+20
+40
+63
+ee
+18
+41
+04
+fd
+20
+00
+00
+0d
+20
+40
+63
+f2
+60
+18
+80
+73
+20
+60
+00
+00
+20
+40
+68
+a8
+68
+02
+40
+a0
+60
+02
+4b
+de
+20
+60
+00
+00
+70
+4c
+dd
+01
+70
+4c
+df
+00
+68
+00
+cb
+a8
+1f
+e1
+7e
+07
+60
+00
+cb
+a8
+20
+60
+00
+00
+68
+00
+cb
+a8
+79
+20
+7e
+04
+60
+00
+cb
+a8
+60
+00
+cb
+63
+20
+60
+00
+00
+68
+00
+cb
+a8
+79
+3f
+fe
+04
+60
+00
+cb
+a8
+20
+60
+00
+00
+20
+40
+04
+09
+68
+00
+cc
+de
+c0
+00
+83
+46
+c0
+01
+03
+4a
+20
+60
+00
+00
+70
+4c
+df
+02
+70
+4c
+db
+00
+70
+4c
+dd
+00
+20
+20
+03
+34
+70
+4c
+dc
+00
+20
+20
+03
+47
+68
+01
+4b
+ad
+1f
+e0
+fe
+01
+60
+01
+4b
+ad
+c2
+85
+03
+f7
+68
+00
+cc
+dc
+c0
+00
+83
+55
+70
+4c
+dc
+01
+68
+00
+cc
+dc
+c0
+80
+83
+34
+68
+00
+cc
+da
+1f
+e0
+fe
+01
+60
+00
+cc
+da
+c0
+02
+03
+5c
+20
+40
+05
+79
+70
+4b
+ec
+02
+20
+20
+03
+b4
+20
+40
+04
+09
+70
+4c
+da
+00
+20
+20
+03
+34
+70
+4c
+df
+02
+70
+4c
+dd
+01
+70
+4c
+dc
+00
+20
+20
+03
+34
+68
+00
+cc
+de
+c0
+01
+83
+60
+68
+00
+cb
+a8
+2f
+ec
+00
+04
+20
+20
+83
+32
+68
+00
+cc
+de
+c0
+00
+83
+5f
+c0
+01
+03
+60
+20
+60
+00
+00
+68
+00
+cb
+b7
+c1
+ff
+80
+00
+20
+40
+03
+71
+24
+56
+03
+79
+20
+60
+00
+00
+78
+56
+7c
+00
+68
+00
+cc
+dd
+c1
+80
+80
+00
+68
+00
+cc
+df
+c1
+80
+00
+00
+70
+4c
+de
+01
+70
+4b
+ec
+04
+20
+20
+7f
+eb
+68
+00
+cc
+df
+20
+3a
+03
+81
+1f
+e0
+ff
+ff
+60
+00
+cc
+df
+70
+4c
+de
+02
+20
+40
+05
+79
+70
+4b
+ec
+04
+20
+60
+00
+00
+70
+4c
+de
+03
+68
+00
+cc
+dc
+24
+3a
+03
+53
+20
+40
+05
+79
+70
+4b
+ec
+02
+20
+60
+00
+00
+68
+00
+cb
+b7
+c0
+ff
+84
+50
+20
+40
+03
+8d
+20
+40
+05
+67
+70
+4b
+ac
+01
+20
+60
+00
+00
+68
+01
+4c
+d8
+20
+40
+7f
+9c
+20
+34
+03
+93
+68
+03
+cb
+44
+20
+7a
+00
+00
+20
+20
+7f
+e7
+20
+40
+03
+ac
+70
+4b
+d3
+00
+1a
+20
+fe
+01
+60
+00
+cb
+a7
+20
+40
+03
+34
+60
+00
+cb
+43
+e8
+a8
+80
+00
+ea
+40
+80
+00
+98
+41
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+df
+20
+00
+02
+ea
+41
+00
+00
+e0
+a1
+00
+00
+1a
+40
+a4
+02
+c2
+00
+03
+9f
+d8
+a0
+4b
+49
+df
+20
+00
+02
+ea
+40
+80
+00
+e8
+a8
+80
+00
+98
+40
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+c2
+00
+03
+a5
+20
+60
+00
+00
+68
+00
+c6
+f5
+c3
+83
+80
+00
+68
+00
+c8
+0e
+c1
+80
+80
+00
+58
+00
+00
+00
+60
+00
+c8
+0e
+60
+02
+46
+9b
+20
+20
+01
+0c
+70
+4b
+b0
+00
+d9
+60
+0d
+00
+34
+73
+02
+00
+20
+40
+03
+d0
+68
+00
+cb
+e3
+c1
+00
+80
+00
+24
+2c
+03
+df
+24
+37
+83
+df
+20
+40
+03
+cb
+20
+40
+03
+fb
+20
+40
+04
+05
+68
+00
+cb
+a6
+1f
+e0
+fe
+01
+60
+00
+cb
+a6
+68
+00
+cb
+b7
+c0
+ff
+83
+ce
+20
+40
+03
+63
+58
+00
+00
+00
+60
+01
+4b
+ad
+60
+00
+cb
+af
+60
+00
+cc
+db
+70
+4b
+ac
+00
+20
+60
+00
+00
+df
+20
+00
+04
+d8
+a0
+4b
+43
+20
+20
+7e
+c6
+20
+40
+04
+02
+20
+20
+04
+6b
+78
+57
+fc
+00
+20
+40
+05
+e1
+68
+00
+cb
+e3
+c0
+00
+83
+dd
+18
+00
+2a
+00
+68
+02
+4b
+cf
+98
+00
+12
+00
+68
+08
+80
+17
+20
+40
+29
+1f
+20
+40
+29
+24
+20
+40
+05
+9c
+20
+57
+85
+d9
+20
+60
+00
+00
+20
+40
+05
+d9
+20
+20
+03
+bf
+68
+00
+cb
+af
+1f
+e0
+fe
+01
+60
+00
+cb
+af
+68
+00
+cb
+b7
+c0
+ff
+83
+f3
+68
+08
+cb
+b0
+18
+40
+84
+01
+60
+08
+cb
+b0
+68
+00
+cb
+ec
+98
+46
+7e
+00
+24
+3a
+03
+b5
+68
+00
+cc
+de
+c0
+01
+83
+4c
+68
+00
+cc
+db
+1f
+e0
+fe
+01
+60
+00
+cc
+db
+c0
+01
+03
+41
+20
+40
+03
+38
+70
+4b
+ec
+01
+20
+20
+03
+b4
+68
+00
+cb
+af
+c1
+ff
+80
+00
+70
+4b
+af
+00
+20
+20
+03
+f9
+58
+00
+00
+00
+60
+01
+4b
+ad
+70
+0a
+99
+3a
+20
+20
+7d
+86
+20
+40
+04
+d6
+68
+00
+cb
+a5
+20
+7a
+00
+00
+98
+00
+72
+00
+d8
+c0
+4b
+23
+d8
+a0
+4b
+85
+20
+20
+7f
+01
+70
+4c
+e3
+01
+70
+4c
+e0
+00
+20
+60
+00
+00
+68
+00
+cc
+e0
+1f
+e0
+fe
+01
+60
+00
+cc
+e0
+20
+60
+00
+00
+68
+00
+cc
+e0
+1f
+e6
+7c
+02
+24
+41
+04
+11
+68
+00
+cc
+e0
+c1
+00
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+cc
+e0
+20
+60
+00
+00
+70
+4c
+e0
+03
+20
+60
+00
+00
+68
+01
+46
+82
+c3
+85
+80
+00
+c3
+83
+80
+00
+c3
+83
+00
+00
+da
+20
+4c
+69
+20
+40
+05
+48
+60
+08
+cc
+e1
+28
+0f
+fe
+26
+20
+40
+84
+25
+24
+40
+84
+29
+98
+46
+7c
+00
+24
+21
+04
+3d
+68
+00
+cc
+e0
+1f
+e6
+7c
+02
+24
+21
+04
+2d
+68
+00
+cc
+e0
+c0
+00
+04
+3e
+20
+60
+00
+00
+58
+00
+00
+82
+20
+60
+00
+00
+58
+00
+00
+77
+20
+60
+00
+00
+58
+00
+00
+80
+20
+60
+00
+00
+58
+00
+00
+75
+20
+60
+00
+00
+68
+00
+cc
+e0
+c1
+90
+00
+00
+70
+4c
+e0
+00
+68
+08
+cc
+e1
+28
+0f
+fe
+26
+20
+40
+84
+27
+24
+40
+84
+2b
+98
+46
+7c
+00
+24
+61
+00
+00
+68
+00
+cc
+e3
+c0
+00
+04
+45
+1f
+e0
+ff
+ff
+60
+00
+cc
+e3
+c0
+00
+04
+45
+70
+41
+de
+00
+20
+60
+00
+00
+70
+4c
+e0
+00
+68
+00
+cc
+e3
+c0
+01
+04
+43
+1f
+e0
+fe
+01
+60
+00
+cc
+e3
+c0
+00
+84
+3b
+70
+41
+de
+02
+20
+60
+00
+00
+70
+41
+de
+04
+20
+60
+00
+00
+79
+20
+00
+26
+20
+40
+04
+4b
+70
+4b
+b7
+01
+20
+60
+00
+00
+70
+41
+de
+20
+70
+4b
+a6
+00
+70
+4b
+b1
+4e
+68
+02
+4b
+b3
+20
+20
+05
+59
+68
+00
+cb
+ac
+c0
+00
+ff
+e7
+68
+00
+cb
+b7
+c0
+00
+84
+57
+c0
+01
+04
+5a
+c0
+01
+84
+5d
+20
+20
+2a
+8c
+70
+4b
+b7
+11
+70
+11
+9e
+aa
+20
+20
+04
+5f
+70
+4b
+b7
+12
+70
+11
+9e
+55
+20
+20
+04
+5f
+70
+4b
+b7
+13
+70
+11
+9e
+22
+68
+00
+cb
+a8
+1f
+e1
+7e
+07
+60
+00
+91
+9f
+68
+02
+4b
+de
+60
+02
+11
+a0
+70
+11
+a4
+00
+da
+20
+11
+9e
+d8
+40
+00
+07
+20
+40
+04
+d1
+20
+40
+05
+67
+20
+40
+03
+8b
+20
+20
+7f
+e7
+68
+00
+cb
+b7
+c1
+7f
+80
+00
+c0
+08
+84
+71
+c0
+09
+04
+73
+c0
+09
+84
+75
+20
+60
+00
+00
+70
+4b
+b7
+02
+20
+20
+03
+c5
+70
+4b
+b7
+03
+20
+20
+03
+c5
+70
+4b
+b7
+ff
+70
+0a
+99
+39
+20
+40
+7d
+86
+68
+02
+4b
+87
+20
+40
+05
+59
+20
+20
+03
+c5
+79
+20
+00
+26
+58
+00
+00
+00
+60
+01
+4b
+d4
+70
+48
+0e
+00
+70
+0a
+99
+3c
+20
+40
+7d
+86
+20
+40
+03
+cb
+20
+20
+00
+6f
+70
+11
+9e
+ff
+68
+00
+cb
+a8
+60
+00
+91
+9f
+68
+02
+4b
+de
+60
+02
+11
+a0
+d8
+40
+00
+06
+da
+20
+11
+9e
+20
+40
+04
+d1
+20
+20
+05
+67
+58
+00
+00
+00
+60
+01
+11
+be
+79
+3f
+80
+26
+20
+40
+04
+af
+20
+40
+04
+83
+58
+00
+00
+00
+60
+01
+4b
+d4
+20
+40
+2a
+fa
+20
+00
+07
+d0
+68
+01
+4b
+d4
+d8
+40
+77
+88
+98
+46
+7c
+00
+20
+22
+83
+f9
+20
+40
+03
+d0
+24
+2c
+04
+a3
+24
+37
+84
+a3
+20
+40
+03
+fb
+20
+40
+01
+aa
+68
+02
+4b
+cf
+68
+0a
+4b
+b3
+98
+46
+7c
+00
+20
+22
+84
+47
+20
+20
+04
+7b
+68
+01
+4b
+d4
+1f
+e0
+fe
+01
+60
+01
+4b
+d4
+68
+00
+cc
+e5
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+60
+00
+cc
+e5
+c0
+00
+04
+c7
+c0
+00
+84
+c9
+c0
+01
+04
+cb
+c0
+01
+84
+c9
+20
+60
+00
+00
+20
+40
+01
+aa
+68
+02
+4b
+de
+60
+02
+4b
+cf
+68
+00
+91
+be
+60
+00
+cb
+b2
+20
+40
+04
+c5
+60
+08
+91
+be
+20
+60
+00
+00
+20
+40
+01
+aa
+20
+40
+01
+2e
+20
+40
+01
+56
+20
+34
+04
+bc
+20
+20
+04
+c5
+70
+41
+de
+20
+58
+00
+0f
+0f
+60
+01
+4b
+cf
+e0
+a1
+00
+00
+68
+00
+91
+bf
+60
+00
+cb
+b2
+20
+40
+04
+c5
+60
+08
+91
+bf
+20
+60
+00
+00
+20
+40
+05
+5a
+20
+20
+05
+79
+20
+40
+04
+af
+20
+20
+04
+93
+20
+40
+04
+4b
+20
+20
+04
+93
+20
+40
+04
+bc
+20
+20
+04
+93
+79
+3f
+80
+26
+20
+40
+53
+ce
+d8
+e0
+00
+03
+20
+20
+43
+d2
+60
+08
+cb
+a7
+18
+42
+72
+00
+d8
+a0
+4b
+43
+1a
+22
+0c
+00
+20
+20
+7f
+01
+68
+00
+cb
+22
+1f
+e9
+7e
+00
+60
+00
+cb
+a5
+1f
+e0
+fe
+01
+d8
+c0
+4b
+22
+98
+c0
+8c
+00
+e8
+c1
+80
+00
+60
+01
+cb
+e4
+68
+00
+cb
+22
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+60
+00
+cb
+ea
+20
+60
+00
+00
+60
+08
+80
+17
+18
+40
+a2
+00
+20
+40
+29
+81
+58
+00
+05
+00
+20
+40
+2a
+8f
+70
+89
+06
+01
+70
+89
+00
+3c
+70
+89
+01
+e0
+20
+00
+00
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
+20
+00
+00
+0a
+70
+89
+03
+b7
+20
+00
+00
+0a
+70
+89
+02
+7d
+68
+00
+c1
+de
+c0
+00
+04
+f9
+c0
+00
+85
+01
+c0
+01
+05
+09
+c0
+02
+05
+11
+c0
+10
+05
+23
+20
+20
+04
+f9
+20
+40
+05
+19
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+6c
+70
+89
+59
+10
+20
+20
+29
+4b
+20
+40
+05
+1e
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+3c
+70
+89
+59
+10
+20
+20
+29
+4f
+20
+40
+05
+1e
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+3c
+70
+89
+59
+10
+20
+20
+29
+53
+20
+40
+05
+19
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+c0
+70
+89
+57
+88
+70
+89
+58
+6c
+70
+89
+59
+10
+20
+20
+29
+5b
+70
+89
+4c
+5b
+70
+89
+4d
+96
+70
+89
+4e
+2c
+70
+89
+4f
+46
+20
+60
+00
+00
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
+20
+60
+00
+00
+70
+89
+56
+c2
+70
+89
+55
+d0
+20
+60
+00
+00
+18
+00
+2a
+08
+20
+20
+28
+fa
+20
+40
+29
+78
+70
+80
+42
+05
+20
+60
+00
+00
+20
+40
+7f
+e9
+68
+0a
+4b
+c8
+1c
+42
+7e
+00
+98
+46
+7c
+00
+24
+41
+2d
+18
+1f
+e2
+24
+00
+68
+02
+4b
+c8
+68
+08
+cb
+cc
+98
+40
+84
+00
+1a
+42
+7e
+00
+98
+46
+7c
+00
+24
+61
+00
+00
+79
+3f
+fe
+1c
+60
+02
+4b
+c8
+20
+20
+7f
+e7
+20
+40
+29
+bb
+20
+7a
+00
+00
+68
+08
+cc
+61
+da
+20
+0d
+9e
+20
+40
+05
+41
+60
+08
+cc
+61
+20
+60
+00
+00
+1a
+22
+7e
+00
+98
+40
+8a
+00
+68
+00
+80
+18
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+20
+60
+00
+00
+d8
+40
+00
+00
+df
+20
+00
+08
+1a
+22
+0c
+00
+e8
+c0
+80
+00
+98
+40
+84
+00
+c2
+00
+05
+4b
+18
+49
+7e
+00
+1f
+e2
+04
+00
+c6
+93
+00
+00
+1f
+e6
+fc
+0a
+20
+40
+7f
+86
+18
+07
+fe
+00
+1f
+f2
+7e
+00
+18
+07
+04
+00
+98
+41
+84
+00
+20
+60
+00
+00
+20
+60
+00
+00
+60
+02
+4b
+cf
+da
+20
+00
+00
+df
+20
+00
+04
+d8
+c0
+4b
+cf
+e8
+c0
+80
+00
+9a
+20
+a2
+00
+c2
+00
+05
+5d
+1a
+22
+7e
+00
+60
+01
+4c
+58
+68
+00
+cc
+58
+68
+08
+cc
+59
+98
+40
+fe
+00
+60
+00
+cc
+5a
+20
+60
+00
+00
+68
+00
+cb
+a7
+1f
+e0
+fe
+02
+60
+00
+cb
+a9
+68
+00
+cb
+a8
+60
+00
+cb
+63
+68
+00
+cb
+a7
+1f
+e9
+fe
+00
+68
+08
+cb
+a6
+18
+41
+04
+03
+18
+43
+84
+00
+98
+41
+fe
+00
+68
+08
+cb
+e3
+98
+40
+fe
+00
+e0
+a0
+80
+00
+68
+00
+cb
+a7
+98
+00
+72
+00
+d8
+c0
+4b
+43
+20
+20
+7f
+01
+68
+08
+cb
+b2
+20
+40
+05
+7d
+60
+08
+cb
+b2
+20
+60
+00
+00
+20
+40
+05
+81
+18
+40
+84
+01
+18
+41
+04
+03
+20
+60
+00
+00
+68
+00
+cb
+cf
+1f
+e1
+7e
+03
+1f
+ef
+a2
+04
+58
+00
+4b
+b8
+9a
+20
+fe
+00
+98
+40
+8c
+00
+e8
+c0
+80
+00
+60
+00
+cb
+b1
+20
+60
+00
+00
+78
+44
+fc
+00
+78
+43
+fc
+00
+58
+55
+55
+55
+98
+00
+1e
+00
+68
+00
+cb
+b1
+1f
+ed
+84
+00
+79
+20
+04
+01
+18
+43
+1c
+00
+20
+60
+00
+00
+20
+40
+53
+c4
+68
+02
+4b
+cf
+98
+00
+12
+00
+20
+40
+29
+18
+68
+08
+cb
+b1
+20
+40
+29
+1f
+58
+00
+05
+00
+20
+40
+2a
+8f
+20
+40
+29
+24
+20
+40
+05
+8a
+78
+57
+fc
+00
+78
+26
+fc
+00
+78
+30
+fc
+00
+78
+50
+7c
+00
+78
+28
+7c
+00
+68
+01
+4b
+aa
+98
+00
+36
+00
+37
+c1
+84
+00
+24
+2c
+05
+dd
+78
+46
+fc
+00
+78
+25
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+20
+40
+05
+d6
+60
+00
+cc
+5b
+68
+08
+cc
+5a
+98
+46
+7c
+00
+24
+22
+85
+d9
+20
+40
+05
+d6
+60
+00
+cb
+21
+68
+00
+cb
+ed
+1f
+e6
+7c
+02
+20
+22
+85
+b8
+68
+00
+cb
+21
+68
+08
+cb
+a8
+a8
+40
+0e
+00
+24
+20
+85
+d9
+20
+40
+05
+d6
+e0
+a0
+80
+00
+1f
+e9
+7e
+00
+1f
+e1
+72
+1f
+20
+22
+85
+c0
+20
+40
+05
+d6
+e0
+a0
+80
+00
+c2
+00
+05
+bd
+18
+a2
+22
+00
+20
+40
+05
+d6
+60
+00
+cc
+e2
+1a
+22
+0a
+00
+09
+80
+00
+18
+78
+28
+7c
+00
+db
+60
+06
+64
+1f
+ef
+7e
+00
+1f
+f1
+7e
+00
+e0
+a1
+80
+00
+78
+45
+fc
+00
+20
+23
+05
+d9
+78
+37
+fc
+00
+68
+00
+80
+17
+1f
+e0
+a2
+00
+20
+40
+29
+81
+78
+46
+fc
+00
+20
+40
+29
+18
+68
+00
+cc
+e2
+1f
+e2
+22
+00
+20
+40
+00
+14
+20
+60
+00
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+20
+60
+00
+00
+78
+4d
+fc
+00
+78
+45
+fc
+00
+20
+40
+26
+4d
+20
+60
+00
+00
+20
+20
+05
+d9
+20
+40
+29
+18
+68
+08
+cb
+b1
+20
+20
+29
+33
+20
+40
+53
+c4
+68
+02
+4b
+cf
+98
+00
+12
+00
+20
+40
+05
+8a
+20
+40
+05
+de
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+19
+31
+7e
+00
+1f
+ec
+fe
+00
+1f
+f1
+fe
+00
+08
+00
+86
+28
+78
+4e
+fc
+00
+78
+2d
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+68
+00
+cc
+5a
+08
+00
+86
+08
+68
+00
+cb
+a9
+98
+00
+72
+00
+d8
+c0
+4b
+63
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+05
+f7
+78
+24
+7c
+00
+08
+00
+86
+18
+78
+44
+7c
+00
+37
+d3
+82
+00
+20
+00
+00
+64
+78
+4e
+fc
+00
+78
+4d
+fc
+00
+20
+60
+00
+00
+70
+47
+a6
+07
+70
+47
+a7
+04
+58
+00
+47
+a6
+60
+01
+42
+18
+20
+20
+7e
+38
+da
+20
+46
+9a
+20
+40
+7e
+3d
+20
+54
+06
+0b
+20
+60
+00
+00
+68
+00
+c7
+c7
+1f
+e0
+fe
+01
+60
+00
+c7
+c7
+20
+60
+00
+00
+da
+20
+46
+9a
+20
+40
+7e
+54
+20
+34
+06
+13
+20
+60
+00
+00
+20
+40
+56
+52
+68
+00
+c7
+c7
+1f
+e6
+7c
+01
+24
+41
+56
+50
+68
+00
+c7
+c7
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+c7
+c7
+20
+20
+3f
+90
+5e
+75
+aa
+55
+08
+00
+75
+41
+8f
+1c
+ca
+00
+0a
+0b
+ef
+07
+aa
+55
+01
+00
+57
+41
+00
+aa
+55
+08
+00
+a1
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+ad
+40
+12
+00
+00
+02
+12
+00
+00
+02
+aa
+55
+02
+00
+bb
+40
+20
+00
+aa
+55
+04
+00
+b7
+40
+20
+00
+00
+40
+aa
+55
+04
+00
+bf
+40
+80
+04
+00
+08
+aa
+55
+01
+00
+e4
+4c
+00
+aa
+55
+02
+00
+41
+42
+00
+84
+aa
+55
+01
+00
+de
+41
+00
+aa
+55
+0f
+00
+93
+47
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+68
+e6
+ff
+aa
+55
+02
+00
+c3
+40
+93
+47
+aa
+55
+01
+00
+00
+40
+02
+aa
+55
+02
+00
+10
+40
+20
+06
+aa
+55
+03
+00
+14
+40
+02
+01
+06
+aa
+55
+02
+00
+18
+40
+10
+06
+aa
+55
+02
+00
+1c
+40
+48
+1c
+aa
+55
+04
+00
+27
+40
+02
+08
+04
+80
+aa
+55
+03
+00
+2c
+40
+88
+04
+80
+aa
+55
+01
+00
+31
+40
+10
+aa
+55
+01
+00
+92
+40
+42
+aa
+55
+01
+00
+91
+40
+01
+aa
+55
+01
+00
+72
+41
+20
+aa
+55
+01
+00
+cb
+47
+20
+aa
+55
+02
+00
+54
+41
+00
+00
+aa
+55
+02
+00
+d5
+46
+92
+e5
+aa
+55
+01
+00
+7f
+48
+08
+aa
+55
+01
+00
+07
+42
+06
+aa
+55
+06
+00
+a0
+40
+26
+10
+19
+20
+18
+10
+aa
+55
+01
+00
+5a
+45
+0a
+aa
+55
+01
+00
+62
+46
+03
+aa
+55
+01
+00
+5a
+46
+01
+aa
+55
+01
+00
+8d
+45
+00
+aa
+55
+01
+00
+5a
+41
+00
+aa
+55
+03
+00
+5b
+46
+03
+00
+04
+aa
+55
+01
+00
+84
+46
+01
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+1a
+00
+6f
+43
+1f
+03
+19
+c2
+03
+02
+01
+05
+03
+03
+12
+18
+0d
+09
+42
+54
+20
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0f
+00
+8f
+43
+1f
+0d
+09
+42
+54
+20
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0d
+00
+af
+43
+0c
+42
+54
+20
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+08
+00
+96
+44
+07
+00
+07
+00
+20
+00
+2c
+01
+aa
+55
+04
+00
+82
+44
+00
+00
+00
+00
+aa
+55
+01
+00
+8d
+44
+07
+aa
+55
+06
+00
+a0
+44
+8e
+b1
+3a
+0e
+8e
+ed
+aa
+55
+01
+00
+e5
+44
+50
+aa
+55
+02
+00
+6f
+44
+19
+00
+aa
+55
+02
+00
+fa
+44
+22
+00
+aa
+55
+02
+00
+87
+46
+08
+07
+aa
+55
+04
+00
+a8
+46
+50
+00
+70
+17
+aa
+55
+01
+00
+14
+42
+ff
+aa
+55
+01
+00
+86
+46
+ff
+aa
+55
+01
+00
+85
+46
+1e
+aa
+55
+01
+00
+d2
+46
+02
+aa
+55
+01
+00
+03
+47
+02
+aa
+55
+02
+00
+2d
+42
+01
+32
+aa
+55
+06
+00
+09
+47
+a4
+01
+18
+01
+40
+01
+aa
+55
+19
+00
+e0
+46
+00
+02
+06
+14
+07
+07
+14
+06
+1c
+1b
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+00
+01
+05
+ff
+aa
+55
+01
+00
+3a
+42
+14
+aa
+55
+01
+00
+dc
+46
+ff
+aa
+55
+01
+00
+a5
+46
+07
+aa
+55
+01
+00
+6c
+0c
+ff
+aa
+55
+01
+00
+f5
+46
+00
+aa
+55
+0c
+00
+7f
+47
+01
+02
+03
+04
+15
+1a
+2a
+3f
+04
+05
+07
+08
+aa
+55
+04
+00
+8c
+47
+00
+01
+02
+03
+aa
+55
+01
+00
+80
+48
+00
+aa
+55
+02
+00
+1b
+42
+13
+47
+aa
+55
+01
+00
+1a
+42
+01
+aa
+55
+40
+00
+cc
+47
+25
+00
+02
+03
+28
+01
+12
+26
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+27
+00
+02
+02
+29
+02
+00
+00
+28
+00
+02
+08
+29
+02
+11
+01
+29
+00
+02
+03
+28
+01
+0e
+2a
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+2b
+00
+02
+08
+29
+02
+11
+02
+aa
+55
+01
+00
+ed
+4b
+01
+aa
+55
+01
+00
+a8
+4b
+01
+aa
+55
+01
+00
+ec
+4b
+04
+aa
+55
+01
+00
+e3
+4b
+00
+aa
+55
+02
+00
+aa
+4b
+c0
+12
+aa
+55
+03
+00
+cc
+4b
+19
+19
+1c
+aa
+55
+10
+00
+b8
+4b
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+01
+00
+b7
+4b
+ff
+aa
+55
+04
+00
+b3
+4b
+20
+15
+10
+05
+aa
+55
+08
+00
+d6
+4b
+80
+ee
+36
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+20
+47
+01
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+03
+00
+00
+47
+00
+70
+00
+aa
+55
+02
+00
+03
+42
+90
+1f
+aa
+55
+01
+00
+11
+42
+80
+aa
+55
+01
+00
+1f
+47
+00
+aa
+55
+01
+00
+db
+46
+01
+aa
+55
+01
+00
+92
+47
+03
+aa
+55
+01
+00
+0d
+4b
+ff
+aa
+55
+01
+00
+11
+4b
+14
+aa
+55
+01
+00
+13
+4b
+05
+a0
+d4
Index: YJX_Only24g/main/output/eeprom.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/eeprom.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/eeprom.dat	(working copy)
@@ -0,0 +1,7159 @@
+00
+02
+aa
+55
+6e
+18
+c2
+84
+00
+12
+c0
+42
+85
+25
+c0
+44
+84
+e2
+c0
+45
+05
+27
+c0
+00
+80
+1e
+c0
+50
+80
+27
+c0
+54
+00
+2c
+c0
+58
+80
+2f
+c0
+59
+00
+3b
+c0
+62
+00
+bc
+c0
+64
+81
+42
+c0
+65
+01
+46
+c0
+71
+82
+9c
+c0
+73
+02
+41
+c0
+75
+02
+e6
+c0
+75
+82
+f4
+c0
+76
+03
+1d
+20
+20
+2a
+8e
+c0
+46
+03
+21
+20
+20
+2a
+8e
+1f
+e2
+22
+00
+68
+08
+cc
+62
+58
+00
+4c
+69
+98
+40
+8a
+00
+1a
+22
+7e
+00
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+60
+08
+cc
+62
+20
+60
+00
+00
+d8
+a0
+09
+ae
+df
+20
+00
+0c
+20
+40
+7e
+d4
+20
+40
+00
+b0
+20
+40
+6a
+03
+20
+40
+5c
+f6
+24
+55
+ac
+65
+20
+40
+7c
+cd
+20
+20
+20
+0c
+58
+00
+0a
+06
+60
+01
+c5
+10
+58
+00
+1d
+87
+60
+01
+45
+13
+20
+20
+2a
+a2
+68
+00
+c8
+0c
+24
+7a
+00
+00
+20
+20
+2b
+7f
+c6
+13
+00
+00
+68
+00
+cb
+14
+24
+3a
+7f
+ef
+68
+00
+cb
+0e
+24
+3a
+7f
+ef
+68
+00
+c7
+a2
+c0
+00
+7f
+ef
+68
+00
+c7
+ca
+c0
+00
+ff
+ef
+68
+01
+42
+48
+24
+3a
+7f
+ef
+20
+20
+7f
+f1
+c6
+93
+00
+00
+68
+00
+cc
+e7
+c0
+00
+80
+57
+20
+40
+03
+86
+24
+34
+00
+72
+20
+40
+03
+6b
+20
+40
+03
+b3
+68
+00
+cb
+b7
+c1
+ff
+80
+00
+20
+40
+04
+12
+20
+40
+00
+51
+68
+00
+cc
+e7
+c1
+00
+80
+00
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+7a
+00
+00
+68
+00
+c0
+91
+20
+7a
+00
+00
+20
+40
+00
+97
+20
+40
+00
+94
+58
+00
+f6
+18
+20
+20
+2b
+93
+68
+00
+c6
+f5
+c3
+83
+80
+00
+58
+01
+77
+00
+60
+01
+cb
+d6
+70
+48
+10
+1e
+20
+60
+00
+00
+20
+40
+05
+2a
+24
+74
+00
+00
+20
+40
+00
+69
+68
+00
+cc
+e8
+1f
+e0
+fe
+01
+60
+00
+cc
+e8
+1f
+e6
+7c
+19
+20
+42
+80
+60
+20
+20
+00
+3e
+70
+4c
+e7
+00
+70
+4c
+e8
+00
+70
+4b
+e2
+00
+68
+00
+cb
+cd
+60
+00
+cb
+cc
+20
+60
+00
+00
+68
+00
+cb
+ce
+60
+00
+cb
+cc
+20
+60
+00
+00
+68
+00
+cb
+e2
+1f
+e0
+fe
+01
+60
+00
+cb
+e2
+c0
+02
+00
+66
+c0
+02
+80
+62
+20
+60
+00
+00
+70
+4c
+e7
+01
+70
+4c
+e8
+00
+20
+60
+00
+00
+68
+00
+cb
+d3
+20
+5a
+00
+7e
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+7a
+00
+00
+68
+00
+c0
+91
+20
+7a
+00
+00
+20
+40
+00
+97
+68
+04
+4b
+d6
+20
+40
+7f
+49
+60
+0a
+41
+5b
+20
+20
+2b
+2a
+70
+4b
+d3
+01
+70
+4c
+dc
+00
+20
+40
+03
+33
+60
+00
+cb
+43
+58
+00
+00
+00
+60
+03
+cb
+44
+68
+02
+4b
+de
+60
+02
+4b
+4b
+70
+4b
+a7
+0c
+68
+00
+cb
+a8
+79
+20
+7e
+03
+60
+00
+cb
+a8
+20
+40
+05
+66
+20
+40
+03
+8a
+20
+20
+00
+41
+c6
+13
+00
+00
+20
+40
+00
+a3
+20
+40
+00
+97
+68
+00
+c0
+40
+c3
+00
+00
+94
+68
+00
+80
+a0
+24
+7a
+00
+00
+58
+00
+00
+00
+60
+04
+00
+a1
+20
+60
+00
+00
+20
+40
+00
+a0
+20
+40
+00
+94
+20
+40
+3e
+bf
+68
+12
+00
+70
+68
+1a
+00
+78
+98
+41
+84
+00
+18
+44
+04
+00
+60
+1a
+00
+7c
+20
+20
+02
+31
+68
+00
+cb
+09
+20
+7a
+00
+00
+20
+20
+02
+9d
+d8
+c0
+18
+00
+d8
+a0
+48
+13
+20
+40
+00
+ae
+d8
+c0
+19
+00
+d8
+a0
+48
+2e
+20
+40
+00
+ae
+d8
+c0
+1a
+00
+d8
+a0
+48
+49
+20
+40
+00
+ae
+d8
+c0
+1b
+00
+d8
+a0
+48
+64
+df
+20
+00
+1b
+20
+20
+7f
+01
+d8
+c0
+48
+13
+d8
+a0
+18
+00
+20
+40
+00
+ae
+d8
+c0
+48
+2e
+d8
+a0
+19
+00
+20
+40
+00
+ae
+d8
+c0
+48
+49
+d8
+a0
+1a
+00
+20
+40
+00
+ae
+d8
+c0
+48
+64
+d8
+a0
+1b
+00
+20
+20
+00
+ae
+20
+40
+34
+16
+20
+35
+80
+c6
+70
+80
+78
+20
+20
+40
+06
+01
+68
+00
+c1
+de
+60
+00
+cc
+5e
+20
+40
+04
+01
+68
+00
+c6
+85
+60
+00
+c6
+da
+20
+40
+43
+ca
+20
+40
+00
+c8
+20
+20
+74
+b9
+24
+55
+81
+1a
+20
+40
+00
+f5
+20
+75
+80
+00
+70
+47
+7a
+01
+20
+40
+01
+63
+20
+20
+01
+4a
+20
+40
+02
+4b
+c0
+03
+80
+d1
+20
+60
+00
+00
+58
+00
+1b
+b7
+60
+01
+47
+20
+d8
+40
+00
+02
+da
+20
+47
+20
+58
+00
+00
+00
+20
+40
+66
+3d
+70
+80
+10
+01
+20
+60
+00
+00
+20
+40
+01
+ad
+68
+00
+c2
+10
+c0
+1a
+00
+dd
+20
+60
+00
+00
+20
+40
+00
+ed
+70
+47
+a5
+01
+68
+01
+46
+a8
+60
+01
+46
+ae
+20
+40
+34
+18
+20
+40
+00
+e6
+58
+00
+00
+04
+e0
+c0
+80
+00
+20
+20
+7d
+f4
+da
+20
+43
+70
+ea
+20
+80
+00
+20
+7a
+00
+00
+98
+c0
+a2
+00
+e8
+c0
+80
+00
+c1
+00
+80
+00
+20
+20
+00
+e7
+70
+4b
+17
+01
+70
+4b
+14
+09
+20
+20
+02
+3d
+68
+02
+46
+d3
+c3
+0a
+3d
+66
+68
+00
+c7
+7a
+c0
+7f
+bd
+66
+20
+20
+3d
+80
+70
+42
+12
+76
+20
+20
+3d
+36
+20
+40
+00
+f5
+20
+40
+40
+c0
+68
+00
+c6
+e0
+c0
+02
+c0
+d5
+20
+40
+40
+d9
+c0
+18
+01
+05
+c0
+18
+81
+0b
+20
+40
+40
+d1
+20
+00
+03
+e8
+20
+20
+00
+fb
+70
+4b
+09
+01
+20
+40
+64
+0f
+20
+40
+00
+f7
+20
+20
+64
+11
+20
+40
+01
+10
+68
+00
+c6
+de
+c0
+2d
+01
+09
+20
+20
+40
+e0
+70
+46
+e0
+07
+20
+60
+00
+00
+20
+40
+01
+10
+68
+00
+c6
+de
+c0
+38
+40
+e8
+70
+46
+e0
+01
+20
+60
+00
+00
+58
+00
+80
+06
+20
+40
+64
+13
+20
+00
+2e
+e0
+20
+20
+00
+f0
+58
+00
+00
+06
+20
+40
+64
+14
+1f
+e1
+fe
+08
+1f
+ed
+7e
+00
+1f
+e0
+fe
+06
+20
+20
+64
+13
+20
+40
+03
+2d
+68
+10
+8a
+00
+79
+3f
+fe
+04
+60
+10
+8a
+00
+20
+40
+3e
+6e
+68
+08
+cb
+0d
+20
+40
+68
+0e
+20
+40
+3e
+1e
+58
+00
+00
+00
+60
+01
+41
+54
+20
+40
+01
+34
+58
+00
+18
+02
+60
+01
+40
+bd
+20
+40
+3e
+54
+20
+40
+58
+10
+20
+40
+58
+39
+20
+40
+58
+2c
+20
+40
+58
+18
+20
+40
+65
+9c
+68
+02
+46
+d3
+2f
+ef
+fe
+19
+24
+40
+e5
+c2
+20
+40
+44
+3f
+20
+40
+01
+3e
+20
+40
+01
+a9
+20
+20
+65
+df
+68
+02
+46
+d3
+c4
+0f
+80
+00
+68
+08
+c6
+f7
+20
+40
+67
+fb
+68
+08
+c6
+f7
+20
+40
+68
+1d
+70
+46
+f6
+02
+20
+60
+80
+00
+70
+46
+f6
+01
+20
+60
+00
+00
+20
+40
+33
+c4
+20
+22
+c3
+16
+20
+40
+02
+ec
+20
+20
+3d
+cb
+d8
+40
+00
+02
+da
+20
+0a
+aa
+da
+40
+00
+62
+20
+20
+65
+d1
+d8
+40
+00
+02
+da
+20
+0a
+9a
+da
+40
+00
+62
+20
+20
+33
+c8
+68
+02
+46
+d3
+c3
+0f
+01
+51
+68
+00
+8a
+bd
+2f
+ec
+00
+03
+24
+20
+81
+51
+20
+40
+00
+f7
+20
+40
+01
+14
+68
+00
+c7
+1f
+60
+00
+c7
+1e
+68
+00
+c6
+f5
+c3
+82
+80
+00
+c3
+83
+00
+00
+68
+02
+46
+d3
+c4
+08
+80
+00
+68
+00
+8a
+bd
+20
+20
+04
+8b
+df
+20
+00
+02
+d8
+c0
+4b
+cf
+20
+40
+7f
+e7
+58
+00
+ff
+ff
+e8
+c9
+00
+00
+98
+46
+7c
+00
+24
+42
+ff
+e9
+c2
+00
+01
+5e
+20
+60
+00
+00
+58
+00
+01
+72
+60
+01
+4c
+d8
+58
+00
+00
+8d
+60
+01
+41
+ed
+58
+00
+01
+96
+60
+01
+41
+f5
+58
+00
+01
+81
+60
+01
+41
+f3
+58
+00
+01
+c2
+60
+01
+41
+eb
+58
+00
+01
+d1
+60
+01
+41
+fd
+58
+00
+3d
+36
+60
+01
+42
+01
+20
+60
+00
+00
+20
+40
+44
+01
+68
+01
+46
+9f
+20
+7a
+00
+00
+20
+20
+00
+6f
+68
+00
+c6
+f5
+c3
+83
+80
+00
+70
+41
+72
+00
+70
+48
+0f
+1e
+20
+60
+00
+00
+70
+48
+0c
+01
+70
+48
+0d
+02
+20
+60
+00
+00
+20
+40
+58
+14
+70
+47
+a2
+01
+20
+20
+01
+10
+20
+40
+7e
+34
+20
+20
+3e
+e0
+68
+08
+c6
+e7
+20
+40
+02
+74
+68
+08
+c6
+e7
+20
+40
+68
+1d
+20
+20
+81
+94
+20
+40
+02
+7d
+68
+00
+c6
+b6
+c1
+00
+00
+00
+70
+46
+b6
+00
+68
+00
+c7
+7a
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+60
+00
+c7
+7a
+1f
+e0
+fe
+02
+60
+01
+4b
+14
+20
+40
+02
+3d
+20
+20
+3d
+74
+20
+40
+02
+7d
+20
+20
+3d
+62
+1a
+62
+7e
+00
+c0
+1c
+81
+9b
+c0
+1d
+01
+b0
+c0
+1e
+01
+c0
+20
+20
+41
+7d
+20
+40
+01
+01
+70
+47
+8b
+01
+d8
+e0
+00
+03
+20
+40
+43
+d2
+58
+00
+00
+00
+60
+01
+47
+07
+70
+46
+a7
+00
+68
+00
+c6
+e0
+1f
+e6
+7c
+05
+20
+42
+c0
+39
+24
+42
+c0
+5d
+20
+40
+01
+ad
+20
+40
+01
+a9
+20
+20
+65
+d1
+da
+20
+4b
+cf
+da
+40
+00
+5b
+d8
+40
+00
+04
+20
+60
+00
+00
+68
+00
+cc
+5e
+60
+00
+c1
+de
+20
+60
+00
+00
+20
+40
+01
+cd
+70
+4c
+e7
+00
+20
+40
+01
+ad
+20
+40
+04
+cc
+68
+00
+c8
+7f
+c2
+80
+01
+bd
+70
+41
+bd
+00
+20
+40
+43
+16
+df
+20
+00
+03
+d8
+c0
+47
+22
+20
+40
+01
+5c
+20
+34
+01
+bd
+20
+20
+00
+d9
+70
+47
+a3
+01
+70
+47
+a4
+28
+20
+60
+00
+00
+20
+40
+01
+01
+20
+20
+3f
+8d
+78
+34
+7c
+00
+68
+12
+01
+38
+79
+34
+7e
+1a
+60
+12
+00
+4c
+20
+40
+2c
+21
+20
+40
+01
+cd
+20
+40
+74
+bd
+20
+40
+44
+82
+20
+40
+3e
+9f
+20
+40
+3e
+bf
+20
+20
+02
+31
+68
+00
+cb
+09
+20
+7a
+00
+00
+70
+4b
+09
+00
+20
+20
+01
+14
+20
+40
+01
+e0
+20
+40
+01
+e7
+20
+40
+01
+db
+20
+40
+02
+0b
+20
+40
+01
+f1
+20
+40
+01
+83
+20
+40
+42
+34
+20
+40
+42
+37
+20
+40
+42
+3a
+20
+20
+01
+ee
+da
+60
+48
+0d
+da
+40
+01
+de
+20
+20
+33
+6d
+70
+48
+0c
+00
+20
+60
+00
+00
+da
+60
+48
+10
+da
+40
+01
+e3
+20
+20
+33
+6d
+58
+36
+ee
+80
+60
+01
+cb
+d6
+70
+48
+0e
+01
+20
+60
+00
+00
+da
+60
+48
+0f
+da
+40
+01
+ea
+20
+20
+33
+6d
+68
+00
+c7
+cb
+60
+00
+c1
+72
+70
+48
+0e
+01
+20
+60
+00
+00
+da
+60
+46
+c6
+da
+40
+3d
+60
+20
+20
+33
+6d
+68
+00
+c6
+f5
+c2
+82
+43
+94
+68
+00
+c6
+85
+60
+00
+c6
+da
+68
+00
+c6
+db
+c1
+00
+80
+00
+70
+46
+db
+01
+d8
+e0
+00
+09
+20
+40
+43
+d2
+20
+20
+43
+ca
+70
+47
+a4
+28
+20
+40
+01
+fe
+20
+20
+43
+b0
+da
+60
+46
+da
+da
+40
+02
+01
+20
+20
+33
+6d
+20
+40
+01
+cd
+68
+01
+46
+82
+2f
+ef
+fe
+0b
+20
+40
+c2
+d4
+68
+01
+46
+82
+2f
+ef
+fe
+07
+20
+40
+c3
+92
+d8
+e0
+00
+09
+20
+40
+43
+ce
+20
+20
+43
+b8
+68
+00
+c7
+a3
+20
+7a
+00
+00
+68
+00
+c7
+a4
+20
+3a
+02
+12
+1f
+e0
+ff
+ff
+60
+00
+c7
+a4
+20
+60
+00
+00
+70
+47
+a3
+00
+20
+20
+34
+0a
+68
+00
+cb
+12
+1f
+e0
+ff
+ff
+60
+00
+cb
+12
+24
+7a
+00
+00
+68
+00
+cb
+13
+60
+00
+cb
+12
+68
+00
+cb
+15
+20
+3a
+02
+20
+68
+00
+cb
+14
+20
+3a
+02
+27
+1f
+e0
+ff
+ff
+60
+00
+cb
+14
+68
+00
+cb
+0e
+c0
+00
+82
+2b
+c0
+00
+02
+24
+20
+60
+00
+00
+70
+4b
+0e
+01
+68
+08
+cb
+0d
+20
+20
+68
+29
+70
+4b
+17
+00
+70
+4b
+12
+00
+70
+4b
+14
+00
+70
+4b
+15
+00
+68
+00
+cb
+14
+24
+3a
+02
+2f
+70
+4b
+0c
+00
+70
+4b
+0f
+00
+70
+4b
+10
+00
+70
+4b
+0e
+00
+68
+08
+cb
+0d
+20
+20
+68
+25
+70
+4b
+12
+01
+70
+4b
+13
+05
+70
+4b
+15
+00
+70
+4b
+14
+01
+70
+4b
+0c
+01
+70
+4b
+0f
+01
+20
+60
+00
+00
+68
+00
+cb
+17
+24
+7a
+00
+00
+20
+20
+02
+28
+70
+4b
+12
+01
+70
+4b
+13
+03
+70
+4b
+15
+01
+20
+20
+02
+37
+78
+54
+7c
+00
+58
+00
+00
+00
+60
+03
+46
+9b
+20
+40
+02
+82
+20
+40
+40
+79
+20
+40
+40
+7e
+20
+40
+02
+49
+20
+20
+3f
+9f
+20
+40
+02
+4b
+20
+20
+40
+9a
+da
+20
+00
+00
+20
+40
+02
+56
+20
+40
+02
+5c
+20
+40
+02
+62
+20
+40
+02
+52
+1a
+22
+7e
+00
+20
+60
+00
+00
+68
+00
+c6
+e5
+c1
+7f
+80
+00
+20
+40
+02
+68
+20
+20
+02
+6e
+68
+08
+c6
+e2
+20
+40
+02
+7d
+68
+08
+c6
+e2
+20
+40
+68
+1d
+79
+20
+a2
+00
+20
+60
+00
+00
+68
+08
+c6
+e3
+20
+40
+02
+7d
+68
+08
+c6
+e3
+20
+40
+68
+1d
+79
+20
+a2
+01
+20
+60
+00
+00
+68
+08
+c6
+e4
+20
+40
+02
+7d
+68
+08
+c6
+e4
+20
+40
+68
+1d
+79
+20
+a2
+02
+20
+60
+00
+00
+68
+08
+c6
+e5
+20
+40
+02
+74
+68
+08
+c6
+e5
+20
+40
+68
+1d
+7d
+20
+a2
+03
+20
+20
+02
+7d
+68
+08
+c6
+e6
+20
+40
+02
+74
+68
+08
+c6
+e6
+20
+40
+68
+1d
+7d
+20
+a2
+04
+20
+20
+02
+7d
+79
+3f
+84
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+7c
+20
+40
+68
+30
+79
+3f
+84
+07
+d8
+a0
+80
+70
+20
+20
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+3f
+84
+07
+20
+20
+02
+78
+68
+00
+c2
+39
+c1
+80
+00
+00
+68
+00
+c6
+e0
+c0
+00
+02
+8d
+c0
+00
+82
+8d
+c0
+01
+02
+8d
+c0
+01
+82
+8d
+c0
+02
+02
+95
+c0
+02
+c0
+10
+c0
+03
+02
+8d
+20
+20
+02
+8d
+20
+40
+3f
+c0
+78
+54
+7c
+00
+68
+00
+c6
+f5
+c3
+03
+bf
+e7
+68
+08
+c6
+f3
+20
+40
+68
+1d
+24
+60
+80
+00
+20
+20
+3f
+e7
+20
+40
+3f
+c0
+68
+00
+c6
+f5
+c3
+03
+bf
+c8
+68
+08
+c6
+f3
+20
+40
+68
+1d
+24
+60
+80
+00
+20
+20
+3f
+c8
+20
+40
+42
+4a
+68
+00
+c6
+e0
+c0
+02
+bd
+aa
+c0
+02
+02
+dd
+c0
+03
+02
+c6
+c0
+03
+82
+b6
+20
+20
+3d
+81
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+ac
+68
+00
+c7
+7a
+c0
+00
+02
+ae
+c0
+00
+82
+b0
+c0
+01
+02
+b2
+c0
+01
+82
+b4
+20
+20
+02
+b2
+70
+47
+7a
+02
+20
+60
+00
+00
+70
+48
+80
+01
+20
+20
+3d
+8a
+70
+48
+80
+01
+20
+20
+3d
+8a
+70
+48
+80
+02
+20
+20
+3d
+8c
+70
+48
+80
+03
+20
+20
+3d
+8e
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+cf
+68
+00
+c7
+7a
+c0
+00
+02
+d5
+c0
+01
+02
+d7
+c0
+01
+82
+da
+20
+20
+02
+d7
+70
+47
+7a
+02
+20
+60
+00
+00
+68
+00
+c7
+8f
+20
+20
+3d
+be
+68
+00
+c7
+8d
+20
+20
+3d
+be
+68
+00
+c7
+8e
+20
+20
+3d
+be
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+cf
+68
+00
+c7
+7a
+c0
+00
+02
+d1
+c0
+00
+82
+d5
+c0
+01
+02
+d7
+c0
+01
+82
+da
+20
+20
+02
+d7
+70
+47
+7a
+02
+20
+60
+00
+00
+70
+48
+80
+01
+68
+00
+c7
+7f
+1f
+e0
+ff
+ff
+20
+20
+3d
+be
+68
+00
+c7
+8d
+20
+20
+3d
+be
+70
+48
+80
+02
+68
+00
+c7
+8e
+20
+20
+3d
+be
+70
+48
+80
+03
+68
+00
+c7
+8f
+20
+20
+3d
+be
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+ac
+68
+00
+c7
+7a
+c0
+00
+3d
+9d
+c0
+00
+bd
+9b
+c0
+01
+3d
+9f
+c0
+01
+bd
+a1
+20
+20
+3d
+9f
+70
+47
+a3
+00
+70
+47
+a4
+00
+c5
+13
+02
+ea
+20
+20
+42
+6d
+20
+40
+04
+cc
+20
+20
+42
+6d
+20
+40
+68
+a2
+68
+01
+42
+1d
+20
+3a
+02
+f1
+60
+01
+47
+c8
+20
+20
+03
+10
+58
+00
+11
+22
+60
+01
+47
+c8
+20
+20
+02
+f0
+20
+40
+01
+ad
+70
+47
+a2
+00
+68
+01
+46
+82
+c2
+85
+83
+02
+68
+02
+46
+d3
+c3
+0c
+03
+02
+20
+40
+03
+14
+68
+09
+47
+c8
+18
+40
+84
+01
+60
+09
+47
+c8
+60
+09
+44
+a1
+20
+40
+03
+10
+18
+0a
+7e
+00
+60
+00
+c4
+a0
+20
+40
+34
+18
+68
+01
+46
+87
+60
+01
+46
+ac
+70
+01
+6d
+06
+58
+00
+00
+00
+60
+01
+46
+b0
+60
+01
+46
+ae
+d8
+e0
+00
+07
+20
+40
+43
+ce
+20
+40
+43
+ca
+68
+00
+c0
+92
+2f
+ef
+fe
+01
+20
+40
+83
+18
+20
+20
+42
+c4
+d8
+40
+00
+02
+da
+20
+47
+c8
+da
+40
+00
+5f
+20
+20
+65
+d1
+d8
+40
+00
+02
+da
+20
+47
+c8
+da
+40
+00
+5f
+20
+20
+65
+df
+70
+47
+a5
+00
+20
+40
+00
+e6
+58
+00
+00
+05
+e0
+c0
+80
+00
+20
+20
+7d
+f4
+58
+00
+00
+00
+60
+01
+46
+ac
+20
+40
+01
+10
+20
+20
+42
+cb
+68
+10
+80
+77
+1f
+e1
+7e
+fd
+60
+10
+80
+77
+68
+18
+80
+73
+18
+41
+84
+02
+60
+18
+80
+73
+20
+40
+63
+ee
+18
+41
+04
+fd
+20
+00
+00
+0d
+20
+40
+63
+f2
+60
+18
+80
+73
+20
+60
+00
+00
+20
+40
+68
+a8
+68
+02
+40
+a0
+60
+02
+4b
+de
+20
+60
+00
+00
+70
+4c
+dd
+01
+70
+4c
+df
+00
+68
+00
+cb
+a8
+1f
+e1
+7e
+07
+60
+00
+cb
+a8
+20
+60
+00
+00
+68
+00
+cb
+a8
+79
+20
+7e
+04
+60
+00
+cb
+a8
+60
+00
+cb
+63
+20
+60
+00
+00
+68
+00
+cb
+a8
+79
+3f
+fe
+04
+60
+00
+cb
+a8
+20
+60
+00
+00
+20
+40
+04
+08
+68
+00
+cc
+de
+c0
+00
+83
+45
+c0
+01
+03
+49
+20
+60
+00
+00
+70
+4c
+df
+02
+70
+4c
+db
+00
+70
+4c
+dd
+00
+20
+20
+03
+33
+70
+4c
+dc
+00
+20
+20
+03
+46
+68
+01
+4b
+ad
+1f
+e0
+fe
+01
+60
+01
+4b
+ad
+c2
+85
+03
+f6
+68
+00
+cc
+dc
+c0
+00
+83
+54
+70
+4c
+dc
+01
+68
+00
+cc
+dc
+c0
+80
+83
+33
+68
+00
+cc
+da
+1f
+e0
+fe
+01
+60
+00
+cc
+da
+c0
+02
+03
+5b
+20
+40
+05
+78
+70
+4b
+ec
+02
+20
+20
+03
+b3
+20
+40
+04
+08
+70
+4c
+da
+00
+20
+20
+03
+33
+70
+4c
+df
+02
+70
+4c
+dd
+01
+70
+4c
+dc
+00
+20
+20
+03
+33
+68
+00
+cc
+de
+c0
+01
+83
+5f
+68
+00
+cb
+a8
+2f
+ec
+00
+04
+20
+20
+83
+31
+68
+00
+cc
+de
+c0
+00
+83
+5e
+c0
+01
+03
+5f
+20
+60
+00
+00
+68
+00
+cb
+b7
+c1
+ff
+80
+00
+20
+40
+03
+70
+24
+56
+03
+78
+20
+60
+00
+00
+78
+56
+7c
+00
+68
+00
+cc
+dd
+c1
+80
+80
+00
+68
+00
+cc
+df
+c1
+80
+00
+00
+70
+4c
+de
+01
+70
+4b
+ec
+04
+20
+20
+7f
+eb
+68
+00
+cc
+df
+20
+3a
+03
+80
+1f
+e0
+ff
+ff
+60
+00
+cc
+df
+70
+4c
+de
+02
+20
+40
+05
+78
+70
+4b
+ec
+04
+20
+60
+00
+00
+70
+4c
+de
+03
+68
+00
+cc
+dc
+24
+3a
+03
+52
+20
+40
+05
+78
+70
+4b
+ec
+02
+20
+60
+00
+00
+68
+00
+cb
+b7
+c0
+ff
+84
+4f
+20
+40
+03
+8c
+20
+40
+05
+66
+70
+4b
+ac
+01
+20
+60
+00
+00
+68
+01
+4c
+d8
+20
+40
+7f
+9c
+20
+34
+03
+92
+68
+03
+cb
+44
+20
+7a
+00
+00
+20
+20
+7f
+e7
+20
+40
+03
+ab
+70
+4b
+d3
+00
+1a
+20
+fe
+01
+60
+00
+cb
+a7
+20
+40
+03
+33
+60
+00
+cb
+43
+e8
+a8
+80
+00
+ea
+40
+80
+00
+98
+41
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+df
+20
+00
+02
+ea
+41
+00
+00
+e0
+a1
+00
+00
+1a
+40
+a4
+02
+c2
+00
+03
+9e
+d8
+a0
+4b
+49
+df
+20
+00
+02
+ea
+40
+80
+00
+e8
+a8
+80
+00
+98
+40
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+c2
+00
+03
+a4
+20
+60
+00
+00
+68
+00
+c6
+f5
+c3
+83
+80
+00
+68
+00
+c8
+0e
+c1
+80
+80
+00
+58
+00
+00
+00
+60
+00
+c8
+0e
+60
+02
+46
+9b
+20
+20
+01
+10
+70
+4b
+b0
+00
+d9
+60
+0d
+00
+34
+73
+02
+00
+20
+40
+03
+cf
+68
+00
+cb
+e3
+c1
+00
+80
+00
+24
+2c
+03
+de
+24
+37
+83
+de
+20
+40
+03
+ca
+20
+40
+03
+fa
+20
+40
+04
+04
+68
+00
+cb
+a6
+1f
+e0
+fe
+01
+60
+00
+cb
+a6
+68
+00
+cb
+b7
+c0
+ff
+83
+cd
+20
+40
+03
+62
+58
+00
+00
+00
+60
+01
+4b
+ad
+60
+00
+cb
+af
+60
+00
+cc
+db
+70
+4b
+ac
+00
+20
+60
+00
+00
+df
+20
+00
+04
+d8
+a0
+4b
+43
+20
+20
+7e
+c6
+20
+40
+04
+01
+20
+20
+04
+6a
+78
+57
+fc
+00
+20
+40
+05
+e0
+68
+00
+cb
+e3
+c0
+00
+83
+dc
+18
+00
+2a
+00
+68
+02
+4b
+cf
+98
+00
+12
+00
+68
+08
+80
+17
+20
+40
+29
+1f
+20
+40
+29
+24
+20
+40
+05
+9b
+20
+57
+85
+d8
+20
+60
+00
+00
+20
+40
+05
+d8
+20
+20
+03
+be
+68
+00
+cb
+af
+1f
+e0
+fe
+01
+60
+00
+cb
+af
+68
+00
+cb
+b7
+c0
+ff
+83
+f2
+68
+08
+cb
+b0
+18
+40
+84
+01
+60
+08
+cb
+b0
+68
+00
+cb
+ec
+98
+46
+7e
+00
+24
+3a
+03
+b4
+68
+00
+cc
+de
+c0
+01
+83
+4b
+68
+00
+cc
+db
+1f
+e0
+fe
+01
+60
+00
+cc
+db
+c0
+01
+03
+40
+20
+40
+03
+37
+70
+4b
+ec
+01
+20
+20
+03
+b3
+68
+00
+cb
+af
+c1
+ff
+80
+00
+70
+4b
+af
+00
+20
+20
+03
+f8
+58
+00
+00
+00
+60
+01
+4b
+ad
+70
+0a
+99
+3a
+20
+20
+7d
+86
+20
+40
+04
+d5
+68
+00
+cb
+a5
+20
+7a
+00
+00
+98
+00
+72
+00
+d8
+c0
+4b
+23
+d8
+a0
+4b
+85
+20
+20
+7f
+01
+70
+4c
+e3
+01
+70
+4c
+e0
+00
+20
+60
+00
+00
+68
+00
+cc
+e0
+1f
+e0
+fe
+01
+60
+00
+cc
+e0
+20
+60
+00
+00
+68
+00
+cc
+e0
+1f
+e6
+7c
+02
+24
+41
+04
+10
+68
+00
+cc
+e0
+c1
+00
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+cc
+e0
+20
+60
+00
+00
+70
+4c
+e0
+03
+20
+60
+00
+00
+68
+01
+46
+82
+c3
+85
+80
+00
+c3
+83
+80
+00
+c3
+83
+00
+00
+da
+20
+4c
+69
+20
+40
+05
+47
+60
+08
+cc
+e1
+28
+0f
+fe
+26
+20
+40
+84
+24
+24
+40
+84
+28
+98
+46
+7c
+00
+24
+21
+04
+3c
+68
+00
+cc
+e0
+1f
+e6
+7c
+02
+24
+21
+04
+2c
+68
+00
+cc
+e0
+c0
+00
+04
+3d
+20
+60
+00
+00
+58
+00
+00
+82
+20
+60
+00
+00
+58
+00
+00
+77
+20
+60
+00
+00
+58
+00
+00
+80
+20
+60
+00
+00
+58
+00
+00
+75
+20
+60
+00
+00
+68
+00
+cc
+e0
+c1
+90
+00
+00
+70
+4c
+e0
+00
+68
+08
+cc
+e1
+28
+0f
+fe
+26
+20
+40
+84
+26
+24
+40
+84
+2a
+98
+46
+7c
+00
+24
+61
+00
+00
+68
+00
+cc
+e3
+c0
+00
+04
+44
+1f
+e0
+ff
+ff
+60
+00
+cc
+e3
+c0
+00
+04
+44
+70
+41
+de
+00
+20
+60
+00
+00
+70
+4c
+e0
+00
+68
+00
+cc
+e3
+c0
+01
+04
+42
+1f
+e0
+fe
+01
+60
+00
+cc
+e3
+c0
+00
+84
+3a
+70
+41
+de
+02
+20
+60
+00
+00
+70
+41
+de
+04
+20
+60
+00
+00
+79
+20
+00
+26
+20
+40
+04
+4a
+70
+4b
+b7
+01
+20
+60
+00
+00
+70
+41
+de
+20
+70
+4b
+a6
+00
+70
+4b
+b1
+4e
+68
+02
+4b
+b3
+20
+20
+05
+58
+68
+00
+cb
+ac
+c0
+00
+ff
+e7
+68
+00
+cb
+b7
+c0
+00
+84
+56
+c0
+01
+04
+59
+c0
+01
+84
+5c
+20
+20
+2a
+8c
+70
+4b
+b7
+11
+70
+11
+9e
+aa
+20
+20
+04
+5e
+70
+4b
+b7
+12
+70
+11
+9e
+55
+20
+20
+04
+5e
+70
+4b
+b7
+13
+70
+11
+9e
+22
+68
+00
+cb
+a8
+1f
+e1
+7e
+07
+60
+00
+91
+9f
+68
+02
+4b
+de
+60
+02
+11
+a0
+70
+11
+a4
+00
+da
+20
+11
+9e
+d8
+40
+00
+07
+20
+40
+04
+d0
+20
+40
+05
+66
+20
+40
+03
+8a
+20
+20
+7f
+e7
+68
+00
+cb
+b7
+c1
+7f
+80
+00
+c0
+08
+84
+70
+c0
+09
+04
+72
+c0
+09
+84
+74
+20
+60
+00
+00
+70
+4b
+b7
+02
+20
+20
+03
+c4
+70
+4b
+b7
+03
+20
+20
+03
+c4
+70
+4b
+b7
+ff
+70
+0a
+99
+39
+20
+40
+7d
+86
+68
+02
+4b
+87
+20
+40
+05
+58
+20
+20
+03
+c4
+79
+20
+00
+26
+58
+00
+00
+00
+60
+01
+4b
+d4
+70
+48
+0e
+00
+70
+0a
+99
+3c
+20
+40
+7d
+86
+20
+40
+03
+ca
+20
+20
+00
+6f
+70
+11
+9e
+ff
+68
+00
+cb
+a8
+60
+00
+91
+9f
+68
+02
+4b
+de
+60
+02
+11
+a0
+d8
+40
+00
+06
+da
+20
+11
+9e
+20
+40
+04
+d0
+20
+20
+05
+66
+58
+00
+00
+00
+60
+01
+11
+be
+79
+3f
+80
+26
+20
+40
+04
+ae
+20
+40
+04
+82
+58
+00
+00
+00
+60
+01
+4b
+d4
+20
+40
+2a
+fa
+20
+00
+07
+d0
+68
+01
+4b
+d4
+d8
+40
+77
+88
+98
+46
+7c
+00
+20
+22
+83
+f8
+20
+40
+03
+cf
+24
+2c
+04
+a2
+24
+37
+84
+a2
+20
+40
+03
+fa
+20
+40
+01
+ad
+68
+02
+4b
+cf
+68
+0a
+4b
+b3
+98
+46
+7c
+00
+20
+22
+84
+46
+20
+20
+04
+7a
+68
+01
+4b
+d4
+1f
+e0
+fe
+01
+60
+01
+4b
+d4
+68
+00
+cc
+e5
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+60
+00
+cc
+e5
+c0
+00
+04
+c6
+c0
+00
+84
+c8
+c0
+01
+04
+ca
+c0
+01
+84
+c8
+20
+60
+00
+00
+20
+40
+01
+ad
+68
+02
+4b
+de
+60
+02
+4b
+cf
+68
+00
+91
+be
+60
+00
+cb
+b2
+20
+40
+04
+c4
+60
+08
+91
+be
+20
+60
+00
+00
+20
+40
+01
+ad
+20
+40
+01
+32
+20
+40
+01
+5a
+20
+34
+04
+bb
+20
+20
+04
+c4
+70
+41
+de
+20
+58
+00
+0f
+0f
+60
+01
+4b
+cf
+e0
+a1
+00
+00
+68
+00
+91
+bf
+60
+00
+cb
+b2
+20
+40
+04
+c4
+60
+08
+91
+bf
+20
+60
+00
+00
+20
+40
+05
+59
+20
+20
+05
+78
+20
+40
+04
+ae
+20
+20
+04
+92
+20
+40
+04
+4a
+20
+20
+04
+92
+20
+40
+04
+bb
+20
+20
+04
+92
+79
+3f
+80
+26
+20
+40
+53
+ce
+d8
+e0
+00
+03
+20
+20
+43
+d2
+60
+08
+cb
+a7
+18
+42
+72
+00
+d8
+a0
+4b
+43
+1a
+22
+0c
+00
+20
+20
+7f
+01
+68
+00
+cb
+22
+1f
+e9
+7e
+00
+60
+00
+cb
+a5
+1f
+e0
+fe
+01
+d8
+c0
+4b
+22
+98
+c0
+8c
+00
+e8
+c1
+80
+00
+60
+01
+cb
+e4
+68
+00
+cb
+22
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+60
+00
+cb
+ea
+20
+60
+00
+00
+60
+08
+80
+17
+18
+40
+a2
+00
+20
+40
+29
+81
+58
+00
+05
+00
+20
+40
+2a
+8f
+70
+89
+06
+01
+70
+89
+00
+3c
+70
+89
+01
+e0
+20
+00
+00
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
+20
+00
+00
+0a
+70
+89
+03
+b7
+20
+00
+00
+0a
+70
+89
+02
+7d
+68
+00
+c1
+de
+c0
+00
+04
+f8
+c0
+00
+85
+00
+c0
+01
+05
+08
+c0
+02
+05
+10
+c0
+10
+05
+22
+20
+20
+04
+f8
+20
+40
+05
+18
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+6c
+70
+89
+59
+10
+20
+20
+29
+4b
+20
+40
+05
+1d
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+3c
+70
+89
+59
+10
+20
+20
+29
+4f
+20
+40
+05
+1d
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+3c
+70
+89
+59
+10
+20
+20
+29
+53
+20
+40
+05
+18
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+c0
+70
+89
+57
+88
+70
+89
+58
+6c
+70
+89
+59
+10
+20
+20
+29
+5b
+70
+89
+4c
+5b
+70
+89
+4d
+96
+70
+89
+4e
+2c
+70
+89
+4f
+46
+20
+60
+00
+00
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
+20
+60
+00
+00
+70
+89
+56
+c2
+70
+89
+55
+d0
+20
+60
+00
+00
+18
+00
+2a
+08
+20
+20
+28
+fa
+20
+40
+29
+78
+70
+80
+42
+05
+20
+60
+00
+00
+20
+40
+7f
+e9
+68
+0a
+4b
+c8
+1c
+42
+7e
+00
+98
+46
+7c
+00
+24
+41
+2d
+18
+1f
+e2
+24
+00
+68
+02
+4b
+c8
+68
+08
+cb
+cc
+98
+40
+84
+00
+1a
+42
+7e
+00
+98
+46
+7c
+00
+24
+61
+00
+00
+79
+3f
+fe
+1c
+60
+02
+4b
+c8
+20
+20
+7f
+e7
+20
+40
+29
+bb
+20
+7a
+00
+00
+68
+08
+cc
+61
+da
+20
+0d
+9e
+20
+40
+05
+40
+60
+08
+cc
+61
+20
+60
+00
+00
+1a
+22
+7e
+00
+98
+40
+8a
+00
+68
+00
+80
+18
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+20
+60
+00
+00
+d8
+40
+00
+00
+df
+20
+00
+08
+1a
+22
+0c
+00
+e8
+c0
+80
+00
+98
+40
+84
+00
+c2
+00
+05
+4a
+18
+49
+7e
+00
+1f
+e2
+04
+00
+c6
+93
+00
+00
+1f
+e6
+fc
+0a
+20
+40
+7f
+86
+18
+07
+fe
+00
+1f
+f2
+7e
+00
+18
+07
+04
+00
+98
+41
+84
+00
+20
+60
+00
+00
+20
+60
+00
+00
+60
+02
+4b
+cf
+da
+20
+00
+00
+df
+20
+00
+04
+d8
+c0
+4b
+cf
+e8
+c0
+80
+00
+9a
+20
+a2
+00
+c2
+00
+05
+5c
+1a
+22
+7e
+00
+60
+01
+4c
+58
+68
+00
+cc
+58
+68
+08
+cc
+59
+98
+40
+fe
+00
+60
+00
+cc
+5a
+20
+60
+00
+00
+68
+00
+cb
+a7
+1f
+e0
+fe
+02
+60
+00
+cb
+a9
+68
+00
+cb
+a8
+60
+00
+cb
+63
+68
+00
+cb
+a7
+1f
+e9
+fe
+00
+68
+08
+cb
+a6
+18
+41
+04
+03
+18
+43
+84
+00
+98
+41
+fe
+00
+68
+08
+cb
+e3
+98
+40
+fe
+00
+e0
+a0
+80
+00
+68
+00
+cb
+a7
+98
+00
+72
+00
+d8
+c0
+4b
+43
+20
+20
+7f
+01
+68
+08
+cb
+b2
+20
+40
+05
+7c
+60
+08
+cb
+b2
+20
+60
+00
+00
+20
+40
+05
+80
+18
+40
+84
+01
+18
+41
+04
+03
+20
+60
+00
+00
+68
+00
+cb
+cf
+1f
+e1
+7e
+03
+1f
+ef
+a2
+04
+58
+00
+4b
+b8
+9a
+20
+fe
+00
+98
+40
+8c
+00
+e8
+c0
+80
+00
+60
+00
+cb
+b1
+20
+60
+00
+00
+78
+44
+fc
+00
+78
+43
+fc
+00
+58
+55
+55
+55
+98
+00
+1e
+00
+68
+00
+cb
+b1
+1f
+ed
+84
+00
+79
+20
+04
+01
+18
+43
+1c
+00
+20
+60
+00
+00
+20
+40
+53
+c4
+68
+02
+4b
+cf
+98
+00
+12
+00
+20
+40
+29
+18
+68
+08
+cb
+b1
+20
+40
+29
+1f
+58
+00
+05
+00
+20
+40
+2a
+8f
+20
+40
+29
+24
+20
+40
+05
+89
+78
+57
+fc
+00
+78
+26
+fc
+00
+78
+30
+fc
+00
+78
+50
+7c
+00
+78
+28
+7c
+00
+68
+01
+4b
+aa
+98
+00
+36
+00
+37
+c1
+84
+00
+24
+2c
+05
+dc
+78
+46
+fc
+00
+78
+25
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+20
+40
+05
+d5
+60
+00
+cc
+5b
+68
+08
+cc
+5a
+98
+46
+7c
+00
+24
+22
+85
+d8
+20
+40
+05
+d5
+60
+00
+cb
+21
+68
+00
+cb
+ed
+1f
+e6
+7c
+02
+20
+22
+85
+b7
+68
+00
+cb
+21
+68
+08
+cb
+a8
+a8
+40
+0e
+00
+24
+20
+85
+d8
+20
+40
+05
+d5
+e0
+a0
+80
+00
+1f
+e9
+7e
+00
+1f
+e1
+72
+1f
+20
+22
+85
+bf
+20
+40
+05
+d5
+e0
+a0
+80
+00
+c2
+00
+05
+bc
+18
+a2
+22
+00
+20
+40
+05
+d5
+60
+00
+cc
+e2
+1a
+22
+0a
+00
+09
+80
+00
+18
+78
+28
+7c
+00
+db
+60
+06
+64
+1f
+ef
+7e
+00
+1f
+f1
+7e
+00
+e0
+a1
+80
+00
+78
+45
+fc
+00
+20
+23
+05
+d8
+78
+37
+fc
+00
+68
+00
+80
+17
+1f
+e0
+a2
+00
+20
+40
+29
+81
+78
+46
+fc
+00
+20
+40
+29
+18
+68
+00
+cc
+e2
+1f
+e2
+22
+00
+20
+40
+00
+14
+20
+60
+00
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+20
+60
+00
+00
+78
+4d
+fc
+00
+78
+45
+fc
+00
+20
+40
+26
+4d
+20
+60
+00
+00
+20
+20
+05
+d8
+20
+40
+29
+18
+68
+08
+cb
+b1
+20
+20
+29
+33
+20
+40
+53
+c4
+68
+02
+4b
+cf
+98
+00
+12
+00
+20
+40
+05
+89
+20
+40
+05
+dd
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+19
+31
+7e
+00
+1f
+ec
+fe
+00
+1f
+f1
+fe
+00
+08
+00
+86
+28
+78
+4e
+fc
+00
+78
+2d
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+68
+00
+cc
+5a
+08
+00
+86
+08
+68
+00
+cb
+a9
+98
+00
+72
+00
+d8
+c0
+4b
+63
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+05
+f6
+78
+24
+7c
+00
+08
+00
+86
+18
+78
+44
+7c
+00
+37
+d3
+82
+00
+20
+00
+00
+64
+78
+4e
+fc
+00
+78
+4d
+fc
+00
+20
+60
+00
+00
+70
+47
+a6
+07
+70
+47
+a7
+04
+58
+00
+47
+a6
+60
+01
+42
+18
+20
+20
+7e
+38
+da
+20
+46
+9a
+20
+40
+7e
+3d
+20
+54
+06
+0a
+20
+60
+00
+00
+68
+00
+c7
+c7
+1f
+e0
+fe
+01
+60
+00
+c7
+c7
+20
+60
+00
+00
+da
+20
+46
+9a
+20
+40
+7e
+54
+20
+34
+06
+12
+20
+60
+00
+00
+20
+40
+56
+52
+68
+00
+c7
+c7
+1f
+e6
+7c
+01
+24
+41
+56
+50
+68
+00
+c7
+c7
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+c7
+c7
+20
+20
+3f
+90
+5c
+7f
+aa
+55
+08
+00
+75
+41
+8f
+1c
+ca
+00
+0a
+0b
+ef
+07
+aa
+55
+01
+00
+57
+41
+00
+aa
+55
+08
+00
+a1
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+ad
+40
+12
+00
+00
+02
+12
+00
+00
+02
+aa
+55
+02
+00
+bb
+40
+20
+00
+aa
+55
+04
+00
+b7
+40
+20
+00
+00
+40
+aa
+55
+04
+00
+bf
+40
+80
+04
+00
+08
+aa
+55
+01
+00
+e4
+4c
+00
+aa
+55
+02
+00
+41
+42
+00
+84
+aa
+55
+01
+00
+de
+41
+00
+aa
+55
+0f
+00
+93
+47
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+68
+e6
+ff
+aa
+55
+02
+00
+c3
+40
+93
+47
+aa
+55
+01
+00
+00
+40
+02
+aa
+55
+02
+00
+10
+40
+20
+06
+aa
+55
+03
+00
+14
+40
+02
+01
+06
+aa
+55
+02
+00
+18
+40
+10
+06
+aa
+55
+02
+00
+1c
+40
+48
+1c
+aa
+55
+04
+00
+27
+40
+02
+08
+04
+80
+aa
+55
+03
+00
+2c
+40
+88
+04
+80
+aa
+55
+01
+00
+31
+40
+10
+aa
+55
+01
+00
+92
+40
+42
+aa
+55
+01
+00
+91
+40
+01
+aa
+55
+01
+00
+72
+41
+20
+aa
+55
+01
+00
+cb
+47
+20
+aa
+55
+02
+00
+54
+41
+00
+00
+aa
+55
+02
+00
+d5
+46
+92
+e5
+aa
+55
+01
+00
+7f
+48
+08
+aa
+55
+01
+00
+07
+42
+06
+aa
+55
+06
+00
+a0
+40
+26
+10
+19
+20
+18
+10
+aa
+55
+01
+00
+5a
+45
+0a
+aa
+55
+01
+00
+62
+46
+03
+aa
+55
+01
+00
+5a
+46
+01
+aa
+55
+01
+00
+8d
+45
+00
+aa
+55
+01
+00
+5a
+41
+00
+aa
+55
+03
+00
+5b
+46
+03
+00
+04
+aa
+55
+01
+00
+84
+46
+01
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+1a
+00
+6f
+43
+1f
+03
+19
+c2
+03
+02
+01
+05
+03
+03
+12
+18
+0d
+09
+42
+54
+20
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0f
+00
+8f
+43
+1f
+0d
+09
+42
+54
+20
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0d
+00
+af
+43
+0c
+42
+54
+20
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+08
+00
+96
+44
+07
+00
+07
+00
+20
+00
+2c
+01
+aa
+55
+04
+00
+82
+44
+00
+00
+00
+00
+aa
+55
+01
+00
+8d
+44
+07
+aa
+55
+06
+00
+a0
+44
+8e
+b1
+3a
+0e
+8e
+ed
+aa
+55
+01
+00
+e5
+44
+50
+aa
+55
+02
+00
+6f
+44
+19
+00
+aa
+55
+02
+00
+fa
+44
+22
+00
+aa
+55
+02
+00
+87
+46
+08
+07
+aa
+55
+04
+00
+a8
+46
+50
+00
+70
+17
+aa
+55
+01
+00
+14
+42
+ff
+aa
+55
+01
+00
+86
+46
+ff
+aa
+55
+01
+00
+85
+46
+1e
+aa
+55
+01
+00
+d2
+46
+02
+aa
+55
+01
+00
+03
+47
+02
+aa
+55
+02
+00
+2d
+42
+01
+32
+aa
+55
+06
+00
+09
+47
+a4
+01
+18
+01
+40
+01
+aa
+55
+19
+00
+e0
+46
+00
+02
+06
+14
+07
+07
+14
+06
+1c
+1b
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+00
+01
+05
+ff
+aa
+55
+01
+00
+3a
+42
+14
+aa
+55
+01
+00
+dc
+46
+ff
+aa
+55
+01
+00
+a5
+46
+07
+aa
+55
+01
+00
+6c
+0c
+ff
+aa
+55
+01
+00
+f5
+46
+00
+aa
+55
+0c
+00
+7f
+47
+01
+02
+03
+04
+15
+1a
+2a
+3f
+04
+05
+07
+08
+aa
+55
+04
+00
+8c
+47
+00
+01
+02
+03
+aa
+55
+01
+00
+80
+48
+00
+aa
+55
+02
+00
+1b
+42
+13
+47
+aa
+55
+01
+00
+1a
+42
+01
+aa
+55
+40
+00
+cc
+47
+25
+00
+02
+03
+28
+01
+12
+26
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+27
+00
+02
+02
+29
+02
+00
+00
+28
+00
+02
+08
+29
+02
+11
+01
+29
+00
+02
+03
+28
+01
+0e
+2a
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+2b
+00
+02
+08
+29
+02
+11
+02
+aa
+55
+01
+00
+ed
+4b
+01
+aa
+55
+01
+00
+a8
+4b
+01
+aa
+55
+01
+00
+ec
+4b
+04
+aa
+55
+01
+00
+e3
+4b
+00
+aa
+55
+02
+00
+aa
+4b
+c0
+12
+aa
+55
+03
+00
+cc
+4b
+19
+19
+1c
+aa
+55
+10
+00
+b8
+4b
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+01
+00
+b7
+4b
+ff
+aa
+55
+04
+00
+b3
+4b
+20
+15
+10
+05
+aa
+55
+08
+00
+d6
+4b
+80
+ee
+36
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+20
+47
+01
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+03
+00
+00
+47
+00
+70
+00
+aa
+55
+02
+00
+03
+42
+90
+1f
+aa
+55
+01
+00
+11
+42
+80
+aa
+55
+01
+00
+1f
+47
+00
+aa
+55
+01
+00
+db
+46
+01
+aa
+55
+01
+00
+92
+47
+03
+aa
+55
+01
+00
+0d
+4b
+ff
+aa
+55
+01
+00
+11
+4b
+14
+aa
+55
+01
+00
+13
+4b
+05
+a5
+8f
Index: YJX_Only24g/main/output/memmap.format
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/memmap.format	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/memmap.format	(working copy)
@@ -0,0 +1,1901 @@
+0x0000 mem_le_adv_transmit
+0x0001 mem_le_adv_waitcnt
+0x0002 mem_le_adv_rcv
+0x0003 mem_le_req_rcv
+0x0004 mem_le_scanrsp_rcv
+0x0005 mem_le_conn_rcv
+0x0006 mem_inquiryscan_waitcnt
+0x0007 mem_inquiryscan_rcvcnt
+0x0008 mem_pagescan_waitcnt
+0x0009 mem_pagescan_rcvcnt
+0x000a mem_pagescan_rcvfhscnt
+0x000b mem_slave_rcvcnt
+0x000c mem_page_transmit
+0x000d mem_page_rcv
+0x000e mem_page_rcv_fhs
+0x000f mem_master_rcvcnt
+0x0010 mem_fhs_wait_counter
+0x0011 mem_newconnto_counter
+0x0012 mem_inquiry_transmit
+0x0013 mem_inquiry_rcv
+0x0014 mem_fw_ver
+0x0015 mem_current_context
+0x0016 mem_le_ch_mapped
+0x0017 mem_last_freq
+0x0018 mem_rssi
+0x0019 mem_rx_type
+0x001a mem_rx_hec_err
+0x001c mem_rx_crc_err
+0x001e mem_context_ptr
+0x0020 mem_display
+0x0028 mem_bcd
+0x0030 mem_state
+0x0031 mem_mode
+0x0032 mem_tsniff
+0x0034 mem_sniff_anchor
+0x0038 mem_clk_offset
+0x003e mem_rx_window
+0x0040 mem_plap
+0x0043 mem_puap
+0x0044 mem_pnap
+0x0046 mem_conn_handle
+0x0047 mem_arq
+0x0048 mem_lmp_to_send
+0x0049 mem_lmi_opcode
+0x004a mem_lmo_reason
+0x004b mem_op
+0x004c mem_state_map
+0x004d mem_supervision_timer
+0x0051 mem_supervision_to
+0x0053 mem_name_offset
+0x0054 mem_key_size
+0x0055 mem_conn_sm
+0x0056 mem_aco
+0x0062 mem_kc
+0x0072 mem_conn_timer
+0x0073 mem_sniff_attempt
+0x0074 mem_sniff_timeout
+0x0075 mem_dsniff
+0x0077 mem_amaddr
+0x0078 mem_lmo_opcode1
+0x0079 mem_lmi_opcode1
+0x007a mem_lmo_reason1
+0x007b mem_lmo_tid1
+0x007c mem_lmo_opcode2
+0x007d mem_lmi_opcode2
+0x007e mem_lmo_reason2
+0x007f mem_lmo_tid2
+0x0080 mem_hci_version
+0x0083 mem_acl_pktlen
+0x0085 mem_sco_pktlen
+0x0086 mem_acl_pktcnt
+0x0088 mem_sco_pktcnt
+0x008a mem_current_sniff_attempt
+0x008b mem_current_sniff_timeout
+0x008c mem_sniff_timeout_temp
+0x008d mem_nfreq_index_inq
+0x008e mem_nfreq_index_page
+0x008f mem_ninqy_index
+0x0090 mem_fhs_misc
+0x0091 mem_subsniff_instant
+0x0095 mem_subsniff_rate
+0x0096 mem_subsniff_tcmax
+0x0098 mem_subsniff_tsniff
+0x0099 mem_lpm_adjust
+0x009a mem_sync_clke
+0x00a0 mem_lpm_current_mult
+0x00a1 mem_gpio_wakeup_low
+0x00a5 mem_gpio_wakeup_high
+0x00a9 mem_air_mode
+0x00aa mem_sco_asso_handle
+0x00ab mem_sco_handle
+0x00ad mem_esco_desco
+0x00ae mem_esco_type
+0x00af mem_neogotiation_state
+0x00b0 mem_saved_amaddr
+0x00b1 mem_esco_arq
+0x00b2 mem_esco_saved_arq
+0x00b3 mem_sco_obuf
+0x00d1 mem_sco_ibuf
+0x00ef mem_sco_poll
+0x00f0 mem_npage_index
+0x00f1 mem_page_mode
+0x00f2 mem_page_clk
+0x00f6 mem_tst_pktcnt_sync
+0x00f8 mem_tst_pktcnt_hec
+0x00fa mem_tst_pktcnt_crc
+0x00fc mem_tst_pktcnt_dmh
+0x00fe mem_tmp_buffer_head
+0x0101 mem_tmp_buffer
+0x0151 mem_tester_emulate
+0x0152 mem_temp_payload
+0x0152 test_mode_scenario
+0x0153 test_mode_hopping_mode
+0x0154 test_mode_tx_freq
+0x0155 test_mode_rx_freq
+0x0156 test_mode_power_mode
+0x0157 test_mode_poll_period
+0x0158 test_mode_packet_type
+0x0159 test_mode_data_length
+0x015b mem_test_mode_old_debug_config
+0x015c mem_tester_cnt
+0x015d mem_temp_am_addr
+0x015e mem_temp_arq
+0x015f mem_len
+0x0161 mem_clkn_bt
+0x0165 mem_clke_bt
+0x0169 mem_dpll_clkn
+0x016d mem_connection_options
+0x016e mem_nameres_cnt
+0x016f mem_txptr
+0x0171 mem_slot_offset
+0x0173 extm_fhs_misc
+0x0174 extm_newconn_am_addr
+0x0175 extm_class
+0x0178 extm_lap
+0x017b extm_uap
+0x017c extm_nap
+0x017f mem_debug_config
+0x0180 mem_lch_code
+0x0181 mem_fhs_am_addr
+0x0182 mem_dpll_error
+0x0184 mem_select_list_item
+0x0185 mem_temp_reconn_record
+0x0185 mem_record_bt_mode
+0x0186 mem_temp_lap
+0x018c mem_list_item_ptr
+0x018e mem_eir
+0x01f2 mem_ucode_status
+0x01f3 mem_otp_ucode_flag
+0x01f5 mem_spid_tbuf/* spid buf: 03 addr[23:16] addr[15:8] addr[7:0] */
+0x01f6 mem_iicd_tbuf/* iicd buf: iic_adr addr[15:8] addr[7:0] iic_adr */
+0x01f6 mem_addr_hi
+0x01f7 mem_addr_mi
+0x01f8 mem_addr_lo
+0x01f9 mem_iicd_addr
+0x01fa mem_spid_rbuf
+0x01fe mem_ucode_buf
+0x0200 mem_ucode_len
+0x0202 mem_sched_addr
+0x0204 mem_ucode_ptr
+0x0206 mem_ucode_keybuf
+0x0216 mem_check_plap_temp
+0x0228 mem_reconnect_flag
+0x0229 mem_switch_fail_master_count
+0x022a mem_app_evt_timer_count
+0x022b mem_init_cnt
+0x022d mem_h5rx_ackcnt
+0x022e mem_check_err_acl_cont
+0x022f mem_rp_packets
+0x0230 mem_packet_type
+0x0232 mem_hci_sniff_conn_handle
+0x0234 mem_hci_sniff_max_interval
+0x0236 mem_hci_sniff_min_interval
+0x0238 mem_hci_sniff_attempt
+0x023a mem_hci_sniff_timeout
+0x023c mem_voice_setting
+0x023e mem_retransmission_effort
+0x023f mem_sco_ptype
+0x0241 mem_extm_uap_restore
+0x0244 mem_h5rx_rptr
+0x0246 mem_h5rx_ack
+0x0247 mem_h5tx_ack
+0x0248 mem_h5tx_rptr
+0x024a mem_h5tx_wptr
+0x024c mem_h5tx_free
+0x024e mem_h5rx_tmp
+0x024f mem_h5tx_seq
+0x0250 mem_hci_acl_queue_wptr
+0x0252 mem_hci_acl_queue_rptr
+0x0254 mem_hci_acl_queue_end
+0x0256 mem_hci_acl_queue_wcnt
+0x0257 mem_hci_acl_cnt
+0x0258 mem_hci_acl_tx_trigger_wptr//tx via uart
+0x025a mem_hci_curr_len
+0x025b mem_hci_curr_target
+0x025d mem_l2cap_mem_start
+0x025d mem_l2cap_rxbuff1_len
+0x025f mem_l2cap_rxbuff2_len
+0x0261 mem_l2cap_rxbuff_new
+0x0263 mem_l2cap_rxbuff_inuse
+0x0264 mem_l2cap_payload_ptr
+0x0266 mem_l2cap_rx_pkt_length
+0x0268 mem_l2cap_rx_cid
+0x026a mem_l2cap_rx_done
+0x026b mem_l2cap_signal_tx_buff_ptr
+0x026d mem_l2cap_signal_tx_payload_ptr
+0x026f mem_l2cap_signal_tx_length
+0x0271 mem_sdp_tx_buff_ptr
+0x0273 mem_sdp_tx_payload_ptr
+0x0275 mem_sdp_tx_pkt_length
+0x0277 mem_rfcomm_tx_buff_ptr
+0x0279 mem_rfcomm_tx_payload_ptr
+0x027b mem_rfcomm_tx_pkt_length
+0x027d memL2CAP_T1
+0x027f mem_CONTROL_tasks
+0x0280 mem_send_config_req
+0x0281 mem_config_identifier
+0x0282 mem_config_req_dest_CID
+0x0284 mem_rfcomm_malloc_fail_flag
+0x0285 mem_message_to_uppersm
+0x0286 mem_upper_sm_remote_page
+0x0287 mem_upper_sm_reconn
+0x0288 mem_upper_sm_ss
+0x0289 mem_tx_malloc_log
+0x02c9 mem_l2cap_mem_end
+0x02c9 mem_scid
+0x02cb mem_cmd_length
+0x02cd mem_tt2
+0x02cf mem_tt3
+0x02d1 mem_id
+0x02d3 mem_psm
+0x02d5 mem_l2cap_sdpres_delay_time
+0x02d9 mem_le_rxbuf
+0x0311 mem_le_l2capbuf
+0x0417 mem_le_mic
+0x041b mem_le_peer_mic
+0x041f mem_le_peer_ltk
+0x042f mem_le_mrand
+0x043f mem_le_state
+0x0440 mem_le_mode
+0x0441 mem_le_tsniff
+0x0443 mem_le_anchor
+0x0447 mem_le_clk_offset
+0x044d mem_le_receive_window
+0x044f mem_le_plap
+0x0455 mem_le_conn_handle
+0x0456 mem_le_arq
+0x0457 mem_le_ch
+0x0458 mem_le_hop
+0x0459 mem_le_event_count
+0x045b mem_le_supervision_timer
+0x045f mem_le_instant
+0x0461 mem_le_channels
+0x0462 mem_le_op
+0x0463 mem_le_access
+0x0467 mem_le_crcinit
+0x046a mem_le_window_size
+0x046b mem_le_slave_latency
+0x046d mem_le_superto
+0x046f mem_le_channel_map
+0x0474 mem_le_no_using
+0x0476 mem_le_peer_sca
+0x0477 mem_le_att_opcode
+0x0478 mem_le_att_handle
+0x047a mem_le_err_code
+0x047b mem_le_ll_pairing_fail_reason
+0x047c mem_le_sk
+0x048c mem_le_testtype
+0x048d mem_le_test_sync
+0x048f mem_le_test_pcnt
+0x0491 mem_le_rxon_ts
+0x0497 mem_le_rx_ll_opcode
+0x0498 mem_le_notify_attr_start
+0x049a mem_le_notify_len
+0x049b mem_cmd_le_create_conn
+0x049c mem_le_cur_attlist_start_ptr
+0x049e mem_le_cur_handle_start
+0x04a0 mem_le_cur_handle_end
+0x04a2 mem_le_cur_uuid_length
+0x04a3 mem_le_cur_uuid
+0x04b3 mem_le_curr_att_len
+0x04b4 mem_le_search_res
+0x04b5 mem_le_continue_type
+0x04b6 mem_lmo_header_length
+0x04b7 mem_lmo_header_opcode
+0x04b8 mem_lmo_payload
+0x04c9 mem_lmi_accepted_opcode
+0x04ca mem_disconn_reason_send
+0x04cb mem_tx_fixed_freq
+0x04cc mem_rx_fixed_freq
+0x04cd mem_ext_features_page
+0x04ce mem_lmpext_ssp_enable
+0x04d0 mem_remote_sppcap
+0x04d1 mem_lmp_conn_state
+0x04d2 mem_soft_timer
+0x04d4 mem_pincode_state
+0x04d5 mem_sres_tid
+0x04d6 mem_accptsco_tid
+0x04d7 mem_auth_enable
+0x04d8 mem_wait_encryption
+0x04d9 mem_sniff_payload
+0x04e9 mem_aurand_send_delay_time
+0x04ed memRemoteRPNBitRate
+0x04ee memRemotePRNDataBits
+0x04ef memRemotePRNStopBit
+0x04f0 memRemotePRNParity
+0x04f1 memRemotePRNFlowControl
+0x04f2 memRemotePRNXon
+0x04f3 memRemotePRNXoff
+0x04f4 mem_mod2div_temp
+0x04f7 mem_contw_temp
+0x04f9 mem_attrib_list
+0x04fb mem_current_adss
+0x04fc mem_current_channel
+0x04fd mem_current_frame_type
+0x04fe mem_current_fcs
+0x04ff mem_current_length
+0x0501 mem_rfcomm_uih_payload_ptr
+0x0503 mem_uih_cmd_type
+0x0504 mem_uih_length
+0x0506 mem_param_payload_ptr
+0x0508 mem_ms_param
+0x0509 mem_pn_credit_flow_type_info
+0x050a mem_pn_priority
+0x050b mem_pn_acknowledg_timer
+0x050c mem_pn_max_retrans
+0x050d mem_rfcomm_send_adss
+0x050e mem_rfcomm_send_frame_type
+0x050f mem_rfcomm_send_fcs
+0x0510 mem_rfcomm_send_offset
+0x0511 mem_sdp_mem_start
+0x0511 mem_sdp_uuid_search_ptr
+0x0519 mem_sdp_continue_byte
+0x051b mem_sdp_pduid
+0x051c mem_sdp_transactionid
+0x051e mem_sdp_transactionid_local
+0x0520 mem_sdp_attribute_maxbyte
+0x0522 mem_sdp_record_maxcnt
+0x0524 mem_sdp_record_handle
+0x0528 mem_sdp_LACAP_found
+0x0529 mem_sdp_RFCOMM_found
+0x052a mem_sdp_handle_list
+0x052a mem_sdp_attrib_list
+0x054a mem_sdp_error_code
+0x054c mem_sdp_all_length
+0x054e mem_handle_humber
+0x054f mem_search_uuid
+0x0551 mem_sdp_mem_end
+0x0551 mem_rxbuf
+0x0562 mem_random_number
+0x0572 mem_round_key
+0x0582 mem_kinit
+0x0592 mem_input_store
+0x05a2 mem_x
+0x05b2 mem_y
+0x05c1 mem_y15
+0x05c2 mem_key_store
+0x05d3 mem_key_store_end
+0x05d4 memp_ar_key
+0x05d6 memp_ar_input
+0x05d8 mem_ar_hround
+0x05e2 mem_ec_infinite
+0x05e3 mem_ec_loopc
+0x05e5 mem_aes_cmac_data_length
+0x05e6 memdat
+0x05e6 mem_ax
+0x05fe mem_ay
+0x0616 mem_az
+0x062e mem_bx
+0x0646 mem_ax_256//32 bytes
+0x0646 mem_by
+0x065e mem_bz
+0x0666 mem_ay_256// 32 bytes
+0x0676 mem_cx
+0x0686 mem_az_256// 32 bytes
+0x068e mem_cy
+0x06a5 mem_cy5
+0x06a6 mem_bx_256// 32 bytes
+0x06a6 mem_cz
+0x06be mem_k
+0x06c6 mem_by_256// 31 bytes
+0x06d6 mem_align
+0x06e6 mem_bz_256//32 bytes
+0x06e6 mem_tmp1
+0x06e6 memahbak
+0x06fe mem_tmp5
+0x0706 mem_cx_256//32 bytes
+0x0706 memahsave
+0x0716 mem_tmp2
+0x0726 mem_cy_256// 32 bytes
+0x0726 memahsave_end
+0x0726 mem_addr_padding
+0x0727 mem_addr_value/* 12 bytes     */ 
+0x072e mem_tmp3
+0x072e mem_t1
+0x0733 mem_addr_value_end
+0x0736 mem_addr_iocap_end
+0x0745 mem_cy5_256// 1 byte
+0x0746 mem_cz_256// 32 bytes
+0x0746 mem_tmp0
+0x0746 mem_t0
+0x074e mem_tmp0a
+0x075e mem_t2
+0x0766 mem_k_256//32 bytes
+0x0776 mem_t3
+0x0786 mem_tmp1_256//32 bytes
+0x078e mem_t7
+0x07a6 mem_tmp5_256
+0x07c6 mem_tmp2_256
+0x07e6 mem_tmp3_256
+0x07e6 mem_t1_256
+0x0806 mem_tmp0_256
+0x0806 mem_t0_256
+0x0826 mem_t2_256
+0x0846 mem_t3_256
+0x0866 mem_t7_256
+0x0886 mem_p
+0x089e mem_a
+0x08b6 mem_b
+0x08ce mem_gx
+0x08e6 mem_gy
+0x08fe memh0
+0x091e mem_p_256
+0x093e mem_a_256
+0x095e mem_gx_256
+0x097e mem_gy_256
+0x099e mem_le_slat
+0x09ae mem_sp_state_start
+0x09ae mem_sp_state
+0x09af mem_master_sp_state
+0x09b0 mem_sp_flag
+0x09b1 mem_master_sp_flag
+0x09b2 mem_sp_calc
+0x09b3 mem_sp_dh_ready
+0x09b4 mem_sp_localsm
+0x09b5 mem_pairing_auth
+0x09b6 mem_sp_flag_start
+0x09b6 mem_sp_local_key_send_count
+0x09b7 mem_sp_remote_key_recv_count
+0x09b8 mem_sp_remote_key_invalid
+0x09b9 mem_sp_dhkey_invalid
+0x09ba mem_gkey
+0x09be mem_le_pubkey_remote_x_256
+0x09c6 mem_sp_pubkey_remote
+0x09c6 mem_sp_pubkey_remote_x
+0x09de mem_sp_pubkey_remote_x_end
+0x09de mem_le_pubkey_remote_y_256
+0x09e6 mem_sp_pubkey_remote_y
+0x09fe mem_le_dhkey_256
+0x0a06 mem_sp_dhkey
+0x0a1e mem_sp_dhkey_end
+0x0a1e mem_sp_random_local
+0x0a2e mem_sp_random_local_end
+0x0a2e mem_sp_random_remote
+0x0a3e mem_sp_random_remote_end
+0x0a3e memresult
+0x0a3e mem_sp_calc_result
+0x0a3e memh
+0x0a42 memg
+0x0a46 memf
+0x0a4a meme
+0x0a4e mem_sp_calc_result_high
+0x0a4e memd
+0x0a52 memc
+0x0a56 memb
+0x0a5a mema
+0x0a5e mem_sp_check_result
+0x0a6e mem_sp_confirm_remote
+0x0a7e mem_sp_prarm_stack
+0x0a8e mem_UI_data_txbuff_length
+0x0a90 mem_ipc_skip_continue_proc
+0x0a91 mem_ui_timer_temp//length 4
+0x0a91 mem_ipc_rega_temp
+0x0a95 mem_hold_contr
+0x0a97 mem_hold_contw
+0x0a99 mem_fifo_temp
+0x0a9a mem_pdatatemp
+0x0aa2 mem_temp//8 bytes
+0x0aaa mem_timeup// 4 bytes
+0x0aae mem_rega//4 bytes
+0x0ab2 mem_regb//4 bytes
+0x0ab6 mem_regc//3 bytes
+0x0ab9 mem_contr//2 bytes
+0x0abb mem_contw//2 bytes
+0x0abd mem_wakup_from_power_flag
+0x0abe mem_saved_gpio_in
+0x0ac2 mem_shutter_random_mac_data_temp
+0x0ac2 mem_shutter_config_data_temp
+0x0ac2 mem_le_adv_channel_map_temp
+0x0ac2 mem_le_data_len_temp//1byte
+0x0ac2 mem_tx_fifo_map_temp
+0x0ac2 mem_rpn_dlci//1byte
+0x0ac2 mem_event_cmd_response_content//2byte
+0x0ac2 mem_le_prand//16byte
+0x0ac2 mem_AES_CMAC_k//16 bytes
+0x0ac2 mem_regext_index//1 bytes
+0x0ac2 mem_temp_block0
+0x0ac3 mem_le_data_temp//15bytes
+0x0ac3 mem_temp_block1
+0x0ad2 mem_le_aes_128//16byte
+0x0ad2 mem_regext//64 bytes
+0x0ad2 mem_AES_CMAC_k1//16 bytes
+0x0ad2 mem_temp_block2
+0x0ae2 mem_AES_CMAC_k2//16 bytes
+0x0ae2 mem_temp_block3
+0x0af2 mem_AES_CMAC_temp// 16 bytes
+0x0af2 mem_temp_block4
+0x0b02 mem_AES_CMAC_M_last// 16 bytes
+0x0b02 mem_module_uart_cmd
+0x0b03 mem_module_uart_opcode
+0x0b04 mem_module_uart_len
+0x0b05 mem_module_temp_nl_discard_packet
+0x0b06 mem_temp_block5
+0x0b12 mem_le_mackey//16 bytes
+0x0b12 mem_app_receive_temp
+0x0b12 mem_key_value_temp
+0x0b14 mem_key_value
+0x0b16 mem_key_value_temp1
+0x0b17 mem_key_value_temp2
+0x0b18 mem_key_value_temp3
+0x0b19 mem_key_value_temp4
+0x0b1a mem_key_value_temp5
+0x0b1b mem_key_value_temp6
+0x0b1c mem_temp_block6
+0x0b22 mem_usb_status
+0x0b23 mem_usb_fifo_empty
+0x0b24 mem_usb_read_len
+0x0b25 mem_usb_rxbuf
+0x0b65 mem_bufptr
+0x0b67 mem_remain
+0x0b68 mem_devicedesc
+0x0b7c mem_hidreportdesc_kb
+0x0b7e mem_hidreportdesc_m
+0x0b80 mem_confdesc
+0x0be4 mem_string0
+0x0be9 mem_string1
+0x0c07 mem_string2
+0x0c47 mem_string3
+0x0c65 mem_usb_zero_packet
+0x0c67 mem_usb_ones_packet
+0x0c69 mem_usb_two_packet
+0x0c6b mem_usb0_state
+0x0c6c mem_usb_offline_check_gpio
+0x0c6d mem_usb_tx_interval
+0x0c6e mem_usb_clear_mem_start
+0x0c6e mem_usb_setup
+0x0c6e mem_usb_setup_bmRequestType
+0x0c6f mem_usb_setup_bRequest
+0x0c70 mem_usb_setup_bValue
+0x0c71 mem_usb_setup_bValueH
+0x0c72 mem_usb_setup_wIndex
+0x0c74 mem_usb_setup_bLength
+0x0c75 mem_usb_setup_bLengthH
+0x0c76 mem_usb0_setup
+0x0cb6 mem_usb0_set_report_data
+0x0cf6 mem_usb0_get_report_data
+0x0d36 mem_usb_state
+0x0d37 mem_usb_tx_wait
+0x0d38 mem_usb_tx_enable
+0x0d39 mem_usb_remote_wakeup
+0x0d3a mem_usb_clear_remote_wakeup
+0x0d3b mem_usb_ep0_stall_status
+0x0d3c mem_usb_ep1_stall_status
+0x0d3d mem_usb_ep2_stall_status
+0x0d3e mem_usb_ep3_stall_status
+0x0d3f mem_dsc_info_data_pointer
+0x0d41 mem_dsc_info_len
+0x0d42 mem_usb0_data_ready_report
+0x0d43 mem_usb_tx_win_enable
+0x0d44 mem_usb_tx_mac_enable
+0x0d45 mem_usb_device_enumeration_endflag
+0x0d46 mem_usb_wakestate_onetime_flag
+0x0d47 mem_usb_mac_wakeup_trig
+0x0d48 mem_usb_set_high_addr_flag
+0x0d49 mem_usb_set_protocol_value
+0x0d4a mem_usb_set_protocol_status
+0x0d4b mem_usb_get_protocol_flag
+0x0d4c mem_usb_idle_flag
+0x0d4d mem_usb_idle_rate
+0x0d4e mem_usb_setup_bValue_temp
+0x0d50 mem_usb0_get_set_report
+0x0d51 mem_usb_ep1_data
+0x0d52 mem_usb_ep2_data
+0x0d53 mem_usb_clear_halt
+0x0d54 mem_usb_mouse_data
+0x0d64 mem_usb_kb_data
+0x0d74 mem_usb_kb_multikey
+0x0d84 mem_usb_kb_data_sta_data
+0x0d8c mem_usb_kb_data_last_data
+0x0d94 mem_usb_kb_multikey_sta_data
+0x0d97 mem_usb_kb_multikey_last_data
+0x0d9a mem_usb_kb_blank_data_enable
+0x0d9b mem_usb_kb_mul_blank_data_enable
+0x0d9c mem_usb_test_cnt
+0x0d9d mem_usb_clear_mem_end
+0x0d9d mem_usb_test_kb
+0x0d9e mem_rssi_noise_buffer
+0x0e9e mem_rssi_noise_dg_buffer
+0x0f9e mem_rssi_noise_ms_buffer
+0x109e mem_rssi_noise_kb_buffer
+0x119e mem_24g_common_temp
+0x11be mem_24g_pair_current_ch_num
+0x11bf mem_24g_powerful_current_ch_num
+0x4000 mem_patch00
+0x4001 mem_patch01
+0x4002 mem_patch02
+0x4003 mem_patch03
+0x4004 mem_patch04
+0x4005 mem_patch05
+0x4006 mem_patch06
+0x4007 mem_patch07
+0x4008 mem_patch08
+0x4009 mem_patch09
+0x400a mem_patch0a
+0x400b mem_patch0b
+0x400c mem_patch0c
+0x400d mem_patch0d
+0x400e mem_patch0e
+0x400f mem_patch0f
+0x4010 mem_patch10
+0x4011 mem_patch11
+0x4012 mem_patch12
+0x4013 mem_patch13
+0x4014 mem_patch14
+0x4015 mem_patch15
+0x4016 mem_patch16
+0x4017 mem_patch17
+0x4018 mem_patch18
+0x4019 mem_patch19
+0x401a mem_patch1a
+0x401b mem_patch1b
+0x401c mem_patch1c
+0x401d mem_patch1d
+0x401e mem_patch1e
+0x401f mem_patch1f
+0x4020 mem_patch20
+0x4021 mem_patch21
+0x4022 mem_patch22
+0x4023 mem_patch23
+0x4024 mem_patch24
+0x4025 mem_patch25
+0x4026 mem_patch26
+0x4027 mem_patch27
+0x4028 mem_patch28
+0x4029 mem_patch29
+0x402a mem_patch2a
+0x402b mem_patch2b
+0x402c mem_patch2c
+0x402d mem_patch2d
+0x402e mem_patch2e
+0x402f mem_patch2f
+0x4030 mem_patch30
+0x4031 mem_patch31
+0x4032 mem_patch32
+0x4033 mem_patch33
+0x4034 mem_patch34
+0x4035 mem_patch35
+0x4036 mem_patch36
+0x4037 mem_patch37
+0x4038 mem_patch38
+0x4039 mem_patch39
+0x403a mem_patch3a
+0x403b mem_patch3b
+0x403c mem_patch3c
+0x403d mem_patch3d
+0x403e mem_patch3e
+0x403f mem_patch3f
+0x4040 mem_context
+0x4090 mem_current_amaddr
+0x4091 mem_lpm_mode
+0x4092 mem_device_option
+0x4093 mem_scan_mode
+0x4094 mem_last_clkn
+0x4098 mem_features
+0x40a0 mem_lap
+0x40a3 mem_uap
+0x40a4 mem_nap
+0x40a6 mem_npage
+0x40a7 mem_glap
+0x40aa mem_class
+0x40ad mem_iscan_window
+0x40af mem_iscan_interval
+0x40b1 mem_pscan_window
+0x40b3 mem_pscan_interval
+0x40b5 mem_page_interval
+0x40b7 mem_page_window
+0x40b9 mem_page_to
+0x40bb mem_inq_window
+0x40bd mem_fcomp_mul
+0x40be mem_fcomp_div
+0x40bf mem_rx_window_init
+0x40c1 mem_rx_window_sniff
+0x40c3 mem_rf_init_ptr
+0x40c5 mem_last_type
+0x40c6 mem_last_type_esco
+0x40c7 mem_last_type_saved
+0x40c8 mem_retransmission_cnt
+0x40ca mem_next_btclk
+0x40ce mem_rf_rccal
+0x40cf mem_handle_num
+0x40d0 mem_max_slot
+0x40d1 mem_eir_enable
+0x40d2 mem_afh_instant
+0x40d6 mem_afh_error_total
+0x40d8 mem_afh_cfg
+0x40d9 mem_afh_new_mod
+0x40da mem_afh_map_lo
+0x40df mem_afh_map_hi
+0x40e4 mem_afh_used
+0x40e5 mem_afh_index
+0x40e7 mem_afh_map_new
+0x40f2 mem_afh_map
+0x4142 mem_afh_timer
+0x4146 mem_afh_classify_channel_map
+0x4150 mem_chip_functions
+0x4152 mem_lpm_wake_lock
+0x4154 mem_lpm_interval
+0x4156 mem_lpm_overhead
+0x4157 mem_lpm_hibernate_switch
+0x4158 mem_esco_addr
+0x4159 mem_sniff_unint_lost
+0x415a mem_ptt
+0x415b mem_sleep_counter//should be 0x41fc in REVC
+0x415f mem_sleep_counter_all
+0x4163 mem_sleep_clkn
+0x4169 mem_sniff_rcv
+0x416c mem_sniff_lost
+0x416f mem_clks_per_lpo
+0x4172 mem_lpm_mult
+0x4173 mem_lpm_mult_timeout
+0x4174 mem_lpm_mult_cnt
+0x4175 mem_lpm_config
+0x4178 mem_lpm_xtalcnt
+0x4179 mem_lpm_buckcnt
+0x417a mem_lpm_ldocnt
+0x417b mem_lpm_isogate
+0x417c mem_lpm_isogate_final
+0x417d mem_saved_gpio// should be 0x421e in REVC
+0x418d mem_saved_gsel
+0x4190 mem_saved_mark
+0x4198 mem_saved_spidctrl
+0x4199 mem_patch_ptr
+0x419b mem_patch_len
+0x419d mem_timers
+0x41bd mem_link_key_exists
+0x41be mem_link_key
+0x41ce mem_hci_cmd
+0x41cf mem_hci_conn_handle
+0x41d0 mem_hci_plap
+0x41d3 mem_hci_puap
+0x41d4 mem_hci_pnap
+0x41d6 mem_uartd_rxitems_got_data
+0x41d7 mem_uartd_rxitems_threshold
+0x41d8 mem_uartd_rx_timeout
+0x41da mem_loadcode_times
+0x41db mem_tx_lch
+0x41dc mem_tx_len
+0x41de mem_tx_power
+0x41df mem_context_number
+0x41e0 mem_250k_freq_enable
+0x41e1 mem_rf_init_data
+0x41e2 mem_app_handshake_flag
+0x41e3 mem_sniff_param_interval
+0x41e5 mem_sniff_param_attempt
+0x41e7 mem_sniff_param_timeout
+0x41e9 mem_cb_check_wakelock
+0x41eb mem_cb_before_hibernate
+0x41ed mem_cb_before_lpm
+0x41ef mem_cb_le_process
+0x41f1 mem_cb_bt_process
+0x41f3 mem_cb_idle_process
+0x41f5 mem_cb_bb_event_process
+0x41f7 mem_cb_discovry_timeout
+0x41f9 mem_cb_att_write
+0x41fb mem_cb_ble_transmit
+0x41fd mem_cb_event_timer
+0x41ff mem_cb_bt_set_mult
+0x4201 mem_cb_spi_flash_write_complate
+0x4203 mem_eeprom_base
+0x4205 mem_unsniff2sniff_timer_count
+0x4206 mem_wake_up_delay_timer
+0x4207 mem_app_connection_options
+0x4208 mem_app_disconn_reason
+0x420a mem_app_disconn_reason_flag
+0x420c mem_lpm_delay_after_sniff
+0x4210 mem_xrecord_mode
+0x4211 mem_eeprom_block_size
+0x4212 mem_spi_init_clk
+0x4213 mem_spi_init_delay_time
+0x4214 mem_spi_ncs_gpio
+0x4215 mem_nv_data_ptr
+0x4217 mem_nv_data_number
+0x4218 mem_queue_ptr
+0x421a mem_ui_led_struct_num
+0x421b mem_ui_led_struct_ptr
+0x421d mem_0_5_adc_io_data
+0x421f mem_1v_adc_hvin_data
+0x4221 mem_2v_adc_vinlpm_data
+0x4223 mem_1v_adc_io_data
+0x4225 mem_5v_adc_hvin_data
+0x4227 mem_3v_adc_vinlpm_data
+0x4229 mem_otp_adc_flag
+0x422b mem_reference_voltage
+0x422d mem_adc_config_flag
+0x422e mem_adc_channel
+0x422f mem_adc_current_value
+0x4231 mem_adc_power_flag//bit0:low power falg ; bit1:no power flag
+0x4232 mem_spi_write_addr
+0x4235 mem_spi_write_ptr
+0x4237 mem_spi_write_len
+0x4239 mem_spi_write_flash_sm
+0x423a mem_eeprom_wp_gpio
+0x423b mem_kscan_ptr
+0x423d mem_key_num_ptr
+0x423d mem_keyscan_ptr
+0x423f mem_power_param_ptr
+0x4241 mem_24g_head_ptr
+0x4243 mem_baud
+0x4245 mem_hci_lt_rx_state
+0x4246 mem_l2cap_xmem_start
+0x4246 mem_l2cap_tx_multi_offset//0 means single packet
+0x4248 mem_sdp_remote_cid
+0x424a mem_rfcomm_remote_cid
+0x424c mem_hid_ctrl_remote_cid
+0x424e mem_hid_int_remote_cid
+0x4250 mem_sdp_state
+0x4251 mem_rfcomm_state
+0x4252 mem_hid_control_state
+0x4253 mem_hid_interrupt_state
+0x4254 mem_spp_state
+0x4255 mem_ML2CAP_comm_id
+0x4256 mem_used_map
+0x4257 mem_tx_fifo0
+0x4257 mem_tx_fifo0_map
+0x4258 mem_tx_fifo0_ptr
+0x425a mem_tx_fifo1
+0x425a mem_tx_fifo1_map
+0x425b mem_tx_fifo1_ptr
+0x425d mem_tx_fifo2
+0x425d mem_tx_fifo2_map
+0x425e mem_tx_fifo2_ptr
+0x4260 mem_tx_fifo3
+0x4260 mem_tx_fifo3_map
+0x4261 mem_tx_fifo3_ptr
+0x4263 mem_tx_fifo_end
+0x4263 mem_l2cap_lpm_txbuf
+0x4363 mem_l2cap_flow_ctrl_flag
+0x4364 mem_l2cap_pending_item
+0x4365 mem_l2cap_xmem_end
+0x4365 mem_le_dsniff
+0x4367 mem_le_conn_interval
+0x4369 mem_le_scan_enable
+0x436a mem_le_scan_interval
+0x436c mem_le_scan_window
+0x436e mem_le_adv_enable
+0x436f mem_le_adv_data_len
+0x4370 mem_le_adv_data
+0x438f mem_le_scan_data_len
+0x4390 mem_le_scan_data
+0x43af mem_le_name_len
+0x43b0 mem_le_name
+0x43ce mem_le_new_map
+0x43d3 mem_le_new_param
+0x43d3 mem_le_new_transmitwindowsize
+0x43d4 mem_le_new_transmitwindowoffset
+0x43d6 mem_le_new_conninterval
+0x43d8 mem_le_new_connslavelatency
+0x43da mem_le_new_connsupervisiontimeout
+0x43dc mem_le_txheader
+0x43dd mem_le_txlen
+0x43de mem_le_txpayload
+0x43e0 mem_le_txcid
+0x43e2 mem_le_l2cap
+0x43e3 mem_le_l2cap_response
+0x43e4 mem_le_txbdy
+0x4403 mem_le_pcnt_tx
+0x4408 mem_le_pcnt_rx
+0x440d mem_le_last_mic
+0x4411 mem_le_ivm
+0x4415 mem_le_ivs
+0x4419 mem_le_ltk
+0x4429 mem_ltk_exists
+0x442a mem_le_rconfirm
+0x443a mem_le_srand
+0x444a mem_le_iat
+0x444b mem_le_rat
+0x444c mem_le_preq
+0x444d mem_le_preq_iocap
+0x444e mem_le_preq_oob
+0x444f mem_le_preq_auth
+0x4450 mem_le_preq_max_keysize
+0x4451 mem_le_preq_init_key_distribution
+0x4452 mem_le_preq_resp_key_distribution
+0x4453 mem_le_pres
+0x4454 mem_le_pres_iocap
+0x4455 mem_le_pres_oob
+0x4456 mem_le_pres_auth
+0x4457 mem_le_pres_max_keysize
+0x4458 mem_le_pres_init_key_distribution
+0x4459 mem_le_pres_resp_key_distribution
+0x445a mem_le_search_handle_start
+0x445c mem_le_search_handle_end
+0x445e mem_le_att_offset
+0x445e mem_le_search_att_type_length
+0x445f mem_le_search_att_type
+0x446f mem_le_notify_handle
+0x4471 mem_le_search_uuid_length
+0x4472 mem_le_search_uuid
+0x4482 mem_le_adv_param
+0x4482 mem_le_adv_interval
+0x4484 mem_le_adv_type
+0x4485 mem_le_adv_own_addr_type
+0x4486 mem_le_adv_direct_addr_type
+0x4487 mem_le_adv_direct_addr
+0x448d mem_le_adv_channel_map
+0x448e mem_le_conn_param
+0x448e mem_le_conn_peer_addr_type
+0x448f mem_le_conn_peer_addr
+0x4495 mem_le_conn_own_addr_type
+0x4496 mem_le_interval_min
+0x4498 mem_le_interval_max
+0x449a mem_le_latency
+0x449c mem_le_timeout
+0x449e mem_le_scan_params
+0x449e mem_le_scan_type
+0x449f mem_le_scan_own_addr_type
+0x44a0 mem_le_lap
+0x44a3 mem_le_uap
+0x44a4 mem_le_nap
+0x44a6 mem_le_local_mtu
+0x44a8 mem_le_remote_mtu
+0x44aa mem_le_skdm
+0x44b2 mem_le_skds
+0x44ba mem_le_init_superto
+0x44bc mem_ui_le_uuid_table
+0x44be mem_le_secure_connect_enable
+0x44bf mem_le_secure_connect_flag
+0x44c0 mem_le_sc_calc
+0x44c1 mem_le_secure_connect_state
+0x44c2 mem_le_sc_confirm_gkey_flag
+0x44c3 mem_le_sc_local_key_invalid
+0x44c4 mem_le_pairing_state
+0x44c5 mem_le_enc_state
+0x44c6 mem_le_pairing_mode
+0x44c7 mem_le_tk
+0x44cb mem_le_ediv
+0x44cd mem_le_rand
+0x44d5 mem_le_irk
+0x44e5 mem_le_transmit_window
+0x44e9 mem_le_configuration
+0x44ea mem_le_fixed_ltk
+0x44fa mem_le_pairing_handle
+0x44fc mem_le_l2cap_size
+0x44fe mem_le_packet_len_recved
+0x44ff mem_le_tx_buff_used
+0x4500 mem_le_tx_ptr0
+0x4502 mem_le_tx_ptr1
+0x4504 mem_le_tx_ptr2
+0x4506 mem_le_tx_ptr3
+0x4508 mem_le_signaling_identifier
+0x4509 mem_le_l2cap_signaling_conn_param_update_rsp_result
+0x450b mem_le_packet_size
+0x450c mem_le_packet_llid
+0x450d mem_le_payload_ptr
+0x450f mem_le_md_count
+0x4510 mem_lmp_version
+0x4513 mem_lmp_subversion
+0x4515 mem_local_name_length
+0x4516 mem_local_name
+0x4519 mem_local_name2
+0x4559 mem_local_name_end
+0x455a mem_unsniff2sniff_timer
+0x455b mem_switch_flag
+0x455c mem_classic_bt_flag
+0x455d mem_pn_dlci
+0x455e mem_pn_max_frame_size
+0x4560 memFCStemp1
+0x4561 memFCStemp2
+0x4562 memFCStemp3
+0x4563 mem_rfcomm_initiator
+0x4564 mem_remote_spp_channel
+0x4565 mem_HIUfcs_SPP
+0x4566 mem_HIUfcs_SPP_WCredits
+0x4567 mem_rfcomm_send_more_pkt
+0x4568 mem_remote_credits
+0x4569 mem_credit_given
+0x456a mem_ms_channel
+0x456b mem_credit_flag
+0x456c mem_rfcomm_max_frame_size
+0x456e mem_rfcomm_credit_init_data
+0x456f mem_cb_receive_spp_data
+0x4571 mem_nl_rx_data_src
+0x4573 mem_nl_rx_len_all
+0x4575 mem_ui_uuid_table
+0x4577 mem_all_uuid_16bits
+0x458d mem_all_uuid_128bits
+0x45af mem_sdp_l2capch_ptr
+0x45b1 mem_sp_local_key_invalid
+0x45b2 mem_le_private_key_256
+0x45d2 mem_le_pubkey_local_x_256
+0x45f2 mem_le_pubkey_local_y_256
+0x4612 mem_sp_private_key
+0x462a mem_sp_pubkey_local
+0x462a mem_sp_pubkey_local_x
+0x4642 mem_sp_pubkey_local_x_end
+0x4642 mem_sp_pubkey_local_y
+0x465a mem_ssp_enable
+0x465b mem_sp_iocap_local
+0x465e mem_sp_iocap_remote
+0x4661 mem_flag_mode_ssp_pin
+0x4662 mem_ssp_mode_flag
+0x4663 mem_authentication_passkey_times
+0x4664 mem_passkey_1bit
+0x4665 mem_flag_pairing_state
+0x4666 mem_ipc_lock_bt
+0x4667 mem_ipc_lock_c51
+0x4668 mem_ipc_fifo_bt2c51
+0x4670 mem_ipc_fifo_c512bt
+0x4678 mem_ui_button_timer
+0x4679 mem_ui_button_last_state
+0x467a mem_ui_timer_last_btclk
+0x467e mem_discovery_timeout_timer_count
+0x4680 mem_hid_handshake_timer_count
+0x4681 memui_reconnect_mode
+0x4682 mem_ui_state_map
+0x4684 mem_ui_profile_supported
+0x4685 mem_ui_button_timeout
+0x4686 mem_ui_button_gpio
+0x4687 mem_discovery_timeout
+0x4689 mem_pin_length
+0x468a mem_pin
+0x469a mem_antl_lpm_interval
+0x469c mem_antl_adv_interval
+0x469e mem_antl_slow_adv_lpm_interval
+0x46a0 mem_antl_slow_adv_adv_interval
+0x46a2 mem_antl_led_style
+0x46a2 mem_antl_led_type
+0x46a3 mem_antl_led_blink_count
+0x46a4 mem_antl_led_gpio
+0x46a5 mem_antl_led_on_time
+0x46a7 mem_antl_led_off_time
+0x46a9 mem_antl_led_cb_on
+0x46ab mem_antl_led_cb_off
+0x46ad mem_antl_buzzer_style
+0x46ad mem_antl_buzzer_type
+0x46ae mem_antl_buzzer_blink_count
+0x46af mem_antl_buzzer_gpio
+0x46b0 mem_antl_buzzer_on_time
+0x46b2 mem_antl_buzzer_off_time
+0x46b4 mem_antl_buzzer_cb_on
+0x46b6 mem_antl_buzzer_cb_off
+0x46b8 mem_antl_fast_adv_led_style
+0x46b8 mem_antl_fast_adv_led_type
+0x46b9 mem_antl_fast_adv_led_blink_count
+0x46ba mem_antl_fast_adv_led_gpio
+0x46bb mem_antl_fast_adv_led_on_time
+0x46bd mem_antl_fast_adv_led_off_time
+0x46bf mem_antl_slow_adv_led_style
+0x46bf mem_antl_slow_adv_led_type
+0x46c0 mem_antl_slow_adv_led_blink_count
+0x46c1 mem_antl_slow_adv_led_gpio
+0x46c2 mem_antl_slow_adv_led_on_time
+0x46c4 mem_antl_slow_adv_led_off_time
+0x46c6 mem_antl_power_starting_led_style
+0x46c6 mem_antl_power_starting_led_type
+0x46c7 mem_antl_power_starting_led_blink_count
+0x46c8 mem_antl_power_starting_led_gpio
+0x46c9 mem_antl_power_starting_led_on_time
+0x46cb mem_antl_power_starting_led_off_time
+0x46cd mem_antl_power_starting_buzzer_style
+0x46d4 mem_antl_power_off_led_style
+0x46d4 mem_antl_power_off_led_type
+0x46d5 mem_antl_power_off_led_link_count
+0x46d6 mem_antl_power_off_led_gpio
+0x46d7 mem_antl_power_off_led_on_time
+0x46d9 mem_antl_power_off_led_off_time
+0x46db mem_antl_power_off_buzzer_style
+0x46db mem_antl_power_off_buzzer_type
+0x46dc mem_antl_power_off_buzzer_link_count
+0x46dd mem_antl_power_off_buzzer_gpio
+0x46de mem_antl_power_off_buzzer_on_time
+0x46e0 mem_antl_power_off_buzzer_off_time
+0x46e2 mem_antl_alert_led_stlye
+0x46e9 mem_antl_alert_buzzer_stlye
+0x46e9 mem_antl_alert_buzzer_type
+0x46ea mem_antl_alert_buzzer_blink_count
+0x46eb mem_antl_alert_buzzer_gpio
+0x46ec mem_antl_alert_buzzer_on_time
+0x46ee mem_antl_alert_buzzer_off_time
+0x46f0 mem_antl_key_led_style
+0x46f0 mem_antl_key_led_type
+0x46f1 mem_antl_key_led_blink_count
+0x46f2 mem_antl_key_led_gpio
+0x46f3 mem_antl_key_led_on_time
+0x46f5 mem_antl_key_led_off_time
+0x46f7 mem_antl_key_buzzer_style
+0x46fe mem_antl_queue_width
+0x46ff mem_antl_queue_depth
+0x4700 mem_antl_queue_curr_num
+0x4701 mem_antl_queue_read_ptr
+0x4702 mem_antl_queue_write_ptr
+0x4703 mem_antl_queue_buff
+0x4753 mem_antl_key_scan_enable
+0x4754 mem_antl_led_num
+0x4755 mem_antl_led_gpio_map
+0x4759 mem_antl_power_param
+0x4759 mem_antl_power_state
+0x475a mem_antl_power_timer
+0x475b mem_antl_power_off_timeout
+0x475c mem_antl_power_starting_timeout
+0x475d mem_antl_power_off_cb
+0x475f mem_antl_power_starting_cb
+0x4761 mem_antl_power_standby_cb
+0x4763 mem_event_button_up_cb
+0x4765 mem_antl_key_num
+0x4766 mem_cb_antl_key
+0x4768 mem_antl_key_conf0
+0x476c mem_antl_key0_press
+0x477b mem_antl_key0_release
+0x478a mem_antl_conn_updata_procedure_state
+0x478b mem_client_characteristic_configuration_descriptor
+0x478d mem_adc_timer
+0x478f mem_antl_conn_update_timer
+0x4790 mem_antl_send_updata_le_param_timer
+0x4791 mem_antl_le_sleep_timer
+0x4793 mem_antl_fast_adv_timer
+0x4795 mem_antl_fast_adv_timeout
+0x4797 mem_antl_le_sleep_timeout
+0x4799 mem_double_click_timer
+0x479a mem_butten_click_cnt
+0x479b mem_antl_led_state
+0x479c mem_antl_buzzer_state
+0x479d mem_antl_key_state
+0x479e mem_antl_lost_mode
+0x479f mem_alarm_config
+0x47a0 mem_alarm_config_notfy_cnt
+0x47a1 mem_buzzer_pwm_conf
+0x47a7 mem_adc_timeout
+0x47a9 mem_voltage_remain_percent
+0x47aa mem_battery_calculate_set
+0x47aa mem_battery_full_voltage
+0x47ac mem_battery_empty_voltage
+0x47ae mem_battery_low_voltage
+0x47b0 mem_battery_current_voltage
+0x47b2 mem_rx_window_sniff_inc
+0x47b4 mem_interval_increment
+0x47b6 mem_antl_le_interval_min
+0x47b8 mem_antl_le_interval_max
+0x47ba mem_antl_le_latency
+0x47bc mem_antl_le_timeout
+0x47be mem_antl_le_unnormal_interval_min
+0x47c0 mem_antl_le_unnormal_interval_max
+0x47c2 mem_antl_le_unnormal_latency
+0x47c4 mem_antl_le_unnormal_timeout
+0x47c6 mem_AntiLost_le_att_list
+0x469a mem_car_hard_soft_switch
+0x469b mem_car_queue_each_size
+0x469c mem_car__queue_length
+0x469d mem_car_queue_curr_num
+0x469e mem_car_queue_read_ptr
+0x469f mem_car_queue_write_ptr
+0x46a0 mem_car_queue_ele
+0x4718 mem_car_pop_queue_buff
+0x472c mem_car_led_num
+0x472d mem_car_led_map
+0x4737 mem_car_style1_led_type
+0x4738 mem_car_style1_blink_count
+0x4739 mem_car_style1_struct_led_gpio
+0x473a mem_car_style1_on_time
+0x473c mem_car_style1_off_time
+0x473e mem_car_style1_cb_ledon
+0x4740 mem_car_style1_cb_ledoff
+0x4742 mem_car_style2_led_type
+0x4743 mem_car_style2_blink_count
+0x4744 mem_car_style2_struct_led_gpio
+0x4745 mem_car_style2_on_time
+0x4747 mem_car_style2_off_time
+0x4749 mem_car_style2_cb_ledon
+0x474b mem_car_style2_cb_ledoff
+0x474d mem_le_receive_data
+0x474d mem_le_receive_packet_head
+0x474f mem_le_receive_cmd
+0x4750 mem_le_receive_length
+0x4752 mem_le_receive_payload
+0x475c mem_le_receive_checksum
+0x475d mem_motor1_status
+0x475e mem_motor1_speed
+0x475f mem_motor2_status
+0x4760 mem_motor2_speed
+0x4761 mem_motor3_status
+0x4762 mem_motor3_speed
+0x4763 mem_motor1_pwm_set
+0x4763 mem_motor1_pwm_pin1_set
+0x4764 mem_motor1_pwm_pin2_set
+0x4765 mem_motor1_pwm_pin_set
+0x4766 mem_motor1_pwm_channel_set
+0x4767 mem_motor1_pwm_freq_set
+0x476a mem_motor1_pwm_dute_set
+0x476b mem_motor2_pwm_set
+0x476b mem_motor2_pwm_pin1_set
+0x476c mem_motor2_pwm_pin2_set
+0x476d mem_motor2_pwm_pin_set
+0x476e mem_motor2_pwm_channel_set
+0x476f mem_motor2_pwm_freq_set
+0x4772 mem_motor2_pwm_dute_set
+0x4773 mem_motor3_pwm_set
+0x4773 mem_motor3_pwm_pin1_set
+0x4774 mem_motor3_pwm_pin2_set
+0x4775 mem_motor3_pwm_pin_set
+0x4776 mem_motor3_pwm_channel_set
+0x4777 mem_motor3_pwm_freq_set
+0x477a mem_motor3_pwm_dute_set
+0x477b mem_motor_select_p_n
+0x477c mem_car_motor_status
+0x477d mem_car_motor_speed
+0x477e mem_motor_pwm_set
+0x477e mem_motor_pwm_pin1_set
+0x477f mem_motor_pwm_pin2_set
+0x4780 mem_motor_pwm_pin_set
+0x4781 mem_motor_pwm_channel_set
+0x4782 mem_motor_pwm_freq_set
+0x4785 mem_motor_pwm_dute_set
+0x4786 mem_ir_rx_gpio
+0x4787 mem_ir_data
+0x4789 mem_ir_rx_buf
+0x478b mem_ir_receive_clkn
+0x478f mem_ir_notify_data
+0x4792 mem_ir_notify_data_head
+0x4797 mem_ir_notify_data_payload
+0x4799 mem_ir_notify_data_check_sum
+0x479a mem_car_ir_breakdown_check_timer
+0x479b mem_car_ir_breakdown_flag
+0x479c mem_car_led_control
+0x479c mem_car_led1_status
+0x479d mem_car_led2_status
+0x479e mem_car_led3_status
+0x479f mem_car_led4_status
+0x47a0 mem_car_led5_status
+0x47a1 mem_car_led6_status
+0x47a2 mem_car_led7_status
+0x47a3 mem_car_led8_status
+0x47a4 mem_car_led_control_timer
+0x47a5 mem_car_led_blink_status
+0x47a6 mem_car_led_no
+0x47a7 mem_car_info_request
+0x47aa mem_car_info_request_head
+0x47af mem_car_info_request_payload
+0x47b7 mem_car_info_request_checksum
+0x47b8 mem_car_config_param
+0x47b8 mem_car_config_setting_flag
+0x47b9 mem_car_config_device_select
+0x47ba mem_car_config_motor_layout
+0x47bb mem_car_config_ir_enable
+0x47bc mem_car_config_ir_rx_gpio
+0x47bd mem_car_config_pairing_led_conn_status
+0x47be mem_car_config_pairing_led_gpio
+0x47bf mem_car_config_led_num
+0x47c0 mem_car_config_blood_led_gpio
+0x47c0 mem_car_config_blood_led1_gpio
+0x47c1 mem_car_config_blood_led2_gpio
+0x47c2 mem_car_config_blood_led3_gpio
+0x47c3 mem_car_config_blood_led4_gpio
+0x47c4 mem_car_config_blood_led5_gpio
+0x47c5 mem_car_config_blood_led6_gpio
+0x47c6 mem_car_config_blood_led7_gpio
+0x47c7 mem_car_config_blood_led8_gpio
+0x47c8 mem_car_config_bat_notify_enable
+0x47c9 mem_car_config_low_voltage_led_gpio
+0x47ca mem_car_config_low_voltage_percent
+0x47cb mem_car_config_soft_switch_enable
+0x47cc mem_car_config_soft_switch_gpio
+0x47cd mem_car_notify_vdd_count
+0x47ce mem_car_notify_vdd_timer
+0x47cf mem_car_notify_vdd_value_last
+0x47d0 mem_car_notify_vdd_percent
+0x47d1 mem_car_working_flag
+0x47d2 mem_low_bat_flag
+0x47d3 mem_notify_bat_packet
+0x47d6 mem_notify_bat_head
+0x47db mem_notify_bat_payload
+0x47dc mem_notify_bat_check_sum
+0x47dd mem_vdd_notify_flag
+0x47de mem_car_current_vdd_value_temp
+0x47e0 mem_car_last_vdd_value
+0x47e2 mem_vdd_calculate_set
+0x47e2 mem_vdd_full_vol
+0x47e4 mem_vdd_empty_vol
+0x47e6 mem_vdd_low_vol
+0x47e8 mem_vdd_now_vol
+0x47ea mem_car_24g_status
+0x47eb mem_car_24g_no_data_timeout_count
+0x47ed mem_car_24g_no_data_timeout_timer
+0x47ef mem_car_24g_ir_receive_attack_count
+0x47f0 mem_car_24g_go_die_flag
+0x47f1 mem_car_attack_shake_timer
+0x47f2 mem_car_attack_shake_flag
+0x47f3 mem_car_soft_power
+0x47f3 mem_car_power_state
+0x47f4 mem_car_power_timer
+0x47f5 mem_car_power_off_timeout
+0x47f6 mem_car_power_starting_timeout
+0x47f7 mem_car_power_off_cb
+0x47f9 mem_car_power_starting_cb
+0x47fb mem_car_power_standby_cb
+0x47fd mem_car_ui_button_up_cb
+0x47ff mem_car_le_att_list
+0x49f3 mem_car_moto1_blank_timer
+0x49f4 mem_car_moto2_blank_timer
+0x49f5 mem_car_moto3_blank_timer
+0x49f6 mem_car_24g_received_pac
+0x49f7 mem_24g_car_head_ptr
+0x469a mem_light_pwm0
+0x469b mem_light_pwm1
+0x469c mem_light_pwm2
+0x469d mem_light_pwm3
+0x469e mem_light_pwm4
+0x469f mem_light_pwm5
+0x46a0 mem_light_pairing_enable
+0x46a1 mem_light_pairing_timer
+0x46a3 mem_light_cnum
+0x46a4 mem_light_next_record
+0x46a5 mem_light_clist
+0x46f5 mem_light_crr_cmd_count
+0x46f6 mem_curr_packet_num
+0x469a mem_lightc_led_gpio
+0x469b mem_lightc_row
+0x46a1 mem_lightc_col
+0x46a7 mem_adv_time
+0x46a8 mem_cmd0_string
+0x46bc mem_cmd1_string
+0x46d0 mem_cmd2_string
+0x46e4 mem_cmd3_string
+0x46f8 mem_cmd4_string
+0x470c mem_cmd5_string
+0x4720 mem_cmd6_string
+0x4734 mem_cmd7_string
+0x4748 mem_cmd8_string
+0x475c mem_cmd9_string
+0x4770 mem_cmd10_string
+0x4784 mem_cmd11_string
+0x4798 mem_cmd12_string
+0x47ac mem_cmd13_string
+0x47c0 mem_cmd14_string
+0x47d4 mem_cmd15_string
+0x47e8 mem_cmd16_string
+0x47fc mem_cmd17_string
+0x4810 mem_cmd18_string
+0x4824 mem_cmd19_string
+0x4838 mem_cmd20_string
+0x469a mem_soft_version_num
+0x469c mem_module_wake_up_gpio
+0x469d mem_module_state_gpio
+0x469e mem_module_connect_state_gpio
+0x469f mem_current_packet_length
+0x46a1 mem_module_state
+0x46a2 mem_module_mcu_wake_pin
+0x46a3 mem_module_mcu_wake_delay_us
+0x46a7 mem_module_spp_lpm_mult
+0x46a8 mem_module_le_lpm_mult
+0x46a9 mem_module_bluetooth_stauts_by_command
+0x46aa mem_module_uart_rx_buffer
+0x46ac mem_module_uart_rx_buffer_end
+0x46ae mem_module_uart_tx_buffer
+0x46b0 mem_module_uart_tx_buffer_end
+0x46b2 mem_module_read_vdd_flag
+0x46b3 mem_module_read_vdd_count
+0x46b4 mem_module_vdd_quotient
+0x46b5 mem_module_vdd_remainder
+0x46b6 mem_module_le_rx_data_len
+0x46b7 mem_module_le_rx_data_address
+0x46b9 mem_module_le_rx_data_handle
+0x46bb mem_module_data_write_handle
+0x46bd mem_module_data_write_handle2
+0x46bf mem_module_flag
+0x46c0 mem_module_hci_notify_len
+0x46c1 mem_module_hci_notify_handle
+0x46c3 mem_module_hci_nofiy_addr
+0x46c5 mem_last_transmite_clock
+0x46c9 mem_module_uuid_list
+0x47f5 mem_module_uuid_list_end
+0x47f5 mem_module_le_att_list
+0x4a4d mem_module_le_att_list_end
+0x4a4d mem_module_nv_data
+0x4a4d mem_module_nv_data0
+0x4a6f mem_module_nv_data1
+0x4a91 mem_module_nv_data2
+0x4ab3 mem_module_nv_data3
+0x4ad5 mem_module_nv_data4
+0x469a mem_remote_car_hard_soft_switch
+0x469b mem_remote_car_queue_each_size
+0x469c mem_remote_car_queue_length
+0x469d mem_remote_car_queue_curr_num
+0x469e mem_remote_car_queue_read_ptr
+0x469f mem_remote_car_queue_write_ptr
+0x46a0 mem_remote_car_queue_ele
+0x46fa mem_remote_style_led_type
+0x46fb mem_remote_style_blink_count
+0x46fc mem_remote_style_struct_led_gpio
+0x46fd mem_remote_style_on_time
+0x46ff mem_remote_style_off_time
+0x4701 mem_remote_style_cb_ledon
+0x4703 mem_remote_style_cb_ledoff
+0x4705 mem_remote_car_led_num
+0x4706 mem_remote_car_led_map
+0x470e mem_remote_car_keyscan
+0x470e mem_remote_car_key_num
+0x470f mem_cb_remote_car_keyscan
+0x4711 mem_remote_car_key_conf0
+0x4711 mem_remote_car_key_conf0_pin
+0x4712 mem_remote_car_key_conf1
+0x4712 mem_remote_car_key_conf1_pin
+0x4713 mem_remote_car_key_conf2
+0x4713 mem_remote_car_key_conf2_pin
+0x4714 mem_remote_car_key_conf3
+0x4714 mem_remote_car_key_conf3_pin
+0x4715 mem_remote_car_key_conf4
+0x4715 mem_remote_car_key_conf4_pin
+0x4716 mem_remote_car_key_conf5
+0x4716 mem_remote_car_key_conf5_pin
+0x4717 mem_remote_car_key_conf6
+0x4717 mem_remote_car_key_conf6_pin
+0x4718 mem_rocker_negative_flag
+0x4719 mem_rocker_work_status
+0x471a mem_current_vdd_value_default_mid_x
+0x471c mem_current_vdd_value_default_mid_y
+0x471e mem_current_vdd_value_default_mid_temp
+0x4720 mem_current_vdd_default_range
+0x4722 mem_rocker_last_status
+0x4724 mem_rocker_status
+0x4724 mem_rocker_x_status
+0x4725 mem_rocker_y_status
+0x4726 mem_remote_car_config_param
+0x4726 mem_remote_car_config_setting_flag
+0x4727 mem_remote_car_config_key_map
+0x4728 mem_remote_car_config_layout
+0x4729 mem_remote_car_config_connect_led_gpio
+0x472a mem_remote_car_config_check_way
+0x472b mem_remote_car_config_soft_switch_enable
+0x472c mem_remote_car_config_soft_switch_gpio
+0x472d mem_remote_car_config_timeout_shutdown_enable
+0x472e mem_remote_car_24g_motor_packet
+0x472e mem_remote_car_24g_motor_packet_lenght
+0x472f mem_remote_car_24g_motor_send_packet_head
+0x4731 mem_remote_car_24g_motor_send_cmd
+0x4732 mem_remote_car_24g_motor_send_length
+0x4734 mem_remote_car_24g_motor_send_payload
+0x4734 mem_remote_car_24g_motor1_payload
+0x4736 mem_remote_car_24g_motor2_payload
+0x4738 mem_remote_car_24g_motor3_payload
+0x473a mem_remote_car_24g_motor_send_checksum
+0x473b mem_remote_car_24g_fire_packet
+0x473b mem_remote_car_24g_fire_packet_lenght
+0x473c mem_remote_car_24g_fire_send_packet_head
+0x473e mem_remote_car_24g_fire_send_cmd
+0x473f mem_remote_car_24g_fire_send_length
+0x4741 mem_remote_car_24g_fire_send_payload
+0x4743 mem_remote_car_24g_fire_send_checksum
+0x4744 mem_remote_car_24g_tx_temp
+0x4753 mem_remote_car_no_data_timeout
+0x4755 mem_remote_car_no_data_timer
+0x4757 mem_remote_car_soft_power
+0x4757 mem_remote_car_power_state
+0x4758 mem_remote_car_power_timer
+0x4759 mem_remote_car_power_off_timeout
+0x475a mem_remote_car_power_starting_timeout
+0x475b mem_remote_car_power_off_cb
+0x475d mem_remote_car_power_starting_cb
+0x475f mem_remote_car_power_standby_cb
+0x4761 mem_remote_key_status
+0x4762 mem_remote_car_24g_status
+0x4763 mem_remote_car_24g_auto_work_step
+0x4764 mem_remote_car_24g_pair_success_flag
+0x4765 mem_remote_car_24g_enter_lpm_enable
+0x4766 mem_remote_car_empty_packet
+0x4767 mem_24g_RC_head_ptr
+0x469a mem_shutter_bluetooth_type
+0x469b mem_shutter_config_enable
+0x469c mem_shutter_config_otp_base_address
+0x469e mem_shutter_config_size
+0x469f mem_shutter_config_select_gpio1
+0x46a0 mem_shutter_config_select_gpio2
+0x46a1 mem_shutter_config_select_gpio3
+0x46a2 mem_shutter_config_user_otp_address
+0x46a4 mem_shutter_config_eeprom_offset_addr
+0x46a6 mem_shutter_config_eeprom_start_flag
+0x46a8 mem_shutter_config_user_size
+0x46a9 mem_shutter_config_label
+0x46aa mem_shutter_config_otp_addr
+0x46ac mem_classic_shutter_cable_unplug_conut
+0x46ad mem_classic_shutter_hid_disconn_count
+0x46ae mem_classic_shutter_random_mac_offset_addr
+0x46b0 mem_ble_shutter_enable_notify
+0x46b1 mem_ble_shutter_reconn_dav_interval
+0x46b3 mem_ble_shutter_discovery_adv_interval
+0x46b5 mem_ble_shutter_reconn_timeout
+0x46b7 mem_ble_shutter_reconn_timer
+0x46b9 mem_ble_shutter_reconn_blink_on_time
+0x46bb mem_ble_shutter_reconn_blink_off_time
+0x46bd mem_ble_shutter_discovery_blink_on_time
+0x46bf mem_ble_shutter_discovery_blink_off_time
+0x46c1 mem_ble_shutter_interval_min
+0x46c3 mem_ble_shutter_interval_max
+0x46c5 mem_ble_shutter_latency
+0x46c7 mem_ble_shutter_timeout
+0x46c9 mem_ble_shutter_interval_min_new
+0x46cb mem_ble_shutter_interval_max_new
+0x46cd mem_ble_shutter_latency_new
+0x46cf mem_ble_shutter_timeout_new
+0x46d1 mem_classic_shutter_discovery_timeout
+0x46d3 mem_classic_shutter_connect_timeout
+0x46d5 mem_ble_shutter_discovery_timeout
+0x46d7 mem_ble_shutter_connect_timeout
+0x46d9 mem_shutter_sleep_timeout
+0x46db mem_shutter_sleep_timer
+0x46dd mem_shutter_hard_soft_switch_case
+0x46de mem_shutter_soft_switch_button_gpio
+0x46df mem_shutter_soft_switch_power_state
+0x46e0 mem_shutter_soft_switch_poweron_time
+0x46e1 mem_shutter_soft_switch_poweroff_time
+0x46e2 mem_shutter_soft_switch_poweron_callback_function
+0x46e4 mem_shutter_soft_switch_poweroff_callback_function
+0x46e6 mem_shutter_keyscan
+0x46e6 mem_shutter_key_num
+0x46e7 mem_cb_shutter_keycan
+0x46e9 mem_shutter_key_conf0
+0x46ea mem_shutter_key_conf1
+0x46eb mem_shutter_key_conf2
+0x46ec mem_shutter_key_conf3
+0x46ed mem_shutter_key_conf4
+0x46ee mem_shutter_key_conf5
+0x46ef mem_shutter_key_conf6
+0x46f0 mem_shutter_key_conf7
+0x46f1 mem_key0_press
+0x46f6 mem_key1_press
+0x46fb mem_key2_press
+0x4700 mem_key3_press
+0x4705 mem_key4_press
+0x470a mem_key5_press
+0x470f mem_key6_press
+0x4714 mem_key7_press
+0x4719 mem_key0_release
+0x471e mem_key1_release
+0x4723 mem_key2_release
+0x4728 mem_key3_release
+0x472d mem_key4_release
+0x4732 mem_key5_release
+0x4737 mem_key6_release
+0x473c mem_key7_release
+0x4741 mem_ble_data_buffer1
+0x4746 mem_ble_data_buffer2
+0x474b mem_ble_data_buffer3
+0x4750 mem_ble_data_buffer4
+0x4755 mem_ble_data_buffer5
+0x475a mem_ble_data_buffer6
+0x475f mem_ble_data_buffer7
+0x4764 mem_ble_data_buffer8
+0x4769 mem_ble_data_buffer9_58
+0x479b mem_classic_data_buffer
+0x47a0 mem_classic_data_buffer1
+0x47a5 mem_classic_data_buffer2
+0x47aa mem_classic_data_buffer3
+0x47af mem_classic_data_buffer4
+0x47b4 mem_classic_data_buffer5
+0x47b9 mem_classic_data_buffer6
+0x47be mem_classic_data_buffer7
+0x47c3 mem_classic_data_buffer8
+0x47c8 mem_classic_data_buffer9_58
+0x47fa mem_queue_each_size
+0x47fb mem_queue_length
+0x47fc mem_queue_curr_num
+0x47fd mem_queue_read_ptr
+0x47fe mem_queue_write_ptr
+0x47ff mem_queue_ele
+0x481f mem_shutter_nv_data
+0x48c9 mem_shutter_led_struct_app_led
+0x48c9 mem_shutter_led_struct_app_led_type
+0x48ca mem_shutter_led_struct_app_led_blink_count
+0x48cb mem_shutter_led_struct_app_led_gpio
+0x48cc mem_shutter_led_struct_app_led_on_time
+0x48ce mem_shutter_led_struct_app_led_off_time
+0x48d0 mem_shutter_led_struct_app_led_on_callback
+0x48d2 mem_shutter_led_struct_app_led_off_callback
+0x48d4 mem_shutter_power_off_led_style
+0x48d4 mem_shutter_power_off_led_style_type
+0x48d5 mem_shutter_power_off_led_style_blink_count
+0x48d6 mem_shutter_power_off_led_style_gpio
+0x48d7 mem_shutter_power_off_led_style_on_time
+0x48d9 mem_shutter_power_off_led_style_off_time
+0x48db mem_shutter_power_off_led_style_on_callback
+0x48dd mem_shutter_power_off_led_style_off_callback
+0x48df mem_shutter_soft_swtich_botton_down
+0x48e0 mem_shutter_soft_swtich_led_struct_temp
+0x48eb mem_shutter_power_off_timeout
+0x48ec mem_shutter_power_off_timer
+0x469a mem_mouse_key
+0x469b mem_mouse_x
+0x469d mem_mouse_y
+0x469f mem_mouse_z
+0x46a0 mem_mouse_tz
+0x46a1 mem_mouse_xy_h
+0x46a2 mem_sensor_shutter_hi
+0x46a3 mem_sensor_shutter_lo
+0x46a4 mem_sensor_smart_flag
+0x46a5 mem_sensor_squal_reg
+0x46a6 mem_sensor_iqc
+0x46a7 mem_mouse_move_flag
+0x46a8 mem_mouse_direct_timeout
+0x46aa mem_mouse_no_data_timeout
+0x46ac mem_mouse_discovery_timer
+0x46ae mem_mouse_direct_timer
+0x46b0 mem_mouse_no_data_timer
+0x46b2 mem_mouse_blank_data_timer
+0x46b4 mem_mouse_send_blank_timer
+0x46b5 mem_mouse_cpi_count
+0x46b6 mem_mouse_dpi_button_state
+0x46b7 mem_wheel_tb_old_pinlevel
+0x46b8 mem_wheel_tb_new_pinlevel
+0x46b9 mem_wheel_tog
+0x46ba mem_mouse_tz_data
+0x46bb mem_mouse_tz_data_count
+0x46bc mem_mouse_tz_data_count1
+0x46bd mem_mwheel_b_old_pinlevel
+0x46be mem_mwheel_b_new_pinlevel
+0x46bf mem_mwheel_tog
+0x46c0 mem_mouse_z_data
+0x46c1 mem_mouse_z_data_count
+0x46c2 mem_mouse_z_data_count1
+0x46c3 mem_reconn_mode
+0x46c4 mem_mouse_statue_led_timer
+0x46c5 mem_le_connect_status_flag
+0x46c6 mem_le_start_encrypt_timer
+0x46c7 mem_device_addr_temp
+0x46ce mem_adc_read_timer
+0x46cf mem_adc_low_volatage_led_timer_count
+0x46d0 mem_adc_reference_voltage
+0x46d2 mem_device_number
+0x46d3 mem_mouse_flag
+0x46d5 mem_mouse_function_enable
+0x46d7 mem_combination_select_device_timer_init
+0x46d8 mem_combination_select_device_count
+0x46d9 mem_select_device_button_statue
+0x46da mem_combination_ui_button_count
+0x46db mem_bt_discovey_button_statue
+0x46dc mem_sensor_reset_gpio
+0x46dd mem_sensor_id1
+0x46de mem_sensor_id2
+0x46df mem_mouse_dpi_led_delay_count
+0x46e0 mem_config_sensor_type
+0x46e1 mem_config_sensor_motion
+0x46e2 mem_lbutton_gpio
+0x46e3 mem_rbutton_gpio
+0x46e4 mem_mbutton_gpio
+0x46e5 mem_bk_button_gpio
+0x46e6 mem_fw_button_gpio
+0x46e7 mem_dpi_button_gpio
+0x46e8 mem_whee_a_data_gpio
+0x46e9 mem_whee_b_data_gpio
+0x46ea mem_whee_ta_data_gpio
+0x46eb mem_whee_tb_data_gpio
+0x46ec mem_config_bt_button_gpio
+0x46ed mem_config_select_device_button_gpio
+0x46ee mem_config_paraing_led_gpio
+0x46ef mem_config_low_voltage_alarm_gpio
+0x46f0 mem_config_device1_led_gpio
+0x46f1 mem_config_device2_led_gpio
+0x46f2 mem_config_device3_led_gpio
+0x46f3 mem_sensor_data_gpio
+0x46f4 mem_dpi_led_gpio
+0x46f5 mem_config_function_enable
+0x46f6 mem_config_sensor_angle
+0x46f7 mem_select_sensor_angle_gpio
+0x46f8 mem_select_adc_gpio
+0x46f9 mem_config_end
+0x46f9 mem_btclk_sensor
+0x46fd mem_wire_usb_interval
+0x46fe mem_mouse_mode_flag
+0x46ff mem_usb_addr
+0x4700 mem_flash_base
+0x4703 mem_24g_device_number
+0x4704 mem_24g_enter_lpm_timer
+0x4705 mem_mouse_1step_up_count
+0x4706 mem_mouse_2step_up_count
+0x4707 mem_24g_pairing_timer_count
+0x4709 mem_mouse_vdd_calculate_set
+0x4709 mem_mouse_vdd_full_vol
+0x470b mem_mouse_vdd_empty_vol
+0x470d mem_mouse_vdd_low_vol
+0x470f mem_mouse_vdd_now_vol
+0x4711 mem_mouse_sensor_timer_count
+0x4712 mem_sensor_led_style
+0x4713 mem_mouse_led_type
+0x4714 mem_mouse_blink_count
+0x4715 mem_mouse_struct_led_gpio
+0x4716 mem_mouse_on_time
+0x4718 mem_mouse_off_time
+0x471a mem_mouse_cb_ledon
+0x471c mem_mouse_cb_ledoff
+0x471e mem_reconn_times
+0x471f mem_reconn_times_init
+0x4720 mem_mouse_information_start
+0x4720 mem_device_flag
+0x4721 mem_device1_type
+0x4722 mem_device1_addr
+0x4728 mem_device1_link_key
+0x4738 mem_device1_locall_addr
+0x473e mem_device2_type
+0x473f mem_device2_addr
+0x4745 mem_device2_link_key
+0x4755 mem_device2_locall_addr
+0x475b mem_device3_type
+0x475c mem_device3_addr
+0x4762 mem_device3_link_key
+0x4772 mem_device3_locall_addr
+0x4778 mem_store_flag
+0x477a mem_mouse_dpi
+0x477b mem_mouse_24g_addr
+0x477f mem_mouse_information_end
+0x477f mem_mouse_dpi_seting
+0x477f mem_320x_dpi_1
+0x4780 mem_320x_dpi_2
+0x4781 mem_320x_dpi_3
+0x4782 mem_320x_dpi_4
+0x4783 mem_3212_dpi_1
+0x4784 mem_3212_dpi_2
+0x4785 mem_3212_dpi_3
+0x4786 mem_3212_dpi_4
+0x4787 mem_3610_dpi_1
+0x4788 mem_3610_dpi_2
+0x4789 mem_3610_dpi_3
+0x478a mem_3610_dpi_4
+0x478b mem_mouse_24g_enter_lpm_enable
+0x478c mem_mouse_3065xy_dpi_seting
+0x478c mem_3065xy_dpi_1
+0x478d mem_3065xy_dpi_2
+0x478e mem_3065xy_dpi_3
+0x478f mem_3065xy_dpi_4
+0x4790 mem_le_rx_window_inc
+0x4792 mem_empty_count
+0x4793 mem_rf_init_data_new
+0x47a2 mem_mouse_clear_sensor_data_flag
+0x47a3 mem_mouse_null_enter_hibernate_flag
+0x47a4 mem_mouse_null_enter_hibernate_timer
+0x47a5 mem_mouse_le_reconnect_flag
+0x47a6 mem_mouse_data_queue
+0x47c7 mem_mouse_data_queue_num
+0x47c8 mem_random_addr_increase_count
+0x47ca mem_mouse_le_conn_param_reject
+0x47cb mem_lpm_mult_init
+0x47cc mem_mouse_le_uuid_sup
+0x480c mem_mouse_wheel_trigger
+0x480d mem_mouse_wheel_trigger_timer
+0x480e mem_mouse_long_mult_flag
+0x480f mem_mouse_le_current_mult_timer
+0x4810 mem_24g_long_sleep_param_update_timer
+0x4811 mem_mouse_enter_sniff_count
+0x4812 mem_mouse_send_switch_req_timer
+0x4813 mem_le_tx_buffer0_omemalloc
+0x482e mem_le_tx_buffer1_omemalloc
+0x4849 mem_le_tx_buffer2_omemalloc
+0x4864 mem_le_tx_buffer3_omemalloc
+0x487f mem_mouse_mode_config
+0x4880 mem_mouse_dpi_blink_count
+0x4881 mem_mouse_uuid_list
+0x4b07 mem_lmi_opcode_temp
+0x4b08 mem_mouse_adc_last_low_voltage_flag
+0x4b09 mem_mouse_init_sensor_reset_flag
+0x4b0a mem_mouse_ble_reconn_led_blink_count
+0x4b0b mem_mouse_ble_reconn_led_blink_timer
+0x4b0c mem_mouse_multi_led_blink_enable
+0x4b0d mem_mouse_multi_led_gpio
+0x4b0e mem_mouse_multi_led_state
+0x4b0f mem_mouse_multi_led_type
+0x4b10 mem_mouse_multi_led_on_timer
+0x4b11 mem_mouse_multi_led_on_timer_init
+0x4b12 mem_mouse_multi_led_blink_timer
+0x4b13 mem_mouse_multi_led_blink_timer_init
+0x4b14 mem_mouse_multi_led_blink_count
+0x4b15 mem_mouse_multi_led_blink_count_limited
+0x4b16 mem_mouse_multi_led_on_poweron2s_flag
+0x4b17 mem_mouse_ble_reconn_multi_led_blink_flag
+0x4b18 mem_bt_rcvd_switch_req_accept
+0x4b19 mem_bt_send_max_slot_req_accept_after_switch
+0x4b1a mem_l2cap_rcv
+0x4b1b mem_mouse_bt_boot_mode
+0x4b1c mem_mouse_bt_boot_data
+0x4b21 mem_24g_rxbuf
+0x4b43 mem_24g_txbuf
+0x4b63 mem_24g_txpayload
+0x4b85 mem_24g_rxpayload
+0x4ba5 mem_24g_rxdata_length
+0x4ba6 mem_24g_pid
+0x4ba7 mem_24g_datalen
+0x4ba8 mem_24g_data_type
+0x4ba9 mem_24g_txlen
+0x4baa mem_24g_rx_window
+0x4bac mem_24g_ensure
+0x4bad mem_24g_txfail_cnt
+0x4baf mem_24g_get_ack_fail
+0x4bb0 mem_24g_retry
+0x4bb1 mem_24g_ch
+0x4bb2 mem_24g_current_ch_number
+0x4bb3 mem_24g_paring_addr
+0x4bb7 mem_24g_pairing_sm
+0x4bb8 mem_24g_ch_map1
+0x4bbc mem_24g_ch_map2
+0x4bc0 mem_24g_ch_map3
+0x4bc4 mem_24g_ch_map4
+0x4bc8 mem_24g_tx_btclk
+0x4bcc mem_24g_interval
+0x4bcd mem_24g_interval_min
+0x4bce mem_24g_interval_max
+0x4bcf mem_24g_addr
+0x4bd3 mem_24g_abort_pac
+0x4bd4 mem_24g_check_dongle_times
+0x4bd6 mem_24g_enter_hibernate
+0x4bde mem_24g_device_addr
+0x4be2 mem_24g_pac_index
+0x4be3 mem_24g_no_ack
+0x4be4 mem_24g_sta_crc
+0x4be7 mem_24g_last_crc
+0x4bea mem_24g_sta_pid
+0x4beb mem_24g_last_pid
+0x4bec mem_24g_max_retry
+0x4bed mem_24g_mode
+0x4bee mem_24g_rxdata_temp
+0x4c10 mem_24g_rx_addr
+0x4c14 mem_dongle_mode_init
+0x4c15 mem_dongle_work_mode
+0x4c16 mem_dongle_ms_bind_step
+0x4c17 mem_dongle_kb_bind_step
+0x4c18 mem_dongle_bind_device_status
+0x4c19 mem_24g_bind_payload
+0x4c21 mem_24g_abort_packet
+0x4c22 mem_24g_rf_laststa
+0x4c23 mem_24g_hop_btclk
+0x4c27 mem_24g_hop_interval
+0x4c28 mem_24g_mode_switch
+0x4c29 mem_24g_ackpayload_enable
+0x4c2a mem_24g_hop_packet
+0x4c2b mem_24g_pair_mode
+0x4c2c mem_24g_nodata_timer_enable
+0x4c2d mem_24g_time_slice
+0x4c2e mem_24g_kb_data_sta_data
+0x4c36 mem_24g_kb_data_last_data
+0x4c3e mem_24g_kb_multikey_sta_data
+0x4c41 mem_24g_kb_multikey_last_data
+0x4c44 mem_24g_kb_blank_data_enable
+0x4c45 mem_24g_kb_mul_blank_data_enable
+0x4c46 mem_24g_ms_blank_data_enable
+0x4c47 mem_24g_kb_addr
+0x4c4b mem_24g_ms_addr
+0x4c4f mem_24g_dg_last_ch
+0x4c50 mem_24g_dg_ch_number
+0x4c51 mem_24g_dg_config_ch_once
+0x4c52 mem_24g_kb_last_ch
+0x4c53 mem_24g_kb_ch_number
+0x4c54 mem_24g_kb_config_ch_once
+0x4c55 mem_24g_ms_last_ch
+0x4c56 mem_24g_ms_ch_number
+0x4c57 mem_24g_ms_config_ch_once
+0x4c58 mem_24g_syncword
+0x4c5a mem_24g_syncword_crc8
+0x4c5b mem_24g_get_syncword_crc8
+0x4c5c mem_24g_ota_sta_pid
+0x4c5e mem_tx_power_temp
+0x4c5f mem_rssi_hex
+0x4c60 mem_rssi_noise_avg
+0x4c61 mem_rssi_noise_index
+0x4c62 mem_rssi_signal_index
+0x4c63 mem_rssi_noise_dg_avg
+0x4c64 mem_rssi_noise_kb_avg
+0x4c65 mem_rssi_noise_ms_avg
+0x4c66 mem_rssi_noise_dg_index
+0x4c67 mem_rssi_noise_kb_index
+0x4c68 mem_rssi_noise_ms_index
+0x4c69 mem_rssi_signal_buf
+0x4c71 mem_queue_ele_num
+0x4c72 mem_queue_read
+0x4c74 mem_queue_write
+0x4c76 mem_queue_start
+0x4c76 mem_data_ele0
+0x4c96 mem_data_ele1
+0x4cb6 mem_data_ele2
+0x4cd6 mem_queue_end
+0x4cd6 mem_queue_temp
+0x4cd8 mem_cb_24g_data
+0x4cda mem_24g_hop_fastly_cnt
+0x4cdb mem_24g_hop_pac_retry
+0x4cdc mem_24g_rf_hop_ch
+0x4cdd mem_24g_rf_last_sta
+0x4cde mem_24g_rf_work_stage
+0x4cdf mem_24g_sync_cnt
+0x4ce0 mem_power_ctrl_pac_succ_cnt
+0x4ce1 mem_rssi_avg_received
+0x4ce2 mem_rssi_hex_received
+0x4ce3 mem_power_ctrl_level
+0x4ce4 mem_seqi
+0x4ce5 mem_24g_auto_paring_switch
+0x4ce6 mem_24g_paccnt
+0x4ce7 mem_24g_transmit_by_interrupt
+0x4ce8 mem_24g_transmit_by_interrupt_exit_count
Index: YJX_Only24g/main/output/otp.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/otp.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/otp.dat	(working copy)
@@ -0,0 +1,8 @@
+00
+02
+aa
+55
+00
+00
+b3
+23
Index: YJX_Only24g/main/output/program.lis
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/program.lis	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/program.lis	(working copy)
@@ -0,0 +1,34731 @@
+include "bt_format "
+org 0x0000
+0000 c2840012 bbit1 8 ,pf_patch_ext 
+0001 c0428525 beq patch10_5 ,p_shutdown_radio 
+0002 c04484e2 beq patch11_1 ,p_set_freq_tx 
+0003 c0450527 beq patch11_2 ,p_initialize_radio_cont 
+0004 c000801e beq patch00_1 ,p_soft_reset_1 
+0005 c0508027 beq patch14_1 ,p_init_param 
+0006 c054002c beq patch15_0 ,p_lpm_dispatch_next2 
+0007 c058802f beq patch16_1 ,p_lpm_check_wake_lock 
+0008 c059003b beq patch16_2 ,p_g24_dispatch 
+0009 c06200bc beq patch18_4 ,p_device_init 
+000a c0648142 beq patch19_1 ,p_app_flag_store 
+000b c0650146 beq patch19_2 ,p_app_initflag_check 
+000c c071829c beq patch1c_3 ,p_mouse_seting_dpi 
+000d c0730241 beq patch1c_6 ,p_mouse_motion 
+000e c07502e6 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+000f c07582f4 beq patch1d_3 ,p_mouse_start_discovery 
+0010 c076031d beq patch1d_4 ,p_mouse_stop_discovery 
+0011 20202a8e branch loop 
+
+pf_patch_ext:
+0012 c0460321 beq patch31_4 ,p_twspi_reset 
+0013 20202a8e branch loop 
+
+p_rssi_signal:
+0014 1fe22200 copy pdata ,rega 
+0015 6808cc62 fetcht 1 ,mem_rssi_signal_index 
+0016 58004c69 setarg mem_rssi_signal_buf 
+0017 98408a00 iadd temp ,contw 
+0018 1a227e00 copy rega ,pdata 
+0019 e0a08000 istore 1 ,contw 
+001a 18408401 increase 1 ,temp 
+001b 18410407 and_into rssi_buf_len_signal ,temp 
+001c 6008cc62 storet 1 ,mem_rssi_signal_index 
+001d 20600000 rtn 
+
+p_soft_reset_1:
+001e d8a009ae arg mem_sp_state ,contw 
+001f df20000c arg 12 ,loopcnt 
+0020 20407ed4 call clear_mem 
+0021 204000b0 call p_mouse_le_txbuff_load 
+0022 20406a03 call rfcomm_init 
+0023 20405cf6 call init_lmp 
+0024 2455ac65 ncall lpm_disable_exen_output ,wake 
+0025 20407ccd call ui_init + 1 
+0026 2020200c branch soft_reset + 11 
+
+p_init_param:
+0027 58000a06 setarg param_le_version 
+0028 6001c510 store 3 ,mem_lmp_version 
+0029 58001d87 setarg param_le_subversion 
+002a 60014513 store 2 ,mem_lmp_version + 3 
+002b 20202aa2 branch init_param + 12 
+
+p_lpm_dispatch_next2:
+002c 6800c80c fetch 1 ,mem_mouse_wheel_trigger 
+002d 247a0000 nrtn blank 
+002e 20202b7f branch lpm_dispatch_next2 
+
+p_lpm_check_wake_lock:
+002f c6130000 rtnmark1 mark_24g 
+0030 6800cb14 fetch 1 ,mem_mouse_multi_led_blink_count 
+0031 243a7fef nbranch disable_blank ,blank 
+0032 6800cb0e fetch 1 ,mem_mouse_multi_led_state 
+0033 243a7fef nbranch disable_blank ,blank 
+0034 6800c7a2 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+0035 c0007fef beq 0 ,disable_blank 
+0036 6800c7ca fetch 1 ,mem_mouse_le_conn_param_reject 
+0037 c000ffef beq le_lpm_disable ,disable_blank 
+0038 68014248 fetch 2 ,mem_sdp_remote_cid 
+0039 243a7fef nbranch disable_blank ,blank 
+003a 20207ff1 branch enable_blank 
+
+p_g24_dispatch:
+003b c6930000 rtnmark0 mark_24g 
+003c 6800cce7 fetch 1 ,mem_24g_transmit_by_interrupt 
+003d c0008057 beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+
+p_g24_transmit_process:
+003e 20400386 call p_g24_txdata_prep 
+003f 24340072 nbranch p_g24_nodata_transmit ,user 
+0040 2040036b call p_g24_rf_sta_check 
+
+p_g24_transmit_start:
+0041 204003b3 call p_g24_transmit_packet 
+0042 6800cbb7 fetch 1 ,mem_24g_pairing_sm 
+0043 c1ff8000 rtnne state_24g_pairing_success 
+0044 20400412 call power_ctrl_start 
+0045 20400051 call g24_long_sleep_shorter_param_update 
+0046 6800cce7 fetch 1 ,mem_24g_transmit_by_interrupt 
+0047 c1008000 rtneq g24_tx_timer_int_enable 
+
+p_g24_short_sleep:
+0048 20402afa call lpo_calibration 
+0049 6801c16f fetch 3 ,mem_clks_per_lpo 
+004a 207a0000 rtn blank 
+004b 6800c091 fetch 1 ,mem_lpm_mode 
+004c 207a0000 rtn blank 
+004d 20400097 call p_mouse_setgpio_lpm 
+004e 20400094 call p_clear_wake 
+004f 5800f618 setarg 63000 
+0050 20202b93 branch lpm_dispatch_sleep 
+
+g24_long_sleep_shorter_param_update:
+0051 6800c6f5 fetch 1 ,mem_config_function_enable 
+0052 c3838000 rtnbit1 enable_sensor_motion_pin 
+0053 58017700 setarg g24_long_sleep_step1 
+0054 6001cbd6 store 3 ,mem_24g_enter_hibernate 
+0055 7048101e jam 30 ,mem_24g_long_sleep_param_update_timer 
+0056 20600000 rtn 
+
+p_g24_transmit_by_interrupt:
+0057 2040052a call p_g24_timer_check 
+0058 24740000 nrtn user 
+0059 20400069 call p_g24_interval_calibrate 
+005a 6800cce8 fetch 1 ,mem_24g_transmit_by_interrupt_exit_count 
+005b 1fe0fe01 increase 1 ,pdata 
+005c 6000cce8 store 1 ,mem_24g_transmit_by_interrupt_exit_count 
+005d 1fe67c19 sub pdata ,25 ,null 
+005e 20428060 call p_g24_transmit_by_interrupt_exit ,zero 
+005f 2020003e branch p_g24_transmit_process 
+
+p_g24_transmit_by_interrupt_exit:
+0060 704ce700 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+0061 704ce800 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+
+p_g24_interval_min:
+0062 704be200 jam 0 ,mem_24g_pac_index 
+0063 6800cbcd fetch 1 ,mem_24g_interval_min 
+0064 6000cbcc store 1 ,mem_24g_interval 
+0065 20600000 rtn 
+
+p_g24_interval_max:
+0066 6800cbce fetch 1 ,mem_24g_interval_max 
+0067 6000cbcc store 1 ,mem_24g_interval 
+0068 20600000 rtn 
+
+p_g24_interval_calibrate:
+0069 6800cbe2 fetch 1 ,mem_24g_pac_index 
+006a 1fe0fe01 increase 1 ,pdata 
+006b 6000cbe2 store 1 ,mem_24g_pac_index 
+006c c0020066 beq 4 ,p_g24_interval_max 
+006d c0028062 beq 5 ,p_g24_interval_min 
+006e 20600000 rtn 
+
+p_g24_transmit_by_interrupt_enable:
+006f 704ce701 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+0070 704ce800 jam 0 ,mem_24g_transmit_by_interrupt_exit_count 
+0071 20600000 rtn 
+
+p_g24_nodata_transmit:
+0072 6800cbd3 fetch 1 ,mem_24g_abort_pac 
+0073 205a007e call p_g24_send_abort_packet ,blank 
+
+p_g24_long_sleep:
+0074 20402afa call lpo_calibration 
+0075 6801c16f fetch 3 ,mem_clks_per_lpo 
+0076 207a0000 rtn blank 
+0077 6800c091 fetch 1 ,mem_lpm_mode 
+0078 207a0000 rtn blank 
+0079 20400097 call p_mouse_setgpio_lpm 
+007a 68044bd6 fetch 8 ,mem_24g_enter_hibernate 
+007b 20407f49 call clk2lpo 
+007c 600a415b storet 4 ,mem_sleep_counter 
+007d 20202b2a branch lpm_sleep 
+
+p_g24_send_abort_packet:
+007e 704bd301 jam 1 ,mem_24g_abort_pac 
+007f 704cdc00 jam 0 ,mem_24g_rf_hop_ch 
+0080 20400333 call p_g24_transmit_rf_ctrl_clear 
+0081 6000cb43 store 1 ,mem_24g_txbuf 
+0082 58000000 setarg 0 
+0083 6003cb44 store 7 ,mem_24g_txbuf + 1 
+0084 68024bde fetch 4 ,mem_24g_device_addr 
+0085 60024b4b store 4 ,mem_24g_txbuf + 8 
+0086 704ba70c jam 12 ,mem_24g_datalen 
+0087 6800cba8 fetch 1 ,mem_24g_data_type 
+0088 79207e03 set1 bit_abort ,pdata 
+0089 6000cba8 store 1 ,mem_24g_data_type 
+008a 20400566 call p_g24_transmit_prep 
+008b 2040038a call p_g24_txdata_enable_tx 
+008c 20200041 branch p_g24_transmit_start 
+
+p_mouse_before_lpm:
+008d c6130000 rtnmark1 mark_24g 
+008e 204000a3 call p_mouse_le_txbuff_save 
+008f 20400097 call p_mouse_setgpio_lpm 
+0090 6800c040 fetch 1 ,mem_context 
+0091 c3000094 bbit0 state_inconn ,p_clear_wake 
+0092 680080a0 fetch 1 ,mem_lpm_current_mult 
+0093 247a0000 nrtn blank 
+
+p_clear_wake:
+0094 58000000 setarg 0 
+0095 600400a1 store 8 ,mem_gpio_wakeup_low 
+0096 20600000 rtn 
+
+p_mouse_setgpio_lpm:
+0097 204000a0 call p_mouse_set_sdio_high 
+0098 20400094 call p_clear_wake 
+0099 20403ebf call mouse_lpm_before_common 
+009a 68120070 hfetch 4 ,core_gpio_oe0 
+009b 681a0078 hfetcht 4 ,core_gpio_pu0 
+009c 98418400 ior temp ,temp 
+009d 18440400 invert temp ,temp 
+009e 601a007c hstoret 4 ,core_gpio_pd0 
+009f 20200231 branch p_mouse_multi_led_off2 
+
+p_mouse_set_sdio_high:
+00a0 6800cb09 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+00a1 207a0000 rtn blank 
+00a2 2020029d branch p_mouse_seting_dpi + 1 
+
+p_mouse_le_txbuff_save:
+00a3 d8c01800 arg mem_le_tx_buffer0 ,contr 
+00a4 d8a04813 arg mem_le_tx_buffer0_omemalloc ,contw 
+00a5 204000ae call p_mouse_le_txbuff_copy 
+00a6 d8c01900 arg mem_le_tx_buffer1 ,contr 
+00a7 d8a0482e arg mem_le_tx_buffer1_omemalloc ,contw 
+00a8 204000ae call p_mouse_le_txbuff_copy 
+00a9 d8c01a00 arg mem_le_tx_buffer2 ,contr 
+00aa d8a04849 arg mem_le_tx_buffer2_omemalloc ,contw 
+00ab 204000ae call p_mouse_le_txbuff_copy 
+00ac d8c01b00 arg mem_le_tx_buffer3 ,contr 
+00ad d8a04864 arg mem_le_tx_buffer3_omemalloc ,contw 
+
+p_mouse_le_txbuff_copy:
+00ae df20001b arg 27 ,loopcnt 
+00af 20207f01 branch memcpy 
+
+p_mouse_le_txbuff_load:
+00b0 d8c04813 arg mem_le_tx_buffer0_omemalloc ,contr 
+00b1 d8a01800 arg mem_le_tx_buffer0 ,contw 
+00b2 204000ae call p_mouse_le_txbuff_copy 
+00b3 d8c0482e arg mem_le_tx_buffer1_omemalloc ,contr 
+00b4 d8a01900 arg mem_le_tx_buffer1 ,contw 
+00b5 204000ae call p_mouse_le_txbuff_copy 
+00b6 d8c04849 arg mem_le_tx_buffer2_omemalloc ,contr 
+00b7 d8a01a00 arg mem_le_tx_buffer2 ,contw 
+00b8 204000ae call p_mouse_le_txbuff_copy 
+00b9 d8c04864 arg mem_le_tx_buffer3_omemalloc ,contr 
+00ba d8a01b00 arg mem_le_tx_buffer3 ,contw 
+00bb 202000ae branch p_mouse_le_txbuff_copy 
+
+p_device_init:
+00bc 20403416 call app_lpm_mult_enable 
+00bd 203580c6 branch p_device_init_common ,wake 
+00be 70807820 jam 0x20 ,core_gpio_pu0 
+00bf 20400601 call p_mouse_data_init 
+00c0 6800c1de fetch 1 ,mem_tx_power 
+00c1 6000cc5e store 1 ,mem_tx_power_temp 
+00c2 20400401 call power_ctrl_pac_succ_cnt_init 
+00c3 6800c685 fetch 1 ,mem_ui_button_timeout 
+00c4 6000c6da store 1 ,mem_combination_ui_button_count 
+00c5 204043ca call mouse_bt_discovery_button_down_disable 
+
+p_device_init_common:
+00c6 204000c8 call p_mouse_init 
+00c7 202074b9 branch enable_authrom 
+
+p_mouse_init:
+00c8 2455811a ncall p_mouse_setting_config ,wake 
+00c9 204000f5 call p_mouse_spi_init 
+00ca 20758000 rtn wake 
+00cb 70477a01 jam 1 ,mem_mouse_dpi 
+00cc 20400163 call p_mouse_cb_fuction 
+00cd 2020014a branch p_mouse_wakeup_from_power 
+
+p_test_function:
+00ce 2040024b call p_mouse_check_key_gpio 
+00cf c00380d1 beq mouse_lmr_button ,p_test_rf_param 
+00d0 20600000 rtn 
+
+p_test_rf_param:
+00d1 58001bb7 setarg 0x1bb7 
+00d2 60014720 store 2 ,mem_device_flag 
+00d3 d8400002 arg 2 ,temp 
+00d4 da204720 arg mem_device_flag ,rega 
+00d5 58000000 setarg 0 
+00d6 2040663d call iicd_write_eep 
+00d7 70801001 jam 1 ,0x8010 
+00d8 20600000 rtn 
+
+p_mouse_check_reconn_target:
+00d9 204001ad call p_mouse_tx_power_init 
+00da 6800c210 fetch 1 ,mem_xrecord_mode 
+00db c01a00dd beq rec_4_mode ,p_mouse4_0_check_reconn_target 
+00dc 20600000 rtn 
+
+p_mouse4_0_check_reconn_target:
+00dd 204000ed call p_mouse4_0_reconn_led_blink_init 
+00de 7047a501 jam 1 ,mem_mouse_le_reconnect_flag 
+00df 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+00e0 600146ae store 2 ,mem_mouse_direct_timer 
+00e1 20403418 call app_lpm_mult_disable 
+00e2 204000e6 call p_le_check_adv_flag 
+00e3 58000004 setarg adv_flag_bredr_not_supported 
+00e4 e0c08000 istore 1 ,contr 
+00e5 20207df4 branch check_51cmd_adv 
+
+p_le_check_adv_flag:
+00e6 da204370 arg mem_le_adv_data ,rega 
+
+p_le_check_adv_flag_loop:
+00e7 ea208000 ifetch 1 ,rega 
+00e8 207a0000 rtn blank 
+00e9 98c0a200 iadd contr ,rega 
+00ea e8c08000 ifetch 1 ,contr 
+00eb c1008000 rtneq 0x01 
+00ec 202000e7 branch p_le_check_adv_flag_loop 
+
+p_mouse4_0_reconn_led_blink_init:
+00ed 704b1701 jam 1 ,mem_mouse_ble_reconn_multi_led_blink_flag 
+00ee 704b1409 jam 9 ,mem_mouse_multi_led_blink_count 
+00ef 2020023d branch p_mouse_dpi_multi_led_blink 
+
+p_mouse_dpi_config:
+00f0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+00f1 c30a3d66 bbit0 mouse_enable_eeprom ,mouse_dpi_config 
+00f2 6800c77a fetch 1 ,mem_mouse_dpi 
+00f3 c07fbd66 beq 0xff ,mouse_dpi_config 
+00f4 20203d80 branch mouse_seting_dpi + 2 
+
+p_mouse_spi_init:
+00f5 70421276 jam 0x76 ,mem_spi_init_clk 
+00f6 20203d36 branch mouse_spi_init 
+
+p_mouse_init_sunt:
+00f7 204000f5 call p_mouse_spi_init 
+00f8 204040c0 call mouse_spi_sdio_gpio_pollup 
+00f9 6800c6e0 fetch 1 ,mem_config_sensor_type 
+00fa c002c0d5 beq p3610 ,mouse_init_3610sensor 
+
+p_mouse_init_sensor:
+00fb 204040d9 call mouse_read_sensor_id 
+00fc c0180105 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+00fd c018810b beq p3065_id1 ,p_mouse_p3065_init_param 
+00fe 204040d1 call mouse_twspi_reset 
+00ff 200003e8 nop 1000 
+0100 202000fb branch p_mouse_init_sensor 
+
+p_mouse_init_sensor_reset:
+0101 704b0901 jam 1 ,mem_mouse_init_sensor_reset_flag 
+0102 2040640f call spi_ncs_enable 
+0103 204000f7 call p_mouse_init_sunt 
+0104 20206411 branch spi_ncs_disable 
+
+p_mouse_init_p32xx_id2_judge:
+0105 20400110 call p_mouse_sensor_poweron 
+0106 6800c6de fetch 1 ,mem_sensor_id2 
+0107 c02d0109 beq p_mx8650 ,p_mouse_mx8650_init_param 
+0108 202040e0 branch mouse_init_p32xx_id2_judge 
+
+p_mouse_mx8650_init_param:
+0109 7046e007 jam mx8650 ,mem_config_sensor_type 
+010a 20600000 rtn 
+
+p_mouse_p3065_init_param:
+010b 20400110 call p_mouse_sensor_poweron 
+010c 6800c6de fetch 1 ,mem_sensor_id2 
+010d c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+010e 7046e001 jam p3065 ,mem_config_sensor_type 
+010f 20600000 rtn 
+
+p_mouse_sensor_poweron:
+0110 58008006 setarg 0x8006 
+0111 20406413 call twspi_write 
+0112 20002ee0 nop 12000 
+0113 202000f0 branch p_mouse_dpi_config 
+
+p_mouse_sensor_powerdown:
+0114 58000006 setarg 0x06 
+0115 20406414 call twspi_read 
+0116 1fe1fe08 or pdata ,0x08 ,pdata 
+0117 1fed7e00 lshift8 pdata ,pdata 
+0118 1fe0fe06 add pdata ,0x06 ,pdata 
+0119 20206413 branch twspi_write 
+
+p_mouse_setting_config:
+011a 2040032d call p_g24_set_device_addr 
+011b 68108a00 hfetch 1 ,core_usb_config 
+011c 793ffe04 set0 4 ,pdata 
+011d 60108a00 hstore 1 ,core_usb_config 
+011e 20403e6e call mouse_gpio_init 
+011f 6808cb0d fetcht 1 ,mem_mouse_multi_led_gpio 
+0120 2040680e call gpio_config_output 
+0121 20403e1e call mouse_param_init 
+0122 58000000 setarg 0 
+0123 60014154 store 2 ,mem_lpm_interval 
+0124 20400134 call p_mouse_set_gpio_control_sensor 
+0125 58001802 setarg 0x1802 
+0126 600140bd store 2 ,mem_fcomp_mul 
+0127 20403e54 call mouse_adc_init 
+0128 20405810 call le_set_config_fixed_ltk 
+0129 20405839 call le_set_justwork 
+012a 2040582c call le_set_fixed_ltk 
+012b 20405818 call le_set_config_read_authentication 
+
+p_mouse_init_iic:
+012c 2040659c call iic_init_390k 
+012d 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+012e 2feffe19 isolate1 mouse_enable_2k_eeprom ,pdata 
+012f 2440e5c2 ncall clear_eeprom_size_2k ,true 
+0130 2040443f call mouse_load_eeprom_dpi 
+0131 2040013e call p_mouse_init_environment 
+
+p_mouse_init_iic_read_24g_addr:
+0132 204001a9 call p_mouse_set_24g_addr_eeprom 
+0133 202065df branch iicd_read_eep_data 
+
+p_mouse_set_gpio_control_sensor:
+0134 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+0135 c40f8000 rtnbit0 mouse_enable_gpio_control_adc_sensor 
+
+p_mouse_sensor_set_angle:
+0136 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+0137 204067fb call gpio_config_input 
+0138 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+0139 2040681d call gpio_get_bit 
+013a 7046f602 jam mouse_12clk_angle ,mem_config_sensor_angle 
+013b 20608000 rtn true 
+013c 7046f601 jam mouse_9clk_angle ,mem_config_sensor_angle 
+013d 20600000 rtn 
+
+p_mouse_init_environment:
+013e 204033c4 call app_initflag_check 
+013f 2022c316 branch mouse_eeprom_load_recon_info ,zero 
+0140 204002ec call p_le_addr_random_config 
+0141 20203dcb branch mouse_init_environment + 2 
+
+p_app_flag_store:
+0142 d8400002 arg 2 ,temp 
+0143 da200aaa arg mem_timeup ,rega 
+0144 da400062 arg mouse_eeprom_module_init_flag ,regb 
+0145 202065d1 branch iicd_write_protect_eep_data 
+
+p_app_initflag_check:
+0146 d8400002 arg 2 ,temp 
+0147 da200a9a arg mem_pdatatemp ,rega 
+0148 da400062 arg mouse_eeprom_module_init_flag ,regb 
+0149 202033c8 branch app_initflag_check + 4 
+
+p_mouse_wakeup_from_power:
+014a 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+014b c30f0151 bbit0 mouse_enable_wakeup_from_power ,p_mouse_wakeup_no_from_power 
+014c 68008abd fetch 1 ,mem_wakup_from_power_flag 
+014d 2fec0003 isolate0 gpio_latch ,pdata 
+014e 24208151 nbranch p_mouse_wakeup_no_from_power ,true 
+014f 204000f7 call p_mouse_init_sunt 
+0150 20400114 call p_mouse_sensor_powerdown 
+
+p_mouse_wakeup_no_from_power:
+0151 6800c71f fetch 1 ,mem_reconn_times_init 
+0152 6000c71e store 1 ,mem_reconn_times 
+0153 6800c6f5 fetch 1 ,mem_config_function_enable 
+0154 c3828000 rtnbit1 enable_select_device_by_gpio_button 
+0155 c3830000 rtnbit1 enable_select_device_by_switch 
+
+p_mouse_start_24g_mode:
+0156 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+0157 c4088000 rtnbit0 mouse_enable_24g 
+0158 68008abd fetch 1 ,mem_wakup_from_power_flag 
+0159 2020048b branch p_g24_auto_pair_start 
+
+p_g24_factory_check:
+015a df200002 arg 2 ,loopcnt 
+015b d8c04bcf arg mem_24g_addr ,contr 
+
+p_pdata_0xff_check:
+015c 20407fe7 call enable_user 
+015d 5800ffff setarg 0xffff 
+
+p_pdata_0xff_check_loop:
+015e e8c90000 ifetcht 2 ,contr 
+015f 98467c00 isub temp ,null 
+0160 2442ffe9 ncall disable_user ,zero 
+0161 c200015e loop p_pdata_0xff_check_loop 
+0162 20600000 rtn 
+
+p_mouse_cb_fuction:
+0163 58000172 setarg p_mouse_g24_package_data 
+0164 60014cd8 store 2 ,mem_cb_24g_data 
+0165 5800008d setarg p_mouse_before_lpm 
+0166 600141ed store 2 ,mem_cb_before_lpm 
+0167 58000196 setarg p_mouse_priority_bb_event 
+0168 600141f5 store 2 ,mem_cb_bb_event_process 
+0169 58000181 setarg p_mouse_idle 
+016a 600141f3 store 2 ,mem_cb_idle_process 
+016b 580001c2 setarg p_mouse_before_hibernate 
+016c 600141eb store 2 ,mem_cb_before_hibernate 
+016d 580001d1 setarg p_mouse_bb_event_timer 
+016e 600141fd store 2 ,mem_cb_event_timer 
+016f 58003d36 setarg mouse_spi_write_flash_cb 
+0170 60014201 store 2 ,mem_cb_spi_flash_write_complate 
+0171 20600000 rtn 
+
+p_mouse_g24_package_data:
+0172 20404401 call mouse_g24_package_data 
+0173 6801469f fetch 2 ,mem_mouse_z 
+0174 207a0000 rtn blank 
+0175 2020006f branch p_g24_transmit_by_interrupt_enable 
+
+p_mouse_le_current_mult_update:
+0176 6800c6f5 fetch 1 ,mem_config_function_enable 
+0177 c3838000 rtnbit1 enable_sensor_motion_pin 
+0178 70417200 jam 0 ,mem_lpm_mult 
+0179 70480f1e jam 30 ,mem_mouse_le_current_mult_timer 
+017a 20600000 rtn 
+
+p_mouse_wheel_trigger:
+017b 70480c01 jam 1 ,mem_mouse_wheel_trigger 
+017c 70480d02 jam 2 ,mem_mouse_wheel_trigger_timer 
+017d 20600000 rtn 
+
+p_mouse_clear_sensor_data:
+017e 20405814 call le_set_config_more_data 
+017f 7047a201 jam 1 ,mem_mouse_clear_sensor_data_flag 
+0180 20200110 branch p_mouse_sensor_poweron 
+
+p_mouse_idle:
+0181 20407e34 call ui_check_paring_button 
+0182 20203ee0 branch mouse_wheel_check 
+
+p_mouse_dpi_check:
+0183 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+0184 20400274 call p_gpio_set_input_pd 
+0185 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+0186 2040681d call gpio_get_bit 
+0187 20208194 branch p_mouse_dpi_up ,true 
+0188 2040027d call p_gpio_set_input_pu 
+
+p_mouse_dpi_down:
+0189 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+018a c1000000 rtneq dpi_button_state_down 
+018b 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+018c 6800c77a fetch 1 ,mem_mouse_dpi 
+018d 1fe0fe01 increase 1 ,pdata 
+018e 1fe17e03 and pdata ,0x03 ,pdata 
+018f 6000c77a store 1 ,mem_mouse_dpi 
+0190 1fe0fe02 increase 2 ,pdata 
+0191 60014b14 store 2 ,mem_mouse_multi_led_blink_count 
+0192 2040023d call p_mouse_dpi_multi_led_blink 
+0193 20203d74 branch mouse_dpi_down + 7 
+
+p_mouse_dpi_up:
+0194 2040027d call p_gpio_set_input_pu 
+0195 20203d62 branch mouse_dpi_up 
+
+p_mouse_priority_bb_event:
+0196 1a627e00 copy regc ,pdata 
+0197 c01c819b beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+0198 c01d01b0 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+0199 c01e01c0 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+019a 2020417d branch mouse_priority_bb_event + 1 
+
+p_mouse_24g_pairing_complete:
+019b 20400101 call p_mouse_init_sensor_reset 
+019c 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+019d d8e00003 arg mosue_24g_pairing_flag ,queue 
+019e 204043d2 call mouse_disable_function_flag 
+019f 58000000 setarg 0 
+01a0 60014707 store 2 ,mem_24g_pairing_timer_count 
+01a1 7046a700 jam 0 ,mem_mouse_move_flag 
+01a2 6800c6e0 fetch 1 ,mem_config_sensor_type 
+01a3 1fe67c05 sub pdata ,p3610 ,null 
+01a4 2042c039 call mouse_read_sensor3610_data ,zero 
+01a5 2442c05d ncall mouse_read_sensor_common ,zero 
+01a6 204001ad call p_mouse_tx_power_init 
+01a7 204001a9 call p_mouse_set_24g_addr_eeprom 
+01a8 202065d1 branch iicd_write_protect_eep_data 
+
+p_mouse_set_24g_addr_eeprom:
+01a9 da204bcf arg mem_24g_addr ,rega 
+01aa da40005b arg mouse_g24_addr_eeprom_offect ,regb 
+01ab d8400004 arg 4 ,temp 
+01ac 20600000 rtn 
+
+p_mouse_tx_power_init:
+01ad 6800cc5e fetch 1 ,mem_tx_power_temp 
+01ae 6000c1de store 1 ,mem_tx_power 
+01af 20600000 rtn 
+
+p_mouse_24g_attempt_fail:
+01b0 204001cd call p_mouse_sensor_powerdown_check 
+01b1 704ce700 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+01b2 204001ad call p_mouse_tx_power_init 
+01b3 204004cc call p_g24_check_51cmd_stop_24g 
+01b4 6800c87f fetch 1 ,mem_mouse_mode_config 
+01b5 c28001bd bbit1 mouse_24g_only ,p_mouse_null_enter_hibernate_enable 
+01b6 7041bd00 jam 0 ,mem_link_key_exists 
+01b7 20404316 call mouse_eeprom_load_recon_info 
+01b8 df200003 arg 3 ,loopcnt 
+01b9 d8c04722 arg mem_device1_addr ,contr 
+01ba 2040015c call p_pdata_0xff_check 
+01bb 203401bd branch p_mouse_null_enter_hibernate_enable ,user 
+01bc 202000d9 branch p_mouse_check_reconn_target 
+
+p_mouse_null_enter_hibernate_enable:
+01bd 7047a301 jam 1 ,mem_mouse_null_enter_hibernate_flag 
+01be 7047a428 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+01bf 20600000 rtn 
+
+p_mouse_24g_attempt_success:
+01c0 20400101 call p_mouse_init_sensor_reset 
+01c1 20203f8d branch mouse_no_data_timer_init 
+
+p_mouse_before_hibernate:
+01c2 78347c00 enable user 
+01c3 68120138 hfetch 4 ,0x8138 
+01c4 79347e1a setflag user ,26 ,pdata 
+01c5 6012004c hstore 4 ,core_lpm_reg 
+01c6 20402c21 call lpm_write_ctrl 
+01c7 204001cd call p_mouse_sensor_powerdown_check 
+01c8 204074bd call disable_authrom 
+01c9 20404482 call mouse_devce_led_off 
+01ca 20403e9f call mouse_before_hibernate_wheel_gpio_set 
+01cb 20403ebf call mouse_lpm_before_common 
+01cc 20200231 branch p_mouse_multi_led_off2 
+
+p_mouse_sensor_powerdown_check:
+01cd 6800cb09 fetch 1 ,mem_mouse_init_sensor_reset_flag 
+01ce 207a0000 rtn blank 
+01cf 704b0900 jam 0 ,mem_mouse_init_sensor_reset_flag 
+01d0 20200114 branch p_mouse_sensor_powerdown 
+
+p_mouse_bb_event_timer:
+01d1 204001e0 call p_mouse_24g_long_sleep_param_update_timer 
+01d2 204001e7 call p_mouse_le_current_mult_update_timer 
+01d3 204001db call p_mouse_wheel_trigger_timer 
+01d4 2040020b call p_mouse_null_enter_hibernate_timer 
+01d5 204001f1 call p_mouse_bt_discovery_check 
+01d6 20400183 call p_mouse_dpi_check 
+01d7 20404234 call mouse_check_discovery_timeout_timer 
+01d8 20404237 call mouse_check_direct_timeout_timer 
+01d9 2040423a call mouse_check_no_data_timeout_timer 
+01da 202001ee branch p_mouse_le_enable_att_list_timer 
+
+p_mouse_wheel_trigger_timer:
+01db da60480d arg mem_mouse_wheel_trigger_timer ,regc 
+01dc da4001de arg p_mouse_wheel_trigger_disable ,regb 
+01dd 2020336d branch timer_single_step 
+
+p_mouse_wheel_trigger_disable:
+01de 70480c00 jam 0 ,mem_mouse_wheel_trigger 
+01df 20600000 rtn 
+
+p_mouse_24g_long_sleep_param_update_timer:
+01e0 da604810 arg mem_24g_long_sleep_param_update_timer ,regc 
+01e1 da4001e3 arg p_mouse_24g_long_sleep_normal_param ,regb 
+01e2 2020336d branch timer_single_step 
+
+p_mouse_24g_long_sleep_normal_param:
+01e3 5836ee80 setarg g24_long_sleep_step2 
+01e4 6001cbd6 store 3 ,mem_24g_enter_hibernate 
+01e5 70480e01 jam 1 ,mem_mouse_long_mult_flag 
+01e6 20600000 rtn 
+
+p_mouse_le_current_mult_update_timer:
+01e7 da60480f arg mem_mouse_le_current_mult_timer ,regc 
+01e8 da4001ea arg p_mouse_le_current_mult_reinit ,regb 
+01e9 2020336d branch timer_single_step 
+
+p_mouse_le_current_mult_reinit:
+01ea 6800c7cb fetch 1 ,mem_lpm_mult_init 
+01eb 6000c172 store 1 ,mem_lpm_mult 
+01ec 70480e01 jam 1 ,mem_mouse_long_mult_flag 
+01ed 20600000 rtn 
+
+p_mouse_le_enable_att_list_timer:
+01ee da6046c6 arg mem_le_start_encrypt_timer ,regc 
+01ef da403d60 arg mouse_le_write_enable ,regb 
+01f0 2020336d branch timer_single_step 
+
+p_mouse_bt_discovery_check:
+01f1 6800c6f5 fetch 1 ,mem_config_function_enable 
+01f2 c2824394 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
+
+p_mouse_bt_discovery_commbination_key_up:
+01f3 6800c685 fetch 1 ,mem_ui_button_timeout 
+01f4 6000c6da store 1 ,mem_combination_ui_button_count 
+01f5 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+01f6 c1008000 rtneq dpi_button_state_up 
+01f7 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+01f8 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
+01f9 204043d2 call mouse_disable_function_flag 
+01fa 202043ca branch mouse_bt_discovery_button_down_disable 
+
+p_mouse_bt_discovery_commbination_key_down:
+01fb 7047a428 jam 40 ,mem_mouse_null_enter_hibernate_timer 
+01fc 204001fe call p_mouse_bt_discovery_timer 
+01fd 202043b0 branch mouse_bt_discovery_commbination_key_down + 1 
+
+p_mouse_bt_discovery_timer:
+01fe da6046da arg mem_combination_ui_button_count ,regc 
+01ff da400201 arg p_mouse_long_button_bt_discovery ,regb 
+0200 2020336d branch timer_single_step 
+
+p_mouse_long_button_bt_discovery:
+0201 204001cd call p_mouse_sensor_powerdown_check 
+0202 68014682 fetch 2 ,mem_ui_state_map 
+0203 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+0204 2040c2d4 call mouse_stop_le_adv ,true 
+0205 68014682 fetch 2 ,mem_ui_state_map 
+0206 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+0207 2040c392 call mouse_cancel_reconnect ,true 
+0208 d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
+0209 204043ce call mouse_enable_function_flag 
+020a 202043b8 branch mouse_long_button_bt_discovry 
+
+p_mouse_null_enter_hibernate_timer:
+020b 6800c7a3 fetch 1 ,mem_mouse_null_enter_hibernate_flag 
+020c 207a0000 rtn blank 
+020d 6800c7a4 fetch 1 ,mem_mouse_null_enter_hibernate_timer 
+020e 203a0212 branch p_mouse_null_enter_hibernate ,blank 
+020f 1fe0ffff increase -1 ,pdata 
+0210 6000c7a4 store 1 ,mem_mouse_null_enter_hibernate_timer 
+0211 20600000 rtn 
+
+p_mouse_null_enter_hibernate:
+0212 7047a300 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+0213 2020340a branch app_enter_hibernate 
+
+p_mouse_multi_led_type_blink:
+0214 6800cb12 fetch 1 ,mem_mouse_multi_led_blink_timer 
+0215 1fe0ffff increase -1 ,pdata 
+0216 6000cb12 store 1 ,mem_mouse_multi_led_blink_timer 
+0217 247a0000 nrtn blank 
+0218 6800cb13 fetch 1 ,mem_mouse_multi_led_blink_timer_init 
+0219 6000cb12 store 1 ,mem_mouse_multi_led_blink_timer 
+021a 6800cb15 fetch 1 ,mem_mouse_multi_led_blink_count_limited 
+021b 203a0220 branch p_mouse_multi_led_blink_count_no_limited ,blank 
+021c 6800cb14 fetch 1 ,mem_mouse_multi_led_blink_count 
+021d 203a0227 branch p_mouse_multi_led_blink_off ,blank 
+021e 1fe0ffff increase -1 ,pdata 
+021f 6000cb14 store 1 ,mem_mouse_multi_led_blink_count 
+
+p_mouse_multi_led_blink_count_no_limited:
+0220 6800cb0e fetch 1 ,mem_mouse_multi_led_state 
+0221 c000822b beq on ,p_mouse_multi_led_off 
+0222 c0000224 beq off ,p_mouse_multi_led_on 
+0223 20600000 rtn 
+
+p_mouse_multi_led_on:
+0224 704b0e01 jam on ,mem_mouse_multi_led_state 
+0225 6808cb0d fetcht 1 ,mem_mouse_multi_led_gpio 
+0226 20206829 branch gpio_out_active 
+
+p_mouse_multi_led_blink_off:
+0227 704b1700 jam 0 ,mem_mouse_ble_reconn_multi_led_blink_flag 
+0228 704b1200 jam 0 ,mem_mouse_multi_led_blink_timer 
+0229 704b1400 jam 0 ,mem_mouse_multi_led_blink_count 
+022a 704b1500 jam 0 ,mem_mouse_multi_led_blink_count_limited 
+
+p_mouse_multi_led_off:
+022b 6800cb14 fetch 1 ,mem_mouse_multi_led_blink_count 
+022c 243a022f nbranch p_mouse_multi_led_off_wait_blink_over ,blank 
+022d 704b0c00 jam 0 ,mem_mouse_multi_led_blink_enable 
+022e 704b0f00 jam 0 ,mem_mouse_multi_led_type 
+
+p_mouse_multi_led_off_wait_blink_over:
+022f 704b1000 jam 0 ,mem_mouse_multi_led_on_timer 
+0230 704b0e00 jam off ,mem_mouse_multi_led_state 
+
+p_mouse_multi_led_off2:
+0231 6808cb0d fetcht 1 ,mem_mouse_multi_led_gpio 
+0232 20206825 branch gpio_out_inactive 
+
+p_mouse_discovery_multi_led_blink:
+0233 704b1201 jam 1 ,mem_mouse_multi_led_blink_timer 
+0234 704b1305 jam 5 ,mem_mouse_multi_led_blink_timer_init 
+0235 704b1500 jam 0 ,mem_mouse_multi_led_blink_count_limited 
+0236 704b1401 jam 1 ,mem_mouse_multi_led_blink_count 
+
+p_mouse_multi_led_blink_enable:
+0237 704b0c01 jam on ,mem_mouse_multi_led_blink_enable 
+0238 704b0f01 jam multi_led_blink ,mem_mouse_multi_led_type 
+0239 20600000 rtn 
+
+p_mouse_discovey_led_blink_off:
+023a 6800cb17 fetch 1 ,mem_mouse_ble_reconn_multi_led_blink_flag 
+023b 247a0000 nrtn blank 
+023c 20200228 branch p_mouse_multi_led_blink_off + 1 
+
+p_mouse_dpi_multi_led_blink:
+023d 704b1201 jam 1 ,mem_mouse_multi_led_blink_timer 
+023e 704b1303 jam 3 ,mem_mouse_multi_led_blink_timer_init 
+023f 704b1501 jam 1 ,mem_mouse_multi_led_blink_count_limited 
+0240 20200237 branch p_mouse_multi_led_blink_enable 
+
+p_mouse_motion:
+0241 78547c00 disable user 
+0242 58000000 setarg 0 
+0243 6003469b store 6 ,mem_mouse_x 
+0244 20400282 call p_mouse_cheak_sensor_data 
+0245 20404079 call mouse_zwheel 
+0246 2040407e call mouse_t_zwheel 
+0247 20400249 call p_mouse_key 
+0248 20203f9f branch mouse_motion + 8 
+
+p_mouse_key:
+0249 2040024b call p_mouse_check_key_gpio 
+024a 2020409a branch mouse_key + 1 
+
+p_mouse_check_key_gpio:
+024b da200000 arg 0 ,rega 
+024c 20400256 call p_mouse_check_lkey_gpio 
+024d 2040025c call p_mouse_check_rkey_gpio 
+024e 20400262 call p_mouse_check_mkey_gpio 
+024f 20400252 call p_mouse_check_skey_gpio 
+0250 1a227e00 copy rega ,pdata 
+0251 20600000 rtn 
+
+p_mouse_check_skey_gpio:
+0252 6800c6e5 fetch 1 ,mem_bk_button_gpio 
+0253 c17f8000 rtneq gpio_disable 
+0254 20400268 call p_mouse_check_bk_key_gpio 
+0255 2020026e branch p_mouse_check_fw_key_gpio 
+
+p_mouse_check_lkey_gpio:
+0256 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0257 2040027d call p_gpio_set_input_pu 
+0258 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0259 2040681d call gpio_get_bit 
+025a 7920a200 setflag true ,0 ,rega 
+025b 20600000 rtn 
+
+p_mouse_check_rkey_gpio:
+025c 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+025d 2040027d call p_gpio_set_input_pu 
+025e 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+025f 2040681d call gpio_get_bit 
+0260 7920a201 setflag true ,1 ,rega 
+0261 20600000 rtn 
+
+p_mouse_check_mkey_gpio:
+0262 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+0263 2040027d call p_gpio_set_input_pu 
+0264 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+0265 2040681d call gpio_get_bit 
+0266 7920a202 setflag true ,2 ,rega 
+0267 20600000 rtn 
+
+p_mouse_check_bk_key_gpio:
+0268 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+0269 20400274 call p_gpio_set_input_pd 
+026a 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+026b 2040681d call gpio_get_bit 
+026c 7d20a203 nsetflag true ,3 ,rega 
+026d 2020027d branch p_gpio_set_input_pu 
+
+p_mouse_check_fw_key_gpio:
+026e 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+026f 20400274 call p_gpio_set_input_pd 
+0270 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+0271 2040681d call gpio_get_bit 
+0272 7d20a204 nsetflag true ,4 ,rega 
+0273 2020027d branch p_gpio_set_input_pu 
+
+p_gpio_set_input_pd:
+0274 793f8407 set0 gpio_active_bit ,temp 
+0275 d8a08078 arg core_gpio_pu0 ,contw 
+0276 20406830 call gpio_set_bit 
+0277 79200407 set1 gpio_active_bit ,temp 
+0278 d8a0807c arg core_gpio_pd0 ,contw 
+0279 20406830 call gpio_set_bit 
+027a 793f8407 set0 gpio_active_bit ,temp 
+027b d8a08070 arg core_gpio_oe0 ,contw 
+027c 20206830 branch gpio_set_bit 
+
+p_gpio_set_input_pu:
+027d 79200407 set1 gpio_active_bit ,temp 
+027e d8a08078 arg core_gpio_pu0 ,contw 
+027f 20406830 call gpio_set_bit 
+0280 793f8407 set0 gpio_active_bit ,temp 
+0281 20200278 branch p_gpio_set_input_pd + 4 
+
+p_mouse_cheak_sensor_data:
+0282 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+0283 c1800000 rtnne flash_sm_no_buys 
+0284 6800c6e0 fetch 1 ,mem_config_sensor_type 
+0285 c000028d beq p3205 ,p_mouse_p32xx_sensor_motion 
+0286 c000828d beq p3065 ,p_mouse_p32xx_sensor_motion 
+0287 c001028d beq ka8 ,p_mouse_p32xx_sensor_motion 
+0288 c001828d beq p3204 ,p_mouse_p32xx_sensor_motion 
+0289 c0020295 beq p3212 ,p_mouse_p3212_sensor_motion 
+028a c002c010 beq p3610 ,mouse_p3610_sensor_motion 
+028b c003028d beq p3065_xy ,p_mouse_p32xx_sensor_motion 
+028c 2020028d branch p_mouse_p32xx_sensor_motion 
+
+p_mouse_p32xx_sensor_motion:
+028d 20403fc0 call mouse_clear_sensor_data 
+028e 78547c00 disable user 
+028f 6800c6f5 fetch 1 ,mem_config_function_enable 
+0290 c303bfe7 bbit0 enable_sensor_motion_pin ,mouse_p32xx_sensor_motion_2 
+0291 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+0292 2040681d call gpio_get_bit 
+0293 24608000 nrtn true 
+0294 20203fe7 branch mouse_p32xx_sensor_motion_2 
+
+p_mouse_p3212_sensor_motion:
+0295 20403fc0 call mouse_clear_sensor_data 
+0296 6800c6f5 fetch 1 ,mem_config_function_enable 
+0297 c303bfc8 bbit0 enable_sensor_motion_pin ,mouse_p3212_sensor_motion_1 
+0298 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+0299 2040681d call gpio_get_bit 
+029a 24608000 nrtn true 
+029b 20203fc8 branch mouse_p3212_sensor_motion_1 
+
+p_mouse_seting_dpi:
+029c 2040424a call mosue_dpi_led_blink_init 
+029d 6800c6e0 fetch 1 ,mem_config_sensor_type 
+029e c002bdaa beq p3610 ,mouse_seting_3610_dpi 
+029f c00202dd beq p3212 ,p_mouse_seting_3212_dpi 
+02a0 c00302c6 beq p3065_xy ,p_mouse_seting_3065xy_dpi 
+02a1 c00382b6 beq mx8650 ,p_mouse_seting_8650xy_dpi 
+02a2 20203d81 branch mouse_seting_dpi + 3 
+
+p_mouse_seting_3205_dpi:
+02a3 6800c77a fetch 1 ,mem_mouse_dpi 
+02a4 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+02a5 204282ac call p_mouse_3205_dpi_recount ,zero 
+02a6 6800c77a fetch 1 ,mem_mouse_dpi 
+02a7 c00002ae beq mouse_dpi_level1 ,p_mouse_set_cpi1 
+02a8 c00082b0 beq mouse_dpi_level2 ,p_mouse_set_cpi2 
+02a9 c00102b2 beq mouse_dpi_level3 ,p_mouse_set_cpi3 
+02aa c00182b4 beq mouse_dpi_level4 ,p_mouse_set_cpi4 
+02ab 202002b2 branch p_mouse_set_cpi3 
+
+p_mouse_3205_dpi_recount:
+02ac 70477a02 jam mouse_dpi_level3 ,mem_mouse_dpi 
+02ad 20600000 rtn 
+
+p_mouse_set_cpi1:
+02ae 70488001 jam 1 ,mem_mouse_dpi_blink_count 
+02af 20203d8a branch mouse_set_cpi1 
+
+p_mouse_set_cpi2:
+02b0 70488001 jam 1 ,mem_mouse_dpi_blink_count 
+02b1 20203d8a branch mouse_set_cpi1 
+
+p_mouse_set_cpi3:
+02b2 70488002 jam 2 ,mem_mouse_dpi_blink_count 
+02b3 20203d8c branch mouse_set_cpi3 
+
+p_mouse_set_cpi4:
+02b4 70488003 jam 3 ,mem_mouse_dpi_blink_count 
+02b5 20203d8e branch mouse_set_cpi4 
+
+p_mouse_seting_8650xy_dpi:
+02b6 6800c77a fetch 1 ,mem_mouse_dpi 
+02b7 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+02b8 204282cf call p_mouse_3065xy_dpi_recount ,zero 
+02b9 6800c77a fetch 1 ,mem_mouse_dpi 
+02ba c00002d5 beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi2 
+02bb c00102d7 beq mouse_dpi_level3 ,p_mouse_3065xy_set_cpi3 
+02bc c00182da beq mouse_dpi_level4 ,p_mouse_3065xy_set_cpi4 
+02bd 202002d7 branch p_mouse_3065xy_set_cpi3 
+
+p_mouse_8650xy_dpi_recount:
+02be 70477a02 jam mouse_dpi_level3 ,mem_mouse_dpi 
+02bf 20600000 rtn 
+
+p_mouse_8650xy_set_cpi1:
+02c0 6800c78f fetch 1 ,mem_3065xy_dpi_4 
+02c1 20203dbe branch mouse_p3205_dpi 
+
+p_mouse_8650xy_set_cpi3:
+02c2 6800c78d fetch 1 ,mem_3065xy_dpi_2 
+02c3 20203dbe branch mouse_p3205_dpi 
+
+p_mouse_8650xy_set_cpi4:
+02c4 6800c78e fetch 1 ,mem_3065xy_dpi_3 
+02c5 20203dbe branch mouse_p3205_dpi 
+
+p_mouse_seting_3065xy_dpi:
+02c6 6800c77a fetch 1 ,mem_mouse_dpi 
+02c7 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+02c8 204282cf call p_mouse_3065xy_dpi_recount ,zero 
+02c9 6800c77a fetch 1 ,mem_mouse_dpi 
+02ca c00002d1 beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi1 
+02cb c00082d5 beq mouse_dpi_level2 ,p_mouse_3065xy_set_cpi2 
+02cc c00102d7 beq mouse_dpi_level3 ,p_mouse_3065xy_set_cpi3 
+02cd c00182da beq mouse_dpi_level4 ,p_mouse_3065xy_set_cpi4 
+02ce 202002d7 branch p_mouse_3065xy_set_cpi3 
+
+p_mouse_3065xy_dpi_recount:
+02cf 70477a02 jam mouse_dpi_level3 ,mem_mouse_dpi 
+02d0 20600000 rtn 
+
+p_mouse_3065xy_set_cpi1:
+02d1 70488001 jam 1 ,mem_mouse_dpi_blink_count 
+02d2 6800c77f fetch 1 ,mem_320x_dpi_1 
+02d3 1fe0ffff increase -1 ,pdata 
+02d4 20203dbe branch mouse_p3205_dpi 
+
+p_mouse_3065xy_set_cpi2:
+02d5 6800c78d fetch 1 ,mem_3065xy_dpi_2 
+02d6 20203dbe branch mouse_p3205_dpi 
+
+p_mouse_3065xy_set_cpi3:
+02d7 70488002 jam 2 ,mem_mouse_dpi_blink_count 
+02d8 6800c78e fetch 1 ,mem_3065xy_dpi_3 
+02d9 20203dbe branch mouse_p3205_dpi 
+
+p_mouse_3065xy_set_cpi4:
+02da 70488003 jam 3 ,mem_mouse_dpi_blink_count 
+02db 6800c78f fetch 1 ,mem_3065xy_dpi_4 
+02dc 20203dbe branch mouse_p3205_dpi 
+
+p_mouse_seting_3212_dpi:
+02dd 6800c77a fetch 1 ,mem_mouse_dpi 
+02de 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+02df 204282ac call p_mouse_3205_dpi_recount ,zero 
+02e0 6800c77a fetch 1 ,mem_mouse_dpi 
+02e1 c0003d9d beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+02e2 c000bd9b beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+02e3 c0013d9f beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
+02e4 c001bda1 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+02e5 20203d9f branch mouse_set_p3212_cpi3 
+
+p_mouse_bb_event_discovery_btn:
+02e6 7047a300 jam 0 ,mem_mouse_null_enter_hibernate_flag 
+02e7 7047a400 jam 0 ,mem_mouse_null_enter_hibernate_timer 
+02e8 c51302ea bmark1 mark_24g ,p_mouse_switch_to_bt 
+02e9 2020426d branch mouse_bb_event_discovery_btn + 1 
+
+p_mouse_switch_to_bt:
+02ea 204004cc call p_g24_check_51cmd_stop_24g 
+02eb 2020426d branch mouse_bb_event_discovery_btn + 1 
+
+p_le_addr_random_config:
+02ec 204068a2 call load_adc_init 
+02ed 6801421d fetch 2 ,mem_0_5_adc_io_data 
+02ee 203a02f1 branch p_le_otp_adc_empty ,blank 
+02ef 600147c8 store 2 ,mem_random_addr_increase_count 
+
+p_le_addr_random_store:
+02f0 20200310 branch p_mouse_store_eerpom_random_addr_increase_count 
+
+p_le_otp_adc_empty:
+02f1 58001122 setarg 0x1122 
+02f2 600147c8 store 2 ,mem_random_addr_increase_count 
+02f3 202002f0 branch p_le_addr_random_store 
+
+p_mouse_start_discovery:
+02f4 204001ad call p_mouse_tx_power_init 
+02f5 7047a200 jam 0 ,mem_mouse_clear_sensor_data_flag 
+02f6 68014682 fetch 2 ,mem_ui_state_map 
+02f7 c2858302 bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
+02f8 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+02f9 c30c0302 bbit0 mouse_enable_ble_random_addre ,p_mouse_start_discovery_norandom 
+02fa 20400314 call p_mouse_load_eeprom_random_addr_increase_count 
+02fb 680947c8 fetcht 2 ,mem_random_addr_increase_count 
+02fc 18408401 increase 1 ,temp 
+02fd 600947c8 storet 2 ,mem_random_addr_increase_count 
+02fe 600944a1 storet 2 ,mem_le_lap + 1 
+02ff 20400310 call p_mouse_store_eerpom_random_addr_increase_count 
+0300 180a7e00 random pdata 
+0301 6000c4a0 store 1 ,mem_le_lap 
+
+p_mouse_start_discovery_norandom:
+0302 20403418 call app_lpm_mult_disable 
+0303 68014687 fetch 2 ,mem_discovery_timeout 
+0304 600146ac store 2 ,mem_mouse_discovery_timer 
+0305 70016d06 jam 6 ,mem_connection_options 
+0306 58000000 setarg 0 
+0307 600146b0 store 2 ,mem_mouse_no_data_timer 
+0308 600146ae store 2 ,mem_mouse_direct_timer 
+0309 d8e00007 arg mouse_store_eeprom_flag ,queue 
+030a 204043ce call mouse_enable_function_flag 
+030b 204043ca call mouse_bt_discovery_button_down_disable 
+030c 6800c092 fetch 1 ,mem_device_option 
+030d 2feffe01 isolate1 mode_4_mouse ,pdata 
+030e 20408318 call p_check_51cmd_adv ,true 
+030f 202042c4 branch mouse_start_discovery_norandom + 13 
+
+p_mouse_store_eerpom_random_addr_increase_count:
+0310 d8400002 arg 2 ,temp 
+0311 da2047c8 arg mem_random_addr_increase_count ,rega 
+0312 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+0313 202065d1 branch iicd_write_protect_eep_data 
+
+p_mouse_load_eeprom_random_addr_increase_count:
+0314 d8400002 arg 2 ,temp 
+0315 da2047c8 arg mem_random_addr_increase_count ,rega 
+0316 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
+0317 202065df branch iicd_read_eep_data 
+
+p_check_51cmd_adv:
+0318 7047a500 jam 0 ,mem_mouse_le_reconnect_flag 
+0319 204000e6 call p_le_check_adv_flag 
+031a 58000005 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable 
+031b e0c08000 istore 1 ,contr 
+031c 20207df4 branch check_51cmd_adv 
+
+p_mouse_stop_discovery:
+031d 58000000 setarg 0 
+031e 600146ac store 2 ,mem_mouse_discovery_timer 
+031f 20400110 call p_mouse_sensor_poweron 
+0320 202042cb branch mouse_stop_discovery + 1 
+
+p_twspi_reset:
+0321 68108077 hfetch 1 ,core_gpio_out3 
+0322 1fe17efd and_into 0xfd ,pdata 
+0323 60108077 hstore 1 ,core_gpio_out3 
+0324 68188073 hfetcht 1 ,core_gpio_oe3 
+0325 18418402 or_into 0x2 ,temp 
+0326 60188073 hstoret 1 ,core_gpio_oe3 
+0327 204063ee call twspi_disable 
+0328 184104fd and_into 0xfd ,temp 
+0329 2000000d nop 13 
+032a 204063f2 call twspi_enable 
+032b 60188073 hstoret 1 ,core_gpio_oe3 
+032c 20600000 rtn 
+
+p_g24_set_device_addr:
+032d 204068a8 call adc_init_data 
+032e 680240a0 fetch 4 ,mem_lap 
+032f 60024bde store 4 ,mem_24g_device_addr 
+0330 20600000 rtn 
+
+p_g24_transmit_rf_sta_init:
+0331 704cdd01 jam 1 ,mem_24g_rf_last_sta 
+0332 704cdf00 jam 0 ,mem_24g_sync_cnt 
+
+p_g24_transmit_rf_ctrl_clear:
+0333 6800cba8 fetch 1 ,mem_24g_data_type 
+0334 1fe17e07 and_into bits_data ,pdata 
+0335 6000cba8 store 1 ,mem_24g_data_type 
+0336 20600000 rtn 
+
+p_g24_hop_ch_enable:
+0337 6800cba8 fetch 1 ,mem_24g_data_type 
+0338 79207e04 set1 bit_hop ,pdata 
+0339 6000cba8 store 1 ,mem_24g_data_type 
+033a 6000cb63 store 1 ,mem_24g_txpayload 
+033b 20600000 rtn 
+
+p_g24_hop_ch_disable:
+033c 6800cba8 fetch 1 ,mem_24g_data_type 
+033d 793ffe04 set0 bit_hop ,pdata 
+033e 6000cba8 store 1 ,mem_24g_data_type 
+033f 20600000 rtn 
+
+p_g24_transmit_hop_pac_fail:
+0340 20400408 call power_ctrl_pac_succ_decrs 
+0341 6800ccde fetch 1 ,mem_24g_rf_work_stage 
+0342 c0008345 beq 1 ,p_g24_transmit_hop_pac_fail_wo_hop 
+0343 c0010349 beq 2 ,p_g24_transmit_hop_pac_fail_hop_stage2 
+0344 20600000 rtn 
+
+p_g24_transmit_hop_pac_fail_wo_hop:
+0345 704cdf02 jam 2 ,mem_24g_sync_cnt 
+
+p_g24_transmit_hop_pac_fail_stage1:
+0346 704cdb00 jam 0 ,mem_24g_hop_pac_retry 
+0347 704cdd00 jam 0 ,mem_24g_rf_last_sta 
+0348 20200333 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_hop_pac_fail_hop_stage2:
+0349 704cdc00 jam 0 ,mem_24g_rf_hop_ch 
+034a 20200346 branch p_g24_transmit_hop_pac_fail_stage1 
+
+p_g24_transmit_pac_fail_hop_stage3:
+034b 68014bad fetch 2 ,mem_24g_txfail_cnt 
+034c 1fe0fe01 increase 1 ,pdata 
+034d 60014bad store 2 ,mem_24g_txfail_cnt 
+034e c28503f6 bbit1 10 ,p_g24_tx_attempt_fail 
+034f 6800ccdc fetch 1 ,mem_24g_rf_hop_ch 
+0350 c0008354 beq 1 ,p_g24_rf_hop_fastly 
+0351 704cdc01 jam 1 ,mem_24g_rf_hop_ch 
+
+p_g24_rf_hop_attemp_again:
+0352 6800ccdc fetch 1 ,mem_24g_rf_hop_ch 
+0353 c0808333 bne 1 ,p_g24_transmit_rf_ctrl_clear 
+
+p_g24_rf_hop_fastly:
+0354 6800ccda fetch 1 ,mem_24g_hop_fastly_cnt 
+0355 1fe0fe01 increase 1 ,pdata 
+0356 6000ccda store 1 ,mem_24g_hop_fastly_cnt 
+0357 c002035b beq 4 ,p_g24_rf_hop_fastly_exit 
+0358 20400578 call p_g24_ch 
+0359 704bec02 jam 2 ,mem_24g_max_retry 
+035a 202003b3 branch p_g24_transmit_packet 
+
+p_g24_rf_hop_fastly_exit:
+035b 20400408 call power_ctrl_pac_succ_decrs 
+035c 704cda00 jam 0 ,mem_24g_hop_fastly_cnt 
+035d 20200333 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+035e 704cdf02 jam 2 ,mem_24g_sync_cnt 
+
+p_g24_transmit_hop_pac_succ:
+035f 704cdd01 jam 1 ,mem_24g_rf_last_sta 
+0360 704cdc00 jam 0 ,mem_24g_rf_hop_ch 
+0361 20200333 branch p_g24_transmit_rf_ctrl_clear 
+
+p_g24_transmit_succ_rf_config:
+0362 6800ccde fetch 1 ,mem_24g_rf_work_stage 
+0363 c001835f beq 3 ,p_g24_transmit_hop_pac_succ 
+0364 6800cba8 fetch 1 ,mem_24g_data_type 
+0365 2fec0004 isolate0 bit_hop ,pdata 
+0366 20208331 branch p_g24_transmit_rf_sta_init ,true 
+0367 6800ccde fetch 1 ,mem_24g_rf_work_stage 
+0368 c000835e beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+0369 c001035f beq 2 ,p_g24_transmit_hop_pac_succ 
+036a 20600000 rtn 
+
+p_g24_rf_sta_check:
+036b 6800cbb7 fetch 1 ,mem_24g_pairing_sm 
+036c c1ff8000 rtnne state_24g_pairing_success 
+036d 20400370 call p_g24_rf_laststa_synccnt_check 
+036e 24560378 ncall p_g24_rf_sync_cnt_check ,user2 
+036f 20600000 rtn 
+
+p_g24_rf_laststa_synccnt_check:
+0370 78567c00 disable user2 
+0371 6800ccdd fetch 1 ,mem_24g_rf_last_sta 
+0372 c1808000 rtnne 1 
+0373 6800ccdf fetch 1 ,mem_24g_sync_cnt 
+0374 c1800000 rtnne 0 
+0375 704cde01 jam 1 ,mem_24g_rf_work_stage 
+0376 704bec04 jam 4 ,mem_24g_max_retry 
+0377 20207feb branch enable_user2 
+
+p_g24_rf_sync_cnt_check:
+0378 6800ccdf fetch 1 ,mem_24g_sync_cnt 
+0379 203a0380 branch p_g24_rf_hop_attemp ,blank 
+037a 1fe0ffff increase -1 ,pdata 
+037b 6000ccdf store 1 ,mem_24g_sync_cnt 
+037c 704cde02 jam 2 ,mem_24g_rf_work_stage 
+037d 20400578 call p_g24_ch 
+037e 704bec04 jam 4 ,mem_24g_max_retry 
+037f 20600000 rtn 
+
+p_g24_rf_hop_attemp:
+0380 704cde03 jam 3 ,mem_24g_rf_work_stage 
+0381 6800ccdc fetch 1 ,mem_24g_rf_hop_ch 
+0382 243a0352 nbranch p_g24_rf_hop_attemp_again ,blank 
+0383 20400578 call p_g24_ch 
+0384 704bec02 jam 2 ,mem_24g_max_retry 
+0385 20600000 rtn 
+
+p_g24_txdata_prep:
+0386 6800cbb7 fetch 1 ,mem_24g_pairing_sm 
+0387 c0ff844f bne state_24g_pairing_success ,p_g24_pairing_sm 
+
+p_g24_txdata_prep_packeage_data:
+0388 2040038c call p_g24_package_data 
+0389 20400566 call p_g24_transmit_prep 
+
+p_g24_txdata_enable_tx:
+038a 704bac01 jam ensure_on_24g ,mem_24g_ensure 
+038b 20600000 rtn 
+
+p_g24_package_data:
+038c 68014cd8 fetch 2 ,mem_cb_24g_data 
+038d 20407f9c call callback_func 
+038e 20340392 branch p_g24_accumulate_mouse_data ,user 
+038f 6803cb44 fetch 7 ,mem_24g_txbuf + 1 
+0390 207a0000 rtn blank 
+0391 20207fe7 branch enable_user 
+
+p_g24_accumulate_mouse_data:
+0392 204003ab call p_mouse_data_xy_release 
+0393 704bd300 jam 0 ,mem_24g_abort_pac 
+0394 1a20fe01 add rega ,1 ,pdata 
+0395 6000cba7 store 1 ,mem_24g_datalen 
+0396 20400333 call p_g24_transmit_rf_ctrl_clear 
+0397 6000cb43 store 1 ,mem_24g_txbuf 
+0398 e8a88000 ifetcht 1 ,contw 
+0399 ea408000 ifetch 1 ,regb 
+039a 9841fe00 ior temp ,pdata 
+039b e0a08000 istore 1 ,contw 
+039c 1a40a401 increase 1 ,regb 
+039d df200002 arg 2 ,loopcnt 
+
+p_g24_accumulation_loop:
+039e ea410000 ifetch 2 ,regb 
+039f e0a10000 istore 2 ,contw 
+03a0 1a40a402 increase 2 ,regb 
+03a1 c200039e loop p_g24_accumulation_loop 
+03a2 d8a04b49 arg mem_24g_txbuf + 6 ,contw 
+03a3 df200002 arg 2 ,loopcnt 
+
+p_g24_accumulation_loop2:
+03a4 ea408000 ifetch 1 ,regb 
+03a5 e8a88000 ifetcht 1 ,contw 
+03a6 9840fe00 iadd temp ,pdata 
+03a7 e0a08000 istore 1 ,contw 
+03a8 1a40a401 increase 1 ,regb 
+03a9 c20003a4 loop p_g24_accumulation_loop2 
+03aa 20600000 rtn 
+
+p_mouse_data_xy_release:
+03ab 6800c6f5 fetch 1 ,mem_config_function_enable 
+03ac c3838000 rtnbit1 enable_sensor_motion_pin 
+03ad 6800c80e fetch 1 ,mem_mouse_long_mult_flag 
+03ae c1808000 rtnne 1 
+03af 58000000 setarg 0 
+03b0 6000c80e store 1 ,mem_mouse_long_mult_flag 
+03b1 6002469b store 4 ,mem_mouse_x 
+03b2 20200110 branch p_mouse_sensor_poweron 
+
+p_g24_transmit_packet:
+03b3 704bb000 jam 0 ,mem_24g_retry 
+
+p_g24_transmit_loop:
+03b4 d9600d00 arg param_rx_setup ,timeup 
+03b5 34730200 until clkn_rt ,meet 
+03b6 204003cf call p_g24_transmit_receive_ack 
+03b7 6800cbe3 fetch 1 ,mem_24g_no_ack 
+03b8 c1008000 rtneq no_ack_24g 
+03b9 242c03de nbranch p_g24_retransmit ,sync 
+03ba 243783de nbranch p_g24_retransmit ,user3 
+03bb 204003ca call p_g24_txbuf_clear 
+03bc 204003fa call p_g24_ackpayload_parse 
+03bd 20400404 call power_ctrl_pac_succ_incrs 
+
+p_g24_transmit_next_packet:
+03be 6800cba6 fetch 1 ,mem_24g_pid 
+03bf 1fe0fe01 increase 1 ,pdata 
+03c0 6000cba6 store 1 ,mem_24g_pid 
+03c1 6800cbb7 fetch 1 ,mem_24g_pairing_sm 
+03c2 c0ff83cd bne state_24g_pairing_success ,p_g24_paring_mode_start 
+03c3 20400362 call p_g24_transmit_succ_rf_config 
+
+p_g24_transmit_abandon:
+03c4 58000000 setarg 0 
+03c5 60014bad store 2 ,mem_24g_txfail_cnt 
+03c6 6000cbaf store 1 ,mem_24g_get_ack_fail 
+03c7 6000ccdb store 1 ,mem_24g_hop_pac_retry 
+03c8 704bac00 jam ensure_off_24g ,mem_24g_ensure 
+03c9 20600000 rtn 
+
+p_g24_txbuf_clear:
+03ca df200004 arg 4 ,loopcnt 
+03cb d8a04b43 arg mem_24g_txbuf ,contw 
+03cc 20207ec6 branch memset0 
+
+p_g24_paring_mode_start:
+03cd 20400401 call power_ctrl_pac_succ_cnt_init 
+03ce 2020046a branch p_g24_paring_mode 
+
+p_g24_transmit_receive_ack:
+03cf 7857fc00 disable user3 
+03d0 204005e0 call p_g24_transmit 
+03d1 6800cbe3 fetch 1 ,mem_24g_no_ack 
+03d2 c00083dc beq no_ack_24g ,p_g24_transmit_no_ack 
+03d3 18002a00 force 0 ,radio_ctrl 
+03d4 68024bcf fetch 4 ,mem_24g_addr 
+03d5 98001200 iforce access 
+03d6 68088017 fetcht 1 ,mem_last_freq 
+03d7 2040291f call set_freq_rx 
+03d8 20402924 call rf_rx_enable 
+03d9 2040059b call p_g24_receive_rxon 
+03da 205785d8 call p_g24_end_of_packet ,user3 
+03db 20600000 rtn 
+
+p_g24_transmit_no_ack:
+03dc 204005d8 call p_g24_end_of_packet 
+03dd 202003be branch p_g24_transmit_next_packet 
+
+p_g24_retransmit:
+03de 6800cbaf fetch 1 ,mem_24g_get_ack_fail 
+03df 1fe0fe01 increase 1 ,pdata 
+03e0 6000cbaf store 1 ,mem_24g_get_ack_fail 
+03e1 6800cbb7 fetch 1 ,mem_24g_pairing_sm 
+03e2 c0ff83f2 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+03e3 6808cbb0 fetcht 1 ,mem_24g_retry 
+03e4 18408401 increase 1 ,temp 
+03e5 6008cbb0 storet 1 ,mem_24g_retry 
+03e6 6800cbec fetch 1 ,mem_24g_max_retry 
+03e7 98467e00 isub temp ,pdata 
+03e8 243a03b4 nbranch p_g24_transmit_loop ,blank 
+03e9 6800ccde fetch 1 ,mem_24g_rf_work_stage 
+03ea c001834b beq 3 ,p_g24_transmit_pac_fail_hop_stage3 
+03eb 6800ccdb fetch 1 ,mem_24g_hop_pac_retry 
+03ec 1fe0fe01 increase 1 ,pdata 
+03ed 6000ccdb store 1 ,mem_24g_hop_pac_retry 
+03ee c0010340 beq 2 ,p_g24_transmit_hop_pac_fail 
+03ef 20400337 call p_g24_hop_ch_enable 
+03f0 704bec01 jam 1 ,mem_24g_max_retry 
+03f1 202003b3 branch p_g24_transmit_packet 
+
+p_g24_tx_paring_retry:
+03f2 6800cbaf fetch 1 ,mem_24g_get_ack_fail 
+03f3 c1ff8000 rtnne 0xff 
+03f4 704baf00 jam 0 ,mem_24g_get_ack_fail 
+03f5 202003f8 branch p_g24_stop_g24_mode 
+
+p_g24_tx_attempt_fail:
+03f6 58000000 setarg 0 
+03f7 60014bad store 2 ,mem_24g_txfail_cnt 
+
+p_g24_stop_g24_mode:
+03f8 700a993a jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+03f9 20207d86 branch ui_ipc_send_event 
+
+p_g24_ackpayload_parse:
+03fa 204004d5 call p_g24_read_len_pid_crc 
+03fb 6800cba5 fetch 1 ,mem_24g_rxdata_length 
+03fc 207a0000 rtn blank 
+03fd 98007200 iforce loopcnt 
+03fe d8c04b23 arg mem_24g_rxbuf + 2 ,contr 
+03ff d8a04b85 arg mem_24g_rxpayload ,contw 
+0400 20207f01 branch memcpy 
+
+power_ctrl_pac_succ_cnt_init:
+0401 704ce301 jam 1 ,mem_power_ctrl_level 
+0402 704ce000 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0403 20600000 rtn 
+
+power_ctrl_pac_succ_incrs:
+0404 6800cce0 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0405 1fe0fe01 increase 1 ,pdata 
+0406 6000cce0 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0407 20600000 rtn 
+
+power_ctrl_pac_succ_decrs:
+0408 6800cce0 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0409 1fe67c02 sub pdata ,2 ,null 
+040a 24410410 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+040b 6800cce0 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+040c c1000000 rtneq 0 
+040d 1fe0ffff increase -1 ,pdata 
+040e 6000cce0 store 1 ,mem_power_ctrl_pac_succ_cnt 
+040f 20600000 rtn 
+
+power_ctrl_pac_succ_cnt_reinit:
+0410 704ce003 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+0411 20600000 rtn 
+
+power_ctrl_start:
+0412 68014682 fetch 2 ,mem_ui_state_map 
+0413 c3858000 rtnbit1 ui_state_ble_adv 
+0414 c3838000 rtnbit1 ui_state_bt_reconnect 
+0415 c3830000 rtnbit1 ui_state_bt_discovery 
+0416 da204c69 arg mem_rssi_signal_buf ,rega 
+0417 20400547 call p_rssi_average 
+0418 6008cce1 storet 1 ,mem_rssi_avg_received 
+0419 280ffe26 isolate1 mark_24g ,mark 
+041a 20408424 call power_ctrl_24g_dis_max ,true 
+041b 24408428 ncall power_ctrl_le_dis_max ,true 
+041c 98467c00 isub temp ,null 
+041d 2421043c nbranch power_ctrl_txpower_incrs_force ,positive 
+041e 6800cce0 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+041f 1fe67c02 sub pdata ,2 ,null 
+0420 2421042c nbranch power_ctrl_txpower_decrs_check ,positive 
+0421 6800cce0 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0422 c000043d beq 0 ,power_ctrl_txpower_incrs 
+0423 20600000 rtn 
+
+power_ctrl_24g_dis_max:
+0424 58000082 setarg rssi_dis_max_24g 
+0425 20600000 rtn 
+
+power_ctrl_24g_dis_min:
+0426 58000077 setarg rssi_dis_min_24g 
+0427 20600000 rtn 
+
+power_ctrl_le_dis_max:
+0428 58000080 setarg rssi_dis_max_ble 
+0429 20600000 rtn 
+
+power_ctrl_le_dis_min:
+042a 58000075 setarg rssi_dis_min_ble 
+042b 20600000 rtn 
+
+power_ctrl_txpower_decrs_check:
+042c 6800cce0 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+042d c1900000 rtnne 32 
+042e 704ce000 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+power_ctrl_txpower_decrs:
+042f 6808cce1 fetcht 1 ,mem_rssi_avg_received 
+0430 280ffe26 isolate1 mark_24g ,mark 
+0431 20408426 call power_ctrl_24g_dis_min ,true 
+0432 2440842a ncall power_ctrl_le_dis_min ,true 
+0433 98467c00 isub temp ,null 
+0434 24610000 nrtn positive 
+0435 6800cce3 fetch 1 ,mem_power_ctrl_level 
+0436 c0000444 beq 0 ,power_ctrl_decrs_level0 
+0437 1fe0ffff increase -1 ,pdata 
+0438 6000cce3 store 1 ,mem_power_ctrl_level 
+0439 c0000444 beq 0 ,power_ctrl_decrs_level0 
+
+power_ctrl_decrs_level1:
+
+power_ctrl_incrs_level1:
+043a 7041de00 jam tx_power_0db ,mem_tx_power 
+043b 20600000 rtn 
+
+power_ctrl_txpower_incrs_force:
+043c 704ce000 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+
+power_ctrl_txpower_incrs:
+043d 6800cce3 fetch 1 ,mem_power_ctrl_level 
+043e c0010442 beq 2 ,power_ctrl_incrs_level2 
+043f 1fe0fe01 increase 1 ,pdata 
+0440 6000cce3 store 1 ,mem_power_ctrl_level 
+0441 c000843a beq 1 ,power_ctrl_incrs_level1 
+
+power_ctrl_incrs_level2:
+0442 7041de02 jam tx_power_5db ,mem_tx_power 
+0443 20600000 rtn 
+
+power_ctrl_decrs_level0:
+0444 7041de04 jam tx_power_f5db ,mem_tx_power 
+0445 20600000 rtn 
+
+p_g24_start_pairing_sm1:
+0446 79200026 set1 mark_24g ,mark 
+0447 2040044a call p_g24_pair_init 
+
+p_g24_set_pairing_sm_1:
+0448 704bb701 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+0449 20600000 rtn 
+
+p_g24_pair_init:
+044a 7041de20 jam tx_power_pair ,mem_tx_power 
+044b 704ba600 jam 0 ,mem_24g_pid 
+044c 704bb14e jam g24_pair_ch ,mem_24g_ch 
+044d 68024bb3 fetch 4 ,mem_24g_paring_addr 
+044e 20200558 branch p_g24_update_addr_and_synccrc8 
+
+p_g24_pairing_sm:
+044f 6800cbac fetch 1 ,mem_24g_ensure 
+0450 c000ffe7 beq ensure_on_24g ,enable_user 
+0451 6800cbb7 fetch 1 ,mem_24g_pairing_sm 
+0452 c0008456 beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+0453 c0010459 beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+0454 c001845c beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+0455 20202a8c branch assert 
+
+p_g24_pairing_sm_1:
+0456 704bb711 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+0457 70119eaa jam 0xaa ,mem_24g_common_temp 
+0458 2020045e branch p_g24_pairing_sm_common 
+
+p_g24_pairing_sm_2:
+0459 704bb712 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+045a 70119e55 jam 0x55 ,mem_24g_common_temp 
+045b 2020045e branch p_g24_pairing_sm_common 
+
+p_g24_pairing_sm_3:
+045c 704bb713 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+045d 70119e22 jam 0x22 ,mem_24g_common_temp 
+
+p_g24_pairing_sm_common:
+045e 6800cba8 fetch 1 ,mem_24g_data_type 
+045f 1fe17e07 and_into bits_data ,pdata 
+0460 6000919f store 1 ,mem_24g_common_temp + 1 
+0461 68024bde fetch 4 ,mem_24g_device_addr 
+0462 600211a0 store 4 ,mem_24g_common_temp + 2 
+
+p_g24_put_pairing_data_in_buff:
+0463 7011a400 jam 0 ,mem_24g_common_temp + 6 
+0464 da20119e arg mem_24g_common_temp ,rega 
+0465 d8400007 arg 7 ,temp 
+0466 204004d0 call p_g24_put_data_in_buff 
+0467 20400566 call p_g24_transmit_prep 
+0468 2040038a call p_g24_txdata_enable_tx 
+0469 20207fe7 branch enable_user 
+
+p_g24_paring_mode:
+046a 6800cbb7 fetch 1 ,mem_24g_pairing_sm 
+046b c17f8000 rtneq state_24g_pairing_success 
+046c c0088470 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+046d c0090472 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+046e c0098474 beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+046f 20600000 rtn 
+
+p_g24_pairing_sm_1_waiting_ack:
+0470 704bb702 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+0471 202003c4 branch p_g24_transmit_abandon 
+
+p_g24_pairing_sm_2_waiting_ack:
+0472 704bb703 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+0473 202003c4 branch p_g24_transmit_abandon 
+
+p_g24_pairing_sm_3_waiting_ack:
+0474 704bb7ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
+0475 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+0476 20407d86 call ui_ipc_send_event 
+0477 68024b87 fetch 4 ,mem_24g_rxpayload + 2 
+0478 20400558 call p_g24_update_addr_and_synccrc8 
+0479 202003c4 branch p_g24_transmit_abandon 
+
+p_g24_tx_attemp_dongle_succ:
+047a 79200026 set1 mark_24g ,mark 
+047b 58000000 setarg 0 
+047c 60014bd4 store 2 ,mem_24g_check_dongle_times 
+047d 70480e00 jam 0 ,mem_mouse_long_mult_flag 
+047e 700a993c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+047f 20407d86 call ui_ipc_send_event 
+0480 204003ca call p_g24_txbuf_clear 
+0481 2020006f branch p_g24_transmit_by_interrupt_enable 
+
+p_g24_tx_attemp_data_prep:
+0482 70119eff jam 0xff ,mem_24g_common_temp 
+0483 6800cba8 fetch 1 ,mem_24g_data_type 
+0484 6000919f store 1 ,mem_24g_common_temp + 1 
+0485 68024bde fetch 4 ,mem_24g_device_addr 
+0486 600211a0 store 4 ,mem_24g_common_temp + 2 
+0487 d8400006 arg 6 ,temp 
+0488 da20119e arg mem_24g_common_temp ,rega 
+0489 204004d0 call p_g24_put_data_in_buff 
+048a 20200566 branch p_g24_transmit_prep 
+
+p_g24_auto_pair_start:
+048b 58000000 setarg 0 
+048c 600111be store 2 ,mem_24g_pair_current_ch_num 
+048d 793f8026 set0 mark_24g ,mark 
+048e 204004ae call p_g24_auto_pair_first_attemp 
+048f 20400482 call p_g24_tx_attemp_data_prep 
+
+p_g24_auto_pair_restart:
+0490 58000000 setarg 0 
+0491 60014bd4 store 2 ,mem_24g_check_dongle_times 
+
+p_g24_auto_pair_start_loop:
+0492 20402afa call lpo_calibration 
+0493 200007d0 nop 2000 
+0494 68014bd4 fetch 2 ,mem_24g_check_dongle_times 
+0495 d8407788 arg 0x7788 ,temp 
+0496 98467c00 isub temp ,null 
+0497 202283f8 branch p_g24_stop_g24_mode ,zero 
+0498 204003cf call p_g24_transmit_receive_ack 
+0499 242c04a2 nbranch p_g24_auto_pair_retry ,sync 
+049a 243784a2 nbranch p_g24_auto_pair_retry ,user3 
+049b 204003fa call p_g24_ackpayload_parse 
+049c 204001ad call p_mouse_tx_power_init 
+049d 68024bcf fetch 4 ,mem_24g_addr 
+049e 680a4bb3 fetcht 4 ,mem_24g_paring_addr 
+049f 98467c00 isub temp ,null 
+04a0 20228446 branch p_g24_start_pairing_sm1 ,zero 
+04a1 2020047a branch p_g24_tx_attemp_dongle_succ 
+
+p_g24_auto_pair_retry:
+04a2 68014bd4 fetch 2 ,mem_24g_check_dongle_times 
+04a3 1fe0fe01 increase 1 ,pdata 
+04a4 60014bd4 store 2 ,mem_24g_check_dongle_times 
+04a5 6800cce5 fetch 1 ,mem_24g_auto_paring_switch 
+04a6 1fe0fe01 increase 1 ,pdata 
+04a7 1fe17e03 and_into 3 ,pdata 
+04a8 6000cce5 store 1 ,mem_24g_auto_paring_switch 
+04a9 c00004c6 beq 0 ,p_g24_auto_pair_device_attemp 
+04aa c00084c8 beq 1 ,p_g24_auto_pair_pair_attemp 
+04ab c00104ca beq 2 ,p_g24_auto_pair_all_powerful_attemp 
+04ac c00184c8 beq 3 ,p_g24_auto_pair_pair_attemp 
+04ad 20600000 rtn 
+
+p_g24_auto_pair_first_attemp:
+04ae 204001ad call p_mouse_tx_power_init 
+04af 68024bde fetch 4 ,mem_24g_device_addr 
+04b0 60024bcf store 4 ,mem_24g_addr 
+04b1 680091be fetch 1 ,mem_24g_pair_current_ch_num 
+04b2 6000cbb2 store 1 ,mem_24g_current_ch_number 
+04b3 204004c4 call p_g24_ch_syncword_crc8_init 
+04b4 600891be storet 1 ,mem_24g_pair_current_ch_num 
+04b5 20600000 rtn 
+
+p_g24_auto_pair_dongle_addr_reconn:
+04b6 204001ad call p_mouse_tx_power_init 
+04b7 20400132 call p_mouse_init_iic_read_24g_addr 
+04b8 2040015a call p_g24_factory_check 
+04b9 203404bb branch p_g24_auto_pair_all_powerful ,user 
+04ba 202004c4 branch p_g24_ch_syncword_crc8_init 
+
+p_g24_auto_pair_all_powerful:
+04bb 7041de20 jam tx_power_pair ,mem_tx_power 
+04bc 58000f0f setarg 0x0f0f 
+04bd 60014bcf store 2 ,mem_24g_addr 
+04be e0a10000 istore 2 ,contw 
+04bf 680091bf fetch 1 ,mem_24g_powerful_current_ch_num 
+04c0 6000cbb2 store 1 ,mem_24g_current_ch_number 
+04c1 204004c4 call p_g24_ch_syncword_crc8_init 
+04c2 600891bf storet 1 ,mem_24g_powerful_current_ch_num 
+04c3 20600000 rtn 
+
+p_g24_ch_syncword_crc8_init:
+04c4 20400559 call p_g24_syncword_crc8 
+04c5 20200578 branch p_g24_ch 
+
+p_g24_auto_pair_device_attemp:
+04c6 204004ae call p_g24_auto_pair_first_attemp 
+04c7 20200492 branch p_g24_auto_pair_start_loop 
+
+p_g24_auto_pair_pair_attemp:
+04c8 2040044a call p_g24_pair_init 
+04c9 20200492 branch p_g24_auto_pair_start_loop 
+
+p_g24_auto_pair_all_powerful_attemp:
+04ca 204004bb call p_g24_auto_pair_all_powerful 
+04cb 20200492 branch p_g24_auto_pair_start_loop 
+
+p_g24_check_51cmd_stop_24g:
+04cc 793f8026 set0 mark_24g ,mark 
+04cd 204053ce call le_disable 
+
+p_mouse_disable_g24_pairing_flag:
+04ce d8e00003 arg mosue_24g_pairing_flag ,queue 
+04cf 202043d2 branch mouse_disable_function_flag 
+
+p_g24_put_data_in_buff:
+04d0 6008cba7 storet 1 ,mem_24g_datalen 
+04d1 18427200 copy temp ,loopcnt 
+04d2 d8a04b43 arg mem_24g_txbuf ,contw 
+04d3 1a220c00 copy rega ,contr 
+04d4 20207f01 branch memcpy 
+
+p_g24_read_len_pid_crc:
+04d5 6800cb22 fetch 1 ,mem_24g_rxbuf + 1 
+04d6 1fe97e00 rshift3 pdata ,pdata 
+04d7 6000cba5 store 1 ,mem_24g_rxdata_length 
+04d8 1fe0fe01 increase 1 ,pdata 
+04d9 d8c04b22 arg mem_24g_rxbuf + 1 ,contr 
+04da 98c08c00 iadd contr ,contr 
+04db e8c18000 ifetch 3 ,contr 
+04dc 6001cbe4 store 3 ,mem_24g_sta_crc 
+04dd 6800cb22 fetch 1 ,mem_24g_rxbuf + 1 
+04de 1fe37e00 rshift pdata ,pdata 
+04df 1fe17e03 and pdata ,0x03 ,pdata 
+04e0 6000cbea store 1 ,mem_24g_sta_pid 
+04e1 20600000 rtn 
+
+p_set_freq_tx:
+04e2 60088017 storet 1 ,mem_last_freq 
+04e3 1840a200 add temp ,0 ,rega 
+04e4 20402981 call rf_write_freq 
+04e5 58000500 setarg param_pll_setup 
+04e6 20402a8f call sleep 
+
+p_rf_tx_enable:
+04e7 70890601 jam 0x1 ,rfen_adc 
+04e8 7089003c jam 0x3c ,rfen_rx 
+04e9 708901e0 jam 0xe0 ,rfen_tx 
+04ea 2000000a nop 10 
+04eb 70890201 jam 0x01 ,rfen_mdm 
+04ec 7089023d jam 0x3d ,rfen_mdm 
+04ed 2000000a nop 10 
+04ee 708903b7 jam 0xb7 ,rfen_sn 
+04ef 2000000a nop 10 
+04f0 7089027d jam 0x7d ,rfen_mdm 
+04f1 6800c1de fetch 1 ,mem_tx_power 
+04f2 c00004f8 beq tx_power_0db ,p_set_tx_power_0db 
+04f3 c0008500 beq tx_power_3db ,p_set_tx_power_3db 
+04f4 c0010508 beq tx_power_5db ,p_set_tx_power_5db 
+04f5 c0020510 beq tx_power_f5db ,p_set_tx_power_f5db 
+04f6 c0100522 beq tx_power_pair ,p_set_tx_power_pair 
+04f7 202004f8 branch p_set_tx_power_0db 
+
+p_set_tx_power_0db:
+04f8 20400518 call p_rx_low_sens 
+04f9 70894bba jam 0xba ,0x894b 
+04fa 708955d0 jam 0xd0 ,0x8955 
+04fb 708956e0 jam 0xe0 ,0x8956 
+04fc 70895788 jam 0x88 ,0x8957 
+04fd 7089586c jam 0x6c ,0x8958 
+04fe 70895910 jam 0x10 ,0x8959 
+04ff 2020294b branch set_tx_power_0db 
+
+p_set_tx_power_3db:
+0500 2040051d call p_rx_high_sens 
+0501 70894bba jam 0xba ,0x894b 
+0502 708955d0 jam 0xd0 ,0x8955 
+0503 708956e0 jam 0xe0 ,0x8956 
+0504 70895788 jam 0x88 ,0x8957 
+0505 7089583c jam 0x3c ,0x8958 
+0506 70895910 jam 0x10 ,0x8959 
+0507 2020294f branch set_tx_power_3db 
+
+p_set_tx_power_5db:
+0508 2040051d call p_rx_high_sens 
+0509 70894bba jam 0xba ,0x894b 
+050a 708955d0 jam 0xd0 ,0x8955 
+050b 708956e0 jam 0xe0 ,0x8956 
+050c 70895788 jam 0x88 ,0x8957 
+050d 7089583c jam 0x3c ,0x8958 
+050e 70895910 jam 0x10 ,0x8959 
+050f 20202953 branch set_tx_power_5db 
+
+p_set_tx_power_f5db:
+0510 20400518 call p_rx_low_sens 
+0511 70894bba jam 0xba ,0x894b 
+0512 708955d0 jam 0xd0 ,0x8955 
+0513 708956c0 jam 0xc0 ,0x8956 
+0514 70895788 jam 0x88 ,0x8957 
+0515 7089586c jam 0x6c ,0x8958 
+0516 70895910 jam 0x10 ,0x8959 
+0517 2020295b branch set_tx_power_f5db 
+
+p_rx_low_sens:
+0518 70894c5b jam 0x5b ,0x894c 
+0519 70894d96 jam 0x96 ,0x894d 
+051a 70894e2c jam 0x2c ,0x894e 
+051b 70894f46 jam 0x46 ,0x894f 
+051c 20600000 rtn 
+
+p_rx_high_sens:
+051d 70894cfb jam 0xfb ,0x894c 
+051e 70894def jam 0xef ,0x894d 
+051f 70894eec jam 0xec ,0x894e 
+0520 70894f5e jam 0x5e ,0x894f 
+0521 20600000 rtn 
+
+p_set_tx_power_pair:
+0522 708956c2 jam 0xc2 ,0x8956 
+0523 708955d0 jam 0xd0 ,0x8955 
+0524 20600000 rtn 
+
+p_shutdown_radio:
+0525 18002a08 force 8 ,radio_ctrl 
+0526 202028fa branch shutdown_radio + 1 
+
+p_initialize_radio_cont:
+0527 20402978 call initialize_radio_cont + 1 
+0528 70804205 jam clksel_dpll ,core_clksel 
+0529 20600000 rtn 
+
+p_g24_timer_check:
+052a 20407fe9 call disable_user 
+052b 680a4bc8 fetcht 4 ,mem_24g_tx_btclk 
+052c 1c427e00 copy clkn_bt ,pdata 
+052d 98467c00 isub temp ,null 
+052e 24412d18 ncall g24_timer_timeout ,positive 
+052f 1fe22400 copy pdata ,regb 
+0530 68024bc8 fetch 4 ,mem_24g_tx_btclk 
+0531 6808cbcc fetcht 1 ,mem_24g_interval 
+0532 98408400 iadd temp ,temp 
+0533 1a427e00 copy regb ,pdata 
+0534 98467c00 isub temp ,null 
+0535 24610000 nrtn positive 
+0536 793ffe1c set0 28 ,pdata 
+0537 60024bc8 store 4 ,mem_24g_tx_btclk 
+0538 20207fe7 branch enable_user 
+
+p_rssi_noise:
+0539 204029bb call save_rssi 
+053a 207a0000 rtn blank 
+053b 6808cc61 fetcht 1 ,mem_rssi_noise_index 
+053c da200d9e arg mem_rssi_noise_buffer ,rega 
+053d 20400540 call p_rssi_store 
+053e 6008cc61 storet 1 ,mem_rssi_noise_index 
+053f 20600000 rtn 
+
+p_rssi_store:
+0540 1a227e00 copy rega ,pdata 
+0541 98408a00 iadd temp ,contw 
+0542 68008018 fetch 1 ,mem_rssi 
+0543 e0a08000 istore 1 ,contw 
+0544 18408401 increase 1 ,temp 
+0545 18410407 and_into rssi_buf_len_signal ,temp 
+0546 20600000 rtn 
+
+p_rssi_average:
+0547 d8400000 arg 0 ,temp 
+0548 df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
+0549 1a220c00 copy rega ,contr 
+
+p_rssi_average_loop:
+054a e8c08000 ifetch 1 ,contr 
+054b 98408400 iadd temp ,temp 
+054c c200054a loop p_rssi_average_loop 
+054d 18497e00 rshift3 temp ,pdata 
+054e 1fe20400 copy pdata ,temp 
+054f c6930000 rtnmark0 mark_24g 
+0550 1fe6fc0a div pdata ,10 
+0551 20407f86 call wait_div_end 
+0552 1807fe00 quotient pdata 
+0553 1ff27e00 lshift4 pdata ,pdata 
+0554 18070400 remainder temp 
+0555 98418400 ior temp ,temp 
+0556 20600000 rtn 
+0557 20600000 rtn 
+
+p_g24_update_addr_and_synccrc8:
+0558 60024bcf store 4 ,mem_24g_addr 
+
+p_g24_syncword_crc8:
+0559 da200000 arg 0 ,rega 
+055a df200004 arg 4 ,loopcnt 
+055b d8c04bcf arg mem_24g_addr ,contr 
+
+p_g24_syncword_crc8_loop:
+055c e8c08000 ifetch 1 ,contr 
+055d 9a20a200 iadd rega ,rega 
+055e c200055c loop p_g24_syncword_crc8_loop 
+055f 1a227e00 copy rega ,pdata 
+0560 60014c58 store 2 ,mem_24g_syncword 
+0561 6800cc58 fetch 1 ,mem_24g_syncword 
+0562 6808cc59 fetcht 1 ,mem_24g_syncword + 1 
+0563 9840fe00 iadd temp ,pdata 
+0564 6000cc5a store 1 ,mem_24g_syncword_crc8 
+0565 20600000 rtn 
+
+p_g24_transmit_prep:
+0566 6800cba7 fetch 1 ,mem_24g_datalen 
+0567 1fe0fe02 increase 2 ,pdata 
+0568 6000cba9 store 1 ,mem_24g_txlen 
+0569 6800cba8 fetch 1 ,mem_24g_data_type 
+056a 6000cb63 store 1 ,mem_24g_txpayload 
+056b 6800cba7 fetch 1 ,mem_24g_datalen 
+056c 1fe9fe00 lshift3 pdata ,pdata 
+056d 6808cba6 fetcht 1 ,mem_24g_pid 
+056e 18410403 and temp ,0x03 ,temp 
+056f 18438400 lshift temp ,temp 
+0570 9841fe00 ior temp ,pdata 
+0571 6808cbe3 fetcht 1 ,mem_24g_no_ack 
+0572 9840fe00 iadd temp ,pdata 
+0573 e0a08000 istore 1 ,contw 
+0574 6800cba7 fetch 1 ,mem_24g_datalen 
+0575 98007200 iforce loopcnt 
+0576 d8c04b43 arg mem_24g_txbuf ,contr 
+0577 20207f01 branch memcpy 
+
+p_g24_ch:
+0578 6808cbb2 fetcht 1 ,mem_24g_current_ch_number 
+0579 2040057c call p_g24_ch_map_size 
+057a 6008cbb2 storet 1 ,mem_24g_current_ch_number 
+057b 20600000 rtn 
+
+p_g24_ch_map_size:
+057c 20400580 call p_g24_ch_calc 
+057d 18408401 increase 1 ,temp 
+057e 18410403 and_into 3 ,temp 
+057f 20600000 rtn 
+
+p_g24_ch_calc:
+0580 6800cbcf fetch 1 ,mem_24g_addr 
+0581 1fe17e03 and_into 0x03 ,pdata 
+0582 1fefa204 mul32 pdata ,4 ,rega 
+0583 58004bb8 setarg mem_24g_ch_map1 
+0584 9a20fe00 iadd rega ,pdata 
+0585 98408c00 iadd temp ,contr 
+0586 e8c08000 ifetch 1 ,contr 
+0587 6000cbb1 store 1 ,mem_24g_ch 
+0588 20600000 rtn 
+
+p_g24_prep:
+0589 7844fc00 disable enable_crc 
+058a 7843fc00 disable enable_white 
+058b 58555555 setarg 0x555555 
+058c 98001e00 iforce crc24_init 
+058d 6800cbb1 fetch 1 ,mem_24g_ch 
+058e 1fed8400 reverse pdata ,temp 
+058f 79200401 set1 1 ,temp 
+0590 18431c00 rshift temp ,white_init 
+0591 20600000 rtn 
+
+p_g24_receive_packet:
+0592 204053c4 call le_enable 
+0593 68024bcf fetch 4 ,mem_24g_addr 
+0594 98001200 iforce access 
+0595 20402918 call set_sync_on 
+0596 6808cbb1 fetcht 1 ,mem_24g_ch 
+0597 2040291f call set_freq_rx 
+0598 58000500 setarg param_pll_setup 
+0599 20402a8f call sleep 
+059a 20402924 call rf_rx_enable 
+
+p_g24_receive_rxon:
+059b 20400589 call p_g24_prep 
+059c 7857fc00 disable user3 
+059d 7826fc00 enable decode_fec0 
+059e 7830fc00 enable is_rx 
+059f 78507c00 disable is_tx 
+05a0 78287c00 enable swfine 
+05a1 68014baa fetch 2 ,mem_24g_rx_window 
+05a2 98003600 iforce stop_watch 
+05a3 37c18400 correlate null ,timeout 
+05a4 242c05dc nbranch p_g24_sync_timeout ,sync 
+05a5 7846fc00 disable decode_fec0 
+05a6 7825fc00 enable decode_fec1 
+05a7 7823fc00 enable enable_white 
+05a8 7824fc00 enable enable_crc 
+05a9 204005d5 call p_g24_receive_byte 
+05aa 6000cc5b store 1 ,mem_24g_get_syncword_crc8 
+05ab 6808cc5a fetcht 1 ,mem_24g_syncword_crc8 
+05ac 98467c00 isub temp ,null 
+05ad 242285d8 nbranch p_g24_end_of_packet ,zero 
+05ae 204005d5 call p_g24_receive_byte 
+05af 6000cb21 store 1 ,mem_24g_rxbuf 
+05b0 6800cbed fetch 1 ,mem_24g_mode 
+05b1 1fe67c02 sub pdata ,rx_24g ,null 
+05b2 202285b7 branch p_g24_receive_skip ,zero 
+05b3 6800cb21 fetch 1 ,mem_24g_rxbuf 
+05b4 6808cba8 fetcht 1 ,mem_24g_data_type 
+05b5 a8400e00 icompare bits_data ,temp 
+05b6 242085d8 nbranch p_g24_end_of_packet ,true 
+
+p_g24_receive_skip:
+05b7 204005d5 call p_g24_receive_byte 
+05b8 e0a08000 istore 1 ,contw 
+05b9 1fe97e00 rshift3 pdata ,pdata 
+05ba 1fe1721f and pdata ,0x1f ,loopcnt 
+05bb 202285bf branch p_g24rx_nopayload ,zero 
+
+p_g24rx_loop:
+05bc 204005d5 call p_g24_receive_byte 
+05bd e0a08000 istore 1 ,contw 
+05be c20005bc loop p_g24rx_loop 
+
+p_g24rx_nopayload:
+05bf 18a22200 copy contw ,rega 
+05c0 204005d5 call p_g24_receive_byte 
+05c1 6000cce2 store 1 ,mem_rssi_hex_received 
+05c2 1a220a00 copy rega ,contw 
+05c3 09800018 parse demod ,bucket ,24 
+05c4 78287c00 enable swfine 
+05c5 db600664 arg param_sifs ,stop_watch 
+05c6 1fef7e00 rshift32 pdata ,pdata 
+05c7 1ff17e00 rshift16 pdata ,pdata 
+05c8 e0a18000 istore 3 ,contw 
+05c9 7845fc00 disable decode_fec1 
+05ca 202305d8 branch p_g24_end_of_packet ,crc_failed 
+05cb 7837fc00 enable user3 
+05cc 68008017 fetch 1 ,mem_last_freq 
+05cd 1fe0a200 add pdata ,0 ,rega 
+05ce 20402981 call rf_write_freq 
+05cf 7846fc00 disable decode_fec0 
+05d0 20402918 call set_sync_on 
+05d1 6800cce2 fetch 1 ,mem_rssi_hex_received 
+05d2 1fe22200 copy pdata ,rega 
+05d3 20400014 call p_rssi_signal 
+05d4 20600000 rtn 
+
+p_g24_receive_byte:
+05d5 09800008 parse demod ,bucket ,8 
+05d6 19897e00 rshift3 pwindow ,pdata 
+05d7 20600000 rtn 
+
+p_g24_end_of_packet:
+05d8 784dfc00 disable encode_fec1 
+05d9 7845fc00 disable decode_fec1 
+05da 2040264d call end_of_packet 
+05db 20600000 rtn 
+
+p_g24_sync_timeout:
+05dc 202005d8 branch p_g24_end_of_packet 
+
+p_g24_set_freq_tx:
+05dd 20402918 call set_sync_on 
+05de 6808cbb1 fetcht 1 ,mem_24g_ch 
+05df 20202933 branch set_freq_tx 
+
+p_g24_transmit:
+05e0 204053c4 call le_enable 
+05e1 68024bcf fetch 4 ,mem_24g_addr 
+05e2 98001200 iforce access 
+05e3 20400589 call p_g24_prep 
+05e4 204005dd call p_g24_set_freq_tx 
+05e5 79202a00 set1 txgfsk ,radio_ctrl 
+05e6 782efc00 enable encode_fec0 
+05e7 78307c00 enable is_tx 
+05e8 7850fc00 disable is_rx 
+05e9 19317e00 rshift16 access ,pdata 
+05ea 1fecfe00 rshift8 pdata ,pdata 
+05eb 1ff1fe00 rshift4 pdata ,pdata 
+05ec 08008628 inject mod ,40 
+05ed 784efc00 disable encode_fec0 
+05ee 782dfc00 enable encode_fec1 
+05ef 7823fc00 enable enable_white 
+05f0 7824fc00 enable enable_crc 
+05f1 6800cc5a fetch 1 ,mem_24g_syncword_crc8 
+05f2 08008608 inject mod ,8 
+05f3 6800cba9 fetch 1 ,mem_24g_txlen 
+05f4 98007200 iforce loopcnt 
+05f5 d8c04b63 arg mem_24g_txpayload ,contr 
+
+p_g24tr_loop:
+05f6 e8c08000 ifetch 1 ,contr 
+05f7 08008608 inject mod ,8 
+05f8 c20005f6 loop p_g24tr_loop 
+05f9 78247c00 enable enable_parity 
+05fa 08008618 inject mod ,24 
+05fb 78447c00 disable enable_parity 
+05fc 37d38200 until null ,tx_clear 
+05fd 20000064 nop 100 
+05fe 784efc00 disable encode_fec0 
+05ff 784dfc00 disable encode_fec1 
+0600 20600000 rtn 
+
+p_mouse_data_init:
+0601 7047a607 jam 7 ,mem_mouse_data_queue 
+0602 7047a704 jam 4 ,mem_mouse_data_queue + 1 
+0603 580047a6 setarg mem_mouse_data_queue 
+0604 60014218 store 2 ,mem_queue_ptr 
+0605 20207e38 branch queue_init 
+
+p_mouse_data_push:
+0606 da20469a arg mem_mouse_key ,rega 
+0607 20407e3d call queue_push 
+0608 2054060a call p_mouse_queue_increase ,user 
+0609 20600000 rtn 
+
+p_mouse_queue_increase:
+060a 6800c7c7 fetch 1 ,mem_mouse_data_queue_num 
+060b 1fe0fe01 increase 1 ,pdata 
+060c 6000c7c7 store 1 ,mem_mouse_data_queue_num 
+060d 20600000 rtn 
+
+p_mouse_data_pull:
+060e da20469a arg mem_mouse_key ,rega 
+060f 20407e54 call queue_pop 
+0610 20340612 branch p_mouse_fill_data_le ,user 
+0611 20600000 rtn 
+
+p_mouse_fill_data_le:
+0612 20405652 call le_clear_md 
+0613 6800c7c7 fetch 1 ,mem_mouse_data_queue_num 
+0614 1fe67c01 sub pdata ,1 ,null 
+0615 24415650 ncall le_set_md ,positive 
+0616 6800c7c7 fetch 1 ,mem_mouse_data_queue_num 
+0617 207a0000 rtn blank 
+0618 1fe0ffff increase -1 ,pdata 
+0619 6000c7c7 store 1 ,mem_mouse_data_queue_num 
+061a 20203f90 branch mouse_fill_data_le 
+org 0x2000
+
+start:
+2000 20402abc call lpmstate 
+
+soft_reset:
+2001 44804000 bpatch patch00_0 ,mem_patch00 
+2002 20800000 clear_stack 
+2003 2040640d call spi_ncs_gpio_init 
+2004 2040296c call initialize_radio 
+2005 204065a3 call iicd_init_12m 
+2006 20402a96 call init_param 
+2007 20404d6a call l2cap_init 
+2008 4480c000 bpatch patch00_1 ,mem_patch00 
+2009 20406a03 call rfcomm_init 
+200a 20405cf6 call init_lmp 
+200b 20407ccc call ui_init 
+200c 204032d8 call app_init 
+200d 2455e89c ncall load_chip_option ,wake 
+200e 44814000 bpatch patch00_2 ,mem_patch00 
+200f 2055b2e3 call app_lpm_init ,wake 
+2010 2040756a call publickey_init 
+2011 2055ab41 call lpm_recover_clk ,wake 
+
+main_loop:
+2012 4481c000 bpatch patch00_3 ,mem_patch00 
+2013 204076dc call sp_calc_sequence 
+2014 20407aaf call sp_calc_sequence_256 
+2015 2040756d call sp_calc_sequence_256_check 
+2016 2040535c call le_dispatch 
+2017 44824000 bpatch patch00_4 ,mem_patch00 
+2018 20402038 call idle_dispatch 
+2019 204032ed call app_process_idle 
+201a 2040208f call inquiry_dispatch 
+201b 204022f8 call inquiry_scan_dispatch 
+201c 2040236a call page_scan_dispatch 
+201d 20402021 call connection_dispatch 
+201e 20402b6a call lpm_dispatch 
+201f 20402c72 call g24_dispatch 
+2020 20202012 branch main_loop 
+
+connection_dispatch:
+2021 20402026 call connection_incontext 
+2022 c6848000 rtnmark0 mark_context 
+2023 793f8009 set0 mark_context ,mark 
+2024 20402223 call context_save 
+2025 202053ce branch le_disable 
+
+connection_incontext:
+2026 4482c000 bpatch patch00_5 ,mem_patch00 
+2027 2040225e call context_search_insniff 
+2028 2422a02f nbranch connection_nosniff ,zero 
+2029 2040220a call context_load 
+202a 1a208c01 add rega ,coffset_mode ,contr 
+202b e8c08000 ifetch 1 ,contr 
+202c c2805360 bbit1 mode_le ,le_conn_dispatch 
+202d c280a166 bbit1 mode_master ,master_dispatch 
+202e 202023cf branch slave_dispatch 
+
+connection_nosniff:
+202f 2040222b call context_get_next 
+2030 1f227c00 copy loopcnt ,null 
+2031 20628000 rtn zero 
+2032 2040220a call context_load 
+2033 68008030 fetch 1 ,mem_state 
+2034 c281a0d3 bbit1 state_inpage ,master_page 
+2035 68008031 fetch 1 ,mem_mode 
+2036 c280a166 bbit1 mode_master ,master_dispatch 
+2037 202023cf branch slave_dispatch 
+
+idle_dispatch:
+2038 6800c1ce fetch 1 ,mem_hci_cmd 
+2039 207a0000 rtn blank 
+203a c000a048 beq hci_cmd_inquiry ,idle_inquiry 
+203b c001204d beq hci_cmd_inquiry_cancel ,idle_inquiry_cancel 
+203c c001a050 beq hci_cmd_remote_name_req ,idle_remote_name_req 
+203d c002a055 beq hci_cmd_create_conn ,idle_create_conn 
+203e c00da045 beq hci_cmd_le_create_conn ,idle_le_create_conn 
+203f 20402257 call context_search_conn_handle 
+2040 20628000 rtn zero 
+2041 2040225a call context_search_plap 
+2042 20628000 rtn zero 
+
+idle_exit:
+2043 7041ce00 jam 0 ,mem_hci_cmd 
+2044 20600000 rtn 
+
+idle_le_create_conn:
+2045 70049b1b jam hci_cmd_le_create_conn ,mem_cmd_le_create_conn 
+2046 7041ce00 jam 0 ,mem_hci_cmd 
+2047 20600000 rtn 
+
+idle_inquiry:
+2048 7920001c set1 mark_inquiry_on ,mark 
+2049 793f801e set0 mark_inquiry_trainb ,mark 
+204a 70008fff jam param_ninquiry ,mem_ninqy_index 
+204b 70008d1f jam 31 ,mem_nfreq_index_inq 
+204c 20202043 branch idle_exit 
+
+idle_inquiry_cancel:
+204d 793f801c set0 mark_inquiry_on ,mark 
+204e 18003600 force 0 ,stop_watch 
+204f 20202043 branch idle_exit 
+
+idle_remote_name_req:
+2050 2040225a call context_search_plap 
+2051 20628000 rtn zero 
+2052 18000401 force lmp_name_req ,temp 
+2053 70016e05 jam 5 ,mem_nameres_cnt 
+2054 2020205c branch idle_start_page 
+
+idle_create_conn:
+2055 44834000 bpatch patch00_6 ,mem_patch00 
+
+idle_create_conn_device:
+2056 680341d0 fetch 6 ,mem_hci_plap 
+2057 203a2043 branch idle_exit ,blank 
+2058 70468101 jam reconnect_hid ,memui_reconnect_mode 
+2059 70005503 jam conn_sm_wait_features_res ,mem_conn_sm 
+205a 2020205b branch idle_create_conn_cont 
+
+idle_create_conn_cont:
+205b 18000425 force lmp_version_req ,temp 
+
+idle_start_page:
+205c 4483c000 bpatch patch00_7 ,mem_patch00 
+205d 680080f1 fetch 1 ,mem_page_mode 
+205e 203a2062 branch idle_page_mode_r0 ,blank 
+205f 1fe9fe00 lshift3 pdata ,pdata 
+2060 1ff27e00 lshift4 pdata ,pdata 
+2061 1fe0ffff increase -1 ,pdata 
+
+idle_page_mode_r0:
+2062 6000c0a6 store 1 ,mem_npage 
+2063 600080f0 store 1 ,mem_npage_index 
+2064 70008e1f jam 31 ,mem_nfreq_index_page 
+2065 793f800c set0 mark_page_trainb ,mark 
+2066 2040223b call context_new 
+2067 2422a083 nbranch idle_page_fail ,zero 
+2068 20402a6f call get_free_amaddr 
+2069 60008077 store 1 ,mem_amaddr 
+206a 6008807c storet 1 ,mem_lmo_opcode2 
+206b 680341d0 fetch 6 ,mem_hci_plap 
+206c 60030040 store 6 ,mem_plap 
+206d 44844001 bpatch patch01_0 ,mem_patch01 
+206e 20407f15 call timer_reinit 
+206f 18007e00 force 0 ,pdata 
+2070 2841fe01 compare lmp_name_req ,temp ,0xff 
+2071 7d20fe05 nsetflag true ,state_init_seq ,pdata 
+2072 79207e03 set1 state_inpage ,pdata 
+2073 60008030 store 1 ,mem_state 
+2074 700a9903 jam bt_evt_reconn_started ,mem_fifo_temp 
+2075 20407d86 call ui_ipc_send_event 
+2076 18007e00 force 0 ,pdata 
+2077 7920fe04 setflag true ,smap_name_req ,pdata 
+2078 6000804c store 1 ,mem_state_map 
+2079 58000000 setarg 0 
+207a 79207e01 set1 mode_master ,pdata 
+207b 60008031 store 1 ,mem_mode 
+207c 7834fc00 enable master 
+207d 20402223 call context_save 
+207e 7854fc00 disable master 
+207f 18000e03 force page_length_timer ,queue 
+2080 680140b9 fetch 2 ,mem_page_to 
+2081 20407f08 call timer_init 
+2082 20202043 branch idle_exit 
+
+idle_page_fail:
+2083 4484c001 bpatch patch01_1 ,mem_patch01 
+2084 680341d0 fetch 6 ,mem_hci_plap 
+2085 60030040 store 6 ,mem_plap 
+2086 2841fe01 compare lmp_name_req ,temp ,0xff 
+2087 2020a089 branch idle_name_fail ,true 
+2088 20202043 branch idle_exit 
+
+idle_name_fail:
+2089 d8a00101 arg mem_tmp_buffer ,contw 
+208a df200008 arg 8 ,loopcnt 
+208b 20407ec6 call memset0 
+208c 700a9904 jam bt_evt_reconn_failed ,mem_fifo_temp 
+208d 20407d86 call ui_ipc_send_event 
+208e 20202043 branch idle_exit 
+
+inquiry_dispatch:
+208f c68e0000 rtnmark0 mark_inquiry_on 
+2090 18000e01 force inquiry_length_timer ,queue 
+2091 20407f16 call timer_check 
+2092 7d3a001c nsetflag blank ,mark_inquiry_on ,mark 
+2093 243a2095 nbranch inquiry_start ,blank 
+2094 20600000 rtn 
+
+inquiry_start:
+2095 44854001 bpatch patch01_2 ,mem_patch01 
+2096 680940bb fetcht 2 ,mem_inq_window 
+2097 18000e04 force 4 ,queue 
+2098 2040271c call sniff_check_window 
+2099 20740000 rtn user 
+209a 204028a4 call afh_clear 
+209b 18004800 force 0 ,freq_mode 
+
+inquiry_restart:
+209c 20618000 rtn timeout 
+209d 793f800b set0 mark_fhs_already_good ,mark 
+209e 793f8000 set0 mark_fhs_eir ,mark 
+
+inquiry_rx_restart:
+209f 1c40c201 add clkn_bt ,1 ,bt_clk 
+20a0 280ffe1e isolate1 mark_inquiry_trainb ,mark 
+20a1 7920c802 setflag true ,2 ,freq_mode 
+20a2 2c200400 compare 0x00 ,bt_clk ,0x02 
+20a3 2420a0be nbranch inquiry_receive ,true 
+
+inquiry_transmit:
+20a4 4485c001 bpatch patch01_3 ,mem_patch01 
+20a5 68008012 fetch 1 ,mem_inquiry_transmit 
+20a6 1fe0fe01 increase 1 ,pdata 
+20a7 60008012 store 1 ,mem_inquiry_transmit 
+20a8 204028d8 call fetch_giac 
+20a9 204028d2 call tx_radio_freq 
+20aa 204028f2 call fetch_diac 
+20ab 20402a51 call start_transmitter 
+20ac 20402a56 call start_tx_native 
+20ad 20402a64 call send_access_word 
+20ae 2040264d call end_of_packet 
+20af 204020b1 call inquiry_check_train 
+20b0 2020209c branch inquiry_restart 
+
+inquiry_check_train:
+20b1 44864001 bpatch patch01_4 ,mem_patch01 
+20b2 6800808d fetch 1 ,mem_nfreq_index_inq 
+20b3 1fe0ffff increase -1 ,pdata 
+20b4 6000808d store 1 ,mem_nfreq_index_inq 
+20b5 20610000 rtn positive 
+20b6 70008d1f jam 31 ,mem_nfreq_index_inq 
+20b7 6800808f fetch 1 ,mem_ninqy_index 
+20b8 1fe0ffff increase -1 ,pdata 
+20b9 6000808f store 1 ,mem_ninqy_index 
+20ba 20610000 rtn positive 
+20bb 7940001e setflip mark_inquiry_trainb ,mark 
+20bc 70008fff jam param_ninquiry ,mem_ninqy_index 
+20bd 20600000 rtn 
+
+inquiry_receive:
+20be 4486c001 bpatch patch01_5 ,mem_patch01 
+20bf 204028d8 call fetch_giac 
+20c0 204028cc call rx_radio_freq 
+20c1 204028f2 call fetch_diac 
+20c2 20402a5b call start_rx_native 
+20c3 204029eb call start_receiver 
+20c4 20402a0d call wait_access_clkn_rt 
+20c5 202c20c8 branch inquiry_sync ,sync 
+20c6 204020b1 call inquiry_check_train 
+20c7 2020209f branch inquiry_rx_restart 
+
+inquiry_sync:
+20c8 44874001 bpatch patch01_6 ,mem_patch01 
+20c9 204029bb call save_rssi 
+20ca 20402a6b call scan_mode_whiten 
+20cb 2040251e call receive_packet_whitened 
+20cc 793f8001 set0 mark_rxbuf_inuse ,mark 
+20cd c6858000 rtnmark0 mark_fhs_already_good 
+
+inquiry_receive_rtn:
+20ce 4487c001 bpatch patch01_7 ,mem_patch01 
+
+inquiry_receive_eir_rtn:
+20cf 68008013 fetch 1 ,mem_inquiry_rcv 
+20d0 1fe0fe01 increase 1 ,pdata 
+20d1 60008013 store 1 ,mem_inquiry_rcv 
+20d2 20600000 rtn 
+
+master_page:
+20d3 44884002 bpatch patch02_0 ,mem_patch02 
+20d4 7834fc00 enable master 
+20d5 78387c00 enable clknt 
+20d6 680140b5 fetch 2 ,mem_page_interval 
+20d7 203a20db branch master_page_no_interval ,blank 
+20d8 18000e08 force page_interval_timer ,queue 
+20d9 20407f16 call timer_check 
+20da 247a0000 nrtn blank 
+
+master_page_no_interval:
+20db 4488c002 bpatch patch02_1 ,mem_patch02 
+20dc 680940b7 fetcht 2 ,mem_page_window 
+20dd 18000e28 force 40 ,queue 
+20de 2040271c call sniff_check_window 
+20df 20342114 branch page_exit ,user 
+20e0 18000e03 force page_length_timer ,queue 
+20e1 20407f16 call timer_check 
+20e2 243a20f0 nbranch page_start ,blank 
+20e3 6800804c fetch 1 ,mem_state_map 
+20e4 c28220e6 bbit1 smap_name_req ,master_npage_timeout 
+20e5 202020e9 branch master_page_timeout 
+
+master_npage_timeout:
+20e6 d8a00101 arg mem_tmp_buffer ,contw 
+20e7 df200008 arg 8 ,loopcnt 
+20e8 20407ec6 call memset0 
+
+master_page_timeout:
+20e9 44894002 bpatch patch02_2 ,mem_patch02 
+20ea 70003000 jam 0 ,mem_state 
+20eb 20405cf7 call init_lmp_work 
+20ec 70468100 jam 0 ,memui_reconnect_mode 
+20ed 700a9913 jam bt_evt_reconn_page_timeout ,mem_fifo_temp 
+20ee 20407d86 call ui_ipc_send_event 
+20ef 20202114 branch page_exit 
+
+page_start:
+20f0 4489c002 bpatch patch02_3 ,mem_patch02 
+20f1 18001600 force 0 ,timeup 
+20f2 34730200 until clkn_rt ,meet 
+20f3 680080f2 fetch 1 ,mem_page_clk 
+20f4 1fe0ffff increase -1 ,pdata 
+20f5 9c42fe00 ixor clkn_bt ,pdata 
+20f6 2fe00600 compare 0 ,pdata ,3 
+20f7 2420a0f0 nbranch page_start ,true 
+20f8 18827e00 deposit am_addr 
+20f9 60008181 store 1 ,mem_fhs_am_addr 
+20fa 18004c00 force 0 ,n_tx_slot 
+20fb 18004800 force 0 ,freq_mode 
+
+page_restart:
+20fc 448a4002 bpatch patch02_4 ,mem_patch02 
+20fd 2021a114 branch page_exit ,timeout 
+20fe 204028dc call fetch_page_bt_adr 
+20ff d9600600 arg param_rf_setup ,timeup 
+2100 34730200 until clkn_rt ,meet 
+
+page_rx_restart:
+2101 448ac002 bpatch patch02_5 ,mem_patch02 
+2102 680200f2 fetch 4 ,mem_page_clk 
+2103 98004200 iforce bt_clk 
+2104 1fe0fe01 increase 1 ,pdata 
+2105 600200f2 store 4 ,mem_page_clk 
+2106 280ffe0c isolate1 mark_page_trainb ,mark 
+2107 7920c802 setflag true ,2 ,freq_mode 
+2108 2c200400 compare 0x00 ,bt_clk ,0x02 
+2109 2420a128 nbranch page_receive ,true 
+210a 6800800c fetch 1 ,mem_page_transmit 
+210b 1fe0fe01 increase 1 ,pdata 
+210c 6000800c store 1 ,mem_page_transmit 
+210d 204028d2 call tx_radio_freq 
+210e 20402a51 call start_transmitter 
+210f 20402a56 call start_tx_native 
+2110 20402a64 call send_access_word 
+2111 2040264d call end_of_packet 
+2112 2040211a call page_check_train 
+2113 202020fc branch page_restart 
+
+page_exit:
+2114 448b4002 bpatch patch02_6 ,mem_patch02 
+2115 7854fc00 disable master 
+2116 680140b5 fetch 2 ,mem_page_interval 
+2117 207a0000 rtn blank 
+2118 18000e08 force page_interval_timer ,queue 
+2119 20207f08 branch timer_init 
+
+page_check_train:
+211a 448bc002 bpatch patch02_7 ,mem_patch02 
+211b 6800808e fetch 1 ,mem_nfreq_index_page 
+211c 1fe0ffff increase -1 ,pdata 
+211d 6000808e store 1 ,mem_nfreq_index_page 
+211e 20610000 rtn positive 
+211f 70008e1f jam 31 ,mem_nfreq_index_page 
+2120 680080f0 fetch 1 ,mem_npage_index 
+2121 1fe0ffff increase -1 ,pdata 
+2122 600080f0 store 1 ,mem_npage_index 
+2123 20610000 rtn positive 
+2124 7940000c setflip mark_page_trainb ,mark 
+2125 6800c0a6 fetch 1 ,mem_npage 
+2126 600080f0 store 1 ,mem_npage_index 
+2127 20600000 rtn 
+
+page_receive:
+2128 448c4003 bpatch patch03_0 ,mem_patch03 
+2129 204028cc call rx_radio_freq 
+212a 20402a5b call start_rx_native 
+212b 204029eb call start_receiver 
+212c 20402a0d call wait_access_clkn_rt 
+212d 202c2130 branch page_sync ,sync 
+212e 2040211a call page_check_train 
+212f 20202101 branch page_rx_restart 
+
+page_sync:
+2130 2040264d call end_of_packet 
+2131 6800800d fetch 1 ,mem_page_rcv 
+2132 1fe0fe01 increase 1 ,pdata 
+2133 6000800d store 1 ,mem_page_rcv 
+2134 18003600 force 0 ,stop_watch 
+2135 680200f2 fetch 4 ,mem_page_clk 
+
+page_send_fhs:
+2136 448cc003 bpatch patch03_1 ,mem_patch03 
+2137 20402a4f call rf_setup_time_master_slot 
+2138 204028dc call fetch_page_bt_adr 
+2139 1cc0cc01 increase 1 ,n_tx_slot 
+
+page_send_fhs_continue:
+213a 1c2143fd and_into 0x1fd ,bt_clk 
+213b 1c8149fc and_into 0x1fc ,freq_mode 
+213c 204028d2 call tx_radio_freq 
+213d 20402a51 call start_transmitter 
+213e 20402a56 call start_tx_native 
+213f 20402a64 call send_access_word 
+2140 1c427e00 deposit clkn_bt 
+2141 60020161 store 4 ,mem_clkn_bt 
+2142 18000800 force 0 ,am_addr 
+2143 18000202 force type_fhs ,type 
+2144 20402a6b call scan_mode_whiten 
+2145 20402766 call transmit_packet_whitened 
+
+page_wait_fhs_reply:
+2146 448d4003 bpatch patch03_2 ,mem_patch03 
+2147 20402a4d call rf_setup_time_slave_slot 
+2148 1c21c202 or_into 0x02 ,bt_clk 
+2149 1c8149fc and_into 0x1fc ,freq_mode 
+214a 204028cc call rx_radio_freq 
+214b 20402a5b call start_rx_native 
+214c 204029eb call start_receiver 
+214d 20402a0d call wait_access_clkn_rt 
+214e 204c264d call end_of_packet ,sync 
+214f 202c2155 branch page_wait_fhs_reply_ok ,sync 
+2150 68008010 fetch 1 ,mem_fhs_wait_counter 
+2151 203a20fc branch page_restart ,blank 
+2152 1fe0ffff increase -1 ,pdata 
+2153 60008010 store 1 ,mem_fhs_wait_counter 
+2154 20202136 branch page_send_fhs 
+
+page_wait_fhs_reply_ok:
+2155 448dc003 bpatch patch03_3 ,mem_patch03 
+2156 6800800e fetch 1 ,mem_page_rcv_fhs 
+2157 1fe0fe01 increase 1 ,pdata 
+2158 6000800e store 1 ,mem_page_rcv_fhs 
+2159 20402435 call prepare_newconn 
+
+master_newconn_loop:
+215a 204022f2 call master_newconn_once 
+215b 202c215f branch newconn_poll_responded ,sync 
+215c 20402455 call new_conn_timeout 
+215d 243a215a nbranch master_newconn_loop ,blank 
+215e 202020fc branch page_restart 
+
+newconn_poll_responded:
+215f 448e4003 bpatch patch03_4 ,mem_patch03 
+2160 68008030 fetch 1 ,mem_state 
+2161 793ffe03 set0 state_inpage ,pdata 
+2162 60008030 store 1 ,mem_state 
+2163 20402440 call newconn_init 
+2164 7854fc00 disable master 
+2165 20600000 rtn 
+
+master_dispatch:
+2166 448ec003 bpatch patch03_5 ,mem_patch03 
+2167 7834fc00 enable master 
+2168 78387c00 enable clknt 
+2169 204021e1 call role_switch_master 
+216a 20740000 rtn user 
+216b 20402c69 call check_bt_disabled 
+216c 20402a4f call rf_setup_time_master_slot 
+216d 1c40c201 add clkn_bt ,1 ,bt_clk 
+216e 204028e2 call fetch_self_bt_adr 
+216f 18004803 force 0x03 ,freq_mode 
+2170 20406cc2 call scheduler_tx_l2cap_pkt 
+2171 20402489 call prepare_tx 
+2172 204028d2 call tx_radio_freq 
+2173 20402a51 call start_transmitter 
+2174 20402a56 call start_tx_native 
+2175 20402a64 call send_access_word 
+2176 20402762 call transmit_packet 
+
+master_loop:
+2177 448f4003 bpatch patch03_6 ,mem_patch03 
+2178 20405d08 call parse_lmp 
+2179 204022e4 call master_conn_recv_packet 
+217a 2436a180 nbranch master_notmatch ,match 
+217b 20402a88 call supervision_flush 
+217c 20402728 call parse_l2cap 
+217d 6800800f fetch 1 ,mem_master_rcvcnt 
+217e 1fe0fe01 increase 1 ,pdata 
+217f 6000800f store 1 ,mem_master_rcvcnt 
+
+master_notmatch:
+2180 448fc003 bpatch patch03_7 ,mem_patch03 
+2181 20406caa call scheduler_process 
+2182 2040218b call check_master_disconnect 
+2183 24748000 nrtn master 
+2184 204026f3 call check_attempt 
+2185 243a2188 nbranch master_attempt ,blank 
+
+master_exit:
+2186 7854fc00 disable master 
+2187 20600000 rtn 
+
+master_attempt:
+2188 20402489 call prepare_tx 
+2189 204022da call master_conn_send_packet 
+218a 20202177 branch master_loop 
+
+check_master_disconnect:
+218b 2036a18e branch check_master_match ,match 
+218c 20402a7f call supervision_update 
+218d 2021219c branch master_disconnect ,positive 
+
+check_master_match:
+218e 204021a7 call check_disconnect_timeout 
+218f 2434219c nbranch master_disconnect ,user 
+2190 6800804c fetch 1 ,mem_state_map 
+2191 c4020000 rtnbit0 smap_name_req 
+2192 c3818000 rtnbit1 smap_name_res 
+2193 6800804b fetch 1 ,mem_op 
+2194 c3818000 rtnbit1 op_disconn 
+2195 204021ae call conn_timer_expired 
+2196 247a0000 nrtn blank 
+2197 6800816e fetch 1 ,mem_nameres_cnt 
+2198 1fe0ffff increase -1 ,pdata 
+2199 6000816e store 1 ,mem_nameres_cnt 
+219a 247a0000 nrtn blank 
+219b 20206006 branch lmp_disconnect 
+
+master_disconnect:
+219c 44904004 bpatch patch04_0 ,mem_patch04 
+219d 2040245d call quit_connection 
+219e 7854fc00 disable master 
+219f 6800804c fetch 1 ,mem_state_map 
+21a0 c28221a2 bbit1 smap_name_req ,master_name_disconnect 
+21a1 20600000 rtn 
+
+master_name_disconnect:
+21a2 6800804c fetch 1 ,mem_state_map 
+21a3 c3818000 rtnbit1 smap_name_res 
+
+master_name_error:
+21a4 d8a00101 arg mem_tmp_buffer ,contw 
+21a5 df200008 arg 8 ,loopcnt 
+21a6 20207ec6 branch memset0 
+
+check_disconnect_timeout:
+21a7 4490c004 bpatch patch04_1 ,mem_patch04 
+21a8 78347c00 enable user 
+21a9 6800804b fetch 1 ,mem_op 
+21aa c4018000 rtnbit0 op_disconn 
+21ab 204021ae call conn_timer_expired 
+21ac 247a0000 nrtn blank 
+21ad 20207fe9 branch disable_user 
+
+conn_timer_expired:
+21ae 68008072 fetch 1 ,mem_conn_timer 
+21af 1fe0ffff increase -1 ,pdata 
+21b0 60008072 store 1 ,mem_conn_timer 
+21b1 20600000 rtn 
+
+linkkey_ready:
+21b2 44914004 bpatch patch04_2 ,mem_patch04 
+21b3 68008030 fetch 1 ,mem_state 
+21b4 c283a1bb bbit1 state_linkkey ,linkkey_set 
+21b5 680089b5 fetch 1 ,mem_pairing_auth 
+21b6 203a21bb branch linkkey_set ,blank 
+21b7 7009b500 jam defalt_pairing_auth ,mem_pairing_auth 
+21b8 700a9918 jam bt_evt_linkkey_generate ,mem_fifo_temp 
+21b9 20407d86 call ui_ipc_send_event 
+21ba 202021bb branch linkkey_set 
+
+linkkey_set:
+21bb 4491c004 bpatch patch04_3 ,mem_patch04 
+21bc 20402254 call context_traverse_linkkey 
+21bd 68008030 fetch 1 ,mem_state 
+21be 79207e07 set1 state_linkkey ,pdata 
+21bf 60008030 store 1 ,mem_state 
+21c0 7041bd01 jam 1 ,mem_link_key_exists 
+21c1 68008055 fetch 1 ,mem_conn_sm 
+21c2 c08b21c3 bne conn_sm_pairing ,linkkey_set_continue 
+
+linkkey_set_continue:
+21c3 20600000 rtn 
+
+generate_linkkey_continue:
+21c4 7009b501 jam pairing_auth ,mem_pairing_auth 
+
+clear_linkstate:
+21c5 68008030 fetch 1 ,mem_state 
+21c6 793ffe07 set0 state_linkkey ,pdata 
+21c7 60008030 store 1 ,mem_state 
+21c8 20600000 rtn 
+
+role_switch_check:
+21c9 44924004 bpatch patch04_4 ,mem_patch04 
+21ca 78547c00 disable user 
+21cb 68010032 fetch 2 ,mem_tsniff 
+21cc d840ffff arg 0xffff ,temp 
+21cd 98467c00 isub temp ,null 
+21ce 24628000 nrtn zero 
+21cf 68020034 fetch 4 ,mem_sniff_anchor 
+21d0 203821d3 branch role_switch_clkn ,clknt 
+21d1 9d067e00 isub clke_bt ,pdata 
+21d2 202021d4 branch role_switch_clke 
+
+role_switch_clkn:
+21d3 9c467e00 isub clkn_bt ,pdata 
+
+role_switch_clke:
+21d4 1fe67c04 sub pdata ,4 ,null 
+21d5 24610000 nrtn positive 
+21d6 18007e00 force 0 ,pdata 
+21d7 60010032 store 2 ,mem_tsniff 
+21d8 20207fe7 branch enable_user 
+
+role_switch_prepare:
+21d9 1fe20400 copy pdata ,temp 
+21da 4492c004 bpatch patch04_5 ,mem_patch04 
+21db 600a0034 storet 4 ,mem_sniff_anchor 
+
+role_switch_prepare0:
+21dc 70455b01 jam switch_flag_accept ,mem_switch_flag 
+21dd 5800ffff setarg 0xffff 
+21de 60010032 store 2 ,mem_tsniff 
+21df 70007301 jam 1 ,mem_sniff_attempt 
+21e0 20600000 rtn 
+
+role_switch_master:
+21e1 44934004 bpatch patch04_6 ,mem_patch04 
+21e2 204021c9 call role_switch_check 
+21e3 24740000 nrtn user 
+21e4 78547c00 disable user 
+21e5 70001120 jam param_newconnto ,mem_newconnto_counter 
+21e6 793f800b set0 mark_fhs_already_good ,mark 
+
+roles_waitfhs_loop:
+21e7 20402a4f call rf_setup_time_master_slot 
+21e8 204022e6 call master_recv_packet 
+21e9 c505a1f4 bmark1 mark_fhs_already_good ,roles_replyto_fhs 
+21ea 20402455 call new_conn_timeout 
+21eb 243a21e7 nbranch roles_waitfhs_loop ,blank 
+
+role_switch_fail_master:
+21ec 4493c004 bpatch patch04_7 ,mem_patch04 
+21ed 78547c00 disable user 
+21ee 1c427e00 deposit clkn_bt 
+21ef 600240ca store 4 ,mem_next_btclk 
+21f0 78387c00 enable clknt 
+21f1 7834fc00 enable master 
+21f2 700a992a jam bt_evt_switch_fail_master ,mem_fifo_temp 
+21f3 20207d86 branch ui_ipc_send_event 
+
+roles_replyto_fhs:
+21f4 44944005 bpatch patch05_0 ,mem_patch05 
+21f5 20402a4d call rf_setup_time_slave_slot 
+21f6 d8200010 arg type_id ,type 
+21f7 204022dc call master_send_packet 
+21f8 78587c00 disable clknt 
+21f9 7854fc00 disable master 
+21fa 20402818 call apply_switch_clke 
+21fb 20402435 call prepare_newconn 
+
+roles_newconns_loop:
+21fc 4494c005 bpatch patch05_1 ,mem_patch05 
+21fd 2040247c call slave_newconn_once 
+21fe 2036a202 branch roles_newconns_responded ,match 
+21ff 20402455 call new_conn_timeout 
+2200 243a21fc nbranch roles_newconns_loop ,blank 
+2201 202021ec branch role_switch_fail_master 
+
+roles_newconns_responded:
+2202 68008031 fetch 1 ,mem_mode 
+2203 793ffe01 set0 mode_master ,pdata 
+2204 60008031 store 1 ,mem_mode 
+2205 20402a88 call supervision_flush 
+2206 20402841 call calc_clke_offset 
+2207 78347c00 enable user 
+2208 700a992b jam bt_evt_switch_success_master ,mem_fifo_temp 
+2209 20207d86 branch ui_ipc_send_event 
+
+context_load:
+220a 44954005 bpatch patch05_2 ,mem_patch05 
+220b 79200009 set1 mark_context ,mark 
+220c 1a227e00 deposit rega 
+220d 6001001e store 2 ,mem_context_ptr 
+220e 18007250 force context_size ,loopcnt 
+220f d8a0043f arg mem_le_state ,contw 
+2210 1a208c01 add rega ,coffset_mode ,contr 
+2211 e8c08000 ifetch 1 ,contr 
+2212 1a220c00 copy rega ,contr 
+2213 c2807f01 bbit1 mode_le ,memcpy 
+2214 d8a00030 arg mem_state ,contw 
+2215 20407f01 call memcpy 
+2216 78577c00 disable attempt 
+2217 68008077 fetch 1 ,mem_amaddr 
+2218 98000800 iforce am_addr 
+2219 70008a01 jam 1 ,mem_current_sniff_attempt 
+221a 2034a21c branch context_load_master ,master 
+221b 70008a01 jam 1 ,mem_current_sniff_attempt 
+
+context_load_master:
+221c 68008030 fetch 1 ,mem_state 
+221d c4008000 rtnbit0 state_insniff 
+221e 68008073 fetch 1 ,mem_sniff_attempt 
+221f 6000808a store 1 ,mem_current_sniff_attempt 
+2220 68008074 fetch 1 ,mem_sniff_timeout 
+2221 6000808b store 1 ,mem_current_sniff_timeout 
+2222 20600000 rtn 
+
+context_save:
+2223 4495c005 bpatch patch05_3 ,mem_patch05 
+2224 6801001e fetch 2 ,mem_context_ptr 
+2225 98000a00 iforce contw 
+2226 18007250 force context_size ,loopcnt 
+2227 d8c0043f arg mem_le_state ,contr 
+2228 203b7f01 branch memcpy ,le 
+2229 d8c00030 arg mem_state ,contr 
+222a 20207f01 branch memcpy 
+
+context_get_next:
+222b df200001 arg context_num ,loopcnt 
+222c 68088015 fetcht 1 ,mem_current_context 
+
+context_get_next_loop:
+222d 18408401 increase 1 ,temp 
+222e 2841fe01 compare context_num ,temp ,0xff 
+222f 2420a231 nbranch context_get_next_cont ,true 
+2230 d8400000 arg 0 ,temp 
+
+context_get_next_cont:
+2231 60088015 storet 1 ,mem_current_context 
+2232 184ffe50 mul32 temp ,context_size ,pdata 
+2233 da204040 arg mem_context ,rega 
+2234 9a20a200 iadd rega ,rega 
+2235 ea208000 ifetch 1 ,rega 
+2236 c280a239 bbit1 state_insniff ,context_get_next_sniff 
+2237 c3800000 rtnbit1 state_inconn 
+2238 c3818000 rtnbit1 state_inpage 
+
+context_get_next_sniff:
+2239 c200222d loop context_get_next_loop 
+223a 20600000 rtn 
+
+context_new:
+223b 44964005 bpatch patch05_4 ,mem_patch05 
+223c da60226a arg context_search_empty ,regc 
+223d 20402261 call context_search 
+223e 24628000 nrtn zero 
+223f 1a227e00 deposit rega 
+2240 6001001e store 2 ,mem_context_ptr 
+2241 18007c00 force 0 ,null 
+2242 20600000 rtn 
+
+context_check_all_wack:
+2243 20402725 call check_esco_amaddr 
+2244 2020a24b branch context_check_esco_wack ,true 
+2245 6801001e fetch 2 ,mem_context_ptr 
+2246 1fe08a17 add pdata ,coffset_arq ,contw 
+2247 68008047 fetch 1 ,mem_arq 
+2248 e0a08000 istore 1 ,contw 
+2249 da6022aa arg context_check_a_wack ,regc 
+224a 20202261 branch context_search 
+
+context_check_esco_wack:
+224b 68008047 fetch 1 ,mem_arq 
+224c 2feffe03 isolate1 wack ,pdata 
+224d 2020a250 branch context_esco_wack ,true 
+224e 18007c01 force 1 ,null 
+224f 20600000 rtn 
+
+context_esco_wack:
+2250 18007c00 force 0 ,null 
+2251 20600000 rtn 
+
+context_check_idle:
+2252 da6022a7 arg context_check_inconn ,regc 
+2253 20202261 branch context_search 
+
+context_traverse_linkkey:
+2254 6809001e fetcht 2 ,mem_context_ptr 
+2255 da6022cf arg context_traverse_clearkey ,regc 
+2256 20202261 branch context_search 
+
+context_search_conn_handle:
+2257 6808c1cf fetcht 1 ,mem_hci_conn_handle 
+
+context_search_conn_handle2:
+2258 da602275 arg context_search_handle ,regc 
+2259 20202261 branch context_search 
+
+context_search_plap:
+225a 4496c005 bpatch patch05_5 ,mem_patch05 
+225b 680b41d0 fetcht 6 ,mem_hci_plap 
+
+context_search_plap2:
+225c da60226e arg context_search_lap ,regc 
+225d 20202261 branch context_search 
+
+context_search_insniff:
+225e da60227b arg context_search_sniff ,regc 
+225f 20202261 branch context_search 
+
+context_search_sniff_window:
+2260 da6022c6 arg context_search_window ,regc 
+
+context_search:
+2261 44974005 bpatch patch05_6 ,mem_patch05 
+2262 da204040 arg mem_context ,rega 
+2263 df200001 arg context_num ,loopcnt 
+
+context_search_loop:
+2264 ea208000 ifetch 1 ,rega 
+2265 1a627a00 copy regc ,pc 
+
+context_search_next:
+2266 1a20a250 increase context_size ,rega 
+2267 c2002264 loop context_search_loop 
+2268 18007c01 force 1 ,null 
+2269 20600000 rtn 
+
+context_search_empty:
+226a c2802266 bbit1 state_inconn ,context_search_next 
+226b c281a266 bbit1 state_inpage ,context_search_next 
+226c 18007c00 force 0 ,null 
+226d 20600000 rtn 
+
+context_search_lap:
+226e c281a270 bbit1 state_inpage ,context_search_lap_cont 
+226f c3002266 bbit0 state_inconn ,context_search_next 
+
+context_search_lap_cont:
+2270 1a208c10 add rega ,coffset_plap ,contr 
+2271 e8c30000 ifetch 6 ,contr 
+2272 98467c00 isub temp ,null 
+2273 20628000 rtn zero 
+2274 20202266 branch context_search_next 
+
+context_search_handle:
+2275 c3002266 bbit0 state_inconn ,context_search_next 
+2276 1a208c16 add rega ,coffset_conn_handle ,contr 
+2277 e8c08000 ifetch 1 ,contr 
+2278 98467c00 isub temp ,null 
+2279 20628000 rtn zero 
+227a 20202266 branch context_search_next 
+
+context_search_sniff:
+227b c300a266 bbit0 state_insniff ,context_search_next 
+
+context_search_sniff_loop:
+227c 204022b3 call context_get_anchor 
+227d 20402297 call sign_pdata_temp 
+227e 98467e00 isub temp ,pdata 
+227f 1fe0fe01 increase 1 ,pdata 
+2280 20212291 branch context_search_sniff_miss ,positive 
+2281 18c22400 copy contr ,regb 
+2282 60048aa2 store 9 ,mem_temp 
+2283 6800c4c0 fetch 1 ,mem_le_sc_calc 
+2284 243a2289 nbranch context_search_sniff_sc ,blank 
+2285 68048aa2 fetch 9 ,mem_temp 
+2286 1a420c00 copy regb ,contr 
+2287 1fe0fe05 increase 5 ,pdata 
+2288 2020228c branch context_search_meet1 
+
+context_search_sniff_sc:
+2289 68048aa2 fetch 9 ,mem_temp 
+228a 1a420c00 copy regb ,contr 
+228b 1fe0fe14 increase 20 ,pdata 
+
+context_search_meet1:
+228c 24212266 nbranch context_search_next ,positive 
+
+context_search_meet:
+228d 18424200 copy temp ,bt_clk 
+228e 204022bf call context_next_anchor 
+228f 18007c00 force 0 ,null 
+2290 20600000 rtn 
+
+context_search_sniff_miss:
+2291 98002400 iforce regb 
+2292 1a208c02 add rega ,coffset_tsniff ,contr 
+2293 e8c10000 ifetch 2 ,contr 
+2294 203a228d branch context_search_meet ,blank 
+2295 204022bf call context_next_anchor 
+2296 2020227c branch context_search_sniff_loop 
+
+sign_pdata_temp:
+2297 1ff11600 rshift16 pdata ,timeup 
+2298 196c9600 rshift8 timeup ,timeup 
+2299 2022a2a1 branch sign_pdata_temp_p0 ,zero 
+229a 29601e0f compare 0xf ,timeup ,0xf 
+229b 24608000 nrtn true 
+229c 18511600 rshift16 temp ,timeup 
+229d 196c9600 rshift8 timeup ,timeup 
+229e 24628000 nrtn zero 
+229f 7920041c set1 28 ,temp 
+22a0 20600000 rtn 
+
+sign_pdata_temp_p0:
+22a1 18511600 rshift16 temp ,timeup 
+22a2 196c9600 rshift8 timeup ,timeup 
+22a3 29601e0f compare 0xf ,timeup ,0xf 
+22a4 24608000 nrtn true 
+22a5 79207e1c set1 28 ,pdata 
+22a6 20600000 rtn 
+
+context_check_inconn:
+22a7 c3002266 bbit0 state_inconn ,context_search_next 
+22a8 18007c00 force 0 ,null 
+22a9 20600000 rtn 
+
+context_check_a_wack:
+22aa c3002266 bbit0 state_inconn ,context_search_next 
+22ab 1a208c01 add rega ,coffset_mode ,contr 
+22ac e8c08000 ifetch 1 ,contr 
+22ad c2802266 bbit1 mode_le ,context_search_next 
+22ae 1a208c17 add rega ,coffset_arq ,contr 
+22af e8c08000 ifetch 1 ,contr 
+22b0 c301a266 bbit0 wack ,context_search_next 
+22b1 18007c00 force 0 ,null 
+22b2 20600000 rtn 
+
+context_get_anchor:
+22b3 1a208c01 add rega ,coffset_mode ,contr 
+22b4 e8c88000 ifetcht 1 ,contr 
+22b5 1c427e00 deposit clkn_bt 
+22b6 284ffe01 isolate1 mode_master ,temp 
+22b7 1a208c04 add rega ,coffset_sniff_anchor ,contr 
+22b8 e8ca0000 ifetcht 4 ,contr 
+22b9 20608000 rtn true 
+22ba 1a208c08 add rega ,coffset_clk_offset ,contr 
+22bb e8c30000 ifetch 6 ,contr 
+22bc 20402854 call calc_clke2 
+22bd 1d027e00 deposit clke_bt 
+22be 20600000 rtn 
+
+context_next_anchor:
+22bf 1a208c02 add rega ,coffset_tsniff ,contr 
+22c0 1a208a04 add rega ,coffset_sniff_anchor ,contw 
+22c1 e8c10000 ifetch 2 ,contr 
+22c2 98409600 iadd temp ,timeup 
+22c3 19627e00 deposit timeup 
+22c4 e0a20000 istore 4 ,contw 
+22c5 20205449 branch le_context_nexthop 
+
+context_search_window:
+22c6 c300a266 bbit0 state_insniff ,context_search_next 
+22c7 204022b3 call context_get_anchor 
+22c8 9b60fe00 iadd stop_watch ,pdata 
+22c9 9b60fe00 iadd stop_watch ,pdata 
+22ca 98e0fe00 iadd queue ,pdata 
+22cb 98467c00 isub temp ,null 
+22cc 24212266 nbranch context_search_next ,positive 
+22cd 18007c00 force 0 ,null 
+22ce 20600000 rtn 
+
+context_traverse_clearkey:
+22cf c3002266 bbit0 state_inconn ,context_search_next 
+22d0 18427e00 deposit temp 
+22d1 9a267c00 isub rega ,null 
+22d2 203f2266 branch context_search_next ,null 
+22d3 1a208c01 add rega ,coffset_mode ,contr 
+22d4 e8c08000 ifetch 1 ,contr 
+22d5 c2802266 bbit1 mode_le ,context_search_next 
+22d6 ea208000 ifetch 1 ,rega 
+22d7 793ffe07 set0 state_linkkey ,pdata 
+22d8 e2208000 istore 1 ,rega 
+22d9 20202266 branch context_search_next 
+
+master_conn_send_packet:
+22da 4497c005 bpatch patch05_7 ,mem_patch05 
+22db 20402a4f call rf_setup_time_master_slot 
+
+master_send_packet:
+22dc 1c40c201 add clkn_bt ,1 ,bt_clk 
+22dd 204028e2 call fetch_self_bt_adr 
+22de 18004803 force 0x03 ,freq_mode 
+22df 204028d2 call tx_radio_freq 
+22e0 20402a51 call start_transmitter 
+22e1 20402a56 call start_tx_native 
+22e2 20402a64 call send_access_word 
+22e3 20202762 branch transmit_packet 
+
+master_conn_recv_packet:
+22e4 44984006 bpatch patch06_0 ,mem_patch06 
+22e5 20402a4d call rf_setup_time_slave_slot 
+
+master_recv_packet:
+22e6 1c40c201 add clkn_bt ,1 ,bt_clk 
+22e7 204028e2 call fetch_self_bt_adr 
+22e8 18004803 force 0x03 ,freq_mode 
+22e9 204028cc call rx_radio_freq 
+22ea 2040242a call init_rx_packet_flags 
+22eb 204029f1 call prep_crypt 
+22ec 20402a5b call start_rx_native 
+22ed 204029eb call start_receiver 
+
+master_rx_conn_finish_packet:
+22ee 20402a0d call wait_access_clkn_rt 
+22ef 246c0000 nrtn sync 
+22f0 204029bb call save_rssi 
+22f1 2020251c branch receive_packet 
+
+master_newconn_once:
+22f2 4498c006 bpatch patch06_1 ,mem_patch06 
+22f3 68008181 fetch 1 ,mem_fhs_am_addr 
+22f4 98000800 iforce am_addr 
+22f5 18000201 force type_poll ,type 
+22f6 204022da call master_conn_send_packet 
+22f7 202022e4 branch master_conn_recv_packet 
+
+inquiry_scan_dispatch:
+22f8 6800c093 fetch 1 ,mem_scan_mode 
+22f9 c4000000 rtnbit0 inq_scan_mode 
+22fa 18000e04 force iscan_interval_timer ,queue 
+22fb 20407f16 call timer_check 
+22fc 247a0000 nrtn blank 
+22fd 680940ad fetcht 2 ,mem_iscan_window 
+22fe 18000e04 force 4 ,queue 
+22ff 2040271c call sniff_check_window 
+2300 20740000 rtn user 
+2301 20402308 call inquiry_scan_start 
+2302 18000e04 force iscan_interval_timer ,queue 
+2303 680140af fetch 2 ,mem_iscan_interval 
+2304 242c7f08 nbranch timer_init ,sync 
+2305 180a7e00 random pdata 
+2306 9ea17e00 iand mask3ff ,pdata 
+2307 20207f08 branch timer_init 
+
+inquiry_scan_start:
+2308 44994006 bpatch patch06_2 ,mem_patch06 
+2309 70018100 jam 0 ,mem_fhs_am_addr 
+230a 78587c00 disable clknt 
+230b 78577c00 disable attempt 
+230c 204028a4 call afh_clear 
+230d 1c4143fc and clkn_bt ,0x1fc ,bt_clk 
+230e 18004801 force 0x01 ,freq_mode 
+230f 204028d8 call fetch_giac 
+2310 204028cc call rx_radio_freq 
+2311 7940001d setflip mark_inquiry_state ,mark 
+2312 68008006 fetch 1 ,mem_inquiryscan_waitcnt 
+2313 1fe0fe01 increase 1 ,pdata 
+2314 60008006 store 1 ,mem_inquiryscan_waitcnt 
+2315 204028f2 call fetch_diac 
+2316 204029eb call start_receiver 
+2317 20402a14 call wait_access_forever 
+2318 246c0000 nrtn sync 
+2319 4499c006 bpatch patch06_3 ,mem_patch06 
+231a 18003600 force 0 ,stop_watch 
+231b 204028f9 call shutdown_radio 
+231c 68008007 fetch 1 ,mem_inquiryscan_rcvcnt 
+231d 1fe0fe01 increase 1 ,pdata 
+231e 60008007 store 1 ,mem_inquiryscan_rcvcnt 
+231f 204028d8 call fetch_giac 
+2320 20402a4d call rf_setup_time_slave_slot 
+2321 1c21c202 or_into 0x002 ,bt_clk 
+2322 18004801 force 0x01 ,freq_mode 
+2323 204028d2 call tx_radio_freq 
+2324 204028f2 call fetch_diac 
+2325 20402a51 call start_transmitter 
+2326 20402a5f call start_tx_external 
+2327 1c427e00 deposit clkn_bt 
+2328 60020161 store 4 ,mem_clkn_bt 
+2329 20402a64 call send_access_word 
+232a 18000202 force type_fhs ,type 
+232b 18000800 force 0 ,am_addr 
+232c 20402a6b call scan_mode_whiten 
+232d 20402766 call transmit_packet_whitened 
+232e 20402332 call send_eir 
+232f 1c2143fd and_into 0x1fd ,bt_clk 
+2330 1cc0cc01 increase 1 ,n_tx_slot 
+2331 20600000 rtn 
+
+send_eir:
+2332 449a4006 bpatch patch06_4 ,mem_patch06 
+2333 6800c0d1 fetch 1 ,mem_eir_enable 
+2334 207a0000 rtn blank 
+2335 d8a0018e arg mem_eir ,contw 
+2336 6800c515 fetch 1 ,mem_local_name_length 
+2337 1fe27200 copy pdata ,loopcnt 
+2338 1fe0fe01 increase 1 ,pdata 
+2339 e0a08000 istore 1 ,contw 
+233a 18a20400 copy contw ,temp 
+233b 1fe0fe01 increase 1 ,pdata 
+233c 600141dc store 2 ,mem_tx_len 
+233d 18420a00 copy temp ,contw 
+233e 58000009 setarg 0x09 
+233f e0a08000 istore 1 ,contw 
+2340 d8c04516 arg mem_local_name ,contr 
+2341 20407f01 call memcpy 
+2342 da60458d arg mem_all_uuid_128bits ,regc 
+2343 df200004 arg 4 ,loopcnt 
+2344 20402354 call get_all_uuid 
+2345 da604577 arg mem_all_uuid_16bits ,regc 
+2346 df200001 arg 1 ,loopcnt 
+2347 20402354 call get_all_uuid 
+2348 1800020a force type_dm3 ,type 
+2349 7041db02 jam 2 ,mem_tx_lch 
+234a 5800018e setarg mem_eir 
+234b 6001016f store 2 ,mem_txptr 
+234c 20402a4d call rf_setup_time_slave_slot 
+234d 204028d2 call tx_radio_freq 
+234e 20402a51 call start_transmitter 
+234f 20402a5f call start_tx_external 
+2350 20402a64 call send_access_word 
+2351 20402a6b call scan_mode_whiten 
+2352 20402766 call transmit_packet_whitened 
+2353 20600000 rtn 
+
+get_all_uuid:
+2354 18a20400 copy contw ,temp 
+2355 1a620c00 copy regc ,contr 
+2356 e8c08000 ifetch 1 ,contr 
+2357 207a0000 rtn blank 
+
+lshift_loop:
+2358 1fe3fe00 lshift pdata ,pdata 
+2359 c2002358 loop lshift_loop 
+235a 1fe22200 copy pdata ,rega 
+235b 1fe0fe02 increase 2 ,pdata 
+235c 1fe20e00 copy pdata ,queue 
+235d 680141dc fetch 2 ,mem_tx_len 
+235e 98e0fe00 iadd queue ,pdata 
+235f 600141dc store 2 ,mem_tx_len 
+2360 18420a00 copy temp ,contw 
+2361 1a227e00 copy rega ,pdata 
+2362 1fe0fe01 increase 1 ,pdata 
+2363 e0a08000 istore 1 ,contw 
+2364 1a620c00 copy regc ,contr 
+2365 e8c08000 ifetch 1 ,contr 
+2366 e8c08000 ifetch 1 ,contr 
+2367 e0a08000 istore 1 ,contw 
+2368 1a227200 copy rega ,loopcnt 
+2369 20207f01 branch memcpy 
+
+page_scan_dispatch:
+236a 6800c093 fetch 1 ,mem_scan_mode 
+236b c4008000 rtnbit0 page_scan_mode 
+236c 18000e05 force pscan_interval_timer ,queue 
+236d 20407f16 call timer_check 
+236e 247a0000 nrtn blank 
+236f 680940b1 fetcht 2 ,mem_pscan_window 
+2370 18000e28 force 40 ,queue 
+2371 2040271c call sniff_check_window 
+2372 20740000 rtn user 
+2373 18000800 force 0 ,am_addr 
+2374 70001008 jam param_pagerespto ,mem_fhs_wait_counter 
+2375 793f800b set0 mark_fhs_already_good ,mark 
+2376 2040237a call page_scan_start 
+2377 18000e05 force pscan_interval_timer ,queue 
+2378 680140b3 fetch 2 ,mem_pscan_interval 
+2379 20207f08 branch timer_init 
+
+page_scan_start:
+237a 449ac006 bpatch patch06_5 ,mem_patch06 
+237b 78587c00 disable clknt 
+237c 204028a4 call afh_clear 
+237d 68008008 fetch 1 ,mem_pagescan_waitcnt 
+237e 1fe0fe01 increase 1 ,pdata 
+237f 60008008 store 1 ,mem_pagescan_waitcnt 
+2380 18004c00 force 0 ,n_tx_slot 
+2381 204028e2 call fetch_self_bt_adr 
+2382 1c40c201 add clkn_bt ,1 ,bt_clk 
+2383 18004802 force 0x02 ,freq_mode 
+2384 449b4006 bpatch patch06_6 ,mem_patch06 
+2385 204028cc call rx_radio_freq 
+2386 204029eb call start_receiver 
+2387 20402a14 call wait_access_forever 
+2388 246c0000 nrtn sync 
+2389 204028f9 call shutdown_radio 
+238a 68008009 fetch 1 ,mem_pagescan_rcvcnt 
+238b 1fe0fe01 increase 1 ,pdata 
+238c 60008009 store 1 ,mem_pagescan_rcvcnt 
+238d 18003600 force 0 ,stop_watch 
+238e 20402a4d call rf_setup_time_slave_slot 
+238f 1c21c202 or_into 0x002 ,bt_clk 
+2390 18004801 force 0x01 ,freq_mode 
+2391 204028d2 call tx_radio_freq 
+2392 20402a51 call start_transmitter 
+2393 20402a5f call start_tx_external 
+2394 20402a64 call send_access_word 
+2395 2040264d call end_of_packet 
+2396 18000800 force 0 ,am_addr 
+2397 d9600600 arg param_rf_setup ,timeup 
+2398 35330200 until clke_rt ,meet 
+2399 1d01d003 or_into 0x03 ,clke_bt 
+239a 1c2143fd and_into 0x1fd ,bt_clk 
+
+page_scan_wait_fhs_restart:
+239b 449bc006 bpatch patch06_7 ,mem_patch06 
+239c 1cc0cc01 increase 1 ,n_tx_slot 
+239d 204028cc call rx_radio_freq 
+239e 204029eb call start_receiver 
+239f 20402a07 call wait_access_mhalfbnd 
+23a0 242c23a4 nbranch page_scan_wait_fhs_again ,sync 
+23a1 20402a6b call scan_mode_whiten 
+23a2 2040251e call receive_packet_whitened 
+23a3 c505a3ab bmark1 mark_fhs_already_good ,page_scan_reply_to_fhs 
+
+page_scan_wait_fhs_again:
+23a4 449c4007 bpatch patch07_0 ,mem_patch07 
+23a5 68008010 fetch 1 ,mem_fhs_wait_counter 
+23a6 207a0000 rtn blank 
+23a7 1fe0ffff increase -1 ,pdata 
+23a8 60008010 store 1 ,mem_fhs_wait_counter 
+23a9 20402a4f call rf_setup_time_master_slot 
+23aa 2020239b branch page_scan_wait_fhs_restart 
+
+page_scan_reply_to_fhs:
+23ab 449cc007 bpatch patch07_1 ,mem_patch07 
+23ac 793fd001 set0 1 ,clke_bt 
+23ad 79205000 set1 0 ,clke_bt 
+23ae 6800800a fetch 1 ,mem_pagescan_rcvfhscnt 
+23af 1fe0fe01 increase 1 ,pdata 
+23b0 6000800a store 1 ,mem_pagescan_rcvfhscnt 
+23b1 20402a4d call rf_setup_time_slave_slot 
+23b2 1c21c202 or_into 0x02 ,bt_clk 
+23b3 204028d2 call tx_radio_freq 
+23b4 20402a51 call start_transmitter 
+23b5 20402a5f call start_tx_external 
+23b6 20402a64 call send_access_word 
+23b7 2040264d call end_of_packet 
+
+slave_apply_clke_bt:
+23b8 2d000603 compare 0x03 ,clke_bt ,0x03 
+23b9 2020a3bc branch slave_apply_clke_bt_now ,true 
+23ba 37cb8200 until null ,mhalfbnd 
+23bb 202023b8 branch slave_apply_clke_bt 
+
+slave_apply_clke_bt_now:
+23bc 68020165 fetch 4 ,mem_clke_bt 
+23bd 1fe1fe03 or_into 0x03 ,pdata 
+23be 1fe25000 icopy clke_bt 
+
+start_slave_connection:
+23bf 449d4007 bpatch patch07_2 ,mem_patch07 
+23c0 68030178 fetch 6 ,extm_lap 
+23c1 60030040 store 6 ,mem_plap 
+23c2 20402435 call prepare_newconn 
+
+slave_newconn_loop:
+23c3 2040247c call slave_newconn_once 
+23c4 2036a3c8 branch sconn_successful ,match 
+23c5 20402455 call new_conn_timeout 
+23c6 243a23c3 nbranch slave_newconn_loop ,blank 
+23c7 20600000 rtn 
+
+sconn_successful:
+23c8 449dc007 bpatch patch07_3 ,mem_patch07 
+23c9 20402440 call newconn_init 
+23ca 2040223b call context_new 
+23cb 24628000 nrtn zero 
+23cc 70003100 jam 0 ,mem_mode 
+23cd 20402841 call calc_clke_offset 
+23ce 20202223 branch context_save 
+
+slave_dispatch:
+23cf 449e4007 bpatch patch07_4 ,mem_patch07 
+23d0 20402850 call calc_clke 
+23d1 204023f3 call role_switch_slave 
+23d2 20740000 rtn user 
+
+slave_loop:
+23d3 449ec007 bpatch patch07_5 ,mem_patch07 
+23d4 20402c69 call check_bt_disabled 
+23d5 20406caa call scheduler_process 
+23d6 20402514 call slave_conn_recv_packet 
+23d7 2436a3e2 nbranch slave_notmatch ,match 
+23d8 20402a88 call supervision_flush 
+23d9 20406cc2 call scheduler_tx_l2cap_pkt 
+23da 20402489 call prepare_tx 
+23db 20402757 call slave_conn_send_packet 
+23dc 20402728 call parse_l2cap 
+23dd 20405d08 call parse_lmp 
+23de 6800800b fetch 1 ,mem_slave_rcvcnt 
+23df 1fe0fe01 increase 1 ,pdata 
+23e0 6000800b store 1 ,mem_slave_rcvcnt 
+23e1 20402841 call calc_clke_offset 
+
+slave_notmatch:
+23e2 449f4007 bpatch patch07_6 ,mem_patch07 
+23e3 20402bb1 call lpm_set_mult 
+23e4 20402a7f call supervision_update 
+23e5 202123eb branch slave_disconnect ,positive 
+23e6 204021a7 call check_disconnect_timeout 
+23e7 243423eb nbranch slave_disconnect ,user 
+23e8 204026f3 call check_attempt 
+23e9 243a23d3 nbranch slave_loop ,blank 
+23ea 20600000 rtn 
+
+slave_disconnect:
+23eb 449fc007 bpatch patch07_7 ,mem_patch07 
+23ec 70015100 jam 0 ,mem_tester_emulate 
+23ed 70017f00 jam 0 ,mem_debug_config 
+23ee 2040245d call quit_connection 
+23ef 793f8011 set0 mark_testmode ,mark 
+23f0 20407fb0 call test_enable_white 
+23f1 68008030 fetch 1 ,mem_state 
+23f2 20600000 rtn 
+
+role_switch_slave:
+23f3 44a04008 bpatch patch08_0 ,mem_patch08 
+23f4 204021c9 call role_switch_check 
+23f5 24740000 nrtn user 
+23f6 18820400 copy am_addr ,temp 
+23f7 20402a6f call get_free_amaddr 
+23f8 60008181 store 1 ,mem_fhs_am_addr 
+23f9 18420800 copy temp ,am_addr 
+23fa 70001120 jam param_newconnto ,mem_newconnto_counter 
+
+roles_sendfhs_loop:
+23fb 44a0c008 bpatch patch08_1 ,mem_patch08 
+23fc 20402a4f call rf_setup_time_master_slot 
+23fd 18000202 force type_fhs ,type 
+23fe 2040274f call slave_send_access 
+23ff 1c427e00 deposit clkn_bt 
+2400 60020161 store 4 ,mem_clkn_bt 
+2401 20402762 call transmit_packet 
+2402 20402a4d call rf_setup_time_slave_slot 
+2403 7837fc00 enable user3 
+2404 204024f6 call slave_receive_access 
+2405 202c240d branch roles_got_fhs_reply ,sync 
+2406 204028f9 call shutdown_radio 
+2407 20402455 call new_conn_timeout 
+2408 243a23fb nbranch roles_sendfhs_loop ,blank 
+2409 c6820000 rtnmark0 mark_accept_switch 
+240a 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+240b 79200003 set1 mark_switch_initiated ,mark 
+240c 20600000 rtn 
+
+roles_got_fhs_reply:
+240d 78387c00 enable clknt 
+240e 20402435 call prepare_newconn 
+240f 204028a4 call afh_clear 
+
+roles_newconn_loop:
+2410 44a14008 bpatch patch08_2 ,mem_patch08 
+2411 204022f2 call master_newconn_once 
+2412 202c2419 branch roles_newconn_responded ,sync 
+2413 20402455 call new_conn_timeout 
+2414 243a2410 nbranch roles_newconn_loop ,blank 
+2415 78587c00 disable clknt 
+2416 1d027e00 deposit clke_bt 
+2417 600240ca store 4 ,mem_next_btclk 
+2418 20600000 rtn 
+
+roles_newconn_responded:
+2419 7834fc00 enable master 
+241a c582241f bmark0 mark_accept_switch ,roles_newconn_nolmp 
+241b 793f8004 set0 mark_accept_switch ,mark 
+241c 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+241d 70007d33 jam lmp_host_connection_req ,mem_lmi_opcode2 
+241e 204062f8 call tid_set_reply 
+
+roles_newconn_nolmp:
+241f 18827e00 deposit am_addr 
+2420 60008077 store 1 ,mem_amaddr 
+2421 18007e00 force 0 ,pdata 
+2422 60030038 store 6 ,mem_clk_offset 
+2423 68008031 fetch 1 ,mem_mode 
+2424 79207e01 set1 mode_master ,pdata 
+2425 60008031 store 1 ,mem_mode 
+2426 20402a88 call supervision_flush 
+2427 7854fc00 disable master 
+2428 78347c00 enable user 
+2429 20600000 rtn 
+
+init_rx_packet_flags:
+242a 44a1c008 bpatch patch08_3 ,mem_patch08 
+242b 7856fc00 disable match 
+242c 793f8005 set0 mark_loopback ,mark 
+242d 793f800a set0 mark_am_addr_broadcast ,mark 
+242e 793f8010 set0 mark_longpacket ,mark 
+242f 793f800f set0 mark_old_packet ,mark 
+2430 68008047 fetch 1 ,mem_arq 
+2431 793ffe05 set0 arqnx ,pdata 
+2432 79207e04 set1 flowx ,pdata 
+2433 60008047 store 1 ,mem_arq 
+2434 20600000 rtn 
+
+prepare_newconn:
+2435 44a24008 bpatch patch08_4 ,mem_patch08 
+2436 70001120 jam param_newconnto ,mem_newconnto_counter 
+2437 70004750 jam param_newconn_arq ,mem_arq 
+2438 680140bf fetch 2 ,mem_rx_window_init 
+2439 6001003e store 2 ,mem_rx_window 
+243a 1c427e00 deposit clkn_bt 
+243b 600240ca store 4 ,mem_next_btclk 
+243c 20780000 rtn clknt 
+243d 1d027e00 deposit clke_bt 
+243e 600240ca store 4 ,mem_next_btclk 
+243f 20600000 rtn 
+
+newconn_init:
+2440 44a2c008 bpatch patch08_5 ,mem_patch08 
+2441 20405d04 call init_lmp_reinit 
+2442 20402459 call new_conn_handle 
+2443 60008046 store 1 ,mem_conn_handle 
+2444 58000000 setarg 0 
+2445 6001025d store 2 ,mem_l2cap_rxbuff1_len 
+2446 58001c80 setarg param_supervision_to 
+2447 60010051 store 2 ,mem_supervision_to 
+2448 68008030 fetch 1 ,mem_state 
+2449 79207e00 set1 state_inconn ,pdata 
+244a 60008030 store 1 ,mem_state 
+244b 70004b00 jam 0 ,mem_op 
+244c 70004c00 jam 0 ,mem_state_map 
+244d 7000a000 jam 0 ,mem_lpm_current_mult 
+244e 20202a88 branch supervision_flush 
+
+clear_linkkey:
+244f 44a34008 bpatch patch08_6 ,mem_patch08 
+2450 18007e00 force 0 ,pdata 
+2451 600441be store 8 ,mem_link_key 
+2452 e0a40000 istore 8 ,contw 
+2453 204021c5 call clear_linkstate 
+2454 20202254 branch context_traverse_linkkey 
+
+new_conn_timeout:
+2455 68008011 fetch 1 ,mem_newconnto_counter 
+2456 1fe0ffff increase -1 ,pdata 
+2457 60008011 store 1 ,mem_newconnto_counter 
+2458 20600000 rtn 
+
+new_conn_handle:
+2459 6800c0cf fetch 1 ,mem_handle_num 
+245a 1fe0fe01 increase 1 ,pdata 
+245b 6000c0cf store 1 ,mem_handle_num 
+245c 20600000 rtn 
+
+quit_connection:
+245d 44a3c008 bpatch patch08_7 ,mem_patch08 
+245e 6800c1ce fetch 1 ,mem_hci_cmd 
+245f c001a462 beq hci_cmd_remote_name_req ,quit_connection_name 
+2460 68008048 fetch 1 ,mem_lmp_to_send 
+2461 c080a466 bne lmp_name_req ,quit_connection_cont 
+
+quit_connection_name:
+2462 20404d06 call cmd_check_plap 
+2463 2422a466 nbranch quit_connection_cont ,zero 
+2464 204021a4 call master_name_error 
+2465 7041ce00 jam 0 ,mem_hci_cmd 
+
+quit_connection_cont:
+2466 44a44009 bpatch patch09_0 ,mem_patch09 
+2467 204033af call app_disconn_reason_collect_bt 
+2468 204026e9 call sniff_exit 
+2469 700a9902 jam bt_evt_bb_disconnected ,mem_fifo_temp 
+246a 20407d86 call ui_ipc_send_event 
+246b 20405cf7 call init_lmp_work 
+246c 20404d6b call l2cap_init_work 
+246d 2040757d call sp_initialize 
+246e 68008030 fetch 1 ,mem_state 
+246f 793ffe00 set0 state_inconn 
+2470 60008030 store 1 ,mem_state 
+2471 70468100 jam 0 ,memui_reconnect_mode 
+2472 6800804c fetch 1 ,mem_state_map 
+2473 2fe18000 compare 0x0 ,pdata ,0xc0 
+2474 2020a476 branch quit_connection_not_clear_mark ,true 
+2475 793f8001 set0 mark_rxbuf_inuse ,mark 
+
+quit_connection_not_clear_mark:
+2476 68008047 fetch 1 ,mem_arq 
+2477 c301a478 bbit0 wack ,quit_connection_not_clear_tx 
+
+quit_connection_not_clear_tx:
+2478 6800804b fetch 1 ,mem_op 
+2479 c4030000 rtnbit0 op_txl2cap 
+247a 793f8002 set0 mark_tx_l2cap ,mark 
+247b 20600000 rtn 
+
+slave_newconn_once:
+247c 44a4c009 bpatch patch09_1 ,mem_patch09 
+247d 68008174 fetch 1 ,extm_newconn_am_addr 
+247e 207a0000 rtn blank 
+247f 1fe20800 icopy am_addr 
+2480 20402514 call slave_conn_recv_packet 
+2481 24768000 nrtn match 
+2482 18000200 force type_null ,type 
+2483 20402757 call slave_conn_send_packet 
+2484 18827e00 deposit am_addr 
+2485 60008077 store 1 ,mem_amaddr 
+2486 18007e00 force 0 ,pdata 
+2487 60008174 store 1 ,extm_newconn_am_addr 
+2488 20600000 rtn 
+
+prepare_tx:
+2489 44a54009 bpatch patch09_2 ,mem_patch09 
+248a 68008030 fetch 1 ,mem_state 
+248b c3012496 bbit0 state_insco ,prepare_tx_not_sco 
+248c 18000207 force type_hv3 ,type 
+248d c583a495 bmark0 mark_esco ,prepare_tx_not_esco 
+248e 20402725 call check_esco_amaddr 
+248f 2420a496 nbranch prepare_tx_not_sco ,true 
+2490 20372496 branch prepare_tx_not_sco ,attempt 
+2491 204024c1 call set_wait_ack 
+2492 58000002 setarg 2 
+2493 600140c8 store 2 ,mem_retransmission_cnt 
+2494 20600000 rtn 
+
+prepare_tx_not_esco:
+2495 24770000 nrtn attempt 
+
+prepare_tx_not_sco:
+2496 44a5c009 bpatch patch09_3 ,mem_patch09 
+2497 20402243 call context_check_all_wack 
+2498 2422a4a7 nbranch prepare_tx_no_retransmit ,zero 
+2499 68008047 fetch 1 ,mem_arq 
+249a c301a4b0 bbit0 wack ,prepare_tx_pollnull 
+
+prepare_tx_retransmit:
+249b c502a4b4 bmark1 mark_loopback ,prepare_tx_loopback 
+249c 6800817f fetch 1 ,mem_debug_config 
+249d c28324ba bbit1 debug_tx_pattern ,prepare_tx_txpat 
+249e 680140c8 fetch 2 ,mem_retransmission_cnt 
+249f 1fe0ffff increase -1 ,pdata 
+24a0 600140c8 store 2 ,mem_retransmission_cnt 
+24a1 203a24a5 branch prepare_tx_nomore_retransmit ,blank 
+24a2 6800c0c5 fetch 1 ,mem_last_type 
+24a3 98000200 iforce type 
+24a4 20600000 rtn 
+
+prepare_tx_nomore_retransmit:
+24a5 44a64009 bpatch patch09_4 ,mem_patch09 
+24a6 20402687 call clear_got_tx 
+
+prepare_tx_no_retransmit:
+24a7 20402725 call check_esco_amaddr 
+24a8 2020a4b0 branch prepare_tx_pollnull ,true 
+24a9 2040600a call send_lmp 
+24aa 203424be branch prepare_tx_sendlmp ,user 
+24ab 6800804b fetch 1 ,mem_op 
+24ac c28324c0 bbit1 op_txl2cap ,prepare_tx_sendl2cap 
+24ad c502a4b4 bmark1 mark_loopback ,prepare_tx_loopback 
+24ae 6800817f fetch 1 ,mem_debug_config 
+24af c28324ba bbit1 debug_tx_pattern ,prepare_tx_txpat 
+
+prepare_tx_pollnull:
+24b0 18000201 force type_poll ,type 
+24b1 20748000 rtn master 
+24b2 18000200 force type_null ,type 
+24b3 20600000 rtn 
+
+prepare_tx_loopback:
+24b4 44a6c009 bpatch patch09_5 ,mem_patch09 
+24b5 68008019 fetch 1 ,mem_rx_type 
+24b6 98000200 iforce type 
+24b7 c1808000 rtnne 1 
+24b8 18000200 force type_null ,type 
+24b9 20600000 rtn 
+
+prepare_tx_txpat:
+24ba 68008158 fetch 1 ,test_mode_packet_type 
+24bb 1fe1020f and pdata ,0xf ,type 
+24bc 79200005 set1 mark_loopback ,mark 
+24bd 20600000 rtn 
+
+prepare_tx_sendlmp:
+24be 18000213 force type_lmp ,type 
+24bf 202024c1 branch set_wait_ack 
+
+prepare_tx_sendl2cap:
+24c0 204024ca call tx_l2cap_type 
+
+set_wait_ack:
+24c1 44a74009 bpatch patch09_6 ,mem_patch09 
+24c2 68088047 fetcht 1 ,mem_arq 
+24c3 79200403 set1 wack ,temp 
+24c4 60088047 storet 1 ,mem_arq 
+24c5 18227e00 deposit type 
+24c6 6000c0c5 store 1 ,mem_last_type 
+24c7 5800ffff setarg 0xffff 
+24c8 600140c8 store 2 ,mem_retransmission_cnt 
+24c9 20600000 rtn 
+
+tx_l2cap_type:
+24ca 44a7c009 bpatch patch09_7 ,mem_patch09 
+24cb 6800804c fetch 1 ,mem_state_map 
+24cc 2feffe05 isolate1 smap_edr ,pdata 
+24cd 680141dc fetch 2 ,mem_tx_len 
+24ce 2020a4e0 branch tx_l2cap_type_edr ,true 
+24cf 18000203 force type_dm1 ,type 
+24d0 1fe67c11 sub pdata ,17 ,null 
+24d1 20610000 rtn positive 
+24d2 18000204 force type_dh1 ,type 
+24d3 1fe67c1b sub pdata ,27 ,null 
+24d4 20610000 rtn positive 
+24d5 1800020a force type_dm3 ,type 
+24d6 1fe67c79 sub pdata ,121 ,null 
+24d7 20610000 rtn positive 
+24d8 1800020b force type_dh3 ,type 
+24d9 1fe67cb7 sub pdata ,183 ,null 
+24da 20610000 rtn positive 
+24db 1800020e force type_dm5 ,type 
+24dc 1fe67ce0 sub pdata ,224 ,null 
+24dd 20610000 rtn positive 
+24de 1800020f force type_dh5 ,type 
+24df 20600000 rtn 
+
+tx_l2cap_type_edr:
+24e0 18000203 force type_dm1 ,type 
+24e1 1fe67c11 sub pdata ,17 ,null 
+24e2 20610000 rtn positive 
+24e3 18000204 force type_dh1 ,type 
+24e4 1fe67c36 sub pdata ,54 ,null 
+24e5 20610000 rtn positive 
+24e6 1800020a force type_dm3 ,type 
+24e7 d840016f arg 367 ,temp 
+24e8 98467c00 isub temp ,null 
+24e9 24610000 nrtn positive 
+24ea 1800020e force type_dm5 ,type 
+24eb d84002a7 arg 679 ,temp 
+24ec 98467c00 isub temp ,null 
+24ed 24610000 nrtn positive 
+24ee 1800020f force type_dh5 ,type 
+24ef 20600000 rtn 
+
+slave_receive_master_slot:
+24f0 68008030 fetch 1 ,mem_state 
+24f1 c300a4f5 bbit0 state_insniff ,slave_receive_notsniff 
+24f2 68010032 fetch 2 ,mem_tsniff 
+24f3 203a24f5 branch slave_receive_notsniff ,blank 
+24f4 243724f7 nbranch slave_receive_sniff ,attempt 
+
+slave_receive_notsniff:
+24f5 20402a4f call rf_setup_time_master_slot 
+
+slave_receive_access:
+24f6 1d00c201 add clke_bt ,1 ,bt_clk 
+
+slave_receive_sniff:
+24f7 78287c00 enable swfine 
+24f8 6801003e fetch 2 ,mem_rx_window 
+24f9 1fe37e00 rshift pdata ,pdata 
+24fa d8400500 arg param_pll_setup ,temp 
+24fb 9840fe00 iadd temp ,pdata 
+24fc 20402a24 call ahead_window 
+24fd 204028ea call fetch_extm_bt_adr 
+24fe 18004803 force 0x03 ,freq_mode 
+24ff 204028cc call rx_radio_freq 
+2500 2040242a call init_rx_packet_flags 
+2501 204029f1 call prep_crypt 
+2502 44a8400a bpatch patch0a_0 ,mem_patch0a 
+2503 6801003e fetch 2 ,mem_rx_window 
+2504 1fe37e00 rshift pdata ,pdata 
+2505 20402a24 call ahead_window 
+2506 204029eb call start_receiver 
+2507 7826fc00 enable decode_fec0 
+2508 6801003e fetch 2 ,mem_rx_window 
+2509 d84003bb arg param_clke_cal ,temp 
+250a 9840b600 iadd temp ,stop_watch 
+250b 37c18400 correlate null ,timeout 
+250c 1b420400 copy clke ,temp 
+250d 600b009a storet 6 ,mem_sync_clke 
+250e 7846fc00 disable decode_fec0 
+250f 246c0000 nrtn sync 
+2510 dd2003bb arg param_clke_cal ,clke_rt 
+2511 1c225000 copy bt_clk ,clke_bt 
+2512 2035ab05 branch lpm_adjust_clk ,wake 
+2513 20600000 rtn 
+
+slave_conn_recv_packet:
+2514 44a8c00a bpatch patch0a_1 ,mem_patch0a 
+2515 204024f0 call slave_receive_master_slot 
+2516 242c28f9 nbranch shutdown_radio ,sync 
+2517 204029bb call save_rssi 
+2518 c588a51c bmark0 mark_testmode ,receive_packet 
+2519 680100f6 fetch 2 ,mem_tst_pktcnt_sync 
+251a 1fe0fe01 increase 1 ,pdata 
+251b 600100f6 store 2 ,mem_tst_pktcnt_sync 
+
+receive_packet:
+251c 1c230400 rshift bt_clk ,temp 
+251d 18419c40 or temp ,0x40 ,white_init 
+
+receive_packet_whitened:
+251e 44a9400a bpatch patch0a_2 ,mem_patch0a 
+251f 7823fc00 enable enable_white 
+2520 78257c00 enable enable_hec 
+2521 7825fc00 enable decode_fec1 
+2522 09800003 parse demod ,bucket ,3 
+2523 198cfe00 rshift8 pwindow ,pdata 
+2524 6000815d store 1 ,mem_temp_am_addr 
+2525 09800004 parse demod ,bucket ,4 
+2526 08008007 inject bucket ,7 
+2527 19827e00 copy pwindow ,pdata 
+2528 60008019 store 1 ,mem_rx_type 
+2529 09800003 parse demod ,bucket ,3 
+252a 198cfe00 rshift8 pwindow ,pdata 
+252b 6000815e store 1 ,mem_temp_arq 
+252c 68008019 fetch 1 ,mem_rx_type 
+252d 1fe67c03 sub pdata ,3 ,null 
+252e 20212533 branch receive_packet_noedr ,positive 
+252f c003a533 beq 7 ,receive_packet_noedr 
+2530 6800804c fetch 1 ,mem_state_map 
+2531 2feffe05 isolate1 smap_edr ,pdata 
+2532 7920aa01 setflag true ,psk ,radio_ctrl 
+
+receive_packet_noedr:
+2533 44a9c00a bpatch patch0a_3 ,mem_patch0a 
+2534 09800008 parse demod ,bucket ,8 
+2535 7845fc00 disable decode_fec1 
+2536 78457c00 disable enable_hec 
+2537 20232631 branch error_header ,crc_failed 
+2538 c588a53c bmark0 mark_testmode ,receive_packet_amchk 
+2539 680100f8 fetch 2 ,mem_tst_pktcnt_hec 
+253a 1fe0fe01 increase 1 ,pdata 
+253b 600100f8 store 2 ,mem_tst_pktcnt_hec 
+
+receive_packet_amchk:
+253c 44aa400a bpatch patch0a_4 ,mem_patch0a 
+253d 6800815d fetch 1 ,mem_temp_am_addr 
+253e 2fe00e00 compare 0 ,pdata ,0x07 
+253f 7920800a setflag true ,mark_am_addr_broadcast ,mark 
+2540 2020a54c branch am_addr_ok ,true 
+2541 a8800e00 icompare 0x07 ,am_addr 
+2542 2020a54b branch am_addr_match ,true 
+2543 c583a64d bmark0 mark_esco ,end_of_packet 
+2544 680880b0 fetcht 1 ,mem_saved_amaddr 
+2545 a8400e00 icompare 0x7 ,temp 
+2546 2420a64d nbranch end_of_packet ,true 
+2547 68008047 fetch 1 ,mem_arq 
+2548 793ffe05 set0 arqnx ,pdata 
+2549 79207e04 set1 flowx ,pdata 
+254a 60008047 store 1 ,mem_arq 
+
+am_addr_match:
+254b 7836fc00 enable match 
+
+am_addr_ok:
+254c 44aac00a bpatch patch0a_5 ,mem_patch0a 
+254d 68008019 fetch 1 ,mem_rx_type 
+254e 1fe20200 icopy type 
+254f c505255b bmark1 mark_am_addr_broadcast ,arqn_bypass 
+2550 6808815e fetcht 1 ,mem_temp_arq 
+2551 68008047 fetch 1 ,mem_arq 
+2552 793ffe00 set0 flow ,pdata 
+2553 284ffe00 isolate1 flow ,temp 
+2554 7920fe00 setflag true ,flow ,pdata 
+2555 284ffe01 isolate1 arqn ,temp 
+2556 7920fe01 setflag true ,arqn ,pdata 
+2557 60008047 store 1 ,mem_arq 
+2558 284c0001 isolate0 arqn ,temp 
+2559 2020a55b branch arqn_bypass ,true 
+255a 20402687 call clear_got_tx 
+
+arqn_bypass:
+255b 44ab400a bpatch patch0a_6 ,mem_patch0a 
+255c d8400000 arg 0 ,temp 
+255d 20402a1c call reserve_slot 
+255e 18217e0f and type ,0xf ,pdata 
+255f c000a587 beq type_poll ,process_poll 
+2560 c000264d beq type_null ,end_of_packet 
+2561 c0012659 beq type_fhs ,process_fhs 
+2562 6808815e fetcht 1 ,mem_temp_arq 
+2563 68008047 fetch 1 ,mem_arq 
+2564 a8400800 icompare 0x04 ,temp 
+2565 2420a569 nbranch rx_type_dispatch ,true 
+2566 c5852568 bmark0 mark_am_addr_broadcast ,failed_seqn 
+2567 c303a569 bbit0 bcast1 ,rx_type_dispatch 
+
+failed_seqn:
+2568 7920000f set1 mark_old_packet ,mark 
+
+rx_type_dispatch:
+2569 44abc00a bpatch patch0a_7 ,mem_patch0a 
+256a 18227e00 deposit type 
+256b c001a589 beq type_dm1 ,process_dm1 
+256c c002258d beq type_dh1 ,process_dh1 
+256d c003a578 beq type_hv3 ,process_hev 
+256e c004258c beq type_3dh1 ,process_3dh1 
+256f d8400004 arg 4 ,temp 
+2570 20402a1c call reserve_slot 
+2571 c0052588 beq type_dm3 ,process_dm3 
+2572 c005a58b beq type_dh3 ,process_dh3 
+2573 d8400008 arg 8 ,temp 
+2574 20402a1c call reserve_slot 
+2575 c0072588 beq type_dm5 ,process_dm5 
+2576 c007a58b beq type_dh5 ,process_dh5 
+2577 20600000 rtn 
+
+process_hev:
+2578 44ac400b bpatch patch0b_0 ,mem_patch0b 
+2579 7826fc00 enable decode_fec0 
+257a 7824fc00 enable enable_crc 
+257b 78277c00 enable encrypt 
+257c d8a000d1 arg mem_sco_ibuf ,contw 
+257d 1800721e force 30 ,loopcnt 
+
+process_hev_loop:
+257e 09800008 parse demod ,bucket ,8 
+257f 19897e00 rshift3 pwindow ,pdata 
+2580 e0a08000 istore 1 ,contw 
+2581 c200257e loop process_hev_loop 
+2582 c583a64d bmark0 mark_esco ,end_of_packet 
+2583 09800010 parse demod ,bucket ,16 
+2584 7d230008 nsetflag crc_failed ,mark_esco_rxok ,mark 
+2585 2023263d branch error_payload ,crc_failed 
+2586 20202620 branch ack_payload 
+
+process_poll:
+2587 2020264d branch end_of_packet 
+
+process_dm3:
+
+process_dm5:
+2588 79200010 set1 mark_longpacket ,mark 
+
+process_dm1:
+2589 78267c00 enable decode_fec2 
+258a 2020258e branch process_dmh 
+
+process_dh3:
+
+process_dh5:
+258b 79200010 set1 mark_longpacket ,mark 
+
+process_3dh1:
+258c 79202a02 set1 psk3m ,radio_ctrl 
+
+process_dh1:
+258d 7826fc00 enable decode_fec0 
+
+process_dmh:
+258e 44acc00b bpatch patch0b_1 ,mem_patch0b 
+258f c500a64d bmark1 mark_rxbuf_inuse ,end_of_packet 
+2590 2aac0001 isolate0 psk ,radio_ctrl 
+2591 2020a59a branch process_dmh_noedr ,true 
+2592 7843fc00 disable enable_white 
+2593 7826fc00 enable decode_fec0 
+2594 78467c00 disable decode_fec2 
+2595 1c409602 add clkn_bt ,2 ,timeup 
+2596 34530400 correlate clkn_bt ,meet 
+2597 242c263d nbranch error_payload ,sync 
+2598 79200010 set1 mark_longpacket ,mark 
+2599 7823fc00 enable enable_white 
+
+process_dmh_noedr:
+259a 44ad400b bpatch patch0b_2 ,mem_patch0b 
+259b 78277c00 enable encrypt 
+259c 7824fc00 enable enable_crc 
+259d 09800003 parse demod ,bucket ,3 
+259e 198cfe00 rshift8 pwindow ,pdata 
+259f 60008180 store 1 ,mem_lch_code 
+25a0 09800005 parse demod ,bucket ,5 
+25a1 c50825a5 bmark1 mark_longpacket ,process_dmh_long 
+25a2 19897200 rshift3 pwindow ,loopcnt 
+25a3 1f297200 rshift3 loopcnt ,loopcnt 
+25a4 202025a8 branch process_dmh_common 
+
+process_dmh_long:
+25a5 09800005 parse demod ,bucket ,5 
+25a6 19837200 rshift pwindow ,loopcnt 
+25a7 09800003 parse demod ,bucket ,3 
+
+process_dmh_common:
+25a8 44adc00b bpatch patch0b_3 ,mem_patch0b 
+25a9 1f227e00 deposit loopcnt 
+25aa 6001015f store 2 ,mem_len 
+25ab 203a25e8 branch process_dmh_data_end ,blank 
+25ac 9ea67c00 isub mask3ff ,null 
+25ad 2021263d branch error_payload ,positive 
+25ae 44ae400b bpatch patch0b_4 ,mem_patch0b 
+25af 793f8000 set0 mark_fhs_eir ,mark 
+25b0 68008180 fetch 1 ,mem_lch_code 
+25b1 1fe17e03 and_into 0x03 ,pdata 
+25b2 d8a00551 arg mem_rxbuf ,contw 
+25b3 c001a5ba beq llid_lmp ,process_lmp 
+25b4 c508a5e4 bmark1 mark_testmode ,process_dmh_data 
+25b5 68008180 fetch 1 ,mem_lch_code 
+25b6 1fe17e03 and_into 0x03 ,pdata 
+25b7 c00125bf beq llid_l2cap_start ,process_dmh_data_l2cap_start_pkt 
+25b8 c000a5d3 beq llid_l2cap_cont ,process_dmh_data_l2cap_continue_pkt 
+25b9 2020263d branch error_payload 
+
+process_lmp:
+25ba 6801015f fetch 2 ,mem_len 
+25bb 1fe67c70 sub pdata ,0x70 ,null 
+25bc 2421263d nbranch error_payload ,positive 
+25bd c507a620 bmark1 mark_old_packet ,ack_payload 
+25be 202025e4 branch process_dmh_data 
+
+process_dmh_data_l2cap_start_pkt:
+25bf 44aec00b bpatch patch0b_5 ,mem_patch0b 
+25c0 c507a620 bmark1 mark_old_packet ,ack_payload 
+25c1 6801015f fetch 2 ,mem_len 
+25c2 d84002e0 arg 0x2e0 ,temp 
+25c3 98467c00 isub temp ,null 
+25c4 2021263d branch error_payload ,positive 
+25c5 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+25c6 c30025c9 bbit0 l2cap_inuse_buff1 ,process_dmh_data_into_buff1 
+25c7 c300a5ce bbit0 l2cap_inuse_buff2 ,process_dmh_data_into_buff2 
+25c8 2020264d branch end_of_packet 
+
+process_dmh_data_into_buff1:
+25c9 70026101 jam 1 ,mem_l2cap_rxbuff_new 
+25ca 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+25cb c080264d bne 0 ,end_of_packet 
+25cc d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+25cd 202025e4 branch process_dmh_data 
+
+process_dmh_data_into_buff2:
+25ce 70026102 jam 2 ,mem_l2cap_rxbuff_new 
+25cf 6801025f fetch 2 ,mem_l2cap_rxbuff2_len 
+25d0 c080264d bne 0 ,end_of_packet 
+25d1 d8a01400 arg mem_l2cap_rxbuff2 ,contw 
+25d2 202025e4 branch process_dmh_data 
+
+process_dmh_data_l2cap_continue_pkt:
+25d3 44af400b bpatch patch0b_6 ,mem_patch0b 
+25d4 c507a620 bmark1 mark_old_packet ,ack_payload 
+25d5 6801015f fetch 2 ,mem_len 
+25d6 d84002e0 arg 0x2e0 ,temp 
+25d7 98467c00 isub temp ,null 
+25d8 2021263d branch error_payload ,positive 
+25d9 68008261 fetch 1 ,mem_l2cap_rxbuff_new 
+25da c000a5dd beq 1 ,process_dmh_data_l2cap_continue_pkt1 
+25db c00125e1 beq 2 ,process_dmh_data_l2cap_continue_pkt2 
+25dc 2020264d branch end_of_packet 
+
+process_dmh_data_l2cap_continue_pkt1:
+25dd d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+25de 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+25df 98a08a00 iadd contw ,contw 
+25e0 202025e4 branch process_dmh_data 
+
+process_dmh_data_l2cap_continue_pkt2:
+25e1 d8a01400 arg mem_l2cap_rxbuff2 ,contw 
+25e2 6801025f fetch 2 ,mem_l2cap_rxbuff2_len 
+25e3 98a08a00 iadd contw ,contw 
+
+process_dmh_data:
+25e4 09800008 parse demod ,bucket ,8 
+25e5 19897e00 rshift3 pwindow ,pdata 
+25e6 e0a08000 istore 1 ,contw 
+25e7 c20025e4 loop process_dmh_data 
+
+process_dmh_data_end:
+25e8 44afc00b bpatch patch0b_7 ,mem_patch0b 
+25e9 09800010 parse demod ,bucket ,16 
+25ea 20232637 branch error_payload_crc ,crc_failed 
+25eb 6800c363 fetch 1 ,mem_l2cap_flow_ctrl_flag 
+25ec c000a64d beq l2cap_flow_ctrl_enable ,end_of_packet 
+25ed c508a60d bmark1 mark_testmode ,process_dmh_cont 
+25ee c507a64a bmark1 mark_old_packet ,redundant_payload 
+25ef 68008180 fetch 1 ,mem_lch_code 
+25f0 2fe00603 compare 3 ,pdata ,3 
+25f1 2020a60d branch process_dmh_cont ,true 
+25f2 6801015f fetch 2 ,mem_len 
+25f3 203a260d branch process_dmh_cont ,blank 
+25f4 44b0400c bpatch patch0c_0 ,mem_patch0c 
+25f5 68008261 fetch 1 ,mem_l2cap_rxbuff_new 
+25f6 c000a5f9 beq 1 ,process_l2cap_pass_crc_buff1 
+25f7 c0012603 beq 2 ,process_l2cap_pass_crc_buff2 
+25f8 20202a8c branch assert 
+
+process_l2cap_pass_crc_buff1:
+25f9 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+25fa 6809015f fetcht 2 ,mem_len 
+25fb 9840fe00 iadd temp ,pdata 
+25fc 6001025d store 2 ,mem_l2cap_rxbuff1_len 
+25fd c0002a8c beq 0 ,assert 
+25fe 68091000 fetcht 2 ,mem_l2cap_rxbuff1 
+25ff 18408404 increase 4 ,temp 
+2600 98467c00 isub temp ,null 
+2601 2042a747 call l2cap_buff1_inuse ,zero 
+2602 2020260d branch process_dmh_cont 
+
+process_l2cap_pass_crc_buff2:
+2603 6801025f fetch 2 ,mem_l2cap_rxbuff2_len 
+2604 6809015f fetcht 2 ,mem_len 
+2605 9840fe00 iadd temp ,pdata 
+2606 6001025f store 2 ,mem_l2cap_rxbuff2_len 
+2607 c0002a8c beq 0 ,assert 
+2608 68091400 fetcht 2 ,mem_l2cap_rxbuff2 
+2609 18408404 add temp ,4 ,temp 
+260a 98467c00 isub temp ,null 
+260b 2042a74b call l2cap_buff2_inuse ,zero 
+260c 2020260d branch process_dmh_cont 
+
+process_dmh_cont:
+260d 44b0c00c bpatch patch0c_1 ,mem_patch0c 
+260e 6808804c fetcht 1 ,mem_state_map 
+260f 68008180 fetch 1 ,mem_lch_code 
+2610 2fe00603 compare 3 ,pdata ,0x03 
+2611 79208406 setflag true ,smap_rxlmp ,temp 
+2612 7d208407 nsetflag true ,smap_rxl2cap ,temp 
+2613 6008804c storet 1 ,mem_state_map 
+2614 2420a616 nbranch process_dmh_cont_rxbuf_not_use ,true 
+2615 79200001 set1 mark_rxbuf_inuse ,mark 
+
+process_dmh_cont_rxbuf_not_use:
+2616 c588a620 bmark0 mark_testmode ,ack_payload 
+2617 284ffe06 isolate1 smap_rxlmp ,temp 
+2618 2020a620 branch ack_payload ,true 
+2619 680100fa fetch 2 ,mem_tst_pktcnt_crc 
+261a 1fe0fe01 increase 1 ,pdata 
+261b 600100fa store 2 ,mem_tst_pktcnt_crc 
+261c 79200005 set1 mark_loopback ,mark 
+261d 793f8407 set0 smap_rxl2cap ,temp 
+261e 793f8001 set0 mark_rxbuf_inuse ,mark 
+261f 6008804c storet 1 ,mem_state_map 
+
+ack_payload:
+2620 44b1400c bpatch patch0c_2 ,mem_patch0c 
+2621 6808815e fetcht 1 ,mem_temp_arq 
+2622 68008047 fetch 1 ,mem_arq 
+2623 79207e05 set1 arqnx ,pdata 
+2624 284ffe02 isolate1 seqn ,temp 
+2625 7920fe02 setflag true ,seqn ,pdata 
+2626 280ffe0a isolate1 mark_am_addr_broadcast ,mark 
+2627 7920fe07 setflag true ,bcast1 ,pdata 
+2628 60008047 store 1 ,mem_arq 
+2629 6801015f fetch 2 ,mem_len 
+262a 243a264d nbranch end_of_packet ,blank 
+262b 6800804c fetch 1 ,mem_state_map 
+262c 793ffe07 set0 smap_rxl2cap ,pdata 
+262d 6000804c store 1 ,mem_state_map 
+262e 68008180 fetch 1 ,mem_lch_code 
+262f 2fe00e01 compare 0x01 ,pdata ,0x07 
+2630 2020264d branch end_of_packet 
+
+error_header:
+2631 44b1c00c bpatch patch0c_3 ,mem_patch0c 
+2632 7856fc00 disable match 
+2633 6801001a fetch 2 ,mem_rx_hec_err 
+2634 1fe0fe01 increase 1 ,pdata 
+2635 6001001a store 2 ,mem_rx_hec_err 
+2636 2020264d branch end_of_packet 
+
+error_payload_crc:
+2637 6801001c fetch 2 ,mem_rx_crc_err 
+2638 1fe0fe01 increase 1 ,pdata 
+2639 6001001c store 2 ,mem_rx_crc_err 
+263a 2040263e call discard_pkt 
+263b c588a63d bmark0 mark_testmode ,error_payload 
+263c 79200005 set1 mark_loopback ,mark 
+
+error_payload:
+263d 2020264d branch end_of_packet 
+
+discard_pkt:
+263e 44b2400c bpatch patch0c_4 ,mem_patch0c 
+263f 68008180 fetch 1 ,mem_lch_code 
+2640 2fe00603 compare 3 ,pdata ,0x03 
+2641 2420a646 nbranch discard_pkt_l2cap ,true 
+
+discard_pkt_lmp:
+2642 6808804c fetcht 1 ,mem_state_map 
+2643 793f8406 set0 smap_rxlmp ,temp 
+2644 6008804c storet 1 ,mem_state_map 
+2645 20600000 rtn 
+
+discard_pkt_l2cap:
+2646 6808804c fetcht 1 ,mem_state_map 
+2647 793f8407 set0 smap_rxl2cap ,temp 
+2648 6008804c storet 1 ,mem_state_map 
+2649 20204c0b branch h4_send_acl_trigger_clear 
+
+redundant_payload:
+264a 68008047 fetch 1 ,mem_arq 
+264b 79207e05 set1 arqnx ,pdata 
+264c 60008047 store 1 ,mem_arq 
+
+end_of_packet:
+264d 44b2c00c bpatch patch0c_5 ,mem_patch0c 
+264e 784efc00 disable encode_fec0 
+264f 784e7c00 disable encode_fec2 
+2650 7846fc00 disable decode_fec0 
+2651 78467c00 disable decode_fec2 
+2652 7844fc00 disable enable_crc 
+2653 78477c00 disable encrypt 
+2654 7843fc00 disable enable_white 
+2655 2030a8f9 branch shutdown_radio ,is_rx 
+2656 37d38200 until null ,tx_clear 
+2657 20000064 nop 100 
+2658 202028f9 branch shutdown_radio 
+
+process_fhs:
+2659 44b3400c bpatch patch0c_6 ,mem_patch0c 
+265a 7824fc00 enable enable_crc 
+265b 78267c00 enable decode_fec2 
+265c 09800048 parse demod ,bucket ,72 
+265d 2feffe3a isolate1 58 ,pdata 
+265e 79208000 setflag true ,mark_fhs_eir ,mark 
+265f 1c020400 copy bt_adr ,temp 
+2660 57e04000 ialigned bt_adr 
+2661 57e03c00 ialigned fhs0 
+2662 782afc00 pulse recalc 
+2663 380bffff setsect 2 ,0xfffff 
+2664 380cffff setsect 3 ,0x0ffff 
+2665 20000020 nop 32 
+2666 29a80000 iverify fhs_parity 
+2667 1d827e00 deposit lap 
+2668 60018178 store 3 ,extm_lap 
+2669 1da27e00 deposit uap 
+266a 6000817b store 1 ,extm_uap 
+266b 18424000 copy temp ,bt_adr 
+266c 2020a66e branch fhs_parity_ok ,true 
+266d 2020263d branch error_payload 
+
+fhs_parity_ok:
+266e 44b3c00c bpatch patch0c_7 ,mem_patch0c 
+266f 09800048 parse demod ,bucket ,72 
+2670 57e03e00 ialigned fhs1 
+2671 57e00800 ialigned am_addr 
+2672 57e05c00 ialigned nap 
+2673 57e02400 ialigned regb 
+2674 18007e00 force 0 ,pdata 
+2675 09800010 parse demod ,bucket ,16 
+2676 2023263d branch error_payload ,crc_failed 
+2677 5ffffffc setarg 0x0ffffffc 
+2678 9a417e00 iand regb ,pdata 
+2679 60020165 store 4 ,mem_clke_bt 
+267a 1ba27e00 deposit fhs_class 
+267b 60018175 store 3 ,extm_class 
+267c 1b827e00 deposit fhs_misc 
+267d 60008173 store 1 ,extm_fhs_misc 
+267e 18827e00 deposit am_addr 
+267f 60008174 store 1 ,extm_newconn_am_addr 
+2680 1dc27e00 deposit nap 
+2681 6001017c store 2 ,extm_nap 
+2682 1c227e00 deposit bt_clk 
+2683 08008220 inject rxf ,32 
+2684 28201e02 compare type_fhs ,type ,0x0f 
+2685 7920800b setflag true ,mark_fhs_already_good ,mark 
+2686 2020264d branch end_of_packet 
+
+clear_got_tx:
+2687 44b4400d bpatch patch0d_0 ,mem_patch0d 
+2688 68008047 fetch 1 ,mem_arq 
+2689 c4018000 rtnbit0 wack 
+268a 793ffe03 set0 wack ,pdata 
+268b 79407e06 setflip seqnx ,pdata 
+268c 60008047 store 1 ,mem_arq 
+268d 6800c0c5 fetch 1 ,mem_last_type 
+268e c009a69c beq type_lmp ,clear_got_txlmp 
+268f c1038000 rtneq type_hv3 
+2690 6800804b fetch 1 ,mem_op 
+2691 c4030000 rtnbit0 op_txl2cap ,pdata 
+2692 793ffe06 set0 op_txl2cap ,pdata 
+2693 79207e07 set1 op_pkt_comp ,pdata 
+2694 6000804b store 1 ,mem_op 
+2695 793f8002 set0 mark_tx_l2cap ,mark 
+2696 68014246 fetch 2 ,mem_l2cap_tx_multi_offset 
+2697 247a0000 nrtn blank 
+2698 6800804b fetch 1 ,mem_op 
+2699 793ffe07 set0 op_pkt_comp ,pdata 
+269a 6000804b store 1 ,mem_op 
+269b 2020525d branch l2cap_malloc_free 
+
+clear_got_txlmp:
+269c 44b4c00d bpatch patch0d_1 ,mem_patch0d 
+269d 680084b7 fetch 1 ,mem_lmo_header_opcode 
+269e 1fe37e00 rshift pdata ,pdata 
+269f c008a6b8 beq lmp_start_encryption_req ,start_encryption 
+26a0 c00926c0 beq lmp_stop_encryption_req ,stop_encryption 
+26a1 c00c26e9 beq lmp_unsniff_req ,sniff_exit 
+26a2 c03fa6a8 beq lmp_escape ,clear_lmp_escape 
+26a3 c1818000 rtnne lmp_accepted 
+26a4 680084b8 fetch 1 ,mem_lmo_payload 
+26a5 c015a6b0 beq lmp_sco_link_req ,sco_link_req_by_slave 
+26a6 c008a6ab beq lmp_start_encryption_req ,clear_send_setup_complete 
+26a7 20600000 rtn 
+
+clear_lmp_escape:
+26a8 680084b8 fetch 1 ,mem_lmo_payload 
+26a9 79207e07 set1 7 ,pdata 
+26aa 20600000 rtn 
+
+clear_send_setup_complete:
+26ab 20748000 rtn master 
+26ac 68008030 fetch 1 ,mem_state 
+26ad c3820000 rtnbit1 state_conn_comp 
+26ae 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+26af 20600000 rtn 
+
+sco_link_req_by_slave:
+26b0 20748000 rtn master 
+26b1 68008031 fetch 1 ,mem_mode 
+26b2 2feffe04 isolate1 send_sco_when_slave ,pdata 
+26b3 2020a6b5 branch clean_mem_mode ,true 
+26b4 20600000 rtn 
+
+clean_mem_mode:
+26b5 793ffe04 set0 send_sco_when_slave ,pdata 
+26b6 60008031 store 1 ,mem_mode 
+26b7 20600000 rtn 
+
+start_encryption:
+26b8 44b5400d bpatch patch0d_2 ,mem_patch0d 
+26b9 6800804c fetch 1 ,mem_state_map 
+26ba 79207e02 set1 smap_encryption ,pdata 
+26bb 6000804c store 1 ,mem_state_map 
+26bc 70801101 jam 1 ,core_encrypt 
+26bd 68008030 fetch 1 ,mem_state 
+26be 2feffe04 isolate1 state_conn_comp ,pdata 
+26bf 20600000 rtn 
+
+stop_encryption:
+26c0 44b5c00d bpatch patch0d_3 ,mem_patch0d 
+26c1 6800804c fetch 1 ,mem_state_map 
+26c2 793ffe02 set0 smap_encryption ,pdata 
+26c3 6000804c store 1 ,mem_state_map 
+26c4 70801100 jam 0 ,core_encrypt 
+26c5 20600000 rtn 
+
+sniff_init:
+26c6 44b6400d bpatch patch0d_4 ,mem_patch0d 
+26c7 1c427e00 copy clkn_bt ,pdata 
+26c8 6002420c store 4 ,mem_lpm_delay_after_sniff 
+26c9 1c40a203 add clkn_bt ,3 ,rega 
+26ca 2034a6cc branch sniff_init_master ,master 
+26cb 1d00a203 add clke_bt ,3 ,rega 
+
+sniff_init_master:
+26cc 68090032 fetcht 2 ,mem_tsniff 
+26cd 1a227e00 deposit rega 
+26ce 793ffe1b set0 27 ,pdata 
+26cf 9846fc00 idiv temp 
+26d0 68010075 fetch 2 ,mem_dsniff 
+26d1 20407f86 call wait_div_end 
+26d2 18072600 remainder regc 
+26d3 9a667e00 isub regc ,pdata 
+26d4 202126d6 branch sniff_init_nowrap ,positive 
+26d5 9840fe00 iadd temp ,pdata 
+
+sniff_init_nowrap:
+26d6 9a20fe00 iadd rega ,pdata 
+26d7 60020034 store 4 ,mem_sniff_anchor 
+26d8 70455b00 jam switch_flag_init ,mem_switch_flag 
+26d9 68008030 fetch 1 ,mem_state 
+26da 79207e01 set1 state_insniff ,pdata 
+26db 60008030 store 1 ,mem_state 
+26dc 68008073 fetch 1 ,mem_sniff_attempt 
+26dd 6000808a store 1 ,mem_current_sniff_attempt 
+26de 58000000 setarg 0 
+26df 6001c169 store 3 ,mem_sniff_rcv 
+26e0 6001c16c store 3 ,mem_sniff_lost 
+26e1 6000c159 store 1 ,mem_sniff_unint_lost 
+26e2 700a990b jam bt_evt_enter_sniff ,mem_fifo_temp 
+26e3 20407d86 call ui_ipc_send_event 
+26e4 680140c1 fetch 2 ,mem_rx_window_sniff 
+26e5 6001003e store 2 ,mem_rx_window 
+26e6 24748000 nrtn master 
+26e7 18808fff add am_addr ,-1 ,queue 
+26e8 20600000 rtn 
+
+sniff_exit:
+26e9 44b6c00d bpatch patch0d_5 ,mem_patch0d 
+26ea 68008030 fetch 1 ,mem_state 
+26eb c4008000 rtnbit0 state_insniff 
+26ec 793ffe01 set0 state_insniff ,pdata 
+26ed 60008030 store 1 ,mem_state 
+26ee 680140bf fetch 2 ,mem_rx_window_init 
+26ef 6001003e store 2 ,mem_rx_window 
+26f0 7855fc00 disable wake 
+26f1 700a990c jam bt_evt_exit_sniff ,mem_fifo_temp 
+26f2 20207d86 branch ui_ipc_send_event 
+
+check_attempt:
+26f3 44b7400d bpatch patch0d_6 ,mem_patch0d 
+26f4 78377c00 enable attempt 
+26f5 68008030 fetch 1 ,mem_state 
+26f6 c280a700 bbit1 state_insniff ,check_attempt_sniff 
+26f7 c6088000 rtnmark1 mark_testmode 
+26f8 68008047 fetch 1 ,mem_arq 
+26f9 c3818000 rtnbit1 wack 
+26fa 68008048 fetch 1 ,mem_lmp_to_send 
+26fb 247a0000 nrtn blank 
+26fc 6800804b fetch 1 ,mem_op 
+26fd c3830000 rtnbit1 op_txl2cap 
+
+check_attempt_nomore:
+26fe 18007e00 force 0 ,pdata 
+26ff 20600000 rtn 
+
+check_attempt_sniff:
+2700 c301270f bbit0 state_insco ,check_attempt_not_sco 
+2701 6800808a fetch 1 ,mem_current_sniff_attempt 
+2702 c0012706 beq 2 ,check_attempt_sniff_restore_sco 
+2703 68008047 fetch 1 ,mem_arq 
+2704 c281a718 bbit1 wack ,check_attempt_notimeout 
+2705 c5842718 bmark0 mark_esco_rxok ,check_attempt_notimeout 
+
+check_attempt_sniff_restore_sco:
+2706 2434a718 nbranch check_attempt_notimeout ,master 
+2707 68008048 fetch 1 ,mem_lmp_to_send 
+2708 243a2718 nbranch check_attempt_notimeout ,blank 
+
+check_attempt_sco_master:
+2709 680080ef fetch 1 ,mem_sco_poll 
+270a 1fe0ffff increase -1 ,pdata 
+270b 600080ef store 1 ,mem_sco_poll 
+270c 243a26fe nbranch check_attempt_nomore ,blank 
+270d 7000ef10 jam param_sco_poll ,mem_sco_poll 
+270e 20202718 branch check_attempt_notimeout 
+
+check_attempt_not_sco:
+270f 6800808a fetch 1 ,mem_current_sniff_attempt 
+2710 c080a718 bne 1 ,check_attempt_notimeout 
+2711 6800808b fetch 1 ,mem_current_sniff_timeout 
+2712 203a2718 branch check_attempt_notimeout ,blank 
+2713 1fe0ffff increase -1 ,pdata 
+2714 6000808b store 1 ,mem_current_sniff_timeout 
+2715 68008047 fetch 1 ,mem_arq 
+2716 c3818000 rtnbit1 wack 
+2717 24768000 nrtn match 
+
+check_attempt_notimeout:
+2718 6800808a fetch 1 ,mem_current_sniff_attempt 
+2719 1fe0ffff increase -1 ,pdata 
+271a 6000808a store 1 ,mem_current_sniff_attempt 
+271b 20600000 rtn 
+
+sniff_check_window:
+271c 44b7c00d bpatch patch0d_7 ,mem_patch0d 
+271d 78487c00 disable swfine 
+271e 18423600 copy temp ,stop_watch 
+271f 20402260 call context_search_sniff_window 
+2720 78547c00 disable user 
+2721 24628000 nrtn zero 
+2722 18003600 force 0 ,stop_watch 
+2723 78347c00 enable user 
+2724 20600000 rtn 
+
+check_esco_amaddr:
+2725 6800c158 fetch 1 ,mem_esco_addr 
+2726 a881fe00 icompare 0xff ,am_addr 
+2727 20600000 rtn 
+
+parse_l2cap:
+2728 44b8400e bpatch patch0e_0 ,mem_patch0e 
+2729 793f8001 set0 mark_rxbuf_inuse ,mark 
+
+parse_l2cap_cont:
+272a 70026a00 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+272b 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+272c 207a0000 rtn blank 
+272d 2feffe00 isolate1 l2cap_inuse_buff1 ,pdata 
+272e d8c01000 arg mem_l2cap_rxbuff1 ,contr 
+272f 2040cd79 call process_rx_l2cap_pkt ,true 
+2730 44b8c00e bpatch patch0e_1 ,mem_patch0e 
+2731 6800826a fetch 1 ,mem_l2cap_rx_done 
+2732 c000a73b beq l2cap_rx_done ,parse_l2cap_release_buff1 
+2733 70026a00 jam l2cap_rx_clear ,mem_l2cap_rx_done 
+2734 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+2735 c4008000 rtnbit0 l2cap_inuse_buff2 
+2736 d8c01400 arg mem_l2cap_rxbuff2 ,contr 
+2737 20404d79 call process_rx_l2cap_pkt 
+2738 6800826a fetch 1 ,mem_l2cap_rx_done 
+2739 c000a741 beq l2cap_rx_done ,parse_l2cap_release_buff2 
+273a 20600000 rtn 
+
+parse_l2cap_release_buff1:
+273b 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+273c 793ffe00 set0 l2cap_inuse_buff1 ,pdata 
+273d 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+273e 58000000 setarg 0 
+273f 6001025d store 2 ,mem_l2cap_rxbuff1_len 
+2740 20600000 rtn 
+
+parse_l2cap_release_buff2:
+2741 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+2742 793ffe01 set0 l2cap_inuse_buff2 ,pdata 
+2743 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+2744 58000000 setarg 0 
+2745 6001025f store 2 ,mem_l2cap_rxbuff2_len 
+2746 20600000 rtn 
+
+l2cap_buff1_inuse:
+2747 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+2748 79207e00 set1 l2cap_inuse_buff1 ,pdata 
+2749 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+274a 20600000 rtn 
+
+l2cap_buff2_inuse:
+274b 68008263 fetch 1 ,mem_l2cap_rxbuff_inuse 
+274c 79207e01 set1 l2cap_inuse_buff2 ,pdata 
+274d 60008263 store 1 ,mem_l2cap_rxbuff_inuse 
+274e 20600000 rtn 
+
+slave_send_access:
+274f 44b9400e bpatch patch0e_2 ,mem_patch0e 
+2750 1d00c201 add clke_bt ,1 ,bt_clk 
+2751 204028ea call fetch_extm_bt_adr 
+2752 18004803 force 0x03 ,freq_mode 
+2753 204028d2 call tx_radio_freq 
+2754 20402a51 call start_transmitter 
+2755 20402a5f call start_tx_external 
+2756 20202a64 branch send_access_word 
+
+slave_conn_send_packet:
+2757 44b9c00e bpatch patch0e_3 ,mem_patch0e 
+2758 20402a4d call rf_setup_time_slave_slot 
+2759 1d027e00 deposit clke_bt 
+275a 680a40ca fetcht 4 ,mem_next_btclk 
+275b 98467e00 isub temp ,pdata 
+275c c1808000 rtnne 1 
+275d 28203e00 compare type_null ,type ,0x1f 
+275e 2420a761 nbranch slave_conn_send_access ,true 
+275f 68008019 fetch 1 ,mem_rx_type 
+2760 207a0000 rtn blank 
+
+slave_conn_send_access:
+2761 2040274f call slave_send_access 
+
+transmit_packet:
+2762 28203e10 compare type_id ,type ,0x1f 
+2763 2020a64d branch end_of_packet ,true 
+2764 1c230400 rshift bt_clk ,temp 
+2765 18419c40 or temp ,0x40 ,white_init 
+
+transmit_packet_whitened:
+2766 44ba400e bpatch patch0e_4 ,mem_patch0e 
+2767 7823fc00 enable enable_white 
+2768 78257c00 enable enable_hec 
+2769 782dfc00 enable encode_fec1 
+276a 793f8010 set0 mark_longpacket ,mark 
+276b 18827e00 deposit am_addr 
+276c 08008603 inject mod ,3 
+276d 18227e00 deposit type 
+276e 08008604 inject mod ,4 
+276f 68008047 fetch 1 ,mem_arq 
+2770 08008004 inject bucket ,4 
+2771 08008603 inject mod ,3 
+2772 78247c00 enable enable_parity 
+2773 08008608 inject mod ,8 
+2774 784dfc00 disable encode_fec1 
+2775 78447c00 disable enable_parity 
+2776 78457c00 disable enable_hec 
+2777 793faa02 set0 psk3m ,radio_ctrl 
+2778 d8400000 arg 0 ,temp 
+2779 20402a1c call reserve_slot 
+277a 44bac00e bpatch patch0e_5 ,mem_patch0e 
+277b 18217e1f and type ,0x1f ,pdata 
+277c c009a7b4 beq type_lmp ,transmit_lmp 
+277d c000264d beq type_null ,end_of_packet 
+277e c000a64d beq type_poll ,end_of_packet 
+277f c0012797 beq type_fhs ,transmit_fhs 
+2780 c001a7c5 beq type_dm1 ,transmit_dm1 
+2781 c00227cb beq type_dh1 ,transmit_dh1 
+2782 c003a78c beq type_hv3 ,transmit_hev 
+2783 c00427ca beq type_3dh1 ,transmit_3dh1 
+2784 d8400004 arg 4 ,temp 
+2785 20402a1c call reserve_slot 
+2786 c00527c7 beq type_dm3 ,transmit_dm3 
+2787 c005a7cd beq type_dh3 ,transmit_dh3 
+2788 d8400008 arg 8 ,temp 
+2789 20402a1c call reserve_slot 
+278a c007a7cd beq type_dh5 ,transmit_dh5 
+278b 202027c7 branch transmit_dm5 
+
+transmit_hev:
+278c 44bb400e bpatch patch0e_6 ,mem_patch0e 
+278d 782efc00 enable encode_fec0 
+278e 7824fc00 enable enable_crc 
+278f 78277c00 enable encrypt 
+2790 1800721e force 30 ,loopcnt 
+2791 d8c000b3 arg mem_sco_obuf ,contr 
+
+transmit_ev_loop:
+2792 e8c08000 ifetch 1 ,contr 
+2793 08008608 inject mod ,8 
+2794 c2002792 loop transmit_ev_loop 
+2795 c503a7f7 bmark1 mark_esco ,transmit_end 
+2796 2020264d branch end_of_packet 
+
+transmit_fhs:
+2797 44bbc00e bpatch patch0e_7 ,mem_patch0e 
+2798 68008181 fetch 1 ,mem_fhs_am_addr 
+2799 1fe20800 icopy am_addr 
+279a 68008090 fetch 1 ,mem_fhs_misc 
+279b 1fe23800 icopy fhs_misc 
+279c 6801c0aa fetch 3 ,mem_class 
+279d 1fe23a00 icopy fhs_class 
+279e 680140a4 fetch 2 ,mem_nap 
+279f 1fe25c00 icopy nap 
+27a0 7824fc00 enable enable_crc 
+27a1 782e7c00 enable encode_fec2 
+27a2 1c022200 copy bt_adr ,rega 
+27a3 204028e2 call fetch_self_bt_adr 
+27a4 782afc00 pulse recalc 
+27a5 20000020 nop 32 
+27a6 1c221600 copy bt_clk ,timeup 
+27a7 68020161 fetch 4 ,mem_clkn_bt 
+27a8 1fe24200 icopy bt_clk 
+27a9 53c07e00 preload fhs0 
+27aa 79207e3a set1 58 ,pdata 
+27ab 08008648 inject mod ,72 
+27ac 53e07e00 preload fhs1 
+27ad 08008648 inject mod ,72 
+27ae 19624200 copy timeup ,bt_clk 
+27af 1a224000 copy rega ,bt_adr 
+27b0 78247c00 enable enable_parity 
+27b1 08008610 inject mod ,16 
+27b2 78447c00 disable enable_parity 
+27b3 2020264d branch end_of_packet 
+
+transmit_lmp:
+27b4 44bc400f bpatch patch0f_0 ,mem_patch0f 
+27b5 78277c00 enable encrypt 
+27b6 7824fc00 enable enable_crc 
+27b7 782e7c00 enable encode_fec2 
+27b8 680084b6 fetch 1 ,mem_lmo_header_length 
+27b9 1fe105f8 and pdata ,0x1f8 ,temp 
+27ba d8c004b6 arg mem_lmo_header_length ,contr 
+27bb 18408408 increase 8 ,temp 
+
+transmit_lmp_loop:
+27bc 1840a7b8 add temp ,-72 ,regc 
+27bd 242127c2 nbranch transmit_lmp_finish ,positive 
+27be e8c48000 ifetch 9 ,contr 
+27bf 08008648 inject mod ,72 
+27c0 1a620400 copy regc ,temp 
+27c1 202027bc branch transmit_lmp_loop 
+
+transmit_lmp_finish:
+27c2 e8c48000 ifetch 9 ,contr 
+27c3 08418600 iinject mod ,temp 
+27c4 202027f7 branch transmit_end 
+
+transmit_dm1:
+27c5 782e7c00 enable encode_fec2 
+27c6 202027d0 branch transmit_dmh 
+
+transmit_dm3:
+
+transmit_dm5:
+27c7 782e7c00 enable encode_fec2 
+27c8 79200010 set1 mark_longpacket ,mark 
+27c9 202027d0 branch transmit_dmh 
+
+transmit_3dh1:
+27ca 79202a02 set1 psk3m ,radio_ctrl 
+
+transmit_dh1:
+27cb 782efc00 enable encode_fec0 
+27cc 202027d0 branch transmit_dmh 
+
+transmit_dh3:
+
+transmit_dh5:
+27cd 79202a02 set1 psk3m ,radio_ctrl 
+27ce 782efc00 enable encode_fec0 
+27cf 79200010 set1 mark_longpacket ,mark 
+
+transmit_dmh:
+27d0 44bcc00f bpatch patch0f_1 ,mem_patch0f 
+27d1 6800804c fetch 1 ,mem_state_map 
+27d2 c302a7e5 bbit0 smap_edr ,transmit_noedr 
+27d3 18267c03 sub type ,3 ,null 
+27d4 202127e5 branch transmit_noedr ,positive 
+27d5 78477c00 disable encrypt 
+27d6 784e7c00 disable encode_fec2 
+27d7 782efc00 enable encode_fec0 
+27d8 7843fc00 disable enable_white 
+27d9 79202a01 set1 psk ,radio_ctrl 
+27da 2aaffe02 isolate1 psk3m ,radio_ctrl 
+27db 2020a7df branch transmit_edr3m ,true 
+27dc 580abeee setarg 0xabeee 
+27dd 08008614 inject mod ,20 
+27de 202027e3 branch transmit_edr_sync_end 
+
+transmit_edr3m:
+27df 585faeba setarg 0x5faeba 
+27e0 08008618 inject mod ,24 
+27e1 58000012 setarg 0x12 
+27e2 08008606 inject mod ,6 
+
+transmit_edr_sync_end:
+27e3 7823fc00 enable enable_white 
+27e4 79200010 set1 mark_longpacket ,mark 
+
+transmit_noedr:
+27e5 78277c00 enable encrypt 
+27e6 7824fc00 enable enable_crc 
+27e7 c502a800 bmark1 mark_loopback ,transmit_loopback 
+27e8 6800c1db fetch 1 ,mem_tx_lch 
+27e9 08008603 inject mod ,3 
+27ea 680141dc fetch 2 ,mem_tx_len 
+27eb 98007200 iforce loopcnt 
+27ec c50827ef bmark1 mark_longpacket ,transmit_long 
+27ed 08008605 inject mod ,5 
+27ee 202027f0 branch transmit_stuff 
+
+transmit_long:
+27ef 0800860d inject mod ,13 
+
+transmit_stuff:
+27f0 1f227e00 deposit loopcnt 
+27f1 203a27f7 branch transmit_end ,blank 
+27f2 6801016f fetch 2 ,mem_txptr 
+27f3 98000c00 iforce contr 
+
+transmit_stuff_loop:
+27f4 e8c08000 ifetch 1 ,contr 
+27f5 08008608 inject mod ,8 
+27f6 c20027f4 loop transmit_stuff_loop 
+
+transmit_end:
+27f7 78247c00 enable enable_parity 
+27f8 08008610 inject mod ,16 
+27f9 78447c00 disable enable_parity 
+27fa 204024c1 call set_wait_ack 
+27fb 6800804c fetch 1 ,mem_state_map 
+27fc c302a64d bbit0 smap_edr ,end_of_packet 
+27fd 18007e00 force 0 ,pdata 
+27fe 08008606 inject mod ,6 
+27ff 2020264d branch end_of_packet 
+
+transmit_loopback:
+2800 44bd400f bpatch patch0f_2 ,mem_patch0f 
+2801 c5082808 bmark1 mark_longpacket ,transmit_loopback_long 
+
+transmit_loopback_short:
+2802 68008180 fetch 1 ,mem_lch_code 
+2803 08008603 inject mod ,3 
+2804 6800815f fetch 1 ,mem_len 
+2805 98002600 iforce regc 
+2806 08008605 inject mod ,5 
+2807 2020280d branch transmit_loopback_cont 
+
+transmit_loopback_long:
+2808 68008180 fetch 1 ,mem_lch_code 
+2809 08008603 inject mod ,3 
+280a 6801015f fetch 2 ,mem_len 
+280b 98002600 iforce regc 
+280c 0800860d inject mod ,13 
+
+transmit_loopback_cont:
+280d d8c00551 arg mem_rxbuf ,contr 
+
+transmit_loopback_loop:
+280e 1a627c00 copy regc ,null 
+280f 2022a814 branch transmit_loopback_end ,zero 
+2810 e8c08000 ifetch 1 ,contr 
+2811 08008608 inject mod ,8 
+2812 1a60a7ff increase -1 ,regc 
+2813 2020280e branch transmit_loopback_loop 
+
+transmit_loopback_end:
+2814 680100fc fetch 2 ,mem_tst_pktcnt_dmh 
+2815 1fe0fe01 increase 1 ,pdata 
+2816 600100fc store 2 ,mem_tst_pktcnt_dmh 
+2817 202027f7 branch transmit_end 
+
+apply_switch_clke:
+2818 68020165 fetch 4 ,mem_clke_bt 
+2819 1fe0a207 add pdata ,7 ,rega 
+281a 68010171 fetch 2 ,mem_slot_offset 
+281b 243a281e nbranch apply_switch_nozero ,blank 
+281c 1a20a3fd increase -3 ,rega 
+281d 20202826 branch apply_switch_wait_loop 
+
+apply_switch_nozero:
+281e 1feffe0c mul32 pdata ,12 ,pdata 
+281f 68190040 hfetcht 2 ,core_halfslot 
+2820 18408401 increase 1 ,temp 
+
+apply_switch_loop:
+2821 98467e00 isub temp ,pdata 
+2822 24212825 nbranch apply_switch_bt ,positive 
+2823 1a20a3ff increase -1 ,rega 
+2824 20202821 branch apply_switch_loop 
+
+apply_switch_bt:
+2825 1fe67e00 sub pdata ,0 ,pdata 
+
+apply_switch_wait_loop:
+2826 37d18200 until null ,oneslot 
+2827 2c400600 compare 0 ,clkn_bt ,3 
+2828 2420a826 nbranch apply_switch_wait_loop ,true 
+2829 98005200 iforce clke_rt 
+282a 1a225000 copy rega ,clke_bt 
+282b 98005200 iforce clke_rt 
+282c 20600000 rtn 
+
+calc_slot_offset:
+282d 44bdc00f bpatch patch0f_3 ,mem_patch0f 
+282e 37d10200 until null ,halfslot 
+282f 1b427e00 deposit clke 
+2830 98000c00 iforce contr 
+2831 1ff17e00 rshift16 ,pdata ,pdata 
+2832 9c467200 isub clkn_bt ,loopcnt 
+2833 1f217203 and_into 3 ,loopcnt 
+2834 2422a837 nbranch calc_bt_portion ,zero 
+2835 18007e00 force 0 ,pdata 
+2836 2020283b branch calc_skip_bt 
+
+calc_bt_portion:
+2837 d8400ea6 arg 3750 ,temp 
+2838 18007e00 force 0 ,pdata 
+
+calc_slot_offset_loop:
+2839 9840fe00 iadd temp ,pdata 
+283a c2002839 loop calc_slot_offset_loop 
+
+calc_skip_bt:
+283b 98c0fe00 iadd contr ,pdata 
+283c 1fe6fc0c div pdata ,12 
+283d 20407f86 call wait_div_end 
+283e 1807fe00 quotient pdata 
+283f 60010171 store 2 ,mem_slot_offset 
+2840 20600000 rtn 
+
+calc_clke_offset:
+2841 44be400f bpatch patch0f_4 ,mem_patch0f 
+2842 1b427e00 deposit clke 
+2843 1b220400 copy clkn ,temp 
+2844 98467c00 isub temp ,null 
+2845 7d217e2c nsetflag positive ,44 ,pdata 
+2846 98460400 isub temp ,temp 
+2847 58000ea6 setarg 3750 
+2848 284c000f isolate0 15 ,temp 
+2849 2020a84c branch calc_clke_pos ,true 
+284a 5fff0ea6 setarg -61786 
+284b 98408400 iadd temp ,temp 
+
+calc_clke_pos:
+284c 600b0447 storet 6 ,mem_le_clk_offset 
+284d 207b0000 rtn le 
+284e 600b0038 storet 6 ,mem_clk_offset 
+284f 20600000 rtn 
+
+calc_clke:
+2850 78587c00 disable clknt 
+2851 68030447 fetch 6 ,mem_le_clk_offset 
+2852 203b2854 branch calc_clke2 ,le 
+2853 68030038 fetch 6 ,mem_clk_offset 
+
+calc_clke2:
+2854 9b20e000 iadd clkn ,alarm 
+2855 1e00e00a increase 10 ,alarm 
+2856 58000ea6 setarg 3750 
+2857 9e067e00 isub alarm ,pdata 
+2858 2fec000f isolate0 15 ,pdata 
+2859 2020a85e branch calc_clke_pos_adj ,true 
+285a 5800f15a setarg 0xf15a 
+285b 9e00e000 iadd alarm ,alarm 
+
+calc_clke_pos2:
+285c 1e023400 copy alarm ,clke 
+285d 20600000 rtn 
+
+calc_clke_pos_adj:
+285e 18007c00 force 0 ,null 
+285f 2020285c branch calc_clke_pos2 
+
+calc_radio_freq:
+2860 44bec00f bpatch patch0f_5 ,mem_patch0f 
+2861 20402918 call set_sync_on 
+2862 1c227e00 copy bt_clk ,pdata 
+2863 1fe17f80 and_into 0x180 ,pdata 
+2864 2c800e03 compare 3 ,freq_mode ,0x07 
+2865 2420a869 nbranch freq_not_connection ,true 
+2866 1fe97e00 rshift3 pdata ,pdata 
+2867 9ae0fe00 iadd freq_index ,pdata 
+2868 2020286a branch do_hop_mod_now 
+
+freq_not_connection:
+2869 1ae27e00 copy freq_index ,pdata 
+
+do_hop_mod_now:
+286a 1fe6fc4f div pdata ,79 
+286b 782afc00 pulse recalc 
+286c 20407f86 call wait_div_end 
+286d 18072200 remainder rega 
+286e 1a2085d8 add rega ,-40 ,temp 
+286f 20212872 branch odd_half ,positive 
+2870 1a238400 lshift rega ,temp 
+2871 20202874 branch freq_result 
+
+odd_half:
+2872 18438400 lshift temp ,temp 
+2873 18408401 increase 1 ,temp 
+
+freq_result:
+2874 44bf400f bpatch patch0f_6 ,mem_patch0f 
+2875 68008031 fetch 1 ,mem_mode 
+2876 c301a885 bbit0 afh_change ,afh_process_con 
+
+afh_process_0:
+2877 680240d2 fetch 4 ,mem_afh_instant 
+2878 9c267c00 isub bt_clk ,null 
+2879 20212885 branch afh_process_con ,positive 
+287a 204028a4 call afh_clear 
+287b 6800c0d9 fetch 1 ,mem_afh_new_mod 
+287c 207a0000 rtn blank 
+287d 68008031 fetch 1 ,mem_mode 
+287e 79207e02 set1 afh_enable ,pdata 
+287f 60008031 store 1 ,mem_mode 
+2880 6802c0e7 fetch 5 ,mem_afh_map_new 
+2881 6002c0da store 5 ,mem_afh_map_lo 
+2882 e8c28000 ifetch 5 ,contr 
+2883 6002c0df store 5 ,mem_afh_map_hi 
+2884 204028a9 call afh_process_freq_map 
+
+afh_process_con:
+2885 68008031 fetch 1 ,mem_mode 
+2886 c4010000 rtnbit0 afh_enable 
+2887 2c2ffe01 isolate1 1 ,bt_clk 
+2888 2020a8a1 branch afh_same_channel ,true 
+2889 18492200 rshift3 temp ,rega 
+288a 18410e07 and temp ,7 ,queue 
+288b 580040da setarg mem_afh_map_lo 
+288c 9a20a200 iadd rega ,rega 
+288d ea208000 ifetch 1 ,rega 
+288e afec0000 qisolate0 pdata 
+288f 2020a892 branch afh_process_1 ,true 
+2890 18427e00 deposit temp 
+2891 2020289e branch afh_process_end 
+
+afh_process_1:
+2892 6800c0e4 fetch 1 ,mem_afh_used 
+2893 98002400 iforce regb 
+2894 1c227e00 deposit bt_clk 
+2895 1fe17f80 and_into 0x180 ,pdata 
+2896 1fe97e00 rshift3 pdata ,pdata 
+2897 9ae0fe00 iadd freq_index ,pdata 
+2898 9a46fc00 idiv regb 
+2899 580040f2 setarg mem_afh_map 
+289a 20407f86 call wait_div_end 
+289b 18072200 remainder rega 
+289c 9a208c00 iadd rega ,contr 
+289d e8c08000 ifetch 1 ,contr 
+
+afh_process_end:
+289e 6000c0e5 store 1 ,mem_afh_index 
+289f 98000400 iforce temp 
+28a0 20600000 rtn 
+
+afh_same_channel:
+28a1 6800c0e5 fetch 1 ,mem_afh_index 
+28a2 98000400 iforce temp 
+28a3 20600000 rtn 
+
+afh_clear:
+28a4 68008031 fetch 1 ,mem_mode 
+28a5 793ffe02 set0 afh_enable ,pdata 
+28a6 793ffe03 set0 afh_change ,pdata 
+28a7 60008031 store 1 ,mem_mode 
+28a8 20600000 rtn 
+
+afh_process_freq_map:
+28a9 44bfc00f bpatch patch0f_7 ,mem_patch0f 
+28aa d8a040f2 arg mem_afh_map ,contw 
+28ab 1800720a force 10 ,loopcnt 
+28ac 20407ec6 call memset0 
+28ad d8a040f2 arg mem_afh_map ,contw 
+28ae 18002600 force 0 ,regc 
+28af 18000e02 force 2 ,queue 
+
+process_freq_3:
+28b0 6802c0da fetch 5 ,mem_afh_map_lo 
+28b1 98000400 iforce temp 
+28b2 28e1fe02 compare 2 ,queue ,0xff 
+28b3 2020a8b5 branch process_freq_1 ,true 
+28b4 18430400 rshift temp ,temp 
+
+process_freq_1:
+28b5 284c0000 isolate0 0 ,temp 
+28b6 2020a8b9 branch process_freq_0 ,true 
+28b7 1a627e00 deposit regc 
+28b8 e0a08000 istore 1 ,contw 
+
+process_freq_0:
+28b9 184b0400 rshift2 temp ,temp 
+28ba 1a60a602 increase 2 ,regc 
+28bb 2a61fc28 compare 40 ,regc ,0xfe 
+28bc 2420a8c2 nbranch process_freq_2 ,true 
+28bd 6802c0df fetch 5 ,mem_afh_map_hi 
+28be 98000400 iforce temp 
+28bf 28e1fe02 compare 2 ,queue ,0xff 
+28c0 2020a8c2 branch process_freq_2 ,true 
+28c1 18430400 rshift temp ,temp 
+
+process_freq_2:
+28c2 1a667c4e sub regc ,78 ,null 
+28c3 202128b5 branch process_freq_1 ,positive 
+28c4 18002601 force 1 ,regc 
+28c5 18e08fff increase -1 ,queue 
+28c6 2422a8b0 nbranch process_freq_3 ,zero 
+28c7 da2040f2 arg mem_afh_map ,rega 
+28c8 18a27e00 deposit contw 
+28c9 9a267e00 isub rega ,pdata 
+28ca 6000c0e4 store 1 ,mem_afh_used 
+28cb 20600000 rtn 
+
+rx_radio_freq:
+28cc 44c04010 bpatch patch10_0 ,mem_patch10 
+28cd 20402860 call calc_radio_freq 
+28ce 6800817f fetch 1 ,mem_debug_config 
+28cf c302a8d1 bbit0 debug_rx_fixed_freq ,rx_radio_freq_now 
+28d0 680884cc fetcht 1 ,mem_rx_fixed_freq 
+
+rx_radio_freq_now:
+28d1 2020291f branch set_freq_rx 
+
+tx_radio_freq:
+28d2 44c0c010 bpatch patch10_1 ,mem_patch10 
+28d3 20402860 call calc_radio_freq 
+28d4 6800817f fetch 1 ,mem_debug_config 
+28d5 c30228d7 bbit0 debug_tx_fixed_freq ,tx_radio_freq_now 
+28d6 680884cb fetcht 1 ,mem_tx_fixed_freq 
+
+tx_radio_freq_now:
+28d7 20202933 branch set_freq_tx 
+
+fetch_giac:
+28d8 18005a00 force 0 ,uap 
+28d9 6801c0a7 fetch 3 ,mem_glap 
+28da 98005800 iforce lap 
+28db 20600000 rtn 
+
+fetch_page_bt_adr:
+28dc 44c14010 bpatch patch10_2 ,mem_patch10 
+28dd 6800c1d3 fetch 1 ,mem_hci_puap 
+28de 1fe25a00 icopy uap 
+28df 6801c1d0 fetch 3 ,mem_hci_plap 
+28e0 1fe25800 icopy lap 
+28e1 20600000 rtn 
+
+fetch_self_bt_adr:
+28e2 44c1c010 bpatch patch10_3 ,mem_patch10 
+28e3 680140a4 fetch 2 ,mem_nap 
+28e4 1fe25c00 icopy nap 
+28e5 6800c0a3 fetch 1 ,mem_uap 
+28e6 1fe25a00 icopy uap 
+28e7 6801c0a0 fetch 3 ,mem_lap 
+28e8 1fe25800 icopy lap 
+28e9 20600000 rtn 
+
+fetch_extm_bt_adr:
+28ea 44c24010 bpatch patch10_4 ,mem_patch10 
+28eb 68010044 fetch 2 ,mem_pnap 
+28ec 1fe25c00 icopy nap 
+28ed 68008043 fetch 1 ,mem_puap 
+28ee 1fe25a00 icopy uap 
+28ef 68018040 fetch 3 ,mem_plap 
+28f0 1fe25800 icopy lap 
+28f1 20600000 rtn 
+
+fetch_diac:
+28f2 c51028f5 bmark1 mark_all_diac ,fetch_diac_do 
+28f3 c68e8000 rtnmark0 mark_inquiry_state 
+28f4 c68f8000 rtnmark0 mark_periodical_diac 
+
+fetch_diac_do:
+28f5 1d815900 and_into -256 ,lap 
+28f6 782afc00 pulse recalc 
+28f7 20000020 nop 32 
+28f8 20600000 rtn 
+
+shutdown_radio:
+28f9 44c2c010 bpatch patch10_5 ,mem_patch10 
+28fa 2030a90a branch shutdown_radio0 ,is_rx 
+28fb 708955d4 jam 0xd4 ,rf_tx_pa_ib 
+28fc 20000004 nop 4 
+28fd 708955d2 jam 0xd2 ,rf_tx_pa_ib 
+28fe 20000004 nop 4 
+28ff 708955d1 jam 0xd1 ,rf_tx_pa_ib 
+2900 20000004 nop 4 
+2901 6800c1de fetch 1 ,mem_tx_power 
+2902 c0002908 beq tx_power_0db ,shutdown_radio_0db 
+2903 c000a915 beq tx_power_3db ,shutdown_radio_3db 
+2904 c0012908 beq tx_power_5db ,shutdown_radio_5db 
+2905 c001a915 beq tx_power_f3db ,shutdown_radio_f3db 
+2906 c0022915 beq tx_power_f5db ,shutdown_radio_f5db 
+2907 c0102915 beq tx_power_pair ,shutdown_radio_pair 
+
+shutdown_radio_5db:
+
+shutdown_radio_0db:
+2908 708955d0 jam 0xd0 ,rf_tx_pa_ib 
+2909 708956e0 jam 0xe0 ,rf_tx_pa_gc 
+
+shutdown_radio0:
+290a 18002a00 force 0 ,radio_ctrl 
+290b 7850fc00 disable is_rx 
+290c 78507c00 disable is_tx 
+290d 782f7c00 pulse packet_end 
+290e 70890200 jam 0x0 ,rfen_mdm 
+290f 70890100 jam 0x0 ,rfen_tx 
+2910 70890000 jam 0x0 ,rfen_rx 
+2911 70890300 jam 0 ,rfen_sn 
+2912 70890470 jam 0x70 ,rfen_msc 
+2913 70890600 jam 0x0 ,rfen_adc 
+2914 20600000 rtn 
+
+shutdown_radio_pair:
+
+shutdown_radio_f5db:
+
+shutdown_radio_f3db:
+
+shutdown_radio_3db:
+2915 708955d0 jam 0xd0 ,rf_tx_pa_ib 
+2916 708956c0 jam 0xc0 ,rf_tx_pa_gc 
+2917 2020290a branch shutdown_radio0 
+
+set_sync_on:
+2918 44c34010 bpatch patch10_6 ,mem_patch10 
+2919 70890200 jam 0x0 ,rfen_mdm 
+291a 70890100 jam 0x0 ,rfen_tx 
+291b 70890018 jam 0x18 ,rfen_rx 
+291c 708903a7 jam 0xa7 ,rfen_sn 
+291d 7089047f jam 0x7f ,rfen_msc 
+291e 20600000 rtn 
+
+set_freq_rx:
+291f 44c3c010 bpatch patch10_7 ,mem_patch10 
+2920 60088017 storet 1 ,mem_last_freq 
+2921 1840a204 add temp ,rx_freq_offset ,rega 
+2922 70896d07 jam 0x07 ,rf_balun_ctrim 
+2923 20202981 branch rf_write_freq 
+
+rf_rx_enable:
+2924 44c44011 bpatch patch11_0 ,mem_patch11 
+2925 708901cf jam 0xcf ,rfen_tx 
+2926 2000000a nop 10 
+2927 708900ff jam 0xff ,rfen_rx 
+2928 708903af jam 0xaf ,rfen_sn 
+2929 708904ff jam 0xff ,rfen_msc 
+292a 2000000a nop 10 
+292b 708902a0 jam 0xa0 ,rfen_mdm 
+292c 20600000 rtn 
+
+set_freq_tx_offset:
+292d 6800c1e0 fetch 1 ,mem_250k_freq_enable 
+292e 203a2931 branch set_freq_tx_2m_offset ,blank 
+
+set_freq_tx_0m_offset:
+292f 1840a202 add temp ,2 ,rega 
+2930 20600000 rtn 
+
+set_freq_tx_2m_offset:
+2931 1840a200 add temp ,0 ,rega 
+2932 20600000 rtn 
+
+set_freq_tx:
+2933 44c4c011 bpatch patch11_1 ,mem_patch11 
+2934 60088017 storet 1 ,mem_last_freq 
+2935 2040292d call set_freq_tx_offset 
+2936 20402981 call rf_write_freq 
+2937 58000500 setarg param_pll_setup 
+2938 20402a8f call sleep 
+
+txon:
+2939 70890601 jam 0x1 ,rfen_adc 
+293a 7089003c jam 0x3c ,rfen_rx 
+293b 708901e0 jam 0xe0 ,rfen_tx 
+293c 70896d12 jam 0x12 ,rf_balun_ctrim 
+293d 2000000a nop 10 
+293e 70890201 jam 0x01 ,rfen_mdm 
+293f 7089023d jam 0x3d ,rfen_mdm 
+2940 2000000a nop 10 
+2941 708903b7 jam 0xb7 ,rfen_sn 
+2942 2000000a nop 10 
+2943 7089027f jam 0x7f ,rfen_mdm 
+
+txon_power_select:
+2944 6800c1de fetch 1 ,mem_tx_power 
+2945 c000294b beq tx_power_0db ,set_tx_power_0db 
+2946 c000a94f beq tx_power_3db ,set_tx_power_3db 
+2947 c0012953 beq tx_power_5db ,set_tx_power_5db 
+2948 c001a957 beq tx_power_f3db ,set_tx_power_f3db 
+2949 c002295b beq tx_power_f5db ,set_tx_power_f5db 
+294a c010295f beq tx_power_pair ,set_tx_power_pair 
+
+set_tx_power_0db:
+294b 708956f0 jam 0xf0 ,rf_tx_pa_gc 
+294c 20402965 call txon_common 
+294d 708955d8 jam 0xd8 ,rf_tx_pa_ib 
+294e 20600000 rtn 
+
+set_tx_power_3db:
+294f 708956df jam 0xdf ,rf_tx_pa_gc 
+2950 20402965 call txon_common 
+2951 708955df jam 0xdf ,rf_tx_pa_ib 
+2952 20600000 rtn 
+
+set_tx_power_5db:
+2953 708956ff jam 0xff ,rf_tx_pa_gc 
+2954 20402965 call txon_common 
+2955 708955df jam 0xdf ,rf_tx_pa_ib 
+2956 20600000 rtn 
+
+set_tx_power_f3db:
+2957 708956ce jam 0xce ,rf_tx_pa_gc 
+2958 20402965 call txon_common 
+2959 708955d8 jam 0xd8 ,rf_tx_pa_ib 
+295a 20600000 rtn 
+
+set_tx_power_f5db:
+295b 708956cb jam 0xcb ,rf_tx_pa_gc 
+295c 20402965 call txon_common 
+295d 708955d8 jam 0xd8 ,rf_tx_pa_ib 
+295e 20600000 rtn 
+
+set_tx_power_pair:
+295f 708955d0 jam 0xd0 ,rf_tx_pa_ib 
+2960 708956c0 jam 0xc0 ,rf_tx_pa_gc 
+2961 7089574c jam 0x4c ,0x8957 
+2962 7089586c jam 0x6c ,0x8958 
+2963 70895950 jam 0x50 ,0x8959 
+2964 20600000 rtn 
+
+txon_common:
+2965 20000004 nop 4 
+2966 708955d1 jam 0xd1 ,rf_tx_pa_ib 
+2967 20000004 nop 4 
+2968 708955d2 jam 0xd2 ,rf_tx_pa_ib 
+2969 20000004 nop 4 
+296a 708955d4 jam 0xd4 ,rf_tx_pa_ib 
+296b 20600000 rtn 
+
+initialize_radio:
+296c 70804206 jam clksel_rc ,core_clksel 
+
+initialize_radio_wait:
+296d 680140c3 fetch 2 ,mem_rf_init_ptr 
+296e c307296d bbit0 14 ,initialize_radio_wait 
+296f 98000c00 iforce contr 
+2970 d8408900 arg 0x8900 ,temp 
+
+initialize_radio_loop:
+2971 e8c08000 ifetch 1 ,contr 
+2972 c07fa977 beq 0xff ,initialize_radio_cont 
+2973 98418a00 ior temp ,contw 
+2974 e8c08000 ifetch 1 ,contr 
+2975 e0a08000 istore 1 ,contw 
+2976 20202971 branch initialize_radio_loop 
+
+initialize_radio_cont:
+2977 44c54011 bpatch patch11_2 ,mem_patch11 
+2978 20402be5 call lpm_cal_xtal_startup 
+2979 204029c9 call switchto_dpllclk 
+297a 580007d0 setarg param_dpll_start_delay 
+297b 9c40fe00 iadd clkn_bt ,pdata 
+297c 60020169 store 4 ,mem_dpll_clkn 
+297d 79202a03 set1 reset ,radio_ctrl 
+297e 18002a00 force 0 ,radio_ctrl 
+297f 2455a998 ncall do_rccal ,wake 
+2980 202029ab branch set_rccal 
+
+rf_write_freq:
+2981 44c5c011 bpatch patch11_3 ,mem_patch11 
+2982 58000960 setarg 2400 
+2983 9a208400 iadd rega ,temp 
+2984 6800c0bd fetch 1 ,mem_fcomp_mul 
+2985 70895f04 jam 0x04 ,rf_pll_rstn 
+2986 984ffe00 imul32 temp ,pdata 
+2987 6808c0be fetcht 1 ,mem_fcomp_div 
+2988 9846fc00 idiv temp 
+2989 20407f86 call wait_div_end 
+298a 1807a200 quotient rega 
+298b 18077e00 remainder pdata 
+298c 1ff07e00 lshift16 pdata ,pdata 
+298d 1ff27e00 lshift4 pdata ,pdata 
+298e 9846fc00 idiv temp 
+298f 20407f86 call wait_div_end 
+2990 1807fe00 quotient pdata 
+2991 1fed7e00 lshift8 pdata ,pdata 
+2992 1fe3fe00 lshift pdata ,pdata 
+2993 9a21fe00 ior rega ,pdata 
+2994 60120960 hstore 4 ,rf_pll_intg 
+2995 70895f44 jam 0x44 ,rf_pll_rstn 
+2996 70895fc4 jam 0xc4 ,rf_pll_rstn 
+2997 20600000 rtn 
+
+do_rccal:
+2998 44c64011 bpatch patch11_4 ,mem_patch11 
+2999 70890602 jam 0x02 ,rfen_adc 
+299a 5803d090 setarg 250000 
+299b 20402a8f call sleep 
+299c 7089007f jam 0x7f ,rfen_rx 
+299d 20000082 nop 130 
+299e 70895230 jam 0x30 ,rf_rccal_ctrl 
+299f 708901d0 jam 0xd0 ,rfen_tx 
+29a0 70895270 jam 0x70 ,rf_rccal_ctrl 
+29a1 708952f0 jam 0xf0 ,rf_rccal_ctrl 
+29a2 18007232 force 50 ,loopcnt 
+
+do_rccal_loop:
+29a3 68108980 hfetch 1 ,rf_rccal_result 
+29a4 c282a9a6 bbit1 5 ,do_rccal_end 
+29a5 c20029a3 loop do_rccal_loop 
+
+do_rccal_end:
+29a6 6000c0ce store 1 ,mem_rf_rccal 
+29a7 70890100 jam 0 ,rfen_tx 
+29a8 70890000 jam 0 ,rfen_rx 
+29a9 70890600 jam 0x00 ,rfen_adc 
+29aa 20600000 rtn 
+
+set_rccal:
+29ab 44c6c011 bpatch patch11_5 ,mem_patch11 
+29ac 6800c0ce fetch 1 ,mem_rf_rccal 
+29ad 79207e05 set1 5 ,pdata 
+29ae 60108952 hstore 1 ,rf_rccal_ctrl 
+29af 68188950 hfetcht 1 ,rf_bpf_ctrim 
+29b0 18410407 and_into 7 ,temp 
+29b1 1fe9fe00 lshift3 pdata ,pdata 
+29b2 9841fe00 ior temp ,pdata 
+29b3 60108950 hstore 1 ,rf_bpf_ctrim 
+29b4 68108951 hfetch 1 ,rf_bpf_ib 
+29b5 793ffe00 set0 bpf_rccal ,pdata 
+29b6 60108951 hstore 1 ,rf_bpf_ib 
+29b7 68108952 hfetch 1 ,rf_adc_rccal 
+29b8 793ffe05 set0 adc_rccal ,pdata 
+29b9 60108952 hstore 1 ,rf_adc_rccal 
+29ba 20600000 rtn 
+
+save_rssi:
+29bb 44c74011 bpatch patch11_6 ,mem_patch11 
+29bc 68110981 hfetch 2 ,rf_afc_d2a 
+29bd 1ff1fe00 rshift4 pdata ,pdata 
+29be 1fe97e00 rshift3 pdata ,pdata 
+29bf 1fe67e00 sub pdata ,0 ,pdata 
+
+bcd:
+29c0 1fe17eff and_into 0xff ,pdata 
+29c1 1fe6fc0a div pdata ,10 
+29c2 20407f86 call wait_div_end 
+29c3 1807fe00 quotient pdata 
+29c4 1ff27e00 lshift4 pdata ,pdata 
+29c5 18070400 remainder temp 
+29c6 9841fe00 ior temp ,pdata 
+29c7 60008018 store 1 ,mem_rssi 
+29c8 20600000 rtn 
+
+switchto_dpllclk:
+29c9 70804206 jam clksel_rc ,core_clksel 
+29ca 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+29cb 793ffe04 set0 4 ,pdata 
+29cc 793ffe05 set0 5 ,pdata 
+29cd 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29ce 70890500 jam 0x00 ,rfen_ck 
+29cf 70890400 jam 0x00 ,rfen_msc 
+29d0 70890470 jam 0x70 ,rfen_msc 
+29d1 708905ff jam 0xff ,rfen_ck 
+29d2 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+29d3 79207e04 set1 4 ,pdata 
+29d4 79207e05 set1 5 ,pdata 
+29d5 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29d6 204029e9 call init_lpm_ctrl 
+29d7 68108968 hfetch 1 ,rf_clkpll_int 
+29d8 79207e07 set1 7 ,pdata 
+29d9 60108968 hstore 1 ,rf_clkpll_int 
+29da 793ffe07 set0 7 ,pdata 
+29db 60108968 hstore 1 ,rf_clkpll_int 
+29dc 79207e07 set1 7 ,pdata 
+29dd 60108968 hstore 1 ,rf_clkpll_int 
+29de 70804205 jam clksel_dpll ,core_clksel 
+29df 20000001 nop 1 
+29e0 70804204 jam clksel_xtal ,core_clksel 
+29e1 6810896b hfetch 1 ,rf_clkpll_frac + 2 
+29e2 1fe17ecf and_into 0xcf ,pdata 
+29e3 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29e4 1fe1fe30 or_into 0x30 ,pdata 
+29e5 6010896b hstore 1 ,rf_clkpll_frac + 2 
+29e6 20600000 rtn 
+
+xtal_fast_wake:
+29e7 58000f0f setarg 0xf0f 
+29e8 20202c18 branch lpm_write_config 
+
+init_lpm_ctrl:
+29e9 5800080f setarg 0x80f 
+29ea 20202c18 branch lpm_write_config 
+
+start_receiver:
+29eb 44c7c011 bpatch patch11_7 ,mem_patch11 
+29ec 20402924 call rf_rx_enable 
+29ed 78507c00 disable is_tx 
+29ee 7830fc00 enable is_rx 
+29ef 782b7c00 pulse init_encrypt 
+29f0 20600000 rtn 
+
+prep_crypt:
+29f1 44c84012 bpatch patch12_0 ,mem_patch12 
+29f2 6800804c fetch 1 ,mem_state_map 
+29f3 2feffe02 isolate1 smap_encryption ,pdata 
+29f4 7920fe00 setflag true ,0 ,pdata 
+29f5 60108011 hstore 1 ,core_encrypt 
+29f6 d8c00062 arg mem_kc ,contr 
+29f7 e8c48000 ifetch 9 ,contr 
+29f8 98006400 iforce kc_ls 
+29f9 e8c38000 ifetch 7 ,contr 
+29fa 98006600 iforce kc_ms 
+29fb 68008054 fetch 1 ,mem_key_size 
+29fc 1fe0e9ff add pdata ,-1 ,g1l 
+29fd 782d7c00 pulse kc_p_activate 
+29fe 20600000 rtn 
+
+wait_access_end:
+29ff 1b427e00 deposit clke 
+2a00 6003009a store 6 ,mem_sync_clke 
+2a01 7846fc00 disable decode_fec0 
+2a02 242c28f9 nbranch shutdown_radio ,sync 
+2a03 dd2003bb arg param_clke_cal ,clke_rt 
+2a04 1d00d001 increase 1 ,clke_bt 
+2a05 1d0151fc and_into 0x1fc ,clke_bt 
+2a06 20600000 rtn 
+
+wait_access_mhalfbnd:
+2a07 7826fc00 enable decode_fec0 
+
+wait_access_mhalfbnd_correlate:
+2a08 37cb8400 correlate null ,mhalfbnd 
+2a09 202c29ff branch wait_access_end ,sync 
+2a0a 2d000402 compare 0x02 ,clke_bt ,0x02 
+2a0b 2420aa08 nbranch wait_access_mhalfbnd_correlate ,true 
+2a0c 202029ff branch wait_access_end 
+
+wait_access_clkn_rt:
+2a0d 44c8c012 bpatch patch12_1 ,mem_patch12 
+2a0e d9600600 arg param_conn_access ,timeup 
+2a0f 7826fc00 enable decode_fec0 
+2a10 34730400 correlate clkn_rt ,meet 
+2a11 7846fc00 disable decode_fec0 
+2a12 242c28f9 nbranch shutdown_radio ,sync 
+2a13 20600000 rtn 
+
+wait_access_forever:
+2a14 44c94012 bpatch patch12_2 ,mem_patch12 
+2a15 7826fc00 enable decode_fec0 
+2a16 37c18400 correlate null ,timeout 
+2a17 7846fc00 disable decode_fec0 
+2a18 242c28f9 nbranch shutdown_radio ,sync 
+2a19 dd2003bb arg param_clke_cal ,clke_rt 
+2a1a 1d0151fc and_into 0x1fc ,clke_bt 
+2a1b 20600000 rtn 
+
+reserve_slot:
+2a1c 44c9c012 bpatch patch12_3 ,mem_patch12 
+2a1d 98002200 iforce rega 
+2a1e 1c227e00 deposit bt_clk 
+2a1f 98409600 iadd temp ,timeup 
+2a20 19627e00 copy timeup ,pdata 
+2a21 600240ca store 4 ,mem_next_btclk 
+2a22 1a227e00 deposit rega 
+2a23 20600000 rtn 
+
+ahead_window:
+2a24 1fe20400 copy pdata ,temp 
+2a25 44ca4012 bpatch patch12_4 ,mem_patch12 
+2a26 18427e00 copy temp ,pdata 
+2a27 20407f50 call clk2bt 
+2a28 1c307e00 lshift16 bt_clk ,pdata 
+2a29 79207e2c set1 44 ,pdata 
+2a2a 20407f39 call clk_diff 
+2a2b 793ffe2c set0 44 ,pdata 
+2a2c 20402a77 call get_clk 
+2a2d 20407f39 call clk_diff 
+2a2e 20740000 rtn user 
+2a2f 20407f43 call clk2rt 
+2a30 98003600 iforce stop_watch 
+2a31 37c18200 until null ,timeout 
+2a32 20600000 rtn 
+
+setup_clk:
+2a33 44cac012 bpatch patch12_5 ,mem_patch12 
+2a34 20382a38 branch setup_clkn ,clknt 
+2a35 35330200 until clke_rt ,meet 
+
+skip_setup_clke:
+2a36 1d020400 copy clke_bt ,temp 
+2a37 20202a3b branch setup_clknbt 
+
+setup_clkn:
+2a38 20372a3a branch skip_setup_clkn ,attempt 
+2a39 34730200 until clkn_rt ,meet 
+
+skip_setup_clkn:
+2a3a 1c420400 copy clkn_bt ,temp 
+
+setup_clknbt:
+2a3b 20342a47 branch setup_clk11 ,user 
+2a3c 28400601 compare 1 ,temp ,3 
+2a3d 2420aa33 nbranch setup_clk ,true 
+
+setup_complete:
+2a3e 44cb4012 bpatch patch12_6 ,mem_patch12 
+2a3f 68008030 fetch 1 ,mem_state 
+2a40 c4000000 rtnbit0 state_inconn 
+2a41 680240ca fetch 4 ,mem_next_btclk 
+2a42 98467e00 isub temp ,pdata 
+2a43 24610000 nrtn positive 
+2a44 1fe67cff sub pdata ,0xff ,null 
+2a45 20212a33 branch setup_clk ,positive 
+2a46 20600000 rtn 
+
+setup_clk11:
+2a47 28400603 compare 3 ,temp ,3 
+2a48 2420aa33 nbranch setup_clk ,true 
+2a49 20202a3e branch setup_complete 
+
+rf_setup_time:
+2a4a 44cbc012 bpatch patch12_7 ,mem_patch12 
+2a4b d9600600 arg param_rf_setup ,timeup 
+2a4c 20202a33 branch setup_clk 
+
+rf_setup_time_slave_slot:
+2a4d 78547c00 disable user 
+2a4e 20202a4a branch rf_setup_time 
+
+rf_setup_time_master_slot:
+2a4f 78347c00 enable user 
+2a50 20202a4a branch rf_setup_time 
+
+start_transmitter:
+2a51 44cc4013 bpatch patch13_0 ,mem_patch13 
+2a52 204029f1 call prep_crypt 
+2a53 7850fc00 disable is_rx 
+2a54 78307c00 enable is_tx 
+2a55 20600000 rtn 
+
+start_tx_native:
+2a56 44ccc013 bpatch patch13_1 ,mem_patch13 
+2a57 d9600e43 arg param_tx_setup ,timeup 
+2a58 34730200 until clkn_rt ,meet 
+2a59 782b7c00 pulse init_encrypt 
+2a5a 20600000 rtn 
+
+start_rx_native:
+2a5b 44cd4013 bpatch patch13_2 ,mem_patch13 
+2a5c d9600d00 arg param_rx_setup ,timeup 
+2a5d 34730200 until clkn_rt ,meet 
+2a5e 20600000 rtn 
+
+start_tx_external:
+2a5f 44cdc013 bpatch patch13_3 ,mem_patch13 
+2a60 d9600e43 arg param_tx_setup ,timeup 
+2a61 35330200 until clke_rt ,meet 
+2a62 782b7c00 pulse init_encrypt 
+2a63 20600000 rtn 
+
+send_access_word:
+2a64 44ce4013 bpatch patch13_4 ,mem_patch13 
+2a65 51207e00 preload access 
+2a66 782efc00 enable encode_fec0 
+2a67 79202a00 set1 txgfsk ,radio_ctrl 
+2a68 08008648 inject mod ,72 
+2a69 784efc00 disable encode_fec0 
+2a6a 20600000 rtn 
+
+scan_mode_whiten:
+2a6b 1ca20400 copy xin ,temp 
+2a6c 18418460 or_into 0x60 ,temp 
+2a6d 18421c00 copy temp ,white_init 
+2a6e 20600000 rtn 
+
+get_free_amaddr:
+2a6f 44cec013 bpatch patch13_5 ,mem_patch13 
+2a70 6800c090 fetch 1 ,mem_current_amaddr 
+2a71 1fe0fe01 increase 1 ,pdata 
+2a72 c083aa74 bne param_esco_addr ,get_free_amaddr_cont 
+2a73 18007e01 force 1 ,pdata 
+
+get_free_amaddr_cont:
+2a74 6000c090 store 1 ,mem_current_amaddr 
+2a75 98000800 iforce am_addr 
+2a76 20600000 rtn 
+
+get_clk:
+2a77 1b220400 copy clkn ,temp 
+2a78 20748000 rtn master 
+2a79 1b420400 copy clke ,temp 
+2a7a 20600000 rtn 
+
+get_clkbt:
+2a7b 1c427e00 deposit clkn_bt 
+2a7c 20748000 rtn master 
+2a7d 1d027e00 deposit clke_bt 
+2a7e 20600000 rtn 
+
+supervision_update:
+2a7f 44cf4013 bpatch patch13_6 ,mem_patch13 
+2a80 680a004d fetcht 4 ,mem_supervision_timer 
+2a81 20402a7b call get_clkbt 
+2a82 98461600 isub temp ,timeup 
+2a83 19627e00 deposit timeup 
+2a84 68090051 fetcht 2 ,mem_supervision_to 
+2a85 18438400 lshift temp ,temp 
+2a86 98467e00 isub temp ,pdata 
+2a87 20600000 rtn 
+
+supervision_flush:
+2a88 44cfc013 bpatch patch13_7 ,mem_patch13 
+2a89 20402a7b call get_clkbt 
+2a8a 6002004d store 4 ,mem_supervision_timer 
+2a8b 20600000 rtn 
+
+assert:
+2a8c 44d04014 bpatch patch14_0 ,mem_patch14 
+2a8d 20202a8c branch assert 
+
+loop:
+2a8e 20202a8e branch loop 
+
+sleep:
+2a8f 207a0000 rtn blank 
+2a90 1fe37e00 rshift pdata ,pdata 
+2a91 1fe0fffd increase -3 ,pdata 
+
+sleep_loop:
+2a92 1fe0ffff increase -1 ,pdata 
+2a93 2422aa92 nbranch sleep_loop ,zero 
+2a94 18007e00 force 0 ,pdata 
+2a95 20600000 rtn 
+
+init_param:
+2a96 df200010 arg 0x10 ,loopcnt 
+2a97 d8a00000 arg 0 ,contw 
+2a98 20407ec6 call memset0 
+2a99 d8a0043f arg mem_le_state ,contw 
+2a9a df20000a arg 10 ,loopcnt 
+2a9b 20407ec6 call memset0 
+2a9c 7009b200 jam 0 ,mem_sp_calc 
+2a9d 700a9900 jam 0 ,mem_fifo_temp 
+2a9e 70048c00 jam 0 ,mem_le_testtype 
+2a9f 70017f00 jam 0 ,mem_debug_config 
+2aa0 7004d100 jam 0 ,mem_lmp_conn_state 
+2aa1 44d0c014 bpatch patch14_1 ,mem_patch14 
+2aa2 70016d00 jam 0 ,mem_connection_options 
+2aa3 70015100 jam 0 ,mem_tester_emulate 
+2aa4 70015c00 jam 0 ,mem_tester_cnt 
+2aa5 589e8b33 setarg param_glap 
+2aa6 6001c0a7 store 3 ,mem_glap 
+2aa7 58000153 setarg param_acl_pktlen 
+2aa8 60010083 store 2 ,mem_acl_pktlen 
+2aa9 7000851e jam param_sco_pktlen ,mem_sco_pktlen 
+2aaa 70008601 jam param_acl_pktcnt ,mem_acl_pktcnt 
+2aab 70008807 jam param_sco_pktcnt ,mem_sco_pktcnt 
+2aac 5812e904 setarg param_hci_version 
+2aad 60018080 store 3 ,mem_hci_version 
+2aae 70009060 jam 0x60 ,mem_fhs_misc 
+2aaf 7040d005 jam param_max_slot ,mem_max_slot 
+2ab0 70001402 jam 0x02 ,mem_fw_ver 
+2ab1 6800c65a fetch 1 ,mem_ssp_enable 
+2ab2 245a74c1 ncall init_memp ,blank 
+2ab3 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+2ab4 245a7518 ncall init_memp_256 ,blank 
+2ab5 44d14014 bpatch patch14_2 ,mem_patch14 
+2ab6 20758000 rtn wake 
+2ab7 58000000 setarg 0 
+2ab8 600141dc store 2 ,mem_tx_len 
+2ab9 1c437e00 rshift clkn_bt ,pdata 
+2aba 60024094 store 4 ,mem_last_clkn 
+2abb 20600000 rtn 
+
+lpmstate:
+2abc 5800ee21 setarg 0xee21 
+2abd 60110050 hstore 2 ,core_clkoff 
+2abe 6812011c hfetch 4 ,core_gpio_in 
+2abf 60020abe store 4 ,mem_saved_gpio_in 
+2ac0 6810813e hfetch 1 ,core_lpm_ldocnt 
+2ac1 60008abd store 1 ,mem_wakup_from_power_flag 
+2ac2 c301e45b bbit0 gpio_latch ,loadcode 
+2ac3 7835fc00 enable wake 
+2ac4 c303aacc bbit0 cold_wake ,lpmwake 
+2ac5 7855fc00 disable wake 
+2ac6 1ce27e00 deposit auxcnt 
+2ac7 243a2acc nbranch lpmwake ,blank 
+2ac8 6810813b hfetch 1 ,core_lpm_ctrl + 3 
+2ac9 c2812acc bbit1 reload_code ,lpmwake 
+2aca d85fffff arg param_hibernate_clks ,temp 
+2acb 20202b3c branch lpm_enter_sleep 
+
+lpmwake:
+2acc 6811813c hfetch 3 ,core_lpm_xtalcnt 
+2acd 6011804c hstore 3 ,core_lpm_reg 
+2ace e8c08000 ifetch 1 ,contr 
+2acf 1fe1feef or_into isogate_mask ,pdata 
+2ad0 e0a08000 istore 1 ,contw 
+2ad1 20402c23 call lpm_write_ctrl2 
+2ad2 6810804f hfetch 1 ,core_lpm_isogate 
+2ad3 79207e04 set1 enable_retmem ,pdata 
+2ad4 6010804f hstore 1 ,core_lpm_isogate 
+2ad5 20402c23 call lpm_write_ctrl2 
+2ad6 2055aadf call lpm_load_context ,wake 
+2ad7 6810804e hfetch 1 ,core_lpm_reg + 2 
+2ad8 793ffe03 set0 gpio_latch ,pdata 
+2ad9 6010804e hstore 1 ,core_lpm_reg + 2 
+2ada 20402c23 call lpm_write_ctrl2 
+2adb 2435e45b nbranch loadcode ,wake 
+2adc c6958000 rtnmark0 mark_otp_encrypt 
+2add 70800608 jam lock_otp ,core_misc_ctrl 
+2ade 20600000 rtn 
+
+lpm_load_context:
+2adf 6800c198 fetch 1 ,mem_saved_spidctrl 
+2ae0 60108086 hstore 1 ,core_spid_ctrl 
+2ae1 6801c18d fetch 3 ,mem_saved_gsel 
+2ae2 60118080 hstore 3 ,core_gpio_sel 
+2ae3 68024181 fetch 4 ,mem_saved_gpio + 4 
+2ae4 60120074 hstore 4 ,core_gpio_out0 
+2ae5 6802417d fetch 4 ,mem_saved_gpio 
+2ae6 60120070 hstore 4 ,core_gpio_oe0 
+2ae7 68044185 fetch 8 ,mem_saved_gpio + 8 
+2ae8 60140078 hstore 8 ,core_gpio_pu0 
+2ae9 68044190 fetch 8 ,mem_saved_mark 
+2aea 98000000 iforce mark 
+2aeb 68140140 hfetch 8 ,core_gpio_wakeup_low 
+2aec 600400a1 store 8 ,mem_gpio_wakeup_low 
+2aed 204064ca call load_ucode 
+2aee 20600000 rtn 
+
+lpm_save_context:
+2aef 18027e00 deposit mark 
+2af0 60044190 store 8 ,mem_saved_mark 
+2af1 68140070 hfetch 8 ,core_gpio_oe0 
+2af2 6004417d store 8 ,mem_saved_gpio 
+2af3 e8c40000 ifetch 8 ,contr 
+2af4 e0a40000 istore 8 ,contw 
+2af5 68118080 hfetch 3 ,core_gpio_sel 
+2af6 6001c18d store 3 ,mem_saved_gsel 
+2af7 68108086 hfetch 1 ,core_spid_ctrl 
+2af8 6000c198 store 1 ,mem_saved_spidctrl 
+2af9 20202c29 branch lpm_write_gpio_wakeup 
+
+lpo_calibration:
+2afa 68108063 hfetch 1 ,core_bist_ctrl 
+2afb 243a2b00 nbranch lpo_cal_inited ,blank 
+2afc 6801c16f fetch 3 ,mem_clks_per_lpo 
+2afd 247a0000 nrtn blank 
+2afe 708063c0 jam 0xc0 ,core_bist_ctrl 
+2aff 70800680 jam ccnt_start ,core_misc_ctrl 
+
+lpo_cal_inited:
+2b00 6810812d hfetch 1 ,core_perf_status 
+2b01 c4008000 rtnbit0 1 
+2b02 68118149 hfetch 3 ,core_clk_counter 
+2b03 6001c16f store 3 ,mem_clks_per_lpo 
+2b04 20600000 rtn 
+
+lpm_adjust_clk:
+2b05 44d1c014 bpatch patch14_3 ,mem_patch14 
+2b06 1b427e00 deposit clke 
+2b07 20407f37 call clk_diff_rt 
+2b08 680a415f fetcht 4 ,mem_sleep_counter_all 
+2b09 18467cff sub temp ,0xff ,null 
+2b0a 20610000 rtn positive 
+2b0b 1fed7e00 lshift8 pdata ,pdata 
+2b0c 1ff27e00 lshift4 pdata ,pdata 
+2b0d 9846fc00 idiv temp 
+2b0e 20407f86 call wait_div_end 
+2b0f 1807fe00 quotient pdata 
+2b10 d84000c8 arg param_lpm_adjmax ,temp 
+2b11 20407f91 call ceiling 
+2b12 60008099 store 1 ,mem_lpm_adjust 
+2b13 24342b15 nbranch lpm_adjust_positive ,user 
+2b14 1fe67e00 sub pdata ,0 ,pdata 
+
+lpm_adjust_positive:
+2b15 6809c16f fetcht 3 ,mem_clks_per_lpo 
+2b16 9840fe00 iadd temp ,pdata 
+2b17 6001c16f store 3 ,mem_clks_per_lpo 
+
+lpm_clear_counter:
+2b18 58000000 setarg 0 
+2b19 6002415f store 4 ,mem_sleep_counter_all 
+2b1a 20600000 rtn 
+
+lpm_doze:
+2b1b 6800c177 fetch 1 ,mem_lpm_config + 2 
+2b1c 79207e02 set1 reload_code ,pdata 
+2b1d 6000c177 store 1 ,mem_lpm_config + 2 
+2b1e 20202b23 branch lpm_hibernate_normal 
+
+lpm_hibernate:
+2b1f d85fffff arg param_hibernate_clks ,temp 
+2b20 6800c176 fetch 1 ,mem_lpm_config + 1 
+2b21 793ffe07 set0 7 ,pdata 
+2b22 6000c176 store 1 ,mem_lpm_config + 1 
+
+lpm_hibernate_normal:
+2b23 44d24014 bpatch patch14_4 ,mem_patch14 
+2b24 20402c29 call lpm_write_gpio_wakeup 
+2b25 6800c157 fetch 1 ,mem_lpm_hibernate_switch 
+2b26 6000c17c store 1 ,mem_lpm_xtalcnt + 4 
+2b27 6800c17a fetch 1 ,mem_lpm_xtalcnt + 2 
+2b28 79207e07 set1 cold_wake ,pdata 
+2b29 6000c17a store 1 ,mem_lpm_xtalcnt + 2 
+
+lpm_sleep:
+2b2a 44d2c014 bpatch patch14_5 ,mem_patch14 
+2b2b 204029e7 call xtal_fast_wake 
+2b2c 6802415f fetch 4 ,mem_sleep_counter_all 
+2b2d 9840fe00 iadd temp ,pdata 
+2b2e 6002415f store 4 ,mem_sleep_counter_all 
+2b2f 20402aef call lpm_save_context 
+2b30 6802c178 fetch 5 ,mem_lpm_xtalcnt 
+2b31 6012004c hstore 4 ,core_lpm_reg 
+2b32 1fef2200 rshift32 pdata ,rega 
+2b33 37d98200 until null ,lpo_edge 
+2b34 1b227e00 deposit clkn 
+2b35 60034163 store 6 ,mem_sleep_clkn 
+2b36 70800502 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+2b37 37d98200 until null ,lpo_edge 
+2b38 37d98200 until null ,lpo_edge 
+2b39 1a227e00 deposit rega 
+2b3a 6010804f hstore 1 ,core_lpm_isogate 
+2b3b 70800502 jam lpmreg_sel_ctrl2 ,core_lpm_wr 
+
+lpm_enter_sleep:
+2b3c 37d98200 until null ,lpo_edge 
+2b3d 37d98200 until null ,lpo_edge 
+2b3e 601a004c hstoret 4 ,core_lpm_reg 
+2b3f 70800510 jam lpmreg_sel_counter ,core_lpm_wr 
+2b40 37df8200 until null ,never 
+
+lpm_recover_clk:
+2b41 44d34014 bpatch patch14_6 ,mem_patch14 
+2b42 58000000 setarg 0 
+2b43 1ce27c00 copy auxcnt ,null 
+2b44 2022ab4c branch lpm_recover_timeout ,zero 
+2b45 6810813c hfetch 1 ,core_lpm_xtalcnt 
+2b46 6818813d hfetcht 1 ,core_lpm_buckcnt 
+2b47 98467c00 isub temp ,null 
+2b48 20212b4a branch lpm_recover_xtal ,positive 
+2b49 18427e00 deposit temp 
+
+lpm_recover_xtal:
+2b4a 9ce67e00 isub auxcnt ,pdata 
+2b4b 1fe0fe01 increase 1 ,pdata 
+
+lpm_recover_timeout:
+2b4c 1fe0fe08 increase 8 ,pdata 
+2b4d 37d98200 until null ,lpo_edge 
+2b4e 9e20fe00 iadd lpo_time ,pdata 
+2b4f 680a415b fetcht 4 ,mem_sleep_counter 
+2b50 9840fe00 iadd temp ,pdata 
+2b51 6809c16f fetcht 3 ,mem_clks_per_lpo 
+2b52 984ffe00 imul32 temp ,pdata 
+2b53 1fecfe00 rshift8 pdata ,pdata 
+2b54 1ff1fe00 rshift4 pdata ,pdata 
+2b55 1fe0fe6e increase param_lpm_fix ,pdata 
+2b56 d8400ea6 arg 3750 ,temp 
+2b57 9846fc00 idiv temp 
+2b58 20407f86 call wait_div_end 
+2b59 1807fe00 quotient pdata 
+2b5a 1ff07e00 lshift16 pdata ,pdata 
+2b5b 18070400 remainder temp 
+2b5c 9841fe00 ior temp ,pdata 
+2b5d 680b4163 fetcht 6 ,mem_sleep_clkn 
+2b5e 20407f2c call clk_add 
+2b5f 18423200 copy temp ,clkn 
+2b60 68034048 fetch 6 ,mem_context + coffset_clk_offset 
+2b61 20402854 call calc_clke2 
+2b62 1b427e00 deposit clke 
+2b63 60030a9a store 6 ,mem_pdatatemp 
+2b64 1ce27e00 deposit auxcnt 
+2b65 e0a08000 istore 1 ,contw 
+2b66 6810811d hfetch 1 ,core_gpio_in1 
+2b67 1fe1fef0 or_into 0xf0 ,pdata 
+2b68 e0a08000 istore 1 ,contw 
+2b69 20600000 rtn 
+
+lpm_dispatch:
+2b6a 44d3c014 bpatch patch14_7 ,mem_patch14 
+2b6b 20402afa call lpo_calibration 
+2b6c 6801c16f fetch 3 ,mem_clks_per_lpo 
+2b6d 207a0000 rtn blank 
+2b6e 6800c091 fetch 1 ,mem_lpm_mode 
+2b6f 207a0000 rtn blank 
+2b70 6800c65a fetch 1 ,mem_ssp_enable 
+2b71 203a2b74 branch lpm_dispatch_next ,blank 
+2b72 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+2b73 207a0000 rtn blank 
+
+lpm_dispatch_next:
+2b74 6800c4c0 fetch 1 ,mem_le_sc_calc 
+2b75 247a0000 nrtn blank 
+2b76 20402c3a call lpm_check_wake_lock 
+2b77 247a0000 nrtn blank 
+2b78 6800c040 fetch 1 ,mem_context 
+2b79 2fe00e03 compare 3 ,pdata ,0x7 
+2b7a 2420ab9d nbranch lpm_dispatch_unconn ,true 
+2b7b 68014042 fetch 2 ,mem_context + coffset_tsniff 
+2b7c 207a0000 rtn blank 
+2b7d 20758000 rtn wake 
+2b7e 44d44015 bpatch patch15_0 ,mem_patch15 
+
+lpm_dispatch_next2:
+2b7f 680880a0 fetcht 1 ,mem_lpm_current_mult 
+2b80 68014042 fetch 2 ,mem_context + coffset_tsniff 
+2b81 984ffe00 imul32 temp ,pdata 
+2b82 18518400 rshift4 temp ,temp 
+2b83 184b0400 rshift2 temp ,temp 
+2b84 98467e00 isub temp ,pdata 
+2b85 680a4044 fetcht 4 ,mem_context + coffset_sniff_anchor 
+2b86 9840fe00 iadd temp ,pdata 
+2b87 6808c156 fetcht 1 ,mem_lpm_overhead 
+2b88 98467e00 isub temp ,pdata 
+2b89 1ff06000 lshift16 pdata ,alarm 
+2b8a 44d4c015 bpatch patch15_1 ,mem_patch15 
+2b8b 6801404e fetch 2 ,mem_context + coffset_rx_window 
+2b8c 1fe37e00 rshift pdata ,pdata 
+2b8d 20407f50 call clk2bt 
+2b8e 1e027e00 deposit alarm 
+2b8f 20407f39 call clk_diff 
+2b90 1b420400 copy clke ,temp 
+2b91 20407f37 call clk_diff_rt 
+2b92 20740000 rtn user 
+
+lpm_dispatch_sleep:
+2b93 20407f49 call clk2lpo 
+
+lpm_dispatch_lpo:
+2b94 44d54015 bpatch patch15_2 ,mem_patch15 
+2b95 6800c178 fetch 1 ,mem_lpm_xtalcnt 
+2b96 98467c00 isub temp ,null 
+2b97 20212b18 branch lpm_clear_counter ,positive 
+2b98 600a415b storet 4 ,mem_sleep_counter 
+2b99 20403328 call app_will_enter_lpm 
+2b9a 204052fb call l2cap_lpm_save_txbuf 
+2b9b 680a415b fetcht 4 ,mem_sleep_counter 
+2b9c 20202b2a branch lpm_sleep 
+
+lpm_dispatch_unconn:
+2b9d 44d5c015 bpatch patch15_3 ,mem_patch15 
+2b9e 6800c040 fetch 1 ,mem_context 
+2b9f c3800000 rtnbit1 state_inconn 
+2ba0 c3818000 rtnbit1 state_inpage 
+2ba1 6800c65a fetch 1 ,mem_ssp_enable 
+2ba2 203a2ba5 branch lpm_unconn_nossp ,blank 
+2ba3 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+2ba4 207a0000 rtn blank 
+
+lpm_unconn_nossp:
+2ba5 44d64015 bpatch patch15_4 ,mem_patch15 
+2ba6 6800c36e fetch 1 ,mem_le_adv_enable 
+2ba7 243a2baa nbranch lpm_unconn_cont ,blank 
+2ba8 6800c093 fetch 1 ,mem_scan_mode 
+2ba9 207a0000 rtn blank 
+
+lpm_unconn_cont:
+2baa 68014154 fetch 2 ,mem_lpm_interval 
+2bab 207a0000 rtn blank 
+
+lpm_sleep_btclk:
+2bac 6808c156 fetcht 1 ,mem_lpm_overhead 
+2bad 98467e00 isub temp ,pdata 
+2bae d8401d4c arg 7500 ,temp 
+2baf 984ffe00 imul32 temp ,pdata 
+2bb0 20202b93 branch lpm_dispatch_sleep 
+
+lpm_set_mult:
+2bb1 44d6c015 bpatch patch15_5 ,mem_patch15 
+2bb2 7855fc00 disable wake 
+2bb3 68008030 fetch 1 ,mem_state 
+2bb4 c4008000 rtnbit0 state_insniff 
+2bb5 2436abd0 nbranch lpm_not_match ,match 
+2bb6 20402bcb call lpm_match 
+2bb7 680140c1 fetch 2 ,mem_rx_window_sniff 
+2bb8 6001003e store 2 ,mem_rx_window 
+2bb9 68008047 fetch 1 ,mem_arq 
+2bba c281abde bbit1 wack ,lpm_mult_short 
+2bbb c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+2bbc 20405274 call l2cap_malloc_is_fifo_empty 
+2bbd 243a2bde nbranch lpm_mult_short ,blank 
+2bbe 6800c55c fetch 1 ,mem_classic_bt_flag 
+2bbf c280abde bbit1 short_mult_flag ,lpm_mult_short 
+
+lpm_mult_wait_timeout:
+2bc0 7000a000 jam 0 ,mem_lpm_current_mult 
+2bc1 c586abde bmark0 mark_lpm_mult_enable ,lpm_mult_short 
+2bc2 6800c174 fetch 1 ,mem_lpm_mult_cnt 
+2bc3 203a2be2 branch lpm_mult_long ,blank 
+2bc4 1fe0ffff increase -1 ,pdata 
+2bc5 6000c174 store 1 ,mem_lpm_mult_cnt 
+2bc6 20600000 rtn 
+
+classic_bt_set_mult_short_flag:
+2bc7 d8e00001 arg short_mult_flag ,queue 
+2bc8 202060cd branch classic_bluetooth_set_flag 
+
+classic_bt_clr_mult_short_flag:
+2bc9 d8e00001 arg short_mult_flag ,queue 
+2bca 202060d1 branch classic_bluetooth_clr_flag 
+
+lpm_match:
+2bcb 70415900 jam 0 ,mem_sniff_unint_lost 
+2bcc 6801c169 fetch 3 ,mem_sniff_rcv 
+2bcd 1fe0fe01 increase 1 ,pdata 
+2bce 6001c169 store 3 ,mem_sniff_rcv 
+2bcf 20600000 rtn 
+
+lpm_not_match:
+2bd0 44d74015 bpatch patch15_6 ,mem_patch15 
+2bd1 680940c1 fetcht 2 ,mem_rx_window_sniff 
+2bd2 18430400 rshift temp ,temp 
+2bd3 6801003e fetch 2 ,mem_rx_window 
+2bd4 9840fe00 iadd temp ,pdata 
+2bd5 6001003e store 2 ,mem_rx_window 
+
+lpm_lost:
+2bd6 7000a000 jam 0 ,mem_lpm_current_mult 
+2bd7 6801c16c fetch 3 ,mem_sniff_lost 
+2bd8 1fe0fe01 increase 1 ,pdata 
+2bd9 6001c16c store 3 ,mem_sniff_lost 
+2bda 6800c159 fetch 1 ,mem_sniff_unint_lost 
+2bdb 1fe0fe01 increase 1 ,pdata 
+2bdc 6000c159 store 1 ,mem_sniff_unint_lost 
+2bdd 20600000 rtn 
+
+lpm_mult_short:
+2bde 7000a000 jam 0 ,mem_lpm_current_mult 
+2bdf 6800c173 fetch 1 ,mem_lpm_mult_timeout 
+2be0 6000c174 store 1 ,mem_lpm_mult_cnt 
+2be1 20600000 rtn 
+
+lpm_mult_long:
+2be2 6808c172 fetcht 1 ,mem_lpm_mult 
+2be3 600880a0 storet 1 ,mem_lpm_current_mult 
+2be4 20600000 rtn 
+
+lpm_cal_xtal_startup:
+2be5 44d7c015 bpatch patch15_7 ,mem_patch15 
+2be6 6800c178 fetch 1 ,mem_lpm_xtalcnt 
+2be7 247a0000 nrtn blank 
+2be8 70804206 jam clksel_rc ,core_clksel 
+2be9 58000f0c setarg 0xf0c 
+2bea 20402c18 call lpm_write_config 
+2beb 58030d40 setarg 200000 
+2bec 20402a8f call sleep 
+2bed 37d98200 until null ,lpo_edge 
+2bee 1e226000 copy lpo_time ,alarm 
+2bef 204029e7 call xtal_fast_wake 
+2bf0 70804204 jam clksel_xtal ,core_clksel 
+2bf1 2000000a nop 10 
+2bf2 37d98200 until null ,lpo_edge 
+2bf3 1e227e00 deposit lpo_time 
+2bf4 9e067e00 isub alarm ,pdata 
+2bf5 1fe0fe30 increase 0x30 ,pdata 
+2bf6 d84000ff arg 0xff ,temp 
+2bf7 20407f91 call ceiling 
+2bf8 6000c178 store 1 ,mem_lpm_xtalcnt 
+2bf9 20007530 nop 30000 
+2bfa 20007530 nop 30000 
+2bfb 20007530 nop 30000 
+2bfc 20600000 rtn 
+
+lpm_cal_xtal_startup_by_snooze:
+2bfd 6800c178 fetch 1 ,mem_lpm_xtalcnt 
+2bfe 247a0000 nrtn blank 
+2bff 708044ff jam 0xff ,core_xtal_stable_time 
+2c00 70804206 jam clksel_rc ,core_clksel 
+2c01 204029e7 call xtal_fast_wake 
+2c02 580003e8 setarg 1000 
+2c03 9e20e000 iadd lpo_time ,alarm 
+2c04 07e00000 snooze 
+2c05 1e227e00 deposit lpo_time 
+2c06 20002ee0 nop 12000 
+2c07 20002ee0 nop 12000 
+2c08 20002ee0 nop 12000 
+2c09 20002ee0 nop 12000 
+2c0a 20002ee0 nop 12000 
+2c0b 20002ee0 nop 12000 
+2c0c 20002ee0 nop 12000 
+2c0d 20002ee0 nop 12000 
+2c0e 20002ee0 nop 12000 
+2c0f 9e067e00 isub alarm ,pdata 
+2c10 1fe0fe30 add pdata ,0x30 ,pdata 
+2c11 d84000ff arg 0xff ,temp 
+2c12 20407f91 call ceiling 
+2c13 6000c178 store 1 ,mem_lpm_xtalcnt 
+2c14 20007530 nop 30000 
+2c15 20007530 nop 30000 
+2c16 20007530 nop 30000 
+2c17 20600000 rtn 
+
+lpm_write_config:
+2c18 d8a00fff arg 0xfff ,contw 
+2c19 98a10a00 iand contw ,contw 
+2c1a 6800c175 fetch 1 ,mem_lpm_config 
+2c1b 1fe17ef0 and_into 0xf0 ,pdata 
+2c1c 1fed7e00 lshift8 pdata ,pdata 
+2c1d 98a1fe00 ior contw ,pdata 
+2c1e 6011004c hstore 2 ,core_lpm_reg 
+2c1f e8c10000 ifetch 2 ,contr 
+2c20 e0a10000 istore 2 ,contw 
+
+lpm_write_ctrl:
+2c21 58000001 setarg lpmreg_sel_ctrl 
+2c22 20202c24 branch lpm_write 
+
+lpm_write_ctrl2:
+2c23 58000002 setarg lpmreg_sel_ctrl2 
+
+lpm_write:
+2c24 37d98200 until null ,lpo_edge 
+2c25 60108005 hstore 1 ,core_lpm_wr 
+2c26 37d98200 until null ,lpo_edge 
+2c27 37d98200 until null ,lpo_edge 
+2c28 20600000 rtn 
+
+lpm_write_gpio_wakeup:
+2c29 44d84016 bpatch patch16_0 ,mem_patch16 
+2c2a 680200a1 fetch 4 ,mem_gpio_wakeup_low 
+2c2b 6012004c hstore 4 ,core_lpm_reg 
+2c2c 58000004 setarg lpmreg_sel_gpiolow 
+2c2d 20402c24 call lpm_write 
+2c2e 680200a5 fetch 4 ,mem_gpio_wakeup_high 
+2c2f 6012004c hstore 4 ,core_lpm_reg 
+2c30 58000008 setarg lpmreg_sel_gpiohigh 
+2c31 20202c24 branch lpm_write 
+
+lpm_get_wake_lock:
+2c32 68014152 fetch 2 ,mem_lpm_wake_lock 
+2c33 f9207e00 qset1 pdata 
+2c34 60014152 store 2 ,mem_lpm_wake_lock 
+2c35 20600000 rtn 
+
+lpm_put_wake_lock:
+2c36 68014152 fetch 2 ,mem_lpm_wake_lock 
+2c37 f93ffe00 qset0 pdata 
+2c38 60014152 store 2 ,mem_lpm_wake_lock 
+2c39 20600000 rtn 
+
+lpm_check_wake_lock:
+2c3a 44d8c016 bpatch patch16_1 ,mem_patch16 
+2c3b 20403326 call app_check_wake_lock 
+2c3c 68014152 fetch 2 ,mem_lpm_wake_lock 
+2c3d 1fe22200 copy pdata ,rega 
+2c3e 6800804c fetch 1 ,mem_state_map 
+2c3f 2feffe06 isolate1 smap_rxlmp ,pdata 
+2c40 7920a20b setflag true ,wake_lock_lmp_rx ,rega 
+2c41 68008078 fetch 1 ,mem_lmo_opcode1 
+2c42 6808807c fetcht 1 ,mem_lmo_opcode2 
+2c43 9840fe00 iadd temp ,pdata 
+2c44 68088048 fetcht 1 ,mem_lmp_to_send 
+2c45 9840fe00 iadd temp ,pdata 
+2c46 7d3a220a nsetflag blank ,wake_lock_lmp_tx ,rega 
+2c47 6800c4ff fetch 1 ,mem_le_tx_buff_used 
+2c48 7d3a2201 nsetflag blank ,wake_lock_ble_tx ,rega 
+2c49 6801025d fetch 2 ,mem_l2cap_rxbuff1_len 
+2c4a 6809025f fetcht 2 ,mem_l2cap_rxbuff2_len 
+2c4b 9840fe00 iadd temp ,pdata 
+2c4c 7d3a220d nsetflag blank ,wake_lock_l2cap_rx ,rega 
+2c4d 68044668 fetch util_fifo_len ,mem_ipc_fifo_bt2c51 
+2c4e 7d3a220f nsetflag blank ,wake_lock_ipc_bt2c51 ,rega 
+2c4f 68044670 fetch util_fifo_len ,mem_ipc_fifo_c512bt 
+2c50 7d3a220e nsetflag blank ,wake_lock_ipc_c512bt ,rega 
+2c51 6800c1ce fetch 1 ,mem_hci_cmd 
+2c52 7d3a2208 nsetflag blank ,wake_lock_cmd ,rega 
+2c53 6800c092 fetch 1 ,mem_device_option 
+2c54 2fe1fe0a compare dvc_op_module ,pdata ,0xff 
+2c55 2040ac5b call lpm_uart_wake_lock ,true 
+2c56 5ffffff8 setarg -8 
+2c57 9a212200 iand rega ,rega 
+2c58 1a227e00 copy rega ,pdata 
+2c59 60014152 store 2 ,mem_lpm_wake_lock 
+2c5a 20600000 rtn 
+
+lpm_uart_wake_lock:
+2c5b 68110112 hfetch 2 ,core_uart_rxitems 
+2c5c 7d3a2206 nsetflag blank ,wake_lock_uart_rx ,rega 
+2c5d 6811010e hfetch 2 ,core_uart_txitems 
+2c5e 7d3a2205 nsetflag blank ,wake_lock_uart_tx ,rega 
+2c5f 20600000 rtn 
+
+lpm_shut_down:
+2c60 68120138 hfetch 4 ,core_lpm_ctrl 
+2c61 793ffe1b set0 27 ,pdata 
+2c62 6012004c hstore 4 ,core_lpm_reg 
+2c63 20402c21 call lpm_write_ctrl 
+2c64 20202a8c branch assert 
+
+lpm_disable_exen_output:
+2c65 6812013c hfetch 4 ,core_lpm_xtalcnt 
+2c66 793ffe14 set0 20 ,pdata 
+2c67 6012004c hstore 4 ,core_lpm_reg 
+2c68 20202c23 branch lpm_write_ctrl2 
+
+check_bt_disabled:
+2c69 68014150 fetch 2 ,mem_chip_functions 
+2c6a c2802a8c bbit1 bt_disabled ,assert 
+2c6b 20600000 rtn 
+
+check_ble_disabled:
+2c6c 68014150 fetch 2 ,mem_chip_functions 
+2c6d c280aa8c bbit1 ble_disabled ,assert 
+2c6e 20600000 rtn 
+
+check_module_disabled:
+2c6f 68014150 fetch 2 ,mem_chip_functions 
+2c70 c2812a8c bbit1 module_disable ,assert 
+2c71 20600000 rtn 
+
+g24_dispatch:
+2c72 44d94016 bpatch patch16_2 ,mem_patch16 
+2c73 20402c7a call g24_head_ptr2regc 
+2c74 1a60a4cd add regc ,offset_24g_mode ,regb 
+2c75 ea408000 ifetch 1 ,regb 
+2c76 c1000000 rtneq disable_24g 
+2c77 c000ad06 beq tx_24g ,g24_transmit_process 
+2c78 c0012c7f beq rx_24g ,g24_receive_process 
+2c79 20600000 rtn 
+
+g24_head_ptr2regc:
+2c7a 68094241 fetcht 2 ,mem_24g_head_ptr 
+2c7b 18422600 copy temp ,regc 
+2c7c 20600000 rtn 
+
+g24_receive_process_init:
+2c7d 20402f3d call g24_receive_init 
+2c7e 2020307d branch g24_mode_switch_init 
+
+g24_receive_process:
+2c7f 20403084 call g24_mode_switch 
+2c80 2040305a call g24_dongle_work_mode_auto 
+2c81 2040305e call g24_dongle_bind_mode_auto 
+2c82 202030a2 branch g24_dongle_search_mode_auto 
+
+g24_pair_init:
+2c83 20403231 call g24_set0_mem_pid 
+2c84 5800004e setarg g24_pair_ch 
+2c85 2040322f call g24_store_mem_ch 
+2c86 204032ba call g24_store_mem_pair_txpower 
+2c87 1a60a292 add regc ,offset_24g_paring_addr ,rega 
+2c88 ea220000 ifetch 4 ,rega 
+2c89 2020322c branch g24_store_mem_addr 
+
+g24_ch:
+2c8a 20402c7a call g24_head_ptr2regc 
+2c8b 1a60a491 add regc ,offset_24g_current_ch_number ,regb 
+2c8c ea488000 ifetcht 1 ,regb 
+2c8d 20402c90 call g24_ch_temp_incre_size4 
+2c8e 1a608a91 add regc ,offset_24g_current_ch_number ,contw 
+2c8f 20202e56 branch g24_contw_istoret_1byte 
+
+g24_ch_temp_incre_size4:
+2c90 20402c94 call g24_ch_calc 
+2c91 18408401 increase 1 ,temp 
+2c92 18410403 and_into 3 ,temp 
+2c93 20600000 rtn 
+
+g24_ch_calc:
+2c94 1a60a4ae add regc ,offset_24g_addr ,regb 
+2c95 ea408000 ifetch 1 ,regb 
+2c96 1fe17e03 and_into 0x03 ,pdata 
+2c97 1fefa204 mul32 pdata ,4 ,rega 
+2c98 1a60fe97 add regc ,offset_24g_ch_map1 ,pdata 
+2c99 9a20fe00 iadd rega ,pdata 
+2c9a 98408c00 iadd temp ,contr 
+2c9b e8c08000 ifetch 1 ,contr 
+2c9c 2020322f branch g24_store_mem_ch 
+
+g24_set_device_addr:
+2c9d 2040326c call g24_store_mem_tx_power_temp 
+2c9e 2040666a call otp_enable_chgpump 
+2c9f 580007e2 setarg 0x7e2 
+2ca0 da200aa2 arg mem_temp ,rega 
+2ca1 d8400004 arg 4 ,temp 
+2ca2 204066b3 call otpd_read_data 
+2ca3 2040666d call otp_disable_chgpump 
+2ca4 68020aa2 fetch 4 ,mem_temp 
+2ca5 20403227 call g24_store_mem_device_addr 
+2ca6 247a0000 nrtn blank 
+2ca7 680240a0 fetch 4 ,mem_lap 
+2ca8 20203227 branch g24_store_mem_device_addr 
+
+g24_transmit_rf_sta_init:
+2ca9 20403241 call g24_set1_mem_rf_last_sta 
+2caa 58000000 setarg 0 
+2cab 2040323f call g24_store_mem_sync_cnt 
+
+g24_transmit_rf_ctrl_clear:
+2cac 2040323a call g24_fetch_mem_data_type 
+2cad 1fe17e07 and_into bits_data ,pdata 
+2cae 2020323c branch g24_store_mem_data_type 
+
+g24_hop_ch_enable:
+2caf 2040323a call g24_fetch_mem_data_type 
+2cb0 79207e04 set1 bit_hop ,pdata 
+2cb1 2040323c call g24_store_mem_data_type 
+2cb2 20203235 branch g24_store_mem_txpayload 
+
+g24_transmit_hop_pac_fail:
+2cb3 2040325d call g24_fetch_mem_rf_work_stage 
+2cb4 c000acb7 beq 1 ,g24_transmit_hop_pac_fail_wo_hop 
+2cb5 c0012cbc beq 2 ,g24_transmit_hop_pac_fail_hop_stage2 
+2cb6 20600000 rtn 
+
+g24_transmit_hop_pac_fail_wo_hop:
+2cb7 2040323e call g24_set2_mem_sync_cnt 
+
+g24_transmit_hop_pac_fail_stage1:
+2cb8 1a608ad1 add regc ,offset_24g_hop_pac_retry ,contw 
+2cb9 204032d6 call g24_mem_set0 
+2cba 20403242 call g24_store_mem_rf_last_sta 
+2cbb 20202cac branch g24_transmit_rf_ctrl_clear 
+
+g24_transmit_hop_pac_fail_hop_stage2:
+2cbc 2040325a call g24_set0_mem_rf_hop_ch 
+2cbd 20202cb8 branch g24_transmit_hop_pac_fail_stage1 
+
+g24_transmit_pac_fail_hop_stage3:
+2cbe 1a60a28c add regc ,offset_24g_txfail_cnt ,rega 
+2cbf ea208000 ifetch 1 ,rega 
+2cc0 1fe0fe01 increase 1 ,pdata 
+2cc1 1a608a8c add regc ,offset_24g_txfail_cnt ,contw 
+2cc2 e0a08000 istore 1 ,contw 
+2cc3 c0102dd2 beq 0x20 ,g24_tx_attempt_fail 
+2cc4 20403258 call g24_fetch_mem_rf_hop_ch 
+2cc5 c000acca beq 1 ,g24_rf_hop_fastly 
+2cc6 58000001 setarg 1 
+2cc7 2040325b call g24_store_mem_rf_hop_ch 
+
+g24_rf_hop_attemp_again:
+2cc8 20403258 call g24_fetch_mem_rf_hop_ch 
+2cc9 c080acac bne 1 ,g24_transmit_rf_ctrl_clear 
+
+g24_rf_hop_fastly:
+2cca 1a60a2d3 add regc ,offset_24g_hop_fastly_cnt ,rega 
+2ccb ea208000 ifetch 1 ,rega 
+2ccc 1fe0fe01 increase 1 ,pdata 
+2ccd 20402cd5 call g24_store_mem_hop_fastly_cnt 
+2cce c0022cd2 beq 4 ,g24_rf_hop_fastly_exit 
+2ccf 20402c8a call g24_ch 
+2cd0 20402d04 call g24_set2_mem_max_retry 
+2cd1 20202d8f branch g24_transmit_packet 
+
+g24_rf_hop_fastly_exit:
+2cd2 20402cd4 call g24_set0_mem_hop_fastly_cnt 
+2cd3 20202cac branch g24_transmit_rf_ctrl_clear 
+
+g24_set0_mem_hop_fastly_cnt:
+2cd4 58000000 setarg 0 
+
+g24_store_mem_hop_fastly_cnt:
+2cd5 1a608ad3 add regc ,offset_24g_hop_fastly_cnt ,contw 
+2cd6 202032b4 branch g24_contw_istore_1byte 
+
+g24_transmit_hop_pac_succ_wo_hop:
+2cd7 2040323e call g24_set2_mem_sync_cnt 
+
+g24_transmit_hop_pac_succ:
+2cd8 2040325a call g24_set0_mem_rf_hop_ch 
+2cd9 20403241 call g24_set1_mem_rf_last_sta 
+2cda 20202cac branch g24_transmit_rf_ctrl_clear 
+
+g24_transmit_succ_rf_config:
+2cdb 2040325d call g24_fetch_mem_rf_work_stage 
+2cdc c001acd8 beq 3 ,g24_transmit_hop_pac_succ 
+2cdd 2040323a call g24_fetch_mem_data_type 
+2cde 2fec0004 isolate0 bit_hop ,pdata 
+2cdf 2020aca9 branch g24_transmit_rf_sta_init ,true 
+2ce0 2040325d call g24_fetch_mem_rf_work_stage 
+2ce1 c000acd7 beq 1 ,g24_transmit_hop_pac_succ_wo_hop 
+2ce2 c0012cd8 beq 2 ,g24_transmit_hop_pac_succ 
+2ce3 20600000 rtn 
+
+g24_rf_sta_check:
+2ce4 20403253 call g24_fetch_mem_pairing_sm 
+2ce5 c1ff8000 rtnne state_24g_pairing_success 
+2ce6 20402ce9 call g24_rf_laststa_synccnt_check 
+2ce7 24562cf4 ncall g24_rf_sync_cnt_check ,user2 
+2ce8 20600000 rtn 
+
+g24_rf_laststa_synccnt_check:
+2ce9 78567c00 disable user2 
+2cea 1a60a2ce add regc ,offset_24g_rf_last_sta ,rega 
+2ceb ea208000 ifetch 1 ,rega 
+2cec c1808000 rtnne 1 
+2ced 1a60a2d0 add regc ,offset_24g_sync_cnt ,rega 
+2cee ea208000 ifetch 1 ,rega 
+2cef c1800000 rtnne 0 
+2cf0 58000001 setarg 1 
+2cf1 20402cfd call g24_store_mem_rf_work_stage 
+2cf2 20403237 call g24_set4_mem_max_retry 
+2cf3 20207feb branch enable_user2 
+
+g24_rf_sync_cnt_check:
+2cf4 1a60a2d0 add regc ,offset_24g_sync_cnt ,rega 
+2cf5 ea208000 ifetch 1 ,rega 
+2cf6 203a2cff branch g24_rf_hop_attemp ,blank 
+2cf7 1fe0ffff increase -1 ,pdata 
+2cf8 2040323f call g24_store_mem_sync_cnt 
+2cf9 58000002 setarg 2 
+2cfa 20402cfd call g24_store_mem_rf_work_stage 
+2cfb 20402c8a call g24_ch 
+2cfc 20203237 branch g24_set4_mem_max_retry 
+
+g24_store_mem_rf_work_stage:
+2cfd 1a608ad2 add regc ,offset_24g_rf_work_stage ,contw 
+2cfe 202032b4 branch g24_contw_istore_1byte 
+
+g24_rf_hop_attemp:
+2cff 58000003 setarg 3 
+2d00 20402cfd call g24_store_mem_rf_work_stage 
+2d01 20403258 call g24_fetch_mem_rf_hop_ch 
+2d02 243a2cc8 nbranch g24_rf_hop_attemp_again ,blank 
+2d03 20402c8a call g24_ch 
+
+g24_set2_mem_max_retry:
+2d04 58000002 setarg 2 
+2d05 20203238 branch g24_store_mem_max_retry 
+
+g24_transmit_process:
+2d06 c6930000 rtnmark0 mark_24g 
+2d07 79200027 set1 mark_24g_conext ,mark 
+2d08 44d9c016 bpatch patch16_3 ,mem_patch16 
+2d09 1a60a28e add regc ,offset_24g_tx_without_int ,rega 
+2d0a ea208000 ifetch 1 ,rega 
+2d0b c000ad0f beq 1 ,g24_transmit_without_int 
+2d0c 2040306a call g24_timer_check 
+2d0d 24342d16 nbranch g24_transmit_exit ,user 
+2d0e 20402d1b call g24_interval_calibrate 
+
+g24_transmit_without_int:
+2d0f 1a608a8e add regc ,offset_24g_tx_without_int ,contw 
+2d10 204032d6 call g24_mem_set0 
+2d11 20402d2c call g24_txdata_prep 
+2d12 24342d7d nbranch g24_enter_lpm ,user 
+2d13 20402ce4 call g24_rf_sta_check 
+
+g24_transmit_start:
+2d14 20402d8f call g24_transmit_packet 
+2d15 20402e7a call g24_power_ctrl 
+
+g24_transmit_exit:
+2d16 793f8027 set0 mark_24g_conext ,mark 
+2d17 20600000 rtn 
+
+g24_timer_timeout:
+2d18 20628000 rtn zero 
+2d19 79207e1c set1 28 ,pdata 
+2d1a 20600000 rtn 
+
+g24_interval_calibrate:
+2d1b 1a60a2c2 add regc ,offset_24g_pac_index ,rega 
+2d1c ea208000 ifetch 1 ,rega 
+2d1d 1fe0fe01 increase 1 ,pdata 
+2d1e 1a608ac2 add regc ,offset_24g_pac_index ,contw 
+2d1f e0a08000 istore 1 ,contw 
+2d20 c0022d23 beq 4 ,g24_interval_max 
+2d21 c002ad27 beq 5 ,g24_interval_min 
+2d22 20600000 rtn 
+
+g24_interval_max:
+2d23 1a60a2ad add regc ,offset_24g_interval_max ,rega 
+2d24 ea208000 ifetch 1 ,rega 
+
+g24_interval_update:
+2d25 1a608aab add regc ,offset_24g_interval ,contw 
+2d26 202032b4 branch g24_contw_istore_1byte 
+
+g24_interval_min:
+2d27 1a608ac2 add regc ,offset_24g_pac_index ,contw 
+2d28 204032d6 call g24_mem_set0 
+2d29 1a60a2ac add regc ,offset_24g_interval_min ,rega 
+2d2a ea208000 ifetch 1 ,rega 
+2d2b 20202d25 branch g24_interval_update 
+
+g24_txdata_prep:
+2d2c 20403253 call g24_fetch_mem_pairing_sm 
+2d2d c0ffaeb1 bne state_24g_pairing_success ,g24_pairing_sm 
+2d2e 44da4016 bpatch patch16_4 ,mem_patch16 
+2d2f 20402d3a call g24_package_data 
+2d30 24342d36 nbranch g24_txdata_last_pac ,user 
+2d31 20402d53 call g24_transmit_prep 
+2d32 20402e71 call g24_power_ctrl_pac_incrs 
+
+g24_txdata_enable_tx:
+2d33 58000001 setarg ensure_on_24g 
+
+g24_store_mem_ensure:
+2d34 1a608a8b add regc ,offset_24g_ensure ,contw 
+2d35 202032b4 branch g24_contw_istore_1byte 
+
+g24_txdata_last_pac:
+2d36 1a60a28b add regc ,offset_24g_ensure ,rega 
+2d37 ea208000 ifetch 1 ,rega 
+2d38 c000ffe7 beq ensure_on_24g ,enable_user 
+2d39 20600000 rtn 
+
+g24_package_data:
+2d3a 1a6084d8 add regc ,offset_24g_cb_data ,temp 
+2d3b e8410000 ifetch 2 ,temp 
+2d3c 20407f9c call callback_func 
+2d3d 24740000 nrtn user 
+2d3e 1a227e00 copy rega ,pdata 
+2d3f 60008aae store 1 ,mem_rega 
+2d40 1a608ab2 add regc ,offset_24g_abort_pac ,contw 
+2d41 204032d6 call g24_mem_set0 
+2d42 20402cac call g24_transmit_rf_ctrl_clear 
+2d43 6000919e store 1 ,mem_24g_common_temp 
+2d44 68008aae fetch 1 ,mem_rega 
+2d45 1fe22200 copy pdata ,rega 
+2d46 1a208401 add rega ,1 ,temp 
+2d47 d8a0119f arg mem_24g_common_temp + 1 ,contw 
+2d48 1a227200 copy rega ,loopcnt 
+2d49 1a420c00 copy regb ,contr 
+2d4a 20407f01 call memcpy 
+2d4b da20119e arg mem_24g_common_temp ,rega 
+
+g24_put_data_in_buff:
+2d4c c6938000 rtnmark0 mark_24g_conext 
+2d4d 1a608a86 add regc ,offset_24g_datalen ,contw 
+2d4e e0a88000 istoret 1 ,contw 
+2d4f 18427200 copy temp ,loopcnt 
+2d50 1a608a22 add regc ,offset_24g_txbuf ,contw 
+2d51 1a220c00 copy rega ,contr 
+2d52 20207f01 branch memcpy 
+
+g24_transmit_prep:
+2d53 1a60a286 add regc ,offset_24g_datalen ,rega 
+2d54 ea208000 ifetch 1 ,rega 
+2d55 1fe0fe02 increase 2 ,pdata 
+2d56 1a608a88 add regc ,offset_24g_txlen ,contw 
+2d57 e0a08000 istore 1 ,contw 
+2d58 2040323a call g24_fetch_mem_data_type 
+2d59 20403235 call g24_store_mem_txpayload 
+2d5a 1a60a286 add regc ,offset_24g_datalen ,rega 
+2d5b ea208000 ifetch 1 ,rega 
+2d5c 1fe9fe00 lshift3 pdata ,pdata 
+2d5d 1a60a285 add regc ,offset_24g_pid ,rega 
+2d5e ea288000 ifetcht 1 ,rega 
+2d5f 18410403 and temp ,0x03 ,temp 
+2d60 18438400 lshift temp ,temp 
+2d61 9841fe00 ior temp ,pdata 
+2d62 1a60a2c3 add regc ,offset_24g_no_ack ,rega 
+2d63 ea288000 ifetcht 1 ,rega 
+2d64 9840fe00 iadd temp ,pdata 
+2d65 e0a08000 istore 1 ,contw 
+2d66 1a60a286 add regc ,offset_24g_datalen ,rega 
+2d67 ea208000 ifetch 1 ,rega 
+2d68 98007200 iforce loopcnt 
+2d69 1a608c22 add regc ,offset_24g_txbuf ,contr 
+2d6a 20207f01 branch memcpy 
+
+g24_send_abort_packet:
+2d6b 2040324f call g24_set1_mem_abort_pac 
+2d6c 2040325a call g24_set0_mem_rf_hop_ch 
+2d6d 20402e6d call g24_power_ctrl_reinit 
+2d6e 20402cac call g24_transmit_rf_ctrl_clear 
+2d6f 6000919e store 1 ,mem_24g_common_temp 
+2d70 20402d77 call g24_put_data_in_buff_pre 
+2d71 2040323a call g24_fetch_mem_data_type 
+2d72 79207e03 set1 bit_abort ,pdata 
+2d73 2040323c call g24_store_mem_data_type 
+2d74 20402d53 call g24_transmit_prep 
+2d75 20402d33 call g24_txdata_enable_tx 
+2d76 20202d14 branch g24_transmit_start 
+
+g24_put_data_in_buff_pre:
+2d77 6000919f store 1 ,mem_24g_common_temp + 1 
+2d78 20403224 call g24_fetch_mem_device_addr 
+2d79 600211a0 store 4 ,mem_24g_common_temp + 2 
+2d7a d8400006 arg 6 ,temp 
+2d7b da20119e arg mem_24g_common_temp ,rega 
+2d7c 20202d4c branch g24_put_data_in_buff 
+
+g24_enter_lpm:
+2d7d 1a60a2b2 add regc ,offset_24g_abort_pac ,rega 
+2d7e ea208000 ifetch 1 ,rega 
+2d7f 203a2d6b branch g24_send_abort_packet ,blank 
+
+g24_enter_lpm_prepare:
+2d80 1a60a2da add regc ,offset_24g_cb_lpm_prepare ,rega 
+2d81 ea210000 ifetch 2 ,rega 
+2d82 20207f9c branch callback_func 
+
+g24_lpm_long_sleep:
+2d83 20402c7a call g24_head_ptr2regc 
+2d84 20402afa call lpo_calibration 
+2d85 6801c16f fetch 3 ,mem_clks_per_lpo 
+2d86 207a0000 rtn blank 
+2d87 1a6084dc add regc ,offset_24g_cb_lpm_before ,temp 
+2d88 e8410000 ifetch 2 ,temp 
+2d89 20407f9c call callback_func 
+2d8a 1a6084b6 add regc ,offset_24g_enter_hibernate ,temp 
+2d8b e8440000 ifetch 8 ,temp 
+2d8c 20407f49 call clk2lpo 
+2d8d 600a415b storet 4 ,mem_sleep_counter 
+2d8e 20202b2a branch lpm_sleep 
+
+g24_transmit_packet:
+2d8f 20402c7a call g24_head_ptr2regc 
+2d90 1a608a8f add regc ,offset_24g_retry ,contw 
+2d91 204032d6 call g24_mem_set0 
+
+g24_transmit_loop:
+2d92 20402da4 call g24_transmit_receive_ack 
+2d93 242c2dae nbranch g24_retransmit ,sync 
+2d94 2437adae nbranch g24_retransmit ,user3 
+2d95 20402dd6 call g24_ackpayload_parse 
+2d96 20402e75 call g24_power_ctrl_ack_incrs 
+
+g24_transmit_next_packet:
+2d97 20402c7a call g24_head_ptr2regc 
+2d98 1a60a285 add regc ,offset_24g_pid ,rega 
+2d99 ea208000 ifetch 1 ,rega 
+2d9a 1fe0fe01 increase 1 ,pdata 
+2d9b 20403232 call g24_store_mem_pid 
+2d9c 20403253 call g24_fetch_mem_pairing_sm 
+2d9d c0ffaed0 bne state_24g_pairing_success ,g24_paring_mode 
+2d9e 20402cdb call g24_transmit_succ_rf_config 
+
+g24_transmit_abandon:
+2d9f 58000000 setarg 0 
+2da0 1a608a8c add regc ,offset_24g_txfail_cnt ,contw 
+2da1 e0a10000 istore 2 ,contw 
+2da2 58000000 setarg ensure_off_24g 
+2da3 20202d34 branch g24_store_mem_ensure 
+
+g24_transmit_receive_ack:
+2da4 7857fc00 disable user3 
+2da5 20402df7 call g24_transmit 
+2da6 20402c7a call g24_head_ptr2regc 
+2da7 1a60a2c3 add regc ,offset_24g_no_ack ,rega 
+2da8 ea208000 ifetch 1 ,rega 
+2da9 c000adac beq no_ack_24g ,g24_transmit_no_ack 
+2daa 20402e11 call g24_receive_packet 
+2dab 20202e45 branch g24_end_of_packet 
+
+g24_transmit_no_ack:
+2dac 20402e45 call g24_end_of_packet 
+2dad 20202d97 branch g24_transmit_next_packet 
+
+g24_retransmit:
+2dae 44dac016 bpatch patch16_5 ,mem_patch16 
+2daf 1a60a28d add regc ,offset_24g_get_ack_fail ,rega 
+2db0 ea208000 ifetch 1 ,rega 
+2db1 1fe0fe01 increase 1 ,pdata 
+2db2 1a608a8d add regc ,offset_24g_get_ack_fail ,contw 
+2db3 e0a08000 istore 1 ,contw 
+2db4 20403253 call g24_fetch_mem_pairing_sm 
+2db5 c0ffadcc bne state_24g_pairing_success ,g24_tx_paring_retry 
+2db6 1a60a28f add regc ,offset_24g_retry ,rega 
+2db7 ea288000 ifetcht 1 ,rega 
+2db8 18408401 increase 1 ,temp 
+2db9 1a608a8f add regc ,offset_24g_retry ,contw 
+2dba e0a88000 istoret 1 ,contw 
+2dbb 1a60a2cc add regc ,offset_24g_max_retry ,rega 
+2dbc ea208000 ifetch 1 ,rega 
+2dbd 98467e00 isub temp ,pdata 
+2dbe 243a2d92 nbranch g24_transmit_loop ,blank 
+2dbf 44db4016 bpatch patch16_6 ,mem_patch16 
+2dc0 2040325d call g24_fetch_mem_rf_work_stage 
+2dc1 c001acbe beq 3 ,g24_transmit_pac_fail_hop_stage3 
+2dc2 1a60a2d1 add regc ,offset_24g_hop_pac_retry ,rega 
+2dc3 ea208000 ifetch 1 ,rega 
+2dc4 1fe0fe01 increase 1 ,pdata 
+2dc5 1a608ad1 add regc ,offset_24g_hop_pac_retry ,contw 
+2dc6 e0a08000 istore 1 ,contw 
+2dc7 c0012cb3 beq 2 ,g24_transmit_hop_pac_fail 
+2dc8 20402caf call g24_hop_ch_enable 
+2dc9 58000001 setarg 1 
+2dca 20403238 call g24_store_mem_max_retry 
+2dcb 20202d8f branch g24_transmit_packet 
+
+g24_tx_paring_retry:
+2dcc 1a60a28d add regc ,offset_24g_get_ack_fail ,rega 
+2dcd ea208000 ifetch 1 ,rega 
+2dce c1ff8000 rtnne 0xff 
+2dcf 1a608a8d add regc ,offset_24g_get_ack_fail ,contw 
+2dd0 204032d6 call g24_mem_set0 
+2dd1 20202dd4 branch g24_stop_24g_mode 
+
+g24_tx_attempt_fail:
+2dd2 1a608a8c add regc ,offset_24g_txfail_cnt ,contw 
+2dd3 204032d6 call g24_mem_set0 
+
+g24_stop_24g_mode:
+2dd4 700a993a jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
+2dd5 20207d86 branch ui_ipc_send_event 
+
+g24_ackpayload_parse:
+2dd6 20402dde call g24_read_len_pid_crc 
+2dd7 1a60a284 add regc ,offset_24g_rxdata_length ,rega 
+2dd8 ea208000 ifetch 1 ,rega 
+2dd9 207a0000 rtn blank 
+2dda 98007200 iforce loopcnt 
+2ddb 1a608c02 add regc ,offset_24g_rxbuf_add2 ,contr 
+2ddc 1a608a64 add regc ,offset_24g_rxpayload ,contw 
+2ddd 20207f01 branch memcpy 
+
+g24_read_len_pid_crc:
+2dde 2040325f call g24_fetch_mem_rxbuf_add1 
+2ddf 1fe97e00 rshift3 pdata ,pdata 
+2de0 1a608a84 add regc ,offset_24g_rxdata_length ,contw 
+2de1 e0a08000 istore 1 ,contw 
+2de2 1fe0fe01 increase 1 ,pdata 
+2de3 1a608c01 add regc ,offset_24g_rxbuf_add1 ,contr 
+2de4 98c08c00 iadd contr ,contr 
+2de5 e8c18000 ifetch 3 ,contr 
+2de6 1a608ac4 add regc ,offset_24g_sta_crc ,contw 
+2de7 e0a18000 istore 3 ,contw 
+2de8 2040325f call g24_fetch_mem_rxbuf_add1 
+2de9 1fe37e00 rshift pdata ,pdata 
+2dea 1fe17e03 and pdata ,0x03 ,pdata 
+2deb 1a608aca add regc ,offset_24g_sta_pid ,contw 
+2dec e0a08000 istore 1 ,contw 
+2ded 20600000 rtn 
+
+g24_prep:
+2dee 7844fc00 disable enable_crc 
+2def 7843fc00 disable enable_white 
+2df0 58555555 setarg 0x555555 
+2df1 98001e00 iforce crc24_init 
+2df2 20600000 rtn 
+
+g24_set_freq_tx:
+2df3 20402918 call set_sync_on 
+2df4 1a60a290 add regc ,offset_24g_ch ,rega 
+2df5 ea288000 ifetcht 1 ,rega 
+2df6 20202933 branch set_freq_tx 
+
+g24_transmit:
+2df7 20402dee call g24_prep 
+2df8 20402df3 call g24_set_freq_tx 
+2df9 79202a00 set1 txgfsk ,radio_ctrl 
+2dfa 782efc00 enable encode_fec0 
+2dfb 78307c00 enable is_tx 
+2dfc 7850fc00 disable is_rx 
+2dfd 204053c4 call le_enable 
+2dfe 2040322a call g24_fetch_mem_addr 
+2dff 98001200 iforce access 
+2e00 08008620 inject mod ,32 
+2e01 7824fc00 enable enable_crc 
+2e02 1a60a288 add regc ,offset_24g_txlen ,rega 
+2e03 ea208000 ifetch 1 ,rega 
+2e04 98007200 iforce loopcnt 
+2e05 1a608c42 add regc ,offset_24g_txpayload ,contr 
+
+g24tr_loop:
+2e06 e8c08000 ifetch 1 ,contr 
+2e07 08008608 inject mod ,8 
+2e08 c2002e06 loop g24tr_loop 
+2e09 78247c00 enable enable_parity 
+2e0a 08008618 inject mod ,24 
+2e0b 78447c00 disable enable_parity 
+2e0c 37d38200 until null ,tx_clear 
+2e0d 44dbc016 bpatch patch16_7 ,mem_patch16 
+2e0e 20000064 nop 100 
+2e0f 784efc00 disable encode_fec0 
+2e10 20600000 rtn 
+
+g24_receive_packet:
+2e11 7857fc00 disable user3 
+2e12 18002a00 force 0 ,radio_ctrl 
+2e13 1a60a290 add regc ,offset_24g_ch ,rega 
+2e14 ea288000 ifetcht 1 ,rega 
+2e15 2040291f call set_freq_rx 
+2e16 20402924 call rf_rx_enable 
+
+g24_receive_rxon:
+2e17 20402dee call g24_prep 
+2e18 7826fc00 enable decode_fec0 
+2e19 7830fc00 enable is_rx 
+2e1a 78507c00 disable is_tx 
+2e1b 204053c4 call le_enable 
+2e1c 2040322a call g24_fetch_mem_addr 
+2e1d 98001200 iforce access 
+2e1e 78287c00 enable swfine 
+2e1f 1a60a289 add regc ,offset_24g_rx_window ,rega 
+2e20 ea210000 ifetch 2 ,rega 
+2e21 98003600 iforce stop_watch 
+2e22 37c18400 correlate null ,timeout 
+2e23 242c2e4d nbranch g24_sync_timeout ,sync 
+2e24 7824fc00 enable enable_crc 
+2e25 09800008 parse demod ,bucket ,8 
+2e26 19897e00 rshift3 pwindow ,pdata 
+2e27 1a608a00 add regc ,offset_24g_rxbuf ,contw 
+2e28 e0a08000 istore 1 ,contw 
+2e29 1a60a2cd add regc ,offset_24g_mode ,rega 
+2e2a ea208000 ifetch 1 ,rega 
+2e2b c0012e33 beq rx_24g ,g24_receive_skip 
+2e2c 44dc4017 bpatch patch17_0 ,mem_patch17 
+2e2d 1a60a200 add regc ,offset_24g_rxbuf ,rega 
+2e2e ea208000 ifetch 1 ,rega 
+2e2f 1a60a287 add regc ,offset_24g_data_type ,rega 
+2e30 ea288000 ifetcht 1 ,rega 
+2e31 a8400e00 icompare bits_data ,temp 
+2e32 2420ae45 nbranch g24_end_of_packet ,true 
+
+g24_receive_skip:
+2e33 09800008 parse demod ,bucket ,8 
+2e34 19897e00 rshift3 pwindow ,pdata 
+2e35 e0a08000 istore 1 ,contw 
+2e36 1fe97e00 rshift3 pdata ,pdata 
+2e37 1fe1721f and pdata ,0x1f ,loopcnt 
+2e38 2022ae3d branch g24rx_nopayload ,zero 
+
+g24rx_loop:
+2e39 09800008 parse demod ,bucket ,8 
+2e3a 19897e00 rshift3 pwindow ,pdata 
+2e3b e0a08000 istore 1 ,contw 
+2e3c c2002e39 loop g24rx_loop 
+
+g24rx_nopayload:
+2e3d 09800018 parse demod ,bucket ,24 
+2e3e 1fef7e00 rshift32 pdata ,pdata 
+2e3f 1ff17e00 rshift16 pdata ,pdata 
+2e40 e0a18000 istore 3 ,contw 
+2e41 20232e45 branch g24_end_of_packet ,crc_failed 
+2e42 7837fc00 enable user3 
+2e43 7846fc00 disable decode_fec0 
+2e44 20600000 rtn 
+
+g24_end_of_packet:
+2e45 784efc00 disable encode_fec0 
+2e46 7846fc00 disable decode_fec0 
+2e47 7844fc00 disable enable_crc 
+2e48 7843fc00 disable enable_white 
+2e49 2030a8f9 branch shutdown_radio ,is_rx 
+2e4a 37d38200 until null ,tx_clear 
+2e4b 20000064 nop 100 
+2e4c 202028f9 branch shutdown_radio 
+
+g24_sync_timeout:
+2e4d 20402e4f call rssi_noise 
+2e4e 20202e45 branch g24_end_of_packet 
+
+rssi_noise:
+2e4f 204029bb call save_rssi 
+2e50 207a0000 rtn blank 
+2e51 1a60a2ea add regc ,offset_rssi_noise_index ,rega 
+2e52 ea288000 ifetcht 1 ,rega 
+2e53 da200d9e arg mem_rssi_noise_buffer ,rega 
+2e54 20402e58 call rssi_noise_store 
+2e55 1a608aea add regc ,offset_rssi_noise_index ,contw 
+
+g24_contw_istoret_1byte:
+2e56 e0a88000 istoret 1 ,contw 
+2e57 20600000 rtn 
+
+rssi_noise_store:
+2e58 da4000ff arg rssi_buf_len_noise ,regb 
+2e59 20202e5a branch rssi_store 
+
+rssi_store:
+2e5a 1a227e00 copy rega ,pdata 
+2e5b 98408a00 iadd temp ,contw 
+2e5c 68008018 fetch 1 ,mem_rssi 
+2e5d e0a08000 istore 1 ,contw 
+2e5e 18408401 increase 1 ,temp 
+2e5f 1a427e00 copy regb ,pdata 
+2e60 98410400 iand_into temp 
+2e61 20600000 rtn 
+
+rssi_average:
+2e62 d8400000 arg 0 ,temp 
+2e63 1a220c00 copy rega ,contr 
+
+rssi_average_loop:
+2e64 e8c08000 ifetch 1 ,contr 
+2e65 98408400 iadd temp ,temp 
+2e66 c2002e64 loop rssi_average_loop 
+2e67 184c8400 rshift8 temp ,temp 
+2e68 20600000 rtn 
+
+g24_power_ctrl_init:
+2e69 20402c7a call g24_head_ptr2regc 
+2e6a 20402e9f call g24_power_ctrl_incrs_level1 
+2e6b 58000001 setarg 1 
+2e6c 20403272 call g24_store_mem_power_ctrl_level 
+
+g24_power_ctrl_reinit:
+2e6d 58000000 setarg 0 
+2e6e 20402e73 call g24_store_mem_power_ctrl_pac 
+2e6f e0a08000 istore 1 ,contw 
+2e70 20600000 rtn 
+
+g24_power_ctrl_pac_incrs:
+2e71 20403270 call g24_fetch_mem_power_ctrl_pac 
+2e72 1fe0fe01 increase 1 ,pdata 
+
+g24_store_mem_power_ctrl_pac:
+2e73 1a608afc add regc ,offset_power_ctrl_packet_cnt ,contw 
+2e74 202032b4 branch g24_contw_istore_1byte 
+
+g24_power_ctrl_ack_incrs:
+2e75 1a60a2fd add regc ,offset_power_ctrl_ack_cnt ,rega 
+2e76 ea208000 ifetch 1 ,rega 
+2e77 1fe0fe01 increase 1 ,pdata 
+2e78 1a608afd add regc ,offset_power_ctrl_ack_cnt ,contw 
+2e79 202032b4 branch g24_contw_istore_1byte 
+
+g24_power_ctrl:
+2e7a 44dcc017 bpatch patch17_1 ,mem_patch17 
+2e7b 20403270 call g24_fetch_mem_power_ctrl_pac 
+2e7c 1fe67c7c sub pdata ,power_ctrl_max_packet_cnt ,null 
+2e7d 20610000 rtn positive 
+2e7e 1a60a2fd add regc ,offset_power_ctrl_ack_cnt ,rega 
+2e7f ea288000 ifetcht 1 ,rega 
+2e80 98460400 isub temp ,temp 
+2e81 20402e6d call g24_power_ctrl_reinit 
+2e82 58000102 setarg offset_power_ctrl_threshold_up 
+2e83 9a60a200 iadd regc ,rega 
+2e84 ea208000 ifetch 1 ,rega 
+2e85 98467c00 isub temp ,null 
+2e86 24212e8d nbranch g24_power_ctrl_incrs ,positive 
+2e87 58000103 setarg offset_power_ctrl_threshold_down 
+2e88 9a60a200 iadd regc ,rega 
+2e89 ea208000 ifetch 1 ,rega 
+2e8a 98467c00 isub temp ,null 
+2e8b 20212e99 branch g24_power_ctrl_decrs ,positive 
+2e8c 20600000 rtn 
+
+g24_power_ctrl_incrs:
+2e8d 1a60a2fe add regc ,offset_power_ctrl_level ,rega 
+2e8e ea208000 ifetch 1 ,rega 
+2e8f c0012e93 beq 2 ,g24_power_ctrl_incrs_level2 
+2e90 1fe0fe01 increase 1 ,pdata 
+2e91 20403272 call g24_store_mem_power_ctrl_level 
+2e92 c000ae9f beq 1 ,g24_power_ctrl_incrs_level1 
+
+g24_power_ctrl_incrs_level2:
+2e93 5800000a setarg power_ctrl_losspac_thresh_up2 
+2e94 204032b0 call g24_store_mem_power_ctrl_threshold_up 
+2e95 58000000 setarg power_ctrl_losspac_thresh_down2 
+2e96 204032b2 call g24_store_mem_power_ctrl_threshold_down 
+2e97 1a60a2ff add regc ,offset_power_ctrl_txpwr_level2 ,rega 
+2e98 20202ea5 branch g24_ifetch_rega_store_mem_txpower 
+
+g24_power_ctrl_decrs:
+2e99 1a60a2fe add regc ,offset_power_ctrl_level ,rega 
+2e9a ea208000 ifetch 1 ,rega 
+2e9b c0002ea7 beq 0 ,g24_power_ctrl_decrs_level0 
+2e9c 1fe0ffff increase -1 ,pdata 
+2e9d 20403272 call g24_store_mem_power_ctrl_level 
+2e9e c0002ea7 beq 0 ,g24_power_ctrl_decrs_level0 
+
+g24_power_ctrl_decrs_level1:
+
+g24_power_ctrl_incrs_level1:
+2e9f 58000005 setarg power_ctrl_losspac_thresh_up1 
+2ea0 204032b0 call g24_store_mem_power_ctrl_threshold_up 
+2ea1 58000000 setarg power_ctrl_losspac_thresh_down1 
+2ea2 204032b2 call g24_store_mem_power_ctrl_threshold_down 
+2ea3 58000100 setarg offset_power_ctrl_txpwr_level1 
+
+g24_iadd_offset_mem_txpower:
+2ea4 9a60a200 iadd regc ,rega 
+
+g24_ifetch_rega_store_mem_txpower:
+2ea5 ea208000 ifetch 1 ,rega 
+2ea6 2020326a branch g24_store_mem_txpower 
+
+g24_power_ctrl_decrs_level0:
+2ea7 58000002 setarg power_ctrl_losspac_thresh_up0 
+2ea8 204032b0 call g24_store_mem_power_ctrl_threshold_up 
+2ea9 58000000 setarg power_ctrl_losspac_thresh_down0 
+2eaa 204032b2 call g24_store_mem_power_ctrl_threshold_down 
+2eab 58000101 setarg offset_power_ctrl_txpwr_level0 
+2eac 20202ea4 branch g24_iadd_offset_mem_txpower 
+
+g24_start_pairing_sm1:
+2ead 79200026 set1 mark_24g ,mark 
+2eae 20402c83 call g24_pair_init 
+
+g24_set_pairing_sm_1:
+2eaf 58000001 setarg state_24g_pairing_1 
+2eb0 20203256 branch g24_store_mem_pairing_sm 
+
+g24_pairing_sm:
+2eb1 1a60a28b add regc ,offset_24g_ensure ,rega 
+2eb2 ea208000 ifetch 1 ,rega 
+2eb3 c000ffe7 beq ensure_on_24g ,enable_user 
+2eb4 20403253 call g24_fetch_mem_pairing_sm 
+2eb5 c000aeb9 beq state_24g_pairing_1 ,g24_pairing_sm_1 
+2eb6 c0012ebd beq state_24g_pairing_2 ,g24_pairing_sm_2 
+2eb7 c001aec1 beq state_24g_pairing_3 ,g24_pairing_sm_3 
+2eb8 20202a8c branch assert 
+
+g24_pairing_sm_1:
+2eb9 58000011 setarg state_24g_pairing_1_waiting_ack 
+2eba 20403256 call g24_store_mem_pairing_sm 
+2ebb 70119eaa jam 0xaa ,mem_24g_common_temp 
+2ebc 20202ec4 branch g24_pairing_sm_common 
+
+g24_pairing_sm_2:
+2ebd 58000012 setarg state_24g_pairing_2_waiting_ack 
+2ebe 20403256 call g24_store_mem_pairing_sm 
+2ebf 70119e55 jam 0x55 ,mem_24g_common_temp 
+2ec0 20202ec4 branch g24_pairing_sm_common 
+
+g24_pairing_sm_3:
+2ec1 58000013 setarg state_24g_pairing_3_waiting_ack 
+2ec2 20403256 call g24_store_mem_pairing_sm 
+2ec3 70119e22 jam 0x22 ,mem_24g_common_temp 
+
+g24_pairing_sm_common:
+2ec4 2040323a call g24_fetch_mem_data_type 
+2ec5 1fe17e07 and_into bits_data ,pdata 
+2ec6 6000919f store 1 ,mem_24g_common_temp + 1 
+2ec7 20403224 call g24_fetch_mem_device_addr 
+2ec8 600211a0 store 4 ,mem_24g_common_temp + 2 
+
+g24_put_pairing_data_in_buff:
+2ec9 7011a400 jam 0 ,mem_24g_common_temp + 6 
+2eca da20119e arg mem_24g_common_temp ,rega 
+2ecb d8400007 arg 7 ,temp 
+2ecc 20402d4c call g24_put_data_in_buff 
+2ecd 20402d53 call g24_transmit_prep 
+2ece 20402d33 call g24_txdata_enable_tx 
+2ecf 20207fe7 branch enable_user 
+
+g24_paring_mode:
+2ed0 20403253 call g24_fetch_mem_pairing_sm 
+2ed1 c17f8000 rtneq state_24g_pairing_success 
+2ed2 c008aed6 beq state_24g_pairing_1_waiting_ack ,g24_pairing_sm_1_waiting_ack 
+2ed3 c0092ed9 beq state_24g_pairing_2_waiting_ack ,g24_pairing_sm_2_waiting_ack 
+2ed4 c009aedc beq state_24g_pairing_3_waiting_ack ,g24_pairing_sm_3_waiting_ack 
+2ed5 20600000 rtn 
+
+g24_pairing_sm_1_waiting_ack:
+2ed6 58000002 setarg state_24g_pairing_2 
+2ed7 20403256 call g24_store_mem_pairing_sm 
+2ed8 20202d9f branch g24_transmit_abandon 
+
+g24_pairing_sm_2_waiting_ack:
+2ed9 58000003 setarg state_24g_pairing_3 
+2eda 20403256 call g24_store_mem_pairing_sm 
+2edb 20202d9f branch g24_transmit_abandon 
+
+g24_pairing_sm_3_waiting_ack:
+2edc 580000ff setarg state_24g_pairing_success 
+2edd 20403256 call g24_store_mem_pairing_sm 
+2ede 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+2edf 20407d86 call ui_ipc_send_event 
+2ee0 1a60a266 add regc ,offset_24g_rxpayload_add2 ,rega 
+2ee1 ea220000 ifetch 4 ,rega 
+2ee2 2040322c call g24_store_mem_addr 
+2ee3 20202d9f branch g24_transmit_abandon 
+
+g24_auto_pair_start:
+2ee4 793f8026 set0 mark_24g ,mark 
+2ee5 20402f08 call g24_auto_pair_set_device_info 
+2ee6 20402f22 call g24_tx_attemp_data_prep 
+
+g24_auto_pair_restart:
+2ee7 20403263 call g24_set0_mem_check_dongle_times 
+
+g24_auto_pair_start_loop:
+2ee8 200007d0 nop 2000 
+2ee9 20403261 call g24_fetch_mem_check_dongle_times 
+2eea c07fadd4 beq 0xff ,g24_stop_24g_mode 
+2eeb 20402da4 call g24_transmit_receive_ack 
+2eec 242c2efa nbranch g24_auto_pair_retry ,sync 
+2eed 2437aefa nbranch g24_auto_pair_retry ,user3 
+2eee 20402dd6 call g24_ackpayload_parse 
+2eef 20402c7a call g24_head_ptr2regc 
+2ef0 1a60a292 add regc ,offset_24g_paring_addr ,rega 
+2ef1 ea2a0000 ifetcht 4 ,rega 
+2ef2 204030be call g24_fetch_mem_addr_isub_temp 
+2ef3 2022aead branch g24_start_pairing_sm1 ,zero 
+2ef4 20402c7a call g24_head_ptr2regc 
+2ef5 1a60a266 add regc ,offset_24g_rxpayload_add2 ,rega 
+2ef6 ea220000 ifetch 4 ,rega 
+2ef7 c0002ee7 beq 0 ,g24_auto_pair_restart 
+2ef8 2040322c call g24_store_mem_addr 
+2ef9 20202f1c branch g24_tx_attemp_dongle_succ 
+
+g24_auto_pair_retry:
+2efa 20403261 call g24_fetch_mem_check_dongle_times 
+2efb 1fe0fe01 increase 1 ,pdata 
+2efc 20403264 call g24_store_mem_check_dongle_times 
+2efd 20402f04 call g24_fetch_mem_auto_paring_switch 
+2efe 1fe0fe01 increase 1 ,pdata 
+2eff 1fe17e01 and_into 1 ,pdata 
+2f00 20402f06 call g24_store_mem_auto_paring_switch 
+2f01 c0002f0c beq 0 ,g24_auto_pair_device_attemp 
+2f02 c000af0e beq 1 ,g24_auto_pair_pair_attemp 
+2f03 20600000 rtn 
+
+g24_fetch_mem_auto_paring_switch:
+2f04 5800018b setarg offset_24g_auto_pair_switch 
+2f05 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_store_mem_auto_paring_switch:
+2f06 da20018b arg offset_24g_auto_pair_switch ,rega 
+2f07 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_auto_pair_set_device_info:
+2f08 20403267 call g24_store_mem_tx_power 
+2f09 20403224 call g24_fetch_mem_device_addr 
+2f0a 2040322c call g24_store_mem_addr 
+2f0b 20202c8a branch g24_ch 
+
+g24_auto_pair_device_attemp:
+2f0c 20402f08 call g24_auto_pair_set_device_info 
+2f0d 20202ee8 branch g24_auto_pair_start_loop 
+
+g24_auto_pair_pair_attemp:
+2f0e 20402c83 call g24_pair_init 
+2f0f 20202ee8 branch g24_auto_pair_start_loop 
+
+g24_start_24g_mode:
+2f10 793f8026 set0 mark_24g ,mark 
+2f11 20402c8a call g24_ch 
+2f12 20403253 call g24_fetch_mem_pairing_sm 
+2f13 c1ff8000 rtnne state_24g_pairing_success 
+2f14 20402f22 call g24_tx_attemp_data_prep 
+2f15 20403263 call g24_set0_mem_check_dongle_times 
+
+g24_tx_attemp_dongle_loop:
+2f16 200007d0 nop 2000 
+2f17 20403261 call g24_fetch_mem_check_dongle_times 
+2f18 c07fadd4 beq 0xff ,g24_stop_24g_mode 
+2f19 20402da4 call g24_transmit_receive_ack 
+2f1a 242c2f27 nbranch g24_attemp_txdata_retry ,sync 
+2f1b 2437af27 nbranch g24_attemp_txdata_retry ,user3 
+
+g24_tx_attemp_dongle_succ:
+2f1c 79200026 set1 mark_24g ,mark 
+2f1d 20403263 call g24_set0_mem_check_dongle_times 
+2f1e 580000ff setarg state_24g_pairing_success 
+2f1f 20403256 call g24_store_mem_pairing_sm 
+2f20 700a993c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
+2f21 20207d86 branch ui_ipc_send_event 
+
+g24_tx_attemp_data_prep:
+2f22 79200027 set1 mark_24g_conext ,mark 
+2f23 70119eff jam 0xff ,mem_24g_common_temp 
+2f24 2040323a call g24_fetch_mem_data_type 
+2f25 20402d77 call g24_put_data_in_buff_pre 
+2f26 20202d53 branch g24_transmit_prep 
+
+g24_attemp_txdata_retry:
+2f27 20403261 call g24_fetch_mem_check_dongle_times 
+2f28 1fe0fe01 increase 1 ,pdata 
+2f29 20403264 call g24_store_mem_check_dongle_times 
+2f2a 20402c8a call g24_ch 
+2f2b 20202f16 branch g24_tx_attemp_dongle_loop 
+
+g24_check_51cmd_start_24g:
+2f2c 20403267 call g24_store_mem_tx_power 
+2f2d 580000ff setarg state_24g_pairing_success 
+2f2e 20403256 call g24_store_mem_pairing_sm 
+2f2f 20202f10 branch g24_start_24g_mode 
+
+dongle_init:
+2f30 44dd4017 bpatch patch17_2 ,mem_patch17 
+2f31 20402c7a call g24_head_ptr2regc 
+2f32 580031b0 setarg dongle_rxdata_type1 
+2f33 1a608ade add regc ,offset_24g_cb_rxdata_type1 ,contw 
+2f34 e0a10000 istore 2 ,contw 
+2f35 20402f3d call g24_receive_init 
+2f36 204048ea call usb_init 
+2f37 204032b6 call g24_fetch_mem_pair_mode 
+2f38 44ddc017 bpatch patch17_3 ,mem_patch17 
+2f39 c0003055 beq 0x00 ,dongle_auto_bind 
+2f3a c000af45 beq 0x01 ,dongle_pc_bind 
+2f3b c007af41 beq 0x0f ,dongle_all_powerful 
+2f3c 20202a8c branch assert 
+
+g24_receive_init:
+2f3d 2040326c call g24_store_mem_tx_power_temp 
+2f3e df200080 arg 0x80 ,loopcnt 
+2f3f d8a00d9e arg mem_rssi_noise_buffer ,contw 
+2f40 20207ec6 branch memset0 
+
+dongle_all_powerful:
+2f41 20402f4c call dongle_check_mode 
+
+dongle_all_powerful_loop:
+2f42 20402f4f call g24_dongle_work_mode 
+2f43 204048d3 call usb_isr 
+2f44 20202f42 branch dongle_all_powerful_loop 
+
+dongle_pc_bind:
+2f45 44de4017 bpatch patch17_4 ,mem_patch17 
+2f46 20402f4c call dongle_check_mode 
+
+dongle_pc_bind_loop:
+2f47 20402f4f call g24_dongle_work_mode 
+2f48 20402fbd call g24_dongle_bind_mode 
+2f49 204048d3 call usb_isr 
+2f4a 20403019 call dongle_usb_dispatch 
+2f4b 20202f47 branch dongle_pc_bind_loop 
+
+dongle_check_mode:
+2f4c 20403291 call g24_set_work_mem_dongle_work_mode 
+2f4d 20403296 call g24_set0_mem_dongle_mode_init 
+2f4e 20203299 branch g24_set0_mem_ackpayload_enable 
+
+g24_dongle_work_mode:
+2f4f 2040328f call g24_fetch_mem_dongle_work_mode 
+2f50 c1800000 rtnne dongle_work 
+
+g24_dongle_work_mode_start:
+2f51 20402f55 call g24_dongle_work_init 
+2f52 20402f65 call g24_ch_process 
+2f53 2040316b call g24_receive_packet_start 
+2f54 20202f96 branch g24_blank_data_process 
+
+g24_dongle_work_init:
+2f55 20403294 call g24_fetch_mem_dongle_mode_init 
+2f56 c3800000 rtnbit1 dongle_work 
+2f57 79207e00 set1 dongle_work ,pdata 
+2f58 20403297 call g24_store_mem_dongle_mode_init 
+2f59 20403267 call g24_store_mem_tx_power 
+2f5a 20403299 call g24_set0_mem_ackpayload_enable 
+2f5b 700d3800 jam 0 ,mem_usb_tx_enable 
+2f5c 2040324f call g24_set1_mem_abort_pac 
+2f5d 20402f61 call g24_dongle_init 
+
+g24_rx_interrupt_clear:
+2f5e 1a608a00 add regc ,offset_24g_rxbuf ,contw 
+2f5f df200042 arg 66 ,loopcnt 
+2f60 20207ed4 branch clear_mem 
+
+g24_dongle_init:
+2f61 20403231 call g24_set0_mem_pid 
+2f62 2040327d call g24_fetch_mem_rx_addr 
+2f63 2040322c call g24_store_mem_addr 
+2f64 20202c8a branch g24_ch 
+
+g24_ch_process:
+2f65 44dec017 bpatch patch17_5 ,mem_patch17 
+2f66 2040324c call g24_fetch_mem_abort_pac 
+2f67 c000af8d beq 1 ,g24_noise_rssi 
+2f68 20403245 call g24_fetch_mem_hop_pac 
+2f69 c000ac8a beq 1 ,g24_ch 
+2f6a 58000136 setarg offset_24g_hop_btclk 
+2f6b 9a60a200 iadd regc ,rega 
+2f6c ea2a0000 ifetcht 4 ,rega 
+2f6d 1c427e00 copy clkn_bt ,pdata 
+2f6e 98467c00 isub temp ,null 
+2f6f 24412d18 ncall g24_timer_timeout ,positive 
+2f70 1fe22400 copy pdata ,regb 
+2f71 58000136 setarg offset_24g_hop_btclk 
+2f72 9a60a200 iadd regc ,rega 
+2f73 ea220000 ifetch 4 ,rega 
+2f74 1fe20400 copy pdata ,temp 
+2f75 5800013a setarg offset_24g_hop_interval 
+2f76 9a60a200 iadd regc ,rega 
+2f77 18427e00 copy temp ,pdata 
+2f78 ea288000 ifetcht 1 ,rega 
+2f79 98408400 iadd temp ,temp 
+2f7a 1a427e00 copy regb ,pdata 
+2f7b 98467c00 isub temp ,null 
+2f7c 24610000 nrtn positive 
+2f7d 793ffe1c set0 28 ,pdata 
+2f7e 58000136 setarg offset_24g_hop_btclk 
+2f7f 9a608a00 iadd regc ,contw 
+2f80 e0a20000 istore 4 ,contw 
+
+g24_ch_update:
+2f81 20402c8a call g24_ch 
+2f82 20403278 call g24_fetch_mem_rf_laststa 
+2f83 1fe0fe01 increase 1 ,pdata 
+2f84 2040327b call g24_store_mem_rf_laststa 
+2f85 c1810000 rtnne 2 
+2f86 2040327a call g24_set0_mem_rf_laststa 
+2f87 2020324f branch g24_set1_mem_abort_pac 
+
+g24_ch_timer_reinit:
+2f88 1c427e00 copy clkn_bt ,pdata 
+2f89 da200136 arg offset_24g_hop_btclk ,rega 
+2f8a 204032bf call g24_set_contw_with_temp 
+2f8b e0a20000 istore 4 ,contw 
+2f8c 2020327a branch g24_set0_mem_rf_laststa 
+
+g24_noise_rssi:
+2f8d da200d9e arg mem_rssi_noise_buffer ,rega 
+2f8e 20402f94 call g24_noise_rssi_average 
+2f8f 1a608aeb add regc ,offset_rssi_noise_avg ,contw 
+2f90 e0a88000 istoret 1 ,contw 
+2f91 18467c50 sub temp ,rssi_thresh_noise ,null 
+2f92 24610000 nrtn positive 
+2f93 20202c8a branch g24_ch 
+
+g24_noise_rssi_average:
+2f94 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+2f95 20202e62 branch rssi_average 
+
+g24_blank_data_process:
+2f96 20402f99 call g24_ms_blank_data 
+2f97 20402fa5 call g24_kb_blank_data 
+2f98 20202fb1 branch g24_kb_mul_blank_data 
+
+g24_ms_blank_data:
+2f99 58000180 setarg offset_24g_ms_blank_data_enable 
+2f9a 204032d0 call g24_set_rega_ifetch_1byte 
+2f9b 207a0000 rtn blank 
+2f9c d8e0000b arg timer_ms_blank ,queue 
+2f9d 20407f16 call timer_check 
+2f9e 247a0000 nrtn blank 
+2f9f 204032a7 call g24_set0_mem_ms_blank_data_enable 
+
+g24_ms_blank_data_2usb:
+2fa0 58000001 setarg ms_report_id 
+2fa1 60008d54 store 1 ,mem_usb_mouse_data 
+2fa2 58000000 setarg 0 
+2fa3 e0a38000 istore 7 ,contw 
+2fa4 202031b8 branch g24_data_type1_usbtx_enable 
+
+g24_kb_blank_data:
+2fa5 5800017e setarg offset_24g_kb_blank_data_enable 
+2fa6 204032d0 call g24_set_rega_ifetch_1byte 
+2fa7 207a0000 rtn blank 
+2fa8 d8e0000e arg timer_kb_blank ,queue 
+2fa9 20407f16 call timer_check 
+2faa 247a0000 nrtn blank 
+2fab 204032aa call g24_set0_mem_kb_blank_data_enable 
+
+g24_kb_blank_data_2usb:
+2fac d8a00d64 arg mem_usb_kb_data ,contw 
+2fad df200002 arg 2 ,loopcnt 
+2fae 20407ec6 call memset0 
+2faf 700d6400 jam kb_normal_report_id ,mem_usb_kb_data 
+2fb0 202031ed branch g24_kb_data_into_ep1_fifo 
+
+g24_kb_mul_blank_data:
+2fb1 5800017f setarg offset_24g_kb_mul_blank_data_enable 
+2fb2 204032d0 call g24_set_rega_ifetch_1byte 
+2fb3 207a0000 rtn blank 
+2fb4 d8e0000c arg timer_kb_mul_blank ,queue 
+2fb5 20407f16 call timer_check 
+2fb6 247a0000 nrtn blank 
+2fb7 204032ad call g24_set0_mem_kb_mul_blank_data_enable 
+
+g24_kb_mul_blank_data_2usb:
+2fb8 d8a00d74 arg mem_usb_kb_multikey ,contw 
+2fb9 df200002 arg 2 ,loopcnt 
+2fba 20407ec6 call memset0 
+2fbb 700d7403 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+2fbc 20203207 branch g24_kb_mul_data_into_ep2_fifo 
+
+g24_dongle_bind_mode:
+2fbd 2040328f call g24_fetch_mem_dongle_work_mode 
+2fbe c1808000 rtnne dongle_bind 
+2fbf 20402fc1 call g24_dongle_bind_init 
+2fc0 20202fcb branch g24_dongle_bind_data_process 
+
+g24_dongle_bind_init:
+2fc1 20403294 call g24_fetch_mem_dongle_mode_init 
+2fc2 c3808000 rtnbit1 dongle_bind 
+2fc3 79207e01 set1 dongle_bind ,pdata 
+2fc4 20403297 call g24_store_mem_dongle_mode_init 
+2fc5 2040329c call g24_set1_mem_ackpayload_enable 
+2fc6 20402c83 call g24_pair_init 
+2fc7 58000000 setarg 0 
+2fc8 da200106 arg offset_dongle_ms_bind_step ,rega 
+2fc9 204032bf call g24_set_contw_with_temp 
+2fca 202032c5 branch g24_contw_istore_3byte 
+
+g24_dongle_bind_data_process:
+2fcb 2040316e call g24_receive_transmit_ack 
+2fcc 2437af5e nbranch g24_rx_interrupt_clear ,user3 
+2fcd 1a608c00 add regc ,offset_24g_rxbuf ,contr 
+2fce 58000109 setarg offset_24g_rxdata_temp 
+2fcf 9a608a00 iadd regc ,contw 
+2fd0 df200008 arg 8 ,loopcnt 
+2fd1 20407f01 call memcpy 
+2fd2 5800010b setarg offset_24g_rxdata_temp_add2 
+2fd3 204032d0 call g24_set_rega_ifetch_1byte 
+2fd4 c0552fd9 beq datatype_bind ,g24_dongle_bind_first_step 
+2fd5 c02aafed beq datatype_config ,g24_dongle_bind_second_step 
+2fd6 c0113001 beq datatype_ok ,g24_dongle_bind_third_step 
+2fd7 c07fb212 beq 0xff ,g24_data_attemp 
+2fd8 20202f5e branch g24_rx_interrupt_clear 
+
+g24_dongle_bind_first_step:
+2fd9 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+2fda c000afdd beq bind_mouse ,g24_dongle_bind_first_step_mouse 
+2fdb c0012fe8 beq bind_keyboard ,g24_dongle_bind_first_step_keyboard 
+2fdc 20600000 rtn 
+
+g24_dongle_bind_first_step_mouse:
+2fdd 58000001 setarg 1 
+2fde 20402ff7 call g24_store_mem_ms_bind_step 
+
+g24_dongle_bind_ms_payload_cfg:
+2fdf 58000001 setarg datatype_mouse 
+2fe0 20403289 call g24_store_mem_bind_payload 
+
+g24_dongle_bind_payload_cfg:
+2fe1 58000080 setarg 0x80 
+2fe2 da200130 arg offset_24g_bind_payload_add1 ,rega 
+2fe3 204032b3 call g24_set_contw_with_regb_store_1byte 
+2fe4 2040327d call g24_fetch_mem_rx_addr 
+2fe5 da200131 arg offset_24g_bind_payload_add2 ,rega 
+2fe6 204032bf call g24_set_contw_with_temp 
+2fe7 2020322d branch g24_contw_istore_4byte 
+
+g24_dongle_bind_first_step_keyboard:
+2fe8 58000001 setarg 1 
+2fe9 20402fff call g24_store_mem_kb_bind_step 
+
+g24_dongle_bind_kb_payload_cfg:
+2fea 58000002 setarg datatype_keyboard 
+2feb 20403289 call g24_store_mem_bind_payload 
+2fec 20202fe1 branch g24_dongle_bind_payload_cfg 
+
+g24_dongle_bind_second_step:
+2fed 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+2fee c000aff1 beq bind_mouse ,g24_dongle_bind_second_step_mouse 
+2fef c0012ff9 beq bind_keyboard ,g24_dongle_bind_second_step_keyboard 
+2ff0 20600000 rtn 
+
+g24_dongle_bind_second_step_mouse:
+2ff1 20402fdf call g24_dongle_bind_ms_payload_cfg 
+2ff2 58000106 setarg offset_dongle_ms_bind_step 
+2ff3 204032d0 call g24_set_rega_ifetch_1byte 
+2ff4 c000aff6 beq 1 ,g24_dongle_ms_bind_step_set2 
+2ff5 20600000 rtn 
+
+g24_dongle_ms_bind_step_set2:
+2ff6 58000002 setarg 2 
+
+g24_store_mem_ms_bind_step:
+2ff7 da200106 arg offset_dongle_ms_bind_step ,rega 
+2ff8 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_dongle_bind_second_step_keyboard:
+2ff9 20402fea call g24_dongle_bind_kb_payload_cfg 
+2ffa 58000107 setarg offset_dongle_kb_bind_step 
+2ffb 204032d0 call g24_set_rega_ifetch_1byte 
+2ffc c000affe beq 1 ,g24_dongle_kb_bind_step_set2 
+2ffd 20600000 rtn 
+
+g24_dongle_kb_bind_step_set2:
+2ffe 58000002 setarg 2 
+
+g24_store_mem_kb_bind_step:
+2fff da200107 arg offset_dongle_kb_bind_step ,rega 
+3000 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_dongle_bind_third_step:
+3001 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+3002 c000b005 beq bind_mouse ,g24_dongle_bind_third_step_mouse 
+3003 c0013011 beq bind_keyboard ,g24_dongle_bind_third_step_keyboard 
+3004 20600000 rtn 
+
+g24_dongle_bind_third_step_mouse:
+3005 58000106 setarg offset_dongle_ms_bind_step 
+3006 204032d0 call g24_set_rega_ifetch_1byte 
+3007 c0013009 beq 2 ,g24_dongle_ms_bind_step_success 
+3008 20600000 rtn 
+
+g24_dongle_ms_bind_step_success:
+3009 2040328b call g24_fetch_mem_bind_device_status 
+300a 1fe1fe01 or_into 0x01 ,pdata 
+300b 2040328d call g24_store_mem_bind_device_status 
+
+g24_dongle_bind_exit:
+300c 58000000 setarg 0 
+300d 58000106 setarg offset_dongle_ms_bind_step 
+300e 9a608a00 iadd regc ,contw 
+300f e0a10000 istore 2 ,contw 
+3010 20202f5e branch g24_rx_interrupt_clear 
+
+g24_dongle_bind_third_step_keyboard:
+3011 58000107 setarg offset_dongle_kb_bind_step 
+3012 204032d0 call g24_set_rega_ifetch_1byte 
+3013 c0803015 bne 0 ,g24_dongle_kb_bind_step_success 
+3014 20600000 rtn 
+
+g24_dongle_kb_bind_step_success:
+3015 2040328b call g24_fetch_mem_bind_device_status 
+3016 1fe1fe02 or_into 0x02 ,pdata 
+3017 2040328d call g24_store_mem_bind_device_status 
+3018 2020300c branch g24_dongle_bind_exit 
+
+dongle_usb_dispatch:
+3019 68008d50 fetch 1 ,mem_usb0_get_set_report 
+301a 207a0000 rtn blank 
+301b 700d5000 jam 0 ,mem_usb0_get_set_report 
+301c 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
+301d d84002ba arg pc_set_report ,temp 
+301e 98467c00 isub temp ,null 
+301f 24628000 nrtn zero 
+3020 68008cb6 fetch 1 ,mem_usb0_set_report_data 
+3021 c1dd0000 rtnne pc_report_id 
+3022 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
+3023 44df4017 bpatch patch17_6 ,mem_patch17 
+3024 c050303b beq command_mode ,dongle_dispose_cmd_mode 
+3025 c050b02c beq command_bind ,dongle_dispose_cmd_bind 
+3026 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
+3027 c053b043 beq command_current_mode ,dongle_dispose_cmd_current_mode 
+3028 c054b049 beq command_current_fw_version ,dongle_dispose_cmd_current_fw_version 
+3029 c058304d beq command_user_defined ,dongle_dispose_cmd_user_defined 
+
+usb0_data_ready_report_set0:
+302a 700d4200 jam 0 ,mem_usb0_data_ready_report 
+302b 20600000 rtn 
+
+dongle_dispose_cmd_bind:
+302c 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+302d c000b031 beq com_bind_get ,dongle_dispose_cmd_get_bind 
+302e c0423034 beq com_bind_exit ,dongle_dispose_cmd_exit_bind 
+302f c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+3030 2020302a branch usb0_data_ready_report_set0 
+
+dongle_dispose_cmd_get_bind:
+3031 2040328b call g24_fetch_mem_bind_device_status 
+3032 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+3033 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_exit_bind:
+3034 20403291 call g24_set_work_mem_dongle_work_mode 
+3035 20403296 call g24_set0_mem_dongle_mode_init 
+3036 2040328b call g24_fetch_mem_bind_device_status 
+3037 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+3038 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_read_mode:
+
+dongle_dispose_in_bind_mode:
+3039 700cf7a1 jam command_bind ,mem_usb0_get_report_data + 1 
+303a 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_mode:
+303b 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+303c c040b03e beq com_mode_bind ,dongle_enter_bind_mode 
+303d 2020302a branch usb0_data_ready_report_set0 
+
+dongle_enter_bind_mode:
+303e 20403090 call g24_bind_mode_enable 
+
+usb0_data_ready_report_set1:
+303f 700d4201 jam 1 ,mem_usb0_data_ready_report 
+3040 20600000 rtn 
+
+dongle_dispose_cmd_current_project:
+3041 700cf715 jam product_id ,mem_usb0_get_report_data + 1 
+3042 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_current_mode:
+3043 2040328f call g24_fetch_mem_dongle_work_mode 
+3044 c0003047 beq dongle_work ,dongle_dispose_in_work_mode 
+3045 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
+3046 20600000 rtn 
+
+dongle_dispose_in_work_mode:
+3047 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
+3048 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_current_fw_version:
+3049 700cf700 jam fw_version0 ,mem_usb0_get_report_data + 1 
+304a 700cf800 jam fw_version1 ,mem_usb0_get_report_data + 2 
+304b 700cf901 jam fw_version2 ,mem_usb0_get_report_data + 3 
+304c 2020303f branch usb0_data_ready_report_set1 
+
+dongle_dispose_cmd_user_defined:
+304d 2040329c call g24_set1_mem_ackpayload_enable 
+304e 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+304f 1fe0fe02 increase 2 ,pdata 
+3050 1fe27200 copy pdata ,loopcnt 
+3051 d8c00cb6 arg mem_usb0_set_report_data ,contr 
+3052 5800013c setarg offset_24g_ackpayload 
+3053 9a608a00 iadd regc ,contw 
+3054 20207f01 branch memcpy 
+
+dongle_auto_bind:
+3055 44dfc017 bpatch patch17_7 ,mem_patch17 
+3056 2040307d call g24_mode_switch_init 
+
+dongle_auto_bind_loop:
+3057 20402c7f call g24_receive_process 
+3058 204048d3 call usb_isr 
+3059 20203057 branch dongle_auto_bind_loop 
+
+g24_dongle_work_mode_auto:
+305a 2040328f call g24_fetch_mem_dongle_work_mode 
+305b c1800000 rtnne dongle_work 
+305c 20402f51 call g24_dongle_work_mode_start 
+305d 20203098 branch g24_rx_nodata_process 
+
+g24_dongle_bind_mode_auto:
+305e 2040328f call g24_fetch_mem_dongle_work_mode 
+305f c1808000 rtnne dongle_bind 
+3060 20402fc1 call g24_dongle_bind_init 
+3061 20402fcb call g24_dongle_bind_data_process 
+3062 2040328b call g24_fetch_mem_bind_device_status 
+3063 207a0000 rtn blank 
+3064 20403286 call g24_set0_mem_mode_switch 
+3065 20402f4c call dongle_check_mode 
+3066 20403093 call g24_enable_nodata_timer 
+
+g24_timer_init:
+3067 58000000 setarg 0 
+3068 1a608aa7 add regc ,offset_24g_tx_btclk ,contw 
+3069 2020322d branch g24_contw_istore_4byte 
+
+g24_timer_check:
+306a 20407fe9 call disable_user 
+306b 1a60a2a7 add regc ,offset_24g_tx_btclk ,rega 
+306c ea2a0000 ifetcht 4 ,rega 
+306d 1c427e00 copy clkn_bt ,pdata 
+306e 98467c00 isub temp ,null 
+306f 24412d18 ncall g24_timer_timeout ,positive 
+3070 1fe22400 copy pdata ,regb 
+3071 1a60a2a7 add regc ,offset_24g_tx_btclk ,rega 
+3072 ea220000 ifetch 4 ,rega 
+3073 1a60a2ab add regc ,offset_24g_interval ,rega 
+3074 ea288000 ifetcht 1 ,rega 
+3075 98408400 iadd temp ,temp 
+3076 1a427e00 copy regb ,pdata 
+3077 98467c00 isub temp ,null 
+3078 24610000 nrtn positive 
+3079 793ffe1c set0 28 ,pdata 
+307a 1a608aa7 add regc ,offset_24g_tx_btclk ,contw 
+307b e0a20000 istore 4 ,contw 
+307c 20207fe7 branch enable_user 
+
+g24_mode_switch_init:
+307d 58000001 setarg 1 
+307e 20403287 call g24_store_mem_mode_switch 
+307f 20403283 call g24_set0_mem_time_slice 
+3080 580000ff setarg 0xff 
+3081 1a608aab add regc ,offset_24g_interval ,contw 
+3082 e0a08000 istore 1 ,contw 
+3083 20203067 branch g24_timer_init 
+
+g24_mode_switch:
+3084 5800015c setarg offset_24g_mode_switch 
+3085 204032d0 call g24_set_rega_ifetch_1byte 
+3086 207a0000 rtn blank 
+3087 2040306a call g24_timer_check 
+3088 24740000 nrtn user 
+3089 20403281 call g24_fetch_mem_time_slice 
+308a 1fe0fe01 increase 1 ,pdata 
+308b 1fe17e01 and_into 1 ,pdata 
+308c 20403284 call g24_store_mem_time_slice 
+308d c0002f4c beq 0 ,dongle_check_mode 
+308e c000b090 beq 1 ,g24_bind_mode_enable 
+308f 20600000 rtn 
+
+g24_bind_mode_enable:
+3090 58000001 setarg dongle_bind 
+3091 20403292 call g24_store_mem_dongle_work_mode 
+3092 20203296 branch g24_set0_mem_dongle_mode_init 
+
+g24_enable_nodata_timer:
+3093 58000001 setarg 1 
+3094 204032a5 call g24_store_mem_nodata_timer_enable 
+
+g24_enable_nodata_timer_init:
+3095 58000280 setarg timer_nodata_delay 
+3096 d8e00008 arg timer_nodata ,queue 
+3097 20207f08 branch timer_init 
+
+g24_rx_nodata_process:
+3098 204032a2 call g24_fetch_mem_nodata_timer_enable 
+3099 207a0000 rtn blank 
+309a d8e00008 arg timer_nodata ,queue 
+309b 20407f16 call timer_check 
+309c 247a0000 nrtn blank 
+309d 204032a4 call g24_set0_mem_nodata_timer_enable 
+309e 58000007 setarg dongle_search 
+309f 20403292 call g24_store_mem_dongle_work_mode 
+30a0 20403296 call g24_set0_mem_dongle_mode_init 
+30a1 20202f5e branch g24_rx_interrupt_clear 
+
+g24_dongle_search_mode_auto:
+30a2 44e04018 bpatch patch18_0 ,mem_patch18 
+30a3 2040328f call g24_fetch_mem_dongle_work_mode 
+30a4 c1838000 rtnne dongle_search 
+30a5 204030cb call g24_dongle_search_mode_init 
+30a6 204030e0 call g24_rx_auto_addr_ch_search 
+30a7 2040316e call g24_receive_transmit_ack 
+30a8 2437af5e nbranch g24_rx_interrupt_clear ,user3 
+30a9 204030bc call g24_dongle_search_addr_check 
+30aa 2042b172 call g24_receive_packet_parse ,zero 
+30ab 20402f4c call dongle_check_mode 
+30ac 20403294 call g24_fetch_mem_dongle_mode_init 
+30ad 79207e00 set1 dongle_work ,pdata 
+30ae 20403297 call g24_store_mem_dongle_mode_init 
+30af 20402f5e call g24_rx_interrupt_clear 
+30b0 20403093 call g24_enable_nodata_timer 
+30b1 204030bc call g24_dongle_search_addr_check 
+30b2 2022b0c1 branch g24_dg_ch_num_reinit ,zero 
+30b3 58000164 setarg offset_24g_kb_addr 
+30b4 204032d3 call g24_set_rega_ifetcht_4byte 
+30b5 204030be call g24_fetch_mem_addr_isub_temp 
+30b6 2022b0c5 branch g24_kb_ch_num_reinit ,zero 
+30b7 58000160 setarg offset_24g_mouse_addr 
+30b8 204032d3 call g24_set_rega_ifetcht_4byte 
+30b9 204030be call g24_fetch_mem_addr_isub_temp 
+30ba 2022b0c8 branch g24_ms_ch_num_reinit ,zero 
+30bb 20600000 rtn 
+
+g24_dongle_search_addr_check:
+30bc 5800012b setarg offset_24g_rx_addr 
+30bd 204032d3 call g24_set_rega_ifetcht_4byte 
+
+g24_fetch_mem_addr_isub_temp:
+30be 2040322a call g24_fetch_mem_addr 
+30bf 98467c00 isub temp ,null 
+30c0 20600000 rtn 
+
+g24_dg_ch_num_reinit:
+30c1 58000182 setarg offset_24g_dg_ch_number 
+30c2 204032d0 call g24_set_rega_ifetch_1byte 
+
+g24_current_ch_num_reinit:
+30c3 1a608a91 add regc ,offset_24g_current_ch_number ,contw 
+30c4 202032b4 branch g24_contw_istore_1byte 
+
+g24_kb_ch_num_reinit:
+30c5 58000185 setarg offset_24g_kb_ch_number 
+30c6 204032d0 call g24_set_rega_ifetch_1byte 
+30c7 202030c3 branch g24_current_ch_num_reinit 
+
+g24_ms_ch_num_reinit:
+30c8 58000188 setarg offset_24g_ms_ch_number 
+30c9 204032d0 call g24_set_rega_ifetch_1byte 
+30ca 202030c3 branch g24_current_ch_num_reinit 
+
+g24_dongle_search_mode_init:
+30cb 20403294 call g24_fetch_mem_dongle_mode_init 
+30cc c3838000 rtnbit1 dongle_search 
+30cd 79207e07 set1 dongle_search ,pdata 
+30ce 20403297 call g24_store_mem_dongle_mode_init 
+30cf 20403283 call g24_set0_mem_time_slice 
+30d0 2040329c call g24_set1_mem_ackpayload_enable 
+30d1 58000000 setarg 0 
+30d2 1a608af5 add regc ,offset_rssi_noise_dg_index ,contw 
+30d3 e0a18000 istore 3 ,contw 
+30d4 da200183 arg offset_24g_dg_config_ch_once ,rega 
+30d5 204032bf call g24_set_contw_with_temp 
+30d6 e0a38000 istore 7 ,contw 
+30d7 204030bc call g24_dongle_search_addr_check 
+30d8 24628000 nrtn zero 
+30d9 1a60a291 add regc ,offset_24g_current_ch_number ,rega 
+30da ea208000 ifetch 1 ,rega 
+30db da200182 arg offset_24g_dg_ch_number ,rega 
+30dc 204032b3 call g24_set_contw_with_regb_store_1byte 
+30dd 1a60a290 add regc ,offset_24g_ch ,rega 
+30de ea208000 ifetch 1 ,rega 
+30df 2020314a branch g24_store_mem_dg_last_ch 
+
+g24_rx_auto_addr_ch_search:
+30e0 44e0c018 bpatch patch18_1 ,mem_patch18 
+30e1 20403281 call g24_fetch_mem_time_slice 
+30e2 1fe0fe01 increase 1 ,pdata 
+30e3 1fe17e03 and_into 3 ,pdata 
+30e4 20403284 call g24_store_mem_time_slice 
+30e5 c000310e beq 0 ,g24_rx_auto_bind_config_kb 
+30e6 c000b132 beq 1 ,g24_rx_auto_bind_config_dongle 
+30e7 c00130ea beq 2 ,g24_rx_auto_bind_config_mouse 
+30e8 c001b132 beq 3 ,g24_rx_auto_bind_config_dongle 
+30e9 20600000 rtn 
+
+g24_rx_auto_bind_config_mouse:
+30ea 20402fdf call g24_dongle_bind_ms_payload_cfg 
+30eb 58000160 setarg offset_24g_mouse_addr 
+30ec 2040327e call g24_set_rega_ifetch_4byte 
+30ed 203a30e0 branch g24_rx_auto_addr_ch_search ,blank 
+30ee 2040322c call g24_store_mem_addr 
+30ef 58000189 setarg offset_24g_ms_config_ch_once 
+30f0 204032d0 call g24_set_rega_ifetch_1byte 
+30f1 205a3108 call g24_ms_config_ch_once ,blank 
+30f2 58000187 setarg offset_24g_ms_last_ch 
+30f3 204032d0 call g24_set_rega_ifetch_1byte 
+30f4 2040322f call g24_store_mem_ch 
+30f5 1a60a2f7 add regc ,offset_rssi_noise_ms_index ,rega 
+30f6 ea288000 ifetcht 1 ,rega 
+30f7 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
+30f8 20402e58 call rssi_noise_store 
+30f9 1a608af7 add regc ,offset_rssi_noise_ms_index ,contw 
+30fa e0a88000 istoret 1 ,contw 
+30fb 20402f94 call g24_noise_rssi_average 
+30fc 1a608afa add regc ,offset_rssi_noise_ms_avg ,contw 
+30fd e0a88000 istoret 1 ,contw 
+30fe 18467c50 sub temp ,rssi_thresh_noise ,null 
+30ff 24610000 nrtn positive 
+3100 58000188 setarg offset_24g_ms_ch_number 
+3101 20403275 call g24_set_rega_ifetcht_1byte 
+3102 20402c90 call g24_ch_temp_incre_size4 
+3103 da200188 arg offset_24g_ms_ch_number ,rega 
+3104 204032c8 call g24_set_contw_with_regb2 
+3105 e0a88000 istoret 1 ,contw 
+
+g24_store_mem_ms_last_ch:
+3106 da200187 arg offset_24g_ms_last_ch ,rega 
+3107 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_ms_config_ch_once:
+3108 58000001 setarg 1 
+3109 da200189 arg offset_24g_ms_config_ch_once ,rega 
+310a 204032b3 call g24_set_contw_with_regb_store_1byte 
+310b d8400000 arg 0 ,temp 
+310c 20402c94 call g24_ch_calc 
+310d 20203106 branch g24_store_mem_ms_last_ch 
+
+g24_rx_auto_bind_config_kb:
+310e 20402fea call g24_dongle_bind_kb_payload_cfg 
+310f 58000164 setarg offset_24g_kb_addr 
+3110 2040327e call g24_set_rega_ifetch_4byte 
+3111 203a30e0 branch g24_rx_auto_addr_ch_search ,blank 
+3112 2040322c call g24_store_mem_addr 
+3113 58000186 setarg offset_24g_kb_config_ch_once 
+3114 204032d0 call g24_set_rega_ifetch_1byte 
+3115 205a312c call g24_kb_config_ch_once ,blank 
+3116 58000184 setarg offset_24g_kb_last_ch 
+3117 204032d0 call g24_set_rega_ifetch_1byte 
+3118 2040322f call g24_store_mem_ch 
+3119 1a60a2f6 add regc ,offset_rssi_noise_kb_index ,rega 
+311a ea288000 ifetcht 1 ,rega 
+311b da20109e arg mem_rssi_noise_kb_buffer ,rega 
+311c 20402e58 call rssi_noise_store 
+311d 1a608af6 add regc ,offset_rssi_noise_kb_index ,contw 
+311e e0a88000 istoret 1 ,contw 
+311f 20402f94 call g24_noise_rssi_average 
+3120 1a608af9 add regc ,offset_rssi_noise_kb_avg ,contw 
+3121 e0a88000 istoret 1 ,contw 
+3122 18467c50 sub temp ,rssi_thresh_noise ,null 
+3123 24610000 nrtn positive 
+3124 58000185 setarg offset_24g_kb_ch_number 
+3125 20403275 call g24_set_rega_ifetcht_1byte 
+3126 20402c90 call g24_ch_temp_incre_size4 
+3127 da200185 arg offset_24g_kb_ch_number ,rega 
+3128 204032c8 call g24_set_contw_with_regb2 
+3129 e0a88000 istoret 1 ,contw 
+
+g24_store_mem_kb_last_ch:
+312a da200184 arg offset_24g_kb_last_ch ,rega 
+312b 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_kb_config_ch_once:
+312c 58000001 setarg 1 
+312d da200186 arg offset_24g_kb_config_ch_once ,rega 
+312e 204032b3 call g24_set_contw_with_regb_store_1byte 
+312f d8400000 arg 0 ,temp 
+3130 20402c94 call g24_ch_calc 
+3131 2020312a branch g24_store_mem_kb_last_ch 
+
+g24_rx_auto_bind_config_dongle:
+3132 20402fdf call g24_dongle_bind_ms_payload_cfg 
+3133 2040327d call g24_fetch_mem_rx_addr 
+3134 2040322c call g24_store_mem_addr 
+3135 58000183 setarg offset_24g_dg_config_ch_once 
+3136 204032d0 call g24_set_rega_ifetch_1byte 
+3137 205a314c call g24_dg_config_ch_once ,blank 
+3138 2040314f call g24_dg_store_config_ch 
+3139 1a60a2f5 add regc ,offset_rssi_noise_dg_index ,rega 
+313a ea288000 ifetcht 1 ,rega 
+313b da200e9e arg mem_rssi_noise_dg_buffer ,rega 
+313c 20402e58 call rssi_noise_store 
+313d 1a608af5 add regc ,offset_rssi_noise_dg_index ,contw 
+313e e0a88000 istoret 1 ,contw 
+313f 20402f94 call g24_noise_rssi_average 
+3140 1a608af8 add regc ,offset_rssi_noise_dg_avg ,contw 
+3141 e0a88000 istoret 1 ,contw 
+3142 18467c50 sub temp ,rssi_thresh_noise ,null 
+3143 24610000 nrtn positive 
+3144 58000182 setarg offset_24g_dg_ch_number 
+3145 20403275 call g24_set_rega_ifetcht_1byte 
+3146 20402c90 call g24_ch_temp_incre_size4 
+3147 da200182 arg offset_24g_dg_ch_number ,rega 
+3148 204032c8 call g24_set_contw_with_regb2 
+3149 e0a88000 istoret 1 ,contw 
+
+g24_store_mem_dg_last_ch:
+314a da200181 arg offset_24g_dg_last_ch ,rega 
+314b 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_dg_config_ch_once:
+314c 58000001 setarg 1 
+314d da200183 arg offset_24g_dg_config_ch_once ,rega 
+314e 204032b3 call g24_set_contw_with_regb_store_1byte 
+
+g24_dg_store_config_ch:
+314f 58000181 setarg offset_24g_dg_last_ch 
+3150 204032d0 call g24_set_rega_ifetch_1byte 
+3151 2020322f branch g24_store_mem_ch 
+
+g24_transmit_ack:
+3152 1a60a200 add regc ,offset_24g_rxbuf ,rega 
+3153 ea208000 ifetch 1 ,rega 
+3154 2040323c call g24_store_mem_data_type 
+3155 20402dde call g24_read_len_pid_crc 
+3156 2040325f call g24_fetch_mem_rxbuf_add1 
+3157 2feffe00 isolate1 bit_ack_24g ,pdata 
+3158 2020b15c branch g24tx_no_ack ,true 
+
+g24tx_with_ack:
+3159 2040315d call g24_ackpayload_prep 
+315a 20402d53 call g24_transmit_prep 
+315b 20402df7 call g24_transmit 
+
+g24tx_no_ack:
+315c 20202e45 branch g24_end_of_packet 
+
+g24_ackpayload_prep:
+315d 44e14018 bpatch patch18_2 ,mem_patch18 
+315e 1a608a86 add regc ,offset_24g_datalen ,contw 
+315f 204032d6 call g24_mem_set0 
+3160 5800013b setarg offset_24g_ackpayload_enable 
+3161 204032d0 call g24_set_rega_ifetch_1byte 
+3162 207a0000 rtn blank 
+3163 58000006 setarg 0x06 
+3164 1a608a86 add regc ,offset_24g_datalen ,contw 
+3165 e0a08000 istore 1 ,contw 
+3166 df200006 arg 0x06 ,loopcnt 
+3167 5800012f setarg offset_24g_bind_payload 
+3168 9a608c00 iadd regc ,contr 
+3169 1a608a22 add regc ,offset_24g_txbuf ,contw 
+316a 20207f01 branch memcpy 
+
+g24_receive_packet_start:
+316b 2040316e call g24_receive_transmit_ack 
+316c 2437af5e nbranch g24_rx_interrupt_clear ,user3 
+316d 20203172 branch g24_receive_packet_parse 
+
+g24_receive_transmit_ack:
+316e 20402f5e call g24_rx_interrupt_clear 
+316f 20402e11 call g24_receive_packet 
+3170 24778000 nrtn user3 
+3171 20203152 branch g24_transmit_ack 
+
+g24_receive_packet_parse:
+3172 44e1c018 bpatch patch18_3 ,mem_patch18 
+3173 20403188 call g24_receive_packet_parse_pid_crc 
+3174 24342f5e nbranch g24_rx_interrupt_clear ,user 
+3175 1a60a284 add regc ,offset_24g_rxdata_length ,rega 
+3176 ea208000 ifetch 1 ,rega 
+3177 203a2f5e branch g24_rx_interrupt_clear ,blank 
+3178 1fe0fe02 increase 2 ,pdata 
+3179 98007200 iforce loopcnt 
+317a 1a608c00 add regc ,offset_24g_rxbuf ,contr 
+317b 58000109 setarg offset_24g_rxdata_temp 
+317c 9a608a00 iadd regc ,contw 
+317d 20407f01 call memcpy 
+317e 20403286 call g24_set0_mem_mode_switch 
+317f 204032b6 call g24_fetch_mem_pair_mode 
+3180 205a3093 call g24_enable_nodata_timer ,blank 
+3181 5800010b setarg offset_24g_rxdata_temp_add2 
+3182 204032d0 call g24_set_rega_ifetch_1byte 
+3183 c000b19e beq 0x01 ,g24_data_type1 
+3184 c00131c6 beq 0x02 ,g24_data_type2 
+3185 c001b1f2 beq 0x03 ,g24_data_type3 
+3186 c07fb212 beq 0xff ,g24_data_attemp 
+3187 20202f5e branch g24_rx_interrupt_clear 
+
+g24_receive_packet_parse_pid_crc:
+3188 20402c7a call g24_head_ptr2regc 
+3189 20407fe9 call disable_user 
+318a 1a60a2ca add regc ,offset_24g_sta_pid ,rega 
+318b ea208000 ifetch 1 ,rega 
+318c 1a60a2cb add regc ,offset_24g_last_pid ,rega 
+318d ea288000 ifetcht 1 ,rega 
+318e 98467c00 isub temp ,null 
+318f 2442ffe7 ncall enable_user ,zero 
+3190 1a60a2ca add regc ,offset_24g_sta_pid ,rega 
+3191 ea208000 ifetch 1 ,rega 
+3192 1a608acb add regc ,offset_24g_last_pid ,contw 
+3193 e0a08000 istore 1 ,contw 
+3194 1a60a2c4 add regc ,offset_24g_sta_crc ,rega 
+3195 ea218000 ifetch 3 ,rega 
+3196 1a60a2c7 add regc ,offset_24g_last_crc ,rega 
+3197 ea298000 ifetcht 3 ,rega 
+3198 98467c00 isub temp ,null 
+3199 2442ffe7 ncall enable_user ,zero 
+319a 1a60a2c4 add regc ,offset_24g_sta_crc ,rega 
+319b ea218000 ifetch 3 ,rega 
+319c 1a608ac7 add regc ,offset_24g_last_crc ,contw 
+319d 202032c5 branch g24_contw_istore_3byte 
+
+g24_data_type1:
+319e 20402f88 call g24_ch_timer_reinit 
+319f 2040324c call g24_fetch_mem_abort_pac 
+31a0 60008aa2 store 1 ,mem_temp 
+31a1 20403274 call g24_fetcht_mem_rxdata_temp 
+31a2 68008aa2 fetch 1 ,mem_temp 
+31a3 284ffe03 isolate1 bit_abort ,temp 
+31a4 7920fe00 setflag true ,0 ,pdata 
+31a5 1a608ab2 add regc ,offset_24g_abort_pac ,contw 
+31a6 e0a08000 istore 1 ,contw 
+31a7 c000b216 beq 1 ,g24_data_attemp_mouse 
+31a8 20403245 call g24_fetch_mem_hop_pac 
+31a9 20403274 call g24_fetcht_mem_rxdata_temp 
+31aa 284ffe04 isolate1 bit_hop ,temp 
+31ab 7920fe00 setflag true ,0 ,pdata 
+31ac 20403249 call g24_store_mem_hop_pac 
+31ad 1a60a2de add regc ,offset_24g_cb_rxdata_type1 ,rega 
+31ae ea210000 ifetch 2 ,rega 
+31af 20207f9c branch callback_func 
+
+dongle_rxdata_type1:
+31b0 58000001 setarg ms_report_id 
+31b1 60008d54 store 1 ,mem_usb_mouse_data 
+31b2 2040329e call g24_fetch_mem_rxdata_temp_add3_7byte 
+31b3 e0a38000 istore 7 ,contw 
+31b4 2040329e call g24_fetch_mem_rxdata_temp_add3_7byte 
+31b5 245a31bd ncall g24_ms_enable_blank_data_forcibly ,blank 
+31b6 2040329e call g24_fetch_mem_rxdata_temp_add3_7byte 
+31b7 205a31c2 call g24_ms_disable_blank_data_forcibly ,blank 
+
+g24_data_type1_usbtx_enable:
+31b8 700d5220 jam usb_ep2_ms ,mem_usb_ep2_data 
+
+g24_data_type1_usbtx_enable_ep2:
+31b9 68008d38 fetch 1 ,mem_usb_tx_enable 
+31ba 79207e02 set1 2 ,pdata 
+31bb 60008d38 store 1 ,mem_usb_tx_enable 
+31bc 20600000 rtn 
+
+g24_ms_enable_blank_data_forcibly:
+31bd 58000001 setarg 1 
+31be 204032a8 call g24_store_mem_ms_blank_data_enable 
+
+g24_ms_enable_blank_data_timer:
+31bf 58000140 setarg timer_ms_blank_delay 
+31c0 d8e0000b arg timer_ms_blank ,queue 
+31c1 20207f08 branch timer_init 
+
+g24_ms_disable_blank_data_forcibly:
+31c2 204032a7 call g24_set0_mem_ms_blank_data_enable 
+
+g24_ms_disable_blank_data_timer:
+31c3 58000000 setarg 0 
+31c4 d8e0000b arg timer_ms_blank ,queue 
+31c5 20207f08 branch timer_init 
+
+g24_data_type2:
+31c6 20403274 call g24_fetcht_mem_rxdata_temp 
+31c7 284ffe03 isolate1 bit_abort ,temp 
+31c8 2020b21b branch g24_data_attemp_kbd ,true 
+31c9 d8a00d64 arg mem_usb_kb_data ,contw 
+31ca 204031e0 call g24_data_type2_reverse_data 
+31cb 68040d64 fetch 8 ,mem_usb_kb_data 
+31cc 245a31e4 ncall g24_kb_enable_blank_data_forcibly ,blank 
+31cd 68040d64 fetch 8 ,mem_usb_kb_data 
+31ce 205a31e9 call g24_kb_disable_blank_data_forcibly ,blank 
+31cf 20402c7a call g24_head_ptr2regc 
+31d0 68040d64 fetch 8 ,mem_usb_kb_data 
+31d1 da200168 arg offset_24g_kb_data_sta_data ,rega 
+31d2 204032bf call g24_set_contw_with_temp 
+31d3 e0a40000 istore 8 ,contw 
+31d4 58000170 setarg offset_24g_kb_data_last_data 
+31d5 9a60a200 iadd regc ,rega 
+31d6 ea2c0000 ifetcht 8 ,rega 
+31d7 98467c00 isub temp ,null 
+31d8 2442b1ed ncall g24_kb_data_dispose ,zero 
+31d9 58000168 setarg offset_24g_kb_data_sta_data 
+31da 9a60a200 iadd regc ,rega 
+31db ea240000 ifetch 8 ,rega 
+31dc da200170 arg offset_24g_kb_data_last_data ,rega 
+31dd 204032bf call g24_set_contw_with_temp 
+31de e0a40000 istore 8 ,contw 
+31df 20202f5e branch g24_rx_interrupt_clear 
+
+g24_data_type2_reverse_data:
+31e0 5800010b setarg offset_24g_rxdata_temp_add2 
+31e1 9a608c00 iadd regc ,contr 
+31e2 df200009 arg 9 ,loopcnt 
+31e3 20207ff3 branch reverse_byte 
+
+g24_kb_enable_blank_data_forcibly:
+31e4 58000001 setarg 1 
+31e5 204032ab call g24_store_mem_kb_blank_data_enable 
+
+g24_kb_enable_blank_data_timer:
+31e6 58000140 setarg timer_kb_blank_delay 
+31e7 d8e0000e arg timer_kb_blank ,queue 
+31e8 20207f08 branch timer_init 
+
+g24_kb_disable_blank_data_forcibly:
+31e9 204032aa call g24_set0_mem_kb_blank_data_enable 
+
+g24_kb_disable_blank_data_timer:
+31ea 58000000 setarg 0 
+31eb d8e0000e arg timer_kb_blank ,queue 
+31ec 20207f08 branch timer_init 
+
+g24_kb_data_dispose:
+
+g24_kb_data_into_ep1_fifo:
+31ed 700d5110 jam usb_ep1_kb ,mem_usb_ep1_data 
+31ee 68008d38 fetch 1 ,mem_usb_tx_enable 
+31ef 79207e01 set1 1 ,pdata 
+31f0 60008d38 store 1 ,mem_usb_tx_enable 
+31f1 20600000 rtn 
+
+g24_data_type3:
+31f2 d8a00d74 arg mem_usb_kb_multikey ,contw 
+31f3 204031e0 call g24_data_type2_reverse_data 
+31f4 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+31f5 245a3209 ncall g24_kb_mul_enable_blank_data_forcibly ,blank 
+31f6 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+31f7 205a320e call g24_kb_mul_disable_blank_data_forcibly ,blank 
+31f8 20402c7a call g24_head_ptr2regc 
+31f9 68018d74 fetch 3 ,mem_usb_kb_multikey 
+31fa da200178 arg offset_24g_kb_multikey_sta_data ,rega 
+31fb 204032c4 call g24_set_contw_with_temp_store_3byte 
+31fc 5800017b setarg offset_24g_kb_multikey_last_data 
+31fd 9a60a200 iadd regc ,rega 
+31fe ea298000 ifetcht 3 ,rega 
+31ff 98467c00 isub temp ,null 
+3200 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+3201 58000178 setarg offset_24g_kb_multikey_sta_data 
+3202 9a60a200 iadd regc ,rega 
+3203 ea218000 ifetch 3 ,rega 
+3204 da20017b arg offset_24g_kb_multikey_last_data ,rega 
+3205 204032c4 call g24_set_contw_with_temp_store_3byte 
+3206 20202f5e branch g24_rx_interrupt_clear 
+
+g24_kb_mul_data_into_ep2_fifo:
+3207 700d5221 jam usb_ep2_multikey ,mem_usb_ep2_data 
+3208 202031b9 branch g24_data_type1_usbtx_enable_ep2 
+
+g24_kb_mul_enable_blank_data_forcibly:
+3209 58000001 setarg 1 
+320a 204032ae call g24_store_mem_kb_mul_blank_data_enable 
+
+g24_kb_mul_enable_blank_data_timer:
+320b 58000140 setarg timer_kb_mul_blank_delay 
+320c d8e0000c arg timer_kb_mul_blank ,queue 
+320d 20207f08 branch timer_init 
+
+g24_kb_mul_disable_blank_data_forcibly:
+320e 204032ad call g24_set0_mem_kb_mul_blank_data_enable 
+
+g24_kb_mul_disable_blank_data_timer:
+320f 58000000 setarg 0 
+3210 d8e0000c arg timer_kb_mul_blank ,queue 
+3211 20207f08 branch timer_init 
+
+g24_data_attemp:
+3212 204032bd call g24_fetch_mem_rxdata_temp_add3_1byte 
+3213 c000b216 beq datatype_mouse ,g24_data_attemp_mouse 
+3214 c001321b beq datatype_keyboard ,g24_data_attemp_kbd 
+3215 20600000 rtn 
+
+g24_data_attemp_mouse:
+3216 5800010d setarg offset_24g_rxdata_temp_add4 
+3217 2040327e call g24_set_rega_ifetch_4byte 
+3218 da200160 arg offset_24g_mouse_addr ,rega 
+3219 204032bf call g24_set_contw_with_temp 
+321a 2020322d branch g24_contw_istore_4byte 
+
+g24_data_attemp_kbd:
+321b 5800010d setarg offset_24g_rxdata_temp_add4 
+321c 2040327e call g24_set_rega_ifetch_4byte 
+321d da200164 arg offset_24g_kb_addr ,rega 
+321e 204032bf call g24_set_contw_with_temp 
+321f 2020322d branch g24_contw_istore_4byte 
+
+g24_store_mem_24g_mode:
+3220 20402c7a call g24_head_ptr2regc 
+3221 1a608acd add regc ,offset_24g_mode ,contw 
+3222 e0a08000 istore 1 ,contw 
+3223 20600000 rtn 
+
+g24_fetch_mem_device_addr:
+3224 20402c7a call g24_head_ptr2regc 
+3225 1a60a2be add regc ,offset_24g_device_addr ,rega 
+3226 2020327f branch g24_rega_ifetch_4byte 
+
+g24_store_mem_device_addr:
+3227 20402c7a call g24_head_ptr2regc 
+3228 1a608abe add regc ,offset_24g_device_addr ,contw 
+3229 2020322d branch g24_contw_istore_4byte 
+
+g24_fetch_mem_addr:
+322a 1a60a2ae add regc ,offset_24g_addr ,rega 
+322b 2020327f branch g24_rega_ifetch_4byte 
+
+g24_store_mem_addr:
+322c 1a608aae add regc ,offset_24g_addr ,contw 
+
+g24_contw_istore_4byte:
+322d e0a20000 istore 4 ,contw 
+322e 20600000 rtn 
+
+g24_store_mem_ch:
+322f 1a608a90 add regc ,offset_24g_ch ,contw 
+3230 202032b4 branch g24_contw_istore_1byte 
+
+g24_set0_mem_pid:
+3231 58000000 setarg 0 
+
+g24_store_mem_pid:
+3232 20402c7a call g24_head_ptr2regc 
+3233 1a608a85 add regc ,offset_24g_pid ,contw 
+3234 202032b4 branch g24_contw_istore_1byte 
+
+g24_store_mem_txpayload:
+3235 1a608a42 add regc ,offset_24g_txpayload ,contw 
+3236 202032b4 branch g24_contw_istore_1byte 
+
+g24_set4_mem_max_retry:
+3237 58000004 setarg 4 
+
+g24_store_mem_max_retry:
+3238 1a608acc add regc ,offset_24g_max_retry ,contw 
+3239 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_data_type:
+323a 1a60a287 add regc ,offset_24g_data_type ,rega 
+323b 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_store_mem_data_type:
+323c 1a608a87 add regc ,offset_24g_data_type ,contw 
+323d 202032b4 branch g24_contw_istore_1byte 
+
+g24_set2_mem_sync_cnt:
+323e 58000002 setarg 2 
+
+g24_store_mem_sync_cnt:
+323f 1a608ad0 add regc ,offset_24g_sync_cnt ,contw 
+3240 202032b4 branch g24_contw_istore_1byte 
+
+g24_set1_mem_rf_last_sta:
+3241 58000001 setarg 1 
+
+g24_store_mem_rf_last_sta:
+3242 20402c7a call g24_head_ptr2regc 
+3243 1a608ace add regc ,offset_24g_rf_last_sta ,contw 
+3244 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_hop_pac:
+3245 20402c7a call g24_head_ptr2regc 
+3246 1a60a2b4 add regc ,offset_24g_hop_pac ,rega 
+3247 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set1_mem_hop_pac:
+3248 58000001 setarg 1 
+
+g24_store_mem_hop_pac:
+3249 20402c7a call g24_head_ptr2regc 
+324a 1a608ab4 add regc ,offset_24g_hop_pac ,contw 
+324b 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_abort_pac:
+324c 20402c7a call g24_head_ptr2regc 
+324d 1a60a2b2 add regc ,offset_24g_abort_pac ,rega 
+324e 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set1_mem_abort_pac:
+324f 58000001 setarg 1 
+
+g24_store_mem_abort_pac:
+3250 20402c7a call g24_head_ptr2regc 
+3251 1a608ab2 add regc ,offset_24g_abort_pac ,contw 
+3252 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_pairing_sm:
+3253 20402c7a call g24_head_ptr2regc 
+3254 1a60a296 add regc ,offset_24g_pairing_sm ,rega 
+3255 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_store_mem_pairing_sm:
+3256 1a608a96 add regc ,offset_24g_pairing_sm ,contw 
+3257 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_rf_hop_ch:
+3258 1a60a2cf add regc ,offset_24g_rf_hop_ch ,rega 
+3259 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set0_mem_rf_hop_ch:
+325a 58000000 setarg 0 
+
+g24_store_mem_rf_hop_ch:
+325b 1a608acf add regc ,offset_24g_rf_hop_ch ,contw 
+325c 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_rf_work_stage:
+325d 1a60a2d2 add regc ,offset_24g_rf_work_stage ,rega 
+325e 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_fetch_mem_rxbuf_add1:
+325f 1a60a201 add regc ,offset_24g_rxbuf_add1 ,rega 
+3260 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_fetch_mem_check_dongle_times:
+3261 1a60a2b5 add regc ,offset_24g_check_dongle_times ,rega 
+3262 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_set0_mem_check_dongle_times:
+3263 58000000 setarg 0 
+
+g24_store_mem_check_dongle_times:
+3264 20402c7a call g24_head_ptr2regc 
+3265 1a608ab5 add regc ,offset_24g_check_dongle_times ,contw 
+3266 202032b4 branch g24_contw_istore_1byte 
+
+g24_store_mem_tx_power:
+3267 20402c7a call g24_head_ptr2regc 
+3268 1a60a2fb add regc ,offset_tx_power_temp ,rega 
+3269 ea208000 ifetch 1 ,rega 
+
+g24_store_mem_txpower:
+326a 6000c1de store 1 ,mem_tx_power 
+326b 20600000 rtn 
+
+g24_store_mem_tx_power_temp:
+326c 20402c7a call g24_head_ptr2regc 
+326d 6800c1de fetch 1 ,mem_tx_power 
+326e 1a608afb add regc ,offset_tx_power_temp ,contw 
+326f 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetch_mem_power_ctrl_pac:
+3270 1a60a2fc add regc ,offset_power_ctrl_packet_cnt ,rega 
+3271 202032d1 branch g24_rega_ifetch_1byte 
+
+g24_store_mem_power_ctrl_level:
+3272 1a608afe add regc ,offset_power_ctrl_level ,contw 
+3273 202032b4 branch g24_contw_istore_1byte 
+
+g24_fetcht_mem_rxdata_temp:
+3274 58000109 setarg offset_24g_rxdata_temp 
+
+g24_set_rega_ifetcht_1byte:
+3275 9a60a200 iadd regc ,rega 
+3276 ea288000 ifetcht 1 ,rega 
+3277 20600000 rtn 
+
+g24_fetch_mem_rf_laststa:
+3278 58000135 setarg offset_24g_rf_laststa 
+3279 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_rf_laststa:
+327a 58000000 setarg 0 
+
+g24_store_mem_rf_laststa:
+327b da200135 arg offset_24g_rf_laststa ,rega 
+327c 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_rx_addr:
+327d 5800012b setarg offset_24g_rx_addr 
+
+g24_set_rega_ifetch_4byte:
+327e 204032cd call g24_set_rega 
+
+g24_rega_ifetch_4byte:
+327f ea220000 ifetch 4 ,rega 
+3280 20600000 rtn 
+
+g24_fetch_mem_time_slice:
+3281 5800015f setarg offset_24g_time_slice 
+3282 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_time_slice:
+3283 58000000 setarg 0 
+
+g24_store_mem_time_slice:
+3284 da20015f arg offset_24g_time_slice ,rega 
+3285 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_mode_switch:
+3286 58000000 setarg 0 
+
+g24_store_mem_mode_switch:
+3287 da20015c arg offset_24g_mode_switch ,rega 
+3288 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_bind_payload:
+3289 da20012f arg offset_24g_bind_payload ,rega 
+328a 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_bind_device_status:
+328b 58000108 setarg offset_dongle_bind_device_status 
+328c 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_store_mem_bind_device_status:
+328d da200108 arg offset_dongle_bind_device_status ,rega 
+328e 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_dongle_work_mode:
+328f 58000105 setarg offset_dongle_work_mode 
+3290 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set_work_mem_dongle_work_mode:
+3291 58000000 setarg dongle_work 
+
+g24_store_mem_dongle_work_mode:
+3292 da200105 arg offset_dongle_work_mode ,rega 
+3293 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_fetch_mem_dongle_mode_init:
+3294 58000104 setarg offset_dongle_mode_init 
+3295 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_dongle_mode_init:
+3296 58000000 setarg clear_init 
+
+g24_store_mem_dongle_mode_init:
+3297 da200104 arg offset_dongle_mode_init ,rega 
+3298 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_ackpayload_enable:
+3299 58000000 setarg 0 
+
+g24_store_mem_ackpayload_enable:
+329a da20013b arg offset_24g_ackpayload_enable ,rega 
+329b 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set1_mem_ackpayload_enable:
+329c 58000001 setarg 1 
+329d 2020329a branch g24_store_mem_ackpayload_enable 
+
+g24_fetch_mem_rxdata_temp_add3_7byte:
+329e 5800010c setarg offset_24g_rxdata_temp_add3 
+329f 204032cd call g24_set_rega 
+32a0 ea238000 ifetch 7 ,rega 
+32a1 20600000 rtn 
+
+g24_fetch_mem_nodata_timer_enable:
+32a2 5800015e setarg offset_24g_nodata_timer_enable 
+32a3 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set0_mem_nodata_timer_enable:
+32a4 58000000 setarg 0 
+
+g24_store_mem_nodata_timer_enable:
+32a5 da20015e arg offset_24g_nodata_timer_enable ,rega 
+32a6 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_ms_blank_data_enable:
+32a7 58000000 setarg 0 
+
+g24_store_mem_ms_blank_data_enable:
+32a8 da200180 arg offset_24g_ms_blank_data_enable ,rega 
+32a9 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_kb_blank_data_enable:
+32aa 58000000 setarg 0 
+
+g24_store_mem_kb_blank_data_enable:
+32ab da20017e arg offset_24g_kb_blank_data_enable ,rega 
+32ac 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_set0_mem_kb_mul_blank_data_enable:
+32ad 58000000 setarg 0 
+
+g24_store_mem_kb_mul_blank_data_enable:
+32ae da20017f arg offset_24g_kb_mul_blank_data_enable ,rega 
+32af 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_power_ctrl_threshold_up:
+32b0 da200102 arg offset_power_ctrl_threshold_up ,rega 
+32b1 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_power_ctrl_threshold_down:
+32b2 da200103 arg offset_power_ctrl_threshold_down ,rega 
+
+g24_set_contw_with_regb_store_1byte:
+32b3 204032c7 call g24_set_contw_with_regb 
+
+g24_contw_istore_1byte:
+32b4 e0a08000 istore 1 ,contw 
+32b5 20600000 rtn 
+
+g24_fetch_mem_pair_mode:
+32b6 5800015d setarg offset_24g_pair_mode 
+32b7 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_store_mem_pair_mode:
+32b8 da20015d arg offset_24g_pair_mode ,rega 
+32b9 202032b3 branch g24_set_contw_with_regb_store_1byte 
+
+g24_store_mem_pair_txpower:
+32ba 5800018a setarg offset_24g_pair_txpower 
+32bb 204032d0 call g24_set_rega_ifetch_1byte 
+32bc 2020326a branch g24_store_mem_txpower 
+
+g24_fetch_mem_rxdata_temp_add3_1byte:
+32bd 5800010c setarg offset_24g_rxdata_temp_add3 
+32be 202032d0 branch g24_set_rega_ifetch_1byte 
+
+g24_set_contw_with_temp:
+32bf 1fe20400 copy pdata ,temp 
+32c0 1a227e00 copy rega ,pdata 
+32c1 9a608a00 iadd regc ,contw 
+32c2 18427e00 copy temp ,pdata 
+32c3 20600000 rtn 
+
+g24_set_contw_with_temp_store_3byte:
+32c4 204032bf call g24_set_contw_with_temp 
+
+g24_contw_istore_3byte:
+32c5 e0a18000 istore 3 ,contw 
+32c6 20600000 rtn 
+
+g24_set_contw_with_regb:
+32c7 20402c7a call g24_head_ptr2regc 
+
+g24_set_contw_with_regb2:
+32c8 1fe22400 copy pdata ,regb 
+32c9 1a227e00 copy rega ,pdata 
+32ca 9a608a00 iadd regc ,contw 
+32cb 1a427e00 copy regb ,pdata 
+32cc 20600000 rtn 
+
+g24_set_rega:
+32cd 20402c7a call g24_head_ptr2regc 
+32ce 9a60a200 iadd regc ,rega 
+32cf 20600000 rtn 
+
+g24_set_rega_ifetch_1byte:
+32d0 204032cd call g24_set_rega 
+
+g24_rega_ifetch_1byte:
+32d1 ea208000 ifetch 1 ,rega 
+32d2 20600000 rtn 
+
+g24_set_rega_ifetcht_4byte:
+32d3 204032cd call g24_set_rega 
+32d4 ea2a0000 ifetcht 4 ,rega 
+32d5 20600000 rtn 
+
+g24_mem_set0:
+32d6 58000000 setarg 0 
+32d7 202032b4 branch g24_contw_istore_1byte 
+
+app_init:
+32d8 44e24018 bpatch patch18_4 ,mem_patch18 
+32d9 6800c092 fetch 1 ,mem_device_option 
+32da 203a32d8 branch app_init ,blank 
+32db c0022f30 beq dvc_op_dongle ,dongle_init 
+32dc c007b436 beq dvc_op_antilost ,antilost_init 
+32dd c004c5de beq dvc_op_shutter ,shutter_init 
+32de c005392a beq dvc_op_module ,module_init 
+32df c00735bf beq dvc_op_car ,car_init 
+32e0 c00844a4 beq dvc_op_remote_car ,remote_car_init 
+32e1 c2833d00 bbit1 dvc_op_mouse ,mouse_init 
+32e2 20600000 rtn 
+
+app_lpm_init:
+32e3 44e2c018 bpatch patch18_5 ,mem_patch18 
+32e4 70015100 jam 0 ,mem_tester_emulate 
+32e5 70017f00 jam 0 ,mem_debug_config 
+32e6 70018000 jam 0 ,mem_lch_code 
+32e7 58000000 setarg 0 
+32e8 600289ae store 5 ,mem_sp_state_start 
+32e9 6800c092 fetch 1 ,mem_device_option 
+32ea 203a32e3 branch app_lpm_init ,blank 
+32eb c0053962 beq dvc_op_module ,module_lpm_init 
+
+app_lpm_init0:
+32ec 20600000 rtn 
+
+app_process_idle:
+32ed 20407cd1 call ui_dispatch 
+32ee 20407d9c call check_51cmd 
+32ef 204032f6 call app_process_bb_event 
+32f0 680141f3 fetch 2 ,mem_cb_idle_process 
+32f1 20207f9c branch callback_func 
+
+app_process_bt:
+32f2 680141f1 fetch 2 ,mem_cb_bt_process 
+32f3 20207f9c branch callback_func 
+
+app_process_ble:
+32f4 680141ef fetch 2 ,mem_cb_le_process 
+32f5 20207f9c branch callback_func 
+
+app_process_bb_event:
+32f6 44e34018 bpatch patch18_6 ,mem_patch18 
+32f7 da204668 arg mem_ipc_fifo_bt2c51 ,rega 
+32f8 20407fc4 call fifo_out 
+32f9 207a0000 rtn blank 
+32fa 1fe22600 copy pdata ,regc 
+32fb 204032ff call app_event_normal_process 
+32fc 20203324 branch app_process_bb_event_priority 
+
+app_discard_event:
+32fd da600000 arg 0 ,regc 
+32fe 20600000 rtn 
+
+app_event_normal_process:
+32ff c000b311 beq bt_evt_bb_connected ,app_evt_bt_conn 
+3300 c0083357 beq bt_evt_button_long_pressed ,app_evt_button_long_pressed 
+3301 c002b335 beq bt_evt_setup_complete ,app_evt_setup_complete 
+3302 c009333c beq bt_evt_hid_handshake ,app_evt_hid_handshake 
+3303 c0033353 beq bt_evt_hid_connected ,app_bb_event_hid_connected 
+3304 c0023394 beq bt_evt_reconn_failed ,app_bb_event_reconn_failed 
+3305 c0013399 beq bt_evt_bb_disconnected ,app_bb_event_bb_disconn 
+3306 c009b394 beq bt_evt_reconn_page_timeout ,app_bb_event_reconn_failed 
+3307 c00a334b beq bt_evt_le_connected ,app_le_event_bb_connected 
+3308 c00ab34f beq bt_evt_le_disconnected ,app_le_event_bb_disconn 
+3309 c001b32e beq bt_evt_reconn_started ,app_event_reconn_start 
+330a c005b340 beq bt_evt_enter_sniff ,app_event_enter_sniff 
+330b c0063347 beq bt_evt_exit_sniff ,app_event_exit_sniff 
+330c c00b335b beq bt_evt_ml2cap_conn_refused ,app_event_ml2cap_conn_refused 
+330d c00c332a beq bt_evt_linkkey_generate ,app_event_linkkey_generate 
+330e c015331a beq bt_evt_switch_fail_master ,app_event_switch_fail_master 
+330f c015b318 beq bt_evt_switch_success_master ,app_event_switch_success 
+3310 20600000 rtn 
+
+app_evt_bt_conn:
+3311 68014682 fetch 2 ,mem_ui_state_map 
+3312 79207e00 set1 ui_state_bt_connected ,pdata 
+3313 60014682 store 2 ,mem_ui_state_map 
+3314 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3315 793ffe00 set0 app_disc_by_button ,pdata 
+3316 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3317 20600000 rtn 
+
+app_event_switch_success:
+3318 70022900 jam 0 ,mem_switch_fail_master_count 
+3319 20600000 rtn 
+
+app_event_switch_fail_master:
+331a 68008229 fetch 1 ,mem_switch_fail_master_count 
+331b 1fe0fe01 increase 1 ,pdata 
+331c 60008229 store 1 ,mem_switch_fail_master_count 
+331d 1fe67c01 sub pdata ,1 ,null 
+331e 202133df branch app_bt_role_switch ,positive 
+331f 70022900 jam 0 ,mem_switch_fail_master_count 
+3320 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3321 79207e09 set1 app_disc_switch_fail ,pdata 
+3322 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3323 202033e9 branch app_bt_disconnect 
+
+app_process_bb_event_priority:
+3324 680141f5 fetch 2 ,mem_cb_bb_event_process 
+3325 20207f9c branch callback_func 
+
+app_check_wake_lock:
+3326 680141e9 fetch 2 ,mem_cb_check_wakelock 
+3327 20207f9c branch callback_func 
+
+app_will_enter_lpm:
+3328 680141ed fetch 2 ,mem_cb_before_lpm 
+3329 20207f9c branch callback_func 
+
+app_event_linkkey_generate:
+332a 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+332b 79207e01 set1 app_disc_after_pairing ,pdata 
+332c 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+332d 20203412 branch app_bt_store_reconn_info 
+
+app_event_reconn_start:
+332e 68014682 fetch 2 ,mem_ui_state_map 
+332f 79207e07 set1 ui_state_bt_reconnect ,pdata 
+3330 60014682 store 2 ,mem_ui_state_map 
+3331 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3332 79207e02 set1 app_disc_after_reconn ,pdata 
+3333 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3334 20600000 rtn 
+
+app_evt_setup_complete:
+3335 68014682 fetch 2 ,mem_ui_state_map 
+3336 79207e01 set1 ui_state_bt_setup_complete ,pdata 
+3337 60014682 store 2 ,mem_ui_state_map 
+3338 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3339 79207e04 set1 app_disc_after_setup_done ,pdata 
+333a 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+333b 20600000 rtn 
+
+app_evt_hid_handshake:
+333c 68014682 fetch 2 ,mem_ui_state_map 
+333d 79207e03 set1 ui_state_bt_hid_handshake ,pdata 
+333e 60014682 store 2 ,mem_ui_state_map 
+333f 20600000 rtn 
+
+app_event_enter_sniff:
+3340 68014682 fetch 2 ,mem_ui_state_map 
+3341 79207e05 set1 ui_state_bt_sniff ,pdata 
+3342 60014682 store 2 ,mem_ui_state_map 
+3343 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3344 79207e03 set1 app_disc_after_sniff ,pdata 
+3345 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3346 20600000 rtn 
+
+app_event_exit_sniff:
+3347 68014682 fetch 2 ,mem_ui_state_map 
+3348 793ffe05 set0 ui_state_bt_sniff ,pdata 
+3349 60014682 store 2 ,mem_ui_state_map 
+334a 20600000 rtn 
+
+app_le_event_bb_connected:
+334b 68014682 fetch 2 ,mem_ui_state_map 
+334c 79207e09 set1 ui_state_ble_connected ,pdata 
+334d 60014682 store 2 ,mem_ui_state_map 
+334e 20600000 rtn 
+
+app_le_event_bb_disconn:
+334f 68014682 fetch 2 ,mem_ui_state_map 
+3350 793ffe09 set0 ui_state_ble_connected ,pdata 
+3351 60014682 store 2 ,mem_ui_state_map 
+3352 20203418 branch app_lpm_mult_disable 
+
+app_bb_event_hid_connected:
+3353 68014682 fetch 2 ,mem_ui_state_map 
+3354 79207e02 set1 ui_state_bt_hid_conn ,pdata 
+3355 60014682 store 2 ,mem_ui_state_map 
+3356 20600000 rtn 
+
+app_evt_button_long_pressed:
+3357 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+3358 79207e00 set1 app_disc_by_button ,pdata 
+3359 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+335a 20600000 rtn 
+
+app_event_ml2cap_conn_refused:
+335b 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+335c 79207e08 set1 app_disc_l2cap_refused ,pdata 
+335d 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+335e 202033e9 branch app_bt_disconnect 
+
+app_evt_timer:
+335f 44e3c018 bpatch patch18_7 ,mem_patch18 
+3360 6000822a store 1 ,mem_app_evt_timer_count 
+
+app_evt_100ms_loop:
+3361 6800822a fetch 1 ,mem_app_evt_timer_count 
+3362 207a0000 rtn blank 
+3363 1fe0ffff increase -1 ,pdata 
+3364 6000822a store 1 ,mem_app_evt_timer_count 
+3365 20407cdd call ui_button_polling 
+3366 204033d6 call app_lpm_wake_auto_lock_timer 
+3367 20403387 call app_unsniff_delay_timer 
+3368 2040338d call app_discovery_timer 
+3369 2040651b call flash_write_spi_sm_timer 
+336a 680141fd fetch 2 ,mem_cb_event_timer 
+336b 20407f9c call callback_func 
+336c 20203361 branch app_evt_100ms_loop 
+
+timer_single_step:
+336d ea608000 ifetch 1 ,regc 
+336e 207a0000 rtn blank 
+336f 1fe0ffff pincrease -1 
+3370 e2608000 istore 1 ,regc 
+3371 247a0000 nrtn blank 
+3372 1a427e00 copy regb ,pdata 
+3373 20207f9c branch callback_func 
+
+timer_single_step_2b:
+3374 ea610000 ifetch 2 ,regc 
+3375 207a0000 rtn blank 
+3376 1fe0ffff pincrease -1 
+3377 e2610000 istore 2 ,regc 
+3378 247a0000 nrtn blank 
+3379 1a427e00 copy regb ,pdata 
+337a 20207f9c branch callback_func 
+
+app_power_timer:
+337b 6809423f fetcht 2 ,mem_power_param_ptr 
+337c 1840a601 add temp ,power_timer_offset ,regc 
+337d da40337f arg app_power_timer_timeout ,regb 
+337e 2020336d branch timer_single_step 
+
+app_power_timer_timeout:
+337f 2040342d call app_got_power_state_common 
+3380 c000b382 beq power_starting ,app_enter_power_stanby_state 
+
+app_enter_power_off_state:
+3381 2020340a branch app_enter_hibernate 
+
+app_enter_power_stanby_state:
+3382 58000002 setarg power_standby 
+3383 e2608000 istore 1 ,regc 
+3384 1840a408 add temp ,power_standby_cb_offset ,regb 
+
+app_power_cb_common:
+3385 ea410000 ifetch 2 ,regb 
+3386 20207f9c branch callback_func 
+
+app_unsniff_delay_timer:
+3387 da604205 arg mem_unsniff2sniff_timer_count ,regc 
+3388 da40338a arg app_unsniff_delay_timeout ,regb 
+3389 2020336d branch timer_single_step 
+
+app_unsniff_delay_timeout:
+338a 20402252 call context_check_idle 
+338b 2022b40e branch app_bt_enter_sniff ,zero 
+338c 20600000 rtn 
+
+app_discovery_timer:
+338d da60467e arg mem_discovery_timeout_timer_count ,regc 
+338e da403390 arg app_discovery_timeout ,regb 
+338f 20203374 branch timer_single_step_2b 
+
+app_discovery_timeout:
+3390 204033f0 call app_bt_stop_discovery 
+3391 20403408 call app_led_off 
+3392 680141f7 fetch 2 ,mem_cb_discovry_timeout 
+3393 20207f9c branch callback_func 
+
+app_bb_event_reconn_failed:
+3394 204033ac call app_disconn_reason_flag_clear 
+
+app_clear_reconnect_flag:
+3395 68014682 fetch 2 ,mem_ui_state_map 
+3396 793ffe07 set0 ui_state_bt_reconnect ,pdata 
+3397 60014682 store 2 ,mem_ui_state_map 
+3398 20600000 rtn 
+
+app_bb_event_bb_disconn:
+3399 70420500 jam 0 ,mem_unsniff2sniff_timer_count 
+339a 68014682 fetch 2 ,mem_ui_state_map 
+339b c283b39e bbit1 ui_state_bt_reconnect ,app_bb_event_bb_reconn_disconn 
+339c 2fec0001 isolate0 ui_state_bt_setup_complete ,pdata 
+339d 2040b2fd call app_discard_event ,true 
+
+app_bb_event_bb_reconn_disconn:
+339e 44e44019 bpatch patch19_0 ,mem_patch19 
+339f 68014682 fetch 2 ,mem_ui_state_map 
+33a0 793ffe00 set0 ui_state_bt_connected ,pdata 
+33a1 793ffe01 set0 ui_state_bt_setup_complete ,pdata 
+33a2 793ffe02 set0 ui_state_bt_hid_conn ,pdata 
+33a3 793ffe03 set0 ui_state_bt_hid_handshake ,pdata 
+33a4 793ffe07 set0 ui_state_bt_reconnect ,pdata 
+33a5 60014682 store 2 ,mem_ui_state_map 
+33a6 20203418 branch app_lpm_mult_disable 
+
+app_bb_hibernate:
+33a7 204033a9 call app_disconn_reason_clear 
+33a8 2020340a branch app_enter_hibernate 
+
+app_disconn_reason_clear:
+33a9 58000000 setarg 0 
+33aa 60014208 store app_disc_rsn_size ,mem_app_disconn_reason 
+33ab 20600000 rtn 
+
+app_disconn_reason_flag_clear:
+33ac 58000000 setarg 0 
+33ad 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33ae 20600000 rtn 
+
+app_disconn_reason_collect_bt:
+33af 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b0 60014208 store app_disc_rsn_size ,mem_app_disconn_reason 
+33b1 58000000 setarg 0 
+33b2 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b3 20600000 rtn 
+
+app_disconn_reason_collect_ble:
+33b4 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b5 79207e07 set1 app_disc_ble ,pdata 
+33b6 60014208 store app_disc_rsn_size ,mem_app_disconn_reason 
+33b7 58000000 setarg 0 
+33b8 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+33b9 20600000 rtn 
+
+app_check_sniff:
+33ba 6800c682 fetch 1 ,mem_ui_state_map 
+33bb 2feffe05 isolate1 ui_state_bt_sniff ,pdata 
+33bc 20600000 rtn 
+
+app_initflag_store:
+33bd 5800aa55 setarg eeprom_init_flag 
+
+app_flag_store:
+33be 60010aaa store 2 ,mem_timeup 
+33bf 44e4c019 bpatch patch19_1 ,mem_patch19 
+33c0 d8400002 arg 2 ,temp 
+33c1 da200aaa arg mem_timeup ,rega 
+33c2 da4000c3 arg eeprom_module_init_flag ,regb 
+33c3 20206606 branch iicd_write_eep_data 
+
+app_initflag_check:
+33c4 44e54019 bpatch patch19_2 ,mem_patch19 
+33c5 d8400002 arg 2 ,temp 
+33c6 da200a9a arg mem_pdatatemp ,rega 
+33c7 da4000c3 arg eeprom_module_init_flag ,regb 
+33c8 204065df call iicd_read_eep_data 
+33c9 68010a9a fetch 2 ,mem_pdatatemp 
+33ca d840aa55 arg eeprom_init_flag ,temp 
+33cb 98467c00 isub temp ,null 
+33cc 20600000 rtn 
+
+app_start_auto_sniff:
+33cd 6800c55a fetch 1 ,mem_unsniff2sniff_timer 
+33ce 6000c205 store 1 ,mem_unsniff2sniff_timer_count 
+33cf 20600000 rtn 
+
+app_get_lpm_wake_lock:
+33d0 d8e00009 arg wake_lock_app ,queue 
+33d1 20202c32 branch lpm_get_wake_lock 
+
+app_put_lpm_wake_lock:
+33d2 d8e00009 arg wake_lock_app ,queue 
+33d3 20202c36 branch lpm_put_wake_lock 
+
+app_lpm_wake_auto_lock:
+33d4 70420605 jam lpm_wake_up_delay_timer ,mem_wake_up_delay_timer 
+33d5 202033d0 branch app_get_lpm_wake_lock 
+
+app_lpm_wake_auto_lock_timer:
+33d6 da604206 arg mem_wake_up_delay_timer ,regc 
+33d7 da4033d2 arg app_put_lpm_wake_lock ,regb 
+33d8 2020336d branch timer_single_step 
+
+app_l2cap_flow_control_enable:
+33d9 70436301 jam l2cap_flow_ctrl_enable ,mem_l2cap_flow_ctrl_flag 
+33da 20600000 rtn 
+
+app_l2cap_flow_control_disable:
+33db 70436300 jam l2cap_flow_ctrl_disable ,mem_l2cap_flow_ctrl_flag 
+33dc 20600000 rtn 
+
+app_bt_set_pincode:
+33dd 700a990a jam bt_cmd_set_pin_code ,mem_fifo_temp 
+33de 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_role_switch:
+33df 700a991d jam bt_cmd_role_switch ,mem_fifo_temp 
+33e0 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_start_reconnect:
+33e1 44e5c019 bpatch patch19_3 ,mem_patch19 
+33e2 6800c207 fetch 1 ,mem_app_connection_options 
+33e3 6000816d store 1 ,mem_connection_options 
+33e4 70022801 jam app_flag_reconnect ,mem_reconnect_flag 
+33e5 700a9903 jam bt_cmd_reconnect ,mem_fifo_temp 
+33e6 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_reconnect_cancel:
+33e7 700a991e jam bt_cmd_bb_reconn_cancel ,mem_fifo_temp 
+33e8 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_disconnect:
+33e9 700a9904 jam bt_cmd_disconnect ,mem_fifo_temp 
+33ea 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_start_discovery_short:
+33eb 68014687 fetch 2 ,mem_discovery_timeout 
+33ec 6001467e store 2 ,mem_discovery_timeout_timer_count 
+
+app_bt_start_discovery_led_blink:
+33ed 20403404 call app_led_start_blink 
+
+app_bt_start_discovery:
+33ee 700a9901 jam bt_cmd_start_discovery ,mem_fifo_temp 
+33ef 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_stop_discovery:
+33f0 58000000 setarg 0 
+33f1 6001467e store 2 ,mem_discovery_timeout_timer_count 
+33f2 700a9902 jam bt_cmd_stop_discovery ,mem_fifo_temp 
+33f3 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_direct_adv:
+33f4 700a990f jam bt_cmd_start_direct_adv ,mem_fifo_temp 
+33f5 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_stop_direct_adv:
+33f6 700a9910 jam bt_cmd_stop_direct_adv ,mem_fifo_temp 
+33f7 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_stop_adv:
+33f8 700a990e jam bt_cmd_stop_adv ,mem_fifo_temp 
+33f9 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_adv:
+33fa 700a990d jam bt_cmd_start_adv ,mem_fifo_temp 
+33fb 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_scan:
+33fc 700a9917 jam bt_cmd_le_start_scan ,mem_fifo_temp 
+33fd 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_stop_scan:
+33fe 700a9918 jam bt_cmd_le_stop_scan ,mem_fifo_temp 
+33ff 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_start_conn:
+3400 700a9916 jam bt_cmd_le_start_conn ,mem_fifo_temp 
+3401 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_disconnect:
+3402 700a9911 jam bt_cmd_le_disconnect ,mem_fifo_temp 
+3403 20207d8f branch ui_ipc_send_cmd 
+
+app_led_start_blink:
+3404 700a9915 jam bt_cmd_led_blink ,mem_fifo_temp 
+3405 20207d8f branch ui_ipc_send_cmd 
+
+app_led_on:
+3406 700a9914 jam bt_cmd_led_on ,mem_fifo_temp 
+3407 20207d8f branch ui_ipc_send_cmd 
+
+app_led_stop_blink:
+
+app_led_off:
+3408 700a9913 jam bt_cmd_led_off ,mem_fifo_temp 
+3409 20207d8f branch ui_ipc_send_cmd 
+
+app_enter_hibernate:
+340a 700a9919 jam bt_cmd_enter_hibernate ,mem_fifo_temp 
+340b 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_sniff_exit:
+340c 700a9906 jam bt_cmd_exit_sniff ,mem_fifo_temp 
+340d 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_enter_sniff:
+340e 700a9905 jam bt_cmd_enter_sniff ,mem_fifo_temp 
+340f 20207d8f branch ui_ipc_send_cmd 
+
+app_ble_store_reconn_info:
+3410 700a991f jam bt_cmd_store_reconn_info_le ,mem_fifo_temp 
+3411 20207d8f branch ui_ipc_send_cmd 
+
+app_bt_store_reconn_info:
+3412 700a9920 jam bt_cmd_store_reconn_info_bt ,mem_fifo_temp 
+3413 20207d8f branch ui_ipc_send_cmd 
+
+app_store_reconn_info:
+3414 700a9925 jam bt_cmd_store_reconn_info ,mem_fifo_temp 
+3415 20207d8f branch ui_ipc_send_cmd 
+
+app_lpm_mult_enable:
+3416 7920000d set1 mark_lpm_mult_enable ,mark 
+3417 20600000 rtn 
+
+app_lpm_mult_disable:
+3418 793f800d set0 mark_lpm_mult_enable ,mark 
+3419 20600000 rtn 
+
+app_button_long_pressed:
+341a 2040342d call app_got_power_state_common 
+341b c0013424 beq power_standby ,app_power_shutting_down 
+
+app_power_starting:
+341c 58000001 setarg power_starting 
+341d e2608000 istore 1 ,regc 
+341e 1840a203 add temp ,power_starting_timeout_offset ,rega 
+341f 1840a406 add temp ,power_starting_cb_offset ,regb 
+
+app_power_common:
+3420 ea288000 ifetcht 1 ,rega 
+3421 1a60a601 increase 1 ,regc 
+3422 e2688000 istoret 1 ,regc 
+3423 20203385 branch app_power_cb_common 
+
+app_power_shutting_down:
+3424 58000000 setarg power_off 
+3425 e2608000 istore 1 ,regc 
+3426 68014682 fetch 2 ,mem_ui_state_map 
+3427 c304b429 bbit0 ui_state_ble_connected ,app_power_off_end 
+3428 20403402 call app_ble_disconnect 
+
+app_power_off_end:
+3429 6809423f fetcht 2 ,mem_power_param_ptr 
+342a 1840a202 add temp ,power_off_timeout_offset ,rega 
+342b 1840a404 add temp ,power_off_cb_offset ,regb 
+342c 20203420 branch app_power_common 
+
+app_got_power_state_common:
+342d 6809423f fetcht 2 ,mem_power_param_ptr 
+342e 1840a600 add temp ,power_state_offset ,regc 
+342f ea608000 ifetch 1 ,regc 
+3430 20600000 rtn 
+
+app_event_button_up:
+3431 2040342d call app_got_power_state_common 
+3432 c0803434 bne power_off ,app_power_release 
+3433 2020340a branch app_enter_hibernate 
+
+app_power_release:
+3434 1840a40a add temp ,ui_butten_up_cb_offset ,regb 
+3435 20203385 branch app_power_cb_common 
+
+antilost_init:
+3436 20758000 rtn wake 
+3437 70808100 jam 0x00 ,core_gpio_sel1 
+3438 58003463 setarg antilost_le_before_hibernate 
+3439 600141eb store 2 ,mem_cb_before_hibernate 
+343a 5800696c setarg keyscan_process_lpm_before 
+343b 600141ed store 2 ,mem_cb_before_lpm 
+343c 580034f5 setarg antilost_idle_process 
+343d 600141f3 store 2 ,mem_cb_idle_process 
+343e 580034f4 setarg antilost_le_conn_process 
+343f 600141ef store 2 ,mem_cb_le_process 
+3440 5800347e setarg antilost_bb_event_process 
+3441 600141f5 store 2 ,mem_cb_bb_event_process 
+3442 580034b2 setarg antilost_le_bb_event_timer 
+3443 600141fd store 2 ,mem_cb_event_timer 
+3444 58003465 setarg antilost_le_notification 
+3445 600141fb store 2 ,mem_cb_ble_transmit 
+3446 58003470 setarg antilost_lpm_lock_process 
+3447 600141e9 store 2 ,mem_cb_check_wakelock 
+3448 58003501 setarg antilost_le_receive_data_process 
+3449 600141f9 store 2 ,mem_cb_att_write 
+344a 44e64019 bpatch patch19_4 ,mem_patch19 
+344b 2040359b call antilost_buzzer_pwm_init 
+344c 20406948 call keyscan_key_init 
+344d 204035ad call antilost_adc_init 
+344e 20407d08 call ui_led_init_global 
+344f 20407cd3 call ui_button_init 
+3450 5800350b setarg antilost_key_up_down 
+3451 60014766 store 2 ,mem_cb_antl_key 
+3452 580034fc setarg antilost_power_off_cb 
+3453 6001475d store 2 ,mem_antl_power_off_cb 
+3454 580034f8 setarg antilost_power_starting_cb 
+3455 6001475f store 2 ,mem_antl_power_starting_cb 
+3456 5800346c setarg antilost_power_standby_cb 
+3457 60014761 store 2 ,mem_antl_power_standby_cb 
+3458 580035a2 setarg antilost_led_on_cb 
+3459 600146a9 store 2 ,mem_antl_led_cb_on 
+345a 580035a4 setarg antilost_led_off_cb 
+345b 600146ab store 2 ,mem_antl_led_cb_off 
+345c 580035a9 setarg antilost_buzzer_on 
+345d 600146b4 store 2 ,mem_antl_buzzer_cb_on 
+345e 580035a6 setarg antilost_buzzer_off 
+345f 600146b6 store 2 ,mem_antl_buzzer_cb_off 
+3460 68014682 fetch 2 ,mem_ui_state_map 
+3461 c3860000 rtnbit1 ui_state_btn_down 
+3462 2020340a branch app_enter_hibernate 
+
+antilost_le_before_hibernate:
+3463 20403586 call antilost_led_buzzer_stop_blink 
+3464 2020340a branch app_enter_hibernate 
+
+antilost_le_notification:
+3465 20405892 call le_fifo_check_nearly_full 
+3466 247a0000 nrtn blank 
+3467 da200b06 arg mem_temp_block5 ,rega 
+3468 20407e54 call queue_pop 
+3469 24740000 nrtn user 
+346a d8c00b06 arg mem_temp_block5 ,contr 
+346b 20204746 branch le_send_notify_from_list 
+
+antilost_power_standby_cb:
+346c 68014797 fetch 2 ,mem_antl_le_sleep_timeout 
+346d 60014791 store 2 ,mem_antl_le_sleep_timer 
+346e 70475301 jam 1 ,mem_antl_key_scan_enable 
+346f 2020358f branch antilost_fast_adv_start 
+
+antilost_lpm_lock_process:
+3470 6800c79d fetch 1 ,mem_antl_key_state 
+3471 c000b479 beq 1 ,antilost_lpm_ctrl_for_led_buzzer 
+3472 68014682 fetch 2 ,mem_ui_state_map 
+3473 c304b479 bbit0 ui_state_ble_connected ,antilost_lpm_ctrl_for_led_buzzer 
+3474 6800c79e fetch 1 ,mem_antl_lost_mode 
+3475 c000b3d0 beq 1 ,app_get_lpm_wake_lock 
+3476 6800c700 fetch 1 ,mem_antl_queue_curr_num 
+3477 243a33d0 nbranch app_get_lpm_wake_lock ,blank 
+3478 202033d2 branch app_put_lpm_wake_lock 
+
+antilost_lpm_ctrl_for_led_buzzer:
+3479 6800c79b fetch 1 ,mem_antl_led_state 
+347a 6808c79c fetcht 1 ,mem_antl_buzzer_state 
+347b 9841fe00 ior temp ,pdata 
+347c c000b3d0 beq 1 ,app_get_lpm_wake_lock 
+347d 202033d2 branch app_put_lpm_wake_lock 
+
+antilost_bb_event_process:
+347e 1a627e00 copy regc ,pdata 
+347f c016b431 beq bt_evt_button_up ,app_event_button_up 
+3480 c008341a beq bt_evt_button_long_pressed ,app_button_long_pressed 
+3481 c00a34df beq bt_evt_le_connected ,antilost_le_process_conn 
+3482 c00ab4e8 beq bt_evt_le_disconnected ,antilost_le_process_discon 
+3483 c0203485 beq bt_evt_le_parse_conn_papa_update_rsp ,antilost_le_conn_param_update_rsp_recieved 
+3484 20600000 rtn 
+
+antilost_le_conn_param_update_rsp_recieved:
+3485 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+3486 c000b48c beq ble_signaling_connect_parameter_update_rejected ,antilost_le_conn_param_rejected 
+
+antilost_le_conn_param_accepted:
+3487 680143d8 fetch 2 ,mem_le_new_connslavelatency 
+3488 203a34a2 branch antilost_master_nonsupport_latency ,blank 
+
+antilost_le_conn_param_updata_procedure_sucsess:
+3489 70478a02 jam conn_param_updata_procedure_complete ,mem_antl_conn_updata_procedure_state 
+348a 70478f3c jam 60 ,mem_antl_conn_update_timer 
+348b 20600000 rtn 
+
+antilost_le_conn_param_rejected:
+348c 6801449a fetch 2 ,mem_le_latency 
+348d 203a34a0 branch antilost_conn_param_updata_procedure_faild ,blank 
+
+antilost_conn_param_retransimiting:
+348e 70478a01 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+348f 680947b4 fetcht 2 ,mem_interval_increment 
+3490 68014496 fetch 2 ,mem_le_interval_min 
+3491 9840fe00 iadd temp ,pdata 
+3492 60014496 store 2 ,mem_le_interval_min 
+3493 1fe22200 copy pdata ,rega 
+3494 68014498 fetch 2 ,mem_le_interval_max 
+3495 9840fe00 iadd temp ,pdata 
+3496 60014498 store 2 ,mem_le_interval_max 
+3497 9a20fe00 iadd rega ,pdata 
+3498 1fe30400 rshift pdata ,temp 
+3499 680147c0 fetch 2 ,mem_antl_le_unnormal_interval_max 
+349a 9846fc00 idiv temp 
+349b 20407f86 call wait_div_end 
+349c 1807fe00 quotient pdata 
+349d 6001449a store 2 ,mem_le_latency 
+349e 70479001 jam 1 ,mem_antl_send_updata_le_param_timer 
+349f 20600000 rtn 
+
+antilost_conn_param_updata_procedure_faild:
+34a0 70478a03 jam conn_param_updata_procedure_faild ,mem_antl_conn_updata_procedure_state 
+34a1 20600000 rtn 
+
+antilost_master_nonsupport_latency:
+34a2 70417200 jam 0 ,mem_lpm_mult 
+34a3 70479000 jam 0 ,mem_antl_send_updata_le_param_timer 
+34a4 680143d6 fetch 2 ,mem_le_new_conninterval 
+34a5 680947be fetcht 2 ,mem_antl_le_unnormal_interval_min 
+34a6 98467c00 isub temp ,null 
+34a7 79212200 setflag positive ,0 ,rega 
+34a8 680147c0 fetch 2 ,mem_antl_le_unnormal_interval_max 
+34a9 680943d6 fetcht 2 ,mem_le_new_conninterval 
+34aa 98467e00 isub temp ,pdata 
+34ab 79212201 setflag positive ,1 ,rega 
+34ac 2a200603 compare 0x03 ,rega ,0x03 
+34ad 20608000 rtn true 
+34ae 680447be fetch 8 ,mem_antl_le_unnormal_interval_min 
+34af 60044496 store 8 ,mem_le_interval_min 
+34b0 70479001 jam 1 ,mem_antl_send_updata_le_param_timer 
+34b1 20600000 rtn 
+
+antilost_le_bb_event_timer:
+34b2 2040337b call app_power_timer 
+34b3 204034b9 call antilost_double_click_timer 
+34b4 204034be call antilost_le_fast_adv_timer 
+34b5 204034d5 call antilost_le_sleep_timer 
+34b6 204034ca call antilost_app_updata_le_param_timer 
+34b7 204034c4 call antilost_conn_update_timer 
+34b8 202034d9 branch antilost_adc_check_timer 
+
+antilost_double_click_timer:
+34b9 da604799 arg mem_double_click_timer ,regc 
+34ba da4034bc arg antilost_double_click_timeout ,regb 
+34bb 2020336d branch timer_single_step 
+
+antilost_double_click_timeout:
+34bc 70479a00 jam 0 ,mem_butten_click_cnt 
+34bd 20600000 rtn 
+
+antilost_le_fast_adv_timer:
+34be da604793 arg mem_antl_fast_adv_timer ,regc 
+34bf da4034c1 arg antilost_le_fast_adv_timeout ,regb 
+34c0 20203374 branch timer_single_step_2b 
+
+antilost_le_fast_adv_timeout:
+34c1 da6046bf arg mem_antl_slow_adv_led_style ,regc 
+34c2 da40469e arg mem_antl_slow_adv_lpm_interval ,regb 
+34c3 20203591 branch antilost_adv_start_common 
+
+antilost_conn_update_timer:
+34c4 da60478f arg mem_antl_conn_update_timer ,regc 
+34c5 da4034c7 arg antilost_conn_update_timer_time_out ,regb 
+34c6 2020336d branch timer_single_step 
+
+antilost_conn_update_timer_time_out:
+34c7 6801449a fetch 2 ,mem_le_latency 
+34c8 6000c172 store 1 ,mem_lpm_mult 
+34c9 20600000 rtn 
+
+antilost_app_updata_le_param_timer:
+34ca da604790 arg mem_antl_send_updata_le_param_timer ,regc 
+34cb da4034cd arg antilost_app_updata_le_param_timeout ,regb 
+34cc 2020336d branch timer_single_step 
+
+antilost_app_updata_le_param_timeout:
+34cd 6800843f fetch 1 ,mem_le_state 
+34ce 2fe0c000 compare 0 ,pdata ,0x60 
+34cf 2420b4d3 nbranch antilost_wait_for_updata_param_instant_expire ,true 
+34d0 70478a01 jam conn_param_updata_procedure_starting ,mem_antl_conn_updata_procedure_state 
+34d1 20403416 call app_lpm_mult_enable 
+34d2 20205abf branch le_l2cap_tx_update_req 
+
+antilost_wait_for_updata_param_instant_expire:
+34d3 70479001 jam 1 ,mem_antl_send_updata_le_param_timer 
+34d4 20600000 rtn 
+
+antilost_le_sleep_timer:
+34d5 da604791 arg mem_antl_le_sleep_timer ,regc 
+34d6 da4034d8 arg antilost_le_sleep_timer_timeout ,regb 
+34d7 20203374 branch timer_single_step_2b 
+
+antilost_le_sleep_timer_timeout:
+34d8 2020341a branch app_button_long_pressed 
+
+antilost_adc_check_timer:
+34d9 da60478d arg mem_adc_timer ,regc 
+34da da4034dc arg antilost_adc_check_timer_timeout ,regb 
+34db 20203374 branch timer_single_step_2b 
+
+antilost_adc_check_timer_timeout:
+34dc 680147a7 fetch 2 ,mem_adc_timeout 
+34dd 6001478d store 2 ,mem_adc_timer 
+34de 202035af branch antilost_battery_process 
+
+antilost_le_process_conn:
+34df 680147a7 fetch 2 ,mem_adc_timeout 
+34e0 6001478d store 2 ,mem_adc_timer 
+34e1 58000000 setarg 0 
+34e2 60014793 store 2 ,mem_antl_fast_adv_timer 
+34e3 60014791 store 2 ,mem_antl_le_sleep_timer 
+34e4 2040355c call antilost_alert_off 
+34e5 20403586 call antilost_led_buzzer_stop_blink 
+34e6 70417200 jam 0 ,mem_lpm_mult 
+34e7 202033f8 branch app_ble_stop_adv 
+
+antilost_le_process_discon:
+34e8 58000000 setarg 0 
+34e9 6002478d store 4 ,mem_adc_timer 
+34ea 6001c78a store 3 ,mem_antl_conn_updata_procedure_state 
+34eb 60014509 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+34ec 7047a001 jam 1 ,mem_alarm_config_notfy_cnt 
+34ed 68014797 fetch 2 ,mem_antl_le_sleep_timeout 
+34ee 60014791 store 2 ,mem_antl_le_sleep_timer 
+34ef 20407e38 call queue_init 
+34f0 6800c759 fetch 1 ,mem_antl_power_state 
+34f1 c1000000 rtneq power_off 
+34f2 2040358f call antilost_fast_adv_start 
+34f3 2020356e branch antilost_on_off_alarm_after_disconn 
+
+antilost_le_conn_process:
+34f4 20203508 branch antilost_key_process 
+
+antilost_idle_process:
+34f5 6800c759 fetch 1 ,mem_antl_power_state 
+34f6 c1810000 rtnne power_standby 
+34f7 20203508 branch antilost_key_process 
+
+antilost_power_starting_cb:
+34f8 da6046cd arg mem_antl_power_starting_buzzer_style ,regc 
+34f9 20403582 call antilost_buzzer_configuration 
+34fa da6046c6 arg mem_antl_power_starting_led_style ,regc 
+
+antilost_power_common:
+34fb 20203584 branch antilost_led_configuration 
+
+antilost_power_off_cb:
+34fc 70436e00 jam off ,mem_le_adv_enable 
+34fd da6046db arg mem_antl_power_off_buzzer_style ,regc 
+34fe 20403582 call antilost_buzzer_configuration 
+34ff da6046d4 arg mem_antl_power_off_led_style ,regc 
+3500 202034fb branch antilost_power_common 
+
+antilost_le_receive_data_process:
+3501 68008477 fetch 1 ,mem_le_att_opcode 
+3502 c0093504 beq attop_write_request ,antilost_le_parse_att_write_request 
+3503 20600000 rtn 
+
+antilost_le_parse_att_write_request:
+3504 68010478 fetch 2 ,mem_le_att_handle 
+3505 c006b536 beq new_spec_write_handle ,antilost_cmd_parse_for_application 
+3506 c005b571 beq new_spec_notification_enable_handle ,antilost_notify_alarm_config_first_time 
+3507 20600000 rtn 
+
+antilost_key_process:
+3508 6800c753 fetch 1 ,mem_antl_key_scan_enable 
+3509 207a0000 rtn blank 
+350a 20206978 branch keyscan_key_process 
+
+antilost_key_up_down:
+350b 1a227e00 copy rega ,pdata 
+350c 203a3510 branch antilost_key_is_up ,blank 
+
+antilost_key_is_down:
+350d 18e27e00 copy queue ,pdata 
+350e c0003513 beq 0 ,antilost_key0_down 
+350f 20600000 rtn 
+
+antilost_key_is_up:
+3510 18e27e00 copy queue ,pdata 
+3511 c000351b beq 0 ,antilost_key0_up 
+3512 20600000 rtn 
+
+antilost_key0_down:
+3513 70479d01 jam 1 ,mem_antl_key_state 
+3514 da6046f7 arg mem_antl_key_buzzer_style ,regc 
+3515 20403582 call antilost_buzzer_configuration 
+3516 da6046f0 arg mem_antl_key_led_style ,regc 
+3517 20403584 call antilost_led_configuration 
+3518 68014682 fetch 2 ,mem_ui_state_map 
+3519 c304b532 bbit0 ui_state_ble_connected ,antilost_butten_down_while_disconn 
+351a 20203521 branch antilost_butten_down_after_conn 
+
+antilost_key0_up:
+351b 70479d00 jam 0 ,mem_antl_key_state 
+351c 2020351d branch antilost_double_click_timer_init 
+
+antilost_double_click_timer_init:
+351d 6800c79a fetch 1 ,mem_butten_click_cnt 
+351e c1808000 rtnne 1 
+351f 70479905 jam 5 ,mem_double_click_timer 
+3520 20600000 rtn 
+
+antilost_butten_down_after_conn:
+3521 6800c79a fetch 1 ,mem_butten_click_cnt 
+3522 1fe0fe01 pincrease 1 
+3523 6000c79a store 1 ,mem_butten_click_cnt 
+3524 c000b527 beq 1 ,antilost_click_once 
+3525 c001352b beq 2 ,antilost_click_twice 
+3526 20600000 rtn 
+
+antilost_click_once:
+3527 2040355c call antilost_alert_off 
+3528 70477101 jam opcode1_butten_click_once ,mem_antl_key0_press + 5 
+3529 da60476c arg mem_antl_key0_press ,regc 
+352a 20203544 branch antilost_prepare_data_and_send 
+
+antilost_click_twice:
+352b 70479a00 jam 0 ,mem_butten_click_cnt 
+352c 70477102 jam opcode2_butten_double_click ,mem_antl_key0_press + 5 
+352d da60476c arg mem_antl_key0_press ,regc 
+352e 20403544 call antilost_prepare_data_and_send 
+352f 6800c79e fetch 1 ,mem_antl_lost_mode 
+3530 c000b551 beq 1 ,antilost_alert_on 
+3531 20600000 rtn 
+
+antilost_butten_down_while_disconn:
+3532 68014797 fetch 2 ,mem_antl_le_sleep_timeout 
+3533 60014791 store 2 ,mem_antl_le_sleep_timer 
+3534 2040355c call antilost_alert_off 
+3535 2020358f branch antilost_fast_adv_start 
+
+antilost_cmd_parse_for_application:
+3536 44e6c019 bpatch patch19_5 ,mem_patch19 
+3537 204036fc call le_app_receive_data 
+3538 ea208000 ifetch 1 ,rega 
+3539 c001b53c beq opcode3_antl_start_alram ,antilost_on_of_alram 
+353a c003b540 beq opcode7_antl_config_alram ,antilost_configuration_for_alram 
+353b 20600000 rtn 
+
+antilost_on_of_alram:
+353c 6800c79e fetch 1 ,mem_antl_lost_mode 
+353d c0003551 beq anti_le_alarm_off ,antilost_alert_on 
+353e c000b55c beq anti_le_alarm_on ,antilost_alert_off 
+353f 20600000 rtn 
+
+antilost_configuration_for_alram:
+3540 ea408000 ifetch 1 ,regb 
+3541 c000b564 beq 1 ,antilost_set_start_alarm_after_disconn 
+3542 c0003569 beq 0 ,antilost_set_no_alarm_after_disconn 
+3543 20600000 rtn 
+
+antilost_prepare_data_and_send:
+3544 44e74019 bpatch patch19_6 ,mem_patch19 
+3545 6800c78b fetch 1 ,mem_client_characteristic_configuration_descriptor 
+3546 2feffe00 isolate1 notification_enable_bit ,pdata 
+3547 24608000 nrtn true 
+3548 1a608c06 add regc ,6 ,contr 
+3549 e8c10000 ifetch 2 ,contr 
+354a 1ff0fe00 byteswap pdata ,pdata 
+354b 1fe0f205 add pdata ,5 ,loopcnt 
+354c 1a608c03 add regc ,3 ,contr 
+354d 204036f0 call calc_check_sum_start 
+354e e0c08000 istore 1 ,contr 
+354f 1a622200 copy regc ,rega 
+3550 20207e3d branch queue_push 
+
+antilost_alert_on:
+3551 6800c759 fetch 1 ,mem_antl_power_state 
+3552 207a0000 rtn blank 
+3553 70479e01 jam 1 ,mem_antl_lost_mode 
+3554 da6046e9 arg mem_antl_alert_buzzer_stlye ,regc 
+3555 20403582 call antilost_buzzer_configuration 
+3556 da6046e2 arg mem_antl_alert_led_stlye ,regc 
+3557 20403584 call antilost_led_configuration 
+3558 70478004 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+3559 70478301 jam 1 ,mem_antl_key0_release + 8 
+355a da60477b arg mem_antl_key0_release ,regc 
+355b 20203544 branch antilost_prepare_data_and_send 
+
+antilost_alert_off:
+355c 6800c79e fetch 1 ,mem_antl_lost_mode 
+355d 207a0000 rtn blank 
+355e 70479e00 jam 0 ,mem_antl_lost_mode 
+355f 20403586 call antilost_led_buzzer_stop_blink 
+3560 70478004 jam opcode4_current_alarm_state ,mem_antl_key0_release + 5 
+3561 70478300 jam 0 ,mem_antl_key0_release + 8 
+3562 da60477b arg mem_antl_key0_release ,regc 
+3563 20203544 branch antilost_prepare_data_and_send 
+
+antilost_set_start_alarm_after_disconn:
+3564 70479f01 jam 1 ,mem_alarm_config 
+3565 70478007 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+3566 70478301 jam 1 ,mem_antl_key0_release + 8 
+3567 da60477b arg mem_antl_key0_release ,regc 
+3568 20203544 branch antilost_prepare_data_and_send 
+
+antilost_set_no_alarm_after_disconn:
+3569 70479f00 jam 0 ,mem_alarm_config 
+356a 70478007 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+356b 70478300 jam 0 ,mem_antl_key0_release + 8 
+356c da60477b arg mem_antl_key0_release ,regc 
+356d 20203544 branch antilost_prepare_data_and_send 
+
+antilost_on_off_alarm_after_disconn:
+356e 6800c79f fetch 1 ,mem_alarm_config 
+356f 207a0000 rtn blank 
+3570 20203551 branch antilost_alert_on 
+
+antilost_notify_alarm_config_first_time:
+3571 ea210000 ifetch 2 ,rega 
+3572 6001478b store 2 ,mem_client_characteristic_configuration_descriptor 
+3573 2feffe00 isolate1 notification_enable_bit ,pdata 
+3574 24608000 nrtn true 
+3575 6800c7a0 fetch 1 ,mem_alarm_config_notfy_cnt 
+3576 207a0000 rtn blank 
+3577 7047a000 jam 0 ,mem_alarm_config_notfy_cnt 
+3578 680447b6 fetch 8 ,mem_antl_le_interval_min 
+3579 60044496 store 8 ,mem_le_interval_min 
+357a 70479002 jam 2 ,mem_antl_send_updata_le_param_timer 
+357b 204035af call antilost_battery_process 
+357c 204035b9 call antilost_battery_calculate_end 
+357d 70478007 jam opcode7_antl_config_alram ,mem_antl_key0_release + 5 
+357e 6800c79f fetch 1 ,mem_alarm_config 
+357f 6000c783 store 1 ,mem_antl_key0_release + 8 
+3580 da60477b arg mem_antl_key0_release ,regc 
+3581 20203544 branch antilost_prepare_data_and_send 
+
+antilost_buzzer_configuration:
+3582 da200001 arg 1 ,rega 
+3583 20203585 branch antilost_configuration_common 
+
+antilost_led_configuration:
+3584 da200000 arg 0 ,rega 
+
+antilost_configuration_common:
+3585 2020358c branch antilost_led_buzzer_style_configuration 
+
+antilost_led_buzzer_stop_blink:
+3586 da200000 arg 0 ,rega 
+3587 20407d19 call ui_led_blink_stop_global 
+3588 da200001 arg 1 ,rega 
+3589 20407d19 call ui_led_blink_stop_global 
+358a 6800c7a1 fetch 1 ,mem_buzzer_pwm_conf 
+358b 202069d7 branch pwm_disable 
+
+antilost_led_buzzer_style_configuration:
+358c 20407d04 call calc_curr_struct_prt 
+358d df200007 arg 7 ,loopcnt 
+358e 20207d26 branch ui_led_set_style_global + 2 
+
+antilost_fast_adv_start:
+358f da6046b8 arg mem_antl_fast_adv_led_style ,regc 
+3590 da40469a arg mem_antl_lpm_interval ,regb 
+
+antilost_adv_start_common:
+3591 20403596 call antilost_adv_interval_lpm_interval_set 
+3592 20403584 call antilost_led_configuration 
+3593 68014795 fetch 2 ,mem_antl_fast_adv_timeout 
+3594 60014793 store 2 ,mem_antl_fast_adv_timer 
+3595 202033fa branch app_ble_start_adv 
+
+antilost_adv_interval_lpm_interval_set:
+3596 ea410000 ifetch 2 ,regb 
+3597 60014154 store 2 ,mem_lpm_interval 
+3598 e8c10000 ifetch 2 ,contr 
+3599 60014482 store 2 ,mem_le_adv_interval 
+359a 20600000 rtn 
+
+antilost_buzzer_pwm_init:
+359b da200000 arg 0 ,rega 
+359c 204069a6 call pwm_init 
+359d 680347a1 fetch 6 ,mem_buzzer_pwm_conf 
+359e 60030a9a store 6 ,mem_pdatatemp 
+359f 204069ae call pwm_out_set 
+35a0 6800c7a1 fetch 1 ,mem_buzzer_pwm_conf 
+35a1 202069d7 branch pwm_disable 
+
+antilost_led_on_cb:
+35a2 70479b01 jam 1 ,mem_antl_led_state 
+35a3 20600000 rtn 
+
+antilost_led_off_cb:
+35a4 70479b00 jam 0 ,mem_antl_led_state 
+35a5 20600000 rtn 
+
+antilost_buzzer_off:
+35a6 70479c00 jam 0 ,mem_antl_buzzer_state 
+35a7 6800c7a1 fetch 1 ,mem_buzzer_pwm_conf 
+35a8 202069d7 branch pwm_disable 
+
+antilost_buzzer_on:
+35a9 70479c01 jam 1 ,mem_antl_buzzer_state 
+35aa 680347a1 fetch 6 ,mem_buzzer_pwm_conf 
+35ab 60030a9a store 6 ,mem_pdatatemp 
+35ac 202069ae branch pwm_out_set 
+
+antilost_adc_init:
+35ad 70422d00 jam 0 ,mem_adc_config_flag 
+35ae 202068a8 branch adc_init_data 
+
+antilost_battery_process:
+35af 204068eb call adc_set_mode 
+35b0 20406908 call vdd_calculate_by_mode 
+35b1 600147b0 store 2 ,mem_battery_current_voltage 
+35b2 da2047aa arg mem_battery_calculate_set ,rega 
+35b3 20406930 call adc_bat_percent_lowpower_out 
+35b4 6000c7a9 store 1 ,mem_voltage_remain_percent 
+35b5 c00035be beq 0 ,antilost_low_battery 
+35b6 1fe67c64 sub pdata ,0x64 ,null 
+35b7 242135bc nbranch antilost_full_battery ,positive 
+35b8 6000c783 store 1 ,mem_antl_key0_release + 8 
+
+antilost_battery_calculate_end:
+35b9 70478005 jam opcode5_batter_information ,mem_antl_key0_release + 5 
+35ba da60477b arg mem_antl_key0_release ,regc 
+35bb 20203544 branch antilost_prepare_data_and_send 
+
+antilost_full_battery:
+35bc 70478364 jam 100 ,mem_antl_key0_release + 8 
+35bd 202035b9 branch antilost_battery_calculate_end 
+
+antilost_low_battery:
+35be 2020341a branch app_button_long_pressed 
+
+car_init:
+35bf 20758000 rtn wake 
+35c0 68108081 hfetch 1 ,core_gpio_sel1 
+35c1 1fe17ef0 and_into 0xf0 ,pdata 
+35c2 60108081 hstore 1 ,core_gpio_sel1 
+35c3 58003631 setarg car_le_before_hibernate 
+35c4 600141eb store 2 ,mem_cb_before_hibernate 
+35c5 58003633 setarg car_le_process_lpm_before 
+35c6 600141ed store 2 ,mem_cb_before_lpm 
+35c7 5800340a setarg app_enter_hibernate 
+35c8 600141f7 store 2 ,mem_cb_discovry_timeout 
+35c9 58003635 setarg car_scale_process_idle 
+35ca 600141f3 store 2 ,mem_cb_idle_process 
+35cb 5800364b setarg car_scale_process_bb_event 
+35cc 600141f5 store 2 ,mem_cb_bb_event_process 
+35cd 580033d0 setarg app_get_lpm_wake_lock 
+35ce 600141e9 store 2 ,mem_cb_check_wakelock 
+35cf 580036f6 setarg car_le_receive_data 
+35d0 600141f9 store 2 ,mem_cb_att_write 
+35d1 5800367a setarg car_le_bb_event_timer 
+35d2 600141fd store 2 ,mem_cb_event_timer 
+35d3 20402c7a call g24_head_ptr2regc 
+35d4 58003722 setarg car_24g_receive_data 
+35d5 1a608ade add regc ,offset_24g_cb_rxdata_type1 ,contw 
+35d6 e0a10000 istore 2 ,contw 
+35d7 580035ed setarg car_power_off_signal 
+35d8 6001475b store 2 ,mem_remote_car_power_off_cb 
+35d9 580035ef setarg car_soft_switch_power_on_signal 
+35da 6001475f store 2 ,mem_remote_car_power_standby_cb 
+35db 44e7c019 bpatch patch19_7 ,mem_patch19 
+35dc 20403628 call car_init_environment 
+35dd 20407e38 call queue_init 
+35de 70417202 jam 2 ,mem_lpm_mult 
+35df 7049f600 jam power_on ,mem_car_24g_received_pac 
+35e0 6800c7cb fetch 1 ,mem_car_config_soft_switch_enable 
+35e1 6000c69a store 1 ,mem_car_hard_soft_switch 
+35e2 c00035ee beq hard_switch ,car_hard_switch_power_on_signal 
+35e3 6800c7cc fetch 1 ,mem_car_config_soft_switch_gpio 
+35e4 6000c686 store 1 ,mem_ui_button_gpio 
+35e5 70436e00 jam off ,mem_le_adv_enable 
+
+car_soft_switch_power_on_init:
+35e6 2040360f call car_ui_led_init 
+35e7 20407cd3 call ui_button_init 
+35e8 20407cdd call ui_button_polling 
+35e9 7047f301 jam power_starting ,mem_car_power_state 
+35ea 68014682 fetch 2 ,mem_ui_state_map 
+35eb c3860000 rtnbit1 ui_state_btn_down 
+35ec 2020340a branch app_enter_hibernate 
+
+car_power_off_signal:
+35ed 2020360f branch car_ui_led_init 
+
+car_hard_switch_power_on_signal:
+35ee 7047f302 jam power_standby ,mem_car_power_state 
+
+car_soft_switch_power_on_signal:
+35ef 70436e01 jam on ,mem_le_adv_enable 
+35f0 2040360f call car_ui_led_init 
+35f1 da200000 arg 0 ,rega 
+35f2 20407d1e call ui_led_blink_start_global 
+35f3 58000020 setarg fast_adv_interval_value_car 
+35f4 204046f0 call shutter_ble_adv_interval_set 
+
+car_le_modified_name_adv:
+35f5 d8a043b7 arg mem_le_name + 7 ,contw 
+35f6 6800c4a0 fetch 1 ,mem_le_lap 
+
+car_name_loop:
+35f7 1fe104f0 and pdata ,0xF0 ,temp 
+35f8 18518400 rshift4 temp ,temp 
+35f9 20403609 call car_hex_to_ascii 
+35fa e0a88000 istoret 1 ,contw 
+35fb 1fe1040f and pdata ,0x0F ,temp 
+35fc 20403609 call car_hex_to_ascii 
+35fd e0a88000 istoret 1 ,contw 
+35fe 204057a6 call le_modified_name_att_list 
+35ff 6808c3af fetcht 1 ,mem_le_name_len 
+3600 18427200 copy temp ,loopcnt 
+3601 d8a04372 arg mem_le_adv_data + 2 ,contw 
+3602 d8c043b0 arg mem_le_name ,contr 
+3603 20407f01 call memcpy 
+
+car_le_modified_name_scan:
+3604 6808c3af fetcht 1 ,mem_le_name_len 
+3605 18427200 copy temp ,loopcnt 
+3606 d8a04392 arg mem_le_scan_data + 2 ,contw 
+3607 d8c043b0 arg mem_le_name ,contr 
+3608 20207f01 branch memcpy 
+
+car_hex_to_ascii:
+3609 18467c09 sub temp ,9 ,null 
+360a 2021360d branch car_hex_num ,positive 
+360b 18408437 add temp ,55 ,temp 
+360c 20600000 rtn 
+
+car_hex_num:
+360d 18408430 add temp ,48 ,temp 
+360e 20600000 rtn 
+
+car_ui_led_init:
+360f 6800c7c0 fetch 1 ,mem_car_config_blood_led1_gpio 
+3610 c0ffb621 bne invalid_pin_num ,car_blood_led_gpio_set 
+
+car_ui_led_init_1:
+3611 6800c7be fetch 1 ,mem_car_config_pairing_led_gpio 
+3612 c0ffb624 bne invalid_pin_num ,car_pairing_led_gpio_set 
+
+car_ui_led_init_2:
+3613 6800c7c9 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+3614 c0ffb626 bne invalid_pin_num ,car_low_voltage_led_gpio_set 
+
+car_ui_led_init_3:
+3615 6800c72c fetch 1 ,mem_car_led_num 
+3616 1fe27200 copy pdata ,loopcnt 
+3617 5800472d setarg mem_car_led_map 
+3618 1fe22200 copy pdata ,rega 
+
+car_in_lp1:
+3619 1a220c00 copy rega ,contr 
+361a e8c08000 ifetch 1 ,contr 
+361b 18c22200 copy contr ,rega 
+361c c07fb61f beq invalid_pin_num ,car_in_lp1_end 
+361d 1fe20400 copy pdata ,temp 
+361e 2040680e call gpio_config_output 
+
+car_in_lp1_end:
+361f c2003619 loop car_in_lp1 
+
+car_ui_led_init_end:
+3620 20600000 rtn 
+
+car_blood_led_gpio_set:
+3621 680447c0 fetch 8 ,mem_car_config_blood_led1_gpio 
+3622 6004472f store 8 ,mem_car_led_map + 2 
+3623 20203611 branch car_ui_led_init_1 
+
+car_pairing_led_gpio_set:
+3624 6000c72d store 1 ,mem_car_led_map 
+3625 20203613 branch car_ui_led_init_2 
+
+car_low_voltage_led_gpio_set:
+3626 6000c72e store 1 ,mem_car_led_map + 1 
+3627 20203615 branch car_ui_led_init_3 
+
+car_init_environment:
+3628 da200000 arg 0 ,rega 
+3629 204069a6 call pwm_init 
+362a 204037e4 call car_ir_rx_init 
+362b 20402c7d call g24_receive_process_init 
+362c 2020362d branch car_init_adc_hvin 
+
+car_init_adc_hvin:
+362d 7047cf64 jam 100 ,mem_car_notify_vdd_value_last 
+362e 6800c7c9 fetch 1 ,mem_car_config_low_voltage_led_gpio 
+362f 6000c744 store 1 ,mem_car_style2_struct_led_gpio 
+3630 202068a8 branch adc_init_data 
+
+car_le_before_hibernate:
+3631 20406835 call gpio_set_before_lpm_common 
+3632 2020696c branch keyscan_process_lpm_before 
+
+car_le_process_lpm_before:
+3633 2020696c branch keyscan_process_lpm_before 
+
+car_key_scan_process:
+3634 20206978 branch keyscan_key_process 
+
+car_scale_process_idle:
+3635 20403642 call car_le_send_packet 
+3636 204037ee call car_ir_receive_process 
+3637 20403639 call car_g24_status_process 
+3638 20203634 branch car_key_scan_process 
+
+car_g24_status_process:
+3639 68014682 fetch 2 ,mem_ui_state_map 
+363a c3848000 rtnbit1 ui_state_ble_connected 
+363b 6800c9f6 fetch 1 ,mem_car_24g_received_pac 
+363c c000b63e beq work_paired ,car_g24_connected_event 
+363d 20600000 rtn 
+
+car_g24_connected_event:
+363e 6800c7ea fetch 1 ,mem_car_24g_status 
+363f c1008000 rtneq work_paired 
+3640 7047ea01 jam work_paired ,mem_car_24g_status 
+3641 20203654 branch car_g24_connected 
+
+car_le_send_packet:
+3642 68014682 fetch 2 ,mem_ui_state_map 
+3643 c4048000 rtnbit0 ui_state_ble_connected 
+3644 20405892 call le_fifo_check_nearly_full 
+3645 247a0000 nrtn blank 
+3646 da204718 arg mem_car_pop_queue_buff ,rega 
+3647 20407e54 call queue_pop 
+3648 24740000 nrtn user 
+3649 d8c04718 arg mem_car_pop_queue_buff ,contr 
+364a 20204746 branch le_send_notify_from_list 
+
+car_scale_process_bb_event:
+364b 1a627e00 copy regc ,pdata 
+364c c016b431 beq bt_evt_button_up ,app_event_button_up 
+364d c008341a beq bt_evt_button_long_pressed ,app_button_long_pressed 
+364e c00a3651 beq bt_evt_le_connected ,car_scale_event_le_conn 
+364f c00ab660 beq bt_evt_le_disconnected ,car_scale_event_le_discon 
+3650 20600000 rtn 
+
+car_scale_event_le_conn:
+3651 58000000 setarg disable_24g 
+3652 20403220 call g24_store_mem_24g_mode 
+3653 20203656 branch car_scale_process_conn 
+
+car_g24_connected:
+3654 680147eb fetch 2 ,mem_car_24g_no_data_timeout_count 
+3655 600147ed store 2 ,mem_car_24g_no_data_timeout_timer 
+
+car_scale_process_conn:
+3656 7047ce14 jam 0x14 ,mem_car_notify_vdd_timer 
+3657 70409100 jam 0 ,mem_lpm_mode 
+3658 204033f8 call app_ble_stop_adv 
+3659 20403416 call app_lpm_mult_enable 
+365a 6800c7bd fetch 1 ,mem_car_config_pairing_led_conn_status 
+365b c000b65e beq 0x01 ,car_pairing_led_conn_status_setting 
+
+car_scale_process_conn_next:
+365c da200000 arg 0 ,rega 
+365d 20207d14 branch ui_led_on_global 
+
+car_pairing_led_conn_status_setting:
+365e da200000 arg 0 ,rega 
+365f 20207d19 branch ui_led_blink_stop_global 
+
+car_scale_event_le_discon:
+3660 58000002 setarg rx_24g 
+3661 20403220 call g24_store_mem_24g_mode 
+
+car_g24_disconnect:
+3662 58000000 setarg 0 
+3663 6002c79c store 5 ,mem_car_led_control 
+3664 58000004 setarg 4 
+3665 204069d7 call pwm_disable 
+3666 58000005 setarg 5 
+3667 204069d7 call pwm_disable 
+3668 58000014 setarg 20 
+3669 204069d7 call pwm_disable 
+366a 58000015 setarg 21 
+366b 204069d7 call pwm_disable 
+366c 58000016 setarg 22 
+366d 204069d7 call pwm_disable 
+366e 58000007 setarg 7 
+366f 204069d7 call pwm_disable 
+3670 20407e38 call queue_init 
+3671 70475e0a jam 10 ,mem_motor1_speed 
+3672 7047600a jam 10 ,mem_motor2_speed 
+3673 7047620a jam 10 ,mem_motor3_speed 
+3674 70417202 jam 2 ,mem_lpm_mult 
+3675 da200000 arg 0 ,rega 
+3676 20407d1e call ui_led_blink_start_global 
+3677 58000020 setarg fast_adv_interval_value_car 
+3678 204046f0 call shutter_ble_adv_interval_set 
+3679 202033fa branch app_ble_start_adv 
+
+car_le_bb_event_timer:
+367a 2040373b call car_moto1_blank_data_timer 
+367b 2040373e call car_moto2_blank_data_timer 
+367c 20403741 call car_moto3_blank_data_timer 
+367d 2040337b call app_power_timer 
+367e 204036c8 call car_led_control_timer 
+367f 204036a1 call car_notify_vdd_timer 
+3680 2040368a call car_24g_no_data_timeout_timer 
+3681 20403683 call car_ir_breakdown_timer 
+3682 2020368f branch car_attack_shake_timer 
+
+car_ir_breakdown_timer:
+3683 da60479a arg mem_car_ir_breakdown_check_timer ,regc 
+3684 da403686 arg car_ir_breakdown_timeout ,regb 
+3685 2020336d branch timer_single_step 
+
+car_ir_breakdown_timeout:
+3686 20403847 call car_ir_gpio_get_status 
+3687 24608000 nrtn true 
+3688 70479b01 jam 1 ,mem_car_ir_breakdown_flag 
+3689 20600000 rtn 
+
+car_24g_no_data_timeout_timer:
+368a da6047ed arg mem_car_24g_no_data_timeout_timer ,regc 
+368b da40368d arg car_24g_no_data_timer_timeout ,regb 
+368c 20203374 branch timer_single_step_2b 
+
+car_24g_no_data_timer_timeout:
+368d 7047ea02 jam work_search ,mem_car_24g_status 
+368e 20203662 branch car_g24_disconnect 
+
+car_attack_shake_timer:
+368f da6047f1 arg mem_car_attack_shake_timer ,regc 
+3690 da403692 arg car_attack_shake ,regb 
+3691 2020336d branch timer_single_step 
+
+car_attack_shake:
+3692 6800c7f2 fetch 1 ,mem_car_attack_shake_flag 
+3693 203a369e branch car_attack_shake_stop ,blank 
+3694 7047f102 jam 2 ,mem_car_attack_shake_timer 
+3695 7047f200 jam 0 ,mem_car_attack_shake_flag 
+3696 58000a02 setarg 0x0a02 
+3697 60014752 store 2 ,mem_le_receive_payload 
+3698 6800c7b9 fetch 1 ,mem_car_config_device_select 
+3699 c001b69b beq device_battle_tank ,car_attack_shake_front_battle_tank 
+
+car_attack_shake_front_battle_car:
+369a 20203762 branch car_motor_control 
+
+car_attack_shake_front_battle_tank:
+369b 58000a02 setarg 0x0a02 
+369c 60014754 store 2 ,mem_le_receive_payload + 2 
+369d 20203762 branch car_motor_control 
+
+car_attack_shake_stop:
+369e 58000000 setarg 0 
+369f 60024752 store 4 ,mem_le_receive_payload 
+36a0 20203762 branch car_motor_control 
+
+car_notify_vdd_timer:
+36a1 6800c7c8 fetch 1 ,mem_car_config_bat_notify_enable 
+36a2 207a0000 rtn blank 
+36a3 68014682 fetch 2 ,mem_ui_state_map 
+36a4 c304b6c6 bbit0 ui_state_ble_connected ,car_low_bat_led_off 
+36a5 da6047ce arg mem_car_notify_vdd_timer ,regc 
+36a6 da4036a8 arg car_notify_vdd ,regb 
+36a7 2020336d branch timer_single_step 
+
+car_notify_vdd:
+36a8 6800c7cd fetch 1 ,mem_car_notify_vdd_count 
+36a9 6000c7ce store 1 ,mem_car_notify_vdd_timer 
+36aa 6800c7d1 fetch 1 ,mem_car_working_flag 
+36ab 247a0000 nrtn blank 
+
+car_read_hvin:
+36ac 204068eb call adc_set_mode 
+36ad 20406908 call vdd_calculate_by_mode 
+36ae 600147e8 store 2 ,mem_vdd_now_vol 
+36af da2047e2 arg mem_vdd_calculate_set ,rega 
+36b0 20406930 call adc_bat_percent_lowpower_out 
+36b1 6808c7cf fetcht 1 ,mem_car_notify_vdd_value_last 
+36b2 98467c00 isub temp ,null 
+36b3 202136b6 branch car_notify_vdd_next2 ,positive 
+36b4 6000c7cf store 1 ,mem_car_notify_vdd_value_last 
+36b5 1fe20400 copy pdata ,temp 
+
+car_notify_vdd_next2:
+36b6 6008c7d0 storet 1 ,mem_car_notify_vdd_percent 
+36b7 6800c7ca fetch 1 ,mem_car_config_low_voltage_percent 
+36b8 98467c00 isub temp ,null 
+36b9 204136c1 call car_enter_low_bat ,positive 
+36ba 6008c7db storet 1 ,mem_notify_bat_payload 
+36bb df200006 arg 6 ,loopcnt 
+36bc d8c047d6 arg mem_notify_bat_head ,contr 
+36bd 204036f0 call calc_check_sum_start 
+36be 6000c7dc store 1 ,mem_notify_bat_check_sum 
+36bf da2047d3 arg mem_notify_bat_packet ,rega 
+36c0 20207e3d branch queue_push 
+
+car_enter_low_bat:
+36c1 6800c7d2 fetch 1 ,mem_low_bat_flag 
+36c2 247a0000 nrtn blank 
+36c3 7047d201 jam 1 ,mem_low_bat_flag 
+36c4 da200001 arg 1 ,rega 
+36c5 20207d1e branch ui_led_blink_start_global 
+
+car_low_bat_led_off:
+36c6 da200001 arg 1 ,rega 
+36c7 20207d19 branch ui_led_blink_stop_global 
+
+car_led_control_timer:
+36c8 da6047a4 arg mem_car_led_control_timer ,regc 
+36c9 da4036cb arg car_led_control ,regb 
+36ca 2020336d branch timer_single_step 
+
+car_led_control:
+36cb 7047a405 jam 5 ,mem_car_led_control_timer 
+36cc 7047a600 jam 0 ,mem_car_led_no 
+36cd 6800c7a5 fetch 1 ,mem_car_led_blink_status 
+36ce c000b6ee beq led_on ,car_led_control_blink_off 
+36cf c00036ec beq led_off ,car_led_control_blink_on 
+
+car_led_control_set:
+36d0 d8c0479c arg mem_car_led_control ,contr 
+36d1 18c22200 copy contr ,rega 
+36d2 df200008 arg 8 ,loopcnt 
+
+car_led_control_timer_next:
+36d3 1a220c00 copy rega ,contr 
+36d4 e8c08000 ifetch 1 ,contr 
+36d5 18c22200 copy contr ,rega 
+36d6 c00036e3 beq led_off ,car_led_control_off 
+36d7 c000b6e6 beq led_on ,car_led_control_on 
+36d8 c00136e9 beq led_blink ,car_led_control_blink 
+
+car_led_control_timer_next_2:
+36d9 6800c7a6 fetch 1 ,mem_car_led_no 
+36da 1fe0fe01 increase 1 ,pdata 
+36db 6000c7a6 store 1 ,mem_car_led_no 
+36dc c20036d3 loop car_led_control_timer_next 
+36dd 20600000 rtn 
+
+car_led_switch:
+36de 6800c7a6 fetch 1 ,mem_car_led_no 
+36df da4047c0 arg mem_car_config_blood_led_gpio ,regb 
+36e0 9a40a400 iadd regb ,regb 
+36e1 ea488000 ifetcht 1 ,regb 
+36e2 20600000 rtn 
+
+car_led_control_off:
+36e3 204036de call car_led_switch 
+36e4 20406825 call gpio_out_inactive 
+36e5 202036d9 branch car_led_control_timer_next_2 
+
+car_led_control_on:
+36e6 204036de call car_led_switch 
+36e7 20406829 call gpio_out_active 
+36e8 202036d9 branch car_led_control_timer_next_2 
+
+car_led_control_blink:
+36e9 6800c7a5 fetch 1 ,mem_car_led_blink_status 
+36ea c000b6e3 beq led_on ,car_led_control_off 
+36eb 202036e6 branch car_led_control_on 
+
+car_led_control_blink_on:
+36ec 7047a501 jam led_on ,mem_car_led_blink_status 
+36ed 202036d0 branch car_led_control_set 
+
+car_led_control_blink_off:
+36ee 7047a500 jam led_off ,mem_car_led_blink_status 
+36ef 202036d0 branch car_led_control_set 
+
+calc_check_sum_start:
+36f0 da200000 arg 0 ,rega 
+
+calc_check_sum_loop:
+36f1 e8c08000 ifetch 1 ,contr 
+36f2 9a20a200 iadd rega ,rega 
+36f3 c20036f1 loop calc_check_sum_loop 
+
+calc_check_sum_and:
+36f4 1a217eff and rega ,0xff ,pdata 
+36f5 20600000 rtn 
+
+car_le_receive_data:
+36f6 68008477 fetch 1 ,mem_le_att_opcode 
+36f7 c00936f9 beq attop_write_request ,car_le_parse_att_write_request 
+36f8 20600000 rtn 
+
+car_le_parse_att_write_request:
+36f9 68010478 fetch 2 ,mem_le_att_handle 
+36fa c00a3710 beq att_car_control_handle ,car_control_le_receive 
+36fb 20600000 rtn 
+
+le_app_receive_data:
+36fc 44e8401a bpatch patch1a_0 ,mem_patch1a 
+36fd ea228000 ifetch 5 ,rega 
+36fe 60028b12 store 5 ,mem_app_receive_temp 
+36ff 68010b12 fetch 2 ,mem_app_receive_temp 
+3700 d8406b5a arg le_receive_packet_head ,temp 
+3701 98467c00 isub temp ,null 
+3702 24628000 nrtn zero 
+3703 68010b15 fetch 2 ,mem_app_receive_temp + 3 
+3704 1ff0fe00 byteswap pdata ,pdata 
+3705 60010b15 store 2 ,mem_app_receive_temp + 3 
+3706 1fe27200 copy pdata ,loopcnt 
+3707 1a20a205 increase 5 ,rega 
+3708 1a220c00 copy rega ,contr 
+3709 d8a00b17 arg mem_app_receive_temp + 5 ,contw 
+370a 20407f01 call memcpy 
+370b e8c08000 ifetch 1 ,contr 
+370c 60008b21 store 1 ,mem_app_receive_temp + 15 
+370d da200b14 arg mem_app_receive_temp + 2 ,rega 
+370e da400b17 arg mem_app_receive_temp + 5 ,regb 
+370f 20600000 rtn 
+
+car_control_le_receive:
+3710 58000000 setarg 0 
+3711 6002c752 store 5 ,mem_le_receive_payload 
+3712 6002c757 store 5 ,mem_le_receive_payload + 5 
+3713 204036fc call le_app_receive_data 
+3714 1a420c00 copy regb ,contr 
+3715 d8a04752 arg mem_le_receive_payload ,contw 
+3716 df20000a arg 10 ,loopcnt 
+3717 20407f01 call memcpy 
+
+car_receive_cmd_select:
+3718 44e8c01a bpatch patch1a_1 ,mem_patch1a 
+3719 ea208000 ifetch 1 ,rega 
+371a c001374a beq car_cmd_old_car_control ,car_drive_old 
+371b c001b75c beq car_cmd_old_speed_control ,car_speed_set_old 
+371c c0023762 beq car_cmd_l_r_motor_control ,car_motor_control 
+371d c002b762 beq car_cmd_f_b_motor_control ,car_motor_control 
+371e c00337b1 beq car_cmd_ir_control ,car_ir_data_rx_from_app 
+371f c003b849 beq car_cmd_led_control ,car_led_control_receive 
+3720 c004384c beq car_cmd_device_info ,car_info_request 
+3721 20600000 rtn 
+
+car_24g_receive_data:
+3722 68014682 fetch 2 ,mem_ui_state_map 
+3723 c3848000 rtnbit1 ui_state_ble_connected 
+3724 680147eb fetch 2 ,mem_car_24g_no_data_timeout_count 
+3725 600147ed store 2 ,mem_car_24g_no_data_timeout_timer 
+3726 7049f601 jam work_paired ,mem_car_24g_received_pac 
+3727 5800010c setarg offset_24g_rxdata_temp_add3 
+3728 204032cd call g24_set_rega 
+3729 20403710 call car_control_le_receive 
+372a 68008b14 fetch 1 ,mem_app_receive_temp + 2 
+372b c002372e beq car_cmd_l_r_motor_control ,car_24g_receive_data_next 
+372c c002b72e beq car_cmd_f_b_motor_control ,car_24g_receive_data_next 
+372d 20600000 rtn 
+
+car_24g_receive_data_next:
+372e 6800c752 fetch 1 ,mem_le_receive_payload 
+372f 245a3735 ncall car_moto1_enable_blank_data_timer ,blank 
+3730 6800c754 fetch 1 ,mem_le_receive_payload + 2 
+3731 245a3737 ncall car_moto2_enable_blank_data_timer ,blank 
+3732 6800c756 fetch 1 ,mem_le_receive_payload + 4 
+3733 245a3739 ncall car_moto3_enable_blank_data_timer ,blank 
+3734 20600000 rtn 
+
+car_moto1_enable_blank_data_timer:
+3735 7049f305 jam 5 ,mem_car_moto1_blank_timer 
+3736 20600000 rtn 
+
+car_moto2_enable_blank_data_timer:
+3737 7049f405 jam 5 ,mem_car_moto2_blank_timer 
+3738 20600000 rtn 
+
+car_moto3_enable_blank_data_timer:
+3739 7049f505 jam 5 ,mem_car_moto3_blank_timer 
+373a 20600000 rtn 
+
+car_moto1_blank_data_timer:
+373b da6049f3 arg mem_car_moto1_blank_timer ,regc 
+373c da403744 arg car_moto1_blank_data ,regb 
+373d 2020336d branch timer_single_step 
+
+car_moto2_blank_data_timer:
+373e da6049f4 arg mem_car_moto2_blank_timer ,regc 
+373f da403746 arg car_moto2_blank_data ,regb 
+3740 2020336d branch timer_single_step 
+
+car_moto3_blank_data_timer:
+3741 da6049f5 arg mem_car_moto3_blank_timer ,regc 
+3742 da403748 arg car_moto3_blank_data ,regb 
+3743 2020336d branch timer_single_step 
+
+car_moto1_blank_data:
+3744 70475200 jam 0 ,mem_le_receive_payload 
+3745 20203762 branch car_motor_control 
+
+car_moto2_blank_data:
+3746 70475400 jam 0 ,mem_le_receive_payload + 2 
+3747 20203762 branch car_motor_control 
+
+car_moto3_blank_data:
+3748 70475600 jam 0 ,mem_le_receive_payload + 4 
+3749 20203762 branch car_motor_control 
+
+car_drive_old:
+374a 2040374c call car_left_right_control_old 
+374b 2020374f branch car_front_back_control_old 
+
+car_left_right_control_old:
+374c 6800c752 fetch 1 ,mem_le_receive_payload 
+374d 6000c75f store 1 ,mem_motor2_status 
+374e 20203773 branch car_motor2_control 
+
+car_front_back_control_old:
+374f 6800c75e fetch 1 ,mem_motor1_speed 
+3750 20403754 call car_reset_old_speed 
+3751 6800c753 fetch 1 ,mem_le_receive_payload + 1 
+3752 6000c75d store 1 ,mem_motor1_status 
+3753 20203770 branch car_motor1_control 
+
+car_reset_old_speed:
+3754 c0013758 beq speed_level_2 ,car_reset_old_speed2 
+3755 c001b75a beq speed_level_3 ,car_reset_old_speed3 
+3756 6000c75e store 1 ,mem_motor1_speed 
+3757 20600000 rtn 
+
+car_reset_old_speed2:
+3758 70475e05 jam speed_level_5 ,mem_motor1_speed 
+3759 20600000 rtn 
+
+car_reset_old_speed3:
+375a 70475e0a jam speed_level_10 ,mem_motor1_speed 
+375b 20600000 rtn 
+
+car_speed_set_old:
+375c 6800c752 fetch 1 ,mem_le_receive_payload 
+375d 20403754 call car_reset_old_speed 
+375e 6800c75e fetch 1 ,mem_motor1_speed 
+375f 2040379e call car_motor_speed_duty_setting 
+3760 204037a1 call car_motor_speed_duty_transform 
+3761 202069c4 branch pwm_pwm0_duty_set 
+
+car_motor_control:
+3762 6800c7f0 fetch 1 ,mem_car_24g_go_die_flag 
+3763 247a0000 nrtn blank 
+3764 68034752 fetch 6 ,mem_le_receive_payload 
+3765 6003475d store 6 ,mem_motor1_status 
+3766 6800c75e fetch 1 ,mem_motor1_speed 
+3767 6808c760 fetcht 1 ,mem_motor2_speed 
+3768 98417e00 iand temp ,pdata 
+3769 6808c762 fetcht 1 ,mem_motor3_speed 
+376a 98417e00 iand temp ,pdata 
+376b 205a3779 call car_motor_working_flag ,blank 
+376c 44e9401a bpatch patch1a_2 ,mem_patch1a 
+376d 20403770 call car_motor1_control 
+376e 20403773 call car_motor2_control 
+376f 20203776 branch car_motor3_control 
+
+car_motor1_control:
+3770 da404763 arg mem_motor1_pwm_set ,regb 
+3771 d8c0475d arg mem_motor1_status ,contr 
+3772 2020377b branch car_motor_status_select 
+
+car_motor2_control:
+3773 da40476b arg mem_motor2_pwm_set ,regb 
+3774 d8c0475f arg mem_motor2_status ,contr 
+3775 2020377b branch car_motor_status_select 
+
+car_motor3_control:
+3776 da404773 arg mem_motor3_pwm_set ,regb 
+3777 d8c04761 arg mem_motor3_status ,contr 
+3778 2020377b branch car_motor_status_select 
+
+car_motor_working_flag:
+3779 7047d100 jam 0 ,mem_car_working_flag 
+377a 20600000 rtn 
+
+car_motor_status_select:
+377b e8c08000 ifetch 1 ,contr 
+377c c0003787 beq motor_stop ,car_motor_stop 
+377d c000b780 beq go_front ,car_motor_positive 
+377e c0013782 beq go_back ,car_motor_negative 
+377f 20600000 rtn 
+
+car_motor_positive:
+3780 70477b00 jam 0 ,mem_motor_select_p_n 
+3781 20203783 branch car_motor_negative + 1 
+
+car_motor_negative:
+3782 70477b01 jam 1 ,mem_motor_select_p_n 
+3783 e8c08000 ifetch 1 ,contr 
+3784 6000c77d store 1 ,mem_car_motor_speed 
+3785 ea440000 ifetch 8 ,regb 
+3786 2020378c branch car_motor_work 
+
+car_motor_stop:
+3787 ea408000 ifetch 1 ,regb 
+3788 204069d7 call pwm_disable 
+3789 1a40a401 increase 1 ,regb 
+378a ea408000 ifetch 1 ,regb 
+378b 202069d7 branch pwm_disable 
+
+car_motor_work:
+378c 6004477e store 8 ,mem_motor_pwm_pin1_set 
+378d 7047d101 jam 1 ,mem_car_working_flag 
+378e 6800c77b fetch 1 ,mem_motor_select_p_n 
+378f c000379a beq 0 ,car_motor_select_positive 
+
+car_motor_select_negative:
+3790 6800c77f fetch 1 ,mem_motor_pwm_pin2_set 
+3791 6000c780 store 1 ,mem_motor_pwm_pin_set 
+3792 6800c77e fetch 1 ,mem_motor_pwm_pin1_set 
+
+car_motor_work_next:
+3793 204069d7 call pwm_disable 
+3794 6800c77d fetch 1 ,mem_car_motor_speed 
+3795 2040379e call car_motor_speed_duty_setting 
+3796 6000c785 store 1 ,mem_motor_pwm_dute_set 
+3797 68034780 fetch 6 ,mem_motor_pwm_pin_set 
+3798 60030a9a store 6 ,mem_pdatatemp 
+3799 202069ae branch pwm_out_set 
+
+car_motor_select_positive:
+379a 6800c77e fetch 1 ,mem_motor_pwm_pin1_set 
+379b 6000c780 store 1 ,mem_motor_pwm_pin_set 
+379c 6800c77f fetch 1 ,mem_motor_pwm_pin2_set 
+379d 20203793 branch car_motor_work_next 
+
+car_motor_speed_duty_setting:
+379e 1feffe05 mul32 pdata ,5 ,pdata 
+379f 1fe0fe32 add pdata ,50 ,pdata 
+37a0 20600000 rtn 
+
+car_motor_speed_duty_transform:
+37a1 d8402ee0 arg 12000 ,temp 
+37a2 984ffe00 imul32 temp ,pdata 
+37a3 1fe6fc64 div pdata ,100 
+37a4 20407f86 call wait_div_end 
+37a5 18078400 quotient temp 
+37a6 18422200 copy temp ,rega 
+37a7 58002ee0 setarg 12000 
+37a8 98462400 isub temp ,regb 
+37a9 20600000 rtn 
+
+car_ir_init:
+37aa 68108082 hfetch 1 ,core_gpio_sel2 
+37ab 79207e02 set1 2 ,pdata 
+37ac 60108082 hstore 1 ,core_gpio_sel2 
+37ad 5800009e setarg 158 
+37ae 60110068 hstore 2 ,core_pwm_pcnt4 
+37af 6011006a hstore 2 ,core_pwm_ncnt4 
+37b0 20600000 rtn 
+
+car_ir_data_rx_from_app:
+37b1 6800c7f0 fetch 1 ,mem_car_24g_go_die_flag 
+37b2 247a0000 nrtn blank 
+37b3 68014752 fetch 2 ,mem_le_receive_payload 
+37b4 60014787 store 2 ,mem_ir_data 
+37b5 6800c7ea fetch 1 ,mem_car_24g_status 
+37b6 c080b7b9 bne work_paired ,car_ir_data_tx 
+37b7 680144a0 fetch 2 ,mem_le_lap 
+37b8 60014787 store 2 ,mem_ir_data 
+
+car_ir_data_tx:
+37b9 44e9c01a bpatch patch1a_3 ,mem_patch1a 
+37ba 204037aa call car_ir_init 
+37bb 204037dc call car_ir_enable 
+37bc 5800bb80 setarg 48000 
+37bd 20402a8f call sleep 
+37be 204037e0 call car_ir_disable 
+37bf 58001c20 setarg 7200 
+37c0 20402a8f call sleep 
+37c1 df200010 arg 16 ,loopcnt 
+
+car_ir_send_loop:
+37c2 204037dc call car_ir_enable 
+37c3 68014787 fetch 2 ,mem_ir_data 
+37c4 c28037c9 bbit1 0 ,car_ir_is_bit1 
+37c5 58001c20 setarg 7200 
+37c6 20402a8f call sleep 
+37c7 204037e0 call car_ir_disable 
+37c8 202037cc branch car_ir_wait_finish 
+
+car_ir_is_bit1:
+37c9 58003840 setarg 14400 
+37ca 20402a8f call sleep 
+37cb 204037e0 call car_ir_disable 
+
+car_ir_wait_finish:
+37cc 58001c20 setarg 7200 
+37cd 20402a8f call sleep 
+37ce 68014787 fetch 2 ,mem_ir_data 
+37cf 1fe37e00 rshift pdata ,pdata 
+37d0 60014787 store 2 ,mem_ir_data 
+37d1 c20037c2 loop car_ir_send_loop 
+37d2 7047f102 jam 2 ,mem_car_attack_shake_timer 
+37d3 7047f201 jam 1 ,mem_car_attack_shake_flag 
+37d4 58000a01 setarg 0x0a01 
+37d5 60014752 store 2 ,mem_le_receive_payload 
+37d6 6800c7b9 fetch 1 ,mem_car_config_device_select 
+37d7 c001b7d9 beq device_battle_tank ,car_attack_shake_back_battle_tank 
+
+car_attack_shake_back_battle_car:
+37d8 20203762 branch car_motor_control 
+
+car_attack_shake_back_battle_tank:
+37d9 58000a01 setarg 0x0a01 
+37da 60014754 store 2 ,mem_le_receive_payload + 2 
+37db 20203762 branch car_motor_control 
+
+car_ir_enable:
+37dc 68108085 hfetch 1 ,core_gpio_key2 
+37dd 1fe1fe40 or_into 0x40 ,pdata 
+37de 60108085 hstore 1 ,core_gpio_key2 
+37df 20600000 rtn 
+
+car_ir_disable:
+37e0 68108085 hfetch 1 ,core_gpio_key2 
+37e1 1fe17ebf and_into 0xbf ,pdata 
+37e2 60108085 hstore 1 ,core_gpio_key2 
+37e3 20600000 rtn 
+
+car_ir_rx_init:
+37e4 6800c7bb fetch 1 ,mem_car_config_ir_enable 
+37e5 c1000000 rtneq 0x00 
+37e6 20402c65 call lpm_disable_exen_output 
+37e7 6808c7bc fetcht 1 ,mem_car_config_ir_rx_gpio 
+37e8 6008c786 storet 1 ,mem_ir_rx_gpio 
+37e9 204067fb call gpio_config_input 
+37ea 20403847 call car_ir_gpio_get_status 
+37eb 24608000 nrtn true 
+37ec 70479a01 jam 1 ,mem_car_ir_breakdown_check_timer 
+37ed 20600000 rtn 
+
+car_ir_receive_process:
+37ee 6800c7bb fetch 1 ,mem_car_config_ir_enable 
+37ef c1000000 rtneq flag_ir_disable 
+37f0 6800c79b fetch 1 ,mem_car_ir_breakdown_flag 
+37f1 247a0000 nrtn blank 
+37f2 68014682 fetch 2 ,mem_ui_state_map 
+37f3 c284b7f6 bbit1 ui_state_ble_connected ,car_ir_receive_process_next 
+37f4 6800c7ea fetch 1 ,mem_car_24g_status 
+37f5 c1808000 rtnne work_paired 
+
+car_ir_receive_process_next:
+37f6 44ea401a bpatch patch1a_4 ,mem_patch1a 
+37f7 20403847 call car_ir_gpio_get_status 
+37f8 24608000 nrtn true 
+37f9 58008ca0 setarg 36000 
+37fa 20402a8f call sleep 
+37fb 20403847 call car_ir_gpio_get_status 
+37fc 24608000 nrtn true 
+37fd 2040383f call car_ir_clk_get 
+
+car_ir_packet_head_wait_end:
+37fe 20403842 call car_ir_clk_check 
+37ff 24610000 nrtn positive 
+3800 20403847 call car_ir_gpio_get_status 
+3801 2020b7fe branch car_ir_packet_head_wait_end ,true 
+3802 da200000 arg 0 ,rega 
+3803 df200010 arg 16 ,loopcnt 
+3804 2040383f call car_ir_clk_get 
+
+car_ir_receive_process_loop:
+3805 20403842 call car_ir_clk_check 
+3806 24610000 nrtn positive 
+3807 20403847 call car_ir_gpio_get_status 
+3808 2420b805 nbranch car_ir_receive_process_loop ,true 
+3809 58002a30 setarg 10800 
+380a 20402a8f call sleep 
+380b 20403847 call car_ir_gpio_get_status 
+380c 2020b812 branch car_ir_get_bit1 ,true 
+
+car_ir_get_bit0:
+380d 58000000 setarg 0 
+380e 1a232200 rshift rega ,rega 
+380f 9a21a200 ior rega ,rega 
+3810 c2003805 loop car_ir_receive_process_loop 
+3811 2020381b branch car_ir_receive_process_end 
+
+car_ir_get_bit1:
+3812 58008000 setarg 0x8000 
+3813 1a232200 rshift rega ,rega 
+3814 9a21a200 ior rega ,rega 
+3815 2040383f call car_ir_clk_get 
+
+car_ir_get_bit1_wait_low_end:
+3816 20403842 call car_ir_clk_check 
+3817 24610000 nrtn positive 
+3818 20403847 call car_ir_gpio_get_status 
+3819 2020b816 branch car_ir_get_bit1_wait_low_end ,true 
+381a c2003805 loop car_ir_receive_process_loop 
+
+car_ir_receive_process_end:
+381b 44eac01a bpatch patch1a_5 ,mem_patch1a 
+381c 1a227e00 copy rega ,pdata 
+381d 60014789 store 2 ,mem_ir_rx_buf 
+381e 60014797 store 2 ,mem_ir_notify_data + 8 
+381f 6800c7ea fetch 1 ,mem_car_24g_status 
+3820 c000b827 beq work_paired ,car_ir_24g_receive_attack 
+
+car_ir_data_notify:
+3821 df200007 arg 0x07 ,loopcnt 
+3822 d8c04792 arg mem_ir_notify_data_head ,contr 
+3823 204036f0 call calc_check_sum_start 
+3824 6000c799 store 1 ,mem_ir_notify_data_check_sum 
+3825 da20478f arg mem_ir_notify_data ,rega 
+3826 20207e3d branch queue_push 
+
+car_ir_24g_receive_attack:
+3827 6800c7ef fetch 1 ,mem_car_24g_ir_receive_attack_count 
+3828 1fe0fe01 increase 1 ,pdata 
+3829 6000c7ef store 1 ,mem_car_24g_ir_receive_attack_count 
+382a 1fe6fc02 div pdata ,2 
+382b 20407f86 call wait_div_end 
+382c 18078400 quotient temp 
+382d 18077e00 remainder pdata 
+382e 243a3838 nbranch car_ir_24g_receive_attack_blink ,blank 
+
+car_ir_24g_receive_attack_off:
+382f 6800c7bf fetch 1 ,mem_car_config_led_num 
+3830 98467c00 isub temp ,null 
+3831 2042b83d call car_ir_24g_go_die ,zero 
+3832 dfe0479c arg mem_car_led_control ,pdata 
+3833 184085ff increase -1 ,temp 
+3834 9840a200 iadd temp ,rega 
+3835 dfe00000 arg 0 ,pdata 
+3836 e2208000 istore 1 ,rega 
+3837 20600000 rtn 
+
+car_ir_24g_receive_attack_blink:
+3838 dfe0479c arg mem_car_led_control ,pdata 
+3839 9840a200 iadd temp ,rega 
+383a dfe00002 arg 2 ,pdata 
+383b e2208000 istore 1 ,rega 
+383c 20600000 rtn 
+
+car_ir_24g_go_die:
+383d 7047f001 jam 1 ,mem_car_24g_go_die_flag 
+383e 20600000 rtn 
+
+car_ir_clk_get:
+383f 1c427e00 copy clkn_bt ,pdata 
+3840 6002478b store 4 ,mem_ir_receive_clkn 
+3841 20600000 rtn 
+
+car_ir_clk_check:
+3842 1c427e00 copy clkn_bt ,pdata 
+3843 680a478b fetcht 4 ,mem_ir_receive_clkn 
+3844 98467e00 isub temp ,pdata 
+3845 1fe67cc8 sub pdata ,200 ,null 
+3846 20600000 rtn 
+
+car_ir_gpio_get_status:
+3847 6808c786 fetcht 1 ,mem_ir_rx_gpio 
+3848 2020681d branch gpio_get_bit 
+
+car_led_control_receive:
+3849 68044752 fetch 8 ,mem_le_receive_payload 
+384a 6004479c store 8 ,mem_car_led_control 
+384b 20600000 rtn 
+
+car_info_request:
+384c 6800c7b9 fetch 1 ,mem_car_config_device_select 
+384d 6000c7af store 1 ,mem_car_info_request_payload 
+384e 6800c7ba fetch 1 ,mem_car_config_motor_layout 
+384f 6000c7b0 store 1 ,mem_car_info_request_payload + 1 
+3850 6800c7bb fetch 1 ,mem_car_config_ir_enable 
+3851 6000c7b1 store 1 ,mem_car_info_request_payload + 2 
+3852 df20000d arg 13 ,loopcnt 
+3853 d8c047aa arg mem_car_info_request_head ,contr 
+3854 204036f0 call calc_check_sum_start 
+3855 6000c7b7 store 1 ,mem_car_info_request_checksum 
+3856 da2047a7 arg mem_car_info_request ,rega 
+3857 20207e3d branch queue_push 
+
+light_init:
+3858 204065c2 call clear_eeprom_size_2k 
+3859 7046f67a jam 0x7a ,mem_curr_packet_num 
+385a 2040386d call light_load_controler_list 
+385b 20403867 call light_init_crr_cmd_count 
+385c 58003860 setarg light_pairing_timer 
+385d 600141fd store 2 ,mem_cb_event_timer 
+385e da200000 arg 0 ,rega 
+385f 202069a6 branch pwm_init 
+
+light_pairing_timer:
+3860 680146a1 fetch 2 ,mem_light_pairing_timer 
+3861 207a0000 rtn blank 
+3862 1fe0ffff increase -1 ,pdata 
+3863 600146a1 store 2 ,mem_light_pairing_timer 
+3864 c1800000 rtnne 0 
+3865 7046a000 jam 0 ,mem_light_pairing_enable 
+3866 20600000 rtn 
+
+light_init_crr_cmd_count:
+3867 44eb401a bpatch patch1a_6 ,mem_patch1a 
+3868 6800c6a4 fetch 1 ,mem_light_next_record 
+3869 1fe67c28 sub pdata ,40 ,null 
+386a 20610000 rtn positive 
+386b 7046a400 jam 0 ,mem_light_next_record 
+386c 20600000 rtn 
+
+light_load_controler_list:
+386d da2046a4 arg mem_light_next_record ,rega 
+386e da400000 arg 0 ,regb 
+386f d8400051 arg 81 ,temp 
+3870 202065df branch iicd_read_eep_data 
+
+light_find_controler_pairing:
+3871 78547c00 disable user 
+3872 6800c6a3 fetch 1 ,mem_light_cnum 
+3873 1fe27200 copy pdata ,loopcnt 
+3874 da2046a5 arg mem_light_clist ,rega 
+3875 1a622400 copy regc ,regb 
+
+light_find_controler_pairing_loop:
+3876 44ebc01a bpatch patch1a_7 ,mem_patch1a 
+3877 2040387c call light_compare_addr_record 
+3878 2022ffe7 branch enable_user ,zero 
+
+light_find_single_pairing_diff:
+3879 1a20a204 increase 4 ,rega 
+387a c2003876 loop light_find_controler_pairing_loop 
+387b 20600000 rtn 
+
+light_compare_addr_record:
+387c 44ec401b bpatch patch1b_0 ,mem_patch1b 
+387d ea218000 ifetch 3 ,rega 
+387e ea498000 ifetcht 3 ,regb 
+387f 98467c00 isub temp ,null 
+3880 20600000 rtn 
+
+light_compare_single_record:
+3881 44ecc01b bpatch patch1b_1 ,mem_patch1b 
+3882 ea218000 ifetch 3 ,rega 
+3883 ea498000 ifetcht 3 ,regb 
+3884 98467c00 isub temp ,null 
+3885 24628000 nrtn zero 
+3886 e8c08000 ifetch 1 ,contr 
+3887 1fe67c00 sub pdata ,0 ,null 
+3888 20628000 rtn zero 
+3889 1a208c03 add rega ,3 ,contr 
+388a e8c88000 ifetcht 1 ,contr 
+388b 98467c00 isub temp ,null 
+388c 20600000 rtn 
+
+light_find_controler_cmd:
+388d 44ed401b bpatch patch1b_2 ,mem_patch1b 
+388e 78547c00 disable user 
+388f 6800c6a3 fetch 1 ,mem_light_cnum 
+3890 1fe27200 copy pdata ,loopcnt 
+3891 da2046a5 arg mem_light_clist ,rega 
+3892 1a622400 copy regc ,regb 
+
+light_find_controler_cmd_loop:
+3893 20403881 call light_compare_single_record 
+3894 2022ffe7 branch enable_user ,zero 
+3895 1a20a204 increase 4 ,rega 
+3896 c2003893 loop light_find_controler_cmd_loop 
+3897 20600000 rtn 
+
+light_recv_adv:
+3898 68008004 fetch 1 ,mem_le_scanrsp_rcv 
+3899 1fe0fe01 increase 1 ,pdata 
+389a 60008004 store 1 ,mem_le_scanrsp_rcv 
+389b da6002e5 arg mem_le_rxbuf + 12 ,regc 
+
+light_anylize_command:
+389c ea610000 ifetch 2 ,regc 
+389d d84055aa arg 0x55aa ,temp 
+389e 98467c00 isub temp ,null 
+389f 24628000 nrtn zero 
+38a0 18c22600 copy contr ,regc 
+38a1 ea698000 ifetcht 3 ,regc 
+38a2 58ffffff setarg 0xffffff 
+38a3 98467c00 isub temp ,null 
+38a4 2022b8a8 branch light_parse_cmd ,zero 
+38a5 2040388d call light_find_controler_cmd 
+38a6 203438a8 branch light_parse_cmd ,user 
+38a7 20600000 rtn 
+
+light_parse_cmd:
+38a8 44edc01b bpatch patch1b_3 ,mem_patch1b 
+38a9 1a60a604 increase 4 ,regc 
+38aa ea608000 ifetch 1 ,regc 
+38ab 6808c6f6 fetcht 1 ,mem_curr_packet_num 
+38ac 98467c00 isub temp ,null 
+38ad 20628000 rtn zero 
+38ae 6000c6f6 store 1 ,mem_curr_packet_num 
+38af 68008003 fetch 1 ,mem_le_req_rcv 
+38b0 1fe0fe01 increase 1 ,pdata 
+38b1 60008003 store 1 ,mem_le_req_rcv 
+38b2 1a60a601 increase 1 ,regc 
+38b3 ea608000 ifetch 1 ,regc 
+38b4 6000c6f5 store 1 ,mem_light_crr_cmd_count 
+38b5 1fe27200 copy pdata ,loopcnt 
+38b6 207a0000 rtn blank 
+
+light_parse_cmd_loop:
+38b7 e8c08000 ifetch 1 ,contr 
+38b8 c00038c2 beq light_cmd_pwm0 ,light_parse_cmd_pwm0 
+38b9 c000b8cf beq light_cmd_pwm1 ,light_parse_cmd_pwm1 
+38ba c00138d4 beq light_cmd_pwm2 ,light_parse_cmd_pwm2 
+38bb c001b8d9 beq light_cmd_pwm3 ,light_parse_cmd_pwm3 
+38bc c00238de beq light_cmd_pwm4 ,light_parse_cmd_pwm4 
+38bd c002b8e3 beq light_cmd_pwm5 ,light_parse_cmd_pwm5 
+38be c00338e8 beq light_cmd_auto_mode ,light_parse_auto_mode 
+38bf c07fb8ea beq light_cmd_pairing ,light_parse_pairing 
+38c0 c20038b7 loop light_parse_cmd_loop 
+38c1 20600000 rtn 
+
+light_parse_cmd_pwm0:
+38c2 18c22600 copy contr ,regc 
+38c3 6800c69a fetch 1 ,mem_light_pwm0 
+38c4 60008a9a store 1 ,mem_pdatatemp 
+38c5 d8400000 arg 0 ,temp 
+
+light_parse_cmd_pwm_common:
+38c6 60088a9b storet 1 ,mem_pdatatemp + 1 
+38c7 58002710 setarg 10000 
+38c8 60018a9c store 3 ,mem_pdatatemp + 2 
+38c9 ea608000 ifetch 1 ,regc 
+38ca 60008a9f store 1 ,mem_pdatatemp + 5 
+38cb 204069ae call pwm_out_set 
+38cc 1a610c01 and regc ,1 ,contr 
+38cd c20038b7 loop light_parse_cmd_loop 
+38ce 20600000 rtn 
+
+light_parse_cmd_pwm1:
+38cf 1a620c00 copy regc ,contr 
+38d0 6800c69b fetch 1 ,mem_light_pwm1 
+38d1 60008a9a store 1 ,mem_pdatatemp 
+38d2 d8400001 arg 1 ,temp 
+38d3 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm2:
+38d4 1a620c00 copy regc ,contr 
+38d5 6800c69c fetch 1 ,mem_light_pwm2 
+38d6 60008a9a store 1 ,mem_pdatatemp 
+38d7 d8400002 arg 2 ,temp 
+38d8 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm3:
+38d9 1a620c00 copy regc ,contr 
+38da 6800c69d fetch 1 ,mem_light_pwm3 
+38db 60008a9a store 1 ,mem_pdatatemp 
+38dc d8400003 arg 3 ,temp 
+38dd 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm4:
+38de 1a620c00 copy regc ,contr 
+38df 6800c69e fetch 1 ,mem_light_pwm4 
+38e0 60008a9a store 1 ,mem_pdatatemp 
+38e1 d8400004 arg 4 ,temp 
+38e2 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_cmd_pwm5:
+38e3 1a620c00 copy regc ,contr 
+38e4 6800c69f fetch 1 ,mem_light_pwm5 
+38e5 60008a9a store 1 ,mem_pdatatemp 
+38e6 d8400005 arg 5 ,temp 
+38e7 202038c6 branch light_parse_cmd_pwm_common 
+
+light_parse_auto_mode:
+38e8 e8c08000 ifetch 1 ,contr 
+38e9 20600000 rtn 
+
+light_parse_pairing:
+38ea 18c22600 copy contr ,regc 
+38eb 6800c6a0 fetch 1 ,mem_light_pairing_enable 
+38ec c080b8ee bne 1 ,light_parse_pairing_abandon 
+38ed 204038f0 call update_controler_list 
+
+light_parse_pairing_abandon:
+38ee 1a610c04 and regc ,4 ,contr 
+38ef 20600000 rtn 
+
+update_controler_list:
+38f0 44ee401b bpatch patch1b_4 ,mem_patch1b 
+38f1 20403871 call light_find_controler_pairing 
+38f2 203438fe branch update_conrtoler_list_found ,user 
+38f3 6800c6a4 fetch 1 ,mem_light_next_record 
+38f4 1fe20400 copy pdata ,temp 
+38f5 1fe0fe01 increase 1 ,pdata 
+38f6 6000c6a4 store 1 ,mem_light_next_record 
+38f7 20403867 call light_init_crr_cmd_count 
+38f8 184b8400 lshift2 temp ,temp 
+38f9 580046a5 setarg mem_light_clist 
+38fa 98408a00 iadd temp ,contw 
+38fb ea620000 ifetch 4 ,regc 
+38fc e0a20000 istore 4 ,contw 
+38fd 20203903 branch update_conrtoler_store_list 
+
+update_conrtoler_list_found:
+38fe 1a608c03 add regc ,3 ,contr 
+38ff e8c08000 ifetch 1 ,contr 
+3900 207a0000 rtn blank 
+3901 ea620000 ifetch 4 ,regc 
+3902 e2220000 istore 4 ,rega 
+
+update_conrtoler_store_list:
+3903 da2046a4 arg mem_light_next_record ,rega 
+3904 da400000 arg 0 ,regb 
+3905 d8400051 arg 81 ,temp 
+3906 20206606 branch iicd_write_eep_data 
+
+lightc_init:
+3907 6808c69a fetcht 1 ,mem_lightc_led_gpio 
+3908 20406825 call gpio_out_inactive 
+3909 20600000 rtn 
+
+lightc_dispatch:
+390a 6808c69a fetcht 1 ,mem_lightc_led_gpio 
+390b 20406829 call gpio_out_active 
+390c 6808c69a fetcht 1 ,mem_lightc_led_gpio 
+390d 20406825 call gpio_out_inactive 
+390e 2040391d call lightc_start_adv 
+390f 6800c6a7 fetch 1 ,mem_adv_time 
+3910 247a0000 nrtn blank 
+3911 20402c29 call lpm_write_gpio_wakeup 
+3912 68120138 hfetch 4 ,core_lpm_ctrl 
+3913 793ffe0f set0 15 ,pdata 
+3914 6012004c hstore 4 ,core_lpm_reg 
+3915 20402c21 call lpm_write_ctrl 
+3916 d85fffff arg param_hibernate_clks ,temp 
+3917 20202b2a branch lpm_sleep 
+
+lightc_adv:
+3918 6800c6a7 fetch 1 ,mem_adv_time 
+3919 203a56f9 branch le_adv_loop_tx ,blank 
+391a 1fe0ffff increase -1 ,pdata 
+391b 6000c6a7 store 1 ,mem_adv_time 
+391c 202056f9 branch le_adv_loop_tx 
+
+lightc_start_adv:
+391d 1feffe14 mul32 pdata ,20 ,pdata 
+391e d8c046a8 arg mem_cmd0_string ,contr 
+391f 98c08c00 iadd contr ,contr 
+3920 e8c08000 ifetch 1 ,contr 
+3921 207a0000 rtn blank 
+3922 1fe22200 copy pdata ,rega 
+3923 1a227200 copy rega ,loopcnt 
+3924 d8a04372 arg mem_le_adv_data + 2 ,contw 
+3925 20407f01 call memcpy 
+3926 1a227e00 copy rega ,pdata 
+3927 1fe0fe02 increase 2 ,pdata 
+3928 6000c36f store 1 ,mem_le_adv_data_len 
+3929 20600000 rtn 
+
+module_init:
+392a 20758000 rtn wake 
+392b 204057a3 call le_modified_name 
+392c 204068a8 call adc_init_data 
+392d 58003982 setarg module_process_idle 
+392e 600141f3 store 2 ,mem_cb_idle_process 
+392f 5800396e setarg module_bt_conn_process 
+3930 600141f1 store 2 ,mem_cb_bt_process 
+3931 58003986 setarg module_process_bb_event 
+3932 600141f5 store 2 ,mem_cb_bb_event_process 
+3933 5800396d setarg module_le_conn_process 
+3934 600141ef store 2 ,mem_cb_le_process 
+3935 58003969 setarg module_lpm_lock 
+3936 600141e9 store 2 ,mem_cb_check_wakelock 
+3937 58003ab7 setarg module_hci_cmd_transmit_le_notify 
+3938 600141fb store 2 ,mem_cb_ble_transmit 
+3939 58003c32 setarg module_hci_event_receive_spp_data 
+393a 6001456f store 2 ,mem_cb_receive_spp_data 
+393b 58003cc2 setarg module_le_receive_data 
+393c 600141f9 store 2 ,mem_cb_att_write 
+393d 58003cd7 setarg module_bb_event_timer 
+393e 600141fd store 2 ,mem_cb_event_timer 
+393f 2040397f call module_spp_clear_last_transmite_clock 
+3940 44eec01b bpatch patch1b_5 ,mem_patch1b 
+3941 20403945 call module_lpm_uart_init 
+3942 20403964 call module_gpio_init 
+3943 20402c6f call check_module_disabled 
+3944 20203c48 branch module_hci_event_enter_standby_mode 
+
+module_lpm_uart_init:
+3945 680246aa fetch 4 ,mem_module_uart_rx_buffer 
+3946 60120054 hstore 4 ,core_uart_rsaddr 
+3947 680246ae fetch 4 ,mem_module_uart_tx_buffer 
+3948 6012005a hstore 4 ,core_uart_tsaddr 
+3949 68108081 hfetch 1 ,core_gpio_sel1 
+394a 1fe1fe04 or_into 0x04 ,pdata 
+394b 1fe17efc and_into 0xfc ,pdata 
+394c 60108081 hstore 1 ,core_gpio_sel1 
+394d 70806200 jam 0x00 ,core_uart_ctrl 
+394e 680146aa fetch 2 ,mem_module_uart_rx_buffer 
+394f 60110058 hstore 2 ,core_uart_rrptr 
+3950 680146ae fetch 2 ,mem_module_uart_tx_buffer 
+3951 6011005e hstore 2 ,core_uart_twptr 
+3952 60110060 hstore 2 ,core_uart_trptrp 
+3953 68120078 hfetch 4 ,core_gpio_pu0 
+3954 79207e07 set1 7 ,pdata 
+3955 60120078 hstore 4 ,core_gpio_pu0 
+3956 68110050 hfetch 2 ,core_clkoff 
+3957 793ffe0f set0 clock_off_uart ,pdata 
+3958 60110050 hstore 2 ,core_clkoff 
+3959 204066ce call uart_set_baud_by_mem 
+395a 70804300 jam uartclk_crystal ,core_uart_clksel 
+395b 70806281 jam uart_ctrl_h4 ,core_uart_ctrl 
+395c 6800c6bf fetch 1 ,mem_module_flag 
+395d 2feffe00 isolate1 module_flag_uart_flow_control ,pdata 
+395e 68188062 hfetcht 1 ,core_uart_ctrl 
+395f 79208404 setflag true ,4 ,temp 
+3960 60188062 hstoret 1 ,core_uart_ctrl 
+3961 20600000 rtn 
+
+module_lpm_init:
+3962 2040397f call module_spp_clear_last_transmite_clock 
+3963 20203945 branch module_lpm_uart_init 
+
+module_gpio_init:
+3964 6808c69e fetcht 1 ,mem_module_connect_state_gpio 
+3965 2040680e call gpio_config_output 
+3966 204039e6 call module_set_conn_pin_low 
+3967 6808c69c fetcht 1 ,mem_module_wake_up_gpio 
+3968 202067fb branch gpio_config_input 
+
+module_lpm_lock:
+3969 6808c69c fetcht 1 ,mem_module_wake_up_gpio 
+396a 2040681d call gpio_get_bit 
+396b 2420b3d2 nbranch app_put_lpm_wake_lock ,true 
+396c 202033d0 branch app_get_lpm_wake_lock 
+
+module_le_conn_process:
+396d 20600000 rtn 
+
+module_bt_conn_process:
+396e 20403970 call module_spp_enter_sniff 
+396f 20203ce9 branch module_control_air_flow 
+
+module_spp_enter_sniff:
+3970 6800c682 fetch 1 ,mem_ui_state_map 
+3971 c302397f bbit0 ui_state_bt_spp_conn ,module_spp_clear_last_transmite_clock 
+3972 44ef401b bpatch patch1b_6 ,mem_patch1b 
+3973 58003eff setarg 0x3eff 
+3974 680a46c5 fetcht 4 ,mem_last_transmite_clock 
+3975 98408400 iadd temp ,temp 
+3976 1c427e00 copy clkn_bt ,pdata 
+3977 98467c00 isub temp ,null 
+3978 24610000 nrtn positive 
+3979 68014682 fetch 2 ,mem_ui_state_map 
+397a c282b97f bbit1 ui_state_bt_sniff ,module_spp_clear_last_transmite_clock 
+397b 6800c6bf fetch 1 ,mem_module_flag 
+397c c3830000 rtnbit1 moudle_task_sniff 
+397d 20403cec call module_set_sniff_task_flag 
+397e 2040340e call app_bt_enter_sniff 
+
+module_spp_clear_last_transmite_clock:
+397f 1c427e00 copy clkn_bt ,pdata 
+3980 600246c5 store 4 ,mem_last_transmite_clock 
+3981 20600000 rtn 
+
+module_process_idle:
+3982 20403ce9 call module_control_air_flow 
+3983 2040526e call l2cap_malloc_is_fifo_full 
+3984 247a0000 nrtn blank 
+3985 202039eb branch module_process 
+
+module_process_bb_event:
+3986 1a627e00 copy regc ,pdata 
+3987 c000b9d4 beq bt_evt_bb_connected ,module_process_bb_conn 
+3988 c00139a3 beq bt_evt_bb_disconnected ,module_process_bb_event_disconned 
+3989 c00239d7 beq bt_evt_reconn_failed ,module_process_reconn_fail 
+398a c002b9c4 beq bt_evt_setup_complete ,module_process_setup_complete 
+398b c00439aa beq bt_evt_spp_connected ,module_process_spp_connected 
+398c c004b9b1 beq bt_evt_spp_disconnected ,module_process_spp_disconnected 
+398d c00539c9 beq bt_evt_pincode_req ,module_process_evt_pincode_req 
+398e c005b9b6 beq bt_evt_enter_sniff ,module_process_enter_sniff 
+398f c00639c2 beq bt_evt_exit_sniff ,module_process_exit_sniff 
+3990 c009b9d7 beq bt_evt_reconn_page_timeout ,module_process_page_time_out 
+3991 c00a39cf beq bt_evt_le_connected ,module_process_le_conn 
+3992 c00ab9c6 beq bt_evt_le_disconnected ,module_process_bb_even_le_disconn 
+3993 c010b9ca beq bt_evt_sniff_not_accept ,module_process_sniff_not_accept 
+3994 c011b9cb beq bt_evt_unsniff_accept ,module_process_unsniff_accept 
+3995 c01239ce beq bt_evt_unsniff_not_accept ,module_process_unsniff_not_accept 
+3996 c0183c8a beq bt_evt_le_pairing_fail ,module_hci_event_le_pairing_fail 
+3997 c018bc8c beq bt_evt_le_pairing_success ,module_hci_event_le_pairing_success 
+3998 c0193c9a beq bt_evt_le_start_enc ,module_hci_event_start_enc 
+3999 c019bc98 beq bt_evt_le_pause_enc ,module_hci_event_pause_enc 
+399a c01a3c84 beq bt_evt_le_tk_generate ,module_hci_event_le_tk 
+399b c01abc73 beq bt_evt_bt_gkey_generate ,module_hci_event_gkey_generate 
+399c c01b3c82 beq bt_evt_bt_get_passkey ,module_hci_event_passkey_entry_mode 
+399d c01bbc8e beq bt_evt_bt_pairing_fail ,module_hci_event_bt_pairing_fail 
+399e c01c3c90 beq bt_evt_bt_pairing_success ,module_hci_event_bt_pairing_success 
+399f c01dbca1 beq bt_evt_le_gkey_generate ,module_hci_event_le_gkey 
+39a0 c01ebc6a beq bt_evt_store_nvram ,module_hci_event_store_device 
+39a1 c020b9d9 beq bt_evt_le_ltk_lost ,module_process_ble_ltk_lost 
+39a2 20600000 rtn 
+
+module_process_bb_event_disconned:
+39a3 2040397f call module_spp_clear_last_transmite_clock 
+39a4 6800c665 fetch 1 ,mem_flag_pairing_state 
+39a5 245a3c8e ncall module_hci_event_bt_pairing_fail ,blank 
+39a6 204039d7 call module_disconn_start 
+39a7 68014682 fetch 2 ,mem_ui_state_map 
+39a8 c4020000 rtnbit0 ui_state_bt_spp_conn 
+39a9 202039b1 branch module_spp_disconnected 
+
+module_process_spp_connected:
+39aa 68014682 fetch 2 ,mem_ui_state_map 
+39ab 79207e04 set1 ui_state_bt_spp_conn ,pdata 
+39ac 60014682 store 2 ,mem_ui_state_map 
+39ad 6800c6a7 fetch 1 ,mem_module_spp_lpm_mult 
+39ae 6000c172 store 1 ,mem_lpm_mult 
+39af 204039e6 call module_set_conn_pin_low 
+39b0 20203c1d branch module_hci_event_spp_connect 
+
+module_process_spp_disconnected:
+
+module_spp_disconnected:
+39b1 68014682 fetch 2 ,mem_ui_state_map 
+39b2 c4020000 rtnbit0 ui_state_bt_spp_conn 
+39b3 793ffe04 set0 ui_state_bt_spp_conn ,pdata 
+39b4 60014682 store 2 ,mem_ui_state_map 
+39b5 20203c21 branch module_hci_event_spp_disconnect 
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+39b6 2040397f call module_spp_clear_last_transmite_clock 
+39b7 68014042 fetch 2 ,mem_context + coffset_tsniff 
+39b8 1fe37e00 rshift pdata ,pdata 
+39b9 680941e3 fetcht 2 ,mem_sniff_param_interval 
+39ba 98467c00 isub temp ,null 
+39bb 2422b9bd nbranch module_sniff_param_check_unsniff ,zero 
+39bc 20203416 branch app_lpm_mult_enable 
+
+module_sniff_param_check_unsniff:
+39bd 6800c6bf fetch 1 ,mem_module_flag 
+39be c3828000 rtnbit1 moudle_task_unsniff 
+39bf 68110112 hfetch 2 ,core_uart_rxitems 
+39c0 245a3cf0 ncall module_set_unsniff_task_flag ,blank 
+39c1 2020340c branch app_bt_sniff_exit 
+
+module_process_exit_sniff:
+39c2 20403cee call module_clear_sniff_task_flag 
+39c3 20203418 branch app_lpm_mult_disable 
+
+module_process_setup_complete:
+39c4 2040397f call module_spp_clear_last_transmite_clock 
+39c5 202039dd branch module_conn_start 
+
+module_process_bb_even_le_disconn:
+39c6 20405816 call le_clr_config_more_data 
+39c7 204039d7 call module_disconn_start 
+39c8 20203c23 branch module_hci_event_le_disconnect 
+
+module_process_evt_pincode_req:
+39c9 202033dd branch app_bt_set_pincode 
+
+module_process_sniff_not_accept:
+39ca 20203cee branch module_clear_sniff_task_flag 
+
+module_process_unsniff_accept:
+39cb 6800c6bf fetch 1 ,mem_module_flag 
+39cc c302b40e bbit0 moudle_task_unsniff ,app_bt_enter_sniff 
+39cd 20203cf2 branch module_clear_unsniff_task_flag 
+
+module_process_unsniff_not_accept:
+39ce 20203cf2 branch module_clear_unsniff_task_flag 
+
+module_process_le_conn:
+39cf 204058ba call le_send_att_exchange_mtu_requset 
+39d0 204039dd call module_conn_start 
+39d1 6800c6a8 fetch 1 ,mem_module_le_lpm_mult 
+39d2 6000c172 store 1 ,mem_lpm_mult 
+39d3 20203c1f branch module_hci_event_le_connect 
+
+module_process_bb_conn:
+39d4 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+39d5 20403cee call module_clear_sniff_task_flag 
+39d6 20203cf2 branch module_clear_unsniff_task_flag 
+
+module_process_page_time_out:
+
+module_process_reconn_fail:
+
+module_disconn_start:
+39d7 20403a52 call module_start_adv_discovery_by_command 
+39d8 202039db branch module_set_conn_pin_high 
+
+module_process_ble_ltk_lost:
+39d9 20405cc9 call le_send_reject_ind 
+39da 20205b02 branch le_send_smp_security_request 
+
+module_set_conn_pin_high:
+39db 6808c69e fetcht 1 ,mem_module_connect_state_gpio 
+39dc 20206829 branch gpio_out_active 
+
+module_conn_start:
+39dd 204039df call module_stop_adv_discovery 
+39de 202039e6 branch module_set_conn_pin_low 
+
+module_stop_adv_discovery:
+39df 6800c6a1 fetch 1 ,mem_module_state 
+39e0 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+39e1 2040b3f0 call app_bt_stop_discovery ,true 
+39e2 6800c6a1 fetch 1 ,mem_module_state 
+39e3 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+39e4 2040b3f8 call app_ble_stop_adv ,true 
+39e5 20600000 rtn 
+
+module_set_conn_pin_low:
+39e6 6808c69e fetcht 1 ,mem_module_connect_state_gpio 
+39e7 20206825 branch gpio_out_inactive 
+
+module_process_with_credit:
+39e8 6800c56b fetch 1 ,mem_credit_flag 
+39e9 c1000000 rtneq credit_disable 
+39ea 20206c28 branch rfcomm_send_uih_without_payload 
+
+module_process:
+39eb 6810810c hfetch 1 ,core_uart_status 
+39ec c281b9e8 bbit1 uart_status_rx_fifo_empty ,module_process_with_credit 
+39ed 204066cb call uartd_prepare_rx 
+39ee e8608000 ifetch 1 ,contru 
+39ef c080ba01 bne 0x01 ,module_hci_in_excp 
+39f0 68110112 hfetch 2 ,core_uart_rxitems 
+39f1 1fe67c02 sub pdata ,2 ,null 
+39f2 20610000 rtn positive 
+39f3 e8608000 ifetch 1 ,contru 
+39f4 60008b03 store 1 ,mem_module_uart_opcode 
+39f5 e8688000 ifetcht 1 ,contru 
+39f6 18622200 copy contru ,rega 
+39f7 60088b04 storet 1 ,mem_module_uart_len 
+39f8 18408403 add temp ,3 ,temp 
+39f9 68110112 hfetch 2 ,core_uart_rxitems 
+39fa 98460400 isub temp ,temp 
+39fb 24610000 nrtn positive 
+39fc 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+39fd 20403a17 call module_hci_cmd_control 
+39fe 68008b05 fetch 1 ,mem_module_temp_nl_discard_packet 
+39ff c1000000 rtneq hci_not_discard_packet 
+3a00 20203a12 branch module_hci_dicard_packet 
+
+module_hci_in_excp:
+3a01 20407ec1 call delay_10ms 
+3a02 20403c79 call module_hci_event_invalid_packet 
+3a03 20203a04 branch module_hci_release_except 
+
+module_hci_release_except:
+3a04 44efc01b bpatch patch1b_7 ,mem_patch1b 
+3a05 68110112 hfetch 2 ,core_uart_rxitems 
+3a06 207a0000 rtn blank 
+3a07 204066cb call uartd_prepare_rx 
+3a08 e8608000 ifetch 1 ,contru 
+3a09 1fe67c01 sub pdata ,0x01 ,null 
+3a0a 2442ba16 ncall module_hci_dicard_bytes ,zero 
+3a0b 2422ba04 nbranch module_hci_release_except ,zero 
+3a0c e8608000 ifetch 1 ,contru 
+3a0d c1028000 rtneq hci_cmd_spp_data_req 
+3a0e c1148000 rtneq hci_cmd_set_credit_given 
+3a0f 186087ff increase -1 ,contru 
+3a10 20403a16 call module_hci_dicard_bytes 
+3a11 20203a04 branch module_hci_release_except 
+
+module_hci_dicard_packet:
+3a12 204066cb call uartd_prepare_rx 
+3a13 18608602 increase 2 ,contru 
+3a14 e8608000 ifetch 1 ,contru 
+3a15 98608600 iadd contru ,contru 
+
+module_hci_dicard_bytes:
+3a16 202066c8 branch uartd_rxdone 
+
+module_hci_cmd_control:
+3a17 44f0401c bpatch patch1c_0 ,mem_patch1c 
+3a18 68008b03 fetch 1 ,mem_module_uart_opcode 
+3a19 c0003a3f beq hci_cmd_set_bt_addr_req ,module_hci_cmd_set_bt_addr 
+3a1a c000ba44 beq hci_cmd_set_le_addr_req ,module_hci_cmd_set_le_addr 
+3a1b c0013a49 beq hci_cmd_set_visibility_req ,module_hci_cmd_set_visibility 
+3a1c c001ba5f beq hci_cmd_set_bt_name_req ,module_hci_cmd_set_bt_name 
+3a1d c0023a6b beq hci_cmd_set_le_name_req ,module_hci_cmd_set_le_name 
+3a1e c002ba75 beq hci_cmd_spp_data_req ,module_hci_cmd_receive_spp_data 
+3a1f c004ba9a beq hci_cmd_le_data_req ,module_hci_cmd_receive_le_data 
+3a20 c005bad7 beq hci_cmd_status_irq ,module_hci_cmd_inquire_status 
+3a21 c0063ad8 beq hci_cmd_set_pairing_req ,module_hci_cmd_set_pairing_mode 
+3a22 c006baec beq hci_cmd_set_pincode_req ,module_hci_cmd_set_pincode 
+3a23 c0073af4 beq hci_cmd_set_uartcontrol_req ,module_hci_cmd_set_uart_control_mode 
+3a24 c007bafa beq hci_cmd_set_uart_baud_req ,module_hci_cmd_set_uart_baud 
+3a25 c0083b06 beq hci_cmd_version_req ,module_hci_cmd_version_request 
+3a26 c008bb0e beq hci_cmd_bt_disconnect ,module_hci_cmd_bt_disconnect 
+3a27 c0093b12 beq hci_cmd_ble_disconnect ,module_hci_cmd_ble_disconnect 
+3a28 c0133b16 beq hci_cmd_set_nvram_req ,module_hci_cmd_set_nvram 
+3a29 c0143b1d beq hci_cmd_confirm_gkey ,module_hci_cmd_confirm_gkey 
+3a2a c014bb2d beq hci_cmd_set_credit_given ,module_hci_cmd_set_credit_given 
+3a2b c0153b36 beq hci_cmd_auto_adv_scan ,module_hci_cmd_auto_adv 
+3a2c c015bb69 beq hci_cmd_power_req ,module_hci_cmd_power_request 
+3a2d c0163b6f beq hci_cmd_power_set ,module_hci_cmd_power_set 
+3a2e c0183b76 beq hci_cmd_passkey_entry ,module_hci_cmd_passkey_entry 
+3a2f c018bb7c beq hci_cmd_set_gpio ,module_hci_cmd_set_gpio 
+3a30 c0193b90 beq hci_cmd_read_gpio ,module_hci_cmd_read_gpio 
+3a31 c019bb98 beq hci_cmd_le_set_pairing ,module_hci_cmd_le_set_pairing_mode 
+3a32 c01a3bbb beq hci_cmd_le_set_adv_data ,module_hci_cmd_le_set_adv_data 
+3a33 c01abbc4 beq hci_cmd_le_set_scan_data ,module_hci_cmd_le_set_scan_data 
+3a34 c01b3bcd beq hci_cmd_le_send_conn_update_req ,module_hci_cmd_le_send_conn_update_req 
+3a35 c01bbbd7 beq hci_cmd_le_set_adv_parm ,module_hci_cmd_set_le_adv_parameter 
+3a36 c01c3bda beq hci_cmd_le_start_pairing ,module_hci_cmd_le_start_pairing 
+3a37 c0203be2 beq hci_cmd_set_wake_gpio ,module_hci_cmd_set_wake_gpio 
+3a38 c0213bec beq hci_cmd_set_tx_power ,module_hci_cmd_set_tx_power 
+3a39 c0243bf1 beq hci_cmd_le_confirm_gkey ,module_hci_cmd_le_confirm_gkey 
+3a3a c024bbfc beq hci_cmd_reject_justwork ,module_hci_cmd_set_reject_justwork_flag 
+3a3b c028bc02 beq hci_cmd_reset_chip_req ,module_hci_cmd_reset_chip 
+3a3c c030bc06 beq hci_cmd_le_set_fixed_passkey ,module_hci_cmd_le_set_fixed_passkey 
+3a3d c07fbc15 beq hci_test_cmd_close_lpm ,module_hci_test_cmde_close_lpm 
+3a3e 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_set_bt_addr:
+3a3f 68008b04 fetch 1 ,mem_module_uart_len 
+3a40 c0833c17 bne 6 ,module_hci_event_receive_invalid_cmd 
+3a41 e8630000 ifetch 6 ,contru 
+3a42 600340a0 store 6 ,mem_lap 
+3a43 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_addr:
+3a44 68008b04 fetch 1 ,mem_module_uart_len 
+3a45 c0833c17 bne 6 ,module_hci_event_receive_invalid_cmd 
+3a46 e8630000 ifetch 6 ,contru 
+3a47 600344a0 store 6 ,mem_le_lap 
+3a48 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_visibility:
+3a49 68008b04 fetch 1 ,mem_module_uart_len 
+3a4a c080bc17 bne 1 ,module_hci_event_receive_invalid_cmd 
+3a4b 1a220600 copy rega ,contru 
+3a4c 20403c1a call module_hci_event_receive_valid_cmd 
+3a4d e8688000 ifetcht 1 ,contru 
+3a4e 6008c6a9 storet 1 ,mem_module_bluetooth_stauts_by_command 
+3a4f 68014682 fetch 2 ,mem_ui_state_map 
+3a50 c3848000 rtnbit1 ui_state_ble_connected 
+3a51 c3800000 rtnbit1 ui_state_bt_connected 
+
+module_start_adv_discovery_by_command:
+3a52 6800c6a1 fetch 1 ,mem_module_state 
+3a53 2feffe00 isolate1 moudle_state_bt_bit ,pdata 
+3a54 2420ba58 nbranch moudle_start_adv_by_command ,true 
+3a55 6808c6a9 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+3a56 18417e03 and temp ,0x03 ,pdata 
+3a57 6000c093 store 1 ,mem_scan_mode 
+
+moudle_start_adv_by_command:
+3a58 6800c6a1 fetch 1 ,mem_module_state 
+3a59 2feffe01 isolate1 moudle_state_ble_bit ,pdata 
+3a5a 24608000 nrtn true 
+3a5b 6808c6a9 fetcht 1 ,mem_module_bluetooth_stauts_by_command 
+3a5c 284ffe02 isolate1 2 ,temp 
+3a5d 2020b3fa branch app_ble_start_adv ,true 
+3a5e 202033f8 branch app_ble_stop_adv 
+
+module_hci_cmd_set_bt_name:
+3a5f 68008b04 fetch 1 ,mem_module_uart_len 
+3a60 1fe67c43 sub pdata ,67 ,null 
+3a61 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3a62 6000c515 store 1 ,mem_local_name_length 
+3a63 df200008 arg 8 ,loopcnt 
+3a64 20407ec6 call memset0 
+3a65 68008b04 fetch 1 ,mem_module_uart_len 
+3a66 1fe27200 copy pdata ,loopcnt 
+3a67 1a220600 copy rega ,contru 
+3a68 d8a04516 arg mem_local_name ,contw 
+3a69 204066ea call uart_copy_rx_bytes_fast 
+3a6a 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_name:
+3a6b 68008b04 fetch 1 ,mem_module_uart_len 
+3a6c 1fe67c1d sub pdata ,29 ,null 
+3a6d 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3a6e 6000c3af store 1 ,mem_le_name_len 
+3a6f 1fe27200 copy pdata ,loopcnt 
+3a70 1a220600 copy rega ,contru 
+3a71 d8a043b0 arg mem_le_name ,contw 
+3a72 204066ea call uart_copy_rx_bytes_fast 
+3a73 204057a3 call le_modified_name 
+3a74 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_receive_spp_data:
+3a75 6800c682 fetch 1 ,mem_ui_state_map 
+3a76 c3023c17 bbit0 ui_state_bt_spp_conn ,module_hci_event_receive_invalid_cmd 
+3a77 204033ba call app_check_sniff 
+3a78 2020ba86 branch module_hci_cmd_spp_exit_sniff ,true 
+3a79 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3a7a 2040397f call module_spp_clear_last_transmite_clock 
+3a7b 6800c568 fetch 1 ,mem_remote_credits 
+3a7c 207a0000 rtn blank 
+3a7d 68014573 fetch 2 ,mem_nl_rx_len_all 
+3a7e c0803a84 bne 0 ,module_hci_cmd_pass_init_ng_rx_len_all 
+3a7f 68008b04 fetch 1 ,mem_module_uart_len 
+3a80 60014573 store 2 ,mem_nl_rx_len_all 
+3a81 1a220600 copy rega ,contru 
+3a82 18627e00 copy contru ,pdata 
+3a83 60014571 store 2 ,mem_nl_rx_data_src 
+
+module_hci_cmd_pass_init_ng_rx_len_all:
+3a84 20403a88 call module_hci_cmd_get_current_packet_len_and_remain_len 
+3a85 20206c4d branch spp_tx_rfcomm_packet 
+
+module_hci_cmd_spp_exit_sniff:
+3a86 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3a87 20203cd1 branch module_exit_sniff 
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+3a88 20403a8e call module_hci_cmd_get_current_patcket_len 
+3a89 68014573 fetch 2 ,mem_nl_rx_len_all 
+3a8a 6809469f fetcht 2 ,mem_current_packet_length 
+3a8b 98467e00 isub temp ,pdata 
+3a8c 60014573 store 2 ,mem_nl_rx_len_all 
+3a8d 20600000 rtn 
+
+module_hci_cmd_get_current_patcket_len:
+3a8e 68014573 fetch 2 ,mem_nl_rx_len_all 
+3a8f d840006e arg dm_refcom_buff_len ,temp 
+3a90 20407fdd call not_greater_than 
+3a91 6809456c fetcht 2 ,mem_rfcomm_max_frame_size 
+3a92 20407fdd call not_greater_than 
+3a93 6809455e fetcht 2 ,mem_pn_max_frame_size 
+3a94 20407fdd call not_greater_than 
+3a95 6001469f store 2 ,mem_current_packet_length 
+3a96 20600000 rtn 
+
+module_hci_command_tx_spp_tx_complete:
+3a97 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+3a98 700b0305 jam hci_cmd_spp_data_req ,mem_module_uart_opcode 
+3a99 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_receive_le_data:
+3a9a 68014682 fetch 2 ,mem_ui_state_map 
+3a9b c304bc17 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+3a9c 20403ad4 call module_check_ble_encrypt_state 
+3a9d 20343c17 branch module_hci_event_receive_invalid_cmd ,user 
+3a9e 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3a9f 6800c6bf fetch 1 ,mem_module_flag 
+3aa0 c2823ab4 bbit1 module_flag_ble_data_finish ,module_hci_cmd_receive_le_data_finish 
+3aa1 6800c6c0 fetch 1 ,mem_module_hci_notify_len 
+3aa2 247a0000 nrtn blank 
+3aa3 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+3aa4 e8610000 ifetch 2 ,contru 
+3aa5 600146c1 store 2 ,mem_module_hci_notify_handle 
+3aa6 18627e00 copy contru ,pdata 
+3aa7 600146c3 store 2 ,mem_module_hci_nofiy_addr 
+3aa8 68008b04 fetch 1 ,mem_module_uart_len 
+3aa9 1fe0fffe pincrease -2 
+3aaa 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3aab 2022bc17 branch module_hci_event_receive_invalid_cmd ,zero 
+3aac 6000c6c0 store 1 ,mem_module_hci_notify_len 
+3aad 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+3aae 20405814 call le_set_config_more_data 
+3aaf 20403ab7 call module_hci_cmd_transmit_le_notify 
+3ab0 20403ab7 call module_hci_cmd_transmit_le_notify 
+3ab1 20403ab7 call module_hci_cmd_transmit_le_notify 
+3ab2 6800c6bf fetch 1 ,mem_module_flag 
+3ab3 c4020000 rtnbit0 module_flag_ble_data_finish 
+
+module_hci_cmd_receive_le_data_finish:
+3ab4 700b0501 jam hci_discard_packet ,mem_module_temp_nl_discard_packet 
+3ab5 20403cf6 call module_clear_le_tx_data_flag 
+3ab6 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_transmit_le_notify:
+3ab7 6800c6c0 fetch 1 ,mem_module_hci_notify_len 
+3ab8 207a0000 rtn blank 
+3ab9 20405892 call le_fifo_check_nearly_full 
+3aba 247a0000 nrtn blank 
+3abb 20403acf call module_get_le_remote_mtu 
+3abc 44f0c01c bpatch patch1c_1 ,mem_patch1c 
+3abd 1840fffd add temp ,-3 ,pdata 
+3abe 6808c6c0 fetcht 1 ,mem_module_hci_notify_len 
+3abf 20407fdd call not_greater_than 
+3ac0 1fe22200 copy pdata ,rega 
+3ac1 18427e00 copy temp ,pdata 
+3ac2 9a267e00 isub rega ,pdata 
+3ac3 6000c6c0 store 1 ,mem_module_hci_notify_len 
+3ac4 680946c1 fetcht 2 ,mem_module_hci_notify_handle 
+3ac5 20405a64 call le_att_malloc_tx_notify 
+3ac6 680146c3 fetch 2 ,mem_module_hci_nofiy_addr 
+3ac7 1fe20600 copy pdata ,contru 
+3ac8 1a227200 copy rega ,loopcnt 
+3ac9 204066ea call uart_copy_rx_bytes_fast 
+3aca 18627e00 copy contru ,pdata 
+3acb 600146c3 store 2 ,mem_module_hci_nofiy_addr 
+3acc 6800c6c0 fetch 1 ,mem_module_hci_notify_len 
+3acd 247a0000 nrtn blank 
+3ace 20203cf4 branch module_set_le_tx_data_flag 
+
+module_get_le_remote_mtu:
+3acf d8400017 arg 0x17 ,temp 
+3ad0 6800c6bf fetch 1 ,mem_module_flag 
+3ad1 c3808000 rtnbit1 module_flag_ble_send_mtu23 
+3ad2 680944a8 fetcht 2 ,mem_le_remote_mtu 
+3ad3 20600000 rtn 
+
+module_check_ble_encrypt_state:
+3ad4 6800c6bf fetch 1 ,mem_module_flag 
+3ad5 c2815a42 bbit1 module_flag_ble_data_encrypt ,le_check_encrypt_state 
+3ad6 20207fe9 branch disable_user 
+
+module_hci_cmd_inquire_status:
+3ad7 20203c4c branch module_hci_event_status_res 
+
+module_hci_cmd_set_pairing_mode:
+3ad8 1a220600 copy rega ,contru 
+3ad9 e8608000 ifetch 1 ,contru 
+3ada c0003adf beq pairing_pincode ,module_hci_pairing_pincode_mode 
+3adb c000bae2 beq pairing_justwork ,module_hci_pairing_just_work_mode 
+3adc c0013ae8 beq pairing_passkey ,module_hci_pairing_passkey 
+3add c001baea beq pairing_confirm ,module_hci_pairing_numeric_comparison 
+3ade 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_hci_pairing_pincode_mode:
+3adf 2040612b call ssp_disable 
+3ae0 70465a00 jam 0 ,mem_ssp_enable 
+3ae1 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_pairing_just_work_mode:
+3ae2 58040003 setarg ssp_mode_just_work_io_cap_data 
+
+module_hci_sspairing_mode:
+3ae3 6001c65b store 3 ,mem_sp_iocap_local 
+3ae4 6000c662 store 1 ,mem_ssp_mode_flag 
+3ae5 20406124 call ssp_enable 
+3ae6 70465a01 jam 1 ,mem_ssp_enable 
+3ae7 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_pairing_passkey:
+3ae8 58040002 setarg ssp_mode_passkey_io_cap_data 
+3ae9 20203ae3 branch module_hci_sspairing_mode 
+
+module_hci_pairing_numeric_comparison:
+3aea 58040001 setarg ssp_mode_ssp_pin_io_cap_data 
+3aeb 20203ae3 branch module_hci_sspairing_mode 
+
+module_hci_cmd_set_pincode:
+3aec 68008b04 fetch 1 ,mem_module_uart_len 
+3aed 1fe67c10 sub pdata ,16 ,null 
+3aee 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3aef 6000c689 store 1 ,mem_pin_length 
+3af0 1fe27200 copy pdata ,loopcnt 
+3af1 d8a0468a arg mem_pin ,contw 
+3af2 204066fd call uart_copy_rx_bytes 
+3af3 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_uart_control_mode:
+3af4 1a220600 copy rega ,contru 
+3af5 e8608000 ifetch 1 ,contru 
+3af6 68188062 hfetcht 1 ,core_uart_ctrl 
+3af7 7d3a0404 nsetflag blank ,4 ,temp 
+3af8 60188062 hstoret 1 ,core_uart_ctrl 
+3af9 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_uart_baud:
+3afa 68008b04 fetch 1 ,mem_module_uart_len 
+3afb 1fe27200 copy pdata ,loopcnt 
+3afc 1a220600 copy rega ,contru 
+3afd 20407f58 call string2dec_from_uart 
+3afe 596e3600 setarg uart_clk_24 
+3aff 9846fc00 idiv temp 
+3b00 20407f86 call wait_div_end 
+3b01 1807fe00 quotient pdata 
+
+module_hci_cmd_set_uart_baud_ok:
+3b02 60014243 store uart_baud_len ,mem_baud 
+3b03 20403c1a call module_hci_event_receive_valid_cmd 
+3b04 20407f9e call wait_uarttx 
+3b05 202066ce branch uart_set_baud_by_mem 
+
+module_hci_cmd_version_request:
+3b06 da200002 arg 2 ,rega 
+3b07 da40469a arg mem_soft_version_num ,regb 
+3b08 d8400000 arg 0 ,temp 
+3b09 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_event_set_cmd_send_response:
+3b0a 60010ac2 store 2 ,mem_event_cmd_response_content 
+3b0b da400ac2 arg mem_event_cmd_response_content ,regb 
+3b0c d8400000 arg 0 ,temp 
+3b0d 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_cmd_bt_disconnect:
+3b0e 68014682 fetch 2 ,mem_ui_state_map 
+3b0f c3003c17 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_bt_disconnect_doing:
+3b10 20403c1a call module_hci_event_receive_valid_cmd 
+3b11 202033e9 branch app_bt_disconnect 
+
+module_hci_cmd_ble_disconnect:
+3b12 68014682 fetch 2 ,mem_ui_state_map 
+3b13 c304bc17 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_ble_disconnect_doing:
+3b14 20403c1a call module_hci_event_receive_valid_cmd 
+3b15 20203402 branch app_ble_disconnect 
+
+module_hci_cmd_set_nvram:
+3b16 68008b04 fetch 1 ,mem_module_uart_len 
+3b17 1fe27200 copy pdata ,loopcnt 
+3b18 1a220600 copy rega ,contru 
+3b19 68014215 fetch 2 ,mem_nv_data_ptr 
+3b1a 1fe20a00 icopy contw 
+3b1b 204066ea call uart_copy_rx_bytes_fast 
+3b1c 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_confirm_gkey:
+3b1d 6800c682 fetch 1 ,mem_ui_state_map 
+3b1e c3003c17 bbit0 ui_state_bt_connected ,module_hci_event_receive_invalid_cmd 
+3b1f e8608000 ifetch 1 ,contru 
+3b20 6808c661 fetcht 1 ,mem_flag_mode_ssp_pin 
+3b21 793a0400 setflag blank ,flag_mode_ssp_pin_comparison_result_bit ,temp 
+3b22 79200407 set1 flag_mode_ssp_pin_reviceve_comparison_bit ,temp 
+3b23 6008c661 storet 1 ,mem_flag_mode_ssp_pin 
+3b24 20403c1a call module_hci_event_receive_valid_cmd 
+3b25 6800c661 fetch 1 ,mem_flag_mode_ssp_pin 
+3b26 c2833b2b bbit1 flag_mode_ssp_pin_recieve_dhkey_bit ,module_hci_cmd_spp_number_comparison_result_is1 
+3b27 20600000 rtn 
+
+dhkey_not_accept:
+3b28 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+3b29 700a9921 jam bt_cmd_dhkey_not_accept ,mem_fifo_temp 
+3b2a 20207d8f branch ui_ipc_send_cmd 
+
+module_hci_cmd_spp_number_comparison_result_is1:
+3b2b c2805f95 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+3b2c 20203b28 branch dhkey_not_accept 
+
+module_hci_cmd_set_credit_given:
+3b2d 6800c682 fetch 1 ,mem_ui_state_map 
+3b2e c4020000 rtnbit0 ui_state_bt_spp_conn 
+3b2f 6800c56b fetch 1 ,mem_credit_flag 
+3b30 c1000000 rtneq credit_disable 
+3b31 e8608000 ifetch 1 ,contru 
+3b32 6808c569 fetcht 1 ,mem_credit_given 
+3b33 98408400 iadd temp ,temp 
+3b34 6008c569 storet 1 ,mem_credit_given 
+3b35 20600000 rtn 
+
+module_hci_cmd_auto_adv:
+3b36 df200040 arg 0x40 ,loopcnt 
+3b37 d8a0436f arg mem_le_adv_data_len ,contw 
+3b38 20407ed4 call clear_mem 
+3b39 58000000 setarg 0 
+3b3a 60008ab2 store 1 ,mem_regb 
+3b3b 1a220600 copy rega ,contru 
+
+module_hci_cmd_auto_adv_loop:
+3b3c 18627e00 copy contru ,pdata 
+3b3d 60010ab6 store 2 ,mem_regc 
+3b3e 20403b64 call module_hci_cmd_auto_adv_adv_analys 
+3b3f 68008ab2 fetch 1 ,mem_regb 
+3b40 68088aa2 fetcht 1 ,mem_temp 
+3b41 18408401 increase 1 ,temp 
+3b42 9840fe00 iadd temp ,pdata 
+3b43 60008ab2 store 1 ,mem_regb 
+3b44 1fe67c1f sub pdata ,31 ,null 
+3b45 24213b50 nbranch module_hci_cmd_auto_adv_store_scan ,positive 
+
+module_hci_cmd_auto_adv_store_adv:
+3b46 6808c36f fetcht 1 ,mem_le_adv_data_len 
+3b47 58004370 setarg mem_le_adv_data 
+3b48 9840fe00 iadd temp ,pdata 
+3b49 60010abb store 2 ,mem_contw 
+3b4a 68088aa2 fetcht 1 ,mem_temp 
+3b4b 18408401 increase 1 ,temp 
+3b4c 6800c36f fetch 1 ,mem_le_adv_data_len 
+3b4d 9840fe00 iadd temp ,pdata 
+3b4e 6000c36f store 1 ,mem_le_adv_data_len 
+3b4f 20203b59 branch module_hci_cmd_auto_adv_store_common 
+
+module_hci_cmd_auto_adv_store_scan:
+3b50 6808c38f fetcht 1 ,mem_le_scan_data_len 
+3b51 58004390 setarg mem_le_scan_data 
+3b52 9840fe00 iadd temp ,pdata 
+3b53 60010abb store 2 ,mem_contw 
+3b54 68088aa2 fetcht 1 ,mem_temp 
+3b55 18408401 increase 1 ,temp 
+3b56 6800c38f fetch 1 ,mem_le_scan_data_len 
+3b57 9840fe00 iadd temp ,pdata 
+3b58 6000c38f store 1 ,mem_le_scan_data_len 
+
+module_hci_cmd_auto_adv_store_common:
+3b59 68010abb fetch 2 ,mem_contw 
+3b5a 1fe20a00 copy pdata ,contw 
+3b5b 68010ab6 fetch 2 ,mem_regc 
+3b5c 1fe20600 copy pdata ,contru 
+3b5d 18427200 copy temp ,loopcnt 
+3b5e 204066ea call uart_copy_rx_bytes_fast 
+3b5f 68008b04 fetch 1 ,mem_module_uart_len 
+3b60 68088ab2 fetcht 1 ,mem_regb 
+3b61 98467c00 isub temp ,null 
+3b62 2422bb3c nbranch module_hci_cmd_auto_adv_loop ,zero 
+3b63 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_auto_adv_adv_analys:
+3b64 e8608000 ifetch 1 ,contru 
+3b65 60008aa2 store 1 ,mem_temp 
+3b66 e8608000 ifetch 1 ,contru 
+3b67 60008aae store 1 ,mem_rega 
+3b68 20600000 rtn 
+
+module_hci_cmd_power_request:
+3b69 d8400000 arg 0 ,temp 
+3b6a da200002 arg 2 ,rega 
+3b6b 680146b4 fetch 2 ,mem_module_vdd_quotient 
+3b6c 60010ac2 store 2 ,mem_event_cmd_response_content 
+3b6d da400ac2 arg mem_event_cmd_response_content ,regb 
+3b6e 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_cmd_power_set:
+3b6f 68008b04 fetch 1 ,mem_module_uart_len 
+3b70 c080bc17 bne 1 ,module_hci_event_receive_invalid_cmd 
+3b71 e8608000 ifetch 1 ,contru 
+3b72 6000c6b2 store 1 ,mem_module_read_vdd_flag 
+3b73 58000000 setarg 0x00 
+3b74 600146b4 store 2 ,mem_module_vdd_quotient 
+3b75 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_passkey_entry:
+3b76 e8620000 ifetch 4 ,contru 
+3b77 6002468a store 4 ,mem_pin 
+3b78 70468904 jam 4 ,mem_pin_length 
+3b79 70466300 jam 0 ,mem_authentication_passkey_times 
+3b7a 20403c1a call module_hci_event_receive_valid_cmd 
+3b7b 20205f31 branch authentication_passkey 
+
+module_hci_cmd_set_gpio:
+3b7c 68008b04 fetch 1 ,mem_module_uart_len 
+3b7d c081bc17 bne 3 ,module_hci_event_receive_invalid_cmd 
+3b7e e8608000 ifetch 1 ,contru 
+3b7f c0003b82 beq hci_cmd_config_gpio_input ,module_set_gpio_input 
+3b80 c000bb8a beq hci_cmd_config_gpio_output ,module_set_gpio_output 
+3b81 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_set_gpio_input:
+3b82 e8688000 ifetcht 1 ,contru 
+3b83 e8608000 ifetch 1 ,contru 
+3b84 c0013b88 beq gpio_input_high_impedance ,module_set_gpio_high_impedance 
+3b85 7d3a0407 nsetflag blank ,7 ,temp 
+3b86 204067fb call gpio_config_input 
+3b87 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_set_gpio_high_impedance:
+3b88 20406806 call gpio_set_high_impedance 
+3b89 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_set_gpio_output:
+3b8a e8688000 ifetcht 1 ,contru 
+3b8b 20406812 call gpio_config_output0 
+3b8c e8608000 ifetch 1 ,contru 
+3b8d 2feffe00 isolate1 0 ,pdata 
+3b8e 2040682c call gpio_out_flag 
+3b8f 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_read_gpio:
+3b90 68008b04 fetch 1 ,mem_module_uart_len 
+3b91 c080bc17 bne 1 ,module_hci_event_receive_invalid_cmd 
+3b92 e8688000 ifetcht 1 ,contru 
+3b93 2040681d call gpio_get_bit 
+3b94 58000000 setarg 0x0 
+3b95 7d20fe00 nsetflag true ,0 ,pdata 
+3b96 da200001 arg 1 ,rega 
+3b97 20203b0a branch module_hci_event_set_cmd_send_response 
+
+module_hci_cmd_le_set_pairing_mode:
+3b98 1a220600 copy rega ,contru 
+3b99 e8608000 ifetch 1 ,contru 
+3b9a 1fe20400 copy pdata ,temp 
+3b9b c040bba3 beq le_pairing_mode_secure_connect_justwork ,module_le_set_pairing_mode_secure_justwork 
+3b9c c0413ba8 beq le_pairing_mode_secure_connect_numeric ,module_le_set_pairing_mode_secure_numeric 
+3b9d c041bbae beq le_pairing_mode_secure_connect_passkey ,module_le_set_pairing_mode_secure_passkey 
+3b9e 6000c4c6 store 1 ,mem_le_pairing_mode 
+3b9f c0003bb3 beq le_pairing_mode_none ,module_le_set_no_pairing 
+3ba0 c000bbb6 beq le_pairing_mode_lagacy_justwork ,module_le_set_pairing_mode_lagacy_just_work 
+3ba1 c0013bb8 beq le_pairing_mode_lagacy_passkey ,module_le_set_pairing_mode_lagacy_passkey 
+3ba2 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_le_set_pairing_mode_secure_justwork:
+3ba3 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+3ba4 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3ba5 6008c4c6 storet 1 ,mem_le_pairing_mode 
+3ba6 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+3ba7 20203bb4 branch module_le_set_noinputnooutput 
+
+module_le_set_pairing_mode_secure_numeric:
+3ba8 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+3ba9 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3baa 6008c4c6 storet 1 ,mem_le_pairing_mode 
+3bab 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+3bac 70445401 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+3bad 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_le_set_pairing_mode_secure_passkey:
+3bae 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+3baf 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3bb0 6008c4c6 storet 1 ,mem_le_pairing_mode 
+3bb1 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+3bb2 20203bb9 branch module_le_set_displayonly 
+
+module_le_set_no_pairing:
+3bb3 70445600 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+
+module_le_set_noinputnooutput:
+3bb4 70445403 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+3bb5 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_le_set_pairing_mode_lagacy_just_work:
+3bb6 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+3bb7 20203bb4 branch module_le_set_noinputnooutput 
+
+module_le_set_pairing_mode_lagacy_passkey:
+3bb8 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+
+module_le_set_displayonly:
+3bb9 70445400 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+3bba 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_adv_data:
+3bbb 68008b04 fetch 1 ,mem_module_uart_len 
+3bbc 1fe67c1f sub pdata ,31 ,null 
+3bbd 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3bbe 6000c36f store 1 ,mem_le_adv_data_len 
+3bbf 1fe27200 copy pdata ,loopcnt 
+3bc0 1a220600 copy rega ,contru 
+3bc1 d8a04370 arg mem_le_adv_data ,contw 
+3bc2 204066ea call uart_copy_rx_bytes_fast 
+3bc3 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_scan_data:
+3bc4 68008b04 fetch 1 ,mem_module_uart_len 
+3bc5 1fe67c1f sub pdata ,31 ,null 
+3bc6 24213c17 nbranch module_hci_event_receive_invalid_cmd ,positive 
+3bc7 6000c38f store 1 ,mem_le_scan_data_len 
+3bc8 1fe27200 copy pdata ,loopcnt 
+3bc9 1a220600 copy rega ,contru 
+3bca d8a04390 arg mem_le_scan_data ,contw 
+3bcb 204066ea call uart_copy_rx_bytes_fast 
+3bcc 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_send_conn_update_req:
+3bcd 68014682 fetch 2 ,mem_ui_state_map 
+3bce c304bc17 bbit0 ui_state_ble_connected ,module_hci_event_receive_invalid_cmd 
+3bcf 68008b04 fetch 1 ,mem_module_uart_len 
+3bd0 c0843c17 bne 0x08 ,module_hci_event_receive_invalid_cmd 
+3bd1 1a220600 copy rega ,contru 
+3bd2 e8640000 ifetch 8 ,contru 
+3bd3 60044496 store 8 ,mem_le_interval_min 
+3bd4 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+3bd5 20407d8f call ui_ipc_send_cmd 
+3bd6 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_le_adv_parameter:
+3bd7 e8610000 ifetch 2 ,contru 
+3bd8 60014482 store 2 ,mem_le_adv_interval 
+3bd9 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_start_pairing:
+3bda 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+3bdb 203a3c17 branch module_hci_event_receive_invalid_cmd ,blank 
+3bdc 6800c4c4 fetch 1 ,mem_le_pairing_state 
+3bdd c0803c17 bne flag_le_pairing_null ,module_hci_event_receive_invalid_cmd 
+3bde 6800c4c5 fetch 1 ,mem_le_enc_state 
+3bdf c0803c17 bne flag_le_enc_null ,module_hci_event_receive_invalid_cmd 
+3be0 20407e25 call check_51cmd_le_smp_sec_req 
+3be1 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_wake_gpio:
+3be2 68008b04 fetch 1 ,mem_module_uart_len 
+3be3 c082bc17 bne 5 ,module_hci_event_receive_invalid_cmd 
+3be4 e8608000 ifetch 1 ,contru 
+3be5 6000c6a2 store 1 ,mem_module_mcu_wake_pin 
+3be6 e8620000 ifetch 4 ,contru 
+3be7 600246a3 store 4 ,mem_module_mcu_wake_delay_us 
+3be8 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3be9 2040680e call gpio_config_output 
+3bea 20403cbc call module_set_mcu_wake_pin_low 
+3beb 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_tx_power:
+3bec 68008b04 fetch 1 ,mem_module_uart_len 
+3bed c080bc17 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+3bee e8608000 ifetch 1 ,contru 
+3bef 6000c1de store 1 ,mem_tx_power 
+3bf0 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_confirm_gkey:
+3bf1 e8608000 ifetch 1 ,contru 
+3bf2 c000bbfa beq 0x01 ,module_hci_cmd_le_confirm_gkey_fail 
+3bf3 6800c4c1 fetch 1 ,mem_le_secure_connect_state 
+3bf4 c001bbf8 beq le_sc_stat_send_public_key ,module_hci_cmd_le_confirm_gkey_ok 
+3bf5 c0033bf8 beq le_sc_stat_receive_dhkey ,module_hci_cmd_le_confirm_gkey_ok 
+3bf6 c003bbf8 beq le_sc_stat_wait_confirm_gkey ,module_hci_cmd_le_confirm_gkey_ok 
+3bf7 20203c17 branch module_hci_event_receive_invalid_cmd 
+
+module_hci_cmd_le_confirm_gkey_ok:
+3bf8 7044c201 jam flag_le_sc_confrim_gkey_ok ,mem_le_sc_confirm_gkey_flag 
+3bf9 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_confirm_gkey_fail:
+3bfa 20405b53 call le_send_pairing_confirm_value_failed 
+3bfb 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_set_reject_justwork_flag:
+3bfc 68008b04 fetch 1 ,mem_module_uart_len 
+3bfd c080bc17 bne 0x01 ,module_hci_event_receive_invalid_cmd 
+3bfe 20403c1a call module_hci_event_receive_valid_cmd 
+3bff e8608000 ifetch 1 ,contru 
+3c00 203a60cb branch classic_bt_clr_reject_justwork_flag ,blank 
+3c01 202060c9 branch classic_bt_set_reject_justwork_flag 
+
+module_hci_cmd_reset_chip:
+3c02 20403c1a call module_hci_event_receive_valid_cmd 
+3c03 20407f9e call wait_uarttx 
+3c04 70801001 jam 0x01 ,core_reset 
+3c05 20202a8e branch loop 
+
+module_hci_cmd_le_set_fixed_passkey:
+3c06 68008b04 fetch 1 ,mem_module_uart_len 
+3c07 c0003c17 beq 0 ,module_hci_event_receive_invalid_cmd 
+3c08 e8608000 ifetch 1 ,contru 
+3c09 203a3c13 branch module_hci_cmd_le_set_random_passkey ,blank 
+3c0a 68008b04 fetch 1 ,mem_module_uart_len 
+3c0b c082bc17 bne 5 ,module_hci_event_receive_invalid_cmd 
+3c0c e8620000 ifetch 4 ,contru 
+3c0d d84f4240 arg 1000000 ,temp 
+3c0e 98467c00 isub temp ,null 
+3c0f 20213c17 branch module_hci_event_receive_invalid_cmd ,positive 
+3c10 600244c7 store 4 ,mem_le_tk 
+3c11 2040580c call le_set_config_fixed_tk 
+3c12 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_cmd_le_set_random_passkey:
+3c13 2040580e call le_clr_config_fixed_tk 
+3c14 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_test_cmde_close_lpm:
+3c15 70409100 jam 0 ,mem_lpm_mode 
+3c16 20203c1a branch module_hci_event_receive_valid_cmd 
+
+module_hci_event_receive_invalid_cmd:
+3c17 d8400001 arg 1 ,temp 
+3c18 da200000 arg 0 ,rega 
+3c19 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_event_receive_valid_cmd:
+3c1a d8400000 arg 0 ,temp 
+3c1b da200000 arg 0 ,rega 
+3c1c 20203c25 branch module_hci_event_set_cmd 
+
+module_hci_event_spp_connect:
+3c1d 700b0300 jam hci_event_spp_conn_rep ,mem_module_uart_opcode 
+3c1e 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_connect:
+3c1f 700b0302 jam hci_event_le_conn_rep ,mem_module_uart_opcode 
+3c20 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_spp_disconnect:
+3c21 700b0303 jam hci_event_spp_dis_rep ,mem_module_uart_opcode 
+3c22 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_disconnect:
+3c23 700b0305 jam hci_event_le_dis_rep ,mem_module_uart_opcode 
+3c24 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_set_cmd:
+3c25 68008b03 fetch 1 ,mem_module_uart_opcode 
+3c26 1fe22600 copy pdata ,regc 
+3c27 700b0306 jam hci_event_cmd_res ,mem_module_uart_opcode 
+3c28 58000002 setarg 2 
+3c29 9a20fe00 iadd rega ,pdata 
+3c2a 20403ca7 call module_hci_prepare_tx 
+3c2b 1a627e00 copy regc ,pdata 
+3c2c e1408000 istore 1 ,contwu 
+3c2d e1488000 istoret 1 ,contwu 
+3c2e 1a227200 copy rega ,loopcnt 
+3c2f 1a420c00 copy regb ,contr 
+3c30 204066e4 call uart_copy_tx_bytes 
+3c31 202066c5 branch uartd_send 
+
+module_hci_event_receive_spp_data:
+3c32 2040397f call module_spp_clear_last_transmite_clock 
+3c33 700b0307 jam hci_event_spp_data_rep ,mem_module_uart_opcode 
+3c34 680084ff fetch 1 ,mem_current_length 
+3c35 207a0000 rtn blank 
+3c36 20403ca7 call module_hci_prepare_tx 
+3c37 680084ff fetch 1 ,mem_current_length 
+3c38 1fe27200 copy pdata ,loopcnt 
+3c39 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+3c3a 1fe20c00 copy pdata ,contr 
+3c3b 204066d1 call uart_copy_tx_bytes_fast 
+3c3c 202066c5 branch uartd_send 
+
+module_hci_event_receive_le_data:
+3c3d 700b0308 jam hci_event_le_data_rep ,mem_module_uart_opcode 
+3c3e 6800c6b6 fetch 1 ,mem_module_le_rx_data_len 
+3c3f 1fe27200 icopy loopcnt 
+3c40 1fe0fe02 increase 2 ,pdata 
+3c41 20403ca7 call module_hci_prepare_tx 
+3c42 680146b9 fetch 2 ,mem_module_le_rx_data_handle 
+3c43 e1410000 istore 2 ,contwu 
+3c44 680146b7 fetch 2 ,mem_module_le_rx_data_address 
+3c45 1fe20c00 icopy contr 
+3c46 204066d1 call uart_copy_tx_bytes_fast 
+3c47 202066c5 branch uartd_send 
+
+module_hci_event_enter_standby_mode:
+3c48 700b0309 jam hci_event_standby_rep ,mem_module_uart_opcode 
+
+module_hci_event_enter_standby_mode_len0:
+3c49 58000000 setarg 0 
+3c4a 20403ca7 call module_hci_prepare_tx 
+3c4b 202066c5 branch uartd_send 
+
+module_hci_event_status_res:
+3c4c 700b030a jam hci_event_status_res ,mem_module_uart_opcode 
+3c4d 58000001 setarg 1 
+3c4e 20403ca7 call module_hci_prepare_tx 
+3c4f 20403c5d call module_hci_read_bt_status 
+3c50 68014682 fetch 2 ,mem_ui_state_map 
+3c51 d8e00002 arg ui_state_bt_hid_conn ,queue 
+3c52 afefffff qisolate1 pdata 
+3c53 79208403 setflag true ,3 ,temp 
+3c54 d8e00009 arg ui_state_ble_connected ,queue 
+3c55 afefffff qisolate1 pdata 
+3c56 79208405 setflag true ,5 ,temp 
+3c57 6800c682 fetch 1 ,mem_ui_state_map 
+3c58 d8e00004 arg ui_state_bt_spp_conn ,queue 
+3c59 afefffff qisolate1 pdata 
+3c5a 79208404 setflag true ,4 ,temp 
+3c5b e1488000 istoret 1 ,contwu 
+3c5c 202066c5 branch uartd_send 
+
+module_hci_read_bt_status:
+3c5d d8400000 arg 0 ,temp 
+3c5e 6800c093 fetch 1 ,mem_scan_mode 
+3c5f d8e00000 arg inq_scan_mode ,queue 
+3c60 afefffff qisolate1 pdata 
+3c61 79208400 setflag true ,0 ,temp 
+3c62 d8e00001 arg page_scan_mode ,queue 
+3c63 afefffff qisolate1 pdata 
+3c64 79208401 setflag true ,1 ,temp 
+3c65 6800c36e fetch 1 ,mem_le_adv_enable 
+3c66 d8e00000 arg 0 ,queue 
+3c67 afefffff qisolate1 pdata 
+3c68 79208402 setflag true ,2 ,temp 
+3c69 20600000 rtn 
+
+module_hci_event_store_device:
+3c6a 700b030d jam hci_event_nvram_rep ,mem_module_uart_opcode 
+3c6b 6800c217 fetch 1 ,mem_nv_data_number 
+3c6c 1feffe22 mul32 pdata ,34 ,pdata 
+3c6d 1fe27200 icopy loopcnt 
+3c6e 20403ca7 call module_hci_prepare_tx 
+3c6f 68014215 fetch 2 ,mem_nv_data_ptr 
+3c70 1fe20c00 icopy contr 
+3c71 204066d1 call uart_copy_tx_bytes_fast 
+3c72 202066c5 branch uartd_send 
+
+module_hci_event_gkey_generate:
+3c73 700b030e jam hci_event_gkey ,mem_module_uart_opcode 
+3c74 58000004 setarg 4 
+3c75 20403ca7 call module_hci_prepare_tx 
+3c76 680209ba fetch 4 ,mem_gkey 
+3c77 e1420000 istore 4 ,contwu 
+3c78 202066c5 branch uartd_send 
+
+module_hci_event_invalid_packet:
+3c79 700b030f jam hci_event_invalid_packet ,mem_module_uart_opcode 
+3c7a 68110112 hfetch 2 ,core_uart_rxitems 
+3c7b d84000ff arg 0xff ,temp 
+3c7c 20407fdd call not_greater_than 
+3c7d 1fe27200 copy pdata ,loopcnt 
+3c7e 20403ca7 call module_hci_prepare_tx 
+3c7f 204066cb call uartd_prepare_rx 
+3c80 20406703 call uart_copy_rx2tx 
+3c81 202066c5 branch uartd_send 
+
+module_hci_event_passkey_entry_mode:
+3c82 700b0310 jam hci_event_get_passkey ,mem_module_uart_opcode 
+3c83 20203c49 branch module_hci_event_enter_standby_mode_len0 
+
+module_hci_event_le_tk:
+3c84 700b0311 jam hci_event_le_tk ,mem_module_uart_opcode 
+3c85 58000004 setarg 4 
+3c86 20403ca7 call module_hci_prepare_tx 
+3c87 680244c7 fetch 4 ,mem_le_tk 
+3c88 e1420000 istore 4 ,contwu 
+3c89 202066c5 branch uartd_send 
+
+module_hci_event_le_pairing_fail:
+3c8a da200180 arg flag_ble_pairing_fail ,rega 
+3c8b 20203c91 branch module_hci_event_pairing_completed 
+
+module_hci_event_le_pairing_success:
+3c8c da200080 arg flag_ble_pairing_success ,rega 
+3c8d 20203c91 branch module_hci_event_pairing_completed 
+
+module_hci_event_bt_pairing_fail:
+3c8e da200101 arg flag_bt_pairing_fail ,rega 
+3c8f 20203c91 branch module_hci_event_pairing_completed 
+
+module_hci_event_bt_pairing_success:
+3c90 da200001 arg flag_bt_pairing_success ,rega 
+
+module_hci_event_pairing_completed:
+3c91 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+3c92 700b0314 jam hci_event_le_pairing_state ,mem_module_uart_opcode 
+3c93 58000002 setarg 2 
+3c94 20403ca7 call module_hci_prepare_tx 
+3c95 1a227e00 copy rega ,pdata 
+3c96 e1410000 istore 2 ,contwu 
+3c97 202066c5 branch uartd_send 
+
+module_hci_event_pause_enc:
+3c98 da600000 arg flag_event_pause_enc ,regc 
+3c99 20203c9b branch module_hci_event_enc 
+
+module_hci_event_start_enc:
+3c9a da600001 arg flag_event_start_enc ,regc 
+
+module_hci_event_enc:
+3c9b 700b0315 jam hci_event_le_encryption_state ,mem_module_uart_opcode 
+3c9c 58000001 setarg 1 
+3c9d 20403ca7 call module_hci_prepare_tx 
+3c9e 1a627e00 copy regc ,pdata 
+3c9f e1408000 istore 1 ,contwu 
+3ca0 202066c5 branch uartd_send 
+
+module_hci_event_le_gkey:
+3ca1 700b031d jam hci_event_le_gkey ,mem_module_uart_opcode 
+3ca2 58000004 setarg 4 
+3ca3 20403ca7 call module_hci_prepare_tx 
+3ca4 680209ba fetch 4 ,mem_gkey 
+3ca5 e1420000 istore 4 ,contwu 
+3ca6 202066c5 branch uartd_send 
+
+module_hci_prepare_tx:
+3ca7 700b0202 jam 0x02 ,mem_module_uart_cmd 
+3ca8 60008b04 store 1 ,mem_module_uart_len 
+3ca9 600c0aa2 storet 8 ,mem_temp 
+3caa 44f1401c bpatch patch1c_2 ,mem_patch1c 
+3cab 20403cb1 call module_set_mcu_wake_pin_high_delay 
+3cac 680c0aa2 fetcht 8 ,mem_temp 
+3cad 204066c2 call uartd_prepare_tx 
+3cae 68018b02 fetch 3 ,mem_module_uart_cmd 
+3caf e1418000 istore 3 ,contwu 
+3cb0 20600000 rtn 
+
+module_set_mcu_wake_pin_high_delay:
+3cb1 20403cba call module_check_mcu_wake_pin_high 
+3cb2 20608000 rtn true 
+
+module_set_mcu_wake_pin_h_delay:
+3cb3 20403cb8 call module_set_mcu_wake_pin_high 
+3cb4 680246a3 fetch 4 ,mem_module_mcu_wake_delay_us 
+3cb5 1feb7e00 rshift2 pdata ,pdata 
+3cb6 207a0000 rtn blank 
+3cb7 20203cbe branch delay 
+
+module_set_mcu_wake_pin_high:
+3cb8 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3cb9 20206829 branch gpio_out_active 
+
+module_check_mcu_wake_pin_high:
+3cba 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3cbb 2020681b branch gpio_check_active 
+
+module_set_mcu_wake_pin_low:
+3cbc 6808c6a2 fetcht 1 ,mem_module_mcu_wake_pin 
+3cbd 20206825 branch gpio_out_inactive 
+
+delay:
+3cbe 1fe0ffff increase -1 ,pdata 
+3cbf 20000026 nop 38 
+3cc0 243a3cbe nbranch delay ,blank 
+3cc1 20600000 rtn 
+
+module_le_receive_data:
+3cc2 20403ad4 call module_check_ble_encrypt_state 
+3cc3 20740000 rtn user 
+3cc4 1a227e00 copy rega ,pdata 
+3cc5 600146b7 store 2 ,mem_module_le_rx_data_address 
+3cc6 1a427e00 copy regb ,pdata 
+3cc7 6000c6b6 store 1 ,mem_module_le_rx_data_len 
+3cc8 68010478 fetch 2 ,mem_le_att_handle 
+3cc9 680946bb fetcht 2 ,mem_module_data_write_handle 
+3cca 98467c00 isub temp ,null 
+3ccb 2022bccf branch module_le_receive_data_ok ,zero 
+3ccc 680946bd fetcht 2 ,mem_module_data_write_handle2 
+3ccd 98467c00 isub temp ,null 
+3cce 24628000 nrtn zero 
+
+module_le_receive_data_ok:
+3ccf 600146b9 store 2 ,mem_module_le_rx_data_handle 
+3cd0 20203c3d branch module_hci_event_receive_le_data 
+
+module_exit_sniff:
+3cd1 6800c6bf fetch 1 ,mem_module_flag 
+3cd2 c3828000 rtnbit1 moudle_task_unsniff 
+3cd3 20403cf0 call module_set_unsniff_task_flag 
+3cd4 2020340c branch app_bt_sniff_exit 
+
+module_set_lpm_mult_2:
+3cd5 70417202 jam 2 ,mem_lpm_mult 
+3cd6 20600000 rtn 
+
+module_bb_event_timer:
+3cd7 20203cd8 branch module_read_vdd_timer 
+
+module_read_vdd_timer:
+3cd8 6800c6b2 fetch 1 ,mem_module_read_vdd_flag 
+3cd9 207a0000 rtn blank 
+3cda 6800c6b3 fetch 1 ,mem_module_read_vdd_count 
+3cdb 207a0000 rtn blank 
+3cdc 1fe0ffff increase -1 ,pdata 
+3cdd 6000c6b3 store 1 ,mem_module_read_vdd_count 
+3cde 247a0000 nrtn blank 
+3cdf 7046b30a jam flag_module_read_vdd_count ,mem_module_read_vdd_count 
+3ce0 204068eb call adc_set_mode 
+3ce1 20406908 call vdd_calculate_by_mode 
+3ce2 1fe6fc64 div pdata ,0x64 
+3ce3 20407f86 call wait_div_end 
+3ce4 1807fe00 quotient pdata 
+3ce5 18070400 remainder temp 
+3ce6 6000c6b4 store 1 ,mem_module_vdd_quotient 
+3ce7 6008c6b5 storet 1 ,mem_module_vdd_remainder 
+3ce8 20600000 rtn 
+
+module_control_air_flow:
+3ce9 20407fb4 call check_uart_tx_buff 
+3cea 202133d9 branch app_l2cap_flow_control_enable ,positive 
+3ceb 202033db branch app_l2cap_flow_control_disable 
+
+module_set_sniff_task_flag:
+3cec d8e00006 arg moudle_task_sniff ,queue 
+3ced 20203cfc branch module_set_state 
+
+module_clear_sniff_task_flag:
+3cee d8e00006 arg moudle_task_sniff ,queue 
+3cef 20203cf8 branch module_clr_state 
+
+module_set_unsniff_task_flag:
+3cf0 d8e00005 arg moudle_task_unsniff ,queue 
+3cf1 20203cfc branch module_set_state 
+
+module_clear_unsniff_task_flag:
+3cf2 d8e00005 arg moudle_task_unsniff ,queue 
+3cf3 20203cf8 branch module_clr_state 
+
+module_set_le_tx_data_flag:
+3cf4 d8e00004 arg module_flag_ble_data_finish ,queue 
+3cf5 20203cfc branch module_set_state 
+
+module_clear_le_tx_data_flag:
+3cf6 d8e00004 arg module_flag_ble_data_finish ,queue 
+3cf7 20203cf8 branch module_clr_state 
+
+module_clr_state:
+3cf8 6800c6bf fetch 1 ,mem_module_flag 
+3cf9 f93ffe00 qset0 pdata 
+3cfa 6000c6bf store 1 ,mem_module_flag 
+3cfb 20600000 rtn 
+
+module_set_state:
+3cfc 6800c6bf fetch 1 ,mem_module_flag 
+3cfd f9207e00 qset1 pdata 
+3cfe 6000c6bf store 1 ,mem_module_flag 
+3cff 20600000 rtn 
+
+mouse_init:
+3d00 20403d39 call mouse_setting_config 
+3d01 2040640f call spi_ncs_enable 
+3d02 204040c6 call mouse_init_sunt 
+3d03 20403d66 call mouse_dpi_config 
+3d04 20406411 call spi_ncs_disable 
+3d05 20758000 rtn wake 
+3d06 20403d16 call mouse_cheak_enable_usb 
+3d07 20403d19 call mouse_cb_fuction 
+3d08 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d09 c3880000 rtnbit1 mouse_enable_usb 
+3d0a 20403d4e call mouse_wakeup_from_power 
+3d0b c6130000 rtnmark1 mark_24g 
+3d0c 68014682 fetch 2 ,mem_ui_state_map 
+3d0d c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
+3d0e 202042a2 branch mouse_check_reconn_target 
+
+mouse_delay_4s:
+3d0f 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d10 c40d8000 rtnbit0 mouse_enable_init_delay 
+3d11 df200014 arg 20 ,loopcnt 
+
+mouse_delay_20ms:
+3d12 58030d40 setarg 200000 
+3d13 20402a8f call sleep 
+3d14 c2007ec1 loop delay_10ms 
+3d15 20600000 rtn 
+
+mouse_cheak_enable_usb:
+3d16 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d17 c4080000 rtnbit0 mouse_enable_usb 
+3d18 202048ea branch usb_init 
+
+mouse_cb_fuction:
+3d19 5800416d setarg mouse_le 
+3d1a 600141ef store 2 ,mem_cb_le_process 
+3d1b 58003f77 setarg mouse_send_process 
+3d1c 600141f1 store 2 ,mem_cb_bt_process 
+3d1d 58003ebb setarg mouse_process_lpm_before 
+3d1e 600141ed store 2 ,mem_cb_before_lpm 
+3d1f 5800417c setarg mouse_priority_bb_event 
+3d20 600141f5 store 2 ,mem_cb_bb_event_process 
+3d21 58003de3 setarg mouse_idle 
+3d22 600141f3 store 2 ,mem_cb_idle_process 
+3d23 58003eb3 setarg mouse_before_hibernate 
+3d24 600141eb store 2 ,mem_cb_before_hibernate 
+3d25 58003d5b setarg le_mouse_bb_event_connect_complete 
+3d26 600141f9 store 2 ,mem_cb_att_write 
+3d27 20402c7a call g24_head_ptr2regc 
+3d28 58004401 setarg mouse_g24_package_data 
+3d29 1a608ad8 add regc ,offset_24g_cb_data ,contw 
+3d2a e0a10000 istore 2 ,contw 
+3d2b 58004406 setarg mouse_g24_enter_lpm 
+3d2c 1a608ada add regc ,offset_24g_cb_lpm_prepare ,contw 
+3d2d e0a10000 istore 2 ,contw 
+3d2e 58003ebf setarg mouse_lpm_before_common 
+3d2f 1a608adc add regc ,offset_24g_cb_lpm_before ,contw 
+3d30 e0a10000 istore 2 ,contw 
+3d31 580041f9 setarg mouse_bb_event_timer 
+3d32 600141fd store 2 ,mem_cb_event_timer 
+3d33 58003d36 setarg mouse_spi_write_flash_cb 
+3d34 60014201 store 2 ,mem_cb_spi_flash_write_complate 
+3d35 20600000 rtn 
+
+mouse_spi_write_flash_cb:
+
+mouse_spi_init:
+3d36 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d37 c30964d7 bbit0 mouse_enable_spi2 ,spid_init 
+3d38 202064da branch spid_init2 
+
+mouse_setting_config:
+3d39 20758000 rtn wake 
+3d3a 20402c9d call g24_set_device_addr 
+3d3b 20403e6e call mouse_gpio_init 
+3d3c 20403e1e call mouse_param_init 
+3d3d 20403e54 call mouse_adc_init 
+3d3e 20405810 call le_set_config_fixed_ltk 
+3d3f 20405839 call le_set_justwork 
+3d40 2040582c call le_set_fixed_ltk 
+3d41 20405818 call le_set_config_read_authentication 
+3d42 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d43 c28a3d46 bbit1 mouse_enable_eeprom ,mouse_init_iic 
+3d44 c289c414 bbit1 mouse_enable_flash ,mouse_load_flash_info_cheak 
+3d45 20600000 rtn 
+
+mouse_init_iic:
+3d46 2040659c call iic_init_390k 
+3d47 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d48 2feffe19 isolate1 mouse_enable_2k_eeprom ,pdata 
+3d49 2440e5c2 ncall clear_eeprom_size_2k ,true 
+3d4a 2040443f call mouse_load_eeprom_dpi 
+3d4b 20403dc9 call mouse_init_environment 
+3d4c 204041aa call mouse_set_24g_addr_eeprom 
+3d4d 202065df branch iicd_read_eep_data 
+
+mouse_wakeup_from_power:
+3d4e 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d4f c30f3d53 bbit0 mouse_enable_wakeup_from_power ,mouse_wakeup_no_from_power 
+3d50 68008abd fetch 1 ,mem_wakup_from_power_flag 
+3d51 2fec0003 isolate0 gpio_latch ,pdata 
+3d52 24608000 nrtn true 
+
+mouse_wakeup_no_from_power:
+3d53 6800c71f fetch 1 ,mem_reconn_times_init 
+3d54 6000c71e store 1 ,mem_reconn_times 
+3d55 6800c6f5 fetch 1 ,mem_config_function_enable 
+3d56 c3830000 rtnbit1 enable_select_device_by_switch 
+
+mouse_start_24g_mode:
+3d57 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d58 c4088000 rtnbit0 mouse_enable_24g 
+3d59 c28eaee4 bbit1 mouse_enable_auto_24g_paring ,g24_auto_pair_start 
+3d5a 20202f2c branch g24_check_51cmd_start_24g 
+
+le_mouse_bb_event_connect_complete:
+3d5b 68008478 fetch 1 ,mem_le_att_handle 
+3d5c 1fe67e1a sub pdata ,26 ,pdata 
+3d5d 24628000 nrtn zero 
+3d5e 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+3d5f 20407d8f call ui_ipc_send_cmd 
+
+mouse_le_write_enable:
+3d60 d8e00000 arg write_req_enable_flag ,queue 
+3d61 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_dpi_up:
+3d62 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+3d63 c1008000 rtneq dpi_button_state_up 
+3d64 7046b601 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+3d65 20600000 rtn 
+
+mouse_dpi_config:
+3d66 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+3d67 1fe17e0f and pdata ,0x0f ,pdata 
+3d68 6000c77a store 1 ,mem_mouse_dpi 
+3d69 20203d80 branch mouse_seting_dpi + 2 
+
+mouse_dpi_cheak:
+3d6a 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+3d6b 2040681d call gpio_get_bit 
+3d6c 2420bd62 nbranch mouse_dpi_up ,true 
+
+mouse_dpi_down:
+3d6d 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+3d6e c1000000 rtneq dpi_button_state_down 
+3d6f 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+
+mouse_dpi_down_setting:
+3d70 6800c77a fetch 1 ,mem_mouse_dpi 
+3d71 1fe0fe01 increase 1 ,pdata 
+3d72 1fe17e03 and pdata ,0x03 ,pdata 
+3d73 6000c77a store 1 ,mem_mouse_dpi 
+3d74 20403d7e call mouse_seting_dpi 
+3d75 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3d76 c28a443b bbit1 mouse_enable_eeprom ,mouse_store_eerpom_dpi 
+3d77 c289bd79 bbit1 mouse_enable_flash ,mouse_before_store_flash_cpi 
+3d78 20600000 rtn 
+
+mouse_before_store_flash_cpi:
+3d79 d840001e arg mouse_spi2_clk_gpio ,temp 
+3d7a 2040680e call gpio_config_output 
+3d7b d840001f arg mouse_spi2_sdio_gpio ,temp 
+3d7c 2040680e call gpio_config_output 
+3d7d 20204435 branch mouse_store_flash_device_info 
+
+mouse_seting_dpi:
+3d7e 44f1c01c bpatch patch1c_3 ,mem_patch1c 
+3d7f 2040424a call mosue_dpi_led_blink_init 
+3d80 6800c6e0 fetch 1 ,mem_config_sensor_type 
+3d81 c002bdaa beq p3610 ,mouse_seting_3610_dpi 
+3d82 c0023d96 beq p3212 ,mouse_seting_3212_dpi 
+3d83 6800c77a fetch 1 ,mem_mouse_dpi 
+3d84 c0003d8a beq mouse_dpi_level1 ,mouse_set_cpi1 
+3d85 c000bd88 beq mouse_dpi_level2 ,mouse_set_cpi2 
+3d86 c0013d8c beq mouse_dpi_level3 ,mouse_set_cpi3 
+3d87 c001bd8e beq mouse_dpi_level4 ,mouse_set_cpi4 
+
+mouse_set_cpi2:
+3d88 6800c780 fetch 1 ,mem_320x_dpi_2 
+3d89 20203dbe branch mouse_p3205_dpi 
+
+mouse_set_cpi1:
+3d8a 6800c77f fetch 1 ,mem_320x_dpi_1 
+3d8b 20203dbe branch mouse_p3205_dpi 
+
+mouse_set_cpi3:
+3d8c 6800c781 fetch 1 ,mem_320x_dpi_3 
+3d8d 20203dbe branch mouse_p3205_dpi 
+
+mouse_set_cpi4:
+3d8e 6800c782 fetch 1 ,mem_320x_dpi_4 
+3d8f 20203dbe branch mouse_p3205_dpi 
+
+moue_seting_cpi_count:
+3d90 6800c6e0 fetch 1 ,mem_config_sensor_type 
+3d91 c1030000 rtneq p3065_xy 
+3d92 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+3d93 1fe0fe01 increase 1 ,pdata 
+3d94 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3d95 20600000 rtn 
+
+mouse_seting_3212_dpi:
+3d96 6800c77a fetch 1 ,mem_mouse_dpi 
+3d97 c0003d9d beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+3d98 c000bd9b beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+3d99 c0013d9f beq mouse_dpi_level3 ,mouse_set_p3212_cpi3 
+3d9a c001bda1 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+
+mouse_set_p3212_cpi2:
+3d9b 6800c784 fetch 1 ,mem_3212_dpi_2 
+3d9c 20203da2 branch mouse_p3212_dpi 
+
+mouse_set_p3212_cpi1:
+3d9d 6800c783 fetch 1 ,mem_3212_dpi_1 
+3d9e 20203da2 branch mouse_p3212_dpi 
+
+mouse_set_p3212_cpi3:
+3d9f 6800c785 fetch 1 ,mem_3212_dpi_3 
+3da0 20203da2 branch mouse_p3212_dpi 
+
+mouse_set_p3212_cpi4:
+3da1 6800c786 fetch 1 ,mem_3212_dpi_4 
+
+mouse_p3212_dpi:
+3da2 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3da3 1fed7e00 lshift8 pdata ,pdata 
+3da4 1fe22200 copy pdata ,rega 
+3da5 1fe0fe0d add pdata ,mouse_p3212_dpi_xaddress ,pdata 
+3da6 20406413 call twspi_write 
+3da7 1a227e00 copy rega ,pdata 
+3da8 1fe0fe0e add pdata ,mouse_p3212_dpi_yaddress ,pdata 
+3da9 20206413 branch twspi_write 
+
+mouse_seting_3610_dpi:
+3daa 6800c77a fetch 1 ,mem_mouse_dpi 
+3dab c0003db1 beq mouse_dpi_level1 ,mouse_set_p3610_cpi1 
+3dac c000bdaf beq mouse_dpi_level2 ,mouse_set_p3610_cpi2 
+3dad c0013db3 beq mouse_dpi_level3 ,mouse_set_p3610_cpi3 
+3dae c001bdb5 beq mouse_dpi_level4 ,mouse_set_p3610_cpi4 
+
+mouse_set_p3610_cpi2:
+3daf 6800c788 fetch 1 ,mem_3610_dpi_2 
+3db0 20203db6 branch mouse_p3610_dpi 
+
+mouse_set_p3610_cpi1:
+3db1 6800c787 fetch 1 ,mem_3610_dpi_1 
+3db2 20203db6 branch mouse_p3610_dpi 
+
+mouse_set_p3610_cpi3:
+3db3 6800c789 fetch 1 ,mem_3610_dpi_3 
+3db4 20203db6 branch mouse_p3610_dpi 
+
+mouse_set_p3610_cpi4:
+3db5 6800c78a fetch 1 ,mem_3610_dpi_4 
+
+mouse_p3610_dpi:
+3db6 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3db7 204040c0 call mouse_spi_sdio_gpio_pollup 
+3db8 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+
+mouse_reset_p3610_dpi:
+3db9 1fe0fe80 add pdata ,0x80 ,pdata 
+3dba 1fed7e00 lshift8 pdata ,pdata 
+3dbb 1fe0fe05 add pdata ,mouse_p3610_dpi_address ,pdata 
+3dbc 1fe22200 copy pdata ,rega 
+3dbd 2020415a branch mouse_set_sensor_reg 
+
+mouse_p3205_dpi:
+3dbe 6000c6b5 store 1 ,mem_mouse_cpi_count 
+3dbf 20403d90 call moue_seting_cpi_count 
+3dc0 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+3dc1 58000006 setarg mouse_dpi_address 
+3dc2 20406414 call twspi_read 
+3dc3 1fe104f8 and pdata ,0xf8 ,temp 
+3dc4 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+3dc5 9840fe00 iadd temp ,pdata 
+3dc6 1fed7e00 lshift8 pdata ,pdata 
+3dc7 1fe0fe06 add pdata ,mouse_dpi_address ,pdata 
+3dc8 20206413 branch twspi_write 
+
+mouse_init_environment:
+3dc9 204033c4 call app_initflag_check 
+3dca 2022c316 branch mouse_eeprom_load_recon_info ,zero 
+3dcb 2040441c call mouse_ble_init_address 
+3dcc 204042e4 call mouse_store_eeprom_device_info 
+3dcd 202033bd branch app_initflag_store 
+
+mouse_24g_pairing_button:
+3dce 68014707 fetch 2 ,mem_24g_pairing_timer_count 
+3dcf 207a0000 rtn blank 
+3dd0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3dd1 c4088000 rtnbit0 mouse_enable_24g 
+3dd2 c3818000 rtnbit1 mosue_24g_pairing_flag 
+3dd3 c6130000 rtnmark1 mark_24g 
+3dd4 20404083 call mouse_check_key_gpio 
+3dd5 c1838000 rtnne mouse_lmr_button 
+3dd6 20404482 call mouse_devce_led_off 
+3dd7 d8e00003 arg mosue_24g_pairing_flag ,queue 
+3dd8 204043ce call mouse_enable_function_flag 
+3dd9 58000000 setarg 0 
+3dda 600146ae store 2 ,mem_mouse_direct_timer 
+3ddb 6000c6b4 store 1 ,mem_mouse_send_blank_timer 
+3ddc 20403263 call g24_set0_mem_check_dongle_times 
+3ddd 68014682 fetch 2 ,mem_ui_state_map 
+3dde c283c392 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+3ddf c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+3de0 c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+3de1 204042ca call mouse_stop_discovery 
+3de2 20202ead branch g24_start_pairing_sm1 
+
+mouse_idle:
+3de3 20403dce call mouse_24g_pairing_button 
+3de4 20407e34 call ui_check_paring_button 
+3de5 20403d6a call mouse_dpi_cheak 
+3de6 20403de9 call mouse_usb_isr 
+3de7 20403ee0 call mouse_wheel_check 
+3de8 20203df7 branch mouse_usb_mode 
+
+mouse_usb_isr:
+3de9 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3dea c4080000 rtnbit0 mouse_enable_usb 
+3deb 204048d3 call usb_isr 
+3dec 202048fd branch usb_offline_state 
+
+mouse_cheak_usb:
+3ded 68108a04 hfetch 1 ,core_usb_addr 
+3dee c303bdf1 bbit0 7 ,mouse_usb_no_exsit 
+3def c283bdf4 bbit1 7 ,mouse_usb_exsit 
+3df0 20600000 rtn 
+
+mouse_usb_no_exsit:
+3df1 6800c6ff fetch 1 ,mem_usb_addr 
+3df2 c4038000 rtnbit0 7 
+3df3 2020659a branch soft_reset_chip 
+
+mouse_usb_exsit:
+3df4 6800c6ff fetch 1 ,mem_usb_addr 
+3df5 c3838000 rtnbit1 7 
+3df6 20204381 branch mouse_stop_bluetooth_mode 
+
+mouse_usb_mode:
+3df7 20403ded call mouse_cheak_usb 
+3df8 68108a04 hfetch 1 ,core_usb_addr 
+3df9 6000c6ff store 1 ,mem_usb_addr 
+3dfa c4038000 rtnbit0 7 
+3dfb 20403e07 call mouse_clkn_check 
+3dfc 680246f9 fetch 4 ,mem_btclk_sensor 
+3dfd 6808c6fd fetcht 1 ,mem_wire_usb_interval 
+3dfe 98408400 iadd temp ,temp 
+3dff 1c427e00 copy clkn_bt ,pdata 
+3e00 98467c00 isub temp ,null 
+3e01 24610000 nrtn positive 
+3e02 600246f9 store 4 ,mem_btclk_sensor 
+3e03 20403f97 call mouse_motion 
+3e04 24740000 nrtn user 
+3e05 700d3804 jam 4 ,mem_usb_tx_enable 
+3e06 20203e0f branch mouse_wired_to_usb 
+
+mouse_clkn_check:
+3e07 680a46f9 fetcht 4 ,mem_btclk_sensor 
+3e08 1c427e00 copy clkn_bt ,pdata 
+3e09 98467c00 isub temp ,null 
+3e0a 24413e0c ncall mouse_clkn_timeout ,positive 
+3e0b 20600000 rtn 
+
+mouse_clkn_timeout:
+3e0c 58000000 setarg 0 
+3e0d 600246f9 store 4 ,mem_btclk_sensor 
+3e0e 20600000 rtn 
+
+mouse_wired_to_usb:
+3e0f 68008d38 fetch 1 ,mem_usb_tx_enable 
+3e10 c4010000 rtnbit0 2 
+3e11 20203e12 branch mouse_data_push 
+
+mouse_data_push:
+3e12 68108a04 hfetch 1 ,core_usb_addr 
+3e13 c4038000 rtnbit0 7 
+3e14 700d5220 jam usb_ep2_ms ,mem_usb_ep2_data 
+3e15 58000001 setarg ms_report_id 
+3e16 60008d54 store 1 ,mem_usb_mouse_data 
+3e17 6803c69a fetch 7 ,mem_mouse_key 
+3e18 e0a38000 istore 7 ,contw 
+3e19 20600000 rtn 
+
+mouse_enable_clock_qdecoder:
+3e1a 68110050 hfetch 2 ,core_clkoff 
+3e1b 793ffe0b set0 clock_off_qdecoder ,pdata 
+3e1c 60110050 hstore 2 ,core_clkoff 
+3e1d 20600000 rtn 
+
+mouse_param_init:
+3e1e 58008c00 setarg 0x8c00 
+3e1f 60014575 store 2 ,mem_ui_uuid_table 
+3e20 58008e7a setarg 0x8e7a 
+3e21 600144bc store 2 ,mem_ui_le_uuid_table 
+3e22 58002402 setarg 0x2402 
+3e23 600140bd store 2 ,mem_fcomp_mul 
+3e24 58002580 setarg 0x2580 
+3e25 6001c0aa store 3 ,mem_class 
+3e26 70417303 jam 3 ,mem_lpm_mult_timeout 
+3e27 70415608 jam 8 ,mem_lpm_overhead 
+3e28 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+3e29 58000200 setarg 0x0200 
+3e2a 60014154 store 2 ,mem_lpm_interval 
+3e2b 7044a617 jam 0x17 ,mem_le_local_mtu 
+3e2c 7044a817 jam 0x17 ,mem_le_remote_mtu 
+3e2d 58000a77 setarg 0x0a77 
+3e2e 60014212 store 2 ,mem_spi_init_clk 
+3e2f 38000306 setsect 0 ,0x306 
+3e30 38044440 setsect 1 ,0x4440 
+3e31 38090000 setsect 2 ,0x10000 
+3e32 380c4408 setsect 3 ,0x4408 
+3e33 6004c577 store 9 ,mem_all_uuid_16bits 
+3e34 38001224 setsect 0 ,0x1224 
+3e35 38044000 setsect 1 ,0x4000 
+3e36 38080000 setsect 2 ,0x0 
+3e37 e0a28000 istore 5 ,contw 
+3e38 3803ffff setsect 0 ,0x3ffff 
+3e39 3806fe23 setsect 1 ,0x2fe23 
+3e3a 380999d9 setsect 2 ,0x199d9 
+3e3b 380c020d setsect 3 ,0x20d 
+3e3c 60044098 store 8 ,mem_features 
+3e3d 5800012c setarg 0x012c 
+3e3e 60014707 store 2 ,mem_24g_pairing_timer_count 
+3e3f 204057a3 call le_modified_name 
+3e40 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3e41 c40f8000 rtnbit0 mouse_enable_gpio_control_adc_sensor 
+3e42 20403e44 call mouse_sensor_set_angle 
+3e43 20203e4c branch mouse_select_adc 
+
+mouse_sensor_set_angle:
+3e44 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+3e45 204067fb call gpio_config_input 
+3e46 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+3e47 2040681d call gpio_get_bit 
+3e48 7046f603 jam mouse_3clk_angle ,mem_config_sensor_angle 
+3e49 20608000 rtn true 
+3e4a 7046f602 jam mouse_12clk_angle ,mem_config_sensor_angle 
+3e4b 20600000 rtn 
+
+mouse_select_adc:
+3e4c 6808c6f8 fetcht 1 ,mem_select_adc_gpio 
+3e4d 204067fb call gpio_config_input 
+3e4e 6808c6f8 fetcht 1 ,mem_select_adc_gpio 
+3e4f 2040681d call gpio_get_bit 
+3e50 70422d00 jam adc_config_vinlpm ,mem_adc_config_flag 
+3e51 20608000 rtn true 
+3e52 70422d02 jam adc_config_gpio ,mem_adc_config_flag 
+3e53 20600000 rtn 
+
+mouse_adc_init:
+3e54 6800c22d fetch 1 ,mem_adc_config_flag 
+3e55 c0003e59 beq adc_config_vinlpm ,mouse_adc_init_data_vinlpm 
+3e56 c000be62 beq adc_config_hvin ,mouse_adc_init_data_hvin 
+3e57 c0013e6b beq adc_config_gpio ,mouse_adc_init_data_io 
+3e58 20203e59 branch mouse_adc_init_data_vinlpm 
+
+mouse_adc_init_data_vinlpm:
+3e59 68094221 fetcht 2 ,mem_2v_adc_vinlpm_data 
+3e5a 68014227 fetch 2 ,mem_3v_adc_vinlpm_data 
+3e5b 98467e00 isub temp ,pdata 
+3e5c 1feffe14 mul32 pdata ,20 ,pdata 
+3e5d 1fe6fc64 div pdata ,100 
+3e5e 20407f86 call wait_div_end 
+3e5f 1807fe00 quotient pdata 
+3e60 600146d0 store 2 ,mem_adc_reference_voltage 
+3e61 20600000 rtn 
+
+mouse_adc_init_data_hvin:
+3e62 6809421f fetcht 2 ,mem_1v_adc_hvin_data 
+3e63 68014225 fetch 2 ,mem_5v_adc_hvin_data 
+3e64 98467e00 isub temp ,pdata 
+3e65 1feffee6 mul32 pdata ,230 ,pdata 
+3e66 1fe6fd90 div pdata ,400 
+3e67 20407f86 call wait_div_end 
+3e68 1807fe00 quotient pdata 
+3e69 600146d0 store 2 ,mem_adc_reference_voltage 
+3e6a 20600000 rtn 
+
+mouse_adc_init_data_io:
+3e6b 68014223 fetch 2 ,mem_1v_adc_io_data 
+3e6c 600146d0 store 2 ,mem_adc_reference_voltage 
+3e6d 20600000 rtn 
+
+mouse_gpio_init:
+3e6e 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+3e6f 2040680e call gpio_config_output 
+3e70 204048fb call usb_offline_check_init 
+3e71 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+3e72 204067fb call gpio_config_input 
+3e73 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+3e74 204067fb call gpio_config_input 
+3e75 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+3e76 204067fb call gpio_config_input 
+3e77 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3e78 204067fb call gpio_config_input 
+3e79 6808c6dc fetcht 1 ,mem_sensor_reset_gpio 
+3e7a 2040680e call gpio_config_output 
+3e7b 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3e7c 204067fb call gpio_config_input 
+3e7d 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3e7e 204067fb call gpio_config_input 
+3e7f 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3e80 204067fb call gpio_config_input 
+3e81 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3e82 204067fb call gpio_config_input 
+3e83 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+3e84 204067fb call gpio_config_input 
+3e85 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+3e86 204067fb call gpio_config_input 
+3e87 6808c6ef fetcht 1 ,mem_config_low_voltage_alarm_gpio 
+3e88 2040680e call gpio_config_output 
+3e89 6808c6f0 fetcht 1 ,mem_config_device1_led_gpio 
+3e8a 2040680e call gpio_config_output 
+3e8b 6808c6f1 fetcht 1 ,mem_config_device2_led_gpio 
+3e8c 2040680e call gpio_config_output 
+3e8d 6808c6f2 fetcht 1 ,mem_config_device3_led_gpio 
+3e8e 2040680e call gpio_config_output 
+3e8f 6808c6f4 fetcht 1 ,mem_dpi_led_gpio 
+3e90 2040680e call gpio_config_output 
+3e91 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+3e92 204067fb call gpio_config_input 
+3e93 6808c6ec fetcht 1 ,mem_config_bt_button_gpio 
+3e94 204067fb call gpio_config_input 
+3e95 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+3e96 202067fb branch gpio_config_input 
+
+mouse_wheel_gpio_set_wake:
+3e97 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3e98 204067dd call gpio_set_wake_by_current_state 
+3e99 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3e9a 204067dd call gpio_set_wake_by_current_state 
+3e9b 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3e9c 204067dd call gpio_set_wake_by_current_state 
+3e9d 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3e9e 202067dd branch gpio_set_wake_by_current_state 
+
+mouse_before_hibernate_wheel_gpio_set:
+3e9f 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3ea0 20403ea7 call mouse_gpio_set_pupd_by_input 
+3ea1 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3ea2 20403ea7 call mouse_gpio_set_pupd_by_input 
+3ea3 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3ea4 20403ea7 call mouse_gpio_set_pupd_by_input 
+3ea5 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3ea6 20203ea7 branch mouse_gpio_set_pupd_by_input 
+
+mouse_gpio_set_pupd_by_input:
+3ea7 18467cff sub temp ,ui_button_gpio_disable ,null 
+3ea8 20628000 rtn zero 
+3ea9 18410e7f and temp ,0x7f ,queue 
+3eaa 6812011c hfetch 4 ,core_gpio_in 
+3eab afefffff qisolate1 pdata 
+3eac 68120078 hfetch 4 ,core_gpio_pu0 
+3ead f920fe00 qsetflag true ,pdata 
+3eae 60120078 hstore 4 ,core_gpio_pu0 
+3eaf 6812007c hfetch 4 ,core_gpio_pd0 
+3eb0 fd20fe00 nqsetflag true ,pdata 
+3eb1 6012007c hstore 4 ,core_gpio_pd0 
+3eb2 20600000 rtn 
+
+mouse_before_hibernate:
+3eb3 78347c00 enable user 
+3eb4 68120138 hfetch 4 ,0x8138 
+3eb5 79347e1a setflag user ,26 ,pdata 
+3eb6 6012004c hstore 4 ,core_lpm_reg 
+3eb7 20402c21 call lpm_write_ctrl 
+3eb8 20404482 call mouse_devce_led_off 
+3eb9 20403e9f call mouse_before_hibernate_wheel_gpio_set 
+3eba 20203ebf branch mouse_lpm_before_common 
+
+mouse_process_lpm_before:
+3ebb 20403ebf call mouse_lpm_before_common 
+3ebc 680080a0 fetch 1 ,mem_lpm_current_mult 
+3ebd 247a0000 nrtn blank 
+3ebe 202067ed branch gpio_clr_wake 
+
+mouse_lpm_before_common:
+3ebf 20403ee0 call mouse_wheel_check 
+3ec0 d8400019 arg mouse_spi1_clk_gpio ,temp 
+3ec1 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3ec2 2feffe12 isolate1 mouse_enable_spi2 ,pdata 
+3ec3 2040bede call mouse_spi_clk_gpio ,true 
+3ec4 2040680e call gpio_config_output 
+3ec5 204063ee call twspi_disable 
+3ec6 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+3ec7 204067dd call gpio_set_wake_by_current_state 
+3ec8 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+3ec9 204067dd call gpio_set_wake_by_current_state 
+3eca 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+3ecb 204067dd call gpio_set_wake_by_current_state 
+3ecc 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+3ecd 204067dd call gpio_set_wake_by_current_state 
+3ece 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+3ecf 204067dd call gpio_set_wake_by_current_state 
+3ed0 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+3ed1 204067dd call gpio_set_wake_by_current_state 
+3ed2 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+3ed3 204067dd call gpio_set_wake_by_current_state 
+3ed4 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3ed5 204067dd call gpio_set_wake_by_current_state 
+3ed6 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3ed7 204067dd call gpio_set_wake_by_current_state 
+3ed8 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3ed9 204067dd call gpio_set_wake_by_current_state 
+3eda 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3edb 204067dd call gpio_set_wake_by_current_state 
+3edc 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3edd 202067e1 branch gpio_set_wake 
+
+mouse_spi_clk_gpio:
+3ede d840001e arg mouse_spi2_clk_gpio ,temp 
+3edf 20600000 rtn 
+
+mouse_wheel_check:
+3ee0 44f2401c bpatch patch1c_4 ,mem_patch1c 
+3ee1 20403eee call mouse_t_wheel_scan 
+3ee2 20403f36 call mouse_wheel_scan 
+3ee3 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3ee4 6808c6b7 fetcht 1 ,mem_wheel_tb_old_pinlevel 
+3ee5 6000c6b7 store 1 ,mem_wheel_tb_old_pinlevel 
+3ee6 98467c00 isub temp ,null 
+3ee7 2422b3d4 nbranch app_lpm_wake_auto_lock ,zero 
+3ee8 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3ee9 6808c6bd fetcht 1 ,mem_mwheel_b_old_pinlevel 
+3eea 6000c6bd store 1 ,mem_mwheel_b_old_pinlevel 
+3eeb 98467c00 isub temp ,null 
+3eec 2422b3d4 nbranch app_lpm_wake_auto_lock ,zero 
+3eed 20600000 rtn 
+
+mouse_t_wheel_scan:
+3eee 6800c6ea fetch 1 ,mem_whee_ta_data_gpio 
+3eef c17f8000 rtneq gpio_disable 
+3ef0 da200000 arg 0 ,rega 
+3ef1 6808c6ea fetcht 1 ,mem_whee_ta_data_gpio 
+3ef2 2040681d call gpio_get_bit 
+3ef3 7920a200 setflag true ,0 ,rega 
+3ef4 6808c6eb fetcht 1 ,mem_whee_tb_data_gpio 
+3ef5 2040681d call gpio_get_bit 
+3ef6 7920a201 setflag true ,1 ,rega 
+3ef7 1a227e00 copy rega ,pdata 
+3ef8 6000c6b8 store 1 ,mem_wheel_tb_new_pinlevel 
+3ef9 c000befe beq 0x01 ,mouse_t_wheel_scan_judge1 
+3efa c0013f02 beq 0x02 ,mouse_t_wheel_scan_judge2 
+3efb 6800c6b9 fetch 1 ,mem_wheel_tog 
+3efc c283bf0e bbit1 7 ,mouse_t_wheel_scan_judge3 
+3efd 20600000 rtn 
+
+mouse_t_wheel_scan_judge1:
+3efe 6800c6b7 fetch 1 ,mem_wheel_tb_old_pinlevel 
+3eff c0003f06 beq 0 ,mouse_t_wheel_scan_judge11 
+3f00 c001bf08 beq 3 ,mouse_t_wheel_scan_judge12 
+3f01 20600000 rtn 
+
+mouse_t_wheel_scan_judge2:
+3f02 6800c6b7 fetch 1 ,mem_wheel_tb_old_pinlevel 
+3f03 c0003f0a beq 0 ,mouse_t_wheel_scan_judge21 
+3f04 c001bf0c beq 3 ,mouse_t_wheel_scan_judge22 
+3f05 20600000 rtn 
+
+mouse_t_wheel_scan_judge11:
+3f06 7046b982 jam 0x82 ,mem_wheel_tog 
+3f07 20600000 rtn 
+
+mouse_t_wheel_scan_judge12:
+3f08 7046b981 jam 0x81 ,mem_wheel_tog 
+3f09 20600000 rtn 
+
+mouse_t_wheel_scan_judge21:
+3f0a 7046b980 jam 0x80 ,mem_wheel_tog 
+3f0b 20600000 rtn 
+
+mouse_t_wheel_scan_judge22:
+3f0c 7046b983 jam 0x83 ,mem_wheel_tog 
+3f0d 20600000 rtn 
+
+mouse_t_wheel_scan_judge3:
+3f0e 6800c6b9 fetch 1 ,mem_wheel_tog 
+3f0f 793ffe07 set0 7 ,pdata 
+3f10 6000c6b9 store 1 ,mem_wheel_tog 
+3f11 c0003f16 beq 0 ,mouse_t_wheel_scan_judge30 
+3f12 c000bf19 beq 1 ,mouse_t_wheel_scan_judge31 
+3f13 c0013f1c beq 2 ,mouse_t_wheel_scan_judge32 
+3f14 c001bf1f beq 3 ,mouse_t_wheel_scan_judge33 
+3f15 20600000 rtn 
+
+mouse_t_wheel_scan_judge30:
+3f16 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f17 c001bf22 beq 3 ,mouse_wheel_t_forward 
+3f18 20600000 rtn 
+
+mouse_t_wheel_scan_judge31:
+3f19 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f1a c0003f22 beq 0 ,mouse_wheel_t_forward 
+3f1b 20600000 rtn 
+
+mouse_t_wheel_scan_judge32:
+3f1c 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f1d c001bf2c beq 3 ,mouse_wheel_t_back 
+3f1e 20600000 rtn 
+
+mouse_t_wheel_scan_judge33:
+3f1f 6800c6b8 fetch 1 ,mem_wheel_tb_new_pinlevel 
+3f20 c0003f2c beq 0 ,mouse_wheel_t_back 
+3f21 20600000 rtn 
+
+mouse_wheel_t_forward:
+3f22 6800c6bc fetch 1 ,mem_mouse_tz_data_count1 
+3f23 1fe0fe01 increase 1 ,pdata 
+3f24 6000c6bc store 1 ,mem_mouse_tz_data_count1 
+3f25 1fe67c01 sub pdata ,1 ,null 
+3f26 20610000 rtn positive 
+3f27 7046bc00 jam 0 ,mem_mouse_tz_data_count1 
+3f28 6800c6ba fetch 1 ,mem_mouse_tz_data 
+3f29 1fe0fe01 increase 1 ,pdata 
+3f2a 6000c6ba store 1 ,mem_mouse_tz_data 
+3f2b 20600000 rtn 
+
+mouse_wheel_t_back:
+3f2c 6800c6bb fetch 1 ,mem_mouse_tz_data_count 
+3f2d 1fe0fe01 increase 1 ,pdata 
+3f2e 6000c6bb store 1 ,mem_mouse_tz_data_count 
+3f2f 1fe67c01 sub pdata ,1 ,null 
+3f30 20610000 rtn positive 
+3f31 7046bb00 jam 0 ,mem_mouse_tz_data_count 
+3f32 6800c6ba fetch 1 ,mem_mouse_tz_data 
+3f33 1fe0ffff increase -1 ,pdata 
+3f34 6000c6ba store 1 ,mem_mouse_tz_data 
+3f35 20600000 rtn 
+
+mouse_wheel_scan:
+3f36 6800c6e8 fetch 1 ,mem_whee_a_data_gpio 
+3f37 c17f8000 rtneq gpio_disable 
+3f38 da200000 arg 0 ,rega 
+3f39 6808c6e8 fetcht 1 ,mem_whee_a_data_gpio 
+3f3a 2040681d call gpio_get_bit 
+3f3b 7920a200 setflag true ,0 ,rega 
+3f3c 6808c6e9 fetcht 1 ,mem_whee_b_data_gpio 
+3f3d 2040681d call gpio_get_bit 
+3f3e 7920a201 setflag true ,1 ,rega 
+3f3f 1a227e00 copy rega ,pdata 
+3f40 6000c6be store 1 ,mem_mwheel_b_new_pinlevel 
+3f41 c000bf46 beq 0x01 ,mouse_wheel_scan_judge1 
+3f42 c0013f4a beq 0x02 ,mouse_wheel_scan_judge2 
+3f43 6800c6bf fetch 1 ,mem_mwheel_tog 
+3f44 c283bf56 bbit1 7 ,mouse_wheel_scan_judge3 
+3f45 20600000 rtn 
+
+mouse_wheel_scan_judge1:
+3f46 6800c6bd fetch 1 ,mem_mwheel_b_old_pinlevel 
+3f47 c0003f4e beq 0 ,mouse_wheel_scan_judge11 
+3f48 c001bf50 beq 3 ,mouse_wheel_scan_judge12 
+3f49 20600000 rtn 
+
+mouse_wheel_scan_judge2:
+3f4a 6800c6bd fetch 1 ,mem_mwheel_b_old_pinlevel 
+3f4b c0003f52 beq 0 ,mouse_wheel_scan_judge21 
+3f4c c001bf54 beq 3 ,mouse_wheel_scan_judge22 
+3f4d 20600000 rtn 
+
+mouse_wheel_scan_judge11:
+3f4e 7046bf82 jam 0x82 ,mem_mwheel_tog 
+3f4f 20600000 rtn 
+
+mouse_wheel_scan_judge12:
+3f50 7046bf81 jam 0x81 ,mem_mwheel_tog 
+3f51 20600000 rtn 
+
+mouse_wheel_scan_judge21:
+3f52 7046bf80 jam 0x80 ,mem_mwheel_tog 
+3f53 20600000 rtn 
+
+mouse_wheel_scan_judge22:
+3f54 7046bf83 jam 0x83 ,mem_mwheel_tog 
+3f55 20600000 rtn 
+
+mouse_wheel_scan_judge3:
+3f56 6800c6bf fetch 1 ,mem_mwheel_tog 
+3f57 793ffe07 set0 7 ,pdata 
+3f58 6000c6bf store 1 ,mem_mwheel_tog 
+3f59 c0003f5e beq 0 ,mouse_wheel_scan_judge30 
+3f5a c000bf61 beq 1 ,mouse_wheel_scan_judge31 
+3f5b c0013f64 beq 2 ,mouse_wheel_scan_judge32 
+3f5c c001bf67 beq 3 ,mouse_wheel_scan_judge33 
+3f5d 20600000 rtn 
+
+mouse_wheel_scan_judge30:
+3f5e 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f5f c001bf6a beq 3 ,mouse_wheel_forward 
+3f60 20600000 rtn 
+
+mouse_wheel_scan_judge31:
+3f61 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f62 c0003f6a beq 0 ,mouse_wheel_forward 
+3f63 20600000 rtn 
+
+mouse_wheel_scan_judge32:
+3f64 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f65 c001bf6f beq 3 ,mouse_wheel_back 
+3f66 20600000 rtn 
+
+mouse_wheel_scan_judge33:
+3f67 6800c6be fetch 1 ,mem_mwheel_b_new_pinlevel 
+3f68 c0003f6f beq 0 ,mouse_wheel_back 
+3f69 20600000 rtn 
+
+mouse_wheel_forward:
+3f6a 7046c200 jam 0 ,mem_mouse_z_data_count1 
+3f6b 6800c6c0 fetch 1 ,mem_mouse_z_data 
+3f6c 1fe0fe01 increase 1 ,pdata 
+3f6d 6000c6c0 store 1 ,mem_mouse_z_data 
+3f6e 20600000 rtn 
+
+mouse_wheel_back:
+3f6f 7046c100 jam 0 ,mem_mouse_z_data_count 
+3f70 6800c6c0 fetch 1 ,mem_mouse_z_data 
+3f71 1fe0ffff increase -1 ,pdata 
+3f72 6000c6c0 store 1 ,mem_mouse_z_data 
+3f73 20600000 rtn 
+
+mouse_hid_connected:
+3f74 58000002 setarg hid_handshake_timeout 
+3f75 6000c680 store 1 ,mem_hid_handshake_timer_count 
+3f76 20600000 rtn 
+
+mouse_send_process:
+3f77 6800c1e2 fetch 1 ,mem_app_handshake_flag 
+3f78 207a0000 rtn blank 
+3f79 20405271 call l2cap_malloc_is_fifo_nearly_full 
+3f7a 247a0000 nrtn blank 
+3f7b 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+3f7c c281bf8a bbit1 mosue_24g_pairing_flag ,mouse_send_empty_data 
+3f7d c2803f8a bbit1 mouse_select_device_flag ,mouse_send_empty_data 
+3f7e c282bf8a bbit1 mouse_bt_discovery_button_down_flag ,mouse_send_empty_data 
+3f7f 20403f97 call mouse_motion 
+3f80 24740000 nrtn user 
+
+mouse_send_data:
+3f81 da200009 arg 9 ,rega 
+3f82 20404d63 call hid_malloc_tx_buff 
+3f83 6801424e fetch 2 ,mem_hid_int_remote_cid 
+3f84 e0a10000 istore 2 ,contw 
+3f85 580002a1 setarg 0x02a1 
+3f86 e0a10000 istore 2 ,contw 
+3f87 6803c69a fetch 7 ,mem_mouse_key 
+3f88 e0a38000 istore 7 ,contw 
+3f89 20600000 rtn 
+
+mouse_send_empty_data:
+3f8a 58000000 setarg 0 
+3f8b 6003c69a store 7 ,mem_mouse_key 
+3f8c 20203f81 branch mouse_send_data 
+
+mouse_no_data_timer_init:
+3f8d 680146aa fetch 2 ,mem_mouse_no_data_timeout 
+3f8e 600146b0 store 2 ,mem_mouse_no_data_timer 
+3f8f 20600000 rtn 
+
+mouse_fill_data_le:
+3f90 44f2c01c bpatch patch1c_5 ,mem_patch1c 
+3f91 da200007 arg 7 ,rega 
+3f92 6809446f fetcht 2 ,mem_le_notify_handle 
+3f93 20405a64 call le_att_malloc_tx_notify 
+3f94 6803c69a fetch 7 ,mem_mouse_key 
+3f95 e0a38000 istore 7 ,contw 
+3f96 20600000 rtn 
+
+mouse_motion:
+3f97 44f3401c bpatch patch1c_6 ,mem_patch1c 
+3f98 78547c00 disable user 
+3f99 58000000 setarg 0 
+3f9a 6003469b store 6 ,mem_mouse_x 
+3f9b 20403fb5 call mouse_cheak_sensor_data 
+3f9c 20404079 call mouse_zwheel 
+3f9d 2040407e call mouse_t_zwheel 
+3f9e 20404099 call mouse_key 
+3f9f 24740000 nrtn user 
+3fa0 20403f8d call mouse_no_data_timer_init 
+3fa1 d8e00008 arg mouse_statue_up_flag ,queue 
+3fa2 202043ce branch mouse_enable_function_flag 
+
+motion_6clk_direction_dispose:
+3fa3 6801469b fetch 2 ,mem_mouse_x 
+3fa4 1fe67e00 sub pdata ,0 ,pdata 
+3fa5 6001469b store 2 ,mem_mouse_x 
+3fa6 20207fe7 branch enable_user 
+
+motion_12clk_direction_dispose:
+3fa7 6801469d fetch 2 ,mem_mouse_y 
+3fa8 1fe67e00 sub pdata ,0 ,pdata 
+3fa9 6001469d store 2 ,mem_mouse_y 
+3faa 20207fe7 branch enable_user 
+
+motion_9clk_direction_dispose:
+3fab 6801469d fetch 2 ,mem_mouse_y 
+3fac 1fe67e00 sub pdata ,0 ,pdata 
+3fad 6001469d store 2 ,mem_mouse_y 
+3fae 6801469b fetch 2 ,mem_mouse_x 
+3faf 1fe67e00 sub pdata ,0 ,pdata 
+3fb0 6001469b store 2 ,mem_mouse_x 
+3fb1 20404002 call mouse_sensor_data_swap_places 
+3fb2 20207fe7 branch enable_user 
+
+motion_3clk_direction_dispose:
+3fb3 20404002 call mouse_sensor_data_swap_places 
+3fb4 20207fe7 branch enable_user 
+
+mouse_cheak_sensor_data:
+3fb5 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+3fb6 c1800000 rtnne flash_sm_no_buys 
+3fb7 6800c6e0 fetch 1 ,mem_config_sensor_type 
+3fb8 c0003fe2 beq p3205 ,mouse_p32xx_sensor_motion 
+3fb9 c000bfe2 beq p3065 ,mouse_p32xx_sensor_motion 
+3fba c0013fe2 beq ka8 ,mouse_p32xx_sensor_motion 
+3fbb c001bfe2 beq p3204 ,mouse_p32xx_sensor_motion 
+3fbc c0023fc4 beq p3212 ,mouse_p3212_sensor_motion 
+3fbd c002c010 beq p3610 ,mouse_p3610_sensor_motion 
+3fbe c0033fe2 beq p3065_xy ,mouse_p32xx_sensor_motion 
+3fbf 20203fe2 branch mouse_p32xx_sensor_motion 
+
+mouse_clear_sensor_data:
+3fc0 6800c6a7 fetch 1 ,mem_mouse_move_flag 
+3fc1 205a405d call mouse_read_sensor_common ,blank 
+3fc2 7046a701 jam 1 ,mem_mouse_move_flag 
+3fc3 20600000 rtn 
+
+mouse_p3212_sensor_motion:
+3fc4 20403fc0 call mouse_clear_sensor_data 
+3fc5 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3fc6 2040681d call gpio_get_bit 
+3fc7 24608000 nrtn true 
+
+mouse_p3212_sensor_motion_1:
+3fc8 58000000 setarg pan_reg_pid_l 
+3fc9 20406414 call twspi_read 
+3fca c09840d1 bne p32xx_id1 ,mouse_twspi_reset 
+3fcb 58000002 setarg pan_reg_motion_staus 
+3fcc 20406414 call twspi_read 
+3fcd c4038000 rtnbit0 7 
+3fce 2040405d call mouse_read_sensor_common 
+3fcf 20403fde call mouse_read_3212sensor_xy_high 
+3fd0 6000c6a1 store 1 ,mem_mouse_xy_h 
+3fd1 1ff1fe00 rshift4 pdata ,pdata 
+3fd2 20404169 call extsign_bit3 
+3fd3 6000c69c store 1 ,mem_mouse_x + 1 
+3fd4 6800c6a1 fetch 1 ,mem_mouse_xy_h 
+3fd5 1fe17e0f and pdata ,0x0f ,pdata 
+3fd6 20404169 call extsign_bit3 
+3fd7 6000c69e store 1 ,mem_mouse_y + 1 
+3fd8 6800c6f6 fetch 1 ,mem_config_sensor_angle 
+3fd9 c0003fa3 beq mouse_6clk_angle ,motion_6clk_direction_dispose 
+3fda c000bfab beq mouse_9clk_angle ,motion_9clk_direction_dispose 
+3fdb c0013fa7 beq mouse_12clk_angle ,motion_12clk_direction_dispose 
+3fdc c001bfb3 beq mouse_3clk_angle ,motion_3clk_direction_dispose 
+3fdd 20600000 rtn 
+
+mouse_read_3212sensor_xy_high:
+3fde 58000012 setarg 0x12 
+3fdf 20206414 branch twspi_read 
+
+mouse_p3065_judge:
+3fe0 c018bfea beq p3065_id1 ,mouse_p32xx_sensor_motion_1 
+3fe1 202040d1 branch mouse_twspi_reset 
+
+mouse_p32xx_sensor_motion:
+3fe2 20403fc0 call mouse_clear_sensor_data 
+3fe3 78547c00 disable user 
+3fe4 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+3fe5 2040681d call gpio_get_bit 
+3fe6 24608000 nrtn true 
+
+mouse_p32xx_sensor_motion_2:
+3fe7 58000000 setarg pan_reg_pid_l 
+3fe8 20406414 call twspi_read 
+3fe9 c0983fe0 bne p32xx_id1 ,mouse_p3065_judge 
+
+mouse_p32xx_sensor_motion_1:
+3fea 58000002 setarg pan_reg_motion_staus 
+3feb 20406414 call twspi_read 
+3fec c4038000 rtnbit0 7 
+3fed 2040405d call mouse_read_sensor_common 
+3fee 6800c69b fetch 1 ,mem_mouse_x 
+3fef 20404165 call extsign 
+3ff0 6001469b store 2 ,mem_mouse_x 
+3ff1 6800c69d fetch 1 ,mem_mouse_y 
+3ff2 20404165 call extsign 
+3ff3 6001469d store 2 ,mem_mouse_y 
+3ff4 6800c6f6 fetch 1 ,mem_config_sensor_angle 
+3ff5 c0003ffa beq mouse_6clk_angle ,motion32xx_6clk_direction_selection 
+3ff6 c000bffc beq mouse_9clk_angle ,motion32xx_9clk_direction_selection 
+3ff7 c0013ffe beq mouse_12clk_angle ,motion32xx_12clk_direction_selection 
+3ff8 c001c000 beq mouse_3clk_angle ,motion32xx_3clk_direction_selection 
+3ff9 20600000 rtn 
+
+motion32xx_6clk_direction_selection:
+3ffa 20403fa3 call motion_6clk_direction_dispose 
+3ffb 202040b3 branch mouse_sensor_sdio_low 
+
+motion32xx_9clk_direction_selection:
+3ffc 20403fab call motion_9clk_direction_dispose 
+3ffd 202040b3 branch mouse_sensor_sdio_low 
+
+motion32xx_12clk_direction_selection:
+3ffe 20403fa7 call motion_12clk_direction_dispose 
+3fff 202040b3 branch mouse_sensor_sdio_low 
+
+motion32xx_3clk_direction_selection:
+4000 20403fb3 call motion_3clk_direction_dispose 
+4001 202040b3 branch mouse_sensor_sdio_low 
+
+mouse_sensor_data_swap_places:
+4002 6801469d fetch 2 ,mem_mouse_y 
+4003 6809469b fetcht 2 ,mem_mouse_x 
+4004 6001469b store 2 ,mem_mouse_x 
+4005 6009469d storet 2 ,mem_mouse_y 
+4006 20600000 rtn 
+
+mouse_p3610sensor_read:
+4007 2040640f call spi_ncs_enable 
+4008 20000064 nop 100 
+4009 1a427e00 copy regb ,pdata 
+400a 20406414 call twspi_read 
+400b 1fe22400 copy pdata ,regb 
+400c 20406411 call spi_ncs_disable 
+400d 20000064 nop 100 
+400e 1a427e00 copy regb ,pdata 
+400f 20600000 rtn 
+
+mouse_p3610_sensor_motion:
+4010 78547c00 disable user 
+4011 6808c6f3 fetcht 1 ,mem_sensor_data_gpio 
+4012 2040681d call gpio_get_bit 
+4013 24608000 nrtn true 
+4014 da400002 arg pan_reg_motion_staus ,regb 
+4015 20404007 call mouse_p3610sensor_read 
+4016 c4038000 rtnbit0 7 
+4017 da400000 arg pan_reg_pid_l ,regb 
+4018 20404007 call mouse_p3610sensor_read 
+4019 6000c6dd store 1 ,mem_sensor_id1 
+401a c09f4145 bne p3610_id1 ,mouse_init_3610sensor_reset 
+401b 6800c6a7 fetch 1 ,mem_mouse_move_flag 
+401c 205a4039 call mouse_read_sensor3610_data ,blank 
+401d 7046a701 jam 1 ,mem_mouse_move_flag 
+401e 20404039 call mouse_read_sensor3610_data 
+401f 6800c6a1 fetch 1 ,mem_mouse_xy_h 
+4020 1ff1fe00 rshift4 pdata ,pdata 
+4021 20404169 call extsign_bit3 
+4022 6000c69c store 1 ,mem_mouse_x + 1 
+4023 6800c6a1 fetch 1 ,mem_mouse_xy_h 
+4024 1fe17e0f and pdata ,0x0f ,pdata 
+4025 20404169 call extsign_bit3 
+4026 6000c69e store 1 ,mem_mouse_y + 1 
+4027 6800c6f6 fetch 1 ,mem_config_sensor_angle 
+4028 c0004031 beq 0 ,motion3610_6clk_direction_selection 
+4029 c000c035 beq 1 ,motion3610_9clk_direction_selection 
+402a c0014033 beq 2 ,motion3610_12clk_direction_selection 
+402b c001c037 beq 3 ,motion3610_3clk_direction_selection 
+402c 20600000 rtn 
+
+mouse_3610_smart_select:
+402d 6800c6a4 fetch 1 ,mem_sensor_smart_flag 
+402e c0004051 beq p3610_smart_enable ,mouse_3610_smart_disable 
+402f c000c045 beq p3610_smart_disable ,mouse_3610_smart_enable 
+4030 20600000 rtn 
+
+motion3610_6clk_direction_selection:
+4031 20403fa3 call motion_6clk_direction_dispose 
+4032 2020402d branch mouse_3610_smart_select 
+
+motion3610_12clk_direction_selection:
+4033 20403fa7 call motion_12clk_direction_dispose 
+4034 2020402d branch mouse_3610_smart_select 
+
+motion3610_9clk_direction_selection:
+4035 20403fab call motion_9clk_direction_dispose 
+4036 2020402d branch mouse_3610_smart_select 
+
+motion3610_3clk_direction_selection:
+4037 20403fb3 call motion_3clk_direction_dispose 
+4038 2020402d branch mouse_3610_smart_select 
+
+mouse_read_sensor3610_data:
+4039 2040640f call spi_ncs_enable 
+403a 2040405d call mouse_read_sensor_common 
+403b dfe00005 arg 5 ,pdata 
+403c 20406414 call twspi_read 
+403d 6000c6a1 store 1 ,mem_mouse_xy_h 
+403e dfe00007 arg 7 ,pdata 
+403f 20406414 call twspi_read 
+4040 6000c6a2 store 1 ,mem_sensor_shutter_hi 
+4041 dfe00008 arg 8 ,pdata 
+4042 20406414 call twspi_read 
+4043 6000c6a3 store 1 ,mem_sensor_shutter_lo 
+4044 20206411 branch spi_ncs_disable 
+
+mouse_3610_smart_enable:
+4045 6800c6a2 fetch 1 ,mem_sensor_shutter_hi 
+4046 c1800000 rtnne 0 
+4047 6800c6a3 fetch 1 ,mem_sensor_shutter_lo 
+4048 1fe67c2d sub pdata ,45 ,null 
+4049 20610000 rtn positive 
+404a 7046a400 jam p3610_smart_enable ,mem_sensor_smart_flag 
+404b 5800ba41 setarg 0xba41 
+404c 20406405 call sensor_write 
+404d 58000032 setarg 0x0032 
+404e 20406405 call sensor_write 
+404f 5800b541 setarg 0xb541 
+4050 20206405 branch sensor_write 
+
+mouse_3610_smart_disable:
+4051 6800c6a2 fetch 1 ,mem_sensor_shutter_hi 
+4052 c1800000 rtnne 0 
+4053 6800c6a3 fetch 1 ,mem_sensor_shutter_lo 
+4054 1fe67c2d sub pdata ,45 ,null 
+4055 24610000 nrtn positive 
+4056 7046a401 jam p3610_smart_disable ,mem_sensor_smart_flag 
+4057 5800ba41 setarg 0xba41 
+4058 20406405 call sensor_write 
+4059 58008032 setarg 0x8032 
+405a 20406405 call sensor_write 
+405b 5800b541 setarg 0xb541 
+405c 20206405 branch sensor_write 
+
+mouse_read_sensor_common:
+405d dfe00003 arg pan_reg_delta_x ,pdata 
+405e 20406414 call twspi_read 
+405f 6001469b store 2 ,mem_mouse_x 
+4060 dfe00004 arg pan_reg_delta_y ,pdata 
+4061 20406414 call twspi_read 
+4062 6001469d store 2 ,mem_mouse_y 
+4063 20600000 rtn 
+
+mouse_set_qdecoder_x:
+4064 d840001b arg mouse_default_xa_gpio ,temp 
+4065 204067fb call gpio_config_input 
+4066 d840001b arg mouse_default_xa_gpio ,temp 
+4067 2040681d call gpio_get_bit 
+4068 20608000 rtn true 
+4069 68108109 hfetch 1 ,core_qdec_cntx 
+406a 79207e04 set1 4 ,pdata 
+406b 60108109 hstore 1 ,core_qdec_cntx 
+406c 20600000 rtn 
+
+mouse_hardware_zwheel:
+406d 6808c6c0 fetcht 1 ,mem_mouse_z_data 
+406e 68108109 hfetch 1 ,core_qdec_cntx 
+406f 9840fe00 iadd temp ,pdata 
+4070 207a0000 rtn blank 
+4071 6000c69f store 1 ,mem_mouse_z 
+4072 7046c000 jam 0 ,mem_mouse_z_data 
+4073 20207fe7 branch enable_user 
+
+mouse_hardware_zwheel_beforelpm:
+4074 6808c6c0 fetcht 1 ,mem_mouse_z_data 
+4075 68108109 hfetch 1 ,core_qdec_cntx 
+4076 9840fe00 iadd temp ,pdata 
+4077 6000c6c0 store 1 ,mem_mouse_z_data 
+4078 20600000 rtn 
+
+mouse_zwheel:
+4079 6800c6c0 fetch 1 ,mem_mouse_z_data 
+407a 207a0000 rtn blank 
+407b 6000c69f store 1 ,mem_mouse_z 
+407c 7046c000 jam 0 ,mem_mouse_z_data 
+407d 20207fe7 branch enable_user 
+
+mouse_t_zwheel:
+407e 6800c6ba fetch 1 ,mem_mouse_tz_data 
+407f 207a0000 rtn blank 
+4080 6000c6a0 store 1 ,mem_mouse_tz 
+4081 7046ba00 jam 0 ,mem_mouse_tz_data 
+4082 20207fe7 branch enable_user 
+
+mouse_check_key_gpio:
+4083 da200000 arg 0 ,rega 
+4084 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+4085 2040681d call gpio_get_bit 
+4086 7920a200 setflag true ,0 ,rega 
+4087 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+4088 2040681d call gpio_get_bit 
+4089 7920a201 setflag true ,1 ,rega 
+408a 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+408b 2040681d call gpio_get_bit 
+408c 7920a202 setflag true ,2 ,rega 
+408d 20404090 call mouse_check_s_key_gpio 
+408e 1a227e00 copy rega ,pdata 
+408f 20600000 rtn 
+
+mouse_check_s_key_gpio:
+4090 6800c6e5 fetch 1 ,mem_bk_button_gpio 
+4091 c17f8000 rtneq gpio_disable 
+4092 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+4093 2040681d call gpio_get_bit 
+4094 7920a203 setflag true ,3 ,rega 
+4095 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+4096 2040681d call gpio_get_bit 
+4097 7920a204 setflag true ,4 ,rega 
+4098 20600000 rtn 
+
+mouse_key:
+4099 20404083 call mouse_check_key_gpio 
+409a 204040a8 call mouse_set_mult 
+409b 204040a3 call mouse_24g_key 
+409c 1a227e00 copy rega ,pdata 
+409d 6808c69a fetcht 1 ,mem_mouse_key 
+409e 6000c69a store 1 ,mem_mouse_key 
+409f 9842fe00 ixor temp ,pdata 
+40a0 1fe67c00 sub pdata ,0 ,null 
+40a1 20628000 rtn zero 
+40a2 20207fe7 branch enable_user 
+
+mouse_24g_key:
+40a3 c6930000 rtnmark0 mark_24g 
+40a4 1a227e00 copy rega ,pdata 
+40a5 207a0000 rtn blank 
+40a6 6000c69a store 1 ,mem_mouse_key 
+40a7 20207fe7 branch enable_user 
+
+mouse_set_mult:
+40a8 68014682 fetch 2 ,mem_ui_state_map 
+40a9 c284c0ad bbit1 ui_state_ble_connected ,mouse_set_ble_mult 
+40aa 68014682 fetch 2 ,mem_ui_state_map 
+40ab c28040b0 bbit1 ui_state_bt_connected ,mouse_set_bt_mult 
+40ac 20600000 rtn 
+
+mouse_set_ble_mult:
+40ad 1a227e00 copy rega ,pdata 
+40ae 243a5820 nbranch le_set_config_short_mult ,blank 
+40af 20205822 branch le_clr_config_short_mult 
+
+mouse_set_bt_mult:
+40b0 1a227e00 copy rega ,pdata 
+40b1 243a2bc7 nbranch classic_bt_set_mult_short_flag ,blank 
+40b2 20202bc9 branch classic_bt_clr_mult_short_flag 
+
+mouse_sensor_sdio_low:
+40b3 44f3c01c bpatch patch1c_7 ,mem_patch1c 
+40b4 d840001a arg mouse_spi1_sdio_gpio ,temp 
+40b5 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+40b6 2feffe12 isolate1 mouse_enable_spi2 ,pdata 
+40b7 2040c0be call mouse_sensor_sdio_low2 ,true 
+40b8 2040681d call gpio_get_bit 
+40b9 20608000 rtn true 
+40ba 5800000a setarg 0x0a 
+40bb 20406414 call twspi_read 
+40bc 200003e8 nop 1000 
+40bd 202040b3 branch mouse_sensor_sdio_low 
+
+mouse_sensor_sdio_low2:
+40be d840001f arg mouse_spi2_sdio_gpio ,temp 
+40bf 20600000 rtn 
+
+mouse_spi_sdio_gpio_pollup:
+40c0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+40c1 c28940c4 bbit1 mouse_enable_spi2 ,mouse_spi2_sdio_gpio_pollup 
+
+mouse_spi1_sdio_gpio_pollup:
+40c2 d840001a arg mouse_spi1_sdio_gpio ,temp 
+40c3 202067fe branch gpio_config_input_without_wake 
+
+mouse_spi2_sdio_gpio_pollup:
+40c4 d840001f arg mouse_spi2_sdio_gpio ,temp 
+40c5 202067fe branch gpio_config_input_without_wake 
+
+mouse_init_sunt:
+40c6 20403d36 call mouse_spi_init 
+40c7 20758000 rtn wake 
+40c8 204040c0 call mouse_spi_sdio_gpio_pollup 
+40c9 6800c6e0 fetch 1 ,mem_config_sensor_type 
+40ca c002c0d5 beq p3610 ,mouse_init_3610sensor 
+
+mouse_init_sensor:
+40cb 204040d9 call mouse_read_sensor_id 
+40cc c01840e0 beq p32xx_id1 ,mouse_init_p32xx_id2_judge 
+40cd c018c0ea beq p3065_id1 ,mouse_p3065_init_param 
+40ce 204040d1 call mouse_twspi_reset 
+40cf 200003e8 nop 1000 
+40d0 202040cb branch mouse_init_sensor 
+
+mouse_twspi_reset:
+40d1 44f4401d bpatch patch1d_0 ,mem_patch1d 
+40d2 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+40d3 c28963e0 bbit1 mouse_enable_spi2 ,twspi_reset2 
+40d4 202063d1 branch twspi_reset 
+
+mouse_init_3610sensor:
+40d5 204040d9 call mouse_read_sensor_id 
+40d6 c01f414b beq p3610_id1 ,mouse_init_p3610 
+40d7 20404145 call mouse_init_3610sensor_reset 
+40d8 202040d5 branch mouse_init_3610sensor 
+
+mouse_read_sensor_id:
+40d9 58000001 setarg pan_reg_pid_h 
+40da 20406414 call twspi_read 
+40db 6000c6de store 1 ,mem_sensor_id2 
+40dc 58000000 setarg pan_reg_pid_l 
+40dd 20406414 call twspi_read 
+40de 6000c6dd store 1 ,mem_sensor_id1 
+40df 20600000 rtn 
+
+mouse_init_p32xx_id2_judge:
+40e0 6800c6de fetch 1 ,mem_sensor_id2 
+40e1 c068c139 beq p3205_tj3t_id2 ,mouse_3205_3t_init_param 
+40e2 c06940f8 beq p3204_tj3l_id2 ,mouse_3204_3l_init_param 
+40e3 c00140ee beq p3212_id2 ,mouse_3212_init_param 
+40e4 c02a40e6 beq pka8_id2 ,mouse_ka8_init_param 
+40e5 20600000 rtn 
+
+mouse_ka8_init_param:
+40e6 7046e002 jam ka8 ,mem_config_sensor_type 
+40e7 20600000 rtn 
+
+mouse_p3065xy_init_param:
+40e8 7046e006 jam p3065_xy ,mem_config_sensor_type 
+40e9 20600000 rtn 
+
+mouse_p3065_init_param:
+40ea 6800c6de fetch 1 ,mem_sensor_id2 
+40eb c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
+40ec 7046e001 jam p3065 ,mem_config_sensor_type 
+40ed 20600000 rtn 
+
+mouse_3212_init_param:
+40ee 7046e004 jam p3212 ,mem_config_sensor_type 
+40ef 204040f6 call mouse_sensor_disable_wp 
+40f0 58003426 setarg 0x3426 
+40f1 20406413 call twspi_write 
+40f2 58000419 setarg 0x0419 
+40f3 20406413 call twspi_write 
+
+mouse_sensor_enable_wp:
+40f4 58000009 setarg 0x0009 
+40f5 20206413 branch twspi_write 
+
+mouse_sensor_disable_wp:
+40f6 58005a09 setarg 0x5a09 
+40f7 20206413 branch twspi_write 
+
+mouse_3204_3l_init_param:
+40f8 7046e003 jam p3204 ,mem_config_sensor_type 
+40f9 204040f6 call mouse_sensor_disable_wp 
+40fa 58000f0d setarg 0x0f0d 
+40fb 20406413 call twspi_write 
+40fc 5800e31d setarg 0xe31d 
+40fd 20406413 call twspi_write 
+40fe 5800d27d setarg 0xd27d 
+40ff 20406413 call twspi_write 
+4100 20404102 call mouse_32xx_init_param 
+4101 2020411a branch mouse_32xx_init_param_1 
+
+mouse_32xx_init_param:
+4102 5800351b setarg 0x351b 
+4103 20406413 call twspi_write 
+4104 5800b428 setarg 0xb428 
+4105 20406413 call twspi_write 
+4106 58004629 setarg 0x4629 
+4107 20406413 call twspi_write 
+4108 5800962a setarg 0x962a 
+4109 20406413 call twspi_write 
+410a 58008c2b setarg 0x8c2b 
+410b 20406413 call twspi_write 
+410c 58006e2c setarg 0x6e2c 
+410d 20406413 call twspi_write 
+410e 5800642d setarg 0x642d 
+410f 20406413 call twspi_write 
+4110 58005f38 setarg 0x5f38 
+4111 20406413 call twspi_write 
+4112 58000f39 setarg 0x0f39 
+4113 20406413 call twspi_write 
+4114 5800323a setarg 0x323a 
+4115 20406413 call twspi_write 
+4116 5800473b setarg 0x473b 
+4117 20406413 call twspi_write 
+4118 58001042 setarg 0x1042 
+4119 20206413 branch twspi_write 
+
+mouse_32xx_init_param_1:
+411a 58002e54 setarg 0x2e54 
+411b 20406413 call twspi_write 
+411c 5800f255 setarg 0xf255 
+411d 20406413 call twspi_write 
+411e 5800f461 setarg 0xf461 
+411f 20406413 call twspi_write 
+4120 58007063 setarg 0x7063 
+4121 20406413 call twspi_write 
+4122 58005275 setarg 0x5275 
+4123 20406413 call twspi_write 
+4124 58004176 setarg 0x4176 
+4125 20406413 call twspi_write 
+4126 5800ed77 setarg 0xed77 
+4127 20406413 call twspi_write 
+4128 58002378 setarg 0x2378 
+4129 20406413 call twspi_write 
+412a 58004679 setarg 0x4679 
+412b 20406413 call twspi_write 
+412c 5800e57a setarg 0xe57a 
+412d 20406413 call twspi_write 
+412e 5800487c setarg 0x487c 
+412f 20406413 call twspi_write 
+4130 5800777e setarg 0x777e 
+4131 20406413 call twspi_write 
+4132 5800017f setarg 0x017f 
+4133 20406413 call twspi_write 
+4134 5800000b setarg 0x000b 
+4135 20406413 call twspi_write 
+4136 5800007f setarg 0x007f 
+4137 20406413 call twspi_write 
+4138 202040f4 branch mouse_sensor_enable_wp 
+
+mouse_3205_3t_init_param:
+4139 7046e000 jam p3205 ,mem_config_sensor_type 
+413a 204040f6 call mouse_sensor_disable_wp 
+413b 5800100d setarg 0x100d 
+413c 20406413 call twspi_write 
+413d 5800ed1d setarg 0xed1d 
+413e 20406413 call twspi_write 
+413f 5800807d setarg 0x807d 
+4140 20406413 call twspi_write 
+4141 20404102 call mouse_32xx_init_param 
+4142 58000943 setarg 0x0943 
+4143 20406413 call twspi_write 
+4144 2020411a branch mouse_32xx_init_param_1 
+
+mouse_init_3610sensor_reset:
+4145 6808c6dc fetcht 1 ,mem_sensor_reset_gpio 
+4146 20406829 call gpio_out_active 
+4147 20407ec1 call delay_10ms 
+4148 6808c6dc fetcht 1 ,mem_sensor_reset_gpio 
+4149 20406825 call gpio_out_inactive 
+414a 20207ec1 branch delay_10ms 
+
+mouse_init_p3610:
+414b 7046e005 jam p3610 ,mem_config_sensor_type 
+414c 5800ba41 setarg 0xba41 
+414d 20406405 call sensor_write 
+414e 58000d11 setarg 0x0d11 
+414f 20406405 call sensor_write 
+4150 5800041b setarg 0x041b 
+4151 20406405 call sensor_write 
+4152 5800041c setarg 0x041c 
+4153 20406405 call sensor_write 
+4154 58000f1d setarg 0x0f1d 
+4155 20406405 call sensor_write 
+4156 58000032 setarg 0x0032 
+4157 20406405 call sensor_write 
+4158 5800b541 setarg 0xb541 
+4159 20206405 branch sensor_write 
+
+mouse_set_sensor_reg:
+415a 5800ba41 setarg 0xba41 
+415b 20406405 call sensor_write 
+415c 20000fa0 nop 4000 
+415d 5800ff7f setarg 0xff7f 
+415e 20406405 call sensor_write 
+415f 1a227e00 copy rega ,pdata 
+4160 20406405 call sensor_write 
+4161 5800007f setarg 0x007f 
+4162 20406405 call sensor_write 
+4163 5800b541 setarg 0xb541 
+4164 20206405 branch sensor_write 
+
+extsign:
+4165 c4038000 rtnbit0 7 
+4166 d840ff00 arg 0xff00 ,temp 
+4167 9841fe00 ior temp ,pdata 
+4168 20600000 rtn 
+
+extsign_bit3:
+4169 c4018000 rtnbit0 3 
+416a d84000f0 arg 0xf0 ,temp 
+416b 9841fe00 ior temp ,pdata 
+416c 20600000 rtn 
+
+mouse_le:
+416d 20405892 call le_fifo_check_nearly_full 
+416e 247a0000 nrtn blank 
+416f 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+4170 1fe17e03 and pdata ,0x03 ,pdata 
+4171 c1818000 rtnne 0x03 
+4172 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4173 c281c179 bbit1 mosue_24g_pairing_flag ,mouse_le_send_empty_packet 
+4174 c2804179 bbit1 mouse_select_device_flag ,mouse_le_send_empty_packet 
+4175 c282c179 bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
+4176 20403f97 call mouse_motion 
+4177 24740000 nrtn user 
+4178 20203f90 branch mouse_fill_data_le 
+
+mouse_le_send_empty_packet:
+4179 58000000 setarg 0 
+417a 6003c69a store 7 ,mem_mouse_key 
+417b 20203f90 branch mouse_fill_data_le 
+
+mouse_priority_bb_event:
+417c 1a627e00 copy regc ,pdata 
+417d c00a41c3 beq bt_evt_le_connected ,mouse_le_bb_event_connected 
+417e c000c2ca beq bt_evt_bb_connected ,mouse_stop_discovery 
+417f c00ac1d9 beq bt_evt_le_disconnected ,mouse_bb_disconnected 
+4180 c00141d9 beq bt_evt_bb_disconnected ,mouse_bb_disconnected 
+4181 c002c1d6 beq bt_evt_setup_complete ,mouse_bt_event_setup_complete 
+4182 c008426c beq bt_evt_button_long_pressed ,mouse_bb_event_discovery_btn 
+4183 c009429b beq bt_evt_hid_handshake ,mouse_bt_hid_handshake 
+4184 c00341d5 beq bt_evt_hid_connected ,mouse_bt_hid_connected 
+4185 c00241cc beq bt_evt_reconn_failed ,mouse_bb_event_reconn_failed 
+4186 c009c1cc beq bt_evt_reconn_page_timeout ,mouse_bb_event_reconn_timeout 
+4187 c00541ca beq bt_evt_pincode_req ,mouse_bb_event_pincode 
+4188 c01733cd beq bt_evt_remote_unsniff ,app_start_auto_sniff 
+4189 c018c1b4 beq bt_evt_le_pairing_success ,mouse_le_pairing_success 
+418a c01941b6 beq bt_evt_le_start_enc ,mouse_le_ll_start_encryt 
+418b c01f4191 beq bt_evt_le_pairing_complete ,mouse_le_pairing_complete 
+418c c013c38e beq bt_evt_virtual_cable_unplug ,mouse_irtual_cable_unplug 
+418d c01cc19c beq bt_evt_24g_pairing_complete ,mouse_24g_pairing_complete 
+418e c01d4192 beq bt_evt_24g_attempt_fail ,mouse_24g_attempt_fail 
+418f c01e419a beq bt_evt_24g_attempt_success ,mouse_24g_attempt_success 
+4190 20600000 rtn 
+
+mouse_le_pairing_complete:
+4191 20203410 branch app_ble_store_reconn_info 
+
+mouse_24g_attempt_fail:
+4192 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+4193 6800c71e fetch 1 ,mem_reconn_times 
+4194 243a4492 nbranch mouse_polling_device ,blank 
+4195 6800c720 fetch 1 ,mem_device_flag 
+4196 6808c703 fetcht 1 ,mem_24g_device_number 
+4197 98467c00 isub temp ,null 
+4198 2022b40a branch app_enter_hibernate ,zero 
+4199 20600000 rtn 
+
+mouse_24g_attempt_success:
+419a 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+419b 20600000 rtn 
+
+mouse_24g_pairing_complete:
+419c 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
+419d d8e00003 arg mosue_24g_pairing_flag ,queue 
+419e 204043d2 call mouse_disable_function_flag 
+419f 58000000 setarg 0 
+41a0 60014707 store 2 ,mem_24g_pairing_timer_count 
+41a1 7046a700 jam 0 ,mem_mouse_move_flag 
+41a2 6800c6e0 fetch 1 ,mem_config_sensor_type 
+41a3 1fe67c05 sub pdata ,p3610 ,null 
+41a4 2042c039 call mouse_read_sensor3610_data ,zero 
+41a5 2442c05d ncall mouse_read_sensor_common ,zero 
+41a6 68008004 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+41a7 c289c1af bbit1 mouse_enable_flash ,mouse_store_flash_24g_address 
+41a8 204041aa call mouse_set_24g_addr_eeprom 
+41a9 202065d1 branch iicd_write_protect_eep_data 
+
+mouse_set_24g_addr_eeprom:
+41aa 20402c7a call g24_head_ptr2regc 
+41ab 1a60a2ae add regc ,offset_24g_addr ,rega 
+41ac da40005b arg mouse_g24_addr_eeprom_offect ,regb 
+41ad d8400004 arg 4 ,temp 
+41ae 20600000 rtn 
+
+mouse_store_flash_24g_address:
+41af 20402c7a call g24_head_ptr2regc 
+41b0 1a60a4ae add regc ,offset_24g_addr ,regb 
+41b1 ea408000 ifetch 1 ,regb 
+41b2 6000c77b store 1 ,mem_mouse_24g_addr 
+41b3 20204435 branch mouse_store_flash_device_info 
+
+mouse_le_pairing_success:
+41b4 d8e00002 arg ll_pairing_success_flag ,queue 
+41b5 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_le_ll_start_encryt:
+41b6 7046c602 jam 2 ,mem_le_start_encrypt_timer 
+41b7 d8e00001 arg ll_start_enc_flag ,queue 
+41b8 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_le_enable_connect_flag:
+41b9 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+41ba f9207e00 qset1 pdata 
+41bb 6000c6c5 store 1 ,mem_le_connect_status_flag 
+41bc 20600000 rtn 
+
+mouse_le_disable_connect_flag:
+41bd 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+41be f93ffe00 qset0 pdata 
+41bf 6000c6c5 store 1 ,mem_le_connect_status_flag 
+41c0 20600000 rtn 
+
+mouse_le_clean_connect_flag:
+41c1 7046c500 jam 0 ,mem_le_connect_status_flag 
+41c2 20600000 rtn 
+
+mouse_le_bb_event_connected:
+41c3 6801420a fetch app_disc_rsn_size ,mem_app_disconn_reason_flag 
+41c4 793ffe00 set0 app_disc_by_button ,pdata 
+41c5 6001420a store app_disc_rsn_size ,mem_app_disconn_reason_flag 
+41c6 58000000 setarg 0 
+41c7 600146ae store 2 ,mem_mouse_direct_timer 
+41c8 20403f8d call mouse_no_data_timer_init 
+41c9 202042ca branch mouse_stop_discovery 
+
+mouse_bb_event_pincode:
+41ca 204063cb call pincode_reinit 
+41cb 202033dd branch app_bt_set_pincode 
+
+mouse_bb_event_reconn_timeout:
+
+mouse_bb_event_reconn_failed:
+41cc 6800c71e fetch 1 ,mem_reconn_times 
+41cd 243a4492 nbranch mouse_polling_device ,blank 
+41ce 68014682 fetch 2 ,mem_ui_state_map 
+41cf c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
+41d0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+41d1 c28041d7 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+41d2 c282c2b0 bbit1 mouse_bt_discovery_button_down_flag ,mouse_start_discovery 
+41d3 c281aead bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+41d4 202033a7 branch app_bb_hibernate 
+
+mouse_bt_hid_connected:
+41d5 20203f74 branch mouse_hid_connected 
+
+mouse_bt_event_setup_complete:
+41d6 20600000 rtn 
+
+mouse_soft_reset:
+41d7 204043c0 call mouse_select_device_enable 
+41d8 2020659a branch soft_reset_chip 
+
+mouse_bb_disconnected:
+41d9 44f4c01d bpatch patch1d_1 ,mem_patch1d 
+41da 204041e7 call mouse_bb_discon_clear_stack 
+41db 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+41dc c28041d7 bbit1 mouse_select_device_flag ,mouse_soft_reset 
+41dd c281aead bbit1 mosue_24g_pairing_flag ,g24_start_pairing_sm1 
+41de 6800c71e fetch 1 ,mem_reconn_times 
+41df 243a4492 nbranch mouse_polling_device ,blank 
+41e0 68014208 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+41e1 c283c1f5 bbit1 app_disc_ble ,mouse4_0_event_bb_disconn 
+41e2 c28033a9 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+41e3 c280c1ef bbit1 app_disc_after_pairing ,mouse_event_light_state_pairing 
+41e4 c28141f2 bbit1 app_disc_after_reconn ,mouse_event_light_state_hibernate 
+41e5 c281c1f2 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+41e6 202042b0 branch mouse_start_discovery 
+
+mouse_bb_discon_clear_stack:
+41e7 58000000 setarg 0 
+41e8 600446b7 store 8 ,mem_wheel_tb_old_pinlevel 
+41e9 e0a20000 istore 4 ,contw 
+41ea 7046b400 jam 0 ,mem_mouse_send_blank_timer 
+41eb 7046a700 jam 0 ,mem_mouse_move_flag 
+41ec 7041e200 jam app_handshake_null ,mem_app_handshake_flag 
+41ed 70442900 jam 0 ,mem_ltk_exists 
+41ee 20600000 rtn 
+
+mouse_event_light_state_pairing:
+41ef c282c1f2 bbit1 app_disc_after_handshake ,mouse_event_light_state_hibernate 
+41f0 c281c1f2 bbit1 app_disc_after_sniff ,mouse_event_light_state_hibernate 
+41f1 202042b0 branch mouse_start_discovery 
+
+mouse_event_light_state_hibernate:
+41f2 68014682 fetch 2 ,mem_ui_state_map 
+41f3 c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
+41f4 202033a7 branch app_bb_hibernate 
+
+mouse4_0_event_bb_disconn:
+41f5 204041c1 call mouse_le_clean_connect_flag 
+41f6 68014208 fetch app_disc_rsn_size ,mem_app_disconn_reason 
+41f7 c28033a9 bbit1 app_disc_by_button ,app_disconn_reason_clear 
+41f8 202033a7 branch app_bb_hibernate 
+
+mouse_bb_event_timer:
+41f9 204043d6 call mouse_adc_read 
+41fa 20404243 call mouse_24g_delay_timer 
+41fb 20404246 call mouse_ban_24g_pairing_timer 
+41fc 20404250 call mouse_dpi_led_blink_delay_timer 
+41fd 2040445d call mouse_statue_up_timer 
+41fe 20404443 call mouse_statue_cheak_timer 
+41ff 20404333 call mouse_select_device 
+4200 204043a5 call mouse_bt_discovery_cheak 
+4201 204043eb call mouse_low_voltage_led_timer 
+4202 20404209 call mouse_sensor_led_contrl_timer 
+4203 20404231 call mouse_check_hid_handshake_timer 
+4204 20404234 call mouse_check_discovery_timeout_timer 
+4205 20404237 call mouse_check_direct_timeout_timer 
+4206 2040423a call mouse_check_no_data_timeout_timer 
+4207 2040423d call mouse_check_mouse_state_timer 
+4208 20204240 branch mouse_le_enable_att_list_timer 
+
+mouse_sensor_led_contrl_timer:
+4209 6800c711 fetch 1 ,mem_mouse_sensor_timer_count 
+420a 207a0000 rtn blank 
+420b 1fe0ffff increase -1 ,pdata 
+420c 6000c711 store 1 ,mem_mouse_sensor_timer_count 
+420d 247a0000 nrtn blank 
+420e 2020420f branch mouse_sensor_led_contrl 
+
+mouse_sensor_led_contrl:
+420f 6800c712 fetch 1 ,mem_sensor_led_style 
+4210 c1000000 rtneq ui_led_state_blink_stop 
+4211 c002c216 beq ui_led_state_blink_darking ,mouse_sensor_led_blink_state_darking 
+
+mouse_sensor_led_blink_state_lighting:
+4212 20404225 call mouse_sensor_led_on 
+4213 70471205 jam ui_led_state_blink_darking ,mem_sensor_led_style 
+4214 70471105 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+4215 20600000 rtn 
+
+mouse_sensor_led_blink_state_darking:
+4216 2040422c call mouse_sensor_led_off 
+4217 70471204 jam ui_led_state_blink_lighting ,mem_sensor_led_style 
+4218 70471105 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+4219 20600000 rtn 
+
+mouse_sensor_led_blink_stop:
+
+mouse_sensor_reset:
+421a 58008006 setarg 0x8006 
+421b 20406413 call twspi_write 
+421c 200003e8 nop 1000 
+421d 70471100 jam 0x00 ,mem_mouse_sensor_timer_count 
+421e 70471200 jam ui_led_state_blink_stop ,mem_sensor_led_style 
+421f 202040e0 branch mouse_init_p32xx_id2_judge 
+
+mouse_p3212sensor_led_on:
+4220 5800a006 setarg 0xa006 
+4221 20406413 call twspi_write 
+4222 5800a005 setarg 0xa005 
+4223 20206413 branch twspi_write 
+
+mouse_sensor_led_on_global:
+4224 70471100 jam 0 ,mem_mouse_sensor_timer_count 
+
+mouse_sensor_led_on:
+4225 6800c6e0 fetch 1 ,mem_config_sensor_type 
+4226 c0024220 beq p3212 ,mouse_p3212sensor_led_on 
+4227 58000106 setarg 0x0106 
+4228 20406413 call twspi_write 
+4229 5800a105 setarg 0xa105 
+422a 20206413 branch twspi_write 
+
+mouse_sensor_led_off_global:
+422b 70471100 jam 0 ,mem_mouse_sensor_timer_count 
+
+mouse_sensor_led_off:
+422c 58000906 setarg 0x0906 
+422d 20206413 branch twspi_write 
+
+mouse_sensor_start_blink:
+422e 70471105 jam led_sensor_blink_cnt ,mem_mouse_sensor_timer_count 
+422f 70471201 jam ui_led_state_blink_start ,mem_sensor_led_style 
+4230 20600000 rtn 
+
+mouse_check_hid_handshake_timer:
+4231 da604680 arg mem_hid_handshake_timer_count ,regc 
+4232 da40429b arg mouse_bt_hid_handshake ,regb 
+4233 2020336d branch timer_single_step 
+
+mouse_check_discovery_timeout_timer:
+4234 da6046ac arg mem_mouse_discovery_timer ,regc 
+4235 da404264 arg mouse_check_discovery_timeout ,regb 
+4236 20203374 branch timer_single_step_2b 
+
+mouse_check_direct_timeout_timer:
+4237 da6046ae arg mem_mouse_direct_timer ,regc 
+4238 da404266 arg mouse_check_direct_timeout ,regb 
+4239 20203374 branch timer_single_step_2b 
+
+mouse_check_no_data_timeout_timer:
+423a da6046b0 arg mem_mouse_no_data_timer ,regc 
+423b da40426a arg mouse_check_no_data_timeout ,regb 
+423c 20203374 branch timer_single_step_2b 
+
+mouse_check_mouse_state_timer:
+423d da6046c4 arg mem_mouse_statue_led_timer ,regc 
+423e da404478 arg mouse_statue_led_off ,regb 
+423f 2020336d branch timer_single_step 
+
+mouse_le_enable_att_list_timer:
+4240 da6046c6 arg mem_le_start_encrypt_timer ,regc 
+4241 da40425e arg mouse_le_enable_att_list ,regb 
+4242 2020336d branch timer_single_step 
+
+mouse_24g_delay_timer:
+4243 da604704 arg mem_24g_enter_lpm_timer ,regc 
+4244 da404249 arg mouse_24g_delay ,regb 
+4245 2020336d branch timer_single_step 
+
+mouse_ban_24g_pairing_timer:
+4246 da604707 arg mem_24g_pairing_timer_count ,regc 
+4247 da404249 arg mouse_ban_24g_pairing ,regb 
+4248 20203374 branch timer_single_step_2b 
+
+mouse_ban_24g_pairing:
+
+mouse_24g_delay:
+4249 20600000 rtn 
+
+mosue_dpi_led_blink_init:
+424a 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+424b c40b8000 rtnbit0 mouse_enable_dpi_led_blink 
+424c 7046df0a jam 10 ,mem_mouse_dpi_led_delay_count 
+424d 6800c6f4 fetch 1 ,mem_dpi_led_gpio 
+424e 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+424f 20600000 rtn 
+
+mouse_dpi_led_blink_delay_timer:
+4250 da6046df arg mem_mouse_dpi_led_delay_count ,regc 
+4251 da404253 arg mouse_dpi_led_setting ,regb 
+4252 2020336d branch timer_single_step 
+
+mouse_dpi_led_setting:
+4253 6800c6f4 fetch 1 ,mem_dpi_led_gpio 
+4254 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4255 58000190 setarg led_dpi_blink 
+4256 60014716 store 2 ,mem_mouse_on_time 
+4257 60014718 store 2 ,mem_mouse_off_time 
+4258 da200000 arg 0 ,rega 
+4259 6808c77a fetcht 1 ,mem_mouse_dpi 
+425a 18408401 increase 1 ,temp 
+425b 6008c714 storet 1 ,mem_mouse_blink_count 
+425c 70471301 jam ui_led_state_blink_start ,mem_mouse_led_type 
+425d 20600000 rtn 
+
+mouse_le_enable_att_list:
+425e 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+425f c3810000 rtnbit1 ll_pairing_success_flag 
+4260 700a9912 jam bt_cmd_le_update_conn ,mem_fifo_temp 
+4261 20407d8f call ui_ipc_send_cmd 
+4262 d8e00000 arg write_req_enable_flag ,queue 
+4263 202041b9 branch mouse_le_enable_connect_flag 
+
+mouse_check_discovery_timeout:
+4264 204042ca call mouse_stop_discovery 
+4265 2020340a branch app_enter_hibernate 
+
+mouse_check_direct_timeout:
+4266 204033f6 call app_ble_stop_direct_adv 
+4267 6800c71e fetch 1 ,mem_reconn_times 
+4268 243a4492 nbranch mouse_polling_device ,blank 
+4269 2020340a branch app_enter_hibernate 
+
+mouse_check_no_data_timeout:
+426a c5137e1d bmark1 mark_24g ,check_51cmd_hibernate 
+426b 20204386 branch mouse_disconnect 
+
+mouse_bb_event_discovery_btn:
+426c 44f5401d bpatch patch1d_2 ,mem_patch1d 
+426d 7046b400 jam 0 ,mem_mouse_send_blank_timer 
+426e 20404386 call mouse_disconnect 
+426f 204041c1 call mouse_le_clean_connect_flag 
+4270 202042b0 branch mouse_start_discovery 
+
+mouse3_0_check_reconn_target:
+4271 680341d0 fetch 6 ,mem_hci_plap 
+4272 203a33eb branch app_bt_start_discovery_short ,blank 
+4273 2040427e call mouse_reconn_setting_led_gpio 
+4274 70016d17 jam 0x17 ,mem_connection_options 
+4275 6800c65a fetch 1 ,mem_ssp_enable 
+4276 243a33e1 nbranch app_bt_start_reconnect ,blank 
+4277 70016d04 jam 0x04 ,mem_connection_options 
+4278 202033e1 branch app_bt_start_reconnect 
+
+mouse4_0_check_reconn_target:
+4279 680146a8 fetch 2 ,mem_mouse_direct_timeout 
+427a 600146ae store 2 ,mem_mouse_direct_timer 
+427b 2040427e call mouse_reconn_setting_led_gpio 
+427c 20403418 call app_lpm_mult_disable 
+427d 20207df4 branch check_51cmd_adv 
+
+mouse_reconn_setting_led_gpio:
+427e 580000c8 setarg led_reconnect_blink 
+427f 60014716 store 2 ,mem_mouse_on_time 
+4280 60014718 store 2 ,mem_mouse_off_time 
+4281 20204285 branch mouse_setting_led_gpio_comman 
+
+mouse_discover_setting_led_gpio:
+4282 580003e8 setarg led_discovery_blink 
+4283 60014716 store 2 ,mem_mouse_on_time 
+4284 60014718 store 2 ,mem_mouse_off_time 
+
+mouse_setting_led_gpio_comman:
+4285 6800c720 fetch 1 ,mem_device_flag 
+4286 c000c28a beq mode_bt_device1 ,mouse_device_led1 
+4287 c001428c beq mode_bt_device2 ,mouse_device_led2 
+4288 c001c28e beq mode_bt_device3 ,mouse_device_led3 
+4289 20600000 rtn 
+
+mouse_device_led1:
+428a 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+428b 2020428f branch mouse_led_blink 
+
+mouse_device_led2:
+428c 6800c6f1 fetch 1 ,mem_config_device2_led_gpio 
+428d 2020428f branch mouse_led_blink 
+
+mouse_device_led3:
+428e 6800c6f2 fetch 1 ,mem_config_device3_led_gpio 
+
+mouse_led_blink:
+428f 60008aa2 store 1 ,mem_temp 
+4290 20404482 call mouse_devce_led_off 
+4291 68008aa2 fetch 1 ,mem_temp 
+4292 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4293 da200000 arg 0 ,rega 
+4294 70471301 jam ui_led_state_blink_start ,mem_mouse_led_type 
+4295 20207d1e branch ui_led_blink_start_global 
+
+mouse_led_off:
+4296 da200000 arg 0 ,rega 
+4297 20207d19 branch ui_led_off_global 
+
+mouse_led_on:
+4298 da200000 arg 0 ,rega 
+4299 20207d14 branch ui_led_on_global 
+
+mouse4_0_bb_event_discovery_btn:
+429a 202041c1 branch mouse_le_clean_connect_flag 
+
+mouse_bt_hid_handshake:
+429b 7041e201 jam app_handshake_done ,mem_app_handshake_flag 
+429c 20403416 call app_lpm_mult_enable 
+429d 20403412 call app_bt_store_reconn_info 
+429e 58000000 setarg 0 
+429f 6001467e store 2 ,mem_discovery_timeout_timer_count 
+42a0 6000c680 store 1 ,mem_hid_handshake_timer_count 
+42a1 2020340e branch app_bt_enter_sniff 
+
+mouse_check_reconn_target:
+42a2 2040435f call mouse_cheak_select_device_by_switch 
+42a3 6800c720 fetch 1 ,mem_device_flag 
+42a4 6808c703 fetcht 1 ,mem_24g_device_number 
+42a5 98467c00 isub temp ,null 
+42a6 2022c2ab branch mouse_connect_24g_mode ,zero 
+42a7 6800c210 fetch 1 ,mem_xrecord_mode 
+42a8 c019c271 beq rec_3_mode ,mouse3_0_check_reconn_target 
+42a9 c01a4279 beq rec_4_mode ,mouse4_0_check_reconn_target 
+42aa 202042b0 branch mouse_start_discovery 
+
+mouse_connect_24g_mode:
+42ab 20403d57 call mouse_start_24g_mode 
+42ac c6130000 rtnmark1 mark_24g 
+42ad 6800c71e fetch 1 ,mem_reconn_times 
+42ae 243a4492 nbranch mouse_polling_device ,blank 
+42af 20600000 rtn 
+
+mouse_start_discovery:
+42b0 44f5c01d bpatch patch1d_3 ,mem_patch1d 
+42b1 68014682 fetch 2 ,mem_ui_state_map 
+42b2 c285c2b7 bbit1 ui_state_ble_adv ,mouse_start_discovery_norandom 
+42b3 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42b4 c30c42b7 bbit0 mouse_enable_ble_random_addre ,mouse_start_discovery_norandom 
+42b5 180a7e00 random pdata 
+42b6 6000c4a1 store 1 ,mem_le_lap + 1 
+
+mouse_start_discovery_norandom:
+42b7 20403418 call app_lpm_mult_disable 
+42b8 68014687 fetch 2 ,mem_discovery_timeout 
+42b9 600146ac store 2 ,mem_mouse_discovery_timer 
+42ba 70016d06 jam 6 ,mem_connection_options 
+42bb 58000000 setarg 0 
+42bc 600146b0 store 2 ,mem_mouse_no_data_timer 
+42bd 600146ae store 2 ,mem_mouse_direct_timer 
+42be d8e00007 arg mouse_store_eeprom_flag ,queue 
+42bf 204043ce call mouse_enable_function_flag 
+42c0 204043ca call mouse_bt_discovery_button_down_disable 
+42c1 6800c092 fetch 1 ,mem_device_option 
+42c2 2feffe01 isolate1 mode_4_mouse ,pdata 
+42c3 2040fdf4 call check_51cmd_adv ,true 
+42c4 6800c092 fetch 1 ,mem_device_option 
+42c5 2feffe00 isolate1 mode_3_mouse ,pdata 
+42c6 2040fddd call check_51cmd_start_discovery ,true 
+42c7 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42c8 c28e422e bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_start_blink 
+42c9 20204282 branch mouse_discover_setting_led_gpio 
+
+mouse_stop_discovery:
+42ca 44f6401d bpatch patch1d_4 ,mem_patch1d 
+42cb 6800c092 fetch 1 ,mem_device_option 
+42cc 2feffe01 isolate1 mode_4_mouse ,pdata 
+42cd 2040c2d4 call mouse_stop_le_adv ,true 
+42ce 6800c092 fetch 1 ,mem_device_option 
+42cf 2feffe00 isolate1 mode_3_mouse ,pdata 
+42d0 2040c2d7 call mouse_stop_bt3_discovery ,true 
+42d1 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42d2 c28e421a bbit1 mouse_enable_discovery_sensor_led ,mouse_sensor_led_blink_stop 
+42d3 20204482 branch mouse_devce_led_off 
+
+mouse_stop_le_adv:
+42d4 58000000 setarg 0 
+42d5 600146ae store 2 ,mem_mouse_direct_timer 
+42d6 20207dfa branch check_51cmd_stop_adv 
+
+mouse_stop_bt3_discovery:
+42d7 58000000 setarg 0 
+42d8 600146ac store 2 ,mem_mouse_discovery_timer 
+42d9 20207de2 branch check_51cmd_stop_discovery 
+
+mouse_store_remote_bdaddr:
+42da 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42db c4038000 rtnbit0 mouse_store_eeprom_flag 
+42dc d8e00007 arg mouse_store_eeprom_flag ,queue 
+42dd 204043d2 call mouse_disable_function_flag 
+42de 204042e8 call mouse_check_device_addr 
+
+mouse_unplug_clean_bdaddr:
+42df 204042fb call mouse_before_store_reconn_info 
+42e0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+42e1 c289c435 bbit1 mouse_enable_flash ,mouse_store_flash_device_info 
+42e2 c28a42e4 bbit1 mouse_enable_eeprom ,mouse_store_eeprom_device_info 
+42e3 20600000 rtn 
+
+mouse_store_eeprom_device_info:
+42e4 d8400058 arg 88 ,temp 
+42e5 da204720 arg mem_device_flag ,rega 
+42e6 da400000 arg mouse_info_eeprom_offect ,regb 
+42e7 202065d1 branch iicd_write_protect_eep_data 
+
+mouse_check_device_addr:
+42e8 68008185 fetch 1 ,mem_record_bt_mode 
+42e9 c01a42ec beq rec_4_mode ,mouse_check_le_device_addr 
+42ea c019c2ef beq rec_3_mode ,mouse_check_bt_device_addr 
+42eb 20600000 rtn 
+
+mouse_check_le_device_addr:
+42ec 6000c6c7 store 1 ,mem_device_addr_temp 
+42ed 6803044f fetch 6 ,mem_le_plap 
+42ee 202042f1 branch mouse_check_bt_device_addr_common 
+
+mouse_check_bt_device_addr:
+42ef 6000c6c7 store 1 ,mem_device_addr_temp 
+42f0 68030040 fetch 6 ,mem_plap 
+
+mouse_check_bt_device_addr_common:
+42f1 600346c8 store 6 ,mem_device_addr_temp + 1 
+42f2 6803c6c7 fetch 7 ,mem_device_addr_temp 
+42f3 d8c04721 arg mem_device1_type ,contr 
+42f4 df200003 arg 3 ,loopcnt 
+
+mouse_check_device_addr_end:
+42f5 e8cb8000 ifetcht 7 ,contr 
+42f6 98467c00 isub temp ,null 
+42f7 2022c310 branch mouse_clean_addr ,zero 
+42f8 18c08c16 increase 22 ,contr 
+42f9 c20042f5 loop mouse_check_device_addr_end 
+42fa 20600000 rtn 
+
+mouse_before_store_reconn_info:
+42fb da204721 arg mem_device1_type ,rega 
+42fc 6800c720 fetch 1 ,mem_device_flag 
+42fd 1fe0ffff increase -1 ,pdata 
+42fe 1feffe1d mul32 pdata ,29 ,pdata 
+42ff 9a20a200 iadd rega ,rega 
+4300 68008185 fetch 1 ,mem_record_bt_mode 
+4301 e2208000 istore 1 ,rega 
+4302 c01a4305 beq rec_4_mode ,mouse_store_le_device 
+4303 c019c30c beq rec_3_mode ,mouse_store_bt_device 
+4304 20600000 rtn 
+
+mouse_store_le_device:
+4305 6803044f fetch 6 ,mem_le_plap 
+4306 e0a30000 istore 6 ,contw 
+4307 d8c04419 arg mem_le_ltk ,contr 
+4308 20407ebf call memcpy16 
+4309 680344a0 fetch 6 ,mem_le_lap 
+430a e0a30000 istore 6 ,contw 
+430b 20600000 rtn 
+
+mouse_store_bt_device:
+430c 68030040 fetch 6 ,mem_plap 
+430d e0a30000 istore 6 ,contw 
+430e d8c041be arg mem_link_key ,contr 
+430f 20207ebf branch memcpy16 
+
+mouse_clean_addr:
+4310 18c08dfa increase -6 ,contr 
+4311 18c20a00 copy contr ,contw 
+4312 680b46c8 fetcht 6 ,mem_device_addr_temp + 1 
+4313 18408403 increase 3 ,temp 
+4314 e0ab0000 istoret 6 ,contw 
+4315 20600000 rtn 
+
+mouse_eeprom_load_recon_info:
+4316 d8400058 arg 88 ,temp 
+4317 da204720 arg mem_device_flag ,rega 
+4318 da400000 arg mouse_info_eeprom_offect ,regb 
+4319 204065df call iicd_read_eep_data 
+
+mouse_select_reconn_device:
+431a da204721 arg mem_device1_type ,rega 
+431b 6800c720 fetch 1 ,mem_device_flag 
+431c 6808c703 fetcht 1 ,mem_24g_device_number 
+431d 98467c00 isub temp ,null 
+431e 20628000 rtn zero 
+431f 1fe0ffff increase -1 ,pdata 
+4320 1feffe1d mul32 pdata ,29 ,pdata 
+4321 9a20a200 iadd rega ,rega 
+4322 ea208000 ifetch 1 ,rega 
+4323 6000c210 store 1 ,mem_xrecord_mode 
+4324 c019c327 beq rec_3_mode ,mouse_load_bt_device 
+4325 c01a432c beq rec_4_mode ,mouse_load_le_device 
+4326 20600000 rtn 
+
+mouse_load_bt_device:
+4327 e8c30000 ifetch 6 ,contr 
+
+mouse_load_bt_device_end:
+4328 600341d0 store 6 ,mem_hci_plap 
+4329 d8a041be arg mem_link_key ,contw 
+432a 20407ebf call memcpy16 
+432b 202067d7 branch check_link_key_load 
+
+mouse_load_le_device:
+432c e8c30000 ifetch 6 ,contr 
+
+mouse_load_le_device_end:
+432d 600341d0 store 6 ,mem_hci_plap 
+432e d8a04419 arg mem_le_ltk ,contw 
+432f 20407ebf call memcpy16 
+4330 e8c30000 ifetch 6 ,contr 
+4331 600344a0 store 6 ,mem_le_lap 
+4332 20600000 rtn 
+
+mouse_select_device:
+4333 6800c6f5 fetch 1 ,mem_config_function_enable 
+4334 c282c349 bbit1 enable_select_device_by_gpio_button ,mouse_select_device_by_button 
+4335 c2834359 bbit1 enable_select_device_by_switch ,mouse_select_device_by_switch 
+4336 20204337 branch mouse_select_device_by_combination_key 
+
+mouse_select_device_by_combination_key:
+4337 20404083 call mouse_check_key_gpio 
+4338 c003433e beq mouse_rm_button ,mouse_select_device_commbination_key_down 
+
+mouse_select_device_commbination_key_up:
+4339 7046d81e jam 30 ,mem_combination_select_device_count 
+433a 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+433b c1008000 rtneq dpi_button_state_up 
+433c 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+433d 20600000 rtn 
+
+mouse_select_device_commbination_key_down:
+433e 20404343 call mouse_combination_select_device_timer 
+433f 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+4340 c1000000 rtneq dpi_button_state_down 
+4341 7046d900 jam dpi_button_state_down ,mem_select_device_button_statue 
+4342 202043c0 branch mouse_select_device_enable 
+
+mouse_combination_select_device_timer:
+4343 6800c6d8 fetch 1 ,mem_combination_select_device_count 
+4344 207a0000 rtn blank 
+4345 1fe0ffff pincrease -1 
+4346 6000c6d8 store 1 ,mem_combination_select_device_count 
+4347 247a0000 nrtn blank 
+4348 20204370 branch mouse_ready_reconnection_by_button 
+
+mouse_select_device_by_button:
+4349 6800c6ed fetch 1 ,mem_config_select_device_button_gpio 
+434a c17f8000 rtneq gpio_disable 
+434b 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+434c 2040681d call gpio_get_bit 
+434d 2020c354 branch mouse_select_device_button_down ,true 
+
+mouse_select_device_button_up:
+434e 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+434f c1008000 rtneq dpi_button_state_up 
+4350 7046d901 jam dpi_button_state_up ,mem_select_device_button_statue 
+4351 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4352 c3830000 rtnbit1 mouse_long_bt_button_flag 
+4353 20204370 branch mouse_ready_reconnection_by_button 
+
+mouse_select_device_button_down:
+4354 6800c6d9 fetch 1 ,mem_select_device_button_statue 
+4355 c1000000 rtneq dpi_button_state_down 
+4356 7046d900 jam dpi_button_state_down ,mem_select_device_button_statue 
+4357 d8e00006 arg mouse_long_bt_button_flag ,queue 
+4358 202043d2 branch mouse_disable_function_flag 
+
+mouse_select_device_by_switch:
+4359 68008004 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+435a c4030000 rtnbit0 enable_select_device_by_switch 
+435b 6800c720 fetch 1 ,mem_device_flag 
+435c c000c369 beq mode_bt_device1 ,mouse_select1_device 
+435d c001436c beq mode_24g_device ,mouse_select2_device 
+435e 20600000 rtn 
+
+mouse_cheak_select_device_by_switch:
+435f 68008004 fetch 1 ,mouse_flag_len ,mem_mouse_flag 
+4360 c4030000 rtnbit0 enable_select_device_by_switch 
+4361 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+4362 2040681d call gpio_get_bit 
+4363 2020c366 branch mouse_cheak_select_24gdevice ,true 
+
+mouse_select_btdevice:
+4364 70472001 jam mode_bt_device1 ,mem_device_flag 
+4365 20600000 rtn 
+
+mouse_cheak_select_24gdevice:
+4366 6800c703 fetch 1 ,mem_24g_device_number 
+4367 6000c720 store 1 ,mem_device_flag 
+4368 20600000 rtn 
+
+mouse_select1_device:
+4369 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+436a 2420c370 nbranch mouse_ready_reconnection_by_button ,true 
+436b 20600000 rtn 
+
+mouse_select2_device:
+436c 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
+436d 2040681d call gpio_get_bit 
+436e 2020c354 branch mouse_select_device_button_down ,true 
+436f 20600000 rtn 
+
+mouse_ready_reconnection_by_button:
+4370 6808c720 fetcht 1 ,mem_device_flag 
+4371 18408401 increase 1 ,temp 
+4372 6800c6d2 fetch 1 ,mem_device_number 
+4373 98467c00 isub temp ,null 
+4374 244143cc ncall mouse_select_device_count_clean ,positive 
+4375 6008c720 storet 1 ,mem_device_flag 
+4376 7041bd00 jam 0 ,mem_link_key_exists 
+4377 2040437a call mouse_store_device_number2eeprom 
+4378 204043c0 call mouse_select_device_enable 
+4379 2020437e branch mouse_set_reconnection 
+
+mouse_store_device_number2eeprom:
+437a d8400001 arg 1 ,temp 
+437b da204720 arg mem_device_flag ,rega 
+437c da400000 arg 0 ,regb 
+437d 20206606 branch iicd_write_eep_data 
+
+mouse_set_reconnection:
+437e 20404381 call mouse_stop_bluetooth_mode 
+437f 204043c2 call mouse_select_device_disable 
+4380 202041d7 branch mouse_soft_reset 
+
+mouse_stop_bluetooth_mode:
+4381 68014682 fetch 2 ,mem_ui_state_map 
+4382 c283c392 bbit1 ui_state_bt_reconnect ,mouse_cancel_reconnect 
+4383 c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+4384 c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+4385 202042ca branch mouse_stop_discovery 
+
+mouse_disconnect:
+4386 44f6c01d bpatch patch1d_5 ,mem_patch1d 
+4387 58000000 setarg 0 
+4388 600146b0 store 2 ,mem_mouse_no_data_timer 
+4389 68014682 fetch 2 ,mem_ui_state_map 
+438a c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+438b 68014682 fetch 2 ,mem_ui_state_map 
+438c c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+438d 20600000 rtn 
+
+mouse_irtual_cable_unplug:
+438e 58000001 setarg 0x01 
+438f 60030040 store 6 ,mem_plap 
+4390 70018533 jam rec_3_mode ,mem_record_bt_mode 
+4391 202042df branch mouse_unplug_clean_bdaddr 
+
+mouse_cancel_reconnect:
+4392 204043c4 call mouse_bt_cannel_reconn_enable 
+4393 20207e2f branch check_51cmd_bb_reconn_cancel 
+
+mouse_bt_discovery_by_button:
+4394 6800c6ec fetch 1 ,mem_config_bt_button_gpio 
+4395 c17f8000 rtneq gpio_disable 
+4396 6808c6ec fetcht 1 ,mem_config_bt_button_gpio 
+4397 2040681d call gpio_get_bit 
+4398 2020c39f branch mouse_bt_discovery_button_down ,true 
+
+mouse_bt_discovery_button_up:
+4399 6800c685 fetch 1 ,mem_ui_button_timeout 
+439a 6000c6da store 1 ,mem_combination_ui_button_count 
+439b 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+439c c1008000 rtneq dpi_button_state_up 
+439d 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+439e 202043ca branch mouse_bt_discovery_button_down_disable 
+
+mouse_bt_discovery_button_down:
+439f 204043b5 call mouse_bt_discovry_timer 
+43a0 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+43a1 c1000000 rtneq dpi_button_state_down 
+43a2 7046db00 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+43a3 20407e2f call check_51cmd_bb_reconn_cancel 
+43a4 202043c8 branch mouse_bt_discovery_button_down_enable 
+
+mouse_bt_discovery_cheak:
+43a5 6800c6f5 fetch 1 ,mem_config_function_enable 
+43a6 c2824394 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
+
+mouse_bt_discovery_commbination_key:
+43a7 20404083 call mouse_check_key_gpio 
+43a8 c003c3af beq mouse_lmr_button ,mouse_bt_discovery_commbination_key_down 
+
+mouse_bt_discovery_commbination_key_up:
+43a9 6800c685 fetch 1 ,mem_ui_button_timeout 
+43aa 6000c6da store 1 ,mem_combination_ui_button_count 
+43ab 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+43ac c1008000 rtneq dpi_button_state_up 
+43ad 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
+43ae 202043ca branch mouse_bt_discovery_button_down_disable 
+
+mouse_bt_discovery_commbination_key_down:
+43af 204043b5 call mouse_bt_discovry_timer 
+43b0 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
+43b1 c1000000 rtneq dpi_button_state_down 
+43b2 7046db00 jam dpi_button_state_down ,mem_bt_discovey_button_statue 
+43b3 20407e2f call check_51cmd_bb_reconn_cancel 
+43b4 202043c8 branch mouse_bt_discovery_button_down_enable 
+
+mouse_bt_discovry_timer:
+43b5 da6046da arg mem_combination_ui_button_count ,regc 
+43b6 da4043b8 arg mouse_long_button_bt_discovry ,regb 
+43b7 2020336d branch timer_single_step 
+
+mouse_long_button_bt_discovry:
+43b8 d8e00006 arg mouse_long_bt_button_flag ,queue 
+43b9 204043ce call mouse_enable_function_flag 
+43ba 20403357 call app_evt_button_long_pressed 
+43bb 2020426c branch mouse_bb_event_discovery_btn 
+
+mouse_cpi_enable:
+43bc d8e00001 arg mouse_cpi_flag ,queue 
+43bd 202043ce branch mouse_enable_function_flag 
+
+mouse_cpi_disable:
+43be d8e00001 arg mouse_cpi_flag ,queue 
+43bf 202043d2 branch mouse_disable_function_flag 
+
+mouse_select_device_enable:
+43c0 d8e00000 arg mouse_select_device_flag ,queue 
+43c1 202043ce branch mouse_enable_function_flag 
+
+mouse_select_device_disable:
+43c2 d8e00000 arg mouse_select_device_flag ,queue 
+43c3 202043d2 branch mouse_disable_function_flag 
+
+mouse_bt_cannel_reconn_enable:
+43c4 d8e00002 arg mouse_bt_cannel_reconn_flag ,queue 
+43c5 202043ce branch mouse_enable_function_flag 
+
+mouse_bt_cannel_reconn_disable:
+43c6 d8e00002 arg mouse_bt_cannel_reconn_flag ,queue 
+43c7 202043d2 branch mouse_disable_function_flag 
+
+mouse_bt_discovery_button_down_enable:
+43c8 d8e00005 arg mouse_bt_discovery_button_down_flag ,queue 
+43c9 202043ce branch mouse_enable_function_flag 
+
+mouse_bt_discovery_button_down_disable:
+43ca d8e00005 arg mouse_bt_discovery_button_down_flag ,queue 
+43cb 202043d2 branch mouse_disable_function_flag 
+
+mouse_select_device_count_clean:
+43cc d8400001 arg 1 ,temp 
+43cd 20600000 rtn 
+
+mouse_enable_function_flag:
+43ce 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43cf f9207e00 qset1 pdata 
+43d0 600246d3 store mouse_flag_len ,mem_mouse_flag 
+43d1 20600000 rtn 
+
+mouse_disable_function_flag:
+43d2 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43d3 f93ffe00 qset0 pdata 
+43d4 600246d3 store mouse_flag_len ,mem_mouse_flag 
+43d5 20600000 rtn 
+
+mouse_adc_read:
+43d6 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43d7 c40d0000 rtnbit0 mouse_enable_adc 
+43d8 6800c6ce fetch 1 ,mem_adc_read_timer 
+43d9 1fe0fe01 increase 1 ,pdata 
+43da 6000c6ce store 1 ,mem_adc_read_timer 
+43db 1fe67c0a sub pdata ,10 ,null 
+43dc 20610000 rtn positive 
+43dd 7046ce00 jam 0 ,mem_adc_read_timer 
+43de 204068eb call adc_set_mode 
+43df 20406908 call vdd_calculate_by_mode 
+43e0 6001470f store 2 ,mem_mouse_vdd_now_vol 
+43e1 da204709 arg mem_mouse_vdd_calculate_set ,rega 
+43e2 20406930 call adc_bat_percent_lowpower_out 
+43e3 6800c231 fetch 1 ,mem_adc_power_flag 
+43e4 c280c4a0 bbit1 1 ,mouse_power_down 
+43e5 c30043e9 bbit0 0 ,mouse_adc_no_low_voltage 
+43e6 202043e7 branch mouse_adc_low_voltage 
+
+mouse_adc_low_voltage:
+43e7 d8e00004 arg mouse_low_voltage_flag ,queue 
+43e8 202043ce branch mouse_enable_function_flag 
+
+mouse_adc_no_low_voltage:
+43e9 d8e00004 arg mouse_low_voltage_flag ,queue 
+43ea 202043d2 branch mouse_disable_function_flag 
+
+mouse_low_voltage_led_timer:
+43eb 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+43ec c4020000 rtnbit0 mouse_low_voltage_flag 
+43ed 6800c6ef fetch 1 ,mem_config_low_voltage_alarm_gpio 
+43ee 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+43ef 6800c6cf fetch 1 ,mem_adc_low_volatage_led_timer_count 
+43f0 1fe0fe01 pincrease 1 
+43f1 6000c6cf store 1 ,mem_adc_low_volatage_led_timer_count 
+43f2 1fe67c14 sub pdata ,20 ,null 
+43f3 244143f9 ncall mouse_adc_low_volatage_led_timer_count_clean ,positive 
+43f4 c00143fb beq 2 ,mouse_low_voltage_led_on 
+43f5 c00243fe beq 4 ,mouse_low_voltage_led_off 
+43f6 c00343fb beq 6 ,mouse_low_voltage_led_on 
+43f7 c00443fe beq 8 ,mouse_low_voltage_led_off 
+43f8 20600000 rtn 
+
+mouse_adc_low_volatage_led_timer_count_clean:
+43f9 7046cf01 jam 1 ,mem_adc_low_volatage_led_timer_count 
+43fa 202043fe branch mouse_low_voltage_led_off 
+
+mouse_low_voltage_led_on:
+43fb da200000 arg 0 ,rega 
+43fc 70471302 jam ui_led_state_lighting ,mem_mouse_led_type 
+43fd 20207d14 branch ui_led_on_global 
+
+mouse_low_voltage_led_off:
+43fe da200000 arg 0 ,rega 
+43ff 70471302 jam ui_led_state_lighting ,mem_mouse_led_type 
+4400 20207d19 branch ui_led_off_global 
+
+mouse_g24_package_data:
+4401 20403f97 call mouse_motion 
+4402 24740000 nrtn user 
+4403 da200007 arg 7 ,rega 
+4404 da40469a arg mem_mouse_key ,regb 
+4405 20600000 rtn 
+
+mouse_g24_enter_lpm:
+4406 6800c78b fetch 1 ,mem_mouse_24g_enter_lpm_enable 
+4407 207a0000 rtn blank 
+4408 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+4409 2040681d call gpio_get_bit 
+440a 2040c410 call mouse_24g_dpi_delay_init ,true 
+440b 6800c704 fetch 1 ,mem_24g_enter_lpm_timer 
+440c 247a0000 nrtn blank 
+440d 20404083 call mouse_check_key_gpio 
+440e 247a0000 nrtn blank 
+440f 20202d83 branch g24_lpm_long_sleep 
+
+mouse_24g_dpi_delay_init:
+4410 6800c6e7 fetch 1 ,mem_dpi_button_gpio 
+4411 c17f8000 rtneq ui_button_gpio_disable 
+4412 7047040a jam 10 ,mem_24g_enter_lpm_timer 
+4413 20600000 rtn 
+
+mouse_load_flash_info_cheak:
+4414 20404423 call mouse_load_flash_flag 
+4415 68014778 fetch 2 ,mem_store_flag 
+4416 d840aa55 arg eeprom_init_flag ,temp 
+4417 98467c00 isub temp ,null 
+4418 2022c42b branch mouse_load_flash_device_info ,zero 
+4419 60094778 storet 2 ,mem_store_flag 
+441a 2040441c call mouse_ble_init_address 
+441b 20204435 branch mouse_store_flash_device_info 
+
+mouse_ble_init_address:
+441c 680344a0 fetch 6 ,mem_le_lap 
+441d 60034738 store 6 ,mem_device1_locall_addr 
+441e 1fe0ff00 add pdata ,0x0100 ,pdata 
+441f 60034755 store 6 ,mem_device2_locall_addr 
+4420 1fe0ff00 add pdata ,0x0100 ,pdata 
+4421 60034772 store 6 ,mem_device3_locall_addr 
+4422 20600000 rtn 
+
+mouse_load_flash_flag:
+4423 58004778 setarg mem_store_flag 
+4424 d8404720 arg mem_mouse_information_start ,temp 
+4425 98460400 isub temp ,temp 
+4426 6801c700 fetch 3 ,mem_flash_base 
+4427 9840fe00 iadd temp ,pdata 
+4428 d8400002 arg 2 ,temp 
+4429 da204778 arg mem_store_flag ,rega 
+442a 20206562 branch spid_read_flash 
+
+mouse_load_flash_device_info:
+442b 5800477f setarg mem_mouse_information_end 
+442c d8404720 arg mem_mouse_information_start ,temp 
+442d 98460400 isub temp ,temp 
+442e 6801c700 fetch 3 ,mem_flash_base 
+442f da204720 arg mem_mouse_information_start ,rega 
+4430 20406562 call spid_read_flash 
+4431 2040431a call mouse_select_reconn_device 
+4432 6802477b fetch 4 ,mem_mouse_24g_addr 
+4433 20402c7a call g24_head_ptr2regc 
+4434 2020322c branch g24_store_mem_addr 
+
+mouse_store_flash_device_info:
+4435 5800477f setarg mem_mouse_information_end 
+4436 d8404720 arg mem_mouse_information_start ,temp 
+4437 98460400 isub temp ,temp 
+4438 da204720 arg mem_mouse_information_start ,rega 
+4439 6801c700 fetch 3 ,mem_flash_base 
+443a 20206514 branch flash_write 
+
+mouse_store_eerpom_dpi:
+443b d8400001 arg 1 ,temp 
+443c da20477a arg mem_mouse_dpi ,rega 
+443d da40005a arg mouse_dpi_eeprom_offect ,regb 
+443e 202065d1 branch iicd_write_protect_eep_data 
+
+mouse_load_eeprom_dpi:
+443f d8400001 arg 1 ,temp 
+4440 da20477a arg mem_mouse_dpi ,rega 
+4441 da40005a arg mouse_dpi_eeprom_offect ,regb 
+4442 202065df branch iicd_read_eep_data 
+
+mouse_statue_cheak_timer:
+4443 c6130000 rtnmark1 mark_24g 
+4444 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4445 c40b0000 rtnbit0 mouse_enable_statue_up 
+4446 6800c705 fetch 1 ,mem_mouse_1step_up_count 
+4447 1fe0fe01 pincrease 1 
+4448 1fe17e07 and pdata ,0x07 ,pdata 
+4449 6000c705 store 1 ,mem_mouse_1step_up_count 
+444a c1838000 rtnne 0x07 
+444b 68014682 fetch 2 ,mem_ui_state_map 
+444c c280444f bbit1 ui_state_bt_connected ,mouse_check_statue_up 
+444d c284c44f bbit1 ui_state_ble_connected ,mouse_check_statue_up 
+444e 20600000 rtn 
+
+mouse_check_statue_up:
+444f 44f7401d bpatch patch1d_6 ,mem_patch1d 
+4450 6800c706 fetch 1 ,mem_mouse_2step_up_count 
+4451 247a0000 nrtn blank 
+4452 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4453 c4040000 rtnbit0 mouse_statue_up_flag 
+4454 6800c6a5 fetch 1 ,mem_sensor_squal_reg 
+4455 204063fb call sensor_read 
+4456 6000c6a6 store 1 ,mem_sensor_iqc 
+4457 1fe67c10 sub pdata ,0x10 ,null 
+4458 2021445b branch mouse_statue_up_timer_init ,positive 
+4459 70470600 jam 0 ,mem_mouse_2step_up_count 
+445a 20600000 rtn 
+
+mouse_statue_up_timer_init:
+445b 7047061e jam 30 ,mem_mouse_2step_up_count 
+445c 20600000 rtn 
+
+mouse_statue_up_timer:
+445d da604706 arg mem_mouse_2step_up_count ,regc 
+445e da404460 arg mouse_statue_up ,regb 
+445f 2020336d branch timer_single_step 
+
+mouse_statue_up:
+4460 6800c6a5 fetch 1 ,mem_sensor_squal_reg 
+4461 20406414 call twspi_read 
+4462 1fe67c10 sub pdata ,0x10 ,null 
+4463 24610000 nrtn positive 
+4464 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+4465 c4040000 rtnbit0 mouse_statue_up_flag 
+4466 d8e00008 arg mouse_statue_up_flag ,queue 
+4467 204043d2 call mouse_disable_function_flag 
+4468 70417200 jam 0 ,mem_lpm_mult 
+4469 7046c41e jam 30 ,mem_mouse_statue_led_timer 
+446a 20404482 call mouse_devce_led_off 
+446b 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+446c c28ac471 bbit1 mouse_enable_statue_up_three_led ,mouse_three_device_statue_up 
+
+mouse_two_device_statue_up:
+446d 6800c720 fetch 1 ,mem_device_flag 
+446e c000c489 beq mode_bt_device1 ,mouse_device1_led_on 
+446f c0014476 beq mode_bt_device2 ,mouse_device_blink_led_init 
+4470 20600000 rtn 
+
+mouse_three_device_statue_up:
+4471 6800c720 fetch 1 ,mem_device_flag 
+4472 c000c489 beq mode_bt_device1 ,mouse_device1_led_on 
+4473 c001448c beq mode_bt_device2 ,mouse_device2_led_on 
+4474 c001c48f beq mode_bt_device3 ,mouse_device3_led_on 
+4475 20600000 rtn 
+
+mouse_device_blink_led_init:
+4476 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+4477 2020428f branch mouse_led_blink 
+
+mouse_statue_led_off:
+4478 70417220 jam 0x20 ,mem_lpm_mult 
+4479 20204482 branch mouse_devce_led_off 
+
+mouse_devce1_led_off:
+447a 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+447b c17f8000 rtneq gpio_disable 
+447c 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+447d 20204296 branch mouse_led_off 
+
+mouse_devce2_led_off:
+447e 6800c6f1 fetch 1 ,mem_config_device2_led_gpio 
+447f c17f8000 rtneq gpio_disable 
+4480 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4481 20204296 branch mouse_led_off 
+
+mouse_devce_led_off:
+4482 20404296 call mouse_led_off 
+4483 2040447a call mouse_devce1_led_off 
+4484 2040447e call mouse_devce2_led_off 
+
+mouse_devce3_led_off:
+4485 6800c6f2 fetch 1 ,mem_config_device3_led_gpio 
+4486 c17f8000 rtneq gpio_disable 
+4487 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4488 20204296 branch mouse_led_off 
+
+mouse_device1_led_on:
+4489 6800c6f0 fetch 1 ,mem_config_device1_led_gpio 
+448a 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+448b 20204298 branch mouse_led_on 
+
+mouse_device2_led_on:
+448c 6800c6f1 fetch 1 ,mem_config_device2_led_gpio 
+448d 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+448e 20204298 branch mouse_led_on 
+
+mouse_device3_led_on:
+448f 6800c6f2 fetch 1 ,mem_config_device3_led_gpio 
+4490 6000c715 store 1 ,mem_mouse_struct_led_gpio 
+4491 20204298 branch mouse_led_on 
+
+mouse_polling_device:
+4492 44f7c01d bpatch patch1d_7 ,mem_patch1d 
+4493 6800c71e fetch 1 ,mem_reconn_times 
+4494 1fe0ffff increase -1 ,pdata 
+4495 6000c71e store 1 ,mem_reconn_times 
+4496 6808c720 fetcht 1 ,mem_device_flag 
+4497 18408401 increase 1 ,temp 
+4498 6800c6d2 fetch 1 ,mem_device_number 
+4499 98467c00 isub temp ,null 
+449a 244143cc ncall mouse_select_device_count_clean ,positive 
+449b 6008c720 storet 1 ,mem_device_flag 
+449c 7041bd00 jam 0 ,mem_link_key_exists 
+449d 2040437a call mouse_store_device_number2eeprom 
+449e 204042fb call mouse_before_store_reconn_info 
+449f 202042a2 branch mouse_check_reconn_target 
+
+mouse_power_down:
+44a0 20404482 call mouse_devce_led_off 
+44a1 58000000 setarg 0 
+44a2 600400a1 store 8 ,mem_gpio_wakeup_low 
+44a3 20202b1f branch lpm_hibernate 
+
+remote_car_init:
+44a4 20758000 rtn wake 
+44a5 68108081 hfetch 1 ,core_gpio_sel1 
+44a6 1fe17ef0 and_into 0xf0 ,pdata 
+44a7 60108081 hstore 1 ,core_gpio_sel1 
+44a8 20406948 call keyscan_key_init 
+44a9 580044e6 setarg remote_car_le_before_hibernate 
+44aa 600141eb store 2 ,mem_cb_before_hibernate 
+44ab 580044e9 setarg remote_car_process_lpm_before 
+44ac 600141ed store 2 ,mem_cb_before_lpm 
+44ad 580044ef setarg remote_car_scale_process_idle 
+44ae 600141f3 store 2 ,mem_cb_idle_process 
+44af 580044f2 setarg remote_car_scale_process_bb_event 
+44b0 600141f5 store 2 ,mem_cb_bb_event_process 
+44b1 580033d0 setarg app_get_lpm_wake_lock 
+44b2 600141e9 store 2 ,mem_cb_check_wakelock 
+44b3 20402c7a call g24_head_ptr2regc 
+44b4 580045c2 setarg remote_car_g24_package_data 
+44b5 1a608ad8 add regc ,offset_24g_cb_data ,contw 
+44b6 e0a10000 istore 2 ,contw 
+44b7 580044ea setarg remote_car_g24_enter_lpm 
+44b8 1a608ada add regc ,offset_24g_cb_lpm_prepare ,contw 
+44b9 e0a10000 istore 2 ,contw 
+44ba 580044e9 setarg remote_car_process_lpm_before 
+44bb 1a608adc add regc ,offset_24g_cb_lpm_before ,contw 
+44bc e0a10000 istore 2 ,contw 
+44bd 5800450e setarg remote_car_event_timer 
+44be 600141fd store 2 ,mem_cb_event_timer 
+44bf 580044da setarg remote_car_power_off_signal 
+44c0 6001475b store 2 ,mem_remote_car_power_off_cb 
+44c1 580044d6 setarg remote_car_soft_switch_power_on_signal 
+44c2 6001475f store 2 ,mem_remote_car_power_standby_cb 
+44c3 58004560 setarg remote_car_send_key_data 
+44c4 6001470f store 2 ,mem_cb_remote_car_keyscan 
+44c5 44f8401e bpatch patch1e_0 ,mem_patch1e 
+44c6 204044e2 call remote_car_init_environment 
+44c7 20407e38 call queue_init 
+44c8 70417202 jam 2 ,mem_lpm_mult 
+44c9 6800c72b fetch 1 ,mem_remote_car_config_soft_switch_enable 
+44ca 6000c69a store 1 ,mem_remote_car_hard_soft_switch 
+44cb c00044d5 beq hard_switch ,remote_car_hard_switch_power_on_signal 
+44cc 6800c72c fetch 1 ,mem_remote_car_config_soft_switch_gpio 
+44cd 6000c686 store 1 ,mem_ui_button_gpio 
+
+remote_car_soft_switch_power_on_init:
+44ce 204044db call remote_car_ui_led_init 
+44cf 20407cd3 call ui_button_init 
+44d0 20407cdd call ui_button_polling 
+44d1 70475701 jam power_starting ,mem_remote_car_power_state 
+44d2 68014682 fetch 2 ,mem_ui_state_map 
+44d3 c3860000 rtnbit1 ui_state_btn_down 
+44d4 2020340a branch app_enter_hibernate 
+
+remote_car_hard_switch_power_on_signal:
+44d5 70475702 jam power_standby ,mem_remote_car_power_state 
+
+remote_car_soft_switch_power_on_signal:
+44d6 204044db call remote_car_ui_led_init 
+44d7 da200000 arg 0 ,rega 
+44d8 20407d1e call ui_led_blink_start_global 
+
+remote_car_connect_24g_mode:
+44d9 20202ee4 branch g24_auto_pair_start 
+
+remote_car_power_off_signal:
+44da 202044db branch remote_car_ui_led_init 
+
+remote_car_ui_led_init:
+44db 44f8c01e bpatch patch1e_1 ,mem_patch1e 
+44dc 6800c729 fetch 1 ,mem_remote_car_config_connect_led_gpio 
+44dd c0ffc4e0 bne invalid_pin_num ,remote_car_pairing_led_gpio_set 
+
+remote_car_ui_led_init_1:
+44de 6808c706 fetcht 1 ,mem_remote_car_led_map 
+44df 2020680e branch gpio_config_output 
+
+remote_car_pairing_led_gpio_set:
+44e0 6000c706 store 1 ,mem_remote_car_led_map 
+44e1 202044de branch remote_car_ui_led_init_1 
+
+remote_car_init_environment:
+44e2 20402c9d call g24_set_device_addr 
+44e3 68014753 fetch 2 ,mem_remote_car_no_data_timeout 
+44e4 60014755 store 2 ,mem_remote_car_no_data_timer 
+44e5 20204515 branch remote_car_get_adc_default_data 
+
+remote_car_le_before_hibernate:
+
+remote_car_in_enter_hibernate:
+44e6 20406835 call gpio_set_before_lpm_common 
+44e7 204044e9 call remote_car_process_lpm_before 
+44e8 2020340a branch app_enter_hibernate 
+
+remote_car_process_lpm_before:
+44e9 2020696c branch keyscan_process_lpm_before 
+
+remote_car_g24_enter_lpm:
+44ea 6800c765 fetch 1 ,mem_remote_car_24g_enter_lpm_enable 
+44eb 207a0000 rtn blank 
+44ec 20202d83 branch g24_lpm_long_sleep 
+
+remote_car_process_auto_pair_exit:
+44ed 20600000 rtn 
+
+remote_car_key_scan_process:
+44ee 20206978 branch keyscan_key_process 
+
+remote_car_scale_process_idle:
+44ef 20404544 call remote_car_rocker_process 
+44f0 20404503 call remote_car_24g_status_process 
+44f1 202044ee branch remote_car_key_scan_process 
+
+remote_car_scale_process_bb_event:
+44f2 1a627e00 copy regc ,pdata 
+44f3 c016b431 beq bt_evt_button_up ,app_event_button_up 
+44f4 c008341a beq bt_evt_button_long_pressed ,app_button_long_pressed 
+44f5 c01cc4fb beq bt_evt_24g_pairing_complete ,remote_car_24g_pairing_complete 
+44f6 c01e44ff beq bt_evt_24g_attempt_success ,remote_car_24g_attempt_success 
+44f7 c01d44f9 beq bt_evt_24g_attempt_fail ,remote_car_24g_attempt_fail 
+44f8 20600000 rtn 
+
+remote_car_24g_attempt_fail:
+44f9 70476501 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+44fa 20600000 rtn 
+
+remote_car_24g_pairing_complete:
+44fb 70476501 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+44fc 70476301 jam work_paired ,mem_remote_car_24g_auto_work_step 
+44fd 70476401 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+44fe 20600000 rtn 
+
+remote_car_24g_attempt_success:
+44ff 70476501 jam 1 ,mem_remote_car_24g_enter_lpm_enable 
+4500 70476301 jam work_paired ,mem_remote_car_24g_auto_work_step 
+4501 70476401 jam work_paired ,mem_remote_car_24g_pair_success_flag 
+4502 20600000 rtn 
+
+remote_car_24g_status_process:
+4503 6800c763 fetch 1 ,mem_remote_car_24g_auto_work_step 
+4504 c1000000 rtneq power_on 
+4505 6800c762 fetch 1 ,mem_remote_car_24g_status 
+4506 c1008000 rtneq work_paired 
+4507 70476201 jam work_paired ,mem_remote_car_24g_status 
+
+remote_car_scale_process_paired:
+4508 da200000 arg 0 ,rega 
+4509 20207d19 branch ui_led_off_global 
+
+remote_car_scale_process_shutdown:
+450a da200000 arg 0 ,rega 
+450b 20407d19 call ui_led_off_global 
+450c 204044db call remote_car_ui_led_init 
+450d 2020340a branch app_enter_hibernate 
+
+remote_car_event_timer:
+450e 2040337b call app_power_timer 
+450f 20204510 branch remote_car_no_data_timer 
+
+remote_car_no_data_timer:
+4510 6800c72d fetch 1 ,mem_remote_car_config_timeout_shutdown_enable 
+4511 207a0000 rtn blank 
+4512 da604755 arg mem_remote_car_no_data_timer ,regc 
+4513 da40450a arg remote_car_scale_process_shutdown ,regb 
+4514 20203374 branch timer_single_step_2b 
+
+remote_car_get_adc_default_data:
+4515 2040451a call remote_car_rocker_get_x 
+4516 6009471a storet 2 ,mem_current_vdd_value_default_mid_x 
+4517 2040451f call remote_car_rocker_get_y 
+4518 6009471c storet 2 ,mem_current_vdd_value_default_mid_y 
+4519 20600000 rtn 
+
+remote_car_rocker_data_get:
+
+remote_car_rocker_get_x:
+451a 6801471a fetch 2 ,mem_current_vdd_value_default_mid_x 
+451b 6001471e store 2 ,mem_current_vdd_value_default_mid_temp 
+451c 20404540 call remote_car_get_adc_from_gpio6 
+451d 20404525 call remote_car_rocker_get_value 
+451e 6000c724 store 1 ,mem_rocker_status 
+
+remote_car_rocker_get_y:
+451f 6801471c fetch 2 ,mem_current_vdd_value_default_mid_y 
+4520 6001471e store 2 ,mem_current_vdd_value_default_mid_temp 
+4521 20404542 call remote_car_get_adc_from_gpio7 
+4522 20404525 call remote_car_rocker_get_value 
+4523 6000c725 store 1 ,mem_rocker_status + 1 
+4524 20600000 rtn 
+
+remote_car_rocker_get_value:
+4525 68014720 fetch 2 ,mem_current_vdd_default_range 
+4526 1fe22200 copy pdata ,rega 
+4527 6801471e fetch 2 ,mem_current_vdd_value_default_mid_temp 
+4528 2040452e call remote_car_rocker_mid_value_adjust 
+4529 6800c719 fetch 1 ,mem_rocker_work_status 
+452a 243a4537 nbranch remote_car_rocker_translate_key ,blank 
+452b 24610000 nrtn positive 
+452c 6809471e fetcht 2 ,mem_current_vdd_value_default_mid_temp 
+452d 20600000 rtn 
+
+remote_car_rocker_mid_value_adjust:
+452e 98467e00 isub temp ,pdata 
+452f 20214534 branch remote_car_rocker_mid_adjust_positive ,positive 
+4530 1fe67e00 sub pdata ,0 ,pdata 
+4531 70471801 jam 1 ,mem_rocker_negative_flag 
+4532 9a267c00 isub rega ,null 
+4533 20600000 rtn 
+
+remote_car_rocker_mid_adjust_positive:
+4534 70471800 jam 0 ,mem_rocker_negative_flag 
+4535 9a267c00 isub rega ,null 
+4536 20600000 rtn 
+
+remote_car_rocker_translate_key:
+4537 2421453e nbranch remote_car_rocker_middle_key ,positive 
+4538 6800c718 fetch 1 ,mem_rocker_negative_flag 
+4539 243a453c nbranch remote_car_rocker_negative_key ,blank 
+
+remote_car_rocker_positive_key:
+453a 58000001 setarg rocker_positive_key 
+453b 20600000 rtn 
+
+remote_car_rocker_negative_key:
+453c 58000002 setarg rocker_negative_key 
+453d 20600000 rtn 
+
+remote_car_rocker_middle_key:
+453e 58000000 setarg rocker_middle_key 
+453f 20600000 rtn 
+
+remote_car_get_adc_from_gpio6:
+4540 70422e33 jam 0x33 ,mem_adc_channel 
+4541 202068eb branch adc_set_mode 
+
+remote_car_get_adc_from_gpio7:
+4542 70422e34 jam 0x34 ,mem_adc_channel 
+4543 202068eb branch adc_set_mode 
+
+remote_car_rocker_process:
+4544 6800c72a fetch 1 ,mem_remote_car_config_check_way 
+4545 c1808000 rtnne car_remote_check_rocker 
+
+remote_car_read_rocker_check_start:
+4546 44f9401e bpatch patch1e_2 ,mem_patch1e 
+4547 70471901 jam 1 ,mem_rocker_work_status 
+4548 2040451a call remote_car_rocker_data_get 
+4549 68014724 fetch 2 ,mem_rocker_status 
+454a 68094722 fetcht 2 ,mem_rocker_last_status 
+454b 98467c00 isub temp ,null 
+454c 20628000 rtn zero 
+454d 60014722 store 2 ,mem_rocker_last_status 
+454e 20404550 call remote_car_rocker_x_to_key 
+454f 20204554 branch remote_car_rocker_y_to_key 
+
+remote_car_rocker_x_to_key:
+4550 6800c724 fetch 1 ,mem_rocker_x_status 
+4551 203a455a branch rocker_to_queue_set_0 ,blank 
+4552 1fe0ffff increase -1 ,pdata 
+4553 20204557 branch remote_car_rocker_to_key 
+
+remote_car_rocker_y_to_key:
+4554 6800c725 fetch 1 ,mem_rocker_y_status 
+4555 203a455d branch rocker_to_queue_set_2 ,blank 
+4556 1fe0fe01 increase 1 ,pdata 
+
+remote_car_rocker_to_key:
+4557 1fe20e00 copy pdata ,queue 
+4558 da200001 arg 1 ,rega 
+4559 20204560 branch remote_car_send_key_data 
+
+rocker_to_queue_set_0:
+455a d8e00000 arg 0 ,queue 
+455b da200000 arg 0 ,rega 
+455c 20204560 branch remote_car_send_key_data 
+
+rocker_to_queue_set_2:
+455d d8e00002 arg 2 ,queue 
+455e da200000 arg 0 ,rega 
+455f 20204560 branch remote_car_send_key_data 
+
+remote_car_send_key_data:
+4560 1a227e00 copy rega ,pdata 
+4561 6000c761 store 1 ,mem_remote_key_status 
+4562 6800c763 fetch 1 ,mem_remote_car_24g_auto_work_step 
+4563 c0002ee4 beq power_on ,g24_auto_pair_start 
+4564 68014753 fetch 2 ,mem_remote_car_no_data_timeout 
+4565 60014755 store 2 ,mem_remote_car_no_data_timer 
+4566 6800c761 fetch 1 ,mem_remote_key_status 
+4567 203a4580 branch remote_car_key_is_release ,blank 
+
+remote_car_key_is_press:
+4568 44f9c01e bpatch patch1e_3 ,mem_patch1e 
+4569 da200000 arg 0 ,rega 
+456a 20407d14 call ui_led_on_global 
+
+remote_car_attack_key_press:
+456b 18e27e00 copy queue ,pdata 
+456c c00245a3 beq 4 ,remote_car_send_attack_key4_press 
+456d c002c5a5 beq 5 ,remote_car_send_attack_key5_press 
+456e c00345a7 beq 6 ,remote_car_send_fire_key6_press 
+
+remote_car_motor_key_press:
+456f 2040458b call remote_car_device_layout_select 
+4570 c0004574 beq control_f_b_ten ,remote_car_single_motor_key_is_press 
+4571 c001457a beq control_l_r_ten ,remote_car_double_motor_key_press 
+4572 c001c574 beq control_l_r_lr ,remote_car_single_motor_key_is_press 
+4573 20600000 rtn 
+
+remote_car_single_motor_key_is_press:
+4574 18e27e00 copy queue ,pdata 
+4575 c000458f beq 0 ,remote_car_send_motor1_key0_press 
+4576 c000c591 beq 1 ,remote_car_send_motor1_key1_press 
+4577 c0014593 beq 2 ,remote_car_send_motor2_key2_press 
+4578 c001c595 beq 3 ,remote_car_send_motor2_key3_press 
+4579 20600000 rtn 
+
+remote_car_double_motor_key_press:
+457a 18e27e00 copy queue ,pdata 
+457b c0004597 beq 0 ,remote_car_send_double_motor_key0_press 
+457c c000c59a beq 1 ,remote_car_send_double_motor_key1_press 
+457d c001459d beq 2 ,remote_car_send_double_motor_key2_press 
+457e c001c5a0 beq 3 ,remote_car_send_double_motor_key3_press 
+457f 20600000 rtn 
+
+remote_car_key_is_release:
+4580 44fa401e bpatch patch1e_4 ,mem_patch1e 
+4581 da200000 arg 0 ,rega 
+4582 20407d19 call ui_led_off_global 
+
+remote_car_attack_key_release:
+4583 18e27e00 copy queue ,pdata 
+4584 c00245bc beq 4 ,remote_car_send_attack_key4_rel 
+4585 c002c5bc beq 5 ,remote_car_send_attack_key5_rel 
+
+remote_car_motor_key_release:
+4586 2040458b call remote_car_device_layout_select 
+4587 c00045a9 beq control_f_b_ten ,remote_car_single_motor_key_rel 
+4588 c00145af beq control_l_r_ten ,remote_car_double_motor_key_rel 
+4589 c001c5a9 beq control_l_r_lr ,remote_car_single_motor_key_rel 
+458a 20600000 rtn 
+
+remote_car_device_layout_select:
+458b 6800c728 fetch 1 ,mem_remote_car_config_layout 
+458c 6808c727 fetcht 1 ,mem_remote_car_config_key_map 
+458d 9841fe00 ior temp ,pdata 
+458e 20600000 rtn 
+
+remote_car_send_motor1_key0_press:
+458f 70473401 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+4590 202045be branch remote_car_send_key 
+
+remote_car_send_motor1_key1_press:
+4591 70473402 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+4592 202045be branch remote_car_send_key 
+
+remote_car_send_motor2_key2_press:
+4593 70473601 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+4594 202045be branch remote_car_send_key 
+
+remote_car_send_motor2_key3_press:
+4595 70473602 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+4596 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key0_press:
+4597 70473401 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+4598 70473601 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+4599 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key1_press:
+459a 70473402 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+459b 70473602 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+459c 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key2_press:
+459d 70473402 jam motor_negative ,mem_remote_car_24g_motor1_payload 
+459e 70473601 jam motor_positive ,mem_remote_car_24g_motor2_payload 
+459f 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key3_press:
+45a0 70473401 jam motor_positive ,mem_remote_car_24g_motor1_payload 
+45a1 70473602 jam motor_negative ,mem_remote_car_24g_motor2_payload 
+45a2 202045be branch remote_car_send_key 
+
+remote_car_send_attack_key4_press:
+45a3 70473801 jam motor_positive ,mem_remote_car_24g_motor3_payload 
+45a4 202045be branch remote_car_send_key 
+
+remote_car_send_attack_key5_press:
+45a5 70473802 jam motor_negative ,mem_remote_car_24g_motor3_payload 
+45a6 202045be branch remote_car_send_key 
+
+remote_car_send_fire_key6_press:
+45a7 70474101 jam 0x01 ,mem_remote_car_24g_fire_send_payload 
+45a8 202045c0 branch remote_car_send_attack 
+
+remote_car_single_motor_key_rel:
+45a9 18e27e00 copy queue ,pdata 
+45aa c00045b5 beq 0 ,remote_car_send_motor1_key0_rel 
+45ab c000c5b5 beq 1 ,remote_car_send_motor1_key1_rel 
+45ac c00145b7 beq 2 ,remote_car_send_motor2_key2_rel 
+45ad c001c5b7 beq 3 ,remote_car_send_motor2_key3_rel 
+45ae 20600000 rtn 
+
+remote_car_double_motor_key_rel:
+45af 18e27e00 copy queue ,pdata 
+45b0 c00045b9 beq 0 ,remote_car_send_double_motor_key0_rel 
+45b1 c000c5b9 beq 1 ,remote_car_send_double_motor_key1_rel 
+45b2 c00145b9 beq 2 ,remote_car_send_double_motor_key2_rel 
+45b3 c001c5b9 beq 3 ,remote_car_send_double_motor_key3_rel 
+45b4 20600000 rtn 
+
+remote_car_send_motor1_key0_rel:
+
+remote_car_send_motor1_key1_rel:
+45b5 70473400 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+45b6 202045be branch remote_car_send_key 
+
+remote_car_send_motor2_key2_rel:
+
+remote_car_send_motor2_key3_rel:
+45b7 70473600 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+45b8 202045be branch remote_car_send_key 
+
+remote_car_send_double_motor_key0_rel:
+
+remote_car_send_double_motor_key1_rel:
+
+remote_car_send_double_motor_key2_rel:
+
+remote_car_send_double_motor_key3_rel:
+45b9 70473400 jam motor_stop ,mem_remote_car_24g_motor1_payload 
+45ba 70473600 jam motor_stop ,mem_remote_car_24g_motor2_payload 
+45bb 202045be branch remote_car_send_key 
+
+remote_car_send_attack_key4_rel:
+
+remote_car_send_attack_key5_rel:
+45bc 70473800 jam motor_stop ,mem_remote_car_24g_motor3_payload 
+45bd 202045be branch remote_car_send_key 
+
+remote_car_send_key:
+45be da20472e arg mem_remote_car_24g_motor_packet ,rega 
+45bf 20207e3d branch queue_push 
+
+remote_car_send_attack:
+45c0 da20473b arg mem_remote_car_24g_fire_packet ,rega 
+45c1 20207e3d branch queue_push 
+
+remote_car_g24_package_data:
+45c2 6800c764 fetch 1 ,mem_remote_car_24g_pair_success_flag 
+45c3 c000c5cc beq work_paired ,remote_car_g24_send_empty 
+45c4 da204744 arg mem_remote_car_24g_tx_temp ,rega 
+45c5 20407e54 call queue_pop 
+45c6 243445d1 nbranch remote_car_moto_data ,user 
+
+remote_car_g24_package_data_continue:
+45c7 d8c04744 arg mem_remote_car_24g_tx_temp ,contr 
+45c8 e8c08000 ifetch 1 ,contr 
+45c9 1fe22200 copy pdata ,rega 
+45ca da404745 arg mem_remote_car_24g_tx_temp + 1 ,regb 
+45cb 20600000 rtn 
+
+remote_car_g24_send_empty:
+45cc 70476400 jam 0 ,mem_remote_car_24g_pair_success_flag 
+45cd 78347c00 enable user 
+45ce da200001 arg 1 ,rega 
+45cf da404766 arg mem_remote_car_empty_packet ,regb 
+45d0 20600000 rtn 
+
+remote_car_moto_data:
+45d1 6800c747 fetch 1 ,mem_remote_car_24g_tx_temp + 3 
+45d2 c00245d5 beq car_cmd_l_r_motor_control ,remote_car_moto_data_next 
+45d3 c002c5d5 beq car_cmd_f_b_motor_control ,remote_car_moto_data_next 
+45d4 20600000 rtn 
+
+remote_car_moto_data_next:
+45d5 6800c74a fetch 1 ,mem_remote_car_24g_tx_temp + 6 
+45d6 243a45dc nbranch remote_car_moto_data_enable_user ,blank 
+45d7 6800c74c fetch 1 ,mem_remote_car_24g_tx_temp + 8 
+45d8 243a45dc nbranch remote_car_moto_data_enable_user ,blank 
+45d9 6800c74e fetch 1 ,mem_remote_car_24g_tx_temp + 10 
+45da 243a45dc nbranch remote_car_moto_data_enable_user ,blank 
+45db 20600000 rtn 
+
+remote_car_moto_data_enable_user:
+45dc 78347c00 enable user 
+45dd 202045c7 branch remote_car_g24_package_data_continue 
+
+shutter_init:
+45de 20758000 rtn wake 
+45df 68108081 hfetch 1 ,core_gpio_sel1 
+45e0 1fe17efc and_into 0xfc ,pdata 
+45e1 60108081 hstore 1 ,core_gpio_sel1 
+45e2 580046b4 setarg shutter_le_before_hibernate 
+45e3 600141eb store 2 ,mem_cb_before_hibernate 
+45e4 580046b3 setarg shutter_process_lpm_before 
+45e5 600141ed store 2 ,mem_cb_before_lpm 
+45e6 5800340a setarg app_enter_hibernate 
+45e7 600141f7 store 2 ,mem_cb_discovry_timeout 
+45e8 580046b1 setarg shutter_process_idle 
+45e9 600141f3 store 2 ,mem_cb_idle_process 
+45ea 58004612 setarg shutter_process_bb_event 
+45eb 600141f5 store 2 ,mem_cb_bb_event_process 
+45ec 5800460c setarg shutter_le_scale_lpm_lock 
+45ed 600141e9 store 2 ,mem_cb_check_wakelock 
+45ee 5800476a setarg ble_shutter_receive_data 
+45ef 600141f9 store 2 ,mem_cb_att_write 
+45f0 58004686 setarg shutter_le_bb_event_timer 
+45f1 600141fd store 2 ,mem_cb_event_timer 
+45f2 58004729 setarg shutter_key_change 
+45f3 600146e7 store 2 ,mem_cb_shutter_keycan 
+45f4 58004806 setarg shutter_soft_swtich_power_on 
+45f5 600146e2 store 2 ,mem_shutter_soft_switch_poweron_callback_function 
+45f6 58004807 setarg shutter_soft_swtich_power_off 
+45f7 600146e4 store 2 ,mem_shutter_soft_switch_poweroff_callback_function 
+45f8 204057a3 call le_modified_name 
+45f9 204047da call shutter_load_bluetooth_config_by_user_config 
+45fa 20404788 call shutter_init_bluetooth_config 
+45fb 2040476d call shutter_init_param 
+45fc 20406948 call keyscan_key_init 
+45fd 2040477a call shutter_load_buffer_config_form_datarom 
+45fe 20407e38 call queue_init 
+45ff 20407d08 call ui_led_init_global 
+4600 20404793 call shutter_load_bluetooth_config 
+4601 204047c7 call shutter_load_bluetooth_config_by_eeprom 
+4602 44fac01e bpatch patch1e_5 ,mem_patch1e 
+4603 2040464f call classic_shutter_load_reconn_info 
+4604 6800c6dd fetch 1 ,mem_shutter_hard_soft_switch_case 
+4605 c0004609 beq hard_switch ,shutter_hart_swtich_power_on 
+4606 6800c6de fetch 1 ,mem_shutter_soft_switch_button_gpio 
+4607 6000c686 store 1 ,mem_ui_button_gpio 
+4608 2020480e branch ui_soft_swtich_init 
+
+shutter_hart_swtich_power_on:
+4609 704686ff jam ui_button_gpio_disable ,mem_ui_button_gpio 
+460a 7046df01 jam ss_state_power_on ,mem_shutter_soft_switch_power_state 
+460b 202046d9 branch shutter_start_reconnect 
+
+shutter_le_scale_lpm_lock:
+460c 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+460d c00133d0 beq ss_state_power_off ,app_get_lpm_wake_lock 
+460e 2040527e call l2cap_malloc_get_full_map 
+460f 6800c256 fetch 1 ,mem_used_map 
+4610 243a33d0 nbranch app_get_lpm_wake_lock ,blank 
+4611 202033d2 branch app_put_lpm_wake_lock 
+
+shutter_process_bb_event:
+4612 1a627e00 copy regc ,pdata 
+4613 c000c626 beq bt_evt_bb_connected ,classic_shutter_process_baseband_connect 
+4614 c0014629 beq bt_evt_bb_disconnected ,classic_shutter_process_baseband_disconnect 
+4615 c0024631 beq bt_evt_reconn_failed ,classic_shutter_process_reconnect_failed 
+4616 c002c633 beq bt_evt_setup_complete ,classic_shutter_process_setup_complete 
+4617 c0034635 beq bt_evt_hid_connected ,classic_shutter_process_hid_connect 
+4618 c003c638 beq bt_evt_hid_disconnected ,classic_shutter_process_hid_disconnect 
+4619 c009463c beq bt_evt_hid_handshake ,classic_shutter_process_hid_handshake 
+461a c009c644 beq bt_evt_reconn_page_timeout ,classic_shutter_process_reconnect_page_timeout 
+461b c013c645 beq bt_evt_virtual_cable_unplug ,classic_shutter_process_virtual_cable_unplug 
+461c c0174648 beq bt_evt_remote_unsniff ,classic_shutter_process_remote_unsniff 
+461d c01ec649 beq bt_evt_store_nvram ,classic_shutter_process_store_reconnect_information 
+461e c00a4658 beq bt_evt_le_connected ,ble_shutter_process_baseband_connect 
+461f c00ac65c beq bt_evt_le_disconnected ,ble_shutter_process_baseband_disconnect 
+4620 c01fc65f beq bt_evt_le_reconnect_complete ,ble_shutter_process_reconnect_complete 
+4621 c0204665 beq bt_evt_le_parse_conn_papa_update_rsp ,ble_shutter_process_parse_connect_parameter_update_response 
+4622 c008466b beq bt_evt_button_long_pressed ,shutter_process_soft_swtich_button_long_press 
+4623 c016466c beq bt_evt_button_down ,shutter_process_soft_swtich_button_down 
+4624 c016c677 beq bt_evt_button_up ,shutter_process_soft_swtich_button_up 
+4625 20600000 rtn 
+
+classic_shutter_process_baseband_connect:
+4626 7046ad00 jam 0 ,mem_classic_shutter_hid_disconn_count 
+4627 7046ac00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+4628 20600000 rtn 
+
+classic_shutter_process_baseband_disconnect:
+4629 2040462b call classic_shutter_disconnect_clear_flag 
+462a 20204631 branch classic_shutter_process_reconnect_failed 
+
+classic_shutter_disconnect_clear_flag:
+462b 7041e200 jam app_handshake_null ,mem_app_handshake_flag 
+462c 70468000 jam 0 ,mem_hid_handshake_timer_count 
+462d 70420500 jam 0 ,mem_unsniff2sniff_timer_count 
+462e 7046ac00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+462f 7046ad00 jam 0 ,mem_classic_shutter_hid_disconn_count 
+4630 20207e38 branch queue_init 
+
+classic_shutter_process_reconnect_failed:
+4631 204033a9 call app_disconn_reason_clear 
+4632 202046c2 branch shutter_start_bluetooth_discovery 
+
+classic_shutter_process_setup_complete:
+4633 204046b6 call shutter_stop_bluetooth_discovery 
+4634 20203408 branch app_led_stop_blink 
+
+classic_shutter_process_hid_connect:
+4635 58000002 setarg hid_handshake_timeout 
+4636 6000c680 store 1 ,mem_hid_handshake_timer_count 
+4637 20600000 rtn 
+
+classic_shutter_process_hid_disconnect:
+4638 7046ac00 jam 0 ,mem_classic_shutter_cable_unplug_conut 
+4639 58000001 setarg flag_shutter_hid_disconn_timeout 
+463a 6000c6ad store 1 ,mem_classic_shutter_hid_disconn_count 
+463b 20600000 rtn 
+
+classic_shutter_process_hid_handshake:
+463c 6800c1e2 fetch 1 ,mem_app_handshake_flag 
+463d c1008000 rtneq app_handshake_done 
+463e 7041e201 jam app_handshake_done ,mem_app_handshake_flag 
+463f 20403416 call app_lpm_mult_enable 
+4640 20403414 call app_store_reconn_info 
+4641 204046b6 call shutter_stop_bluetooth_discovery 
+4642 20403408 call app_led_off 
+4643 2020340e branch app_bt_enter_sniff 
+
+classic_shutter_process_reconnect_page_timeout:
+4644 20204631 branch classic_shutter_process_reconnect_failed 
+
+classic_shutter_process_virtual_cable_unplug:
+4645 58000005 setarg flag_shutter_cable_unplug_timeout 
+4646 6000c6ac store 1 ,mem_classic_shutter_cable_unplug_conut 
+4647 20600000 rtn 
+
+classic_shutter_process_remote_unsniff:
+4648 202033cd branch app_start_auto_sniff 
+
+classic_shutter_process_store_reconnect_information:
+4649 da400000 arg nvram_eeprom_offset ,regb 
+464a 6800c217 fetch 1 ,mem_nv_data_number 
+464b 1fef8422 mul32 pdata ,34 ,temp 
+464c 68014215 fetch 2 ,mem_nv_data_ptr 
+464d 1fe22200 copy pdata ,rega 
+464e 20206606 branch iicd_write_eep_data 
+
+classic_shutter_load_reconn_info:
+464f da400000 arg nvram_eeprom_offset ,regb 
+4650 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+4651 c4008000 rtnbit0 classic_shutter 
+4652 6800c217 fetch 1 ,mem_nv_data_number 
+4653 207a0000 rtn blank 
+4654 1fef8422 mul32 pdata ,34 ,temp 
+4655 68014215 fetch 2 ,mem_nv_data_ptr 
+4656 1fe22200 copy pdata ,rega 
+4657 202065df branch iicd_read_eep_data 
+
+ble_shutter_process_baseband_connect:
+4658 204046b6 call shutter_stop_bluetooth_discovery 
+4659 58000000 setarg 0 
+465a 600146b7 store 2 ,mem_ble_shutter_reconn_timer 
+465b 20203408 branch app_led_off 
+
+ble_shutter_process_baseband_disconnect:
+465c 20407e38 call queue_init 
+465d 7046b000 jam 0 ,mem_ble_shutter_enable_notify 
+465e 202046d9 branch shutter_start_reconnect 
+
+ble_shutter_process_reconnect_complete:
+465f 20407e38 call queue_init 
+4660 7046b001 jam 1 ,mem_ble_shutter_enable_notify 
+4661 680446c1 fetch 8 ,mem_ble_shutter_interval_min 
+4662 60044496 store 8 ,mem_le_interval_min 
+4663 20403416 call app_lpm_mult_enable 
+4664 20205abf branch le_l2cap_tx_update_req 
+
+ble_shutter_process_parse_connect_parameter_update_response:
+4665 68014509 fetch 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+4666 c1000000 rtneq ble_signaling_connect_parameter_update_accepted 
+4667 680446c9 fetch 8 ,mem_ble_shutter_interval_min_new 
+4668 207a0000 rtn blank 
+4669 60044496 store 8 ,mem_le_interval_min 
+466a 20205abf branch le_l2cap_tx_update_req 
+
+shutter_process_soft_swtich_button_long_press:
+466b 2020481f branch ui_soft_switch_botton_long_press 
+
+shutter_process_soft_swtich_button_down:
+466c 6800c6dd fetch 1 ,mem_shutter_hard_soft_switch_case 
+466d c1000000 rtneq hard_switch 
+466e 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+466f c1808000 rtnne ss_state_power_on 
+4670 20404672 call shutter_store_currenct_led_state 
+4671 20203406 branch app_led_on 
+
+shutter_store_currenct_led_state:
+4672 7048df01 jam 1 ,mem_shutter_soft_swtich_botton_down 
+4673 df20000b arg 11 ,loopcnt 
+4674 d8a048e0 arg mem_shutter_soft_swtich_led_struct_temp ,contw 
+4675 d8c048c9 arg mem_shutter_led_struct_app_led ,contr 
+4676 20207f01 branch memcpy 
+
+shutter_process_soft_swtich_button_up:
+4677 6800c6dd fetch 1 ,mem_shutter_hard_soft_switch_case 
+4678 c1000000 rtneq hard_switch 
+4679 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+467a c000c67c beq ss_state_power_on ,shutter_load_currenct_led_state 
+467b 2020481b branch ui_soft_switch_botton_up 
+
+shutter_load_currenct_led_state:
+467c 6800c8df fetch 1 ,mem_shutter_soft_swtich_botton_down 
+467d c1808000 rtnne 1 
+467e 7048df00 jam 0 ,mem_shutter_soft_swtich_botton_down 
+467f 68014682 fetch 2 ,mem_ui_state_map 
+4680 c2803408 bbit1 ui_state_bt_connected ,app_led_off 
+4681 c284b408 bbit1 ui_state_ble_connected ,app_led_off 
+4682 df20000b arg 11 ,loopcnt 
+4683 d8c048e0 arg mem_shutter_soft_swtich_led_struct_temp ,contr 
+4684 d8a048c9 arg mem_shutter_led_struct_app_led ,contw 
+4685 20207f01 branch memcpy 
+
+shutter_le_bb_event_timer:
+4686 2040468c call shutter_check_sleep_timer 
+4687 20404693 call shutter_check_power_off_timer 
+4688 2040469e call classic_shutter_check_unplug_timer 
+4689 204046a6 call classic_shutter_hid_handshake_timer 
+468a 204046a9 call classic_shutter_hid_disconn_timer 
+468b 202046ac branch ble_shutter_reconn_timer 
+
+shutter_check_sleep_timer:
+468c da6046db arg mem_shutter_sleep_timer ,regc 
+468d da40468f arg shutter_sleep_timeout ,regb 
+468e 20203374 branch timer_single_step_2b 
+
+shutter_sleep_timeout:
+468f 7046df02 jam ss_state_power_off ,mem_shutter_soft_switch_power_state 
+4690 20403408 call app_led_off 
+4691 204046f4 call shutter_disconnect_current_connection 
+4692 2020480b branch shutter_wait_power_off 
+
+shutter_check_power_off_timer:
+4693 da6048ec arg mem_shutter_power_off_timer ,regc 
+4694 da404696 arg shutter_check_power_off_timeout ,regb 
+4695 2020336d branch timer_single_step 
+
+shutter_check_power_off_timeout:
+4696 68014682 fetch 2 ,mem_ui_state_map 
+4697 c284c80b bbit1 ui_state_ble_connected ,shutter_wait_power_off 
+4698 c280480b bbit1 ui_state_bt_connected ,shutter_wait_power_off 
+4699 6800c8c9 fetch 1 ,mem_shutter_led_struct_app_led_type 
+469a c000c80b beq ui_led_state_blink_start ,shutter_wait_power_off 
+469b c002480b beq ui_led_state_blink_lighting ,shutter_wait_power_off 
+469c c002c80b beq ui_led_state_blink_darking ,shutter_wait_power_off 
+469d 2020340a branch app_enter_hibernate 
+
+classic_shutter_check_unplug_timer:
+469e da6046ac arg mem_classic_shutter_cable_unplug_conut ,regc 
+469f da4046a1 arg classic_shutter_unplug_timeout ,regb 
+46a0 2020336d branch timer_single_step 
+
+classic_shutter_unplug_timeout:
+46a1 6800827f fetch 1 ,mem_control_tasks 
+46a2 79207e00 set1 l2cap_disconnect_interrupt ,pdata 
+46a3 79207e07 set1 l2cap_disconnect_control ,pdata 
+46a4 6000827f store 1 ,mem_control_tasks 
+46a5 20600000 rtn 
+
+classic_shutter_hid_handshake_timer:
+46a6 da604680 arg mem_hid_handshake_timer_count ,regc 
+46a7 da40463c arg classic_shutter_process_hid_handshake ,regb 
+46a8 2020336d branch timer_single_step 
+
+classic_shutter_hid_disconn_timer:
+46a9 da6046ad arg mem_classic_shutter_hid_disconn_count ,regc 
+46aa da4033e9 arg app_bt_disconnect ,regb 
+46ab 2020336d branch timer_single_step 
+
+ble_shutter_reconn_timer:
+46ac 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+46ad c1808000 rtnne ss_state_power_on 
+46ae da6046b7 arg mem_ble_shutter_reconn_timer ,regc 
+46af da4046c2 arg shutter_start_bluetooth_discovery ,regb 
+46b0 20203374 branch timer_single_step_2b 
+
+shutter_process_idle:
+46b1 2040473a call shutter_send_data_to_master 
+46b2 20206978 branch keyscan_key_process 
+
+shutter_process_lpm_before:
+46b3 2020696c branch keyscan_process_lpm_before 
+
+shutter_le_before_hibernate:
+46b4 20406835 call gpio_set_before_lpm_common 
+46b5 202046b3 branch shutter_process_lpm_before 
+
+shutter_stop_bluetooth_discovery:
+46b6 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+46b7 c280c6be bbit1 classic_shutter ,classic_shutter_stop_bluetooth_discovery 
+46b8 c28046ba bbit1 ble_shutter ,ble_shutter_stop_bluetooth_discovery 
+46b9 20600000 rtn 
+
+ble_shutter_stop_bluetooth_discovery:
+46ba 680146d7 fetch 2 ,mem_ble_shutter_connect_timeout 
+46bb 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46bc 600146db store 2 ,mem_shutter_sleep_timer 
+46bd 202033f8 branch app_ble_stop_adv 
+
+classic_shutter_stop_bluetooth_discovery:
+46be 680146d3 fetch 2 ,mem_classic_shutter_connect_timeout 
+46bf 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46c0 600146db store 2 ,mem_shutter_sleep_timer 
+46c1 202033f0 branch app_bt_stop_discovery 
+
+shutter_start_bluetooth_discovery:
+46c2 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+46c3 c1808000 rtnne ss_state_power_on 
+46c4 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+46c5 c280c6c8 bbit1 classic_shutter ,classic_shutter_start_discovery 
+46c6 c28046cc bbit1 ble_shutter ,ble_shutter_start_discovery 
+46c7 20600000 rtn 
+
+classic_shutter_start_discovery:
+46c8 680146d1 fetch 2 ,mem_classic_shutter_discovery_timeout ,
+46c9 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46ca 600146db store 2 ,mem_shutter_sleep_timer 
+46cb 202033eb branch app_bt_start_discovery_short 
+
+ble_shutter_start_discovery:
+46cc 68014682 fetch 2 ,mem_ui_state_map 
+46cd c3848000 rtnbit1 ui_state_ble_connected 
+46ce 680146d5 fetch 2 ,mem_ble_shutter_discovery_timeout 
+46cf 600146d9 store 2 ,mem_shutter_sleep_timeout 
+46d0 600146db store 2 ,mem_shutter_sleep_timer 
+46d1 680146b3 fetch 2 ,mem_ble_shutter_discovery_adv_interval 
+46d2 204046f0 call shutter_ble_adv_interval_set 
+46d3 20403404 call app_led_start_blink 
+46d4 680246bd fetch 4 ,mem_ble_shutter_discovery_blink_on_time 
+46d5 600248cc store 4 ,mem_shutter_led_struct_app_led_on_time 
+46d6 68014682 fetch 2 ,mem_ui_state_map 
+46d7 c3858000 rtnbit1 ui_state_ble_adv 
+46d8 202033fa branch app_ble_start_adv 
+
+shutter_start_reconnect:
+46d9 6800c6df fetch 1 ,mem_shutter_soft_switch_power_state 
+46da c1808000 rtnne ss_state_power_on 
+46db 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+46dc c280c6df bbit1 classic_shutter ,classic_shutter_start_reconnect 
+46dd c28046e4 bbit1 ble_shutter ,ble_shutter_start_reconnect 
+46de 20600000 rtn 
+
+classic_shutter_start_reconnect:
+46df 204046f8 call app_check_reconn_target 
+46e0 203a46c2 branch shutter_start_bluetooth_discovery ,blank 
+46e1 20403406 call app_led_on 
+46e2 204033f0 call app_bt_stop_discovery 
+46e3 202033e1 branch app_bt_start_reconnect 
+
+ble_shutter_start_reconnect:
+46e4 680146b7 fetch 2 ,mem_ble_shutter_reconn_timer 
+46e5 680946b5 fetcht 2 ,mem_ble_shutter_reconn_timeout 
+46e6 600946b7 storet 2 ,mem_ble_shutter_reconn_timer 
+46e7 247a0000 nrtn blank 
+46e8 680146b1 fetch 2 ,mem_ble_shutter_reconn_dav_interval 
+46e9 204046f0 call shutter_ble_adv_interval_set 
+46ea 20403404 call app_led_start_blink 
+46eb 680246b9 fetch 4 ,mem_ble_shutter_reconn_blink_on_time 
+46ec 600248cc store 4 ,mem_shutter_led_struct_app_led_on_time 
+46ed 68014682 fetch 2 ,mem_ui_state_map 
+46ee c3858000 rtnbit1 ui_state_ble_adv 
+46ef 202033fa branch app_ble_start_adv 
+
+shutter_ble_adv_interval_set:
+46f0 60014154 store 2 ,mem_lpm_interval 
+46f1 1fe0fffc increase -4 ,pdata 
+46f2 60014482 store 2 ,mem_le_adv_interval 
+46f3 20600000 rtn 
+
+shutter_disconnect_current_connection:
+46f4 68014682 fetch 2 ,mem_ui_state_map 
+46f5 c284b402 bbit1 ui_state_ble_connected ,app_ble_disconnect 
+46f6 c28033e9 bbit1 ui_state_bt_connected ,app_bt_disconnect 
+46f7 202046b6 branch shutter_stop_bluetooth_discovery 
+
+app_check_reconn_target:
+46f8 6800c217 fetch 1 ,mem_nv_data_number 
+46f9 1fe27200 copy pdata ,loopcnt 
+46fa 68014215 fetch 2 ,mem_nv_data_ptr 
+46fb 1fe22200 copy pdata ,rega 
+
+app_check_reconn_target_loop:
+46fc ea210000 ifetch 2 ,rega 
+46fd c0004701 beq 0 ,found_reconn_device 
+46fe 1a20a222 increase nv_data_len ,rega 
+46ff c20046fc loop app_check_reconn_target_loop 
+4700 20207ff1 branch enable_blank 
+
+found_reconn_device:
+4701 e8c30000 ifetch 6 ,contr 
+4702 600341d0 store 6 ,mem_hci_plap 
+4703 18c08c0a increase 10 ,contr 
+4704 d8a041be arg mem_link_key ,contw 
+4705 20407ebf call memcpy16 
+4706 204067d7 call check_link_key_load 
+4707 20207fef branch disable_blank 
+
+shutter_check_data_enable:
+4708 20407fe9 call disable_user 
+4709 68014682 fetch 2 ,mem_ui_state_map 
+470a c280470d bbit1 ui_state_bt_connected ,shutter_check_bt_data_enable 
+470b c284c710 bbit1 ui_state_ble_connected ,shutter_check_ble_data_enable 
+470c 20600000 rtn 
+
+shutter_check_bt_data_enable:
+470d 6800c253 fetch 1 ,mem_hid_interrupt_state 
+470e c19f8000 rtnne 0x3f 
+470f 20207fe7 branch enable_user 
+
+shutter_check_ble_data_enable:
+4710 6800c6b0 fetch 1 ,mem_ble_shutter_enable_notify 
+4711 207a0000 rtn blank 
+4712 20207fe7 branch enable_user 
+
+shutter_check_bluetooth_conn:
+4713 20407fe9 call disable_user 
+4714 68014682 fetch 2 ,mem_ui_state_map 
+4715 c3800000 rtnbit1 ui_state_bt_connected 
+4716 c3848000 rtnbit1 ui_state_ble_connected 
+4717 20207fe7 branch enable_user 
+
+shutter_change_bluetooth_status_bt_disconn:
+4718 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+4719 c280c71c bbit1 classic_shutter ,classic_shutter_change_bluetooth_status_bt_disconn 
+471a c280471f bbit1 ble_shutter ,ble_shutter_change_bluetooth_status_bt_disconn 
+471b 20600000 rtn 
+
+classic_shutter_change_bluetooth_status_bt_disconn:
+471c 6800c093 fetch 1 ,mem_scan_mode 
+471d c1818000 rtnne 0x03 
+471e 202046d9 branch shutter_start_reconnect 
+
+ble_shutter_change_bluetooth_status_bt_disconn:
+471f 202046d9 branch shutter_start_reconnect 
+
+shutter_check_send_data:
+4720 78567c00 disable user2 
+4721 680146d9 fetch 2 ,mem_shutter_sleep_timeout 
+4722 600146db store 2 ,mem_shutter_sleep_timer 
+4723 20404713 call shutter_check_bluetooth_conn 
+4724 20344718 branch shutter_change_bluetooth_status_bt_disconn ,user 
+4725 20404708 call shutter_check_data_enable 
+4726 24740000 nrtn user 
+4727 78367c00 enable user2 
+4728 20600000 rtn 
+
+shutter_key_change:
+4729 20404720 call shutter_check_send_data 
+472a 24760000 nrtn user2 
+472b 1a227e00 deposit rega 
+472c 203a4730 branch shutter_key_release ,blank 
+
+shutter_key_press:
+472d 20403406 call app_led_on 
+472e da6046f1 arg mem_key0_press ,regc 
+472f 20204732 branch push_queue_press_or_release 
+
+shutter_key_release:
+4730 20403408 call app_led_off 
+4731 da604719 arg mem_key0_release ,regc 
+
+push_queue_press_or_release:
+4732 dfe00005 arg max_queue_num ,pdata 
+4733 98effe00 imul32 queue ,pdata 
+4734 9a60a600 iadd regc ,regc 
+
+push_buffer_in_queue:
+4735 ea608000 ifetch 1 ,regc 
+4736 207a0000 rtn blank 
+4737 20404762 call queue_push_one_byte 
+4738 1a60a601 increase 1 ,regc 
+4739 20204735 branch push_buffer_in_queue 
+
+shutter_send_data_to_master:
+473a 68014682 fetch 2 ,mem_ui_state_map 
+473b c284c73e bbit1 ui_state_ble_connected ,pop_queue_to_ble_data 
+473c c280474e bbit1 ui_state_bt_connected ,pop_queue_to_classic_data 
+473d 20600000 rtn 
+
+pop_queue_to_ble_data:
+473e 20405892 call le_fifo_check_nearly_full 
+473f 247a0000 nrtn blank 
+4740 20404765 call queue_pop_one_byte 
+4741 24740000 nrtn user 
+4742 1fe0ffff pincrease -1 
+4743 1feffe05 mul32 pdata ,shutter_ble_data_buffer ,pdata 
+4744 d8404741 arg mem_ble_data_buffer1 ,temp 
+4745 98408c00 iadd temp ,contr 
+
+le_send_notify_from_list:
+4746 e8c08000 ifetch 1 ,contr 
+4747 1fe22200 copy pdata ,rega 
+4748 e8c90000 ifetcht 2 ,contr 
+4749 20407ea5 call store_contr 
+474a 20405a64 call le_att_malloc_tx_notify 
+474b 1a227200 copy rega ,loopcnt 
+474c 20407e9f call get_contr 
+474d 20207f01 branch memcpy 
+
+pop_queue_to_classic_data:
+474e 20405271 call l2cap_malloc_is_fifo_nearly_full 
+474f 247a0000 nrtn blank 
+4750 20404765 call queue_pop_one_byte 
+4751 24740000 nrtn user 
+4752 1fe0ffff pincrease -1 
+4753 1feffe05 mul32 pdata ,shutter_classic_data_buffer ,pdata 
+4754 d84047a0 arg mem_classic_data_buffer1 ,temp 
+4755 98408c00 iadd temp ,contr 
+4756 e8c28000 ifetch 5 ,contr 
+4757 6002c79b store 5 ,mem_classic_data_buffer 
+
+classic_send_hid_data:
+4758 6800c79b fetch 1 ,mem_classic_data_buffer 
+4759 1fe22200 copy pdata ,rega 
+475a 20404d63 call hid_malloc_tx_buff 
+475b 6801424e fetch 2 ,mem_hid_int_remote_cid 
+475c e0a10000 istore 2 ,contw 
+475d 580000a1 setarg 0xa1 
+475e e0a08000 istore 1 ,contw 
+475f 6802479c fetch 4 ,mem_classic_data_buffer + 1 
+4760 e0a48000 istore 9 ,contw 
+4761 20600000 rtn 
+
+queue_push_one_byte:
+4762 60008a9a store 1 ,mem_pdatatemp 
+4763 da200a9a arg mem_pdatatemp ,rega 
+4764 20207e3d branch queue_push 
+
+queue_pop_one_byte:
+4765 da200a9a arg mem_pdatatemp ,rega 
+4766 20407e54 call queue_pop 
+4767 24740000 nrtn user 
+4768 68008a9a fetch 1 ,mem_pdatatemp 
+4769 20600000 rtn 
+
+ble_shutter_receive_data:
+476a 68010478 fetch 2 ,mem_le_att_handle 
+476b c00c465f beq gatt_keyboard_write_handle ,ble_shutter_process_reconnect_complete 
+476c 20600000 rtn 
+
+shutter_init_param:
+476d 58000002 setarg 0x02 
+476e 6000c8eb store 1 ,mem_shutter_power_off_timeout 
+476f 58200008 setarg 0x00200008 
+4770 600246c1 store 4 ,mem_ble_shutter_interval_min 
+4771 592c0005 setarg 0x012c0005 
+4772 e0a20000 istore 4 ,contw 
+4773 7044a617 jam 0x17 ,mem_le_local_mtu 
+4774 5800001b setarg 0x1b 
+4775 600144fa store 2 ,mem_le_pairing_handle 
+4776 20405810 call le_set_config_fixed_ltk 
+4777 2040582c call le_set_fixed_ltk 
+4778 20405839 call le_set_justwork 
+4779 20205818 branch le_set_config_read_authentication 
+
+shutter_load_buffer_config_form_datarom:
+477a df200028 arg ble_key_value_list_size ,loopcnt 
+477b d8a04741 arg mem_ble_data_buffer1 ,contw 
+477c d8c0949f arg ble_shutter_key_value_list ,contr 
+477d 20407ef4 call memcpy_fast 
+477e df200028 arg bt_key_value_list_size ,loopcnt 
+477f d8a047a0 arg mem_classic_data_buffer1 ,contw 
+4780 d8c094c7 arg classic_shutter_key_value_list ,contr 
+4781 20207ef4 branch memcpy_fast 
+
+shutter_load_ble_gatt_form_datarom:
+4782 df20017e arg ble_gatt_list_size ,loopcnt 
+4783 d8c0913a arg ble_shutter_gatt_list ,contr 
+4784 20207ef4 branch memcpy_fast 
+
+shutter_load_bt_sdp_form_datarom:
+4785 df2001e7 arg bt_sdp_list_size ,loopcnt 
+4786 d8c092b8 arg classic_shutter_sdp_list ,contr 
+4787 20207ef4 branch memcpy_fast 
+
+shutter_init_bluetooth_config:
+4788 204047ae call shutter_check_load_config_flag 
+4789 24740000 nrtn user 
+478a 6800c69f fetch 1 ,mem_shutter_config_select_gpio1 
+478b 20404790 call shutter_init_bluetooth_config_gpio_input 
+478c 6800c6a0 fetch 1 ,mem_shutter_config_select_gpio2 
+478d 20404790 call shutter_init_bluetooth_config_gpio_input 
+478e 6800c6a1 fetch 1 ,mem_shutter_config_select_gpio3 
+478f 20204790 branch shutter_init_bluetooth_config_gpio_input 
+
+shutter_init_bluetooth_config_gpio_input:
+4790 207a0000 rtn blank 
+4791 1fe18480 or pdata ,0x80 ,temp 
+4792 202067f9 branch gpio_config_input_nowake 
+
+shutter_load_bluetooth_config:
+4793 204047ae call shutter_check_load_config_flag 
+4794 24740000 nrtn user 
+4795 20404797 call shutter_load_bluetooth_config_label 
+4796 202047b4 branch shutter_load_bluetooth_config_by_otp 
+
+shutter_load_bluetooth_config_label:
+4797 da200000 arg 0 ,rega 
+4798 6800c69f fetch 1 ,mem_shutter_config_select_gpio1 
+4799 204047a9 call shutter_load_bluetooth_config_read_gpio_input 
+479a 7d3a2200 nsetflag blank ,0 ,rega 
+479b 6800c6a0 fetch 1 ,mem_shutter_config_select_gpio2 
+479c 204047a9 call shutter_load_bluetooth_config_read_gpio_input 
+479d 7d3a2201 nsetflag blank ,1 ,rega 
+479e 6800c6a1 fetch 1 ,mem_shutter_config_select_gpio3 
+479f 204047a9 call shutter_load_bluetooth_config_read_gpio_input 
+47a0 7d3a2202 nsetflag blank ,2 ,rega 
+47a1 1a227e00 copy rega ,pdata 
+47a2 6000c6a9 store 1 ,mem_shutter_config_label 
+47a3 6800c69e fetch 1 ,mem_shutter_config_size 
+47a4 9a2ffe00 imul32 rega ,pdata 
+47a5 6809469c fetcht 2 ,mem_shutter_config_otp_base_address 
+47a6 9840fe00 iadd temp ,pdata 
+47a7 600146aa store 2 ,mem_shutter_config_otp_addr 
+47a8 20600000 rtn 
+
+shutter_load_bluetooth_config_read_gpio_input:
+47a9 207a0000 rtn blank 
+47aa 1fe18480 or pdata ,0x80 ,temp 
+47ab 2040681d call gpio_get_bit 
+47ac 2420fff1 nbranch enable_blank ,true 
+47ad 20207fef branch disable_blank 
+
+shutter_check_load_config_flag:
+47ae 20407fe9 call disable_user 
+47af 6800c6a8 fetch 1 ,mem_shutter_config_user_size 
+47b0 247a0000 nrtn blank 
+47b1 6800c69b fetch 1 ,mem_shutter_config_enable 
+47b2 207a0000 rtn blank 
+47b3 20207fe7 branch enable_user 
+
+shutter_load_bluetooth_config_by_otp:
+47b4 2040666a call otp_enable_chgpump 
+47b5 680146aa fetch 2 ,mem_shutter_config_otp_addr 
+47b6 da200ac2 arg mem_shutter_config_data_temp ,rega 
+47b7 6808c69e fetcht 1 ,mem_shutter_config_size 
+47b8 204066b3 call otpd_read_data 
+47b9 2040666d call otp_disable_chgpump 
+
+shutter_load_bluetooth_config_store_name:
+47ba 68008ac2 fetch 1 ,mem_shutter_config_data_temp 
+47bb 1fe27200 copy pdata ,loopcnt 
+47bc 6000c3af store 1 ,mem_le_name_len 
+47bd 20407ef4 call memcpy_fast 
+47be 68008ac2 fetch 1 ,mem_shutter_config_data_temp 
+47bf 1fe27200 copy pdata ,loopcnt 
+47c0 6000c515 store 1 ,mem_local_name_length 
+47c1 20407ef4 call memcpy_fast 
+47c2 e8c08000 ifetch 1 ,contr 
+47c3 6000c6e6 store 1 ,mem_shutter_key_num 
+47c4 e8c08000 ifetch 1 ,contr 
+47c5 6000c6dd store 1 ,mem_shutter_hard_soft_switch_case 
+47c6 20600000 rtn 
+
+shutter_load_bluetooth_config_by_eeprom:
+47c7 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+47c8 c4008000 rtnbit0 classic_shutter 
+47c9 d8400003 arg 3 ,temp 
+47ca 680146a4 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+47cb 1fe22400 copy pdata ,regb 
+47cc da2046a6 arg mem_shutter_config_eeprom_start_flag ,rega 
+47cd 204065df call iicd_read_eep_data 
+47ce 680946a6 fetcht 2 ,mem_shutter_config_eeprom_start_flag 
+47cf 58001b3a setarg shutter_eeprom_config_crc 
+47d0 98467c00 isub temp ,null 
+47d1 24628000 nrtn zero 
+47d2 6800c6a8 fetch 1 ,mem_shutter_config_user_size 
+47d3 207a0000 rtn blank 
+47d4 1fe20400 copy pdata ,temp 
+47d5 680146a4 fetch 2 ,mem_shutter_config_eeprom_offset_addr 
+47d6 1fe0a403 add pdata ,3 ,regb 
+47d7 da200ac2 arg mem_shutter_config_data_temp ,rega 
+47d8 204065df call iicd_read_eep_data 
+47d9 202047e8 branch shutter_store_config 
+
+shutter_load_bluetooth_config_by_user_config:
+47da 680146a2 fetch 2 ,mem_shutter_config_user_otp_address 
+47db 207a0000 rtn blank 
+47dc 2040666a call otp_enable_chgpump 
+47dd d8400001 arg 1 ,temp 
+47de da2046a8 arg mem_shutter_config_user_size ,rega 
+47df 204066b3 call otpd_read_data 
+47e0 6800c6a8 fetch 1 ,mem_shutter_config_user_size 
+47e1 207a0000 rtn blank 
+47e2 680146a2 fetch 2 ,mem_shutter_config_user_otp_address 
+47e3 1fe0fe01 pincrease 1 
+47e4 da200ac2 arg mem_shutter_config_data_temp ,rega 
+47e5 6808c6a8 fetcht 1 ,mem_shutter_config_user_size 
+47e6 204066b3 call otpd_read_data 
+47e7 2040666d call otp_disable_chgpump 
+
+shutter_store_config:
+47e8 204047ba call shutter_load_bluetooth_config_store_name 
+
+shutter_load_bluetooth_config_custom:
+47e9 e8c10000 ifetch 2 ,contr 
+47ea 207a0000 rtn blank 
+47eb 1fe20a00 copy pdata ,contw 
+47ec e8c88000 ifetcht 1 ,contr 
+47ed 18427200 copy temp ,loopcnt 
+47ee 20407f01 call memcpy 
+47ef 202047e9 branch shutter_load_bluetooth_config_custom 
+
+shutter_random_mac_addr:
+47f0 6800c69a fetch 1 ,mem_shutter_bluetooth_type 
+47f1 c4008000 rtnbit0 classic_shutter 
+47f2 680146ae fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+47f3 1fe22400 copy pdata ,regb 
+47f4 d8400004 arg 4 ,temp 
+47f5 da200ac2 arg mem_shutter_random_mac_data_temp ,rega 
+47f6 204065df call iicd_read_eep_data 
+47f7 68008ac2 fetch 1 ,mem_shutter_random_mac_data_temp 
+47f8 c080c7f9 bne 1 ,shutter_write_random_mac_addr_to_eeprom 
+
+shutter_write_random_mac_addr_to_eeprom:
+47f9 58000001 setarg 1 
+47fa 60008ac2 store 1 ,mem_shutter_random_mac_data_temp 
+47fb 18007203 force 3 ,loopcnt 
+47fc 2040630d call generate_random_loop 
+47fd 680146ae fetch 2 ,mem_classic_shutter_random_mac_offset_addr 
+47fe 1fe22400 copy pdata ,regb 
+47ff d8400004 arg 4 ,temp 
+4800 da200ac2 arg mem_shutter_random_mac_data_temp ,rega 
+4801 20406606 call iicd_write_eep_data 
+
+shutter_write_random_mac_addr:
+4802 68018ac3 fetch 3 ,mem_shutter_random_mac_data_temp + 1 
+4803 6001c0a0 store 3 ,mem_lap 
+4804 6001c4a0 store 3 ,mem_le_lap 
+4805 20600000 rtn 
+
+shutter_soft_swtich_power_on:
+4806 202046d9 branch shutter_start_reconnect 
+
+shutter_soft_swtich_power_off:
+4807 da200000 arg 0 ,rega 
+4808 da6048d4 arg mem_shutter_power_off_led_style ,regc 
+4809 20407d24 call ui_led_set_style_global 
+480a 204046f4 call shutter_disconnect_current_connection 
+
+shutter_wait_power_off:
+480b 6800c8eb fetch 1 ,mem_shutter_power_off_timeout 
+480c 6000c8ec store 1 ,mem_shutter_power_off_timer 
+480d 20600000 rtn 
+
+ui_soft_swtich_init:
+480e 58000000 setarg ss_state_power_up 
+480f 20404816 call ui_soft_swtich_init_power_on_time 
+4810 70467901 jam ui_button_state_up ,mem_ui_button_last_state 
+4811 20407cd3 call ui_button_init 
+4812 20407cdd call ui_button_polling 
+4813 68014682 fetch 2 ,mem_ui_state_map 
+4814 c3860000 rtnbit1 ui_state_btn_down 
+4815 2020340a branch app_enter_hibernate 
+
+ui_soft_swtich_init_power_on_time:
+4816 6809423f fetcht 2 ,mem_power_param_ptr 
+4817 e0408000 istore 1 ,temp 
+4818 e8a08000 ifetch 1 ,contw 
+4819 6000c685 store 1 ,mem_ui_button_timeout 
+481a 20600000 rtn 
+
+ui_soft_switch_botton_up:
+481b 6801423f fetch 2 ,mem_power_param_ptr 
+481c efe08000 ifetch 1 ,pdata 
+481d c1800000 rtnne ss_state_power_up 
+481e 2020340a branch app_enter_hibernate 
+
+ui_soft_switch_botton_long_press:
+481f 6809423f fetcht 2 ,mem_power_param_ptr 
+4820 e8408000 ifetch 1 ,temp 
+4821 c000c82a beq ss_state_power_on ,ui_soft_switch_power_off 
+
+ui_soft_switch_power_on:
+4822 58000001 setarg ss_state_power_on 
+4823 6809423f fetcht 2 ,mem_power_param_ptr 
+4824 e0408000 istore 1 ,temp 
+4825 18408c02 add temp ,ss_power_off_time ,contr 
+4826 e8c08000 ifetch 1 ,contr 
+4827 e0a08000 istore 1 ,mem_ui_button_timeout 
+4828 e8c10000 ifetch 2 ,contr 
+4829 20207f9c branch callback_func 
+
+ui_soft_switch_power_off:
+482a 58000002 setarg ss_state_power_off 
+482b 20404816 call ui_soft_swtich_init_power_on_time 
+482c 18408c05 add temp ,ss_power_off_cb ,contr 
+482d e8c10000 ifetch 2 ,contr 
+482e 203a340a branch app_enter_hibernate ,blank 
+482f 20207f9c branch callback_func 
+
+shutter_byteswap:
+4830 60030101 store 6 ,mem_tmp_buffer 
+4831 68008101 fetch 1 ,mem_tmp_buffer 
+4832 6000810c store 1 ,mem_tmp_buffer + 11 
+4833 e8c08000 ifetch 1 ,contr 
+4834 6000810b store 1 ,mem_tmp_buffer + 10 
+4835 e8c08000 ifetch 1 ,contr 
+4836 6000810a store 1 ,mem_tmp_buffer + 9 
+4837 e8c08000 ifetch 1 ,contr 
+4838 60008109 store 1 ,mem_tmp_buffer + 8 
+4839 e8c08000 ifetch 1 ,contr 
+483a 60008108 store 1 ,mem_tmp_buffer + 7 
+483b e8c08000 ifetch 1 ,contr 
+483c 60008107 store 1 ,mem_tmp_buffer + 6 
+483d 68030107 fetch 6 ,mem_tmp_buffer + 6 
+483e 20600000 rtn 
+
+shutter_random_addr_by_otp:
+483f 204068a2 call load_adc_init 
+4840 6800c223 fetch 1 ,mem_1v_adc_io_data 
+4841 6000c4a0 store 1 ,mem_le_lap 
+4842 6800c225 fetch 1 ,mem_5v_adc_hvin_data 
+4843 e0a08000 istore 1 ,contw 
+4844 6800c227 fetch 1 ,mem_3v_adc_vinlpm_data 
+4845 e0a08000 istore 1 ,contw 
+4846 6801c4a0 fetch 3 ,mem_le_lap 
+4847 6001c0a0 store 3 ,mem_lap 
+4848 20600000 rtn 
+
+sim_iic_read_eep_data:
+4849 68014203 fetch 2 ,mem_eeprom_base 
+484a 9a40fe00 iadd regb ,pdata 
+484b 1ff0fe00 byteswap pdata ,pdata 
+484c 600101f7 store 2 ,mem_addr_mi 
+484d 18422400 copy temp ,regb 
+484e 2040489b call sim_iic_start 
+484f 580000a0 setarg 0xa0 
+4850 2040488d call sim_iic_send_byte 
+4851 680081f7 fetch 1 ,mem_addr_mi 
+4852 2040488d call sim_iic_send_byte 
+4853 c5144856 bmark1 mark_eeprom_size ,sim_iic_read_eep_data_2k 
+4854 680081f8 fetch 1 ,mem_addr_mi + 1 
+4855 2040488d call sim_iic_send_byte 
+
+sim_iic_read_eep_data_2k:
+4856 204048a1 call sim_iic_stop 
+4857 2040489b call sim_iic_start 
+4858 580000a1 setarg 0xa1 
+4859 2040488d call sim_iic_send_byte 
+
+sim_iic_read_eep_data_loop:
+485a 2040487f call sim_iic_read_byte 
+485b e2208000 istore 1 ,rega 
+485c 1a20a201 increase 1 ,rega 
+485d 1a40a5ff increase -1 ,regb 
+485e 2422c85a nbranch sim_iic_read_eep_data_loop ,zero 
+485f 202048a1 branch sim_iic_stop 
+
+sim_iic_write_eep_data:
+4860 1a50fe00 byteswap regb ,pdata 
+4861 600101f7 store 2 ,mem_addr_mi 
+4862 18422400 copy temp ,regb 
+4863 2040489b call sim_iic_start 
+4864 580000a0 setarg 0xa0 
+4865 2040488d call sim_iic_send_byte 
+4866 680081f7 fetch 1 ,mem_addr_mi 
+4867 2040488d call sim_iic_send_byte 
+4868 c514486b bmark1 mark_eeprom_size ,sim_iic_write_eep_data_loop 
+4869 680081f8 fetch 1 ,mem_addr_mi + 1 
+486a 2040488d call sim_iic_send_byte 
+
+sim_iic_write_eep_data_loop:
+486b ea208000 ifetch 1 ,rega 
+486c 2040488d call sim_iic_send_byte 
+486d 1a20a201 increase 1 ,rega 
+486e 1a40a5ff increase -1 ,regb 
+486f 2422c86b nbranch sim_iic_write_eep_data_loop ,zero 
+4870 202048a1 branch sim_iic_stop 
+
+sim_iic_wait_ack:
+4871 df20000a arg 10 ,loopcnt 
+4872 204048be call sim_iic_release_sda 
+4873 204048a6 call sim_iic_scl_output_high 
+4874 204048d2 call sim_iic_delay 
+
+sim_iic_wait_ack_loop:
+4875 204048c7 call sim_iic_read_sda_level 
+4876 203a48a9 branch sim_iic_scl_output_low ,blank 
+4877 c2004875 loop sim_iic_wait_ack_loop 
+4878 202048a9 branch sim_iic_scl_output_low 
+
+sim_iic_ack_slave:
+4879 204048a9 call sim_iic_scl_output_low 
+487a 204048af call sim_iic_sda_output_low 
+487b 204048d2 call sim_iic_delay 
+487c 204048a6 call sim_iic_scl_output_high 
+487d 204048d2 call sim_iic_delay 
+487e 202048a9 branch sim_iic_scl_output_low 
+
+sim_iic_read_byte:
+487f df200008 arg 8 ,loopcnt 
+4880 da600000 arg 0 ,regc 
+4881 204048be call sim_iic_release_sda 
+
+sim_iic_read_byte_loop:
+4882 204048a6 call sim_iic_scl_output_high 
+4883 204048d2 call sim_iic_delay 
+4884 1a63a600 lshift regc ,regc 
+4885 204048c7 call sim_iic_read_sda_level 
+4886 9a60a600 iadd regc ,regc 
+4887 204048d2 call sim_iic_delay 
+4888 204048a9 call sim_iic_scl_output_low 
+4889 c2004882 loop sim_iic_read_byte_loop 
+488a 20404879 call sim_iic_ack_slave 
+488b 1a627e00 copy regc ,pdata 
+488c 20600000 rtn 
+
+sim_iic_send_byte:
+488d df200008 arg 8 ,loopcnt 
+488e 1fe22600 copy pdata ,regc 
+488f 204048a9 call sim_iic_scl_output_low 
+
+sim_iic_send_byte_loop:
+4890 2a6ffe07 isolate1 7 ,regc 
+4891 2040c8ac call sim_iic_sda_output_high ,true 
+4892 2440c8af ncall sim_iic_sda_output_low ,true 
+4893 1a63a600 lshift regc ,regc 
+4894 204048d2 call sim_iic_delay 
+4895 204048a6 call sim_iic_scl_output_high 
+4896 204048d2 call sim_iic_delay 
+4897 204048a9 call sim_iic_scl_output_low 
+4898 204048d2 call sim_iic_delay 
+4899 c2004890 loop sim_iic_send_byte_loop 
+489a 20204871 branch sim_iic_wait_ack 
+
+sim_iic_start:
+489b 204048ac call sim_iic_sda_output_high 
+489c 204048a6 call sim_iic_scl_output_high 
+489d 204048d2 call sim_iic_delay 
+489e 204048af call sim_iic_sda_output_low 
+489f 204048d2 call sim_iic_delay 
+48a0 202048a9 branch sim_iic_scl_output_low 
+
+sim_iic_stop:
+48a1 204048af call sim_iic_sda_output_low 
+48a2 204048a6 call sim_iic_scl_output_high 
+48a3 204048d2 call sim_iic_delay 
+48a4 204048ac call sim_iic_sda_output_high 
+48a5 202048d2 branch sim_iic_delay 
+
+sim_iic_scl_output_high:
+48a6 78347c00 enable user 
+48a7 6800cffe fetch 1 ,sim_iic_scl_gpio_num 
+48a8 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_scl_output_low:
+48a9 78547c00 disable user 
+48aa 6800cffe fetch 1 ,sim_iic_scl_gpio_num 
+48ab 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_sda_output_high:
+48ac 78347c00 enable user 
+48ad 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48ae 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_sda_output_low:
+48af 78547c00 disable user 
+48b0 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48b1 202048b2 branch sim_iic_config_gpio 
+
+sim_iic_config_gpio:
+48b2 1fe10e07 and pdata ,0x07 ,queue 
+48b3 1fe97e00 rshift3 pdata ,pdata 
+48b4 d8408070 arg core_gpio_oe0 ,temp 
+48b5 98408400 iadd temp ,temp 
+48b6 e8408000 ifetch 1 ,temp 
+48b7 f9207e00 qset1 pdata 
+48b8 e0408000 istore 1 ,temp 
+48b9 18408404 increase 4 ,temp 
+48ba e8408000 ifetch 1 ,temp 
+48bb f9347e00 qsetflag user ,pdata 
+48bc e0408000 istore 1 ,temp 
+48bd 20600000 rtn 
+
+sim_iic_release_sda:
+48be 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48bf 1fe10e07 and pdata ,0x07 ,queue 
+48c0 1fe97e00 rshift3 pdata ,pdata 
+48c1 d8408070 arg core_gpio_oe0 ,temp 
+48c2 98408400 iadd temp ,temp 
+48c3 e8408000 ifetch 1 ,temp 
+48c4 f93ffe00 qset0 pdata 
+48c5 e0408000 istore 1 ,temp 
+48c6 20600000 rtn 
+
+sim_iic_read_sda_level:
+48c7 20000004 nop 4 
+48c8 6800cfff fetch 1 ,sim_iic_sda_gpio_num 
+48c9 1fe10e07 and pdata ,0x07 ,queue 
+48ca 1fe97e00 rshift3 pdata ,pdata 
+48cb d840811c arg core_gpio_in ,temp 
+48cc 98408400 iadd temp ,temp 
+48cd 58000000 setarg 0 
+48ce e8488000 ifetcht 1 ,temp 
+48cf a84fffff qisolate1 temp 
+48d0 7920fe00 setflag true ,0 ,pdata 
+48d1 20600000 rtn 
+
+sim_iic_delay:
+48d2 20600000 rtn 
+
+usb_isr:
+48d3 44fb401e bpatch patch1e_6 ,mem_patch1e 
+48d4 68108a26 hfetch 1 ,core_usb_status 
+48d5 2feffe07 isolate1 7 ,pdata 
+48d6 2040c8ea call usb_init ,true 
+48d7 2040492e call usb_nak_state_judge 
+48d8 68108a26 hfetch 1 ,core_usb_status 
+48d9 60008b22 store 1 ,mem_usb_status 
+48da 68108a27 hfetch 1 ,core_usb_fifo_empty 
+48db 60008b23 store 1 ,mem_usb_fifo_empty 
+48dc 60108a27 hstore 1 ,core_usb_fifo_empty 
+48dd 1fe47e00 pinvert 
+48de 68088d37 fetcht 1 ,mem_usb_tx_wait 
+48df 98417e00 iand temp ,pdata 
+48e0 60008d37 store 1 ,mem_usb_tx_wait 
+48e1 708a26e0 jam 0xe0 ,core_usb_status 
+48e2 68008b23 fetch 1 ,mem_usb_fifo_empty 
+48e3 2fe00201 compare 0x1 ,pdata ,0x1 
+48e4 2040c941 call usb0_fifo_empty ,true 
+48e5 68008b22 fetch 1 ,mem_usb_status 
+48e6 2fe00201 compare 0x1 ,pdata ,0x1 
+48e7 2040c94a call usb_status1 ,true 
+48e8 20404b61 call usb_tx 
+48e9 20204903 branch usb_nak_state 
+
+usb_init:
+48ea 44fbc01e bpatch patch1e_7 ,mem_patch1e 
+48eb 20404919 call usb_init_param 
+48ec 708a0000 jam 0x00 ,core_usb_config 
+48ed 20002710 nop 10000 
+48ee 708a10c0 jam 0xc0 ,core_usb_trig 
+48ef 68110050 hfetch 2 ,core_clkoff 
+48f0 793ffe0a set0 clock_off_usb ,pdata 
+48f1 60110050 hstore 2 ,core_clkoff 
+48f2 708a003c jam 0x3c ,core_usb_config 
+48f3 708a26ff jam 0xff ,core_usb_status 
+48f4 708a27ff jam 0xff ,core_usb_fifo_empty 
+48f5 708a0400 jam 0 ,core_usb_addr 
+48f6 700c6b02 jam dev_default ,mem_usb0_state 
+48f7 58000d9d setarg mem_usb_clear_mem_end 
+48f8 d8a00c6e arg mem_usb_clear_mem_start ,contw 
+48f9 98a67200 isub contw ,loopcnt 
+48fa 20207ed4 branch clear_mem 
+
+usb_offline_check_init:
+48fb 68088c6c fetcht 1 ,mem_usb_offline_check_gpio 
+48fc 202067fb branch gpio_config_input 
+
+usb_offline_state:
+48fd 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+48fe 207a0000 rtn blank 
+48ff 68088c6c fetcht 1 ,mem_usb_offline_check_gpio 
+4900 2040681d call gpio_get_bit 
+4901 2020c8ea branch usb_init ,true 
+4902 20600000 rtn 
+
+usb_nak_state:
+4903 d8e00000 arg timer_nak ,queue 
+4904 20407f16 call timer_check 
+4905 247a0000 nrtn blank 
+4906 68008d46 fetch 1 ,mem_usb_wakestate_onetime_flag 
+4907 247a0000 nrtn blank 
+4908 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+4909 245a4bb7 ncall usb_mac_wakeup_judge ,blank 
+490a 20600000 rtn 
+
+usb_mem_devicedesc_init:
+490b d8a00b68 arg mem_devicedesc ,contw 
+490c 38011212 setsect 0 ,0x11212 
+490d 38048000 setsect 1 ,0x8000 
+490e 38080000 setsect 2 ,0x0 
+490f 380d0000 setsect 3 ,0x10000 
+4910 e0a48000 istore 9 ,contw 
+4911 38022412 setsect 0 ,0x22412 
+4912 38048604 setsect 1 ,0x8604 
+4913 38081000 setsect 2 ,0x1000 
+4914 380c0008 setsect 3 ,0x8 
+4915 e0a48000 istore 9 ,contw 
+4916 38000001 setsect 0 ,0x1 
+4917 e0a08000 istore 1 ,contw 
+4918 20600000 rtn 
+
+usb_init_param:
+4919 700c6b02 jam 2 ,mem_usb0_state 
+491a 58000000 setarg 0x0 
+491b 60008b67 store 1 ,mem_remain 
+491c 60010c65 store 2 ,mem_usb_zero_packet 
+491d 1fe0fe01 pincrease 1 
+491e 60010c67 store 2 ,mem_usb_ones_packet 
+491f 1fe0fe01 pincrease 1 
+4920 60010c69 store 2 ,mem_usb_two_packet 
+4921 58008ffa setarg hid_kbdata_addr 
+4922 60010b7c store 2 ,mem_hidreportdesc_kb 
+4923 5800903a setarg hid_msdata_addr 
+4924 60010b7e store 2 ,mem_hidreportdesc_m 
+4925 d8a00b80 arg mem_confdesc ,contw 
+4926 d8c090fe arg hid_confdata_addr ,contr 
+4927 20407eb3 call memcpy64 
+4928 68008c6d fetch 1 ,mem_usb_tx_interval 
+4929 245a492b ncall usb_tx_interval_config ,blank 
+492a 2020490b branch usb_mem_devicedesc_init 
+
+usb_tx_interval_config:
+492b 60008ba2 store 1 ,mem_confdesc + 34 
+492c 60008bbb store 1 ,mem_confdesc + 59 
+492d 20600000 rtn 
+
+usb_nak_state_judge:
+492e 68108a26 hfetch 1 ,core_usb_status 
+492f c2834931 bbit1 usb_status_nak ,usb_nak_state_timer_init 
+4930 20600000 rtn 
+
+usb_nak_state_timer_init:
+4931 20404936 call usb0_attached_state_judge 
+4932 20407f15 call timer_reinit 
+4933 58000280 setarg timer_nak_delay 
+4934 d8e00000 arg timer_nak ,queue 
+4935 20207f08 branch timer_init 
+
+usb0_attached_state_judge:
+4936 68008d36 fetch 1 ,mem_usb_state 
+4937 c081493b bne usb_connected ,usb_clear_halt_dispose 
+4938 700d4600 jam 0 ,mem_usb_wakestate_onetime_flag 
+4939 700d4700 jam 0 ,mem_usb_mac_wakeup_trig 
+493a 20600000 rtn 
+
+usb_clear_halt_dispose:
+493b 68008d53 fetch 1 ,mem_usb_clear_halt 
+493c 207a0000 rtn blank 
+493d 700d5300 jam 0 ,mem_usb_clear_halt 
+493e 700d3602 jam usb_connected ,mem_usb_state 
+493f 700d4501 jam 1 ,mem_usb_device_enumeration_endflag 
+4940 20600000 rtn 
+
+usb0_fifo_empty:
+4941 708a2701 jam 0x1 ,core_usb_fifo_empty 
+4942 20204b37 branch usb0_tx 
+
+usb_rx_no_data:
+4943 68008b22 fetch 1 ,mem_usb_status 
+4944 c2824955 bbit1 usb_status_setup ,usb_class_type 
+4945 20600000 rtn 
+
+usb_rx_read:
+4946 68108a18 hfetch 1 ,core_usb_ep 
+4947 e0a08000 istore 1 ,contw 
+4948 c2004946 loop usb_rx_read 
+4949 20600000 rtn 
+
+usb_status1:
+494a 44fc401f bpatch patch1f_0 ,mem_patch1f 
+494b 708a2611 jam 0x11 ,core_usb_status 
+494c 68108a20 hfetch 1 ,core_usb_ep_len 
+494d 60008b24 store 1 ,mem_usb_read_len 
+494e 1fe27200 copy pdata ,loopcnt 
+494f 203a4943 branch usb_rx_no_data ,blank 
+4950 d8a00c6e arg mem_usb_setup ,contw 
+4951 20404946 call usb_rx_read 
+4952 68008b24 fetch 1 ,mem_usb_read_len 
+4953 1fe67c07 sub pdata ,7 ,null 
+4954 20610000 rtn positive 
+
+usb_class_type:
+4955 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4956 1fe17e80 and_into 0x80 ,pdata 
+4957 c040495a beq in_device ,usb_in_device 
+4958 c0004962 beq out_device ,usb_out_device 
+4959 20202a8c branch assert 
+
+usb_in_device:
+495a 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+495b 1ff1fe00 rshift4 pdata ,pdata 
+495c 1fe37e00 rshift pdata ,pdata 
+495d 1fe17e03 and_into 0x03 ,pdata 
+495e c000496a beq standard_req ,usb_in_standard_req 
+495f c000c970 beq class_req ,usb_in_class_req 
+4960 c0014975 beq manufacturer_req ,usb_in_manufacturer_req 
+4961 20202a8c branch assert 
+
+usb_out_device:
+4962 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4963 1ff1fe00 rshift4 pdata ,pdata 
+4964 1fe37e00 rshift pdata ,pdata 
+4965 1fe17e03 and_into 0x03 ,pdata 
+4966 c0004976 beq standard_req ,usb_out_standard_req 
+4967 c000c97e beq class_req ,usb_out_class_req 
+4968 c0014983 beq manufacturer_req ,usb_out_manufacturer_req 
+4969 20202a8c branch assert 
+
+usb_in_standard_req:
+496a 68008c6f fetch 1 ,mem_usb_setup_brequest 
+496b c004498a beq get_configuration ,usb0_request_get_configuration 
+496c c00349a0 beq get_descriptor ,usb0_request_get_descriptor 
+496d c00549ea beq get_interface ,usb0_request_get_interface 
+496e c00049fc beq get_status ,usb0_request_get_status 
+496f 20204984 branch usb0_force_stall 
+
+usb_in_class_req:
+4970 68008c6f fetch 1 ,mem_usb_setup_brequest 
+4971 c0014a2f beq get_idle ,usb_get_idle 
+4972 c000ca33 beq get_report ,usb_get_report 
+4973 c001ca45 beq get_protocol ,usb_get_protocol_req 
+4974 20204984 branch usb0_force_stall 
+
+usb_in_manufacturer_req:
+4975 20204984 branch usb0_force_stall 
+
+usb_out_standard_req:
+4976 68008c6f fetch 1 ,mem_usb_setup_brequest 
+4977 c000ca4f beq clear_feature ,usb0_request_clear_feature 
+4978 c001ca79 beq set_feature ,usb0_request_set_feature 
+4979 c002caa3 beq set_address ,usb0_request_set_address 
+497a c004cabc beq set_configuration ,usb0_request_set_configuration 
+497b c005cad7 beq set_interface ,usb0_request_set_interface 
+497c c003c984 beq set_descriptor ,usb0_force_stall 
+497d 20204984 branch usb0_force_stall 
+
+usb_out_class_req:
+497e 68008c6f fetch 1 ,mem_usb_setup_brequest 
+497f c0054ae8 beq set_idle ,usb_set_idle 
+4980 c004caf9 beq set_report ,usb_set_report 
+4981 c005cb11 beq set_protocol ,usb_set_protocol_req 
+4982 20204984 branch usb0_force_stall 
+
+usb_out_manufacturer_req:
+4983 20204984 branch usb0_force_stall 
+
+usb0_force_stall:
+4984 68108a11 hfetch 1 ,core_usb_stall 
+4985 79207e00 set1 0 ,pdata 
+4986 60108a11 hstore 1 ,core_usb_stall 
+4987 20204988 branch usb0_reply_zerolen 
+
+usb0_reply_zerolen:
+4988 708a1240 jam 0x40 ,core_usb_clear 
+4989 20600000 rtn 
+
+usb0_request_get_configuration:
+498a 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+498b c0c04984 bne in_device ,usb0_force_stall 
+498c 68008c72 fetch 1 ,mem_usb_setup_windex 
+498d c0804984 bne 0 ,usb0_force_stall 
+498e 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+498f c0804984 bne 0 ,usb0_force_stall 
+4990 68008c74 fetch 1 ,mem_usb_setup_blength 
+4991 c080c984 bne 1 ,usb0_force_stall 
+4992 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4993 c0804984 bne 0 ,usb0_force_stall 
+4994 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4995 c0804984 bne 0 ,usb0_force_stall 
+4996 68008c71 fetch 1 ,mem_usb_setup_bvalue + 1 
+4997 c0804984 bne 0 ,usb0_force_stall 
+4998 68008c6b fetch 1 ,mem_usb0_state 
+4999 c002499c beq dev_configured ,usb0_request_get_cfg_dev_cfg 
+499a c001c99e beq dev_address ,usb0_request_get_cfg_dev_addr 
+499b 20204984 branch usb0_force_stall 
+
+usb0_request_get_cfg_dev_cfg:
+499c da400001 arg 1 ,regb 
+499d 20204a14 branch usb_send_ones_packet 
+
+usb0_request_get_cfg_dev_addr:
+499e da400001 arg 1 ,regb 
+499f 20204a12 branch usb_send_zero_packet 
+
+usb0_request_get_descriptor:
+49a0 44fcc01f bpatch patch1f_1 ,mem_patch1f 
+49a1 793f8023 set0 mark_isstr ,mark 
+49a2 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+49a3 c000c9b6 beq dsc_device ,dsc_device_info 
+49a4 c00149cf beq dsc_config ,dsc_config_info 
+49a5 c001c9d2 beq dsc_string ,dsc_string_info 
+49a6 c010c9a9 beq dsc_hid ,dsc_hid_info 
+49a7 c01149e0 beq dsc_hid_report ,dsc_hid_report_info 
+49a8 20204984 branch usb0_force_stall 
+
+dsc_hid_info:
+49a9 700d4b00 jam 0 ,mem_usb_get_protocol_flag 
+49aa 68008c72 fetch 1 ,mem_usb_setup_windex 
+49ab c00049ae beq 0 ,dsc_hid_info_interface0 
+49ac c000c9b2 beq 1 ,dsc_hid_info_interface1 
+49ad 20204984 branch usb0_force_stall 
+
+dsc_hid_info_interface0:
+49ae da200b93 arg mem_confdesc + 19 ,rega 
+49af ea208000 ifetch 1 ,rega 
+49b0 98002400 iforce regb 
+49b1 20204b21 branch usb0_respond 
+
+dsc_hid_info_interface1:
+49b2 da200bac arg mem_confdesc + 44 ,rega 
+49b3 ea208000 ifetch 1 ,rega 
+49b4 98002400 iforce regb 
+49b5 20204b21 branch usb0_respond 
+
+dsc_device_info:
+49b6 68008d48 fetch 1 ,mem_usb_set_high_addr_flag 
+49b7 245a49c7 ncall usb_set_high_addr ,blank 
+49b8 58000b68 setarg mem_devicedesc 
+49b9 68088b68 fetcht 1 ,mem_devicedesc 
+
+dsc_info_set_data_len:
+49ba 60010d3f store 2 ,mem_dsc_info_data_pointer 
+49bb 60088d41 storet 1 ,mem_dsc_info_len 
+49bc 68008c74 fetch 1 ,mem_usb_setup_blength 
+49bd 98467c00 isub temp ,null 
+49be 242149c5 nbranch dsc_info_set_current_data_len ,positive 
+
+dsc_info_set_initial_data_len:
+49bf 68008d41 fetch 1 ,mem_dsc_info_len 
+
+dsc_info_set_data_size_completed:
+49c0 98002400 iforce regb 
+49c1 68010d3f fetch 2 ,mem_dsc_info_data_pointer 
+49c2 1fe0fe01 add pdata ,1 ,pdata 
+49c3 98002200 iforce rega 
+49c4 20204b21 branch usb0_respond 
+
+dsc_info_set_current_data_len:
+49c5 68008c74 fetch 1 ,mem_usb_setup_blength 
+49c6 202049c0 branch dsc_info_set_data_size_completed 
+
+usb_set_high_addr:
+49c7 68108a04 hfetch 1 ,core_usb_addr 
+49c8 245a49cb ncall usb0_set_addr ,blank 
+49c9 700d4800 jam 0 ,mem_usb_set_high_addr_flag 
+49ca 20600000 rtn 
+
+usb0_set_addr:
+49cb 68108a04 hfetch 1 ,core_usb_addr 
+49cc 79207e07 set1 7 ,pdata 
+49cd 60108a04 hstore 1 ,core_usb_addr 
+49ce 20600000 rtn 
+
+dsc_config_info:
+49cf 58000b80 setarg mem_confdesc 
+49d0 68088b80 fetcht 1 ,mem_confdesc 
+49d1 202049ba branch dsc_info_set_data_len 
+
+dsc_string_info:
+49d2 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49d3 1fe67c03 sub pdata ,3 ,null 
+49d4 24214984 nbranch usb0_force_stall ,positive 
+49d5 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49d6 da200be4 arg mem_string0 ,rega 
+49d7 c0004b1e beq 0 ,usb0_respond_length 
+49d8 79200023 set1 mark_isstr ,mark 
+49d9 da200be9 arg mem_string1 ,rega 
+49da c000cb1e beq 1 ,usb0_respond_length 
+49db da200c07 arg mem_string2 ,rega 
+49dc c0014b1e beq 2 ,usb0_respond_length 
+49dd da200c47 arg mem_string3 ,rega 
+49de c001cb1e beq 3 ,usb0_respond_length 
+49df 20600000 rtn 
+
+dsc_hid_report_info:
+49e0 68010c72 fetch 2 ,mem_usb_setup_windex 
+49e1 c000c9e5 beq 1 ,dsc_hid_report_info0 
+49e2 68010b7c fetch 2 ,mem_hidreportdesc_kb 
+49e3 1fe22200 copy pdata ,rega 
+49e4 20204b1e branch usb0_respond_length 
+
+dsc_hid_report_info0:
+49e5 700d4501 jam 1 ,mem_usb_device_enumeration_endflag 
+49e6 700d3601 jam usb_got_report_req ,mem_usb_state 
+49e7 68010b7e fetch 2 ,mem_hidreportdesc_m 
+49e8 1fe22200 copy pdata ,rega 
+49e9 20204b1e branch usb0_respond_length 
+
+usb0_request_get_interface:
+49ea 68008c6b fetch 1 ,mem_usb0_state 
+49eb c0824984 bne dev_configured ,usb0_force_stall 
+49ec 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+49ed c0c0c984 bne in_interface ,usb0_force_stall 
+49ee 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49ef c0804984 bne 0 ,usb0_force_stall 
+49f0 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+49f1 c0804984 bne 0 ,usb0_force_stall 
+49f2 68008c74 fetch 1 ,mem_usb_setup_blength 
+49f3 c080c984 bne 1 ,usb0_force_stall 
+49f4 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+49f5 c0804984 bne 0 ,usb0_force_stall 
+49f6 68008c72 fetch 1 ,mem_usb_setup_windex 
+49f7 c0804984 bne 0 ,usb0_force_stall 
+49f8 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+49f9 c0804984 bne 0 ,usb0_force_stall 
+49fa da400001 arg 1 ,regb 
+49fb 20204a12 branch usb_send_zero_packet 
+
+usb0_request_get_status:
+49fc 68008c6b fetch 1 ,mem_usb0_state 
+49fd c0014984 beq dev_default ,usb0_force_stall 
+49fe 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+49ff c0804984 bne 0 ,usb0_force_stall 
+4a00 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4a01 c0804984 bne 0 ,usb0_force_stall 
+4a02 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a03 c0814984 bne 2 ,usb0_force_stall 
+4a04 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4a05 c0804984 bne 0 ,usb0_force_stall 
+4a06 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4a07 c0804984 bne 0 ,usb0_force_stall 
+4a08 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4a09 c0404a0d beq in_device ,usb0_get_status_in_device 
+4a0a c040ca18 beq in_interface ,usb0_get_status_in_interface 
+4a0b c0414a1c beq in_endpoint ,usb0_get_status_in_endpoint 
+4a0c 20204984 branch usb0_force_stall 
+
+usb0_get_status_in_device:
+4a0d 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a0e c0804984 bne 0 ,usb0_force_stall 
+4a0f da400002 arg 2 ,regb 
+4a10 68008d39 fetch 1 ,mem_usb_remote_wakeup 
+4a11 c000ca16 beq 0x01 ,usb_send_two_packet 
+
+usb_send_zero_packet:
+4a12 da200c65 arg mem_usb_zero_packet ,rega 
+4a13 20204b21 branch usb0_respond 
+
+usb_send_ones_packet:
+4a14 da200c67 arg mem_usb_ones_packet ,rega 
+4a15 20204b21 branch usb0_respond 
+
+usb_send_two_packet:
+4a16 da200c69 arg mem_usb_two_packet ,rega 
+4a17 20204b21 branch usb0_respond 
+
+usb0_get_status_in_interface:
+4a18 68008c6b fetch 1 ,mem_usb0_state 
+4a19 c0824984 bne dev_configured ,usb0_force_stall 
+4a1a da400002 arg 2 ,regb 
+4a1b 20204a12 branch usb_send_zero_packet 
+
+usb0_get_status_in_endpoint:
+4a1c 68008c6b fetch 1 ,mem_usb0_state 
+4a1d c0824984 bne dev_configured ,usb0_force_stall 
+4a1e 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a1f c040ca29 beq in_ep1 ,usb0_get_status_in_ep_in_ep1 
+4a20 c0414a2b beq in_ep2 ,usb0_get_status_in_ep_in_ep2 
+4a21 c041ca2d beq in_ep3 ,usb0_get_status_in_ep_in_ep3 
+4a22 1fe17e7f and_into 0x7f ,pdata 
+4a23 c0004a25 beq 0x00 ,usb0_get_status_in_ep_in_ep0 
+4a24 20204984 branch usb0_force_stall 
+
+usb0_get_status_in_ep_in_ep0:
+4a25 68008d3b fetch 1 ,mem_usb_ep0_stall_status 
+
+usb0_get_status_in_ep_in_ack:
+4a26 da400002 arg 2 ,regb 
+4a27 c000ca14 beq 1 ,usb_send_ones_packet 
+4a28 20204a12 branch usb_send_zero_packet 
+
+usb0_get_status_in_ep_in_ep1:
+4a29 68008d3c fetch 1 ,mem_usb_ep1_stall_status 
+4a2a 20204a26 branch usb0_get_status_in_ep_in_ack 
+
+usb0_get_status_in_ep_in_ep2:
+4a2b 68008d3d fetch 1 ,mem_usb_ep2_stall_status 
+4a2c 20204a26 branch usb0_get_status_in_ep_in_ack 
+
+usb0_get_status_in_ep_in_ep3:
+4a2d 68008d3e fetch 1 ,mem_usb_ep3_stall_status 
+4a2e 20204a26 branch usb0_get_status_in_ep_in_ack 
+
+usb_get_idle:
+4a2f 700d4c01 jam 1 ,mem_usb_idle_flag 
+4a30 da200d4d arg mem_usb_idle_rate ,rega 
+4a31 da400001 arg 1 ,regb 
+4a32 20204b21 branch usb0_respond 
+
+usb_get_report:
+4a33 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+4a34 d84001ba arg pc_get_report ,temp 
+4a35 98467c00 isub temp ,null 
+4a36 2422c984 nbranch usb0_force_stall ,zero 
+4a37 793f8023 set0 mark_isstr ,mark 
+
+usb_get_report_dispose:
+4a38 68008d42 fetch 1 ,mem_usb0_data_ready_report 
+4a39 243a4a42 nbranch usb_get_report_data_success ,blank 
+4a3a 700cf600 jam pc_get_nondata ,mem_usb0_get_report_data 
+
+usb_get_report_send_data:
+4a3b 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a3c 98002400 iforce regb 
+4a3d da200cf6 arg mem_usb0_get_report_data ,rega 
+4a3e 20404b21 call usb0_respond 
+
+usb_get_report_data_release:
+4a3f d8a00cf6 arg mem_usb0_get_report_data ,contw 
+4a40 df200008 arg 8 ,loopcnt 
+4a41 20207ec6 branch memset0 
+
+usb_get_report_data_success:
+4a42 700d4200 jam 0 ,mem_usb0_data_ready_report 
+4a43 700cf601 jam pc_get_data ,mem_usb0_get_report_data 
+4a44 20204a3b branch usb_get_report_send_data 
+
+usb_get_protocol_req:
+4a45 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a46 c080c984 bne 1 ,usb0_force_stall 
+4a47 700d4b01 jam 1 ,mem_usb_get_protocol_flag 
+4a48 da400001 arg 1 ,regb 
+4a49 68008d49 fetch 1 ,mem_usb_set_protocol_value 
+4a4a c0004a4d beq 0 ,usb_get_report_protocol 
+4a4b c000ca4e beq 1 ,usb_get_boot_protocol 
+4a4c 20204a12 branch usb_send_zero_packet 
+
+usb_get_report_protocol:
+4a4d 20204a14 branch usb_send_ones_packet 
+
+usb_get_boot_protocol:
+4a4e 20204a12 branch usb_send_zero_packet 
+
+usb0_request_clear_feature:
+4a4f 68008c6b fetch 1 ,mem_usb0_state 
+4a50 c0824984 bne dev_configured ,usb0_force_stall 
+4a51 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a52 c0804984 bne 0 ,usb0_force_stall 
+4a53 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4a54 c0804984 bne 0 ,usb0_force_stall 
+4a55 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4a56 c0804984 bne 0 ,usb0_force_stall 
+4a57 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4a58 c0804984 bne 0 ,usb0_force_stall 
+4a59 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4a5a c0004a5e beq out_device ,usb0_request_clear_feature_out_device 
+4a5b c000ca66 beq out_interface ,usb0_request_clear_feature_out_interface 
+4a5c c0014a67 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+4a5d 20204984 branch usb0_force_stall 
+
+usb0_request_clear_feature_out_device:
+4a5e 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a5f c080c984 bne device_remote_wakeup ,usb0_force_stall 
+4a60 68108a00 hfetch 1 ,core_usb_config 
+4a61 793ffe07 set0 7 ,pdata 
+4a62 60108a00 hstore 1 ,core_usb_config 
+4a63 700d3900 jam 0 ,mem_usb_remote_wakeup 
+4a64 700d3a01 jam 1 ,mem_usb_clear_remote_wakeup 
+4a65 20204988 branch usb0_reply_zerolen 
+
+usb0_request_clear_feature_out_interface:
+4a66 20204984 branch usb0_force_stall 
+
+usb0_request_clear_feature_out_endpoint:
+4a67 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a68 c0804984 bne endpoint_halt ,usb0_force_stall 
+4a69 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a6a c040ca72 beq in_ep1 ,usb0_force_stall_ep1_in_off 
+4a6b c0414a75 beq in_ep2 ,usb0_force_stall_ep2_in_off 
+4a6c c041ca77 beq in_ep3 ,usb0_force_stall_ep3_in_off 
+4a6d 1fe17e7f and_into 0x7f ,pdata 
+4a6e c0004a70 beq 0x00 ,usb0_force_stall_ep0_in_off 
+4a6f 20204984 branch usb0_force_stall 
+
+usb0_force_stall_ep0_in_off:
+4a70 700d3b00 jam 0 ,mem_usb_ep0_stall_status 
+4a71 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep1_in_off:
+4a72 700d3c00 jam 0 ,mem_usb_ep1_stall_status 
+
+usb0_force_stall_ep1_in_off_reply:
+4a73 700d5301 jam 1 ,mem_usb_clear_halt 
+4a74 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep2_in_off:
+4a75 700d3d00 jam 0 ,mem_usb_ep2_stall_status 
+4a76 20204a73 branch usb0_force_stall_ep1_in_off_reply 
+
+usb0_force_stall_ep3_in_off:
+4a77 700d3e00 jam 0 ,mem_usb_ep3_stall_status 
+4a78 20204a73 branch usb0_force_stall_ep1_in_off_reply 
+
+usb0_request_set_feature:
+4a79 68008c74 fetch 1 ,mem_usb_setup_blength 
+4a7a c0804984 bne 0 ,usb0_force_stall 
+4a7b 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4a7c c0804984 bne 0 ,usb0_force_stall 
+4a7d 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4a7e c0004a82 beq out_device ,usb0_request_set_feature_out_device 
+4a7f c000ca8f beq out_interface ,usb0_request_set_feature_out_interface 
+4a80 c0014a90 beq out_endpoint ,usb0_request_set_feature_out_endpoint 
+4a81 20204984 branch usb0_force_stall 
+
+usb0_request_set_feature_out_device:
+4a82 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a83 c080c984 bne device_remote_wakeup ,usb0_force_stall 
+4a84 68108a00 hfetch 1 ,core_usb_config 
+4a85 79207e07 set1 7 ,pdata 
+4a86 60108a00 hstore 1 ,core_usb_config 
+4a87 700d3901 jam 1 ,mem_usb_remote_wakeup 
+4a88 700d3603 jam usb_sleep ,mem_usb_state 
+4a89 700d4300 jam 0 ,mem_usb_tx_win_enable 
+4a8a 20404988 call usb0_reply_zerolen 
+
+usb_wakeup_timer_reinit:
+4a8b 20407f15 call timer_reinit 
+4a8c 58001388 setarg timer_wakeup_delay 
+4a8d d8e0000f arg timer_wakeup ,queue 
+4a8e 20207f08 branch timer_init 
+
+usb0_request_set_feature_out_interface:
+4a8f 20204984 branch usb0_force_stall 
+
+usb0_request_set_feature_out_endpoint:
+4a90 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4a91 c0804984 bne endpoint_halt ,usb0_force_stall 
+4a92 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4a93 c0804984 bne 0 ,usb0_force_stall 
+4a94 68008c72 fetch 1 ,mem_usb_setup_windex 
+4a95 c040ca9d beq in_ep1 ,usb0_force_stall_ep1_in_on 
+4a96 c0414a9f beq in_ep2 ,usb0_force_stall_ep2_in_on 
+4a97 c041caa1 beq in_ep3 ,usb0_force_stall_ep3_in_on 
+4a98 1fe17e7f and_into 0x7f ,pdata 
+4a99 c0004a9b beq 0x00 ,usb0_force_stall_ep0_in_on 
+4a9a 20204984 branch usb0_force_stall 
+
+usb0_force_stall_ep0_in_on:
+4a9b 700d3b01 jam 1 ,mem_usb_ep0_stall_status 
+4a9c 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep1_in_on:
+4a9d 700d3c01 jam 1 ,mem_usb_ep1_stall_status 
+4a9e 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep2_in_on:
+4a9f 700d3d01 jam 1 ,mem_usb_ep2_stall_status 
+4aa0 20204988 branch usb0_reply_zerolen 
+
+usb0_force_stall_ep3_in_on:
+4aa1 700d3e01 jam 1 ,mem_usb_ep3_stall_status 
+4aa2 20204988 branch usb0_reply_zerolen 
+
+usb0_request_set_address:
+4aa3 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4aa4 c0804984 bne out_device ,usb0_force_stall 
+4aa5 68008c72 fetch 1 ,mem_usb_setup_windex 
+4aa6 c0804984 bne 0 ,usb0_force_stall 
+4aa7 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4aa8 c0804984 bne 0 ,usb0_force_stall 
+4aa9 68008c74 fetch 1 ,mem_usb_setup_blength 
+4aaa c0804984 bne 0 ,usb0_force_stall 
+4aab 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4aac c0804984 bne 0 ,usb0_force_stall 
+4aad 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4aae c0804984 bne 0 ,usb0_force_stall 
+4aaf 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ab0 1fe17e80 and_into 0x80 ,pdata 
+4ab1 c0804984 bne 0 ,usb0_force_stall 
+4ab2 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ab3 c0804aba bne 0 ,usb_usb0_state_set_dev_addr 
+
+usb_usb0_state_set_dev_default:
+4ab4 700c6b02 jam dev_default ,mem_usb0_state 
+
+usb0_request_set_wait_address:
+4ab5 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ab6 60108a04 hstore 1 ,core_usb_addr 
+4ab7 20404988 call usb0_reply_zerolen 
+4ab8 700d4801 jam 1 ,mem_usb_set_high_addr_flag 
+4ab9 20600000 rtn 
+
+usb_usb0_state_set_dev_addr:
+4aba 700c6b03 jam dev_address ,mem_usb0_state 
+4abb 20204ab5 branch usb0_request_set_wait_address 
+
+usb0_request_set_configuration:
+4abc 68008c6b fetch 1 ,mem_usb0_state 
+4abd c0014984 beq dev_default ,usb0_force_stall 
+4abe 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4abf c0804984 bne out_device ,usb0_force_stall 
+4ac0 68008c72 fetch 1 ,mem_usb_setup_windex 
+4ac1 c0804984 bne 0 ,usb0_force_stall 
+4ac2 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4ac3 c0804984 bne 0 ,usb0_force_stall 
+4ac4 68008c74 fetch 1 ,mem_usb_setup_blength 
+4ac5 c0804984 bne 0 ,usb0_force_stall 
+4ac6 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4ac7 c0804984 bne 0 ,usb0_force_stall 
+4ac8 68008c71 fetch 1 ,mem_usb_setup_bvalue + 1 
+4ac9 c0804984 bne 0 ,usb0_force_stall 
+4aca 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4acb 1fe67c01 sub pdata ,usb_max_num_cfg ,null 
+4acc 24214984 nbranch usb0_force_stall ,positive 
+4acd 68008c6b fetch 1 ,mem_usb0_state 
+4ace c001cad1 beq dev_address ,usb0_request_set_cfg_addr_state 
+4acf c0024ad1 beq dev_configured ,usb0_request_set_cfg_cfg_state 
+4ad0 20204984 branch usb0_force_stall 
+
+usb0_request_set_cfg_addr_state:
+
+usb0_request_set_cfg_cfg_state:
+4ad1 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4ad2 c0004ad5 beq 0 ,usb0_request_set_cfg_stay_addr_state 
+4ad3 700c6b04 jam dev_configured ,mem_usb0_state 
+4ad4 20204988 branch usb0_reply_zerolen 
+
+usb0_request_set_cfg_stay_addr_state:
+4ad5 700c6b03 jam dev_address ,mem_usb0_state 
+4ad6 20204988 branch usb0_reply_zerolen 
+
+usb0_request_set_interface:
+4ad7 68008c6b fetch 1 ,mem_usb0_state 
+4ad8 c0824984 bne dev_configured ,usb0_force_stall 
+4ad9 68008c6e fetch 1 ,mem_usb_setup_bmrequesttype 
+4ada c080c984 bne out_interface ,usb0_force_stall 
+4adb 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4adc c0804984 bne 0 ,usb0_force_stall 
+4add 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4ade c0804984 bne 0 ,usb0_force_stall 
+4adf 68008c74 fetch 1 ,mem_usb_setup_blength 
+4ae0 c0804984 bne 0 ,usb0_force_stall 
+4ae1 68008c75 fetch 1 ,mem_usb_setup_blengthh 
+4ae2 c0804984 bne 0 ,usb0_force_stall 
+4ae3 68008c72 fetch 1 ,mem_usb_setup_windex 
+4ae4 c0804984 bne 0 ,usb0_force_stall 
+4ae5 68008c73 fetch 1 ,mem_usb_setup_windex + 1 
+4ae6 c0804984 bne 0 ,usb0_force_stall 
+4ae7 20204988 branch usb0_reply_zerolen 
+
+usb_set_idle:
+4ae8 700d4c01 jam 1 ,mem_usb_idle_flag 
+4ae9 68008c71 fetch 1 ,mem_usb_setup_bvalueh 
+4aea 60008d4d store 1 ,mem_usb_idle_rate 
+4aeb 68008c72 fetch 1 ,mem_usb_setup_windex 
+4aec 1fe67c01 sub pdata ,1 ,null 
+4aed 2042caf5 call usb_clear_remote_wakeup_set0 ,zero 
+4aee 68008d36 fetch 1 ,mem_usb_state 
+4aef c0824988 bne usb_resume ,usb0_reply_zerolen 
+4af0 700d3602 jam usb_connected ,mem_usb_state 
+4af1 20404988 call usb0_reply_zerolen 
+4af2 20007530 nop 30000 
+4af3 20007530 nop 30000 
+4af4 20600000 rtn 
+
+usb_clear_remote_wakeup_set0:
+4af5 700d4501 jam 1 ,mem_usb_device_enumeration_endflag 
+4af6 700d3a00 jam 0 ,mem_usb_clear_remote_wakeup 
+4af7 700d3604 jam usb_resume ,mem_usb_state 
+4af8 20600000 rtn 
+
+usb_set_report:
+4af9 700d5001 jam 1 ,mem_usb0_get_set_report 
+4afa 20404b03 call usb_set_report_resume_judge 
+4afb 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+4afc 60010d4e store 2 ,mem_usb_setup_bvalue_temp 
+4afd 68008c74 fetch 1 ,mem_usb_setup_blength 
+4afe 98007200 iforce loopcnt 
+4aff d8c00c76 arg mem_usb0_setup ,contr 
+4b00 d8a00cb6 arg mem_usb0_set_report_data ,contw 
+4b01 20407f01 call memcpy 
+4b02 20204988 branch usb0_reply_zerolen 
+
+usb_set_report_resume_judge:
+4b03 68010c70 fetch 2 ,mem_usb_setup_bvalue 
+4b04 d8400200 arg pc_set_report_bvalue ,temp 
+4b05 98467c00 isub temp ,null 
+4b06 24628000 nrtn zero 
+4b07 68010c72 fetch 2 ,mem_usb_setup_windex 
+4b08 d8400000 arg pc_set_report_windex ,temp 
+4b09 98467c00 isub temp ,null 
+4b0a 24628000 nrtn zero 
+4b0b 68010c74 fetch 2 ,mem_usb_setup_blength 
+4b0c d8400001 arg pc_set_report_blength ,temp 
+4b0d 98467c00 isub temp ,null 
+4b0e 24628000 nrtn zero 
+4b0f 700d4301 jam 1 ,mem_usb_tx_win_enable 
+4b10 20600000 rtn 
+
+usb_set_protocol_req:
+4b11 68008c74 fetch 1 ,mem_usb_setup_blength 
+4b12 c0804984 bne 0 ,usb0_force_stall 
+4b13 68008c70 fetch 1 ,mem_usb_setup_bvalue 
+4b14 c0004b17 beq boot_protocol ,usb_set_boot_protocol 
+4b15 c000cb1a beq report_protocol ,usb_set_report_protocol 
+4b16 20204984 branch usb0_force_stall 
+
+usb_set_boot_protocol:
+4b17 700d4a00 jam 0 ,mem_usb_set_protocol_status 
+4b18 700d4901 jam 1 ,mem_usb_set_protocol_value 
+4b19 20204988 branch usb0_reply_zerolen 
+
+usb_set_report_protocol:
+4b1a 700d4401 jam 1 ,mem_usb_tx_mac_enable 
+4b1b 700d4a01 jam 1 ,mem_usb_set_protocol_status 
+4b1c 700d4900 jam 0 ,mem_usb_set_protocol_value 
+4b1d 20204988 branch usb0_reply_zerolen 
+
+usb0_respond_length:
+4b1e ea208000 ifetch 1 ,rega 
+4b1f 98002400 iforce regb 
+4b20 1a20a201 increase 1 ,rega 
+
+usb0_respond:
+4b21 44fd401f bpatch patch1f_2 ,mem_patch1f 
+4b22 c591cb2c bmark0 mark_isstr ,usb0_respond0 
+4b23 1a40fe01 add regb ,1 ,pdata 
+4b24 1fe3fe00 lshift pdata ,pdata 
+4b25 60108a18 hstore 1 ,core_usb_dfifo0 
+4b26 708a1803 jam 3 ,core_usb_dfifo0 
+4b27 68008c74 fetch 1 ,mem_usb_setup_blength 
+4b28 1fe0fffe increase -2 ,pdata 
+4b29 1fe37e00 rshift pdata ,pdata 
+4b2a 60008c74 store 1 ,mem_usb_setup_blength 
+4b2b c0004b35 beq 0 ,usb_no_respond_data 
+
+usb0_respond0:
+4b2c 68010c74 fetch 2 ,mem_usb_setup_blength 
+4b2d 9a467c00 isub regb ,null 
+4b2e 20214b30 branch usb0_respond1 ,positive 
+4b2f 1fe22400 copy pdata ,regb 
+
+usb0_respond1:
+4b30 1a227e00 deposit rega 
+4b31 60010b65 store 2 ,mem_bufptr 
+4b32 1a427e00 deposit regb 
+4b33 60008b67 store 1 ,mem_remain 
+4b34 20204b37 branch usb0_tx 
+
+usb_no_respond_data:
+4b35 d8e00000 arg 0 ,queue 
+4b36 20204b57 branch usb_trig 
+
+usb0_tx:
+4b37 44fdc01f bpatch patch1f_3 ,mem_patch1f 
+4b38 68008b67 fetch 1 ,mem_remain 
+4b39 207a0000 rtn blank 
+4b3a 1fe27200 copy pdata ,loopcnt 
+4b3b 1fe67c40 sub pdata ,ep0_packet_size ,null 
+4b3c 20214b3e branch usb0_tx_info ,positive 
+4b3d df200040 arg ep0_packet_size ,loopcnt 
+
+usb0_tx_info:
+4b3e 68008b67 fetch 1 ,mem_remain 
+4b3f 9f267e00 isub loopcnt ,pdata 
+4b40 60008b67 store 1 ,mem_remain 
+4b41 68010b65 fetch 2 ,mem_bufptr 
+4b42 1fe20c00 copy pdata ,contr 
+
+usb0_tx0:
+4b43 e8c08000 ifetch 1 ,contr 
+4b44 60108a18 hstore 1 ,core_usb_dfifo0 
+4b45 c591cb47 bmark0 mark_isstr ,usb0_tx1 
+4b46 708a1800 jam 0 ,core_usb_dfifo0 
+
+usb0_tx1:
+4b47 c2004b43 loop usb0_tx0 
+4b48 18c27e00 copy contr ,pdata 
+4b49 60010b65 store 2 ,mem_bufptr 
+4b4a d8e00000 arg 0 ,queue 
+4b4b 20404b57 call usb_trig 
+4b4c 68008b67 fetch 1 ,mem_remain 
+4b4d 247a0000 nrtn blank 
+4b4e 68008d36 fetch 1 ,mem_usb_state 
+4b4f c1808000 rtnne usb_got_report_req 
+4b50 700d3602 jam usb_connected ,mem_usb_state 
+4b51 20600000 rtn 
+
+usb_tx_ep1:
+4b52 da208a19 arg core_usb_dfifo1 ,rega 
+4b53 d8e00001 arg 1 ,queue 
+
+usb_tx_loop:
+4b54 e8c08000 ifetch 1 ,contr 
+4b55 e2208000 istore 1 ,rega 
+4b56 c2004b54 loop usb_tx_loop 
+
+usb_trig:
+4b57 58000000 setarg 0 
+4b58 f9207e00 qset1 pdata 
+4b59 60108a10 hstore 1 ,core_usb_trig 
+4b5a 68088d37 fetcht 1 ,mem_usb_tx_wait 
+4b5b 9841fe00 ior temp ,pdata 
+4b5c 60008d37 store 1 ,mem_usb_tx_wait 
+4b5d 20600000 rtn 
+
+usb_tx_ep2:
+4b5e d8e00002 arg 2 ,queue 
+4b5f da208a1a arg core_usb_dfifo2 ,rega 
+4b60 20204b54 branch usb_tx_loop 
+
+usb_tx:
+4b61 44fe401f bpatch patch1f_4 ,mem_patch1f 
+4b62 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b63 207a0000 rtn blank 
+4b64 68008d37 fetch 1 ,mem_usb_tx_wait 
+4b65 243a4bac nbranch usb_inwake_state_tx_dispose ,blank 
+4b66 68008d45 fetch 1 ,mem_usb_device_enumeration_endflag 
+4b67 203a4b86 branch usb_tx_fifo_release ,blank 
+4b68 68008d36 fetch 1 ,mem_usb_state 
+4b69 c001cbbf beq usb_sleep ,usb_windows_wakeup 
+4b6a c0814b86 bne usb_connected ,usb_tx_fifo_release 
+4b6b 68008d3a fetch 1 ,mem_usb_clear_remote_wakeup 
+4b6c 243a4b86 nbranch usb_tx_fifo_release ,blank 
+4b6d 20404b6f call usb_tx_data_ep1 
+4b6e 20204b7a branch usb_tx_data_ep2 
+
+usb_tx_data_ep1:
+4b6f 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b70 c4008000 rtnbit0 1 
+4b71 68008d37 fetch 1 ,mem_usb_tx_wait 
+4b72 c3808000 rtnbit1 1 
+4b73 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b74 793ffe01 set0 1 ,pdata 
+4b75 60008d38 store 1 ,mem_usb_tx_enable 
+4b76 68008d51 fetch 1 ,mem_usb_ep1_data 
+4b77 207a0000 rtn blank 
+4b78 c0084ba8 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+4b79 20202a8c branch assert 
+
+usb_tx_data_ep2:
+4b7a 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b7b c4010000 rtnbit0 2 
+4b7c 68008d37 fetch 1 ,mem_usb_tx_wait 
+4b7d c3810000 rtnbit1 2 
+4b7e 68008d38 fetch 1 ,mem_usb_tx_enable 
+4b7f 793ffe02 set0 2 ,pdata 
+4b80 60008d38 store 1 ,mem_usb_tx_enable 
+4b81 68008d52 fetch 1 ,mem_usb_ep2_data 
+4b82 207a0000 rtn blank 
+4b83 c0104b89 beq usb_ep2_ms ,usb_tx_ms_data 
+4b84 c010cba4 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+4b85 20202a8c branch assert 
+
+usb_tx_fifo_release:
+4b86 d8a00d54 arg mem_usb_mouse_data ,contw 
+4b87 df200006 arg 6 ,loopcnt 
+4b88 20207ec6 branch memset0 
+
+usb_tx_ms_data:
+4b89 68008d4c fetch 1 ,mem_usb_idle_flag 
+4b8a 68088d4b fetcht 1 ,mem_usb_get_protocol_flag 
+4b8b 98417e00 iand temp ,pdata 
+4b8c 203a4ba0 branch usb_tx_ms_data_normal_mode ,blank 
+4b8d 68088d4a fetcht 1 ,mem_usb_set_protocol_status 
+4b8e 9840fe00 iadd temp ,pdata 
+4b8f c000cb91 beq mac_boot_mode ,usb_tx_ms_data_mac_boot_mode 
+4b90 20204ba0 branch usb_tx_ms_data_normal_mode 
+
+usb_tx_ms_data_mac_boot_mode:
+4b91 700d5200 jam 0 ,mem_usb_ep2_data 
+
+usb_tx_ms_data_mac_boot_regroup:
+4b92 68008d55 fetch 1 ,mem_usb_mouse_data + 1 
+4b93 c0014ba1 beq r_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+4b94 c001cba1 beq lr_key ,usb_tx_mac_boot_ms_regroup_r_or_lrkey 
+4b95 68008d55 fetch 1 ,mem_usb_mouse_data + 1 
+4b96 60008d54 store 1 ,mem_usb_mouse_data 
+4b97 68008d56 fetch 1 ,mem_usb_mouse_data + 2 
+4b98 e0a08000 istore 1 ,contw 
+4b99 68008d58 fetch 1 ,mem_usb_mouse_data + 4 
+4b9a e0a08000 istore 1 ,contw 
+4b9b 68008d5a fetch 1 ,mem_usb_mouse_data + 6 
+4b9c e0a08000 istore 1 ,contw 
+4b9d df200004 arg 4 ,loopcnt 
+4b9e d8c00d54 arg mem_usb_mouse_data ,contr 
+4b9f 20204b5e branch usb_tx_ep2 
+
+usb_tx_ms_data_normal_mode:
+4ba0 700d5200 jam 0 ,mem_usb_ep2_data 
+
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:
+4ba1 df200008 arg 8 ,loopcnt 
+4ba2 d8c00d54 arg mem_usb_mouse_data ,contr 
+4ba3 20204b5e branch usb_tx_ep2 
+
+usb_tx_kb_multikey_data:
+4ba4 700d5200 jam 0 ,mem_usb_ep2_data 
+4ba5 df200003 arg 3 ,loopcnt 
+4ba6 d8c00d74 arg mem_usb_kb_multikey ,contr 
+4ba7 20204b5e branch usb_tx_ep2 
+
+usb_tx_kb_normal_data:
+4ba8 700d5100 jam 0 ,mem_usb_ep1_data 
+4ba9 df200008 arg 8 ,loopcnt 
+4baa d8c00d64 arg mem_usb_kb_data ,contr 
+4bab 20204b52 branch usb_tx_ep1 
+
+usb_inwake_state_tx_dispose:
+4bac 68008d36 fetch 1 ,mem_usb_state 
+4bad c001cbb0 beq usb_sleep ,usb_clear_tx_wait 
+4bae c0014bb2 beq usb_connected ,usb_mac_wakeup_trig 
+4baf 20600000 rtn 
+
+usb_clear_tx_wait:
+4bb0 700d3700 jam 0 ,mem_usb_tx_wait 
+4bb1 20600000 rtn 
+
+usb_mac_wakeup_trig:
+4bb2 68108a00 hfetch 1 ,core_usb_config 
+4bb3 79207e07 set1 7 ,pdata 
+4bb4 60108a00 hstore 1 ,core_usb_config 
+4bb5 700d4701 jam 1 ,mem_usb_mac_wakeup_trig 
+4bb6 20600000 rtn 
+
+usb_mac_wakeup_judge:
+4bb7 68008d36 fetch 1 ,mem_usb_state 
+4bb8 c1018000 rtneq usb_sleep 
+4bb9 c0014bbb beq usb_connected ,usb_mac_wakeup 
+4bba 20600000 rtn 
+
+usb_mac_wakeup:
+4bbb 68008d47 fetch 1 ,mem_usb_mac_wakeup_trig 
+4bbc 207a0000 rtn blank 
+4bbd 700d4601 jam 1 ,mem_usb_wakestate_onetime_flag 
+4bbe 20204bc2 branch usb_wakeup 
+
+usb_windows_wakeup:
+4bbf d8e0000f arg timer_wakeup ,queue 
+4bc0 20407f16 call timer_check 
+4bc1 247a0000 nrtn blank 
+
+usb_wakeup:
+4bc2 68108a00 hfetch 1 ,core_usb_config 
+4bc3 c4038000 rtnbit0 7 
+4bc4 708a00fc jam 0xfc ,core_usb_config 
+4bc5 20007530 nop 30000 
+4bc6 708a003c jam 0x3c ,core_usb_config 
+4bc7 20600000 rtn 
+
+hci_rx_h4:
+4bc8 44fec01f bpatch patch1f_5 ,mem_patch1f 
+4bc9 6800c1ce fetch 1 ,mem_hci_cmd 
+4bca 247a0000 nrtn blank 
+
+hci_rx_h4_1:
+4bcb 20404bce call hci_h4_parse_packet 
+4bcc 24544be6 ncall h4_rx_discard_packet ,user 
+4bcd 20600000 rtn 
+
+hci_h4_parse_packet:
+4bce 44ff401f bpatch patch1f_6 ,mem_patch1f 
+4bcf 18622200 copy contru ,rega 
+4bd0 d8400004 arg 4 ,temp 
+4bd1 e8608000 ifetch 1 ,contru 
+4bd2 c000cbd8 beq hci_h4_type_cmd ,hci_h4_parse_packet_wait_len 
+4bd3 18408401 increase 1 ,temp 
+4bd4 c0014bd8 beq hci_h4_type_acl ,hci_h4_parse_packet_wait_len 
+4bd5 18627e00 copy contru ,pdata 
+4bd6 60110058 hstore 2 ,core_uart_rrptr 
+4bd7 20600000 rtn 
+
+hci_h4_parse_packet_wait_len:
+4bd8 68110112 hfetch 2 ,core_uart_rxitems 
+4bd9 98467c00 isub temp ,null 
+4bda 24214bd8 nbranch hci_h4_parse_packet_wait_len ,positive 
+4bdb 78547c00 disable user 
+4bdc 1a220600 copy rega ,contru 
+4bdd 20404bee call h4_get_rx_payload_len 
+4bde 98408400 iadd temp ,temp 
+
+hci_h4_parse_packet_wait:
+4bdf 68110112 hfetch 2 ,core_uart_rxitems 
+4be0 98467c00 isub temp ,null 
+4be1 24214bdf nbranch hci_h4_parse_packet_wait ,positive 
+4be2 1a220600 copy rega ,contru 
+4be3 e8608000 ifetch 1 ,contru 
+4be4 c000cc3f beq hci_h4_type_cmd ,process_hci_cmd 
+4be5 20202a8c branch assert 
+
+h4_rx_discard_packet:
+4be6 44ffc01f bpatch patch1f_7 ,mem_patch1f 
+4be7 68110058 hfetch 2 ,core_uart_rrptr 
+4be8 98000600 iforce contru 
+4be9 20404bee call h4_get_rx_payload_len 
+4bea 98608600 iadd contru ,contru 
+4beb 18627e00 deposit contru 
+4bec 60110058 hstore 2 ,core_uart_rrptr 
+4bed 20600000 rtn 
+
+h4_get_rx_payload_len:
+4bee e8608000 ifetch 1 ,contru 
+4bef 18608602 increase 2 ,contru 
+4bf0 c0014bf3 beq hci_h4_type_acl ,h4_get_rx_payload_len_acl 
+4bf1 e8608000 ifetch 1 ,contru 
+4bf2 20600000 rtn 
+
+h4_get_rx_payload_len_acl:
+4bf3 e8610000 ifetch 2 ,contru 
+4bf4 20600000 rtn 
+
+h4_get_tx_ptr:
+4bf5 6811005e hfetch 2 ,core_uart_twptr 
+4bf6 194095fb increase -5 ,contwu 
+4bf7 99409400 iadd contwu ,contwu 
+4bf8 20600000 rtn 
+
+h4_send_packet_event:
+4bf9 d8400004 arg hci_h4_type_event ,temp 
+4bfa 20204bfc branch h4_send_packet 
+
+h4_send_packet_acl:
+4bfb d8400002 arg hci_h4_type_acl ,temp 
+
+h4_send_packet:
+4bfc 47004020 bpatchx patch20_0 ,mem_patch20 
+4bfd 1f20f201 increase 1 ,loopcnt 
+4bfe 6811005e hfetch 2 ,core_uart_twptr 
+4bff 1fe21400 copy pdata ,contwu 
+4c00 1f227e00 copy loopcnt ,pdata 
+4c01 e1488000 istoret 1 ,contwu 
+4c02 1fe0ffff increase -1 ,pdata 
+4c03 99409400 iadd contwu ,contwu 
+4c04 19427e00 copy contwu ,pdata 
+4c05 60010258 store 2 ,mem_hci_acl_tx_trigger_wptr 
+4c06 18427e00 copy temp ,pdata 
+4c07 c1010000 rtneq hci_h4_type_acl 
+4c08 68010258 fetch 2 ,mem_hci_acl_tx_trigger_wptr 
+4c09 6011005e hstore 2 ,core_uart_twptr 
+4c0a 20204c0b branch h4_send_acl_trigger_clear 
+
+h4_send_acl_trigger_clear:
+4c0b 58000000 setarg 0 
+4c0c 60010258 store 2 ,mem_hci_acl_tx_trigger_wptr 
+4c0d 20600000 rtn 
+
+hci_init:
+4c0e 20758000 rtn wake 
+4c0f 58004d28 setarg hci_idle_dispatch 
+4c10 600141f3 store 2 ,mem_cb_idle_process 
+4c11 580001a0 setarg uart_baud_115200 
+4c12 60014243 store uart_baud_len ,mem_baud 
+
+hci_lpm_init:
+4c13 58001800 setarg mem_h5rx_buf 
+4c14 60110054 hstore 2 ,core_uart_rsaddr 
+4c15 58001bff setarg mem_h5rx_buf_end 
+4c16 60110056 hstore 2 ,core_uart_readdr 
+4c17 58001c00 setarg mem_h5tx_buf 
+4c18 6011005a hstore 2 ,core_uart_tsaddr 
+4c19 20404c28 call hci_sel_init 
+
+hci_reinit:
+4c1a 70806200 jam 0x0 ,core_uart_ctrl 
+4c1b 58001c00 setarg mem_h5tx_buf 
+4c1c 6011005e hstore 2 ,core_uart_twptr 
+4c1d 60110060 hstore 2 ,core_uart_trptrp 
+4c1e 58001800 setarg mem_h5rx_buf 
+4c1f 60110058 hstore 2 ,core_uart_rrptr 
+4c20 60010244 store 2 ,mem_h5rx_rptr 
+
+hci_init_common:
+4c21 68110050 hfetch 2 ,core_clkoff 
+4c22 793ffe0f set0 clock_off_uart ,pdata 
+4c23 60110050 hstore 2 ,core_clkoff 
+4c24 204066ce call uart_set_baud_by_mem 
+4c25 70804301 jam uartclk_dpll ,core_uart_clksel 
+4c26 70806281 jam uart_ctrl_h4 ,core_uart_ctrl 
+4c27 20600000 rtn 
+
+hci_sel_init:
+4c28 58001fff setarg mem_h5tx_buf_end 
+4c29 6011005c hstore 2 ,core_uart_teaddr 
+4c2a 68108081 hfetch 1 ,core_gpio_sel1 
+4c2b 1fe1fe07 or_into 0x07 ,pdata 
+4c2c 60108081 hstore 1 ,core_gpio_sel1 
+4c2d 20600000 rtn 
+
+hci_rx_packet:
+4c2e 4700c020 bpatchx patch20_1 ,mem_patch20 
+4c2f 6810810c hfetch 1 ,core_uart_status 
+4c30 98002400 iforce regb 
+4c31 c301cc37 bbit0 uart_status_rx_fifo_empty ,hci_rx_packet_cont 
+4c32 68110112 hfetch 2 ,core_uart_rxitems 
+4c33 98002600 iforce regc 
+4c34 d840044f arg 0x44f ,temp 
+4c35 98467c00 isub temp ,null 
+4c36 24628000 nrtn zero 
+
+hci_rx_packet_cont:
+4c37 68110058 hfetch 2 ,core_uart_rrptr 
+4c38 98000600 iforce contru 
+4c39 20204bc8 branch hci_rx_h4 
+
+uart_send_byte:
+4c3a 6818810c hfetcht 1 ,core_uart_status 
+4c3b 284ffe06 isolate1 6 ,temp 
+4c3c 2020cc3a branch uart_send_byte ,true 
+4c3d 60108015 hstore 1 ,core_uart_txd 
+4c3e 20600000 rtn 
+
+process_hci_cmd:
+4c3f 47014020 bpatchx patch20_2 ,mem_patch20 
+4c40 6800c1ce fetch 1 ,mem_hci_cmd 
+4c41 203a4c44 branch process_hci_cmd_cont ,blank 
+4c42 78347c00 enable user 
+4c43 20600000 rtn 
+
+process_hci_cmd_cont:
+4c44 e8610000 ifetch 2 ,contru 
+4c45 98006000 iforce alarm 
+4c46 98000e00 iforce queue 
+4c47 e8608000 ifetch 1 ,contru 
+4c48 98000400 iforce temp 
+4c49 1e0b7e00 rshift2 alarm ,pdata 
+4c4a 1fecfe00 rshift8 pdata ,pdata 
+4c4b c01fcc4d beq hci_ogf_vendor_specific ,phci_grp_vendor_specific 
+4c4c 20600000 rtn 
+
+phci_grp_vendor_specific:
+4c4d 4701c020 bpatchx patch20_3 ,mem_patch20 
+4c4e 18e27e00 deposit queue 
+4c4f c0004cdc beq hci_vendor_cmd_reset ,hci_normal_reply 
+4c50 c000cc66 beq hci_vendor_cmd_chipid ,phci_grp_vendor_chipid 
+4c51 c0014c6b beq hci_vendor_cmd_baud ,phci_grp_vendor_baud 
+4c52 c001cc7a beq hci_vendor_cmd_patch ,phci_grp_vendor_patch 
+4c53 c0024cb3 beq hci_vendor_cmd_patch_done ,phci_grp_vendor_done 
+4c54 c002ccdc beq hci_vendor_cmd_echo ,hci_normal_reply 
+4c55 c0034cc6 beq hci_vendor_cmd_bdaddr ,phci_grp_vendor_bdaddr 
+4c56 c003cc5c beq hci_vendor_cmd_enter_lpm ,phci_grp_vendor_enter_lpm 
+4c57 c0084cc9 beq hci_vendor_cmd_mem ,phci_grp_vendor_mem 
+4c58 c008ccd1 beq hci_vendor_cmd_eep ,phci_grp_vendor_eep 
+4c59 c0094ca5 beq hci_vendor_cmd_patch_sec_init ,phci_grp_vendor_patch_sec_init 
+4c5a c009cc85 beq hci_vendor_cmd_patch_sec ,phci_grp_vendor_patch_sec 
+4c5b 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_enter_lpm:
+4c5c 20404cdc call hci_normal_reply 
+4c5d 20407f9e call wait_uarttx 
+4c5e 2040688c call gpio_pu_uart_tx 
+
+hci_enter_lpm:
+4c5f 204033d2 call app_put_lpm_wake_lock 
+4c60 204033d9 call app_l2cap_flow_control_enable 
+4c61 2020688f branch gpio_rx_config_input_with_pu 
+
+hci_exit_lpm:
+4c62 70424500 jam hci_rx_ready ,mem_hci_lt_rx_state 
+4c63 204033d0 call app_get_lpm_wake_lock 
+4c64 20404c13 call hci_lpm_init 
+4c65 202033db branch app_l2cap_flow_control_disable 
+
+phci_grp_vendor_chipid:
+4c66 20404cf2 call hci_get_cmd_complete_ptr 
+4c67 68110000 hfetch 2 ,core_chipid 
+4c68 e1410000 istore 2 ,contwu 
+4c69 18007206 force 6 ,loopcnt 
+4c6a 20204cdd branch hci_command_complete 
+
+phci_grp_vendor_baud:
+4c6b e8610000 ifetch 2 ,contru 
+4c6c 60014243 store 2 ,mem_baud 
+4c6d 60110052 hstore 2 ,core_uart_baud 
+4c6e 20600000 rtn 
+
+phci_grp_vendor_patch_common:
+4c6f e8608000 ifetch 1 ,contru 
+4c70 1fe20400 copy pdata ,temp 
+4c71 60108024 hstore 1 ,core_ucode_low 
+4c72 e8608000 ifetch 1 ,contru 
+4c73 98408400 iadd temp ,temp 
+4c74 79207e07 set1 7 ,pdata 
+4c75 60108023 hstore 1 ,core_ucode_ctrl 
+4c76 e8608000 ifetch 1 ,contru 
+4c77 98408400 iadd temp ,temp 
+4c78 1fe27200 copy pdata ,loopcnt 
+4c79 20600000 rtn 
+
+phci_grp_vendor_patch:
+4c7a c515ccc4 bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+4c7b 20404c6f call phci_grp_vendor_patch_common 
+
+phci_grp_vendor_patch_loop:
+4c7c e8608000 ifetch 1 ,contru 
+4c7d 60108025 hstore 1 ,core_ucode_data 
+4c7e 98408400 iadd temp ,temp 
+4c7f c2004c7c loop phci_grp_vendor_patch_loop 
+
+phci_grp_vendor_patch_check_sum:
+4c80 184104ff and temp ,0xff ,temp 
+4c81 e8608000 ifetch 1 ,contru 
+4c82 98467c00 isub temp ,null 
+4c83 2422ccc4 nbranch phci_grp_vendor_patch_bad ,zero 
+4c84 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_patch_sec:
+4c85 c595ccc4 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+4c86 20404c6f call phci_grp_vendor_patch_common 
+4c87 60040a9a store 8 ,mem_pdatatemp 
+
+phci_grp_vendor_patch_sec_loop:
+4c88 20407422 call do_aes_cbc 
+4c89 df200010 arg 16 ,loopcnt 
+4c8a d8a00ac2 arg mem_temp_block0 ,contw 
+4c8b 20404ca0 call load_uart_sum_loop 
+4c8c 600c0aa2 storet 8 ,mem_temp 
+4c8d d8a00ad2 arg mem_temp_block2 ,contw 
+4c8e 20407497 call store_aes_result 
+4c8f da200ad2 arg mem_temp_block2 ,rega 
+4c90 da400ac2 arg mem_temp_block0 ,regb 
+4c91 d8a00ae2 arg mem_temp_block3 ,contw 
+4c92 20407352 call xor16 
+4c93 df200010 arg 16 ,loopcnt 
+4c94 d8c00ae2 arg mem_temp_block3 ,contr 
+4c95 20404c9c call load_ucode_only_loop 
+4c96 680c0aa2 fetcht 8 ,mem_temp 
+4c97 68040a9a fetch 8 ,mem_pdatatemp 
+4c98 1fe0fff0 increase -16 ,pdata 
+4c99 60040a9a store 8 ,mem_pdatatemp 
+4c9a 243a4c88 nbranch phci_grp_vendor_patch_sec_loop ,blank 
+4c9b 20204c80 branch phci_grp_vendor_patch_check_sum 
+
+load_ucode_only_loop:
+4c9c e8c08000 ifetch 1 ,contr 
+4c9d 60108025 hstore 1 ,core_ucode_data 
+4c9e c2004c9c loop load_ucode_only_loop 
+4c9f 20600000 rtn 
+
+load_uart_sum_loop:
+4ca0 e8608000 ifetch 1 ,contru 
+4ca1 e0a08000 istore 1 ,contw 
+4ca2 98408400 iadd temp ,temp 
+4ca3 c2004ca0 loop load_uart_sum_loop 
+4ca4 20600000 rtn 
+
+phci_grp_vendor_patch_sec_init:
+4ca5 c595ccc4 bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad 
+4ca6 d8400000 arg 0 ,temp 
+4ca7 df200010 arg 16 ,loopcnt 
+4ca8 d8a00ac2 arg mem_temp_block0 ,contw 
+4ca9 20404ca0 call load_uart_sum_loop 
+4caa 68108085 hfetch 1 ,core_gpio_key2 
+4cab 1fe17efd and_into 0xfd ,pdata 
+4cac 60108085 hstore 1 ,core_gpio_key2 
+4cad d8c00ac2 arg mem_temp_block0 ,contr 
+4cae df200010 arg 16 ,loopcnt 
+4caf 20407478 call aes_load_data 
+4cb0 20407428 call aes_init 
+4cb1 20407491 call aes_clear_data 
+4cb2 20204c80 branch phci_grp_vendor_patch_check_sum 
+
+phci_grp_vendor_done:
+4cb3 df200020 arg 0x20 ,loopcnt 
+4cb4 d8a04000 arg mem_patch00 ,contw 
+4cb5 d8400000 arg 0 ,temp 
+
+phci_grp_vendor_done_loop:
+4cb6 e8608000 ifetch 1 ,contru 
+4cb7 e0a08000 istore 1 ,contw 
+4cb8 98408400 iadd temp ,temp 
+4cb9 c2004cb6 loop phci_grp_vendor_done_loop 
+4cba 184104ff and temp ,0xff ,temp 
+4cbb e8608000 ifetch 1 ,contru 
+4cbc 98467c00 isub temp ,null 
+4cbd 2422ccc4 nbranch phci_grp_vendor_patch_bad ,zero 
+4cbe 70802300 jam 0 ,core_ucode_ctrl 
+4cbf 20404cdc call hci_normal_reply 
+4cc0 20404be6 call h4_rx_discard_packet 
+4cc1 204064a3 call clear_key_buf 
+4cc2 20407f9e call wait_uarttx 
+4cc3 20202001 branch soft_reset 
+
+phci_grp_vendor_patch_bad:
+4cc4 70802300 jam 0 ,core_ucode_ctrl 
+4cc5 20202000 branch start 
+
+phci_grp_vendor_bdaddr:
+4cc6 e8630000 ifetch 6 ,contru 
+4cc7 600340a0 store 6 ,mem_lap 
+4cc8 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_mem:
+4cc9 e8608000 ifetch 1 ,contru 
+4cca 6000825a store 1 ,mem_hci_curr_len 
+4ccb 1fe27200 copy pdata ,loopcnt 
+4ccc e8610000 ifetch 2 ,contru 
+4ccd 6001025b store 2 ,mem_hci_curr_target 
+4cce 1fe20a00 copy pdata ,contw 
+4ccf 204066fd call uart_copy_rx_bytes 
+4cd0 20204cdc branch hci_normal_reply 
+
+phci_grp_vendor_eep:
+4cd1 e8608000 ifetch 1 ,contru 
+4cd2 6000825a store 1 ,mem_hci_curr_len 
+4cd3 1fe27200 copy pdata ,loopcnt 
+4cd4 e8610000 ifetch 2 ,contru 
+4cd5 6001025b store 2 ,mem_hci_curr_target 
+4cd6 d8a01000 arg mem_l2cap_rxbuff1 ,contw 
+4cd7 204066fd call uart_copy_rx_bytes 
+4cd8 6808825a fetcht 1 ,mem_hci_curr_len 
+4cd9 da201000 arg mem_l2cap_rxbuff1 ,rega 
+4cda 6801025b fetch 2 ,mem_hci_curr_target 
+4cdb 20206608 branch iicd_write_ota_data 
+
+hci_normal_reply:
+4cdc 18007204 force 4 ,loopcnt 
+
+hci_command_complete:
+4cdd 20404cf4 call hci_get_payload_ptr 
+4cde 18007e01 force 0x1 ,pdata 
+4cdf e1408000 istore 1 ,contwu 
+4ce0 1e027e00 deposit alarm 
+4ce1 e1418000 istore 3 ,contwu 
+4ce2 18000e0e force hci_event_command_complete ,queue 
+
+hci_send_event:
+4ce3 47024020 bpatchx patch20_4 ,mem_patch20 
+4ce4 20404cf6 call hci_get_packet_ptr 
+4ce5 18e27e00 deposit queue 
+4ce6 e1408000 istore 1 ,contwu 
+4ce7 1f227e00 deposit loopcnt 
+4ce8 e1408000 istore 1 ,contwu 
+
+hci_send_event_raw:
+4ce9 18000e05 force 5 ,queue 
+4cea 1f20f202 increase 2 ,loopcnt 
+
+hci_send_packet:
+4ceb 20204bf9 branch h4_send_packet_event 
+
+hci_send_commu_ready_event:
+4cec 18000eff force hci_event_vendor_specific ,queue 
+4ced 20404cf4 call hci_get_payload_ptr 
+4cee 58000001 setarg hci_vendor_event_commu_ready 
+4cef e1408000 istore 1 ,contwu 
+4cf0 18007201 force 1 ,loopcnt 
+4cf1 20204ce3 branch hci_send_event 
+
+hci_get_cmd_complete_ptr:
+4cf2 1800140c force 12 ,contwu 
+4cf3 20204cf7 branch hci_get_tx_ptr 
+
+hci_get_payload_ptr:
+4cf4 18001408 force 8 ,contwu 
+4cf5 20204cf7 branch hci_get_tx_ptr 
+
+hci_get_packet_ptr:
+4cf6 18001406 force 6 ,contwu 
+
+hci_get_tx_ptr:
+4cf7 20204bf5 branch h4_get_tx_ptr 
+
+calc_tx_crc16:
+4cf8 7827fc00 pulse crc16 
+4cf9 7824fc00 enable enable_crc 
+
+crcloop:
+4cfa e9408000 ifetch 1 ,contwu 
+4cfb 08008008 inject bucket ,8 
+4cfc c2004cfa loop crcloop 
+4cfd 78247c00 enable enable_parity 
+4cfe 08008010 inject bucket ,16 
+4cff 78447c00 disable enable_parity 
+4d00 7844fc00 disable enable_crc 
+4d01 7847fc00 disable crc16 
+4d02 1ff0fe00 byteswap pdata ,pdata 
+4d03 20600000 rtn 
+
+cmd_exit:
+4d04 7041ce00 jam 0 ,mem_hci_cmd 
+4d05 20600000 rtn 
+
+cmd_check_plap:
+4d06 680341d0 fetch 6 ,mem_hci_plap 
+4d07 680b0040 fetcht 6 ,mem_plap 
+4d08 98467c00 isub temp ,null 
+4d09 20600000 rtn 
+
+cmd_pair:
+4d0a 6800804b fetch 1 ,mem_op 
+4d0b c2814d0f bbit1 op_inrand_req ,cmd_pair_passive 
+4d0c 204062ef call tid_initiate 
+4d0d 70007c08 jam lmp_in_rand ,mem_lmo_opcode2 
+4d0e 20204d04 branch cmd_exit 
+
+cmd_pair_passive:
+4d0f 793ffe02 set0 op_inrand_req ,pdata 
+4d10 6000804b store 1 ,mem_op 
+4d11 20406001 call lmp_accept_inrand 
+4d12 58000000 setarg 0 
+4d13 7934fe01 setflag master ,smap_lmptid ,pdata 
+4d14 6000807f store 1 ,mem_lmo_tid2 
+4d15 20204d04 branch cmd_exit 
+4d16 20600000 rtn 
+
+cmd_in_sniff:
+4d17 70007c17 jam lmp_sniff_req ,mem_lmo_opcode2 
+4d18 d8a004d9 arg mem_sniff_payload ,contw 
+4d19 58000000 setarg 0 
+4d1a 2d0ffe1b isolate1 27 ,clke_bt 
+4d1b 7920fe01 setflag true ,1 ,pdata 
+4d1c e0a08000 istore 1 ,contw 
+4d1d 58000000 setarg 0 
+4d1e e0a10000 istore 2 ,contw 
+4d1f 680141e3 fetch 2 ,mem_sniff_param_interval 
+4d20 e0a10000 istore 2 ,contw 
+4d21 6800c1e5 fetch 1 ,mem_sniff_param_attempt 
+4d22 e0a10000 istore 2 ,contw 
+4d23 6800c1e7 fetch 1 ,mem_sniff_param_timeout 
+4d24 e0a10000 istore 2 ,contw 
+4d25 20204d04 branch cmd_exit 
+
+cmd_exit_sniff:
+4d26 70007c18 jam lmp_unsniff_req ,mem_lmo_opcode2 
+4d27 20204d04 branch cmd_exit 
+
+hci_idle_dispatch:
+4d28 20406899 call gpio_check_uart_state 
+4d29 20608000 rtn true 
+4d2a d8400007 arg uart_wakeup_rx ,temp 
+4d2b 2040681d call gpio_get_bit 
+4d2c 2420cd2f nbranch uart_wake_up ,true 
+4d2d 70424501 jam hci_rx_wake ,mem_hci_lt_rx_state 
+4d2e 20600000 rtn 
+
+uart_wake_up:
+4d2f 6800c245 fetch 1 ,mem_hci_lt_rx_state 
+4d30 c1808000 rtnne hci_rx_wake 
+4d31 20404c62 call hci_exit_lpm 
+4d32 20204cec branch hci_send_commu_ready_event 
+
+hid_rx_process:
+4d33 4702c020 bpatchx patch20_5 ,mem_patch20 
+4d34 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+4d35 1fe20c00 copy pdata ,contr 
+4d36 e8c08000 ifetch 1 ,contr 
+4d37 1fe1040f and pdata ,0x0f ,temp 
+4d38 1ff1fe00 rshift4 pdata ,pdata 
+4d39 c004cd53 beq hid_type_set_idle ,hid_rx_process_handshake 
+4d3a c003cd53 beq hid_type_set_protocol ,hid_rx_process_handshake 
+4d3b c0054d5f beq hid_type_data ,hid_rx_process_data 
+4d3c c002cd4b beq hid_type_set_report ,hid_rx_process_set_report 
+4d3d c000cd3f beq hid_type_control ,hid_rx_process_hid_control 
+4d3e 20600000 rtn 
+
+hid_rx_process_hid_control:
+4d3f 18427e00 copy temp ,pdata 
+4d40 c002cd43 beq hid_control_p_virtualcableunplug ,hid_rx_process_virtual_cable_unplug 
+4d41 c001cd4a beq hid_control_p_suspend ,hid_rx_process_suspend 
+4d42 20600000 rtn 
+
+hid_rx_process_virtual_cable_unplug:
+4d43 700a9927 jam bt_evt_virtual_cable_unplug ,mem_fifo_temp 
+4d44 20407d86 call ui_ipc_send_event 
+4d45 6800c092 fetch 1 ,mem_device_option 
+4d46 c4030000 rtnbit0 dvc_op_mouse 
+4d47 18427e00 copy temp ,pdata 
+4d48 c002c38e beq hid_control_p_virtualcableunplug ,mouse_irtual_cable_unplug 
+4d49 20600000 rtn 
+
+hid_rx_process_suspend:
+4d4a 20600000 rtn 
+
+hid_rx_process_set_report:
+4d4b 20404d5f call hid_rx_process_data 
+4d4c da200001 arg 0x01 ,rega 
+4d4d 20404d63 call hid_malloc_tx_buff 
+4d4e 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4d4f e0a10000 istore 2 ,contw 
+4d50 58000000 setarg 0x00 
+4d51 e0a08000 istore 1 ,contw 
+4d52 20600000 rtn 
+
+hid_rx_process_handshake:
+4d53 da200001 arg 1 ,rega 
+4d54 20404d63 call hid_malloc_tx_buff 
+4d55 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4d56 e0a10000 istore 2 ,contw 
+4d57 58000000 setarg 0 
+4d58 e0a08000 istore 1 ,contw 
+4d59 700a8e01 jam 1 ,mem_ui_data_txbuff_length 
+4d5a 6800c252 fetch 1 ,mem_hid_control_state 
+4d5b 79207e06 set1 l2cap_channel_hid_handshake_done 
+4d5c 6000c252 store 1 ,mem_hid_control_state 
+4d5d 700a9912 jam bt_evt_hid_handshake ,mem_fifo_temp 
+4d5e 20207d86 branch ui_ipc_send_event 
+
+hid_rx_process_data:
+4d5f e8c08000 ifetch 1 ,contr 
+4d60 c000cd62 beq hid_report_id_kb ,hid_rx_process_data_hid_kb 
+4d61 20600000 rtn 
+
+hid_rx_process_data_hid_kb:
+4d62 20600000 rtn 
+
+hid_malloc_tx_buff:
+4d63 20405240 call l2cap_malloc 
+4d64 1a220400 copy rega ,temp 
+4d65 60088a8e storet 1 ,mem_ui_data_txbuff_length 
+4d66 1fe20a00 copy pdata ,contw 
+4d67 1a227e00 copy rega ,pdata 
+4d68 e0a10000 istore 2 ,contw 
+4d69 20600000 rtn 
+
+l2cap_init:
+4d6a 2035cd6f branch l2cap_init_wake ,wake 
+
+l2cap_init_work:
+4d6b 58004365 setarg mem_l2cap_xmem_end 
+4d6c d8a04246 arg mem_l2cap_xmem_start ,contw 
+4d6d 98a67200 isub contw ,loopcnt 
+4d6e 20407ed4 call clear_mem 
+
+l2cap_init_wake:
+4d6f 47034020 bpatchx patch20_6 ,mem_patch20 
+4d70 58000551 setarg mem_sdp_mem_end 
+4d71 d8a00511 arg mem_sdp_mem_start ,contw 
+4d72 98a67200 isub contw ,loopcnt 
+4d73 20407ed4 call clear_mem 
+4d74 580002c9 setarg mem_l2cap_mem_end 
+4d75 d8a0025d arg mem_l2cap_mem_start ,contw 
+4d76 98a67200 isub contw ,loopcnt 
+4d77 20407ed4 call clear_mem 
+4d78 20205318 branch l2cap_lpm_load_txbuf 
+
+process_rx_l2cap_pkt:
+4d79 4703c020 bpatchx patch20_7 ,mem_patch20 
+4d7a 18c20400 copy contr ,temp 
+4d7b 18420c00 copy temp ,contr 
+4d7c e8c10000 ifetch 2 ,contr 
+4d7d 60010266 store 2 ,mem_l2cap_rx_pkt_length 
+4d7e e8c10000 ifetch 2 ,contr 
+4d7f 60010268 store 2 ,mem_l2cap_rx_cid 
+4d80 18c27e00 deposit contr 
+4d81 60010264 store 2 ,mem_l2cap_payload_ptr 
+4d82 6800c681 fetch 1 ,memui_reconnect_mode 
+4d83 c0004d85 beq no_reconnection ,l2cap_rx_multiplexing 
+4d84 202050ef branch ml2cap_rx_multiplexing 
+
+l2cap_rx_multiplexing:
+4d85 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+4d86 203a4dfc branch l2cap_rx_reset_state ,blank 
+4d87 47044021 bpatchx patch21_0 ,mem_patch21 
+4d88 68008268 fetch 1 ,mem_l2cap_rx_cid 
+4d89 c000cd9d beq l2cap_signal_channel ,l2cap_call_proc_signal 
+
+l2cap_rx_multiplexing0:
+4d8a c0284de0 beq l2cap_sdp_channel ,l2cap_call_proc_sdp 
+4d8b c028cdf5 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+4d8c c0294df3 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+4d8d c029cdf3 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+4d8e 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_check_map:
+4d8f 4704c021 bpatchx patch21_1 ,mem_patch21 
+4d90 2040527e call l2cap_malloc_get_full_map 
+4d91 6800c256 fetch 1 ,mem_used_map 
+4d92 c0004d9b beq 0 ,set_pdata_0 
+4d93 c000cd9b beq 1 ,set_pdata_0 
+4d94 c0014d9b beq 2 ,set_pdata_0 
+4d95 c001cd9b beq 3 ,set_pdata_0 
+4d96 c040cd9b beq 0x81 ,set_pdata_0 
+4d97 c0604d9b beq 0xc0 ,set_pdata_0 
+4d98 c0404d9b beq 0x80 ,set_pdata_0 
+4d99 c0204d9b beq 0x40 ,set_pdata_0 
+4d9a 20600000 rtn 
+
+set_pdata_0:
+4d9b 58000000 setarg 0 
+4d9c 20600000 rtn 
+
+l2cap_call_proc_signal:
+4d9d 20404d8f call l2cap_check_map 
+4d9e 247a0000 nrtn blank 
+
+l2cap_call_proc_signal0:
+4d9f 204052b8 call l2cap_malloc_signal_channel 
+4da0 20404e01 call l2cap_process_signal_pkt 
+4da1 6809026f fetcht 2 ,mem_l2cap_signal_tx_length 
+4da2 203a4dfb branch l2cap_call_proc_no_reply ,blank 
+4da3 204052c1 call l2cap_get_signal_tx_buff 
+4da4 6801026f fetch 2 ,mem_l2cap_signal_tx_length 
+4da5 e0a10000 istore 2 ,contw 
+4da6 18007e01 force l2cap_signal_channel ,pdata 
+4da7 e0a10000 istore 2 ,contw 
+4da8 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_sigal_pending:
+4da9 6800c364 fetch 1 ,mem_l2cap_pending_item 
+4daa 207a0000 rtn blank 
+4dab 1fe22200 copy pdata ,rega 
+4dac 47054021 bpatchx patch21_2 ,mem_patch21 
+4dad 680202d5 fetch 4 ,mem_l2cap_sdpres_delay_time 
+4dae d8400100 arg 0x100 ,temp 
+4daf 98408400 iadd temp ,temp 
+4db0 1c427e00 copy clkn_bt ,pdata 
+4db1 98467c00 isub temp ,null 
+4db2 24610000 nrtn positive 
+4db3 70436400 jam 0 ,mem_l2cap_pending_item 
+4db4 1a227e00 copy rega ,pdata 
+4db5 c0284db7 beq l2cap_sdp_channel ,l2cap_sdp_conn_succ 
+4db6 20202a8c branch assert 
+
+l2cap_sdp_conn_succ:
+4db7 d9000000 arg 0 ,debug 
+4db8 204052b8 call l2cap_malloc_signal_channel 
+4db9 20404e7a call restore_l2cap_req_param 
+4dba 204052c3 call l2cap_get_signal_tx_payload 
+4dbb 20407ea8 call save_cont_pointers 
+4dbc 20404ead call send_connection_sdp_res 
+4dbd 204052c1 call l2cap_get_signal_tx_buff 
+4dbe 5800000c setarg 0x000c 
+4dbf e0a10000 istore 2 ,contw 
+4dc0 18007e01 force l2cap_signal_channel ,pdata 
+4dc1 e0a10000 istore 2 ,contw 
+4dc2 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_reset_sdp_map:
+4dc3 4705c021 bpatchx patch21_3 ,mem_patch21 
+4dc4 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+4dc5 1fe0fe04 increase 4 ,pdata 
+4dc6 1ff1fe00 rshift4 pdata ,pdata 
+4dc7 1fe97e00 rshift3 pdata ,pdata 
+4dc8 1fe08401 add pdata ,1 ,temp 
+4dc9 d8c04260 arg mem_tx_fifo3 ,contr 
+4dca e8c18000 ifetch 3 ,contr 
+4dcb 207a0000 rtn blank 
+4dcc 60018ac2 store 3 ,mem_tx_fifo_map_temp 
+4dcd 68008ac2 fetch 1 ,mem_tx_fifo_map_temp 
+4dce 1fe22200 copy pdata ,rega 
+4dcf 20404dd3 call check_l2cap_map 
+4dd0 1a427e00 copy regb ,pdata 
+4dd1 6000c260 store 1 ,mem_tx_fifo3 
+4dd2 20600000 rtn 
+
+check_l2cap_map:
+4dd3 d8e00000 arg 0 ,queue 
+4dd4 da400000 arg 0 ,regb 
+
+check_l2cap_map_loop:
+4dd5 18e67c07 sub queue ,7 ,null 
+4dd6 24610000 nrtn positive 
+4dd7 aa2fffff qisolate1 rega 
+4dd8 2020cdda branch check_l2cap_map_used ,true 
+4dd9 20204dde branch check_l2cap_map_used2 
+
+check_l2cap_map_used:
+4dda 18427e00 copy temp ,pdata 
+4ddb 203a4dde branch check_l2cap_map_used2 ,blank 
+4ddc f9202400 qset1 regb 
+4ddd 184085ff increase -1 ,temp 
+
+check_l2cap_map_used2:
+4dde 18e08e01 increase 1 ,queue 
+4ddf 20204dd5 branch check_l2cap_map_loop 
+
+l2cap_call_proc_sdp:
+4de0 20405274 call l2cap_malloc_is_fifo_empty 
+4de1 247a0000 nrtn blank 
+4de2 20404d8f call l2cap_check_map 
+4de3 247a0000 nrtn blank 
+4de4 204052c5 call l2cap_malloc_sdp_channel 
+4de5 20406e11 call sdp_process 
+4de6 20404dc3 call l2cap_reset_sdp_map 
+4de7 20204dec branch l2cap_call_proc_sdp_common 
+
+ml2cap_call_proc_sdp:
+4de8 20405274 call l2cap_malloc_is_fifo_empty 
+4de9 247a0000 nrtn blank 
+4dea 204052c5 call l2cap_malloc_sdp_channel 
+4deb 20406e11 call sdp_process 
+
+l2cap_call_proc_sdp_common:
+4dec 204052ce call l2cap_get_sdp_tx_buff 
+4ded 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+4dee 203a4dfb branch l2cap_call_proc_no_reply ,blank 
+4def e0a10000 istore 2 ,contw 
+4df0 68014248 fetch 2 ,mem_sdp_remote_cid 
+4df1 e0a10000 istore 2 ,contw 
+4df2 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_hid:
+4df3 20404d33 call hid_rx_process 
+4df4 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_rfcomm:
+4df5 47064021 bpatchx patch21_4 ,mem_patch21 
+4df6 70028400 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+4df7 20406a8a call rfcomm_rx_process 
+4df8 68008284 fetch 1 ,mem_rfcomm_malloc_fail_flag 
+4df9 c1008000 rtneq rfcomm_malloc_fail 
+4dfa 20204dfc branch l2cap_rx_reset_state 
+
+l2cap_call_proc_no_reply:
+4dfb 20405264 call l2cap_malloc_discard 
+
+l2cap_rx_reset_state:
+4dfc 58000000 setarg 0 
+4dfd 60010266 store 2 ,mem_l2cap_rx_pkt_length 
+4dfe 60010268 store 2 ,mem_l2cap_rx_cid 
+4dff 70026a01 jam l2cap_rx_done ,mem_l2cap_rx_done 
+4e00 20600000 rtn 
+
+l2cap_process_signal_pkt:
+4e01 4706c021 bpatchx patch21_5 ,mem_patch21 
+4e02 204052c3 call l2cap_get_signal_tx_payload 
+4e03 18002400 force 0 ,regb 
+4e04 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+4e05 1fe22600 copy pdata ,regc 
+4e06 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+4e07 98000c00 iforce contr 
+
+l2cap_process_signal_pkt_loop:
+4e08 20404e10 call l2cap_process_one_signal 
+4e09 1a627e00 deposit regc 
+4e0a 1a60a7fc increase -4 ,regc 
+4e0b 1fe0fffc increase -4 ,pdata 
+4e0c 243a4e08 nbranch l2cap_process_signal_pkt_loop ,blank 
+4e0d 1a427e00 copy regb ,pdata 
+4e0e 6001026f store 2 ,mem_l2cap_signal_tx_length 
+4e0f 20600000 rtn 
+
+l2cap_process_one_signal:
+4e10 47074021 bpatchx patch21_6 ,mem_patch21 
+4e11 e8c08000 ifetch 1 ,contr 
+4e12 c000ce49 beq signal_cmd_reject ,l2cap_proc_signal_cmd_reject 
+4e13 c0014e51 beq signal_connect_req ,l2cap_proc_signal_connect_req 
+4e14 c001ced5 beq signal_connect_rsp ,l2cap_proc_signal_connect_rsp 
+4e15 c0024f05 beq signal_config_req ,l2cap_proc_signal_config_req 
+4e16 c002cfa2 beq signal_config_rsp ,l2cap_proc_signal_config_rsp 
+4e17 c0034fcb beq signal_disconnect_req ,l2cap_proc_signal_disconnect_req 
+4e18 c003d01b beq signal_disconnect_rsp ,l2cap_proc_signal_disconnect_rsp 
+4e19 c0045050 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+4e1a c004d060 beq signal_echo_rsp ,l2cap_proc_signal_echo_rsp 
+4e1b c0054e1f beq signal_info_req ,l2cap_proc_signal_info_req 
+4e1c c005d061 beq signal_info_rsp ,l2cap_proc_signal_info_rsp 
+4e1d 20405062 call l2cap_reject_command 
+
+l2cap_process_one_signal_rtn:
+4e1e 20600000 rtn 
+
+l2cap_proc_signal_info_req:
+4e1f e8c08000 ifetch 1 ,contr 
+4e20 1fe20e00 copy pdata ,queue 
+4e21 e8c10000 ifetch 2 ,contr 
+4e22 1fe22200 copy pdata ,rega 
+4e23 1a627e00 copy regc ,pdata 
+4e24 9a262600 isub rega ,regc 
+4e25 5800000b setarg signal_info_rsp 
+4e26 e0a08000 istore 1 ,contw 
+4e27 18e27e00 copy queue ,pdata 
+4e28 e0a08000 istore 1 ,contw 
+4e29 e8c10000 ifetch 2 ,contr 
+
+l2cap_proc_signal_info_req_reply:
+4e2a c0014e2d beq l2cap_sig_ext_featrue ,l2cap_proc_signal_info_req_ext 
+4e2b c001ce33 beq l2cap_sig_fix_featrue ,l2cap_proc_signal_info_req_fix 
+4e2c 20600000 rtn 
+
+l2cap_proc_signal_info_req_ext:
+4e2d 58020008 setarg 0x020008 
+4e2e e0a30000 istore 6 ,contw 
+4e2f 58000280 setarg 0x0280 
+4e30 e0a20000 istore 4 ,contw 
+4e31 18007e0c force 12 ,pdata 
+4e32 20204e38 branch l2cap_proc_signal_info_req_common 
+
+l2cap_proc_signal_info_req_fix:
+4e33 5803000c setarg 0x3000c 
+4e34 e0a30000 istore 6 ,contw 
+4e35 58000006 setarg 0x0006 
+4e36 e0a40000 istore 8 ,contw 
+4e37 18007e10 force 16 ,pdata 
+
+l2cap_proc_signal_info_req_common:
+4e38 9a40a400 iadd regb ,regb 
+4e39 20204e1e branch l2cap_process_one_signal_rtn 
+
+ml2cap_proc_signal_info_req:
+4e3a e8c08000 ifetch 1 ,contr 
+4e3b 1fe20e00 copy pdata ,queue 
+4e3c e8c10000 ifetch 2 ,contr 
+4e3d 1fe22200 copy pdata ,rega 
+4e3e e8c10000 ifetch 2 ,contr 
+4e3f 60010aa2 store 2 ,mem_temp 
+4e40 1a627e00 copy regc ,pdata 
+4e41 9a262600 isub rega ,regc 
+4e42 204052c3 call l2cap_get_signal_tx_payload 
+4e43 5800000b setarg signal_info_rsp 
+4e44 e0a08000 istore 1 ,contw 
+4e45 18e27e00 copy queue ,pdata 
+4e46 e0a08000 istore 1 ,contw 
+4e47 68010aa2 fetch 2 ,mem_temp 
+4e48 20204e2a branch l2cap_proc_signal_info_req_reply 
+
+l2cap_proc_signal_cmd_reject:
+4e49 e8c08000 ifetch 1 ,contr 
+4e4a 1fe20e00 copy pdata ,queue 
+4e4b e8c10000 ifetch 2 ,contr 
+4e4c 1fe22200 copy pdata ,rega 
+4e4d 98c08c00 iadd contr ,contr 
+4e4e 1a627e00 copy regc ,pdata 
+4e4f 9a262600 isub rega ,regc 
+
+l2cap_proc_signal_cmd_reject_rtn:
+4e50 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_req:
+4e51 20407ea8 call save_cont_pointers 
+4e52 20407ead call load_cont_pointers 
+4e53 d9000000 arg 0 ,debug 
+4e54 e8c08000 ifetch 1 ,contr 
+4e55 1fe20e00 copy pdata ,queue 
+4e56 e8c10000 ifetch 2 ,contr 
+4e57 1fe22200 copy pdata ,rega 
+4e58 e8c10000 ifetch 2 ,contr 
+4e59 1fe20400 copy pdata ,temp 
+4e5a e8c10000 ifetch 2 ,contr 
+4e5b 1fe21600 copy pdata ,timeup 
+4e5c 4707c021 bpatchx patch21_7 ,mem_patch21 
+4e5d 18427e00 copy temp ,pdata 
+4e5e c000ce64 beq psm_sdp ,l2cap_proc_signal_connect_req_sdp 
+4e5f c001ce86 beq psm_rfcomm ,l2cap_proc_signal_connect_req_rfcomm 
+4e60 c008ce92 beq psm_hid_control ,l2cap_proc_signal_connect_req_hid_ctrl 
+4e61 c009ce9d beq psm_hid_interrupt ,l2cap_proc_signal_connect_req_hid_int 
+4e62 20405062 call l2cap_reject_command 
+4e63 20204ed4 branch l2cap_proc_signal_connect_req_rtn 
+
+l2cap_proc_signal_connect_req_sdp:
+4e64 20407ea8 call save_cont_pointers 
+4e65 d8400050 arg l2cap_sdp_channel ,temp 
+4e66 68014248 fetch 2 ,mem_sdp_remote_cid 
+4e67 243a4ece nbranch already_connected ,blank 
+4e68 19627e00 copy timeup ,pdata 
+4e69 60014248 store 2 ,mem_sdp_remote_cid 
+4e6a 1c427e00 copy clkn_bt ,pdata 
+4e6b 600202d5 store 4 ,mem_l2cap_sdpres_delay_time 
+4e6c 20404e6e call store_l2cap_req_param 
+4e6d 20204ea9 branch send_connection_pending 
+
+store_l2cap_req_param:
+4e6e 600902d3 storet 2 ,mem_psm 
+4e6f 19627e00 deposit timeup 
+4e70 600102c9 store 2 ,mem_scid 
+4e71 1a227e00 deposit rega 
+4e72 600102cb store 2 ,mem_cmd_length 
+4e73 1a427e00 deposit regb 
+4e74 600102cd store 2 ,mem_tt2 
+4e75 1a627e00 deposit regc 
+4e76 600102cf store 2 ,mem_tt3 
+4e77 18e27e00 deposit queue 
+4e78 600102d1 store 2 ,mem_id 
+4e79 20600000 rtn 
+
+restore_l2cap_req_param:
+4e7a 680902d3 fetcht 2 ,mem_psm 
+4e7b 680102c9 fetch 2 ,mem_scid 
+4e7c 1fe21600 copy pdata ,timeup 
+4e7d 680102cb fetch 2 ,mem_cmd_length 
+4e7e 1fe22200 copy pdata ,rega 
+4e7f 680102cd fetch 2 ,mem_tt2 
+4e80 1fe22400 copy pdata ,regb 
+4e81 680102cf fetch 2 ,mem_tt3 
+4e82 1fe22600 copy pdata ,regc 
+4e83 680102d1 fetch 2 ,mem_id 
+4e84 1fe20e00 copy pdata ,queue 
+4e85 20600000 rtn 
+
+l2cap_proc_signal_connect_req_rfcomm:
+4e86 20407ea8 call save_cont_pointers 
+4e87 58000051 setarg l2cap_rfcomm_channel 
+4e88 d8400051 arg l2cap_rfcomm_channel ,temp 
+4e89 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+4e8a 243a4ece nbranch already_connected ,blank 
+4e8b 19627e00 copy timeup ,pdata 
+4e8c 6001424a store 2 ,mem_rfcomm_remote_cid 
+4e8d 6800c251 fetch 1 ,mem_rfcomm_state 
+4e8e 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4e8f 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4e90 6000c251 store 1 ,mem_rfcomm_state 
+4e91 20204eb1 branch send_connection_res 
+
+l2cap_proc_signal_connect_req_hid_ctrl:
+4e92 20407ea8 call save_cont_pointers 
+4e93 d8400052 arg l2cap_hid_control_channel ,temp 
+4e94 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4e95 243a4ece nbranch already_connected ,blank 
+4e96 19627e00 copy timeup ,pdata 
+4e97 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+4e98 6800c252 fetch 1 ,mem_hid_control_state 
+4e99 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4e9a 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4e9b 6000c252 store 1 ,mem_hid_control_state 
+4e9c 20204eb1 branch send_connection_res 
+
+l2cap_proc_signal_connect_req_hid_int:
+4e9d 20407ea8 call save_cont_pointers 
+4e9e 1b427e00 deposit clke 
+4e9f d8400053 arg l2cap_hid_interrupt_channel ,temp 
+4ea0 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4ea1 243a4ece nbranch already_connected ,blank 
+4ea2 19627e00 copy timeup ,pdata 
+4ea3 6001424e store 2 ,mem_hid_int_remote_cid 
+4ea4 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4ea5 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4ea6 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4ea7 6000c253 store 1 ,mem_hid_interrupt_state 
+4ea8 20204eb1 branch send_connection_res 
+
+send_connection_pending:
+4ea9 58000001 setarg l2cap_connect_pending 
+4eaa 6001027d store 2 ,meml2cap_t1 
+4eab 70436450 jam l2cap_sdp_channel ,mem_l2cap_pending_item 
+4eac 20204eb3 branch send_connection_res0 
+
+send_connection_sdp_res:
+4ead 6800c250 fetch 1 ,mem_sdp_state 
+4eae 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+4eaf 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4eb0 6000c250 store 1 ,mem_sdp_state 
+
+send_connection_res:
+4eb1 58000000 setarg l2cap_connect_successful 
+4eb2 6001027d store 2 ,meml2cap_t1 
+
+send_connection_res0:
+4eb3 47084022 bpatchx patch22_0 ,mem_patch22 
+4eb4 20407ead call load_cont_pointers 
+4eb5 58000003 setarg signal_connect_rsp 
+4eb6 e0a08000 istore 1 ,contw 
+4eb7 18e27e00 copy queue ,pdata 
+4eb8 e0a08000 istore 1 ,contw 
+4eb9 58000008 setarg 0x0008 
+4eba e0a10000 istore 2 ,contw 
+4ebb 18427e00 copy temp ,pdata 
+4ebc e0a10000 istore 2 ,contw 
+4ebd 19627e00 copy timeup ,pdata 
+4ebe e0a10000 istore 2 ,contw 
+4ebf 6801027d fetch 2 ,meml2cap_t1 
+4ec0 c000cec9 beq l2cap_connect_pending ,connect_pending 
+4ec1 290c0000 isolate0 0 ,debug 
+4ec2 2020cec4 branch connect_suc ,true 
+4ec3 58000004 setarg l2cap_connect_refused_no_resources 
+
+connect_suc:
+4ec4 e0a10000 istore 2 ,contw 
+4ec5 18007e00 force 0x0000 ,pdata 
+4ec6 e0a10000 istore 2 ,contw 
+4ec7 5800000c setarg 12 
+4ec8 20204ed0 branch connect_req_update_byte_counts 
+
+connect_pending:
+4ec9 e0a10000 istore 2 ,contw 
+4eca 18007e02 force 0x0002 ,pdata 
+4ecb e0a10000 istore 2 ,contw 
+4ecc 5800000c setarg 12 
+4ecd 20204ed0 branch connect_req_update_byte_counts 
+
+already_connected:
+4ece 79201000 set1 0 ,debug 
+4ecf 20204eb1 branch send_connection_res 
+
+connect_req_update_byte_counts:
+4ed0 9a40a400 iadd regb ,regb 
+4ed1 1a627e00 copy regc ,pdata 
+4ed2 9a262600 isub rega ,regc 
+4ed3 20204ed4 branch l2cap_proc_signal_connect_req_rtn 
+
+l2cap_proc_signal_connect_req_rtn:
+4ed4 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_rsp:
+4ed5 e8c08000 ifetch 1 ,contr 
+4ed6 1fe20e00 copy pdata ,queue 
+4ed7 e8c10000 ifetch 2 ,contr 
+4ed8 1fe22200 copy pdata ,rega 
+4ed9 1a627e00 copy regc ,pdata 
+4eda 9a262600 isub rega ,regc 
+4edb e8c10000 ifetch 2 ,contr 
+4edc 1fe21600 copy pdata ,timeup 
+4edd e8c10000 ifetch 2 ,contr 
+4ede 1fe20400 copy pdata ,temp 
+4edf 4708c022 bpatchx patch22_1 ,mem_patch22 
+4ee0 58000050 setarg l2cap_sdp_channel 
+4ee1 98467c00 isub temp ,null 
+4ee2 2022ceed branch l2cap_proc_signal_connect_rsp_sdp ,zero 
+4ee3 58000051 setarg l2cap_rfcomm_channel 
+4ee4 98467c00 isub temp ,null 
+4ee5 2022cef3 branch l2cap_proc_signal_connect_rsp_rfcomm ,zero 
+4ee6 58000052 setarg l2cap_hid_control_channel 
+4ee7 98467c00 isub temp ,null 
+4ee8 2022ceff branch l2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+4ee9 58000053 setarg l2cap_hid_interrupt_channel 
+4eea 98467c00 isub temp ,null 
+4eeb 2022cef9 branch l2cap_proc_signal_connect_rsp_hid_int ,zero 
+4eec 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_sdp:
+4eed 19627e00 copy timeup ,pdata 
+4eee 60014248 store 2 ,mem_sdp_remote_cid 
+4eef 6800c250 fetch 1 ,mem_sdp_state 
+4ef0 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4ef1 6000c250 store 1 ,mem_sdp_state 
+4ef2 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_connect_rsp_rfcomm:
+4ef3 19627e00 copy timeup ,pdata 
+4ef4 6001424a store 2 ,mem_rfcomm_remote_cid 
+4ef5 6800c251 fetch 1 ,mem_rfcomm_state 
+4ef6 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4ef7 6000c251 store 1 ,mem_rfcomm_state 
+4ef8 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_hid_int:
+4ef9 19627e00 copy timeup ,pdata 
+4efa 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+4efb 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4efc 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4efd 6000c253 store 1 ,mem_hid_interrupt_state 
+4efe 20600000 rtn 
+
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+4eff 19627e00 copy timeup ,pdata 
+4f00 6001424e store 2 ,mem_hid_int_remote_cid 
+4f01 6800c252 fetch 1 ,mem_hid_control_state 
+4f02 79207e01 set1 l2cap_channel_state_conn_res ,pdata 
+4f03 6000c252 store 1 ,mem_hid_control_state 
+4f04 20600000 rtn 
+
+l2cap_proc_signal_config_req:
+4f05 e8c08000 ifetch 1 ,contr 
+4f06 1fe20e00 copy pdata ,queue 
+4f07 e8c10000 ifetch 2 ,contr 
+4f08 1fe22200 copy pdata ,rega 
+4f09 1a627e00 copy regc ,pdata 
+4f0a 9a262600 isub rega ,regc 
+4f0b e8c10000 ifetch 2 ,contr 
+4f0c 1fe20400 copy pdata ,temp 
+4f0d 18422200 copy temp ,rega 
+4f0e 47094022 bpatchx patch22_2 ,mem_patch22 
+4f0f 58000050 setarg l2cap_sdp_channel 
+4f10 98467c00 isub temp ,null 
+4f11 2022cf1c branch l2cap_proc_signal_config_req_sdp ,zero 
+4f12 58000051 setarg l2cap_rfcomm_channel 
+4f13 98467c00 isub temp ,null 
+4f14 2022cf3a branch l2cap_proc_signal_config_req_rfcomm ,zero 
+4f15 58000052 setarg l2cap_hid_control_channel 
+4f16 98467c00 isub temp ,null 
+4f17 2022cf26 branch l2cap_proc_signal_config_req_hid_ctrl ,zero 
+4f18 58000053 setarg l2cap_hid_interrupt_channel 
+4f19 98467c00 isub temp ,null 
+4f1a 2022cf30 branch l2cap_proc_signal_config_req_hid_int ,zero 
+4f1b 20205062 branch l2cap_reject_command 
+
+l2cap_proc_signal_config_req_sdp:
+4f1c 18a21600 copy contw ,timeup 
+4f1d 6800c250 fetch 1 ,mem_sdp_state 
+4f1e 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f1f 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f20 6000c250 store 1 ,mem_sdp_state 
+4f21 19620a00 copy timeup ,contw 
+4f22 d9600050 arg l2cap_sdp_channel ,timeup 
+4f23 68014248 fetch 2 ,mem_sdp_remote_cid 
+4f24 1fe20400 copy pdata ,temp 
+4f25 20204f43 branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_hid_ctrl:
+4f26 18a21600 copy contw ,timeup 
+4f27 6800c252 fetch 1 ,mem_hid_control_state 
+4f28 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f29 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f2a 6000c252 store 1 ,mem_hid_control_state 
+4f2b 19620a00 copy timeup ,contw 
+4f2c d9600052 arg l2cap_hid_control_channel ,timeup 
+4f2d 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4f2e 1fe20400 copy pdata ,temp 
+4f2f 20204f43 branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_hid_int:
+4f30 18a21600 copy contw ,timeup 
+4f31 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4f32 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f33 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f34 6000c253 store 1 ,mem_hid_interrupt_state 
+4f35 19620a00 copy timeup ,contw 
+4f36 d9600053 arg l2cap_hid_interrupt_channel ,timeup 
+4f37 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4f38 1fe20400 copy pdata ,temp 
+4f39 20204f43 branch l2cap_send_config_rsp 
+
+l2cap_proc_signal_config_req_rfcomm:
+4f3a 18a21600 copy contw ,timeup 
+4f3b 6800c251 fetch 1 ,mem_rfcomm_state 
+4f3c 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+4f3d 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+4f3e 6000c251 store 1 ,mem_rfcomm_state 
+4f3f 19620a00 copy timeup ,contw 
+4f40 d9600051 arg l2cap_rfcomm_channel ,timeup 
+4f41 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+4f42 1fe20400 copy pdata ,temp 
+
+l2cap_send_config_rsp:
+4f43 4709c022 bpatchx patch22_3 ,mem_patch22 
+4f44 58000005 setarg signal_config_rsp 
+4f45 e0a08000 istore 1 ,contw 
+4f46 18e27e00 copy queue ,pdata 
+4f47 e0a08000 istore 1 ,contw 
+4f48 58000006 setarg 0x0006 
+4f49 e0a10000 istore 2 ,contw 
+4f4a 18427e00 copy temp ,pdata 
+4f4b e0a10000 istore 2 ,contw 
+4f4c 18007e00 force 0x00 ,pdata 
+4f4d e0a10000 istore 2 ,contw 
+4f4e 18007e00 force l2cap_config_success ,pdata 
+4f4f e0a10000 istore 2 ,contw 
+4f50 18007e0a force 10 ,pdata 
+4f51 9a40a400 iadd regb ,regb 
+4f52 60090282 storet 2 ,mem_config_req_dest_cid 
+4f53 18e27e00 copy queue ,pdata 
+4f54 60008281 store 1 ,mem_config_identifier 
+4f55 18007e50 force l2cap_sdp_channel ,pdata 
+4f56 a961fe00 icompare 0xff ,timeup 
+4f57 2020cf59 branch l2cap_send_config_rsp_is_sdp ,true 
+4f58 1fe0fe01 increase 1 ,pdata 
+
+l2cap_send_config_rsp_is_sdp:
+4f59 20600000 rtn 
+
+l2cap_check_channel_state:
+4f5a 78547c00 disable user 
+4f5b c3810000 rtnbit1 l2cap_channel_state_snd_cfg_req ,pdata 
+4f5c c4000000 rtnbit0 l2cap_channel_state_conn_req ,pdata 
+4f5d c4008000 rtnbit0 l2cap_channel_state_conn_res ,pdata 
+4f5e 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+4f5f 18c20a00 copy contr ,contw 
+4f60 18a08bff increase -1 ,contw 
+4f61 e0a08000 istore 1 ,contw 
+4f62 78347c00 enable user 
+4f63 20600000 rtn 
+
+l2cap_send_config_req:
+
+l2cap_send_config_req_sdp:
+4f64 6800c250 fetch 1 ,mem_sdp_state 
+4f65 20404f5a call l2cap_check_channel_state 
+4f66 24344f6b nbranch l2cap_send_config_req_rfcomm ,user 
+4f67 70028050 jam l2cap_sdp_channel ,mem_send_config_req 
+4f68 68014248 fetch 2 ,mem_sdp_remote_cid 
+4f69 60010282 store 2 ,mem_config_req_dest_cid 
+4f6a 20204f7f branch l2cap_generate_config_req 
+
+l2cap_send_config_req_rfcomm:
+4f6b 6800c251 fetch 1 ,mem_rfcomm_state 
+4f6c 20404f5a call l2cap_check_channel_state 
+4f6d 24344f72 nbranch l2cap_send_config_req_hid_ctrl ,user 
+4f6e 70028051 jam l2cap_rfcomm_channel ,mem_send_config_req 
+4f6f 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+4f70 60010282 store 2 ,mem_config_req_dest_cid 
+4f71 20204f7f branch l2cap_generate_config_req 
+
+l2cap_send_config_req_hid_ctrl:
+4f72 6800c252 fetch 1 ,mem_hid_control_state 
+4f73 20404f5a call l2cap_check_channel_state 
+4f74 24344f79 nbranch l2cap_send_config_req_hid_int ,user 
+4f75 70028052 jam l2cap_hid_control_channel ,mem_send_config_req 
+4f76 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4f77 60010282 store 2 ,mem_config_req_dest_cid 
+4f78 20204f7f branch l2cap_generate_config_req 
+
+l2cap_send_config_req_hid_int:
+4f79 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4f7a 20404f5a call l2cap_check_channel_state 
+4f7b 24740000 nrtn user 
+4f7c 70028053 jam l2cap_hid_interrupt_channel ,mem_send_config_req 
+4f7d 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4f7e 60010282 store 2 ,mem_config_req_dest_cid 
+
+l2cap_generate_config_req:
+4f7f 470a4022 bpatchx patch22_4 ,mem_patch22 
+4f80 2040523a call l2cap_get_req_id 
+4f81 204052b8 call l2cap_malloc_signal_channel 
+4f82 18002400 force 0 ,regb 
+4f83 204052c3 call l2cap_get_signal_tx_payload 
+4f84 18007e04 force signal_config_req ,pdata 
+4f85 e0a08000 istore 1 ,contw 
+4f86 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+4f87 e0a08000 istore 1 ,contw 
+4f88 58000008 setarg 0x0008 
+4f89 e0a10000 istore 2 ,contw 
+4f8a 68010282 fetch 2 ,mem_config_req_dest_cid 
+4f8b e0a10000 istore 2 ,contw 
+4f8c 58000000 setarg 0x0000 
+4f8d e0a10000 istore 2 ,contw 
+4f8e 18007e01 force 1 ,pdata 
+4f8f e0a08000 istore 1 ,contw 
+4f90 18007e02 force 2 ,pdata 
+4f91 e0a08000 istore 1 ,contw 
+4f92 68008280 fetch 1 ,mem_send_config_req 
+4f93 c028cf97 beq l2cap_rfcomm_channel ,l2cap_generate_config_req_rfcomm 
+4f94 58000030 setarg l2cap_config_mtu_sdp 
+4f95 e0a10000 istore 2 ,contw 
+4f96 20204f99 branch l2cap_generate_config_req_done 
+
+l2cap_generate_config_req_rfcomm:
+4f97 580003e3 setarg l2cap_config_mtu_rfcomm 
+4f98 e0a10000 istore 2 ,contw 
+
+l2cap_generate_config_req_done:
+4f99 d840000c arg 0x0c ,temp 
+4f9a 6009026f storet 2 ,mem_l2cap_signal_tx_length 
+4f9b 204052c1 call l2cap_get_signal_tx_buff 
+4f9c 6801026f fetch 2 ,mem_l2cap_signal_tx_length 
+4f9d e0a10000 istore 2 ,contw 
+4f9e 18007e01 force l2cap_signal_channel ,pdata 
+4f9f e0a10000 istore 2 ,contw 
+4fa0 70028000 jam 0 ,mem_send_config_req 
+
+l2cap_proc_signal_config_req_rtn:
+4fa1 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp:
+4fa2 18c08c01 increase 1 ,contr 
+4fa3 e8c10000 ifetch 2 ,contr 
+4fa4 1fe22200 copy pdata ,rega 
+4fa5 1a627e00 copy regc ,pdata 
+4fa6 9a262600 isub rega ,regc 
+4fa7 e8c10000 ifetch 2 ,contr 
+4fa8 1fe22200 copy pdata ,rega 
+4fa9 470ac022 bpatchx patch22_5 ,mem_patch22 
+4faa 58000050 setarg l2cap_sdp_channel 
+4fab 9a267c00 isub rega ,null 
+4fac 2022cfba branch l2cap_proc_signal_config_rsp_sdp ,zero 
+4fad 58000051 setarg l2cap_rfcomm_channel 
+4fae 9a267c00 isub rega ,null 
+4faf 2022cfbe branch l2cap_proc_signal_config_rsp_rfcomm ,zero 
+4fb0 58000052 setarg l2cap_hid_control_channel 
+4fb1 9a267c00 isub rega ,null 
+4fb2 2022cfc2 branch l2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+4fb3 58000053 setarg l2cap_hid_interrupt_channel 
+4fb4 9a267c00 isub rega ,null 
+4fb5 2022cfc6 branch l2cap_proc_signal_config_rsp_hid_int ,zero 
+4fb6 18c08c02 increase 2 ,contr 
+4fb7 e8c10000 ifetch 2 ,contr 
+4fb8 98007c00 iforce null 
+4fb9 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_sdp:
+4fba 6800c250 fetch 1 ,mem_sdp_state 
+4fbb 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fbc 6000c250 store 1 ,mem_sdp_state 
+4fbd 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_rfcomm:
+4fbe 6800c251 fetch 1 ,mem_rfcomm_state 
+4fbf 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fc0 6000c251 store 1 ,mem_rfcomm_state 
+4fc1 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_hid_ctrl:
+4fc2 6800c252 fetch 1 ,mem_hid_control_state 
+4fc3 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fc4 6000c252 store 1 ,mem_hid_control_state 
+4fc5 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_config_rsp_hid_int:
+4fc6 6800c253 fetch 1 ,mem_hid_interrupt_state 
+4fc7 79207e05 set1 l2cap_channel_state_rcv_cfg_res ,pdata 
+4fc8 6000c253 store 1 ,mem_hid_interrupt_state 
+4fc9 700a9906 jam bt_evt_hid_connected ,mem_fifo_temp 
+4fca 20207d86 branch ui_ipc_send_event 
+
+l2cap_proc_signal_disconnect_req:
+4fcb e8c08000 ifetch 1 ,contr 
+4fcc 1fe20e00 copy pdata ,queue 
+4fcd e8c10000 ifetch 2 ,contr 
+4fce 1fe22200 copy pdata ,rega 
+4fcf 1a627e00 copy regc ,pdata 
+4fd0 9a262600 isub rega ,regc 
+4fd1 e8c10000 ifetch 2 ,contr 
+4fd2 1fe22200 copy pdata ,rega 
+4fd3 e8c10000 ifetch 2 ,contr 
+4fd4 1fe21600 copy pdata ,timeup 
+4fd5 1a220400 copy rega ,temp 
+4fd6 20407ea8 call save_cont_pointers 
+4fd7 470b4022 bpatchx patch22_6 ,mem_patch22 
+4fd8 58000050 setarg l2cap_sdp_channel 
+4fd9 98467c00 isub temp ,null 
+4fda 2022cff2 branch l2cap_proc_signal_disconnect_req_sdp ,zero 
+4fdb 58000051 setarg l2cap_rfcomm_channel 
+4fdc 98467c00 isub temp ,null 
+4fdd 2022d002 branch l2cap_proc_signal_disconnect_req_rfcomm ,zero 
+4fde 58000052 setarg l2cap_hid_control_channel 
+4fdf 98467c00 isub temp ,null 
+4fe0 2022cfe6 branch l2cap_proc_signal_disconnect_req_hid_ctrl ,zero 
+4fe1 58000053 setarg l2cap_hid_interrupt_channel 
+4fe2 98467c00 isub temp ,null 
+4fe3 2022cfec branch l2cap_proc_signal_disconnect_req_hid_int ,zero 
+4fe4 20405062 call l2cap_reject_command 
+4fe5 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+4fe6 19620400 copy timeup ,temp 
+4fe7 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4fe8 98467c00 isub temp ,null 
+4fe9 2022cff8 branch l2cap_disconnect_hid_control_now ,zero 
+4fea 20405062 call l2cap_reject_command 
+4feb 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_hid_int:
+4fec 19620400 copy timeup ,temp 
+4fed 6801424e fetch 2 ,mem_hid_int_remote_cid 
+4fee 98467c00 isub temp ,null 
+4fef 2022cffa branch l2cap_disconnect_hid_interrupt_now ,zero 
+4ff0 20405062 call l2cap_reject_command 
+4ff1 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_proc_signal_disconnect_req_sdp:
+4ff2 19620400 copy timeup ,temp 
+4ff3 68014248 fetch 2 ,mem_sdp_remote_cid 
+4ff4 98467c00 isub temp ,null 
+4ff5 2022cffe branch l2cap_disconnect_sdp_now ,zero 
+4ff6 20405062 call l2cap_reject_command 
+4ff7 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_disconnect_hid_control_now:
+4ff8 20405079 call l2cap_reset_hid_ctrl_state 
+4ff9 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_disconnect_hid_interrupt_now:
+4ffa 2040507f call l2cap_reset_hid_int_state 
+4ffb 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+4ffc 203a500a branch l2cap_send_disconnect_rsp_pkt ,blank 
+4ffd 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_disconnect_sdp_now:
+4ffe 20405074 call l2cap_reset_sdp_channel_state 
+4fff 68008288 fetch 1 ,mem_upper_sm_ss 
+5000 243a500a nbranch l2cap_send_disconnect_rsp_pkt ,blank 
+5001 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_proc_signal_disconnect_req_rfcomm:
+5002 19620400 copy timeup ,temp 
+5003 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+5004 98467c00 isub temp ,null 
+5005 2022d008 branch l2cap_disconnect_rfcomm_now ,zero 
+5006 20405062 call l2cap_reject_command 
+5007 20205017 branch l2cap_proc_signal_disconnect_req_err_rtn 
+
+l2cap_disconnect_rfcomm_now:
+5008 2040506f call l2cap_reset_rfcomm_channel_state 
+5009 2020500a branch l2cap_send_disconnect_rsp_pkt 
+
+l2cap_send_disconnect_rsp_pkt:
+500a 20407ead call load_cont_pointers 
+500b 58000007 setarg signal_disconnect_rsp 
+500c e0a08000 istore 1 ,contw 
+500d 18e27e00 copy queue ,pdata 
+500e e0a08000 istore 1 ,contw 
+500f 58000004 setarg 0x0004 
+5010 e0a10000 istore 2 ,contw 
+5011 1a227e00 copy rega ,pdata 
+5012 e0a10000 istore 2 ,contw 
+5013 19627e00 copy timeup ,pdata 
+5014 e0a10000 istore 2 ,contw 
+5015 18007e08 force 8 ,pdata 
+5016 20205019 branch l2cap_proc_signal_disconnect_req_rtn 
+
+l2cap_proc_signal_disconnect_req_err_rtn:
+5017 20407ead call load_cont_pointers 
+5018 20205019 branch l2cap_proc_signal_disconnect_req_rtn 
+
+l2cap_proc_signal_disconnect_req_rtn:
+5019 9a40a400 iadd regb ,regb 
+501a 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_disconnect_rsp:
+501b e8c08000 ifetch 1 ,contr 
+501c 1fe20e00 copy pdata ,queue 
+501d e8c10000 ifetch 2 ,contr 
+501e 1fe22200 copy pdata ,rega 
+501f 1a627e00 copy regc ,pdata 
+5020 9a262600 isub rega ,regc 
+5021 e8c10000 ifetch 2 ,contr 
+5022 1fe21600 copy pdata ,timeup 
+5023 e8c10000 ifetch 2 ,contr 
+5024 1fe20400 copy pdata ,temp 
+5025 20407ea8 call save_cont_pointers 
+5026 470bc022 bpatchx patch22_7 ,mem_patch22 
+5027 58000050 setarg l2cap_sdp_channel 
+5028 98467c00 isub temp ,null 
+5029 2022d035 branch l2cap_proc_signal_disconnect_rsp_sdp ,zero 
+502a 58000051 setarg l2cap_rfcomm_channel 
+502b 98467c00 isub temp ,null 
+502c 2022d03b branch l2cap_proc_signal_disconnect_rsp_rfcomm ,zero 
+502d 58000052 setarg l2cap_hid_control_channel 
+502e 98467c00 isub temp ,null 
+502f 2022d041 branch l2cap_proc_signal_disconnect_rsp_hid_ctrl ,zero 
+5030 58000053 setarg l2cap_hid_interrupt_channel 
+5031 98467c00 isub temp ,null 
+5032 2022d047 branch l2cap_proc_signal_disconnect_rsp_hid_int ,zero 
+5033 20405062 call l2cap_reject_command 
+5034 2020504f branch l2cap_proc_signal_disconnect_rsp_err_rtn 
+
+l2cap_proc_signal_disconnect_rsp_sdp:
+5035 18422200 copy temp ,rega 
+5036 19620400 copy timeup ,temp 
+5037 68014248 fetch 2 ,mem_sdp_remote_cid 
+5038 98467c00 isub temp ,null 
+5039 2042d074 call l2cap_reset_sdp_channel_state ,zero 
+503a 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+503b 18422200 copy temp ,rega 
+503c 19620400 copy timeup ,temp 
+503d 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+503e 98467c00 isub temp ,null 
+503f 2042d06f call l2cap_reset_rfcomm_channel_state ,zero 
+5040 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+5041 18422200 copy temp ,rega 
+5042 19620400 copy timeup ,temp 
+5043 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+5044 98467c00 isub temp ,null 
+5045 2042d079 call l2cap_reset_hid_ctrl_state ,zero 
+5046 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_hid_int:
+5047 18422200 copy temp ,rega 
+5048 19620400 copy timeup ,temp 
+5049 6801424e fetch 2 ,mem_hid_int_remote_cid 
+504a 98467c00 isub temp ,null 
+504b 2042d07f call l2cap_reset_hid_int_state ,zero 
+504c 2020504d branch l2cap_proc_signal_disconnect_rsp_rtn 
+
+l2cap_proc_signal_disconnect_rsp_rtn:
+504d 20407ead call load_cont_pointers 
+504e 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+504f 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_echo_req:
+5050 e8c08000 ifetch 1 ,contr 
+5051 1fe20e00 copy pdata ,queue 
+5052 e8c10000 ifetch 2 ,contr 
+5053 1fe22200 copy pdata ,rega 
+5054 98c08c00 iadd contr ,contr 
+5055 58000009 setarg 9 
+5056 e0a08000 istore 1 ,contw 
+5057 18e27e00 copy queue ,pdata 
+5058 e0a08000 istore 1 ,contw 
+5059 18007e00 force 0x0000 ,pdata 
+505a e0a10000 istore 2 ,contw 
+505b 18007e04 force 4 ,pdata 
+505c 9a40a400 iadd regb ,regb 
+505d 1a627e00 copy regc ,pdata 
+505e 9a262600 isub rega ,regc 
+505f 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_echo_rsp:
+5060 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_proc_signal_info_rsp:
+5061 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_reject_command:
+5062 18002400 force 0 ,regb 
+5063 204052c3 call l2cap_get_signal_tx_payload 
+5064 58000001 setarg signal_cmd_reject 
+5065 e0a08000 istore 1 ,contw 
+5066 18e27e00 copy queue ,pdata 
+5067 e0a08000 istore 1 ,contw 
+5068 58000002 setarg 2 
+5069 e0a10000 istore 2 ,contw 
+506a 58000000 setarg cmd_not_understood 
+506b e0a10000 istore 2 ,contw 
+506c 1a40a406 increase 6 ,regb 
+506d da600004 arg 4 ,regc 
+506e 20204e1e branch l2cap_process_one_signal_rtn 
+
+l2cap_reset_rfcomm_channel_state:
+506f 58000000 setarg 0 
+5070 6001027b store 2 ,mem_rfcomm_tx_pkt_length 
+5071 6001424a store 2 ,mem_rfcomm_remote_cid 
+5072 70425100 jam 0 ,mem_rfcomm_state 
+5073 20600000 rtn 
+
+l2cap_reset_sdp_channel_state:
+5074 58000000 setarg 0 
+5075 60010275 store 2 ,mem_sdp_tx_pkt_length 
+5076 60014248 store 2 ,mem_sdp_remote_cid 
+5077 70425000 jam 0 ,mem_sdp_state 
+5078 20600000 rtn 
+
+l2cap_reset_hid_ctrl_state:
+5079 58000000 setarg 0 
+507a 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+507b 70425200 jam 0 ,mem_hid_control_state 
+507c 6800c253 fetch 1 ,mem_hid_interrupt_state 
+507d c0005085 beq 0 ,l2cap_reset_hid_disconnected 
+507e 20600000 rtn 
+
+l2cap_reset_hid_int_state:
+507f 58000000 setarg 0 
+5080 6001424e store 2 ,mem_hid_int_remote_cid 
+5081 70425300 jam 0 ,mem_hid_interrupt_state 
+5082 6800c252 fetch 1 ,mem_hid_control_state 
+5083 c0005085 beq 0 ,l2cap_reset_hid_disconnected 
+5084 20600000 rtn 
+
+l2cap_reset_hid_disconnected:
+5085 700a9907 jam bt_evt_hid_disconnected ,mem_fifo_temp 
+5086 20207d86 branch ui_ipc_send_event 
+
+l2cap_disconnect_interrupt_req:
+5087 6800827f fetch 1 ,mem_control_tasks 
+5088 793ffe00 set0 l2cap_disconnect_interrupt ,pdata 
+5089 6000827f store 1 ,mem_control_tasks 
+508a 6801424e fetch 2 ,mem_hid_int_remote_cid 
+508b 207a0000 rtn blank 
+508c 204052b8 call l2cap_malloc_signal_channel 
+508d 6801424e fetch 2 ,mem_hid_int_remote_cid 
+508e 1fe22200 copy pdata ,rega 
+508f 18002453 force l2cap_hid_interrupt_channel ,regb 
+5090 2020509a branch l2cap_generate_disconnect_req 
+
+l2cap_disconnect_control_req:
+5091 6800827f fetch 1 ,mem_control_tasks 
+5092 793ffe07 set0 l2cap_disconnect_control ,pdata 
+5093 6000827f store 1 ,mem_control_tasks 
+5094 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+5095 207a0000 rtn blank 
+5096 204052b8 call l2cap_malloc_signal_channel 
+5097 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+5098 1fe22200 copy pdata ,rega 
+5099 18002452 force l2cap_hid_control_channel ,regb 
+
+l2cap_generate_disconnect_req:
+509a 2040523a call l2cap_get_req_id 
+509b 204052c3 call l2cap_get_signal_tx_payload 
+509c 18007e06 force signal_disconnect_req ,pdata 
+509d e0a08000 istore 1 ,contw 
+509e 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+509f e0a08000 istore 1 ,contw 
+50a0 58000004 setarg 0x0004 
+50a1 e0a10000 istore 2 ,contw 
+50a2 1a227e00 copy rega ,pdata 
+50a3 e0a10000 istore 2 ,contw 
+50a4 1a427e00 copy regb ,pdata 
+50a5 e0a10000 istore 2 ,contw 
+50a6 18000408 force 0x08 ,temp 
+50a7 202050de branch ml2cap_send_signal 
+
+ml2cap_send_signal_connect_req:
+50a8 470c4023 bpatchx patch23_0 ,mem_patch23 
+50a9 2040523a call l2cap_get_req_id 
+50aa 204052c3 call l2cap_get_signal_tx_payload 
+50ab 58000002 setarg signal_connect_req 
+50ac e0a08000 istore 1 ,contw 
+50ad 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+50ae e0a08000 istore 1 ,contw 
+50af 58000004 setarg 0x0004 
+50b0 e0a10000 istore 2 ,contw 
+50b1 18427e00 copy temp ,pdata 
+50b2 e0a10000 istore 2 ,contw 
+50b3 19627e00 copy timeup ,pdata 
+50b4 e0a10000 istore 2 ,contw 
+50b5 d8400008 arg 8 ,temp 
+50b6 202050de branch ml2cap_send_signal 
+
+ml2cap_send_signal_config_req:
+50b7 470cc023 bpatchx patch23_1 ,mem_patch23 
+50b8 2040523a call l2cap_get_req_id 
+50b9 204052c3 call l2cap_get_signal_tx_payload 
+50ba 58000004 setarg signal_config_req 
+50bb e0a08000 istore 1 ,contw 
+50bc 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+50bd e0a08000 istore 1 ,contw 
+50be 58000008 setarg 0x0008 
+50bf e0a10000 istore 2 ,contw 
+50c0 18427e00 copy temp ,pdata 
+50c1 e0a10000 istore 2 ,contw 
+50c2 58000000 setarg 0x0000 
+50c3 e0a10000 istore 2 ,contw 
+50c4 58000001 setarg 0x01 
+50c5 e0a08000 istore 1 ,contw 
+50c6 58000002 setarg 0x02 
+50c7 e0a08000 istore 1 ,contw 
+50c8 580003e3 setarg l2cap_config_mtu_rfcomm 
+50c9 e0a10000 istore 2 ,contw 
+50ca d840000c arg 0xc ,temp 
+50cb 202050de branch ml2cap_send_signal 
+
+ml2cap_send_signal_disconn_req:
+50cc 470d4023 bpatchx patch23_2 ,mem_patch23 
+50cd 2040523a call l2cap_get_req_id 
+50ce 204052c3 call l2cap_get_signal_tx_payload 
+50cf 58000006 setarg signal_disconnect_req 
+50d0 e0a08000 istore 1 ,contw 
+50d1 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+50d2 1fe0fe01 increase 1 ,pdata 
+50d3 18a22200 copy contw ,rega 
+50d4 6000c255 store 1 ,mem_ml2cap_comm_id 
+50d5 1a220a00 copy rega ,contw 
+50d6 e0a08000 istore 1 ,contw 
+50d7 58000004 setarg 0x0004 
+50d8 e0a10000 istore 2 ,contw 
+50d9 18427e00 copy temp ,pdata 
+50da e0a10000 istore 2 ,contw 
+50db 19627e00 copy timeup ,pdata 
+50dc e0a10000 istore 2 ,contw 
+50dd d8400008 arg 0x8 ,temp 
+
+ml2cap_send_signal:
+50de 6009026f storet 2 ,mem_l2cap_signal_tx_length 
+50df 18427e00 copy temp ,pdata 
+50e0 203a5264 branch l2cap_malloc_discard ,blank 
+50e1 204052c1 call l2cap_get_signal_tx_buff 
+50e2 6801026f fetch 2 ,mem_l2cap_signal_tx_length 
+50e3 e0a10000 istore 2 ,contw 
+50e4 18007e01 force l2cap_signal_channel ,pdata 
+50e5 e0a10000 istore 2 ,contw 
+50e6 20600000 rtn 
+
+msdp_send_req_done:
+50e7 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+50e8 203a2a8c branch assert ,blank 
+50e9 204052ce call l2cap_get_sdp_tx_buff 
+50ea 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+50eb e0a10000 istore 2 ,contw 
+50ec 68014248 fetch 2 ,mem_sdp_remote_cid 
+50ed e0a10000 istore 2 ,contw 
+50ee 20600000 rtn 
+
+ml2cap_rx_multiplexing:
+50ef 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+50f0 203a4dfc branch l2cap_rx_reset_state ,blank 
+50f1 470dc023 bpatchx patch23_3 ,mem_patch23 
+50f2 68008268 fetch 1 ,mem_l2cap_rx_cid 
+50f3 c000d0f9 beq l2cap_signal_channel ,ml2cap_call_proc_signal 
+50f4 c0284de8 beq l2cap_sdp_channel ,ml2cap_call_proc_sdp 
+50f5 c028cdf5 beq l2cap_rfcomm_channel ,l2cap_call_proc_rfcomm 
+50f6 c0294df3 beq l2cap_hid_control_channel ,l2cap_call_proc_hid 
+50f7 c029cdf3 beq l2cap_hid_interrupt_channel ,l2cap_call_proc_hid 
+50f8 20204dfc branch l2cap_rx_reset_state 
+
+ml2cap_call_proc_signal:
+50f9 470e4023 bpatchx patch23_4 ,mem_patch23 
+50fa 204052b8 call l2cap_malloc_signal_channel 
+50fb 18002400 force 0 ,regb 
+50fc 204052c3 call l2cap_get_signal_tx_payload 
+50fd 1fe20a00 copy pdata ,contw 
+50fe 68010266 fetch 2 ,mem_l2cap_rx_pkt_length 
+50ff 1fe22600 copy pdata ,regc 
+5100 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+5101 98000c00 iforce contr 
+
+ml2cap_proc_one_comm_loop:
+5102 20405108 call ml2cap_proc_one_comm 
+5103 1a60a7fc increase -4 ,regc 
+5104 2422d102 nbranch ml2cap_proc_one_comm_loop ,zero 
+5105 1a420400 copy regb ,temp 
+5106 204050de call ml2cap_send_signal 
+5107 20204dfc branch l2cap_rx_reset_state 
+
+ml2cap_proc_one_comm:
+5108 e8c08000 ifetch 1 ,contr 
+5109 c0015113 beq signal_connect_req ,ml2cap_proc_signal_connect_req 
+510a c000d116 beq signal_cmd_reject ,ml2cap_proc_signal_cmd_reject 
+510b c001d120 beq signal_connect_rsp ,ml2cap_proc_signal_connect_rsp 
+510c c002d15c beq signal_config_rsp ,ml2cap_proc_signal_config_rsp 
+510d c002518e beq signal_config_req ,ml2cap_proc_signal_config_req 
+510e c003d213 beq signal_disconnect_rsp ,ml2cap_proc_signal_disconn_rsp 
+510f c00351e1 beq signal_disconnect_req ,ml2cap_proc_signal_disconn_req 
+5110 c0045050 beq signal_echo_req ,l2cap_proc_signal_echo_req 
+5111 c0054e3a beq signal_info_req ,ml2cap_proc_signal_info_req 
+5112 2020522e branch ml2cap_proc_send_reject 
+
+ml2cap_proc_signal_connect_req:
+5113 20407ea8 call save_cont_pointers 
+5114 20407ead call load_cont_pointers 
+5115 20204e51 branch l2cap_proc_signal_connect_req 
+
+ml2cap_proc_signal_cmd_reject:
+5116 e8c08000 ifetch 1 ,contr 
+5117 1fe20e00 copy pdata ,queue 
+5118 e8c10000 ifetch 2 ,contr 
+5119 1fe22200 copy pdata ,rega 
+511a 1a627e00 copy regc ,pdata 
+511b 9a262600 isub rega ,regc 
+
+mvptr:
+511c e8c08000 ifetch 1 ,contr 
+511d 1a20a3ff increase -1 ,rega 
+511e 2422d11c nbranch mvptr ,zero 
+511f 20600000 rtn 
+
+ml2cap_proc_signal_connect_rsp:
+5120 e8c08000 ifetch 1 ,contr 
+5121 1fe20e00 copy pdata ,queue 
+5122 e8c10000 ifetch 2 ,contr 
+5123 1fe22200 copy pdata ,rega 
+5124 e8c10000 ifetch 2 ,contr 
+5125 1fe21600 copy pdata ,timeup 
+5126 e8c10000 ifetch 2 ,contr 
+5127 1fe20400 copy pdata ,temp 
+5128 e8c10000 ifetch 2 ,contr 
+5129 1fe67c00 sub pdata ,0 ,null 
+512a 2022d132 branch ml2cap_proc_signal_connect_rsp_sucessful ,zero 
+512b c001512e beq l2cap_connect_refused_psm_unsupported ,ml2cap_proc_signal_connect_refused_result 
+512c c002512e beq l2cap_connect_refused_no_resources ,ml2cap_proc_signal_connect_refused_result 
+512d 20205130 branch ml2cap_proc_signal_connect_rsp_mnosucc 
+
+ml2cap_proc_signal_connect_refused_result:
+512e 700a9916 jam bt_evt_ml2cap_conn_refused ,mem_fifo_temp 
+512f 20407d86 call ui_ipc_send_event 
+
+ml2cap_proc_signal_connect_rsp_mnosucc:
+5130 e8c10000 ifetch 2 ,contr 
+5131 20205159 branch mnosucc 
+
+ml2cap_proc_signal_connect_rsp_sucessful:
+5132 20407ea8 call save_cont_pointers 
+5133 470ec023 bpatchx patch23_5 ,mem_patch23 
+5134 58000050 setarg l2cap_sdp_channel 
+5135 98467c00 isub temp ,null 
+5136 2022d141 branch ml2cap_proc_signal_connect_rsp_sdp ,zero 
+5137 58000051 setarg l2cap_rfcomm_channel 
+5138 98467c00 isub temp ,null 
+5139 2022d147 branch ml2cap_proc_signal_connect_rsp_rfcomm ,zero 
+513a 58000053 setarg l2cap_hid_interrupt_channel 
+513b 98467c00 isub temp ,null 
+513c 2022d153 branch ml2cap_proc_signal_connect_rsp_hid_int ,zero 
+513d 58000052 setarg l2cap_hid_control_channel 
+513e 98467c00 isub temp ,null 
+513f 2022d14d branch ml2cap_proc_signal_connect_rsp_hid_ctrl ,zero 
+5140 20205159 branch mnosucc 
+
+ml2cap_proc_signal_connect_rsp_sdp:
+5141 19627e00 copy timeup ,pdata 
+5142 60014248 store 2 ,mem_sdp_remote_cid 
+5143 6800c250 fetch 1 ,mem_sdp_state 
+5144 79207e01 set1 l2cap_channel_state_conn_res 
+5145 6000c250 store 1 ,mem_sdp_state 
+5146 20205158 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_rfcomm:
+5147 19627e00 copy timeup ,pdata 
+5148 6001424a store 2 ,mem_rfcomm_remote_cid 
+5149 6800c251 fetch 1 ,mem_rfcomm_state 
+514a 79207e01 set1 l2cap_channel_state_conn_res 
+514b 6000c251 store 1 ,mem_rfcomm_state 
+514c 20205158 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+514d 19627e00 copy timeup ,pdata 
+514e 6001424c store 2 ,mem_hid_ctrl_remote_cid 
+514f 6800c252 fetch 1 ,mem_hid_control_state 
+5150 79207e01 set1 l2cap_channel_state_conn_res 
+5151 6000c252 store 1 ,mem_hid_control_state 
+5152 20205158 branch mnosucc1 
+
+ml2cap_proc_signal_connect_rsp_hid_int:
+5153 19627e00 copy timeup ,pdata 
+5154 6001424e store 2 ,mem_hid_int_remote_cid 
+5155 6800c253 fetch 1 ,mem_hid_interrupt_state 
+5156 79207e01 set1 l2cap_channel_state_conn_res 
+5157 6000c253 store 1 ,mem_hid_interrupt_state 
+
+mnosucc1:
+5158 20407ead call load_cont_pointers 
+
+mnosucc:
+5159 1a627e00 copy regc ,pdata 
+515a 9a262600 isub rega ,regc 
+515b 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp:
+515c e8c08000 ifetch 1 ,contr 
+515d 1fe20e00 copy pdata ,queue 
+515e e8c10000 ifetch 2 ,contr 
+515f 1fe22200 copy pdata ,rega 
+5160 1a627e00 copy regc ,pdata 
+5161 9a262600 isub rega ,regc 
+5162 e8c10000 ifetch 2 ,contr 
+5163 1fe21600 copy pdata ,timeup 
+5164 e8c10000 ifetch 2 ,contr 
+5165 e8c10000 ifetch 2 ,contr 
+5166 243a5188 nbranch mcrsdone1 ,blank 
+5167 20407ea8 call save_cont_pointers 
+5168 19620400 copy timeup ,temp 
+5169 470f4023 bpatchx patch23_6 ,mem_patch23 
+516a 58000050 setarg l2cap_sdp_channel 
+516b 98467c00 isub temp ,null 
+516c 2022d176 branch ml2cap_proc_signal_config_rsp_sdp ,zero 
+516d 58000051 setarg l2cap_rfcomm_channel 
+516e 98467c00 isub temp ,null 
+516f 2022d17a branch ml2cap_proc_signal_config_rsp_rfcomm ,zero 
+5170 58000052 setarg l2cap_hid_control_channel 
+5171 98467c00 isub temp ,null 
+5172 2022d17e branch ml2cap_proc_signal_config_rsp_hid_ctrl ,zero 
+5173 58000053 setarg l2cap_hid_interrupt_channel 
+5174 98467c00 isub temp ,null 
+5175 2022d182 branch ml2cap_proc_signal_config_rsp_hid_int ,zero 
+
+ml2cap_proc_signal_config_rsp_sdp:
+5176 6800c250 fetch 1 ,mem_sdp_state 
+5177 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5178 6000c250 store 1 ,mem_sdp_state 
+5179 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_rfcomm:
+517a 6800c251 fetch 1 ,mem_rfcomm_state 
+517b 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+517c 6000c251 store 1 ,mem_rfcomm_state 
+517d 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+517e 6800c252 fetch 1 ,mem_hid_control_state 
+517f 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5180 6000c252 store 1 ,mem_hid_control_state 
+5181 20600000 rtn 
+
+ml2cap_proc_signal_config_rsp_hid_int:
+5182 6800c253 fetch 1 ,mem_hid_interrupt_state 
+5183 79207e05 set1 l2cap_channel_state_rcv_cfg_res 
+5184 6000c253 store 1 ,mem_hid_interrupt_state 
+5185 700a9906 jam bt_evt_hid_connected ,mem_fifo_temp 
+5186 20207d86 branch ui_ipc_send_event 
+
+mcfrsdone:
+5187 20407ead call load_cont_pointers 
+
+mcrsdone1:
+5188 1a20a3fa increase -6 ,rega 
+
+mloop2:
+5189 2022d18d branch mcrsdone ,zero 
+518a 18c08c01 increase 1 ,contr 
+518b 1a20a3ff increase -1 ,rega 
+518c 20205189 branch mloop2 
+
+mcrsdone:
+518d 20600000 rtn 
+
+ml2cap_proc_signal_config_req:
+518e e8c08000 ifetch 1 ,contr 
+518f 1fe20e00 copy pdata ,queue 
+5190 e8c10000 ifetch 2 ,contr 
+5191 1fe22200 copy pdata ,rega 
+5192 1a627e00 copy regc ,pdata 
+5193 9a262600 isub rega ,regc 
+5194 e8c10000 ifetch 2 ,contr 
+5195 18c08c02 increase 2 ,contr 
+5196 1fe20400 copy pdata ,temp 
+5197 58000005 setarg signal_config_rsp 
+5198 e0a08000 istore 1 ,contw 
+5199 18e27e00 copy queue ,pdata 
+519a e0a08000 istore 1 ,contw 
+519b 1a20a202 increase 2 ,rega 
+519c 1a227e00 copy rega ,pdata 
+519d e0a10000 istore 2 ,contw 
+519e 20407ea8 call save_cont_pointers 
+519f 470fc023 bpatchx patch23_7 ,mem_patch23 
+51a0 58000050 setarg l2cap_sdp_channel 
+51a1 98467c00 isub temp ,null 
+51a2 2022d1ad branch ml2cap_proc_signal_config_req_sdp ,zero 
+51a3 58000051 setarg l2cap_rfcomm_channel 
+51a4 98467c00 isub temp ,null 
+51a5 2022d1be branch ml2cap_proc_signal_config_req_rfcomm ,zero 
+51a6 58000052 setarg l2cap_hid_control_channel 
+51a7 98467c00 isub temp ,null 
+51a8 2022d1c4 branch ml2cap_proc_signal_config_req_hid_ctrl ,zero 
+51a9 58000053 setarg l2cap_hid_interrupt_channel 
+51aa 98467c00 isub temp ,null 
+51ab 2022d1ca branch ml2cap_proc_signal_config_req_hid_int ,zero 
+51ac 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_sdp:
+51ad 6800c250 fetch 1 ,mem_sdp_state 
+51ae 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51af 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51b0 6000c250 store 1 ,mem_sdp_state 
+51b1 c28151bb bbit1 l2cap_channel_state_snd_cfg_req ,ml2cap_proc_signal_config_req_sdp_nsndreq 
+51b2 6808827f fetcht 1 ,mem_control_tasks 
+51b3 79200406 set1 l2cap_init_config_req ,temp 
+51b4 6008827f storet 1 ,mem_control_tasks 
+51b5 18e27e00 copy queue ,pdata 
+51b6 1fe0fe01 increase 1 ,pdata 
+51b7 60008281 store 1 ,mem_config_identifier 
+51b8 6800c250 fetch 1 ,mem_sdp_state 
+51b9 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+51ba 6000c250 store 1 ,mem_sdp_state 
+
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+51bb 68014248 fetch 2 ,mem_sdp_remote_cid 
+51bc 60010282 store 2 ,mem_config_req_dest_cid 
+51bd 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_rfcomm:
+51be 6800c251 fetch 1 ,mem_rfcomm_state 
+51bf 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51c0 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51c1 6000c251 store 1 ,mem_rfcomm_state 
+51c2 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+51c3 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_hid_ctrl:
+51c4 6800c252 fetch 1 ,mem_hid_control_state 
+51c5 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51c6 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51c7 6000c252 store 1 ,mem_hid_control_state 
+51c8 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+51c9 202051cf branch mcfgrq_done 
+
+ml2cap_proc_signal_config_req_hid_int:
+51ca 6800c253 fetch 1 ,mem_hid_interrupt_state 
+51cb 79207e04 set1 l2cap_channel_state_rcv_cfg_req ,pdata 
+51cc 79207e03 set1 l2cap_channel_state_snd_cfg_res ,pdata 
+51cd 6000c253 store 1 ,mem_hid_interrupt_state 
+51ce 6801424e fetch 2 ,mem_hid_int_remote_cid 
+
+mcfgrq_done:
+51cf 1fe21600 copy pdata ,timeup 
+51d0 20407ead call load_cont_pointers 
+51d1 19627e00 copy timeup ,pdata 
+51d2 e0a10000 istore 2 ,contw 
+51d3 18007e00 force 0x0000 ,pdata 
+51d4 e0a10000 istore 2 ,contw 
+51d5 18007e00 force 0x0000 ,pdata 
+51d6 e0a10000 istore 2 ,contw 
+51d7 18007e0a force 10 ,pdata 
+51d8 9a40a400 iadd regb ,regb 
+51d9 1a20a3fa increase -6 ,rega 
+
+mloop1:
+51da 2022d1e0 branch mcrqdone ,zero 
+51db e8c08000 ifetch 1 ,contr 
+51dc e0a08000 istore 1 ,contw 
+51dd 1a40a401 increase 1 ,regb 
+51de 1a20a3ff increase -1 ,rega 
+51df 202051da branch mloop1 
+
+mcrqdone:
+51e0 20600000 rtn 
+
+ml2cap_proc_signal_disconn_req:
+51e1 e8c08000 ifetch 1 ,contr 
+51e2 1fe20e00 copy pdata ,queue 
+51e3 e8c10000 ifetch 2 ,contr 
+51e4 1fe22200 copy pdata ,rega 
+51e5 1a627e00 copy regc ,pdata 
+51e6 9a262600 isub rega ,regc 
+51e7 e8c10000 ifetch 2 ,contr 
+51e8 1fe22200 copy pdata ,rega 
+51e9 e8c10000 ifetch 2 ,contr 
+51ea 1fe21600 copy pdata ,timeup 
+51eb 20407ea8 call save_cont_pointers 
+51ec 47104024 bpatchx patch24_0 ,mem_patch24 
+51ed 58000050 setarg l2cap_sdp_channel 
+51ee 1a220400 copy rega ,temp 
+51ef 98467c00 isub temp ,null 
+51f0 2022d1fa branch ml2cap_proc_signal_disconn_sdp ,zero 
+51f1 58000052 setarg l2cap_hid_control_channel 
+51f2 1a220400 copy rega ,temp 
+51f3 98467c00 isub temp ,null 
+51f4 2022d1ff branch ml2cap_proc_signal_disconn_hid_ctrl ,zero 
+51f5 58000053 setarg l2cap_hid_interrupt_channel 
+51f6 1a220400 copy rega ,temp 
+51f7 98467c00 isub temp ,null 
+51f8 2022d201 branch ml2cap_proc_signal_disconn_hid_int ,zero 
+51f9 20205203 branch mclsrfc 
+
+ml2cap_proc_signal_disconn_sdp:
+51fa 58000000 setarg 0x0000 
+51fb 60010275 store 2 ,mem_sdp_tx_pkt_length 
+51fc 60014248 store 2 ,mem_sdp_remote_cid 
+51fd 6000c250 store 1 ,mem_sdp_state 
+51fe 20205205 branch mclssdp 
+
+ml2cap_proc_signal_disconn_hid_ctrl:
+51ff 20405079 call l2cap_reset_hid_ctrl_state 
+5200 20205205 branch mclssdp 
+
+ml2cap_proc_signal_disconn_hid_int:
+5201 2040507f call l2cap_reset_hid_int_state 
+5202 20205205 branch mclssdp 
+
+mclsrfc:
+5203 58000000 setarg 0x0000 
+5204 6001027b store 2 ,mem_rfcomm_tx_pkt_length 
+
+mclssdp:
+5205 20407ead call load_cont_pointers 
+5206 58000007 setarg signal_disconnect_rsp 
+5207 e0a08000 istore 1 ,contw 
+5208 18e27e00 copy queue ,pdata 
+5209 e0a08000 istore 1 ,contw 
+520a 58000004 setarg 0x0004 
+520b e0a10000 istore 2 ,contw 
+520c 1a227e00 copy rega ,pdata 
+520d e0a10000 istore 2 ,contw 
+520e 19627e00 copy timeup ,pdata 
+520f e0a10000 istore 2 ,contw 
+5210 18007e08 force 8 ,pdata 
+5211 9a40a400 iadd regb ,regb 
+5212 20600000 rtn 
+
+ml2cap_proc_signal_disconn_rsp:
+5213 e8c08000 ifetch 1 ,contr 
+5214 1fe20e00 copy pdata ,queue 
+5215 e8c10000 ifetch 2 ,contr 
+5216 1fe22200 copy pdata ,rega 
+5217 e8c10000 ifetch 2 ,contr 
+5218 1fe21600 copy pdata ,timeup 
+5219 e8c10000 ifetch 2 ,contr 
+521a 1fe20400 copy pdata ,temp 
+521b 20407ea8 call save_cont_pointers 
+521c 4710c024 bpatchx patch24_1 ,mem_patch24 
+521d 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+521e a8e1fe00 icompare 0xff ,queue 
+521f 2420d22a nbranch mdisdone ,true 
+5220 58000050 setarg l2cap_sdp_channel 
+5221 98467c00 isub temp ,null 
+5222 2022d227 branch ml2cap_proc_signal_disconn_rsp_sdp ,zero 
+5223 58000051 setarg l2cap_rfcomm_channel 
+5224 98467c00 isub temp ,null 
+5225 2022d22a branch ml2cap_proc_signal_disconn_rsp_rfcomm ,zero 
+5226 2020522a branch mdisdone 
+
+ml2cap_proc_signal_disconn_rsp_sdp:
+5227 70424800 jam 0 ,mem_sdp_remote_cid 
+5228 70425000 jam 0 ,mem_sdp_state 
+5229 2020522a branch mdisdone 
+
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+
+mdisdone:
+522a 20407ead call load_cont_pointers 
+522b 1a627e00 copy regc ,pdata 
+522c 9a262600 isub rega ,regc 
+522d 20600000 rtn 
+
+ml2cap_proc_send_reject:
+522e 58000001 setarg signal_cmd_reject 
+522f e0a08000 istore 1 ,contw 
+5230 e8c08000 ifetch 1 ,contr 
+5231 e0a08000 istore 1 ,contw 
+5232 58000002 setarg 0x0002 
+5233 e0a10000 istore 2 ,contw 
+5234 58000000 setarg 0x0000 
+5235 e0a10000 istore 2 ,contw 
+5236 58000006 setarg 0x0006 
+5237 9a40a400 iadd regb ,regb 
+5238 18002604 force 4 ,regc 
+5239 20600000 rtn 
+
+l2cap_get_req_id:
+523a 6800c255 fetch 1 ,mem_ml2cap_comm_id 
+523b 1fe0fe01 increase 1 ,pdata 
+523c c080523e bne 0 ,l2cap_get_req_id_ok 
+523d 1fe0fe01 increase 1 ,pdata 
+
+l2cap_get_req_id_ok:
+523e 6000c255 store 1 ,mem_ml2cap_comm_id 
+523f 20600000 rtn 
+
+l2cap_malloc:
+5240 47114024 bpatchx patch24_2 ,mem_patch24 
+5241 da400000 arg 0 ,regb 
+5242 2040526e call l2cap_malloc_is_fifo_full 
+5243 243a2a8c nbranch assert ,blank 
+5244 2040527e call l2cap_malloc_get_full_map 
+5245 da401800 arg mem_tx_buff0 ,regb 
+5246 d8e00000 arg 0 ,queue 
+
+l2cap_malloc_loop:
+5247 6808c256 fetcht 1 ,mem_used_map 
+5248 a84fffff qisolate1 temp 
+5249 2020d24f branch l2cap_malloc_next ,true 
+524a 204052a0 call l2cap_malloc_enough 
+524b 19667c00 sub timeup ,0 ,null 
+524c 2021524f branch l2cap_malloc_next ,positive 
+524d 20405288 call l2cap_malloc_into_fifo 
+524e 20205255 branch l2cap_malloc_rtn 
+
+l2cap_malloc_next:
+524f 1a40a480 increase 128 ,regb 
+5250 18e08e01 increase 1 ,queue 
+5251 58000008 setarg 8 
+5252 98e67c00 isub queue ,null 
+5253 20215247 branch l2cap_malloc_loop ,positive 
+5254 da400000 arg 0 ,regb 
+
+l2cap_malloc_rtn:
+5255 1a427e00 copy regb ,pdata 
+5256 203a2a8c branch assert ,blank 
+5257 20600000 rtn 
+
+l2cap_malloc_fifo_out:
+5258 4711c024 bpatchx patch24_3 ,mem_patch24 
+5259 20405277 call l2cap_malloc_fifo_get_first_ptr 
+525a 18c08c01 increase 1 ,contr 
+525b e8c10000 ifetch 2 ,contr 
+525c 20600000 rtn 
+
+l2cap_malloc_free:
+525d 47124024 bpatchx patch24_4 ,mem_patch24 
+525e 20405277 call l2cap_malloc_fifo_get_first_ptr 
+525f 18c20a00 copy contr ,contw 
+5260 18c20400 copy contr ,temp 
+5261 58000000 setarg 0 
+5262 e0a18000 istore 3 ,contw 
+5263 20600000 rtn 
+
+l2cap_malloc_discard:
+5264 4712c024 bpatchx patch24_5 ,mem_patch24 
+5265 20405274 call l2cap_malloc_is_fifo_empty 
+5266 203a2a8c branch assert ,blank 
+5267 6801c25d fetch 3 ,mem_tx_fifo2 
+5268 6001c260 store 3 ,mem_tx_fifo3 
+5269 6801c25a fetch 3 ,mem_tx_fifo1 
+526a 6001c25d store 3 ,mem_tx_fifo2 
+526b 6801c257 fetch 3 ,mem_tx_fifo0 
+526c 6001c25a store 3 ,mem_tx_fifo1 
+526d 20600000 rtn 
+
+l2cap_malloc_is_fifo_full:
+526e 47134024 bpatchx patch24_6 ,mem_patch24 
+526f 6801c257 fetch 3 ,mem_tx_fifo0 
+5270 20600000 rtn 
+
+l2cap_malloc_is_fifo_nearly_full:
+5271 4713c024 bpatchx patch24_7 ,mem_patch24 
+5272 6801c25a fetch 3 ,mem_tx_fifo1 
+5273 20600000 rtn 
+
+l2cap_malloc_is_fifo_empty:
+5274 47144025 bpatchx patch25_0 ,mem_patch25 
+5275 6801c260 fetch 3 ,mem_tx_fifo3 
+5276 20600000 rtn 
+
+l2cap_malloc_fifo_get_first_ptr:
+5277 20405274 call l2cap_malloc_is_fifo_empty 
+5278 203a2a8c branch assert ,blank 
+5279 d8c04257 arg mem_tx_fifo0 ,contr 
+
+l2cap_malloc_free_loop:
+527a e8c18000 ifetch 3 ,contr 
+527b 203a527a branch l2cap_malloc_free_loop ,blank 
+527c 18c08dfd increase -3 ,contr 
+527d 20600000 rtn 
+
+l2cap_malloc_get_full_map:
+527e 4714c025 bpatchx patch25_1 ,mem_patch25 
+527f df200004 arg 4 ,loopcnt 
+5280 d8c04257 arg mem_tx_fifo0_map ,contr 
+5281 d8400000 arg 0 ,temp 
+
+l2cap_malloc_get_full_map_loop:
+5282 e8c18000 ifetch 3 ,contr 
+5283 1fe17eff and pdata ,0xff ,pdata 
+5284 98418400 ior temp ,temp 
+5285 c2005282 loop l2cap_malloc_get_full_map_loop 
+5286 6008c256 storet 1 ,mem_used_map 
+5287 20600000 rtn 
+
+l2cap_malloc_into_fifo:
+5288 47154025 bpatchx patch25_2 ,mem_patch25 
+5289 2040526e call l2cap_malloc_is_fifo_full 
+528a 243a2a8c nbranch assert ,blank 
+528b 20405274 call l2cap_malloc_is_fifo_empty 
+528c 203a5295 branch l2cap_malloc_into_fifo_no_push ,blank 
+528d 6801c25a fetch 3 ,mem_tx_fifo1 
+528e 6001c257 store 3 ,mem_tx_fifo0 
+528f e8c18000 ifetch 3 ,contr 
+5290 e0a18000 istore 3 ,contw 
+5291 e8c18000 ifetch 3 ,contr 
+5292 e0a18000 istore 3 ,contw 
+5293 58000000 setarg 0 
+5294 e0a18000 istore 3 ,contw 
+
+l2cap_malloc_into_fifo_no_push:
+5295 d8400000 arg 0 ,temp 
+5296 19627e00 copy timeup ,pdata 
+5297 98e0fe00 iadd queue ,pdata 
+
+l2cap_malloc_into_fifo_loop:
+5298 f9200400 qset1 temp 
+5299 18e08e01 increase 1 ,queue 
+529a 98e67c00 isub queue ,null 
+529b 2422d298 nbranch l2cap_malloc_into_fifo_loop ,zero 
+529c 1a4d7e00 lshift8 regb ,pdata 
+529d 9841fe00 ior temp ,pdata 
+529e 6001c260 store 3 ,mem_tx_fifo3 
+529f 20600000 rtn 
+
+l2cap_malloc_enough:
+52a0 4715c025 bpatchx patch25_3 ,mem_patch25 
+52a1 2040527e call l2cap_malloc_get_full_map 
+52a2 18e22600 copy queue ,regc 
+52a3 d8400000 arg 0 ,temp 
+52a4 d9600000 arg 0 ,timeup 
+
+l2cap_malloc_enough_loop:
+52a5 18e27e00 copy queue ,pdata 
+52a6 c00452b0 beq 8 ,l2cap_malloc_enough_end 
+52a7 6800c256 fetch 1 ,mem_used_map 
+52a8 afefffff qisolate1 pdata 
+52a9 2020d2b0 branch l2cap_malloc_enough_end ,true 
+52aa 18408480 increase 128 ,temp 
+52ab 18e08e01 increase 1 ,queue 
+52ac 1a227e00 copy rega ,pdata 
+52ad 98467c00 isub temp ,null 
+52ae 2022d2b0 branch l2cap_malloc_enough_end ,zero 
+52af 202152a5 branch l2cap_malloc_enough_loop ,positive 
+
+l2cap_malloc_enough_end:
+52b0 18427e00 copy temp ,pdata 
+52b1 9a267c00 isub rega ,null 
+52b2 242152b6 nbranch l2cap_malloc_enough_rtn ,positive 
+52b3 18e27e00 copy queue ,pdata 
+52b4 1a620400 copy regc ,temp 
+52b5 98461600 isub temp ,timeup 
+
+l2cap_malloc_enough_rtn:
+52b6 1a620e00 copy regc ,queue 
+52b7 20600000 rtn 
+
+l2cap_malloc_signal_channel:
+52b8 47164025 bpatchx patch25_4 ,mem_patch25 
+52b9 da20007f arg l2cap_signal_malloc_size ,rega 
+52ba 20405240 call l2cap_malloc 
+52bb 6001026b store 2 ,mem_l2cap_signal_tx_buff_ptr 
+52bc 1fe0fe04 increase 4 ,pdata 
+52bd 6001026d store 2 ,mem_l2cap_signal_tx_payload_ptr 
+52be 58000000 setarg 0 
+52bf 6001026f store 2 ,mem_l2cap_signal_tx_length 
+52c0 20600000 rtn 
+
+l2cap_get_signal_tx_buff:
+52c1 6801026b fetch 2 ,mem_l2cap_signal_tx_buff_ptr 
+52c2 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_get_signal_tx_payload:
+52c3 6801026d fetch 2 ,mem_l2cap_signal_tx_payload_ptr 
+52c4 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_malloc_sdp_channel:
+52c5 4716c025 bpatchx patch25_5 ,mem_patch25 
+52c6 da2000fa arg sdp_malloc_size ,rega 
+52c7 20405240 call l2cap_malloc 
+52c8 60010271 store 2 ,mem_sdp_tx_buff_ptr 
+52c9 1fe0fe04 increase 4 ,pdata 
+52ca 60010273 store 2 ,mem_sdp_tx_payload_ptr 
+52cb 58000000 setarg 0 
+52cc 60010275 store 2 ,mem_sdp_tx_pkt_length 
+52cd 20600000 rtn 
+
+l2cap_get_sdp_tx_buff:
+52ce 68010271 fetch 2 ,mem_sdp_tx_buff_ptr 
+52cf 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_get_sdp_tx_payload:
+52d0 68010273 fetch 2 ,mem_sdp_tx_payload_ptr 
+52d1 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_malloc_rfcomm_channel:
+52d2 47174025 bpatchx patch25_6 ,mem_patch25 
+52d3 20407e7c call push_stack 
+52d4 70028401 jam rfcomm_malloc_fail ,mem_rfcomm_malloc_fail_flag 
+52d5 2040526e call l2cap_malloc_is_fifo_full 
+52d6 247a0000 nrtn blank 
+52d7 da20007f arg rfcomm_malloc_size ,rega 
+52d8 20405240 call l2cap_malloc 
+52d9 60010277 store 2 ,mem_rfcomm_tx_buff_ptr 
+52da 1fe0fe04 increase 4 ,pdata 
+52db 60010279 store 2 ,mem_rfcomm_tx_payload_ptr 
+52dc 58000000 setarg 0 
+52dd 6001027b store 2 ,mem_rfcomm_tx_pkt_length 
+52de 70028400 jam rfcomm_malloc_succeed ,mem_rfcomm_malloc_fail_flag 
+52df 20207e8c branch pop_stack 
+
+l2cap_get_rfcomm_tx_buff:
+52e0 68010277 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+52e1 202052e2 branch l2cap_util_pdata_to_contw 
+
+l2cap_util_pdata_to_contw:
+52e2 203a2a8c branch assert ,blank 
+52e3 1fe20a00 copy pdata ,contw 
+52e4 20600000 rtn 
+
+l2cap_lpm_save_calc_len:
+52e5 4717c025 bpatchx patch25_7 ,mem_patch25 
+52e6 da400000 arg 0 ,regb 
+52e7 da204257 arg mem_tx_fifo0_map ,rega 
+52e8 1a20a3fe increase -2 ,rega 
+
+l2cap_lpm_save_calc_len_loop:
+52e9 1a20a202 increase 2 ,rega 
+52ea 58004263 setarg mem_tx_fifo_end 
+52eb 9a267c00 isub rega ,null 
+52ec 2022d2f5 branch l2cap_lpm_save_calc_len_end ,zero 
+52ed ea208000 ifetch 1 ,rega 
+52ee 1a20a201 increase 1 ,rega 
+52ef 203a52e9 branch l2cap_lpm_save_calc_len_loop ,blank 
+52f0 ea290000 ifetcht 2 ,rega 
+52f1 e8410000 ifetch 2 ,temp 
+52f2 9a40a400 iadd regb ,regb 
+52f3 1a40a404 increase 4 ,regb 
+52f4 202052e9 branch l2cap_lpm_save_calc_len_loop 
+
+l2cap_lpm_save_calc_len_end:
+52f5 1a427e00 copy regb ,pdata 
+52f6 20600000 rtn 
+
+l2cap_lpm_get_wake_lock:
+52f7 d8e0000c arg wake_lock_l2cap_tx ,queue 
+52f8 20202c32 branch lpm_get_wake_lock 
+
+l2cap_lpm_put_wake_lock:
+52f9 d8e0000c arg wake_lock_l2cap_tx ,queue 
+52fa 20202c36 branch lpm_put_wake_lock 
+
+l2cap_lpm_save_txbuf:
+52fb 47184026 bpatchx patch26_0 ,mem_patch26 
+52fc 2040527e call l2cap_malloc_get_full_map 
+52fd 6800c256 fetch 1 ,mem_used_map 
+52fe 207a0000 rtn blank 
+52ff 204052e5 call l2cap_lpm_save_calc_len 
+5300 d8400100 arg l2cap_lpm_txbuf_len ,temp 
+5301 98467c00 isub temp ,null 
+5302 202152f7 branch l2cap_lpm_get_wake_lock ,positive 
+5303 204052f9 call l2cap_lpm_put_wake_lock 
+5304 d8a04263 arg mem_l2cap_lpm_txbuf ,contw 
+5305 da204257 arg mem_tx_fifo0 ,rega 
+
+l2cap_lpm_save_txbuf_loop:
+5306 58004263 setarg mem_tx_fifo_end 
+5307 9a267c00 isub rega ,null 
+5308 20628000 rtn zero 
+5309 ea208000 ifetch 1 ,rega 
+530a 1a20a201 increase 1 ,rega 
+530b 243a530f nbranch l2cap_lpm_save_txbuf_nempty ,blank 
+530c e0a10000 istore 2 ,contw 
+530d 1a20a202 increase 2 ,rega 
+530e 20205306 branch l2cap_lpm_save_txbuf_loop 
+
+l2cap_lpm_save_txbuf_nempty:
+530f ea210000 ifetch 2 ,rega 
+5310 1a20a202 increase 2 ,rega 
+5311 1fe20c00 copy pdata ,contr 
+5312 e8c10000 ifetch 2 ,contr 
+5313 e0a10000 istore 2 ,contw 
+5314 1fe27200 copy pdata ,loopcnt 
+5315 1f20f202 increase 2 ,loopcnt 
+5316 20407f01 call memcpy 
+5317 20205306 branch l2cap_lpm_save_txbuf_loop 
+
+l2cap_lpm_load_txbuf:
+5318 4718c026 bpatchx patch26_1 ,mem_patch26 
+5319 2040527e call l2cap_malloc_get_full_map 
+531a 6800c256 fetch 1 ,mem_used_map 
+531b 207a0000 rtn blank 
+531c da204258 arg mem_tx_fifo0_ptr ,rega 
+531d 1a20a3fd increase -3 ,rega 
+531e d8c04263 arg mem_l2cap_lpm_txbuf ,contr 
+
+l2cap_lpm_load_txbuf_loop:
+531f 1a20a203 increase 3 ,rega 
+5320 58004264 setarg mem_tx_fifo_end + 1 
+5321 9a267c00 isub rega ,null 
+5322 20628000 rtn zero 
+5323 e8c10000 ifetch 2 ,contr 
+5324 203a531f branch l2cap_lpm_load_txbuf_loop ,blank 
+5325 1fe0fe04 increase 4 ,pdata 
+5326 1fe27200 copy pdata ,loopcnt 
+5327 18c22400 copy contr ,regb 
+5328 ea210000 ifetch 2 ,rega 
+5329 1fe20a00 copy pdata ,contw 
+532a 1a420c00 copy regb ,contr 
+532b 18c08dfe increase -2 ,contr 
+532c 20407f01 call memcpy 
+532d 2020531f branch l2cap_lpm_load_txbuf_loop 
+
+le_init_conn:
+532e 47194026 bpatchx patch26_2 ,mem_patch26 
+532f 7855fc00 disable wake 
+5330 70045501 jam 1 ,mem_le_conn_handle 
+5331 70043f03 jam 3 ,mem_le_state 
+5332 70045601 jam 1 ,mem_le_arq 
+5333 5fffffff setarg -1 
+5334 60010459 store 2 ,mem_le_event_count 
+5335 18007e00 force 0 ,pdata 
+5336 60008457 store 1 ,mem_le_ch 
+5337 60008462 store 1 ,mem_le_op 
+5338 6001c169 store 3 ,mem_sniff_rcv 
+5339 6001c16c store 3 ,mem_sniff_lost 
+533a 6002c403 store 5 ,mem_le_pcnt_tx 
+533b 79207e27 set1 39 ,pdata 
+533c 6002c408 store 5 ,mem_le_pcnt_rx 
+533d 7043dc01 jam 1 ,mem_le_txheader 
+533e 7043dd00 jam 0 ,mem_le_txlen 
+533f 202056ed branch le_supervision_flush 
+
+le_init_master:
+5340 4719c026 bpatchx patch26_3 ,mem_patch26 
+5341 7834fc00 enable master 
+5342 70044003 jam lemode_master ,mem_le_mode 
+5343 70047801 jam 1 ,mem_le_att_handle 
+5344 70445a01 jam 1 ,mem_le_search_handle_start 
+5345 5800ffff setarg 0xffff 
+5346 6001445c store 2 ,mem_le_search_handle_end 
+5347 18007e00 force 0 ,pdata 
+5348 6002c408 store 5 ,mem_le_pcnt_rx 
+5349 79207e27 set1 39 ,pdata 
+534a 6002c403 store 5 ,mem_le_pcnt_tx 
+534b 2020532e branch le_init_conn 
+
+le_init_slave:
+534c 471a4026 bpatchx patch26_4 ,mem_patch26 
+534d 7854fc00 disable master 
+534e 58000017 setarg 0x17 
+534f 600144a8 store 2 ,mem_le_remote_mtu 
+5350 70044001 jam lemode_slave ,mem_le_mode 
+5351 70436e00 jam 0 ,mem_le_adv_enable 
+5352 7000a000 jam 0 ,mem_lpm_current_mult 
+5353 7044c400 jam flag_le_pairing_null ,mem_le_pairing_state 
+5354 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+5355 6801046d fetch 2 ,mem_le_superto 
+5356 600144ba store 2 ,mem_le_init_superto 
+5357 68010441 fetch 2 ,mem_le_tsniff 
+5358 1feffe05 mul32 pdata ,5 ,pdata 
+5359 1ff1fe00 rshift4 pdata ,pdata 
+535a 6001046d store 2 ,mem_le_superto 
+535b 2020532e branch le_init_conn 
+
+le_dispatch:
+535c 204053c4 call le_enable 
+535d 204055e8 call le_scan 
+535e 204056f0 call le_adv 
+535f 202053ce branch le_disable 
+
+le_conn_dispatch:
+5360 471ac026 bpatchx patch26_5 ,mem_patch26 
+5361 204053c4 call le_enable 
+5362 204032f4 call app_process_ble 
+5363 68008440 fetch 1 ,mem_le_mode 
+5364 c001d366 beq lemode_master ,le_master_dispatch 
+5365 2020537a branch le_slave_dispatch 
+
+le_master_dispatch:
+5366 471b4026 bpatchx patch26_6 ,mem_patch26 
+5367 7834fc00 enable master 
+5368 204056e4 call le_supervision_update 
+5369 20215377 branch le_master_disconn ,positive 
+536a 20402c6c call check_ble_disabled 
+536b 20405413 call le_setup 
+536c 2040561e call le_prepare_tx 
+536d 7856fc00 disable match 
+536e 204054bf call le_transmit_receive_sifs 
+536f 24768000 nrtn match 
+5370 471bc026 bpatchx patch26_7 ,mem_patch26 
+5371 68008005 fetch 1 ,mem_le_conn_rcv 
+5372 1fe0fe01 increase 1 ,pdata 
+5373 60008005 store 1 ,mem_le_conn_rcv 
+5374 204055aa call le_acknowledge 
+5375 7854fc00 disable master 
+5376 20600000 rtn 
+
+le_master_disconn:
+5377 204053a9 call le_disconnect 
+5378 7854fc00 disable master 
+5379 20600000 rtn 
+
+le_slave_dispatch:
+537a 471c4027 bpatchx patch27_0 ,mem_patch27 
+537b 70450f00 jam 0 ,mem_le_md_count 
+537c 20407aaf call sp_calc_sequence_256 
+537d 20405c18 call le_secure_connect_sm 
+537e 78577c00 disable attempt 
+537f 204056e4 call le_supervision_update 
+5380 202153a9 branch le_slave_disconn ,positive 
+5381 20402c6c call check_ble_disabled 
+5382 20405413 call le_setup 
+5383 20405489 call le_receive_slave 
+5384 242c539b nbranch le_slave_unsync ,sync 
+5385 204053b7 call le_got_first_packet 
+5386 2036d388 branch le_slave_match ,match 
+5387 20205395 branch le_slave_cont 
+
+le_slave_match:
+5388 471cc027 bpatchx patch27_1 ,mem_patch27 
+5389 6800c50f fetch 1 ,mem_le_md_count 
+538a 1fe0fe01 pincrease 1 
+538b 6000c50f store 1 ,mem_le_md_count 
+538c c0065395 beq le_md_max_count ,le_slave_cont 
+538d 204055aa call le_acknowledge 
+538e 2040561e call le_prepare_tx 
+538f 204054c7 call le_transmit_norx 
+5390 2040567e call le_parse 
+5391 680141fb fetch 2 ,mem_cb_ble_transmit 
+5392 20407f9c call callback_func 
+5393 204053a0 call le_check_md 
+5394 203453a4 branch le_slave_more_data ,user 
+
+le_slave_cont:
+5395 471d4027 bpatchx patch27_2 ,mem_patch27 
+5396 20405be4 call le_pairing_sm 
+5397 20405bdb call le_check_paring_time 
+5398 20407d9c call check_51cmd 
+5399 68008462 fetch 1 ,mem_le_op 
+539a c281d3a9 bbit1 op_disconn ,le_slave_disconn 
+
+le_slave_unsync:
+539b 471dc027 bpatchx patch27_3 ,mem_patch27 
+539c 204057f4 call le_lpm_set_mult 
+539d 2040559d call le_update_channel_map 
+539e 20405575 call le_update_param 
+539f 20202841 branch calc_clke_offset 
+
+le_check_md:
+53a0 78547c00 disable user 
+53a1 c5157fe7 bmark1 mark_ble_rx_md ,enable_user 
+53a2 c514ffe7 bmark1 mark_ble_tx_md ,enable_user 
+53a3 20600000 rtn 
+
+le_slave_more_data:
+53a4 471e4027 bpatchx patch27_4 ,mem_patch27 
+53a5 78377c00 enable attempt 
+53a6 204054c1 call le_transmit_receive_sifs_notx 
+53a7 2036d388 branch le_slave_match ,match 
+53a8 20205395 branch le_slave_cont 
+
+le_slave_disconn:
+
+le_disconnect:
+53a9 471ec027 bpatchx patch27_5 ,mem_patch27 
+53aa 204053af call le_clear_connection_info 
+53ab 204033b4 call app_disconn_reason_collect_ble 
+53ac 20407a77 call sp_initialize_256 
+53ad 700a9915 jam bt_evt_le_disconnected ,mem_fifo_temp 
+53ae 20207d86 branch ui_ipc_send_event 
+
+le_clear_connection_info:
+53af 58000000 setarg 0 
+53b0 6004c4ff store 9 ,mem_le_tx_buff_used 
+53b1 70045500 jam 0 ,mem_le_conn_handle 
+53b2 70044000 jam lemode_idle ,mem_le_mode 
+53b3 70043f00 jam 0 ,mem_le_state 
+53b4 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+53b5 7044c400 jam flag_le_pairing_null ,mem_le_pairing_state 
+53b6 20600000 rtn 
+
+le_got_first_packet:
+53b7 471f4027 bpatchx patch27_6 ,mem_patch27 
+53b8 68008005 fetch 1 ,mem_le_conn_rcv 
+53b9 1fe0fe01 increase 1 ,pdata 
+53ba 60008005 store 1 ,mem_le_conn_rcv 
+53bb 6800843f fetch 1 ,mem_le_state 
+53bc c3818000 rtnbit1 lestate_got_first_packet 
+53bd 79207e03 set1 lestate_got_first_packet 
+53be 6000843f store 1 ,mem_le_state 
+53bf 680144ba fetch 2 ,mem_le_init_superto 
+53c0 6001046d store 2 ,mem_le_superto 
+53c1 58000000 setarg 0 
+53c2 600244e5 store 4 ,mem_le_transmit_window 
+53c3 20600000 rtn 
+
+le_enable:
+53c4 471fc027 bpatchx patch27_7 ,mem_patch27 
+53c5 70890f36 jam 0x36 ,rf_adc_goff 
+53c6 70890b5f jam 0x5f ,rf_agc_nsat 
+53c7 783b7c00 enable le 
+53c8 70891407 jam 7 ,rfen_ulp 
+53c9 20402c6c call check_ble_disabled 
+53ca 6800c1e0 fetch 1 ,mem_250k_freq_enable 
+53cb 207a0000 rtn blank 
+53cc 70890ab8 jam 0xb8 ,rf_iq_gain 
+53cd 20600000 rtn 
+
+le_disable:
+53ce 47204028 bpatchx patch28_0 ,mem_patch28 
+53cf 70890f2e jam 0x2e ,rf_adc_goff 
+53d0 70890bff jam 0xff ,rf_agc_nsat 
+53d1 785b7c00 disable le 
+53d2 70891403 jam 3 ,rfen_ulp 
+53d3 db600000 arg 0 ,stop_watch 
+53d4 20600000 rtn 
+
+le_prep:
+53d5 7844fc00 disable enable_crc 
+53d6 7843fc00 disable enable_white 
+53d7 68018467 fetch 3 ,mem_le_crcinit 
+53d8 98001e00 iforce crc24_init 
+53d9 68008016 fetch 1 ,mem_le_ch_mapped 
+53da 1fed8400 reverse pdata ,temp 
+53db 79200401 set1 1 ,temp 
+53dc 18431c00 rshift temp ,white_init 
+53dd 20600000 rtn 
+
+lerx_setfreq:
+53de 204053e6 call le_setfreq 
+53df 2040291f call set_freq_rx 
+53e0 58000500 setarg param_pll_setup 
+53e1 20402a8f call sleep 
+53e2 20202924 branch rf_rx_enable 
+
+letx_setfreq:
+53e3 2036a939 branch txon ,match 
+
+letx_setfreq0:
+53e4 204053e6 call le_setfreq 
+53e5 20202933 branch set_freq_tx 
+
+le_setfreq:
+53e6 4720c028 bpatchx patch28_1 ,mem_patch28 
+53e7 20402918 call set_sync_on 
+53e8 6800848c fetch 1 ,mem_le_testtype 
+53e9 243a53f9 nbranch le_ctf_test ,blank 
+53ea 68008016 fetch 1 ,mem_le_ch_mapped 
+53eb 1fe67c24 sub pdata ,36 ,null 
+53ec 202153f3 branch le_ctf_normal ,positive 
+53ed 18000400 force 0 ,temp 
+53ee c1128000 rtneq 37 
+53ef 18000418 force 24 ,temp 
+53f0 c1130000 rtneq 38 
+53f1 1800044e force 78 ,temp 
+53f2 20600000 rtn 
+
+le_ctf_normal:
+53f3 1fe67c0a sub pdata ,10 ,null 
+53f4 202153f6 branch le_ctf_low ,positive 
+53f5 1fe0fe01 increase 1 ,pdata 
+
+le_ctf_low:
+53f6 1fe3fe00 lshift pdata ,pdata 
+53f7 1fe08402 add pdata ,2 ,temp 
+53f8 20600000 rtn 
+
+le_ctf_test:
+53f9 68008016 fetch 1 ,mem_le_ch_mapped 
+53fa 1fe38400 lshift pdata ,temp 
+53fb 20600000 rtn 
+
+le_sca_map:
+53fc d84001f4 arg 500 ,temp 
+53fd 207a0000 rtn blank 
+53fe d84000fa arg 250 ,temp 
+53ff c1008000 rtneq 1 
+5400 d8400096 arg 150 ,temp 
+5401 c1010000 rtneq 2 
+5402 d8400064 arg 100 ,temp 
+5403 c1018000 rtneq 3 
+5404 d840004b arg 75 ,temp 
+5405 c1020000 rtneq 4 
+5406 d8400032 arg 50 ,temp 
+5407 c1028000 rtneq 5 
+5408 d8400028 arg 40 ,temp 
+5409 c1030000 rtneq 6 
+540a d8400014 arg 20 ,temp 
+540b 20600000 rtn 
+
+le_adv_access:
+540c 588e89be setarg 0x8e89be 
+540d 1fed7e00 lshift8 pdata ,pdata 
+540e 1fe1fed6 or_into 0xd6 ,pdata 
+540f 98001200 iforce access 
+5410 58555555 setarg 0x555555 
+5411 60018467 store 3 ,mem_le_crcinit 
+5412 20600000 rtn 
+
+le_setup:
+5413 47214028 bpatchx patch28_2 ,mem_patch28 
+5414 78287c00 enable swfine 
+5415 68020463 fetch 4 ,mem_le_access 
+5416 98001200 iforce access 
+5417 20405466 call le_map_channel 
+5418 58000200 setarg 0x200 
+5419 2034d41c branch le_setup_master ,master 
+541a 6801044d fetch 2 ,mem_le_receive_window 
+541b 1fe37e00 rshift pdata ,pdata 
+
+le_setup_master:
+541c d8400500 arg param_pll_setup ,temp 
+541d 9840fe00 iadd temp ,pdata 
+541e 20402a24 call ahead_window 
+541f 1b427e00 deposit clke 
+5420 60030491 store 6 ,mem_le_rxon_ts 
+5421 20600000 rtn 
+
+le_next_adv_channel:
+5422 4721c028 bpatchx patch28_3 ,mem_patch28 
+5423 68008016 fetch 1 ,mem_le_ch_mapped 
+5424 c012d428 beq 37 ,le_next_adv_channel_curr_channel_37 
+5425 c013542e beq 38 ,le_next_adv_channel_curr_channel_38 
+5426 c013d434 beq 39 ,le_next_adv_channel_curr_channel_39 
+5427 20205434 branch le_next_adv_channel_curr_channel_39 
+
+le_next_adv_channel_curr_channel_37:
+5428 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+5429 284ffe01 isolate1 bit_adv_channel_map_38 ,temp 
+542a 2020d43f branch set_le_next_adv_channel_38 ,true 
+542b 284ffe02 isolate1 bit_adv_channel_map_39 ,temp 
+542c 2020d444 branch set_le_next_adv_channel_39 ,true 
+542d 2020543a branch set_le_next_adv_channel_37 
+
+le_next_adv_channel_curr_channel_38:
+542e 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+542f 284ffe02 isolate1 bit_adv_channel_map_39 ,temp 
+5430 2020d444 branch set_le_next_adv_channel_39 ,true 
+5431 284ffe00 isolate1 bit_adv_channel_map_37 ,temp 
+5432 2020d43a branch set_le_next_adv_channel_37 ,true 
+5433 2020543f branch set_le_next_adv_channel_38 
+
+le_next_adv_channel_curr_channel_39:
+5434 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+5435 284ffe00 isolate1 bit_adv_channel_map_37 ,temp 
+5436 2020d43a branch set_le_next_adv_channel_37 ,true 
+5437 284ffe01 isolate1 bit_adv_channel_map_38 ,temp 
+5438 2020d43f branch set_le_next_adv_channel_38 ,true 
+5439 20205444 branch set_le_next_adv_channel_39 
+
+set_le_next_adv_channel_37:
+543a 70001625 jam 37 ,mem_le_ch_mapped 
+543b 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+543c 79207e00 set1 bit_adv_channel_map_37 ,pdata 
+543d 60008ac2 store 1 ,mem_le_adv_channel_map_temp 
+543e 20600000 rtn 
+
+set_le_next_adv_channel_38:
+543f 70001626 jam 38 ,mem_le_ch_mapped 
+5440 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+5441 79207e01 set1 bit_adv_channel_map_38 ,pdata 
+5442 60008ac2 store 1 ,mem_le_adv_channel_map_temp 
+5443 20600000 rtn 
+
+set_le_next_adv_channel_39:
+5444 70001627 jam 39 ,mem_le_ch_mapped 
+5445 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+5446 79207e02 set1 bit_adv_channel_map_39 ,pdata 
+5447 60008ac2 store 1 ,mem_le_adv_channel_map_temp 
+5448 20600000 rtn 
+
+le_context_nexthop:
+5449 47224028 bpatchx patch28_4 ,mem_patch28 
+544a 1a208c01 add rega ,coffset_mode ,contr 
+544b e8c08000 ifetch 1 ,contr 
+544c c4000000 rtnbit0 mode_le 
+544d 1a208a1a add rega ,coffset_le_event_cnt ,contw 
+544e e8a10000 ifetch 2 ,contw 
+544f 1fe0fe01 increase 1 ,pdata 
+5450 e0a10000 istore 2 ,contw 
+5451 1a208c19 add rega ,coffset_le_hop ,contr 
+5452 e8c08000 ifetch 1 ,contr 
+5453 1a208a18 add rega ,coffset_le_ch ,contw 
+5454 e8a88000 ifetcht 1 ,contw 
+5455 9840fe00 iadd temp ,pdata 
+5456 1fe67c24 sub pdata ,36 ,null 
+5457 20215459 branch le_nexthop_nowrap ,positive 
+5458 1fe0ffdb increase -37 ,pdata 
+
+le_nexthop_nowrap:
+5459 e0a08000 istore 1 ,contw 
+545a 20600000 rtn 
+
+le_calc_channel_map:
+545b 4722c028 bpatchx patch28_5 ,mem_patch28 
+545c 6802846f fetch 5 ,mem_le_channel_map 
+545d 18000400 force 0 ,temp 
+545e 18007225 force 37 ,loopcnt 
+
+le_count_channels_loop:
+545f c3005461 bbit0 0 ,le_count_channels_notused 
+5460 18408401 increase 1 ,temp 
+
+le_count_channels_notused:
+5461 1fe37e00 rshift pdata ,pdata 
+5462 c200545f loop le_count_channels_loop 
+5463 1840ffff add temp ,-1 ,pdata 
+5464 60008461 store 1 ,mem_le_channels 
+5465 20600000 rtn 
+
+le_map_channel:
+5466 47234028 bpatchx patch28_6 ,mem_patch28 
+5467 68008457 fetch 1 ,mem_le_ch 
+5468 98000e00 iforce queue 
+5469 680a846f fetcht 5 ,mem_le_channel_map 
+546a a84fffff qisolate1 temp 
+546b 2020d47c branch le_map_channel_end ,true 
+
+le_map_channel_next:
+546c 4723c028 bpatchx patch28_7 ,mem_patch28 
+546d 68008461 fetch 1 ,mem_le_channels 
+546e 98e67e00 isub queue ,pdata 
+546f 20215472 branch le_map_channel_cont ,positive 
+5470 1fe60fff sub pdata ,-1 ,queue 
+5471 2020546c branch le_map_channel_next 
+
+le_map_channel_cont:
+5472 18e27200 copy queue ,loopcnt 
+5473 18000e00 force 0 ,queue 
+
+le_map_channel_loop:
+5474 a84fffff qisolate1 temp 
+5475 2020d477 branch le_map_channel_skip ,true 
+5476 1f20f201 increase 1 ,loopcnt 
+
+le_map_channel_skip:
+5477 1f227e00 deposit loopcnt 
+5478 203a547c branch le_map_channel_end ,blank 
+5479 18e08e01 increase 1 ,queue 
+547a 1f20f3ff increase -1 ,loopcnt 
+547b 20205474 branch le_map_channel_loop 
+
+le_map_channel_end:
+547c 18e27e00 deposit queue 
+547d 60008016 store 1 ,mem_le_ch_mapped 
+547e 20600000 rtn 
+
+le_wait_tx:
+547f 2034d482 branch le_wait_master ,master 
+5480 37c18200 until null ,timeout 
+5481 20600000 rtn 
+
+le_wait_master:
+5482 d9600ea0 arg 0xea0 ,timeup 
+5483 34730200 until clkn_rt ,meet 
+5484 20600000 rtn 
+
+le_receive_adv:
+5485 78487c00 disable swfine 
+5486 6801436c fetch 2 ,mem_le_scan_window 
+5487 1fe21600 copy pdata ,timeup 
+5488 2020548e branch le_receive_packet 
+
+le_receive_slave:
+5489 47244029 bpatchx patch29_0 ,mem_patch29 
+548a 78287c00 enable swfine 
+548b 6801044d fetch 2 ,mem_le_receive_window 
+548c 680a44e5 fetcht 4 ,mem_le_transmit_window 
+548d 98409600 iadd temp ,timeup 
+
+le_receive_packet:
+548e 204053de call lerx_setfreq 
+
+le_receive_rxon:
+548f 4724c029 bpatchx patch29_1 ,mem_patch29 
+5490 204053d5 call le_prep 
+5491 7856fc00 disable match 
+5492 7826fc00 enable decode_fec0 
+5493 7830fc00 enable is_rx 
+5494 78507c00 disable is_tx 
+5495 19623600 copy timeup ,stop_watch 
+5496 37c18400 correlate null ,timeout 
+5497 2037549a branch le_receive_on_attempt ,attempt 
+5498 1b420400 copy clke ,temp 
+5499 600b009a storet 6 ,mem_sync_clke 
+
+le_receive_on_attempt:
+549a 242c264d nbranch end_of_packet ,sync 
+549b 203754a1 branch le_receive_skip ,attempt 
+549c dd2001e0 arg param_clke_cal_le ,clke_rt 
+549d 1c225000 copy bt_clk ,clke_bt 
+549e 6800843f fetch 1 ,mem_le_state 
+549f c301d4a1 bbit0 lestate_got_first_packet ,le_receive_skip 
+54a0 2055ab05 call lpm_adjust_clk ,wake 
+
+le_receive_skip:
+54a1 47254029 bpatchx patch29_2 ,mem_patch29 
+54a2 204029bb call save_rssi 
+54a3 7823fc00 enable enable_white 
+54a4 7824fc00 enable enable_crc 
+54a5 09800008 parse demod ,bucket ,8 
+54a6 19897e00 rshift3 pwindow ,pdata 
+54a7 600082d9 store 1 ,mem_le_rxbuf 
+54a8 09800008 parse demod ,bucket ,8 
+54a9 19897e00 rshift3 pwindow ,pdata 
+54aa e0a08000 istore 1 ,contw 
+54ab 1fe1723f and pdata ,0x3f ,loopcnt 
+54ac 2022d4b1 branch lerx_nopayload ,zero 
+
+lerx_loop:
+54ad 09800008 parse demod ,bucket ,8 
+54ae 19897e00 rshift3 pwindow ,pdata 
+54af e0a08000 istore 1 ,contw 
+54b0 c20054ad loop lerx_loop 
+
+lerx_nopayload:
+54b1 4725c029 bpatchx patch29_3 ,mem_patch29 
+54b2 09800018 parse demod ,bucket ,24 
+54b3 78287c00 enable swfine 
+54b4 db600664 arg param_sifs ,stop_watch 
+54b5 1fef7e00 rshift32 pdata ,pdata 
+54b6 1ff17e00 rshift16 pdata ,pdata 
+54b7 e0a18000 istore 3 ,contw 
+54b8 2023264d branch end_of_packet ,crc_failed 
+54b9 7836fc00 enable match 
+54ba 68008017 fetch 1 ,mem_last_freq 
+54bb 1fe0a200 add pdata ,0 ,rega 
+54bc 20402981 call rf_write_freq 
+54bd 7846fc00 disable decode_fec0 
+54be 20202918 branch set_sync_on 
+
+le_transmit_receive_sifs:
+54bf 47264029 bpatchx patch29_4 ,mem_patch29 
+54c0 204054c9 call le_transmit 
+
+le_transmit_receive_sifs_notx:
+54c1 68088017 fetcht 1 ,mem_last_freq 
+54c2 2040291f call set_freq_rx 
+54c3 20402924 call rf_rx_enable 
+54c4 78287c00 enable swfine 
+54c5 d960157c arg 5500 ,timeup 
+54c6 2020548f branch le_receive_rxon 
+
+le_transmit_norx:
+54c7 204054c9 call le_transmit 
+54c8 2020264d branch end_of_packet 
+
+le_transmit:
+54c9 4726c029 bpatchx patch29_5 ,mem_patch29 
+54ca 204053d5 call le_prep 
+54cb 204053e3 call letx_setfreq 
+54cc 202054cd branch le_transmit0 
+
+le_transmit0:
+54cd 79202a00 set1 txgfsk ,radio_ctrl 
+54ce 782efc00 enable encode_fec0 
+54cf 78307c00 enable is_tx 
+54d0 7850fc00 disable is_rx 
+54d1 2040547f call le_wait_tx 
+54d2 19317e00 rshift16 access ,pdata 
+54d3 1fecfe00 rshift8 pdata ,pdata 
+54d4 1ff1fe00 rshift4 pdata ,pdata 
+54d5 08008628 inject mod ,40 
+54d6 7823fc00 enable enable_white 
+54d7 7824fc00 enable enable_crc 
+54d8 47274029 bpatchx patch29_6 ,mem_patch29 
+54d9 6800c3dc fetch 1 ,mem_le_txheader 
+54da 08008608 inject mod ,8 
+54db e8c08000 ifetch 1 ,contr 
+54dc 1fe1723f and pdata ,0x3f ,loopcnt 
+54dd 08008608 inject mod ,8 
+54de 2022d4e2 branch letr_nopayload ,zero 
+
+letr_loop:
+54df e8c08000 ifetch 1 ,contr 
+54e0 08008608 inject mod ,8 
+54e1 c20054df loop letr_loop 
+
+letr_nopayload:
+54e2 78247c00 enable enable_parity 
+54e3 08008618 inject mod ,24 
+54e4 78447c00 disable enable_parity 
+54e5 37d38200 until null ,tx_clear 
+54e6 20000064 nop 100 
+54e7 784efc00 disable encode_fec0 
+54e8 20600000 rtn 
+
+le_send_adv_ind:
+54e9 4727c029 bpatchx patch29_7 ,mem_patch29 
+54ea 6800c484 fetch 1 ,mem_le_adv_type 
+54eb c000d4f9 beq adv_direct_ind ,le_send_adv_direct_ind 
+54ec 6800c485 fetch 1 ,mem_le_adv_own_addr_type 
+54ed 1ff27e00 lshift4 pdata ,pdata 
+54ee 1febfe00 lshift2 pdata ,pdata 
+54ef 6000c3dc store 1 ,mem_le_txheader 
+54f0 6808c36f fetcht 1 ,mem_le_adv_data_len 
+54f1 1840fe06 add temp ,6 ,pdata 
+54f2 6000c3dd store 1 ,mem_le_txlen 
+54f3 680344a0 fetch 6 ,mem_le_lap 
+54f4 600343de store 6 ,mem_le_txpayload 
+54f5 18427200 copy temp ,loopcnt 
+54f6 d8c04370 arg mem_le_adv_data ,contr 
+54f7 20407ef4 call memcpy_fast 
+54f8 20205504 branch le_send_adv_transmit 
+
+le_send_adv_direct_ind:
+54f9 6800c486 fetch 1 ,mem_le_adv_direct_addr_type 
+54fa 1ff27e00 lshift4 pdata ,pdata 
+54fb 1febfe00 lshift2 pdata ,pdata 
+54fc 1fe0fe01 increase 1 ,pdata 
+54fd 6000c3dc store 1 ,mem_le_txheader 
+54fe 5800000c setarg 12 
+54ff 6000c3dd store 1 ,mem_le_txlen 
+5500 680344a0 fetch 6 ,mem_le_lap 
+5501 600343de store 6 ,mem_le_txpayload 
+5502 680341d0 fetch 6 ,mem_hci_plap 
+5503 e0a30000 istore 6 ,contw 
+
+le_send_adv_transmit:
+5504 4728402a bpatchx patch2a_0 ,mem_patch2a 
+5505 68008000 fetch 1 ,mem_le_adv_transmit 
+5506 1fe0fe01 increase 1 ,pdata 
+5507 60008000 store 1 ,mem_le_adv_transmit 
+5508 db600708 arg 1800 ,stop_watch 
+5509 7856fc00 disable match 
+550a 202054bf branch le_transmit_receive_sifs 
+
+le_send_scan_request:
+550b 4728c02a bpatchx patch2a_1 ,mem_patch2a 
+550c 6800c49e fetch 1 ,mem_le_scan_type 
+550d c1808000 rtnne le_scan_type_active 
+550e 68008000 fetch 1 ,mem_le_adv_transmit 
+550f 1fe0fe01 increase 1 ,pdata 
+5510 60008000 store 1 ,mem_le_adv_transmit 
+5511 d8400c03 arg 0x0c03 ,temp 
+5512 6800c49f fetch 1 ,mem_le_scan_own_addr_type 
+5513 7d3a0406 nsetflag blank ,le_sender_addr_bit ,temp 
+5514 1a227e00 copy rega ,pdata 
+5515 7d3a0407 nsetflag blank ,le_receiver_addr_bit ,temp 
+5516 600943dc storet 2 ,mem_le_txheader 
+5517 680344a0 fetch 6 ,mem_le_lap 
+5518 e0a30000 istore 6 ,contw 
+5519 6803044f fetch 6 ,mem_le_plap 
+551a e0a30000 istore 6 ,contw 
+551b 202054bf branch le_transmit_receive_sifs 
+
+le_send_scan_response:
+551c 4729402a bpatchx patch2a_2 ,mem_patch2a 
+551d d8400004 arg scan_rsp ,temp 
+551e 6800c485 fetch 1 ,mem_le_adv_own_addr_type 
+551f 7d3a0406 nsetflag blank ,le_sender_addr_bit ,temp 
+5520 6008c3dc storet 1 ,mem_le_txheader 
+5521 6808c38f fetcht 1 ,mem_le_scan_data_len 
+5522 1840fe06 add temp ,6 ,pdata 
+5523 6000c3dd store 1 ,mem_le_txlen 
+5524 680344a0 fetch 6 ,mem_le_lap 
+5525 600343de store 6 ,mem_le_txpayload 
+5526 d8c04390 arg mem_le_scan_data ,contr 
+5527 18427200 copy temp ,loopcnt 
+5528 20407ef4 call memcpy_fast 
+5529 204054c7 call le_transmit_norx 
+552a 20205706 branch le_adv_not_match 
+
+le_connect_request:
+552b 4729c02a bpatchx patch2a_3 ,mem_patch2a 
+552c 18007fff force -1 ,pdata 
+552d 38080001 setsect 2 ,1 
+552e 6002846f store 5 ,mem_le_channel_map 
+552f 2040545b call le_calc_channel_map 
+5530 18007204 force 4 ,loopcnt 
+5531 d8a00463 arg mem_le_access ,contw 
+5532 2040630d call generate_random_loop 
+5533 6801449c fetch 2 ,mem_le_timeout 
+5534 6001046d store 2 ,mem_le_superto 
+
+le_con_req_hop_retry:
+5535 180a7e00 random pdata 
+5536 1fe17e0f and_into 0xf ,pdata 
+5537 1fe67c04 sub pdata ,4 ,null 
+5538 20215535 branch le_con_req_hop_retry ,positive 
+5539 60008458 store 1 ,mem_le_hop 
+553a 600086e6 store 1 ,mem_tmp1 
+553b 472a402a bpatchx patch2a_4 ,mem_patch2a 
+553c 68094367 fetcht 2 ,mem_le_conn_interval 
+553d 60090441 storet 2 ,mem_le_tsniff 
+553e 18422600 copy temp ,regc 
+553f 1c40fe07 add clkn_bt ,7 ,pdata 
+5540 9a66fc00 idiv regc 
+5541 20407f86 call wait_div_end 
+5542 18072200 remainder rega 
+5543 9a267e00 isub rega ,pdata 
+5544 9a60fe00 iadd regc ,pdata 
+5545 68094365 fetcht 2 ,mem_le_dsniff 
+5546 9840fe00 iadd temp ,pdata 
+5547 60020443 store 4 ,mem_le_anchor 
+5548 9c462200 isub clkn_bt ,rega 
+5549 1a20a3fa increase -6 ,rega 
+554a da402205 arg 0x2205 ,regb 
+554b 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+554c 7d3a2406 nsetflag blank ,le_sender_addr_bit ,regb 
+554d 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+554e 7d3a2407 nsetflag blank ,le_receiver_addr_bit ,regb 
+554f 1a427e00 copy regb ,pdata 
+5550 600143dc store 2 ,mem_le_txheader 
+5551 680344a0 fetch 6 ,mem_le_lap 
+5552 e0a30000 istore 6 ,contw 
+5553 6803044f fetch 6 ,mem_le_plap 
+5554 e0a30000 istore 6 ,contw 
+5555 68020463 fetch 4 ,mem_le_access 
+5556 e0a20000 istore 4 ,contw 
+5557 180a7e00 random pdata 
+5558 e0a10000 istore 2 ,contw 
+5559 180a7e00 random pdata 
+555a e0a08000 istore 1 ,contw 
+555b 18007e02 force 2 ,pdata 
+555c e0a08000 istore 1 ,contw 
+555d 1a2b7e00 rshift2 rega ,pdata 
+555e e0a10000 istore 2 ,contw 
+555f 1a6b7e00 rshift2 regc ,pdata 
+5560 e0a10000 istore 2 ,contw 
+5561 472ac02a bpatchx patch2a_5 ,mem_patch2a 
+5562 58000000 setarg 0 
+5563 e0a10000 istore 2 ,contw 
+5564 6801449c fetch 2 ,mem_le_timeout 
+5565 e0a10000 istore 2 ,contw 
+5566 6802846f fetch 5 ,mem_le_channel_map 
+5567 e0a28000 istore 5 ,contw 
+5568 68008458 fetch 1 ,mem_le_hop 
+5569 d84000a0 arg param_le_sca ,temp 
+556a 9841fe00 ior temp ,pdata 
+556b e0a08000 istore 1 ,contw 
+556c 204054c7 call le_transmit_norx 
+556d 580043dc setarg mem_le_txheader 
+556e 1fe08c12 add pdata ,18 ,contr 
+556f e8c18000 ifetch 3 ,contr 
+5570 60018467 store 3 ,mem_le_crcinit 
+5571 20600000 rtn 
+
+le_init_adv:
+5572 472b402a bpatchx patch2a_6 ,mem_patch2a 
+5573 7854fc00 disable master 
+5574 2020540c branch le_adv_access 
+
+le_update_param:
+5575 6800843f fetch 1 ,mem_le_state 
+5576 c4028000 rtnbit0 lestate_update_param 
+5577 68010459 fetch 2 ,mem_le_event_count 
+5578 6809045f fetcht 2 ,mem_le_instant 
+5579 98467e00 isub temp ,pdata 
+557a 24610000 nrtn positive 
+557b 60010a9a store 2 ,mem_pdatatemp 
+557c 472bc02a bpatchx patch2a_7 ,mem_patch2a 
+557d 6800843f fetch 1 ,mem_le_state 
+557e 793ffe05 set0 lestate_update_param ,pdata 
+557f 793ffe03 set0 lestate_got_first_packet ,pdata 
+5580 6000843f store 1 ,mem_le_state 
+5581 68020443 fetch 4 ,mem_le_anchor 
+5582 68090441 fetcht 2 ,mem_le_tsniff 
+5583 60090aa2 storet 2 ,mem_temp 
+5584 98462200 isub temp ,rega 
+5585 472c402b bpatchx patch2b_0 ,mem_patch2b 
+5586 6800c3d3 fetch 1 ,mem_le_new_param 
+5587 6000846a store 1 ,mem_le_window_size 
+5588 e8c90000 ifetcht 2 ,contr 
+5589 e8c10000 ifetch 2 ,contr 
+558a 1febfe00 lshift2 pdata ,pdata 
+558b 60010441 store 2 ,mem_le_tsniff 
+558c 184b8400 lshift2 temp ,temp 
+558d 9840fe00 iadd temp ,pdata 
+558e e8ca0000 ifetcht 4 ,contr 
+558f 600a046b storet 4 ,mem_le_slave_latency 
+5590 9a20fe00 iadd rega ,pdata 
+5591 1fe22800 copy pdata ,regab 
+5592 68010441 fetch 2 ,mem_le_tsniff 
+5593 68090aa2 fetcht 2 ,mem_temp 
+5594 98467e00 isub temp ,pdata 
+5595 68090a9a fetcht 2 ,mem_pdatatemp 
+5596 984ffe00 imul32 temp ,pdata 
+5597 9a80fe00 iadd regab ,pdata 
+5598 60020443 store 4 ,mem_le_anchor 
+5599 20405713 call le_receive_window_size 
+559a 6801046d fetch 2 ,mem_le_superto 
+559b 600144ba store 2 ,mem_le_init_superto 
+559c 20600000 rtn 
+
+le_update_channel_map:
+559d 472cc02b bpatchx patch2b_1 ,mem_patch2b 
+559e 6800843f fetch 1 ,mem_le_state 
+559f c4030000 rtnbit0 lestate_update_map 
+55a0 68010459 fetch 2 ,mem_le_event_count 
+55a1 6809045f fetcht 2 ,mem_le_instant 
+55a2 98467e00 isub temp ,pdata 
+55a3 24610000 nrtn positive 
+55a4 6800843f fetch 1 ,mem_le_state 
+55a5 793ffe06 set0 lestate_update_map ,pdata 
+55a6 6000843f store 1 ,mem_le_state 
+55a7 6802c3ce fetch 5 ,mem_le_new_map 
+55a8 6002846f store 5 ,mem_le_channel_map 
+55a9 2020545b branch le_calc_channel_map 
+
+le_acknowledge:
+55aa 472d402b bpatchx patch2b_2 ,mem_patch2b 
+55ab 204056ed call le_supervision_flush 
+55ac 204055c0 call le_check_wak 
+55ad 680082d9 fetch 1 ,mem_le_rxbuf 
+55ae 2feffe04 isolate1 md ,pdata 
+55af 7920802a setflag true ,mark_ble_rx_md ,mark 
+55b0 1fe37e00 rshift pdata ,pdata 
+55b1 9842fe00 ixor temp ,pdata 
+55b2 2feffe02 isolate1 nesn ,pdata 
+55b3 7920800f setflag true ,mark_old_packet ,mark 
+55b4 c6078000 rtnmark1 mark_old_packet 
+55b5 680082da fetch 1 ,mem_le_rxbuf + 1 
+55b6 203a55bc branch le_ack_unenc ,blank 
+55b7 6800843f fetch 1 ,mem_le_state 
+55b8 c30255bc bbit0 lestate_encryption ,le_ack_unenc 
+55b9 2040748d call load_sk 
+55ba 204073fb call le_decrypt 
+55bb 247a0000 nrtn blank 
+
+le_ack_unenc:
+55bc 68088456 fetcht 1 ,mem_le_arq 
+55bd 79400402 setflip nesn ,temp 
+55be 60088456 storet 1 ,mem_le_arq 
+55bf 20600000 rtn 
+
+le_check_wak:
+55c0 472dc02b bpatchx patch2b_3 ,mem_patch2b 
+55c1 68088456 fetcht 1 ,mem_le_arq 
+55c2 284c0005 isolate0 wak ,temp 
+55c3 20608000 rtn true 
+55c4 680082d9 fetch 1 ,mem_le_rxbuf 
+55c5 1fe3fe00 lshift pdata ,pdata 
+55c6 9842fe00 ixor temp ,pdata 
+55c7 c4018000 rtnbit0 sn 
+55c8 793f8405 set0 wak ,temp 
+55c9 79400403 setflip sn ,temp 
+55ca 60088456 storet 1 ,mem_le_arq 
+55cb 28400603 compare 3 ,temp ,3 
+55cc 24608000 nrtn true 
+55cd 6800c3de fetch 1 ,mem_le_txpayload 
+55ce c002d5d2 beq ll_start_enc_req ,le_set_enc 
+55cf 6800c4c5 fetch 1 ,mem_le_enc_state 
+55d0 c00155d6 beq flag_le_enc_pause ,le_clear_enc 
+55d1 20600000 rtn 
+
+le_set_enc:
+55d2 6800843f fetch 1 ,mem_le_state 
+55d3 79207e04 set1 lestate_encryption ,pdata 
+55d4 6000843f store 1 ,mem_le_state 
+55d5 20600000 rtn 
+
+le_clear_enc:
+55d6 472e402b bpatchx patch2b_4 ,mem_patch2b 
+55d7 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+55d8 dfe00000 arg 0 ,pdata 
+55d9 6002440d store 4 ,mem_le_last_mic 
+55da 6002c403 store 5 ,mem_le_pcnt_tx 
+55db 79207e27 set1 39 ,pdata 
+55dc 6002c408 store 5 ,mem_le_pcnt_rx 
+55dd 6800843f fetch 1 ,mem_le_state 
+55de 793ffe04 set0 lestate_encryption ,pdata 
+55df 6000843f store 1 ,mem_le_state 
+55e0 20600000 rtn 
+
+le_wait_adv:
+55e1 472ec02b bpatchx patch2b_5 ,mem_patch2b 
+55e2 20405422 call le_next_adv_channel 
+55e3 20405485 call le_receive_adv 
+55e4 68008001 fetch 1 ,mem_le_adv_waitcnt 
+55e5 1fe0fe01 increase 1 ,pdata 
+55e6 60008001 store 1 ,mem_le_adv_waitcnt 
+55e7 20600000 rtn 
+
+le_scan:
+55e8 472f402b bpatchx patch2b_6 ,mem_patch2b 
+55e9 6800c369 fetch 1 ,mem_le_scan_enable 
+55ea c1808000 rtnne le_scan_enable 
+55eb d8e00002 arg le_scan_interval_timer ,queue 
+55ec 20407f16 call timer_check 
+55ed 247a0000 nrtn blank 
+55ee 6801436a fetch 2 ,mem_le_scan_interval 
+55ef 6809436c fetcht 2 ,mem_le_scan_window 
+55f0 98467e00 isub temp ,pdata 
+55f1 d8e00002 arg le_scan_interval_timer ,queue 
+55f2 20407f08 call timer_init 
+55f3 7854fc00 disable master 
+55f4 20405572 call le_init_adv 
+55f5 204055e1 call le_wait_adv 
+55f6 24768000 nrtn match 
+55f7 472fc02b bpatchx patch2b_7 ,mem_patch2b 
+55f8 680302db fetch 6 ,mem_le_rxbuf + 2 
+55f9 6003044f store 6 ,mem_le_plap 
+55fa 68008002 fetch 1 ,mem_le_adv_rcv 
+55fb 1fe0fe01 increase 1 ,pdata 
+55fc 60008002 store 1 ,mem_le_adv_rcv 
+55fd 20405608 call le_create_conn 
+55fe 20748000 rtn master 
+55ff 2040550b call le_send_scan_request 
+5600 24768000 nrtn match 
+5601 4730402c bpatchx patch2c_0 ,mem_patch2c 
+5602 68008004 fetch 1 ,mem_le_scanrsp_rcv 
+5603 1fe0fe01 increase 1 ,pdata 
+5604 60008004 store 1 ,mem_le_scanrsp_rcv 
+5605 680482e1 fetch 9 ,mem_le_rxbuf + 8 
+5606 60048101 store 9 ,mem_tmp_buffer 
+5607 20600000 rtn 
+
+le_create_conn:
+5608 4730c02c bpatchx patch2c_1 ,mem_patch2c 
+5609 6800849b fetch 1 ,mem_cmd_le_create_conn 
+560a c18d8000 rtnne hci_cmd_le_create_conn 
+560b 6803044f fetch 6 ,mem_le_plap 
+560c 680b448f fetcht 6 ,mem_le_conn_peer_addr 
+560d 98467c00 isub temp ,null 
+560e 24628000 nrtn zero 
+560f 2040223b call context_new 
+5610 24628000 nrtn zero 
+5611 2040552b call le_connect_request 
+5612 20405340 call le_init_master 
+5613 4731402c bpatchx patch2c_2 ,mem_patch2c 
+5614 7041ce00 jam 0 ,mem_hci_cmd 
+5615 70047600 jam 0 ,mem_le_peer_sca 
+5616 70436900 jam 0 ,mem_le_scan_enable 
+5617 70049b00 jam 0 ,mem_cmd_le_create_conn 
+5618 20202223 branch context_save 
+
+le_scan_check_sender_addr_type:
+5619 da200001 arg 1 ,rega 
+561a 680082d9 fetch 1 ,mem_le_rxbuf 
+561b c3830000 rtnbit1 le_sender_addr_bit 
+561c da200000 arg 0 ,rega 
+561d 20600000 rtn 
+
+le_prepare_tx:
+561e 4731c02c bpatchx patch2c_3 ,mem_patch2c 
+561f 68008456 fetch 1 ,mem_le_arq 
+5620 c3828000 rtnbit1 wak 
+5621 20405642 call le_check_tx_md 
+5622 20405873 call le_fifo_get_first_tx_ptr 
+5623 203a5664 branch le_send_empty ,blank 
+5624 e8c08000 ifetch 1 ,contr 
+5625 e8c88000 ifetcht 1 ,contr 
+5626 18422200 copy temp ,rega 
+5627 9a267e00 isub rega ,pdata 
+5628 d840001b arg le_max_paket_len ,temp 
+5629 20407fdd call not_greater_than 
+562a 1fe20400 copy pdata ,temp 
+562b e8c08000 ifetch 1 ,contr 
+562c 1fe20200 copy pdata ,type 
+562d 1a227e00 copy rega ,pdata 
+562e 98c08c00 iadd contr ,contr 
+562f d8a043de arg mem_le_txpayload ,contw 
+5630 18427200 copy temp ,loopcnt 
+5631 20407f01 call memcpy 
+5632 20405654 call le_update_tx_type 
+5633 20405666 call le_send_packet 
+5634 20405873 call le_fifo_get_first_tx_ptr 
+5635 e8c08000 ifetch 1 ,contr 
+5636 1fe22200 copy pdata ,rega 
+5637 18c22600 copy contr ,regc 
+5638 e8c88000 ifetcht 1 ,contr 
+5639 18422400 copy temp ,regb 
+563a 9a467e00 isub regb ,pdata 
+563b d840001b arg le_max_paket_len ,temp 
+563c 20407fdd call not_greater_than 
+563d 9a40fe00 iadd regb ,pdata 
+563e e2608000 istore 1 ,regc 
+563f 9a267c00 isub rega ,null 
+5640 24628000 nrtn zero 
+5641 20205896 branch le_fifo_release_first_node 
+
+le_check_tx_md:
+5642 20405649 call le_check_continue 
+5643 c6148000 rtnmark1 mark_ble_tx_md 
+5644 6800c4e9 fetch 1 ,mem_le_configuration 
+5645 c3015652 bbit0 bit_ble_transmit_packet_by_md ,le_clear_md 
+5646 20405876 call le_fifo_get_second_tx_ptr 
+5647 203a5652 branch le_clear_md ,blank 
+5648 20205650 branch le_set_md 
+
+le_check_continue:
+5649 20405873 call le_fifo_get_first_tx_ptr 
+564a 203a5652 branch le_clear_md ,blank 
+564b e8c08000 ifetch 1 ,contr 
+564c e8c88000 ifetcht 1 ,contr 
+564d 98467e00 isub temp ,pdata 
+564e 1fe67c1b sub pdata ,le_max_paket_len ,null 
+564f 20215652 branch le_clear_md ,positive 
+
+le_set_md:
+5650 79200029 set1 mark_ble_tx_md ,mark 
+5651 20600000 rtn 
+
+le_clear_md:
+5652 793f8029 set0 mark_ble_tx_md ,mark 
+5653 20600000 rtn 
+
+le_update_tx_type:
+5654 1a227e00 copy rega ,pdata 
+5655 207a0000 rtn blank 
+5656 d8200001 arg llid_continue ,type 
+5657 20600000 rtn 
+
+le_att_check_notification_enable:
+5658 4732402c bpatchx patch2c_4 ,mem_patch2c 
+5659 18408401 increase 1 ,temp 
+565a 2040576a call le_att_get_handle_ptr 
+565b 18c08dfe increase -2 ,contr 
+565c e8c10000 ifetch 2 ,contr 
+565d d8402902 arg client_charactertic_configuration ,temp 
+565e 98467c00 isub temp ,null 
+565f 24628000 nrtn zero 
+5660 18c08c01 increase 1 ,contr 
+5661 18c22200 copy contr ,rega 
+5662 e8c08000 ifetch 1 ,contr 
+5663 20600000 rtn 
+
+le_send_empty:
+5664 18000400 force 0 ,temp 
+5665 18000201 force 1 ,type 
+
+le_send_packet:
+5666 4732c02c bpatchx patch2c_5 ,mem_patch2c 
+5667 6008c3dd storet 1 ,mem_le_txlen 
+5668 68088456 fetcht 1 ,mem_le_arq 
+5669 79200405 set1 wak ,temp 
+566a 18417efc and temp ,0xfc ,pdata 
+566b 9821fe00 ior type ,pdata 
+566c 60008456 store 1 ,mem_le_arq 
+566d 1fe17e1f and_into 0x1f ,pdata 
+566e 280ffe29 isolate1 mark_ble_tx_md ,mark 
+566f 7920fe04 setflag true ,md ,pdata 
+5670 6000c3dc store 1 ,mem_le_txheader 
+5671 6800c3dc fetch 1 ,mem_le_txheader 
+5672 28200601 compare 1 ,type ,3 
+5673 2420d676 nbranch le_send_no_txlen ,true 
+5674 6800c3dd fetch 1 ,mem_le_txlen 
+5675 207a0000 rtn blank 
+
+le_send_no_txlen:
+5676 6800843f fetch 1 ,mem_le_state 
+5677 c4020000 rtnbit0 lestate_encryption 
+5678 2040748d call load_sk 
+5679 202073e3 branch le_encrypt 
+
+get_lpm_wake_ble_rx_lock:
+567a d8e00000 arg wake_lock_ble_rx ,queue 
+567b 20202c32 branch lpm_get_wake_lock 
+
+put_lpm_wake_ble_rx_lock:
+567c d8e00000 arg wake_lock_ble_rx ,queue 
+567d 20202c36 branch lpm_put_wake_lock 
+
+le_parse:
+567e 4733402c bpatchx patch2c_6 ,mem_patch2c 
+567f c6078000 rtnmark1 mark_old_packet 
+5680 20405890 call le_fifo_check_full 
+5681 247a0000 nrtn blank 
+5682 680082d9 fetch 1 ,mem_le_rxbuf 
+5683 1fe17e03 and pdata ,0x3 ,pdata 
+5684 6000c50c store 1 ,mem_le_packet_llid 
+5685 e8c08000 ifetch 1 ,contr 
+5686 1fe17e1f and pdata ,0x1f ,pdata 
+5687 6000c50b store 1 ,mem_le_packet_size 
+5688 207a0000 rtn blank 
+5689 18c27e00 copy contr ,pdata 
+568a 6001450d store 2 ,mem_le_payload_ptr 
+568b 6800c50c fetch 1 ,mem_le_packet_llid 
+568c c001dc64 beq llid_le_ll ,le_parse_ll 
+
+le_parse_l2cap:
+568d 2040569a call le_check_l2cap_complete 
+568e 2434567a nbranch get_lpm_wake_ble_rx_lock ,user 
+568f 2040567c call put_lpm_wake_ble_rx_lock 
+5690 6801450d fetch 2 ,mem_le_payload_ptr 
+5691 1fe20c00 copy pdata ,contr 
+5692 e8c10000 ifetch 2 ,contr 
+5693 600144fc store 2 ,mem_le_l2cap_size 
+5694 4733c02c bpatchx patch2c_7 ,mem_patch2c 
+5695 e8c10000 ifetch 2 ,contr 
+5696 c00258ab beq le_l2cap_cid_att ,le_parse_att 
+5697 c0035af4 beq le_l2cap_cid_smp ,le_parse_smp 
+5698 c002dab6 beq le_l2cap_cid_signal ,le_parse_signaling 
+5699 20600000 rtn 
+
+le_check_l2cap_complete:
+569a 6800c50c fetch 1 ,mem_le_packet_llid 
+569b c00156a9 beq llid_start ,le_check_l2cap_llid_start 
+569c c000d6c1 beq llid_continue ,le_check_l2cap_llid_continue 
+569d 20600000 rtn 
+
+le_check_l2cap_cid_legal:
+569e 20407fe7 call enable_user 
+569f d8400004 arg le_l2cap_cid_att ,temp 
+56a0 9fe67c00 isub pdata ,null 
+56a1 20628000 rtn zero 
+56a2 d8400005 arg le_l2cap_cid_signal ,temp 
+56a3 9fe67c00 isub pdata ,null 
+56a4 20628000 rtn zero 
+56a5 d8400006 arg le_l2cap_cid_smp ,temp 
+56a6 9fe67c00 isub pdata ,null 
+56a7 20628000 rtn zero 
+56a8 20207fe9 branch disable_user 
+
+le_check_l2cap_llid_start:
+56a9 6801450d fetch 2 ,mem_le_payload_ptr 
+56aa 1fe20c00 copy pdata ,contr 
+56ab e8c10000 ifetch 2 ,contr 
+56ac 600144fc store 2 ,mem_le_l2cap_size 
+56ad e8c10000 ifetch 2 ,contr 
+56ae 2040569e call le_check_l2cap_cid_legal 
+56af 24740000 nrtn user 
+56b0 6808c50b fetcht 1 ,mem_le_packet_size 
+56b1 6008c4fe storet 1 ,mem_le_packet_len_recved 
+56b2 680144fc fetch 2 ,mem_le_l2cap_size 
+56b3 1fe0fe04 increase 4 ,pdata 
+56b4 98467c00 isub temp ,null 
+56b5 2022ffe7 branch enable_user ,zero 
+56b6 6800c50b fetch 1 ,mem_le_packet_size 
+56b7 1fe27200 copy pdata ,loopcnt 
+56b8 d8a00311 arg mem_le_l2capbuf ,contw 
+56b9 6801450d fetch 2 ,mem_le_payload_ptr 
+56ba 1fe20c00 copy pdata ,contr 
+56bb 20407f01 call memcpy 
+56bc 20207fe9 branch disable_user 
+
+le_check_l2cap_continue_legal:
+56bd 20407fe7 call enable_user 
+56be 6800c4fe fetch 1 ,mem_le_packet_len_recved 
+56bf 247a0000 nrtn blank 
+56c0 20207fe9 branch disable_user 
+
+le_check_l2cap_llid_continue:
+56c1 204056bd call le_check_l2cap_continue_legal 
+56c2 24740000 nrtn user 
+56c3 6800c4fe fetch 1 ,mem_le_packet_len_recved 
+56c4 d8a00311 arg mem_le_l2capbuf ,contw 
+56c5 98a0a200 iadd contw ,rega 
+56c6 6808c50b fetcht 1 ,mem_le_packet_size 
+56c7 9840fe00 iadd temp ,pdata 
+56c8 6000c4fe store 1 ,mem_le_packet_len_recved 
+56c9 6800c50b fetch 1 ,mem_le_packet_size 
+56ca 1fe27200 copy pdata ,loopcnt 
+56cb 1a220a00 copy rega ,contw 
+56cc 6801450d fetch 2 ,mem_le_payload_ptr 
+56cd 1fe20c00 copy pdata ,contr 
+56ce 20407ef4 call memcpy_fast 
+56cf 58000311 setarg mem_le_l2capbuf 
+56d0 6001450d store 2 ,mem_le_payload_ptr 
+56d1 680144fc fetch 2 ,mem_le_l2cap_size 
+56d2 1fe0fe04 increase 4 ,pdata 
+56d3 6808c4fe fetcht 1 ,mem_le_packet_len_recved 
+56d4 98467c00 isub temp ,null 
+56d5 2022ffe7 branch enable_user ,zero 
+56d6 20207fe9 branch disable_user 
+
+le_get_search_att_type:
+56d7 20407ea5 call store_contr 
+56d8 d8a0445e arg mem_le_search_att_type_length ,contw 
+
+le_get_search_common:
+56d9 680144fc fetch 2 ,mem_le_l2cap_size 
+56da 1fe0fffb increase -5 ,pdata 
+
+le_get_search_common2:
+56db e0a08000 istore 1 ,contw 
+56dc 1fe27200 copy pdata ,loopcnt 
+56dd 20407e9f call get_contr 
+56de 20207ef4 branch memcpy_fast 
+
+le_get_search_att_uuid:
+56df 20407ea5 call store_contr 
+56e0 d8a04471 arg mem_le_search_uuid_length ,contw 
+56e1 202056d9 branch le_get_search_common 
+
+le_writeatt_cb:
+56e2 680141f9 fetch 2 ,mem_cb_att_write 
+56e3 20207f9c branch callback_func 
+
+le_supervision_update:
+56e4 680a045b fetcht 4 ,mem_le_supervision_timer 
+56e5 20402a7b call get_clkbt 
+56e6 98461600 isub temp ,timeup 
+56e7 19627e00 deposit timeup 
+56e8 6809046d fetcht 2 ,mem_le_superto 
+56e9 18520400 lshift4 temp ,temp 
+56ea 18438400 lshift temp ,temp 
+56eb 98467e00 isub temp ,pdata 
+56ec 20600000 rtn 
+
+le_supervision_flush:
+56ed 20402a7b call get_clkbt 
+56ee 6002045b store 4 ,mem_le_supervision_timer 
+56ef 20600000 rtn 
+
+le_adv:
+56f0 70001624 jam 36 ,mem_le_ch_mapped 
+56f1 700ac200 jam 0 ,mem_le_adv_channel_map_temp 
+
+le_adv_loop:
+56f2 4734402d bpatchx patch2d_0 ,mem_patch2d 
+56f3 6800c36e fetch 1 ,mem_le_adv_enable 
+56f4 207a0000 rtn blank 
+56f5 d8e00000 arg le_adv_interval_timer ,queue 
+56f6 20407f16 call timer_check 
+56f7 247a0000 nrtn blank 
+56f8 4734c02d bpatchx patch2d_1 ,mem_patch2d 
+
+le_adv_loop_tx:
+56f9 7854fc00 disable master 
+56fa 78287c00 enable swfine 
+56fb 20405572 call le_init_adv 
+56fc 20405422 call le_next_adv_channel 
+56fd 204054e9 call le_send_adv_ind 
+56fe 2436d706 nbranch le_adv_not_match ,match 
+56ff 68008003 fetch 1 ,mem_le_req_rcv 
+5700 1fe0fe01 increase 1 ,pdata 
+5701 60008003 store 1 ,mem_le_req_rcv 
+5702 680082d9 fetch 1 ,mem_le_rxbuf 
+5703 1fe17e0f and pdata ,0x0f ,pdata 
+5704 c001d51c beq scan_req ,le_send_scan_response 
+5705 c002d728 beq connect_req ,le_parse_connect_req 
+
+le_adv_not_match:
+5706 4735402d bpatchx patch2d_2 ,mem_patch2d 
+5707 180a7e00 random pdata 
+5708 d84001ff arg 0x1ff ,temp 
+5709 98417e00 iand temp ,pdata 
+570a 1fe0fefa add pdata ,250 ,pdata 
+570b 20403cbe call delay 
+570c 68008ac2 fetch 1 ,mem_le_adv_channel_map_temp 
+570d 6808c48d fetcht 1 ,mem_le_adv_channel_map 
+570e 98467c00 isub temp ,null 
+570f 2422d6f2 nbranch le_adv_loop ,zero 
+5710 d8e00000 arg le_adv_interval_timer ,queue 
+5711 68014482 fetch 2 ,mem_le_adv_interval 
+5712 20207f08 branch timer_init 
+
+le_receive_window_size:
+5713 4735c02d bpatchx patch2d_3 ,mem_patch2d 
+5714 68008476 fetch 1 ,mem_le_peer_sca 
+5715 204053fc call le_sca_map 
+5716 68010441 fetch 2 ,mem_le_tsniff 
+5717 984ffe00 imul32 temp ,pdata 
+5718 d8400177 arg 375 ,temp 
+5719 984ffe00 imul32 temp ,pdata 
+571a d84186a0 arg 100000 ,temp 
+571b 9846fc00 idiv temp 
+571c 6800846a fetch 1 ,mem_le_window_size 
+571d d8404e20 arg 20000 ,temp 
+571e 984ffe00 imul32 temp ,pdata 
+571f 9840fe00 iadd temp ,pdata 
+5720 600244e5 store 4 ,mem_le_transmit_window 
+5721 4736402d bpatchx patch2d_4 ,mem_patch2d 
+5722 680140c1 fetch 2 ,mem_rx_window_sniff 
+5723 20407f86 call wait_div_end 
+5724 18078400 quotient temp 
+5725 9840fe00 iadd temp ,pdata 
+5726 6001044d store 2 ,mem_le_receive_window 
+5727 20600000 rtn 
+
+le_parse_connect_req:
+5728 4736c02d bpatchx patch2d_5 ,mem_patch2d 
+5729 680302e1 fetch 6 ,mem_le_rxbuf + 8 
+572a 680b44a0 fetcht 6 ,mem_le_lap 
+572b 98467c00 isub temp ,null 
+572c 24628000 nrtn zero 
+572d 20405619 call le_scan_check_sender_addr_type 
+572e 1a227e00 copy rega ,pdata 
+572f 6000c48e store 1 ,mem_le_conn_peer_addr_type 
+5730 680382ee fetch 7 ,mem_le_rxbuf + 21 
+5731 60038101 store 7 ,mem_tmp_buffer 
+5732 e8c40000 ifetch 8 ,contr 
+5733 e0a40000 istore 8 ,contw 
+5734 680302db fetch 6 ,mem_le_rxbuf + 2 
+5735 6003044f store 6 ,mem_le_plap 
+5736 18c08c06 increase 6 ,contr 
+5737 e8c40000 ifetch 8 ,contr 
+5738 60040463 store 8 ,mem_le_access 
+5739 e8c90000 ifetcht 2 ,contr 
+573a 4737402d bpatchx patch2d_6 ,mem_patch2d 
+573b 184b8400 lshift2 temp ,temp 
+573c e8c10000 ifetch 2 ,contr 
+573d 1febfe00 lshift2 pdata ,pdata 
+573e 60010441 store 2 ,mem_le_tsniff 
+573f 60020443 store 4 ,mem_le_anchor 
+5740 98467e00 isub temp ,pdata 
+5741 1fe0d1fe add pdata ,-2 ,clke_bt 
+5742 e8c48000 ifetch 9 ,contr 
+5743 6004846b store 9 ,mem_le_slave_latency 
+5744 4737c02d bpatchx patch2d_7 ,mem_patch2d 
+5745 e8c08000 ifetch 1 ,contr 
+5746 1ff18400 rshift4 pdata ,temp 
+5747 18430400 rshift temp ,temp 
+5748 60088476 storet 1 ,mem_le_peer_sca 
+5749 1fe17e1f and_into 0x1f ,pdata 
+574a 60008458 store 1 ,mem_le_hop 
+574b 20405713 call le_receive_window_size 
+574c 2040545b call le_calc_channel_map 
+574d 2040534c call le_init_slave 
+574e 2040223b call context_new 
+574f 24628000 nrtn zero 
+5750 4738402e bpatchx patch2e_0 ,mem_patch2e 
+5751 20402841 call calc_clke_offset 
+5752 20405ad3 call le_l2cap_reset_signaling_identifier 
+5753 700a9914 jam bt_evt_le_connected ,mem_fifo_temp 
+5754 20407d86 call ui_ipc_send_event 
+5755 20202223 branch context_save 
+
+le_init_attlist_search:
+5756 4738c02e bpatchx patch2e_1 ,mem_patch2e 
+5757 6801445a fetch 2 ,mem_le_search_handle_start 
+5758 98002400 iforce regb 
+5759 6801445c fetch 2 ,mem_le_search_handle_end 
+575a 98002600 iforce regc 
+575b 680144bc fetch 2 ,mem_ui_le_uuid_table 
+575c 98000c00 iforce contr 
+575d 78347c00 enable user 
+575e 20600000 rtn 
+
+le_att_handle_inrange:
+575f e8c10000 ifetch 2 ,contr 
+5760 207a0000 rtn blank 
+5761 9a467c00 isub regb ,null 
+5762 24610000 nrtn positive 
+5763 9a667c00 isub regc ,null 
+5764 20628000 rtn zero 
+5765 20215768 branch le_att_handle_blank ,positive 
+5766 18007c01 force 1 ,null 
+5767 20600000 rtn 
+
+le_att_handle_blank:
+5768 18007e00 force 0 ,pdata 
+5769 20600000 rtn 
+
+le_att_get_handle_ptr:
+576a 2040576d call le_att_get_handle_ptr2 
+576b 2022d779 branch le_att_get_handle_ptr_found ,zero 
+576c 20600000 rtn 
+
+le_att_get_handle_ptr2:
+576d 4739402e bpatchx patch2e_2 ,mem_patch2e 
+576e 680144bc fetch 2 ,mem_ui_le_uuid_table 
+576f 98000c00 iforce contr 
+
+le_att_get_handle_loop1:
+5770 e8c10000 ifetch 2 ,contr 
+5771 207a0000 rtn blank 
+5772 98467c00 isub temp ,null 
+5773 20628000 rtn zero 
+5774 e8c08000 ifetch 1 ,contr 
+5775 98c08c00 iadd contr ,contr 
+5776 e8c08000 ifetch 1 ,contr 
+5777 98c08c00 iadd contr ,contr 
+5778 20205770 branch le_att_get_handle_loop1 
+
+le_att_get_handle_ptr_found:
+5779 e8c08000 ifetch 1 ,contr 
+577a 98c08c00 iadd contr ,contr 
+577b 20600000 rtn 
+
+le_att_get_short_uuid_ptr:
+577c 4739c02e bpatchx patch2e_3 ,mem_patch2e 
+577d 680144bc fetch 2 ,mem_ui_le_uuid_table 
+577e 98000c00 iforce contr 
+
+le_att_get_short_uuid_loop:
+577f e8c10000 ifetch 2 ,contr 
+5780 207a0000 rtn blank 
+5781 e8c08000 ifetch 1 ,contr 
+5782 98c08c00 iadd contr ,contr 
+5783 18c08dfe increase -2 ,contr 
+5784 e8c10000 ifetch 2 ,contr 
+5785 98467c00 isub temp ,null 
+5786 20628000 rtn zero 
+5787 e8c08000 ifetch 1 ,contr 
+5788 98c08c00 iadd contr ,contr 
+5789 2020577f branch le_att_get_short_uuid_loop 
+
+le_att_get_handle_info_from_ptr:
+578a 6801049c fetch 2 ,mem_le_cur_attlist_start_ptr 
+578b 2020578e branch le_att_get_handle_info_fast 
+
+le_att_get_handle_info:
+578c 473a402e bpatchx patch2e_4 ,mem_patch2e 
+578d 680144bc fetch 2 ,mem_ui_le_uuid_table 
+
+le_att_get_handle_info_fast:
+578e 98000c00 iforce contr 
+578f 18422200 copy temp ,rega 
+
+le_att_get_handle_loop:
+5790 e8c10000 ifetch 2 ,contr 
+5791 203a5799 branch le_att_unfind_handle ,blank 
+5792 9a267c00 isub rega ,null 
+5793 2022d79a branch le_att_finded_handle ,zero 
+5794 e8c08000 ifetch 1 ,contr 
+5795 98c08c00 iadd contr ,contr 
+5796 e8c08000 ifetch 1 ,contr 
+5797 98c08c00 iadd contr ,contr 
+5798 20205790 branch le_att_get_handle_loop 
+
+le_att_unfind_handle:
+5799 20207fef branch disable_blank 
+
+le_att_finded_handle:
+579a e8c08000 ifetch 1 ,contr 
+579b 600084a2 store 1 ,mem_le_cur_uuid_length 
+579c 1fe27200 copy pdata ,loopcnt 
+579d d8a004a3 arg mem_le_cur_uuid ,contw 
+579e 20407ef4 call memcpy_fast 
+579f e8c08000 ifetch 1 ,contr 
+57a0 600084b3 store 1 ,mem_le_curr_att_len 
+57a1 20407ea5 call store_contr 
+57a2 20207ff1 branch enable_blank 
+
+le_modified_name:
+57a3 473ac02e bpatchx patch2e_5 ,mem_patch2e 
+57a4 204057a6 call le_modified_name_att_list 
+57a5 202057b8 branch le_modified_name_adv 
+
+le_modified_name_att_list:
+57a6 d8402a00 arg uuid_chrctr_device_name ,temp 
+57a7 2040577c call le_att_get_short_uuid_ptr 
+57a8 207a0000 rtn blank 
+57a9 e8c08000 ifetch 1 ,contr 
+57aa 18c20a00 copy contr ,contw 
+57ab 6808c3af fetcht 1 ,mem_le_name_len 
+57ac 18427200 copy temp ,loopcnt 
+57ad 98467c00 isub temp ,null 
+57ae 242157b5 nbranch le_name_length_longer_than_att ,positive 
+57af 98460400 isub temp ,temp 
+57b0 d8c043b0 arg mem_le_name ,contr 
+57b1 20407f01 call memcpy 
+57b2 18427200 copy temp ,loopcnt 
+57b3 2442d7f0 ncall memcpy_empty ,zero 
+57b4 20600000 rtn 
+
+le_name_length_longer_than_att:
+57b5 1fe27200 copy pdata ,loopcnt 
+57b6 d8c043b0 arg mem_le_name ,contr 
+57b7 20207ef4 branch memcpy_fast 
+
+le_modified_name_adv:
+57b8 da60438f arg mem_le_adv_data_len + 32 ,regc 
+57b9 da204370 arg mem_le_adv_data ,rega 
+57ba 204057c5 call le_modified_name_adv_and_scan 
+57bb 58000000 setarg 0 
+57bc 79347e00 setflag user ,0 ,pdata 
+57bd 60008a9a store 1 ,mem_pdatatemp 
+57be da6043af arg mem_le_scan_data_len + 32 ,regc 
+57bf da204390 arg mem_le_scan_data ,rega 
+57c0 204057c5 call le_modified_name_adv_and_scan 
+57c1 20740000 rtn user 
+57c2 68008a9a fetch 1 ,mem_pdatatemp 
+57c3 203a2a8c branch assert ,blank 
+57c4 20600000 rtn 
+
+le_modified_name_adv_and_scan:
+57c5 473b402e bpatchx patch2e_6 ,mem_patch2e 
+57c6 20407fe7 call enable_user 
+57c7 20407eda call clear_temp_block 
+57c8 da400000 arg 0 ,regb 
+57c9 d8a00ac3 arg mem_le_data_temp ,contw 
+57ca 204057df call le_modified_name_adv_loop 
+57cb 6800c3af fetch 1 ,mem_le_name_len 
+57cc 1fe08401 add pdata ,1 ,temp 
+57cd 9a40a200 iadd regb ,rega 
+57ce 1a20a202 increase 2 ,rega 
+57cf 1a267c1f sub rega ,0x1f ,null 
+57d0 242157dd nbranch le_modified_name_adv_and_scan_name_overflow ,positive 
+57d1 e0a88000 istoret 1 ,contw 
+57d2 d8400009 arg gap_adtype_local_name_complete ,temp 
+57d3 e0a88000 istoret 1 ,contw 
+57d4 98007200 iforce loopcnt 
+57d5 20407ef4 call memcpy_fast 
+57d6 1a222400 copy rega ,regb 
+
+le_modified_name_adv_and_scan_store_data:
+57d7 1a427e00 deposit regb 
+57d8 60008ac2 store 1 ,mem_le_data_len_temp 
+57d9 d8c00ac2 arg mem_le_data_len_temp ,contr 
+57da 5fffffe0 setarg -32 
+57db 9a608a00 iadd regc ,contw 
+57dc 20207ebd branch memcpy32 
+
+le_modified_name_adv_and_scan_name_overflow:
+57dd 20407fe9 call disable_user 
+57de 202057d7 branch le_modified_name_adv_and_scan_store_data 
+
+le_modified_name_adv_loop:
+57df ea208000 ifetch 1 ,rega 
+57e0 207a0000 rtn blank 
+57e1 1fe0fe01 pincrease 1 
+57e2 e8c88000 ifetcht 1 ,contr 
+57e3 18467c09 sub temp ,gap_adtype_local_name_complete ,null 
+57e4 2022d7ee branch le_modified_name_adv_found_name ,zero 
+57e5 9a40a400 iadd regb ,regb 
+57e6 1a220c00 copy rega ,contr 
+57e7 98007200 iforce loopcnt 
+57e8 20407ef4 call memcpy_fast 
+57e9 18c22200 copy contr ,rega 
+
+le_modified_name_adv_loop2:
+57ea 1a227e00 deposit rega 
+57eb 9a667c00 isub regc ,null 
+57ec 20610000 rtn positive 
+57ed 202057df branch le_modified_name_adv_loop 
+
+le_modified_name_adv_found_name:
+57ee 9a20a200 iadd rega ,rega 
+57ef 202057ea branch le_modified_name_adv_loop2 
+
+memcpy_empty:
+57f0 58000020 setarg space 
+57f1 e0a08000 istore 1 ,contw 
+57f2 c20057f0 loop memcpy_empty 
+57f3 20600000 rtn 
+
+le_lpm_set_mult:
+57f4 473bc02e bpatchx patch2e_7 ,mem_patch2e 
+57f5 7855fc00 disable wake 
+57f6 203757f8 branch le_lpm_set_mult_attempt ,attempt 
+57f7 2436d806 nbranch le_lpm_lost ,match 
+
+le_lpm_set_mult_attempt:
+57f8 20402bcb call lpm_match 
+57f9 680140c1 fetch 2 ,mem_rx_window_sniff 
+57fa 6001044d store 2 ,mem_le_receive_window 
+57fb 2436abde nbranch lpm_mult_short ,match 
+57fc c507abde bmark1 mark_old_packet ,lpm_mult_short 
+57fd 6800c50b fetch 1 ,mem_le_packet_size 
+57fe 243a2bde nbranch lpm_mult_short ,blank 
+57ff 6800c3dd fetch 1 ,mem_le_txlen 
+5800 243a2bde nbranch lpm_mult_short ,blank 
+5801 6800c4e9 fetch 1 ,mem_le_configuration 
+5802 c282abde bbit1 bit_ble_short_mult ,lpm_mult_short 
+5803 6800843f fetch 1 ,mem_le_state 
+5804 c282abde bbit1 lestate_update_param ,lpm_mult_short 
+5805 20202bc0 branch lpm_mult_wait_timeout 
+
+le_lpm_lost:
+5806 680940c1 fetcht 2 ,mem_rx_window_sniff 
+5807 18430400 rshift temp ,temp 
+5808 6801044d fetch 2 ,mem_le_receive_window 
+5809 9840fe00 iadd temp ,pdata 
+580a 6001044d store 2 ,mem_le_receive_window 
+580b 20202bd6 branch lpm_lost 
+
+le_set_config_fixed_tk:
+580c d8e00000 arg bit_ble_passkey_fixed_key ,queue 
+580d 20205824 branch le_set_config 
+
+le_clr_config_fixed_tk:
+580e d8e00000 arg bit_ble_passkey_fixed_key ,queue 
+580f 20205828 branch le_clr_config 
+
+le_set_config_fixed_ltk:
+5810 d8e00001 arg bit_ble_pairing_fixed_ltk ,queue 
+5811 20205824 branch le_set_config 
+
+le_clr_config_fixed_ltk:
+5812 d8e00001 arg bit_ble_pairing_fixed_ltk ,queue 
+5813 20205828 branch le_clr_config 
+
+le_set_config_more_data:
+5814 d8e00002 arg bit_ble_transmit_packet_by_md ,queue 
+5815 20205824 branch le_set_config 
+
+le_clr_config_more_data:
+5816 d8e00002 arg bit_ble_transmit_packet_by_md ,queue 
+5817 20205828 branch le_clr_config 
+
+le_set_config_read_authentication:
+5818 d8e00003 arg bit_ble_read_auth ,queue 
+5819 20205824 branch le_set_config 
+
+le_clr_config_read_authentication:
+581a d8e00003 arg bit_ble_read_auth ,queue 
+581b 20205828 branch le_clr_config 
+
+le_set_config_write_authentication:
+581c d8e00004 arg bit_ble_write_auth ,queue 
+581d 20205824 branch le_set_config 
+
+le_clr_config_write_authentication:
+581e d8e00004 arg bit_ble_write_auth ,queue 
+581f 20205828 branch le_clr_config 
+
+le_set_config_short_mult:
+5820 d8e00005 arg bit_ble_short_mult ,queue 
+5821 20205824 branch le_set_config 
+
+le_clr_config_short_mult:
+5822 d8e00005 arg bit_ble_short_mult ,queue 
+5823 20205828 branch le_clr_config 
+
+le_set_config:
+5824 6800c4e9 fetch 1 ,mem_le_configuration 
+5825 f9207e00 qset1 pdata 
+5826 6000c4e9 store 1 ,mem_le_configuration 
+5827 20600000 rtn 
+
+le_clr_config:
+5828 6800c4e9 fetch 1 ,mem_le_configuration 
+5829 f93ffe00 qset0 pdata 
+582a 6000c4e9 store 1 ,mem_le_configuration 
+582b 20600000 rtn 
+
+le_set_fixed_ltk:
+582c 58112233 setarg 0x112233 
+582d 6001c4ea store 3 ,mem_le_fixed_ltk 
+582e 58445566 setarg 0x445566 
+582f e0a18000 istore 3 ,contw 
+5830 58778899 setarg 0x778899 
+5831 e0a18000 istore 3 ,contw 
+5832 58001122 setarg 0x001122 
+5833 e0a18000 istore 3 ,contw 
+5834 58334455 setarg 0x334455 
+5835 e0a18000 istore 3 ,contw 
+5836 58000066 setarg 0x66 
+5837 e0a08000 istore 1 ,contw 
+5838 20600000 rtn 
+
+le_set_justwork:
+5839 59000302 setarg 0x01000302 
+583a 60024453 store 4 ,mem_le_pres 
+583b 58010010 setarg 0x010010 
+583c 6001c457 store 3 ,mem_le_pres_max_keysize 
+583d 7044c601 jam 1 ,mem_le_pairing_mode 
+583e 20600000 rtn 
+
+le_fifo_malloc_tx_empty:
+583f da200000 arg 0 ,rega 
+5840 d8200001 arg llid_empty ,type 
+5841 20205850 branch le_fifo_malloc_tx 
+
+le_fifo_malloc_tx_ll:
+5842 d8200003 arg llid_le_ll ,type 
+5843 20405850 call le_fifo_malloc_tx 
+5844 1a427e00 copy regb ,pdata 
+5845 e0a08000 istore 1 ,contw 
+5846 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap:
+5847 18000202 force llid_l2cap_start ,type 
+5848 1a20a204 increase 4 ,rega 
+5849 20405850 call le_fifo_malloc_tx 
+584a 1a20a3fc increase -4 ,rega 
+584b 1a227e00 copy rega ,pdata 
+584c e0a10000 istore 2 ,contw 
+584d 1a427e00 copy regb ,pdata 
+584e e0a10000 istore 2 ,contw 
+584f 20600000 rtn 
+
+le_fifo_malloc_tx:
+5850 1a267cf0 sub rega ,240 ,null 
+5851 24212a8c nbranch assert ,positive 
+5852 6800c4ff fetch 1 ,mem_le_tx_buff_used 
+5853 d8400001 arg 1 ,temp 
+5854 df200004 arg le_tx_buff_count ,loopcnt 
+
+le_fifo_malloc_tx_loop:
+5855 98417c00 iand temp ,null 
+5856 2022d85a branch le_fifo_malloc_tx_got_empty ,zero 
+5857 18438400 lshift temp ,temp 
+5858 c2005855 loop le_fifo_malloc_tx_loop 
+5859 20202a8c branch assert 
+
+le_fifo_malloc_tx_got_empty:
+585a 9842fe00 ixor temp ,pdata 
+585b 6000c4ff store 1 ,mem_le_tx_buff_used 
+585c 1f267e04 sub loopcnt ,le_tx_buff_count ,pdata 
+585d 1ff27e00 lshift4 pdata ,pdata 
+585e 1ff27e00 lshift4 pdata ,pdata 
+585f d8401800 arg mem_le_tx_buffer0 ,temp 
+5860 98408400 iadd temp ,temp 
+
+le_fifo_tx_find_empty_ptr:
+5861 df200000 arg 0 ,loopcnt 
+5862 d8c04500 arg mem_le_tx_ptr0 ,contr 
+
+le_fifo_tx_find_empty_ptr_loop:
+5863 e8c10000 ifetch 2 ,contr 
+5864 203a5869 branch le_fifo_tx_found_empty_ptr ,blank 
+5865 1f227e00 copy loopcnt ,pdata 
+5866 1f20f201 increase 1 ,loopcnt 
+5867 c0825863 bne le_tx_buff_count ,le_fifo_tx_find_empty_ptr_loop 
+5868 20202a8c branch assert 
+
+le_fifo_tx_found_empty_ptr:
+5869 18c08dfe increase -2 ,contr 
+586a e0c90000 istoret 2 ,contr 
+586b 18420a00 copy temp ,contw 
+586c 1a227e00 copy rega ,pdata 
+586d e0a08000 istore 1 ,contw 
+586e 58000000 setarg 0 
+586f e0a08000 istore 1 ,contw 
+5870 18227e00 copy type ,pdata 
+5871 e0a08000 istore 1 ,contw 
+5872 20600000 rtn 
+
+le_fifo_get_first_tx_ptr:
+5873 68014500 fetch 2 ,mem_le_tx_ptr0 
+5874 1fe20c00 copy pdata ,contr 
+5875 20600000 rtn 
+
+le_fifo_get_second_tx_ptr:
+5876 68014502 fetch 2 ,mem_le_tx_ptr1 
+5877 1fe20c00 copy pdata ,contr 
+5878 20600000 rtn 
+
+le_fifo_get_last_tx_ptr:
+5879 2040587c call le_fifo_get_last_tx_ptr0 
+587a 1fe20c00 copy pdata ,contr 
+587b 20600000 rtn 
+
+le_fifo_get_last_tx_ptr0:
+587c 68014506 fetch 2 ,mem_le_tx_ptr3 
+587d 247a0000 nrtn blank 
+587e 68014504 fetch 2 ,mem_le_tx_ptr2 
+587f 247a0000 nrtn blank 
+5880 68014502 fetch 2 ,mem_le_tx_ptr1 
+5881 247a0000 nrtn blank 
+5882 68014500 fetch 2 ,mem_le_tx_ptr0 
+5883 20600000 rtn 
+
+le_fifo_get_first_l2cap_ptr:
+5884 20405873 call le_fifo_get_first_tx_ptr 
+5885 18c08c03 increase 3 ,contr 
+5886 20600000 rtn 
+
+le_fifo_get_first_att_ptr:
+5887 20405873 call le_fifo_get_first_tx_ptr 
+5888 18c08c07 increase 7 ,contr 
+5889 20600000 rtn 
+
+le_fifo_get_last_att_ptr:
+588a 20405879 call le_fifo_get_last_tx_ptr 
+588b 18c08c07 increase 7 ,contr 
+588c 20600000 rtn 
+
+le_fifo_get_last_l2cap_ptr:
+588d 20405879 call le_fifo_get_last_tx_ptr 
+588e 18c08c03 increase 3 ,contr 
+588f 20600000 rtn 
+
+le_fifo_check_full:
+5890 68014506 fetch 2 ,mem_le_tx_ptr3 
+5891 20600000 rtn 
+
+le_fifo_check_nearly_full:
+5892 68014504 fetch 2 ,mem_le_tx_ptr2 
+5893 20600000 rtn 
+
+le_fifo_check_empty:
+5894 68014500 fetch 2 ,mem_le_tx_ptr0 
+5895 20600000 rtn 
+
+le_fifo_release_first_node:
+5896 68014500 fetch 2 ,mem_le_tx_ptr0 
+5897 d8401800 arg mem_le_tx_buffer0 ,temp 
+5898 98467e00 isub temp ,pdata 
+5899 1ff1fe00 rshift4 pdata ,pdata 
+589a 1ff18e00 rshift4 pdata ,queue 
+589b 6800c4ff fetch 1 ,mem_le_tx_buff_used 
+589c f93ffe00 qset0 pdata 
+589d 6000c4ff store 1 ,mem_le_tx_buff_used 
+589e df200000 arg 0 ,loopcnt 
+
+le_fifo_release_first_node_loop:
+589f 1f23fe00 lshift loopcnt ,pdata 
+58a0 d8404502 arg mem_le_tx_ptr1 ,temp 
+58a1 98408400 iadd temp ,temp 
+58a2 e8410000 ifetch 2 ,temp 
+58a3 184085fe increase -2 ,temp 
+58a4 e0410000 istore 2 ,temp 
+58a5 1f227e00 copy loopcnt ,pdata 
+58a6 1f20f201 increase 1 ,loopcnt 
+58a7 c081d89f bne le_tx_buff_update_loopcnt ,le_fifo_release_first_node_loop 
+58a8 58000000 setarg 0 
+58a9 e0410000 istore 2 ,temp 
+58aa 20600000 rtn 
+
+le_parse_att:
+58ab e8c18000 ifetch 3 ,contr 
+58ac 60018477 store 3 ,mem_le_att_opcode 
+58ad c00158c1 beq attop_exchange_mtu_request ,le_parse_att_exchange_mtu_request 
+58ae c001d8c9 beq attop_exchange_mtu_response ,le_parse_att_exchange_mtu_response 
+58af c00258cc beq attop_find_information_request ,le_parse_att_find_information_request 
+58b0 c00358f2 beq attop_find_by_type_value_request ,le_parse_att_find_by_type_value_request 
+58b1 c004593f beq attop_read_by_type_request ,le_parse_att_read_by_type_request 
+58b2 c00559bc beq attop_read_request ,le_parse_att_read_request 
+58b3 c00659e4 beq attop_read_blob_request ,le_parse_att_read_blob_request 
+58b4 c00859fa beq attop_read_by_group_type_request ,le_parse_att_read_by_group_type_request 
+58b5 c0095a2f beq attop_write_request ,le_parse_att_write_request 
+58b6 c00b5a48 beq attop_prepare_write_request ,le_parse_att_prepare_write_request 
+58b7 c00c5a5b beq attop_execute_write_request ,le_parse_att_execute_write_request 
+58b8 c0295a60 beq attop_write_command ,le_parse_att_write_command 
+58b9 20600000 rtn 
+
+le_send_att_exchange_mtu_requset:
+58ba 18002203 force 3 ,rega 
+58bb 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+58bc 58000002 setarg attop_exchange_mtu_request 
+58bd e0a08000 istore 1 ,contw 
+58be 680144a6 fetch 2 ,mem_le_local_mtu 
+58bf e0a10000 istore 2 ,contw 
+58c0 20600000 rtn 
+
+le_parse_att_exchange_mtu_request:
+58c1 204058c9 call le_parse_att_exchange_mtu_response 
+
+le_send_att_exchange_mtu_response:
+58c2 18002203 force 3 ,rega 
+58c3 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+58c4 58000003 setarg attop_exchange_mtu_response 
+58c5 e0a08000 istore 1 ,contw 
+58c6 680144a6 fetch 2 ,mem_le_local_mtu 
+58c7 e0a10000 istore 2 ,contw 
+58c8 20600000 rtn 
+
+le_parse_att_exchange_mtu_response:
+58c9 1fecfe00 rshift8 pdata ,pdata 
+58ca 600144a8 store 2 ,mem_le_remote_mtu 
+58cb 20600000 rtn 
+
+le_parse_att_find_information_request:
+58cc 20405ab1 call le_get_search_handle_start_end_common 
+58cd 20407fe7 call enable_user 
+58ce 202058cf branch le_send_att_find_information_response 
+
+le_send_att_find_information_response:
+58cf d9600003 arg 3 ,timeup 
+58d0 20405756 call le_init_attlist_search 
+
+le_send_att_find_information_res_loop:
+58d1 2040575f call le_att_handle_inrange 
+58d2 203a58f0 branch le_send_att_find_information_res_end ,blank 
+58d3 242158ed nbranch le_send_att_find_information_res_next ,positive 
+58d4 18c08dfe increase -2 ,contr 
+58d5 20407ea5 call store_contr 
+58d6 20407e9c call get_contw 
+58d7 243458e1 nbranch le_send_att_find_information_res_store_info ,user 
+58d8 20407e85 call push_stack_rega_b_c 
+58d9 20407fe9 call disable_user 
+58da 18002214 force 20 ,rega 
+58db 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+58dc 20407e95 call pop_stack_rega_b_c 
+58dd 58000005 setarg attop_find_information_response 
+58de e0a08000 istore 1 ,contw 
+58df 58000001 setarg uuid_size_16bit 
+58e0 e0a08000 istore 1 ,contw 
+
+le_send_att_find_information_res_store_info:
+58e1 20407e9f call get_contr 
+58e2 e8c10000 ifetch 2 ,contr 
+58e3 e0a10000 istore 2 ,contw 
+58e4 e8c08000 ifetch 1 ,contr 
+58e5 1fe27200 copy pdata ,loopcnt 
+58e6 20407f01 call memcpy 
+58e7 20407ea2 call store_contw 
+58e8 196097ff increase -1 ,timeup 
+58e9 2022d8f0 branch le_send_att_find_information_res_end ,zero 
+
+le_send_att_find_information_res_cont:
+58ea e8c08000 ifetch 1 ,contr 
+58eb 98c08c00 iadd contr ,contr 
+58ec 202058d1 branch le_send_att_find_information_res_loop 
+
+le_send_att_find_information_res_next:
+58ed e8c08000 ifetch 1 ,contr 
+58ee 98c08c00 iadd contr ,contr 
+58ef 202058ea branch le_send_att_find_information_res_cont 
+
+le_send_att_find_information_res_end:
+58f0 20345a76 branch le_send_att_error_response_notfound ,user 
+58f1 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_find_by_type_value_request:
+58f2 20405ab1 call le_get_search_handle_start_end_common 
+58f3 e8c10000 ifetch 2 ,contr 
+58f4 60014472 store 2 ,mem_le_search_uuid 
+58f5 20407ea5 call store_contr 
+58f6 d8a0445e arg mem_le_search_att_type_length ,contw 
+58f7 680144fc fetch 2 ,mem_le_l2cap_size 
+58f8 1fe0fff9 increase -7 ,pdata 
+58f9 204056db call le_get_search_common2 
+58fa 20205905 branch le_send_att_find_by_type_value_response 
+
+le_start_end_handle_check_1:
+58fb 78547c00 disable user 
+58fc 6809445a fetcht 2 ,mem_le_search_handle_start 
+58fd 6801445c fetch 2 ,mem_le_search_handle_end 
+58fe 98467c00 isub temp ,null 
+58ff 24215902 nbranch le_start_end_handle_check_1_fail ,positive 
+5900 18427e00 deposit temp 
+5901 c1800000 rtnne 0 
+
+le_start_end_handle_check_1_fail:
+5902 78347c00 enable user 
+5903 70047a01 jam att_err_invalid_handle ,mem_le_err_code 
+5904 20205a77 branch le_send_att_error_response 
+
+le_send_att_find_by_type_value_response:
+5905 204058fb call le_start_end_handle_check_1 
+5906 20740000 rtn user 
+5907 68094472 fetcht 2 ,mem_le_search_uuid 
+5908 58002800 setarg uuid_gatt_primary_service 
+5909 98467c00 isub temp ,null 
+590a 2022d90c branch le_send_att_find_by_type_value_res_primary ,zero 
+590b 20205a76 branch le_send_att_error_response_notfound 
+
+le_send_att_find_by_type_value_res_primary:
+590c 7004b400 jam le_find_by_type_val_res_not_found ,mem_le_search_res 
+590d 6809445a fetcht 2 ,mem_le_search_handle_start 
+590e 60090aa2 storet 2 ,mem_temp 
+590f 2040578c call le_att_get_handle_info 
+5910 243a5a76 nbranch le_send_att_error_response_notfound ,blank 
+
+le_send_att_find_primary_search_loop:
+5911 68090aa2 fetcht 2 ,mem_temp 
+5912 2040578c call le_att_get_handle_info 
+5913 243a5925 nbranch le_send_att_error_response_notfound2 ,blank 
+5914 18c22200 copy contr ,rega 
+5915 680084b3 fetch 1 ,mem_le_curr_att_len 
+5916 1fe27200 copy pdata ,loopcnt 
+5917 6808c45e fetcht 1 ,mem_le_search_att_type_length 
+5918 98467c00 isub temp ,null 
+5919 2422d921 nbranch le_send_att_find_primary_search_loop1 ,zero 
+591a da40445f arg mem_le_search_att_type ,regb 
+591b 20407f88 call string_compare 
+591c 2022d928 branch le_send_att_find_primary_search_end_start_handle_found ,zero 
+591d 680104a3 fetch 2 ,mem_le_cur_uuid 
+591e 68094472 fetcht 2 ,mem_le_search_uuid 
+591f 98467c00 isub temp ,null 
+5920 2022d930 branch le_send_att_find_primary_search_end_ending_handle_found ,zero 
+
+le_send_att_find_primary_search_loop1:
+5921 68010aa2 fetch 2 ,mem_temp 
+5922 1fe0fe01 increase 1 ,pdata 
+5923 60010aa2 store 2 ,mem_temp 
+5924 20205911 branch le_send_att_find_primary_search_loop 
+
+le_send_att_error_response_notfound2:
+5925 680084b4 fetch 1 ,mem_le_search_res 
+5926 c000d930 beq le_find_by_type_val_res_found_starting_handle ,le_send_att_find_primary_search_end_ending_handle_found 
+5927 20205a76 branch le_send_att_error_response_notfound 
+
+le_send_att_find_primary_search_end_start_handle_found:
+5928 680104a3 fetch 2 ,mem_le_cur_uuid 
+5929 68094472 fetcht 2 ,mem_le_search_uuid 
+592a 98467c00 isub temp ,null 
+592b 2422d921 nbranch le_send_att_find_primary_search_loop1 ,zero 
+592c 7004b401 jam le_find_by_type_val_res_found_starting_handle ,mem_le_search_res 
+592d 68090aa2 fetcht 2 ,mem_temp 
+592e 6009049e storet 2 ,mem_le_cur_handle_start 
+592f 20205921 branch le_send_att_find_primary_search_loop1 
+
+le_send_att_find_primary_search_end_ending_handle_found:
+5930 680084b4 fetch 1 ,mem_le_search_res 
+5931 c0005921 beq le_find_by_type_val_res_not_found ,le_send_att_find_primary_search_loop1 
+5932 7004b402 jam le_find_by_type_val_res_found_ending_handle ,mem_le_search_res 
+5933 68090aa2 fetcht 2 ,mem_temp 
+5934 184085ff increase -1 ,temp 
+5935 600904a0 storet 2 ,mem_le_cur_handle_end 
+
+le_send_att_find_primary_search_end:
+5936 da200005 arg 5 ,rega 
+5937 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5938 58000007 setarg attop_find_by_type_value_response 
+5939 e0a08000 istore 1 ,contw 
+593a 6801049e fetch 2 ,mem_le_cur_handle_start 
+593b e0a10000 istore 2 ,contw 
+593c 680104a0 fetch 2 ,mem_le_cur_handle_end 
+593d e0a10000 istore 2 ,contw 
+593e 20600000 rtn 
+
+le_parse_att_read_by_type_request:
+593f 20405ab1 call le_get_search_handle_start_end_common 
+5940 204056df call le_get_search_att_uuid 
+5941 20205942 branch le_send_att_read_by_type_response 
+
+le_send_att_read_by_type_response:
+5942 6809445a fetcht 2 ,mem_le_search_handle_start 
+5943 60090aa2 storet 2 ,mem_temp 
+5944 20405756 call le_init_attlist_search 
+5945 2040576d call le_att_get_handle_ptr2 
+5946 18c08dfe increase -2 ,contr 
+5947 18c27e00 copy contr ,pdata 
+5948 6001049c store 2 ,mem_le_cur_attlist_start_ptr 
+5949 68094472 fetcht 2 ,mem_le_search_uuid 
+594a 58002a00 setarg uuid_chrctr_device_name 
+594b 98467c00 isub temp ,null 
+594c 2022d9a8 branch le_send_att_read_by_type_res_device_name ,zero 
+594d 58002803 setarg uuid_gatt_characteristic 
+594e 98467c00 isub temp ,null 
+594f 2422d990 nbranch le_send_att_read_by_type_res_not_characteristic ,zero 
+5950 d9600002 arg 2 ,timeup 
+
+le_send_att_read_by_type_response_loop:
+5951 20405a88 call le_att_check_handle_end 
+5952 2421596d nbranch le_send_att_read_by_type_response_end ,positive 
+5953 68090aa2 fetcht 2 ,mem_temp 
+5954 2040578a call le_att_get_handle_info_from_ptr 
+5955 c000d96d beq 1 ,le_send_att_read_by_type_response_end 
+5956 20405a94 call le_att_same_uuid 
+5957 2422d96b nbranch le_send_att_read_by_type_response_next_handle ,zero 
+5958 2434596f nbranch le_send_att_read_by_type_res_found_next ,user 
+5959 78547c00 disable user 
+595a da200014 arg 20 ,rega 
+595b 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+595c 58000009 setarg attop_read_by_type_response 
+595d e0a08000 istore 1 ,contw 
+595e 18a26000 copy contw ,alarm 
+595f 18a08a01 increase 1 ,contw 
+5960 2040597d call le_send_att_read_by_type_write_properties 
+5961 20405a84 call le_att_next_handle 
+5962 2040578a call le_att_get_handle_info_from_ptr 
+5963 20405984 call le_send_att_read_by_type_write_uuid 
+5964 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5965 1fe0fe05 increase 5 ,pdata 
+5966 e6008000 istore 1 ,alarm 
+5967 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5968 c008596d beq 16 ,le_send_att_read_by_type_response_end 
+5969 196097ff increase -1 ,timeup 
+596a 2022d96d branch le_send_att_read_by_type_response_end ,zero 
+
+le_send_att_read_by_type_response_next_handle:
+596b 20405a84 call le_att_next_handle 
+596c 20205951 branch le_send_att_read_by_type_response_loop 
+
+le_send_att_read_by_type_response_end:
+596d 20345a76 branch le_send_att_error_response_notfound ,user 
+596e 20205aa5 branch le_send_auto_len_by_mem 
+
+le_send_att_read_by_type_res_found_next:
+596f 20405a97 call le_store_att_record 
+5970 20405a84 call le_att_next_handle 
+5971 2040578a call le_att_get_handle_info_from_ptr 
+5972 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5973 c008596d beq 16 ,le_send_att_read_by_type_response_end 
+5974 20407e9c call get_contw 
+5975 68010aa2 fetch 2 ,mem_temp 
+5976 1fe0ffff increase -1 ,pdata 
+5977 e0a10000 istore 2 ,contw 
+5978 20405aa1 call le_write_att_record_common 
+5979 20405984 call le_send_att_read_by_type_write_uuid 
+597a 196097ff increase -1 ,timeup 
+597b 2022d96d branch le_send_att_read_by_type_response_end ,zero 
+597c 2020596b branch le_send_att_read_by_type_response_next_handle 
+
+le_send_att_read_by_type_write_properties:
+597d 68010aa2 fetch 2 ,mem_temp 
+597e e0a10000 istore 2 ,contw 
+597f 680084b3 fetch 1 ,mem_le_curr_att_len 
+5980 1fe27200 copy pdata ,loopcnt 
+5981 20407e9f call get_contr 
+5982 20407ef4 call memcpy_fast 
+5983 20207ea2 branch store_contw 
+
+le_send_att_read_by_type_write_uuid:
+5984 20407e9c call get_contw 
+5985 68010aa2 fetch 2 ,mem_temp 
+5986 e0a10000 istore 2 ,contw 
+5987 20407ea2 call store_contw 
+5988 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5989 1fe27200 copy pdata ,loopcnt 
+598a 20407e9c call get_contw 
+598b 20407e9f call get_contr 
+598c 9f260c00 isub loopcnt ,contr 
+598d 18c08dff increase -1 ,contr 
+598e 20407ef4 call memcpy_fast 
+598f 20207ea2 branch store_contw 
+
+le_send_att_read_by_type_res_not_characteristic:
+5990 6809445a fetcht 2 ,mem_le_search_handle_start 
+5991 60090aa2 storet 2 ,mem_temp 
+
+le_send_att_read_by_type_res_not_char_loop:
+5992 20405a88 call le_att_check_handle_end 
+5993 24215a76 nbranch le_send_att_error_response_notfound ,positive 
+5994 2040578a call le_att_get_handle_info_from_ptr 
+5995 c000da76 beq 1 ,le_send_att_error_response_notfound 
+5996 20405a94 call le_att_same_uuid 
+5997 2422d9a6 nbranch le_send_att_read_by_type_res_not_char_next ,zero 
+
+le_send_att_read_by_type_res_not_char_common:
+5998 da200014 arg 20 ,rega 
+5999 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+599a 58000009 setarg attop_read_by_type_response 
+599b e0a08000 istore 1 ,contw 
+599c 680084b3 fetch 1 ,mem_le_curr_att_len 
+599d 1fe27200 copy pdata ,loopcnt 
+599e 1fe0fe02 increase 2 ,pdata 
+599f e0a08000 istore 1 ,contw 
+59a0 68010aa2 fetch 2 ,mem_temp 
+59a1 e0a10000 istore 2 ,contw 
+59a2 20407e9f call get_contr 
+59a3 20407ef4 call memcpy_fast 
+59a4 20407ea2 call store_contw 
+59a5 20205aa5 branch le_send_auto_len_by_mem 
+
+le_send_att_read_by_type_res_not_char_next:
+59a6 20405a84 call le_att_next_handle 
+59a7 20205992 branch le_send_att_read_by_type_res_not_char_loop 
+
+le_send_att_read_by_type_res_device_name:
+59a8 d8402a00 arg uuid_chrctr_device_name ,temp 
+59a9 2040577c call le_att_get_short_uuid_ptr 
+59aa 207a0000 rtn blank 
+59ab 18c08dfb increase -5 ,contr 
+59ac e8c10000 ifetch 2 ,contr 
+59ad 60010aa2 store 2 ,mem_temp 
+59ae da200014 arg 20 ,rega 
+59af 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59b0 58000009 setarg attop_read_by_type_response 
+59b1 e0a08000 istore 1 ,contw 
+59b2 6800c3af fetch 1 ,mem_le_name_len 
+59b3 1fe27200 copy pdata ,loopcnt 
+59b4 1fe0fe02 increase 2 ,pdata 
+59b5 e0a08000 istore 1 ,contw 
+59b6 68010aa2 fetch 2 ,mem_temp 
+59b7 e0a10000 istore 2 ,contw 
+59b8 d8c043b0 arg mem_le_name ,contr 
+59b9 20407ef4 call memcpy_fast 
+59ba 20407ea2 call store_contw 
+59bb 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_read_request:
+59bc 68090478 fetcht 2 ,mem_le_att_handle 
+59bd 6800c4e9 fetch 1 ,mem_le_configuration 
+59be c281d9dd bbit1 bit_ble_read_auth ,le_send_att_read_response_check_auth 
+
+le_send_att_read_response:
+59bf 2040576a call le_att_get_handle_ptr 
+59c0 203a5a76 branch le_send_att_error_response_notfound ,blank 
+59c1 18c08dfe increase -2 ,contr 
+59c2 e8c10000 ifetch 2 ,contr 
+59c3 d8402a00 arg uuid_chrctr_device_name ,temp 
+59c4 98467c00 isub temp ,null 
+59c5 2022d9d3 branch le_send_device_name ,zero 
+59c6 e8c08000 ifetch 1 ,contr 
+59c7 1fe67c16 sub pdata ,22 ,null 
+59c8 202159ca branch le_send_att_read_response_less ,positive 
+59c9 18007e16 force 22 ,pdata 
+
+le_send_att_read_response_less:
+59ca 1fe22600 copy pdata ,regc 
+59cb 20407ea5 call store_contr 
+59cc 1a60a201 add regc ,1 ,rega 
+59cd 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59ce 5800000b setarg attop_read_response 
+59cf e0a08000 istore 1 ,contw 
+59d0 1a627200 copy regc ,loopcnt 
+59d1 20407e9f call get_contr 
+59d2 20207f01 branch memcpy 
+
+le_send_device_name:
+59d3 20407ea5 call store_contr 
+59d4 6800c3af fetch 1 ,mem_le_name_len 
+59d5 1fe0a201 add pdata ,1 ,rega 
+59d6 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59d7 5800000b setarg attop_read_response 
+59d8 e0a08000 istore 1 ,contw 
+59d9 6800c3af fetch 1 ,mem_le_name_len 
+59da 1fe27200 copy pdata ,loopcnt 
+59db d8c043b0 arg mem_le_name ,contr 
+59dc 20207f01 branch memcpy 
+
+le_send_att_read_response_check_auth:
+59dd 680144fa fetch 2 ,mem_le_pairing_handle 
+59de 98467c00 isub temp ,null 
+59df 2422d9bf nbranch le_send_att_read_response ,zero 
+59e0 20405a42 call le_check_encrypt_state 
+59e1 243459bf nbranch le_send_att_read_response ,user 
+59e2 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
+59e3 20205a77 branch le_send_att_error_response 
+
+le_parse_att_read_blob_request:
+59e4 e8c10000 ifetch 2 ,contr 
+59e5 6001445e store 2 ,mem_le_att_offset 
+
+le_send_att_read_blob_response:
+59e6 da200014 arg 20 ,rega 
+59e7 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+59e8 5800000d setarg attop_read_blob_response 
+59e9 e0a08000 istore 1 ,contw 
+59ea 6801445e fetch 2 ,mem_le_att_offset 
+59eb 98002200 iforce rega 
+59ec 68090478 fetcht 2 ,mem_le_att_handle 
+59ed 2040576a call le_att_get_handle_ptr 
+59ee 203a5a76 branch le_send_att_error_response_notfound ,blank 
+59ef e8c08000 ifetch 1 ,contr 
+59f0 9a267200 isub rega ,loopcnt 
+59f1 24215a76 nbranch le_send_att_error_response_notfound ,positive 
+59f2 1f267c16 sub loopcnt ,22 ,null 
+59f3 202159f5 branch le_send_att_read_blob_response_less ,positive 
+59f4 18007216 force 22 ,loopcnt 
+
+le_send_att_read_blob_response_less:
+59f5 1a227e00 deposit rega 
+59f6 98c08c00 iadd contr ,contr 
+59f7 20407ef4 call memcpy_fast 
+59f8 20407ea2 call store_contw 
+59f9 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_read_by_group_type_request:
+59fa 20405ab1 call le_get_search_handle_start_end_common 
+59fb 204056d7 call le_get_search_att_type 
+59fc 202059fd branch le_send_att_read_by_group_type_response 
+
+le_send_att_read_by_group_type_response:
+59fd d9600002 arg 2 ,timeup 
+59fe 6809445a fetcht 2 ,mem_le_search_handle_start 
+59ff 60090aa2 storet 2 ,mem_temp 
+5a00 20405756 call le_init_attlist_search 
+5a01 2040576d call le_att_get_handle_ptr2 
+5a02 18c08dfe increase -2 ,contr 
+5a03 18c27e00 copy contr ,pdata 
+5a04 6001049c store 2 ,mem_le_cur_attlist_start_ptr 
+
+le_send_att_read_by_group_type_response_loop:
+5a05 20405a88 call le_att_check_handle_end 
+5a06 24215a25 nbranch le_send_att_read_by_group_type_end0 ,positive 
+5a07 68090aa2 fetcht 2 ,mem_temp 
+5a08 2040578a call le_att_get_handle_info_from_ptr 
+5a09 c000da28 beq 1 ,le_send_att_read_by_group_type_end1 
+5a0a 20405a8c call le_att_same_type 
+5a0b 2422da23 nbranch le_send_att_read_by_group_type_next_handle ,zero 
+5a0c 19627e00 copy timeup ,pdata 
+5a0d c0005a28 beq 0 ,le_send_att_read_by_group_type_end1 
+5a0e 24345a19 nbranch le_send_att_read_by_group_type_store_write_record ,user 
+5a0f 78547c00 disable user 
+5a10 da200014 arg 20 ,rega 
+5a11 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a12 58000011 setarg attop_read_by_group_type_response 
+5a13 e0a08000 istore 1 ,contw 
+5a14 680084b3 fetch 1 ,mem_le_curr_att_len 
+5a15 1fe0fe04 increase 4 ,pdata 
+5a16 e0a08000 istore 1 ,contw 
+5a17 20407ea2 call store_contw 
+5a18 20205a1f branch le_send_att_read_by_group_type_store_record 
+
+le_send_att_read_by_group_type_store_write_record:
+5a19 680084b3 fetch 1 ,mem_le_curr_att_len 
+5a1a c0085a28 beq 16 ,le_send_att_read_by_group_type_end1 
+5a1b 68010aa2 fetch 2 ,mem_temp 
+5a1c 1fe0ffff increase -1 ,pdata 
+5a1d 600104a0 store 2 ,mem_le_cur_handle_end 
+5a1e 20405a9c call le_write_att_record 
+
+le_send_att_read_by_group_type_store_record:
+5a1f 68010aa2 fetch 2 ,mem_temp 
+5a20 6001049e store 2 ,mem_le_cur_handle_start 
+5a21 20405a97 call le_store_att_record 
+5a22 196097ff increase -1 ,timeup 
+
+le_send_att_read_by_group_type_next_handle:
+5a23 20405a84 call le_att_next_handle 
+5a24 20205a05 branch le_send_att_read_by_group_type_response_loop 
+
+le_send_att_read_by_group_type_end0:
+5a25 68010aa2 fetch 2 ,mem_temp 
+5a26 600104a0 store 2 ,mem_le_cur_handle_end 
+5a27 20205a2c branch le_send_att_read_by_group_type_end_common 
+
+le_send_att_read_by_group_type_end1:
+5a28 68010aa2 fetch 2 ,mem_temp 
+5a29 1fe0ffff increase -1 ,pdata 
+5a2a 600104a0 store 2 ,mem_le_cur_handle_end 
+5a2b 20205a2c branch le_send_att_read_by_group_type_end_common 
+
+le_send_att_read_by_group_type_end_common:
+5a2c 20345a76 branch le_send_att_error_response_notfound ,user 
+5a2d 20405a9c call le_write_att_record 
+5a2e 20205aa5 branch le_send_auto_len_by_mem 
+
+le_parse_att_write_request:
+5a2f 18c22200 copy contr ,rega 
+5a30 680144fc fetch 2 ,mem_le_l2cap_size 
+5a31 1fe0a5fd add pdata ,-3 ,regb 
+5a32 204056e2 call le_writeatt_cb 
+
+le_send_att_write_response_check_auth:
+5a33 6800c4e9 fetch 1 ,mem_le_configuration 
+5a34 c3025a3d bbit0 bit_ble_write_auth ,le_send_att_write_response 
+5a35 68090478 fetcht 2 ,mem_le_att_handle 
+5a36 680144fa fetch 2 ,mem_le_pairing_handle 
+5a37 98467c00 isub temp ,null 
+5a38 2422da3d nbranch le_send_att_write_response ,zero 
+5a39 20405a42 call le_check_encrypt_state 
+5a3a 24345a3d nbranch le_send_att_write_response ,user 
+5a3b 70047a05 jam att_err_insufficient_authentication ,mem_le_err_code 
+5a3c 20205a77 branch le_send_att_error_response 
+
+le_send_att_write_response:
+5a3d 18002201 force 1 ,rega 
+5a3e 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a3f 58000013 setarg attop_write_response 
+5a40 e0a08000 istore 1 ,contw 
+5a41 20600000 rtn 
+
+le_check_encrypt_state:
+5a42 20407fe9 call disable_user 
+5a43 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5a44 c1000000 rtneq le_pairing_mode_none 
+5a45 6800c040 fetch 1 ,mem_context 
+5a46 c3820000 rtnbit1 lestate_encryption 
+5a47 20207fe7 branch enable_user 
+
+le_parse_att_prepare_write_request:
+5a48 18c0a202 add contr ,2 ,rega 
+5a49 680144fc fetch 2 ,mem_le_l2cap_size 
+5a4a 1fe0a5fb add pdata ,-5 ,regb 
+5a4b 204056e2 call le_writeatt_cb 
+5a4c 20205a4d branch le_send_att_prepare_write_response 
+
+le_send_att_prepare_write_response:
+5a4d 680144fc fetch 2 ,mem_le_l2cap_size 
+5a4e 1fe22200 copy pdata ,rega 
+5a4f 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a50 58000017 setarg attop_prepare_write_response 
+5a51 e0a08000 istore 1 ,contw 
+5a52 68010478 fetch 2 ,mem_le_att_handle 
+5a53 e0a10000 istore 2 ,contw 
+5a54 680144fc fetch 2 ,mem_le_l2cap_size 
+5a55 1fe0f3fb add pdata ,-5 ,loopcnt 
+5a56 6801450d fetch 2 ,mem_le_payload_ptr 
+5a57 1fe08c07 add pdata ,7 ,contr 
+5a58 e8c10000 ifetch 2 ,contr 
+5a59 e0a10000 istore 2 ,contw 
+5a5a 20207ef4 branch memcpy_fast 
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+5a5b 18002201 force 1 ,rega 
+5a5c 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a5d 58000019 setarg attop_execute_write_response 
+5a5e e0a08000 istore 1 ,contw 
+5a5f 20600000 rtn 
+
+le_parse_att_write_command:
+5a60 18c22200 copy contr ,rega 
+5a61 680144fc fetch 2 ,mem_le_l2cap_size 
+5a62 1fe0a5fd add pdata ,-3 ,regb 
+5a63 202056e2 branch le_writeatt_cb 
+
+le_att_malloc_tx_notify:
+5a64 18422600 copy temp ,regc 
+5a65 1a20a203 increase 3 ,rega 
+5a66 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a67 1a20a3fd increase -3 ,rega 
+5a68 5800001b setarg attop_handle_value_notification 
+5a69 e0a08000 istore 1 ,contw 
+5a6a 1a620400 copy regc ,temp 
+5a6b e0a90000 istoret 2 ,contw 
+5a6c 20600000 rtn 
+
+le_att_malloc_tx_indication:
+5a6d 18422600 copy temp ,regc 
+5a6e 1a20a203 increase 3 ,rega 
+5a6f 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a70 1a20a3fd increase -3 ,rega 
+5a71 5800001d setarg attop_handle_value_indication 
+5a72 e0a08000 istore 1 ,contw 
+5a73 1a620400 copy regc ,temp 
+5a74 e0a90000 istoret 2 ,contw 
+5a75 20600000 rtn 
+
+le_send_att_error_response_notfound:
+5a76 70047a0a jam att_err_attribute_not_found ,mem_le_err_code 
+
+le_send_att_error_response:
+5a77 18002205 force 5 ,rega 
+5a78 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+5a79 58000001 setarg attop_error_response 
+5a7a e0a08000 istore 1 ,contw 
+5a7b 68008477 fetch 1 ,mem_le_att_opcode 
+5a7c e0a08000 istore 1 ,contw 
+5a7d 68010478 fetch 2 ,mem_le_att_handle 
+5a7e e0a10000 istore 2 ,contw 
+5a7f 6800847a fetch 1 ,mem_le_err_code 
+5a80 e0a08000 istore 1 ,contw 
+5a81 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap_gatt:
+5a82 18002404 force le_l2cap_cid_att ,regb 
+5a83 20205847 branch le_fifo_malloc_tx_l2cap 
+
+le_att_next_handle:
+5a84 68090aa2 fetcht 2 ,mem_temp 
+5a85 18408401 increase 1 ,temp 
+5a86 60090aa2 storet 2 ,mem_temp 
+5a87 20600000 rtn 
+
+le_att_check_handle_end:
+5a88 68090aa2 fetcht 2 ,mem_temp 
+5a89 6801445c fetch 2 ,mem_le_search_handle_end 
+5a8a 98467c00 isub temp ,null 
+5a8b 20600000 rtn 
+
+le_att_same_type:
+5a8c 6808c45e fetcht 1 ,mem_le_search_att_type_length 
+5a8d da20445f arg mem_le_search_att_type ,rega 
+
+le_att_check_same_common:
+5a8e 680084a2 fetch 1 ,mem_le_cur_uuid_length 
+5a8f 1fe27200 copy pdata ,loopcnt 
+5a90 98467c00 isub temp ,null 
+5a91 24628000 nrtn zero 
+5a92 da4004a3 arg mem_le_cur_uuid ,regb 
+5a93 20207f88 branch string_compare 
+
+le_att_same_uuid:
+5a94 6808c471 fetcht 1 ,mem_le_search_uuid_length 
+5a95 da204472 arg mem_le_search_uuid ,rega 
+5a96 20205a8e branch le_att_check_same_common 
+
+le_store_att_record:
+5a97 680084b3 fetch 1 ,mem_le_curr_att_len 
+5a98 60008101 store 1 ,mem_tmp_buffer 
+5a99 1fe27200 copy pdata ,loopcnt 
+5a9a 20407e9f call get_contr 
+5a9b 20207ef4 branch memcpy_fast 
+
+le_write_att_record:
+5a9c 20407e9c call get_contw 
+5a9d 6801049e fetch 2 ,mem_le_cur_handle_start 
+5a9e e0a10000 istore 2 ,contw 
+5a9f 680104a0 fetch 2 ,mem_le_cur_handle_end 
+5aa0 e0a10000 istore 2 ,contw 
+
+le_write_att_record_common:
+5aa1 68008101 fetch 1 ,mem_tmp_buffer 
+5aa2 1fe27200 copy pdata ,loopcnt 
+5aa3 20407ef4 call memcpy_fast 
+5aa4 20207ea2 branch store_contw 
+
+le_send_auto_len_by_mem:
+5aa5 20407e9c call get_contw 
+5aa6 2040588a call le_fifo_get_last_att_ptr 
+5aa7 18a27e00 copy contw ,pdata 
+5aa8 98c62200 isub contr ,rega 
+5aa9 2040588d call le_fifo_get_last_l2cap_ptr 
+5aaa 1a227e00 copy rega ,pdata 
+5aab e0c10000 istore 2 ,contr 
+5aac 1a20a204 increase 4 ,rega 
+5aad 20405879 call le_fifo_get_last_tx_ptr 
+5aae 1a227e00 copy rega ,pdata 
+5aaf e0c08000 istore 1 ,contr 
+5ab0 20600000 rtn 
+
+le_get_search_handle_start_end_common:
+5ab1 1fecfe00 rshift8 pdata ,pdata 
+5ab2 6001445a store 2 ,mem_le_search_handle_start 
+5ab3 e8c10000 ifetch 2 ,contr 
+5ab4 6001445c store 2 ,mem_le_search_handle_end 
+5ab5 20600000 rtn 
+
+le_parse_signaling:
+5ab6 e8c08000 ifetch 1 ,contr 
+5ab7 e8c88000 ifetcht 1 ,contr 
+5ab8 e8c90000 ifetcht 2 ,contr 
+5ab9 c009dabb beq l2cap_connection_parameter_update_response ,le_l2cap_parse_conn_parameter_update_rsp 
+5aba 20600000 rtn 
+
+le_l2cap_parse_conn_parameter_update_rsp:
+5abb e8c10000 ifetch 2 ,contr 
+5abc 60014509 store 2 ,mem_le_l2cap_signaling_conn_param_update_rsp_result 
+5abd 700a9940 jam bt_evt_le_parse_conn_papa_update_rsp ,mem_fifo_temp 
+5abe 20207d86 branch ui_ipc_send_event 
+
+le_l2cap_tx_update_req:
+5abf da20000c arg 0x0c ,rega 
+5ac0 da600012 arg l2cap_connection_parameter_update_request ,regc 
+5ac1 20405ac7 call le_fifo_malloc_tx_l2cap_signaling 
+5ac2 58000008 setarg 0x08 
+5ac3 e0a10000 istore 2 ,contw 
+5ac4 68044496 fetch 8 ,mem_le_interval_min 
+5ac5 e0a40000 istore 8 ,contw 
+5ac6 20600000 rtn 
+
+le_fifo_malloc_tx_l2cap_signaling:
+5ac7 20405acf call le_l2cap_update_signaling_identifier 
+5ac8 da400005 arg le_l2cap_cid_signal ,regb 
+5ac9 20405847 call le_fifo_malloc_tx_l2cap 
+5aca 1a627e00 copy regc ,pdata 
+5acb e0a08000 istore 1 ,contw 
+5acc 6800c508 fetch 1 ,mem_le_signaling_identifier 
+5acd e0a08000 istore 1 ,contw 
+5ace 20600000 rtn 
+
+le_l2cap_update_signaling_identifier:
+5acf 6800c508 fetch 1 ,mem_le_signaling_identifier 
+5ad0 1fe0fe01 pincrease 1 
+5ad1 6000c508 store 1 ,mem_le_signaling_identifier 
+5ad2 c1800000 rtnne 0 
+
+le_l2cap_reset_signaling_identifier:
+5ad3 70450801 jam 1 ,mem_le_signaling_identifier 
+5ad4 20600000 rtn 
+
+le_pairing_mode_init:
+5ad5 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5ad6 c0005ae4 beq le_pairing_mode_none ,le_set_no_pairing 
+5ad7 c000dae7 beq le_pairing_mode_lagacy_justwork ,le_set_pairing_mode_lagacy_just_work 
+5ad8 c0015ae9 beq le_pairing_mode_lagacy_passkey ,le_set_pairing_mode_lagacy_passkey 
+5ad9 c040dadd beq le_pairing_mode_secure_connect_justwork ,le_set_pairing_mode_secure_justwork 
+5ada c0415adf beq le_pairing_mode_secure_connect_numeric ,le_set_pairing_mode_secure_numeric 
+5adb c041dae2 beq le_pairing_mode_secure_connect_passkey ,le_set_pairing_mode_secure_passkey 
+5adc 20600000 rtn 
+
+le_set_pairing_mode_secure_justwork:
+5add 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ade 20205ae5 branch le_set_noinputnooutput 
+
+le_set_pairing_mode_secure_numeric:
+5adf 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ae0 70445401 jam flag_iocap_displayyesno ,mem_le_pres_iocap 
+5ae1 20600000 rtn 
+
+le_set_pairing_mode_secure_passkey:
+5ae2 7044560d jam flag_le_bonding_mitm_secure ,mem_le_pres_auth 
+5ae3 20205aea branch le_set_displayonly 
+
+le_set_no_pairing:
+5ae4 70445600 jam flag_le_no_bonding_no_mitm ,mem_le_pres_auth 
+
+le_set_noinputnooutput:
+5ae5 70445403 jam flag_iocap_noinputnooutput ,mem_le_pres_iocap 
+5ae6 20600000 rtn 
+
+le_set_pairing_mode_lagacy_just_work:
+5ae7 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+5ae8 20205ae5 branch le_set_noinputnooutput 
+
+le_set_pairing_mode_lagacy_passkey:
+5ae9 70445605 jam flag_le_bonding_mitm ,mem_le_pres_auth 
+
+le_set_displayonly:
+5aea 70445400 jam flag_iocap_displayonly ,mem_le_pres_iocap 
+5aeb 20600000 rtn 
+
+le_secure_connection_enable:
+5aec 6800c456 fetch 1 ,mem_le_pres_auth 
+5aed 79207e03 set1 le_auth_secure_connection_pairing_bit ,pdata 
+5aee 6000c456 store 1 ,mem_le_pres_auth 
+5aef 20600000 rtn 
+
+le_secure_connection_disable:
+5af0 6800c456 fetch 1 ,mem_le_pres_auth 
+5af1 793ffe03 set0 le_auth_secure_connection_pairing_bit ,pdata 
+5af2 6000c456 store 1 ,mem_le_pres_auth 
+5af3 20600000 rtn 
+
+le_parse_smp:
+5af4 e8c08000 ifetch 1 ,contr 
+5af5 c000db09 beq smp_pairing_request ,le_parse_smp_pairing_request 
+5af6 c001db30 beq smp_pairing_confirm ,le_parse_smp_pairing_confirm 
+5af7 c0025b4d beq smp_pairing_random ,le_parse_smp_pairing_random 
+5af8 c002db5a beq smp_pairing_failed ,le_parse_smp_pairing_failed 
+5af9 c0035b80 beq smp_encryption_information ,le_parse_smp_encryption_information 
+5afa c003dbc4 beq smp_master_identification ,le_parse_smp_master_identification 
+5afb c0045baf beq smp_identity_information ,le_parse_smp_identity_information 
+5afc c004dbc0 beq smp_identity_address_information ,le_parse_smp_identity_address_information 
+5afd c0055bc4 beq smp_signing_information ,le_parse_smp_signing_information 
+5afe c005dbc4 beq smp_security_request ,le_parse_smp_security_request 
+5aff c0065bc5 beq smp_pairing_public_key ,le_parse_smp_public_key 
+5b00 c006dbca beq smp_pairing_dhkey_check ,le_parse_smp_dhkey_check 
+5b01 20600000 rtn 
+
+le_send_smp_security_request:
+5b02 18002202 force 2 ,rega 
+5b03 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b04 5800000b setarg smp_security_request 
+5b05 e0a08000 istore 1 ,contw 
+5b06 6800c456 fetch 1 ,mem_le_pres_auth 
+5b07 e0a08000 istore 1 ,contw 
+5b08 20600000 rtn 
+
+le_parse_smp_pairing_request:
+5b09 6000c44c store 1 ,mem_le_preq 
+5b0a e8c30000 ifetch 6 ,contr 
+5b0b e0a30000 istore 6 ,contw 
+5b0c 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b0d c0005b5f beq le_pairing_mode_none ,le_smp_pairing_fail_reason_not_support_pairing 
+5b0e 20405b2b call le_send_smp_pairing_response 
+5b0f 20405b26 call le_check_master_support_secure_connect 
+5b10 7044c403 jam flag_le_pairing_rcv_pairing_req ,mem_le_pairing_state 
+5b11 6800c44d fetch 1 ,mem_le_preq_iocap 
+5b12 c0005b18 beq flag_iocap_displayonly ,le_set_tk_0 
+5b13 c000db18 beq flag_iocap_displayyesno ,le_set_tk_0 
+5b14 c001db18 beq flag_iocap_noinputnooutput ,le_set_tk_0 
+5b15 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b16 c0015b1b beq le_pairing_mode_lagacy_passkey ,le_parse_smp_pairing_req_passkey 
+5b17 c1418000 rtneq le_pairing_mode_secure_connect_passkey 
+
+le_set_tk_0:
+5b18 dfe00000 arg 0 ,pdata 
+5b19 600244c7 store 4 ,mem_le_tk 
+5b1a 20600000 rtn 
+
+le_parse_smp_pairing_req_passkey:
+5b1b 6800c4e9 fetch 1 ,mem_le_configuration 
+5b1c c2805b24 bbit1 bit_ble_passkey_fixed_key ,le_parse_smp_pairing_req_fixed_passkey 
+
+le_genernate_tk:
+5b1d da2044c7 arg mem_le_tk ,rega 
+5b1e 1a220a00 copy rega ,contw 
+5b1f df200003 arg 3 ,loopcnt 
+5b20 2040630d call generate_random_loop 
+5b21 680144c9 fetch 2 ,mem_le_tk + 2 
+5b22 1fe17e07 and_into 0x7 ,pdata 
+5b23 600144c9 store 2 ,mem_le_tk + 2 
+
+le_parse_smp_pairing_req_fixed_passkey:
+5b24 700a9934 jam bt_evt_le_tk_generate ,mem_fifo_temp 
+5b25 20207d86 branch ui_ipc_send_event 
+
+le_check_master_support_secure_connect:
+5b26 6800c44f fetch 1 ,mem_le_preq_auth 
+5b27 c3818000 rtnbit1 le_auth_secure_connection_pairing_bit 
+5b28 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b29 c4038000 rtnbit0 le_pairing_mode_secure_connect_bit 
+5b2a 20203402 branch app_ble_disconnect 
+
+le_send_smp_pairing_response:
+5b2b 18002207 force 7 ,rega 
+5b2c 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b2d 6803c453 fetch 7 ,mem_le_pres 
+5b2e e0a38000 istore 7 ,contw 
+5b2f 20600000 rtn 
+
+le_parse_smp_pairing_confirm:
+5b30 18c22200 copy contr ,rega 
+5b31 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b32 c041db37 beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_confirm_secure_passkey 
+5b33 1a220c00 copy rega ,contr 
+5b34 d8a0442a arg mem_le_rconfirm ,contw 
+5b35 20407ebf call memcpy16 
+5b36 20205b3d branch le_send_smp_pairing_confirm 
+
+le_parse_smp_pairing_confirm_secure_passkey:
+5b37 1a220c00 copy rega ,contr 
+5b38 d8a0442a arg mem_le_rconfirm ,contw 
+5b39 20407ebf call memcpy16 
+5b3a 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5b3b 7044c108 jam le_sc_stat_passkey_wait_confirm ,mem_le_secure_connect_state 
+5b3c 20600000 rtn 
+
+le_send_smp_pairing_confirm:
+5b3d 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b3e c283db45 bbit1 le_pairing_mode_secure_connect_bit ,le_send_smp_pairing_confirm_sc 
+5b3f 2040739c call generate_confirm 
+5b40 18002211 force 17 ,rega 
+5b41 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b42 58000003 setarg smp_pairing_confirm 
+5b43 e0a08000 istore 1 ,contw 
+5b44 20207497 branch store_aes_result 
+
+le_send_smp_pairing_confirm_sc:
+5b45 d8a0443a arg mem_le_srand ,contw 
+5b46 2040630c call generate_random 
+5b47 204071c5 call function_f4_cb 
+5b48 18002211 force 17 ,rega 
+5b49 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b4a 58000003 setarg smp_pairing_confirm 
+5b4b e0a08000 istore 1 ,contw 
+5b4c 20207201 branch load_inverse_result 
+
+le_parse_smp_pairing_random:
+5b4d 18c22200 copy contr ,rega 
+5b4e 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b4f c283db61 bbit1 le_pairing_mode_secure_connect_bit ,le_parse_smp_pairing_random_sc 
+5b50 1a220c00 copy rega ,contr 
+5b51 20407394 call authenticate_rconfirm 
+5b52 2022db75 branch le_parse_smp_pairing_random_success ,zero 
+
+le_send_pairing_confirm_value_failed:
+5b53 70047b04 jam pairing_failed_confirm_value_failed ,mem_le_ll_pairing_fail_reason 
+
+le_send_pairing_failed:
+5b54 18002202 force 2 ,rega 
+5b55 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b56 58000005 setarg smp_pairing_failed 
+5b57 e0a08000 istore 1 ,contw 
+5b58 6800847b fetch 1 ,mem_le_ll_pairing_fail_reason 
+5b59 e0a08000 istore 1 ,contw 
+
+le_parse_smp_pairing_failed:
+5b5a 18000e0a force smp_pairing_timer ,queue 
+5b5b 20407f07 call timer_stop 
+5b5c 7044c400 jam flag_le_pairing_null ,mem_le_pairing_state 
+5b5d 700a9930 jam bt_evt_le_pairing_fail ,mem_fifo_temp 
+5b5e 20207d86 branch ui_ipc_send_event 
+
+le_smp_pairing_fail_reason_not_support_pairing:
+5b5f 70047b05 jam pairing_failed_pairing_not_supported ,mem_le_ll_pairing_fail_reason 
+5b60 20205b54 branch le_send_pairing_failed 
+
+le_parse_smp_pairing_random_sc:
+5b61 d8a0042f arg mem_le_mrand ,contw 
+5b62 1a220c00 copy rega ,contr 
+5b63 20407ebf call memcpy16 
+5b64 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b65 c041db6c beq le_pairing_mode_secure_connect_passkey ,le_parse_smp_pairing_random_sc_passkey 
+5b66 2040714f call function_g2 
+5b67 20405b7a call le_send_smp_pairing_random 
+5b68 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5b69 c1c10000 rtnne le_pairing_mode_secure_connect_numeric 
+5b6a 700a993b jam bt_evt_le_gkey_generate ,mem_fifo_temp 
+5b6b 20207d86 branch ui_ipc_send_event 
+
+le_parse_smp_pairing_random_sc_passkey:
+5b6c 204071ba call function_f4_ca 
+5b6d d8a00af2 arg mem_aes_cmac_temp ,contw 
+5b6e 20407201 call load_inverse_result 
+5b6f da200af2 arg mem_aes_cmac_temp ,rega 
+5b70 da40442a arg mem_le_rconfirm ,regb 
+5b71 df200010 arg 16 ,loopcnt 
+5b72 20407f88 call string_compare 
+5b73 2422db53 nbranch le_send_pairing_confirm_value_failed ,zero 
+5b74 20205b7a branch le_send_smp_pairing_random 
+
+le_parse_smp_pairing_random_success:
+5b75 20407390 call generate_stk 
+5b76 700a9931 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+5b77 20407d86 call ui_ipc_send_event 
+5b78 70442901 jam 1 ,mem_ltk_exists 
+5b79 7044c405 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+
+le_send_smp_pairing_random:
+5b7a 18002211 force 17 ,rega 
+5b7b 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b7c 58000004 setarg smp_pairing_random 
+5b7d e0a08000 istore 1 ,contw 
+5b7e d8c0443a arg mem_le_srand ,contr 
+5b7f 20207ebf branch memcpy16 
+
+le_parse_smp_encryption_information:
+5b80 d8a0041f arg mem_le_peer_ltk ,contw 
+5b81 20207ebf branch memcpy16 
+
+le_send_smp_encryption_information:
+5b82 18002211 force 17 ,rega 
+5b83 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b84 58000006 setarg smp_encryption_information 
+5b85 e0a08000 istore 1 ,contw 
+5b86 6800c4e9 fetch 1 ,mem_le_configuration 
+5b87 c280db8a bbit1 bit_ble_pairing_fixed_ltk ,le_send_fixed_ltk 
+5b88 d8c04419 arg mem_le_ltk ,contr 
+5b89 20207ebf branch memcpy16 
+
+le_send_fixed_ltk:
+5b8a d8c044ea arg mem_le_fixed_ltk ,contr 
+5b8b 20207ebf branch memcpy16 
+
+le_send_smp_master_identification:
+5b8c d8a044cb arg mem_le_ediv ,contw 
+5b8d 1800720a force 10 ,loopcnt 
+5b8e 2040630d call generate_random_loop 
+5b8f 1800220b force 11 ,rega 
+5b90 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b91 58000007 setarg smp_master_identification 
+5b92 e0a08000 istore 1 ,contw 
+5b93 680144cb fetch 2 ,mem_le_ediv 
+5b94 e0a10000 istore 2 ,contw 
+5b95 680444cd fetch 8 ,mem_le_rand 
+5b96 e0a40000 istore 8 ,contw 
+5b97 20600000 rtn 
+
+le_send_smp_identity_information:
+5b98 18002211 force 17 ,rega 
+5b99 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5b9a 58000008 setarg smp_identity_information 
+5b9b e0a08000 istore 1 ,contw 
+5b9c 58000000 setarg 0 
+5b9d e0a40000 istore 8 ,contw 
+5b9e e0a40000 istore 8 ,contw 
+5b9f 20600000 rtn 
+
+le_send_smp_identity_address_information:
+5ba0 18002208 force 8 ,rega 
+5ba1 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5ba2 58000009 setarg smp_identity_address_information 
+5ba3 e0a08000 istore 1 ,contw 
+5ba4 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+5ba5 e0a08000 istore 1 ,contw 
+5ba6 680344a0 fetch 6 ,mem_le_lap 
+5ba7 e0a30000 istore 6 ,contw 
+5ba8 20600000 rtn 
+
+le_send_pairing_fail_unspecified_reason:
+5ba9 70047b08 jam pairing_failed_unspecified_reason ,mem_le_ll_pairing_fail_reason 
+5baa 20205b54 branch le_send_pairing_failed 
+
+le_check_init_key_distribution:
+5bab 6800c458 fetch 1 ,mem_le_pres_init_key_distribution 
+5bac 6808c458 fetcht 1 ,mem_le_pres_init_key_distribution 
+5bad 98417e00 iand temp ,pdata 
+5bae 20600000 rtn 
+
+le_parse_smp_identity_information:
+5baf d8a044d5 arg mem_le_irk ,contw 
+5bb0 20407ebf call memcpy16 
+5bb1 20405bab call le_check_init_key_distribution 
+5bb2 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5bb3 2020dba9 branch le_send_pairing_fail_unspecified_reason ,true 
+5bb4 6800c092 fetch 1 ,mem_device_option 
+5bb5 c1850000 rtnne dvc_op_module 
+5bb6 20405bb9 call le_check_master_addr_type 
+5bb7 24740000 nrtn user 
+5bb8 20203410 branch app_ble_store_reconn_info 
+
+le_check_master_addr_type:
+5bb9 20407fe9 call disable_user 
+5bba 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+5bbb c1000000 rtneq master_public_addr 
+5bbc 68008454 fetch 1 ,mem_le_plap + 5 
+5bbd 2fe180c0 compare 0xc0 ,pdata ,0xc0 
+5bbe 20608000 rtn true 
+5bbf 20207fe7 branch enable_user 
+
+le_parse_smp_identity_address_information:
+5bc0 20405bab call le_check_init_key_distribution 
+5bc1 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5bc2 2020dba9 branch le_send_pairing_fail_unspecified_reason ,true 
+5bc3 20600000 rtn 
+
+le_parse_smp_master_identification:
+
+le_parse_smp_signing_information:
+
+le_parse_smp_security_request:
+5bc4 20600000 rtn 
+
+le_parse_smp_public_key:
+5bc5 d8a009be arg mem_le_pubkey_remote_x_256 ,contw 
+5bc6 20407eb3 call memcpy64 
+5bc7 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5bc8 7044c101 jam le_sc_stat_receive_public_key ,mem_le_secure_connect_state 
+5bc9 20600000 rtn 
+
+le_parse_smp_dhkey_check:
+5bca d8a00a6e arg mem_sp_confirm_remote ,contw 
+5bcb 20407ebf call memcpy16 
+5bcc 7044c106 jam le_sc_stat_receive_dhkey ,mem_le_secure_connect_state 
+5bcd 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5bce 20600000 rtn 
+
+le_send_smp_pairing_public_key:
+5bcf 18002241 force 65 ,rega 
+5bd0 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5bd1 5800000c setarg smp_pairing_public_key 
+5bd2 e0a08000 istore 1 ,contw 
+5bd3 d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+5bd4 20207eb3 branch memcpy64 
+
+le_send_smp_pairing_dhkey_check:
+5bd5 20407166 call function_f6_eb 
+5bd6 18002211 force 17 ,rega 
+5bd7 20405c62 call le_fifo_malloc_tx_l2cap_smp 
+5bd8 5800000d setarg smp_pairing_dhkey_check 
+5bd9 e0a08000 istore 1 ,contw 
+5bda 20207201 branch load_inverse_result 
+
+le_check_paring_time:
+5bdb 6800c4c4 fetch 1 ,mem_le_pairing_state 
+5bdc c17f8000 rtneq flag_le_pairing_end 
+5bdd d8400003 arg flag_le_pairing_rcv_pairing_req ,temp 
+5bde 98467c00 isub temp ,null 
+5bdf 24610000 nrtn positive 
+5be0 d8e0000a arg smp_pairing_timer ,queue 
+5be1 20407f16 call timer_check 
+5be2 247a0000 nrtn blank 
+5be3 20205ba9 branch le_send_pairing_fail_unspecified_reason 
+
+le_pairing_sm:
+5be4 473c402f bpatchx patch2f_0 ,mem_patch2f 
+5be5 6800c4c4 fetch 1 ,mem_le_pairing_state 
+5be6 c0005bef beq flag_le_pairing_null ,le_pairing_sm_null 
+5be7 c000dbf5 beq flag_le_pairing_start ,le_pairing_sm_start 
+5be8 c0015bef beq flag_le_pairing_send_recurity_req ,le_pairing_sm_send_sec_req 
+5be9 c001dbf7 beq flag_le_pairing_rcv_pairing_req ,le_pairing_sm_rcv_pairing_req 
+5bea c002dbfb beq flag_le_pairing_after_auth ,le_pairing_sm_after_auth 
+5beb c003dc07 beq flag_le_paring_send_enc_information ,le_pairng_sm_send_enc_information 
+5bec c0045c09 beq flag_le_paring_send_master_identification ,le_pairng_sm_send_master_indentification 
+5bed c004dc10 beq flag_le_paring_send_indentity_information ,le_pairng_sm_send_indentity_information 
+5bee 20600000 rtn 
+
+le_pairing_sm_null:
+
+le_pairing_sm_send_sec_req:
+5bef 6800c4c5 fetch 1 ,mem_le_enc_state 
+5bf0 c1820000 rtnne flag_le_send_start_enc_rsp 
+5bf1 7044c5ff jam flag_le_enc_end ,mem_le_enc_state 
+5bf2 7044c4ff jam flag_le_pairing_end ,mem_le_pairing_state 
+5bf3 700a993f jam bt_evt_le_reconnect_complete ,mem_fifo_temp 
+5bf4 20207d86 branch ui_ipc_send_event 
+
+le_pairing_sm_start:
+5bf5 7044c402 jam flag_le_pairing_send_recurity_req ,mem_le_pairing_state 
+5bf6 20205b02 branch le_send_smp_security_request 
+
+le_pairing_sm_rcv_pairing_req:
+5bf7 7044c404 jam flag_le_pairing_auth ,mem_le_pairing_state 
+5bf8 58017700 setarg timer_smp_pairing_timeout 
+5bf9 d8e0000a arg smp_pairing_timer ,queue 
+5bfa 20207f08 branch timer_init 
+
+le_pairing_sm_after_auth:
+5bfb 6800c4c5 fetch 1 ,mem_le_enc_state 
+5bfc c0025bfe beq flag_le_send_start_enc_rsp ,le_pairing_sm_after_auth_start_enc 
+5bfd 20600000 rtn 
+
+le_pairing_sm_after_auth_start_enc:
+5bfe 7044c407 jam flag_le_paring_send_enc_information ,mem_le_pairing_state 
+5bff 700a9929 jam bt_evt_le_enc_info ,mem_fifo_temp 
+5c00 20407d86 call ui_ipc_send_event 
+5c01 20405b82 call le_send_smp_encryption_information 
+5c02 6800c092 fetch 1 ,mem_device_option 
+5c03 c1850000 rtnne dvc_op_module 
+5c04 20405bb9 call le_check_master_addr_type 
+5c05 20740000 rtn user 
+5c06 20203410 branch app_ble_store_reconn_info 
+
+le_pairng_sm_send_enc_information:
+5c07 7044c408 jam flag_le_paring_send_master_identification ,mem_le_pairing_state 
+5c08 20205b8c branch le_send_smp_master_identification 
+
+le_pairng_sm_send_master_indentification:
+5c09 6800c452 fetch 1 ,mem_le_preq_resp_key_distribution 
+5c0a 6808c459 fetcht 1 ,mem_le_pres_resp_key_distribution 
+5c0b 98417e00 iand temp ,pdata 
+5c0c 2fec0001 isolate0 le_initator_irk_bit ,pdata 
+5c0d 2020dc12 branch le_parse_start_enc_rsp_after_auth_end ,true 
+5c0e 7044c409 jam flag_le_paring_send_indentity_information ,mem_le_pairing_state 
+5c0f 20205b98 branch le_send_smp_identity_information 
+
+le_pairng_sm_send_indentity_information:
+5c10 20405ba0 call le_send_smp_identity_address_information 
+5c11 20205c12 branch le_parse_start_enc_rsp_after_auth_end 
+
+le_parse_start_enc_rsp_after_auth_end:
+5c12 18000e0a force smp_pairing_timer ,queue 
+5c13 20407f07 call timer_stop 
+5c14 7044c5ff jam flag_le_enc_end ,mem_le_enc_state 
+5c15 7044c4ff jam flag_le_pairing_end ,mem_le_pairing_state 
+5c16 700a993e jam bt_evt_le_pairing_complete ,mem_fifo_temp 
+5c17 20207d86 branch ui_ipc_send_event 
+
+le_secure_connect_sm:
+5c18 473cc02f bpatchx patch2f_1 ,mem_patch2f 
+5c19 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c1a c4038000 rtnbit0 le_pairing_mode_secure_connect_bit 
+5c1b 6800c4bf fetch 1 ,mem_le_secure_connect_flag 
+5c1c c1810000 rtnne le_sp_flag_commit_256 
+5c1d 7044bf00 jam sp_flag_standby ,mem_le_secure_connect_flag 
+5c1e 6800c4c1 fetch 1 ,mem_le_secure_connect_state 
+5c1f c000dc58 beq le_sc_stat_receive_public_key ,le_sc_sm_receive_public_key 
+5c20 c0015c5f beq le_sc_stat_wait_send_public_key ,le_sc_sm_wait_send_public_key 
+5c21 c001dc52 beq le_sc_stat_send_public_key ,le_sc_sm_send_public_key 
+5c22 c0035c39 beq le_sc_stat_receive_dhkey ,le_sc_sm_receive_dhkey 
+5c23 c003dc30 beq le_sc_stat_wait_confirm_gkey ,le_sc_sm_wait_confirm_gkey 
+5c24 c0045c26 beq le_sc_stat_passkey_wait_confirm ,le_sc_sm_passkey_wait_confirm 
+5c25 20600000 rtn 
+
+le_sc_sm_passkey_wait_confirm:
+5c26 6800c663 fetch 1 ,mem_authentication_passkey_times 
+5c27 1fe20e00 copy pdata ,queue 
+5c28 1fe0fe01 increase 1 ,pdata 
+5c29 6000c663 store 1 ,mem_authentication_passkey_times 
+5c2a 680244c7 fetch 4 ,mem_le_tk 
+5c2b afefffff qisolate1 pdata 
+5c2c 58000080 setarg 0x80 
+5c2d 7920fe00 setflag true ,0 ,pdata 
+5c2e 6000c664 store 1 ,mem_passkey_1bit 
+5c2f 20205c55 branch le_sc_sm_ready_send_pairing_confirm 
+
+le_sc_sm_wait_confirm_gkey:
+5c30 6800c4c2 fetch 1 ,mem_le_sc_confirm_gkey_flag 
+5c31 7044c200 jam flag_le_sc_confrim_null ,mem_le_sc_confirm_gkey_flag 
+5c32 c000dc35 beq flag_le_sc_confrim_gkey_ok ,le_sc_confirm_gkey_ok 
+5c33 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c34 20600000 rtn 
+
+le_sc_confirm_gkey_ok:
+5c35 700a9931 jam bt_evt_le_pairing_success ,mem_fifo_temp 
+5c36 20407d86 call ui_ipc_send_event 
+5c37 7044c405 jam flag_le_pairing_after_auth ,mem_le_pairing_state 
+5c38 20205bd5 branch le_send_smp_pairing_dhkey_check 
+
+le_sc_sm_receive_dhkey:
+5c39 680089b9 fetch 1 ,mem_sp_dhkey_invalid 
+5c3a c001dc3d beq sp_key_valid_256 ,le_dhkey_ready 
+5c3b 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c3c 20600000 rtn 
+
+le_dhkey_ready:
+5c3d 2040718d call function_f5 
+5c3e 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c3f c041dc41 beq le_pairing_mode_secure_connect_passkey ,le_dhkey_ready_common 
+5c40 20405b18 call le_set_tk_0 
+
+le_dhkey_ready_common:
+5c41 2040717a call function_f6_ea 
+5c42 da200af2 arg mem_aes_cmac_temp ,rega 
+5c43 da400a6e arg mem_sp_confirm_remote ,regb 
+5c44 df200010 arg 16 ,loopcnt 
+5c45 20407f88 call string_compare 
+5c46 2022dc49 branch le_dhkey_check_ok ,zero 
+
+le_dhkey_check_fail:
+5c47 70047b0b jam pairing_failed_dhkey_check_failed ,mem_le_ll_pairing_fail_reason 
+5c48 20205b54 branch le_send_pairing_failed 
+
+le_dhkey_check_ok:
+5c49 20407595 call sp_calc_check_publickey_256 
+5c4a 2422dc47 nbranch le_dhkey_check_fail ,zero 
+5c4b 70442901 jam 1 ,mem_ltk_exists 
+5c4c 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c4d c040dc35 beq le_pairing_mode_secure_connect_justwork ,le_sc_confirm_gkey_ok 
+5c4e c041dc35 beq le_pairing_mode_secure_connect_passkey ,le_sc_confirm_gkey_ok 
+5c4f 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c50 7044c107 jam le_sc_stat_wait_confirm_gkey ,mem_le_secure_connect_state 
+5c51 20600000 rtn 
+
+le_sc_sm_send_public_key:
+5c52 6800c4c6 fetch 1 ,mem_le_pairing_mode 
+5c53 c041dc56 beq le_pairing_mode_secure_connect_passkey ,le_sc_sm_send_public_key_passkey 
+5c54 70466400 jam 0 ,mem_passkey_1bit 
+
+le_sc_sm_ready_send_pairing_confirm:
+5c55 20205b3d branch le_send_smp_pairing_confirm 
+
+le_sc_sm_send_public_key_passkey:
+5c56 70466300 jam 0 ,mem_authentication_passkey_times 
+5c57 20205b1b branch le_parse_smp_pairing_req_passkey 
+
+le_sc_sm_receive_public_key:
+5c58 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c59 6800c4c3 fetch 1 ,mem_le_sc_local_key_invalid 
+5c5a c001dc5c beq sp_key_valid_256 ,le_public_key_ready 
+5c5b 20600000 rtn 
+
+le_public_key_ready:
+5c5c 7044c102 jam le_sc_stat_wait_send_public_key ,mem_le_secure_connect_state 
+5c5d 7009b900 jam sp_key_invalid ,mem_sp_dhkey_invalid 
+5c5e 20207a99 branch sp_dhkey_calc_256 
+
+le_sc_sm_wait_send_public_key:
+5c5f 7044bf02 jam le_sp_flag_commit_256 ,mem_le_secure_connect_flag 
+5c60 7044c103 jam le_sc_stat_send_public_key ,mem_le_secure_connect_state 
+5c61 20205bcf branch le_send_smp_pairing_public_key 
+
+le_fifo_malloc_tx_l2cap_smp:
+5c62 18002406 force le_l2cap_cid_smp ,regb 
+5c63 20205847 branch le_fifo_malloc_tx_l2cap 
+
+le_parse_ll:
+5c64 680082db fetch 1 ,mem_le_rxbuf + 2 
+5c65 c0005c7b beq ll_connection_update_req ,le_parse_connection_update_req 
+5c66 c000dc83 beq ll_channel_map_req ,le_parse_channel_map_req 
+5c67 c0015c8e beq ll_terminate_ind ,le_parse_terminate_ind 
+5c68 c001dcaa beq ll_enc_req ,le_parse_enc_req 
+5c69 c0025ce1 beq ll_enc_rsp ,le_parse_enc_rsp 
+5c6a c002dce6 beq ll_start_enc_req ,le_parse_start_enc_req 
+5c6b c0035cea beq ll_start_enc_rsp ,le_parse_start_enc_rsp 
+5c6c c003dcf5 beq ll_unknown_rsp ,le_parse_unknown_rsp 
+5c6d c0045c99 beq ll_feature_req ,le_parse_feature_req 
+5c6e c004dcf5 beq ll_feature_rsp ,le_parse_feature_rsp 
+5c6f c0055cef beq ll_pause_enc_req ,le_parse_pause_enc_req 
+5c70 c005dcf5 beq ll_pause_enc_rsp ,le_parse_pause_enc_rsp 
+5c71 c0065c9f beq ll_version_ind ,le_parse_version_ind 
+5c72 c006dcf5 beq ll_reject_ind ,le_parse_reject_ind 
+5c73 c0095ca6 beq ll_ping_req ,le_parse_ping_req 
+5c74 c009dcf5 beq ll_ping_rsp ,le_parse_ping_rsp 
+5c75 da200002 arg 2 ,rega 
+5c76 da400007 arg ll_unknown_rsp ,regb 
+5c77 20405842 call le_fifo_malloc_tx_ll 
+5c78 680082db fetch 1 ,mem_le_rxbuf + 2 
+5c79 e0a08000 istore 1 ,contw 
+5c7a 20600000 rtn 
+
+le_parse_connection_update_req:
+5c7b e8c48000 ifetch 9 ,contr 
+5c7c 6004c3d3 store 9 ,mem_le_new_param 
+5c7d e8c10000 ifetch 2 ,contr 
+5c7e 6001045f store 2 ,mem_le_instant 
+5c7f 6800843f fetch 1 ,mem_le_state 
+5c80 79207e05 set1 lestate_update_param ,pdata 
+5c81 6000843f store 1 ,mem_le_state 
+5c82 20600000 rtn 
+
+le_parse_channel_map_req:
+5c83 e8c28000 ifetch 5 ,contr 
+5c84 6002c3ce store 5 ,mem_le_new_map 
+5c85 e8c10000 ifetch 2 ,contr 
+5c86 6001045f store 2 ,mem_le_instant 
+5c87 68090459 fetcht 2 ,mem_le_event_count 
+5c88 98467c00 isub temp ,null 
+5c89 24215c8e nbranch le_parse_terminate_ind ,positive 
+5c8a 6800843f fetch 1 ,mem_le_state 
+5c8b 79207e06 set1 lestate_update_map ,pdata 
+5c8c 6000843f store 1 ,mem_le_state 
+5c8d 20600000 rtn 
+
+le_parse_terminate_ind:
+5c8e 58000014 setarg 20 
+5c8f 6001046d store 2 ,mem_le_superto 
+5c90 600144ba store 2 ,mem_le_init_superto 
+5c91 20600000 rtn 
+
+le_send_terminate_ind_user_terminated:
+5c92 da600013 arg error_remote_user_terminated_connection ,regc 
+
+le_send_terminate_ind:
+5c93 da200002 arg 2 ,rega 
+5c94 da400002 arg ll_terminate_ind ,regb 
+5c95 20405842 call le_fifo_malloc_tx_ll 
+5c96 1a627e00 copy regc ,pdata 
+5c97 e0a08000 istore 1 ,contw 
+5c98 20600000 rtn 
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+5c99 da200009 arg 9 ,rega 
+5c9a da400009 arg ll_feature_rsp ,regb 
+5c9b 20405842 call le_fifo_malloc_tx_ll 
+5c9c 58000001 setarg param_le_features 
+5c9d e0a40000 istore 8 ,contw 
+5c9e 20600000 rtn 
+
+le_parse_version_ind:
+5c9f 20748000 rtn master 
+
+le_send_version_ind:
+5ca0 da200006 arg 6 ,rega 
+5ca1 da40000c arg ll_version_ind ,regb 
+5ca2 20405842 call le_fifo_malloc_tx_ll 
+5ca3 6802c510 fetch 5 ,mem_lmp_version 
+5ca4 e0a28000 istore 5 ,contw 
+5ca5 20600000 rtn 
+
+le_parse_ping_req:
+5ca6 da400013 arg ll_ping_rsp ,regb 
+5ca7 20205ca8 branch le_send_ll_one_lenth 
+
+le_send_ll_one_lenth:
+5ca8 da200001 arg 1 ,rega 
+5ca9 20205842 branch le_fifo_malloc_tx_ll 
+
+le_parse_enc_req:
+5caa e8c40000 ifetch 8 ,contr 
+5cab 600444cd store 8 ,mem_le_rand 
+5cac e8c10000 ifetch 2 ,contr 
+5cad 600144cb store 2 ,mem_le_ediv 
+5cae e8c40000 ifetch 8 ,contr 
+5caf 600444aa store 8 ,mem_le_skdm 
+5cb0 e8c20000 ifetch 4 ,contr 
+5cb1 60024411 store 4 ,mem_le_ivm 
+5cb2 20405ccf call le_send_enc_rsp 
+5cb3 473d402f bpatchx patch2f_2 ,mem_patch2f 
+5cb4 6800c4c4 fetch 1 ,mem_le_pairing_state 
+5cb5 c002dcbc beq flag_le_pairing_after_auth ,le_parse_enc_req_after_auth 
+5cb6 6800c4e9 fetch 1 ,mem_le_configuration 
+5cb7 c280dcbf bbit1 bit_ble_pairing_fixed_ltk ,le_parse_enc_req_fixed_ltk 
+5cb8 6800c217 fetch 1 ,mem_nv_data_number 
+5cb9 245a67be ncall load_device_list_mode_4 ,blank 
+5cba 6800c429 fetch 1 ,mem_ltk_exists 
+5cbb c0005cc4 beq 0 ,le_ltk_lost 
+
+le_parse_enc_req_after_auth:
+5cbc 7044c501 jam flag_le_rcv_enc_start ,mem_le_enc_state 
+5cbd 20405cdd call le_send_start_enc_req 
+5cbe 202073a2 branch generate_sk 
+
+le_parse_enc_req_fixed_ltk:
+5cbf 70442901 jam 1 ,mem_ltk_exists 
+5cc0 d8c044ea arg mem_le_fixed_ltk ,contr 
+5cc1 d8a04419 arg mem_le_ltk ,contw 
+5cc2 20407ebf call memcpy16 
+5cc3 20205cbc branch le_parse_enc_req_after_auth 
+
+le_ltk_lost:
+5cc4 473dc02f bpatchx patch2f_3 ,mem_patch2f 
+5cc5 7044c500 jam flag_le_enc_null ,mem_le_enc_state 
+5cc6 7044c400 jam flag_le_enc_null ,mem_le_pairing_state 
+5cc7 700a9941 jam bt_evt_le_ltk_lost ,mem_fifo_temp 
+5cc8 20207d86 branch ui_ipc_send_event 
+
+le_send_reject_ind:
+5cc9 da200002 arg 2 ,rega 
+5cca da40000d arg ll_reject_ind ,regb 
+5ccb 20405842 call le_fifo_malloc_tx_ll 
+5ccc 58000006 setarg le_err_pin_or_key_missing 
+5ccd e0a08000 istore 1 ,contw 
+5cce 20600000 rtn 
+
+le_send_enc_rsp:
+5ccf d8a044b2 arg mem_le_skds ,contw 
+5cd0 18007208 force 8 ,loopcnt 
+5cd1 2040630d call generate_random_loop 
+5cd2 d8a04415 arg mem_le_ivs ,contw 
+5cd3 18007204 force 4 ,loopcnt 
+5cd4 2040630d call generate_random_loop 
+5cd5 da20000d arg 13 ,rega 
+5cd6 da400004 arg ll_enc_rsp ,regb 
+5cd7 20405842 call le_fifo_malloc_tx_ll 
+5cd8 680444b2 fetch 8 ,mem_le_skds 
+5cd9 e0a40000 istore 8 ,contw 
+5cda 68024415 fetch 4 ,mem_le_ivs 
+5cdb e0a20000 istore 4 ,contw 
+5cdc 20600000 rtn 
+
+le_send_start_enc_req:
+5cdd da400005 arg ll_start_enc_req ,regb 
+5cde 20205ca8 branch le_send_ll_one_lenth 
+
+le_send_start_enc_rsp:
+5cdf da400006 arg ll_start_enc_rsp ,regb 
+5ce0 20205ca8 branch le_send_ll_one_lenth 
+
+le_parse_enc_rsp:
+5ce1 e8c40000 ifetch 8 ,contr 
+5ce2 600444b2 store 8 ,mem_le_skds 
+5ce3 e8c20000 ifetch 4 ,contr 
+5ce4 60024415 store 4 ,mem_le_ivs 
+5ce5 202073a2 branch generate_sk 
+
+le_parse_start_enc_req:
+5ce6 6800843f fetch 1 ,mem_le_state 
+5ce7 79207e04 set1 lestate_encryption ,pdata 
+5ce8 6000843f store 1 ,mem_le_state 
+5ce9 20600000 rtn 
+
+le_parse_start_enc_rsp:
+5cea 20748000 rtn master 
+5ceb 700a9932 jam bt_evt_le_start_enc ,mem_fifo_temp 
+5cec 20407d86 call ui_ipc_send_event 
+5ced 7044c504 jam flag_le_send_start_enc_rsp ,mem_le_enc_state 
+5cee 20205cdf branch le_send_start_enc_rsp 
+
+le_parse_pause_enc_req:
+5cef 7044c502 jam flag_le_enc_pause ,mem_le_enc_state 
+5cf0 20405cf3 call le_send_pause_enc_rsp 
+5cf1 700a9933 jam bt_evt_le_pause_enc ,mem_fifo_temp 
+5cf2 20207d86 branch ui_ipc_send_event 
+
+le_send_pause_enc_rsp:
+5cf3 da40000b arg ll_pause_enc_rsp ,regb 
+5cf4 20205ca8 branch le_send_ll_one_lenth 
+
+le_parse_feature_rsp:
+
+le_parse_unknown_rsp:
+
+le_parse_pause_enc_rsp:
+
+le_parse_reject_ind:
+
+le_parse_ping_rsp:
+5cf5 20600000 rtn 
+
+init_lmp:
+5cf6 20758000 rtn wake 
+
+init_lmp_work:
+5cf7 473e402f bpatchx patch2f_4 ,mem_patch2f 
+5cf8 58000000 setarg 0 
+5cf9 60008048 store 1 ,mem_lmp_to_send 
+5cfa 60008055 store 1 ,mem_conn_sm 
+5cfb 60008078 store 1 ,mem_lmo_opcode1 
+5cfc 6000807c store 1 ,mem_lmo_opcode2 
+5cfd 6000c158 store 1 ,mem_esco_addr 
+5cfe 600084d7 store 1 ,mem_auth_enable 
+5cff 6000816d store 1 ,mem_connection_options 
+5d00 600089b5 store 1 ,mem_pairing_auth 
+5d01 70455b00 jam switch_flag_init ,mem_switch_flag 
+5d02 70022900 jam 0 ,mem_switch_fail_master_count 
+5d03 7004d800 jam null_encryp ,mem_wait_encryption 
+
+init_lmp_reinit:
+5d04 7009b500 jam 0 ,mem_pairing_auth 
+5d05 7009b400 jam 0 ,mem_sp_localsm 
+5d06 7004d100 jam 0 ,mem_lmp_conn_state 
+
+parse_rx_done:
+5d07 20600000 rtn 
+
+parse_lmp:
+5d08 473ec02f bpatchx patch2f_5 ,mem_patch2f 
+5d09 2054e2ff call setlocalsm_master ,master 
+5d0a 2454e303 ncall setlocalsm_slave ,master 
+5d0b 204062bc call lmo_fifo_check 
+5d0c 247a0000 nrtn blank 
+5d0d 6800804c fetch 1 ,mem_state_map 
+5d0e c4030000 rtnbit0 smap_rxlmp 
+5d0f 793ffe06 set0 smap_rxlmp ,pdata 
+5d10 793f8001 set0 mark_rxbuf_inuse ,mark 
+5d11 6000804c store 1 ,mem_state_map 
+5d12 68008551 fetch 1 ,mem_rxbuf 
+5d13 6808804c fetcht 1 ,mem_state_map 
+5d14 2feffe00 isolate1 smap_lmptidinit ,pdata 
+5d15 79208401 setflag true ,smap_lmptid ,temp 
+5d16 6008804c storet 1 ,mem_state_map 
+5d17 18410402 and_into 0x2 ,temp 
+5d18 6008807f storet 1 ,mem_lmo_tid2 
+5d19 6808804c fetcht 1 ,mem_state_map 
+5d1a 1fe37e00 rshift pdata ,pdata 
+5d1b 6000807d store 1 ,mem_lmi_opcode2 
+5d1c 473f402f bpatchx patch2f_6 ,mem_patch2f 
+5d1d 6800807d fetch 1 ,mem_lmi_opcode2 
+5d1e c03fdd66 beq lmp_escape ,parse_lmp_escape 
+5d1f c001ddb1 beq lmp_accepted ,parse_lmp_accepted 
+5d20 c0025dc2 beq lmp_not_accepted ,parse_lmp_not_accepted 
+5d21 c01e5d59 beq lmp_set_afh ,parse_lmp_set_afh 
+5d22 c002dd55 beq lmp_clkoffset_req ,parse_lmp_clkoffset_req 
+5d23 c007dfa8 beq lmp_encryption_mode_req ,parse_lmp_encryption_mode_req 
+5d24 c0085e24 beq lmp_encryption_key_size_req ,parse_lmp_crypt_key 
+5d25 c011de42 beq lmp_auto_rate ,parse_lmp_auto_rate 
+5d26 c01cdfc1 beq lmp_test_control ,parse_lmp_test_control 
+5d27 c01c5fbc beq lmp_test_activate ,parse_lmp_test_activate 
+5d28 c018de27 beq lmp_setup_complete ,parse_lmp_setup_complete 
+5d29 c01bdeb0 beq lmp_supervision_timeout ,parse_lmp_supervision_timeout 
+5d2a c013deac beq lmp_features_req ,parse_lmp_features_req 
+5d2b c019dea9 beq lmp_host_connection_req ,parse_lmp_conn_req 
+5d2c c012deae beq lmp_version_req ,parse_lmp_version_req 
+5d2d c0135e3e beq lmp_version_res ,parse_lmp_version_res 
+5d2e c003de36 beq lmp_detach ,parse_lmp_detach 
+5d2f c016de2d beq lmp_max_slot ,parse_lmp_max_slot 
+5d30 c0175e2e beq lmp_max_slot_req ,parse_lmp_max_slot_req 
+5d31 c000dea5 beq lmp_name_req ,parse_lmp_name_req 
+5d32 c0015e90 beq lmp_name_res ,parse_lmp_name_res 
+5d33 c0145fb3 beq lmp_features_res ,parse_lmp_features_res 
+5d34 c004de86 beq lmp_comb_key ,parse_lmp_comb_key 
+5d35 c005de5f beq lmp_au_rand ,parse_lmp_au_rand 
+5d36 c0045e43 beq lmp_in_rand ,parse_lmp_in_rand 
+5d37 c0065e6a beq lmp_sres ,parse_lmp_sres 
+5d38 c00fde3a beq lmp_incr_power_req ,parse_lmp_incr_power 
+5d39 c0105e3c beq lmp_decr_power_req ,parse_lmp_decr_power 
+5d3a c010deca beq lmp_max_power ,parse_lmp_max_power 
+5d3b c0115eca beq lmp_min_power ,parse_lmp_min_power 
+5d3c c01adecb beq lmp_page_mode_req ,parse_lmp_page_mode_req 
+5d3d c01b5ecc beq lmp_page_scan_mode_req ,parse_lmp_page_scan_mode_req 
+5d3e c0125eca beq lmp_preferred_rate ,parse_lmp_preferred_rate 
+5d3f c01a5ecd beq lmp_slot_offset ,parse_lmp_slot_offset 
+5d40 c00bded6 beq lmp_sniff_req ,parse_lmp_sniff_req 
+5d41 c008def2 beq lmp_start_encryption_req ,parse_lmp_start_encryption_req 
+5d42 c0095ef6 beq lmp_stop_encryption_req ,parse_lmp_stop_encryption_req 
+5d43 c009def8 beq lmp_switch_req ,parse_lmp_switch_req 
+5d44 c006df0a beq lmp_temp_rand ,parse_lmp_temp_rand 
+5d45 c0075f0a beq lmp_temp_key ,parse_lmp_temp_key 
+5d46 c017deaa beq lmp_timing_accuracy_req ,parse_lmp_timing_accuracy_req 
+5d47 c0185f0a beq lmp_timing_accuracy_res ,parse_lmp_timing_accuracy_res 
+5d48 c0055f0a beq lmp_unit_key ,parse_lmp_unit_key 
+5d49 c00c5f0b beq lmp_unsniff_req ,parse_lmp_unsniff_req 
+5d4a c0195f0a beq lmp_use_semi_permanent_key ,parse_lmp_use_semi_permanend_key 
+5d4b c01edf10 beq lmp_encapsulated_header ,parse_lmp_encapsulated_header 
+5d4c c01f5f51 beq lmp_encapsulated_payload ,parse_lmp_encapsulated_payload 
+5d4d c01fdf4b beq lmp_simple_pairing_confirm ,parse_simple_pairing_confirm 
+5d4e c0205f78 beq lmp_simple_pairing_number ,parse_lmp_simple_pairing_number 
+5d4f c020df8a beq lmp_dhkey_check ,parse_dhkey_check 
+5d50 c0035fa7 beq lmp_clkoffset_res ,parse_lmp_clkoffset_res 
+5d51 c01d5d57 beq lmp_enc_key_size_mask_req ,parse_enc_key_size_mask_req 
+
+reject_unknown_packet:
+5d52 70007e19 jam unknown_lmp_pdu ,mem_lmo_reason2 
+
+reject_lmp_packet:
+5d53 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5d54 20600000 rtn 
+
+parse_lmp_clkoffset_req:
+5d55 70007c06 jam lmp_clkoffset_res ,mem_lmo_opcode2 
+5d56 20600000 rtn 
+
+parse_enc_key_size_mask_req:
+5d57 70007c3b jam lmp_enc_key_size_mask_res ,mem_lmo_opcode2 
+5d58 20600000 rtn 
+
+parse_lmp_set_afh:
+5d59 68020552 fetch 4 ,mem_rxbuf + 1 
+5d5a 1fe3fe00 lshift pdata ,pdata 
+5d5b 600240d2 store 4 ,mem_afh_instant 
+5d5c 68008556 fetch 1 ,mem_rxbuf + 5 
+5d5d 6000c0d9 store 1 ,mem_afh_new_mod 
+5d5e 68028557 fetch 5 ,mem_rxbuf + 6 
+5d5f 6002c0e7 store 5 ,mem_afh_map_new 
+5d60 6802855c fetch 5 ,mem_rxbuf + 11 
+5d61 e0a28000 istore 5 ,contw 
+5d62 68008031 fetch 1 ,mem_mode 
+5d63 79207e03 set1 afh_change ,pdata 
+5d64 60008031 store 1 ,mem_mode 
+5d65 20600000 rtn 
+
+parse_lmp_escape:
+5d66 473fc02f bpatchx patch2f_7 ,mem_patch2f 
+5d67 68008552 fetch 1 ,mem_rxbuf + 1 
+5d68 79207e07 set1 7 ,pdata 
+5d69 6000807d store 1 ,mem_lmi_opcode2 
+5d6a c040dd88 beq lmp_ext_accepted ,parse_lmpext_accepted 
+5d6b c0415d8d beq lmp_not_accepted_ext ,parse_lmpext_not_accepted 
+5d6c c04adeb1 beq lmp_sniff_subrating_req ,parse_lmp_sniff_subrating_req 
+5d6d c04b5eca beq lmp_sniff_subrating_res ,parse_lmp_sniff_subrating_res 
+5d6e c045debf beq lmp_packet_type_table_req ,parse_lmpext_packet_type_table_req 
+5d6f c041dda5 beq lmp_ext_features_req ,parse_lmpext_features_req 
+5d70 c0425da7 beq lmp_ext_features_res ,parse_lmpext_features_res 
+5d71 c0485d7a beq lmp_ext_chn_classification_req ,parse_lmpext_chn_classification_req 
+5d72 c04bdd9e beq lmp_pause_encryption_req ,parse_lmpext_pause_encrypt 
+5d73 c04c5da3 beq lmp_resume_encryption_req ,parse_lmpext_resume_encrypt 
+5d74 c04cdd7d beq lmp_io_cap_req ,parse_lmpext_iocap_req 
+5d75 c04d5d80 beq lmp_io_cap_res ,parse_lmpext_iocap_res 
+5d76 c1420000 rtneq lmp_ext_features_res 
+
+reject_unknown_ext_packet:
+5d77 70007c82 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+5d78 70007e19 jam unknown_lmp_pdu ,mem_lmo_reason2 
+5d79 20600000 rtn 
+
+parse_lmpext_chn_classification_req:
+5d7a 70007c82 jam lmp_not_accepted_ext ,mem_lmo_opcode2 
+5d7b 70007e2e jam not_support_chn_classification ,mem_lmo_reason2 
+5d7c 20600000 rtn 
+
+parse_lmpext_iocap_req:
+5d7d 20405d82 call iocap_lmpext_load 
+5d7e 70007c9a jam lmp_io_cap_res ,mem_lmo_opcode2 
+5d7f 20600000 rtn 
+
+parse_lmpext_iocap_res:
+5d80 20405d82 call iocap_lmpext_load 
+5d81 20205d86 branch iocap_lmpext_common 
+
+iocap_lmpext_load:
+5d82 d8a0465e arg mem_sp_iocap_remote ,contw 
+5d83 68018553 fetch 3 ,mem_rxbuf + 2 
+5d84 e0a18000 istore 3 ,contw 
+5d85 20600000 rtn 
+
+iocap_lmpext_common:
+5d86 2020f6d8 branch master_set_mem_master_sp_flag ,true 
+5d87 20600000 rtn 
+
+parse_lmpext_accepted:
+5d88 68008554 fetch 1 ,mem_rxbuf + 3 
+5d89 79207e07 set1 7 ,pdata 
+5d8a 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5d8b c045dd92 beq lmp_packet_type_table_req ,parse_lmpext_accepted_ptt 
+5d8c 20600000 rtn 
+
+parse_lmpext_not_accepted:
+5d8d 68008554 fetch 1 ,mem_rxbuf + 3 
+5d8e 79207e07 set1 7 ,pdata 
+5d8f 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5d90 c045dd96 beq lmp_packet_type_table_req ,parse_lmpext_not_accepted_ptt 
+5d91 20600000 rtn 
+
+parse_lmpext_accepted_ptt:
+5d92 6800c15a fetch 1 ,mem_ptt 
+5d93 6808804c fetcht 1 ,mem_state_map 
+5d94 7d3a0405 nsetflag blank ,smap_edr ,temp 
+5d95 6008804c storet 1 ,mem_state_map 
+
+parse_lmpext_not_accepted_ptt:
+5d96 68008030 fetch 1 ,mem_state 
+5d97 c4028000 rtnbit0 state_init_seq 
+5d98 793ffe05 set0 state_init_seq ,pdata 
+5d99 60008030 store 1 ,mem_state 
+5d9a 680084d7 fetch 1 ,mem_auth_enable 
+5d9b 247a0000 nrtn blank 
+5d9c 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+5d9d 20600000 rtn 
+
+parse_lmpext_pause_encrypt:
+5d9e 2434dda1 nbranch parse_lmpext_pause_encrypt_slave ,master 
+5d9f 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+5da0 202062eb branch tid_reply 
+
+parse_lmpext_pause_encrypt_slave:
+5da1 70007c97 jam lmp_pause_encryption_req ,mem_lmo_opcode2 
+5da2 20600000 rtn 
+
+parse_lmpext_resume_encrypt:
+5da3 204062eb call tid_reply 
+5da4 20205ffe branch lmp_start_encryption 
+
+parse_lmpext_features_req:
+5da5 70007c84 jam lmp_ext_features_res ,mem_lmo_opcode2 
+5da6 20600000 rtn 
+
+parse_lmpext_features_res:
+5da7 68088555 fetcht 1 ,mem_rxbuf + 4 
+5da8 18410401 and temp ,0x1 ,temp 
+5da9 600884d0 storet 1 ,mem_remote_sppcap 
+5daa 6800c1ce fetch 1 ,mem_hci_cmd 
+5dab c0a8ddad bne hci_cmd_wait_remote_ext_feature ,parse_lmpext_features_res_not_hci 
+5dac 7041ce00 jam 0 ,mem_hci_cmd 
+
+parse_lmpext_features_res_not_hci:
+5dad 68008055 fetch 1 ,mem_conn_sm 
+5dae c18a8000 rtnne conn_sm_wait_features_ext 
+5daf 70005504 jam conn_sm_send_conn_req ,mem_conn_sm 
+5db0 2020631b branch process_conn_sm 
+
+parse_lmp_accepted:
+5db1 47404030 bpatchx patch30_0 ,mem_patch30 
+5db2 68008552 fetch 1 ,mem_rxbuf + 1 
+5db3 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5db4 c019ddd8 beq lmp_host_connection_req ,parse_lmp_accepted_hostconn 
+5db5 c0045de7 beq lmp_in_rand ,parse_lmp_accepted_inrand 
+5db6 c007ddee beq lmp_encryption_mode_req ,parse_lmp_accepted_enc_mode 
+5db7 c0085df4 beq lmp_encryption_key_size_req ,parse_lmp_accepted_enc_keysize 
+5db8 c008ddf5 beq lmp_start_encryption_req ,parse_lmp_accepted_start_enc 
+5db9 c0095dfd beq lmp_stop_encryption_req ,parse_lmp_accepted_stop_enc 
+5dba c00c5e13 beq lmp_unsniff_req ,parse_lmp_accepted_unsniff_req 
+5dbb c00bde16 beq lmp_sniff_req ,parse_lmp_accepted_sniff_req 
+5dbc c009ddcf beq lmp_switch_req ,parse_lmp_accepted_switch 
+5dbd c01edf1e beq lmp_encapsulated_header ,parse_lmp_accepted_encapsulated_header 
+5dbe c01f5f6a beq lmp_encapsulated_payload ,parse_lmp_accepted_encapsulated_payload 
+5dbf c0205f20 beq lmp_simple_pairing_number ,parse_lmp_accepted_simple_pairing_number 
+5dc0 c020df3d beq lmp_dhkey_check ,parse_lmp_accepted_dhkey_check 
+5dc1 20600000 rtn 
+
+parse_lmp_not_accepted:
+5dc2 4740c030 bpatchx patch30_1 ,mem_patch30 
+5dc3 68008552 fetch 1 ,mem_rxbuf + 1 
+5dc4 600084c9 store 1 ,mem_lmi_accepted_opcode 
+5dc5 c000de0a beq lmp_name_req ,parse_lmp_not_accepted_name_req 
+5dc6 c019dde2 beq lmp_host_connection_req ,parse_lmp_not_accepted_hostconn 
+5dc7 c005ddfe beq lmp_au_rand ,parse_lmp_not_accepted_aurand 
+5dc8 c0045e01 beq lmp_in_rand ,parse_lmp_not_accepted_inrand 
+5dc9 c009ddd2 beq lmp_switch_req ,parse_lmp_not_accepted_switch 
+5dca c0205e0b beq lmp_simple_pairing_number ,parse_lmp_not_accepted_simple_pairing_number 
+5dcb c020de0e beq lmp_dhkey_check ,parse_lmp_not_accepted_dhkey_check 
+5dcc c00c5e11 beq lmp_unsniff_req ,parse_lmp_not_accepted_unsniff_req 
+5dcd c00bde22 beq lmp_sniff_req ,parse_lmp_not_acdcept_sniff_req 
+5dce 20600000 rtn 
+
+parse_lmp_accepted_switch:
+5dcf 700a9920 jam bt_evt_switch_accept ,mem_fifo_temp 
+5dd0 20407d86 call ui_ipc_send_event 
+5dd1 202021dc branch role_switch_prepare0 
+
+parse_lmp_not_accepted_switch:
+5dd2 700a9919 jam bt_evt_switch_not_accept ,mem_fifo_temp 
+5dd3 20407d86 call ui_ipc_send_event 
+5dd4 70455b02 jam switch_flag_not_accept ,mem_switch_flag 
+5dd5 58000050 setarg timer_switch_waite 
+5dd6 d8e00006 arg switch_wait_timer ,queue 
+5dd7 20207f08 branch timer_init 
+
+parse_lmp_accepted_hostconn:
+5dd8 680084d1 fetch 1 ,mem_lmp_conn_state 
+5dd9 79207e00 set1 received_conn_req ,pdata 
+5dda 600084d1 store 1 ,mem_lmp_conn_state 
+5ddb 700a9901 jam bt_evt_bb_connected ,mem_fifo_temp 
+5ddc 20407d86 call ui_ipc_send_event 
+5ddd 70007c8b jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+
+parse_lmp_accepted_hostconn_ctn:
+5dde 68008055 fetch 1 ,mem_conn_sm 
+5ddf c082dd07 bne conn_sm_wait_conn_accept ,parse_rx_done 
+5de0 70005506 jam conn_sm_auth_pair ,mem_conn_sm 
+5de1 20600000 rtn 
+
+parse_lmp_not_accepted_hostconn:
+5de2 7004ca0b jam acl_connection_already_exists ,mem_disconn_reason_send 
+5de3 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5de4 70005500 jam conn_sm_standby ,mem_conn_sm 
+5de5 2020dd07 branch parse_rx_done ,true 
+5de6 20600000 rtn 
+
+parse_lmp_accepted_inrand:
+5de7 6800c1bd fetch 1 ,mem_link_key_exists 
+5de8 247a0000 nrtn blank 
+5de9 2040244f call clear_linkkey 
+5dea 20405ffc call lmp_generate_key 
+5deb 20748000 rtn master 
+5dec 79200021 set1 mark_slave_in_rand_accepted ,mark 
+5ded 20600000 rtn 
+
+parse_lmp_accepted_enc_mode:
+5dee 24748000 nrtn master 
+5def 70007c10 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+5df0 6800804c fetch 1 ,mem_state_map 
+5df1 c4010000 rtnbit0 smap_encryption 
+5df2 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+5df3 20600000 rtn 
+
+parse_lmp_accepted_enc_keysize:
+5df4 20205ffe branch lmp_start_encryption 
+
+parse_lmp_accepted_start_enc:
+5df5 20406059 call send_create_conn_start_l2cap_timer_sm 
+5df6 68008030 fetch 1 ,mem_state 
+5df7 c3820000 rtnbit1 state_conn_comp 
+5df8 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+5df9 68008055 fetch 1 ,mem_conn_sm 
+5dfa c1850000 rtnne conn_sm_encrypt_wait 
+5dfb 7000550b jam conn_sm_encrypt_wait_clear ,mem_conn_sm 
+5dfc 20600000 rtn 
+
+parse_lmp_accepted_stop_enc:
+5dfd 20600000 rtn 
+
+parse_lmp_not_accepted_aurand:
+
+parse_lmp_not_accepted_aurand_send_detach:
+5dfe 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5dff 7004ca13 jam other_end_terminated ,mem_disconn_reason_send 
+5e00 20600000 rtn 
+
+parse_lmp_not_accepted_inrand:
+5e01 68008553 fetch 1 ,mem_rxbuf + 2 
+5e02 c0035e07 beq key_missing ,parse_lmp_inrand_key_missing 
+5e03 c18c0000 rtnne pairing_not_allowed 
+5e04 7004ca18 jam pairing_not_allowed ,mem_disconn_reason_send 
+5e05 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e06 20600000 rtn 
+
+parse_lmp_inrand_key_missing:
+5e07 7004ca06 jam key_missing ,mem_disconn_reason_send 
+5e08 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e09 20600000 rtn 
+
+parse_lmp_not_accepted_name_req:
+5e0a 20600000 rtn 
+
+parse_lmp_not_accepted_simple_pairing_number:
+5e0b 7009ae00 jam sp_stat_null ,mem_sp_state 
+5e0c 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e0d 20205d07 branch parse_rx_done 
+
+parse_lmp_not_accepted_dhkey_check:
+5e0e 7009ae00 jam sp_stat_null ,mem_sp_state 
+5e0f 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e10 20205d07 branch parse_rx_done 
+
+parse_lmp_not_accepted_unsniff_req:
+5e11 700a9924 jam bt_evt_unsniff_not_accept ,mem_fifo_temp 
+5e12 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_accepted_unsniff_req:
+5e13 700a9923 jam bt_evt_unsniff_accept ,mem_fifo_temp 
+5e14 20407d86 call ui_ipc_send_event 
+5e15 202026e9 branch sniff_exit 
+
+parse_lmp_accepted_sniff_req:
+5e16 700a9922 jam bt_evt_sniff_accept ,mem_fifo_temp 
+5e17 20407d86 call ui_ipc_send_event 
+5e18 58000000 setarg 0 
+5e19 60010075 store 2 ,mem_dsniff 
+5e1a 680141e3 fetch 2 ,mem_sniff_param_interval 
+5e1b 1fe3fe00 lshift pdata ,pdata 
+5e1c 60010032 store 2 ,mem_tsniff 
+5e1d 6800c1e5 fetch 1 ,mem_sniff_param_attempt 
+5e1e 60008073 store 1 ,mem_sniff_attempt 
+5e1f 6800c1e7 fetch 1 ,mem_sniff_param_timeout 
+5e20 60008074 store 1 ,mem_sniff_timeout 
+5e21 202026c6 branch sniff_init 
+
+parse_lmp_not_acdcept_sniff_req:
+5e22 700a9921 jam bt_evt_sniff_not_accept ,mem_fifo_temp 
+5e23 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_crypt_key:
+5e24 68088552 fetcht 1 ,mem_rxbuf + 1 
+5e25 60088054 storet 1 ,mem_key_size 
+5e26 20205e38 branch accept_lmp_msg 
+
+parse_lmp_setup_complete:
+5e27 680084d1 fetch 1 ,mem_lmp_conn_state 
+5e28 79207e02 set1 received_setup_complete ,pdata 
+5e29 600084d1 store 1 ,mem_lmp_conn_state 
+5e2a c3818000 rtnbit1 sent_setup_complete 
+5e2b 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+5e2c 20205d07 branch parse_rx_done 
+
+parse_lmp_max_slot:
+5e2d 20600000 rtn 
+
+parse_lmp_max_slot_req:
+5e2e 6800c0d0 fetch 1 ,mem_max_slot 
+5e2f 68088552 fetcht 1 ,mem_rxbuf + 1 
+5e30 98467c00 isub temp ,null 
+5e31 20215e38 branch accept_lmp_msg ,positive 
+5e32 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5e33 70007e1f jam unspecified_error ,mem_lmo_reason2 
+5e34 70007d2e jam lmp_max_slot_req ,mem_lmi_opcode2 
+5e35 20600000 rtn 
+
+parse_lmp_detach:
+5e36 20406157 call prepare_disconnect 
+5e37 20205e38 branch accept_lmp_msg 
+
+accept_lmp_msg:
+5e38 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5e39 20600000 rtn 
+
+parse_lmp_incr_power:
+5e3a 70007c21 jam lmp_max_power ,mem_lmo_opcode2 
+5e3b 20600000 rtn 
+
+parse_lmp_decr_power:
+5e3c 70007c22 jam lmp_min_power ,mem_lmo_opcode2 
+5e3d 20600000 rtn 
+
+parse_lmp_version_res:
+5e3e 68008055 fetch 1 ,mem_conn_sm 
+5e3f c1098000 rtneq conn_sm_wait_version 
+5e40 70005502 jam conn_sm_send_features ,mem_conn_sm 
+5e41 20600000 rtn 
+
+parse_lmp_auto_rate:
+5e42 20600000 rtn 
+
+parse_lmp_in_rand:
+5e43 20405ff9 call lmp_copy_rand 
+5e44 7004d401 jam pincode_state_wait_pincode ,mem_pincode_state 
+5e45 700a990a jam bt_evt_pincode_req ,mem_fifo_temp 
+5e46 20407d86 call ui_ipc_send_event 
+5e47 204062f3 call tid_check 
+5e48 2420e001 nbranch lmp_accept_inrand ,true 
+5e49 2434de4e nbranch parse_lmp_inrand_res ,master 
+5e4a 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5e4b 70007d08 jam lmp_in_rand ,mem_lmi_opcode2 
+5e4c 70007e23 jam transaction_collision ,mem_lmo_reason2 
+5e4d 20600000 rtn 
+
+parse_lmp_inrand_res:
+5e4e 6800804b fetch 1 ,mem_op 
+5e4f 79207e02 set1 op_inrand_req ,pdata 
+5e50 6000804b store 1 ,mem_op 
+5e51 20600000 rtn 
+
+pop_tid_follow:
+5e52 6808804c fetcht 1 ,mem_state_map 
+5e53 7d3a0401 nsetflag blank ,smap_lmptid ,temp 
+5e54 6008804c storet 1 ,mem_state_map 
+5e55 20600000 rtn 
+
+push_tid_follow:
+5e56 6800807f fetch 1 ,mem_lmo_tid2 
+5e57 1fe37e00 rshift pdata ,pdata 
+5e58 1fe17e01 and_into 1 ,pdata 
+5e59 20600000 rtn 
+
+parse_lmp_au_rand_moudle:
+5e5a 6800c217 fetch 1 ,mem_nv_data_number 
+5e5b 207a0000 rtn blank 
+5e5c 680089b5 fetch 1 ,mem_pairing_auth 
+5e5d 205a67b2 call load_device_list ,blank 
+5e5e 20600000 rtn 
+
+parse_lmp_au_rand:
+5e5f 20405e5a call parse_lmp_au_rand_moudle 
+5e60 20405e56 call push_tid_follow 
+5e61 600084d5 store 1 ,mem_sres_tid 
+5e62 20405ff9 call lmp_copy_rand 
+5e63 70007c0c jam lmp_sres ,mem_lmo_opcode2 
+5e64 6800c1bd fetch 1 ,mem_link_key_exists 
+5e65 247a0000 nrtn blank 
+5e66 68008030 fetch 1 ,mem_state 
+5e67 c3830000 rtnbit1 state_combkey 
+5e68 70007e06 jam key_missing ,mem_lmo_reason2 
+5e69 20205d53 branch reject_lmp_packet 
+
+parse_lmp_sres:
+5e6a da200040 arg mem_plap ,rega 
+5e6b 20407288 call function_e1 
+5e6c 68020552 fetch 4 ,mem_rxbuf + 1 
+5e6d 680a0592 fetcht 4 ,mem_input_store 
+5e6e 98467c00 isub temp ,null 
+5e6f 2022de73 branch authentication_ok ,zero 
+5e70 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+5e71 7004ca05 jam authentication_failure_error ,mem_disconn_reason_send 
+5e72 20600000 rtn 
+
+authentication_ok:
+5e73 20405e77 call authentication_ok_common 
+5e74 6800c65a fetch 1 ,mem_ssp_enable 
+5e75 203a5f3e branch pairing_success ,blank 
+5e76 20600000 rtn 
+
+authentication_ok_common:
+5e77 20407386 call copy_aco 
+5e78 204021b2 call linkkey_ready 
+5e79 6800804b fetch 1 ,mem_op 
+5e7a 2feffe01 isolate1 op_auth_req ,pdata 
+5e7b 793ffe01 set0 op_auth_req ,pdata 
+5e7c 6000804b store 1 ,mem_op 
+5e7d 68008055 fetch 1 ,mem_conn_sm 
+5e7e c00cde81 beq conn_sm_auth_wait ,authentication_ok_conn_sm 
+5e7f c00c5e81 beq conn_sm_pairing_wait ,authentication_ok_conn_sm 
+5e80 20600000 rtn 
+
+authentication_ok_conn_sm:
+5e81 680089b5 fetch 1 ,mem_pairing_auth 
+5e82 c1800000 rtnne defalt_pairing_auth 
+5e83 6800804c fetch 1 ,mem_state_map 
+5e84 c3810000 rtnbit1 smap_encryption 
+5e85 202063b1 branch host_create_conn_encrypt 
+
+parse_lmp_comb_key:
+5e86 da200552 arg mem_rxbuf + 1 ,rega 
+5e87 da400582 arg mem_kinit ,regb 
+5e88 d8a00562 arg mem_random_number ,contw 
+5e89 20407352 call xor16 
+5e8a da200040 arg mem_plap ,rega 
+5e8b 20406311 call generate_linkkey 
+5e8c 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+5e8d 68008030 fetch 1 ,mem_state 
+5e8e c3035ffc bbit0 state_combkey ,lmp_generate_key 
+5e8f 20600000 rtn 
+
+parse_lmp_name_res:
+5e90 6801015f fetch 2 ,mem_len 
+5e91 1fe0f3fd add pdata ,-3 ,loopcnt 
+5e92 68088552 fetcht 1 ,mem_rxbuf + 1 
+5e93 58000101 setarg mem_tmp_buffer 
+5e94 98408a00 iadd temp ,contw 
+5e95 d8c00554 arg mem_rxbuf + 3 ,contr 
+5e96 20407f01 call memcpy 
+5e97 68088053 fetcht 1 ,mem_name_offset 
+5e98 68008553 fetch 1 ,mem_rxbuf + 2 
+5e99 98467e00 isub temp ,pdata 
+5e9a 1fe67c0e sub pdata ,14 ,null 
+5e9b 20215ea0 branch parse_lmp_name_res_end ,positive 
+5e9c 1840fe0e add temp ,14 ,pdata 
+5e9d 60008053 store 1 ,mem_name_offset 
+5e9e 70007c01 jam lmp_name_req ,mem_lmo_opcode2 
+5e9f 20600000 rtn 
+
+parse_lmp_name_res_end:
+5ea0 6800804c fetch 1 ,mem_state_map 
+5ea1 79207e03 set1 smap_name_res ,pdata 
+5ea2 6000804c store 1 ,mem_state_map 
+5ea3 c2826006 bbit1 smap_name_req ,lmp_disconnect 
+5ea4 20600000 rtn 
+
+parse_lmp_name_req:
+5ea5 68008552 fetch 1 ,mem_rxbuf + 1 
+5ea6 6000807d store 1 ,mem_lmi_opcode2 
+5ea7 70007c02 jam lmp_name_res ,mem_lmo_opcode2 
+5ea8 20600000 rtn 
+
+parse_lmp_conn_req:
+5ea9 20205e38 branch accept_lmp_msg 
+
+parse_lmp_timing_accuracy_req:
+5eaa 70007c30 jam lmp_timing_accuracy_res ,mem_lmo_opcode2 
+5eab 20600000 rtn 
+
+parse_lmp_features_req:
+5eac 70007c28 jam lmp_features_res ,mem_lmo_opcode2 
+5ead 20600000 rtn 
+
+parse_lmp_version_req:
+5eae 70007c26 jam lmp_version_res ,mem_lmo_opcode2 
+5eaf 20600000 rtn 
+
+parse_lmp_supervision_timeout:
+5eb0 20600000 rtn 
+
+parse_lmp_sniff_subrating_req:
+5eb1 68010032 fetch 2 ,mem_tsniff 
+5eb2 98000400 iforce temp 
+5eb3 68008553 fetch 1 ,mem_rxbuf + 2 
+5eb4 60008095 store 1 ,mem_subsniff_rate 
+5eb5 984f8400 imul32 temp ,temp 
+5eb6 68010554 fetch 2 ,mem_rxbuf + 3 
+5eb7 1fe3fe00 lshift pdata ,pdata 
+5eb8 60010096 store 2 ,mem_subsniff_tcmax 
+5eb9 68020556 fetch 4 ,mem_rxbuf + 5 
+5eba 1fe3fe00 lshift pdata ,pdata 
+5ebb 60020091 store 4 ,mem_subsniff_instant 
+5ebc 18427e00 deposit temp 
+5ebd 60010098 store 2 ,mem_subsniff_tsniff 
+5ebe 20600000 rtn 
+
+parse_lmpext_packet_type_table_req:
+5ebf 6808c15a fetcht 1 ,mem_ptt 
+5ec0 68008553 fetch 1 ,mem_rxbuf + 2 
+5ec1 9842fc00 ixor temp ,null 
+5ec2 2422dd77 nbranch reject_unknown_ext_packet ,zero 
+5ec3 2feffe00 isolate1 0 ,pdata 
+5ec4 6800804c fetch 1 ,mem_state_map 
+5ec5 7920fe05 setflag true ,smap_edr ,pdata 
+5ec6 6000804c store 1 ,mem_state_map 
+5ec7 70007c81 jam lmp_ext_accepted ,mem_lmo_opcode2 
+5ec8 70007d8b jam lmp_packet_type_table_req ,mem_lmi_opcode2 
+5ec9 20600000 rtn 
+
+parse_lmp_sniff_subrating_res:
+
+parse_lmp_preferred_rate:
+
+parse_lmp_max_power:
+
+parse_lmp_min_power:
+5eca 20600000 rtn 
+
+parse_lmp_page_mode_req:
+5ecb 20205e38 branch accept_lmp_msg 
+
+parse_lmp_page_scan_mode_req:
+5ecc 20205e38 branch accept_lmp_msg 
+
+parse_lmp_slot_offset:
+5ecd 68010552 fetch 2 ,mem_rxbuf + 1 
+5ece 60010171 store 2 ,mem_slot_offset 
+5ecf 20600000 rtn 
+
+parse_lmp_sniff_req_check_sniff_para:
+5ed0 68010555 fetch 2 ,mem_rxbuf + 4 
+5ed1 6808c172 fetcht 1 ,mem_lpm_mult 
+5ed2 984ffe00 imul32 temp ,pdata 
+5ed3 d8400640 arg 0x640 ,temp 
+5ed4 98467c00 isub temp ,null 
+5ed5 20600000 rtn 
+
+parse_lmp_sniff_req:
+5ed6 68010557 fetch 2 ,mem_rxbuf + 6 
+5ed7 203a5ef0 branch lmp_reject_sniff ,blank 
+5ed8 20405ed0 call parse_lmp_sniff_req_check_sniff_para 
+5ed9 20215ef0 branch lmp_reject_sniff ,positive 
+5eda 6800c092 fetch 1 ,mem_device_option 
+5edb 1fe67c0a sub pdata ,dvc_op_module ,null 
+5edc 2042bcd5 call module_set_lpm_mult_2 ,zero 
+5edd 68008030 fetch 1 ,mem_state 
+5ede c280def0 bbit1 state_insniff ,lmp_reject_sniff 
+5edf 68010553 fetch 2 ,mem_rxbuf + 2 
+5ee0 1fe3fe00 lshift pdata ,pdata 
+5ee1 60010075 store 2 ,mem_dsniff 
+5ee2 68010555 fetch 2 ,mem_rxbuf + 4 
+5ee3 1fe3fe00 lshift pdata ,pdata 
+5ee4 60010032 store 2 ,mem_tsniff 
+5ee5 68010557 fetch 2 ,mem_rxbuf + 6 
+5ee6 60008073 store 1 ,mem_sniff_attempt 
+5ee7 98000400 iforce temp 
+5ee8 68010559 fetch 2 ,mem_rxbuf + 8 
+5ee9 60008074 store 1 ,mem_sniff_timeout 
+5eea 98467c00 isub temp ,null 
+5eeb 24215eed nbranch set_big_value_to_attempt ,positive 
+5eec 60008073 store 1 ,mem_sniff_attempt 
+
+set_big_value_to_attempt:
+5eed 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5eee 70007d17 jam lmp_sniff_req ,mem_lmi_opcode2 
+5eef 20600000 rtn 
+
+lmp_reject_sniff:
+5ef0 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5ef1 20205d53 branch reject_lmp_packet 
+
+parse_lmp_start_encryption_req:
+5ef2 20405e38 call accept_lmp_msg 
+5ef3 20405ff9 call lmp_copy_rand 
+5ef4 2040728b call function_e3 
+5ef5 202026b8 branch start_encryption 
+
+parse_lmp_stop_encryption_req:
+5ef6 20405e38 call accept_lmp_msg 
+5ef7 202026c0 branch stop_encryption 
+
+parse_lmp_switch_req:
+5ef8 68020552 fetch 4 ,mem_rxbuf + 1 
+5ef9 1fe3fe00 lshift pdata ,pdata 
+5efa 2034df04 branch parse_lmp_switch_accept ,master 
+5efb 6808c1bd fetcht 1 ,mem_link_key_exists 
+5efc 243a5f01 nbranch parse_lmp_switch_req_clear_mark ,blank 
+
+parse_lmp_switch_req_not_accept:
+5efd 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+5efe 70007d13 jam lmp_switch_req ,mem_lmi_opcode2 
+5eff 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f00 20600000 rtn 
+
+parse_lmp_switch_req_clear_mark:
+5f01 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+5f02 70005500 jam 0 ,mem_conn_sm 
+5f03 202021d9 branch role_switch_prepare 
+
+parse_lmp_switch_accept:
+5f04 204021d9 call role_switch_prepare 
+5f05 79200022 set1 mark_reconn_recieve_switch ,mark 
+5f06 6800816d fetch 1 ,mem_connection_options 
+5f07 793ffe02 set0 connection_switch ,pdata 
+5f08 6000816d store 1 ,mem_connection_options 
+5f09 20205e38 branch accept_lmp_msg 
+
+parse_lmp_temp_rand:
+
+parse_lmp_temp_key:
+
+parse_lmp_timing_accuracy_res:
+
+parse_lmp_unit_key:
+
+parse_lmp_use_semi_permanend_key:
+5f0a 20600000 rtn 
+
+parse_lmp_unsniff_req:
+5f0b 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5f0c 70007d18 jam lmp_unsniff_req ,mem_lmi_opcode2 
+5f0d 700a992e jam bt_evt_remote_unsniff ,mem_fifo_temp 
+5f0e 20407d86 call ui_ipc_send_event 
+5f0f 202026e9 branch sniff_exit 
+
+parse_lmp_encapsulated_header:
+5f10 68008552 fetch 1 ,mem_rxbuf + 1 
+5f11 c080df1c bne encapsulated_major_type_p192 ,parse_lmp_encapsulated_header_reject 
+5f12 68008553 fetch 1 ,mem_rxbuf + 2 
+5f13 c080df1c bne encapsulated_minor_type_p192 ,parse_lmp_encapsulated_header_reject 
+5f14 68008554 fetch 1 ,mem_rxbuf + 3 
+5f15 c0985f1c bne encapsulated_len_p192 ,parse_lmp_encapsulated_header_reject 
+5f16 204062fc call check_localsm 
+5f17 2020df19 branch parse_lmp_encapsulated_header_master ,true 
+5f18 7009ae01 jam sp_stat_key_recv ,mem_sp_state 
+
+parse_lmp_encapsulated_header_master:
+5f19 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5f1a 70007d3d jam lmp_encapsulated_header ,mem_lmi_opcode2 
+5f1b 20205d07 branch parse_rx_done 
+
+parse_lmp_encapsulated_header_reject:
+5f1c 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f1d 20205d53 branch reject_lmp_packet 
+
+parse_lmp_accepted_encapsulated_header:
+5f1e 70007c3e jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+5f1f 20600000 rtn 
+
+parse_lmp_accepted_simple_pairing_number:
+5f20 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f21 c000df27 beq ssp_mode_ssp_pin_flag ,parse_lmp_accepted_simple_pairing_number_ssp_pin 
+5f22 c0015f2b beq ssp_mode_passkey_entry_flag ,parse_lmp_accepted_simple_pairing_number_passkey 
+
+parse_lmp_accepted_simple_pairing_number_common:
+5f23 204062fc call check_localsm 
+5f24 20608000 rtn true 
+5f25 7009ae08 jam sp_stat_confirm_recv ,mem_sp_state 
+5f26 20600000 rtn 
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+5f27 20407962 call g_noninit_number_confirm 
+5f28 700a9935 jam bt_evt_bt_gkey_generate ,mem_fifo_temp 
+5f29 20407d86 call ui_ipc_send_event 
+5f2a 20205f23 branch parse_lmp_accepted_simple_pairing_number_common 
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+5f2b 204062fc call check_localsm 
+5f2c 20608000 rtn true 
+5f2d 6800c663 fetch 1 ,mem_authentication_passkey_times 
+5f2e c009df3b beq 19 ,authentication_passkey_end 
+5f2f 1fe0fe01 increase 1 ,pdata 
+5f30 6000c663 store 1 ,mem_authentication_passkey_times 
+
+authentication_passkey:
+5f31 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f32 7009ae04 jam sp_stat_commit_calc ,mem_sp_state 
+5f33 6800c663 fetch 1 ,mem_authentication_passkey_times 
+5f34 1fe20e00 copy pdata ,queue 
+5f35 6803468a fetch 6 ,mem_pin 
+5f36 afefffff qisolate1 pdata 
+5f37 58000080 setarg 0x80 
+5f38 7920fe00 setflag true ,0 ,pdata 
+5f39 6000c664 store 1 ,mem_passkey_1bit 
+5f3a 20600000 rtn 
+
+authentication_passkey_end:
+5f3b 7009ae08 jam sp_stat_confirm_recv ,mem_sp_state 
+5f3c 20600000 rtn 
+
+parse_lmp_accepted_dhkey_check:
+5f3d 20405f43 call parse_lmp_accepted_dhkey_check_common 
+
+pairing_success:
+5f3e 6800c665 fetch 1 ,mem_flag_pairing_state 
+5f3f 207a0000 rtn blank 
+5f40 70466500 jam flag_pairing_state_not_pairing ,mem_flag_pairing_state 
+5f41 700a9938 jam bt_evt_bt_pairing_success ,mem_fifo_temp 
+5f42 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_accepted_dhkey_check_common:
+5f43 204062fc call check_localsm 
+5f44 2440f965 ncall g_noninit ,true 
+5f45 2040f975 call g_init ,true 
+5f46 204062fc call check_localsm 
+5f47 20608000 rtn true 
+5f48 7009ae0c jam sp_stat_link_key_calc ,mem_sp_state 
+5f49 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f4a 20600000 rtn 
+
+parse_simple_pairing_confirm:
+5f4b d8a00a6e arg mem_sp_confirm_remote ,contw 
+5f4c d8c00552 arg mem_rxbuf + 1 ,contr 
+5f4d 20407ebf call memcpy16 
+5f4e 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f4f c1010000 rtneq ssp_mode_passkey_entry_flag 
+5f50 202076d8 branch master_set_mem_master_sp_flag 
+
+parse_lmp_encapsulated_payload:
+5f51 680089af fetch 1 ,mem_master_sp_state 
+5f52 c003df55 beq sp_stat_random_send ,parse_encapsulated_payload_master 
+5f53 680089ae fetch 1 ,mem_sp_state 
+5f54 c080df68 bne sp_stat_key_recv ,parse_lmp_encapsulated_payload_reject 
+
+parse_encapsulated_payload_master:
+5f55 680089b7 fetch 1 ,mem_sp_remote_key_recv_count 
+5f56 1fe60a20 sub pdata ,0x20 ,contw 
+5f57 24215f68 nbranch parse_lmp_encapsulated_payload_reject ,positive 
+5f58 d8a009c6 arg mem_sp_pubkey_remote ,contw 
+5f59 98a08a00 iadd contw ,contw 
+5f5a 68040552 fetch 8 ,mem_rxbuf + 1 
+5f5b e0a40000 istore 8 ,contw 
+5f5c 6804055a fetch 8 ,mem_rxbuf + 9 
+5f5d e0a40000 istore 8 ,contw 
+5f5e 680089b7 fetch 1 ,mem_sp_remote_key_recv_count 
+5f5f 1fe0fe10 increase 16 ,pdata 
+5f60 600089b7 store 1 ,mem_sp_remote_key_recv_count 
+5f61 c0985e38 bne encapsulated_len_p192 ,accept_lmp_msg 
+
+parse_lmp_encapsulated_payload_completed:
+5f62 204062fc call check_localsm 
+5f63 2020de38 branch accept_lmp_msg ,true 
+5f64 7009b801 jam sp_key_valid ,mem_sp_remote_key_invalid 
+5f65 7009ae02 jam sp_stat_key_generate ,mem_sp_state 
+5f66 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f67 20205e38 branch accept_lmp_msg 
+
+parse_lmp_encapsulated_payload_reject:
+5f68 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f69 20205d53 branch reject_lmp_packet 
+
+parse_lmp_accepted_encapsulated_payload:
+5f6a 680089b6 fetch 1 ,mem_sp_local_key_send_count 
+5f6b c0185f6e beq encapsulated_len_p192 ,parse_lmp_encapsulated_payload_all_accepted 
+5f6c 70007c3e jam lmp_encapsulated_payload ,mem_lmo_opcode2 
+5f6d 20205d07 branch parse_rx_done 
+
+parse_lmp_encapsulated_payload_all_accepted:
+5f6e 204062fc call check_localsm 
+5f6f 2020df77 branch parse_lmp_encapsulated_payload_all_accepted_master ,true 
+5f70 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f71 c0015f75 beq ssp_mode_passkey_entry_flag ,parse_lmp_encapsulated_payload_all_accepted_get_passkey 
+5f72 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f73 7009ae04 jam sp_stat_commit_calc ,mem_sp_state 
+5f74 20205d07 branch parse_rx_done 
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+5f75 700a9936 jam bt_evt_bt_get_passkey ,mem_fifo_temp 
+5f76 20207d86 branch ui_ipc_send_event 
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+5f77 20205d07 branch parse_rx_done 
+
+parse_lmp_simple_pairing_number:
+5f78 680089af fetch 1 ,mem_master_sp_state 
+5f79 c003df7c beq sp_stat_random_send ,parse_lmp_simple_pairing_number_master 
+5f7a 680089ae fetch 1 ,mem_sp_state 
+5f7b c0835f88 bne sp_stat_random_recv ,parse_lmp_simple_pairing_number_reject 
+
+parse_lmp_simple_pairing_number_master:
+5f7c d8a00a2e arg mem_sp_random_remote ,contw 
+5f7d 68040552 fetch 8 ,mem_rxbuf + 1 
+5f7e e0a40000 istore 8 ,contw 
+5f7f 6804055a fetch 8 ,mem_rxbuf + 9 
+5f80 e0a40000 istore 8 ,contw 
+5f81 204062fc call check_localsm 
+5f82 2020df86 branch parse_lmp_simple_pairing_number_master0 ,true 
+5f83 7009ae07 jam sp_stat_random_send ,mem_sp_state 
+5f84 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f85 20205e38 branch accept_lmp_msg 
+
+parse_lmp_simple_pairing_number_master0:
+5f86 7009af04 jam sp_stat_commit_calc ,mem_master_sp_state 
+5f87 202076d8 branch master_set_mem_master_sp_flag 
+
+parse_lmp_simple_pairing_number_reject:
+5f88 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f89 20205d53 branch reject_lmp_packet 
+
+parse_dhkey_check:
+5f8a 680089af fetch 1 ,mem_master_sp_state 
+5f8b c005df8e beq sp_stat_confirm_send ,parse_dhkey_check_master 
+5f8c 680089ae fetch 1 ,mem_sp_state 
+5f8d c0845f9d bne sp_stat_confirm_recv ,parse_lmp_dhkey_check_reject 
+
+parse_dhkey_check_master:
+5f8e d8a00a5e arg mem_sp_check_result ,contw 
+5f8f d8c00552 arg mem_rxbuf + 1 ,contr 
+5f90 20407ebf call memcpy16 
+5f91 204062fc call check_localsm 
+5f92 2020df9a branch parse_dhkey_check_master0 ,true 
+5f93 6800c662 fetch 1 ,mem_ssp_mode_flag 
+5f94 c000df9f beq ssp_mode_ssp_pin_flag ,number_comparison_mode 
+
+number_comparison_successed:
+5f95 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+5f96 7009ae09 jam sp_stat_confirm_check ,mem_sp_state 
+5f97 7009b001 jam sp_flag_commit ,mem_sp_flag 
+5f98 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+5f99 20205d07 branch parse_rx_done 
+
+parse_dhkey_check_master0:
+5f9a 7009af09 jam sp_stat_confirm_check ,mem_master_sp_state 
+5f9b 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+5f9c 20205d07 branch parse_rx_done 
+
+parse_lmp_dhkey_check_reject:
+5f9d 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+5f9e 20205d53 branch reject_lmp_packet 
+
+number_comparison_mode:
+5f9f 6800c661 fetch 1 ,mem_flag_mode_ssp_pin 
+5fa0 c283dfa4 bbit1 flag_mode_ssp_pin_reviceve_comparison_bit ,comparison_result 
+5fa1 79207e06 set1 flag_mode_ssp_pin_recieve_dhkey_bit ,pdata 
+5fa2 6000c661 store 1 ,mem_flag_mode_ssp_pin 
+5fa3 20600000 rtn 
+
+comparison_result:
+5fa4 c2805f95 bbit1 flag_mode_ssp_pin_comparison_result_bit ,number_comparison_successed 
+5fa5 70466100 jam 0 ,mem_flag_mode_ssp_pin 
+5fa6 20205f9d branch parse_lmp_dhkey_check_reject 
+
+parse_lmp_clkoffset_res:
+5fa7 20205d07 branch parse_rx_done 
+
+parse_lmp_encryption_mode_req:
+5fa8 6800816d fetch 1 ,mem_connection_options 
+5fa9 793ffe01 set0 connection_encrypt 
+5faa 6000816d store 1 ,mem_connection_options 
+5fab 20405e38 call accept_lmp_msg 
+5fac 24748000 nrtn master 
+5fad 68008552 fetch 1 ,mem_rxbuf + 1 
+5fae 6808804b fetcht 1 ,mem_op 
+5faf 793a0404 setflag blank ,op_stop_enc ,temp 
+5fb0 7d3a0405 nsetflag blank ,op_start_enc ,temp 
+5fb1 6008804b storet 1 ,mem_op 
+5fb2 20600000 rtn 
+
+parse_lmp_features_res:
+5fb3 680c0552 fetcht 8 ,mem_rxbuf + 1 
+
+parse_lmp_features_res_not_hci:
+5fb4 68008055 fetch 1 ,mem_conn_sm 
+5fb5 c1818000 rtnne conn_sm_wait_features_res 
+5fb6 6800816d fetch 1 ,mem_connection_options 
+5fb7 c3025fba bbit0 connection_feature_ext ,parse_lmp_send_conn 
+5fb8 70005514 jam conn_sm_send_features_ext ,mem_conn_sm 
+5fb9 20600000 rtn 
+
+parse_lmp_send_conn:
+5fba 70005504 jam conn_sm_send_conn_req ,mem_conn_sm 
+5fbb 20600000 rtn 
+
+parse_lmp_test_activate:
+5fbc 6800817f fetch 1 ,mem_debug_config 
+5fbd 6000815b store 1 ,mem_test_mode_old_debug_config 
+5fbe 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5fbf 70007d38 jam lmp_test_activate ,mem_lmi_opcode2 
+5fc0 20600000 rtn 
+
+parse_lmp_test_control:
+5fc1 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+5fc2 70007d39 jam lmp_test_control ,mem_lmi_opcode2 
+5fc3 18007209 force 9 ,loopcnt 
+5fc4 d8c00552 arg mem_rxbuf + 1 ,contr 
+5fc5 d8a00152 arg mem_temp_payload ,contw 
+
+parse_lmp_test_xor:
+5fc6 e8c08000 ifetch 1 ,contr 
+5fc7 1fe2fe55 xor_into 0x55 ,pdata 
+5fc8 e0a08000 istore 1 ,contw 
+5fc9 c2005fc6 loop parse_lmp_test_xor 
+5fca 68008152 fetch 1 ,test_mode_scenario 
+5fcb 68088151 fetcht 1 ,mem_tester_emulate 
+5fcc 793f8407 set0 tester_no_whitening ,temp 
+5fcd 793f8404 set0 tester_pattern_test ,temp 
+5fce c07fdfda beq exit_test_mode ,parse_lmp_test_control_exit 
+5fcf c0005ff3 beq pause_test_mode ,parse_lmp_test_control_pause 
+5fd0 c002dfe7 beq closed_loop_back_acl ,parse_lmp_test_control_loopback 
+5fd1 c003dfe6 beq acl_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+5fd2 c0035fe7 beq closed_loop_back_sco ,parse_lmp_test_control_loopback 
+5fd3 c0045fe6 beq sco_without_whitening ,parse_lmp_test_control_loopback_nowhite 
+5fd4 c000dfdf beq zero_pattern ,parse_lmp_test_control_pattern 
+5fd5 c0015fdf beq one_pattern ,parse_lmp_test_control_pattern 
+5fd6 c001dfdf beq alt_pattern ,parse_lmp_test_control_pattern 
+5fd7 c004dfdf beq alt2_pattern ,parse_lmp_test_control_pattern 
+5fd8 c0025fdf beq pseudorandom ,parse_lmp_test_control_pattern 
+5fd9 20600000 rtn 
+
+parse_lmp_test_control_exit:
+5fda 68008151 fetch 1 ,mem_tester_emulate 
+5fdb 79207e03 set1 tester_exit ,pdata 
+5fdc 79207e02 set1 tester_change ,pdata 
+5fdd 60008151 store 1 ,mem_tester_emulate 
+5fde 20600000 rtn 
+
+parse_lmp_test_control_pattern:
+5fdf 79200404 set1 tester_pattern_test ,temp 
+5fe0 70018005 jam 5 ,mem_lch_code 
+5fe1 68010159 fetch 2 ,test_mode_data_length 
+5fe2 98007200 iforce loopcnt 
+5fe3 6001015f store 2 ,mem_len 
+5fe4 d8a00551 arg mem_rxbuf ,contw 
+5fe5 20407f73 call pn9 
+
+parse_lmp_test_control_loopback_nowhite:
+5fe6 79200407 set1 tester_no_whitening ,temp 
+
+parse_lmp_test_control_loopback:
+5fe7 79200402 set1 tester_change ,temp 
+5fe8 18007e00 force 0 ,pdata 
+5fe9 6000800b store 1 ,mem_slave_rcvcnt 
+5fea 600100fa store 2 ,mem_tst_pktcnt_crc 
+5feb 600100fc store 2 ,mem_tst_pktcnt_dmh 
+5fec 600100f8 store 2 ,mem_tst_pktcnt_hec 
+5fed 600100f6 store 2 ,mem_tst_pktcnt_sync 
+5fee 68008153 fetch 1 ,test_mode_hopping_mode 
+5fef 2fe1fe00 compare fixed_freq ,pdata ,0xff 
+5ff0 79208406 setflag true ,tester_fixed_freq ,temp 
+5ff1 60088151 storet 1 ,mem_tester_emulate 
+5ff2 20600000 rtn 
+
+parse_lmp_test_control_pause:
+5ff3 793f8011 set0 mark_testmode ,mark 
+5ff4 70015100 jam 0 ,mem_tester_emulate 
+5ff5 6800817f fetch 1 ,mem_debug_config 
+5ff6 793ffe06 set0 debug_tx_pattern ,pdata 
+5ff7 6000817f store 1 ,mem_debug_config 
+5ff8 20600000 rtn 
+
+lmp_copy_rand:
+5ff9 d8c00552 arg mem_rxbuf + 1 ,contr 
+5ffa d8a00562 arg mem_random_number ,contw 
+5ffb 20207ebf branch memcpy16 
+
+lmp_generate_key:
+5ffc 70007c09 jam lmp_comb_key ,mem_lmo_opcode2 
+5ffd 20600000 rtn 
+
+lmp_start_encryption:
+5ffe 24748000 nrtn master 
+5fff 70007c11 jam lmp_start_encryption_req ,mem_lmo_opcode2 
+6000 20600000 rtn 
+
+lmp_accept_inrand:
+6001 da2040a0 arg mem_lap ,rega 
+6002 20407255 call generate_kinit 
+6003 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+6004 70007d08 jam lmp_in_rand ,mem_lmi_opcode2 
+6005 20600000 rtn 
+
+lmp_disconnect:
+6006 7000720a jam 10 ,mem_conn_timer 
+6007 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+6008 7004ca16 jam local_host ,mem_disconn_reason_send 
+6009 20600000 rtn 
+
+send_lmp:
+600a 47414030 bpatchx patch30_2 ,mem_patch30 
+600b 78547c00 disable user 
+600c 204062c1 call lmo_fifo_process 
+600d 68008048 fetch 1 ,mem_lmp_to_send 
+600e 207a0000 rtn blank 
+600f c283e03f bbit1 7 ,send_lmp_escape 
+
+send_lmp0:
+6010 c000e16f beq lmp_name_req ,send_lmp_name_req 
+6011 c00160e4 beq lmp_name_res ,send_lmp_name_res 
+6012 c001e04a beq lmp_accepted ,send_lmp_accepted 
+6013 c0026060 beq lmp_not_accepted ,send_lmp_not_accepted 
+6014 c013e1db beq lmp_features_req ,send_lmp_features_req 
+6015 c0146108 beq lmp_features_res ,send_lmp_features_res 
+6016 c01860f4 beq lmp_timing_accuracy_res ,send_lmp_timing_accuracy_res 
+6017 c012e1d6 beq lmp_version_req ,send_lmp_version_req 
+6018 c0136103 beq lmp_version_res ,send_lmp_version_res 
+6019 c018e1c3 beq lmp_setup_complete ,send_lmp_setup_complete 
+601a c01be16a beq lmp_supervision_timeout ,send_lmp_superto 
+601b c019e15c beq lmp_host_connection_req ,send_lmp_no_payload 
+601c c0046259 beq lmp_in_rand ,send_lmp_inrand 
+601d c004e24f beq lmp_comb_key ,send_lmp_comb_key 
+601e c005e264 beq lmp_au_rand ,send_lmp_aurand 
+601f c006626d beq lmp_sres ,send_lmp_sres 
+6020 c007e162 beq lmp_encryption_mode_req ,send_lmp_encryption_mode_req 
+6021 c0086292 beq lmp_encryption_key_size_req ,send_lmp_encryption_key_size_req 
+6022 c008e288 beq lmp_start_encryption_req ,send_lmp_start_encryption 
+6023 c003e152 beq lmp_detach ,send_lmp_detach 
+6024 c015617e beq lmp_quality_of_service_req ,send_lmp_quality_of_service_req 
+6025 c005617f beq lmp_unit_key ,send_lmp_unit_key 
+6026 c00fe1bc beq lmp_incr_power_req ,send_lmp_inc_power 
+6027 c00360f9 beq lmp_clkoffset_res ,send_lmp_clkoffset_res 
+6028 c010e15f beq lmp_max_power ,send_lmp_nopayload_reply 
+6029 c016e1b2 beq lmp_max_slot ,send_lmp_max_slot 
+602a c01761b7 beq lmp_max_slot_req ,send_lmp_max_slot_req 
+602b c011615f beq lmp_min_power ,send_lmp_nopayload_reply 
+602c c01a6180 beq lmp_slot_offset ,send_lmp_slot_offset 
+602d c009e195 beq lmp_switch_req ,send_lmp_switch_req 
+602e c00be1a4 beq lmp_sniff_req ,send_lmp_sniff_req 
+602f c009628f beq lmp_stop_encryption_req ,send_lmp_stop_encryption_req 
+6030 c017e1aa beq lmp_timing_accuracy_req ,send_lmp_timing_accuracy_req 
+6031 c00c61af beq lmp_unsniff_req ,send_lmp_unsniff_req 
+6032 c01ee1ff beq lmp_encapsulated_header ,send_lmp_encapsulated_header 
+6033 c01f620b beq lmp_encapsulated_payload ,send_lmp_encapsulated_payload 
+6034 c01fe21d beq lmp_simple_pairing_confirm ,send_lmp_simple_pairing_comfirm 
+6035 c0206227 beq lmp_simple_pairing_number ,send_lmp_simple_pairing_number 
+6036 c020e23c beq lmp_dhkey_check ,send_lmp_dhkey_check 
+6037 c011e24b beq lmp_auto_rate ,send_lmp_auto_rate 
+6038 c01de246 beq lmp_enc_key_size_mask_res ,send_lmp_enc_key_size_mask_res 
+6039 c002e24c beq lmp_clkoffset_req ,send_lmp_clkoffset_req 
+603a c014e24d beq lmp_quality_of_service ,send_lmp_quality_of_service 
+603b c01c624e beq lmp_test_activate ,send_lmp_test_activate 
+603c c01ce175 beq lmp_test_control ,send_lmp_test_control 
+
+send_lmp_error:
+603d 20202a8c branch assert 
+603e 20600000 rtn 
+
+send_lmp_escape:
+603f c040e06d beq lmp_ext_accepted ,send_lmpext_accepted 
+6040 c0426099 beq lmp_ext_features_res ,send_lmpext_features_res 
+6041 c0416076 beq lmp_not_accepted_ext ,send_lmpext_not_accepted 
+6042 c041e10d beq lmp_ext_features_req ,send_lmpext_features_req 
+6043 c045e118 beq lmp_packet_type_table_req ,send_lmpext_packet_type_table_req 
+6044 c04be14e beq lmp_pause_encryption_req ,send_lmpext_pause_encryption_req 
+6045 c04ce0d5 beq lmp_io_cap_req ,send_lmp_io_cap_req 
+6046 c04d60a4 beq lmp_io_cap_res ,send_lmpext_io_cap_res 
+6047 c04ae0da beq lmp_sniff_subrating_req ,send_lmpext_sniff_subrating_req 
+6048 c04b60db beq lmp_sniff_subrating_res ,send_lmpext_sniff_subrating_res 
+6049 20202a8c branch assert 
+
+send_lmp_accepted:
+604a 18007e02 force 2 ,pdata 
+604b 20406298 call msg_send_lmp 
+604c 68008049 fetch 1 ,mem_lmi_opcode 
+604d e0a08000 istore 1 ,contw 
+604e 204062a7 call send_lmp_follow 
+604f 4741c030 bpatchx patch30_3 ,mem_patch30 
+6050 68008049 fetch 1 ,mem_lmi_opcode 
+6051 c0046080 beq lmp_in_rand ,send_lmp_accepted_inrand 
+6052 c007e084 beq lmp_encryption_mode_req ,send_lmp_accepted_enc_mode 
+6053 c008608f beq lmp_encryption_key_size_req ,send_lmp_accepted_enc_key 
+6054 c00be05f beq lmp_sniff_req ,send_lmp_accept_sniff_req 
+6055 c019e092 beq lmp_host_connection_req ,send_lmp_accepted_connection 
+6056 c020e098 beq lmp_dhkey_check ,send_lmp_accept_dhkey_check 
+6057 c008e059 beq lmp_start_encryption_req ,send_create_conn_start_l2cap_timer_sm 
+6058 20600000 rtn 
+
+send_create_conn_start_l2cap_timer_sm:
+6059 68008055 fetch 1 ,mem_conn_sm 
+605a 207a0000 rtn blank 
+605b 7000551b jam conn_sm_wait_done ,mem_conn_sm 
+605c 5800000c setarg timer_enpt_waite 
+605d d8e00007 arg enpt_delay_timer ,queue 
+605e 20207f08 branch timer_init 
+
+send_lmp_accept_sniff_req:
+605f 202026c6 branch sniff_init 
+
+send_lmp_not_accepted:
+6060 18007e03 force 3 ,pdata 
+6061 20406298 call msg_send_lmp 
+6062 68008049 fetch 1 ,mem_lmi_opcode 
+6063 c005e068 beq lmp_au_rand ,send_not_accept_aurand 
+6064 e0a08000 istore 1 ,contw 
+6065 6800804a fetch 1 ,mem_lmo_reason 
+6066 e0a08000 istore 1 ,contw 
+6067 202062a7 branch send_lmp_follow 
+
+send_not_accept_aurand:
+6068 e0a08000 istore 1 ,contw 
+6069 6800804a fetch 1 ,mem_lmo_reason 
+606a e0a08000 istore 1 ,contw 
+606b d84004d5 arg mem_sres_tid ,temp 
+606c 202062e2 branch special_tid_store 
+
+send_lmpext_accepted:
+606d 18000e04 force 4 ,queue 
+606e 204062a0 call send_lmpext 
+606f 5800007f setarg lmp_escape 
+6070 e0a08000 istore 1 ,contw 
+6071 68008049 fetch 1 ,mem_lmi_opcode 
+6072 793ffe07 set0 7 ,pdata 
+6073 e0a08000 istore 1 ,contw 
+6074 68008049 fetch 1 ,mem_lmi_opcode 
+6075 202062a7 branch send_lmp_follow 
+
+send_lmpext_not_accepted:
+6076 18000e05 force 5 ,queue 
+6077 204062a0 call send_lmpext 
+6078 5800007f setarg lmp_escape 
+6079 e0a08000 istore 1 ,contw 
+607a 68008049 fetch 1 ,mem_lmi_opcode 
+607b 793ffe07 set0 7 ,pdata 
+607c e0a08000 istore 1 ,contw 
+607d 6800804a fetch 1 ,mem_lmo_reason 
+607e e0a08000 istore 1 ,contw 
+607f 202062a7 branch send_lmp_follow 
+
+send_lmp_accepted_inrand:
+6080 2040244f call clear_linkkey 
+6081 204062f3 call tid_check 
+6082 20608000 rtn true 
+6083 20205ffc branch lmp_generate_key 
+
+send_lmp_accepted_enc_mode:
+6084 6800804b fetch 1 ,mem_op 
+6085 c282e08b bbit1 op_start_enc ,send_lmp_accepted_enc_start 
+6086 c4020000 rtnbit0 op_stop_enc 
+6087 70007c12 jam lmp_stop_encryption_req ,mem_lmo_opcode2 
+6088 793ffe04 set0 op_stop_enc ,pdata 
+6089 204062eb call tid_reply 
+608a 2020608d branch send_lmp_accepted_enc_exit 
+
+send_lmp_accepted_enc_start:
+608b 70007c10 jam lmp_encryption_key_size_req ,mem_lmo_opcode2 
+608c 793ffe05 set0 op_start_enc ,pdata 
+
+send_lmp_accepted_enc_exit:
+608d 6000804b store 1 ,mem_op 
+608e 20600000 rtn 
+
+send_lmp_accepted_enc_key:
+608f 204062fc call check_localsm 
+6090 2020dffe branch lmp_start_encryption ,true 
+6091 20600000 rtn 
+
+send_lmp_accepted_connection:
+6092 70007c8b jam lmp_packet_type_table_req ,mem_lmo_opcode2 
+6093 680084d1 fetch 1 ,mem_lmp_conn_state 
+6094 79207e00 set1 received_conn_req ,pdata 
+6095 600084d1 store 1 ,mem_lmp_conn_state 
+6096 700a9901 jam bt_evt_bb_connected ,mem_fifo_temp 
+6097 20207d86 branch ui_ipc_send_event 
+
+send_lmp_accept_dhkey_check:
+6098 20600000 rtn 
+
+send_lmpext_features_res:
+6099 18000e0c force 12 ,queue 
+609a 204062a0 call send_lmpext 
+609b 58000001 setarg 0x01 
+609c e0a08000 istore 1 ,contw 
+609d 680104ce fetch 2 ,mem_lmpext_ssp_enable 
+609e e0a10000 istore 2 ,contw 
+609f 58000000 setarg 0 
+60a0 e0a18000 istore 3 ,contw 
+60a1 58000000 setarg 0x00 
+60a2 e0a20000 istore 4 ,contw 
+60a3 202062b0 branch send_lmp_reply 
+
+send_lmpext_io_cap_res:
+60a4 18000e05 force 5 ,queue 
+60a5 204062a0 call send_lmpext 
+60a6 6801c65b fetch 3 ,mem_sp_iocap_local 
+60a7 e0a18000 istore 3 ,contw 
+60a8 204062b0 call send_lmp_reply 
+60a9 70466501 jam flag_pairing_state_pairing ,mem_flag_pairing_state 
+60aa 6800c65b fetch 1 ,mem_sp_iocap_local 
+60ab c000e0b5 beq display_yesno ,responder_iocap_display_yesno 
+60ac c00160af beq keyboard_only ,responder_iocap_keyboard_only 
+60ad c001e0bb beq no_input_no_output ,responder_iocap_no_input_no_output 
+60ae 20600000 rtn 
+
+responder_iocap_keyboard_only:
+60af 6800c65e fetch 1 ,mem_sp_iocap_remote 
+60b0 c00060c7 beq display_only ,responder_iocap_keyboard_only_initiator_iocap_display_only 
+60b1 c000e0c7 beq display_yesno ,responder_iocap_keyboard_only_initiator_iocap_display_yesno 
+60b2 c00160c7 beq keyboard_only ,responder_iocap_keyboard_only_initiator_iocap_keyboard_only 
+60b3 c001e0c1 beq no_input_no_output ,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output 
+60b4 20600000 rtn 
+
+responder_iocap_display_yesno:
+60b5 6800c65e fetch 1 ,mem_sp_iocap_remote 
+60b6 c00060c1 beq display_only ,responder_iocap_display_yesno_initiator_iocap_display_only 
+60b7 c000e0c5 beq display_yesno ,responder_iocap_display_yesno_initiator_iocap_display_yesno 
+60b8 c00160c7 beq keyboard_only ,responder_iocap_display_yesno_initiator_iocap_keyboard_only 
+60b9 c001e0c1 beq no_input_no_output ,responder_iocap_display_yesno_initiator_iocap_no_input_no_output 
+60ba 20600000 rtn 
+
+responder_iocap_no_input_no_output:
+60bb 6800c65e fetch 1 ,mem_sp_iocap_remote 
+60bc c00060c1 beq display_only ,responder_iocap_no_input_no_output_initiator_iocap_display_only 
+60bd c000e0c1 beq display_yesno ,responder_iocap_no_input_no_output_initiator_iocap_display_yesno 
+60be c00160c1 beq keyboard_only ,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only 
+60bf c001e0c1 beq no_input_no_output ,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output 
+60c0 20600000 rtn 
+
+responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+
+responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+
+responder_iocap_display_yesno_initiator_iocap_display_only:
+
+responder_iocap_no_input_no_output_initiator_iocap_display_only:
+
+responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+
+responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+
+responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+
+set_ssp_mode_justwork:
+60c1 70466203 jam ssp_mode_just_work_flag ,mem_ssp_mode_flag 
+60c2 6800c55c fetch 1 ,mem_classic_bt_flag 
+60c3 c28033e9 bbit1 flag_ssp_reject_justwork ,app_bt_disconnect 
+60c4 20600000 rtn 
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+
+set_ssp_mode_numeric_comparison:
+60c5 70466201 jam ssp_mode_ssp_pin_flag ,mem_ssp_mode_flag 
+60c6 20600000 rtn 
+
+responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+
+responder_iocap_keyboard_only_initiator_iocap_keyboard_only:
+
+responder_iocap_keyboard_only_initiator_iocap_display_only:
+
+responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+
+set_ssp_mode_passkey:
+60c7 70466202 jam ssp_mode_passkey_entry_flag ,mem_ssp_mode_flag 
+60c8 20600000 rtn 
+
+classic_bt_set_reject_justwork_flag:
+60c9 d8e00000 arg flag_ssp_reject_justwork ,queue 
+60ca 202060cd branch classic_bluetooth_set_flag 
+
+classic_bt_clr_reject_justwork_flag:
+60cb d8e00000 arg flag_ssp_reject_justwork ,queue 
+60cc 202060d1 branch classic_bluetooth_clr_flag 
+
+classic_bluetooth_set_flag:
+60cd 6800c55c fetch 1 ,mem_classic_bt_flag 
+60ce f9207e00 qset1 pdata 
+60cf 6000c55c store 1 ,mem_classic_bt_flag 
+60d0 20600000 rtn 
+
+classic_bluetooth_clr_flag:
+60d1 6800c55c fetch 1 ,mem_classic_bt_flag 
+60d2 f93ffe00 qset0 pdata 
+60d3 6000c55c store 1 ,mem_classic_bt_flag 
+60d4 20600000 rtn 
+
+send_lmp_io_cap_req:
+60d5 18000e05 force 5 ,queue 
+60d6 204062a0 call send_lmpext 
+60d7 6801c65b fetch 3 ,mem_sp_iocap_local 
+60d8 e0a18000 istore 3 ,contw 
+60d9 202062b2 branch send_lmp_request 
+
+send_lmpext_sniff_subrating_req:
+60da 20600000 rtn 
+
+send_lmpext_sniff_subrating_res:
+60db 18000e09 force 9 ,queue 
+60dc 204062a0 call send_lmpext 
+60dd 68008095 fetch 1 ,mem_subsniff_rate 
+60de e0a08000 istore 1 ,contw 
+60df 68010096 fetch 2 ,mem_subsniff_tcmax 
+60e0 e0a10000 istore 2 ,contw 
+60e1 68020091 fetch 4 ,mem_subsniff_instant 
+60e2 e0a20000 istore 4 ,contw 
+60e3 202062b0 branch send_lmp_reply 
+
+send_lmp_name_res:
+60e4 18007e11 force 17 ,pdata 
+60e5 20406298 call msg_send_lmp 
+60e6 68008049 fetch 1 ,mem_lmi_opcode 
+60e7 1fe20400 copy pdata ,temp 
+60e8 c00060ec beq 0x00 ,send_lmp_name_res_offset_ok 
+60e9 c00760ec beq 0x0e ,send_lmp_name_res_offset_ok 
+60ea c00e60ec beq 0x1c ,send_lmp_name_res_offset_ok 
+60eb 20600000 rtn 
+
+send_lmp_name_res_offset_ok:
+60ec e0a08000 istore 1 ,contw 
+60ed 6800c515 fetch 1 ,mem_local_name_length 
+60ee e0a08000 istore 1 ,contw 
+60ef df20000e arg 14 ,loopcnt 
+60f0 58004516 setarg mem_local_name 
+60f1 98408c00 iadd temp ,contr 
+60f2 20407f01 call memcpy 
+60f3 202062b0 branch send_lmp_reply 
+
+send_lmp_timing_accuracy_res:
+60f4 18007e03 force 3 ,pdata 
+60f5 20406298 call msg_send_lmp 
+60f6 58000114 setarg 0x0114 
+60f7 e0a10000 istore 2 ,contw 
+60f8 202062b0 branch send_lmp_reply 
+
+send_lmp_clkoffset_res:
+60f9 18007e03 force 3 ,pdata 
+60fa 20406298 call msg_send_lmp 
+60fb 68020165 fetch 4 ,mem_clke_bt 
+60fc 9c467e00 isub clkn_bt ,pdata 
+60fd 2034e0ff branch send_lmp_clkoffset_res_master ,master 
+60fe 1fe67e00 sub pdata ,0 ,pdata 
+
+send_lmp_clkoffset_res_master:
+60ff 1feb7e00 rshift2 pdata ,pdata 
+6100 793ffe0f set0 15 ,pdata 
+6101 e0a10000 istore 2 ,contw 
+6102 202062b0 branch send_lmp_reply 
+
+send_lmp_version_res:
+6103 18007e06 force 6 ,pdata 
+6104 20406298 call msg_send_lmp 
+6105 6802c510 fetch 5 ,mem_lmp_version 
+6106 e0a28000 istore 5 ,contw 
+6107 202062b0 branch send_lmp_reply 
+
+send_lmp_features_res:
+6108 18007e09 force 9 ,pdata 
+6109 20406298 call msg_send_lmp 
+610a 68044098 fetch 8 ,mem_features 
+610b e0a40000 istore 8 ,contw 
+610c 202062b0 branch send_lmp_reply 
+
+send_lmpext_features_req:
+610d 18000e0c force 12 ,queue 
+610e 204062a0 call send_lmpext 
+610f 58000001 setarg 0x01 
+6110 e0a08000 istore 1 ,contw 
+6111 680104ce fetch 2 ,mem_lmpext_ssp_enable 
+6112 e0a10000 istore 2 ,contw 
+6113 58000000 setarg 0 
+6114 e0a18000 istore 3 ,contw 
+6115 58000000 setarg 0x00 
+6116 e0a20000 istore 4 ,contw 
+6117 202062b2 branch send_lmp_request 
+
+send_lmpext_packet_type_table_req:
+6118 18000e03 force 3 ,queue 
+6119 204062a0 call send_lmpext 
+611a 6800c15a fetch 1 ,mem_ptt 
+611b e0a08000 istore 1 ,contw 
+611c 78547c00 disable user 
+611d 204062b2 call send_lmp_request 
+611e 24740000 nrtn user 
+611f 24748000 nrtn master 
+6120 6800c0d8 fetch 1 ,mem_afh_cfg 
+6121 c4000000 rtnbit0 afh_cfg_on 
+6122 20406132 call afh_init 
+6123 2020613c branch afh_open_all_channels 
+
+ssp_enable:
+6124 47424030 bpatchx patch30_4 ,mem_patch30 
+6125 6800c09e fetch 1 ,mem_features + 6 
+6126 79207e03 set1 param_featrue_ssp ,pdata 
+6127 6000c09e store 1 ,mem_features + 6 
+6128 58000101 setarg param_lmpext_ssp_enable 
+6129 600104ce store 2 ,mem_lmpext_ssp_enable 
+612a 20600000 rtn 
+
+ssp_disable:
+612b 4742c030 bpatchx patch30_5 ,mem_patch30 
+612c 6800c09e fetch 1 ,mem_features + 6 
+612d 793ffe03 set0 param_featrue_ssp ,pdata 
+612e 6000c09e store 1 ,mem_features + 6 
+612f 58000000 setarg 0 
+6130 600104ce store 2 ,mem_lmpext_ssp_enable 
+6131 20600000 rtn 
+
+afh_init:
+6132 7040d803 jam 0x3 ,mem_afh_cfg 
+6133 58000000 setarg 0 
+6134 60024142 store 4 ,mem_afh_timer 
+6135 d8a040da arg mem_afh_map_lo ,contw 
+6136 20406140 call afh_reset_map 
+6137 d8a040e7 arg mem_afh_map_new ,contw 
+6138 20406140 call afh_reset_map 
+6139 d8a04146 arg mem_afh_classify_channel_map ,contw 
+613a 20406140 call afh_reset_map 
+613b 20206147 branch afh_clear_error_counter 
+
+afh_open_all_channels:
+613c d8a040e7 arg mem_afh_map_new ,contw 
+613d 20406140 call afh_reset_map 
+613e 20406147 call afh_clear_error_counter 
+613f 2020614a branch afh_set_send_flag 
+
+afh_reset_map:
+6140 58ffffff setarg 0xffffff 
+6141 e0a18000 istore 3 ,contw 
+6142 e0a18000 istore 3 ,contw 
+6143 e0a18000 istore 3 ,contw 
+6144 5800007f setarg 0x7f 
+6145 e0a08000 istore 1 ,contw 
+6146 20600000 rtn 
+
+afh_clear_error_counter:
+6147 58000000 setarg 0 
+6148 600140d6 store 2 ,mem_afh_error_total 
+6149 20600000 rtn 
+
+afh_set_send_flag:
+614a 6800c0d8 fetch 1 ,mem_afh_cfg 
+614b 79207e02 set1 send_lmp_set_afh ,pdata 
+614c 6000c0d8 store 1 ,mem_afh_cfg 
+614d 20600000 rtn 
+
+send_lmpext_pause_encryption_req:
+614e 18000e02 force 2 ,queue 
+614f 204062a0 call send_lmpext 
+6150 2434e2b0 nbranch send_lmp_reply ,master 
+6151 202062b2 branch send_lmp_request 
+
+send_lmp_detach:
+6152 18007e02 force 2 ,pdata 
+6153 20406298 call msg_send_lmp 
+6154 680084ca fetch 1 ,mem_disconn_reason_send 
+6155 e0a08000 istore 1 ,contw 
+6156 204062b2 call send_lmp_request 
+
+prepare_disconnect:
+6157 6800804b fetch 1 ,mem_op 
+6158 79207e03 set1 op_disconn ,pdata 
+6159 6000804b store 1 ,mem_op 
+615a 70007232 jam 50 ,mem_conn_timer 
+615b 20600000 rtn 
+
+send_lmp_no_payload:
+615c 18007e01 force 1 ,pdata 
+615d 20406298 call msg_send_lmp 
+615e 202062b2 branch send_lmp_request 
+
+send_lmp_nopayload_reply:
+615f 18007e01 force 1 ,pdata 
+6160 20406298 call msg_send_lmp 
+6161 202062b0 branch send_lmp_reply 
+
+send_lmp_encryption_mode_req:
+6162 18007e02 force 2 ,pdata 
+6163 20406298 call msg_send_lmp 
+6164 6800804c fetch 1 ,mem_state_map 
+6165 2fec0002 isolate0 smap_encryption ,pdata 
+6166 7920fe00 setflag true ,0 ,pdata 
+6167 1fe17e01 and_into 1 ,pdata 
+6168 e0a08000 istore 1 ,contw 
+6169 202062b2 branch send_lmp_request 
+
+send_lmp_superto:
+616a 18007e03 force 3 ,pdata 
+616b 20406298 call msg_send_lmp 
+616c 68010051 fetch 2 ,mem_supervision_to 
+616d e0a10000 istore 2 ,contw 
+616e 202062b2 branch send_lmp_request 
+
+send_lmp_name_req:
+616f 700072fa jam 250 ,mem_conn_timer 
+6170 18007e02 force 2 ,pdata 
+6171 20406298 call msg_send_lmp 
+6172 68008053 fetch 1 ,mem_name_offset 
+6173 e0a08000 istore 1 ,contw 
+6174 202062b2 branch send_lmp_request 
+
+send_lmp_test_control:
+6175 18007e0a force 10 ,pdata 
+6176 20406298 call msg_send_lmp 
+6177 d8c00152 arg mem_temp_payload ,contr 
+6178 18007209 force 9 ,loopcnt 
+
+send_lmp_test_control_loop:
+6179 e8c08000 ifetch 1 ,contr 
+617a 1fe2fe55 xor_into 0x55 ,pdata 
+617b e0a08000 istore 1 ,contw 
+617c c2006179 loop send_lmp_test_control_loop 
+617d 202062b2 branch send_lmp_request 
+
+send_lmp_quality_of_service_req:
+617e 202062b2 branch send_lmp_request 
+
+send_lmp_unit_key:
+617f 202062b2 branch send_lmp_request 
+
+send_lmp_slot_offset:
+6180 20748000 rtn master 
+6181 2040282d call calc_slot_offset 
+6182 18007e09 force 9 ,pdata 
+6183 20406298 call msg_send_lmp 
+6184 68010171 fetch 2 ,mem_slot_offset 
+6185 e0a10000 istore 2 ,contw 
+6186 6801c0a0 fetch 3 ,mem_lap 
+6187 e0a18000 istore 3 ,contw 
+6188 6800c0a3 fetch 1 ,mem_uap 
+6189 e0a08000 istore 1 ,contw 
+618a 680140a4 fetch 2 ,mem_nap 
+618b e0a10000 istore 2 ,contw 
+618c c581e191 bmark0 mark_switch_initiated ,send_lmp_slot_offset_reply 
+618d 793f8003 set0 mark_switch_initiated ,mark 
+618e 204062b2 call send_lmp_request 
+618f 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+6190 20600000 rtn 
+
+send_lmp_slot_offset_reply:
+6191 204062b0 call send_lmp_reply 
+6192 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+6193 70007d13 jam lmp_switch_req ,mem_lmi_opcode2 
+6194 20600000 rtn 
+
+send_lmp_switch_req:
+6195 d8400200 arg 0x200 ,temp 
+6196 2034e199 branch switch_on_native ,master 
+6197 1d027e00 deposit clke_bt 
+6198 2020619a branch switch_slack 
+
+switch_on_native:
+6199 1c427e00 deposit clkn_bt 
+
+switch_slack:
+619a 1c227e00 deposit bt_clk 
+619b 9840fe00 iadd temp ,pdata 
+619c 1fe17ffc and_into 0x1fc ,pdata 
+619d 60020034 store 4 ,mem_sniff_anchor 
+619e 18007e05 force 5 ,pdata 
+619f 20406298 call msg_send_lmp 
+61a0 68020034 fetch 4 ,mem_sniff_anchor 
+61a1 1fe37e00 rshift pdata ,pdata 
+61a2 e0a20000 istore 4 ,contw 
+61a3 202062b2 branch send_lmp_request 
+
+send_lmp_sniff_req:
+61a4 18007e0a force 10 ,pdata 
+61a5 20406298 call msg_send_lmp 
+61a6 d8c004d9 arg mem_sniff_payload ,contr 
+61a7 e8c48000 ifetch 9 ,contr 
+61a8 e0a48000 istore 9 ,contw 
+61a9 202062b2 branch send_lmp_request 
+
+send_lmp_timing_accuracy_req:
+61aa 18007e03 force 3 ,pdata 
+61ab 20406298 call msg_send_lmp 
+61ac 58000114 setarg 0x0114 
+61ad e0a10000 istore 2 ,contw 
+61ae 202062b2 branch send_lmp_request 
+
+send_lmp_unsniff_req:
+61af 18007e01 force 1 ,pdata 
+61b0 20406298 call msg_send_lmp 
+61b1 202062b2 branch send_lmp_request 
+
+send_lmp_max_slot:
+61b2 18007e02 force 2 ,pdata 
+61b3 20406298 call msg_send_lmp 
+61b4 6800c0d0 fetch 1 ,mem_max_slot 
+61b5 e0a08000 istore 1 ,contw 
+61b6 202062b2 branch send_lmp_request 
+
+send_lmp_max_slot_req:
+61b7 18007e02 force 2 ,pdata 
+61b8 20406298 call msg_send_lmp 
+61b9 58000005 setarg 0x05 
+61ba e0a08000 istore 1 ,contw 
+61bb 202062b2 branch send_lmp_request 
+
+send_lmp_inc_power:
+61bc 18007e02 force 2 ,pdata 
+61bd 20406298 call msg_send_lmp 
+61be 58000000 setarg 0x00 
+61bf e0a08000 istore 1 ,contw 
+61c0 202062b2 branch send_lmp_request 
+
+send_lmp_setup_complete_by_module:
+61c1 70007c2e jam lmp_max_slot_req ,mem_lmo_opcode2 
+61c2 20600000 rtn 
+
+send_lmp_setup_complete:
+61c3 6800c092 fetch 1 ,mem_device_option 
+61c4 1fe67c0a sub pdata ,dvc_op_module ,null 
+61c5 2042e1c1 call send_lmp_setup_complete_by_module ,zero 
+61c6 68008030 fetch 1 ,mem_state 
+61c7 79207e04 set1 state_conn_comp ,pdata 
+61c8 60008030 store 1 ,mem_state 
+61c9 1c427e00 copy clkn_bt ,pdata 
+61ca 600204e9 store 4 ,mem_aurand_send_delay_time 
+61cb 680084d1 fetch 1 ,mem_lmp_conn_state 
+61cc c281e1d4 bbit1 sent_setup_complete ,send_lmp_setup_complete_has_sent 
+61cd 79207e03 set1 sent_setup_complete ,pdata 
+61ce 600084d1 store 1 ,mem_lmp_conn_state 
+61cf 700a9905 jam bt_evt_setup_complete ,mem_fifo_temp 
+61d0 20407d86 call ui_ipc_send_event 
+61d1 18007e01 force 1 ,pdata 
+61d2 20406298 call msg_send_lmp 
+61d3 202062b2 branch send_lmp_request 
+
+send_lmp_setup_complete_has_sent:
+61d4 70004800 jam 0 ,mem_lmp_to_send 
+61d5 20600000 rtn 
+
+send_lmp_version_req:
+61d6 18007e06 force 6 ,pdata 
+61d7 20406298 call msg_send_lmp 
+61d8 6802c510 fetch 5 ,mem_lmp_version 
+61d9 e0a28000 istore 5 ,contw 
+61da 202062b2 branch send_lmp_request 
+
+send_lmp_features_req:
+61db 18007e09 force 9 ,pdata 
+61dc 20406298 call msg_send_lmp 
+61dd 68044098 fetch 8 ,mem_features 
+61de e0a40000 istore 8 ,contw 
+61df 202062b2 branch send_lmp_request 
+
+sp_master_send_io_cap_get:
+61e0 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+61e1 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+61e2 c1808000 rtnne sp_key_valid 
+61e3 7009af13 jam sp_master_stat_start_done ,mem_master_sp_state 
+61e4 20600000 rtn 
+
+sp_master_send_io_cap_send:
+61e5 204062ef call tid_initiate 
+61e6 70007c99 jam lmp_io_cap_req ,mem_lmo_opcode2 
+61e7 7009af03 jam sp_stat_key_send ,mem_master_sp_state 
+61e8 20600000 rtn 
+
+sp_master_send_lmp_encapsulated_header:
+61e9 204062ef call tid_initiate 
+61ea 70007c3d jam lmp_encapsulated_header ,mem_lmo_opcode2 
+61eb 7009af07 jam sp_stat_random_send ,mem_master_sp_state 
+61ec 20600000 rtn 
+
+sp_master_commitment_compare:
+61ed da200a4e arg mem_sp_calc_result_high ,rega 
+61ee da400a6e arg mem_sp_confirm_remote ,regb 
+61ef df200010 arg 16 ,loopcnt 
+61f0 20407f88 call string_compare 
+61f1 2022e1f7 branch sp_master_commitment_compare_success ,zero 
+61f2 7009af00 jam sp_stat_null ,mem_master_sp_state 
+61f3 204076da call master_clear_mem_master_sp_flag 
+61f4 70007e24 jam pdu_not_allowed ,mem_lmo_reason2 
+61f5 70007d40 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+61f6 20205d53 branch reject_lmp_packet 
+
+sp_master_commitment_compare_success:
+61f7 7009af0a jam sp_stat_confirm_calc ,mem_master_sp_state 
+61f8 204076d8 call master_set_mem_master_sp_flag 
+61f9 70007d40 jam lmp_simple_pairing_number ,mem_lmi_opcode2 
+61fa 20205e38 branch accept_lmp_msg 
+
+sp_master_send_lmp_simple_pairing_number:
+61fb 70007c40 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+61fc 20600000 rtn 
+
+sp_send_lmp_encapsulated_header:
+61fd 70007c3d jam lmp_encapsulated_header ,mem_lmo_opcode2 
+61fe 20600000 rtn 
+
+send_lmp_encapsulated_header:
+61ff 7009b600 jam 0 ,mem_sp_local_key_send_count 
+6200 18007e04 force 4 ,pdata 
+6201 20406298 call msg_send_lmp 
+6202 18007e01 force encapsulated_major_type_p192 ,pdata 
+6203 e0a08000 istore 1 ,contw 
+6204 18007e01 force encapsulated_minor_type_p192 ,pdata 
+6205 e0a08000 istore 1 ,contw 
+6206 18007e30 force encapsulated_len_p192 ,pdata 
+6207 e0a08000 istore 1 ,contw 
+6208 204062fc call check_localsm 
+6209 2020e2b2 branch send_lmp_request ,true 
+620a 202062b0 branch send_lmp_reply 
+
+send_lmp_encapsulated_payload:
+620b 18007e11 force 17 ,pdata 
+620c 20406298 call msg_send_lmp 
+620d 680089b6 fetch 1 ,mem_sp_local_key_send_count 
+620e d8c0462a arg mem_sp_pubkey_local ,contr 
+620f 98c08c00 iadd contr ,contr 
+6210 e8c40000 ifetch 8 ,contr 
+6211 e0a40000 istore 8 ,contw 
+6212 e8c40000 ifetch 8 ,contr 
+6213 e0a40000 istore 8 ,contw 
+6214 680089b6 fetch 1 ,mem_sp_local_key_send_count 
+6215 1fe0fe10 increase 16 ,pdata 
+6216 600089b6 store 1 ,mem_sp_local_key_send_count 
+6217 204062fc call check_localsm 
+6218 2020e2b2 branch send_lmp_request ,true 
+6219 202062b0 branch send_lmp_reply 
+
+sp_send_lmp_simple_pairing_comfirm:
+621a 7009ae06 jam sp_stat_random_recv ,mem_sp_state 
+621b 70007c3f jam lmp_simple_pairing_confirm ,mem_lmo_opcode2 
+621c 20600000 rtn 
+
+send_lmp_simple_pairing_comfirm:
+621d 18007e11 force 17 ,pdata 
+621e 20406298 call msg_send_lmp 
+621f d8c00a4e arg mem_sp_calc_result_high ,contr 
+6220 e8c40000 ifetch 8 ,contr 
+6221 e0a40000 istore 8 ,contw 
+6222 e8c40000 ifetch 8 ,contr 
+6223 e0a40000 istore 8 ,contw 
+6224 202062b0 branch send_lmp_reply 
+
+sp_send_lmp_simple_pairing_number:
+6225 70007c40 jam lmp_simple_pairing_number ,mem_lmo_opcode2 
+6226 20600000 rtn 
+
+send_lmp_simple_pairing_number:
+6227 204062fc call check_localsm 
+6228 2040f612 call sp_local_random_key_generator ,true 
+6229 18007e11 force 17 ,pdata 
+622a 20406298 call msg_send_lmp 
+622b d8c00a1e arg mem_sp_random_local ,contr 
+622c e8c40000 ifetch 8 ,contr 
+622d e0a40000 istore 8 ,contw 
+622e e8c40000 ifetch 8 ,contr 
+622f e0a40000 istore 8 ,contw 
+6230 204062fc call check_localsm 
+6231 2420e2b0 nbranch send_lmp_reply ,true 
+6232 2020e2b2 branch send_lmp_request ,true 
+
+master_sp_sm_end:
+6233 7009af0f jam sp_stat_done ,mem_master_sp_state 
+
+sp_aurand_send:
+6234 204062ef call tid_initiate 
+6235 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+6236 20406307 call check_localsm_master 
+6237 2020f64e branch sp_master_key_prarm_push ,true 
+6238 20207658 branch sp_link_key_prarm_push 
+
+master_sp_send_lmp_dhkey_check:
+6239 204062eb call tid_reply 
+
+sp_send_lmp_dhkey_check:
+623a 70007c41 jam lmp_dhkey_check ,mem_lmo_opcode2 
+623b 20600000 rtn 
+
+send_lmp_dhkey_check:
+623c 18007e11 force 17 ,pdata 
+623d 20406298 call msg_send_lmp 
+623e d8c00a4e arg mem_sp_calc_result_high ,contr 
+623f e8c40000 ifetch 8 ,contr 
+6240 e0a40000 istore 8 ,contw 
+6241 e8c40000 ifetch 8 ,contr 
+6242 e0a40000 istore 8 ,contw 
+6243 204062fc call check_localsm 
+6244 2420e2b0 nbranch send_lmp_reply ,true 
+6245 2020e2b2 branch send_lmp_request ,true 
+
+send_lmp_enc_key_size_mask_res:
+6246 18007e03 force 3 ,pdata 
+6247 20406298 call msg_send_lmp 
+6248 5800fffe setarg 0xfffe 
+6249 e0a10000 istore 2 ,contw 
+624a 202062b0 branch send_lmp_reply 
+
+send_lmp_auto_rate:
+624b 202062b2 branch send_lmp_request 
+
+send_lmp_clkoffset_req:
+624c 202062b2 branch send_lmp_request 
+
+send_lmp_quality_of_service:
+624d 202062b2 branch send_lmp_request 
+
+send_lmp_test_activate:
+624e 202062b2 branch send_lmp_request 
+
+send_lmp_comb_key:
+624f 2040630b call generate_random_number 
+6250 da2040a0 arg mem_lap ,rega 
+6251 20406311 call generate_linkkey 
+6252 18007e11 force 17 ,pdata 
+6253 20406298 call msg_send_lmp 
+6254 da200582 arg mem_kinit ,rega 
+6255 da400562 arg mem_random_number ,regb 
+6256 20407352 call xor16 
+6257 2434e2a7 nbranch send_lmp_follow ,master 
+6258 202062ad branch send_lmp_tid 
+
+send_lmp_inrand:
+6259 2040630b call generate_random_number 
+625a da200040 arg mem_plap ,rega 
+625b 20407255 call generate_kinit 
+
+send_lmp_rand:
+625c 18007e11 force 17 ,pdata 
+625d 20406298 call msg_send_lmp 
+625e d8c00562 arg mem_random_number ,contr 
+625f 20407ebf call memcpy16 
+6260 68008055 fetch 1 ,mem_conn_sm 
+6261 c00ce2b2 beq conn_sm_auth_wait ,send_lmp_request 
+6262 c00c62b2 beq conn_sm_pairing_wait ,send_lmp_request 
+6263 202062ad branch send_lmp_tid 
+
+send_lmp_aurand:
+6264 680089b5 fetch 1 ,mem_pairing_auth 
+6265 203a626a branch send_lmp_aurand_notpairing ,blank 
+6266 204062fc call check_localsm 
+6267 2040e2ef call tid_initiate ,true 
+6268 2440e2eb ncall tid_reply ,true 
+6269 2020626b branch send_lmp_aurand_common 
+
+send_lmp_aurand_notpairing:
+626a 204062ef call tid_initiate 
+
+send_lmp_aurand_common:
+626b 2040630b call generate_random_number 
+626c 2020625c branch send_lmp_rand 
+
+send_lmp_sres:
+626d da2040a0 arg mem_lap ,rega 
+626e 20407288 call function_e1 
+626f 18007e05 force 5 ,pdata 
+6270 20406298 call msg_send_lmp 
+6271 68020592 fetch 4 ,mem_input_store 
+6272 e0a20000 istore 4 ,contw 
+6273 d84004d5 arg mem_sres_tid ,temp 
+6274 204062e2 call special_tid_store 
+6275 20407386 call copy_aco 
+6276 204062fc call check_localsm 
+6277 2020e27c branch send_lmp_sres_master ,true 
+6278 7004d801 jam done_encryp ,mem_wait_encryption 
+6279 680089b5 fetch 1 ,mem_pairing_auth 
+627a 207a0000 rtn blank 
+627b 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+
+send_lmp_sres_master:
+627c 6800c1bd fetch 1 ,mem_link_key_exists 
+627d 207a0000 rtn blank 
+
+send_lmp_sres_startenc:
+627e 204062fc call check_localsm 
+627f 2420e284 nbranch send_lmp_sres_startenc_slave ,true 
+6280 680084d7 fetch 1 ,mem_auth_enable 
+6281 207a0000 rtn blank 
+6282 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+6283 20600000 rtn 
+
+send_lmp_sres_startenc_slave:
+6284 c6908000 rtnmark0 mark_slave_in_rand_accepted 
+6285 793f8021 set0 mark_slave_in_rand_accepted ,mark 
+6286 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+6287 20600000 rtn 
+
+send_lmp_start_encryption:
+6288 2040630b call generate_random_number 
+6289 2040728b call function_e3 
+628a 18007e11 force 17 ,pdata 
+628b 20406298 call msg_send_lmp 
+628c d8c00562 arg mem_random_number ,contr 
+628d 20407ebf call memcpy16 
+628e 202062ad branch send_lmp_tid 
+
+send_lmp_stop_encryption_req:
+628f 18007e01 force 1 ,pdata 
+6290 20406298 call msg_send_lmp 
+6291 202062ad branch send_lmp_tid 
+
+send_lmp_encryption_key_size_req:
+6292 18007e02 force 2 ,pdata 
+6293 20406298 call msg_send_lmp 
+6294 18007e10 force 16 ,pdata 
+6295 e0a08000 istore 1 ,contw 
+6296 60008054 store 1 ,mem_key_size 
+6297 202062ad branch send_lmp_tid 
+
+msg_send_lmp:
+6298 1fe9fe00 lshift3 pdata ,pdata 
+6299 1fe1fe07 or_into 0x07 ,pdata 
+629a 600084b6 store 1 ,mem_lmo_header_length 
+629b df200011 arg 17 ,loopcnt 
+629c d8a004b8 arg mem_lmo_payload ,contw 
+629d 20407ed4 call clear_mem 
+629e d8a004b8 arg mem_lmo_payload ,contw 
+629f 20600000 rtn 
+
+send_lmpext:
+62a0 1fe1227f and pdata ,0x7f ,rega 
+62a1 7000487f jam lmp_escape ,mem_lmp_to_send 
+62a2 18e27e00 deposit queue 
+62a3 20406298 call msg_send_lmp 
+62a4 1a227e00 deposit rega 
+62a5 e0a08000 istore 1 ,contw 
+62a6 20600000 rtn 
+
+send_lmp_follow:
+62a7 68008048 fetch 1 ,mem_lmp_to_send 
+62a8 1fe3fe00 lshift pdata ,pdata 
+62a9 6808804c fetcht 1 ,mem_state_map 
+62aa 284ffe01 isolate1 smap_lmptid ,temp 
+62ab 7920fe00 setflag true ,0 ,pdata 
+62ac 202062b7 branch send_lmp_exit 
+
+send_lmp_tid:
+62ad 6808804c fetcht 1 ,mem_state_map 
+62ae 18410401 and_into 1 ,temp 
+62af 202062b3 branch send_lmp_end 
+
+send_lmp_reply:
+62b0 18000400 force 0 ,temp 
+62b1 202062b3 branch send_lmp_end 
+
+send_lmp_request:
+62b2 18000401 force 1 ,temp 
+
+send_lmp_end:
+62b3 68008048 fetch 1 ,mem_lmp_to_send 
+62b4 1fe3fe00 lshift pdata ,pdata 
+62b5 7934fe00 setflag master ,0 ,pdata 
+62b6 9842fe00 ixor temp ,pdata 
+
+send_lmp_exit:
+62b7 600084b7 store 1 ,mem_lmo_header_opcode 
+62b8 70004800 jam 0 ,mem_lmp_to_send 
+62b9 204062c7 call lmo_fifo_process_lmo0empty 
+62ba 78347c00 enable user 
+62bb 20600000 rtn 
+
+lmo_fifo_check:
+62bc 6800807c fetch 1 ,mem_lmo_opcode2 
+62bd 207a0000 rtn blank 
+62be 204062c1 call lmo_fifo_process 
+62bf 6800807c fetch 1 ,mem_lmo_opcode2 
+62c0 20600000 rtn 
+
+lmo_fifo_process:
+62c1 47434030 bpatchx patch30_6 ,mem_patch30 
+62c2 68008048 fetch 1 ,mem_lmp_to_send 
+62c3 203a62c7 branch lmo_fifo_process_lmo0empty ,blank 
+62c4 68008078 fetch 1 ,mem_lmo_opcode1 
+62c5 247a0000 nrtn blank 
+62c6 202062d1 branch lmo_fifo_process_lmo2to1 
+
+lmo_fifo_process_lmo0empty:
+62c7 68008078 fetch 1 ,mem_lmo_opcode1 
+62c8 203a62d7 branch lmo_fifo_process_lmo1_empty ,blank 
+62c9 68018078 fetch 3 ,mem_lmo_opcode1 
+62ca 60018048 store 3 ,mem_lmp_to_send 
+62cb 6808807b fetcht 1 ,mem_lmo_tid1 
+62cc 6800804c fetch 1 ,mem_state_map 
+62cd 793ffe01 set0 smap_lmptid ,pdata 
+62ce 9841fe00 ior temp ,pdata 
+62cf 6000804c store 1 ,mem_state_map 
+62d0 70007800 jam 0 ,mem_lmo_opcode1 
+
+lmo_fifo_process_lmo2to1:
+62d1 6800807c fetch 1 ,mem_lmo_opcode2 
+62d2 207a0000 rtn blank 
+62d3 6802007c fetch 4 ,mem_lmo_opcode2 
+62d4 60020078 store 4 ,mem_lmo_opcode1 
+62d5 70007c00 jam 0 ,mem_lmo_opcode2 
+62d6 20600000 rtn 
+
+lmo_fifo_process_lmo1_empty:
+62d7 6800807c fetch 1 ,mem_lmo_opcode2 
+62d8 207a0000 rtn blank 
+62d9 6801807c fetch 3 ,mem_lmo_opcode2 
+62da 60018048 store 3 ,mem_lmp_to_send 
+62db 6808807f fetcht 1 ,mem_lmo_tid2 
+62dc 6800804c fetch 1 ,mem_state_map 
+62dd 793ffe01 set0 smap_lmptid ,pdata 
+62de 9841fe00 ior temp ,pdata 
+62df 6000804c store 1 ,mem_state_map 
+62e0 70007c00 jam 0 ,mem_lmo_opcode2 
+62e1 20600000 rtn 
+
+special_tid_store:
+62e2 4743c030 bpatchx patch30_7 ,mem_patch30 
+62e3 6800804c fetch 1 ,mem_state_map 
+62e4 1fe22600 copy pdata ,regc 
+62e5 e8408000 ifetch 1 ,temp 
+62e6 20405e52 call pop_tid_follow 
+62e7 204062a7 call send_lmp_follow 
+62e8 1a627e00 copy regc ,pdata 
+62e9 6000804c store 1 ,mem_state_map 
+62ea 20600000 rtn 
+
+tid_reply:
+62eb 6808804c fetcht 1 ,mem_state_map 
+62ec 793f8400 set0 smap_lmptidinit ,temp 
+62ed 6008804c storet 1 ,mem_state_map 
+62ee 20600000 rtn 
+
+tid_initiate:
+62ef 6808804c fetcht 1 ,mem_state_map 
+62f0 79200400 set1 smap_lmptidinit ,temp 
+62f1 6008804c storet 1 ,mem_state_map 
+62f2 20600000 rtn 
+
+tid_check:
+62f3 7d34fe01 nsetflag master ,smap_lmptid ,pdata 
+62f4 6808804c fetcht 1 ,mem_state_map 
+62f5 9842fe00 ixor temp ,pdata 
+62f6 2feffe01 isolate1 smap_lmptid ,pdata 
+62f7 20600000 rtn 
+
+tid_set_reply:
+62f8 6800804c fetch 1 ,mem_state_map 
+62f9 7934fe01 setflag master ,smap_lmptid ,pdata 
+62fa 6000804c store 1 ,mem_state_map 
+62fb 20600000 rtn 
+
+check_localsm:
+62fc 680089b4 fetch 1 ,mem_sp_localsm 
+62fd 2fe0fe01 compare local_statemachine ,pdata ,0x7f 
+62fe 20600000 rtn 
+
+setlocalsm_master:
+62ff 680089b4 fetch 1 ,mem_sp_localsm 
+6300 79207e07 set1 7 ,pdata 
+6301 600089b4 store 1 ,mem_sp_localsm 
+6302 20600000 rtn 
+
+setlocalsm_slave:
+6303 680089b4 fetch 1 ,mem_sp_localsm 
+6304 793ffe07 set0 7 ,pdata 
+6305 600089b4 store 1 ,mem_sp_localsm 
+6306 20600000 rtn 
+
+check_localsm_master:
+6307 680089b4 fetch 1 ,mem_sp_localsm 
+6308 2feffe07 isolate1 7 ,pdata 
+6309 600089b4 store 1 ,mem_sp_localsm 
+630a 20600000 rtn 
+
+generate_random_number:
+630b d8a00562 arg mem_random_number ,contw 
+
+generate_random:
+630c 18007210 force 16 ,loopcnt 
+
+generate_random_another:
+
+generate_random_loop:
+630d 180a7e00 random pdata 
+630e e0a08000 istore 1 ,contw 
+630f c200630d loop generate_random_another 
+6310 20600000 rtn 
+
+generate_linkkey:
+6311 20407259 call function_e21 
+6312 da2041be arg mem_link_key ,rega 
+6313 da400592 arg mem_input_store ,regb 
+6314 ea240000 ifetch 8 ,rega 
+6315 68088030 fetcht 1 ,mem_state 
+6316 7d3a0406 nsetflag blank ,state_combkey ,temp 
+6317 60088030 storet 1 ,mem_state 
+6318 1a220a00 copy rega ,contw 
+6319 20407352 call xor16 
+631a 202021c4 branch generate_linkkey_continue 
+
+process_conn_sm:
+631b 47444031 bpatchx patch31_0 ,mem_patch31 
+631c 204062bc call lmo_fifo_check 
+631d 247a0000 nrtn blank 
+
+process_conn_sm_continue:
+631e 68008055 fetch 1 ,mem_conn_sm 
+631f 207a0000 rtn blank 
+6320 c002636f beq conn_sm_send_conn_req ,host_create_conn_send_conn_req 
+6321 c002e374 beq conn_sm_wait_conn_accept ,host_create_conn_wait_accept 
+6322 c0016366 beq conn_sm_send_features ,host_create_conn_send_features 
+6323 c001e37c beq conn_sm_wait_features_res ,host_create_conn_waiting 
+6324 c0076369 beq conn_sm_send_switch ,host_create_conn_send_switch 
+6325 c0036398 beq conn_sm_auth_pair ,host_create_conn_auth_pair 
+6326 c003e3b0 beq conn_sm_auth_pair_wait ,host_create_conn_auth_pair_wait 
+6327 c004e3b1 beq conn_sm_encrypt ,host_create_conn_encrypt 
+6328 c00563ba beq conn_sm_encrypt_wait ,host_create_conn_encrypt_wait 
+6329 c005e3be beq conn_sm_encrypt_wait_clear ,host_create_conn_encrypt_wait_clear 
+632a c0066386 beq conn_sm_send_setup_complete ,host_create_conn_send_setup_complete 
+632b c006e389 beq conn_sm_wait_setup_complete ,host_create_conn_wait_setup_complete 
+632c c007e38f beq conn_sm_detach_delay ,host_create_conn_master_detach 
+632d c0096359 beq conn_sm_send_version ,host_create_conn_send_version 
+632e c009e37c beq conn_sm_wait_version ,host_create_conn_waiting 
+632f c008635c beq conn_sm_wait_switch_after_host_connection ,host_creat_conn_wait_switch 
+6330 c00a6356 beq conn_sm_send_features_ext ,host_creat_conn_send_feat_ext 
+6331 c00ae37c beq conn_sm_wait_features_ext ,host_create_conn_waiting 
+6332 c00b6350 beq conn_sm_pairing ,host_create_conn_pairing 
+6333 c00c6355 beq conn_sm_pairing_wait ,host_create_conn_pairing_wait 
+6334 c00be349 beq conn_sm_auth ,host_create_conn_auth 
+6335 c00ce34f beq conn_sm_auth_wait ,host_create_conn_auth_wait 
+6336 c00d633a beq conn_sm_done ,host_create_conn_done 
+6337 c00de344 beq conn_sm_wait_done ,host_create_conn_done_wait 
+6338 70005500 jam conn_sm_standby ,mem_conn_sm 
+6339 20600000 rtn 
+
+host_create_conn_done:
+633a 680084d1 fetch 1 ,mem_lmp_conn_state 
+633b c4010000 rtnbit0 received_setup_complete 
+633c c4018000 rtnbit0 sent_setup_complete 
+633d 70005500 jam conn_sm_standby ,mem_conn_sm 
+633e 20406340 call host_conn_judge_encrypt 
+633f 20206cef branch scheduler_start_upper_sm 
+
+host_conn_judge_encrypt:
+6340 6800816d fetch 1 ,mem_connection_options 
+6341 c4008000 rtnbit0 connection_encrypt 
+6342 7000550a jam conn_sm_encrypt_wait ,mem_conn_sm 
+6343 20600000 rtn 
+
+host_create_conn_done_wait:
+6344 d8e00007 arg enpt_delay_timer ,queue 
+6345 20407f16 call timer_check 
+6346 247a0000 nrtn blank 
+6347 7000551a jam conn_sm_done ,mem_conn_sm 
+6348 20600000 rtn 
+
+host_create_conn_auth:
+6349 6800816d fetch 1 ,mem_connection_options 
+634a 793ffe00 set0 connection_auth ,pdata 
+634b 6000816d store 1 ,mem_connection_options 
+634c 70005519 jam conn_sm_auth_wait ,mem_conn_sm 
+634d 70007c0b jam lmp_au_rand ,mem_lmo_opcode2 
+634e 20600000 rtn 
+
+host_create_conn_auth_wait:
+634f 20600000 rtn 
+
+host_create_conn_pairing:
+6350 680084d4 fetch 1 ,mem_pincode_state 
+6351 c1810000 rtnne pincode_state_pincode_ready 
+6352 204063c0 call host_auth 
+6353 70005518 jam conn_sm_pairing_wait ,mem_conn_sm 
+6354 20600000 rtn 
+
+host_create_conn_pairing_wait:
+6355 20600000 rtn 
+
+host_creat_conn_send_feat_ext:
+6356 70005515 jam conn_sm_wait_features_ext ,mem_conn_sm 
+6357 70007c83 jam lmp_ext_features_req ,mem_lmo_opcode2 
+6358 20600000 rtn 
+
+host_create_conn_send_version:
+6359 70005513 jam conn_sm_wait_version ,mem_conn_sm 
+635a 70007c25 jam lmp_version_req ,mem_lmo_opcode2 
+635b 20600000 rtn 
+
+host_creat_conn_wait_switch:
+635c 6800c55b fetch 1 ,mem_switch_flag 
+635d c1000000 rtneq switch_flag_init 
+635e c000e364 beq switch_flag_accept ,host_create_conn_switch_accept 
+635f d8e00006 arg switch_wait_timer ,queue 
+6360 20407f16 call timer_check 
+6361 247a0000 nrtn blank 
+6362 70455b00 jam switch_flag_init ,mem_switch_flag 
+6363 2020637d branch host_create_conn_switch 
+
+host_create_conn_switch_accept:
+6364 20748000 rtn master 
+6365 20206398 branch host_create_conn_auth_pair 
+
+host_create_conn_send_features:
+6366 70005503 jam conn_sm_wait_features_res ,mem_conn_sm 
+6367 70007c27 jam lmp_features_req ,mem_lmo_opcode2 
+6368 20600000 rtn 
+
+host_create_conn_send_switch:
+6369 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+636a 79200003 set1 mark_switch_initiated ,mark 
+636b 70005505 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+636c 580001ff setarg 0x1ff 
+636d 600104d2 store 2 ,mem_soft_timer 
+636e 20600000 rtn 
+
+host_create_conn_send_conn_req:
+636f 70005505 jam conn_sm_wait_conn_accept ,mem_conn_sm 
+6370 7004d2ff jam 0xff ,mem_soft_timer 
+6371 793f8022 set0 mark_reconn_recieve_switch ,mark 
+6372 70007c33 jam lmp_host_connection_req ,mem_lmo_opcode2 
+6373 20205d04 branch init_lmp_reinit 
+
+host_create_conn_wait_accept:
+6374 c6110000 rtnmark1 mark_reconn_recieve_switch 
+6375 680104d2 fetch 2 ,mem_soft_timer 
+6376 1fe67e01 sub pdata ,1 ,pdata 
+6377 2022e37a branch host_create_conn_resend ,zero 
+6378 600104d2 store 2 ,mem_soft_timer 
+6379 20600000 rtn 
+
+host_create_conn_resend:
+637a 7000550e jam conn_sm_send_switch ,mem_conn_sm 
+637b 20600000 rtn 
+
+host_create_conn_waiting:
+637c 20600000 rtn 
+
+host_create_conn_switch:
+637d 680084d1 fetch 1 ,mem_lmp_conn_state 
+637e c4018000 rtnbit0 sent_setup_complete 
+637f c4010000 rtnbit0 received_setup_complete 
+6380 6800816d fetch 1 ,mem_connection_options 
+6381 793ffe02 set0 connection_switch ,pdata 
+6382 6000816d store 1 ,mem_connection_options 
+6383 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+6384 70005510 jam conn_sm_wait_switch_after_host_connection ,mem_conn_sm 
+6385 20600000 rtn 
+
+host_create_conn_send_setup_complete:
+6386 7000550d jam conn_sm_wait_setup_complete ,mem_conn_sm 
+6387 70007c31 jam lmp_setup_complete ,mem_lmo_opcode2 
+6388 20600000 rtn 
+
+host_create_conn_wait_setup_complete:
+6389 680084d1 fetch 1 ,mem_lmp_conn_state 
+638a c4010000 rtnbit0 received_setup_complete 
+638b 70005500 jam conn_sm_standby ,mem_conn_sm 
+638c 20600000 rtn 
+
+host_create_conn_wait_setup_complete_rtn:
+638d 70005506 jam conn_sm_auth_pair ,mem_conn_sm 
+638e 20600000 rtn 
+
+host_create_conn_master_detach:
+638f 680084d2 fetch 1 ,mem_soft_timer 
+6390 1fe0ffff increase -1 ,pdata 
+6391 203a6394 branch host_create_conn_send_detach ,blank 
+6392 600084d2 store 1 ,mem_soft_timer 
+6393 20600000 rtn 
+
+host_create_conn_send_detach:
+6394 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+6395 7004ca16 jam local_host ,mem_disconn_reason_send 
+6396 70005500 jam 0 ,mem_conn_sm 
+6397 20600000 rtn 
+
+host_create_conn_auth_pair:
+6398 6800816d fetch 1 ,mem_connection_options 
+6399 c281637d bbit1 connection_switch ,host_create_conn_switch 
+639a c280639d bbit1 connection_auth ,host_create_conn_auth_pair_true 
+
+host_create_conn_sm_done:
+639b 7000551a jam conn_sm_done ,mem_conn_sm 
+639c 20600000 rtn 
+
+host_create_conn_auth_pair_true:
+639d 6800c1bd fetch 1 ,mem_link_key_exists 
+639e 203a63a9 branch host_create_conn_auth_pair_nokey ,blank 
+639f 680084d1 fetch 1 ,mem_lmp_conn_state 
+63a0 c4018000 rtnbit0 sent_setup_complete 
+63a1 c4010000 rtnbit0 received_setup_complete 
+63a2 680204e9 fetch 4 ,mem_aurand_send_delay_time 
+63a3 d8400064 arg 100 ,temp 
+63a4 98408400 iadd temp ,temp 
+63a5 1c427e00 copy clkn_bt ,pdata 
+63a6 98467c00 isub temp ,null 
+63a7 24610000 nrtn positive 
+63a8 20206349 branch host_create_conn_auth 
+
+host_create_conn_auth_pair_nokey:
+63a9 70005516 jam conn_sm_pairing ,mem_conn_sm 
+63aa 70468904 jam 4 ,mem_pin_length 
+63ab 58003030 setarg 0x3030 
+63ac 6001468a store 2 ,mem_pin 
+63ad e0a10000 istore 2 ,contw 
+63ae 7004d402 jam pincode_state_pincode_ready ,mem_pincode_state 
+63af 20206350 branch host_create_conn_pairing 
+
+host_create_conn_auth_pair_wait:
+63b0 20600000 rtn 
+
+host_create_conn_encrypt:
+63b1 6800816d fetch 1 ,mem_connection_options 
+63b2 c280e3b5 bbit1 connection_encrypt ,host_create_conn_encrypt_start 
+63b3 7000551a jam conn_sm_done ,mem_conn_sm 
+63b4 20600000 rtn 
+
+host_create_conn_encrypt_start:
+63b5 6800816d fetch 1 ,mem_connection_options 
+63b6 793ffe01 set0 connection_encrypt ,pdata 
+63b7 6000816d store 1 ,mem_connection_options 
+63b8 70007c0f jam lmp_encryption_mode_req ,mem_lmo_opcode2 
+63b9 20600000 rtn 
+
+host_create_conn_encrypt_wait:
+63ba 680084d8 fetch 1 ,mem_wait_encryption 
+63bb 207a0000 rtn blank 
+63bc 70005500 jam conn_sm_standby ,mem_conn_sm 
+63bd 202063b5 branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+63be 7000550c jam conn_sm_send_setup_complete ,mem_conn_sm 
+63bf 20600000 rtn 
+
+host_auth:
+63c0 6800804b fetch 1 ,mem_op 
+63c1 c28163c5 bbit1 op_inrand_req ,remote_auth 
+63c2 204062ef call tid_initiate 
+63c3 70007c08 jam lmp_in_rand ,mem_lmo_opcode2 
+63c4 20204d04 branch cmd_exit 
+
+remote_auth:
+63c5 6800804b fetch 1 ,mem_op 
+63c6 793ffe02 set0 op_inrand_req ,pdata 
+63c7 6000804b store 1 ,mem_op 
+63c8 20406001 call lmp_accept_inrand 
+63c9 204062f8 call tid_set_reply 
+63ca 20204d04 branch cmd_exit 
+
+pincode_reinit:
+63cb 58000004 setarg 4 
+63cc 6000c689 store 1 ,mem_pin_length 
+63cd 58003030 setarg 0x3030 
+63ce e0a10000 istore 2 ,contw 
+63cf e0a10000 istore 2 ,contw 
+63d0 20600000 rtn 
+
+twspi_reset:
+63d1 47464031 bpatchx patch31_4 ,mem_patch31 
+63d2 68108073 hfetch 1 ,core_gpio_oe3 
+63d3 d8400006 arg 0x06 ,temp 
+63d4 9841fe00 ior temp ,pdata 
+63d5 60108073 hstore 1 ,core_gpio_oe3 
+63d6 68108077 hfetch 1 ,core_gpio_out3 
+63d7 9841fe00 ior temp ,pdata 
+63d8 60108077 hstore 1 ,core_gpio_out3 
+63d9 204063ee call twspi_disable 
+63da 68108077 hfetch 1 ,core_gpio_out3 
+63db 793ffe01 set0 1 ,pdata 
+63dc 793ffe02 set0 2 ,pdata 
+63dd 60108077 hstore 1 ,core_gpio_out3 
+63de 2000001e nop 30 
+63df 202063f2 branch twspi_enable 
+
+twspi_reset2:
+63e0 68108073 hfetch 1 ,core_gpio_oe3 
+63e1 d84000c0 arg 0xc0 ,temp 
+63e2 9841fe00 ior temp ,pdata 
+63e3 60108073 hstore 1 ,core_gpio_oe3 
+63e4 68108077 hfetch 1 ,core_gpio_out3 
+63e5 9841fe00 ior temp ,pdata 
+63e6 60108077 hstore 1 ,core_gpio_out3 
+63e7 204063ee call twspi_disable 
+63e8 68108077 hfetch 1 ,core_gpio_out3 
+63e9 793ffe06 set0 6 ,pdata 
+63ea 793ffe07 set0 7 ,pdata 
+63eb 60108077 hstore 1 ,core_gpio_out3 
+63ec 2000001e nop 30 
+63ed 202063f6 branch twspi_enable2 
+
+twspi_disable:
+63ee 68108081 hfetch 1 ,core_gpio_sel1 
+63ef 1fe17efc and pdata ,0xfc ,pdata 
+63f0 60108081 hstore 1 ,core_gpio_sel1 
+63f1 20600000 rtn 
+
+twspi_enable:
+63f2 68108081 hfetch 1 ,core_gpio_sel1 
+63f3 1fe1fe01 or pdata ,0x01 ,pdata 
+63f4 60108081 hstore 1 ,core_gpio_sel1 
+63f5 20600000 rtn 
+
+twspi_enable2:
+63f6 68108081 hfetch 1 ,core_gpio_sel1 
+63f7 1fe1fe03 or pdata ,0x03 ,pdata 
+63f8 793ffe04 set0 4 ,pdata 
+63f9 60108081 hstore 1 ,core_gpio_sel1 
+63fa 20600000 rtn 
+
+sensor_read:
+63fb 1fe22400 copy pdata ,regb 
+63fc 2040640f call spi_ncs_enable 
+63fd 20000064 nop 100 
+63fe 1a427e00 copy regb ,pdata 
+63ff 20406414 call twspi_read 
+6400 1fe22400 copy pdata ,regb 
+6401 20406411 call spi_ncs_disable 
+6402 20000064 nop 100 
+6403 1a427e00 copy regb ,pdata 
+6404 20600000 rtn 
+
+sensor_write:
+6405 1fe22400 copy pdata ,regb 
+6406 2040640f call spi_ncs_enable 
+6407 20000064 nop 100 
+6408 1a427e00 copy regb ,pdata 
+6409 20406413 call twspi_write 
+640a 20406411 call spi_ncs_disable 
+640b 20000064 nop 100 
+640c 20600000 rtn 
+
+spi_ncs_gpio_init:
+640d 6808c214 fetcht 1 ,mem_spi_ncs_gpio 
+640e 2020680e branch gpio_config_output 
+
+spi_ncs_enable:
+640f 6808c214 fetcht 1 ,mem_spi_ncs_gpio 
+6410 20206829 branch gpio_out_active 
+
+spi_ncs_disable:
+6411 6808c214 fetcht 1 ,mem_spi_ncs_gpio 
+6412 20206825 branch gpio_out_inactive 
+
+twspi_write:
+6413 202064ec branch spid_write_reg 
+
+twspi_read:
+6414 202064f3 branch spid_read_reg 
+
+read_function_aes:
+6415 24346419 nbranch read_function ,user 
+6416 68108085 hfetch 1 ,core_gpio_key2 
+6417 1fe1fe02 or_into 0x2 ,pdata 
+6418 60108085 hstore 1 ,core_gpio_key2 
+
+read_function:
+6419 18427c00 copy temp ,null 
+641a 2022e41c branch read_fuction_zero ,zero 
+641b 1a627a00 copy regc ,pc 
+
+read_fuction_zero:
+641c 2fcc0000 isolate0 0 ,null 
+641d 202064b9 branch set_ucode_status 
+
+get_block_header:
+641e 18000404 force 4 ,temp 
+
+get_block_header0:
+641f da2001fe arg mem_ucode_buf ,rega 
+6420 68108085 hfetch 1 ,core_gpio_key2 
+6421 1fe17efd and_into 0xfd ,pdata 
+6422 60108085 hstore 1 ,core_gpio_key2 
+6423 20406419 call read_function 
+6424 da2055aa arg 0x55aa ,rega 
+6425 680101fe fetch 2 ,mem_ucode_buf 
+6426 e8c90000 ifetcht 2 ,contr 
+6427 9a267c00 isub rega ,null 
+6428 20600000 rtn 
+
+read_first_block:
+6429 d8400002 arg 2 ,temp 
+642a da200204 arg mem_ucode_ptr ,rega 
+642b 20406419 call read_function 
+642c 68010204 fetch 2 ,mem_ucode_ptr 
+642d 600101f7 store 2 ,mem_addr_mi 
+642e 20546430 call get_iv ,user 
+642f 20600000 rtn 
+
+get_iv:
+6430 d8400010 arg 16 ,temp 
+6431 da200206 arg mem_ucode_keybuf ,rega 
+6432 68108085 hfetch 1 ,core_gpio_key2 
+6433 1fe17efd and_into 0xfd ,pdata 
+6434 60108085 hstore 1 ,core_gpio_key2 
+6435 20406419 call read_function 
+6436 d8c00206 arg mem_ucode_keybuf ,contr 
+6437 df200010 arg 16 ,loopcnt 
+6438 20407478 call aes_load_data 
+6439 20407428 call aes_init 
+643a 20407491 call aes_clear_data 
+643b 20207422 branch do_aes_cbc 
+
+load_storage:
+643c 7856fc00 disable match 
+643d 2040641e call get_block_header 
+643e 24628000 nrtn zero 
+643f 7836fc00 enable match 
+6440 70802380 jam 0x80 ,core_ucode_ctrl 
+6441 70802200 jam 0 ,core_ucode_hi 
+6442 70802400 jam 0 ,core_ucode_low 
+6443 da208025 arg core_ucode_data ,rega 
+6444 20406415 call read_function_aes 
+6445 70802300 jam 0x0 ,core_ucode_ctrl 
+
+load_storage_loop:
+6446 d8400006 arg 6 ,temp 
+6447 2040641f call get_block_header0 
+6448 24628000 nrtn zero 
+6449 e8c10000 ifetch 2 ,contr 
+644a 98002200 iforce rega 
+644b 20406419 call read_function 
+644c 20206446 branch load_storage_loop 
+
+reload_eeprom:
+644d 20407f99 call clean_mem 
+644e 58001000 setarg 0x1000 
+644f 600101f7 store 2 ,mem_addr_mi 
+6450 da6065e5 arg iicd_read_eep ,regc 
+6451 df200002 arg 2 ,loopcnt 
+
+reload_eeprom_loop:
+6452 2040641e call get_block_header 
+6453 24628000 nrtn zero 
+6454 680101f7 fetch 2 ,mem_addr_mi 
+6455 1ff0fe00 byteswap pdata ,pdata 
+6456 9840fe00 iadd temp ,pdata 
+6457 1ff0fe00 byteswap pdata ,pdata 
+6458 600101f7 store 2 ,mem_addr_mi 
+6459 c2006452 loop reload_eeprom_loop 
+645a 20206446 branch load_storage_loop 
+
+loadcode:
+645b 20407f99 call clean_mem 
+645c 78547c00 disable user 
+645d 2040666a call otp_enable_chgpump 
+645e 58000000 setarg otp_ucode_flag 
+645f da2001f3 arg mem_otp_ucode_flag ,rega 
+6460 d8400002 arg 2 ,temp 
+6461 204066b3 call otpd_read_data 
+6462 680101f3 fetch 2 ,mem_otp_ucode_flag 
+6463 c303e46e bbit0 otp_uflag_aes ,loadcode_otp 
+6464 70805025 jam 0x25 ,core_clkoff 
+6465 580007f0 setarg otp_ucode_aeskey 
+6466 da200206 arg mem_ucode_keybuf ,rega 
+6467 d8400010 arg 16 ,temp 
+6468 204066b3 call otpd_read_data 
+6469 70800608 jam lock_otp ,core_misc_ctrl 
+646a 7920002b set1 mark_otp_encrypt ,mark 
+646b d8c00206 arg mem_ucode_keybuf ,contr 
+646c 20407484 call load_key 
+646d 78347c00 enable user 
+
+loadcode_otp:
+646e 7041da00 jam 0 ,mem_loadcode_times 
+
+loadcode_otp_2:
+646f 204064b0 call loadcode_check_times 
+6470 680101f3 fetch 2 ,mem_otp_ucode_flag 
+6471 1ff0fe00 byteswap pdata ,pdata 
+6472 d84007ff arg 0x7ff ,temp 
+6473 98417e00 iand temp ,pdata 
+6474 2022e47b branch loadcode_iic ,zero 
+6475 2040666f call otp_set_addr 
+6476 da6066b8 arg otpd_read_code ,regc 
+6477 20546430 call get_iv ,user 
+6478 2040643c call load_storage 
+6479 680081f2 fetch 1 ,mem_ucode_status 
+647a c300646f bbit0 0 ,loadcode_otp_2 
+
+loadcode_iic:
+647b 2040666d call otp_disable_chgpump 
+647c 7041da00 jam 0 ,mem_loadcode_times 
+
+loadcode_iic_2:
+647d 204064b0 call loadcode_check_times 
+647e 204065c2 call clear_eeprom_size_2k 
+647f 680081f3 fetch 1 ,mem_otp_ucode_flag 
+6480 c283648e bbit1 otp_uflag_skip_eep ,loadcode_spi 
+6481 204064aa call loadcode_iic_by_eeprom 
+6482 2436e486 nbranch loadcode_iic_eeprom_2k ,match 
+6483 680081f2 fetch 1 ,mem_ucode_status 
+6484 c300647d bbit0 0 ,loadcode_iic_2 
+6485 2020649b branch loadcode_hci 
+
+loadcode_iic_eeprom_2k:
+6486 204065bf call set_eeprom_size_2k 
+6487 680081f3 fetch 1 ,mem_otp_ucode_flag 
+6488 c283648e bbit1 otp_uflag_skip_eep ,loadcode_spi 
+6489 204064aa call loadcode_iic_by_eeprom 
+648a 2436e48e nbranch loadcode_spi ,match 
+648b 680081f2 fetch 1 ,mem_ucode_status 
+648c c300647d bbit0 0 ,loadcode_iic_2 
+648d 2020649b branch loadcode_hci 
+
+loadcode_spi:
+648e 7041da00 jam 0 ,mem_loadcode_times 
+
+loadcode_spi_2:
+648f 204064b0 call loadcode_check_times 
+6490 680081f3 fetch 1 ,mem_otp_ucode_flag 
+6491 c282e49b bbit1 otp_uflag_skip_flash ,loadcode_hci 
+6492 58000000 setarg 0x0 
+6493 600181f6 store 3 ,mem_addr_hi 
+6494 20406502 call spid_init_flash 
+6495 da606578 arg spid_load_flash ,regc 
+6496 20406429 call read_first_block 
+6497 2040643c call load_storage 
+6498 2436e49b nbranch loadcode_hci ,match 
+6499 680081f2 fetch 1 ,mem_ucode_status 
+649a c300648f bbit0 0 ,loadcode_spi_2 
+
+loadcode_hci:
+649b c515e49d bmark1 mark_otp_encrypt ,loadcode_hci_enc 
+649c 204064a3 call clear_key_buf 
+
+loadcode_hci_enc:
+649d 680081f3 fetch 1 ,mem_otp_ucode_flag 
+649e c30264a3 bbit0 otp_uflag_hci ,clear_key_buf 
+649f 70805021 jam 0x21 ,core_clkoff 
+64a0 20404c0e call hci_init 
+
+loadcode_hci_loop:
+64a1 20404c2e call hci_rx_packet 
+64a2 202064a1 branch loadcode_hci_loop 
+
+clear_key_buf:
+64a3 58000000 setarg 0 
+64a4 60040206 store 8 ,mem_ucode_keybuf 
+64a5 6004020e store 8 ,mem_ucode_keybuf + 8 
+64a6 18007004 force regidx_key ,regext_index 
+64a7 20407492 call aes_clear 
+64a8 70805021 jam 0x21 ,core_clkoff 
+64a9 20600000 rtn 
+
+loadcode_iic_by_eeprom:
+64aa 58000000 setarg 0x0 
+64ab 600101f7 store 2 ,mem_addr_mi 
+64ac da6065e5 arg iicd_read_eep ,regc 
+64ad 204065a3 call iicd_init_12m 
+64ae 20406429 call read_first_block 
+64af 2020643c branch load_storage 
+
+loadcode_check_times:
+64b0 6800c1da fetch 1 ,mem_loadcode_times 
+64b1 1fe0fe01 increase 1 ,pdata 
+64b2 1fe67c03 sub pdata ,3 ,null 
+64b3 242164b6 nbranch loadcode_error ,positive 
+64b4 6000c1da store 1 ,mem_loadcode_times 
+64b5 20600000 rtn 
+
+loadcode_error:
+64b6 204064a3 call clear_key_buf 
+64b7 20407fa1 call ice_break 
+64b8 20600000 rtn 
+
+set_ucode_status:
+64b9 680081f2 fetch 1 ,mem_ucode_status 
+64ba 1fe3fe00 lshift pdata ,pdata 
+64bb 7920fe00 setflag true ,0 ,pdata 
+64bc 2a2c000f isolate0 15 ,rega 
+64bd 20608000 rtn true 
+64be 600081f2 store 1 ,mem_ucode_status 
+64bf 20600000 rtn 
+
+decrypt_code:
+64c0 68108085 hfetch 1 ,core_gpio_key2 
+64c1 c4008000 rtnbit0 1 
+64c2 202064c6 branch decrypt_code_skip 
+
+decrypt_code_loop:
+64c3 6810812c hfetch 1 ,core_dma_status 
+64c4 afefffff qisolate1 pdata 
+64c5 20608000 rtn true 
+
+decrypt_code_skip:
+64c6 68108108 hfetch 1 ,core_misc_status 
+64c7 c300e4c3 bbit0 1 ,decrypt_code_loop 
+64c8 20407422 call do_aes_cbc 
+64c9 202064c3 branch decrypt_code_loop 
+
+load_ucode:
+64ca 68014199 fetch 2 ,mem_patch_ptr 
+64cb 207a0000 rtn blank 
+64cc 70802380 jam 0x80 ,core_ucode_ctrl 
+64cd 70802200 jam 0 ,core_ucode_hi 
+64ce 70802400 jam 0 ,core_ucode_low 
+64cf 6809419b fetcht 2 ,mem_patch_len 
+64d0 184bf200 lshift2 temp ,loopcnt 
+64d1 98000c00 iforce contr 
+
+load_ucode_loop:
+64d2 e8c08000 ifetch 1 ,contr 
+64d3 60108025 hstore 1 ,core_ucode_data 
+64d4 c20064d2 loop load_ucode_loop 
+64d5 70802300 jam 0x0 ,core_ucode_ctrl 
+64d6 20600000 rtn 
+
+spid_init:
+64d7 4746c031 bpatchx patch31_5 ,mem_patch31 
+64d8 204064dd call spid_init_common 
+64d9 202063f2 branch twspi_enable 
+
+spid_init2:
+64da 204064dd call spid_init_common 
+64db 204063ee call twspi_disable 
+64dc 202063f6 branch twspi_enable2 
+
+spid_init_common:
+64dd 6800c212 fetch 1 ,mem_spi_init_clk 
+64de 60108086 hstore 1 ,core_spid_ctrl 
+64df 6800c213 fetch 1 ,mem_spi_init_delay_time 
+64e0 60108087 hstore 1 ,core_spid_delay 
+64e1 580001f5 setarg mem_spid_tbuf 
+64e2 6011008a hstore 2 ,core_spid_txaddr 
+64e3 580001fa setarg mem_spid_rbuf 
+64e4 6011008c hstore 2 ,core_spid_rxaddr 
+64e5 202063ee branch twspi_disable 
+
+spid_reset:
+64e6 68108086 hfetch 1 ,core_spid_ctrl 
+64e7 79207e07 set1 7 ,pdata 
+64e8 60108086 hstore 1 ,core_spid_ctrl 
+64e9 793ffe07 set0 7 ,pdata 
+64ea 60108086 hstore 1 ,core_spid_ctrl 
+64eb 20600000 rtn 
+
+spid_write_reg:
+64ec 79207e07 set1 7 ,pdata 
+64ed 600101f5 store 2 ,mem_spid_tbuf 
+64ee 47474031 bpatchx patch31_6 ,mem_patch31 
+64ef 70808802 jam 2 ,core_spid_txlen 
+64f0 70808e00 jam 0 ,core_spid_rxlen 
+64f1 70800602 jam spid_start ,core_misc_ctrl 
+64f2 202064fc branch wait_spid_done 
+
+spid_read_reg:
+64f3 18000401 force 1 ,temp 
+
+spid_read_regs:
+64f4 600081f5 store 1 ,mem_spid_tbuf 
+64f5 4747c031 bpatchx patch31_7 ,mem_patch31 
+64f6 70808801 jam 1 ,core_spid_txlen 
+64f7 6019008e hstoret 2 ,core_spid_rxlen 
+64f8 70800602 jam spid_start ,core_misc_ctrl 
+64f9 204064fc call wait_spid_done 
+64fa 680081fa fetch 1 ,mem_spid_rbuf 
+64fb 20600000 rtn 
+
+wait_spid_done:
+64fc 680140d6 fetch 2 ,mem_afh_error_total 
+64fd 1fe0fe01 increase 1 ,pdata 
+64fe 600140d6 store 2 ,mem_afh_error_total 
+64ff 6810812c hfetch 1 ,core_dma_status 
+6500 c301e4fc bbit0 spid_done ,wait_spid_done 
+6501 20600000 rtn 
+
+spid_init_flash:
+6502 70808640 jam 0x40 ,core_spid_ctrl 
+6503 70808700 jam 0x0 ,core_spid_delay 
+6504 68108081 hfetch 1 ,core_gpio_sel1 
+6505 793ffe00 set0 0 ,pdata 
+6506 79207e01 set1 1 ,pdata 
+6507 60108081 hstore 1 ,core_gpio_sel1 
+6508 58000000 setarg 0 
+6509 600201f5 store 4 ,mem_spid_tbuf 
+650a 20600000 rtn 
+
+spid_unlock_flash:
+650b 58000000 setarg 0 
+650c 6011008e hstore 2 ,core_spid_rxlen 
+650d 58000001 setarg 1 
+650e 60110088 hstore 2 ,core_spid_txlen 
+650f 580001f5 setarg mem_spid_tbuf 
+6510 6011008a hstore 2 ,core_spid_txaddr 
+6511 7001f506 jam 6 ,mem_spid_tbuf 
+6512 70800602 jam spid_start ,core_misc_ctrl 
+6513 202064fc branch wait_spid_done 
+
+flash_write:
+6514 78547c00 disable user 
+6515 1fe22400 copy pdata ,regb 
+6516 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+6517 c1800000 rtnne flash_sm_no_buys 
+6518 78347c00 enable user 
+6519 1a427e00 copy regb ,pdata 
+651a 20206522 branch flash_write_start 
+
+flash_write_spi_sm_timer:
+651b 6800c239 fetch 1 ,mem_spi_write_flash_sm 
+651c c000e522 beq flash_sm_start ,flash_write_start 
+651d c0016528 beq flash_sm_erase_sector ,flash_erase_sector 
+651e c001e530 beq flash_sm_wait_erase_sector ,flash_wait_erase_sector 
+651f c0026537 beq flash_sm_write_data ,flash_write_data 
+6520 c002e53d beq flash_sm_wait_write_data ,flash_wait_write_data 
+6521 20600000 rtn 
+
+flash_write_start:
+6522 6001c232 store 3 ,mem_spi_write_addr 
+6523 1a227e00 copy rega ,pdata 
+6524 60014235 store 2 ,mem_spi_write_ptr 
+6525 60094237 storet 2 ,mem_spi_write_len 
+6526 70423902 jam flash_sm_erase_sector ,mem_spi_write_flash_sm 
+6527 20206502 branch spid_init_flash 
+
+flash_erase_sector:
+6528 20406502 call spid_init_flash 
+6529 70423903 jam flash_sm_wait_erase_sector ,mem_spi_write_flash_sm 
+652a 2040650b call spid_unlock_flash 
+652b da2001f5 arg mem_spid_tbuf ,rega 
+652c 6801c232 fetch 3 ,mem_spi_write_addr 
+652d 70808804 jam 4 ,core_spid_txlen 
+652e d8400020 arg flash_command_sector_erase ,temp 
+652f 20206556 branch spid_write_flash_common 
+
+flash_wait_erase_sector:
+6530 20406502 call spid_init_flash 
+6531 2040650b call spid_unlock_flash 
+6532 58000005 setarg flash_read_satus 
+6533 204064f3 call spid_read_reg 
+6534 c3800000 rtnbit1 flash_status_wip 
+6535 70423904 jam flash_sm_write_data ,mem_spi_write_flash_sm 
+6536 20600000 rtn 
+
+flash_write_data:
+6537 20406502 call spid_init_flash 
+6538 70423905 jam flash_sm_wait_write_data ,mem_spi_write_flash_sm 
+6539 2040650b call spid_unlock_flash 
+653a 2040654a call flash_data_preserve 
+653b 20406552 call spid_write_flash 
+653c 20206545 branch flash_data_recover 
+
+flash_wait_write_data:
+653d 20406502 call spid_init_flash 
+653e 2040650b call spid_unlock_flash 
+653f 58000005 setarg flash_read_satus 
+6540 204064f3 call spid_read_reg 
+6541 c3800000 rtnbit1 flash_status_wip 
+6542 70423900 jam flash_sm_no_buys ,mem_spi_write_flash_sm 
+6543 68014201 fetch 2 ,mem_cb_spi_flash_write_complate 
+6544 20207f9c branch callback_func 
+
+flash_data_recover:
+6545 68020aa2 fetch 4 ,mem_temp 
+6546 68094235 fetcht 2 ,mem_spi_write_ptr 
+6547 184085fc increase -4 ,temp 
+6548 e0420000 istore 4 ,temp 
+6549 20600000 rtn 
+
+flash_data_preserve:
+654a 68094235 fetcht 2 ,mem_spi_write_ptr 
+654b 18422200 copy temp ,rega 
+654c 184085fc increase -4 ,temp 
+654d e8420000 ifetch 4 ,temp 
+654e 60020aa2 store 4 ,mem_temp 
+654f 68094237 fetcht 2 ,mem_spi_write_len 
+6550 6801c232 fetch 3 ,mem_spi_write_addr 
+6551 20600000 rtn 
+
+spid_write_flash:
+6552 18408404 increase 4 ,temp 
+6553 60190088 hstoret 2 ,core_spid_txlen 
+6554 d8400002 arg flash_command_write_data ,temp 
+6555 1a20a3fc increase -4 ,rega 
+
+spid_write_flash_common:
+6556 e2288000 istoret 1 ,rega 
+6557 1ff10400 rshift16 pdata ,temp 
+6558 e0a88000 istoret 1 ,contw 
+6559 1fec8400 rshift8 pdata ,temp 
+655a e0a88000 istoret 1 ,contw 
+655b e0a08000 istore 1 ,contw 
+655c 1a227e00 deposit rega 
+655d 6011008a hstore 2 ,core_spid_txaddr 
+655e 58000000 setarg 0 
+655f 6011008e hstore 2 ,core_spid_rxlen 
+6560 70800602 jam spid_start ,core_misc_ctrl 
+6561 202064fc branch wait_spid_done 
+
+spid_read_flash:
+6562 6019008e hstoret 2 ,core_spid_rxlen 
+6563 1ff10400 rshift16 pdata ,temp 
+6564 600881f6 storet 1 ,mem_addr_hi 
+6565 1fec8400 rshift8 pdata ,temp 
+6566 600881f7 storet 1 ,mem_addr_mi 
+6567 600081f8 store 1 ,mem_addr_lo 
+6568 58000004 setarg 4 
+6569 60110088 hstore 2 ,core_spid_txlen 
+656a 7001f503 jam flash_command_read_data ,mem_spid_tbuf 
+656b 580001f5 setarg mem_spid_tbuf 
+656c 6011008a hstore 2 ,core_spid_txaddr 
+656d 1a227e00 deposit rega 
+656e 6011008c hstore 2 ,core_spid_rxaddr 
+656f 68108086 hfetch 1 ,core_spid_ctrl 
+6570 2a2c000f isolate0 15 ,rega 
+6571 7920fe06 setflag true ,6 ,pdata 
+6572 60108086 hstore 1 ,core_spid_ctrl 
+6573 70800602 jam spid_start ,core_misc_ctrl 
+
+spi_read_flash_wait:
+6574 6810812c hfetch 1 ,core_dma_status 
+6575 c283e574 bbit1 7 ,spi_read_flash_wait 
+6576 d8e00003 arg spid_done ,queue 
+6577 202064fc branch wait_spid_done 
+
+spid_load_flash:
+6578 6019008e hstoret 2 ,core_spid_rxlen 
+6579 58000004 setarg 4 
+657a 60110088 hstore 2 ,core_spid_txlen 
+657b 7001f503 jam 3 ,mem_spid_tbuf 
+657c 580001f5 setarg mem_spid_tbuf 
+657d 6011008a hstore 2 ,core_spid_txaddr 
+657e 1a227e00 deposit rega 
+657f 6011008c hstore 2 ,core_spid_rxaddr 
+6580 68108086 hfetch 1 ,core_spid_ctrl 
+6581 2a2c000f isolate0 15 ,rega 
+6582 7920fe06 setflag true ,6 ,pdata 
+6583 60108086 hstore 1 ,core_spid_ctrl 
+6584 70800602 jam spid_start ,core_misc_ctrl 
+
+spi_load_flash_wait:
+6585 6810812c hfetch 1 ,core_dma_status 
+6586 c283e585 bbit1 7 ,spi_load_flash_wait 
+6587 d8e00003 arg spid_done ,queue 
+6588 204064c0 call decrypt_code 
+6589 204064fc call wait_spid_done 
+658a 2feffe02 isolate1 spid_crcok ,pdata 
+658b 204064b9 call set_ucode_status 
+658c 680081f6 fetch 1 ,mem_addr_hi 
+658d 1ff02400 lshift16 pdata ,regb 
+658e 680081f7 fetch 1 ,mem_addr_mi 
+658f 1fed7e00 lshift8 pdata ,pdata 
+6590 9a41a400 ior regb ,regb 
+6591 680081f8 fetch 1 ,mem_addr_lo 
+6592 9a41fe00 ior regb ,pdata 
+6593 9840fe00 iadd temp ,pdata 
+6594 600081f8 store 1 ,mem_addr_lo 
+6595 1fecfe00 rshift8 pdata ,pdata 
+6596 600081f7 store 1 ,mem_addr_mi 
+6597 1fecfe00 rshift8 pdata ,pdata 
+6598 600081f6 store 1 ,mem_addr_hi 
+6599 20600000 rtn 
+
+soft_reset_chip:
+659a 70801001 jam 1 ,core_reset 
+659b 20600000 rtn 
+
+iic_init_390k:
+659c 7080910c jam 12 ,core_iicd_scl_low 
+659d 7080920d jam 13 ,core_iicd_scl_high 
+659e 7080930d jam 13 ,core_iicd_start_setup 
+659f 7080940d jam 13 ,core_iicd_start_hold 
+65a0 7080950d jam 13 ,core_iicd_stop_setup 
+65a1 7080960c jam 12 ,core_iicd_data_setup 
+65a2 202065a9 branch iicd_init_gpio 
+
+iicd_init_12m:
+65a3 70809105 jam 5 ,core_iicd_scl_low 
+65a4 70809207 jam 7 ,core_iicd_scl_high 
+65a5 70809307 jam 7 ,core_iicd_start_setup 
+65a6 70809407 jam 7 ,core_iicd_start_hold 
+65a7 70809507 jam 7 ,core_iicd_stop_setup 
+65a8 70809605 jam 5 ,core_iicd_data_setup 
+
+iicd_init_gpio:
+65a9 6810807b hfetch 1 ,core_gpio_pu3 
+65aa 1fe1fec0 or_into 0xc0 ,pdata 
+65ab 6010807b hstore 1 ,core_gpio_pu3 
+65ac 68108081 hfetch 1 ,core_gpio_sel1 
+65ad 1fe1fe10 or_into 0x10 ,pdata 
+65ae 60108081 hstore 1 ,core_gpio_sel1 
+65af 20600000 rtn 
+
+wait_iicd_done:
+65b0 6810812c hfetch 1 ,core_dma_status 
+65b1 c302e5b0 bbit0 iicd_done ,wait_iicd_done 
+65b2 20600000 rtn 
+
+iicd_read_data:
+65b3 60110098 hstore 2 ,core_iicd_txlen 
+65b4 1a227e00 deposit rega 
+65b5 6011009a hstore 2 ,core_iicd_txaddr 
+65b6 1a427e00 deposit regb 
+65b7 6011009c hstore 2 ,core_iicd_rxaddr 
+65b8 18427e00 deposit temp 
+65b9 6011009e hstore 2 ,core_iicd_rxlen 
+65ba d8400001 arg 1 ,temp 
+65bb 7d3a0401 nsetflag blank ,1 ,temp 
+65bc 60108090 hstore 1 ,core_iicd_ctrl 
+65bd 70800604 jam iicd_start ,core_misc_ctrl 
+65be 202065b0 branch wait_iicd_done 
+
+set_eeprom_size_2k:
+65bf 79200028 set1 mark_eeprom_size ,mark 
+65c0 70421108 jam 0x08 ,mem_eeprom_block_size 
+65c1 20600000 rtn 
+
+clear_eeprom_size_2k:
+65c2 793f8028 set0 mark_eeprom_size ,mark 
+65c3 70421120 jam 0x20 ,mem_eeprom_block_size 
+65c4 20600000 rtn 
+
+iicd_read_eep_data_size_2k:
+65c5 6800c203 fetch 1 ,mem_eeprom_base 
+65c6 9a40fe00 iadd regb ,pdata 
+65c7 600081f7 store 1 ,mem_addr_mi 
+65c8 202065cc branch iicd_read_eep_size_2k 
+
+iicd_read_eep_size_2k_lcadcode:
+65c9 680101f7 fetch 2 ,mem_addr_mi 
+65ca 1ff0fe00 byteswap pdata ,pdata 
+65cb 600081f7 store 1 ,mem_addr_mi 
+
+iicd_read_eep_size_2k:
+65cc 58000003 setarg 3 
+65cd 60110098 hstore 2 ,core_iicd_txlen 
+65ce 7001f6a0 jam 0xa0 ,mem_iicd_tbuf 
+65cf 7001f8a1 jam 0xa1 ,mem_iicd_tbuf + 2 
+65d0 202065eb branch iicd_read_eep_common 
+
+iicd_write_protect_eep_data:
+65d1 60090aa2 storet 2 ,mem_temp 
+65d2 204065d6 call iicd_eeprom_write_enable 
+65d3 68090aa2 fetcht 2 ,mem_temp 
+65d4 20406606 call iicd_write_eep_data 
+65d5 202065dd branch iicd_eeprom_write_disable 
+
+iicd_eeprom_write_enable:
+65d6 6800c23a fetch 1 ,mem_eeprom_wp_gpio 
+65d7 c17f8000 rtneq gpio_disable 
+65d8 c30365db bbit0 6 ,iicd_wp_gpio_output_low 
+65d9 580249f0 setarg 150000 
+65da 20402a8f call sleep 
+
+iicd_wp_gpio_output_low:
+65db 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+65dc 20206829 branch gpio_out_active 
+
+iicd_eeprom_write_disable:
+65dd 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
+65de 20206825 branch gpio_out_inactive 
+
+iicd_read_eep_data:
+65df 47484032 bpatchx patch32_0 ,mem_patch32 
+65e0 c51465c5 bmark1 mark_eeprom_size ,iicd_read_eep_data_size_2k 
+65e1 68014203 fetch 2 ,mem_eeprom_base 
+65e2 9a40fe00 iadd regb ,pdata 
+65e3 1ff0fe00 byteswap pdata ,pdata 
+65e4 600101f7 store 2 ,mem_addr_mi 
+
+iicd_read_eep:
+65e5 4748c032 bpatchx patch32_1 ,mem_patch32 
+65e6 c51465c9 bmark1 mark_eeprom_size ,iicd_read_eep_size_2k_lcadcode 
+65e7 58000004 setarg 4 
+65e8 60110098 hstore 2 ,core_iicd_txlen 
+65e9 7001f6a0 jam 0xa0 ,mem_iicd_tbuf 
+65ea 7001f9a1 jam 0xa1 ,mem_iicd_tbuf + 3 
+
+iicd_read_eep_common:
+65eb 580001f6 setarg mem_iicd_tbuf 
+65ec 6011009a hstore 2 ,core_iicd_txaddr 
+65ed 6019009e hstoret 2 ,core_iicd_rxlen 
+65ee 1a227e00 deposit rega 
+65ef 6011009c hstore 2 ,core_iicd_rxaddr 
+65f0 58000002 setarg 2 
+65f1 2a2c000f isolate0 15 ,rega 
+65f2 7920fe00 setflag true ,0 ,pdata 
+65f3 60108090 hstore 1 ,core_iicd_ctrl 
+65f4 70800604 jam iicd_start ,core_misc_ctrl 
+65f5 d8e00005 arg iicd_done ,queue 
+65f6 204064c0 call decrypt_code 
+65f7 204065b0 call wait_iicd_done 
+65f8 2feffe04 isolate1 iicd_crcok ,pdata 
+65f9 204064b9 call set_ucode_status 
+65fa c5146601 bmark1 mark_eeprom_size ,iicd_read_eep_load_code_size_2k 
+65fb 680101f7 fetch 2 ,mem_addr_mi 
+65fc 1ff0fe00 byteswap pdata ,pdata 
+65fd 9840fe00 iadd temp ,pdata 
+65fe 1ff0fe00 byteswap pdata ,pdata 
+65ff 600101f7 store 2 ,mem_addr_mi 
+6600 20600000 rtn 
+
+iicd_read_eep_load_code_size_2k:
+6601 680081f7 fetch 1 ,mem_addr_mi 
+6602 9840fe00 iadd temp ,pdata 
+6603 1ff0fe00 byteswap pdata ,pdata 
+6604 600101f7 store 2 ,mem_addr_mi 
+6605 20600000 rtn 
+
+iicd_write_eep_data:
+6606 68014203 fetch 2 ,mem_eeprom_base 
+6607 9a40fe00 iadd regb ,pdata 
+
+iicd_write_ota_data:
+6608 60010a9a store 2 ,mem_pdatatemp 
+6609 47494032 bpatchx patch32_2 ,mem_patch32 
+660a 60090aa2 storet 2 ,mem_temp 
+660b 1a227e00 copy rega ,pdata 
+660c 60010ab9 store 2 ,mem_contr 
+
+iicd_write_eep_loop:
+660d 2040661d call iicd_eep_transparency 
+660e 68090ab2 fetcht 2 ,mem_regb 
+660f 68010ab9 fetch 2 ,mem_contr 
+6610 1fe22200 copy pdata ,rega 
+6611 68010a9a fetch 2 ,mem_pdatatemp 
+6612 2040663d call iicd_write_eep 
+6613 68010ab2 fetch 2 ,mem_regb 
+6614 68090ab9 fetcht 2 ,mem_contr 
+6615 98408400 iadd temp ,temp 
+6616 60090ab9 storet 2 ,mem_contr 
+6617 68090a9a fetcht 2 ,mem_pdatatemp 
+6618 98408400 iadd temp ,temp 
+6619 60090a9a storet 2 ,mem_pdatatemp 
+661a 68010aa2 fetch 2 ,mem_temp 
+661b 243a660d nbranch iicd_write_eep_loop ,blank 
+661c 20600000 rtn 
+
+iicd_eep_transparency:
+661d 4749c032 bpatchx patch32_3 ,mem_patch32 
+661e 6800c211 fetch 1 ,mem_eeprom_block_size 
+661f 1fe0ffff increase -1 ,pdata 
+6620 68090a9a fetcht 2 ,mem_pdatatemp 
+6621 9841fe00 ior temp ,pdata 
+6622 1fe0fe01 increase 1 ,pdata 
+6623 60018ab6 store 3 ,mem_regc 
+6624 68010aa2 fetch 2 ,mem_temp 
+6625 9840fe00 iadd temp ,pdata 
+6626 68098ab6 fetcht 3 ,mem_regc 
+6627 98467e00 isub temp ,pdata 
+6628 2421662f nbranch iicd_eep_deal_short_packet ,positive 
+6629 60010aa2 store 2 ,mem_temp 
+662a 68018ab6 fetch 3 ,mem_regc 
+662b 68090a9a fetcht 2 ,mem_pdatatemp 
+662c 98467e00 isub temp ,pdata 
+662d 60010ab2 store 2 ,mem_regb 
+662e 20600000 rtn 
+
+iicd_eep_deal_short_packet:
+662f 68010aa2 fetch 2 ,mem_temp 
+6630 60010ab2 store 2 ,mem_regb 
+6631 58000000 setarg 0 
+6632 60010aa2 store 2 ,mem_temp 
+6633 20600000 rtn 
+
+iicd_write_eep_size_2k:
+6634 18408402 increase 2 ,temp 
+6635 60190098 hstoret 2 ,core_iicd_txlen 
+6636 1a20a3fe increase -2 ,rega 
+6637 ea298000 ifetcht 3 ,rega 
+6638 18422400 copy temp ,regb 
+6639 d84000a0 arg 0xa0 ,temp 
+663a e2288000 istoret 1 ,rega 
+663b e0a08000 istore 1 ,contw 
+663c 2020664a branch iicd_write_eep_common 
+
+iicd_write_eep:
+663d 1fe22400 copy pdata ,regb 
+663e 474a4032 bpatchx patch32_4 ,mem_patch32 
+663f c5146634 bmark1 mark_eeprom_size ,iicd_write_eep_size_2k 
+6640 1a427e00 copy regb ,pdata 
+6641 18408403 increase 3 ,temp 
+6642 60190098 hstoret 2 ,core_iicd_txlen 
+6643 1a20a3fd increase -3 ,rega 
+6644 ea298000 ifetcht 3 ,rega 
+6645 18422400 copy temp ,regb 
+6646 d84000a0 arg 0xa0 ,temp 
+6647 e2288000 istoret 1 ,rega 
+6648 1ff0fe00 byteswap pdata ,pdata 
+6649 e0a10000 istore 2 ,contw 
+
+iicd_write_eep_common:
+664a 1a227e00 deposit rega 
+664b 6011009a hstore 2 ,core_iicd_txaddr 
+664c 58000000 setarg 0 
+664d 6011009e hstore 2 ,core_iicd_rxlen 
+664e 70809001 jam 1 ,core_iicd_ctrl 
+664f 70800604 jam iicd_start ,core_misc_ctrl 
+6650 204065b0 call wait_iicd_done 
+6651 1a427e00 copy regb ,pdata 
+6652 e2218000 istore 3 ,rega 
+
+iic_check_eeprom_standby:
+6653 474ac032 bpatchx patch32_5 ,mem_patch32 
+6654 7001f900 jam 0 ,mem_iicd_tbuf + 3 
+
+iic_check_eeprom_standby_wait:
+6655 58000001 setarg 1 
+6656 60110098 hstore 2 ,core_iicd_txlen 
+6657 7001f6a0 jam 0xa0 ,mem_iicd_tbuf 
+6658 580001f6 setarg mem_iicd_tbuf 
+6659 6011009a hstore 2 ,core_iicd_txaddr 
+665a 58000000 setarg 0 
+665b 6011009e hstore 2 ,core_iicd_rxlen 
+665c 6011009c hstore 2 ,core_iicd_rxaddr 
+665d 58000003 setarg 3 
+665e 60108090 hstore 1 ,core_iicd_ctrl 
+665f 70800604 jam iicd_start ,core_misc_ctrl 
+6660 204065b0 call wait_iicd_done 
+6661 6810812c hfetch 1 ,core_dma_status 
+6662 c4030000 rtnbit0 iicd_ack 
+6663 200005dc nop 1500 
+6664 680081f9 fetch 1 ,mem_iicd_tbuf + 3 
+6665 1fe0fe01 increase 1 ,pdata 
+6666 600081f9 store 1 ,mem_iicd_tbuf + 3 
+6667 1fe67c28 sub pdata ,40 ,null 
+6668 24610000 nrtn positive 
+6669 20206655 branch iic_check_eeprom_standby_wait 
+
+otp_enable_chgpump:
+666a 70897370 jam 0x70 ,rfen_chgpump 
+666b 20000bb8 nop param_chgpump_delay 
+666c 20600000 rtn 
+
+otp_disable_chgpump:
+666d 70897330 jam 0x30 ,rfen_chgpump 
+666e 20600000 rtn 
+
+otp_set_addr:
+666f 1fe9fe00 lshift3 pdata ,pdata 
+6670 60110045 hstore 2 ,core_otp_addr 
+6671 70804b00 jam 0 ,core_otpd_ctrl 
+6672 20600000 rtn 
+
+otp_write:
+6673 2040666f call otp_set_addr 
+6674 204066a0 call otp_ce 
+
+otp_program:
+6675 ea288000 ifetcht 1 ,rega 
+6676 1a20a201 increase 1 ,rega 
+6677 18000e00 force 0 ,queue 
+
+otp_program_bit:
+6678 a84c0000 qisolate0 temp 
+6679 2020e697 branch otp_skip_0 ,true 
+667a 68108046 hfetch 1 ,core_otp_din 
+667b 79207e06 set1 6 ,pdata 
+667c 79207e07 set1 7 ,pdata 
+667d 60108046 hstore 1 ,core_otp_din 
+667e 70804702 jam 0x02 ,core_otp_ctrl 
+667f 70804782 jam 0x82 ,core_otp_ctrl 
+6680 793ffe07 set0 7 ,pdata 
+6681 60108046 hstore 1 ,core_otp_din 
+6682 7080478a jam 0x8a ,core_otp_ctrl 
+6683 2000000b nop 11 
+6684 708047ca jam 0xca ,core_otp_ctrl 
+6685 20000021 nop 33 
+6686 7080474a jam 0x4a ,core_otp_ctrl 
+6687 2000002c nop 44 
+6688 708047ca jam 0xca ,core_otp_ctrl 
+6689 20000016 nop 22 
+668a 7080478a jam 0x8a ,core_otp_ctrl 
+668b 20000021 nop 33 
+668c 70804782 jam 0x82 ,core_otp_ctrl 
+668d 20000001 nop 1 
+668e 70804792 jam 0x92 ,core_otp_ctrl 
+668f 2000000a nop 10 
+6690 708047b2 jam 0xb2 ,core_otp_ctrl 
+6691 68108007 hfetch 1 ,core_otp_rdata 
+6692 70804792 jam 0x92 ,core_otp_ctrl 
+6693 20000001 nop 1 
+6694 70804782 jam 0x82 ,core_otp_ctrl 
+6695 afec0000 qisolate0 pdata 
+6696 2020e678 branch otp_program_bit ,true 
+
+otp_skip_0:
+6697 68110045 hfetch 2 ,core_otp_addr 
+6698 1fe0fe01 increase 1 ,pdata 
+6699 60110045 hstore 2 ,core_otp_addr 
+669a 18e08e01 increase 1 ,queue 
+669b 28e01e08 compare 8 ,queue ,0xf 
+669c 2420e678 nbranch otp_program_bit ,true 
+669d c2006675 loop otp_program 
+669e 70804783 jam 0x83 ,core_otp_ctrl 
+669f 20600000 rtn 
+
+otp_ce:
+66a0 70804782 jam 0x82 ,core_otp_ctrl 
+66a1 2000000c nop 12 
+66a2 70804780 jam 0x80 ,core_otp_ctrl 
+66a3 70804782 jam 0x82 ,core_otp_ctrl 
+66a4 20000096 nop 150 
+66a5 20600000 rtn 
+
+otpd_read_init:
+66a6 204066a0 call otp_ce 
+66a7 708047a2 jam 0xa2 ,core_otp_ctrl 
+66a8 1a227e00 deposit rega 
+66a9 60110048 hstore 2 ,core_otpd_addr 
+66aa 7920040b set1 11 ,temp 
+66ab 2fec000f isolate0 15 ,pdata 
+66ac 7920840f setflag true ,15 ,temp 
+66ad 6019004a hstoret 2 ,core_otpd_len 
+66ae 70800601 jam otpd_start ,core_misc_ctrl 
+66af 20600000 rtn 
+
+otpd_wait_end:
+66b0 6810812c hfetch 1 ,core_dma_status 
+66b1 c300e6b0 bbit0 otpd_done ,otpd_wait_end 
+66b2 20600000 rtn 
+
+otpd_read_data:
+66b3 2040666f call otp_set_addr 
+66b4 204066a6 call otpd_read_init 
+66b5 204066b0 call otpd_wait_end 
+66b6 70804783 jam 0x83 ,core_otp_ctrl 
+66b7 20600000 rtn 
+
+otpd_read_code:
+66b8 68110124 hfetch 2 ,core_current_otp_addr 
+66b9 60110045 hstore 2 ,core_otp_addr 
+66ba 204066a6 call otpd_read_init 
+66bb d8e00001 arg otpd_done ,queue 
+66bc 204064c0 call decrypt_code 
+66bd 204066b0 call otpd_wait_end 
+66be 2feffe00 isolate1 otpd_crcok ,pdata 
+66bf 204064b9 call set_ucode_status 
+66c0 70804783 jam 0x83 ,core_otp_ctrl 
+66c1 20600000 rtn 
+
+uartd_prepare_tx:
+66c2 6811005e hfetch 2 ,core_uart_twptr 
+66c3 98001400 iforce contwu 
+66c4 20600000 rtn 
+
+uartd_send:
+66c5 19427e00 deposit contwu 
+66c6 6011005e hstore 2 ,core_uart_twptr 
+66c7 20600000 rtn 
+
+uartd_rxdone:
+66c8 18627e00 deposit contru 
+66c9 60110058 hstore 2 ,core_uart_rrptr 
+66ca 20600000 rtn 
+
+uartd_prepare_rx:
+66cb 68110058 hfetch 2 ,core_uart_rrptr 
+66cc 1fe20600 copy pdata ,contru 
+66cd 20600000 rtn 
+
+uart_set_baud_by_mem:
+66ce 68014243 fetch uart_baud_len ,mem_baud 
+66cf 60110052 hstore uart_baud_len ,core_uart_baud 
+66d0 20600000 rtn 
+
+uart_copy_tx_bytes_fast:
+66d1 1f227e00 deposit loopcnt 
+66d2 207a0000 rtn blank 
+
+uart_copy_tx_bytes_fast_loop:
+66d3 1f20f3f8 increase -8 ,loopcnt 
+66d4 204166de call uart_tx_8_bytes ,positive 
+66d5 20628000 rtn zero 
+66d6 202166d3 branch uart_copy_tx_bytes_fast_loop ,positive 
+66d7 1f20f208 increase 8 ,loopcnt 
+
+uart_copy_tx_bytes_fast_loop_four:
+66d8 1f20f3fc increase -4 ,loopcnt 
+66d9 204166e1 call uart_tx_4_bytes ,positive 
+66da 20628000 rtn zero 
+66db 202166d8 branch uart_copy_tx_bytes_fast_loop_four ,positive 
+66dc 1f20f204 increase 4 ,loopcnt 
+66dd 202066e4 branch uart_copy_tx_bytes 
+
+uart_tx_8_bytes:
+66de e8c40000 ifetch 8 ,contr 
+66df e1440000 istore 8 ,contwu 
+66e0 20600000 rtn 
+
+uart_tx_4_bytes:
+66e1 e8c20000 ifetch 4 ,contr 
+66e2 e1420000 istore 4 ,contwu 
+66e3 20600000 rtn 
+
+uart_copy_tx_bytes:
+66e4 1f227e00 deposit loopcnt 
+66e5 207a0000 rtn blank 
+
+uart_copy_tx_bytes_loop:
+66e6 e8c08000 ifetch 1 ,contr 
+66e7 e1408000 istore 1 ,contwu 
+66e8 c20066e6 loop uart_copy_tx_bytes_loop 
+66e9 20600000 rtn 
+
+uart_copy_rx_bytes_fast:
+66ea 1f227e00 deposit loopcnt 
+66eb 207a0000 rtn blank 
+
+uart_copy_rx_bytes_fast_loop:
+66ec 1f20f3f8 increase -8 ,loopcnt 
+66ed 204166f7 call uart_rx_8_bytes ,positive 
+66ee 20628000 rtn zero 
+66ef 202166ec branch uart_copy_rx_bytes_fast_loop ,positive 
+66f0 1f20f208 increase 8 ,loopcnt 
+
+uart_copy_rx_bytes_fast_loop_four:
+66f1 1f20f3fc increase -4 ,loopcnt 
+66f2 204166fa call uart_rx_4_bytes ,positive 
+66f3 20628000 rtn zero 
+66f4 202166f1 branch uart_copy_rx_bytes_fast_loop_four ,positive 
+66f5 1f20f204 increase 4 ,loopcnt 
+66f6 202066fd branch uart_copy_rx_bytes 
+
+uart_rx_8_bytes:
+66f7 e8640000 ifetch 8 ,contru 
+66f8 e0a40000 istore 8 ,contw 
+66f9 20600000 rtn 
+
+uart_rx_4_bytes:
+66fa e8620000 ifetch 4 ,contru 
+66fb e0a20000 istore 4 ,contw 
+66fc 20600000 rtn 
+
+uart_copy_rx_bytes:
+66fd 1f227e00 deposit loopcnt 
+66fe 207a0000 rtn blank 
+
+uart_copy_rx_bytes_loop:
+66ff e8608000 ifetch 1 ,contru 
+6700 e0a08000 istore 1 ,contw 
+6701 c20066ff loop uart_copy_rx_bytes_loop 
+6702 20600000 rtn 
+
+uart_copy_rx2tx:
+6703 1f227e00 deposit loopcnt 
+6704 207a0000 rtn blank 
+
+uart_copy_rx2tx_loop:
+6705 e8608000 ifetch 1 ,contru 
+6706 e1408000 istore 1 ,contwu 
+6707 c2006705 loop uart_copy_rx2tx_loop 
+6708 20600000 rtn 
+
+app_store_nvram_event:
+6709 700a993d jam bt_evt_store_nvram ,mem_fifo_temp 
+670a 20207d86 branch ui_ipc_send_event 
+
+check_51cmd_store_reconn_info:
+
+check_51cmd_update_device_record:
+670b 474b4032 bpatchx patch32_6 ,mem_patch32 
+670c 6800c217 fetch 1 ,mem_nv_data_number 
+670d 207a0000 rtn blank 
+670e 204067a3 call check_nvram 
+670f 2042e7a9 call init_device_list ,zero 
+6710 2040673e call nvram_find_addr_from_bd_list 
+
+write_device_record:
+6711 6800c217 fetch 1 ,mem_nv_data_number 
+6712 1fe22600 icopy regc 
+6713 68094215 fetcht 2 ,mem_nv_data_ptr 
+6714 6009018c storet 2 ,mem_list_item_ptr 
+
+write_device_loop_find:
+6715 1a627e00 copy regc ,pdata 
+6716 203a6709 branch app_store_nvram_event ,blank 
+6717 1a60a7ff increase -1 ,regc 
+6718 18422200 copy temp ,rega 
+6719 ea208000 ifetch 1 ,rega 
+671a 68088184 fetcht 1 ,mem_select_list_item 
+671b 98467c00 isub temp ,null 
+671c 2042e725 call set_index_finded_device ,zero 
+671d 20216721 branch write_device_loop_find0 ,positive 
+671e ea208000 ifetch 1 ,rega 
+671f 1fe0fe01 increase 1 ,pdata 
+6720 e2208000 istore 1 ,rega 
+
+write_device_loop_find0:
+6721 6809018c fetcht 2 ,mem_list_item_ptr 
+6722 18408422 increase nv_data_len ,temp 
+6723 6009018c storet 2 ,mem_list_item_ptr 
+6724 20206715 branch write_device_loop_find 
+
+set_index_finded_device:
+6725 58000000 setarg 0 
+6726 e2208000 istore 1 ,rega 
+6727 68008185 fetch 1 ,mem_temp_reconn_record 
+6728 e0a08000 istore 1 ,contw 
+6729 c099e733 bne rec_3_mode ,set_index_finded_device_ble_mode 
+672a da4041be arg mem_link_key ,regb 
+
+set_index_find_device_master_addr:
+672b e8c30000 ifetch 6 ,contr 
+672c e0a40000 istore 8 ,contw 
+672d 58000000 setarg 0 
+672e e0a40000 istore 8 ,contw 
+672f 1a420c00 copy regb ,contr 
+
+store_rec_data_common:
+6730 20407ebf call memcpy16 
+6731 18007c01 force 1 ,null 
+6732 20600000 rtn 
+
+set_index_finded_device_ble_mode:
+6733 c01b6737 beq rec_4_mode_random_resolvable_private_address ,set_index_finded_device_irk 
+6734 c01be73b beq rec_4_mode_random_non_resolvable_private_address ,set_index_finded_device_ediv 
+6735 da404419 arg mem_le_ltk ,regb 
+6736 2020672b branch set_index_find_device_master_addr 
+
+set_index_finded_device_irk:
+6737 d8c044d5 arg mem_le_irk ,contr 
+6738 20407ebf call memcpy16 
+
+store_ble_rec_data_common:
+6739 d8c04419 arg mem_le_ltk ,contr 
+673a 20206730 branch store_rec_data_common 
+
+set_index_finded_device_ediv:
+673b d8c044cd arg mem_le_rand ,contr 
+673c 20407ebf call memcpy16 
+673d 20206739 branch store_ble_rec_data_common 
+
+nvram_find_addr_from_bd_list:
+673e 20407fe9 call disable_user 
+673f 6800c217 fetch 1 ,mem_nv_data_number 
+6740 207a0000 rtn blank 
+6741 68014682 fetch 2 ,mem_ui_state_map 
+6742 c2806754 bbit1 ui_state_bt_connected ,find_addr_from_bd_list_spp_mode 
+
+find_addr_from_bd_list_ble_mode:
+6743 474bc032 bpatchx patch32_7 ,mem_patch32 
+6744 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+6745 c000674d beq master_public_addr ,find_addr_from_bd_list_static_addr 
+6746 68008454 fetch 1 ,mem_le_plap + 5 
+6747 2fe180c0 compare 0xc0 ,pdata ,0xc0 
+6748 2020e74d branch find_addr_from_bd_list_static_addr ,true 
+6749 2fe18040 compare 0x40 ,pdata ,0xc0 
+674a 2020e752 branch find_addr_from_bd_list_random_addr ,true 
+674b 2fe18000 compare 0x00 ,pdata ,0xc0 
+674c 2020e750 branch find_addr_from_bd_list_random_non_resolvable_private_address ,true 
+
+find_addr_from_bd_list_static_addr:
+674d 70018535 jam rec_4_mode_static_address ,mem_temp_reconn_record 
+674e 6803044f fetch 6 ,mem_le_plap 
+674f 20206757 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_random_non_resolvable_private_address:
+6750 70018537 jam rec_4_mode_random_non_resolvable_private_address ,mem_temp_reconn_record 
+6751 20206757 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_random_addr:
+6752 70018536 jam rec_4_mode_random_resolvable_private_address ,mem_temp_reconn_record 
+6753 20206757 branch find_addr_from_bd_list_common 
+
+find_addr_from_bd_list_spp_mode:
+6754 474c4033 bpatchx patch33_0 ,mem_patch33 
+6755 70018533 jam rec_3_mode ,mem_temp_reconn_record 
+6756 68030040 fetch 6 ,mem_plap 
+
+find_addr_from_bd_list_common:
+6757 60030186 store 6 ,mem_temp_reconn_record + 1 
+6758 68014215 fetch 2 ,mem_nv_data_ptr 
+6759 efe88000 ifetcht 1 ,pdata 
+675a 1fe0fe01 pincrease 1 
+675b 6001018c store 2 ,mem_list_item_ptr 
+675c 60088184 storet 1 ,mem_select_list_item 
+675d 6800c217 fetch 1 ,mem_nv_data_number 
+675e 1fe22600 icopy regc 
+
+nvram_find_addr_from_list:
+675f 6801018c fetch 2 ,mem_list_item_ptr 
+6760 1fe22200 copy pdata ,rega 
+6761 2040676f call nvram_find_addr_from_list_compare 
+6762 20740000 rtn user 
+6763 6809018c fetcht 2 ,mem_list_item_ptr 
+6764 18408422 increase nv_data_len ,temp 
+6765 6009018c storet 2 ,mem_list_item_ptr 
+6766 184085ff increase -1 ,temp 
+6767 e8408000 ifetch 1 ,temp 
+6768 60008184 store 1 ,mem_select_list_item 
+6769 1a60a7ff increase -1 ,regc 
+676a 2422e75f nbranch nvram_find_addr_from_list ,zero 
+676b 6800c217 fetch 1 ,mem_nv_data_number 
+676c 1fe0ffff pincrease decreased_one 
+676d 60008184 store 1 ,mem_select_list_item 
+676e 20600000 rtn 
+
+nvram_find_addr_from_list_compare:
+676f 68008185 fetch 1 ,mem_temp_reconn_record 
+6770 c099e776 bne rec_3_mode ,find_addr_from_list_compare_ble_mode 
+
+find_master_addr_from_list_compare:
+6771 da400185 arg mem_temp_reconn_record ,regb 
+6772 df200007 arg 7 ,loopcnt 
+6773 20407f88 call string_compare 
+6774 2022ffe7 branch enable_user ,zero 
+6775 20600000 rtn 
+
+find_addr_from_list_compare_ble_mode:
+6776 c01b6779 beq rec_4_mode_random_resolvable_private_address ,find_irk_form_list_compare 
+6777 c01be794 beq rec_4_mode_random_non_resolvable_private_address ,find_ediv_form_list_compare 
+6778 20206771 branch find_master_addr_from_list_compare 
+
+find_irk_form_list_compare:
+6779 ea288000 ifetcht 1 ,rega 
+677a 98467c00 isub temp ,null 
+677b 24628000 nrtn zero 
+677c d8a00ac2 arg mem_le_prand ,contw 
+677d df200010 arg 16 ,loopcnt 
+677e 20407ed4 call clear_mem 
+677f 68018452 fetch 3 ,mem_le_plap + 3 
+6780 60018ac2 store 3 ,mem_le_prand 
+6781 2040678b call genernate_master_macaddress 
+6782 68010adf fetch 2 ,mem_le_aes_128 + 13 
+6783 1ff0fe00 byteswap pdata ,pdata 
+6784 1fed0400 lshift8 pdata ,temp 
+6785 e8c08000 ifetch 1 ,contr 
+6786 9840fe00 iadd temp ,pdata 
+6787 6809844f fetcht 3 ,mem_le_plap 
+6788 98467c00 isub temp ,null 
+6789 2022ffe7 branch enable_user ,zero 
+678a 20600000 rtn 
+
+genernate_master_macaddress:
+678b d8c00ac2 arg mem_le_prand ,contr 
+678c 20407486 call load_data128 
+678d ea208000 ifetch 1 ,rega 
+678e 20407487 call load_regext 
+678f 18006c38 force 0x38 ,aes_ctrl 
+6790 18006c00 force 0x0 ,aes_ctrl 
+6791 2040741d call wait_aes 
+6792 d8a00ad2 arg mem_le_aes_128 ,contw 
+6793 20207497 branch store_aes_result 
+
+find_ediv_form_list_compare:
+6794 ea288000 ifetcht 1 ,rega 
+6795 98467c00 isub temp ,null 
+6796 24628000 nrtn zero 
+6797 18c22200 copy contr ,rega 
+6798 18c0a608 add contr ,8 ,regc 
+6799 da4044cd arg mem_le_rand ,regb 
+679a df200008 arg 8 ,loopcnt 
+679b 20407f88 call string_compare 
+679c 2022ffe7 branch enable_user ,zero 
+679d 1a622200 copy regc ,rega 
+679e da4044d5 arg mem_le_irk ,regb 
+679f df200008 arg 8 ,loopcnt 
+67a0 20407f88 call string_compare 
+67a1 2022ffe7 branch enable_user ,zero 
+67a2 20600000 rtn 
+
+check_nvram:
+67a3 68014215 fetch 2 ,mem_nv_data_ptr 
+67a4 efe88000 ifetcht 1 ,pdata 
+67a5 1fe0fe22 pincrease nv_data_len 
+67a6 efe08000 ifetch 1 ,pdata 
+67a7 98467c00 isub temp ,null 
+67a8 20600000 rtn 
+
+init_device_list:
+67a9 6800c217 fetch 1 ,mem_nv_data_number 
+67aa 1fe27200 icopy loopcnt 
+67ab 68094215 fetcht 2 ,mem_nv_data_ptr 
+67ac 58000000 setarg 0 
+
+init_device_list_loop:
+67ad e0408000 istore 1 ,temp 
+67ae 18408422 increase nv_data_len ,temp 
+67af 1fe0fe01 pincrease 1 
+67b0 c20067ad loop init_device_list_loop 
+67b1 20600000 rtn 
+
+load_device_list:
+67b2 474cc033 bpatchx patch33_1 ,mem_patch33 
+67b3 2040673e call nvram_find_addr_from_bd_list 
+67b4 68008030 fetch 1 ,mem_state 
+67b5 79347e06 setflag user ,state_combkey ,pdata 
+67b6 60008030 store 1 ,mem_state 
+67b7 243467bc nbranch clear_key_exists ,user 
+67b8 1a208c0a add rega ,10 ,contr 
+67b9 d8a041be arg mem_link_key ,contw 
+67ba 20407ebf call memcpy16 
+67bb 202067d7 branch check_link_key_load 
+
+clear_key_exists:
+67bc 7041bd00 jam 0 ,mem_link_key_exists 
+67bd 20600000 rtn 
+
+load_device_list_mode_4:
+67be 6804c4cb fetch 9 ,mem_le_ediv 
+67bf 203a67ca branch clear_ltk_exists ,blank 
+67c0 2040673e call nvram_find_addr_from_bd_list 
+67c1 243467ca nbranch clear_ltk_exists ,user 
+67c2 6801018c fetch 2 ,mem_list_item_ptr 
+67c3 1fe08c01 add pdata ,1 ,contr 
+67c4 d8a044d5 arg mem_le_irk ,contw 
+67c5 20407ebf call memcpy16 
+67c6 d8a04419 arg mem_le_ltk ,contw 
+67c7 20407ebf call memcpy16 
+67c8 70442901 jam 1 ,mem_ltk_exists 
+67c9 20600000 rtn 
+
+clear_ltk_exists:
+67ca 70442900 jam 0 ,mem_ltk_exists 
+67cb 20600000 rtn 
+
+eeprom_store_le_reconn_info:
+67cc 6803044f fetch 6 ,mem_le_plap 
+67cd 60030186 store 6 ,mem_temp_lap 
+67ce 70018534 jam rec_4_mode ,mem_record_bt_mode 
+67cf 202067d3 branch eeprom_store_reconn_info 
+
+eeprom_store_bd_reconn_info:
+67d0 68030040 fetch 6 ,mem_plap 
+67d1 60030186 store 6 ,mem_temp_lap 
+67d2 70018533 jam rec_3_mode ,mem_record_bt_mode 
+
+eeprom_store_reconn_info:
+67d3 6800c092 fetch 1 ,mem_device_option 
+67d4 c005670b beq dvc_op_module ,check_51cmd_update_device_record 
+67d5 c28342da bbit1 dvc_op_mouse ,mouse_store_remote_bdaddr 
+67d6 20600000 rtn 
+
+check_link_key_load:
+67d7 680441be fetch 8 ,mem_link_key 
+67d8 680c41c6 fetcht 8 ,mem_link_key + 8 
+67d9 9841fe00 ior temp ,pdata 
+67da 207a0000 rtn blank 
+67db 7041bd01 jam 1 ,mem_link_key_exists 
+67dc 20600000 rtn 
+
+gpio_set_wake_by_current_state:
+67dd 474d4033 bpatchx patch33_2 ,mem_patch33 
+67de 79200407 set1 7 ,temp 
+67df 2040681d call gpio_get_bit 
+67e0 7d208407 nsetflag true ,7 ,temp 
+
+gpio_set_wake:
+67e1 474dc033 bpatchx patch33_3 ,mem_patch33 
+67e2 18467cff sub temp ,ui_button_gpio_disable ,null 
+67e3 20628000 rtn zero 
+67e4 284c0007 isolate0 7 ,temp 
+67e5 18410e1f and temp ,0x1f ,queue 
+67e6 680200a1 fetch 4 ,mem_gpio_wakeup_low 
+67e7 f920fe00 qsetflag true ,pdata 
+67e8 600200a1 store 4 ,mem_gpio_wakeup_low 
+67e9 680200a5 fetch 4 ,mem_gpio_wakeup_high 
+67ea fd20fe00 nqsetflag true ,pdata 
+67eb 600200a5 store 4 ,mem_gpio_wakeup_high 
+67ec 20600000 rtn 
+
+gpio_clr_wake:
+67ed 474e4033 bpatchx patch33_4 ,mem_patch33 
+67ee 18467cff sub temp ,ui_button_gpio_disable ,null 
+67ef 20628000 rtn zero 
+67f0 284c0007 isolate0 7 ,temp 
+67f1 18410e1f and temp ,0x1f ,queue 
+67f2 680200a1 fetch 4 ,mem_gpio_wakeup_low 
+67f3 f93ffe00 qset0 pdata 
+67f4 600200a1 store 4 ,mem_gpio_wakeup_low 
+67f5 680200a5 fetch 4 ,mem_gpio_wakeup_high 
+67f6 f93ffe00 qset0 pdata 
+67f7 600200a5 store 4 ,mem_gpio_wakeup_high 
+67f8 20600000 rtn 
+
+gpio_config_input_nowake:
+67f9 204067ed call gpio_clr_wake 
+67fa 202067fe branch gpio_config_input_without_wake 
+
+gpio_config_input:
+67fb 18467cff sub temp ,ui_button_gpio_disable ,null 
+67fc 20628000 rtn zero 
+67fd 2455e7e1 ncall gpio_set_wake ,wake 
+
+gpio_config_input_without_wake:
+67fe d8a0807c arg core_gpio_pd0 ,contw 
+67ff 20406830 call gpio_set_bit 
+6800 79400407 setflip gpio_active_bit ,temp 
+6801 d8a08078 arg core_gpio_pu0 ,contw 
+6802 20406830 call gpio_set_bit 
+6803 793f8407 set0 gpio_active_bit ,temp 
+6804 d8a08070 arg core_gpio_oe0 ,contw 
+6805 20206830 branch gpio_set_bit 
+
+gpio_set_high_impedance:
+6806 d8a0807c arg core_gpio_pd0 ,contw 
+6807 20406830 call gpio_set_bit 
+6808 793f8407 set0 gpio_active_bit ,temp 
+6809 d8a08078 arg core_gpio_pu0 ,contw 
+680a 20406830 call gpio_set_bit 
+680b 793f8407 set0 gpio_active_bit ,temp 
+680c d8a08070 arg core_gpio_oe0 ,contw 
+680d 20206830 branch gpio_set_bit 
+
+gpio_config_output:
+680e 18467cff sub temp ,ui_button_gpio_disable ,null 
+680f 20628000 rtn zero 
+6810 79400407 setflip gpio_active_bit ,temp 
+6811 2040682f call gpio_out 
+
+gpio_config_output0:
+6812 79200407 set1 gpio_active_bit ,temp 
+6813 d8a08070 arg core_gpio_oe0 ,contw 
+6814 20206830 branch gpio_set_bit 
+
+gpio_common:
+6815 18410e07 and temp ,0x07 ,queue 
+6816 18497e00 rshift3 temp ,pdata 
+6817 1fe17e03 and_into 3 ,pdata 
+6818 98a08a00 iadd contw ,contw 
+6819 e8a08000 ifetch 1 ,contw 
+681a 20600000 rtn 
+
+gpio_check_active:
+681b d8a08074 arg core_gpio_out0 ,contw 
+681c 2020681e branch get_bit_common 
+
+gpio_get_bit:
+681d d8a0811c arg core_gpio_in ,contw 
+
+get_bit_common:
+681e 20406815 call gpio_common 
+681f 284ffe07 isolate1 gpio_active_bit ,temp 
+6820 2020e823 branch gpio_get_bit_reverse ,true 
+6821 afec0000 qisolate0 pdata 
+6822 20600000 rtn 
+
+gpio_get_bit_reverse:
+6823 afefffff qisolate1 pdata 
+6824 20600000 rtn 
+
+gpio_out_inactive:
+6825 18467cff sub temp ,ui_button_gpio_disable ,null 
+6826 20628000 rtn zero 
+6827 2fcffe07 isolate1 7 ,null 
+6828 2020682c branch gpio_out_flag 
+
+gpio_out_active:
+6829 18467cff sub temp ,ui_button_gpio_disable ,null 
+682a 20628000 rtn zero 
+682b 2fcc0007 isolate0 7 ,null 
+
+gpio_out_flag:
+682c 58000000 setarg 0 
+682d 7d20fe07 nsetflag true ,gpio_active_bit ,pdata 
+682e 98428400 ixor temp ,temp 
+
+gpio_out:
+682f d8a08074 arg core_gpio_out0 ,contw 
+
+gpio_set_bit:
+6830 20406815 call gpio_common 
+6831 284ffe07 isolate1 gpio_active_bit ,temp 
+6832 f920fe00 qsetflag true ,pdata 
+6833 e0a08000 istore 1 ,contw 
+6834 20600000 rtn 
+
+gpio_set_before_lpm_common:
+6835 da3fffff arg -1 ,rega 
+6836 68108081 hfetch 1 ,core_gpio_sel1 
+6837 2fe00602 compare 0x02 ,pdata ,0x03 
+6838 2040e878 call neglact4_from_23_pin ,true 
+6839 2fe00601 compare 0x01 ,pdata ,0x03 
+683a 2040e87a call neglact2_form_25_pin ,true 
+683b 2fe00603 compare 0x03 ,pdata ,0x03 
+683c 2040e87a call neglact2_form_25_pin ,true 
+683d 2feffe02 isolate1 2 ,pdata 
+683e 2040e874 call neglect2_from_6_pin ,true 
+683f 2feffe03 isolate1 3 ,pdata 
+6840 2040e876 call neglect4_from_9_pin ,true 
+6841 2feffe04 isolate1 4 ,pdata 
+6842 2040e87c call neglact2_form_30_pin ,true 
+6843 2feffe06 isolate1 6 ,pdata 
+6844 7d20a204 nsetflag true ,04 ,rega 
+6845 2feffe07 isolate1 7 ,pdata 
+6846 7d20a205 nsetflag true ,05 ,rega 
+6847 68108082 hfetch 1 ,core_gpio_sel2 
+6848 2feffe00 isolate1 0 ,pdata 
+6849 7d20a21b nsetflag true ,27 ,rega 
+684a 2feffe01 isolate1 1 ,pdata 
+684b 7d20a21c nsetflag true ,28 ,rega 
+684c 2feffe02 isolate1 2 ,pdata 
+684d 7d20a203 nsetflag true ,03 ,rega 
+684e 2feffe03 isolate1 3 ,pdata 
+684f 7d20a208 nsetflag true ,08 ,rega 
+6850 2feffe04 isolate1 4 ,pdata 
+6851 7d20a214 nsetflag true ,20 ,rega 
+6852 2feffe05 isolate1 5 ,pdata 
+6853 7d20a215 nsetflag true ,21 ,rega 
+6854 2feffe06 isolate1 6 ,pdata 
+6855 7d20a216 nsetflag true ,22 ,rega 
+6856 2feffe07 isolate1 7 ,pdata 
+6857 7d20a217 nsetflag true ,23 ,rega 
+6858 68108080 hfetch 1 ,core_gpio_sel 
+6859 2feffe00 isolate1 0 ,pdata 
+685a 7d20a205 nsetflag true ,05 ,rega 
+685b 2feffe01 isolate1 1 ,pdata 
+685c 7d20a206 nsetflag true ,06 ,rega 
+685d 2feffe02 isolate1 2 ,pdata 
+685e 7d20a207 nsetflag true ,07 ,rega 
+685f 2feffe03 isolate1 3 ,pdata 
+6860 7d20a212 nsetflag true ,18 ,rega 
+6861 2feffe04 isolate1 4 ,pdata 
+6862 7d20a213 nsetflag true ,19 ,rega 
+6863 2feffe05 isolate1 5 ,pdata 
+6864 7d20a214 nsetflag true ,20 ,rega 
+6865 2feffe06 isolate1 6 ,pdata 
+6866 7d20a215 nsetflag true ,21 ,rega 
+6867 2feffe07 isolate1 7 ,pdata 
+6868 7d20a216 nsetflag true ,22 ,rega 
+6869 68108062 hfetch 1 ,core_uart_ctrl 
+686a 2feffe04 isolate1 4 ,pdata 
+686b 2040e87e call neglact2_form_2_pin ,true 
+686c 474ec033 bpatchx patch33_5 ,mem_patch33 
+686d 68120078 hfetch 4 ,core_gpio_pu0 
+686e 681a007c hfetcht 4 ,core_gpio_pd0 
+686f 9841fe00 ior temp ,pdata 
+6870 1fe47e00 invert pdata ,pdata 
+6871 9a217e00 iand rega ,pdata 
+6872 60120070 hstore 4 ,core_gpio_oe0 
+6873 20600000 rtn 
+
+neglect2_from_6_pin:
+6874 d8e00006 arg 6 ,queue 
+6875 20206884 branch neglect_2_pin 
+
+neglect4_from_9_pin:
+6876 d8e00009 arg 9 ,queue 
+6877 20206882 branch neglact_4_pin 
+
+neglact4_from_23_pin:
+6878 d8e00017 arg 23 ,queue 
+6879 20206882 branch neglact_4_pin 
+
+neglact2_form_25_pin:
+687a d8e00019 arg 25 ,queue 
+687b 20206884 branch neglect_2_pin 
+
+neglact2_form_30_pin:
+687c d8e0001e arg 30 ,queue 
+687d 20206884 branch neglect_2_pin 
+
+neglact2_form_2_pin:
+687e d8e00002 arg 2 ,queue 
+687f 20206884 branch neglect_2_pin 
+
+neglact_1_pin:
+6880 df200001 arg 1 ,loopcnt 
+6881 20206885 branch neglect_pin_loop 
+
+neglact_4_pin:
+6882 df200004 arg 4 ,loopcnt 
+6883 20206885 branch neglect_pin_loop 
+
+neglect_2_pin:
+6884 df200002 arg 2 ,loopcnt 
+
+neglect_pin_loop:
+6885 f93fa200 qset0 rega 
+6886 18e08e01 increase 1 ,queue 
+6887 c2006885 loop neglect_pin_loop 
+6888 20600000 rtn 
+
+gpio_cfg_uart_tx_output:
+6889 20406895 call gpio_uart2gpio 
+688a d8400006 arg uart_wakeup_tx ,temp 
+688b 2020680e branch gpio_config_output 
+
+gpio_pu_uart_tx:
+688c 20406889 call gpio_cfg_uart_tx_output 
+688d d8400006 arg uart_wakeup_tx ,temp 
+688e 20206825 branch gpio_out_inactive 
+
+gpio_rx_config_input_with_pu:
+688f 20406895 call gpio_uart2gpio 
+6890 68108078 hfetch 1 ,core_gpio_pu0 
+6891 79207e07 set1 uart_wakeup_rx ,pdata 
+6892 60108078 hstore 1 ,core_gpio_pu0 
+6893 d8400007 arg uart_wakeup_rx ,temp 
+6894 202067fb branch gpio_config_input 
+
+gpio_uart2gpio:
+6895 68108081 hfetch 1 ,core_gpio_sel1 
+6896 1fe17efb and_into 0xfb ,pdata 
+6897 60108081 hstore 1 ,core_gpio_sel1 
+6898 20600000 rtn 
+
+gpio_check_uart_state:
+6899 68108081 hfetch 1 ,core_gpio_sel1 
+689a 2feffe02 isolate1 2 ,pdata 
+689b 20600000 rtn 
+
+load_chip_option:
+689c 2040666a call otp_enable_chgpump 
+689d 580007e0 setarg otp_chip_functions 
+689e da204150 arg mem_chip_functions ,rega 
+689f d8400002 arg 0x02 ,temp 
+68a0 204066b3 call otpd_read_data 
+68a1 2020666d branch otp_disable_chgpump 
+
+load_adc_init:
+68a2 2040666a call otp_enable_chgpump 
+68a3 580007e2 setarg otp_adc_io_0_5v_addr 
+68a4 da20421d arg mem_0_5_adc_io_data ,rega 
+68a5 d840000e arg 14 ,temp 
+68a6 204066b3 call otpd_read_data 
+68a7 2020666d branch otp_disable_chgpump 
+
+adc_init_data:
+68a8 474f4033 bpatchx patch33_6 ,mem_patch33 
+68a9 204068a2 call load_adc_init 
+68aa 6800c22d fetch 1 ,mem_adc_config_flag 
+68ab c00068af beq adc_config_vinlpm ,adc_init_data_vinlpm 
+68ac c000e8c3 beq adc_config_hvin ,adc_init_data_hvin 
+68ad c00168d7 beq adc_config_gpio ,adc_init_data_io 
+68ae 20600000 rtn 
+
+adc_init_data_vinlpm:
+68af 68094229 fetcht 2 ,mem_otp_adc_flag 
+68b0 5800aa55 setarg otp_adc_flag 
+68b1 98467c00 isub temp ,null 
+68b2 2022e8b8 branch adc_check_data_vinlpm ,zero 
+68b3 58004dfa setarg 0x4dfa 
+68b4 60014227 store 2 ,mem_3v_adc_vinlpm_data 
+68b5 58004894 setarg 0x4894 
+68b6 60014221 store 2 ,mem_2v_adc_vinlpm_data 
+68b7 202068c0 branch set_vdd_reference_voltage_1v 
+
+adc_check_data_vinlpm:
+68b8 68014227 fetch 2 ,mem_3v_adc_vinlpm_data 
+68b9 243a68bc nbranch adc_check_2v_vinlpm ,blank 
+68ba 58004dfa setarg 0x4dfa 
+68bb 60014227 store 2 ,mem_3v_adc_vinlpm_data 
+
+adc_check_2v_vinlpm:
+68bc 68014221 fetch 2 ,mem_2v_adc_vinlpm_data 
+68bd 243a68c0 nbranch set_vdd_reference_voltage_1v ,blank 
+68be 58004894 setarg 0x4894 
+68bf 60014221 store 2 ,mem_2v_adc_vinlpm_data 
+
+set_vdd_reference_voltage_1v:
+68c0 58000064 setarg 100 
+68c1 6001422b store 2 ,mem_reference_voltage 
+68c2 20600000 rtn 
+
+adc_init_data_hvin:
+68c3 68094229 fetcht 2 ,mem_otp_adc_flag 
+68c4 5800aa55 setarg otp_adc_flag 
+68c5 98467c00 isub temp ,null 
+68c6 2022e8cc branch adc_check_data_hvin ,zero 
+68c7 58005932 setarg 0x5932 
+68c8 60014225 store 2 ,mem_5v_adc_hvin_data 
+68c9 58004323 setarg 0x4323 
+68ca 6001421f store 2 ,mem_1v_adc_hvin_data 
+68cb 202068d4 branch set_vdd_reference_voltage_4v 
+
+adc_check_data_hvin:
+68cc 68014225 fetch 2 ,mem_5v_adc_hvin_data 
+68cd 243a68d0 nbranch adc_check_1v_hvin ,blank 
+68ce 58005932 setarg 0x5932 
+68cf 60014225 store 2 ,mem_5v_adc_hvin_data 
+
+adc_check_1v_hvin:
+68d0 6801421f fetch 2 ,mem_1v_adc_hvin_data 
+68d1 243a68d4 nbranch set_vdd_reference_voltage_4v ,blank 
+68d2 58004323 setarg 0x4323 
+68d3 6001421f store 2 ,mem_1v_adc_hvin_data 
+
+set_vdd_reference_voltage_4v:
+68d4 58000190 setarg 400 
+68d5 6001422b store 2 ,mem_reference_voltage 
+68d6 20600000 rtn 
+
+adc_init_data_io:
+68d7 68094229 fetcht 2 ,mem_otp_adc_flag 
+68d8 5800aa55 setarg otp_adc_flag 
+68d9 98467c00 isub temp ,null 
+68da 2022e8e0 branch adc_check_data_io ,zero 
+68db 58006946 setarg 0x6946 
+68dc 60014223 store 2 ,mem_1v_adc_io_data 
+68dd 58005377 setarg 0x5377 
+68de 6001421d store 2 ,mem_0_5_adc_io_data 
+68df 202068e8 branch set_vdd_reference_voltage_0_5v 
+
+adc_check_data_io:
+68e0 68014223 fetch 2 ,mem_1v_adc_io_data 
+68e1 243a68e4 nbranch adc_check_0_5v_io ,blank 
+68e2 58006946 setarg 0x6946 
+68e3 60014223 store 2 ,mem_1v_adc_io_data 
+
+adc_check_0_5v_io:
+68e4 6801421d fetch 2 ,mem_0_5_adc_io_data 
+68e5 243a68e8 nbranch set_vdd_reference_voltage_0_5v ,blank 
+68e6 58005377 setarg 0x5377 
+68e7 6001421d store 2 ,mem_0_5_adc_io_data 
+
+set_vdd_reference_voltage_0_5v:
+68e8 58000032 setarg 50 
+68e9 6001422b store 2 ,mem_reference_voltage 
+68ea 20600000 rtn 
+
+adc_set_mode:
+68eb 6800c22d fetch 1 ,mem_adc_config_flag 
+68ec c00068f0 beq adc_config_vinlpm ,adc_check_vinlpm 
+68ed c000e8f2 beq adc_config_hvin ,adc_check_hvin 
+68ee c00168f4 beq adc_config_gpio ,adc_check_gpio 
+68ef 20600000 rtn 
+
+adc_check_vinlpm:
+68f0 708971bf jam 0xbf ,rf_adc_mode 
+68f1 202068f8 branch read_adc 
+
+adc_check_hvin:
+68f2 708971af jam 0xaf ,rf_adc_mode 
+68f3 202068f8 branch read_adc 
+
+adc_check_gpio:
+68f4 7089718f jam 0x8f ,rf_adc_mode 
+68f5 6800c22e fetch 1 ,mem_adc_channel 
+68f6 60108973 hstore 1 ,rf_adc_ch 
+68f7 202068f8 branch read_adc 
+
+read_adc:
+68f8 474fc033 bpatchx patch33_7 ,mem_patch33 
+68f9 68108053 hfetch 1 ,core_uart_baud + 1 
+68fa 79207e07 set1 7 ,pdata 
+68fb 60108053 hstore 1 ,core_uart_baud + 1 
+68fc 68108973 hfetch 1 ,rf_adc_ch 
+68fd 1fe1fe30 or_into 0x30 ,pdata 
+68fe 60108973 hstore 1 ,rf_adc_ch 
+68ff 7089067c jam 0x7c ,rfen_adc 
+6900 708972aa jam 0xaa ,rf_adc_gc 
+6901 20001388 nop 5000 
+6902 68190150 hfetcht 2 ,core_adc_sum 
+6903 68108053 hfetch 1 ,core_uart_baud + 1 
+6904 793ffe07 set0 7 ,pdata 
+6905 60108053 hstore 1 ,core_uart_baud + 1 
+6906 6009422f storet 2 ,mem_adc_current_value 
+6907 20600000 rtn 
+
+vdd_calculate_by_mode:
+6908 47504034 bpatchx patch34_0 ,mem_patch34 
+6909 6800c22d fetch 1 ,mem_adc_config_flag 
+690a c000690e beq adc_config_vinlpm ,vdd_calculate_vinlpm 
+690b c000e912 beq adc_config_hvin ,vdd_calculate_hvin 
+690c c0016916 beq adc_config_gpio ,vdd_calculate_io 
+690d 20600000 rtn 
+
+vdd_calculate_vinlpm:
+690e 68014227 fetch 2 ,mem_3v_adc_vinlpm_data 
+690f 68094221 fetcht 2 ,mem_2v_adc_vinlpm_data 
+6910 da6000c8 arg 200 ,regc 
+6911 2020691a branch vdd_calculate 
+
+vdd_calculate_hvin:
+6912 68014225 fetch 2 ,mem_5v_adc_hvin_data 
+6913 6809421f fetcht 2 ,mem_1v_adc_hvin_data 
+6914 da600064 arg 100 ,regc 
+6915 2020691a branch vdd_calculate 
+
+vdd_calculate_io:
+6916 68014223 fetch 2 ,mem_1v_adc_io_data 
+6917 6809421d fetcht 2 ,mem_0_5_adc_io_data 
+6918 da600032 arg 50 ,regc 
+6919 2020691a branch vdd_calculate 
+
+vdd_calculate:
+691a 98462200 isub temp ,rega 
+691b 6801422f fetch 2 ,mem_adc_current_value 
+691c 98467e00 isub temp ,pdata 
+691d 24216927 nbranch vdd_calculate1 ,positive 
+691e 6809422b fetcht 2 ,mem_reference_voltage 
+691f 984fa400 imul32 temp ,regb 
+6920 1a627e00 copy regc ,pdata 
+6921 9a2ffe00 imul32 rega ,pdata 
+6922 9a40fe00 iadd regb ,pdata 
+
+vdd_calculate2:
+6923 9a26fc00 idiv rega 
+6924 20407f86 call wait_div_end 
+6925 1807fe00 quotient pdata 
+6926 20600000 rtn 
+
+vdd_calculate1:
+6927 18427e00 copy temp ,pdata 
+6928 6809422f fetcht 2 ,mem_adc_current_value 
+6929 98467e00 isub temp ,pdata 
+692a 6809422b fetcht 2 ,mem_reference_voltage 
+692b 984fa400 imul32 temp ,regb 
+692c 1a627e00 copy regc ,pdata 
+692d 9a2ffe00 imul32 rega ,pdata 
+692e 9a467e00 isub regb ,pdata 
+692f 20206923 branch vdd_calculate2 
+
+adc_bat_percent_lowpower_out:
+6930 ea240000 ifetch 8 ,rega 
+6931 60040a9a store 8 ,mem_pdatatemp 
+6932 68010a9a fetch 2 ,mem_pdatatemp 
+6933 68090a9c fetcht 2 ,mem_pdatatemp + 2 
+6934 98462200 isub temp ,rega 
+6935 68010aa0 fetch 2 ,mem_pdatatemp + 6 
+6936 98462400 isub temp ,regb 
+6937 68090a9e fetcht 2 ,mem_pdatatemp + 4 
+6938 98467c00 isub temp ,null 
+6939 24416940 ncall adc_set_low_power_flag ,positive 
+693a 1a4ffe64 mul32 regb ,100 ,pdata 
+693b 9a26fc00 idiv rega 
+693c 20407f86 call wait_div_end 
+693d 1807fe00 quotient pdata 
+693e 205a6944 call adc_set_no_power_flag ,blank 
+693f 20600000 rtn 
+
+adc_set_low_power_flag:
+6940 6800c231 fetch 1 ,mem_adc_power_flag 
+6941 79207e00 set1 0 ,pdata 
+6942 6000c231 store 1 ,mem_adc_power_flag 
+6943 20600000 rtn 
+
+adc_set_no_power_flag:
+6944 6808c231 fetcht 1 ,mem_adc_power_flag 
+6945 79200401 set1 1 ,temp 
+6946 6008c231 storet 1 ,mem_adc_power_flag 
+6947 20600000 rtn 
+
+keyscan_key_init:
+6948 6801423d fetch 2 ,mem_key_num_ptr 
+6949 efe08000 ifetch 1 ,pdata 
+
+keyscan_key_init_next:
+694a 207a0000 rtn blank 
+694b 1fe27200 copy pdata ,loopcnt 
+694c 6801423d fetch 2 ,mem_keyscan_ptr 
+694d 1fe0fe03 increase 3 ,pdata 
+694e 1fe22200 copy pdata ,rega 
+
+keyscan_key_init_lp1:
+694f ea288000 ifetcht 1 ,rega 
+6950 204067fb call gpio_config_input 
+6951 1a20a201 increase key_conf_struct_len ,rega 
+6952 c200694f loop keyscan_key_init_lp1 
+
+keyscan_key_init_end:
+6953 20600000 rtn 
+
+keyscan_scan_key:
+6954 6801423d fetch 2 ,mem_keyscan_ptr 
+6955 1fe0fe03 increase 3 ,pdata 
+6956 1fe22200 copy pdata ,rega 
+6957 18002400 force 0 ,regb 
+6958 700b1200 jam 0 ,mem_key_value_temp 
+
+keyscan_scan_key_lp1:
+6959 ea288000 ifetcht 1 ,rega 
+695a 2040681d call gpio_get_bit 
+695b 4750c034 bpatchx patch34_1 ,mem_patch34 
+695c 68010b12 fetch 2 ,mem_key_value_temp 
+695d 1a420e00 copy regb ,queue 
+695e f920fe00 qsetflag true ,pdata 
+695f 60010b12 store 2 ,mem_key_value_temp 
+6960 1a20a201 increase key_conf_struct_len ,rega 
+6961 1a40a401 increase 1 ,regb 
+6962 6801423d fetch 2 ,mem_key_num_ptr 
+6963 efe08000 ifetch 1 ,pdata 
+
+keyscan_scan_key_lp1_next:
+6964 9a42fc00 ixor regb ,null 
+6965 2422e959 nbranch keyscan_scan_key_lp1 ,zero 
+6966 68010b12 fetch 2 ,mem_key_value_temp 
+6967 68090b14 fetcht 2 ,mem_key_value 
+6968 9842fc00 ixor temp ,null 
+6969 20628000 rtn zero 
+696a 78347c00 enable user 
+696b 20600000 rtn 
+
+keyscan_process_lpm_before:
+696c 6801423d fetch 2 ,mem_key_num_ptr 
+696d efe08000 ifetch 1 ,pdata 
+
+keyscan_process_lpm_before_next:
+696e 207a0000 rtn blank 
+696f 1fe27200 copy pdata ,loopcnt 
+6970 6801423d fetch 2 ,mem_keyscan_ptr 
+6971 1fe0fe03 increase 3 ,pdata 
+6972 1fe22200 copy pdata ,rega 
+
+keyscan_process_lpm_before_lp1:
+6973 ea288000 ifetcht 1 ,rega 
+6974 204067dd call gpio_set_wake_by_current_state 
+6975 1a20a201 increase key_conf_struct_len ,rega 
+6976 c2006973 loop keyscan_process_lpm_before_lp1 
+
+keyscan_process_lpm_before_end:
+6977 20600000 rtn 
+
+keyscan_key_process:
+6978 d8e00009 arg key_scan_timer ,queue 
+6979 20407f16 call timer_check 
+697a 247a0000 nrtn blank 
+697b 58000020 setarg 0x20 
+697c d8e00009 arg key_scan_timer ,queue 
+697d 20407f08 call timer_init 
+697e 78547c00 disable user 
+697f 2040696c call keyscan_process_lpm_before 
+6980 47514034 bpatchx patch34_2 ,mem_patch34 
+6981 6801423d fetch 2 ,mem_key_num_ptr 
+6982 efe08000 ifetch 1 ,pdata 
+
+keyscan_key_process_next:
+6983 207a0000 rtn blank 
+6984 20406954 call keyscan_scan_key 
+6985 24347d02 nbranch lpm_button_clean_wake_lock ,user 
+6986 20407d00 call lpm_button_get_wake_lock 
+6987 78547c00 disable user 
+6988 68010b12 fetch 2 ,mem_key_value_temp 
+6989 60010b19 store 2 ,mem_key_value_temp4 
+698a 700b1b00 jam 0 ,mem_key_value_temp6 
+698b 18000e00 force 0 ,queue 
+
+keyscan_key_lp1:
+698c 68010b14 fetch 2 ,mem_key_value 
+698d 1fe30400 rshift pdata ,temp 
+698e 60090b14 storet 2 ,mem_key_value 
+698f 1fe17e01 and pdata ,0x01 ,pdata 
+6990 68090b19 fetcht 2 ,mem_key_value_temp4 
+6991 18412201 and temp ,0x01 ,rega 
+6992 18430400 rshift temp ,temp 
+6993 60090b19 storet 2 ,mem_key_value_temp4 
+6994 9a22fc00 ixor rega ,null 
+6995 2442e9a1 ncall keyscan_send_key_data ,zero 
+6996 6801423d fetch 2 ,mem_key_num_ptr 
+6997 efe08000 ifetch 1 ,pdata 
+
+keyscan_key_lp1_next:
+6998 68088b1b fetcht 1 ,mem_key_value_temp6 
+6999 18408401 increase 1 ,temp 
+699a 60088b1b storet 1 ,mem_key_value_temp6 
+699b 18420e00 copy temp ,queue 
+699c 98e2fc00 ixor queue ,null 
+699d 2422e98c nbranch keyscan_key_lp1 ,zero 
+699e 68010b12 fetch 2 ,mem_key_value_temp 
+699f 60010b14 store 2 ,mem_key_value 
+69a0 20600000 rtn 
+
+keyscan_send_key_data:
+69a1 4751c034 bpatchx patch34_3 ,mem_patch34 
+69a2 6801423d fetch 2 ,mem_keyscan_ptr 
+69a3 1fe0fe01 increase 1 ,pdata 
+69a4 efe10000 ifetch 2 ,pdata 
+69a5 20207f9c branch callback_func 
+
+pwm_init:
+69a6 68108042 hfetch 1 ,core_clksel 
+69a7 9a21fe00 ior rega ,pdata 
+69a8 60108042 hstore 1 ,core_clksel 
+69a9 68110050 hfetch 2 ,core_clkoff 
+69aa 793ffe0d set0 clock_off_pwm ,pdata 
+69ab 60110050 hstore 2 ,core_clkoff 
+69ac 20000064 nop 100 
+69ad 20600000 rtn 
+
+pwm_out_set:
+69ae 68098a9c fetcht 3 ,mem_pdatatemp + 2 
+69af 58b71b00 setarg pwm_12mhz 
+69b0 9846fc00 idiv temp 
+69b1 20407f86 call wait_div_end 
+69b2 18078400 quotient temp 
+69b3 68008a9f fetch 1 ,mem_pdatatemp + 5 
+69b4 984ffe00 imul32 temp ,pdata 
+69b5 1fe6fc64 div pdata ,100 
+69b6 20407f86 call wait_div_end 
+69b7 1807a200 quotient rega 
+69b8 18427e00 copy temp ,pdata 
+69b9 9a262400 isub rega ,regb 
+69ba 68008a9b fetch 1 ,mem_pdatatemp + 1 
+69bb 204069be call pwm_duty_cycle_set 
+69bc 68008a9a fetch 1 ,mem_pdatatemp 
+69bd 202069d5 branch pwm_enable 
+
+pwm_duty_cycle_set:
+69be c00069c4 beq 0 ,pwm_pwm0_duty_set 
+69bf c000e9c6 beq 1 ,pwm_pwm1_duty_set 
+69c0 c00169c8 beq 2 ,pwm_pwm2_duty_set 
+69c1 c001e9ca beq 3 ,pwm_pwm3_duty_set 
+69c2 c00269cc beq 4 ,pwm_pwm4_duty_set 
+69c3 c002e9ce beq 5 ,pwm_pwm5_duty_set 
+
+pwm_pwm0_duty_set:
+69c4 d8a080a0 arg core_pwm_pcnt0 ,contw 
+69c5 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm1_duty_set:
+69c6 d8a080a4 arg core_pwm_pcnt1 ,contw 
+69c7 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm2_duty_set:
+69c8 d8a080a8 arg core_pwm_pcnt2 ,contw 
+69c9 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm3_duty_set:
+69ca d8a08064 arg core_pwm_pcnt3 ,contw 
+69cb 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm4_duty_set:
+69cc d8a08068 arg core_pwm_pcnt4 ,contw 
+69cd 202069d0 branch pwm_set_pncnt 
+
+pwm_pwm5_duty_set:
+69ce d8a0806c arg core_pwm_pcnt5 ,contw 
+69cf 202069d0 branch pwm_set_pncnt 
+
+pwm_set_pncnt:
+69d0 1a227e00 copy rega ,pdata 
+69d1 e0a10000 istore 2 ,contw 
+69d2 1a427e00 copy regb ,pdata 
+69d3 e0a10000 istore 2 ,contw 
+69d4 20600000 rtn 
+
+pwm_enable:
+69d5 78347c00 enable user 
+69d6 202069d8 branch pwm_gpio_set 
+
+pwm_disable:
+69d7 78547c00 disable user 
+
+pwm_gpio_set:
+69d8 c00269e3 beq 4 ,pwm_gpio4_set 
+69d9 c002e9e5 beq 5 ,pwm_gpio5_set 
+69da c00de9e7 beq 27 ,pwm_gpio27_set 
+69db c00e69e9 beq 28 ,pwm_gpio28_set 
+69dc c001e9eb beq 3 ,pwm_gpio3_set 
+69dd c00469ed beq 8 ,pwm_gpio8_set 
+69de c00a69ef beq 20 ,pwm_gpio20_set 
+69df c00ae9f1 beq 21 ,pwm_gpio21_set 
+69e0 c00b69f3 beq 22 ,pwm_gpio22_set 
+69e1 c00be9f5 beq 23 ,pwm_gpio23_set 
+69e2 20600000 rtn 
+
+pwm_gpio4_set:
+69e3 d8e00006 arg 6 ,queue 
+69e4 202069ff branch pwm_one_set_select 
+
+pwm_gpio5_set:
+69e5 d8e00007 arg 7 ,queue 
+69e6 202069ff branch pwm_one_set_select 
+
+pwm_gpio27_set:
+69e7 d8e00008 arg 8 ,queue 
+69e8 202069ff branch pwm_one_set_select 
+
+pwm_gpio28_set:
+69e9 d8e00009 arg 9 ,queue 
+69ea 202069ff branch pwm_one_set_select 
+
+pwm_gpio3_set:
+69eb d8e0000a arg 10 ,queue 
+69ec 202069ff branch pwm_one_set_select 
+
+pwm_gpio8_set:
+69ed d8e0000b arg 11 ,queue 
+69ee 202069ff branch pwm_one_set_select 
+
+pwm_gpio20_set:
+69ef d8e0000c arg 12 ,queue 
+69f0 20206a01 branch pwm_tw0_set_select 
+
+pwm_gpio21_set:
+69f1 d8e0000d arg 13 ,queue 
+69f2 20206a01 branch pwm_tw0_set_select 
+
+pwm_gpio22_set:
+69f3 d8e0000e arg 14 ,queue 
+69f4 20206a01 branch pwm_tw0_set_select 
+
+pwm_gpio23_set:
+69f5 d8e0000f arg 15 ,queue 
+69f6 20206a01 branch pwm_tw0_set_select 
+
+pwm_set_select:
+69f7 68110081 hfetch 2 ,core_gpio_sel1 
+69f8 f9347e00 qsetflag user ,pdata 
+69f9 60110081 hstore 2 ,core_gpio_sel1 
+69fa 1a220e00 copy rega ,queue 
+69fb 68108085 hfetch 1 ,core_gpio_key2 
+69fc f9347e00 qsetflag user ,pdata 
+69fd 60108085 hstore 1 ,core_gpio_key2 
+69fe 20600000 rtn 
+
+pwm_one_set_select:
+69ff 18e0a3fc add queue ,-4 ,rega 
+6a00 202069f7 branch pwm_set_select 
+
+pwm_tw0_set_select:
+6a01 18e0a3f6 add queue ,-10 ,rega 
+6a02 202069f7 branch pwm_set_select 
+
+rfcomm_init:
+6a03 20758000 rtn wake 
+6a04 70456700 jam 0 ,mem_rfcomm_send_more_pkt 
+6a05 7004ed03 jam bits9600 ,memremoterpnbitrate 
+6a06 7004ee03 jam databits8 ,memremoteprndatabits 
+6a07 7004f211 jam 0x11 ,memremoteprnxon 
+6a08 7004f313 jam 0x13 ,memremoteprnxoff 
+6a09 58000000 setarg 0 
+6a0a 600184ef store 3 ,memremoteprnstopbit 
+6a0b 6000c254 store 1 ,mem_spp_state 
+6a0c 70468100 jam 0 ,memui_reconnect_mode 
+
+rfcomm_init_spp:
+6a0d 47524034 bpatchx patch34_4 ,mem_patch34 
+6a0e 58000000 setarg 0 
+6a0f 6000c254 store 1 ,mem_spp_state 
+6a10 6000c564 store 1 ,mem_remote_spp_channel 
+6a11 6000c55d store 1 ,mem_pn_dlci 
+6a12 6800c56b fetch 1 ,mem_credit_flag 
+6a13 c000ea16 beq credit_enable ,rfcomm_init_spp_with_credit 
+6a14 70456950 jam 0x50 ,mem_credit_given 
+6a15 20600000 rtn 
+
+rfcomm_init_spp_with_credit:
+6a16 70456900 jam 0x00 ,mem_credit_given 
+6a17 20600000 rtn 
+
+set_cr_bit:
+6a18 18418402 or_into 0x02 ,temp 
+6a19 20600000 rtn 
+
+rfcomm_calculate_fcs_sabm:
+6a1a 18427e00 copy temp ,pdata 
+6a1b 1fedfe00 reverse pdata ,pdata 
+6a1c 6000c562 store 1 ,memfcstemp3 
+6a1d 18007e3f force ini_tx_sabm ,pdata 
+6a1e 1fedfe00 reverse pdata ,pdata 
+6a1f 6000c561 store 1 ,memfcstemp2 
+6a20 18007e01 force 0x01 ,pdata 
+6a21 1fedfe00 reverse pdata ,pdata 
+6a22 6000c560 store 1 ,memfcstemp1 
+6a23 20406a50 call caculate_fcs 
+6a24 18427e00 copy temp ,pdata 
+6a25 20600000 rtn 
+
+rfcomm_calculate_fcs_ua:
+6a26 1fedfe00 reverse pdata ,pdata 
+6a27 6000c562 store 1 ,memfcstemp3 
+6a28 18007e73 force rsp_tx_ua ,pdata 
+6a29 1fedfe00 reverse pdata ,pdata 
+6a2a 6000c561 store 1 ,memfcstemp2 
+6a2b 18007e01 force 0x01 ,pdata 
+6a2c 1fedfe00 reverse pdata ,pdata 
+6a2d 6000c560 store 1 ,memfcstemp1 
+6a2e 20206a50 branch caculate_fcs 
+
+rfcomm_calculate_fcs_dlci0:
+6a2f 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6a30 203a6a33 branch rfcomm_calculate_fcs_dlci0_res ,blank 
+6a31 58000070 setarg 0x70 
+6a32 20600000 rtn 
+
+rfcomm_calculate_fcs_dlci0_res:
+6a33 580000aa setarg 0xaa 
+6a34 20600000 rtn 
+
+rfcomm_save_fcs_uih:
+6a35 1fedfe00 reverse pdata ,pdata 
+6a36 6000c562 store 1 ,memfcstemp3 
+6a37 18007eef force rsp_rx_uih ,pdata 
+6a38 20406a44 call caculate_uihdata_fcs 
+6a39 680904f7 fetcht 2 ,mem_contw_temp 
+6a3a 18420a00 copy temp ,contw 
+6a3b e0a08000 istore 1 ,contw 
+6a3c 18a20400 copy contw ,temp 
+6a3d 600904f7 storet 2 ,mem_contw_temp 
+6a3e 18007eff force rsp_rx_uih_wdata ,pdata 
+6a3f 20406a44 call caculate_uihdata_fcs 
+6a40 680904f7 fetcht 2 ,mem_contw_temp 
+6a41 18420a00 copy temp ,contw 
+6a42 e0a08000 istore 1 ,contw 
+6a43 20600000 rtn 
+
+caculate_uihdata_fcs:
+6a44 1fedfe00 reverse pdata ,pdata 
+6a45 6000c561 store 1 ,memfcstemp2 
+6a46 68014561 fetch 2 ,memfcstemp2 
+6a47 1fed7e00 lshift8 pdata ,pdata 
+6a48 600184f4 store 3 ,mem_mod2div_temp 
+6a49 da200107 arg 0x107 ,rega 
+6a4a da40000f arg 0xf ,regb 
+6a4b 20406a5d call mod2div 
+6a4c 1fe2fed7 xor_into 0xd7 ,pdata 
+6a4d 1fe47e00 invert pdata ,pdata 
+6a4e 1fedfe00 reverse pdata ,pdata 
+6a4f 20600000 rtn 
+
+caculate_fcs:
+6a50 6801c560 fetch 3 ,memfcstemp1 
+6a51 600184f4 store 3 ,mem_mod2div_temp 
+6a52 da200107 arg 0x107 ,rega 
+6a53 da40000f arg 0xf ,regb 
+6a54 20406a5d call mod2div 
+6a55 1fed7e00 lshift8 pdata ,pdata 
+6a56 da400007 arg 0x7 ,regb 
+6a57 20406a5d call mod2div 
+6a58 1fe2fe2b xor_into 0x2b ,pdata 
+6a59 1fe47e00 invert pdata ,pdata 
+6a5a 1fedfe00 reverse pdata ,pdata 
+6a5b 1fe20400 copy pdata ,temp 
+6a5c 20600000 rtn 
+
+mod2div:
+6a5d da600000 arg 0 ,regc 
+6a5e 1a427200 copy regb ,loopcnt 
+6a5f 20407e71 call right_shift_n 
+6a60 1fe20400 icopy temp 
+
+mod2div_loop:
+6a61 18427e00 copy temp ,pdata 
+6a62 1a63a600 lshift regc ,regc 
+6a63 c3046a66 bbit0 8 ,mod2div_not_enough_reduction 
+6a64 9a228400 ixor rega ,temp 
+6a65 1a60a601 increase 1 ,regc 
+
+mod2div_not_enough_reduction:
+6a66 18438400 lshift temp ,temp 
+6a67 680184f4 fetch 3 ,mem_mod2div_temp 
+6a68 1a40a5ff increase -1 ,regb 
+6a69 2a41feff compare 0xff ,regb ,0xff 
+6a6a 2020ea70 branch mod2div_end ,true 
+6a6b 1a427200 copy regb ,loopcnt 
+6a6c 20407e71 call right_shift_n 
+6a6d 2feffe00 isolate1 0 ,pdata 
+6a6e 79208400 setflag true ,0 ,temp 
+6a6f 20206a61 branch mod2div_loop 
+
+mod2div_end:
+6a70 18437e00 rshift temp ,pdata 
+6a71 20600000 rtn 
+
+get_rfcomm_snd_adss:
+6a72 6808c55d fetcht 1 ,mem_pn_dlci 
+
+dlci_to_address_cmd:
+6a73 184b8400 lshift2 temp ,temp 
+6a74 79200400 set1 rfcomm_address_ext_len ,temp 
+6a75 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6a76 245a6a18 ncall set_cr_bit ,blank 
+6a77 6008850d storet 1 ,mem_rfcomm_send_adss 
+6a78 20600000 rtn 
+
+channel_to_dlci:
+6a79 18438400 lshift temp ,temp 
+6a7a 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6a7b 793a0400 setflag blank ,0 ,temp 
+6a7c 20600000 rtn 
+
+rfcomm_rx_process_dlci0_sabm:
+6a7d 680884fc fetcht 1 ,mem_current_channel 
+6a7e 7004fed7 jam 0xd7 ,mem_current_fcs 
+6a7f 20406bb6 call rfcomm_send_ua 
+6a80 6800c251 fetch 1 ,mem_rfcomm_state 
+6a81 79207e06 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+6a82 79207e07 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+6a83 6000c251 store 1 ,mem_rfcomm_state 
+6a84 70456300 jam 0 ,mem_rfcomm_initiator 
+6a85 20206b97 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process_dlci0_ua:
+6a86 6800c251 fetch 1 ,mem_rfcomm_state 
+6a87 79207e07 set1 l2cap_channel_rfcomm_only_ua ,pdata 
+6a88 6000c251 store 1 ,mem_rfcomm_state 
+6a89 20206b97 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process:
+6a8a 4752c034 bpatchx patch34_5 ,mem_patch34 
+6a8b 6800c681 fetch 1 ,memui_reconnect_mode 
+6a8c c0006a8e beq no_reconnection ,rfcomm_rx_process_remote_page 
+6a8d 20206b4c branch rfcomm_rx_process_reconn 
+
+rfcomm_rx_process_remote_page:
+6a8e 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+6a8f 1fe20c00 copy pdata ,contr 
+6a90 20406ab8 call get_rfcomm_head_struct 
+6a91 680084fc fetch 1 ,mem_current_channel 
+6a92 c0006a94 beq 0 ,parse_dlci0_rp 
+6a93 20206b18 branch parse_uih_rp 
+
+parse_dlci0_rp:
+6a94 47534034 bpatchx patch34_6 ,mem_patch34 
+6a95 680084fd fetch 1 ,mem_current_frame_type 
+6a96 c01fea7d beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+6a97 c039ea86 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+6a98 c077ea9b beq rfcomm_frame_type_uih ,parse_dlci0_rp_uih 
+6a99 c029eb44 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn_send_event 
+6a9a 20600000 rtn 
+
+parse_dlci0_rp_uih:
+6a9b 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6a9c 1fe20c00 copy pdata ,contr 
+6a9d 20406ac3 call get_rfcomm_uih_head_struct 
+6a9e 68008503 fetch 1 ,mem_uih_cmd_type 
+6a9f c020eaa5 beq uih_param_neg_cmd ,parse_dlci0_rp_uih_pn_cmd 
+6aa0 c0206aad beq uih_param_neg_res ,parse_dlci0_rp_uih_pn_res 
+6aa1 c038eae6 beq uih_modem_status_cmd ,parse_dlci0_rp_uih_ms_cmd 
+6aa2 c0386af2 beq uih_modem_status_res ,parse_dlci0_rp_uih_ms_res 
+6aa3 c024eafd beq uih_param_cmd_remove_port ,parse_dlci0_rp_uih_cmd_port 
+6aa4 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_cmd:
+6aa5 20406aaf call parse_dlci0_rp_uih_pn_res_common 
+6aa6 20206aa7 branch parse_dlci0_rp_uih_pn_cmd_spp 
+
+parse_dlci0_rp_uih_pn_cmd_spp:
+6aa7 6800c254 fetch 1 ,mem_spp_state 
+6aa8 79207e00 set1 rfcomm_channel_state_pn_cmd ,pdata 
+6aa9 79207e01 set1 rfcomm_channel_state_pn_res ,pdata 
+6aaa 6000c254 store 1 ,mem_spp_state 
+6aab 20406be0 call rfcomm_send_param_neg_res 
+6aac 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_res:
+6aad 20406aaf call parse_dlci0_rp_uih_pn_res_common 
+6aae 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_pn_res_common:
+6aaf 20406acb call get_param_payload_ptr 
+6ab0 20206ad7 branch get_rfcomm_prarmer_negotiation 
+
+get_rfcomm_param_modem_status:
+6ab1 20406acb call get_param_payload_ptr 
+6ab2 e8c08000 ifetch 1 ,contr 
+6ab3 1fe97e00 rshift3 pdata ,pdata 
+6ab4 6000c56a store 1 ,mem_ms_channel 
+6ab5 e8c08000 ifetch 1 ,contr 
+6ab6 60008508 store 1 ,mem_ms_param 
+6ab7 20600000 rtn 
+
+get_rfcomm_head_struct:
+6ab8 e8c08000 ifetch 1 ,contr 
+6ab9 600084fb store 1 ,mem_current_adss 
+6aba 1fe97e00 rshift3 pdata ,pdata 
+6abb 600084fc store 1 ,mem_current_channel 
+6abc e8c08000 ifetch 1 ,contr 
+6abd 600084fd store 1 ,mem_current_frame_type 
+
+get_rfcomm_current_length:
+6abe 20406ace call get_rfcomm_length_common 
+6abf 600904ff storet 2 ,mem_current_length 
+6ac0 18c27e00 copy contr ,pdata 
+6ac1 60010501 store 2 ,mem_rfcomm_uih_payload_ptr 
+6ac2 20600000 rtn 
+
+get_rfcomm_uih_head_struct:
+6ac3 e8c08000 ifetch 1 ,contr 
+6ac4 1fe37e00 rshift pdata ,pdata 
+6ac5 60008503 store 1 ,mem_uih_cmd_type 
+6ac6 20406ace call get_rfcomm_length_common 
+6ac7 60090504 storet 2 ,mem_uih_length 
+6ac8 18c27e00 copy contr ,pdata 
+6ac9 60010506 store 2 ,mem_param_payload_ptr 
+6aca 20600000 rtn 
+
+get_param_payload_ptr:
+6acb 68010506 fetch 2 ,mem_param_payload_ptr 
+6acc 1fe20c00 copy pdata ,contr 
+6acd 20600000 rtn 
+
+get_rfcomm_length_common:
+6ace e8c08000 ifetch 1 ,contr 
+6acf 1fe20400 copy pdata ,temp 
+6ad0 18430400 rshift temp ,temp 
+6ad1 c3800000 rtnbit1 0 
+6ad2 e8c08000 ifetch 1 ,contr 
+6ad3 1fe9fe00 lshift3 pdata ,pdata 
+6ad4 1ff27e00 lshift4 pdata ,pdata 
+6ad5 98408400 iadd temp ,temp 
+6ad6 20600000 rtn 
+
+get_rfcomm_prarmer_negotiation:
+6ad7 e8c08000 ifetch 1 ,contr 
+6ad8 6000c55d store 1 ,mem_pn_dlci 
+6ad9 e8c08000 ifetch 1 ,contr 
+6ada 60008509 store 1 ,mem_pn_credit_flow_type_info 
+6adb e8c08000 ifetch 1 ,contr 
+6adc 6000850a store 1 ,mem_pn_priority 
+6add e8c08000 ifetch 1 ,contr 
+6ade 6000850b store 1 ,mem_pn_acknowledg_timer 
+6adf e8c10000 ifetch 2 ,contr 
+6ae0 6001455e store 2 ,mem_pn_max_frame_size 
+6ae1 e8c08000 ifetch 1 ,contr 
+6ae2 6000850c store 1 ,mem_pn_max_retrans 
+6ae3 e8c08000 ifetch 1 ,contr 
+6ae4 6000c568 store 1 ,mem_remote_credits 
+6ae5 20600000 rtn 
+
+parse_dlci0_rp_uih_ms_cmd:
+6ae6 20406ab1 call get_rfcomm_param_modem_status 
+6ae7 20206ae8 branch parse_dlci0_rp_uih_ms_cmd_spp 
+
+parse_dlci0_rp_uih_ms_cmd_spp:
+6ae8 6800c254 fetch 1 ,mem_spp_state 
+6ae9 79207e05 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+6aea 79207e06 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+6aeb 6000c254 store 1 ,mem_spp_state 
+6aec 6808c55d fetcht 1 ,mem_pn_dlci 
+6aed 184b8400 lshift2 temp ,temp 
+6aee 18418403 or_into 3 ,temp 
+6aef 20406c11 call rfcomm_send_modem_status_res 
+6af0 70456703 jam more_pkt_msc_cmd_spp ,mem_rfcomm_send_more_pkt 
+6af1 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_ms_res:
+6af2 700a9908 jam bt_evt_spp_connected ,mem_fifo_temp 
+6af3 20407d86 call ui_ipc_send_event 
+6af4 20406ab1 call get_rfcomm_param_modem_status 
+6af5 6800c56a fetch 1 ,mem_ms_channel 
+6af6 1fe67c01 sub pdata ,1 ,null 
+6af7 2022eaf9 branch parse_dlci0_rp_uih_ms_res_spp ,zero 
+6af8 20202a8c branch assert 
+
+parse_dlci0_rp_uih_ms_res_spp:
+6af9 6800c254 fetch 1 ,mem_spp_state 
+6afa 79207e07 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+6afb 6000c254 store 1 ,mem_spp_state 
+6afc 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_rp_uih_cmd_port:
+6afd 20406acb call get_param_payload_ptr 
+6afe e8c08000 ifetch 1 ,contr 
+6aff 60008ac2 store 1 ,mem_rpn_dlci 
+6b00 204052d2 call l2cap_malloc_rfcomm_channel 
+6b01 204052e0 call l2cap_get_rfcomm_tx_buff 
+6b02 5800000e setarg 0x000e 
+6b03 e0a10000 istore 2 ,contw 
+6b04 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6b05 e0a10000 istore 2 ,contw 
+6b06 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6b07 1fe3fe00 lshift pdata ,pdata 
+6b08 79207e00 set1 0 ,pdata 
+6b09 e0a08000 istore 1 ,contw 
+6b0a 4753c034 bpatchx patch34_7 ,mem_patch34 
+6b0b 580015ef setarg 0x15ef 
+6b0c e0a10000 istore 2 ,contw 
+6b0d 58001191 setarg 0x1191 
+6b0e e0a10000 istore 2 ,contw 
+6b0f 68008ac2 fetch 1 ,mem_rpn_dlci 
+6b10 e0a08000 istore 1 ,contw 
+6b11 58000007 setarg 0x000007 
+6b12 e0a28000 istore 5 ,contw 
+6b13 58000001 setarg 0x01 
+6b14 e0a10000 istore 2 ,contw 
+6b15 20406a2f call rfcomm_calculate_fcs_dlci0 
+6b16 e0a08000 istore 1 ,contw 
+6b17 20600000 rtn 
+
+parse_uih_rp:
+6b18 20206b19 branch parse_uih_rp_spp 
+
+parse_uih_rp_spp:
+6b19 47544035 bpatchx patch35_0 ,mem_patch35 
+6b1a 680084fd fetch 1 ,mem_current_frame_type 
+6b1b c039eb21 beq rfcomm_frame_type_ua ,parse_uih_rp_spp_ua 
+6b1c c01feb25 beq rfcomm_frame_type_sabm ,parse_uih_rp_spp_sabm 
+6b1d c077eb3f beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+6b1e c07feb37 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+6b1f c029eb46 beq rfcomm_frame_type_disconn ,parse_uih_rp_spp_disconn 
+6b20 20600000 rtn 
+
+parse_uih_rp_spp_ua:
+6b21 6800c254 fetch 1 ,mem_spp_state 
+6b22 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6b23 6000c254 store 1 ,mem_spp_state 
+6b24 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_rp_spp_sabm:
+6b25 6800c254 fetch 1 ,mem_spp_state 
+6b26 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6b27 79207e02 set1 rfcomm_channel_state_sabm ,pdata 
+6b28 6000c254 store 1 ,mem_spp_state 
+6b29 680084fb fetch 1 ,mem_current_adss 
+6b2a 20406a26 call rfcomm_calculate_fcs_ua 
+6b2b 600084fe store 1 ,mem_current_fcs 
+6b2c 20406bb6 call rfcomm_send_ua 
+6b2d 680084fb fetch 1 ,mem_current_adss 
+6b2e 1feb7e00 rshift2 pdata ,pdata 
+6b2f 6000c55d store 1 ,mem_pn_dlci 
+6b30 1febfe00 lshift2 pdata ,pdata 
+6b31 793ffe01 set0 rfcomm_address_cr ,pdata 
+6b32 79207e00 set1 rfcomm_address_ext_len ,pdata 
+6b33 d8404565 arg mem_hiufcs_spp ,temp 
+6b34 600904f7 storet 2 ,mem_contw_temp 
+6b35 20406a35 call rfcomm_save_fcs_uih 
+6b36 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_spp_uih_credits:
+6b37 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6b38 1fe20c00 copy pdata ,contr 
+6b39 1fe0fe01 increase 1 ,pdata 
+6b3a 60010501 store 2 ,mem_rfcomm_uih_payload_ptr 
+6b3b e8c08000 ifetch 1 ,contr 
+6b3c 6808c568 fetcht 1 ,mem_remote_credits 
+6b3d 9840fe00 iadd temp ,pdata 
+6b3e 6000c568 store 1 ,mem_remote_credits 
+
+parse_uih_spp_uih:
+6b3f 20406c42 call rfcomm_increase_credit_given 
+
+parse_uih_spp_uih_cont:
+6b40 20406a72 call get_rfcomm_snd_adss 
+6b41 20406c28 call rfcomm_send_uih_without_payload 
+6b42 20406c4b call spp_process_rx_data 
+6b43 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_rp_spp_disconn_send_event:
+6b44 700a9909 jam bt_evt_spp_disconnected ,mem_fifo_temp 
+6b45 20407d86 call ui_ipc_send_event 
+
+parse_uih_rp_spp_disconn:
+6b46 20406a0d call rfcomm_init_spp 
+6b47 680084fb fetch 1 ,mem_current_adss 
+6b48 20406a26 call rfcomm_calculate_fcs_ua 
+6b49 600084fe store 1 ,mem_current_fcs 
+6b4a 20406bb6 call rfcomm_send_ua 
+6b4b 20206b97 branch rfcomm_rx_process_end 
+
+rfcomm_rx_process_reconn:
+6b4c 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+6b4d 1fe20c00 copy pdata ,contr 
+6b4e 20406ab8 call get_rfcomm_head_struct 
+6b4f 680084fc fetch 1 ,mem_current_channel 
+6b50 c0006b52 beq 0 ,parse_dlci0_reconn 
+6b51 20206b86 branch parse_uih_reconn 
+
+parse_dlci0_reconn:
+6b52 4754c035 bpatchx patch35_1 ,mem_patch35 
+6b53 680084fd fetch 1 ,mem_current_frame_type 
+6b54 c01fea7d beq rfcomm_frame_type_sabm ,rfcomm_rx_process_dlci0_sabm 
+6b55 c039ea86 beq rfcomm_frame_type_ua ,rfcomm_rx_process_dlci0_ua 
+6b56 c077eb58 beq rfcomm_frame_type_uih ,parse_dlci0_reconn_uih 
+6b57 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih:
+6b58 68010501 fetch 2 ,mem_rfcomm_uih_payload_ptr 
+6b59 1fe20c00 copy pdata ,contr 
+6b5a 20406ac3 call get_rfcomm_uih_head_struct 
+6b5b 68008503 fetch 1 ,mem_uih_cmd_type 
+6b5c c020eb61 beq uih_param_neg_cmd ,parse_dlci0_reconn_uih_pn_cmd 
+6b5d c0206b61 beq uih_param_neg_res ,parse_dlci0_reconn_uih_pn_cmd 
+6b5e c038eb6c beq uih_modem_status_cmd ,parse_dlci0_reconn_uih_ms_cmd 
+6b5f c0386b7c beq uih_modem_status_res ,parse_dlci0_reconn_uih_ms_res 
+6b60 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_pn_cmd:
+6b61 20406aaf call parse_dlci0_rp_uih_pn_res_common 
+6b62 6800c55d fetch 1 ,mem_pn_dlci 
+6b63 1fe37e00 rshift pdata ,pdata 
+6b64 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b65 98467c00 isub temp ,null 
+6b66 2022eb68 branch parse_dlci0_reconn_uih_pn_cmd_spp ,zero 
+6b67 20202a8c branch assert 
+
+parse_dlci0_reconn_uih_pn_cmd_spp:
+6b68 6800c254 fetch 1 ,mem_spp_state 
+6b69 79207e01 set1 rfcomm_channel_state_pn_res ,pdata 
+6b6a 6000c254 store 1 ,mem_spp_state 
+6b6b 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_cmd:
+6b6c 20406ab1 call get_rfcomm_param_modem_status 
+6b6d 6800c56a fetch 1 ,mem_ms_channel 
+6b6e 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b6f 98467c00 isub temp ,null 
+6b70 2022eb73 branch parse_dlci0_reconn_uih_ms_cmd_spp ,zero 
+6b71 20202a8c branch assert 
+6b72 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_cmd_spp:
+6b73 6800c254 fetch 1 ,mem_spp_state 
+6b74 79207e05 set1 rfcomm_channel_state_rcv_ms_cmd ,pdata 
+6b75 79207e06 set1 rfcomm_channel_state_snd_ms_res ,pdata 
+6b76 6000c254 store 1 ,mem_spp_state 
+6b77 6808c55d fetcht 1 ,mem_pn_dlci 
+6b78 184b8400 lshift2 temp ,temp 
+6b79 18418403 or_into 3 ,temp 
+6b7a 20406c11 call rfcomm_send_modem_status_res 
+6b7b 20206b97 branch rfcomm_rx_process_end 
+
+parse_dlci0_reconn_uih_ms_res:
+6b7c 20406ab1 call get_rfcomm_param_modem_status 
+6b7d 6800c56a fetch 1 ,mem_ms_channel 
+6b7e 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b7f 98467c00 isub temp ,null 
+6b80 2022eb82 branch parse_dlci0_reconn_uih_ms_res_spp ,zero 
+6b81 20202a8c branch assert 
+
+parse_dlci0_reconn_uih_ms_res_spp:
+6b82 6800c254 fetch 1 ,mem_spp_state 
+6b83 79207e07 set1 rfcomm_channel_state_rcv_ms_res ,pdata 
+6b84 6000c254 store 1 ,mem_spp_state 
+6b85 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_reconn:
+6b86 680084fc fetch 1 ,mem_current_channel 
+6b87 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6b88 98467c00 isub temp ,null 
+6b89 2022eb8c branch parse_uih_reconn_spp ,zero 
+6b8a 20202a8c branch assert 
+6b8b 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_reconn_spp:
+6b8c 680084fd fetch 1 ,mem_current_frame_type 
+6b8d c039eb91 beq rfcomm_frame_type_ua ,parse_uih_reconn_spp_ua 
+6b8e c077eb3f beq rfcomm_frame_type_uih ,parse_uih_spp_uih 
+6b8f c07feb37 beq rfcomm_frame_type_uih_credits ,parse_uih_spp_uih_credits 
+6b90 c029eb96 beq rfcomm_frame_type_disconn ,parse_uih_reconn_spp_disconn 
+
+parse_uih_reconn_spp_ua:
+6b91 6800c254 fetch 1 ,mem_spp_state 
+6b92 79207e03 set1 rfcomm_channel_state_ua ,pdata 
+6b93 6000c254 store 1 ,mem_spp_state 
+6b94 20206b97 branch rfcomm_rx_process_end 
+
+parse_uih_reconn_spp_sabm:
+6b95 20206b95 branch parse_uih_reconn_spp_sabm 
+
+parse_uih_reconn_spp_disconn:
+6b96 20206b46 branch parse_uih_rp_spp_disconn 
+
+rfcomm_rx_process_end:
+6b97 20600000 rtn 
+
+rfcomm_send_more_pkt:
+6b98 6800c567 fetch 1 ,mem_rfcomm_send_more_pkt 
+6b99 207a0000 rtn blank 
+6b9a c001eb9c beq more_pkt_msc_cmd_spp ,rfcomm_send_more_pkt_msc_cmd_spp 
+6b9b 20202a8c branch assert 
+
+rfcomm_send_more_pkt_msc_cmd_spp:
+6b9c 70456700 jam 0 ,mem_rfcomm_send_more_pkt 
+6b9d 204052d2 call l2cap_malloc_rfcomm_channel 
+6b9e d8400001 arg spp_slave_channel ,temp 
+6b9f 6808c55d fetcht 1 ,mem_pn_dlci 
+6ba0 184b8400 lshift2 temp ,temp 
+
+rfcomm_send_more_pkt_msc_cmd_spp0:
+6ba1 18418403 or_into 0x03 ,temp 
+6ba2 da2000aa arg 0xaa ,rega 
+6ba3 20406bfc call rfcomm_send_modem_status_cmd 
+6ba4 204052e0 call l2cap_get_rfcomm_tx_buff 
+6ba5 18a20c00 copy contw ,contr 
+6ba6 e8c10000 ifetch 2 ,contr 
+6ba7 203a2a8c branch assert ,blank 
+6ba8 20600000 rtn 
+
+rfcomm_send_sabm:
+6ba9 204052e0 call l2cap_get_rfcomm_tx_buff 
+6baa 58000004 setarg 0x0004 
+6bab e0a10000 istore 2 ,contw 
+6bac 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6bad e0a10000 istore 2 ,contw 
+6bae 680084fb fetch 1 ,mem_current_adss 
+6baf e0a08000 istore 1 ,contw 
+6bb0 47554035 bpatchx patch35_2 ,mem_patch35 
+6bb1 5800013f setarg 0x013f 
+6bb2 e0a10000 istore 2 ,contw 
+6bb3 680084fe fetch 1 ,mem_current_fcs 
+6bb4 e0a08000 istore 1 ,contw 
+6bb5 20600000 rtn 
+
+rfcomm_send_ua:
+6bb6 204052d2 call l2cap_malloc_rfcomm_channel 
+6bb7 204052e0 call l2cap_get_rfcomm_tx_buff 
+6bb8 58000004 setarg 0x0004 
+6bb9 e0a10000 istore 2 ,contw 
+6bba 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6bbb e0a10000 istore 2 ,contw 
+6bbc 680084fb fetch 1 ,mem_current_adss 
+6bbd e0a08000 istore 1 ,contw 
+6bbe 4755c035 bpatchx patch35_3 ,mem_patch35 
+6bbf 58000173 setarg 0x0173 
+6bc0 e0a10000 istore 2 ,contw 
+6bc1 680084fe fetch 1 ,mem_current_fcs 
+6bc2 e0a08000 istore 1 ,contw 
+6bc3 20600000 rtn 
+
+rfcomm_send_param_neg_cmd:
+6bc4 204052e0 call l2cap_get_rfcomm_tx_buff 
+6bc5 5800000e setarg 0x000e 
+6bc6 e0a10000 istore 2 ,contw 
+6bc7 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6bc8 e0a10000 istore 2 ,contw 
+6bc9 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6bca 1fe3fe00 lshift pdata ,pdata 
+6bcb 79207e00 set1 0 ,pdata 
+6bcc e0a08000 istore 1 ,contw 
+6bcd 47564035 bpatchx patch35_4 ,mem_patch35 
+6bce 580015ef setarg 0x15ef 
+6bcf e0a10000 istore 2 ,contw 
+6bd0 58001183 setarg 0x1183 
+6bd1 e0a10000 istore 2 ,contw 
+6bd2 18427e00 copy temp ,pdata 
+6bd3 e0a08000 istore 1 ,contw 
+6bd4 580000f0 setarg 0x0000f0 
+6bd5 e0a18000 istore 3 ,contw 
+6bd6 5800007f setarg rfcomm_max_frame_size 
+6bd7 e0a10000 istore 2 ,contw 
+6bd8 58000000 setarg 0 
+6bd9 e0a08000 istore 1 ,contw 
+6bda 58000001 setarg 0x01 
+6bdb e0a08000 istore 1 ,contw 
+6bdc 20406a2f call rfcomm_calculate_fcs_dlci0 
+6bdd e0a08000 istore 1 ,contw 
+6bde 70456910 jam 0x10 ,mem_credit_given 
+6bdf 20600000 rtn 
+
+rfcomm_send_param_neg_res:
+6be0 204052d2 call l2cap_malloc_rfcomm_channel 
+6be1 204052e0 call l2cap_get_rfcomm_tx_buff 
+6be2 5800000e setarg 0x000e 
+6be3 e0a10000 istore 2 ,contw 
+6be4 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6be5 e0a10000 istore 2 ,contw 
+6be6 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6be7 1fe3fe00 lshift pdata ,pdata 
+6be8 79207e00 set1 0 ,pdata 
+6be9 e0a08000 istore 1 ,contw 
+6bea 4756c035 bpatchx patch35_5 ,mem_patch35 
+6beb 580015ef setarg 0x15ef 
+6bec e0a10000 istore 2 ,contw 
+6bed 58001181 setarg 0x1181 
+6bee e0a10000 istore 2 ,contw 
+6bef 6800c55d fetch 1 ,mem_pn_dlci 
+6bf0 e0a08000 istore 1 ,contw 
+6bf1 580000e0 setarg 0x0000e0 
+6bf2 e0a18000 istore 3 ,contw 
+6bf3 6801456c fetch 2 ,mem_rfcomm_max_frame_size 
+6bf4 e0a10000 istore 2 ,contw 
+6bf5 58000000 setarg 0x00 
+6bf6 e0a08000 istore 1 ,contw 
+6bf7 6800c56e fetch 1 ,mem_rfcomm_credit_init_data 
+6bf8 e0a08000 istore 1 ,contw 
+6bf9 20406a2f call rfcomm_calculate_fcs_dlci0 
+6bfa e0a08000 istore 1 ,contw 
+6bfb 20600000 rtn 
+
+rfcomm_send_modem_status_cmd:
+6bfc 204052e0 call l2cap_get_rfcomm_tx_buff 
+6bfd 58000008 setarg 0x0008 
+6bfe e0a10000 istore 2 ,contw 
+6bff 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c00 e0a10000 istore 2 ,contw 
+6c01 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6c02 1fe3fe00 lshift pdata ,pdata 
+6c03 79207e00 set1 0 ,pdata 
+6c04 e0a08000 istore 1 ,contw 
+6c05 47574035 bpatchx patch35_6 ,mem_patch35 
+6c06 580009ef setarg 0x09ef 
+6c07 e0a10000 istore 2 ,contw 
+6c08 580005e3 setarg 0x05e3 
+6c09 e0a10000 istore 2 ,contw 
+6c0a 18427e00 copy temp ,pdata 
+6c0b e0a08000 istore 1 ,contw 
+6c0c 5800008d setarg 0x8d 
+6c0d e0a08000 istore 1 ,contw 
+6c0e 20406a2f call rfcomm_calculate_fcs_dlci0 
+6c0f e0a08000 istore 1 ,contw 
+6c10 20600000 rtn 
+
+rfcomm_send_modem_status_res:
+6c11 204052d2 call l2cap_malloc_rfcomm_channel 
+6c12 204052e0 call l2cap_get_rfcomm_tx_buff 
+6c13 58000008 setarg 0x0008 
+6c14 e0a10000 istore 2 ,contw 
+6c15 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c16 e0a10000 istore 2 ,contw 
+6c17 18421600 copy temp ,timeup 
+6c18 6800c563 fetch 1 ,mem_rfcomm_initiator 
+6c19 1fe3fe00 lshift pdata ,pdata 
+6c1a 79207e00 set1 0 ,pdata 
+6c1b e0a08000 istore 1 ,contw 
+6c1c 4757c035 bpatchx patch35_7 ,mem_patch35 
+6c1d 580009ef setarg 0x09ef 
+6c1e e0a10000 istore 2 ,contw 
+6c1f 580005e1 setarg 0x05e1 
+6c20 e0a10000 istore 2 ,contw 
+6c21 19627e00 copy timeup ,pdata 
+6c22 e0a08000 istore 1 ,contw 
+6c23 5800008d setarg 0x8d 
+6c24 e0a08000 istore 1 ,contw 
+6c25 20406a2f call rfcomm_calculate_fcs_dlci0 
+6c26 e0a08000 istore 1 ,contw 
+6c27 20600000 rtn 
+
+rfcomm_send_uih_without_payload:
+6c28 47584036 bpatchx patch36_0 ,mem_patch36 
+6c29 6800c569 fetch 1 ,mem_credit_given 
+6c2a 207a0000 rtn blank 
+6c2b 68110112 hfetch 2 ,core_uart_rxitems 
+6c2c 247a0000 nrtn blank 
+6c2d 1a227e00 copy rega ,pdata 
+6c2e 60008a9b store 1 ,mem_pdatatemp + 1 
+6c2f 60088a9a storet 1 ,mem_pdatatemp 
+6c30 2040526e call l2cap_malloc_is_fifo_full 
+6c31 247a0000 nrtn blank 
+6c32 204052d2 call l2cap_malloc_rfcomm_channel 
+6c33 204052e0 call l2cap_get_rfcomm_tx_buff 
+6c34 58000005 setarg 0x05 
+6c35 e0a10000 istore 2 ,contw 
+6c36 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c37 e0a10000 istore 2 ,contw 
+6c38 6800850d fetch 1 ,mem_rfcomm_send_adss 
+6c39 e0a08000 istore 1 ,contw 
+6c3a 580001ff setarg 0x01ff 
+6c3b e0a10000 istore 2 ,contw 
+6c3c 6800c569 fetch 1 ,mem_credit_given 
+6c3d e0a08000 istore 1 ,contw 
+6c3e 6800c566 fetch 1 ,mem_hiufcs_spp_wcredits 
+6c3f e0a08000 istore 1 ,contw 
+6c40 70456900 jam 0 ,mem_credit_given 
+6c41 20600000 rtn 
+
+rfcomm_increase_credit_given:
+6c42 4758c036 bpatchx patch36_1 ,mem_patch36 
+6c43 6800c56b fetch 1 ,mem_credit_flag 
+6c44 c1008000 rtneq credit_enable 
+6c45 680104ff fetch 2 ,mem_current_length 
+6c46 207a0000 rtn blank 
+6c47 6800c569 fetch 1 ,mem_credit_given 
+6c48 1fe0fe01 increase 1 ,pdata 
+6c49 6000c569 store 1 ,mem_credit_given 
+6c4a 20600000 rtn 
+
+spp_process_rx_data:
+6c4b 6801456f fetch 2 ,mem_cb_receive_spp_data 
+6c4c 20207f9c branch callback_func 
+
+spp_tx_rfcomm_packet:
+6c4d 47594036 bpatchx patch36_2 ,mem_patch36 
+6c4e 6800c568 fetch 1 ,mem_remote_credits 
+6c4f 207a0000 rtn blank 
+6c50 1fe0ffff increase -1 ,pdata 
+6c51 6000c568 store 1 ,mem_remote_credits 
+6c52 6801455e fetch 2 ,mem_pn_max_frame_size 
+6c53 6809469f fetcht 2 ,mem_current_packet_length 
+6c54 98467c00 isub temp ,null 
+6c55 20216c57 branch ssp_tx_rfcomm_from_uart ,positive 
+6c56 6001469f store 2 ,mem_current_packet_length 
+
+ssp_tx_rfcomm_from_uart:
+6c57 6800c569 fetch 1 ,mem_credit_given 
+6c58 203a6c5f branch ssp_tx_rfcomm_from_uart_without_credit ,blank 
+6c59 70051001 jam 1 ,mem_rfcomm_send_offset 
+6c5a 6800c566 fetch 1 ,mem_hiufcs_spp_wcredits 
+6c5b 6000850f store 1 ,mem_rfcomm_send_fcs 
+6c5c 580000ff setarg rsp_rx_uih_wdata 
+6c5d 6000850e store 1 ,mem_rfcomm_send_frame_type 
+6c5e 20206c64 branch ssp_tx_rfcomm_from_uart_common 
+
+ssp_tx_rfcomm_from_uart_without_credit:
+6c5f 70051000 jam 0 ,mem_rfcomm_send_offset 
+6c60 6800c565 fetch 1 ,mem_hiufcs_spp 
+6c61 6000850f store 1 ,mem_rfcomm_send_fcs 
+6c62 580000ef setarg rsp_tx_uih 
+6c63 6000850e store 1 ,mem_rfcomm_send_frame_type 
+
+ssp_tx_rfcomm_from_uart_common:
+6c64 4759c036 bpatchx patch36_3 ,mem_patch36 
+6c65 6801469f fetch 2 ,mem_current_packet_length 
+6c66 1fe67c7f sub pdata ,127 ,null 
+6c67 20216c6b branch ssp_tx_rfcomm_from_uart_common0 ,positive 
+6c68 68008510 fetch 1 ,mem_rfcomm_send_offset 
+6c69 1fe0fe01 increase 1 ,pdata 
+6c6a 60008510 store 1 ,mem_rfcomm_send_offset 
+
+ssp_tx_rfcomm_from_uart_common0:
+6c6b 20406a72 call get_rfcomm_snd_adss 
+6c6c 6801469f fetch 2 ,mem_current_packet_length 
+6c6d 1fe0fe08 increase 8 ,pdata 
+6c6e 68088510 fetcht 1 ,mem_rfcomm_send_offset 
+6c6f 9840a200 iadd temp ,rega 
+6c70 20405240 call l2cap_malloc 
+6c71 60010277 store 2 ,mem_rfcomm_tx_buff_ptr 
+6c72 1fe0fe04 increase 4 ,pdata 
+6c73 60010279 store 2 ,mem_rfcomm_tx_payload_ptr 
+6c74 1fe20a00 copy pdata ,contw 
+6c75 6800850d fetch 1 ,mem_rfcomm_send_adss 
+6c76 e0a08000 istore 1 ,contw 
+6c77 6800850e fetch 1 ,mem_rfcomm_send_frame_type 
+6c78 e0a08000 istore 1 ,contw 
+6c79 20406c95 call ssp_tx_write_length 
+6c7a 20406ca6 call ssp_tx_write_given_credit 
+6c7b 475a4036 bpatchx patch36_4 ,mem_patch36 
+6c7c 68014571 fetch 2 ,mem_nl_rx_data_src 
+6c7d 1fe20600 copy pdata ,contru 
+6c7e 6801469f fetch 2 ,mem_current_packet_length 
+6c7f 1fe27200 copy pdata ,loopcnt 
+6c80 204066ea call uart_copy_rx_bytes_fast 
+6c81 18a20400 copy contw ,temp 
+6c82 18627e00 copy contru ,pdata 
+6c83 60014571 store 2 ,mem_nl_rx_data_src 
+6c84 18420a00 copy temp ,contw 
+6c85 6800850f fetch 1 ,mem_rfcomm_send_fcs 
+6c86 e0a08000 istore 1 ,contw 
+6c87 68010277 fetch 2 ,mem_rfcomm_tx_buff_ptr 
+6c88 1fe20a00 copy pdata ,contw 
+6c89 6801469f fetch 2 ,mem_current_packet_length 
+6c8a 68088510 fetcht 1 ,mem_rfcomm_send_offset 
+6c8b 9840fe00 iadd temp ,pdata 
+6c8c 1fe0fe04 increase 4 ,pdata 
+6c8d e0a10000 istore 2 ,contw 
+6c8e 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6c8f e0a10000 istore 2 ,contw 
+6c90 70456900 jam 0 ,mem_credit_given 
+6c91 68014573 fetch 2 ,mem_nl_rx_len_all 
+6c92 c0003a97 beq 0 ,module_hci_command_tx_spp_tx_complete 
+6c93 700b0500 jam hci_not_discard_packet ,mem_module_temp_nl_discard_packet 
+6c94 20600000 rtn 
+
+ssp_tx_write_length:
+6c95 475ac036 bpatchx patch36_5 ,mem_patch36 
+6c96 6801469f fetch 2 ,mem_current_packet_length 
+6c97 1fe67c7f sub pdata ,0x7f ,null 
+6c98 24216c9d nbranch ssp_tx_write_long_packet ,positive 
+6c99 1fe3fe00 lshift pdata ,pdata 
+6c9a 79207e00 set1 0 ,pdata 
+6c9b e0a08000 istore 1 ,contw 
+6c9c 20600000 rtn 
+
+ssp_tx_write_long_packet:
+6c9d 6801469f fetch 2 ,mem_current_packet_length 
+6c9e 1fe97e00 rshift3 pdata ,pdata 
+6c9f 1ff18400 rshift4 pdata ,temp 
+6ca0 1fe17e7f and_into 0x7f ,pdata 
+6ca1 1fe3fe00 lshift pdata ,pdata 
+6ca2 793ffe00 set0 0 ,pdata 
+6ca3 e0a08000 istore 1 ,contw 
+6ca4 e0a88000 istoret 1 ,contw 
+6ca5 20600000 rtn 
+
+ssp_tx_write_given_credit:
+6ca6 6800c569 fetch 1 ,mem_credit_given 
+6ca7 207a0000 rtn blank 
+6ca8 e0a08000 istore 1 ,contw 
+6ca9 20600000 rtn 
+
+scheduler_process:
+6caa 475b4036 bpatchx patch36_6 ,mem_patch36 
+6cab 20407d9c call check_51cmd 
+6cac 204032f6 call app_process_bb_event 
+6cad 2040631b call process_conn_sm 
+6cae 475bc036 bpatchx patch36_7 ,mem_patch36 
+6caf 204076dc call sp_calc_sequence 
+6cb0 204076b5 call simple_pairing_sequence 
+6cb1 204076c6 call master_simple_paring_sequence 
+6cb2 2040526e call l2cap_malloc_is_fifo_full 
+6cb3 247a0000 nrtn blank 
+6cb4 20404da9 call l2cap_call_proc_sigal_pending 
+6cb5 2040526e call l2cap_malloc_is_fifo_full 
+6cb6 247a0000 nrtn blank 
+6cb7 475c4037 bpatchx patch37_0 ,mem_patch37 
+6cb8 20406cf5 call process_upper_sm 
+6cb9 20404f64 call l2cap_send_config_req 
+6cba 20406b98 call rfcomm_send_more_pkt 
+
+scheduler_process0:
+6cbb 20406cbe call scheduler_tx_disconnect_hid 
+6cbc 475cc037 bpatchx patch37_1 ,mem_patch37 
+6cbd 202032f2 branch app_process_bt 
+
+scheduler_tx_disconnect_hid:
+6cbe 6800827f fetch 1 ,mem_control_tasks 
+6cbf c2805087 bbit1 l2cap_disconnect_interrupt ,l2cap_disconnect_interrupt_req 
+6cc0 c283d091 bbit1 l2cap_disconnect_control ,l2cap_disconnect_control_req 
+6cc1 20600000 rtn 
+
+scheduler_tx_l2cap_pkt:
+6cc2 475d4037 bpatchx patch37_2 ,mem_patch37 
+6cc3 20405274 call l2cap_malloc_is_fifo_empty 
+6cc4 207a0000 rtn blank 
+6cc5 6800804b fetch 1 ,mem_op 
+6cc6 c3830000 rtnbit1 op_txl2cap 
+6cc7 20405258 call l2cap_malloc_fifo_out 
+6cc8 6001016f store 2 ,mem_txptr 
+6cc9 1fe20c00 copy pdata ,contr 
+6cca e8c10000 ifetch 2 ,contr 
+6ccb 1fe0fe04 increase 4 ,pdata 
+6ccc 600141dc store 2 ,mem_tx_len 
+6ccd 7041db06 jam 6 ,mem_tx_lch 
+6cce 475dc037 bpatchx patch37_3 ,mem_patch37 
+6ccf 68014246 fetch 2 ,mem_l2cap_tx_multi_offset 
+6cd0 203a6cdd branch scheduler_tx_l2cap_start_pkt ,blank 
+6cd1 6800804b fetch 1 ,mem_op 
+6cd2 c4038000 rtnbit0 op_pkt_comp 
+6cd3 793ffe07 set0 op_pkt_comp ,pdata 
+6cd4 6000804b store 1 ,mem_op 
+6cd5 7041db05 jam 5 ,mem_tx_lch 
+6cd6 68094246 fetcht 2 ,mem_l2cap_tx_multi_offset 
+6cd7 6801016f fetch 2 ,mem_txptr 
+6cd8 9840fe00 iadd temp ,pdata 
+6cd9 6001016f store 2 ,mem_txptr 
+6cda 680141dc fetch 2 ,mem_tx_len 
+6cdb 98467e00 isub temp ,pdata 
+6cdc 600141dc store 2 ,mem_tx_len 
+
+scheduler_tx_l2cap_start_pkt:
+6cdd 475e4037 bpatchx patch37_4 ,mem_patch37 
+6cde 680141dc fetch 2 ,mem_tx_len 
+6cdf 203a2a8c branch assert ,blank 
+6ce0 d8400104 arg l2cap_max_pkt_len ,temp 
+6ce1 98467e00 isub temp ,pdata 
+6ce2 24216ce9 nbranch scheduler_tx_l2cap_last_pkt ,positive 
+6ce3 475ec037 bpatchx patch37_5 ,mem_patch37 
+6ce4 600941dc storet 2 ,mem_tx_len 
+6ce5 68014246 fetch 2 ,mem_l2cap_tx_multi_offset 
+6ce6 9840fe00 iadd temp ,pdata 
+6ce7 60014246 store 2 ,mem_l2cap_tx_multi_offset 
+6ce8 20206ceb branch scheduler_tx_l2cap_pkt_end 
+
+scheduler_tx_l2cap_last_pkt:
+6ce9 58000000 setarg 0 
+6cea 60014246 store 2 ,mem_l2cap_tx_multi_offset 
+
+scheduler_tx_l2cap_pkt_end:
+6ceb 6800804b fetch 1 ,mem_op 
+6cec 79207e06 set1 op_txl2cap ,pdata 
+6ced 6000804b store 1 ,mem_op 
+6cee 20600000 rtn 
+
+scheduler_start_upper_sm:
+6cef 6800c684 fetch 1 ,mem_ui_profile_supported 
+6cf0 c2806cf3 bbit1 support_hid ,scheduler_start_upper_sm_hid 
+6cf1 70028701 jam uppersm_reconn_sdp_conn ,mem_upper_sm_reconn 
+6cf2 20600000 rtn 
+
+scheduler_start_upper_sm_hid:
+6cf3 7002870f jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+6cf4 20600000 rtn 
+
+process_upper_sm:
+6cf5 6800c681 fetch 1 ,memui_reconnect_mode 
+6cf6 243a6cfb nbranch process_upper_sm_reconn ,blank 
+
+process_upper_sm_remote_page:
+6cf7 68008286 fetch 1 ,mem_upper_sm_remote_page 
+6cf8 207a0000 rtn blank 
+6cf9 70028600 jam 0 ,mem_upper_sm_remote_page 
+
+process_upper_sm_rp_wait:
+6cfa 20600000 rtn 
+
+process_upper_sm_reconn:
+6cfb 475f4037 bpatchx patch37_6 ,mem_patch37 
+6cfc 68008287 fetch 1 ,mem_upper_sm_reconn 
+6cfd 207a0000 rtn blank 
+6cfe c000ed1b beq uppersm_reconn_sdp_conn ,process_upper_sm_reconn_sdp_conn 
+6cff c0016d74 beq uppersm_reconn_sdp_conn_wait ,process_upper_sm_reconn_sdp_conn_wait 
+6d00 c001ed21 beq uppersm_reconn_sdp_cfg ,process_upper_sm_reconn_sdp_cfg 
+6d01 c0026d78 beq uppersm_reconn_sdp_cfg_wait ,process_upper_sm_reconn_sdp_cfg_wait 
+6d02 c01ded2b beq uppersm_reconn_ss_spp ,process_upper_sm_reconn_ss_spp 
+6d03 c01e6d7b beq uppersm_reconn_ss_spp_wait ,process_upper_sm_reconn_ss_spp_wait 
+6d04 c006ed30 beq uppersm_reconn_sdp_disconn ,process_upper_sm_reconn_sdp_disconn 
+6d05 c0076d80 beq uppersm_reconn_sdp_disconn_wait ,process_upper_sm_reconn_sdp_disconn_wait 
+6d06 c007ed33 beq uppersm_reconn_hid_ctrl_conn ,process_upper_sm_reconn_hid_ctrl_conn 
+6d07 c0086d86 beq uppersm_reconn_hid_ctrl_conn_wait ,process_upper_sm_reconn_hid_ctrl_conn_wait 
+6d08 c008ed39 beq uppersm_reconn_hid_ctrl_cfg ,process_upper_sm_reconn_hid_ctrl_cfg 
+6d09 c0096d8a beq uppersm_reconn_hid_ctrl_cfg_wait ,process_upper_sm_reconn_hid_ctrl_cfg_wait 
+6d0a c009ed3f beq uppersm_reconn_hid_int_conn ,process_upper_sm_reconn_hid_int_conn 
+6d0b c00a6d8e beq uppersm_reconn_hid_int_conn_wait ,process_upper_sm_reconn_hid_int_conn_wait 
+6d0c c00aed45 beq uppersm_reconn_hid_int_cfg ,process_upper_sm_reconn_hid_int_cfg 
+6d0d c00b6d92 beq uppersm_reconn_hid_int_cfg_wait ,process_upper_sm_reconn_hid_int_cfg_wait 
+6d0e c00bed4b beq uppersm_reconn_rfcomm_conn ,process_upper_sm_reconn_rfcomm_conn 
+6d0f c00c6d97 beq uppersm_reconn_rfcomm_conn_wait ,process_upper_sm_reconn_rfcomm_conn_wait 
+6d10 c00ced51 beq uppersm_reconn_rfcomm_cfg ,process_upper_sm_reconn_rfcomm_cfg 
+6d11 c00d6d9b beq uppersm_reconn_rfcomm_cfg_wait ,process_upper_sm_reconn_rfcomm_cfg_wait 
+6d12 c00ded57 beq uppersm_reconn_rfcomm_sabm ,process_upper_sm_reconn_rfcomm_sabm 
+6d13 c00e6d9f beq uppersm_reconn_rfcomm_sabm_wait ,process_upper_sm_reconn_rfcomm_sabm_wait 
+6d14 c00eed5d beq uppersm_reconn_spp_cmd_pn ,process_upper_sm_reconn_spp_cmd_pn 
+6d15 c00f6da4 beq uppersm_reconn_spp_cmd_pn_wait ,process_upper_sm_reconn_spp_cmd_pn_wait 
+6d16 c00fed63 beq uppersm_reconn_spp_sabm ,process_upper_sm_reconn_spp_sabm 
+6d17 c0106da8 beq uppersm_reconn_spp_sabm_wait ,process_upper_sm_reconn_spp_sabm_wait 
+6d18 c010ed6e beq uppersm_reconn_spp_cmd_ms ,process_upper_sm_reconn_spp_cmd_ms 
+6d19 c0116dac beq uppersm_reconn_spp_cmd_ms_wait ,process_upper_sm_reconn_spp_cmd_ms_wait 
+
+process_upper_sm_reconn_wait:
+6d1a 20600000 rtn 
+
+process_upper_sm_reconn_sdp_conn:
+6d1b 20406db7 call upper_sm_send_sdp_conn 
+6d1c 70028702 jam uppersm_reconn_sdp_conn_wait ,mem_upper_sm_reconn 
+6d1d 6800c250 fetch 1 ,mem_sdp_state 
+6d1e 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d1f 6000c250 store 1 ,mem_sdp_state 
+6d20 20600000 rtn 
+
+process_upper_sm_reconn_sdp_cfg:
+6d21 70028704 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+6d22 6800c250 fetch 1 ,mem_sdp_state 
+6d23 c3810000 rtnbit1 l2cap_channel_state_snd_cfg_req 
+6d24 70028703 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+6d25 20406dbe call upper_sm_send_sdp_cfg 
+6d26 70028704 jam uppersm_reconn_sdp_cfg_wait ,mem_upper_sm_reconn 
+6d27 6800c250 fetch 1 ,mem_sdp_state 
+6d28 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d29 6000c250 store 1 ,mem_sdp_state 
+6d2a 20600000 rtn 
+
+process_upper_sm_reconn_ss_spp:
+6d2b 20405274 call l2cap_malloc_is_fifo_empty 
+6d2c 247a0000 nrtn blank 
+6d2d 20406dcd call upper_sm_send_ss_spp 
+6d2e 7002873c jam uppersm_reconn_ss_spp_wait ,mem_upper_sm_reconn 
+6d2f 20600000 rtn 
+
+process_upper_sm_reconn_sdp_disconn:
+6d30 20406dc3 call upper_sm_send_sdp_disconn 
+6d31 7002870e jam uppersm_reconn_sdp_disconn_wait ,mem_upper_sm_reconn 
+6d32 20600000 rtn 
+
+process_upper_sm_reconn_hid_ctrl_conn:
+6d33 20406ddd call upper_sm_send_hid_ctrl_conn 
+6d34 70028710 jam uppersm_reconn_hid_ctrl_conn_wait ,mem_upper_sm_reconn 
+6d35 6800c252 fetch 1 ,mem_hid_control_state 
+6d36 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d37 6000c252 store 1 ,mem_hid_control_state 
+6d38 20600000 rtn 
+
+process_upper_sm_reconn_hid_ctrl_cfg:
+6d39 20406de4 call upper_sm_send_hid_ctrl_cfg 
+6d3a 70028712 jam uppersm_reconn_hid_ctrl_cfg_wait ,mem_upper_sm_reconn 
+6d3b 6800c252 fetch 1 ,mem_hid_control_state 
+6d3c 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d3d 6000c252 store 1 ,mem_hid_control_state 
+6d3e 20600000 rtn 
+
+process_upper_sm_reconn_hid_int_conn:
+6d3f 20406de9 call upper_sm_send_hid_int_conn 
+6d40 70028714 jam uppersm_reconn_hid_int_conn_wait ,mem_upper_sm_reconn 
+6d41 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d42 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d43 6000c253 store 1 ,mem_hid_interrupt_state 
+6d44 20600000 rtn 
+
+process_upper_sm_reconn_hid_int_cfg:
+6d45 20406df0 call upper_sm_send_hid_int_cfg 
+6d46 70028716 jam uppersm_reconn_hid_int_cfg_wait ,mem_upper_sm_reconn 
+6d47 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d48 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d49 6000c253 store 1 ,mem_hid_interrupt_state 
+6d4a 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_conn:
+6d4b 20406dd1 call upper_sm_send_rfcomm_conn 
+6d4c 70028718 jam uppersm_reconn_rfcomm_conn_wait ,mem_upper_sm_reconn 
+6d4d 6800c251 fetch 1 ,mem_rfcomm_state 
+6d4e 79207e00 set1 l2cap_channel_state_conn_req ,pdata 
+6d4f 6000c251 store 1 ,mem_rfcomm_state 
+6d50 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_cfg:
+6d51 20406dd8 call upper_sm_send_rfcomm_cfg 
+6d52 7002871a jam uppersm_reconn_rfcomm_cfg_wait ,mem_upper_sm_reconn 
+6d53 6800c251 fetch 1 ,mem_rfcomm_state 
+6d54 79207e02 set1 l2cap_channel_state_snd_cfg_req ,pdata 
+6d55 6000c251 store 1 ,mem_rfcomm_state 
+6d56 20600000 rtn 
+
+process_upper_sm_reconn_rfcomm_sabm:
+6d57 20406df5 call upper_sm_send_rfcomm_sabm 
+6d58 7002871c jam uppersm_reconn_rfcomm_sabm_wait ,mem_upper_sm_reconn 
+6d59 6800c251 fetch 1 ,mem_rfcomm_state 
+6d5a 79207e06 set1 l2cap_channel_rfcomm_only_sabm ,pdata 
+6d5b 6000c251 store 1 ,mem_rfcomm_state 
+6d5c 20600000 rtn 
+
+process_upper_sm_reconn_spp_cmd_pn:
+6d5d 20406dfc call upper_sm_send_spp_cmd_pn 
+6d5e 6800c254 fetch 1 ,mem_spp_state 
+6d5f 79207e00 set1 rfcomm_channel_state_pn_cmd 
+6d60 6000c254 store 1 ,mem_spp_state 
+6d61 7002871e jam uppersm_reconn_spp_cmd_pn_wait ,mem_upper_sm_reconn 
+6d62 20600000 rtn 
+
+process_upper_sm_reconn_spp_sabm:
+6d63 20406e02 call upper_sm_send_spp_sabm 
+6d64 6800c254 fetch 1 ,mem_spp_state 
+6d65 79207e02 set1 rfcomm_channel_state_sabm 
+6d66 6000c254 store 1 ,mem_spp_state 
+6d67 70028720 jam uppersm_reconn_spp_sabm_wait ,mem_upper_sm_reconn 
+6d68 6800c564 fetch 1 ,mem_remote_spp_channel 
+6d69 1fe9fe00 lshift3 pdata ,pdata 
+6d6a 1fe1fe03 or_into 3 ,pdata 
+6d6b d8404565 arg mem_hiufcs_spp ,temp 
+6d6c 600904f7 storet 2 ,mem_contw_temp 
+6d6d 20206a35 branch rfcomm_save_fcs_uih 
+
+process_upper_sm_reconn_spp_cmd_ms:
+6d6e 20406e0c call upper_sm_send_spp_cmd_ms 
+6d6f 6800c254 fetch 1 ,mem_spp_state 
+6d70 79207e04 set1 rfcomm_channel_state_snd_ms_cmd 
+6d71 6000c254 store 1 ,mem_spp_state 
+6d72 70028722 jam uppersm_reconn_spp_cmd_ms_wait ,mem_upper_sm_reconn 
+6d73 20600000 rtn 
+
+process_upper_sm_reconn_sdp_conn_wait:
+6d74 6800c250 fetch 1 ,mem_sdp_state 
+6d75 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d76 70028703 jam uppersm_reconn_sdp_cfg ,mem_upper_sm_reconn 
+6d77 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_sdp_cfg_wait:
+6d78 6800c250 fetch 1 ,mem_sdp_state 
+6d79 c19f8000 rtnne l2cap_channel_setup_complete 
+6d7a 7002873b jam uppersm_reconn_ss_spp ,mem_upper_sm_reconn 
+
+process_upper_sm_reconn_ss_spp_wait:
+6d7b 68008285 fetch 1 ,mem_message_to_uppersm 
+6d7c c18b8000 rtnne recieve_ss_reasult_hf 
+6d7d 70028500 jam 0 ,mem_message_to_uppersm 
+6d7e 7002870d jam uppersm_reconn_sdp_disconn ,mem_upper_sm_reconn 
+6d7f 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_sdp_disconn_wait:
+6d80 6800c250 fetch 1 ,mem_sdp_state 
+6d81 247a0000 nrtn blank 
+6d82 6800c684 fetch 1 ,mem_ui_profile_supported 
+6d83 c2806daf bbit1 support_hid ,process_upper_sm_reconn_setup_hid 
+6d84 c2836db1 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+6d85 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+6d86 6800c252 fetch 1 ,mem_hid_control_state 
+6d87 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d88 70028711 jam uppersm_reconn_hid_ctrl_cfg ,mem_upper_sm_reconn 
+6d89 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+6d8a 6800c252 fetch 1 ,mem_hid_control_state 
+6d8b c19f8000 rtnne l2cap_channel_setup_complete 
+6d8c 70028713 jam uppersm_reconn_hid_int_conn ,mem_upper_sm_reconn 
+6d8d 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_int_conn_wait:
+6d8e 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d8f c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d90 70028715 jam uppersm_reconn_hid_int_cfg ,mem_upper_sm_reconn 
+6d91 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_hid_int_cfg_wait:
+6d92 6800c253 fetch 1 ,mem_hid_interrupt_state 
+6d93 c19f8000 rtnne l2cap_channel_setup_complete 
+6d94 6800c684 fetch 1 ,mem_ui_profile_supported 
+6d95 c2836db1 bbit1 support_spp ,process_upper_sm_reconn_setup_rfcomm 
+6d96 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_rfcomm_conn_wait:
+6d97 6800c251 fetch 1 ,mem_rfcomm_state 
+6d98 c4008000 rtnbit0 l2cap_channel_state_conn_res 
+6d99 70028719 jam uppersm_reconn_rfcomm_cfg ,mem_upper_sm_reconn 
+6d9a 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_rfcomm_cfg_wait:
+6d9b 6800c251 fetch 1 ,mem_rfcomm_state 
+6d9c c19f8000 rtnne l2cap_channel_setup_complete 
+6d9d 7002871b jam uppersm_reconn_rfcomm_sabm ,mem_upper_sm_reconn 
+6d9e 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_rfcomm_sabm_wait:
+6d9f 6800c251 fetch 1 ,mem_rfcomm_state 
+6da0 c1ff8000 rtnne l2cap_channel_rfcomm_dlci0_opened 
+6da1 6800c684 fetch 1 ,mem_ui_profile_supported 
+6da2 c2836db3 bbit1 support_spp ,process_upper_sm_reconn_setup_spp 
+6da3 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_spp_cmd_pn_wait:
+6da4 6800c254 fetch 1 ,mem_spp_state 
+6da5 c4008000 rtnbit0 rfcomm_channel_state_pn_res 
+6da6 7002871f jam uppersm_reconn_spp_sabm ,mem_upper_sm_reconn 
+6da7 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_spp_sabm_wait:
+6da8 6800c254 fetch 1 ,mem_spp_state 
+6da9 c4018000 rtnbit0 rfcomm_channel_state_ua 
+6daa 70028721 jam uppersm_reconn_spp_cmd_ms ,mem_upper_sm_reconn 
+6dab 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_spp_cmd_ms_wait:
+6dac 6800c254 fetch 1 ,mem_spp_state 
+6dad c1ff8000 rtnne rfcomm_channel_setup_complete 
+6dae 20206db5 branch process_upper_sm_reconn_termination 
+
+process_upper_sm_reconn_setup_hid:
+6daf 7002870f jam uppersm_reconn_hid_ctrl_conn ,mem_upper_sm_reconn 
+6db0 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_setup_rfcomm:
+6db1 70028717 jam uppersm_reconn_rfcomm_conn ,mem_upper_sm_reconn 
+6db2 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_setup_spp:
+6db3 7002871d jam uppersm_reconn_spp_cmd_pn ,mem_upper_sm_reconn 
+6db4 20206cfb branch process_upper_sm_reconn 
+
+process_upper_sm_reconn_termination:
+6db5 70028700 jam 0 ,mem_upper_sm_reconn 
+6db6 20600000 rtn 
+
+upper_sm_send_sdp_conn:
+6db7 475fc037 bpatchx patch37_7 ,mem_patch37 
+6db8 204052b8 call l2cap_malloc_signal_channel 
+6db9 58000001 setarg psm_sdp 
+6dba 1fe20400 copy pdata ,temp 
+6dbb 58000050 setarg l2cap_sdp_channel 
+6dbc 1fe21600 copy pdata ,timeup 
+6dbd 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_sdp_cfg:
+6dbe 47604038 bpatchx patch38_0 ,mem_patch38 
+6dbf 204052b8 call l2cap_malloc_signal_channel 
+6dc0 68014248 fetch 2 ,mem_sdp_remote_cid 
+6dc1 1fe20400 copy pdata ,temp 
+6dc2 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_sdp_disconn:
+6dc3 4760c038 bpatchx patch38_1 ,mem_patch38 
+6dc4 204052b8 call l2cap_malloc_signal_channel 
+6dc5 68014248 fetch 2 ,mem_sdp_remote_cid 
+6dc6 1fe20400 copy pdata ,temp 
+6dc7 d9600050 arg l2cap_sdp_channel ,timeup 
+6dc8 204050cc call ml2cap_send_signal_disconn_req 
+6dc9 6800c250 fetch 1 ,mem_sdp_state 
+6dca 793ffe05 set0 l2cap_channel_state_rcv_cfg_res ,pdata 
+6dcb 6000c250 store 1 ,mem_sdp_state 
+6dcc 20600000 rtn 
+
+upper_sm_send_ss_spp:
+6dcd 47614038 bpatchx patch38_2 ,mem_patch38 
+6dce 204052c5 call l2cap_malloc_sdp_channel 
+6dcf 20407138 call sdp_send_spp_request 
+6dd0 202050e7 branch msdp_send_req_done 
+
+upper_sm_send_rfcomm_conn:
+6dd1 4761c038 bpatchx patch38_3 ,mem_patch38 
+6dd2 204052b8 call l2cap_malloc_signal_channel 
+6dd3 58000003 setarg psm_rfcomm 
+6dd4 1fe20400 copy pdata ,temp 
+6dd5 58000051 setarg l2cap_rfcomm_channel 
+6dd6 1fe21600 copy pdata ,timeup 
+6dd7 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_rfcomm_cfg:
+6dd8 47624038 bpatchx patch38_4 ,mem_patch38 
+6dd9 204052b8 call l2cap_malloc_signal_channel 
+6dda 6801424a fetch 2 ,mem_rfcomm_remote_cid 
+6ddb 1fe20400 copy pdata ,temp 
+6ddc 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_hid_ctrl_conn:
+6ddd 4762c038 bpatchx patch38_5 ,mem_patch38 
+6dde 204052b8 call l2cap_malloc_signal_channel 
+6ddf 58000011 setarg psm_hid_control 
+6de0 1fe20400 copy pdata ,temp 
+6de1 58000052 setarg l2cap_hid_control_channel 
+6de2 1fe21600 copy pdata ,timeup 
+6de3 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_hid_ctrl_cfg:
+6de4 47634038 bpatchx patch38_6 ,mem_patch38 
+6de5 204052b8 call l2cap_malloc_signal_channel 
+6de6 6801424c fetch 2 ,mem_hid_ctrl_remote_cid 
+6de7 1fe20400 copy pdata ,temp 
+6de8 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_hid_int_conn:
+6de9 4763c038 bpatchx patch38_7 ,mem_patch38 
+6dea 204052b8 call l2cap_malloc_signal_channel 
+6deb 58000013 setarg psm_hid_interrupt 
+6dec 1fe20400 copy pdata ,temp 
+6ded 58000053 setarg l2cap_hid_interrupt_channel 
+6dee 1fe21600 copy pdata ,timeup 
+6def 202050a8 branch ml2cap_send_signal_connect_req 
+
+upper_sm_send_hid_int_cfg:
+6df0 47644039 bpatchx patch39_0 ,mem_patch39 
+6df1 204052b8 call l2cap_malloc_signal_channel 
+6df2 6801424e fetch 2 ,mem_hid_int_remote_cid 
+6df3 1fe20400 copy pdata ,temp 
+6df4 202050b7 branch ml2cap_send_signal_config_req 
+
+upper_sm_send_rfcomm_sabm:
+6df5 4764c039 bpatchx patch39_1 ,mem_patch39 
+6df6 204052d2 call l2cap_malloc_rfcomm_channel 
+6df7 7004fb03 jam 3 ,mem_current_adss 
+6df8 7004fe1c jam 0x1c ,mem_current_fcs 
+6df9 20406ba9 call rfcomm_send_sabm 
+6dfa 70456301 jam 1 ,mem_rfcomm_initiator 
+6dfb 20600000 rtn 
+
+upper_sm_send_spp_cmd_pn:
+6dfc 47654039 bpatchx patch39_2 ,mem_patch39 
+6dfd 204052d2 call l2cap_malloc_rfcomm_channel 
+6dfe 6808c564 fetcht 1 ,mem_remote_spp_channel 
+6dff 20406a79 call channel_to_dlci 
+6e00 6008c55d storet 1 ,mem_pn_dlci 
+6e01 20206bc4 branch rfcomm_send_param_neg_cmd 
+
+upper_sm_send_spp_sabm:
+6e02 4765c039 bpatchx patch39_3 ,mem_patch39 
+6e03 204052d2 call l2cap_malloc_rfcomm_channel 
+6e04 6808c55d fetcht 1 ,mem_pn_dlci 
+6e05 20406a73 call dlci_to_address_cmd 
+6e06 20406a1a call rfcomm_calculate_fcs_sabm 
+6e07 600084fe store 1 ,mem_current_fcs 
+6e08 6808c55d fetcht 1 ,mem_pn_dlci 
+6e09 20406a73 call dlci_to_address_cmd 
+6e0a 600884fb storet 1 ,mem_current_adss 
+6e0b 20206ba9 branch rfcomm_send_sabm 
+
+upper_sm_send_spp_cmd_ms:
+6e0c 47664039 bpatchx patch39_4 ,mem_patch39 
+6e0d 204052d2 call l2cap_malloc_rfcomm_channel 
+6e0e 6808c55d fetcht 1 ,mem_pn_dlci 
+6e0f 20406a73 call dlci_to_address_cmd 
+6e10 20206bfc branch rfcomm_send_modem_status_cmd 
+
+sdp_process:
+6e11 4766c039 bpatchx patch39_5 ,mem_patch39 
+6e12 68010264 fetch 2 ,mem_l2cap_payload_ptr 
+6e13 98000c00 iforce contr 
+6e14 e8c08000 ifetch 1 ,contr 
+6e15 1fe22400 copy pdata ,regb 
+6e16 6000851b store 1 ,mem_sdp_pduid 
+6e17 e8c10000 ifetch 2 ,contr 
+6e18 6001051c store 2 ,mem_sdp_transactionid 
+6e19 e8c08000 ifetch 1 ,contr 
+6e1a 1fed1600 lshift8 pdata ,timeup 
+6e1b e8c08000 ifetch 1 ,contr 
+6e1c 99609600 iadd timeup ,timeup 
+6e1d 47674039 bpatchx patch39_6 ,mem_patch39 
+6e1e 18c20400 copy contr ,temp 
+6e1f df200004 arg 4 ,loopcnt 
+6e20 d8a0052a arg mem_sdp_handle_list ,contw 
+6e21 20407ec6 call memset0 
+6e22 18420c00 copy temp ,contr 
+6e23 1a427e00 deposit regb 
+6e24 c000efba beq sdp_error_res ,sdp_process_error_res 
+6e25 c0016e2c beq sdp_search_req ,sdp_process_ss_req 
+6e26 c001efba beq sdp_search_res ,sdp_process_ss_res 
+6e27 c0026e54 beq sdp_attribute_req ,sdp_process_sa_req 
+6e28 c002efba beq sdp_attribute_res ,sdp_process_sa_res 
+6e29 c0036f02 beq sdp_searchattrib_req ,sdp_process_ssa_req 
+6e2a c003efba beq sdp_searchattrib_res ,sdp_process_ssa_res 
+6e2b 20206fc1 branch sdp_insufficient_resource 
+
+sdp_process_ss_req:
+6e2c 4767c039 bpatchx patch39_7 ,mem_patch39 
+6e2d 20406fd0 call ask_serviceclassid 
+6e2e 2841fe01 compare 1 ,temp ,0xff 
+6e2f 2020f040 branch ss_empty_rsp ,true 
+6e30 2841feff compare 0xff ,temp ,0xff 
+6e31 2020efc4 branch sdp_invalid_request_syntax ,true 
+6e32 e8c10000 ifetch 2 ,contr 
+6e33 60010522 store 2 ,mem_sdp_record_maxcnt 
+6e34 196097fe increase -2 ,timeup 
+6e35 196097ff increase -1 ,timeup 
+6e36 2422efbe nbranch sdp_invalid_pdu_size ,zero 
+6e37 d9600511 arg mem_sdp_uuid_search_ptr ,timeup 
+6e38 e9610000 ifetch 2 ,timeup 
+6e39 207a0000 rtn blank 
+6e3a 20407082 call search_all_uuid 
+6e3b 204052d0 call l2cap_get_sdp_tx_payload 
+6e3c 18007e03 force 3 ,pdata 
+6e3d e0a08000 istore 1 ,contw 
+6e3e 6801051c fetch 2 ,mem_sdp_transactionid 
+6e3f e0a10000 istore 2 ,contw 
+6e40 18ebfe00 lshift2 queue ,pdata 
+6e41 1fe0fe05 add pdata ,5 ,pdata 
+6e42 1fe0a605 add pdata ,5 ,regc 
+6e43 1ff0fe00 byteswap pdata ,pdata 
+6e44 e0a10000 istore 2 ,contw 
+6e45 18e27e00 deposit queue 
+6e46 1ff0fe00 byteswap pdata ,pdata 
+6e47 e0a10000 istore 2 ,contw 
+6e48 e0a10000 istore 2 ,contw 
+6e49 d8c0052a arg mem_sdp_handle_list ,contr 
+6e4a 18e27200 copy queue ,loopcnt 
+6e4b 2022ee4f branch ss_req_blank ,zero 
+
+ss_req_loop:
+6e4c e8c20000 ifetch 4 ,contr 
+6e4d e0a20000 istore 4 ,contw 
+6e4e c2006e4c loop ss_req_loop 
+
+ss_req_blank:
+6e4f 18007e00 force 0 ,pdata 
+6e50 e0a08000 istore 1 ,contw 
+6e51 1a627e00 deposit regc 
+6e52 60010275 store 2 ,mem_sdp_tx_pkt_length 
+6e53 20600000 rtn 
+
+sdp_process_sa_req:
+6e54 4768403a bpatchx patch3a_0 ,mem_patch3a 
+6e55 e8c20000 ifetch 4 ,contr 
+6e56 60020524 store 4 ,mem_sdp_record_handle 
+6e57 196097fc increase -4 ,timeup 
+6e58 20406f2e call sdp_store_maxbyte 
+6e59 60010520 store 2 ,mem_sdp_attribute_maxbyte 
+6e5a 196097fe increase -2 ,timeup 
+6e5b 20407028 call dataelementtype6 
+6e5c 2022efc4 branch sdp_invalid_request_syntax ,zero 
+6e5d 2a21fe05 compare 5 ,rega ,0xff 
+6e5e 2020ee62 branch sa_judge_wholerange ,true 
+
+sa_isnot_wholerange:
+6e5f d8a0052a arg mem_sdp_attrib_list ,contw 
+6e60 18000e00 force 0 ,queue 
+6e61 20206e71 branch sa_req_loop 
+
+sa_judge_wholerange:
+6e62 e8c08000 ifetch 1 ,contr 
+6e63 c0856fc4 bne sdp_attribute_range ,sdp_invalid_request_syntax 
+6e64 e8c10000 ifetch 2 ,contr 
+6e65 243a6e6f nbranch sa_judge_wholerange_false1 ,blank 
+6e66 e8c08000 ifetch 1 ,contr 
+6e67 c0ffee6d bne 0xff ,sa_judge_wholerange_false2 
+6e68 e8c08000 ifetch 1 ,contr 
+6e69 c0ffee6b bne 0xff ,sa_judge_wholerange_false3 
+6e6a 20206eb8 branch sa_req_all 
+
+sa_judge_wholerange_false3:
+6e6b 18c08dfb increase -5 ,contr 
+6e6c 20206e5f branch sa_isnot_wholerange 
+
+sa_judge_wholerange_false2:
+6e6d 18c08dfc increase -4 ,contr 
+6e6e 20206e5f branch sa_isnot_wholerange 
+
+sa_judge_wholerange_false1:
+6e6f 18c08dfd increase -3 ,contr 
+6e70 20206e5f branch sa_isnot_wholerange 
+
+sa_req_loop:
+6e71 e8c08000 ifetch 1 ,contr 
+6e72 c004ee86 beq sdp_attribute_id ,sa_req_one_id 
+6e73 c0056e74 beq sdp_attribute_range ,sa_req_range 
+
+sa_req_range:
+6e74 e8c10000 ifetch 2 ,contr 
+6e75 e0a10000 istore 2 ,contw 
+6e76 18e08e01 increase 1 ,queue 
+6e77 1ff0a400 byteswap pdata ,regb 
+6e78 e8c10000 ifetch 2 ,contr 
+6e79 1ff0fe00 byteswap pdata ,pdata 
+
+sa_req_range_id_increase:
+6e7a 1a40a401 increase 1 ,regb 
+6e7b 9a467c00 isub regb ,null 
+6e7c 24216e83 nbranch sa_req_range_id_finish ,positive 
+6e7d 1fe22600 copy pdata ,regc 
+6e7e 1a50fe00 byteswap regb ,pdata 
+6e7f e0a10000 istore 2 ,contw 
+6e80 18e08e01 increase 1 ,queue 
+6e81 1a627e00 copy regc ,pdata 
+6e82 20206e7a branch sa_req_range_id_increase 
+
+sa_req_range_id_finish:
+6e83 196097fb increase -5 ,timeup 
+6e84 1a20a3fb increase -5 ,rega 
+6e85 20206e8b branch sa_req_check_next_id 
+
+sa_req_one_id:
+6e86 e8c10000 ifetch 2 ,contr 
+6e87 e0a10000 istore 2 ,contw 
+6e88 18e08e01 increase 1 ,queue 
+6e89 196097fd increase -3 ,timeup 
+6e8a 1a20a3fd increase -3 ,rega 
+
+sa_req_check_next_id:
+6e8b 24216fc4 nbranch sdp_invalid_request_syntax ,positive 
+6e8c 2422ee71 nbranch sa_req_loop ,zero 
+6e8d 196097ff increase -1 ,timeup 
+6e8e 2422efc4 nbranch sdp_invalid_request_syntax ,zero 
+6e8f 204052d0 call l2cap_get_sdp_tx_payload 
+6e90 18a08a0a increase 10 ,contw 
+6e91 da20052a arg mem_sdp_attrib_list ,rega 
+
+sa_req_handle_attributelist_next:
+6e92 18e27e00 copy queue ,pdata 
+6e93 203a6ea5 branch sa_req_handle_attributelist_end ,blank 
+6e94 ea210000 ifetch 2 ,rega 
+6e95 203a6ea5 branch sa_req_handle_attributelist_end ,blank 
+6e96 98002400 iforce regb 
+6e97 68020524 fetch 4 ,mem_sdp_record_handle 
+6e98 98000400 iforce temp 
+6e99 204070e7 call search_handle_attrib 
+6e9a 18c27e00 copy contr ,pdata 
+6e9b 203a6ea2 branch sa_req_handle_attributelist_notfound ,blank 
+6e9c 18c08dfd increase -3 ,contr 
+6e9d e8c18000 ifetch 3 ,contr 
+6e9e e0a18000 istore 3 ,contw 
+6e9f 2040705b call sdp_data_len 
+6ea0 98007200 iforce loopcnt 
+6ea1 20407f01 call memcpy 
+
+sa_req_handle_attributelist_notfound:
+6ea2 1a20a202 increase 2 ,rega 
+6ea3 18e08fff increase -1 ,queue 
+6ea4 20206e92 branch sa_req_handle_attributelist_next 
+
+sa_req_handle_attributelist_end:
+6ea5 da200005 arg sdp_attribute_res ,rega 
+6ea6 20406f84 call ssa_req_range_lastfreg_common 
+6ea7 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+6ea8 c005f043 beq 11 ,sa_empty_rsp 
+6ea9 20206f9a branch ssa_req_range_attrbutes_length_no_continue 
+
+sdp_store_continue_common:
+6eaa e8c08000 ifetch 1 ,contr 
+6eab c0006eae beq 0 ,sdp_store_continue_0byte 
+6eac c000eeb0 beq 1 ,sdp_store_continue_1byte 
+6ead c0016eb3 beq 2 ,sdp_store_continue_2byte 
+
+sdp_store_continue_0byte:
+6eae 196097ff increase -1 ,timeup 
+6eaf 20206eb6 branch sdp_store_continue_end 
+
+sdp_store_continue_1byte:
+6eb0 e8c08000 ifetch 1 ,contr 
+6eb1 196097fe increase -2 ,timeup 
+6eb2 20206eb6 branch sdp_store_continue_end 
+
+sdp_store_continue_2byte:
+6eb3 e8c10000 ifetch 2 ,contr 
+6eb4 1ff0fe00 byteswap pdata ,pdata 
+6eb5 196097fd increase -3 ,timeup 
+
+sdp_store_continue_end:
+6eb6 60010519 store 2 ,mem_sdp_continue_byte 
+6eb7 20600000 rtn 
+
+sa_req_all:
+6eb8 196097fb increase -5 ,timeup 
+6eb9 20406eaa call sdp_store_continue_common 
+6eba 2422efbe nbranch sdp_invalid_pdu_size ,zero 
+6ebb 680a0524 fetcht 4 ,mem_sdp_record_handle 
+6ebc 204070b1 call search_handle 
+6ebd 2422efbb nbranch sdp_invalid_service_record_handle ,zero 
+6ebe 18c22200 copy contr ,rega 
+6ebf 204052d0 call l2cap_get_sdp_tx_payload 
+6ec0 1a220c00 copy rega ,contr 
+6ec1 18a08a03 increase 3 ,contw 
+6ec2 18c21600 copy contr ,timeup 
+6ec3 20407062 call sdp_get_data 
+6ec4 1fe22200 copy pdata ,rega 
+6ec5 68010519 fetch 2 ,mem_sdp_continue_byte 
+6ec6 1fe22400 copy pdata ,regb 
+6ec7 1a227e00 copy rega ,pdata 
+6ec8 9a462400 isub regb ,regb 
+6ec9 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6eca 9a467c00 isub regb ,null 
+6ecb 24216ee7 nbranch sa_req_all_fragment_sdp ,positive 
+6ecc 78547c00 disable user 
+6ecd 68010519 fetch 2 ,mem_sdp_continue_byte 
+6ece 203a6eda branch sa_req_all_fisrt_fragment ,blank 
+6ecf 99608c00 iadd timeup ,contr 
+6ed0 1a40a403 increase 3 ,regb 
+6ed1 1a427200 copy regb ,loopcnt 
+6ed2 1f227e00 copy loopcnt ,pdata 
+6ed3 1fe0fe03 increase 3 ,pdata 
+6ed4 1ff0fe00 byteswap pdata ,pdata 
+6ed5 e0a10000 istore 2 ,contw 
+6ed6 1f227e00 copy loopcnt ,pdata 
+6ed7 1ff0fe00 byteswap pdata ,pdata 
+6ed8 e0a10000 istore 2 ,contw 
+6ed9 20206ef5 branch sa_req_all_answer_attributelist_full_loop 
+
+sa_req_all_fisrt_fragment:
+6eda 1a20f206 add rega ,6 ,loopcnt 
+6edb 20346ede branch sa_req_all_parlength_continue_byte ,user 
+6edc 1f30fe00 byteswap loopcnt ,pdata 
+6edd 20206ee1 branch sa_req_all_parlength_continue_byte_end 
+
+sa_req_all_parlength_continue_byte:
+6ede 1f227e00 copy loopcnt ,pdata 
+6edf 1fe0fe02 increase 2 ,pdata 
+6ee0 1ff0fe00 byteswap pdata ,pdata 
+
+sa_req_all_parlength_continue_byte_end:
+6ee1 e0a10000 istore 2 ,contw 
+6ee2 1f20f3fd increase -3 ,loopcnt 
+6ee3 1f30fe00 byteswap loopcnt ,pdata 
+6ee4 e0a10000 istore 2 ,contw 
+6ee5 19620c00 copy timeup ,contr 
+6ee6 20206ef5 branch sa_req_all_answer_attributelist_full_loop 
+
+sa_req_all_fragment_sdp:
+6ee7 78347c00 enable user 
+6ee8 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6ee9 1fe22200 copy pdata ,rega 
+6eea 1a227200 copy rega ,loopcnt 
+6eeb 68010519 fetch 2 ,mem_sdp_continue_byte 
+6eec 203a6eda branch sa_req_all_fisrt_fragment ,blank 
+6eed 99608c00 iadd timeup ,contr 
+6eee 1a227e00 copy rega ,pdata 
+6eef 1fe0fe05 increase 5 ,pdata 
+6ef0 1ff0fe00 byteswap pdata ,pdata 
+6ef1 e0a10000 istore 2 ,contw 
+6ef2 1a227e00 copy rega ,pdata 
+6ef3 1ff0fe00 byteswap pdata ,pdata 
+6ef4 e0a10000 istore 2 ,contw 
+
+sa_req_all_answer_attributelist_full_loop:
+6ef5 20407f01 call memcpy 
+6ef6 24346efe nbranch sa_req_all_last_frag_continue ,user 
+6ef7 18007e02 force 2 ,pdata 
+6ef8 e0a08000 istore 1 ,contw 
+6ef9 18c27e00 copy contr ,pdata 
+6efa 99667e00 isub timeup ,pdata 
+6efb 1ff0fe00 byteswap pdata ,pdata 
+6efc e0a10000 istore 2 ,contw 
+6efd 20206f00 branch sa_req_all_frag_end 
+
+sa_req_all_last_frag_continue:
+6efe 18007e00 force 0 ,pdata 
+6eff e0a08000 istore 1 ,contw 
+
+sa_req_all_frag_end:
+6f00 da200005 arg sdp_attribute_res ,rega 
+6f01 20206fb0 branch ssa_req_range_common 
+
+sdp_process_ssa_req:
+6f02 4768c03a bpatchx patch3a_1 ,mem_patch3a 
+6f03 20406fd0 call ask_serviceclassid 
+6f04 2841feff compare 0xff ,temp ,0xff 
+6f05 2020efc4 branch sdp_invalid_request_syntax ,true 
+6f06 20406f2e call sdp_store_maxbyte 
+6f07 60010520 store 2 ,mem_sdp_attribute_maxbyte 
+6f08 196097fe increase -2 ,timeup 
+6f09 20407028 call dataelementtype6 
+6f0a d8a0052a arg mem_sdp_attrib_list ,contw 
+6f0b 18000e00 force 0 ,queue 
+
+ssa_req_loop:
+6f0c e8c08000 ifetch 1 ,contr 
+6f0d c0056f36 beq sdp_attribute_range ,ssa_req_range 
+6f0e e8c10000 ifetch 2 ,contr 
+6f0f e0a10000 istore 2 ,contw 
+6f10 18e08e01 increase 1 ,queue 
+6f11 196097fd increase -3 ,timeup 
+6f12 1a20a3fd increase -3 ,rega 
+6f13 24216fc4 nbranch sdp_invalid_request_syntax ,positive 
+6f14 2422ef0c nbranch ssa_req_loop ,zero 
+6f15 196097ff increase -1 ,timeup 
+6f16 2422efc4 nbranch sdp_invalid_request_syntax ,zero 
+6f17 204052d0 call l2cap_get_sdp_tx_payload 
+6f18 18a08a0d increase 13 ,contw 
+6f19 68010511 fetch 2 ,mem_sdp_uuid_search_ptr 
+6f1a 98002600 iforce regc 
+6f1b da20052a arg mem_sdp_attrib_list ,rega 
+
+ssa_req_attributelist_next:
+6f1c ea210000 ifetch 2 ,rega 
+6f1d 203a6f29 branch ssa_req_attributelist_end ,blank 
+6f1e 98002400 iforce regb 
+6f1f 204070c6 call search_attrib 
+6f20 203a6f27 branch ssa_req_attributelist_notfound ,blank 
+6f21 18c08dfd increase -3 ,contr 
+6f22 e8c18000 ifetch 3 ,contr 
+6f23 e0a18000 istore 3 ,contw 
+6f24 2040705b call sdp_data_len 
+6f25 98007200 iforce loopcnt 
+6f26 20407f01 call memcpy 
+
+ssa_req_attributelist_notfound:
+6f27 1a20a202 increase 2 ,rega 
+6f28 20206f1c branch ssa_req_attributelist_next 
+
+ssa_req_attributelist_end:
+6f29 20406f83 call ssa_req_range_lastfreg 
+6f2a 68010275 fetch 2 ,mem_sdp_tx_pkt_length 
+6f2b c0077046 beq 14 ,ssa_empty_rsp 
+6f2c 20406f9a call ssa_req_range_attrbutes_length_no_continue 
+6f2d 20206f9a branch ssa_req_range_attrbutes_length_no_continue 
+
+sdp_store_maxbyte:
+6f2e e8c10000 ifetch 2 ,contr 
+6f2f 1ff0fe00 byteswap pdata ,pdata 
+6f30 1fe0fffd increase -3 ,pdata 
+6f31 d84000c8 arg 200 ,temp 
+6f32 98467c00 isub temp ,null 
+6f33 24610000 nrtn positive 
+6f34 580000c8 setarg 200 
+6f35 20600000 rtn 
+
+ssa_req_range:
+6f36 18c08c04 increase 4 ,contr 
+6f37 196097fb increase -5 ,timeup 
+6f38 1a20a3fb increase -5 ,rega 
+6f39 2422efc4 nbranch sdp_invalid_request_syntax ,zero 
+6f3a 20406eaa call sdp_store_continue_common 
+6f3b 2422efbe nbranch sdp_invalid_pdu_size ,zero 
+6f3c d9600511 arg mem_sdp_uuid_search_ptr ,timeup 
+6f3d 20407082 call search_all_uuid 
+6f3e 18e27e00 deposit queue 
+6f3f 203a7046 branch ssa_empty_rsp ,blank 
+6f40 6000854e store 1 ,mem_handle_humber 
+6f41 1a427e00 copy regb ,pdata 
+6f42 6001054c store 2 ,mem_sdp_all_length 
+6f43 d8e00000 arg 0 ,queue 
+6f44 da200000 arg 0 ,rega 
+6f45 204052d0 call l2cap_get_sdp_tx_payload 
+6f46 18a08a0a increase 10 ,contw 
+
+ssa_req_range_find_handle:
+6f47 20406f6c call ssa_req_range_get_length 
+6f48 24342a8c nbranch assert ,user 
+6f49 18c21600 copy contr ,timeup 
+6f4a 1fe22600 copy pdata ,regc 
+6f4b 9a20a200 iadd rega ,rega 
+6f4c 68010519 fetch 2 ,mem_sdp_continue_byte 
+6f4d 1fe22400 copy pdata ,regb 
+6f4e 203a6f75 branch ssa_req_range_first_freg ,blank 
+
+ssa_req_range_later_freg_with_continue:
+6f4f 1a227e00 copy rega ,pdata 
+6f50 9a462400 isub regb ,regb 
+6f51 2022ef67 branch ssa_req_range_next_handle ,zero 
+6f52 24216f67 nbranch ssa_req_range_next_handle ,positive 
+6f53 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6f54 9a467c00 isub regb ,null 
+6f55 2022ef5e branch ssa_req_range_maxbyte_with_continue ,zero 
+6f56 24216f5e nbranch ssa_req_range_maxbyte_with_continue ,positive 
+
+ssa_req_range_send_not_maxbyte:
+6f57 1a427200 copy regb ,loopcnt 
+6f58 20406f61 call ssa_req_range_maxbyte_with_continue_cpy 
+6f59 6800854e fetch 1 ,mem_handle_humber 
+6f5a 18e08e01 increase 1 ,queue 
+6f5b 98e67c00 isub queue ,null 
+6f5c 2022ef83 branch ssa_req_range_lastfreg ,zero 
+6f5d 20206fa0 branch ssa_req_range_freg_with_continue 
+
+ssa_req_range_maxbyte_with_continue:
+6f5e 1fe27200 copy pdata ,loopcnt 
+6f5f 20406f61 call ssa_req_range_maxbyte_with_continue_cpy 
+6f60 20206fa0 branch ssa_req_range_freg_with_continue 
+
+ssa_req_range_maxbyte_with_continue_cpy:
+6f61 18a08bfd increase -3 ,contw 
+6f62 1f220400 copy loopcnt ,temp 
+6f63 1a627e00 copy regc ,pdata 
+6f64 9a467e00 isub regb ,pdata 
+6f65 99608c00 iadd timeup ,contr 
+6f66 20207f01 branch memcpy 
+
+ssa_req_range_next_handle:
+6f67 6800854e fetch 1 ,mem_handle_humber 
+6f68 18e08e01 increase 1 ,queue 
+6f69 98e67c00 isub queue ,null 
+6f6a 20628000 rtn zero 
+6f6b 20206f47 branch ssa_req_range_find_handle 
+
+ssa_req_range_get_length:
+6f6c 20407fe9 call disable_user 
+6f6d d8c0052a arg mem_sdp_handle_list ,contr 
+6f6e 18ebfe00 lshift2 queue ,pdata 
+6f6f 98c08c00 iadd contr ,contr 
+6f70 e8ca0000 ifetcht 4 ,contr 
+6f71 204070b1 call search_handle 
+6f72 24628000 nrtn zero 
+6f73 2040705b call sdp_data_len 
+6f74 20207fe7 branch enable_user 
+
+ssa_req_range_first_freg:
+6f75 68010520 fetch 2 ,mem_sdp_attribute_maxbyte 
+6f76 9a267c00 isub rega ,null 
+6f77 24216f8f nbranch ssa_req_range_firstfreg_maxbyte_with_continue ,positive 
+6f78 1a227200 copy rega ,loopcnt 
+6f79 1f220400 copy loopcnt ,temp 
+6f7a 19620c00 copy timeup ,contr 
+6f7b 20407f01 call memcpy 
+6f7c 6801054c fetch 2 ,mem_sdp_all_length 
+6f7d 9a267c00 isub rega ,null 
+6f7e 2022ef81 branch ssa_req_range_freg_no_continue ,zero 
+
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+6f7f 20406fa0 call ssa_req_range_freg_with_continue 
+6f80 20206f94 branch ssa_req_range_attrbutes_length 
+
+ssa_req_range_freg_no_continue:
+6f81 20406f83 call ssa_req_range_lastfreg 
+6f82 20206f94 branch ssa_req_range_attrbutes_length 
+
+ssa_req_range_lastfreg:
+6f83 da200007 arg sdp_searchattrib_res ,rega 
+
+ssa_req_range_lastfreg_common:
+6f84 18007e00 force 0 ,pdata 
+6f85 e0a08000 istore 1 ,contw 
+6f86 20406fb0 call ssa_req_range_common 
+6f87 68090275 fetcht 2 ,mem_sdp_tx_pkt_length 
+6f88 184085fb increase -5 ,temp 
+6f89 1850fe00 byteswap temp ,pdata 
+6f8a e0a10000 istore 2 ,contw 
+6f8b 184085fd increase -3 ,temp 
+6f8c 1850fe00 byteswap temp ,pdata 
+6f8d e0a10000 istore 2 ,contw 
+6f8e 20600000 rtn 
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+6f8f 1fe27200 copy pdata ,loopcnt 
+6f90 1f220400 copy loopcnt ,temp 
+6f91 19620c00 copy timeup ,contr 
+6f92 20407f01 call memcpy 
+6f93 20406fa0 call ssa_req_range_freg_with_continue 
+
+ssa_req_range_attrbutes_length:
+6f94 58000036 setarg 0x36 
+6f95 e0a08000 istore 1 ,contw 
+6f96 6801054c fetch 2 ,mem_sdp_all_length 
+6f97 1ff0fe00 byteswap pdata ,pdata 
+6f98 e0a10000 istore 2 ,contw 
+6f99 20600000 rtn 
+
+ssa_req_range_attrbutes_length_no_continue:
+6f9a 58000036 setarg 0x36 
+6f9b e0a08000 istore 1 ,contw 
+6f9c 184085fd increase -3 ,temp 
+6f9d 1850fe00 byteswap temp ,pdata 
+6f9e e0a10000 istore 2 ,contw 
+6f9f 20600000 rtn 
+
+ssa_req_range_freg_with_continue:
+6fa0 da200007 arg sdp_searchattrib_res ,rega 
+6fa1 58000002 setarg 2 
+6fa2 e0a08000 istore 1 ,contw 
+6fa3 68010519 fetch 2 ,mem_sdp_continue_byte 
+6fa4 98408400 iadd temp ,temp 
+6fa5 1850fe00 byteswap temp ,pdata 
+6fa6 e0a10000 istore 2 ,contw 
+6fa7 20406fb0 call ssa_req_range_common 
+6fa8 68090275 fetcht 2 ,mem_sdp_tx_pkt_length 
+6fa9 184085fb increase -5 ,temp 
+6faa 1850fe00 byteswap temp ,pdata 
+6fab e0a10000 istore 2 ,contw 
+6fac 184085fb increase -5 ,temp 
+6fad 1850fe00 byteswap temp ,pdata 
+6fae e0a10000 istore 2 ,contw 
+6faf 20600000 rtn 
+
+ssa_req_range_common:
+6fb0 68010273 fetch 2 ,mem_sdp_tx_payload_ptr 
+6fb1 98a67e00 isub contw ,pdata 
+6fb2 1fe67e00 sub pdata ,0 ,pdata 
+6fb3 60010275 store 2 ,mem_sdp_tx_pkt_length 
+6fb4 204052d0 call l2cap_get_sdp_tx_payload 
+6fb5 1a227e00 copy rega ,pdata 
+6fb6 e0a08000 istore 1 ,contw 
+6fb7 6801051c fetch 2 ,mem_sdp_transactionid 
+6fb8 e0a10000 istore 2 ,contw 
+6fb9 20600000 rtn 
+
+sdp_process_ssa_res:
+
+sdp_process_ss_res:
+
+sdp_process_sa_res:
+
+sdp_process_error_res:
+6fba 20600000 rtn 
+
+sdp_invalid_service_record_handle:
+6fbb 58000200 setarg 0x0200 
+6fbc 6001054a store 2 ,mem_sdp_error_code 
+6fbd 20206fc6 branch sdp_error_response 
+
+sdp_invalid_pdu_size:
+6fbe 58000400 setarg 0x0400 
+6fbf 6001054a store 2 ,mem_sdp_error_code 
+6fc0 20206fc6 branch sdp_error_response 
+
+sdp_insufficient_resource:
+6fc1 58000600 setarg 0x0600 
+6fc2 6001054a store 2 ,mem_sdp_error_code 
+6fc3 20206fc6 branch sdp_error_response 
+
+sdp_invalid_request_syntax:
+6fc4 58000300 setarg 0x0300 
+6fc5 6001054a store 2 ,mem_sdp_error_code 
+
+sdp_error_response:
+6fc6 204052d0 call l2cap_get_sdp_tx_payload 
+6fc7 e0a08000 istore 1 ,contw 
+6fc8 6801051c fetch 2 ,mem_sdp_transactionid 
+6fc9 e0a10000 istore 2 ,contw 
+6fca 58000200 setarg 0x0200 
+6fcb e0a10000 istore 2 ,contw 
+6fcc 6801054a fetch 2 ,mem_sdp_error_code 
+6fcd e0a10000 istore 2 ,contw 
+6fce 70027507 jam 7 ,mem_sdp_tx_pkt_length 
+6fcf 20600000 rtn 
+
+ask_serviceclassid:
+6fd0 da400000 arg 0 ,regb 
+6fd1 18000400 force 0 ,temp 
+6fd2 d8a00511 arg mem_sdp_uuid_search_ptr ,contw 
+6fd3 20407028 call dataelementtype6 
+6fd4 2022f026 branch asksrv_error ,zero 
+
+classidloop:
+6fd5 1a40a401 increase 1 ,regb 
+6fd6 e8c08000 ifetch 1 ,contr 
+6fd7 1a20a3ff increase -1 ,rega 
+6fd8 196097ff increase -1 ,timeup 
+6fd9 2fe1f018 compare 0x18 ,pdata ,0xf8 
+6fda 2420f026 nbranch asksrv_error ,true 
+6fdb 2fe00e04 compare 0x04 ,pdata ,0x07 
+6fdc 2420eff3 nbranch cmp032 ,true 
+6fdd 18000401 force 1 ,temp 
+
+skip2bytes:
+6fde e8c08000 ifetch 1 ,contr 
+6fdf 1a20a3ff increase -1 ,rega 
+6fe0 196097ff increase -1 ,timeup 
+6fe1 c0806fe7 bne 0x00 ,frstbwrong 
+6fe2 e8c08000 ifetch 1 ,contr 
+6fe3 1a20a3ff increase -1 ,rega 
+6fe4 196097ff increase -1 ,timeup 
+6fe5 c0006ff8 beq 0x00 ,cmpuuid 
+6fe6 20206fea branch scndbwrong 
+
+frstbwrong:
+6fe7 18c08c01 increase 1 ,contr 
+6fe8 1a20a3ff increase -1 ,rega 
+6fe9 196097ff increase -1 ,timeup 
+
+scndbwrong:
+6fea 18c08c02 increase 2 ,contr 
+6feb 1a20a3fe increase -2 ,rega 
+6fec 196097fe increase -2 ,timeup 
+6fed 2841fe00 compare 0x00 ,temp ,0xff 
+6fee 2020f020 branch loopornot ,true 
+6fef 18c08c0c increase 12 ,contr 
+6ff0 1a20a3f4 increase -12 ,rega 
+6ff1 196097f4 increase -12 ,timeup 
+6ff2 20207020 branch loopornot 
+
+cmp032:
+6ff3 2fe00e02 compare 0x02 ,pdata ,0x07 
+6ff4 2420eff6 nbranch cmp016 ,true 
+6ff5 20206fde branch skip2bytes 
+
+cmp016:
+6ff6 2fe00e01 compare 0x01 ,pdata ,0x07 
+6ff7 2420f026 nbranch asksrv_error ,true 
+
+cmpuuid:
+6ff8 1a20a3fe increase -2 ,rega 
+6ff9 196097fe increase -2 ,timeup 
+6ffa e8c10000 ifetch 2 ,contr 
+6ffb 1a467c04 sub regb ,4 ,null 
+6ffc 2022effe branch uuidsize ,zero 
+6ffd e0a10000 istore 2 ,contw 
+
+uuidsize:
+6ffe 2841fe00 compare 0x00 ,temp ,0xff 
+6fff 2020f020 branch loopornot ,true 
+7000 18c20400 copy contr ,temp 
+7001 e8c08000 ifetch 1 ,contr 
+7002 c0807019 bne 0x00 ,wrong12b 
+7003 e8c08000 ifetch 1 ,contr 
+7004 c0807019 bne 0x00 ,wrong12b 
+7005 e8c08000 ifetch 1 ,contr 
+7006 c0887019 bne 0x10 ,wrong12b 
+7007 e8c08000 ifetch 1 ,contr 
+7008 c0807019 bne 0x00 ,wrong12b 
+7009 e8c08000 ifetch 1 ,contr 
+700a c0c07019 bne 0x80 ,wrong12b 
+700b e8c08000 ifetch 1 ,contr 
+700c c0807019 bne 0x00 ,wrong12b 
+700d e8c08000 ifetch 1 ,contr 
+700e c0807019 bne 0x00 ,wrong12b 
+700f e8c08000 ifetch 1 ,contr 
+7010 c0c07019 bne 0x80 ,wrong12b 
+7011 e8c08000 ifetch 1 ,contr 
+7012 c0aff019 bne 0x5f ,wrong12b 
+7013 e8c08000 ifetch 1 ,contr 
+7014 c0cdf019 bne 0x9b ,wrong12b 
+7015 e8c08000 ifetch 1 ,contr 
+7016 c09a7019 bne 0x34 ,wrong12b 
+7017 e8c08000 ifetch 1 ,contr 
+7018 c07df01e beq 0xfb ,chck12dn 
+
+wrong12b:
+7019 18420c00 copy temp ,contr 
+
+wrong12b1:
+701a 18c08c0c increase 12 ,contr 
+701b 18000e00 force 0x00 ,queue 
+701c 18000400 force 0x00 ,temp 
+701d 2020701e branch chck12dn 
+
+chck12dn:
+701e 196097f4 increase -12 ,timeup 
+701f 1a20a3f4 increase -12 ,rega 
+
+loopornot:
+7020 18000400 force 0x00 ,temp 
+7021 2a21fe00 compare 0x00 ,rega ,0xff 
+7022 2420efd5 nbranch classidloop ,true 
+7023 18007e00 force 0 ,pdata 
+7024 e0a10000 istore 2 ,contw 
+7025 20600000 rtn 
+
+asksrv_error:
+7026 d84000ff arg 0xff ,temp 
+7027 20600000 rtn 
+
+dataelementtype6:
+7028 476a403a bpatchx patch3a_4 ,mem_patch3a 
+7029 e8c08000 ifetch 1 ,contr 
+702a 196097ff increase -1 ,timeup 
+702b 2fe1f030 compare 0x30 ,pdata ,0xf8 
+702c 2420f03e nbranch dsize_error ,true 
+702d 2fe00e07 compare 0x07 ,pdata ,0x07 
+702e 2020f037 branch dsize32 ,true 
+702f 2fe00e06 compare 0x06 ,pdata ,0x07 
+7030 2020f039 branch dsize16 ,true 
+7031 2fe00e05 compare 0x05 ,pdata ,0x07 
+7032 2420f03e nbranch dsize_error ,true 
+7033 e8c08000 ifetch 1 ,contr 
+7034 1fe22200 copy pdata ,rega 
+7035 196097ff increase -1 ,timeup 
+7036 2020703c branch dsize 
+
+dsize32:
+7037 18c08c02 increase 2 ,contr 
+7038 196097fe increase -2 ,timeup 
+
+dsize16:
+7039 e8c10000 ifetch 2 ,contr 
+703a 1ff0a200 byteswap pdata ,rega 
+703b 196097fe increase -2 ,timeup 
+
+dsize:
+703c 18007e01 force 0x01 ,pdata 
+703d 20600000 rtn 
+
+dsize_error:
+703e 18007e00 force 0x00 ,pdata 
+703f 20600000 rtn 
+
+ss_empty_rsp:
+7040 58000003 setarg sdp_search_res 
+7041 6000851b store 1 ,mem_sdp_pduid 
+7042 20207048 branch empty_response 
+
+sa_empty_rsp:
+7043 58000005 setarg sdp_attribute_res 
+7044 6000851b store 1 ,mem_sdp_pduid 
+7045 20207048 branch empty_response 
+
+ssa_empty_rsp:
+7046 58000007 setarg sdp_searchattrib_res 
+7047 6000851b store 1 ,mem_sdp_pduid 
+
+empty_response:
+7048 204052d0 call l2cap_get_sdp_tx_payload 
+7049 6800851b fetch 1 ,mem_sdp_pduid 
+704a 1fe22400 copy pdata ,regb 
+704b e0a08000 istore 1 ,contw 
+704c 6801051c fetch 2 ,mem_sdp_transactionid 
+704d e0a10000 istore 2 ,contw 
+704e 58000500 setarg 0x0500 
+704f e0a10000 istore 2 ,contw 
+7050 2a41fe05 compare sdp_attribute_res ,regb ,0xff 
+7051 2020f057 branch fullsearch ,true 
+7052 2a41fe07 compare sdp_searchattrib_res ,regb ,0xff 
+7053 2020f057 branch fullsearch ,true 
+7054 58000000 setarg 0x000000 
+7055 e0a28000 istore 5 ,contw 
+7056 20207059 branch outempty 
+
+fullsearch:
+7057 58350200 setarg 0x350200 
+7058 e0a28000 istore 5 ,contw 
+
+outempty:
+7059 7002750a jam 10 ,mem_sdp_tx_pkt_length 
+705a 20600000 rtn 
+
+sdp_data_len:
+705b 20407ea2 call store_contw 
+705c 20407ea5 call store_contr 
+705d 20407062 call sdp_get_data 
+705e 20407e9c call get_contw 
+705f 20407e9f call get_contr 
+7060 18427e00 copy temp ,pdata 
+7061 20600000 rtn 
+
+sdp_get_data:
+7062 e8c08000 ifetch 1 ,contr 
+7063 1fe17207 and pdata ,0x7 ,loopcnt 
+7064 1fe97e00 rshift3 pdata ,pdata 
+7065 c080706c bne 0 ,sdp_get_data_type_not0 
+
+sdp_get_data_type0:
+7066 18007e01 force 1 ,pdata 
+7067 18000401 force 1 ,temp 
+7068 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex01234:
+7069 20407e76 call left_shift_n 
+706a 1fe08401 add pdata ,1 ,temp 
+706b 20600000 rtn 
+
+sdp_get_data_type_not0:
+706c 1f227e00 deposit loopcnt 
+706d 1fe67c04 sub pdata ,4 ,null 
+706e 20217069 branch sdp_get_data_type_not0_sizeindex01234 ,positive 
+706f c002f073 beq 5 ,sdp_get_data_type_not0_sizeindex5 
+7070 c0037076 beq 6 ,sdp_get_data_type_not0_sizeindex6 
+7071 c003f07a beq 7 ,sdp_get_data_type_not0_sizeindex7 
+7072 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex5:
+7073 e8c08000 ifetch 1 ,contr 
+7074 1fe08402 add pdata ,2 ,temp 
+7075 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex6:
+7076 e8c10000 ifetch 2 ,contr 
+7077 1ff0fe00 byteswap pdata ,pdata 
+7078 1fe08403 add pdata ,3 ,temp 
+7079 20600000 rtn 
+
+sdp_get_data_type_not0_sizeindex7:
+707a e8c10000 ifetch 2 ,contr 
+707b 1ff0fe00 byteswap pdata ,pdata 
+707c e8c90000 ifetcht 2 ,contr 
+707d 18508400 byteswap temp ,temp 
+707e 18500400 lshift16 temp ,temp 
+707f 9840fe00 iadd temp ,pdata 
+7080 1fe08405 add pdata ,5 ,temp 
+7081 20600000 rtn 
+
+search_all_uuid:
+7082 476ac03a bpatchx patch3a_5 ,mem_patch3a 
+7083 18000e00 force 0 ,queue 
+7084 da400000 arg 0 ,regb 
+7085 d8a0052a arg mem_sdp_handle_list ,contw 
+
+search_all_uuid_llop:
+7086 e9610000 ifetch 2 ,timeup 
+7087 207a0000 rtn blank 
+7088 2040708d call search_uuid 
+7089 18e27e00 copy queue ,pdata 
+708a c1038000 rtneq sdp_max_handle_number 
+708b 19609602 increase 2 ,timeup 
+708c 20207086 branch search_all_uuid_llop 
+
+search_uuid:
+708d 98002600 iforce regc 
+708e 68014575 fetch 2 ,mem_ui_uuid_table 
+708f 98000c00 iforce contr 
+
+search_uuid_next:
+7090 18e27e00 copy queue ,pdata 
+7091 c1038000 rtneq sdp_max_handle_number 
+7092 78547c00 disable user 
+7093 e8c08000 ifetch 1 ,contr 
+7094 207a0000 rtn blank 
+7095 98007200 iforce loopcnt 
+
+search_uuid_loop:
+7096 e8c10000 ifetch 2 ,contr 
+7097 9a667c00 isub regc ,null 
+7098 2422f09a nbranch search_uuid_not_found ,zero 
+7099 78347c00 enable user 
+
+search_uuid_not_found:
+709a c2007096 loop search_uuid_loop 
+709b e8ca0000 ifetcht 4 ,contr 
+709c 18c22200 copy contr ,rega 
+709d 243470ad nbranch search_uuid_nomatch ,user 
+709e d8c0052a arg mem_sdp_handle_list ,contr 
+709f df200007 arg sdp_max_handle_number ,loopcnt 
+
+search_uuid_check_same_handle:
+70a0 e8c20000 ifetch 4 ,contr 
+70a1 203a70a6 branch search_uuid_store_handle ,blank 
+70a2 98467c00 isub temp ,null 
+70a3 2022f0ad branch search_uuid_nomatch ,zero 
+70a4 c20070a0 loop search_uuid_check_same_handle 
+70a5 20600000 rtn 
+
+search_uuid_store_handle:
+70a6 e0aa0000 istoret 4 ,contw 
+70a7 18e08e01 increase 1 ,queue 
+70a8 1a220c00 copy rega ,contr 
+70a9 2040705b call sdp_data_len 
+70aa 9a40a400 iadd regb ,regb 
+70ab 98c08c00 iadd contr ,contr 
+70ac 20207090 branch search_uuid_next 
+
+search_uuid_nomatch:
+70ad 1a220c00 copy rega ,contr 
+70ae 20407062 call sdp_get_data 
+70af 98c08c00 iadd contr ,contr 
+70b0 20207090 branch search_uuid_next 
+
+search_handle:
+70b1 476b403a bpatchx patch3a_6 ,mem_patch3a 
+70b2 68014575 fetch 2 ,mem_ui_uuid_table 
+70b3 98000c00 iforce contr 
+
+search_handle_loop:
+70b4 e8c08000 ifetch 1 ,contr 
+70b5 203a7fe3 branch disable_zero ,blank 
+70b6 1fe3fe00 lshift pdata ,pdata 
+70b7 98c08c00 iadd contr ,contr 
+70b8 e8c20000 ifetch 4 ,contr 
+70b9 98467c00 isub temp ,null 
+70ba 20628000 rtn zero 
+70bb 18a27e00 deposit contw 
+70bc 60010abb store 2 ,mem_contw 
+70bd 600c0aa2 storet 8 ,mem_temp 
+70be 20407062 call sdp_get_data 
+70bf 98c08c00 iadd contr ,contr 
+70c0 18c27e00 copy contr ,pdata 
+70c1 68090abb fetcht 2 ,mem_contw 
+70c2 18420a00 copy temp ,contw 
+70c3 680c0aa2 fetcht 8 ,mem_temp 
+70c4 1fe20c00 copy pdata ,contr 
+70c5 202070b4 branch search_handle_loop 
+
+search_attrib:
+70c6 476bc03a bpatchx patch3a_7 ,mem_patch3a 
+70c7 68014575 fetch 2 ,mem_ui_uuid_table 
+70c8 98000c00 iforce contr 
+
+search_attrib_next:
+70c9 e8c08000 ifetch 1 ,contr 
+70ca 203a70e4 branch search_attrib_end ,blank 
+70cb 98007200 iforce loopcnt 
+
+search_attrib_loop:
+70cc e8c10000 ifetch 2 ,contr 
+70cd 9a667c00 isub regc ,null 
+70ce 2022f0d4 branch search_attrib_found_uuid ,zero 
+70cf c20070cc loop search_attrib_loop 
+70d0 18c08c04 increase 4 ,contr 
+70d1 20407062 call sdp_get_data 
+70d2 98c08c00 iadd contr ,contr 
+70d3 202070c9 branch search_attrib_next 
+
+search_attrib_found_uuid:
+70d4 1f20f3ff increase -1 ,loopcnt 
+70d5 1f23fe00 lshift loopcnt ,pdata 
+70d6 98c08c00 iadd contr ,contr 
+70d7 18c08c04 increase 4 ,contr 
+70d8 20407062 call sdp_get_data 
+70d9 98c09600 iadd contr ,timeup 
+
+search_attrib_loop_attribs:
+70da 18c08c01 increase 1 ,contr 
+70db e8c10000 ifetch 2 ,contr 
+70dc 9a467c00 isub regb ,null 
+70dd 2022ffef branch disable_blank ,zero 
+70de 2040705b call sdp_data_len 
+70df 98c08c00 iadd contr ,contr 
+70e0 19627e00 deposit timeup 
+70e1 98c67c00 isub contr ,null 
+70e2 2022f0e4 branch search_attrib_end ,zero 
+70e3 202070da branch search_attrib_loop_attribs 
+
+search_attrib_end:
+70e4 18000c00 force 0 ,contr 
+70e5 18007e00 force 0 ,pdata 
+70e6 20600000 rtn 
+
+search_handle_attrib:
+70e7 476c403b bpatchx patch3b_0 ,mem_patch3b 
+70e8 68014575 fetch 2 ,mem_ui_uuid_table 
+70e9 98000c00 iforce contr 
+
+search_handle_attrib_next:
+70ea e8c08000 ifetch 1 ,contr 
+70eb 203a7100 branch search_handle_attrib_end ,blank 
+70ec 1fe3fe00 lshift pdata ,pdata 
+70ed 98c08c00 iadd contr ,contr 
+70ee e8c20000 ifetch 4 ,contr 
+70ef 98467c00 isub temp ,null 
+70f0 2022f0f4 branch search_handl_attrib_found_handle ,zero 
+70f1 20407062 call sdp_get_data 
+70f2 98c08c00 iadd contr ,contr 
+70f3 202070ea branch search_handle_attrib_next 
+
+search_handl_attrib_found_handle:
+70f4 20407062 call sdp_get_data 
+70f5 98c09600 iadd contr ,timeup 
+
+search_handle_attrib_loop_attribs:
+70f6 18c08c01 increase 1 ,contr 
+70f7 e8c10000 ifetch 2 ,contr 
+70f8 9a467c00 isub regb ,null 
+70f9 20628000 rtn zero 
+70fa 2040705b call sdp_data_len 
+70fb 98c08c00 iadd contr ,contr 
+70fc 19627e00 deposit timeup 
+70fd 98c67c00 isub contr ,null 
+70fe 2022f100 branch search_handle_attrib_end ,zero 
+70ff 202070f6 branch search_handle_attrib_loop_attribs 
+
+search_handle_attrib_end:
+7100 18000c00 force 0 ,contr 
+7101 20600000 rtn 
+
+search_rfcomm_cn:
+7102 da400400 arg 0x0400 ,regb 
+7103 204070f4 call search_handl_attrib_found_handle 
+7104 da400300 arg 0x0300 ,regb 
+7105 2040710d call search_uuid_in_data 
+7106 24740000 nrtn user 
+7107 1a267c03 sub rega ,3 ,null 
+7108 20217fe9 branch disable_user ,positive 
+7109 e8c08000 ifetch 1 ,contr 
+710a c0847fe9 bne 0x08 ,disable_user 
+710b e8c08000 ifetch 1 ,contr 
+710c 20600000 rtn 
+
+search_uuid_in_data:
+710d 476cc03b bpatchx patch3b_1 ,mem_patch3b 
+710e 20407062 call sdp_get_data 
+710f 1fe22200 copy pdata ,rega 
+
+search_uuid_in_data_loop:
+7110 e8c08000 ifetch 1 ,contr 
+7111 1fe17207 and pdata ,0x7 ,loopcnt 
+7112 1fe97e00 rshift3 pdata ,pdata 
+7113 1fe67c03 sub pdata ,3 ,null 
+7114 2022f129 branch search_uuid_in_data_found_uuid ,zero 
+7115 1f227e00 copy loopcnt ,pdata 
+7116 c002f120 beq 5 ,search_uuid_in_data_found_element_index5 
+7117 c0037123 beq 6 ,search_uuid_in_data_found_element_index6 
+7118 c003f126 beq 7 ,search_uuid_in_data_found_element_index7 
+7119 18c08dff increase -1 ,contr 
+711a 20407062 call sdp_get_data 
+711b 98c08c00 iadd contr ,contr 
+711c 1a227e00 copy rega ,pdata 
+711d 98462200 isub temp ,rega 
+711e 2022ffe9 branch disable_user ,zero 
+711f 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index5:
+7120 1a20a3fe increase -2 ,rega 
+7121 18c08c01 increase 1 ,contr 
+7122 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index6:
+7123 1a20a3fd increase -3 ,rega 
+7124 18c08c02 increase 2 ,contr 
+7125 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_element_index7:
+7126 1a20a3fb increase -5 ,rega 
+7127 18c08c04 increase 4 ,contr 
+7128 20207110 branch search_uuid_in_data_loop 
+
+search_uuid_in_data_found_uuid:
+7129 1a20a3ff increase -1 ,rega 
+712a 1f227e00 copy loopcnt ,pdata 
+712b c000f132 beq 1 ,search_uuid_in_data_type_uuid_16 
+712c c0017130 beq 2 ,search_uuid_in_data_type_uuid_32 
+712d c002712f beq 4 ,search_uuid_in_data_type_uuid_128 
+712e 20207fe9 branch disable_user 
+
+search_uuid_in_data_type_uuid_128:
+712f 1a20a3f4 increase -12 ,rega 
+
+search_uuid_in_data_type_uuid_32:
+7130 e8c10000 ifetch 2 ,contr 
+7131 1a20a3fe increase -2 ,rega 
+
+search_uuid_in_data_type_uuid_16:
+7132 e8c10000 ifetch 2 ,contr 
+7133 9a467c00 isub regb ,null 
+7134 2022ffe7 branch enable_user ,zero 
+7135 1a20a3fe increase -2 ,rega 
+7136 2022ffe9 branch disable_user ,zero 
+7137 20207110 branch search_uuid_in_data_loop 
+
+sdp_send_spp_request:
+7138 204052d0 call l2cap_get_sdp_tx_payload 
+7139 1fe20a00 copy pdata ,contw 
+713a 58000006 setarg 6 
+713b e0a08000 istore 1 ,contw 
+713c 5800006e setarg sdp_tid_spp 
+713d e0a10000 istore 2 ,contw 
+713e 58000f00 setarg 0x0f00 
+713f e0a10000 istore 2 ,contw 
+7140 581a0535 setarg 0x1a0535 
+7141 e0a18000 istore 3 ,contw 
+7142 58000111 setarg 0x0111 
+7143 1ff07e00 lshift16 pdata ,pdata 
+7144 e0a20000 istore 4 ,contw 
+7145 58002600 setarg 0x2600 
+7146 e0a10000 istore 2 ,contw 
+7147 58000335 setarg 0x0335 
+7148 e0a10000 istore 2 ,contw 
+7149 58000009 setarg 0x0009 
+714a e0a10000 istore 2 ,contw 
+714b 58000004 setarg 0x0004 
+714c e0a10000 istore 2 ,contw 
+714d 70027514 jam 0x14 ,mem_sdp_tx_pkt_length 
+714e 20600000 rtn 
+
+function_g2:
+714f 476d403b bpatchx patch3b_2 ,mem_patch3b 
+7150 7005e550 jam 80 ,mem_aes_cmac_data_length 
+7151 d8a005e6 arg memdat ,contw 
+7152 d8c0443a arg mem_le_srand ,contr 
+7153 20407ebf call memcpy16 
+7154 d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+7155 20407ebd call memcpy32 
+7156 d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+7157 20407ebd call memcpy32 
+7158 2040720a call inverse_memdat 
+7159 d8c0042f arg mem_le_mrand ,contr 
+715a 20407205 call store_inverse_k 
+715b 204071d0 call function_aes_cmac 
+715c d8a00af2 arg mem_aes_cmac_temp ,contw 
+715d 20407201 call load_inverse_result 
+715e 580f4240 setarg 1000000 
+715f 1fe22200 copy pdata ,rega 
+7160 68020af2 fetch 4 ,mem_aes_cmac_temp 
+7161 9a26fc00 idiv rega 
+7162 20407f86 call wait_div_end 
+7163 18077e00 remainder pdata 
+7164 600209ba store 4 ,mem_gkey 
+7165 20600000 rtn 
+
+function_f6_eb:
+7166 7005e541 jam 65 ,mem_aes_cmac_data_length 
+7167 d8a005e6 arg memdat ,contw 
+7168 204071b5 call store_addr_common_a 
+7169 204071b0 call store_addr_common_b 
+716a 6801c454 fetch 3 ,mem_le_pres + 1 
+716b e0a18000 istore 3 ,contw 
+716c 20407176 call get_r 
+716d d8c0042f arg mem_le_mrand ,contr 
+716e 20407ebf call memcpy16 
+716f d8c0443a arg mem_le_srand ,contr 
+7170 20407ebf call memcpy16 
+7171 2040720a call inverse_memdat 
+7172 d8c00b12 arg mem_le_mackey ,contr 
+7173 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7174 20407ebf call memcpy16 
+7175 202071d0 branch function_aes_cmac 
+
+get_r:
+7176 680244c7 fetch 4 ,mem_le_tk 
+7177 e0a20000 istore 4 ,contw 
+7178 20407ecd call memset0_4 
+7179 20207eca branch memset0_8 
+
+function_f6_ea:
+717a 476dc03b bpatchx patch3b_3 ,mem_patch3b 
+717b 7005e541 jam 65 ,mem_aes_cmac_data_length 
+717c d8a005e6 arg memdat ,contw 
+717d 204071b0 call store_addr_common_b 
+717e 204071b5 call store_addr_common_a 
+717f 6801c44d fetch 3 ,mem_le_preq + 1 
+7180 e0a18000 istore 3 ,contw 
+7181 20407176 call get_r 
+7182 d8c0443a arg mem_le_srand ,contr 
+7183 20407ebf call memcpy16 
+7184 d8c0042f arg mem_le_mrand ,contr 
+7185 20407ebf call memcpy16 
+7186 2040720a call inverse_memdat 
+7187 d8c00b12 arg mem_le_mackey ,contr 
+7188 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7189 20407ebf call memcpy16 
+718a 204071d0 call function_aes_cmac 
+718b d8a00af2 arg mem_aes_cmac_temp ,contw 
+718c 20207201 branch load_inverse_result 
+
+function_f5:
+718d 7005e520 jam 32 ,mem_aes_cmac_data_length 
+718e d8c009fe arg mem_le_dhkey_256 ,contr 
+718f d8a005e6 arg memdat ,contw 
+7190 20407ebd call memcpy32 
+7191 2040720a call inverse_memdat 
+7192 d8c0099e arg mem_le_slat ,contr 
+7193 20407205 call store_inverse_k 
+7194 204071d0 call function_aes_cmac 
+7195 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7196 20407497 call store_aes_result 
+7197 d8400001 arg 1 ,temp 
+7198 2040719f call function_f5_common 
+7199 d8a04419 arg mem_le_ltk ,contw 
+719a 20407201 call load_inverse_result 
+719b d8400000 arg 0 ,temp 
+719c 2040719f call function_f5_common 
+719d d8a00b12 arg mem_le_mackey ,contw 
+719e 20207497 branch store_aes_result 
+
+function_f5_common:
+719f 476e403b bpatchx patch3b_4 ,mem_patch3b 
+71a0 7005e535 jam 53 ,mem_aes_cmac_data_length 
+71a1 58000100 setarg 0x100 
+71a2 600105e6 store 2 ,memdat 
+71a3 204071b0 call store_addr_common_b 
+71a4 204071b5 call store_addr_common_a 
+71a5 d8c0443a arg mem_le_srand ,contr 
+71a6 20407ebf call memcpy16 
+71a7 d8c0042f arg mem_le_mrand ,contr 
+71a8 20407ebf call memcpy16 
+71a9 58006c65 setarg 0x6c65 
+71aa e0a10000 istore 2 ,contw 
+71ab 58006274 setarg 0x6274 
+71ac e0a10000 istore 2 ,contw 
+71ad e0a88000 istoret 1 ,contw 
+71ae 2040720a call inverse_memdat 
+71af 202071d0 branch function_aes_cmac 
+
+store_addr_common_b:
+71b0 680344a0 fetch 6 ,mem_le_lap 
+71b1 e0a30000 istore 6 ,contw 
+71b2 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+71b3 e0a08000 istore 1 ,contw 
+71b4 20600000 rtn 
+
+store_addr_common_a:
+71b5 6803044f fetch 6 ,mem_le_plap 
+71b6 e0a30000 istore 6 ,contw 
+71b7 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+71b8 e0a08000 istore 1 ,contw 
+71b9 20600000 rtn 
+
+function_f4_ca:
+71ba 7005e541 jam 65 ,mem_aes_cmac_data_length 
+71bb 6800c664 fetch 1 ,mem_passkey_1bit 
+71bc 600085e6 store 1 ,memdat 
+71bd d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+71be 20407ebd call memcpy32 
+71bf d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+71c0 20407ebd call memcpy32 
+71c1 2040720a call inverse_memdat 
+71c2 d8c0042f arg mem_le_mrand ,contr 
+71c3 20407205 call store_inverse_k 
+71c4 202071d0 branch function_aes_cmac 
+
+function_f4_cb:
+71c5 7005e541 jam 65 ,mem_aes_cmac_data_length 
+71c6 6800c664 fetch 1 ,mem_passkey_1bit 
+71c7 600085e6 store 1 ,memdat 
+71c8 d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+71c9 20407ebd call memcpy32 
+71ca d8c045d2 arg mem_le_pubkey_local_x_256 ,contr 
+71cb 20407ebd call memcpy32 
+71cc 2040720a call inverse_memdat 
+71cd d8c0443a arg mem_le_srand ,contr 
+71ce 20407205 call store_inverse_k 
+71cf 202071d0 branch function_aes_cmac 
+
+function_aes_cmac:
+71d0 476ec03b bpatchx patch3b_5 ,mem_patch3b 
+71d1 2040721f call function_aes_cmac_generate_subkey 
+71d2 680085e5 fetch 1 ,mem_aes_cmac_data_length 
+71d3 1fe20400 copy pdata ,temp 
+
+function_ceil16:
+71d4 1fe0fe0f increase 15 ,pdata 
+71d5 1ff1fe00 rshift4 pdata ,pdata 
+71d6 1fe22400 copy pdata ,regb 
+71d7 203a71e2 branch function_aes_cmac_set_flag_0_balnk ,blank 
+71d8 18417e0f and temp ,0x0f ,pdata 
+71d9 243a71e5 nbranch function_aes_cmac_set_flag_0 ,blank 
+71da da600ad2 arg mem_aes_cmac_k1 ,regc 
+71db dfe005e6 arg memdat ,pdata 
+71dc 1fe0fff0 increase -16 ,pdata 
+71dd 9840a200 iadd temp ,rega 
+71de d8a00b02 arg mem_aes_cmac_m_last ,contw 
+71df df200004 arg 4 ,loopcnt 
+71e0 20407edd call xor_loop 
+71e1 202071f0 branch function_aes_cmac_aes 
+
+function_aes_cmac_set_flag_0_balnk:
+71e2 da400001 arg 1 ,regb 
+71e3 da200000 arg 0 ,rega 
+71e4 202071e6 branch function_aes_cmac_set_flag_0_common 
+
+function_aes_cmac_set_flag_0:
+71e5 1841220f and temp ,0x0f ,rega 
+
+function_aes_cmac_set_flag_0_common:
+71e6 dfe005e6 arg memdat ,pdata 
+71e7 9840fe00 iadd temp ,pdata 
+71e8 9a260c00 isub rega ,contr 
+71e9 d8a00af2 arg mem_aes_cmac_temp ,contw 
+71ea 20407245 call function_aes_cmac_padding 
+71eb da600ae2 arg mem_aes_cmac_k2 ,regc 
+71ec da200af2 arg mem_aes_cmac_temp ,rega 
+71ed d8a00b02 arg mem_aes_cmac_m_last ,contw 
+71ee df200004 arg 4 ,loopcnt 
+71ef 20407edd call xor_loop 
+
+function_aes_cmac_aes:
+71f0 20407491 call aes_clear_data 
+71f1 20407428 call aes_init 
+71f2 d8c005e6 arg memdat ,contr 
+
+function_aes_cmac_aes_loop:
+71f3 1a40a5ff increase -1 ,regb 
+71f4 1a427e00 deposit regb 
+71f5 203a71f9 branch function_aes_cmac_aes_loop_end ,blank 
+71f6 20407486 call load_data128 
+71f7 20407422 call do_aes_cbc 
+71f8 202071f3 branch function_aes_cmac_aes_loop 
+
+function_aes_cmac_aes_loop_end:
+71f9 d8a00af2 arg mem_aes_cmac_temp ,contw 
+71fa 20407497 call store_aes_result 
+71fb d8c00b02 arg mem_aes_cmac_m_last ,contr 
+71fc 20407486 call load_data128 
+71fd 20407428 call aes_init 
+71fe d8c00af2 arg mem_aes_cmac_temp ,contr 
+71ff 20407486 call load_data128 
+7200 20207422 branch do_aes_cbc 
+
+load_inverse_result:
+7201 18a22200 copy contw ,rega 
+7202 20407497 call store_aes_result 
+7203 df200010 arg 16 ,loopcnt 
+7204 20207ee5 branch inverse_data 
+
+store_inverse_k:
+7205 d8a00ac2 arg mem_aes_cmac_k ,contw 
+7206 20407ebf call memcpy16 
+
+inverse_k:
+7207 df200010 arg 16 ,loopcnt 
+7208 da200ac2 arg mem_aes_cmac_k ,rega 
+7209 20207ee5 branch inverse_data 
+
+inverse_memdat:
+720a 680085e5 fetch 1 ,mem_aes_cmac_data_length 
+720b 1fe27200 copy pdata ,loopcnt 
+720c da2005e6 arg memdat ,rega 
+720d 20207ee5 branch inverse_data 
+
+bn_lshift_0_inverse:
+720e ea208000 ifetch 1 ,rega 
+720f 1fe3fe00 lshift pdata ,pdata 
+7210 2a6ffe00 isolate1 0 ,regc 
+7211 7920fe00 setflag true ,0 ,pdata 
+7212 2feffe08 isolate1 8 ,pdata 
+7213 7920a600 setflag true ,0 ,regc 
+7214 e2208000 istore 1 ,rega 
+7215 1a20a3ff increase -1 ,rega 
+7216 c200720e loop bn_lshift_0_inverse 
+7217 20600000 rtn 
+
+function_aes_cmac_k1_inverse:
+7218 da200ad2 arg mem_aes_cmac_k1 ,rega 
+
+function_aes_cmac_inverse_common:
+7219 1a20a20f increase 15 ,rega 
+721a 18007210 force 16 ,loopcnt 
+721b 18002600 force 0 ,regc 
+721c 2020720e branch bn_lshift_0_inverse 
+
+function_aes_cmac_k2_inverse:
+721d da200ae2 arg mem_aes_cmac_k2 ,rega 
+721e 20207219 branch function_aes_cmac_inverse_common 
+
+function_aes_cmac_generate_subkey:
+721f d8c00ac2 arg mem_aes_cmac_k ,contr 
+7220 20407484 call load_key 
+7221 18007008 force regidx_xor ,regext_index 
+7222 20407492 call aes_clear 
+7223 20407491 call aes_clear_data 
+7224 2040741f call do_aes_ocb 
+7225 d8a00ad2 arg mem_aes_cmac_k1 ,contw 
+7226 20407497 call store_aes_result 
+
+function_aes_cmac_k1:
+7227 476f403b bpatchx patch3b_6 ,mem_patch3b 
+7228 68008ad2 fetch 1 ,mem_aes_cmac_k1 
+7229 2feffe07 isolate1 7 ,pdata 
+722a 2420f230 nbranch function_aes_cmac_k1_0 ,true 
+722b 20407218 call function_aes_cmac_k1_inverse 
+722c da600ad2 arg mem_aes_cmac_k1 ,regc 
+722d d8a00ad2 arg mem_aes_cmac_k1 ,contw 
+722e 2040723a call function_aes_cmac_xor_rb 
+722f 20207231 branch function_aes_cmac_k2 
+
+function_aes_cmac_k1_0:
+7230 20407218 call function_aes_cmac_k1_inverse 
+
+function_aes_cmac_k2:
+7231 d8c00ad2 arg mem_aes_cmac_k1 ,contr 
+7232 d8a00ae2 arg mem_aes_cmac_k2 ,contw 
+7233 20407ebf call memcpy16 
+7234 68008ae2 fetch 1 ,mem_aes_cmac_k2 
+7235 2feffe07 isolate1 7 ,pdata 
+7236 2420f21d nbranch function_aes_cmac_k2_inverse ,true 
+7237 2040721d call function_aes_cmac_k2_inverse 
+7238 da600ae2 arg mem_aes_cmac_k2 ,regc 
+7239 d8a00ae2 arg mem_aes_cmac_k2 ,contw 
+
+function_aes_cmac_xor_rb:
+723a df200003 arg 3 ,loopcnt 
+
+function_aes_cmac_xor_rb_loop:
+723b d8400000 arg 0 ,temp 
+723c 20407241 call function_aes_cmac_xor_loop_common 
+723d 1a60a604 increase 4 ,regc 
+723e c200723b loop function_aes_cmac_xor_rb_loop 
+723f d8408700 arg 0x8700 ,temp 
+7240 18500400 lshift16 temp ,temp 
+
+function_aes_cmac_xor_loop_common:
+7241 ea620000 ifetch 4 ,regc 
+7242 9842fe00 ixor temp ,pdata 
+7243 e0a20000 istore 4 ,contw 
+7244 20600000 rtn 
+
+function_aes_cmac_padding:
+7245 476fc03b bpatchx patch3b_7 ,mem_patch3b 
+7246 df200010 arg 16 ,loopcnt 
+7247 dfe00000 arg 0 ,pdata 
+
+function_aes_cmac_padding_loop:
+7248 9a267c00 isub rega ,null 
+7249 2022f250 branch function_aes_cmac_padding_beq_length ,zero 
+724a 20217253 branch function_aes_cmac_padding_big_length ,positive 
+724b e8c88000 ifetcht 1 ,contr 
+724c e0a88000 istoret 1 ,contw 
+
+function_aes_cmac_padding_loop2:
+724d 1fe0fe01 increase 1 ,pdata 
+724e c2007248 loop function_aes_cmac_padding_loop 
+724f 20600000 rtn 
+
+function_aes_cmac_padding_beq_length:
+7250 d8400080 arg 0x80 ,temp 
+
+function_aes_cmac_padding_common:
+7251 e0a88000 istoret 1 ,contw 
+7252 2020724d branch function_aes_cmac_padding_loop2 
+
+function_aes_cmac_padding_big_length:
+7253 d8400000 arg 0 ,temp 
+7254 20207251 branch function_aes_cmac_padding_common 
+
+generate_kinit:
+7255 20407268 call function_e22 
+7256 d8c00592 arg mem_input_store ,contr 
+7257 d8a00582 arg mem_kinit ,contw 
+7258 20207ebf branch memcpy16 
+
+function_e21:
+7259 78547c00 disable user 
+725a 2040735f call function_expand 
+725b d8c00562 arg mem_random_number ,contr 
+725c d8a005a2 arg mem_x ,contw 
+725d 1800720f force 15 ,loopcnt 
+725e 20407f01 call memcpy 
+725f e8c08000 ifetch 1 ,contr 
+7260 1fe2fe06 xor_into 6 ,pdata 
+7261 e0a08000 istore 1 ,contw 
+7262 580005b2 setarg mem_y 
+7263 600105d6 store 2 ,memp_ar_input 
+7264 580005a2 setarg mem_x 
+7265 600105d4 store 2 ,memp_ar_key 
+7266 79200012 set1 mark_ar2 ,mark 
+7267 202072a8 branch function_ar 
+
+function_e22:
+7268 6808c689 fetcht 1 ,mem_pin_length 
+7269 18002410 force 16 ,regb 
+726a 1840a606 add temp ,6 ,regc 
+726b 1a667c10 sub regc ,16 ,null 
+726c 2021726e branch function_e22_pin_init ,positive 
+726d 18002610 force 16 ,regc 
+
+function_e22_pin_init:
+726e d8a005a2 arg mem_x ,contw 
+
+function_e22_genx_pin:
+726f d8c0468a arg mem_pin ,contr 
+7270 18427200 copy temp ,loopcnt 
+7271 78547c00 disable user 
+
+function_e22_genx_loop:
+7272 e8c08000 ifetch 1 ,contr 
+7273 e0a08000 istore 1 ,contw 
+7274 1a40a5ff increase -1 ,regb 
+7275 2022f27c branch function_e22_genx_end ,zero 
+7276 c2007272 loop function_e22_genx_loop 
+7277 2034726f branch function_e22_genx_pin ,user 
+7278 78347c00 enable user 
+7279 18007206 force 6 ,loopcnt 
+727a 1a220c00 copy rega ,contr 
+727b 20207272 branch function_e22_genx_loop 
+
+function_e22_genx_end:
+727c d8c00562 arg mem_random_number ,contr 
+727d d8a005b2 arg mem_y ,contw 
+727e 20407ebf call memcpy16 
+727f 680085c1 fetch 1 ,mem_y15 
+7280 9a62fe00 ixor regc ,pdata 
+7281 600085c1 store 1 ,mem_y15 
+7282 580005b2 setarg mem_y 
+7283 600105d6 store 2 ,memp_ar_input 
+7284 580005a2 setarg mem_x 
+7285 600105d4 store 2 ,memp_ar_key 
+7286 79200012 set1 mark_ar2 ,mark 
+7287 202072a8 branch function_ar 
+
+function_e1:
+7288 78547c00 disable user 
+7289 2040735f call function_expand 
+728a 20207292 branch function_hash 
+
+function_e3:
+728b da200056 arg mem_aco ,rega 
+728c 78347c00 enable user 
+728d 2040735f call function_expand 
+728e 20407292 call function_hash 
+728f d8c00592 arg mem_input_store ,contr 
+7290 d8a00062 arg mem_kc ,contw 
+7291 20207ebf branch memcpy16 
+
+function_hash:
+7292 58000562 setarg mem_random_number 
+7293 600105d6 store 2 ,memp_ar_input 
+7294 580041be setarg mem_link_key 
+7295 600105d4 store 2 ,memp_ar_key 
+7296 793f8012 set0 mark_ar2 ,mark 
+7297 204072a8 call function_ar 
+7298 da200592 arg mem_input_store ,rega 
+7299 da400562 arg mem_random_number ,regb 
+729a d8a005a2 arg mem_x ,contw 
+729b 20407352 call xor16 
+729c da2005a2 arg mem_x ,rega 
+729d da4005b2 arg mem_y ,regb 
+729e 1a420a00 copy regb ,contw 
+729f 78347c00 enable user 
+72a0 20407350 call add16 
+72a1 2040736a call key_offset 
+72a2 580005b2 setarg mem_y 
+72a3 600105d6 store 2 ,memp_ar_input 
+72a4 580005a2 setarg mem_x 
+72a5 600105d4 store 2 ,memp_ar_key 
+72a6 79200012 set1 mark_ar2 ,mark 
+72a7 202072a8 branch function_ar 
+
+function_ar:
+72a8 7005d800 jam 0 ,mem_ar_hround 
+72a9 680105d4 fetch 2 ,memp_ar_key 
+72aa 98000c00 iforce contr 
+72ab d8a005c2 arg mem_key_store ,contw 
+72ac 20407ebf call memcpy16 
+72ad 680105d6 fetch 2 ,memp_ar_input 
+72ae 98000c00 iforce contr 
+72af d8a00592 arg mem_input_store ,contw 
+72b0 20407ebf call memcpy16 
+
+function_ar_loop:
+72b1 204072cf call key_scheduling 
+72b2 78547c00 disable user 
+72b3 c58972b9 bmark0 mark_ar2 ,function_ar_original 
+72b4 680085d8 fetch 1 ,mem_ar_hround 
+72b5 c08272b9 bne 4 ,function_ar_original 
+72b6 680105d6 fetch 2 ,memp_ar_input 
+72b7 98002400 iforce regb 
+72b8 20407301 call xor_mod32_ar2 
+
+function_ar_original:
+72b9 20407300 call xor_mod32 
+72ba 20407313 call el_boxes 
+72bb 680085d8 fetch 1 ,mem_ar_hround 
+72bc 1fe0fe01 increase 1 ,pdata 
+72bd 600085d8 store 1 ,mem_ar_hround 
+72be 204072cf call key_scheduling 
+72bf 78347c00 enable user 
+72c0 20407300 call xor_mod32 
+72c1 20407322 call pht 
+72c2 20407331 call permute 
+72c3 20407322 call pht 
+72c4 20407331 call permute 
+72c5 20407322 call pht 
+72c6 20407331 call permute 
+72c7 20407322 call pht 
+72c8 680085d8 fetch 1 ,mem_ar_hround 
+72c9 1fe0fe01 increase 1 ,pdata 
+72ca 600085d8 store 1 ,mem_ar_hround 
+72cb c08872b1 bne 16 ,function_ar_loop 
+72cc 204072cf call key_scheduling 
+72cd 78547c00 disable user 
+72ce 20207300 branch xor_mod32 
+
+key_scheduling:
+72cf 680085d8 fetch 1 ,mem_ar_hround 
+72d0 d8c005c2 arg mem_key_store ,contr 
+72d1 203a72f6 branch key_sched_zero ,blank 
+72d2 98002400 iforce regb 
+72d3 18007211 force 17 ,loopcnt 
+72d4 18c20a00 copy contr ,contw 
+
+key_rotateloop:
+72d5 e8c08000 ifetch 1 ,contr 
+72d6 1fe98400 lshift3 pdata ,temp 
+72d7 1feb7e00 rshift2 pdata ,pdata 
+72d8 1fe97e00 rshift3 pdata ,pdata 
+72d9 9841fe00 ior temp ,pdata 
+72da e0a08000 istore 1 ,contw 
+72db c20072d5 loop key_rotateloop 
+72dc 580005c2 setarg mem_key_store 
+72dd 9a408c00 iadd regb ,contr 
+72de 18007210 force 16 ,loopcnt 
+72df d8a00572 arg mem_round_key ,contw 
+
+key_select_octet_loop:
+72e0 e8c08000 ifetch 1 ,contr 
+72e1 e0a08000 istore 1 ,contw 
+72e2 28c1ffd3 compare mem_key_store_end ,contr ,0xff 
+72e3 2420f2e5 nbranch key_select_octet_nwrap ,true 
+72e4 18c08def increase -17 ,contr 
+
+key_select_octet_nwrap:
+72e5 c20072e0 loop key_select_octet_loop 
+72e6 18002200 force 0 ,rega 
+72e7 1a40a7ff add regb ,-1 ,regc 
+72e8 1a6ba600 lshift2 regc ,regc 
+72e9 1a6ba600 lshift2 regc ,regc 
+72ea 204074b9 call enable_authrom 
+72eb 58008400 setarg mem_b_box 
+72ec 9a60a600 iadd regc ,regc 
+72ed d8a00572 arg mem_round_key ,contw 
+72ee 18007210 force 16 ,loopcnt 
+
+bias_round_key_loop:
+72ef ea688000 ifetcht 1 ,regc 
+72f0 e8a08000 ifetch 1 ,contw 
+72f1 9840fe00 iadd temp ,pdata 
+72f2 e0a08000 istore 1 ,contw 
+72f3 1a60a601 increase 1 ,regc 
+72f4 c20072ef loop bias_round_key_loop 
+72f5 202074bd branch disable_authrom 
+
+key_sched_zero:
+72f6 18007210 force 16 ,loopcnt 
+72f7 18000400 force 0 ,temp 
+
+create_byte_16_loop:
+72f8 e8c08000 ifetch 1 ,contr 
+72f9 98428400 ixor temp ,temp 
+72fa c20072f8 loop create_byte_16_loop 
+72fb 18427e00 deposit temp 
+72fc e0c08000 istore 1 ,contr 
+72fd d8c005c2 arg mem_key_store ,contr 
+72fe d8a00572 arg mem_round_key ,contw 
+72ff 20207ebf branch memcpy16 
+
+xor_mod32:
+7300 da400572 arg mem_round_key ,regb 
+
+xor_mod32_ar2:
+7301 18007210 force 16 ,loopcnt 
+7302 da200592 arg mem_input_store ,rega 
+7303 1a220a00 copy rega ,contw 
+
+xor_mod32_loop:
+7304 ea288000 ifetcht 1 ,rega 
+7305 ea408000 ifetch 1 ,regb 
+7306 9842e000 ixor temp ,alarm 
+7307 1f212603 and loopcnt ,3 ,regc 
+7308 2434730a nbranch xor_mod32_invert ,user 
+7309 1a62a603 xor_into 3 ,regc 
+
+xor_mod32_invert:
+730a 1a662601 sub regc ,1 ,regc 
+730b 2021730d branch xor_even ,positive 
+730c 9840e000 iadd temp ,alarm 
+
+xor_even:
+730d 1e027e00 deposit alarm 
+730e e0a08000 istore 1 ,contw 
+730f 1a20a201 increase 1 ,rega 
+7310 1a40a401 increase 1 ,regb 
+7311 c2007304 loop xor_mod32_loop 
+7312 20600000 rtn 
+
+el_boxes:
+7313 204074b9 call enable_authrom 
+7314 18007210 force 16 ,loopcnt 
+7315 da200592 arg mem_input_store ,rega 
+
+el_box_loop:
+7316 ea208000 ifetch 1 ,rega 
+7317 d8c08500 arg mem_e_box ,contr 
+7318 1f212603 and loopcnt ,3 ,regc 
+7319 1a667c01 sub regc ,1 ,null 
+731a 2021731c branch e_boxes ,positive 
+731b d8c08600 arg mem_l_box ,contr 
+
+e_boxes:
+731c 98c08c00 iadd contr ,contr 
+731d e8c08000 ifetch 1 ,contr 
+731e e2208000 istore 1 ,rega 
+731f 1a20a201 increase 1 ,rega 
+7320 c2007316 loop el_box_loop 
+7321 202074bd branch disable_authrom 
+
+pht:
+7322 18007208 force 8 ,loopcnt 
+7323 d8c00592 arg mem_input_store ,contr 
+7324 18c20a00 copy contr ,contw 
+
+pht_loop:
+7325 e8c08000 ifetch 1 ,contr 
+7326 98002200 iforce rega 
+7327 e8c08000 ifetch 1 ,contr 
+7328 98002400 iforce regb 
+7329 1a23fe00 lshift rega ,pdata 
+732a 9a40fe00 iadd regb ,pdata 
+732b e0a08000 istore 1 ,contw 
+732c 1a227e00 deposit rega 
+732d 9a40fe00 iadd regb ,pdata 
+732e e0a08000 istore 1 ,contw 
+732f c2007325 loop pht_loop 
+7330 20600000 rtn 
+
+permute:
+7331 588ae42c setarg 0x8ae42c 
+7332 98000400 iforce temp 
+7333 18007207 force 7 ,loopcnt 
+7334 20407340 call permute_exchange 
+7335 580d751b setarg 0xd751b 
+7336 98000400 iforce temp 
+7337 18007205 force 5 ,loopcnt 
+7338 20407340 call permute_exchange 
+7339 680085a1 fetch 1 ,mem_input_store + 15 
+733a 98002200 iforce rega 
+733b 68008595 fetch 1 ,mem_input_store + 3 
+733c 600085a1 store 1 ,mem_input_store + 15 
+733d 1a227e00 deposit rega 
+733e 60008595 store 1 ,mem_input_store + 3 
+733f 20600000 rtn 
+
+permute_exchange:
+7340 1841240f and temp ,0xf ,regb 
+
+permute_loop:
+7341 18417e0f and temp ,0xf ,pdata 
+7342 d8a00592 arg mem_input_store ,contw 
+7343 98a08a00 iadd contw ,contw 
+7344 e8a08000 ifetch 1 ,contw 
+7345 98002600 iforce regc 
+7346 1a227e00 deposit rega 
+7347 e0a08000 istore 1 ,contw 
+7348 1a622200 copy regc ,rega 
+7349 18518400 rshift4 temp ,temp 
+734a c2007341 loop permute_loop 
+734b 58000592 setarg mem_input_store 
+734c 9a408a00 iadd regb ,contw 
+734d 1a227e00 deposit rega 
+734e e0a08000 istore 1 ,contw 
+734f 20600000 rtn 
+
+add16:
+7350 78347c00 enable user 
+7351 20207353 branch xor_add16 
+
+xor16:
+7352 78547c00 disable user 
+
+xor_add16:
+7353 18007210 force 16 ,loopcnt 
+
+xoradd_loop:
+7354 ea288000 ifetcht 1 ,rega 
+7355 ea408000 ifetch 1 ,regb 
+7356 20347359 branch xoradd_add ,user 
+7357 9842fe00 ixor temp ,pdata 
+7358 2020735a branch xoradd_store 
+
+xoradd_add:
+7359 9840fe00 iadd temp ,pdata 
+
+xoradd_store:
+735a e0a08000 istore 1 ,contw 
+735b 1a20a201 increase 1 ,rega 
+735c 1a40a401 increase 1 ,regb 
+735d c2007354 loop xoradd_loop 
+735e 20600000 rtn 
+
+function_expand:
+735f d8a005b2 arg mem_y ,contw 
+7360 ea230000 ifetch 6 ,rega 
+7361 e0a30000 istore 6 ,contw 
+7362 20347365 branch expand_12 ,user 
+7363 ea230000 ifetch 6 ,rega 
+7364 20207366 branch expand_cont 
+
+expand_12:
+7365 e8c30000 ifetch 6 ,contr 
+
+expand_cont:
+7366 e0a30000 istore 6 ,contw 
+7367 ea220000 ifetch 4 ,rega 
+7368 e0a20000 istore 4 ,contw 
+7369 20600000 rtn 
+
+key_offset:
+736a d8c041be arg mem_link_key ,contr 
+736b d8a005a2 arg mem_x ,contw 
+736c d8400000 arg 0 ,temp 
+736d 588395a7 setarg 0x8395a7 
+736e 2040738b call concatenate_temp24 
+736f 58b3c1df setarg 0xb3c1df 
+7370 2040738b call concatenate_temp24 
+7371 5800e5e9 setarg 0xe5e9 
+7372 2040738c call concatenate_temp16 
+7373 18422800 copy temp ,regab 
+7374 78547c00 disable user 
+7375 20407379 call key_addxor 
+7376 1a820400 copy regab ,temp 
+7377 78347c00 enable user 
+7378 20207379 branch key_addxor 
+
+key_addxor:
+7379 18007208 force 8 ,loopcnt 
+
+key_addxor_loop:
+737a e8c08000 ifetch 1 ,contr 
+737b 2f200201 compare 1 ,loopcnt ,1 
+737c 20347380 branch key_high ,user 
+737d 2020f381 branch key_xor ,true 
+
+key_add:
+737e 9840fe00 iadd temp ,pdata 
+737f 20207382 branch key_store 
+
+key_high:
+7380 2020f37e branch key_add ,true 
+
+key_xor:
+7381 9842fe00 ixor temp ,pdata 
+
+key_store:
+7382 e0a08000 istore 1 ,contw 
+7383 184c8400 rshift8 temp ,temp 
+7384 c200737a loop key_addxor_loop 
+7385 20600000 rtn 
+
+copy_aco:
+7386 68030596 fetch 6 ,mem_input_store + 4 
+7387 60030056 store 6 ,mem_aco 
+7388 e8c30000 ifetch 6 ,contr 
+7389 e0a30000 istore 6 ,contw 
+738a 20600000 rtn 
+
+concatenate_temp24:
+738b 184d0400 lshift8 temp ,temp 
+
+concatenate_temp16:
+738c 18500400 lshift16 temp ,temp 
+738d 98418400 ior temp ,temp 
+738e 20600000 rtn 
+
+loop1:
+738f 2020738f branch loop1 
+
+generate_stk:
+7390 4770403c bpatchx patch3c_0 ,mem_patch3c 
+7391 2040742b call function_s1 
+7392 d8a04419 arg mem_le_ltk ,contw 
+7393 20207497 branch store_aes_result 
+
+authenticate_rconfirm:
+7394 d8a0443a arg mem_le_srand ,contw 
+7395 2034f397 branch authenticate_mconfirm ,master 
+7396 d8a0042f arg mem_le_mrand ,contw 
+
+authenticate_mconfirm:
+7397 18c22200 copy contr ,rega 
+7398 20407ebf call memcpy16 
+7399 20407440 call function_c1 
+739a d8c0442a arg mem_le_rconfirm ,contr 
+739b 202074b0 branch compare_res 
+
+generate_confirm:
+739c da20042f arg mem_le_mrand ,rega 
+739d 2034f39f branch generate_mrand ,master 
+739e da20443a arg mem_le_srand ,rega 
+
+generate_mrand:
+739f 1a220a00 copy rega ,contw 
+73a0 2040630c call generate_random 
+73a1 20207440 branch function_c1 
+
+generate_sk:
+73a2 d8c044aa arg mem_le_skdm ,contr 
+73a3 20407486 call load_data128 
+73a4 d8c04419 arg mem_le_ltk ,contr 
+73a5 20407487 call load_regext 
+73a6 18006c38 force 0x38 ,aes_ctrl 
+73a7 18006c00 force 0x0 ,aes_ctrl 
+73a8 2040741d call wait_aes 
+73a9 d8a0047c arg mem_le_sk ,contw 
+73aa 20207497 branch store_aes_result 
+
+first_block_counter:
+73ab 18007e49 force 0x49 ,pdata 
+73ac 202073ae branch first_block 
+
+first_block_data:
+73ad 18007e01 force 1 ,pdata 
+
+first_block:
+73ae 18007000 force regidx_data ,regext_index 
+73af 184d5e00 lshift8 temp ,regext 
+73b0 9de1de00 ior regext ,regext 
+73b1 1f00f001 increase 1 ,regext_index 
+73b2 184cde00 rshift8 temp ,regext 
+73b3 1df15e00 rshift16 regext ,regext 
+73b4 68014411 fetch 2 ,mem_le_ivm 
+73b5 1ff07e00 lshift16 ,pdata ,pdata 
+73b6 9de1de00 ior regext ,regext 
+73b7 1f00f001 increase 1 ,regext_index 
+73b8 e8c20000 ifetch 4 ,contr 
+73b9 98005e00 iforce regext 
+73ba 1f00f001 increase 1 ,regext_index 
+73bb e8c10000 ifetch 2 ,contr 
+73bc 1a30de00 byteswap rega ,regext 
+73bd 1df05e00 lshift16 regext ,regext 
+73be 9de1de00 ior regext ,regext 
+73bf 1f00f001 increase 1 ,regext_index 
+73c0 20600000 rtn 
+
+generate_mic:
+73c1 1a608c01 add regc ,1 ,contr 
+73c2 e8c08000 ifetch 1 ,contr 
+73c3 98002200 iforce rega 
+73c4 204073ab call first_block_counter 
+73c5 2040741f call do_aes_ocb 
+73c6 18007000 force regidx_data ,regext_index 
+73c7 ea608000 ifetch 1 ,regc 
+73c8 1fe17e03 and_into 0x3 ,pdata 
+73c9 1ff05e00 lshift16 pdata ,regext 
+73ca 79205e08 set1 8 ,regext 
+73cb 2040748f call clear_hidata 
+73cc 20407422 call do_aes_cbc 
+73cd 1a227200 copy rega ,loopcnt 
+73ce 1a608c02 add regc ,2 ,contr 
+73cf 2040746e call padding_data 
+
+generate_mic_loop:
+73d0 20407478 call aes_load_data 
+73d1 20407422 call do_aes_cbc 
+73d2 1f227e00 deposit loopcnt 
+73d3 203a73d5 branch generate_mic_end ,blank 
+73d4 202073d0 branch generate_mic_loop 
+
+generate_mic_end:
+73d5 1800700c force regidx_result ,regext_index 
+73d6 1de27e00 deposit regext 
+73d7 60020417 store 4 ,mem_le_mic 
+73d8 20600000 rtn 
+
+aes_crypt_data:
+73d9 1a20a201 increase 1 ,rega 
+73da 204073ad call first_block_data 
+73db 1a620c00 copy regc ,contr 
+73dc 20407482 call aes_load_xor 
+73dd 20407425 call do_aes_ctr 
+73de 2040749e call store_enc_data 
+73df 1a60a610 increase 16 ,regc 
+73e0 1a40a5f0 increase -16 ,regb 
+73e1 202173d9 branch aes_crypt_data ,positive 
+73e2 20600000 rtn 
+
+le_encrypt:
+73e3 4770c03c bpatchx patch3c_1 ,mem_patch3c 
+73e4 da6043dc arg mem_le_txheader ,regc 
+73e5 680ac403 fetcht 5 ,mem_le_pcnt_tx 
+73e6 204073c1 call generate_mic 
+73e7 18007008 force regidx_xor ,regext_index 
+73e8 98005e00 iforce regext 
+73e9 18002200 force 0 ,rega 
+73ea 204073ad call first_block_data 
+73eb 20407425 call do_aes_ctr 
+73ec da6043de arg mem_le_txpayload ,regc 
+73ed 6800c3dd fetch 1 ,mem_le_txlen 
+73ee 1fe0a5ff add pdata ,-1 ,regb 
+73ef 9a608a00 iadd regc ,contw 
+73f0 1800700c force regidx_result ,regext_index 
+73f1 1de27e00 deposit regext 
+73f2 e0a20000 istore 4 ,contw 
+73f3 204073d9 call aes_crypt_data 
+73f4 6800c3dd fetch 1 ,mem_le_txlen 
+73f5 1fe0fe04 increase 4 ,pdata 
+73f6 6000c3dd store 1 ,mem_le_txlen 
+73f7 680ac403 fetcht 5 ,mem_le_pcnt_tx 
+73f8 18408401 increase 1 ,temp 
+73f9 600ac403 storet 5 ,mem_le_pcnt_tx 
+73fa 20600000 rtn 
+
+le_decrypt:
+73fb 4771403c bpatchx patch3c_2 ,mem_patch3c 
+73fc 680082da fetch 1 ,mem_le_rxbuf + 1 
+73fd 1fe67c14 sub pdata ,20 ,null 
+73fe 202173ff branch le_dec_cont ,positive 
+
+le_dec_cont:
+73ff da6002db arg mem_le_rxbuf + 2 ,regc 
+7400 1fe0a5ff add pdata ,-1 ,regb 
+7401 1fe0fffc increase -4 ,pdata 
+7402 600082da store 1 ,mem_le_rxbuf + 1 
+7403 9a608c00 iadd regc ,contr 
+7404 e8c20000 ifetch 4 ,contr 
+7405 18007008 force regidx_xor ,regext_index 
+7406 98005e00 iforce regext 
+7407 18002200 force 0 ,rega 
+7408 680ac408 fetcht 5 ,mem_le_pcnt_rx 
+7409 204073ad call first_block_data 
+740a 20407425 call do_aes_ctr 
+740b 1800700c force regidx_result ,regext_index 
+740c 1de27e00 deposit regext 
+740d 6002041b store 4 ,mem_le_peer_mic 
+740e 204073d9 call aes_crypt_data 
+740f da6002d9 arg mem_le_rxbuf ,regc 
+7410 204073c1 call generate_mic 
+7411 680a041b fetcht 4 ,mem_le_peer_mic 
+7412 98467e00 isub temp ,pdata 
+7413 247a0000 nrtn blank 
+7414 6802440d fetch 4 ,mem_le_last_mic 
+7415 98467e00 isub temp ,pdata 
+7416 207a0000 rtn blank 
+7417 600a440d storet 4 ,mem_le_last_mic 
+7418 6802c408 fetch 5 ,mem_le_pcnt_rx 
+7419 1fe0fe01 increase 1 ,pdata 
+741a 6002c408 store 5 ,mem_le_pcnt_rx 
+741b 18007e00 force 0 ,pdata 
+741c 20600000 rtn 
+
+wait_aes:
+741d 243bf41d nbranch wait_aes ,aes_ready 
+741e 20600000 rtn 
+
+do_aes_ocb:
+741f 18006c30 force 0x30 ,aes_ctrl 
+7420 18006c00 force 0x0 ,aes_ctrl 
+7421 2020741d branch wait_aes 
+
+do_aes_cbc:
+7422 18006c32 force 0x32 ,aes_ctrl 
+7423 18006c02 force 0x2 ,aes_ctrl 
+7424 2020741d branch wait_aes 
+
+do_aes_ctr:
+7425 18006c34 force 0x34 ,aes_ctrl 
+7426 18006c04 force 0x4 ,aes_ctrl 
+7427 2020741d branch wait_aes 
+
+aes_init:
+7428 18006c01 force 1 ,aes_ctrl 
+7429 18006c00 force 0 ,aes_ctrl 
+742a 20600000 rtn 
+
+function_s1:
+742b 18007000 force regidx_data ,regext_index 
+742c 6802042f fetch 4 ,mem_le_mrand 
+742d 98005e00 iforce regext 
+742e 1f00f001 increase 1 ,regext_index 
+742f e8c20000 ifetch 4 ,contr 
+7430 98005e00 iforce regext 
+7431 1f00f001 increase 1 ,regext_index 
+7432 6802443a fetch 4 ,mem_le_srand 
+7433 98005e00 iforce regext 
+7434 1f00f001 increase 1 ,regext_index 
+7435 e8c20000 ifetch 4 ,contr 
+7436 98005e00 iforce regext 
+7437 1f00f001 increase 1 ,regext_index 
+7438 20407492 call aes_clear 
+7439 1f00f1fc increase -4 ,regext_index 
+743a 680244c7 fetch 4 ,mem_le_tk 
+743b 1fe25e00 copy pdata ,regext 
+743c 1f00f004 increase 4 ,regext_index 
+743d 18006c38 force 0x38 ,aes_ctrl 
+743e 18006c08 force 0x8 ,aes_ctrl 
+743f 2020741d branch wait_aes 
+
+function_c1:
+7440 4771c03c bpatchx patch3c_3 ,mem_patch3c 
+7441 680344a0 fetch 6 ,mem_le_lap 
+7442 680b044f fetcht 6 ,mem_le_plap 
+7443 2034f446 branch function_c1_master ,master 
+7444 6803044f fetch 6 ,mem_le_plap 
+7445 680b44a0 fetcht 6 ,mem_le_lap 
+
+function_c1_master:
+7446 18007008 force regidx_xor ,regext_index 
+7447 18425e00 copy temp ,regext 
+7448 1f00f001 increase 1 ,regext_index 
+7449 184f5e00 rshift32 temp ,regext 
+744a 1ff07e00 lshift16 pdata ,pdata 
+744b 9de1de00 ior regext ,regext 
+744c 1f00f001 increase 1 ,regext_index 
+744d 1fef5e00 rshift32 pdata ,regext 
+744e 1f00f001 increase 1 ,regext_index 
+744f 18005e00 force 0 ,regext 
+7450 18007e00 force 0 ,pdata 
+7451 6800c48e fetch 1 ,mem_le_conn_peer_addr_type 
+7452 6808c485 fetcht 1 ,mem_le_adv_own_addr_type 
+7453 2434f456 nbranch function_c1_irat ,master 
+7454 6800c495 fetch 1 ,mem_le_conn_own_addr_type 
+7455 6808c48e fetcht 1 ,mem_le_conn_peer_addr_type 
+
+function_c1_irat:
+7456 6000c44a store 1 ,mem_le_iat 
+7457 6008c44b storet 1 ,mem_le_rat 
+7458 18007000 force regidx_data ,regext_index 
+7459 da40444a arg mem_le_iat ,regb 
+745a 18007204 force 4 ,loopcnt 
+
+function_c1_loop1:
+745b ea220000 ifetch 4 ,rega 
+745c ea4a0000 ifetcht 4 ,regb 
+745d 9842de00 ixor temp ,regext 
+745e 1f00f001 increase 1 ,regext_index 
+745f 1a20a204 increase 4 ,rega 
+7460 1a40a404 increase 4 ,regb 
+7461 c200745b loop function_c1_loop1 
+7462 20407492 call aes_clear 
+7463 1f00f1fc increase -4 ,regext_index 
+7464 680244c7 fetch 4 ,mem_le_tk 
+7465 1fe25e00 copy pdata ,regext 
+7466 1f00f004 increase 4 ,regext_index 
+7467 18006c38 force 0x38 ,aes_ctrl 
+7468 18006c0c force 0xc ,aes_ctrl 
+7469 2040741d call wait_aes 
+746a 20407491 call aes_clear_data 
+746b 18006c3a force 0x3a ,aes_ctrl 
+746c 18006c08 force 0x8 ,aes_ctrl 
+746d 2020741d branch wait_aes 
+
+padding_data:
+746e 2f200600 compare 0 ,loopcnt ,3 
+746f 20608000 rtn true 
+7470 18c27e00 deposit contr 
+7471 9f208a00 iadd loopcnt ,contw 
+7472 18007e00 force 0 ,pdata 
+
+padding_loop:
+7473 e0a08000 istore 1 ,contw 
+7474 1f20f201 increase 1 ,loopcnt 
+7475 2f200600 compare 0 ,loopcnt ,3 
+7476 20608000 rtn true 
+7477 20207473 branch padding_loop 
+
+aes_load_data:
+7478 18007000 force regidx_data ,regext_index 
+
+load_data_loop:
+7479 1f227e00 deposit loopcnt 
+747a 203a747d branch load_data_padding ,blank 
+747b e8c20000 ifetch 4 ,contr 
+747c 1f20f3fc increase -4 ,loopcnt 
+
+load_data_padding:
+747d 98005e00 iforce regext 
+747e 1f00f001 increase 1 ,regext_index 
+747f 2f001e04 compare regidx_key ,regext_index ,0xf 
+7480 20608000 rtn true 
+7481 20207479 branch load_data_loop 
+
+aes_load_xor:
+7482 18007008 force regidx_xor ,regext_index 
+7483 20207487 branch load_regext 
+
+load_key:
+7484 18007004 force regidx_key ,regext_index 
+7485 20207487 branch load_regext 
+
+load_data128:
+7486 18007000 force regidx_data ,regext_index 
+
+load_regext:
+7487 18007204 force 4 ,loopcnt 
+
+load_regext_loop:
+7488 e8c20000 ifetch 4 ,contr 
+7489 98005e00 iforce regext 
+748a 1f00f001 increase 1 ,regext_index 
+748b c2007488 loop load_regext_loop 
+748c 20600000 rtn 
+
+load_sk:
+748d d8c0047c arg mem_le_sk ,contr 
+748e 20207484 branch load_key 
+
+clear_hidata:
+748f 18007204 force 4 ,loopcnt 
+7490 20207494 branch clear_data_rest 
+
+aes_clear_data:
+7491 18007000 force regidx_data ,regext_index 
+
+aes_clear:
+7492 18007204 force 4 ,loopcnt 
+
+clear_loop:
+7493 18005e00 force 0 ,regext 
+
+clear_data_rest:
+7494 1f00f001 increase 1 ,regext_index 
+7495 c2007493 loop clear_loop 
+7496 20600000 rtn 
+
+store_aes_result:
+7497 1800700c force regidx_result ,regext_index 
+7498 18007204 force 4 ,loopcnt 
+
+send_aes_result_loop:
+7499 1de27e00 deposit regext 
+749a e0a20000 istore 4 ,contw 
+749b 1f00f001 increase 1 ,regext_index 
+749c c2007499 loop send_aes_result_loop 
+749d 20600000 rtn 
+
+store_enc_data:
+749e 1800700c force regidx_result ,regext_index 
+749f 1a620a00 copy regc ,contw 
+74a0 1a40f201 add regb ,1 ,loopcnt 
+74a1 1f267c0f sub loopcnt ,15 ,null 
+74a2 202174a4 branch store_enc_loop ,positive 
+74a3 18007210 force 16 ,loopcnt 
+
+store_enc_loop:
+74a4 1de27e00 deposit regext 
+74a5 1f267c03 sub loopcnt ,3 ,null 
+74a6 202174ac branch store_enc_byte ,positive 
+74a7 e0a20000 istore 4 ,contw 
+74a8 1f20f3fc increase -4 ,loopcnt 
+74a9 20628000 rtn zero 
+74aa 1f00f001 increase 1 ,regext_index 
+74ab 202074a4 branch store_enc_loop 
+
+store_enc_byte:
+74ac e0a08000 istore 1 ,contw 
+74ad 1fecfe00 rshift8 pdata ,pdata 
+74ae c20074ac loop store_enc_byte 
+74af 20600000 rtn 
+
+compare_res:
+74b0 1800700c force regidx_result ,regext_index 
+74b1 18007204 force 4 ,loopcnt 
+
+compare_res_loop:
+74b2 e8c20000 ifetch 4 ,contr 
+74b3 9de67c00 isub regext ,null 
+74b4 24628000 nrtn zero 
+74b5 1f00f001 increase 1 ,regext_index 
+74b6 c20074b2 loop compare_res_loop 
+74b7 18007c00 force 0 ,null 
+74b8 20600000 rtn 
+
+enable_authrom:
+74b9 68108050 hfetch 1 ,core_clkoff 
+74ba 793ffe00 set0 clock_off_auth_rom ,pdata 
+74bb 60108050 hstore 1 ,core_clkoff 
+74bc 20600000 rtn 
+
+disable_authrom:
+74bd 68108050 hfetch 1 ,core_clkoff 
+74be 79207e00 set1 clock_off_auth_rom ,pdata 
+74bf 60108050 hstore 1 ,core_clkoff 
+74c0 20600000 rtn 
+
+init_memp:
+74c1 d8a00886 arg mem_p ,contw 
+74c2 3803ffff setsect 0 ,0x3ffff 
+74c3 3807ffff setsect 1 ,0x3ffff 
+74c4 380bffff setsect 2 ,0x3ffff 
+74c5 380ffbff setsect 3 ,0x3fbff 
+74c6 e0a48000 istore 9 ,contw 
+74c7 3803ffff setsect 0 ,0x3ffff 
+74c8 3807ffff setsect 1 ,0x3ffff 
+74c9 380bffff setsect 2 ,0x3ffff 
+74ca 380fffff setsect 3 ,0x3ffff 
+74cb e0a48000 istore 9 ,contw 
+74cc 3803ffff setsect 0 ,0x3ffff 
+74cd 3807ffff setsect 1 ,0x3ffff 
+74ce 380bcfff setsect 2 ,0x3cfff 
+74cf 380fffff setsect 3 ,0x3ffff 
+74d0 e0a48000 istore 9 ,contw 
+74d1 3803ffff setsect 0 ,0x3ffff 
+74d2 3807ffff setsect 1 ,0x3ffff 
+74d3 380bffef setsect 2 ,0x3ffef 
+74d4 380fffff setsect 3 ,0x3ffff 
+74d5 e0a48000 istore 9 ,contw 
+74d6 3803ffff setsect 0 ,0x3ffff 
+74d7 3807ffff setsect 1 ,0x3ffff 
+74d8 380bffff setsect 2 ,0x3ffff 
+74d9 380fffff setsect 3 ,0x3ffff 
+74da e0a48000 istore 9 ,contw 
+74db 3803ffff setsect 0 ,0x3ffff 
+74dc 38066c7f setsect 1 ,0x26c7f 
+74dd 3808146b setsect 2 ,0x146b 
+74de 380f7bb3 setsect 3 ,0x37bb3 
+74df e0a48000 istore 9 ,contw 
+74e0 3801feb8 setsect 0 ,0x1feb8 
+74e1 38050c12 setsect 1 ,0x10c12 
+74e2 380ab722 setsect 2 ,0x2b722 
+74e3 380e9fa6 setsect 3 ,0x29fa6 
+74e4 e0a48000 istore 9 ,contw 
+74e5 3800e70f setsect 0 ,0xe70f 
+74e6 38056720 setsect 1 ,0x16720 
+74e7 3808519e setsect 2 ,0x519e 
+74e8 380d9084 setsect 3 ,0x19084 
+74e9 e0a48000 istore 9 ,contw 
+74ea 38031012 setsect 0 ,0x31012 
+74eb 380760bf setsect 1 ,0x360bf 
+74ec 380bf0af setsect 2 ,0x3f0af 
+74ed 380c03d3 setsect 3 ,0x3d3 
+74ee e0a48000 istore 9 ,contw 
+74ef 3803a188 setsect 0 ,0x3a188 
+74f0 38043ad0 setsect 1 ,0x3ad0 
+74f1 380bcbf2 setsect 2 ,0x3cbf2 
+74f2 380e43d9 setsect 3 ,0x243d9 
+74f3 e0a48000 istore 9 ,contw 
+74f4 3802b030 setsect 0 ,0x2b030 
+74f5 38076a03 setsect 1 ,0x36a03 
+74f6 38091188 setsect 2 ,0x11188 
+74f7 380de520 setsect 3 ,0x1e520 
+74f8 e0a48000 istore 9 ,contw 
+74f9 3803a11e setsect 0 ,0x3a11e 
+74fa 3804fe5d setsect 1 ,0xfe5d 
+74fb 3808dd57 setsect 2 ,0xdd57 
+74fc 380dac93 setsect 3 ,0x1ac93 
+74fd e0a48000 istore 9 ,contw 
+74fe 380011ed setsect 0 ,0x11ed 
+74ff 380618c4 setsect 1 ,0x218c4 
+7500 38088da7 setsect 2 ,0x8da7 
+7501 380e57ff setsect 3 ,0x257ff 
+7502 e0a48000 istore 9 ,contw 
+7503 3803192b setsect 0 ,0x3192b 
+7504 38074641 setsect 1 ,0x34641 
+7505 3809be0c setsect 2 ,0x1be0c 
+7506 380f66ad setsect 3 ,0x366ad 
+7507 e0a48000 istore 9 ,contw 
+7508 38001f83 setsect 0 ,0x1f83 
+7509 38055a23 setsect 1 ,0x15a23 
+750a 380bf9b0 setsect 2 ,0x3f9b0 
+750b 380c3949 setsect 3 ,0x3949 
+750c e0a48000 istore 9 ,contw 
+750d 38013a51 setsect 0 ,0x13a51 
+750e 380553fd setsect 1 ,0x153fd 
+750f 380b372a setsect 2 ,0x3372a 
+7510 380cf1bb setsect 3 ,0xf1bb 
+7511 e0a48000 istore 9 ,contw 
+7512 3803ae85 setsect 0 ,0x3ae85 
+7513 3805eed9 setsect 1 ,0x1eed9 
+7514 38089e66 setsect 2 ,0x9e66 
+7515 380c01a8 setsect 3 ,0x1a8 
+7516 e0a40000 istore 8 ,contw 
+7517 20600000 rtn 
+
+init_memp_256:
+7518 d8a0091e arg mem_p_256 ,contw 
+7519 3803ffff setsect 0 ,0x3ffff 
+751a 3807ffff setsect 1 ,0x3ffff 
+751b 380bffff setsect 2 ,0x3ffff 
+751c 380fffff setsect 3 ,0x3ffff 
+751d e0a48000 istore 9 ,contw 
+751e 3803ffff setsect 0 ,0x3ffff 
+751f 3804003f setsect 1 ,0x3f 
+7520 38080000 setsect 2 ,0x0 
+7521 380c0000 setsect 3 ,0x0 
+7522 e0a48000 istore 9 ,contw 
+7523 38000000 setsect 0 ,0x0 
+7524 38040000 setsect 1 ,0x0 
+7525 38081000 setsect 2 ,0x1000 
+7526 380c0000 setsect 3 ,0x0 
+7527 e0a48000 istore 9 ,contw 
+7528 3803ff00 setsect 0 ,0x3ff00 
+7529 3807ffff setsect 1 ,0x3ffff 
+752a 380bffcf setsect 2 ,0x3ffcf 
+752b 380fffff setsect 3 ,0x3ffff 
+752c e0a48000 istore 9 ,contw 
+752d 3803ffff setsect 0 ,0x3ffff 
+752e 3807ffff setsect 1 ,0x3ffff 
+752f 380bffff setsect 2 ,0x3ffff 
+7530 380c03ff setsect 3 ,0x3ff 
+7531 e0a48000 istore 9 ,contw 
+7532 38000000 setsect 0 ,0x0 
+7533 38040000 setsect 1 ,0x0 
+7534 38080000 setsect 2 ,0x0 
+7535 380c0000 setsect 3 ,0x0 
+7536 e0a48000 istore 9 ,contw 
+7537 38010000 setsect 0 ,0x10000 
+7538 38040000 setsect 1 ,0x0 
+7539 380bf000 setsect 2 ,0x3f000 
+753a 380fffff setsect 3 ,0x3ffff 
+753b e0a48000 istore 9 ,contw 
+753c 380296ff setsect 0 ,0x296ff 
+753d 38062630 setsect 1 ,0x22630 
+753e 380b945d setsect 2 ,0x3945d 
+753f 380fd284 setsect 3 ,0x3d284 
+7540 e0a48000 istore 9 ,contw 
+7541 380333a0 setsect 0 ,0x333a0 
+7542 38044b7a setsect 1 ,0x4b7a 
+7543 380837d8 setsect 2 ,0x37d8 
+7544 380fc9dc setsect 3 ,0x3c9dc 
+7545 e0a48000 istore 9 ,contw 
+7546 3803a440 setsect 0 ,0x3a440 
+7547 3805b958 setsect 1 ,0x1b958 
+7548 380b8bce setsect 2 ,0x38bce 
+7549 380d091f setsect 3 ,0x1091f 
+754a e0a48000 istore 9 ,contw 
+754b 3802e12c setsect 0 ,0x2e12c 
+754c 3805f47c setsect 1 ,0x1f47c 
+754d 380b56b1 setsect 2 ,0x356b1 
+754e 380efd47 setsect 3 ,0x2fd47 
+754f e0a48000 istore 9 ,contw 
+7550 38006837 setsect 0 ,0x6837 
+7551 3806ed90 setsect 1 ,0x2ed90 
+7552 3809ecec setsect 2 ,0x1ecec 
+7553 380dacc5 setsect 3 ,0x1acc5 
+7554 e0a48000 istore 9 ,contw 
+7555 38023357 setsect 0 ,0x23357 
+7556 38058af3 setsect 1 ,0x18af3 
+7557 3808f9e1 setsect 2 ,0xf9e1 
+7558 380d29f0 setsect 3 ,0x129f0 
+7559 e0a48000 istore 9 ,contw 
+755a 3802e7eb setsect 0 ,0x2e7eb 
+755b 3807e6e3 setsect 1 ,0x3e6e3 
+755c 380be1a7 setsect 2 ,0x3e1a7 
+755d 380d0b8b setsect 3 ,0x10b8b 
+755e e0a48000 istore 9 ,contw 
+755f 38024fe3 setsect 0 ,0x24fe3 
+7560 380420ef setsect 1 ,0x20ef 
+7561 3809b5a6 setsect 2 ,0x1b5a6 
+7562 380cdc2f setsect 3 ,0xdc2f 
+7563 e0a48000 istore 9 ,contw 
+7564 38013860 setsect 0 ,0x13860 
+7565 3806bd69 setsect 1 ,0x2bd69 
+7566 3808391a setsect 2 ,0x391a 
+7567 380db222 setsect 3 ,0x1b222 
+7568 e0a48000 istore 9 ,contw 
+7569 20600000 rtn 
+
+publickey_init:
+756a 6800c65a fetch 1 ,mem_ssp_enable 
+756b 243a757d nbranch sp_initialize ,blank 
+756c 20207a77 branch sp_initialize_256 
+
+sp_calc_sequence_256_check:
+756d 4772403c bpatchx patch3c_4 ,mem_patch3c 
+756e 6800c65a fetch 1 ,mem_ssp_enable 
+756f 207a0000 rtn blank 
+7570 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+7571 c1808000 rtnne sp_key_valid 
+7572 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+7573 207a0000 rtn blank 
+7574 6800c4c3 fetch 1 ,mem_le_sc_local_key_invalid 
+7575 c1018000 rtneq sp_key_valid_256 
+7576 68014682 fetch 2 ,mem_ui_state_map 
+7577 c280757b bbit1 ui_state_bt_connected ,stop_publickey_calc_256 
+7578 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7579 c0007a77 beq sp_calc_standby ,sp_initialize_256 
+757a 20600000 rtn 
+
+stop_publickey_calc_256:
+757b 7044c000 jam sp_calc_standby ,mem_le_sc_calc 
+757c 20600000 rtn 
+
+sp_initialize:
+757d 4772c03c bpatchx patch3c_5 ,mem_patch3c 
+757e 6800c65a fetch 1 ,mem_ssp_enable 
+757f 203a612b branch ssp_disable ,blank 
+7580 20406124 call ssp_enable 
+7581 20407583 call sp_clear_flags 
+7582 2020766d branch sp_pubkey_calc 
+
+sp_clear_flags:
+7583 58000000 setarg 0 
+7584 600409ae store 8 ,mem_sp_state_start 
+7585 600209b6 store 4 ,mem_sp_flag_start 
+7586 6003c65e store 7 ,mem_sp_iocap_remote 
+7587 20600000 rtn 
+
+sp_generate_local_key:
+7588 7009b001 jam sp_flag_commit ,mem_sp_flag 
+7589 2020758d branch sp_generate_local_key0 
+
+sp_master_generate_local_key:
+758a 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+758b c000f68a beq sp_key_valid ,sp_dhkey_calc 
+758c 20202a8c branch assert 
+
+sp_generate_local_key0:
+758d 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+758e c000f590 beq sp_key_valid ,sp_start_send_pubkey 
+758f 2020766d branch sp_pubkey_calc 
+
+sp_start_send_pubkey:
+7590 2040768a call sp_dhkey_calc 
+7591 680089af fetch 1 ,mem_master_sp_state 
+7592 247a0000 nrtn blank 
+7593 7009ae03 jam sp_stat_key_send ,mem_sp_state 
+7594 20600000 rtn 
+
+sp_calc_check_publickey_256:
+7595 204075b0 call sp_calc_b256 
+7596 da2009de arg mem_le_pubkey_remote_y_256 ,rega 
+7597 d8a00866 arg mem_t7_256 ,contw 
+7598 20407c79 call bn_sqrmod_256 
+7599 da2009be arg mem_le_pubkey_remote_x_256 ,rega 
+759a d8a00826 arg mem_t2_256 ,contw 
+759b 20407c79 call bn_sqrmod_256 
+759c da200826 arg mem_t2_256 ,rega 
+759d da4009be arg mem_le_pubkey_remote_x_256 ,regb 
+759e d8a00826 arg mem_t2_256 ,contw 
+759f 20407be1 call bn_mulmod_256 
+75a0 da20093e arg mem_a_256 ,rega 
+75a1 da4009be arg mem_le_pubkey_remote_x_256 ,regb 
+75a2 d8a00846 arg mem_t3_256 ,contw 
+75a3 20407be1 call bn_mulmod_256 
+75a4 da200846 arg mem_t3_256 ,rega 
+75a5 da400826 arg mem_t2_256 ,regb 
+75a6 d8a00826 arg mem_t2_256 ,contw 
+75a7 20407c7d call bn_addmod_256 
+75a8 da200806 arg mem_t0_256 ,rega 
+75a9 da400826 arg mem_t2_256 ,regb 
+75aa d8a00806 arg mem_t0_256 ,contw 
+75ab 20407c7d call bn_addmod_256 
+75ac df200020 arg 32 ,loopcnt 
+75ad da200866 arg mem_t7_256 ,rega 
+75ae da400806 arg mem_t0_256 ,regb 
+75af 20207f88 branch string_compare 
+
+sp_calc_b256:
+75b0 da20097e arg mem_gy_256 ,rega 
+75b1 d8a00806 arg mem_t0_256 ,contw 
+75b2 20407c79 call bn_sqrmod_256 
+75b3 da20095e arg mem_gx_256 ,rega 
+75b4 d8a00826 arg mem_t2_256 ,contw 
+75b5 20407c79 call bn_sqrmod_256 
+75b6 da200826 arg mem_t2_256 ,rega 
+75b7 da40095e arg mem_gx_256 ,regb 
+75b8 d8a00826 arg mem_t2_256 ,contw 
+75b9 20407be1 call bn_mulmod_256 
+75ba da20093e arg mem_a_256 ,rega 
+75bb da40095e arg mem_gx_256 ,regb 
+75bc d8a00846 arg mem_t3_256 ,contw 
+75bd 20407be1 call bn_mulmod_256 
+75be da200846 arg mem_t3_256 ,rega 
+75bf da400826 arg mem_t2_256 ,regb 
+75c0 d8a00826 arg mem_t2_256 ,contw 
+75c1 20407c7d call bn_addmod_256 
+75c2 da200806 arg mem_t0_256 ,rega 
+75c3 da400826 arg mem_t2_256 ,regb 
+75c4 d8a00806 arg mem_t0_256 ,contw 
+75c5 20207c96 branch bn_submod_256 
+
+sp_calc_check_publickey:
+75c6 204075e1 call sp_calc_b 
+75c7 da2009e6 arg mem_sp_pubkey_remote_y ,rega 
+75c8 d8a00866 arg mem_t7_256 ,contw 
+75c9 204077a8 call bn_sqrmod 
+75ca da2009c6 arg mem_sp_pubkey_remote_x ,rega 
+75cb d8a00826 arg mem_t2_256 ,contw 
+75cc 204077a8 call bn_sqrmod 
+75cd da200826 arg mem_t2_256 ,rega 
+75ce da4009c6 arg mem_sp_pubkey_remote_x ,regb 
+75cf d8a00826 arg mem_t2_256 ,contw 
+75d0 20407786 call bn_mulmod 
+75d1 da20089e arg mem_a ,rega 
+75d2 da4009c6 arg mem_sp_pubkey_remote_x ,regb 
+75d3 d8a00846 arg mem_t3_256 ,contw 
+75d4 20407786 call bn_mulmod 
+75d5 da200846 arg mem_t3_256 ,rega 
+75d6 da400826 arg mem_t2_256 ,regb 
+75d7 d8a00826 arg mem_t2_256 ,contw 
+75d8 20407755 call bn_addmod 
+75d9 da200806 arg mem_t0_256 ,rega 
+75da da400826 arg mem_t2_256 ,regb 
+75db d8a00806 arg mem_t0_256 ,contw 
+75dc 20407755 call bn_addmod 
+75dd df200018 arg 24 ,loopcnt 
+75de da200866 arg mem_t7_256 ,rega 
+75df da400806 arg mem_t0_256 ,regb 
+75e0 20207f88 branch string_compare 
+
+sp_calc_b:
+75e1 da2008e6 arg mem_gy ,rega 
+75e2 d8a00806 arg mem_t0_256 ,contw 
+75e3 204077a8 call bn_sqrmod 
+75e4 da2008ce arg mem_gx ,rega 
+75e5 d8a00826 arg mem_t2_256 ,contw 
+75e6 204077a8 call bn_sqrmod 
+75e7 da200826 arg mem_t2_256 ,rega 
+75e8 da4008ce arg mem_gx ,regb 
+75e9 d8a00826 arg mem_t2_256 ,contw 
+75ea 20407786 call bn_mulmod 
+75eb da20089e arg mem_a ,rega 
+75ec da4008ce arg mem_gx ,regb 
+75ed d8a00846 arg mem_t3_256 ,contw 
+75ee 20407786 call bn_mulmod 
+75ef da200846 arg mem_t3_256 ,rega 
+75f0 da400826 arg mem_t2_256 ,regb 
+75f1 d8a00826 arg mem_t2_256 ,contw 
+75f2 20407755 call bn_addmod 
+75f3 da200806 arg mem_t0_256 ,rega 
+75f4 da400826 arg mem_t2_256 ,regb 
+75f5 d8a00806 arg mem_t0_256 ,contw 
+75f6 20207758 branch bn_submod 
+
+sp_calculate_commitment:
+75f7 680089b2 fetch 1 ,mem_sp_calc 
+75f8 c0807615 bne sp_calc_standby ,sp_calculate_commitment_wait_dhkey_calc 
+75f9 20407612 call sp_local_random_key_generator 
+75fa d8a00a7e arg mem_sp_prarm_stack ,contw 
+75fb 58000a2e setarg mem_sp_random_local_end 
+75fc e0a10000 istore 2 ,contw 
+75fd 58004642 setarg mem_sp_pubkey_local_x_end 
+75fe e0a10000 istore 2 ,contw 
+75ff 580009de setarg mem_sp_pubkey_remote_x_end 
+7600 e0a10000 istore 2 ,contw 
+7601 20207609 branch sp_calculate_commitment0 
+
+master_sp_calculate_commitment:
+7602 d8a00a7e arg mem_sp_prarm_stack ,contw 
+7603 58000a3e setarg mem_sp_random_remote_end 
+7604 e0a10000 istore 2 ,contw 
+7605 580009de setarg mem_sp_pubkey_remote_x_end 
+7606 e0a10000 istore 2 ,contw 
+7607 58004642 setarg mem_sp_pubkey_local_x_end 
+7608 e0a10000 istore 2 ,contw 
+
+sp_calculate_commitment0:
+7609 204079a0 call function_f1 
+760a 680089af fetch 1 ,mem_master_sp_state 
+760b c002760f beq sp_stat_commit_calc ,master_sp_calculate_commitment0 
+760c 7009b001 jam sp_flag_commit ,mem_sp_flag 
+760d 7009ae05 jam sp_stat_commit_send ,mem_sp_state 
+760e 20600000 rtn 
+
+master_sp_calculate_commitment0:
+760f 7009af14 jam sp_stat_commitment_compare ,mem_master_sp_state 
+7610 2040758a call sp_master_generate_local_key 
+7611 202076d8 branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+7612 d8a00a1e arg mem_sp_random_local ,contw 
+7613 18000e08 force 8 ,queue 
+7614 202076a2 branch random_generator 
+
+sp_calculate_commitment_wait_dhkey_calc:
+7615 7009b001 jam sp_flag_commit ,mem_sp_flag 
+7616 20600000 rtn 
+
+sp_confirm_check:
+7617 4773403c bpatchx patch3c_6 ,mem_patch3c 
+7618 d8a00727 arg mem_addr_value ,contw 
+7619 680340a0 fetch 6 ,mem_lap 
+761a e0a30000 istore 6 ,contw 
+761b 68030040 fetch 6 ,mem_plap 
+761c e0a30000 istore 6 ,contw 
+761d 6801c65e fetch 3 ,mem_sp_iocap_remote 
+761e e0a18000 istore 3 ,contw 
+761f 20407a0d call function_f3a 
+7620 da200a4e arg mem_sp_calc_result_high ,rega 
+7621 da400a5e arg mem_sp_check_result ,regb 
+7622 18000e04 force 4 ,queue 
+7623 204076a7 call compare4 
+7624 2420f631 nbranch sp_confirm_check_failed ,true 
+7625 20407628 call sp_confirm_check_success 
+7626 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+7627 202062f8 branch tid_set_reply 
+
+sp_confirm_check_success:
+7628 680089af fetch 1 ,mem_master_sp_state 
+7629 c004f62e beq sp_stat_confirm_check ,sp_confirm_check_success_master 
+762a 7009ae0a jam sp_stat_confirm_calc ,mem_sp_state 
+762b 7009b001 jam sp_flag_commit ,mem_sp_flag 
+762c 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+762d 20600000 rtn 
+
+sp_confirm_check_success_master:
+762e 70007c03 jam lmp_accepted ,mem_lmo_opcode2 
+762f 7009af15 jam sp_state_end ,mem_master_sp_state 
+7630 202076d8 branch master_set_mem_master_sp_flag 
+
+sp_confirm_check_failed:
+7631 680089af fetch 1 ,mem_master_sp_state 
+7632 c004f637 beq sp_stat_confirm_check ,sp_confirm_check_failed_master 
+7633 7009ae00 jam sp_stat_null ,mem_sp_state 
+7634 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+7635 70007e05 jam authentication_failure_error ,mem_lmo_reason2 
+7636 20600000 rtn 
+
+sp_confirm_check_failed_master:
+7637 70007c04 jam lmp_not_accepted ,mem_lmo_opcode2 
+7638 7009af00 jam sp_stat_null ,mem_master_sp_state 
+7639 20600000 rtn 
+
+sp_confirm_calc:
+763a 680089b3 fetch 1 ,mem_sp_dh_ready 
+763b c000f63e beq sp_flag_commit ,sp_confirm_calc_ready 
+763c 7009af0a jam sp_stat_confirm_calc ,mem_master_sp_state 
+763d 202076d8 branch master_set_mem_master_sp_flag 
+
+sp_confirm_calc_ready:
+763e d8a00727 arg mem_addr_value ,contw 
+763f 68030040 fetch 6 ,mem_plap 
+7640 e0a30000 istore 6 ,contw 
+7641 680340a0 fetch 6 ,mem_lap 
+7642 e0a30000 istore 6 ,contw 
+7643 6801c65b fetch 3 ,mem_sp_iocap_local 
+7644 e0a18000 istore 3 ,contw 
+7645 20407a24 call function_f3b 
+7646 680089af fetch 1 ,mem_master_sp_state 
+7647 c005764b beq sp_stat_confirm_calc ,sp_confirm_calc_master 
+7648 7009ae0b jam sp_stat_confirm_send ,mem_sp_state 
+7649 7009b001 jam sp_flag_commit ,mem_sp_flag 
+764a 20600000 rtn 
+
+sp_confirm_calc_master:
+764b 7009af0b jam sp_stat_confirm_send ,mem_master_sp_state 
+764c 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+764d 20600000 rtn 
+
+sp_master_key_prarm_push:
+764e d8a00a7e arg mem_sp_prarm_stack ,contw 
+764f 68030040 fetch 6 ,mem_plap 
+7650 e0a30000 istore 6 ,contw 
+7651 680340a0 fetch 6 ,mem_lap 
+7652 e0a30000 istore 6 ,contw 
+7653 58000a2e setarg mem_sp_random_local_end 
+7654 e0a10000 istore 2 ,contw 
+7655 58000a3e setarg mem_sp_random_remote_end 
+7656 e0a10000 istore 2 ,contw 
+7657 20207662 branch sp_link_key_calc 
+
+sp_link_key_prarm_push:
+7658 7009ae0f jam sp_stat_done ,mem_sp_state 
+7659 d8a00a7e arg mem_sp_prarm_stack ,contw 
+765a 680340a0 fetch 6 ,mem_lap 
+765b e0a30000 istore 6 ,contw 
+765c 68030040 fetch 6 ,mem_plap 
+765d e0a30000 istore 6 ,contw 
+765e 58000a3e setarg mem_sp_random_remote_end 
+765f e0a10000 istore 2 ,contw 
+7660 58000a2e setarg mem_sp_random_local_end 
+7661 e0a10000 istore 2 ,contw 
+
+sp_link_key_calc:
+7662 d8a00727 arg mem_addr_value ,contw 
+7663 68030a7e fetch 6 ,mem_sp_prarm_stack 
+7664 e0a30000 istore 6 ,contw 
+7665 68030a84 fetch 6 ,mem_sp_prarm_stack + 6 
+7666 e0a30000 istore 6 ,contw 
+7667 204079d7 call function_f2 
+7668 7041bd01 jam 1 ,mem_link_key_exists 
+7669 d8a041be arg mem_link_key ,contw 
+766a d8c00a4e arg mem_sp_calc_result_high ,contr 
+766b 20407ebf call memcpy16 
+766c 202021c4 branch generate_linkkey_continue 
+
+sp_pubkey_calc:
+766d 4773c03c bpatchx patch3c_7 ,mem_patch3c 
+766e 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+766f c1800000 rtnne sp_key_invalid 
+7670 680089b2 fetch 1 ,mem_sp_calc 
+7671 c1800000 rtnne sp_calc_standby 
+7672 d8a04612 arg mem_sp_private_key ,contw 
+7673 18000e0b force 11 ,queue 
+7674 204076a2 call random_generator 
+7675 180a7e00 random pdata 
+7676 1fe37e00 rshift pdata ,pdata 
+7677 e0a10000 istore 2 ,contw 
+7678 d8a006be arg mem_k ,contw 
+7679 d8c04612 arg mem_sp_private_key ,contr 
+767a 20407ebe call memcpy24 
+767b d8a005e6 arg mem_ax ,contw 
+767c d8c008ce arg mem_gx ,contr 
+767d 20407ebc call memcpy48 
+767e d8a00616 arg mem_az ,contw 
+767f 20407ec5 call bn_zero 
+7680 70061601 jam 1 ,mem_az 
+7681 20407a5d call eckp_calc_init 
+7682 7009b201 jam sp_calc_pubkey ,mem_sp_calc 
+7683 20600000 rtn 
+
+sp_pubkey_generated:
+7684 d8a0462a arg mem_sp_pubkey_local ,contw 
+7685 d8c0062e arg mem_bx ,contr 
+7686 20407ebc call memcpy48 
+7687 7045b101 jam sp_key_valid ,mem_sp_local_key_invalid 
+7688 7009b200 jam sp_calc_standby ,mem_sp_calc 
+7689 20600000 rtn 
+
+sp_dhkey_calc:
+768a 4774403d bpatchx patch3d_0 ,mem_patch3d 
+768b 680089b9 fetch 1 ,mem_sp_dhkey_invalid 
+768c c1800000 rtnne sp_key_invalid 
+768d 680089b2 fetch 1 ,mem_sp_calc 
+768e c1800000 rtnne sp_calc_standby 
+768f d8a006be arg mem_k ,contw 
+7690 d8c04612 arg mem_sp_private_key ,contr 
+7691 20407ebe call memcpy24 
+7692 d8a005e6 arg mem_ax ,contw 
+7693 d8c009c6 arg mem_sp_pubkey_remote ,contr 
+7694 20407ebc call memcpy48 
+7695 d8a00616 arg mem_az ,contw 
+7696 20407ec5 call bn_zero 
+7697 70061601 jam 1 ,mem_az 
+7698 20407a5d call eckp_calc_init 
+7699 7009b202 jam sp_calc_dhkey ,mem_sp_calc 
+769a 20600000 rtn 
+
+sp_dhkey_generated:
+769b 7009b301 jam sp_flag_commit ,mem_sp_dh_ready 
+769c d8a00a06 arg mem_sp_dhkey ,contw 
+769d d8c0062e arg mem_bx ,contr 
+769e 20407ebe call memcpy24 
+769f 7009b901 jam sp_key_valid ,mem_sp_dhkey_invalid 
+76a0 7009b200 jam sp_calc_standby ,mem_sp_calc 
+76a1 20600000 rtn 
+
+random_generator:
+76a2 18e08fff increase -1 ,queue 
+76a3 24610000 nrtn positive 
+76a4 180a7e00 random pdata 
+76a5 e0a10000 istore 2 ,contw 
+76a6 202076a2 branch random_generator 
+
+compare4:
+76a7 18e08fff increase -1 ,queue 
+76a8 242176b3 nbranch compare4_success ,positive 
+76a9 ea220000 ifetch 4 ,rega 
+76aa 1fe20400 copy pdata ,temp 
+76ab ea420000 ifetch 4 ,regb 
+76ac 9842fe00 iflip temp ,pdata 
+76ad 2422f6b1 nbranch compare4_failed ,zero 
+76ae 1a20a204 increase 4 ,rega 
+76af 1a40a404 increase 4 ,regb 
+76b0 202076a7 branch compare4 
+
+compare4_failed:
+76b1 7840fc00 disable true 
+76b2 20600000 rtn 
+
+compare4_success:
+76b3 7820fc00 enable true 
+76b4 20600000 rtn 
+
+simple_pairing_sequence:
+76b5 4774c03d bpatchx patch3d_1 ,mem_patch3d 
+76b6 680089b0 fetch 1 ,mem_sp_flag 
+76b7 207a0000 rtn blank 
+76b8 204062bc call lmo_fifo_check 
+76b9 247a0000 nrtn blank 
+76ba 7009b000 jam sp_flag_standby ,mem_sp_flag 
+76bb 680089ae fetch 1 ,mem_sp_state 
+76bc c001e1fd beq sp_stat_key_send ,sp_send_lmp_encapsulated_header 
+76bd c002e21a beq sp_stat_commit_send ,sp_send_lmp_simple_pairing_comfirm 
+76be c003e225 beq sp_stat_random_send ,sp_send_lmp_simple_pairing_number 
+76bf c005e23a beq sp_stat_confirm_send ,sp_send_lmp_dhkey_check 
+76c0 c0017588 beq sp_stat_key_generate ,sp_generate_local_key 
+76c1 c00275f7 beq sp_stat_commit_calc ,sp_calculate_commitment 
+76c2 c004f617 beq sp_stat_confirm_check ,sp_confirm_check 
+76c3 c005763a beq sp_stat_confirm_calc ,sp_confirm_calc 
+76c4 c0067658 beq sp_stat_link_key_calc ,sp_link_key_prarm_push 
+76c5 20600000 rtn 
+
+master_simple_paring_sequence:
+76c6 4775403d bpatchx patch3d_2 ,mem_patch3d 
+76c7 680089b1 fetch 1 ,mem_master_sp_flag 
+76c8 207a0000 rtn blank 
+76c9 204062bc call lmo_fifo_check 
+76ca 247a0000 nrtn blank 
+76cb 7009b100 jam sp_flag_standby ,mem_master_sp_flag 
+76cc 680089af fetch 1 ,mem_master_sp_state 
+76cd c00961e0 beq sp_master_stat_start_skip ,sp_master_send_io_cap_get 
+76ce c009e1e5 beq sp_master_stat_start_done ,sp_master_send_io_cap_send 
+76cf c001e1e9 beq sp_stat_key_send ,sp_master_send_lmp_encapsulated_header 
+76d0 c0027602 beq sp_stat_commit_calc ,master_sp_calculate_commitment 
+76d1 c00a61ed beq sp_stat_commitment_compare ,sp_master_commitment_compare 
+76d2 c003e1fb beq sp_stat_random_send ,sp_master_send_lmp_simple_pairing_number 
+76d3 c005763a beq sp_stat_confirm_calc ,sp_confirm_calc 
+76d4 c005e239 beq sp_stat_confirm_send ,master_sp_send_lmp_dhkey_check 
+76d5 c004f617 beq sp_stat_confirm_check ,sp_confirm_check 
+76d6 c00ae233 beq sp_state_end ,master_sp_sm_end 
+76d7 20600000 rtn 
+
+master_set_mem_master_sp_flag:
+76d8 7009b101 jam sp_flag_commit ,mem_master_sp_flag 
+76d9 20600000 rtn 
+
+master_clear_mem_master_sp_flag:
+76da 7009b100 jam sp_flag_standby ,mem_master_sp_flag 
+76db 20600000 rtn 
+
+sp_calc_sequence:
+76dc 4775c03d bpatchx patch3d_3 ,mem_patch3d 
+76dd 6800c65a fetch 1 ,mem_ssp_enable 
+76de 207a0000 rtn blank 
+76df 680089b2 fetch 1 ,mem_sp_calc 
+76e0 207a0000 rtn blank 
+76e1 1fe0fe80 increase 0x80 ,pdata 
+76e2 600089b2 store 1 ,mem_sp_calc 
+76e3 c3838000 rtnbit1 7 
+76e4 680085e3 fetch 1 ,mem_ec_loopc 
+76e5 203a76e7 branch sp_calc_sequence_done ,blank 
+76e6 20207a68 branch eckp_calc 
+
+sp_calc_sequence_done:
+76e7 204078d3 call ecunmapz 
+76e8 680089b2 fetch 1 ,mem_sp_calc 
+76e9 c000f684 beq sp_calc_pubkey ,sp_pubkey_generated 
+76ea c001769b beq sp_calc_dhkey ,sp_dhkey_generated 
+76eb 20600000 rtn 
+
+bn_testbit:
+76ec 1fe10e07 and pdata ,7 ,queue 
+76ed 1fe97e00 rshift3 pdata ,pdata 
+76ee 98c08c00 iadd contr ,contr 
+76ef e8c08000 ifetch 1 ,contr 
+76f0 afec0000 qisolate0 pdata 
+76f1 20600000 rtn 
+
+ec_copy:
+76f2 20407ebe call memcpy24 
+76f3 20407ebe call memcpy24 
+76f4 20207ebe branch memcpy24 
+
+bn_eq_zero:
+76f5 e8c40000 ifetch 8 ,contr 
+76f6 247a0000 nrtn blank 
+76f7 e8c40000 ifetch 8 ,contr 
+76f8 247a0000 nrtn blank 
+76f9 e8c40000 ifetch 8 ,contr 
+76fa 20600000 rtn 
+
+bn_eq_0:
+76fb ea220000 ifetch 4 ,rega 
+76fc 98000400 iforce temp 
+76fd ea420000 ifetch 4 ,regb 
+76fe 98467c00 isub temp ,null 
+76ff 24628000 nrtn zero 
+7700 1a20a204 increase 4 ,rega 
+7701 1a40a404 increase 4 ,regb 
+7702 c20076fb loop bn_eq_0 
+7703 20600000 rtn 
+
+bn_bigeq:
+7704 18007206 force 6 ,loopcnt 
+7705 1a20a214 increase 20 ,rega 
+7706 1a40a414 increase 20 ,regb 
+
+bn_bigeq_0:
+7707 ea420000 ifetch 4 ,regb 
+7708 98000400 iforce temp 
+7709 ea220000 ifetch 4 ,rega 
+770a 98467e00 isub temp ,pdata 
+770b 24610000 nrtn positive 
+770c 247a0000 nrtn blank 
+770d 1a20a3fc increase -4 ,rega 
+770e 1a40a5fc increase -4 ,regb 
+770f c2007707 loop bn_bigeq_0 
+7710 20600000 rtn 
+
+bn_add:
+7711 18007206 force 6 ,loopcnt 
+7712 18002600 force 0 ,regc 
+
+bn_add_0:
+7713 ea220000 ifetch 4 ,rega 
+7714 98000400 iforce temp 
+7715 ea420000 ifetch 4 ,regb 
+7716 9840fe00 iadd temp ,pdata 
+7717 9a60fe00 iadd regc ,pdata 
+7718 e0a20000 istore 4 ,contw 
+7719 2feffe20 isolate1 32 ,pdata 
+771a 7920a600 setflag true ,0 ,regc 
+771b 1a20a204 increase 4 ,rega 
+771c 1a40a404 increase 4 ,regb 
+771d c2007713 loop bn_add_0 
+771e 20600000 rtn 
+
+bn_sub:
+771f 18007206 force 6 ,loopcnt 
+7720 18002600 force 0 ,regc 
+
+bn_sub_0:
+7721 ea420000 ifetch 4 ,regb 
+7722 98000400 iforce temp 
+7723 ea220000 ifetch 4 ,rega 
+7724 98467e00 isub temp ,pdata 
+7725 9a667e00 isub regc ,pdata 
+7726 e0a20000 istore 4 ,contw 
+7727 2feffe20 isolate1 32 ,pdata 
+7728 7920a600 setflag true ,0 ,regc 
+7729 1a20a204 increase 4 ,rega 
+772a 1a40a404 increase 4 ,regb 
+772b c2007721 loop bn_sub_0 
+772c 20600000 rtn 
+
+bn_rshift6:
+772d 18007206 force 6 ,loopcnt 
+772e 1a20a214 increase 20 ,rega 
+
+bn_rshift:
+772f 18002600 force 0 ,regc 
+
+bn_rshift_0:
+7730 ea220000 ifetch 4 ,rega 
+7731 2feffe00 isolate1 0 ,pdata 
+7732 7920a601 setflag true ,1 ,regc 
+7733 1fe37e00 rshift pdata ,pdata 
+7734 2a6ffe00 isolate1 0 ,regc 
+7735 7920fe1f setflag true ,31 ,pdata 
+7736 e2220000 istore 4 ,rega 
+7737 1a20a3fc increase -4 ,rega 
+7738 1a632600 rshift regc ,regc 
+7739 c2007730 loop bn_rshift_0 
+773a 20600000 rtn 
+
+bn_lshift:
+773b 18007206 force 6 ,loopcnt 
+773c 18002600 force 0 ,regc 
+
+bn_lshift_0:
+773d ea220000 ifetch 4 ,rega 
+773e 2feffe1f isolate1 31 ,pdata 
+773f 7920a601 setflag true ,1 ,regc 
+7740 1fe3fe00 lshift pdata ,pdata 
+7741 2a6ffe00 isolate1 0 ,regc 
+7742 7920fe00 setflag true ,0 ,pdata 
+7743 e2220000 istore 4 ,rega 
+7744 1a20a204 increase 4 ,rega 
+7745 1a632600 rshift regc ,regc 
+7746 c200773d loop bn_lshift_0 
+7747 20600000 rtn 
+
+bn_lshiftmod:
+7748 2040773b call bn_lshift 
+
+bn_lshiftmod_ismod:
+7749 2a6ffe00 isolate1 0 ,regc 
+774a 2020f751 branch bn_lshiftmod_0 ,true 
+774b da400886 arg mem_p ,regb 
+774c 1a222600 copy rega ,regc 
+774d 1a20a3e8 increase -24 ,rega 
+774e 20407704 call bn_bigeq 
+774f 24610000 nrtn positive 
+7750 1a622200 copy regc ,rega 
+
+bn_lshiftmod_0:
+7751 1a20a3e8 increase -24 ,rega 
+7752 da400886 arg mem_p ,regb 
+7753 1a220a00 copy rega ,contw 
+7754 2020771f branch bn_sub 
+
+bn_addmod:
+7755 20407711 call bn_add 
+7756 18a22200 copy contw ,rega 
+7757 20207749 branch bn_lshiftmod_ismod 
+
+bn_submod:
+7758 2040771f call bn_sub 
+7759 2a6c0000 isolate0 0 ,regc 
+775a 20608000 rtn true 
+775b da400886 arg mem_p ,regb 
+775c 18a0a3e8 add contw ,-24 ,rega 
+775d 1a220a00 copy rega ,contw 
+775e 20207711 branch bn_add 
+
+bn_p192mod:
+775f 18a21600 copy contw ,timeup 
+7760 1a226000 copy rega ,alarm 
+7761 da400716 arg mem_tmp2 ,regb 
+7762 1a420a00 copy regb ,contw 
+7763 1a208c18 add rega ,24 ,contr 
+7764 e8c40000 ifetch 8 ,contr 
+7765 e0a40000 istore 8 ,contw 
+7766 e0a40000 istore 8 ,contw 
+7767 18007e00 force 0 ,pdata 
+7768 e0a40000 istore 8 ,contw 
+7769 19620a00 copy timeup ,contw 
+776a 20407755 call bn_addmod 
+776b da400716 arg mem_tmp2 ,regb 
+776c 1a420a00 copy regb ,contw 
+776d 18007e00 force 0 ,pdata 
+776e e0a40000 istore 8 ,contw 
+776f 1e008c20 add alarm ,32 ,contr 
+7770 e8c40000 ifetch 8 ,contr 
+7771 e0a40000 istore 8 ,contw 
+7772 e0a40000 istore 8 ,contw 
+7773 19622200 copy timeup ,rega 
+7774 1a220a00 copy rega ,contw 
+7775 20407755 call bn_addmod 
+7776 da400716 arg mem_tmp2 ,regb 
+7777 1a420a00 copy regb ,contw 
+7778 1e008c28 add alarm ,40 ,contr 
+7779 e8c40000 ifetch 8 ,contr 
+777a e0a40000 istore 8 ,contw 
+777b e0a40000 istore 8 ,contw 
+777c e0a40000 istore 8 ,contw 
+777d 19622200 copy timeup ,rega 
+777e 1a220a00 copy rega ,contw 
+777f 20207755 branch bn_addmod 
+
+bn_load:
+7780 18007206 force 6 ,loopcnt 
+
+bn_load_0:
+7781 e8c20000 ifetch 4 ,contr 
+7782 98005e00 iforce regext 
+7783 1f00f001 increase 1 ,regext_index 
+7784 c2007781 loop bn_load_0 
+7785 20600000 rtn 
+
+bn_mulmod:
+7786 18a21600 copy contw ,timeup 
+7787 d8a006e6 arg mem_tmp1 ,contw 
+7788 20407ec5 call bn_zero 
+7789 d8a006e6 arg mem_tmp1 ,contw 
+778a 1a220c00 copy rega ,contr 
+778b 18007000 force 0 ,regext_index 
+778c 20407780 call bn_load 
+778d 1a420c00 copy regb ,contr 
+778e 20407780 call bn_load 
+778f 18002400 force 0 ,regb 
+
+bn_mulmod_1:
+7790 18000400 force 0 ,temp 
+7791 18002606 force 6 ,regc 
+
+bn_mulmod_0:
+7792 e8a20000 ifetch 4 ,contw 
+7793 98002200 iforce rega 
+7794 1a427000 copy regb ,regext_index 
+7795 1de27e00 deposit regext 
+7796 1a627000 copy regc ,regext_index 
+7797 9deffe00 imul32 regext ,pdata 
+7798 9a20fe00 iadd rega ,pdata 
+7799 9840fe00 iadd temp ,pdata 
+779a e0a20000 istore 4 ,contw 
+779b 1fef0400 rshift32 pdata ,temp 
+779c 1a60a601 increase 1 ,regc 
+779d 2a61fe0c compare 12 ,regc ,0xff 
+779e 2420f792 nbranch bn_mulmod_0 ,true 
+779f 18427e00 deposit temp 
+77a0 e0a20000 istore 4 ,contw 
+77a1 18a08be8 increase -24 ,contw 
+77a2 1a40a401 increase 1 ,regb 
+77a3 2a41fe06 compare 6 ,regb ,0xff 
+77a4 2420f790 nbranch bn_mulmod_1 ,true 
+77a5 da2006e6 arg mem_tmp1 ,rega 
+77a6 19620a00 copy timeup ,contw 
+77a7 2020775f branch bn_p192mod 
+
+bn_sqrmod:
+77a8 1a222400 copy rega ,regb 
+77a9 20207786 branch bn_mulmod 
+
+bn_rshifteven:
+77aa 1a226000 copy rega ,alarm 
+
+bn_rshifteven_1:
+77ab 1e022200 copy alarm ,rega 
+77ac ea208000 ifetch 1 ,rega 
+77ad 2feffe00 isolate1 0 ,pdata 
+77ae 20608000 rtn true 
+77af 2040772d call bn_rshift6 
+77b0 ea408000 ifetch 1 ,regb 
+77b1 2fec0000 isolate0 0 ,pdata 
+77b2 2020f7ba branch bn_rshifteven_0 ,true 
+77b3 da200886 arg mem_p ,rega 
+77b4 1a420a00 copy regb ,contw 
+77b5 20407711 call bn_add 
+77b6 ea408000 ifetch 1 ,regb 
+77b7 9a60fe00 iadd regc ,pdata 
+77b8 e2408000 istore 1 ,regb 
+77b9 1a40a5e8 increase -24 ,regb 
+
+bn_rshifteven_0:
+77ba 1a40a218 add regb ,24 ,rega 
+77bb 18007207 force 7 ,loopcnt 
+77bc 2040772f call bn_rshift 
+77bd 202077ab branch bn_rshifteven_1 
+
+bn_invmod:
+77be 18a21600 copy contw ,timeup 
+77bf d8a00746 arg mem_tmp0 ,contw 
+77c0 20407ec5 call bn_zero 
+77c1 18007e00 force 0 ,pdata 
+77c2 600206fe store 4 ,mem_tmp5 
+77c3 6002075e store 4 ,mem_t2 
+77c4 70074601 jam 1 ,mem_tmp0 
+77c5 d8a006e6 arg mem_tmp1 ,contw 
+77c6 20407ec5 call bn_zero 
+77c7 d8c00886 arg mem_p ,contr 
+77c8 d8a00716 arg mem_tmp2 ,contw 
+77c9 20407ebe call memcpy24 
+77ca 1a220c00 copy rega ,contr 
+77cb d8a0072e arg mem_tmp3 ,contw 
+77cc 20407ebe call memcpy24 
+
+bn_invmod_2:
+77cd d8c0072e arg mem_tmp3 ,contr 
+77ce 204076f5 call bn_eq_zero 
+77cf 203a77f6 branch bn_invmod_0 ,blank 
+77d0 da20072e arg mem_tmp3 ,rega 
+77d1 da400746 arg mem_tmp0 ,regb 
+77d2 204077aa call bn_rshifteven 
+77d3 da200716 arg mem_tmp2 ,rega 
+77d4 da4006e6 arg mem_tmp1 ,regb 
+77d5 204077aa call bn_rshifteven 
+77d6 da20072e arg mem_tmp3 ,rega 
+77d7 da400716 arg mem_tmp2 ,regb 
+77d8 20407704 call bn_bigeq 
+77d9 202177e8 branch bn_invmod_1 ,positive 
+77da da200716 arg mem_tmp2 ,rega 
+77db da40072e arg mem_tmp3 ,regb 
+77dc 1a220a00 copy rega ,contw 
+77dd 2040771f call bn_sub 
+77de da200746 arg mem_tmp0 ,rega 
+77df da4006e6 arg mem_tmp1 ,regb 
+77e0 1a420a00 copy regb ,contw 
+77e1 20407711 call bn_add 
+77e2 ea208000 ifetch 1 ,rega 
+77e3 9a60a600 iadd regc ,regc 
+77e4 ea408000 ifetch 1 ,regb 
+77e5 9a60fe00 iadd regc ,pdata 
+77e6 e2408000 istore 1 ,regb 
+77e7 202077cd branch bn_invmod_2 
+
+bn_invmod_1:
+77e8 da20072e arg mem_tmp3 ,rega 
+77e9 da400716 arg mem_tmp2 ,regb 
+77ea 1a220a00 copy rega ,contw 
+77eb 2040771f call bn_sub 
+77ec da2006e6 arg mem_tmp1 ,rega 
+77ed da400746 arg mem_tmp0 ,regb 
+77ee 1a420a00 copy regb ,contw 
+77ef 20407711 call bn_add 
+77f0 ea208000 ifetch 1 ,rega 
+77f1 9a60a600 iadd regc ,regc 
+77f2 ea408000 ifetch 1 ,regb 
+77f3 9a60fe00 iadd regc ,pdata 
+77f4 e2408000 istore 1 ,regb 
+77f5 202077cd branch bn_invmod_2 
+
+bn_invmod_0:
+77f6 d8a00746 arg mem_tmp0 ,contw 
+77f7 20407ec5 call bn_zero 
+77f8 680086fe fetch 1 ,mem_tmp5 
+77f9 60008746 store 1 ,mem_tmp0 
+77fa 6000874e store 1 ,mem_tmp0a 
+77fb da200746 arg mem_tmp0 ,rega 
+77fc da4006e6 arg mem_tmp1 ,regb 
+77fd 1a420a00 copy regb ,contw 
+77fe 20407755 call bn_addmod 
+77ff da200886 arg mem_p ,rega 
+7800 da4006e6 arg mem_tmp1 ,regb 
+7801 19620a00 copy timeup ,contw 
+7802 20207758 branch bn_submod 
+
+ecdbl:
+7803 da2006a6 arg mem_cz ,rega 
+7804 d8a0075e arg mem_t2 ,contw 
+7805 204077a8 call bn_sqrmod 
+7806 da20075e arg mem_t2 ,rega 
+7807 d8a00776 arg mem_t3 ,contw 
+7808 204077a8 call bn_sqrmod 
+7809 da20089e arg mem_a ,rega 
+780a da400776 arg mem_t3 ,regb 
+780b d8a00776 arg mem_t3 ,contw 
+780c 20407786 call bn_mulmod 
+780d da200676 arg mem_cx ,rega 
+780e d8a0075e arg mem_t2 ,contw 
+780f 204077a8 call bn_sqrmod 
+7810 d8c0075e arg mem_t2 ,contr 
+7811 d8a0072e arg mem_t1 ,contw 
+7812 20407ebe call memcpy24 
+7813 da20072e arg mem_t1 ,rega 
+7814 20407748 call bn_lshiftmod 
+7815 da20075e arg mem_t2 ,rega 
+7816 da40072e arg mem_t1 ,regb 
+7817 d8a0075e arg mem_t2 ,contw 
+7818 20407755 call bn_addmod 
+7819 da20075e arg mem_t2 ,rega 
+781a da400776 arg mem_t3 ,regb 
+781b d8a0075e arg mem_t2 ,contw 
+781c 20407755 call bn_addmod 
+781d d8c00676 arg mem_cx ,contr 
+781e d8a0072e arg mem_t1 ,contw 
+781f 20407ebe call memcpy24 
+7820 da20068e arg mem_cy ,rega 
+7821 d8a00776 arg mem_t3 ,contw 
+7822 204077a8 call bn_sqrmod 
+7823 da20072e arg mem_t1 ,rega 
+7824 20407748 call bn_lshiftmod 
+7825 da20072e arg mem_t1 ,rega 
+7826 20407748 call bn_lshiftmod 
+7827 da20072e arg mem_t1 ,rega 
+7828 da400776 arg mem_t3 ,regb 
+7829 d8a0072e arg mem_t1 ,contw 
+782a 20407786 call bn_mulmod 
+782b da200776 arg mem_t3 ,rega 
+782c d8a00746 arg mem_t0 ,contw 
+782d 204077a8 call bn_sqrmod 
+782e da200746 arg mem_t0 ,rega 
+782f 20407748 call bn_lshiftmod 
+7830 da200746 arg mem_t0 ,rega 
+7831 20407748 call bn_lshiftmod 
+7832 da200746 arg mem_t0 ,rega 
+7833 20407748 call bn_lshiftmod 
+7834 d8c0068e arg mem_cy ,contr 
+7835 d8a00776 arg mem_t3 ,contw 
+7836 20407ebe call memcpy24 
+7837 da200776 arg mem_t3 ,rega 
+7838 20407748 call bn_lshiftmod 
+7839 da200776 arg mem_t3 ,rega 
+783a da4006a6 arg mem_cz ,regb 
+783b d8a006a6 arg mem_cz ,contw 
+783c 20407786 call bn_mulmod 
+783d da20075e arg mem_t2 ,rega 
+783e d8a00776 arg mem_t3 ,contw 
+783f 204077a8 call bn_sqrmod 
+7840 da200776 arg mem_t3 ,rega 
+7841 da40072e arg mem_t1 ,regb 
+7842 d8a00776 arg mem_t3 ,contw 
+7843 20407758 call bn_submod 
+7844 da200776 arg mem_t3 ,rega 
+7845 da40072e arg mem_t1 ,regb 
+7846 d8a00676 arg mem_cx ,contw 
+7847 20407758 call bn_submod 
+7848 da20072e arg mem_t1 ,rega 
+7849 da400676 arg mem_cx ,regb 
+784a d8a00776 arg mem_t3 ,contw 
+784b 20407758 call bn_submod 
+784c da200776 arg mem_t3 ,rega 
+784d da40075e arg mem_t2 ,regb 
+784e d8a00776 arg mem_t3 ,contw 
+784f 20407786 call bn_mulmod 
+7850 da200776 arg mem_t3 ,rega 
+7851 da400746 arg mem_t0 ,regb 
+7852 d8a0068e arg mem_cy ,contw 
+7853 20207758 branch bn_submod 
+
+ecadd:
+7854 da200616 arg mem_az ,rega 
+7855 d8a0078e arg mem_t7 ,contw 
+7856 204077a8 call bn_sqrmod 
+7857 da200676 arg mem_cx ,rega 
+7858 da40078e arg mem_t7 ,regb 
+7859 d8a00746 arg mem_t0 ,contw 
+785a 20407786 call bn_mulmod 
+785b da200616 arg mem_az ,rega 
+785c da40078e arg mem_t7 ,regb 
+785d d8a0078e arg mem_t7 ,contw 
+785e 20407786 call bn_mulmod 
+785f da20068e arg mem_cy ,rega 
+7860 da40078e arg mem_t7 ,regb 
+7861 d8a0072e arg mem_t1 ,contw 
+7862 20407786 call bn_mulmod 
+7863 da2006a6 arg mem_cz ,rega 
+7864 d8a0078e arg mem_t7 ,contw 
+7865 204077a8 call bn_sqrmod 
+7866 da2005e6 arg mem_ax ,rega 
+7867 da40078e arg mem_t7 ,regb 
+7868 d8a0075e arg mem_t2 ,contw 
+7869 20407786 call bn_mulmod 
+786a da2006a6 arg mem_cz ,rega 
+786b da40078e arg mem_t7 ,regb 
+786c d8a0078e arg mem_t7 ,contw 
+786d 20407786 call bn_mulmod 
+786e da2005fe arg mem_ay ,rega 
+786f da40078e arg mem_t7 ,regb 
+7870 d8a00776 arg mem_t3 ,contw 
+7871 20407786 call bn_mulmod 
+7872 da200746 arg mem_t0 ,rega 
+7873 da40075e arg mem_t2 ,regb 
+7874 d8a0078e arg mem_t7 ,contw 
+7875 20407758 call bn_submod 
+7876 da200746 arg mem_t0 ,rega 
+7877 da40075e arg mem_t2 ,regb 
+7878 d8a00746 arg mem_t0 ,contw 
+7879 20407755 call bn_addmod 
+787a da20072e arg mem_t1 ,rega 
+787b da400776 arg mem_t3 ,regb 
+787c d8a0075e arg mem_t2 ,contw 
+787d 20407758 call bn_submod 
+787e da20072e arg mem_t1 ,rega 
+787f da400776 arg mem_t3 ,regb 
+7880 d8a0072e arg mem_t1 ,contw 
+7881 20407755 call bn_addmod 
+7882 da20072e arg mem_t1 ,rega 
+7883 da40078e arg mem_t7 ,regb 
+7884 d8a0072e arg mem_t1 ,contw 
+7885 20407786 call bn_mulmod 
+7886 da2006a6 arg mem_cz ,rega 
+7887 da400616 arg mem_az ,regb 
+7888 d8a00776 arg mem_t3 ,contw 
+7889 20407786 call bn_mulmod 
+788a da200776 arg mem_t3 ,rega 
+788b da40078e arg mem_t7 ,regb 
+788c d8a006a6 arg mem_cz ,contw 
+788d 20407786 call bn_mulmod 
+788e da20078e arg mem_t7 ,rega 
+788f d8a0078e arg mem_t7 ,contw 
+7890 204077a8 call bn_sqrmod 
+7891 da20078e arg mem_t7 ,rega 
+7892 da400746 arg mem_t0 ,regb 
+7893 d8a00776 arg mem_t3 ,contw 
+7894 20407786 call bn_mulmod 
+7895 da20078e arg mem_t7 ,rega 
+7896 da40072e arg mem_t1 ,regb 
+7897 d8a0072e arg mem_t1 ,contw 
+7898 20407786 call bn_mulmod 
+7899 da20075e arg mem_t2 ,rega 
+789a d8a00676 arg mem_cx ,contw 
+789b 204077a8 call bn_sqrmod 
+789c da200676 arg mem_cx ,rega 
+789d da400776 arg mem_t3 ,regb 
+789e d8a00676 arg mem_cx ,contw 
+789f 20407758 call bn_submod 
+78a0 d8c00676 arg mem_cx ,contr 
+78a1 d8a0078e arg mem_t7 ,contw 
+78a2 20407ebe call memcpy24 
+78a3 da20078e arg mem_t7 ,rega 
+78a4 20407748 call bn_lshiftmod 
+78a5 da200776 arg mem_t3 ,rega 
+78a6 da40078e arg mem_t7 ,regb 
+78a7 d8a00776 arg mem_t3 ,contw 
+78a8 20407758 call bn_submod 
+78a9 da200776 arg mem_t3 ,rega 
+78aa da40075e arg mem_t2 ,regb 
+78ab d8a0075e arg mem_t2 ,contw 
+78ac 20407786 call bn_mulmod 
+78ad da20075e arg mem_t2 ,rega 
+78ae da40072e arg mem_t1 ,regb 
+78af d8a0068e arg mem_cy ,contw 
+78b0 20407758 call bn_submod 
+78b1 da20068e arg mem_cy ,rega 
+78b2 da400886 arg mem_p ,regb 
+78b3 d8a0068e arg mem_cy ,contw 
+78b4 18002600 force 0 ,regc 
+78b5 6800868e fetch 1 ,mem_cy 
+78b6 2feffe00 isolate1 0 ,pdata 
+78b7 2040f711 call bn_add ,true 
+78b8 1a626000 copy regc ,alarm 
+78b9 da20068e arg mem_cy ,rega 
+78ba 2040772d call bn_rshift6 
+78bb 680086a5 fetch 1 ,mem_cy5 
+78bc 2e0ffe00 isolate1 0 ,alarm 
+78bd 7920fe07 setflag true ,7 ,pdata 
+78be 600086a5 store 1 ,mem_cy5 
+78bf 20600000 rtn 
+
+eckp_0:
+78c0 680085e3 fetch 1 ,mem_ec_loopc 
+78c1 1fe0ffff increase -1 ,pdata 
+78c2 24610000 nrtn positive 
+78c3 600085e3 store 1 ,mem_ec_loopc 
+78c4 680085e2 fetch 1 ,mem_ec_infinite 
+78c5 205a7803 call ecdbl ,blank 
+78c6 680085e3 fetch 1 ,mem_ec_loopc 
+78c7 d8c006be arg mem_k ,contr 
+78c8 204076ec call bn_testbit 
+78c9 2020f8c0 branch eckp_0 ,true 
+78ca 680085e2 fetch 1 ,mem_ec_infinite 
+78cb 243a78ce nbranch eckp_1 ,blank 
+78cc 20407854 call ecadd 
+78cd 202078c0 branch eckp_0 
+
+eckp_1:
+78ce 7005e200 jam 0 ,mem_ec_infinite 
+78cf d8c005e6 arg mem_ax ,contr 
+78d0 d8a00676 arg mem_cx ,contw 
+78d1 204076f2 call ec_copy 
+78d2 202078c0 branch eckp_0 
+
+ecunmapz:
+78d3 da2006a6 arg mem_cz ,rega 
+78d4 d8a00776 arg mem_t3 ,contw 
+78d5 204077be call bn_invmod 
+78d6 da200776 arg mem_t3 ,rega 
+78d7 d8a0072e arg mem_t1 ,contw 
+78d8 204077a8 call bn_sqrmod 
+78d9 da200676 arg mem_cx ,rega 
+78da da40072e arg mem_t1 ,regb 
+78db d8a0062e arg mem_bx ,contw 
+78dc 20407786 call bn_mulmod 
+78dd da200776 arg mem_t3 ,rega 
+78de da40072e arg mem_t1 ,regb 
+78df d8a0075e arg mem_t2 ,contw 
+78e0 20407786 call bn_mulmod 
+78e1 da20068e arg mem_cy ,rega 
+78e2 da40075e arg mem_t2 ,regb 
+78e3 d8a00646 arg mem_by ,contw 
+78e4 20207786 branch bn_mulmod 
+
+sha_endian_swap2:
+78e5 e8c20000 ifetch 4 ,contr 
+78e6 18002204 force 4 ,rega 
+78e7 18a08a03 increase 3 ,contw 
+
+sha_endian_loop:
+78e8 e0a08000 istore 1 ,contw 
+78e9 1fecfe00 rshift8 pdata ,pdata 
+78ea 18a08bfe increase -2 ,contw 
+78eb 1a20a3ff increase -1 ,rega 
+78ec 2422f8e8 nbranch sha_endian_loop ,zero 
+78ed 18a08a05 increase 5 ,contw 
+78ee c20078e5 loop sha_endian_swap2 
+78ef 20600000 rtn 
+
+sha_getw:
+78f0 18ebfe00 lshift2 queue ,pdata 
+78f1 99608c00 iadd timeup ,contr 
+78f2 e8c20000 ifetch 4 ,contr 
+78f3 20600000 rtn 
+
+sha_r:
+78f4 18006010 force 16 ,alarm 
+78f5 d96005e6 arg memdat ,timeup 
+
+sha_r_loop:
+78f6 1e008ff9 add alarm ,-7 ,queue 
+78f7 204078f0 call sha_getw 
+78f8 98000400 iforce temp 
+78f9 1e008ff0 add alarm ,-16 ,queue 
+78fa 204078f0 call sha_getw 
+78fb 98408400 iadd temp ,temp 
+78fc 1e008ffe add alarm ,-2 ,queue 
+78fd 204078f0 call sha_getw 
+78fe 1fee7e01 shasx pdata ,1 ,pdata 
+78ff 98408400 iadd temp ,temp 
+7900 1e008ff1 add alarm ,-15 ,queue 
+7901 204078f0 call sha_getw 
+7902 1fee7e00 shasx pdata ,0 ,pdata 
+7903 98408400 iadd temp ,temp 
+7904 1e0bfe00 lshift2 alarm ,pdata 
+7905 99608a00 iadd timeup ,contw 
+7906 e0aa0000 istoret 4 ,contw 
+7907 1e00e001 increase 1 ,alarm 
+7908 2e01fe40 compare 64 ,alarm ,0xff 
+7909 2420f8f6 nbranch sha_r_loop ,true 
+790a 20600000 rtn 
+
+sha_init:
+790b d8c008fe arg memh0 ,contr 
+790c 18007007 force 7 ,regext_index 
+
+sha_init_0:
+790d e8c20000 ifetch 4 ,contr 
+790e 98005e00 iforce regext 
+790f 1f00f1ff increase -1 ,regext_index 
+7910 2021790d branch sha_init_0 ,positive 
+7911 20600000 rtn 
+
+sha:
+7912 4776403d bpatchx patch3d_4 ,mem_patch3d 
+7913 204078f4 call sha_r 
+7914 d8a006e6 arg memahbak ,contw 
+7915 18007000 force 0 ,regext_index 
+
+sha_0:
+7916 1de27e00 deposit regext 
+7917 e0a20000 istore 4 ,contw 
+7918 1f00f001 increase 1 ,regext_index 
+7919 2f01fe08 compare 8 ,regext_index ,0xff 
+791a 2420f916 nbranch sha_0 ,true 
+791b 204074b9 call enable_authrom 
+791c d9608700 arg memk ,timeup 
+791d de0005e6 arg memdat ,alarm 
+791e 18007240 force 64 ,loopcnt 
+
+sha_loop:
+791f ee0a0000 ifetcht 4 ,alarm 
+7920 e9620000 ifetch 4 ,timeup 
+7921 19609604 increase 4 ,timeup 
+7922 1e00e004 increase 4 ,alarm 
+7923 9840fe00 iadd temp ,pdata 
+7924 18007007 force 7 ,regext_index 
+7925 9de08400 iadd regext ,temp 
+7926 18007004 force 4 ,regext_index 
+7927 1dee7e03 shasx regext ,3 ,pdata 
+7928 98408400 iadd temp ,temp 
+7929 18007005 force 5 ,regext_index 
+792a 1de27e00 deposit regext 
+792b 18007006 force 6 ,regext_index 
+792c 9de2fe00 ixor regext ,pdata 
+792d 18007004 force 4 ,regext_index 
+792e 9de17e00 iand regext ,pdata 
+792f 18007006 force 6 ,regext_index 
+7930 9de2fe00 ixor regext ,pdata 
+7931 98408400 iadd temp ,temp 
+7932 18007007 force 7 ,regext_index 
+7933 18425e00 copy temp ,regext 
+7934 18007003 force 3 ,regext_index 
+7935 1de27e00 deposit regext 
+7936 9840de00 iadd temp ,regext 
+7937 18007000 force 0 ,regext_index 
+7938 1de27e00 deposit regext 
+7939 18007001 force 1 ,regext_index 
+793a 9de10400 iand regext ,temp 
+793b 9de1fe00 ior regext ,pdata 
+793c 18007002 force 2 ,regext_index 
+793d 9de17e00 iand regext ,pdata 
+793e 98418400 ior temp ,temp 
+793f 18007000 force 0 ,regext_index 
+7940 1dee7e02 shasx regext ,2 ,pdata 
+7941 9840fe00 iadd temp ,pdata 
+7942 18007007 force 7 ,regext_index 
+7943 9de0de00 iadd regext ,regext 
+7944 980efc00 regexrot 
+7945 c200791f loop sha_loop 
+7946 d8c006e6 arg memahbak ,contr 
+7947 18007000 force 0 ,regext_index 
+
+sha_1:
+7948 e8c20000 ifetch 4 ,contr 
+7949 9de0de00 iadd regext ,regext 
+794a 1f00f001 increase 1 ,regext_index 
+794b 2f01fe08 compare 8 ,regext_index ,0xff 
+794c 2420f948 nbranch sha_1 ,true 
+794d 202074bd branch disable_authrom 
+
+sha_result:
+794e d8a00a3e arg memresult ,contw 
+794f 18007007 force 7 ,regext_index 
+
+sha_regext_save:
+7950 1de27e00 deposit regext 
+7951 e0a20000 istore 4 ,contw 
+7952 1f00f1ff increase -1 ,regext_index 
+7953 20217950 branch sha_regext_save ,positive 
+7954 20600000 rtn 
+
+pad_xor:
+7955 d8a005e6 arg memdat ,contw 
+7956 18c08dfc increase -4 ,contr 
+7957 1f262210 sub loopcnt ,16 ,rega 
+
+pad_xor_0:
+7958 e8c20000 ifetch 4 ,contr 
+7959 9842fe00 ixor temp ,pdata 
+795a e0a20000 istore 4 ,contw 
+795b 18c08df8 increase -8 ,contr 
+795c c2007958 loop pad_xor_0 
+795d 1a227200 copy rega ,loopcnt 
+795e 18427e00 deposit temp 
+
+pad_xor_1:
+795f e0a20000 istore 4 ,contw 
+7960 c200795f loop pad_xor_1 
+7961 20600000 rtn 
+
+g_noninit_number_confirm:
+7962 20407967 call g_noninit0 
+7963 2040794e call sha_result 
+7964 2020798d branch g_common0 
+
+g_noninit:
+7965 20407967 call g_noninit0 
+7966 2020798d branch g_common0 
+
+g_noninit0:
+7967 d8c009de arg mem_sp_pubkey_remote_x_end ,contr 
+7968 d8a005e6 arg memdat ,contw 
+7969 18007206 force 6 ,loopcnt 
+796a 20407a71 call memcpy_dword_swap 
+796b d8c04642 arg mem_sp_pubkey_local_x_end ,contr 
+796c 18007206 force 6 ,loopcnt 
+796d 20407a71 call memcpy_dword_swap 
+796e d8c00a3e arg mem_sp_random_remote_end ,contr 
+796f 20407a70 call memcpy_dword_swap4 
+7970 2040790b call sha_init 
+7971 20407912 call sha 
+7972 d8c00a2e arg mem_sp_random_local_end ,contr 
+7973 d8a005e6 arg memdat ,contw 
+7974 20207984 branch g_common 
+
+g_init:
+7975 d8c04642 arg mem_sp_pubkey_local_x_end ,contr 
+7976 d8a005e6 arg memdat ,contw 
+7977 18007206 force 6 ,loopcnt 
+7978 20407a71 call memcpy_dword_swap 
+7979 d8c009de arg mem_sp_pubkey_remote_x_end ,contr 
+797a 18007206 force 6 ,loopcnt 
+797b 20407a71 call memcpy_dword_swap 
+797c d8c00a2e arg mem_sp_random_local_end ,contr 
+797d 20407a70 call memcpy_dword_swap4 
+797e 2040790b call sha_init 
+797f 20407912 call sha 
+7980 d8c00a3e arg mem_sp_random_remote_end ,contr 
+7981 d8a005e6 arg memdat ,contw 
+7982 20407984 call g_common 
+7983 2020798d branch g_common0 
+
+g_common:
+7984 20407a70 call memcpy_dword_swap4 
+7985 58800000 setarg 0x800000 
+7986 1fed7e00 lshift8 pdata ,pdata 
+7987 e0a20000 istore 4 ,contw 
+7988 18007205 force 5 ,loopcnt 
+7989 20407ec6 call memset0 
+798a 58000280 setarg 640 
+798b e0a20000 istore 4 ,contw 
+798c 20207912 branch sha 
+
+g_common0:
+798d 68020a3e fetch 4 ,memresult 
+798e da2003e8 arg 1000 ,rega 
+798f 9a26fc00 idiv rega 
+7990 20407f86 call wait_div_end 
+7991 18077e00 remainder pdata 
+7992 600209ba store 4 ,mem_gkey 
+7993 1807fe00 quotient pdata 
+7994 da2003e8 arg 1000 ,rega 
+7995 9a26fc00 idiv rega 
+7996 20407f86 call wait_div_end 
+7997 18077e00 remainder pdata 
+7998 da2003e8 arg 1000 ,rega 
+7999 9a2ffe00 imul32 rega ,pdata 
+799a 680a09ba fetcht 4 ,mem_gkey 
+799b 9840fe00 iadd temp ,pdata 
+799c 600209ba store 4 ,mem_gkey 
+799d 20600000 rtn 
+
+function_f1_no_key:
+799e 70466400 jam 0 ,mem_passkey_1bit 
+799f 202079a2 branch function_f1_common 
+
+function_f1:
+79a0 6800c662 fetch 1 ,mem_ssp_mode_flag 
+79a1 c081799e bne ssp_mode_passkey_entry_flag ,function_f1_no_key 
+
+function_f1_common:
+79a2 4776c03d bpatchx patch3d_5 ,mem_patch3d 
+79a3 58363636 setarg 0x363636 
+79a4 1fed0400 lshift8 pdata ,temp 
+79a5 18418436 or_into 0x36 ,temp 
+79a6 68010a7e fetch 2 ,mem_sp_prarm_stack 
+79a7 1fe20c00 copy pdata ,contr 
+79a8 18007204 force 4 ,loopcnt 
+79a9 20407955 call pad_xor 
+79aa 2040790b call sha_init 
+79ab 20407912 call sha 
+79ac 68010a80 fetch 2 ,mem_sp_prarm_stack + 2 
+79ad 1fe20c00 copy pdata ,contr 
+79ae d8a005e6 arg memdat ,contw 
+79af 18007206 force 6 ,loopcnt 
+79b0 20407a71 call memcpy_dword_swap 
+79b1 68010a82 fetch 2 ,mem_sp_prarm_stack + 4 
+79b2 1fe20c00 copy pdata ,contr 
+79b3 18007206 force 6 ,loopcnt 
+79b4 20407a71 call memcpy_dword_swap 
+79b5 58800000 setarg 0x800000 
+79b6 e0a18000 istore 3 ,contw 
+79b7 6800c664 fetch 1 ,mem_passkey_1bit 
+79b8 e0a08000 istore 1 ,contw 
+79b9 18007e00 force 0 ,pdata 
+79ba e0a40000 istore 8 ,contw 
+79bb 58000388 setarg 0x0388 
+79bc e0a20000 istore 4 ,contw 
+79bd 20407912 call sha 
+79be 2040794e call sha_result 
+79bf d8c00a3e arg memresult ,contr 
+79c0 d8a00706 arg memahsave ,contw 
+79c1 20407ebd call memcpy32 
+79c2 585c5c5c setarg 0x5c5c5c 
+79c3 1fed0400 lshift8 pdata ,temp 
+79c4 1841845c or_into 0x5c ,temp 
+79c5 68010a7e fetch 2 ,mem_sp_prarm_stack 
+79c6 1fe20c00 copy pdata ,contr 
+79c7 18007204 force 4 ,loopcnt 
+79c8 20407955 call pad_xor 
+79c9 2040790b call sha_init 
+79ca 20407912 call sha 
+79cb d8c00726 arg memahsave_end ,contr 
+79cc d8a005e6 arg memdat ,contw 
+79cd 18007208 force 8 ,loopcnt 
+79ce 20407a71 call memcpy_dword_swap 
+79cf 58800000 setarg 0x800000 
+79d0 1fed7e00 lshift8 pdata ,pdata 
+79d1 e0a20000 istore 4 ,contw 
+79d2 20407ec5 call bn_zero 
+79d3 58000300 setarg 0x0300 
+79d4 e0a20000 istore 4 ,contw 
+79d5 20407912 call sha 
+79d6 2020794e branch sha_result 
+
+function_f2:
+79d7 58363636 setarg 0x363636 
+79d8 1fed0400 lshift8 pdata ,temp 
+79d9 18418436 or_into 0x36 ,temp 
+79da d8c00a1e arg mem_sp_dhkey_end ,contr 
+79db 18007206 force 6 ,loopcnt 
+79dc 20407955 call pad_xor 
+79dd 2040790b call sha_init 
+79de 20407912 call sha 
+79df 68010a8a fetch 2 ,mem_sp_prarm_stack + 12 
+79e0 1fe20c00 copy pdata ,contr 
+79e1 d8a005e6 arg memdat ,contw 
+79e2 20407a70 call memcpy_dword_swap4 
+79e3 68010a8c fetch 2 ,mem_sp_prarm_stack + 14 
+79e4 1fe20c00 copy pdata ,contr 
+79e5 20407a70 call memcpy_dword_swap4 
+79e6 5862746c setarg 0x62746c 
+79e7 1fed7e00 lshift8 pdata ,pdata 
+79e8 1fe1fe6b or_into 0x6b ,pdata 
+79e9 e0a20000 istore 4 ,contw 
+79ea d8c00733 arg mem_addr_value_end ,contr 
+79eb 18007203 force 3 ,loopcnt 
+79ec 20407a71 call memcpy_dword_swap 
+79ed 58800000 setarg 0x800000 
+79ee 1fed7e00 lshift8 pdata ,pdata 
+79ef e0a20000 istore 4 ,contw 
+79f0 18007e00 force 0 ,pdata 
+79f1 e0a40000 istore 8 ,contw 
+79f2 58000380 setarg 0x0380 
+79f3 e0a20000 istore 4 ,contw 
+79f4 20407912 call sha 
+79f5 2040794e call sha_result 
+79f6 d8c00a3e arg memresult ,contr 
+79f7 d8a00706 arg memahsave ,contw 
+79f8 20407ebd call memcpy32 
+79f9 585c5c5c setarg 0x5c5c5c 
+79fa 1fed0400 lshift8 pdata ,temp 
+79fb 1841845c or_into 0x5c ,temp 
+79fc d8c00a1e arg mem_sp_dhkey_end ,contr 
+79fd 18007206 force 6 ,loopcnt 
+79fe 20407955 call pad_xor 
+79ff 2040790b call sha_init 
+7a00 20407912 call sha 
+7a01 d8c00726 arg memahsave_end ,contr 
+7a02 d8a005e6 arg memdat ,contw 
+7a03 18007208 force 8 ,loopcnt 
+7a04 20407a71 call memcpy_dword_swap 
+7a05 58800000 setarg 0x800000 
+7a06 1fed7e00 lshift8 pdata ,pdata 
+7a07 e0a20000 istore 4 ,contw 
+7a08 20407ec5 call bn_zero 
+7a09 58000300 setarg 0x0300 
+7a0a e0a20000 istore 4 ,contw 
+7a0b 20407912 call sha 
+7a0c 2020794e branch sha_result 
+
+function_f3a:
+7a0d 6800c662 fetch 1 ,mem_ssp_mode_flag 
+7a0e c0817a1e bne ssp_mode_passkey_entry_flag ,function_f3a_no_pin 
+
+function_f3a_common:
+7a0f 4777403d bpatchx patch3d_6 ,mem_patch3d 
+7a10 58363636 setarg 0x363636 
+7a11 1fed0400 lshift8 pdata ,temp 
+7a12 18418436 or_into 0x36 ,temp 
+7a13 d8c00a1e arg mem_sp_dhkey_end ,contr 
+7a14 18007206 force 6 ,loopcnt 
+7a15 20407955 call pad_xor 
+7a16 2040790b call sha_init 
+7a17 20407912 call sha 
+7a18 d8c00a3e arg mem_sp_random_remote_end ,contr 
+7a19 d8a005e6 arg memdat ,contw 
+7a1a 20407a70 call memcpy_dword_swap4 
+7a1b d8c00a2e arg mem_sp_random_local_end ,contr 
+7a1c 20407a70 call memcpy_dword_swap4 
+7a1d 20207a33 branch function_f3_common 
+
+function_f3a_no_pin:
+7a1e 58000000 setarg 0 
+7a1f 6002468a store 4 ,mem_pin 
+7a20 20207a0f branch function_f3a_common 
+
+function_f3b_no_pin:
+7a21 58000000 setarg 0 
+7a22 6002468a store 4 ,mem_pin 
+7a23 20207a26 branch function_f3b_common 
+
+function_f3b:
+7a24 6800c662 fetch 1 ,mem_ssp_mode_flag 
+7a25 c0817a21 bne ssp_mode_passkey_entry_flag ,function_f3b_no_pin 
+
+function_f3b_common:
+7a26 58363636 setarg 0x363636 
+7a27 1fed0400 lshift8 pdata ,temp 
+7a28 18418436 or_into 0x36 ,temp 
+7a29 d8c00a1e arg mem_sp_dhkey_end ,contr 
+7a2a 18007206 force 6 ,loopcnt 
+7a2b 20407955 call pad_xor 
+7a2c 2040790b call sha_init 
+7a2d 20407912 call sha 
+7a2e d8c00a2e arg mem_sp_random_local_end ,contr 
+7a2f d8a005e6 arg memdat ,contw 
+7a30 20407a70 call memcpy_dword_swap4 
+7a31 d8c00a3e arg mem_sp_random_remote_end ,contr 
+7a32 20407a70 call memcpy_dword_swap4 
+
+function_f3_common:
+7a33 58000000 setarg 0x0 
+7a34 e0a40000 istore 8 ,contw 
+7a35 e0a20000 istore 4 ,contw 
+7a36 6802468a fetch 4 ,mem_pin 
+7a37 e0a20000 istore 4 ,contw 
+7a38 18a20400 copy contw ,temp 
+7a39 70072680 jam 0x80 ,mem_addr_padding 
+7a3a 18420a00 copy temp ,contw 
+7a3b d8c00736 arg mem_addr_iocap_end ,contr 
+7a3c 20407a70 call memcpy_dword_swap4 
+7a3d 20407912 call sha 
+7a3e d8a005e6 arg memdat ,contw 
+7a3f 18007207 force 7 ,loopcnt 
+7a40 20407ec6 call memset0 
+7a41 e0a20000 istore 4 ,contw 
+7a42 580003f8 setarg 0x03F8 
+7a43 e0a20000 istore 4 ,contw 
+7a44 20407912 call sha 
+7a45 2040794e call sha_result 
+7a46 d8c00a3e arg memresult ,contr 
+7a47 d8a00706 arg memahsave ,contw 
+7a48 20407ebd call memcpy32 
+7a49 585c5c5c setarg 0x5c5c5c 
+7a4a 1fed0400 lshift8 pdata ,temp 
+7a4b 1841845c or_into 0x5c ,temp 
+7a4c d8c00a1e arg mem_sp_dhkey_end ,contr 
+7a4d 18007206 force 6 ,loopcnt 
+7a4e 20407955 call pad_xor 
+7a4f 2040790b call sha_init 
+7a50 20407912 call sha 
+7a51 d8c00726 arg memahsave_end ,contr 
+7a52 d8a005e6 arg memdat ,contw 
+7a53 18007208 force 8 ,loopcnt 
+7a54 20407a71 call memcpy_dword_swap 
+7a55 58800000 setarg 0x800000 
+7a56 1fed7e00 lshift8 pdata ,pdata 
+7a57 e0a20000 istore 4 ,contw 
+7a58 20407ec5 call bn_zero 
+7a59 58000300 setarg 0x0300 
+7a5a e0a20000 istore 4 ,contw 
+7a5b 20407912 call sha 
+7a5c 2020794e branch sha_result 
+
+eckp_calc_init:
+7a5d 7005e3c0 jam 192 ,mem_ec_loopc 
+
+eckp_calc_init_1:
+7a5e 680085e3 fetch 1 ,mem_ec_loopc 
+7a5f 207a0000 rtn blank 
+7a60 1fe0ffff increase -1 ,pdata 
+7a61 600085e3 store 1 ,mem_ec_loopc 
+7a62 d8c006be arg mem_k ,contr 
+7a63 204076ec call bn_testbit 
+7a64 2020fa5e branch eckp_calc_init_1 ,true 
+7a65 d8c005e6 arg mem_ax ,contr 
+7a66 d8a00676 arg mem_cx ,contw 
+7a67 202076f2 branch ec_copy 
+
+eckp_calc:
+7a68 20407803 call ecdbl 
+7a69 680085e3 fetch 1 ,mem_ec_loopc 
+7a6a 1fe0ffff increase -1 ,pdata 
+7a6b 600085e3 store 1 ,mem_ec_loopc 
+7a6c d8c006be arg mem_k ,contr 
+7a6d 204076ec call bn_testbit 
+7a6e 20608000 rtn true 
+7a6f 20207854 branch ecadd 
+
+memcpy_dword_swap4:
+7a70 18007204 force 4 ,loopcnt 
+
+memcpy_dword_swap:
+7a71 18c08dfc increase -4 ,contr 
+
+memcpy_dword_swap_loop:
+7a72 e8c20000 ifetch 4 ,contr 
+7a73 e0a20000 istore 4 ,contw 
+7a74 18c08df8 increase -8 ,contr 
+7a75 c2007a72 loop memcpy_dword_swap_loop 
+7a76 20600000 rtn 
+
+sp_initialize_256:
+7a77 4777c03d bpatchx patch3d_7 ,mem_patch3d 
+7a78 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+7a79 203a5af0 branch le_secure_connection_disable ,blank 
+7a7a 20405aec call le_secure_connection_enable 
+7a7b 20407583 call sp_clear_flags 
+7a7c 20207a7d branch sp_pubkey_calc_256 
+
+sp_pubkey_calc_256:
+7a7d 6800c4c3 fetch 1 ,mem_le_sc_local_key_invalid 
+7a7e c1800000 rtnne sp_key_invalid 
+7a7f 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7a80 c1800000 rtnne sp_calc_standby 
+7a81 d8a045b2 arg mem_le_private_key_256 ,contw 
+7a82 18000e0f force 15 ,queue 
+7a83 204076a2 call random_generator 
+7a84 180a7e00 random pdata 
+7a85 1fe37e00 rshift pdata ,pdata 
+7a86 e0a10000 istore 2 ,contw 
+7a87 d8a00766 arg mem_k_256 ,contw 
+7a88 d8c045b2 arg mem_le_private_key_256 ,contr 
+7a89 20407ebd call memcpy32 
+7a8a d8a00646 arg mem_ax_256 ,contw 
+7a8b d8c0095e arg mem_gx_256 ,contr 
+7a8c 20407eb3 call memcpy64 
+7a8d d8a00686 arg mem_az_256 ,contw 
+7a8e 20407ed0 call clear_mem_256 
+7a8f 70068601 jam 1 ,mem_az_256 
+7a90 20407ac7 call eckp_calc_init_256 
+7a91 7044c003 jam sp_calc_pubkey_256 ,mem_le_sc_calc 
+7a92 20600000 rtn 
+
+sp_pubkey_generated_256:
+7a93 d8a045d2 arg mem_le_pubkey_local_x_256 ,contw 
+7a94 d8c006a6 arg mem_bx_256 ,contr 
+7a95 20407eb3 call memcpy64 
+7a96 7044c303 jam sp_key_valid_256 ,mem_le_sc_local_key_invalid 
+7a97 7044c000 jam sp_calc_standby ,mem_le_sc_calc 
+7a98 20600000 rtn 
+
+sp_dhkey_calc_256:
+7a99 680089b9 fetch 1 ,mem_sp_dhkey_invalid 
+7a9a c1800000 rtnne sp_key_invalid 
+7a9b 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7a9c c1800000 rtnne sp_calc_standby 
+7a9d d8a00766 arg mem_k_256 ,contw 
+7a9e d8c045b2 arg mem_le_private_key_256 ,contr 
+7a9f 20407ebd call memcpy32 
+7aa0 d8a00646 arg mem_ax_256 ,contw 
+7aa1 d8c009be arg mem_le_pubkey_remote_x_256 ,contr 
+7aa2 20407eb3 call memcpy64 
+7aa3 d8a00686 arg mem_az_256 ,contw 
+7aa4 20407ed0 call clear_mem_256 
+7aa5 70068601 jam 1 ,mem_az_256 
+7aa6 20407ac7 call eckp_calc_init_256 
+7aa7 7044c004 jam sp_calc_dhkey_256 ,mem_le_sc_calc 
+7aa8 20600000 rtn 
+
+sp_dhkey_generated_256:
+7aa9 d8a009fe arg mem_le_dhkey_256 ,contw 
+7aaa d8c006a6 arg mem_bx_256 ,contr 
+7aab 20407ebd call memcpy32 
+7aac 7009b903 jam sp_key_valid_256 ,mem_sp_dhkey_invalid 
+7aad 7044c000 jam sp_calc_standby ,mem_le_sc_calc 
+7aae 20600000 rtn 
+
+sp_calc_sequence_256:
+7aaf 6800c4be fetch 1 ,mem_le_secure_connect_enable 
+7ab0 207a0000 rtn blank 
+7ab1 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7ab2 207a0000 rtn blank 
+7ab3 1fe0fe80 increase 0x80 ,pdata 
+7ab4 6000c4c0 store 1 ,mem_le_sc_calc 
+7ab5 c3838000 rtnbit1 7 
+7ab6 680105e3 fetch 2 ,mem_ec_loopc 
+7ab7 203a7ab9 branch sp_calc_sequence_done_256 ,blank 
+7ab8 20207abf branch eckp_calc_256 
+
+sp_calc_sequence_done_256:
+7ab9 4778403e bpatchx patch3e_0 ,mem_patch3e 
+7aba 20407ad4 call ecunmapz_256 
+7abb 6800c4c0 fetch 1 ,mem_le_sc_calc 
+7abc c001fa93 beq sp_calc_pubkey_256 ,sp_pubkey_generated_256 
+7abd c0027aa9 beq sp_calc_dhkey_256 ,sp_dhkey_generated_256 
+7abe 20600000 rtn 
+
+eckp_calc_256:
+7abf 20407ae6 call ecdbl_256 
+7ac0 680105e3 fetch 2 ,mem_ec_loopc 
+7ac1 1fe0ffff increase -1 ,pdata 
+7ac2 600105e3 store 2 ,mem_ec_loopc 
+7ac3 d8c00766 arg mem_k_256 ,contr 
+7ac4 204076ec call bn_testbit 
+7ac5 20608000 rtn true 
+7ac6 20207b37 branch ecadd_256 
+
+eckp_calc_init_256:
+7ac7 4778c03e bpatchx patch3e_1 ,mem_patch3e 
+7ac8 58000100 setarg 256 ,pdata 
+7ac9 600105e3 store 2 ,mem_ec_loopc 
+
+eckp_calc_init_256_1:
+7aca 680105e3 fetch 2 ,mem_ec_loopc 
+7acb 207a0000 rtn blank 
+7acc 1fe0ffff increase -1 ,pdata 
+7acd 600105e3 store 2 ,mem_ec_loopc 
+7ace d8c00766 arg mem_k_256 ,contr 
+7acf 204076ec call bn_testbit 
+7ad0 2020faca branch eckp_calc_init_256_1 ,true 
+7ad1 d8c00646 arg mem_ax_256 ,contr 
+7ad2 d8a00706 arg mem_cx_256 ,contw 
+7ad3 20207eb2 branch memcpy96 
+
+ecunmapz_256:
+7ad4 da200746 arg mem_cz_256 ,rega 
+7ad5 d8a00846 arg mem_t3_256 ,contw 
+7ad6 20407ba3 call bn_invmod_256 
+7ad7 da200846 arg mem_t3_256 ,rega 
+7ad8 d8a007e6 arg mem_t1_256 ,contw 
+7ad9 20407c79 call bn_sqrmod_256 
+7ada da200706 arg mem_cx_256 ,rega 
+7adb da4007e6 arg mem_t1_256 ,regb 
+7adc d8a006a6 arg mem_bx_256 ,contw 
+7add 20407be1 call bn_mulmod_256 
+7ade da200846 arg mem_t3_256 ,rega 
+7adf da4007e6 arg mem_t1_256 ,regb 
+7ae0 d8a00826 arg mem_t2_256 ,contw 
+7ae1 20407be1 call bn_mulmod_256 
+7ae2 da200726 arg mem_cy_256 ,rega 
+7ae3 da400826 arg mem_t2_256 ,regb 
+7ae4 d8a006c6 arg mem_by_256 ,contw 
+7ae5 20207be1 branch bn_mulmod_256 
+
+ecdbl_256:
+7ae6 da200746 arg mem_cz_256 ,rega 
+7ae7 d8a00826 arg mem_t2_256 ,contw 
+7ae8 20407c79 call bn_sqrmod_256 
+7ae9 da200826 arg mem_t2_256 ,rega 
+7aea d8a00846 arg mem_t3_256 ,contw 
+7aeb 20407c79 call bn_sqrmod_256 
+7aec da20093e arg mem_a_256 ,rega 
+7aed da400846 arg mem_t3_256 ,regb 
+7aee d8a00846 arg mem_t3_256 ,contw 
+7aef 20407be1 call bn_mulmod_256 
+7af0 da200706 arg mem_cx_256 ,rega 
+7af1 d8a00826 arg mem_t2_256 ,contw 
+7af2 20407c79 call bn_sqrmod_256 
+7af3 d8c00826 arg mem_t2_256 ,contr 
+7af4 d8a007e6 arg mem_t1_256 ,contw 
+7af5 20407ebd call memcpy32 
+7af6 da2007e6 arg mem_t1_256 ,rega 
+7af7 20407c80 call bn_lshiftmod_256 
+7af8 da200826 arg mem_t2_256 ,rega 
+7af9 da4007e6 arg mem_t1_256 ,regb 
+7afa d8a00826 arg mem_t2_256 ,contw 
+7afb 20407c7d call bn_addmod_256 
+7afc da200826 arg mem_t2_256 ,rega 
+7afd da400846 arg mem_t3_256 ,regb 
+7afe d8a00826 arg mem_t2_256 ,contw 
+7aff 20407c7d call bn_addmod_256 
+7b00 d8c00706 arg mem_cx_256 ,contr 
+7b01 d8a007e6 arg mem_t1_256 ,contw 
+7b02 20407ebd call memcpy32 
+7b03 da200726 arg mem_cy_256 ,rega 
+7b04 d8a00846 arg mem_t3_256 ,contw 
+7b05 20407c79 call bn_sqrmod_256 
+7b06 da2007e6 arg mem_t1_256 ,rega 
+7b07 20407c80 call bn_lshiftmod_256 
+7b08 da2007e6 arg mem_t1_256 ,rega 
+7b09 20407c80 call bn_lshiftmod_256 
+7b0a da2007e6 arg mem_t1_256 ,rega 
+7b0b da400846 arg mem_t3_256 ,regb 
+7b0c d8a007e6 arg mem_t1_256 ,contw 
+7b0d 20407be1 call bn_mulmod_256 
+7b0e da200846 arg mem_t3_256 ,rega 
+7b0f d8a00806 arg mem_t0_256 ,contw 
+7b10 20407c79 call bn_sqrmod_256 
+7b11 da200806 arg mem_t0_256 ,rega 
+7b12 20407c80 call bn_lshiftmod_256 
+7b13 da200806 arg mem_t0_256 ,rega 
+7b14 20407c80 call bn_lshiftmod_256 
+7b15 da200806 arg mem_t0_256 ,rega 
+7b16 20407c80 call bn_lshiftmod_256 
+7b17 d8c00726 arg mem_cy_256 ,contr 
+7b18 d8a00846 arg mem_t3_256 ,contw 
+7b19 20407ebd call memcpy32 
+7b1a da200846 arg mem_t3_256 ,rega 
+7b1b 20407c80 call bn_lshiftmod_256 
+7b1c da200846 arg mem_t3_256 ,rega 
+7b1d da400746 arg mem_cz_256 ,regb 
+7b1e d8a00746 arg mem_cz_256 ,contw 
+7b1f 20407be1 call bn_mulmod_256 
+7b20 da200826 arg mem_t2_256 ,rega 
+7b21 d8a00846 arg mem_t3_256 ,contw 
+7b22 20407c79 call bn_sqrmod_256 
+7b23 da200846 arg mem_t3_256 ,rega 
+7b24 da4007e6 arg mem_t1_256 ,regb 
+7b25 d8a00846 arg mem_t3_256 ,contw 
+7b26 20407c96 call bn_submod_256 
+7b27 da200846 arg mem_t3_256 ,rega 
+7b28 da4007e6 arg mem_t1_256 ,regb 
+7b29 d8a00706 arg mem_cx_256 ,contw 
+7b2a 20407c96 call bn_submod_256 
+7b2b da2007e6 arg mem_t1_256 ,rega 
+7b2c da400706 arg mem_cx_256 ,regb 
+7b2d d8a00846 arg mem_t3_256 ,contw 
+7b2e 20407c96 call bn_submod_256 
+7b2f da200846 arg mem_t3_256 ,rega 
+7b30 da400826 arg mem_t2_256 ,regb 
+7b31 d8a00846 arg mem_t3_256 ,contw 
+7b32 20407be1 call bn_mulmod_256 
+7b33 da200846 arg mem_t3_256 ,rega 
+7b34 da400806 arg mem_t0_256 ,regb 
+7b35 d8a00726 arg mem_cy_256 ,contw 
+7b36 20207c96 branch bn_submod_256 
+
+ecadd_256:
+7b37 da200686 arg mem_az_256 ,rega 
+7b38 d8a00866 arg mem_t7_256 ,contw 
+7b39 20407c79 call bn_sqrmod_256 
+7b3a da200706 arg mem_cx_256 ,rega 
+7b3b da400866 arg mem_t7_256 ,regb 
+7b3c d8a00806 arg mem_t0_256 ,contw 
+7b3d 20407be1 call bn_mulmod_256 
+7b3e da200686 arg mem_az_256 ,rega 
+7b3f da400866 arg mem_t7_256 ,regb 
+7b40 d8a00866 arg mem_t7_256 ,contw 
+7b41 20407be1 call bn_mulmod_256 
+7b42 da200726 arg mem_cy_256 ,rega 
+7b43 da400866 arg mem_t7_256 ,regb 
+7b44 d8a007e6 arg mem_t1_256 ,contw 
+7b45 20407be1 call bn_mulmod_256 
+7b46 da200746 arg mem_cz_256 ,rega 
+7b47 d8a00866 arg mem_t7_256 ,contw 
+7b48 20407c79 call bn_sqrmod_256 
+7b49 da200646 arg mem_ax_256 ,rega 
+7b4a da400866 arg mem_t7_256 ,regb 
+7b4b d8a00826 arg mem_t2_256 ,contw 
+7b4c 20407be1 call bn_mulmod_256 
+7b4d da200746 arg mem_cz_256 ,rega 
+7b4e da400866 arg mem_t7_256 ,regb 
+7b4f d8a00866 arg mem_t7_256 ,contw 
+7b50 20407be1 call bn_mulmod_256 
+7b51 da200666 arg mem_ay_256 ,rega 
+7b52 da400866 arg mem_t7_256 ,regb 
+7b53 d8a00846 arg mem_t3_256 ,contw 
+7b54 20407be1 call bn_mulmod_256 
+7b55 da400806 arg mem_t0_256 ,regb 
+7b56 da200826 arg mem_t2_256 ,rega 
+7b57 d8a00866 arg mem_t7_256 ,contw 
+7b58 20407c96 call bn_submod_256 
+7b59 da200806 arg mem_t0_256 ,rega 
+7b5a da400826 arg mem_t2_256 ,regb 
+7b5b d8a00806 arg mem_t0_256 ,contw 
+7b5c 20407c7d call bn_addmod_256 
+7b5d da4007e6 arg mem_t1_256 ,regb 
+7b5e da200846 arg mem_t3_256 ,rega 
+7b5f d8a00826 arg mem_t2_256 ,contw 
+7b60 20407c96 call bn_submod_256 
+7b61 da2007e6 arg mem_t1_256 ,rega 
+7b62 da400846 arg mem_t3_256 ,regb 
+7b63 d8a007e6 arg mem_t1_256 ,contw 
+7b64 20407c7d call bn_addmod_256 
+7b65 da2007e6 arg mem_t1_256 ,rega 
+7b66 da400866 arg mem_t7_256 ,regb 
+7b67 d8a007e6 arg mem_t1_256 ,contw 
+7b68 20407be1 call bn_mulmod_256 
+7b69 da200746 arg mem_cz_256 ,rega 
+7b6a da400686 arg mem_az_256 ,regb 
+7b6b d8a00846 arg mem_t3_256 ,contw 
+7b6c 20407be1 call bn_mulmod_256 
+7b6d da200846 arg mem_t3_256 ,rega 
+7b6e da400866 arg mem_t7_256 ,regb 
+7b6f d8a00746 arg mem_cz_256 ,contw 
+7b70 20407be1 call bn_mulmod_256 
+7b71 da200866 arg mem_t7_256 ,rega 
+7b72 d8a00866 arg mem_t7_256 ,contw 
+7b73 20407c79 call bn_sqrmod_256 
+7b74 da200866 arg mem_t7_256 ,rega 
+7b75 da400806 arg mem_t0_256 ,regb 
+7b76 d8a00846 arg mem_t3_256 ,contw 
+7b77 20407be1 call bn_mulmod_256 
+7b78 da200866 arg mem_t7_256 ,rega 
+7b79 da4007e6 arg mem_t1_256 ,regb 
+7b7a d8a007e6 arg mem_t1_256 ,contw 
+7b7b 20407be1 call bn_mulmod_256 
+7b7c da200826 arg mem_t2_256 ,rega 
+7b7d d8a00706 arg mem_cx_256 ,contw 
+7b7e 20407c79 call bn_sqrmod_256 
+7b7f da200706 arg mem_cx_256 ,rega 
+7b80 da400846 arg mem_t3_256 ,regb 
+7b81 d8a00706 arg mem_cx_256 ,contw 
+7b82 20407c96 call bn_submod_256 
+7b83 d8c00706 arg mem_cx_256 ,contr 
+7b84 d8a00866 arg mem_t7_256 ,contw 
+7b85 20407ebd call memcpy32 
+7b86 da200866 arg mem_t7_256 ,rega 
+7b87 20407c80 call bn_lshiftmod_256 
+7b88 da200846 arg mem_t3_256 ,rega 
+7b89 da400866 arg mem_t7_256 ,regb 
+7b8a d8a00846 arg mem_t3_256 ,contw 
+7b8b 20407c96 call bn_submod_256 
+7b8c da200846 arg mem_t3_256 ,rega 
+7b8d da400826 arg mem_t2_256 ,regb 
+7b8e d8a00826 arg mem_t2_256 ,contw 
+7b8f 20407be1 call bn_mulmod_256 
+7b90 da200826 arg mem_t2_256 ,rega 
+7b91 da4007e6 arg mem_t1_256 ,regb 
+7b92 d8a00726 arg mem_cy_256 ,contw 
+7b93 20407c96 call bn_submod_256 
+7b94 da200726 arg mem_cy_256 ,rega 
+7b95 da40091e arg mem_p_256 ,regb 
+7b96 d8a00726 arg mem_cy_256 ,contw 
+7b97 18002600 force 0 ,regc 
+7b98 68008726 fetch 1 ,mem_cy_256 
+7b99 2feffe00 isolate1 0 ,pdata 
+7b9a 2040fc7b call bn_add_256 ,true 
+7b9b 1a626000 copy regc ,alarm 
+7b9c da200726 arg mem_cy_256 ,rega 
+7b9d 20407cab call bn_rshift_256 
+7b9e 68008745 fetch 1 ,mem_cy5_256 
+7b9f 2e0ffe00 isolate1 0 ,alarm 
+7ba0 7920fe07 setflag true ,7 ,pdata 
+7ba1 60008745 store 1 ,mem_cy5_256 
+7ba2 20600000 rtn 
+
+bn_invmod_256:
+7ba3 18a21600 copy contw ,timeup 
+7ba4 d8a00806 arg mem_tmp0_256 ,contw 
+7ba5 20407ed0 call clear_mem_256 
+7ba6 18007e00 force 0 ,pdata 
+7ba7 60020826 store 4 ,mem_t2_256 
+7ba8 70080601 jam 1 ,mem_tmp0_256 
+7ba9 d8a00786 arg mem_tmp1_256 ,contw 
+7baa 20407ed2 call clear_mem_512 
+7bab d8c0091e arg mem_p_256 ,contr 
+7bac d8a007c6 arg mem_tmp2_256 ,contw 
+7bad 20407ebd call memcpy32 
+7bae 1a220c00 copy rega ,contr 
+7baf d8a007e6 arg mem_tmp3_256 ,contw 
+7bb0 20407ebd call memcpy32 
+
+bn_invmod_256_2:
+7bb1 d8c007e6 arg mem_tmp3_256 ,contr 
+7bb2 20407cb5 call bn_eq_zero_256 
+7bb3 203a7bda branch bn_invmod_256_0 ,blank 
+7bb4 da2007e6 arg mem_tmp3_256 ,rega 
+7bb5 da400806 arg mem_tmp0_256 ,regb 
+7bb6 20407cb8 call bn_rshifteven_256 
+7bb7 da2007c6 arg mem_tmp2_256 ,rega 
+7bb8 da400786 arg mem_tmp1_256 ,regb 
+7bb9 20407cb8 call bn_rshifteven_256 
+7bba da2007e6 arg mem_tmp3_256 ,rega 
+7bbb da4007c6 arg mem_tmp2_256 ,regb 
+7bbc 20407cb1 call bn_bigeq_256 
+7bbd 20217bcc branch bn_invmod_256_1 ,positive 
+7bbe da2007c6 arg mem_tmp2_256 ,rega 
+7bbf da4007e6 arg mem_tmp3_256 ,regb 
+7bc0 1a220a00 copy rega ,contw 
+7bc1 20407ca9 call bn_sub_256 
+7bc2 da200806 arg mem_tmp0_256 ,rega 
+7bc3 da400786 arg mem_tmp1_256 ,regb 
+7bc4 1a420a00 copy regb ,contw 
+7bc5 20407c7b call bn_add_256 
+7bc6 ea208000 ifetch 1 ,rega 
+7bc7 9a60a600 iadd regc ,regc 
+7bc8 ea408000 ifetch 1 ,regb 
+7bc9 9a60fe00 iadd regc ,pdata 
+7bca e2408000 istore 1 ,regb 
+7bcb 20207bb1 branch bn_invmod_256_2 
+
+bn_invmod_256_1:
+7bcc da2007e6 arg mem_tmp3_256 ,rega 
+7bcd da4007c6 arg mem_tmp2_256 ,regb 
+7bce 1a220a00 copy rega ,contw 
+7bcf 20407ca9 call bn_sub_256 
+7bd0 da200786 arg mem_tmp1_256 ,rega 
+7bd1 da400806 arg mem_tmp0_256 ,regb 
+7bd2 1a420a00 copy regb ,contw 
+7bd3 20407c7b call bn_add_256 
+7bd4 ea208000 ifetch 1 ,rega 
+7bd5 9a60a600 iadd regc ,regc 
+7bd6 ea408000 ifetch 1 ,regb 
+7bd7 9a60fe00 iadd regc ,pdata 
+7bd8 e2408000 istore 1 ,regb 
+7bd9 20207bb1 branch bn_invmod_256_2 
+
+bn_invmod_256_0:
+7bda da200786 arg mem_tmp1_256 ,rega 
+7bdb 19620a00 copy timeup ,contw 
+7bdc 20407c0a call bn_p256mod 
+7bdd da20091e arg mem_p_256 ,rega 
+7bde 19622400 copy timeup ,regb 
+7bdf 19620a00 copy timeup ,contw 
+7be0 20207c96 branch bn_submod_256 
+
+bn_mulmod_256:
+7be1 18a21600 copy contw ,timeup 
+7be2 18007000 force 0 ,regext_index 
+7be3 d8a00786 arg mem_tmp1_256 ,contw 
+7be4 20407ed2 call clear_mem_512 
+7be5 d8a00ad2 arg mem_regext ,contw 
+7be6 20407ed2 call clear_mem_512 
+7be7 1a220c00 copy rega ,contr 
+7be8 700ad200 jam 0 ,mem_regext 
+7be9 58000000 setarg 0 
+7bea 20407c73 call bn_load_mem 
+7beb 1a420c00 copy regb ,contr 
+7bec 20407c77 call bn_load_256 
+7bed 18000e00 force 0 ,queue 
+7bee d8a00786 arg mem_tmp1_256 ,contw 
+
+bn_mulmod_256_1:
+7bef d8400ad2 arg mem_regext ,temp 
+7bf0 18e22400 copy queue ,regb 
+7bf1 1a4bfe00 lshift2 regb ,pdata 
+7bf2 9840a400 iadd temp ,regb 
+7bf3 18000400 force 0 ,temp 
+7bf4 18002600 force 0 ,regc 
+
+bn_mulmod_256_0:
+7bf5 e8a20000 ifetch 4 ,contw 
+7bf6 98002200 iforce rega 
+7bf7 ea420000 ifetch 4 ,regb 
+7bf8 1a627000 copy regc ,regext_index 
+7bf9 9deffe00 imul32 regext ,pdata 
+7bfa 9a20fe00 iadd rega ,pdata 
+7bfb 9840fe00 iadd temp ,pdata 
+7bfc e0a20000 istore 4 ,contw 
+7bfd 1fef0400 rshift32 pdata ,temp 
+7bfe 1a60a601 increase 1 ,regc 
+7bff 2a61fe08 compare 8 ,regc ,0xff 
+7c00 2420fbf5 nbranch bn_mulmod_256_0 ,true 
+7c01 18427e00 deposit temp 
+7c02 e0a20000 istore 4 ,contw 
+7c03 18a08be0 increase -32 ,contw 
+7c04 18e08e01 increase 1 ,queue 
+7c05 28e1fe08 compare 8 ,queue ,0xff 
+7c06 2420fbef nbranch bn_mulmod_256_1 ,true 
+7c07 da200786 arg mem_tmp1_256 ,rega 
+7c08 19620a00 copy timeup ,contw 
+7c09 20207c0a branch bn_p256mod 
+
+bn_p256mod:
+7c0a 4779403e bpatchx patch3e_2 ,mem_patch3e 
+7c0b 18a21600 copy contw ,timeup 
+7c0c 1a226000 copy rega ,alarm 
+7c0d da4007c6 arg mem_tmp2_256 ,regb 
+7c0e 1a420a00 copy regb ,contw 
+7c0f 20407ecd call memset0_4 
+7c10 e0a40000 istore 8 ,contw 
+7c11 1a208c2c add rega ,44 ,contr 
+7c12 20407eb9 call memcpy8 
+7c13 20407eb5 call memcpy12 
+7c14 1a422200 copy regb ,rega 
+7c15 20407c80 call bn_lshiftmod_256 
+7c16 da4007c6 arg mem_tmp2_256 ,regb 
+7c17 1e022200 copy alarm ,rega 
+7c18 19620a00 copy timeup ,contw 
+7c19 20407c7d call bn_addmod_256 
+7c1a da4007c6 arg mem_tmp2_256 ,regb 
+7c1b 1a420a00 copy regb ,contw 
+7c1c 20407ecd call memset0_4 
+7c1d e0a40000 istore 8 ,contw 
+7c1e 1e008c30 add alarm ,48 ,contr 
+7c1f 20407ebf call memcpy16 
+7c20 20407ecd call memset0_4 
+7c21 1a422200 copy regb ,rega 
+7c22 20407c80 call bn_lshiftmod_256 
+7c23 da4007c6 arg mem_tmp2_256 ,regb 
+7c24 19622200 copy timeup ,rega 
+7c25 1a220a00 copy rega ,contw 
+7c26 20407c7d call bn_addmod_256 
+7c27 da4007c6 arg mem_tmp2_256 ,regb 
+7c28 1a420a00 copy regb ,contw 
+7c29 1e008c20 add alarm ,32 ,contr 
+7c2a 20407eb5 call memcpy12 
+7c2b 20407ecd call memset0_4 
+7c2c e0a40000 istore 8 ,contw 
+7c2d 1e008c38 add alarm ,56 ,contr 
+7c2e 20407eb9 call memcpy8 
+7c2f 19622200 copy timeup ,rega 
+7c30 1a220a00 copy rega ,contw 
+7c31 20407c7d call bn_addmod_256 
+7c32 da4007c6 arg mem_tmp2_256 ,regb 
+7c33 1a420a00 copy regb ,contw 
+7c34 1e008c24 add alarm ,36 ,contr 
+7c35 20407eb5 call memcpy12 
+7c36 1e008c34 add alarm ,52 ,contr 
+7c37 20407eb5 call memcpy12 
+7c38 1e008c34 add alarm ,52 ,contr 
+7c39 20407eb6 call memcpy4 
+7c3a 1e008c20 add alarm ,32 ,contr 
+7c3b 20407eb6 call memcpy4 
+7c3c 19622200 copy timeup ,rega 
+7c3d 1a220a00 copy rega ,contw 
+7c3e 20407c7d call bn_addmod_256 
+7c3f da4007c6 arg mem_tmp2_256 ,regb 
+7c40 1a420a00 copy regb ,contw 
+7c41 1e008c2c add alarm ,44 ,contr 
+7c42 20407eb5 call memcpy12 
+7c43 20407ecd call memset0_4 
+7c44 e0a40000 istore 8 ,contw 
+7c45 1e008c20 add alarm ,32 ,contr 
+7c46 20407eb6 call memcpy4 
+7c47 1e008c28 add alarm ,40 ,contr 
+7c48 20407eb6 call memcpy4 
+7c49 19622200 copy timeup ,rega 
+7c4a 1a220a00 copy rega ,contw 
+7c4b 20407c96 call bn_submod_256 
+7c4c da4007c6 arg mem_tmp2_256 ,regb 
+7c4d 1a420a00 copy regb ,contw 
+7c4e 1e008c30 add alarm ,48 ,contr 
+7c4f 20407eb9 call memcpy8 
+7c50 20407eb9 call memcpy8 
+7c51 18007e00 force 0 ,pdata 
+7c52 e0a40000 istore 8 ,contw 
+7c53 1e008c24 add alarm ,36 ,contr 
+7c54 20407eb6 call memcpy4 
+7c55 1e008c2c add alarm ,44 ,contr 
+7c56 20407eb6 call memcpy4 
+7c57 19622200 copy timeup ,rega 
+7c58 1a220a00 copy rega ,contw 
+7c59 20407c96 call bn_submod_256 
+7c5a da4007c6 arg mem_tmp2_256 ,regb 
+7c5b 1a420a00 copy regb ,contw 
+7c5c 1e008c34 add alarm ,52 ,contr 
+7c5d 20407eb5 call memcpy12 
+7c5e 1e008c20 add alarm ,32 ,contr 
+7c5f 20407eb5 call memcpy12 
+7c60 20407ecd call memset0_4 
+7c61 1e008c30 add alarm ,48 ,contr 
+7c62 20407eb6 call memcpy4 
+7c63 19622200 copy timeup ,rega 
+7c64 1a220a00 copy rega ,contw 
+7c65 20407c96 call bn_submod_256 
+7c66 da4007c6 arg mem_tmp2_256 ,regb 
+7c67 1a420a00 copy regb ,contw 
+7c68 1e008c38 add alarm ,56 ,contr 
+7c69 20407eb9 call memcpy8 
+7c6a 20407ecd call memset0_4 
+7c6b 1e008c24 add alarm ,36 ,contr 
+7c6c 20407eb5 call memcpy12 
+7c6d 20407ecd call memset0_4 
+7c6e 1e008c34 add alarm ,52 ,contr 
+7c6f 20407eb6 call memcpy4 
+7c70 19622200 copy timeup ,rega 
+7c71 1a220a00 copy rega ,contw 
+7c72 20207c96 branch bn_submod_256 
+
+bn_load_mem:
+7c73 18007220 force 32 ,loopcnt 
+7c74 d8a00ad2 arg mem_regext ,contw 
+7c75 98a08a00 iadd contw ,contw 
+7c76 20207f01 branch memcpy 
+
+bn_load_256:
+7c77 18007208 force 8 ,loopcnt 
+7c78 20207781 branch bn_load_0 
+
+bn_sqrmod_256:
+7c79 1a222400 copy rega ,regb 
+7c7a 20207be1 branch bn_mulmod_256 
+
+bn_add_256:
+7c7b 18007208 force 8 ,loopcnt 
+7c7c 20207712 branch bn_add + 1 
+
+bn_addmod_256:
+7c7d 20407c7b call bn_add_256 
+7c7e 18a22200 copy contw ,rega 
+7c7f 20207c81 branch bn_lshiftmod_ismod_256 
+
+bn_lshiftmod_256:
+7c80 20407cae call bn_lshift_256 
+
+bn_lshiftmod_ismod_256:
+7c81 2a6ffe00 isolate1 0 ,regc 
+7c82 2020fc8a branch bn_lshiftmod_p_256 ,true 
+7c83 da40091e arg mem_p_256 ,regb 
+7c84 1a222600 copy rega ,regc 
+7c85 1a20a3e0 increase -32 ,rega 
+7c86 20407cb1 call bn_bigeq_256 
+7c87 24610000 nrtn positive 
+7c88 1a622200 copy regc ,rega 
+7c89 20207c92 branch sub_p2_256 
+
+bn_lshiftmod_p_256:
+7c8a 20407c92 call sub_p2_256 
+7c8b 1a222600 copy rega ,regc 
+7c8c 1a20a3e0 increase -32 ,rega 
+7c8d da40091e arg mem_p_256 ,regb 
+7c8e 20407cb1 call bn_bigeq_256 
+7c8f 24610000 nrtn positive 
+7c90 1a622200 copy regc ,rega 
+7c91 20207c92 branch sub_p2_256 
+
+sub_p2_256:
+7c92 1a20a3e0 increase -32 ,rega 
+7c93 da40091e arg mem_p_256 ,regb 
+7c94 1a220a00 copy rega ,contw 
+7c95 20207ca9 branch bn_sub_256 
+
+bn_submod_256:
+7c96 20407ca9 call bn_sub_256 
+7c97 2020fca0 branch bn_submod_256_np ,true 
+7c98 18a0a3e0 add contw ,-32 ,rega 
+7c99 da40091e arg mem_p_256 ,regb 
+7c9a 20407cb1 call bn_bigeq_256 
+7c9b 24610000 nrtn positive 
+7c9c da40091e arg mem_p_256 ,regb 
+7c9d 18a0a3e0 add contw ,-32 ,rega 
+7c9e 1a220a00 copy rega ,contw 
+7c9f 20207ca9 branch bn_sub_256 
+
+bn_submod_256_np:
+7ca0 18a0a3e0 add contw ,-32 ,rega 
+7ca1 da40091e arg mem_p_256 ,regb 
+7ca2 1a220a00 copy rega ,contw 
+7ca3 20407c7b call bn_add_256 
+7ca4 20608000 rtn true 
+7ca5 18a0a3e0 add contw ,-32 ,rega 
+7ca6 da40091e arg mem_p_256 ,regb 
+7ca7 1a220a00 copy rega ,contw 
+7ca8 20207c7b branch bn_add_256 
+
+bn_sub_256:
+7ca9 18007208 force 8 ,loopcnt 
+7caa 20207720 branch bn_sub + 1 
+
+bn_rshift_256:
+7cab 18007208 force 8 ,loopcnt 
+7cac 1a20a21c increase 28 ,rega 
+7cad 2020772f branch bn_rshift 
+
+bn_lshift_256:
+7cae 18007208 force 8 ,loopcnt 
+7caf 18002600 force 0 ,regc 
+7cb0 2020773d branch bn_lshift_0 
+
+bn_bigeq_256:
+7cb1 18007208 force 8 ,loopcnt 
+7cb2 1a20a21c increase 28 ,rega 
+7cb3 1a40a41c increase 28 ,regb 
+7cb4 20207707 branch bn_bigeq_0 
+
+bn_eq_zero_256:
+7cb5 e8c40000 ifetch 8 ,contr 
+7cb6 247a0000 nrtn blank 
+7cb7 202076f5 branch bn_eq_zero 
+
+bn_rshifteven_256:
+7cb8 1a226000 copy rega ,alarm 
+
+bn_rshifteven_256_1:
+7cb9 1e022200 copy alarm ,rega 
+7cba ea208000 ifetch 1 ,rega 
+7cbb 2feffe00 isolate1 0 ,pdata 
+7cbc 20608000 rtn true 
+7cbd 20407cab call bn_rshift_256 
+7cbe ea408000 ifetch 1 ,regb 
+7cbf 2fec0000 isolate0 0 ,pdata 
+7cc0 2020fcc8 branch bn_rshifteven_256_0 ,true 
+7cc1 da20091e arg mem_p_256 ,rega 
+7cc2 1a420a00 copy regb ,contw 
+7cc3 20407c7b call bn_add_256 
+7cc4 ea408000 ifetch 1 ,regb 
+7cc5 9a60fe00 iadd regc ,pdata 
+7cc6 e2408000 istore 1 ,regb 
+7cc7 1a40a5e0 increase -32 ,regb 
+
+bn_rshifteven_256_0:
+7cc8 1a40a220 add regb ,32 ,rega 
+7cc9 18007209 force 9 ,loopcnt 
+7cca 2040772f call bn_rshift 
+7ccb 20207cb9 branch bn_rshifteven_256_1 
+
+ui_init:
+7ccc 20402c65 call lpm_disable_exen_output 
+7ccd 20758000 rtn wake 
+7cce 20407cd3 call ui_button_init 
+7ccf 20407d75 call ui_timer_init 
+7cd0 20207d08 branch ui_led_init_global 
+
+ui_dispatch:
+7cd1 20407d29 call ui_led_dispatch 
+7cd2 20207d64 branch ui_timer_check 
+
+ui_button_init:
+7cd3 6800c686 fetch 1 ,mem_ui_button_gpio 
+7cd4 c17f8000 rtneq ui_button_gpio_disable 
+7cd5 98000400 iforce temp 
+7cd6 2040680e call gpio_config_output 
+7cd7 6808c686 fetcht 1 ,mem_ui_button_gpio 
+7cd8 20406825 call gpio_out_inactive 
+7cd9 20000064 nop 100 
+7cda 6808c686 fetcht 1 ,mem_ui_button_gpio 
+7cdb 204067fb call gpio_config_input 
+7cdc 20207cdd branch ui_button_polling 
+
+ui_button_polling:
+7cdd 4779c03e bpatchx patch3e_3 ,mem_patch3e 
+7cde 6800c686 fetch 1 ,mem_ui_button_gpio 
+7cdf c17f8000 rtneq ui_button_gpio_disable 
+7ce0 1fe20400 copy pdata ,temp 
+7ce1 2040681d call gpio_get_bit 
+7ce2 2420fcef nbranch ui_button_up ,true 
+
+ui_button_down:
+7ce3 20407cf9 call ui_button_check_long_press 
+7ce4 68014682 fetch 2 ,mem_ui_state_map 
+7ce5 79207e0c set1 ui_state_btn_down 
+7ce6 60014682 store 2 ,mem_ui_state_map 
+7ce7 6800c679 fetch 1 ,mem_ui_button_last_state 
+7ce8 c1000000 rtneq ui_button_state_down 
+7ce9 70467900 jam ui_button_state_down ,mem_ui_button_last_state 
+7cea 6800c685 fetch 1 ,mem_ui_button_timeout 
+7ceb 6000c678 store 1 ,mem_ui_button_timer 
+7cec 20407d00 call lpm_button_get_wake_lock 
+7ced 700a992c jam bt_evt_button_down ,mem_fifo_temp 
+7cee 20207d86 branch ui_ipc_send_event 
+
+ui_button_up:
+7cef 68014682 fetch 2 ,mem_ui_state_map 
+7cf0 793ffe0c set0 ui_state_btn_down 
+7cf1 60014682 store 2 ,mem_ui_state_map 
+7cf2 6800c679 fetch 1 ,mem_ui_button_last_state 
+7cf3 c1008000 rtneq ui_button_state_up 
+7cf4 70467901 jam ui_button_state_up ,mem_ui_button_last_state 
+7cf5 70467800 jam 0 ,mem_ui_button_timer 
+7cf6 20407d02 call lpm_button_clean_wake_lock 
+7cf7 700a992d jam bt_evt_button_up ,mem_fifo_temp 
+7cf8 20207d86 branch ui_ipc_send_event 
+
+ui_button_check_long_press:
+7cf9 6800c678 fetch 1 ,mem_ui_button_timer 
+7cfa 207a0000 rtn blank 
+7cfb 1fe0ffff increase -1 ,pdata 
+7cfc 6000c678 store 1 ,mem_ui_button_timer 
+7cfd 247a0000 nrtn blank 
+7cfe 700a9910 jam bt_evt_button_long_pressed ,mem_fifo_temp 
+7cff 20207d86 branch ui_ipc_send_event 
+
+lpm_button_get_wake_lock:
+7d00 d8e00007 arg wake_lock_button ,queue 
+7d01 20202c32 branch lpm_get_wake_lock 
+
+lpm_button_clean_wake_lock:
+7d02 d8e00007 arg wake_lock_button ,queue 
+7d03 20202c36 branch lpm_put_wake_lock 
+
+calc_curr_struct_prt:
+7d04 6801421b fetch 2 ,mem_ui_led_struct_ptr 
+7d05 1a2fa40b mul32 rega ,led_offset_length ,regb 
+7d06 9a40a400 iadd regb ,regb 
+7d07 20600000 rtn 
+
+ui_led_init_global:
+7d08 6800c21a fetch 1 ,mem_ui_led_struct_num 
+7d09 207a0000 rtn blank 
+7d0a 1fe27200 copy pdata ,loopcnt 
+7d0b 6801421b fetch 2 ,mem_ui_led_struct_ptr 
+7d0c 1fe22400 copy pdata ,regb 
+
+ui_led_init_loop:
+7d0d 1a40a602 add regb ,led_offset_led_gpio ,regc 
+7d0e ea688000 ifetcht 1 ,regc 
+7d0f 2040680e call gpio_config_output 
+7d10 20407d32 call ui_led_off_static 
+7d11 1a40a40b increase led_offset_length ,regb 
+7d12 c2007d0d loop ui_led_init_loop 
+7d13 20600000 rtn 
+
+ui_led_on_global:
+7d14 20407d04 call calc_curr_struct_prt 
+7d15 58000002 setarg ui_led_state_lighting 
+7d16 e2408000 istore 1 ,regb 
+7d17 20407d5e call ui_led_stop_timer 
+7d18 20207d35 branch ui_led_on_static 
+
+ui_led_blink_stop_global:
+
+ui_led_off_global:
+7d19 20407d04 call calc_curr_struct_prt 
+7d1a 58000003 setarg ui_led_state_darking 
+7d1b e2408000 istore 1 ,regb 
+7d1c 20407d5e call ui_led_stop_timer 
+7d1d 20207d32 branch ui_led_off_static 
+
+ui_led_blink_start_global:
+7d1e 20407d04 call calc_curr_struct_prt 
+7d1f 58000001 setarg ui_led_state_blink_start 
+7d20 e2408000 istore 1 ,regb 
+7d21 580000ff setarg led_infinite_flash_num 
+7d22 e0a08000 istore 1 ,contw 
+7d23 20207d32 branch ui_led_off_static 
+
+ui_led_set_style_global:
+7d24 20407d04 call calc_curr_struct_prt 
+7d25 df20000b arg led_offset_length ,loopcnt 
+7d26 1a620c00 copy regc ,contr 
+7d27 1a420a00 copy regb ,contw 
+7d28 20207ef4 branch memcpy_fast 
+
+ui_led_dispatch:
+7d29 6800c21a fetch 1 ,mem_ui_led_struct_num 
+7d2a 207a0000 rtn blank 
+7d2b da200000 arg 0 ,rega 
+
+ui_led_blink_polling:
+7d2c 20407d38 call ui_led_change_style_by_type 
+7d2d 1a20a201 increase 1 ,rega 
+7d2e 6800c21a fetch 1 ,mem_ui_led_struct_num 
+7d2f 9a267c00 isub rega ,null 
+7d30 20628000 rtn zero 
+7d31 20207d2c branch ui_led_blink_polling 
+
+ui_led_off_static:
+7d32 1a40a602 add regb ,led_offset_led_gpio ,regc 
+7d33 ea688000 ifetcht 1 ,regc 
+7d34 20206825 branch gpio_out_inactive 
+
+ui_led_on_static:
+7d35 1a40a602 add regb ,led_offset_led_gpio ,regc 
+7d36 ea688000 ifetcht 1 ,regc 
+7d37 20206829 branch gpio_out_active 
+
+ui_led_change_style_by_type:
+7d38 1a208e0b add rega ,ui_led_blink ,queue 
+7d39 20407f16 call timer_check 
+7d3a 247a0000 nrtn blank 
+7d3b 20407d04 call calc_curr_struct_prt 
+7d3c ea408000 ifetch 1 ,regb 
+7d3d c0017d35 beq ui_led_state_lighting ,ui_led_on_static 
+7d3e c001fd32 beq ui_led_state_darking ,ui_led_off_static 
+7d3f c0007d32 beq ui_led_state_blink_stop ,ui_led_off_static 
+7d40 c002fd4c beq ui_led_state_blink_darking ,ui_led_blink_state_darking 
+
+ui_led_blink_state_lighting:
+7d41 20407d35 call ui_led_on_static 
+7d42 1a40a607 add regb ,led_offset_cb_ledon ,regc 
+7d43 20407e7c call push_stack 
+7d44 ea610000 ifetch 2 ,regc 
+7d45 20407f9c call callback_func 
+7d46 20407e8c call pop_stack 
+7d47 58000005 setarg ui_led_state_blink_darking 
+7d48 e2408000 istore 1 ,regb 
+7d49 1a40a603 add regb ,led_offset_on_time ,regc 
+7d4a ea610000 ifetch 2 ,regc 
+7d4b 20207d5c branch ui_led_blink_timer_start 
+
+ui_led_blink_state_darking:
+7d4c 20407d32 call ui_led_off_static 
+7d4d 1a40a609 add regb ,led_offset_cb_ledoff ,regc 
+7d4e 20407e7c call push_stack 
+7d4f ea610000 ifetch 2 ,regc 
+7d50 20407f9c call callback_func 
+7d51 20407e8c call pop_stack 
+7d52 1a40a601 add regb ,led_offset_blink_count ,regc 
+7d53 ea608000 ifetch 1 ,regc 
+7d54 c07ffd58 beq led_infinite_flash_num ,ui_led_blink_infinite 
+7d55 1fe0ffff increase -1 ,pdata 
+7d56 e2608000 istore 1 ,regc 
+7d57 203a7d19 branch ui_led_blink_stop_global ,blank 
+
+ui_led_blink_infinite:
+7d58 58000004 setarg ui_led_state_blink_lighting 
+7d59 e2408000 istore 1 ,regb 
+7d5a 1a40a605 add regb ,led_offset_off_time ,regc 
+7d5b ea610000 ifetch 2 ,regc 
+
+ui_led_blink_timer_start:
+7d5c 1a208e0b add rega ,ui_led_blink ,queue 
+7d5d 20207f08 branch timer_init 
+
+ui_led_stop_timer:
+7d5e 58000000 setarg 0 
+7d5f 20207d5c branch ui_led_blink_timer_start 
+
+ui_timer_timeout:
+7d60 58001000 setarg 0x1000 
+7d61 1ff07e00 lshift16 pdata ,pdata 
+7d62 9a40a400 iadd regb ,regb 
+7d63 20600000 rtn 
+
+ui_timer_check:
+7d64 477a403e bpatchx patch3e_4 ,mem_patch3e 
+7d65 da200000 arg 0 ,rega 
+7d66 680a467a fetcht 4 ,mem_ui_timer_last_btclk 
+7d67 1c422400 copy clkn_bt ,regb 
+7d68 1a427e00 copy regb ,pdata 
+7d69 98467c00 isub temp ,null 
+7d6a 24417d60 ncall ui_timer_timeout ,positive 
+
+ui_timer_check_loop:
+7d6b 1a427e00 copy regb ,pdata 
+7d6c 184084a0 increase 160 ,temp 
+7d6d 184084a0 increase 160 ,temp 
+7d6e 98467c00 isub temp ,null 
+7d6f 24217d78 nbranch ui_timer_check_end ,positive 
+7d70 1a20a201 increase 1 ,rega 
+7d71 1a217e0f and rega ,0x0f ,pdata 
+7d72 243a7d6b nbranch ui_timer_check_loop ,blank 
+7d73 da200000 arg 0 ,rega 
+7d74 20407d7f call ui_timer_check_send_evt 
+
+ui_timer_init:
+7d75 1c427e00 copy clkn_bt ,pdata 
+7d76 6002467a store 4 ,mem_ui_timer_last_btclk 
+7d77 20600000 rtn 
+
+ui_timer_check_end:
+7d78 477ac03e bpatchx patch3e_5 ,mem_patch3e 
+7d79 1a227e00 copy rega ,pdata 
+7d7a 207a0000 rtn blank 
+7d7b 18408560 increase -160 ,temp 
+7d7c 18408560 increase -160 ,temp 
+7d7d 793f841c set0 28 ,temp 
+7d7e 600a467a storet 4 ,mem_ui_timer_last_btclk 
+
+ui_timer_check_send_evt:
+7d7f 2020335f branch app_evt_timer 
+
+ui_ipc_get_lock:
+7d80 70466601 jam 1 ,mem_ipc_lock_bt 
+
+ui_ipc_get_lock_wait:
+7d81 6800c667 fetch 1 ,mem_ipc_lock_c51 
+7d82 243a7d81 nbranch ui_ipc_get_lock_wait ,blank 
+7d83 20600000 rtn 
+
+ui_ipc_put_lock:
+7d84 70466600 jam 0 ,mem_ipc_lock_bt 
+7d85 20600000 rtn 
+
+ui_ipc_send_event:
+7d86 477b403e bpatchx patch3e_6 ,mem_patch3e 
+7d87 20407d80 call ui_ipc_get_lock 
+7d88 1a227e00 copy rega ,pdata 
+7d89 60020a91 store 4 ,mem_ipc_rega_temp 
+7d8a da204668 arg mem_ipc_fifo_bt2c51 ,rega 
+7d8b 20407fb8 call fifo_in 
+7d8c 68020a91 fetch 4 ,mem_ipc_rega_temp 
+7d8d 1fe22200 copy pdata ,rega 
+7d8e 20207d84 branch ui_ipc_put_lock 
+
+ui_ipc_send_cmd:
+7d8f 477bc03e bpatchx patch3e_7 ,mem_patch3e 
+7d90 20407d80 call ui_ipc_get_lock 
+7d91 1a227e00 copy rega ,pdata 
+7d92 60020a91 store 4 ,mem_ipc_rega_temp 
+7d93 da204670 arg mem_ipc_fifo_c512bt ,rega 
+7d94 20407fb8 call fifo_in 
+7d95 68020a91 fetch 4 ,mem_ipc_rega_temp 
+7d96 1fe22200 copy pdata ,rega 
+7d97 20207d84 branch ui_ipc_put_lock 
+
+ui_ipc_clean_all_fifo:
+7d98 58000000 setarg 0 
+7d99 60044670 store util_fifo_len ,mem_ipc_fifo_c512bt 
+7d9a 60044668 store util_fifo_len ,mem_ipc_fifo_bt2c51 
+7d9b 20600000 rtn 
+
+check_51cmd:
+7d9c 477c403f bpatchx patch3f_0 ,mem_patch3f 
+7d9d 6800c1ce fetch 1 ,mem_hci_cmd 
+7d9e 247a0000 nrtn blank 
+7d9f da204670 arg mem_ipc_fifo_c512bt ,rega 
+7da0 20407fd0 call fifo_is_empty 
+7da1 207a0000 rtn blank 
+7da2 700a9000 jam ipc_continue_process ,mem_ipc_skip_continue_proc 
+7da3 20407da7 call check_51cmd_once 
+7da4 68008a90 fetch 1 ,mem_ipc_skip_continue_proc 
+7da5 203a7d9c branch check_51cmd ,blank 
+7da6 20600000 rtn 
+
+check_51cmd_once:
+7da7 20407d80 call ui_ipc_get_lock 
+7da8 da204670 arg mem_ipc_fifo_c512bt ,rega 
+7da9 20407fc4 call fifo_out 
+7daa 1fe20400 copy pdata ,temp 
+7dab 20407d84 call ui_ipc_put_lock 
+7dac 477cc03f bpatchx patch3f_1 ,mem_patch3f 
+7dad 18427e00 copy temp ,pdata 
+7dae 207a0000 rtn blank 
+7daf c000fddd beq bt_cmd_start_discovery ,check_51cmd_start_discovery 
+7db0 c0017de2 beq bt_cmd_stop_discovery ,check_51cmd_stop_discovery 
+7db1 c001fde8 beq bt_cmd_reconnect ,check_51cmd_reconnect 
+7db2 c003fded beq bt_cmd_enter_sniff_subrating ,check_51cmd_enter_sniff_subrating 
+7db3 c0047dee beq bt_cmd_exit_sniff_subrating ,check_51cmd_exit_sniff_subrating 
+7db4 c004fdef beq bt_cmd_sniff_test ,check_51cmd_sniff_test 
+7db5 c005fdf2 beq bt_cmd_start_inquiry ,check_51cmd_inq 
+7db6 c0067df3 beq bt_cmd_stop_inquiry ,check_51cmd_stop_inq 
+7db7 c006fdf4 beq bt_cmd_start_adv ,check_51cmd_adv 
+7db8 c0077dfa beq bt_cmd_stop_adv ,check_51cmd_stop_adv 
+7db9 c007fdff beq bt_cmd_start_direct_adv ,check_51cmd_direct_adv 
+7dba c0087e05 beq bt_cmd_stop_direct_adv ,check_51cmd_stop_direct_adv 
+7dbb c009fe0f beq bt_cmd_led_off ,check_51cmd_led_off 
+7dbc c00a7e11 beq bt_cmd_led_on ,check_51cmd_led_on 
+7dbd c00afe13 beq bt_cmd_led_blink ,check_51cmd_led_start_blink 
+7dbe c00b7e15 beq bt_cmd_le_start_conn ,check_51cmd_le_start_con 
+7dbf c00bfe18 beq bt_cmd_le_start_scan ,check_51cmd_start_scan 
+7dc0 c00c7e1a beq bt_cmd_le_stop_scan ,check_51cmd_stop_scan 
+7dc1 c00cfe1d beq bt_cmd_enter_hibernate ,check_51cmd_hibernate 
+7dc2 c00dfe25 beq bt_cmd_le_smp_security_request ,check_51cmd_le_smp_sec_req 
+7dc3 c00f7e2f beq bt_cmd_bb_reconn_cancel ,check_51cmd_bb_reconn_cancel 
+7dc4 60008a99 store 1 ,mem_fifo_temp 
+7dc5 477d403f bpatchx patch3f_2 ,mem_patch3f 
+7dc6 204062bc call lmo_fifo_check 
+7dc7 243a7ddb nbranch check_51cmd_restore ,blank 
+
+check_51cmd_once_continue:
+7dc8 68008a99 fetch 1 ,mem_fifo_temp 
+7dc9 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
+7dca c0027dea beq bt_cmd_disconnect ,check_51cmd_disconnect 
+7dcb c002cd17 beq bt_cmd_enter_sniff ,cmd_in_sniff 
+7dcc c0034d26 beq bt_cmd_exit_sniff ,cmd_exit_sniff 
+7dcd c0057df0 beq bt_cmd_set_pin_code ,check_51cmd_pincode 
+7dce c008fe0a beq bt_cmd_le_disconnect ,check_51cmd_le_disconnect 
+7dcf c0097e0e beq bt_cmd_le_update_conn ,check_51cmd_ble_update_connect_param 
+7dd0 c00efe26 beq bt_cmd_role_switch ,check_51cmd_role_switch 
+7dd1 c00fe7cc beq bt_cmd_store_reconn_info_le ,eeprom_store_le_reconn_info 
+7dd2 c01067d0 beq bt_cmd_store_reconn_info_bt ,eeprom_store_bd_reconn_info 
+7dd3 c010fe31 beq bt_cmd_dhkey_not_accept ,check_51cmd_dhkey_not_accept 
+7dd4 c012e70b beq bt_cmd_store_reconn_info ,check_51cmd_store_reconn_info 
+7dd5 20600000 rtn 
+
+check_51cmd_check_idle:
+7dd6 60008a99 store 1 ,mem_fifo_temp 
+7dd7 20402252 call context_check_idle 
+7dd8 2022fddb branch check_51cmd_restore ,zero 
+7dd9 2040225a call context_search_plap 
+7dda 24628000 nrtn zero 
+
+check_51cmd_restore:
+7ddb 700a9001 jam ipc_skip_continue_process ,mem_ipc_skip_continue_proc 
+7ddc 20207d8f branch ui_ipc_send_cmd 
+
+check_51cmd_start_discovery:
+7ddd 68014682 fetch 2 ,mem_ui_state_map 
+7dde 79207e06 set1 ui_state_bt_discovery 
+7ddf 60014682 store 2 ,mem_ui_state_map 
+7de0 70409303 jam 3 ,mem_scan_mode 
+7de1 20600000 rtn 
+
+check_51cmd_stop_discovery:
+7de2 70468000 jam 0 ,mem_hid_handshake_timer_count 
+7de3 70409300 jam 0 ,mem_scan_mode 
+7de4 68014682 fetch 2 ,mem_ui_state_map 
+7de5 793ffe06 set0 ui_state_bt_discovery 
+7de6 60014682 store 2 ,mem_ui_state_map 
+7de7 20600000 rtn 
+
+check_51cmd_reconnect:
+7de8 7041ce05 jam hci_cmd_create_conn ,mem_hci_cmd 
+7de9 20600000 rtn 
+
+check_51cmd_disconnect:
+7dea 70007c07 jam lmp_detach ,mem_lmo_opcode2 
+7deb 7004ca13 jam other_end_terminated ,mem_disconn_reason_send 
+7dec 20600000 rtn 
+
+check_51cmd_enter_sniff_subrating:
+7ded 20600000 rtn 
+
+check_51cmd_exit_sniff_subrating:
+7dee 20600000 rtn 
+
+check_51cmd_sniff_test:
+7def 20600000 rtn 
+
+check_51cmd_pincode:
+7df0 7004d402 jam pincode_state_pincode_ready ,mem_pincode_state 
+7df1 20204d0a branch cmd_pair 
+
+check_51cmd_inq:
+7df2 20600000 rtn 
+
+check_51cmd_stop_inq:
+7df3 20600000 rtn 
+
+check_51cmd_adv:
+7df4 70436e01 jam on ,mem_le_adv_enable 
+7df5 70448400 jam adv_ind ,mem_le_adv_type 
+7df6 68014682 fetch 2 ,mem_ui_state_map 
+7df7 79207e0b set1 ui_state_ble_adv ,pdata 
+7df8 60014682 store 2 ,mem_ui_state_map 
+7df9 20600000 rtn 
+
+check_51cmd_stop_adv:
+7dfa 68014682 fetch 2 ,mem_ui_state_map 
+7dfb 793ffe0b set0 ui_state_ble_adv ,pdata 
+7dfc 60014682 store 2 ,mem_ui_state_map 
+7dfd 70436e00 jam off ,mem_le_adv_enable 
+7dfe 20600000 rtn 
+
+check_51cmd_direct_adv:
+7dff 70436e01 jam on ,mem_le_adv_enable 
+7e00 70448401 jam adv_direct_ind ,mem_le_adv_type 
+7e01 68014682 fetch 2 ,mem_ui_state_map 
+7e02 79207e0b set1 ui_state_ble_adv ,pdata 
+7e03 60014682 store 2 ,mem_ui_state_map 
+7e04 20600000 rtn 
+
+check_51cmd_stop_direct_adv:
+7e05 68014682 fetch 2 ,mem_ui_state_map 
+7e06 793ffe0b set0 ui_state_ble_adv ,pdata 
+7e07 60014682 store 2 ,mem_ui_state_map 
+7e08 70436e00 jam off ,mem_le_adv_enable 
+7e09 20600000 rtn 
+
+check_51cmd_le_disconnect:
+7e0a 58000014 setarg 20 
+7e0b 6001046d store 2 ,mem_le_superto 
+7e0c 600144ba store 2 ,mem_le_init_superto 
+7e0d 20205c92 branch le_send_terminate_ind_user_terminated 
+
+check_51cmd_ble_update_connect_param:
+7e0e 20205abf branch le_l2cap_tx_update_req 
+
+check_51cmd_led_off:
+7e0f da200000 arg 0 ,rega 
+7e10 20207d19 branch ui_led_off_global 
+
+check_51cmd_led_on:
+7e11 da200000 arg 0 ,rega 
+7e12 20207d14 branch ui_led_on_global 
+
+check_51cmd_led_start_blink:
+7e13 da200000 arg 0 ,rega 
+7e14 20207d1e branch ui_led_blink_start_global 
+
+check_51cmd_le_start_con:
+7e15 70436901 jam on ,mem_le_scan_enable 
+7e16 7041ce1b jam hci_cmd_le_create_conn ,mem_hci_cmd 
+7e17 20600000 rtn 
+
+check_51cmd_start_scan:
+7e18 70436901 jam on ,mem_le_scan_enable 
+7e19 20600000 rtn 
+
+check_51cmd_stop_scan:
+7e1a 70436900 jam off ,mem_le_scan_enable 
+7e1b 7041ce00 jam 0 ,mem_hci_cmd 
+7e1c 20600000 rtn 
+
+check_51cmd_hibernate:
+7e1d 680141eb fetch 2 ,mem_cb_before_hibernate 
+7e1e 20407f9c call callback_func 
+7e1f 6800c686 fetch 1 ,mem_ui_button_gpio 
+7e20 c07ffe23 beq ui_button_gpio_disable ,check_51cmd_hibernate_btn_disabled 
+7e21 1fe20400 copy pdata ,temp 
+7e22 204067fb call gpio_config_input 
+
+check_51cmd_hibernate_btn_disabled:
+7e23 20407d98 call ui_ipc_clean_all_fifo 
+7e24 20202b1f branch lpm_hibernate 
+
+check_51cmd_le_smp_sec_req:
+7e25 20205b02 branch le_send_smp_security_request 
+
+check_51cmd_role_switch:
+7e26 70007c34 jam lmp_slot_offset ,mem_lmo_opcode2 
+7e27 79200003 set1 mark_switch_initiated ,mark 
+7e28 24748000 nrtn master 
+7e29 70455b00 jam switch_flag_init ,mem_switch_flag 
+7e2a 70007c13 jam lmp_switch_req ,mem_lmo_opcode2 
+7e2b 6800816d fetch 1 ,mem_connection_options 
+7e2c 793ffe02 set0 connection_switch ,pdata 
+7e2d 6000816d store 1 ,mem_connection_options 
+7e2e 20600000 rtn 
+
+check_51cmd_bb_reconn_cancel:
+7e2f 18000e03 force page_length_timer ,queue 
+7e30 20207f07 branch timer_stop 
+
+check_51cmd_dhkey_not_accept:
+7e31 204062f8 call tid_set_reply 
+7e32 70007d41 jam lmp_dhkey_check ,mem_lmi_opcode2 
+7e33 20205f9d branch parse_lmp_dhkey_check_reject 
+
+ui_check_paring_button:
+7e34 6800c682 fetch 1 ,mem_ui_state_map 
+7e35 c4060000 rtnbit0 ui_state_btn_down 
+7e36 c4038000 rtnbit0 ui_state_bt_reconnect 
+7e37 20207e2f branch check_51cmd_bb_reconn_cancel 
+
+queue_init:
+7e38 68014218 fetch 2 ,mem_queue_ptr 
+7e39 1fe08a02 add pdata ,queue_offset_curr_num ,contw 
+7e3a 58000000 setarg 0 
+7e3b e0a18000 istore 3 ,contw 
+7e3c 20600000 rtn 
+
+queue_push:
+7e3d 20407fe9 call disable_user 
+7e3e 20407e69 call queue_full 
+7e3f 207a0000 rtn blank 
+7e40 68014218 fetch 2 ,mem_queue_ptr 
+7e41 1fe0a402 add pdata ,queue_offset_curr_num ,regb 
+7e42 ea488000 ifetcht 1 ,regb 
+7e43 18408401 increase 1 ,temp 
+7e44 e2488000 istoret 1 ,regb 
+7e45 efe88000 ifetcht 1 ,pdata 
+7e46 18427200 copy temp ,loopcnt 
+7e47 1fe0a404 add pdata ,queue_offset_write_ptr ,regb 
+7e48 ea408000 ifetch 1 ,regb 
+7e49 984ffe00 imul32 temp ,pdata 
+7e4a 98c08a00 iadd contr ,contw 
+7e4b 1a220c00 copy rega ,contr 
+
+calc_queue_next_ptr:
+7e4c 20407f01 call memcpy 
+7e4d 20407e6d call queue_get_size 
+7e4e 1fe0ffff pincrease -1 
+7e4f ea488000 ifetcht 1 ,regb 
+7e50 18408401 increase 1 ,temp 
+7e51 98410400 iand temp ,temp 
+7e52 e2488000 istoret 1 ,regb 
+7e53 20207fe7 branch enable_user 
+
+queue_pop:
+7e54 20407fe9 call disable_user 
+7e55 20407e65 call queue_empty 
+7e56 207a0000 rtn blank 
+7e57 68014218 fetch 2 ,mem_queue_ptr 
+7e58 1fe0a402 add pdata ,queue_offset_curr_num ,regb 
+7e59 ea488000 ifetcht 1 ,regb 
+7e5a 184085ff increase -1 ,temp 
+7e5b e2488000 istoret 1 ,regb 
+7e5c efe88000 ifetcht 1 ,pdata 
+7e5d 18427200 copy temp ,loopcnt 
+7e5e 1fe0a403 add pdata ,queue_offset_read_ptr ,regb 
+7e5f ea408000 ifetch 1 ,regb 
+7e60 984ffe00 imul32 temp ,pdata 
+7e61 98c08c00 iadd contr ,contr 
+7e62 18c08c01 increase 1 ,contr 
+7e63 1a220a00 copy rega ,contw 
+7e64 20207e4c branch calc_queue_next_ptr 
+
+queue_empty:
+7e65 68014218 fetch 2 ,mem_queue_ptr 
+7e66 1fe08c02 add pdata ,queue_offset_curr_num ,contr 
+7e67 e8c08000 ifetch 1 ,contr 
+7e68 20600000 rtn 
+
+queue_full:
+7e69 20407e6d call queue_get_size 
+7e6a e8c88000 ifetcht 1 ,contr 
+7e6b 98467e00 isub temp ,pdata 
+7e6c 20600000 rtn 
+
+queue_get_size:
+7e6d 68014218 fetch 2 ,mem_queue_ptr 
+7e6e 1fe08c01 add pdata ,queue_offset_length ,contr 
+7e6f e8c08000 ifetch 1 ,contr 
+7e70 20600000 rtn 
+
+right_shift_n:
+7e71 1f267c00 sub loopcnt ,0 ,null 
+7e72 20628000 rtn zero 
+
+right_shift_n_loop:
+7e73 1fe37e00 rshift pdata ,pdata 
+7e74 c2007e73 loop right_shift_n_loop 
+7e75 20600000 rtn 
+
+left_shift_n:
+7e76 18007e01 force 1 ,pdata 
+7e77 1f267c00 sub loopcnt ,0 ,null 
+7e78 20628000 rtn zero 
+
+left_shift_n_loop:
+7e79 1fe3fe00 lshift pdata ,pdata 
+7e7a c2007e79 loop left_shift_n_loop 
+7e7b 20600000 rtn 
+
+push_stack:
+7e7c 18a27e00 deposit contw 
+7e7d 60010abb store 2 ,mem_contw 
+7e7e 600c0aa2 storet 8 ,mem_temp 
+7e7f 19627e00 deposit timeup 
+7e80 60020aaa store 4 ,mem_timeup 
+7e81 20407e85 call push_stack_rega_b_c 
+7e82 18c27e00 deposit contr 
+7e83 60010ab9 store 2 ,mem_contr 
+7e84 20600000 rtn 
+
+push_stack_rega_b_c:
+7e85 1a227e00 deposit rega 
+7e86 60020aae store 4 ,mem_rega 
+7e87 1a427e00 deposit regb 
+7e88 60020ab2 store 4 ,mem_regb 
+7e89 1a627e00 deposit regc 
+7e8a 60018ab6 store 3 ,mem_regc 
+7e8b 20600000 rtn 
+
+pop_stack:
+7e8c 680c0aa2 fetcht 8 ,mem_temp 
+7e8d 68020aaa fetch 4 ,mem_timeup 
+7e8e 98001600 iforce timeup 
+7e8f 20407e95 call pop_stack_rega_b_c 
+7e90 68010abb fetch 2 ,mem_contw 
+7e91 98000a00 iforce contw 
+7e92 68010ab9 fetch 2 ,mem_contr 
+7e93 98000c00 iforce contr 
+7e94 20600000 rtn 
+
+pop_stack_rega_b_c:
+7e95 68020aae fetch 4 ,mem_rega 
+7e96 98002200 iforce rega 
+7e97 68020ab2 fetch 4 ,mem_regb 
+7e98 98002400 iforce regb 
+7e99 68018ab6 fetch 3 ,mem_regc 
+7e9a 98002600 iforce regc 
+7e9b 20600000 rtn 
+
+get_contw:
+7e9c 68010abb fetch 2 ,mem_contw 
+7e9d 1fe20a00 copy pdata ,contw 
+7e9e 20600000 rtn 
+
+get_contr:
+7e9f 68010ab9 fetch 2 ,mem_contr 
+7ea0 1fe20c00 copy pdata ,contr 
+7ea1 20600000 rtn 
+
+store_contw:
+7ea2 18a27e00 copy contw ,pdata 
+7ea3 60010abb store 2 ,mem_contw 
+7ea4 20600000 rtn 
+
+store_contr:
+7ea5 18c27e00 copy contr ,pdata 
+7ea6 60010ab9 store 2 ,mem_contr 
+7ea7 20600000 rtn 
+
+save_cont_pointers:
+7ea8 18a27e00 copy contw ,pdata 
+7ea9 60010a97 store 2 ,mem_hold_contw 
+7eaa 18c27e00 copy contr ,pdata 
+7eab 60010a95 store 2 ,mem_hold_contr 
+7eac 20600000 rtn 
+
+load_cont_pointers:
+7ead 68010a97 fetch 2 ,mem_hold_contw 
+7eae 1fe20a00 copy pdata ,contw 
+7eaf 68010a95 fetch 2 ,mem_hold_contr 
+7eb0 1fe20c00 copy pdata ,contr 
+7eb1 20600000 rtn 
+
+memcpy96:
+7eb2 20407ebd call memcpy32 
+
+memcpy64:
+7eb3 20407ebd call memcpy32 
+7eb4 20207ebd branch memcpy32 
+
+memcpy12:
+7eb5 20407eb9 call memcpy8 
+
+memcpy4:
+7eb6 e8c20000 ifetch 4 ,contr 
+7eb7 e0a20000 istore 4 ,contw 
+7eb8 20600000 rtn 
+
+memcpy8:
+7eb9 e8c40000 ifetch 8 ,contr 
+7eba e0a40000 istore 8 ,contw 
+7ebb 20600000 rtn 
+
+memcpy48:
+7ebc 20407ebf call memcpy16 
+
+memcpy32:
+7ebd 20407eb9 call memcpy8 
+
+memcpy24:
+7ebe 20407eb9 call memcpy8 
+
+memcpy16:
+7ebf 20407eb9 call memcpy8 
+7ec0 20207eb9 branch memcpy8 
+
+delay_10ms:
+7ec1 df20000a arg 10 ,loopcnt 
+
+delay_ms_wait:
+7ec2 20002ee0 nop 12000 
+7ec3 c2007ec2 loop delay_ms_wait 
+7ec4 20600000 rtn 
+
+bn_zero:
+7ec5 18007203 force 3 ,loopcnt 
+
+memset0:
+7ec6 18007e00 force 0 ,pdata 
+
+memset8:
+7ec7 e0a40000 istore 8 ,contw 
+7ec8 c2007ec7 loop memset8 
+7ec9 20600000 rtn 
+
+memset0_8:
+7eca 18007e00 force 0 ,pdata 
+7ecb e0a40000 istore 8 ,contw 
+7ecc 20600000 rtn 
+
+memset0_4:
+7ecd 18007e00 force 0 ,pdata 
+7ece e0a20000 istore 4 ,contw 
+7ecf 20600000 rtn 
+
+clear_mem_256:
+7ed0 18007204 force 4 ,loopcnt 
+7ed1 20207ec6 branch memset0 
+
+clear_mem_512:
+7ed2 18007208 force 8 ,loopcnt 
+7ed3 20207ec6 branch memset0 
+
+clear_mem:
+7ed4 1f227e00 deposit loopcnt 
+7ed5 207a0000 rtn blank 
+7ed6 58000000 setarg 0 
+
+clear_mem_loop:
+7ed7 e0a08000 istore 1 ,contw 
+7ed8 c2007ed7 loop clear_mem_loop 
+7ed9 20600000 rtn 
+
+clear_temp_block:
+7eda df200020 arg 32 ,loopcnt 
+7edb d8a00ac2 arg mem_temp_block0 ,contw 
+7edc 20207ed4 branch clear_mem 
+
+xor_loop:
+7edd ea620000 ifetch 4 ,regc 
+7ede ea2a0000 ifetcht 4 ,rega 
+7edf 9842fe00 ixor temp ,pdata 
+7ee0 e0a20000 istore 4 ,contw 
+7ee1 1a20a204 increase 4 ,rega 
+7ee2 1a60a604 increase 4 ,regc 
+7ee3 c2007edd loop xor_loop 
+7ee4 20600000 rtn 
+
+inverse_data:
+7ee5 477dc03f bpatchx patch3f_3 ,mem_patch3f 
+7ee6 1f227e00 copy loopcnt ,pdata 
+7ee7 1fe67c01 sub pdata ,1 ,null 
+7ee8 20610000 rtn positive 
+7ee9 9a20a400 iadd rega ,regb 
+7eea 1a40a5ff increase -1 ,regb 
+7eeb 1f237200 rshift loopcnt ,loopcnt 
+
+inverse_loop:
+7eec ea288000 ifetcht 1 ,rega 
+7eed ea408000 ifetch 1 ,regb 
+7eee e2208000 istore 1 ,rega 
+7eef e2488000 istoret 1 ,regb 
+7ef0 1a40a5ff increase -1 ,regb 
+7ef1 1a20a201 increase 1 ,rega 
+7ef2 c2007eec loop inverse_loop 
+7ef3 20600000 rtn 
+
+memcpy_fast:
+7ef4 1f227e00 deposit loopcnt 
+7ef5 207a0000 rtn blank 
+
+memcpy_fast_loop:
+7ef6 1f20f3f8 increase -8 ,loopcnt 
+7ef7 20417eb9 call memcpy8 ,positive 
+7ef8 20628000 rtn zero 
+7ef9 20217ef6 branch memcpy_fast_loop ,positive 
+7efa 1f20f208 increase 8 ,loopcnt 
+
+memcpy_fast_loop_four:
+7efb 1f20f3fc increase -4 ,loopcnt 
+7efc 20417eb6 call memcpy4 ,positive 
+7efd 20628000 rtn zero 
+7efe 20217efb branch memcpy_fast_loop_four ,positive 
+7eff 1f20f204 increase 4 ,loopcnt 
+7f00 20207f01 branch memcpy 
+
+memcpy:
+7f01 1f227e00 deposit loopcnt 
+7f02 207a0000 rtn blank 
+
+memcpy_loop:
+7f03 e8c08000 ifetch 1 ,contr 
+7f04 e0a08000 istore 1 ,contw 
+7f05 c2007f03 loop memcpy_loop 
+7f06 20600000 rtn 
+
+timer_stop:
+7f07 58000000 setarg 0 
+
+timer_init:
+7f08 1c430400 rshift clkn_bt ,temp 
+7f09 600a4094 storet 4 ,mem_last_clkn 
+7f0a d8a0419d arg mem_timers ,contw 
+7f0b 98000400 iforce temp 
+7f0c 18e3fe00 lshift queue ,pdata 
+7f0d 98a08a00 iadd contw ,contw 
+7f0e e0a90000 istoret 2 ,contw 
+7f0f 477e403f bpatchx patch3f_4 ,mem_patch3f 
+7f10 20600000 rtn 
+
+timer_check_timeout:
+7f11 d9600800 arg 0x800 ,timeup 
+7f12 19701600 lshift16 timeup ,timeup 
+7f13 9960fe00 iadd timeup ,pdata 
+7f14 20600000 rtn 
+
+timer_reinit:
+7f15 d8e00000 arg 0 ,queue 
+
+timer_check:
+7f16 477ec03f bpatchx patch3f_5 ,mem_patch3f 
+7f17 680a4094 fetcht 4 ,mem_last_clkn 
+7f18 1c437e00 rshift clkn_bt ,pdata 
+7f19 60024094 store 4 ,mem_last_clkn 
+7f1a 98467c00 isub temp ,null 
+7f1b 24417f11 ncall timer_check_timeout ,positive 
+7f1c 98461600 isub temp ,timeup 
+7f1d 19620400 copy timeup ,temp 
+7f1e d8c0419d arg mem_timers ,contr 
+7f1f 18c20a00 copy contr ,contw 
+7f20 df200010 arg 16 ,loopcnt 
+
+timer_loop:
+7f21 e8c10000 ifetch 2 ,contr 
+7f22 98467e00 isub temp ,pdata 
+7f23 20217f25 branch timer_counting ,positive 
+7f24 18007e00 force 0 ,pdata 
+
+timer_counting:
+7f25 e0a10000 istore 2 ,contw 
+7f26 c2007f21 loop timer_loop 
+7f27 d8c0419d arg mem_timers ,contr 
+7f28 18e3fe00 lshift queue ,pdata 
+7f29 98c08c00 iadd contr ,contr 
+7f2a e8c10000 ifetch 2 ,contr 
+7f2b 20600000 rtn 
+
+clk_add:
+7f2c 98408400 iadd temp ,temp 
+7f2d 18427200 copy temp ,loopcnt 
+7f2e 58000ea6 setarg 3750 
+7f2f 9f267e00 isub loopcnt ,pdata 
+7f30 20610000 rtn positive 
+7f31 1fe67e00 sub pdata ,0 ,pdata 
+7f32 18510400 rshift16 temp ,temp 
+7f33 18408401 increase 1 ,temp 
+7f34 18500400 lshift16 temp ,temp 
+7f35 98418400 ior temp ,temp 
+7f36 20600000 rtn 
+
+clk_diff_rt:
+7f37 20407f39 call clk_diff 
+7f38 20207f43 branch clk2rt 
+
+clk_diff:
+7f39 78547c00 disable user 
+7f3a 98467e00 isub temp ,pdata 
+7f3b 20217f3e branch clk_diff_pos ,positive 
+7f3c 78347c00 enable user 
+7f3d 1fe67e00 sub pdata ,0 ,pdata 
+
+clk_diff_pos:
+7f3e c4078000 rtnbit0 15 
+7f3f d85f0ea6 arg -61786 ,temp 
+7f40 9840fe00 iadd temp ,pdata 
+7f41 793ffe40 set0 64 ,pdata 
+7f42 20600000 rtn 
+
+clk2rt:
+7f43 98000c00 iforce contr 
+7f44 1ff17e00 rshift16 pdata ,pdata 
+7f45 d8400ea6 arg 3750 ,temp 
+7f46 984ffe00 imul32 temp ,pdata 
+7f47 98c0fe00 iadd contr ,pdata 
+7f48 20600000 rtn 
+
+clk2lpo:
+7f49 1fed7e00 lshift8 pdata ,pdata 
+7f4a 1ff27e00 lshift4 pdata ,pdata 
+7f4b 6809c16f fetcht 3 ,mem_clks_per_lpo 
+7f4c 9846fc00 idiv temp 
+7f4d 20407f86 call wait_div_end 
+7f4e 18078400 quotient temp 
+7f4f 20600000 rtn 
+
+clk2bt:
+7f50 d8400ea6 arg 3750 ,temp 
+7f51 9846fc00 idiv temp 
+7f52 20407f86 call wait_div_end 
+7f53 1807fe00 quotient pdata 
+7f54 1ff07e00 lshift16 pdata ,pdata 
+7f55 18070400 remainder temp 
+7f56 98418400 ior temp ,temp 
+7f57 20600000 rtn 
+
+string2dec_from_uart:
+7f58 d8400000 arg 0 ,temp 
+
+string2dec_from_uart_done:
+7f59 18422600 copy temp ,regc 
+7f5a e8608000 ifetch 1 ,contru 
+7f5b 20407f64 call uchar2dialog 
+7f5c 1a620400 copy regc ,temp 
+7f5d 20407f95 call swap 
+7f5e da40000a arg 10 ,regb 
+7f5f 9a4ffe00 imul32 regb ,pdata 
+7f60 9840fe00 iadd temp ,pdata 
+7f61 1fe20400 copy pdata ,temp 
+7f62 c2007f59 loop string2dec_from_uart_done 
+7f63 20600000 rtn 
+
+uchar2dialog:
+7f64 d840003a arg 0x3a ,temp 
+7f65 98467c00 isub temp ,null 
+7f66 24217f6d nbranch uchar2dialog_number ,positive 
+7f67 d8400061 arg 0x61 ,temp 
+7f68 98467c00 isub temp ,null 
+7f69 20217f70 branch uchar2dialog_a2f ,positive 
+7f6a d8400037 arg 0x37 ,temp 
+7f6b 98467e00 isub temp ,pdata 
+7f6c 20600000 rtn 
+
+uchar2dialog_number:
+7f6d d8400030 arg 0x30 ,temp 
+7f6e 98467e00 isub temp ,pdata 
+7f6f 20600000 rtn 
+
+uchar2dialog_a2f:
+7f70 d8400057 arg 0x57 ,temp 
+7f71 98467e00 isub temp ,pdata 
+7f72 20600000 rtn 
+
+pn9:
+7f73 18426000 copy temp ,alarm 
+7f74 580001ff setarg 0x1ff 
+7f75 18002400 force 0 ,regb 
+
+pn9_loop:
+7f76 1fe92200 rshift3 pdata ,rega 
+7f77 1a232200 rshift rega ,rega 
+7f78 9a22a200 ixor rega ,rega 
+7f79 2a2ffe00 isolate1 0 ,rega 
+7f7a 7920fe09 setflag true ,9 ,pdata 
+7f7b 18430400 rshift temp ,temp 
+7f7c 2feffe00 isolate1 0 ,pdata 
+7f7d 79208407 setflag true ,7 ,temp 
+7f7e 1fe37e00 rshift pdata ,pdata 
+7f7f 1a40a401 increase 1 ,regb 
+7f80 2a400e00 compare 0 ,regb ,0x7 
+7f81 2420ff76 nbranch pn9_loop ,true 
+7f82 e0a88000 istoret 1 ,contw 
+7f83 c2007f76 loop pn9_loop 
+7f84 1e020400 copy alarm ,temp 
+7f85 20600000 rtn 
+
+wait_div_end:
+7f86 207a8000 rtn modone 
+7f87 20207f86 branch wait_div_end 
+
+compare_loop:
+
+string_compare:
+7f88 ea208000 ifetch 1 ,rega 
+7f89 ea488000 ifetcht 1 ,regb 
+7f8a 98467c00 isub temp ,null 
+7f8b 24628000 nrtn zero 
+7f8c 1a20a201 increase 1 ,rega 
+7f8d 1a40a401 increase 1 ,regb 
+7f8e c2007f88 loop string_compare 
+7f8f 18007c00 force 0 ,null 
+7f90 20600000 rtn 
+
+ceiling:
+7f91 98467c00 isub temp ,null 
+7f92 24610000 nrtn positive 
+7f93 18427e00 deposit temp 
+7f94 20600000 rtn 
+
+swap:
+7f95 9840fe00 iadd temp ,pdata 
+7f96 98460400 isub temp ,temp 
+7f97 98467e00 isub temp ,pdata 
+7f98 20600000 rtn 
+
+clean_mem:
+7f99 df200200 arg 0x200 ,loopcnt 
+7f9a d8a04000 arg 0x4000 ,contw 
+7f9b 20207ec6 branch memset0 
+
+callback_func:
+7f9c 207a0000 rtn blank 
+7f9d 1fe27a00 copy pdata ,pc 
+
+wait_uarttx:
+7f9e 6811010e hfetch 2 ,core_uart_txitems 
+7f9f 243a7f9e nbranch wait_uarttx ,blank 
+7fa0 20600000 rtn 
+
+ice_break:
+7fa1 70820301 jam 0x1 ,core_ice_ctrl 
+7fa2 20600000 rtn 
+
+ice_setbp:
+7fa3 60110205 hstore 2 ,core_ice_break0 
+7fa4 68108203 hfetch 1 ,core_ice_ctrl 
+7fa5 79207e04 set1 4 ,pdata 
+7fa6 60108203 hstore 1 ,core_ice_ctrl 
+7fa7 20600000 rtn 
+
+ice_setbp2:
+7fa8 60110207 hstore 2 ,core_ice_break1 
+7fa9 68108203 hfetch 1 ,core_ice_ctrl 
+7faa 79207e06 set1 6 ,pdata 
+7fab 60108203 hstore 1 ,core_ice_ctrl 
+7fac 20600000 rtn 
+
+ice_set_write_bp:
+7fad 60110205 hstore 2 ,core_ice_break0 
+7fae 70820330 jam 0x30 ,core_ice_ctrl 
+7faf 20600000 rtn 
+
+test_enable_white:
+7fb0 68108043 hfetch 1 ,core_config 
+7fb1 793ffe04 set0 whiteoff_bit ,pdata 
+7fb2 60108043 hstore 1 ,core_config 
+7fb3 20600000 rtn 
+
+check_uart_tx_buff:
+7fb4 6811010e hfetch 2 ,core_uart_txitems 
+7fb5 d8400200 arg uart_air_control_threshold ,temp 
+
+pdata_sub_temp:
+7fb6 98467c00 isub temp ,null 
+7fb7 20600000 rtn 
+
+fifo_in:
+7fb8 477f403f bpatchx patch3f_6 ,mem_patch3f 
+7fb9 ea2c0000 ifetcht util_fifo_len ,rega 
+7fba 18417eff and temp ,0xff ,pdata 
+7fbb 243a7fbe nbranch fifo_in_push ,blank 
+7fbc 184cfe00 rshift8 temp ,pdata 
+7fbd e2240000 istore util_fifo_len ,rega 
+
+fifo_in_push:
+7fbe 1a20a207 increase util_fifo_len + util_fifo_offset ,rega 
+7fbf ea208000 ifetch 1 ,rega 
+7fc0 243a2a8c nbranch assert ,blank 
+7fc1 68008a99 fetch 1 ,mem_fifo_temp 
+7fc2 e2208000 istore 1 ,rega 
+7fc3 20600000 rtn 
+
+fifo_out:
+7fc4 477fc03f bpatchx patch3f_7 ,mem_patch3f 
+7fc5 df200008 arg util_fifo_len ,loopcnt 
+7fc6 ea240000 ifetch util_fifo_len ,rega 
+7fc7 207a0000 rtn blank 
+
+fifo_out_loop:
+7fc8 ea208000 ifetch 1 ,rega 
+7fc9 243a7fcd nbranch fifo_out_end ,blank 
+7fca 1a20a201 increase 1 ,rega 
+7fcb c2007fc8 loop fifo_out_loop 
+7fcc 20202a8c branch assert 
+
+fifo_out_end:
+7fcd d8400000 arg 0 ,temp 
+7fce e2288000 istoret 1 ,rega 
+7fcf 20600000 rtn 
+
+fifo_is_empty:
+7fd0 ea240000 ifetch util_fifo_len ,rega 
+7fd1 20600000 rtn 
+
+fifo_is_full:
+7fd2 ea208000 ifetch 1 ,rega 
+7fd3 20600000 rtn 
+
+fifo_is_near_full:
+7fd4 ea210000 ifetch 2 ,rega 
+7fd5 20600000 rtn 
+
+fifo_content_count:
+7fd6 d8400000 arg 0 ,temp 
+
+fifo_content_count_loop:
+7fd7 68008006 fetch 1 ,contr 
+7fd8 c2007fd7 loop fifo_content_count_loop ,blank 
+7fd9 18408401 increase 1 ,temp 
+7fda c2007fd7 loop fifo_content_count_loop 
+7fdb 18427e00 copy temp ,pdata 
+7fdc 20600000 rtn 
+
+not_greater_than:
+7fdd 98467c00 isub temp ,null 
+7fde 24610000 nrtn positive 
+7fdf 18427e00 copy temp ,pdata 
+7fe0 20600000 rtn 
+
+disable_positive:
+7fe1 18007dff force -1 ,null 
+7fe2 20600000 rtn 
+
+enable_positive:
+
+disable_zero:
+7fe3 18007c01 force 1 ,null 
+7fe4 20600000 rtn 
+
+enable_zero:
+7fe5 18007c00 force 0 ,null 
+7fe6 20600000 rtn 
+
+enable_user:
+7fe7 78347c00 enable user 
+7fe8 20600000 rtn 
+
+disable_user:
+7fe9 78547c00 disable user 
+7fea 20600000 rtn 
+
+enable_user2:
+7feb 78367c00 enable user2 
+7fec 20600000 rtn 
+
+disable_user2:
+7fed 78567c00 disable user2 
+7fee 20600000 rtn 
+
+disable_blank:
+7fef 58000001 setarg 1 
+7ff0 20600000 rtn 
+
+enable_blank:
+7ff1 58000000 setarg 0 
+7ff2 20600000 rtn 
+
+reverse_byte:
+7ff3 1f227e00 copy loopcnt ,pdata 
+7ff4 207a0000 rtn blank 
+7ff5 18c27e00 copy contr ,pdata 
+7ff6 9f20fe00 iadd loopcnt ,pdata 
+7ff7 1fe0ffff increase -1 ,pdata 
+7ff8 1fe20c00 copy pdata ,contr 
+
+reverse_loop:
+7ff9 e8c08000 ifetch 1 ,contr 
+7ffa 18c08dfe increase -2 ,contr 
+7ffb e0a08000 istore 1 ,contw 
+7ffc c2007ff9 loop reverse_loop 
+7ffd 20600000 rtn 
+rtn 
Index: YJX_Only24g/main/output/ramcode.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/ramcode.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/ramcode.rom	(working copy)
@@ -0,0 +1,1563 @@
+c2840012
+c0428525
+c04484e2
+c0450527
+c000801e
+c0508027
+c054002c
+c058802f
+c059003b
+c06200bc
+c0648142
+c0650146
+c071829c
+c0730241
+c07502e6
+c07582f4
+c076031d
+20202a8e
+c0460321
+20202a8e
+1fe22200
+6808cc62
+58004c69
+98408a00
+1a227e00
+e0a08000
+18408401
+18410407
+6008cc62
+20600000
+d8a009ae
+df20000c
+20407ed4
+204000b0
+20406a03
+20405cf6
+2455ac65
+20407ccd
+2020200c
+58000a06
+6001c510
+58001d87
+60014513
+20202aa2
+6800c80c
+247a0000
+20202b7f
+c6130000
+6800cb14
+243a7fef
+6800cb0e
+243a7fef
+6800c7a2
+c0007fef
+6800c7ca
+c000ffef
+68014248
+243a7fef
+20207ff1
+c6930000
+6800cce7
+c0008057
+20400386
+24340072
+2040036b
+204003b3
+6800cbb7
+c1ff8000
+20400412
+20400051
+6800cce7
+c1008000
+20402afa
+6801c16f
+207a0000
+6800c091
+207a0000
+20400097
+20400094
+5800f618
+20202b93
+6800c6f5
+c3838000
+58017700
+6001cbd6
+7048101e
+20600000
+2040052a
+24740000
+20400069
+6800cce8
+1fe0fe01
+6000cce8
+1fe67c19
+20428060
+2020003e
+704ce700
+704ce800
+704be200
+6800cbcd
+6000cbcc
+20600000
+6800cbce
+6000cbcc
+20600000
+6800cbe2
+1fe0fe01
+6000cbe2
+c0020066
+c0028062
+20600000
+704ce701
+704ce800
+20600000
+6800cbd3
+205a007e
+20402afa
+6801c16f
+207a0000
+6800c091
+207a0000
+20400097
+68044bd6
+20407f49
+600a415b
+20202b2a
+704bd301
+704cdc00
+20400333
+6000cb43
+58000000
+6003cb44
+68024bde
+60024b4b
+704ba70c
+6800cba8
+79207e03
+6000cba8
+20400566
+2040038a
+20200041
+c6130000
+204000a3
+20400097
+6800c040
+c3000094
+680080a0
+247a0000
+58000000
+600400a1
+20600000
+204000a0
+20400094
+20403ebf
+68120070
+681a0078
+98418400
+18440400
+601a007c
+20200231
+6800cb09
+207a0000
+2020029d
+d8c01800
+d8a04813
+204000ae
+d8c01900
+d8a0482e
+204000ae
+d8c01a00
+d8a04849
+204000ae
+d8c01b00
+d8a04864
+df20001b
+20207f01
+d8c04813
+d8a01800
+204000ae
+d8c0482e
+d8a01900
+204000ae
+d8c04849
+d8a01a00
+204000ae
+d8c04864
+d8a01b00
+202000ae
+20403416
+203580c6
+70807820
+20400601
+6800c1de
+6000cc5e
+20400401
+6800c685
+6000c6da
+204043ca
+204000c8
+202074b9
+2455811a
+204000f5
+20758000
+70477a01
+20400163
+2020014a
+2040024b
+c00380d1
+20600000
+58001bb7
+60014720
+d8400002
+da204720
+58000000
+2040663d
+70801001
+20600000
+204001ad
+6800c210
+c01a00dd
+20600000
+204000ed
+7047a501
+680146a8
+600146ae
+20403418
+204000e6
+58000004
+e0c08000
+20207df4
+da204370
+ea208000
+207a0000
+98c0a200
+e8c08000
+c1008000
+202000e7
+704b1701
+704b1409
+2020023d
+680246d3
+c30a3d66
+6800c77a
+c07fbd66
+20203d80
+70421276
+20203d36
+204000f5
+204040c0
+6800c6e0
+c002c0d5
+204040d9
+c0180105
+c018810b
+204040d1
+200003e8
+202000fb
+704b0901
+2040640f
+204000f7
+20206411
+20400110
+6800c6de
+c02d0109
+202040e0
+7046e007
+20600000
+20400110
+6800c6de
+c03840e8
+7046e001
+20600000
+58008006
+20406413
+20002ee0
+202000f0
+58000006
+20406414
+1fe1fe08
+1fed7e00
+1fe0fe06
+20206413
+2040032d
+68108a00
+793ffe04
+60108a00
+20403e6e
+6808cb0d
+2040680e
+20403e1e
+58000000
+60014154
+20400134
+58001802
+600140bd
+20403e54
+20405810
+20405839
+2040582c
+20405818
+2040659c
+680246d3
+2feffe19
+2440e5c2
+2040443f
+2040013e
+204001a9
+202065df
+680246d3
+c40f8000
+6808c6f7
+204067fb
+6808c6f7
+2040681d
+7046f602
+20608000
+7046f601
+20600000
+204033c4
+2022c316
+204002ec
+20203dcb
+d8400002
+da200aaa
+da400062
+202065d1
+d8400002
+da200a9a
+da400062
+202033c8
+680246d3
+c30f0151
+68008abd
+2fec0003
+24208151
+204000f7
+20400114
+6800c71f
+6000c71e
+6800c6f5
+c3828000
+c3830000
+680246d3
+c4088000
+68008abd
+2020048b
+df200002
+d8c04bcf
+20407fe7
+5800ffff
+e8c90000
+98467c00
+2442ffe9
+c200015e
+20600000
+58000172
+60014cd8
+5800008d
+600141ed
+58000196
+600141f5
+58000181
+600141f3
+580001c2
+600141eb
+580001d1
+600141fd
+58003d36
+60014201
+20600000
+20404401
+6801469f
+207a0000
+2020006f
+6800c6f5
+c3838000
+70417200
+70480f1e
+20600000
+70480c01
+70480d02
+20600000
+20405814
+7047a201
+20200110
+20407e34
+20203ee0
+6808c6e7
+20400274
+6808c6e7
+2040681d
+20208194
+2040027d
+6800c6b6
+c1000000
+7046b600
+6800c77a
+1fe0fe01
+1fe17e03
+6000c77a
+1fe0fe02
+60014b14
+2040023d
+20203d74
+2040027d
+20203d62
+1a627e00
+c01c819b
+c01d01b0
+c01e01c0
+2020417d
+20400101
+70478b01
+d8e00003
+204043d2
+58000000
+60014707
+7046a700
+6800c6e0
+1fe67c05
+2042c039
+2442c05d
+204001ad
+204001a9
+202065d1
+da204bcf
+da40005b
+d8400004
+20600000
+6800cc5e
+6000c1de
+20600000
+204001cd
+704ce700
+204001ad
+204004cc
+6800c87f
+c28001bd
+7041bd00
+20404316
+df200003
+d8c04722
+2040015c
+203401bd
+202000d9
+7047a301
+7047a428
+20600000
+20400101
+20203f8d
+78347c00
+68120138
+79347e1a
+6012004c
+20402c21
+204001cd
+204074bd
+20404482
+20403e9f
+20403ebf
+20200231
+6800cb09
+207a0000
+704b0900
+20200114
+204001e0
+204001e7
+204001db
+2040020b
+204001f1
+20400183
+20404234
+20404237
+2040423a
+202001ee
+da60480d
+da4001de
+2020336d
+70480c00
+20600000
+da604810
+da4001e3
+2020336d
+5836ee80
+6001cbd6
+70480e01
+20600000
+da60480f
+da4001ea
+2020336d
+6800c7cb
+6000c172
+70480e01
+20600000
+da6046c6
+da403d60
+2020336d
+6800c6f5
+c2824394
+6800c685
+6000c6da
+6800c6db
+c1008000
+7046db01
+d8e00009
+204043d2
+202043ca
+7047a428
+204001fe
+202043b0
+da6046da
+da400201
+2020336d
+204001cd
+68014682
+2feffe0b
+2040c2d4
+68014682
+2feffe07
+2040c392
+d8e00009
+204043ce
+202043b8
+6800c7a3
+207a0000
+6800c7a4
+203a0212
+1fe0ffff
+6000c7a4
+20600000
+7047a300
+2020340a
+6800cb12
+1fe0ffff
+6000cb12
+247a0000
+6800cb13
+6000cb12
+6800cb15
+203a0220
+6800cb14
+203a0227
+1fe0ffff
+6000cb14
+6800cb0e
+c000822b
+c0000224
+20600000
+704b0e01
+6808cb0d
+20206829
+704b1700
+704b1200
+704b1400
+704b1500
+6800cb14
+243a022f
+704b0c00
+704b0f00
+704b1000
+704b0e00
+6808cb0d
+20206825
+704b1201
+704b1305
+704b1500
+704b1401
+704b0c01
+704b0f01
+20600000
+6800cb17
+247a0000
+20200228
+704b1201
+704b1303
+704b1501
+20200237
+78547c00
+58000000
+6003469b
+20400282
+20404079
+2040407e
+20400249
+20203f9f
+2040024b
+2020409a
+da200000
+20400256
+2040025c
+20400262
+20400252
+1a227e00
+20600000
+6800c6e5
+c17f8000
+20400268
+2020026e
+6808c6e2
+2040027d
+6808c6e2
+2040681d
+7920a200
+20600000
+6808c6e3
+2040027d
+6808c6e3
+2040681d
+7920a201
+20600000
+6808c6e4
+2040027d
+6808c6e4
+2040681d
+7920a202
+20600000
+6808c6e5
+20400274
+6808c6e5
+2040681d
+7d20a203
+2020027d
+6808c6e6
+20400274
+6808c6e6
+2040681d
+7d20a204
+2020027d
+793f8407
+d8a08078
+20406830
+79200407
+d8a0807c
+20406830
+793f8407
+d8a08070
+20206830
+79200407
+d8a08078
+20406830
+793f8407
+20200278
+6800c239
+c1800000
+6800c6e0
+c000028d
+c000828d
+c001028d
+c001828d
+c0020295
+c002c010
+c003028d
+2020028d
+20403fc0
+78547c00
+6800c6f5
+c303bfe7
+6808c6f3
+2040681d
+24608000
+20203fe7
+20403fc0
+6800c6f5
+c303bfc8
+6808c6f3
+2040681d
+24608000
+20203fc8
+2040424a
+6800c6e0
+c002bdaa
+c00202dd
+c00302c6
+c00382b6
+20203d81
+6800c77a
+1fe67c01
+204282ac
+6800c77a
+c00002ae
+c00082b0
+c00102b2
+c00182b4
+202002b2
+70477a02
+20600000
+70488001
+20203d8a
+70488001
+20203d8a
+70488002
+20203d8c
+70488003
+20203d8e
+6800c77a
+1fe67c01
+204282cf
+6800c77a
+c00002d5
+c00102d7
+c00182da
+202002d7
+70477a02
+20600000
+6800c78f
+20203dbe
+6800c78d
+20203dbe
+6800c78e
+20203dbe
+6800c77a
+1fe67c01
+204282cf
+6800c77a
+c00002d1
+c00082d5
+c00102d7
+c00182da
+202002d7
+70477a02
+20600000
+70488001
+6800c77f
+1fe0ffff
+20203dbe
+6800c78d
+20203dbe
+70488002
+6800c78e
+20203dbe
+70488003
+6800c78f
+20203dbe
+6800c77a
+1fe67c01
+204282ac
+6800c77a
+c0003d9d
+c000bd9b
+c0013d9f
+c001bda1
+20203d9f
+7047a300
+7047a400
+c51302ea
+2020426d
+204004cc
+2020426d
+204068a2
+6801421d
+203a02f1
+600147c8
+20200310
+58001122
+600147c8
+202002f0
+204001ad
+7047a200
+68014682
+c2858302
+680246d3
+c30c0302
+20400314
+680947c8
+18408401
+600947c8
+600944a1
+20400310
+180a7e00
+6000c4a0
+20403418
+68014687
+600146ac
+70016d06
+58000000
+600146b0
+600146ae
+d8e00007
+204043ce
+204043ca
+6800c092
+2feffe01
+20408318
+202042c4
+d8400002
+da2047c8
+da40005f
+202065d1
+d8400002
+da2047c8
+da40005f
+202065df
+7047a500
+204000e6
+58000005
+e0c08000
+20207df4
+58000000
+600146ac
+20400110
+202042cb
+68108077
+1fe17efd
+60108077
+68188073
+18418402
+60188073
+204063ee
+184104fd
+2000000d
+204063f2
+60188073
+20600000
+204068a8
+680240a0
+60024bde
+20600000
+704cdd01
+704cdf00
+6800cba8
+1fe17e07
+6000cba8
+20600000
+6800cba8
+79207e04
+6000cba8
+6000cb63
+20600000
+6800cba8
+793ffe04
+6000cba8
+20600000
+20400408
+6800ccde
+c0008345
+c0010349
+20600000
+704cdf02
+704cdb00
+704cdd00
+20200333
+704cdc00
+20200346
+68014bad
+1fe0fe01
+60014bad
+c28503f6
+6800ccdc
+c0008354
+704cdc01
+6800ccdc
+c0808333
+6800ccda
+1fe0fe01
+6000ccda
+c002035b
+20400578
+704bec02
+202003b3
+20400408
+704cda00
+20200333
+704cdf02
+704cdd01
+704cdc00
+20200333
+6800ccde
+c001835f
+6800cba8
+2fec0004
+20208331
+6800ccde
+c000835e
+c001035f
+20600000
+6800cbb7
+c1ff8000
+20400370
+24560378
+20600000
+78567c00
+6800ccdd
+c1808000
+6800ccdf
+c1800000
+704cde01
+704bec04
+20207feb
+6800ccdf
+203a0380
+1fe0ffff
+6000ccdf
+704cde02
+20400578
+704bec04
+20600000
+704cde03
+6800ccdc
+243a0352
+20400578
+704bec02
+20600000
+6800cbb7
+c0ff844f
+2040038c
+20400566
+704bac01
+20600000
+68014cd8
+20407f9c
+20340392
+6803cb44
+207a0000
+20207fe7
+204003ab
+704bd300
+1a20fe01
+6000cba7
+20400333
+6000cb43
+e8a88000
+ea408000
+9841fe00
+e0a08000
+1a40a401
+df200002
+ea410000
+e0a10000
+1a40a402
+c200039e
+d8a04b49
+df200002
+ea408000
+e8a88000
+9840fe00
+e0a08000
+1a40a401
+c20003a4
+20600000
+6800c6f5
+c3838000
+6800c80e
+c1808000
+58000000
+6000c80e
+6002469b
+20200110
+704bb000
+d9600d00
+34730200
+204003cf
+6800cbe3
+c1008000
+242c03de
+243783de
+204003ca
+204003fa
+20400404
+6800cba6
+1fe0fe01
+6000cba6
+6800cbb7
+c0ff83cd
+20400362
+58000000
+60014bad
+6000cbaf
+6000ccdb
+704bac00
+20600000
+df200004
+d8a04b43
+20207ec6
+20400401
+2020046a
+7857fc00
+204005e0
+6800cbe3
+c00083dc
+18002a00
+68024bcf
+98001200
+68088017
+2040291f
+20402924
+2040059b
+205785d8
+20600000
+204005d8
+202003be
+6800cbaf
+1fe0fe01
+6000cbaf
+6800cbb7
+c0ff83f2
+6808cbb0
+18408401
+6008cbb0
+6800cbec
+98467e00
+243a03b4
+6800ccde
+c001834b
+6800ccdb
+1fe0fe01
+6000ccdb
+c0010340
+20400337
+704bec01
+202003b3
+6800cbaf
+c1ff8000
+704baf00
+202003f8
+58000000
+60014bad
+700a993a
+20207d86
+204004d5
+6800cba5
+207a0000
+98007200
+d8c04b23
+d8a04b85
+20207f01
+704ce301
+704ce000
+20600000
+6800cce0
+1fe0fe01
+6000cce0
+20600000
+6800cce0
+1fe67c02
+24410410
+6800cce0
+c1000000
+1fe0ffff
+6000cce0
+20600000
+704ce003
+20600000
+68014682
+c3858000
+c3838000
+c3830000
+da204c69
+20400547
+6008cce1
+280ffe26
+20408424
+24408428
+98467c00
+2421043c
+6800cce0
+1fe67c02
+2421042c
+6800cce0
+c000043d
+20600000
+58000082
+20600000
+58000077
+20600000
+58000080
+20600000
+58000075
+20600000
+6800cce0
+c1900000
+704ce000
+6808cce1
+280ffe26
+20408426
+2440842a
+98467c00
+24610000
+6800cce3
+c0000444
+1fe0ffff
+6000cce3
+c0000444
+7041de00
+20600000
+704ce000
+6800cce3
+c0010442
+1fe0fe01
+6000cce3
+c000843a
+7041de02
+20600000
+7041de04
+20600000
+79200026
+2040044a
+704bb701
+20600000
+7041de20
+704ba600
+704bb14e
+68024bb3
+20200558
+6800cbac
+c000ffe7
+6800cbb7
+c0008456
+c0010459
+c001845c
+20202a8c
+704bb711
+70119eaa
+2020045e
+704bb712
+70119e55
+2020045e
+704bb713
+70119e22
+6800cba8
+1fe17e07
+6000919f
+68024bde
+600211a0
+7011a400
+da20119e
+d8400007
+204004d0
+20400566
+2040038a
+20207fe7
+6800cbb7
+c17f8000
+c0088470
+c0090472
+c0098474
+20600000
+704bb702
+202003c4
+704bb703
+202003c4
+704bb7ff
+700a9939
+20407d86
+68024b87
+20400558
+202003c4
+79200026
+58000000
+60014bd4
+70480e00
+700a993c
+20407d86
+204003ca
+2020006f
+70119eff
+6800cba8
+6000919f
+68024bde
+600211a0
+d8400006
+da20119e
+204004d0
+20200566
+58000000
+600111be
+793f8026
+204004ae
+20400482
+58000000
+60014bd4
+20402afa
+200007d0
+68014bd4
+d8407788
+98467c00
+202283f8
+204003cf
+242c04a2
+243784a2
+204003fa
+204001ad
+68024bcf
+680a4bb3
+98467c00
+20228446
+2020047a
+68014bd4
+1fe0fe01
+60014bd4
+6800cce5
+1fe0fe01
+1fe17e03
+6000cce5
+c00004c6
+c00084c8
+c00104ca
+c00184c8
+20600000
+204001ad
+68024bde
+60024bcf
+680091be
+6000cbb2
+204004c4
+600891be
+20600000
+204001ad
+20400132
+2040015a
+203404bb
+202004c4
+7041de20
+58000f0f
+60014bcf
+e0a10000
+680091bf
+6000cbb2
+204004c4
+600891bf
+20600000
+20400559
+20200578
+204004ae
+20200492
+2040044a
+20200492
+204004bb
+20200492
+793f8026
+204053ce
+d8e00003
+202043d2
+6008cba7
+18427200
+d8a04b43
+1a220c00
+20207f01
+6800cb22
+1fe97e00
+6000cba5
+1fe0fe01
+d8c04b22
+98c08c00
+e8c18000
+6001cbe4
+6800cb22
+1fe37e00
+1fe17e03
+6000cbea
+20600000
+60088017
+1840a200
+20402981
+58000500
+20402a8f
+70890601
+7089003c
+708901e0
+2000000a
+70890201
+7089023d
+2000000a
+708903b7
+2000000a
+7089027d
+6800c1de
+c00004f8
+c0008500
+c0010508
+c0020510
+c0100522
+202004f8
+20400518
+70894bba
+708955d0
+708956e0
+70895788
+7089586c
+70895910
+2020294b
+2040051d
+70894bba
+708955d0
+708956e0
+70895788
+7089583c
+70895910
+2020294f
+2040051d
+70894bba
+708955d0
+708956e0
+70895788
+7089583c
+70895910
+20202953
+20400518
+70894bba
+708955d0
+708956c0
+70895788
+7089586c
+70895910
+2020295b
+70894c5b
+70894d96
+70894e2c
+70894f46
+20600000
+70894cfb
+70894def
+70894eec
+70894f5e
+20600000
+708956c2
+708955d0
+20600000
+18002a08
+202028fa
+20402978
+70804205
+20600000
+20407fe9
+680a4bc8
+1c427e00
+98467c00
+24412d18
+1fe22400
+68024bc8
+6808cbcc
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+60024bc8
+20207fe7
+204029bb
+207a0000
+6808cc61
+da200d9e
+20400540
+6008cc61
+20600000
+1a227e00
+98408a00
+68008018
+e0a08000
+18408401
+18410407
+20600000
+d8400000
+df200008
+1a220c00
+e8c08000
+98408400
+c200054a
+18497e00
+1fe20400
+c6930000
+1fe6fc0a
+20407f86
+1807fe00
+1ff27e00
+18070400
+98418400
+20600000
+20600000
+60024bcf
+da200000
+df200004
+d8c04bcf
+e8c08000
+9a20a200
+c200055c
+1a227e00
+60014c58
+6800cc58
+6808cc59
+9840fe00
+6000cc5a
+20600000
+6800cba7
+1fe0fe02
+6000cba9
+6800cba8
+6000cb63
+6800cba7
+1fe9fe00
+6808cba6
+18410403
+18438400
+9841fe00
+6808cbe3
+9840fe00
+e0a08000
+6800cba7
+98007200
+d8c04b43
+20207f01
+6808cbb2
+2040057c
+6008cbb2
+20600000
+20400580
+18408401
+18410403
+20600000
+6800cbcf
+1fe17e03
+1fefa204
+58004bb8
+9a20fe00
+98408c00
+e8c08000
+6000cbb1
+20600000
+7844fc00
+7843fc00
+58555555
+98001e00
+6800cbb1
+1fed8400
+79200401
+18431c00
+20600000
+204053c4
+68024bcf
+98001200
+20402918
+6808cbb1
+2040291f
+58000500
+20402a8f
+20402924
+20400589
+7857fc00
+7826fc00
+7830fc00
+78507c00
+78287c00
+68014baa
+98003600
+37c18400
+242c05dc
+7846fc00
+7825fc00
+7823fc00
+7824fc00
+204005d5
+6000cc5b
+6808cc5a
+98467c00
+242285d8
+204005d5
+6000cb21
+6800cbed
+1fe67c02
+202285b7
+6800cb21
+6808cba8
+a8400e00
+242085d8
+204005d5
+e0a08000
+1fe97e00
+1fe1721f
+202285bf
+204005d5
+e0a08000
+c20005bc
+18a22200
+204005d5
+6000cce2
+1a220a00
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e0a18000
+7845fc00
+202305d8
+7837fc00
+68008017
+1fe0a200
+20402981
+7846fc00
+20402918
+6800cce2
+1fe22200
+20400014
+20600000
+09800008
+19897e00
+20600000
+784dfc00
+7845fc00
+2040264d
+20600000
+202005d8
+20402918
+6808cbb1
+20202933
+204053c4
+68024bcf
+98001200
+20400589
+204005dd
+79202a00
+782efc00
+78307c00
+7850fc00
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+784efc00
+782dfc00
+7823fc00
+7824fc00
+6800cc5a
+08008608
+6800cba9
+98007200
+d8c04b63
+e8c08000
+08008608
+c20005f6
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+784dfc00
+20600000
+7047a607
+7047a704
+580047a6
+60014218
+20207e38
+da20469a
+20407e3d
+2054060a
+20600000
+6800c7c7
+1fe0fe01
+6000c7c7
+20600000
+da20469a
+20407e54
+20340612
+20600000
+20405652
+6800c7c7
+1fe67c01
+24415650
+6800c7c7
+207a0000
+1fe0ffff
+6000c7c7
+20203f90
Index: YJX_Only24g/main/output/romcode.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/romcode.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/romcode.rom	(working copy)
@@ -0,0 +1,24576 @@
+20402abc
+44804000
+20800000
+2040640d
+2040296c
+204065a3
+20402a96
+20404d6a
+4480c000
+20406a03
+20405cf6
+20407ccc
+204032d8
+2455e89c
+44814000
+2055b2e3
+2040756a
+2055ab41
+4481c000
+204076dc
+20407aaf
+2040756d
+2040535c
+44824000
+20402038
+204032ed
+2040208f
+204022f8
+2040236a
+20402021
+20402b6a
+20402c72
+20202012
+20402026
+c6848000
+793f8009
+20402223
+202053ce
+4482c000
+2040225e
+2422a02f
+2040220a
+1a208c01
+e8c08000
+c2805360
+c280a166
+202023cf
+2040222b
+1f227c00
+20628000
+2040220a
+68008030
+c281a0d3
+68008031
+c280a166
+202023cf
+6800c1ce
+207a0000
+c000a048
+c001204d
+c001a050
+c002a055
+c00da045
+20402257
+20628000
+2040225a
+20628000
+7041ce00
+20600000
+70049b1b
+7041ce00
+20600000
+7920001c
+793f801e
+70008fff
+70008d1f
+20202043
+793f801c
+18003600
+20202043
+2040225a
+20628000
+18000401
+70016e05
+2020205c
+44834000
+680341d0
+203a2043
+70468101
+70005503
+2020205b
+18000425
+4483c000
+680080f1
+203a2062
+1fe9fe00
+1ff27e00
+1fe0ffff
+6000c0a6
+600080f0
+70008e1f
+793f800c
+2040223b
+2422a083
+20402a6f
+60008077
+6008807c
+680341d0
+60030040
+44844001
+20407f15
+18007e00
+2841fe01
+7d20fe05
+79207e03
+60008030
+700a9903
+20407d86
+18007e00
+7920fe04
+6000804c
+58000000
+79207e01
+60008031
+7834fc00
+20402223
+7854fc00
+18000e03
+680140b9
+20407f08
+20202043
+4484c001
+680341d0
+60030040
+2841fe01
+2020a089
+20202043
+d8a00101
+df200008
+20407ec6
+700a9904
+20407d86
+20202043
+c68e0000
+18000e01
+20407f16
+7d3a001c
+243a2095
+20600000
+44854001
+680940bb
+18000e04
+2040271c
+20740000
+204028a4
+18004800
+20618000
+793f800b
+793f8000
+1c40c201
+280ffe1e
+7920c802
+2c200400
+2420a0be
+4485c001
+68008012
+1fe0fe01
+60008012
+204028d8
+204028d2
+204028f2
+20402a51
+20402a56
+20402a64
+2040264d
+204020b1
+2020209c
+44864001
+6800808d
+1fe0ffff
+6000808d
+20610000
+70008d1f
+6800808f
+1fe0ffff
+6000808f
+20610000
+7940001e
+70008fff
+20600000
+4486c001
+204028d8
+204028cc
+204028f2
+20402a5b
+204029eb
+20402a0d
+202c20c8
+204020b1
+2020209f
+44874001
+204029bb
+20402a6b
+2040251e
+793f8001
+c6858000
+4487c001
+68008013
+1fe0fe01
+60008013
+20600000
+44884002
+7834fc00
+78387c00
+680140b5
+203a20db
+18000e08
+20407f16
+247a0000
+4488c002
+680940b7
+18000e28
+2040271c
+20342114
+18000e03
+20407f16
+243a20f0
+6800804c
+c28220e6
+202020e9
+d8a00101
+df200008
+20407ec6
+44894002
+70003000
+20405cf7
+70468100
+700a9913
+20407d86
+20202114
+4489c002
+18001600
+34730200
+680080f2
+1fe0ffff
+9c42fe00
+2fe00600
+2420a0f0
+18827e00
+60008181
+18004c00
+18004800
+448a4002
+2021a114
+204028dc
+d9600600
+34730200
+448ac002
+680200f2
+98004200
+1fe0fe01
+600200f2
+280ffe0c
+7920c802
+2c200400
+2420a128
+6800800c
+1fe0fe01
+6000800c
+204028d2
+20402a51
+20402a56
+20402a64
+2040264d
+2040211a
+202020fc
+448b4002
+7854fc00
+680140b5
+207a0000
+18000e08
+20207f08
+448bc002
+6800808e
+1fe0ffff
+6000808e
+20610000
+70008e1f
+680080f0
+1fe0ffff
+600080f0
+20610000
+7940000c
+6800c0a6
+600080f0
+20600000
+448c4003
+204028cc
+20402a5b
+204029eb
+20402a0d
+202c2130
+2040211a
+20202101
+2040264d
+6800800d
+1fe0fe01
+6000800d
+18003600
+680200f2
+448cc003
+20402a4f
+204028dc
+1cc0cc01
+1c2143fd
+1c8149fc
+204028d2
+20402a51
+20402a56
+20402a64
+1c427e00
+60020161
+18000800
+18000202
+20402a6b
+20402766
+448d4003
+20402a4d
+1c21c202
+1c8149fc
+204028cc
+20402a5b
+204029eb
+20402a0d
+204c264d
+202c2155
+68008010
+203a20fc
+1fe0ffff
+60008010
+20202136
+448dc003
+6800800e
+1fe0fe01
+6000800e
+20402435
+204022f2
+202c215f
+20402455
+243a215a
+202020fc
+448e4003
+68008030
+793ffe03
+60008030
+20402440
+7854fc00
+20600000
+448ec003
+7834fc00
+78387c00
+204021e1
+20740000
+20402c69
+20402a4f
+1c40c201
+204028e2
+18004803
+20406cc2
+20402489
+204028d2
+20402a51
+20402a56
+20402a64
+20402762
+448f4003
+20405d08
+204022e4
+2436a180
+20402a88
+20402728
+6800800f
+1fe0fe01
+6000800f
+448fc003
+20406caa
+2040218b
+24748000
+204026f3
+243a2188
+7854fc00
+20600000
+20402489
+204022da
+20202177
+2036a18e
+20402a7f
+2021219c
+204021a7
+2434219c
+6800804c
+c4020000
+c3818000
+6800804b
+c3818000
+204021ae
+247a0000
+6800816e
+1fe0ffff
+6000816e
+247a0000
+20206006
+44904004
+2040245d
+7854fc00
+6800804c
+c28221a2
+20600000
+6800804c
+c3818000
+d8a00101
+df200008
+20207ec6
+4490c004
+78347c00
+6800804b
+c4018000
+204021ae
+247a0000
+20207fe9
+68008072
+1fe0ffff
+60008072
+20600000
+44914004
+68008030
+c283a1bb
+680089b5
+203a21bb
+7009b500
+700a9918
+20407d86
+202021bb
+4491c004
+20402254
+68008030
+79207e07
+60008030
+7041bd01
+68008055
+c08b21c3
+20600000
+7009b501
+68008030
+793ffe07
+60008030
+20600000
+44924004
+78547c00
+68010032
+d840ffff
+98467c00
+24628000
+68020034
+203821d3
+9d067e00
+202021d4
+9c467e00
+1fe67c04
+24610000
+18007e00
+60010032
+20207fe7
+1fe20400
+4492c004
+600a0034
+70455b01
+5800ffff
+60010032
+70007301
+20600000
+44934004
+204021c9
+24740000
+78547c00
+70001120
+793f800b
+20402a4f
+204022e6
+c505a1f4
+20402455
+243a21e7
+4493c004
+78547c00
+1c427e00
+600240ca
+78387c00
+7834fc00
+700a992a
+20207d86
+44944005
+20402a4d
+d8200010
+204022dc
+78587c00
+7854fc00
+20402818
+20402435
+4494c005
+2040247c
+2036a202
+20402455
+243a21fc
+202021ec
+68008031
+793ffe01
+60008031
+20402a88
+20402841
+78347c00
+700a992b
+20207d86
+44954005
+79200009
+1a227e00
+6001001e
+18007250
+d8a0043f
+1a208c01
+e8c08000
+1a220c00
+c2807f01
+d8a00030
+20407f01
+78577c00
+68008077
+98000800
+70008a01
+2034a21c
+70008a01
+68008030
+c4008000
+68008073
+6000808a
+68008074
+6000808b
+20600000
+4495c005
+6801001e
+98000a00
+18007250
+d8c0043f
+203b7f01
+d8c00030
+20207f01
+df200001
+68088015
+18408401
+2841fe01
+2420a231
+d8400000
+60088015
+184ffe50
+da204040
+9a20a200
+ea208000
+c280a239
+c3800000
+c3818000
+c200222d
+20600000
+44964005
+da60226a
+20402261
+24628000
+1a227e00
+6001001e
+18007c00
+20600000
+20402725
+2020a24b
+6801001e
+1fe08a17
+68008047
+e0a08000
+da6022aa
+20202261
+68008047
+2feffe03
+2020a250
+18007c01
+20600000
+18007c00
+20600000
+da6022a7
+20202261
+6809001e
+da6022cf
+20202261
+6808c1cf
+da602275
+20202261
+4496c005
+680b41d0
+da60226e
+20202261
+da60227b
+20202261
+da6022c6
+44974005
+da204040
+df200001
+ea208000
+1a627a00
+1a20a250
+c2002264
+18007c01
+20600000
+c2802266
+c281a266
+18007c00
+20600000
+c281a270
+c3002266
+1a208c10
+e8c30000
+98467c00
+20628000
+20202266
+c3002266
+1a208c16
+e8c08000
+98467c00
+20628000
+20202266
+c300a266
+204022b3
+20402297
+98467e00
+1fe0fe01
+20212291
+18c22400
+60048aa2
+6800c4c0
+243a2289
+68048aa2
+1a420c00
+1fe0fe05
+2020228c
+68048aa2
+1a420c00
+1fe0fe14
+24212266
+18424200
+204022bf
+18007c00
+20600000
+98002400
+1a208c02
+e8c10000
+203a228d
+204022bf
+2020227c
+1ff11600
+196c9600
+2022a2a1
+29601e0f
+24608000
+18511600
+196c9600
+24628000
+7920041c
+20600000
+18511600
+196c9600
+29601e0f
+24608000
+79207e1c
+20600000
+c3002266
+18007c00
+20600000
+c3002266
+1a208c01
+e8c08000
+c2802266
+1a208c17
+e8c08000
+c301a266
+18007c00
+20600000
+1a208c01
+e8c88000
+1c427e00
+284ffe01
+1a208c04
+e8ca0000
+20608000
+1a208c08
+e8c30000
+20402854
+1d027e00
+20600000
+1a208c02
+1a208a04
+e8c10000
+98409600
+19627e00
+e0a20000
+20205449
+c300a266
+204022b3
+9b60fe00
+9b60fe00
+98e0fe00
+98467c00
+24212266
+18007c00
+20600000
+c3002266
+18427e00
+9a267c00
+203f2266
+1a208c01
+e8c08000
+c2802266
+ea208000
+793ffe07
+e2208000
+20202266
+4497c005
+20402a4f
+1c40c201
+204028e2
+18004803
+204028d2
+20402a51
+20402a56
+20402a64
+20202762
+44984006
+20402a4d
+1c40c201
+204028e2
+18004803
+204028cc
+2040242a
+204029f1
+20402a5b
+204029eb
+20402a0d
+246c0000
+204029bb
+2020251c
+4498c006
+68008181
+98000800
+18000201
+204022da
+202022e4
+6800c093
+c4000000
+18000e04
+20407f16
+247a0000
+680940ad
+18000e04
+2040271c
+20740000
+20402308
+18000e04
+680140af
+242c7f08
+180a7e00
+9ea17e00
+20207f08
+44994006
+70018100
+78587c00
+78577c00
+204028a4
+1c4143fc
+18004801
+204028d8
+204028cc
+7940001d
+68008006
+1fe0fe01
+60008006
+204028f2
+204029eb
+20402a14
+246c0000
+4499c006
+18003600
+204028f9
+68008007
+1fe0fe01
+60008007
+204028d8
+20402a4d
+1c21c202
+18004801
+204028d2
+204028f2
+20402a51
+20402a5f
+1c427e00
+60020161
+20402a64
+18000202
+18000800
+20402a6b
+20402766
+20402332
+1c2143fd
+1cc0cc01
+20600000
+449a4006
+6800c0d1
+207a0000
+d8a0018e
+6800c515
+1fe27200
+1fe0fe01
+e0a08000
+18a20400
+1fe0fe01
+600141dc
+18420a00
+58000009
+e0a08000
+d8c04516
+20407f01
+da60458d
+df200004
+20402354
+da604577
+df200001
+20402354
+1800020a
+7041db02
+5800018e
+6001016f
+20402a4d
+204028d2
+20402a51
+20402a5f
+20402a64
+20402a6b
+20402766
+20600000
+18a20400
+1a620c00
+e8c08000
+207a0000
+1fe3fe00
+c2002358
+1fe22200
+1fe0fe02
+1fe20e00
+680141dc
+98e0fe00
+600141dc
+18420a00
+1a227e00
+1fe0fe01
+e0a08000
+1a620c00
+e8c08000
+e8c08000
+e0a08000
+1a227200
+20207f01
+6800c093
+c4008000
+18000e05
+20407f16
+247a0000
+680940b1
+18000e28
+2040271c
+20740000
+18000800
+70001008
+793f800b
+2040237a
+18000e05
+680140b3
+20207f08
+449ac006
+78587c00
+204028a4
+68008008
+1fe0fe01
+60008008
+18004c00
+204028e2
+1c40c201
+18004802
+449b4006
+204028cc
+204029eb
+20402a14
+246c0000
+204028f9
+68008009
+1fe0fe01
+60008009
+18003600
+20402a4d
+1c21c202
+18004801
+204028d2
+20402a51
+20402a5f
+20402a64
+2040264d
+18000800
+d9600600
+35330200
+1d01d003
+1c2143fd
+449bc006
+1cc0cc01
+204028cc
+204029eb
+20402a07
+242c23a4
+20402a6b
+2040251e
+c505a3ab
+449c4007
+68008010
+207a0000
+1fe0ffff
+60008010
+20402a4f
+2020239b
+449cc007
+793fd001
+79205000
+6800800a
+1fe0fe01
+6000800a
+20402a4d
+1c21c202
+204028d2
+20402a51
+20402a5f
+20402a64
+2040264d
+2d000603
+2020a3bc
+37cb8200
+202023b8
+68020165
+1fe1fe03
+1fe25000
+449d4007
+68030178
+60030040
+20402435
+2040247c
+2036a3c8
+20402455
+243a23c3
+20600000
+449dc007
+20402440
+2040223b
+24628000
+70003100
+20402841
+20202223
+449e4007
+20402850
+204023f3
+20740000
+449ec007
+20402c69
+20406caa
+20402514
+2436a3e2
+20402a88
+20406cc2
+20402489
+20402757
+20402728
+20405d08
+6800800b
+1fe0fe01
+6000800b
+20402841
+449f4007
+20402bb1
+20402a7f
+202123eb
+204021a7
+243423eb
+204026f3
+243a23d3
+20600000
+449fc007
+70015100
+70017f00
+2040245d
+793f8011
+20407fb0
+68008030
+20600000
+44a04008
+204021c9
+24740000
+18820400
+20402a6f
+60008181
+18420800
+70001120
+44a0c008
+20402a4f
+18000202
+2040274f
+1c427e00
+60020161
+20402762
+20402a4d
+7837fc00
+204024f6
+202c240d
+204028f9
+20402455
+243a23fb
+c6820000
+70007c34
+79200003
+20600000
+78387c00
+20402435
+204028a4
+44a14008
+204022f2
+202c2419
+20402455
+243a2410
+78587c00
+1d027e00
+600240ca
+20600000
+7834fc00
+c582241f
+793f8004
+70007c03
+70007d33
+204062f8
+18827e00
+60008077
+18007e00
+60030038
+68008031
+79207e01
+60008031
+20402a88
+7854fc00
+78347c00
+20600000
+44a1c008
+7856fc00
+793f8005
+793f800a
+793f8010
+793f800f
+68008047
+793ffe05
+79207e04
+60008047
+20600000
+44a24008
+70001120
+70004750
+680140bf
+6001003e
+1c427e00
+600240ca
+20780000
+1d027e00
+600240ca
+20600000
+44a2c008
+20405d04
+20402459
+60008046
+58000000
+6001025d
+58001c80
+60010051
+68008030
+79207e00
+60008030
+70004b00
+70004c00
+7000a000
+20202a88
+44a34008
+18007e00
+600441be
+e0a40000
+204021c5
+20202254
+68008011
+1fe0ffff
+60008011
+20600000
+6800c0cf
+1fe0fe01
+6000c0cf
+20600000
+44a3c008
+6800c1ce
+c001a462
+68008048
+c080a466
+20404d06
+2422a466
+204021a4
+7041ce00
+44a44009
+204033af
+204026e9
+700a9902
+20407d86
+20405cf7
+20404d6b
+2040757d
+68008030
+793ffe00
+60008030
+70468100
+6800804c
+2fe18000
+2020a476
+793f8001
+68008047
+c301a478
+6800804b
+c4030000
+793f8002
+20600000
+44a4c009
+68008174
+207a0000
+1fe20800
+20402514
+24768000
+18000200
+20402757
+18827e00
+60008077
+18007e00
+60008174
+20600000
+44a54009
+68008030
+c3012496
+18000207
+c583a495
+20402725
+2420a496
+20372496
+204024c1
+58000002
+600140c8
+20600000
+24770000
+44a5c009
+20402243
+2422a4a7
+68008047
+c301a4b0
+c502a4b4
+6800817f
+c28324ba
+680140c8
+1fe0ffff
+600140c8
+203a24a5
+6800c0c5
+98000200
+20600000
+44a64009
+20402687
+20402725
+2020a4b0
+2040600a
+203424be
+6800804b
+c28324c0
+c502a4b4
+6800817f
+c28324ba
+18000201
+20748000
+18000200
+20600000
+44a6c009
+68008019
+98000200
+c1808000
+18000200
+20600000
+68008158
+1fe1020f
+79200005
+20600000
+18000213
+202024c1
+204024ca
+44a74009
+68088047
+79200403
+60088047
+18227e00
+6000c0c5
+5800ffff
+600140c8
+20600000
+44a7c009
+6800804c
+2feffe05
+680141dc
+2020a4e0
+18000203
+1fe67c11
+20610000
+18000204
+1fe67c1b
+20610000
+1800020a
+1fe67c79
+20610000
+1800020b
+1fe67cb7
+20610000
+1800020e
+1fe67ce0
+20610000
+1800020f
+20600000
+18000203
+1fe67c11
+20610000
+18000204
+1fe67c36
+20610000
+1800020a
+d840016f
+98467c00
+24610000
+1800020e
+d84002a7
+98467c00
+24610000
+1800020f
+20600000
+68008030
+c300a4f5
+68010032
+203a24f5
+243724f7
+20402a4f
+1d00c201
+78287c00
+6801003e
+1fe37e00
+d8400500
+9840fe00
+20402a24
+204028ea
+18004803
+204028cc
+2040242a
+204029f1
+44a8400a
+6801003e
+1fe37e00
+20402a24
+204029eb
+7826fc00
+6801003e
+d84003bb
+9840b600
+37c18400
+1b420400
+600b009a
+7846fc00
+246c0000
+dd2003bb
+1c225000
+2035ab05
+20600000
+44a8c00a
+204024f0
+242c28f9
+204029bb
+c588a51c
+680100f6
+1fe0fe01
+600100f6
+1c230400
+18419c40
+44a9400a
+7823fc00
+78257c00
+7825fc00
+09800003
+198cfe00
+6000815d
+09800004
+08008007
+19827e00
+60008019
+09800003
+198cfe00
+6000815e
+68008019
+1fe67c03
+20212533
+c003a533
+6800804c
+2feffe05
+7920aa01
+44a9c00a
+09800008
+7845fc00
+78457c00
+20232631
+c588a53c
+680100f8
+1fe0fe01
+600100f8
+44aa400a
+6800815d
+2fe00e00
+7920800a
+2020a54c
+a8800e00
+2020a54b
+c583a64d
+680880b0
+a8400e00
+2420a64d
+68008047
+793ffe05
+79207e04
+60008047
+7836fc00
+44aac00a
+68008019
+1fe20200
+c505255b
+6808815e
+68008047
+793ffe00
+284ffe00
+7920fe00
+284ffe01
+7920fe01
+60008047
+284c0001
+2020a55b
+20402687
+44ab400a
+d8400000
+20402a1c
+18217e0f
+c000a587
+c000264d
+c0012659
+6808815e
+68008047
+a8400800
+2420a569
+c5852568
+c303a569
+7920000f
+44abc00a
+18227e00
+c001a589
+c002258d
+c003a578
+c004258c
+d8400004
+20402a1c
+c0052588
+c005a58b
+d8400008
+20402a1c
+c0072588
+c007a58b
+20600000
+44ac400b
+7826fc00
+7824fc00
+78277c00
+d8a000d1
+1800721e
+09800008
+19897e00
+e0a08000
+c200257e
+c583a64d
+09800010
+7d230008
+2023263d
+20202620
+2020264d
+79200010
+78267c00
+2020258e
+79200010
+79202a02
+7826fc00
+44acc00b
+c500a64d
+2aac0001
+2020a59a
+7843fc00
+7826fc00
+78467c00
+1c409602
+34530400
+242c263d
+79200010
+7823fc00
+44ad400b
+78277c00
+7824fc00
+09800003
+198cfe00
+60008180
+09800005
+c50825a5
+19897200
+1f297200
+202025a8
+09800005
+19837200
+09800003
+44adc00b
+1f227e00
+6001015f
+203a25e8
+9ea67c00
+2021263d
+44ae400b
+793f8000
+68008180
+1fe17e03
+d8a00551
+c001a5ba
+c508a5e4
+68008180
+1fe17e03
+c00125bf
+c000a5d3
+2020263d
+6801015f
+1fe67c70
+2421263d
+c507a620
+202025e4
+44aec00b
+c507a620
+6801015f
+d84002e0
+98467c00
+2021263d
+68008263
+c30025c9
+c300a5ce
+2020264d
+70026101
+6801025d
+c080264d
+d8a01000
+202025e4
+70026102
+6801025f
+c080264d
+d8a01400
+202025e4
+44af400b
+c507a620
+6801015f
+d84002e0
+98467c00
+2021263d
+68008261
+c000a5dd
+c00125e1
+2020264d
+d8a01000
+6801025d
+98a08a00
+202025e4
+d8a01400
+6801025f
+98a08a00
+09800008
+19897e00
+e0a08000
+c20025e4
+44afc00b
+09800010
+20232637
+6800c363
+c000a64d
+c508a60d
+c507a64a
+68008180
+2fe00603
+2020a60d
+6801015f
+203a260d
+44b0400c
+68008261
+c000a5f9
+c0012603
+20202a8c
+6801025d
+6809015f
+9840fe00
+6001025d
+c0002a8c
+68091000
+18408404
+98467c00
+2042a747
+2020260d
+6801025f
+6809015f
+9840fe00
+6001025f
+c0002a8c
+68091400
+18408404
+98467c00
+2042a74b
+2020260d
+44b0c00c
+6808804c
+68008180
+2fe00603
+79208406
+7d208407
+6008804c
+2420a616
+79200001
+c588a620
+284ffe06
+2020a620
+680100fa
+1fe0fe01
+600100fa
+79200005
+793f8407
+793f8001
+6008804c
+44b1400c
+6808815e
+68008047
+79207e05
+284ffe02
+7920fe02
+280ffe0a
+7920fe07
+60008047
+6801015f
+243a264d
+6800804c
+793ffe07
+6000804c
+68008180
+2fe00e01
+2020264d
+44b1c00c
+7856fc00
+6801001a
+1fe0fe01
+6001001a
+2020264d
+6801001c
+1fe0fe01
+6001001c
+2040263e
+c588a63d
+79200005
+2020264d
+44b2400c
+68008180
+2fe00603
+2420a646
+6808804c
+793f8406
+6008804c
+20600000
+6808804c
+793f8407
+6008804c
+20204c0b
+68008047
+79207e05
+60008047
+44b2c00c
+784efc00
+784e7c00
+7846fc00
+78467c00
+7844fc00
+78477c00
+7843fc00
+2030a8f9
+37d38200
+20000064
+202028f9
+44b3400c
+7824fc00
+78267c00
+09800048
+2feffe3a
+79208000
+1c020400
+57e04000
+57e03c00
+782afc00
+380bffff
+380cffff
+20000020
+29a80000
+1d827e00
+60018178
+1da27e00
+6000817b
+18424000
+2020a66e
+2020263d
+44b3c00c
+09800048
+57e03e00
+57e00800
+57e05c00
+57e02400
+18007e00
+09800010
+2023263d
+5ffffffc
+9a417e00
+60020165
+1ba27e00
+60018175
+1b827e00
+60008173
+18827e00
+60008174
+1dc27e00
+6001017c
+1c227e00
+08008220
+28201e02
+7920800b
+2020264d
+44b4400d
+68008047
+c4018000
+793ffe03
+79407e06
+60008047
+6800c0c5
+c009a69c
+c1038000
+6800804b
+c4030000
+793ffe06
+79207e07
+6000804b
+793f8002
+68014246
+247a0000
+6800804b
+793ffe07
+6000804b
+2020525d
+44b4c00d
+680084b7
+1fe37e00
+c008a6b8
+c00926c0
+c00c26e9
+c03fa6a8
+c1818000
+680084b8
+c015a6b0
+c008a6ab
+20600000
+680084b8
+79207e07
+20600000
+20748000
+68008030
+c3820000
+70007c31
+20600000
+20748000
+68008031
+2feffe04
+2020a6b5
+20600000
+793ffe04
+60008031
+20600000
+44b5400d
+6800804c
+79207e02
+6000804c
+70801101
+68008030
+2feffe04
+20600000
+44b5c00d
+6800804c
+793ffe02
+6000804c
+70801100
+20600000
+44b6400d
+1c427e00
+6002420c
+1c40a203
+2034a6cc
+1d00a203
+68090032
+1a227e00
+793ffe1b
+9846fc00
+68010075
+20407f86
+18072600
+9a667e00
+202126d6
+9840fe00
+9a20fe00
+60020034
+70455b00
+68008030
+79207e01
+60008030
+68008073
+6000808a
+58000000
+6001c169
+6001c16c
+6000c159
+700a990b
+20407d86
+680140c1
+6001003e
+24748000
+18808fff
+20600000
+44b6c00d
+68008030
+c4008000
+793ffe01
+60008030
+680140bf
+6001003e
+7855fc00
+700a990c
+20207d86
+44b7400d
+78377c00
+68008030
+c280a700
+c6088000
+68008047
+c3818000
+68008048
+247a0000
+6800804b
+c3830000
+18007e00
+20600000
+c301270f
+6800808a
+c0012706
+68008047
+c281a718
+c5842718
+2434a718
+68008048
+243a2718
+680080ef
+1fe0ffff
+600080ef
+243a26fe
+7000ef10
+20202718
+6800808a
+c080a718
+6800808b
+203a2718
+1fe0ffff
+6000808b
+68008047
+c3818000
+24768000
+6800808a
+1fe0ffff
+6000808a
+20600000
+44b7c00d
+78487c00
+18423600
+20402260
+78547c00
+24628000
+18003600
+78347c00
+20600000
+6800c158
+a881fe00
+20600000
+44b8400e
+793f8001
+70026a00
+68008263
+207a0000
+2feffe00
+d8c01000
+2040cd79
+44b8c00e
+6800826a
+c000a73b
+70026a00
+68008263
+c4008000
+d8c01400
+20404d79
+6800826a
+c000a741
+20600000
+68008263
+793ffe00
+60008263
+58000000
+6001025d
+20600000
+68008263
+793ffe01
+60008263
+58000000
+6001025f
+20600000
+68008263
+79207e00
+60008263
+20600000
+68008263
+79207e01
+60008263
+20600000
+44b9400e
+1d00c201
+204028ea
+18004803
+204028d2
+20402a51
+20402a5f
+20202a64
+44b9c00e
+20402a4d
+1d027e00
+680a40ca
+98467e00
+c1808000
+28203e00
+2420a761
+68008019
+207a0000
+2040274f
+28203e10
+2020a64d
+1c230400
+18419c40
+44ba400e
+7823fc00
+78257c00
+782dfc00
+793f8010
+18827e00
+08008603
+18227e00
+08008604
+68008047
+08008004
+08008603
+78247c00
+08008608
+784dfc00
+78447c00
+78457c00
+793faa02
+d8400000
+20402a1c
+44bac00e
+18217e1f
+c009a7b4
+c000264d
+c000a64d
+c0012797
+c001a7c5
+c00227cb
+c003a78c
+c00427ca
+d8400004
+20402a1c
+c00527c7
+c005a7cd
+d8400008
+20402a1c
+c007a7cd
+202027c7
+44bb400e
+782efc00
+7824fc00
+78277c00
+1800721e
+d8c000b3
+e8c08000
+08008608
+c2002792
+c503a7f7
+2020264d
+44bbc00e
+68008181
+1fe20800
+68008090
+1fe23800
+6801c0aa
+1fe23a00
+680140a4
+1fe25c00
+7824fc00
+782e7c00
+1c022200
+204028e2
+782afc00
+20000020
+1c221600
+68020161
+1fe24200
+53c07e00
+79207e3a
+08008648
+53e07e00
+08008648
+19624200
+1a224000
+78247c00
+08008610
+78447c00
+2020264d
+44bc400f
+78277c00
+7824fc00
+782e7c00
+680084b6
+1fe105f8
+d8c004b6
+18408408
+1840a7b8
+242127c2
+e8c48000
+08008648
+1a620400
+202027bc
+e8c48000
+08418600
+202027f7
+782e7c00
+202027d0
+782e7c00
+79200010
+202027d0
+79202a02
+782efc00
+202027d0
+79202a02
+782efc00
+79200010
+44bcc00f
+6800804c
+c302a7e5
+18267c03
+202127e5
+78477c00
+784e7c00
+782efc00
+7843fc00
+79202a01
+2aaffe02
+2020a7df
+580abeee
+08008614
+202027e3
+585faeba
+08008618
+58000012
+08008606
+7823fc00
+79200010
+78277c00
+7824fc00
+c502a800
+6800c1db
+08008603
+680141dc
+98007200
+c50827ef
+08008605
+202027f0
+0800860d
+1f227e00
+203a27f7
+6801016f
+98000c00
+e8c08000
+08008608
+c20027f4
+78247c00
+08008610
+78447c00
+204024c1
+6800804c
+c302a64d
+18007e00
+08008606
+2020264d
+44bd400f
+c5082808
+68008180
+08008603
+6800815f
+98002600
+08008605
+2020280d
+68008180
+08008603
+6801015f
+98002600
+0800860d
+d8c00551
+1a627c00
+2022a814
+e8c08000
+08008608
+1a60a7ff
+2020280e
+680100fc
+1fe0fe01
+600100fc
+202027f7
+68020165
+1fe0a207
+68010171
+243a281e
+1a20a3fd
+20202826
+1feffe0c
+68190040
+18408401
+98467e00
+24212825
+1a20a3ff
+20202821
+1fe67e00
+37d18200
+2c400600
+2420a826
+98005200
+1a225000
+98005200
+20600000
+44bdc00f
+37d10200
+1b427e00
+98000c00
+1ff17e00
+9c467200
+1f217203
+2422a837
+18007e00
+2020283b
+d8400ea6
+18007e00
+9840fe00
+c2002839
+98c0fe00
+1fe6fc0c
+20407f86
+1807fe00
+60010171
+20600000
+44be400f
+1b427e00
+1b220400
+98467c00
+7d217e2c
+98460400
+58000ea6
+284c000f
+2020a84c
+5fff0ea6
+98408400
+600b0447
+207b0000
+600b0038
+20600000
+78587c00
+68030447
+203b2854
+68030038
+9b20e000
+1e00e00a
+58000ea6
+9e067e00
+2fec000f
+2020a85e
+5800f15a
+9e00e000
+1e023400
+20600000
+18007c00
+2020285c
+44bec00f
+20402918
+1c227e00
+1fe17f80
+2c800e03
+2420a869
+1fe97e00
+9ae0fe00
+2020286a
+1ae27e00
+1fe6fc4f
+782afc00
+20407f86
+18072200
+1a2085d8
+20212872
+1a238400
+20202874
+18438400
+18408401
+44bf400f
+68008031
+c301a885
+680240d2
+9c267c00
+20212885
+204028a4
+6800c0d9
+207a0000
+68008031
+79207e02
+60008031
+6802c0e7
+6002c0da
+e8c28000
+6002c0df
+204028a9
+68008031
+c4010000
+2c2ffe01
+2020a8a1
+18492200
+18410e07
+580040da
+9a20a200
+ea208000
+afec0000
+2020a892
+18427e00
+2020289e
+6800c0e4
+98002400
+1c227e00
+1fe17f80
+1fe97e00
+9ae0fe00
+9a46fc00
+580040f2
+20407f86
+18072200
+9a208c00
+e8c08000
+6000c0e5
+98000400
+20600000
+6800c0e5
+98000400
+20600000
+68008031
+793ffe02
+793ffe03
+60008031
+20600000
+44bfc00f
+d8a040f2
+1800720a
+20407ec6
+d8a040f2
+18002600
+18000e02
+6802c0da
+98000400
+28e1fe02
+2020a8b5
+18430400
+284c0000
+2020a8b9
+1a627e00
+e0a08000
+184b0400
+1a60a602
+2a61fc28
+2420a8c2
+6802c0df
+98000400
+28e1fe02
+2020a8c2
+18430400
+1a667c4e
+202128b5
+18002601
+18e08fff
+2422a8b0
+da2040f2
+18a27e00
+9a267e00
+6000c0e4
+20600000
+44c04010
+20402860
+6800817f
+c302a8d1
+680884cc
+2020291f
+44c0c010
+20402860
+6800817f
+c30228d7
+680884cb
+20202933
+18005a00
+6801c0a7
+98005800
+20600000
+44c14010
+6800c1d3
+1fe25a00
+6801c1d0
+1fe25800
+20600000
+44c1c010
+680140a4
+1fe25c00
+6800c0a3
+1fe25a00
+6801c0a0
+1fe25800
+20600000
+44c24010
+68010044
+1fe25c00
+68008043
+1fe25a00
+68018040
+1fe25800
+20600000
+c51028f5
+c68e8000
+c68f8000
+1d815900
+782afc00
+20000020
+20600000
+44c2c010
+2030a90a
+708955d4
+20000004
+708955d2
+20000004
+708955d1
+20000004
+6800c1de
+c0002908
+c000a915
+c0012908
+c001a915
+c0022915
+c0102915
+708955d0
+708956e0
+18002a00
+7850fc00
+78507c00
+782f7c00
+70890200
+70890100
+70890000
+70890300
+70890470
+70890600
+20600000
+708955d0
+708956c0
+2020290a
+44c34010
+70890200
+70890100
+70890018
+708903a7
+7089047f
+20600000
+44c3c010
+60088017
+1840a204
+70896d07
+20202981
+44c44011
+708901cf
+2000000a
+708900ff
+708903af
+708904ff
+2000000a
+708902a0
+20600000
+6800c1e0
+203a2931
+1840a202
+20600000
+1840a200
+20600000
+44c4c011
+60088017
+2040292d
+20402981
+58000500
+20402a8f
+70890601
+7089003c
+708901e0
+70896d12
+2000000a
+70890201
+7089023d
+2000000a
+708903b7
+2000000a
+7089027f
+6800c1de
+c000294b
+c000a94f
+c0012953
+c001a957
+c002295b
+c010295f
+708956f0
+20402965
+708955d8
+20600000
+708956df
+20402965
+708955df
+20600000
+708956ff
+20402965
+708955df
+20600000
+708956ce
+20402965
+708955d8
+20600000
+708956cb
+20402965
+708955d8
+20600000
+708955d0
+708956c0
+7089574c
+7089586c
+70895950
+20600000
+20000004
+708955d1
+20000004
+708955d2
+20000004
+708955d4
+20600000
+70804206
+680140c3
+c307296d
+98000c00
+d8408900
+e8c08000
+c07fa977
+98418a00
+e8c08000
+e0a08000
+20202971
+44c54011
+20402be5
+204029c9
+580007d0
+9c40fe00
+60020169
+79202a03
+18002a00
+2455a998
+202029ab
+44c5c011
+58000960
+9a208400
+6800c0bd
+70895f04
+984ffe00
+6808c0be
+9846fc00
+20407f86
+1807a200
+18077e00
+1ff07e00
+1ff27e00
+9846fc00
+20407f86
+1807fe00
+1fed7e00
+1fe3fe00
+9a21fe00
+60120960
+70895f44
+70895fc4
+20600000
+44c64011
+70890602
+5803d090
+20402a8f
+7089007f
+20000082
+70895230
+708901d0
+70895270
+708952f0
+18007232
+68108980
+c282a9a6
+c20029a3
+6000c0ce
+70890100
+70890000
+70890600
+20600000
+44c6c011
+6800c0ce
+79207e05
+60108952
+68188950
+18410407
+1fe9fe00
+9841fe00
+60108950
+68108951
+793ffe00
+60108951
+68108952
+793ffe05
+60108952
+20600000
+44c74011
+68110981
+1ff1fe00
+1fe97e00
+1fe67e00
+1fe17eff
+1fe6fc0a
+20407f86
+1807fe00
+1ff27e00
+18070400
+9841fe00
+60008018
+20600000
+70804206
+6810896b
+793ffe04
+793ffe05
+6010896b
+70890500
+70890400
+70890470
+708905ff
+6810896b
+79207e04
+79207e05
+6010896b
+204029e9
+68108968
+79207e07
+60108968
+793ffe07
+60108968
+79207e07
+60108968
+70804205
+20000001
+70804204
+6810896b
+1fe17ecf
+6010896b
+1fe1fe30
+6010896b
+20600000
+58000f0f
+20202c18
+5800080f
+20202c18
+44c7c011
+20402924
+78507c00
+7830fc00
+782b7c00
+20600000
+44c84012
+6800804c
+2feffe02
+7920fe00
+60108011
+d8c00062
+e8c48000
+98006400
+e8c38000
+98006600
+68008054
+1fe0e9ff
+782d7c00
+20600000
+1b427e00
+6003009a
+7846fc00
+242c28f9
+dd2003bb
+1d00d001
+1d0151fc
+20600000
+7826fc00
+37cb8400
+202c29ff
+2d000402
+2420aa08
+202029ff
+44c8c012
+d9600600
+7826fc00
+34730400
+7846fc00
+242c28f9
+20600000
+44c94012
+7826fc00
+37c18400
+7846fc00
+242c28f9
+dd2003bb
+1d0151fc
+20600000
+44c9c012
+98002200
+1c227e00
+98409600
+19627e00
+600240ca
+1a227e00
+20600000
+1fe20400
+44ca4012
+18427e00
+20407f50
+1c307e00
+79207e2c
+20407f39
+793ffe2c
+20402a77
+20407f39
+20740000
+20407f43
+98003600
+37c18200
+20600000
+44cac012
+20382a38
+35330200
+1d020400
+20202a3b
+20372a3a
+34730200
+1c420400
+20342a47
+28400601
+2420aa33
+44cb4012
+68008030
+c4000000
+680240ca
+98467e00
+24610000
+1fe67cff
+20212a33
+20600000
+28400603
+2420aa33
+20202a3e
+44cbc012
+d9600600
+20202a33
+78547c00
+20202a4a
+78347c00
+20202a4a
+44cc4013
+204029f1
+7850fc00
+78307c00
+20600000
+44ccc013
+d9600e43
+34730200
+782b7c00
+20600000
+44cd4013
+d9600d00
+34730200
+20600000
+44cdc013
+d9600e43
+35330200
+782b7c00
+20600000
+44ce4013
+51207e00
+782efc00
+79202a00
+08008648
+784efc00
+20600000
+1ca20400
+18418460
+18421c00
+20600000
+44cec013
+6800c090
+1fe0fe01
+c083aa74
+18007e01
+6000c090
+98000800
+20600000
+1b220400
+20748000
+1b420400
+20600000
+1c427e00
+20748000
+1d027e00
+20600000
+44cf4013
+680a004d
+20402a7b
+98461600
+19627e00
+68090051
+18438400
+98467e00
+20600000
+44cfc013
+20402a7b
+6002004d
+20600000
+44d04014
+20202a8c
+20202a8e
+207a0000
+1fe37e00
+1fe0fffd
+1fe0ffff
+2422aa92
+18007e00
+20600000
+df200010
+d8a00000
+20407ec6
+d8a0043f
+df20000a
+20407ec6
+7009b200
+700a9900
+70048c00
+70017f00
+7004d100
+44d0c014
+70016d00
+70015100
+70015c00
+589e8b33
+6001c0a7
+58000153
+60010083
+7000851e
+70008601
+70008807
+5812e904
+60018080
+70009060
+7040d005
+70001402
+6800c65a
+245a74c1
+6800c4be
+245a7518
+44d14014
+20758000
+58000000
+600141dc
+1c437e00
+60024094
+20600000
+5800ee21
+60110050
+6812011c
+60020abe
+6810813e
+60008abd
+c301e45b
+7835fc00
+c303aacc
+7855fc00
+1ce27e00
+243a2acc
+6810813b
+c2812acc
+d85fffff
+20202b3c
+6811813c
+6011804c
+e8c08000
+1fe1feef
+e0a08000
+20402c23
+6810804f
+79207e04
+6010804f
+20402c23
+2055aadf
+6810804e
+793ffe03
+6010804e
+20402c23
+2435e45b
+c6958000
+70800608
+20600000
+6800c198
+60108086
+6801c18d
+60118080
+68024181
+60120074
+6802417d
+60120070
+68044185
+60140078
+68044190
+98000000
+68140140
+600400a1
+204064ca
+20600000
+18027e00
+60044190
+68140070
+6004417d
+e8c40000
+e0a40000
+68118080
+6001c18d
+68108086
+6000c198
+20202c29
+68108063
+243a2b00
+6801c16f
+247a0000
+708063c0
+70800680
+6810812d
+c4008000
+68118149
+6001c16f
+20600000
+44d1c014
+1b427e00
+20407f37
+680a415f
+18467cff
+20610000
+1fed7e00
+1ff27e00
+9846fc00
+20407f86
+1807fe00
+d84000c8
+20407f91
+60008099
+24342b15
+1fe67e00
+6809c16f
+9840fe00
+6001c16f
+58000000
+6002415f
+20600000
+6800c177
+79207e02
+6000c177
+20202b23
+d85fffff
+6800c176
+793ffe07
+6000c176
+44d24014
+20402c29
+6800c157
+6000c17c
+6800c17a
+79207e07
+6000c17a
+44d2c014
+204029e7
+6802415f
+9840fe00
+6002415f
+20402aef
+6802c178
+6012004c
+1fef2200
+37d98200
+1b227e00
+60034163
+70800502
+37d98200
+37d98200
+1a227e00
+6010804f
+70800502
+37d98200
+37d98200
+601a004c
+70800510
+37df8200
+44d34014
+58000000
+1ce27c00
+2022ab4c
+6810813c
+6818813d
+98467c00
+20212b4a
+18427e00
+9ce67e00
+1fe0fe01
+1fe0fe08
+37d98200
+9e20fe00
+680a415b
+9840fe00
+6809c16f
+984ffe00
+1fecfe00
+1ff1fe00
+1fe0fe6e
+d8400ea6
+9846fc00
+20407f86
+1807fe00
+1ff07e00
+18070400
+9841fe00
+680b4163
+20407f2c
+18423200
+68034048
+20402854
+1b427e00
+60030a9a
+1ce27e00
+e0a08000
+6810811d
+1fe1fef0
+e0a08000
+20600000
+44d3c014
+20402afa
+6801c16f
+207a0000
+6800c091
+207a0000
+6800c65a
+203a2b74
+6800c5b1
+207a0000
+6800c4c0
+247a0000
+20402c3a
+247a0000
+6800c040
+2fe00e03
+2420ab9d
+68014042
+207a0000
+20758000
+44d44015
+680880a0
+68014042
+984ffe00
+18518400
+184b0400
+98467e00
+680a4044
+9840fe00
+6808c156
+98467e00
+1ff06000
+44d4c015
+6801404e
+1fe37e00
+20407f50
+1e027e00
+20407f39
+1b420400
+20407f37
+20740000
+20407f49
+44d54015
+6800c178
+98467c00
+20212b18
+600a415b
+20403328
+204052fb
+680a415b
+20202b2a
+44d5c015
+6800c040
+c3800000
+c3818000
+6800c65a
+203a2ba5
+6800c5b1
+207a0000
+44d64015
+6800c36e
+243a2baa
+6800c093
+207a0000
+68014154
+207a0000
+6808c156
+98467e00
+d8401d4c
+984ffe00
+20202b93
+44d6c015
+7855fc00
+68008030
+c4008000
+2436abd0
+20402bcb
+680140c1
+6001003e
+68008047
+c281abde
+c586abde
+20405274
+243a2bde
+6800c55c
+c280abde
+7000a000
+c586abde
+6800c174
+203a2be2
+1fe0ffff
+6000c174
+20600000
+d8e00001
+202060cd
+d8e00001
+202060d1
+70415900
+6801c169
+1fe0fe01
+6001c169
+20600000
+44d74015
+680940c1
+18430400
+6801003e
+9840fe00
+6001003e
+7000a000
+6801c16c
+1fe0fe01
+6001c16c
+6800c159
+1fe0fe01
+6000c159
+20600000
+7000a000
+6800c173
+6000c174
+20600000
+6808c172
+600880a0
+20600000
+44d7c015
+6800c178
+247a0000
+70804206
+58000f0c
+20402c18
+58030d40
+20402a8f
+37d98200
+1e226000
+204029e7
+70804204
+2000000a
+37d98200
+1e227e00
+9e067e00
+1fe0fe30
+d84000ff
+20407f91
+6000c178
+20007530
+20007530
+20007530
+20600000
+6800c178
+247a0000
+708044ff
+70804206
+204029e7
+580003e8
+9e20e000
+07e00000
+1e227e00
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+20002ee0
+9e067e00
+1fe0fe30
+d84000ff
+20407f91
+6000c178
+20007530
+20007530
+20007530
+20600000
+d8a00fff
+98a10a00
+6800c175
+1fe17ef0
+1fed7e00
+98a1fe00
+6011004c
+e8c10000
+e0a10000
+58000001
+20202c24
+58000002
+37d98200
+60108005
+37d98200
+37d98200
+20600000
+44d84016
+680200a1
+6012004c
+58000004
+20402c24
+680200a5
+6012004c
+58000008
+20202c24
+68014152
+f9207e00
+60014152
+20600000
+68014152
+f93ffe00
+60014152
+20600000
+44d8c016
+20403326
+68014152
+1fe22200
+6800804c
+2feffe06
+7920a20b
+68008078
+6808807c
+9840fe00
+68088048
+9840fe00
+7d3a220a
+6800c4ff
+7d3a2201
+6801025d
+6809025f
+9840fe00
+7d3a220d
+68044668
+7d3a220f
+68044670
+7d3a220e
+6800c1ce
+7d3a2208
+6800c092
+2fe1fe0a
+2040ac5b
+5ffffff8
+9a212200
+1a227e00
+60014152
+20600000
+68110112
+7d3a2206
+6811010e
+7d3a2205
+20600000
+68120138
+793ffe1b
+6012004c
+20402c21
+20202a8c
+6812013c
+793ffe14
+6012004c
+20202c23
+68014150
+c2802a8c
+20600000
+68014150
+c280aa8c
+20600000
+68014150
+c2812a8c
+20600000
+44d94016
+20402c7a
+1a60a4cd
+ea408000
+c1000000
+c000ad06
+c0012c7f
+20600000
+68094241
+18422600
+20600000
+20402f3d
+2020307d
+20403084
+2040305a
+2040305e
+202030a2
+20403231
+5800004e
+2040322f
+204032ba
+1a60a292
+ea220000
+2020322c
+20402c7a
+1a60a491
+ea488000
+20402c90
+1a608a91
+20202e56
+20402c94
+18408401
+18410403
+20600000
+1a60a4ae
+ea408000
+1fe17e03
+1fefa204
+1a60fe97
+9a20fe00
+98408c00
+e8c08000
+2020322f
+2040326c
+2040666a
+580007e2
+da200aa2
+d8400004
+204066b3
+2040666d
+68020aa2
+20403227
+247a0000
+680240a0
+20203227
+20403241
+58000000
+2040323f
+2040323a
+1fe17e07
+2020323c
+2040323a
+79207e04
+2040323c
+20203235
+2040325d
+c000acb7
+c0012cbc
+20600000
+2040323e
+1a608ad1
+204032d6
+20403242
+20202cac
+2040325a
+20202cb8
+1a60a28c
+ea208000
+1fe0fe01
+1a608a8c
+e0a08000
+c0102dd2
+20403258
+c000acca
+58000001
+2040325b
+20403258
+c080acac
+1a60a2d3
+ea208000
+1fe0fe01
+20402cd5
+c0022cd2
+20402c8a
+20402d04
+20202d8f
+20402cd4
+20202cac
+58000000
+1a608ad3
+202032b4
+2040323e
+2040325a
+20403241
+20202cac
+2040325d
+c001acd8
+2040323a
+2fec0004
+2020aca9
+2040325d
+c000acd7
+c0012cd8
+20600000
+20403253
+c1ff8000
+20402ce9
+24562cf4
+20600000
+78567c00
+1a60a2ce
+ea208000
+c1808000
+1a60a2d0
+ea208000
+c1800000
+58000001
+20402cfd
+20403237
+20207feb
+1a60a2d0
+ea208000
+203a2cff
+1fe0ffff
+2040323f
+58000002
+20402cfd
+20402c8a
+20203237
+1a608ad2
+202032b4
+58000003
+20402cfd
+20403258
+243a2cc8
+20402c8a
+58000002
+20203238
+c6930000
+79200027
+44d9c016
+1a60a28e
+ea208000
+c000ad0f
+2040306a
+24342d16
+20402d1b
+1a608a8e
+204032d6
+20402d2c
+24342d7d
+20402ce4
+20402d8f
+20402e7a
+793f8027
+20600000
+20628000
+79207e1c
+20600000
+1a60a2c2
+ea208000
+1fe0fe01
+1a608ac2
+e0a08000
+c0022d23
+c002ad27
+20600000
+1a60a2ad
+ea208000
+1a608aab
+202032b4
+1a608ac2
+204032d6
+1a60a2ac
+ea208000
+20202d25
+20403253
+c0ffaeb1
+44da4016
+20402d3a
+24342d36
+20402d53
+20402e71
+58000001
+1a608a8b
+202032b4
+1a60a28b
+ea208000
+c000ffe7
+20600000
+1a6084d8
+e8410000
+20407f9c
+24740000
+1a227e00
+60008aae
+1a608ab2
+204032d6
+20402cac
+6000919e
+68008aae
+1fe22200
+1a208401
+d8a0119f
+1a227200
+1a420c00
+20407f01
+da20119e
+c6938000
+1a608a86
+e0a88000
+18427200
+1a608a22
+1a220c00
+20207f01
+1a60a286
+ea208000
+1fe0fe02
+1a608a88
+e0a08000
+2040323a
+20403235
+1a60a286
+ea208000
+1fe9fe00
+1a60a285
+ea288000
+18410403
+18438400
+9841fe00
+1a60a2c3
+ea288000
+9840fe00
+e0a08000
+1a60a286
+ea208000
+98007200
+1a608c22
+20207f01
+2040324f
+2040325a
+20402e6d
+20402cac
+6000919e
+20402d77
+2040323a
+79207e03
+2040323c
+20402d53
+20402d33
+20202d14
+6000919f
+20403224
+600211a0
+d8400006
+da20119e
+20202d4c
+1a60a2b2
+ea208000
+203a2d6b
+1a60a2da
+ea210000
+20207f9c
+20402c7a
+20402afa
+6801c16f
+207a0000
+1a6084dc
+e8410000
+20407f9c
+1a6084b6
+e8440000
+20407f49
+600a415b
+20202b2a
+20402c7a
+1a608a8f
+204032d6
+20402da4
+242c2dae
+2437adae
+20402dd6
+20402e75
+20402c7a
+1a60a285
+ea208000
+1fe0fe01
+20403232
+20403253
+c0ffaed0
+20402cdb
+58000000
+1a608a8c
+e0a10000
+58000000
+20202d34
+7857fc00
+20402df7
+20402c7a
+1a60a2c3
+ea208000
+c000adac
+20402e11
+20202e45
+20402e45
+20202d97
+44dac016
+1a60a28d
+ea208000
+1fe0fe01
+1a608a8d
+e0a08000
+20403253
+c0ffadcc
+1a60a28f
+ea288000
+18408401
+1a608a8f
+e0a88000
+1a60a2cc
+ea208000
+98467e00
+243a2d92
+44db4016
+2040325d
+c001acbe
+1a60a2d1
+ea208000
+1fe0fe01
+1a608ad1
+e0a08000
+c0012cb3
+20402caf
+58000001
+20403238
+20202d8f
+1a60a28d
+ea208000
+c1ff8000
+1a608a8d
+204032d6
+20202dd4
+1a608a8c
+204032d6
+700a993a
+20207d86
+20402dde
+1a60a284
+ea208000
+207a0000
+98007200
+1a608c02
+1a608a64
+20207f01
+2040325f
+1fe97e00
+1a608a84
+e0a08000
+1fe0fe01
+1a608c01
+98c08c00
+e8c18000
+1a608ac4
+e0a18000
+2040325f
+1fe37e00
+1fe17e03
+1a608aca
+e0a08000
+20600000
+7844fc00
+7843fc00
+58555555
+98001e00
+20600000
+20402918
+1a60a290
+ea288000
+20202933
+20402dee
+20402df3
+79202a00
+782efc00
+78307c00
+7850fc00
+204053c4
+2040322a
+98001200
+08008620
+7824fc00
+1a60a288
+ea208000
+98007200
+1a608c42
+e8c08000
+08008608
+c2002e06
+78247c00
+08008618
+78447c00
+37d38200
+44dbc016
+20000064
+784efc00
+20600000
+7857fc00
+18002a00
+1a60a290
+ea288000
+2040291f
+20402924
+20402dee
+7826fc00
+7830fc00
+78507c00
+204053c4
+2040322a
+98001200
+78287c00
+1a60a289
+ea210000
+98003600
+37c18400
+242c2e4d
+7824fc00
+09800008
+19897e00
+1a608a00
+e0a08000
+1a60a2cd
+ea208000
+c0012e33
+44dc4017
+1a60a200
+ea208000
+1a60a287
+ea288000
+a8400e00
+2420ae45
+09800008
+19897e00
+e0a08000
+1fe97e00
+1fe1721f
+2022ae3d
+09800008
+19897e00
+e0a08000
+c2002e39
+09800018
+1fef7e00
+1ff17e00
+e0a18000
+20232e45
+7837fc00
+7846fc00
+20600000
+784efc00
+7846fc00
+7844fc00
+7843fc00
+2030a8f9
+37d38200
+20000064
+202028f9
+20402e4f
+20202e45
+204029bb
+207a0000
+1a60a2ea
+ea288000
+da200d9e
+20402e58
+1a608aea
+e0a88000
+20600000
+da4000ff
+20202e5a
+1a227e00
+98408a00
+68008018
+e0a08000
+18408401
+1a427e00
+98410400
+20600000
+d8400000
+1a220c00
+e8c08000
+98408400
+c2002e64
+184c8400
+20600000
+20402c7a
+20402e9f
+58000001
+20403272
+58000000
+20402e73
+e0a08000
+20600000
+20403270
+1fe0fe01
+1a608afc
+202032b4
+1a60a2fd
+ea208000
+1fe0fe01
+1a608afd
+202032b4
+44dcc017
+20403270
+1fe67c7c
+20610000
+1a60a2fd
+ea288000
+98460400
+20402e6d
+58000102
+9a60a200
+ea208000
+98467c00
+24212e8d
+58000103
+9a60a200
+ea208000
+98467c00
+20212e99
+20600000
+1a60a2fe
+ea208000
+c0012e93
+1fe0fe01
+20403272
+c000ae9f
+5800000a
+204032b0
+58000000
+204032b2
+1a60a2ff
+20202ea5
+1a60a2fe
+ea208000
+c0002ea7
+1fe0ffff
+20403272
+c0002ea7
+58000005
+204032b0
+58000000
+204032b2
+58000100
+9a60a200
+ea208000
+2020326a
+58000002
+204032b0
+58000000
+204032b2
+58000101
+20202ea4
+79200026
+20402c83
+58000001
+20203256
+1a60a28b
+ea208000
+c000ffe7
+20403253
+c000aeb9
+c0012ebd
+c001aec1
+20202a8c
+58000011
+20403256
+70119eaa
+20202ec4
+58000012
+20403256
+70119e55
+20202ec4
+58000013
+20403256
+70119e22
+2040323a
+1fe17e07
+6000919f
+20403224
+600211a0
+7011a400
+da20119e
+d8400007
+20402d4c
+20402d53
+20402d33
+20207fe7
+20403253
+c17f8000
+c008aed6
+c0092ed9
+c009aedc
+20600000
+58000002
+20403256
+20202d9f
+58000003
+20403256
+20202d9f
+580000ff
+20403256
+700a9939
+20407d86
+1a60a266
+ea220000
+2040322c
+20202d9f
+793f8026
+20402f08
+20402f22
+20403263
+200007d0
+20403261
+c07fadd4
+20402da4
+242c2efa
+2437aefa
+20402dd6
+20402c7a
+1a60a292
+ea2a0000
+204030be
+2022aead
+20402c7a
+1a60a266
+ea220000
+c0002ee7
+2040322c
+20202f1c
+20403261
+1fe0fe01
+20403264
+20402f04
+1fe0fe01
+1fe17e01
+20402f06
+c0002f0c
+c000af0e
+20600000
+5800018b
+202032d0
+da20018b
+202032b3
+20403267
+20403224
+2040322c
+20202c8a
+20402f08
+20202ee8
+20402c83
+20202ee8
+793f8026
+20402c8a
+20403253
+c1ff8000
+20402f22
+20403263
+200007d0
+20403261
+c07fadd4
+20402da4
+242c2f27
+2437af27
+79200026
+20403263
+580000ff
+20403256
+700a993c
+20207d86
+79200027
+70119eff
+2040323a
+20402d77
+20202d53
+20403261
+1fe0fe01
+20403264
+20402c8a
+20202f16
+20403267
+580000ff
+20403256
+20202f10
+44dd4017
+20402c7a
+580031b0
+1a608ade
+e0a10000
+20402f3d
+204048ea
+204032b6
+44ddc017
+c0003055
+c000af45
+c007af41
+20202a8c
+2040326c
+df200080
+d8a00d9e
+20207ec6
+20402f4c
+20402f4f
+204048d3
+20202f42
+44de4017
+20402f4c
+20402f4f
+20402fbd
+204048d3
+20403019
+20202f47
+20403291
+20403296
+20203299
+2040328f
+c1800000
+20402f55
+20402f65
+2040316b
+20202f96
+20403294
+c3800000
+79207e00
+20403297
+20403267
+20403299
+700d3800
+2040324f
+20402f61
+1a608a00
+df200042
+20207ed4
+20403231
+2040327d
+2040322c
+20202c8a
+44dec017
+2040324c
+c000af8d
+20403245
+c000ac8a
+58000136
+9a60a200
+ea2a0000
+1c427e00
+98467c00
+24412d18
+1fe22400
+58000136
+9a60a200
+ea220000
+1fe20400
+5800013a
+9a60a200
+18427e00
+ea288000
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+58000136
+9a608a00
+e0a20000
+20402c8a
+20403278
+1fe0fe01
+2040327b
+c1810000
+2040327a
+2020324f
+1c427e00
+da200136
+204032bf
+e0a20000
+2020327a
+da200d9e
+20402f94
+1a608aeb
+e0a88000
+18467c50
+24610000
+20202c8a
+df200100
+20202e62
+20402f99
+20402fa5
+20202fb1
+58000180
+204032d0
+207a0000
+d8e0000b
+20407f16
+247a0000
+204032a7
+58000001
+60008d54
+58000000
+e0a38000
+202031b8
+5800017e
+204032d0
+207a0000
+d8e0000e
+20407f16
+247a0000
+204032aa
+d8a00d64
+df200002
+20407ec6
+700d6400
+202031ed
+5800017f
+204032d0
+207a0000
+d8e0000c
+20407f16
+247a0000
+204032ad
+d8a00d74
+df200002
+20407ec6
+700d7403
+20203207
+2040328f
+c1808000
+20402fc1
+20202fcb
+20403294
+c3808000
+79207e01
+20403297
+2040329c
+20402c83
+58000000
+da200106
+204032bf
+202032c5
+2040316e
+2437af5e
+1a608c00
+58000109
+9a608a00
+df200008
+20407f01
+5800010b
+204032d0
+c0552fd9
+c02aafed
+c0113001
+c07fb212
+20202f5e
+204032bd
+c000afdd
+c0012fe8
+20600000
+58000001
+20402ff7
+58000001
+20403289
+58000080
+da200130
+204032b3
+2040327d
+da200131
+204032bf
+2020322d
+58000001
+20402fff
+58000002
+20403289
+20202fe1
+204032bd
+c000aff1
+c0012ff9
+20600000
+20402fdf
+58000106
+204032d0
+c000aff6
+20600000
+58000002
+da200106
+202032b3
+20402fea
+58000107
+204032d0
+c000affe
+20600000
+58000002
+da200107
+202032b3
+204032bd
+c000b005
+c0013011
+20600000
+58000106
+204032d0
+c0013009
+20600000
+2040328b
+1fe1fe01
+2040328d
+58000000
+58000106
+9a608a00
+e0a10000
+20202f5e
+58000107
+204032d0
+c0803015
+20600000
+2040328b
+1fe1fe02
+2040328d
+2020300c
+68008d50
+207a0000
+700d5000
+68010d4e
+d84002ba
+98467c00
+24628000
+68008cb6
+c1dd0000
+68008cb7
+44df4017
+c050303b
+c050b02c
+c0533041
+c053b043
+c054b049
+c058304d
+700d4200
+20600000
+68008cb8
+c000b031
+c0423034
+c053b039
+2020302a
+2040328b
+60008cf7
+2020303f
+20403291
+20403296
+2040328b
+60008cf7
+2020303f
+700cf7a1
+2020303f
+68008cb8
+c040b03e
+2020302a
+20403090
+700d4201
+20600000
+700cf715
+2020303f
+2040328f
+c0003047
+c000b039
+20600000
+700cf7a0
+2020303f
+700cf700
+700cf800
+700cf901
+2020303f
+2040329c
+68008cb8
+1fe0fe02
+1fe27200
+d8c00cb6
+5800013c
+9a608a00
+20207f01
+44dfc017
+2040307d
+20402c7f
+204048d3
+20203057
+2040328f
+c1800000
+20402f51
+20203098
+2040328f
+c1808000
+20402fc1
+20402fcb
+2040328b
+207a0000
+20403286
+20402f4c
+20403093
+58000000
+1a608aa7
+2020322d
+20407fe9
+1a60a2a7
+ea2a0000
+1c427e00
+98467c00
+24412d18
+1fe22400
+1a60a2a7
+ea220000
+1a60a2ab
+ea288000
+98408400
+1a427e00
+98467c00
+24610000
+793ffe1c
+1a608aa7
+e0a20000
+20207fe7
+58000001
+20403287
+20403283
+580000ff
+1a608aab
+e0a08000
+20203067
+5800015c
+204032d0
+207a0000
+2040306a
+24740000
+20403281
+1fe0fe01
+1fe17e01
+20403284
+c0002f4c
+c000b090
+20600000
+58000001
+20403292
+20203296
+58000001
+204032a5
+58000280
+d8e00008
+20207f08
+204032a2
+207a0000
+d8e00008
+20407f16
+247a0000
+204032a4
+58000007
+20403292
+20403296
+20202f5e
+44e04018
+2040328f
+c1838000
+204030cb
+204030e0
+2040316e
+2437af5e
+204030bc
+2042b172
+20402f4c
+20403294
+79207e00
+20403297
+20402f5e
+20403093
+204030bc
+2022b0c1
+58000164
+204032d3
+204030be
+2022b0c5
+58000160
+204032d3
+204030be
+2022b0c8
+20600000
+5800012b
+204032d3
+2040322a
+98467c00
+20600000
+58000182
+204032d0
+1a608a91
+202032b4
+58000185
+204032d0
+202030c3
+58000188
+204032d0
+202030c3
+20403294
+c3838000
+79207e07
+20403297
+20403283
+2040329c
+58000000
+1a608af5
+e0a18000
+da200183
+204032bf
+e0a38000
+204030bc
+24628000
+1a60a291
+ea208000
+da200182
+204032b3
+1a60a290
+ea208000
+2020314a
+44e0c018
+20403281
+1fe0fe01
+1fe17e03
+20403284
+c000310e
+c000b132
+c00130ea
+c001b132
+20600000
+20402fdf
+58000160
+2040327e
+203a30e0
+2040322c
+58000189
+204032d0
+205a3108
+58000187
+204032d0
+2040322f
+1a60a2f7
+ea288000
+da200f9e
+20402e58
+1a608af7
+e0a88000
+20402f94
+1a608afa
+e0a88000
+18467c50
+24610000
+58000188
+20403275
+20402c90
+da200188
+204032c8
+e0a88000
+da200187
+202032b3
+58000001
+da200189
+204032b3
+d8400000
+20402c94
+20203106
+20402fea
+58000164
+2040327e
+203a30e0
+2040322c
+58000186
+204032d0
+205a312c
+58000184
+204032d0
+2040322f
+1a60a2f6
+ea288000
+da20109e
+20402e58
+1a608af6
+e0a88000
+20402f94
+1a608af9
+e0a88000
+18467c50
+24610000
+58000185
+20403275
+20402c90
+da200185
+204032c8
+e0a88000
+da200184
+202032b3
+58000001
+da200186
+204032b3
+d8400000
+20402c94
+2020312a
+20402fdf
+2040327d
+2040322c
+58000183
+204032d0
+205a314c
+2040314f
+1a60a2f5
+ea288000
+da200e9e
+20402e58
+1a608af5
+e0a88000
+20402f94
+1a608af8
+e0a88000
+18467c50
+24610000
+58000182
+20403275
+20402c90
+da200182
+204032c8
+e0a88000
+da200181
+202032b3
+58000001
+da200183
+204032b3
+58000181
+204032d0
+2020322f
+1a60a200
+ea208000
+2040323c
+20402dde
+2040325f
+2feffe00
+2020b15c
+2040315d
+20402d53
+20402df7
+20202e45
+44e14018
+1a608a86
+204032d6
+5800013b
+204032d0
+207a0000
+58000006
+1a608a86
+e0a08000
+df200006
+5800012f
+9a608c00
+1a608a22
+20207f01
+2040316e
+2437af5e
+20203172
+20402f5e
+20402e11
+24778000
+20203152
+44e1c018
+20403188
+24342f5e
+1a60a284
+ea208000
+203a2f5e
+1fe0fe02
+98007200
+1a608c00
+58000109
+9a608a00
+20407f01
+20403286
+204032b6
+205a3093
+5800010b
+204032d0
+c000b19e
+c00131c6
+c001b1f2
+c07fb212
+20202f5e
+20402c7a
+20407fe9
+1a60a2ca
+ea208000
+1a60a2cb
+ea288000
+98467c00
+2442ffe7
+1a60a2ca
+ea208000
+1a608acb
+e0a08000
+1a60a2c4
+ea218000
+1a60a2c7
+ea298000
+98467c00
+2442ffe7
+1a60a2c4
+ea218000
+1a608ac7
+202032c5
+20402f88
+2040324c
+60008aa2
+20403274
+68008aa2
+284ffe03
+7920fe00
+1a608ab2
+e0a08000
+c000b216
+20403245
+20403274
+284ffe04
+7920fe00
+20403249
+1a60a2de
+ea210000
+20207f9c
+58000001
+60008d54
+2040329e
+e0a38000
+2040329e
+245a31bd
+2040329e
+205a31c2
+700d5220
+68008d38
+79207e02
+60008d38
+20600000
+58000001
+204032a8
+58000140
+d8e0000b
+20207f08
+204032a7
+58000000
+d8e0000b
+20207f08
+20403274
+284ffe03
+2020b21b
+d8a00d64
+204031e0
+68040d64
+245a31e4
+68040d64
+205a31e9
+20402c7a
+68040d64
+da200168
+204032bf
+e0a40000
+58000170
+9a60a200
+ea2c0000
+98467c00
+2442b1ed
+58000168
+9a60a200
+ea240000
+da200170
+204032bf
+e0a40000
+20202f5e
+5800010b
+9a608c00
+df200009
+20207ff3
+58000001
+204032ab
+58000140
+d8e0000e
+20207f08
+204032aa
+58000000
+d8e0000e
+20207f08
+700d5110
+68008d38
+79207e01
+60008d38
+20600000
+d8a00d74
+204031e0
+68010d75
+245a3209
+68010d75
+205a320e
+20402c7a
+68018d74
+da200178
+204032c4
+5800017b
+9a60a200
+ea298000
+98467c00
+2442b207
+58000178
+9a60a200
+ea218000
+da20017b
+204032c4
+20202f5e
+700d5221
+202031b9
+58000001
+204032ae
+58000140
+d8e0000c
+20207f08
+204032ad
+58000000
+d8e0000c
+20207f08
+204032bd
+c000b216
+c001321b
+20600000
+5800010d
+2040327e
+da200160
+204032bf
+2020322d
+5800010d
+2040327e
+da200164
+204032bf
+2020322d
+20402c7a
+1a608acd
+e0a08000
+20600000
+20402c7a
+1a60a2be
+2020327f
+20402c7a
+1a608abe
+2020322d
+1a60a2ae
+2020327f
+1a608aae
+e0a20000
+20600000
+1a608a90
+202032b4
+58000000
+20402c7a
+1a608a85
+202032b4
+1a608a42
+202032b4
+58000004
+1a608acc
+202032b4
+1a60a287
+202032d1
+1a608a87
+202032b4
+58000002
+1a608ad0
+202032b4
+58000001
+20402c7a
+1a608ace
+202032b4
+20402c7a
+1a60a2b4
+202032d1
+58000001
+20402c7a
+1a608ab4
+202032b4
+20402c7a
+1a60a2b2
+202032d1
+58000001
+20402c7a
+1a608ab2
+202032b4
+20402c7a
+1a60a296
+202032d1
+1a608a96
+202032b4
+1a60a2cf
+202032d1
+58000000
+1a608acf
+202032b4
+1a60a2d2
+202032d1
+1a60a201
+202032d1
+1a60a2b5
+202032d1
+58000000
+20402c7a
+1a608ab5
+202032b4
+20402c7a
+1a60a2fb
+ea208000
+6000c1de
+20600000
+20402c7a
+6800c1de
+1a608afb
+202032b4
+1a60a2fc
+202032d1
+1a608afe
+202032b4
+58000109
+9a60a200
+ea288000
+20600000
+58000135
+202032d0
+58000000
+da200135
+202032b3
+5800012b
+204032cd
+ea220000
+20600000
+5800015f
+202032d0
+58000000
+da20015f
+202032b3
+58000000
+da20015c
+202032b3
+da20012f
+202032b3
+58000108
+202032d0
+da200108
+202032b3
+58000105
+202032d0
+58000000
+da200105
+202032b3
+58000104
+202032d0
+58000000
+da200104
+202032b3
+58000000
+da20013b
+202032b3
+58000001
+2020329a
+5800010c
+204032cd
+ea238000
+20600000
+5800015e
+202032d0
+58000000
+da20015e
+202032b3
+58000000
+da200180
+202032b3
+58000000
+da20017e
+202032b3
+58000000
+da20017f
+202032b3
+da200102
+202032b3
+da200103
+204032c7
+e0a08000
+20600000
+5800015d
+202032d0
+da20015d
+202032b3
+5800018a
+204032d0
+2020326a
+5800010c
+202032d0
+1fe20400
+1a227e00
+9a608a00
+18427e00
+20600000
+204032bf
+e0a18000
+20600000
+20402c7a
+1fe22400
+1a227e00
+9a608a00
+1a427e00
+20600000
+20402c7a
+9a60a200
+20600000
+204032cd
+ea208000
+20600000
+204032cd
+ea2a0000
+20600000
+58000000
+202032b4
+44e24018
+6800c092
+203a32d8
+c0022f30
+c007b436
+c004c5de
+c005392a
+c00735bf
+c00844a4
+c2833d00
+20600000
+44e2c018
+70015100
+70017f00
+70018000
+58000000
+600289ae
+6800c092
+203a32e3
+c0053962
+20600000
+20407cd1
+20407d9c
+204032f6
+680141f3
+20207f9c
+680141f1
+20207f9c
+680141ef
+20207f9c
+44e34018
+da204668
+20407fc4
+207a0000
+1fe22600
+204032ff
+20203324
+da600000
+20600000
+c000b311
+c0083357
+c002b335
+c009333c
+c0033353
+c0023394
+c0013399
+c009b394
+c00a334b
+c00ab34f
+c001b32e
+c005b340
+c0063347
+c00b335b
+c00c332a
+c015331a
+c015b318
+20600000
+68014682
+79207e00
+60014682
+6801420a
+793ffe00
+6001420a
+20600000
+70022900
+20600000
+68008229
+1fe0fe01
+60008229
+1fe67c01
+202133df
+70022900
+6801420a
+79207e09
+6001420a
+202033e9
+680141f5
+20207f9c
+680141e9
+20207f9c
+680141ed
+20207f9c
+6801420a
+79207e01
+6001420a
+20203412
+68014682
+79207e07
+60014682
+6801420a
+79207e02
+6001420a
+20600000
+68014682
+79207e01
+60014682
+6801420a
+79207e04
+6001420a
+20600000
+68014682
+79207e03
+60014682
+20600000
+68014682
+79207e05
+60014682
+6801420a
+79207e03
+6001420a
+20600000
+68014682
+793ffe05
+60014682
+20600000
+68014682
+79207e09
+60014682
+20600000
+68014682
+793ffe09
+60014682
+20203418
+68014682
+79207e02
+60014682
+20600000
+6801420a
+79207e00
+6001420a
+20600000
+6801420a
+79207e08
+6001420a
+202033e9
+44e3c018
+6000822a
+6800822a
+207a0000
+1fe0ffff
+6000822a
+20407cdd
+204033d6
+20403387
+2040338d
+2040651b
+680141fd
+20407f9c
+20203361
+ea608000
+207a0000
+1fe0ffff
+e2608000
+247a0000
+1a427e00
+20207f9c
+ea610000
+207a0000
+1fe0ffff
+e2610000
+247a0000
+1a427e00
+20207f9c
+6809423f
+1840a601
+da40337f
+2020336d
+2040342d
+c000b382
+2020340a
+58000002
+e2608000
+1840a408
+ea410000
+20207f9c
+da604205
+da40338a
+2020336d
+20402252
+2022b40e
+20600000
+da60467e
+da403390
+20203374
+204033f0
+20403408
+680141f7
+20207f9c
+204033ac
+68014682
+793ffe07
+60014682
+20600000
+70420500
+68014682
+c283b39e
+2fec0001
+2040b2fd
+44e44019
+68014682
+793ffe00
+793ffe01
+793ffe02
+793ffe03
+793ffe07
+60014682
+20203418
+204033a9
+2020340a
+58000000
+60014208
+20600000
+58000000
+6001420a
+20600000
+6801420a
+60014208
+58000000
+6001420a
+20600000
+6801420a
+79207e07
+60014208
+58000000
+6001420a
+20600000
+6800c682
+2feffe05
+20600000
+5800aa55
+60010aaa
+44e4c019
+d8400002
+da200aaa
+da4000c3
+20206606
+44e54019
+d8400002
+da200a9a
+da4000c3
+204065df
+68010a9a
+d840aa55
+98467c00
+20600000
+6800c55a
+6000c205
+20600000
+d8e00009
+20202c32
+d8e00009
+20202c36
+70420605
+202033d0
+da604206
+da4033d2
+2020336d
+70436301
+20600000
+70436300
+20600000
+700a990a
+20207d8f
+700a991d
+20207d8f
+44e5c019
+6800c207
+6000816d
+70022801
+700a9903
+20207d8f
+700a991e
+20207d8f
+700a9904
+20207d8f
+68014687
+6001467e
+20403404
+700a9901
+20207d8f
+58000000
+6001467e
+700a9902
+20207d8f
+700a990f
+20207d8f
+700a9910
+20207d8f
+700a990e
+20207d8f
+700a990d
+20207d8f
+700a9917
+20207d8f
+700a9918
+20207d8f
+700a9916
+20207d8f
+700a9911
+20207d8f
+700a9915
+20207d8f
+700a9914
+20207d8f
+700a9913
+20207d8f
+700a9919
+20207d8f
+700a9906
+20207d8f
+700a9905
+20207d8f
+700a991f
+20207d8f
+700a9920
+20207d8f
+700a9925
+20207d8f
+7920000d
+20600000
+793f800d
+20600000
+2040342d
+c0013424
+58000001
+e2608000
+1840a203
+1840a406
+ea288000
+1a60a601
+e2688000
+20203385
+58000000
+e2608000
+68014682
+c304b429
+20403402
+6809423f
+1840a202
+1840a404
+20203420
+6809423f
+1840a600
+ea608000
+20600000
+2040342d
+c0803434
+2020340a
+1840a40a
+20203385
+20758000
+70808100
+58003463
+600141eb
+5800696c
+600141ed
+580034f5
+600141f3
+580034f4
+600141ef
+5800347e
+600141f5
+580034b2
+600141fd
+58003465
+600141fb
+58003470
+600141e9
+58003501
+600141f9
+44e64019
+2040359b
+20406948
+204035ad
+20407d08
+20407cd3
+5800350b
+60014766
+580034fc
+6001475d
+580034f8
+6001475f
+5800346c
+60014761
+580035a2
+600146a9
+580035a4
+600146ab
+580035a9
+600146b4
+580035a6
+600146b6
+68014682
+c3860000
+2020340a
+20403586
+2020340a
+20405892
+247a0000
+da200b06
+20407e54
+24740000
+d8c00b06
+20204746
+68014797
+60014791
+70475301
+2020358f
+6800c79d
+c000b479
+68014682
+c304b479
+6800c79e
+c000b3d0
+6800c700
+243a33d0
+202033d2
+6800c79b
+6808c79c
+9841fe00
+c000b3d0
+202033d2
+1a627e00
+c016b431
+c008341a
+c00a34df
+c00ab4e8
+c0203485
+20600000
+68014509
+c000b48c
+680143d8
+203a34a2
+70478a02
+70478f3c
+20600000
+6801449a
+203a34a0
+70478a01
+680947b4
+68014496
+9840fe00
+60014496
+1fe22200
+68014498
+9840fe00
+60014498
+9a20fe00
+1fe30400
+680147c0
+9846fc00
+20407f86
+1807fe00
+6001449a
+70479001
+20600000
+70478a03
+20600000
+70417200
+70479000
+680143d6
+680947be
+98467c00
+79212200
+680147c0
+680943d6
+98467e00
+79212201
+2a200603
+20608000
+680447be
+60044496
+70479001
+20600000
+2040337b
+204034b9
+204034be
+204034d5
+204034ca
+204034c4
+202034d9
+da604799
+da4034bc
+2020336d
+70479a00
+20600000
+da604793
+da4034c1
+20203374
+da6046bf
+da40469e
+20203591
+da60478f
+da4034c7
+2020336d
+6801449a
+6000c172
+20600000
+da604790
+da4034cd
+2020336d
+6800843f
+2fe0c000
+2420b4d3
+70478a01
+20403416
+20205abf
+70479001
+20600000
+da604791
+da4034d8
+20203374
+2020341a
+da60478d
+da4034dc
+20203374
+680147a7
+6001478d
+202035af
+680147a7
+6001478d
+58000000
+60014793
+60014791
+2040355c
+20403586
+70417200
+202033f8
+58000000
+6002478d
+6001c78a
+60014509
+7047a001
+68014797
+60014791
+20407e38
+6800c759
+c1000000
+2040358f
+2020356e
+20203508
+6800c759
+c1810000
+20203508
+da6046cd
+20403582
+da6046c6
+20203584
+70436e00
+da6046db
+20403582
+da6046d4
+202034fb
+68008477
+c0093504
+20600000
+68010478
+c006b536
+c005b571
+20600000
+6800c753
+207a0000
+20206978
+1a227e00
+203a3510
+18e27e00
+c0003513
+20600000
+18e27e00
+c000351b
+20600000
+70479d01
+da6046f7
+20403582
+da6046f0
+20403584
+68014682
+c304b532
+20203521
+70479d00
+2020351d
+6800c79a
+c1808000
+70479905
+20600000
+6800c79a
+1fe0fe01
+6000c79a
+c000b527
+c001352b
+20600000
+2040355c
+70477101
+da60476c
+20203544
+70479a00
+70477102
+da60476c
+20403544
+6800c79e
+c000b551
+20600000
+68014797
+60014791
+2040355c
+2020358f
+44e6c019
+204036fc
+ea208000
+c001b53c
+c003b540
+20600000
+6800c79e
+c0003551
+c000b55c
+20600000
+ea408000
+c000b564
+c0003569
+20600000
+44e74019
+6800c78b
+2feffe00
+24608000
+1a608c06
+e8c10000
+1ff0fe00
+1fe0f205
+1a608c03
+204036f0
+e0c08000
+1a622200
+20207e3d
+6800c759
+207a0000
+70479e01
+da6046e9
+20403582
+da6046e2
+20403584
+70478004
+70478301
+da60477b
+20203544
+6800c79e
+207a0000
+70479e00
+20403586
+70478004
+70478300
+da60477b
+20203544
+70479f01
+70478007
+70478301
+da60477b
+20203544
+70479f00
+70478007
+70478300
+da60477b
+20203544
+6800c79f
+207a0000
+20203551
+ea210000
+6001478b
+2feffe00
+24608000
+6800c7a0
+207a0000
+7047a000
+680447b6
+60044496
+70479002
+204035af
+204035b9
+70478007
+6800c79f
+6000c783
+da60477b
+20203544
+da200001
+20203585
+da200000
+2020358c
+da200000
+20407d19
+da200001
+20407d19
+6800c7a1
+202069d7
+20407d04
+df200007
+20207d26
+da6046b8
+da40469a
+20403596
+20403584
+68014795
+60014793
+202033fa
+ea410000
+60014154
+e8c10000
+60014482
+20600000
+da200000
+204069a6
+680347a1
+60030a9a
+204069ae
+6800c7a1
+202069d7
+70479b01
+20600000
+70479b00
+20600000
+70479c00
+6800c7a1
+202069d7
+70479c01
+680347a1
+60030a9a
+202069ae
+70422d00
+202068a8
+204068eb
+20406908
+600147b0
+da2047aa
+20406930
+6000c7a9
+c00035be
+1fe67c64
+242135bc
+6000c783
+70478005
+da60477b
+20203544
+70478364
+202035b9
+2020341a
+20758000
+68108081
+1fe17ef0
+60108081
+58003631
+600141eb
+58003633
+600141ed
+5800340a
+600141f7
+58003635
+600141f3
+5800364b
+600141f5
+580033d0
+600141e9
+580036f6
+600141f9
+5800367a
+600141fd
+20402c7a
+58003722
+1a608ade
+e0a10000
+580035ed
+6001475b
+580035ef
+6001475f
+44e7c019
+20403628
+20407e38
+70417202
+7049f600
+6800c7cb
+6000c69a
+c00035ee
+6800c7cc
+6000c686
+70436e00
+2040360f
+20407cd3
+20407cdd
+7047f301
+68014682
+c3860000
+2020340a
+2020360f
+7047f302
+70436e01
+2040360f
+da200000
+20407d1e
+58000020
+204046f0
+d8a043b7
+6800c4a0
+1fe104f0
+18518400
+20403609
+e0a88000
+1fe1040f
+20403609
+e0a88000
+204057a6
+6808c3af
+18427200
+d8a04372
+d8c043b0
+20407f01
+6808c3af
+18427200
+d8a04392
+d8c043b0
+20207f01
+18467c09
+2021360d
+18408437
+20600000
+18408430
+20600000
+6800c7c0
+c0ffb621
+6800c7be
+c0ffb624
+6800c7c9
+c0ffb626
+6800c72c
+1fe27200
+5800472d
+1fe22200
+1a220c00
+e8c08000
+18c22200
+c07fb61f
+1fe20400
+2040680e
+c2003619
+20600000
+680447c0
+6004472f
+20203611
+6000c72d
+20203613
+6000c72e
+20203615
+da200000
+204069a6
+204037e4
+20402c7d
+2020362d
+7047cf64
+6800c7c9
+6000c744
+202068a8
+20406835
+2020696c
+2020696c
+20206978
+20403642
+204037ee
+20403639
+20203634
+68014682
+c3848000
+6800c9f6
+c000b63e
+20600000
+6800c7ea
+c1008000
+7047ea01
+20203654
+68014682
+c4048000
+20405892
+247a0000
+da204718
+20407e54
+24740000
+d8c04718
+20204746
+1a627e00
+c016b431
+c008341a
+c00a3651
+c00ab660
+20600000
+58000000
+20403220
+20203656
+680147eb
+600147ed
+7047ce14
+70409100
+204033f8
+20403416
+6800c7bd
+c000b65e
+da200000
+20207d14
+da200000
+20207d19
+58000002
+20403220
+58000000
+6002c79c
+58000004
+204069d7
+58000005
+204069d7
+58000014
+204069d7
+58000015
+204069d7
+58000016
+204069d7
+58000007
+204069d7
+20407e38
+70475e0a
+7047600a
+7047620a
+70417202
+da200000
+20407d1e
+58000020
+204046f0
+202033fa
+2040373b
+2040373e
+20403741
+2040337b
+204036c8
+204036a1
+2040368a
+20403683
+2020368f
+da60479a
+da403686
+2020336d
+20403847
+24608000
+70479b01
+20600000
+da6047ed
+da40368d
+20203374
+7047ea02
+20203662
+da6047f1
+da403692
+2020336d
+6800c7f2
+203a369e
+7047f102
+7047f200
+58000a02
+60014752
+6800c7b9
+c001b69b
+20203762
+58000a02
+60014754
+20203762
+58000000
+60024752
+20203762
+6800c7c8
+207a0000
+68014682
+c304b6c6
+da6047ce
+da4036a8
+2020336d
+6800c7cd
+6000c7ce
+6800c7d1
+247a0000
+204068eb
+20406908
+600147e8
+da2047e2
+20406930
+6808c7cf
+98467c00
+202136b6
+6000c7cf
+1fe20400
+6008c7d0
+6800c7ca
+98467c00
+204136c1
+6008c7db
+df200006
+d8c047d6
+204036f0
+6000c7dc
+da2047d3
+20207e3d
+6800c7d2
+247a0000
+7047d201
+da200001
+20207d1e
+da200001
+20207d19
+da6047a4
+da4036cb
+2020336d
+7047a405
+7047a600
+6800c7a5
+c000b6ee
+c00036ec
+d8c0479c
+18c22200
+df200008
+1a220c00
+e8c08000
+18c22200
+c00036e3
+c000b6e6
+c00136e9
+6800c7a6
+1fe0fe01
+6000c7a6
+c20036d3
+20600000
+6800c7a6
+da4047c0
+9a40a400
+ea488000
+20600000
+204036de
+20406825
+202036d9
+204036de
+20406829
+202036d9
+6800c7a5
+c000b6e3
+202036e6
+7047a501
+202036d0
+7047a500
+202036d0
+da200000
+e8c08000
+9a20a200
+c20036f1
+1a217eff
+20600000
+68008477
+c00936f9
+20600000
+68010478
+c00a3710
+20600000
+44e8401a
+ea228000
+60028b12
+68010b12
+d8406b5a
+98467c00
+24628000
+68010b15
+1ff0fe00
+60010b15
+1fe27200
+1a20a205
+1a220c00
+d8a00b17
+20407f01
+e8c08000
+60008b21
+da200b14
+da400b17
+20600000
+58000000
+6002c752
+6002c757
+204036fc
+1a420c00
+d8a04752
+df20000a
+20407f01
+44e8c01a
+ea208000
+c001374a
+c001b75c
+c0023762
+c002b762
+c00337b1
+c003b849
+c004384c
+20600000
+68014682
+c3848000
+680147eb
+600147ed
+7049f601
+5800010c
+204032cd
+20403710
+68008b14
+c002372e
+c002b72e
+20600000
+6800c752
+245a3735
+6800c754
+245a3737
+6800c756
+245a3739
+20600000
+7049f305
+20600000
+7049f405
+20600000
+7049f505
+20600000
+da6049f3
+da403744
+2020336d
+da6049f4
+da403746
+2020336d
+da6049f5
+da403748
+2020336d
+70475200
+20203762
+70475400
+20203762
+70475600
+20203762
+2040374c
+2020374f
+6800c752
+6000c75f
+20203773
+6800c75e
+20403754
+6800c753
+6000c75d
+20203770
+c0013758
+c001b75a
+6000c75e
+20600000
+70475e05
+20600000
+70475e0a
+20600000
+6800c752
+20403754
+6800c75e
+2040379e
+204037a1
+202069c4
+6800c7f0
+247a0000
+68034752
+6003475d
+6800c75e
+6808c760
+98417e00
+6808c762
+98417e00
+205a3779
+44e9401a
+20403770
+20403773
+20203776
+da404763
+d8c0475d
+2020377b
+da40476b
+d8c0475f
+2020377b
+da404773
+d8c04761
+2020377b
+7047d100
+20600000
+e8c08000
+c0003787
+c000b780
+c0013782
+20600000
+70477b00
+20203783
+70477b01
+e8c08000
+6000c77d
+ea440000
+2020378c
+ea408000
+204069d7
+1a40a401
+ea408000
+202069d7
+6004477e
+7047d101
+6800c77b
+c000379a
+6800c77f
+6000c780
+6800c77e
+204069d7
+6800c77d
+2040379e
+6000c785
+68034780
+60030a9a
+202069ae
+6800c77e
+6000c780
+6800c77f
+20203793
+1feffe05
+1fe0fe32
+20600000
+d8402ee0
+984ffe00
+1fe6fc64
+20407f86
+18078400
+18422200
+58002ee0
+98462400
+20600000
+68108082
+79207e02
+60108082
+5800009e
+60110068
+6011006a
+20600000
+6800c7f0
+247a0000
+68014752
+60014787
+6800c7ea
+c080b7b9
+680144a0
+60014787
+44e9c01a
+204037aa
+204037dc
+5800bb80
+20402a8f
+204037e0
+58001c20
+20402a8f
+df200010
+204037dc
+68014787
+c28037c9
+58001c20
+20402a8f
+204037e0
+202037cc
+58003840
+20402a8f
+204037e0
+58001c20
+20402a8f
+68014787
+1fe37e00
+60014787
+c20037c2
+7047f102
+7047f201
+58000a01
+60014752
+6800c7b9
+c001b7d9
+20203762
+58000a01
+60014754
+20203762
+68108085
+1fe1fe40
+60108085
+20600000
+68108085
+1fe17ebf
+60108085
+20600000
+6800c7bb
+c1000000
+20402c65
+6808c7bc
+6008c786
+204067fb
+20403847
+24608000
+70479a01
+20600000
+6800c7bb
+c1000000
+6800c79b
+247a0000
+68014682
+c284b7f6
+6800c7ea
+c1808000
+44ea401a
+20403847
+24608000
+58008ca0
+20402a8f
+20403847
+24608000
+2040383f
+20403842
+24610000
+20403847
+2020b7fe
+da200000
+df200010
+2040383f
+20403842
+24610000
+20403847
+2420b805
+58002a30
+20402a8f
+20403847
+2020b812
+58000000
+1a232200
+9a21a200
+c2003805
+2020381b
+58008000
+1a232200
+9a21a200
+2040383f
+20403842
+24610000
+20403847
+2020b816
+c2003805
+44eac01a
+1a227e00
+60014789
+60014797
+6800c7ea
+c000b827
+df200007
+d8c04792
+204036f0
+6000c799
+da20478f
+20207e3d
+6800c7ef
+1fe0fe01
+6000c7ef
+1fe6fc02
+20407f86
+18078400
+18077e00
+243a3838
+6800c7bf
+98467c00
+2042b83d
+dfe0479c
+184085ff
+9840a200
+dfe00000
+e2208000
+20600000
+dfe0479c
+9840a200
+dfe00002
+e2208000
+20600000
+7047f001
+20600000
+1c427e00
+6002478b
+20600000
+1c427e00
+680a478b
+98467e00
+1fe67cc8
+20600000
+6808c786
+2020681d
+68044752
+6004479c
+20600000
+6800c7b9
+6000c7af
+6800c7ba
+6000c7b0
+6800c7bb
+6000c7b1
+df20000d
+d8c047aa
+204036f0
+6000c7b7
+da2047a7
+20207e3d
+204065c2
+7046f67a
+2040386d
+20403867
+58003860
+600141fd
+da200000
+202069a6
+680146a1
+207a0000
+1fe0ffff
+600146a1
+c1800000
+7046a000
+20600000
+44eb401a
+6800c6a4
+1fe67c28
+20610000
+7046a400
+20600000
+da2046a4
+da400000
+d8400051
+202065df
+78547c00
+6800c6a3
+1fe27200
+da2046a5
+1a622400
+44ebc01a
+2040387c
+2022ffe7
+1a20a204
+c2003876
+20600000
+44ec401b
+ea218000
+ea498000
+98467c00
+20600000
+44ecc01b
+ea218000
+ea498000
+98467c00
+24628000
+e8c08000
+1fe67c00
+20628000
+1a208c03
+e8c88000
+98467c00
+20600000
+44ed401b
+78547c00
+6800c6a3
+1fe27200
+da2046a5
+1a622400
+20403881
+2022ffe7
+1a20a204
+c2003893
+20600000
+68008004
+1fe0fe01
+60008004
+da6002e5
+ea610000
+d84055aa
+98467c00
+24628000
+18c22600
+ea698000
+58ffffff
+98467c00
+2022b8a8
+2040388d
+203438a8
+20600000
+44edc01b
+1a60a604
+ea608000
+6808c6f6
+98467c00
+20628000
+6000c6f6
+68008003
+1fe0fe01
+60008003
+1a60a601
+ea608000
+6000c6f5
+1fe27200
+207a0000
+e8c08000
+c00038c2
+c000b8cf
+c00138d4
+c001b8d9
+c00238de
+c002b8e3
+c00338e8
+c07fb8ea
+c20038b7
+20600000
+18c22600
+6800c69a
+60008a9a
+d8400000
+60088a9b
+58002710
+60018a9c
+ea608000
+60008a9f
+204069ae
+1a610c01
+c20038b7
+20600000
+1a620c00
+6800c69b
+60008a9a
+d8400001
+202038c6
+1a620c00
+6800c69c
+60008a9a
+d8400002
+202038c6
+1a620c00
+6800c69d
+60008a9a
+d8400003
+202038c6
+1a620c00
+6800c69e
+60008a9a
+d8400004
+202038c6
+1a620c00
+6800c69f
+60008a9a
+d8400005
+202038c6
+e8c08000
+20600000
+18c22600
+6800c6a0
+c080b8ee
+204038f0
+1a610c04
+20600000
+44ee401b
+20403871
+203438fe
+6800c6a4
+1fe20400
+1fe0fe01
+6000c6a4
+20403867
+184b8400
+580046a5
+98408a00
+ea620000
+e0a20000
+20203903
+1a608c03
+e8c08000
+207a0000
+ea620000
+e2220000
+da2046a4
+da400000
+d8400051
+20206606
+6808c69a
+20406825
+20600000
+6808c69a
+20406829
+6808c69a
+20406825
+2040391d
+6800c6a7
+247a0000
+20402c29
+68120138
+793ffe0f
+6012004c
+20402c21
+d85fffff
+20202b2a
+6800c6a7
+203a56f9
+1fe0ffff
+6000c6a7
+202056f9
+1feffe14
+d8c046a8
+98c08c00
+e8c08000
+207a0000
+1fe22200
+1a227200
+d8a04372
+20407f01
+1a227e00
+1fe0fe02
+6000c36f
+20600000
+20758000
+204057a3
+204068a8
+58003982
+600141f3
+5800396e
+600141f1
+58003986
+600141f5
+5800396d
+600141ef
+58003969
+600141e9
+58003ab7
+600141fb
+58003c32
+6001456f
+58003cc2
+600141f9
+58003cd7
+600141fd
+2040397f
+44eec01b
+20403945
+20403964
+20402c6f
+20203c48
+680246aa
+60120054
+680246ae
+6012005a
+68108081
+1fe1fe04
+1fe17efc
+60108081
+70806200
+680146aa
+60110058
+680146ae
+6011005e
+60110060
+68120078
+79207e07
+60120078
+68110050
+793ffe0f
+60110050
+204066ce
+70804300
+70806281
+6800c6bf
+2feffe00
+68188062
+79208404
+60188062
+20600000
+2040397f
+20203945
+6808c69e
+2040680e
+204039e6
+6808c69c
+202067fb
+6808c69c
+2040681d
+2420b3d2
+202033d0
+20600000
+20403970
+20203ce9
+6800c682
+c302397f
+44ef401b
+58003eff
+680a46c5
+98408400
+1c427e00
+98467c00
+24610000
+68014682
+c282b97f
+6800c6bf
+c3830000
+20403cec
+2040340e
+1c427e00
+600246c5
+20600000
+20403ce9
+2040526e
+247a0000
+202039eb
+1a627e00
+c000b9d4
+c00139a3
+c00239d7
+c002b9c4
+c00439aa
+c004b9b1
+c00539c9
+c005b9b6
+c00639c2
+c009b9d7
+c00a39cf
+c00ab9c6
+c010b9ca
+c011b9cb
+c01239ce
+c0183c8a
+c018bc8c
+c0193c9a
+c019bc98
+c01a3c84
+c01abc73
+c01b3c82
+c01bbc8e
+c01c3c90
+c01dbca1
+c01ebc6a
+c020b9d9
+20600000
+2040397f
+6800c665
+245a3c8e
+204039d7
+68014682
+c4020000
+202039b1
+68014682
+79207e04
+60014682
+6800c6a7
+6000c172
+204039e6
+20203c1d
+68014682
+c4020000
+793ffe04
+60014682
+20203c21
+2040397f
+68014042
+1fe37e00
+680941e3
+98467c00
+2422b9bd
+20203416
+6800c6bf
+c3828000
+68110112
+245a3cf0
+2020340c
+20403cee
+20203418
+2040397f
+202039dd
+20405816
+204039d7
+20203c23
+202033dd
+20203cee
+6800c6bf
+c302b40e
+20203cf2
+20203cf2
+204058ba
+204039dd
+6800c6a8
+6000c172
+20203c1f
+70466100
+20403cee
+20203cf2
+20403a52
+202039db
+20405cc9
+20205b02
+6808c69e
+20206829
+204039df
+202039e6
+6800c6a1
+2feffe00
+2040b3f0
+6800c6a1
+2feffe01
+2040b3f8
+20600000
+6808c69e
+20206825
+6800c56b
+c1000000
+20206c28
+6810810c
+c281b9e8
+204066cb
+e8608000
+c080ba01
+68110112
+1fe67c02
+20610000
+e8608000
+60008b03
+e8688000
+18622200
+60088b04
+18408403
+68110112
+98460400
+24610000
+700b0501
+20403a17
+68008b05
+c1000000
+20203a12
+20407ec1
+20403c79
+20203a04
+44efc01b
+68110112
+207a0000
+204066cb
+e8608000
+1fe67c01
+2442ba16
+2422ba04
+e8608000
+c1028000
+c1148000
+186087ff
+20403a16
+20203a04
+204066cb
+18608602
+e8608000
+98608600
+202066c8
+44f0401c
+68008b03
+c0003a3f
+c000ba44
+c0013a49
+c001ba5f
+c0023a6b
+c002ba75
+c004ba9a
+c005bad7
+c0063ad8
+c006baec
+c0073af4
+c007bafa
+c0083b06
+c008bb0e
+c0093b12
+c0133b16
+c0143b1d
+c014bb2d
+c0153b36
+c015bb69
+c0163b6f
+c0183b76
+c018bb7c
+c0193b90
+c019bb98
+c01a3bbb
+c01abbc4
+c01b3bcd
+c01bbbd7
+c01c3bda
+c0203be2
+c0213bec
+c0243bf1
+c024bbfc
+c028bc02
+c030bc06
+c07fbc15
+20203c17
+68008b04
+c0833c17
+e8630000
+600340a0
+20203c1a
+68008b04
+c0833c17
+e8630000
+600344a0
+20203c1a
+68008b04
+c080bc17
+1a220600
+20403c1a
+e8688000
+6008c6a9
+68014682
+c3848000
+c3800000
+6800c6a1
+2feffe00
+2420ba58
+6808c6a9
+18417e03
+6000c093
+6800c6a1
+2feffe01
+24608000
+6808c6a9
+284ffe02
+2020b3fa
+202033f8
+68008b04
+1fe67c43
+24213c17
+6000c515
+df200008
+20407ec6
+68008b04
+1fe27200
+1a220600
+d8a04516
+204066ea
+20203c1a
+68008b04
+1fe67c1d
+24213c17
+6000c3af
+1fe27200
+1a220600
+d8a043b0
+204066ea
+204057a3
+20203c1a
+6800c682
+c3023c17
+204033ba
+2020ba86
+700b0500
+2040397f
+6800c568
+207a0000
+68014573
+c0803a84
+68008b04
+60014573
+1a220600
+18627e00
+60014571
+20403a88
+20206c4d
+700b0500
+20203cd1
+20403a8e
+68014573
+6809469f
+98467e00
+60014573
+20600000
+68014573
+d840006e
+20407fdd
+6809456c
+20407fdd
+6809455e
+20407fdd
+6001469f
+20600000
+700b0501
+700b0305
+20203c1a
+68014682
+c304bc17
+20403ad4
+20343c17
+700b0500
+6800c6bf
+c2823ab4
+6800c6c0
+247a0000
+700b0501
+e8610000
+600146c1
+18627e00
+600146c3
+68008b04
+1fe0fffe
+24213c17
+2022bc17
+6000c6c0
+700b0500
+20405814
+20403ab7
+20403ab7
+20403ab7
+6800c6bf
+c4020000
+700b0501
+20403cf6
+20203c1a
+6800c6c0
+207a0000
+20405892
+247a0000
+20403acf
+44f0c01c
+1840fffd
+6808c6c0
+20407fdd
+1fe22200
+18427e00
+9a267e00
+6000c6c0
+680946c1
+20405a64
+680146c3
+1fe20600
+1a227200
+204066ea
+18627e00
+600146c3
+6800c6c0
+247a0000
+20203cf4
+d8400017
+6800c6bf
+c3808000
+680944a8
+20600000
+6800c6bf
+c2815a42
+20207fe9
+20203c4c
+1a220600
+e8608000
+c0003adf
+c000bae2
+c0013ae8
+c001baea
+20203c17
+2040612b
+70465a00
+20203c1a
+58040003
+6001c65b
+6000c662
+20406124
+70465a01
+20203c1a
+58040002
+20203ae3
+58040001
+20203ae3
+68008b04
+1fe67c10
+24213c17
+6000c689
+1fe27200
+d8a0468a
+204066fd
+20203c1a
+1a220600
+e8608000
+68188062
+7d3a0404
+60188062
+20203c1a
+68008b04
+1fe27200
+1a220600
+20407f58
+596e3600
+9846fc00
+20407f86
+1807fe00
+60014243
+20403c1a
+20407f9e
+202066ce
+da200002
+da40469a
+d8400000
+20203c25
+60010ac2
+da400ac2
+d8400000
+20203c25
+68014682
+c3003c17
+20403c1a
+202033e9
+68014682
+c304bc17
+20403c1a
+20203402
+68008b04
+1fe27200
+1a220600
+68014215
+1fe20a00
+204066ea
+20203c1a
+6800c682
+c3003c17
+e8608000
+6808c661
+793a0400
+79200407
+6008c661
+20403c1a
+6800c661
+c2833b2b
+20600000
+70466100
+700a9921
+20207d8f
+c2805f95
+20203b28
+6800c682
+c4020000
+6800c56b
+c1000000
+e8608000
+6808c569
+98408400
+6008c569
+20600000
+df200040
+d8a0436f
+20407ed4
+58000000
+60008ab2
+1a220600
+18627e00
+60010ab6
+20403b64
+68008ab2
+68088aa2
+18408401
+9840fe00
+60008ab2
+1fe67c1f
+24213b50
+6808c36f
+58004370
+9840fe00
+60010abb
+68088aa2
+18408401
+6800c36f
+9840fe00
+6000c36f
+20203b59
+6808c38f
+58004390
+9840fe00
+60010abb
+68088aa2
+18408401
+6800c38f
+9840fe00
+6000c38f
+68010abb
+1fe20a00
+68010ab6
+1fe20600
+18427200
+204066ea
+68008b04
+68088ab2
+98467c00
+2422bb3c
+20203c1a
+e8608000
+60008aa2
+e8608000
+60008aae
+20600000
+d8400000
+da200002
+680146b4
+60010ac2
+da400ac2
+20203c25
+68008b04
+c080bc17
+e8608000
+6000c6b2
+58000000
+600146b4
+20203c1a
+e8620000
+6002468a
+70468904
+70466300
+20403c1a
+20205f31
+68008b04
+c081bc17
+e8608000
+c0003b82
+c000bb8a
+20203c17
+e8688000
+e8608000
+c0013b88
+7d3a0407
+204067fb
+20203c1a
+20406806
+20203c1a
+e8688000
+20406812
+e8608000
+2feffe00
+2040682c
+20203c1a
+68008b04
+c080bc17
+e8688000
+2040681d
+58000000
+7d20fe00
+da200001
+20203b0a
+1a220600
+e8608000
+1fe20400
+c040bba3
+c0413ba8
+c041bbae
+6000c4c6
+c0003bb3
+c000bbb6
+c0013bb8
+20203c17
+6800c4be
+203a3c17
+6008c4c6
+7044560d
+20203bb4
+6800c4be
+203a3c17
+6008c4c6
+7044560d
+70445401
+20203c1a
+6800c4be
+203a3c17
+6008c4c6
+7044560d
+20203bb9
+70445600
+70445403
+20203c1a
+70445605
+20203bb4
+70445605
+70445400
+20203c1a
+68008b04
+1fe67c1f
+24213c17
+6000c36f
+1fe27200
+1a220600
+d8a04370
+204066ea
+20203c1a
+68008b04
+1fe67c1f
+24213c17
+6000c38f
+1fe27200
+1a220600
+d8a04390
+204066ea
+20203c1a
+68014682
+c304bc17
+68008b04
+c0843c17
+1a220600
+e8640000
+60044496
+700a9912
+20407d8f
+20203c1a
+e8610000
+60014482
+20203c1a
+6800c4c6
+203a3c17
+6800c4c4
+c0803c17
+6800c4c5
+c0803c17
+20407e25
+20203c1a
+68008b04
+c082bc17
+e8608000
+6000c6a2
+e8620000
+600246a3
+6808c6a2
+2040680e
+20403cbc
+20203c1a
+68008b04
+c080bc17
+e8608000
+6000c1de
+20203c1a
+e8608000
+c000bbfa
+6800c4c1
+c001bbf8
+c0033bf8
+c003bbf8
+20203c17
+7044c201
+20203c1a
+20405b53
+20203c1a
+68008b04
+c080bc17
+20403c1a
+e8608000
+203a60cb
+202060c9
+20403c1a
+20407f9e
+70801001
+20202a8e
+68008b04
+c0003c17
+e8608000
+203a3c13
+68008b04
+c082bc17
+e8620000
+d84f4240
+98467c00
+20213c17
+600244c7
+2040580c
+20203c1a
+2040580e
+20203c1a
+70409100
+20203c1a
+d8400001
+da200000
+20203c25
+d8400000
+da200000
+20203c25
+700b0300
+20203c49
+700b0302
+20203c49
+700b0303
+20203c49
+700b0305
+20203c49
+68008b03
+1fe22600
+700b0306
+58000002
+9a20fe00
+20403ca7
+1a627e00
+e1408000
+e1488000
+1a227200
+1a420c00
+204066e4
+202066c5
+2040397f
+700b0307
+680084ff
+207a0000
+20403ca7
+680084ff
+1fe27200
+68010501
+1fe20c00
+204066d1
+202066c5
+700b0308
+6800c6b6
+1fe27200
+1fe0fe02
+20403ca7
+680146b9
+e1410000
+680146b7
+1fe20c00
+204066d1
+202066c5
+700b0309
+58000000
+20403ca7
+202066c5
+700b030a
+58000001
+20403ca7
+20403c5d
+68014682
+d8e00002
+afefffff
+79208403
+d8e00009
+afefffff
+79208405
+6800c682
+d8e00004
+afefffff
+79208404
+e1488000
+202066c5
+d8400000
+6800c093
+d8e00000
+afefffff
+79208400
+d8e00001
+afefffff
+79208401
+6800c36e
+d8e00000
+afefffff
+79208402
+20600000
+700b030d
+6800c217
+1feffe22
+1fe27200
+20403ca7
+68014215
+1fe20c00
+204066d1
+202066c5
+700b030e
+58000004
+20403ca7
+680209ba
+e1420000
+202066c5
+700b030f
+68110112
+d84000ff
+20407fdd
+1fe27200
+20403ca7
+204066cb
+20406703
+202066c5
+700b0310
+20203c49
+700b0311
+58000004
+20403ca7
+680244c7
+e1420000
+202066c5
+da200180
+20203c91
+da200080
+20203c91
+da200101
+20203c91
+da200001
+70466100
+700b0314
+58000002
+20403ca7
+1a227e00
+e1410000
+202066c5
+da600000
+20203c9b
+da600001
+700b0315
+58000001
+20403ca7
+1a627e00
+e1408000
+202066c5
+700b031d
+58000004
+20403ca7
+680209ba
+e1420000
+202066c5
+700b0202
+60008b04
+600c0aa2
+44f1401c
+20403cb1
+680c0aa2
+204066c2
+68018b02
+e1418000
+20600000
+20403cba
+20608000
+20403cb8
+680246a3
+1feb7e00
+207a0000
+20203cbe
+6808c6a2
+20206829
+6808c6a2
+2020681b
+6808c6a2
+20206825
+1fe0ffff
+20000026
+243a3cbe
+20600000
+20403ad4
+20740000
+1a227e00
+600146b7
+1a427e00
+6000c6b6
+68010478
+680946bb
+98467c00
+2022bccf
+680946bd
+98467c00
+24628000
+600146b9
+20203c3d
+6800c6bf
+c3828000
+20403cf0
+2020340c
+70417202
+20600000
+20203cd8
+6800c6b2
+207a0000
+6800c6b3
+207a0000
+1fe0ffff
+6000c6b3
+247a0000
+7046b30a
+204068eb
+20406908
+1fe6fc64
+20407f86
+1807fe00
+18070400
+6000c6b4
+6008c6b5
+20600000
+20407fb4
+202133d9
+202033db
+d8e00006
+20203cfc
+d8e00006
+20203cf8
+d8e00005
+20203cfc
+d8e00005
+20203cf8
+d8e00004
+20203cfc
+d8e00004
+20203cf8
+6800c6bf
+f93ffe00
+6000c6bf
+20600000
+6800c6bf
+f9207e00
+6000c6bf
+20600000
+20403d39
+2040640f
+204040c6
+20403d66
+20406411
+20758000
+20403d16
+20403d19
+680246d3
+c3880000
+20403d4e
+c6130000
+68014682
+c28642b0
+202042a2
+680246d3
+c40d8000
+df200014
+58030d40
+20402a8f
+c2007ec1
+20600000
+680246d3
+c4080000
+202048ea
+5800416d
+600141ef
+58003f77
+600141f1
+58003ebb
+600141ed
+5800417c
+600141f5
+58003de3
+600141f3
+58003eb3
+600141eb
+58003d5b
+600141f9
+20402c7a
+58004401
+1a608ad8
+e0a10000
+58004406
+1a608ada
+e0a10000
+58003ebf
+1a608adc
+e0a10000
+580041f9
+600141fd
+58003d36
+60014201
+20600000
+680246d3
+c30964d7
+202064da
+20758000
+20402c9d
+20403e6e
+20403e1e
+20403e54
+20405810
+20405839
+2040582c
+20405818
+680246d3
+c28a3d46
+c289c414
+20600000
+2040659c
+680246d3
+2feffe19
+2440e5c2
+2040443f
+20403dc9
+204041aa
+202065df
+680246d3
+c30f3d53
+68008abd
+2fec0003
+24608000
+6800c71f
+6000c71e
+6800c6f5
+c3830000
+680246d3
+c4088000
+c28eaee4
+20202f2c
+68008478
+1fe67e1a
+24628000
+700a9912
+20407d8f
+d8e00000
+202041b9
+6800c6b6
+c1008000
+7046b601
+20600000
+6800c6e1
+1fe17e0f
+6000c77a
+20203d80
+6808c6e7
+2040681d
+2420bd62
+6800c6b6
+c1000000
+7046b600
+6800c77a
+1fe0fe01
+1fe17e03
+6000c77a
+20403d7e
+680246d3
+c28a443b
+c289bd79
+20600000
+d840001e
+2040680e
+d840001f
+2040680e
+20204435
+44f1c01c
+2040424a
+6800c6e0
+c002bdaa
+c0023d96
+6800c77a
+c0003d8a
+c000bd88
+c0013d8c
+c001bd8e
+6800c780
+20203dbe
+6800c77f
+20203dbe
+6800c781
+20203dbe
+6800c782
+20203dbe
+6800c6e0
+c1030000
+6800c6b5
+1fe0fe01
+6000c6b5
+20600000
+6800c77a
+c0003d9d
+c000bd9b
+c0013d9f
+c001bda1
+6800c784
+20203da2
+6800c783
+20203da2
+6800c785
+20203da2
+6800c786
+6000c6b5
+1fed7e00
+1fe22200
+1fe0fe0d
+20406413
+1a227e00
+1fe0fe0e
+20206413
+6800c77a
+c0003db1
+c000bdaf
+c0013db3
+c001bdb5
+6800c788
+20203db6
+6800c787
+20203db6
+6800c789
+20203db6
+6800c78a
+6000c6b5
+204040c0
+6800c6b5
+1fe0fe80
+1fed7e00
+1fe0fe05
+1fe22200
+2020415a
+6000c6b5
+20403d90
+6800c6b5
+58000006
+20406414
+1fe104f8
+6800c6b5
+9840fe00
+1fed7e00
+1fe0fe06
+20206413
+204033c4
+2022c316
+2040441c
+204042e4
+202033bd
+68014707
+207a0000
+680246d3
+c4088000
+c3818000
+c6130000
+20404083
+c1838000
+20404482
+d8e00003
+204043ce
+58000000
+600146ae
+6000c6b4
+20403263
+68014682
+c283c392
+c284b402
+c28033e9
+204042ca
+20202ead
+20403dce
+20407e34
+20403d6a
+20403de9
+20403ee0
+20203df7
+680246d3
+c4080000
+204048d3
+202048fd
+68108a04
+c303bdf1
+c283bdf4
+20600000
+6800c6ff
+c4038000
+2020659a
+6800c6ff
+c3838000
+20204381
+20403ded
+68108a04
+6000c6ff
+c4038000
+20403e07
+680246f9
+6808c6fd
+98408400
+1c427e00
+98467c00
+24610000
+600246f9
+20403f97
+24740000
+700d3804
+20203e0f
+680a46f9
+1c427e00
+98467c00
+24413e0c
+20600000
+58000000
+600246f9
+20600000
+68008d38
+c4010000
+20203e12
+68108a04
+c4038000
+700d5220
+58000001
+60008d54
+6803c69a
+e0a38000
+20600000
+68110050
+793ffe0b
+60110050
+20600000
+58008c00
+60014575
+58008e7a
+600144bc
+58002402
+600140bd
+58002580
+6001c0aa
+70417303
+70415608
+7046d901
+58000200
+60014154
+7044a617
+7044a817
+58000a77
+60014212
+38000306
+38044440
+38090000
+380c4408
+6004c577
+38001224
+38044000
+38080000
+e0a28000
+3803ffff
+3806fe23
+380999d9
+380c020d
+60044098
+5800012c
+60014707
+204057a3
+680246d3
+c40f8000
+20403e44
+20203e4c
+6808c6f7
+204067fb
+6808c6f7
+2040681d
+7046f603
+20608000
+7046f602
+20600000
+6808c6f8
+204067fb
+6808c6f8
+2040681d
+70422d00
+20608000
+70422d02
+20600000
+6800c22d
+c0003e59
+c000be62
+c0013e6b
+20203e59
+68094221
+68014227
+98467e00
+1feffe14
+1fe6fc64
+20407f86
+1807fe00
+600146d0
+20600000
+6809421f
+68014225
+98467e00
+1feffee6
+1fe6fd90
+20407f86
+1807fe00
+600146d0
+20600000
+68014223
+600146d0
+20600000
+6808c23a
+2040680e
+204048fb
+6808c6e2
+204067fb
+6808c6e3
+204067fb
+6808c6e4
+204067fb
+6808c6f3
+204067fb
+6808c6dc
+2040680e
+6808c6e8
+204067fb
+6808c6e9
+204067fb
+6808c6ea
+204067fb
+6808c6eb
+204067fb
+6808c6e5
+204067fb
+6808c6e6
+204067fb
+6808c6ef
+2040680e
+6808c6f0
+2040680e
+6808c6f1
+2040680e
+6808c6f2
+2040680e
+6808c6f4
+2040680e
+6808c6ed
+204067fb
+6808c6ec
+204067fb
+6808c6e7
+202067fb
+6808c6e8
+204067dd
+6808c6e9
+204067dd
+6808c6ea
+204067dd
+6808c6eb
+202067dd
+6808c6e8
+20403ea7
+6808c6e9
+20403ea7
+6808c6ea
+20403ea7
+6808c6eb
+20203ea7
+18467cff
+20628000
+18410e7f
+6812011c
+afefffff
+68120078
+f920fe00
+60120078
+6812007c
+fd20fe00
+6012007c
+20600000
+78347c00
+68120138
+79347e1a
+6012004c
+20402c21
+20404482
+20403e9f
+20203ebf
+20403ebf
+680080a0
+247a0000
+202067ed
+20403ee0
+d8400019
+680246d3
+2feffe12
+2040bede
+2040680e
+204063ee
+6808c6e2
+204067dd
+6808c6e3
+204067dd
+6808c6e4
+204067dd
+6808c6e5
+204067dd
+6808c6e6
+204067dd
+6808c6e7
+204067dd
+6808c6ed
+204067dd
+6808c6e8
+204067dd
+6808c6e9
+204067dd
+6808c6ea
+204067dd
+6808c6eb
+204067dd
+6808c6f3
+202067e1
+d840001e
+20600000
+44f2401c
+20403eee
+20403f36
+6800c6b8
+6808c6b7
+6000c6b7
+98467c00
+2422b3d4
+6800c6be
+6808c6bd
+6000c6bd
+98467c00
+2422b3d4
+20600000
+6800c6ea
+c17f8000
+da200000
+6808c6ea
+2040681d
+7920a200
+6808c6eb
+2040681d
+7920a201
+1a227e00
+6000c6b8
+c000befe
+c0013f02
+6800c6b9
+c283bf0e
+20600000
+6800c6b7
+c0003f06
+c001bf08
+20600000
+6800c6b7
+c0003f0a
+c001bf0c
+20600000
+7046b982
+20600000
+7046b981
+20600000
+7046b980
+20600000
+7046b983
+20600000
+6800c6b9
+793ffe07
+6000c6b9
+c0003f16
+c000bf19
+c0013f1c
+c001bf1f
+20600000
+6800c6b8
+c001bf22
+20600000
+6800c6b8
+c0003f22
+20600000
+6800c6b8
+c001bf2c
+20600000
+6800c6b8
+c0003f2c
+20600000
+6800c6bc
+1fe0fe01
+6000c6bc
+1fe67c01
+20610000
+7046bc00
+6800c6ba
+1fe0fe01
+6000c6ba
+20600000
+6800c6bb
+1fe0fe01
+6000c6bb
+1fe67c01
+20610000
+7046bb00
+6800c6ba
+1fe0ffff
+6000c6ba
+20600000
+6800c6e8
+c17f8000
+da200000
+6808c6e8
+2040681d
+7920a200
+6808c6e9
+2040681d
+7920a201
+1a227e00
+6000c6be
+c000bf46
+c0013f4a
+6800c6bf
+c283bf56
+20600000
+6800c6bd
+c0003f4e
+c001bf50
+20600000
+6800c6bd
+c0003f52
+c001bf54
+20600000
+7046bf82
+20600000
+7046bf81
+20600000
+7046bf80
+20600000
+7046bf83
+20600000
+6800c6bf
+793ffe07
+6000c6bf
+c0003f5e
+c000bf61
+c0013f64
+c001bf67
+20600000
+6800c6be
+c001bf6a
+20600000
+6800c6be
+c0003f6a
+20600000
+6800c6be
+c001bf6f
+20600000
+6800c6be
+c0003f6f
+20600000
+7046c200
+6800c6c0
+1fe0fe01
+6000c6c0
+20600000
+7046c100
+6800c6c0
+1fe0ffff
+6000c6c0
+20600000
+58000002
+6000c680
+20600000
+6800c1e2
+207a0000
+20405271
+247a0000
+680246d3
+c281bf8a
+c2803f8a
+c282bf8a
+20403f97
+24740000
+da200009
+20404d63
+6801424e
+e0a10000
+580002a1
+e0a10000
+6803c69a
+e0a38000
+20600000
+58000000
+6003c69a
+20203f81
+680146aa
+600146b0
+20600000
+44f2c01c
+da200007
+6809446f
+20405a64
+6803c69a
+e0a38000
+20600000
+44f3401c
+78547c00
+58000000
+6003469b
+20403fb5
+20404079
+2040407e
+20404099
+24740000
+20403f8d
+d8e00008
+202043ce
+6801469b
+1fe67e00
+6001469b
+20207fe7
+6801469d
+1fe67e00
+6001469d
+20207fe7
+6801469d
+1fe67e00
+6001469d
+6801469b
+1fe67e00
+6001469b
+20404002
+20207fe7
+20404002
+20207fe7
+6800c239
+c1800000
+6800c6e0
+c0003fe2
+c000bfe2
+c0013fe2
+c001bfe2
+c0023fc4
+c002c010
+c0033fe2
+20203fe2
+6800c6a7
+205a405d
+7046a701
+20600000
+20403fc0
+6808c6f3
+2040681d
+24608000
+58000000
+20406414
+c09840d1
+58000002
+20406414
+c4038000
+2040405d
+20403fde
+6000c6a1
+1ff1fe00
+20404169
+6000c69c
+6800c6a1
+1fe17e0f
+20404169
+6000c69e
+6800c6f6
+c0003fa3
+c000bfab
+c0013fa7
+c001bfb3
+20600000
+58000012
+20206414
+c018bfea
+202040d1
+20403fc0
+78547c00
+6808c6f3
+2040681d
+24608000
+58000000
+20406414
+c0983fe0
+58000002
+20406414
+c4038000
+2040405d
+6800c69b
+20404165
+6001469b
+6800c69d
+20404165
+6001469d
+6800c6f6
+c0003ffa
+c000bffc
+c0013ffe
+c001c000
+20600000
+20403fa3
+202040b3
+20403fab
+202040b3
+20403fa7
+202040b3
+20403fb3
+202040b3
+6801469d
+6809469b
+6001469b
+6009469d
+20600000
+2040640f
+20000064
+1a427e00
+20406414
+1fe22400
+20406411
+20000064
+1a427e00
+20600000
+78547c00
+6808c6f3
+2040681d
+24608000
+da400002
+20404007
+c4038000
+da400000
+20404007
+6000c6dd
+c09f4145
+6800c6a7
+205a4039
+7046a701
+20404039
+6800c6a1
+1ff1fe00
+20404169
+6000c69c
+6800c6a1
+1fe17e0f
+20404169
+6000c69e
+6800c6f6
+c0004031
+c000c035
+c0014033
+c001c037
+20600000
+6800c6a4
+c0004051
+c000c045
+20600000
+20403fa3
+2020402d
+20403fa7
+2020402d
+20403fab
+2020402d
+20403fb3
+2020402d
+2040640f
+2040405d
+dfe00005
+20406414
+6000c6a1
+dfe00007
+20406414
+6000c6a2
+dfe00008
+20406414
+6000c6a3
+20206411
+6800c6a2
+c1800000
+6800c6a3
+1fe67c2d
+20610000
+7046a400
+5800ba41
+20406405
+58000032
+20406405
+5800b541
+20206405
+6800c6a2
+c1800000
+6800c6a3
+1fe67c2d
+24610000
+7046a401
+5800ba41
+20406405
+58008032
+20406405
+5800b541
+20206405
+dfe00003
+20406414
+6001469b
+dfe00004
+20406414
+6001469d
+20600000
+d840001b
+204067fb
+d840001b
+2040681d
+20608000
+68108109
+79207e04
+60108109
+20600000
+6808c6c0
+68108109
+9840fe00
+207a0000
+6000c69f
+7046c000
+20207fe7
+6808c6c0
+68108109
+9840fe00
+6000c6c0
+20600000
+6800c6c0
+207a0000
+6000c69f
+7046c000
+20207fe7
+6800c6ba
+207a0000
+6000c6a0
+7046ba00
+20207fe7
+da200000
+6808c6e2
+2040681d
+7920a200
+6808c6e3
+2040681d
+7920a201
+6808c6e4
+2040681d
+7920a202
+20404090
+1a227e00
+20600000
+6800c6e5
+c17f8000
+6808c6e5
+2040681d
+7920a203
+6808c6e6
+2040681d
+7920a204
+20600000
+20404083
+204040a8
+204040a3
+1a227e00
+6808c69a
+6000c69a
+9842fe00
+1fe67c00
+20628000
+20207fe7
+c6930000
+1a227e00
+207a0000
+6000c69a
+20207fe7
+68014682
+c284c0ad
+68014682
+c28040b0
+20600000
+1a227e00
+243a5820
+20205822
+1a227e00
+243a2bc7
+20202bc9
+44f3c01c
+d840001a
+680246d3
+2feffe12
+2040c0be
+2040681d
+20608000
+5800000a
+20406414
+200003e8
+202040b3
+d840001f
+20600000
+680246d3
+c28940c4
+d840001a
+202067fe
+d840001f
+202067fe
+20403d36
+20758000
+204040c0
+6800c6e0
+c002c0d5
+204040d9
+c01840e0
+c018c0ea
+204040d1
+200003e8
+202040cb
+44f4401d
+680246d3
+c28963e0
+202063d1
+204040d9
+c01f414b
+20404145
+202040d5
+58000001
+20406414
+6000c6de
+58000000
+20406414
+6000c6dd
+20600000
+6800c6de
+c068c139
+c06940f8
+c00140ee
+c02a40e6
+20600000
+7046e002
+20600000
+7046e006
+20600000
+6800c6de
+c03840e8
+7046e001
+20600000
+7046e004
+204040f6
+58003426
+20406413
+58000419
+20406413
+58000009
+20206413
+58005a09
+20206413
+7046e003
+204040f6
+58000f0d
+20406413
+5800e31d
+20406413
+5800d27d
+20406413
+20404102
+2020411a
+5800351b
+20406413
+5800b428
+20406413
+58004629
+20406413
+5800962a
+20406413
+58008c2b
+20406413
+58006e2c
+20406413
+5800642d
+20406413
+58005f38
+20406413
+58000f39
+20406413
+5800323a
+20406413
+5800473b
+20406413
+58001042
+20206413
+58002e54
+20406413
+5800f255
+20406413
+5800f461
+20406413
+58007063
+20406413
+58005275
+20406413
+58004176
+20406413
+5800ed77
+20406413
+58002378
+20406413
+58004679
+20406413
+5800e57a
+20406413
+5800487c
+20406413
+5800777e
+20406413
+5800017f
+20406413
+5800000b
+20406413
+5800007f
+20406413
+202040f4
+7046e000
+204040f6
+5800100d
+20406413
+5800ed1d
+20406413
+5800807d
+20406413
+20404102
+58000943
+20406413
+2020411a
+6808c6dc
+20406829
+20407ec1
+6808c6dc
+20406825
+20207ec1
+7046e005
+5800ba41
+20406405
+58000d11
+20406405
+5800041b
+20406405
+5800041c
+20406405
+58000f1d
+20406405
+58000032
+20406405
+5800b541
+20206405
+5800ba41
+20406405
+20000fa0
+5800ff7f
+20406405
+1a227e00
+20406405
+5800007f
+20406405
+5800b541
+20206405
+c4038000
+d840ff00
+9841fe00
+20600000
+c4018000
+d84000f0
+9841fe00
+20600000
+20405892
+247a0000
+6800c6c5
+1fe17e03
+c1818000
+680246d3
+c281c179
+c2804179
+c282c179
+20403f97
+24740000
+20203f90
+58000000
+6003c69a
+20203f90
+1a627e00
+c00a41c3
+c000c2ca
+c00ac1d9
+c00141d9
+c002c1d6
+c008426c
+c009429b
+c00341d5
+c00241cc
+c009c1cc
+c00541ca
+c01733cd
+c018c1b4
+c01941b6
+c01f4191
+c013c38e
+c01cc19c
+c01d4192
+c01e419a
+20600000
+20203410
+70478b01
+6800c71e
+243a4492
+6800c720
+6808c703
+98467c00
+2022b40a
+20600000
+70478b01
+20600000
+70478b01
+d8e00003
+204043d2
+58000000
+60014707
+7046a700
+6800c6e0
+1fe67c05
+2042c039
+2442c05d
+68008004
+c289c1af
+204041aa
+202065d1
+20402c7a
+1a60a2ae
+da40005b
+d8400004
+20600000
+20402c7a
+1a60a4ae
+ea408000
+6000c77b
+20204435
+d8e00002
+202041b9
+7046c602
+d8e00001
+202041b9
+6800c6c5
+f9207e00
+6000c6c5
+20600000
+6800c6c5
+f93ffe00
+6000c6c5
+20600000
+7046c500
+20600000
+6801420a
+793ffe00
+6001420a
+58000000
+600146ae
+20403f8d
+202042ca
+204063cb
+202033dd
+6800c71e
+243a4492
+68014682
+c28642b0
+680246d3
+c28041d7
+c282c2b0
+c281aead
+202033a7
+20203f74
+20600000
+204043c0
+2020659a
+44f4c01d
+204041e7
+680246d3
+c28041d7
+c281aead
+6800c71e
+243a4492
+68014208
+c283c1f5
+c28033a9
+c280c1ef
+c28141f2
+c281c1f2
+202042b0
+58000000
+600446b7
+e0a20000
+7046b400
+7046a700
+7041e200
+70442900
+20600000
+c282c1f2
+c281c1f2
+202042b0
+68014682
+c28642b0
+202033a7
+204041c1
+68014208
+c28033a9
+202033a7
+204043d6
+20404243
+20404246
+20404250
+2040445d
+20404443
+20404333
+204043a5
+204043eb
+20404209
+20404231
+20404234
+20404237
+2040423a
+2040423d
+20204240
+6800c711
+207a0000
+1fe0ffff
+6000c711
+247a0000
+2020420f
+6800c712
+c1000000
+c002c216
+20404225
+70471205
+70471105
+20600000
+2040422c
+70471204
+70471105
+20600000
+58008006
+20406413
+200003e8
+70471100
+70471200
+202040e0
+5800a006
+20406413
+5800a005
+20206413
+70471100
+6800c6e0
+c0024220
+58000106
+20406413
+5800a105
+20206413
+70471100
+58000906
+20206413
+70471105
+70471201
+20600000
+da604680
+da40429b
+2020336d
+da6046ac
+da404264
+20203374
+da6046ae
+da404266
+20203374
+da6046b0
+da40426a
+20203374
+da6046c4
+da404478
+2020336d
+da6046c6
+da40425e
+2020336d
+da604704
+da404249
+2020336d
+da604707
+da404249
+20203374
+20600000
+680246d3
+c40b8000
+7046df0a
+6800c6f4
+6000c715
+20600000
+da6046df
+da404253
+2020336d
+6800c6f4
+6000c715
+58000190
+60014716
+60014718
+da200000
+6808c77a
+18408401
+6008c714
+70471301
+20600000
+6800c6c5
+c3810000
+700a9912
+20407d8f
+d8e00000
+202041b9
+204042ca
+2020340a
+204033f6
+6800c71e
+243a4492
+2020340a
+c5137e1d
+20204386
+44f5401d
+7046b400
+20404386
+204041c1
+202042b0
+680341d0
+203a33eb
+2040427e
+70016d17
+6800c65a
+243a33e1
+70016d04
+202033e1
+680146a8
+600146ae
+2040427e
+20403418
+20207df4
+580000c8
+60014716
+60014718
+20204285
+580003e8
+60014716
+60014718
+6800c720
+c000c28a
+c001428c
+c001c28e
+20600000
+6800c6f0
+2020428f
+6800c6f1
+2020428f
+6800c6f2
+60008aa2
+20404482
+68008aa2
+6000c715
+da200000
+70471301
+20207d1e
+da200000
+20207d19
+da200000
+20207d14
+202041c1
+7041e201
+20403416
+20403412
+58000000
+6001467e
+6000c680
+2020340e
+2040435f
+6800c720
+6808c703
+98467c00
+2022c2ab
+6800c210
+c019c271
+c01a4279
+202042b0
+20403d57
+c6130000
+6800c71e
+243a4492
+20600000
+44f5c01d
+68014682
+c285c2b7
+680246d3
+c30c42b7
+180a7e00
+6000c4a1
+20403418
+68014687
+600146ac
+70016d06
+58000000
+600146b0
+600146ae
+d8e00007
+204043ce
+204043ca
+6800c092
+2feffe01
+2040fdf4
+6800c092
+2feffe00
+2040fddd
+680246d3
+c28e422e
+20204282
+44f6401d
+6800c092
+2feffe01
+2040c2d4
+6800c092
+2feffe00
+2040c2d7
+680246d3
+c28e421a
+20204482
+58000000
+600146ae
+20207dfa
+58000000
+600146ac
+20207de2
+680246d3
+c4038000
+d8e00007
+204043d2
+204042e8
+204042fb
+680246d3
+c289c435
+c28a42e4
+20600000
+d8400058
+da204720
+da400000
+202065d1
+68008185
+c01a42ec
+c019c2ef
+20600000
+6000c6c7
+6803044f
+202042f1
+6000c6c7
+68030040
+600346c8
+6803c6c7
+d8c04721
+df200003
+e8cb8000
+98467c00
+2022c310
+18c08c16
+c20042f5
+20600000
+da204721
+6800c720
+1fe0ffff
+1feffe1d
+9a20a200
+68008185
+e2208000
+c01a4305
+c019c30c
+20600000
+6803044f
+e0a30000
+d8c04419
+20407ebf
+680344a0
+e0a30000
+20600000
+68030040
+e0a30000
+d8c041be
+20207ebf
+18c08dfa
+18c20a00
+680b46c8
+18408403
+e0ab0000
+20600000
+d8400058
+da204720
+da400000
+204065df
+da204721
+6800c720
+6808c703
+98467c00
+20628000
+1fe0ffff
+1feffe1d
+9a20a200
+ea208000
+6000c210
+c019c327
+c01a432c
+20600000
+e8c30000
+600341d0
+d8a041be
+20407ebf
+202067d7
+e8c30000
+600341d0
+d8a04419
+20407ebf
+e8c30000
+600344a0
+20600000
+6800c6f5
+c282c349
+c2834359
+20204337
+20404083
+c003433e
+7046d81e
+6800c6d9
+c1008000
+7046d901
+20600000
+20404343
+6800c6d9
+c1000000
+7046d900
+202043c0
+6800c6d8
+207a0000
+1fe0ffff
+6000c6d8
+247a0000
+20204370
+6800c6ed
+c17f8000
+6808c6ed
+2040681d
+2020c354
+6800c6d9
+c1008000
+7046d901
+680246d3
+c3830000
+20204370
+6800c6d9
+c1000000
+7046d900
+d8e00006
+202043d2
+68008004
+c4030000
+6800c720
+c000c369
+c001436c
+20600000
+68008004
+c4030000
+6808c6ed
+2040681d
+2020c366
+70472001
+20600000
+6800c703
+6000c720
+20600000
+6808c6ed
+2420c370
+20600000
+6808c6ed
+2040681d
+2020c354
+20600000
+6808c720
+18408401
+6800c6d2
+98467c00
+244143cc
+6008c720
+7041bd00
+2040437a
+204043c0
+2020437e
+d8400001
+da204720
+da400000
+20206606
+20404381
+204043c2
+202041d7
+68014682
+c283c392
+c284b402
+c28033e9
+202042ca
+44f6c01d
+58000000
+600146b0
+68014682
+c284b402
+68014682
+c28033e9
+20600000
+58000001
+60030040
+70018533
+202042df
+204043c4
+20207e2f
+6800c6ec
+c17f8000
+6808c6ec
+2040681d
+2020c39f
+6800c685
+6000c6da
+6800c6db
+c1008000
+7046db01
+202043ca
+204043b5
+6800c6db
+c1000000
+7046db00
+20407e2f
+202043c8
+6800c6f5
+c2824394
+20404083
+c003c3af
+6800c685
+6000c6da
+6800c6db
+c1008000
+7046db01
+202043ca
+204043b5
+6800c6db
+c1000000
+7046db00
+20407e2f
+202043c8
+da6046da
+da4043b8
+2020336d
+d8e00006
+204043ce
+20403357
+2020426c
+d8e00001
+202043ce
+d8e00001
+202043d2
+d8e00000
+202043ce
+d8e00000
+202043d2
+d8e00002
+202043ce
+d8e00002
+202043d2
+d8e00005
+202043ce
+d8e00005
+202043d2
+d8400001
+20600000
+680246d3
+f9207e00
+600246d3
+20600000
+680246d3
+f93ffe00
+600246d3
+20600000
+680246d3
+c40d0000
+6800c6ce
+1fe0fe01
+6000c6ce
+1fe67c0a
+20610000
+7046ce00
+204068eb
+20406908
+6001470f
+da204709
+20406930
+6800c231
+c280c4a0
+c30043e9
+202043e7
+d8e00004
+202043ce
+d8e00004
+202043d2
+680246d3
+c4020000
+6800c6ef
+6000c715
+6800c6cf
+1fe0fe01
+6000c6cf
+1fe67c14
+244143f9
+c00143fb
+c00243fe
+c00343fb
+c00443fe
+20600000
+7046cf01
+202043fe
+da200000
+70471302
+20207d14
+da200000
+70471302
+20207d19
+20403f97
+24740000
+da200007
+da40469a
+20600000
+6800c78b
+207a0000
+6808c6e7
+2040681d
+2040c410
+6800c704
+247a0000
+20404083
+247a0000
+20202d83
+6800c6e7
+c17f8000
+7047040a
+20600000
+20404423
+68014778
+d840aa55
+98467c00
+2022c42b
+60094778
+2040441c
+20204435
+680344a0
+60034738
+1fe0ff00
+60034755
+1fe0ff00
+60034772
+20600000
+58004778
+d8404720
+98460400
+6801c700
+9840fe00
+d8400002
+da204778
+20206562
+5800477f
+d8404720
+98460400
+6801c700
+da204720
+20406562
+2040431a
+6802477b
+20402c7a
+2020322c
+5800477f
+d8404720
+98460400
+da204720
+6801c700
+20206514
+d8400001
+da20477a
+da40005a
+202065d1
+d8400001
+da20477a
+da40005a
+202065df
+c6130000
+680246d3
+c40b0000
+6800c705
+1fe0fe01
+1fe17e07
+6000c705
+c1838000
+68014682
+c280444f
+c284c44f
+20600000
+44f7401d
+6800c706
+247a0000
+680246d3
+c4040000
+6800c6a5
+204063fb
+6000c6a6
+1fe67c10
+2021445b
+70470600
+20600000
+7047061e
+20600000
+da604706
+da404460
+2020336d
+6800c6a5
+20406414
+1fe67c10
+24610000
+680246d3
+c4040000
+d8e00008
+204043d2
+70417200
+7046c41e
+20404482
+680246d3
+c28ac471
+6800c720
+c000c489
+c0014476
+20600000
+6800c720
+c000c489
+c001448c
+c001c48f
+20600000
+6800c6f0
+2020428f
+70417220
+20204482
+6800c6f0
+c17f8000
+6000c715
+20204296
+6800c6f1
+c17f8000
+6000c715
+20204296
+20404296
+2040447a
+2040447e
+6800c6f2
+c17f8000
+6000c715
+20204296
+6800c6f0
+6000c715
+20204298
+6800c6f1
+6000c715
+20204298
+6800c6f2
+6000c715
+20204298
+44f7c01d
+6800c71e
+1fe0ffff
+6000c71e
+6808c720
+18408401
+6800c6d2
+98467c00
+244143cc
+6008c720
+7041bd00
+2040437a
+204042fb
+202042a2
+20404482
+58000000
+600400a1
+20202b1f
+20758000
+68108081
+1fe17ef0
+60108081
+20406948
+580044e6
+600141eb
+580044e9
+600141ed
+580044ef
+600141f3
+580044f2
+600141f5
+580033d0
+600141e9
+20402c7a
+580045c2
+1a608ad8
+e0a10000
+580044ea
+1a608ada
+e0a10000
+580044e9
+1a608adc
+e0a10000
+5800450e
+600141fd
+580044da
+6001475b
+580044d6
+6001475f
+58004560
+6001470f
+44f8401e
+204044e2
+20407e38
+70417202
+6800c72b
+6000c69a
+c00044d5
+6800c72c
+6000c686
+204044db
+20407cd3
+20407cdd
+70475701
+68014682
+c3860000
+2020340a
+70475702
+204044db
+da200000
+20407d1e
+20202ee4
+202044db
+44f8c01e
+6800c729
+c0ffc4e0
+6808c706
+2020680e
+6000c706
+202044de
+20402c9d
+68014753
+60014755
+20204515
+20406835
+204044e9
+2020340a
+2020696c
+6800c765
+207a0000
+20202d83
+20600000
+20206978
+20404544
+20404503
+202044ee
+1a627e00
+c016b431
+c008341a
+c01cc4fb
+c01e44ff
+c01d44f9
+20600000
+70476501
+20600000
+70476501
+70476301
+70476401
+20600000
+70476501
+70476301
+70476401
+20600000
+6800c763
+c1000000
+6800c762
+c1008000
+70476201
+da200000
+20207d19
+da200000
+20407d19
+204044db
+2020340a
+2040337b
+20204510
+6800c72d
+207a0000
+da604755
+da40450a
+20203374
+2040451a
+6009471a
+2040451f
+6009471c
+20600000
+6801471a
+6001471e
+20404540
+20404525
+6000c724
+6801471c
+6001471e
+20404542
+20404525
+6000c725
+20600000
+68014720
+1fe22200
+6801471e
+2040452e
+6800c719
+243a4537
+24610000
+6809471e
+20600000
+98467e00
+20214534
+1fe67e00
+70471801
+9a267c00
+20600000
+70471800
+9a267c00
+20600000
+2421453e
+6800c718
+243a453c
+58000001
+20600000
+58000002
+20600000
+58000000
+20600000
+70422e33
+202068eb
+70422e34
+202068eb
+6800c72a
+c1808000
+44f9401e
+70471901
+2040451a
+68014724
+68094722
+98467c00
+20628000
+60014722
+20404550
+20204554
+6800c724
+203a455a
+1fe0ffff
+20204557
+6800c725
+203a455d
+1fe0fe01
+1fe20e00
+da200001
+20204560
+d8e00000
+da200000
+20204560
+d8e00002
+da200000
+20204560
+1a227e00
+6000c761
+6800c763
+c0002ee4
+68014753
+60014755
+6800c761
+203a4580
+44f9c01e
+da200000
+20407d14
+18e27e00
+c00245a3
+c002c5a5
+c00345a7
+2040458b
+c0004574
+c001457a
+c001c574
+20600000
+18e27e00
+c000458f
+c000c591
+c0014593
+c001c595
+20600000
+18e27e00
+c0004597
+c000c59a
+c001459d
+c001c5a0
+20600000
+44fa401e
+da200000
+20407d19
+18e27e00
+c00245bc
+c002c5bc
+2040458b
+c00045a9
+c00145af
+c001c5a9
+20600000
+6800c728
+6808c727
+9841fe00
+20600000
+70473401
+202045be
+70473402
+202045be
+70473601
+202045be
+70473602
+202045be
+70473401
+70473601
+202045be
+70473402
+70473602
+202045be
+70473402
+70473601
+202045be
+70473401
+70473602
+202045be
+70473801
+202045be
+70473802
+202045be
+70474101
+202045c0
+18e27e00
+c00045b5
+c000c5b5
+c00145b7
+c001c5b7
+20600000
+18e27e00
+c00045b9
+c000c5b9
+c00145b9
+c001c5b9
+20600000
+70473400
+202045be
+70473600
+202045be
+70473400
+70473600
+202045be
+70473800
+202045be
+da20472e
+20207e3d
+da20473b
+20207e3d
+6800c764
+c000c5cc
+da204744
+20407e54
+243445d1
+d8c04744
+e8c08000
+1fe22200
+da404745
+20600000
+70476400
+78347c00
+da200001
+da404766
+20600000
+6800c747
+c00245d5
+c002c5d5
+20600000
+6800c74a
+243a45dc
+6800c74c
+243a45dc
+6800c74e
+243a45dc
+20600000
+78347c00
+202045c7
+20758000
+68108081
+1fe17efc
+60108081
+580046b4
+600141eb
+580046b3
+600141ed
+5800340a
+600141f7
+580046b1
+600141f3
+58004612
+600141f5
+5800460c
+600141e9
+5800476a
+600141f9
+58004686
+600141fd
+58004729
+600146e7
+58004806
+600146e2
+58004807
+600146e4
+204057a3
+204047da
+20404788
+2040476d
+20406948
+2040477a
+20407e38
+20407d08
+20404793
+204047c7
+44fac01e
+2040464f
+6800c6dd
+c0004609
+6800c6de
+6000c686
+2020480e
+704686ff
+7046df01
+202046d9
+6800c6df
+c00133d0
+2040527e
+6800c256
+243a33d0
+202033d2
+1a627e00
+c000c626
+c0014629
+c0024631
+c002c633
+c0034635
+c003c638
+c009463c
+c009c644
+c013c645
+c0174648
+c01ec649
+c00a4658
+c00ac65c
+c01fc65f
+c0204665
+c008466b
+c016466c
+c016c677
+20600000
+7046ad00
+7046ac00
+20600000
+2040462b
+20204631
+7041e200
+70468000
+70420500
+7046ac00
+7046ad00
+20207e38
+204033a9
+202046c2
+204046b6
+20203408
+58000002
+6000c680
+20600000
+7046ac00
+58000001
+6000c6ad
+20600000
+6800c1e2
+c1008000
+7041e201
+20403416
+20403414
+204046b6
+20403408
+2020340e
+20204631
+58000005
+6000c6ac
+20600000
+202033cd
+da400000
+6800c217
+1fef8422
+68014215
+1fe22200
+20206606
+da400000
+6800c69a
+c4008000
+6800c217
+207a0000
+1fef8422
+68014215
+1fe22200
+202065df
+204046b6
+58000000
+600146b7
+20203408
+20407e38
+7046b000
+202046d9
+20407e38
+7046b001
+680446c1
+60044496
+20403416
+20205abf
+68014509
+c1000000
+680446c9
+207a0000
+60044496
+20205abf
+2020481f
+6800c6dd
+c1000000
+6800c6df
+c1808000
+20404672
+20203406
+7048df01
+df20000b
+d8a048e0
+d8c048c9
+20207f01
+6800c6dd
+c1000000
+6800c6df
+c000c67c
+2020481b
+6800c8df
+c1808000
+7048df00
+68014682
+c2803408
+c284b408
+df20000b
+d8c048e0
+d8a048c9
+20207f01
+2040468c
+20404693
+2040469e
+204046a6
+204046a9
+202046ac
+da6046db
+da40468f
+20203374
+7046df02
+20403408
+204046f4
+2020480b
+da6048ec
+da404696
+2020336d
+68014682
+c284c80b
+c280480b
+6800c8c9
+c000c80b
+c002480b
+c002c80b
+2020340a
+da6046ac
+da4046a1
+2020336d
+6800827f
+79207e00
+79207e07
+6000827f
+20600000
+da604680
+da40463c
+2020336d
+da6046ad
+da4033e9
+2020336d
+6800c6df
+c1808000
+da6046b7
+da4046c2
+20203374
+2040473a
+20206978
+2020696c
+20406835
+202046b3
+6800c69a
+c280c6be
+c28046ba
+20600000
+680146d7
+600146d9
+600146db
+202033f8
+680146d3
+600146d9
+600146db
+202033f0
+6800c6df
+c1808000
+6800c69a
+c280c6c8
+c28046cc
+20600000
+680146d1
+600146d9
+600146db
+202033eb
+68014682
+c3848000
+680146d5
+600146d9
+600146db
+680146b3
+204046f0
+20403404
+680246bd
+600248cc
+68014682
+c3858000
+202033fa
+6800c6df
+c1808000
+6800c69a
+c280c6df
+c28046e4
+20600000
+204046f8
+203a46c2
+20403406
+204033f0
+202033e1
+680146b7
+680946b5
+600946b7
+247a0000
+680146b1
+204046f0
+20403404
+680246b9
+600248cc
+68014682
+c3858000
+202033fa
+60014154
+1fe0fffc
+60014482
+20600000
+68014682
+c284b402
+c28033e9
+202046b6
+6800c217
+1fe27200
+68014215
+1fe22200
+ea210000
+c0004701
+1a20a222
+c20046fc
+20207ff1
+e8c30000
+600341d0
+18c08c0a
+d8a041be
+20407ebf
+204067d7
+20207fef
+20407fe9
+68014682
+c280470d
+c284c710
+20600000
+6800c253
+c19f8000
+20207fe7
+6800c6b0
+207a0000
+20207fe7
+20407fe9
+68014682
+c3800000
+c3848000
+20207fe7
+6800c69a
+c280c71c
+c280471f
+20600000
+6800c093
+c1818000
+202046d9
+202046d9
+78567c00
+680146d9
+600146db
+20404713
+20344718
+20404708
+24740000
+78367c00
+20600000
+20404720
+24760000
+1a227e00
+203a4730
+20403406
+da6046f1
+20204732
+20403408
+da604719
+dfe00005
+98effe00
+9a60a600
+ea608000
+207a0000
+20404762
+1a60a601
+20204735
+68014682
+c284c73e
+c280474e
+20600000
+20405892
+247a0000
+20404765
+24740000
+1fe0ffff
+1feffe05
+d8404741
+98408c00
+e8c08000
+1fe22200
+e8c90000
+20407ea5
+20405a64
+1a227200
+20407e9f
+20207f01
+20405271
+247a0000
+20404765
+24740000
+1fe0ffff
+1feffe05
+d84047a0
+98408c00
+e8c28000
+6002c79b
+6800c79b
+1fe22200
+20404d63
+6801424e
+e0a10000
+580000a1
+e0a08000
+6802479c
+e0a48000
+20600000
+60008a9a
+da200a9a
+20207e3d
+da200a9a
+20407e54
+24740000
+68008a9a
+20600000
+68010478
+c00c465f
+20600000
+58000002
+6000c8eb
+58200008
+600246c1
+592c0005
+e0a20000
+7044a617
+5800001b
+600144fa
+20405810
+2040582c
+20405839
+20205818
+df200028
+d8a04741
+d8c0949f
+20407ef4
+df200028
+d8a047a0
+d8c094c7
+20207ef4
+df20017e
+d8c0913a
+20207ef4
+df2001e7
+d8c092b8
+20207ef4
+204047ae
+24740000
+6800c69f
+20404790
+6800c6a0
+20404790
+6800c6a1
+20204790
+207a0000
+1fe18480
+202067f9
+204047ae
+24740000
+20404797
+202047b4
+da200000
+6800c69f
+204047a9
+7d3a2200
+6800c6a0
+204047a9
+7d3a2201
+6800c6a1
+204047a9
+7d3a2202
+1a227e00
+6000c6a9
+6800c69e
+9a2ffe00
+6809469c
+9840fe00
+600146aa
+20600000
+207a0000
+1fe18480
+2040681d
+2420fff1
+20207fef
+20407fe9
+6800c6a8
+247a0000
+6800c69b
+207a0000
+20207fe7
+2040666a
+680146aa
+da200ac2
+6808c69e
+204066b3
+2040666d
+68008ac2
+1fe27200
+6000c3af
+20407ef4
+68008ac2
+1fe27200
+6000c515
+20407ef4
+e8c08000
+6000c6e6
+e8c08000
+6000c6dd
+20600000
+6800c69a
+c4008000
+d8400003
+680146a4
+1fe22400
+da2046a6
+204065df
+680946a6
+58001b3a
+98467c00
+24628000
+6800c6a8
+207a0000
+1fe20400
+680146a4
+1fe0a403
+da200ac2
+204065df
+202047e8
+680146a2
+207a0000
+2040666a
+d8400001
+da2046a8
+204066b3
+6800c6a8
+207a0000
+680146a2
+1fe0fe01
+da200ac2
+6808c6a8
+204066b3
+2040666d
+204047ba
+e8c10000
+207a0000
+1fe20a00
+e8c88000
+18427200
+20407f01
+202047e9
+6800c69a
+c4008000
+680146ae
+1fe22400
+d8400004
+da200ac2
+204065df
+68008ac2
+c080c7f9
+58000001
+60008ac2
+18007203
+2040630d
+680146ae
+1fe22400
+d8400004
+da200ac2
+20406606
+68018ac3
+6001c0a0
+6001c4a0
+20600000
+202046d9
+da200000
+da6048d4
+20407d24
+204046f4
+6800c8eb
+6000c8ec
+20600000
+58000000
+20404816
+70467901
+20407cd3
+20407cdd
+68014682
+c3860000
+2020340a
+6809423f
+e0408000
+e8a08000
+6000c685
+20600000
+6801423f
+efe08000
+c1800000
+2020340a
+6809423f
+e8408000
+c000c82a
+58000001
+6809423f
+e0408000
+18408c02
+e8c08000
+e0a08000
+e8c10000
+20207f9c
+58000002
+20404816
+18408c05
+e8c10000
+203a340a
+20207f9c
+60030101
+68008101
+6000810c
+e8c08000
+6000810b
+e8c08000
+6000810a
+e8c08000
+60008109
+e8c08000
+60008108
+e8c08000
+60008107
+68030107
+20600000
+204068a2
+6800c223
+6000c4a0
+6800c225
+e0a08000
+6800c227
+e0a08000
+6801c4a0
+6001c0a0
+20600000
+68014203
+9a40fe00
+1ff0fe00
+600101f7
+18422400
+2040489b
+580000a0
+2040488d
+680081f7
+2040488d
+c5144856
+680081f8
+2040488d
+204048a1
+2040489b
+580000a1
+2040488d
+2040487f
+e2208000
+1a20a201
+1a40a5ff
+2422c85a
+202048a1
+1a50fe00
+600101f7
+18422400
+2040489b
+580000a0
+2040488d
+680081f7
+2040488d
+c514486b
+680081f8
+2040488d
+ea208000
+2040488d
+1a20a201
+1a40a5ff
+2422c86b
+202048a1
+df20000a
+204048be
+204048a6
+204048d2
+204048c7
+203a48a9
+c2004875
+202048a9
+204048a9
+204048af
+204048d2
+204048a6
+204048d2
+202048a9
+df200008
+da600000
+204048be
+204048a6
+204048d2
+1a63a600
+204048c7
+9a60a600
+204048d2
+204048a9
+c2004882
+20404879
+1a627e00
+20600000
+df200008
+1fe22600
+204048a9
+2a6ffe07
+2040c8ac
+2440c8af
+1a63a600
+204048d2
+204048a6
+204048d2
+204048a9
+204048d2
+c2004890
+20204871
+204048ac
+204048a6
+204048d2
+204048af
+204048d2
+202048a9
+204048af
+204048a6
+204048d2
+204048ac
+202048d2
+78347c00
+6800cffe
+202048b2
+78547c00
+6800cffe
+202048b2
+78347c00
+6800cfff
+202048b2
+78547c00
+6800cfff
+202048b2
+1fe10e07
+1fe97e00
+d8408070
+98408400
+e8408000
+f9207e00
+e0408000
+18408404
+e8408000
+f9347e00
+e0408000
+20600000
+6800cfff
+1fe10e07
+1fe97e00
+d8408070
+98408400
+e8408000
+f93ffe00
+e0408000
+20600000
+20000004
+6800cfff
+1fe10e07
+1fe97e00
+d840811c
+98408400
+58000000
+e8488000
+a84fffff
+7920fe00
+20600000
+20600000
+44fb401e
+68108a26
+2feffe07
+2040c8ea
+2040492e
+68108a26
+60008b22
+68108a27
+60008b23
+60108a27
+1fe47e00
+68088d37
+98417e00
+60008d37
+708a26e0
+68008b23
+2fe00201
+2040c941
+68008b22
+2fe00201
+2040c94a
+20404b61
+20204903
+44fbc01e
+20404919
+708a0000
+20002710
+708a10c0
+68110050
+793ffe0a
+60110050
+708a003c
+708a26ff
+708a27ff
+708a0400
+700c6b02
+58000d9d
+d8a00c6e
+98a67200
+20207ed4
+68088c6c
+202067fb
+68008d45
+207a0000
+68088c6c
+2040681d
+2020c8ea
+20600000
+d8e00000
+20407f16
+247a0000
+68008d46
+247a0000
+68008d45
+245a4bb7
+20600000
+d8a00b68
+38011212
+38048000
+38080000
+380d0000
+e0a48000
+38022412
+38048604
+38081000
+380c0008
+e0a48000
+38000001
+e0a08000
+20600000
+700c6b02
+58000000
+60008b67
+60010c65
+1fe0fe01
+60010c67
+1fe0fe01
+60010c69
+58008ffa
+60010b7c
+5800903a
+60010b7e
+d8a00b80
+d8c090fe
+20407eb3
+68008c6d
+245a492b
+2020490b
+60008ba2
+60008bbb
+20600000
+68108a26
+c2834931
+20600000
+20404936
+20407f15
+58000280
+d8e00000
+20207f08
+68008d36
+c081493b
+700d4600
+700d4700
+20600000
+68008d53
+207a0000
+700d5300
+700d3602
+700d4501
+20600000
+708a2701
+20204b37
+68008b22
+c2824955
+20600000
+68108a18
+e0a08000
+c2004946
+20600000
+44fc401f
+708a2611
+68108a20
+60008b24
+1fe27200
+203a4943
+d8a00c6e
+20404946
+68008b24
+1fe67c07
+20610000
+68008c6e
+1fe17e80
+c040495a
+c0004962
+20202a8c
+68008c6e
+1ff1fe00
+1fe37e00
+1fe17e03
+c000496a
+c000c970
+c0014975
+20202a8c
+68008c6e
+1ff1fe00
+1fe37e00
+1fe17e03
+c0004976
+c000c97e
+c0014983
+20202a8c
+68008c6f
+c004498a
+c00349a0
+c00549ea
+c00049fc
+20204984
+68008c6f
+c0014a2f
+c000ca33
+c001ca45
+20204984
+20204984
+68008c6f
+c000ca4f
+c001ca79
+c002caa3
+c004cabc
+c005cad7
+c003c984
+20204984
+68008c6f
+c0054ae8
+c004caf9
+c005cb11
+20204984
+20204984
+68108a11
+79207e00
+60108a11
+20204988
+708a1240
+20600000
+68008c6e
+c0c04984
+68008c72
+c0804984
+68008c73
+c0804984
+68008c74
+c080c984
+68008c75
+c0804984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c6b
+c002499c
+c001c99e
+20204984
+da400001
+20204a14
+da400001
+20204a12
+44fcc01f
+793f8023
+68008c71
+c000c9b6
+c00149cf
+c001c9d2
+c010c9a9
+c01149e0
+20204984
+700d4b00
+68008c72
+c00049ae
+c000c9b2
+20204984
+da200b93
+ea208000
+98002400
+20204b21
+da200bac
+ea208000
+98002400
+20204b21
+68008d48
+245a49c7
+58000b68
+68088b68
+60010d3f
+60088d41
+68008c74
+98467c00
+242149c5
+68008d41
+98002400
+68010d3f
+1fe0fe01
+98002200
+20204b21
+68008c74
+202049c0
+68108a04
+245a49cb
+700d4800
+20600000
+68108a04
+79207e07
+60108a04
+20600000
+58000b80
+68088b80
+202049ba
+68008c70
+1fe67c03
+24214984
+68008c70
+da200be4
+c0004b1e
+79200023
+da200be9
+c000cb1e
+da200c07
+c0014b1e
+da200c47
+c001cb1e
+20600000
+68010c72
+c000c9e5
+68010b7c
+1fe22200
+20204b1e
+700d4501
+700d3601
+68010b7e
+1fe22200
+20204b1e
+68008c6b
+c0824984
+68008c6e
+c0c0c984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c74
+c080c984
+68008c75
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+da400001
+20204a12
+68008c6b
+c0014984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c74
+c0814984
+68008c75
+c0804984
+68008c73
+c0804984
+68008c6e
+c0404a0d
+c040ca18
+c0414a1c
+20204984
+68008c72
+c0804984
+da400002
+68008d39
+c000ca16
+da200c65
+20204b21
+da200c67
+20204b21
+da200c69
+20204b21
+68008c6b
+c0824984
+da400002
+20204a12
+68008c6b
+c0824984
+68008c72
+c040ca29
+c0414a2b
+c041ca2d
+1fe17e7f
+c0004a25
+20204984
+68008d3b
+da400002
+c000ca14
+20204a12
+68008d3c
+20204a26
+68008d3d
+20204a26
+68008d3e
+20204a26
+700d4c01
+da200d4d
+da400001
+20204b21
+68010c70
+d84001ba
+98467c00
+2422c984
+793f8023
+68008d42
+243a4a42
+700cf600
+68008c74
+98002400
+da200cf6
+20404b21
+d8a00cf6
+df200008
+20207ec6
+700d4200
+700cf601
+20204a3b
+68008c74
+c080c984
+700d4b01
+da400001
+68008d49
+c0004a4d
+c000ca4e
+20204a12
+20204a14
+20204a12
+68008c6b
+c0824984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c71
+c0804984
+68008c73
+c0804984
+68008c6e
+c0004a5e
+c000ca66
+c0014a67
+20204984
+68008c70
+c080c984
+68108a00
+793ffe07
+60108a00
+700d3900
+700d3a01
+20204988
+20204984
+68008c70
+c0804984
+68008c72
+c040ca72
+c0414a75
+c041ca77
+1fe17e7f
+c0004a70
+20204984
+700d3b00
+20204988
+700d3c00
+700d5301
+20204988
+700d3d00
+20204a73
+700d3e00
+20204a73
+68008c74
+c0804984
+68008c75
+c0804984
+68008c6e
+c0004a82
+c000ca8f
+c0014a90
+20204984
+68008c70
+c080c984
+68108a00
+79207e07
+60108a00
+700d3901
+700d3603
+700d4300
+20404988
+20407f15
+58001388
+d8e0000f
+20207f08
+20204984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c72
+c040ca9d
+c0414a9f
+c041caa1
+1fe17e7f
+c0004a9b
+20204984
+700d3b01
+20204988
+700d3c01
+20204988
+700d3d01
+20204988
+700d3e01
+20204988
+68008c6e
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c71
+c0804984
+68008c70
+1fe17e80
+c0804984
+68008c70
+c0804aba
+700c6b02
+68008c70
+60108a04
+20404988
+700d4801
+20600000
+700c6b03
+20204ab5
+68008c6b
+c0014984
+68008c6e
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c71
+c0804984
+68008c70
+1fe67c01
+24214984
+68008c6b
+c001cad1
+c0024ad1
+20204984
+68008c70
+c0004ad5
+700c6b04
+20204988
+700c6b03
+20204988
+68008c6b
+c0824984
+68008c6e
+c080c984
+68008c70
+c0804984
+68008c71
+c0804984
+68008c74
+c0804984
+68008c75
+c0804984
+68008c72
+c0804984
+68008c73
+c0804984
+20204988
+700d4c01
+68008c71
+60008d4d
+68008c72
+1fe67c01
+2042caf5
+68008d36
+c0824988
+700d3602
+20404988
+20007530
+20007530
+20600000
+700d4501
+700d3a00
+700d3604
+20600000
+700d5001
+20404b03
+68010c70
+60010d4e
+68008c74
+98007200
+d8c00c76
+d8a00cb6
+20407f01
+20204988
+68010c70
+d8400200
+98467c00
+24628000
+68010c72
+d8400000
+98467c00
+24628000
+68010c74
+d8400001
+98467c00
+24628000
+700d4301
+20600000
+68008c74
+c0804984
+68008c70
+c0004b17
+c000cb1a
+20204984
+700d4a00
+700d4901
+20204988
+700d4401
+700d4a01
+700d4900
+20204988
+ea208000
+98002400
+1a20a201
+44fd401f
+c591cb2c
+1a40fe01
+1fe3fe00
+60108a18
+708a1803
+68008c74
+1fe0fffe
+1fe37e00
+60008c74
+c0004b35
+68010c74
+9a467c00
+20214b30
+1fe22400
+1a227e00
+60010b65
+1a427e00
+60008b67
+20204b37
+d8e00000
+20204b57
+44fdc01f
+68008b67
+207a0000
+1fe27200
+1fe67c40
+20214b3e
+df200040
+68008b67
+9f267e00
+60008b67
+68010b65
+1fe20c00
+e8c08000
+60108a18
+c591cb47
+708a1800
+c2004b43
+18c27e00
+60010b65
+d8e00000
+20404b57
+68008b67
+247a0000
+68008d36
+c1808000
+700d3602
+20600000
+da208a19
+d8e00001
+e8c08000
+e2208000
+c2004b54
+58000000
+f9207e00
+60108a10
+68088d37
+9841fe00
+60008d37
+20600000
+d8e00002
+da208a1a
+20204b54
+44fe401f
+68008d38
+207a0000
+68008d37
+243a4bac
+68008d45
+203a4b86
+68008d36
+c001cbbf
+c0814b86
+68008d3a
+243a4b86
+20404b6f
+20204b7a
+68008d38
+c4008000
+68008d37
+c3808000
+68008d38
+793ffe01
+60008d38
+68008d51
+207a0000
+c0084ba8
+20202a8c
+68008d38
+c4010000
+68008d37
+c3810000
+68008d38
+793ffe02
+60008d38
+68008d52
+207a0000
+c0104b89
+c010cba4
+20202a8c
+d8a00d54
+df200006
+20207ec6
+68008d4c
+68088d4b
+98417e00
+203a4ba0
+68088d4a
+9840fe00
+c000cb91
+20204ba0
+700d5200
+68008d55
+c0014ba1
+c001cba1
+68008d55
+60008d54
+68008d56
+e0a08000
+68008d58
+e0a08000
+68008d5a
+e0a08000
+df200004
+d8c00d54
+20204b5e
+700d5200
+df200008
+d8c00d54
+20204b5e
+700d5200
+df200003
+d8c00d74
+20204b5e
+700d5100
+df200008
+d8c00d64
+20204b52
+68008d36
+c001cbb0
+c0014bb2
+20600000
+700d3700
+20600000
+68108a00
+79207e07
+60108a00
+700d4701
+20600000
+68008d36
+c1018000
+c0014bbb
+20600000
+68008d47
+207a0000
+700d4601
+20204bc2
+d8e0000f
+20407f16
+247a0000
+68108a00
+c4038000
+708a00fc
+20007530
+708a003c
+20600000
+44fec01f
+6800c1ce
+247a0000
+20404bce
+24544be6
+20600000
+44ff401f
+18622200
+d8400004
+e8608000
+c000cbd8
+18408401
+c0014bd8
+18627e00
+60110058
+20600000
+68110112
+98467c00
+24214bd8
+78547c00
+1a220600
+20404bee
+98408400
+68110112
+98467c00
+24214bdf
+1a220600
+e8608000
+c000cc3f
+20202a8c
+44ffc01f
+68110058
+98000600
+20404bee
+98608600
+18627e00
+60110058
+20600000
+e8608000
+18608602
+c0014bf3
+e8608000
+20600000
+e8610000
+20600000
+6811005e
+194095fb
+99409400
+20600000
+d8400004
+20204bfc
+d8400002
+47004020
+1f20f201
+6811005e
+1fe21400
+1f227e00
+e1488000
+1fe0ffff
+99409400
+19427e00
+60010258
+18427e00
+c1010000
+68010258
+6011005e
+20204c0b
+58000000
+60010258
+20600000
+20758000
+58004d28
+600141f3
+580001a0
+60014243
+58001800
+60110054
+58001bff
+60110056
+58001c00
+6011005a
+20404c28
+70806200
+58001c00
+6011005e
+60110060
+58001800
+60110058
+60010244
+68110050
+793ffe0f
+60110050
+204066ce
+70804301
+70806281
+20600000
+58001fff
+6011005c
+68108081
+1fe1fe07
+60108081
+20600000
+4700c020
+6810810c
+98002400
+c301cc37
+68110112
+98002600
+d840044f
+98467c00
+24628000
+68110058
+98000600
+20204bc8
+6818810c
+284ffe06
+2020cc3a
+60108015
+20600000
+47014020
+6800c1ce
+203a4c44
+78347c00
+20600000
+e8610000
+98006000
+98000e00
+e8608000
+98000400
+1e0b7e00
+1fecfe00
+c01fcc4d
+20600000
+4701c020
+18e27e00
+c0004cdc
+c000cc66
+c0014c6b
+c001cc7a
+c0024cb3
+c002ccdc
+c0034cc6
+c003cc5c
+c0084cc9
+c008ccd1
+c0094ca5
+c009cc85
+20204cdc
+20404cdc
+20407f9e
+2040688c
+204033d2
+204033d9
+2020688f
+70424500
+204033d0
+20404c13
+202033db
+20404cf2
+68110000
+e1410000
+18007206
+20204cdd
+e8610000
+60014243
+60110052
+20600000
+e8608000
+1fe20400
+60108024
+e8608000
+98408400
+79207e07
+60108023
+e8608000
+98408400
+1fe27200
+20600000
+c515ccc4
+20404c6f
+e8608000
+60108025
+98408400
+c2004c7c
+184104ff
+e8608000
+98467c00
+2422ccc4
+20204cdc
+c595ccc4
+20404c6f
+60040a9a
+20407422
+df200010
+d8a00ac2
+20404ca0
+600c0aa2
+d8a00ad2
+20407497
+da200ad2
+da400ac2
+d8a00ae2
+20407352
+df200010
+d8c00ae2
+20404c9c
+680c0aa2
+68040a9a
+1fe0fff0
+60040a9a
+243a4c88
+20204c80
+e8c08000
+60108025
+c2004c9c
+20600000
+e8608000
+e0a08000
+98408400
+c2004ca0
+20600000
+c595ccc4
+d8400000
+df200010
+d8a00ac2
+20404ca0
+68108085
+1fe17efd
+60108085
+d8c00ac2
+df200010
+20407478
+20407428
+20407491
+20204c80
+df200020
+d8a04000
+d8400000
+e8608000
+e0a08000
+98408400
+c2004cb6
+184104ff
+e8608000
+98467c00
+2422ccc4
+70802300
+20404cdc
+20404be6
+204064a3
+20407f9e
+20202001
+70802300
+20202000
+e8630000
+600340a0
+20204cdc
+e8608000
+6000825a
+1fe27200
+e8610000
+6001025b
+1fe20a00
+204066fd
+20204cdc
+e8608000
+6000825a
+1fe27200
+e8610000
+6001025b
+d8a01000
+204066fd
+6808825a
+da201000
+6801025b
+20206608
+18007204
+20404cf4
+18007e01
+e1408000
+1e027e00
+e1418000
+18000e0e
+47024020
+20404cf6
+18e27e00
+e1408000
+1f227e00
+e1408000
+18000e05
+1f20f202
+20204bf9
+18000eff
+20404cf4
+58000001
+e1408000
+18007201
+20204ce3
+1800140c
+20204cf7
+18001408
+20204cf7
+18001406
+20204bf5
+7827fc00
+7824fc00
+e9408000
+08008008
+c2004cfa
+78247c00
+08008010
+78447c00
+7844fc00
+7847fc00
+1ff0fe00
+20600000
+7041ce00
+20600000
+680341d0
+680b0040
+98467c00
+20600000
+6800804b
+c2814d0f
+204062ef
+70007c08
+20204d04
+793ffe02
+6000804b
+20406001
+58000000
+7934fe01
+6000807f
+20204d04
+20600000
+70007c17
+d8a004d9
+58000000
+2d0ffe1b
+7920fe01
+e0a08000
+58000000
+e0a10000
+680141e3
+e0a10000
+6800c1e5
+e0a10000
+6800c1e7
+e0a10000
+20204d04
+70007c18
+20204d04
+20406899
+20608000
+d8400007
+2040681d
+2420cd2f
+70424501
+20600000
+6800c245
+c1808000
+20404c62
+20204cec
+4702c020
+68010264
+1fe20c00
+e8c08000
+1fe1040f
+1ff1fe00
+c004cd53
+c003cd53
+c0054d5f
+c002cd4b
+c000cd3f
+20600000
+18427e00
+c002cd43
+c001cd4a
+20600000
+700a9927
+20407d86
+6800c092
+c4030000
+18427e00
+c002c38e
+20600000
+20600000
+20404d5f
+da200001
+20404d63
+6801424c
+e0a10000
+58000000
+e0a08000
+20600000
+da200001
+20404d63
+6801424c
+e0a10000
+58000000
+e0a08000
+700a8e01
+6800c252
+79207e06
+6000c252
+700a9912
+20207d86
+e8c08000
+c000cd62
+20600000
+20600000
+20405240
+1a220400
+60088a8e
+1fe20a00
+1a227e00
+e0a10000
+20600000
+2035cd6f
+58004365
+d8a04246
+98a67200
+20407ed4
+47034020
+58000551
+d8a00511
+98a67200
+20407ed4
+580002c9
+d8a0025d
+98a67200
+20407ed4
+20205318
+4703c020
+18c20400
+18420c00
+e8c10000
+60010266
+e8c10000
+60010268
+18c27e00
+60010264
+6800c681
+c0004d85
+202050ef
+68010266
+203a4dfc
+47044021
+68008268
+c000cd9d
+c0284de0
+c028cdf5
+c0294df3
+c029cdf3
+20204dfc
+4704c021
+2040527e
+6800c256
+c0004d9b
+c000cd9b
+c0014d9b
+c001cd9b
+c040cd9b
+c0604d9b
+c0404d9b
+c0204d9b
+20600000
+58000000
+20600000
+20404d8f
+247a0000
+204052b8
+20404e01
+6809026f
+203a4dfb
+204052c1
+6801026f
+e0a10000
+18007e01
+e0a10000
+20204dfc
+6800c364
+207a0000
+1fe22200
+47054021
+680202d5
+d8400100
+98408400
+1c427e00
+98467c00
+24610000
+70436400
+1a227e00
+c0284db7
+20202a8c
+d9000000
+204052b8
+20404e7a
+204052c3
+20407ea8
+20404ead
+204052c1
+5800000c
+e0a10000
+18007e01
+e0a10000
+20204dfc
+4705c021
+68010275
+1fe0fe04
+1ff1fe00
+1fe97e00
+1fe08401
+d8c04260
+e8c18000
+207a0000
+60018ac2
+68008ac2
+1fe22200
+20404dd3
+1a427e00
+6000c260
+20600000
+d8e00000
+da400000
+18e67c07
+24610000
+aa2fffff
+2020cdda
+20204dde
+18427e00
+203a4dde
+f9202400
+184085ff
+18e08e01
+20204dd5
+20405274
+247a0000
+20404d8f
+247a0000
+204052c5
+20406e11
+20404dc3
+20204dec
+20405274
+247a0000
+204052c5
+20406e11
+204052ce
+68010275
+203a4dfb
+e0a10000
+68014248
+e0a10000
+20204dfc
+20404d33
+20204dfc
+47064021
+70028400
+20406a8a
+68008284
+c1008000
+20204dfc
+20405264
+58000000
+60010266
+60010268
+70026a01
+20600000
+4706c021
+204052c3
+18002400
+68010266
+1fe22600
+68010264
+98000c00
+20404e10
+1a627e00
+1a60a7fc
+1fe0fffc
+243a4e08
+1a427e00
+6001026f
+20600000
+47074021
+e8c08000
+c000ce49
+c0014e51
+c001ced5
+c0024f05
+c002cfa2
+c0034fcb
+c003d01b
+c0045050
+c004d060
+c0054e1f
+c005d061
+20405062
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+5800000b
+e0a08000
+18e27e00
+e0a08000
+e8c10000
+c0014e2d
+c001ce33
+20600000
+58020008
+e0a30000
+58000280
+e0a20000
+18007e0c
+20204e38
+5803000c
+e0a30000
+58000006
+e0a40000
+18007e10
+9a40a400
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+60010aa2
+1a627e00
+9a262600
+204052c3
+5800000b
+e0a08000
+18e27e00
+e0a08000
+68010aa2
+20204e2a
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+98c08c00
+1a627e00
+9a262600
+20204e1e
+20407ea8
+20407ead
+d9000000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe20400
+e8c10000
+1fe21600
+4707c021
+18427e00
+c000ce64
+c001ce86
+c008ce92
+c009ce9d
+20405062
+20204ed4
+20407ea8
+d8400050
+68014248
+243a4ece
+19627e00
+60014248
+1c427e00
+600202d5
+20404e6e
+20204ea9
+600902d3
+19627e00
+600102c9
+1a227e00
+600102cb
+1a427e00
+600102cd
+1a627e00
+600102cf
+18e27e00
+600102d1
+20600000
+680902d3
+680102c9
+1fe21600
+680102cb
+1fe22200
+680102cd
+1fe22400
+680102cf
+1fe22600
+680102d1
+1fe20e00
+20600000
+20407ea8
+58000051
+d8400051
+6801424a
+243a4ece
+19627e00
+6001424a
+6800c251
+79207e00
+79207e01
+6000c251
+20204eb1
+20407ea8
+d8400052
+6801424c
+243a4ece
+19627e00
+6001424c
+6800c252
+79207e00
+79207e01
+6000c252
+20204eb1
+20407ea8
+1b427e00
+d8400053
+6801424e
+243a4ece
+19627e00
+6001424e
+6800c253
+79207e00
+79207e01
+6000c253
+20204eb1
+58000001
+6001027d
+70436450
+20204eb3
+6800c250
+79207e00
+79207e01
+6000c250
+58000000
+6001027d
+47084022
+20407ead
+58000003
+e0a08000
+18e27e00
+e0a08000
+58000008
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+6801027d
+c000cec9
+290c0000
+2020cec4
+58000004
+e0a10000
+18007e00
+e0a10000
+5800000c
+20204ed0
+e0a10000
+18007e02
+e0a10000
+5800000c
+20204ed0
+79201000
+20204eb1
+9a40a400
+1a627e00
+9a262600
+20204ed4
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+4708c022
+58000050
+98467c00
+2022ceed
+58000051
+98467c00
+2022cef3
+58000052
+98467c00
+2022ceff
+58000053
+98467c00
+2022cef9
+20600000
+19627e00
+60014248
+6800c250
+79207e01
+6000c250
+20204e1e
+19627e00
+6001424a
+6800c251
+79207e01
+6000c251
+20600000
+19627e00
+6001424c
+6800c253
+79207e01
+6000c253
+20600000
+19627e00
+6001424e
+6800c252
+79207e01
+6000c252
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe20400
+18422200
+47094022
+58000050
+98467c00
+2022cf1c
+58000051
+98467c00
+2022cf3a
+58000052
+98467c00
+2022cf26
+58000053
+98467c00
+2022cf30
+20205062
+18a21600
+6800c250
+79207e04
+79207e03
+6000c250
+19620a00
+d9600050
+68014248
+1fe20400
+20204f43
+18a21600
+6800c252
+79207e04
+79207e03
+6000c252
+19620a00
+d9600052
+6801424c
+1fe20400
+20204f43
+18a21600
+6800c253
+79207e04
+79207e03
+6000c253
+19620a00
+d9600053
+6801424e
+1fe20400
+20204f43
+18a21600
+6800c251
+79207e04
+79207e03
+6000c251
+19620a00
+d9600051
+6801424a
+1fe20400
+4709c022
+58000005
+e0a08000
+18e27e00
+e0a08000
+58000006
+e0a10000
+18427e00
+e0a10000
+18007e00
+e0a10000
+18007e00
+e0a10000
+18007e0a
+9a40a400
+60090282
+18e27e00
+60008281
+18007e50
+a961fe00
+2020cf59
+1fe0fe01
+20600000
+78547c00
+c3810000
+c4000000
+c4008000
+79207e02
+18c20a00
+18a08bff
+e0a08000
+78347c00
+20600000
+6800c250
+20404f5a
+24344f6b
+70028050
+68014248
+60010282
+20204f7f
+6800c251
+20404f5a
+24344f72
+70028051
+6801424a
+60010282
+20204f7f
+6800c252
+20404f5a
+24344f79
+70028052
+6801424c
+60010282
+20204f7f
+6800c253
+20404f5a
+24740000
+70028053
+6801424e
+60010282
+470a4022
+2040523a
+204052b8
+18002400
+204052c3
+18007e04
+e0a08000
+6800c255
+e0a08000
+58000008
+e0a10000
+68010282
+e0a10000
+58000000
+e0a10000
+18007e01
+e0a08000
+18007e02
+e0a08000
+68008280
+c028cf97
+58000030
+e0a10000
+20204f99
+580003e3
+e0a10000
+d840000c
+6009026f
+204052c1
+6801026f
+e0a10000
+18007e01
+e0a10000
+70028000
+20204e1e
+18c08c01
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+470ac022
+58000050
+9a267c00
+2022cfba
+58000051
+9a267c00
+2022cfbe
+58000052
+9a267c00
+2022cfc2
+58000053
+9a267c00
+2022cfc6
+18c08c02
+e8c10000
+98007c00
+20204e1e
+6800c250
+79207e05
+6000c250
+20204e1e
+6800c251
+79207e05
+6000c251
+20204e1e
+6800c252
+79207e05
+6000c252
+20204e1e
+6800c253
+79207e05
+6000c253
+700a9906
+20207d86
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+1a220400
+20407ea8
+470b4022
+58000050
+98467c00
+2022cff2
+58000051
+98467c00
+2022d002
+58000052
+98467c00
+2022cfe6
+58000053
+98467c00
+2022cfec
+20405062
+20205017
+19620400
+6801424c
+98467c00
+2022cff8
+20405062
+20205017
+19620400
+6801424e
+98467c00
+2022cffa
+20405062
+20205017
+19620400
+68014248
+98467c00
+2022cffe
+20405062
+20205017
+20405079
+2020500a
+2040507f
+6801424c
+203a500a
+2020500a
+20405074
+68008288
+243a500a
+2020500a
+19620400
+6801424a
+98467c00
+2022d008
+20405062
+20205017
+2040506f
+2020500a
+20407ead
+58000007
+e0a08000
+18e27e00
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+19627e00
+e0a10000
+18007e08
+20205019
+20407ead
+20205019
+9a40a400
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+20407ea8
+470bc022
+58000050
+98467c00
+2022d035
+58000051
+98467c00
+2022d03b
+58000052
+98467c00
+2022d041
+58000053
+98467c00
+2022d047
+20405062
+2020504f
+18422200
+19620400
+68014248
+98467c00
+2042d074
+2020504d
+18422200
+19620400
+6801424a
+98467c00
+2042d06f
+2020504d
+18422200
+19620400
+6801424c
+98467c00
+2042d079
+2020504d
+18422200
+19620400
+6801424e
+98467c00
+2042d07f
+2020504d
+20407ead
+20204e1e
+20204e1e
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+98c08c00
+58000009
+e0a08000
+18e27e00
+e0a08000
+18007e00
+e0a10000
+18007e04
+9a40a400
+1a627e00
+9a262600
+20204e1e
+20204e1e
+20204e1e
+18002400
+204052c3
+58000001
+e0a08000
+18e27e00
+e0a08000
+58000002
+e0a10000
+58000000
+e0a10000
+1a40a406
+da600004
+20204e1e
+58000000
+6001027b
+6001424a
+70425100
+20600000
+58000000
+60010275
+60014248
+70425000
+20600000
+58000000
+6001424c
+70425200
+6800c253
+c0005085
+20600000
+58000000
+6001424e
+70425300
+6800c252
+c0005085
+20600000
+700a9907
+20207d86
+6800827f
+793ffe00
+6000827f
+6801424e
+207a0000
+204052b8
+6801424e
+1fe22200
+18002453
+2020509a
+6800827f
+793ffe07
+6000827f
+6801424c
+207a0000
+204052b8
+6801424c
+1fe22200
+18002452
+2040523a
+204052c3
+18007e06
+e0a08000
+6800c255
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+18000408
+202050de
+470c4023
+2040523a
+204052c3
+58000002
+e0a08000
+6800c255
+e0a08000
+58000004
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+d8400008
+202050de
+470cc023
+2040523a
+204052c3
+58000004
+e0a08000
+6800c255
+e0a08000
+58000008
+e0a10000
+18427e00
+e0a10000
+58000000
+e0a10000
+58000001
+e0a08000
+58000002
+e0a08000
+580003e3
+e0a10000
+d840000c
+202050de
+470d4023
+2040523a
+204052c3
+58000006
+e0a08000
+6800c255
+1fe0fe01
+18a22200
+6000c255
+1a220a00
+e0a08000
+58000004
+e0a10000
+18427e00
+e0a10000
+19627e00
+e0a10000
+d8400008
+6009026f
+18427e00
+203a5264
+204052c1
+6801026f
+e0a10000
+18007e01
+e0a10000
+20600000
+68010275
+203a2a8c
+204052ce
+68010275
+e0a10000
+68014248
+e0a10000
+20600000
+68010266
+203a4dfc
+470dc023
+68008268
+c000d0f9
+c0284de8
+c028cdf5
+c0294df3
+c029cdf3
+20204dfc
+470e4023
+204052b8
+18002400
+204052c3
+1fe20a00
+68010266
+1fe22600
+68010264
+98000c00
+20405108
+1a60a7fc
+2422d102
+1a420400
+204050de
+20204dfc
+e8c08000
+c0015113
+c000d116
+c001d120
+c002d15c
+c002518e
+c003d213
+c00351e1
+c0045050
+c0054e3a
+2020522e
+20407ea8
+20407ead
+20204e51
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c08000
+1a20a3ff
+2422d11c
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+e8c10000
+1fe67c00
+2022d132
+c001512e
+c002512e
+20205130
+700a9916
+20407d86
+e8c10000
+20205159
+20407ea8
+470ec023
+58000050
+98467c00
+2022d141
+58000051
+98467c00
+2022d147
+58000053
+98467c00
+2022d153
+58000052
+98467c00
+2022d14d
+20205159
+19627e00
+60014248
+6800c250
+79207e01
+6000c250
+20205158
+19627e00
+6001424a
+6800c251
+79207e01
+6000c251
+20205158
+19627e00
+6001424c
+6800c252
+79207e01
+6000c252
+20205158
+19627e00
+6001424e
+6800c253
+79207e01
+6000c253
+20407ead
+1a627e00
+9a262600
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe21600
+e8c10000
+e8c10000
+243a5188
+20407ea8
+19620400
+470f4023
+58000050
+98467c00
+2022d176
+58000051
+98467c00
+2022d17a
+58000052
+98467c00
+2022d17e
+58000053
+98467c00
+2022d182
+6800c250
+79207e05
+6000c250
+20600000
+6800c251
+79207e05
+6000c251
+20600000
+6800c252
+79207e05
+6000c252
+20600000
+6800c253
+79207e05
+6000c253
+700a9906
+20207d86
+20407ead
+1a20a3fa
+2022d18d
+18c08c01
+1a20a3ff
+20205189
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+18c08c02
+1fe20400
+58000005
+e0a08000
+18e27e00
+e0a08000
+1a20a202
+1a227e00
+e0a10000
+20407ea8
+470fc023
+58000050
+98467c00
+2022d1ad
+58000051
+98467c00
+2022d1be
+58000052
+98467c00
+2022d1c4
+58000053
+98467c00
+2022d1ca
+202051cf
+6800c250
+79207e04
+79207e03
+6000c250
+c28151bb
+6808827f
+79200406
+6008827f
+18e27e00
+1fe0fe01
+60008281
+6800c250
+79207e02
+6000c250
+68014248
+60010282
+202051cf
+6800c251
+79207e04
+79207e03
+6000c251
+6801424a
+202051cf
+6800c252
+79207e04
+79207e03
+6000c252
+6801424c
+202051cf
+6800c253
+79207e04
+79207e03
+6000c253
+6801424e
+1fe21600
+20407ead
+19627e00
+e0a10000
+18007e00
+e0a10000
+18007e00
+e0a10000
+18007e0a
+9a40a400
+1a20a3fa
+2022d1e0
+e8c08000
+e0a08000
+1a40a401
+1a20a3ff
+202051da
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+1a627e00
+9a262600
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+20407ea8
+47104024
+58000050
+1a220400
+98467c00
+2022d1fa
+58000052
+1a220400
+98467c00
+2022d1ff
+58000053
+1a220400
+98467c00
+2022d201
+20205203
+58000000
+60010275
+60014248
+6000c250
+20205205
+20405079
+20205205
+2040507f
+20205205
+58000000
+6001027b
+20407ead
+58000007
+e0a08000
+18e27e00
+e0a08000
+58000004
+e0a10000
+1a227e00
+e0a10000
+19627e00
+e0a10000
+18007e08
+9a40a400
+20600000
+e8c08000
+1fe20e00
+e8c10000
+1fe22200
+e8c10000
+1fe21600
+e8c10000
+1fe20400
+20407ea8
+4710c024
+6800c255
+a8e1fe00
+2420d22a
+58000050
+98467c00
+2022d227
+58000051
+98467c00
+2022d22a
+2020522a
+70424800
+70425000
+2020522a
+20407ead
+1a627e00
+9a262600
+20600000
+58000001
+e0a08000
+e8c08000
+e0a08000
+58000002
+e0a10000
+58000000
+e0a10000
+58000006
+9a40a400
+18002604
+20600000
+6800c255
+1fe0fe01
+c080523e
+1fe0fe01
+6000c255
+20600000
+47114024
+da400000
+2040526e
+243a2a8c
+2040527e
+da401800
+d8e00000
+6808c256
+a84fffff
+2020d24f
+204052a0
+19667c00
+2021524f
+20405288
+20205255
+1a40a480
+18e08e01
+58000008
+98e67c00
+20215247
+da400000
+1a427e00
+203a2a8c
+20600000
+4711c024
+20405277
+18c08c01
+e8c10000
+20600000
+47124024
+20405277
+18c20a00
+18c20400
+58000000
+e0a18000
+20600000
+4712c024
+20405274
+203a2a8c
+6801c25d
+6001c260
+6801c25a
+6001c25d
+6801c257
+6001c25a
+20600000
+47134024
+6801c257
+20600000
+4713c024
+6801c25a
+20600000
+47144025
+6801c260
+20600000
+20405274
+203a2a8c
+d8c04257
+e8c18000
+203a527a
+18c08dfd
+20600000
+4714c025
+df200004
+d8c04257
+d8400000
+e8c18000
+1fe17eff
+98418400
+c2005282
+6008c256
+20600000
+47154025
+2040526e
+243a2a8c
+20405274
+203a5295
+6801c25a
+6001c257
+e8c18000
+e0a18000
+e8c18000
+e0a18000
+58000000
+e0a18000
+d8400000
+19627e00
+98e0fe00
+f9200400
+18e08e01
+98e67c00
+2422d298
+1a4d7e00
+9841fe00
+6001c260
+20600000
+4715c025
+2040527e
+18e22600
+d8400000
+d9600000
+18e27e00
+c00452b0
+6800c256
+afefffff
+2020d2b0
+18408480
+18e08e01
+1a227e00
+98467c00
+2022d2b0
+202152a5
+18427e00
+9a267c00
+242152b6
+18e27e00
+1a620400
+98461600
+1a620e00
+20600000
+47164025
+da20007f
+20405240
+6001026b
+1fe0fe04
+6001026d
+58000000
+6001026f
+20600000
+6801026b
+202052e2
+6801026d
+202052e2
+4716c025
+da2000fa
+20405240
+60010271
+1fe0fe04
+60010273
+58000000
+60010275
+20600000
+68010271
+202052e2
+68010273
+202052e2
+47174025
+20407e7c
+70028401
+2040526e
+247a0000
+da20007f
+20405240
+60010277
+1fe0fe04
+60010279
+58000000
+6001027b
+70028400
+20207e8c
+68010277
+202052e2
+203a2a8c
+1fe20a00
+20600000
+4717c025
+da400000
+da204257
+1a20a3fe
+1a20a202
+58004263
+9a267c00
+2022d2f5
+ea208000
+1a20a201
+203a52e9
+ea290000
+e8410000
+9a40a400
+1a40a404
+202052e9
+1a427e00
+20600000
+d8e0000c
+20202c32
+d8e0000c
+20202c36
+47184026
+2040527e
+6800c256
+207a0000
+204052e5
+d8400100
+98467c00
+202152f7
+204052f9
+d8a04263
+da204257
+58004263
+9a267c00
+20628000
+ea208000
+1a20a201
+243a530f
+e0a10000
+1a20a202
+20205306
+ea210000
+1a20a202
+1fe20c00
+e8c10000
+e0a10000
+1fe27200
+1f20f202
+20407f01
+20205306
+4718c026
+2040527e
+6800c256
+207a0000
+da204258
+1a20a3fd
+d8c04263
+1a20a203
+58004264
+9a267c00
+20628000
+e8c10000
+203a531f
+1fe0fe04
+1fe27200
+18c22400
+ea210000
+1fe20a00
+1a420c00
+18c08dfe
+20407f01
+2020531f
+47194026
+7855fc00
+70045501
+70043f03
+70045601
+5fffffff
+60010459
+18007e00
+60008457
+60008462
+6001c169
+6001c16c
+6002c403
+79207e27
+6002c408
+7043dc01
+7043dd00
+202056ed
+4719c026
+7834fc00
+70044003
+70047801
+70445a01
+5800ffff
+6001445c
+18007e00
+6002c408
+79207e27
+6002c403
+2020532e
+471a4026
+7854fc00
+58000017
+600144a8
+70044001
+70436e00
+7000a000
+7044c400
+7044c500
+6801046d
+600144ba
+68010441
+1feffe05
+1ff1fe00
+6001046d
+2020532e
+204053c4
+204055e8
+204056f0
+202053ce
+471ac026
+204053c4
+204032f4
+68008440
+c001d366
+2020537a
+471b4026
+7834fc00
+204056e4
+20215377
+20402c6c
+20405413
+2040561e
+7856fc00
+204054bf
+24768000
+471bc026
+68008005
+1fe0fe01
+60008005
+204055aa
+7854fc00
+20600000
+204053a9
+7854fc00
+20600000
+471c4027
+70450f00
+20407aaf
+20405c18
+78577c00
+204056e4
+202153a9
+20402c6c
+20405413
+20405489
+242c539b
+204053b7
+2036d388
+20205395
+471cc027
+6800c50f
+1fe0fe01
+6000c50f
+c0065395
+204055aa
+2040561e
+204054c7
+2040567e
+680141fb
+20407f9c
+204053a0
+203453a4
+471d4027
+20405be4
+20405bdb
+20407d9c
+68008462
+c281d3a9
+471dc027
+204057f4
+2040559d
+20405575
+20202841
+78547c00
+c5157fe7
+c514ffe7
+20600000
+471e4027
+78377c00
+204054c1
+2036d388
+20205395
+471ec027
+204053af
+204033b4
+20407a77
+700a9915
+20207d86
+58000000
+6004c4ff
+70045500
+70044000
+70043f00
+7044c500
+7044c400
+20600000
+471f4027
+68008005
+1fe0fe01
+60008005
+6800843f
+c3818000
+79207e03
+6000843f
+680144ba
+6001046d
+58000000
+600244e5
+20600000
+471fc027
+70890f36
+70890b5f
+783b7c00
+70891407
+20402c6c
+6800c1e0
+207a0000
+70890ab8
+20600000
+47204028
+70890f2e
+70890bff
+785b7c00
+70891403
+db600000
+20600000
+7844fc00
+7843fc00
+68018467
+98001e00
+68008016
+1fed8400
+79200401
+18431c00
+20600000
+204053e6
+2040291f
+58000500
+20402a8f
+20202924
+2036a939
+204053e6
+20202933
+4720c028
+20402918
+6800848c
+243a53f9
+68008016
+1fe67c24
+202153f3
+18000400
+c1128000
+18000418
+c1130000
+1800044e
+20600000
+1fe67c0a
+202153f6
+1fe0fe01
+1fe3fe00
+1fe08402
+20600000
+68008016
+1fe38400
+20600000
+d84001f4
+207a0000
+d84000fa
+c1008000
+d8400096
+c1010000
+d8400064
+c1018000
+d840004b
+c1020000
+d8400032
+c1028000
+d8400028
+c1030000
+d8400014
+20600000
+588e89be
+1fed7e00
+1fe1fed6
+98001200
+58555555
+60018467
+20600000
+47214028
+78287c00
+68020463
+98001200
+20405466
+58000200
+2034d41c
+6801044d
+1fe37e00
+d8400500
+9840fe00
+20402a24
+1b427e00
+60030491
+20600000
+4721c028
+68008016
+c012d428
+c013542e
+c013d434
+20205434
+6808c48d
+284ffe01
+2020d43f
+284ffe02
+2020d444
+2020543a
+6808c48d
+284ffe02
+2020d444
+284ffe00
+2020d43a
+2020543f
+6808c48d
+284ffe00
+2020d43a
+284ffe01
+2020d43f
+20205444
+70001625
+68008ac2
+79207e00
+60008ac2
+20600000
+70001626
+68008ac2
+79207e01
+60008ac2
+20600000
+70001627
+68008ac2
+79207e02
+60008ac2
+20600000
+47224028
+1a208c01
+e8c08000
+c4000000
+1a208a1a
+e8a10000
+1fe0fe01
+e0a10000
+1a208c19
+e8c08000
+1a208a18
+e8a88000
+9840fe00
+1fe67c24
+20215459
+1fe0ffdb
+e0a08000
+20600000
+4722c028
+6802846f
+18000400
+18007225
+c3005461
+18408401
+1fe37e00
+c200545f
+1840ffff
+60008461
+20600000
+47234028
+68008457
+98000e00
+680a846f
+a84fffff
+2020d47c
+4723c028
+68008461
+98e67e00
+20215472
+1fe60fff
+2020546c
+18e27200
+18000e00
+a84fffff
+2020d477
+1f20f201
+1f227e00
+203a547c
+18e08e01
+1f20f3ff
+20205474
+18e27e00
+60008016
+20600000
+2034d482
+37c18200
+20600000
+d9600ea0
+34730200
+20600000
+78487c00
+6801436c
+1fe21600
+2020548e
+47244029
+78287c00
+6801044d
+680a44e5
+98409600
+204053de
+4724c029
+204053d5
+7856fc00
+7826fc00
+7830fc00
+78507c00
+19623600
+37c18400
+2037549a
+1b420400
+600b009a
+242c264d
+203754a1
+dd2001e0
+1c225000
+6800843f
+c301d4a1
+2055ab05
+47254029
+204029bb
+7823fc00
+7824fc00
+09800008
+19897e00
+600082d9
+09800008
+19897e00
+e0a08000
+1fe1723f
+2022d4b1
+09800008
+19897e00
+e0a08000
+c20054ad
+4725c029
+09800018
+78287c00
+db600664
+1fef7e00
+1ff17e00
+e0a18000
+2023264d
+7836fc00
+68008017
+1fe0a200
+20402981
+7846fc00
+20202918
+47264029
+204054c9
+68088017
+2040291f
+20402924
+78287c00
+d960157c
+2020548f
+204054c9
+2020264d
+4726c029
+204053d5
+204053e3
+202054cd
+79202a00
+782efc00
+78307c00
+7850fc00
+2040547f
+19317e00
+1fecfe00
+1ff1fe00
+08008628
+7823fc00
+7824fc00
+47274029
+6800c3dc
+08008608
+e8c08000
+1fe1723f
+08008608
+2022d4e2
+e8c08000
+08008608
+c20054df
+78247c00
+08008618
+78447c00
+37d38200
+20000064
+784efc00
+20600000
+4727c029
+6800c484
+c000d4f9
+6800c485
+1ff27e00
+1febfe00
+6000c3dc
+6808c36f
+1840fe06
+6000c3dd
+680344a0
+600343de
+18427200
+d8c04370
+20407ef4
+20205504
+6800c486
+1ff27e00
+1febfe00
+1fe0fe01
+6000c3dc
+5800000c
+6000c3dd
+680344a0
+600343de
+680341d0
+e0a30000
+4728402a
+68008000
+1fe0fe01
+60008000
+db600708
+7856fc00
+202054bf
+4728c02a
+6800c49e
+c1808000
+68008000
+1fe0fe01
+60008000
+d8400c03
+6800c49f
+7d3a0406
+1a227e00
+7d3a0407
+600943dc
+680344a0
+e0a30000
+6803044f
+e0a30000
+202054bf
+4729402a
+d8400004
+6800c485
+7d3a0406
+6008c3dc
+6808c38f
+1840fe06
+6000c3dd
+680344a0
+600343de
+d8c04390
+18427200
+20407ef4
+204054c7
+20205706
+4729c02a
+18007fff
+38080001
+6002846f
+2040545b
+18007204
+d8a00463
+2040630d
+6801449c
+6001046d
+180a7e00
+1fe17e0f
+1fe67c04
+20215535
+60008458
+600086e6
+472a402a
+68094367
+60090441
+18422600
+1c40fe07
+9a66fc00
+20407f86
+18072200
+9a267e00
+9a60fe00
+68094365
+9840fe00
+60020443
+9c462200
+1a20a3fa
+da402205
+6800c495
+7d3a2406
+6800c48e
+7d3a2407
+1a427e00
+600143dc
+680344a0
+e0a30000
+6803044f
+e0a30000
+68020463
+e0a20000
+180a7e00
+e0a10000
+180a7e00
+e0a08000
+18007e02
+e0a08000
+1a2b7e00
+e0a10000
+1a6b7e00
+e0a10000
+472ac02a
+58000000
+e0a10000
+6801449c
+e0a10000
+6802846f
+e0a28000
+68008458
+d84000a0
+9841fe00
+e0a08000
+204054c7
+580043dc
+1fe08c12
+e8c18000
+60018467
+20600000
+472b402a
+7854fc00
+2020540c
+6800843f
+c4028000
+68010459
+6809045f
+98467e00
+24610000
+60010a9a
+472bc02a
+6800843f
+793ffe05
+793ffe03
+6000843f
+68020443
+68090441
+60090aa2
+98462200
+472c402b
+6800c3d3
+6000846a
+e8c90000
+e8c10000
+1febfe00
+60010441
+184b8400
+9840fe00
+e8ca0000
+600a046b
+9a20fe00
+1fe22800
+68010441
+68090aa2
+98467e00
+68090a9a
+984ffe00
+9a80fe00
+60020443
+20405713
+6801046d
+600144ba
+20600000
+472cc02b
+6800843f
+c4030000
+68010459
+6809045f
+98467e00
+24610000
+6800843f
+793ffe06
+6000843f
+6802c3ce
+6002846f
+2020545b
+472d402b
+204056ed
+204055c0
+680082d9
+2feffe04
+7920802a
+1fe37e00
+9842fe00
+2feffe02
+7920800f
+c6078000
+680082da
+203a55bc
+6800843f
+c30255bc
+2040748d
+204073fb
+247a0000
+68088456
+79400402
+60088456
+20600000
+472dc02b
+68088456
+284c0005
+20608000
+680082d9
+1fe3fe00
+9842fe00
+c4018000
+793f8405
+79400403
+60088456
+28400603
+24608000
+6800c3de
+c002d5d2
+6800c4c5
+c00155d6
+20600000
+6800843f
+79207e04
+6000843f
+20600000
+472e402b
+7044c500
+dfe00000
+6002440d
+6002c403
+79207e27
+6002c408
+6800843f
+793ffe04
+6000843f
+20600000
+472ec02b
+20405422
+20405485
+68008001
+1fe0fe01
+60008001
+20600000
+472f402b
+6800c369
+c1808000
+d8e00002
+20407f16
+247a0000
+6801436a
+6809436c
+98467e00
+d8e00002
+20407f08
+7854fc00
+20405572
+204055e1
+24768000
+472fc02b
+680302db
+6003044f
+68008002
+1fe0fe01
+60008002
+20405608
+20748000
+2040550b
+24768000
+4730402c
+68008004
+1fe0fe01
+60008004
+680482e1
+60048101
+20600000
+4730c02c
+6800849b
+c18d8000
+6803044f
+680b448f
+98467c00
+24628000
+2040223b
+24628000
+2040552b
+20405340
+4731402c
+7041ce00
+70047600
+70436900
+70049b00
+20202223
+da200001
+680082d9
+c3830000
+da200000
+20600000
+4731c02c
+68008456
+c3828000
+20405642
+20405873
+203a5664
+e8c08000
+e8c88000
+18422200
+9a267e00
+d840001b
+20407fdd
+1fe20400
+e8c08000
+1fe20200
+1a227e00
+98c08c00
+d8a043de
+18427200
+20407f01
+20405654
+20405666
+20405873
+e8c08000
+1fe22200
+18c22600
+e8c88000
+18422400
+9a467e00
+d840001b
+20407fdd
+9a40fe00
+e2608000
+9a267c00
+24628000
+20205896
+20405649
+c6148000
+6800c4e9
+c3015652
+20405876
+203a5652
+20205650
+20405873
+203a5652
+e8c08000
+e8c88000
+98467e00
+1fe67c1b
+20215652
+79200029
+20600000
+793f8029
+20600000
+1a227e00
+207a0000
+d8200001
+20600000
+4732402c
+18408401
+2040576a
+18c08dfe
+e8c10000
+d8402902
+98467c00
+24628000
+18c08c01
+18c22200
+e8c08000
+20600000
+18000400
+18000201
+4732c02c
+6008c3dd
+68088456
+79200405
+18417efc
+9821fe00
+60008456
+1fe17e1f
+280ffe29
+7920fe04
+6000c3dc
+6800c3dc
+28200601
+2420d676
+6800c3dd
+207a0000
+6800843f
+c4020000
+2040748d
+202073e3
+d8e00000
+20202c32
+d8e00000
+20202c36
+4733402c
+c6078000
+20405890
+247a0000
+680082d9
+1fe17e03
+6000c50c
+e8c08000
+1fe17e1f
+6000c50b
+207a0000
+18c27e00
+6001450d
+6800c50c
+c001dc64
+2040569a
+2434567a
+2040567c
+6801450d
+1fe20c00
+e8c10000
+600144fc
+4733c02c
+e8c10000
+c00258ab
+c0035af4
+c002dab6
+20600000
+6800c50c
+c00156a9
+c000d6c1
+20600000
+20407fe7
+d8400004
+9fe67c00
+20628000
+d8400005
+9fe67c00
+20628000
+d8400006
+9fe67c00
+20628000
+20207fe9
+6801450d
+1fe20c00
+e8c10000
+600144fc
+e8c10000
+2040569e
+24740000
+6808c50b
+6008c4fe
+680144fc
+1fe0fe04
+98467c00
+2022ffe7
+6800c50b
+1fe27200
+d8a00311
+6801450d
+1fe20c00
+20407f01
+20207fe9
+20407fe7
+6800c4fe
+247a0000
+20207fe9
+204056bd
+24740000
+6800c4fe
+d8a00311
+98a0a200
+6808c50b
+9840fe00
+6000c4fe
+6800c50b
+1fe27200
+1a220a00
+6801450d
+1fe20c00
+20407ef4
+58000311
+6001450d
+680144fc
+1fe0fe04
+6808c4fe
+98467c00
+2022ffe7
+20207fe9
+20407ea5
+d8a0445e
+680144fc
+1fe0fffb
+e0a08000
+1fe27200
+20407e9f
+20207ef4
+20407ea5
+d8a04471
+202056d9
+680141f9
+20207f9c
+680a045b
+20402a7b
+98461600
+19627e00
+6809046d
+18520400
+18438400
+98467e00
+20600000
+20402a7b
+6002045b
+20600000
+70001624
+700ac200
+4734402d
+6800c36e
+207a0000
+d8e00000
+20407f16
+247a0000
+4734c02d
+7854fc00
+78287c00
+20405572
+20405422
+204054e9
+2436d706
+68008003
+1fe0fe01
+60008003
+680082d9
+1fe17e0f
+c001d51c
+c002d728
+4735402d
+180a7e00
+d84001ff
+98417e00
+1fe0fefa
+20403cbe
+68008ac2
+6808c48d
+98467c00
+2422d6f2
+d8e00000
+68014482
+20207f08
+4735c02d
+68008476
+204053fc
+68010441
+984ffe00
+d8400177
+984ffe00
+d84186a0
+9846fc00
+6800846a
+d8404e20
+984ffe00
+9840fe00
+600244e5
+4736402d
+680140c1
+20407f86
+18078400
+9840fe00
+6001044d
+20600000
+4736c02d
+680302e1
+680b44a0
+98467c00
+24628000
+20405619
+1a227e00
+6000c48e
+680382ee
+60038101
+e8c40000
+e0a40000
+680302db
+6003044f
+18c08c06
+e8c40000
+60040463
+e8c90000
+4737402d
+184b8400
+e8c10000
+1febfe00
+60010441
+60020443
+98467e00
+1fe0d1fe
+e8c48000
+6004846b
+4737c02d
+e8c08000
+1ff18400
+18430400
+60088476
+1fe17e1f
+60008458
+20405713
+2040545b
+2040534c
+2040223b
+24628000
+4738402e
+20402841
+20405ad3
+700a9914
+20407d86
+20202223
+4738c02e
+6801445a
+98002400
+6801445c
+98002600
+680144bc
+98000c00
+78347c00
+20600000
+e8c10000
+207a0000
+9a467c00
+24610000
+9a667c00
+20628000
+20215768
+18007c01
+20600000
+18007e00
+20600000
+2040576d
+2022d779
+20600000
+4739402e
+680144bc
+98000c00
+e8c10000
+207a0000
+98467c00
+20628000
+e8c08000
+98c08c00
+e8c08000
+98c08c00
+20205770
+e8c08000
+98c08c00
+20600000
+4739c02e
+680144bc
+98000c00
+e8c10000
+207a0000
+e8c08000
+98c08c00
+18c08dfe
+e8c10000
+98467c00
+20628000
+e8c08000
+98c08c00
+2020577f
+6801049c
+2020578e
+473a402e
+680144bc
+98000c00
+18422200
+e8c10000
+203a5799
+9a267c00
+2022d79a
+e8c08000
+98c08c00
+e8c08000
+98c08c00
+20205790
+20207fef
+e8c08000
+600084a2
+1fe27200
+d8a004a3
+20407ef4
+e8c08000
+600084b3
+20407ea5
+20207ff1
+473ac02e
+204057a6
+202057b8
+d8402a00
+2040577c
+207a0000
+e8c08000
+18c20a00
+6808c3af
+18427200
+98467c00
+242157b5
+98460400
+d8c043b0
+20407f01
+18427200
+2442d7f0
+20600000
+1fe27200
+d8c043b0
+20207ef4
+da60438f
+da204370
+204057c5
+58000000
+79347e00
+60008a9a
+da6043af
+da204390
+204057c5
+20740000
+68008a9a
+203a2a8c
+20600000
+473b402e
+20407fe7
+20407eda
+da400000
+d8a00ac3
+204057df
+6800c3af
+1fe08401
+9a40a200
+1a20a202
+1a267c1f
+242157dd
+e0a88000
+d8400009
+e0a88000
+98007200
+20407ef4
+1a222400
+1a427e00
+60008ac2
+d8c00ac2
+5fffffe0
+9a608a00
+20207ebd
+20407fe9
+202057d7
+ea208000
+207a0000
+1fe0fe01
+e8c88000
+18467c09
+2022d7ee
+9a40a400
+1a220c00
+98007200
+20407ef4
+18c22200
+1a227e00
+9a667c00
+20610000
+202057df
+9a20a200
+202057ea
+58000020
+e0a08000
+c20057f0
+20600000
+473bc02e
+7855fc00
+203757f8
+2436d806
+20402bcb
+680140c1
+6001044d
+2436abde
+c507abde
+6800c50b
+243a2bde
+6800c3dd
+243a2bde
+6800c4e9
+c282abde
+6800843f
+c282abde
+20202bc0
+680940c1
+18430400
+6801044d
+9840fe00
+6001044d
+20202bd6
+d8e00000
+20205824
+d8e00000
+20205828
+d8e00001
+20205824
+d8e00001
+20205828
+d8e00002
+20205824
+d8e00002
+20205828
+d8e00003
+20205824
+d8e00003
+20205828
+d8e00004
+20205824
+d8e00004
+20205828
+d8e00005
+20205824
+d8e00005
+20205828
+6800c4e9
+f9207e00
+6000c4e9
+20600000
+6800c4e9
+f93ffe00
+6000c4e9
+20600000
+58112233
+6001c4ea
+58445566
+e0a18000
+58778899
+e0a18000
+58001122
+e0a18000
+58334455
+e0a18000
+58000066
+e0a08000
+20600000
+59000302
+60024453
+58010010
+6001c457
+7044c601
+20600000
+da200000
+d8200001
+20205850
+d8200003
+20405850
+1a427e00
+e0a08000
+20600000
+18000202
+1a20a204
+20405850
+1a20a3fc
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+20600000
+1a267cf0
+24212a8c
+6800c4ff
+d8400001
+df200004
+98417c00
+2022d85a
+18438400
+c2005855
+20202a8c
+9842fe00
+6000c4ff
+1f267e04
+1ff27e00
+1ff27e00
+d8401800
+98408400
+df200000
+d8c04500
+e8c10000
+203a5869
+1f227e00
+1f20f201
+c0825863
+20202a8c
+18c08dfe
+e0c90000
+18420a00
+1a227e00
+e0a08000
+58000000
+e0a08000
+18227e00
+e0a08000
+20600000
+68014500
+1fe20c00
+20600000
+68014502
+1fe20c00
+20600000
+2040587c
+1fe20c00
+20600000
+68014506
+247a0000
+68014504
+247a0000
+68014502
+247a0000
+68014500
+20600000
+20405873
+18c08c03
+20600000
+20405873
+18c08c07
+20600000
+20405879
+18c08c07
+20600000
+20405879
+18c08c03
+20600000
+68014506
+20600000
+68014504
+20600000
+68014500
+20600000
+68014500
+d8401800
+98467e00
+1ff1fe00
+1ff18e00
+6800c4ff
+f93ffe00
+6000c4ff
+df200000
+1f23fe00
+d8404502
+98408400
+e8410000
+184085fe
+e0410000
+1f227e00
+1f20f201
+c081d89f
+58000000
+e0410000
+20600000
+e8c18000
+60018477
+c00158c1
+c001d8c9
+c00258cc
+c00358f2
+c004593f
+c00559bc
+c00659e4
+c00859fa
+c0095a2f
+c00b5a48
+c00c5a5b
+c0295a60
+20600000
+18002203
+20405a82
+58000002
+e0a08000
+680144a6
+e0a10000
+20600000
+204058c9
+18002203
+20405a82
+58000003
+e0a08000
+680144a6
+e0a10000
+20600000
+1fecfe00
+600144a8
+20600000
+20405ab1
+20407fe7
+202058cf
+d9600003
+20405756
+2040575f
+203a58f0
+242158ed
+18c08dfe
+20407ea5
+20407e9c
+243458e1
+20407e85
+20407fe9
+18002214
+20405a82
+20407e95
+58000005
+e0a08000
+58000001
+e0a08000
+20407e9f
+e8c10000
+e0a10000
+e8c08000
+1fe27200
+20407f01
+20407ea2
+196097ff
+2022d8f0
+e8c08000
+98c08c00
+202058d1
+e8c08000
+98c08c00
+202058ea
+20345a76
+20205aa5
+20405ab1
+e8c10000
+60014472
+20407ea5
+d8a0445e
+680144fc
+1fe0fff9
+204056db
+20205905
+78547c00
+6809445a
+6801445c
+98467c00
+24215902
+18427e00
+c1800000
+78347c00
+70047a01
+20205a77
+204058fb
+20740000
+68094472
+58002800
+98467c00
+2022d90c
+20205a76
+7004b400
+6809445a
+60090aa2
+2040578c
+243a5a76
+68090aa2
+2040578c
+243a5925
+18c22200
+680084b3
+1fe27200
+6808c45e
+98467c00
+2422d921
+da40445f
+20407f88
+2022d928
+680104a3
+68094472
+98467c00
+2022d930
+68010aa2
+1fe0fe01
+60010aa2
+20205911
+680084b4
+c000d930
+20205a76
+680104a3
+68094472
+98467c00
+2422d921
+7004b401
+68090aa2
+6009049e
+20205921
+680084b4
+c0005921
+7004b402
+68090aa2
+184085ff
+600904a0
+da200005
+20405a82
+58000007
+e0a08000
+6801049e
+e0a10000
+680104a0
+e0a10000
+20600000
+20405ab1
+204056df
+20205942
+6809445a
+60090aa2
+20405756
+2040576d
+18c08dfe
+18c27e00
+6001049c
+68094472
+58002a00
+98467c00
+2022d9a8
+58002803
+98467c00
+2422d990
+d9600002
+20405a88
+2421596d
+68090aa2
+2040578a
+c000d96d
+20405a94
+2422d96b
+2434596f
+78547c00
+da200014
+20405a82
+58000009
+e0a08000
+18a26000
+18a08a01
+2040597d
+20405a84
+2040578a
+20405984
+680084a2
+1fe0fe05
+e6008000
+680084a2
+c008596d
+196097ff
+2022d96d
+20405a84
+20205951
+20345a76
+20205aa5
+20405a97
+20405a84
+2040578a
+680084a2
+c008596d
+20407e9c
+68010aa2
+1fe0ffff
+e0a10000
+20405aa1
+20405984
+196097ff
+2022d96d
+2020596b
+68010aa2
+e0a10000
+680084b3
+1fe27200
+20407e9f
+20407ef4
+20207ea2
+20407e9c
+68010aa2
+e0a10000
+20407ea2
+680084a2
+1fe27200
+20407e9c
+20407e9f
+9f260c00
+18c08dff
+20407ef4
+20207ea2
+6809445a
+60090aa2
+20405a88
+24215a76
+2040578a
+c000da76
+20405a94
+2422d9a6
+da200014
+20405a82
+58000009
+e0a08000
+680084b3
+1fe27200
+1fe0fe02
+e0a08000
+68010aa2
+e0a10000
+20407e9f
+20407ef4
+20407ea2
+20205aa5
+20405a84
+20205992
+d8402a00
+2040577c
+207a0000
+18c08dfb
+e8c10000
+60010aa2
+da200014
+20405a82
+58000009
+e0a08000
+6800c3af
+1fe27200
+1fe0fe02
+e0a08000
+68010aa2
+e0a10000
+d8c043b0
+20407ef4
+20407ea2
+20205aa5
+68090478
+6800c4e9
+c281d9dd
+2040576a
+203a5a76
+18c08dfe
+e8c10000
+d8402a00
+98467c00
+2022d9d3
+e8c08000
+1fe67c16
+202159ca
+18007e16
+1fe22600
+20407ea5
+1a60a201
+20405a82
+5800000b
+e0a08000
+1a627200
+20407e9f
+20207f01
+20407ea5
+6800c3af
+1fe0a201
+20405a82
+5800000b
+e0a08000
+6800c3af
+1fe27200
+d8c043b0
+20207f01
+680144fa
+98467c00
+2422d9bf
+20405a42
+243459bf
+70047a05
+20205a77
+e8c10000
+6001445e
+da200014
+20405a82
+5800000d
+e0a08000
+6801445e
+98002200
+68090478
+2040576a
+203a5a76
+e8c08000
+9a267200
+24215a76
+1f267c16
+202159f5
+18007216
+1a227e00
+98c08c00
+20407ef4
+20407ea2
+20205aa5
+20405ab1
+204056d7
+202059fd
+d9600002
+6809445a
+60090aa2
+20405756
+2040576d
+18c08dfe
+18c27e00
+6001049c
+20405a88
+24215a25
+68090aa2
+2040578a
+c000da28
+20405a8c
+2422da23
+19627e00
+c0005a28
+24345a19
+78547c00
+da200014
+20405a82
+58000011
+e0a08000
+680084b3
+1fe0fe04
+e0a08000
+20407ea2
+20205a1f
+680084b3
+c0085a28
+68010aa2
+1fe0ffff
+600104a0
+20405a9c
+68010aa2
+6001049e
+20405a97
+196097ff
+20405a84
+20205a05
+68010aa2
+600104a0
+20205a2c
+68010aa2
+1fe0ffff
+600104a0
+20205a2c
+20345a76
+20405a9c
+20205aa5
+18c22200
+680144fc
+1fe0a5fd
+204056e2
+6800c4e9
+c3025a3d
+68090478
+680144fa
+98467c00
+2422da3d
+20405a42
+24345a3d
+70047a05
+20205a77
+18002201
+20405a82
+58000013
+e0a08000
+20600000
+20407fe9
+6800c4c6
+c1000000
+6800c040
+c3820000
+20207fe7
+18c0a202
+680144fc
+1fe0a5fb
+204056e2
+20205a4d
+680144fc
+1fe22200
+20405a82
+58000017
+e0a08000
+68010478
+e0a10000
+680144fc
+1fe0f3fb
+6801450d
+1fe08c07
+e8c10000
+e0a10000
+20207ef4
+18002201
+20405a82
+58000019
+e0a08000
+20600000
+18c22200
+680144fc
+1fe0a5fd
+202056e2
+18422600
+1a20a203
+20405a82
+1a20a3fd
+5800001b
+e0a08000
+1a620400
+e0a90000
+20600000
+18422600
+1a20a203
+20405a82
+1a20a3fd
+5800001d
+e0a08000
+1a620400
+e0a90000
+20600000
+70047a0a
+18002205
+20405a82
+58000001
+e0a08000
+68008477
+e0a08000
+68010478
+e0a10000
+6800847a
+e0a08000
+20600000
+18002404
+20205847
+68090aa2
+18408401
+60090aa2
+20600000
+68090aa2
+6801445c
+98467c00
+20600000
+6808c45e
+da20445f
+680084a2
+1fe27200
+98467c00
+24628000
+da4004a3
+20207f88
+6808c471
+da204472
+20205a8e
+680084b3
+60008101
+1fe27200
+20407e9f
+20207ef4
+20407e9c
+6801049e
+e0a10000
+680104a0
+e0a10000
+68008101
+1fe27200
+20407ef4
+20207ea2
+20407e9c
+2040588a
+18a27e00
+98c62200
+2040588d
+1a227e00
+e0c10000
+1a20a204
+20405879
+1a227e00
+e0c08000
+20600000
+1fecfe00
+6001445a
+e8c10000
+6001445c
+20600000
+e8c08000
+e8c88000
+e8c90000
+c009dabb
+20600000
+e8c10000
+60014509
+700a9940
+20207d86
+da20000c
+da600012
+20405ac7
+58000008
+e0a10000
+68044496
+e0a40000
+20600000
+20405acf
+da400005
+20405847
+1a627e00
+e0a08000
+6800c508
+e0a08000
+20600000
+6800c508
+1fe0fe01
+6000c508
+c1800000
+70450801
+20600000
+6800c4c6
+c0005ae4
+c000dae7
+c0015ae9
+c040dadd
+c0415adf
+c041dae2
+20600000
+7044560d
+20205ae5
+7044560d
+70445401
+20600000
+7044560d
+20205aea
+70445600
+70445403
+20600000
+70445605
+20205ae5
+70445605
+70445400
+20600000
+6800c456
+79207e03
+6000c456
+20600000
+6800c456
+793ffe03
+6000c456
+20600000
+e8c08000
+c000db09
+c001db30
+c0025b4d
+c002db5a
+c0035b80
+c003dbc4
+c0045baf
+c004dbc0
+c0055bc4
+c005dbc4
+c0065bc5
+c006dbca
+20600000
+18002202
+20405c62
+5800000b
+e0a08000
+6800c456
+e0a08000
+20600000
+6000c44c
+e8c30000
+e0a30000
+6800c4c6
+c0005b5f
+20405b2b
+20405b26
+7044c403
+6800c44d
+c0005b18
+c000db18
+c001db18
+6800c4c6
+c0015b1b
+c1418000
+dfe00000
+600244c7
+20600000
+6800c4e9
+c2805b24
+da2044c7
+1a220a00
+df200003
+2040630d
+680144c9
+1fe17e07
+600144c9
+700a9934
+20207d86
+6800c44f
+c3818000
+6800c4c6
+c4038000
+20203402
+18002207
+20405c62
+6803c453
+e0a38000
+20600000
+18c22200
+6800c4c6
+c041db37
+1a220c00
+d8a0442a
+20407ebf
+20205b3d
+1a220c00
+d8a0442a
+20407ebf
+7044bf02
+7044c108
+20600000
+6800c4c6
+c283db45
+2040739c
+18002211
+20405c62
+58000003
+e0a08000
+20207497
+d8a0443a
+2040630c
+204071c5
+18002211
+20405c62
+58000003
+e0a08000
+20207201
+18c22200
+6800c4c6
+c283db61
+1a220c00
+20407394
+2022db75
+70047b04
+18002202
+20405c62
+58000005
+e0a08000
+6800847b
+e0a08000
+18000e0a
+20407f07
+7044c400
+700a9930
+20207d86
+70047b05
+20205b54
+d8a0042f
+1a220c00
+20407ebf
+6800c4c6
+c041db6c
+2040714f
+20405b7a
+6800c4c6
+c1c10000
+700a993b
+20207d86
+204071ba
+d8a00af2
+20407201
+da200af2
+da40442a
+df200010
+20407f88
+2422db53
+20205b7a
+20407390
+700a9931
+20407d86
+70442901
+7044c405
+18002211
+20405c62
+58000004
+e0a08000
+d8c0443a
+20207ebf
+d8a0041f
+20207ebf
+18002211
+20405c62
+58000006
+e0a08000
+6800c4e9
+c280db8a
+d8c04419
+20207ebf
+d8c044ea
+20207ebf
+d8a044cb
+1800720a
+2040630d
+1800220b
+20405c62
+58000007
+e0a08000
+680144cb
+e0a10000
+680444cd
+e0a40000
+20600000
+18002211
+20405c62
+58000008
+e0a08000
+58000000
+e0a40000
+e0a40000
+20600000
+18002208
+20405c62
+58000009
+e0a08000
+6800c495
+e0a08000
+680344a0
+e0a30000
+20600000
+70047b08
+20205b54
+6800c458
+6808c458
+98417e00
+20600000
+d8a044d5
+20407ebf
+20405bab
+2fec0001
+2020dba9
+6800c092
+c1850000
+20405bb9
+24740000
+20203410
+20407fe9
+6800c48e
+c1000000
+68008454
+2fe180c0
+20608000
+20207fe7
+20405bab
+2fec0001
+2020dba9
+20600000
+20600000
+d8a009be
+20407eb3
+7044bf02
+7044c101
+20600000
+d8a00a6e
+20407ebf
+7044c106
+7044bf02
+20600000
+18002241
+20405c62
+5800000c
+e0a08000
+d8c045d2
+20207eb3
+20407166
+18002211
+20405c62
+5800000d
+e0a08000
+20207201
+6800c4c4
+c17f8000
+d8400003
+98467c00
+24610000
+d8e0000a
+20407f16
+247a0000
+20205ba9
+473c402f
+6800c4c4
+c0005bef
+c000dbf5
+c0015bef
+c001dbf7
+c002dbfb
+c003dc07
+c0045c09
+c004dc10
+20600000
+6800c4c5
+c1820000
+7044c5ff
+7044c4ff
+700a993f
+20207d86
+7044c402
+20205b02
+7044c404
+58017700
+d8e0000a
+20207f08
+6800c4c5
+c0025bfe
+20600000
+7044c407
+700a9929
+20407d86
+20405b82
+6800c092
+c1850000
+20405bb9
+20740000
+20203410
+7044c408
+20205b8c
+6800c452
+6808c459
+98417e00
+2fec0001
+2020dc12
+7044c409
+20205b98
+20405ba0
+20205c12
+18000e0a
+20407f07
+7044c5ff
+7044c4ff
+700a993e
+20207d86
+473cc02f
+6800c4c6
+c4038000
+6800c4bf
+c1810000
+7044bf00
+6800c4c1
+c000dc58
+c0015c5f
+c001dc52
+c0035c39
+c003dc30
+c0045c26
+20600000
+6800c663
+1fe20e00
+1fe0fe01
+6000c663
+680244c7
+afefffff
+58000080
+7920fe00
+6000c664
+20205c55
+6800c4c2
+7044c200
+c000dc35
+7044bf02
+20600000
+700a9931
+20407d86
+7044c405
+20205bd5
+680089b9
+c001dc3d
+7044bf02
+20600000
+2040718d
+6800c4c6
+c041dc41
+20405b18
+2040717a
+da200af2
+da400a6e
+df200010
+20407f88
+2022dc49
+70047b0b
+20205b54
+20407595
+2422dc47
+70442901
+6800c4c6
+c040dc35
+c041dc35
+7044bf02
+7044c107
+20600000
+6800c4c6
+c041dc56
+70466400
+20205b3d
+70466300
+20205b1b
+7044bf02
+6800c4c3
+c001dc5c
+20600000
+7044c102
+7009b900
+20207a99
+7044bf02
+7044c103
+20205bcf
+18002406
+20205847
+680082db
+c0005c7b
+c000dc83
+c0015c8e
+c001dcaa
+c0025ce1
+c002dce6
+c0035cea
+c003dcf5
+c0045c99
+c004dcf5
+c0055cef
+c005dcf5
+c0065c9f
+c006dcf5
+c0095ca6
+c009dcf5
+da200002
+da400007
+20405842
+680082db
+e0a08000
+20600000
+e8c48000
+6004c3d3
+e8c10000
+6001045f
+6800843f
+79207e05
+6000843f
+20600000
+e8c28000
+6002c3ce
+e8c10000
+6001045f
+68090459
+98467c00
+24215c8e
+6800843f
+79207e06
+6000843f
+20600000
+58000014
+6001046d
+600144ba
+20600000
+da600013
+da200002
+da400002
+20405842
+1a627e00
+e0a08000
+20600000
+da200009
+da400009
+20405842
+58000001
+e0a40000
+20600000
+20748000
+da200006
+da40000c
+20405842
+6802c510
+e0a28000
+20600000
+da400013
+20205ca8
+da200001
+20205842
+e8c40000
+600444cd
+e8c10000
+600144cb
+e8c40000
+600444aa
+e8c20000
+60024411
+20405ccf
+473d402f
+6800c4c4
+c002dcbc
+6800c4e9
+c280dcbf
+6800c217
+245a67be
+6800c429
+c0005cc4
+7044c501
+20405cdd
+202073a2
+70442901
+d8c044ea
+d8a04419
+20407ebf
+20205cbc
+473dc02f
+7044c500
+7044c400
+700a9941
+20207d86
+da200002
+da40000d
+20405842
+58000006
+e0a08000
+20600000
+d8a044b2
+18007208
+2040630d
+d8a04415
+18007204
+2040630d
+da20000d
+da400004
+20405842
+680444b2
+e0a40000
+68024415
+e0a20000
+20600000
+da400005
+20205ca8
+da400006
+20205ca8
+e8c40000
+600444b2
+e8c20000
+60024415
+202073a2
+6800843f
+79207e04
+6000843f
+20600000
+20748000
+700a9932
+20407d86
+7044c504
+20205cdf
+7044c502
+20405cf3
+700a9933
+20207d86
+da40000b
+20205ca8
+20600000
+20758000
+473e402f
+58000000
+60008048
+60008055
+60008078
+6000807c
+6000c158
+600084d7
+6000816d
+600089b5
+70455b00
+70022900
+7004d800
+7009b500
+7009b400
+7004d100
+20600000
+473ec02f
+2054e2ff
+2454e303
+204062bc
+247a0000
+6800804c
+c4030000
+793ffe06
+793f8001
+6000804c
+68008551
+6808804c
+2feffe00
+79208401
+6008804c
+18410402
+6008807f
+6808804c
+1fe37e00
+6000807d
+473f402f
+6800807d
+c03fdd66
+c001ddb1
+c0025dc2
+c01e5d59
+c002dd55
+c007dfa8
+c0085e24
+c011de42
+c01cdfc1
+c01c5fbc
+c018de27
+c01bdeb0
+c013deac
+c019dea9
+c012deae
+c0135e3e
+c003de36
+c016de2d
+c0175e2e
+c000dea5
+c0015e90
+c0145fb3
+c004de86
+c005de5f
+c0045e43
+c0065e6a
+c00fde3a
+c0105e3c
+c010deca
+c0115eca
+c01adecb
+c01b5ecc
+c0125eca
+c01a5ecd
+c00bded6
+c008def2
+c0095ef6
+c009def8
+c006df0a
+c0075f0a
+c017deaa
+c0185f0a
+c0055f0a
+c00c5f0b
+c0195f0a
+c01edf10
+c01f5f51
+c01fdf4b
+c0205f78
+c020df8a
+c0035fa7
+c01d5d57
+70007e19
+70007c04
+20600000
+70007c06
+20600000
+70007c3b
+20600000
+68020552
+1fe3fe00
+600240d2
+68008556
+6000c0d9
+68028557
+6002c0e7
+6802855c
+e0a28000
+68008031
+79207e03
+60008031
+20600000
+473fc02f
+68008552
+79207e07
+6000807d
+c040dd88
+c0415d8d
+c04adeb1
+c04b5eca
+c045debf
+c041dda5
+c0425da7
+c0485d7a
+c04bdd9e
+c04c5da3
+c04cdd7d
+c04d5d80
+c1420000
+70007c82
+70007e19
+20600000
+70007c82
+70007e2e
+20600000
+20405d82
+70007c9a
+20600000
+20405d82
+20205d86
+d8a0465e
+68018553
+e0a18000
+20600000
+2020f6d8
+20600000
+68008554
+79207e07
+600084c9
+c045dd92
+20600000
+68008554
+79207e07
+600084c9
+c045dd96
+20600000
+6800c15a
+6808804c
+7d3a0405
+6008804c
+68008030
+c4028000
+793ffe05
+60008030
+680084d7
+247a0000
+70007c31
+20600000
+2434dda1
+70007c12
+202062eb
+70007c97
+20600000
+204062eb
+20205ffe
+70007c84
+20600000
+68088555
+18410401
+600884d0
+6800c1ce
+c0a8ddad
+7041ce00
+68008055
+c18a8000
+70005504
+2020631b
+47404030
+68008552
+600084c9
+c019ddd8
+c0045de7
+c007ddee
+c0085df4
+c008ddf5
+c0095dfd
+c00c5e13
+c00bde16
+c009ddcf
+c01edf1e
+c01f5f6a
+c0205f20
+c020df3d
+20600000
+4740c030
+68008552
+600084c9
+c000de0a
+c019dde2
+c005ddfe
+c0045e01
+c009ddd2
+c0205e0b
+c020de0e
+c00c5e11
+c00bde22
+20600000
+700a9920
+20407d86
+202021dc
+700a9919
+20407d86
+70455b02
+58000050
+d8e00006
+20207f08
+680084d1
+79207e00
+600084d1
+700a9901
+20407d86
+70007c8b
+68008055
+c082dd07
+70005506
+20600000
+7004ca0b
+70007c07
+70005500
+2020dd07
+20600000
+6800c1bd
+247a0000
+2040244f
+20405ffc
+20748000
+79200021
+20600000
+24748000
+70007c10
+6800804c
+c4010000
+70007c12
+20600000
+20205ffe
+20406059
+68008030
+c3820000
+70007c31
+68008055
+c1850000
+7000550b
+20600000
+20600000
+70007c07
+7004ca13
+20600000
+68008553
+c0035e07
+c18c0000
+7004ca18
+70007c07
+20600000
+7004ca06
+70007c07
+20600000
+20600000
+7009ae00
+70007c07
+20205d07
+7009ae00
+70007c07
+20205d07
+700a9924
+20207d86
+700a9923
+20407d86
+202026e9
+700a9922
+20407d86
+58000000
+60010075
+680141e3
+1fe3fe00
+60010032
+6800c1e5
+60008073
+6800c1e7
+60008074
+202026c6
+700a9921
+20207d86
+68088552
+60088054
+20205e38
+680084d1
+79207e02
+600084d1
+c3818000
+70007c31
+20205d07
+20600000
+6800c0d0
+68088552
+98467c00
+20215e38
+70007c04
+70007e1f
+70007d2e
+20600000
+20406157
+20205e38
+70007c03
+20600000
+70007c21
+20600000
+70007c22
+20600000
+68008055
+c1098000
+70005502
+20600000
+20600000
+20405ff9
+7004d401
+700a990a
+20407d86
+204062f3
+2420e001
+2434de4e
+70007c04
+70007d08
+70007e23
+20600000
+6800804b
+79207e02
+6000804b
+20600000
+6808804c
+7d3a0401
+6008804c
+20600000
+6800807f
+1fe37e00
+1fe17e01
+20600000
+6800c217
+207a0000
+680089b5
+205a67b2
+20600000
+20405e5a
+20405e56
+600084d5
+20405ff9
+70007c0c
+6800c1bd
+247a0000
+68008030
+c3830000
+70007e06
+20205d53
+da200040
+20407288
+68020552
+680a0592
+98467c00
+2022de73
+70007c07
+7004ca05
+20600000
+20405e77
+6800c65a
+203a5f3e
+20600000
+20407386
+204021b2
+6800804b
+2feffe01
+793ffe01
+6000804b
+68008055
+c00cde81
+c00c5e81
+20600000
+680089b5
+c1800000
+6800804c
+c3810000
+202063b1
+da200552
+da400582
+d8a00562
+20407352
+da200040
+20406311
+70007c0b
+68008030
+c3035ffc
+20600000
+6801015f
+1fe0f3fd
+68088552
+58000101
+98408a00
+d8c00554
+20407f01
+68088053
+68008553
+98467e00
+1fe67c0e
+20215ea0
+1840fe0e
+60008053
+70007c01
+20600000
+6800804c
+79207e03
+6000804c
+c2826006
+20600000
+68008552
+6000807d
+70007c02
+20600000
+20205e38
+70007c30
+20600000
+70007c28
+20600000
+70007c26
+20600000
+20600000
+68010032
+98000400
+68008553
+60008095
+984f8400
+68010554
+1fe3fe00
+60010096
+68020556
+1fe3fe00
+60020091
+18427e00
+60010098
+20600000
+6808c15a
+68008553
+9842fc00
+2422dd77
+2feffe00
+6800804c
+7920fe05
+6000804c
+70007c81
+70007d8b
+20600000
+20600000
+20205e38
+20205e38
+68010552
+60010171
+20600000
+68010555
+6808c172
+984ffe00
+d8400640
+98467c00
+20600000
+68010557
+203a5ef0
+20405ed0
+20215ef0
+6800c092
+1fe67c0a
+2042bcd5
+68008030
+c280def0
+68010553
+1fe3fe00
+60010075
+68010555
+1fe3fe00
+60010032
+68010557
+60008073
+98000400
+68010559
+60008074
+98467c00
+24215eed
+60008073
+70007c03
+70007d17
+20600000
+70007e24
+20205d53
+20405e38
+20405ff9
+2040728b
+202026b8
+20405e38
+202026c0
+68020552
+1fe3fe00
+2034df04
+6808c1bd
+243a5f01
+70007c04
+70007d13
+70007e24
+20600000
+70007c34
+70005500
+202021d9
+204021d9
+79200022
+6800816d
+793ffe02
+6000816d
+20205e38
+20600000
+70007c03
+70007d18
+700a992e
+20407d86
+202026e9
+68008552
+c080df1c
+68008553
+c080df1c
+68008554
+c0985f1c
+204062fc
+2020df19
+7009ae01
+70007c03
+70007d3d
+20205d07
+70007e24
+20205d53
+70007c3e
+20600000
+6800c662
+c000df27
+c0015f2b
+204062fc
+20608000
+7009ae08
+20600000
+20407962
+700a9935
+20407d86
+20205f23
+204062fc
+20608000
+6800c663
+c009df3b
+1fe0fe01
+6000c663
+7009b001
+7009ae04
+6800c663
+1fe20e00
+6803468a
+afefffff
+58000080
+7920fe00
+6000c664
+20600000
+7009ae08
+20600000
+20405f43
+6800c665
+207a0000
+70466500
+700a9938
+20207d86
+204062fc
+2440f965
+2040f975
+204062fc
+20608000
+7009ae0c
+7009b001
+20600000
+d8a00a6e
+d8c00552
+20407ebf
+6800c662
+c1010000
+202076d8
+680089af
+c003df55
+680089ae
+c080df68
+680089b7
+1fe60a20
+24215f68
+d8a009c6
+98a08a00
+68040552
+e0a40000
+6804055a
+e0a40000
+680089b7
+1fe0fe10
+600089b7
+c0985e38
+204062fc
+2020de38
+7009b801
+7009ae02
+7009b001
+20205e38
+70007e24
+20205d53
+680089b6
+c0185f6e
+70007c3e
+20205d07
+204062fc
+2020df77
+6800c662
+c0015f75
+7009b001
+7009ae04
+20205d07
+700a9936
+20207d86
+20205d07
+680089af
+c003df7c
+680089ae
+c0835f88
+d8a00a2e
+68040552
+e0a40000
+6804055a
+e0a40000
+204062fc
+2020df86
+7009ae07
+7009b001
+20205e38
+7009af04
+202076d8
+70007e24
+20205d53
+680089af
+c005df8e
+680089ae
+c0845f9d
+d8a00a5e
+d8c00552
+20407ebf
+204062fc
+2020df9a
+6800c662
+c000df9f
+70466100
+7009ae09
+7009b001
+70007d41
+20205d07
+7009af09
+7009b101
+20205d07
+70007e24
+20205d53
+6800c661
+c283dfa4
+79207e06
+6000c661
+20600000
+c2805f95
+70466100
+20205f9d
+20205d07
+6800816d
+793ffe01
+6000816d
+20405e38
+24748000
+68008552
+6808804b
+793a0404
+7d3a0405
+6008804b
+20600000
+680c0552
+68008055
+c1818000
+6800816d
+c3025fba
+70005514
+20600000
+70005504
+20600000
+6800817f
+6000815b
+70007c03
+70007d38
+20600000
+70007c03
+70007d39
+18007209
+d8c00552
+d8a00152
+e8c08000
+1fe2fe55
+e0a08000
+c2005fc6
+68008152
+68088151
+793f8407
+793f8404
+c07fdfda
+c0005ff3
+c002dfe7
+c003dfe6
+c0035fe7
+c0045fe6
+c000dfdf
+c0015fdf
+c001dfdf
+c004dfdf
+c0025fdf
+20600000
+68008151
+79207e03
+79207e02
+60008151
+20600000
+79200404
+70018005
+68010159
+98007200
+6001015f
+d8a00551
+20407f73
+79200407
+79200402
+18007e00
+6000800b
+600100fa
+600100fc
+600100f8
+600100f6
+68008153
+2fe1fe00
+79208406
+60088151
+20600000
+793f8011
+70015100
+6800817f
+793ffe06
+6000817f
+20600000
+d8c00552
+d8a00562
+20207ebf
+70007c09
+20600000
+24748000
+70007c11
+20600000
+da2040a0
+20407255
+70007c03
+70007d08
+20600000
+7000720a
+70007c07
+7004ca16
+20600000
+47414030
+78547c00
+204062c1
+68008048
+207a0000
+c283e03f
+c000e16f
+c00160e4
+c001e04a
+c0026060
+c013e1db
+c0146108
+c01860f4
+c012e1d6
+c0136103
+c018e1c3
+c01be16a
+c019e15c
+c0046259
+c004e24f
+c005e264
+c006626d
+c007e162
+c0086292
+c008e288
+c003e152
+c015617e
+c005617f
+c00fe1bc
+c00360f9
+c010e15f
+c016e1b2
+c01761b7
+c011615f
+c01a6180
+c009e195
+c00be1a4
+c009628f
+c017e1aa
+c00c61af
+c01ee1ff
+c01f620b
+c01fe21d
+c0206227
+c020e23c
+c011e24b
+c01de246
+c002e24c
+c014e24d
+c01c624e
+c01ce175
+20202a8c
+20600000
+c040e06d
+c0426099
+c0416076
+c041e10d
+c045e118
+c04be14e
+c04ce0d5
+c04d60a4
+c04ae0da
+c04b60db
+20202a8c
+18007e02
+20406298
+68008049
+e0a08000
+204062a7
+4741c030
+68008049
+c0046080
+c007e084
+c008608f
+c00be05f
+c019e092
+c020e098
+c008e059
+20600000
+68008055
+207a0000
+7000551b
+5800000c
+d8e00007
+20207f08
+202026c6
+18007e03
+20406298
+68008049
+c005e068
+e0a08000
+6800804a
+e0a08000
+202062a7
+e0a08000
+6800804a
+e0a08000
+d84004d5
+202062e2
+18000e04
+204062a0
+5800007f
+e0a08000
+68008049
+793ffe07
+e0a08000
+68008049
+202062a7
+18000e05
+204062a0
+5800007f
+e0a08000
+68008049
+793ffe07
+e0a08000
+6800804a
+e0a08000
+202062a7
+2040244f
+204062f3
+20608000
+20205ffc
+6800804b
+c282e08b
+c4020000
+70007c12
+793ffe04
+204062eb
+2020608d
+70007c10
+793ffe05
+6000804b
+20600000
+204062fc
+2020dffe
+20600000
+70007c8b
+680084d1
+79207e00
+600084d1
+700a9901
+20207d86
+20600000
+18000e0c
+204062a0
+58000001
+e0a08000
+680104ce
+e0a10000
+58000000
+e0a18000
+58000000
+e0a20000
+202062b0
+18000e05
+204062a0
+6801c65b
+e0a18000
+204062b0
+70466501
+6800c65b
+c000e0b5
+c00160af
+c001e0bb
+20600000
+6800c65e
+c00060c7
+c000e0c7
+c00160c7
+c001e0c1
+20600000
+6800c65e
+c00060c1
+c000e0c5
+c00160c7
+c001e0c1
+20600000
+6800c65e
+c00060c1
+c000e0c1
+c00160c1
+c001e0c1
+20600000
+70466203
+6800c55c
+c28033e9
+20600000
+70466201
+20600000
+70466202
+20600000
+d8e00000
+202060cd
+d8e00000
+202060d1
+6800c55c
+f9207e00
+6000c55c
+20600000
+6800c55c
+f93ffe00
+6000c55c
+20600000
+18000e05
+204062a0
+6801c65b
+e0a18000
+202062b2
+20600000
+18000e09
+204062a0
+68008095
+e0a08000
+68010096
+e0a10000
+68020091
+e0a20000
+202062b0
+18007e11
+20406298
+68008049
+1fe20400
+c00060ec
+c00760ec
+c00e60ec
+20600000
+e0a08000
+6800c515
+e0a08000
+df20000e
+58004516
+98408c00
+20407f01
+202062b0
+18007e03
+20406298
+58000114
+e0a10000
+202062b0
+18007e03
+20406298
+68020165
+9c467e00
+2034e0ff
+1fe67e00
+1feb7e00
+793ffe0f
+e0a10000
+202062b0
+18007e06
+20406298
+6802c510
+e0a28000
+202062b0
+18007e09
+20406298
+68044098
+e0a40000
+202062b0
+18000e0c
+204062a0
+58000001
+e0a08000
+680104ce
+e0a10000
+58000000
+e0a18000
+58000000
+e0a20000
+202062b2
+18000e03
+204062a0
+6800c15a
+e0a08000
+78547c00
+204062b2
+24740000
+24748000
+6800c0d8
+c4000000
+20406132
+2020613c
+47424030
+6800c09e
+79207e03
+6000c09e
+58000101
+600104ce
+20600000
+4742c030
+6800c09e
+793ffe03
+6000c09e
+58000000
+600104ce
+20600000
+7040d803
+58000000
+60024142
+d8a040da
+20406140
+d8a040e7
+20406140
+d8a04146
+20406140
+20206147
+d8a040e7
+20406140
+20406147
+2020614a
+58ffffff
+e0a18000
+e0a18000
+e0a18000
+5800007f
+e0a08000
+20600000
+58000000
+600140d6
+20600000
+6800c0d8
+79207e02
+6000c0d8
+20600000
+18000e02
+204062a0
+2434e2b0
+202062b2
+18007e02
+20406298
+680084ca
+e0a08000
+204062b2
+6800804b
+79207e03
+6000804b
+70007232
+20600000
+18007e01
+20406298
+202062b2
+18007e01
+20406298
+202062b0
+18007e02
+20406298
+6800804c
+2fec0002
+7920fe00
+1fe17e01
+e0a08000
+202062b2
+18007e03
+20406298
+68010051
+e0a10000
+202062b2
+700072fa
+18007e02
+20406298
+68008053
+e0a08000
+202062b2
+18007e0a
+20406298
+d8c00152
+18007209
+e8c08000
+1fe2fe55
+e0a08000
+c2006179
+202062b2
+202062b2
+202062b2
+20748000
+2040282d
+18007e09
+20406298
+68010171
+e0a10000
+6801c0a0
+e0a18000
+6800c0a3
+e0a08000
+680140a4
+e0a10000
+c581e191
+793f8003
+204062b2
+70007c13
+20600000
+204062b0
+70007c03
+70007d13
+20600000
+d8400200
+2034e199
+1d027e00
+2020619a
+1c427e00
+1c227e00
+9840fe00
+1fe17ffc
+60020034
+18007e05
+20406298
+68020034
+1fe37e00
+e0a20000
+202062b2
+18007e0a
+20406298
+d8c004d9
+e8c48000
+e0a48000
+202062b2
+18007e03
+20406298
+58000114
+e0a10000
+202062b2
+18007e01
+20406298
+202062b2
+18007e02
+20406298
+6800c0d0
+e0a08000
+202062b2
+18007e02
+20406298
+58000005
+e0a08000
+202062b2
+18007e02
+20406298
+58000000
+e0a08000
+202062b2
+70007c2e
+20600000
+6800c092
+1fe67c0a
+2042e1c1
+68008030
+79207e04
+60008030
+1c427e00
+600204e9
+680084d1
+c281e1d4
+79207e03
+600084d1
+700a9905
+20407d86
+18007e01
+20406298
+202062b2
+70004800
+20600000
+18007e06
+20406298
+6802c510
+e0a28000
+202062b2
+18007e09
+20406298
+68044098
+e0a40000
+202062b2
+7009b101
+6800c5b1
+c1808000
+7009af13
+20600000
+204062ef
+70007c99
+7009af03
+20600000
+204062ef
+70007c3d
+7009af07
+20600000
+da200a4e
+da400a6e
+df200010
+20407f88
+2022e1f7
+7009af00
+204076da
+70007e24
+70007d40
+20205d53
+7009af0a
+204076d8
+70007d40
+20205e38
+70007c40
+20600000
+70007c3d
+20600000
+7009b600
+18007e04
+20406298
+18007e01
+e0a08000
+18007e01
+e0a08000
+18007e30
+e0a08000
+204062fc
+2020e2b2
+202062b0
+18007e11
+20406298
+680089b6
+d8c0462a
+98c08c00
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+680089b6
+1fe0fe10
+600089b6
+204062fc
+2020e2b2
+202062b0
+7009ae06
+70007c3f
+20600000
+18007e11
+20406298
+d8c00a4e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+202062b0
+70007c40
+20600000
+204062fc
+2040f612
+18007e11
+20406298
+d8c00a1e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+204062fc
+2420e2b0
+2020e2b2
+7009af0f
+204062ef
+70007c0b
+20406307
+2020f64e
+20207658
+204062eb
+70007c41
+20600000
+18007e11
+20406298
+d8c00a4e
+e8c40000
+e0a40000
+e8c40000
+e0a40000
+204062fc
+2420e2b0
+2020e2b2
+18007e03
+20406298
+5800fffe
+e0a10000
+202062b0
+202062b2
+202062b2
+202062b2
+202062b2
+2040630b
+da2040a0
+20406311
+18007e11
+20406298
+da200582
+da400562
+20407352
+2434e2a7
+202062ad
+2040630b
+da200040
+20407255
+18007e11
+20406298
+d8c00562
+20407ebf
+68008055
+c00ce2b2
+c00c62b2
+202062ad
+680089b5
+203a626a
+204062fc
+2040e2ef
+2440e2eb
+2020626b
+204062ef
+2040630b
+2020625c
+da2040a0
+20407288
+18007e05
+20406298
+68020592
+e0a20000
+d84004d5
+204062e2
+20407386
+204062fc
+2020e27c
+7004d801
+680089b5
+207a0000
+70007c0b
+6800c1bd
+207a0000
+204062fc
+2420e284
+680084d7
+207a0000
+70007c0f
+20600000
+c6908000
+793f8021
+70007c0f
+20600000
+2040630b
+2040728b
+18007e11
+20406298
+d8c00562
+20407ebf
+202062ad
+18007e01
+20406298
+202062ad
+18007e02
+20406298
+18007e10
+e0a08000
+60008054
+202062ad
+1fe9fe00
+1fe1fe07
+600084b6
+df200011
+d8a004b8
+20407ed4
+d8a004b8
+20600000
+1fe1227f
+7000487f
+18e27e00
+20406298
+1a227e00
+e0a08000
+20600000
+68008048
+1fe3fe00
+6808804c
+284ffe01
+7920fe00
+202062b7
+6808804c
+18410401
+202062b3
+18000400
+202062b3
+18000401
+68008048
+1fe3fe00
+7934fe00
+9842fe00
+600084b7
+70004800
+204062c7
+78347c00
+20600000
+6800807c
+207a0000
+204062c1
+6800807c
+20600000
+47434030
+68008048
+203a62c7
+68008078
+247a0000
+202062d1
+68008078
+203a62d7
+68018078
+60018048
+6808807b
+6800804c
+793ffe01
+9841fe00
+6000804c
+70007800
+6800807c
+207a0000
+6802007c
+60020078
+70007c00
+20600000
+6800807c
+207a0000
+6801807c
+60018048
+6808807f
+6800804c
+793ffe01
+9841fe00
+6000804c
+70007c00
+20600000
+4743c030
+6800804c
+1fe22600
+e8408000
+20405e52
+204062a7
+1a627e00
+6000804c
+20600000
+6808804c
+793f8400
+6008804c
+20600000
+6808804c
+79200400
+6008804c
+20600000
+7d34fe01
+6808804c
+9842fe00
+2feffe01
+20600000
+6800804c
+7934fe01
+6000804c
+20600000
+680089b4
+2fe0fe01
+20600000
+680089b4
+79207e07
+600089b4
+20600000
+680089b4
+793ffe07
+600089b4
+20600000
+680089b4
+2feffe07
+600089b4
+20600000
+d8a00562
+18007210
+180a7e00
+e0a08000
+c200630d
+20600000
+20407259
+da2041be
+da400592
+ea240000
+68088030
+7d3a0406
+60088030
+1a220a00
+20407352
+202021c4
+47444031
+204062bc
+247a0000
+68008055
+207a0000
+c002636f
+c002e374
+c0016366
+c001e37c
+c0076369
+c0036398
+c003e3b0
+c004e3b1
+c00563ba
+c005e3be
+c0066386
+c006e389
+c007e38f
+c0096359
+c009e37c
+c008635c
+c00a6356
+c00ae37c
+c00b6350
+c00c6355
+c00be349
+c00ce34f
+c00d633a
+c00de344
+70005500
+20600000
+680084d1
+c4010000
+c4018000
+70005500
+20406340
+20206cef
+6800816d
+c4008000
+7000550a
+20600000
+d8e00007
+20407f16
+247a0000
+7000551a
+20600000
+6800816d
+793ffe00
+6000816d
+70005519
+70007c0b
+20600000
+20600000
+680084d4
+c1810000
+204063c0
+70005518
+20600000
+20600000
+70005515
+70007c83
+20600000
+70005513
+70007c25
+20600000
+6800c55b
+c1000000
+c000e364
+d8e00006
+20407f16
+247a0000
+70455b00
+2020637d
+20748000
+20206398
+70005503
+70007c27
+20600000
+70007c13
+79200003
+70005505
+580001ff
+600104d2
+20600000
+70005505
+7004d2ff
+793f8022
+70007c33
+20205d04
+c6110000
+680104d2
+1fe67e01
+2022e37a
+600104d2
+20600000
+7000550e
+20600000
+20600000
+680084d1
+c4018000
+c4010000
+6800816d
+793ffe02
+6000816d
+70007c13
+70005510
+20600000
+7000550d
+70007c31
+20600000
+680084d1
+c4010000
+70005500
+20600000
+70005506
+20600000
+680084d2
+1fe0ffff
+203a6394
+600084d2
+20600000
+70007c07
+7004ca16
+70005500
+20600000
+6800816d
+c281637d
+c280639d
+7000551a
+20600000
+6800c1bd
+203a63a9
+680084d1
+c4018000
+c4010000
+680204e9
+d8400064
+98408400
+1c427e00
+98467c00
+24610000
+20206349
+70005516
+70468904
+58003030
+6001468a
+e0a10000
+7004d402
+20206350
+20600000
+6800816d
+c280e3b5
+7000551a
+20600000
+6800816d
+793ffe01
+6000816d
+70007c0f
+20600000
+680084d8
+207a0000
+70005500
+202063b5
+7000550c
+20600000
+6800804b
+c28163c5
+204062ef
+70007c08
+20204d04
+6800804b
+793ffe02
+6000804b
+20406001
+204062f8
+20204d04
+58000004
+6000c689
+58003030
+e0a10000
+e0a10000
+20600000
+47464031
+68108073
+d8400006
+9841fe00
+60108073
+68108077
+9841fe00
+60108077
+204063ee
+68108077
+793ffe01
+793ffe02
+60108077
+2000001e
+202063f2
+68108073
+d84000c0
+9841fe00
+60108073
+68108077
+9841fe00
+60108077
+204063ee
+68108077
+793ffe06
+793ffe07
+60108077
+2000001e
+202063f6
+68108081
+1fe17efc
+60108081
+20600000
+68108081
+1fe1fe01
+60108081
+20600000
+68108081
+1fe1fe03
+793ffe04
+60108081
+20600000
+1fe22400
+2040640f
+20000064
+1a427e00
+20406414
+1fe22400
+20406411
+20000064
+1a427e00
+20600000
+1fe22400
+2040640f
+20000064
+1a427e00
+20406413
+20406411
+20000064
+20600000
+6808c214
+2020680e
+6808c214
+20206829
+6808c214
+20206825
+202064ec
+202064f3
+24346419
+68108085
+1fe1fe02
+60108085
+18427c00
+2022e41c
+1a627a00
+2fcc0000
+202064b9
+18000404
+da2001fe
+68108085
+1fe17efd
+60108085
+20406419
+da2055aa
+680101fe
+e8c90000
+9a267c00
+20600000
+d8400002
+da200204
+20406419
+68010204
+600101f7
+20546430
+20600000
+d8400010
+da200206
+68108085
+1fe17efd
+60108085
+20406419
+d8c00206
+df200010
+20407478
+20407428
+20407491
+20207422
+7856fc00
+2040641e
+24628000
+7836fc00
+70802380
+70802200
+70802400
+da208025
+20406415
+70802300
+d8400006
+2040641f
+24628000
+e8c10000
+98002200
+20406419
+20206446
+20407f99
+58001000
+600101f7
+da6065e5
+df200002
+2040641e
+24628000
+680101f7
+1ff0fe00
+9840fe00
+1ff0fe00
+600101f7
+c2006452
+20206446
+20407f99
+78547c00
+2040666a
+58000000
+da2001f3
+d8400002
+204066b3
+680101f3
+c303e46e
+70805025
+580007f0
+da200206
+d8400010
+204066b3
+70800608
+7920002b
+d8c00206
+20407484
+78347c00
+7041da00
+204064b0
+680101f3
+1ff0fe00
+d84007ff
+98417e00
+2022e47b
+2040666f
+da6066b8
+20546430
+2040643c
+680081f2
+c300646f
+2040666d
+7041da00
+204064b0
+204065c2
+680081f3
+c283648e
+204064aa
+2436e486
+680081f2
+c300647d
+2020649b
+204065bf
+680081f3
+c283648e
+204064aa
+2436e48e
+680081f2
+c300647d
+2020649b
+7041da00
+204064b0
+680081f3
+c282e49b
+58000000
+600181f6
+20406502
+da606578
+20406429
+2040643c
+2436e49b
+680081f2
+c300648f
+c515e49d
+204064a3
+680081f3
+c30264a3
+70805021
+20404c0e
+20404c2e
+202064a1
+58000000
+60040206
+6004020e
+18007004
+20407492
+70805021
+20600000
+58000000
+600101f7
+da6065e5
+204065a3
+20406429
+2020643c
+6800c1da
+1fe0fe01
+1fe67c03
+242164b6
+6000c1da
+20600000
+204064a3
+20407fa1
+20600000
+680081f2
+1fe3fe00
+7920fe00
+2a2c000f
+20608000
+600081f2
+20600000
+68108085
+c4008000
+202064c6
+6810812c
+afefffff
+20608000
+68108108
+c300e4c3
+20407422
+202064c3
+68014199
+207a0000
+70802380
+70802200
+70802400
+6809419b
+184bf200
+98000c00
+e8c08000
+60108025
+c20064d2
+70802300
+20600000
+4746c031
+204064dd
+202063f2
+204064dd
+204063ee
+202063f6
+6800c212
+60108086
+6800c213
+60108087
+580001f5
+6011008a
+580001fa
+6011008c
+202063ee
+68108086
+79207e07
+60108086
+793ffe07
+60108086
+20600000
+79207e07
+600101f5
+47474031
+70808802
+70808e00
+70800602
+202064fc
+18000401
+600081f5
+4747c031
+70808801
+6019008e
+70800602
+204064fc
+680081fa
+20600000
+680140d6
+1fe0fe01
+600140d6
+6810812c
+c301e4fc
+20600000
+70808640
+70808700
+68108081
+793ffe00
+79207e01
+60108081
+58000000
+600201f5
+20600000
+58000000
+6011008e
+58000001
+60110088
+580001f5
+6011008a
+7001f506
+70800602
+202064fc
+78547c00
+1fe22400
+6800c239
+c1800000
+78347c00
+1a427e00
+20206522
+6800c239
+c000e522
+c0016528
+c001e530
+c0026537
+c002e53d
+20600000
+6001c232
+1a227e00
+60014235
+60094237
+70423902
+20206502
+20406502
+70423903
+2040650b
+da2001f5
+6801c232
+70808804
+d8400020
+20206556
+20406502
+2040650b
+58000005
+204064f3
+c3800000
+70423904
+20600000
+20406502
+70423905
+2040650b
+2040654a
+20406552
+20206545
+20406502
+2040650b
+58000005
+204064f3
+c3800000
+70423900
+68014201
+20207f9c
+68020aa2
+68094235
+184085fc
+e0420000
+20600000
+68094235
+18422200
+184085fc
+e8420000
+60020aa2
+68094237
+6801c232
+20600000
+18408404
+60190088
+d8400002
+1a20a3fc
+e2288000
+1ff10400
+e0a88000
+1fec8400
+e0a88000
+e0a08000
+1a227e00
+6011008a
+58000000
+6011008e
+70800602
+202064fc
+6019008e
+1ff10400
+600881f6
+1fec8400
+600881f7
+600081f8
+58000004
+60110088
+7001f503
+580001f5
+6011008a
+1a227e00
+6011008c
+68108086
+2a2c000f
+7920fe06
+60108086
+70800602
+6810812c
+c283e574
+d8e00003
+202064fc
+6019008e
+58000004
+60110088
+7001f503
+580001f5
+6011008a
+1a227e00
+6011008c
+68108086
+2a2c000f
+7920fe06
+60108086
+70800602
+6810812c
+c283e585
+d8e00003
+204064c0
+204064fc
+2feffe02
+204064b9
+680081f6
+1ff02400
+680081f7
+1fed7e00
+9a41a400
+680081f8
+9a41fe00
+9840fe00
+600081f8
+1fecfe00
+600081f7
+1fecfe00
+600081f6
+20600000
+70801001
+20600000
+7080910c
+7080920d
+7080930d
+7080940d
+7080950d
+7080960c
+202065a9
+70809105
+70809207
+70809307
+70809407
+70809507
+70809605
+6810807b
+1fe1fec0
+6010807b
+68108081
+1fe1fe10
+60108081
+20600000
+6810812c
+c302e5b0
+20600000
+60110098
+1a227e00
+6011009a
+1a427e00
+6011009c
+18427e00
+6011009e
+d8400001
+7d3a0401
+60108090
+70800604
+202065b0
+79200028
+70421108
+20600000
+793f8028
+70421120
+20600000
+6800c203
+9a40fe00
+600081f7
+202065cc
+680101f7
+1ff0fe00
+600081f7
+58000003
+60110098
+7001f6a0
+7001f8a1
+202065eb
+60090aa2
+204065d6
+68090aa2
+20406606
+202065dd
+6800c23a
+c17f8000
+c30365db
+580249f0
+20402a8f
+6808c23a
+20206829
+6808c23a
+20206825
+47484032
+c51465c5
+68014203
+9a40fe00
+1ff0fe00
+600101f7
+4748c032
+c51465c9
+58000004
+60110098
+7001f6a0
+7001f9a1
+580001f6
+6011009a
+6019009e
+1a227e00
+6011009c
+58000002
+2a2c000f
+7920fe00
+60108090
+70800604
+d8e00005
+204064c0
+204065b0
+2feffe04
+204064b9
+c5146601
+680101f7
+1ff0fe00
+9840fe00
+1ff0fe00
+600101f7
+20600000
+680081f7
+9840fe00
+1ff0fe00
+600101f7
+20600000
+68014203
+9a40fe00
+60010a9a
+47494032
+60090aa2
+1a227e00
+60010ab9
+2040661d
+68090ab2
+68010ab9
+1fe22200
+68010a9a
+2040663d
+68010ab2
+68090ab9
+98408400
+60090ab9
+68090a9a
+98408400
+60090a9a
+68010aa2
+243a660d
+20600000
+4749c032
+6800c211
+1fe0ffff
+68090a9a
+9841fe00
+1fe0fe01
+60018ab6
+68010aa2
+9840fe00
+68098ab6
+98467e00
+2421662f
+60010aa2
+68018ab6
+68090a9a
+98467e00
+60010ab2
+20600000
+68010aa2
+60010ab2
+58000000
+60010aa2
+20600000
+18408402
+60190098
+1a20a3fe
+ea298000
+18422400
+d84000a0
+e2288000
+e0a08000
+2020664a
+1fe22400
+474a4032
+c5146634
+1a427e00
+18408403
+60190098
+1a20a3fd
+ea298000
+18422400
+d84000a0
+e2288000
+1ff0fe00
+e0a10000
+1a227e00
+6011009a
+58000000
+6011009e
+70809001
+70800604
+204065b0
+1a427e00
+e2218000
+474ac032
+7001f900
+58000001
+60110098
+7001f6a0
+580001f6
+6011009a
+58000000
+6011009e
+6011009c
+58000003
+60108090
+70800604
+204065b0
+6810812c
+c4030000
+200005dc
+680081f9
+1fe0fe01
+600081f9
+1fe67c28
+24610000
+20206655
+70897370
+20000bb8
+20600000
+70897330
+20600000
+1fe9fe00
+60110045
+70804b00
+20600000
+2040666f
+204066a0
+ea288000
+1a20a201
+18000e00
+a84c0000
+2020e697
+68108046
+79207e06
+79207e07
+60108046
+70804702
+70804782
+793ffe07
+60108046
+7080478a
+2000000b
+708047ca
+20000021
+7080474a
+2000002c
+708047ca
+20000016
+7080478a
+20000021
+70804782
+20000001
+70804792
+2000000a
+708047b2
+68108007
+70804792
+20000001
+70804782
+afec0000
+2020e678
+68110045
+1fe0fe01
+60110045
+18e08e01
+28e01e08
+2420e678
+c2006675
+70804783
+20600000
+70804782
+2000000c
+70804780
+70804782
+20000096
+20600000
+204066a0
+708047a2
+1a227e00
+60110048
+7920040b
+2fec000f
+7920840f
+6019004a
+70800601
+20600000
+6810812c
+c300e6b0
+20600000
+2040666f
+204066a6
+204066b0
+70804783
+20600000
+68110124
+60110045
+204066a6
+d8e00001
+204064c0
+204066b0
+2feffe00
+204064b9
+70804783
+20600000
+6811005e
+98001400
+20600000
+19427e00
+6011005e
+20600000
+18627e00
+60110058
+20600000
+68110058
+1fe20600
+20600000
+68014243
+60110052
+20600000
+1f227e00
+207a0000
+1f20f3f8
+204166de
+20628000
+202166d3
+1f20f208
+1f20f3fc
+204166e1
+20628000
+202166d8
+1f20f204
+202066e4
+e8c40000
+e1440000
+20600000
+e8c20000
+e1420000
+20600000
+1f227e00
+207a0000
+e8c08000
+e1408000
+c20066e6
+20600000
+1f227e00
+207a0000
+1f20f3f8
+204166f7
+20628000
+202166ec
+1f20f208
+1f20f3fc
+204166fa
+20628000
+202166f1
+1f20f204
+202066fd
+e8640000
+e0a40000
+20600000
+e8620000
+e0a20000
+20600000
+1f227e00
+207a0000
+e8608000
+e0a08000
+c20066ff
+20600000
+1f227e00
+207a0000
+e8608000
+e1408000
+c2006705
+20600000
+700a993d
+20207d86
+474b4032
+6800c217
+207a0000
+204067a3
+2042e7a9
+2040673e
+6800c217
+1fe22600
+68094215
+6009018c
+1a627e00
+203a6709
+1a60a7ff
+18422200
+ea208000
+68088184
+98467c00
+2042e725
+20216721
+ea208000
+1fe0fe01
+e2208000
+6809018c
+18408422
+6009018c
+20206715
+58000000
+e2208000
+68008185
+e0a08000
+c099e733
+da4041be
+e8c30000
+e0a40000
+58000000
+e0a40000
+1a420c00
+20407ebf
+18007c01
+20600000
+c01b6737
+c01be73b
+da404419
+2020672b
+d8c044d5
+20407ebf
+d8c04419
+20206730
+d8c044cd
+20407ebf
+20206739
+20407fe9
+6800c217
+207a0000
+68014682
+c2806754
+474bc032
+6800c48e
+c000674d
+68008454
+2fe180c0
+2020e74d
+2fe18040
+2020e752
+2fe18000
+2020e750
+70018535
+6803044f
+20206757
+70018537
+20206757
+70018536
+20206757
+474c4033
+70018533
+68030040
+60030186
+68014215
+efe88000
+1fe0fe01
+6001018c
+60088184
+6800c217
+1fe22600
+6801018c
+1fe22200
+2040676f
+20740000
+6809018c
+18408422
+6009018c
+184085ff
+e8408000
+60008184
+1a60a7ff
+2422e75f
+6800c217
+1fe0ffff
+60008184
+20600000
+68008185
+c099e776
+da400185
+df200007
+20407f88
+2022ffe7
+20600000
+c01b6779
+c01be794
+20206771
+ea288000
+98467c00
+24628000
+d8a00ac2
+df200010
+20407ed4
+68018452
+60018ac2
+2040678b
+68010adf
+1ff0fe00
+1fed0400
+e8c08000
+9840fe00
+6809844f
+98467c00
+2022ffe7
+20600000
+d8c00ac2
+20407486
+ea208000
+20407487
+18006c38
+18006c00
+2040741d
+d8a00ad2
+20207497
+ea288000
+98467c00
+24628000
+18c22200
+18c0a608
+da4044cd
+df200008
+20407f88
+2022ffe7
+1a622200
+da4044d5
+df200008
+20407f88
+2022ffe7
+20600000
+68014215
+efe88000
+1fe0fe22
+efe08000
+98467c00
+20600000
+6800c217
+1fe27200
+68094215
+58000000
+e0408000
+18408422
+1fe0fe01
+c20067ad
+20600000
+474cc033
+2040673e
+68008030
+79347e06
+60008030
+243467bc
+1a208c0a
+d8a041be
+20407ebf
+202067d7
+7041bd00
+20600000
+6804c4cb
+203a67ca
+2040673e
+243467ca
+6801018c
+1fe08c01
+d8a044d5
+20407ebf
+d8a04419
+20407ebf
+70442901
+20600000
+70442900
+20600000
+6803044f
+60030186
+70018534
+202067d3
+68030040
+60030186
+70018533
+6800c092
+c005670b
+c28342da
+20600000
+680441be
+680c41c6
+9841fe00
+207a0000
+7041bd01
+20600000
+474d4033
+79200407
+2040681d
+7d208407
+474dc033
+18467cff
+20628000
+284c0007
+18410e1f
+680200a1
+f920fe00
+600200a1
+680200a5
+fd20fe00
+600200a5
+20600000
+474e4033
+18467cff
+20628000
+284c0007
+18410e1f
+680200a1
+f93ffe00
+600200a1
+680200a5
+f93ffe00
+600200a5
+20600000
+204067ed
+202067fe
+18467cff
+20628000
+2455e7e1
+d8a0807c
+20406830
+79400407
+d8a08078
+20406830
+793f8407
+d8a08070
+20206830
+d8a0807c
+20406830
+793f8407
+d8a08078
+20406830
+793f8407
+d8a08070
+20206830
+18467cff
+20628000
+79400407
+2040682f
+79200407
+d8a08070
+20206830
+18410e07
+18497e00
+1fe17e03
+98a08a00
+e8a08000
+20600000
+d8a08074
+2020681e
+d8a0811c
+20406815
+284ffe07
+2020e823
+afec0000
+20600000
+afefffff
+20600000
+18467cff
+20628000
+2fcffe07
+2020682c
+18467cff
+20628000
+2fcc0007
+58000000
+7d20fe07
+98428400
+d8a08074
+20406815
+284ffe07
+f920fe00
+e0a08000
+20600000
+da3fffff
+68108081
+2fe00602
+2040e878
+2fe00601
+2040e87a
+2fe00603
+2040e87a
+2feffe02
+2040e874
+2feffe03
+2040e876
+2feffe04
+2040e87c
+2feffe06
+7d20a204
+2feffe07
+7d20a205
+68108082
+2feffe00
+7d20a21b
+2feffe01
+7d20a21c
+2feffe02
+7d20a203
+2feffe03
+7d20a208
+2feffe04
+7d20a214
+2feffe05
+7d20a215
+2feffe06
+7d20a216
+2feffe07
+7d20a217
+68108080
+2feffe00
+7d20a205
+2feffe01
+7d20a206
+2feffe02
+7d20a207
+2feffe03
+7d20a212
+2feffe04
+7d20a213
+2feffe05
+7d20a214
+2feffe06
+7d20a215
+2feffe07
+7d20a216
+68108062
+2feffe04
+2040e87e
+474ec033
+68120078
+681a007c
+9841fe00
+1fe47e00
+9a217e00
+60120070
+20600000
+d8e00006
+20206884
+d8e00009
+20206882
+d8e00017
+20206882
+d8e00019
+20206884
+d8e0001e
+20206884
+d8e00002
+20206884
+df200001
+20206885
+df200004
+20206885
+df200002
+f93fa200
+18e08e01
+c2006885
+20600000
+20406895
+d8400006
+2020680e
+20406889
+d8400006
+20206825
+20406895
+68108078
+79207e07
+60108078
+d8400007
+202067fb
+68108081
+1fe17efb
+60108081
+20600000
+68108081
+2feffe02
+20600000
+2040666a
+580007e0
+da204150
+d8400002
+204066b3
+2020666d
+2040666a
+580007e2
+da20421d
+d840000e
+204066b3
+2020666d
+474f4033
+204068a2
+6800c22d
+c00068af
+c000e8c3
+c00168d7
+20600000
+68094229
+5800aa55
+98467c00
+2022e8b8
+58004dfa
+60014227
+58004894
+60014221
+202068c0
+68014227
+243a68bc
+58004dfa
+60014227
+68014221
+243a68c0
+58004894
+60014221
+58000064
+6001422b
+20600000
+68094229
+5800aa55
+98467c00
+2022e8cc
+58005932
+60014225
+58004323
+6001421f
+202068d4
+68014225
+243a68d0
+58005932
+60014225
+6801421f
+243a68d4
+58004323
+6001421f
+58000190
+6001422b
+20600000
+68094229
+5800aa55
+98467c00
+2022e8e0
+58006946
+60014223
+58005377
+6001421d
+202068e8
+68014223
+243a68e4
+58006946
+60014223
+6801421d
+243a68e8
+58005377
+6001421d
+58000032
+6001422b
+20600000
+6800c22d
+c00068f0
+c000e8f2
+c00168f4
+20600000
+708971bf
+202068f8
+708971af
+202068f8
+7089718f
+6800c22e
+60108973
+202068f8
+474fc033
+68108053
+79207e07
+60108053
+68108973
+1fe1fe30
+60108973
+7089067c
+708972aa
+20001388
+68190150
+68108053
+793ffe07
+60108053
+6009422f
+20600000
+47504034
+6800c22d
+c000690e
+c000e912
+c0016916
+20600000
+68014227
+68094221
+da6000c8
+2020691a
+68014225
+6809421f
+da600064
+2020691a
+68014223
+6809421d
+da600032
+2020691a
+98462200
+6801422f
+98467e00
+24216927
+6809422b
+984fa400
+1a627e00
+9a2ffe00
+9a40fe00
+9a26fc00
+20407f86
+1807fe00
+20600000
+18427e00
+6809422f
+98467e00
+6809422b
+984fa400
+1a627e00
+9a2ffe00
+9a467e00
+20206923
+ea240000
+60040a9a
+68010a9a
+68090a9c
+98462200
+68010aa0
+98462400
+68090a9e
+98467c00
+24416940
+1a4ffe64
+9a26fc00
+20407f86
+1807fe00
+205a6944
+20600000
+6800c231
+79207e00
+6000c231
+20600000
+6808c231
+79200401
+6008c231
+20600000
+6801423d
+efe08000
+207a0000
+1fe27200
+6801423d
+1fe0fe03
+1fe22200
+ea288000
+204067fb
+1a20a201
+c200694f
+20600000
+6801423d
+1fe0fe03
+1fe22200
+18002400
+700b1200
+ea288000
+2040681d
+4750c034
+68010b12
+1a420e00
+f920fe00
+60010b12
+1a20a201
+1a40a401
+6801423d
+efe08000
+9a42fc00
+2422e959
+68010b12
+68090b14
+9842fc00
+20628000
+78347c00
+20600000
+6801423d
+efe08000
+207a0000
+1fe27200
+6801423d
+1fe0fe03
+1fe22200
+ea288000
+204067dd
+1a20a201
+c2006973
+20600000
+d8e00009
+20407f16
+247a0000
+58000020
+d8e00009
+20407f08
+78547c00
+2040696c
+47514034
+6801423d
+efe08000
+207a0000
+20406954
+24347d02
+20407d00
+78547c00
+68010b12
+60010b19
+700b1b00
+18000e00
+68010b14
+1fe30400
+60090b14
+1fe17e01
+68090b19
+18412201
+18430400
+60090b19
+9a22fc00
+2442e9a1
+6801423d
+efe08000
+68088b1b
+18408401
+60088b1b
+18420e00
+98e2fc00
+2422e98c
+68010b12
+60010b14
+20600000
+4751c034
+6801423d
+1fe0fe01
+efe10000
+20207f9c
+68108042
+9a21fe00
+60108042
+68110050
+793ffe0d
+60110050
+20000064
+20600000
+68098a9c
+58b71b00
+9846fc00
+20407f86
+18078400
+68008a9f
+984ffe00
+1fe6fc64
+20407f86
+1807a200
+18427e00
+9a262400
+68008a9b
+204069be
+68008a9a
+202069d5
+c00069c4
+c000e9c6
+c00169c8
+c001e9ca
+c00269cc
+c002e9ce
+d8a080a0
+202069d0
+d8a080a4
+202069d0
+d8a080a8
+202069d0
+d8a08064
+202069d0
+d8a08068
+202069d0
+d8a0806c
+202069d0
+1a227e00
+e0a10000
+1a427e00
+e0a10000
+20600000
+78347c00
+202069d8
+78547c00
+c00269e3
+c002e9e5
+c00de9e7
+c00e69e9
+c001e9eb
+c00469ed
+c00a69ef
+c00ae9f1
+c00b69f3
+c00be9f5
+20600000
+d8e00006
+202069ff
+d8e00007
+202069ff
+d8e00008
+202069ff
+d8e00009
+202069ff
+d8e0000a
+202069ff
+d8e0000b
+202069ff
+d8e0000c
+20206a01
+d8e0000d
+20206a01
+d8e0000e
+20206a01
+d8e0000f
+20206a01
+68110081
+f9347e00
+60110081
+1a220e00
+68108085
+f9347e00
+60108085
+20600000
+18e0a3fc
+202069f7
+18e0a3f6
+202069f7
+20758000
+70456700
+7004ed03
+7004ee03
+7004f211
+7004f313
+58000000
+600184ef
+6000c254
+70468100
+47524034
+58000000
+6000c254
+6000c564
+6000c55d
+6800c56b
+c000ea16
+70456950
+20600000
+70456900
+20600000
+18418402
+20600000
+18427e00
+1fedfe00
+6000c562
+18007e3f
+1fedfe00
+6000c561
+18007e01
+1fedfe00
+6000c560
+20406a50
+18427e00
+20600000
+1fedfe00
+6000c562
+18007e73
+1fedfe00
+6000c561
+18007e01
+1fedfe00
+6000c560
+20206a50
+6800c563
+203a6a33
+58000070
+20600000
+580000aa
+20600000
+1fedfe00
+6000c562
+18007eef
+20406a44
+680904f7
+18420a00
+e0a08000
+18a20400
+600904f7
+18007eff
+20406a44
+680904f7
+18420a00
+e0a08000
+20600000
+1fedfe00
+6000c561
+68014561
+1fed7e00
+600184f4
+da200107
+da40000f
+20406a5d
+1fe2fed7
+1fe47e00
+1fedfe00
+20600000
+6801c560
+600184f4
+da200107
+da40000f
+20406a5d
+1fed7e00
+da400007
+20406a5d
+1fe2fe2b
+1fe47e00
+1fedfe00
+1fe20400
+20600000
+da600000
+1a427200
+20407e71
+1fe20400
+18427e00
+1a63a600
+c3046a66
+9a228400
+1a60a601
+18438400
+680184f4
+1a40a5ff
+2a41feff
+2020ea70
+1a427200
+20407e71
+2feffe00
+79208400
+20206a61
+18437e00
+20600000
+6808c55d
+184b8400
+79200400
+6800c563
+245a6a18
+6008850d
+20600000
+18438400
+6800c563
+793a0400
+20600000
+680884fc
+7004fed7
+20406bb6
+6800c251
+79207e06
+79207e07
+6000c251
+70456300
+20206b97
+6800c251
+79207e07
+6000c251
+20206b97
+4752c034
+6800c681
+c0006a8e
+20206b4c
+68010264
+1fe20c00
+20406ab8
+680084fc
+c0006a94
+20206b18
+47534034
+680084fd
+c01fea7d
+c039ea86
+c077ea9b
+c029eb44
+20600000
+68010501
+1fe20c00
+20406ac3
+68008503
+c020eaa5
+c0206aad
+c038eae6
+c0386af2
+c024eafd
+20206b97
+20406aaf
+20206aa7
+6800c254
+79207e00
+79207e01
+6000c254
+20406be0
+20206b97
+20406aaf
+20206b97
+20406acb
+20206ad7
+20406acb
+e8c08000
+1fe97e00
+6000c56a
+e8c08000
+60008508
+20600000
+e8c08000
+600084fb
+1fe97e00
+600084fc
+e8c08000
+600084fd
+20406ace
+600904ff
+18c27e00
+60010501
+20600000
+e8c08000
+1fe37e00
+60008503
+20406ace
+60090504
+18c27e00
+60010506
+20600000
+68010506
+1fe20c00
+20600000
+e8c08000
+1fe20400
+18430400
+c3800000
+e8c08000
+1fe9fe00
+1ff27e00
+98408400
+20600000
+e8c08000
+6000c55d
+e8c08000
+60008509
+e8c08000
+6000850a
+e8c08000
+6000850b
+e8c10000
+6001455e
+e8c08000
+6000850c
+e8c08000
+6000c568
+20600000
+20406ab1
+20206ae8
+6800c254
+79207e05
+79207e06
+6000c254
+6808c55d
+184b8400
+18418403
+20406c11
+70456703
+20206b97
+700a9908
+20407d86
+20406ab1
+6800c56a
+1fe67c01
+2022eaf9
+20202a8c
+6800c254
+79207e07
+6000c254
+20206b97
+20406acb
+e8c08000
+60008ac2
+204052d2
+204052e0
+5800000e
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+4753c034
+580015ef
+e0a10000
+58001191
+e0a10000
+68008ac2
+e0a08000
+58000007
+e0a28000
+58000001
+e0a10000
+20406a2f
+e0a08000
+20600000
+20206b19
+47544035
+680084fd
+c039eb21
+c01feb25
+c077eb3f
+c07feb37
+c029eb46
+20600000
+6800c254
+79207e03
+6000c254
+20206b97
+6800c254
+79207e03
+79207e02
+6000c254
+680084fb
+20406a26
+600084fe
+20406bb6
+680084fb
+1feb7e00
+6000c55d
+1febfe00
+793ffe01
+79207e00
+d8404565
+600904f7
+20406a35
+20206b97
+68010501
+1fe20c00
+1fe0fe01
+60010501
+e8c08000
+6808c568
+9840fe00
+6000c568
+20406c42
+20406a72
+20406c28
+20406c4b
+20206b97
+700a9909
+20407d86
+20406a0d
+680084fb
+20406a26
+600084fe
+20406bb6
+20206b97
+68010264
+1fe20c00
+20406ab8
+680084fc
+c0006b52
+20206b86
+4754c035
+680084fd
+c01fea7d
+c039ea86
+c077eb58
+20206b97
+68010501
+1fe20c00
+20406ac3
+68008503
+c020eb61
+c0206b61
+c038eb6c
+c0386b7c
+20206b97
+20406aaf
+6800c55d
+1fe37e00
+6808c564
+98467c00
+2022eb68
+20202a8c
+6800c254
+79207e01
+6000c254
+20206b97
+20406ab1
+6800c56a
+6808c564
+98467c00
+2022eb73
+20202a8c
+20206b97
+6800c254
+79207e05
+79207e06
+6000c254
+6808c55d
+184b8400
+18418403
+20406c11
+20206b97
+20406ab1
+6800c56a
+6808c564
+98467c00
+2022eb82
+20202a8c
+6800c254
+79207e07
+6000c254
+20206b97
+680084fc
+6808c564
+98467c00
+2022eb8c
+20202a8c
+20206b97
+680084fd
+c039eb91
+c077eb3f
+c07feb37
+c029eb96
+6800c254
+79207e03
+6000c254
+20206b97
+20206b95
+20206b46
+20600000
+6800c567
+207a0000
+c001eb9c
+20202a8c
+70456700
+204052d2
+d8400001
+6808c55d
+184b8400
+18418403
+da2000aa
+20406bfc
+204052e0
+18a20c00
+e8c10000
+203a2a8c
+20600000
+204052e0
+58000004
+e0a10000
+6801424a
+e0a10000
+680084fb
+e0a08000
+47554035
+5800013f
+e0a10000
+680084fe
+e0a08000
+20600000
+204052d2
+204052e0
+58000004
+e0a10000
+6801424a
+e0a10000
+680084fb
+e0a08000
+4755c035
+58000173
+e0a10000
+680084fe
+e0a08000
+20600000
+204052e0
+5800000e
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+47564035
+580015ef
+e0a10000
+58001183
+e0a10000
+18427e00
+e0a08000
+580000f0
+e0a18000
+5800007f
+e0a10000
+58000000
+e0a08000
+58000001
+e0a08000
+20406a2f
+e0a08000
+70456910
+20600000
+204052d2
+204052e0
+5800000e
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+4756c035
+580015ef
+e0a10000
+58001181
+e0a10000
+6800c55d
+e0a08000
+580000e0
+e0a18000
+6801456c
+e0a10000
+58000000
+e0a08000
+6800c56e
+e0a08000
+20406a2f
+e0a08000
+20600000
+204052e0
+58000008
+e0a10000
+6801424a
+e0a10000
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+47574035
+580009ef
+e0a10000
+580005e3
+e0a10000
+18427e00
+e0a08000
+5800008d
+e0a08000
+20406a2f
+e0a08000
+20600000
+204052d2
+204052e0
+58000008
+e0a10000
+6801424a
+e0a10000
+18421600
+6800c563
+1fe3fe00
+79207e00
+e0a08000
+4757c035
+580009ef
+e0a10000
+580005e1
+e0a10000
+19627e00
+e0a08000
+5800008d
+e0a08000
+20406a2f
+e0a08000
+20600000
+47584036
+6800c569
+207a0000
+68110112
+247a0000
+1a227e00
+60008a9b
+60088a9a
+2040526e
+247a0000
+204052d2
+204052e0
+58000005
+e0a10000
+6801424a
+e0a10000
+6800850d
+e0a08000
+580001ff
+e0a10000
+6800c569
+e0a08000
+6800c566
+e0a08000
+70456900
+20600000
+4758c036
+6800c56b
+c1008000
+680104ff
+207a0000
+6800c569
+1fe0fe01
+6000c569
+20600000
+6801456f
+20207f9c
+47594036
+6800c568
+207a0000
+1fe0ffff
+6000c568
+6801455e
+6809469f
+98467c00
+20216c57
+6001469f
+6800c569
+203a6c5f
+70051001
+6800c566
+6000850f
+580000ff
+6000850e
+20206c64
+70051000
+6800c565
+6000850f
+580000ef
+6000850e
+4759c036
+6801469f
+1fe67c7f
+20216c6b
+68008510
+1fe0fe01
+60008510
+20406a72
+6801469f
+1fe0fe08
+68088510
+9840a200
+20405240
+60010277
+1fe0fe04
+60010279
+1fe20a00
+6800850d
+e0a08000
+6800850e
+e0a08000
+20406c95
+20406ca6
+475a4036
+68014571
+1fe20600
+6801469f
+1fe27200
+204066ea
+18a20400
+18627e00
+60014571
+18420a00
+6800850f
+e0a08000
+68010277
+1fe20a00
+6801469f
+68088510
+9840fe00
+1fe0fe04
+e0a10000
+6801424a
+e0a10000
+70456900
+68014573
+c0003a97
+700b0500
+20600000
+475ac036
+6801469f
+1fe67c7f
+24216c9d
+1fe3fe00
+79207e00
+e0a08000
+20600000
+6801469f
+1fe97e00
+1ff18400
+1fe17e7f
+1fe3fe00
+793ffe00
+e0a08000
+e0a88000
+20600000
+6800c569
+207a0000
+e0a08000
+20600000
+475b4036
+20407d9c
+204032f6
+2040631b
+475bc036
+204076dc
+204076b5
+204076c6
+2040526e
+247a0000
+20404da9
+2040526e
+247a0000
+475c4037
+20406cf5
+20404f64
+20406b98
+20406cbe
+475cc037
+202032f2
+6800827f
+c2805087
+c283d091
+20600000
+475d4037
+20405274
+207a0000
+6800804b
+c3830000
+20405258
+6001016f
+1fe20c00
+e8c10000
+1fe0fe04
+600141dc
+7041db06
+475dc037
+68014246
+203a6cdd
+6800804b
+c4038000
+793ffe07
+6000804b
+7041db05
+68094246
+6801016f
+9840fe00
+6001016f
+680141dc
+98467e00
+600141dc
+475e4037
+680141dc
+203a2a8c
+d8400104
+98467e00
+24216ce9
+475ec037
+600941dc
+68014246
+9840fe00
+60014246
+20206ceb
+58000000
+60014246
+6800804b
+79207e06
+6000804b
+20600000
+6800c684
+c2806cf3
+70028701
+20600000
+7002870f
+20600000
+6800c681
+243a6cfb
+68008286
+207a0000
+70028600
+20600000
+475f4037
+68008287
+207a0000
+c000ed1b
+c0016d74
+c001ed21
+c0026d78
+c01ded2b
+c01e6d7b
+c006ed30
+c0076d80
+c007ed33
+c0086d86
+c008ed39
+c0096d8a
+c009ed3f
+c00a6d8e
+c00aed45
+c00b6d92
+c00bed4b
+c00c6d97
+c00ced51
+c00d6d9b
+c00ded57
+c00e6d9f
+c00eed5d
+c00f6da4
+c00fed63
+c0106da8
+c010ed6e
+c0116dac
+20600000
+20406db7
+70028702
+6800c250
+79207e00
+6000c250
+20600000
+70028704
+6800c250
+c3810000
+70028703
+20406dbe
+70028704
+6800c250
+79207e02
+6000c250
+20600000
+20405274
+247a0000
+20406dcd
+7002873c
+20600000
+20406dc3
+7002870e
+20600000
+20406ddd
+70028710
+6800c252
+79207e00
+6000c252
+20600000
+20406de4
+70028712
+6800c252
+79207e02
+6000c252
+20600000
+20406de9
+70028714
+6800c253
+79207e00
+6000c253
+20600000
+20406df0
+70028716
+6800c253
+79207e02
+6000c253
+20600000
+20406dd1
+70028718
+6800c251
+79207e00
+6000c251
+20600000
+20406dd8
+7002871a
+6800c251
+79207e02
+6000c251
+20600000
+20406df5
+7002871c
+6800c251
+79207e06
+6000c251
+20600000
+20406dfc
+6800c254
+79207e00
+6000c254
+7002871e
+20600000
+20406e02
+6800c254
+79207e02
+6000c254
+70028720
+6800c564
+1fe9fe00
+1fe1fe03
+d8404565
+600904f7
+20206a35
+20406e0c
+6800c254
+79207e04
+6000c254
+70028722
+20600000
+6800c250
+c4008000
+70028703
+20206cfb
+6800c250
+c19f8000
+7002873b
+68008285
+c18b8000
+70028500
+7002870d
+20206cfb
+6800c250
+247a0000
+6800c684
+c2806daf
+c2836db1
+20206db5
+6800c252
+c4008000
+70028711
+20206cfb
+6800c252
+c19f8000
+70028713
+20206cfb
+6800c253
+c4008000
+70028715
+20206cfb
+6800c253
+c19f8000
+6800c684
+c2836db1
+20206db5
+6800c251
+c4008000
+70028719
+20206cfb
+6800c251
+c19f8000
+7002871b
+20206cfb
+6800c251
+c1ff8000
+6800c684
+c2836db3
+20206db5
+6800c254
+c4008000
+7002871f
+20206cfb
+6800c254
+c4018000
+70028721
+20206cfb
+6800c254
+c1ff8000
+20206db5
+7002870f
+20206cfb
+70028717
+20206cfb
+7002871d
+20206cfb
+70028700
+20600000
+475fc037
+204052b8
+58000001
+1fe20400
+58000050
+1fe21600
+202050a8
+47604038
+204052b8
+68014248
+1fe20400
+202050b7
+4760c038
+204052b8
+68014248
+1fe20400
+d9600050
+204050cc
+6800c250
+793ffe05
+6000c250
+20600000
+47614038
+204052c5
+20407138
+202050e7
+4761c038
+204052b8
+58000003
+1fe20400
+58000051
+1fe21600
+202050a8
+47624038
+204052b8
+6801424a
+1fe20400
+202050b7
+4762c038
+204052b8
+58000011
+1fe20400
+58000052
+1fe21600
+202050a8
+47634038
+204052b8
+6801424c
+1fe20400
+202050b7
+4763c038
+204052b8
+58000013
+1fe20400
+58000053
+1fe21600
+202050a8
+47644039
+204052b8
+6801424e
+1fe20400
+202050b7
+4764c039
+204052d2
+7004fb03
+7004fe1c
+20406ba9
+70456301
+20600000
+47654039
+204052d2
+6808c564
+20406a79
+6008c55d
+20206bc4
+4765c039
+204052d2
+6808c55d
+20406a73
+20406a1a
+600084fe
+6808c55d
+20406a73
+600884fb
+20206ba9
+47664039
+204052d2
+6808c55d
+20406a73
+20206bfc
+4766c039
+68010264
+98000c00
+e8c08000
+1fe22400
+6000851b
+e8c10000
+6001051c
+e8c08000
+1fed1600
+e8c08000
+99609600
+47674039
+18c20400
+df200004
+d8a0052a
+20407ec6
+18420c00
+1a427e00
+c000efba
+c0016e2c
+c001efba
+c0026e54
+c002efba
+c0036f02
+c003efba
+20206fc1
+4767c039
+20406fd0
+2841fe01
+2020f040
+2841feff
+2020efc4
+e8c10000
+60010522
+196097fe
+196097ff
+2422efbe
+d9600511
+e9610000
+207a0000
+20407082
+204052d0
+18007e03
+e0a08000
+6801051c
+e0a10000
+18ebfe00
+1fe0fe05
+1fe0a605
+1ff0fe00
+e0a10000
+18e27e00
+1ff0fe00
+e0a10000
+e0a10000
+d8c0052a
+18e27200
+2022ee4f
+e8c20000
+e0a20000
+c2006e4c
+18007e00
+e0a08000
+1a627e00
+60010275
+20600000
+4768403a
+e8c20000
+60020524
+196097fc
+20406f2e
+60010520
+196097fe
+20407028
+2022efc4
+2a21fe05
+2020ee62
+d8a0052a
+18000e00
+20206e71
+e8c08000
+c0856fc4
+e8c10000
+243a6e6f
+e8c08000
+c0ffee6d
+e8c08000
+c0ffee6b
+20206eb8
+18c08dfb
+20206e5f
+18c08dfc
+20206e5f
+18c08dfd
+20206e5f
+e8c08000
+c004ee86
+c0056e74
+e8c10000
+e0a10000
+18e08e01
+1ff0a400
+e8c10000
+1ff0fe00
+1a40a401
+9a467c00
+24216e83
+1fe22600
+1a50fe00
+e0a10000
+18e08e01
+1a627e00
+20206e7a
+196097fb
+1a20a3fb
+20206e8b
+e8c10000
+e0a10000
+18e08e01
+196097fd
+1a20a3fd
+24216fc4
+2422ee71
+196097ff
+2422efc4
+204052d0
+18a08a0a
+da20052a
+18e27e00
+203a6ea5
+ea210000
+203a6ea5
+98002400
+68020524
+98000400
+204070e7
+18c27e00
+203a6ea2
+18c08dfd
+e8c18000
+e0a18000
+2040705b
+98007200
+20407f01
+1a20a202
+18e08fff
+20206e92
+da200005
+20406f84
+68010275
+c005f043
+20206f9a
+e8c08000
+c0006eae
+c000eeb0
+c0016eb3
+196097ff
+20206eb6
+e8c08000
+196097fe
+20206eb6
+e8c10000
+1ff0fe00
+196097fd
+60010519
+20600000
+196097fb
+20406eaa
+2422efbe
+680a0524
+204070b1
+2422efbb
+18c22200
+204052d0
+1a220c00
+18a08a03
+18c21600
+20407062
+1fe22200
+68010519
+1fe22400
+1a227e00
+9a462400
+68010520
+9a467c00
+24216ee7
+78547c00
+68010519
+203a6eda
+99608c00
+1a40a403
+1a427200
+1f227e00
+1fe0fe03
+1ff0fe00
+e0a10000
+1f227e00
+1ff0fe00
+e0a10000
+20206ef5
+1a20f206
+20346ede
+1f30fe00
+20206ee1
+1f227e00
+1fe0fe02
+1ff0fe00
+e0a10000
+1f20f3fd
+1f30fe00
+e0a10000
+19620c00
+20206ef5
+78347c00
+68010520
+1fe22200
+1a227200
+68010519
+203a6eda
+99608c00
+1a227e00
+1fe0fe05
+1ff0fe00
+e0a10000
+1a227e00
+1ff0fe00
+e0a10000
+20407f01
+24346efe
+18007e02
+e0a08000
+18c27e00
+99667e00
+1ff0fe00
+e0a10000
+20206f00
+18007e00
+e0a08000
+da200005
+20206fb0
+4768c03a
+20406fd0
+2841feff
+2020efc4
+20406f2e
+60010520
+196097fe
+20407028
+d8a0052a
+18000e00
+e8c08000
+c0056f36
+e8c10000
+e0a10000
+18e08e01
+196097fd
+1a20a3fd
+24216fc4
+2422ef0c
+196097ff
+2422efc4
+204052d0
+18a08a0d
+68010511
+98002600
+da20052a
+ea210000
+203a6f29
+98002400
+204070c6
+203a6f27
+18c08dfd
+e8c18000
+e0a18000
+2040705b
+98007200
+20407f01
+1a20a202
+20206f1c
+20406f83
+68010275
+c0077046
+20406f9a
+20206f9a
+e8c10000
+1ff0fe00
+1fe0fffd
+d84000c8
+98467c00
+24610000
+580000c8
+20600000
+18c08c04
+196097fb
+1a20a3fb
+2422efc4
+20406eaa
+2422efbe
+d9600511
+20407082
+18e27e00
+203a7046
+6000854e
+1a427e00
+6001054c
+d8e00000
+da200000
+204052d0
+18a08a0a
+20406f6c
+24342a8c
+18c21600
+1fe22600
+9a20a200
+68010519
+1fe22400
+203a6f75
+1a227e00
+9a462400
+2022ef67
+24216f67
+68010520
+9a467c00
+2022ef5e
+24216f5e
+1a427200
+20406f61
+6800854e
+18e08e01
+98e67c00
+2022ef83
+20206fa0
+1fe27200
+20406f61
+20206fa0
+18a08bfd
+1f220400
+1a627e00
+9a467e00
+99608c00
+20207f01
+6800854e
+18e08e01
+98e67c00
+20628000
+20206f47
+20407fe9
+d8c0052a
+18ebfe00
+98c08c00
+e8ca0000
+204070b1
+24628000
+2040705b
+20207fe7
+68010520
+9a267c00
+24216f8f
+1a227200
+1f220400
+19620c00
+20407f01
+6801054c
+9a267c00
+2022ef81
+20406fa0
+20206f94
+20406f83
+20206f94
+da200007
+18007e00
+e0a08000
+20406fb0
+68090275
+184085fb
+1850fe00
+e0a10000
+184085fd
+1850fe00
+e0a10000
+20600000
+1fe27200
+1f220400
+19620c00
+20407f01
+20406fa0
+58000036
+e0a08000
+6801054c
+1ff0fe00
+e0a10000
+20600000
+58000036
+e0a08000
+184085fd
+1850fe00
+e0a10000
+20600000
+da200007
+58000002
+e0a08000
+68010519
+98408400
+1850fe00
+e0a10000
+20406fb0
+68090275
+184085fb
+1850fe00
+e0a10000
+184085fb
+1850fe00
+e0a10000
+20600000
+68010273
+98a67e00
+1fe67e00
+60010275
+204052d0
+1a227e00
+e0a08000
+6801051c
+e0a10000
+20600000
+20600000
+58000200
+6001054a
+20206fc6
+58000400
+6001054a
+20206fc6
+58000600
+6001054a
+20206fc6
+58000300
+6001054a
+204052d0
+e0a08000
+6801051c
+e0a10000
+58000200
+e0a10000
+6801054a
+e0a10000
+70027507
+20600000
+da400000
+18000400
+d8a00511
+20407028
+2022f026
+1a40a401
+e8c08000
+1a20a3ff
+196097ff
+2fe1f018
+2420f026
+2fe00e04
+2420eff3
+18000401
+e8c08000
+1a20a3ff
+196097ff
+c0806fe7
+e8c08000
+1a20a3ff
+196097ff
+c0006ff8
+20206fea
+18c08c01
+1a20a3ff
+196097ff
+18c08c02
+1a20a3fe
+196097fe
+2841fe00
+2020f020
+18c08c0c
+1a20a3f4
+196097f4
+20207020
+2fe00e02
+2420eff6
+20206fde
+2fe00e01
+2420f026
+1a20a3fe
+196097fe
+e8c10000
+1a467c04
+2022effe
+e0a10000
+2841fe00
+2020f020
+18c20400
+e8c08000
+c0807019
+e8c08000
+c0807019
+e8c08000
+c0887019
+e8c08000
+c0807019
+e8c08000
+c0c07019
+e8c08000
+c0807019
+e8c08000
+c0807019
+e8c08000
+c0c07019
+e8c08000
+c0aff019
+e8c08000
+c0cdf019
+e8c08000
+c09a7019
+e8c08000
+c07df01e
+18420c00
+18c08c0c
+18000e00
+18000400
+2020701e
+196097f4
+1a20a3f4
+18000400
+2a21fe00
+2420efd5
+18007e00
+e0a10000
+20600000
+d84000ff
+20600000
+476a403a
+e8c08000
+196097ff
+2fe1f030
+2420f03e
+2fe00e07
+2020f037
+2fe00e06
+2020f039
+2fe00e05
+2420f03e
+e8c08000
+1fe22200
+196097ff
+2020703c
+18c08c02
+196097fe
+e8c10000
+1ff0a200
+196097fe
+18007e01
+20600000
+18007e00
+20600000
+58000003
+6000851b
+20207048
+58000005
+6000851b
+20207048
+58000007
+6000851b
+204052d0
+6800851b
+1fe22400
+e0a08000
+6801051c
+e0a10000
+58000500
+e0a10000
+2a41fe05
+2020f057
+2a41fe07
+2020f057
+58000000
+e0a28000
+20207059
+58350200
+e0a28000
+7002750a
+20600000
+20407ea2
+20407ea5
+20407062
+20407e9c
+20407e9f
+18427e00
+20600000
+e8c08000
+1fe17207
+1fe97e00
+c080706c
+18007e01
+18000401
+20600000
+20407e76
+1fe08401
+20600000
+1f227e00
+1fe67c04
+20217069
+c002f073
+c0037076
+c003f07a
+20600000
+e8c08000
+1fe08402
+20600000
+e8c10000
+1ff0fe00
+1fe08403
+20600000
+e8c10000
+1ff0fe00
+e8c90000
+18508400
+18500400
+9840fe00
+1fe08405
+20600000
+476ac03a
+18000e00
+da400000
+d8a0052a
+e9610000
+207a0000
+2040708d
+18e27e00
+c1038000
+19609602
+20207086
+98002600
+68014575
+98000c00
+18e27e00
+c1038000
+78547c00
+e8c08000
+207a0000
+98007200
+e8c10000
+9a667c00
+2422f09a
+78347c00
+c2007096
+e8ca0000
+18c22200
+243470ad
+d8c0052a
+df200007
+e8c20000
+203a70a6
+98467c00
+2022f0ad
+c20070a0
+20600000
+e0aa0000
+18e08e01
+1a220c00
+2040705b
+9a40a400
+98c08c00
+20207090
+1a220c00
+20407062
+98c08c00
+20207090
+476b403a
+68014575
+98000c00
+e8c08000
+203a7fe3
+1fe3fe00
+98c08c00
+e8c20000
+98467c00
+20628000
+18a27e00
+60010abb
+600c0aa2
+20407062
+98c08c00
+18c27e00
+68090abb
+18420a00
+680c0aa2
+1fe20c00
+202070b4
+476bc03a
+68014575
+98000c00
+e8c08000
+203a70e4
+98007200
+e8c10000
+9a667c00
+2022f0d4
+c20070cc
+18c08c04
+20407062
+98c08c00
+202070c9
+1f20f3ff
+1f23fe00
+98c08c00
+18c08c04
+20407062
+98c09600
+18c08c01
+e8c10000
+9a467c00
+2022ffef
+2040705b
+98c08c00
+19627e00
+98c67c00
+2022f0e4
+202070da
+18000c00
+18007e00
+20600000
+476c403b
+68014575
+98000c00
+e8c08000
+203a7100
+1fe3fe00
+98c08c00
+e8c20000
+98467c00
+2022f0f4
+20407062
+98c08c00
+202070ea
+20407062
+98c09600
+18c08c01
+e8c10000
+9a467c00
+20628000
+2040705b
+98c08c00
+19627e00
+98c67c00
+2022f100
+202070f6
+18000c00
+20600000
+da400400
+204070f4
+da400300
+2040710d
+24740000
+1a267c03
+20217fe9
+e8c08000
+c0847fe9
+e8c08000
+20600000
+476cc03b
+20407062
+1fe22200
+e8c08000
+1fe17207
+1fe97e00
+1fe67c03
+2022f129
+1f227e00
+c002f120
+c0037123
+c003f126
+18c08dff
+20407062
+98c08c00
+1a227e00
+98462200
+2022ffe9
+20207110
+1a20a3fe
+18c08c01
+20207110
+1a20a3fd
+18c08c02
+20207110
+1a20a3fb
+18c08c04
+20207110
+1a20a3ff
+1f227e00
+c000f132
+c0017130
+c002712f
+20207fe9
+1a20a3f4
+e8c10000
+1a20a3fe
+e8c10000
+9a467c00
+2022ffe7
+1a20a3fe
+2022ffe9
+20207110
+204052d0
+1fe20a00
+58000006
+e0a08000
+5800006e
+e0a10000
+58000f00
+e0a10000
+581a0535
+e0a18000
+58000111
+1ff07e00
+e0a20000
+58002600
+e0a10000
+58000335
+e0a10000
+58000009
+e0a10000
+58000004
+e0a10000
+70027514
+20600000
+476d403b
+7005e550
+d8a005e6
+d8c0443a
+20407ebf
+d8c045d2
+20407ebd
+d8c009be
+20407ebd
+2040720a
+d8c0042f
+20407205
+204071d0
+d8a00af2
+20407201
+580f4240
+1fe22200
+68020af2
+9a26fc00
+20407f86
+18077e00
+600209ba
+20600000
+7005e541
+d8a005e6
+204071b5
+204071b0
+6801c454
+e0a18000
+20407176
+d8c0042f
+20407ebf
+d8c0443a
+20407ebf
+2040720a
+d8c00b12
+d8a00ac2
+20407ebf
+202071d0
+680244c7
+e0a20000
+20407ecd
+20207eca
+476dc03b
+7005e541
+d8a005e6
+204071b0
+204071b5
+6801c44d
+e0a18000
+20407176
+d8c0443a
+20407ebf
+d8c0042f
+20407ebf
+2040720a
+d8c00b12
+d8a00ac2
+20407ebf
+204071d0
+d8a00af2
+20207201
+7005e520
+d8c009fe
+d8a005e6
+20407ebd
+2040720a
+d8c0099e
+20407205
+204071d0
+d8a00ac2
+20407497
+d8400001
+2040719f
+d8a04419
+20407201
+d8400000
+2040719f
+d8a00b12
+20207497
+476e403b
+7005e535
+58000100
+600105e6
+204071b0
+204071b5
+d8c0443a
+20407ebf
+d8c0042f
+20407ebf
+58006c65
+e0a10000
+58006274
+e0a10000
+e0a88000
+2040720a
+202071d0
+680344a0
+e0a30000
+6800c495
+e0a08000
+20600000
+6803044f
+e0a30000
+6800c48e
+e0a08000
+20600000
+7005e541
+6800c664
+600085e6
+d8c045d2
+20407ebd
+d8c009be
+20407ebd
+2040720a
+d8c0042f
+20407205
+202071d0
+7005e541
+6800c664
+600085e6
+d8c009be
+20407ebd
+d8c045d2
+20407ebd
+2040720a
+d8c0443a
+20407205
+202071d0
+476ec03b
+2040721f
+680085e5
+1fe20400
+1fe0fe0f
+1ff1fe00
+1fe22400
+203a71e2
+18417e0f
+243a71e5
+da600ad2
+dfe005e6
+1fe0fff0
+9840a200
+d8a00b02
+df200004
+20407edd
+202071f0
+da400001
+da200000
+202071e6
+1841220f
+dfe005e6
+9840fe00
+9a260c00
+d8a00af2
+20407245
+da600ae2
+da200af2
+d8a00b02
+df200004
+20407edd
+20407491
+20407428
+d8c005e6
+1a40a5ff
+1a427e00
+203a71f9
+20407486
+20407422
+202071f3
+d8a00af2
+20407497
+d8c00b02
+20407486
+20407428
+d8c00af2
+20407486
+20207422
+18a22200
+20407497
+df200010
+20207ee5
+d8a00ac2
+20407ebf
+df200010
+da200ac2
+20207ee5
+680085e5
+1fe27200
+da2005e6
+20207ee5
+ea208000
+1fe3fe00
+2a6ffe00
+7920fe00
+2feffe08
+7920a600
+e2208000
+1a20a3ff
+c200720e
+20600000
+da200ad2
+1a20a20f
+18007210
+18002600
+2020720e
+da200ae2
+20207219
+d8c00ac2
+20407484
+18007008
+20407492
+20407491
+2040741f
+d8a00ad2
+20407497
+476f403b
+68008ad2
+2feffe07
+2420f230
+20407218
+da600ad2
+d8a00ad2
+2040723a
+20207231
+20407218
+d8c00ad2
+d8a00ae2
+20407ebf
+68008ae2
+2feffe07
+2420f21d
+2040721d
+da600ae2
+d8a00ae2
+df200003
+d8400000
+20407241
+1a60a604
+c200723b
+d8408700
+18500400
+ea620000
+9842fe00
+e0a20000
+20600000
+476fc03b
+df200010
+dfe00000
+9a267c00
+2022f250
+20217253
+e8c88000
+e0a88000
+1fe0fe01
+c2007248
+20600000
+d8400080
+e0a88000
+2020724d
+d8400000
+20207251
+20407268
+d8c00592
+d8a00582
+20207ebf
+78547c00
+2040735f
+d8c00562
+d8a005a2
+1800720f
+20407f01
+e8c08000
+1fe2fe06
+e0a08000
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+202072a8
+6808c689
+18002410
+1840a606
+1a667c10
+2021726e
+18002610
+d8a005a2
+d8c0468a
+18427200
+78547c00
+e8c08000
+e0a08000
+1a40a5ff
+2022f27c
+c2007272
+2034726f
+78347c00
+18007206
+1a220c00
+20207272
+d8c00562
+d8a005b2
+20407ebf
+680085c1
+9a62fe00
+600085c1
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+202072a8
+78547c00
+2040735f
+20207292
+da200056
+78347c00
+2040735f
+20407292
+d8c00592
+d8a00062
+20207ebf
+58000562
+600105d6
+580041be
+600105d4
+793f8012
+204072a8
+da200592
+da400562
+d8a005a2
+20407352
+da2005a2
+da4005b2
+1a420a00
+78347c00
+20407350
+2040736a
+580005b2
+600105d6
+580005a2
+600105d4
+79200012
+202072a8
+7005d800
+680105d4
+98000c00
+d8a005c2
+20407ebf
+680105d6
+98000c00
+d8a00592
+20407ebf
+204072cf
+78547c00
+c58972b9
+680085d8
+c08272b9
+680105d6
+98002400
+20407301
+20407300
+20407313
+680085d8
+1fe0fe01
+600085d8
+204072cf
+78347c00
+20407300
+20407322
+20407331
+20407322
+20407331
+20407322
+20407331
+20407322
+680085d8
+1fe0fe01
+600085d8
+c08872b1
+204072cf
+78547c00
+20207300
+680085d8
+d8c005c2
+203a72f6
+98002400
+18007211
+18c20a00
+e8c08000
+1fe98400
+1feb7e00
+1fe97e00
+9841fe00
+e0a08000
+c20072d5
+580005c2
+9a408c00
+18007210
+d8a00572
+e8c08000
+e0a08000
+28c1ffd3
+2420f2e5
+18c08def
+c20072e0
+18002200
+1a40a7ff
+1a6ba600
+1a6ba600
+204074b9
+58008400
+9a60a600
+d8a00572
+18007210
+ea688000
+e8a08000
+9840fe00
+e0a08000
+1a60a601
+c20072ef
+202074bd
+18007210
+18000400
+e8c08000
+98428400
+c20072f8
+18427e00
+e0c08000
+d8c005c2
+d8a00572
+20207ebf
+da400572
+18007210
+da200592
+1a220a00
+ea288000
+ea408000
+9842e000
+1f212603
+2434730a
+1a62a603
+1a662601
+2021730d
+9840e000
+1e027e00
+e0a08000
+1a20a201
+1a40a401
+c2007304
+20600000
+204074b9
+18007210
+da200592
+ea208000
+d8c08500
+1f212603
+1a667c01
+2021731c
+d8c08600
+98c08c00
+e8c08000
+e2208000
+1a20a201
+c2007316
+202074bd
+18007208
+d8c00592
+18c20a00
+e8c08000
+98002200
+e8c08000
+98002400
+1a23fe00
+9a40fe00
+e0a08000
+1a227e00
+9a40fe00
+e0a08000
+c2007325
+20600000
+588ae42c
+98000400
+18007207
+20407340
+580d751b
+98000400
+18007205
+20407340
+680085a1
+98002200
+68008595
+600085a1
+1a227e00
+60008595
+20600000
+1841240f
+18417e0f
+d8a00592
+98a08a00
+e8a08000
+98002600
+1a227e00
+e0a08000
+1a622200
+18518400
+c2007341
+58000592
+9a408a00
+1a227e00
+e0a08000
+20600000
+78347c00
+20207353
+78547c00
+18007210
+ea288000
+ea408000
+20347359
+9842fe00
+2020735a
+9840fe00
+e0a08000
+1a20a201
+1a40a401
+c2007354
+20600000
+d8a005b2
+ea230000
+e0a30000
+20347365
+ea230000
+20207366
+e8c30000
+e0a30000
+ea220000
+e0a20000
+20600000
+d8c041be
+d8a005a2
+d8400000
+588395a7
+2040738b
+58b3c1df
+2040738b
+5800e5e9
+2040738c
+18422800
+78547c00
+20407379
+1a820400
+78347c00
+20207379
+18007208
+e8c08000
+2f200201
+20347380
+2020f381
+9840fe00
+20207382
+2020f37e
+9842fe00
+e0a08000
+184c8400
+c200737a
+20600000
+68030596
+60030056
+e8c30000
+e0a30000
+20600000
+184d0400
+18500400
+98418400
+20600000
+2020738f
+4770403c
+2040742b
+d8a04419
+20207497
+d8a0443a
+2034f397
+d8a0042f
+18c22200
+20407ebf
+20407440
+d8c0442a
+202074b0
+da20042f
+2034f39f
+da20443a
+1a220a00
+2040630c
+20207440
+d8c044aa
+20407486
+d8c04419
+20407487
+18006c38
+18006c00
+2040741d
+d8a0047c
+20207497
+18007e49
+202073ae
+18007e01
+18007000
+184d5e00
+9de1de00
+1f00f001
+184cde00
+1df15e00
+68014411
+1ff07e00
+9de1de00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+e8c10000
+1a30de00
+1df05e00
+9de1de00
+1f00f001
+20600000
+1a608c01
+e8c08000
+98002200
+204073ab
+2040741f
+18007000
+ea608000
+1fe17e03
+1ff05e00
+79205e08
+2040748f
+20407422
+1a227200
+1a608c02
+2040746e
+20407478
+20407422
+1f227e00
+203a73d5
+202073d0
+1800700c
+1de27e00
+60020417
+20600000
+1a20a201
+204073ad
+1a620c00
+20407482
+20407425
+2040749e
+1a60a610
+1a40a5f0
+202173d9
+20600000
+4770c03c
+da6043dc
+680ac403
+204073c1
+18007008
+98005e00
+18002200
+204073ad
+20407425
+da6043de
+6800c3dd
+1fe0a5ff
+9a608a00
+1800700c
+1de27e00
+e0a20000
+204073d9
+6800c3dd
+1fe0fe04
+6000c3dd
+680ac403
+18408401
+600ac403
+20600000
+4771403c
+680082da
+1fe67c14
+202173ff
+da6002db
+1fe0a5ff
+1fe0fffc
+600082da
+9a608c00
+e8c20000
+18007008
+98005e00
+18002200
+680ac408
+204073ad
+20407425
+1800700c
+1de27e00
+6002041b
+204073d9
+da6002d9
+204073c1
+680a041b
+98467e00
+247a0000
+6802440d
+98467e00
+207a0000
+600a440d
+6802c408
+1fe0fe01
+6002c408
+18007e00
+20600000
+243bf41d
+20600000
+18006c30
+18006c00
+2020741d
+18006c32
+18006c02
+2020741d
+18006c34
+18006c04
+2020741d
+18006c01
+18006c00
+20600000
+18007000
+6802042f
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+6802443a
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+20407492
+1f00f1fc
+680244c7
+1fe25e00
+1f00f004
+18006c38
+18006c08
+2020741d
+4771c03c
+680344a0
+680b044f
+2034f446
+6803044f
+680b44a0
+18007008
+18425e00
+1f00f001
+184f5e00
+1ff07e00
+9de1de00
+1f00f001
+1fef5e00
+1f00f001
+18005e00
+18007e00
+6800c48e
+6808c485
+2434f456
+6800c495
+6808c48e
+6000c44a
+6008c44b
+18007000
+da40444a
+18007204
+ea220000
+ea4a0000
+9842de00
+1f00f001
+1a20a204
+1a40a404
+c200745b
+20407492
+1f00f1fc
+680244c7
+1fe25e00
+1f00f004
+18006c38
+18006c0c
+2040741d
+20407491
+18006c3a
+18006c08
+2020741d
+2f200600
+20608000
+18c27e00
+9f208a00
+18007e00
+e0a08000
+1f20f201
+2f200600
+20608000
+20207473
+18007000
+1f227e00
+203a747d
+e8c20000
+1f20f3fc
+98005e00
+1f00f001
+2f001e04
+20608000
+20207479
+18007008
+20207487
+18007004
+20207487
+18007000
+18007204
+e8c20000
+98005e00
+1f00f001
+c2007488
+20600000
+d8c0047c
+20207484
+18007204
+20207494
+18007000
+18007204
+18005e00
+1f00f001
+c2007493
+20600000
+1800700c
+18007204
+1de27e00
+e0a20000
+1f00f001
+c2007499
+20600000
+1800700c
+1a620a00
+1a40f201
+1f267c0f
+202174a4
+18007210
+1de27e00
+1f267c03
+202174ac
+e0a20000
+1f20f3fc
+20628000
+1f00f001
+202074a4
+e0a08000
+1fecfe00
+c20074ac
+20600000
+1800700c
+18007204
+e8c20000
+9de67c00
+24628000
+1f00f001
+c20074b2
+18007c00
+20600000
+68108050
+793ffe00
+60108050
+20600000
+68108050
+79207e00
+60108050
+20600000
+d8a00886
+3803ffff
+3807ffff
+380bffff
+380ffbff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bcfff
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffef
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+38066c7f
+3808146b
+380f7bb3
+e0a48000
+3801feb8
+38050c12
+380ab722
+380e9fa6
+e0a48000
+3800e70f
+38056720
+3808519e
+380d9084
+e0a48000
+38031012
+380760bf
+380bf0af
+380c03d3
+e0a48000
+3803a188
+38043ad0
+380bcbf2
+380e43d9
+e0a48000
+3802b030
+38076a03
+38091188
+380de520
+e0a48000
+3803a11e
+3804fe5d
+3808dd57
+380dac93
+e0a48000
+380011ed
+380618c4
+38088da7
+380e57ff
+e0a48000
+3803192b
+38074641
+3809be0c
+380f66ad
+e0a48000
+38001f83
+38055a23
+380bf9b0
+380c3949
+e0a48000
+38013a51
+380553fd
+380b372a
+380cf1bb
+e0a48000
+3803ae85
+3805eed9
+38089e66
+380c01a8
+e0a40000
+20600000
+d8a0091e
+3803ffff
+3807ffff
+380bffff
+380fffff
+e0a48000
+3803ffff
+3804003f
+38080000
+380c0000
+e0a48000
+38000000
+38040000
+38081000
+380c0000
+e0a48000
+3803ff00
+3807ffff
+380bffcf
+380fffff
+e0a48000
+3803ffff
+3807ffff
+380bffff
+380c03ff
+e0a48000
+38000000
+38040000
+38080000
+380c0000
+e0a48000
+38010000
+38040000
+380bf000
+380fffff
+e0a48000
+380296ff
+38062630
+380b945d
+380fd284
+e0a48000
+380333a0
+38044b7a
+380837d8
+380fc9dc
+e0a48000
+3803a440
+3805b958
+380b8bce
+380d091f
+e0a48000
+3802e12c
+3805f47c
+380b56b1
+380efd47
+e0a48000
+38006837
+3806ed90
+3809ecec
+380dacc5
+e0a48000
+38023357
+38058af3
+3808f9e1
+380d29f0
+e0a48000
+3802e7eb
+3807e6e3
+380be1a7
+380d0b8b
+e0a48000
+38024fe3
+380420ef
+3809b5a6
+380cdc2f
+e0a48000
+38013860
+3806bd69
+3808391a
+380db222
+e0a48000
+20600000
+6800c65a
+243a757d
+20207a77
+4772403c
+6800c65a
+207a0000
+6800c5b1
+c1808000
+6800c4be
+207a0000
+6800c4c3
+c1018000
+68014682
+c280757b
+6800c4c0
+c0007a77
+20600000
+7044c000
+20600000
+4772c03c
+6800c65a
+203a612b
+20406124
+20407583
+2020766d
+58000000
+600409ae
+600209b6
+6003c65e
+20600000
+7009b001
+2020758d
+6800c5b1
+c000f68a
+20202a8c
+6800c5b1
+c000f590
+2020766d
+2040768a
+680089af
+247a0000
+7009ae03
+20600000
+204075b0
+da2009de
+d8a00866
+20407c79
+da2009be
+d8a00826
+20407c79
+da200826
+da4009be
+d8a00826
+20407be1
+da20093e
+da4009be
+d8a00846
+20407be1
+da200846
+da400826
+d8a00826
+20407c7d
+da200806
+da400826
+d8a00806
+20407c7d
+df200020
+da200866
+da400806
+20207f88
+da20097e
+d8a00806
+20407c79
+da20095e
+d8a00826
+20407c79
+da200826
+da40095e
+d8a00826
+20407be1
+da20093e
+da40095e
+d8a00846
+20407be1
+da200846
+da400826
+d8a00826
+20407c7d
+da200806
+da400826
+d8a00806
+20207c96
+204075e1
+da2009e6
+d8a00866
+204077a8
+da2009c6
+d8a00826
+204077a8
+da200826
+da4009c6
+d8a00826
+20407786
+da20089e
+da4009c6
+d8a00846
+20407786
+da200846
+da400826
+d8a00826
+20407755
+da200806
+da400826
+d8a00806
+20407755
+df200018
+da200866
+da400806
+20207f88
+da2008e6
+d8a00806
+204077a8
+da2008ce
+d8a00826
+204077a8
+da200826
+da4008ce
+d8a00826
+20407786
+da20089e
+da4008ce
+d8a00846
+20407786
+da200846
+da400826
+d8a00826
+20407755
+da200806
+da400826
+d8a00806
+20207758
+680089b2
+c0807615
+20407612
+d8a00a7e
+58000a2e
+e0a10000
+58004642
+e0a10000
+580009de
+e0a10000
+20207609
+d8a00a7e
+58000a3e
+e0a10000
+580009de
+e0a10000
+58004642
+e0a10000
+204079a0
+680089af
+c002760f
+7009b001
+7009ae05
+20600000
+7009af14
+2040758a
+202076d8
+d8a00a1e
+18000e08
+202076a2
+7009b001
+20600000
+4773403c
+d8a00727
+680340a0
+e0a30000
+68030040
+e0a30000
+6801c65e
+e0a18000
+20407a0d
+da200a4e
+da400a5e
+18000e04
+204076a7
+2420f631
+20407628
+70007d41
+202062f8
+680089af
+c004f62e
+7009ae0a
+7009b001
+70007c03
+20600000
+70007c03
+7009af15
+202076d8
+680089af
+c004f637
+7009ae00
+70007c04
+70007e05
+20600000
+70007c04
+7009af00
+20600000
+680089b3
+c000f63e
+7009af0a
+202076d8
+d8a00727
+68030040
+e0a30000
+680340a0
+e0a30000
+6801c65b
+e0a18000
+20407a24
+680089af
+c005764b
+7009ae0b
+7009b001
+20600000
+7009af0b
+7009b101
+20600000
+d8a00a7e
+68030040
+e0a30000
+680340a0
+e0a30000
+58000a2e
+e0a10000
+58000a3e
+e0a10000
+20207662
+7009ae0f
+d8a00a7e
+680340a0
+e0a30000
+68030040
+e0a30000
+58000a3e
+e0a10000
+58000a2e
+e0a10000
+d8a00727
+68030a7e
+e0a30000
+68030a84
+e0a30000
+204079d7
+7041bd01
+d8a041be
+d8c00a4e
+20407ebf
+202021c4
+4773c03c
+6800c5b1
+c1800000
+680089b2
+c1800000
+d8a04612
+18000e0b
+204076a2
+180a7e00
+1fe37e00
+e0a10000
+d8a006be
+d8c04612
+20407ebe
+d8a005e6
+d8c008ce
+20407ebc
+d8a00616
+20407ec5
+70061601
+20407a5d
+7009b201
+20600000
+d8a0462a
+d8c0062e
+20407ebc
+7045b101
+7009b200
+20600000
+4774403d
+680089b9
+c1800000
+680089b2
+c1800000
+d8a006be
+d8c04612
+20407ebe
+d8a005e6
+d8c009c6
+20407ebc
+d8a00616
+20407ec5
+70061601
+20407a5d
+7009b202
+20600000
+7009b301
+d8a00a06
+d8c0062e
+20407ebe
+7009b901
+7009b200
+20600000
+18e08fff
+24610000
+180a7e00
+e0a10000
+202076a2
+18e08fff
+242176b3
+ea220000
+1fe20400
+ea420000
+9842fe00
+2422f6b1
+1a20a204
+1a40a404
+202076a7
+7840fc00
+20600000
+7820fc00
+20600000
+4774c03d
+680089b0
+207a0000
+204062bc
+247a0000
+7009b000
+680089ae
+c001e1fd
+c002e21a
+c003e225
+c005e23a
+c0017588
+c00275f7
+c004f617
+c005763a
+c0067658
+20600000
+4775403d
+680089b1
+207a0000
+204062bc
+247a0000
+7009b100
+680089af
+c00961e0
+c009e1e5
+c001e1e9
+c0027602
+c00a61ed
+c003e1fb
+c005763a
+c005e239
+c004f617
+c00ae233
+20600000
+7009b101
+20600000
+7009b100
+20600000
+4775c03d
+6800c65a
+207a0000
+680089b2
+207a0000
+1fe0fe80
+600089b2
+c3838000
+680085e3
+203a76e7
+20207a68
+204078d3
+680089b2
+c000f684
+c001769b
+20600000
+1fe10e07
+1fe97e00
+98c08c00
+e8c08000
+afec0000
+20600000
+20407ebe
+20407ebe
+20207ebe
+e8c40000
+247a0000
+e8c40000
+247a0000
+e8c40000
+20600000
+ea220000
+98000400
+ea420000
+98467c00
+24628000
+1a20a204
+1a40a404
+c20076fb
+20600000
+18007206
+1a20a214
+1a40a414
+ea420000
+98000400
+ea220000
+98467e00
+24610000
+247a0000
+1a20a3fc
+1a40a5fc
+c2007707
+20600000
+18007206
+18002600
+ea220000
+98000400
+ea420000
+9840fe00
+9a60fe00
+e0a20000
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c2007713
+20600000
+18007206
+18002600
+ea420000
+98000400
+ea220000
+98467e00
+9a667e00
+e0a20000
+2feffe20
+7920a600
+1a20a204
+1a40a404
+c2007721
+20600000
+18007206
+1a20a214
+18002600
+ea220000
+2feffe00
+7920a601
+1fe37e00
+2a6ffe00
+7920fe1f
+e2220000
+1a20a3fc
+1a632600
+c2007730
+20600000
+18007206
+18002600
+ea220000
+2feffe1f
+7920a601
+1fe3fe00
+2a6ffe00
+7920fe00
+e2220000
+1a20a204
+1a632600
+c200773d
+20600000
+2040773b
+2a6ffe00
+2020f751
+da400886
+1a222600
+1a20a3e8
+20407704
+24610000
+1a622200
+1a20a3e8
+da400886
+1a220a00
+2020771f
+20407711
+18a22200
+20207749
+2040771f
+2a6c0000
+20608000
+da400886
+18a0a3e8
+1a220a00
+20207711
+18a21600
+1a226000
+da400716
+1a420a00
+1a208c18
+e8c40000
+e0a40000
+e0a40000
+18007e00
+e0a40000
+19620a00
+20407755
+da400716
+1a420a00
+18007e00
+e0a40000
+1e008c20
+e8c40000
+e0a40000
+e0a40000
+19622200
+1a220a00
+20407755
+da400716
+1a420a00
+1e008c28
+e8c40000
+e0a40000
+e0a40000
+e0a40000
+19622200
+1a220a00
+20207755
+18007206
+e8c20000
+98005e00
+1f00f001
+c2007781
+20600000
+18a21600
+d8a006e6
+20407ec5
+d8a006e6
+1a220c00
+18007000
+20407780
+1a420c00
+20407780
+18002400
+18000400
+18002606
+e8a20000
+98002200
+1a427000
+1de27e00
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e0a20000
+1fef0400
+1a60a601
+2a61fe0c
+2420f792
+18427e00
+e0a20000
+18a08be8
+1a40a401
+2a41fe06
+2420f790
+da2006e6
+19620a00
+2020775f
+1a222400
+20207786
+1a226000
+1e022200
+ea208000
+2feffe00
+20608000
+2040772d
+ea408000
+2fec0000
+2020f7ba
+da200886
+1a420a00
+20407711
+ea408000
+9a60fe00
+e2408000
+1a40a5e8
+1a40a218
+18007207
+2040772f
+202077ab
+18a21600
+d8a00746
+20407ec5
+18007e00
+600206fe
+6002075e
+70074601
+d8a006e6
+20407ec5
+d8c00886
+d8a00716
+20407ebe
+1a220c00
+d8a0072e
+20407ebe
+d8c0072e
+204076f5
+203a77f6
+da20072e
+da400746
+204077aa
+da200716
+da4006e6
+204077aa
+da20072e
+da400716
+20407704
+202177e8
+da200716
+da40072e
+1a220a00
+2040771f
+da200746
+da4006e6
+1a420a00
+20407711
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+202077cd
+da20072e
+da400716
+1a220a00
+2040771f
+da2006e6
+da400746
+1a420a00
+20407711
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+202077cd
+d8a00746
+20407ec5
+680086fe
+60008746
+6000874e
+da200746
+da4006e6
+1a420a00
+20407755
+da200886
+da4006e6
+19620a00
+20207758
+da2006a6
+d8a0075e
+204077a8
+da20075e
+d8a00776
+204077a8
+da20089e
+da400776
+d8a00776
+20407786
+da200676
+d8a0075e
+204077a8
+d8c0075e
+d8a0072e
+20407ebe
+da20072e
+20407748
+da20075e
+da40072e
+d8a0075e
+20407755
+da20075e
+da400776
+d8a0075e
+20407755
+d8c00676
+d8a0072e
+20407ebe
+da20068e
+d8a00776
+204077a8
+da20072e
+20407748
+da20072e
+20407748
+da20072e
+da400776
+d8a0072e
+20407786
+da200776
+d8a00746
+204077a8
+da200746
+20407748
+da200746
+20407748
+da200746
+20407748
+d8c0068e
+d8a00776
+20407ebe
+da200776
+20407748
+da200776
+da4006a6
+d8a006a6
+20407786
+da20075e
+d8a00776
+204077a8
+da200776
+da40072e
+d8a00776
+20407758
+da200776
+da40072e
+d8a00676
+20407758
+da20072e
+da400676
+d8a00776
+20407758
+da200776
+da40075e
+d8a00776
+20407786
+da200776
+da400746
+d8a0068e
+20207758
+da200616
+d8a0078e
+204077a8
+da200676
+da40078e
+d8a00746
+20407786
+da200616
+da40078e
+d8a0078e
+20407786
+da20068e
+da40078e
+d8a0072e
+20407786
+da2006a6
+d8a0078e
+204077a8
+da2005e6
+da40078e
+d8a0075e
+20407786
+da2006a6
+da40078e
+d8a0078e
+20407786
+da2005fe
+da40078e
+d8a00776
+20407786
+da200746
+da40075e
+d8a0078e
+20407758
+da200746
+da40075e
+d8a00746
+20407755
+da20072e
+da400776
+d8a0075e
+20407758
+da20072e
+da400776
+d8a0072e
+20407755
+da20072e
+da40078e
+d8a0072e
+20407786
+da2006a6
+da400616
+d8a00776
+20407786
+da200776
+da40078e
+d8a006a6
+20407786
+da20078e
+d8a0078e
+204077a8
+da20078e
+da400746
+d8a00776
+20407786
+da20078e
+da40072e
+d8a0072e
+20407786
+da20075e
+d8a00676
+204077a8
+da200676
+da400776
+d8a00676
+20407758
+d8c00676
+d8a0078e
+20407ebe
+da20078e
+20407748
+da200776
+da40078e
+d8a00776
+20407758
+da200776
+da40075e
+d8a0075e
+20407786
+da20075e
+da40072e
+d8a0068e
+20407758
+da20068e
+da400886
+d8a0068e
+18002600
+6800868e
+2feffe00
+2040f711
+1a626000
+da20068e
+2040772d
+680086a5
+2e0ffe00
+7920fe07
+600086a5
+20600000
+680085e3
+1fe0ffff
+24610000
+600085e3
+680085e2
+205a7803
+680085e3
+d8c006be
+204076ec
+2020f8c0
+680085e2
+243a78ce
+20407854
+202078c0
+7005e200
+d8c005e6
+d8a00676
+204076f2
+202078c0
+da2006a6
+d8a00776
+204077be
+da200776
+d8a0072e
+204077a8
+da200676
+da40072e
+d8a0062e
+20407786
+da200776
+da40072e
+d8a0075e
+20407786
+da20068e
+da40075e
+d8a00646
+20207786
+e8c20000
+18002204
+18a08a03
+e0a08000
+1fecfe00
+18a08bfe
+1a20a3ff
+2422f8e8
+18a08a05
+c20078e5
+20600000
+18ebfe00
+99608c00
+e8c20000
+20600000
+18006010
+d96005e6
+1e008ff9
+204078f0
+98000400
+1e008ff0
+204078f0
+98408400
+1e008ffe
+204078f0
+1fee7e01
+98408400
+1e008ff1
+204078f0
+1fee7e00
+98408400
+1e0bfe00
+99608a00
+e0aa0000
+1e00e001
+2e01fe40
+2420f8f6
+20600000
+d8c008fe
+18007007
+e8c20000
+98005e00
+1f00f1ff
+2021790d
+20600000
+4776403d
+204078f4
+d8a006e6
+18007000
+1de27e00
+e0a20000
+1f00f001
+2f01fe08
+2420f916
+204074b9
+d9608700
+de0005e6
+18007240
+ee0a0000
+e9620000
+19609604
+1e00e004
+9840fe00
+18007007
+9de08400
+18007004
+1dee7e03
+98408400
+18007005
+1de27e00
+18007006
+9de2fe00
+18007004
+9de17e00
+18007006
+9de2fe00
+98408400
+18007007
+18425e00
+18007003
+1de27e00
+9840de00
+18007000
+1de27e00
+18007001
+9de10400
+9de1fe00
+18007002
+9de17e00
+98418400
+18007000
+1dee7e02
+9840fe00
+18007007
+9de0de00
+980efc00
+c200791f
+d8c006e6
+18007000
+e8c20000
+9de0de00
+1f00f001
+2f01fe08
+2420f948
+202074bd
+d8a00a3e
+18007007
+1de27e00
+e0a20000
+1f00f1ff
+20217950
+20600000
+d8a005e6
+18c08dfc
+1f262210
+e8c20000
+9842fe00
+e0a20000
+18c08df8
+c2007958
+1a227200
+18427e00
+e0a20000
+c200795f
+20600000
+20407967
+2040794e
+2020798d
+20407967
+2020798d
+d8c009de
+d8a005e6
+18007206
+20407a71
+d8c04642
+18007206
+20407a71
+d8c00a3e
+20407a70
+2040790b
+20407912
+d8c00a2e
+d8a005e6
+20207984
+d8c04642
+d8a005e6
+18007206
+20407a71
+d8c009de
+18007206
+20407a71
+d8c00a2e
+20407a70
+2040790b
+20407912
+d8c00a3e
+d8a005e6
+20407984
+2020798d
+20407a70
+58800000
+1fed7e00
+e0a20000
+18007205
+20407ec6
+58000280
+e0a20000
+20207912
+68020a3e
+da2003e8
+9a26fc00
+20407f86
+18077e00
+600209ba
+1807fe00
+da2003e8
+9a26fc00
+20407f86
+18077e00
+da2003e8
+9a2ffe00
+680a09ba
+9840fe00
+600209ba
+20600000
+70466400
+202079a2
+6800c662
+c081799e
+4776c03d
+58363636
+1fed0400
+18418436
+68010a7e
+1fe20c00
+18007204
+20407955
+2040790b
+20407912
+68010a80
+1fe20c00
+d8a005e6
+18007206
+20407a71
+68010a82
+1fe20c00
+18007206
+20407a71
+58800000
+e0a18000
+6800c664
+e0a08000
+18007e00
+e0a40000
+58000388
+e0a20000
+20407912
+2040794e
+d8c00a3e
+d8a00706
+20407ebd
+585c5c5c
+1fed0400
+1841845c
+68010a7e
+1fe20c00
+18007204
+20407955
+2040790b
+20407912
+d8c00726
+d8a005e6
+18007208
+20407a71
+58800000
+1fed7e00
+e0a20000
+20407ec5
+58000300
+e0a20000
+20407912
+2020794e
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+68010a8a
+1fe20c00
+d8a005e6
+20407a70
+68010a8c
+1fe20c00
+20407a70
+5862746c
+1fed7e00
+1fe1fe6b
+e0a20000
+d8c00733
+18007203
+20407a71
+58800000
+1fed7e00
+e0a20000
+18007e00
+e0a40000
+58000380
+e0a20000
+20407912
+2040794e
+d8c00a3e
+d8a00706
+20407ebd
+585c5c5c
+1fed0400
+1841845c
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00726
+d8a005e6
+18007208
+20407a71
+58800000
+1fed7e00
+e0a20000
+20407ec5
+58000300
+e0a20000
+20407912
+2020794e
+6800c662
+c0817a1e
+4777403d
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00a3e
+d8a005e6
+20407a70
+d8c00a2e
+20407a70
+20207a33
+58000000
+6002468a
+20207a0f
+58000000
+6002468a
+20207a26
+6800c662
+c0817a21
+58363636
+1fed0400
+18418436
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00a2e
+d8a005e6
+20407a70
+d8c00a3e
+20407a70
+58000000
+e0a40000
+e0a20000
+6802468a
+e0a20000
+18a20400
+70072680
+18420a00
+d8c00736
+20407a70
+20407912
+d8a005e6
+18007207
+20407ec6
+e0a20000
+580003f8
+e0a20000
+20407912
+2040794e
+d8c00a3e
+d8a00706
+20407ebd
+585c5c5c
+1fed0400
+1841845c
+d8c00a1e
+18007206
+20407955
+2040790b
+20407912
+d8c00726
+d8a005e6
+18007208
+20407a71
+58800000
+1fed7e00
+e0a20000
+20407ec5
+58000300
+e0a20000
+20407912
+2020794e
+7005e3c0
+680085e3
+207a0000
+1fe0ffff
+600085e3
+d8c006be
+204076ec
+2020fa5e
+d8c005e6
+d8a00676
+202076f2
+20407803
+680085e3
+1fe0ffff
+600085e3
+d8c006be
+204076ec
+20608000
+20207854
+18007204
+18c08dfc
+e8c20000
+e0a20000
+18c08df8
+c2007a72
+20600000
+4777c03d
+6800c4be
+203a5af0
+20405aec
+20407583
+20207a7d
+6800c4c3
+c1800000
+6800c4c0
+c1800000
+d8a045b2
+18000e0f
+204076a2
+180a7e00
+1fe37e00
+e0a10000
+d8a00766
+d8c045b2
+20407ebd
+d8a00646
+d8c0095e
+20407eb3
+d8a00686
+20407ed0
+70068601
+20407ac7
+7044c003
+20600000
+d8a045d2
+d8c006a6
+20407eb3
+7044c303
+7044c000
+20600000
+680089b9
+c1800000
+6800c4c0
+c1800000
+d8a00766
+d8c045b2
+20407ebd
+d8a00646
+d8c009be
+20407eb3
+d8a00686
+20407ed0
+70068601
+20407ac7
+7044c004
+20600000
+d8a009fe
+d8c006a6
+20407ebd
+7009b903
+7044c000
+20600000
+6800c4be
+207a0000
+6800c4c0
+207a0000
+1fe0fe80
+6000c4c0
+c3838000
+680105e3
+203a7ab9
+20207abf
+4778403e
+20407ad4
+6800c4c0
+c001fa93
+c0027aa9
+20600000
+20407ae6
+680105e3
+1fe0ffff
+600105e3
+d8c00766
+204076ec
+20608000
+20207b37
+4778c03e
+58000100
+600105e3
+680105e3
+207a0000
+1fe0ffff
+600105e3
+d8c00766
+204076ec
+2020faca
+d8c00646
+d8a00706
+20207eb2
+da200746
+d8a00846
+20407ba3
+da200846
+d8a007e6
+20407c79
+da200706
+da4007e6
+d8a006a6
+20407be1
+da200846
+da4007e6
+d8a00826
+20407be1
+da200726
+da400826
+d8a006c6
+20207be1
+da200746
+d8a00826
+20407c79
+da200826
+d8a00846
+20407c79
+da20093e
+da400846
+d8a00846
+20407be1
+da200706
+d8a00826
+20407c79
+d8c00826
+d8a007e6
+20407ebd
+da2007e6
+20407c80
+da200826
+da4007e6
+d8a00826
+20407c7d
+da200826
+da400846
+d8a00826
+20407c7d
+d8c00706
+d8a007e6
+20407ebd
+da200726
+d8a00846
+20407c79
+da2007e6
+20407c80
+da2007e6
+20407c80
+da2007e6
+da400846
+d8a007e6
+20407be1
+da200846
+d8a00806
+20407c79
+da200806
+20407c80
+da200806
+20407c80
+da200806
+20407c80
+d8c00726
+d8a00846
+20407ebd
+da200846
+20407c80
+da200846
+da400746
+d8a00746
+20407be1
+da200826
+d8a00846
+20407c79
+da200846
+da4007e6
+d8a00846
+20407c96
+da200846
+da4007e6
+d8a00706
+20407c96
+da2007e6
+da400706
+d8a00846
+20407c96
+da200846
+da400826
+d8a00846
+20407be1
+da200846
+da400806
+d8a00726
+20207c96
+da200686
+d8a00866
+20407c79
+da200706
+da400866
+d8a00806
+20407be1
+da200686
+da400866
+d8a00866
+20407be1
+da200726
+da400866
+d8a007e6
+20407be1
+da200746
+d8a00866
+20407c79
+da200646
+da400866
+d8a00826
+20407be1
+da200746
+da400866
+d8a00866
+20407be1
+da200666
+da400866
+d8a00846
+20407be1
+da400806
+da200826
+d8a00866
+20407c96
+da200806
+da400826
+d8a00806
+20407c7d
+da4007e6
+da200846
+d8a00826
+20407c96
+da2007e6
+da400846
+d8a007e6
+20407c7d
+da2007e6
+da400866
+d8a007e6
+20407be1
+da200746
+da400686
+d8a00846
+20407be1
+da200846
+da400866
+d8a00746
+20407be1
+da200866
+d8a00866
+20407c79
+da200866
+da400806
+d8a00846
+20407be1
+da200866
+da4007e6
+d8a007e6
+20407be1
+da200826
+d8a00706
+20407c79
+da200706
+da400846
+d8a00706
+20407c96
+d8c00706
+d8a00866
+20407ebd
+da200866
+20407c80
+da200846
+da400866
+d8a00846
+20407c96
+da200846
+da400826
+d8a00826
+20407be1
+da200826
+da4007e6
+d8a00726
+20407c96
+da200726
+da40091e
+d8a00726
+18002600
+68008726
+2feffe00
+2040fc7b
+1a626000
+da200726
+20407cab
+68008745
+2e0ffe00
+7920fe07
+60008745
+20600000
+18a21600
+d8a00806
+20407ed0
+18007e00
+60020826
+70080601
+d8a00786
+20407ed2
+d8c0091e
+d8a007c6
+20407ebd
+1a220c00
+d8a007e6
+20407ebd
+d8c007e6
+20407cb5
+203a7bda
+da2007e6
+da400806
+20407cb8
+da2007c6
+da400786
+20407cb8
+da2007e6
+da4007c6
+20407cb1
+20217bcc
+da2007c6
+da4007e6
+1a220a00
+20407ca9
+da200806
+da400786
+1a420a00
+20407c7b
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+20207bb1
+da2007e6
+da4007c6
+1a220a00
+20407ca9
+da200786
+da400806
+1a420a00
+20407c7b
+ea208000
+9a60a600
+ea408000
+9a60fe00
+e2408000
+20207bb1
+da200786
+19620a00
+20407c0a
+da20091e
+19622400
+19620a00
+20207c96
+18a21600
+18007000
+d8a00786
+20407ed2
+d8a00ad2
+20407ed2
+1a220c00
+700ad200
+58000000
+20407c73
+1a420c00
+20407c77
+18000e00
+d8a00786
+d8400ad2
+18e22400
+1a4bfe00
+9840a400
+18000400
+18002600
+e8a20000
+98002200
+ea420000
+1a627000
+9deffe00
+9a20fe00
+9840fe00
+e0a20000
+1fef0400
+1a60a601
+2a61fe08
+2420fbf5
+18427e00
+e0a20000
+18a08be0
+18e08e01
+28e1fe08
+2420fbef
+da200786
+19620a00
+20207c0a
+4779403e
+18a21600
+1a226000
+da4007c6
+1a420a00
+20407ecd
+e0a40000
+1a208c2c
+20407eb9
+20407eb5
+1a422200
+20407c80
+da4007c6
+1e022200
+19620a00
+20407c7d
+da4007c6
+1a420a00
+20407ecd
+e0a40000
+1e008c30
+20407ebf
+20407ecd
+1a422200
+20407c80
+da4007c6
+19622200
+1a220a00
+20407c7d
+da4007c6
+1a420a00
+1e008c20
+20407eb5
+20407ecd
+e0a40000
+1e008c38
+20407eb9
+19622200
+1a220a00
+20407c7d
+da4007c6
+1a420a00
+1e008c24
+20407eb5
+1e008c34
+20407eb5
+1e008c34
+20407eb6
+1e008c20
+20407eb6
+19622200
+1a220a00
+20407c7d
+da4007c6
+1a420a00
+1e008c2c
+20407eb5
+20407ecd
+e0a40000
+1e008c20
+20407eb6
+1e008c28
+20407eb6
+19622200
+1a220a00
+20407c96
+da4007c6
+1a420a00
+1e008c30
+20407eb9
+20407eb9
+18007e00
+e0a40000
+1e008c24
+20407eb6
+1e008c2c
+20407eb6
+19622200
+1a220a00
+20407c96
+da4007c6
+1a420a00
+1e008c34
+20407eb5
+1e008c20
+20407eb5
+20407ecd
+1e008c30
+20407eb6
+19622200
+1a220a00
+20407c96
+da4007c6
+1a420a00
+1e008c38
+20407eb9
+20407ecd
+1e008c24
+20407eb5
+20407ecd
+1e008c34
+20407eb6
+19622200
+1a220a00
+20207c96
+18007220
+d8a00ad2
+98a08a00
+20207f01
+18007208
+20207781
+1a222400
+20207be1
+18007208
+20207712
+20407c7b
+18a22200
+20207c81
+20407cae
+2a6ffe00
+2020fc8a
+da40091e
+1a222600
+1a20a3e0
+20407cb1
+24610000
+1a622200
+20207c92
+20407c92
+1a222600
+1a20a3e0
+da40091e
+20407cb1
+24610000
+1a622200
+20207c92
+1a20a3e0
+da40091e
+1a220a00
+20207ca9
+20407ca9
+2020fca0
+18a0a3e0
+da40091e
+20407cb1
+24610000
+da40091e
+18a0a3e0
+1a220a00
+20207ca9
+18a0a3e0
+da40091e
+1a220a00
+20407c7b
+20608000
+18a0a3e0
+da40091e
+1a220a00
+20207c7b
+18007208
+20207720
+18007208
+1a20a21c
+2020772f
+18007208
+18002600
+2020773d
+18007208
+1a20a21c
+1a40a41c
+20207707
+e8c40000
+247a0000
+202076f5
+1a226000
+1e022200
+ea208000
+2feffe00
+20608000
+20407cab
+ea408000
+2fec0000
+2020fcc8
+da20091e
+1a420a00
+20407c7b
+ea408000
+9a60fe00
+e2408000
+1a40a5e0
+1a40a220
+18007209
+2040772f
+20207cb9
+20402c65
+20758000
+20407cd3
+20407d75
+20207d08
+20407d29
+20207d64
+6800c686
+c17f8000
+98000400
+2040680e
+6808c686
+20406825
+20000064
+6808c686
+204067fb
+20207cdd
+4779c03e
+6800c686
+c17f8000
+1fe20400
+2040681d
+2420fcef
+20407cf9
+68014682
+79207e0c
+60014682
+6800c679
+c1000000
+70467900
+6800c685
+6000c678
+20407d00
+700a992c
+20207d86
+68014682
+793ffe0c
+60014682
+6800c679
+c1008000
+70467901
+70467800
+20407d02
+700a992d
+20207d86
+6800c678
+207a0000
+1fe0ffff
+6000c678
+247a0000
+700a9910
+20207d86
+d8e00007
+20202c32
+d8e00007
+20202c36
+6801421b
+1a2fa40b
+9a40a400
+20600000
+6800c21a
+207a0000
+1fe27200
+6801421b
+1fe22400
+1a40a602
+ea688000
+2040680e
+20407d32
+1a40a40b
+c2007d0d
+20600000
+20407d04
+58000002
+e2408000
+20407d5e
+20207d35
+20407d04
+58000003
+e2408000
+20407d5e
+20207d32
+20407d04
+58000001
+e2408000
+580000ff
+e0a08000
+20207d32
+20407d04
+df20000b
+1a620c00
+1a420a00
+20207ef4
+6800c21a
+207a0000
+da200000
+20407d38
+1a20a201
+6800c21a
+9a267c00
+20628000
+20207d2c
+1a40a602
+ea688000
+20206825
+1a40a602
+ea688000
+20206829
+1a208e0b
+20407f16
+247a0000
+20407d04
+ea408000
+c0017d35
+c001fd32
+c0007d32
+c002fd4c
+20407d35
+1a40a607
+20407e7c
+ea610000
+20407f9c
+20407e8c
+58000005
+e2408000
+1a40a603
+ea610000
+20207d5c
+20407d32
+1a40a609
+20407e7c
+ea610000
+20407f9c
+20407e8c
+1a40a601
+ea608000
+c07ffd58
+1fe0ffff
+e2608000
+203a7d19
+58000004
+e2408000
+1a40a605
+ea610000
+1a208e0b
+20207f08
+58000000
+20207d5c
+58001000
+1ff07e00
+9a40a400
+20600000
+477a403e
+da200000
+680a467a
+1c422400
+1a427e00
+98467c00
+24417d60
+1a427e00
+184084a0
+184084a0
+98467c00
+24217d78
+1a20a201
+1a217e0f
+243a7d6b
+da200000
+20407d7f
+1c427e00
+6002467a
+20600000
+477ac03e
+1a227e00
+207a0000
+18408560
+18408560
+793f841c
+600a467a
+2020335f
+70466601
+6800c667
+243a7d81
+20600000
+70466600
+20600000
+477b403e
+20407d80
+1a227e00
+60020a91
+da204668
+20407fb8
+68020a91
+1fe22200
+20207d84
+477bc03e
+20407d80
+1a227e00
+60020a91
+da204670
+20407fb8
+68020a91
+1fe22200
+20207d84
+58000000
+60044670
+60044668
+20600000
+477c403f
+6800c1ce
+247a0000
+da204670
+20407fd0
+207a0000
+700a9000
+20407da7
+68008a90
+203a7d9c
+20600000
+20407d80
+da204670
+20407fc4
+1fe20400
+20407d84
+477cc03f
+18427e00
+207a0000
+c000fddd
+c0017de2
+c001fde8
+c003fded
+c0047dee
+c004fdef
+c005fdf2
+c0067df3
+c006fdf4
+c0077dfa
+c007fdff
+c0087e05
+c009fe0f
+c00a7e11
+c00afe13
+c00b7e15
+c00bfe18
+c00c7e1a
+c00cfe1d
+c00dfe25
+c00f7e2f
+60008a99
+477d403f
+204062bc
+243a7ddb
+68008a99
+c584fdd6
+c0027dea
+c002cd17
+c0034d26
+c0057df0
+c008fe0a
+c0097e0e
+c00efe26
+c00fe7cc
+c01067d0
+c010fe31
+c012e70b
+20600000
+60008a99
+20402252
+2022fddb
+2040225a
+24628000
+700a9001
+20207d8f
+68014682
+79207e06
+60014682
+70409303
+20600000
+70468000
+70409300
+68014682
+793ffe06
+60014682
+20600000
+7041ce05
+20600000
+70007c07
+7004ca13
+20600000
+20600000
+20600000
+20600000
+7004d402
+20204d0a
+20600000
+20600000
+70436e01
+70448400
+68014682
+79207e0b
+60014682
+20600000
+68014682
+793ffe0b
+60014682
+70436e00
+20600000
+70436e01
+70448401
+68014682
+79207e0b
+60014682
+20600000
+68014682
+793ffe0b
+60014682
+70436e00
+20600000
+58000014
+6001046d
+600144ba
+20205c92
+20205abf
+da200000
+20207d19
+da200000
+20207d14
+da200000
+20207d1e
+70436901
+7041ce1b
+20600000
+70436901
+20600000
+70436900
+7041ce00
+20600000
+680141eb
+20407f9c
+6800c686
+c07ffe23
+1fe20400
+204067fb
+20407d98
+20202b1f
+20205b02
+70007c34
+79200003
+24748000
+70455b00
+70007c13
+6800816d
+793ffe02
+6000816d
+20600000
+18000e03
+20207f07
+204062f8
+70007d41
+20205f9d
+6800c682
+c4060000
+c4038000
+20207e2f
+68014218
+1fe08a02
+58000000
+e0a18000
+20600000
+20407fe9
+20407e69
+207a0000
+68014218
+1fe0a402
+ea488000
+18408401
+e2488000
+efe88000
+18427200
+1fe0a404
+ea408000
+984ffe00
+98c08a00
+1a220c00
+20407f01
+20407e6d
+1fe0ffff
+ea488000
+18408401
+98410400
+e2488000
+20207fe7
+20407fe9
+20407e65
+207a0000
+68014218
+1fe0a402
+ea488000
+184085ff
+e2488000
+efe88000
+18427200
+1fe0a403
+ea408000
+984ffe00
+98c08c00
+18c08c01
+1a220a00
+20207e4c
+68014218
+1fe08c02
+e8c08000
+20600000
+20407e6d
+e8c88000
+98467e00
+20600000
+68014218
+1fe08c01
+e8c08000
+20600000
+1f267c00
+20628000
+1fe37e00
+c2007e73
+20600000
+18007e01
+1f267c00
+20628000
+1fe3fe00
+c2007e79
+20600000
+18a27e00
+60010abb
+600c0aa2
+19627e00
+60020aaa
+20407e85
+18c27e00
+60010ab9
+20600000
+1a227e00
+60020aae
+1a427e00
+60020ab2
+1a627e00
+60018ab6
+20600000
+680c0aa2
+68020aaa
+98001600
+20407e95
+68010abb
+98000a00
+68010ab9
+98000c00
+20600000
+68020aae
+98002200
+68020ab2
+98002400
+68018ab6
+98002600
+20600000
+68010abb
+1fe20a00
+20600000
+68010ab9
+1fe20c00
+20600000
+18a27e00
+60010abb
+20600000
+18c27e00
+60010ab9
+20600000
+18a27e00
+60010a97
+18c27e00
+60010a95
+20600000
+68010a97
+1fe20a00
+68010a95
+1fe20c00
+20600000
+20407ebd
+20407ebd
+20207ebd
+20407eb9
+e8c20000
+e0a20000
+20600000
+e8c40000
+e0a40000
+20600000
+20407ebf
+20407eb9
+20407eb9
+20407eb9
+20207eb9
+df20000a
+20002ee0
+c2007ec2
+20600000
+18007203
+18007e00
+e0a40000
+c2007ec7
+20600000
+18007e00
+e0a40000
+20600000
+18007e00
+e0a20000
+20600000
+18007204
+20207ec6
+18007208
+20207ec6
+1f227e00
+207a0000
+58000000
+e0a08000
+c2007ed7
+20600000
+df200020
+d8a00ac2
+20207ed4
+ea620000
+ea2a0000
+9842fe00
+e0a20000
+1a20a204
+1a60a604
+c2007edd
+20600000
+477dc03f
+1f227e00
+1fe67c01
+20610000
+9a20a400
+1a40a5ff
+1f237200
+ea288000
+ea408000
+e2208000
+e2488000
+1a40a5ff
+1a20a201
+c2007eec
+20600000
+1f227e00
+207a0000
+1f20f3f8
+20417eb9
+20628000
+20217ef6
+1f20f208
+1f20f3fc
+20417eb6
+20628000
+20217efb
+1f20f204
+20207f01
+1f227e00
+207a0000
+e8c08000
+e0a08000
+c2007f03
+20600000
+58000000
+1c430400
+600a4094
+d8a0419d
+98000400
+18e3fe00
+98a08a00
+e0a90000
+477e403f
+20600000
+d9600800
+19701600
+9960fe00
+20600000
+d8e00000
+477ec03f
+680a4094
+1c437e00
+60024094
+98467c00
+24417f11
+98461600
+19620400
+d8c0419d
+18c20a00
+df200010
+e8c10000
+98467e00
+20217f25
+18007e00
+e0a10000
+c2007f21
+d8c0419d
+18e3fe00
+98c08c00
+e8c10000
+20600000
+98408400
+18427200
+58000ea6
+9f267e00
+20610000
+1fe67e00
+18510400
+18408401
+18500400
+98418400
+20600000
+20407f39
+20207f43
+78547c00
+98467e00
+20217f3e
+78347c00
+1fe67e00
+c4078000
+d85f0ea6
+9840fe00
+793ffe40
+20600000
+98000c00
+1ff17e00
+d8400ea6
+984ffe00
+98c0fe00
+20600000
+1fed7e00
+1ff27e00
+6809c16f
+9846fc00
+20407f86
+18078400
+20600000
+d8400ea6
+9846fc00
+20407f86
+1807fe00
+1ff07e00
+18070400
+98418400
+20600000
+d8400000
+18422600
+e8608000
+20407f64
+1a620400
+20407f95
+da40000a
+9a4ffe00
+9840fe00
+1fe20400
+c2007f59
+20600000
+d840003a
+98467c00
+24217f6d
+d8400061
+98467c00
+20217f70
+d8400037
+98467e00
+20600000
+d8400030
+98467e00
+20600000
+d8400057
+98467e00
+20600000
+18426000
+580001ff
+18002400
+1fe92200
+1a232200
+9a22a200
+2a2ffe00
+7920fe09
+18430400
+2feffe00
+79208407
+1fe37e00
+1a40a401
+2a400e00
+2420ff76
+e0a88000
+c2007f76
+1e020400
+20600000
+207a8000
+20207f86
+ea208000
+ea488000
+98467c00
+24628000
+1a20a201
+1a40a401
+c2007f88
+18007c00
+20600000
+98467c00
+24610000
+18427e00
+20600000
+9840fe00
+98460400
+98467e00
+20600000
+df200200
+d8a04000
+20207ec6
+207a0000
+1fe27a00
+6811010e
+243a7f9e
+20600000
+70820301
+20600000
+60110205
+68108203
+79207e04
+60108203
+20600000
+60110207
+68108203
+79207e06
+60108203
+20600000
+60110205
+70820330
+20600000
+68108043
+793ffe04
+60108043
+20600000
+6811010e
+d8400200
+98467c00
+20600000
+477f403f
+ea2c0000
+18417eff
+243a7fbe
+184cfe00
+e2240000
+1a20a207
+ea208000
+243a2a8c
+68008a99
+e2208000
+20600000
+477fc03f
+df200008
+ea240000
+207a0000
+ea208000
+243a7fcd
+1a20a201
+c2007fc8
+20202a8c
+d8400000
+e2288000
+20600000
+ea240000
+20600000
+ea208000
+20600000
+ea210000
+20600000
+d8400000
+68008006
+c2007fd7
+18408401
+c2007fd7
+18427e00
+20600000
+98467c00
+24610000
+18427e00
+20600000
+18007dff
+20600000
+18007c01
+20600000
+18007c00
+20600000
+78347c00
+20600000
+78547c00
+20600000
+78367c00
+20600000
+78567c00
+20600000
+58000001
+20600000
+58000000
+20600000
+1f227e00
+207a0000
+18c27e00
+9f20fe00
+1fe0ffff
+1fe20c00
+e8c08000
+18c08dfe
+e0a08000
+c2007ff9
+20600000
+00000000
+0000a447
Index: YJX_Only24g/main/output/sched.rom
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/sched.rom	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/output/sched.rom	(working copy)
@@ -0,0 +1,981 @@
+
+mem_lpm_config:8f 1c ca	#4khz
+mem_lpm_xtalcnt:00 0a 0b ef 07
+mem_lpm_hibernate_switch:00
+mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
+#mem_fcomp_mul:02
+#mem_fcomp_div:18#xtal 16M   		#24#xtal 24M
+mem_iscan_window:12 00
+mem_iscan_interval:00 02
+mem_pscan_window:12 00
+mem_pscan_interval:00 02
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 40
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+mem_seqi:00
+
+#write to null
+mem_24g_head_ptr:00 84
+
+
+mem_tx_power:00#0dbm
+mem_rf_init_data_new:
+# tx power
+4b ba
+55 d0
+56 e0
+57 88
+58 6c
+59 10
+#xtal 16M
+68 e6
+ff
+mem_rf_init_ptr:mem_rf_init_data_new
+
+
+
+mem_patch00:02
+#mem_patch03:00
+#mem_patch09:00
+#mem_patch0a:00
+#mem_patch0b:00
+mem_patch10:20
+mem_patch11:06
+mem_patch14:02
+mem_patch15:01
+mem_patch16:06
+mem_patch18:10
+mem_patch19:06
+mem_patch1c:48
+mem_patch1d:1c
+mem_patch27:02
+mem_patch28:08
+mem_patch29:04
+mem_patch2a:80
+mem_patch2c:88
+mem_patch2d:04
+mem_patch2e:80
+#mem_patch30:00
+mem_patch31:10
+#mem_patch39:00
+
+#debug
+#mem_patch31:11
+#mem_patch2f:40
+#mem_patch37:40
+#mem_patch3e:c0
+
+
+mem_device_option:42
+mem_lpm_mode:01
+mem_lpm_mult:20
+mem_lpm_mult_init:20
+mem_lpm_interval:00 00
+
+mem_mouse_function_enable:
+#bit0 MOUSE_ENABLE_USB
+#bit1 MOUSE_ENABLE_24G
+#bit2 MOUSE_ENABLE_SPI2
+#bit3 MOUSE_ENABLE_FLASH
+#bit4 MOUSE_ENABLE_EEPROM
+#bit5 MOUSE_ENABLE_STATUE_UP_THREE_LED
+#bit6 MOUSE_ENABLE_STATUE_UP
+#bit7 MOUSE_ENABLE_DPI_LED_BLINK
+92
+#bit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+#bit1 MOUSE_ENABLE_2K_EEPROM
+#bit2 MOUSE_ENABLE_ADC
+#bit3 MOUSE_ENABLE_INIT_DELAY
+#bit4 MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+#bit5 MOUSE_ENABLE_AUTO_24G_PARING
+#bit6 MOUSE_ENABLE_WAKEUP_FROM_POWER
+#bit7 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+e5
+
+mem_mouse_mode_config:
+#bit0 MOUSE_24G_ONLY
+#bit1 MOUSE_BLE_ONLY
+#bit2 MOUSE_BT_ONLY
+#bit3 MOUSE_BLE_24G_ENABLE
+#bit4 MOUSE_BT_BLE_24G_ENABLE
+08
+
+mem_app_connection_options:06
+mem_lap:26 10 19 20 18 10
+#mem_local_name_length:
+#'BT 3.0 Mouse
+#mem_sniff_param_interval:
+#0e 00 
+#01 00 ##mem_sniff_param_attempt:01 00
+#02##mem_sniff_param_timeout:00 00
+
+
+mem_unsniff2sniff_timer:0a
+mem_ssp_mode_flag:03
+mem_ssp_enable:01
+##mem_all_uuid_16bits:
+##06
+##03#Type: Complete list of 16-bit UUIDs
+##0011 0100 1002 1124  1200  0001
+mem_all_uuid_128bits:00
+mem_ptt:00
+
+
+mem_sp_iocap_local:03 00 04
+mem_ui_profile_supported:01
+mem_eir_enable:01
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+#appearance
+03 19 c2 03
+
+#flag 
+02 01 05
+
+#uuid
+03 03 12 18
+
+#name
+'\09BT 5.0 Mouse
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+#name
+'\09BT 5.0 Mouse
+
+
+#max 20bytes, att list data rom limits
+mem_le_name_len:
+'BT 5.0 Mouse
+
+
+mem_le_interval_min:
+07 00 #min interval
+07 00 #max interval
+20 00 #latency
+2c 01 #timeout
+
+
+mem_le_adv_interval:00 00
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:00
+mem_le_adv_channel_map:07 
+
+mem_le_lap:8e b1 3a 0e 8e ed
+
+mem_le_transmit_window:50
+
+mem_le_notify_handle:19 00
+mem_le_pairing_handle:22 00
+
+
+mem_discovery_timeout:08 07#3min
+mem_mouse_direct_timeout:50 00#8s
+mem_mouse_no_data_timeout:70 17 #10min
+
+
+mem_spi_ncs_gpio:ff
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:1e
+
+mem_device_number:02 #max device number
+mem_24g_device_number:02 #devie 2 :24g mode
+mem_adc_config_flag:01 #0 vinlpm 1 hvin 2 gpio
+mem_adc_channel:32 #gpio5
+mem_mouse_vdd_full_vol:a4 01#4.2v#96 00#1.5v
+18 01#mem_mouse_vdd_empty_vol#2.8v#:5a 00#0.9v
+40 01#mem_mouse_vdd_low_vol#3.7v#:64 00  #1v
+
+mem_config_sensor_type:00
+02 #mem_config_sensor_motion:01
+#1
+06 #mem_lbutton_gpio:16
+14 #mem_rbutton_gpio:14
+07 #mem_mbutton_gpio:15
+07 #mem_bk_button_gpio:ff
+14 #mem_fw_button_gpio:ff
+06 #mem_dpi_button_gpio:05
+#2
+#06 #mem_lbutton_gpio:16
+#14 #mem_rbutton_gpio:14
+#07 #mem_mbutton_gpio:15
+
+#06 #mem_bk_button_gpio:ff
+#07 #mem_fw_button_gpio:ff
+#14 #mem_dpi_button_gpio:05
+
+1c #mem_whee_a_data_gpio:0b
+1b #mem_whee_b_data_gpio:07
+ff #mem_whee_ta_data_gpio:ff
+ff #mem_whee_tb_data_gpio:ff
+ff #mem_config_bt_button_gpio:18
+ff #mem_config_select_device_button_gpio:ff
+ff #mem_config_paraing_led_gpio:ff
+ff #mem_config_low_voltage_alarm_gpio:01
+ff #mem_config_device1_led_gpio:01
+ff #mem_config_device2_led_gpio:04
+ff #mem_config_device3_led_gpio:ff
+ff #mem_sensor_data_gpio:0c
+ff #mem_dpi_led_gpio:01
+00 #mem_config_function_enable
+01 #mem_config_sensor_angle
+05 #mem_select_sensor_angle_gpio
+ff #mem_select_adc_gpio
+
+mem_eeprom_wp_gpio:14
+mem_sensor_reset_gpio:ff
+mem_sensor_squal_reg:07# 07:3205         	06:3610
+mem_usb_offline_check_gpio:ff
+#mem_wire_usb_interval:19 #128
+
+mem_config_function_enable:
+#bit0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+#bit1 ENABLE_MODE_LED
+#bit2 ENABLE_LOW_VOLTAGE_LED
+#bit3 ENABLE_DEVICE_LED
+#bit4 ENABLE_BT_BUTTON
+#bit5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+#bit6 ENABLE_SELECT_DEVICE_BY_SWITCH
+#bit7 ENABLE_SENSOR_MOTION_PIN
+00
+
+mem_mouse_dpi_seting:
+01##mem_320x_dpi_1
+02##mem_320x_dpi_2
+03##mem_320x_dpi_3
+04##mem_320x_dpi_4
+
+15##mem_3212_dpi_1#800
+1a##mem_3212_dpi_2#1000
+2a##mem_3212_dpi_3#1600
+3f##mem_3212_dpi_4#2400
+
+04##mem_3610_dpi_1
+05##mem_3610_dpi_2
+07##mem_3610_dpi_3
+08##mem_3610_dpi_4
+
+mem_mouse_3065xy_dpi_seting:
+00##mem_3065xy_dpi_1
+01##mem_3065xy_dpi_2
+02##mem_3065xy_dpi_3
+03##mem_3065xy_dpi_4
+
+mem_mouse_dpi_blink_count:00
+
+
+mem_ui_led_struct_ptr:mem_mouse_led_type
+mem_ui_led_struct_num:01
+
+
+mem_mouse_le_uuid_sup:
+25 00 02 03 28 01 12 
+26 00 02 4d 2a 07 00 00 00 00 00 00 00 
+27 00 02 02 29 02 00 00
+28 00 02 08 29 02 11 01
+29 00 02 03 28 01 0e 
+2a 00 02 4d 2a 07 00 00 00 00 00 00 00
+2b 00 02 08 29 02 11 02
+
+  
+#24g init
+mem_24g_mode:01#tx
+mem_24g_data_type:01        #mouse 1,kb 2
+mem_24g_max_retry:04#max tx retry
+mem_24g_no_ack:00#with ack
+mem_24g_rx_window:c0 12     #400us
+mem_24g_interval:19
+mem_24g_interval_min:19
+mem_24g_interval_max:1c
+mem_24g_ch_map1:00 13 2c 42
+mem_24g_ch_map2:06 15 36 48
+mem_24g_ch_map3:0f 1a 3a 4c
+mem_24g_ch_map4:11 23 31 4d
+mem_24g_pairing_sm:ff
+mem_24g_paring_addr:20 15 10 05
+#mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+mem_24g_enter_hibernate:80 ee 36 00 00 00 00 00 #300ms
+
+mem_device_flag:
+01
+ff
+ff ff ff ff ff ff
+#mem_device2_type:
+#34
+#11 22 33 44 55 66
+#mem_device3_type:
+#34
+#11 22 33 44 55 66
+
+
+mem_flash_base:00 70 00
+mem_eeprom_base:90 1f
+mem_eeprom_block_size:80
+mem_reconn_times_init:00
+mem_bt_discovey_button_statue:01#default: button up
+mem_empty_count:03
+
+
+mem_mouse_multi_led_gpio:ff
+mem_mouse_multi_led_on_timer_init:14
+mem_mouse_multi_led_blink_timer_init:05
+
+
+#yichip sdp
+#04 0011 0100 1002 1124
+#00 01 00 00
+#36 01 6d
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#24
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#11
+#35
+#03
+#19
+#00
+#11
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#06
+#35
+#09
+#09
+#65
+#6e
+#09
+#00
+#6a
+#09
+#01
+#00
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#11
+#24
+#09
+#01
+#00
+#09
+#00
+#0d
+#35
+#0f
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#13
+#35
+#03
+#19
+#00
+#11
+#09
+#01
+#00
+#25
+#16
+#59
+#69
+#43
+#68
+#69
+#70
+#20
+#42
+#6c
+#75
+#65
+#74
+#6f
+#6f
+#74
+#68
+#20
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#01
+#25
+#05
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#02
+#25
+#06
+#59
+#69
+#43
+#68
+#69
+#70
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#01
+#11
+#09
+#02
+#02
+#08
+#80
+#09
+#02
+#03
+#08
+#21
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#28
+#01
+#09
+#02
+#06
+#35
+#81
+#35
+#7f
+#08
+#22
+#25
+#7b
+#05
+#01
+#09
+#02
+#a1
+#01
+#85
+#02
+#09
+#01
+#a1
+#00
+#05
+#09
+#19
+#01
+#29
+#08
+#15
+#00
+#25
+#01
+#75
+#01
+#95
+#08
+#81
+#02
+#05
+#01
+#09
+#30
+#09
+#31
+#16
+#01
+#f8
+#26
+#ff
+#07
+#75
+#10
+#95
+#02
+#81
+#06
+#09
+#38
+#15
+#81
+#25
+#7f
+#75
+#08
+#95
+#01
+#81
+#06
+#05
+#0c
+#0a
+#38
+#02
+#75
+#08
+#95
+#01
+#81
+#06
+#c0
+#c0
+#05
+#0c
+#09
+#01
+#a1
+#01
+#85
+#03
+#75
+#10
+#95
+#02
+#15
+#01
+#26
+#8c
+#02
+#19
+#01
+#2a
+#8c
+#02
+#81
+#60
+#c0
+#06
+#00
+#ff
+#09
+#01
+#a1
+#01
+#85
+#10
+#75
+#08
+#95
+#06
+#15
+#00
+#26
+#ff
+#00
+#09
+#01
+#81
+#00
+#09
+#01
+#91
+#00
+#c0
+#09
+#02
+#07
+#35
+#08
+#35
+#06
+#09
+#04
+#09
+#09
+#01
+#00
+#09
+#02
+#08
+#28
+#00
+#09
+#02
+#09
+#28
+#01
+#09
+#02
+#0a
+#28
+#01
+#09
+#02
+#0b
+#09
+#01
+#00
+#09
+#02
+#0c
+#09
+#1f
+#40
+#09
+#02
+#0d
+#28
+#00
+#09
+#02
+#0e
+#28
+#01
+#09
+#02
+#0f
+#09
+#00
+#12
+#09
+#02
+#10
+#09
+#00
+#00
+#
+#04 1002 1200 0100 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#03
+#09
+#02
+#01
+#09
+#04
+#6d
+#09
+#02
+#02
+#09
+#b0
+#16
+#09
+#02
+#03
+#09
+#01
+#29
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#00
+#00
+#
+#01 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#05
+#ac
+#09
+#02
+#02
+#09
+#02
+#39
+#09
+#02
+#03
+#09
+#00
+#44
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#
+#03 1101 0003 0100
+#00 01 00 02
+#36 00 2f
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#02
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#01
+#09
+#00
+#04
+#35
+#0c
+#35
+#03
+#19
+#01
+#00
+#35
+#05
+#19
+#00
+#03
+#08
+#01
+#09
+#01
+#00
+#25
+#09
+#53
+#50
+#50
+#20
+#73
+
+
+
+#logi sdp
+#04 1000 0100 0001 1002
+#00 00 00 00
+#36 00 92 
+#09 00 00 0a 00 00 00 00 09 00 01 35 03 19 10 00 09 00 04 35 0d 35 06 
+#19 01 00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 
+#09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 01 00 09 01 00 
+#09 01 00 25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 
+#57 69 72 65 6c 65 73 73 20 4d 6f 75 73 65 20 53 44 50 20 53 65 72 76 65 
+#72 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 35 03 09 01 00
+
+#04 1124 0100 0011 1002
+#00 01 00 00
+#36 01 ee 
+#09 00 00 0a 00 01 00 00 09 00 01 35 03 19 11 24 09 00 04 35 
+#0d 35 06 19 01 00 09 00 11 35 03 19 00 11 09 00 05 35 03 19 10 02 
+#09 00 06 35 09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 11 24 
+#09 01 01 09 00 0d 35 0f 35 0d 35 06 19 01 00 09 00 13 35 03 19 00 11 09 01 
+#00 25 21 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 65 6c 
+#65 73 73 20 4d 6f 75 73 65 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 
+#73 65 09 01 02 25 08 4c 6f 67 69 74 65 63 68 09 02 01 09 01 11 09 02 02 08 80 09 02 
+#03 08 21 09 02 04 28 01 09 02 05 28 01 09 02 06 35 fc 35 fa 08 22 25 f6 05 01 09 02 a1 01 
+#85 02 09 01 a1 00 05 09 19 01 29 08 15 00 25 01 75 01 95 08 81 02 05 01 09 30 09 31 16 01 
+#f8 26 ff 07 75 0c 95 02 81 06 09 38 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75 08 95 01 81 
+#06 c0 c0 05 0c 09 01 a1 01 85 03 05 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06 00 ff 09 01 
+#a1 01 85 10 75 08 95 06 15 00 26 ff 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1 01 85 11 75 
+#08 95 13 15 00 26 ff 00 09 02 81 00 09 02 91 00 c0 05 01 09 06 a1 01 85 04 75 01 95 08 05 07 
+#19 e0 29 e7 15 00 25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95 01 
+#75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07 19 00 29 ff 81 00 c0 05 0c 09 01 a1 01 85 05 
+#15 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95 01 75 06 81 03 c0 09 02 07 35 08 35 
+#06 09 04 09 09 01 00 09 02 09 28 01 09 02 0a 28 01 09 02 0c 09 1f 40 09 02 0d 28 00 09 
+#02 0e 28 01 09 02 0f 09 00 12 09 02 10 09 00 00
+
+#04 1200 0100 0001 1002
+#00 01 00 01
+#36 00 ad 
+#09 00 00 0a 00 01 00 01 09 00 01 35 03 19 12 00 09 00 04 35 0d 35 06 19 01 
+#00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 09 09 65 
+#6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 12 00 09 01 00 09 01 00 
+#25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 
+#65 6c 65 73 73 20 4d 6f 75 73 65 20 50 6e 50 20 53 65 72 76 65 72 09 01 
+#01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 09 01 03 09 
+#02 01 09 04 6d 09 02 02 09 b0 16 09 02 03 09 12 03 09 02 04 28 01 09 02 05 09 00 02 00
+
+
Index: YJX_Only24g/main/program/24g.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/24g.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/24g.prog	(working copy)
@@ -0,0 +1,2647 @@
+ifdef COMPILE_24G
+
+g24_dispatch:
+	bpatch patch16_2,mem_patch16
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_mode
+	rtneq disable_24g
+	beq tx_24g,g24_transmit_process
+	beq rx_24g,g24_receive_process
+	rtn
+
+g24_head_ptr2regc:
+	fetcht 2,mem_24g_head_ptr
+	copy temp,regc
+	rtn
+
+g24_receive_process_init:
+	call g24_receive_init
+	branch g24_mode_switch_init
+
+g24_receive_process:
+	call g24_mode_switch
+	call g24_dongle_work_mode_auto
+	call g24_dongle_bind_mode_auto
+	branch g24_dongle_search_mode_auto
+	
+
+g24_pair_init:
+	//jam 0,mem_24g_pid
+	//jam G24_PAIR_CH,mem_24g_ch
+	call g24_set0_mem_pid
+	setarg G24_PAIR_CH
+	call g24_store_mem_ch
+	call g24_store_mem_pair_txpower
+	//fetch 4,mem_24g_paring_addr
+	//store 4,mem_24g_addr
+	add regc,offset_24g_paring_addr,rega
+	ifetch 4,rega
+	branch g24_store_mem_addr
+		
+g24_ch:
+	call g24_head_ptr2regc
+	add regc,offset_24g_current_ch_number,regb
+	ifetcht 1,regb
+	//fetcht 1,mem_24g_current_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	add regc,offset_24g_current_ch_number,contw
+	//storet 1,mem_24g_current_ch_number
+	branch g24_contw_istoret_1byte
+
+g24_ch_temp_incre_size4:
+	call g24_ch_calc
+	increase 1,temp
+	and_into 3,temp
+	rtn
+
+g24_ch_calc:
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	//fetch 1,mem_24g_addr
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	add regc,offset_24g_ch_map1,pdata
+	//setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	//store 1,mem_24g_ch
+	branch g24_store_mem_ch
+
+g24_set_device_addr:
+	call g24_store_mem_tx_power_temp
+	call otp_enable_chgpump
+	setarg 0x7e2
+	arg mem_temp,rega
+	arg 4,temp
+	call otpd_read_data
+	call otp_disable_chgpump
+	fetch 4,mem_temp	//adc data from otp
+	call g24_store_mem_device_addr
+	//store 4,mem_24g_device_addr	
+	nrtn blank
+	fetch 4,mem_lap
+	//store 4,mem_24g_device_addr
+	branch g24_store_mem_device_addr
+
+g24_transmit_rf_sta_init:
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	setarg 0
+	call g24_store_mem_sync_cnt
+	//jam 0,mem_24g_sync_cnt
+g24_transmit_rf_ctrl_clear:	
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	//store 1,mem_24g_data_type
+	branch g24_store_mem_data_type
+	
+g24_hop_ch_enable:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	//store 1,mem_24g_txpayload
+	branch g24_store_mem_txpayload
+	
+g24_transmit_hop_pac_fail:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_fail_wo_hop
+	beq 2,g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+	
+g24_transmit_hop_pac_fail_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_fail_stage1:
+	add regc,offset_24g_hop_pac_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_hop_pac_retry
+	call g24_store_mem_rf_last_sta
+	//jam 0,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_hop_pac_fail_hop_stage2:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	branch g24_transmit_hop_pac_fail_stage1
+
+g24_transmit_pac_fail_hop_stage3:
+	add regc,offset_24g_txfail_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txfail_cnt
+	increase 1,pdata
+	add regc,offset_24g_txfail_cnt,contw
+	istore 1,contw
+	//store 1,mem_24g_txfail_cnt
+	beq 0x20,g24_tx_attempt_fail
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	beq 1,g24_rf_hop_fastly
+	setarg 1
+	call g24_store_mem_rf_hop_ch
+	//jam 1,mem_24g_rf_hop_ch
+g24_rf_hop_attemp_again:
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	bne 1,g24_transmit_rf_ctrl_clear
+g24_rf_hop_fastly:
+	add regc,offset_24g_hop_fastly_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	call g24_store_mem_hop_fastly_cnt
+	//store 1,mem_24g_hop_fastly_cnt
+	beq 4,g24_rf_hop_fastly_exit
+	call g24_ch
+	call g24_set2_mem_max_retry
+	//jam 2,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_rf_hop_fastly_exit:
+	call g24_set0_mem_hop_fastly_cnt
+	//jam 0,mem_24g_hop_fastly_cnt
+	branch g24_transmit_rf_ctrl_clear
+
+g24_set0_mem_hop_fastly_cnt:
+	setarg 0
+g24_store_mem_hop_fastly_cnt:
+	add regc,offset_24g_hop_fastly_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_transmit_hop_pac_succ_wo_hop:
+	call g24_set2_mem_sync_cnt
+	//jam 2,mem_24g_sync_cnt
+g24_transmit_hop_pac_succ:
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_set1_mem_rf_last_sta
+	//jam 1,mem_24g_rf_last_sta
+	branch g24_transmit_rf_ctrl_clear
+
+g24_transmit_succ_rf_config:
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_hop_pac_succ
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch g24_transmit_rf_sta_init,true
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 1,g24_transmit_hop_pac_succ_wo_hop
+	beq 2,g24_transmit_hop_pac_succ
+	rtn
+
+g24_rf_sta_check:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_rf_laststa_synccnt_check
+	ncall g24_rf_sync_cnt_check,user2
+	rtn
+
+g24_rf_laststa_synccnt_check:
+	disable user2
+	add regc,offset_24g_rf_last_sta,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	setarg 1
+	call g24_store_mem_rf_work_stage
+	//jam 1,mem_24g_rf_work_stage
+	call g24_set4_mem_max_retry
+	//jam 4,mem_24g_max_retry
+	branch enable_user2
+
+g24_rf_sync_cnt_check:
+	add regc,offset_24g_sync_cnt,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_sync_cnt
+	branch g24_rf_hop_attemp,blank
+	increase -1,pdata
+	call g24_store_mem_sync_cnt
+	//store 1,mem_24g_sync_cnt
+	setarg 2
+	call g24_store_mem_rf_work_stage
+	//jam 2,mem_24g_rf_work_stage
+	call g24_ch
+	//jam 4,mem_24g_max_retry
+	branch g24_set4_mem_max_retry
+
+g24_store_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,contw
+	branch g24_contw_istore_1byte
+
+
+g24_rf_hop_attemp:
+	setarg 3
+	call g24_store_mem_rf_work_stage
+	//jam 3,mem_24g_rf_work_stage
+	call g24_fetch_mem_rf_hop_ch
+	//fetch 1,mem_24g_rf_hop_ch
+	nbranch g24_rf_hop_attemp_again,blank
+	call g24_ch
+	//jam 2,mem_24g_max_retry
+g24_set2_mem_max_retry:	
+	setarg 2
+	branch g24_store_mem_max_retry
+
+g24_transmit_process:
+	rtnmark0 mark_24g
+	set1 mark_24g_conext,mark
+	bpatch patch16_3,mem_patch16
+	add regc,offset_24g_tx_without_int,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_tx_without_int
+	beq 1,g24_transmit_without_int
+	call g24_timer_check
+	nbranch g24_transmit_exit,user
+	call g24_interval_calibrate
+g24_transmit_without_int:
+	add regc,offset_24g_tx_without_int,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_tx_without_int
+	call g24_txdata_prep
+	nbranch g24_enter_lpm,user
+	call g24_rf_sta_check
+g24_transmit_start:
+	call g24_transmit_packet
+	call g24_power_ctrl
+g24_transmit_exit:
+	set0 mark_24g_conext,mark
+	rtn
+
+g24_timer_timeout:
+	rtn zero
+	set1 28,pdata
+	rtn
+
+g24_interval_calibrate:
+	add regc,offset_24g_pac_index,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	add regc,offset_24g_pac_index,contw
+	istore 1,contw
+	//store 1,mem_24g_pac_index
+	beq 4,g24_interval_max
+	beq 5,g24_interval_min
+	rtn
+g24_interval_max:
+	add regc,offset_24g_interval_max,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_max
+g24_interval_update:	
+	//store 1,mem_24g_interval
+	add regc,offset_24g_interval,contw
+	branch g24_contw_istore_1byte
+
+g24_interval_min:
+	add regc,offset_24g_pac_index,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_pac_index
+	add regc,offset_24g_interval_min,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_interval_min
+	branch g24_interval_update
+
+g24_txdata_prep:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_pairing_sm
+	bpatch patch16_4,mem_patch16
+	call g24_package_data
+	nbranch g24_txdata_last_pac,user
+	call g24_transmit_prep
+	call g24_power_ctrl_pac_incrs
+g24_txdata_enable_tx:
+	//jam ENSURE_ON_24G,mem_24g_ensure
+	setarg ENSURE_ON_24G
+g24_store_mem_ensure:	
+	add regc,offset_24g_ensure,contw
+	branch g24_contw_istore_1byte
+
+g24_txdata_last_pac:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	rtn
+
+g24_package_data:
+	//rega:length,regb:contr
+	add regc,offset_24g_cb_data,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_data
+	call callback_func
+	nrtn user
+	copy rega,pdata
+	store 1,mem_rega
+	add regc,offset_24g_abort_pac,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_abort_pac
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	fetch 1,mem_rega
+	copy pdata,rega
+	add rega,1,temp
+	arg mem_24g_common_temp+1,contw
+	copy rega,loopcnt
+	copy regb,contr
+	call memcpy
+	arg mem_24g_common_temp,rega
+g24_put_data_in_buff:
+	rtnmark0 mark_24g_conext
+	add regc,offset_24g_datalen,contw
+	istoret 1,contw
+	//storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+g24_transmit_prep:
+// total length
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	increase 2,pdata
+	add regc,offset_24g_txlen,contw
+	istore 1,contw
+	//store 1,mem_24g_txlen
+// data type
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_store_mem_txpayload
+	//store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	add regc,offset_24g_pid,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	add regc,offset_24g_no_ack,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	add regc,offset_24g_datalen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_datalen
+	iforce loopcnt
+	add regc,offset_24g_txbuf,contr
+	//arg mem_24g_txbuf,contr
+	branch memcpy
+
+g24_send_abort_packet:
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_set0_mem_rf_hop_ch
+	//jam 0,mem_24g_rf_hop_ch
+	call g24_power_ctrl_reinit
+	call g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_common_temp
+	call g24_put_data_in_buff_pre
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch g24_transmit_start
+
+g24_put_data_in_buff_pre:
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	branch g24_put_data_in_buff
+
+g24_enter_lpm:
+	add regc,offset_24g_abort_pac,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_abort_pac
+	branch g24_send_abort_packet,blank
+g24_enter_lpm_prepare:
+ 	// some thing need to do and do not enter 24g long sleep
+	add regc,offset_24g_cb_lpm_prepare,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_lpm_prepare
+	branch callback_func
+
+g24_lpm_long_sleep:
+	call g24_head_ptr2regc
+	//fetch 8,mem_24g_enter_hibernate
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	add regc,offset_24g_cb_lpm_before,temp
+	ifetch 2,temp
+	//fetch 2,mem_24g_cb_lpm_before
+	call callback_func
+	add regc,offset_24g_enter_hibernate,temp
+	ifetch 8,temp
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+g24_transmit_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_retry,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_retry
+g24_transmit_loop:
+	call g24_transmit_receive_ack
+	nbranch g24_retransmit,sync
+	nbranch g24_retransmit,user3
+	call g24_ackpayload_parse
+	call g24_power_ctrl_ack_incrs
+g24_transmit_next_packet:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_pid
+	increase 1,pdata
+	call g24_store_mem_pid
+	//store 1,mem_24g_pid
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_paring_mode
+	call g24_transmit_succ_rf_config
+g24_transmit_abandon:
+	setarg 0
+	add regc,offset_24g_txfail_cnt,contw
+	istore 2,contw	//include mem_24g_get_ack_fail
+	//store 1,mem_24g_txfail_cnt
+	//store 1,mem_24g_get_ack_fail
+	//jam ENSURE_OFF_24G,mem_24g_ensure
+	setarg ENSURE_OFF_24G
+	branch g24_store_mem_ensure
+
+	
+g24_transmit_receive_ack:
+	disable user3
+	call g24_transmit
+	call g24_head_ptr2regc
+	add regc,offset_24g_no_ack,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_no_ack
+	beq no_ack_24g,g24_transmit_no_ack	//tx no ack
+	call g24_receive_packet
+	branch g24_end_of_packet
+g24_transmit_no_ack:
+	call g24_end_of_packet
+	branch g24_transmit_next_packet
+
+
+g24_retransmit:
+	bpatch patch16_5,mem_patch16
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	add regc,offset_24g_get_ack_fail,contw
+	istore 1,contw
+	//store 1,mem_24g_get_ack_fail
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,g24_tx_paring_retry
+	add regc,offset_24g_retry,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_retry
+	increase 1,temp
+	add regc,offset_24g_retry,contw
+	istoret 1,contw
+	//storet 1,mem_24g_retry
+	add regc,offset_24g_max_retry,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch g24_transmit_loop,blank
+	bpatch patch16_6,mem_patch16
+	call g24_fetch_mem_rf_work_stage
+	//fetch 1,mem_24g_rf_work_stage
+	beq 3,g24_transmit_pac_fail_hop_stage3
+	add regc,offset_24g_hop_pac_retry,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	add regc,offset_24g_hop_pac_retry,contw
+	istore 1,contw
+	//store 1,mem_24g_hop_pac_retry
+	beq 2,g24_transmit_hop_pac_fail
+	call g24_hop_ch_enable
+	setarg 1
+	call g24_store_mem_max_retry
+	//jam 1,mem_24g_max_retry
+	branch g24_transmit_packet
+
+g24_tx_paring_retry:
+	add regc,offset_24g_get_ack_fail,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	add regc,offset_24g_get_ack_fail,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_get_ack_fail
+	branch g24_stop_24g_mode
+
+g24_tx_attempt_fail:
+	add regc,offset_24g_txfail_cnt,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_txfail_cnt
+g24_stop_24g_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_ackpayload_parse:
+	call g24_read_len_pid_crc
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	add regc,offset_24g_rxbuf_add2,contr
+	//arg mem_24g_rxbuf+2,contr
+	add regc,offset_24g_rxpayload,contw	
+	//arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+
+g24_read_len_pid_crc:
+//read control
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	add regc,offset_24g_rxdata_length,contw
+	istore 1,contw
+	//store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	add regc,offset_24g_rxbuf_add1,contr
+	//arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	add regc,offset_24g_sta_crc,contw
+	istore 3,contw
+	//store 3,mem_24g_sta_crc
+//read pid
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	add regc,offset_24g_sta_pid,contw
+	istore 1,contw
+	//store 1,mem_24g_sta_pid
+	rtn
+
+g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	rtn
+
+g24_set_freq_tx:
+	call set_sync_on
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+g24_transmit:
+	call g24_prep
+	call g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	inject mod,32
+	enable enable_crc
+	add regc,offset_24g_txlen,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_txlen
+	iforce loopcnt
+	add regc,offset_24g_txpayload,contr
+	//arg mem_24g_txpayload,contr
+g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop g24tr_loop
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	bpatch patch16_7,mem_patch16
+	nop 100
+	disable encode_fec0
+	rtn
+
+g24_receive_packet:
+	disable user3
+	force 0,radio_ctrl
+	add regc,offset_24g_ch,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_ch
+	call set_freq_rx
+	call rf_rx_enable
+g24_receive_rxon:
+	call g24_prep
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	call le_enable
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	iforce access
+	enable swfine
+	add regc,offset_24g_rx_window,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch g24_sync_timeout,sync
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	add regc,offset_24g_rxbuf,contw
+	istore 1,contw	
+	//store 1,mem_24g_rxbuf	//device id
+	add regc,offset_24g_mode,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_mode
+	beq rx_24g,g24_receive_skip
+	bpatch patch17_0,mem_patch17
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	add regc,offset_24g_data_type,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch g24_end_of_packet,true
+g24_receive_skip:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch g24rx_nopayload,zero
+g24rx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop g24rx_loop
+g24rx_nopayload:
+	parse demod,bucket,24
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch g24_end_of_packet,crc_failed
+	enable user3
+	disable decode_fec0
+	rtn
+//	branch rssi_signal
+
+g24_end_of_packet:
+	disable encode_fec0
+	disable decode_fec0
+	disable enable_crc
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+
+g24_sync_timeout:
+	call rssi_noise
+	branch g24_end_of_packet
+
+rssi_noise:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_noise_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_index
+	arg mem_rssi_noise_buffer,rega
+	//arg mem_rssi_noise_buf,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_index,contw
+	//storet 1,mem_rssi_noise_index
+g24_contw_istoret_1byte:	
+	istoret 1,contw
+	rtn
+
+rssi_noise_store:
+	arg RSSI_BUF_LEN_NOISE,regb
+	branch rssi_store
+	
+/*	
+rssi_signal:
+	call save_rssi
+	rtn blank
+	add regc,offset_rssi_signal_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_signal_index
+	add regc,offset_rssi_signal_buf,rega
+	//arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL,regb
+	call rssi_store
+	add regc,offset_rssi_signal_index,contw
+	istoret 1,contw	
+	//storet 1,mem_rssi_signal_index
+	rtn
+*/	
+rssi_store:	
+	copy rega,pdata
+	iadd temp,contw
+	fetch 1,mem_rssi
+	istore 1,contw
+	increase 1,temp
+	copy regb,pdata
+	iand_into temp
+	rtn
+	
+rssi_average:
+	arg 0,temp
+	copy rega,contr
+rssi_average_loop:	
+	ifetch 1,contr
+	iadd temp,temp
+	loop rssi_average_loop
+	rshift8 temp,temp
+	rtn
+
+g24_power_ctrl_init:
+	call g24_head_ptr2regc
+	call g24_power_ctrl_incrs_level1
+	setarg 1
+	call g24_store_mem_power_ctrl_level
+	//jam 1,mem_power_ctrl_level
+g24_power_ctrl_reinit:
+	setarg 0
+	call g24_store_mem_power_ctrl_pac
+	//jam 0,mem_power_ctrl_packet_cnt
+	istore 1,contw
+	//jam 0,mem_power_ctrl_ack_cnt
+	rtn
+
+g24_power_ctrl_pac_incrs:
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	increase 1,pdata
+g24_store_mem_power_ctrl_pac:	
+	//store 1,mem_power_ctrl_packet_cnt
+	add regc,offset_power_ctrl_packet_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl_ack_incrs:
+	//fetch 1,mem_power_ctrl_ack_cnt
+	//store 1,mem_power_ctrl_ack_cnt
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetch 1,rega
+	increase 1,pdata
+	add regc,offset_power_ctrl_ack_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_power_ctrl:
+	bpatch patch17_1,mem_patch17
+	call g24_fetch_mem_power_ctrl_pac
+	//fetch 1,mem_power_ctrl_packet_cnt
+	sub pdata,POWER_CTRL_MAX_PACKET_CNT,null
+	rtn positive
+	add regc,offset_power_ctrl_ack_cnt,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_power_ctrl_ack_cnt
+	isub temp,temp	//loss packet cnt
+	call g24_power_ctrl_reinit
+	setarg offset_power_ctrl_threshold_up
+	iadd regc,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_threshold_up
+	isub temp,null
+	nbranch g24_power_ctrl_incrs,positive
+	setarg offset_power_ctrl_threshold_down
+	iadd regc,rega
+	ifetch 1,rega	
+	//fetch 1,mem_power_ctrl_threshold_down
+	isub temp,null
+	branch g24_power_ctrl_decrs,positive
+	rtn
+
+g24_power_ctrl_incrs:	
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 2,g24_power_ctrl_incrs_level2
+	increase 1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 1,g24_power_ctrl_incrs_level1
+g24_power_ctrl_incrs_level2:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP2
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP2,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN2
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN2,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN2,mem_rssi_ctrl_threshold_down
+	add regc,offset_power_ctrl_txpwr_level2,rega
+	//fetch 1,mem_power_ctrl_txpwr_level2
+	branch g24_ifetch_rega_store_mem_txpower
+
+g24_power_ctrl_decrs:
+	add regc,offset_power_ctrl_level,rega
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+	increase -1,pdata
+	call g24_store_mem_power_ctrl_level
+	//store 1,mem_power_ctrl_level
+	beq 0,g24_power_ctrl_decrs_level0
+g24_power_ctrl_decrs_level1:
+//	call rssi_check_distance
+//	nrtn user
+g24_power_ctrl_incrs_level1:
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP1
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP1,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN1
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN1,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN1,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level1
+g24_iadd_offset_mem_txpower:	
+	iadd regc,rega
+g24_ifetch_rega_store_mem_txpower:	
+	ifetch 1,rega
+	//fetch 1,mem_power_ctrl_txpwr_level1
+	branch g24_store_mem_txpower
+	
+g24_power_ctrl_decrs_level0:
+//	call rssi_check_distance
+//	nrtn user
+	setarg POWER_CTRL_LOSSPAC_THRESH_UP0
+	call g24_store_mem_power_ctrl_threshold_up
+	//jam POWER_CTRL_LOSSPAC_THRESH_UP0,mem_power_ctrl_threshold_up
+	setarg POWER_CTRL_LOSSPAC_THRESH_DOWN0
+	call g24_store_mem_power_ctrl_threshold_down
+	//jam POWER_CTRL_LOSSPAC_THRESH_DOWN0,mem_power_ctrl_threshold_down
+//	jam POWER_CTRL_RSSI_THRESH_DOWN0,mem_rssi_ctrl_threshold_down
+	setarg offset_power_ctrl_txpwr_level0
+	//fetch 1,mem_power_ctrl_txpwr_level0
+	branch g24_iadd_offset_mem_txpower
+
+/*
+rssi_check_distance:
+	disable user
+	arg mem_rssi_signal_buf,rega
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+	call rssi_average
+	storet 1,mem_rssi_signal_avg
+	fetch 1,mem_rssi_ctrl_threshold_down
+	isub temp,null
+	branch enable_user,positive
+	rtn
+*/
+g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call g24_pair_init
+g24_set_pairing_sm_1:
+	//jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	setarg STATE_24G_PAIRING_1
+	branch g24_store_mem_pairing_sm
+
+g24_pairing_sm:
+	add regc,offset_24g_ensure,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,g24_pairing_sm_3
+	branch assert
+
+g24_pairing_sm_1:
+	setarg STATE_24G_PAIRING_1_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_2:
+	setarg STATE_24G_PAIRING_2_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch g24_pairing_sm_common
+g24_pairing_sm_3:
+	setarg STATE_24G_PAIRING_3_WAITING_ACK
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+g24_pairing_sm_common:
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	call g24_fetch_mem_device_addr
+	//fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call g24_put_data_in_buff	
+	call g24_transmit_prep
+	call g24_txdata_enable_tx
+	branch enable_user
+
+g24_paring_mode:
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,g24_pairing_sm_3_waiting_ack
+	rtn
+
+g24_pairing_sm_1_waiting_ack:
+	setarg STATE_24G_PAIRING_2
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_2_waiting_ack:
+	setarg STATE_24G_PAIRING_3
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch g24_transmit_abandon
+g24_pairing_sm_3_waiting_ack:
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_rxpayload+2
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_transmit_abandon
+
+g24_auto_pair_start:
+	set0 mark_24g,mark
+	call g24_auto_pair_set_device_info
+	call g24_tx_attemp_data_prep
+g24_auto_pair_restart:	
+	call g24_set0_mem_check_dongle_times
+g24_auto_pair_start_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_auto_pair_retry,sync
+	nbranch g24_auto_pair_retry,user3
+	call g24_ackpayload_parse
+	call g24_head_ptr2regc
+	add regc,offset_24g_paring_addr,rega
+	ifetcht 4,rega
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_start_pairing_sm1,zero
+	call g24_head_ptr2regc
+	add regc,offset_24g_rxpayload_add2,rega
+	ifetch 4,rega
+	beq 0,g24_auto_pair_restart
+	call g24_store_mem_addr
+	branch g24_tx_attemp_dongle_succ
+
+g24_auto_pair_retry:
+	call g24_fetch_mem_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+
+	call g24_fetch_mem_auto_paring_switch
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_auto_paring_switch
+	beq 0,g24_auto_pair_device_attemp
+	beq 1,g24_auto_pair_pair_attemp
+	rtn
+
+g24_fetch_mem_auto_paring_switch:
+	setarg offset_24g_auto_pair_switch
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_auto_paring_switch:
+	arg offset_24g_auto_pair_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_auto_pair_set_device_info:
+	call g24_store_mem_tx_power
+	call g24_fetch_mem_device_addr
+	call g24_store_mem_addr
+	branch g24_ch
+
+g24_auto_pair_device_attemp:
+	call g24_auto_pair_set_device_info
+	branch g24_auto_pair_start_loop
+
+g24_auto_pair_pair_attemp:
+	call g24_pair_init
+	branch g24_auto_pair_start_loop
+
+
+g24_start_24g_mode:
+	set0 mark_24g,mark
+	call g24_ch
+	call g24_fetch_mem_pairing_sm
+	//fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call g24_tx_attemp_data_prep
+	call g24_set0_mem_check_dongle_times
+	//jam 0,mem_24g_check_dongle_times
+g24_tx_attemp_dongle_loop:
+	nop 2000
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	beq 0xff,g24_stop_24g_mode
+	call g24_transmit_receive_ack
+	nbranch g24_attemp_txdata_retry,sync
+	nbranch g24_attemp_txdata_retry,user3
+g24_tx_attemp_dongle_succ:	
+	set1 mark_24g,mark
+	call g24_set0_mem_check_dongle_times
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam 0,mem_24g_check_dongle_times
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+g24_tx_attemp_data_prep:
+	set1 mark_24g_conext,mark
+	jam 0xff,mem_24g_common_temp
+	call g24_fetch_mem_data_type
+	//fetch 1,mem_24g_data_type
+	call g24_put_data_in_buff_pre
+	branch g24_transmit_prep
+	
+g24_attemp_txdata_retry:
+	call g24_fetch_mem_check_dongle_times
+	//fetch 1,mem_24g_check_dongle_times
+	increase 1,pdata
+	call g24_store_mem_check_dongle_times
+	//store 1,mem_24g_check_dongle_times
+	call g24_ch
+	branch g24_tx_attemp_dongle_loop
+
+g24_check_51cmd_start_24g:
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	setarg STATE_24G_PAIRING_SUCCESS
+	call g24_store_mem_pairing_sm
+	//jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	branch g24_start_24g_mode
+/*	
+g24_check_51cmd_stop_24g:
+	call g24_store_mem_tx_power
+	set0 mark_24g,mark
+	branch le_disable
+*/
+
+
+dongle_init:
+	bpatch patch17_2,mem_patch17
+	call g24_head_ptr2regc
+	setarg dongle_rxdata_type1
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+	//store 2,mem_24g_cb_rxdata_type1
+	call g24_receive_init
+	call usb_init
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	bpatch patch17_3,mem_patch17
+	beq 0x00,dongle_auto_bind
+	beq 0x01,dongle_pc_bind
+	beq 0x0f,dongle_all_powerful
+	branch assert
+
+g24_receive_init:
+	call g24_store_mem_tx_power_temp
+	arg 0x80,loopcnt
+	arg mem_rssi_noise_buffer,contw
+	branch memset0
+
+dongle_all_powerful:
+	call dongle_check_mode
+dongle_all_powerful_loop:
+	call g24_dongle_work_mode
+	call usb_isr
+	branch dongle_all_powerful_loop
+
+dongle_pc_bind:
+	bpatch patch17_4,mem_patch17
+	call dongle_check_mode
+dongle_pc_bind_loop:	
+	call g24_dongle_work_mode
+	call g24_dongle_bind_mode
+	call usb_isr
+	call dongle_usb_dispatch
+	branch dongle_pc_bind_loop
+
+dongle_check_mode:
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//jam 0,mem_24g_ackpayload_enable
+	call g24_set_work_mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	branch g24_set0_mem_ackpayload_enable
+	
+g24_dongle_work_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+g24_dongle_work_mode_start:
+	call g24_dongle_work_init
+	call g24_ch_process
+	call g24_receive_packet_start
+	branch g24_blank_data_process
+
+g24_dongle_work_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_WORK
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_store_mem_tx_power
+	//fetch 1,mem_tx_power_temp
+	//store 1,mem_tx_power
+	call g24_set0_mem_ackpayload_enable
+	//jam 0,mem_24g_ackpayload_enable
+	jam 0,mem_usb_tx_enable
+	call g24_set1_mem_abort_pac
+	//jam 1,mem_24g_abort_pac
+	call g24_dongle_init
+g24_rx_interrupt_clear:
+	add regc,offset_24g_rxbuf,contw
+	//arg mem_24g_rxbuf,contw
+	arg 66,loopcnt
+	branch clear_mem
+
+g24_dongle_init:
+	call g24_set0_mem_pid
+	//jam 0,mem_24g_pid
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	branch g24_ch
+
+g24_ch_process:
+	bpatch patch17_5,mem_patch17
+	call g24_fetch_mem_abort_pac
+	//fetch 1,mem_24g_abort_pac
+	beq 1,g24_noise_rssi
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	beq 1,g24_ch	
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetcht 4,rega
+	//fetcht 4,mem_24g_hop_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	setarg offset_24g_hop_btclk
+	iadd regc,rega
+	ifetch 4,rega
+	copy pdata,temp
+	//fetch 4,mem_24g_hop_btclk
+	setarg offset_24g_hop_interval
+	iadd regc,rega
+	copy temp,pdata
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_hop_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	setarg offset_24g_hop_btclk
+	iadd regc,contw
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+g24_ch_update:
+	call g24_ch
+	call g24_fetch_mem_rf_laststa
+	//fetch 1,mem_24g_rf_laststa
+	increase 1,pdata
+	call g24_store_mem_rf_laststa
+	//store 1,mem_24g_rf_laststa
+	rtnne 2
+	call g24_set0_mem_rf_laststa
+	//jam 0,mem_24g_rf_laststa
+	//jam 1,mem_24g_abort_pac
+	//rtn
+	branch g24_set1_mem_abort_pac
+	
+g24_ch_timer_reinit:
+	copy clkn_bt,pdata
+	arg offset_24g_hop_btclk,rega
+	call g24_set_contw_with_temp
+	istore 4,contw
+	//store 4,mem_24g_hop_btclk
+	//jam 0,mem_24g_rf_laststa
+	//rtn
+	branch g24_set0_mem_rf_laststa
+
+g24_noise_rssi:
+	arg mem_rssi_noise_buffer,rega
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive	
+	branch g24_ch
+
+g24_noise_rssi_average:
+	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+	branch rssi_average
+
+g24_blank_data_process:
+	call g24_ms_blank_data
+	call g24_kb_blank_data
+	branch g24_kb_mul_blank_data
+
+g24_ms_blank_data:
+	setarg offset_24g_ms_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_blank_data_enable
+	rtn blank
+	arg TIMER_MS_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+g24_ms_blank_data_2usb:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data
+	setarg 0
+	istore 7,contw
+	branch g24_data_type1_usbtx_enable
+
+g24_kb_blank_data:
+	setarg offset_24g_kb_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_blank_data_enable
+	rtn blank
+	arg TIMER_KB_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+g24_kb_blank_data_2usb:	
+	arg mem_usb_kb_data,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_NORMAL_REPORT_ID,mem_usb_kb_data
+	branch g24_kb_data_into_ep1_fifo
+
+g24_kb_mul_blank_data:
+	setarg offset_24g_kb_mul_blank_data_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_mul_blank_data_enable
+	rtn blank
+	arg TIMER_KB_MUL_BLANK,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_blank_data_2usb:
+	arg mem_usb_kb_multikey,contw
+	arg 2,loopcnt
+	call memset0
+	jam KB_MULTIKEY_REPORT_ID,mem_usb_kb_multikey
+	branch g24_kb_mul_data_into_ep2_fifo
+
+g24_dongle_bind_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	branch g24_dongle_bind_data_process
+
+g24_dongle_bind_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_BIND
+	set1 DONGLE_BIND,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	call g24_pair_init
+	setarg 0
+	arg offset_dongle_ms_bind_step,rega
+	call g24_set_contw_with_temp
+	//store 3,mem_dongle_ms_bind_step
+	branch g24_contw_istore_3byte
+
+g24_dongle_bind_data_process:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3	
+	add regc,offset_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	arg 8,loopcnt
+	call memcpy
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	beq DATATYPE_BIND,g24_dongle_bind_first_step	//bind step 1
+	beq DATATYPE_CONFIG,g24_dongle_bind_second_step
+	beq DATATYPE_OK,g24_dongle_bind_third_step
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_first_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_first_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_first_step_keyboard
+	rtn
+g24_dongle_bind_first_step_mouse:
+	setarg 1
+	call g24_store_mem_ms_bind_step
+	//jam 1,mem_dongle_ms_bind_step
+g24_dongle_bind_ms_payload_cfg:
+	setarg DATATYPE_MOUSE
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_MOUSE,mem_24g_bind_payload
+g24_dongle_bind_payload_cfg:	
+	setarg 0x80
+	arg offset_24g_bind_payload_add1,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 0x80,mem_24g_bind_payload+1
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	arg offset_24g_bind_payload_add2,rega
+	call g24_set_contw_with_temp
+	//store 4,mem_24g_bind_payload+2
+	branch g24_contw_istore_4byte
+
+g24_dongle_bind_first_step_keyboard:
+	setarg 1
+	call g24_store_mem_kb_bind_step
+	//jam 1,mem_dongle_kb_bind_step
+g24_dongle_bind_kb_payload_cfg:
+	setarg DATATYPE_KEYBOARD
+	call g24_store_mem_bind_payload
+	//jam DATATYPE_KEYBOARD,mem_24g_bind_payload
+	branch g24_dongle_bind_payload_cfg
+		
+g24_dongle_bind_second_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_second_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_second_step_keyboard
+	rtn
+g24_dongle_bind_second_step_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 1,g24_dongle_ms_bind_step_set2
+	rtn
+g24_dongle_ms_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_ms_bind_step
+g24_store_mem_ms_bind_step:
+	arg offset_dongle_ms_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_dongle_bind_second_step_keyboard:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	beq 1,g24_dongle_kb_bind_step_set2
+	rtn
+g24_dongle_kb_bind_step_set2:
+	setarg 2
+	//jam 2,mem_dongle_kb_bind_step
+g24_store_mem_kb_bind_step:
+	arg offset_dongle_kb_bind_step,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_dongle_bind_third_step:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	beq BIND_MOUSE,g24_dongle_bind_third_step_mouse
+	beq BIND_KEYBOARD,g24_dongle_bind_third_step_keyboard
+	rtn
+g24_dongle_bind_third_step_mouse:
+	setarg offset_dongle_ms_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_ms_bind_step
+	beq 2,g24_dongle_ms_bind_step_success
+	rtn
+g24_dongle_ms_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x01,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+g24_dongle_bind_exit:	
+	setarg 0
+	setarg offset_dongle_ms_bind_step
+	iadd regc,contw
+	istore 2,contw
+	branch g24_rx_interrupt_clear
+
+g24_dongle_bind_third_step_keyboard:
+	setarg offset_dongle_kb_bind_step
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_dongle_kb_bind_step
+	bne 0,g24_dongle_kb_bind_step_success
+	rtn
+g24_dongle_kb_bind_step_success:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	or_into 0x02,pdata
+	call g24_store_mem_bind_device_status
+	//store 1,mem_dongle_bind_device_status
+	branch g24_dongle_bind_exit
+
+	
+dongle_usb_dispatch:
+	fetch 1,mem_usb0_get_set_report
+	rtn blank
+	jam 0,mem_usb0_get_set_report
+	fetch 2,mem_usb_setup_bValue_temp
+	arg PC_SET_REPORT,temp
+	isub temp,null
+	nrtn zero
+	//get usb host command
+	fetch 1,mem_usb0_set_report_data
+	rtnne PC_REPORT_ID
+	fetch 1,mem_usb0_set_report_data+1
+	bpatch patch17_6,mem_patch17
+	beq COMMAND_MODE,dongle_dispose_cmd_mode
+	beq COMMAND_BIND,dongle_dispose_cmd_bind
+	beq COMMAND_CURRENT_PROJECT,dongle_dispose_cmd_current_project
+	beq COMMAND_CURRENT_MODE,dongle_dispose_cmd_current_mode
+	beq COMMAND_CURRENT_FW_VERSION,dongle_dispose_cmd_current_fw_version
+	beq COMMAND_USER_DEFINED,dongle_dispose_cmd_user_defined
+usb0_data_ready_report_set0:
+	jam 0,mem_usb0_data_ready_report
+	rtn
+dongle_dispose_cmd_bind:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_BIND_GET,dongle_dispose_cmd_get_bind
+	beq COM_BIND_EXIT,dongle_dispose_cmd_exit_bind
+	beq COM_READ_MODE,dongle_dispose_cmd_read_mode
+	branch usb0_data_ready_report_set0
+dongle_dispose_cmd_get_bind:
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+dongle_dispose_cmd_exit_bind:
+	call g24_set_work_mem_dongle_work_mode
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_read_mode:
+dongle_dispose_in_bind_mode:
+	jam COMMAND_BIND,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_mode:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_MODE_BIND,dongle_enter_bind_mode
+//	beq COM_MODE_TEST,dongle_enter_test_mode
+	branch usb0_data_ready_report_set0
+dongle_enter_bind_mode:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	call g24_bind_mode_enable
+usb0_data_ready_report_set1:
+	jam 1,mem_usb0_data_ready_report
+	rtn
+//dongle_enter_test_mode:
+//	jam DONGLE_TEST,mem_dongle_work_mode
+//	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_project:
+	jam PRODUCT_ID,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_current_mode:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	beq DONGLE_WORK,dongle_dispose_in_work_mode
+	beq DONGLE_BIND,dongle_dispose_in_bind_mode
+//	beq DONGLE_TEST,dongle_dispose_in_test_mode
+	rtn
+dongle_dispose_in_work_mode:
+	jam COMMAND_MODE,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+//dongle_dispose_in_test_mode:
+//	jam COMMAND_TEST,mem_usb0_get_report_data+1
+//	branch usb0_data_ready_report_set1
+	
+dongle_dispose_cmd_current_fw_version:
+	jam FW_VERSION0,mem_usb0_get_report_data+1
+	jam FW_VERSION1,mem_usb0_get_report_data+2
+	jam FW_VERSION2,mem_usb0_get_report_data+3
+	branch usb0_data_ready_report_set1
+
+dongle_dispose_cmd_user_defined:
+	//report_id|cmd|data_len|data
+	call g24_set1_mem_ackpayload_enable
+	fetch 1,mem_usb0_set_report_data+2	//data_len:max 30bytes
+	increase 2,pdata
+	copy pdata,loopcnt
+	arg mem_usb0_set_report_data,contr
+	setarg offset_24g_ackpayload
+	iadd regc,contw
+	branch memcpy
+
+
+dongle_auto_bind:
+	bpatch patch17_7,mem_patch17
+	call g24_mode_switch_init
+dongle_auto_bind_loop:
+	call g24_receive_process
+	call usb_isr
+	branch dongle_auto_bind_loop
+
+g24_dongle_work_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+	call g24_dongle_work_mode_start
+	branch g24_rx_nodata_process
+
+g24_dongle_bind_mode_auto:
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call g24_dongle_bind_init
+	call g24_dongle_bind_data_process
+	call g24_fetch_mem_bind_device_status
+	//fetch 1,mem_dongle_bind_device_status
+	rtn blank
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call dongle_check_mode
+	call g24_enable_nodata_timer
+g24_timer_init:
+	setarg 0
+	add regc,offset_24g_tx_btclk,contw
+	//store 4,mem_24g_tx_btclk
+	branch g24_contw_istore_4byte
+
+g24_timer_check:
+	call disable_user
+	add regc,offset_24g_tx_btclk,rega
+	ifetcht 4,rega	
+	//fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	add regc,offset_24g_tx_btclk,rega
+	ifetch 4,rega
+	//fetch 4,mem_24g_tx_btclk
+	add regc,offset_24g_interval,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	add regc,offset_24g_tx_btclk,contw
+	istore 4,contw
+	//store 4,mem_24g_tx_btclk
+	branch enable_user
+
+g24_mode_switch_init:
+	setarg 1
+	call g24_store_mem_mode_switch
+	//jam 1,mem_24g_mode_switch
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	setarg 0xff
+	add regc,offset_24g_interval,contw
+	istore 1,contw
+	//jam 0xff,mem_24g_interval
+	branch g24_timer_init
+
+g24_mode_switch:
+	setarg offset_24g_mode_switch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_mode_switch
+	rtn blank
+	call g24_timer_check
+	nrtn user
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 1,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	beq 0,dongle_check_mode
+	beq 1,g24_bind_mode_enable
+	rtn
+
+g24_bind_mode_enable:
+	//jam DONGLE_BIND,mem_dongle_work_mode
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	//rtn
+	setarg DONGLE_BIND
+	call g24_store_mem_dongle_work_mode
+	branch g24_set0_mem_dongle_mode_init
+
+g24_enable_nodata_timer:
+	setarg 1
+	call g24_store_mem_nodata_timer_enable
+	//jam 1,mem_24g_nodata_timer_enable
+g24_enable_nodata_timer_init:
+	setarg TIMER_NODATA_DELAY
+	arg TIMER_NODATA,queue
+	branch timer_init
+
+g24_rx_nodata_process:
+	call g24_fetch_mem_nodata_timer_enable
+	//fetch 1,mem_24g_nodata_timer_enable
+	rtn blank
+	arg TIMER_NODATA,queue
+	call timer_check
+	nrtn blank
+	call g24_set0_mem_nodata_timer_enable
+	//jam 0,mem_24g_nodata_timer_enable
+	//no data for more than 100ms,then go to search
+	setarg DONGLE_SEARCH
+	call g24_store_mem_dongle_work_mode	
+	//jam DONGLE_SEARCH,mem_dongle_work_mode
+	call g24_set0_mem_dongle_mode_init
+	//jam CLEAR_INIT,mem_dongle_mode_init
+	branch g24_rx_interrupt_clear
+
+g24_dongle_search_mode_auto:
+	bpatch patch18_0,mem_patch18
+	call g24_fetch_mem_dongle_work_mode
+	//fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_SEARCH
+	call g24_dongle_search_mode_init
+	call g24_rx_auto_addr_ch_search
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	//dongle addr,then parse rxdata
+	call g24_dongle_search_addr_check
+	call g24_receive_packet_parse,zero
+	//receive data,then go to paired
+	//jam DONGLE_WORK,mem_dongle_work_mode
+	//jam 0,mem_24g_ackpayload_enable
+	call dongle_check_mode
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	set1 DONGLE_WORK,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_rx_interrupt_clear
+	call g24_enable_nodata_timer
+	call g24_dongle_search_addr_check
+	branch g24_dg_ch_num_reinit,zero
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_kb_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_kb_ch_num_reinit,zero		
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_mouse_addr
+	call g24_fetch_mem_addr_isub_temp
+	branch g24_ms_ch_num_reinit,zero
+	rtn
+
+g24_dongle_search_addr_check:
+	setarg offset_24g_rx_addr
+	call g24_set_rega_ifetcht_4byte
+	//fetcht 4,mem_24g_rx_addr
+g24_fetch_mem_addr_isub_temp:
+	call g24_fetch_mem_addr
+	//fetch 4,mem_24g_addr
+	isub temp,null
+	rtn
+
+g24_dg_ch_num_reinit:
+	setarg offset_24g_dg_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_ch_number
+g24_current_ch_num_reinit:
+	//store 1,mem_24g_current_ch_number
+	add regc,offset_24g_current_ch_number,contw
+	branch g24_contw_istore_1byte
+
+g24_kb_ch_num_reinit:
+	setarg offset_24g_kb_ch_number
+	call g24_set_rega_ifetch_1byte	
+	//fetch 1,mem_24g_kb_ch_number
+	branch g24_current_ch_num_reinit
+g24_ms_ch_num_reinit:
+	setarg offset_24g_ms_ch_number
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_ch_number
+	branch g24_current_ch_num_reinit
+
+g24_dongle_search_mode_init:
+	call g24_fetch_mem_dongle_mode_init
+	//fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_SEARCH
+	set1 DONGLE_SEARCH,pdata
+	call g24_store_mem_dongle_mode_init
+	//store 1,mem_dongle_mode_init
+	call g24_set0_mem_time_slice
+	//jam 0,mem_24g_time_slice
+	call g24_set1_mem_ackpayload_enable
+	//jam 1,mem_24g_ackpayload_enable
+	setarg 0
+	add regc,offset_rssi_noise_dg_index,contw
+	istore 3,contw
+	//store 3,mem_rssi_noise_dg_index
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_temp
+	istore 7,contw
+	//store 7,mem_24g_dg_config_ch_once
+
+	call g24_dongle_search_addr_check
+	nrtn zero
+	add regc,offset_24g_current_ch_number,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_current_ch_number
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb_store_1byte
+	//store 1,mem_24g_dg_ch_number
+	add regc,offset_24g_ch,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_ch
+	//store 1,mem_24g_dg_last_ch
+	branch g24_store_mem_dg_last_ch
+
+g24_rx_auto_addr_ch_search:
+	bpatch patch18_1,mem_patch18
+	call g24_fetch_mem_time_slice
+	//fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 3,pdata
+	call g24_store_mem_time_slice
+	//store 1,mem_24g_time_slice
+	//pairing address and channel come first
+	beq 0,g24_rx_auto_bind_config_kb
+	beq 1,g24_rx_auto_bind_config_dongle
+	beq 2,g24_rx_auto_bind_config_mouse
+	beq 3,g24_rx_auto_bind_config_dongle
+	rtn
+
+g24_rx_auto_bind_config_mouse:
+	call g24_dongle_bind_ms_payload_cfg
+	setarg offset_24g_mouse_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_mouse_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_ms_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_config_ch_once
+	call g24_ms_config_ch_once,blank
+	setarg offset_24g_ms_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ms_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_ms_index,rega
+	ifetcht 1,rega
+	//fetcht 1,mem_rssi_noise_ms_index
+	arg mem_rssi_noise_ms_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_ms_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_ms_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_ms_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_ms_ch_number	
+	call g24_set_rega_ifetcht_1byte
+	//fetcht 1,mem_24g_ms_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_ms_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_ms_ch_number
+g24_store_mem_ms_last_ch:
+	//store 1,mem_24g_ms_last_ch
+	arg offset_24g_ms_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_ms_config_ch_once:
+	setarg 1
+	arg offset_24g_ms_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_ms_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_ms_last_ch
+	//rtn
+	branch g24_store_mem_ms_last_ch
+	
+g24_rx_auto_bind_config_kb:
+	call g24_dongle_bind_kb_payload_cfg
+	setarg offset_24g_kb_addr
+	call g24_set_rega_ifetch_4byte
+	//fetch 4,mem_24g_kb_addr
+	branch g24_rx_auto_addr_ch_search,blank
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_kb_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_config_ch_once
+	call g24_kb_config_ch_once,blank
+	setarg offset_24g_kb_last_ch
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_kb_last_ch
+	call g24_store_mem_ch
+	//store 1,mem_24g_ch
+	add regc,offset_rssi_noise_kb_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_kb_index
+	arg mem_rssi_noise_kb_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_kb_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_kb_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_kb_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_kb_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_kb_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_kb_ch_number,rega
+	call g24_set_contw_with_regb2	
+	istoret 1,contw
+	//storet 1,mem_24g_kb_ch_number
+g24_store_mem_kb_last_ch:
+	//store 1,mem_24g_kb_last_ch
+	arg offset_24g_kb_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_kb_config_ch_once:
+	setarg 1
+	arg offset_24g_kb_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+	//jam 1,mem_24g_kb_config_ch_once
+	arg 0,temp
+	call g24_ch_calc
+	//store 1,mem_24g_kb_last_ch
+	//rtn
+	branch g24_store_mem_kb_last_ch
+
+g24_rx_auto_bind_config_dongle:
+	call g24_dongle_bind_ms_payload_cfg
+	call g24_fetch_mem_rx_addr
+	//fetch 4,mem_24g_rx_addr
+	call g24_store_mem_addr
+	//store 4,mem_24g_addr
+	setarg offset_24g_dg_config_ch_once
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_dg_config_ch_once
+	call g24_dg_config_ch_once,blank
+	call g24_dg_store_config_ch
+	add regc,offset_rssi_noise_dg_index,rega
+	ifetcht 1,rega	
+	//fetcht 1,mem_rssi_noise_dg_index
+	arg mem_rssi_noise_dg_buffer,rega
+	call rssi_noise_store
+	add regc,offset_rssi_noise_dg_index,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_index
+	call g24_noise_rssi_average
+	add regc,offset_rssi_noise_dg_avg,contw
+	istoret 1,contw
+	//storet 1,mem_rssi_noise_dg_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	setarg offset_24g_dg_ch_number	
+	call g24_set_rega_ifetcht_1byte	
+	//fetcht 1,mem_24g_dg_ch_number
+	call g24_ch_temp_incre_size4 //map size =4
+	arg offset_24g_dg_ch_number,rega
+	call g24_set_contw_with_regb2
+	istoret 1,contw
+	//storet 1,mem_24g_dg_ch_number
+g24_store_mem_dg_last_ch:
+	//store 1,mem_24g_dg_last_ch
+	//rtn
+	arg offset_24g_dg_last_ch,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+
+g24_dg_config_ch_once:
+	//jam 1,mem_24g_dg_config_ch_once
+	//fetch 1,mem_24g_dg_last_ch
+	//store 1,mem_24g_ch
+	//rtn
+	setarg 1
+	arg offset_24g_dg_config_ch_once,rega
+	call g24_set_contw_with_regb_store_1byte
+g24_dg_store_config_ch:
+	setarg offset_24g_dg_last_ch
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_ch
+
+
+g24_transmit_ack:
+//data type
+	add regc,offset_24g_rxbuf,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxbuf
+	call g24_store_mem_data_type
+	//store 1,mem_24g_data_type
+//read len pid crc
+	call g24_read_len_pid_crc
+//read ack
+	call g24_fetch_mem_rxbuf_add1
+	//fetch 1,mem_24g_rxbuf+1
+	isolate1 bit_ack_24g,pdata
+	branch g24tx_no_ack,true
+g24tx_with_ack:
+	call g24_ackpayload_prep
+	call g24_transmit_prep
+	call g24_transmit
+g24tx_no_ack:
+	branch g24_end_of_packet
+
+g24_ackpayload_prep:
+	bpatch patch18_2,mem_patch18
+	add regc,offset_24g_datalen,contw
+	call g24_mem_set0
+	//jam 0,mem_24g_datalen
+	setarg offset_24g_ackpayload_enable
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_ackpayload_enable
+	rtn blank
+	setarg 0x06
+	add regc,offset_24g_datalen,contw
+	istore 1,contw
+	//jam 0x06,mem_24g_datalen
+	arg 0x06,loopcnt
+	setarg offset_24g_bind_payload
+	iadd regc,contr
+	//arg mem_24g_bind_payload,contr
+	add regc,offset_24g_txbuf,contw
+	//arg mem_24g_txbuf,contw
+	branch memcpy
+
+
+g24_receive_packet_start:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+	branch g24_receive_packet_parse
+
+g24_receive_transmit_ack:
+	call g24_rx_interrupt_clear
+	call g24_receive_packet
+	nrtn user3
+	branch g24_transmit_ack
+
+g24_receive_packet_parse:
+	bpatch patch18_3,mem_patch18
+	call g24_receive_packet_parse_pid_crc
+	nbranch g24_rx_interrupt_clear,user
+	add regc,offset_24g_rxdata_length,rega
+	ifetch 1,rega
+	//fetch 1,mem_24g_rxdata_length
+	branch g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	add regc,offset_24g_rxbuf,contr
+	//arg mem_24g_rxbuf,contr
+	setarg offset_24g_rxdata_temp
+	iadd regc,contw
+	//arg mem_24g_rxdata_temp,contw
+	call memcpy
+	call g24_set0_mem_mode_switch
+	//jam 0,mem_24g_mode_switch
+	call g24_fetch_mem_pair_mode
+	//fetch 1,mem_24g_pair_mode
+	call g24_enable_nodata_timer,blank
+	setarg offset_24g_rxdata_temp_add2
+	call g24_set_rega_ifetch_1byte
+	//fetch 1,mem_24g_rxdata_temp+2
+	beq 0x01,g24_data_type1
+	beq 0x02,g24_data_type2
+	beq 0x03,g24_data_type3
+	beq 0xff,g24_data_attemp
+	branch g24_rx_interrupt_clear
+
+g24_receive_packet_parse_pid_crc:
+	call g24_head_ptr2regc
+	call disable_user
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega		
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,rega
+	ifetcht 1,rega		
+	//fetcht 1,mem_24g_last_pid
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_pid,rega
+	ifetch 1,rega	
+	//fetch 1,mem_24g_sta_pid
+	add regc,offset_24g_last_pid,contw
+	istore 1,contw	
+	//store 1,mem_24g_last_pid
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega	
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,rega
+	ifetcht 3,rega	
+	//fetcht 3,mem_24g_last_crc
+	isub temp,null
+	ncall enable_user,zero
+	add regc,offset_24g_sta_crc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_sta_crc
+	add regc,offset_24g_last_crc,contw
+	//store 3,mem_24g_last_crc
+	branch g24_contw_istore_3byte
+
+g24_data_type1:
+	call g24_ch_timer_reinit
+	call g24_fetch_mem_abort_pac
+	store 1,mem_temp
+	//fetch 1,mem_24g_abort_pac
+	call g24_fetcht_mem_rxdata_temp
+	fetch 1,mem_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	add regc,offset_24g_abort_pac,contw
+	istore 1,contw
+	//store 1,mem_24g_abort_pac
+	beq 1,g24_data_attemp_mouse
+	call g24_fetch_mem_hop_pac
+	//fetch 1,mem_24g_hop_pac
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_hop,temp
+	setflag true,0,pdata
+	call g24_store_mem_hop_pac
+	//store 1,mem_24g_hop_pac
+	add regc,offset_24g_cb_rxdata_type1,rega
+	ifetch 2,rega
+	//fetch 2,mem_24g_cb_rxdata_type1
+	branch callback_func
+
+dongle_rxdata_type1:
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	istore 7,contw
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	ncall g24_ms_enable_blank_data_forcibly,blank//get kb data
+	call g24_fetch_mem_rxdata_temp_add3_7byte
+	//fetch 7,mem_24g_rxdata_temp+3	//key
+	call g24_ms_disable_blank_data_forcibly,blank
+g24_data_type1_usbtx_enable:
+	jam USB_EP2_MS,mem_usb_ep2_data
+g24_data_type1_usbtx_enable_ep2:	
+	fetch 1,mem_usb_tx_enable
+	set1 2,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+	
+g24_ms_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_ms_blank_data_enable	
+	//jam 1,mem_24g_ms_blank_data_enable
+g24_ms_enable_blank_data_timer:
+	setarg TIMER_MS_BLANK_DELAY
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+g24_ms_disable_blank_data_forcibly:
+	call g24_set0_mem_ms_blank_data_enable
+	//jam 0,mem_24g_ms_blank_data_enable
+g24_ms_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_MS_BLANK,queue
+	branch timer_init
+	
+g24_data_type2:
+	call g24_fetcht_mem_rxdata_temp
+	//fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	branch g24_data_attemp_kbd,true
+	arg mem_usb_kb_data,contw
+	call g24_data_type2_reverse_data
+	fetch 8,mem_usb_kb_data
+	ncall g24_kb_enable_blank_data_forcibly,blank//get kb data
+	fetch 8,mem_usb_kb_data
+	call g24_kb_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 8,mem_usb_kb_data
+	arg offset_24g_kb_data_sta_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_sta_data
+	setarg offset_24g_kb_data_last_data
+	iadd regc,rega
+	ifetcht 8,rega
+	//fetcht 8,mem_24g_kb_data_last_data
+	isub temp,null
+	ncall g24_kb_data_dispose,zero
+	setarg offset_24g_kb_data_sta_data
+	iadd regc,rega
+	ifetch 8,rega
+	//fetch 8,mem_24g_kb_data_sta_data
+	arg offset_24g_kb_data_last_data,rega
+	call g24_set_contw_with_temp
+	istore 8,contw
+	//store 8,mem_24g_kb_data_last_data
+	branch g24_rx_interrupt_clear
+
+g24_data_type2_reverse_data:
+	setarg offset_24g_rxdata_temp_add2
+	iadd regc,contr
+	//arg mem_24g_rxdata_temp+2,contr
+	arg 9,loopcnt
+	branch reverse_byte
+
+g24_kb_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_blank_data_enable
+	//jam 1,mem_24g_kb_blank_data_enable
+g24_kb_enable_blank_data_timer:	
+	setarg TIMER_KB_BLANK_DELAY
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_blank_data_enable
+	//jam 0,mem_24g_kb_blank_data_enable
+g24_kb_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_KB_BLANK,queue
+	branch timer_init
+
+g24_kb_data_dispose:
+g24_kb_data_into_ep1_fifo:
+	jam USB_EP1_KB,mem_usb_ep1_data
+	fetch 1,mem_usb_tx_enable
+	set1 1,pdata
+	store 1,mem_usb_tx_enable
+	rtn
+
+g24_data_type3:
+	arg mem_usb_kb_multikey,contw
+	call g24_data_type2_reverse_data
+	fetch 2,mem_usb_kb_multikey+1
+	ncall g24_kb_mul_enable_blank_data_forcibly,blank//get multikey data
+	fetch 2,mem_usb_kb_multikey+1
+	call g24_kb_mul_disable_blank_data_forcibly,blank
+	call g24_head_ptr2regc
+	fetch 3,mem_usb_kb_multikey
+	arg offset_24g_kb_multikey_sta_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_sta_data
+	setarg offset_24g_kb_multikey_last_data
+	iadd regc,rega
+	ifetcht 3,rega
+	//fetcht 3,mem_24g_kb_multikey_last_data
+	isub temp,null
+	ncall g24_kb_mul_data_into_ep2_fifo,zero
+	setarg offset_24g_kb_multikey_sta_data
+	iadd regc,rega
+	ifetch 3,rega
+	//fetch 3,mem_24g_kb_multikey_sta_data
+	arg offset_24g_kb_multikey_last_data,rega
+	call g24_set_contw_with_temp_store_3byte
+	//store 3,mem_24g_kb_multikey_last_data
+	branch g24_rx_interrupt_clear
+
+g24_kb_mul_data_into_ep2_fifo:
+	jam USB_EP2_MULTIKEY,mem_usb_ep2_data
+	branch g24_data_type1_usbtx_enable_ep2
+
+g24_kb_mul_enable_blank_data_forcibly:
+	setarg 1
+	call g24_store_mem_kb_mul_blank_data_enable
+	//jam 1,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_enable_blank_data_timer:	
+	setarg TIMER_KB_MUL_BLANK_DELAY
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+
+g24_kb_mul_disable_blank_data_forcibly:
+	call g24_set0_mem_kb_mul_blank_data_enable
+	//jam 0,mem_24g_kb_mul_blank_data_enable
+g24_kb_mul_disable_blank_data_timer:	
+	setarg 0
+	arg TIMER_KB_MUL_BLANK,queue
+	branch timer_init
+	
+g24_data_attemp:
+	call g24_fetch_mem_rxdata_temp_add3_1byte
+	//fetch 1,mem_24g_rxdata_temp+3
+	beq DATATYPE_MOUSE,g24_data_attemp_mouse
+	beq DATATYPE_KEYBOARD,g24_data_attemp_kbd
+	rtn
+g24_data_attemp_mouse:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_mouse_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_mouse_addr
+	branch g24_contw_istore_4byte
+
+g24_data_attemp_kbd:
+	setarg offset_24g_rxdata_temp_add4
+	call g24_set_rega_ifetch_4byte
+	arg offset_24g_kb_addr,rega
+	call g24_set_contw_with_temp
+	//fetch 4,mem_24g_rxdata_temp+4
+	//store 4,mem_24g_kb_addr
+	branch g24_contw_istore_4byte
+
+g24_store_mem_24g_mode:
+	call g24_head_ptr2regc
+	add regc,offset_24g_mode,contw
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_device_addr:
+	call g24_head_ptr2regc
+	add regc,offset_24g_device_addr,contw
+	branch g24_contw_istore_4byte
+
+g24_fetch_mem_addr:
+	add regc,offset_24g_addr,rega
+	branch g24_rega_ifetch_4byte
+g24_store_mem_addr:
+	add regc,offset_24g_addr,contw
+g24_contw_istore_4byte:	
+	istore 4,contw
+	rtn
+
+g24_store_mem_ch:
+	add regc,offset_24g_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_set0_mem_pid:
+	setarg 0
+g24_store_mem_pid:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pid,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_txpayload:
+	add regc,offset_24g_txpayload,contw
+	branch g24_contw_istore_1byte
+
+g24_set4_mem_max_retry:
+	setarg 4
+g24_store_mem_max_retry:
+	add regc,offset_24g_max_retry,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_data_type:
+	add regc,offset_24g_data_type,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_data_type:
+	add regc,offset_24g_data_type,contw
+	branch g24_contw_istore_1byte
+
+g24_set2_mem_sync_cnt:
+	setarg 2
+g24_store_mem_sync_cnt:
+	add regc,offset_24g_sync_cnt,contw
+	branch g24_contw_istore_1byte
+
+g24_set1_mem_rf_last_sta:
+	setarg 1
+g24_store_mem_rf_last_sta:
+	call g24_head_ptr2regc
+	add regc,offset_24g_rf_last_sta,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_hop_pac:
+	setarg 1
+g24_store_mem_hop_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_hop_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,rega
+	branch g24_rega_ifetch_1byte
+g24_set1_mem_abort_pac:
+	setarg 1
+g24_store_mem_abort_pac:
+	call g24_head_ptr2regc
+	add regc,offset_24g_abort_pac,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_pairing_sm:
+	call g24_head_ptr2regc
+	add regc,offset_24g_pairing_sm,rega
+	branch g24_rega_ifetch_1byte
+g24_store_mem_pairing_sm:
+	add regc,offset_24g_pairing_sm,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_rf_hop_ch:
+	setarg 0
+g24_store_mem_rf_hop_ch:
+	add regc,offset_24g_rf_hop_ch,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_rf_work_stage:
+	add regc,offset_24g_rf_work_stage,rega
+	branch g24_rega_ifetch_1byte
+	
+g24_fetch_mem_rxbuf_add1:
+	add regc,offset_24g_rxbuf_add1,rega
+	branch g24_rega_ifetch_1byte
+
+g24_fetch_mem_check_dongle_times:
+	add regc,offset_24g_check_dongle_times,rega
+	branch g24_rega_ifetch_1byte
+g24_set0_mem_check_dongle_times:
+	setarg 0
+g24_store_mem_check_dongle_times:
+	call g24_head_ptr2regc
+	add regc,offset_24g_check_dongle_times,contw
+	branch g24_contw_istore_1byte
+
+g24_store_mem_tx_power:
+	call g24_head_ptr2regc
+	add regc,offset_tx_power_temp,rega
+	ifetch 1,rega
+g24_store_mem_txpower:
+	store 1,mem_tx_power
+	rtn
+
+g24_store_mem_tx_power_temp:
+	call g24_head_ptr2regc
+	fetch 1,mem_tx_power
+	//store 1,mem_tx_power_temp
+	add regc,offset_tx_power_temp,contw
+	branch g24_contw_istore_1byte
+
+g24_fetch_mem_power_ctrl_pac:	
+	add regc,offset_power_ctrl_packet_cnt,rega
+	branch g24_rega_ifetch_1byte
+
+g24_store_mem_power_ctrl_level:
+	add regc,offset_power_ctrl_level,contw
+	branch g24_contw_istore_1byte
+
+g24_fetcht_mem_rxdata_temp:
+	setarg offset_24g_rxdata_temp
+g24_set_rega_ifetcht_1byte:	
+	iadd regc,rega
+	ifetcht 1,rega
+	rtn
+
+g24_fetch_mem_rf_laststa:
+	setarg offset_24g_rf_laststa
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_rf_laststa:
+	setarg 0
+g24_store_mem_rf_laststa:
+	arg offset_24g_rf_laststa,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_rx_addr:
+	setarg offset_24g_rx_addr
+g24_set_rega_ifetch_4byte:	
+	call g24_set_rega
+g24_rega_ifetch_4byte:
+	ifetch 4,rega
+	rtn
+
+g24_fetch_mem_time_slice:
+	setarg offset_24g_time_slice
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_time_slice:
+	setarg 0
+g24_store_mem_time_slice:
+	arg offset_24g_time_slice,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_mode_switch:
+	setarg 0
+g24_store_mem_mode_switch:
+	arg offset_24g_mode_switch,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_bind_payload:
+	arg offset_24g_bind_payload,rega
+	branch g24_set_contw_with_regb_store_1byte	
+	
+g24_fetch_mem_bind_device_status:
+	setarg offset_dongle_bind_device_status
+	branch g24_set_rega_ifetch_1byte
+g24_store_mem_bind_device_status:
+	arg offset_dongle_bind_device_status,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_work_mode:
+	setarg offset_dongle_work_mode
+	branch g24_set_rega_ifetch_1byte
+g24_set_work_mem_dongle_work_mode:
+	setarg DONGLE_WORK
+g24_store_mem_dongle_work_mode:
+	arg offset_dongle_work_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_fetch_mem_dongle_mode_init:
+	setarg offset_dongle_mode_init
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_dongle_mode_init:
+	setarg CLEAR_INIT
+g24_store_mem_dongle_mode_init:
+	arg offset_dongle_mode_init,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_ackpayload_enable:
+	setarg 0
+g24_store_mem_ackpayload_enable:
+	arg offset_24g_ackpayload_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+g24_set1_mem_ackpayload_enable:
+	setarg 1
+	branch g24_store_mem_ackpayload_enable
+
+g24_fetch_mem_rxdata_temp_add3_7byte:
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	ifetch 7,rega
+	rtn
+
+g24_fetch_mem_nodata_timer_enable:
+	setarg offset_24g_nodata_timer_enable
+	branch g24_set_rega_ifetch_1byte
+g24_set0_mem_nodata_timer_enable:
+	setarg 0
+g24_store_mem_nodata_timer_enable:
+	arg offset_24g_nodata_timer_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_ms_blank_data_enable:
+	setarg 0
+g24_store_mem_ms_blank_data_enable:
+	arg offset_24g_ms_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+
+g24_set0_mem_kb_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_blank_data_enable:
+	arg offset_24g_kb_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_set0_mem_kb_mul_blank_data_enable:
+	setarg 0
+g24_store_mem_kb_mul_blank_data_enable:
+	arg offset_24g_kb_mul_blank_data_enable,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_up:
+	arg offset_power_ctrl_threshold_up,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_power_ctrl_threshold_down:
+	arg offset_power_ctrl_threshold_down,rega
+g24_set_contw_with_regb_store_1byte:
+	call g24_set_contw_with_regb
+g24_contw_istore_1byte:
+	istore 1,contw
+	rtn
+
+g24_fetch_mem_pair_mode:
+	setarg offset_24g_pair_mode
+	branch g24_set_rega_ifetch_1byte
+
+g24_store_mem_pair_mode:
+	arg offset_24g_pair_mode,rega
+	branch g24_set_contw_with_regb_store_1byte
+	
+g24_store_mem_pair_txpower:
+	setarg offset_24g_pair_txpower
+	call g24_set_rega_ifetch_1byte
+	branch g24_store_mem_txpower
+
+g24_fetch_mem_rxdata_temp_add3_1byte:
+	setarg offset_24g_rxdata_temp_add3
+	branch g24_set_rega_ifetch_1byte
+
+g24_set_contw_with_temp:
+	copy pdata,temp
+	copy rega,pdata
+	iadd regc,contw
+	copy temp,pdata
+	rtn
+	
+g24_set_contw_with_temp_store_3byte:
+	call g24_set_contw_with_temp
+g24_contw_istore_3byte:	
+	istore 3,contw
+	rtn
+
+g24_set_contw_with_regb:
+	call g24_head_ptr2regc
+g24_set_contw_with_regb2:
+	copy pdata,regb
+	copy rega,pdata
+	iadd regc,contw
+	copy regb,pdata
+	rtn
+
+g24_set_rega:
+	call g24_head_ptr2regc
+	iadd regc,rega
+	rtn
+
+g24_set_rega_ifetch_1byte:
+	call g24_set_rega
+g24_rega_ifetch_1byte:
+	ifetch 1,rega
+	rtn
+
+g24_set_rega_ifetcht_4byte:
+	call g24_set_rega
+	ifetcht 4,rega
+	rtn
+
+g24_mem_set0:
+	setarg 0
+	branch g24_contw_istore_1byte
+
+endif
+
+
Index: YJX_Only24g/main/program/app.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app.prog	(working copy)
@@ -0,0 +1,576 @@
+app_init:
+	bpatch patch18_4,mem_patch18
+	fetch 1,mem_device_option
+	branch app_init,blank				/* wait ram to be initialized */
+//	beq dvc_op_ukey,le_ukey_init
+	beq dvc_op_dongle,dongle_init
+	beq dvc_op_AntiLost,antilost_init
+	beq dvc_op_shutter,shutter_init
+	beq dvc_op_module,module_init
+	beq dvc_op_car,car_init
+	beq dvc_op_remote_car,remote_car_init
+	bbit1 dvc_op_mouse,mouse_init
+	rtn
+	
+app_lpm_init:
+	bpatch patch18_5,mem_patch18
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	jam 0, mem_lch_code
+	setarg 0
+	store 5,mem_sp_state_start
+	fetch 1,mem_device_option
+	branch app_lpm_init,blank				/* wait ram to be initialized */
+	beq dvc_op_module,module_lpm_init
+app_lpm_init0:
+	rtn
+
+	
+app_process_idle:
+	call ui_dispatch
+	call check_51cmd
+	call app_process_bb_event
+	fetch 2,mem_cb_idle_process
+	branch callback_func
+	
+app_process_bt:
+	fetch 2,mem_cb_bt_process
+	branch callback_func
+	
+app_process_ble:
+	fetch 2,mem_cb_le_process
+	branch callback_func
+
+app_process_bb_event:
+	bpatch patch18_6,mem_patch18
+	//return if c51 need to process bb event
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_out
+	rtn blank
+	//reaching here mains c51 cannot get bb event.
+	copy pdata,regc
+	call app_event_normal_process
+	branch app_process_bb_event_priority
+	
+app_discard_event:
+	arg 0,regc
+	rtn
+
+//************************************************//
+//*APP BB EVENT NORMAL PROCESS**//
+//************************************************//
+app_event_normal_process:
+	beq BT_EVT_BB_CONNECTED,app_evt_bt_conn
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_evt_button_long_pressed
+	beq BT_EVT_SETUP_COMPLETE,app_evt_setup_complete
+	beq BT_EVT_HID_HANDSHAKE,app_evt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,app_bb_event_hid_connected
+	beq BT_EVT_RECONN_FAILED,app_bb_event_reconn_failed
+	beq BT_EVT_BB_DISCONNECTED,app_bb_event_bb_disconn
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,app_bb_event_reconn_failed	
+	beq BT_EVT_LE_CONNECTED,app_le_event_bb_connected
+	beq BT_EVT_LE_DISCONNECTED,app_le_event_bb_disconn
+	beq BT_EVT_RECONN_STARTED,app_event_reconn_start
+	beq BT_EVT_ENTER_SNIFF,app_event_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,app_event_exit_sniff
+	
+	beq BT_EVT_ML2CAP_CONN_REFUSED,app_event_ml2cap_conn_refused
+	beq BT_EVT_LINKKEY_GENERATE,app_event_linkkey_generate
+	beq BT_EVT_SWITCH_FAIL_MASTER,app_event_switch_fail_master
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,app_event_switch_success
+	rtn
+
+
+app_evt_bt_conn:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_event_switch_success:
+	jam 0,mem_switch_fail_master_count
+	rtn	
+
+app_event_switch_fail_master:
+	fetch 1,mem_switch_fail_master_count
+	increase 1,pdata
+	store 1,mem_switch_fail_master_count
+	sub pdata,1,null
+	branch app_bt_role_switch,positive
+	jam 0,mem_switch_fail_master_count
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_SWITCH_FAIL,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_disconnect
+	
+app_process_bb_event_priority:
+	fetch 2,mem_cb_bb_event_process
+	branch callback_func
+
+app_check_wake_lock:
+	fetch 2,mem_cb_check_wakelock
+	branch callback_func
+	
+app_will_enter_lpm:
+	fetch 2,mem_cb_before_lpm
+	branch callback_func
+
+app_event_linkkey_generate:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_PAIRING ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch app_bt_store_reconn_info
+	
+app_event_reconn_start:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_RECONN,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_setup_complete:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SETUP_COMPLETE,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SETUP_DONE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_evt_hid_handshake:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_HANDSHAKE,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_event_enter_sniff:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_AFTER_SNIFF,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_exit_sniff:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_SNIFF,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_le_event_bb_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	rtn
+	
+app_le_event_bb_disconn:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_CONNECTED,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_event_hid_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_HID_CONN,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_evt_button_long_pressed:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BY_BUTTON,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_event_ml2cap_conn_refused:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_L2CAP_REFUSED,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	branch  app_bt_disconnect
+
+
+app_evt_timer:
+	bpatch patch18_7,mem_patch18
+	store 1,mem_app_evt_timer_count
+app_evt_100ms_loop:
+	fetch 1,mem_app_evt_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_app_evt_timer_count
+	call ui_button_polling
+	call app_lpm_wake_auto_lock_timer
+	call app_unsniff_delay_timer
+	call app_discovery_timer
+	call flash_write_spi_sm_timer
+	fetch 2,mem_cb_event_timer
+	call callback_func
+	branch app_evt_100ms_loop
+
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step:
+	ifetch 1,regc
+	rtn blank
+	pincrease -1
+	istore 1,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+
+//regc:timer addr
+//regb:timer up call back fuction
+timer_single_step_2B:
+	ifetch 2,regc
+	rtn blank
+	pincrease -1
+	istore 2,regc
+	nrtn blank
+	copy regb,pdata
+	branch callback_func
+	
+app_power_timer:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_timer_offset,regc
+	arg app_power_timer_timeout,regb
+	branch timer_single_step
+	
+app_power_timer_timeout:
+	call app_got_power_state_common
+	beq POWER_STARTING,app_enter_power_stanby_state
+app_enter_power_off_state:
+	branch app_enter_hibernate
+app_enter_power_stanby_state:
+	setarg POWER_STANDBY
+	istore 1,regc
+	add temp,power_standby_cb_offset,regb
+app_power_cb_common:
+	ifetch 2,regb
+	branch callback_func
+
+app_unsniff_delay_timer:
+	arg mem_unsniff2sniff_timer_count,regc
+	arg app_unsniff_delay_timeout,regb
+	branch timer_single_step
+	
+app_unsniff_delay_timeout:
+	call context_check_idle
+	branch app_bt_enter_sniff,zero
+	rtn
+
+
+app_discovery_timer:
+	arg mem_discovery_timeout_timer_count,regc
+	arg app_discovery_timeout,regb
+	branch timer_single_step_2B
+	
+app_discovery_timeout:
+	call app_bt_stop_discovery
+	call app_led_off
+	fetch 2,mem_cb_discovry_timeout
+	branch callback_func
+
+	
+app_bb_event_reconn_failed:
+	call app_disconn_reason_flag_clear
+app_clear_reconnect_flag:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+app_bb_event_bb_disconn:
+	jam 0,mem_unsniff2sniff_timer_count
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,app_bb_event_bb_reconn_disconn
+	isolate0 UI_STATE_BT_SETUP_COMPLETE,pdata
+ 	call app_discard_event,true
+app_bb_event_bb_reconn_disconn:
+	bpatch patch19_0,mem_patch19
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_CONNECTED,pdata
+	set0 UI_STATE_BT_SETUP_COMPLETE,pdata
+	set0 UI_STATE_BT_HID_CONN,pdata
+	set0 UI_STATE_BT_HID_HANDSHAKE,pdata
+	set0 UI_STATE_BT_RECONNECT,pdata
+	store 2,mem_ui_state_map
+	branch app_lpm_mult_disable
+	
+app_bb_hibernate:
+	call app_disconn_reason_clear
+	branch app_enter_hibernate
+
+	
+app_disconn_reason_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	rtn
+app_disconn_reason_flag_clear:
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+app_disconn_reason_collect_bt:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+	
+app_disconn_reason_collect_ble:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set1 APP_DISC_BLE,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	setarg 0
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	rtn
+
+	
+//************************************************//
+//********APP SHARED FUNCSIONS*******//
+//************************************************//
+
+
+app_check_sniff:
+	fetch 1,mem_ui_state_map
+	isolate1 UI_STATE_BT_SNIFF,pdata
+	rtn
+
+//*****************************************//
+//*****************API********************//
+//*****************************************//
+//app_clearflag_store:
+//	setarg 0
+//	branch app_flag_store
+app_initflag_store:
+	setarg EEPROM_INIT_FLAG
+app_flag_store:
+	store 2,mem_timeup
+	bpatch patch19_1,mem_patch19
+	arg 2,temp
+	arg mem_timeup,rega
+	arg eeprom_module_init_flag,regb
+	branch iicd_write_eep_data
+
+//initflag is in eeprom to sure is eeprom nead to init
+app_initflag_check:
+	bpatch patch19_2,mem_patch19
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg eeprom_module_init_flag,regb
+	call iicd_read_eep_data
+	fetch 2,mem_pdatatemp
+	arg EEPROM_INIT_FLAG,temp
+	isub  temp,null
+	rtn
+
+
+app_start_auto_sniff:
+	fetch 1,mem_unsniff2sniff_timer
+	store 1,mem_unsniff2sniff_timer_count
+	rtn	
+	
+app_get_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_get_wake_lock
+
+app_put_lpm_wake_lock:
+	arg wake_lock_app,queue
+	branch lpm_put_wake_lock
+	
+app_lpm_wake_auto_lock:
+	jam  LPM_WAKE_UP_DELAY_TIMER,mem_wake_up_delay_timer
+	branch app_get_lpm_wake_lock
+	
+app_lpm_wake_auto_lock_timer:
+	arg mem_wake_up_delay_timer,regc
+	arg app_put_lpm_wake_lock,regb
+	branch timer_single_step
+
+app_l2cap_flow_control_enable:
+	jam L2CAP_FLOW_CTRL_ENABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+
+app_l2cap_flow_control_disable:
+	jam L2CAP_FLOW_CTRL_DISABLE,mem_l2cap_flow_ctrl_flag
+	rtn
+	
+app_bt_set_pincode:
+	jam BT_CMD_SET_PIN_CODE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_role_switch:
+	jam BT_CMD_ROLE_SWITCH,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_start_reconnect:
+	bpatch patch19_3,mem_patch19
+	fetch 1,mem_app_connection_options
+	store 1,mem_connection_options
+	jam APP_FLAG_RECONNECT,mem_reconnect_flag
+	jam BT_CMD_RECONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+	
+app_bt_reconnect_cancel:
+	jam BT_CMD_BB_RECONN_CANCEL,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_bt_disconnect:
+	jam BT_CMD_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd	
+
+app_bt_start_discovery_short:
+	fetch 2,mem_discovery_timeout
+	store 2,mem_discovery_timeout_timer_count
+app_bt_start_discovery_led_blink:
+	call app_led_start_blink
+app_bt_start_discovery:
+	jam BT_CMD_START_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_stop_discovery:
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	jam BT_CMD_STOP_DISCOVERY,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_direct_adv:
+	jam BT_CMD_START_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_stop_direct_adv:
+	jam BT_CMD_STOP_DIRECT_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_adv:
+	jam BT_CMD_STOP_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_adv:	
+	jam BT_CMD_START_ADV,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_scan:
+	jam BT_CMD_LE_START_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_stop_scan:
+	jam BT_CMD_LE_STOP_SCAN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_start_conn:
+	jam BT_CMD_LE_START_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_ble_disconnect:
+	jam BT_CMD_LE_DISCONNECT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_start_blink:	
+	jam BT_CMD_LED_BLINK,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_led_on:
+	jam BT_CMD_LED_ON,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_led_stop_blink:
+app_led_off:
+	jam BT_CMD_LED_OFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+	
+app_enter_hibernate:
+	jam BT_CMD_ENTER_HIBERNATE,mem_fifo_temp 
+	branch ui_ipc_send_cmd
+	
+app_bt_sniff_exit:
+	jam BT_CMD_EXIT_SNIFF,mem_fifo_temp
+	branch  ui_ipc_send_cmd
+	
+app_bt_enter_sniff:
+	jam BT_CMD_ENTER_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_ble_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_LE,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_bt_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO_BT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_store_reconn_info:
+	jam BT_CMD_STORE_RECONN_INFO,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+app_lpm_mult_enable:
+	set1 mark_lpm_mult_enable,mark
+	rtn
+
+app_lpm_mult_disable:
+	set0 mark_lpm_mult_enable,mark
+	rtn
+
+
+/*
+
+mem_power_param struct
+{
+	usigned char     mem_power_state
+	usigned char     mem_power_timer
+	usigned char	 mem_power_off_timeout
+	usigned char	 mem_power_starting_timeout
+	usigned long	 mem_power_off_cb
+	usigned long	 mem_power_starting_cb
+	usigned long	 mem_power_standby_cb
+	usigned long 	 mem_ui_butten_up_cb
+}
+    	functions:power state switching by mem_app_power_timer timeout or by button_long_pressed event
+    	(power off -> power starting->power standby->power off) and power timer initialization 
+ input parameters:mem_power_param_ptr should be point to the variable(mem_power_param) address where the input parameters stored in with its format
+output parameters:switched power state will be stored in variable mem_power_state*/
+app_button_long_pressed:
+	call app_got_power_state_common
+	beq POWER_STANDBY,app_power_shutting_down
+app_power_starting:
+	setarg POWER_STARTING
+	istore 1,regc
+	add temp,power_starting_timeout_offset,rega
+	add temp,power_starting_cb_offset,regb
+app_power_common:
+	ifetcht 1,rega
+	increase 1,regc
+	istoret 1,regc
+	branch app_power_cb_common
+	
+app_power_shutting_down:
+	setarg POWER_OFF
+	istore 1,regc
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,app_power_off_end
+	call app_ble_disconnect
+app_power_off_end:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_off_timeout_offset,rega
+	add temp,power_off_cb_offset,regb
+	branch app_power_common
+	
+app_got_power_state_common:
+	fetcht 2,mem_power_param_ptr
+	add temp,power_state_offset,regc
+	ifetch 1,regc
+	rtn
+
+app_event_button_up:
+	call app_got_power_state_common
+	bne POWER_OFF,app_power_release
+	branch app_enter_hibernate
+app_power_release:
+	add temp,ui_butten_up_cb_offset,regb
+	branch app_power_cb_common
+
Index: YJX_Only24g/main/program/app_antiLost.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_antiLost.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_antiLost.prog	(working copy)
@@ -0,0 +1,565 @@
+ifdef COMPILE_AntiLost
+antilost_init:
+	rtn wake	
+	jam 0x00,core_gpio_sel1//1: GPIO[26:25] is two wire SPI, 2: GPIO[26:23] is SPI, 3: GPIO[26:23] is PCM
+	setarg antilost_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg keyscan_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg antilost_idle_process	//
+	store 2,mem_cb_idle_process
+	setarg antilost_le_conn_process	//
+	store 2,mem_cb_le_process
+	setarg antilost_bb_event_process 
+	store 2,mem_cb_bb_event_process
+	setarg antilost_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg antilost_le_notification
+	store 2,mem_cb_ble_transmit
+	setarg antilost_lpm_lock_process
+	store 2,mem_cb_check_wakelock
+	setarg antilost_le_receive_data_process
+	store 2,mem_cb_att_write
+	bpatch patch19_4,mem_patch19
+	call antilost_buzzer_pwm_init
+	call keyscan_key_init
+	call antilost_adc_init
+	call ui_led_init_global
+	call ui_button_init
+	setarg antilost_key_up_down
+	store 2,mem_cb_antl_key
+	setarg antilost_power_off_cb
+	store 2,mem_antl_power_off_cb
+	setarg antilost_power_starting_cb
+	store 2,mem_antl_power_starting_cb
+	setarg antilost_power_standby_cb
+	store 2,mem_antl_power_standby_cb
+	setarg antilost_led_on_cb
+	store 2,mem_antl_led_cb_on
+	setarg antilost_led_off_cb
+	store 2,mem_antl_led_cb_off
+	setarg antilost_buzzer_on
+	store 2,mem_antl_buzzer_cb_on
+	setarg antilost_buzzer_off
+	store 2,mem_antl_buzzer_cb_off
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+antilost_le_before_hibernate:
+	call antilost_led_buzzer_stop_blink
+	branch  app_enter_hibernate
+
+antilost_le_notification:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_temp_block5,rega
+	call queue_pop
+	nrtn user
+	arg mem_temp_block5,contr
+	branch le_send_notify_from_list
+
+antilost_power_standby_cb:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	jam 1,mem_antl_key_scan_enable
+	branch antilost_fast_adv_start
+	
+antilost_lpm_lock_process:
+	fetch 1,mem_antl_key_state
+	beq 1,antilost_lpm_ctrl_for_led_buzzer
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_lpm_ctrl_for_led_buzzer
+	fetch 1,mem_antl_lost_mode
+	beq 1,app_get_lpm_wake_lock
+	fetch 1, mem_antl_queue_curr_num
+	nbranch app_get_lpm_wake_lock,blank 
+	branch app_put_lpm_wake_lock
+	
+antilost_lpm_ctrl_for_led_buzzer:
+	fetch 1,mem_antl_led_state
+	fetcht 1,mem_antl_buzzer_state
+	ior temp,pdata
+	beq 1,app_get_lpm_wake_lock
+	branch app_put_lpm_wake_lock
+
+antilost_bb_event_process:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,antilost_le_process_conn
+	beq BT_EVT_LE_DISCONNECTED,antilost_le_process_discon
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,antilost_le_conn_param_update_rsp_recieved
+	rtn
+antilost_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	beq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_REJECTED,antilost_le_conn_param_rejected
+antilost_le_conn_param_accepted:
+	fetch 2,mem_le_new_connslavelatency
+	branch antilost_master_nonsupport_latency,blank
+antilost_le_conn_param_updata_procedure_sucsess:
+	jam CONN_PARAM_UPDATA_PROCEDURE_COMPLETE,mem_antl_conn_updata_procedure_state
+	jam 60,mem_antl_conn_update_timer
+	rtn
+
+antilost_le_conn_param_rejected:
+	fetch 2,mem_le_latency
+	branch antilost_conn_param_updata_procedure_faild,blank
+antilost_conn_param_retransimiting:
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	fetcht 2,mem_interval_increment
+	fetch 2,mem_le_interval_min
+	iadd temp,pdata
+	store 2,mem_le_interval_min
+	copy pdata,rega
+	fetch 2,mem_le_interval_max
+	iadd temp,pdata
+	store 2,mem_le_interval_max
+	iadd rega,pdata
+	rshift pdata,temp
+	fetch 2,mem_antl_le_unnormal_interval_max
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	store 2,mem_le_latency
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+antilost_conn_param_updata_procedure_faild:
+	jam CONN_PARAM_UPDATA_PROCEDURE_FAILD,mem_antl_conn_updata_procedure_state
+	rtn
+
+antilost_master_nonsupport_latency:
+	jam 0,mem_lpm_mult
+	jam 0,mem_antl_send_updata_le_param_timer
+	fetch 2,mem_le_new_conninterval	//interval from master
+	fetcht 2,mem_antl_le_unnormal_interval_min
+	isub temp,null
+	setflag positive,0,rega 
+	fetch 2,mem_antl_le_unnormal_interval_max //local intervalmax
+	fetcht 2,mem_le_new_conninterval//interval form master
+	isub temp,pdata
+	setflag positive,1,rega
+	compare	0x03,rega,0x03
+	rtn true //return if the new conn_interval in range through conn_interval_min to conn_interval_max already
+	fetch 8,mem_antl_le_unnormal_interval_min
+	store 8,mem_le_interval_min
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn                               
+
+
+antilost_le_bb_event_timer:
+	//call ui_button_check_long_press
+	call app_power_timer
+	call antilost_double_click_timer
+	call antilost_le_fast_adv_timer
+	call antilost_le_sleep_timer
+	call antilost_app_updata_le_param_timer
+	call antilost_conn_update_timer
+	branch antilost_adc_check_timer
+
+
+antilost_double_click_timer:
+	arg mem_double_click_timer,regc
+	arg antilost_double_click_timeout,regb
+	branch timer_single_step
+antilost_double_click_timeout:
+	jam 0,mem_butten_click_cnt
+	rtn
+antilost_le_fast_adv_timer:
+	arg mem_antl_fast_adv_timer,regc
+	arg antilost_le_fast_adv_timeout,regb
+	branch timer_single_step_2B
+antilost_le_fast_adv_timeout:
+	arg mem_antl_slow_adv_led_style,regc
+	arg mem_antl_slow_adv_lpm_interval,regb
+	branch antilost_adv_start_common
+	
+
+antilost_conn_update_timer:
+	arg mem_antl_conn_update_timer,regc
+	arg antilost_conn_update_timer_time_out,regb
+	branch timer_single_step
+	
+antilost_conn_update_timer_time_out:
+	fetch 2,mem_le_latency
+	store 1,mem_lpm_mult
+	rtn
+antilost_app_updata_le_param_timer:
+	arg mem_antl_send_updata_le_param_timer,regc
+	arg antilost_app_updata_le_param_timeout,regb
+	branch timer_single_step
+antilost_app_updata_le_param_timeout:
+	fetch 1,mem_le_state
+	compare 0,pdata,0x60
+	nbranch antilost_wait_for_updata_param_instant_expire,true
+	jam CONN_PARAM_UPDATA_PROCEDURE_STARTING,mem_antl_conn_updata_procedure_state
+	call  app_lpm_mult_enable
+	branch le_l2cap_tx_update_req	
+antilost_wait_for_updata_param_instant_expire:
+	jam 1,mem_antl_send_updata_le_param_timer
+	rtn
+	
+antilost_le_sleep_timer:
+	arg mem_antl_le_sleep_timer,regc
+	arg antilost_le_sleep_timer_timeout,regb
+	branch timer_single_step_2B
+
+
+antilost_le_sleep_timer_timeout:
+	branch app_button_long_pressed
+
+antilost_adc_check_timer:
+	//fetch 1,mem_antl_power_timer
+	//rtneq SHUTTER_POWER_OFF
+	arg mem_adc_timer,regc
+	arg antilost_adc_check_timer_timeout,regb
+	branch timer_single_step_2B
+antilost_adc_check_timer_timeout:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	branch antilost_battery_process
+
+
+antilost_le_process_conn:
+	fetch 2,mem_adc_timeout
+	store 2,mem_adc_timer
+	setarg 0
+	store 2,mem_antl_fast_adv_timer
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	call antilost_led_buzzer_stop_blink
+	jam 0,mem_lpm_mult
+	branch app_ble_stop_adv
+	                                                      
+
+antilost_le_process_discon:
+	//setarg 0
+	//store 1,mem_hci_curr_len
+	setarg 0
+	store 4,mem_adc_timer
+	store 3,mem_antl_conn_updata_procedure_state
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	
+	jam 1,mem_alarm_config_notfy_cnt
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call queue_init
+	fetch 1,mem_antl_power_state
+	rtneq POWER_OFF
+	call antilost_fast_adv_start
+	branch antilost_on_off_alarm_after_disconn
+
+
+antilost_le_conn_process:
+//bpatch
+	branch antilost_key_process
+
+antilost_idle_process:
+
+	fetch 1,mem_antl_power_state
+	rtnne POWER_STANDBY
+	branch antilost_key_process
+
+
+//////////////////////////////////////////////////////////////////////////////////////////
+/////SOFT WTICH////////
+antilost_power_starting_cb:
+	arg mem_antl_power_starting_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_starting_led_style,regc
+antilost_power_common:
+	branch antilost_led_configuration
+
+antilost_power_off_cb:
+	jam OFF,mem_le_adv_enable
+	arg mem_antl_power_off_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_power_off_led_style,regc
+	branch antilost_power_common
+	
+antilost_le_receive_data_process:
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,antilost_le_parse_att_write_request
+	rtn
+antilost_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+//	beq  ATT_WRITE_REQUEST_HANDLE,antilost_key_data_send
+	beq NEW_SPEC_WRITE_HANDLE,antilost_cmd_parse_for_application
+	beq NEW_SPEC_NOTIFICATION_ENABLE_HANDLE,antilost_notify_alarm_config_first_time
+	rtn
+/////////////////////////////////////////////////////////
+
+
+/////////key scan
+antilost_key_process:
+	fetch 1,mem_antl_key_scan_enable
+	rtn blank
+	branch keyscan_key_process
+
+	//queue = key index
+	//rega =1 press, =0 release
+antilost_key_up_down:
+	copy rega,pdata
+	branch antilost_key_is_up,blank
+antilost_key_is_down:
+	copy queue,pdata
+	beq 0,antilost_key0_down
+	rtn
+antilost_key_is_up:
+	copy queue,pdata
+	beq 0,antilost_key0_up
+	rtn
+
+antilost_key0_down:
+	jam 1,mem_antl_key_state
+	arg mem_antl_key_buzzer_style,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_key_led_style,regc
+	call antilost_led_configuration
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,antilost_butten_down_while_disconn
+	branch antilost_butten_down_after_conn
+	
+antilost_key0_up:
+	jam 0,mem_antl_key_state
+	branch antilost_double_click_timer_init
+
+//////////////process for double-click
+
+antilost_double_click_timer_init:
+	fetch 1,mem_butten_click_cnt
+	rtnne 1
+	jam 5,mem_double_click_timer
+	rtn
+
+antilost_butten_down_after_conn:
+	fetch 1,mem_butten_click_cnt
+	pincrease 1
+	store 1,mem_butten_click_cnt
+	beq 1,antilost_click_once
+	beq 2,antilost_click_twice
+	rtn
+antilost_click_once:
+	call antilost_alert_off
+	jam OPCODE1_BUTTEN_CLICK_ONCE,mem_antl_key0_press+5//5 represent opcode offset
+	arg mem_antl_key0_press,regc
+	branch antilost_prepare_data_and_send
+antilost_click_twice:
+	jam 0,mem_butten_click_cnt
+	jam OPCODE2_BUTTEN_DOUBLE_CLICK,mem_antl_key0_press+5
+	arg mem_antl_key0_press,regc
+	call antilost_prepare_data_and_send
+	fetch 1,mem_antl_lost_mode
+	beq 1,antilost_alert_on
+	rtn   //rtn should be retaind
+	
+antilost_butten_down_while_disconn:
+	fetch 2,mem_antl_le_sleep_timeout
+	store 2,mem_antl_le_sleep_timer
+	call antilost_alert_off
+	branch antilost_fast_adv_start
+	
+///////////////////////NEW App Spcecific///////
+antilost_cmd_parse_for_application:
+	bpatch patch19_5,mem_patch19
+	call le_app_receive_data
+	ifetch 1,rega
+	beq OPCODE3_ANTL_START_ALRAM,antilost_on_of_alram
+	beq OPCODE7_ANTL_CONFIG_ALRAM,antilost_configuration_for_alram
+	rtn
+
+antilost_on_of_alram:
+	fetch 1,mem_antl_lost_mode
+	beq ANTI_LE_ALARM_OFF,antilost_alert_on
+	beq ANTI_LE_ALARM_ON,antilost_alert_off
+	rtn
+
+antilost_configuration_for_alram:
+	ifetch 1,regb
+	beq 1,antilost_set_start_alarm_after_disconn
+	beq 0,antilost_set_no_alarm_after_disconn
+	rtn
+/////////////////check////////////////////////
+
+/*input: 1)package data addr in regc
+output:no
+function:calculate check_out value and send data*/
+//mem_temp_block5
+antilost_prepare_data_and_send:
+	bpatch patch19_6,mem_patch19
+	fetch 1,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	add regc,6,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,5,loopcnt
+	add regc,3,contr
+	call calc_check_sum_start
+	istore 1,contr
+	copy regc,rega
+	branch queue_push
+
+/////////////////NEW APP SPECIFIC check end////////////////////
+
+
+/////////alarm//////////////////////////////
+antilost_alert_on:
+	fetch 1,mem_antl_power_state
+	rtn blank
+	jam 1,mem_antl_lost_mode
+	arg mem_antl_alert_buzzer_stlye,regc
+	call antilost_buzzer_configuration
+	arg mem_antl_alert_led_stlye,regc
+	call antilost_led_configuration
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 1,mem_antl_key0_release+8 //8 represent data offset,digit 1 represent alarm is on at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_alert_off:
+	fetch 1,mem_antl_lost_mode
+	rtn blank
+	jam 0,mem_antl_lost_mode
+	call antilost_led_buzzer_stop_blink
+	jam OPCODE4_CURRENT_ALARM_STATE,mem_antl_key0_release+5//5 represent opcode offset
+	jam 0,mem_antl_key0_release+8 //8 represent data offset,digit 0 represent alarm is off at present
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+antilost_set_start_alarm_after_disconn:
+	jam 1,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_set_no_alarm_after_disconn:
+	jam 0,mem_alarm_config
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	jam 0,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_on_off_alarm_after_disconn:
+	fetch 1,mem_alarm_config
+	rtn blank
+	branch antilost_alert_on
+	
+antilost_notify_alarm_config_first_time:
+	ifetch 2,rega
+	store 2,mem_client_characteristic_configuration_descriptor
+	isolate1 NOTIFICATION_ENABLE_BIT,pdata
+	nrtn true
+	fetch 1,mem_alarm_config_notfy_cnt
+	rtn blank
+	jam 0,mem_alarm_config_notfy_cnt
+	fetch 8,mem_antl_le_interval_min
+	store 8,mem_le_interval_min
+	jam 2,mem_antl_send_updata_le_param_timer
+	call antilost_battery_process
+	call antilost_battery_calculate_end //send twice to combat the failure of reception first time
+	jam OPCODE7_ANTL_CONFIG_ALRAM,mem_antl_key0_release+5
+	fetch 1,mem_alarm_config
+	store 1,mem_antl_key0_release+8
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+
+//////////////alarm end//////////////////////////
+//sytle address in regc
+antilost_buzzer_configuration:
+	arg 1,rega
+	branch antilost_configuration_common
+antilost_led_configuration:
+	arg 0,rega
+antilost_configuration_common:
+	branch antilost_led_buzzer_style_configuration
+	
+antilost_led_buzzer_stop_blink:
+	arg 0,rega
+	call ui_led_blink_stop_global
+	arg 1,rega
+	call ui_led_blink_stop_global
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_buzzer_style_configuration:
+	call calc_curr_struct_prt
+	arg 7,loopcnt
+	branch ui_led_set_style_global+2
+
+
+
+antilost_fast_adv_start:
+	arg mem_antl_fast_adv_led_style,regc
+	arg mem_antl_lpm_interval,regb
+antilost_adv_start_common:
+	call antilost_adv_interval_lpm_interval_set
+	call antilost_led_configuration
+	fetch 2,mem_antl_fast_adv_timeout
+	store 2,mem_antl_fast_adv_timer
+	branch app_ble_start_adv
+	
+antilost_adv_interval_lpm_interval_set:
+	ifetch 2,regb
+	store 2,mem_lpm_interval
+	ifetch 2,contr
+	store 2,mem_le_adv_interval
+	rtn
+///////////////beep////////////
+antilost_buzzer_pwm_init:
+	arg 0,rega //sys clk 12mhz
+	call pwm_init
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	call pwm_out_set
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_led_on_cb:
+	jam 1,mem_antl_led_state
+	rtn	
+antilost_led_off_cb:
+	jam 0,mem_antl_led_state
+	rtn
+
+
+
+antilost_buzzer_off:
+	jam 0,mem_antl_buzzer_state
+	fetch 1,mem_buzzer_pwm_conf
+	branch pwm_disable
+	
+antilost_buzzer_on:
+	jam 1,mem_antl_buzzer_state
+	fetch 6,mem_buzzer_pwm_conf
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+
+////////////////beep end///////////////////////////
+/////////////adc start////////////////////////
+antilost_adc_init:
+	jam 0,mem_adc_config_flag
+	branch adc_init_data
+
+antilost_battery_process:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_battery_current_voltage
+	arg mem_battery_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	store 1,mem_voltage_remain_percent //for debug
+	beq 0,antilost_low_battery
+	sub pdata,0x64,null
+	nbranch antilost_full_battery,positive
+	store 1,mem_antl_key0_release+8
+antilost_battery_calculate_end:
+	jam OPCODE5_BATTER_INFORMATION,mem_antl_key0_release+5
+	arg mem_antl_key0_release,regc
+	branch antilost_prepare_data_and_send
+antilost_full_battery:
+	jam 100,mem_antl_key0_release+8
+	branch antilost_battery_calculate_end
+
+antilost_low_battery:
+	branch app_button_long_pressed
+endif
+
+
Index: YJX_Only24g/main/program/app_car.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_car.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_car.prog	(working copy)
@@ -0,0 +1,888 @@
+ifdef COMPILE_CAR
+
+car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	setarg car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg car_le_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg car_le_receive_data
+	store 2,mem_cb_att_write
+	
+	setarg car_le_bb_event_timer
+	store 2,mem_cb_event_timer
+	
+	call g24_head_ptr2regc
+	setarg car_24g_receive_data
+	add regc,offset_24g_cb_rxdata_type1,contw
+	istore 2,contw
+
+	setarg car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	bpatch patch19_7,mem_patch19
+	call car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	jam POWER_ON,mem_car_24g_received_pac
+	fetch 1,mem_car_config_soft_switch_enable
+	store 1,mem_car_hard_soft_switch
+	beq HARD_SWITCH, car_hard_switch_power_on_signal
+	fetch 1,mem_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+	jam OFF,mem_le_adv_enable
+car_soft_switch_power_on_init:
+	call car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+ 	branch app_enter_hibernate
+
+car_power_off_signal:	
+	branch car_ui_led_init
+	
+car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_car_power_state
+car_soft_switch_power_on_signal:
+	jam ON,mem_le_adv_enable
+	call car_ui_led_init
+	arg 0,rega
+	call ui_led_blink_start_global
+	
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+car_le_modified_name_adv:
+	arg mem_le_name+7,contw
+	fetch 1,mem_le_lap
+car_name_loop:
+	and pdata,0xF0,temp
+	rshift4 temp,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	and pdata,0x0F,temp
+	call car_hex_to_ascii
+	istoret 1, contw
+	call le_modified_name_att_list
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_adv_data+2,contw
+	arg mem_le_name,contr
+	call memcpy
+car_le_modified_name_scan:
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	arg mem_le_scan_data+2,contw
+	arg mem_le_name,contr
+	branch memcpy
+car_hex_to_ascii:
+	sub temp,9,null
+	branch car_hex_num,positive
+	add temp,55,temp
+	rtn
+car_hex_num:	
+	add temp,48,temp
+	rtn
+
+car_ui_led_init:
+	fetch 1,mem_car_config_blood_led1_gpio
+	bne INVALID_PIN_NUM,car_blood_led_gpio_set
+car_ui_led_init_1:
+	fetch 1,mem_car_config_pairing_led_gpio
+	bne INVALID_PIN_NUM,car_pairing_led_gpio_set
+car_ui_led_init_2:
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	bne INVALID_PIN_NUM,car_low_voltage_led_gpio_set
+car_ui_led_init_3:
+	fetch 1, mem_car_led_num
+	copy pdata,loopcnt
+	setarg mem_car_led_map
+	copy pdata,rega
+car_in_lp1:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq INVALID_PIN_NUM,car_in_lp1_end
+	copy pdata,temp
+	call gpio_config_output
+car_in_lp1_end:
+	loop car_in_lp1
+car_ui_led_init_end:
+	rtn
+car_blood_led_gpio_set:
+	fetch 8,mem_car_config_blood_led1_gpio
+	store 8,mem_car_led_map+2
+	branch car_ui_led_init_1
+car_pairing_led_gpio_set:
+	store 1,mem_car_led_map
+	branch car_ui_led_init_2
+car_low_voltage_led_gpio_set:
+	store 1,mem_car_led_map+1
+	branch car_ui_led_init_3
+
+
+car_init_environment:
+	arg 0,rega
+	call pwm_init
+	call car_ir_rx_init
+	call g24_receive_process_init
+	branch car_init_adc_hvin
+
+car_init_adc_hvin:
+	jam 100,mem_car_notify_vdd_value_last
+	fetch 1,mem_car_config_low_voltage_led_gpio
+	store 1,mem_car_style2_struct_led_gpio
+	branch adc_init_data
+	
+car_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch keyscan_process_lpm_before
+
+car_le_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+car_key_scan_process:
+//	fetch 1,mem_enable_key_scan
+//	rtn blank
+	branch keyscan_key_process
+
+car_scale_process_idle:
+	call car_le_send_packet
+	call car_ir_receive_process
+	call car_g24_status_process
+	branch car_key_scan_process
+
+car_g24_status_process:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 1,mem_car_24g_received_pac
+	beq WORK_PAIRED,car_g24_connected_event
+	rtn
+car_g24_connected_event:
+	fetch 1,mem_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_car_24g_status
+	branch car_g24_connected
+
+car_le_send_packet:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BLE_CONNECTED
+	call le_fifo_check_nearly_full
+	nrtn blank
+	arg mem_car_pop_queue_buff,rega
+	call queue_pop
+	nrtn user
+	arg mem_car_pop_queue_buff,contr
+	branch le_send_notify_from_list
+ 
+car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_LE_CONNECTED,car_scale_event_le_conn
+	beq BT_EVT_LE_DISCONNECTED,car_scale_event_le_discon
+	rtn
+
+car_scale_event_le_conn:
+	setarg disable_24g
+	call g24_store_mem_24g_mode
+	branch car_scale_process_conn
+car_g24_connected:
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+car_scale_process_conn:
+	jam 0x14,mem_car_notify_vdd_timer
+	jam 0,mem_lpm_mode
+	call app_ble_stop_adv
+	call app_lpm_mult_enable
+	fetch 1,mem_car_config_pairing_led_conn_status
+	beq 0x01,car_pairing_led_conn_status_setting
+car_scale_process_conn_next:
+	arg 0,rega
+	branch ui_led_on_global
+car_pairing_led_conn_status_setting:
+	arg 0,rega
+	branch ui_led_blink_stop_global
+
+car_scale_event_le_discon:
+	setarg rx_24g
+	call g24_store_mem_24g_mode
+car_g24_disconnect:
+	setarg 0
+	store 5,mem_car_led_control
+	setarg 4
+	call pwm_disable
+	setarg 5
+	call pwm_disable
+	setarg 20
+	call pwm_disable
+	setarg 21
+	call pwm_disable
+	setarg 22
+	call pwm_disable
+	setarg 7
+	call pwm_disable
+	call queue_init
+	jam 10,mem_motor1_speed
+	jam 10,mem_motor2_speed
+	jam 10,mem_motor3_speed
+//	jam 1,mem_lpm_mode
+	jam 2,mem_lpm_mult
+	arg 0,rega
+	call ui_led_blink_start_global
+
+	setarg FAST_ADV_INTERVAL_VALUE_CAR
+	call shutter_ble_adv_interval_set
+	branch app_ble_start_adv
+
+car_le_bb_event_timer:
+//	call car_ui_power_timeout_timer
+	call car_moto1_blank_data_timer
+	call car_moto2_blank_data_timer
+	call car_moto3_blank_data_timer
+	call app_power_timer
+	call car_led_control_timer
+	call car_notify_vdd_timer
+	call car_24g_no_data_timeout_timer
+	call car_ir_breakdown_timer
+	branch car_attack_shake_timer
+
+car_ir_breakdown_timer:
+	arg mem_car_ir_breakdown_check_timer,regc
+	arg car_ir_breakdown_timeout,regb
+	branch timer_single_step
+car_ir_breakdown_timeout:
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_flag
+	rtn
+	
+car_24g_no_data_timeout_timer:
+	arg mem_car_24g_no_data_timeout_timer,regc
+	arg car_24g_no_data_timer_timeout,regb
+	branch timer_single_step_2B
+car_24g_no_data_timer_timeout:
+	jam WORK_SEARCH,mem_car_24g_status
+	branch car_g24_disconnect
+
+car_attack_shake_timer:
+	arg mem_car_attack_shake_timer,regc
+	arg car_attack_shake,regb
+	branch timer_single_step
+car_attack_shake:
+	fetch 1, mem_car_attack_shake_flag
+	branch car_attack_shake_stop,blank
+	jam 2,mem_car_attack_shake_timer
+	jam 0, mem_car_attack_shake_flag
+	setarg 0x0a02
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_front_battle_tank
+car_attack_shake_front_battle_car:
+	branch car_motor_control
+car_attack_shake_front_battle_tank:
+	setarg 0x0a02
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+car_attack_shake_stop:
+	setarg 0
+	store 4,mem_le_receive_payload
+	branch car_motor_control
+
+car_notify_vdd_timer:
+	fetch 1,mem_car_config_bat_notify_enable
+	rtn blank
+ 	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,car_low_bat_led_off
+	arg mem_car_notify_vdd_timer,regc
+	arg car_notify_vdd,regb
+	branch timer_single_step
+car_notify_vdd:
+	fetch 1,mem_car_notify_vdd_count
+	store 1,mem_car_notify_vdd_timer
+ 	fetch 1,mem_car_working_flag
+ 	nrtn blank
+car_read_hvin:
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_vdd_now_vol
+	arg mem_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetcht 1,mem_car_notify_vdd_value_last
+	isub temp,null
+	branch car_notify_vdd_next2,positive
+	store 1,mem_car_notify_vdd_value_last
+	copy pdata,temp
+car_notify_vdd_next2:
+	storet 1,mem_car_notify_vdd_percent
+	fetch 1,mem_car_config_low_voltage_percent
+	isub temp,null
+	call car_enter_low_bat,positive
+	storet 1,mem_notify_bat_payload 
+	arg 6,loopcnt
+	arg mem_notify_bat_head,contr
+	call calc_check_sum_start
+	store 1,mem_notify_bat_check_sum
+	arg mem_notify_bat_packet,rega
+	branch queue_push
+car_enter_low_bat:
+	fetch 1,mem_low_bat_flag
+	nrtn blank
+	jam 1,mem_low_bat_flag
+	arg 1,rega
+	branch ui_led_blink_start_global
+car_low_bat_led_off:
+	arg 1,rega
+	branch ui_led_blink_stop_global
+
+car_led_control_timer:
+	arg mem_car_led_control_timer,regc
+	arg car_led_control,regb
+	branch timer_single_step
+car_led_control:
+	jam 5,mem_car_led_control_timer
+	jam 0,mem_car_led_no
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_blink_off
+	beq LED_OFF,car_led_control_blink_on
+car_led_control_set:
+	arg mem_car_led_control,contr
+	copy contr,rega
+	arg 8,loopcnt
+car_led_control_timer_next:
+	copy rega,contr
+	ifetch 1,contr
+	copy contr,rega
+	beq LED_OFF,car_led_control_off
+	beq LED_ON,car_led_control_on
+	beq LED_BLINK,car_led_control_blink
+car_led_control_timer_next_2:
+	fetch 1,mem_car_led_no
+	increase 1,pdata
+	store 1,mem_car_led_no
+	loop car_led_control_timer_next
+	rtn
+car_led_switch:
+	fetch 1,mem_car_led_no
+	arg mem_car_config_blood_led_gpio,regb
+	iadd regb,regb
+	ifetcht 1,regb
+	rtn
+car_led_control_off:
+	call car_led_switch
+	call gpio_out_inactive
+	branch car_led_control_timer_next_2
+car_led_control_on:
+	call car_led_switch
+	call gpio_out_active
+	branch car_led_control_timer_next_2
+car_led_control_blink:
+	fetch 1,mem_car_led_blink_status
+	beq LED_ON,car_led_control_off
+	branch car_led_control_on
+car_led_control_blink_on:
+	jam LED_ON,mem_car_led_blink_status
+	branch car_led_control_set
+car_led_control_blink_off:
+	jam LED_OFF,mem_car_led_blink_status
+	branch car_led_control_set
+	
+////////////////////////check sum////////////////////////
+//loopcnt = sum number,contr = ptr
+calc_check_sum_start:
+	arg 0,rega
+calc_check_sum_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop calc_check_sum_loop
+calc_check_sum_and:
+	and rega,0xff,pdata
+	rtn
+
+car_le_receive_data:	
+	fetch 1,mem_le_att_opcode
+	beq ATTOP_WRITE_REQUEST,car_le_parse_att_write_request
+	rtn
+car_le_parse_att_write_request:
+	fetch 2,mem_le_att_handle
+	beq ATT_CAR_CONTROL_HANDLE,car_control_le_receive
+	rtn
+
+/*
+*	typedef struct
+*	{
+*		2byte	packet_head				(mem_app_receive_temp)
+*		1byte	packet_cmd				(mem_app_receive_temp+2)
+*		2byte	packet_payload_length	(mem_app_receive_temp+3)
+*		10byte	packet_payload			(mem_app_receive_temp+5)
+*		1byte	packet_check_sum		(mem_app_receive_temp+15)
+*	}
+*/
+le_app_receive_data:
+	bpatch patch1a_0,mem_patch1a
+	ifetch 5,rega
+	store 5,mem_app_receive_temp
+	fetch 2,mem_app_receive_temp
+	arg LE_RECEIVE_PACKET_HEAD,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_app_receive_temp+3
+	byteswap pdata,pdata
+	store 2,mem_app_receive_temp+3
+	copy pdata,loopcnt
+	increase 5,rega
+	copy rega,contr
+	arg mem_app_receive_temp+5,contw
+	call memcpy
+	ifetch 1,contr
+	store 1,mem_app_receive_temp+15
+	arg mem_app_receive_temp+2,rega
+	arg mem_app_receive_temp+5,regb
+	rtn
+
+car_control_le_receive:
+	setarg 0
+	store 5,mem_le_receive_payload
+	store 5,mem_le_receive_payload+5
+	call le_app_receive_data
+	copy regb,contr
+	arg mem_le_receive_payload,contw
+	arg 10,loopcnt
+	call memcpy
+car_receive_cmd_select:
+	bpatch patch1a_1,mem_patch1a
+	ifetch 1,rega
+	beq CAR_CMD_OLD_CAR_CONTROL,car_drive_old
+	beq CAR_CMD_OLD_SPEED_CONTROL,car_speed_set_old
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_motor_control
+	beq CAR_CMD_IR_CONTROL,car_ir_data_rx_from_app
+	beq CAR_CMD_LED_CONTROL,car_led_control_receive
+	beq CAR_CMD_DEVICE_INFO,car_info_request
+	rtn
+
+car_24g_receive_data:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	
+	fetch 2,mem_car_24g_no_data_timeout_count
+	store 2,mem_car_24g_no_data_timeout_timer
+	
+	jam WORK_PAIRED,mem_car_24g_received_pac
+	
+	setarg offset_24g_rxdata_temp_add3
+	call g24_set_rega
+	call car_control_le_receive
+
+	fetch 1,mem_app_receive_temp+2	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,car_24g_receive_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,car_24g_receive_data_next
+	rtn
+car_24g_receive_data_next:
+	fetch 1,mem_le_receive_payload	//moto1
+	ncall car_moto1_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+2	//moto2
+	ncall car_moto2_enable_blank_data_timer,blank
+	fetch 1,mem_le_receive_payload+4	//moto3
+	ncall car_moto3_enable_blank_data_timer,blank
+	rtn
+
+car_moto1_enable_blank_data_timer:
+	jam 5,mem_car_moto1_blank_timer
+	rtn
+car_moto2_enable_blank_data_timer:
+	jam 5,mem_car_moto2_blank_timer
+	rtn
+car_moto3_enable_blank_data_timer:
+	jam 5,mem_car_moto3_blank_timer
+	rtn
+
+car_moto1_blank_data_timer:
+	arg mem_car_moto1_blank_timer,regc
+	arg car_moto1_blank_data,regb
+	branch timer_single_step
+car_moto2_blank_data_timer:	
+	arg mem_car_moto2_blank_timer,regc
+	arg car_moto2_blank_data,regb
+	branch timer_single_step
+car_moto3_blank_data_timer:		
+	arg mem_car_moto3_blank_timer,regc
+	arg car_moto3_blank_data,regb
+	branch timer_single_step
+
+car_moto1_blank_data:
+	jam 0,mem_le_receive_payload
+	branch car_motor_control
+car_moto2_blank_data:
+	jam 0,mem_le_receive_payload+2
+	branch car_motor_control
+car_moto3_blank_data:
+	jam 0,mem_le_receive_payload+4
+	branch car_motor_control
+	
+	
+///////////////////////Motor//////////////////////////////////////////
+
+car_drive_old:	
+	call car_left_right_control_old
+	branch car_front_back_control_old
+car_left_right_control_old:
+	fetch 1,mem_le_receive_payload
+	store 1,mem_motor2_status
+	branch car_motor2_control
+car_front_back_control_old:
+	fetch 1,mem_motor1_speed
+	call car_reset_old_speed
+	fetch 1,mem_le_receive_payload+1
+	store 1,mem_motor1_status
+	branch car_motor1_control
+car_reset_old_speed:
+	beq SPEED_LEVEL_2,car_reset_old_speed2
+	beq SPEED_LEVEL_3,car_reset_old_speed3
+	store 1,mem_motor1_speed
+	rtn
+car_reset_old_speed2:
+	jam SPEED_LEVEL_5,mem_motor1_speed
+	rtn
+car_reset_old_speed3:
+	jam SPEED_LEVEL_10,mem_motor1_speed
+	rtn
+car_speed_set_old:
+	fetch 1,mem_le_receive_payload
+	call car_reset_old_speed
+	fetch 1,mem_motor1_speed
+	call car_motor_speed_duty_setting
+	call car_motor_speed_duty_transform
+	branch pwm_pwm0_duty_set
+
+car_motor_control:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 6,mem_le_receive_payload
+	store 6,mem_motor1_status
+	fetch 1,mem_motor1_speed
+	fetcht 1,mem_motor2_speed
+	iand temp,pdata
+	fetcht 1,mem_motor3_speed
+	iand temp,pdata
+	call car_motor_working_flag,blank
+	bpatch patch1a_2,mem_patch1a
+	call car_motor1_control
+	call car_motor2_control
+	branch car_motor3_control
+car_motor1_control:
+	arg mem_motor1_pwm_set,regb
+	arg mem_motor1_status,contr
+	branch car_motor_status_select
+car_motor2_control:
+	arg mem_motor2_pwm_set,regb
+	arg mem_motor2_status,contr
+	branch car_motor_status_select
+car_motor3_control:
+	arg mem_motor3_pwm_set,regb
+	arg mem_motor3_status,contr
+	branch car_motor_status_select
+car_motor_working_flag:
+	jam 0,mem_car_working_flag
+	rtn
+
+car_motor_status_select:
+	ifetch 1,contr
+	beq MOTOR_STOP,car_motor_stop
+	beq GO_FRONT,car_motor_positive
+	beq GO_BACK,car_motor_negative
+	rtn
+car_motor_positive:
+	jam 0,mem_motor_select_p_n
+	branch car_motor_negative+1
+car_motor_negative:
+	jam 1,mem_motor_select_p_n
+	ifetch 1,contr
+	store 1,mem_car_motor_speed
+	ifetch 8,regb
+	branch car_motor_work
+
+car_motor_stop:
+	ifetch 1,regb
+	call pwm_disable
+	increase 1,regb
+	ifetch 1,regb
+	branch pwm_disable
+car_motor_work:
+	store 8,mem_motor_pwm_pin1_set
+	jam 1,mem_car_working_flag
+	fetch 1,mem_motor_select_p_n
+	beq 0,car_motor_select_positive
+car_motor_select_negative:
+	fetch 1,mem_motor_pwm_pin2_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin1_set
+car_motor_work_next:
+	call pwm_disable
+	fetch 1,mem_car_motor_speed
+	call car_motor_speed_duty_setting
+	store 1,mem_motor_pwm_dute_set
+	fetch 6,mem_motor_pwm_pin_set
+	store 6,mem_pdatatemp
+	branch pwm_out_set
+car_motor_select_positive:
+	fetch 1,mem_motor_pwm_pin1_set
+	store 1,mem_motor_pwm_pin_set
+	fetch 1,mem_motor_pwm_pin2_set
+	branch car_motor_work_next
+
+car_motor_speed_duty_setting:
+	mul32 pdata,5,pdata
+	add pdata,50,pdata
+	rtn
+car_motor_speed_duty_transform:
+	arg 12000,temp
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient temp
+	copy temp,rega
+	setarg 12000
+	isub temp,regb
+	rtn
+
+/////////////////////IR PROCESS/////////////////////
+car_ir_init:
+	hfetch 1,core_gpio_sel2		// select GPIO3 as pwm4
+	set1 2,pdata
+	hstore 1,core_gpio_sel2
+	setarg 158
+	hstore 2,core_pwm_pcnt4
+	hstore 2,core_pwm_ncnt4
+	rtn
+
+car_ir_data_rx_from_app:
+	fetch 1,mem_car_24g_go_die_flag
+	nrtn blank
+	fetch 2,mem_le_receive_payload
+	store 2,mem_ir_data
+	fetch 1,mem_car_24g_status
+	bne WORK_PAIRED,car_ir_data_tx
+	fetch 2,mem_le_lap
+	store 2,mem_ir_data
+car_ir_data_tx:
+	bpatch patch1a_3,mem_patch1a
+	call car_ir_init
+	call car_ir_enable
+	setarg 48000
+	call sleep
+	call car_ir_disable
+	setarg 7200
+	call sleep
+	arg 16,loopcnt
+car_ir_send_loop:
+	call car_ir_enable
+	fetch 2,mem_ir_data
+	bbit1 0,car_ir_is_bit1
+	setarg 7200
+	call sleep
+	call car_ir_disable
+	branch car_ir_wait_finish
+	
+car_ir_is_bit1:
+	setarg 14400
+	call sleep
+	call car_ir_disable
+car_ir_wait_finish:
+	setarg 7200
+	call sleep
+	fetch 2,mem_ir_data
+	rshift pdata,pdata	
+	store 2,mem_ir_data
+	loop car_ir_send_loop
+
+	jam 2,mem_car_attack_shake_timer
+	jam 1, mem_car_attack_shake_flag
+	setarg 0x0a01
+	store 2,mem_le_receive_payload
+	fetch 1,mem_car_config_device_select
+	beq DEVICE_BATTLE_TANK,car_attack_shake_back_battle_tank
+car_attack_shake_back_battle_car:
+	branch car_motor_control
+car_attack_shake_back_battle_tank:
+	setarg 0x0a01
+	store 2,mem_le_receive_payload+2
+	branch car_motor_control
+	
+car_ir_enable:
+	hfetch 1,core_gpio_key2			// PWM4_enable
+	or_into 0x40,pdata
+	hstore 1,core_gpio_key2	
+	rtn
+car_ir_disable:
+	hfetch 1,core_gpio_key2			// PWM4_disable
+	and_into 0xbf,pdata
+	hstore 1,core_gpio_key2
+	rtn
+	
+car_ir_rx_init:
+	fetch 1,mem_car_config_ir_enable
+	rtneq 0x00
+	call lpm_disable_exen_output
+	fetcht 1,mem_car_config_ir_rx_gpio
+	storet 1,mem_ir_rx_gpio
+	call gpio_config_input
+	call car_ir_gpio_get_status
+	nrtn true
+	jam 1,mem_car_ir_breakdown_check_timer
+	rtn
+
+car_ir_receive_process:
+	fetch 1,mem_car_config_ir_enable
+	rtneq FLAG_IR_DISABLE	
+	fetch 1,mem_car_ir_breakdown_flag
+	nrtn blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,car_ir_receive_process_next
+	fetch 1,mem_car_24g_status
+	rtnne WORK_PAIRED
+car_ir_receive_process_next:
+	bpatch patch1a_4,mem_patch1a
+	call car_ir_gpio_get_status
+	nrtn true
+	setarg 36000
+	call sleep
+	call car_ir_gpio_get_status
+	nrtn true
+	call car_ir_clk_get
+car_ir_packet_head_wait_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_packet_head_wait_end,true
+	arg 0,rega
+	arg 16,loopcnt
+	call car_ir_clk_get
+car_ir_receive_process_loop:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	nbranch car_ir_receive_process_loop,true
+	setarg 10800
+	call sleep
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1,true
+car_ir_get_bit0:
+	setarg 0
+ 	rshift rega,rega
+	ior rega,rega
+	loop car_ir_receive_process_loop
+	branch car_ir_receive_process_end
+car_ir_get_bit1:
+	setarg 0x8000
+	rshift rega,rega
+	ior rega,rega
+	call car_ir_clk_get
+car_ir_get_bit1_wait_low_end:
+	call car_ir_clk_check
+	nrtn positive
+	call car_ir_gpio_get_status
+	branch car_ir_get_bit1_wait_low_end,true
+	loop car_ir_receive_process_loop
+car_ir_receive_process_end:
+	bpatch patch1a_5,mem_patch1a
+	copy rega,pdata
+	store 2,mem_ir_rx_buf
+	store 2,mem_ir_notify_data+8
+	fetch 1,mem_car_24g_status
+	beq WORK_PAIRED,car_ir_24g_receive_attack
+car_ir_data_notify:
+	arg 0x07,loopcnt
+	arg mem_ir_notify_data_head,contr
+	call calc_check_sum_start
+	store 1,mem_ir_notify_data_check_sum
+	arg mem_ir_notify_data,rega
+	branch queue_push
+
+car_ir_24g_receive_attack:
+	fetch 1,mem_car_24g_ir_receive_attack_count
+	increase 1,pdata
+	store 1,mem_car_24g_ir_receive_attack_count
+	div pdata,2
+	call wait_div_end
+	quotient temp
+	remainder pdata
+	nbranch car_ir_24g_receive_attack_blink,blank
+car_ir_24g_receive_attack_off:
+	fetch 1,mem_car_config_led_num
+	isub temp,null
+	call car_ir_24g_go_die,zero
+	arg mem_car_led_control,pdata
+	increase -1,temp
+	iadd temp,rega
+	arg 0,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_receive_attack_blink:
+	arg mem_car_led_control,pdata
+	iadd temp,rega
+	arg 2,pdata
+	istore 1,rega
+	rtn
+car_ir_24g_go_die:
+	jam 1,mem_car_24g_go_die_flag
+	rtn
+car_ir_clk_get:
+	copy clkn_bt,pdata
+	store 4,mem_ir_receive_clkn
+	rtn
+car_ir_clk_check:
+	copy clkn_bt,pdata
+	fetcht 4,mem_ir_receive_clkn
+	isub temp,pdata
+	sub pdata,200,null
+	rtn
+
+car_ir_gpio_get_status:
+	fetcht 1,mem_ir_rx_gpio
+	branch gpio_get_bit
+
+car_led_control_receive:
+	fetch 8,mem_le_receive_payload
+	store 8,mem_car_led_control
+	rtn
+
+car_info_request:
+	fetch 1,mem_car_config_device_select
+	store 1,mem_car_info_request_payload
+	fetch 1,mem_car_config_motor_layout
+	store 1,mem_car_info_request_payload+1
+	fetch 1,mem_car_config_ir_enable
+	store 1,mem_car_info_request_payload+2
+	arg 13,loopcnt
+	arg mem_car_info_request_head,contr
+	call calc_check_sum_start
+	store 1,mem_car_info_request_checksum
+	arg mem_car_info_request,rega
+	branch queue_push
+    
+endif
+
+
+
Index: YJX_Only24g/main/program/app_light.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_light.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_light.prog	(working copy)
@@ -0,0 +1,227 @@
+
+light_init:
+	call clear_eeprom_size_2k
+	jam 0x7a,mem_curr_packet_num
+	call light_load_controler_list
+	call light_init_crr_cmd_count
+	setarg light_pairing_timer
+	store 2,mem_cb_event_timer
+	arg 0,rega
+	branch pwm_init
+
+light_pairing_timer:
+	fetch 2,mem_light_pairing_timer
+	rtn blank
+	increase -1,pdata
+	store 2,mem_light_pairing_timer
+	rtnne 0
+	jam 0,mem_light_pairing_enable
+	rtn
+
+light_init_crr_cmd_count:
+	bpatch patch1a_6,mem_patch1a
+	fetch 1,mem_light_next_record
+	sub pdata,40,null
+	rtn positive
+	jam 0,mem_light_next_record
+	rtn
+
+light_load_controler_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_read_eep_data
+
+//output user:group record find
+light_find_controler_pairing:
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_pairing_loop:
+	bpatch patch1a_7,mem_patch1a
+	call light_compare_addr_record
+	branch enable_user,zero
+light_find_single_pairing_diff:
+	increase 4,rega
+	loop light_find_controler_pairing_loop
+	rtn
+
+//rega: regb:
+light_compare_addr_record:
+	bpatch patch1b_0,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	rtn
+//rega: regb:
+light_compare_single_record:
+	bpatch patch1b_1,mem_patch1b
+	ifetch 3,rega
+	ifetcht 3,regb
+	isub temp,null
+	nrtn zero
+	ifetch 1,contr
+	sub pdata,0,null //0 zero
+	rtn zero
+	add rega,3,contr
+	ifetcht 1,contr
+	isub temp,null
+	rtn
+
+//output:find single controler
+light_find_controler_cmd:
+	bpatch patch1b_2,mem_patch1b
+	disable user
+	fetch 1,mem_light_cnum
+	copy pdata,loopcnt
+	
+	arg mem_light_clist,rega
+	copy regc,regb
+light_find_controler_cmd_loop:
+	call light_compare_single_record
+	branch enable_user,zero
+	increase 4,rega
+	loop light_find_controler_cmd_loop
+	rtn
+
+//regc
+light_recv_adv:
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	arg mem_le_rxbuf+12,regc
+
+light_anylize_command:
+	ifetch 2,regc
+	arg 0x55aa,temp
+	isub temp,null
+	nrtn zero
+	copy contr,regc
+	ifetcht 3,regc
+	setarg 0xffffff
+	isub temp,null
+	branch light_parse_cmd,zero
+	call light_find_controler_cmd
+	branch light_parse_cmd,user
+	rtn
+
+light_parse_cmd:
+	bpatch patch1b_3,mem_patch1b
+	increase 4,regc
+	ifetch 1,regc
+	fetcht 1,mem_curr_packet_num
+	isub temp,null
+	rtn zero
+	store 1,mem_curr_packet_num
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	
+	increase 1,regc
+	ifetch 1,regc
+	store 1,mem_light_crr_cmd_count
+	copy pdata,loopcnt
+	rtn blank
+light_parse_cmd_loop:
+	ifetch 1,contr
+	beq LIGHT_CMD_PWM0,light_parse_cmd_pwm0
+	beq LIGHT_CMD_PWM1,light_parse_cmd_pwm1
+	beq LIGHT_CMD_PWM2,light_parse_cmd_pwm2
+	beq LIGHT_CMD_PWM3,light_parse_cmd_pwm3
+	beq LIGHT_CMD_PWM4,light_parse_cmd_pwm4
+	beq LIGHT_CMD_PWM5,light_parse_cmd_pwm5
+	beq LIGHT_CMD_AUTO_MODE,light_parse_auto_mode
+	beq LIGHT_CMD_PAIRING,light_parse_pairing
+	loop light_parse_cmd_loop
+	rtn
+
+light_parse_cmd_pwm0:
+	copy contr,regc
+	fetch 1,mem_light_pwm0
+	store 1,mem_pdatatemp
+	arg 0,temp
+light_parse_cmd_pwm_common:
+	storet 1,mem_pdatatemp+1
+	setarg 10000
+	store 3,mem_pdatatemp+2
+	ifetch 1,regc
+	store 1,mem_pdatatemp+5
+	call  pwm_out_set
+	and regc,1,contr
+	loop light_parse_cmd_loop
+	rtn
+light_parse_cmd_pwm1:
+	copy regc,contr
+	fetch 1,mem_light_pwm1
+	store 1,mem_pdatatemp
+	arg 1,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm2:
+	copy regc,contr
+	fetch 1,mem_light_pwm2
+	store 1,mem_pdatatemp
+	arg 2,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm3:
+	copy regc,contr
+	fetch 1,mem_light_pwm3
+	store 1,mem_pdatatemp
+	arg 3,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm4:
+	copy regc,contr
+	fetch 1,mem_light_pwm4
+	store 1,mem_pdatatemp
+	arg 4,temp
+	branch light_parse_cmd_pwm_common
+light_parse_cmd_pwm5:
+	copy regc,contr
+	fetch 1,mem_light_pwm5
+	store 1,mem_pdatatemp
+	arg 5,temp
+	branch light_parse_cmd_pwm_common
+
+light_parse_auto_mode:
+	ifetch 1,contr
+	rtn
+
+light_parse_pairing:
+	copy contr,regc
+	fetch 1,mem_light_pairing_enable
+	bne 1,light_parse_pairing_abandon
+	call update_controler_list
+light_parse_pairing_abandon:
+	and regc,4,contr
+	rtn
+update_controler_list:
+	bpatch patch1b_4,mem_patch1b
+	call light_find_controler_pairing
+	branch update_conrtoler_list_found,user
+	fetch 1,mem_light_next_record
+	copy pdata,temp
+	increase 1,pdata
+	store 1,mem_light_next_record
+	call light_init_crr_cmd_count
+	lshift2 temp,temp
+	setarg mem_light_clist
+	iadd temp,contw
+	ifetch 4,regc
+	istore 4,contw
+	branch update_conrtoler_store_list
+update_conrtoler_list_found:
+	add regc,3,contr
+	ifetch 1,contr
+	rtn blank
+	ifetch 4,regc
+	istore 4,rega
+update_conrtoler_store_list:
+	arg mem_light_next_record,rega
+	arg 0,regb
+	arg 81,temp
+	branch iicd_write_eep_data
+
+
+
Index: YJX_Only24g/main/program/app_lightC.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_lightC.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_lightC.prog	(working copy)
@@ -0,0 +1,55 @@
+lightc_init:
+	//key scan init
+
+	//gpio init
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+	rtn
+
+
+lightc_dispatch:
+	//key scan 
+	
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_active
+
+
+	fetcht 1,mem_lightc_led_gpio
+	call gpio_out_inactive
+
+	//
+	call lightc_start_adv
+
+	fetch 1,mem_adv_time
+	nrtn blank
+	//sleep 
+	call lpm_write_gpio_wakeup
+	hfetch 4,core_lpm_ctrl
+	set0 15,pdata						/* lowest lpo */
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	arg param_hibernate_clks,temp
+	branch lpm_sleep
+
+lightc_adv:
+	fetch 1,mem_adv_time
+	branch le_adv_loop_tx,blank
+	increase -1,pdata
+	store 1,mem_adv_time
+	branch le_adv_loop_tx
+
+lightc_start_adv:
+	mul32 pdata,20,pdata
+	arg mem_cmd0_string,contr
+	iadd contr,contr
+	ifetch 1,contr
+	rtn blank
+	copy pdata,rega
+	copy rega,loopcnt
+	arg mem_le_adv_data+2,contw
+	call memcpy
+	copy rega,pdata
+	increase 2,pdata
+	store 1,mem_le_adv_data_len
+	rtn
+
Index: YJX_Only24g/main/program/app_module.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_module.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_module.prog	(working copy)
@@ -0,0 +1,1506 @@
+
+ifdef COMPILE_MODULE
+
+
+
+
+module_init:
+	
+	rtn wake
+	call le_modified_name
+	call adc_init_data
+	setarg module_process_idle
+	store 2,mem_cb_idle_process
+	setarg module_bt_conn_process
+	store 2,mem_cb_bt_process
+	setarg module_process_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg module_le_conn_process
+	store 2,mem_cb_le_process
+	setarg module_lpm_lock
+	store 2,mem_cb_check_wakelock
+	setarg module_hci_cmd_transmit_le_notify
+	store 2,mem_cb_ble_transmit
+	setarg module_hci_event_receive_spp_data
+	store 2,mem_cb_receive_spp_data
+	setarg module_le_receive_data
+	store 2,mem_cb_att_write
+	setarg module_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	call module_spp_clear_last_transmite_clock
+	bpatch patch1b_5,mem_patch1b
+	call module_lpm_uart_init
+	call module_gpio_init
+	call check_module_disabled
+	branch module_hci_event_enter_standby_mode
+
+
+module_lpm_uart_init:
+	fetch 4,mem_module_uart_rx_buffer
+	hstore 4,core_uart_rsaddr
+
+	fetch 4,mem_module_uart_tx_buffer
+	hstore 4,core_uart_tsaddr
+
+	hfetch 1,core_gpio_sel1
+	or_into 0x04,pdata
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	jam 0x00,core_uart_ctrl
+
+	fetch 2,mem_module_uart_rx_buffer
+	hstore 2,core_uart_rrptr
+	fetch 2,mem_module_uart_tx_buffer
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+
+	hfetch 4,core_gpio_pu0
+	set1 7,pdata
+	hstore 4,core_gpio_pu0
+	
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	jam uartclk_crystal,core_uart_clksel
+	jam uart_ctrl_h4,core_uart_ctrl
+
+	fetch 1,mem_module_flag
+	isolate1 MODULE_FLAG_UART_FLOW_CONTROL,pdata
+	hfetcht 1,core_uart_ctrl
+	setflag true,4,temp
+	hstoret 1,core_uart_ctrl
+	rtn
+	
+
+
+module_lpm_init:
+	call module_spp_clear_last_transmite_clock
+	branch module_lpm_uart_init
+//	branch module_gpio_init
+	
+module_gpio_init:
+	//module state pin
+//	call ui_led_init	
+//	call app_led_start_blink
+	//module conn state pin
+	fetcht 1,mem_module_connect_state_gpio
+	call gpio_config_output
+	call module_set_conn_pin_low
+	
+	fetcht 1,mem_module_wake_up_gpio
+	branch gpio_config_input
+
+module_lpm_lock:
+	fetcht 1,mem_module_wake_up_gpio
+	call gpio_get_bit
+	nbranch app_put_lpm_wake_lock,true
+	branch app_get_lpm_wake_lock
+
+	
+module_le_conn_process:
+	rtn
+
+module_bt_conn_process:
+	call module_spp_enter_sniff
+	branch module_control_air_flow
+
+module_spp_enter_sniff:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_spp_clear_last_transmite_clock
+	bpatch patch1b_6,mem_patch1b
+	setarg 0x3eff
+	fetcht 4,mem_last_transmite_clock
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_SNIFF,module_spp_clear_last_transmite_clock
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_SNIFF
+	call module_set_sniff_task_flag
+	call app_bt_enter_sniff
+module_spp_clear_last_transmite_clock:
+	copy clkn_bt,pdata
+	store 4,mem_last_transmite_clock
+	rtn
+	
+
+module_process_idle:
+	call module_control_air_flow
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	branch module_process
+
+	
+module_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BB_CONNECTED,module_process_bb_conn
+	beq BT_EVT_BB_DISCONNECTED,module_process_bb_event_disconned
+	beq BT_EVT_RECONN_FAILED,module_process_reconn_fail
+	beq BT_EVT_SETUP_COMPLETE,module_process_setup_complete
+	beq BT_EVT_SPP_CONNECTED,module_process_spp_connected
+	beq BT_EVT_SPP_DISCONNECTED,module_process_spp_disconnected
+	beq BT_EVT_PINCODE_REQ,module_process_evt_pincode_req
+	beq BT_EVT_ENTER_SNIFF,module_process_enter_sniff
+	beq BT_EVT_EXIT_SNIFF,module_process_exit_sniff
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,module_process_page_time_out
+	beq BT_EVT_LE_CONNECTED,module_process_le_conn
+	beq BT_EVT_LE_DISCONNECTED,module_process_bb_even_le_disconn
+	beq BT_EVT_SNIFF_NOT_ACCEPT,module_process_sniff_not_accept
+	beq BT_EVT_UNSNIFF_ACCEPT,module_process_unsniff_accept
+	beq BT_EVT_UNSNIFF_NOT_ACCEPT,module_process_unsniff_not_accept
+	beq BT_EVT_LE_PAIRING_FAIL,module_hci_event_le_pairing_fail
+	beq BT_EVT_LE_PAIRING_SUCCESS,module_hci_event_le_pairing_success
+	beq BT_EVT_LE_START_ENC,module_hci_event_start_enc
+	beq BT_EVT_LE_PAUSE_ENC,module_hci_event_pause_enc
+	beq BT_EVT_LE_TK_GENERATE,module_hci_event_le_tk
+	beq BT_EVT_BT_GKEY_GENERATE,module_hci_event_gkey_generate
+	beq BT_EVT_BT_GET_PASSKEY,module_hci_event_passkey_entry_mode
+	beq BT_EVT_BT_PAIRING_FAIL,module_hci_event_bt_pairing_fail	
+	beq BT_EVT_BT_PAIRING_SUCCESS,module_hci_event_bt_pairing_success
+ifdef SECURE_CONNECTION	
+	beq BT_EVT_LE_GKEY_GENERATE,module_hci_event_le_gkey
+endif
+	beq BT_EVT_STORE_NVRAM,module_hci_event_store_device
+	beq BT_EVT_LE_LTK_LOST,module_process_ble_ltk_lost
+	rtn
+
+	
+module_process_bb_event_disconned:
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_flag_pairing_state
+	ncall module_hci_event_bt_pairing_fail,blank
+	call module_disconn_start
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	branch  module_spp_disconnected
+
+module_process_spp_connected:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_SPP_CONN,pdata
+	store 2,mem_ui_state_map
+	fetch 1,mem_module_spp_lpm_mult
+	store 1,mem_lpm_mult
+	call module_set_conn_pin_low
+	branch module_hci_event_spp_connect
+
+module_process_spp_disconnected:
+//	branch module_spp_disconnected
+module_spp_disconnected:
+	fetch 2,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	set0 UI_STATE_BT_SPP_CONN ,pdata
+	store 2,mem_ui_state_map
+	branch module_hci_event_spp_disconnect
+
+
+module_process_enter_sniff:
+
+module_sniff_param_check:
+	call module_spp_clear_last_transmite_clock
+	//fetch 1,mem_context
+	//rtnbit0 state_insniff
+	fetch 2,mem_context+coffset_tsniff
+	rshift pdata,pdata
+	fetcht 2,mem_sniff_param_interval
+	isub temp,null
+	nbranch module_sniff_param_check_unsniff,zero
+	branch app_lpm_mult_enable
+module_sniff_param_check_unsniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	hfetch 2,core_uart_rxitems    //*
+	ncall module_set_unsniff_task_flag,blank    //*加这两句话
+	branch app_bt_sniff_exit
+
+module_process_exit_sniff:
+	call module_clear_sniff_task_flag
+	branch app_lpm_mult_disable
+ 	
+module_process_setup_complete:
+	call module_spp_clear_last_transmite_clock
+	branch module_conn_start
+	
+module_process_bb_even_le_disconn:
+	call le_clr_config_more_data
+	call module_disconn_start
+	branch module_hci_event_le_disconnect
+
+module_process_evt_pincode_req:
+	branch  app_bt_set_pincode
+	
+
+module_process_sniff_not_accept:
+	branch module_clear_sniff_task_flag
+
+
+module_process_unsniff_accept:
+	fetch 1,mem_module_flag
+	bbit0 MOUDLE_TASK_UNSNIFF,app_bt_enter_sniff
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_unsniff_not_accept:
+	branch module_clear_unsniff_task_flag
+
+	
+module_process_le_conn:
+	call le_send_att_exchange_mtu_requset
+	call module_conn_start
+	fetch 1,mem_module_le_lpm_mult
+	store 1,mem_lpm_mult
+	branch module_hci_event_le_connect
+
+
+module_process_bb_conn:
+	jam 0,mem_flag_mode_ssp_pin
+	call module_clear_sniff_task_flag
+	branch module_clear_unsniff_task_flag
+
+module_process_page_time_out:
+module_process_reconn_fail:
+module_disconn_start:
+	call module_start_adv_discovery_by_command
+	branch module_set_conn_pin_high
+
+
+module_process_ble_ltk_lost:
+	call le_send_reject_ind
+	branch le_send_smp_security_request
+
+
+module_set_conn_pin_high:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_active
+
+module_conn_start:
+	call module_stop_adv_discovery
+	branch module_set_conn_pin_low
+	
+module_stop_adv_discovery:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	call app_bt_stop_discovery,true
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	call app_ble_stop_adv,true
+	rtn
+module_set_conn_pin_low:
+	fetcht 1,mem_module_connect_state_gpio
+	branch gpio_out_inactive
+
+module_process_with_credit:
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	branch rfcomm_send_uih_without_payload
+
+module_process:
+	hfetch 1,core_uart_status
+	bbit1 uart_status_rx_fifo_empty,module_process_with_credit  //rx no data
+	call uartd_prepare_rx
+	ifetch 1,contru
+	bne 0x01,module_hci_in_excp
+	hfetch 2,core_uart_rxitems
+	sub pdata,2,null
+	rtn positive
+	ifetch 1,contru
+	store 1,mem_module_uart_opcode
+	ifetcht 1,contru
+	copy contru,rega
+	storet 1,mem_module_uart_len
+	add temp,3,temp
+	hfetch 2,core_uart_rxitems
+	isub temp,temp
+	nrtn positive
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call module_hci_cmd_control
+	fetch 1,mem_module_temp_nl_discard_packet
+	rtneq HCI_NOT_DISCARD_PACKET
+	branch module_hci_dicard_packet //discard this packet
+
+module_hci_in_excp:
+	call delay_10ms
+	call module_hci_event_invalid_packet
+	branch module_hci_release_except
+
+
+module_hci_release_except:
+	bpatch patch1b_7,mem_patch1b
+	hfetch 2,core_uart_rxitems
+	rtn blank
+	call uartd_prepare_rx
+	ifetch 1,contru
+	sub pdata,0x01,null
+	ncall module_hci_dicard_bytes,zero
+	nbranch module_hci_release_except,zero
+	ifetch 1,contru
+	rtneq HCI_CMD_SPP_DATA_REQ
+	rtneq HCI_CMD_SET_CREDIT_GIVEN
+	increase -1,contru
+	call module_hci_dicard_bytes
+	branch module_hci_release_except
+
+module_hci_dicard_packet:
+	call uartd_prepare_rx
+	increase 2,contru
+	ifetch 1,contru
+	iadd contru,contru
+module_hci_dicard_bytes:
+	branch uartd_rxdone
+	
+/*********************HCI CONTROL*********************/
+module_hci_cmd_control:
+	bpatch patch1c_0,mem_patch1c
+	fetch 1,mem_module_uart_opcode
+	beq HCI_CMD_SET_BT_ADDR_REQ,module_hci_cmd_set_bt_addr
+	beq HCI_CMD_SET_LE_ADDR_REQ,module_hci_cmd_set_le_addr
+	beq HCI_CMD_SET_VISIBILITY_REQ,module_hci_cmd_set_visibility	
+	beq HCI_CMD_SET_BT_NAME_REQ,module_hci_cmd_set_bt_name
+	beq HCI_CMD_SET_LE_NAME_REQ,module_hci_cmd_set_le_name
+	beq HCI_CMD_SPP_DATA_REQ,module_hci_cmd_receive_spp_data
+	beq HCI_CMD_LE_DATA_REQ,module_hci_cmd_receive_le_data
+	beq HCI_CMD_STATUS_IRQ,module_hci_cmd_inquire_status
+	beq HCI_CMD_SET_PAIRING_REQ,module_hci_cmd_set_pairing_mode
+	beq HCI_CMD_SET_PINCODE_REQ,module_hci_cmd_set_pincode	
+	beq HCI_CMD_SET_UARTCONTROL_REQ,module_hci_cmd_set_uart_control_mode
+	beq HCI_CMD_SET_UART_BAUD_REQ,module_hci_cmd_set_uart_baud
+	beq HCI_CMD_VERSION_REQ,module_hci_cmd_version_request
+	beq HCI_CMD_BT_DISCONNECT,module_hci_cmd_bt_disconnect
+	beq HCI_CMD_BLE_DISCONNECT,module_hci_cmd_ble_disconnect
+	beq HCI_CMD_SET_NVRAM_REQ,module_hci_cmd_set_nvram
+	beq HCI_CMD_CONFIRM_GKEY,module_hci_cmd_confirm_gkey
+	beq HCI_CMD_SET_CREDIT_GIVEN,module_hci_cmd_set_credit_given
+	beq HCI_CMD_AUTO_ADV_SCAN,module_hci_cmd_auto_adv
+	beq HCI_CMD_POWER_REQ,module_hci_cmd_power_request
+	beq HCI_CMD_POWER_SET,module_hci_cmd_power_set
+	beq HCI_CMD_PASSKEY_ENTRY,module_hci_cmd_passkey_entry
+	beq HCI_CMD_SET_GPIO,module_hci_cmd_set_gpio
+	beq HCI_CMD_READ_GPIO,module_hci_cmd_read_gpio
+	beq HCI_CMD_LE_SET_PAIRING,module_hci_cmd_le_set_pairing_mode
+	beq HCI_CMD_LE_SET_ADV_DATA,module_hci_cmd_le_set_adv_data
+	beq HCI_CMD_LE_SET_SCAN_DATA,module_hci_cmd_le_set_scan_data
+	beq HCI_CMD_LE_SEND_CONN_UPDATE_REQ,module_hci_cmd_le_send_conn_update_req
+	beq HCI_CMD_LE_SET_ADV_PARM,module_hci_cmd_set_le_adv_parameter
+	beq HCI_CMD_LE_START_PAIRING,module_hci_cmd_le_start_pairing
+	beq HCI_CMD_SET_WAKE_GPIO,module_hci_cmd_set_wake_gpio
+	beq HCI_CMD_SET_TX_POWER,module_hci_cmd_set_tx_power
+	beq HCI_CMD_LE_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey
+	beq HCI_CMD_REJECT_JUSTWORK,module_hci_cmd_set_reject_justwork_flag
+	beq HCI_CMD_RESET_CHIP_REQ,module_hci_cmd_reset_chip
+	beq HCI_CMD_LE_SET_FIXED_PASSKEY,module_hci_cmd_le_set_fixed_passkey
+	beq HCI_TEST_CMD_CLOSE_LPM,module_hci_test_cmde_close_lpm
+	branch  module_hci_event_receive_invalid_cmd
+
+/*********************HCI COMMAND*********************/
+
+//command opcode 0x00
+module_hci_cmd_set_bt_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_lap
+	branch module_hci_event_receive_valid_cmd
+
+//command opcode 0x01
+module_hci_cmd_set_le_addr:
+	fetch 1,mem_module_uart_len
+	bne 6,module_hci_event_receive_invalid_cmd
+	ifetch 6,contru
+	store 6,mem_le_lap
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x02
+module_hci_cmd_set_visibility:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	call module_hci_event_receive_valid_cmd
+	ifetcht 1,contru
+	storet 1,mem_module_bluetooth_stauts_by_command
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	rtnbit1 UI_STATE_BT_CONNECTED
+module_start_adv_discovery_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BT_BIT,pdata
+	nbranch moudle_start_adv_by_command,true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	and temp,0x03,pdata
+	store 1,mem_scan_mode
+moudle_start_adv_by_command:
+	fetch 1,mem_module_state
+	isolate1 MOUDLE_STATE_BLE_BIT,pdata
+	nrtn true
+	fetcht 1,mem_module_bluetooth_stauts_by_command
+	isolate1 2,temp
+	branch app_ble_start_adv,true
+	branch app_ble_stop_adv
+
+
+//command opcode 0x03
+module_hci_cmd_set_bt_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,67,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_local_name_length
+	arg 8,loopcnt
+	call memset0
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_local_name,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x04
+module_hci_cmd_set_le_name:
+	fetch 1,mem_module_uart_len
+	sub pdata,29,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_name_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_name,contw
+	call uart_copy_rx_bytes_fast
+	call le_modified_name
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x05
+module_hci_cmd_receive_spp_data:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_SPP_CONN,module_hci_event_receive_invalid_cmd
+	call app_check_sniff
+	branch module_hci_cmd_spp_exit_sniff,true
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	fetch 1,mem_remote_credits
+	rtn blank
+	fetch 2,mem_nl_rx_len_all
+	bne 0,module_hci_cmd_pass_init_ng_rx_len_all
+	fetch 1,mem_module_uart_len
+	store 2,mem_nl_rx_len_all
+
+	copy rega,contru
+//	ifetch 2,contru
+//	store 2,mem_nl_rx_handle
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+module_hci_cmd_pass_init_ng_rx_len_all:
+	call module_hci_cmd_get_current_packet_len_and_remain_len
+	branch spp_tx_rfcomm_packet
+	
+module_hci_cmd_spp_exit_sniff:
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	branch module_exit_sniff
+
+module_hci_cmd_get_current_packet_len_and_remain_len:
+	call module_hci_cmd_get_current_patcket_len
+	fetch 2,mem_nl_rx_len_all
+	fetcht 2,mem_current_packet_length
+	isub temp,pdata
+	store 2,mem_nl_rx_len_all
+	rtn
+
+module_hci_cmd_get_current_patcket_len:
+	fetch 2,mem_nl_rx_len_all
+	arg DM_REFCOM_BUFF_LEN,temp
+	call not_greater_than
+	fetcht 2,mem_rfcomm_max_frame_size
+	call not_greater_than
+	fetcht 2,mem_pn_max_frame_size
+	call not_greater_than
+	store 2,mem_current_packet_length
+	rtn
+
+module_hci_command_tx_spp_tx_complete:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	jam HCI_CMD_SPP_DATA_REQ,mem_module_uart_opcode
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x09
+module_hci_cmd_receive_le_data:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	call module_check_ble_encrypt_state
+	branch module_hci_event_receive_invalid_cmd,user
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_FINISH,module_hci_cmd_receive_le_data_finish
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	ifetch 2,contru		//handle
+	store 2,mem_module_hci_notify_handle
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_uart_len
+	pincrease -2
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	branch module_hci_event_receive_invalid_cmd,zero
+	store 1,mem_module_hci_notify_len
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	call le_set_config_more_data
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	call module_hci_cmd_transmit_le_notify
+	fetch 1,mem_module_flag
+	rtnbit0 MODULE_FLAG_BLE_DATA_FINISH
+module_hci_cmd_receive_le_data_finish:
+	jam HCI_DISCARD_PACKET,mem_module_temp_nl_discard_packet 
+	call module_clear_le_tx_data_flag
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_transmit_le_notify:
+	fetch 1,mem_module_hci_notify_len
+	rtn blank
+	call le_fifo_check_nearly_full
+	nrtn blank				//no fifo
+	call module_get_le_remote_mtu
+	bpatch patch1c_1,mem_patch1c
+	add temp,-3,pdata		//sub handle and opcode
+	fetcht 1,mem_module_hci_notify_len
+	call not_greater_than
+	copy pdata,rega
+	copy temp,pdata
+	isub rega,pdata
+	store 1,mem_module_hci_notify_len
+	fetcht 2,mem_module_hci_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 2,mem_module_hci_nofiy_addr
+	copy pdata,contru
+	copy rega,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contru,pdata
+	store 2,mem_module_hci_nofiy_addr
+	fetch 1,mem_module_hci_notify_len
+	nrtn blank
+	branch module_set_le_tx_data_flag
+
+
+//output: temp is master mtu
+module_get_le_remote_mtu:
+	arg 0x17,temp
+	fetch 1,mem_module_flag
+	rtnbit1 MODULE_FLAG_BLE_SEND_MTU23
+	fetcht 2,mem_le_remote_mtu
+	rtn
+
+module_check_ble_encrypt_state:
+	fetch 1,mem_module_flag
+	bbit1 MODULE_FLAG_BLE_DATA_ENCRYPT,le_check_encrypt_state
+	branch disable_user
+	
+
+//command opcode 0x0b
+module_hci_cmd_inquire_status:
+	branch module_hci_event_status_res
+
+
+//command opcode 0x0c
+module_hci_cmd_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	beq PAIRING_PINCODE,module_hci_pairing_pincode_mode
+	beq PAIRING_JUSTWORK,module_hci_pairing_just_work_mode
+	beq PAIRING_PASSKEY,module_hci_pairing_passkey
+	beq PAIRING_CONFIRM,module_hci_pairing_numeric_comparison
+	branch module_hci_event_receive_invalid_cmd
+module_hci_pairing_pincode_mode:
+	call ssp_disable
+	jam 0,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_just_work_mode:
+	setarg SSP_MODE_JUST_WORK_IO_CAP_DATA
+module_hci_sspairing_mode:	
+	store 3,mem_sp_iocap_local
+	store 1,mem_ssp_mode_flag
+	call ssp_enable
+	jam 1,mem_ssp_enable
+	branch module_hci_event_receive_valid_cmd
+module_hci_pairing_passkey:
+	setarg SSP_MODE_PASSKEY_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+module_hci_pairing_numeric_comparison:
+	setarg SSP_MODE_SSP_PIN_IO_CAP_DATA
+	branch module_hci_sspairing_mode
+
+//command opcode 0x0d
+module_hci_cmd_set_pincode:
+	fetch 1,mem_module_uart_len
+	sub pdata,16,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_pin_length
+	copy pdata,loopcnt
+	arg mem_pin,contw
+	call uart_copy_rx_bytes
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x0e
+module_hci_cmd_set_uart_control_mode:
+	copy rega,contru
+	ifetch 1,contru
+	hfetcht 1,core_uart_ctrl
+	nsetflag blank,4,temp
+	hstoret 1,core_uart_ctrl
+ 	branch module_hci_event_receive_valid_cmd
+
+ 	
+//command opcode 0x0f
+module_hci_cmd_set_uart_baud:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	call string2dec_from_uart
+	setarg uart_clk_24
+	idiv temp
+	call wait_div_end
+	quotient pdata
+module_hci_cmd_set_uart_baud_ok:
+	store uart_baud_len,mem_baud
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	branch uart_set_baud_by_mem
+
+
+//command opcode 0x10
+module_hci_cmd_version_request:
+	arg 2,rega
+	arg mem_soft_version_num,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+module_hci_event_set_cmd_send_response:
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	arg 0,temp
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x11
+module_hci_cmd_bt_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_bt_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_bt_disconnect
+
+	
+//command opcode 0x12
+module_hci_cmd_ble_disconnect:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+module_hci_cmd_ble_disconnect_doing:
+	call module_hci_event_receive_valid_cmd
+	branch app_ble_disconnect
+
+
+
+
+//command opcode 0x26
+module_hci_cmd_set_nvram:
+	fetch 1,mem_module_uart_len
+	copy pdata,loopcnt
+	copy rega,contru
+	fetch 2,mem_nv_data_ptr
+	icopy contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x28
+module_hci_cmd_confirm_gkey:
+	fetch 1,mem_ui_state_map
+	bbit0 UI_STATE_BT_CONNECTED,module_hci_event_receive_invalid_cmd	
+	ifetch 1,contru
+	fetcht 1,mem_flag_mode_ssp_pin
+	setflag blank,FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,temp
+	set1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,temp
+	storet 1,mem_flag_mode_ssp_pin
+
+	call module_hci_event_receive_valid_cmd
+
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,module_hci_cmd_spp_number_comparison_result_is1
+	rtn
+
+dhkey_not_accept:
+	jam 0,mem_flag_mode_ssp_pin
+	jam BT_CMD_DHKEY_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+
+module_hci_cmd_spp_number_comparison_result_is1:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	branch dhkey_not_accept	
+
+
+//command opcode 0x29
+module_hci_cmd_set_credit_given:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BT_SPP_CONN
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_DISABLE
+	ifetch 1,contru
+	fetcht 1,mem_credit_given
+	iadd temp,temp
+	storet 1,mem_credit_given
+	rtn
+
+	
+//command opcode 0x2a
+module_hci_cmd_auto_adv:
+	arg 0x40,loopcnt
+	arg mem_le_adv_data_len,contw
+	call clear_mem
+	setarg 0
+	store 1,mem_regb
+	copy rega,contru
+module_hci_cmd_auto_adv_loop:
+	copy contru,pdata
+	store 2,mem_regc
+	call module_hci_cmd_auto_adv_adv_analys
+
+	fetch 1,mem_regb
+	fetcht 1,mem_temp
+	increase 1,temp
+	iadd temp,pdata
+	store 1,mem_regb
+
+	sub pdata,31,null
+	nbranch module_hci_cmd_auto_adv_store_scan,positive
+module_hci_cmd_auto_adv_store_adv:
+	fetcht 1,mem_le_adv_data_len
+	setarg mem_le_adv_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_adv_data_len
+	iadd temp,pdata
+	store 1,mem_le_adv_data_len
+	branch module_hci_cmd_auto_adv_store_common
+module_hci_cmd_auto_adv_store_scan:
+	fetcht 1,mem_le_scan_data_len
+	setarg mem_le_scan_data
+	iadd temp,pdata
+	store 2,mem_contw
+	fetcht 1,mem_temp
+	increase 1,temp
+	fetch 1,mem_le_scan_data_len
+	iadd temp,pdata
+	store 1,mem_le_scan_data_len
+module_hci_cmd_auto_adv_store_common:
+	fetch 2,mem_contw
+	copy pdata,contw
+	fetch 2,mem_regc
+	copy pdata,contru
+
+	copy temp,loopcnt
+	call uart_copy_rx_bytes_fast
+
+	fetch 1,mem_module_uart_len
+	fetcht 1,mem_regb
+	isub temp,null
+	nbranch  module_hci_cmd_auto_adv_loop,zero
+	branch module_hci_event_receive_valid_cmd
+
+//block of adv len in mem_temp
+module_hci_cmd_auto_adv_adv_analys:
+	ifetch 1,contru
+	store 1,mem_temp
+	ifetch 1,contru
+	store 1,mem_rega
+	rtn
+
+
+//command opcode 0x2b
+module_hci_cmd_power_request:
+	arg 0,temp
+	arg 2,rega
+	fetch 2,mem_module_vdd_quotient
+	store 2,mem_event_cmd_response_content
+	arg mem_event_cmd_response_content,regb
+	branch module_hci_event_set_cmd
+
+
+//command opcode 0x2c
+module_hci_cmd_power_set:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_read_vdd_flag
+	setarg 0x00
+	store 2,mem_module_vdd_quotient
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x30
+module_hci_cmd_passkey_entry:
+	ifetch 4,contru
+	store 4,mem_pin
+	jam 4,mem_pin_length
+	jam 0,mem_authentication_passkey_times
+	call module_hci_event_receive_valid_cmd
+	branch authentication_passkey
+
+
+//command opcode 0x31
+module_hci_cmd_set_gpio:
+	fetch 1,mem_module_uart_len
+	bne 3,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	beq HCI_CMD_CONFIG_GPIO_INPUT,module_set_gpio_input
+	beq HCI_CMD_CONFIG_GPIO_OUTPUT,module_set_gpio_output
+	branch module_hci_event_receive_invalid_cmd
+
+module_set_gpio_input:
+	ifetcht 1,contru
+	ifetch 1,contru
+	beq GPIO_INPUT_HIGH_IMPEDANCE,module_set_gpio_high_impedance
+	nsetflag blank,7,temp
+	call gpio_config_input
+	branch module_hci_event_receive_valid_cmd
+
+module_set_gpio_high_impedance:
+	call gpio_set_high_impedance
+	branch module_hci_event_receive_valid_cmd
+	
+module_set_gpio_output:
+	ifetcht 1,contru
+	call gpio_config_output0
+	ifetch 1,contru	
+	isolate1 0,pdata
+	call gpio_out_flag
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x32
+module_hci_cmd_read_gpio:
+	fetch 1,mem_module_uart_len
+	bne 1,module_hci_event_receive_invalid_cmd
+	ifetcht 1,contru
+	call gpio_get_bit
+	setarg 0x0
+	nsetflag true,0,pdata
+	arg 1,rega
+	branch module_hci_event_set_cmd_send_response
+
+
+//command opcode 0x33
+module_hci_cmd_le_set_pairing_mode:
+	copy rega,contru
+	ifetch 1,contru
+	copy pdata,temp
+ifdef SECURE_CONNECTION
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,module_le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,module_le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,module_le_set_pairing_mode_secure_passkey
+endif
+	store 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, module_le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,module_le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,module_le_set_pairing_mode_lagacy_passkey
+	branch module_hci_event_receive_invalid_cmd
+		
+ifdef SECURE_CONNECTION	
+module_le_set_pairing_mode_secure_justwork:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_secure_numeric:
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_secure_passkey:	
+	fetch 1,mem_le_secure_connect_enable
+	branch module_hci_event_receive_invalid_cmd,blank
+	storet 1,mem_le_pairing_mode
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch module_le_set_displayonly
+endif
+module_le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+module_le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+module_le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch module_le_set_noinputnooutput
+module_le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+module_le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x34
+module_hci_cmd_le_set_adv_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_adv_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_adv_data,contw
+	call uart_copy_rx_bytes_fast
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x35
+module_hci_cmd_le_set_scan_data:
+	fetch 1,mem_module_uart_len
+	sub pdata,31,null
+	nbranch module_hci_event_receive_invalid_cmd,positive
+	store 1,mem_le_scan_data_len
+	copy pdata,loopcnt
+	copy rega,contru
+	arg mem_le_scan_data,contw
+	call uart_copy_rx_bytes_fast	
+	branch module_hci_event_receive_valid_cmd	
+
+	
+//command opcode 0x36
+module_hci_cmd_le_send_conn_update_req:
+	fetch 2,mem_ui_state_map
+	bbit0 UI_STATE_BLE_CONNECTED,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_module_uart_len
+	bne 0x08,module_hci_event_receive_invalid_cmd
+	copy rega,contru
+	ifetch 8,contru
+	store 8,mem_le_interval_min
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call  ui_ipc_send_cmd
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x37
+module_hci_cmd_set_le_adv_parameter:
+	ifetch 2,contru
+	store 2,mem_le_adv_interval
+	branch module_hci_event_receive_valid_cmd
+	
+	
+//command opcode 0x38
+module_hci_cmd_le_start_pairing:
+	fetch 1,mem_le_pairing_mode
+	branch module_hci_event_receive_invalid_cmd,blank
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_NULL,module_hci_event_receive_invalid_cmd
+	fetch 1,mem_le_enc_state
+	bne FLAG_LE_ENC_NULL,module_hci_event_receive_invalid_cmd
+	call check_51cmd_le_smp_sec_req
+	branch module_hci_event_receive_valid_cmd	
+
+
+//command opcode 0x40
+module_hci_cmd_set_wake_gpio:
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_module_mcu_wake_pin
+	ifetch 4,contru
+	store 4, mem_module_mcu_wake_delay_us
+	fetcht 1,mem_module_mcu_wake_pin
+	call gpio_config_output
+	call module_set_mcu_wake_pin_low
+	branch module_hci_event_receive_valid_cmd
+	
+
+//command opcode 0x42
+module_hci_cmd_set_tx_power:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	store 1,mem_tx_power
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x48
+module_hci_cmd_le_confirm_gkey:
+	ifetch 1,contru
+	beq 0x01,module_hci_cmd_le_confirm_gkey_fail
+	fetch 1,mem_le_secure_connect_state
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_RECEIVE_DHKEY,module_hci_cmd_le_confirm_gkey_ok
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,module_hci_cmd_le_confirm_gkey_ok
+	branch module_hci_event_receive_invalid_cmd		
+module_hci_cmd_le_confirm_gkey_ok:
+	jam FLAG_LE_SC_CONFRIM_GKEY_OK,mem_le_sc_confirm_gkey_flag
+	branch module_hci_event_receive_valid_cmd	
+	
+module_hci_cmd_le_confirm_gkey_fail:
+	call le_send_pairing_confirm_value_failed
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0x49
+module_hci_cmd_set_reject_justwork_flag:
+	fetch 1,mem_module_uart_len
+	bne 0x01,module_hci_event_receive_invalid_cmd
+	call module_hci_event_receive_valid_cmd
+	ifetch 1,contru
+	branch classic_bt_clr_reject_justwork_flag,blank
+	branch classic_bt_set_reject_justwork_flag
+
+
+//command opcode 0x51
+module_hci_cmd_reset_chip:
+	call module_hci_event_receive_valid_cmd
+	call wait_uarttx
+	jam 0x01,core_reset // rest YC1021
+	branch loop
+
+
+//command opcode 0x61
+module_hci_cmd_le_set_fixed_passkey:
+	fetch 1,mem_module_uart_len
+	beq 0,module_hci_event_receive_invalid_cmd
+	ifetch 1,contru
+	branch module_hci_cmd_le_set_random_passkey,blank
+	fetch 1,mem_module_uart_len
+	bne 5,module_hci_event_receive_invalid_cmd
+	ifetch 4,contru
+	arg 1000000,temp
+	isub temp,null
+	branch module_hci_event_receive_invalid_cmd,positive
+	store 4,mem_le_tk
+	call le_set_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+module_hci_cmd_le_set_random_passkey:
+	call le_clr_config_fixed_tk
+	branch module_hci_event_receive_valid_cmd
+
+
+//command opcode 0xff
+module_hci_test_cmde_close_lpm:
+	jam 0,mem_lpm_mode
+	branch module_hci_event_receive_valid_cmd
+	
+
+/*********************HCI EVENT*********************/
+
+module_hci_event_receive_invalid_cmd:
+	arg 1,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+module_hci_event_receive_valid_cmd:
+	arg 0,temp
+	arg 0,rega
+	branch module_hci_event_set_cmd
+
+
+//event opcode 0x00
+module_hci_event_spp_connect:
+	jam  HCI_EVENT_SPP_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x02
+module_hci_event_le_connect:
+	jam  HCI_EVENT_LE_CONN_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x03
+module_hci_event_spp_disconnect:
+	jam  HCI_EVENT_SPP_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x05
+module_hci_event_le_disconnect:
+	jam  HCI_EVENT_LE_DIS_REP,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x06
+//input:
+//	temp: success 0; fail 1
+//	rega:Response Content length
+//	regb:Response Content address
+module_hci_event_set_cmd:
+	fetch 1,mem_module_uart_opcode
+	copy pdata,regc
+	jam  HCI_EVENT_CMD_RES,mem_module_uart_opcode
+	setarg 2
+	iadd rega,pdata
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	istoret 1,contwu
+	copy rega,loopcnt
+	copy regb,contr
+	call uart_copy_tx_bytes
+	branch uartd_send
+
+
+//event opcode 0x07
+module_hci_event_receive_spp_data:
+//	call p_nl_clear_last_transmite_clock
+	call module_spp_clear_last_transmite_clock
+	jam HCI_EVENT_SPP_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_current_length
+	rtn blank
+	call module_hci_prepare_tx
+	fetch 1,mem_current_length
+	copy pdata,loopcnt
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x08
+module_hci_event_receive_le_data:
+	jam HCI_EVENT_LE_DATA_REP,mem_module_uart_opcode
+	fetch 1,mem_module_le_rx_data_len
+	icopy loopcnt
+	increase 2,pdata
+	call module_hci_prepare_tx
+	fetch 2,mem_module_le_rx_data_handle // Attribute handle
+	istore 2,contwu
+	fetch 2,mem_module_le_rx_data_address
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x09
+module_hci_event_enter_standby_mode:
+	jam HCI_EVENT_STANDBY_REP,mem_module_uart_opcode
+module_hci_event_enter_standby_mode_len0:
+	setarg 0
+	call module_hci_prepare_tx
+	branch uartd_send
+
+
+//event opcode 0x0a
+module_hci_event_status_res:
+	jam HCI_EVENT_STATUS_RES,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	
+	call module_hci_read_bt_status
+	
+	fetch 2,mem_ui_state_map	
+	arg UI_STATE_BT_HID_CONN,queue
+	qisolate1 pdata
+	setflag true,3,temp
+
+	arg UI_STATE_BLE_CONNECTED,queue
+	qisolate1 pdata
+	setflag true,5,temp	
+	
+	fetch 1,mem_ui_state_map
+	arg UI_STATE_BT_SPP_CONN,queue
+	qisolate1 pdata
+	setflag true,4,temp	
+	
+	istoret 1,contwu
+	branch uartd_send
+
+//	temp: bit0 3.0 inquiry;bit1 3.0 scan;bit2 ble adv;
+
+module_hci_read_bt_status:
+	arg 0,temp
+	fetch 1,mem_scan_mode
+	arg inq_scan_mode,queue
+	qisolate1 pdata
+	setflag true,0,temp
+	arg page_scan_mode,queue
+	qisolate1 pdata
+	setflag true,1,temp	
+
+	fetch 1,mem_le_adv_enable
+	arg 0,queue
+	qisolate1 pdata
+	setflag true,2,temp	
+	rtn
+
+
+//event opcode 0x0d
+module_hci_event_store_device:
+	jam HCI_EVENT_NVRAM_REP,mem_module_uart_opcode
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,pdata
+	icopy loopcnt
+	call module_hci_prepare_tx
+	fetch 2,mem_nv_data_ptr
+	icopy contr
+	call uart_copy_tx_bytes_fast
+	branch uartd_send
+
+
+//event opcode 0x0e
+module_hci_event_gkey_generate:
+	jam HCI_EVENT_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x0f
+module_hci_event_invalid_packet:
+	jam HCI_EVENT_INVALID_PACKET,mem_module_uart_opcode
+	hfetch 2,core_uart_rxitems
+	arg 0xff,temp
+	call not_greater_than
+	copy pdata,loopcnt
+	call module_hci_prepare_tx
+	call uartd_prepare_rx
+	call uart_copy_rx2tx
+	branch uartd_send
+
+
+//event opcode 0x10
+module_hci_event_passkey_entry_mode:
+	jam  HCI_EVENT_GET_PASSKEY,mem_module_uart_opcode
+	branch module_hci_event_enter_standby_mode_len0
+
+
+//event opcode 0x11
+module_hci_event_le_tk:
+	jam HCI_EVENT_LE_TK,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_le_tk
+	istore 4,contwu
+	branch uartd_send
+
+
+//event opcode 0x14
+module_hci_event_le_pairing_fail:
+	arg FLAG_BLE_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_le_pairing_success:
+	arg FLAG_BLE_PAIRING_SUCCESS,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_fail:
+	arg FLAG_BT_PAIRING_FAIL,rega
+	branch module_hci_event_pairing_completed
+
+module_hci_event_bt_pairing_success:
+	arg FLAG_BT_PAIRING_SUCCESS,rega
+
+module_hci_event_pairing_completed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam HCI_EVENT_LE_PAIRING_STATE,mem_module_uart_opcode
+	setarg 2
+	call module_hci_prepare_tx
+	copy rega,pdata
+	istore 2,contwu
+	branch uartd_send
+
+
+//event opcode 0x15
+module_hci_event_pause_enc:
+	arg FLAG_EVENT_PAUSE_ENC,regc
+	branch module_hci_event_enc
+
+module_hci_event_start_enc:
+	arg FLAG_EVENT_START_ENC,regc
+
+module_hci_event_enc:
+	jam HCI_EVENT_LE_ENCRYPTION_STATE,mem_module_uart_opcode
+	setarg 1
+	call module_hci_prepare_tx
+	copy regc,pdata
+	istore 1,contwu
+	branch uartd_send
+
+
+//event opcode 0x1d
+module_hci_event_le_gkey:
+	jam HCI_EVENT_LE_GKEY,mem_module_uart_opcode
+	setarg 4
+	call module_hci_prepare_tx
+	fetch 4,mem_gkey
+	istore 4,contwu
+	branch uartd_send
+
+
+//****************************************************************//
+	//module_hci_prepare_tx
+	//function:write hci packet header
+	//input: pdata-----packet length  (1byte)
+	//input: mem_uart_opcode------opcode (1byte)
+	//output:contwu --- pointer to packet payload
+	//use reg: contwu,pdata
+//****************************************************************//	
+module_hci_prepare_tx:
+	jam 0x02,mem_module_uart_cmd
+	store 1,mem_module_uart_len
+	storet 8,mem_temp
+	bpatch patch1c_2,mem_patch1c
+	call module_set_mcu_wake_pin_high_delay
+	fetcht 8,mem_temp
+	call uartd_prepare_tx
+	fetch 3,mem_module_uart_cmd
+	istore 3,contwu
+	rtn
+
+
+module_set_mcu_wake_pin_high_delay:
+	call module_check_mcu_wake_pin_high
+	rtn true
+module_set_mcu_wake_pin_h_delay:
+	call module_set_mcu_wake_pin_high
+	fetch 4,mem_module_mcu_wake_delay_us
+	rshift2 pdata,pdata
+	rtn blank
+	branch delay
+
+module_set_mcu_wake_pin_high:
+	//call ice_break
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_active
+
+module_check_mcu_wake_pin_high:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_check_active
+
+module_set_mcu_wake_pin_low:
+	fetcht 1,mem_module_mcu_wake_pin
+	branch gpio_out_inactive
+
+
+delay:
+	increase -1,pdata
+	nop 38
+	nbranch delay,blank
+	rtn
+
+/*********************hci command end*********************/
+
+/*********************hci ble receive data start*********************/
+
+//rega is le rx data address
+//regb is le rx data length
+//mem_le_att_handle is write handle
+module_le_receive_data:
+	call module_check_ble_encrypt_state
+	rtn user
+	copy rega,pdata
+	store 2,mem_module_le_rx_data_address
+	copy regb,pdata
+	store 1,mem_module_le_rx_data_len
+	fetch 2,mem_le_att_handle
+	fetcht 2,mem_module_data_write_handle
+	isub temp,null
+	branch module_le_receive_data_ok,zero
+	fetcht 2,mem_module_data_write_handle2
+	isub temp,null
+	nrtn zero
+module_le_receive_data_ok:	
+	store 2,mem_module_le_rx_data_handle
+	branch module_hci_event_receive_le_data
+
+
+/*********************hci ble receive data end*********************/
+
+module_exit_sniff:
+	fetch 1,mem_module_flag
+	rtnbit1 MOUDLE_TASK_UNSNIFF
+	call module_set_unsniff_task_flag	
+	branch app_bt_sniff_exit
+
+
+module_set_lpm_mult_2:
+	jam 2,mem_lpm_mult
+	rtn
+
+
+
+module_bb_event_timer:
+	branch module_read_vdd_timer
+
+module_read_vdd_timer:
+	fetch 1,mem_module_read_vdd_flag
+	rtn blank
+	fetch 1,mem_module_read_vdd_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_module_read_vdd_count
+	nrtn blank
+	jam FLAG_MODULE_READ_VDD_COUNT,mem_module_read_vdd_count
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	div pdata,0x64
+	call wait_div_end
+	quotient pdata
+	remainder temp
+	store 1,mem_module_vdd_quotient
+	storet 1,mem_module_vdd_remainder
+	rtn	
+	
+
+module_control_air_flow:
+	call check_uart_tx_buff
+	branch app_l2cap_flow_control_enable,positive
+	branch app_l2cap_flow_control_disable
+
+
+/**************module state *******************/
+module_set_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_set_state
+
+module_clear_sniff_task_flag:
+	arg MOUDLE_TASK_SNIFF,queue
+	branch module_clr_state
+
+module_set_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_set_state
+
+module_clear_unsniff_task_flag:
+	arg MOUDLE_TASK_UNSNIFF,queue
+	branch module_clr_state
+
+module_set_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_set_state
+	
+module_clear_le_tx_data_flag:
+	arg MODULE_FLAG_BLE_DATA_FINISH,queue
+	branch module_clr_state
+
+module_clr_state:
+	fetch 1,mem_module_flag
+	qset0 pdata
+	store 1,mem_module_flag
+	rtn
+
+module_set_state:
+	fetch 1,mem_module_flag
+	qset1 pdata
+	store 1,mem_module_flag
+	rtn
+	
+/**************module state end*******************/
+
+
+else
+
+endif
Index: YJX_Only24g/main/program/app_mouse.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_mouse.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_mouse.prog	(working copy)
@@ -0,0 +1,2661 @@
+
+
+//define FPGA_DEBUG
+
+
+ifdef COMPILE_MOUSE
+mouse_init:
+	call mouse_setting_config
+	call spi_ncs_enable
+	call mouse_init_sunt
+	call mouse_dpi_config
+	call spi_ncs_disable
+	rtn wake
+	call mouse_cheak_enable_usb
+	call mouse_cb_fuction
+//	fetch 1,mem_wakup_from_power_flag
+//	isolate0 gpio_latch,pdata
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_ENABLE_USB
+	call mouse_wakeup_from_power//,true	// enter 
+ifdef FPGA_DEBUG
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_out_active
+endif
+	rtnmark1 mark_24g
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch mouse_check_reconn_target
+
+
+mouse_delay_4s:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_INIT_DELAY
+	arg 20,loopcnt
+mouse_delay_20ms:
+	setarg 200000
+	call sleep
+	loop delay_10ms
+	rtn
+
+	
+mouse_cheak_enable_usb:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	branch usb_init
+	
+
+mouse_cb_fuction:
+	setarg mouse_le
+	store 2,mem_cb_le_process
+	setarg mouse_send_process
+	store 2,mem_cb_bt_process
+	setarg mouse_process_lpm_before
+	store 2,mem_cb_before_lpm
+	setarg mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg mouse_idle
+	store 2,mem_cb_idle_process
+	setarg mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+
+	call g24_head_ptr2regc
+	setarg mouse_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	setarg mouse_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	setarg mouse_lpm_before_common
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+	
+	setarg mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg mouse_spi_write_flash_cb
+	store 2,mem_cb_spi_flash_write_complate
+	rtn
+mouse_spi_write_flash_cb:
+mouse_spi_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_SPI2,spid_init
+	branch spid_init2
+
+mouse_setting_config:
+	rtn wake
+	call g24_set_device_addr
+	call mouse_gpio_init
+	call mouse_param_init
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_init_iic
+	bbit1 MOUSE_ENABLE_FLASH,mouse_load_flash_info_cheak
+	rtn
+
+mouse_init_iic:
+	call iic_init_390k
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	ncall clear_eeprom_size_2k,true
+	call mouse_load_eeprom_dpi
+	call mouse_init_environment
+	call mouse_set_24g_addr_eeprom
+	branch iicd_read_eep_data
+
+mouse_wakeup_from_power:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,mouse_wakeup_no_from_power
+	fetch 1,mem_wakup_from_power_flag
+	isolate0 gpio_latch,pdata
+	nrtn true
+mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
+mouse_start_24g_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,g24_auto_pair_start
+	branch g24_check_51cmd_start_24g
+le_mouse_bb_event_connect_complete:
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+mouse_le_write_enable:	
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+mouse_dpi_up:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_mouse_dpi_button_state
+	rtn
+mouse_dpi_config:
+	fetch 1,mem_config_sensor_motion
+	and pdata,0x0f,pdata
+	store 1,mem_mouse_dpi
+	branch mouse_seting_dpi+2
+
+
+mouse_dpi_cheak:
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	nbranch mouse_dpi_up,true
+mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+mouse_dpi_down_setting:	
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eerpom_dpi
+	bbit1 MOUSE_ENABLE_FLASH,mouse_before_store_flash_cpi
+	rtn
+mouse_before_store_flash_cpi:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	call gpio_config_output				//hold high
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	call gpio_config_output 			//hold high 
+	branch mouse_store_flash_device_info
+
+mouse_seting_dpi:
+	bpatch patch1c_3,mem_patch1c
+	call mosue_dpi_led_blink_init
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_seting_3610_dpi
+	beq P3212,mouse_seting_3212_dpi
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_cpi4
+mouse_set_cpi2:
+	fetch 1,mem_320x_dpi_2
+	branch mouse_p3205_dpi
+mouse_set_cpi1:
+	fetch 1,mem_320x_dpi_1
+	branch mouse_p3205_dpi
+mouse_set_cpi3:
+	fetch 1,mem_320x_dpi_3
+	branch mouse_p3205_dpi
+mouse_set_cpi4:
+	fetch 1,mem_320x_dpi_4
+	branch mouse_p3205_dpi
+moue_seting_cpi_count:
+	fetch 1,mem_config_sensor_type
+	rtneq P3065_XY
+	fetch 1 ,mem_mouse_cpi_count
+	increase 1,pdata
+	store 1,mem_mouse_cpi_count
+	rtn
+
+mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+mouse_set_p3212_cpi2:
+	fetch 1,mem_3212_dpi_2
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi1:
+	fetch 1,mem_3212_dpi_1
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi3:
+	fetch 1,mem_3212_dpi_3
+	branch mouse_p3212_dpi
+mouse_set_p3212_cpi4:
+	fetch 1,mem_3212_dpi_4
+mouse_p3212_dpi:
+	store 1,mem_mouse_cpi_count
+	lshift8 pdata,pdata
+	copy pdata,rega
+	add pdata,MOUSE_P3212_DPI_XADDRESS,pdata
+  	call twspi_write
+ 	copy rega,pdata
+  	add pdata,MOUSE_P3212_DPI_YADDRESS,pdata
+	branch twspi_write
+	
+mouse_seting_3610_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3610_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3610_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3610_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3610_cpi4
+mouse_set_p3610_cpi2:
+	fetch 1,mem_3610_dpi_2
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi1:
+	fetch 1,mem_3610_dpi_1
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi3:
+	fetch 1,mem_3610_dpi_3
+	branch mouse_p3610_dpi
+mouse_set_p3610_cpi4:
+	fetch 1,mem_3610_dpi_4
+mouse_p3610_dpi:
+	store 1,mem_mouse_cpi_count
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_mouse_cpi_count
+mouse_reset_p3610_dpi:
+	add pdata,0x80,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_P3610_DPI_ADDRESS,pdata
+	copy pdata,rega
+	branch mouse_set_sensor_reg
+	
+mouse_p3205_dpi:
+	store 1,mem_mouse_cpi_count
+	call moue_seting_cpi_count
+	fetch 1,mem_mouse_cpi_count
+	setarg MOUSE_DPI_ADDRESS
+	call twspi_read
+	and pdata,0xf8,temp
+	fetch 1,mem_mouse_cpi_count
+	iadd temp,pdata
+	lshift8 pdata,pdata
+	add pdata,MOUSE_DPI_ADDRESS,pdata
+	branch twspi_write
+	
+
+mouse_init_environment:
+	call app_initflag_check
+	branch mouse_eeprom_load_recon_info,zero
+	call mouse_ble_init_address
+	call mouse_store_eeprom_device_info
+	branch app_initflag_store
+
+
+mouse_24g_pairing_button:
+	fetch 2,mem_24g_pairing_timer_count
+	rtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_check_key_gpio
+	rtnne MOUSE_LMR_BUTTON
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	call g24_set0_mem_check_dongle_times
+	
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	call mouse_stop_discovery
+	branch g24_start_pairing_sm1
+	
+ifdef FPGA_DEBUG
+mouse_fpga_rf_working_normal:
+	fetch 1,mem_le_req_rcv
+	and pdata,0xfe,pdata
+	call mouse_fpga_working_fail,blank
+	fetch 1,mem_le_req_rcv
+	and pdata,0xfe,pdata
+	ncall mouse_fpga_working_normal,blank
+//	fetch 1,mem_inquiryscan_rcvcnt
+//	and pdata,0xfe,pdata
+//	call mouse_fpga_working_fail,blank
+//	fetch 1,mem_inquiryscan_rcvcnt
+//	and pdata,0xfe,pdata
+//	ncall mouse_fpga_working_normal,blank
+	rtn
+
+mouse_fpga_working_fail:
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	branch gpio_out_inactive
+
+mouse_fpga_working_normal:
+	arg MOUSE_FPGA_RF_WORK_DEBUG_GPIO,temp
+	branch gpio_out_active
+
+
+
+endif
+
+mouse_idle:
+ifdef FPGA_DEBUG
+	call mouse_fpga_rf_working_normal
+endif
+	call mouse_24g_pairing_button
+	call ui_check_paring_button
+	call mouse_dpi_cheak
+	call mouse_usb_isr
+	call mouse_wheel_check
+	branch mouse_usb_mode
+mouse_usb_isr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_USB
+	call usb_isr	
+	branch usb_offline_state
+
+mouse_cheak_usb:
+	hfetch 1,core_usb_addr
+	bbit0 7,mouse_usb_no_exsit
+	bbit1 7,mouse_usb_exsit
+	rtn
+mouse_usb_no_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit0 7
+	branch soft_reset_chip
+mouse_usb_exsit:
+	fetch 1,mem_usb_addr
+	rtnbit1 7
+	branch mouse_stop_bluetooth_mode
+	
+mouse_usb_mode:
+	call mouse_cheak_usb
+	hfetch 1,core_usb_addr
+	store 1,mem_usb_addr
+	rtnbit0 7
+	call mouse_clkn_check 
+	fetch 4,mem_btclk_sensor
+	fetcht 1,mem_wire_usb_interval
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	store 4,mem_btclk_sensor
+	call mouse_motion
+	nrtn user
+	jam 4,mem_usb_tx_enable
+	branch mouse_wired_to_usb
+
+mouse_clkn_check:
+	fetcht 4,mem_btclk_sensor
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall mouse_clkn_timeout,positive
+	rtn
+mouse_clkn_timeout:
+	setarg 0
+	store 4,mem_btclk_sensor
+	rtn
+
+
+	
+mouse_wired_to_usb:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	branch mouse_data_push
+mouse_data_push:
+	hfetch 1,core_usb_addr
+	rtnbit0 7
+	jam USB_EP2_MS,mem_usb_ep2_data
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+
+mouse_enable_clock_qdecoder:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_QDECODER,pdata
+	hstore 2,core_clkoff
+	rtn
+
+mouse_param_init:
+	setarg 0x8c00				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	setarg 0x8e7a				//ble attlist start address
+	store 2,mem_ui_le_uuid_table
+	setarg 0x2402
+	store 2,mem_fcomp_mul
+	setarg 0x2580
+	store 3,mem_class
+	jam 3,mem_lpm_mult_timeout
+	jam 8,mem_lpm_overhead
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue
+	setarg 0x0200
+	store 2,mem_lpm_interval
+	jam 0x17,mem_le_local_mtu
+	jam 0x17,mem_le_remote_mtu
+//===========init spi param==============================
+	setarg 0x0a77
+	store 2,mem_spi_init_clk
+//===========default bt reconnect address===================	
+//	jam 1,mem_device_flag
+//	setarg 0x332211
+//	store 3,mem_device1_addr
+//	store 3,mem_device2_addr
+//	store 3,mem_device3_addr
+//	setarg 0x665544
+//	store 3,mem_device1_addr+3
+//	store 3,mem_device2_addr+3
+//	store 3,mem_device3_addr+3
+//	setarg 0x34
+//	store 1,mem_device1_type
+//	store 1,mem_device2_type
+//	store 1,mem_device3_type
+//===========all 16bit uuid==================================
+	setsect 0,0x306
+	setsect 1,0x4440
+	setsect 2,0x10000
+	setsect 3,0x4408
+	store 9,mem_all_uuid_16bits
+	setsect 0,0x1224
+	setsect 1,0x4000
+	setsect 2,0x0
+	istore 5,contw
+//===========features=====================================
+	setsect 0,0x3ffff
+	setsect 1,0x2fe23
+	setsect 2,0x199d9
+	setsect 3,0x20d
+	store 8,mem_features
+//======================================================	
+	setarg 0x012c  				//24g ban pairing timer init
+	store 2,mem_24g_pairing_timer_count
+	call le_modified_name
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+	call mouse_sensor_set_angle
+	branch mouse_select_adc
+
+mouse_sensor_set_angle:
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	jam MOUSE_3CLK_ANGLE,mem_config_sensor_angle
+	rtn true
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn
+
+mouse_select_adc:
+	fetcht 1,mem_select_adc_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_adc_gpio
+	call gpio_get_bit
+	jam ADC_CONFIG_VINLPM,mem_adc_config_flag
+	rtn true
+	jam ADC_CONFIG_GPIO,mem_adc_config_flag
+	rtn
+	
+	
+mouse_adc_init:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,mouse_adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,mouse_adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,mouse_adc_init_data_io
+	branch mouse_adc_init_data_vinlpm
+	
+mouse_adc_init_data_vinlpm:
+	fetcht 2,mem_2v_adc_vinlpm_data
+	fetch 2,mem_3v_adc_vinlpm_data
+	isub temp,pdata
+	mul32 pdata,20,pdata 
+	div pdata,100
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //vinlpm :2v2 low alter
+	rtn
+mouse_adc_init_data_hvin:
+	fetcht 2,mem_1v_adc_hvin_data
+	fetch 2,mem_5v_adc_hvin_data
+	isub temp,pdata
+	mul32 pdata,230,pdata 
+	div pdata,400
+	call wait_div_end
+	quotient pdata
+	store 2,mem_adc_reference_voltage //hvin :3v3 low alter
+	rtn
+mouse_adc_init_data_io:
+	fetch 2,mem_1v_adc_io_data
+	store 2,mem_adc_reference_voltage  //vio :1v low alter
+	rtn
+mouse_gpio_init:
+	fetcht 1,mem_eeprom_wp_gpio
+	call gpio_config_output
+	call usb_offline_check_init
+	fetcht 1,mem_lbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_rbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_mbutton_gpio
+	call gpio_config_input
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_config_input
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_config_input
+	fetcht 1,mem_fw_button_gpio
+	call gpio_config_input
+
+	fetcht 1,mem_config_low_voltage_alarm_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device1_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_device2_led_gpio
+	call gpio_config_output
+	
+	fetcht 1,mem_config_device3_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_dpi_led_gpio
+	call gpio_config_output
+
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_config_input
+	
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_config_input	
+
+	fetcht 1,mem_dpi_button_gpio
+	branch gpio_config_input
+
+mouse_wheel_gpio_set_wake:
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	branch gpio_set_wake_by_current_state
+	
+mouse_before_hibernate_wheel_gpio_set:
+	fetcht 1,mem_whee_a_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_b_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_ta_data_gpio
+	call mouse_gpio_set_pupd_by_input
+	fetcht 1,mem_whee_tb_data_gpio
+	branch mouse_gpio_set_pupd_by_input
+
+mouse_gpio_set_pupd_by_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	and temp,0x7f,queue
+	hfetch 4,core_gpio_in
+	qisolate1 pdata
+	hfetch 4,core_gpio_pu0
+	qsetflag true,pdata
+	hstore 4,core_gpio_pu0
+	hfetch 4,core_gpio_pd0
+	nqsetflag true,pdata
+	hstore 4,core_gpio_pd0
+	rtn
+	
+mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+//	call gpio_set_before_lpm_common
+	branch mouse_lpm_before_common
+
+
+	
+mouse_process_lpm_before:
+	call mouse_lpm_before_common
+	fetch 1,mem_lpm_current_mult
+	nrtn blank					// 7.5ms, no gpio wakeup
+	branch gpio_clr_wake
+
+mouse_lpm_before_common:
+	call mouse_wheel_check
+	arg MOUSE_SPI1_CLK_GPIO,temp					// set sclk high
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_spi_clk_gpio,true
+	call gpio_config_output
+	call twspi_disable
+
+
+
+	fetcht 1,mem_lbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_rbutton_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_mbutton_gpio
+	call gpio_set_wake_by_current_state
+
+	fetcht 1,mem_bk_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_fw_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_set_wake_by_current_state
+	fetcht 1,mem_sensor_data_gpio
+	branch gpio_set_wake
+	
+
+	
+mouse_spi_clk_gpio:
+	arg MOUSE_SPI2_CLK_GPIO,temp
+	rtn
+
+mouse_wheel_check:
+	bpatch patch1c_4,mem_patch1c
+	call mouse_t_wheel_scan
+	call mouse_wheel_scan
+	fetch 1,mem_wheel_tb_new_pinlevel
+	fetcht 1,mem_wheel_tb_old_pinlevel
+	store 1,mem_wheel_tb_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	fetch 1,mem_mwheel_b_new_pinlevel
+	fetcht 1,mem_mwheel_b_old_pinlevel
+	store 1,mem_mwheel_b_old_pinlevel
+	isub temp,null
+	nbranch app_lpm_wake_auto_lock,zero
+	rtn
+mouse_t_wheel_scan:
+	fetch 1,mem_whee_ta_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_ta_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_tb_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_wheel_tb_new_pinlevel
+	beq 0x01,mouse_t_wheel_scan_judge1
+	beq 0x02,mouse_t_wheel_scan_judge2
+	fetch 1,mem_wheel_tog
+	bbit1 7,mouse_t_wheel_scan_judge3
+	rtn
+
+mouse_t_wheel_scan_judge1:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge11
+	beq 3,mouse_t_wheel_scan_judge12
+	rtn
+mouse_t_wheel_scan_judge2:
+	fetch 1,mem_wheel_tb_old_pinlevel
+	beq 0,mouse_t_wheel_scan_judge21
+	beq 3,mouse_t_wheel_scan_judge22
+	rtn
+mouse_t_wheel_scan_judge11:
+	jam 0x82,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge12:
+	jam 0x81,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge21:
+	jam 0x80,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge22:
+	jam 0x83,mem_wheel_tog
+	rtn
+mouse_t_wheel_scan_judge3:
+	fetch 1,mem_wheel_tog
+	set0 7,pdata
+	store 1,mem_wheel_tog
+	beq 0,mouse_t_wheel_scan_judge30
+	beq 1,mouse_t_wheel_scan_judge31
+	beq 2,mouse_t_wheel_scan_judge32
+	beq 3,mouse_t_wheel_scan_judge33
+	rtn
+mouse_t_wheel_scan_judge30:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge31:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_forward
+	rtn
+mouse_t_wheel_scan_judge32:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 3,mouse_wheel_t_back
+	rtn
+mouse_t_wheel_scan_judge33:
+	fetch 1,mem_wheel_tb_new_pinlevel
+	beq 0,mouse_wheel_t_back
+	rtn
+mouse_wheel_t_forward:
+	fetch 1,mem_mouse_tz_data_count1
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count1
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count1
+	fetch 1,mem_mouse_tz_data
+	increase 1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+mouse_wheel_t_back:
+	fetch 1,mem_mouse_tz_data_count
+	increase 1,pdata
+	store 1,mem_mouse_tz_data_count
+	sub pdata,1,null
+	rtn positive
+	jam 0,mem_mouse_tz_data_count
+	fetch 1,mem_mouse_tz_data
+	increase -1,pdata
+	store 1,mem_mouse_tz_data
+	rtn
+
+
+mouse_wheel_scan:
+	fetch 1,mem_whee_a_data_gpio
+	rtneq GPIO_DISABLE
+	arg 0,rega
+	fetcht 1,mem_whee_a_data_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_whee_b_data_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	copy rega,pdata
+	store 1,mem_mwheel_b_new_pinlevel
+	beq 0x01,mouse_wheel_scan_judge1
+	beq 0x02,mouse_wheel_scan_judge2
+	fetch 1,mem_mwheel_tog
+	bbit1 7,mouse_wheel_scan_judge3
+	rtn
+
+mouse_wheel_scan_judge1:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge11
+	beq 3,mouse_wheel_scan_judge12
+	rtn
+mouse_wheel_scan_judge2:
+	fetch 1,mem_mwheel_b_old_pinlevel
+	beq 0,mouse_wheel_scan_judge21
+	beq 3,mouse_wheel_scan_judge22
+	rtn
+mouse_wheel_scan_judge11:
+	jam 0x82,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge12:
+	jam 0x81,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge21:
+	jam 0x80,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge22:
+	jam 0x83,mem_mwheel_tog
+	rtn
+mouse_wheel_scan_judge3:
+	fetch 1,mem_mwheel_tog
+	set0 7,pdata
+	store 1,mem_mwheel_tog
+	beq 0,mouse_wheel_scan_judge30
+	beq 1,mouse_wheel_scan_judge31
+	beq 2,mouse_wheel_scan_judge32
+	beq 3,mouse_wheel_scan_judge33
+	rtn
+mouse_wheel_scan_judge30:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge31:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_forward
+	rtn
+mouse_wheel_scan_judge32:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 3,mouse_wheel_back
+	rtn
+mouse_wheel_scan_judge33:
+	fetch 1,mem_mwheel_b_new_pinlevel
+	beq 0,mouse_wheel_back
+	rtn
+mouse_wheel_forward:
+	jam 0,mem_mouse_z_data_count1
+	fetch 1,mem_mouse_z_data
+	increase 1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_wheel_back:
+	jam 0,mem_mouse_z_data_count
+	fetch 1,mem_mouse_z_data
+	increase -1,pdata
+	store 1,mem_mouse_z_data
+	rtn
+	
+	
+mouse_hid_connected:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn
+	
+mouse_send_process:
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+mouse_send_data:
+	arg 9,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0x02a1
+	istore 2,contw
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+	
+mouse_send_empty_data:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_send_data
+
+
+mouse_no_data_timer_init:
+	fetch 2,mem_mouse_no_data_timeout
+	store 2,mem_mouse_no_data_timer
+	rtn
+
+	
+mouse_fill_data_le:
+	bpatch patch1c_5,mem_patch1c
+	arg 7,rega //len
+	fetcht 2,mem_le_notify_handle
+	call le_att_malloc_tx_notify
+	fetch 7,mem_mouse_key
+	istore 7,contw
+	rtn
+
+mouse_motion:
+	bpatch patch1c_6,mem_patch1c
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call mouse_key
+	nrtn user
+	call mouse_no_data_timer_init
+	arg MOUSE_STATUE_UP_FLAG,queue
+	branch mouse_enable_function_flag
+	
+motion_6clk_direction_dispose:
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	branch enable_user
+motion_12clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	branch enable_user
+motion_9clk_direction_dispose:
+	fetch 2,mem_mouse_y
+	sub pdata,0,pdata
+	store 2,mem_mouse_y
+	fetch 2,mem_mouse_x
+	sub pdata,0,pdata
+	store 2,mem_mouse_x
+	call mouse_sensor_data_swap_places
+	branch enable_user
+motion_3clk_direction_dispose:
+	call mouse_sensor_data_swap_places
+	branch enable_user
+mouse_cheak_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3205,mouse_p32xx_sensor_motion
+	beq P3065,mouse_p32xx_sensor_motion
+	beq KA8,mouse_p32xx_sensor_motion
+	beq P3204,mouse_p32xx_sensor_motion
+	beq P3212,mouse_p3212_sensor_motion
+	beq P3610,mouse_p3610_sensor_motion
+	beq P3065_xy,mouse_p32xx_sensor_motion
+	branch mouse_p32xx_sensor_motion
+	
+mouse_clear_sensor_data:
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor_common,blank
+	jam 1,mem_mouse_move_flag
+	rtn
+
+
+mouse_p3212_sensor_motion:
+	call mouse_clear_sensor_data
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+mouse_p3212_sensor_motion_1:	
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_twspi_reset
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	call mouse_read_3212sensor_xy_high
+	store 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion_6clk_direction_dispose
+	beq MOUSE_9CLK_ANGLE,motion_9clk_direction_dispose
+	beq MOUSE_12CLK_ANGLE,motion_12clk_direction_dispose
+	beq MOUSE_3CLK_ANGLE,motion_3clk_direction_dispose
+	rtn
+
+mouse_read_3212sensor_xy_high:
+	setarg 0x12
+	branch twspi_read
+	
+mouse_p3065_judge:
+	beq P3065_ID1,mouse_p32xx_sensor_motion_1
+	branch mouse_twspi_reset
+	
+mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+mouse_p32xx_sensor_motion_2:
+	setarg PAN_REG_PID_L
+	call twspi_read
+	bne P32XX_ID1,mouse_p3065_judge   
+mouse_p32xx_sensor_motion_1:
+	setarg PAN_REG_MOTION_STAUS
+	call twspi_read
+	rtnbit0 7
+	call mouse_read_sensor_common
+	fetch 1,mem_mouse_x
+	call extsign
+	store 2,mem_mouse_x
+	fetch 1,mem_mouse_y
+	call extsign
+	store 2,mem_mouse_y
+	fetch 1,mem_config_sensor_angle
+	beq MOUSE_6CLK_ANGLE,motion32xx_6clk_direction_selection
+	beq MOUSE_9CLK_ANGLE,motion32xx_9clk_direction_selection
+	beq MOUSE_12CLK_ANGLE,motion32xx_12clk_direction_selection
+	beq MOUSE_3CLK_ANGLE,motion32xx_3clk_direction_selection
+	rtn
+	
+motion32xx_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_sensor_sdio_low
+motion32xx_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_sensor_sdio_low
+	
+mouse_sensor_data_swap_places:
+	fetch 2, mem_mouse_y
+	fetcht 2,mem_mouse_x
+	store 2,mem_mouse_x
+	storet 2,mem_mouse_y
+	rtn
+//input regb  output:pdata
+mouse_p3610sensor_read:
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn	
+mouse_p3610_sensor_motion:
+	disable user
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	arg PAN_REG_MOTION_STAUS,regb
+	call mouse_p3610sensor_read
+	rtnbit0 7
+	arg PAN_REG_PID_L,regb
+	call mouse_p3610sensor_read
+	store 1,mem_sensor_id1
+	bne P3610_ID1,mouse_init_3610sensor_reset
+	fetch 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data,blank
+	jam 1,mem_mouse_move_flag
+	call mouse_read_sensor3610_data
+	fetch 1,mem_mouse_xy_h
+	rshift4 pdata,pdata
+	call extsign_bit3
+	store 1,mem_mouse_x+1
+	fetch 1,mem_mouse_xy_h
+	and pdata,0x0f,pdata
+	call extsign_bit3
+	store 1,mem_mouse_y+1
+	fetch 1,mem_config_sensor_angle
+	beq 0,motion3610_6clk_direction_selection
+	beq 1,motion3610_9clk_direction_selection
+	beq 2,motion3610_12clk_direction_selection
+	beq 3,motion3610_3clk_direction_selection
+	rtn
+
+mouse_3610_smart_select:
+	fetch 1,mem_sensor_smart_flag
+	beq P3610_SMART_ENABLE,mouse_3610_smart_disable
+	beq P3610_SMART_DISABLE,mouse_3610_smart_enable
+	rtn
+
+
+motion3610_6clk_direction_selection:
+	call motion_6clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_12clk_direction_selection:
+	call motion_12clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_9clk_direction_selection:
+	call motion_9clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+motion3610_3clk_direction_selection:
+	call motion_3clk_direction_dispose
+	branch mouse_3610_smart_select
+	
+mouse_read_sensor3610_data:
+	call spi_ncs_enable
+	call mouse_read_sensor_common
+	arg 5,pdata
+	call twspi_read
+	store 1,mem_mouse_xy_h
+	arg 7,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_hi
+	arg 8,pdata
+	call twspi_read
+	store 1,mem_sensor_shutter_lo
+	branch spi_ncs_disable
+
+
+mouse_3610_smart_enable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	rtn positive
+	jam P3610_SMART_ENABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+mouse_3610_smart_disable:
+	fetch 1,mem_sensor_shutter_hi
+	rtnne 0
+	fetch 1,mem_sensor_shutter_lo
+	sub pdata,45,null
+	nrtn positive
+	jam P3610_SMART_DISABLE,mem_sensor_smart_flag
+	setarg 0xba41
+	call sensor_write
+	setarg 0x8032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+
+
+mouse_read_sensor_common:
+	arg PAN_REG_DELTA_X,pdata
+	call twspi_read
+	store 2,mem_mouse_x
+	arg PAN_REG_DELTA_Y,pdata
+	call twspi_read
+	store 2,mem_mouse_y
+	rtn
+
+mouse_set_qdecoder_x:
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_config_input
+	arg MOUSE_DEFAULT_XA_GPIO,temp
+	call gpio_get_bit
+	rtn true
+	hfetch 1,core_qdec_cntx
+	set1 4,pdata
+	hstore 1,core_qdec_cntx
+	rtn
+
+mouse_hardware_zwheel:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	rtn blank
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+mouse_hardware_zwheel_beforelpm:
+	fetcht 1,mem_mouse_z_data
+	hfetch 1,core_qdec_cntx
+	iadd temp,pdata
+	store 1,mem_mouse_z_data
+	rtn
+mouse_zwheel:
+	fetch 1,mem_mouse_z_data
+	rtn blank	
+	store 1,mem_mouse_z
+	jam 0,mem_mouse_z_data
+	branch enable_user
+	
+mouse_t_zwheel:
+	fetch 1,mem_mouse_tz_data
+	rtn blank	
+	store 1,mem_mouse_tz
+	jam 0,mem_mouse_tz_data
+	branch enable_user
+	
+mouse_check_key_gpio:
+	arg 0,rega
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega
+	call mouse_check_s_key_gpio
+	copy rega,pdata
+	rtn
+mouse_check_s_key_gpio:
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	setflag true,3,rega
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	setflag true,4,rega
+	rtn
+
+mouse_key:
+	call mouse_check_key_gpio
+	call mouse_set_mult
+	call mouse_24g_key
+	copy rega,pdata
+	fetcht 1,mem_mouse_key
+	store 1,mem_mouse_key	
+	ixor temp,pdata
+	sub pdata,0,null
+	rtn zero
+	branch enable_user
+
+mouse_24g_key:
+	rtnmark0 mark_24g
+	copy rega,pdata
+	rtn blank
+	store 1,mem_mouse_key
+	branch enable_user
+
+//short mult: no key 
+mouse_set_mult:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_set_ble_mult
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_set_bt_mult
+	rtn
+mouse_set_ble_mult:
+	copy rega,pdata
+	nbranch le_set_config_short_mult,blank
+	branch le_clr_config_short_mult
+mouse_set_bt_mult:
+	copy rega,pdata
+	nbranch classic_bt_set_mult_short_flag,blank
+	branch classic_bt_clr_mult_short_flag
+	
+	/* sdio high will cost extra 9mA */
+mouse_sensor_sdio_low:
+	bpatch patch1c_7,mem_patch1c
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_SPI2,pdata
+	call mouse_sensor_sdio_low2,true
+	call gpio_get_bit
+	rtn true
+	setarg 0x0a
+	call twspi_read
+	nop 1000
+	branch mouse_sensor_sdio_low
+mouse_sensor_sdio_low2:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	rtn
+
+mouse_spi_sdio_gpio_pollup:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,mouse_spi2_sdio_gpio_pollup
+mouse_spi1_sdio_gpio_pollup:
+	arg MOUSE_SPI1_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+mouse_spi2_sdio_gpio_pollup:
+	arg MOUSE_SPI2_SDIO_GPIO,temp
+	branch gpio_config_input_without_wake
+
+	
+mouse_init_sunt:
+	call mouse_spi_init
+	rtn wake
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_init_3610sensor
+mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,mouse_init_p32xx_id2_judge
+	beq P3065_ID1,mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch mouse_init_sensor
+mouse_twspi_reset:
+	bpatch patch1d_0,mem_patch1d
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SPI2,twspi_reset2
+	branch twspi_reset
+
+mouse_init_3610sensor:
+	call mouse_read_sensor_id
+	beq P3610_ID1,mouse_init_p3610
+	call mouse_init_3610sensor_reset
+	branch mouse_init_3610sensor
+	
+mouse_read_sensor_id:
+	setarg PAN_REG_PID_H
+	call twspi_read
+	store 1,mem_sensor_id2
+	setarg PAN_REG_PID_L
+	call twspi_read
+	store 1,mem_sensor_id1
+	rtn
+mouse_init_p32xx_id2_judge:
+	fetch 1,mem_sensor_id2
+	beq P3205_TJ3T_ID2,mouse_3205_3t_init_param
+	beq P3204_TJ3L_ID2,mouse_3204_3l_init_param
+	beq P3212_ID2,mouse_3212_init_param
+	beq PKA8_ID2,mouse_ka8_init_param
+	rtn
+mouse_ka8_init_param:
+	jam KA8,mem_config_sensor_type
+	rtn
+mouse_p3065xy_init_param:
+	jam P3065_XY,mem_config_sensor_type
+	rtn
+mouse_p3065_init_param:
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+mouse_3212_init_param:
+	jam P3212,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x3426
+	call twspi_write
+	setarg 0x0419
+	call twspi_write
+mouse_sensor_enable_wp:
+	setarg 0x0009
+	branch twspi_write
+mouse_sensor_disable_wp:
+	setarg 0x5a09
+	branch twspi_write
+
+mouse_3204_3l_init_param:
+	jam P3204,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x0f0d//
+	call twspi_write
+	setarg 0xe31d//
+	call twspi_write
+	setarg 0xd27d
+	call twspi_write
+	call mouse_32xx_init_param
+	branch mouse_32xx_init_param_1
+	
+mouse_32xx_init_param:
+	setarg 0x351b
+	call twspi_write
+	setarg 0xb428
+	call twspi_write
+	setarg 0x4629
+	call twspi_write
+	setarg 0x962a
+	call twspi_write
+	setarg 0x8c2b
+	call twspi_write
+	setarg 0x6e2c
+	call twspi_write
+	setarg 0x642d
+	call twspi_write
+	setarg 0x5f38
+	call twspi_write
+	setarg 0x0f39
+	call twspi_write
+	setarg 0x323a
+	call twspi_write
+	setarg 0x473b
+	call twspi_write
+	setarg 0x1042
+	branch twspi_write
+mouse_32xx_init_param_1:	
+	setarg 0x2e54
+	call twspi_write
+	setarg 0xf255
+	call twspi_write
+	setarg 0xf461
+	call twspi_write
+	setarg 0x7063
+	call twspi_write
+	setarg 0x5275
+	call twspi_write
+	setarg 0x4176
+	call twspi_write
+	setarg 0xed77
+	call twspi_write
+	setarg 0x2378
+	call twspi_write
+	setarg 0x4679
+	call twspi_write
+	setarg 0xe57a
+	call twspi_write
+	setarg 0x487c
+	call twspi_write
+	setarg 0x777e
+	call twspi_write
+	setarg 0x017f
+	call twspi_write
+	setarg 0x000b
+	call twspi_write
+	setarg 0x007f
+	call twspi_write
+	branch mouse_sensor_enable_wp
+	
+
+mouse_3205_3t_init_param:
+	jam P3205,mem_config_sensor_type
+	call mouse_sensor_disable_wp
+	setarg 0x100d//
+	call twspi_write
+	setarg 0xed1d//
+	call twspi_write
+	setarg 0x807d
+	call twspi_write
+	call mouse_32xx_init_param
+	setarg 0x0943
+	call twspi_write
+	branch mouse_32xx_init_param_1
+	
+	
+mouse_init_3610sensor_reset:
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_active
+	call delay_10ms
+	fetcht 1,mem_sensor_reset_gpio
+	call gpio_out_inactive
+	branch delay_10ms
+
+mouse_init_p3610:
+	jam P3610,mem_config_sensor_type
+	setarg 0xba41
+	call sensor_write
+	setarg 0x0d11
+	call sensor_write
+	setarg 0x041b
+	call sensor_write
+	setarg 0x041c
+	call sensor_write
+	setarg 0x0f1d
+	call sensor_write
+	setarg 0x0032
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+	
+	
+//input-rega
+mouse_set_sensor_reg:
+	setarg 0xba41
+	call sensor_write
+	nop 4000
+	setarg 0xff7f
+	call sensor_write
+	copy rega,pdata
+	call sensor_write
+	setarg 0x007f
+	call sensor_write
+	setarg 0xb541
+	branch sensor_write
+
+extsign:
+	rtnbit0 7
+	arg 0xff00,temp
+	ior temp,pdata
+	rtn
+
+extsign_bit3:
+	rtnbit0 3
+	arg 0xf0,temp
+	ior temp,pdata
+	rtn
+
+
+mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	branch mouse_fill_data_le
+
+mouse_le_send_empty_packet:
+	setarg 0
+	store 7,mem_mouse_key
+	branch mouse_fill_data_le
+
+mouse_priority_bb_event:	
+	copy regc,pdata
+	beq BT_EVT_LE_CONNECTED,mouse_le_bb_event_connected
+	beq BT_EVT_BB_CONNECTED,mouse_stop_discovery
+	beq BT_EVT_LE_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_BB_DISCONNECTED,mouse_bb_disconnected
+	beq BT_EVT_SETUP_COMPLETE,mouse_bt_event_setup_complete
+	beq BT_EVT_BUTTON_LONG_PRESSED,mouse_bb_event_discovery_btn
+	beq BT_EVT_HID_HANDSHAKE,mouse_bt_hid_handshake
+	beq BT_EVT_HID_CONNECTED,mouse_bt_hid_connected
+	beq BT_EVT_RECONN_FAILED,mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,mouse_bb_event_reconn_timeout
+	beq BT_EVT_PINCODE_REQ,mouse_bb_event_pincode
+	beq BT_EVT_REMOTE_UNSNIFF,app_start_auto_sniff
+	beq BT_EVT_LE_PAIRING_SUCCESS,mouse_le_pairing_success
+	beq BT_EVT_LE_START_ENC,mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PAIRING_COMPLETE,mouse_le_pairing_complete
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,mouse_irtual_cable_unplug
+	beq BT_EVT_24G_PAIRING_COMPLETE,mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,mouse_24g_attempt_success
+	rtn
+
+
+mouse_le_pairing_complete:
+	branch app_ble_store_reconn_info
+
+mouse_24g_attempt_fail:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch app_enter_hibernate,zero
+	rtn
+mouse_24g_attempt_success:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	rtn
+mouse_24g_pairing_complete:
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	fetch 1,mem_config_sensor_type
+	sub pdata,P3610,null
+	call mouse_read_sensor3610_data,zero
+	ncall mouse_read_sensor_common,zero
+
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_24g_address
+	call mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+mouse_set_24g_addr_eeprom:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+mouse_store_flash_24g_address:
+	call g24_head_ptr2regc
+	add regc,offset_24g_addr,regb
+	ifetch 1,regb
+	store 1,mem_mouse_24g_addr
+	branch mouse_store_flash_device_info
+	
+
+mouse_le_pairing_success:
+	arg LL_PAIRING_SUCCESS_FLAG,queue
+	branch mouse_le_enable_connect_flag
+mouse_le_ll_start_encryt:
+	jam 2,mem_le_start_encrypt_timer
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+	
+mouse_le_enable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset1 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+
+mouse_le_disable_connect_flag:
+	fetch 1,mem_le_connect_status_flag
+	qset0 pdata
+	store 1,mem_le_connect_status_flag
+	rtn
+mouse_le_clean_connect_flag:
+	jam 0,mem_le_connect_status_flag
+	rtn
+
+mouse_le_bb_event_connected:
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	set0 APP_DISC_BY_BUTTON ,pdata
+	store APP_DISC_RSN_SIZE,mem_app_disconn_reason_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	call mouse_no_data_timer_init
+	branch mouse_stop_discovery
+
+mouse_bb_event_pincode:
+	call pincode_reinit
+	branch app_bt_set_pincode
+mouse_bb_event_reconn_timeout:
+ifdef FPGA_DEBUG
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_config_output
+	arg MOUSE_FPGA_DEBUG_GPIO,temp
+	call gpio_out_inactive
+endif
+mouse_bb_event_reconn_failed:
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_start_discovery
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	branch app_bb_hibernate
+
+	
+mouse_bt_hid_connected:
+	branch mouse_hid_connected
+
+mouse_bt_event_setup_complete:
+	rtn
+
+mouse_soft_reset:
+	call mouse_select_device_enable
+	branch soft_reset_chip
+
+mouse_bb_disconnected:
+	bpatch patch1d_1,mem_patch1d
+	call mouse_bb_discon_clear_stack
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+	bbit1 MOSUE_24G_PAIRING_FLAG,g24_start_pairing_sm1
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_bb_discon_clear_stack:
+	setarg 0
+	store 8,mem_wheel_tb_old_pinlevel
+	istore 4,contw             //clean wheel statue
+	jam 0,mem_mouse_send_blank_timer
+	jam 0,mem_mouse_move_flag
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_ltk_exists
+	rtn
+
+mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	branch app_bb_hibernate
+
+mouse4_0_event_bb_disconn:
+	call mouse_le_clean_connect_flag
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	branch app_bb_hibernate
+
+mouse_bb_event_timer:
+	call mouse_adc_read
+	call mouse_24g_delay_timer
+	call mouse_ban_24g_pairing_timer
+	call mouse_dpi_led_blink_delay_timer
+	call mouse_statue_up_timer
+	//poll
+	call mouse_statue_cheak_timer
+	call mouse_select_device
+	call mouse_bt_discovery_cheak
+	call mouse_low_voltage_led_timer
+	call mouse_sensor_led_contrl_timer
+	call mouse_check_hid_handshake_timer
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	call mouse_check_mouse_state_timer
+	branch mouse_le_enable_att_list_timer
+
+
+
+mouse_sensor_led_contrl_timer:
+	fetch 1,mem_mouse_sensor_timer_count
+	rtn blank
+	increase -1,pdata
+	store 1,mem_mouse_sensor_timer_count
+	nrtn blank
+	branch mouse_sensor_led_contrl
+mouse_sensor_led_contrl:
+	fetch 1,mem_sensor_led_style
+	rtneq UI_LED_STATE_BLINK_STOP
+	beq UI_LED_STATE_BLINK_DARKING,mouse_sensor_led_blink_state_darking
+mouse_sensor_led_blink_state_lighting:
+	call mouse_sensor_led_on
+	jam UI_LED_STATE_BLINK_DARKING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+mouse_sensor_led_blink_state_darking:
+	call mouse_sensor_led_off
+	jam UI_LED_STATE_BLINK_LIGHTING,mem_sensor_led_style
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	rtn
+	
+mouse_sensor_led_blink_stop:
+mouse_sensor_reset:
+	setarg 0x8006
+	call twspi_write
+    nop 1000
+	jam 0x00,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_STOP,mem_sensor_led_style
+	branch mouse_init_p32xx_id2_judge
+	
+mouse_p3212sensor_led_on:
+	setarg 0xa006
+	call twspi_write
+	setarg 0xa005
+	branch twspi_write
+mouse_sensor_led_on_global:
+	jam 0,mem_mouse_sensor_timer_count
+mouse_sensor_led_on:
+	fetch 1,mem_config_sensor_type
+	beq P3212,mouse_p3212sensor_led_on
+	setarg 0x0106
+	call twspi_write
+	setarg 0xa105
+	branch twspi_write
+	
+mouse_sensor_led_off_global:
+	jam 0,mem_mouse_sensor_timer_count	
+mouse_sensor_led_off:
+	setarg 0x0906
+	branch twspi_write
+mouse_sensor_start_blink:
+	jam LED_SENSOR_BLINK_CNT,mem_mouse_sensor_timer_count
+	jam UI_LED_STATE_BLINK_START,mem_sensor_led_style
+	rtn
+	
+mouse_check_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg mouse_bt_hid_handshake,regb
+	branch timer_single_step
+
+mouse_check_discovery_timeout_timer:	
+	arg mem_mouse_discovery_timer,regc
+	arg mouse_check_discovery_timeout,regb
+	branch timer_single_step_2B
+
+mouse_check_direct_timeout_timer:	
+	arg mem_mouse_direct_timer,regc
+	arg mouse_check_direct_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_no_data_timeout_timer:	
+	arg mem_mouse_no_data_timer,regc
+	arg mouse_check_no_data_timeout,regb
+	branch timer_single_step_2B
+	
+mouse_check_mouse_state_timer:
+	arg mem_mouse_statue_led_timer,regc
+	arg mouse_statue_led_off,regb
+	branch timer_single_step
+
+
+
+mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_enable_att_list,regb
+	branch timer_single_step
+
+mouse_24g_delay_timer:
+	arg mem_24g_enter_lpm_timer,regc
+	arg mouse_24g_delay,regb
+	branch timer_single_step
+
+mouse_ban_24g_pairing_timer:
+	arg mem_24g_pairing_timer_count,regc
+	arg mouse_ban_24g_pairing,regb
+	branch timer_single_step_2B
+mouse_ban_24g_pairing:
+mouse_24g_delay:
+	rtn
+
+
+mosue_dpi_led_blink_init:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_DPI_LED_BLINK
+	jam 10,mem_mouse_dpi_led_delay_count  //delay 1s led blink
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	rtn
+
+
+mouse_dpi_led_blink_delay_timer:
+	arg mem_mouse_dpi_led_delay_count,regc
+	arg mouse_dpi_led_setting,regb
+	branch timer_single_step	
+mouse_dpi_led_setting:
+	fetch 1,mem_dpi_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	setarg LED_DPI_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	arg 0,rega
+	fetcht 1,mem_mouse_dpi
+	increase 1,temp
+	storet 1,mem_mouse_blink_count
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	rtn
+	
+mouse_le_enable_att_list:	
+	fetch 1,mem_le_connect_status_flag
+	rtnbit1 LL_PAIRING_SUCCESS_FLAG
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	call ui_ipc_send_cmd
+	arg WRITE_REQ_ENABLE_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+
+mouse_check_discovery_timeout:
+	call mouse_stop_discovery
+	branch app_enter_hibernate
+
+mouse_check_direct_timeout:
+	call app_ble_stop_direct_adv
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	branch app_enter_hibernate
+
+mouse_check_no_data_timeout:
+	bmark1 mark_24g,check_51cmd_hibernate
+	branch mouse_disconnect
+
+	
+
+mouse_bb_event_discovery_btn:
+	bpatch patch1d_2,mem_patch1d
+	jam 0,mem_mouse_send_blank_timer
+	call mouse_disconnect
+	call mouse_le_clean_connect_flag
+	branch mouse_start_discovery
+
+
+
+mouse3_0_check_reconn_target:
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	call mouse_reconn_setting_led_gpio
+	jam 0x17,mem_connection_options  //ssp
+	fetch 1,mem_ssp_enable
+	nbranch app_bt_start_reconnect,blank
+	jam 0x04,mem_connection_options  //no ssp
+	branch app_bt_start_reconnect
+	
+mouse4_0_check_reconn_target:
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call mouse_reconn_setting_led_gpio
+	call app_lpm_mult_disable
+	branch check_51cmd_adv
+
+mouse_reconn_setting_led_gpio:
+	setarg LED_RECONNECT_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time
+	branch mouse_setting_led_gpio_comman
+	
+mouse_discover_setting_led_gpio:
+	setarg LED_DISCOVERY_BLINK
+	store 2,mem_mouse_on_time
+	store 2,mem_mouse_off_time	
+mouse_setting_led_gpio_comman:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device_led1
+	beq MODE_BT_DEVICE2,mouse_device_led2
+	beq MODE_BT_DEVICE3,mouse_device_led3
+	rtn
+mouse_device_led1:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+mouse_device_led2:
+	fetch 1,mem_config_device2_led_gpio
+	branch mouse_led_blink
+mouse_device_led3:
+	fetch 1,mem_config_device3_led_gpio
+mouse_led_blink:
+	store 1,mem_temp
+	call mouse_devce_led_off
+	fetch 1,mem_temp
+	store 1,mem_mouse_struct_led_gpio
+	arg 0,rega
+	jam UI_LED_STATE_BLINK_START,mem_mouse_led_type
+	branch ui_led_blink_start_global
+
+mouse_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+mouse_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+mouse4_0_bb_event_discovery_btn:
+	branch mouse_le_clean_connect_flag
+	
+mouse_bt_hid_handshake:
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_bt_store_reconn_info
+	setarg 0
+	store 2,mem_discovery_timeout_timer_count
+	store 1,mem_hid_handshake_timer_count
+	branch app_bt_enter_sniff
+
+mouse_check_reconn_target:
+	call mouse_cheak_select_device_by_switch
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	branch mouse_connect_24g_mode,zero
+	fetch 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse3_0_check_reconn_target
+	beq REC_4_MODE,mouse4_0_check_reconn_target
+	branch mouse_start_discovery
+mouse_connect_24g_mode:
+	call mouse_start_24g_mode
+	rtnmark1 mark_24g
+	fetch 1,mem_reconn_times
+	nbranch mouse_polling_device,blank
+	rtn
+	
+mouse_start_discovery:
+	bpatch patch1d_3,mem_patch1d
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,mouse_start_discovery_norandom
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,mouse_start_discovery_norandom
+	random pdata					//random ble addr
+	store 1,mem_le_lap+1
+mouse_start_discovery_norandom:
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call check_51cmd_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call check_51cmd_start_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_start_blink
+	branch mouse_discover_setting_led_gpio
+
+mouse_stop_discovery:
+	bpatch patch1d_4,mem_patch1d
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call mouse_stop_le_adv,true
+	fetch 1,mem_device_option
+	isolate1 MODE_3_MOUSE,pdata
+	call mouse_stop_bt3_discovery,true
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_DISCOVERY_SENSOR_LED,mouse_sensor_led_blink_stop
+	branch mouse_devce_led_off
+mouse_stop_le_adv:
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	branch check_51cmd_stop_adv
+mouse_stop_bt3_discovery:
+	setarg 0
+	store 2,mem_mouse_discovery_timer
+	branch check_51cmd_stop_discovery
+
+	
+
+
+
+mouse_store_remote_bdaddr:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STORE_EEPROM_FLAG
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_disable_function_flag
+	call mouse_check_device_addr
+mouse_unplug_clean_bdaddr:
+	call mouse_before_store_reconn_info
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_FLASH,mouse_store_flash_device_info
+	bbit1 MOUSE_ENABLE_EEPROM,mouse_store_eeprom_device_info	
+	rtn
+mouse_store_eeprom_device_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_check_device_addr:
+	fetch 1,mem_record_bt_mode
+	beq REC_4_MODE,mouse_check_le_device_addr
+	beq REC_3_MODE,mouse_check_bt_device_addr
+	rtn
+mouse_check_le_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_le_plap
+	branch mouse_check_bt_device_addr_common
+mouse_check_bt_device_addr:
+	store 1,mem_device_addr_temp
+	fetch 6,mem_plap
+mouse_check_bt_device_addr_common:
+	store 6,mem_device_addr_temp+1
+	fetch 7,mem_device_addr_temp
+	arg mem_device1_type,contr
+	arg 3,loopcnt
+mouse_check_device_addr_end:
+	ifetcht 7,contr
+	isub temp,null
+	branch mouse_clean_addr,zero
+	increase 22,contr
+	loop mouse_check_device_addr_end
+	rtn
+mouse_before_store_reconn_info:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	fetch 1,mem_record_bt_mode
+	istore 1,rega
+	beq REC_4_MODE,mouse_store_le_device
+	beq REC_3_MODE,mouse_store_bt_device
+	rtn
+	
+mouse_store_le_device:
+	fetch 6,mem_le_plap
+	istore 6,contw
+	arg mem_le_ltk,contr
+	call memcpy16
+	fetch 6,mem_le_lap
+	istore 6,contw
+	rtn
+mouse_store_bt_device:
+	fetch 6,mem_plap
+	istore 6,contw
+	arg mem_link_key,contr
+	branch memcpy16
+
+mouse_clean_addr:
+	increase -6,contr
+	copy contr,contw
+	fetcht 6,mem_device_addr_temp+1
+	increase 3,temp
+	istoret 6,contw
+	rtn
+
+
+
+mouse_eeprom_load_recon_info:
+	arg 88,temp
+	arg mem_device_flag,rega
+	arg MOUSE_INFO_EEPROM_OFFECT,regb
+	call iicd_read_eep_data
+mouse_select_reconn_device:
+	arg mem_device1_type,rega
+	fetch 1,mem_device_flag
+	fetcht 1,mem_24g_device_number
+	isub temp,null
+	rtn zero
+	increase -1,pdata
+	mul32 pdata,29,pdata
+	iadd rega,rega
+	ifetch 1,rega
+	store 1,mem_xrecord_mode
+	beq REC_3_MODE,mouse_load_bt_device
+	beq REC_4_MODE,mouse_load_le_device
+	rtn
+
+mouse_load_bt_device:
+	ifetch 6,contr
+mouse_load_bt_device_end:
+	store 6,mem_hci_plap
+	arg mem_link_key,contw
+	call memcpy16
+	branch check_link_key_load
+
+mouse_load_le_device:
+	ifetch 6,contr
+mouse_load_le_device_end:
+	store 6,mem_hci_plap
+	arg mem_le_ltk,contw
+	call memcpy16
+	ifetch 6,contr
+	store 6,mem_le_lap
+	rtn
+
+
+mouse_select_device:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON,mouse_select_device_by_button
+	bbit1 ENABLE_SELECT_DEVICE_BY_SWITCH,mouse_select_device_by_switch
+	branch mouse_select_device_by_combination_key
+
+mouse_select_device_by_combination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_RM_BUTTON,mouse_select_device_commbination_key_down
+mouse_select_device_commbination_key_up:
+	jam 30,mem_combination_select_device_count	//combination key timer init 
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	rtn
+	
+mouse_select_device_commbination_key_down:
+	call mouse_combination_select_device_timer
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	branch mouse_select_device_enable
+
+mouse_combination_select_device_timer:
+	fetch 1,mem_combination_select_device_count
+	rtn blank
+	pincrease -1
+	store 1,mem_combination_select_device_count
+	nrtn blank
+	branch mouse_ready_reconnection_by_button
+	
+mouse_select_device_by_button:
+	fetch 1,mem_config_select_device_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+mouse_select_device_button_up:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_select_device_button_statue	
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_LONG_BT_BUTTON_FLAG
+	branch mouse_ready_reconnection_by_button
+
+mouse_select_device_button_down:
+	fetch 1,mem_select_device_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_select_device_button_statue
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_select1_device
+	beq MODE_24G_DEVICE,mouse_select2_device
+	rtn
+mouse_cheak_select_device_by_switch:
+	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 ENABLE_SELECT_DEVICE_BY_SWITCH
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_cheak_select_24gdevice,true
+mouse_select_btdevice:
+	jam MODE_BT_DEVICE1,mem_device_flag
+	rtn
+mouse_cheak_select_24gdevice:
+	fetch 1,mem_24g_device_number
+	store 1,mem_device_flag
+	rtn
+mouse_select1_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	nbranch mouse_ready_reconnection_by_button,true
+	rtn
+mouse_select2_device:
+	fetcht 1,mem_config_select_device_button_gpio
+	call gpio_get_bit
+	branch mouse_select_device_button_down,true
+	rtn
+
+
+	
+
+mouse_ready_reconnection_by_button:
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_select_device_enable
+//	call p_select_reconn_device
+	branch mouse_set_reconnection
+
+mouse_store_device_number2eeprom:
+	arg 1,temp
+	arg mem_device_flag,rega
+	arg 0,regb
+	branch iicd_write_eep_data
+
+mouse_set_reconnection:
+	call mouse_stop_bluetooth_mode
+	call mouse_select_device_disable
+	branch mouse_soft_reset
+mouse_stop_bluetooth_mode:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch mouse_stop_discovery
+
+mouse_disconnect:
+	bpatch patch1d_5,mem_patch1d
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	rtn
+
+mouse_irtual_cable_unplug:
+	setarg 0x01
+	store 6,mem_plap
+	jam REC_3_MODE,mem_record_bt_mode
+	branch mouse_unplug_clean_bdaddr
+
+	
+mouse_cancel_reconnect:
+	call mouse_bt_cannel_reconn_enable
+	branch check_51cmd_bb_reconn_cancel
+
+mouse_bt_discovery_by_button:
+	fetch 1,mem_config_bt_button_gpio
+	rtneq GPIO_DISABLE
+	fetcht 1,mem_config_bt_button_gpio
+	call gpio_get_bit
+	branch mouse_bt_discovery_button_down,true
+mouse_bt_discovery_button_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 	
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+mouse_bt_discovery_button_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+	
+mouse_bt_discovery_cheak:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
+mouse_bt_discovery_commbination_key:
+	call mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,mouse_bt_discovery_commbination_key_down
+mouse_bt_discovery_commbination_key_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue	
+	branch mouse_bt_discovery_button_down_disable
+	
+	
+mouse_bt_discovery_commbination_key_down:
+	call mouse_bt_discovry_timer
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_bt_discovey_button_statue
+	call check_51cmd_bb_reconn_cancel
+	branch mouse_bt_discovery_button_down_enable
+
+mouse_bt_discovry_timer:
+	arg mem_combination_ui_button_count,regc
+	arg mouse_long_button_bt_discovry,regb
+	branch timer_single_step
+	
+mouse_long_button_bt_discovry:
+	arg MOUSE_LONG_BT_BUTTON_FLAG,queue
+	call mouse_enable_function_flag
+	call app_evt_button_long_pressed
+	branch mouse_bb_event_discovery_btn
+
+
+mouse_cpi_enable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_cpi_disable:
+	arg MOUSE_CPI_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_select_device_enable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_select_device_disable:
+	arg MOUSE_SELECT_DEVICE_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_cannel_reconn_enable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_cannel_reconn_disable:
+	arg MOUSE_BT_CANNEL_RECONN_FLAG,queue
+	branch mouse_disable_function_flag
+mouse_bt_discovery_button_down_enable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_bt_discovery_button_down_disable:
+	arg MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,queue
+	branch mouse_disable_function_flag
+
+
+
+mouse_select_device_count_clean:
+	arg 1,temp
+	rtn
+
+mouse_enable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset1 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+
+mouse_disable_function_flag:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	qset0 pdata
+	store MOUSE_FLAG_LEN,mem_mouse_flag
+	rtn
+	
+mouse_adc_read:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	rtn positive
+	jam 0,mem_adc_read_timer
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,mouse_power_down
+	bbit0 0,mouse_adc_no_low_voltage
+	branch mouse_adc_low_voltage
+mouse_adc_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_enable_function_flag
+mouse_adc_no_low_voltage:
+	arg MOUSE_LOW_VOLTAGE_FLAG,queue
+	branch mouse_disable_function_flag
+
+mouse_low_voltage_led_timer:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_LOW_VOLTAGE_FLAG
+	fetch 1,mem_config_low_voltage_alarm_gpio
+	store 1,mem_mouse_struct_led_gpio
+	fetch 1,mem_adc_low_volatage_led_timer_count
+	pincrease 1
+	store 1,mem_adc_low_volatage_led_timer_count
+	sub pdata,20,null
+	ncall mouse_adc_low_volatage_led_timer_count_clean,positive
+	beq 2,mouse_low_voltage_led_on
+	beq 4,mouse_low_voltage_led_off
+	beq 6,mouse_low_voltage_led_on
+	beq 8,mouse_low_voltage_led_off
+	rtn
+mouse_adc_low_volatage_led_timer_count_clean:
+	jam 1,mem_adc_low_volatage_led_timer_count
+	branch mouse_low_voltage_led_off
+mouse_low_voltage_led_on:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_on_global
+mouse_low_voltage_led_off:
+	arg 0,rega
+	jam UI_LED_STATE_LIGHTING,mem_mouse_led_type
+	branch ui_led_off_global
+
+mouse_g24_package_data:
+	call mouse_motion
+	nrtn user
+	arg 7,rega	//length
+	arg mem_mouse_key,regb //tx buff
+	rtn
+	
+mouse_g24_enter_lpm:
+	fetch 1,mem_mouse_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	call mouse_24g_dpi_delay_init,true
+	fetch 1,mem_24g_enter_lpm_timer
+	nrtn blank
+	call mouse_check_key_gpio
+	nrtn blank
+	branch g24_lpm_long_sleep
+
+mouse_24g_dpi_delay_init:
+	fetch 1,mem_dpi_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	jam 10,mem_24g_enter_lpm_timer
+	rtn
+
+	
+mouse_load_flash_info_cheak:
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	branch mouse_store_flash_device_info
+mouse_ble_init_address:
+	fetch 6,mem_le_lap
+	store 6,mem_device1_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device2_locall_addr
+	add pdata,0x0100,pdata
+	store 6,mem_device3_locall_addr
+	rtn
+	
+	
+mouse_load_flash_flag:
+	setarg mem_store_flag
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	iadd temp,pdata
+	arg 2,temp
+	arg mem_store_flag,rega
+	branch spid_read_flash
+
+	
+mouse_load_flash_device_info:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	call spid_read_flash
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	call g24_head_ptr2regc
+	branch g24_store_mem_addr
+
+mouse_store_flash_device_info:	
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	arg mem_mouse_information_start,rega
+	fetch 3,mem_flash_base
+	branch flash_write
+
+mouse_store_eerpom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_write_protect_eep_data
+
+mouse_load_eeprom_dpi:
+	arg 1,temp
+	arg mem_mouse_dpi,rega
+	arg MOUSE_DPI_EEPROM_OFFECT,regb
+	branch iicd_read_eep_data
+
+mouse_statue_cheak_timer:
+	rtnmark1 mark_24g
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_STATUE_UP
+	fetch 1,mem_mouse_1step_up_count
+	pincrease 1
+	and pdata,0x07,pdata
+	store 1,mem_mouse_1step_up_count
+	rtnne 0x07         //800ms read sensor
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,mouse_check_statue_up
+	bbit1 UI_STATE_BLE_CONNECTED,mouse_check_statue_up
+	rtn
+
+
+
+//mosue 
+mouse_check_statue_up:
+	bpatch patch1d_6,mem_patch1d
+	fetch 1,mem_mouse_2step_up_count
+	nrtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	fetch 1,mem_sensor_squal_reg
+	call sensor_read
+	store 1,mem_sensor_iqc
+	sub pdata,0x10,null
+	branch mouse_statue_up_timer_init,positive
+	jam 0,mem_mouse_2step_up_count
+	rtn
+
+mouse_statue_up_timer_init:
+	jam 30,mem_mouse_2step_up_count
+	rtn
+mouse_statue_up_timer:
+	arg mem_mouse_2step_up_count,regc
+	arg mouse_statue_up,regb
+	branch timer_single_step
+
+mouse_statue_up:
+	fetch 1,mem_sensor_squal_reg
+	call twspi_read
+	sub pdata,0x10,null
+	nrtn positive
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_STATUE_UP_FLAG
+	arg MOUSE_STATUE_UP_FLAG,queue
+	call mouse_disable_function_flag
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_statue_led_timer         // led on3s
+	call mouse_devce_led_off
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_STATUE_UP_THREE_LED,mouse_three_device_statue_up
+mouse_two_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device_blink_led_init		//device_2
+	rtn
+mouse_three_device_statue_up:
+	fetch 1,mem_device_flag
+	beq MODE_BT_DEVICE1,mouse_device1_led_on  		//device_1
+	beq MODE_BT_DEVICE2,mouse_device2_led_on		//device_2
+	beq MODE_BT_DEVICE3,mouse_device3_led_on		//device_3
+	rtn
+	
+mouse_device_blink_led_init:
+	fetch 1,mem_config_device1_led_gpio
+	branch mouse_led_blink
+
+
+
+mouse_statue_led_off:
+	jam 0x20,mem_lpm_mult
+	branch mouse_devce_led_off
+
+
+
+mouse_devce1_led_off:
+	fetch 1,mem_config_device1_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_devce2_led_off:
+	fetch 1,mem_config_device2_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+	
+mouse_devce_led_off:
+	call mouse_led_off
+	call mouse_devce1_led_off
+	call mouse_devce2_led_off
+mouse_devce3_led_off:
+	fetch 1,mem_config_device3_led_gpio
+	rtneq GPIO_DISABLE
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_off
+
+mouse_device1_led_on:
+	fetch 1,mem_config_device1_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device2_led_on:
+	fetch 1,mem_config_device2_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+mouse_device3_led_on:
+	fetch 1,mem_config_device3_led_gpio
+	store 1,mem_mouse_struct_led_gpio
+	branch mouse_led_on
+
+
+
+mouse_polling_device:
+	bpatch patch1d_7,mem_patch1d
+	fetch 1,mem_reconn_times
+	increase -1,pdata
+	store 1,mem_reconn_times
+	fetcht 1,mem_device_flag
+	increase 1,temp
+	fetch 1,mem_device_number
+	isub temp,null
+	ncall mouse_select_device_count_clean,positive
+	storet 1,mem_device_flag
+	jam 0,mem_link_key_exists
+	call mouse_store_device_number2eeprom
+	call mouse_before_store_reconn_info
+	branch mouse_check_reconn_target
+	
+mouse_power_down:
+	call mouse_devce_led_off
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+
+
+
+
+
+
+endif
+
+
+
Index: YJX_Only24g/main/program/app_remote_car.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_remote_car.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_remote_car.prog	(working copy)
@@ -0,0 +1,480 @@
+ifdef COMPILE_REMOTE_CAR
+
+remote_car_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xf0,pdata
+	hstore 1,core_gpio_sel1
+	call keyscan_key_init
+	setarg remote_car_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+	
+	setarg remote_car_process_lpm_before
+	store 2,mem_cb_before_lpm	
+	
+	setarg remote_car_scale_process_idle	
+	store 2,mem_cb_idle_process	
+	
+	setarg remote_car_scale_process_bb_event 
+	store 2,mem_cb_bb_event_process	
+	
+	setarg app_get_lpm_wake_lock
+	store 2,mem_cb_check_wakelock	
+
+	call g24_head_ptr2regc
+	setarg remote_car_g24_package_data
+	add regc,offset_24g_cb_data,contw
+	istore 2,contw
+	
+	setarg remote_car_g24_enter_lpm
+	add regc,offset_24g_cb_lpm_prepare,contw
+	istore 2,contw
+	
+	setarg remote_car_process_lpm_before
+	add regc,offset_24g_cb_lpm_before,contw
+	istore 2,contw
+
+	setarg remote_car_event_timer
+	store 2,mem_cb_event_timer
+	
+	setarg remote_car_power_off_signal
+	store 2,mem_remote_car_power_off_cb
+	
+	setarg remote_car_soft_switch_power_on_signal
+	store 2,mem_remote_car_power_standby_cb
+	
+	setarg remote_car_send_key_data
+	store 2,mem_cb_remote_car_keyscan
+	
+	bpatch patch1e_0,mem_patch1e
+	call remote_car_init_environment
+	call queue_init
+	jam 2,mem_lpm_mult
+	fetch 1,mem_remote_car_config_soft_switch_enable
+	store 1,mem_remote_car_hard_soft_switch
+	beq HARD_SWITCH, remote_car_hard_switch_power_on_signal
+	fetch 1,mem_remote_car_config_soft_switch_gpio
+	store 1,mem_ui_button_gpio
+remote_car_soft_switch_power_on_init:
+	call remote_car_ui_led_init
+	call ui_button_init
+	call ui_button_polling
+	jam POWER_STARTING,mem_remote_car_power_state
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+
+
+remote_car_hard_switch_power_on_signal:
+	jam POWER_STANDBY,mem_remote_car_power_state
+remote_car_soft_switch_power_on_signal:
+	call remote_car_ui_led_init
+//	fetch 1,mem_remote_car_led_map
+	arg 0,rega
+	call ui_led_blink_start_global
+remote_car_connect_24g_mode:
+	branch g24_auto_pair_start
+
+remote_car_power_off_signal:	
+	branch remote_car_ui_led_init
+	
+remote_car_ui_led_init:
+	bpatch patch1e_1,mem_patch1e
+	fetch 1,mem_remote_car_config_connect_led_gpio
+	bne INVALID_PIN_NUM,remote_car_pairing_led_gpio_set
+remote_car_ui_led_init_1:
+	fetcht 1, mem_remote_car_led_map
+	branch gpio_config_output
+remote_car_pairing_led_gpio_set:
+	store 1,mem_remote_car_led_map
+	branch remote_car_ui_led_init_1
+
+
+remote_car_init_environment:
+	call g24_set_device_addr
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	branch remote_car_get_adc_default_data
+
+remote_car_le_before_hibernate:
+//	call keyscan_scan_key
+//	fetch 2, mem_key_value_temp
+//	branch remote_car_in_enter_hibernate,blank
+//	branch app_enter_hibernate
+remote_car_in_enter_hibernate:	
+	call gpio_set_before_lpm_common
+	call remote_car_process_lpm_before
+	branch app_enter_hibernate
+
+remote_car_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+remote_car_g24_enter_lpm:
+	fetch 1,mem_remote_car_24g_enter_lpm_enable
+	rtn blank
+	//do not enter lpm when condition is unallowed
+	branch g24_lpm_long_sleep
+
+remote_car_process_auto_pair_exit:
+	rtn
+
+remote_car_key_scan_process:
+	branch keyscan_key_process
+
+remote_car_scale_process_idle:
+	call remote_car_rocker_process
+	call remote_car_24g_status_process
+	branch remote_car_key_scan_process
+
+remote_car_scale_process_bb_event:
+	copy regc,pdata
+	beq BT_EVT_BUTTON_UP,app_event_button_up
+	beq BT_EVT_BUTTON_LONG_PRESSED,app_button_long_pressed
+	beq BT_EVT_24G_PAIRING_COMPLETE,remote_car_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,remote_car_24g_attempt_success
+	beq BT_EVT_24G_ATTEMPT_FAIL,remote_car_24g_attempt_fail
+	rtn
+
+remote_car_24g_attempt_fail:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	rtn
+
+remote_car_24g_pairing_complete:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_attempt_success:
+	jam 1,mem_remote_car_24g_enter_lpm_enable
+	jam WORK_PAIRED,mem_remote_car_24g_auto_work_step
+	jam WORK_PAIRED,mem_remote_car_24g_pair_success_flag
+	rtn
+
+remote_car_24g_status_process:
+	fetch 1,mem_remote_car_24g_auto_work_step
+	rtneq POWER_ON
+	fetch 1,mem_remote_car_24g_status
+	rtneq WORK_PAIRED
+	jam WORK_PAIRED,mem_remote_car_24g_status
+remote_car_scale_process_paired:
+	arg 0,rega
+	branch ui_led_off_global
+remote_car_scale_process_shutdown:
+	arg 0,rega
+	call ui_led_off_global
+	call remote_car_ui_led_init
+	branch app_enter_hibernate
+	
+remote_car_event_timer:
+	call app_power_timer
+	branch remote_car_no_data_timer
+
+remote_car_no_data_timer:
+	fetch 1,mem_remote_car_config_timeout_shutdown_enable
+	rtn blank
+	arg mem_remote_car_no_data_timer,regc
+	arg remote_car_scale_process_shutdown,regb
+	branch timer_single_step_2B
+	
+////////////////////////////////////rocker/////////////////////////////
+remote_car_get_adc_default_data:
+	call remote_car_rocker_get_x
+	storet 2,mem_current_vdd_value_default_mid_x
+	call remote_car_rocker_get_y
+	storet 2,mem_current_vdd_value_default_mid_y
+	rtn
+remote_car_rocker_data_get:
+remote_car_rocker_get_x:
+	fetch 2,mem_current_vdd_value_default_mid_x
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio6
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status
+remote_car_rocker_get_y:
+	fetch 2,mem_current_vdd_value_default_mid_y
+	store 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_get_adc_from_gpio7
+	call remote_car_rocker_get_value
+	store 1,mem_rocker_status+1
+	rtn
+remote_car_rocker_get_value:
+	fetch 2,mem_current_vdd_default_range
+	copy pdata,rega
+	fetch 2,mem_current_vdd_value_default_mid_temp
+	call remote_car_rocker_mid_value_adjust
+	fetch 1,mem_rocker_work_status
+	nbranch remote_car_rocker_translate_key,blank
+	nrtn positive
+	fetcht 2,mem_current_vdd_value_default_mid_temp
+	rtn	
+remote_car_rocker_mid_value_adjust:
+	isub temp,pdata
+	branch remote_car_rocker_mid_adjust_positive,positive
+	sub pdata,0,pdata		//negative adjust
+	jam 1,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_mid_adjust_positive:
+	jam 0,mem_rocker_negative_flag
+	isub rega,null
+	rtn
+remote_car_rocker_translate_key:
+	nbranch remote_car_rocker_middle_key,positive
+	fetch 1,mem_rocker_negative_flag
+	nbranch remote_car_rocker_negative_key,blank
+remote_car_rocker_positive_key:	
+	setarg ROCKER_POSITIVE_KEY
+	rtn
+remote_car_rocker_negative_key:
+	setarg ROCKER_NEGATIVE_KEY
+	rtn
+remote_car_rocker_middle_key:
+	setarg ROCKER_MIDDLE_KEY
+	rtn
+remote_car_get_adc_from_gpio6:
+	jam 0x33,mem_adc_channel
+	branch adc_set_mode
+remote_car_get_adc_from_gpio7:
+	jam 0x34,mem_adc_channel
+	branch adc_set_mode
+
+
+remote_car_rocker_process:
+	fetch 1,mem_remote_car_config_check_way
+	rtnne CAR_REMOTE_CHECK_ROCKER	
+remote_car_read_rocker_check_start:
+	bpatch patch1e_2,mem_patch1e
+	jam 1,mem_rocker_work_status
+	call remote_car_rocker_data_get
+	fetch 2,mem_rocker_status
+	fetcht 2,mem_rocker_last_status
+	isub temp,null
+	rtn zero
+	store 2,mem_rocker_last_status
+	call remote_car_rocker_x_to_key
+	branch remote_car_rocker_y_to_key
+	
+remote_car_rocker_x_to_key:
+	fetch 1,mem_rocker_x_status
+	branch rocker_to_queue_set_0,blank
+	increase -1,pdata
+	branch remote_car_rocker_to_key
+remote_car_rocker_y_to_key:
+	fetch 1,mem_rocker_y_status
+	branch rocker_to_queue_set_2,blank
+	increase 1,pdata
+remote_car_rocker_to_key:
+	copy pdata,queue
+	arg 1,rega
+	branch remote_car_send_key_data
+	
+rocker_to_queue_set_0:
+	arg 0,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+rocker_to_queue_set_2:
+	arg 2,queue
+	arg 0,rega
+	branch remote_car_send_key_data
+	
+remote_car_send_key_data:
+	copy rega,pdata
+	store 1,mem_remote_key_status
+	fetch 1,mem_remote_car_24g_auto_work_step
+	beq POWER_ON,g24_auto_pair_start
+	fetch 2,mem_remote_car_no_data_timeout
+	store 2,mem_remote_car_no_data_timer
+	fetch 1,mem_remote_key_status
+	branch remote_car_key_is_release,blank
+remote_car_key_is_press:
+	bpatch patch1e_3,mem_patch1e
+	arg 0,rega
+	call ui_led_on_global
+remote_car_attack_key_press:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_press
+	beq 5,remote_car_send_attack_key5_press
+	beq 6,remote_car_send_fire_key6_press
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_press:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_is_press
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_press
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_is_press
+	rtn
+	
+remote_car_single_motor_key_is_press:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_press
+	beq 1,remote_car_send_motor1_key1_press
+	beq 2,remote_car_send_motor2_key2_press
+	beq 3,remote_car_send_motor2_key3_press
+	rtn
+	
+remote_car_double_motor_key_press:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_press
+	beq 1,remote_car_send_double_motor_key1_press
+	beq 2,remote_car_send_double_motor_key2_press
+	beq 3,remote_car_send_double_motor_key3_press
+	rtn
+
+remote_car_key_is_release:
+	bpatch patch1e_4,mem_patch1e
+	arg 0,rega
+	call ui_led_off_global
+remote_car_attack_key_release:
+	copy queue,pdata
+	beq 4,remote_car_send_attack_key4_rel
+	beq 5,remote_car_send_attack_key5_rel
+//	fetch 1,mem_remote_car_config_check_way
+//	rtneq CAR_REMOTE_CHECK_ROCKER
+remote_car_motor_key_release:
+	call remote_car_device_layout_select
+	beq CONTROL_F_B_TEN,remote_car_single_motor_key_rel
+	beq CONTROL_L_R_TEN,remote_car_double_motor_key_rel
+	beq CONTROL_L_R_LR,remote_car_single_motor_key_rel
+	rtn
+
+remote_car_device_layout_select:
+	fetch 1,mem_remote_car_config_layout
+	fetcht 1,mem_remote_car_config_key_map
+	ior temp,pdata
+	rtn
+
+//cross key,control front-back motor layout
+remote_car_send_motor1_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor1_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_press:	//left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key3_press:	//right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+
+//cross key,control left-right motor layout
+remote_car_send_double_motor_key0_press:	//front
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key1_press:	//back
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key2_press:	//left
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+remote_car_send_double_motor_key3_press:	//right
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor1_payload
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+//attack motor control
+remote_car_send_attack_key4_press:	//attack left
+	jam MOTOR_POSITIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+remote_car_send_attack_key5_press:	//attack right
+	jam MOTOR_NEGATIVE,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_fire_key6_press:
+	jam 0x01,mem_remote_car_24g_fire_send_payload
+	branch remote_car_send_attack
+
+remote_car_single_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_motor1_key0_rel
+	beq 1,remote_car_send_motor1_key1_rel
+	beq 2,remote_car_send_motor2_key2_rel
+	beq 3,remote_car_send_motor2_key3_rel
+	rtn
+
+remote_car_double_motor_key_rel:
+	copy queue,pdata
+	beq 0,remote_car_send_double_motor_key0_rel
+	beq 1,remote_car_send_double_motor_key1_rel
+	beq 2,remote_car_send_double_motor_key2_rel
+	beq 3,remote_car_send_double_motor_key3_rel
+	rtn
+
+remote_car_send_motor1_key0_rel:
+remote_car_send_motor1_key1_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	branch remote_car_send_key
+remote_car_send_motor2_key2_rel:
+remote_car_send_motor2_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_double_motor_key0_rel:
+remote_car_send_double_motor_key1_rel:
+remote_car_send_double_motor_key2_rel:
+remote_car_send_double_motor_key3_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor1_payload
+	jam MOTOR_STOP,mem_remote_car_24g_motor2_payload
+	branch remote_car_send_key
+	
+remote_car_send_attack_key4_rel:
+remote_car_send_attack_key5_rel:
+	jam MOTOR_STOP,mem_remote_car_24g_motor3_payload
+	branch remote_car_send_key
+
+remote_car_send_key:
+	arg mem_remote_car_24g_motor_packet,rega
+	branch queue_push
+remote_car_send_attack:
+	arg mem_remote_car_24g_fire_packet,rega
+	branch queue_push
+
+remote_car_g24_package_data:
+	fetch 1,mem_remote_car_24g_pair_success_flag
+	beq WORK_PAIRED,remote_car_g24_send_empty
+	arg mem_remote_car_24g_tx_temp,rega
+	call queue_pop
+	nbranch remote_car_moto_data,user
+remote_car_g24_package_data_continue:
+	arg mem_remote_car_24g_tx_temp,contr
+	ifetch 1,contr
+	copy pdata,rega
+	arg mem_remote_car_24g_tx_temp+1,regb
+	//rega: length
+	//regb: tx buffer
+	rtn
+	
+remote_car_g24_send_empty:
+	jam 0,mem_remote_car_24g_pair_success_flag
+	enable user
+	arg 1,rega
+	arg mem_remote_car_empty_packet,regb
+	rtn
+	
+remote_car_moto_data:
+	fetch 1,mem_remote_car_24g_tx_temp+3	//cmd
+	beq CAR_CMD_L_R_MOTOR_CONTROL,remote_car_moto_data_next
+	beq CAR_CMD_F_B_MOTOR_CONTROL,remote_car_moto_data_next
+	rtn
+remote_car_moto_data_next:
+	fetch 1,mem_remote_car_24g_tx_temp+6	//data moto1
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+8	//data moto2
+	nbranch remote_car_moto_data_enable_user,blank
+	fetch 1,mem_remote_car_24g_tx_temp+10	//data moto3
+	nbranch remote_car_moto_data_enable_user,blank
+	rtn
+remote_car_moto_data_enable_user:
+	enable user
+	branch remote_car_g24_package_data_continue
+
+endif
+
+
+
+
Index: YJX_Only24g/main/program/app_shutter.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_shutter.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_shutter.prog	(working copy)
@@ -0,0 +1,1170 @@
+
+ifdef COMPILE_SHUTTER
+
+shutter_init:
+	rtn wake	
+	hfetch 1,core_gpio_sel1
+	and_into 0xfc,pdata
+	hstore 1,core_gpio_sel1
+	setarg shutter_le_before_hibernate
+	store 2,mem_cb_before_hibernate
+
+	setarg shutter_process_lpm_before
+	store 2,mem_cb_before_lpm
+	
+	setarg app_enter_hibernate
+	store 2,mem_cb_discovry_timeout
+	
+	setarg shutter_process_idle
+	store 2,mem_cb_idle_process
+		
+	setarg shutter_process_bb_event 
+	store 2,mem_cb_bb_event_process
+
+	setarg shutter_le_scale_lpm_lock
+	store 2,mem_cb_check_wakelock
+	
+	setarg ble_shutter_receive_data
+	store 2,mem_cb_att_write
+
+	setarg shutter_le_bb_event_timer
+	store 2,mem_cb_event_timer
+
+	setarg shutter_key_change
+	store 2,mem_cb_shutter_keycan
+
+	setarg shutter_soft_swtich_power_on
+	store 2,mem_shutter_soft_switch_poweron_callback_function
+	setarg shutter_soft_swtich_power_off
+	store 2,mem_shutter_soft_switch_poweroff_callback_function
+
+	call le_modified_name
+	call shutter_load_bluetooth_config_by_user_config
+	call shutter_init_bluetooth_config
+	call shutter_init_param	
+	call keyscan_key_init
+	call shutter_load_buffer_config_form_DataRom
+	call queue_init
+	call ui_led_init_global
+	call shutter_load_bluetooth_config
+	call shutter_load_bluetooth_config_by_eeprom
+	
+	bpatch patch1e_5,mem_patch1e
+	call classic_shutter_load_reconn_info
+	fetch 1, mem_shutter_hard_soft_switch_case
+	beq HARD_SWITCH, shutter_hart_swtich_power_on
+	fetch 1,mem_shutter_soft_switch_button_gpio
+	store 1,mem_ui_button_gpio
+	branch ui_soft_swtich_init
+
+/**************hard swtich function**************/
+shutter_hart_swtich_power_on:
+	jam UI_BUTTON_GPIO_DISABLE,mem_ui_button_gpio
+	jam SS_STATE_POWER_ON,mem_shutter_soft_switch_power_state
+	branch shutter_start_reconnect
+/****************************/
+
+/**************lpm lock callback function**************/
+shutter_le_scale_lpm_lock:
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_OFF,app_get_lpm_wake_lock
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	nbranch app_get_lpm_wake_lock,blank
+	branch app_put_lpm_wake_lock
+/****************************/
+
+/**************c512bt event callback function*************/
+shutter_process_bb_event:
+	copy regc,pdata
+/**************classic shutter event*****************/
+	beq BT_EVT_BB_CONNECTED,classic_shutter_process_baseband_connect
+	beq BT_EVT_BB_DISCONNECTED,classic_shutter_process_baseband_disconnect
+	beq BT_EVT_RECONN_FAILED,classic_shutter_process_reconnect_failed
+	beq BT_EVT_SETUP_COMPLETE,classic_shutter_process_setup_complete
+	beq BT_EVT_HID_CONNECTED,classic_shutter_process_hid_connect
+	beq BT_EVT_HID_DISCONNECTED,classic_shutter_process_hid_disconnect
+	beq BT_EVT_HID_HANDSHAKE,classic_shutter_process_hid_handshake
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,classic_shutter_process_reconnect_page_timeout
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,classic_shutter_process_virtual_cable_unplug
+	beq BT_EVT_REMOTE_UNSNIFF,classic_shutter_process_remote_unsniff
+	beq BT_EVT_STORE_NVRAM,classic_shutter_process_store_reconnect_information
+/**************ble shutter event*****************/
+	beq BT_EVT_LE_CONNECTED,ble_shutter_process_baseband_connect
+	beq BT_EVT_LE_DISCONNECTED,ble_shutter_process_baseband_disconnect
+	beq BT_EVT_LE_RECONNECT_COMPLETE,ble_shutter_process_reconnect_complete
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,ble_shutter_process_parse_connect_parameter_update_response
+/***************soft swtich event****************/
+	beq BT_EVT_BUTTON_LONG_PRESSED,shutter_process_soft_swtich_button_long_press
+	beq BT_EVT_BUTTON_DOWN,shutter_process_soft_swtich_button_down
+	beq BT_EVT_BUTTON_UP,shutter_process_soft_swtich_button_up
+	rtn
+/****************************/
+
+
+/******************classic shutter event**********************/
+classic_shutter_process_baseband_connect:
+	jam 0,mem_classic_shutter_hid_disconn_count
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	rtn
+
+
+classic_shutter_process_baseband_disconnect:
+	call classic_shutter_disconnect_clear_flag
+	branch classic_shutter_process_reconnect_failed
+
+classic_shutter_disconnect_clear_flag:
+	jam APP_HANDSHAKE_NULL,mem_app_handshake_flag
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_unsniff2sniff_timer_count
+	jam 0,mem_classic_shutter_cable_unplug_conut
+	jam 0,mem_classic_shutter_hid_disconn_count
+	branch queue_init
+
+
+classic_shutter_process_reconnect_failed:
+	call app_disconn_reason_clear
+	branch shutter_start_bluetooth_discovery
+
+
+classic_shutter_process_setup_complete:
+	call shutter_stop_bluetooth_discovery
+	branch app_led_stop_blink
+
+
+classic_shutter_process_hid_connect:
+	setarg HID_HANDSHAKE_TIMEOUT
+	store 1,mem_hid_handshake_timer_count
+	rtn	
+
+
+classic_shutter_process_hid_disconnect:
+	jam 0,mem_classic_shutter_cable_unplug_conut	
+	setarg FLAG_SHUTTER_HID_DISCONN_TIMEOUT
+	store 1,mem_classic_shutter_hid_disconn_count
+	rtn
+
+
+classic_shutter_process_hid_handshake:
+	fetch 1,mem_app_handshake_flag
+	rtneq APP_HANDSHAKE_DONE
+	jam APP_HANDSHAKE_DONE,mem_app_handshake_flag
+	call app_lpm_mult_enable
+	call app_store_reconn_info
+	call shutter_stop_bluetooth_discovery
+	call app_led_off
+	branch app_bt_enter_sniff
+
+
+classic_shutter_process_reconnect_page_timeout:
+	branch classic_shutter_process_reconnect_failed
+
+
+classic_shutter_process_virtual_cable_unplug:
+	setarg FLAG_SHUTTER_CABLE_UNPLUG_TIMEOUT
+	store 1,mem_classic_shutter_cable_unplug_conut
+	rtn
+
+
+classic_shutter_process_remote_unsniff:
+	branch app_start_auto_sniff
+
+
+/***************classic shutter store reconn info***********************/
+classic_shutter_process_store_reconnect_information:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_nv_data_number
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_write_eep_data
+
+classic_shutter_load_reconn_info:
+	arg NVRAM_EEPROM_OFFSET,regb
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 1,mem_nv_data_number
+	rtn blank
+	mul32 pdata,34,temp
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+	branch iicd_read_eep_data
+/**************************************/
+
+/******************ble shutter event**********************/
+ble_shutter_process_baseband_connect:
+	call shutter_stop_bluetooth_discovery
+	setarg 0
+	store 2,mem_ble_shutter_reconn_timer
+	branch app_led_off
+
+
+ble_shutter_process_baseband_disconnect:
+	call queue_init
+	jam 0,mem_ble_shutter_enable_notify
+	branch shutter_start_reconnect
+
+
+ble_shutter_process_reconnect_complete:
+	call queue_init
+	jam 1,mem_ble_shutter_enable_notify
+	fetch 8,mem_ble_shutter_interval_min
+	store 8,mem_le_interval_min
+	call app_lpm_mult_enable
+	branch le_l2cap_tx_update_req
+
+
+ble_shutter_process_parse_connect_parameter_update_response:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 8,mem_ble_shutter_interval_min_new
+	rtn blank
+	store 8,mem_le_interval_min
+	branch le_l2cap_tx_update_req
+/**************************************/
+
+/******************soft swtich event**********************/
+shutter_process_soft_swtich_button_long_press:
+	branch ui_soft_switch_botton_long_press
+
+shutter_process_soft_swtich_button_down:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	call shutter_store_currenct_led_state
+	branch app_led_on
+	
+shutter_store_currenct_led_state:
+	jam 1,mem_shutter_soft_swtich_botton_down
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contw
+	arg mem_shutter_led_struct_app_led,contr
+	branch memcpy
+	
+shutter_process_soft_swtich_button_up:
+	fetch 1,mem_shutter_hard_soft_switch_case
+	rtneq HARD_SWITCH
+	fetch 1,mem_shutter_soft_switch_power_state
+	beq SS_STATE_POWER_ON,shutter_load_currenct_led_state
+	branch ui_soft_switch_botton_up
+
+shutter_load_currenct_led_state:
+	fetch 1,mem_shutter_soft_swtich_botton_down
+	rtnne 1
+	jam 0,mem_shutter_soft_swtich_botton_down
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,app_led_off
+	bbit1 UI_STATE_BLE_CONNECTED,app_led_off
+	arg 11,loopcnt
+	arg mem_shutter_soft_swtich_led_struct_temp,contr
+	arg mem_shutter_led_struct_app_led,contw
+	branch memcpy
+	
+/**************************************/
+
+
+shutter_le_bb_event_timer:
+/**************shutter check sleep timer**********************/
+	call shutter_check_sleep_timer
+/************************************/
+/**************soft reset power off timer**********************/
+	call shutter_check_power_off_timer
+/************************************/
+/**************classic shutter timer**********************/
+	call classic_shutter_check_unplug_timer
+	call classic_shutter_hid_handshake_timer
+	call classic_shutter_hid_disconn_timer
+/************************************/
+/**************ble shutter timer**********************/
+	branch ble_shutter_reconn_timer
+/************************************/
+
+/**************shutter check sleep timer**********************/
+shutter_check_sleep_timer:
+	arg mem_shutter_sleep_timer,regc
+	arg shutter_sleep_timeout,regb
+	branch timer_single_step_2B
+shutter_sleep_timeout:
+	jam SS_STATE_POWER_OFF,mem_shutter_soft_switch_power_state
+	call app_led_off
+	call shutter_disconnect_current_connection
+	branch shutter_wait_power_off
+
+/**************soft reset power off timer**********************/
+shutter_check_power_off_timer:
+	arg mem_shutter_power_off_timer,regc
+	arg shutter_check_power_off_timeout,regb
+	branch timer_single_step
+
+shutter_check_power_off_timeout:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_wait_power_off
+	bbit1 UI_STATE_BT_CONNECTED,shutter_wait_power_off
+	fetch 1,mem_shutter_led_struct_app_led_type
+	beq UI_LED_STATE_BLINK_START,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_LIGHTING,shutter_wait_power_off
+	beq UI_LED_STATE_BLINK_DARKING,shutter_wait_power_off
+	branch app_enter_hibernate
+/************************************/
+
+/**************classic shutter timer**********************/
+classic_shutter_check_unplug_timer:
+	arg mem_classic_shutter_cable_unplug_conut,regc
+	arg classic_shutter_unplug_timeout,regb
+	branch timer_single_step
+	
+classic_shutter_unplug_timeout:
+	fetch 1,mem_CONTROL_tasks
+	set1  L2CAP_DISCONNECT_INTERRUPT, pdata
+	set1  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks	
+	rtn
+
+classic_shutter_hid_handshake_timer:
+	arg mem_hid_handshake_timer_count,regc
+	arg classic_shutter_process_hid_handshake,regb
+	branch timer_single_step
+
+classic_shutter_hid_disconn_timer:
+	arg mem_classic_shutter_hid_disconn_count,regc
+	arg app_bt_disconnect,regb
+	branch timer_single_step
+
+/************************************/
+
+/**************ble shutter timer**********************/
+ble_shutter_reconn_timer:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	arg mem_ble_shutter_reconn_timer,regc
+	arg shutter_start_bluetooth_discovery,regb
+	branch timer_single_step_2B
+/************************************/
+
+shutter_process_idle:
+	call shutter_send_data_to_master
+	branch keyscan_key_process
+
+
+shutter_process_lpm_before:
+	branch keyscan_process_lpm_before
+
+shutter_le_before_hibernate:
+	call gpio_set_before_lpm_common
+	branch shutter_process_lpm_before
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+
+/****************shutter bluetooth control**********************/
+shutter_stop_bluetooth_discovery:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_stop_bluetooth_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_stop_bluetooth_discovery
+	rtn
+
+ble_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_ble_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_ble_stop_adv
+	
+classic_shutter_stop_bluetooth_discovery:
+	fetch 2,mem_classic_shutter_connect_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_stop_discovery
+
+shutter_start_bluetooth_discovery:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_discovery
+	bbit1 BLE_SHUTTER,ble_shutter_start_discovery
+	rtn
+	
+classic_shutter_start_discovery:
+	fetch 2,mem_classic_shutter_discovery_timeout,
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	branch app_bt_start_discovery_short
+
+ble_shutter_start_discovery:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	fetch 2,mem_ble_shutter_discovery_timeout
+	store 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+	fetch 2,mem_ble_shutter_discovery_adv_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_discovery_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+
+shutter_start_reconnect:
+	fetch 1,mem_shutter_soft_switch_power_state
+	rtnne SS_STATE_POWER_ON
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_start_reconnect
+	bbit1 BLE_SHUTTER,ble_shutter_start_reconnect
+	rtn
+
+classic_shutter_start_reconnect:
+	call app_check_reconn_target
+	branch shutter_start_bluetooth_discovery,blank
+	call app_led_on	
+	call app_bt_stop_discovery
+	branch app_bt_start_reconnect	
+
+ble_shutter_start_reconnect:
+	fetch 2,mem_ble_shutter_reconn_timer
+	fetcht 2,mem_ble_shutter_reconn_timeout
+	storet 2,mem_ble_shutter_reconn_timer
+	nrtn blank
+	fetch 2,mem_ble_shutter_reconn_dav_interval
+	call shutter_ble_adv_interval_set
+	call app_led_start_blink
+	fetch 4,mem_ble_shutter_reconn_blink_on_time
+	store 4,mem_shutter_led_struct_app_led_on_time
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	branch app_ble_start_adv
+
+//pdata:adv interval value
+shutter_ble_adv_interval_set:
+	store 2,mem_lpm_interval
+	increase -4,pdata
+	store 2,mem_le_adv_interval
+	rtn
+
+
+shutter_disconnect_current_connection:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	branch shutter_stop_bluetooth_discovery
+/**************************************/
+
+/******************classic shutter load reconnect*********************/
+app_check_reconn_target:
+	fetch 1,mem_nv_data_number
+	copy pdata,loopcnt
+	fetch 2,mem_nv_data_ptr
+	copy pdata,rega
+app_check_reconn_target_loop:
+	ifetch 2,rega
+	beq 0,found_reconn_device
+	increase NV_DATA_LEN,rega
+	loop app_check_reconn_target_loop
+	branch enable_blank
+
+found_reconn_device:
+	ifetch 6,contr
+	store 6,mem_hci_plap
+	increase 10,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	call check_link_key_load
+	branch disable_blank
+	
+/**************************************/
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,can send data
+shutter_check_data_enable:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,shutter_check_bt_data_enable
+	bbit1 UI_STATE_BLE_CONNECTED,shutter_check_ble_data_enable
+	rtn
+
+shutter_check_bt_data_enable:
+	fetch 1,mem_hid_interrupt_state
+	rtnne 0x3f	
+	branch enable_user
+
+shutter_check_ble_data_enable:
+	fetch 1,mem_ble_shutter_enable_notify
+	rtn blank
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+//output:if user is enable,mean,bluetooth disconnect
+shutter_check_bluetooth_conn:
+	call disable_user
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BT_CONNECTED
+	rtnbit1 UI_STATE_BLE_CONNECTED
+	branch enable_user
+/////////////////////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////////////////////
+shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_shutter_bluetooth_type
+	bbit1 CLASSIC_SHUTTER,classic_shutter_change_bluetooth_status_bt_disconn
+	bbit1 BLE_SHUTTER,ble_shutter_change_bluetooth_status_bt_disconn
+	rtn
+	
+classic_shutter_change_bluetooth_status_bt_disconn:
+	fetch 1,mem_scan_mode
+	rtnne 0x03
+	branch shutter_start_reconnect
+	
+ble_shutter_change_bluetooth_status_bt_disconn:
+	branch shutter_start_reconnect
+
+/////////////////////////////////////////////////////////////////////////
+shutter_check_send_data:
+	disable user2
+	fetch 2,mem_shutter_sleep_timeout
+	store 2,mem_shutter_sleep_timer
+
+	call shutter_check_bluetooth_conn
+	branch shutter_change_bluetooth_status_bt_disconn,user
+	
+	call shutter_check_data_enable
+	nrtn user
+	enable user2
+	rtn
+
+//queue = key index
+//rega =1 press, =0 release
+shutter_key_change:
+	call shutter_check_send_data
+	nrtn user2
+	deposit rega
+	branch shutter_key_release,blank
+shutter_key_press:
+	call app_led_on
+	arg mem_key0_press,regc
+	branch push_queue_press_or_release
+
+shutter_key_release:
+	call app_led_off
+	arg mem_key0_release,regc
+
+push_queue_press_or_release:
+	arg MAX_QUEUE_NUM,pdata
+	imul32 queue,pdata
+	iadd regc,regc
+	
+//input:regc the address that want push to queue buffer
+push_buffer_in_queue:
+	ifetch 1,regc
+	rtn blank
+	call queue_push_one_byte
+	increase 1,regc
+	branch push_buffer_in_queue
+
+
+shutter_send_data_to_master:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_CONNECTED,pop_queue_to_ble_data
+	bbit1 UI_STATE_BT_CONNECTED,pop_queue_to_classic_data
+	rtn
+
+pop_queue_to_ble_data:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_BLE_DATA_BUFFER,pdata
+	arg mem_ble_data_buffer1,temp
+	iadd temp,contr
+le_send_notify_from_list:
+	ifetch 1,contr	//length 
+	copy pdata,rega
+	ifetcht 2,contr	//handle
+	call store_contr
+	call le_att_malloc_tx_notify
+	copy rega,loopcnt
+	call get_contr
+	branch memcpy
+
+
+pop_queue_to_classic_data:
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	call queue_pop_one_byte
+	nrtn user
+	pincrease -1
+	mul32 pdata,SHUTTER_CLASSIC_DATA_BUFFER,pdata
+	arg mem_classic_data_buffer1,temp
+	iadd temp,contr
+	ifetch 5,contr
+	store 5,mem_classic_data_buffer
+classic_send_hid_data:
+	fetch 1,mem_classic_data_buffer
+	copy pdata,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_int_remote_cid
+	istore 2,contw
+	setarg 0xa1
+	istore 1,contw
+	fetch 4,mem_classic_data_buffer + 1
+	istore 9,contw
+	rtn
+
+///////////queue function////////////
+//input:pdata is data that want push
+queue_push_one_byte:
+	store 1,mem_pdatatemp
+	arg mem_pdatatemp,rega
+	branch queue_push
+
+queue_pop_one_byte:
+	arg mem_pdatatemp,rega
+	call queue_pop
+	nrtn user
+	fetch 1,mem_pdatatemp
+	rtn
+
+///////////queue function ending////////////
+ble_shutter_receive_data:
+	fetch 2,mem_le_att_handle
+	beq GATT_KEYBOARD_WRITE_HANDLE,ble_shutter_process_reconnect_complete
+	rtn
+
+shutter_init_param:
+	setarg 0x02
+	store 1,mem_shutter_power_off_timeout
+/////////////ble connect interval//////////////
+	setarg 0x00200008
+	store 4,mem_ble_shutter_interval_min		//set min interval is 10ms,set max interval is 40ms
+	setarg 0x012c0005
+	istore 4,contw
+///////////////////////////////////////
+//////////////////MTU/////////////
+	jam 0x17,mem_le_local_mtu
+///////////////////////////////////////
+////////////////justwork/////////
+	setarg 0x1b
+ 	store 2,mem_le_pairing_handle
+ 	call le_set_config_fixed_ltk
+	call le_set_fixed_ltk
+	call le_set_justwork
+	branch le_set_config_read_authentication
+///////////////////////////////////////
+
+shutter_load_buffer_config_form_DataRom:
+///////load data Rom/////////
+	arg BLE_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_ble_data_buffer1,contw
+	arg BLE_SHUTTER_KEY_VALUE_LIST,contr
+	call memcpy_fast
+	arg BT_KEY_VALUE_LIST_SIZE,loopcnt
+	arg mem_classic_data_buffer1,contw
+	arg CLASSIC_SHUTTER_KEY_VALUE_LIST,contr
+	branch memcpy_fast	
+
+
+shutter_load_ble_gatt_form_DataRom:
+	arg BLE_GATT_LIST_SIZE,loopcnt
+	arg BLE_SHUTTER_GATT_LIST,contr
+	branch memcpy_fast
+
+
+shutter_load_bt_sdp_form_DataRom:
+	arg BT_SDP_LIST_SIZE,loopcnt
+	arg CLASSIC_SHUTTER_SDP_LIST,contr
+	branch memcpy_fast
+	
+
+///////////////////////////////gpio config////////////////////////////////////
+shutter_init_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_init_bluetooth_config_gpio_input
+	fetch 1,mem_shutter_config_select_gpio3
+	branch shutter_init_bluetooth_config_gpio_input
+	
+shutter_init_bluetooth_config_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	branch gpio_config_input_nowake
+	
+
+shutter_load_bluetooth_config:
+	call shutter_check_load_config_flag
+	nrtn user
+	call shutter_load_bluetooth_config_label
+	branch shutter_load_bluetooth_config_by_otp
+
+shutter_load_bluetooth_config_label:
+	arg 0,rega
+	fetch 1,mem_shutter_config_select_gpio1
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,0,rega
+	fetch 1,mem_shutter_config_select_gpio2
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,1,rega
+	fetch 1,mem_shutter_config_select_gpio3
+	call shutter_load_bluetooth_config_read_gpio_input
+	nsetflag blank,2,rega
+	copy rega,pdata
+	store 1,mem_shutter_config_label
+	fetch 1,mem_shutter_config_size
+	imul32 rega,pdata
+	fetcht 2,mem_shutter_config_otp_base_address		//base address
+	iadd temp,pdata
+	store 2,mem_shutter_config_otp_addr
+	rtn
+
+shutter_load_bluetooth_config_read_gpio_input:
+	rtn blank
+	or pdata,0x80,temp
+	call gpio_get_bit
+	nbranch enable_blank,true
+	branch disable_blank
+	
+
+shutter_check_load_config_flag:
+	call disable_user
+	fetch 1,mem_shutter_config_user_size
+	nrtn blank
+	fetch 1,mem_shutter_config_enable
+	rtn blank
+	branch enable_user
+
+
+shutter_load_bluetooth_config_by_otp:
+	call otp_enable_chgpump
+	fetch 2,mem_shutter_config_otp_addr
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_load_bluetooth_config_store_name:
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_le_name_len
+	call memcpy_fast
+	fetch 1,mem_shutter_config_data_temp
+	copy pdata,loopcnt
+	store 1,mem_local_name_length
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_shutter_key_num
+	ifetch 1,contr
+	store 1,mem_shutter_hard_soft_switch_case
+	rtn
+
+
+shutter_load_bluetooth_config_by_eeprom:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	arg 3,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	copy pdata,regb
+	arg mem_shutter_config_eeprom_start_flag,rega
+	call iicd_read_eep_data
+	fetcht 2,mem_shutter_config_eeprom_start_flag
+	setarg SHUTTER_EEPROM_CONFIG_CRC
+	isub temp,null
+	nrtn zero
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	copy pdata,temp
+	fetch 2,mem_shutter_config_eeprom_offset_addr
+	add pdata,3,regb
+	arg mem_shutter_config_data_temp,rega
+	call iicd_read_eep_data
+	branch shutter_store_config
+
+shutter_load_bluetooth_config_by_user_config:
+	fetch 2,mem_shutter_config_user_otp_address
+	rtn blank
+	call otp_enable_chgpump
+	arg 1,temp
+	arg mem_shutter_config_user_size,rega
+	call otpd_read_data
+	
+	fetch 1,mem_shutter_config_user_size
+	rtn blank
+	
+	fetch 2,mem_shutter_config_user_otp_address
+	pincrease 1
+	arg mem_shutter_config_data_temp,rega
+	fetcht 1,mem_shutter_config_user_size
+	call otpd_read_data
+	call otp_disable_chgpump
+shutter_store_config:
+	call shutter_load_bluetooth_config_store_name
+shutter_load_bluetooth_config_custom:
+	ifetch 2,contr
+	rtn blank
+	copy pdata,contw
+	ifetcht 1,contr
+	copy temp,loopcnt
+	call memcpy
+	branch shutter_load_bluetooth_config_custom
+///////////////////////////////////////////////////////////////////
+
+//////////////////////////random mac address//////////////////////////////
+shutter_random_mac_addr:
+	fetch 1,mem_shutter_bluetooth_type
+	rtnbit0 CLASSIC_SHUTTER
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_read_eep_data
+	fetch 1,mem_shutter_random_mac_data_temp
+	bne 1,shutter_write_random_mac_addr_to_eeprom
+shutter_write_random_mac_addr_to_eeprom:
+	setarg 1
+	store 1,mem_shutter_random_mac_data_temp
+	force 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_classic_shutter_random_mac_offset_addr
+	copy pdata,regb
+	arg 4,temp
+	arg mem_shutter_random_mac_data_temp,rega
+	call iicd_write_eep_data
+shutter_write_random_mac_addr:
+	fetch 3,mem_shutter_random_mac_data_temp + 1
+	store 3,mem_lap
+	store 3,mem_le_lap
+	rtn
+	
+/////////////////////////////////////////////////////////////////
+shutter_soft_swtich_power_on:
+	branch shutter_start_reconnect
+
+
+shutter_soft_swtich_power_off:
+	arg 0,rega
+	arg mem_shutter_power_off_led_style,regc
+	call ui_led_set_style_global
+	call shutter_disconnect_current_connection
+shutter_wait_power_off:
+	fetch 1,mem_shutter_power_off_timeout
+	store 1,mem_shutter_power_off_timer
+	rtn
+	
+
+/*************soft swtich ui config*********************/
+ui_soft_swtich_init:
+	setarg SS_STATE_POWER_UP
+	call ui_soft_swtich_init_power_on_time
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	call ui_button_init
+	call ui_button_polling
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	branch app_enter_hibernate
+
+ui_soft_swtich_init_power_on_time:
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	ifetch 1,contw		//power on time
+	store 1,mem_ui_button_timeout
+	rtn
+
+
+ui_soft_switch_botton_up:
+	fetch 2,mem_power_param_ptr
+	ifetch 1,pdata
+	rtnne SS_STATE_POWER_UP
+	branch app_enter_hibernate
+
+
+ui_soft_switch_botton_long_press:
+	fetcht 2,mem_power_param_ptr
+	ifetch 1,temp
+	beq SS_STATE_POWER_ON,ui_soft_switch_power_off
+ui_soft_switch_power_on:
+	setarg SS_STATE_POWER_ON
+	fetcht 2,mem_power_param_ptr
+	istore 1,temp		//init power state 
+	add temp,SS_POWER_OFF_TIME,contr
+	ifetch 1,contr
+	istore 1,mem_ui_button_timeout
+	ifetch 2,contr
+	branch callback_func
+
+ui_soft_switch_power_off:
+	setarg SS_STATE_POWER_OFF
+	call ui_soft_swtich_init_power_on_time
+	add temp,SS_POWER_OFF_CB,contr
+	ifetch 2,contr
+	branch app_enter_hibernate,blank		//no call back function , just enter hibernate
+	branch callback_func
+	
+/*************soft swtich ui config ending*********************/
+
+
+/*************unkown function*********************/
+shutter_byteswap:
+	store 6,mem_tmp_buffer
+	fetch 1,mem_tmp_buffer
+	store 1,mem_tmp_buffer+11
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+10
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+9
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+8
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+7
+	ifetch 1,contr
+	store 1,mem_tmp_buffer+6
+	fetch 6,mem_tmp_buffer+6
+	rtn
+
+shutter_random_addr_by_otp:
+	call load_adc_init
+	fetch 1,mem_1v_adc_io_data
+	store 1,mem_le_lap
+	fetch 1,mem_5v_adc_hvin_data
+	istore 1,contw
+	fetch 1,mem_3v_adc_vinlpm_data
+	istore 1,contw
+	fetch 3,mem_le_lap
+	store 3,mem_lap
+	rtn
+
+
+
+//iic read function
+//function name:sim_iic_read_eep_data
+//input:
+//temp:the length that simulation iic want to read eeprom data
+//rega:the memmory point that simulation iic read data store
+//regb:the eeprom address offset
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_read_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+	
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_read_eep_data_2k
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_read_eep_data_2k:
+	call sim_iic_stop
+
+	call sim_iic_start
+	setarg 0xa1
+	call sim_iic_send_byte
+
+sim_iic_read_eep_data_loop:
+	call sim_iic_read_byte
+	istore 1,rega
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_read_eep_data_loop,zero
+	branch sim_iic_stop
+
+
+//iic write data function
+//function name:sim_iic_write_eep_data
+//input:
+//temp:the length that simulation iic want to write eeprom data
+//rega:the memmory point that simulation iic write data read
+//regb:the eeprom address
+//mark_eeprom_size:select 02 or other
+//output:nc
+sim_iic_write_eep_data:
+	byteswap regb,pdata
+	store 2,mem_addr_mi
+	copy temp,regb
+
+	call sim_iic_start
+	setarg 0xa0
+	call sim_iic_send_byte
+
+	fetch 1,mem_addr_mi
+	call sim_iic_send_byte
+	bmark1 mark_eeprom_size,sim_iic_write_eep_data_loop
+	fetch 1,mem_addr_mi + 1
+	call sim_iic_send_byte
+sim_iic_write_eep_data_loop:
+	ifetch 1,rega
+	call sim_iic_send_byte
+	increase 1,rega
+	increase -1,regb
+	nbranch sim_iic_write_eep_data_loop,zero
+	branch sim_iic_stop
+//	bmark1 mark_eeprom_size
+
+//use reg:pdata,contr,contw,loopcnt
+sim_iic_wait_ack:
+	arg 10,loopcnt
+	call sim_iic_release_sda
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+sim_iic_wait_ack_loop:
+	call sim_iic_read_sda_level
+	branch sim_iic_scl_output_low,blank	//scl = 0
+	loop sim_iic_wait_ack_loop
+	branch sim_iic_scl_output_low		//scl = 0	
+
+
+//use reg:pdata,contr,contw,rega,queue
+sim_iic_ack_slave:
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low	//scl = 0	
+
+
+//output:pdata receive byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_read_byte:
+	arg 8,loopcnt
+	arg 0,regc
+	call sim_iic_release_sda
+sim_iic_read_byte_loop:
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	lshift regc,regc	
+	call sim_iic_read_sda_level
+	iadd regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	loop sim_iic_read_byte_loop
+	call sim_iic_ack_slave
+	copy regc,pdata
+	rtn
+
+//input:pdata send byte data
+//use reg:pdata,contr,contw,loopcnt,regc,rega
+sim_iic_send_byte:
+	arg 8,loopcnt
+	copy pdata,regc
+	call sim_iic_scl_output_low		//scl = 0	
+sim_iic_send_byte_loop:
+	isolate1 7,regc
+	call sim_iic_sda_output_high,true	//sda = 1
+	ncall sim_iic_sda_output_low,true	//sda = 0
+	lshift regc,regc
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_scl_output_low		//scl = 0	
+	call sim_iic_delay				//delay 2.5us
+	loop sim_iic_send_byte_loop
+	branch sim_iic_wait_ack
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_start:
+	call sim_iic_sda_output_high	//sda = 1
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_delay				//delay 2.5us
+	branch sim_iic_scl_output_low		//scl = 0
+
+
+//use reg:pdata,contr,contw,rega
+sim_iic_stop:
+	call sim_iic_sda_output_low		//sda = 0
+	call sim_iic_scl_output_high	//scl = 1
+	call sim_iic_delay				//delay 2.5us
+	call sim_iic_sda_output_high	//sda = 1
+	branch sim_iic_delay				//delay 2.5us
+
+
+//scl = 1
+sim_iic_scl_output_high:
+	enable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//scl = 0
+sim_iic_scl_output_low:
+	disable user
+	fetch 1,SIM_IIC_SCL_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 1
+sim_iic_sda_output_high:
+	enable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//sda = 0
+sim_iic_sda_output_low:
+	disable user
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	branch sim_iic_config_gpio
+
+//input:pdata the gpio number
+//input:user flag, if enable user,config gpio output high level; if disable user, config gpio output low level
+//use reg:pdata,contr,contw,queue,rega
+sim_iic_config_gpio:
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset1 pdata
+	istore 1,temp
+	increase 4,temp
+	ifetch 1,temp
+	qsetflag user,pdata
+	istore 1,temp
+	rtn
+
+
+sim_iic_release_sda:
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_oe0,temp
+	iadd temp,temp
+	ifetch 1,temp
+	qset0 pdata
+	istore 1,temp
+	rtn	
+
+//get sda level
+//output:if sda high level ,pdata is 1;if sda low level ,pdata is 0
+//use reg:pdata,contr,contw,queue,rega,temp
+sim_iic_read_sda_level:
+	nop 4
+	fetch 1,SIM_IIC_SDA_GPIO_NUM
+	and pdata,0x07,queue
+	rshift3 pdata,pdata
+	arg core_gpio_in,temp
+	iadd temp,temp
+	setarg 0
+	ifetcht 1,temp
+	qisolate1 temp
+	setflag true,0,pdata
+	rtn	
+
+//delay 2.5us
+sim_iic_delay:
+//	nop 1
+	rtn
+
+/**********************************/
+
+
+else
+        branch assert
+	
+endif
Index: YJX_Only24g/main/program/app_usb.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_usb.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/app_usb.prog	(working copy)
@@ -0,0 +1,997 @@
+
+usb_isr:
+	bpatch patch1e_6,mem_patch1e
+	hfetch 1,core_usb_status
+	isolate1 7,pdata
+	call usb_init,true
+	call usb_nak_state_judge
+	hfetch 1,core_usb_status
+	store 1,mem_usb_status
+	hfetch 1,core_usb_fifo_empty
+	store 1,mem_usb_fifo_empty
+	hstore 1,core_usb_fifo_empty
+	pinvert
+	fetcht 1,mem_usb_tx_wait
+	iand temp,pdata
+	store 1,mem_usb_tx_wait
+	jam 0xe0,core_usb_status
+	fetch 1,mem_usb_fifo_empty
+	compare 0x1,pdata,0x1
+	call usb0_fifo_empty,true
+	fetch 1,mem_usb_status	
+	compare 0x1,pdata,0x1  
+	call usb_status1,true
+	call usb_tx
+	branch usb_nak_state
+
+usb_init:
+	bpatch patch1e_7,mem_patch1e
+	call usb_init_param
+	jam 0x00,core_usb_config
+ifndef SIM
+	nop 10000
+endif
+	jam 0xc0,core_usb_trig
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_USB,pdata
+	hstore 2,core_clkoff
+	jam 0x3c,core_usb_config
+	jam 0xff,core_usb_status
+	jam 0xff,core_usb_fifo_empty
+	jam 0,core_usb_addr
+	jam DEV_DEFAULT,mem_usb0_state
+	setarg mem_usb_clear_mem_end
+	arg mem_usb_clear_mem_start,contw
+	isub contw,loopcnt
+	branch clear_mem
+
+usb_offline_check_init:
+	fetcht 1,mem_usb_offline_check_gpio
+	branch gpio_config_input
+usb_offline_state:
+	fetch 1,mem_usb_device_enumeration_endflag
+	rtn blank
+	fetcht 1,mem_usb_offline_check_gpio
+	call gpio_get_bit
+	branch usb_init,true
+	rtn
+
+
+usb_nak_state:
+	arg TIMER_NAK,queue
+	call timer_check
+	nrtn blank
+	fetch 1 ,mem_usb_wakestate_onetime_flag
+	nrtn blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	ncall usb_mac_wakeup_judge,blank
+	rtn
+
+usb_mem_devicedesc_init:
+	arg mem_devicedesc,contw
+	setsect 0,0x11212
+	setsect 1,0x8000
+	setsect 2,0x0
+	setsect 3,0x10000
+	istore 9,contw
+	setsect 0,0x22412
+	setsect 1,0x8604
+	setsect 2,0x1000
+	setsect 3,0x8
+	istore 9,contw
+	setsect 0,0x1
+	istore 1,contw
+	rtn
+	
+usb_init_param:
+	jam 2,mem_usb0_state
+	setarg 0x0
+	store 1,mem_remain
+	store 2,mem_usb_zero_packet
+	pincrease 1
+	store 2,mem_usb_ones_packet
+	pincrease 1
+	store 2,mem_usb_two_packet
+	setarg HID_KBDATA_ADDR
+	store 2,mem_hidreportdesc_kb
+	setarg HID_MSDATA_ADDR
+	store 2,mem_hidreportdesc_m
+	arg mem_confdesc,contw
+	arg HID_CONFDATA_ADDR,contr
+	call memcpy64
+	fetch 1,mem_usb_tx_interval
+	ncall usb_tx_interval_config,blank
+	branch usb_mem_devicedesc_init
+	
+usb_tx_interval_config:
+	store 1,mem_confdesc+34
+	store 1,mem_confdesc+59
+	rtn
+usb_nak_state_judge:
+	hfetch 1,core_usb_status
+	bbit1 USB_STATUS_NAK,usb_nak_state_timer_init
+	rtn
+	
+usb_nak_state_timer_init:
+	call usb0_attached_state_judge
+	call timer_reinit
+	setarg TIMER_NAK_DELAY
+	arg TIMER_NAK,queue
+	branch timer_init
+	
+usb0_attached_state_judge:
+	fetch 1,mem_usb_state
+	bne USB_CONNECTED,usb_clear_halt_dispose
+	jam 0,mem_usb_wakestate_onetime_flag
+	jam 0,mem_usb_mac_wakeup_trig
+	rtn
+usb_clear_halt_dispose:
+	fetch 1,mem_usb_clear_halt
+	rtn blank
+	jam 0,mem_usb_clear_halt
+	jam USB_CONNECTED,mem_usb_state
+	jam 1,mem_usb_device_enumeration_endflag
+	rtn
+    	
+usb0_fifo_empty:
+	jam 0x1,core_usb_fifo_empty
+	branch usb0_tx
+
+usb_rx_no_data:
+	fetch 1,mem_usb_status
+	bbit1 USB_STATUS_SETUP,usb_class_type
+	rtn
+
+usb_rx_read:
+	hfetch 1,core_usb_ep
+	istore 1,contw
+	loop usb_rx_read
+	rtn
+
+usb_status1:
+	bpatch patch1f_0,mem_patch1f
+	jam 0x11,core_usb_status
+	hfetch 1,core_usb_ep_len
+	store 1,mem_usb_read_len
+	copy pdata,loopcnt
+	branch usb_rx_no_data,blank
+	arg mem_usb_setup,contw
+	call usb_rx_read
+	fetch 1,mem_usb_read_len
+	sub pdata,7,null
+	rtn positive
+usb_class_type:
+	fetch 1,mem_usb_setup_bmRequestType
+	and_into 0x80,pdata
+	beq IN_DEVICE,usb_in_device
+	beq OUT_DEVICE,usb_out_device
+	branch assert
+
+usb_in_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_in_standard_req
+	beq CLASS_REQ,usb_in_class_req
+	beq MANUFACTURER_REQ,usb_in_manufacturer_req
+	branch assert
+
+usb_out_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq STANDARD_REQ,usb_out_standard_req
+	beq CLASS_REQ,usb_out_class_req	
+	beq MANUFACTURER_REQ,usb_out_manufacturer_req
+	branch assert
+
+usb_in_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_CONFIGURATION,usb0_request_get_configuration
+	beq GET_DESCRIPTOR,usb0_request_get_descriptor
+	beq GET_INTERFACE,usb0_request_get_interface
+	beq GET_STATUS,usb0_request_get_status
+	branch usb0_force_stall
+
+usb_in_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq GET_IDLE,usb_get_idle
+	beq GET_REPORT,usb_get_report
+	beq GET_PROTOCOL,usb_get_protocol_req
+	branch usb0_force_stall
+
+usb_in_manufacturer_req:
+	branch usb0_force_stall
+
+usb_out_standard_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq CLEAR_FEATURE,usb0_request_clear_feature
+	beq SET_FEATURE,usb0_request_set_feature
+	beq SET_ADDRESS,usb0_request_set_address
+	beq SET_CONFIGURATION,usb0_request_set_configuration
+	beq SET_INTERFACE,usb0_request_set_interface
+	beq SET_DESCRIPTOR,usb0_force_stall
+	branch usb0_force_stall
+
+usb_out_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq SET_IDLE,usb_set_idle
+	beq SET_REPORT,usb_set_report
+	beq SET_PROTOCOL,usb_set_protocol_req
+	branch usb0_force_stall
+
+usb_out_manufacturer_req:
+	branch usb0_force_stall
+
+usb0_force_stall:
+	hfetch 1,core_usb_stall
+	set1 0,pdata
+	hstore 1,core_usb_stall
+	branch usb0_reply_zerolen
+	
+usb0_reply_zerolen:
+	jam 0x40,core_usb_clear
+	rtn
+
+usb0_request_get_configuration:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb0_state
+	beq DEV_CONFIGURED,usb0_request_get_cfg_dev_cfg
+	beq DEV_ADDRESS,usb0_request_get_cfg_dev_addr
+	branch usb0_force_stall
+//Return current config : 1
+usb0_request_get_cfg_dev_cfg:
+	arg 1,regb
+	branch usb_send_ones_packet
+//Config do not work, return default config : 0
+usb0_request_get_cfg_dev_addr:
+	arg 1,regb
+	branch usb_send_zero_packet
+
+usb0_request_get_descriptor:
+	bpatch patch1f_1,mem_patch1f
+	set0 mark_isstr,mark
+	fetch 1,mem_usb_setup_bValueH
+	beq DSC_DEVICE,dsc_device_info
+	beq DSC_CONFIG,dsc_config_info	
+	beq DSC_STRING,dsc_string_info
+	beq DSC_HID,dsc_hid_info
+	beq DSC_HID_REPORT,dsc_hid_report_info
+	branch usb0_force_stall
+
+dsc_hid_info:
+	jam 0,mem_usb_get_protocol_flag
+	fetch 1,mem_usb_setup_wIndex
+	beq 0,dsc_hid_info_interface0
+	beq 1,dsc_hid_info_interface1
+	branch usb0_force_stall
+//class_descriptor hid_descriptor--keyboard 
+dsc_hid_info_interface0:	
+	arg mem_confdesc+19,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+//class_descriptor hid_descriptor--mouse 
+dsc_hid_info_interface1:	
+	arg mem_confdesc+44,rega
+	ifetch 1,rega
+	iforce regb
+	branch usb0_respond
+
+dsc_device_info:
+//input : pdata : data poniter 
+//input : temp: data len
+//sets the data pointer and len to correct descriptor
+	fetch 1,mem_usb_set_high_addr_flag
+	ncall usb_set_high_addr,blank
+	setarg mem_devicedesc
+	fetcht 1,mem_devicedesc
+dsc_info_set_data_len:
+	store 2,mem_dsc_info_data_pointer
+	storet 1,mem_dsc_info_len
+	fetch 1,mem_usb_setup_bLength
+	isub temp,null
+	nbranch dsc_info_set_current_data_len,positive
+dsc_info_set_initial_data_len:
+	fetch 1,mem_dsc_info_len
+dsc_info_set_data_size_completed:	
+	iforce regb
+	fetch 2,mem_dsc_info_data_pointer
+	add pdata,1,pdata
+	iforce rega
+	branch usb0_respond
+dsc_info_set_current_data_len:
+	fetch 1,mem_usb_setup_bLength
+	branch dsc_info_set_data_size_completed
+
+usb_set_high_addr:
+	hfetch 1,core_usb_addr
+	ncall usb0_set_addr,blank
+	jam 0,mem_usb_set_high_addr_flag
+	rtn
+usb0_set_addr:
+	hfetch 1,core_usb_addr
+   	set1 7,pdata
+	hstore 1,core_usb_addr
+	rtn
+
+dsc_config_info:
+	setarg mem_confdesc
+	fetcht 1,mem_confdesc
+	branch dsc_info_set_data_len
+
+dsc_string_info:
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,3,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb_setup_bValue
+	arg mem_string0,rega
+	beq 0,usb0_respond_length	
+	set1 mark_isstr,mark
+	arg mem_string1,rega
+	beq 1,usb0_respond_length
+	arg mem_string2,rega
+	beq 2,usb0_respond_length
+	arg mem_string3,rega
+	beq 3,usb0_respond_length
+	rtn
+
+dsc_hid_report_info:
+	fetch 2,mem_usb_setup_wIndex
+	beq 1,dsc_hid_report_info0
+	fetch 2,mem_hidreportdesc_kb
+	copy pdata,rega
+//	arg mem_hidreportdesc_kb,rega
+	branch usb0_respond_length
+dsc_hid_report_info0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam USB_GOT_REPORT_REQ,mem_usb_state
+	fetch 2,mem_hidreportdesc_m
+	copy pdata,rega
+//	arg mem_hidreportdesc_m,rega
+	branch usb0_respond_length
+
+
+usb0_request_get_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne IN_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	arg 1,regb
+	branch usb_send_zero_packet
+
+
+usb0_request_get_status:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 2,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq IN_DEVICE,usb0_get_status_in_device
+	beq IN_INTERFACE,usb0_get_status_in_interface
+	beq IN_ENDPOINT,usb0_get_status_in_endpoint
+	branch usb0_force_stall
+
+usb0_get_status_in_device:
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	arg 2,regb
+	fetch 1,mem_usb_remote_wakeup
+	beq 0x01,usb_send_two_packet
+//regb:length
+usb_send_zero_packet:
+	arg mem_usb_zero_packet,rega
+	branch usb0_respond
+usb_send_ones_packet:
+	arg mem_usb_ones_packet,rega
+	branch usb0_respond
+usb_send_two_packet:
+	arg mem_usb_two_packet,rega
+	branch usb0_respond
+
+usb0_get_status_in_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	arg 2,regb
+	branch usb_send_zero_packet
+
+usb0_get_status_in_endpoint:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_get_status_in_ep_in_ep1
+	beq IN_EP2,usb0_get_status_in_ep_in_ep2
+	beq IN_EP3,usb0_get_status_in_ep_in_ep3
+	and_into 0x7f,pdata
+	beq 0x00,usb0_get_status_in_ep_in_ep0
+	branch usb0_force_stall
+	
+usb0_get_status_in_ep_in_ep0:
+	fetch 1,mem_usb_ep0_stall_status
+usb0_get_status_in_ep_in_ack:
+	arg 2,regb
+	beq 1,usb_send_ones_packet
+	branch usb_send_zero_packet
+usb0_get_status_in_ep_in_ep1:
+	fetch 1,mem_usb_ep1_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep2:
+	fetch 1,mem_usb_ep2_stall_status
+	branch usb0_get_status_in_ep_in_ack
+usb0_get_status_in_ep_in_ep3:
+	fetch 1,mem_usb_ep3_stall_status
+	branch usb0_get_status_in_ep_in_ack
+
+usb_get_idle:
+	jam 1,mem_usb_idle_flag
+	arg mem_usb_idle_rate,rega
+	arg 1,regb
+	branch usb0_respond
+
+usb_get_report:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_GET_REPORT,temp
+	isub temp,null
+	nbranch usb0_force_stall,zero
+	set0 mark_isstr,mark
+usb_get_report_dispose:	
+	fetch 1,mem_usb0_data_ready_report
+	nbranch usb_get_report_data_success,blank
+	jam PC_GET_NONDATA,mem_usb0_get_report_data
+usb_get_report_send_data:
+	fetch 1,mem_usb_setup_bLength
+	iforce regb
+	arg mem_usb0_get_report_data,rega
+	call usb0_respond
+usb_get_report_data_release:	
+	arg mem_usb0_get_report_data,contw
+	arg 8,loopcnt
+	branch memset0
+usb_get_report_data_success:
+	jam 0,mem_usb0_data_ready_report
+	jam PC_GET_DATA,mem_usb0_get_report_data
+	branch usb_get_report_send_data
+
+usb_get_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 1,usb0_force_stall
+	jam 1,mem_usb_get_protocol_flag
+	arg 1,regb //length
+	fetch 1,mem_usb_set_protocol_value
+	beq 0,usb_get_report_protocol
+	beq 1,usb_get_boot_protocol
+	branch usb_send_zero_packet
+usb_get_report_protocol:
+	branch usb_send_ones_packet
+usb_get_boot_protocol:
+	branch usb_send_zero_packet
+
+
+
+//in device
+usb0_request_clear_feature:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_clear_feature_out_device
+	beq OUT_INTERFACE,usb0_request_clear_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_clear_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set0 7,pdata
+	hstore 1,core_usb_config
+	jam 0,mem_usb_remote_wakeup
+	jam 1,mem_usb_clear_remote_wakeup
+	branch usb0_reply_zerolen
+
+usb0_request_clear_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_clear_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_off
+	beq IN_EP2,usb0_force_stall_ep2_in_off
+	beq IN_EP3,usb0_force_stall_ep3_in_off
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_off
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_off:
+	jam 0,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_off:
+	jam 0,mem_usb_ep1_stall_status
+usb0_force_stall_ep1_in_off_reply:	
+	jam 1,mem_usb_clear_halt
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_off:
+	jam 0,mem_usb_ep2_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+usb0_force_stall_ep3_in_off:
+	jam 0,mem_usb_ep3_stall_status
+	branch usb0_force_stall_ep1_in_off_reply
+
+
+usb0_request_set_feature:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	beq OUT_DEVICE,usb0_request_set_feature_out_device
+	beq OUT_INTERFACE,usb0_request_set_feature_out_interface
+	beq OUT_ENDPOINT,usb0_request_set_feature_out_endpoint
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_device:
+	fetch 1,mem_usb_setup_bValue
+	bne DEVICE_REMOTE_WAKEUP,usb0_force_stall
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_remote_wakeup
+	jam USB_SLEEP,mem_usb_state
+	jam 0,mem_usb_tx_win_enable
+	call usb0_reply_zerolen
+usb_wakeup_timer_reinit:
+	call timer_reinit
+	setarg TIMER_WAKEUP_DELAY
+	arg TIMER_WAKEUP,queue
+	branch timer_init
+	
+usb0_request_set_feature_out_interface:
+	branch usb0_force_stall
+
+usb0_request_set_feature_out_endpoint:
+	fetch 1,mem_usb_setup_bValue
+	bne ENDPOINT_HALT,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	beq IN_EP1,usb0_force_stall_ep1_in_on
+	beq IN_EP2,usb0_force_stall_ep2_in_on
+	beq IN_EP3,usb0_force_stall_ep3_in_on
+	and_into 0x7f,pdata
+	beq 0x00,usb0_force_stall_ep0_in_on
+	branch usb0_force_stall
+
+usb0_force_stall_ep0_in_on:
+	jam 1,mem_usb_ep0_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep1_in_on:
+	jam 1,mem_usb_ep1_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep2_in_on:
+	jam 1,mem_usb_ep2_stall_status
+	branch usb0_reply_zerolen
+usb0_force_stall_ep3_in_on:
+	jam 1,mem_usb_ep3_stall_status
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_address:
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	and_into 0x80,pdata
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb_usb0_state_set_dev_addr
+usb_usb0_state_set_dev_default:	
+	jam DEV_DEFAULT,mem_usb0_state
+usb0_request_set_wait_address:
+	fetch 1,mem_usb_setup_bValue
+	hstore 1,core_usb_addr
+	call usb0_reply_zerolen
+	jam 1,mem_usb_set_high_addr_flag
+	rtn
+usb_usb0_state_set_dev_addr:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_request_set_wait_address
+
+
+usb0_request_set_configuration:
+	fetch 1,mem_usb0_state
+	beq DEV_DEFAULT,usb0_force_stall
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_DEVICE,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue+1
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	sub pdata,USB_MAX_NUM_CFG,null
+	nbranch usb0_force_stall,positive
+	fetch 1,mem_usb0_state
+	beq DEV_ADDRESS,usb0_request_set_cfg_addr_state
+	beq DEV_CONFIGURED,usb0_request_set_cfg_cfg_state
+	branch usb0_force_stall
+ // This software only supports config = 0,1
+usb0_request_set_cfg_addr_state:
+usb0_request_set_cfg_cfg_state:
+	fetch 1,mem_usb_setup_bValue	//1:Configured state   0:Address state
+	beq 0,usb0_request_set_cfg_stay_addr_state
+	jam DEV_CONFIGURED,mem_usb0_state
+	branch usb0_reply_zerolen
+usb0_request_set_cfg_stay_addr_state:
+	jam DEV_ADDRESS,mem_usb0_state
+	branch usb0_reply_zerolen
+
+
+usb0_request_set_interface:
+	fetch 1,mem_usb0_state
+	bne DEV_CONFIGURED,usb0_force_stall		
+	fetch 1,mem_usb_setup_bmRequestType
+	bne OUT_INTERFACE,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValueH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bLengthH
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_wIndex+1
+	bne 0,usb0_force_stall
+	branch usb0_reply_zerolen
+
+
+usb_set_idle:
+	jam 1,mem_usb_idle_flag
+	fetch 1,mem_usb_setup_bValueH
+	store 1,mem_usb_idle_rate
+	fetch 1,mem_usb_setup_wIndex
+	sub pdata,1,null
+	call usb_clear_remote_wakeup_set0,zero
+	fetch 1,mem_usb_state
+	bne USB_RESUME,usb0_reply_zerolen
+	jam USB_CONNECTED,mem_usb_state
+	call usb0_reply_zerolen
+	nop 30000
+	nop 30000
+	rtn
+usb_clear_remote_wakeup_set0:
+	jam 1,mem_usb_device_enumeration_endflag
+	jam 0,mem_usb_clear_remote_wakeup
+	jam USB_RESUME,mem_usb_state
+	rtn
+
+
+usb_set_report:
+	jam 1,mem_usb0_get_set_report
+	call usb_set_report_resume_judge
+	fetch 2,mem_usb_setup_bValue
+	store 2,mem_usb_setup_bValue_temp
+	fetch 1,mem_usb_setup_bLength	//max 0x40
+	iforce loopcnt
+	arg mem_usb0_setup,contr
+	arg mem_usb0_set_report_data,contw
+	call memcpy
+	branch usb0_reply_zerolen
+	
+usb_set_report_resume_judge:
+	fetch 2,mem_usb_setup_bValue
+	arg PC_SET_REPORT_bValue,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_wIndex
+	arg PC_SET_REPORT_wIndex,temp
+	isub temp,null
+	nrtn zero
+	fetch 2,mem_usb_setup_bLength
+	arg PC_SET_REPORT_bLength,temp
+	isub temp,null
+	nrtn zero
+	jam 1,mem_usb_tx_win_enable
+	rtn
+
+
+usb_set_protocol_req:
+	fetch 1,mem_usb_setup_bLength
+	bne 0,usb0_force_stall
+	fetch 1,mem_usb_setup_bValue
+	beq BOOT_PROTOCOL,usb_set_boot_protocol
+	beq REPORT_PROTOCOL,usb_set_report_protocol
+	branch usb0_force_stall
+usb_set_boot_protocol:
+	jam 0,mem_usb_set_protocol_status
+	jam 1,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+usb_set_report_protocol:
+	jam 1,mem_usb_tx_mac_enable
+	jam 1,mem_usb_set_protocol_status
+	jam 0,mem_usb_set_protocol_value
+	branch usb0_reply_zerolen
+
+
+usb0_respond_length:
+	ifetch 1,rega
+	iforce regb
+	increase 1,rega
+//rega=*buff,reb=size	
+usb0_respond:
+	bpatch patch1f_2,mem_patch1f
+	bmark0 mark_isstr,usb0_respond0
+	add regb,1,pdata
+	lshift pdata,pdata
+	hstore 1,core_usb_dfifo0 
+	jam 3,core_usb_dfifo0
+	fetch 1,mem_usb_setup_bLength
+	increase -2,pdata
+	rshift pdata,pdata
+	store 1,mem_usb_setup_bLength
+	beq 0,usb_no_respond_data
+usb0_respond0:
+	fetch 2,mem_usb_setup_bLength
+	isub regb,null
+	branch usb0_respond1,positive
+	copy pdata,regb	
+usb0_respond1:
+	deposit rega
+	store 2,mem_bufptr
+	deposit regb
+	store 1,mem_remain
+	branch usb0_tx
+
+usb_no_respond_data:
+	arg 0,queue
+	branch usb_trig
+
+//mem_bufptr=*buff,mem_remain=size,loopcnt=i,rega=len
+usb0_tx:
+	bpatch patch1f_3,mem_patch1f
+	fetch 1,mem_remain
+	rtn blank
+	copy pdata,loopcnt
+	sub pdata,EP0_PACKET_SIZE,null
+	branch usb0_tx_info,positive
+	arg EP0_PACKET_SIZE,loopcnt	
+usb0_tx_info:
+	fetch 1,mem_remain
+	isub loopcnt,pdata
+	store 1,mem_remain//mem_remain -= len
+	fetch 2,mem_bufptr
+	copy pdata,contr	
+usb0_tx0:
+	ifetch 1,contr
+	hstore 1,core_usb_dfifo0
+	bmark0 mark_isstr,usb0_tx1
+	jam 0,core_usb_dfifo0
+usb0_tx1:
+	loop usb0_tx0
+	copy contr,pdata
+	store 2,mem_bufptr//mem_bufptr += len
+	arg 0,queue
+	call usb_trig
+	fetch 1,mem_remain
+	nrtn blank
+	fetch 1,mem_usb_state
+	rtnne USB_GOT_REPORT_REQ
+	jam USB_CONNECTED,mem_usb_state
+	rtn
+
+
+usb_tx_ep1:
+	arg core_usb_dfifo1,rega
+	arg 1,queue
+usb_tx_loop:
+	ifetch 1,contr
+	istore 1,rega
+	loop usb_tx_loop
+usb_trig:
+	setarg 0
+	qset1 pdata
+	hstore 1,core_usb_trig
+	fetcht 1,mem_usb_tx_wait
+	ior temp,pdata
+	store 1,mem_usb_tx_wait
+	rtn
+
+usb_tx_ep2:
+	arg 2,queue
+	arg core_usb_dfifo2,rega
+	branch usb_tx_loop
+
+usb_tx:
+	bpatch patch1f_4,mem_patch1f
+	fetch 1,mem_usb_tx_enable
+	rtn blank
+	fetch 1,mem_usb_tx_wait
+	nbranch usb_inwake_state_tx_dispose,blank
+	fetch 1,mem_usb_device_enumeration_endflag
+	branch usb_tx_fifo_release,blank
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_windows_wakeup
+	bne USB_CONNECTED,usb_tx_fifo_release
+	fetch 1,mem_usb_clear_remote_wakeup
+	nbranch usb_tx_fifo_release,blank
+	call usb_tx_data_ep1
+	branch usb_tx_data_ep2
+
+usb_tx_data_ep1:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 1
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 1
+	fetch 1,mem_usb_tx_enable
+	set0 1,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep1_data
+	rtn blank
+	beq USB_EP1_KB,usb_tx_kb_normal_data
+	branch assert
+
+usb_tx_data_ep2:
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	fetch 1,mem_usb_tx_wait
+	rtnbit1 2
+	fetch 1,mem_usb_tx_enable
+	set0 2,pdata
+	store 1,mem_usb_tx_enable
+	fetch 1,mem_usb_ep2_data
+	rtn blank
+	beq USB_EP2_MS,usb_tx_ms_data
+	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
+	branch assert
+
+usb_tx_fifo_release:
+	//clear mem_usb_mouse_data/mem_usb_kb_data/mem_usb_kb_multikey
+	arg mem_usb_mouse_data,contw
+	arg 6,loopcnt
+	branch memset0
+	
+usb_tx_ms_data:
+	fetch 1,mem_usb_idle_flag
+	fetcht 1,mem_usb_get_protocol_flag
+	iand temp,pdata
+	branch usb_tx_ms_data_normal_mode,blank
+	fetcht 1,mem_usb_set_protocol_status
+	iadd temp,pdata
+	beq MAC_BOOT_MODE,usb_tx_ms_data_mac_boot_mode
+	branch usb_tx_ms_data_normal_mode
+
+usb_tx_ms_data_mac_boot_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_ms_data_mac_boot_regroup:
+	fetch 1,mem_usb_mouse_data+1	//key
+	beq R_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	beq LR_KEY,usb_tx_mac_boot_ms_regroup_r_or_lrkey
+	fetch 1,mem_usb_mouse_data+1	//key
+	store 1,mem_usb_mouse_data
+	fetch 1,mem_usb_mouse_data+2	//x low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+4	//y low
+	istore 1,contw
+	fetch 1,mem_usb_mouse_data+6	//wheel
+	istore 1,contw
+	arg 4,loopcnt
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+	
+usb_tx_ms_data_normal_mode:
+	jam 0,mem_usb_ep2_data
+usb_tx_mac_boot_ms_regroup_r_or_lrkey:	
+	arg 8,loopcnt		
+	arg mem_usb_mouse_data,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_multikey_data:
+	jam 0,mem_usb_ep2_data
+	arg 3,loopcnt
+	arg mem_usb_kb_multikey,contr
+	branch usb_tx_ep2
+
+usb_tx_kb_normal_data:
+	jam 0,mem_usb_ep1_data
+	arg 8,loopcnt
+	arg mem_usb_kb_data,contr
+	branch usb_tx_ep1
+
+usb_inwake_state_tx_dispose:
+	fetch 1,mem_usb_state
+	beq USB_SLEEP,usb_clear_tx_wait
+	beq USB_CONNECTED, usb_mac_wakeup_trig
+	rtn
+usb_clear_tx_wait:
+	jam 0,mem_usb_tx_wait
+	rtn	
+usb_mac_wakeup_trig:
+	hfetch 1,core_usb_config
+	set1 7,pdata
+	hstore 1,core_usb_config
+	jam 1,mem_usb_mac_wakeup_trig
+	rtn
+
+usb_mac_wakeup_judge:
+	fetch 1,mem_usb_state
+	rtneq USB_SLEEP
+	beq USB_CONNECTED,usb_mac_wakeup
+	rtn
+usb_mac_wakeup:
+	fetch 1,mem_usb_mac_wakeup_trig
+	rtn blank
+	jam 1,mem_usb_wakestate_onetime_flag
+	branch usb_wakeup
+
+usb_windows_wakeup:
+	arg TIMER_WAKEUP,queue
+	call timer_check
+	nrtn blank
+usb_wakeup:
+	hfetch 1,core_usb_config
+	rtnbit0 7	//endpoint wakeup enable
+	jam 0xfc,core_usb_config
+	nop 30000
+	jam 0x3c,core_usb_config
+	rtn
+
+
+
Index: YJX_Only24g/main/program/bt.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/bt.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/bt.prog	(working copy)
@@ -0,0 +1,4175 @@
+define REVD
+//define FPGA
+define ROMCODE
+define PATCH
+define ADC
+//define RAM_VERSION
+//define CLK24M
+//define DEBUG_MALLOC
+//define DEBUG_H4LOG_ENABLE
+//define DEBUG_LIGHT_STATE
+//define E2_LOG
+//define LMP_DBG
+//define ACL_DEBUG
+//define DCDC
+define NVRAM
+define RELEASE
+define SECURE_CONNECTION
+define DEBUG_RF_INIT
+//define SPI_SIMULATE
+//define ROM_RESPIN_OPTIONAL
+
+define SIMPLE_PAIRING
+define COMPILE_RFCOMM
+define COMPILE_SHUTTER
+define COMPILE_AntiLost
+//define COMPILE_IR
+define COMPILE_KEYBOARD
+define COMPILE_MOUSE
+define COMPILE_MODULE
+//define COMPILE_AT
+//define COMPILE_PRCP
+//define COMPILE_USB
+//define COMPILE_DONGLE
+define COMPILE_LE
+define COMPILE_24G
+define COMPILE_CAR
+define COMPILE_REMOTE_CAR
+
+
+INCLUDE "bt_format"
+
+org 0x0000		// start from patch ram address start
+ifdef SIM
+include sim.prog
+else
+include patch.prog
+endif
+
+/******************************************/
+/***********   ROM Start   ***************/
+/******************************************/
+
+org 0x2000		// start from rom address start
+start:
+	call lpmstate
+
+soft_reset:
+	bpatch patch00_0,mem_patch00
+	clear_stack
+	call spi_ncs_gpio_init  // 0xff disable spi ncs gpio init
+	call initialize_radio
+	call iicd_init_12m
+	call init_param
+	call l2cap_init
+	bpatch patch00_1,mem_patch00
+	call rfcomm_init
+	call init_lmp
+	call ui_init
+	call app_init
+	ncall load_chip_option,wake
+	bpatch patch00_2,mem_patch00
+	call app_lpm_init,wake
+ifdef SIMPLE_PAIRING
+	call publickey_init
+else
+	call ssp_disable
+ifdef SECURE_CONNECTION
+	call publickey_init
+
+endif
+endif
+	call lpm_recover_clk,wake
+main_loop:	
+	bpatch patch00_3,mem_patch00
+ifdef SIMPLE_PAIRING
+	call sp_calc_sequence
+endif
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256
+endif
+ifdef SIMPLE_PAIRING
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256_check
+endif
+endif
+	call le_dispatch
+	bpatch patch00_4,mem_patch00
+	call idle_dispatch
+	call app_process_idle
+	call inquiry_dispatch
+	call inquiry_scan_dispatch
+	call page_scan_dispatch
+	call connection_dispatch
+	call lpm_dispatch
+	call g24_dispatch
+	branch main_loop
+
+connection_dispatch:
+	call connection_incontext
+	rtnmark0 mark_context
+	set0 mark_context,mark
+	call context_save
+	branch le_disable
+	
+connection_incontext:
+	bpatch patch00_5,mem_patch00
+	call context_search_insniff
+	nbranch connection_nosniff,zero
+	call context_load
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,le_conn_dispatch
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+connection_nosniff:
+	call context_get_next
+	copy loopcnt,null
+	rtn zero
+	call context_load
+	fetch 1,mem_state
+	bbit1 state_inpage,master_page
+	fetch 1,mem_mode
+	bbit1 mode_master, master_dispatch
+	branch slave_dispatch
+
+
+
+/**************************************/
+/**************idle dispatch*********/
+/**************************************/
+	
+idle_dispatch:
+	fetch 1,mem_hci_cmd
+	rtn blank
+	beq hci_cmd_inquiry,idle_inquiry
+	beq hci_cmd_inquiry_cancel,idle_inquiry_cancel
+	beq hci_cmd_remote_name_req,idle_remote_name_req
+	beq hci_cmd_create_conn,idle_create_conn
+	beq hci_cmd_le_create_conn,idle_le_create_conn
+	call context_search_conn_handle
+	rtn zero
+	call context_search_plap
+	rtn zero
+idle_exit:
+	jam 0,mem_hci_cmd
+	rtn
+
+idle_le_create_conn:
+	jam hci_cmd_le_create_conn,mem_cmd_le_create_conn
+	jam 0,mem_hci_cmd
+	rtn
+	
+idle_inquiry:
+	set1 mark_inquiry_on,mark
+	set0 mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	jam 31,mem_nfreq_index_inq
+	branch idle_exit
+
+idle_inquiry_cancel:
+	set0 mark_inquiry_on,mark
+	force 0,stop_watch
+	branch idle_exit
+
+idle_remote_name_req:
+	call context_search_plap
+	rtn zero
+	force LMP_NAME_REQ,temp
+	jam 5,mem_nameres_cnt
+	branch idle_start_page
+
+idle_create_conn:
+	bpatch patch00_6,mem_patch00
+idle_create_conn_device:
+	fetch 6,mem_hci_plap
+	branch idle_exit,blank
+	jam RECONNECT_HID,memui_reconnect_mode
+	//jam HS_INIT_CALL,mem_hs_mode //init as master
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	branch idle_create_conn_cont
+	
+idle_create_conn_cont:
+	force LMP_VERSION_REQ,temp
+idle_start_page:
+	bpatch patch00_7,mem_patch00
+	fetch 1,mem_page_mode
+	branch idle_page_mode_r0,blank
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	increase -1,pdata
+idle_page_mode_r0:
+	store 1,mem_npage
+	store 1,mem_npage_index
+	jam 31,mem_nfreq_index_page
+	set0 mark_page_trainb,mark
+	call context_new
+	nbranch idle_page_fail,zero
+	call get_free_amaddr
+	store 1,mem_amaddr
+	storet 1,mem_lmo_opcode2
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	bpatch patch01_0,mem_patch01
+	call timer_reinit
+	force 0,pdata
+	compare LMP_NAME_REQ,temp,0xff
+	nsetflag true,state_init_seq,pdata
+	set1 state_inpage,pdata
+	store 1,mem_state
+	jam BT_EVT_RECONN_STARTED,mem_fifo_temp
+	call ui_ipc_send_event
+	force 0,pdata
+	setflag true,smap_name_req,pdata
+	store 1,mem_state_map
+	setarg 0
+	set1 mode_master,pdata
+	store 1,mem_mode
+	enable master
+	call context_save
+	disable master
+	force page_length_timer,queue
+	fetch 2,mem_page_to
+	call timer_init
+	branch idle_exit
+idle_page_fail:
+	bpatch patch01_1,mem_patch01
+	fetch 6,mem_hci_plap
+	store 6,mem_plap
+	compare LMP_NAME_REQ,temp,0xff
+	branch idle_name_fail,true
+	branch idle_exit
+idle_name_fail:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+	jam BT_EVT_RECONN_FAILED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch idle_exit
+	
+
+/******************************************/
+/**************  Inquiry  *****************/
+/******************************************/
+
+inquiry_dispatch:
+	rtnmark0 mark_inquiry_on
+	force inquiry_length_timer,queue
+	call timer_check
+	nsetflag blank,mark_inquiry_on,mark
+	nbranch inquiry_start,blank
+	rtn
+	
+
+
+inquiry_start:
+	bpatch patch01_2,mem_patch01
+	fetcht 2,mem_inq_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call afh_clear
+	force 0,freq_mode
+inquiry_restart:
+	rtn timeout
+	set0 mark_fhs_already_good,mark
+	set0 mark_fhs_eir,mark
+inquiry_rx_restart:
+	add clkn_bt,1,bt_clk
+	isolate1 mark_inquiry_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch inquiry_receive,true
+
+inquiry_transmit:
+	bpatch patch01_3,mem_patch01
+	fetch 1,mem_inquiry_transmit
+	increase 1,pdata
+	store 1,mem_inquiry_transmit
+	call fetch_giac
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call inquiry_check_train
+	branch inquiry_restart
+
+inquiry_check_train:
+	bpatch patch01_4,mem_patch01
+	fetch 1,mem_nfreq_index_inq
+	increase -1,pdata
+	store 1,mem_nfreq_index_inq
+	rtn positive  /* if it's time to incremnt N */
+	jam 31,mem_nfreq_index_inq
+	fetch 1,mem_ninqy_index
+	increase -1,pdata
+	store 1,mem_ninqy_index
+	rtn positive      /* if it's time to change train */
+	setflip mark_inquiry_trainb,mark
+	jam param_ninquiry,mem_ninqy_index
+	rtn
+
+inquiry_receive:
+	bpatch patch01_5,mem_patch01
+	call fetch_giac
+	call rx_radio_freq
+	call fetch_diac
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt
+	branch inquiry_sync,sync   /* try look for id packet again if not found */
+	call inquiry_check_train
+	branch inquiry_rx_restart
+inquiry_sync:
+	bpatch patch01_6,mem_patch01
+	call save_rssi
+	call scan_mode_whiten
+	call receive_packet_whitened
+	set0 mark_rxbuf_inuse,mark
+	rtnmark0 mark_fhs_already_good
+inquiry_receive_rtn:
+	bpatch patch01_7,mem_patch01
+inquiry_receive_eir_rtn:
+	fetch 1,mem_inquiry_rcv
+	increase 1,pdata
+	store 1,mem_inquiry_rcv
+	rtn
+		
+/******************************************/
+/**************  Master Dispatch  *************/
+/******************************************/
+
+
+
+master_page:
+	bpatch patch02_0,mem_patch02
+	enable master
+	enable clknt
+	fetch 2,mem_page_interval
+	branch master_page_no_interval,blank
+	force page_interval_timer,queue
+	call timer_check               
+	nrtn blank
+master_page_no_interval:
+	bpatch patch02_1,mem_patch02
+	fetcht 2,mem_page_window
+	force 40,queue
+	call sniff_check_window
+	branch page_exit,user
+	force page_length_timer,queue
+	call timer_check
+	nbranch page_start,blank
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_npage_timeout
+	branch master_page_timeout
+master_npage_timeout:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	call memset0
+master_page_timeout:
+	bpatch patch02_2,mem_patch02
+	jam 0,mem_state
+	call init_lmp_work
+	jam 0,memui_reconnect_mode
+	jam BT_EVT_RECONN_PAGE_TIMEOUT,mem_fifo_temp
+	call ui_ipc_send_event	
+	branch page_exit
+
+page_start:
+	bpatch patch02_3,mem_patch02
+	force 0,timeup
+	until clkn_rt,meet
+	fetch 1,mem_page_clk
+	increase -1,pdata
+	ixor clkn_bt,pdata
+	compare 0,pdata,3
+	nbranch page_start,true
+	deposit am_addr
+	store 1,mem_fhs_am_addr
+	force 0,N_tx_slot
+	force 0,freq_mode
+
+page_restart:
+	bpatch patch02_4,mem_patch02
+	branch page_exit,timeout
+	call fetch_page_bt_adr
+	arg param_rf_setup, timeup
+	until clkn_rt,meet         /* wait for the start_receiver time against native real clk  */
+page_rx_restart:
+	bpatch patch02_5,mem_patch02
+	fetch 4,mem_page_clk    /* deposit clk_estimate */
+	iforce bt_clk
+	increase 1,pdata
+	store 4,mem_page_clk
+	isolate1 mark_page_trainb,mark
+	setflag true,2,freq_mode
+	compare 0x00,bt_clk,0x02      /* see if this is even slot */
+	nbranch page_receive,true
+	fetch 1, mem_page_transmit
+	increase 1,pdata
+	store 1, mem_page_transmit
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	call end_of_packet
+	call page_check_train
+	branch page_restart	
+page_exit:
+	bpatch patch02_6,mem_patch02
+	disable master
+	fetch 2,mem_page_interval      
+	rtn blank
+	force page_interval_timer,queue
+	branch timer_init              
+
+page_check_train:
+	bpatch patch02_7,mem_patch02
+	fetch 1,mem_nfreq_index_page
+	increase -1,pdata
+	store 1,mem_nfreq_index_page
+	rtn positive
+	jam 31,mem_nfreq_index_page
+	fetch 1,mem_npage_index
+	increase -1,pdata                 /* increment N */
+	store 1,mem_npage_index
+	rtn positive      			/* if it's time to change train */
+	setflip mark_page_trainb,mark             /* change train */
+	fetch 1,mem_npage
+	store 1,mem_npage_index
+	rtn
+	
+page_receive:
+	bpatch patch03_0,mem_patch03
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* try id look for id packet again */
+	branch page_sync,sync         /* restart if didn't receive anything */
+	call page_check_train
+	branch page_rx_restart
+page_sync:
+	call end_of_packet
+	fetch 1, mem_page_rcv
+	increase 1,pdata
+	store 1, mem_page_rcv
+	force 0,stop_watch
+	fetch 4,mem_page_clk
+page_send_fhs:
+	bpatch patch03_1,mem_patch03
+	call rf_setup_time_master_slot
+	call fetch_page_bt_adr
+	increase 1,N_tx_slot
+page_send_fhs_continue:
+	and_into 0x1fd,bt_clk
+	and_into 0x1fc,freq_mode               /* master response = x00, even_train settin must remain the same */
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_native
+	call send_access_word
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	force 0,am_addr
+	force type_fhs,type
+	call scan_mode_whiten
+	call transmit_packet_whitened
+page_wait_fhs_reply:
+	bpatch patch03_2,mem_patch03
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	and_into 0x1fc,freq_mode               /* master response sequence = x00, even train setting must be preserved */
+	call rx_radio_freq
+	call start_rx_native
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_clkn_rt	/* look for that reply */
+	call end_of_packet,sync              /* id reply is enough */
+	branch page_wait_fhs_reply_ok,sync           /* no reply then send fhs again */
+	fetch 1,mem_fhs_wait_counter
+	branch page_restart,blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	branch page_send_fhs
+	
+page_wait_fhs_reply_ok:
+	bpatch patch03_3,mem_patch03
+	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+master_newconn_loop:
+	call master_newconn_once
+	branch newconn_poll_responded,sync
+	call new_conn_timeout
+	nbranch master_newconn_loop,blank
+	branch page_restart
+
+newconn_poll_responded:
+	bpatch patch03_4,mem_patch03
+	fetch 1,mem_state
+	set0 state_inpage,pdata
+	store 1,mem_state
+	call newconn_init
+	disable master
+	rtn
+	
+
+master_dispatch:
+	bpatch patch03_5,mem_patch03
+	enable master
+	enable clknt
+	call role_switch_master
+	rtn user
+	call check_bt_disabled
+	call rf_setup_time_master_slot
+	add clkn_bt,1,bt_clk
+	call fetch_self_bt_adr
+	force 0x03,freq_mode
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	call transmit_packet
+master_loop:
+	bpatch patch03_6,mem_patch03
+	call parse_lmp
+	call master_conn_recv_packet
+	nbranch master_notmatch,match
+	call supervision_flush
+	call parse_l2cap
+	fetch 1,mem_master_rcvcnt
+	increase 1,pdata
+	store 1,mem_master_rcvcnt
+master_notmatch:
+	bpatch patch03_7,mem_patch03
+	call scheduler_process
+	call check_master_disconnect
+	nrtn master					/* disconnected */
+	call check_attempt
+	nbranch master_attempt,blank
+master_exit:
+	disable master
+	rtn
+
+master_attempt:
+	call prepare_tx
+	call master_conn_send_packet
+	branch master_loop
+
+
+check_master_disconnect:
+	branch check_master_match,match
+	call supervision_update
+	branch master_disconnect,positive
+check_master_match:
+	call check_disconnect_timeout
+	nbranch master_disconnect,user
+	fetch 1,mem_state_map
+	rtnbit0 smap_name_req
+	rtnbit1 smap_name_res
+	fetch 1,mem_op
+	rtnbit1 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	fetch 1,mem_nameres_cnt
+	increase -1,pdata
+	store 1,mem_nameres_cnt
+	nrtn blank
+	branch lmp_disconnect
+
+master_disconnect:
+	bpatch patch04_0,mem_patch04
+	call quit_connection
+	disable master
+	fetch 1,mem_state_map
+	bbit1 smap_name_req,master_name_disconnect
+	rtn
+	
+master_name_disconnect:
+	fetch 1,mem_state_map
+	rtnbit1 smap_name_res
+master_name_error:
+	arg mem_tmp_buffer,contw
+	arg 8,loopcnt
+	branch memset0
+	
+check_disconnect_timeout:
+	bpatch patch04_1,mem_patch04
+	enable user
+	fetch 1,mem_op
+	rtnbit0 op_disconn
+	call conn_timer_expired
+	nrtn blank
+	branch disable_user
+
+conn_timer_expired:
+	fetch 1,mem_conn_timer
+	increase -1,pdata
+	store 1,mem_conn_timer
+	rtn
+
+linkkey_ready:
+	bpatch patch04_2,mem_patch04
+	fetch 1,mem_state
+	bbit1 state_linkkey,linkkey_set
+	fetch 1,mem_pairing_auth
+	branch linkkey_set,blank
+	jam DEFALT_PAIRING_AUTH,mem_pairing_auth
+	jam BT_EVT_LINKKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch linkkey_set
+linkkey_set:
+	bpatch patch04_3,mem_patch04
+	call context_traverse_linkkey
+	fetch 1,mem_state
+	set1 state_linkkey,pdata
+	store 1,mem_state
+	jam 1,mem_link_key_exists
+	fetch 1,mem_conn_sm
+	bne CONN_SM_PAIRING,linkkey_set_continue
+linkkey_set_continue:
+	rtn
+
+generate_linkkey_continue:
+	jam PAIRING_AUTH,mem_pairing_auth
+clear_linkstate:
+	fetch 1,mem_state
+	set0 state_linkkey,pdata
+	store 1,mem_state
+	rtn
+	
+
+	/* rtn user if switch */
+role_switch_check:
+	bpatch patch04_4,mem_patch04
+	disable user
+	fetch 2,mem_tsniff
+	arg 0xffff,temp
+	isub temp,null
+	nrtn zero
+	fetch 4,mem_sniff_anchor
+	branch role_switch_clkn,clknt
+	isub clke_bt,pdata
+	branch role_switch_clke
+role_switch_clkn:
+	isub clkn_bt,pdata
+role_switch_clke:
+	sub pdata,4,null
+	nrtn positive
+	force 0,pdata
+	store 2,mem_tsniff
+	branch enable_user
+
+
+	/* pdata: switch instant, set tsniff=0 for special sniff */	
+role_switch_prepare:
+	copy pdata,temp
+	bpatch patch04_5,mem_patch04
+	storet 4,mem_sniff_anchor
+role_switch_prepare0:
+	jam SWITCH_FLAG_ACCEPT,mem_switch_flag
+	setarg 0xffff
+	store 2,mem_tsniff
+	jam 1,mem_sniff_attempt
+	rtn
+
+
+role_switch_master:
+	bpatch patch04_6,mem_patch04
+	call role_switch_check
+	nrtn user
+	disable user
+	jam param_newconnto,mem_newconnto_counter
+	set0 mark_fhs_already_good,mark
+roles_waitfhs_loop:
+	call rf_setup_time_master_slot
+	call master_recv_packet
+	bmark1 mark_fhs_already_good,roles_replyto_fhs
+	call new_conn_timeout
+	nbranch roles_waitfhs_loop,blank
+role_switch_fail_master:
+	bpatch patch04_7,mem_patch04
+	disable user
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	enable clknt
+	enable master
+	jam BT_EVT_SWITCH_FAIL_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+roles_replyto_fhs:
+	bpatch patch05_0,mem_patch05
+	call rf_setup_time_slave_slot
+	arg type_id,type
+	call master_send_packet
+	disable clknt
+	disable master
+	call apply_switch_clke
+	call prepare_newconn
+roles_newconns_loop:
+	bpatch patch05_1,mem_patch05
+	call slave_newconn_once
+	branch roles_newconns_responded,match
+	call new_conn_timeout
+	nbranch roles_newconns_loop,blank
+	branch role_switch_fail_master
+roles_newconns_responded:
+	fetch 1,mem_mode
+	set0 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	call calc_clke_offset
+	enable user
+	jam BT_EVT_SWITCH_SUCCESS_MASTER,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+
+
+context_load:
+	bpatch patch05_2,mem_patch05
+	set1 mark_context,mark
+	deposit rega
+	store 2,mem_context_ptr
+	force context_size,loopcnt
+	arg mem_le_state,contw
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	copy rega,contr
+	bbit1 mode_le,memcpy
+	arg mem_state,contw
+	call memcpy
+	disable attempt
+	fetch 1,mem_amaddr
+	iforce am_addr
+	jam 1,mem_current_sniff_attempt
+	branch context_load_master,master
+	jam 1,mem_current_sniff_attempt
+context_load_master:
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	fetch 1,mem_sniff_timeout
+	store 1,mem_current_sniff_timeout
+	rtn
+	
+context_save:
+	bpatch patch05_3,mem_patch05
+	fetch 2,mem_context_ptr
+	iforce contw
+	force context_size,loopcnt
+	arg mem_le_state,contr
+	branch memcpy,le
+	arg mem_state,contr
+	branch memcpy
+
+	
+
+context_get_next:
+	arg context_num,loopcnt
+	fetcht 1,mem_current_context
+context_get_next_loop:
+	increase 1,temp
+	compare context_num,temp,0xff
+	nbranch context_get_next_cont,true
+	arg 0,temp
+context_get_next_cont:
+	storet 1,mem_current_context
+	mul32 temp,context_size,pdata
+	arg mem_context,rega
+	iadd rega,rega
+	ifetch 1,rega
+	bbit1 state_insniff,context_get_next_sniff
+	rtnbit1 state_inconn
+	rtnbit1 state_inpage
+context_get_next_sniff:
+	loop context_get_next_loop
+	rtn
+	
+context_new:
+	bpatch patch05_4,mem_patch05
+	arg context_search_empty,regc
+	call context_search
+	nrtn zero					// all occupied
+	deposit rega
+	store 2,mem_context_ptr
+	force 0,null
+	rtn
+	
+	//return zero if anyone's wack is 1.
+	//return nzero if all wack is 0
+context_check_all_wack:
+	call check_esco_amaddr
+	branch context_check_esco_wack,true
+	fetch 2,mem_context_ptr
+	add pdata,coffset_arq,contw
+	fetch 1,mem_arq
+	istore 1,contw
+	arg context_check_a_wack,regc
+	branch context_search
+
+context_check_esco_wack:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	branch context_esco_wack,true
+	force 1,null
+	rtn
+context_esco_wack:
+	force 0,null
+	rtn
+	
+	//rtn nzero if idle(no conn)
+context_check_idle:
+	arg context_check_inconn,regc
+	branch context_search
+	
+context_traverse_linkkey:
+	fetcht 2,mem_context_ptr
+	arg context_traverse_clearkey,regc
+	branch context_search
+	
+	
+	/* return zero if conn handle is found */
+context_search_conn_handle:
+	fetcht 1,mem_hci_conn_handle
+context_search_conn_handle2:
+	arg context_search_handle,regc
+	branch context_search
+	/* return zero if plap is found */
+context_search_plap:
+	bpatch patch05_5,mem_patch05
+	fetcht 6,mem_hci_plap
+context_search_plap2:
+	arg context_search_lap,regc
+	branch context_search
+	/* return zero if sniff anchor is meet and rega pointers to context */
+context_search_insniff:
+	arg context_search_sniff,regc
+	branch context_search
+	/* return zero if sniff window is in content with current transaction */
+context_search_sniff_window:
+	arg context_search_window,regc
+context_search:
+	bpatch patch05_6,mem_patch05
+	arg mem_context,rega
+	arg context_num,loopcnt
+context_search_loop:
+	ifetch 1,rega
+	copy regc,pc
+context_search_next:
+	increase context_size,rega
+	loop context_search_loop
+	force 1,null
+	rtn
+
+context_search_empty:
+	bbit1 state_inconn,context_search_next
+	bbit1 state_inpage,context_search_next
+	force 0,null
+	rtn
+	
+context_search_lap:
+	bbit1 state_inpage,context_search_lap_cont
+	bbit0 state_inconn,context_search_next
+context_search_lap_cont:
+	add rega,coffset_plap,contr
+	ifetch 6,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_handle:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_conn_handle,contr
+	ifetch 1,contr
+	isub temp,null
+	rtn zero
+	branch context_search_next
+
+context_search_sniff:
+	bbit0 state_insniff,context_search_next
+context_search_sniff_loop:
+	call context_get_anchor
+	call sign_pdata_temp
+	isub temp,pdata
+	increase 1,pdata
+	branch context_search_sniff_miss,positive
+	copy contr,regb
+	store 9,mem_temp
+	fetch 1,mem_le_sc_calc
+	nbranch context_search_sniff_sc,blank
+	fetch 9,mem_temp
+	copy regb,contr
+	increase 5,pdata  
+	branch context_search_meet1
+context_search_sniff_sc:
+	fetch 9,mem_temp
+	copy regb,contr	
+	increase 20,pdata  
+context_search_meet1:
+	nbranch context_search_next,positive
+context_search_meet:
+	copy temp,bt_clk
+	call context_next_anchor
+	force 0,null
+	rtn
+	
+	
+context_search_sniff_miss:
+	iforce regb
+	add rega,coffset_tsniff,contr
+	ifetch 2,contr
+	branch context_search_meet,blank
+	call context_next_anchor
+	branch context_search_sniff_loop
+
+sign_pdata_temp:
+	rshift16 pdata,timeup    
+	rshift8 timeup,timeup    
+	branch sign_pdata_temp_p0,zero    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	nrtn zero    
+	set1 28,temp    
+	rtn
+sign_pdata_temp_p0:    
+	rshift16 temp,timeup    
+	rshift8 timeup,timeup    
+	compare 0xf,timeup,0xf    
+	nrtn true    
+	set1 28,pdata    
+	rtn
+
+context_check_inconn:
+	bbit0 state_inconn,context_search_next
+	force 0,null 				// found
+	rtn
+	
+context_check_a_wack:
+	bbit0 state_inconn,context_search_next
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	add rega,coffset_arq,contr
+	ifetch 1,contr
+	bbit0 wack,context_search_next
+	force 0,null 				// found
+	rtn
+
+context_get_anchor:
+	add rega,coffset_mode,contr
+	ifetcht 1,contr
+	deposit clkn_bt
+	isolate1 mode_master,temp
+	add rega,coffset_sniff_anchor,contr
+	ifetcht 4,contr
+	rtn true
+	add rega,coffset_clk_offset,contr
+	ifetch 6,contr
+	call calc_clke2
+	deposit clke_bt
+	rtn
+
+context_next_anchor:
+	add rega,coffset_tsniff,contr
+	add rega,coffset_sniff_anchor,contw
+	ifetch 2,contr
+	iadd temp,timeup			/* wrap to 28 bits */
+	deposit timeup
+	istore 4,contw
+	branch le_context_nexthop
+	
+
+context_search_window:
+	bbit0 state_insniff,context_search_next
+	call context_get_anchor
+	iadd stop_watch,pdata
+	iadd stop_watch,pdata
+	iadd queue,pdata
+	isub temp,null
+	nbranch context_search_next,positive
+	force 0,null
+	rtn
+
+context_traverse_clearkey:
+	bbit0 state_inconn,context_search_next
+	deposit temp
+	isub rega,null
+	branch context_search_next,null
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	bbit1 mode_le,context_search_next
+	ifetch 1,rega
+	set0 state_linkkey,pdata
+	istore 1,rega
+	branch context_search_next
+
+	
+master_conn_send_packet:
+	bpatch patch05_7,mem_patch05
+	call rf_setup_time_master_slot
+master_send_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_native
+	call send_access_word
+	branch transmit_packet
+
+master_conn_recv_packet:
+	bpatch patch06_0,mem_patch06
+	call rf_setup_time_slave_slot
+master_recv_packet:
+	add clkn_bt,1,bt_clk          /* master start to use native clock */
+	call fetch_self_bt_adr
+	force 0x03,freq_mode          /* we are in connection!! */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	call start_rx_native	/* start listening at start_rx time */
+	call start_receiver
+master_rx_conn_finish_packet:
+	call wait_access_clkn_rt	/* master use native clock */
+	nrtn sync
+	call save_rssi
+	branch receive_packet
+	
+	
+
+master_newconn_once:
+	bpatch patch06_1,mem_patch06
+	fetch 1,mem_fhs_am_addr
+	iforce am_addr			//review
+	force type_poll,type
+	call master_conn_send_packet
+	branch master_conn_recv_packet
+
+
+
+
+
+
+/******************************************/
+/************* Inquiry Scan ***************/
+/******************************************/
+
+inquiry_scan_dispatch:
+	fetch 1,mem_scan_mode
+	rtnbit0 inq_scan_mode
+	force iscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_iscan_window
+	force 4,queue
+	call sniff_check_window
+	rtn user
+	call inquiry_scan_start
+	force iscan_interval_timer,queue
+	fetch 2,mem_iscan_interval
+	nbranch timer_init,sync
+	random pdata				/* inquiry scan backoff */
+	iand mask3ff,pdata
+	branch timer_init
+	
+
+inquiry_scan_start:
+	bpatch patch06_2,mem_patch06
+	jam 0,mem_fhs_am_addr
+	disable clknt
+	disable attempt
+	call afh_clear
+	and clkn_bt,0x1fc,bt_clk      /* freeze the clock, set bit[1] 0, this is version 1.1 */
+	force 0x01,freq_mode     /* slave in inquiry scan, kind of same as inquriy_response, this is version 1.1 */
+	call fetch_giac
+	call rx_radio_freq
+	setflip mark_inquiry_state,mark
+	fetch 1,mem_inquiryscan_waitcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_waitcnt
+	call fetch_diac
+	call start_receiver	/* get ready for that id packet */
+	call wait_access_forever	/* until there is timeout, or matched (true) */
+	nrtn sync
+	bpatch patch06_3,mem_patch06
+	force 0,stop_watch
+	call shutdown_radio	/* must have heard */
+	fetch 1,mem_inquiryscan_rcvcnt
+	increase 1,pdata
+	store 1,mem_inquiryscan_rcvcnt
+	call fetch_giac
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call fetch_diac
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call send_access_word
+	force type_fhs,type
+	force 0,am_addr                       /* put 0 into am_addr field for fhs */
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	call send_eir
+	and_into 0x1fd,bt_clk                 /* put clk(1) back to 0 */
+	increase 1,N_tx_slot
+	rtn
+
+send_eir:
+	bpatch patch06_4,mem_patch06
+	fetch 1,mem_eir_enable
+	rtn blank
+	arg mem_eir,contw
+	fetch 1,mem_local_name_length
+	copy pdata,loopcnt
+	increase 1,pdata
+	istore 1,contw	
+	copy contw,temp
+	increase 1,pdata
+	store 2,mem_tx_len	
+	copy temp,contw
+	setarg 0x09  //type:name
+	istore 1,contw		
+	arg  mem_local_name,contr
+	call memcpy       //name
+
+	arg mem_all_uuid_128bits,regc
+	arg 4,loopcnt
+	call get_all_uuid
+	arg mem_all_uuid_16bits,regc
+	arg 1,loopcnt
+	call get_all_uuid
+
+	force type_dm3,type		/* DM3 */
+	jam 2,mem_tx_lch
+	setarg mem_eir
+	store 2,mem_txptr
+	call rf_setup_time_slave_slot
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	call start_tx_external
+	call send_access_word
+	call scan_mode_whiten
+	call transmit_packet_whitened
+	rtn
+
+
+get_all_uuid:
+	copy contw,temp
+	copy regc,contr
+	ifetch 1,contr
+	rtn blank
+lshift_loop:
+	lshift pdata,pdata
+	loop lshift_loop
+	copy pdata,rega
+	increase 2,pdata
+	copy pdata,queue
+	fetch 2,mem_tx_len
+	iadd queue,pdata
+	store 2,mem_tx_len
+	copy temp,contw
+	copy rega,pdata
+	increase 1,pdata
+	istore 1,contw
+	copy regc,contr
+	ifetch 1,contr
+	ifetch 1,contr	//fetch type
+	istore 1,contw
+	copy rega,loopcnt
+	branch memcpy  //copy uuid
+	
+/******************************************/
+/******** Slave dispatch ***********/
+/******************************************/
+
+page_scan_dispatch:	
+	fetch 1,mem_scan_mode
+	rtnbit0 page_scan_mode
+	force pscan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetcht 2,mem_pscan_window
+	force 40,queue
+	call sniff_check_window
+	rtn user
+	force 0,am_addr
+	jam param_pagerespto,mem_fhs_wait_counter
+	set0 mark_fhs_already_good,mark
+	call page_scan_start
+	force pscan_interval_timer,queue
+	fetch 2,mem_pscan_interval
+	branch timer_init
+	
+
+page_scan_start:
+	bpatch patch06_5,mem_patch06
+	disable clknt
+	call afh_clear
+	fetch 1,mem_pagescan_waitcnt
+	increase 1,pdata
+	store 1,mem_pagescan_waitcnt
+	force 0,N_tx_slot
+	call fetch_self_bt_adr
+	add clkn_bt,1,bt_clk      /* freeze the clock on native clock until scan window is up */
+	force 0x02, freq_mode     /* slave in inquiry and page, not response */
+	bpatch patch06_6,mem_patch06
+	call rx_radio_freq
+	call start_receiver	/* wait for that id packet from master */
+	call wait_access_forever
+	nrtn sync                          /* pscan window timeout occured, back to dispatch */
+	call shutdown_radio	/* got the id packet */
+	fetch 1,mem_pagescan_rcvcnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvcnt
+	force 0,stop_watch
+	call rf_setup_time_slave_slot
+	or_into 0x002,bt_clk               /* put clk(1) to 1 */
+	force 0x01,freq_mode               /* slave in inquriy and page, response only */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+	force 0,am_addr
+	arg param_rf_setup, timeup
+	until clke_rt,meet
+	or_into 0x03,clke_bt
+	and_into 0x1fd,bt_clk
+page_scan_wait_fhs_restart:
+	bpatch patch06_7,mem_patch06
+	increase 1,N_tx_slot
+	call rx_radio_freq
+	call start_receiver
+	call wait_access_mhalfbnd
+	nbranch page_scan_wait_fhs_again,sync	/* go back if didn't find access code */
+	call scan_mode_whiten
+	call receive_packet_whitened
+	bmark1 mark_fhs_already_good,page_scan_reply_to_fhs
+page_scan_wait_fhs_again:
+	bpatch patch07_0,mem_patch07
+	fetch 1,mem_fhs_wait_counter
+	rtn blank
+	increase -1,pdata
+	store 1,mem_fhs_wait_counter
+	call rf_setup_time_master_slot	/* set up expiration time */
+	branch page_scan_wait_fhs_restart
+
+
+page_scan_reply_to_fhs:
+	bpatch patch07_1,mem_patch07
+	set0 1,clke_bt
+	set1 0,clke_bt
+	fetch 1,mem_pagescan_rcvfhscnt
+	increase 1,pdata
+	store 1,mem_pagescan_rcvfhscnt
+	call rf_setup_time_slave_slot
+	or_into 0x02,bt_clk
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	call send_access_word
+	call end_of_packet
+slave_apply_clke_bt:
+	compare 0x03,clke_bt,0x03
+	branch slave_apply_clke_bt_now,true
+	until null,mhalfbnd
+	branch slave_apply_clke_bt
+slave_apply_clke_bt_now:
+	fetch 4,mem_clke_bt
+	or_into 0x03,pdata
+	icopy clke_bt
+
+start_slave_connection:
+	bpatch patch07_2,mem_patch07
+	fetch 6,extm_lap
+	store 6,mem_plap
+	call prepare_newconn
+slave_newconn_loop:
+	call slave_newconn_once
+	branch sconn_successful,match     /* we were talked to */
+	call new_conn_timeout
+	nbranch slave_newconn_loop,blank
+	rtn
+
+	
+sconn_successful:
+	bpatch patch07_3,mem_patch07
+	call newconn_init
+	call context_new
+	nrtn zero
+	jam 0,mem_mode
+	call calc_clke_offset
+	branch context_save
+
+
+
+
+slave_dispatch:
+	bpatch patch07_4,mem_patch07
+	call calc_clke
+	call role_switch_slave
+	rtn user
+slave_loop:
+	bpatch patch07_5,mem_patch07
+	call check_bt_disabled
+	call scheduler_process
+	call slave_conn_recv_packet	/* go listen for a packet */
+	nbranch slave_notmatch,match
+	call supervision_flush
+	call scheduler_tx_l2cap_pkt
+	call prepare_tx
+	call slave_conn_send_packet
+	call parse_l2cap
+	call parse_lmp
+	fetch 1,mem_slave_rcvcnt
+	increase 1,pdata
+	store 1,mem_slave_rcvcnt
+	call calc_clke_offset
+slave_notmatch:
+	bpatch patch07_6,mem_patch07
+	call lpm_set_mult
+	call supervision_update
+	branch slave_disconnect,positive
+	call check_disconnect_timeout
+	nbranch slave_disconnect,user
+	call check_attempt
+	nbranch slave_loop,blank
+	rtn
+
+slave_disconnect:
+	bpatch patch07_7,mem_patch07
+	jam 0,mem_tester_emulate
+	jam 0,mem_debug_config
+	call quit_connection
+	set0 mark_testmode,mark
+	call test_enable_white
+	fetch 1,mem_state
+	rtn
+
+
+role_switch_slave:
+	bpatch patch08_0,mem_patch08
+	call role_switch_check
+	nrtn user
+	copy am_addr,temp
+	call get_free_amaddr
+	store 1,mem_fhs_am_addr
+	copy temp,am_addr
+	jam param_newconnto,mem_newconnto_counter
+roles_sendfhs_loop:
+	bpatch patch08_1,mem_patch08
+	call rf_setup_time_master_slot
+	force type_fhs,type
+	call slave_send_access
+	deposit clkn_bt
+	store 4,mem_clkn_bt
+	call transmit_packet
+	call rf_setup_time_slave_slot
+	enable user3
+	call slave_receive_access
+	branch roles_got_fhs_reply,sync
+	call shutdown_radio
+	call new_conn_timeout
+	nbranch roles_sendfhs_loop,blank
+	rtnmark0 mark_accept_switch
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	rtn
+roles_got_fhs_reply:
+	enable clknt
+	call prepare_newconn
+	call afh_clear
+roles_newconn_loop:
+	bpatch patch08_2,mem_patch08
+	call master_newconn_once
+	branch roles_newconn_responded,sync
+	call new_conn_timeout
+	nbranch roles_newconn_loop,blank
+	disable clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+roles_newconn_responded:
+	enable master
+	bmark0 mark_accept_switch,roles_newconn_nolmp
+	set0 mark_accept_switch,mark
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_HOST_CONNECTION_REQ,mem_lmi_opcode2
+	call tid_set_reply
+roles_newconn_nolmp:
+	deposit am_addr
+	store 1,mem_amaddr
+	force 0,pdata
+	store 6,mem_clk_offset
+	fetch 1,mem_mode
+	set1 mode_master,pdata
+	store 1,mem_mode
+	call supervision_flush
+	disable master
+	enable user
+	rtn
+
+	
+
+init_rx_packet_flags:
+	bpatch patch08_3,mem_patch08
+	disable match
+	set0 mark_loopback,mark
+	set0 mark_am_addr_broadcast,mark          /* initialize slave flags */
+	set0 mark_longpacket,mark
+	set0 mark_old_packet,mark
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+	rtn
+
+prepare_newconn:
+	bpatch patch08_4,mem_patch08
+	jam param_newconnto,mem_newconnto_counter
+	jam param_newconn_arq,mem_arq
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	deposit clkn_bt
+	store 4,mem_next_btclk
+	rtn clknt
+	deposit clke_bt
+	store 4,mem_next_btclk
+	rtn
+
+newconn_init:
+	bpatch patch08_5,mem_patch08
+	call init_lmp_reinit
+	call new_conn_handle
+	store 1,mem_conn_handle
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	setarg param_supervision_to
+	store 2,mem_supervision_to
+	fetch 1,mem_state
+	set1 state_inconn,pdata
+	store 1,mem_state
+	jam 0,mem_op
+	jam 0,mem_state_map
+	jam 0,mem_lpm_current_mult
+	branch supervision_flush
+	
+
+clear_linkkey:
+	bpatch patch08_6,mem_patch08
+	force 0,pdata
+	store 8,mem_link_key
+	istore 8,contw
+	call clear_linkstate
+	branch context_traverse_linkkey
+	
+new_conn_timeout:
+	fetch 1,mem_newconnto_counter
+	increase -1,pdata
+	store 1,mem_newconnto_counter
+	rtn
+
+new_conn_handle:
+	fetch 1,mem_handle_num
+	increase 1,pdata
+	store 1,mem_handle_num
+	rtn
+
+
+quit_connection:
+	bpatch patch08_7,mem_patch08
+	fetch 1,mem_hci_cmd
+	beq hci_cmd_remote_name_req,quit_connection_name
+	fetch 1,mem_lmp_to_send
+	bne LMP_NAME_REQ,quit_connection_cont
+quit_connection_name:
+	call cmd_check_plap
+	nbranch quit_connection_cont,zero
+	call master_name_error
+	jam 0,mem_hci_cmd
+quit_connection_cont:
+	bpatch patch09_0,mem_patch09
+	call app_disconn_reason_collect_bt
+	call sniff_exit
+	jam BT_EVT_BB_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call init_lmp_work
+	call l2cap_init_work
+ifdef SIMPLE_PAIRING
+	call sp_initialize
+endif
+	fetch 1,mem_state
+	set0 state_inconn
+	store 1,mem_state
+	jam 0,memui_reconnect_mode
+
+	fetch 1,mem_state_map
+	compare 0x0,pdata,0xc0
+	branch quit_connection_not_clear_mark,true
+	set0 mark_rxbuf_inuse,mark
+quit_connection_not_clear_mark:
+	fetch 1,mem_arq
+	bbit0 wack,quit_connection_not_clear_tx
+quit_connection_not_clear_tx:
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap
+	set0 mark_tx_l2cap,mark
+	rtn
+
+slave_newconn_once:
+	bpatch patch09_1,mem_patch09
+	fetch 1,extm_newconn_am_addr
+	rtn blank     
+	icopy am_addr
+	call slave_conn_recv_packet
+	nrtn match
+	force type_null,type
+	call slave_conn_send_packet
+	deposit am_addr
+	store 1,mem_amaddr                 /* now the new am_addr is official */
+	force 0,pdata
+	store 1,extm_newconn_am_addr
+	rtn
+
+
+/******************************************/
+/********  Time consuming task  ***********/
+/******************************************/
+prepare_tx:
+	bpatch patch09_2,mem_patch09
+	fetch 1,mem_state
+	bbit0 state_insco,prepare_tx_not_sco
+	force type_hv3,type
+	bmark0 mark_esco,prepare_tx_not_esco
+	call check_esco_amaddr
+	nbranch prepare_tx_not_sco,true
+	branch prepare_tx_not_sco,attempt	
+	call set_wait_ack					/* send esco only at the first attempt */
+	setarg 2		/* esco only has 1 retry */
+	store 2,mem_retransmission_cnt
+	rtn
+prepare_tx_not_esco:
+	nrtn attempt						/* send sco only at the first attempt */
+prepare_tx_not_sco:
+	bpatch patch09_3,mem_patch09
+	call context_check_all_wack			 //abandon mark_retransmit, use context_check_all_wack instead.
+	nbranch prepare_tx_no_retransmit,zero
+	fetch 1,mem_arq
+	bbit0 wack,prepare_tx_pollnull		/* other wack, tx buffer in use, but not me */
+prepare_tx_retransmit:
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+	fetch 2,mem_retransmission_cnt
+	increase -1,pdata
+	store 2,mem_retransmission_cnt
+	branch prepare_tx_nomore_retransmit,blank
+	fetch 1,mem_last_type
+	iforce type
+	rtn
+
+prepare_tx_nomore_retransmit:
+	bpatch patch09_4,mem_patch09
+	call clear_got_tx
+prepare_tx_no_retransmit:
+	call check_esco_amaddr
+	branch prepare_tx_pollnull,true
+	call send_lmp
+	branch prepare_tx_sendlmp,user
+	fetch 1,mem_op
+	bbit1 op_txl2cap,prepare_tx_sendl2cap
+	bmark1 mark_loopback,prepare_tx_loopback
+	fetch 1,mem_debug_config
+	bbit1 debug_tx_pattern,prepare_tx_txpat
+prepare_tx_pollnull:
+	force type_poll,type				/* POLL for master */
+	rtn master
+	force type_null,type				/* default is NULL */
+	rtn
+prepare_tx_loopback:
+	bpatch patch09_5,mem_patch09
+	fetch 1,mem_rx_type
+	iforce type
+	rtnne 1
+	force type_null,type
+	rtn
+prepare_tx_txpat:
+	fetch 1,test_mode_packet_type
+	and pdata,0xf,type
+	set1 mark_loopback,mark
+	rtn
+prepare_tx_sendlmp:
+	force type_lmp,type
+	branch set_wait_ack
+prepare_tx_sendl2cap:
+	call tx_l2cap_type
+
+set_wait_ack:
+	bpatch patch09_6,mem_patch09
+	fetcht 1,mem_arq
+	set1 wack,temp
+	storet 1,mem_arq
+	deposit type
+	store 1,mem_last_type
+	setarg 0xffff
+	store 2,mem_retransmission_cnt
+	rtn
+
+tx_l2cap_type:
+	bpatch patch09_7,mem_patch09
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	fetch 2,mem_tx_len
+	branch tx_l2cap_type_edr,true
+	force type_dm1,type		/* DM1 */
+	sub pdata,17,null			
+	rtn positive
+	force type_dh1,type		/* DH1 */
+	sub pdata,27,null				
+	rtn positive
+	force type_dm3,type		/* DM3 */
+	sub pdata,121,null
+	rtn positive
+	force type_dh3,type		/* DH3 */
+	sub pdata,183,null
+	rtn positive	
+	force type_dm5,type		/* DM5 */
+	sub pdata,224,null
+	rtn positive
+	force type_dh5,type		/* DH5 */
+	rtn
+tx_l2cap_type_edr:
+	force type_dm1,type
+	sub pdata,17,null
+	rtn positive
+	force type_dh1,type		/*2-DH1*/
+	sub pdata,54,null
+	rtn positive
+	force type_dm3,type		/*2-DH3*/
+	arg 367,temp
+	isub temp,null
+	nrtn positive
+	force type_dm5,type		/*2-DH5*/
+	arg 679,temp
+	isub temp,null
+	nrtn positive
+	force type_dh5,type		/*3-DH5*/
+	rtn
+
+
+/******************************************/
+/***********  Receive Packet  *************/
+/******************************************/
+
+
+
+slave_receive_master_slot:
+	fetch 1,mem_state
+	bbit0 state_insniff,slave_receive_notsniff
+	fetch 2,mem_tsniff
+	branch slave_receive_notsniff,blank		/* role switch */
+	nbranch slave_receive_sniff,attempt
+slave_receive_notsniff:
+	call rf_setup_time_master_slot
+slave_receive_access:
+	add clke_bt,1,bt_clk
+slave_receive_sniff:
+	enable swfine
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection hop */
+	call rx_radio_freq
+	call init_rx_packet_flags
+	call prep_crypt
+	bpatch patch0a_0,mem_patch0a
+	fetch 2,mem_rx_window
+	rshift pdata,pdata
+	call ahead_window
+	call start_receiver
+	enable decode_fec0
+	fetch 2,mem_rx_window
+	arg param_clke_cal,temp
+	iadd temp,stop_watch
+	correlate null,timeout
+	copy clke,temp
+	storet 6,mem_sync_clke
+	disable decode_fec0
+	nrtn sync
+	arg param_clke_cal,clke_rt
+	copy bt_clk,clke_bt
+	branch lpm_adjust_clk,wake
+	rtn
+	
+
+slave_conn_recv_packet:
+	bpatch patch0a_1,mem_patch0a
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	bmark0 mark_testmode,receive_packet
+	fetch 2,mem_tst_pktcnt_sync
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_sync
+receive_packet:
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+receive_packet_whitened:
+	bpatch patch0a_2,mem_patch0a
+	enable enable_white
+	enable enable_hec
+	enable decode_fec1
+	parse demod,bucket,3  /* get am_addr */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_am_addr
+	parse demod,bucket,4  /* get type */
+	inject bucket,7       /* align up to pwindow */
+	copy pwindow,pdata
+	store 1,mem_rx_type
+	parse demod,bucket,3  /* get arq */
+	rshift8 pwindow,pdata
+	store 1,mem_temp_arq
+	fetch 1,mem_rx_type
+	sub pdata,3,null
+	branch receive_packet_noedr,positive
+	beq 7,receive_packet_noedr		/* esco packet */
+	fetch 1,mem_state_map
+	isolate1 smap_edr,pdata
+	setflag true,PSK,radio_ctrl
+receive_packet_noedr:
+	bpatch patch0a_3,mem_patch0a
+	parse demod,bucket,8   /* cycle thru hec */
+	disable decode_fec1
+	disable enable_hec   /* at this moment, 1 seqn + 8 hec is in shift */
+	branch error_header,crc_failed  /* if hec error, nothing is valid */
+	bmark0 mark_testmode,receive_packet_amchk
+	fetch 2,mem_tst_pktcnt_hec
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_hec
+receive_packet_amchk:	
+	bpatch patch0a_4,mem_patch0a
+	fetch 1,mem_temp_am_addr
+	compare 0,pdata,0x07           /* check for broadcast */
+	setflag true,mark_am_addr_broadcast,mark   /* received a broadcast message, can fire ar_addr if during unpark_req */
+	branch am_addr_ok,true
+	icompare 0x07,am_addr
+	branch am_addr_match,true
+	bmark0 mark_esco,end_of_packet
+	fetcht 1,mem_saved_amaddr
+	icompare 0x7,temp
+	nbranch end_of_packet,true
+	fetch 1,mem_arq    /* mem_arq + am_addr */
+	set0 arqnx,pdata
+	set1 flowx,pdata
+	store 1,mem_arq
+am_addr_match:
+	enable match
+am_addr_ok:
+	bpatch patch0a_5,mem_patch0a
+	fetch 1,mem_rx_type
+	icopy type
+	bmark1 mark_am_addr_broadcast,arqn_bypass        /* arqn doesn't make sense */
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set0 flow,pdata
+	isolate1 flow,temp
+	setflag true,flow,pdata
+	isolate1 arqn,temp
+	setflag true,arqn,pdata
+	store 1,mem_arq
+	isolate0 arqn,temp
+	branch arqn_bypass,true
+	call clear_got_tx
+arqn_bypass:
+	bpatch patch0a_6,mem_patch0a
+	arg 0,temp
+	call reserve_slot
+	and type,0xf,pdata
+	beq type_poll,process_poll
+	beq type_null,end_of_packet	/* null */
+	beq type_fhs,process_fhs
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	icompare 0x04,temp    /* bit 2 is seqn */
+	nbranch rx_type_dispatch,true   /* different then it's new */
+	bmark0 mark_am_addr_broadcast,failed_seqn         /* seqn failed, and not broadcast */
+	bbit0 bcast1,rx_type_dispatch           /* first broadcast never fail seqn */
+failed_seqn:
+	set1 mark_old_packet,mark
+rx_type_dispatch:
+	bpatch patch0a_7,mem_patch0a
+	deposit type
+	beq type_dm1, process_dm1
+	beq type_dh1, process_dh1
+	beq type_hv3, process_hev
+	beq type_3dh1, process_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, process_dm3
+	beq type_dh3, process_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dm5, process_dm5
+	beq type_dh5, process_dh5
+	rtn
+
+
+process_hev:
+	bpatch patch0b_0,mem_patch0b
+	enable decode_fec0
+	enable enable_crc
+	enable encrypt
+	arg mem_sco_ibuf,contw
+	force 30,loopcnt
+process_hev_loop:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_hev_loop
+	bmark0 mark_esco,end_of_packet
+	parse demod,bucket,16  /* cycle through the crc */
+	nsetflag crc_failed,mark_esco_rxok,mark
+	branch error_payload,crc_failed
+	branch ack_payload
+
+
+process_poll:
+	branch end_of_packet
+
+process_dm3:
+process_dm5:
+	set1 mark_longpacket,mark
+process_dm1:
+	enable decode_fec2
+	branch process_dmh
+	
+process_dh3:
+process_dh5:
+	set1 mark_longpacket,mark
+process_3dh1:
+	set1 PSK3M,radio_ctrl
+process_dh1:
+	enable decode_fec0
+process_dmh:
+	bpatch patch0b_1,mem_patch0b
+	bmark1 mark_rxbuf_inuse,end_of_packet			/* buffer in use, nack */
+	isolate0 PSK,radio_ctrl
+	branch process_dmh_noedr,true
+	disable enable_white
+	enable decode_fec0
+	disable decode_fec2
+	add clkn_bt,2,timeup
+	correlate clkn_bt,meet
+	nbranch error_payload,sync
+	set1 mark_longpacket,mark
+	enable enable_white
+process_dmh_noedr:
+	bpatch patch0b_2,mem_patch0b
+	enable encrypt
+	enable enable_crc
+	parse demod,bucket,3  /* parse in lch+l2cap flow */
+	rshift8 pwindow,pdata
+	store 1,mem_lch_code		/* for loopback */
+	parse demod,bucket,5  /* parse in 5 bit packetlength */
+	bmark1 mark_longpacket,process_dmh_long
+	rshift3 pwindow,loopcnt
+	rshift3 loopcnt,loopcnt
+	branch process_dmh_common
+process_dmh_long:
+	parse demod,bucket,5		/* multi slot packet length of dh3 dh5 dm3 dm5 */
+	rshift pwindow,loopcnt
+	parse demod,bucket,3  /* undefined+bit 9 of length */
+process_dmh_common:	
+	bpatch patch0b_3,mem_patch0b
+	deposit loopcnt
+	store 2,mem_len
+	branch process_dmh_data_end,blank
+	isub mask3ff,null
+	branch error_payload,positive	/* packet too large, discard */
+	bpatch patch0b_4,mem_patch0b
+	set0 mark_fhs_eir,mark
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	arg mem_rxbuf,contw //lmp_data or test packet
+	beq LLID_LMP,process_lmp
+	bmark1 mark_testmode,process_dmh_data
+	//non-HCI mode
+	fetch 1,mem_lch_code
+	and_into 0x03,pdata
+	beq LLID_L2CAP_START,process_dmh_data_l2cap_start_pkt
+	beq LLID_L2CAP_CONT,process_dmh_data_l2cap_continue_pkt
+	branch error_payload
+
+process_lmp:
+	fetch 2,mem_len
+	sub pdata,0x70,null		//lmp buffer size
+	nbranch error_payload,positive
+	bmark1 mark_old_packet,ack_payload
+	branch process_dmh_data
+
+	
+process_dmh_data_l2cap_start_pkt:
+	bpatch patch0b_5,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_inuse
+	bbit0 L2CAP_INUSE_BUFF1,process_dmh_data_into_buff1
+	bbit0 L2CAP_INUSE_BUFF2,process_dmh_data_into_buff2
+	branch end_of_packet
+process_dmh_data_into_buff1:
+	jam 1,mem_l2cap_rxbuff_new //new data in buff 1
+	fetch 2,mem_l2cap_rxbuff1_len
+	bne 0,end_of_packet			//baseband head error
+	arg mem_l2cap_rxbuff1,contw
+	branch process_dmh_data
+process_dmh_data_into_buff2:
+	jam 2,mem_l2cap_rxbuff_new //new data in buff 2
+	fetch 2,mem_l2cap_rxbuff2_len
+	bne 0,end_of_packet
+	arg mem_l2cap_rxbuff2,contw
+	branch process_dmh_data
+	
+process_dmh_data_l2cap_continue_pkt:
+	bpatch patch0b_6,mem_patch0b
+	bmark1 mark_old_packet,ack_payload
+	fetch 2,mem_len
+	arg 0x2e0,temp //l2cap buffer size
+	isub temp,null
+	branch error_payload,positive
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_dmh_data_l2cap_continue_pkt1
+	beq 2,process_dmh_data_l2cap_continue_pkt2
+	branch end_of_packet
+process_dmh_data_l2cap_continue_pkt1:
+	arg mem_l2cap_rxbuff1,contw
+	fetch 2,mem_l2cap_rxbuff1_len
+	iadd contw,contw
+	branch process_dmh_data
+process_dmh_data_l2cap_continue_pkt2:
+	arg mem_l2cap_rxbuff2,contw
+	fetch 2,mem_l2cap_rxbuff2_len
+	iadd contw,contw
+process_dmh_data:	
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop process_dmh_data
+process_dmh_data_end:	
+	bpatch patch0b_7,mem_patch0b
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload_crc,crc_failed
+	fetch 1,mem_l2cap_flow_ctrl_flag
+	beq L2CAP_FLOW_CTRL_ENABLE,end_of_packet
+	bmark1 mark_testmode,process_dmh_cont
+	bmark1 mark_old_packet,redundant_payload
+	fetch 1,mem_lch_code
+	compare 3,pdata,3
+	branch process_dmh_cont,true
+	fetch 2,mem_len
+	branch process_dmh_cont,blank
+	bpatch patch0c_0,mem_patch0c
+	fetch 1,mem_l2cap_rxbuff_new
+	beq 1,process_l2cap_pass_crc_buff1
+	beq 2,process_l2cap_pass_crc_buff2
+	branch assert
+process_l2cap_pass_crc_buff1:
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff1_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff1// l2cap payload length
+	increase 4,temp
+	isub temp,null
+	call l2cap_buff1_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_l2cap_pass_crc_buff2:
+	fetch 2,mem_l2cap_rxbuff2_len
+	fetcht 2,mem_len
+	iadd temp,pdata
+	store 2,mem_l2cap_rxbuff2_len
+	beq 0,assert
+	fetcht 2,mem_l2cap_rxbuff2// l2cap payload length 
+	add temp,4,temp
+	isub temp,null
+	call l2cap_buff2_inuse,zero //l2cap pkts not ended
+	branch process_dmh_cont
+process_dmh_cont:
+	bpatch patch0c_1,mem_patch0c
+	fetcht 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	setflag true,smap_rxlmp,temp
+	nsetflag true,smap_rxl2cap,temp
+	storet 1,mem_state_map
+	nbranch process_dmh_cont_rxbuf_not_use,true
+	set1 mark_rxbuf_inuse,mark
+process_dmh_cont_rxbuf_not_use:
+	bmark0 mark_testmode,ack_payload
+	isolate1 smap_rxlmp,temp
+	branch ack_payload,true
+	fetch 2,mem_tst_pktcnt_crc
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_crc
+	set1 mark_loopback,mark
+	set0 smap_rxl2cap,temp
+	set0 mark_rxbuf_inuse,mark
+	storet 1,mem_state_map
+ack_payload:
+	bpatch patch0c_2,mem_patch0c
+	fetcht 1,mem_temp_arq
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	isolate1 seqn,temp            /* if accept, seqn always copies from the header */
+	setflag true,seqn,pdata
+	isolate1 mark_am_addr_broadcast,mark
+	setflag true,bcast1,pdata
+	store 1,mem_arq
+	fetch 2,mem_len
+	nbranch end_of_packet,blank
+	fetch 1,mem_state_map
+	set0 smap_rxl2cap,pdata//better to do this in l2cap_flow_ctrl_stop
+	store 1,mem_state_map
+	fetch 1,mem_lch_code
+	compare 0x01,pdata,0x07
+	//call l2cap_flow_ctrl_stop,true
+	branch end_of_packet
+	
+error_header:
+	bpatch patch0c_3,mem_patch0c
+	disable match
+	fetch 2,mem_rx_hec_err
+	increase 1,pdata
+	store 2,mem_rx_hec_err
+	branch end_of_packet
+error_payload_crc:
+	fetch 2,mem_rx_crc_err
+	increase 1,pdata
+	store 2,mem_rx_crc_err
+	call discard_pkt
+	bmark0 mark_testmode,error_payload
+	set1 mark_loopback,mark
+error_payload:
+	branch end_of_packet
+	
+discard_pkt:
+	bpatch patch0c_4,mem_patch0c
+	fetch 1,mem_lch_code
+	compare 3,pdata,0x03
+	nbranch discard_pkt_l2cap,true
+discard_pkt_lmp:	
+	fetcht 1,mem_state_map
+	set0 smap_rxlmp,temp
+	storet 1,mem_state_map
+	rtn
+discard_pkt_l2cap:
+//	isolate1 mark_testmode,mark
+//	setflag true,mark_loopback,mark
+	fetcht 1,mem_state_map
+	set0 smap_rxl2cap,temp
+	storet 1,mem_state_map
+	branch  h4_send_acl_trigger_clear
+
+redundant_payload:
+	fetch 1,mem_arq
+	set1 arqnx,pdata
+	store 1,mem_arq
+end_of_packet:
+	bpatch patch0c_5,mem_patch0c
+	disable encode_fec0
+	disable encode_fec2
+	disable decode_fec0
+	disable decode_fec2
+	disable enable_crc
+	disable encrypt
+	disable enable_white
+	branch shutdown_radio,is_rx
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	branch shutdown_radio
+	
+process_fhs:
+	bpatch patch0c_6,mem_patch0c
+	enable enable_crc
+	enable decode_fec2
+	parse demod,bucket,72
+	isolate1 58,pdata
+	setflag true,mark_fhs_eir,mark
+	copy bt_adr,temp             /* save current address to aside */
+	ialigned bt_adr            /* send it to access gen */
+	ialigned fhs0			/* get fhs_misc */
+	pulse recalc                /* calc the lap just received from the other guy */
+	setsect 2,0xfffff             /* preset ms of shift reg as big mask */
+	setsect 3,0x0ffff             /* preset ms of shift reg as big mask */
+	nop 32                       /* 30 cycles after recalc */
+	iverify fhs_parity             /* check fhs_parity against ls 34 bits at shift reg, with msb 36 bits as mask */
+	deposit lap
+	store 3,extm_lap
+	deposit uap
+	store 1,extm_uap
+	copy temp,bt_adr             /* put the address back */
+	branch fhs_parity_ok,true     /* fhs parity failed */
+	branch error_payload
+fhs_parity_ok:
+	bpatch patch0c_7,mem_patch0c
+	parse demod,bucket,72
+	ialigned fhs1                   /* give host the information on class and fhs_misc */
+	ialigned am_addr                /* store the am_addr the master assigned us */
+	ialigned nap
+	ialigned regb                   /* store external clock in regb according to clock format */
+	force 0,pdata
+	parse demod,bucket,16  /* cycle through the crc */
+	branch error_payload,crc_failed
+	setarg 0x0ffffffc
+	iand regb,pdata
+	store 4,mem_clke_bt
+	deposit fhs_class
+	store 3,extm_class
+	deposit fhs_misc
+	store 1,extm_fhs_misc
+	deposit am_addr
+	store 1,extm_newconn_am_addr
+	deposit nap
+	store 2,extm_nap
+	deposit bt_clk
+	inject rxf,32
+	compare type_fhs,type,0x0f         /* see if this was fhs packet */
+	setflag true,mark_fhs_already_good,mark
+	branch end_of_packet
+
+clear_got_tx:
+	bpatch patch0d_0,mem_patch0d
+	fetch 1,mem_arq
+	rtnbit0 wack
+	set0 wack,pdata
+	setflip seqnx,pdata
+	store 1,mem_arq
+	fetch 1,mem_last_type
+	beq type_lmp,clear_got_txlmp
+	rtneq type_hv3
+	fetch 1,mem_op
+	rtnbit0 op_txl2cap,pdata
+	set0 op_txl2cap,pdata
+	set1 op_pkt_comp,pdata
+	store 1,mem_op
+	set0 mark_tx_l2cap,mark
+	fetch 2,mem_l2cap_tx_multi_offset
+	nrtn blank
+	fetch 1,mem_op
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	branch l2cap_malloc_free
+
+clear_got_txlmp:
+	bpatch patch0d_1,mem_patch0d
+	fetch 1,mem_lmo_header_opcode
+	rshift pdata,pdata
+	beq LMP_START_ENCRYPTION_REQ,start_encryption
+	beq LMP_STOP_ENCRYPTION_REQ,stop_encryption
+	beq LMP_UNSNIFF_REQ, sniff_exit
+	beq LMP_ESCAPE,clear_lmp_escape
+	rtnne LMP_ACCEPTED
+	fetch 1,mem_lmo_payload
+	beq LMP_SCO_LINK_REQ,sco_link_req_by_slave
+	beq LMP_START_ENCRYPTION_REQ,clear_send_setup_complete
+	rtn
+
+clear_lmp_escape:
+	fetch 1,mem_lmo_payload
+	set1 7,pdata
+	rtn
+clear_send_setup_complete:
+	rtn master
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+	
+// nokia BH-105  CALLING when reconnection
+sco_link_req_by_slave:
+	rtn master
+	fetch 1,mem_mode
+	isolate1 send_sco_when_slave,pdata
+	branch clean_mem_mode,true
+	//jam LMP_REMOVE_SCO_LINK_REQ,mem_lmo_opcode2
+	rtn
+clean_mem_mode:
+	set0 send_sco_when_slave,pdata
+	store 1,mem_mode
+	rtn
+	
+start_encryption:
+	bpatch patch0d_2,mem_patch0d
+	fetch 1,mem_state_map
+	set1 smap_encryption,pdata
+	store 1,mem_state_map
+	jam 1,core_encrypt
+	fetch 1,mem_state
+	isolate1 state_conn_comp,pdata
+	rtn
+
+stop_encryption:
+	bpatch patch0d_3,mem_patch0d
+	fetch 1,mem_state_map
+	set0 smap_encryption,pdata
+	store 1,mem_state_map
+	jam 0,core_encrypt
+	rtn
+
+
+sniff_init:
+	bpatch patch0d_4,mem_patch0d
+	copy clkn_bt,pdata
+	store 4,mem_lpm_delay_after_sniff
+	add clkn_bt,3,rega
+	branch sniff_init_master,master
+	add clke_bt,3,rega
+sniff_init_master:
+	fetcht 2,mem_tsniff
+	deposit rega
+	set0 27,pdata
+	idiv temp
+	fetch 2,mem_dsniff
+	call wait_div_end
+	remainder regc
+	isub regc,pdata
+	branch sniff_init_nowrap,positive
+	iadd temp,pdata
+sniff_init_nowrap:
+	iadd rega,pdata
+	store 4,mem_sniff_anchor
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	fetch 1,mem_state
+	set1 state_insniff,pdata
+	store 1,mem_state
+	fetch 1,mem_sniff_attempt
+	store 1,mem_current_sniff_attempt
+	setarg 0
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 1,mem_sniff_unint_lost
+	jam BT_EVT_ENTER_SNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	nrtn master
+	add am_addr,-1,queue
+	rtn
+
+sniff_exit:
+	bpatch patch0d_5,mem_patch0d
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	set0 state_insniff,pdata
+	store 1,mem_state
+	fetch 2,mem_rx_window_init
+	store 2,mem_rx_window
+	disable wake
+	jam BT_EVT_EXIT_SNIFF,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+check_attempt:
+	bpatch patch0d_6,mem_patch0d
+	enable attempt
+	fetch 1,mem_state
+	bbit1 state_insniff,check_attempt_sniff
+	rtnmark1 mark_testmode						/* pdata won't be blank now, try attempt */
+	fetch 1,mem_arq
+	rtnbit1 wack
+	fetch 1,mem_lmp_to_send
+	nrtn blank
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+check_attempt_nomore:
+	force 0,pdata
+	rtn
+
+check_attempt_sniff:
+	bbit0 state_insco,check_attempt_not_sco
+	fetch 1,mem_current_sniff_attempt
+	beq 2,check_attempt_sniff_restore_sco
+	fetch 1,mem_arq
+	bbit1 wack,check_attempt_notimeout
+	bmark0 mark_esco_rxok,check_attempt_notimeout
+check_attempt_sniff_restore_sco:
+	nbranch check_attempt_notimeout,master
+	fetch 1,mem_lmp_to_send
+	nbranch check_attempt_notimeout,blank
+check_attempt_sco_master:
+	fetch 1,mem_sco_poll
+	increase -1,pdata
+	store 1,mem_sco_poll
+	nbranch check_attempt_nomore,blank
+	jam param_sco_poll,mem_sco_poll
+	branch check_attempt_notimeout
+
+
+
+
+
+	
+check_attempt_not_sco:
+	fetch 1,mem_current_sniff_attempt
+	bne 1,check_attempt_notimeout
+	fetch 1,mem_current_sniff_timeout
+	branch check_attempt_notimeout,blank
+	increase -1,pdata
+	store 1,mem_current_sniff_timeout
+	fetch 1,mem_arq
+	rtnbit1 wack						// waiting for next ack
+	nrtn match						// waiting for next poll
+check_attempt_notimeout:
+	fetch 1,mem_current_sniff_attempt
+	increase -1,pdata
+	store 1,mem_current_sniff_attempt
+	rtn
+
+
+
+
+
+
+
+
+
+	/* enable user if sniff window vialation, queue is extra overhead */
+sniff_check_window:
+	bpatch patch0d_7,mem_patch0d
+	disable swfine
+	copy temp,stop_watch
+	call context_search_sniff_window
+	disable user
+	nrtn zero
+	force 0,stop_watch
+	enable user
+	rtn
+
+	//return true if it is esco context
+check_esco_amaddr:
+	fetch 1,mem_esco_addr
+	icompare 0xff,am_addr
+	rtn
+	
+
+parse_l2cap:	
+	bpatch patch0e_0,mem_patch0e
+	set0 mark_rxbuf_inuse,mark 
+parse_l2cap_cont:
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtn blank
+	isolate1 L2CAP_INUSE_BUFF1,pdata
+	arg mem_l2cap_rxbuff1,contr
+	call process_rx_l2cap_pkt,true
+	bpatch patch0e_1,mem_patch0e
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff1
+	
+	jam L2CAP_RX_CLEAR,mem_l2cap_rx_done
+	fetch 1,mem_l2cap_rxbuff_inuse
+	rtnbit0 L2CAP_INUSE_BUFF2
+	arg mem_l2cap_rxbuff2,contr	
+	call process_rx_l2cap_pkt
+	fetch 1,mem_l2cap_rx_done
+	beq L2CAP_RX_DONE,parse_l2cap_release_buff2
+	rtn
+		
+parse_l2cap_release_buff1:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff1_len
+	rtn
+parse_l2cap_release_buff2:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set0 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	setarg 0
+	store 2,mem_l2cap_rxbuff2_len
+	rtn
+
+l2cap_buff1_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF1,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+l2cap_buff2_inuse:
+	fetch 1,mem_l2cap_rxbuff_inuse
+	set1 L2CAP_INUSE_BUFF2,pdata
+	store 1,mem_l2cap_rxbuff_inuse
+	rtn
+
+/******************************************/
+/**********  Transmit Packet  *************/
+/******************************************/
+
+slave_send_access:
+	bpatch patch0e_2,mem_patch0e
+	add clke_bt,1,bt_clk          /* slave start to use native clock */
+	call fetch_extm_bt_adr
+	force 0x03,freq_mode          /* connection frequency */
+	call tx_radio_freq
+	call start_transmitter
+	call start_tx_external
+	branch send_access_word
+	
+
+slave_conn_send_packet:
+	bpatch patch0e_3,mem_patch0e
+	call rf_setup_time_slave_slot
+	deposit clke_bt
+	fetcht 4,mem_next_btclk
+	isub temp,pdata
+	rtnne 1					/* missed slave slot */
+	compare type_null,type,0x1f
+	nbranch slave_conn_send_access,true
+	fetch 1,mem_rx_type
+	rtn blank					/* null packet, do nothing */
+slave_conn_send_access:
+	call slave_send_access
+transmit_packet:
+	compare type_id,type,0x1f        /* is this id only ? */
+	branch end_of_packet,true
+	rshift bt_clk,temp
+	or temp,0x40,white_init
+transmit_packet_whitened:
+	bpatch patch0e_4,mem_patch0e
+	enable enable_white
+	enable enable_hec
+	enable encode_fec1
+	set0 mark_longpacket,mark
+	deposit am_addr
+	inject mod,3             /* am_addr, temp is disabled */
+	deposit type
+	inject mod,4
+	fetch 1,mem_arq   /* aka mem_arq */
+	inject bucket,4  /* align up to flowx, arqnx, seqnx */
+	inject mod,3
+	enable enable_parity
+	inject mod,8   /* transmit parity */
+	disable encode_fec1
+	disable enable_parity
+	disable enable_hec
+	set0 PSK3M,radio_ctrl
+	arg 0,temp
+	call reserve_slot
+	bpatch patch0e_5,mem_patch0e
+	and type,0x1f,pdata
+	beq type_lmp, transmit_lmp
+	beq type_null, end_of_packet
+	beq type_poll, end_of_packet
+	beq type_fhs, transmit_fhs  /* master mode fhs need got_tx and ack */
+	beq type_dm1, transmit_dm1
+	beq type_dh1, transmit_dh1
+	beq type_hv3, transmit_hev
+	beq type_3dh1, transmit_3dh1
+	arg 4,temp
+	call reserve_slot
+	beq type_dm3, transmit_dm3
+	beq type_dh3, transmit_dh3
+	arg 8,temp
+	call reserve_slot
+	beq type_dh5, transmit_dh5
+	branch transmit_dm5	/* must be 14, dm5 */
+
+
+transmit_hev:
+	bpatch patch0e_6,mem_patch0e
+	enable encode_fec0
+	enable enable_crc
+	enable encrypt
+	force 30,loopcnt
+	arg mem_sco_obuf,contr
+transmit_ev_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_ev_loop
+	bmark1 mark_esco,transmit_end
+	branch end_of_packet
+	
+transmit_fhs:
+	bpatch patch0e_7,mem_patch0e
+	fetch 1,mem_fhs_am_addr            /* this is the am_addr to assign to slave */
+	icopy am_addr
+	fetch 1,mem_fhs_misc
+	icopy fhs_misc    /* [7:6]SR [5:4]SP [3:1]PS [0]undef  */
+	fetch 3,mem_class   /* store away class */
+	icopy fhs_class
+	fetch 2,mem_nap
+	icopy nap
+	enable enable_crc
+	enable encode_fec2
+	copy bt_adr,rega
+	call fetch_self_bt_adr
+	pulse recalc
+	nop 32                    /* 30 cycles after recalc for sync word generation */
+	copy bt_clk,timeup
+	fetch 4,mem_clkn_bt
+	icopy bt_clk
+	preload fhs0
+	set1 58,pdata		/* eir */
+	inject mod,72
+	preload fhs1
+	inject mod,72
+	copy timeup,bt_clk
+	copy rega,bt_adr
+	enable enable_parity
+	inject mod,16   /* generate CRC */
+	disable enable_parity
+	branch end_of_packet
+
+transmit_lmp:    /* expect the payload ready as in bb spec */
+	bpatch patch0f_0,mem_patch0f
+	enable encrypt
+	enable enable_crc
+	enable encode_fec2
+	fetch 1,mem_lmo_header_length   /* this is the payload header */
+	and pdata,0x1f8,temp       /* temp is number of bits, check payload header format */
+	arg mem_lmo_header_length,contr
+	increase 8,temp   /* temp is in bits */
+transmit_lmp_loop:
+	add temp,-72,regc   /* regc is remainder */
+	nbranch transmit_lmp_finish,positive
+	ifetch 9,contr
+	inject mod,72
+	copy regc,temp
+	branch transmit_lmp_loop
+transmit_lmp_finish:
+	ifetch 9,contr
+	iinject mod,temp
+	branch transmit_end
+
+transmit_dm1:
+	enable encode_fec2
+	branch transmit_dmh
+transmit_dm3:
+transmit_dm5:
+	enable encode_fec2
+	set1 mark_longpacket,mark
+	branch transmit_dmh
+
+transmit_3dh1:
+	set1 PSK3M,radio_ctrl
+transmit_dh1:
+	enable encode_fec0
+	branch transmit_dmh
+	
+transmit_dh3:
+transmit_dh5:
+	set1 PSK3M,radio_ctrl
+	enable encode_fec0
+	set1 mark_longpacket,mark
+
+transmit_dmh:
+	bpatch patch0f_1,mem_patch0f
+	fetch 1,mem_state_map
+	bbit0 smap_edr,transmit_noedr
+	sub type,3,null
+	branch transmit_noedr,positive
+	disable encrypt
+	disable encode_fec2
+	enable encode_fec0
+	disable enable_white
+	set1 PSK,radio_ctrl
+	isolate1 PSK3M,radio_ctrl
+	branch transmit_edr3m,true
+	setarg 0xabeee
+	inject mod,20
+	branch transmit_edr_sync_end
+transmit_edr3m:
+	setarg 0x5faeba
+	inject mod,24
+	setarg 0x12
+	inject mod,6
+transmit_edr_sync_end:	
+	enable enable_white
+	set1 mark_longpacket,mark
+transmit_noedr:
+	enable encrypt
+	enable enable_crc
+	bmark1 mark_loopback,transmit_loopback
+	fetch 1,mem_tx_lch
+	inject mod,3
+	fetch 2,mem_tx_len
+	iforce loopcnt
+	bmark1 mark_longpacket,transmit_long
+	inject mod,5
+	branch transmit_stuff
+transmit_long:	
+	inject mod,13
+transmit_stuff:
+	deposit loopcnt
+	branch transmit_end,blank
+	fetch 2,mem_txptr
+	iforce contr
+transmit_stuff_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop transmit_stuff_loop
+//	branch transmit_end
+
+transmit_end:
+	enable enable_parity
+	inject mod,16
+	disable enable_parity
+	call set_wait_ack
+	fetch 1,mem_state_map
+	bbit0 smap_edr,end_of_packet
+	force 0,pdata
+	inject mod,6				/* edr trailer */
+	branch end_of_packet
+
+
+transmit_loopback:
+	bpatch patch0f_2,mem_patch0f
+	bmark1 mark_longpacket,transmit_loopback_long
+transmit_loopback_short:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 1,mem_len	/* take packet length */
+	iforce regc
+	inject mod,5
+	branch transmit_loopback_cont
+transmit_loopback_long:
+	fetch 1,mem_lch_code
+	inject mod,3						/* LLID and FLOW */
+	fetch 2,mem_len	/* take packet length */
+	iforce regc
+	inject mod,13
+transmit_loopback_cont:
+	arg mem_rxbuf,contr
+transmit_loopback_loop:	
+	copy regc,null
+	branch transmit_loopback_end,zero
+	ifetch 1,contr
+	inject mod,8
+	increase -1,regc
+	branch transmit_loopback_loop
+transmit_loopback_end:
+	fetch 2,mem_tst_pktcnt_dmh
+	increase 1,pdata
+	store 2,mem_tst_pktcnt_dmh
+	branch transmit_end
+	
+
+apply_switch_clke:
+	fetch 4,mem_clke_bt
+	add pdata,7,rega
+	fetch 2,mem_slot_offset
+	nbranch apply_switch_nozero,blank
+	increase -3,rega
+	branch apply_switch_wait_loop
+apply_switch_nozero:
+	mul32 pdata,12,pdata
+	hfetcht 2,core_halfslot
+	increase 1,temp
+apply_switch_loop:
+	isub temp,pdata
+	nbranch apply_switch_bt,positive
+	increase -1,rega
+	branch apply_switch_loop
+apply_switch_bt:
+	sub pdata,0,pdata
+apply_switch_wait_loop:
+	until null,oneslot
+	compare 0,clkn_bt,3
+	nbranch apply_switch_wait_loop,true
+	iforce clke_rt
+	copy rega,clke_bt
+	iforce clke_rt
+	rtn
+	
+
+calc_slot_offset:
+	bpatch patch0f_3,mem_patch0f
+	until null,halfslot
+	deposit clke
+	iforce contr
+	rshift16,pdata,pdata
+	isub clkn_bt,loopcnt
+	and_into 3,loopcnt			/* bt portion */
+	nbranch calc_bt_portion,zero
+	force 0,pdata
+	branch calc_skip_bt
+calc_bt_portion:
+	arg 3750,temp
+	force 0,pdata
+calc_slot_offset_loop:
+	iadd temp,pdata
+	loop calc_slot_offset_loop
+calc_skip_bt:
+	iadd contr,pdata			/* add rt portion */
+	div pdata,12
+	call wait_div_end
+	quotient pdata
+	store 2,mem_slot_offset
+	rtn
+
+calc_clke_offset:
+	bpatch patch0f_4,mem_patch0f
+	deposit clke
+	copy clkn,temp
+	isub temp,null
+	nsetflag positive,44,pdata
+	isub temp,temp
+	setarg 3750
+	isolate0 15,temp
+	branch calc_clke_pos,true
+	setarg -61786
+	iadd temp,temp
+calc_clke_pos:
+	storet 6,mem_le_clk_offset
+	rtn le
+	storet 6,mem_clk_offset
+	rtn
+
+calc_clke:
+	disable clknt
+	fetch 6,mem_le_clk_offset
+	branch calc_clke2,le
+	fetch 6,mem_clk_offset
+calc_clke2:
+	iadd clkn,alarm
+	increase 10,alarm
+	setarg 3750
+	isub alarm,pdata
+	isolate0 15,pdata
+	branch calc_clke_pos_adj,true
+	setarg 0xf15a
+	iadd alarm,alarm
+calc_clke_pos2:
+	copy alarm,clke
+	rtn
+calc_clke_pos_adj:		/* add 2 clock */
+	force 0,null
+	branch calc_clke_pos2
+	
+/******************************************/
+/********* RF related functions ***********/
+/******************************************/
+
+
+calc_radio_freq:
+	bpatch patch0f_5,mem_patch0f
+	call set_sync_on
+	copy bt_clk,pdata
+	and_into 0x180,pdata
+	compare 3,freq_mode,0x07
+	nbranch freq_not_connection,true    /* don't do the hack if not in connection */
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	branch do_hop_mod_now
+freq_not_connection:	
+	copy freq_index,pdata
+do_hop_mod_now:
+	div pdata,79
+	pulse recalc         /* now is good time to recalc id */
+	call wait_div_end
+	remainder rega
+	add rega,-40,temp
+	branch odd_half,positive
+	lshift rega,temp
+	branch freq_result
+odd_half:
+	lshift temp,temp
+	increase 1,temp
+freq_result:	
+	bpatch patch0f_6,mem_patch0f
+	fetch 1,mem_mode
+	bbit0 afh_change,afh_process_con
+afh_process_0:	
+	fetch 4, mem_afh_instant   
+	isub bt_clk, null
+	branch afh_process_con,positive
+	call afh_clear
+	fetch 1,mem_afh_new_mod
+	rtn blank
+	fetch 1,mem_mode
+	set1 afh_enable,pdata
+	store 1,mem_mode
+	fetch 5,mem_afh_map_new
+	store 5,mem_afh_map_lo
+	ifetch 5,contr
+	store 5,mem_afh_map_hi
+	call afh_process_freq_map
+afh_process_con:
+	fetch 1,mem_mode
+	rtnbit0 afh_enable
+	isolate1 1,bt_clk
+	branch afh_same_channel,true	/* at odd slot, use the same as last even */
+	rshift3 temp,rega
+	and temp,7,queue
+	setarg mem_afh_map_lo  
+	iadd rega, rega
+	ifetch 1, rega
+	qisolate0 pdata
+	branch afh_process_1,true		/* not in map, do afh */
+	deposit temp
+	branch afh_process_end
+afh_process_1:
+	fetch 1, mem_afh_used
+	iforce regb                     
+	deposit bt_clk
+	and_into 0x180, pdata
+	rshift3 pdata,pdata
+	iadd freq_index,pdata
+	idiv regb
+	setarg mem_afh_map     
+	call wait_div_end
+	remainder rega
+	iadd rega,contr
+	ifetch 1,contr
+afh_process_end:	
+	store 1,mem_afh_index
+	iforce temp  
+  	rtn
+
+afh_same_channel:
+	fetch 1, mem_afh_index           /* last afh index  */
+	iforce temp
+	rtn
+
+afh_clear:
+	fetch 1,mem_mode
+	set0 afh_enable,pdata
+	set0 afh_change,pdata
+	store 1,mem_mode
+	rtn
+/*
+fixed_frequency:
+	fetcht 1,mem_fixed_freq
+	rtn
+*/
+afh_process_freq_map:
+	bpatch patch0f_7,mem_patch0f
+	arg mem_afh_map,contw
+	force 10,loopcnt
+	call memset0
+	arg mem_afh_map,contw
+	force 0,regC
+	force 2,queue
+process_freq_3:	
+	fetch 5,mem_afh_map_lo
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_1,true
+	rshift temp,temp
+process_freq_1:	
+	isolate0 0,temp
+	branch process_freq_0,true
+	deposit regC
+	istore 1,contw
+process_freq_0:
+	rshift2 temp,temp
+	increase 2,regC
+	compare 40,regC,0xfe
+	nbranch process_freq_2,true
+	fetch 5,mem_afh_map_hi
+	iforce temp
+	compare 2,queue,0xff
+	branch process_freq_2,true
+	rshift temp,temp
+process_freq_2:	
+	sub regC,78,null
+	branch process_freq_1,positive
+	force 1,regC
+	increase -1,queue
+	nbranch process_freq_3,zero
+	arg mem_afh_map,rega
+	deposit contw
+	isub rega,pdata
+	store 1,mem_afh_used
+	rtn
+
+rx_radio_freq:
+	bpatch patch10_0,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_rx_fixed_freq,rx_radio_freq_now
+	fetcht 1,mem_rx_fixed_freq
+rx_radio_freq_now:
+	branch set_freq_rx
+	
+
+tx_radio_freq:
+	bpatch patch10_1,mem_patch10
+	call calc_radio_freq
+	fetch 1,mem_debug_config
+	bbit0 debug_tx_fixed_freq,tx_radio_freq_now
+	fetcht 1,mem_tx_fixed_freq
+tx_radio_freq_now:
+	branch set_freq_tx
+	
+
+fetch_giac:
+	force 0,uap
+	fetch 3,mem_glap
+	iforce lap
+	rtn
+
+fetch_page_bt_adr:
+	bpatch patch10_2,mem_patch10
+	fetch 1,mem_hci_puap
+	icopy uap
+	fetch 3,mem_hci_plap
+	icopy lap
+	rtn
+
+fetch_self_bt_adr:
+	bpatch patch10_3,mem_patch10
+	fetch 2,mem_nap
+	icopy nap
+	fetch 1,mem_uap
+	icopy uap
+	fetch 3,mem_lap
+	icopy lap                 /* copy self_adr,bt_adr */      /* use own address */
+	rtn
+
+fetch_extm_bt_adr:
+	bpatch patch10_4,mem_patch10
+	fetch 2,mem_pnap
+	icopy nap
+	fetch 1,mem_puap
+	icopy uap
+	fetch 3,mem_plap
+	icopy lap         
+	rtn
+
+
+fetch_diac:
+	bmark1 mark_all_diac,fetch_diac_do
+	rtnmark0 mark_inquiry_state
+	rtnmark0 mark_periodical_diac
+fetch_diac_do:
+	and_into -256,lap
+	pulse recalc
+	nop 32
+	rtn
+
+
+shutdown_radio:
+	bpatch patch10_5,mem_patch10
+	branch shutdown_radio0,is_rx
+	jam 0xd4, rf_tx_pa_ib
+	nop 4
+	jam 0xd2, rf_tx_pa_ib
+	nop 4
+	jam 0xd1, rf_tx_pa_ib
+	nop 4	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,shutdown_radio_0db
+	beq TX_POWER_3DB,shutdown_radio_3db
+	beq TX_POWER_5DB,shutdown_radio_5db
+	beq TX_POWER_f3DB,shutdown_radio_f3db
+	beq TX_POWER_f5DB,shutdown_radio_f5db
+	beq TX_POWER_PAIR,shutdown_radio_pair
+shutdown_radio_5db:	
+shutdown_radio_0db:
+	jam 0xd0, rf_tx_pa_ib
+	jam 0xe0, rf_tx_pa_gc
+shutdown_radio0:
+	force 0,radio_ctrl
+	disable is_rx
+	disable is_tx
+	pulse packet_end
+	jam 0x0,rfen_mdm
+	jam 0x0,rfen_tx
+	jam 0x0,rfen_rx
+	jam 0,rfen_sn
+	jam 0x70,rfen_msc
+	jam 0x0,rfen_adc
+	rtn
+	
+shutdown_radio_pair:
+shutdown_radio_f5db:
+shutdown_radio_f3db:
+shutdown_radio_3db:
+	jam 0xd0,rf_tx_pa_ib
+	jam 0xc0,rf_tx_pa_gc
+	branch shutdown_radio0
+
+set_sync_on:
+	bpatch patch10_6,mem_patch10
+	jam 0x0,rfen_mdm					/* if called from tx or rx */
+	jam 0x0,rfen_tx
+	jam 0x18,rfen_rx
+	jam 0xa7,rfen_sn
+	jam 0x7f,rfen_msc
+	rtn
+
+set_freq_rx:
+	bpatch patch10_7,mem_patch10
+		/* IF is +2MHz */
+	storet 1,mem_last_freq
+	add temp,rx_freq_offset,rega			/* index to frequency */
+	jam 0x07,rf_balun_ctrim                                         /*Max added, for best sensitivity*/
+	branch rf_write_freq
+rf_rx_enable:
+	bpatch patch11_0,mem_patch11
+	jam 0xcf,rfen_tx
+	nop 10					/* wait adc clk48 ready */
+	jam 0xff,rfen_rx
+	jam 0xaf,rfen_sn
+	jam 0xff,rfen_msc
+	nop 10
+	jam 0xa0,rfen_mdm
+	rtn
+	
+set_freq_tx_offset:
+	fetch 1,mem_250k_freq_enable	//default: 0
+	branch set_freq_tx_2M_offset,blank
+set_freq_tx_0M_offset:
+	add temp,2,rega			//250k
+	rtn
+set_freq_tx_2M_offset:
+	add temp,0,rega			// bt 2M Medium Frequency
+	rtn
+
+set_freq_tx:
+	bpatch patch11_1,mem_patch11
+	storet 1,mem_last_freq
+	call set_freq_tx_offset
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+txon:	
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	jam 0x12,rf_balun_ctrim
+	nop 10
+	jam 0x01,rfen_mdm
+	jam 0x3d,rfen_mdm
+	nop 10
+	jam 0xb7,rfen_sn
+	nop 10
+	jam 0x7f, rfen_mdm
+txon_power_select:	
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,set_tx_power_0db
+	beq TX_POWER_3DB,set_tx_power_3db	
+	beq TX_POWER_5DB,set_tx_power_5db
+	beq TX_POWER_f3DB,set_tx_power_f3db	
+	beq TX_POWER_f5DB,set_tx_power_f5db
+	beq TX_POWER_PAIR,set_tx_power_pair
+set_tx_power_0db:	
+	jam 0xf0,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_3db:
+	jam 0xdf,rf_tx_pa_gc
+	call txon_common
+	jam 0xdf,rf_tx_pa_ib
+	rtn
+
+set_tx_power_5db:
+	jam 0xff,rf_tx_pa_gc
+	call txon_common
+	jam 0xdf,rf_tx_pa_ib
+	rtn
+set_tx_power_f3db:
+	jam 0xce,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_f5db:
+	jam 0xcb,rf_tx_pa_gc
+	call txon_common
+	jam 0xd8,rf_tx_pa_ib
+	rtn
+
+set_tx_power_pair:
+	jam 0xd0,rf_tx_pa_ib
+	jam 0xc0,rf_tx_pa_gc
+	jam 0x4c,0x8957
+	jam 0x6c,0x8958
+	jam 0x50,0x8959
+	rtn
+
+txon_common:
+	nop 4
+	jam 0xd1,rf_tx_pa_ib
+	nop 4
+	jam 0xd2,rf_tx_pa_ib
+	nop 4
+	jam 0xd4,rf_tx_pa_ib
+	rtn
+
+
+initialize_radio:
+	jam clksel_rc,core_clksel
+initialize_radio_wait:
+	fetch 2,mem_rf_init_ptr
+	bbit0 14,initialize_radio_wait
+	iforce contr
+	arg 0x8900,temp
+initialize_radio_loop:
+	ifetch 1,contr
+	beq 0xff,initialize_radio_cont
+	ior temp,contw
+	ifetch 1,contr
+	istore 1,contw
+	branch initialize_radio_loop
+initialize_radio_cont:
+	bpatch patch11_2,mem_patch11
+	call lpm_cal_xtal_startup
+	call switchto_dpllclk
+//	ncall check_dpll,wake
+	setarg param_dpll_start_delay
+	iadd clkn_bt,pdata
+	store 4,mem_dpll_clkn
+	set1 RESET,radio_ctrl
+	force 0,radio_ctrl
+	ncall do_rccal,wake
+	branch set_rccal
+
+	/* rega is frequency, 00=2400Mhz */
+rf_write_freq:
+	bpatch patch11_3,mem_patch11
+	setarg 2400
+	iadd rega,temp
+	fetch 1,mem_fcomp_mul
+	jam 0x04,rf_pll_rstn
+	imul32 temp,pdata
+	fetcht 1,mem_fcomp_div
+	idiv temp
+	call wait_div_end
+	quotient rega			/* rega is FLOOR(FVCO/fcomp) */
+	remainder pdata		
+	lshift16 pdata,pdata
+	lshift4 pdata,pdata		/* pdata is frac * 2^20 */
+	idiv temp
+	call wait_div_end
+	quotient pdata		/* pdata is frac *2^20/fcomp */
+	lshift8 pdata,pdata
+	lshift pdata,pdata
+	ior rega,pdata
+	hstore 4,rf_pll_intg
+	jam 0x44,rf_pll_rstn
+	jam 0xc4,rf_pll_rstn
+	rtn
+
+	
+do_rccal:
+	bpatch patch11_4,mem_patch11
+	jam 0x02,rfen_adc
+	setarg 250000
+	call sleep					/* wait clkpll&xtal stable */
+	jam 0x7f,rfen_rx
+	nop 130
+	jam 0x30,rf_rccal_ctrl
+	jam 0xd0,rfen_tx
+	jam 0x70,rf_rccal_ctrl
+	jam 0xf0,rf_rccal_ctrl
+	force 50,loopcnt
+do_rccal_loop:
+	hfetch 1,rf_rccal_result
+	bbit1 5,do_rccal_end
+	loop do_rccal_loop
+do_rccal_end:
+	store 1,mem_rf_rccal
+	jam 0,rfen_tx
+	jam 0,rfen_rx
+	jam 0x00,rfen_adc
+	rtn
+
+set_rccal:
+	bpatch patch11_5,mem_patch11
+	fetch 1,mem_rf_rccal
+	set1 5,pdata
+	hstore 1,rf_rccal_ctrl
+	hfetcht 1,rf_bpf_ctrim
+	and_into 7,temp
+	lshift3 pdata,pdata
+	ior temp,pdata
+	hstore 1,rf_bpf_ctrim
+	hfetch 1,rf_bpf_ib
+	set0 bpf_rccal,pdata
+	hstore 1,rf_bpf_ib
+	hfetch 1,rf_adc_rccal
+	set0 adc_rccal,pdata
+	hstore 1,rf_adc_rccal
+	rtn
+
+save_rssi:
+	bpatch patch11_6,mem_patch11
+	hfetch 2,rf_afc_d2a
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	sub pdata,0,pdata
+bcd:
+	and_into 0xff,pdata
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	store 1,mem_rssi			/* bcd value */
+	rtn
+
+	
+switchto_dpllclk:
+	jam clksel_rc,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	set0 4,pdata
+	set0 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	jam 0x00,rfen_ck
+	jam 0x00,rfen_msc
+	jam 0x70,rfen_msc
+	jam 0xff,rfen_ck
+	hfetch 1,rf_clkpll_frac+2
+	set1 4,pdata
+	set1 5,pdata
+	hstore 1,rf_clkpll_frac+2
+	call init_lpm_ctrl
+	hfetch 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	set0 7,pdata
+	hstore 1,rf_clkpll_int
+	set1 7,pdata
+	hstore 1,rf_clkpll_int
+	jam clksel_dpll,core_clksel
+	nop 1
+	jam clksel_xtal,core_clksel
+	hfetch 1,rf_clkpll_frac+2
+	and_into 0xcf,pdata
+	hstore 1,rf_clkpll_frac+2
+	or_into 0x30,pdata
+	hstore 1,rf_clkpll_frac+2
+	rtn
+
+	
+xtal_fast_wake:
+	setarg 0xf0f
+	branch lpm_write_config
+
+init_lpm_ctrl:
+	setarg 0x80f
+	branch lpm_write_config
+
+
+
+start_receiver:
+	bpatch patch11_7,mem_patch11
+	call rf_rx_enable
+	disable is_tx
+	enable is_rx
+	pulse init_encrypt
+	rtn
+
+prep_crypt:
+	bpatch patch12_0,mem_patch12
+	fetch 1,mem_state_map
+	isolate1 smap_encryption,pdata
+	setflag true,0,pdata
+	hstore 1,core_encrypt
+	arg mem_kc,contr
+	ifetch 9,contr
+	iforce kc_ls
+	ifetch 7,contr
+	iforce kc_ms
+	fetch 1,mem_key_size
+	add pdata,-1,g1l
+	pulse kc_p_activate               /* immediately start calculating primary Key */
+	rtn
+	
+wait_access_end:
+	deposit clke
+	store 6,mem_sync_clke
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	increase 1,clke_bt
+	and_into 0x1fc,clke_bt
+	rtn
+
+
+
+wait_access_mhalfbnd:
+	enable decode_fec0
+wait_access_mhalfbnd_correlate:
+	correlate null,mhalfbnd    /* keep correlating until sync is found, or clke half */
+	branch wait_access_end,sync
+	compare 0x02,clke_bt,0x02
+	nbranch wait_access_mhalfbnd_correlate,true
+	branch wait_access_end
+
+wait_access_clkn_rt:
+	bpatch patch12_1,mem_patch12
+	arg param_conn_access,timeup	/* found sync must occur within this time */
+	enable decode_fec0
+	correlate clkn_rt,meet    /* keep correlating until sync is found, or until clkn_rt timeup */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	rtn
+
+wait_access_forever:
+	bpatch patch12_2,mem_patch12
+	enable decode_fec0
+	correlate null,timeout    /* keep correlating until sync is found, or timeout */
+	disable decode_fec0
+	nbranch shutdown_radio,sync
+	arg param_clke_cal,clke_rt
+	and_into 0x1fc,clke_bt
+	rtn
+
+	/* reserve slots for mult-slot packet */
+reserve_slot:
+	bpatch patch12_3,mem_patch12
+	iforce rega
+	deposit bt_clk
+	iadd temp,timeup
+	copy timeup,pdata
+	store 4,mem_next_btclk
+	deposit rega
+	rtn
+
+	/* pdata = clks ahead of bt_clk */
+ahead_window:
+	copy pdata,temp
+	bpatch patch12_4,mem_patch12
+	copy temp,pdata
+	call clk2bt
+	lshift16 bt_clk,pdata
+	set1 44,pdata
+	call clk_diff
+	set0 44,pdata
+	call get_clk
+	call clk_diff
+	rtn user
+	call clk2rt
+	iforce stop_watch
+	until null,timeout
+	rtn
+
+
+setup_clk:
+	bpatch patch12_5,mem_patch12
+	branch setup_clkn,clknt
+	until clke_rt,meet
+skip_setup_clke:
+	copy clke_bt,temp
+	branch setup_clknbt
+setup_clkn:
+	branch skip_setup_clkn,attempt
+	until clkn_rt,meet
+skip_setup_clkn:
+	copy clkn_bt,temp
+setup_clknbt:
+	branch setup_clk11,user
+	compare 1,temp,3
+	nbranch setup_clk,true
+setup_complete:
+	bpatch patch12_6,mem_patch12
+	fetch 1,mem_state
+	rtnbit0 state_inconn
+	fetch 4,mem_next_btclk
+	isub temp,pdata
+	nrtn positive
+	sub pdata,0xff,null
+	branch setup_clk,positive
+	rtn
+setup_clk11:
+	compare 3,temp,3
+	nbranch setup_clk,true
+	branch setup_complete
+
+rf_setup_time:
+	bpatch patch12_7,mem_patch12
+	arg param_rf_setup,timeup
+	branch setup_clk
+	
+rf_setup_time_slave_slot:
+	disable user
+	branch rf_setup_time
+
+rf_setup_time_master_slot:
+	enable user
+	branch rf_setup_time
+	
+start_transmitter:
+	bpatch patch13_0,mem_patch13
+	call prep_crypt
+	disable is_rx
+	enable is_tx
+	rtn
+
+
+
+start_tx_native:
+	bpatch patch13_1,mem_patch13
+	arg param_tx_setup,timeup
+	until clkn_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+start_rx_native:
+	bpatch patch13_2,mem_patch13
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	rtn
+
+
+start_tx_external:
+	bpatch patch13_3,mem_patch13
+	arg param_tx_setup,timeup
+	until clke_rt,meet         /* wait until start_tx time */
+	pulse init_encrypt
+	rtn
+
+send_access_word:
+	bpatch patch13_4,mem_patch13
+	preload access          /* load in access word ready to be sent */
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	inject mod,72
+	disable encode_fec0
+	rtn
+
+
+scan_mode_whiten:
+	copy xin,temp
+	or_into 0x60,temp                /* extend xin with 5->1, 6->1 */
+	copy temp,white_init
+	rtn
+
+
+
+	/* return blank if free amaddr is found */
+get_free_amaddr:
+	bpatch patch13_5,mem_patch13
+	fetch 1,mem_current_amaddr
+	increase 1,pdata
+	bne param_esco_addr,get_free_amaddr_cont
+	force 1,pdata
+get_free_amaddr_cont:
+	store 1,mem_current_amaddr
+	iforce am_addr
+	rtn
+
+get_clk:
+	copy clkn,temp
+	rtn master
+	copy clke,temp
+	rtn
+
+get_clkbt:
+	deposit clkn_bt
+	rtn master
+	deposit clke_bt
+	rtn
+
+
+supervision_update:
+	bpatch patch13_6,mem_patch13
+	fetcht 4,mem_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_supervision_to
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+supervision_flush:
+	bpatch patch13_7,mem_patch13
+	call get_clkbt
+	store 4,mem_supervision_timer
+	rtn
+
+assert:
+	bpatch patch14_0,mem_patch14
+	branch assert
+	
+loop:
+	branch loop
+
+sleep:	
+	rtn blank
+	/* sleep pdata clocks, only even clocks are accurate */
+	rshift pdata,pdata
+	increase -3,pdata
+sleep_loop:	
+	increase -1,pdata
+	nbranch sleep_loop,zero
+	force 0,pdata
+	rtn
+
+
+
+init_param:
+	/* clear specified sched ram */
+	arg 0x10,loopcnt
+	arg 0,contw
+	call memset0
+	arg mem_le_state,contw
+	arg 10,loopcnt
+	call memset0
+	jam 0,mem_sp_calc
+	jam 0,mem_fifo_temp
+	jam 0,mem_le_testtype
+	jam 0,mem_debug_config
+	jam 0,mem_lmp_conn_state
+	bpatch patch14_1,mem_patch14
+	jam 0,mem_connection_options
+	jam 0,mem_tester_emulate
+	jam 0,mem_tester_cnt
+	setarg param_glap
+	store 3,mem_glap
+	setarg param_acl_pktlen
+	store 2,mem_acl_pktlen
+	jam param_sco_pktlen,mem_sco_pktlen
+	jam param_acl_pktcnt,mem_acl_pktcnt
+	jam param_sco_pktcnt,mem_sco_pktcnt
+	setarg param_hci_version
+	store 3,mem_hci_version
+//	setarg param_lmp_version
+//	store 3,mem_lmp_version
+//	setarg param_lmp_subversion
+//	store 2,mem_lmp_subversion
+	jam 0x60,mem_fhs_misc		/* R1 for 1.28s ps interval,P2 */
+	jam param_max_slot,mem_max_slot
+	jam 0x02,mem_fw_ver		/* set firmware version */
+ifdef SIMPLE_PAIRING
+	fetch 1,mem_ssp_enable
+	ncall init_memp,blank
+endif
+ifdef SECURE_CONNECTION
+	fetch 1,mem_le_secure_connect_enable
+	ncall init_memp_256,blank
+endif
+	bpatch patch14_2,mem_patch14
+	rtn wake
+	setarg 0
+	store 2,mem_tx_len
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	rtn
+
+
+
+
+/*****************************************LPO************************************************/
+
+lpmstate:
+	setarg 0xee21
+	hstore 2,core_clkoff			// disable unused peripherals
+	hfetch 4,core_gpio_in
+	store 4,mem_saved_gpio_in
+	hfetch 1,core_lpm_ldocnt
+	store 1,mem_wakup_from_power_flag
+	bbit0 gpio_latch,loadcode		// power up boot
+	enable wake
+	bbit0 cold_wake,lpmwake		
+	disable wake
+	deposit auxcnt
+	nbranch lpmwake,blank		// sleep interrupted, wakeup
+	hfetch 1,core_lpm_ctrl + 3
+	bbit1 reload_code,lpmwake
+	arg param_hibernate_clks,temp
+	branch lpm_enter_sleep
+lpmwake:
+	hfetch 3,core_lpm_xtalcnt
+	hstore 3,core_lpm_reg
+	ifetch 1,contr
+	or_into isogate_mask,pdata		// open all isolation gate&power switch
+	istore 1,contw
+	call lpm_write_ctrl2
+	hfetch 1,core_lpm_isogate
+	set1 enable_retmem,pdata
+	hstore 1,core_lpm_isogate
+	call lpm_write_ctrl2
+	call lpm_load_context,wake
+	hfetch 1,core_lpm_reg+2
+	set0 gpio_latch,pdata			// enable gpio fuction
+	hstore 1,core_lpm_reg+2
+	call lpm_write_ctrl2
+	nbranch loadcode,wake		// wakeup from hibernate
+	rtnmark0 mark_otp_encrypt
+	jam lock_otp,core_misc_ctrl	// disable further read/write of key
+	rtn 
+
+lpm_load_context:
+	fetch 1,mem_saved_spidctrl
+	hstore 1,core_spid_ctrl
+	fetch 3,mem_saved_gsel
+	hstore 3,core_gpio_sel
+	fetch 4,mem_saved_gpio+4
+	hstore 4,core_gpio_out0
+	fetch 4,mem_saved_gpio
+	hstore 4,core_gpio_oe0
+	fetch 8,mem_saved_gpio+8
+	hstore 8,core_gpio_pu0	
+	fetch 8,mem_saved_mark
+	iforce mark
+	hfetch 8,core_gpio_wakeup_low
+	store 8,mem_gpio_wakeup_low
+	call load_ucode
+	rtn
+
+lpm_save_context:
+	deposit mark
+	store 8,mem_saved_mark
+	hfetch 8,core_gpio_oe0
+	store 8,mem_saved_gpio
+	ifetch 8,contr
+	istore 8,contw
+	hfetch 3,core_gpio_sel
+	store 3,mem_saved_gsel
+	hfetch 1,core_spid_ctrl
+	store 1,mem_saved_spidctrl
+	branch lpm_write_gpio_wakeup
+
+lpo_calibration:
+	hfetch 1,core_bist_ctrl
+	nbranch lpo_cal_inited,blank
+	fetch 3,mem_clks_per_lpo
+	nrtn blank
+	jam 0xc0,core_bist_ctrl
+	jam ccnt_start,core_misc_ctrl
+lpo_cal_inited:
+	hfetch 1,core_perf_status
+	rtnbit0 1
+	hfetch 3,core_clk_counter
+	store 3,mem_clks_per_lpo
+	rtn
+
+
+	/* temp is synced clke */
+lpm_adjust_clk:
+	bpatch patch14_3,mem_patch14
+	deposit clke
+	call clk_diff_rt
+	fetcht 4,mem_sleep_counter_all
+	sub temp,0xff,null
+	rtn positive				// interval too small
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	arg param_lpm_adjmax,temp
+	call ceiling
+	store 1,mem_lpm_adjust
+	nbranch lpm_adjust_positive,user
+	sub pdata,0,pdata
+lpm_adjust_positive:
+	fetcht 3,mem_clks_per_lpo
+	iadd temp,pdata
+	store 3,mem_clks_per_lpo
+lpm_clear_counter:
+	setarg 0
+	store 4,mem_sleep_counter_all
+	rtn
+
+
+	/* temp is lpo counter for doze */
+lpm_doze:
+	fetch 1,mem_lpm_config+2
+	set1 reload_code,pdata
+	store 1,mem_lpm_config+2
+	branch lpm_hibernate_normal
+	
+
+	/* no retention memory at all */
+lpm_hibernate:
+	arg param_hibernate_clks,temp
+	fetch 1,mem_lpm_config+1
+	set0 7,pdata					/* lowest lpo */
+	store 1,mem_lpm_config+1
+lpm_hibernate_normal:
+	bpatch patch14_4,mem_patch14
+	call lpm_write_gpio_wakeup
+	fetch 1,mem_lpm_hibernate_switch
+	store 1,mem_lpm_xtalcnt + 4
+	fetch 1,mem_lpm_xtalcnt + 2
+	set1 cold_wake,pdata
+	store 1,mem_lpm_xtalcnt + 2
+
+	/* temp is lpo clocks to sleep */
+lpm_sleep:
+	bpatch patch14_5,mem_patch14
+	call xtal_fast_wake
+	fetch 4,mem_sleep_counter_all
+	iadd temp,pdata
+	store 4,mem_sleep_counter_all
+	call lpm_save_context
+	fetch 5,mem_lpm_xtalcnt
+	hstore 4,core_lpm_reg
+	rshift32 pdata,rega
+	until null,lpo_edge
+	deposit clkn
+	store 6,mem_sleep_clkn
+	jam lpmreg_sel_ctrl2,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	deposit rega
+	hstore 1,core_lpm_isogate
+	jam lpmreg_sel_ctrl2,core_lpm_wr
+lpm_enter_sleep:
+	until null,lpo_edge
+	until null,lpo_edge
+	hstoret 4,core_lpm_reg
+	jam lpmreg_sel_counter,core_lpm_wr
+	until null,never
+
+
+
+
+lpm_recover_clk:
+	bpatch patch14_6,mem_patch14
+	setarg 0
+	copy auxcnt,null
+	branch lpm_recover_timeout,zero
+	hfetch 1,core_lpm_xtalcnt
+	hfetcht 1,core_lpm_buckcnt
+	isub temp,null
+	branch lpm_recover_xtal,positive
+	deposit temp
+lpm_recover_xtal:
+	isub auxcnt,pdata
+	increase 1,pdata
+lpm_recover_timeout:
+	increase 8,pdata
+	until null,lpo_edge
+	iadd lpo_time,pdata
+	fetcht 4,mem_sleep_counter
+	iadd temp,pdata
+	fetcht 3,mem_clks_per_lpo
+	imul32 temp,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	increase param_lpm_fix,pdata
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,pdata
+	fetcht 6,mem_sleep_clkn
+	call clk_add
+	copy temp,clkn
+	fetch 6,mem_context + coffset_clk_offset
+	call calc_clke2
+	deposit clke
+	store 6,mem_pdatatemp
+	deposit auxcnt
+	istore 1,contw
+	hfetch 1,core_gpio_in1
+	or_into 0xf0,pdata
+	istore 1,contw
+	rtn
+	
+lpm_dispatch:
+	bpatch patch14_7,mem_patch14
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank	
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							/* sco won't sleep */
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff
+	rtn blank										/* role switch */
+	rtn wake
+	bpatch patch15_0,mem_patch15
+lpm_dispatch_next2:
+	fetcht 1,mem_lpm_current_mult
+	fetch 2,mem_context + coffset_tsniff
+	imul32 temp,pdata
+	rshift4 temp,temp
+	rshift2 temp,temp
+	isub temp,pdata
+	fetcht 4,mem_context + coffset_sniff_anchor
+	iadd temp,pdata
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	lshift16 pdata,alarm
+	bpatch patch15_1,mem_patch15
+	fetch 2,mem_context + coffset_rx_window
+	rshift pdata,pdata
+	call clk2bt
+	deposit alarm
+	call clk_diff
+	copy clke,temp
+	call clk_diff_rt
+	rtn user
+lpm_dispatch_sleep:
+	call clk2lpo
+lpm_dispatch_lpo:
+	bpatch patch15_2,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	isub temp,null
+	branch lpm_clear_counter,positive
+	storet 4,mem_sleep_counter
+	call app_will_enter_lpm
+	call l2cap_lpm_save_txbuf
+	fetcht 4,mem_sleep_counter
+	branch lpm_sleep
+	
+lpm_dispatch_unconn:
+	bpatch patch15_3,mem_patch15
+	fetch 1,mem_context
+	rtnbit1 state_inconn					// wont sleep in connection
+	rtnbit1 state_inpage					// wont sleep when paging
+	fetch 1,mem_ssp_enable
+	branch lpm_unconn_nossp,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+lpm_unconn_nossp:
+	bpatch patch15_4,mem_patch15
+	fetch 1,mem_le_adv_enable
+	nbranch lpm_unconn_cont,blank
+	fetch 1,mem_scan_mode
+	rtn blank
+lpm_unconn_cont:
+	fetch 2,mem_lpm_interval
+	rtn blank
+lpm_sleep_btclk:
+	fetcht 1,mem_lpm_overhead
+	isub temp,pdata
+	arg 7500,temp				/* 1.25ms */
+	imul32 temp,pdata
+	branch lpm_dispatch_sleep
+
+lpm_set_mult:
+	bpatch patch15_5,mem_patch15
+	disable wake
+	fetch 1,mem_state
+	rtnbit0 state_insniff
+	nbranch lpm_not_match,match
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_rx_window
+	fetch 1,mem_arq
+	bbit1 wack,lpm_mult_short
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	call l2cap_malloc_is_fifo_empty
+	nbranch lpm_mult_short,blank
+	fetch 1,mem_classic_bt_flag
+	bbit1 SHORT_MULT_FLAG,lpm_mult_short
+lpm_mult_wait_timeout:
+	jam 0,mem_lpm_current_mult
+	bmark0 mark_lpm_mult_enable,lpm_mult_short
+	fetch 1,mem_lpm_mult_cnt
+	branch lpm_mult_long,blank
+	increase -1,pdata
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+
+classic_bt_set_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_set_flag
+	
+classic_bt_clr_mult_short_flag:
+	arg SHORT_MULT_FLAG,queue
+	branch classic_bluetooth_clr_flag
+
+
+
+lpm_match:
+	jam 0,mem_sniff_unint_lost
+	fetch 3,mem_sniff_rcv
+	increase 1,pdata
+	store 3,mem_sniff_rcv
+	rtn
+
+lpm_not_match:
+	bpatch patch15_6,mem_patch15
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_rx_window
+	iadd temp,pdata
+	store 2,mem_rx_window
+lpm_lost:
+	jam 0,mem_lpm_current_mult
+	fetch 3,mem_sniff_lost
+	increase 1,pdata
+	store 3,mem_sniff_lost
+	fetch 1,mem_sniff_unint_lost
+	increase 1,pdata
+	store 1,mem_sniff_unint_lost
+	rtn
+
+lpm_mult_short:
+	jam 0,mem_lpm_current_mult
+	fetch 1,mem_lpm_mult_timeout
+	store 1,mem_lpm_mult_cnt
+	rtn
+
+lpm_mult_long:
+	fetcht 1,mem_lpm_mult
+	storet 1,mem_lpm_current_mult
+	rtn
+
+lpm_cal_xtal_startup:
+	bpatch patch15_7,mem_patch15
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	jam clksel_rc,core_clksel
+	setarg 0xf0c
+	call lpm_write_config
+	setarg 200000
+	call sleep
+	until null,lpo_edge
+	copy lpo_time,alarm
+	call xtal_fast_wake
+	jam clksel_xtal,core_clksel
+	nop 10
+	until null,lpo_edge
+	deposit lpo_time
+	isub alarm,pdata
+	increase 0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	
+	rtn
+
+lpm_cal_xtal_startup_by_snooze:
+	fetch 1,mem_lpm_xtalcnt
+	nrtn blank
+	jam 0xff,core_xtal_stable_time
+	jam clksel_rc,core_clksel
+	call xtal_fast_wake
+	setarg 1000
+	iadd lpo_time,alarm
+	snooze
+	deposit lpo_time
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	nop 12000	//delay about 1ms
+	isub alarm,pdata
+	add pdata,0x30,pdata
+	arg 0xff,temp
+	call ceiling
+	store 1,mem_lpm_xtalcnt
+	nop 30000
+	nop 30000
+	nop 30000	//delay 90000 nop
+	rtn
+
+
+
+	/* pdata is lpm_reg[11:0] */
+lpm_write_config:
+	arg 0xfff,contw
+	iand contw,contw
+	fetch 1,mem_lpm_config
+	and_into 0xf0,pdata
+	lshift8 pdata,pdata
+	ior contw,pdata
+	hstore 2,core_lpm_reg
+	ifetch 2,contr
+	istore 2,contw
+
+lpm_write_ctrl:
+	setarg lpmreg_sel_ctrl
+	branch lpm_write
+
+lpm_write_ctrl2:
+	setarg lpmreg_sel_ctrl2
+lpm_write:
+	until null,lpo_edge
+	hstore 1,core_lpm_wr
+	until null,lpo_edge
+	until null,lpo_edge
+	rtn
+
+
+lpm_write_gpio_wakeup:
+	bpatch patch16_0,mem_patch16
+	fetch 4,mem_gpio_wakeup_low
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiolow
+	call lpm_write
+	fetch 4,mem_gpio_wakeup_high
+	hstore 4,core_lpm_reg
+	setarg lpmreg_sel_gpiohigh
+	branch lpm_write
+
+lpm_get_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset1 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_put_wake_lock:
+	fetch 2,mem_lpm_wake_lock
+	qset0 pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+
+
+lpm_check_wake_lock:
+	bpatch patch16_1,mem_patch16
+	call app_check_wake_lock
+	fetch 2,mem_lpm_wake_lock
+	copy pdata,rega
+	fetch 1,mem_state_map
+	isolate1 smap_rxlmp,pdata
+	setflag true,wake_lock_lmp_rx,rega
+	fetch 1,mem_lmo_opcode1
+	fetcht 1,mem_lmo_opcode2
+	iadd temp,pdata
+	fetcht 1,mem_lmp_to_send
+	iadd temp,pdata
+	nsetflag blank,wake_lock_lmp_tx,rega
+	fetch 1,mem_le_tx_buff_used
+	nsetflag blank,wake_lock_ble_tx,rega
+	fetch 2,mem_l2cap_rxbuff1_len
+	fetcht 2,mem_l2cap_rxbuff2_len
+	iadd temp,pdata
+	nsetflag blank,wake_lock_l2cap_rx,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	nsetflag blank,wake_lock_ipc_bt2c51,rega
+	fetch UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	nsetflag blank,wake_lock_ipc_c512bt,rega
+	fetch 1,mem_hci_cmd
+	nsetflag blank,wake_lock_cmd,rega
+	fetch 1,mem_device_option
+	compare dvc_op_module,pdata,0xff
+	call lpm_uart_wake_lock,true
+	setarg -8
+	iand rega,rega
+	copy rega,pdata
+	store 2,mem_lpm_wake_lock
+	rtn
+
+lpm_uart_wake_lock:
+	hfetch 2,core_uart_rxitems
+	nsetflag blank,wake_lock_uart_rx ,rega
+	hfetch 2,core_uart_txitems
+	nsetflag blank,wake_lock_uart_tx ,rega
+	rtn
+
+lpm_shut_down:
+	hfetch 4,core_lpm_ctrl
+	set0 27,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	branch assert
+	
+lpm_disable_exen_output:
+	hfetch 4,core_lpm_xtalcnt
+	set0 20,pdata
+	hstore 4,core_lpm_reg
+	branch lpm_write_ctrl2
+
+check_bt_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 bt_disabled,assert
+	rtn
+check_ble_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 ble_disabled,assert
+	rtn
+check_module_disabled:
+	fetch 2,mem_chip_functions
+	bbit1 module_disable,assert
+	rtn
+
+
+
+
+
+
+
+//p_check_attempt_sniff:
+//	bbit0 state_insco,p_check_attempt_not_sco
+//	fetch 1,mem_current_sniff_attempt
+//	beq 2,p_check_attempt_sniff_restore_sco
+//	fetch 1,mem_arq
+//	bbit1 wack,p_check_attempt_notimeout
+//	bmark0 mark_esco_rxok,p_check_attempt_notimeout
+//p_check_attempt_sniff_restore_sco:
+//	nbranch p_check_attempt_notimeout,master
+//	fetch 1,mem_lmp_to_send
+//	nbranch p_check_attempt_notimeout,blank
+//p_check_attempt_sco_master:
+//	fetch 1,mem_sco_poll
+//	increase -1,pdata
+//	store 1,mem_sco_poll
+//	nbranch check_attempt_nomore,blank
+//	jam param_sco_poll,mem_sco_poll
+//	branch check_attempt_notimeout
+//p_check_attempt_not_sco:
+//	compare type_null,type,0x1f
+//	branch check_timeout,true
+//	compare type_poll,type,0x1f
+//	branch check_timeout,true
+//	branch check_anchor_end
+//p_check_attempt_notimeout:
+//check_atttemp_decrease:
+//	fetch 1,mem_current_sniff_attempt
+//	increase -1,pdata
+//	store 1,mem_current_sniff_attempt
+//	rtn
+//check_timeout:
+//	fetch 1,mem_sniff_timeout_temp
+//	increase 1,pdata
+//	store 1,mem_sniff_timeout_temp
+//check_anchor_end:
+//	fetch 1,mem_current_sniff_attempt
+//	branch check_anchor_end_attempt0,blank
+//	call check_atttemp_decrease
+//	nrtn blank
+//check_anchor_end_attempt0:  
+//	fetch 1,mem_sniff_timeout_temp
+//	fetcht 1,mem_current_sniff_timeout
+//	isub temp,null
+//	branch p_blank,positive
+//	arg 1,pdata
+//	rtn
+//p_blank:
+//	arg 0,pdata
+//	rtn
+
+
+
Index: YJX_Only24g/main/program/hci_h4.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/hci_h4.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/hci_h4.prog	(working copy)
@@ -0,0 +1,138 @@
+
+ifdef DEBUG_H4LOG_ENABLE
+hci_log:
+	copy regc,pdata
+	rtneq 0x11
+	fetch 1,mem_hci_log
+	increase 1,pdata
+	sub pdata,hci_log_cnt,null
+	branch hci_log_calc_ptr,positive
+	setarg 0
+hci_log_calc_ptr:
+	store 1,mem_hci_log
+	arg hci_log_size,temp
+	imul32 temp,pdata
+	arg mem_hci_log+hci_log_size,contw
+	iadd contw,contw
+hci_log_write_content:
+	fetch 1,mem_hci_log
+	istore 1,contw//counter
+	copy regb,pdata
+	istore 1,contw
+	fetch 2,mem_le_event_count
+	istore 1,contw
+	copy clke_bt,pdata
+	istore 3,contw
+	fetch 1,mem_last_freq
+	istore 1,contw
+	fetch 1,mem_le_rxbuf
+	istore 1,contw
+	rtn
+else
+
+endif
+
+hci_rx_h4:
+	bpatch patch1f_5,mem_patch1f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+hci_rx_h4_1:
+	call hci_h4_parse_packet
+	ncall h4_rx_discard_packet,user
+	rtn
+	
+hci_h4_parse_packet:
+	bpatch patch1f_6,mem_patch1f
+	copy contru,rega
+	arg 4,temp
+	ifetch 1,contru //type
+	beq HCI_H4_TYPE_CMD,hci_h4_parse_packet_wait_len
+	increase 1,temp //acl packet has 2 bytes for length
+	beq HCI_H4_TYPE_ACL,hci_h4_parse_packet_wait_len
+	copy contru,pdata
+	hstore 2,core_uart_rrptr
+	rtn
+hci_h4_parse_packet_wait_len:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait_len,positive // while(rxitems >= 4 or 5);
+	//Make sure length has been recieved.
+	disable user
+	copy rega,contru
+	call h4_get_rx_payload_len
+	iadd temp,temp
+hci_h4_parse_packet_wait:
+	hfetch 2,core_uart_rxitems
+	isub temp,null
+	nbranch hci_h4_parse_packet_wait,positive//wait for rcv a complete packet
+	copy rega,contru
+	ifetch 1,contru //HCI packet type
+	beq  HCI_H4_TYPE_CMD,process_hci_cmd
+	branch assert
+	
+h4_rx_discard_packet:
+	bpatch patch1f_7,mem_patch1f
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	call h4_get_rx_payload_len
+	iadd contru,contru
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+
+//contru = pointer to packet start
+//return len via pdata
+h4_get_rx_payload_len:
+	ifetch 1,contru
+	increase 2,contru
+	beq HCI_H4_TYPE_ACL,h4_get_rx_payload_len_acl
+	ifetch 1,contru
+	rtn
+h4_get_rx_payload_len_acl:
+	ifetch 2,contru
+	rtn
+
+h4_get_tx_ptr:
+	hfetch 2,core_uart_twptr
+	increase -5,contwu
+	iadd contwu,contwu
+	rtn
+
+h4_send_packet_event:
+	arg HCI_H4_TYPE_EVENT,temp //type
+	branch h4_send_packet
+h4_send_packet_acl: //upgoing ACL
+	arg HCI_H4_TYPE_ACL,temp //type
+h4_send_packet:
+	bpatchx patch20_0,mem_patch20
+	increase 1,loopcnt
+	hfetch 2,core_uart_twptr
+	copy pdata,contwu
+	copy loopcnt,pdata //length
+	istoret 1,contwu //packet type in temp
+	increase -1,pdata
+	iadd contwu,contwu
+	copy contwu,pdata
+	store 2,mem_hci_acl_tx_trigger_wptr
+	copy temp,pdata
+ifdef ACL_DEBUG
+	beq HCI_H4_TYPE_EVENT,h4_send_packet0
+	hfetch 1,core_uart_txitems
+	ncall ice_break,blank
+	
+h4_send_packet0:	
+	copy temp,pdata
+endif
+	rtneq HCI_H4_TYPE_ACL //not send acl packet immediately
+	fetch 2,mem_hci_acl_tx_trigger_wptr
+	hstore 2,core_uart_twptr
+	branch h4_send_acl_trigger_clear
+	
+	
+h4_send_acl_trigger_clear:
+	setarg 0
+	store 2,mem_hci_acl_tx_trigger_wptr
+	rtn
+
+	
Index: YJX_Only24g/main/program/hci_main.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/hci_main.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/hci_main.prog	(working copy)
@@ -0,0 +1,400 @@
+/*********************************/
+/**********   HCI  *****************/
+/*********************************/
+
+hci_init:
+	rtn wake
+	setarg hci_idle_dispatch
+	store 2,mem_cb_idle_process
+
+	setarg uart_baud_115200
+	store uart_baud_len,mem_baud
+hci_lpm_init:
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rsaddr
+	setarg mem_h5rx_buf_end
+	hstore 2,core_uart_readdr
+	setarg mem_h5tx_buf
+	hstore 2,core_uart_tsaddr
+	call hci_sel_init
+hci_reinit:
+	jam 0x0,core_uart_ctrl
+ 	setarg mem_h5tx_buf
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+	setarg mem_h5rx_buf
+	hstore 2,core_uart_rrptr
+	store 2,mem_h5rx_rptr
+hci_init_common:
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_UART,pdata
+	hstore 2,core_clkoff
+	call uart_set_baud_by_mem
+	jam uartclk_dpll,core_uart_clksel
+	jam uart_ctrl_h4,core_uart_ctrl
+	rtn
+
+hci_sel_init:
+	setarg mem_h5tx_buf_end
+	hstore 2,core_uart_teaddr
+	hfetch 1,core_gpio_sel1
+	or_into 0x07,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+	
+	
+hci_rx_packet:
+	bpatchx patch20_1,mem_patch20
+	hfetch 1,core_uart_status
+	iforce regb
+	bbit0 uart_status_rx_fifo_empty,hci_rx_packet_cont
+	hfetch 2,core_uart_rxitems
+	iforce regc
+	arg 0x44f,temp
+	isub temp,null
+	nrtn zero
+hci_rx_packet_cont:
+	hfetch 2,core_uart_rrptr
+	iforce contru
+	branch hci_rx_h4
+	
+uart_send_byte:
+	hfetcht 1,core_uart_status
+	isolate1 6,temp
+	branch uart_send_byte,true
+	hstore 1,core_uart_txd
+	rtn
+	
+process_hci_cmd:
+	bpatchx patch20_2,mem_patch20
+	fetch 1,mem_hci_cmd
+	branch process_hci_cmd_cont,blank
+	enable user					/* last command still there */
+	rtn
+process_hci_cmd_cont:
+	ifetch 2,contru
+	iforce alarm				/* alarm is used for sending */
+	iforce queue				/* queue is OCF */
+	ifetch 1,contru		/* skip hci length */
+	iforce temp			/* temp has the length */
+	rshift2 alarm,pdata
+	rshift8 pdata,pdata
+	beq HCI_OGF_VENDOR_SPECIFIC,phci_grp_vendor_specific
+	rtn
+
+
+phci_grp_vendor_specific:
+	bpatchx patch20_3,mem_patch20
+	deposit queue
+	beq HCI_VENDOR_CMD_RESET,hci_normal_reply
+	beq HCI_VENDOR_CMD_CHIPID,phci_grp_vendor_chipid
+	beq HCI_VENDOR_CMD_BAUD,phci_grp_vendor_baud
+	beq HCI_VENDOR_CMD_PATCH,phci_grp_vendor_patch
+	beq HCI_VENDOR_CMD_PATCH_DONE,phci_grp_vendor_done
+	beq HCI_VENDOR_CMD_ECHO,hci_normal_reply
+	beq HCI_VENDOR_CMD_BDADDR,phci_grp_vendor_bdaddr
+	beq HCI_VENDOR_CMD_ENTER_LPM,phci_grp_vendor_enter_lpm
+	
+	beq HCI_VENDOR_CMD_MEM,phci_grp_vendor_mem
+	beq HCI_VENDOR_CMD_EEP,phci_grp_vendor_eep
+	beq HCI_VENDOR_CMD_PATCH_SEC_INIT,phci_grp_vendor_patch_sec_init
+	beq HCI_VENDOR_CMD_PATCH_SEC,phci_grp_vendor_patch_sec
+	branch hci_normal_reply
+
+phci_grp_vendor_enter_lpm:
+	call hci_normal_reply
+	call wait_uarttx
+	call gpio_pu_uart_tx
+hci_enter_lpm:
+	call app_put_lpm_wake_lock
+	call app_l2cap_flow_control_enable
+	branch gpio_rx_config_input_with_pu
+
+hci_exit_lpm:
+	jam HCI_RX_READY,mem_hci_lt_rx_state
+	call app_get_lpm_wake_lock
+	call hci_lpm_init
+	branch app_l2cap_flow_control_disable
+	
+phci_grp_vendor_chipid:
+	call hci_get_cmd_complete_ptr
+	hfetch 2,core_chipid
+	istore 2,contwu
+	force 6,loopcnt
+	branch hci_command_complete
+	
+phci_grp_vendor_baud:
+	ifetch 2,contru
+	store 2,mem_baud
+	hstore 2,core_uart_baud
+	rtn
+
+
+phci_grp_vendor_patch_common:
+	//jam 0x80,core_ucode_ctrl
+	ifetch 1,contru
+	copy pdata,temp //check sum via temp
+	hstore 1,core_ucode_low
+	ifetch 1,contru
+	iadd temp,temp
+	set1 7,pdata
+	hstore 1,core_ucode_ctrl
+	ifetch 1,contru
+	iadd temp,temp
+	copy pdata,loopcnt
+	rtn
+	
+phci_grp_vendor_patch:
+	bmark1 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+phci_grp_vendor_patch_loop:
+	ifetch 1,contru
+	hstore 1,core_ucode_data
+	iadd temp,temp
+	loop phci_grp_vendor_patch_loop
+phci_grp_vendor_patch_check_sum:	
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	branch hci_normal_reply
+
+	
+phci_grp_vendor_patch_sec:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	call phci_grp_vendor_patch_common
+	store 8,mem_pdatatemp
+phci_grp_vendor_patch_sec_loop:
+	call do_aes_cbc	
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	storet 8,mem_temp
+	arg mem_temp_block2,contw
+	call store_aes_result
+	arg mem_temp_block2,rega
+	arg mem_temp_block0,regb
+	arg mem_temp_block3,contw
+	call xor16	
+	arg 16,loopcnt
+	arg mem_temp_block3,contr
+	call load_ucode_only_loop
+	fetcht 8,mem_temp
+	fetch 8,mem_pdatatemp
+	increase -16,pdata
+	store 8,mem_pdatatemp
+	nbranch phci_grp_vendor_patch_sec_loop,blank
+	branch phci_grp_vendor_patch_check_sum	
+	
+load_ucode_only_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_only_loop
+	rtn
+
+load_uart_sum_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop load_uart_sum_loop
+	rtn
+
+phci_grp_vendor_patch_sec_init:
+	bmark0 mark_otp_encrypt ,phci_grp_vendor_patch_bad
+	arg 0,temp
+	arg 16,loopcnt
+	arg mem_temp_block0,contw
+	call load_uart_sum_loop
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	arg mem_temp_block0,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch phci_grp_vendor_patch_check_sum
+
+
+phci_grp_vendor_done:
+	arg 0x20,loopcnt    //patch switch length
+	arg mem_patch00,contw
+	arg 0,temp //checksum
+phci_grp_vendor_done_loop:
+	ifetch 1,contru
+	istore 1,contw
+	iadd temp,temp
+	loop phci_grp_vendor_done_loop
+	and temp,0xff,temp
+	ifetch 1,contru
+	isub temp,null
+	nbranch phci_grp_vendor_patch_bad,zero
+	jam 0,core_ucode_ctrl
+	call hci_normal_reply
+	call h4_rx_discard_packet
+	call clear_key_buf
+	call wait_uarttx
+	branch soft_reset
+
+phci_grp_vendor_patch_bad:
+	jam 0,core_ucode_ctrl
+	branch start
+	
+phci_grp_vendor_bdaddr:
+	ifetch 6,contru
+	store 6,mem_lap
+	branch hci_normal_reply
+
+
+phci_grp_vendor_mem:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	copy pdata,contw
+	call uart_copy_rx_bytes
+	branch hci_normal_reply
+
+
+phci_grp_vendor_eep:
+	ifetch 1,contru
+	store 1,mem_hci_curr_len
+	copy pdata,loopcnt
+	ifetch 2,contru
+	store 2,mem_hci_curr_target
+	arg mem_l2cap_rxbuff1,contw
+	call uart_copy_rx_bytes
+	fetcht 1,mem_hci_curr_len
+	arg mem_l2cap_rxbuff1,rega
+	fetch 2,mem_hci_curr_target
+	branch iicd_write_ota_data
+	
+	
+
+	
+hci_normal_reply:
+	force 4,loopcnt
+hci_command_complete:	/* loopcnt is hci length */
+	call hci_get_payload_ptr
+	force 0x1,pdata
+	istore 1,contwu
+	deposit alarm
+	istore 3,contwu
+	force HCI_EVENT_COMMAND_COMPLETE,queue
+hci_send_event:		/* queue:event code, loopcnt: length */
+	bpatchx patch20_4,mem_patch20
+	call hci_get_packet_ptr
+	deposit queue
+	istore 1,contwu
+	deposit loopcnt
+	istore 1,contwu
+hci_send_event_raw:
+	force 5,queue
+	increase 2,loopcnt
+hci_send_packet:
+	branch h4_send_packet_event
+
+hci_send_commu_ready_event:
+	force HCI_EVENT_VENDOR_SPECIFIC,queue
+	call hci_get_payload_ptr
+	setarg HCI_VENDOR_EVENT_COMMU_READY
+	istore 1,contwu
+	force 1,loopcnt
+	branch hci_send_event
+
+hci_get_cmd_complete_ptr:
+	force 12,contwu
+	branch hci_get_tx_ptr
+
+hci_get_payload_ptr:
+	force 8,contwu
+	branch hci_get_tx_ptr
+
+hci_get_packet_ptr:
+	force 6,contwu
+hci_get_tx_ptr:
+	branch h4_get_tx_ptr
+
+	
+
+calc_tx_crc16:
+	pulse crc16
+	enable enable_crc
+crcloop:
+	ifetch 1,contwu
+	inject bucket,8
+	loop crcloop
+	enable enable_parity
+	inject bucket,16
+	disable enable_parity
+	disable enable_crc
+	disable crc16
+	byteswap pdata,pdata
+	rtn
+
+
+
+cmd_exit:
+	jam 0,mem_hci_cmd
+	rtn
+cmd_check_plap:
+	fetch 6,mem_hci_plap
+	fetcht 6,mem_plap
+	isub temp,null
+	rtn
+
+	
+	
+//enable ssp master sm
+cmd_pair:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,cmd_pair_passive
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+cmd_pair_passive:
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	setarg 0
+	setflag master,smap_lmptid,pdata		
+	store 1,mem_lmo_tid2
+	branch cmd_exit
+	rtn
+cmd_in_sniff:
+	jam LMP_SNIFF_REQ,mem_lmo_opcode2
+	arg mem_sniff_payload,contw
+	setarg 0
+	isolate1 27,clke_bt
+	setflag true,1,pdata		/* use init 2 if bit27 of clke is 1 */
+	istore 1,contw	
+	setarg 0	/* dsniff */
+	istore 2,contw
+	fetch 2,mem_sniff_param_interval	/* tsniff */
+	istore 2,contw
+	fetch 1,mem_sniff_param_attempt	/* attempt */
+	istore 2,contw
+	fetch 1,mem_sniff_param_timeout	/* timeout */
+	istore 2,contw
+	branch cmd_exit
+	
+cmd_exit_sniff:
+	jam LMP_UNSNIFF_REQ,mem_lmo_opcode2
+	branch cmd_exit
+
+hci_idle_dispatch:
+	call gpio_check_uart_state
+	rtn true
+	arg UART_WAKEUP_RX,temp
+	call gpio_get_bit
+	nbranch uart_wake_up,true
+	jam HCI_RX_WAKE,mem_hci_lt_rx_state
+	rtn
+uart_wake_up:
+	fetch 1,mem_hci_lt_rx_state
+	rtnne HCI_RX_WAKE
+	call hci_exit_lpm
+	branch hci_send_commu_ready_event
+	
+	
Index: YJX_Only24g/main/program/hid.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/hid.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/hid.prog	(working copy)
@@ -0,0 +1,84 @@
+/**
+* the following API is to send the HID data
+* 
+*/
+
+/**
+* the following API is to process the hid  rx data
+* 
+*/
+//handle the hid data
+
+hid_rx_process:
+	bpatchx patch20_5,mem_patch20
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_idle,hid_rx_process_handshake
+	beq hid_type_set_protocol,hid_rx_process_handshake
+	beq hid_type_data,hid_rx_process_data
+	beq HID_TYPE_SET_REPORT,hid_rx_process_set_report
+	beq HID_TYPE_CONTROL,hid_rx_process_hid_control
+	rtn
+
+hid_rx_process_hid_control:
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,hid_rx_process_virtual_cable_unplug
+	beq HID_CONTROL_P_SUSPEND,hid_rx_process_suspend
+	rtn
+	
+hid_rx_process_virtual_cable_unplug:
+	jam BT_EVT_VIRTUAL_CABLE_UNPLUG,mem_fifo_temp
+	call ui_ipc_send_event
+	fetch 1,mem_device_option
+	rtnbit0 dvc_op_mouse
+	copy temp,pdata
+	beq HID_CONTROL_P_VIRTUALCABLEUNPLUG,mouse_irtual_cable_unplug
+	rtn
+hid_rx_process_suspend:
+	rtn
+
+hid_rx_process_set_report:
+	call hid_rx_process_data
+	arg 0x01,rega
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0x00
+	istore 1,contw
+	rtn
+
+hid_rx_process_handshake:
+	arg 1,regA//payload length
+	call hid_malloc_tx_buff
+	fetch 2,mem_hid_ctrl_remote_cid
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	jam 1,mem_ui_data_txbuff_length
+	fetch 1,mem_hid_control_state
+	set1 l2cap_channel_hid_handshake_done
+	store 1,mem_hid_control_state
+	jam BT_EVT_HID_HANDSHAKE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+hid_rx_process_data:
+	ifetch 1,contr
+	beq HID_REPORT_ID_KB,hid_rx_process_data_hid_kb
+	rtn
+
+hid_rx_process_data_hid_kb:
+	rtn
+
+	
+hid_malloc_tx_buff:
+	call l2cap_malloc
+	copy rega,temp
+	storet 1,mem_ui_data_txbuff_length
+	copy pdata,contw
+	copy rega,pdata
+	istore 2,contw //hid payload length
+	rtn
+
Index: YJX_Only24g/main/program/kscan_peipherals.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/kscan_peipherals.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/kscan_peipherals.prog	(working copy)
@@ -0,0 +1,152 @@
+
+
+
+ifdef COMPILE_KEYSCAN
+/****************************************key scan***************************************/
+/******the key_scan use explain******
+
+* First:call kscan_init
+* Second:call kscan_main
+* Finally: the key scanning reault is mem_kscan_value.
+
+******
+***************************************************************************************
+*/
+kscan_init:  
+	fetch 2,mem_kscan_ptr
+	copy pdata,regc
+	call kscan_row_num_select
+	branch kscan_col_num_select
+
+kscan_col_init:
+	setarg 0
+	add regc,KEYSCAN_OFFECT_SHIFT_COUNT,rega
+	istore 1,rega
+	add regc,KEYSCAN_OFFECT_COL_NUM,rega
+	ifetch 1,rega
+	branch kscan_value_init,blank
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_COL_CONF_PIN,regb
+kscan_col_loop: 
+	ifetcht 1, regb
+	call gpio_config_output
+	ifetcht 1, regb
+	call gpio_out_active
+	call kscan_value_init             
+	ifetcht 1,regb
+	call gpio_config_input
+	increase 1,regb
+	loop kscan_col_loop
+	rtn  
+kscan_row_num_select:          
+	add regc,KEYSCAN_OFFECT_ROW_NUM,contw
+	ifetch 1,contw 
+	rtn blank
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_ROW_CONF_PIN,rega
+	branch kscan_ioselect_input   
+kscan_col_num_select:           
+	add regc,KEYSCAN_OFFECT_COL_NUM,contw
+	ifetch 1,contw 
+	rtn blank
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_COL_CONF_PIN,rega
+	branch kscan_ioselect_input
+kscan_ioselect_input: 
+	ifetcht 1,rega
+	call gpio_config_input 
+	increase 1,rega
+	loop kscan_ioselect_input
+	rtn
+kscan_value_init:
+	setarg 0
+	add regc,KEYSCAN_OFFECT_ROW_COUNT,rega
+	istore 1,rega
+	add regc,KEYSCAN_OFFECT_ROW_CONF_PIN,rega
+kscan_save_vaule:
+	ifetcht 1,rega       
+	call gpio_get_bit   
+	add regc,KEYSCAN_OFFECT_VALUE_TEMP,temp
+	ifetch 2,temp
+ 	add regc,KEYSCAN_OFFECT_SHIFT_COUNT,contr
+	ifetcht 1,contr
+	copy temp,queue
+	qsetflag true,pdata
+
+	add regc,KEYSCAN_OFFECT_VALUE_TEMP,temp
+ 	istore 2,temp
+	increase 1,rega
+    
+	add regc,KEYSCAN_OFFECT_SHIFT_COUNT,contw
+	ifetch 1,contw 
+	increase 1,pdata
+	istore 1,contw
+    
+	add regc,KEYSCAN_OFFECT_ROW_COUNT,contw
+	ifetcht 1,contw 
+	increase 1,temp
+	istoret 1,contw
+	add regc,KEYSCAN_OFFECT_ROW_NUM,contw
+	ifetch 1,contw 
+	ixor temp,null  
+	nbranch kscan_save_vaule,zero
+	rtn       
+	
+	
+kscan_lpm_berfore:
+	fetch 2,mem_kscan_ptr
+	copy pdata,regc
+ 	add regc,KEYSCAN_OFFECT_ROW_NUM,contw
+ 	ifetch 1,contw 
+	copy pdata,loopcnt
+	add regc,KEYSCAN_OFFECT_COL_CONF_PIN,rega
+kscan_select_wake:    
+	ifetcht 1,rega
+	call gpio_set_wake   
+	increase 1,rega
+	loop kscan_select_wake
+	rtn
+
+kscan_clkn_bt_timer_check:
+	ifetcht 4,rega
+	copy clkn_bt,pdata
+	isub temp,null
+	rtn positive
+	setarg 0
+	istore 4,rega
+	rtn
+
+kscan_process:
+	fetch 2,mem_kscan_ptr
+	copy pdata,regc
+	add regc,KEYSCAN_OFFECT_BTCLK,rega
+	call kscan_clkn_bt_timer_check
+	ifetch 4,rega
+	add regc,KEYSCAN_OFFECT_BTCLK_INTERVAL,regb
+	ifetcht 1,regb
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	istore 4,rega
+	call kscan_col_init  
+	add regc,KEYSCAN_OFFECT_VALUE_TEMP,rega
+	ifetch 2,rega
+	add regc,KEYSCAN_OFFECT_LASVALUE,rega
+	ifetcht 2,rega
+	istore 2,rega
+	iand temp,pdata
+	add regc,KEYSCAN_OFFECT_VALUE,rega    
+	istore 2,rega 
+	rtn  
+
+endif
+	
+	
+
+
+
+	
+    
+	
+
Index: YJX_Only24g/main/program/l2cap.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/l2cap.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/l2cap.prog	(working copy)
@@ -0,0 +1,1929 @@
+/************************************/
+/*initialize L2CAP related variables*/
+/************************************/
+l2cap_init:
+	branch l2cap_init_wake,wake
+l2cap_init_work:
+	setarg mem_l2cap_xmem_end
+	arg mem_l2cap_xmem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+l2cap_init_wake:	
+	bpatchx patch20_6,mem_patch20
+	setarg mem_sdp_mem_end
+	arg mem_sdp_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	setarg mem_l2cap_mem_end
+	arg mem_l2cap_mem_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	branch l2cap_lpm_load_txbuf
+	
+process_rx_l2cap_pkt:
+	bpatchx patch20_7,mem_patch20
+	copy contr,temp
+	//call l2cap_malloc_is_fifo_full
+	//nrtn blank
+	copy temp,contr
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_pkt_length
+	ifetch 2,contr
+	store 2,mem_l2cap_rx_cid
+	deposit contr
+	store 2,mem_l2cap_payload_ptr
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,l2cap_rx_multiplexing
+	branch ml2cap_rx_multiplexing
+
+l2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch21_0,mem_patch21
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,l2cap_call_proc_signal
+l2cap_rx_multiplexing0:
+	beq L2CAP_SDP_channel,l2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+l2cap_check_map:
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	bpatchx patch21_1,mem_patch21
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	beq 0,set_pdata_0
+	beq 1,set_pdata_0
+	beq 2,set_pdata_0
+	beq 3,set_pdata_0
+	beq 0x81,set_pdata_0
+	beq 0xc0,set_pdata_0
+	beq 0x80,set_pdata_0
+	beq 0x40,set_pdata_0
+	rtn
+
+set_pdata_0:
+	setarg 0
+	rtn
+
+
+l2cap_call_proc_signal:
+	call l2cap_check_map
+	nrtn blank
+l2cap_call_proc_signal0:
+	call l2cap_malloc_signal_channel
+	call l2cap_process_signal_pkt
+	fetcht 2,mem_l2cap_signal_tx_length
+	branch l2cap_call_proc_no_reply,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+	
+l2cap_call_proc_sigal_pending:
+	fetch 1,mem_l2cap_pending_item
+	rtn blank
+	copy pdata,rega
+	bpatchx patch21_2,mem_patch21
+	fetch 4,mem_l2cap_sdpres_delay_time
+	arg 0x100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	jam 0,mem_l2cap_pending_item
+	copy rega,pdata
+	beq L2CAP_SDP_channel,l2cap_sdp_conn_succ
+	branch assert
+l2cap_sdp_conn_succ:
+	arg 0,debug
+	call l2cap_malloc_signal_channel
+	call restore_l2cap_req_param
+	call l2cap_get_signal_tx_payload
+	call save_cont_pointers
+	call send_connection_sdp_res
+	call l2cap_get_signal_tx_buff
+	//fetch 2,mem_l2cap_signal_tx_length
+	setarg 0x000c
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+
+
+l2cap_reset_sdp_map:
+	bpatchx patch21_3,mem_patch21
+	fetch 2,mem_sdp_tx_pkt_length
+	increase 4,pdata
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	add pdata,1,temp ///temp: how many128
+	arg mem_tx_fifo3,contr
+	ifetch 3,contr
+	rtn blank
+	store 3,mem_tx_fifo_map_temp
+	fetch 1,mem_tx_fifo_map_temp
+	copy pdata,rega
+	call check_l2cap_map
+	copy regb,pdata
+	store 1,mem_tx_fifo3
+	rtn
+
+check_l2cap_map:
+	arg 0,queue
+	arg 0,regb
+
+check_l2cap_map_loop:
+	sub queue,7,null
+	nrtn positive
+	qisolate1 rega
+	branch check_l2cap_map_used,true
+	branch check_l2cap_map_used2
+
+check_l2cap_map_used:
+	copy temp,pdata
+	branch check_l2cap_map_used2,blank
+	qset1 regb
+	increase -1,temp
+
+check_l2cap_map_used2:
+	increase 1,queue
+	branch check_l2cap_map_loop
+
+l2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_check_map
+	nrtn blank
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+	call l2cap_reset_sdp_map
+	branch l2cap_call_proc_sdp_common
+
+	
+ml2cap_call_proc_sdp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank// not process this packet until fifo empty
+	call l2cap_malloc_sdp_channel
+	call sdp_process
+l2cap_call_proc_sdp_common:
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	branch l2cap_call_proc_no_reply,blank
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_hid:
+	call hid_rx_process
+	branch l2cap_rx_reset_state
+
+l2cap_call_proc_rfcomm:
+	bpatchx patch21_4,mem_patch21
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	call rfcomm_rx_process
+	fetch 1,mem_rfcomm_malloc_fail_flag
+	rtneq RFCOMM_MALLOC_FAIL
+	branch l2cap_rx_reset_state
+l2cap_call_proc_no_reply:
+	call l2cap_malloc_discard
+	//fall through
+l2cap_rx_reset_state:
+	setarg 0
+	store 2,mem_l2cap_rx_pkt_length
+	store 2,mem_l2cap_rx_cid
+	jam L2CAP_RX_DONE,mem_l2cap_rx_done
+	rtn
+/* To process one L2CAP signalling pkt consisting of 1 or more signalling commands.	*/
+l2cap_process_signal_pkt:
+	bpatchx patch21_5,mem_patch21
+	call l2cap_get_signal_tx_payload
+	force 0,regB
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+l2cap_process_signal_pkt_loop:
+	call l2cap_process_one_signal
+	deposit regC
+	increase -4,regC
+	increase -4,pdata
+	nbranch l2cap_process_signal_pkt_loop,blank
+	copy regB,pdata
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_process_one_signal:
+	bpatchx patch21_6,mem_patch21
+	ifetch 1,contr
+	beq signal_cmd_reject,l2cap_proc_signal_cmd_reject
+	beq signal_connect_req,l2cap_proc_signal_connect_req
+	beq signal_connect_rsp,l2cap_proc_signal_connect_rsp
+	beq signal_config_req,l2cap_proc_signal_config_req
+	beq signal_config_rsp,l2cap_proc_signal_config_rsp
+	beq signal_disconnect_req,l2cap_proc_signal_disconnect_req
+	beq signal_disconnect_rsp,l2cap_proc_signal_disconnect_rsp
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_echo_rsp,l2cap_proc_signal_echo_rsp
+	beq signal_info_req,l2cap_proc_signal_info_req
+	beq signal_info_rsp,l2cap_proc_signal_info_rsp
+	call l2cap_reject_command
+l2cap_process_one_signal_rtn:
+	rtn
+
+l2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	copy regc,pdata
+	isub rega,regc
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1, contw
+	ifetch 2,contr 
+l2cap_proc_signal_info_req_reply:
+	beq L2CAP_SIG_EXT_FEATRUE,l2cap_proc_signal_info_req_ext
+	beq L2CAP_SIG_FIX_FEATRUE,l2cap_proc_signal_info_req_fix
+	rtn
+l2cap_proc_signal_info_req_ext:
+	setarg 0x020008
+	istore 6, contw
+	setarg 0x0280
+	istore 4, contw
+	force 12,pdata
+	branch l2cap_proc_signal_info_req_common
+l2cap_proc_signal_info_req_fix:
+	setarg 0x3000c
+	istore 6, contw
+	setarg 0x0006
+	istore 8, contw
+	force 16,pdata
+l2cap_proc_signal_info_req_common:
+	iadd regb,regb
+	branch l2cap_process_one_signal_rtn
+	
+ml2cap_proc_signal_info_req:
+	ifetch 1,contr //IDs
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,rega
+	ifetch 2,contr
+	store 2,mem_temp
+	copy regc,pdata
+	isub rega,regc 
+	call l2cap_get_signal_tx_payload
+	setarg signal_info_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw 
+	fetch 2,mem_temp
+	branch l2cap_proc_signal_info_req_reply
+
+
+/*  Respond to the command reject signal sent from the remote BD.   */
+l2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	copy regC,pdata
+	isub regA,regC
+l2cap_proc_signal_cmd_reject_rtn:
+	branch l2cap_process_one_signal_rtn
+/* Respond to an L2CAP connection request from remote BD. (generate a connection_rsp)	*/
+l2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//fetch 6,mem_inquiry_bd_addr
+  	//store 6,mem_master_paged_bd_addr
+  	call load_cont_pointers
+	arg 0,debug
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,temp //PSM
+	ifetch 2,contr
+	copy pdata,timeup
+	bpatchx patch21_7,mem_patch21
+	copy temp,pdata
+	beq PSM_SDP,l2cap_proc_signal_connect_req_sdp
+	beq PSM_RFCOMM,l2cap_proc_signal_connect_req_rfcomm
+	beq PSM_HID_control,l2cap_proc_signal_connect_req_hid_ctrl
+	beq PSM_HID_interrupt,l2cap_proc_signal_connect_req_hid_int
+	call l2cap_reject_command
+	branch l2cap_proc_signal_connect_req_rtn
+
+l2cap_proc_signal_connect_req_sdp:
+	call save_cont_pointers
+	arg L2CAP_SDP_channel,temp
+	fetch 2,mem_sdp_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	copy clkn_bt,pdata
+	store 4,mem_l2cap_sdpres_delay_time
+	call store_l2cap_req_param
+	branch  send_connection_pending
+
+store_l2cap_req_param:
+	storet 2,mem_psm
+	deposit timeup
+	store 2,mem_scid
+	deposit rega
+	store 2,mem_cmd_length
+	deposit regb
+	store 2,mem_tt2
+	deposit regc
+	store 2,mem_tt3
+	deposit queue
+	store 2,mem_id
+	rtn
+
+restore_l2cap_req_param:
+	fetcht 2,mem_psm
+	fetch 2,mem_scid
+	copy pdata,timeup
+	fetch 2,mem_cmd_length
+	copy pdata,rega
+	fetch 2,mem_tt2
+	copy pdata,regb
+	fetch 2,mem_tt3
+	copy pdata,regc
+	fetch 2,mem_id
+	copy pdata,queue
+	rtn
+
+l2cap_proc_signal_connect_req_rfcomm:
+	call save_cont_pointers
+	setarg L2CAP_RFCOMM_channel
+	arg L2CAP_RFCOMM_channel,temp
+	fetch 2,mem_RFCOMM_remote_CID
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_ctrl:
+	call save_cont_pointers
+	arg L2CAP_HID_Control_channel,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	branch send_connection_res
+l2cap_proc_signal_connect_req_hid_int:
+	call save_cont_pointers
+	deposit clke
+	arg L2CAP_HID_Interrupt_channel,temp
+	fetch 2,mem_hid_int_remote_cid
+	nbranch already_connected,blank
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	branch send_connection_res
+
+send_connection_pending:
+	setarg L2CAP_connect_pending
+	store 2,memL2CAP_T1
+	jam L2CAP_SDP_channel,mem_l2cap_pending_item
+	branch send_connection_res0
+send_connection_sdp_res:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+send_connection_res:
+	setarg L2CAP_connect_successful
+	store 2,memL2CAP_T1
+send_connection_res0:
+	bpatchx patch22_0,mem_patch22
+	call load_cont_pointers
+	setarg signal_connect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	fetch 2,memL2CAP_T1
+	beq L2CAP_connect_pending,connect_pending
+	isolate0 0,debug
+	branch connect_suc,true
+	setarg L2CAP_connect_refused_no_resources
+connect_suc:
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+connect_pending:
+	istore 2,contw
+	force 0x0002,pdata
+	istore 2,contw
+	setarg 12
+	branch connect_req_update_byte_counts
+	
+already_connected:
+	set1 0,debug
+	branch send_connection_res
+connect_req_update_byte_counts:
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_proc_signal_connect_req_rtn
+l2cap_proc_signal_connect_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //identifier
+	copy pdata,queue
+	ifetch 2,contr //length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //remote cid
+	copy pdata,timeup
+	ifetch 2,contr //local cid
+	copy pdata,temp
+	bpatchx patch22_1,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_connect_rsp_hid_int,zero
+	rtn
+
+l2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_rfcomm_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_rfcomm_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+l2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	store 1,mem_hid_control_state
+	rtn
+
+l2cap_proc_signal_config_req:
+	ifetch 1,contr//identifier
+	copy pdata,queue
+	ifetch 2,contr//length
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr//dest cid
+	copy pdata,temp
+	copy temp,regA
+	bpatchx patch22_2,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_config_req_hid_int,zero
+	branch l2cap_reject_command
+	//branch L2CAP_proc_signal_config_req_rtn
+l2cap_proc_signal_config_req_sdp:
+	copy contw, timeup
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	copy timeup,contw
+	arg L2CAP_SDP_channel,timeup
+	fetch 2,mem_sdp_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_ctrl:
+	copy contw, timeup
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	copy timeup,contw
+	arg L2CAP_HID_Control_channel,timeup
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_hid_int:
+	copy contw, timeup
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	copy timeup,contw
+	arg L2CAP_HID_Interrupt_channel,timeup
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch l2cap_send_config_rsp
+l2cap_proc_signal_config_req_rfcomm:
+	copy contw, timeup
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	//set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+//	jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	copy timeup,contw
+	arg L2CAP_RFCOMM_channel,timeup
+	fetch 2,mem_RFCOMM_remote_CID
+	copy pdata,temp
+l2cap_send_config_rsp:
+	bpatchx patch22_3,mem_patch22
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0006
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	force 0x00,pdata
+	istore 2,contw
+	force L2CAP_config_success,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	//copy temp,pdata
+	storet 2,mem_config_req_dest_CID
+	copy queue,pdata
+	store 1,mem_config_identifier
+	force L2CAP_SDP_channel,pdata
+	icompare 0xff,timeup
+	branch l2cap_send_config_rsp_is_sdp,true
+	increase 1,pdata
+l2cap_send_config_rsp_is_sdp:
+	//store 1,mem_send_config_req
+	rtn
+l2cap_check_channel_state:
+	disable user
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	copy contr,contw
+	increase -1,contw
+	istore 1,contw
+	enable user
+	rtn
+l2cap_send_config_req:
+l2cap_send_config_req_sdp:
+	fetch 1,mem_sdp_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_rfcomm,user
+	jam L2CAP_SDP_channel,mem_send_config_req
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_ctrl,user
+	jam L2CAP_RFCOMM_channel,mem_send_config_req
+	fetch 2,mem_RFCOMM_remote_CID
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	call l2cap_check_channel_state
+	nbranch l2cap_send_config_req_hid_int,user
+	jam L2CAP_HID_Control_channel,mem_send_config_req
+	fetch 2,mem_hid_ctrl_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch l2cap_generate_config_req
+l2cap_send_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	call l2cap_check_channel_state
+	nrtn user//End of sending config req
+	jam L2CAP_HID_Interrupt_channel,mem_send_config_req
+	fetch 2,mem_hid_int_remote_cid
+	store 2,mem_config_req_dest_CID
+	//branch L2CAP_generate_config_req
+
+l2cap_generate_config_req:
+	bpatchx patch22_4,mem_patch22
+	call l2cap_get_req_id
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	force signal_config_req,pdata
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	fetch 2,mem_config_req_dest_CID
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	force 1,pdata
+	istore 1,contw
+	force 2,pdata
+	istore 1,contw
+	fetch 1,mem_send_config_req
+	beq L2CAP_RFCOMM_channel,l2cap_generate_config_req_rfcomm
+	setarg L2CAP_config_MTU_SDP
+	istore 2,contw
+	branch l2cap_generate_config_req_done
+l2cap_generate_config_req_rfcomm:
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+l2cap_generate_config_req_done:
+	arg 0x0c,temp
+	storet 2,mem_l2cap_signal_tx_length
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	jam 0,mem_send_config_req
+l2cap_proc_signal_config_req_rtn:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_config_rsp:
+	increase 1,contr
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr //source cid
+	copy pdata,regA
+	bpatchx patch22_5,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub rega,null
+	branch l2cap_proc_signal_config_rsp_hid_int,zero
+	increase 2,contr
+	ifetch 2,contr
+	iforce null
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_sdp_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+
+
+l2cap_proc_signal_disconnect_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	copy regA,temp
+	call save_cont_pointers
+	bpatchx patch22_6,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_req_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_ctrl:
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_control_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_proc_signal_disconnect_req_hid_int:
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_hid_interrupt_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+
+l2cap_proc_signal_disconnect_req_sdp:
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	branch l2cap_disconnect_sdp_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_hid_control_now:
+	call l2cap_reset_hid_ctrl_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_disconnect_hid_interrupt_now:
+	call l2cap_reset_hid_int_state
+	fetch 2, mem_hid_ctrl_remote_cid
+	branch l2cap_send_disconnect_rsp_pkt, blank
+	//set the flag,hid channel close
+	//should we set here?
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch l2cap_send_disconnect_rsp_pkt
+
+l2cap_disconnect_sdp_now:
+	call l2cap_reset_sdp_channel_state
+	fetch 1,mem_upper_sm_ss
+	nbranch l2cap_send_disconnect_rsp_pkt,blank
+	//jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2
+	//jam UPPERSM_RP_SDP_CONN,mem_upper_sm_remote_page
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_proc_signal_disconnect_req_rfcomm:
+	copy timeup,temp
+	fetch 2, mem_RFCOMM_remote_CID
+	isub temp,null
+	branch l2cap_disconnect_rfcomm_now,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_req_err_rtn
+l2cap_disconnect_rfcomm_now:
+	call l2cap_reset_rfcomm_channel_state
+	branch l2cap_send_disconnect_rsp_pkt
+l2cap_send_disconnect_rsp_pkt:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_err_rtn:
+	call load_cont_pointers
+	branch l2cap_proc_signal_disconnect_req_rtn
+l2cap_proc_signal_disconnect_req_rtn:
+	iadd regB,regB
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch22_7,mem_patch22
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch l2cap_proc_signal_disconnect_rsp_hid_int,zero
+	call l2cap_reject_command
+	branch l2cap_proc_signal_disconnect_rsp_err_rtn
+l2cap_proc_signal_disconnect_rsp_sdp:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_sdp_remote_cid
+	isub temp,null
+	call l2cap_reset_sdp_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rfcomm:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_rfcomm_remote_CID
+	isub temp,null
+	call l2cap_reset_rfcomm_channel_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_ctrl:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_ctrl_remote_cid
+	isub temp,null
+	call  l2cap_reset_hid_ctrl_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_hid_int:
+	copy temp,regA
+	copy timeup,temp
+	fetch 2,mem_hid_int_remote_cid
+	isub temp,null
+	call l2cap_reset_hid_int_state,zero
+	branch l2cap_proc_signal_disconnect_rsp_rtn
+l2cap_proc_signal_disconnect_rsp_rtn:
+	call load_cont_pointers
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_disconnect_rsp_err_rtn:
+	branch l2cap_process_one_signal_rtn
+
+/* received an echo request from remote BD.  Will echo the 1st 1 byte back,		*/
+l2cap_proc_signal_echo_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	iadd contr,contr
+	setarg 9
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 4,pdata
+	iadd regB,regB
+	copy regC,pdata
+	isub regA,regC
+	branch l2cap_process_one_signal_rtn
+l2cap_proc_signal_echo_rsp:
+	branch l2cap_process_one_signal_rtn
+
+l2cap_proc_signal_info_rsp:
+	branch l2cap_process_one_signal_rtn
+l2cap_reject_command:
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	setarg signal_cmd_reject
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 2
+	istore 2,contw
+	setarg cmd_not_understood
+	istore 2,contw
+	increase 6,regB
+	arg 4,regC
+	branch l2cap_process_one_signal_rtn
+
+
+
+l2cap_reset_rfcomm_channel_state:
+	setarg 0
+	store 2,mem_RFCOMM_Tx_pkt_length
+	store 2,mem_RFCOMM_remote_CID
+	jam 0,mem_rfcomm_state
+	rtn
+l2cap_reset_sdp_channel_state:
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	rtn
+l2cap_reset_hid_ctrl_state:
+	setarg 0
+	store 2,mem_hid_ctrl_remote_cid
+	jam 0,mem_hid_control_state
+	fetch 1,mem_hid_interrupt_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+
+l2cap_reset_hid_int_state:
+	setarg 0
+	store 2,mem_hid_int_remote_cid
+	jam 0,mem_hid_interrupt_state
+	fetch 1,mem_hid_control_state
+	beq 0,l2cap_reset_hid_disconnected
+	rtn
+	
+l2cap_reset_hid_disconnected:
+	jam BT_EVT_HID_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+l2cap_disconnect_interrupt_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_INTERRUPT, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_int_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_int_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Interrupt_channel,regB
+	branch l2cap_generate_disconnect_req
+l2cap_disconnect_control_req:
+	fetch 1,mem_CONTROL_tasks
+	set0  L2CAP_DISCONNECT_CONTROL, pdata
+	store 1,mem_CONTROL_tasks
+	fetch 2, mem_hid_ctrl_remote_cid
+	rtn blank
+	call l2cap_malloc_signal_channel
+	fetch 2, mem_hid_ctrl_remote_cid
+	copy pdata,regA
+	force L2CAP_HID_Control_channel,regB
+l2cap_generate_disconnect_req:
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	force signal_disconnect_req,pdata
+	istore 1,contw
+	fetch  1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy regB,pdata
+	istore 2,contw
+	force 0x08,temp //signal tx length in temp
+	branch ml2cap_send_signal
+
+ml2cap_send_signal_connect_req:
+	bpatchx patch23_0,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_connect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata	 //PSM
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 8,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_config_req:
+	bpatchx patch23_1,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_config_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	istore 1,contw
+	setarg 0x0008
+	istore 2,contw
+	/****modigy for nokia*****/
+	copy temp,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x01
+	istore 1,contw
+	setarg 0x02
+	istore 1,contw
+	setarg L2CAP_config_MTU_RFCOMM
+	istore 2,contw
+	arg 0xc,temp
+	branch ml2cap_send_signal
+ml2cap_send_signal_disconn_req:
+	bpatchx patch23_2,mem_patch23
+	call l2cap_get_req_id
+	call l2cap_get_signal_tx_payload
+	setarg signal_disconnect_req
+	istore 1,contw
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	copy contw,regA
+	store 1,mem_ML2CAP_comm_id
+	copy regA,contw
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy temp,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	arg 0x8,temp
+	//branch ml2cap_send_signal
+	//Fall through
+ml2cap_send_signal:
+	storet 2,mem_l2cap_signal_tx_length
+	copy temp,pdata
+	branch l2cap_malloc_discard,blank
+	call l2cap_get_signal_tx_buff
+	fetch 2,mem_l2cap_signal_tx_length
+	istore 2,contw //make sure that length is still in temp!
+	force L2CAP_signal_channel,pdata
+	istore 2,contw
+	rtn
+
+msdp_send_req_done:
+	fetch 2,mem_sdp_tx_pkt_length
+	branch assert,blank
+	call l2cap_get_sdp_tx_buff
+	fetch 2,mem_sdp_tx_pkt_length
+	istore 2,contw
+	fetch 2,mem_sdp_remote_cid
+	istore 2,contw
+	rtn
+ml2cap_rx_multiplexing:
+	fetch 2, mem_l2cap_rx_pkt_length
+	branch l2cap_rx_reset_state,blank
+	bpatchx patch23_3,mem_patch23
+	fetch 1,mem_l2cap_rx_cid
+	beq L2CAP_signal_channel,ml2cap_call_proc_signal
+	beq L2CAP_SDP_channel,ml2cap_call_proc_sdp
+	beq L2CAP_RFCOMM_channel,l2cap_call_proc_rfcomm
+	beq L2CAP_HID_Control_channel,l2cap_call_proc_hid
+	beq L2CAP_HID_Interrupt_channel,l2cap_call_proc_hid
+	branch l2cap_rx_reset_state
+
+ml2cap_call_proc_signal:
+	bpatchx patch23_4,mem_patch23
+	call l2cap_malloc_signal_channel
+	force 0,regB
+	call l2cap_get_signal_tx_payload
+	copy pdata,contw
+	fetch 2,mem_l2cap_rx_pkt_length
+	copy pdata,regC
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+ml2cap_proc_one_comm_loop:
+	call ml2cap_proc_one_comm
+	increase -4,regC
+	nbranch ml2cap_proc_one_comm_loop,zero
+	copy regB,temp
+	call ml2cap_send_signal
+	branch l2cap_rx_reset_state
+	
+ml2cap_proc_one_comm:
+	ifetch 1,contr
+	beq signal_connect_req,ml2cap_proc_signal_connect_req
+	beq signal_cmd_reject,ml2cap_proc_signal_cmd_reject
+	beq signal_connect_rsp,ml2cap_proc_signal_connect_rsp
+	beq signal_config_rsp,ml2cap_proc_signal_config_rsp
+	beq signal_config_req,ml2cap_proc_signal_config_req
+	beq signal_disconnect_rsp,ml2cap_proc_signal_disconn_rsp
+	beq signal_disconnect_req,ml2cap_proc_signal_disconn_req
+	beq signal_echo_req,l2cap_proc_signal_echo_req
+	beq signal_info_req,ml2cap_proc_signal_info_req
+	branch ml2cap_proc_send_reject
+
+ml2cap_proc_signal_connect_req:
+	call save_cont_pointers
+	//jam NO_RECONNECTION,memui_reconnect_mode
+	call load_cont_pointers
+	branch l2cap_proc_signal_connect_req
+ml2cap_proc_signal_cmd_reject:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+mvptr:
+	ifetch 1,contr
+	increase -1,regA
+	nbranch mvptr,zero
+	rtn
+ml2cap_proc_signal_connect_rsp:
+	ifetch 1,contr //id
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA	//length
+	ifetch 2,contr
+	copy pdata,timeup	//destination	cid
+	ifetch 2,contr
+	copy pdata,temp	//source	cid
+	ifetch 2,contr 		// result
+	sub pdata,0,null
+	branch ml2cap_proc_signal_connect_rsp_sucessful,zero
+	beq L2CAP_connect_refused_PSM_unsupported,ml2cap_proc_signal_connect_refused_result
+	beq L2CAP_connect_refused_no_resources,ml2cap_proc_signal_connect_refused_result
+	branch ml2cap_proc_signal_connect_rsp_mnosucc
+ml2cap_proc_signal_connect_refused_result:
+	jam BT_EVT_ML2CAP_CONN_REFUSED,mem_fifo_temp
+	call ui_ipc_send_event
+ml2cap_proc_signal_connect_rsp_mnosucc:
+	ifetch 2,contr //reason
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sucessful:
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mnosucc1,true
+	bpatchx patch23_5,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_rfcomm,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_int,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_connect_rsp_hid_ctrl,zero
+	branch mnosucc
+ml2cap_proc_signal_connect_rsp_sdp:
+	copy timeup,pdata
+	store 2,mem_sdp_remote_cid
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_sdp_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_rfcomm:
+	copy timeup,pdata
+	store 2,mem_RFCOMM_remote_CID
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_rfcomm_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_ctrl:
+	copy timeup,pdata
+	store 2,mem_hid_ctrl_remote_cid
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_control_state
+	branch mnosucc1
+ml2cap_proc_signal_connect_rsp_hid_int:
+	copy timeup,pdata
+	store 2,mem_hid_int_remote_cid
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_RES
+	store 1,mem_hid_interrupt_state
+	//branch mnosucc1
+
+mnosucc1:
+	call load_cont_pointers
+mnosucc:
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_signal_config_rsp:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	copy pdata,timeup
+	ifetch 2,contr
+	ifetch 2,contr		//	Get the result value, check success
+	nbranch mcrsdone1,blank
+	call save_cont_pointers
+	//fetch 1,mem_ML2CAP_comm_id
+	//icompare 0xff,queue
+	//nbranch mcfrsdone,true
+	copy timeup,temp
+	bpatchx patch23_6,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_rsp_hid_int,zero
+ml2cap_proc_signal_config_rsp_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_sdp_state
+	rtn
+ml2cap_proc_signal_config_rsp_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_rfcomm_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_control_state
+	rtn
+ml2cap_proc_signal_config_rsp_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_RES
+	store 1,mem_hid_interrupt_state
+	jam BT_EVT_HID_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+mcfrsdone:
+	call load_cont_pointers
+mcrsdone1:
+	increase -6,regA
+mloop2:
+	branch mcrsdone,zero
+	increase 1,contr
+	increase -1,regA
+	branch mloop2
+mcrsdone:
+	rtn
+ml2cap_proc_signal_config_req:
+	ifetch 1,contr		//	Ident
+	copy pdata,queue
+	ifetch 2,contr		//	SigLen
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+	ifetch 2,contr		//	DestnCID
+	increase 2,contr
+	copy pdata,temp
+	setarg  signal_config_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	increase 2,regA
+	copy regA,pdata
+	istore 2,contw
+	call save_cont_pointers
+	bpatchx patch23_7,mem_patch23
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_rfcomm,zero
+	setarg L2CAP_HID_Control_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	isub temp,null
+	branch ml2cap_proc_signal_config_req_hid_int,zero
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_sdp:
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_sdp_state
+	bbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,ml2cap_proc_signal_config_req_sdp_nsndreq
+	fetcht 1,mem_CONTROL_tasks
+	set1 L2CAP_init_Config_Req,temp
+	storet 1,mem_CONTROL_tasks
+	copy queue,pdata
+	increase 1,pdata
+	store 1,mem_config_identifier
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+ml2cap_proc_signal_config_req_sdp_nsndreq:
+	fetch 2,mem_sdp_remote_cid
+	store 2,mem_config_req_dest_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_rfcomm:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_rfcomm_state
+	fetch 2,mem_RFCOMM_remote_CID
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_ctrl:
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_control_state
+	fetch 2,mem_hid_ctrl_remote_cid
+	branch mcfgrq_done
+ml2cap_proc_signal_config_req_hid_int:
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_RCV_CFG_REQ,pdata
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_RES,pdata
+	store 1,mem_hid_interrupt_state
+	fetch 2,mem_hid_int_remote_cid
+	//branch mcfgrq_done
+
+mcfgrq_done:
+	copy pdata,timeup
+	call load_cont_pointers
+/*******for Nokia**************/
+	copy timeup,pdata
+	/*setarg 0x0040*/
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 0x0000,pdata
+	istore 2,contw
+	force 10,pdata
+	iadd regB,regB
+	increase -6,regA
+mloop1:
+	branch mcrqdone,zero
+	ifetch 1,contr
+	istore 1,contw
+	increase 1,regB
+	increase -1,regA
+	branch mloop1
+mcrqdone:
+	rtn
+ml2cap_proc_signal_disconn_req:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	copy regC,pdata
+	isub regA,regC
+
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	call save_cont_pointers
+	bpatchx patch24_0,mem_patch24
+	setarg L2CAP_SDP_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_sdp,zero
+	setarg L2CAP_HID_Control_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_ctrl,zero
+	setarg L2CAP_HID_Interrupt_channel
+	copy regA,temp
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_hid_int,zero
+	branch mclsrfc
+ml2cap_proc_signal_disconn_sdp:
+	setarg 0x0000
+	store 2,mem_sdp_tx_pkt_length
+	store 2,mem_sdp_remote_cid
+	store 1,mem_sdp_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_ctrl:
+	call l2cap_reset_hid_ctrl_state
+	branch mclssdp
+ml2cap_proc_signal_disconn_hid_int:
+	call l2cap_reset_hid_int_state
+	//call HID_mem_lock
+	//fetch 1, mem_hid_cb1
+	//set1 HID_CB_APP_HID_DISCONNECTED,pdata
+	//store 1, mem_hid_cb1
+	//call HID_mem_unlock
+	branch mclssdp
+mclsrfc:
+	setarg 0x0000
+	store 2,mem_RFCOMM_Tx_pkt_length
+mclssdp:
+	call load_cont_pointers
+	setarg signal_disconnect_rsp
+	istore 1,contw
+	copy queue,pdata
+	istore 1,contw
+	setarg 0x0004
+	istore 2,contw
+	copy regA,pdata
+	istore 2,contw
+	copy timeup,pdata
+	istore 2,contw
+	force 8,pdata
+	iadd regB,regB
+	rtn
+
+ml2cap_proc_signal_disconn_rsp:
+	ifetch 1,contr
+	copy pdata,queue
+	ifetch 2,contr
+	copy pdata,regA
+	ifetch 2,contr
+	copy pdata,timeup
+	ifetch 2,contr
+	copy pdata,temp
+	call save_cont_pointers
+	bpatchx patch24_1,mem_patch24
+	fetch 1,mem_ML2CAP_comm_id
+	icompare 0xff,queue
+	nbranch mdisdone,true
+	setarg L2CAP_SDP_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_sdp,zero
+	setarg L2CAP_RFCOMM_channel
+	isub temp,null
+	branch ml2cap_proc_signal_disconn_rsp_rfcomm,zero
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_sdp:
+	jam 0,mem_sdp_remote_cid
+	jam 0,mem_sdp_state
+	branch mdisdone
+ml2cap_proc_signal_disconn_rsp_rfcomm:
+	//
+	//
+mdisdone:
+	call load_cont_pointers
+	copy regC,pdata
+	isub regA,regC
+	rtn
+
+ml2cap_proc_send_reject:
+	setarg signal_cmd_reject
+	istore 1,contw
+	ifetch 1,contr
+	istore 1,contw
+	setarg 0x0002
+	istore 2,contw
+	setarg 0x0000
+	istore 2,contw
+	setarg 0x0006
+	iadd regB,regB
+	force 4,regC
+	rtn
+	
+//l2cap command id, 0 is not allowed
+l2cap_get_req_id:
+	fetch 1,mem_ML2CAP_comm_id
+	increase 1,pdata
+	bne 0,l2cap_get_req_id_ok
+	increase 1,pdata
+l2cap_get_req_id_ok:
+	store 1,mem_ML2CAP_comm_id
+	rtn
+
+
+/*********************************************************/
+//char* malloc(short len)
+//input: regA -> len
+//rtn: regB -> pbuff;return from pdata
+//val: queue -> i
+//val: timeup -> buff_cnt
+/*********************************************************/
+l2cap_malloc:
+	bpatchx patch24_2,mem_patch24
+	arg 0,regb
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank//assert when fifo full
+	call l2cap_malloc_get_full_map
+ifdef DEBUG_MALLOC
+	call l2cap_malloc_log_get_ptr
+	copy regA,pdata
+	istore 2,contw
+	sub pdata,1024,null
+	branch assert,positive
+	branch assert,blank
+endif
+	arg mem_tx_buff0,regB//pbuff = buff0;
+	arg 0,queue // i = 0;
+l2cap_malloc_loop:
+	fetcht 1,mem_used_map
+	qisolate1 temp
+	branch l2cap_malloc_next,true//if(1 == (used_map & (1 << i)))goto next;
+	call l2cap_malloc_enough
+	sub timeup,0,null// (0 - timeup)
+	branch l2cap_malloc_next,positive//if(buff_cnt <= 0)goto next;
+	call l2cap_malloc_into_fifo
+	branch l2cap_malloc_rtn//return (pbuff);
+l2cap_malloc_next:
+	increase 128,regB//pbuff += BUFF_SIZE;//point to next buff
+	increase 1,queue
+	setarg 8//BUFF_MAX_COUNT
+	isub queue,null //BUFF_MAX_COUNT - i
+	branch l2cap_malloc_loop,positive//while(i < buff_max_count)
+	arg 0,regB//return NULL
+l2cap_malloc_rtn:
+ifdef DEBUG_MALLOC
+	call l2cap_malloc_log_get_ptr
+	copy regB,pdata
+	istore 2,contw
+endif
+	copy regB,pdata
+	branch assert,blank
+	rtn//return pointer via pdata
+	
+/*********************************************************/
+//void* l2cap_malloc_fifo_out(void)
+//output:len -> temp
+//output:ptr ->pdata
+//only get ptr,not free
+/*********************************************************/
+l2cap_malloc_fifo_out:
+	bpatchx patch24_3,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	increase 1,contr
+	ifetch 2,contr //ptr ->pdata
+	rtn 
+
+/*********************************************************/
+//void free_first_buff_in_fifo(void)
+//only free the first one
+/*********************************************************/
+l2cap_malloc_free:
+	bpatchx patch24_4,mem_patch24
+	call l2cap_malloc_fifo_get_first_ptr
+	copy contr,contw
+	copy contr,temp
+	setarg 0
+	istore 3,contw
+ifdef DEBUG_MALLOC
+	call l2cap_malloc_log_get_ptr
+	setarg 0xaa
+	istore 1,contw
+	istoret 1,contw
+endif
+	rtn
+/*********************************************************/
+//void l2cap_malloc_discard(void)
+//discard the latest malloc
+/*********************************************************/
+l2cap_malloc_discard:
+	bpatchx patch24_5,mem_patch24
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank
+	fetch 3,mem_tx_fifo2
+	store 3,mem_tx_fifo3
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo2
+	fetch 3,mem_tx_fifo0
+	store 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_full(void)
+//blank == 1: not full
+//blank == 0: full
+/*********************************************************/
+l2cap_malloc_is_fifo_full:
+	bpatchx patch24_6,mem_patch24
+	fetch 3,mem_tx_fifo0
+	rtn
+/*********************************************************/
+//bool fifo_nearly_full(void)
+//blank == 1: nearly full
+//blank == 0: not nearly full
+/*********************************************************/
+l2cap_malloc_is_fifo_nearly_full:
+	bpatchx patch24_7,mem_patch24
+	fetch 3,mem_tx_fifo1
+	rtn
+/*********************************************************/
+//bool fifo_is_empty(void)
+//blank == 1: empty
+//blank == 0: not empty
+/*********************************************************/
+l2cap_malloc_is_fifo_empty:
+	bpatchx patch25_0,mem_patch25
+	fetch 3,mem_tx_fifo3
+	rtn
+/*********************************************************/
+//char* l2cap_malloc_fifo_get_first_ptr(void)
+//output:contr  -->ptr
+/*********************************************************/	
+l2cap_malloc_fifo_get_first_ptr:
+	call l2cap_malloc_is_fifo_empty
+	branch assert,blank // fifo is empty
+	arg mem_tx_fifo0,contr
+ifdef DEBUG_MALLOC
+	arg 5,loopcnt
+l2cap_malloc_free_loop:
+	increase -1,loopcnt
+	copy loopcnt,pdata
+	branch assert,blank
+else
+l2cap_malloc_free_loop:
+endif
+	ifetch 3,contr
+	branch l2cap_malloc_free_loop,blank
+	increase -3,contr
+	rtn
+
+/*********************************************************/
+//char* l2cap_malloc_get_full_map(void)
+//output:mem_used_map  -->full_map
+//add all maps into one
+/*********************************************************/	
+l2cap_malloc_get_full_map:
+	bpatchx patch25_1,mem_patch25
+	arg 4,loopcnt
+	arg mem_tx_fifo0_map,contr
+	arg 0,temp
+l2cap_malloc_get_full_map_loop:	
+	ifetch 3,contr
+	and pdata,0xff,pdata
+	ior temp,temp
+	loop l2cap_malloc_get_full_map_loop
+	storet 1,mem_used_map
+	rtn
+/*********************************************************/
+//void buff_into_fifo(char buff_index, char buff_cnt, short len)
+//input: regA -> len
+//input: regC -> buff_index
+//input: timeup -> buff_cnt
+//val:temp ->   (fifo->map)
+/*********************************************************/
+l2cap_malloc_into_fifo:
+	bpatchx patch25_2,mem_patch25
+	call l2cap_malloc_is_fifo_full
+	nbranch assert,blank //fifo full
+	call l2cap_malloc_is_fifo_empty
+	branch l2cap_malloc_into_fifo_no_push,blank//fifo empty, no need to push
+	fetch 3,mem_tx_fifo1
+	store 3,mem_tx_fifo0
+	ifetch 3,contr//mem_tx_fifo2
+	istore 3,contw//mem_tx_fifo1
+	ifetch 3,contr//mem_tx_fifo3
+	istore 3,contw//mem_tx_fifo2
+	setarg 0
+	istore 3,contw//mem_tx_fifo3
+l2cap_malloc_into_fifo_no_push:
+	arg 0,temp
+	copy timeup,pdata
+	iadd queue,pdata
+l2cap_malloc_into_fifo_loop:
+	qset1 temp//fifo->map |= 1 << i;
+	increase 1,queue
+	isub queue,null
+	nbranch l2cap_malloc_into_fifo_loop,zero
+	//map in temp
+	lshift8 regB,pdata
+	ior temp,pdata
+	store 3,mem_tx_fifo3
+	rtn
+
+/*********************************************************/
+//char is_size_enough(char buff_index, short len)
+//input: regA -> len
+//input: queue -> buff_index
+//rtn: timeup -> buff_cnt
+//val: max_size_fom_buff_index -> temp
+//val: i -> loopcnt
+/*********************************************************/
+l2cap_malloc_enough:
+	bpatchx patch25_3,mem_patch25
+	call l2cap_malloc_get_full_map
+	copy queue,regC//restore buff_index to regC
+	arg 0,temp
+	arg 0,timeup//default return val
+	//increase 1,queue
+l2cap_malloc_enough_loop:
+	copy queue,pdata
+	beq 8,l2cap_malloc_enough_end
+	fetch 1,mem_used_map
+	qisolate1 pdata
+	branch l2cap_malloc_enough_end,true
+	increase 128,temp
+	increase 1,queue
+	copy regA,pdata
+	isub temp,null
+	branch l2cap_malloc_enough_end,zero//(max_size_fom_buff_index ==  len)
+	branch l2cap_malloc_enough_loop,positive//(max_size_fom_buff_index <  len)
+l2cap_malloc_enough_end:
+	copy temp,pdata
+	isub regA,null
+	nbranch l2cap_malloc_enough_rtn,positive// max_size_fom_buff_index - len > 0
+	copy queue,pdata//i
+	copy regC,temp//buff_index
+	isub temp,timeup//return (i - buff_index)
+l2cap_malloc_enough_rtn:
+	copy regC,queue//restore buff_index to queue
+	rtn
+	
+ifdef DEBUG_MALLOC
+l2cap_malloc_log_get_ptr:
+	fetch 2,mem_tx_malloc_log
+	increase 2,pdata
+	store 2,mem_tx_malloc_log
+	sub pdata,62,null
+	nbranch l2cap_malloc_log_clean,positive
+	increase -2,pdata
+	iadd contw,contw
+	rtn
+l2cap_malloc_log_clean:
+	jam 0x00,mem_tx_malloc_log
+	branch l2cap_malloc_log_get_ptr	
+endif
+
+l2cap_malloc_signal_channel:
+	bpatchx patch25_4,mem_patch25
+	arg L2CAP_SIGNAL_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_l2cap_signal_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_l2cap_signal_tx_payload_ptr
+	setarg 0
+	store 2,mem_l2cap_signal_tx_length
+	rtn
+
+l2cap_get_signal_tx_buff:
+	fetch 2,mem_l2cap_signal_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_signal_tx_payload:
+	fetch 2,mem_l2cap_signal_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_sdp_channel:
+	bpatchx patch25_5,mem_patch25
+	arg SDP_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_sdp_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_sdp_tx_payload_ptr
+	setarg 0
+	store 2,mem_sdp_tx_pkt_length
+	rtn
+
+l2cap_get_sdp_tx_buff:
+	fetch 2,mem_sdp_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+
+l2cap_get_sdp_tx_payload:
+	fetch 2,mem_sdp_tx_payload_ptr
+	branch l2cap_util_pdata_to_contw
+
+
+l2cap_malloc_rfcomm_channel:
+	bpatchx patch25_6,mem_patch25
+	call push_stack
+	jam RFCOMM_MALLOC_FAIL,mem_rfcomm_malloc_fail_flag
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	arg RFCOMM_MALLOC_SIZE,regA
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	setarg 0
+	store 2,mem_rfcomm_tx_pkt_length
+	jam RFCOMM_MALLOC_SUCCEED,mem_rfcomm_malloc_fail_flag
+	branch pop_stack
+
+l2cap_get_rfcomm_tx_buff:
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	branch l2cap_util_pdata_to_contw
+	
+l2cap_util_pdata_to_contw:
+	branch assert,blank
+	copy pdata,contw
+	rtn
+	
+
+l2cap_lpm_save_calc_len:
+	bpatchx patch25_7,mem_patch25
+	arg 0,regb
+	arg mem_tx_fifo0_map,rega
+	increase -2,rega
+l2cap_lpm_save_calc_len_loop:
+	increase 2,rega
+	setarg mem_tx_fifo_end
+	isub rega,null
+	branch l2cap_lpm_save_calc_len_end,zero //end of 2lcap tx fifo
+	ifetch 1,rega
+	increase 1,rega
+	branch l2cap_lpm_save_calc_len_loop,blank
+	ifetcht 2,rega
+	ifetch 2,temp
+	iadd regb,regb
+	increase 4,regb //l2cap header len
+	branch l2cap_lpm_save_calc_len_loop
+l2cap_lpm_save_calc_len_end:
+	copy regb,pdata
+	rtn
+
+
+l2cap_lpm_get_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_get_wake_lock
+
+l2cap_lpm_put_wake_lock:
+	arg wake_lock_l2cap_tx,queue
+	branch lpm_put_wake_lock
+	
+l2cap_lpm_save_txbuf:
+	bpatchx patch26_0,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	call l2cap_lpm_save_calc_len
+	arg l2cap_lpm_txbuf_len,temp
+	isub temp,null
+	branch l2cap_lpm_get_wake_lock,positive //no enougth space to save l2cap tx data
+	call l2cap_lpm_put_wake_lock
+	arg mem_l2cap_lpm_txbuf,contw
+	arg mem_tx_fifo0,rega
+l2cap_lpm_save_txbuf_loop:
+	setarg mem_tx_fifo_end
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 1,rega  //mem_tx_fifoX_map
+	increase 1,rega
+	nbranch l2cap_lpm_save_txbuf_nempty,blank
+	istore 2,contw // length = 0
+	increase 2,rega
+	branch l2cap_lpm_save_txbuf_loop
+l2cap_lpm_save_txbuf_nempty:
+	ifetch 2,rega //ptr
+	increase 2,rega
+	copy pdata,contr
+	ifetch 2,contr  //l2cap len
+	istore 2,contw
+	copy pdata,loopcnt
+	increase 2,loopcnt //add CID len
+	call memcpy
+	branch l2cap_lpm_save_txbuf_loop
+	
+l2cap_lpm_load_txbuf:
+	bpatchx patch26_1,mem_patch26
+	call l2cap_malloc_get_full_map
+	fetch 1,mem_used_map
+	rtn blank
+	arg mem_tx_fifo0_ptr,rega
+	increase -3,rega //mem_tx_fifo0_ptr -3
+	arg mem_l2cap_lpm_txbuf,contr
+l2cap_lpm_load_txbuf_loop:
+	increase 3,rega //mem_tx_fifoX_ptr
+	setarg mem_tx_fifo_end+1
+	isub rega,null
+	rtn zero //end of 2lcap tx fifo
+	ifetch 2,contr
+	branch l2cap_lpm_load_txbuf_loop,blank
+	increase 4,pdata //l2cap header len
+	copy pdata,loopcnt
+	copy contr,regb
+	ifetch 2,rega //ptr
+	copy pdata,contw
+	copy regb,contr
+	increase -2,contr
+	call memcpy
+	branch l2cap_lpm_load_txbuf_loop
+	
+
+
+	
Index: YJX_Only24g/main/program/le.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le.prog	(working copy)
@@ -0,0 +1,1839 @@
+ifdef COMPILE_LE
+//******************************************//
+//*************LE INIT ****************//
+//******************************************//
+
+
+le_init_conn:
+	bpatchx patch26_2,mem_patch26
+	disable wake
+	jam 1,mem_le_conn_handle
+	jam 3,mem_le_state
+	jam 1,mem_le_arq
+	setarg -1
+	store 2,mem_le_event_count
+	force 0,pdata
+	store 1,mem_le_ch
+	store 1,mem_le_op
+	store 3,mem_sniff_rcv
+	store 3,mem_sniff_lost
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	jam 1,mem_le_txheader
+	jam 0,mem_le_txlen
+	branch le_supervision_flush
+
+le_init_master:
+	bpatchx patch26_3,mem_patch26
+	enable master
+	jam lemode_master,mem_le_mode
+	jam 1,mem_le_att_handle
+	jam 1,mem_le_search_handle_start
+	setarg 0xffff
+	store 2,mem_le_search_handle_end
+	force 0,pdata
+	store 5,mem_le_pcnt_rx
+	set1 39,pdata
+	store 5,mem_le_pcnt_tx	
+	branch le_init_conn
+
+
+le_init_slave:
+	bpatchx patch26_4,mem_patch26
+	disable master
+ 	setarg 0x17
+ 	store 2,mem_le_remote_mtu
+	jam lemode_slave,mem_le_mode
+	jam 0,mem_le_adv_enable
+	jam 0,mem_lpm_current_mult
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	fetch 2,mem_le_tsniff
+	mul32 pdata,5,pdata
+	rshift4 pdata,pdata
+	store 2,mem_le_superto			// vol.6 part B 4.5.2 only 6*conninterval before establish
+	branch le_init_conn
+	
+
+//******************************************//
+//*************LE main process*********//
+//******************************************//
+le_dispatch:
+	call le_enable
+	call le_scan
+	call le_adv
+	branch le_disable
+
+le_conn_dispatch:
+	bpatchx patch26_5,mem_patch26
+	call le_enable
+	call app_process_ble
+	fetch 1,mem_le_mode
+	beq lemode_master,le_master_dispatch
+	branch le_slave_dispatch
+	
+//******************************************//
+//***********LE master process*********//
+//******************************************//
+	
+le_master_dispatch:
+	bpatchx patch26_6,mem_patch26
+	enable master
+	call le_supervision_update
+	branch le_master_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_prepare_tx
+	disable match
+	call le_transmit_receive_sifs
+	nrtn match
+	bpatchx patch26_7,mem_patch26
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	call le_acknowledge
+	disable master
+	rtn
+	
+le_master_disconn:
+	call le_disconnect
+	disable master
+	rtn
+	
+//******************************************//
+//***********LE slave process***********//
+//******************************************//
+le_slave_dispatch:
+	bpatchx patch27_0,mem_patch27
+	jam 0,mem_le_md_count
+ifdef SECURE_CONNECTION
+	call sp_calc_sequence_256
+	call le_secure_connect_sm
+endif
+	disable attempt
+	call le_supervision_update
+	branch le_slave_disconn,positive
+	call check_ble_disabled
+	call le_setup
+	call le_receive_slave
+	nbranch le_slave_unsync,sync	// vol.6 part B 4.5.1 respond even crc error
+	call le_got_first_packet
+	branch le_slave_match,match
+	branch le_slave_cont
+	
+
+le_slave_match:
+	bpatchx patch27_1,mem_patch27
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call le_transmit_norx
+	call le_parse
+	fetch 2,mem_cb_ble_transmit
+	call callback_func
+	call le_check_md
+	branch le_slave_more_data,user
+le_slave_cont:
+	bpatchx patch27_2,mem_patch27
+	call le_pairing_sm
+ 	call le_check_paring_time
+	call check_51cmd
+	fetch 1,mem_le_op
+	bbit1 op_disconn,le_slave_disconn
+le_slave_unsync:
+	bpatchx patch27_3,mem_patch27
+	call le_lpm_set_mult
+	call le_update_channel_map
+	call le_update_param
+	branch calc_clke_offset
+
+
+le_check_md:
+	disable user
+	bmark1 mark_ble_rx_md,enable_user
+	bmark1 mark_ble_tx_md,enable_user
+	rtn
+
+
+le_slave_more_data:
+	bpatchx patch27_4,mem_patch27
+	enable attempt
+	call le_transmit_receive_sifs_notx
+	branch le_slave_match,match
+	branch le_slave_cont
+
+le_slave_disconn:
+
+	//fall through
+le_disconnect:
+	bpatchx patch27_5,mem_patch27
+	call le_clear_connection_info
+	call app_disconn_reason_collect_ble
+ifdef SECURE_CONNECTION
+	call sp_initialize_256
+endif
+	jam BT_EVT_LE_DISCONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_clear_connection_info:
+	setarg 0
+	store 9,mem_le_tx_buff_used
+	jam 0,mem_le_conn_handle
+	jam lemode_idle,mem_le_mode
+	jam 0,mem_le_state
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	rtn
+	
+le_got_first_packet:
+	bpatchx patch27_6,mem_patch27
+	fetch 1,mem_le_conn_rcv
+	increase 1,pdata
+	store 1,mem_le_conn_rcv
+	fetch 1,mem_le_state
+	rtnbit1 lestate_got_first_packet
+	set1 lestate_got_first_packet
+	store 1,mem_le_state
+	fetch 2,mem_le_init_superto
+	store 2,mem_le_superto
+	setarg 0
+	store 4,mem_le_transmit_window
+	rtn
+
+
+le_enable:
+	bpatchx patch27_7,mem_patch27
+	jam 0x36,rf_adc_goff        /*For BLE, tune AGC_gain_offset, Max added*/
+	jam 0x5f,rf_agc_nsat        //for BLE
+	enable le
+	jam 7,rfen_ulp			/* enable ulp */
+	call check_ble_disabled
+	fetch 1,mem_250k_freq_enable	//default: 0
+	rtn blank
+	jam 0xb8,rf_iq_gain
+	rtn
+	
+le_disable:
+	bpatchx patch28_0,mem_patch28
+	jam 0x2e,rf_adc_goff        /*For BR/EDR, tune AGC_gain_offset, Max added*/
+	jam 0xff,rf_agc_nsat         //for EDR&BR
+	disable le
+	jam 3,rfen_ulp
+	arg 0,stop_watch
+	rtn
+	
+le_prep:
+	disable enable_crc
+	disable enable_white
+	fetch 3,mem_le_crcinit
+	iforce crc24_init
+	fetch 1,mem_le_ch_mapped
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+	
+
+lerx_setfreq:
+	call le_setfreq
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	branch rf_rx_enable
+
+letx_setfreq:
+	branch txon,match
+letx_setfreq0:
+	call le_setfreq
+	branch set_freq_tx
+le_setfreq:
+	bpatchx patch28_1,mem_patch28
+	call set_sync_on
+	fetch 1, mem_le_testtype
+	nbranch le_ctf_test,blank
+	fetch 1,mem_le_ch_mapped
+	sub pdata,36,null
+	branch le_ctf_normal,positive
+	force 0,temp
+	rtneq 37
+	force 24,temp
+	rtneq 38
+	force 78,temp
+	rtn
+	
+le_ctf_normal:
+	sub pdata,10,null
+	branch le_ctf_low,positive
+	increase 1,pdata
+	
+le_ctf_low:	
+	lshift pdata,pdata
+	add pdata,2,temp
+	rtn
+	
+le_ctf_test:
+	fetch 1,mem_le_ch_mapped
+	lshift pdata,temp
+	rtn
+
+le_sca_map:
+	arg 500,temp
+	rtn blank
+	arg 250,temp
+	rtneq 1
+	arg 150,temp
+	rtneq 2
+	arg 100,temp
+	rtneq 3
+	arg 75,temp
+	rtneq 4
+	arg 50,temp
+	rtneq 5
+	arg 40,temp
+	rtneq 6
+	arg 20,temp
+	rtn
+
+
+	
+le_adv_access:
+	setarg 0x8e89be
+	lshift8 pdata,pdata
+	or_into 0xd6,pdata
+	iforce access
+	setarg 0x555555
+	store 3,mem_le_crcinit
+	rtn
+
+le_setup:
+	bpatchx patch28_2,mem_patch28
+	enable swfine
+	fetch 4,mem_le_access
+	iforce access
+	call le_map_channel
+	setarg 0x200
+	branch le_setup_master,master
+	fetch 2,mem_le_receive_window
+	rshift pdata,pdata
+le_setup_master:
+	arg param_pll_setup,temp
+	iadd temp,pdata
+	call ahead_window
+	deposit clke
+	store 6,mem_le_rxon_ts
+	rtn
+
+le_next_adv_channel:
+	bpatchx patch28_3,mem_patch28
+	fetch 1,mem_le_ch_mapped
+	beq 37,le_next_adv_channel_curr_channel_37
+	beq 38,le_next_adv_channel_curr_channel_38
+	beq 39,le_next_adv_channel_curr_channel_39
+	branch le_next_adv_channel_curr_channel_39
+
+le_next_adv_channel_curr_channel_37:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	branch set_le_next_adv_channel_37
+
+
+le_next_adv_channel_curr_channel_38:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_39,temp		//check 39 channel enable
+	branch set_le_next_adv_channel_39,true
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	branch set_le_next_adv_channel_38
+
+
+le_next_adv_channel_curr_channel_39:
+	fetcht 1,mem_le_adv_channel_map
+	isolate1 BIT_ADV_CHANNEL_MAP_37,temp		//check 37 channel enable
+	branch set_le_next_adv_channel_37,true
+	isolate1 BIT_ADV_CHANNEL_MAP_38,temp		//check 38 channel enable
+	branch set_le_next_adv_channel_38,true
+	branch set_le_next_adv_channel_39
+
+
+
+set_le_next_adv_channel_37:
+	jam 37,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_37,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_38:
+	jam 38,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_38,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+set_le_next_adv_channel_39:
+	jam 39,mem_le_ch_mapped
+	fetch 1,mem_le_adv_channel_map_temp
+	set1 BIT_ADV_CHANNEL_MAP_39,pdata
+	store 1,mem_le_adv_channel_map_temp
+	rtn
+
+
+
+le_context_nexthop:
+	bpatchx patch28_4,mem_patch28
+	add rega,coffset_mode,contr
+	ifetch 1,contr
+	rtnbit0 mode_le
+	add rega,coffset_le_event_cnt,contw
+	ifetch 2,contw
+	increase 1,pdata
+	istore 2,contw
+	add rega,coffset_le_hop,contr
+	ifetch 1,contr
+	add rega,coffset_le_ch,contw
+	ifetcht 1,contw
+	iadd temp,pdata
+	sub pdata,36,null
+	branch le_nexthop_nowrap,positive
+	increase -37,pdata
+le_nexthop_nowrap:
+	istore 1,contw
+	rtn
+
+
+le_calc_channel_map:
+	bpatchx patch28_5,mem_patch28
+	fetch 5,mem_le_channel_map
+	force 0,temp
+	force 37,loopcnt
+le_count_channels_loop:
+	bbit0 0,le_count_channels_notused
+	increase 1,temp
+le_count_channels_notused:
+	rshift pdata,pdata
+	loop le_count_channels_loop
+	add temp,-1,pdata
+	store 1,mem_le_channels
+	rtn
+
+le_map_channel:
+	bpatchx patch28_6,mem_patch28
+	fetch 1,mem_le_ch
+	iforce queue
+	fetcht 5,mem_le_channel_map
+	qisolate1 temp
+	branch le_map_channel_end,true
+le_map_channel_next:
+	bpatchx patch28_7,mem_patch28
+	fetch 1,mem_le_channels
+	isub queue,pdata
+	branch le_map_channel_cont,positive
+	sub pdata,-1,queue
+	branch le_map_channel_next
+le_map_channel_cont:
+	copy queue,loopcnt
+	force 0,queue
+le_map_channel_loop:
+	qisolate1 temp
+	branch le_map_channel_skip,true
+	increase 1,loopcnt
+le_map_channel_skip:
+	deposit loopcnt
+	branch le_map_channel_end,blank
+	increase 1,queue
+	increase -1,loopcnt
+	branch le_map_channel_loop
+le_map_channel_end:
+	deposit queue
+	store 1,mem_le_ch_mapped
+	rtn
+
+
+le_wait_tx:
+	branch le_wait_master,master
+	until null,timeout
+	rtn
+	
+le_wait_master:
+	arg 0xea0,timeup
+	until clkn_rt,meet
+	rtn
+
+le_receive_adv:
+	disable swfine
+	fetch 2,mem_le_scan_window
+	copy pdata,timeup
+	branch le_receive_packet
+
+
+le_receive_slave:
+	bpatchx patch29_0,mem_patch29
+	enable swfine
+	fetch 2,mem_le_receive_window
+	fetcht 4,mem_le_transmit_window
+	iadd temp,timeup
+le_receive_packet:
+	call lerx_setfreq
+le_receive_rxon:
+	bpatchx patch29_1,mem_patch29
+	call le_prep
+	disable match
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	copy timeup,stop_watch
+	correlate null,timeout
+	branch le_receive_on_attempt,attempt
+	copy clke,temp
+	storet 6,mem_sync_clke
+le_receive_on_attempt:
+	nbranch end_of_packet,sync
+	branch le_receive_skip,attempt
+	arg param_clke_cal_le,clke_rt
+	copy bt_clk,clke_bt
+	fetch 1,mem_le_state
+	bbit0 lestate_got_first_packet,le_receive_skip
+	call lpm_adjust_clk,wake
+le_receive_skip:
+	bpatchx patch29_2,mem_patch29
+	call save_rssi
+	enable enable_white
+	enable enable_crc
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	store 1,mem_le_rxbuf
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	and pdata,0x3f,loopcnt
+	branch lerx_nopayload,zero
+	
+lerx_loop:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	istore 1,contw
+	loop lerx_loop
+	
+lerx_nopayload:
+	bpatchx patch29_3,mem_patch29
+	parse demod,bucket,24	
+	enable swfine
+	arg param_sifs,stop_watch		// start SIFS timer after last bit of crc
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	branch end_of_packet,crc_failed
+	enable match
+	fetch 1,mem_last_freq
+	add pdata,0,rega				// ble 2M Medium Frequency
+	call rf_write_freq				/* set frequency to tx mode freq */
+	disable decode_fec0
+	branch set_sync_on
+
+le_transmit_receive_sifs:
+	bpatchx patch29_4,mem_patch29
+	call le_transmit
+le_transmit_receive_sifs_notx:
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	enable swfine
+	arg 5500,timeup 
+	branch le_receive_rxon
+
+le_transmit_norx:
+	call le_transmit
+	branch end_of_packet
+	
+le_transmit:
+	bpatchx patch29_5,mem_patch29
+	call le_prep
+	call letx_setfreq
+	branch le_transmit0
+	
+le_transmit0:
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	enable enable_white
+	enable enable_crc
+	bpatchx patch29_6,mem_patch29
+	fetch 1,mem_le_txheader
+	inject mod,8
+	ifetch 1,contr
+	and pdata,0x3f,loopcnt
+	inject mod,8
+	branch letr_nopayload,zero
+letr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop letr_loop
+	
+letr_nopayload:
+	enable enable_parity
+	inject mod,24
+	disable enable_parity
+	until null,tx_clear
+	nop 100          /* flush out the last bit */
+	disable encode_fec0
+	rtn
+	
+le_send_adv_ind:
+	bpatchx patch29_7,mem_patch29
+	fetch 1,mem_le_adv_type
+	beq ADV_DIRECT_IND,le_send_adv_direct_ind
+	fetch 1,mem_le_adv_own_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	store 1,mem_le_txheader
+	fetcht 1,mem_le_adv_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	copy temp,loopcnt
+	arg mem_le_adv_data,contr
+	call memcpy_fast
+	branch le_send_adv_transmit
+le_send_adv_direct_ind:
+	fetch 1,mem_le_adv_direct_addr_type
+	lshift4 pdata,pdata
+	lshift2 pdata,pdata
+	increase 1,pdata
+	store 1,mem_le_txheader
+	setarg 12
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	fetch 6,mem_hci_plap
+	istore 6,contw
+le_send_adv_transmit:
+	bpatchx patch2a_0,mem_patch2a
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 1800,stop_watch
+	disable match
+	branch le_transmit_receive_sifs
+	
+le_send_scan_request:
+	bpatchx patch2a_1,mem_patch2a
+	fetch 1,mem_le_scan_type
+	rtnne LE_SCAN_TYPE_ACTIVE
+	fetch 1,mem_le_adv_transmit
+	increase 1,pdata
+	store 1,mem_le_adv_transmit
+	arg 0x0c03,temp// length + SCAN_REQ PDU
+	fetch 1,mem_le_scan_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	copy regA,pdata
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,temp	
+	storet 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 6,mem_le_plap
+	istore 6,contw
+	branch le_transmit_receive_sifs
+
+
+le_send_scan_response:
+	bpatchx patch2a_2,mem_patch2a
+	arg SCAN_RSP,temp
+	fetch 1,mem_le_adv_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,temp
+	storet 1,mem_le_txheader
+	fetcht 1,mem_le_scan_data_len
+	add temp,6,pdata
+	store 1,mem_le_txlen
+	fetch 6,mem_le_lap
+	store 6,mem_le_txpayload
+	arg mem_le_scan_data,contr
+	copy temp,loopcnt
+	call memcpy_fast
+	call le_transmit_norx
+	branch le_adv_not_match
+
+le_connect_request:
+	bpatchx patch2a_3,mem_patch2a
+	force -1,pdata
+	setsect 2,1
+	store 5,mem_le_channel_map
+	call le_calc_channel_map	
+	force 4,loopcnt
+	arg mem_le_access,contw
+	call generate_random_loop	
+	fetch 2,mem_le_timeout
+	store 2,mem_le_superto
+le_con_req_hop_retry:
+	random pdata
+	and_into 0xf,pdata
+	sub pdata,4,null
+	branch le_con_req_hop_retry,positive
+	store 1,mem_le_hop
+	store 1,mem_tmp1
+	bpatchx patch2a_4,mem_patch2a
+	fetcht 2,mem_le_conn_interval
+	storet 2,mem_le_tsniff	
+	copy temp,regc			// tsniff in regc
+	add clkn_bt,7,pdata			// leave space for offset
+	idiv regc
+	call wait_div_end
+	remainder rega
+	isub rega,pdata
+	iadd regc,pdata
+	fetcht 2,mem_le_dsniff
+	iadd temp,pdata
+	store 4,mem_le_anchor
+	isub clkn_bt,rega
+	increase -6,rega			// window offset
+	arg 0x2205,regb			// length & CONN_REQ PDU
+	fetch 1,mem_le_conn_own_addr_type
+	nsetflag blank,LE_SENDER_ADDR_BIT,regb
+	fetch 1,mem_le_conn_peer_addr_type
+	nsetflag blank,LE_RECEIVER_ADDR_BIT,regb
+	copy regb,pdata
+	store 2,mem_le_txheader
+	fetch 6,mem_le_lap
+	istore 6,contw//own addr
+	fetch 6,mem_le_plap
+	istore 6,contw// peer addr
+	fetch 4,mem_le_access
+	istore 4,contw
+	random pdata
+	istore 2,contw				/* crc init */
+	random pdata
+	istore 1,contw
+	force 2,pdata				/* window size */	
+	istore 1,contw
+	rshift2 rega,pdata
+	istore 2,contw				/* window offset */
+	rshift2 regc,pdata			
+	istore 2,contw				/* conn Interval */
+	bpatchx patch2a_5,mem_patch2a
+	setarg 0					/* slave latency */
+	istore 2,contw
+	fetch 2,mem_le_timeout
+	istore 2,contw
+	fetch 5,mem_le_channel_map
+	istore 5,contw				/* channel map */
+	fetch 1,mem_le_hop
+	arg param_le_sca,temp
+	ior temp,pdata
+	istore 1,contw
+	call le_transmit_norx
+	setarg mem_le_txheader
+	add pdata,18,contr
+	ifetch 3,contr
+	store 3,mem_le_crcinit
+	rtn
+		
+le_init_adv:
+	bpatchx patch2a_6,mem_patch2a
+	disable master
+	branch le_adv_access
+	
+
+
+le_update_param:
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_param
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	store 2,mem_pdatatemp
+	bpatchx patch2a_7,mem_patch2a
+	fetch 1,mem_le_state
+	set0 lestate_update_param,pdata
+	set0 lestate_got_first_packet,pdata
+	store 1,mem_le_state
+	fetch 4,mem_le_anchor
+	fetcht 2,mem_le_tsniff
+	storet 2,mem_temp
+	isub temp,rega
+	bpatchx patch2b_0,mem_patch2b
+	fetch 1,mem_le_new_param
+	store 1,mem_le_window_size
+	ifetcht 2,contr
+	ifetch 2,contr
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	lshift2 temp,temp
+	iadd temp,pdata
+	ifetcht 4,contr
+	storet 4,mem_le_slave_latency	// and superTO
+	iadd rega,pdata
+	copy pdata,regab
+	fetch 2,mem_le_tsniff
+	fetcht 2,mem_temp	//last sniff
+	isub temp,pdata		//last sniff - new sniff
+	fetcht 2,mem_pdatatemp
+	imul32 temp,pdata
+	iadd regab,pdata
+	store 4,mem_le_anchor
+	call le_receive_window_size
+	fetch 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+
+le_update_channel_map:
+	bpatchx patch2b_1,mem_patch2b
+	fetch 1,mem_le_state
+	rtnbit0 lestate_update_map
+	fetch 2,mem_le_event_count
+	fetcht 2,mem_le_instant
+	isub temp,pdata
+	nrtn positive
+	fetch 1,mem_le_state
+	set0 lestate_update_map,pdata
+	store 1,mem_le_state
+ 	fetch 5,mem_le_new_map
+	store 5,mem_le_channel_map
+	branch le_calc_channel_map	
+	
+	
+le_acknowledge:
+	bpatchx patch2b_2,mem_patch2b
+	call le_supervision_flush
+	call le_check_wak
+	fetch 1,mem_le_rxbuf
+	isolate1 md,pdata
+	setflag true,mark_ble_rx_md,mark
+	rshift pdata,pdata
+	ixor temp,pdata
+	isolate1 nesn,pdata
+	setflag true,mark_old_packet,mark	/* retransmit */
+	rtnmark1 mark_old_packet
+	fetch 1,mem_le_rxbuf+1			
+	branch le_ack_unenc,blank		/* empty packet, no decryption */
+	fetch 1,mem_le_state
+	bbit0 lestate_encryption,le_ack_unenc
+	call load_sk
+	call le_decrypt
+	nrtn blank
+le_ack_unenc:
+	fetcht 1,mem_le_arq
+	setflip nesn,temp
+	storet 1,mem_le_arq
+	rtn
+
+	
+le_check_wak:
+	bpatchx patch2b_3,mem_patch2b
+	fetcht 1,mem_le_arq
+	isolate0 wak,temp
+	rtn true
+	fetch 1,mem_le_rxbuf
+	lshift pdata,pdata
+	ixor temp,pdata
+	rtnbit0 sn			/* received NESN is same as SN, NAK */
+	set0 wak,temp
+	setflip sn,temp
+	storet 1,mem_le_arq
+	compare 3,temp,3
+	nrtn true
+	fetch 1,mem_le_txpayload
+	beq LL_START_ENC_REQ,le_set_enc
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_ENC_PAUSE,le_clear_enc
+	rtn
+	
+
+le_set_enc:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn	
+	
+le_clear_enc:
+	bpatchx patch2b_4,mem_patch2b
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	arg 0,pdata
+	store 4,mem_le_last_mic
+	store 5,mem_le_pcnt_tx
+	set1 39,pdata
+	store 5,mem_le_pcnt_rx
+	fetch 1,mem_le_state
+	set0 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_wait_adv:
+	bpatchx patch2b_5,mem_patch2b
+	call le_next_adv_channel
+	call le_receive_adv
+	fetch 1,mem_le_adv_waitcnt
+	increase 1,pdata
+	store 1,mem_le_adv_waitcnt
+	rtn
+
+
+le_scan:
+	bpatchx patch2b_6,mem_patch2b
+	fetch 1,mem_le_scan_enable
+	rtnne LE_SCAN_ENABLE
+	arg le_scan_interval_timer,queue
+	call timer_check
+	nrtn blank
+	fetch 2,mem_le_scan_interval
+	fetcht 2,mem_le_scan_window
+	isub temp,pdata
+	arg le_scan_interval_timer,queue
+	call timer_init
+	disable master
+	call le_init_adv
+	call le_wait_adv
+	nrtn match
+	bpatchx patch2b_7,mem_patch2b
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+//	call le_scan_dongle
+
+	fetch 1,mem_le_adv_rcv
+	increase 1,pdata
+	store 1,mem_le_adv_rcv
+	call le_create_conn
+	rtn master
+	call le_send_scan_request
+	nrtn match
+	bpatchx patch2c_0,mem_patch2c
+	fetch 1,mem_le_scanrsp_rcv
+	increase 1,pdata
+	store 1,mem_le_scanrsp_rcv
+	fetch 9,mem_le_rxbuf+8
+	store 9,mem_tmp_buffer
+	rtn
+	
+le_create_conn:
+	bpatchx patch2c_1,mem_patch2c
+	fetch 1,mem_cmd_le_create_conn
+	rtnne hci_cmd_le_create_conn
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_conn_peer_addr
+	isub temp,null
+	nrtn zero
+	call context_new
+	nrtn zero
+	call le_connect_request
+	call le_init_master
+	bpatchx patch2c_2,mem_patch2c
+	jam 0,mem_hci_cmd
+	jam 0,mem_le_peer_sca
+	jam 0,mem_le_scan_enable
+	jam 0,mem_cmd_le_create_conn
+	branch context_save
+	
+le_scan_check_sender_addr_type:
+	arg 1,rega// sender_addr_type
+	fetch 1,mem_le_rxbuf
+	rtnbit1 LE_SENDER_ADDR_BIT
+	arg 0,rega
+	rtn
+
+
+
+le_prepare_tx:
+	bpatchx patch2c_3,mem_patch2c
+	fetch 1,mem_le_arq
+	rtnbit1 wak
+	call le_check_tx_md
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_send_empty,blank
+	ifetch 1,contr
+	ifetcht 1,contr
+	copy temp,rega
+	isub rega,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	copy pdata,temp
+	ifetch 1,contr
+	copy pdata,type
+	copy rega,pdata
+	iadd contr,contr
+	arg mem_le_txpayload,contw
+	copy temp,loopcnt
+	call memcpy
+	call le_update_tx_type
+	call le_send_packet
+	
+	call le_fifo_get_first_tx_ptr
+	ifetch 1,contr
+	copy pdata,rega
+	copy contr,regc
+	ifetcht 1,contr
+	copy temp,regb
+	isub regb,pdata
+	arg LE_MAX_PAKET_LEN,temp
+	call not_greater_than
+	iadd regb,pdata
+	istore 1,regc
+	isub rega,null
+	nrtn zero
+	branch le_fifo_release_first_node
+
+	
+le_check_tx_md:
+	call le_check_continue
+	rtnmark1 mark_ble_tx_md
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_TRANSMIT_PACKET_BY_MD,le_clear_md
+	call le_fifo_get_second_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	branch le_set_md
+
+	
+le_check_continue:
+	call le_fifo_get_first_tx_ptr	//no packet to send
+	branch le_clear_md,blank
+	ifetch 1,contr				//pdata:length
+	ifetcht 1,contr				//temp:offest
+	isub temp,pdata			//pdata:length - offset
+	sub pdata,LE_MAX_PAKET_LEN,null	
+	branch le_clear_md,positive				//27 > length -offset
+le_set_md:
+	set1 mark_ble_tx_md,mark
+	rtn
+
+le_clear_md:
+	set0 mark_ble_tx_md,mark
+	rtn
+
+le_update_tx_type:
+	copy rega,pdata
+	rtn blank
+	arg LLID_CONTINUE,type
+	rtn
+
+
+le_att_check_notification_enable: // temp ->handle,output-> pdata,output :contr->rega
+	bpatchx patch2c_4,mem_patch2c
+	increase 1,temp
+	call le_att_get_handle_ptr
+	increase -2,contr
+	ifetch 2,contr
+	arg CLIENT_CHARACTERTIC_CONFIGURATION,temp
+	isub temp,null
+	nrtn zero
+	increase 1,contr
+	copy contr,rega
+	ifetch 1,contr
+	rtn
+	
+
+le_send_empty:
+	force 0,temp
+	force 1,type
+	
+le_send_packet:
+	bpatchx patch2c_5,mem_patch2c
+	storet 1,mem_le_txlen
+	fetcht 1,mem_le_arq
+	set1 wak,temp
+	and temp,0xfc,pdata
+	ior type,pdata
+	store 1,mem_le_arq
+	and_into 0x1f,pdata
+	isolate1 mark_ble_tx_md,mark
+	setflag true,md,pdata
+	store 1,mem_le_txheader
+
+	fetch 1,mem_le_txheader
+	compare 1,type,3
+	nbranch le_send_no_txlen,true
+	fetch 1,mem_le_txlen
+	rtn blank
+le_send_no_txlen:	
+	fetch 1,mem_le_state
+	rtnbit0 lestate_encryption
+	call load_sk
+	branch le_encrypt
+
+
+get_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_get_wake_lock
+
+put_lpm_wake_ble_rx_lock:
+	arg wake_lock_ble_rx,queue
+	branch lpm_put_wake_lock
+
+
+le_parse:
+	bpatchx patch2c_6,mem_patch2c
+	rtnmark1 mark_old_packet
+	call le_fifo_check_full
+	nrtn blank
+	fetch 1,mem_le_rxbuf
+	and pdata,0x3,pdata
+	store 1,mem_le_packet_llid
+	ifetch 1,contr
+	and pdata,0x1f,pdata
+	store 1,mem_le_packet_size
+	rtn blank							//empty rtn
+	copy contr,pdata
+	store 2,mem_le_payload_ptr
+	fetch 1,mem_le_packet_llid
+	beq LLID_LE_LL,le_parse_ll
+le_parse_l2cap:
+	call le_check_l2cap_complete
+	nbranch get_lpm_wake_ble_rx_lock,user
+	call put_lpm_wake_ble_rx_lock
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr	//l2cap len
+	store 2,mem_le_l2cap_size
+	bpatchx patch2c_7,mem_patch2c
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,le_parse_att
+	beq LE_L2CAP_CID_SMP,le_parse_smp
+	beq LE_L2CAP_CID_SIGNAL,le_parse_signaling
+	rtn
+
+
+le_check_l2cap_complete:
+	fetch 1,mem_le_packet_llid
+	beq LLID_START,le_check_l2cap_llid_start
+	beq LLID_CONTINUE,le_check_l2cap_llid_continue
+	rtn
+
+//input: pdata is CID number
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_CID_legal:
+	call enable_user
+	arg LE_L2CAP_CID_ATT,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SIGNAL,temp
+	isub pdata,null
+	rtn zero
+	arg LE_L2CAP_CID_SMP,temp
+	isub pdata,null
+	rtn zero
+	branch disable_user
+
+	
+le_check_l2cap_llid_start:
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	ifetch 2,contr
+	store 2,mem_le_l2cap_size
+	ifetch 2,contr			//CID
+	call le_check_l2cap_CID_legal
+	nrtn user
+	fetcht 1,mem_le_packet_size
+	storet 1,mem_le_packet_len_recved
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	isub temp,null
+	branch enable_user,zero
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	arg mem_le_l2capbuf,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy
+	branch disable_user
+
+//no input
+//output: 	if CID is legal ,enable user
+//		if ICD is illegal,disable user 
+le_check_l2cap_continue_legal:
+	call enable_user
+	fetch 1,mem_le_packet_len_recved
+	nrtn blank
+	branch disable_user
+
+le_check_l2cap_llid_continue:
+	call le_check_l2cap_continue_legal
+	nrtn user
+	fetch 1,mem_le_packet_len_recved
+	arg mem_le_l2capbuf,contw
+	iadd contw,rega
+	fetcht 1,mem_le_packet_size
+	iadd temp,pdata
+	store 1,mem_le_packet_len_recved
+	fetch 1,mem_le_packet_size
+	copy pdata,loopcnt
+	copy rega,contw
+	fetch 2,mem_le_payload_ptr
+	copy pdata,contr
+	call memcpy_fast
+	setarg mem_le_l2capbuf
+	store 2,mem_le_payload_ptr		//update ptr->mem_le_l2capbuff
+	fetch 2,mem_le_l2cap_size
+	increase 4,pdata
+	fetcht 1,mem_le_packet_len_recved
+	isub temp,null
+	branch enable_user,zero
+	branch disable_user
+
+
+
+
+	
+le_get_search_att_type:
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+le_get_search_common:	
+	fetch 2,mem_le_l2cap_size
+	increase -5,pdata
+le_get_search_common2:		
+	istore 1,contw
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast	
+	
+le_get_search_att_uuid:
+	call store_contr
+	arg mem_le_search_uuid_length,contw
+	branch le_get_search_common
+
+
+	/* rega pointers to data, regb is length */
+le_writeatt_cb:
+	fetch 2,mem_cb_att_write
+	branch callback_func
+	
+le_supervision_update:
+	fetcht 4,mem_le_supervision_timer
+	call get_clkbt
+	isub temp,timeup					/* and to 28 bits */
+	deposit timeup
+	fetcht 2,mem_le_superto
+	lshift4 temp,temp
+	lshift temp,temp
+	isub temp,pdata
+	rtn
+	
+le_supervision_flush:
+	call get_clkbt
+	store 4,mem_le_supervision_timer
+	rtn
+
+
+le_adv:
+	jam 36,mem_le_ch_mapped
+	jam 0,mem_le_adv_channel_map_temp
+le_adv_loop:
+	bpatchx patch2d_0,mem_patch2d
+	fetch 1,mem_le_adv_enable
+	rtn blank
+	arg le_adv_interval_timer,queue
+	call timer_check
+	nrtn blank
+	bpatchx patch2d_1,mem_patch2d
+le_adv_loop_tx:
+	disable master
+	enable swfine
+	call le_init_adv
+	call le_next_adv_channel
+	call le_send_adv_ind
+	nbranch le_adv_not_match,match
+	fetch 1,mem_le_req_rcv
+	increase 1,pdata
+	store 1,mem_le_req_rcv
+	fetch 1,mem_le_rxbuf
+	and pdata,0x0f,pdata
+	beq SCAN_REQ,le_send_scan_response
+	beq CONNECT_REQ,le_parse_connect_req
+le_adv_not_match:
+	bpatchx patch2d_2,mem_patch2d
+	random pdata 
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	call delay
+	fetch 1,mem_le_adv_channel_map_temp
+	fetcht 1,mem_le_adv_channel_map
+	isub temp,null
+	nbranch le_adv_loop,zero
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+	
+
+le_receive_window_size:
+	bpatchx patch2d_3,mem_patch2d
+	fetch 1,mem_le_peer_sca
+	call le_sca_map
+	fetch 2,mem_le_tsniff
+	imul32 temp,pdata
+	arg 375,temp
+	imul32 temp,pdata
+	arg 100000,temp
+	idiv temp
+	fetch 1,mem_le_window_size
+	arg 20000,temp
+	imul32 temp,pdata
+	iadd temp,pdata
+	store 4,mem_le_transmit_window
+	bpatchx patch2d_4,mem_patch2d
+	fetch 2,mem_rx_window_sniff
+	call wait_div_end
+	quotient temp
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	rtn
+
+le_parse_connect_req:
+	bpatchx patch2d_5,mem_patch2d
+	fetch 6,mem_le_rxbuf+8
+	fetcht 6,mem_le_lap
+	isub temp,null
+	nrtn zero
+	call le_scan_check_sender_addr_type
+	copy rega,pdata
+	store 1,mem_le_conn_peer_addr_type
+	fetch 7,mem_le_rxbuf+21
+	store 7,mem_tmp_buffer
+	ifetch 8,contr
+	istore 8,contw
+	fetch 6,mem_le_rxbuf+2
+	store 6,mem_le_plap
+	increase 6,contr
+	ifetch 8,contr
+	store 8,mem_le_access 	// and crcinit & window size
+	ifetcht 2,contr				// transmit offset
+	bpatchx patch2d_6,mem_patch2d
+	lshift2 temp,temp			
+	ifetch 2,contr				// connInterval
+	lshift2 pdata,pdata
+	store 2,mem_le_tsniff
+	store 4,mem_le_anchor
+	isub temp,pdata
+	add pdata,-2,clke_bt
+	ifetch 9,contr
+	store 9,mem_le_slave_latency// and super to & channel map
+	bpatchx patch2d_7,mem_patch2d
+	ifetch 1,contr
+	rshift4 pdata,temp
+	rshift temp,temp
+	storet 1,mem_le_peer_sca
+	and_into 0x1f,pdata
+	store 1,mem_le_hop
+	call le_receive_window_size
+	call le_calc_channel_map
+	call le_init_slave
+	call context_new
+	nrtn zero
+	bpatchx patch2e_0,mem_patch2e
+	call calc_clke_offset
+	call le_l2cap_reset_signaling_identifier
+	jam BT_EVT_LE_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	branch context_save
+	
+
+le_init_attlist_search:
+	bpatchx patch2e_1,mem_patch2e
+	fetch 2,mem_le_search_handle_start
+	iforce regb
+	fetch 2,mem_le_search_handle_end
+	iforce regc
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+	enable user
+	rtn
+
+	/* return handle in pdata, blank:end of list, positive:in range */
+le_att_handle_inrange:
+	ifetch 2,contr
+	rtn blank
+	isub regb,null			/* less than start ? */
+	nrtn positive
+	isub regc,null			/* greater than end ? */
+	rtn zero
+	branch le_att_handle_blank,positive
+	force 1,null
+	rtn
+le_att_handle_blank:
+	force 0,pdata
+	rtn
+
+
+	/* handle in temp, return pointer in contr to length, blank not found */
+le_att_get_handle_ptr:
+	call le_att_get_handle_ptr2
+	branch le_att_get_handle_ptr_found,zero
+	rtn
+	
+le_att_get_handle_ptr2:
+	bpatchx patch2e_2,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_handle_loop1:
+	ifetch 2,contr
+	rtn blank
+	isub temp,null
+	rtn zero
+	ifetch 1,contr
+	iadd contr,contr	
+	ifetch 1,contr			// length  
+	iadd contr,contr
+	branch le_att_get_handle_loop1
+le_att_get_handle_ptr_found:
+	ifetch 1,contr
+	iadd contr,contr	
+	rtn	
+
+
+
+le_att_get_short_uuid_ptr:
+	bpatchx patch2e_3,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+	iforce contr
+le_att_get_short_uuid_loop:
+	ifetch 2,contr
+	rtn blank
+	ifetch 1,contr
+	iadd contr,contr
+	increase -2,contr
+	ifetch 2,contr
+	isub temp,null
+	rtn zero
+	ifetch 1,contr			 
+	iadd contr,contr
+	branch le_att_get_short_uuid_loop	
+
+
+
+le_att_get_handle_info_from_ptr:
+	fetch 2, mem_le_cur_attlist_start_ptr
+	branch le_att_get_handle_info_fast
+
+le_att_get_handle_info:
+	bpatchx patch2e_4,mem_patch2e
+	fetch 2,mem_ui_le_uuid_table
+le_att_get_handle_info_fast:
+	iforce contr
+	copy temp,rega
+le_att_get_handle_loop:
+	ifetch 2,contr
+	branch le_att_unfind_handle,blank
+	isub rega,null
+	branch le_att_finded_handle, zero
+	ifetch 1,contr			// length  
+	iadd contr,contr	
+	ifetch 1,contr			//length 
+	iadd contr,contr
+	branch le_att_get_handle_loop
+le_att_unfind_handle:
+	branch disable_blank
+
+le_att_finded_handle:
+	ifetch 1,contr
+	store 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	arg mem_le_cur_uuid,contw
+	call memcpy_fast
+	ifetch 1,contr
+	store 1,mem_le_curr_att_len
+	call store_contr
+	branch enable_blank
+
+	
+le_modified_name:
+	bpatchx patch2e_5,mem_patch2e
+	call le_modified_name_att_list
+	branch le_modified_name_adv
+
+le_modified_name_att_list:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	ifetch 1,contr						// attribute length
+	copy contr,contw
+	fetcht 1,mem_le_name_len
+	copy temp,loopcnt
+	isub temp,null
+	nbranch le_name_length_longer_than_att,positive
+	isub temp,temp
+	arg mem_le_name,contr
+	call memcpy
+	copy temp,loopcnt
+	ncall memcpy_empty,zero
+	rtn
+le_name_length_longer_than_att:
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy_fast
+
+
+le_modified_name_adv:
+	arg mem_le_adv_data_len+32,regc
+	arg mem_le_adv_data,rega
+	call le_modified_name_adv_and_scan
+	setarg 0
+	setflag user,0,pdata
+	store 1,mem_pdatatemp
+	arg mem_le_scan_data_len+32,regc
+	arg mem_le_scan_data,rega
+	call le_modified_name_adv_and_scan
+	rtn user
+	fetch 1,mem_pdatatemp
+	branch assert,blank
+	rtn
+
+
+le_modified_name_adv_and_scan:
+	bpatchx patch2e_6,mem_patch2e
+	call enable_user
+	call clear_temp_block
+	arg 0,regb	//current length
+	arg mem_le_data_temp,contw
+	call le_modified_name_adv_loop
+	fetch 1,mem_le_name_len
+	add pdata,1,temp
+	iadd regb,rega	
+	increase 2,rega
+	sub rega,0x1f,null
+	nbranch le_modified_name_adv_and_scan_name_overflow,positive
+	istoret 1,contw		//store ble name length
+	arg GAP_ADTYPE_LOCAL_NAME_COMPLETE,temp
+	istoret 1,contw		//store ble name type
+	iforce loopcnt
+	call memcpy_fast
+	copy rega,regb
+le_modified_name_adv_and_scan_store_data:
+	deposit regb
+	store 1,mem_le_data_len_temp
+	arg mem_le_data_len_temp,contr
+	setarg -32
+	iadd regc,contw
+	branch memcpy32
+
+le_modified_name_adv_and_scan_name_overflow:
+	call disable_user
+	branch le_modified_name_adv_and_scan_store_data
+	
+le_modified_name_adv_loop:
+	ifetch 1,rega		//pdata:length
+	rtn blank			//length is zero,ending find
+	pincrease 1		//length += 1
+	ifetcht 1,contr		//pdata:type
+	sub temp,GAP_ADTYPE_LOCAL_NAME_COMPLETE,null
+	branch le_modified_name_adv_found_name,zero
+	iadd regb,regb	
+	copy rega,contr
+	iforce loopcnt
+	call memcpy_fast
+	copy contr,rega
+le_modified_name_adv_loop2:
+	deposit rega
+	isub regc,null
+	rtn positive
+	branch le_modified_name_adv_loop
+
+le_modified_name_adv_found_name:
+	iadd rega,rega
+	branch le_modified_name_adv_loop2
+
+
+memcpy_empty:
+	setarg SPACE
+	istore 1,contw
+	loop memcpy_empty
+	rtn
+
+	
+le_lpm_set_mult:
+	bpatchx patch2e_7,mem_patch2e
+	disable wake
+	branch le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+
+	nbranch lpm_mult_short,match
+	bmark1 mark_old_packet,lpm_mult_short
+
+	fetch 1,mem_le_packet_size
+	nbranch lpm_mult_short,blank		// rx not empty, short interval
+	fetch 1,mem_le_txlen
+	nbranch lpm_mult_short,blank		// tx not empty, short interval
+	
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_SHORT_MULT,lpm_mult_short	//check flag,if flag is 1,always short mult
+	
+	fetch 1,mem_le_state
+	bbit1 lestate_update_param,lpm_mult_short
+	branch lpm_mult_wait_timeout
+	
+le_lpm_lost:
+	fetcht 2,mem_rx_window_sniff
+	rshift temp,temp
+	fetch 2,mem_le_receive_window
+	iadd temp,pdata
+	store 2,mem_le_receive_window
+	branch lpm_lost
+
+///////////////////////////////BLE CONFIG//////////////////////////////////////////
+le_set_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_set_config
+
+le_clr_config_fixed_tk:
+	arg BIT_BLE_PASSKEY_FIXED_KEY,queue
+	branch le_clr_config
+
+le_set_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_set_config
+
+le_clr_config_fixed_ltk:
+	arg BIT_BLE_PAIRING_FIXED_LTK,queue
+	branch le_clr_config
+
+le_set_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_set_config
+
+le_clr_config_more_data:
+	arg BIT_BLE_TRANSMIT_PACKET_BY_MD,queue
+	branch le_clr_config
+
+le_set_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_set_config
+
+le_clr_config_read_authentication:
+	arg BIT_BLE_READ_AUTH,queue
+	branch le_clr_config
+
+le_set_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_set_config
+
+le_clr_config_write_authentication:
+	arg BIT_BLE_WRITE_AUTH,queue
+	branch le_clr_config
+
+le_set_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_set_config
+
+le_clr_config_short_mult:
+	arg BIT_BLE_SHORT_MULT,queue
+	branch le_clr_config
+
+
+le_set_config:
+	fetch 1,mem_le_configuration
+	qset1 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_clr_config:
+	fetch 1,mem_le_configuration
+	qset0 pdata
+	store 1,mem_le_configuration
+	rtn
+
+le_set_fixed_ltk:
+	setarg 0x112233
+	store 3,mem_le_fixed_ltk
+	setarg 0x445566
+	istore 3,contw
+	setarg 0x778899
+	istore 3,contw
+	setarg 0x001122
+	istore 3,contw
+	setarg 0x334455
+	istore 3,contw
+	setarg 0x66
+	istore 1,contw
+	rtn
+
+
+le_set_justwork:
+	setarg 0x01000302
+	store 4,mem_le_pres
+	setarg 0x010010
+	store 3,mem_le_pres_max_keysize
+	jam 1,mem_le_pairing_mode
+	rtn
+
+/////////////////////////////////////////////////////////////////////////
+
+le_fifo_malloc_tx_empty:
+	arg 0,rega
+	arg LLID_EMPTY,type
+	branch le_fifo_malloc_tx
+
+
+//rega:len regb:ll opcode
+le_fifo_malloc_tx_ll:
+	arg LLID_LE_LL,type
+	call le_fifo_malloc_tx
+	copy regb,pdata
+	istore 1,contw
+	rtn
+	
+
+//rega:len regb:cid
+le_fifo_malloc_tx_l2cap:
+	force LLID_L2CAP_START,type
+	increase 4,rega
+	call le_fifo_malloc_tx
+	increase -4,rega
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//rega:len type:llid
+le_fifo_malloc_tx:
+	sub rega,240,null			//check max len
+	nbranch assert,positive
+	fetch 1,mem_le_tx_buff_used
+	arg 1,temp
+	arg LE_TX_BUFF_COUNT,loopcnt
+le_fifo_malloc_tx_loop:
+	iand temp,null
+	branch le_fifo_malloc_tx_got_empty,zero
+	lshift temp,temp
+	loop le_fifo_malloc_tx_loop
+	branch assert				//no empty buff
+le_fifo_malloc_tx_got_empty:
+	ixor temp,pdata
+	store 1,mem_le_tx_buff_used
+	sub loopcnt,LE_TX_BUFF_COUNT,pdata
+	lshift4 pdata,pdata
+	lshift4 pdata,pdata
+	arg mem_le_tx_buffer0,temp
+	iadd temp,temp
+le_fifo_tx_find_empty_ptr:
+	arg 0,loopcnt
+	arg mem_le_tx_ptr0,contr
+le_fifo_tx_find_empty_ptr_loop:
+	ifetch 2,contr
+	branch le_fifo_tx_found_empty_ptr,blank
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_COUNT,le_fifo_tx_find_empty_ptr_loop
+	branch assert
+
+	
+le_fifo_tx_found_empty_ptr:
+	increase -2,contr
+	istoret 2,contr
+	copy temp,contw
+	copy rega,pdata
+	istore 1,contw				//lengh
+	setarg 0
+	istore 1,contw				//offset
+	copy type,pdata
+	istore 1,contw				//LLID
+	rtn
+
+
+
+le_fifo_get_first_tx_ptr:
+	fetch 2,mem_le_tx_ptr0
+	copy pdata,contr
+	rtn
+
+le_fifo_get_second_tx_ptr:
+	fetch 2,mem_le_tx_ptr1
+	copy pdata,contr
+	rtn
+
+le_fifo_get_last_tx_ptr:
+	call le_fifo_get_last_tx_ptr0
+	copy pdata,contr
+	rtn
+le_fifo_get_last_tx_ptr0:
+	fetch 2,mem_le_tx_ptr3
+	nrtn blank
+	fetch 2,mem_le_tx_ptr2
+	nrtn blank
+	fetch 2,mem_le_tx_ptr1
+	nrtn blank
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+le_fifo_get_first_l2cap_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 3,contr
+	rtn
+
+le_fifo_get_first_att_ptr:
+	call le_fifo_get_first_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_att_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	rtn
+
+le_fifo_get_last_l2cap_ptr:
+	call le_fifo_get_last_tx_ptr
+	increase 3,contr
+	rtn
+
+	
+
+le_fifo_check_full:
+	fetch 2,mem_le_tx_ptr3
+	rtn
+
+
+le_fifo_check_nearly_full:
+	fetch 2,mem_le_tx_ptr2
+	rtn
+
+	
+le_fifo_check_empty:
+	fetch 2,mem_le_tx_ptr0
+	rtn
+
+
+le_fifo_release_first_node:
+	fetch 2,mem_le_tx_ptr0
+	arg mem_le_tx_buffer0,temp
+	isub temp,pdata
+	rshift4 pdata,pdata
+	rshift4 pdata,queue
+	fetch 1,mem_le_tx_buff_used
+	qset0 pdata
+	store 1,mem_le_tx_buff_used
+	arg 0,loopcnt
+le_fifo_release_first_node_loop:
+	lshift loopcnt,pdata
+	arg mem_le_tx_ptr1,temp
+	iadd temp,temp
+	ifetch 2,temp
+	increase -2,temp
+	istore 2,temp
+	copy loopcnt,pdata
+	increase 1,loopcnt
+	bne LE_TX_BUFF_UPDATE_LOOPCNT,le_fifo_release_first_node_loop
+	setarg 0
+	istore 2,temp
+	rtn
+
+
+
Index: YJX_Only24g/main/program/le_l2cap_att.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le_l2cap_att.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le_l2cap_att.prog	(working copy)
@@ -0,0 +1,713 @@
+
+
+le_parse_att:
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_EXCHANGE_MTU_REQUEST,le_parse_att_exchange_mtu_request
+	beq ATTOP_EXCHANGE_MTU_RESPONSE,le_parse_att_exchange_mtu_response
+	beq ATTOP_FIND_INFORMATION_REQUEST,le_parse_att_find_information_request
+	beq ATTOP_FIND_BY_TYPE_VALUE_REQUEST,le_parse_att_find_by_type_value_request
+	beq ATTOP_READ_BY_TYPE_REQUEST,le_parse_att_read_by_type_request
+	beq ATTOP_READ_REQUEST,le_parse_att_read_request
+	beq ATTOP_READ_BLOB_REQUEST,le_parse_att_read_blob_request
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,le_parse_att_read_by_group_type_request
+	beq ATTOP_WRITE_REQUEST,le_parse_att_write_request
+	beq ATTOP_PREPARE_WRITE_REQUEST,le_parse_att_prepare_write_request
+	beq ATTOP_EXECUTE_WRITE_REQUEST,le_parse_att_execute_write_request
+	beq ATTOP_WRITE_COMMAND,le_parse_att_write_command
+	rtn
+
+
+le_send_att_exchange_mtu_requset:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_REQUEST
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+
+le_parse_att_exchange_mtu_request:
+	call le_parse_att_exchange_mtu_response
+le_send_att_exchange_mtu_response:
+	force 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXCHANGE_MTU_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_local_mtu
+	istore 2,contw
+	rtn
+
+le_parse_att_exchange_mtu_response:
+	rshift8 pdata,pdata
+	store 2,mem_le_remote_mtu
+	rtn
+
+le_parse_att_find_information_request:
+	call le_get_search_handle_start_end_common
+	call enable_user
+	branch le_send_att_find_information_response
+	
+le_send_att_find_information_response:
+	arg 3,timeup
+	call le_init_attlist_search
+le_send_att_find_information_res_loop:
+	call le_att_handle_inrange
+	branch le_send_att_find_information_res_end,blank
+	nbranch le_send_att_find_information_res_next,positive
+	increase -2,contr
+	call store_contr
+	call get_contw
+	nbranch le_send_att_find_information_res_store_info,user
+	call push_stack_rega_b_c
+	call disable_user
+	force 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	call pop_stack_rega_b_c
+	setarg ATTOP_FIND_INFORMATION_RESPONSE
+	istore 1,contw
+	setarg UUID_SIZE_16BIT
+	istore 1,contw
+le_send_att_find_information_res_store_info:
+	call get_contr
+	ifetch 2,contr
+	istore 2,contw
+	ifetch 1,contr
+	copy pdata,loopcnt
+	call memcpy
+	call store_contw
+	increase -1,timeup
+	branch le_send_att_find_information_res_end,zero
+le_send_att_find_information_res_cont:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_loop
+le_send_att_find_information_res_next:
+	ifetch 1,contr
+	iadd contr,contr
+	branch le_send_att_find_information_res_cont
+le_send_att_find_information_res_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_find_by_type_value_request:
+	call le_get_search_handle_start_end_common
+	ifetch 2,contr
+	store 2,mem_le_search_uuid
+	call store_contr
+	arg mem_le_search_att_type_length,contw
+	fetch 2,mem_le_l2cap_size
+	increase -7,pdata
+	call le_get_search_common2
+	branch le_send_att_find_by_type_value_response
+
+
+le_start_end_handle_check_1:
+	disable user
+	fetcht 2,mem_le_search_handle_start
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	nbranch le_start_end_handle_check_1_fail,positive
+	deposit temp
+	rtnne 0
+le_start_end_handle_check_1_fail:
+	enable user
+	jam ATT_ERR_INVALID_HANDLE,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_send_att_find_by_type_value_response:
+	call le_start_end_handle_check_1
+	rtn user
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_GATT_PRIMARY_SERVICE
+	isub temp,null
+	branch le_send_att_find_by_type_value_res_primary,zero
+	branch le_send_att_error_response_notfound
+	
+
+le_send_att_find_by_type_value_res_primary:
+	jam LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,mem_le_search_res
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound,blank
+le_send_att_find_primary_search_loop:
+	fetcht 2,mem_temp
+	call le_att_get_handle_info
+	nbranch le_send_att_error_response_notfound2,blank	
+	copy contr,rega
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	fetcht 1,mem_le_search_att_type_length
+	isub temp,null
+	nbranch le_send_att_find_primary_search_loop1,zero
+	arg mem_le_search_att_type,regb
+	call string_compare
+
+	branch le_send_att_find_primary_search_end_start_handle_found,zero
+
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	branch le_send_att_find_primary_search_end_ending_handle_found,zero
+le_send_att_find_primary_search_loop1:
+	fetch 2,mem_temp
+	increase 1,pdata
+	store 2,mem_temp
+	branch le_send_att_find_primary_search_loop
+
+le_send_att_error_response_notfound2:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,le_send_att_find_primary_search_end_ending_handle_found
+	branch le_send_att_error_response_notfound
+
+	
+le_send_att_find_primary_search_end_start_handle_found:
+	fetch 2,mem_le_cur_uuid
+	fetcht 2,mem_le_search_uuid
+	isub temp,null
+	nbranch  le_send_att_find_primary_search_loop1,zero
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_STARTING_HANDLE,mem_le_search_res
+//	copy rega,temp
+	fetcht 2,mem_temp
+	storet 2,mem_le_cur_handle_start
+	branch le_send_att_find_primary_search_loop1
+
+le_send_att_find_primary_search_end_ending_handle_found:
+	fetch 1,mem_le_search_res
+	beq LE_FIND_BY_TYPE_VAL_RES_NOT_FOUND,le_send_att_find_primary_search_loop1
+	jam LE_FIND_BY_TYPE_VAL_RES_FOUND_ENDING_HANDLE,mem_le_search_res
+	fetcht 2,mem_temp
+	increase -1,temp
+	storet 2,mem_le_cur_handle_end
+	
+le_send_att_find_primary_search_end:
+	arg 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_FIND_BY_TYPE_VALUE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+	rtn
+
+
+
+le_parse_att_read_by_type_request:
+	call le_get_search_handle_start_end_common
+	call le_get_search_att_uuid
+	branch le_send_att_read_by_type_response
+	
+le_send_att_read_by_type_response:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+
+	fetcht 2,mem_le_search_uuid
+	setarg UUID_CHRCTR_DEVICE_NAME
+	isub temp,null
+	branch le_send_att_read_by_type_res_device_name,zero
+	setarg UUID_GATT_CHARACTERISTIC
+	isub temp,null
+	nbranch le_send_att_read_by_type_res_not_characteristic,zero
+	arg 2,timeup
+le_send_att_read_by_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_type_response_end,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_type_response_end
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_response_next_handle,zero
+	nbranch le_send_att_read_by_type_res_found_next,user
+	disable user
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	copy contw,alarm
+	increase 1,contw
+	
+	call le_send_att_read_by_type_write_properties
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	call le_send_att_read_by_type_write_uuid
+	fetch 1,mem_le_cur_uuid_length
+	increase 5,pdata
+	istore 1,alarm
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+le_send_att_read_by_type_response_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_type_response_loop
+le_send_att_read_by_type_response_end:
+	branch le_send_att_error_response_notfound,user
+	branch le_send_auto_len_by_mem
+
+le_send_att_read_by_type_res_found_next:
+	call le_store_att_record
+	call le_att_next_handle
+	call le_att_get_handle_info_from_ptr
+	fetch 1,mem_le_cur_uuid_length
+	beq 16,le_send_att_read_by_type_response_end
+	
+	call get_contw
+	fetch 2,mem_temp
+	increase -1,pdata
+	istore 2,contw
+	call le_write_att_record_common
+	call le_send_att_read_by_type_write_uuid
+	increase -1,timeup
+	branch le_send_att_read_by_type_response_end,zero
+	branch le_send_att_read_by_type_response_next_handle
+
+	
+le_send_att_read_by_type_write_properties:
+	fetch 2,mem_temp
+	istore 2,contw
+	
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	call get_contr
+	call memcpy_fast
+	branch store_contw
+le_send_att_read_by_type_write_uuid:
+	call get_contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call store_contw
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	call get_contw	
+	call get_contr
+	isub loopcnt,contr
+	increase -1,contr
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_att_read_by_type_res_not_characteristic:
+	fetcht 2,mem_le_search_handle_start
+	storet 2,mem_temp
+le_send_att_read_by_type_res_not_char_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_error_response_notfound,positive
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_error_response_notfound
+	call le_att_same_uuid
+	nbranch le_send_att_read_by_type_res_not_char_next,zero
+
+le_send_att_read_by_type_res_not_char_common:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	call get_contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+	
+le_send_att_read_by_type_res_not_char_next:
+ 	call le_att_next_handle
+	branch le_send_att_read_by_type_res_not_char_loop
+
+
+le_send_att_read_by_type_res_device_name:
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	call le_att_get_short_uuid_ptr
+	rtn blank
+	increase -5,contr // point to handle
+	ifetch 2,contr		
+	store 2,mem_temp
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	increase 2,pdata
+	istore 1,contw
+	fetch 2,mem_temp
+	istore 2,contw
+	arg mem_le_name,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+
+le_parse_att_read_request:
+	fetcht 2,mem_le_att_handle
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_READ_AUTH,le_send_att_read_response_check_auth
+
+le_send_att_read_response:
+	call le_att_get_handle_ptr
+	branch le_send_att_error_response_notfound,blank
+	increase -2,contr
+	ifetch 2,contr
+	arg UUID_CHRCTR_DEVICE_NAME,temp
+	isub temp,null
+	branch le_send_device_name,zero
+	ifetch 1,contr
+	sub pdata,22,null
+	branch le_send_att_read_response_less,positive
+	force 22,pdata
+le_send_att_read_response_less:
+	copy pdata,regc
+	call store_contr
+	add regc,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	copy regc,loopcnt
+	call get_contr
+	branch memcpy
+
+le_send_device_name:
+	call store_contr
+	fetch 1,mem_le_name_len
+	add pdata,1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_name_len
+	copy pdata,loopcnt
+	arg mem_le_name,contr
+	branch memcpy
+	
+	
+le_send_att_read_response_check_auth:
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_read_response,zero
+//le_send_att_read_response_error_insufficient_auth:
+	call le_check_encrypt_state
+	nbranch le_send_att_read_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+
+le_parse_att_read_blob_request:
+	ifetch 2,contr
+	store 2,mem_le_att_offset
+le_send_att_read_blob_response:
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BLOB_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_offset
+	iforce rega
+	fetcht 2,mem_le_att_handle
+	call le_att_get_handle_ptr 
+	branch le_send_att_error_response_notfound,blank
+	ifetch 1,contr
+	isub rega,loopcnt
+	nbranch le_send_att_error_response_notfound,positive
+	sub loopcnt,22,null
+	branch le_send_att_read_blob_response_less,positive
+	force 22,loopcnt
+le_send_att_read_blob_response_less:
+	deposit rega
+	iadd contr,contr
+	call memcpy_fast
+	call store_contw
+	branch le_send_auto_len_by_mem
+
+
+le_parse_att_read_by_group_type_request:
+	call le_get_search_handle_start_end_common
+ 	call le_get_search_att_type
+	branch le_send_att_read_by_group_type_response
+	
+//mem_le_search_att_type
+//mem_le_search_handle_start
+//mem_le_search_handle_end
+le_send_att_read_by_group_type_response:
+	arg 2,timeup
+	fetcht 2,mem_le_search_handle_start
+//	arg 23,pdata
+//	isub temp,null
+//	call ice_break,zero
+	storet 2,mem_temp
+	call le_init_attlist_search
+	call le_att_get_handle_ptr2
+	increase -2,contr
+	copy contr,pdata
+	store 2,mem_le_cur_attlist_start_ptr
+le_send_att_read_by_group_type_response_loop:
+	call le_att_check_handle_end
+	nbranch le_send_att_read_by_group_type_end0,positive
+	fetcht 2,mem_temp
+	call le_att_get_handle_info_from_ptr
+	beq 1,le_send_att_read_by_group_type_end1
+
+	call le_att_same_type
+	nbranch le_send_att_read_by_group_type_next_handle,zero
+	copy timeup,pdata
+	beq 0,le_send_att_read_by_group_type_end1
+	nbranch le_send_att_read_by_group_type_store_write_record,user		//un first
+	disable user
+	//first att uuid
+	arg 20,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_curr_att_len
+	increase 4,pdata
+	istore 1,contw
+	call store_contw
+	branch le_send_att_read_by_group_type_store_record
+le_send_att_read_by_group_type_store_write_record:
+	fetch 1,mem_le_curr_att_len
+	beq 16,le_send_att_read_by_group_type_end1
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	call le_write_att_record
+le_send_att_read_by_group_type_store_record:
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_start
+	call le_store_att_record
+	increase -1,timeup
+//	branch le_send_att_read_by_group_type_last_find,zero		
+le_send_att_read_by_group_type_next_handle:
+	call le_att_next_handle
+	branch le_send_att_read_by_group_type_response_loop
+
+le_send_att_read_by_group_type_end0:	//> att handle end
+	fetch 2,mem_temp
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end1:	//>att max list handle or diff len 
+	fetch 2,mem_temp
+	increase -1,pdata
+	store 2,mem_le_cur_handle_end
+	branch le_send_att_read_by_group_type_end_common
+le_send_att_read_by_group_type_end_common:
+	branch le_send_att_error_response_notfound,user
+	call le_write_att_record
+	branch le_send_auto_len_by_mem
+
+
+
+
+le_parse_att_write_request:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	call le_writeatt_cb
+le_send_att_write_response_check_auth:
+	fetch 1,mem_le_configuration
+	bbit0 BIT_BLE_WRITE_AUTH,le_send_att_write_response
+	
+	fetcht 2,mem_le_att_handle
+	fetch 2,mem_le_pairing_handle
+	isub temp,null
+	nbranch le_send_att_write_response,zero
+	call le_check_encrypt_state
+	nbranch le_send_att_write_response,user
+	jam ATT_ERR_INSUFFICIENT_AUTHENTICATION,mem_le_err_code
+	branch le_send_att_error_response
+
+le_send_att_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+le_check_encrypt_state:
+	call disable_user
+	fetch 1,mem_le_pairing_mode
+	rtneq LE_PAIRING_MODE_NONE
+	fetch 1,mem_context
+	rtnbit1 lestate_encryption
+	branch enable_user
+
+
+le_parse_att_prepare_write_request:
+	add contr,2,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,regb
+	call le_writeatt_cb
+	branch le_send_att_prepare_write_response
+
+
+le_send_att_prepare_write_response:
+	fetch 2,mem_le_l2cap_size
+	copy pdata,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_PREPARE_WRITE_RESPONSE
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 2,mem_le_l2cap_size
+	add pdata,-5,loopcnt	
+	fetch 2,mem_le_payload_ptr
+	add pdata,7,contr
+	ifetch 2,contr		//offset
+	istore 2,contw
+	branch memcpy_fast
+
+
+
+le_parse_att_execute_write_request:
+
+le_send_att_execute_write_response:
+	force 1,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_EXECUTE_WRITE_RESPONSE
+	istore 1,contw
+	rtn
+
+
+
+le_parse_att_write_command:
+	copy contr,rega
+	fetch 2,mem_le_l2cap_size
+	add pdata,-3,regb
+	branch le_writeatt_cb
+
+
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_notify:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_NOTIFICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+//rga:len temp:handle;rgea,regb,regc already used
+le_att_malloc_tx_indication:
+	copy temp,regc
+	increase 3,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	increase -3,rega
+	setarg ATTOP_HANDLE_VALUE_INDICATION
+	istore 1,contw
+	copy regc,temp
+	istoret 2,contw
+	rtn
+
+
+///////////////////////////ATT common function////////////////////////////////////
+
+le_send_att_error_response_notfound:	
+	jam ATT_ERR_ATTRIBUTE_NOT_FOUND,mem_le_err_code
+le_send_att_error_response:	
+	force 5,rega
+	call le_fifo_malloc_tx_l2cap_gatt
+	setarg ATTOP_ERROR_RESPONSE
+	istore 1,contw
+	fetch 1,mem_le_att_opcode
+	istore 1,contw
+	fetch 2,mem_le_att_handle
+	istore 2,contw
+	fetch 1,mem_le_err_code
+	istore 1,contw
+	rtn
+
+
+le_fifo_malloc_tx_l2cap_gatt:
+	force LE_L2CAP_CID_ATT,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
+le_att_next_handle:
+	fetcht 2,mem_temp
+	increase 1,temp
+	storet 2,mem_temp
+	rtn
+
+le_att_check_handle_end:
+	fetcht 2,mem_temp
+	fetch 2,mem_le_search_handle_end
+	isub temp,null
+	rtn
+
+
+le_att_same_type:
+	fetcht 1,mem_le_search_att_type_length
+	arg mem_le_search_att_type,rega
+le_att_check_same_common:
+	fetch 1,mem_le_cur_uuid_length
+	copy pdata,loopcnt
+	isub temp,null
+	nrtn zero
+	arg mem_le_cur_uuid ,regb
+	branch string_compare
+
+le_att_same_uuid:
+	fetcht 1,mem_le_search_uuid_length
+	arg mem_le_search_uuid,rega
+	branch le_att_check_same_common
+
+
+le_store_att_record:
+	fetch 1,mem_le_curr_att_len
+	store 1, mem_tmp_buffer
+	copy pdata,loopcnt
+	call get_contr
+	branch memcpy_fast
+
+
+le_write_att_record:
+	call get_contw
+	fetch 2,mem_le_cur_handle_start
+	istore 2,contw
+	fetch 2,mem_le_cur_handle_end
+	istore 2,contw
+le_write_att_record_common:
+	fetch 1,mem_tmp_buffer
+	copy pdata,loopcnt
+	call memcpy_fast
+	branch store_contw
+
+
+
+le_send_auto_len_by_mem:
+	call get_contw
+	call le_fifo_get_last_att_ptr
+	copy contw,pdata
+	isub contr,rega
+	call le_fifo_get_last_l2cap_ptr
+	copy rega,pdata
+	istore 2,contr
+	increase 4,rega
+	call le_fifo_get_last_tx_ptr
+	copy rega,pdata
+	istore 1,contr
+	rtn
+
+
+le_get_search_handle_start_end_common:
+	rshift8 pdata,pdata
+	store 2,mem_le_search_handle_start
+	ifetch 2,contr
+	store 2,mem_le_search_handle_end
+	rtn
+
+
Index: YJX_Only24g/main/program/le_l2cap_signalling.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le_l2cap_signalling.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le_l2cap_signalling.prog	(working copy)
@@ -0,0 +1,54 @@
+
+
+le_parse_signaling:
+	ifetch 1,contr
+	ifetcht 1,contr //id
+	ifetcht 2,contr //length
+	beq L2CAP_CONNECTION_PARAMETER_UPDATE_RESPONSE,le_l2cap_parse_conn_parameter_update_rsp
+	rtn
+le_l2cap_parse_conn_parameter_update_rsp:
+	ifetch 2,contr	//result
+	store 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	jam BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+//mem_le_interval_min:the ptr that connection parameter,
+//include 	ConnIntervalMin,ConnIntervalMax,
+//		ConnSlaveLatency,ConnSupervisionTimeout
+le_l2cap_tx_update_req:
+	arg 0x0c,rega
+	arg L2CAP_CONNECTION_PARAMETER_UPDATE_REQUEST,regc
+	call le_fifo_malloc_tx_l2cap_signaling
+	setarg 0x08
+	istore 2,contw
+	fetch 8,mem_le_interval_min
+	istore 8,contw
+	rtn
+
+
+//rega:len regc:signaling opcode
+le_fifo_malloc_tx_l2cap_signaling:
+	call le_l2cap_update_signaling_identifier
+	arg LE_L2CAP_CID_SIGNAL,regb
+	call le_fifo_malloc_tx_l2cap
+	copy regc,pdata
+	istore 1,contw
+	fetch 1,mem_le_signaling_identifier
+	istore 1,contw
+	rtn
+
+
+le_l2cap_update_signaling_identifier:
+	fetch 1,mem_le_signaling_identifier
+	//beq 0xff,le_l2cap_signaling_identifier_set_1
+	pincrease 1
+	store 1,mem_le_signaling_identifier
+	rtnne 0
+	
+le_l2cap_reset_signaling_identifier:
+	jam 1,mem_le_signaling_identifier
+	rtn
+
+
+
Index: YJX_Only24g/main/program/le_l2cap_smp.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le_l2cap_smp.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le_l2cap_smp.prog	(working copy)
@@ -0,0 +1,594 @@
+
+le_pairing_mode_init:
+	fetch  1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_NONE, le_set_no_pairing
+	beq LE_PAIRING_MODE_LAGACY_JUSTWORK,le_set_pairing_mode_lagacy_just_work
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_set_pairing_mode_lagacy_passkey
+ifdef SECURE_CONNECTION
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_set_pairing_mode_secure_justwork
+	beq LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC,le_set_pairing_mode_secure_numeric
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_set_pairing_mode_secure_passkey
+endif
+	rtn
+
+ifdef SECURE_CONNECTION	
+le_set_pairing_mode_secure_justwork:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_secure_numeric:
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	jam FLAG_IOCAP_DISPLAYYESNO,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_secure_passkey:	
+	jam FLAG_LE_BONDING_MITM_SECURE,mem_le_pres_auth
+	branch le_set_displayonly
+endif
+le_set_no_pairing:
+	jam FLAG_LE_NO_BONDING_NO_MITM,mem_le_pres_auth
+le_set_noinputnooutput:	
+	jam FLAG_IOCAP_NOINPUTNOOUTPUT,mem_le_pres_iocap
+	rtn
+le_set_pairing_mode_lagacy_just_work:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+	branch le_set_noinputnooutput
+le_set_pairing_mode_lagacy_passkey:
+	jam FLAG_LE_BONDING_MITM,mem_le_pres_auth
+le_set_displayonly:	
+	jam FLAG_IOCAP_DISPLAYONLY,mem_le_pres_iocap
+	rtn
+
+	
+le_secure_connection_enable:
+	fetch 1,mem_le_pres_auth
+	set1 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+le_secure_connection_disable:
+	fetch 1,mem_le_pres_auth
+	set0 LE_AUTH_SECURE_CONNECTION_PAIRING_BIT,pdata
+	store 1,mem_le_pres_auth
+	rtn
+
+le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_REQUEST,le_parse_smp_pairing_request
+//	beq SMP_PAIRING_RESPONSE,le_parse_smp_pairing_response
+	beq SMP_PAIRING_CONFIRM,le_parse_smp_pairing_confirm
+	beq SMP_PAIRING_RANDOM,le_parse_smp_pairing_random
+	beq SMP_PAIRING_FAILED,le_parse_smp_pairing_failed
+	beq SMP_ENCRYPTION_INFORMATION,le_parse_smp_encryption_information
+	beq SMP_MASTER_IDENTIFICATION,le_parse_smp_master_identification
+	beq SMP_IDENTITY_INFORMATION,le_parse_smp_identity_information
+	beq SMP_IDENTITY_ADDRESS_INFORMATION,le_parse_smp_identity_address_information
+	beq SMP_SIGNING_INFORMATION,le_parse_smp_signing_information
+	beq SMP_SECURITY_REQUEST,le_parse_smp_security_request
+ifdef SECURE_CONNECTION
+	beq SMP_PAIRING_PUBLIC_KEY,le_parse_smp_public_key
+	beq SMP_PAIRING_DHKEY_CHECK,le_parse_smp_dhkey_check
+endif
+	rtn
+
+
+
+le_send_smp_security_request:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_SECURITY_REQUEST
+	istore 1,contw
+	fetch 1,mem_le_pres_auth
+	istore 1,contw
+	rtn
+		
+le_parse_smp_pairing_request:
+	store 1,mem_le_preq
+	ifetch 6,contr
+	istore 6,contw
+	fetch 1,mem_le_pairing_mode
+	beq  LE_PAIRING_MODE_NONE,le_smp_pairing_fail_reason_not_support_pairing
+	call le_send_smp_pairing_response
+	call le_check_master_support_secure_connect
+	jam FLAG_LE_PAIRING_RCV_PAIRING_REQ,mem_le_pairing_state
+	fetch 1,mem_le_preq_iocap
+	beq  FLAG_IOCAP_DISPlAYONLY,le_set_tk_0
+	beq  FLAG_IOCAP_DISPLAYYESNO,le_set_tk_0
+	beq  FLAG_IOCAP_NOINPUTNOOUTPUT,le_set_tk_0
+	fetch 1,mem_le_pairing_mode	
+	beq LE_PAIRING_MODE_LAGACY_PASSKEY,le_parse_smp_pairing_req_passkey
+	rtneq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY
+le_set_tk_0:
+	arg 0,pdata
+	store 4,mem_le_tk
+	rtn
+
+le_parse_smp_pairing_req_passkey:
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PASSKEY_FIXED_KEY,le_parse_smp_pairing_req_fixed_passkey
+le_genernate_tk:
+	arg mem_le_tk,rega
+	copy rega,contw
+	arg 3,loopcnt
+	call generate_random_loop
+	fetch 2,mem_le_tk + 2
+	and_into 0x7,pdata
+	store 2,mem_le_tk + 2
+le_parse_smp_pairing_req_fixed_passkey:
+	jam BT_EVT_LE_TK_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_check_master_support_secure_connect:
+	fetch 1,mem_le_preq_auth
+	rtnbit1  LE_AUTH_SECURE_CONNECTION_PAIRING_BIT
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	branch app_ble_disconnect	
+
+le_send_smp_pairing_response:
+	force 7,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	fetch 7,mem_le_pres
+	istore 7,contw
+	rtn
+		
+
+le_parse_smp_pairing_confirm:
+ifdef SECURE_CONNECTION
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_confirm_secure_passkey
+	copy rega,contr
+endif
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	branch le_send_smp_pairing_confirm
+ifdef SECURE_CONNECTION
+le_parse_smp_pairing_confirm_secure_passkey:
+	copy rega,contr
+	arg mem_le_rconfirm,contw
+	call memcpy16
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+	rtn
+endif	
+
+
+le_send_smp_pairing_confirm:
+ifdef SECURE_CONNECTION
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_send_smp_pairing_confirm_sc
+endif
+	call generate_confirm
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  store_aes_result
+
+	
+ifdef SECURE_CONNECTION
+le_send_smp_pairing_confirm_sc:
+	arg mem_le_srand,contw	
+	call generate_random
+	call function_f4_cb
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_CONFIRM
+	istore 1,contw
+	branch  load_inverse_result
+
+endif
+
+	
+le_parse_smp_pairing_random:	
+ifdef SECURE_CONNECTION
+	copy contr,rega
+	fetch 1,mem_le_pairing_mode
+	bbit1 LE_PAIRING_MODE_SECURE_CONNECT_BIT,le_parse_smp_pairing_random_sc
+	copy rega,contr
+endif
+	call authenticate_rconfirm
+	branch le_parse_smp_pairing_random_success,zero
+le_send_pairing_confirm_value_failed:
+	jam PAIRING_FAILED_CONFIRM_VALUE_FAILED,mem_le_ll_pairing_fail_reason
+le_send_pairing_failed:
+	force 2,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_FAILED
+	istore 1,contw
+	fetch 1,mem_le_ll_pairing_fail_reason
+	istore 1,contw	
+le_parse_smp_pairing_failed:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_PAIRING_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_smp_pairing_fail_reason_not_support_pairing:
+	jam PAIRING_FAILED_PAIRING_NOT_SUPPORTED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+	
+	
+ifdef SECURE_CONNECTION	
+le_parse_smp_pairing_random_sc:
+	arg mem_le_mrand,contw
+	copy rega,contr
+	call memcpy16	
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_parse_smp_pairing_random_sc_passkey
+	call function_g2
+//	jam LE_SC_STAT_RECEIVE_RANDOM,mem_le_secure_connect_state
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	call le_send_smp_pairing_random
+	fetch 1,mem_le_pairing_mode
+	rtnne LE_PAIRING_MODE_SECURE_CONNECT_NUMERIC
+	jam BT_EVT_LE_GKEY_GENERATE,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+le_parse_smp_pairing_random_sc_passkey:
+	call function_f4_ca
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result	
+	arg mem_AES_CMAC_temp,rega
+	arg mem_le_rconfirm ,regb
+	arg 16,loopcnt
+	call string_compare
+	nbranch le_send_pairing_confirm_value_failed,zero
+	branch le_send_smp_pairing_random
+endif
+	
+le_parse_smp_pairing_random_success:
+	call generate_stk
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	jam 1,mem_ltk_exists
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	
+le_send_smp_pairing_random:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_RANDOM
+	istore 1,contw
+	arg mem_le_srand,contr
+	branch memcpy16
+	
+le_parse_smp_encryption_information:
+	arg mem_le_peer_ltk,contw
+	branch memcpy16
+
+le_send_smp_encryption_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_ENCRYPTION_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_configuration
+	bbit1 BIT_BLE_PAIRING_FIXED_LTK,le_send_fixed_ltk
+	arg mem_le_ltk,contr
+	branch memcpy16
+
+le_send_fixed_ltk:
+	arg mem_le_fixed_ltk,contr
+	branch memcpy16
+
+
+le_send_smp_master_identification:
+	arg mem_le_ediv,contw
+	force 10,loopcnt
+	call generate_random_loop
+	force 11,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_MASTER_IDENTIFICATION
+	istore 1,contw
+	fetch 2,mem_le_ediv
+	istore 2,contw
+	fetch 8,mem_le_rand
+	istore 8,contw
+	rtn
+
+le_send_smp_identity_information:
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_INFORMATION
+	istore 1,contw
+	setarg 0
+	istore 8,contw
+	istore 8,contw
+	rtn
+	
+
+le_send_smp_identity_address_information:
+	force 8,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_IDENTITY_ADDRESS_INFORMATION
+	istore 1,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	fetch 6,mem_le_lap	
+	istore 6,contw
+	rtn	
+
+
+le_send_pairing_fail_unspecified_reason:
+	jam PAIRING_FAILED_UNSPECIFIED_REASON,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+le_check_init_key_distribution:
+	fetch 1,mem_le_pres_init_key_distribution
+	fetcht 1,mem_le_pres_init_key_distribution
+	iand temp,pdata
+	rtn	
+
+le_parse_smp_identity_information:
+	arg mem_le_irk,contw
+	call memcpy16
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	nrtn user
+	branch app_ble_store_reconn_info
+
+//output:user is enable ,random addr type
+le_check_master_addr_type:
+	call disable_user
+	fetch 1,mem_le_conn_peer_addr_type
+	rtneq MASTER_PUBLIC_ADDR
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	rtn true
+	branch enable_user
+
+le_parse_smp_identity_address_information:
+	call le_check_init_key_distribution
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_send_pairing_fail_unspecified_reason,true
+	rtn
+
+le_parse_smp_master_identification:
+le_parse_smp_signing_information:	
+le_parse_smp_security_request:
+	rtn
+	
+ifdef SECURE_CONNECTION
+le_parse_smp_public_key:
+	arg mem_le_pubkey_remote_x_256,contw	
+	call memcpy64
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_RECEIVE_PUBLIC_KEY,mem_le_secure_connect_state
+	rtn
+
+le_parse_smp_dhkey_check:
+	arg mem_sp_confirm_remote,contw
+	call memcpy16	
+	jam LE_SC_STAT_RECEIVE_DHKEY,mem_le_secure_connect_state
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn	
+
+le_send_smp_pairing_public_key:
+	force 65,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_PUBLIC_KEY
+	istore 1,contw	
+	arg mem_le_pubkey_local_x_256,contr
+	branch memcpy64
+	
+le_send_smp_pairing_dhkey_check:
+	call function_f6_eb	
+	force 17,rega
+	call le_fifo_malloc_tx_l2cap_smp
+	setarg SMP_PAIRING_DHKEY_CHECK
+	istore 1,contw
+	branch load_inverse_result
+	
+endif
+
+le_check_paring_time:
+	fetch 1,mem_le_pairing_state
+	rtneq FLAG_LE_PAIRING_END
+	arg FLAG_LE_PAIRING_RCV_PAIRING_REQ,temp
+	isub temp,null
+	nrtn positive
+	arg smp_pairing_timer,queue
+	call timer_check
+	nrtn blank
+	branch le_send_pairing_fail_unspecified_reason
+
+le_pairing_sm:
+	bpatchx patch2f_0,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_NULL,le_pairing_sm_null
+	beq FLAG_LE_PAIRING_START,le_pairing_sm_start
+	beq FLAG_LE_PAIRING_SEND_RECURITY_REQ,le_pairing_sm_send_sec_req
+	beq FLAG_LE_PAIRING_RCV_PAIRING_REQ,le_pairing_sm_rcv_pairing_req
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_pairing_sm_after_auth
+	beq FLAG_LE_PARING_SEND_ENC_INFORMATION,le_pairng_sm_send_enc_information
+	beq FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,le_pairng_sm_send_master_indentification
+	beq FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,le_pairng_sm_send_indentity_information
+	rtn
+
+le_pairing_sm_null:
+le_pairing_sm_send_sec_req:
+	fetch 1,mem_le_enc_state
+	rtnne FLAG_LE_SEND_START_ENC_RSP
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_RECONNECT_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+	
+le_pairing_sm_start:
+	jam FLAG_LE_PAIRING_SEND_RECURITY_REQ,mem_le_pairing_state
+	branch le_send_smp_security_request
+
+le_pairing_sm_rcv_pairing_req:
+	jam FLAG_LE_PAIRING_AUTH,mem_le_pairing_state
+	setarg TIMER_SMP_PAIRING_TIMEOUT
+	arg smp_pairing_timer,queue
+	branch timer_init
+	
+le_pairing_sm_after_auth:
+	fetch 1,mem_le_enc_state
+	beq FLAG_LE_SEND_START_ENC_RSP,le_pairing_sm_after_auth_start_enc
+	rtn
+	
+le_pairing_sm_after_auth_start_enc:
+	jam FLAG_LE_PARING_SEND_ENC_INFORMATION,mem_le_pairing_state
+	jam BT_EVT_LE_ENC_INFO,mem_fifo_temp
+	call ui_ipc_send_event
+	call le_send_smp_encryption_information
+	fetch 1,mem_device_option
+	rtnne dvc_op_module
+	call le_check_master_addr_type
+	rtn user
+	branch app_ble_store_reconn_info
+
+
+le_pairng_sm_send_enc_information:	
+	jam FLAG_LE_PARING_SEND_MASTER_IDENTIFICATION,mem_le_pairing_state
+	branch le_send_smp_master_identification
+
+le_pairng_sm_send_master_indentification:	
+	fetch 1,mem_le_preq_resp_key_distribution
+	fetcht 1,mem_le_pres_resp_key_distribution
+	iand temp,pdata
+	isolate0 LE_INITATOR_IRK_BIT,pdata
+	branch le_parse_start_enc_rsp_after_auth_end,true
+	jam FLAG_LE_PARING_SEND_INDENTITY_INFORMATION,mem_le_pairing_state
+	branch le_send_smp_identity_information
+
+le_pairng_sm_send_indentity_information:		
+	call le_send_smp_identity_address_information
+	branch le_parse_start_enc_rsp_after_auth_end
+
+
+le_parse_start_enc_rsp_after_auth_end:
+	force smp_pairing_timer,queue
+	call timer_stop
+	jam FLAG_LE_ENC_END,mem_le_enc_state
+	jam FLAG_LE_PAIRING_END,mem_le_pairing_state
+	jam BT_EVT_LE_PAIRING_COMPLETE ,mem_fifo_temp
+	branch ui_ipc_send_event	
+	
+
+ifdef SECURE_CONNECTION
+
+le_secure_connect_sm:
+	bpatchx patch2f_1,mem_patch2f
+	fetch 1,mem_le_pairing_mode
+	rtnbit0 LE_PAIRING_MODE_SECURE_CONNECT_BIT
+	fetch 1,mem_le_secure_connect_flag
+	rtnne LE_SP_FLAG_COMMIT_256
+	jam SP_FLAG_STANDBY,mem_le_secure_connect_flag
+	fetch    1,mem_le_secure_connect_state
+	beq  LE_SC_STAT_RECEIVE_PUBLIC_KEY,le_sc_sm_receive_public_key
+	beq LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,le_sc_sm_wait_send_public_key
+	beq LE_SC_STAT_SEND_PUBLIC_KEY,le_sc_sm_send_public_key
+	beq LE_SC_STAT_RECEIVE_DHKEY,le_sc_sm_receive_dhkey
+	beq LE_SC_STAT_WAIT_CONFIRM_GKEY,le_sc_sm_wait_confirm_gkey
+	beq  LE_SC_STAT_PASSKEY_WAIT_CONFIRM,le_sc_sm_passkey_wait_confirm
+	rtn	
+
+
+le_sc_sm_passkey_wait_confirm:
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+	fetch 4,mem_le_tk
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	branch le_sc_sm_ready_send_pairing_confirm
+	
+le_sc_sm_wait_confirm_gkey:
+	fetch 1,mem_le_sc_confirm_gkey_flag
+	jam FLAG_LE_SC_CONFRIM_NULL,mem_le_sc_confirm_gkey_flag
+	beq FLAG_LE_SC_CONFRIM_GKEY_OK,le_sc_confirm_gkey_ok
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_sc_confirm_gkey_ok:
+	jam BT_EVT_LE_PAIRING_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_PAIRING_AFTER_AUTH,mem_le_pairing_state
+	branch le_send_smp_pairing_dhkey_check
+
+le_sc_sm_receive_dhkey:
+	fetch 1,mem_sp_dhkey_invalid
+	beq SP_KEY_VALID_256,le_dhkey_ready
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+
+le_dhkey_ready:
+	call function_f5
+//	arg mem_le_r,contw
+//	force 2,loopcnt
+//	call memset0
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_dhkey_ready_common
+	call le_set_tk_0 
+le_dhkey_ready_common:
+	call function_f6_ea
+	arg mem_AES_CMAC_temp,rega
+	arg mem_sp_confirm_remote ,regb
+	arg 16,loopcnt
+	call string_compare
+	branch le_dhkey_check_ok,zero
+le_dhkey_check_fail:	
+	jam PAIRING_FAILED_DHKEY_CHECK_FAILED,mem_le_ll_pairing_fail_reason
+	branch le_send_pairing_failed
+
+	
+le_dhkey_check_ok:
+	call sp_calc_check_publickey_256
+	nbranch le_dhkey_check_fail,zero
+	jam 1,mem_ltk_exists
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_JUSTWORK,le_sc_confirm_gkey_ok
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY ,le_sc_confirm_gkey_ok	
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_WAIT_CONFIRM_GKEY,mem_le_secure_connect_state	
+	rtn	
+
+le_sc_sm_send_public_key:
+	fetch 1,mem_le_pairing_mode
+	beq LE_PAIRING_MODE_SECURE_CONNECT_PASSKEY,le_sc_sm_send_public_key_passkey
+	jam 0,mem_passkey_1bit
+le_sc_sm_ready_send_pairing_confirm:
+	branch le_send_smp_pairing_confirm
+
+le_sc_sm_send_public_key_passkey:
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+//	jam LE_SC_STAT_PASSKEY_WAIT_CONFIRM,mem_le_secure_connect_state	
+//	branch p_ng_event_le_get_passkey
+	jam 0,mem_authentication_passkey_times
+	branch le_parse_smp_pairing_req_passkey
+
+	
+le_sc_sm_receive_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	fetch 1,mem_le_sc_local_key_invalid
+	beq SP_KEY_VALID_256,le_public_key_ready
+//	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	rtn
+	
+le_public_key_ready:
+	jam LE_SC_STAT_WAIT_SEND_PUBLIC_KEY,mem_le_secure_connect_state	
+	jam SP_KEY_INVALID,mem_sp_dhkey_invalid
+	branch sp_dhkey_calc_256	
+
+le_sc_sm_wait_send_public_key:
+	jam LE_SP_FLAG_COMMIT_256,mem_le_secure_connect_flag
+	jam LE_SC_STAT_SEND_PUBLIC_KEY,mem_le_secure_connect_state
+	branch le_send_smp_pairing_public_key
+
+endif
+
+
+le_fifo_malloc_tx_l2cap_smp:
+	force LE_L2CAP_CID_SMP,regb
+	branch le_fifo_malloc_tx_l2cap
+
+
Index: YJX_Only24g/main/program/le_ll.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le_ll.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/le_ll.prog	(working copy)
@@ -0,0 +1,212 @@
+
+le_parse_ll:
+	fetch 1,mem_le_rxbuf+2
+	beq LL_CONNECTION_UPDATE_REQ,le_parse_connection_update_req
+	beq LL_CHANNEL_MAP_REQ,le_parse_channel_map_req
+	beq LL_TERMINATE_IND,le_parse_terminate_ind
+	beq LL_ENC_REQ,le_parse_enc_req
+	beq LL_ENC_RSP,le_parse_enc_rsp
+	beq LL_START_ENC_REQ,le_parse_start_enc_req
+	beq LL_START_ENC_RSP,le_parse_start_enc_rsp
+	beq LL_UNKNOWN_RSP,le_parse_unknown_rsp
+	beq LL_FEATURE_REQ,le_parse_feature_req
+	beq LL_FEATURE_RSP,le_parse_feature_rsp
+	beq LL_PAUSE_ENC_REQ,le_parse_pause_enc_req
+	beq LL_PAUSE_ENC_RSP,le_parse_pause_enc_rsp
+	beq LL_VERSION_IND,le_parse_version_ind
+	beq LL_REJECT_IND,le_parse_reject_ind
+	beq LL_PING_REQ,le_parse_ping_req
+	beq LL_PING_RSP,le_parse_ping_rsp
+	arg 2,rega
+	arg LL_UNKNOWN_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 1,mem_le_rxbuf+2
+	istore 1,contw
+	rtn	
+
+
+le_parse_connection_update_req:
+	ifetch 9,contr
+	store 9,mem_le_new_param
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetch 1,mem_le_state
+	set1 lestate_update_param,pdata
+	store 1,mem_le_state
+	rtn
+
+le_parse_channel_map_req:
+	ifetch 5,contr
+	store 5,mem_le_new_map
+	ifetch 2,contr
+	store 2,mem_le_instant
+	fetcht 2,mem_le_event_count
+	isub temp,null
+	nbranch le_parse_terminate_ind,positive
+	fetch 1,mem_le_state
+	set1 lestate_update_map,pdata
+	store 1,mem_le_state
+	rtn
+
+
+le_parse_terminate_ind:
+	setarg 20 // 200ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	rtn
+
+le_send_terminate_ind_user_terminated:
+	arg ERROR_REMOTE_USER_TERMINATED_CONNECTION,regc
+
+//regc:The ErrorCode field shall be set to inform the remote device why the connection is about to be terminated.
+le_send_terminate_ind:
+	arg 2,rega
+	arg LL_TERMINATE_IND,regb
+	call le_fifo_malloc_tx_ll
+	copy regc,pdata
+	istore 1,contw
+	rtn
+
+le_parse_feature_req:
+
+le_send_feature_rsp:
+	arg 9,rega
+	arg LL_FEATURE_RSP,regb
+	call le_fifo_malloc_tx_ll
+	setarg param_le_features
+	istore 8,contw
+	rtn
+
+
+le_parse_version_ind:
+	rtn master
+le_send_version_ind:
+	arg 6,rega
+	arg LL_VERSION_IND,regb
+	call le_fifo_malloc_tx_ll
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	rtn
+
+
+le_parse_ping_req:
+	arg LL_PING_RSP,regb
+	branch le_send_ll_one_lenth
+
+//regb:ll opcode
+le_send_ll_one_lenth:
+	arg 1,rega
+	branch le_fifo_malloc_tx_ll
+
+	
+le_parse_enc_req:
+	ifetch 8,contr
+	store 8,mem_le_rand
+	ifetch 2,contr
+	store 2,mem_le_ediv
+	ifetch 8,contr
+	store 8,mem_le_skdm
+	ifetch 4,contr
+	store 4,mem_le_ivm
+	call le_send_enc_rsp
+	bpatchx patch2f_2,mem_patch2f
+	fetch 1,mem_le_pairing_state
+	beq FLAG_LE_PAIRING_AFTER_AUTH,le_parse_enc_req_after_auth
+	fetch 1,mem_le_configuration
+	bbit1  BIT_BLE_PAIRING_FIXED_LTK,le_parse_enc_req_fixed_ltk
+	fetch 1,mem_nv_data_number
+	ncall load_device_list_mode_4,blank
+	fetch 1,mem_ltk_exists
+	beq 0,le_ltk_lost
+le_parse_enc_req_after_auth:
+	jam FLAG_LE_RCV_ENC_START,mem_le_enc_state
+	call  le_send_start_enc_req
+	branch generate_sk
+
+le_parse_enc_req_fixed_ltk:
+	jam 1,mem_ltk_exists
+	arg mem_le_fixed_ltk,contr
+	arg mem_le_ltk,contw
+	call memcpy16
+	branch le_parse_enc_req_after_auth
+
+
+le_ltk_lost:
+	bpatchx patch2f_3,mem_patch2f
+	jam FLAG_LE_ENC_NULL,mem_le_enc_state
+	jam FLAG_LE_ENC_NULL,mem_le_pairing_state
+	jam BT_EVT_LE_LTK_LOST,mem_fifo_temp
+	branch ui_ipc_send_event
+
+le_send_reject_ind:
+	arg 2,rega
+	arg LL_REJECT_IND,regb
+	call le_fifo_malloc_tx_ll
+	setarg LE_ERR_PIN_OR_KEY_MISSING
+	istore 1,contw
+	rtn		
+	
+le_send_enc_rsp:
+	arg mem_le_skds,contw
+	force 8,loopcnt
+	call generate_random_loop
+	arg mem_le_ivs,contw
+	force 4,loopcnt
+	call generate_random_loop
+	arg 13,rega
+	arg LL_ENC_RSP,regb
+	call le_fifo_malloc_tx_ll
+	fetch 8,mem_le_skds
+	istore 8,contw
+	fetch 4,mem_le_ivs
+	istore 4,contw
+	rtn
+
+le_send_start_enc_req:
+	arg LL_START_ENC_REQ,regb
+	branch le_send_ll_one_lenth
+
+le_send_start_enc_rsp:
+	arg LL_START_ENC_RSP,regb
+	branch le_send_ll_one_lenth
+	
+	
+le_parse_enc_rsp:
+	ifetch 8,contr
+	store 8,mem_le_skds
+	ifetch 4,contr
+	store 4,mem_le_ivs
+	branch generate_sk
+	
+le_parse_start_enc_req:
+	fetch 1,mem_le_state
+	set1 lestate_encryption,pdata
+	store 1,mem_le_state
+	rtn
+	
+le_parse_start_enc_rsp:
+	rtn master
+	jam BT_EVT_LE_START_ENC,mem_fifo_temp
+	call ui_ipc_send_event	
+	jam FLAG_LE_SEND_START_ENC_RSP,mem_le_enc_state
+	branch le_send_start_enc_rsp
+	
+le_parse_pause_enc_req:
+	jam FLAG_LE_ENC_PAUSE,mem_le_enc_state
+	call le_send_pause_enc_rsp	
+	jam BT_EVT_LE_PAUSE_ENC,mem_fifo_temp
+	branch ui_ipc_send_event	
+
+le_send_pause_enc_rsp:
+	arg LL_PAUSE_ENC_RSP,regb
+	branch le_send_ll_one_lenth	
+			
+
+le_parse_feature_rsp:
+le_parse_unknown_rsp:
+le_parse_pause_enc_rsp:
+le_parse_reject_ind:
+le_parse_ping_rsp:
+	rtn
+
+
Index: YJX_Only24g/main/program/lmp.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/lmp.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/lmp.prog	(working copy)
@@ -0,0 +1,2521 @@
+	
+/******************************************/
+/*************   LMP Parse   **************/
+/******************************************/
+init_lmp:
+	rtn wake
+init_lmp_work:
+	bpatchx patch2f_4,mem_patch2f
+	setarg 0
+	store 1,mem_lmp_to_send
+	store 1,mem_conn_sm
+	store 1,mem_lmo_opcode1
+	store 1,mem_lmo_opcode2
+	store 1,mem_esco_addr
+	store 1,mem_auth_enable
+	store 1,mem_connection_options
+	store 1,mem_pairing_auth
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam 0,mem_switch_fail_master_count
+	jam NULL_ENCRYP,mem_wait_encryption
+init_lmp_reinit:	
+	jam 0,mem_pairing_auth
+	jam 0,mem_sp_localsm
+	jam 0,mem_lmp_conn_state
+	//fall through
+parse_rx_done:
+	rtn
+
+parse_lmp:
+	bpatchx patch2f_5,mem_patch2f
+	call setlocalsm_master,master	//use this flag in hci
+	ncall setlocalsm_slave,master
+	call lmo_fifo_check
+	nrtn blank
+	fetch 1,mem_state_map
+	rtnbit0 smap_rxlmp
+	set0 smap_rxlmp,pdata
+	set0 mark_rxbuf_inuse,mark
+	store 1,mem_state_map
+	fetch 1,mem_rxbuf
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptidinit,pdata
+	setflag true,smap_lmptid,temp
+	storet 1,mem_state_map
+	and_into 0x2,temp //smap_lmptid only
+	storet 1,mem_lmo_tid2
+	fetcht 1,mem_state_map
+	rshift pdata,pdata			/* align lmp_opcode */
+  	store 1,mem_lmi_opcode2
+	bpatchx patch2f_6,mem_patch2f
+  	fetch 1,mem_lmi_opcode2
+  	beq LMP_ESCAPE,parse_lmp_escape//multi
+  	beq LMP_ACCEPTED,parse_lmp_accepted//multi
+	beq LMP_NOT_ACCEPTED,parse_lmp_not_accepted//multi
+  	beq LMP_SET_AFH, parse_lmp_set_afh
+  	beq LMP_CLKOFFSET_REQ, parse_lmp_clkoffset_req
+ 	beq LMP_ENCRYPTION_MODE_REQ, parse_lmp_encryption_mode_req
+ 	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_crypt_key
+	beq LMP_AUTO_RATE,parse_lmp_auto_rate
+	beq LMP_TEST_CONTROL,parse_lmp_test_control//multi
+	beq LMP_TEST_ACTIVATE,parse_lmp_test_activate
+	beq LMP_SETUP_COMPLETE,parse_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,parse_lmp_supervision_timeout
+	beq LMP_FEATURES_REQ,parse_lmp_features_req
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_conn_req
+	beq LMP_VERSION_REQ,parse_lmp_version_req
+	beq LMP_VERSION_RES,parse_lmp_version_res
+	beq LMP_DETACH,parse_lmp_detach
+	beq LMP_MAX_SLOT,parse_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ,parse_lmp_max_slot_req
+	beq LMP_NAME_REQ,parse_lmp_name_req
+	beq LMP_NAME_RES,parse_lmp_name_res
+	beq LMP_FEATURES_RES,parse_lmp_features_res
+	beq LMP_COMB_KEY,parse_lmp_comb_key
+	beq LMP_AU_RAND, parse_lmp_au_rand
+	beq LMP_IN_RAND,parse_lmp_in_rand
+	beq LMP_SRES,parse_lmp_sres
+	beq LMP_INCR_POWER_REQ,parse_lmp_incr_power
+	beq LMP_DECR_POWER_REQ,parse_lmp_decr_power
+	beq LMP_MAX_POWER, parse_lmp_max_power
+	beq LMP_MIN_POWER, parse_lmp_min_power
+	beq LMP_PAGE_MODE_REQ, parse_lmp_page_mode_req
+	beq LMP_PAGE_SCAN_MODE_REQ, parse_lmp_page_scan_mode_req
+	beq LMP_PREFERRED_RATE, parse_lmp_preferred_rate
+	beq LMP_SLOT_OFFSET, parse_lmp_slot_offset
+	beq LMP_SNIFF_REQ, parse_lmp_sniff_req
+	beq LMP_START_ENCRYPTION_REQ, parse_lmp_start_encryption_req
+	beq LMP_STOP_ENCRYPTION_REQ, parse_lmp_stop_encryption_req
+	beq LMP_SWITCH_REQ, parse_lmp_switch_req
+	beq LMP_TEMP_RAND, parse_lmp_temp_rand
+	beq LMP_TEMP_KEY, parse_lmp_temp_key
+	beq LMP_TIMING_ACCURACY_REQ, parse_lmp_timing_accuracy_req
+	beq LMP_TIMING_ACCURACY_RES, parse_lmp_timing_accuracy_res
+	beq LMP_UNIT_KEY, parse_lmp_unit_key
+	beq LMP_UNSNIFF_REQ, parse_lmp_unsniff_req
+	beq LMP_USE_SEMI_PERMANENT_KEY, parse_lmp_use_semi_permanend_key
+	beq  LMP_ENCAPSULATED_HEADER,parse_lmp_encapsulated_header
+	beq  LMP_ENCAPSULATED_PAYLOAD,parse_lmp_encapsulated_payload
+	beq	LMP_SIMPLE_PAIRING_CONFIRM,parse_simple_pairing_confirm
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_simple_pairing_number
+	beq  LMP_DHKEY_CHECK,parse_dhkey_check
+	beq LMP_CLKOFFSET_RES, parse_lmp_clkoffset_res
+	beq LMP_ENC_KEY_SIZE_MASK_REQ,parse_enc_key_size_mask_req
+/* lmp is not recognized, check to see if we respond to all messages */ 
+/* rejecting the unrecognized message with PDU not recognized */
+reject_unknown_packet:
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+reject_lmp_packet:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_clkoffset_req:
+	jam LMP_CLKOFFSET_RES,mem_lmo_opcode2
+	rtn	
+
+parse_enc_key_size_mask_req:
+	jam LMP_ENC_KEY_SIZE_MASK_RES,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_set_afh:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	store 4,mem_afh_instant
+	fetch 1,mem_rxbuf+5
+	store 1,mem_afh_new_mod
+	fetch 5,mem_rxbuf+6
+	store 5,mem_afh_map_new
+	fetch 5,mem_rxbuf+11
+	istore 5,contw
+	fetch 1,mem_mode
+	set1 afh_change,pdata
+	store 1,mem_mode
+	rtn
+parse_lmp_escape:
+	bpatchx patch2f_7,mem_patch2f
+	fetch 1,mem_rxbuf+1
+	set1 7,pdata
+	store 1,mem_lmi_opcode2
+	beq LMP_EXT_ACCEPTED,parse_lmpext_accepted
+	beq LMP_NOT_ACCEPTED_EXT,parse_lmpext_not_accepted
+	beq LMP_SNIFF_SUBRATING_REQ, parse_lmp_sniff_subrating_req
+	beq LMP_SNIFF_SUBRATING_RES, parse_lmp_sniff_subrating_res
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_packet_type_table_req
+	beq LMP_EXT_FEATURES_REQ,parse_lmpext_features_req
+	beq LMP_EXT_FEATURES_RES,parse_lmpext_features_res
+	beq LMP_EXT_CHN_CLASSIFICATION_REQ,parse_lmpext_chn_classification_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,parse_lmpext_pause_encrypt
+	beq LMP_RESUME_ENCRYPTION_REQ,parse_lmpext_resume_encrypt
+	beq LMP_IO_CAP_REQ,parse_lmpext_iocap_req
+	beq LMP_IO_CAP_RES,parse_lmpext_iocap_res
+	rtneq LMP_EXT_FEATURES_RES
+
+
+reject_unknown_ext_packet:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam UNKNOWN_LMP_PDU,mem_lmo_reason2
+	
+	rtn
+parse_lmpext_chn_classification_req:
+	jam LMP_NOT_ACCEPTED_EXT,mem_lmo_opcode2
+	jam NOT_SUPPORT_CHN_CLASSIFICATION,mem_lmo_reason2
+	rtn
+	
+parse_lmpext_iocap_req:
+	call iocap_lmpext_load
+	jam LMP_IO_CAP_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_iocap_res:
+	call iocap_lmpext_load
+	branch iocap_lmpext_common
+	
+iocap_lmpext_load:
+	arg      mem_sp_iocap_remote,contw
+	fetch 3, mem_rxbuf+2
+	istore    3,contw
+	rtn
+	
+iocap_lmpext_common:
+ifdef SIMPLE_PAIRING
+	branch master_set_mem_master_sp_flag,true//is un very ok to use master flag,but we have to add many codes if wo don't
+endif
+	rtn
+parse_lmpext_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_accepted_ptt
+	rtn
+
+	
+parse_lmpext_not_accepted:
+	fetch 1,mem_rxbuf+3
+	set1 7,pdata
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_PACKET_TYPE_TABLE_REQ,parse_lmpext_not_accepted_ptt
+	rtn
+
+parse_lmpext_accepted_ptt:
+	fetch 1,mem_ptt
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_edr,temp
+	storet 1,mem_state_map
+parse_lmpext_not_accepted_ptt:
+	fetch 1,mem_state
+	rtnbit0 state_init_seq
+	set0 state_init_seq,pdata
+	store 1,mem_state
+	fetch 1,mem_auth_enable
+	nrtn blank
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_pause_encrypt:
+	nbranch parse_lmpext_pause_encrypt_slave, master
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	branch tid_reply
+
+parse_lmpext_pause_encrypt_slave:	
+	jam LMP_PAUSE_ENCRYPTION_REQ, mem_lmo_opcode2
+	rtn
+
+parse_lmpext_resume_encrypt:
+//trans file to pc may cause pause/resume encrypt
+//if ms is conn_sm_wait_end the controllor won't send ack after recieved start_encypt_accept
+	call tid_reply
+	branch lmp_start_encryption
+
+parse_lmpext_features_req:
+	jam LMP_EXT_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmpext_features_res:
+	fetcht 1,mem_rxbuf+4
+	and temp,0x1,temp
+	storet 1,mem_remote_sppcap
+	fetch 1,mem_hci_cmd
+	bne hci_cmd_wait_remote_ext_feature,parse_lmpext_features_res_not_hci
+	jam 0,mem_hci_cmd
+parse_lmpext_features_res_not_hci:
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_EXT
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	branch process_conn_sm
+
+parse_lmp_accepted:
+	bpatchx patch30_0,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_accepted_hostconn//ok
+	beq LMP_IN_RAND,parse_lmp_accepted_inrand//ok
+	beq LMP_ENCRYPTION_MODE_REQ,parse_lmp_accepted_enc_mode//ok
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,parse_lmp_accepted_enc_keysize//ok
+	beq LMP_START_ENCRYPTION_REQ,parse_lmp_accepted_start_enc//ok
+	beq LMP_STOP_ENCRYPTION_REQ,parse_lmp_accepted_stop_enc//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_accepted_unsniff_req//ok
+	beq LMP_SNIFF_REQ,parse_lmp_accepted_sniff_req//ok
+	beq LMP_SWITCH_REQ,parse_lmp_accepted_switch
+	// simple pairing 
+	beq LMP_ENCAPSULATED_HEADER,parse_lmp_accepted_encapsulated_header//ok
+	beq LMP_ENCAPSULATED_PAYLOAD,parse_lmp_accepted_encapsulated_payload//ok
+	beq LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_accepted_simple_pairing_number//ok
+	beq LMP_DHKEY_CHECK,parse_lmp_accepted_dhkey_check//ok
+	rtn
+	
+parse_lmp_not_accepted:
+	bpatchx patch30_1,mem_patch30
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_NAME_REQ,parse_lmp_not_accepted_name_req//ok
+	beq LMP_HOST_CONNECTION_REQ,parse_lmp_not_accepted_hostconn//ok
+	beq LMP_AU_RAND,parse_lmp_not_accepted_aurand//ok
+	beq LMP_IN_RAND,parse_lmp_not_accepted_inrand//ok
+	beq LMP_SWITCH_REQ,parse_lmp_not_accepted_switch//ok
+	/* simple pairing support */
+	beq  LMP_SIMPLE_PAIRING_NUMBER,parse_lmp_not_accepted_simple_pairing_number//ok
+	beq  LMP_DHKEY_CHECK,parse_lmp_not_accepted_dhkey_check//ok
+	beq LMP_UNSNIFF_REQ,parse_lmp_not_accepted_unsniff_req
+	beq LMP_SNIFF_REQ,parse_lmp_not_acdcept_sniff_req
+	rtn
+
+parse_lmp_accepted_switch:
+	jam BT_EVT_SWITCH_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch role_switch_prepare0
+parse_lmp_not_accepted_switch:
+	jam BT_EVT_SWITCH_NOT_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	jam SWITCH_FLAG_NOT_ACCEPT,mem_switch_flag
+	setarg TIMER_SWITCH_WAITE
+	arg switch_wait_timer,queue
+	branch timer_init
+
+
+parse_lmp_accepted_hostconn:
+	//fetch 1,mem_state
+	//rtnbit0 state_init_seq
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//nbranch parse_lmp_accepted_hostconn_ctn,master
+parse_lmp_accepted_hostconn_ctn:
+	/* checking to see if we requested host connection */
+	fetch 1,mem_conn_sm
+	bne CONN_SM_WAIT_CONN_ACCEPT, parse_rx_done
+	//branch parse_lmp_accepted_hostconn_master,master
+	/* continuing on with host connection state machine */
+	jam CONN_SM_AUTH_PAIR,mem_conn_sm
+	rtn
+	//branch host_create_conn_auth_pair
+
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+//parse_lmp_accepted_hostconn_master:
+	//jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+//	rtn
+
+parse_lmp_not_accepted_hostconn:
+	jam ACL_CONNECTION_ALREADY_EXISTS,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	/* clearing connection state machine */
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	branch parse_rx_done,true
+	rtn
+
+parse_lmp_accepted_inrand:
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	call clear_linkkey
+	call  lmp_generate_key
+	rtn master
+	set1 mark_slave_in_rand_accepted,mark
+	rtn
+
+parse_lmp_accepted_enc_mode:
+	nrtn master
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	fetch 1,mem_state_map
+	rtnbit0 smap_encryption
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+
+parse_lmp_accepted_enc_keysize:
+	branch lmp_start_encryption
+	
+parse_lmp_accepted_start_enc:
+	call send_create_conn_start_l2cap_timer_sm
+	fetch 1,mem_state
+	rtnbit1 state_conn_comp
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_ENCRYPT_WAIT
+	jam CONN_SM_ENCRYPT_WAIT_CLEAR,mem_conn_sm
+	rtn
+	
+parse_lmp_accepted_stop_enc:
+	/* again this won't work with multipoint. keep track of anyone else encrypting */
+	//jam HOST_STOP_ENCRYPTION,message_queue_B0
+	//jam 1,message_queue_B1
+	//jam HOST_RETURN_SUCCESS,message_queue_B2
+	//fetch 1,mem_lmp_state2
+	//set1 MESSAGE_QUEUE,pdata
+	//store 1,mem_lmp_state2
+	rtn
+
+parse_lmp_not_accepted_aurand:	
+parse_lmp_not_accepted_aurand_send_detach:	
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+/*in pair remote cancel the pair*/
+parse_lmp_not_accepted_inrand:
+	fetch 1,mem_rxbuf+2
+	beq KEY_MISSING,parse_lmp_inrand_key_missing
+	rtnne PAIRING_NOT_ALLOWED
+	jam PAIRING_NOT_ALLOWED,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn	
+parse_lmp_inrand_key_missing:
+	jam KEY_MISSING,mem_disconn_reason_send
+	jam LMP_DETACH,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_not_accepted_name_req:
+	rtn
+	
+parse_lmp_not_accepted_simple_pairing_number:
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+	
+parse_lmp_not_accepted_dhkey_check:
+ifdef LMP_DBG
+	call ice_break
+endif
+	jam      SP_STAT_NULL,mem_sp_state
+	jam LMP_DETACH,mem_lmo_opcode2
+	branch   parse_rx_done
+parse_lmp_not_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_accepted_unsniff_req:
+	jam BT_EVT_UNSNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_accepted_sniff_req:
+	jam BT_EVT_SNIFF_ACCEPT,mem_fifo_temp
+	call ui_ipc_send_event
+	setarg 0
+	store 2,mem_dsniff
+	fetch 2,mem_sniff_param_interval
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 1,mem_sniff_param_attempt
+	store 1,mem_sniff_attempt
+	fetch 1,mem_sniff_param_timeout
+	store 1,mem_sniff_timeout
+	branch sniff_init
+	
+parse_lmp_not_acdcept_sniff_req:
+	jam BT_EVT_SNIFF_NOT_ACCEPT,mem_fifo_temp
+	branch ui_ipc_send_event
+	
+parse_lmp_crypt_key:
+	fetcht 1,mem_rxbuf+1
+	storet 1,mem_key_size
+	branch accept_lmp_msg
+	
+parse_lmp_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	rtnbit1 SENT_SETUP_COMPLETE
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	branch parse_rx_done
+	
+parse_lmp_max_slot:
+	//jam LMP_MAX_SLOT,mem_lmi_opcode2
+	//branch accept_lmp_msg
+	rtn
+	
+parse_lmp_max_slot_req:
+	fetch 1,mem_max_slot
+	fetcht 1,mem_rxbuf+1
+	isub temp,null
+	//jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg,positive
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam UNSPECIFIED_ERROR,mem_lmo_reason2
+	jam LMP_MAX_SLOT_REQ,mem_lmi_opcode2
+	rtn
+	
+parse_lmp_detach:
+	call prepare_disconnect
+	branch accept_lmp_msg
+	
+accept_lmp_msg:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+
+parse_lmp_incr_power:
+	jam LMP_MAX_POWER,mem_lmo_opcode2
+	rtn
+
+parse_lmp_decr_power:
+	jam LMP_MIN_POWER,mem_lmo_opcode2
+	rtn
+	
+parse_lmp_version_res:
+	fetch 1,mem_conn_sm
+	rtneq CONN_SM_WAIT_VERSION
+	/* continuing on with host connection state machine */
+	jam CONN_SM_SEND_FEATURES ,mem_conn_sm
+	/* we need to move fast and send au_rand...jumping to next part of state machine for conn */
+	rtn
+
+
+parse_lmp_auto_rate:
+	rtn	
+
+parse_lmp_in_rand:
+	call lmp_copy_rand
+	jam pincode_state_wait_pincode,mem_pincode_state
+	jam BT_EVT_PINCODE_REQ,mem_fifo_temp
+	call ui_ipc_send_event
+
+	call tid_check
+	nbranch lmp_accept_inrand,true
+	//fetch 1,mem_auth_enable
+	nbranch parse_lmp_inrand_res,master // ignore this because of not ssp temporary
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	jam TRANSACTION_COLLISION,mem_lmo_reason2
+	rtn
+parse_lmp_inrand_res:
+	fetch 1,mem_op
+	set1 op_inrand_req,pdata
+	store 1,mem_op
+	rtn
+
+//store current tid
+pop_tid_follow:
+	fetcht 1,mem_state_map
+	nsetflag blank,smap_lmptid,temp
+	storet 1,mem_state_map
+	rtn
+	
+//restore current tid
+push_tid_follow:
+	fetch 1,mem_lmo_tid2
+	rshift pdata,pdata
+	and_into 1,pdata
+	rtn
+
+parse_lmp_au_rand_moudle:
+	fetch 1,mem_nv_data_number
+	rtn blank
+	fetch 1,mem_pairing_auth
+	call load_device_list,blank
+	rtn	
+
+parse_lmp_au_rand:
+	call parse_lmp_au_rand_moudle
+	call push_tid_follow
+	store 1,mem_sres_tid
+	call lmp_copy_rand
+	jam LMP_SRES,mem_lmo_opcode2
+	fetch 1,mem_link_key_exists
+	nrtn blank
+	fetch 1,mem_state
+	rtnbit1 state_combkey		/* we have comb key, but not verified */
+	jam KEY_MISSING,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_sres:	
+	arg mem_plap,rega
+	call function_e1
+	fetch 4,mem_rxbuf+1
+	fetcht 4,mem_input_store
+	isub temp,null
+	branch authentication_ok,zero
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam AUTHENTICATION_FAILURE_ERROR,mem_disconn_reason_send	
+	rtn
+authentication_ok:
+	call authentication_ok_common
+	fetch 1,mem_ssp_enable
+	branch  pairing_success,blank
+	rtn
+
+	
+authentication_ok_common:
+	call copy_aco
+	call linkkey_ready///save link key
+	fetch 1,mem_op
+	isolate1 op_auth_req,pdata
+	set0 op_auth_req,pdata
+	store 1,mem_op
+	fetch 1,mem_conn_sm
+	beq CONN_SM_AUTH_WAIT,authentication_ok_conn_sm
+	beq CONN_SM_PAIRING_WAIT,authentication_ok_conn_sm
+	rtn
+authentication_ok_conn_sm:
+	fetch 1,mem_pairing_auth
+	rtnne DEFALT_PAIRING_AUTH
+	fetch 1,mem_state_map
+	rtnbit1 smap_encryption
+	branch host_create_conn_encrypt
+
+parse_lmp_comb_key:
+	arg mem_rxbuf+1,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg mem_plap,rega
+	call generate_linkkey
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	fetch 1,mem_state
+	bbit0 state_combkey,lmp_generate_key
+	rtn
+	
+parse_lmp_name_res:
+	fetch 2,mem_len
+	add pdata,-3,loopcnt	//for remote name length error
+	fetcht 1,mem_rxbuf+1
+	setarg mem_tmp_buffer
+	iadd temp,contw
+	arg mem_rxbuf+3,contr
+	call memcpy
+	fetcht 1,mem_name_offset
+	fetch 1,mem_rxbuf+2
+	isub temp,pdata
+	sub pdata,14,null
+	branch parse_lmp_name_res_end,positive
+	add temp,14,pdata
+	store 1,mem_name_offset
+	jam LMP_NAME_REQ,mem_lmo_opcode2
+	rtn
+parse_lmp_name_res_end:
+	fetch 1,mem_state_map
+	set1 smap_name_res,pdata
+	store 1,mem_state_map
+	bbit1 smap_name_req,lmp_disconnect
+	rtn
+parse_lmp_name_req:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_opcode2 //offset 
+	jam LMP_NAME_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_conn_req:
+	branch accept_lmp_msg
+
+parse_lmp_timing_accuracy_req:
+	jam LMP_TIMING_ACCURACY_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_features_req:
+	jam LMP_FEATURES_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_version_req:
+	jam LMP_VERSION_RES,mem_lmo_opcode2
+	rtn
+
+parse_lmp_supervision_timeout:
+//	fetch 2,mem_rxbuf+1
+//	store 2,mem_supervision_to
+	rtn
+	
+
+
+parse_lmp_sniff_subrating_req:
+	fetch 2,mem_tsniff
+	iforce temp
+	fetch 1,mem_rxbuf+2
+	store 1,mem_subsniff_rate
+	imul32 temp,temp
+	fetch 2,mem_rxbuf+3
+	lshift pdata,pdata
+	store 2,mem_subsniff_tcmax
+	fetch 4,mem_rxbuf+5
+	lshift pdata,pdata
+ 	store 4,mem_subsniff_instant
+	//product pdata
+	deposit temp
+	store 2,mem_subsniff_tsniff
+	rtn
+parse_lmpext_packet_type_table_req:
+	fetcht 1,mem_ptt
+	fetch 1,mem_rxbuf+2
+	ixor temp,null
+	nbranch reject_unknown_ext_packet,zero
+	isolate1 0,pdata
+	fetch 1,mem_state_map
+	setflag true,smap_edr,pdata
+	store 1,mem_state_map
+	jam LMP_EXT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmi_opcode2
+	rtn
+
+	
+parse_lmp_sniff_subrating_res:
+parse_lmp_preferred_rate:
+parse_lmp_max_power:
+parse_lmp_min_power:
+	rtn
+parse_lmp_page_mode_req:
+	//jam LMP_PAGE_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+parse_lmp_page_scan_mode_req:
+	//this can influence connection. need accepted
+	//jam LMP_PAGE_SCAN_MODE_REQ,mem_lmi_opcode2
+	branch accept_lmp_msg
+
+
+	
+parse_lmp_slot_offset:
+	fetch 2,mem_rxbuf+1
+	store 2,mem_slot_offset
+	rtn
+
+parse_lmp_sniff_req_check_sniff_para:
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	fetcht 1,mem_lpm_mult
+	imul32 temp,pdata
+	arg 0x640,temp
+	isub temp,null
+//	branch lmp_reject_sniff,positive
+	rtn
+	
+parse_lmp_sniff_req:
+	fetch 2,mem_rxbuf+6
+	branch lmp_reject_sniff,blank
+	call parse_lmp_sniff_req_check_sniff_para
+	branch lmp_reject_sniff,positive
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call module_set_lpm_mult_2,zero
+	fetch 1,mem_state
+	bbit1 state_insniff,lmp_reject_sniff
+	fetch 2,mem_rxbuf+2 /* dsniff */
+	lshift pdata,pdata
+	store 2,mem_dsniff	
+	fetch 2,mem_rxbuf+4 /* tsniff */
+	lshift pdata,pdata
+	store 2,mem_tsniff
+	fetch 2,mem_rxbuf+6 /* sniff attempt */
+	store 1,mem_sniff_attempt
+	iforce temp
+	fetch 2,mem_rxbuf+8 /* sniff timeout */
+	store 1,mem_sniff_timeout
+	isub temp,null
+	nbranch set_big_value_to_attempt,positive
+	store 1,mem_sniff_attempt
+set_big_value_to_attempt:	
+	//call sniff_init
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SNIFF_REQ,mem_lmi_opcode2
+	rtn
+
+lmp_reject_sniff:
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+parse_lmp_start_encryption_req:
+	call accept_lmp_msg
+	call lmp_copy_rand
+	call function_e3
+	branch start_encryption
+	
+parse_lmp_stop_encryption_req:
+	call accept_lmp_msg
+	branch stop_encryption
+	
+
+parse_lmp_switch_req:
+	fetch 4,mem_rxbuf+1
+	lshift pdata,pdata
+	//branch parse_lmp_switch_req_not_accept
+	branch parse_lmp_switch_accept,master
+	fetcht 1,mem_link_key_exists
+	nbranch parse_lmp_switch_req_clear_mark,blank
+parse_lmp_switch_req_not_accept:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	jam PDU_NOT_ALLOWED,mem_lmo_reason2
+	rtn
+parse_lmp_switch_req_clear_mark:
+	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	jam 0,mem_conn_sm
+	branch role_switch_prepare
+
+parse_lmp_switch_accept:
+	call role_switch_prepare
+	set1 mark_reconn_recieve_switch,mark
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	branch accept_lmp_msg
+
+	
+
+parse_lmp_temp_rand:
+parse_lmp_temp_key:
+parse_lmp_timing_accuracy_res:	
+parse_lmp_unit_key:	
+parse_lmp_use_semi_permanend_key:
+	rtn
+
+	
+parse_lmp_unsniff_req:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_UNSNIFF_REQ,mem_lmi_opcode2
+	jam BT_EVT_REMOTE_UNSNIFF,mem_fifo_temp
+	call ui_ipc_send_event
+	branch sniff_exit
+	
+parse_lmp_encapsulated_header:
+	fetch 1,mem_rxbuf+1
+	bne ENCAPSULATED_MAJOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+2
+	bne ENCAPSULATED_MINOR_TYPE_P192,parse_lmp_encapsulated_header_reject
+	fetch 1,mem_rxbuf+3
+	bne ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_header_reject
+	call check_localsm
+	branch parse_lmp_encapsulated_header_master,true
+	jam SP_STAT_KEY_RECV,mem_sp_state
+parse_lmp_encapsulated_header_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_ENCAPSULATED_HEADER,mem_lmi_opcode2
+	branch parse_rx_done
+	
+parse_lmp_encapsulated_header_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet
+	
+parse_lmp_accepted_encapsulated_header:
+	//jam LMP_ENCAPSULATED_PAYLOAD,mem_lmi_opcode2
+	//branch   accept_lmp_msg  	
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+      //   branch   accept_lmp_msg  	
+         rtn
+parse_lmp_accepted_simple_pairing_number:
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,parse_lmp_accepted_simple_pairing_number_ssp_pin
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_accepted_simple_pairing_number_passkey
+parse_lmp_accepted_simple_pairing_number_common:
+	call check_localsm
+	rtn true
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_simple_pairing_number_ssp_pin:
+	call g_noninit_number_confirm
+	jam BT_EVT_BT_GKEY_GENERATE,mem_fifo_temp
+	call ui_ipc_send_event
+	branch parse_lmp_accepted_simple_pairing_number_common
+
+
+parse_lmp_accepted_simple_pairing_number_passkey:
+	call check_localsm
+	rtn true
+	fetch 1,mem_authentication_passkey_times
+	beq 19,authentication_passkey_end
+	increase 1,pdata
+	store 1,mem_authentication_passkey_times
+//	branch p_authentication_passkey
+
+authentication_passkey:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	fetch 1,mem_authentication_passkey_times
+	copy pdata,queue
+	fetch 6,mem_pin
+	qisolate1 pdata
+	setarg 0x80
+	setflag true,0,pdata
+	store 1,mem_passkey_1bit
+	rtn
+
+authentication_passkey_end:	
+	jam SP_STAT_CONFIRM_RECV,mem_sp_state
+	rtn
+
+parse_lmp_accepted_dhkey_check:
+	call parse_lmp_accepted_dhkey_check_common
+pairing_success:
+	fetch 1,mem_flag_pairing_state
+	rtn blank
+	jam FLAG_PAIRING_STATE_NOT_PAIRING,mem_flag_pairing_state
+	jam BT_EVT_BT_PAIRING_SUCCESS,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_accepted_dhkey_check_common:
+	//here must be change***  shyd
+	call check_localsm
+ifdef SIMPLE_PAIRING
+	ncall g_noninit,true	//when be master  call g_init
+	call g_init,true
+endif
+	call check_localsm
+	rtn true
+	jam SP_STAT_LINK_KEY_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+
+parse_simple_pairing_confirm:
+	arg mem_sp_confirm_remote,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	fetch 1,mem_ssp_mode_flag
+	rtneq  SSP_MODE_PASSKEY_ENTRY_FLAG
+ifdef SIMPLE_PAIRING
+	branch master_set_mem_master_sp_flag
+endif
+	
+parse_lmp_encapsulated_payload:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_encapsulated_payload_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_KEY_RECV,parse_lmp_encapsulated_payload_reject
+parse_encapsulated_payload_master:
+	fetch    1,mem_sp_remote_key_recv_count
+	sub      pdata,0x20,contw
+	nbranch  parse_lmp_encapsulated_payload_reject,positive
+	arg      mem_sp_pubkey_remote,contw
+	iadd     contw,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	fetch    1,mem_sp_remote_key_recv_count
+	increase 16,pdata
+	store    1,mem_sp_remote_key_recv_count
+	bne ENCAPSULATED_LEN_P192,accept_lmp_msg
+parse_lmp_encapsulated_payload_completed:
+	call check_localsm
+	branch accept_lmp_msg,true
+	jam      SP_KEY_VALID,mem_sp_remote_key_invalid
+	jam      SP_STAT_KEY_GENERATE,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag  
+	branch   accept_lmp_msg
+parse_lmp_encapsulated_payload_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch   reject_lmp_packet	
+parse_lmp_accepted_encapsulated_payload: 
+	fetch 1,mem_sp_local_key_send_count
+	beq	ENCAPSULATED_LEN_P192,parse_lmp_encapsulated_payload_all_accepted
+	jam LMP_ENCAPSULATED_PAYLOAD,mem_lmo_opcode2
+	branch   parse_rx_done 
+	
+parse_lmp_encapsulated_payload_all_accepted:   
+	call check_localsm
+	branch parse_lmp_encapsulated_payload_all_accepted_master,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_PASSKEY_ENTRY_FLAG,parse_lmp_encapsulated_payload_all_accepted_get_passkey
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	jam      SP_STAT_COMMIT_CALC,mem_sp_state 
+	branch   parse_rx_done
+
+parse_lmp_encapsulated_payload_all_accepted_get_passkey:
+	jam BT_EVT_BT_GET_PASSKEY,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+parse_lmp_encapsulated_payload_all_accepted_master:
+	//call sp_master_generate_local_key
+	branch   parse_rx_done   
+
+parse_lmp_simple_pairing_number:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_RANDOM_SEND,parse_lmp_simple_pairing_number_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_RANDOM_RECV,parse_lmp_simple_pairing_number_reject
+parse_lmp_simple_pairing_number_master:
+	arg      mem_sp_random_remote,contw
+	fetch 8,mem_rxbuf+1
+	istore   8,contw
+	fetch 8,mem_rxbuf+9
+	istore   8,contw
+	call check_localsm
+	branch parse_lmp_simple_pairing_number_master0,true
+	jam      SP_STAT_RANDOM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_master0:
+	jam SP_STAT_COMMIT_CALC,mem_master_sp_state
+ifdef SIMPLE_PAIRING
+	branch master_set_mem_master_sp_flag
+endif
+	//jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	//branch accept_lmp_msg  
+parse_lmp_simple_pairing_number_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+	
+parse_dhkey_check:
+	fetch    1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_SEND,parse_dhkey_check_master
+	fetch    1,mem_sp_state
+	bne SP_STAT_CONFIRM_RECV,parse_lmp_dhkey_check_reject
+parse_dhkey_check_master:
+	arg      mem_sp_check_result,contw
+	arg mem_rxbuf+1,contr
+	call memcpy16
+	call check_localsm
+	branch parse_dhkey_check_master0,true
+	fetch 1,mem_ssp_mode_flag
+	beq SSP_MODE_SSP_PIN_FLAG,number_comparison_mode
+number_comparison_successed:
+	jam 0,mem_flag_mode_ssp_pin
+	jam SP_STAT_CONFIRM_CHECK,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch   parse_rx_done
+	
+parse_dhkey_check_master0:
+	jam      SP_STAT_CONFIRM_CHECK,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	branch   parse_rx_done
+parse_lmp_dhkey_check_reject:
+	jam      PDU_NOT_ALLOWED,mem_lmo_reason2
+	branch reject_lmp_packet
+
+number_comparison_mode:
+	fetch 1,mem_flag_mode_ssp_pin
+	bbit1 FLAG_MODE_SSP_PIN_REVICEVE_COMPARISON_BIT ,comparison_result
+	set1 FLAG_MODE_SSP_PIN_RECIEVE_DHKEY_BIT,pdata
+	store 1,mem_flag_mode_ssp_pin
+	rtn
+	
+comparison_result:
+	bbit1 FLAG_MODE_SSP_PIN_COMPARISON_RESULT_BIT,number_comparison_successed
+	jam 0,mem_flag_mode_ssp_pin
+	branch parse_lmp_dhkey_check_reject
+
+	
+parse_lmp_clkoffset_res:
+	branch parse_rx_done
+		
+parse_lmp_encryption_mode_req:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT
+	store 1,mem_connection_options
+	call accept_lmp_msg
+	nrtn master					/* do sth only if we're master */
+	fetch 1,mem_rxbuf+1
+	fetcht 1,mem_op
+	setflag blank,op_stop_enc,temp
+	nsetflag blank,op_start_enc,temp
+	storet 1,mem_op
+	rtn 
+	
+parse_lmp_features_res:
+	fetcht 8,mem_rxbuf+1		/*fix bcp(baoshijie) err*/
+parse_lmp_features_res_not_hci:	
+	fetch 1,mem_conn_sm
+	rtnne CONN_SM_WAIT_FEATURES_RES
+
+	fetch 1,mem_connection_options
+	bbit0 CONNECTION_FEATURE_EXT,parse_lmp_send_conn
+
+	jam CONN_SM_SEND_FEATURES_EXT,mem_conn_sm
+	rtn
+parse_lmp_send_conn:
+	jam CONN_SM_SEND_CONN_REQ,mem_conn_sm
+	rtn
+parse_lmp_test_activate:
+	fetch 1,mem_debug_config
+	store 1,mem_test_mode_old_debug_config
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_ACTIVATE,mem_lmi_opcode2
+	rtn
+parse_lmp_test_control:
+	/* the 9 test control parameters are XORed with 0x55 */
+	/* doing the XOR here and storing in mem_temp_payload */
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_TEST_CONTROL,mem_lmi_opcode2
+	force 9,loopcnt
+	arg mem_rxbuf+1,contr
+	arg mem_temp_payload,contw
+parse_lmp_test_xor:
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop parse_lmp_test_xor
+	fetch 1,test_mode_scenario
+	fetcht 1,mem_tester_emulate
+	set0 tester_no_whitening,temp
+	set0 tester_pattern_test,temp
+	beq EXIT_TEST_MODE,	 parse_lmp_test_control_exit
+	beq PAUSE_TEST_MODE,	 parse_lmp_test_control_pause
+	beq CLOSED_LOOP_BACK_ACL,	 parse_lmp_test_control_loopback
+	beq ACL_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq CLOSED_LOOP_BACK_SCO,	 parse_lmp_test_control_loopback
+	beq SCO_WITHOUT_WHITENING,	 parse_lmp_test_control_loopback_nowhite
+	beq ZERO_PATTERN,	 parse_lmp_test_control_pattern
+	beq ONE_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT_PATTERN,	 parse_lmp_test_control_pattern
+	beq ALT2_PATTERN,	 parse_lmp_test_control_pattern
+	beq PSEUDORANDOM,	 parse_lmp_test_control_pattern
+	rtn
+parse_lmp_test_control_exit:
+	/* restoring old parameters */
+	fetch 1,mem_tester_emulate
+	set1 tester_exit,pdata
+	set1 tester_change,pdata
+	store 1,mem_tester_emulate
+	rtn
+parse_lmp_test_control_pattern:
+	set1 tester_pattern_test,temp
+	jam 5,mem_lch_code
+	fetch 2,test_mode_data_length
+	iforce loopcnt
+	store 2,mem_len
+	arg mem_rxbuf,contw
+	call pn9
+parse_lmp_test_control_loopback_nowhite:
+	set1 tester_no_whitening,temp
+parse_lmp_test_control_loopback:
+	set1 tester_change,temp
+	force 0,pdata
+	store 1,mem_slave_rcvcnt
+	store 2,mem_tst_pktcnt_crc
+	store 2,mem_tst_pktcnt_dmh
+	store 2,mem_tst_pktcnt_hec
+	store 2,mem_tst_pktcnt_sync
+	fetch 1,test_mode_hopping_mode
+	compare FIXED_FREQ,pdata,0xff
+	setflag true,tester_fixed_freq,temp
+	storet 1,mem_tester_emulate
+	rtn
+
+parse_lmp_test_control_pause:
+	set0 mark_testmode,mark
+	jam 0,mem_tester_emulate
+	fetch 1,mem_debug_config
+	set0 debug_tx_pattern,pdata
+	store 1,mem_debug_config
+	rtn
+
+
+	
+	
+
+lmp_copy_rand:	
+	arg mem_rxbuf+1,contr
+	arg mem_random_number,contw
+	branch memcpy16
+
+lmp_generate_key:
+	jam LMP_COMB_KEY,mem_lmo_opcode2
+	rtn
+
+lmp_start_encryption:
+	nrtn master
+	jam LMP_START_ENCRYPTION_REQ,mem_lmo_opcode2
+	rtn
+	
+lmp_accept_inrand:
+	arg mem_lap,rega
+	call generate_kinit
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_IN_RAND,mem_lmi_opcode2
+	rtn
+
+lmp_disconnect:
+	jam 10,mem_conn_timer
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send	
+	rtn
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+	/* enable user if a lmp packet is to send */
+send_lmp:
+	bpatchx patch30_2,mem_patch30
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+/* lmp message to be processed. this will either be because host??? */
+/* wants to send a lmp message or because one resulted from the LMP */
+/* processing section */
+/********* outgoing lmp lookup table *************/
+	bbit1 7,send_lmp_escape
+send_lmp0:
+	beq LMP_NAME_REQ,	 send_lmp_name_req
+	beq LMP_NAME_RES,	 send_lmp_name_res
+	beq LMP_ACCEPTED,	 send_lmp_accepted
+	beq LMP_NOT_ACCEPTED,	 send_lmp_not_accepted
+	beq LMP_FEATURES_REQ,	 send_lmp_features_req
+	beq LMP_FEATURES_RES,	 send_lmp_features_res
+	beq LMP_TIMING_ACCURACY_RES,	 send_lmp_timing_accuracy_res
+	beq LMP_VERSION_REQ,	 send_lmp_version_req
+	beq LMP_VERSION_RES,	 send_lmp_version_res
+	beq LMP_SETUP_COMPLETE,	 send_lmp_setup_complete
+	beq LMP_SUPERVISION_TIMEOUT,	 send_lmp_superto
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_no_payload
+	beq LMP_IN_RAND,send_lmp_inrand
+	beq LMP_COMB_KEY,send_lmp_comb_key
+	beq LMP_AU_RAND,send_lmp_aurand
+	beq LMP_SRES,send_lmp_sres
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_encryption_mode_req
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_encryption_key_size_req
+	beq LMP_START_ENCRYPTION_REQ,send_lmp_start_encryption
+	beq LMP_DETACH,send_lmp_detach
+	beq LMP_QUALITY_OF_SERVICE_REQ, send_lmp_quality_of_service_req
+	beq LMP_UNIT_KEY,send_lmp_unit_key
+	//Optional (O)
+	beq LMP_INCR_POWER_REQ,send_lmp_inc_power	
+	beq LMP_CLKOFFSET_RES, send_lmp_clkoffset_res	
+	beq LMP_MAX_POWER,send_lmp_nopayload_reply
+	beq LMP_MAX_SLOT, send_lmp_max_slot
+	beq LMP_MAX_SLOT_REQ, send_lmp_max_slot_req
+	beq LMP_MIN_POWER,send_lmp_nopayload_reply
+	beq LMP_SLOT_OFFSET, send_lmp_slot_offset
+	beq LMP_SWITCH_REQ, send_lmp_switch_req
+	beq LMP_SNIFF_REQ, send_lmp_sniff_req
+	beq LMP_STOP_ENCRYPTION_REQ, send_lmp_stop_encryption_req	
+	beq LMP_TIMING_ACCURACY_REQ, send_lmp_timing_accuracy_req
+	beq LMP_UNSNIFF_REQ, send_lmp_unsniff_req
+	beq LMP_ENCAPSULATED_HEADER,send_lmp_encapsulated_header
+	beq LMP_ENCAPSULATED_PAYLOAD,send_lmp_encapsulated_payload
+	beq LMP_SIMPLE_PAIRING_CONFIRM,send_lmp_simple_pairing_comfirm
+	beq LMP_SIMPLE_PAIRING_NUMBER,send_lmp_simple_pairing_number
+	beq LMP_DHKEY_CHECK,send_lmp_dhkey_check
+	beq LMP_AUTO_RATE,send_lmp_auto_rate
+	beq LMP_ENC_KEY_SIZE_MASK_RES,send_lmp_enc_key_size_mask_res
+	//master only must(M)
+	beq LMP_CLKOFFSET_REQ, send_lmp_clkoffset_req
+	beq LMP_QUALITY_OF_SERVICE, send_lmp_quality_of_service
+	beq LMP_TEST_ACTIVATE, send_lmp_test_activate
+	beq LMP_TEST_CONTROL, send_lmp_test_control
+send_lmp_error:
+	branch assert
+	rtn
+send_lmp_escape:
+	beq LMP_EXT_ACCEPTED,send_lmpext_accepted
+	beq LMP_EXT_FEATURES_RES,send_lmpext_features_res
+	beq LMP_NOT_ACCEPTED_EXT,send_lmpext_not_accepted
+	beq LMP_EXT_FEATURES_REQ,send_lmpext_features_req
+	beq LMP_PACKET_TYPE_TABLE_REQ,send_lmpext_packet_type_table_req
+	beq LMP_PAUSE_ENCRYPTION_REQ,send_lmpext_pause_encryption_req
+	beq LMP_IO_CAP_REQ,send_lmp_io_cap_req
+         beq LMP_IO_CAP_RES,send_lmpext_io_cap_res
+         beq LMP_SNIFF_SUBRATING_REQ,send_lmpext_sniff_subrating_req
+         beq LMP_SNIFF_SUBRATING_RES,send_lmpext_sniff_subrating_res
+	branch assert
+
+
+/******** LMP follow messages **********/
+/****** TID follow received packet  *******/
+
+send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	call send_lmp_follow
+	bpatchx patch30_3,mem_patch30
+	fetch 1,mem_lmi_opcode
+	beq LMP_IN_RAND,send_lmp_accepted_inrand
+	beq LMP_ENCRYPTION_MODE_REQ,send_lmp_accepted_enc_mode
+	beq LMP_ENCRYPTION_KEY_SIZE_REQ,send_lmp_accepted_enc_key
+	beq LMP_SNIFF_REQ,send_lmp_accept_sniff_req
+	beq LMP_HOST_CONNECTION_REQ,send_lmp_accepted_connection
+	beq LMP_DHKEY_CHECK,send_lmp_accept_dhkey_check
+	beq LMP_START_ENCRYPTION_REQ,send_create_conn_start_l2cap_timer_sm  
+	rtn	
+	
+send_create_conn_start_l2cap_timer_sm:
+	fetch 1,mem_conn_sm
+	rtn blank
+	jam CONN_SM_WAIT_DONE,mem_conn_sm
+	setarg TIMER_ENPT_WAITE
+	arg enpt_delay_timer,queue
+	branch timer_init
+	
+send_lmp_accept_sniff_req:
+	branch sniff_init
+send_lmp_not_accepted:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	beq LMP_AU_RAND,send_not_accept_aurand
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+
+send_not_accept_aurand:
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	arg mem_sres_tid,temp
+	branch special_tid_store
+
+send_lmpext_accepted:	
+	force 4,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	branch send_lmp_follow
+
+send_lmpext_not_accepted:
+	force 5,queue
+	call send_lmpext
+	setarg LMP_ESCAPE
+	istore 1,contw
+	fetch 1,mem_lmi_opcode
+	set0 7,pdata
+	istore 1,contw
+	fetch 1,mem_lmo_reason
+	istore 1,contw
+	branch send_lmp_follow
+	
+
+send_lmp_accepted_inrand:
+	call clear_linkkey
+	call tid_check	
+	rtn true
+	branch lmp_generate_key
+
+send_lmp_accepted_enc_mode:
+	fetch 1,mem_op
+	bbit1 op_start_enc,send_lmp_accepted_enc_start
+	rtnbit0 op_stop_enc
+	jam LMP_STOP_ENCRYPTION_REQ,mem_lmo_opcode2
+	set0 op_stop_enc,pdata
+	call tid_reply
+	branch send_lmp_accepted_enc_exit
+send_lmp_accepted_enc_start:
+	jam LMP_ENCRYPTION_KEY_SIZE_REQ,mem_lmo_opcode2
+	set0 op_start_enc,pdata
+send_lmp_accepted_enc_exit:
+	store 1,mem_op
+	rtn
+
+send_lmp_accepted_enc_key:
+	call check_localsm
+	branch lmp_start_encryption,true
+	rtn
+
+send_lmp_accepted_connection:
+	jam LMP_PACKET_TYPE_TABLE_REQ,mem_lmo_opcode2
+	//jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	fetch 1,mem_lmp_conn_state
+	set1 RECEIVED_CONN_REQ,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_BB_CONNECTED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+
+send_lmp_accept_dhkey_check:
+	rtn
+/******** LMP reply messages **********/
+/****** TID always set to remote  *******/
+
+send_lmpext_features_res:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_reply
+send_lmpext_io_cap_res:     
+	force 5,queue
+         call send_lmpext
+       	fetch 3,mem_sp_iocap_local
+         istore 3,contw
+	call send_lmp_reply
+	jam FLAG_PAIRING_STATE_PAIRING,mem_flag_pairing_state
+	fetch 1,mem_sp_iocap_local
+	beq DISPLAY_YESNO,responder_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_keyboard_only_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_keyboard_only_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_keyboard_only_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_keyboard_only_initiator_iocap_no_input_no_output
+	rtn
+
+
+responder_iocap_display_yesno:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_display_yesno_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_display_yesno_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_display_yesno_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_display_yesno_initiator_iocap_no_input_no_output
+	rtn
+
+	
+responder_iocap_no_input_no_output:
+	fetch 1,mem_sp_iocap_remote
+	beq DISPLAY_ONLY,responder_iocap_no_input_no_output_initiator_iocap_display_only
+	beq DISPLAY_YESNO,responder_iocap_no_input_no_output_initiator_iocap_display_yesno
+	beq KEYBOARD_ONLY,responder_iocap_no_input_no_output_initiator_iocap_keyboard_only
+	beq NO_INPUT_NO_OUTPUT,responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_no_input_no_output:
+responder_iocap_display_yesno_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_only:
+responder_iocap_no_input_no_output_initiator_iocap_display_yesno:
+responder_iocap_no_input_no_output_initiator_iocap_keyboard_only:
+responder_iocap_no_input_no_output_initiator_iocap_no_input_no_output:
+set_ssp_mode_justwork: 
+	jam SSP_MODE_JUST_WORK_FLAG,mem_ssp_mode_flag
+	fetch 1,mem_classic_bt_flag
+	bbit1 FLAG_SSP_REJECT_JUSTWORK,app_bt_disconnect
+	rtn
+
+responder_iocap_display_yesno_initiator_iocap_display_yesno:
+set_ssp_mode_numeric_comparison: 
+	jam SSP_MODE_SSP_PIN_FLAG,mem_ssp_mode_flag
+	rtn
+
+responder_iocap_keyboard_only_initiator_iocap_display_yesno:
+responder_iocap_keyboard_only_initiator_iocap_keyboard_only:	
+responder_iocap_keyboard_only_initiator_iocap_display_only:	
+responder_iocap_display_yesno_initiator_iocap_keyboard_only:
+set_ssp_mode_passkey: 
+	jam SSP_MODE_PASSKEY_ENTRY_FLAG,mem_ssp_mode_flag
+	rtn
+
+
+classic_bt_set_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_set_flag
+
+classic_bt_clr_reject_justwork_flag:
+	arg FLAG_SSP_REJECT_JUSTWORK,queue
+	branch classic_bluetooth_clr_flag
+
+classic_bluetooth_set_flag:
+	fetch 1,mem_classic_bt_flag
+	qset1 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+classic_bluetooth_clr_flag:
+	fetch 1,mem_classic_bt_flag
+	qset0 pdata
+	store 1,mem_classic_bt_flag
+	rtn
+
+         
+send_lmp_io_cap_req:
+	force 5,queue
+	call send_lmpext
+	fetch 3,mem_sp_iocap_local
+	istore 3,contw
+	branch send_lmp_request
+	
+
+send_lmpext_sniff_subrating_req: 
+
+	rtn
+send_lmpext_sniff_subrating_res: 
+         force 9,queue
+         call send_lmpext
+         fetch 1,mem_subsniff_rate
+         istore 1,contw
+         fetch 2,mem_subsniff_tcmax
+         istore 2,contw
+         fetch 4,mem_subsniff_instant
+         istore 4,contw
+	branch send_lmp_reply
+
+send_lmp_name_res:
+	force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode  /* loading name offset */
+	copy pdata,temp
+	beq 0x00,send_lmp_name_res_offset_ok
+	beq 0x0e,send_lmp_name_res_offset_ok
+	beq 0x1c,send_lmp_name_res_offset_ok
+	rtn
+send_lmp_name_res_offset_ok:
+	istore 1,contw	/* writing name offset */
+	fetch 1,mem_local_name_length
+	istore 1,contw	/* writing name length */
+	arg 14,loopcnt
+	setarg mem_local_name
+	iadd temp,contr	/* setting read location */
+	call memcpy
+	branch send_lmp_reply
+
+
+send_lmp_timing_accuracy_res:
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_clkoffset_res:
+	// dopod s505 must wait for this res
+	force 3,pdata
+	call msg_send_lmp
+	fetch 4,mem_clke_bt
+	isub clkn_bt,pdata
+	branch send_lmp_clkoffset_res_master,master
+	sub pdata,0,pdata		/* our role is slave */
+send_lmp_clkoffset_res_master:	
+	// bit 16-2 of clkslave-clkmaster
+	rshift2 pdata,pdata
+	set0 15,pdata
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_version_res:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_reply
+
+send_lmp_features_res:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_reply  
+
+
+/******** LMP request messages **********/
+/****** TID always set to local initiated *******/
+	
+
+send_lmpext_features_req:
+	force 12,queue
+	call send_lmpext
+	setarg 0x01
+	istore 1,contw
+	fetch 2,mem_lmpext_ssp_enable
+	istore 2,contw
+	setarg 0
+	istore 3,contw
+	setarg 0x00
+	istore 4,contw
+	branch send_lmp_request
+
+send_lmpext_packet_type_table_req:
+	force 3,queue
+	call send_lmpext
+	fetch 1,mem_ptt
+	istore 1,contw
+	disable user
+	call send_lmp_request
+	nrtn user
+	nrtn master
+	fetch 1,mem_afh_cfg
+	rtnbit0 AFH_CFG_ON
+	call afh_init
+	branch afh_open_all_channels
+	
+//default:featrue is enable,extfeature is disable
+ssp_enable:
+	bpatchx patch30_4,mem_patch30
+	fetch 1,mem_features+6
+	set1 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg param_lmpext_ssp_enable
+	store 2,mem_lmpext_ssp_enable
+	rtn
+
+ssp_disable:
+	bpatchx patch30_5,mem_patch30
+	fetch 1,mem_features+6
+	set0 param_featrue_ssp,pdata
+	store 1,mem_features+6
+	setarg 0
+	store 2,mem_lmpext_ssp_enable
+	rtn
+	
+afh_init:
+	jam 0x3,mem_afh_cfg
+	setarg 0
+	store 4,mem_afh_timer
+	arg mem_afh_map_lo,contw
+	call afh_reset_map
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	arg mem_afh_classify_channel_map,contw
+	call afh_reset_map
+	branch afh_clear_error_counter
+afh_open_all_channels:
+	arg mem_afh_map_new,contw
+	call afh_reset_map
+	call afh_clear_error_counter
+	branch afh_set_send_flag
+
+
+afh_reset_map:
+	setarg 0xffffff
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	setarg 0x7f
+	istore 1,contw
+	rtn
+afh_clear_error_counter:
+	setarg 0
+	store 2,mem_afh_error_total
+	rtn
+afh_set_send_flag:
+	fetch 1,mem_afh_cfg
+	set1 send_lmp_set_afh,pdata
+	store 1,mem_afh_cfg
+	rtn
+
+
+send_lmpext_pause_encryption_req:
+	force 2,queue
+	call send_lmpext
+	nbranch send_lmp_reply,master
+	// assume slave will not send pause req firstly???
+	branch send_lmp_request
+
+
+	
+send_lmp_detach:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_disconn_reason_send
+	istore 1,contw
+	call send_lmp_request
+prepare_disconnect:
+	fetch 1,mem_op
+	set1 op_disconn,pdata
+	store 1,mem_op
+	jam 50,mem_conn_timer
+	rtn
+	
+
+send_lmp_no_payload:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_nopayload_reply:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_reply
+	
+	
+send_lmp_encryption_mode_req:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_state_map
+	isolate0 smap_encryption,pdata
+	setflag true,0,pdata
+	and_into 1,pdata
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_superto:
+	force 3,pdata
+	call msg_send_lmp
+	fetch 2,mem_supervision_to
+	istore 2,contw
+	branch send_lmp_request
+
+send_lmp_name_req:
+	jam 250,mem_conn_timer
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_name_offset
+	istore 1,contw
+	branch send_lmp_request
+
+send_lmp_test_control:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_temp_payload,contr
+	force 9,loopcnt
+send_lmp_test_control_loop:	
+	ifetch 1,contr
+	xor_into 0x55,pdata
+	istore 1,contw
+	loop send_lmp_test_control_loop
+	branch send_lmp_request  
+
+send_lmp_quality_of_service_req:
+	branch send_lmp_request
+send_lmp_unit_key:
+	branch send_lmp_request
+
+send_lmp_slot_offset:
+	rtn master
+	call calc_slot_offset
+	force 9,pdata
+	call msg_send_lmp
+	fetch 2,mem_slot_offset
+	istore 2,contw
+	fetch 3,mem_lap
+	istore 3,contw
+	fetch 1,mem_uap
+	istore 1,contw
+	fetch 2,mem_nap
+	istore 2,contw
+	bmark0 mark_switch_initiated,send_lmp_slot_offset_reply
+	set0 mark_switch_initiated,mark
+	call send_lmp_request
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_slot_offset_reply:
+	call send_lmp_reply
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam LMP_SWITCH_REQ,mem_lmi_opcode2
+	rtn
+	
+send_lmp_switch_req:
+	arg 0x200,temp
+	branch switch_on_native,master
+	deposit clke_bt
+	branch switch_slack
+switch_on_native:
+	deposit clkn_bt
+switch_slack:
+	deposit bt_clk
+	iadd temp,pdata
+	and_into 0x1fc,pdata
+	store 4,mem_sniff_anchor
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_sniff_anchor		/* reused as switch instant */
+	rshift pdata,pdata
+	istore 4,contw
+	branch send_lmp_request
+	
+send_lmp_sniff_req:
+	force 10,pdata
+	call msg_send_lmp
+	arg mem_sniff_payload,contr
+	ifetch 9,contr
+	istore 9,contw
+	branch send_lmp_request
+
+	
+send_lmp_timing_accuracy_req:
+/* default to TID_NORM_SEND */
+	force 3,pdata
+	call msg_send_lmp
+	setarg 0x0114
+	istore 2,contw
+	branch send_lmp_request
+	
+send_lmp_unsniff_req:
+//--------------------need to completa
+	force 1,pdata
+	call msg_send_lmp
+	//fetch 1,mem_unsniff_pending
+	//nbranch send_msg_done,blank
+	//jam 1,mem_unsniff_pending
+	//fetch 2,mem_sniff_attempt
+	//fetch 2,mem_nsniff_attempt
+	//lshift3 pdata,pdata
+	//lshift pdata,pdata
+	//store 1,mem_unsniff_cnt
+	branch send_lmp_request
+
+	
+send_lmp_max_slot:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_max_slot
+	istore 1,contw
+	branch send_lmp_request
+	
+	
+send_lmp_max_slot_req:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x05		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_inc_power:
+	force 2,pdata
+	call msg_send_lmp
+	setarg 0x00		/*5 slot*/
+	istore 1,contw
+	branch send_lmp_request
+
+
+send_lmp_setup_complete_by_module:
+	jam LMP_MAX_SLOT_REQ,mem_lmo_opcode2
+	rtn
+send_lmp_setup_complete:
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call send_lmp_setup_complete_by_module,zero
+	fetch 1,mem_state
+	set1 state_conn_comp,pdata
+	store 1,mem_state
+	copy clkn_bt,pdata
+	store 4,mem_aurand_send_delay_time
+	fetch 1,mem_lmp_conn_state
+	bbit1 SENT_SETUP_COMPLETE,send_lmp_setup_complete_has_sent
+	set1 SENT_SETUP_COMPLETE,pdata
+	store 1,mem_lmp_conn_state
+	jam BT_EVT_SETUP_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_request
+send_lmp_setup_complete_has_sent:
+	jam 0,mem_lmp_to_send
+	rtn
+	
+send_lmp_version_req:
+	force 6,pdata
+	call msg_send_lmp
+	fetch 5,mem_lmp_version
+	istore 5,contw
+	branch send_lmp_request
+
+send_lmp_features_req:
+	force 9,pdata
+	call msg_send_lmp
+	fetch 8,mem_features
+	istore 8,contw
+	branch send_lmp_request  
+
+sp_master_send_io_cap_get:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	jam SP_MASTER_STAT_START_DONE,mem_master_sp_state
+	rtn
+
+sp_master_send_io_cap_send:
+	call tid_initiate
+	jam LMP_IO_CAP_REQ,mem_lmo_opcode2
+	jam SP_STAT_KEY_SEND,mem_master_sp_state
+	rtn
+	
+	
+sp_master_send_LMP_ENCAPSULATED_HEADER:
+	call tid_initiate
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	jam SP_STAT_RANDOM_SEND,mem_master_sp_state
+	rtn
+	
+sp_master_commitment_compare:
+	arg mem_sp_calc_result_high,rega
+	arg mem_sp_confirm_remote,regb
+	arg 16,loopcnt
+	call string_compare
+	branch sp_master_commitment_compare_success,zero
+	jam SP_STAT_NULL,mem_master_sp_state
+ifdef SIMPLE_PAIRING
+	call master_clear_mem_master_sp_flag
+endif
+	jam   PDU_NOT_ALLOWED,mem_lmo_reason2
+	jam 	LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2 
+ifdef LMP_DBG
+	call ice_break
+endif
+	branch reject_lmp_packet
+sp_master_commitment_compare_success:
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+ifdef SIMPLE_PAIRING
+	call master_set_mem_master_sp_flag
+endif
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmi_opcode2
+	branch accept_lmp_msg  
+	
+
+	
+sp_master_send_lmp_simple_pairing_number:
+	jam LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+	
+
+
+sp_send_lmp_encapsulated_header:
+	// calculate the private & public key here
+	//jam      LMP_ENCAPSULATED_HEADER,mem_lmp_to_send
+	jam      LMP_ENCAPSULATED_HEADER,mem_lmo_opcode2
+	//jam      TID_PAIRING,mem_lmp_tid
+	rtn
+	//fetch 1,mem_tid_table
+	//set1 TID_PAIRING,pdata
+	//store 1,mem_tid_table
+     
+    
+send_lmp_encapsulated_header: 
+	jam 0,mem_sp_local_key_send_count
+	force 4,pdata
+	call msg_send_lmp
+	force ENCAPSULATED_MAJOR_TYPE_P192,pdata
+	istore 1,contw
+	force ENCAPSULATED_MINOR_TYPE_P192,pdata
+	istore 1,contw  
+	force ENCAPSULATED_LEN_P192,pdata
+	istore 1,contw 
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+
+send_lmp_encapsulated_payload:
+	//jam      TID_PAIRING,mem_lmp_tid
+	 force 17,pdata
+	call msg_send_lmp
+	fetch 1,mem_sp_local_key_send_count
+	arg mem_sp_pubkey_local,contr
+	iadd contr,contr    
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	fetch    1,mem_sp_local_key_send_count
+	increase 16,pdata
+	store    1,mem_sp_local_key_send_count
+	call check_localsm
+	branch send_lmp_request,true
+	branch send_lmp_reply
+	//branch send_lmp_request
+	
+sp_send_lmp_simple_pairing_comfirm:
+        jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        jam      LMP_SIMPLE_PAIRING_CONFIRM,mem_lmo_opcode2
+        rtn
+send_lmp_simple_pairing_comfirm:
+        //jam      SP_STAT_RANDOM_RECV,mem_sp_state
+        //jam      TID_PAIRING,mem_lmp_tid
+        force    17,pdata
+        call msg_send_lmp   
+        arg      mem_sp_calc_result_high,contr
+        ifetch   8,contr
+        istore   8,contw
+        ifetch   8,contr
+        istore   8,contw 
+        branch send_lmp_reply
+
+sp_send_lmp_simple_pairing_number:
+	jam      LMP_SIMPLE_PAIRING_NUMBER,mem_lmo_opcode2
+	rtn
+
+send_lmp_simple_pairing_number:
+	//jam      TID_PAIRING,mem_lmp_tid
+	call check_localsm
+ifdef SIMPLE_PAIRING
+	call sp_local_random_key_generator,true
+endif
+	force    17,pdata
+	call msg_send_lmp
+	arg      mem_sp_random_local,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+master_sp_sm_end:
+	//jam DEFAULT_STATEMACHINE,mem_sp_localsm
+	jam SP_STAT_DONE,mem_master_sp_state
+sp_aurand_send:
+	call tid_initiate
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	call check_localsm_master
+ifdef SIMPLE_PAIRING
+	branch sp_master_key_prarm_push,true
+	branch sp_link_key_prarm_push
+endif
+master_sp_send_lmp_dhkey_check:
+	call tid_reply
+sp_send_lmp_dhkey_check: 
+	jam      LMP_DHKEY_CHECK,mem_lmo_opcode2
+	rtn
+send_lmp_dhkey_check: 
+	//jam      TID_PAIRING,mem_lmp_tid
+	force    17,pdata
+	call     msg_send_lmp
+	arg      mem_sp_calc_result_high,contr
+	ifetch   8,contr
+	istore   8,contw
+	ifetch   8,contr
+	istore   8,contw 
+	call check_localsm
+	nbranch send_lmp_reply,true
+	branch send_lmp_request,true
+
+send_lmp_enc_key_size_mask_res:
+	force 3,pdata
+	call msg_send_lmp   
+	setarg 0xfffe //enc key size mask
+	istore 2,contw
+	branch send_lmp_reply
+
+send_lmp_auto_rate:
+	branch send_lmp_request
+send_lmp_clkoffset_req:
+	branch send_lmp_request
+send_lmp_quality_of_service:
+	branch send_lmp_request
+send_lmp_test_activate:
+	branch send_lmp_request
+
+/******** LMP request/reply messages **********/
+/****** TID transaction specific *******/
+
+send_lmp_comb_key:
+	call generate_random_number
+	arg mem_lap,rega
+	call generate_linkkey
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_kinit,rega
+	arg mem_random_number,regb
+	call xor16
+	nbranch send_lmp_follow,master
+	branch send_lmp_tid
+
+send_lmp_inrand:
+	call generate_random_number
+	arg mem_plap,rega
+	call generate_kinit
+send_lmp_rand:	/* used by in_rand,au_rand,start_encrypt */
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	fetch 1,mem_conn_sm 
+	beq CONN_SM_AUTH_WAIT,send_lmp_request
+	beq CONN_SM_PAIRING_WAIT,send_lmp_request
+	branch send_lmp_tid
+
+send_lmp_aurand:
+	fetch 1,mem_pairing_auth
+	branch send_lmp_aurand_notpairing,blank
+	call check_localsm
+	call tid_initiate,true
+	ncall tid_reply,true
+	branch send_lmp_aurand_common
+send_lmp_aurand_notpairing:
+	call tid_initiate
+send_lmp_aurand_common:
+	call generate_random_number
+	branch send_lmp_rand
+
+send_lmp_sres:
+	arg mem_lap,rega
+	call function_e1
+	force 5,pdata
+	call msg_send_lmp
+	fetch 4,mem_input_store
+	istore 4,contw
+	arg mem_sres_tid,temp
+	call special_tid_store
+	call copy_aco
+	call check_localsm
+	branch send_lmp_sres_master,true
+	jam DONE_ENCRYP,mem_wait_encryption
+	fetch 1,mem_pairing_auth
+	rtn blank
+	jam LMP_AU_RAND,mem_lmo_opcode2
+send_lmp_sres_master:
+	fetch 1,mem_link_key_exists
+	rtn blank
+send_lmp_sres_startenc:
+	call check_localsm
+	nbranch send_lmp_sres_startenc_slave,true
+	fetch 1,mem_auth_enable
+	rtn blank
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+send_lmp_sres_startenc_slave:
+	rtnmark0 mark_slave_in_rand_accepted
+	set0 mark_slave_in_rand_accepted,mark
+	jam LMP_ENCRYPTION_MODE_REQ, mem_lmo_opcode2
+	rtn
+	
+
+	
+send_lmp_start_encryption:
+	call generate_random_number
+	call function_e3
+	force 17,pdata
+	call msg_send_lmp
+	arg mem_random_number,contr
+	call memcpy16
+	branch send_lmp_tid
+
+send_lmp_stop_encryption_req:
+	force 1,pdata
+	call msg_send_lmp
+	branch send_lmp_tid
+
+send_lmp_encryption_key_size_req:
+	force 2,pdata
+	call msg_send_lmp
+	force 16,pdata
+	istore 1,contw
+	store 1,mem_key_size
+	branch send_lmp_tid
+
+msg_send_lmp:
+/* FLOW is set high and LMP is indicated */
+	lshift3 pdata,pdata
+	or_into 0x07,pdata
+	store 1,mem_lmo_header_length
+	arg 17,loopcnt
+	arg mem_lmo_payload,contw
+	call clear_mem
+	arg mem_lmo_payload,contw
+	rtn
+
+send_lmpext:
+	and pdata,0x7f,rega
+	jam LMP_ESCAPE,mem_lmp_to_send
+	deposit queue
+	call msg_send_lmp
+	deposit rega
+	istore 1,contw
+	rtn
+
+send_lmp_follow:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	fetcht 1,mem_state_map
+	isolate1 smap_lmptid,temp
+	setflag true,0,pdata
+	branch send_lmp_exit
+
+
+send_lmp_tid:
+	fetcht 1,mem_state_map
+	and_into 1,temp
+	branch send_lmp_end
+
+send_lmp_reply:
+	force 0,temp
+	branch send_lmp_end
+	
+send_lmp_request:
+	force 1,temp
+send_lmp_end:
+	fetch 1,mem_lmp_to_send
+	lshift pdata,pdata
+	setflag master,0,pdata
+	ixor temp,pdata
+send_lmp_exit:
+	store 1,mem_lmo_header_opcode
+	jam 0,mem_lmp_to_send
+	call lmo_fifo_process_lmo0empty
+	enable user
+	rtn
+
+//blank : not full 
+lmo_fifo_check:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	call lmo_fifo_process
+	fetch 1,mem_lmo_opcode2
+	rtn
+
+lmo_fifo_process:
+	bpatchx patch30_6,mem_patch30
+	fetch 1,mem_lmp_to_send
+	branch lmo_fifo_process_lmo0empty,blank
+	fetch 1,mem_lmo_opcode1
+	nrtn blank
+	branch lmo_fifo_process_lmo2to1
+lmo_fifo_process_lmo0empty:
+	fetch 1,mem_lmo_opcode1
+	branch lmo_fifo_process_lmo1_empty,blank
+	fetch 3,mem_lmo_opcode1
+	store 3,mem_lmp_to_send//1=>0
+	fetcht 1,mem_lmo_tid1
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode1
+lmo_fifo_process_lmo2to1:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 4,mem_lmo_opcode2
+	store 4,mem_lmo_opcode1//2=>1
+	jam 0,mem_lmo_opcode2
+	rtn
+lmo_fifo_process_lmo1_empty:
+	fetch 1,mem_lmo_opcode2
+	rtn blank
+	fetch 3,mem_lmo_opcode2
+	store 3,mem_lmp_to_send//2=>0	
+	fetcht 1,mem_lmo_tid2
+	fetch 1,mem_state_map
+	set0 smap_lmptid,pdata
+	ior temp,pdata
+	store 1,mem_state_map
+	jam 0,mem_lmo_opcode2
+	rtn
+	
+//input:temp
+special_tid_store:
+	bpatchx patch30_7,mem_patch30
+	fetch 1,mem_state_map
+	copy pdata,regc
+	ifetch 1,temp
+	call pop_tid_follow
+	call send_lmp_follow
+	copy regc,pdata
+	store 1,mem_state_map
+	rtn
+	
+tid_reply:
+	fetcht 1,mem_state_map
+	set0 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+tid_initiate:
+	fetcht 1,mem_state_map
+	set1 smap_lmptidinit,temp
+	storet 1,mem_state_map
+	rtn
+	
+	/* true if transaction from remote */
+tid_check:
+	nsetflag master,smap_lmptid,pdata //it is ok
+	fetcht 1,mem_state_map
+	ixor temp,pdata
+	isolate1 smap_lmptid,pdata
+	rtn	
+
+	/* set to remote */
+tid_set_reply:
+	fetch 1,mem_state_map
+	setflag master,smap_lmptid,pdata //it is ok
+	store 1,mem_state_map
+	rtn
+
+	/*rtn true when we lead lmp*/
+check_localsm:
+	fetch 1,mem_sp_localsm
+	compare 	LOCAL_STATEMACHINE,pdata,0x7f
+	rtn
+setlocalsm_master:
+	fetch 1,mem_sp_localsm
+	set1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+setlocalsm_slave:
+	fetch 1,mem_sp_localsm
+	set0 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+check_localsm_master:
+	fetch 1,mem_sp_localsm
+	isolate1 7,pdata
+	store 1,mem_sp_localsm
+	rtn
+	
+generate_random_number:
+	/* generating a 16 byte random number,storing in ape_random_number */
+	arg mem_random_number,contw
+generate_random:
+	force 16,loopcnt
+generate_random_another:
+generate_random_loop:
+	random pdata
+	istore 1,contw
+	loop generate_random_another
+	rtn
+
+generate_linkkey:
+	call function_e21
+	arg mem_link_key,rega
+	arg mem_input_store,regb
+	ifetch 8,rega					/* check if already got comb key */
+	fetcht 1,mem_state
+	nsetflag blank,state_combkey,temp
+	storet 1,mem_state
+	copy rega,contw
+	call  xor16
+	branch generate_linkkey_continue
+
+/*********************************/
+/*********lmp send*************/
+/********************************/
+
+process_conn_sm:
+	//nrtn master
+	bpatchx patch31_0,mem_patch31
+
+	call lmo_fifo_check
+	nrtn blank
+process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+	/* state machine begins in standby */
+	//beq CONN_SM_STANDBY, host_create_conn_begin
+	//beq CONN_SM_WAIT_PAGE, host_create_conn_wait_page
+	beq CONN_SM_SEND_CONN_REQ, host_create_conn_send_conn_req
+	beq CONN_SM_WAIT_CONN_ACCEPT, host_create_conn_wait_accept
+	beq CONN_SM_SEND_FEATURES, host_create_conn_send_features
+	beq CONN_SM_WAIT_FEATURES_RES, host_create_conn_waiting
+	beq CONN_SM_SEND_SWITCH,host_create_conn_send_switch
+	beq CONN_SM_AUTH_PAIR, host_create_conn_auth_pair
+	beq CONN_SM_AUTH_PAIR_WAIT, host_create_conn_auth_pair_wait
+	beq CONN_SM_ENCRYPT, host_create_conn_encrypt
+	beq CONN_SM_ENCRYPT_WAIT, host_create_conn_encrypt_wait
+	beq CONN_SM_ENCRYPT_WAIT_CLEAR, host_create_conn_encrypt_wait_clear
+	beq CONN_SM_SEND_SETUP_COMPLETE, host_create_conn_send_setup_complete
+	beq CONN_SM_WAIT_SETUP_COMPLETE, host_create_conn_wait_setup_complete
+	beq CONN_SM_DETACH_DELAY,host_create_conn_master_detach
+	beq CONN_SM_SEND_VERSION, host_create_conn_send_version
+	beq CONN_SM_WAIT_VERSION, host_create_conn_waiting
+	beq CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION, host_creat_conn_wait_switch
+	beq CONN_SM_SEND_FEATURES_EXT,host_creat_conn_send_feat_ext
+	beq CONN_SM_WAIT_FEATURES_EXT,host_create_conn_waiting
+	beq CONN_SM_PAIRING,host_create_conn_pairing
+	beq CONN_SM_PAIRING_WAIT,host_create_conn_pairing_wait
+	beq CONN_SM_AUTH,host_create_conn_auth
+	beq CONN_SM_AUTH_WAIT,host_create_conn_auth_wait
+	beq CONN_SM_DONE,host_create_conn_done
+	beq CONN_SM_WAIT_DONE,host_create_conn_done_wait
+	jam CONN_SM_STANDBY,mem_conn_sm
+	/* sending error message to host */
+	rtn
+host_create_conn_done:
+	fetch 1,mem_lmp_conn_state		
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	rtnbit0 SENT_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm
+	call host_conn_judge_encrypt
+	branch scheduler_start_upper_sm
+	
+host_conn_judge_encrypt:
+	fetch 1,mem_connection_options
+	rtnbit0 CONNECTION_ENCRYPT
+	jam CONN_SM_ENCRYPT_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_done_wait:
+	arg enpt_delay_timer,queue
+	call timer_check
+	nrtn blank
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+	
+host_create_conn_auth:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_AUTH,pdata
+	store 1,mem_connection_options
+	jam CONN_SM_AUTH_WAIT,mem_conn_sm
+	jam LMP_AU_RAND,mem_lmo_opcode2
+	rtn 
+host_create_conn_auth_wait:
+	rtn
+host_create_conn_pairing:
+	fetch 1,mem_pincode_state
+	rtnne pincode_state_pincode_ready //wait for pincode
+	call host_auth
+	jam CONN_SM_PAIRING_WAIT,mem_conn_sm
+	rtn
+
+host_create_conn_pairing_wait:
+	rtn
+host_creat_conn_send_feat_ext:
+	jam CONN_SM_WAIT_FEATURES_EXT,mem_conn_sm
+	jam LMP_EXT_FEATURES_REQ,mem_lmo_opcode2
+	rtn
+host_create_conn_send_version:
+	jam CONN_SM_WAIT_VERSION,mem_conn_sm
+	jam LMP_VERSION_REQ,mem_lmo_opcode2
+	rtn 
+	
+host_creat_conn_wait_switch:
+	fetch 1,mem_switch_flag
+	rtneq SWITCH_FLAG_INIT
+	beq SWITCH_FLAG_ACCEPT,host_create_conn_switch_accept
+	arg switch_wait_timer,queue
+	call timer_check
+	nrtn blank
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	branch host_create_conn_switch
+host_create_conn_switch_accept:
+	rtn master
+	branch host_create_conn_auth_pair
+
+host_create_conn_send_features:
+	jam CONN_SM_WAIT_FEATURES_RES,mem_conn_sm
+	jam LMP_FEATURES_REQ,mem_lmo_opcode2
+	rtn 
+host_create_conn_send_switch:
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	setarg 0x1ff
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_send_conn_req:
+	jam CONN_SM_WAIT_CONN_ACCEPT,mem_conn_sm
+	jam 0xff,mem_soft_timer
+	set0 mark_reconn_recieve_switch,mark
+	jam LMP_HOST_CONNECTION_REQ,mem_lmo_opcode2
+	branch init_lmp_reinit
+host_create_conn_wait_accept:
+	rtnmark1 mark_reconn_recieve_switch
+	fetch 2,mem_soft_timer
+	sub pdata,1,pdata
+	branch host_create_conn_resend,zero
+	store 2, mem_soft_timer
+	rtn
+host_create_conn_resend:
+	jam CONN_SM_SEND_SWITCH,mem_conn_sm
+	rtn
+host_create_conn_waiting:
+	/* we will exit waiting for connection request accepted, features res, or other commands to finish */
+	rtn 
+
+host_create_conn_switch:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	jam LMP_SWITCH_REQ,mem_lmo_opcode2
+	jam CONN_SM_WAIT_SWITCH_AFTER_HOST_CONNECTION,mem_conn_sm
+	rtn 
+
+host_create_conn_send_setup_complete:
+	jam CONN_SM_WAIT_SETUP_COMPLETE,mem_conn_sm	
+	jam LMP_SETUP_COMPLETE,mem_lmo_opcode2
+	rtn 
+
+host_create_conn_wait_setup_complete:
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	jam CONN_SM_STANDBY,mem_conn_sm	
+
+	rtn
+host_create_conn_wait_setup_complete_rtn:	
+	jam CONN_SM_AUTH_PAIR ,mem_conn_sm
+	rtn
+
+host_create_conn_master_detach:
+	fetch 1, mem_soft_timer
+	increase -1,pdata
+	branch host_create_conn_send_detach,blank//detach
+	store 1, mem_soft_timer
+	rtn 
+host_create_conn_send_detach:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam LOCAL_HOST,mem_disconn_reason_send
+	jam 0,mem_conn_sm
+	rtn
+host_create_conn_auth_pair:
+	/* checking whether or not to do m/s switch */
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_SWITCH,host_create_conn_switch
+	bbit1 CONNECTION_AUTH,host_create_conn_auth_pair_true
+host_create_conn_sm_done:
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn
+host_create_conn_auth_pair_true:
+	fetch 1,mem_link_key_exists
+	branch host_create_conn_auth_pair_nokey,blank
+	fetch 1,mem_lmp_conn_state
+	rtnbit0 SENT_SETUP_COMPLETE
+	rtnbit0 RECEIVED_SETUP_COMPLETE
+	fetch 4,mem_aurand_send_delay_time
+	arg 100,temp
+	iadd temp,temp
+	copy clkn_bt,pdata
+	isub temp,null
+	nrtn positive
+	branch host_create_conn_auth
+
+
+
+host_create_conn_auth_pair_nokey:
+	jam CONN_SM_PAIRING,mem_conn_sm
+	jam 4,mem_pin_length
+	setarg 0x3030
+	store 2,mem_pin
+	istore 2,contw
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch host_create_conn_pairing
+
+host_create_conn_auth_pair_wait:
+	rtn
+host_create_conn_encrypt:
+	fetch 1,mem_connection_options
+	bbit1 CONNECTION_ENCRYPT,host_create_conn_encrypt_start
+	jam CONN_SM_DONE,mem_conn_sm
+	rtn 
+
+host_create_conn_encrypt_start:
+	fetch 1,mem_connection_options
+	set0 CONNECTION_ENCRYPT,pdata
+	store 1,mem_connection_options
+	jam LMP_ENCRYPTION_MODE_REQ,mem_lmo_opcode2  
+	rtn
+
+host_create_conn_encrypt_wait:
+	fetch 1, mem_wait_encryption
+	rtn blank
+	jam CONN_SM_STANDBY,mem_conn_sm
+	branch host_create_conn_encrypt_start 
+
+host_create_conn_encrypt_wait_clear:
+	jam CONN_SM_SEND_SETUP_COMPLETE,mem_conn_sm
+	rtn 
+
+host_auth:
+	fetch 1,mem_op
+	bbit1 op_inrand_req,remote_auth
+	call tid_initiate
+	jam LMP_IN_RAND,mem_lmo_opcode2
+	branch cmd_exit
+remote_auth:
+	fetch 1,mem_op
+	set0 op_inrand_req,pdata
+	store 1,mem_op
+	call lmp_accept_inrand
+	call tid_set_reply
+	branch cmd_exit
+
+pincode_reinit:
+	setarg 4
+	store 1,mem_pin_length
+	setarg 0x3030
+	istore 2,contw
+	istore 2,contw
+	rtn
+	
+
Index: YJX_Only24g/main/program/patch.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/patch.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/patch.prog	(working copy)
@@ -0,0 +1,4427 @@
+//define DONGLE
+define MOUSE
+//define BLE
+//define CLASSIC_BT
+//define ADC_ENABLE
+//define P24G_LOG
+//define RF_DEBUG
+
+//define DEBUGLOG
+//define DEBUGLOG_CALLBACK
+//define DEBUGLOG_EVENT
+//define DEBUGLOG_CMD
+//define DEBUGLOG_MISC
+//define DEBUGLOG_STATUS
+//define DEBUGLOG_PARSE_LMP
+//define DEBUGLOG_SEND_LMP
+//define DEBUGLOG_CONN_SM
+//define DEBUGLOG_UPPER_SM
+
+ifdef PATCH
+	bbit1 8,pf_patch_ext	
+	beq patch10_5,p_shutdown_radio
+	beq patch11_1,p_set_freq_tx
+	beq patch11_2,p_initialize_radio_cont
+
+ifdef DONGLE
+	beq patch11_6,p_save_rssi
+	beq patch18_4,p_app_init
+	beq patch1f_0,p_usb_status1
+endif
+ifdef MOUSE
+	beq patch00_1,p_soft_reset_1
+ifdef CLASSIC_BT
+	beq patch03_3,p_page_wait_fhs_reply_ok
+	beq patch09_2,p_prepare_tx
+ 	beq patch0b_1,p_process_dmh
+	beq patch0a_1,p_slave_conn_recv_packet
+	beq patch14_7,p_lpm_dispatch
+	beq patch19_3,p_app_bt_start_reconnect
+	beq patch1d_1,p_mouse_bb_disconnected
+endif	
+	beq patch14_1,p_init_param
+	beq patch15_0,p_lpm_dispatch_next2
+	beq patch16_1,p_lpm_check_wake_lock
+	beq patch16_2,p_g24_dispatch
+	beq patch18_4,p_device_init
+	beq patch19_1,p_app_flag_store
+	beq patch19_2,p_app_initflag_check
+	beq patch1c_3,p_mouse_seting_dpi
+	beq patch1c_6,p_mouse_motion
+	beq patch1d_2,p_mouse_bb_event_discovery_btn
+	beq patch1d_3,p_mouse_start_discovery
+	beq patch1d_4,p_mouse_stop_discovery
+endif
+	branch loop
+pf_patch_ext:
+ifdef MOUSE
+ifdef BLE
+	beq patch27_1,p_le_slave_match
+	beq patch28_3,p_le_next_adv_channel
+	beq patch29_2,p_le_receive_skip
+	beq patch2a_7,p_le_update_param
+	beq patch2c_3,p_le_prepare_tx
+	beq patch2c_7,p_le_parse_l2cap
+	beq patch2d_2,p_le_adv_not_match
+	beq patch2e_7,p_le_lpm_setmult
+endif	
+ifdef CLASSIC_BT
+	beq patch20_5,p_hid_rx_process
+	beq patch30_0,p_parse_lmp_accepted
+	beq patch30_2,p_send_lmp
+	beq patch31_0,p_process_conn_sm
+//	beq patch39_5,p_sdp_process
+endif
+	beq patch31_4,p_twspi_reset
+ifdef DEBUGLOG
+	beq patch2f_6,p_parse_lmp_opcode
+	beq patch37_6,p_process_upper_sm_reconn
+	beq patch3e_6,p_ui_ipc_send_event
+	beq patch3e_7,p_ui_ipc_send_cmd
+endif
+endif
+	branch loop
+
+
+ifdef DONGLE
+p_save_rssi:
+	hfetch 2,rf_afc_d2a
+	rshift4 pdata,pdata
+	rshift3 pdata,pdata
+	sub pdata,0,pdata
+	and_into 0xff,pdata
+	store 1,mem_rssi_hex
+	branch save_rssi+6
+
+p_usb_status1:
+	jam 0x11,core_usb_status
+	hfetch 1,core_usb_ep_len
+	store 1,mem_usb_read_len
+	copy pdata,loopcnt
+	branch usb_rx_no_data,blank
+	arg mem_usb_setup,contw
+	call usb_rx_read
+	fetch 1,mem_usb_read_len
+	sub pdata,7,null
+	rtn positive 
+	fetch 1,mem_usb_setup_bmRequestType
+	and_into 0x80,pdata
+	beq OUT_DEVICE,p_usb_out_device
+	branch usb_class_type+2
+p_usb_out_device:
+	fetch 1,mem_usb_setup_bmRequestType
+	rshift4 pdata,pdata
+	rshift pdata,pdata
+	and_into 0x03,pdata
+	beq CLASS_REQ,p_usb_out_class_req	
+	branch usb_out_device+4
+p_usb_out_class_req:
+	fetch 1,mem_usb_setup_bRequest
+	beq SET_REPORT,p_usb_set_report
+	branch usb_out_class_req+1
+p_usb_set_report:
+	jam 1,mem_usb0_get_set_report
+	call usb_set_report_resume_judge
+	fetch 2,mem_usb_setup_bValue
+	store 2,mem_usb_setup_bValue_temp
+	nop 15000	//delay 1ms
+	hfetch 1,core_usb_ep_len
+	ncall p_usb_set_report_rxdata,blank
+	branch usb_set_report+4
+p_usb_set_report_rxdata:
+	copy pdata,loopcnt
+	arg mem_usb0_setup,contw
+	branch usb_rx_read
+
+p_app_init:
+	call enable_authrom
+	call p_dongle_init
+	call p_g24_queue_init
+	fetch 1,mem_24g_pair_mode
+	beq 0x00,p_dongle_auto_bind
+	beq 0x01,p_dongle_pc_bind
+	beq 0x0f,p_dongle_all_powerful
+	branch assert
+
+p_dongle_init:
+	fetch 1,mem_tx_power
+	store 1,mem_tx_power_temp
+	arg 0x80,loopcnt
+	arg mem_rssi_noise_buffer,contw
+	call memset0
+	branch usb_init
+
+p_dongle_all_powerful:
+	call p_dongle_check_mode
+p_dongle_all_powerful_loop:
+	call p_g24_dongle_work_mode
+	call usb_isr
+	branch p_dongle_all_powerful_loop
+
+p_dongle_pc_bind:
+	call p_dongle_check_mode
+p_dongle_pc_bind_loop:	
+	call p_g24_dongle_work_mode
+	call p_g24_dongle_bind_mode
+	call p_dongle_usb_dispatch
+	branch p_dongle_pc_bind_loop
+
+p_dongle_check_mode:
+	jam 0,mem_24g_ackpayload_enable
+p_dongle_work_mode_enable:
+	jam DONGLE_WORK,mem_dongle_work_mode
+	jam CLEAR_INIT,mem_dongle_mode_init	
+	rtn
+
+p_g24_dongle_work_mode:
+	fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+p_g24_dongle_work_mode_start:	
+	call p_g24_dongle_work_init
+	call p_g24_ch_process
+	call p_g24_receive_packet_start
+	branch p_g24_blank_data_process
+
+p_g24_dongle_work_init:
+	fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_WORK
+	set1 DONGLE_WORK,pdata
+	store 1,mem_dongle_mode_init
+	fetch 1,mem_tx_power_temp
+	store 1,mem_tx_power
+	jam 0,mem_24g_ackpayload_enable
+	jam 0,mem_usb_tx_enable
+	jam 1,mem_24g_abort_packet
+	jam 0,mem_24g_pid
+	fetch 4,mem_24g_rx_addr
+	call p_g24_update_addr_and_synccrc8
+	call p_g24_ch
+	branch p_g24_rx_interrupt_clear
+
+p_g24_ch_process:
+	fetch 1,mem_24g_abort_packet
+	beq 1,p_g24_noise_rssi
+	fetch 1,mem_24g_hop_packet
+	beq 1,p_g24_ch_receive_hop_pac
+	fetcht 4,mem_24g_hop_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	fetch 4,mem_24g_hop_btclk
+	fetcht 1,mem_24g_hop_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	store 4,mem_24g_hop_btclk
+	jam 1,mem_24g_abort_packet
+	branch p_g24_ch
+
+p_g24_ch_receive_hop_pac:
+	jam 0,mem_24g_hop_packet
+	branch p_g24_ch
+
+p_g24_ch_timer_reinit:
+	copy clkn_bt,pdata
+	store 4,mem_24g_hop_btclk
+	jam 0,mem_24g_rf_laststa
+	rtn
+
+p_g24_noise_rssi:
+	arg mem_rssi_noise_buffer,rega
+	call p_rssi_average
+	storet 1,mem_rssi_noise_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	branch p_g24_ch
+
+p_g24_blank_data_process:
+	call p_g24_ms_blank_data
+	call p_g24_kb_blank_data
+	branch p_g24_kb_mul_blank_data
+
+p_g24_ms_blank_data:
+	fetch 1,mem_24g_ms_blank_data_enable
+	rtn blank
+	arg TIMER_MS_BLANK,queue
+	call timer_check
+	nrtn blank
+	jam 0,mem_24g_ms_blank_data_enable
+	branch g24_ms_blank_data_2usb
+
+p_g24_kb_blank_data:
+	fetch 1,mem_24g_kb_blank_data_enable
+	rtn blank
+	arg TIMER_KB_BLANK,queue
+	call timer_check
+	nrtn blank
+	jam 0,mem_24g_kb_blank_data_enable
+	branch g24_kb_blank_data_2usb
+
+p_g24_kb_mul_blank_data:
+	fetch 1,mem_24g_kb_mul_blank_data_enable
+	rtn blank
+	arg TIMER_KB_MUL_BLANK,queue
+	call timer_check
+	nrtn blank
+	jam 0,mem_24g_kb_mul_blank_data_enable
+	branch g24_kb_mul_blank_data_2usb
+
+p_g24_dongle_bind_mode:
+	fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call p_g24_dongle_bind_init
+	branch p_g24_dongle_bind_data_process
+
+p_g24_dongle_bind_init:
+	fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_BIND
+	set1 DONGLE_BIND,pdata
+	store 1,mem_dongle_mode_init
+	setarg 0
+	store 3,mem_dongle_ms_bind_step
+	jam TX_POWER_f5DB,mem_tx_power
+	jam 1,mem_24g_ackpayload_enable
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch	//2480MHz
+	fetch 4,mem_24g_paring_addr	//Address
+	branch p_g24_update_addr_and_synccrc8
+
+p_g24_dongle_bind_data_process:
+	call p_g24_receive_transmit_ack
+	nbranch p_g24_rx_interrupt_clear,user3
+	arg mem_24g_rxbuf,contr
+	arg mem_24g_rxdata_temp,contw
+	arg 8,loopcnt
+	call memcpy
+	fetch 1,mem_24g_rxdata_temp+2
+	beq DATATYPE_BIND,p_g24_dongle_bind_first_step	//bind step 1
+	beq DATATYPE_CONFIG,p_g24_dongle_bind_second_step
+	beq DATATYPE_OK,p_g24_dongle_bind_third_step
+	beq 0xff,p_g24_data_attemp_bind
+p_g24_rx_interrupt_clear:
+	arg mem_24g_rxbuf,contw
+	arg 66,loopcnt
+	branch clear_mem
+
+p_g24_dongle_bind_first_step:
+	fetch 1,mem_24g_rxdata_temp+3
+	beq BIND_MOUSE,p_g24_dongle_bind_first_step_mouse
+	beq BIND_KEYBOARD,p_g24_dongle_bind_first_step_keyboard
+	rtn
+p_g24_dongle_bind_first_step_mouse:
+	jam 1,mem_dongle_ms_bind_step
+p_g24_dongle_bind_ms_payload_cfg:
+	jam DATATYPE_MOUSE,mem_24g_bind_payload
+p_g24_dongle_bind_payload_cfg:	
+	jam 0x80,mem_24g_bind_payload+1
+	fetch 6,mem_24g_rx_addr
+	store 6,mem_24g_bind_payload+2
+	rtn
+
+p_g24_dongle_bind_first_step_keyboard:
+	jam 1,mem_dongle_kb_bind_step
+p_g24_dongle_bind_kb_payload_cfg:
+	jam DATATYPE_KEYBOARD,mem_24g_bind_payload
+	branch p_g24_dongle_bind_payload_cfg
+
+p_g24_dongle_bind_second_step:
+	fetch 1,mem_24g_rxdata_temp+3
+	beq BIND_MOUSE,p_g24_dongle_bind_second_step_mouse
+	beq BIND_KEYBOARD,p_g24_dongle_bind_second_step_keyboard
+	rtn
+p_g24_dongle_bind_second_step_mouse:
+	call p_g24_dongle_bind_ms_payload_cfg
+	fetch 1,mem_dongle_ms_bind_step
+	beq 1,p_g24_dongle_ms_bind_step_set2
+	rtn
+p_g24_dongle_ms_bind_step_set2:
+	jam 2,mem_dongle_ms_bind_step
+	rtn
+p_g24_dongle_bind_second_step_keyboard:
+	call p_g24_dongle_bind_kb_payload_cfg	
+	fetch 1,mem_dongle_kb_bind_step
+	beq 1,p_g24_dongle_kb_bind_step_set2
+	rtn
+p_g24_dongle_kb_bind_step_set2:
+	jam 2,mem_dongle_kb_bind_step
+	rtn
+
+p_g24_dongle_bind_third_step:
+	fetch 1,mem_24g_rxdata_temp+3
+	beq BIND_MOUSE,p_g24_dongle_bind_third_step_mouse
+	beq BIND_KEYBOARD,p_g24_dongle_bind_third_step_keyboard
+	rtn
+p_g24_dongle_bind_third_step_mouse:
+	fetch 1,mem_dongle_ms_bind_step
+	beq 2,p_g24_dongle_ms_bind_step_success
+	rtn
+p_g24_dongle_ms_bind_step_success:
+	fetch 1,mem_dongle_bind_device_status
+	or_into 0x01,pdata
+	store 1,mem_dongle_bind_device_status
+p_g24_dongle_bind_exit:	
+	setarg 0
+	store 2,mem_dongle_ms_bind_step
+	branch p_g24_rx_interrupt_clear
+	
+p_g24_dongle_bind_third_step_keyboard:
+	fetch 1,mem_dongle_kb_bind_step
+	bne 0,p_g24_dongle_kb_bind_step_success
+	rtn
+p_g24_dongle_kb_bind_step_success:
+	fetch 1,mem_dongle_bind_device_status
+	or_into 0x02,pdata
+	store 1,mem_dongle_bind_device_status
+	branch p_g24_dongle_bind_exit
+
+p_g24_data_attemp_bind:
+	fetch 1,mem_24g_rxdata_temp+3
+	beq DATATYPE_MOUSE,p_g24_data_attemp_mouse_bind
+	beq DATATYPE_KEYBOARD,p_g24_data_attemp_kbd_bind
+	rtn
+p_g24_data_attemp_mouse_bind:
+	fetch 4,mem_24g_rxdata_temp+4
+p_g24_store_mouse_addr:
+	store 4,mem_24g_ms_addr
+	rtn
+p_g24_data_attemp_kbd_bind:
+	fetch 4,mem_24g_rxdata_temp+4
+p_g24_store_kbd_addr:	
+	store 4,mem_24g_kb_addr
+	rtn
+
+p_g24_queue_init:
+	jam 0,mem_queue_ele_num
+	setarg mem_queue_start
+	store 2, mem_queue_read
+	store 2, mem_queue_write
+	rtn
+	
+p_g24_queue_put:
+	arg 0x1f,loopcnt
+	arg mem_usb0_set_report_data,temp
+	fetch 2, mem_queue_write
+	copy pdata,contw
+	copy temp,contr
+	call memcpy
+	fetch 1,mem_queue_ele_num
+	increase 1,pdata
+	store 1,mem_queue_ele_num
+	setarg mem_queue_write
+p_g24_queue_increase:
+	copy pdata,rega
+	arg mem_queue_end,temp
+	ifetch 2,rega
+	increase QUEUE_ELE_LENGTH,pdata
+	isub temp,null
+	nbranch p_g24_queue_put_end,positive
+	setarg mem_queue_start
+p_g24_queue_put_end:
+	istore 2,rega
+	rtn
+
+p_g24_queue_read_point:
+	disable user
+	fetch 1,mem_queue_ele_num
+	rtn blank
+	enable user
+	fetch 2,mem_queue_read
+	rtn
+
+p_dongle_usb_dispatch:
+	call usb_isr
+	fetch 1,mem_usb0_get_set_report
+	rtn blank
+	jam 0,mem_usb0_get_set_report
+	fetch 2,mem_usb_setup_bValue_temp
+	arg PC_SET_REPORT,temp
+	isub temp,null
+	nrtn zero
+	//get usb host command
+	fetch 1,mem_usb0_set_report_data
+	rtnne PC_REPORT_ID
+	fetch 1,mem_usb0_set_report_data+1
+	beq COMMAND_MODE,p_dongle_dispose_cmd_mode
+	beq COMMAND_BIND,p_dongle_dispose_cmd_bind
+	beq COMMAND_CURRENT_PROJECT,dongle_dispose_cmd_current_project
+	beq COMMAND_CURRENT_MODE,p_dongle_dispose_cmd_current_mode
+	beq COMMAND_CURRENT_FW_VERSION,p_dongle_dispose_cmd_current_fw_version
+	beq COMMAND_USER_DEFINED,p_dongle_dispose_cmd_user_defined
+	branch usb0_data_ready_report_set0
+
+p_dongle_dispose_cmd_bind:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_BIND_GET,p_dongle_dispose_cmd_get_bind
+	beq COM_BIND_EXIT,p_dongle_dispose_cmd_exit_bind
+	beq COM_READ_MODE,dongle_dispose_cmd_read_mode
+	branch usb0_data_ready_report_set0
+p_dongle_dispose_cmd_get_bind:
+	fetch 1,mem_dongle_bind_device_status
+	store 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+p_dongle_dispose_cmd_exit_bind:
+	call p_dongle_work_mode_enable
+	branch p_dongle_dispose_cmd_get_bind
+ 
+p_dongle_dispose_cmd_mode:
+	fetch 1,mem_usb0_set_report_data+2
+	beq COM_MODE_BIND,p_dongle_enter_bind_mode
+	branch usb0_data_ready_report_set0
+p_dongle_enter_bind_mode:
+	call p_g24_bind_mode_enable
+	branch usb0_data_ready_report_set1
+
+p_dongle_dispose_cmd_current_mode:
+	fetch 1,mem_dongle_work_mode
+	beq DONGLE_WORK,p_dongle_dispose_in_work_mode
+	beq DONGLE_BIND,dongle_dispose_in_bind_mode
+	rtn
+p_dongle_dispose_in_work_mode:
+	jam COMMAND_MODE,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+	
+p_dongle_dispose_cmd_current_fw_version:
+	jam FW_VERSION3,mem_usb0_get_report_data+4
+	branch dongle_dispose_cmd_current_fw_version
+
+p_dongle_dispose_cmd_user_defined:
+	fetch 1,mem_usb0_set_report_data+2
+	beq 0xff,soft_reset_chip
+p_dongle_dispose_cmd_ota:
+	jam 2,mem_24g_ackpayload_enable
+	fetch 1,mem_queue_ele_num
+	beq QUEUE_ELE_COUNT,p_user_defined_queue_buff_full
+	call p_g24_queue_put
+	fetch 1,mem_queue_ele_num
+	beq QUEUE_ELE_COUNT,p_user_defined_queue_buff_full
+p_user_defined_queue_buff_free:
+	jam 0,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+p_user_defined_queue_buff_full:
+	jam 1,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+
+p_dongle_auto_bind:
+	call p_g24_mode_switch_init
+p_dongle_auto_bind_loop:
+	call p_g24_mode_switch
+	call p_g24_dongle_work_mode_auto
+	call p_g24_dongle_bind_mode_auto
+	call p_g24_dongle_search_mode_auto
+	call p_dongle_usb_dispatch
+	branch p_dongle_auto_bind_loop
+
+p_g24_dongle_work_mode_auto:
+	fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_WORK
+	call p_g24_dongle_work_mode_start
+	branch p_g24_rx_nodata_process
+
+p_g24_dongle_bind_mode_auto:
+	fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_BIND
+	call p_g24_dongle_bind_init
+	call p_g24_dongle_bind_data_process
+	fetch 1,mem_dongle_bind_device_status
+	rtn blank
+	jam 0,mem_24g_mode_switch
+	call p_dongle_check_mode
+	call p_g24_enable_nodata_timer
+	branch p_g24_timer_init
+	
+p_g24_mode_switch_init:
+	jam 1,mem_24g_mode_switch
+	jam 0,mem_24g_time_slice
+	jam 0xff,mem_24g_interval
+p_g24_timer_init:
+	setarg 0
+	store 4,mem_24g_tx_btclk
+	rtn
+	
+p_g24_mode_switch:
+	fetch 1,mem_24g_mode_switch
+	rtn blank
+	call p_g24_timer_check
+	nrtn user
+	fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 1,pdata
+	store 1,mem_24g_time_slice
+	beq 0,p_dongle_check_mode
+	beq 1,p_g24_bind_mode_enable
+	rtn
+
+p_g24_bind_mode_enable:
+	jam DONGLE_BIND,mem_dongle_work_mode
+	jam CLEAR_INIT,mem_dongle_mode_init
+	rtn
+
+p_g24_enable_nodata_timer:
+	jam 1,mem_24g_nodata_timer_enable
+	branch g24_enable_nodata_timer_init
+
+p_g24_rx_nodata_process:
+	fetch 1,mem_24g_ackpayload_enable
+	rtneq 2
+	fetch 1,mem_24g_nodata_timer_enable
+	rtn blank
+	arg TIMER_NODATA,queue
+	call timer_check
+	nrtn blank
+	jam 0,mem_24g_nodata_timer_enable
+	//no data for more than 100ms,then go to search
+	jam DONGLE_SEARCH,mem_dongle_work_mode
+	jam CLEAR_INIT,mem_dongle_mode_init
+	branch p_g24_rx_interrupt_clear
+
+p_g24_receive_transmit_ack:
+	call p_g24_rx_interrupt_clear
+	call p_g24_receive_packet
+	nrtn user3
+	branch p_g24_transmit_ack
+
+
+p_g24_dongle_search_mode_auto:
+	fetch 1,mem_dongle_work_mode
+	rtnne DONGLE_SEARCH
+	call p_g24_dongle_search_mode_init
+	call p_g24_rx_auto_addr_ch_search
+	call p_g24_receive_transmit_ack
+	nbranch p_g24_rx_interrupt_clear,user3
+	//dongle addr,then parse rxdata
+	call p_g24_rx_addr_check
+	call p_g24_receive_packet_parse,zero
+	//receive data,then go to paired
+	jam DONGLE_WORK,mem_dongle_work_mode
+	fetch 1,mem_dongle_mode_init
+	set1 DONGLE_WORK,pdata
+	store 1,mem_dongle_mode_init
+
+	fetch 1,mem_24g_ackpayload_enable
+	sub pdata,2,null
+	ncall p_g24_ackpayload_disable,zero
+
+	call p_g24_rx_interrupt_clear
+	call p_g24_enable_nodata_timer
+	call p_g24_rx_addr_check
+	branch p_g24_dg_ch_num_reinit,zero
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_kb_addr
+	isub temp,null
+	branch p_g24_kb_ch_num_reinit,zero		
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_ms_addr
+	isub temp,null
+	branch p_g24_ms_ch_num_reinit,zero
+	rtn
+
+p_g24_ackpayload_disable:
+	jam 0,mem_24g_ackpayload_enable
+	rtn
+
+p_g24_dg_ch_num_reinit:
+	fetch 1,mem_24g_dg_ch_number
+p_g24_current_ch_num_reinit:
+	store 1,mem_24g_current_ch_number
+	rtn
+p_g24_kb_ch_num_reinit:
+	fetch 1,mem_24g_kb_ch_number
+	branch p_g24_current_ch_num_reinit
+p_g24_ms_ch_num_reinit:
+	fetch 1,mem_24g_ms_ch_number
+	branch p_g24_current_ch_num_reinit
+
+p_g24_dongle_search_mode_init:
+	fetch 1,mem_dongle_mode_init
+	rtnbit1 DONGLE_SEARCH
+	set1 DONGLE_SEARCH,pdata
+	store 1,mem_dongle_mode_init
+	jam 0,mem_24g_time_slice
+	jam 1,mem_24g_ackpayload_enable
+	setarg 0
+	store 3,mem_rssi_noise_dg_index
+	store 7,mem_24g_dg_config_ch_once
+	call p_g24_rx_addr_check
+	nrtn zero
+	fetch 1,mem_24g_current_ch_number
+	store 1,mem_24g_dg_ch_number
+	fetch 1,mem_24g_ch
+	store 1,mem_24g_dg_last_ch
+	rtn
+
+p_g24_rx_addr_check:
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_rx_addr
+	isub temp,null
+	rtn
+
+p_g24_rx_auto_addr_ch_search:
+	fetch 1,mem_24g_time_slice
+	increase 1,pdata
+	and_into 3,pdata
+	store 1,mem_24g_time_slice
+	//pairing address and channel come first
+	beq 0,p_g24_rx_auto_bind_config_kb
+	beq 1,p_g24_rx_auto_bind_config_dongle
+	beq 2,p_g24_rx_auto_bind_config_mouse
+	beq 3,p_g24_rx_auto_bind_config_dongle
+	rtn
+
+p_g24_rx_auto_bind_config_mouse:
+	call p_g24_dongle_bind_ms_payload_cfg
+	fetch 4,mem_24g_ms_addr
+	branch p_g24_rx_auto_addr_ch_search,blank
+	call p_g24_update_addr_and_synccrc8
+	fetch 1,mem_24g_ms_config_ch_once
+	call p_g24_ms_config_ch_once,blank
+	fetch 1,mem_24g_ms_last_ch
+	store 1,mem_24g_ch
+	fetcht 1,mem_rssi_noise_ms_index
+	arg mem_rssi_noise_ms_buffer,rega
+	call p_rssi_store
+	storet 1,mem_rssi_noise_ms_index
+	call p_rssi_average
+	storet 1,mem_rssi_noise_ms_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	fetcht 1,mem_24g_ms_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_ms_ch_number
+	store 1,mem_24g_ms_last_ch
+	rtn
+
+p_g24_ms_config_ch_once:
+	jam 1,mem_24g_ms_config_ch_once
+	arg 0,temp
+	call p_g24_ch_calc
+	store 1,mem_24g_ms_last_ch
+	rtn
+	
+p_g24_rx_auto_bind_config_kb:
+	call p_g24_dongle_bind_kb_payload_cfg
+	fetch 4,mem_24g_kb_addr
+	branch p_g24_rx_auto_addr_ch_search,blank
+	call p_g24_update_addr_and_synccrc8
+	fetch 1,mem_24g_kb_config_ch_once
+	call p_g24_kb_config_ch_once,blank
+	fetch 1,mem_24g_kb_last_ch
+	store 1,mem_24g_ch	
+	fetcht 1,mem_rssi_noise_kb_index
+	arg mem_rssi_noise_kb_buffer,rega
+	call p_rssi_store
+	storet 1,mem_rssi_noise_kb_index
+	call p_rssi_average
+	storet 1,mem_rssi_noise_kb_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	fetcht 1,mem_24g_kb_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_kb_ch_number
+	store 1,mem_24g_kb_last_ch
+	rtn
+
+p_g24_kb_config_ch_once:
+	jam 1,mem_24g_kb_config_ch_once
+	arg 0,temp
+	call p_g24_ch_calc
+	store 1,mem_24g_kb_last_ch
+	rtn	
+
+p_g24_rx_auto_bind_config_dongle:
+	call p_g24_dongle_bind_ms_payload_cfg
+	fetch 4,mem_24g_rx_addr
+	call p_g24_update_addr_and_synccrc8	
+	fetch 1,mem_24g_dg_config_ch_once
+	call p_g24_dg_config_ch_once,blank
+	fetch 1,mem_24g_dg_last_ch
+	store 1,mem_24g_ch
+	fetcht 1,mem_rssi_noise_dg_index
+	arg mem_rssi_noise_dg_buffer,rega
+	call p_rssi_store
+	storet 1,mem_rssi_noise_dg_index
+	call p_rssi_average
+	storet 1,mem_rssi_noise_dg_avg
+	sub temp,RSSI_THRESH_NOISE,null
+	nrtn positive
+	fetcht 1,mem_24g_dg_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_dg_ch_number
+	store 1,mem_24g_dg_last_ch
+	rtn
+
+p_g24_dg_config_ch_once:
+	jam 1,mem_24g_dg_config_ch_once
+	fetch 1,mem_24g_dg_last_ch
+	store 1,mem_24g_ch
+	rtn
+
+
+
+p_g24_read_len_pid_crc:
+//read control
+	fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	store 3,mem_24g_sta_crc
+//read pid
+	fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	store 1,mem_24g_sta_pid
+	rtn
+
+p_g24_transmit_ack:
+//data type
+	fetch 1,mem_24g_rxbuf
+	store 1,mem_24g_data_type
+//read len pid crc
+	call p_g24_read_len_pid_crc
+//read ack
+	fetch 1,mem_24g_rxbuf+1
+	isolate1 bit_ack_24g,pdata
+	branch p_g24tx_no_ack,true
+p_g24tx_with_ack:
+	call p_g24_ackpayload_prep
+	call p_g24_transmit_prep
+	call p_g24_transmit
+p_g24tx_no_ack:
+	branch p_g24_end_of_packet
+
+p_g24_ackpayload_prep:
+	jam 0,mem_24g_datalen
+	fetch 1,mem_24g_ackpayload_enable
+	rtn blank
+	beq BIND_ACKPAYLOAD,p_g24_bind_ackpayload_prep
+	beq USER_ACKPAYLOAD,p_g24_user_ackpayload_prep
+	rtn
+
+p_g24_bind_ackpayload_prep:
+	jam 0x08,mem_24g_datalen
+	arg 0x08,loopcnt
+	arg mem_24g_bind_payload,contr
+	arg mem_24g_txbuf,contw
+	branch memcpy
+
+p_g24_user_ackpayload_prep:
+	call p_g24_queue_read_point
+	nrtn user
+	jam 0x1f,mem_24g_datalen
+	arg 0x1f,loopcnt
+	copy pdata,contr
+	arg mem_24g_txbuf,contw
+	call memcpy
+	fetch 2,mem_24g_txbuf+3	//pac id
+	store 2,mem_24g_ota_sta_pid
+	rtn
+
+p_g24_receive_packet_start:
+	call p_g24_receive_transmit_ack
+	nbranch p_g24_rx_interrupt_clear,user3
+	branch p_g24_receive_packet_parse
+
+p_g24_receive_packet_parse:
+	call p_g24_receive_packet_parse_pid_crc
+	nbranch p_g24_rx_interrupt_clear,user
+	fetch 1,mem_24g_rxdata_length
+	branch p_g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	arg mem_24g_rxbuf,contr
+	arg mem_24g_rxdata_temp,contw
+	call memcpy
+	jam 0,mem_24g_mode_switch
+	fetch 1,mem_24g_pair_mode
+	call p_g24_enable_nodata_timer,blank
+	fetch 1,mem_24g_rxdata_temp+2
+	beq 0x01,p_g24_data_type1
+	beq 0x02,p_g24_data_type2
+	beq 0x03,p_g24_data_type3
+	beq 0xff,p_g24_data_attemp
+	branch p_g24_rx_interrupt_clear
+
+p_g24_receive_packet_parse_pid_crc:
+	call disable_user
+	fetch 1,mem_24g_sta_pid
+	fetcht 1,mem_24g_last_pid
+	isub temp,null
+	ncall enable_user,zero
+	fetch 1,mem_24g_sta_pid
+	store 1,mem_24g_last_pid
+	fetch 3,mem_24g_sta_crc
+	fetcht 3,mem_24g_last_crc
+	isub temp,null
+	ncall enable_user,zero
+	fetch 3,mem_24g_sta_crc
+	store 3,mem_24g_last_crc
+	rtn
+
+p_g24_data_type1:
+	call p_g24_ch_timer_reinit
+	fetch 1,mem_24g_abort_packet
+	fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	store 1,mem_24g_abort_packet
+	beq 1,p_g24_data_attemp_mouse_abort
+	fetch 1,mem_24g_hop_packet
+	fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_hop,temp
+	setflag true,0,pdata
+	store 1,mem_24g_hop_packet
+
+	fetch 1,mem_24g_rxdata_temp+3	//OTA
+	beq CMD_OTA,p_g24_ota_process
+	
+	setarg MS_REPORT_ID
+	store 1,mem_usb_mouse_data	//report id
+	fetch 7,mem_24g_rxdata_temp+3	//key
+	istore 7,contw
+	fetch 1,mem_24g_rxdata_temp+3	//key
+	ncall p_g24_ms_enable_blank_data_forcibly,blank//get kb data
+	fetch 1,mem_24g_rxdata_temp+3	//key
+	call p_g24_ms_disable_blank_data_forcibly,blank
+	branch g24_data_type1_usbtx_enable
+
+p_g24_ms_enable_blank_data_forcibly:
+	jam 1,mem_24g_ms_blank_data_enable
+	branch g24_ms_enable_blank_data_timer
+p_g24_ms_disable_blank_data_forcibly:
+	jam 0,mem_24g_ms_blank_data_enable
+	branch g24_ms_disable_blank_data_timer
+
+p_g24_data_type2:
+	fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	branch p_g24_data_attemp_kbd_abort,true
+	arg mem_usb_kb_data,contw
+	call p_g24_data_type2_reverse_data
+	fetch 8,mem_usb_kb_data
+	ncall p_g24_kb_enable_blank_data_forcibly,blank//get kb data
+	fetch 8,mem_usb_kb_data	
+	call p_g24_kb_disable_blank_data_forcibly,blank
+	fetch 8,mem_usb_kb_data
+	store 8,mem_24g_kb_data_sta_data
+	fetcht 8,mem_24g_kb_data_last_data
+	isub temp,null
+	ncall g24_kb_data_into_ep1_fifo,zero
+	fetch 8,mem_24g_kb_data_sta_data
+	store 8,mem_24g_kb_data_last_data
+	branch p_g24_rx_interrupt_clear
+
+p_g24_data_type2_reverse_data:
+	arg mem_24g_rxdata_temp+2,contr
+	arg 9,loopcnt
+	branch reverse_byte
+
+p_g24_kb_enable_blank_data_forcibly:
+	jam 1,mem_24g_kb_blank_data_enable
+	branch g24_kb_enable_blank_data_timer
+
+p_g24_kb_disable_blank_data_forcibly:
+	jam 0,mem_24g_kb_blank_data_enable
+	branch g24_kb_disable_blank_data_timer
+
+
+p_g24_data_type3:
+	arg mem_usb_kb_multikey,contw
+	call p_g24_data_type2_reverse_data
+	fetch 2,mem_usb_kb_multikey+1
+	ncall p_g24_kb_mul_enable_blank_data_forcibly,blank//get multikey data
+	fetch 2,mem_usb_kb_multikey+1
+	call p_g24_kb_mul_disable_blank_data_forcibly,blank
+	fetch 3,mem_usb_kb_multikey
+	store 3,mem_24g_kb_multikey_sta_data
+	fetcht 3,mem_24g_kb_multikey_last_data
+	isub temp,null
+	ncall g24_kb_mul_data_into_ep2_fifo,zero
+	fetch 3,mem_24g_kb_multikey_sta_data
+	store 3,mem_24g_kb_multikey_last_data
+	branch p_g24_rx_interrupt_clear
+
+p_g24_kb_mul_enable_blank_data_forcibly:
+	jam 1,mem_24g_kb_mul_blank_data_enable
+	branch g24_kb_mul_enable_blank_data_timer
+
+p_g24_kb_mul_disable_blank_data_forcibly:
+	jam 0,mem_24g_kb_mul_blank_data_enable
+	branch g24_kb_mul_disable_blank_data_timer
+
+	
+p_g24_data_attemp:
+	fetch 1,mem_24g_rxdata_temp+3
+	beq DATATYPE_MOUSE,p_g24_data_attemp_mouse
+	beq DATATYPE_KEYBOARD,p_g24_data_attemp_kbd
+	rtn
+p_g24_data_attemp_mouse:
+	fetch 4,mem_24g_rxdata_temp+4
+	branch p_g24_store_mouse_addr
+p_g24_data_attemp_kbd:
+	fetch 4,mem_24g_rxdata_temp+4
+	branch p_g24_store_kbd_addr
+p_g24_data_attemp_mouse_abort:
+	fetch 4,mem_24g_rxdata_temp+10
+	branch p_g24_store_mouse_addr
+p_g24_data_attemp_kbd_abort:
+	fetch 4,mem_24g_rxdata_temp+10
+	branch p_g24_store_kbd_addr
+
+p_g24_ota_process:
+	fetch 2,mem_24g_rxdata_temp+5	//ackpayload pid
+	fetcht 2,mem_24g_ota_sta_pid
+	isub temp,null
+	branch p_g24_ota_next_pac,zero
+	rtn
+	
+p_g24_ota_next_pac:
+	fetch 1,mem_24g_rxdata_temp+4	//OTA TYPE
+	beq CMD_OTA_EXIT,p_g24_ota_exit_process
+	fetch 1,mem_queue_ele_num
+	rtn blank	
+	setarg mem_queue_read
+	call p_g24_queue_increase
+	fetch 1,mem_queue_ele_num
+	increase -1,pdata
+	store 1,mem_queue_ele_num
+	fetch 1,mem_24g_rxdata_temp+4	//OTA TYPE
+	beq CMD_OTA_DATA,p_user_defined_queue_buff_free
+	beq CMD_OTA_EXIT,p_g24_ota_exit_process
+	rtn
+
+p_g24_ota_exit_process:
+	setarg 0
+	store 2,mem_24g_ota_sta_pid
+	store 1,mem_24g_ackpayload_enable
+	call p_g24_queue_init
+	fetch 1,mem_24g_rxdata_temp+7	//ackpayload pid
+	beq OTA_STA_SUCCESS,p_g24_ota_exit_success
+	beq OTA_STA_FAIL,p_g24_ota_exit_fail
+	rtn
+p_g24_ota_exit_success:
+	jam 2,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+p_g24_ota_exit_fail:
+	jam 3,mem_usb0_get_report_data+1
+	branch usb0_data_ready_report_set1
+endif
+
+
+
+ifdef MOUSE
+p_rssi_signal:
+	copy pdata,rega
+	fetcht 1,mem_rssi_signal_index
+	setarg mem_rssi_signal_buf
+	iadd temp,contw
+	copy rega,pdata
+	istore 1,contw
+	increase 1,temp
+	and_into RSSI_BUF_LEN_SIGNAL,temp
+	storet 1,mem_rssi_signal_index
+	rtn
+
+p_soft_reset_1:
+	arg mem_sp_state,contw
+	arg 12,loopcnt
+	call clear_mem
+	call p_mouse_le_txbuff_load
+	call rfcomm_init
+	call init_lmp
+	ncall lpm_disable_exen_output,wake
+	call ui_init+1
+	branch soft_reset+11
+
+
+p_init_param:
+	setarg param_le_version
+	store 3,mem_lmp_version
+	setarg param_le_subversion
+	store 2,mem_lmp_version+3
+	branch init_param+12
+
+p_lpm_dispatch_next2:
+	fetch 1,mem_mouse_wheel_trigger
+	nrtn blank
+	branch lpm_dispatch_next2
+
+p_lpm_check_wake_lock:
+	rtnmark1 mark_24g
+	fetch 1,mem_mouse_multi_led_blink_count
+	nbranch disable_blank,blank
+	fetch 1,mem_mouse_multi_led_state
+	nbranch disable_blank,blank
+//	fetch 1,mem_mouse_multi_led_on_timer
+//	nbranch disable_blank,blank
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	beq 0,disable_blank
+	fetch 1,mem_mouse_le_conn_param_reject
+	beq LE_LPM_DISABLE,disable_blank
+	fetch 2,mem_sdp_remote_cid
+	nbranch disable_blank,blank
+	branch enable_blank
+
+p_g24_dispatch:
+	rtnmark0 mark_24g
+	fetch 1,mem_24g_transmit_by_interrupt
+	beq G24_TX_TIMER_INT_ENABLE,p_g24_transmit_by_interrupt
+p_g24_transmit_process:
+	call p_g24_txdata_prep
+	nbranch p_g24_nodata_transmit,user
+	call p_g24_rf_sta_check
+p_g24_transmit_start:
+	call p_g24_transmit_packet
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call power_ctrl_start
+	call g24_long_sleep_shorter_param_update
+	fetch 1,mem_24g_transmit_by_interrupt
+	rtneq G24_TX_TIMER_INT_ENABLE
+p_g24_short_sleep:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	call p_mouse_setgpio_lpm
+	call p_clear_wake
+	setarg 63000
+	branch lpm_dispatch_sleep
+
+g24_long_sleep_shorter_param_update:
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	setarg G24_LONG_SLEEP_STEP1
+	store 3,mem_24g_enter_hibernate
+	jam 30,mem_24g_long_sleep_param_update_timer
+	rtn
+
+p_g24_transmit_by_interrupt:
+	call p_g24_timer_check
+	nrtn user
+	call p_g24_interval_calibrate	
+	fetch 1,mem_24g_transmit_by_interrupt_exit_count
+	increase 1,pdata
+	store 1,mem_24g_transmit_by_interrupt_exit_count
+	sub pdata,25,null	//200ms
+	call p_g24_transmit_by_interrupt_exit,zero
+	branch p_g24_transmit_process
+p_g24_transmit_by_interrupt_exit:
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	jam 0,mem_24g_transmit_by_interrupt_exit_count
+p_g24_interval_min:
+	jam 0,mem_24g_pac_index
+	fetch 1,mem_24g_interval_min
+	store 1,mem_24g_interval
+	rtn
+p_g24_interval_max:
+	fetch 1,mem_24g_interval_max
+	store 1,mem_24g_interval
+	rtn	
+p_g24_interval_calibrate:
+	fetch 1,mem_24g_pac_index
+	increase 1,pdata
+	store 1,mem_24g_pac_index
+	beq 4,p_g24_interval_max
+	beq 5,p_g24_interval_min
+	rtn
+p_g24_transmit_by_interrupt_enable:
+	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
+	jam 0,mem_24g_transmit_by_interrupt_exit_count
+	rtn
+
+p_g24_nodata_transmit:
+	fetch 1,mem_24g_abort_pac
+	call p_g24_send_abort_packet,blank
+p_g24_long_sleep:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	call p_mouse_setgpio_lpm
+	fetch 8,mem_24g_enter_hibernate
+	call clk2lpo
+	storet 4,mem_sleep_counter
+  	branch lpm_sleep
+
+p_g24_send_abort_packet:
+	jam 1,mem_24g_abort_pac
+	jam 0,mem_24g_rf_hop_ch
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	setarg 0
+	store 7,mem_24g_txbuf+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_txbuf+8
+	jam 12,mem_24g_datalen
+	fetch 1,mem_24g_data_type
+	set1 bit_abort,pdata
+	store 1,mem_24g_data_type
+	call p_g24_transmit_prep
+	call p_g24_txdata_enable_tx
+	branch p_g24_transmit_start
+
+
+p_mouse_before_lpm:
+	rtnmark1 mark_24g
+	call p_mouse_le_txbuff_save
+	call p_mouse_setgpio_lpm
+	fetch 1,mem_context
+	bbit0 state_inconn,p_clear_wake
+	fetch 1,mem_lpm_current_mult
+	nrtn blank
+p_clear_wake:
+	setarg 0
+	store 8,mem_gpio_wakeup_low
+	rtn
+
+p_mouse_setgpio_lpm:
+	call p_mouse_set_sdio_high
+	call p_clear_wake
+	call mouse_lpm_before_common
+	hfetch 4,core_gpio_oe0
+	hfetcht 4,core_gpio_pu0
+	ior temp,temp
+	invert temp,temp
+	hstoret 4,core_gpio_pd0
+	branch p_mouse_multi_led_off2
+
+p_mouse_set_sdio_high:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	branch p_mouse_seting_dpi+1	// make sdio high to make 100uA less	
+
+p_mouse_le_txbuff_save:
+	arg mem_le_tx_buffer0,contr
+	arg mem_le_tx_buffer0_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1,contr
+	arg mem_le_tx_buffer1_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2,contr
+	arg mem_le_tx_buffer2_omemalloc,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3,contr
+	arg mem_le_tx_buffer3_omemalloc,contw
+p_mouse_le_txbuff_copy:	
+	arg 27,loopcnt
+	branch memcpy
+
+p_mouse_le_txbuff_load:
+	arg mem_le_tx_buffer0_omemalloc,contr
+	arg mem_le_tx_buffer0,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer1_omemalloc,contr
+	arg mem_le_tx_buffer1,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer2_omemalloc,contr
+	arg mem_le_tx_buffer2,contw
+	call p_mouse_le_txbuff_copy
+	arg mem_le_tx_buffer3_omemalloc,contr
+	arg mem_le_tx_buffer3,contw
+	branch p_mouse_le_txbuff_copy
+
+p_device_init:
+ifdef DEBUGLOG
+	call debuglog_init
+ifdef DEBUGLOG_STATUS
+	setarg DEBUGLOG_DTYPE_STATUS
+	store 2,mem_debuglog_datatype
+	setarg STATUS_LPM_WAKE
+	store 2,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	call app_lpm_mult_enable
+	branch p_device_init_common,wake
+ifdef DEBUGLOG
+ifdef DEBUGLOG_STATUS
+	setarg DEBUGLOG_DTYPE_STATUS
+	store 2,mem_debuglog_datatype
+	setarg STATUS_CODE_WAKE
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	jam 0x20,core_gpio_pu0
+
+	call p_mouse_data_init
+	fetch 1,mem_tx_power
+	store 1,mem_tx_power_temp
+	call power_ctrl_pac_succ_cnt_init
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init
+	call mouse_bt_discovery_button_down_disable
+p_device_init_common:
+	call p_mouse_init
+	branch enable_authrom
+
+p_mouse_init:
+	ncall p_mouse_setting_config,wake
+	call p_mouse_spi_init
+	rtn wake
+ifdef RF_DEBUG
+	call test_gpio_init
+endif
+	jam 1,mem_mouse_dpi
+	call p_mouse_cb_fuction
+//	call p_test_function
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+//	bbit1 MOUSE_ENABLE_AUTO_24G_PARING,p_mouse_wakeup_from_power
+//	call p_mouse_check_key_gpio
+//	beq MOUSE_LM_BUTTON,p_mouse_24g_pairing_button
+	branch p_mouse_wakeup_from_power
+p_test_function:
+	call p_mouse_check_key_gpio
+//	beq MOUSE_R_BUTTON,p_mouse_clear_bt_info
+	//beq MOUSE_RM_BUTTON,p_test_square_drawing
+	beq MOUSE_LMR_BUTTON,p_test_rf_param
+	rtn
+	
+p_test_rf_param:
+	//setarg 0x3923
+	setarg 0x1bb7
+	store 2,mem_device_flag
+	arg 2,temp
+	arg mem_device_flag,rega
+	setarg 0
+	call  iicd_write_eep
+	jam 1,0x8010
+	rtn
+
+p_mouse_check_reconn_target:
+	call p_mouse_tx_power_init
+	fetch 1,mem_xrecord_mode
+ifdef CLASSIC_BT	
+	beq REC_3_MODE,p_mouse3_0_check_reconn_target
+endif	
+	beq REC_4_MODE,p_mouse4_0_check_reconn_target
+	rtn
+
+
+ifdef CLASSIC_BT
+p_mouse3_0_check_reconn_target:
+	fetch 6,mem_hci_plap
+	branch app_bt_start_discovery_short,blank
+	branch mouse3_0_check_reconn_target+3
+endif
+
+p_mouse4_0_check_reconn_target:
+	call p_mouse4_0_reconn_led_blink_init
+	jam 1,mem_mouse_le_reconnect_flag
+	fetch 2,mem_mouse_direct_timeout
+	store 2,mem_mouse_direct_timer
+	call app_lpm_mult_disable
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
+	istore 1,contr
+	branch check_51cmd_adv
+
+p_le_check_adv_flag:
+	arg mem_le_adv_data,rega
+p_le_check_adv_flag_loop:
+	ifetch 1,rega	//length
+	rtn blank
+	iadd contr,rega
+	ifetch 1,contr	//type
+	rtneq 0x01
+	branch p_le_check_adv_flag_loop
+
+p_mouse4_0_reconn_led_blink_init:
+	jam 1,mem_mouse_ble_reconn_multi_led_blink_flag
+	jam 9,mem_mouse_multi_led_blink_count
+	branch p_mouse_dpi_multi_led_blink
+/*
+p_mouse_24g_pairing_button:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 2,mem_24g_check_dongle_times
+	call mouse_stop_discovery
+	branch p_g24_start_pairing_sm1
+*/
+p_mouse_dpi_config:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_EEPROM,mouse_dpi_config
+	fetch 1,mem_mouse_dpi
+	beq 0xff,mouse_dpi_config
+	branch mouse_seting_dpi+2
+
+p_mouse_spi_init:
+	jam 0x76,mem_spi_init_clk
+	branch mouse_spi_init
+	
+p_mouse_init_sunt:
+	call p_mouse_spi_init
+	call mouse_spi_sdio_gpio_pollup
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_init_3610sensor
+p_mouse_init_sensor:
+	call mouse_read_sensor_id
+	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
+	beq P3065_ID1,p_mouse_p3065_init_param
+	call mouse_twspi_reset
+	nop 1000
+	branch p_mouse_init_sensor
+
+p_mouse_init_sensor_reset:
+	jam 1,mem_mouse_init_sensor_reset_flag
+	call spi_ncs_enable
+	call p_mouse_init_sunt
+	branch spi_ncs_disable
+
+p_mouse_init_p32xx_id2_judge:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq P_MX8650,p_mouse_mx8650_init_param
+	branch mouse_init_p32xx_id2_judge
+P_mouse_mx8650_init_param:
+	jam MX8650,mem_config_sensor_type
+	rtn
+
+p_mouse_p3065_init_param:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq P3065_XY_ID2,mouse_p3065xy_init_param
+	jam P3065,mem_config_sensor_type
+	rtn
+
+p_mouse_sensor_poweron:
+	setarg 0x8006	// reset to factory settings
+	call twspi_write
+	nop 12000
+	branch p_mouse_dpi_config
+p_mouse_sensor_powerdown:
+	setarg 0x06
+	call twspi_read
+	or pdata,0x08,pdata
+	lshift8 pdata,pdata
+	add pdata,0x06,pdata
+	branch twspi_write	//make sdio high
+
+p_mouse_setting_config:
+	call p_g24_set_device_addr
+	//disable usb function
+	hfetch 1,core_usb_config
+	set0 4,pdata
+	hstore 1,core_usb_config
+	call mouse_gpio_init
+	
+	fetcht 1,mem_mouse_multi_led_gpio
+	call gpio_config_output
+	
+	call mouse_param_init
+ifdef CLASSIC_BT	
+	call p_mouse_bt_sdp_update
+endif	
+	setarg 0
+	store 2,mem_lpm_interval
+	call p_mouse_set_gpio_control_sensor
+	setarg 0x1802	//16M XTAL
+	store 2,mem_fcomp_mul	
+	call mouse_adc_init
+	call le_set_config_fixed_ltk
+	call le_set_justwork
+	call le_set_fixed_ltk
+	call le_set_config_read_authentication
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_EEPROM,p_mouse_init_iic
+//	bbit1 MOUSE_ENABLE_FLASH,p_mouse_load_flash_info_cheak
+//	rtn
+p_mouse_init_iic:
+	call iic_init_390k
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	isolate1 MOUSE_ENABLE_2K_EEPROM,pdata
+	ncall clear_eeprom_size_2k,true
+	call mouse_load_eeprom_dpi
+	call p_mouse_init_environment
+p_mouse_init_iic_read_24g_addr:
+	call p_mouse_set_24g_addr_eeprom
+	branch iicd_read_eep_data
+
+p_mouse_set_gpio_control_sensor:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
+	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+p_mouse_sensor_set_angle:
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_config_input
+	fetcht 1,mem_select_sensor_angle_gpio
+	call gpio_get_bit
+	jam MOUSE_12CLK_ANGLE,mem_config_sensor_angle
+	rtn true
+	jam MOUSE_9CLK_ANGLE,mem_config_sensor_angle
+	rtn
+	
+ifdef CLASSIC_BT
+p_mouse_bt_sdp_update:
+	call enable_authrom
+	arg 0x8c00,contr
+	arg mem_mouse_uuid_list,contw
+	arg 369,loopcnt
+	call memcpy
+	//Attribute: HID SSR Host Max Latency
+	setarg 0x0f0209
+	istore 3,contw
+	setarg 0x120009
+	istore 3,contw
+	//Attribute: HID SSR Host Min Timeout
+	setarg 0x100209
+	istore 3,contw
+	setarg 0x000009
+	istore 3,contw
+	arg 0x8d71,contr
+	arg 265,loopcnt
+	call memcpy
+	
+	jam 0,mem_mouse_uuid_list+23	//Service Record Handle: 0x 00 01 00 00
+	jam 0x6d,mem_mouse_uuid_list+15	//total length
+	setarg 0x401f
+	store 2,mem_mouse_uuid_list+357	//timeout
+	setarg 0x6d04
+	store 2,mem_mouse_uuid_list+462	//VID
+	setarg 0x16b0
+	store 2,mem_mouse_uuid_list+468	//PID
+
+	setarg mem_mouse_uuid_list				//bt sdp start address
+	store 2,mem_ui_uuid_table
+	rtn
+endif
+
+p_mouse_init_environment:
+	call app_initflag_check
+	branch mouse_eeprom_load_recon_info,zero
+	call p_le_addr_random_config
+	branch mouse_init_environment+2
+
+p_app_flag_store:
+	arg 2,temp
+	arg mem_timeup,rega
+	arg MOUSE_EEPROM_MODULE_INIT_FLAG,regb
+	branch iicd_write_protect_eep_data
+
+p_app_initflag_check:
+	arg 2,temp
+	arg mem_pdatatemp,rega
+	arg MOUSE_EEPROM_MODULE_INIT_FLAG,regb
+	branch app_initflag_check+4
+
+/*
+p_mouse_load_flash_info_cheak:
+	call mouse_load_flash_flag
+	fetch 2,mem_store_flag
+	arg EEPROM_INIT_FLAG,temp
+	isub temp,null
+	branch p_mouse_load_flash_device_info,zero
+	storet 2,mem_store_flag
+	call mouse_ble_init_address
+	branch mouse_store_flash_device_info
+
+p_mouse_load_flash_device_info:
+	setarg mem_mouse_information_end
+	arg mem_mouse_information_start,temp
+	isub temp,temp
+	fetch 3,mem_flash_base
+	arg mem_mouse_information_start,rega
+	call spid_read_flash
+	call mouse_select_reconn_device
+	fetch 4,mem_mouse_24g_addr
+	store 4,mem_24g_addr
+	rtn
+*/
+
+p_mouse_wakeup_from_power:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,p_mouse_wakeup_no_from_power
+	fetch 1,mem_wakup_from_power_flag
+	isolate0 gpio_latch,pdata
+	nbranch p_mouse_wakeup_no_from_power,true
+	call p_mouse_init_sunt
+	call p_mouse_sensor_powerdown
+p_mouse_wakeup_no_from_power:
+	fetch 1,mem_reconn_times_init
+	store 1,mem_reconn_times
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
+p_mouse_start_24g_mode:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	fetch 1,mem_wakup_from_power_flag
+//	bbit1 gpio_latch,p_g24_start_24g_mode
+	branch p_g24_auto_pair_start
+	
+p_g24_factory_check:
+	arg 2,loopcnt
+	arg mem_24g_addr,contr
+p_pdata_0xff_check:
+	call enable_user
+	setarg 0xffff
+p_pdata_0xff_check_loop:
+	ifetcht 2,contr
+	isub temp,null
+	ncall disable_user,zero
+	loop p_pdata_0xff_check_loop
+	rtn
+
+p_mouse_cb_fuction:
+	setarg p_mouse_g24_package_data
+	store 2,mem_cb_24g_data
+ifdef BLE
+	setarg p_mouse_le
+	store 2,mem_cb_le_process
+	setarg p_le_mouse_bb_event_connect_complete
+	store 2,mem_cb_att_write
+endif	
+ifdef CLASSIC_BT
+	setarg p_mouse_bt
+	store 2,mem_cb_bt_process
+endif
+	setarg p_mouse_before_lpm
+	store 2,mem_cb_before_lpm
+	setarg p_mouse_priority_bb_event
+	store 2,mem_cb_bb_event_process
+	setarg p_mouse_idle
+	store 2,mem_cb_idle_process
+	setarg p_mouse_before_hibernate
+	store 2,mem_cb_before_hibernate
+	setarg p_mouse_bb_event_timer
+	store 2,mem_cb_event_timer
+	setarg mouse_spi_write_flash_cb
+	store 2,mem_cb_spi_flash_write_complate
+	rtn
+
+p_mouse_g24_package_data:
+	call mouse_g24_package_data
+	fetch 2,mem_mouse_z
+	rtn blank
+	branch p_g24_transmit_by_interrupt_enable
+	
+ifdef BLE	
+p_mouse_le:
+	call le_fifo_check_nearly_full
+	nrtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	call p_mouse_clear_sensor_data,blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
+//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
+	call mouse_motion
+	nrtn user
+	call p_mouse_le_current_mult_update
+	call p_mouse_data_xy_release
+	fetch 2,mem_mouse_z
+	ncall p_mouse_wheel_trigger,blank
+	branch p_mouse_data_push
+endif
+p_mouse_le_current_mult_update:
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	jam 0,mem_lpm_mult
+	jam 30,mem_mouse_le_current_mult_timer
+	rtn
+
+p_mouse_wheel_trigger:
+	jam 1,mem_mouse_wheel_trigger
+	jam 2,mem_mouse_wheel_trigger_timer
+	rtn
+	
+ifdef CLASSIC_BT
+p_mouse_bt:
+	rtn attempt
+	fetch 1,mem_app_handshake_flag
+	rtn blank
+	call l2cap_malloc_is_fifo_nearly_full
+	nrtn blank
+	fetch 1,mem_mouse_clear_sensor_data_flag
+	call p_mouse_clear_sensor_data,blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
+//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
+	bbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,mouse_send_empty_data
+	call mouse_motion
+	nrtn user
+	fetch 2,mem_mouse_z
+	ncall p_mouse_wheel_trigger,blank
+	branch mouse_send_data
+endif
+
+p_mouse_clear_sensor_data:
+	call le_set_config_more_data
+	jam 1,mem_mouse_clear_sensor_data_flag
+	branch p_mouse_sensor_poweron
+
+p_mouse_idle:
+//	call p_mouse_24g_pairing_button
+	call ui_check_paring_button
+//	call p_mouse_dpi_check
+	branch mouse_wheel_check
+
+p_mouse_dpi_check:
+	fetcht 1,mem_dpi_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_dpi_button_gpio
+	call gpio_get_bit
+	branch p_mouse_dpi_up,true
+	call p_gpio_set_input_pu
+p_mouse_dpi_down:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_DOWN
+	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	and pdata,0x03,pdata
+	store 1,mem_mouse_dpi
+	increase 2,pdata
+	store 2,mem_mouse_multi_led_blink_count
+	call p_mouse_dpi_multi_led_blink
+	branch mouse_dpi_down+7
+
+p_mouse_dpi_up:
+	call p_gpio_set_input_pu
+	branch mouse_dpi_up
+
+	
+/*
+//pc bind api
+p_mouse_24g_pairing_button:
+	fetch 2,mem_24g_pairing_timer_count
+	rtn blank
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G
+	rtnbit1 MOSUE_24G_PAIRING_FLAG
+	rtnmark1 mark_24g
+	call mouse_check_key_gpio
+	rtnne MOUSE_LMR_BUTTON
+	call mouse_devce_led_off
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_enable_function_flag
+	setarg 0
+	store 2,mem_mouse_direct_timer
+	store 1,mem_mouse_send_blank_timer
+	store 2,mem_24g_check_dongle_times
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_RECONNECT,mouse_cancel_reconnect
+	bbit1 UI_STATE_BLE_CONNECTED,app_ble_disconnect
+	bbit1 UI_STATE_BT_CONNECTED,app_bt_disconnect
+	call mouse_stop_discovery
+	branch p_g24_start_pairing_sm1
+*/
+p_mouse_priority_bb_event:
+	copy regc,pdata
+ifdef BLE	
+	beq BT_EVT_LE_CONNECTED,p_mouse_le_bb_event_connected
+	beq BT_EVT_LE_DISCONNECTED,p_mouse_le_bb_disconnected
+	beq BT_EVT_LE_ENC_INFO,p_mouse_le_enc_info
+	beq BT_EVT_LE_START_ENC,p_mouse_le_ll_start_encryt
+	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,p_mouse_le_conn_param_update_rsp_recieved
+endif
+ifdef CLASSIC_BT
+	beq BT_EVT_RECONN_FAILED,p_mouse_bb_event_reconn_failed
+	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_mouse_bb_event_reconn_timeout
+	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,p_mouse_irtual_cable_unplug
+	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch	
+	beq BT_EVT_SNIFF_NOT_ACCEPT,p_mouse_sniff_not_accept
+	beq BT_EVT_BB_CONNECTED,p_mouse_bb_event_connected
+	beq BT_EVT_BB_DISCONNECTED,p_mouse_bb_event_disconnected
+	beq BT_EVT_SWITCH_SUCCESS_MASTER,p_mouse_enter_sniff_check
+endif
+	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
+	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
+	branch mouse_priority_bb_event+1
+
+ifdef BLE
+p_mouse_le_bb_event_connected:
+	jam 0,mem_mouse_long_mult_flag
+	call p_mouse_init_sensor_reset
+	call p_mouse_data_init
+	branch mouse_le_bb_event_connected
+
+p_mouse_le_bb_disconnected:
+	call p_mouse_sensor_powerdown_check
+	setarg LE_INTERVAL_8_75MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	jam 0,mem_mouse_clear_sensor_data_flag
+	call p_mouse_data_init
+	call le_clr_config_more_data
+	branch mouse_bb_disconnected
+
+p_mouse_le_enc_info:
+p_app_updata_le_param:
+	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
+	branch ui_ipc_send_cmd
+
+p_mouse_le_ll_start_encryt:
+	fetch 1,mem_mouse_le_reconnect_flag
+	beq 1,p_mouse_le_ll_reconn_start_encryt
+	branch p_mouse_le_ll_enable_start_enc_flag
+
+p_mouse_le_ll_reconn_start_encryt:
+	call p_app_updata_le_param
+	jam 20,mem_le_start_encrypt_timer
+p_mouse_le_ll_enable_start_enc_flag:
+	arg LL_START_ENC_FLAG,queue
+	branch mouse_le_enable_connect_flag
+
+p_mouse_le_conn_param_update_rsp_recieved:
+	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
+	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
+	fetch 1,mem_le_tsniff
+	rshift2 pdata,pdata
+	sub pdata,LE_INTERVAL_15MS,null
+	rtn positive
+	setarg LE_INTERVAL_11_25MS
+	store 2,mem_le_interval_min
+	store 2,mem_le_interval_min+2
+	call p_app_updata_le_param
+	branch p_mouse_le_conn_param_lpm_disable
+endif
+
+
+ifdef CLASSIC_BT
+p_mouse_bb_event_reconn_timeout:
+p_mouse_bb_event_reconn_failed:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BTN_DOWN
+	rtnbit1 UI_STATE_BT_DISCOVERY
+	rtnbit1 UI_STATE_BLE_ADV
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
+//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
+//	bbit1 MOSUE_24G_PAIRING_FLAG,p_g24_start_pairing_sm1
+	branch app_bb_hibernate
+
+p_mouse_irtual_cable_unplug:
+	call mouse_irtual_cable_unplug
+	branch app_bb_hibernate
+
+p_mouse_sniff_not_accept:
+	fetch 1,mem_mouse_enter_sniff_count
+	rtneq 2
+	increase 1,pdata
+	store 1,mem_mouse_enter_sniff_count
+	jam 0x12,mem_sniff_param_interval	//89Hz
+	branch app_bt_enter_sniff
+
+p_mouse_bb_event_connected:
+	call p_mouse_discovey_led_blink_off
+	jam 0,mem_mouse_send_switch_req_timer
+	branch mouse_stop_discovery
+
+p_mouse_bb_event_disconnected:
+	call p_mouse_sensor_powerdown_check
+	branch mouse_bb_disconnected
+
+p_mouse_enter_sniff_check:
+	fetch 1,mem_mouse_enter_sniff_count
+	rtnne 2
+	jam 0,mem_mouse_enter_sniff_count
+	jam 0x0e,mem_sniff_param_interval	//89Hz
+	branch app_bt_enter_sniff
+
+p_mouse_bt_hid_handshake:
+	call p_mouse_init_sensor_reset
+	branch mouse_bt_hid_handshake
+	
+endif
+
+p_mouse_24g_pairing_complete:
+	call p_mouse_init_sensor_reset
+
+	jam 1,mem_mouse_24g_enter_lpm_enable
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	call mouse_disable_function_flag
+	setarg 0
+	store 2,mem_24g_pairing_timer_count
+	jam 0,mem_mouse_move_flag
+	
+	fetch 1,mem_config_sensor_type
+	sub pdata,P3610,null
+	call mouse_read_sensor3610_data,zero
+	ncall mouse_read_sensor_common,zero
+
+	call p_mouse_tx_power_init
+
+//	fetch 1,MOUSE_FLAG_LEN,mem_mouse_flag
+//	bbit1 MOUSE_ENABLE_FLASH,p_mouse_store_flash_24g_address
+	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+	branch iicd_write_protect_eep_data
+
+p_mouse_set_24g_addr_eeprom:
+	arg mem_24g_addr,rega
+	arg MOUSE_G24_ADDR_EEPROM_OFFECT,regb
+	arg 4,temp
+	rtn
+
+//p_mouse_store_flash_24g_address:
+//	arg mem_24g_addr,regb
+//	ifetch 4,regb
+//	store 4,mem_mouse_24g_addr
+//	branch mouse_store_flash_device_info
+
+p_mouse_tx_power_init:
+	fetch 1,mem_tx_power_temp
+	store 1,mem_tx_power
+	rtn
+	
+p_mouse_24g_attempt_fail:
+	call p_mouse_sensor_powerdown_check
+	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
+	call p_mouse_tx_power_init
+	call p_g24_check_51cmd_stop_24g
+	fetch 1,mem_mouse_mode_config
+	bbit1 MOUSE_24G_ONLY,p_mouse_null_enter_hibernate_enable
+	jam 0,mem_link_key_exists
+	call mouse_eeprom_load_recon_info	
+	arg 3,loopcnt
+	arg mem_device1_addr,contr
+	call p_pdata_0xff_check
+	branch p_mouse_null_enter_hibernate_enable,user
+	branch p_mouse_check_reconn_target
+
+p_mouse_null_enter_hibernate_enable:	//ble never connected
+	jam 1,mem_mouse_null_enter_hibernate_flag
+	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
+	rtn
+
+p_mouse_24g_attempt_success:
+	call p_mouse_init_sensor_reset
+	branch mouse_no_data_timer_init
+	
+p_mouse_before_hibernate:
+	enable user
+	hfetch 4,0x8138
+	setflag user,26,pdata
+	hstore 4,core_lpm_reg
+	call lpm_write_ctrl
+	call p_mouse_sensor_powerdown_check
+	call disable_authrom
+	call mouse_devce_led_off
+	call mouse_before_hibernate_wheel_gpio_set
+	call mouse_lpm_before_common
+	branch p_mouse_multi_led_off2
+	
+p_mouse_sensor_powerdown_check:
+	fetch 1,mem_mouse_init_sensor_reset_flag
+	rtn blank
+	jam 0,mem_mouse_init_sensor_reset_flag
+	branch p_mouse_sensor_powerdown
+
+p_mouse_bb_event_timer:
+//	call p_mouse_multi_led_blink_timer
+ifdef ADC_ENABLE	
+	call p_mouse_adc_read
+//	call p_mouse_low_voltage_led_timer
+endif
+	call p_mouse_24g_long_sleep_param_update_timer
+	call p_mouse_le_current_mult_update_timer
+	call p_mouse_wheel_trigger_timer
+	call p_mouse_null_enter_hibernate_timer
+	call p_mouse_bt_discovery_check
+	call p_mouse_dpi_check
+ifdef CLASSIC_BT	
+	call p_mouse_send_switch_req_timer
+	call mouse_check_hid_handshake_timer
+endif	
+	call mouse_check_discovery_timeout_timer
+	call mouse_check_direct_timeout_timer
+	call mouse_check_no_data_timeout_timer
+	branch p_mouse_le_enable_att_list_timer
+
+
+ifdef CLASSIC_BT
+p_mouse_send_switch_req_timer:
+	arg mem_mouse_send_switch_req_timer,regc
+	arg host_create_conn_resend,regb
+	branch timer_single_step
+endif
+
+p_mouse_wheel_trigger_timer:
+	arg mem_mouse_wheel_trigger_timer,regc
+	arg p_mouse_wheel_trigger_disable,regb
+	branch timer_single_step
+p_mouse_wheel_trigger_disable:
+	jam 0,mem_mouse_wheel_trigger
+	rtn
+
+p_mouse_24g_long_sleep_param_update_timer:
+	arg mem_24g_long_sleep_param_update_timer,regc
+	arg p_mouse_24g_long_sleep_normal_param,regb
+	branch timer_single_step
+p_mouse_24g_long_sleep_normal_param:
+	setarg G24_LONG_SLEEP_STEP2
+	store 3,mem_24g_enter_hibernate
+	jam 1,mem_mouse_long_mult_flag
+	rtn
+
+p_mouse_le_current_mult_update_timer:
+	arg mem_mouse_le_current_mult_timer,regc
+	arg p_mouse_le_current_mult_reinit,regb
+	branch timer_single_step
+p_mouse_le_current_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+	jam 1,mem_mouse_long_mult_flag
+	rtn
+
+p_mouse_le_enable_att_list_timer:
+	arg mem_le_start_encrypt_timer,regc
+	arg mouse_le_write_enable,regb
+	branch timer_single_step	
+
+p_mouse_bt_discovery_check:
+	fetch 1,mem_config_function_enable
+	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
+	
+//p_mouse_bt_discovery_commbination_key:
+//	call p_mouse_check_key_gpio
+//	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down
+
+p_mouse_bt_discovery_commbination_key_up:
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_combination_ui_button_count	//combination key timer init 
+	fetch 1,mem_bt_discovey_button_statue
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue
+	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+	call mouse_disable_function_flag
+	branch mouse_bt_discovery_button_down_disable
+p_mouse_bt_discovery_commbination_key_down:
+	jam 40,mem_mouse_null_enter_hibernate_timer
+	call p_mouse_bt_discovery_timer
+	branch mouse_bt_discovery_commbination_key_down+1
+
+p_mouse_bt_discovery_timer:
+	arg mem_combination_ui_button_count,regc
+	arg p_mouse_long_button_bt_discovery,regb
+	branch timer_single_step
+	
+p_mouse_long_button_bt_discovery:
+	call p_mouse_sensor_powerdown_check
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BLE_ADV,pdata
+	call mouse_stop_le_adv,true		//reconnect adv
+	fetch 2,mem_ui_state_map
+	isolate1 UI_STATE_BT_RECONNECT,pdata
+	call mouse_cancel_reconnect,true
+	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+	call mouse_enable_function_flag
+	branch mouse_long_button_bt_discovry
+
+p_mouse_null_enter_hibernate_timer:
+	fetch 1,mem_mouse_null_enter_hibernate_flag
+	rtn blank
+	fetch 1,mem_mouse_null_enter_hibernate_timer
+	branch p_mouse_null_enter_hibernate,blank
+	increase -1,pdata
+	store 1,mem_mouse_null_enter_hibernate_timer
+	rtn
+p_mouse_null_enter_hibernate:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	branch app_enter_hibernate
+
+	
+ifdef ADC_ENABLE
+p_mouse_adc_read:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_ADC
+	fetch 1,mem_adc_read_timer
+	increase 1,pdata
+	store 1,mem_adc_read_timer
+	sub pdata,10,null              //1s read adc
+	rtn positive
+	jam 0,mem_adc_read_timer
+	call adc_set_mode
+	call vdd_calculate_by_mode
+	store 2,mem_mouse_vdd_now_vol
+	arg mem_mouse_vdd_calculate_set,rega
+	call p_adc_bat_percent_lowpower_out
+	fetch 1,mem_adc_power_flag
+	bbit1 1,app_enter_hibernate
+	bbit0 0,p_mouse_adc_no_low_voltage
+	jam 1,mem_mouse_adc_last_low_voltage_flag
+	branch mouse_adc_low_voltage
+p_mouse_adc_no_low_voltage:
+	call mouse_adc_no_low_voltage
+	fetch 1,mem_mouse_adc_last_low_voltage_flag
+	rtn blank
+	jam 0,mem_mouse_adc_last_low_voltage_flag
+	branch p_mouse_multi_led_off
+/*	
+p_adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_GPIO,p_adc_check_gpio
+	branch adc_set_mode+1
+p_adc_check_gpio:
+	hfetch 1,core_gpio_pu0	//gpio5 pull up disable
+	set0 5,pdata
+	hstore 1,core_gpio_pu0
+	call adc_check_gpio
+	hfetch 1,core_gpio_pu0	//gpio5 pull up enable
+	set1 5,pdata
+	hstore 1,core_gpio_pu0
+	rtn
+*/
+p_adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2	//shutdown voltage 0.9v
+	fetch 2,mem_pdatatemp+6		//now voltage
+	isub temp,null
+	nbranch adc_set_no_power_flag,positive
+	fetcht 2,mem_pdatatemp+4	//low voltage 1.0v
+	isub temp,null
+	nbranch adc_set_low_power_flag,positive
+p_adc_clear_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set0 0,pdata
+	store 1,mem_adc_power_flag
+	rtn
+endif
+
+/*
+p_mouse_multi_led_type_on:
+	call p_mouse_multi_led_on
+	fetch 1,mem_mouse_multi_led_on_timer
+	increase 1,pdata
+	store 1,mem_mouse_multi_led_on_timer
+	fetcht 1,mem_mouse_multi_led_on_timer_init
+	isub temp,null
+	call p_mouse_multi_led_off_poweron2s,zero
+	rtn
+p_mouse_multi_led_off_poweron2s:
+	jam 0,mem_mouse_multi_led_on_poweron2s_flag
+	branch p_mouse_multi_led_off
+*/
+p_mouse_multi_led_type_blink:
+	fetch 1,mem_mouse_multi_led_blink_timer
+	increase -1,pdata
+	store 1,mem_mouse_multi_led_blink_timer
+	nrtn blank
+	fetch 1,mem_mouse_multi_led_blink_timer_init
+	store 1,mem_mouse_multi_led_blink_timer
+	fetch 1,mem_mouse_multi_led_blink_count_limited
+	branch p_mouse_multi_led_blink_count_no_limited,blank
+	fetch 1,mem_mouse_multi_led_blink_count
+	branch p_mouse_multi_led_blink_off,blank
+	increase -1,pdata
+	store 1,mem_mouse_multi_led_blink_count
+p_mouse_multi_led_blink_count_no_limited:
+	fetch 1,mem_mouse_multi_led_state
+	beq ON,p_mouse_multi_led_off
+	beq OFF,p_mouse_multi_led_on
+	rtn
+
+p_mouse_multi_led_on:
+	jam ON,mem_mouse_multi_led_state
+	fetcht 1,mem_mouse_multi_led_gpio
+	branch gpio_out_active
+	
+p_mouse_multi_led_blink_off:
+	jam 0,mem_mouse_ble_reconn_multi_led_blink_flag
+	jam 0,mem_mouse_multi_led_blink_timer
+	jam 0,mem_mouse_multi_led_blink_count
+	jam 0,mem_mouse_multi_led_blink_count_limited
+p_mouse_multi_led_off:
+	fetch 1,mem_mouse_multi_led_blink_count
+	nbranch p_mouse_multi_led_off_wait_blink_over,blank
+	jam 0,mem_mouse_multi_led_blink_enable
+	jam 0,mem_mouse_multi_led_type
+p_mouse_multi_led_off_wait_blink_over:
+	jam 0,mem_mouse_multi_led_on_timer
+	jam OFF,mem_mouse_multi_led_state
+p_mouse_multi_led_off2:	
+	fetcht 1,mem_mouse_multi_led_gpio
+	branch gpio_out_inactive
+/*
+p_mouse_mode_bt_device1_multi_led_on:
+p_mouse_mode_24g_device_multi_led_on:
+	jam 1,mem_mouse_multi_led_on_poweron2s_flag
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_ON,mem_mouse_multi_led_type
+	jam 0,mem_mouse_multi_led_on_timer
+	rtn
+*/
+p_mouse_discovery_multi_led_blink:
+	jam 1,mem_mouse_multi_led_blink_timer
+	jam 5,mem_mouse_multi_led_blink_timer_init	//500ms
+	jam 0,mem_mouse_multi_led_blink_count_limited
+	jam 1,mem_mouse_multi_led_blink_count//0 will clear mem_mouse_multi_led_blink_enable/mem_mouse_multi_led_type
+p_mouse_multi_led_blink_enable:
+	jam ON,mem_mouse_multi_led_blink_enable
+	jam MULTI_LED_BLINK,mem_mouse_multi_led_type
+	rtn
+
+p_mouse_discovey_led_blink_off:
+//	fetch 1,mem_mouse_multi_led_on_timer
+//	nrtn blank
+//	fetch 1,mem_mouse_multi_led_on_poweron2s_flag
+//	nrtn blank
+	fetch 1,mem_mouse_ble_reconn_multi_led_blink_flag
+	nrtn blank
+	branch p_mouse_multi_led_blink_off+1
+		
+p_mouse_dpi_multi_led_blink:
+	jam 1,mem_mouse_multi_led_blink_timer
+	jam 3,mem_mouse_multi_led_blink_timer_init	//300ms
+	jam 1,mem_mouse_multi_led_blink_count_limited
+	branch p_mouse_multi_led_blink_enable
+
+p_mouse_motion:
+	disable user
+	setarg 0
+	store 6,mem_mouse_x
+	call p_mouse_cheak_sensor_data
+	call mouse_zwheel
+	call mouse_t_zwheel
+	call p_mouse_key
+	branch mouse_motion+8
+
+p_mouse_key:
+	call p_mouse_check_key_gpio
+	branch mouse_key+1
+p_mouse_check_key_gpio:
+	arg 0,rega
+	call p_mouse_check_lkey_gpio
+	call p_mouse_check_rkey_gpio
+	call p_mouse_check_mkey_gpio
+	call p_mouse_check_skey_gpio
+	copy rega,pdata
+	rtn
+p_mouse_check_skey_gpio:
+	fetch 1,mem_bk_button_gpio
+	rtneq GPIO_DISABLE
+	call p_mouse_check_bk_key_gpio
+	branch p_mouse_check_fw_key_gpio
+	
+p_mouse_check_lkey_gpio:
+	fetcht 1,mem_lbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_lbutton_gpio
+	call gpio_get_bit
+	setflag true,0,rega			//true = 1,input low level
+	rtn
+p_mouse_check_rkey_gpio:
+	fetcht 1,mem_rbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_rbutton_gpio
+	call gpio_get_bit
+	setflag true,1,rega			//true = 1,input low level
+	rtn
+p_mouse_check_mkey_gpio:
+	fetcht 1,mem_mbutton_gpio
+	call p_gpio_set_input_pu
+	fetcht 1,mem_mbutton_gpio
+	call gpio_get_bit
+	setflag true,2,rega			//true = 1,input low level
+	rtn
+p_mouse_check_bk_key_gpio:
+	fetcht 1,mem_bk_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_bk_button_gpio
+	call gpio_get_bit
+	nsetflag true,3,rega
+	branch p_gpio_set_input_pu
+p_mouse_check_fw_key_gpio:
+	fetcht 1,mem_fw_button_gpio
+	call p_gpio_set_input_pd
+	fetcht 1,mem_fw_button_gpio
+	call gpio_get_bit
+	nsetflag true,4,rega
+	branch p_gpio_set_input_pu
+p_gpio_set_input_pd:
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set1 gpio_active_bit,temp
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+p_gpio_set_input_pu:
+	set1 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	branch p_gpio_set_input_pd+4
+	
+p_mouse_cheak_sensor_data:
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	fetch 1,mem_config_sensor_type
+	beq P3205,p_mouse_p32xx_sensor_motion
+	beq P3065,p_mouse_p32xx_sensor_motion
+	beq KA8,p_mouse_p32xx_sensor_motion
+	beq P3204,p_mouse_p32xx_sensor_motion
+	beq P3212,p_mouse_p3212_sensor_motion
+	beq P3610,mouse_p3610_sensor_motion
+	beq P3065_xy,p_mouse_p32xx_sensor_motion
+	branch p_mouse_p32xx_sensor_motion
+
+p_mouse_p32xx_sensor_motion:
+	call mouse_clear_sensor_data
+	disable user
+	fetch 1,mem_config_function_enable
+	bbit0 ENABLE_SENSOR_MOTION_PIN,mouse_p32xx_sensor_motion_2
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	branch mouse_p32xx_sensor_motion_2
+p_mouse_p3212_sensor_motion:
+	call mouse_clear_sensor_data
+	fetch 1,mem_config_function_enable
+	bbit0 ENABLE_SENSOR_MOTION_PIN,mouse_p3212_sensor_motion_1
+	fetcht 1,mem_sensor_data_gpio
+	call gpio_get_bit
+	nrtn true
+	branch mouse_p3212_sensor_motion_1
+
+p_mouse_seting_dpi:
+	call mosue_dpi_led_blink_init
+	fetch 1,mem_config_sensor_type
+	beq P3610,mouse_seting_3610_dpi
+	beq P3212,p_mouse_seting_3212_dpi
+	beq P3065_XY,p_mouse_seting_3065XY_dpi
+//	beq P3205,p_mouse_seting_3205_dpi
+	beq MX8650,p_mouse_seting_8650XY_dpi
+	branch mouse_seting_dpi+3
+p_mouse_seting_3205_dpi:
+	fetch 1,mem_mouse_dpi
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3205_dpi_recount,zero
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,p_mouse_set_cpi1
+	beq MOUSE_DPI_LEVEL2,p_mouse_set_cpi2
+	beq MOUSE_DPI_LEVEL3,p_mouse_set_cpi3
+	beq MOUSE_DPI_LEVEL4,p_mouse_set_cpi4
+	branch p_mouse_set_cpi3
+p_mouse_3205_dpi_recount:
+	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
+	rtn
+p_mouse_set_cpi1:
+	jam 1,mem_mouse_dpi_blink_count
+	branch mouse_set_cpi1
+p_mouse_set_cpi2:
+	jam 1,mem_mouse_dpi_blink_count
+	branch mouse_set_cpi1
+p_mouse_set_cpi3:
+	jam 2,mem_mouse_dpi_blink_count
+	branch mouse_set_cpi3
+p_mouse_set_cpi4:
+	jam 3,mem_mouse_dpi_blink_count
+	branch mouse_set_cpi4
+	
+p_mouse_seting_8650XY_dpi:
+	fetch 1,mem_mouse_dpi
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3065xy_dpi_recount,zero
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,p_mouse_3065xy_set_cpi2
+//	beq MOUSE_DPI_LEVEL2,p_mouse_3065xy_set_cpi3
+	beq MOUSE_DPI_LEVEL3,p_mouse_3065xy_set_cpi3
+	beq MOUSE_DPI_LEVEL4,p_mouse_3065xy_set_cpi4
+	branch p_mouse_3065xy_set_cpi3
+p_mouse_8650xy_dpi_recount:
+	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
+	rtn
+p_mouse_8650xy_set_cpi1:
+//	jam 1,mem_mouse_dpi_blink_count
+//	fetch 1,mem_320x_dpi_1
+//	increase -1,pdata
+//	branch mouse_p3205_dpi
+//	jam 2,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_4
+	branch mouse_p3205_dpi
+//p_mouse_8650xy_set_cpi2:
+//	fetch 1,mem_3065xy_dpi_2
+//	branch mouse_p3205_dpi	
+p_mouse_8650xy_set_cpi3:
+//	jam 2,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_2
+	branch mouse_p3205_dpi
+p_mouse_8650xy_set_cpi4:
+//	jam 3,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_3
+	branch mouse_p3205_dpi
+
+p_mouse_seting_3065XY_dpi:
+	fetch 1,mem_mouse_dpi
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3065xy_dpi_recount,zero
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,p_mouse_3065xy_set_cpi1
+	beq MOUSE_DPI_LEVEL2,p_mouse_3065xy_set_cpi2
+	beq MOUSE_DPI_LEVEL3,p_mouse_3065xy_set_cpi3
+	beq MOUSE_DPI_LEVEL4,p_mouse_3065xy_set_cpi4
+	branch p_mouse_3065xy_set_cpi3
+p_mouse_3065xy_dpi_recount:
+	jam MOUSE_DPI_LEVEL3,mem_mouse_dpi
+	rtn
+p_mouse_3065xy_set_cpi1:
+	jam 1,mem_mouse_dpi_blink_count
+	fetch 1,mem_320x_dpi_1
+	increase -1,pdata
+	branch mouse_p3205_dpi
+p_mouse_3065xy_set_cpi2:
+	fetch 1,mem_3065xy_dpi_2
+	branch mouse_p3205_dpi	
+p_mouse_3065xy_set_cpi3:
+	jam 2,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_3
+	branch mouse_p3205_dpi
+p_mouse_3065xy_set_cpi4:
+	jam 3,mem_mouse_dpi_blink_count
+	fetch 1,mem_3065xy_dpi_4
+	branch mouse_p3205_dpi
+	
+p_mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	sub pdata,MOUSE_DPI_LEVEL2,null
+	call p_mouse_3205_dpi_recount,zero
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi1
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi3
+	beq MOUSE_DPI_LEVEL4,mouse_set_p3212_cpi4
+	branch mouse_set_p3212_cpi3
+
+p_mouse_bb_event_discovery_btn:
+	jam 0,mem_mouse_null_enter_hibernate_flag
+	jam 0,mem_mouse_null_enter_hibernate_timer
+	bmark1 mark_24g,p_mouse_switch_to_bt
+	branch mouse_bb_event_discovery_btn+1
+p_mouse_switch_to_bt:
+	call p_g24_check_51cmd_stop_24g
+	branch mouse_bb_event_discovery_btn+1
+
+
+p_le_addr_random_config:
+	call load_adc_init
+	fetch 2,mem_0_5_adc_io_data	//adc data from otp
+	branch p_le_otp_adc_empty,blank
+	store 2,mem_random_addr_increase_count
+p_le_addr_random_store:
+	branch p_mouse_store_eerpom_random_addr_increase_count
+
+p_le_otp_adc_empty:
+	setarg 0x1122
+	store 2,mem_random_addr_increase_count
+	branch p_le_addr_random_store
+
+p_mouse_start_discovery:
+	call p_mouse_tx_power_init
+	jam 0,mem_mouse_clear_sensor_data_flag
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BLE_ADV,p_mouse_start_discovery_norandom
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,p_mouse_start_discovery_norandom
+
+	call p_mouse_load_eeprom_random_addr_increase_count
+	fetcht 2,mem_random_addr_increase_count
+	increase 1,temp
+	storet 2,mem_random_addr_increase_count
+	storet 2,mem_le_lap+1
+	call p_mouse_store_eerpom_random_addr_increase_count
+	random pdata
+	store 1,mem_le_lap
+
+p_mouse_start_discovery_norandom:
+	call app_lpm_mult_disable
+	fetch 2,mem_discovery_timeout
+	store 2,mem_mouse_discovery_timer
+	jam 6,mem_connection_options
+	setarg 0
+	store 2,mem_mouse_no_data_timer
+	store 2,mem_mouse_direct_timer
+	arg MOUSE_STORE_EEPROM_FLAG,queue
+	call mouse_enable_function_flag
+	call mouse_bt_discovery_button_down_disable
+	fetch 1,mem_device_option
+	isolate1 MODE_4_MOUSE,pdata
+	call p_check_51cmd_adv,true
+	branch mouse_start_discovery_norandom+13
+
+p_mouse_store_eerpom_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	branch iicd_write_protect_eep_data
+	
+p_mouse_load_eeprom_random_addr_increase_count:
+	arg 2,temp
+	arg mem_random_addr_increase_count,rega
+	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
+	branch iicd_read_eep_data
+
+p_check_51cmd_adv:
+	jam 0,mem_mouse_le_reconnect_flag
+	call p_le_check_adv_flag
+	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
+	istore 1,contr
+	branch check_51cmd_adv
+
+p_mouse_stop_discovery:
+		setarg 0
+	store 2,mem_mouse_discovery_timer
+	call p_mouse_sensor_poweron		//clear sensor data,confirm the motion pin high
+	branch mouse_stop_discovery+1
+
+ifdef BLE
+p_le_slave_match:
+	fetch 1,mem_le_md_count
+	pincrease 1
+	store 1,mem_le_md_count
+	beq LE_MD_MAX_COUNT,le_slave_cont
+	call le_acknowledge
+	call le_prepare_tx
+	call power_ctrl_start
+	branch le_slave_match+7
+
+p_le_next_adv_channel:
+	fetch 1,mem_le_ch_mapped
+	increase 1,pdata
+	store 1,mem_le_ch_mapped
+	rtnne 40
+	jam 37,mem_le_ch_mapped
+	rtn
+
+p_le_receive_skip:
+	call save_rssi
+	call p_rssi_signal
+	branch le_receive_skip+2
+
+p_le_update_param:
+	call p_mouse_le_conn_param_check
+	branch le_update_param+8
+p_mouse_le_lpm_mult_reinit:
+	fetch 1,mem_lpm_mult_init
+	store 1,mem_lpm_mult
+p_mouse_le_conn_param_lpm_enable:
+	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
+	rtn
+p_mouse_le_conn_param_lpm_disable:
+	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
+	rtn
+p_mouse_le_conn_param_check:
+	fetch 1,mem_le_new_conninterval
+	sub pdata,LE_INTERVAL_15MS,null
+	nbranch p_mouse_le_conn_param_lpm_disable,positive
+	fetch 1,mem_le_new_connslavelatency
+	fetcht 1,mem_lpm_mult_init
+	isub temp,null
+	branch p_mouse_le_lpm_mult_reinit,positive
+	fetch 1,mem_le_new_connslavelatency
+	store 1,mem_lpm_mult
+	branch p_mouse_le_conn_param_lpm_enable
+
+p_le_prepare_tx:
+	fetch 1,mem_le_arq
+	bbit1 wak,p_le_prepare_tx_wak
+	call power_ctrl_pac_succ_incrs	
+	fetch 1,mem_empty_count
+	nbranch p_le_send_empyt,blank
+	fetch 1,mem_le_state 
+	bbit0 lestate_encryption,p_le_tx_4
+	fetch 1,mem_le_rxbuf+1  
+	branch p_le_tx_4,blank  
+	branch le_send_empty      // send empty data when got non empty packet
+p_le_send_empyt:
+	fetch 1,mem_empty_count
+	increase -1,pdata
+	store 1,mem_empty_count
+	branch le_send_empty
+p_le_tx_4:	
+	fetch 1,mem_le_pairing_state
+	bne FLAG_LE_PAIRING_AFTER_AUTH,p_in_le_tx_4
+	jam 3,mem_empty_count
+p_in_le_tx_4:
+	call le_fifo_check_nearly_full
+	call p_mouse_data_pull,blank
+	branch le_prepare_tx+4
+
+p_le_prepare_tx_wak:
+	call p_le_check_tx_retransmit_setmd
+	branch p_le_power_ctrl_pac_succ_decrs
+
+p_le_check_tx_retransmit_setmd:
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtnne 0x03
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	fetch 1,mem_le_txlen
+	rtn blank
+	fetch 1,mem_le_txheader
+	set1 md,pdata
+	store 1,mem_le_txheader
+	call le_set_md
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_LE_RETRANSMIT_MD
+	store 2,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	rtn
+
+	
+	
+p_le_power_ctrl_pac_succ_decrs:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_LE_RETRANSMIT
+	store 2,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	branch power_ctrl_pac_succ_decrs
+
+p_mouse_le_reconn_write_enable_timer_reinit:
+	fetch 1,mem_mouse_le_reconnect_flag
+	rtn blank
+	fetch 1,mem_le_connect_status_flag
+	and pdata,0x03,pdata
+	rtneq 0x03
+	jam 10,mem_le_start_encrypt_timer
+	rtn
+
+p_le_parse_l2cap:
+	ifetch 2,contr
+	beq LE_L2CAP_CID_ATT,p_le_parse_att
+	beq LE_L2CAP_CID_SMP,p_le_parse_smp
+	branch le_parse_l2cap+11
+p_le_parse_att:
+	call store_contr
+	call p_mouse_le_reconn_write_enable_timer_reinit
+	call get_contr
+	ifetch 3,contr
+	store 3,mem_le_att_opcode
+	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,p_le_parse_att_read_by_group_type_request
+	rshift8 pdata,temp
+	sub temp,0x24,null
+	branch le_parse_att+2,positive
+	arg mem_mouse_le_uuid_sup,temp
+	storet 2,mem_ui_le_uuid_table
+	call le_parse_att+2
+	setarg 0x8e7a
+	store 2,mem_ui_le_uuid_table
+	rtn
+
+p_le_parse_att_read_by_group_type_request:
+	call le_parse_att_read_by_group_type_request
+	call le_fifo_get_last_tx_ptr
+	increase 7,contr
+	ifetch 1,contr
+	rtnne ATTOP_READ_BY_GROUP_TYPE_RESPONSE
+	increase 5,contr
+	ifetch 2,contr
+	arg UUID_SERVICE_HIDS,temp
+	isub temp,null
+	nrtn zero
+	increase -4,contr
+	setarg 0x2b
+	istore 2,contr
+	rtn
+
+p_le_parse_smp:
+	ifetch 1,contr
+	beq SMP_PAIRING_FAILED,p_le_parse_smp_pairing_failed
+	branch le_parse_smp+1
+p_le_parse_smp_pairing_failed:
+	call le_parse_smp_pairing_failed
+	fetch 1,mem_le_state	//disable update conn param
+	set0 lestate_update_param,pdata
+	store 1,mem_le_state
+	branch le_parse_terminate_ind
+
+p_le_adv_not_match:
+	fetch 1,mem_le_ch_mapped
+	bne 39,le_adv_loop
+	call p_le_adv_random_delay
+	arg le_adv_interval_timer,queue
+	fetch 2,mem_le_adv_interval
+	branch timer_init
+p_le_adv_random_delay:
+	random pdata
+	arg 0x1ff,temp
+	iand temp,pdata
+	add pdata,250,pdata
+	branch delay
+
+p_le_lpm_setmult:
+	disable wake
+	branch p_le_lpm_set_mult_attempt,attempt
+	nbranch le_lpm_lost,match
+p_le_lpm_set_mult_attempt:
+	call lpm_match
+	fetch 2,mem_rx_window_sniff
+	store 2,mem_le_receive_window
+	fetch 1,mem_le_connect_status_flag
+	compare 3,pdata,3
+	nbranch lpm_mult_short,true
+	branch le_lpm_set_mult_attempt+3
+
+p_le_mouse_bb_event_connect_complete:
+	fetch 1,mem_mouse_le_reconnect_flag
+	nrtn blank
+	fetch 1,mem_le_att_handle
+	sub pdata,26,pdata
+	nrtn zero
+	branch mouse_le_write_enable
+endif
+
+p_twspi_reset:
+	hfetch 1,core_gpio_out3
+	and_into 0xfd,pdata
+	hstore 1,core_gpio_out3
+	hfetcht 1,core_gpio_oe3
+	or_into 0x2,temp
+	hstoret 1,core_gpio_oe3
+	call twspi_disable
+	and_into 0xfd,temp
+	nop 13
+	call twspi_enable
+	hstoret 1,core_gpio_oe3
+	rtn
+
+
+
+ifdef CLASSIC_BT
+p_page_wait_fhs_reply_ok:
+ 	fetch 1, mem_page_rcv_fhs
+	increase 1,pdata
+	store 1, mem_page_rcv_fhs
+	call prepare_newconn
+p_master_newconn_loop:
+ 	set1 mark_first_packet,mark
+	call master_newconn_once
+	branch p_newconn_poll_responded,sync
+	set0 mark_first_packet,mark
+	call new_conn_timeout
+	nbranch p_master_newconn_loop,blank
+	branch page_restart	
+
+p_newconn_poll_responded:
+	set0 mark_first_packet,mark
+	branch newconn_poll_responded
+
+p_process_dmh:
+	bmark1 mark_first_packet,end_of_packet			
+	branch process_dmh+1
+
+p_prepare_tx:
+	fetch 1,mem_state
+	isolate1 state_inconn,pdata
+	call p_bt_power_ctrl,true
+	branch prepare_tx+1
+p_bt_power_ctrl:
+	fetch 1,mem_arq
+	isolate1 wack,pdata
+	call power_ctrl_pac_succ_decrs,true
+	ncall power_ctrl_pac_succ_incrs,true
+	branch power_ctrl_start
+
+p_slave_conn_recv_packet:
+	call slave_receive_master_slot
+	nbranch shutdown_radio,sync
+	call save_rssi
+	call p_rssi_signal
+	branch slave_conn_recv_packet+4
+
+p_lpm_dispatch:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	rtn blank
+	fetch 1,mem_lpm_mode
+	rtn blank
+	fetch 1,mem_ssp_enable
+	branch p_lpm_dispatch_next,blank
+	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
+	rtn blank
+p_lpm_dispatch_next:
+	fetch 1,mem_le_sc_calc
+	nrtn blank
+	call lpm_check_wake_lock
+	nrtn blank
+	fetch 1,mem_context
+	compare 3,pdata,0x7							//sco won't sleep 
+	nbranch lpm_dispatch_unconn,true
+	fetch 2,mem_context + coffset_tsniff	//role switch 
+	arg 0xffff,temp
+	isub temp,null
+	rtn zero
+	branch lpm_dispatch_next+9
+
+p_app_bt_start_reconnect:
+	branch app_bt_start_reconnect+3
+
+p_mouse_bb_disconnected:
+	jam 0,mem_mouse_enter_sniff_count
+	jam 0x0e,mem_sniff_param_interval	//115Hz
+	call mouse_bb_discon_clear_stack
+	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
+	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
+	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
+	bbit1 APP_DISC_AFTER_PAIRING,p_mouse_event_light_state_pairing
+	bbit1 APP_DISC_AFTER_RECONN,p_mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,p_mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+	
+p_mouse_event_light_state_pairing:
+	bbit1 APP_DISC_AFTER_HANDSHAKE,p_mouse_event_light_state_hibernate
+	bbit1 APP_DISC_AFTER_SNIFF,p_mouse_event_light_state_hibernate
+	branch mouse_start_discovery
+p_mouse_event_light_state_hibernate:
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
+	call app_disconn_reason_clear
+	call p_mouse_check_key_gpio
+	beq MOUSE_LMR_BUTTON,p_mouse_null_enter_hibernate_enable
+	branch app_bb_hibernate
+
+p_hid_rx_process:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	ifetch 1,contr
+	store 1,mem_l2cap_rcv
+	and pdata,0x0f,temp
+	rshift4 pdata,pdata //hidtype
+	beq hid_type_set_protocol,p_hid_rx_set_protocol
+	branch hid_rx_process+6
+p_hid_rx_set_protocol:
+	call hid_rx_process_handshake
+	jam 0,mem_mouse_bt_boot_mode
+	fetch 1,mem_l2cap_rcv
+	isolate1 0,pdata
+	rtn true
+	jam 1,mem_mouse_bt_boot_mode	//boot mode
+	rtn
+
+p_parse_lmp_accepted:
+	fetch 1,mem_rxbuf+1
+	store 1,mem_lmi_accepted_opcode
+	beq LMP_SWITCH_REQ,p_parse_lmp_accepted_switch
+	branch parse_lmp_accepted+3
+p_parse_lmp_accepted_switch:
+	call parse_lmp_accepted_switch
+p_parse_send_lmp_accepted_switch:
+	jam 1,mem_bt_rcvd_switch_req_accept
+	rtn
+
+
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+
+ifdef DEBUGLOG
+ifdef DEBUGLOG_SEND_LMP
+	setarg DEBUGLOG_DTYPE_SEND_LMP
+	store 2,mem_debuglog_datatype
+//	fetch 1,mem_lmi_opcode
+//	store 1,mem_debuglog_dataval+1
+//	fetch 1,mem_lmp_to_send
+//	store 1,mem_debuglog_dataval
+	fetch 1,mem_lmp_to_send
+	store 2,mem_debuglog_dataval
+	ncall debuglog_push,blank
+endif
+endif
+	
+	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,p_send_lmp_escape
+	beq LMP_ACCEPTED,p_send_lmp_accepted
+	beq LMP_SETUP_COMPLETE,p_send_lmp_setup_complete
+	branch send_lmp0
+p_send_lmp_escape:
+	beq LMP_EXT_FEATURES_RES,p_send_lmpext_features_res
+	beq LMP_EXT_FEATURES_REQ,p_send_lmpext_features_req	
+	branch send_lmp_escape
+p_send_lmpext_features_res:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_res
+p_send_lmpext_features_req:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_req
+p_check_ssp_enable:
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable,blank
+	branch ssp_enable
+
+p_send_lmp_setup_complete:
+	fetch 1,mem_device_option
+	sub pdata,dvc_op_module,null
+	call send_lmp_setup_complete_by_module,zero
+	fetch 1,mem_state
+	set1 state_conn_comp,pdata
+	store 1,mem_state
+//	copy clkn_bt,pdata
+//	store 4,mem_aurand_send_delay_time
+	branch send_lmp_setup_complete+8
+
+//p_sdp_process:
+//	call enable_authrom
+//	branch sdp_process+1
+
+p_send_lmp_accepted:
+	force 2,pdata
+	call msg_send_lmp
+	fetch 1,mem_lmi_opcode
+	istore 1,contw
+	store 1,mem_lmi_opcode_temp
+	call send_lmp_follow
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_lmi_opcode_temp
+	store 1,mem_debuglog_dataval
+	call debuglog_push	
+endif
+endif
+	fetch 1,mem_lmi_opcode_temp
+	branch send_lmp_accepted+7
+ifdef DEBUGLOG
+p_parse_lmp_opcode:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_PARSE_LMP
+	setarg DEBUGLOG_DTYPE_PARSE_LMP
+	store 2,mem_debuglog_datatype
+//	fetch 1,mem_rxbuf+1
+//	store 1,mem_debuglog_dataval+1 
+//	fetch 1,mem_lmi_opcode2
+//	store 1,mem_debuglog_dataval
+	fetch 1,mem_lmi_opcode2
+	store 2,mem_debuglog_dataval
+	call debuglog_push 
+endif
+endif
+	branch parse_lmp+21
+
+p_process_conn_sm:
+	//nrtn master
+	call lmo_fifo_check
+	nrtn blank
+p_process_conn_sm_continue:
+	fetch 1,mem_conn_sm
+	rtn blank
+ifdef DEBUGLOG
+ifdef DEBUGLOG_CONN_SM
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_CONN_SM
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_conn_sm
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	beq CONN_SM_SEND_CONN_REQ, p_host_create_conn_send_conn_req
+	branch process_conn_sm_continue+2
+
+p_host_create_conn_send_conn_req:
+	jam 20,mem_mouse_send_switch_req_timer
+	branch host_create_conn_send_conn_req
+
+	
+
+p_process_upper_sm_reconn:
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+ifdef DEBUGLOG
+ifdef DEBUGLOG_UPPER_SM
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_UPPER_SM
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_upper_sm_reconn
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	branch process_upper_sm_reconn+3
+
+endif	
+
+endif
+	
+ifdef DEBUGLOG
+p_ui_ipc_send_event:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_EVENT
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_EVENT
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_fifo_temp
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push	
+endif
+endif
+	branch ui_ipc_send_event+1
+
+p_ui_ipc_send_cmd:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_CMD
+	call pdata_push
+	setarg DEBUGLOG_DTYPE_CMD
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_fifo_temp
+	store 2,mem_debuglog_dataval
+	call pdata_pull
+	call debuglog_push
+endif
+endif
+	branch ui_ipc_send_cmd+1
+endif
+	
+p_g24_set_device_addr:
+	call adc_init_data
+//	fetch 4,mem_0_5_adc_io_data	//adc data from otp
+//	store 4,mem_24g_device_addr	
+//	nrtn blank
+	fetch 4,mem_lap
+	store 4,mem_24g_device_addr
+	rtn
+
+
+p_g24_transmit_rf_sta_init:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_sync_cnt
+p_g24_transmit_rf_ctrl_clear:	
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_data_type
+	rtn
+	
+p_g24_hop_ch_enable:
+	fetch 1,mem_24g_data_type
+	set1 bit_hop,pdata
+	store 1,mem_24g_data_type
+	//update txpayload
+	store 1,mem_24g_txpayload
+	rtn
+p_g24_hop_ch_disable:
+	fetch 1,mem_24g_data_type
+	set0 bit_hop,pdata
+	store 1,mem_24g_data_type
+	rtn	
+
+p_g24_transmit_hop_pac_fail:
+	call power_ctrl_pac_succ_decrs
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_fail_wo_hop
+	beq 2,p_g24_transmit_hop_pac_fail_hop_stage2
+	rtn
+p_g24_transmit_hop_pac_fail_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_fail_stage1:	
+	jam 0,mem_24g_hop_pac_retry
+	jam 0,mem_24g_rf_last_sta
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_fail_hop_stage2:
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_hop_pac_fail_stage1
+
+	
+p_g24_transmit_pac_fail_hop_stage3:
+	fetch 2,mem_24g_txfail_cnt
+	increase 1,pdata
+	store 2,mem_24g_txfail_cnt
+	bbit1 10,p_g24_tx_attempt_fail	//1024ms * 8
+	fetch 1,mem_24g_rf_hop_ch
+	beq 1,p_g24_rf_hop_fastly
+	jam 1,mem_24g_rf_hop_ch
+p_g24_rf_hop_attemp_again:
+	fetch 1,mem_24g_rf_hop_ch
+	bne 1,p_g24_transmit_rf_ctrl_clear
+p_g24_rf_hop_fastly:
+	fetch 1,mem_24g_hop_fastly_cnt
+	increase 1,pdata
+	store 1,mem_24g_hop_fastly_cnt
+	beq 4,p_g24_rf_hop_fastly_exit
+	call p_g24_ch
+	jam 2,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_rf_hop_fastly_exit:
+	call power_ctrl_pac_succ_decrs
+	jam 0,mem_24g_hop_fastly_cnt
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_hop_pac_succ_wo_hop:
+	jam 2,mem_24g_sync_cnt
+p_g24_transmit_hop_pac_succ:
+	jam 1,mem_24g_rf_last_sta
+	jam 0,mem_24g_rf_hop_ch
+	branch p_g24_transmit_rf_ctrl_clear
+
+p_g24_transmit_succ_rf_config:
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_hop_pac_succ
+	fetch 1,mem_24g_data_type
+	isolate0 bit_hop,pdata
+	branch p_g24_transmit_rf_sta_init,true
+	fetch 1,mem_24g_rf_work_stage
+	beq 1,p_g24_transmit_hop_pac_succ_wo_hop
+	beq 2,p_g24_transmit_hop_pac_succ
+	rtn
+
+p_g24_rf_sta_check:
+	fetch 1,mem_24g_pairing_sm
+	rtnne STATE_24G_PAIRING_SUCCESS
+	call p_g24_rf_laststa_synccnt_check
+	ncall p_g24_rf_sync_cnt_check,user2
+	rtn
+
+p_g24_rf_laststa_synccnt_check:
+	disable user2
+	fetch 1,mem_24g_rf_last_sta
+	rtnne 1
+	fetch 1,mem_24g_sync_cnt
+	rtnne 0
+	jam 1,mem_24g_rf_work_stage
+	jam 4,mem_24g_max_retry
+	branch enable_user2
+
+p_g24_rf_sync_cnt_check:
+	fetch 1,mem_24g_sync_cnt
+	branch p_g24_rf_hop_attemp,blank
+	increase -1,pdata
+	store 1,mem_24g_sync_cnt
+	jam 2,mem_24g_rf_work_stage
+	call p_g24_ch
+	jam 4,mem_24g_max_retry
+	rtn
+
+p_g24_rf_hop_attemp:
+	jam 3,mem_24g_rf_work_stage
+	fetch 1,mem_24g_rf_hop_ch
+	nbranch p_g24_rf_hop_attemp_again,blank
+	call p_g24_ch
+	jam 2,mem_24g_max_retry
+	rtn
+
+p_g24_txdata_prep:
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_pairing_sm	
+p_g24_txdata_prep_packeage_data:
+	call p_g24_package_data
+	call p_g24_transmit_prep
+p_g24_txdata_enable_tx:
+	jam ENSURE_ON_24G,mem_24g_ensure
+	rtn
+
+p_g24_package_data:
+	fetch 2,mem_cb_24g_data
+	call callback_func
+	branch p_g24_accumulate_mouse_data,user
+	fetch 7,mem_24g_txbuf+1	//mouse data
+	rtn blank
+	branch enable_user	// retransmit
+p_g24_accumulate_mouse_data:
+	call p_mouse_data_xy_release
+	jam 0,mem_24g_abort_pac
+	add rega,1,pdata
+	store 1,mem_24g_datalen
+	call p_g24_transmit_rf_ctrl_clear
+	store 1,mem_24g_txbuf
+	ifetcht 1,contw
+	ifetch 1,regb
+	ior temp,pdata
+	istore 1,contw
+	increase 1,regb
+	arg 2,loopcnt
+p_g24_accumulation_loop:
+	ifetch 2,regb
+//	ifetcht 2,contw
+//	iadd temp,pdata
+	istore 2,contw
+	increase 2,regb
+	loop p_g24_accumulation_loop
+	arg mem_24g_txbuf+6,contw
+	arg 2,loopcnt
+p_g24_accumulation_loop2:
+	ifetch 1,regb
+	ifetcht 1,contw
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regb
+	loop p_g24_accumulation_loop2
+	rtn
+
+p_mouse_data_xy_release:
+	fetch 1,mem_config_function_enable
+	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+	fetch 1,mem_mouse_long_mult_flag
+	rtnne 1
+	setarg 0
+	store 1,mem_mouse_long_mult_flag
+	store 4,mem_mouse_x
+	branch p_mouse_sensor_poweron
+
+p_g24_transmit_packet:
+	jam 0,mem_24g_retry
+p_g24_transmit_loop:
+	arg param_rx_setup,timeup
+	until clkn_rt,meet
+	call p_g24_transmit_receive_ack
+	fetch 1,mem_24g_no_ack	//tx noack
+	rtneq no_ack_24g
+	nbranch p_g24_retransmit,sync
+	nbranch p_g24_retransmit,user3
+	call p_g24_txbuf_clear
+	call p_g24_ackpayload_parse
+	call power_ctrl_pac_succ_incrs
+p_g24_transmit_next_packet:
+	fetch 1,mem_24g_pid
+	increase 1,pdata
+	store 1,mem_24g_pid
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_paring_mode_start
+	call p_g24_transmit_succ_rf_config
+p_g24_transmit_abandon:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+	store 1,mem_24g_get_ack_fail
+	store 1,mem_24g_hop_pac_retry
+	jam ENSURE_OFF_24G,mem_24g_ensure
+	rtn
+
+p_g24_txbuf_clear:
+	arg 4,loopcnt
+	arg mem_24g_txbuf,contw
+	branch memset0
+
+p_g24_paring_mode_start:
+	call power_ctrl_pac_succ_cnt_init
+	branch p_g24_paring_mode
+
+p_g24_transmit_receive_ack:
+	disable user3
+	call p_g24_transmit
+	
+ifdef RF_DEBUG
+	call test_gpio_low
+endif
+
+	fetch 1,mem_24g_no_ack
+	beq no_ack_24g,p_g24_transmit_no_ack	//tx no ack
+	force 0,radio_ctrl
+	fetch 4,mem_24g_addr
+	iforce access
+	fetcht 1,mem_last_freq
+	call set_freq_rx
+	call rf_rx_enable
+	call p_g24_receive_rxon
+	call p_g24_end_of_packet,user3
+	rtn
+p_g24_transmit_no_ack:
+	call p_g24_end_of_packet
+	branch p_g24_transmit_next_packet
+
+p_g24_retransmit:
+	fetch 1,mem_24g_get_ack_fail
+	increase 1,pdata
+	store 1,mem_24g_get_ack_fail
+	fetch 1,mem_24g_pairing_sm
+	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
+	fetcht 1,mem_24g_retry
+	increase 1,temp
+	storet 1,mem_24g_retry
+	fetch 1,mem_24g_max_retry
+	isub temp,pdata
+	nbranch p_g24_transmit_loop,blank
+	fetch 1,mem_24g_rf_work_stage
+	beq 3,p_g24_transmit_pac_fail_hop_stage3
+	fetch 1,mem_24g_hop_pac_retry
+	increase 1,pdata
+	store 1,mem_24g_hop_pac_retry
+	beq 2,p_g24_transmit_hop_pac_fail
+	call p_g24_hop_ch_enable
+	jam 1,mem_24g_max_retry
+	branch p_g24_transmit_packet
+
+p_g24_tx_paring_retry:
+	fetch 1,mem_24g_get_ack_fail
+	rtnne 0xff
+	jam 0,mem_24g_get_ack_fail
+	branch p_g24_stop_g24_mode
+
+p_g24_tx_attempt_fail:
+	setarg 0
+	store 2,mem_24g_txfail_cnt
+p_g24_stop_g24_mode:
+	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
+	branch ui_ipc_send_event
+
+p_g24_ackpayload_parse:
+	call p_g24_read_len_pid_crc
+	fetch 1,mem_24g_rxdata_length	//ack payload length 
+	rtn blank
+	iforce loopcnt
+	arg mem_24g_rxbuf+2,contr
+	arg mem_24g_rxpayload,contw	//ack payload buffer 
+	branch memcpy
+
+power_ctrl_pac_succ_cnt_init:
+	jam 1,mem_power_ctrl_level
+	jam 0,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_incrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	increase 1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_decrs:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	ncall power_ctrl_pac_succ_cnt_reinit,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtneq 0
+	increase -1,pdata
+	store 1,mem_power_ctrl_pac_succ_cnt
+	rtn
+power_ctrl_pac_succ_cnt_reinit:
+	jam 3,mem_power_ctrl_pac_succ_cnt
+	rtn
+
+power_ctrl_start:
+	fetch 2,mem_ui_state_map
+	rtnbit1 UI_STATE_BLE_ADV
+	rtnbit1 UI_STATE_BT_RECONNECT
+	rtnbit1 UI_STATE_BT_DISCOVERY
+
+	arg mem_rssi_signal_buf,rega
+	call p_rssi_average
+	storet 1,mem_rssi_avg_received
+
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	store 1,mem_debuglog_dataval
+	fetch 1,mem_rssi_avg_received
+	store 1,mem_debuglog_dataval+1
+	call debuglog_push	
+endif
+endif
+	
+	isolate1 mark_24g,mark
+	call power_ctrl_24g_dis_max,true
+	ncall power_ctrl_le_dis_max,true
+	isub temp,null
+	nbranch power_ctrl_txpower_incrs_force,positive
+
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	sub pdata,2,null
+	nbranch power_ctrl_txpower_decrs_check,positive
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	beq 0,power_ctrl_txpower_incrs
+	rtn
+
+power_ctrl_24g_dis_max:
+	setarg RSSI_DIS_MAX_24G
+	rtn
+power_ctrl_24g_dis_min:
+	setarg RSSI_DIS_MIN_24G
+	rtn	
+power_ctrl_le_dis_max:
+	setarg RSSI_DIS_MAX_BLE
+	rtn
+power_ctrl_le_dis_min:
+	setarg RSSI_DIS_MIN_BLE
+	rtn
+	
+power_ctrl_txpower_decrs_check:
+	fetch 1,mem_power_ctrl_pac_succ_cnt
+	rtnne 32
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_decrs:
+	fetcht 1,mem_rssi_avg_received
+	isolate1 mark_24g,mark
+	call power_ctrl_24g_dis_min,true
+	ncall power_ctrl_le_dis_min,true
+	isub temp,null
+	nrtn positive
+	fetch 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+	increase -1,pdata
+	store 1,mem_power_ctrl_level
+	beq 0,power_ctrl_decrs_level0
+power_ctrl_decrs_level1:
+power_ctrl_incrs_level1:	//0dBm
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_TXPOWER_1
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	jam TX_POWER_0DB,mem_tx_power
+	rtn
+
+power_ctrl_txpower_incrs_force:
+	jam 0,mem_power_ctrl_pac_succ_cnt
+power_ctrl_txpower_incrs:
+	fetch 1,mem_power_ctrl_level
+	beq 2,power_ctrl_incrs_level2
+	increase 1,pdata
+	store 1,mem_power_ctrl_level
+	beq 1,power_ctrl_incrs_level1
+power_ctrl_incrs_level2:	//+6dBm
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_TXPOWER_2
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+
+	jam TX_POWER_5DB,mem_tx_power
+	rtn
+	
+power_ctrl_decrs_level0: //-5dBm
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_TXPOWER_0
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+
+	jam TX_POWER_f5DB,mem_tx_power
+	rtn
+	
+p_g24_start_pairing_sm1:
+	set1 mark_24g,mark
+	call p_g24_pair_init
+p_g24_set_pairing_sm_1:
+	jam STATE_24G_PAIRING_1,mem_24g_pairing_sm
+	rtn
+
+p_g24_pair_init:
+	jam TX_POWER_PAIR,mem_tx_power
+	jam 0,mem_24g_pid
+	jam G24_PAIR_CH,mem_24g_ch
+	fetch 4,mem_24g_paring_addr
+	branch p_g24_update_addr_and_synccrc8
+
+p_g24_pairing_sm:
+	fetch 1,mem_24g_ensure
+	beq ENSURE_ON_24G,enable_user
+	fetch 1,mem_24g_pairing_sm
+	beq STATE_24G_PAIRING_1,p_g24_pairing_sm_1
+	beq STATE_24G_PAIRING_2,p_g24_pairing_sm_2
+	beq STATE_24G_PAIRING_3,p_g24_pairing_sm_3
+	branch assert
+
+p_g24_pairing_sm_1:
+	jam STATE_24G_PAIRING_1_WAITING_ACK,mem_24g_pairing_sm
+	jam 0xaa,mem_24g_common_temp
+	branch p_g24_pairing_sm_common
+p_g24_pairing_sm_2:
+	jam STATE_24G_PAIRING_2_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x55,mem_24g_common_temp
+	branch p_g24_pairing_sm_common
+p_g24_pairing_sm_3:
+	jam STATE_24G_PAIRING_3_WAITING_ACK,mem_24g_pairing_sm
+	jam 0x22,mem_24g_common_temp
+p_g24_pairing_sm_common:
+	fetch 1,mem_24g_data_type
+	and_into bits_data,pdata
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+p_g24_put_pairing_data_in_buff:
+	jam 0,mem_24g_common_temp+6
+	arg mem_24g_common_temp,rega
+	arg 7,temp
+	call p_g24_put_data_in_buff
+	call p_g24_transmit_prep
+	call p_g24_txdata_enable_tx
+	branch enable_user
+
+p_g24_paring_mode:
+	fetch 1,mem_24g_pairing_sm
+	rtneq STATE_24G_PAIRING_SUCCESS
+	beq STATE_24G_PAIRING_1_WAITING_ACK,p_g24_pairing_sm_1_waiting_ack
+	beq STATE_24G_PAIRING_2_WAITING_ACK,p_g24_pairing_sm_2_waiting_ack
+	beq STATE_24G_PAIRING_3_WAITING_ACK,p_g24_pairing_sm_3_waiting_ack
+	rtn
+
+
+p_g24_pairing_sm_1_waiting_ack:
+	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+p_g24_pairing_sm_2_waiting_ack:
+	jam STATE_24G_PAIRING_3,mem_24g_pairing_sm
+	branch p_g24_transmit_abandon
+p_g24_pairing_sm_3_waiting_ack:
+	jam STATE_24G_PAIRING_SUCCESS,mem_24g_pairing_sm
+	jam BT_EVT_24G_PAIRING_COMPLETE,mem_fifo_temp
+	call ui_ipc_send_event	
+	fetch 4,mem_24g_rxpayload+2
+	call p_g24_update_addr_and_synccrc8
+	branch p_g24_transmit_abandon
+
+//p_g24_start_24g_mode:
+//	set0 mark_24g,mark
+//	call p_g24_ch_syncword_crc8_init
+//	fetch 1,mem_24g_pairing_sm
+//	rtnne STATE_24G_PAIRING_SUCCESS
+//	call p_g24_tx_attemp_data_prep
+//p_g24_tx_attemp_dongle:
+//	setarg 0
+//	store 2,mem_24g_check_dongle_times
+//p_g24_tx_attemp_dongle_loop:
+//	call lpo_calibration
+//	nop 2000
+//	fetch 1,mem_24g_check_dongle_times
+//	beq 0xff,p_g24_stop_g24_mode
+//	call p_g24_transmit_receive_ack
+//	nbranch p_g24_attemp_txdata_retry,sync
+//	nbranch p_g24_attemp_txdata_retry,user3
+p_g24_tx_attemp_dongle_succ:
+	set1 mark_24g,mark
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+	jam 0,mem_mouse_long_mult_flag
+	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
+	call ui_ipc_send_event
+	call p_g24_txbuf_clear
+	branch p_g24_transmit_by_interrupt_enable
+
+p_g24_tx_attemp_data_prep:
+	jam 0xff,mem_24g_common_temp
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_common_temp+1
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_common_temp+2
+	arg 6,temp
+	arg mem_24g_common_temp,rega
+	call p_g24_put_data_in_buff
+	branch p_g24_transmit_prep
+	
+//p_g24_attemp_txdata_retry:
+//	fetch 2,mem_24g_check_dongle_times
+//	increase 1,pdata
+//	store 2,mem_24g_check_dongle_times
+//	call p_g24_ch
+//	branch p_g24_tx_attemp_dongle_loop
+
+p_g24_auto_pair_start:
+	setarg 0
+	store 2,mem_24g_pair_current_ch_num
+	set0 mark_24g,mark
+	call p_g24_auto_pair_first_attemp
+	call p_g24_tx_attemp_data_prep
+p_g24_auto_pair_restart:
+	setarg 0
+	store 2,mem_24g_check_dongle_times
+//	jam 0,mem_24g_check_dongle_times
+p_g24_auto_pair_start_loop:
+	call lpo_calibration
+	nop 2000
+	fetch 2,mem_24g_check_dongle_times
+	arg 0x7788,temp		//30s
+	isub temp,null
+	branch p_g24_stop_g24_mode,zero
+//	fetch 1,mem_24g_check_dongle_times
+//	beq 0xff,p_g24_stop_g24_mode
+	call p_g24_transmit_receive_ack
+	nbranch p_g24_auto_pair_retry,sync
+	nbranch p_g24_auto_pair_retry,user3
+	call p_g24_ackpayload_parse
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_addr
+	fetcht 4,mem_24g_paring_addr
+	isub temp,null
+	branch p_g24_start_pairing_sm1,zero
+	branch p_g24_tx_attemp_dongle_succ
+
+//p_g24_auto_pair_retry:
+//	fetch 1,mem_24g_check_dongle_times
+//	increase 1,pdata
+//	store 1,mem_24g_check_dongle_times
+//	fetch 1,mem_24g_auto_paring_switch
+//	increase 1,pdata
+//	and_into 1,pdata
+//	store 1,mem_24g_auto_paring_switch
+//	beq 0,p_g24_auto_pair_device_attemp
+//	beq 1,p_g24_auto_pair_pair_attemp
+//	rtn
+p_g24_auto_pair_retry:
+	fetch 2,mem_24g_check_dongle_times
+	increase 1,pdata
+	store 2,mem_24g_check_dongle_times
+	fetch 1,mem_24g_auto_paring_switch
+	increase 1,pdata
+	and_into 3,pdata
+	store 1,mem_24g_auto_paring_switch
+	beq 0,p_g24_auto_pair_device_attemp
+	beq 1,p_g24_auto_pair_pair_attemp
+	beq 2,p_g24_auto_pair_all_powerful_attemp
+	beq 3,p_g24_auto_pair_pair_attemp
+	rtn
+p_g24_auto_pair_first_attemp:
+	call p_mouse_tx_power_init
+	fetch 4,mem_24g_device_addr
+	store 4,mem_24g_addr
+	fetch 1,mem_24g_pair_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_pair_current_ch_num
+	rtn
+
+//p_g24_auto_pair_first_attemp:
+//	call p_g24_factory_check
+//	branch p_g24_auto_pair_all_powerful,user
+p_g24_auto_pair_dongle_addr_reconn:
+	call p_mouse_tx_power_init
+	call p_mouse_init_iic_read_24g_addr
+	call p_g24_factory_check
+	branch p_g24_auto_pair_all_powerful,user
+	branch p_g24_ch_syncword_crc8_init
+
+//p_g24_auto_pair_all_powerful:
+//	jam TX_POWER_PAIR,mem_tx_power
+//	setarg 0x0f0f
+//	store 2,mem_24g_addr
+//	istore 2,contw
+p_g24_auto_pair_all_powerful:
+	jam TX_POWER_PAIR,mem_tx_power
+	setarg 0x0f0f
+	store 2,mem_24g_addr
+	istore 2,contw
+	fetch 1,mem_24g_powerful_current_ch_num
+	store 1,mem_24g_current_ch_number
+	call p_g24_ch_syncword_crc8_init
+	storet 1,mem_24g_powerful_current_ch_num
+	rtn
+p_g24_ch_syncword_crc8_init:	
+	call p_g24_syncword_crc8
+	branch p_g24_ch
+	
+p_g24_auto_pair_device_attemp:
+	call p_g24_auto_pair_first_attemp
+	branch p_g24_auto_pair_start_loop
+	
+p_g24_auto_pair_pair_attemp:
+	call p_g24_pair_init
+	branch p_g24_auto_pair_start_loop
+
+p_g24_auto_pair_all_powerful_attemp:
+	call p_g24_auto_pair_all_powerful
+	branch p_g24_auto_pair_start_loop
+
+//p_g24_auto_pair_pair_attemp:
+//	call p_g24_pair_init
+//	branch p_g24_auto_pair_start_loop
+
+p_g24_check_51cmd_stop_24g:
+	set0 mark_24g,mark
+	call le_disable
+p_mouse_disable_g24_pairing_flag:
+	arg MOSUE_24G_PAIRING_FLAG,queue
+	branch mouse_disable_function_flag
+
+p_g24_put_data_in_buff:
+	storet 1,mem_24g_datalen
+	copy temp,loopcnt
+	arg mem_24g_txbuf,contw
+	copy rega,contr
+	branch memcpy
+
+p_g24_read_len_pid_crc:
+//read control
+	fetch 1,mem_24g_rxbuf+1
+	rshift3 pdata,pdata
+	store 1,mem_24g_rxdata_length
+//get crc
+	increase 1,pdata
+	arg mem_24g_rxbuf+1,contr
+	iadd contr,contr
+	ifetch 3,contr
+	store 3,mem_24g_sta_crc
+//read pid
+	fetch 1,mem_24g_rxbuf+1
+	rshift pdata,pdata
+	and pdata,0x03,pdata
+	store 1,mem_24g_sta_pid
+	rtn
+
+endif
+
+p_set_freq_tx:
+	storet 1,mem_last_freq
+	add temp,0,rega			/* index to frequency */
+	call rf_write_freq
+	setarg param_pll_setup	//128us
+	call sleep
+p_rf_tx_enable:
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	nop 10 /* wait LDOs to turn ON*/
+	jam 0x01, rfen_mdm
+	jam 0x3d, rfen_mdm
+	nop 10 /* wait tx blocks to turn ON*/
+	jam 0xb7,rfen_sn
+	nop 10 /* wait tx lo buffer to turn ON*/
+	jam 0x7d, rfen_mdm
+	fetch 1,mem_tx_power
+	beq TX_POWER_0DB,p_set_tx_power_0db
+	beq TX_POWER_3DB,p_set_tx_power_3db	
+	beq TX_POWER_5DB,p_set_tx_power_5db
+//	beq TX_POWER_f3DB,p_set_tx_power_f3db	
+	beq TX_POWER_f5DB,p_set_tx_power_f5db
+	beq TX_POWER_PAIR,p_set_tx_power_pair
+	branch p_set_tx_power_0db
+
+p_set_tx_power_0db:
+	call p_rx_low_sens
+	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+	jam 0x88,0x8957
+	jam 0x6c,0x8958
+	jam 0x10,0x8959
+	branch set_tx_power_0db	
+
+p_set_tx_power_3db:
+	call p_rx_high_sens
+	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+	jam 0x88,0x8957
+	jam 0x3c,0x8958
+	jam 0x10,0x8959
+	branch set_tx_power_3db
+	
+p_set_tx_power_5db:
+	call p_rx_high_sens
+	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xe0,0x8956
+	jam 0x88,0x8957
+	jam 0x3c,0x8958
+	jam 0x10,0x8959
+	branch set_tx_power_5db
+
+//p_set_tx_power_f3db:
+//	call p_rx_low_sens
+//	jam 0xba,0x894b
+//	jam 0xd0,0x8955
+//	jam 0xc0,0x8956
+//	jam 0x88,0x8957
+//	jam 0x6c,0x8958
+//	jam 0x10,0x8959
+//	branch set_tx_power_f3db
+	
+p_set_tx_power_f5db:
+	call p_rx_low_sens
+	jam 0xba,0x894b
+	jam 0xd0,0x8955
+	jam 0xc0,0x8956
+	jam 0x88,0x8957
+	jam 0x6c,0x8958
+	jam 0x10,0x8959
+	branch set_tx_power_f5db
+
+p_rx_low_sens:
+	jam 0x5b,0x894c
+	jam 0x96,0x894d
+	jam 0x2c,0x894e 
+	jam 0x46,0x894f
+	rtn
+
+p_rx_high_sens:
+	jam 0xfb,0x894c 
+	jam 0xef,0x894d
+	jam 0xec,0x894e 
+	jam 0x5e,0x894f
+	rtn
+		
+p_set_tx_power_pair:	//50-100cm distance
+ 	jam 0xc2,0x8956
+ 	jam 0xd0,0x8955
+	rtn	
+
+p_shutdown_radio:
+	force 8,radio_ctrl
+	branch shutdown_radio+1
+
+p_initialize_radio_cont:
+	call initialize_radio_cont+1
+	jam clksel_dpll,core_clksel
+	rtn
+	
+/* ================================== 24g common functions ============================= */
+p_g24_timer_check:
+	call disable_user
+	fetcht 4,mem_24g_tx_btclk
+	copy clkn_bt,pdata
+	isub temp,null
+	ncall g24_timer_timeout,positive
+	copy pdata,regb
+	fetch 4,mem_24g_tx_btclk
+	fetcht 1,mem_24g_interval
+	iadd temp,temp
+	copy regb,pdata
+	isub temp,null
+	nrtn positive
+	set0 28,pdata
+	store 4,mem_24g_tx_btclk
+	branch enable_user
+
+p_rssi_noise:
+	call save_rssi
+	rtn blank
+	fetcht 1,mem_rssi_noise_index
+	arg mem_rssi_noise_buffer,rega
+	call p_rssi_store
+	storet 1,mem_rssi_noise_index
+	rtn
+	
+p_rssi_store:
+	copy rega,pdata
+	iadd temp,contw
+	fetch 1,mem_rssi
+	istore 1,contw
+	increase 1,temp
+ifdef DONGLE
+	and_into RSSI_BUF_LEN_NOISE,temp
+endif
+ifdef MOUSE
+	and_into RSSI_BUF_LEN_SIGNAL,temp
+endif
+	rtn
+p_rssi_average:
+	arg 0,temp
+ifdef DONGLE
+	arg RSSI_BUF_LEN_NOISE+1,loopcnt
+endif
+ifdef MOUSE
+	arg RSSI_BUF_LEN_SIGNAL+1,loopcnt
+endif
+	copy rega,contr
+ifdef DONGLE
+	branch rssi_average_loop
+endif
+ifdef MOUSE
+p_rssi_average_loop:
+	ifetch 1,contr
+	iadd temp,temp
+	loop p_rssi_average_loop
+	rshift3 temp,pdata
+	copy pdata,temp
+	rtnmark0 mark_24g
+	//2BCD
+	div pdata,10
+	call wait_div_end
+	quotient pdata
+	lshift4 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+endif
+	rtn
+
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
+
+
+p_g24_transmit_prep:
+ifdef P24G_LOG
+	fetch 1,mem_24g_paccnt
+	increase 1,pdata
+	store 1,mem_24g_paccnt
+endif
+
+// total length
+	fetch 1,mem_24g_datalen
+	increase 2,pdata
+	store 1,mem_24g_txlen
+// data type
+	fetch 1,mem_24g_data_type
+	store 1,mem_24g_txpayload
+//prepare 5bit payload length, 2bit PID, 1bit NO_ACK
+	fetch 1,mem_24g_datalen
+	lshift3 pdata,pdata
+	fetcht 1,mem_24g_pid
+	and temp,0x03,temp
+	lshift temp,temp
+	ior temp,pdata
+	fetcht 1,mem_24g_no_ack
+	iadd temp,pdata
+	istore 1,contw
+//prepare payload data
+	fetch 1,mem_24g_datalen
+	iforce loopcnt
+	arg mem_24g_txbuf,contr
+	branch memcpy
+
+p_g24_ch:
+	fetcht 1,mem_24g_current_ch_number
+	call p_g24_ch_map_size
+	storet 1,mem_24g_current_ch_number
+	rtn
+
+p_g24_ch_map_size:
+	call p_g24_ch_calc
+	increase 1,temp
+	and_into 3,temp //map size =4
+	rtn
+	
+p_g24_ch_calc:
+	fetch 1,mem_24g_addr	
+	and_into 0x03,pdata
+	mul32 pdata,4,rega			//24addr low bit0 bit1 ,00-map1,01-map2,10-map3,11-map4
+	setarg mem_24g_ch_map1
+	iadd rega,pdata
+	iadd temp,contr
+	ifetch 1,contr
+	store 1,mem_24g_ch
+	rtn
+
+p_g24_prep:
+	disable enable_crc
+	disable enable_white
+	setarg 0x555555
+	iforce crc24_init
+	fetch 1,mem_24g_ch
+	reverse pdata,temp
+	set1 1,temp
+	rshift temp,white_init
+	rtn
+
+p_g24_receive_packet:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	call set_freq_rx
+	setarg param_pll_setup
+	call sleep
+	call rf_rx_enable
+p_g24_receive_rxon:
+
+ifdef RF_DEBUG
+	call test_h_l_h
+endif
+
+	call p_g24_prep
+	disable user3
+	enable decode_fec0
+	enable is_rx
+	disable is_tx
+	enable swfine
+	fetch 2,mem_24g_rx_window
+	iforce stop_watch
+	correlate null,timeout
+	nbranch p_g24_sync_timeout,sync
+
+ifdef RF_DEBUG
+	call test_gpio_low
+	call test_gpio_high
+endif
+
+	disable decode_fec0
+	enable decode_fec1
+	enable enable_white
+	enable enable_crc
+	call p_g24_receive_byte
+	store 1,mem_24g_get_syncword_crc8
+	fetcht 1,mem_24g_syncword_crc8
+	isub temp,null
+	nbranch p_g24_end_of_packet,zero
+	call p_g24_receive_byte
+	store 1,mem_24g_rxbuf	//device id
+	fetch 1,mem_24g_mode
+	sub pdata,rx_24g,null
+	branch p_g24_receive_skip,zero
+	fetch 1,mem_24g_rxbuf
+	fetcht 1,mem_24g_data_type
+	icompare bits_data,temp
+	nbranch p_g24_end_of_packet,true
+p_g24_receive_skip:
+	call p_g24_receive_byte
+	istore 1,contw
+	rshift3 pdata,pdata
+	and pdata,0x1f,loopcnt	//max payload: 32bytes
+	branch p_g24rx_nopayload,zero
+p_g24rx_loop:
+	call p_g24_receive_byte
+	istore 1,contw
+	loop p_g24rx_loop
+p_g24rx_nopayload:
+ifdef MOUSE
+	//receive rssi hex
+	copy contw,rega
+	call p_g24_receive_byte
+	store 1,mem_rssi_hex_received
+	copy rega,contw
+endif
+	parse demod,bucket,24
+	enable swfine
+	arg param_sifs,stop_watch	
+	rshift32 pdata,pdata
+	rshift16 pdata,pdata
+	istore 3,contw
+	disable decode_fec1
+ifdef DONGLE
+	call save_rssi
+endif	
+	branch p_g24_end_of_packet,crc_failed
+
+ifdef RF_DEBUG
+	call test_gpio_low
+	call test_gpio_high
+endif
+
+	enable user3
+	fetch 1,mem_last_freq
+	add pdata,0,rega
+	call rf_write_freq
+	disable decode_fec0
+	call set_sync_on
+ifdef DONGLE
+	rtn
+endif
+ifdef MOUSE
+	fetch 1,mem_rssi_hex_received
+	copy pdata,rega
+	call p_rssi_signal
+endif
+	rtn
+
+p_g24_receive_byte:
+	parse demod,bucket,8
+	rshift3 pwindow,pdata
+	rtn
+	
+p_g24_end_of_packet:
+	disable encode_fec1
+	disable decode_fec1
+	call end_of_packet
+ifdef RF_DEBUG
+	call test_gpio_low
+endif
+	rtn
+
+p_g24_sync_timeout:
+ifdef DONGLE
+	call p_rssi_noise
+endif
+	branch p_g24_end_of_packet
+
+p_g24_set_freq_tx:
+	call set_sync_on
+	fetcht 1,mem_24g_ch
+	branch set_freq_tx
+
+p_g24_transmit:
+	call le_enable
+	fetch 4,mem_24g_addr
+	iforce access
+	call p_g24_prep
+	call p_g24_set_freq_tx
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+
+ifdef RF_DEBUG
+	call test_gpio_high
+endif
+	
+	rshift16 access,pdata
+	rshift8 pdata,pdata
+	rshift4 pdata,pdata
+	inject mod,40
+	disable encode_fec0
+	enable encode_fec1
+	enable enable_white
+	enable enable_crc
+	fetch 1,mem_24g_syncword_crc8
+	inject mod,8
+	fetch 1,mem_24g_txlen
+	iforce loopcnt
+	arg mem_24g_txpayload,contr
+p_g24tr_loop:
+	ifetch 1,contr
+	inject mod,8
+	loop p_g24tr_loop
+ifdef DONGLE
+	fetch 1,mem_rssi_hex
+	inject mod,8
+endif
+
+ifdef P24G_LOG	
+	fetch 1,mem_tx_power
+	inject mod,8
+	fetch 1,mem_rssi_avg_received
+	inject mod,8
+	fetch 1,mem_24g_paccnt
+	inject mod,8
+endif
+
+	enable enable_parity
+	inject mod,24	//crc
+	disable enable_parity
+	until null,tx_clear
+	nop 100
+	disable encode_fec0
+	disable encode_fec1
+	rtn
+
+
+ifdef RF_DEBUG
+test_gpio_init:
+	arg TEST_GPIO,temp
+	call gpio_config_output
+test_gpio_low:
+	arg TEST_GPIO,temp
+	call gpio_out_active
+	nop 10
+	rtn
+test_gpio_high:
+	arg TEST_GPIO,temp
+	call gpio_out_inactive
+	nop 10
+	rtn
+
+test_h_l:
+	call test_gpio_high
+	branch test_gpio_low
+test_h_l_h:
+	call test_gpio_high
+	call test_gpio_low	
+	branch test_gpio_high
+endif
+
+p_mouse_data_init:
+	jam 7,mem_mouse_data_queue	//data length
+	jam 4,mem_mouse_data_queue+1	//fifo depth
+	setarg mem_mouse_data_queue
+	store 2,mem_queue_ptr
+	branch queue_init
+
+p_mouse_data_push:
+	arg mem_mouse_key,rega
+	call queue_push
+	call p_mouse_queue_increase,user
+	
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_LOST_MOUSEDATA
+	store 2,mem_debuglog_dataval
+	nbranch debuglog_push,user
+
+	setarg MISC_PUSH_MOUSEDATA
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+endif
+endif
+	rtn
+p_mouse_queue_increase:
+	fetch 1,mem_mouse_data_queue_num
+	increase 1,pdata
+	store 1, mem_mouse_data_queue_num
+	rtn
+	
+p_mouse_data_pull:
+	arg mem_mouse_key,rega
+	call queue_pop
+	branch p_mouse_fill_data_le,user
+	rtn
+
+p_mouse_fill_data_le:
+ifdef DEBUGLOG
+ifdef DEBUGLOG_MISC
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	setarg MISC_PULL_MOUSEDATA
+	store 2,mem_debuglog_dataval
+	call debuglog_push
+
+	setarg DEBUGLOG_DTYPE_MISC
+	store 2,mem_debuglog_datatype
+	fetch 1,mem_mouse_x
+	store 1,mem_debuglog_dataval
+	fetch 1,mem_mouse_y
+	store 1,mem_debuglog_dataval+1
+	call debuglog_push	
+endif
+endif
+	call le_clear_md
+	fetch 1,mem_mouse_data_queue_num
+	sub pdata,1,null
+	ncall le_set_md,positive
+	fetch 1,mem_mouse_data_queue_num
+	rtn blank
+	increase -1,pdata
+	store 1, mem_mouse_data_queue_num
+	branch mouse_fill_data_le
+
+ifdef DEBUGLOG 
+pdata_push:
+	store 8,mem_debuglog_pdata
+	rtn
+
+pdata_pull:
+	fetch 8,mem_debuglog_pdata
+	rtn
+	
+debuglog_init:
+	call pdata_push
+	call debuglog_uart_init
+	call debuglog_mem_init
+	branch pdata_pull
+ 
+debuglog_uart_init:
+	/*step1:SET IO TX:GPIO6	RX:GPIO7*/
+	hfetch 1,core_gpio_sel1
+	set1 2,pdata
+	hstore 1,core_gpio_sel1 //Open UARTGPIO MUX
+	hfetch 4,core_gpio_pu0	 //RX pull up
+	set1 7,pdata
+	hstore 4,core_gpio_pu0
+	
+	/*step2:sel UARTclk bit0	=0:crystal	 =1:48M*/
+	hfetch 1,core_uart_clksel
+	set1 0,pdata
+	hstore 1,core_uart_clksel
+
+	/*step3:Enable uart clk
+	core_clkoff(0x8050)bit15 = 0,Enable uart clk*/
+	hfetch 2,core_clkoff
+	set0 0x0f,pdata
+	hstore 2,core_clkoff
+
+	/*step3:Set Ring Buffer*/
+	setarg mem_module_rx_buf		//RX buf Start Addr
+	hstore 2,core_uart_rsaddr
+
+	setarg mem_module_rx_buf_end	//RX buf End Addr
+	hstore 2,core_uart_readdr
+
+	setarg mem_module_tx_buf		//TX BUF Start Addr
+	hstore 2,core_uart_tsaddr
+
+	setarg mem_module_tx_buf_end	//TX buf End Addr
+	hstore 2,core_uart_teaddr
+	
+	setarg mem_module_rx_buf		//RX buf RPTR
+	hstore 2,core_uart_rrptr
+
+	setarg mem_module_tx_buf		//TX buf WPTR
+	hstore 2,core_uart_twptr
+
+	hstore 2,core_uart_trptrp		//TX buf RPTR
+
+	/*step4:SET baud*/
+	//hstore 2,mem_baud
+	setarg 0x34
+	hstore 2,core_uart_baud
+
+	/*step5:SET DataLen,parity bit,flow control and enable UART
+	RW	0	Enable UART
+	RW	1	1: odd parity; 0: even parity
+	RW	2	UART Data length 1: 9 bits; 0: 8 bits
+	RW	3	1: HCI uart SLIP protocol
+	RW	4	1: enable RTS/CTS flow control
+	RW	5	1: enable 7816 smart card protocol
+	RW	6	1: enable half duplex single line UART
+	RW	7	1: Use baud settings 0:auto detect baud rate*/
+	jam 0x00,core_uart_ctrl
+	jam 0x81,core_uart_ctrl
+	rtn 
+
+debuglog_mem_init:
+	jam DEBUGLOG_HEAD,mem_debuglog_temp
+	jam DEBUGLOG_TYPE,mem_debuglog_type
+	jam DEBUGLOG_LEN ,mem_debuglog_datalen
+	jam DEBUGLOG_TAIL,mem_debuglog_tail
+	rtn	
+
+debuglog_push:
+	call pdata_push
+	hfetch 1,core_uart_status
+	rtnbit1 uart_status_tx_fifo_full
+	call uartd_prepare_tx
+	fetch 8,mem_debuglog_temp
+	istore 8,contwu
+	call uartd_send
+	branch pdata_pull 
+endif	
+/*
+p_le_savelist:
+	fetch 1,mem_mouse_key
+	bbit0 0,p_le_savelist1
+	fetch 1,mem_lpm_mode
+	bbit1 1,p_le_savelist1
+	jam 0,mem_seqi
+p_le_savelist1:
+	fetch 4,mem_sync_clke
+	store 4,mem_pdatatemp
+	deposit auxcnt
+	istore 1,contw
+	fetch 1,mem_le_ch_mapped
+	istore 1,contw
+	fetch 2,mem_le_event_count
+	arg 0x0fff,contr
+	iand contr,pdata
+	setflag match,15,pdata
+	setflag wake,14,pdata
+	setflag sync,13,pdata
+	setflag attempt,12,pdata
+	istore 2,contw
+
+
+p_save1:
+	call p_savelist1
+	fetch 1,mem_context
+	rtnbit0 state_inconn
+	fetch 1,mem_lpm_mode
+	rtnbit1 1
+	fetch 1,mem_mouse_z
+	rtn blank
+	jam 3,mem_lpm_mode
+	jam 0,mem_seqi
+	rtn
+
+
+p_savelist:
+	store 8,mem_pdatatemp
+p_savelist1:
+	fetch 1,mem_seqi
+	rtneq 0x7f
+	and_into 0x7f,pdata
+	lshift3 pdata,pdata
+	arg 0x4c00,contw
+	iadd contw,contw
+	fetch 8,mem_pdatatemp
+	istore 8,contw
+	fetch 1,mem_seqi
+	isolate1 7,pdata
+	increase 1,pdata
+	and_into 0x7f,pdata
+	setflag true,7,pdata
+	store 1,mem_seqi
+	fetch 8,mem_pdatatemp
+	rtn	
+
+
+p_hci_log:
+	fetch 1,0x4c00
+	increase 1,pdata
+	sub pdata,50,null
+	branch p_hci_log_calc_ptr,positive
+	setarg 0
+p_hci_log_calc_ptr:
+	store 1,0x4c00
+	arg 8,temp
+	imul32 temp,pdata
+	arg 0x4c08,contw
+	iadd contw,contw
+p_hci_log_write_content:
+	fetch 1,0x4c00
+	istore 1,contw//counter
+	fetch 4,mem_24g_txbuf+2
+	istore 4,contw
+	rtn
+
+
+p_send_lmp:
+	disable user
+	call lmo_fifo_process
+	fetch 1,mem_lmp_to_send
+	rtn blank
+	bbit1 7,p_send_lmp_escape
+	branch send_lmp0
+	
+p_send_lmp_escape:
+	beq LMP_EXT_FEATURES_RES,p_send_lmpext_features_res
+	beq LMP_EXT_FEATURES_REQ,p_send_lmpext_features_req	
+	branch send_lmp_escape
+
+p_send_lmpext_features_res:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_res
+p_send_lmpext_features_req:
+	call p_check_ssp_enable
+	fetch 1,mem_lmp_to_send
+	branch send_lmpext_features_req
+
+p_check_ssp_enable:
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable,blank
+	branch ssp_enable
+
+*/
+
+
+endif
+
Index: YJX_Only24g/main/program/peripherals.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/peripherals.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/peripherals.prog	(working copy)
@@ -0,0 +1,2440 @@
+
+/* ===================== two wire SPI gpio ======================= */
+
+twspi_reset:
+	bpatchx patch31_4,mem_patch31
+	hfetch 1,core_gpio_oe3
+	arg 0x06,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 1,pdata
+	set0 2,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable
+
+twspi_reset2:
+	hfetch 1,core_gpio_oe3
+	arg 0xc0,temp
+	ior temp,pdata
+	hstore 1,core_gpio_oe3
+	hfetch 1,core_gpio_out3
+	ior temp,pdata
+	hstore 1,core_gpio_out3
+	call twspi_disable
+	hfetch 1,core_gpio_out3
+	set0 6,pdata
+	set0 7,pdata
+	hstore 1,core_gpio_out3	
+	nop 30  
+	branch twspi_enable2
+
+twspi_disable:
+	hfetch 1,core_gpio_sel1
+	and pdata,0xfc,pdata
+	hstore 1,core_gpio_sel1  //disable spi
+	rtn
+twspi_enable:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x01,pdata
+	hstore 1,core_gpio_sel1  //enable spi
+	rtn
+twspi_enable2:
+	hfetch 1,core_gpio_sel1
+	or pdata,0x03,pdata
+	set0 4,pdata
+	hstore 1,core_gpio_sel1  //enable spi2
+	rtn
+
+// input read reg number: pdata 
+//output reg data: pdata
+sensor_read:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_read
+	copy pdata,regb
+	call spi_ncs_disable
+	nop 100
+	copy regb,pdata
+	rtn
+// input write reg number: pdata 
+sensor_write:
+	copy pdata,regb
+	call spi_ncs_enable
+	nop 100
+	copy regb,pdata
+	call twspi_write
+	call spi_ncs_disable
+	nop 100
+	rtn
+//spi gpio init .
+//0xff :disable spi ncs gpio init
+spi_ncs_gpio_init:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_config_output
+
+//nsc gpio ouput low
+spi_ncs_enable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_active
+
+//ncs gpio output high
+spi_ncs_disable:
+	fetcht 1,mem_spi_ncs_gpio
+	branch gpio_out_inactive
+
+
+twspi_write:
+	branch spid_write_reg
+	
+twspi_read:
+	branch spid_read_reg
+
+
+
+/* ===================== code loading ======================= */
+
+
+read_function_aes:
+	nbranch read_function,user
+	hfetch 1,core_gpio_key2
+	or_into 0x2,pdata   	// enable aes 
+	hstore 1,core_gpio_key2
+read_function:
+	copy temp,null
+	branch read_fuction_zero,zero
+	copy regc,pc
+read_fuction_zero:
+	isolate0 0,null
+	branch set_ucode_status
+	
+/* return temp = block length */
+get_block_header:
+	force 4,temp
+get_block_header0:
+	arg mem_ucode_buf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   	// disable aes for header
+	hstore 1,core_gpio_key2
+	call read_function
+	arg 0x55aa,rega
+	fetch 2,mem_ucode_buf
+	ifetcht 2,contr
+	isub rega,null
+	rtn	
+
+read_first_block:
+	arg 2,temp
+	arg mem_ucode_ptr,rega
+	call read_function
+	fetch 2,mem_ucode_ptr
+	store 2,mem_addr_mi
+	call get_iv,user
+	rtn
+	
+get_iv:
+	arg 16,temp
+	arg mem_ucode_keybuf,rega
+	hfetch 1,core_gpio_key2
+	and_into 0xfd,pdata   // disable aes for iv
+	hstore 1,core_gpio_key2
+	call read_function
+	arg mem_ucode_keybuf,contr
+	arg 16,loopcnt
+	call aes_load_data
+	call aes_init
+	call aes_clear_data
+	branch do_aes_cbc					/* generate first IV */
+
+load_storage:
+	disable match
+	call get_block_header
+	nrtn zero
+	enable match
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	arg core_ucode_data,rega
+	call read_function_aes
+	jam 0x0, core_ucode_ctrl
+load_storage_loop:
+	arg 6,temp
+	call get_block_header0
+	nrtn zero
+	ifetch 2,contr
+	iforce rega
+	call read_function
+	branch load_storage_loop
+
+	
+	/* only load memory data from eeprom */
+reload_eeprom:
+	call clean_mem
+	setarg 0x1000
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	arg 2,loopcnt
+reload_eeprom_loop:
+	call get_block_header
+	nrtn zero
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	loop reload_eeprom_loop
+	branch load_storage_loop
+	
+loadcode:
+	call clean_mem
+	disable user
+	call otp_enable_chgpump
+	setarg otp_ucode_flag
+	arg mem_otp_ucode_flag,rega
+	arg 2,temp
+	call otpd_read_data
+	fetch 2,mem_otp_ucode_flag
+	bbit0 otp_uflag_aes, loadcode_otp
+	jam 0x25,core_clkoff			// disable debug uart
+	setarg otp_ucode_aeskey
+	arg mem_ucode_keybuf,rega
+	arg 16,temp
+	call otpd_read_data
+	jam lock_otp,core_misc_ctrl	// disable further read/write of key
+	set1 mark_otp_encrypt,mark	
+	arg mem_ucode_keybuf,contr
+	call load_key
+	enable user					// set user for aes
+loadcode_otp:
+	jam 0,mem_loadcode_times
+loadcode_otp_2:
+	call loadcode_check_times
+	fetch 2,mem_otp_ucode_flag
+	byteswap pdata,pdata
+	arg 0x7ff,temp
+	iand temp,pdata
+	branch loadcode_iic, zero
+	call otp_set_addr
+	arg otpd_read_code,regc
+	call get_iv,user
+	call load_storage
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_otp_2			// crc error, try again
+	
+loadcode_iic:
+	call otp_disable_chgpump
+	jam 0,mem_loadcode_times
+loadcode_iic_2:	
+	call loadcode_check_times
+	call clear_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_iic_eeprom_2k,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+loadcode_iic_eeprom_2k:
+	call set_eeprom_size_2k
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_eep,loadcode_spi
+	call loadcode_iic_by_eeprom
+	nbranch loadcode_spi,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_iic_2			// crc error, try again
+	branch loadcode_hci
+	
+loadcode_spi:
+	jam 0,mem_loadcode_times
+loadcode_spi_2:
+	call loadcode_check_times
+	fetch 1,mem_otp_ucode_flag
+	bbit1 otp_uflag_skip_flash, loadcode_hci
+	setarg 0x0
+	store 3,mem_addr_hi
+	call spid_init_flash
+	arg spid_load_flash,regc
+	call read_first_block
+	call load_storage
+	nbranch loadcode_hci,match
+	fetch 1,mem_ucode_status
+	bbit0 0,loadcode_spi_2			// crc error, try again
+
+loadcode_hci:
+	bmark1 mark_otp_encrypt,loadcode_hci_enc
+	call clear_key_buf
+loadcode_hci_enc:
+	fetch 1,mem_otp_ucode_flag
+	bbit0 otp_uflag_hci,clear_key_buf
+	jam 0x21,core_clkoff			// enable debug uart
+	call hci_init
+loadcode_hci_loop:
+	call hci_rx_packet
+	branch loadcode_hci_loop
+
+clear_key_buf:
+	setarg 0
+	store 8,mem_ucode_keybuf
+	store 8,mem_ucode_keybuf+8
+	force regidx_key,regext_index
+	call aes_clear
+	jam 0x21,core_clkoff		// enable debug uart
+	rtn
+	
+
+loadcode_iic_by_eeprom:
+	setarg 0x0
+	store 2,mem_addr_mi
+	arg iicd_read_eep,regc
+	call iicd_init_12m
+	call read_first_block
+	branch load_storage
+
+
+loadcode_check_times:
+	fetch 1,mem_loadcode_times
+	increase 1,pdata
+	sub pdata,3,null
+	nbranch loadcode_error,positive
+	store 1,mem_loadcode_times
+	rtn
+
+loadcode_error:
+	call clear_key_buf
+	call ice_break
+	rtn
+
+
+/* true flag is set into status */
+set_ucode_status:
+	fetch 1,mem_ucode_status
+	lshift pdata,pdata
+	setflag true,0,pdata
+	isolate0 15,rega
+	rtn true
+	store 1,mem_ucode_status
+	rtn
+
+	/* queue is bit position of hw done status */
+decrypt_code:
+	hfetch 1,core_gpio_key2
+	rtnbit0 1
+	branch decrypt_code_skip	/* skip to key generation at first for speed */
+decrypt_code_loop:
+	hfetch 1,core_dma_status
+	qisolate1 pdata
+	rtn true
+decrypt_code_skip:
+	hfetch 1,core_misc_status
+	bbit0 1,decrypt_code_loop
+	call do_aes_cbc
+	branch decrypt_code_loop
+
+
+
+load_ucode:
+	fetch 2,mem_patch_ptr
+	rtn blank
+	jam 0x80, core_ucode_ctrl
+	jam 0,core_ucode_hi
+	jam 0,core_ucode_low
+	fetcht 2,mem_patch_len
+	lshift2 temp,loopcnt
+	iforce contr
+load_ucode_loop:
+	ifetch 1,contr
+	hstore 1,core_ucode_data
+	loop load_ucode_loop
+	jam 0x0, core_ucode_ctrl
+	rtn
+
+
+/* ===================== SPI dma ======================= */
+
+spid_init:
+	bpatchx patch31_5,mem_patch31
+	call spid_init_common
+	branch twspi_enable
+
+spid_init2:
+	call spid_init_common
+	call twspi_disable
+	branch twspi_enable2
+	
+spid_init_common:
+	fetch 1,mem_spi_init_clk
+	hstore 1,core_spid_ctrl	// A7530 should at least 34, or write fail
+	fetch 1,mem_spi_init_delay_time
+	hstore 1,core_spid_delay	// 4us delay
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	setarg mem_spid_rbuf
+	hstore 2,core_spid_rxaddr
+	branch twspi_disable
+	
+spid_reset:
+	hfetch 1,core_spid_ctrl
+	set1 7,pdata
+	hstore 1,core_spid_ctrl
+	set0 7,pdata
+	hstore 1,core_spid_ctrl
+	rtn
+
+
+/* pdata 6:0 is reg address, 15:8 is data to write */
+spid_write_reg:
+	set1 7,pdata
+	store 2,mem_spid_tbuf
+	bpatchx patch31_6,mem_patch31
+	jam 2,core_spid_txlen
+	jam 0,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+/* pdata 6:0 is reg address */
+spid_read_reg:
+	force 1,temp
+/* pdata 6:0 is burst reg address, temp is bytes to read */
+spid_read_regs:
+//	nop 100
+	store 1,mem_spid_tbuf
+	bpatchx patch31_7,mem_patch31
+	jam 1,core_spid_txlen
+	hstoret 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	call wait_spid_done
+	fetch 1,mem_spid_rbuf
+	rtn
+
+wait_spid_done:
+	fetch 2,mem_afh_error_total
+	increase 1,pdata
+	store 2,mem_afh_error_total
+	hfetch 1,core_dma_status
+	bbit0 spid_done,wait_spid_done
+	rtn
+
+spid_init_flash:
+	jam 0x40,core_spid_ctrl
+	jam 0x0,core_spid_delay
+	hfetch 1,core_gpio_sel1
+	set0 0,pdata
+	set1 1,pdata
+	hstore 1,core_gpio_sel1
+	setarg 0
+	store 4,mem_spid_tbuf
+	rtn
+
+
+spid_unlock_flash:
+	setarg 0
+	hstore 2,core_spid_rxlen
+	setarg 1
+	hstore 2,core_spid_txlen
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	jam 6,mem_spid_tbuf
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/**
+ ******************************************************************************
+ ** \brief  write flash
+ **
+ ** \param [in]  rega: 2byte write ptr    
+ **			pdata:3byte flash address  
+ ** 			temp:2byte write data length
+ **
+ ** \retval user  0: flash buys 1:write flash setting complate
+ **
+ ******************************************************************************/
+
+flash_write:
+	disable user
+	copy pdata,regb
+	fetch 1,mem_spi_write_flash_sm
+	rtnne FLASH_SM_NO_BUYS
+	enable user
+	copy regb,pdata
+	branch flash_write_start
+
+
+flash_write_spi_sm_timer:
+	fetch 1,mem_spi_write_flash_sm 	
+	beq FLASH_SM_START,flash_write_start
+	beq FLASH_SM_ERASE_SECTOR,flash_erase_sector
+	beq FLASH_SM_WAIT_ERASE_SECTOR,flash_wait_erase_sector
+	beq FLASH_SM_WRITE_DATA,flash_write_data
+	beq FLASH_SM_WAIT_WRITE_DATA,flash_wait_write_data
+	rtn
+
+flash_write_start:
+	store 3,mem_spi_write_addr
+	copy rega,pdata
+	store 2,mem_spi_write_ptr
+	storet 2,mem_spi_write_len
+	jam FLASH_SM_ERASE_SECTOR,mem_spi_write_flash_sm
+	branch spid_init_flash
+flash_erase_sector:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_ERASE_SECTOR,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	arg mem_spid_tbuf,rega
+	fetch 3,mem_spi_write_addr
+	jam 4,core_spid_txlen
+	arg FLASH_COMMAND_SECTOR_ERASE,temp
+	branch spid_write_flash_common
+	
+flash_wait_erase_sector:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_WRITE_DATA,mem_spi_write_flash_sm
+	rtn
+flash_write_data:
+	call spid_init_flash
+	jam FLASH_SM_WAIT_WRITE_DATA,mem_spi_write_flash_sm
+	call spid_unlock_flash
+	call flash_data_preserve
+	call spid_write_flash
+	branch flash_data_recover
+flash_wait_write_data:
+	call spid_init_flash
+	call spid_unlock_flash
+	setarg FLASH_READ_SATUS
+	call spid_read_reg
+	rtnbit1 FLASH_STATUS_WIP
+	jam FLASH_SM_NO_BUYS,mem_spi_write_flash_sm
+	fetch 2,mem_cb_spi_flash_write_complate
+	branch callback_func
+flash_data_recover:
+	fetch 4,mem_temp
+	fetcht 2,mem_spi_write_ptr
+	increase -4,temp
+	istore 4,temp
+	rtn
+flash_data_preserve:
+	fetcht 2,mem_spi_write_ptr
+	copy temp,rega
+	increase -4,temp
+	ifetch 4,temp
+	store 4,mem_temp
+	fetcht 2,mem_spi_write_len
+	fetch 3,mem_spi_write_addr
+	rtn
+
+
+/* pdata is flash address, rega pointers to txdata(4 ahead bytes should be left), temp is length */
+spid_write_flash:
+	increase 4,temp
+	hstoret 2,core_spid_txlen
+	arg FLASH_COMMAND_WRITE_DATA,temp
+	increase -4,rega
+spid_write_flash_common:
+
+	istoret 1,rega
+	rshift16 pdata,temp
+	istoret 1,contw
+	rshift8 pdata,temp
+	istoret 1,contw
+	istore 1,contw
+	deposit rega
+	hstore 2,core_spid_txaddr
+	setarg 0
+	hstore 2,core_spid_rxlen
+	jam spid_start,core_misc_ctrl
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf   */
+spid_read_flash:
+	hstoret 2,core_spid_rxlen
+	rshift16 pdata,temp
+	storet 1,mem_addr_hi
+	rshift8 pdata,temp
+	storet 1,mem_addr_mi
+	store 1,mem_addr_lo
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam FLASH_COMMAND_READ_DATA,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_read_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_read_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	branch wait_spid_done
+
+
+/* temp is length, rega pointers to buf  */
+spid_load_flash:
+	hstoret 2,core_spid_rxlen
+	setarg 4
+	hstore 2,core_spid_txlen
+	jam 3,mem_spid_tbuf
+	setarg mem_spid_tbuf
+	hstore 2,core_spid_txaddr
+	deposit rega
+	hstore 2,core_spid_rxaddr
+	hfetch 1,core_spid_ctrl
+	isolate0 15,rega
+	setflag true,6,pdata
+	hstore 1,core_spid_ctrl
+	jam spid_start,core_misc_ctrl
+spi_load_flash_wait:
+	hfetch 1,core_dma_status
+	bbit1 7,spi_load_flash_wait			// waiting for spid write
+	arg spid_done,queue
+	call decrypt_code
+	call wait_spid_done
+	isolate1 spid_crcok,pdata
+	call set_ucode_status
+	fetch 1,mem_addr_hi
+	lshift16 pdata,regb
+	fetch 1,mem_addr_mi
+	lshift8 pdata,pdata
+	ior regb,regb
+	fetch 1,mem_addr_lo
+	ior regb,pdata
+	iadd temp,pdata
+	store 1,mem_addr_lo
+	rshift8 pdata,pdata
+	store 1,mem_addr_mi
+	rshift8 pdata,pdata
+	store 1,mem_addr_hi
+	rtn
+
+/*****************************************************************************
+*soft reset chip
+*****************************************************************************/
+soft_reset_chip:
+	jam 1,core_reset
+	rtn
+
+
+
+/* ===================== I2C dma ======================= */
+
+iic_init_390k:	//390khz
+	jam 12,core_iicd_scl_low
+	jam 13,core_iicd_scl_high
+	jam 13,core_iicd_start_setup
+	jam 13,core_iicd_start_hold
+	jam 13,core_iicd_stop_setup
+	jam 12,core_iicd_data_setup
+  	branch iicd_init_gpio	
+
+
+iicd_init_12m:
+	jam 5,core_iicd_scl_low
+ 	jam 7,core_iicd_scl_high
+	jam 7,core_iicd_start_setup
+	jam 7,core_iicd_start_hold
+	jam 7,core_iicd_stop_setup
+	jam 5,core_iicd_data_setup
+iicd_init_gpio:	
+	hfetch 1,core_gpio_pu3
+	or_into 0xc0,pdata
+	hstore 1,core_gpio_pu3
+	hfetch 1,core_gpio_sel1
+	or_into 0x10,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+
+
+wait_iicd_done:
+	hfetch 1,core_dma_status
+	bbit0 iicd_done,wait_iicd_done
+	rtn
+
+/*
+pdata is tx length
+rega is points to tx buffer
+regb is points to rx buffer
+temp is rx length
+*/
+iicd_read_data:
+	hstore 2,core_iicd_txlen
+	deposit rega
+	hstore 2,core_iicd_txaddr	
+	deposit regb
+	hstore 2,core_iicd_rxaddr
+	deposit temp	
+	hstore 2,core_iicd_rxlen
+	arg 1,temp
+	nsetflag blank,1,temp
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	branch wait_iicd_done
+
+
+set_eeprom_size_2k:
+	set1 mark_eeprom_size,mark
+	jam 0x08,mem_eeprom_block_size
+	rtn
+
+clear_eeprom_size_2k:
+	set0 mark_eeprom_size,mark
+	jam 0x20,mem_eeprom_block_size
+	rtn
+
+
+iicd_read_eep_data_size_2k:
+ 	fetch 1,mem_eeprom_base
+	iadd regb,pdata
+	store 1,mem_addr_mi
+	branch iicd_read_eep_size_2k
+
+iicd_read_eep_size_2k_lcadcode:
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	store 1,mem_addr_mi
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr:pdata
+iicd_read_eep_size_2k:
+ 	setarg 3
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+2
+	branch iicd_read_eep_common
+
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr:regb
+iicd_write_protect_eep_data:
+	storet 2,mem_temp
+	call iicd_eeprom_write_enable
+	fetcht 2,mem_temp
+	call iicd_write_eep_data
+	branch iicd_eeprom_write_disable
+	
+iicd_eeprom_write_enable:
+	fetch 1,mem_eeprom_wp_gpio
+	rtneq GPIO_DISABLE
+	bbit0 6,iicd_wp_gpio_output_low
+	setarg 150000
+	call sleep
+iicd_wp_gpio_output_low:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_active
+	
+iicd_eeprom_write_disable:
+	fetcht 1,mem_eeprom_wp_gpio
+	branch gpio_out_inactive
+	
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_read_eep_data:
+	bpatchx patch32_0,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_data_size_2k
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+
+/* rega pointers to buf, temp is length  */
+iicd_read_eep:
+	bpatchx patch32_1,mem_patch32
+	bmark1 mark_eeprom_size,iicd_read_eep_size_2k_lcadcode
+	setarg 4
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	jam 0xa1,mem_iicd_tbuf+3
+iicd_read_eep_common:	
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	hstoret 2,core_iicd_rxlen
+	deposit rega
+	hstore 2,core_iicd_rxaddr
+	setarg 2
+	isolate0 15,rega
+	setflag true,0,pdata
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	arg iicd_done,queue
+	call decrypt_code
+	call wait_iicd_done
+	isolate1 iicd_crcok,pdata
+	call set_ucode_status
+	bmark1 mark_eeprom_size,iicd_read_eep_load_code_size_2k
+	fetch 2,mem_addr_mi
+	byteswap pdata,pdata
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+
+iicd_read_eep_load_code_size_2k:
+	fetch 1,mem_addr_mi
+	iadd temp,pdata
+	byteswap pdata,pdata
+	store 2,mem_addr_mi
+	rtn
+	
+
+//length:temp 
+//mem ptr:rega
+//eeprom addr offset:regb
+iicd_write_eep_data:
+	fetch 2,mem_eeprom_base
+	iadd regb,pdata
+
+//cuur ptr:pdata length:temp buf:rega
+iicd_write_ota_data:
+	store 2,mem_pdatatemp //curr ptr
+	bpatchx patch32_2,mem_patch32
+	storet 2,mem_temp	//len
+	copy rega,pdata
+	store 2,mem_contr
+iicd_write_eep_loop:
+	call iicd_eep_transparency
+
+	fetcht 2,mem_regb
+	fetch 2,mem_contr
+	copy pdata,rega
+	fetch 2,mem_pdatatemp
+	
+	call iicd_write_eep
+	
+	fetch 2,mem_regb
+	fetcht 2,mem_contr
+	iadd temp,temp
+	storet 2,mem_contr
+	fetcht 2,mem_pdatatemp
+	iadd temp,temp
+	storet 2,mem_pdatatemp
+	fetch 2,mem_temp
+	nbranch iicd_write_eep_loop,blank
+	rtn
+	
+//in:
+//1.size 2.len 3.src 4.des
+//mem_regc page's area
+//mem_pdatatemp curr ptr
+//mem_temp all len      
+//mem_regb curr len
+iicd_eep_transparency:
+	bpatchx patch32_3,mem_patch32
+	fetch 1,mem_eeprom_block_size
+	increase -1,pdata
+	fetcht 2,mem_pdatatemp
+	ior temp,pdata
+	increase 1,pdata
+	store 3,mem_regc
+
+	fetch 2,mem_temp
+	iadd temp,pdata
+
+	fetcht 3,mem_regc
+	isub temp,pdata
+	nbranch iicd_eep_deal_short_packet,positive
+	store 2,mem_temp
+	fetch 3,mem_regc
+	fetcht 2,mem_pdatatemp
+	isub temp,pdata
+	store 2,mem_regb
+	rtn
+iicd_eep_deal_short_packet:
+	fetch 2,mem_temp
+	store 2,mem_regb
+	setarg 0
+	store 2,mem_temp
+	rtn
+
+iicd_write_eep_size_2k:
+	increase 2,temp
+	hstoret 2,core_iicd_txlen
+	increase -2,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+//	byteswap pdata,pdata
+	istore 1,contw
+	branch iicd_write_eep_common
+
+	/* pdata is eeprom address, rega pointers to txdata(3 ahead bytes should be left), temp is length */
+iicd_write_eep:
+	copy pdata,regb
+	bpatchx patch32_4,mem_patch32
+	bmark1 mark_eeprom_size,iicd_write_eep_size_2k
+	copy regb,pdata
+	increase 3,temp
+	hstoret 2,core_iicd_txlen
+	increase -3,rega
+	ifetcht 3,rega
+	copy temp,regb
+	arg 0xa0,temp
+	istoret 1,rega
+	byteswap pdata,pdata
+	istore 2,contw
+iicd_write_eep_common:	
+	deposit rega
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	jam 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	copy regb,pdata
+	istore 3,rega
+	
+iic_check_eeprom_standby:
+	bpatchx patch32_5,mem_patch32
+	jam 0,mem_iicd_tbuf+3
+iic_check_eeprom_standby_wait:
+	setarg 1
+	hstore 2,core_iicd_txlen
+	jam 0xa0,mem_iicd_tbuf
+	setarg mem_iicd_tbuf
+	hstore 2,core_iicd_txaddr
+	setarg 0
+	hstore 2,core_iicd_rxlen
+	hstore 2,core_iicd_rxaddr
+	setarg 3
+	hstore 1,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	hfetch 1,core_dma_status
+	rtnbit0 iicd_ack
+	nop 1500
+	fetch 1,mem_iicd_tbuf+3
+	increase 1,pdata
+	store 1,mem_iicd_tbuf+3
+	sub pdata,40,null
+	nrtn positive//polling timeout 6ms
+	branch iic_check_eeprom_standby_wait
+
+/* ===================== OTP ======================= */
+
+otp_enable_chgpump:
+	jam 0x70,rfen_chgpump
+	nop param_chgpump_delay
+	rtn
+
+otp_disable_chgpump:
+	jam 0x30,rfen_chgpump
+	rtn
+	
+otp_set_addr:
+	lshift3 pdata,pdata
+	hstore 2,core_otp_addr
+	jam 0,core_otpd_ctrl
+	rtn	
+
+/* pdata = otp address, rega pointers data, loopcnt is count */
+otp_write:
+	call otp_set_addr
+	call otp_ce
+otp_program:
+	ifetcht 1,rega
+	increase 1,rega
+	force 0,queue
+otp_program_bit:
+	qisolate0 temp
+	branch otp_skip_0,true
+	hfetch 1,core_otp_din
+	set1 6,pdata				/* din */
+	set1 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x02,core_otp_ctrl	/* web */
+	jam 0x82,core_otp_ctrl
+	set0 7,pdata				/* dle */
+	hstore 1,core_otp_din
+	jam 0x8a,core_otp_ctrl	/* pgmen */
+	nop 11
+	jam 0xca,core_otp_ctrl	/* vppen */
+	nop 33
+	jam 0x4a,core_otp_ctrl	/* web 2nd */
+	nop 44
+	jam 0xca,core_otp_ctrl	/* release web */
+	nop 22
+	jam 0x8a,core_otp_ctrl	/* release vppen */
+	nop 33
+	jam 0x82,core_otp_ctrl	/* release pgmen */
+	nop 1
+	jam 0x92,core_otp_ctrl	/* pgmvfy */
+	nop 10
+	jam 0xb2,core_otp_ctrl	/* readen */
+	hfetch 1,core_otp_rdata
+	jam 0x92,core_otp_ctrl	/* release readen */
+	nop 1
+	jam 0x82,core_otp_ctrl	/* release pgmvfy */
+	qisolate0 pdata
+	branch otp_program_bit,true	/* program error */
+otp_skip_0:
+	hfetch 2,core_otp_addr
+	increase 1,pdata
+	hstore 2,core_otp_addr
+	increase 1,queue
+	compare 8,queue,0xf
+	nbranch otp_program_bit,true
+	loop otp_program
+	jam 0x83,core_otp_ctrl
+	rtn
+
+otp_ce:
+	jam 0x82,core_otp_ctrl	/* ceb */
+	nop 12
+	jam 0x80,core_otp_ctrl	/* rstn */
+	jam 0x82,core_otp_ctrl	/* release rstn */
+	nop 150					/* waiting for vdd25 stable */
+	rtn
+
+	/* rega points to data, temp is count */
+otpd_read_init:
+	call otp_ce
+	jam 0xa2,core_otp_ctrl	/* readen */
+	deposit rega
+	hstore 2,core_otpd_addr
+	set1 11,temp
+	isolate0 15,pdata
+	setflag true,15,temp
+	hstoret 2,core_otpd_len
+	jam otpd_start,core_misc_ctrl
+	rtn
+
+otpd_wait_end:
+	hfetch 1,core_dma_status
+	bbit0 otpd_done,otpd_wait_end
+	rtn
+	
+	/* pdata=otp address, rega points to data, temp is count */
+otpd_read_data:
+	call otp_set_addr
+	call otpd_read_init
+	call otpd_wait_end
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+
+
+/* rega pointers to buf, temp is length */
+otpd_read_code:	
+	hfetch 2,core_current_otp_addr
+	hstore 2,core_otp_addr
+	call otpd_read_init
+	arg otpd_done,queue
+	call decrypt_code
+	call otpd_wait_end
+	isolate1 otpd_crcok,pdata	
+	call set_ucode_status
+	jam 0x83,core_otp_ctrl	/* release ceb */
+	rtn
+
+/* ===================== uart dma ======================= */
+uartd_prepare_tx:
+	hfetch 2,core_uart_twptr
+	iforce contwu
+	rtn
+
+uartd_send:
+	deposit contwu
+	hstore 2,core_uart_twptr
+	rtn
+
+uartd_rxdone:
+	deposit contru
+	hstore 2,core_uart_rrptr
+	rtn
+
+uartd_prepare_rx:
+	hfetch 2,core_uart_rrptr
+	copy pdata,contru
+	rtn
+
+uart_set_baud_by_mem:
+	fetch uart_baud_len,mem_baud
+	hstore uart_baud_len,core_uart_baud
+	rtn
+
+uart_copy_tx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_tx_8_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_tx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_tx_4_bytes,positive
+	rtn zero
+	branch uart_copy_tx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_tx_bytes
+
+uart_tx_8_bytes:
+	ifetch 8,contr
+	istore 8,contwu
+	rtn
+
+uart_tx_4_bytes:
+	ifetch 4,contr
+	istore 4,contwu
+	rtn
+
+uart_copy_tx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_tx_bytes_loop:
+	ifetch 1,contr
+	istore 1,contwu
+	loop uart_copy_tx_bytes_loop
+	rtn
+
+uart_copy_rx_bytes_fast:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_fast_loop:
+	increase -8,loopcnt
+	call uart_rx_8_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop,positive
+	increase 8,loopcnt
+uart_copy_rx_bytes_fast_loop_four:
+	increase -4,loopcnt
+	call uart_rx_4_bytes,positive
+	rtn zero
+	branch uart_copy_rx_bytes_fast_loop_four,positive
+	increase 4,loopcnt
+	branch uart_copy_rx_bytes
+
+uart_rx_8_bytes:
+	ifetch 8,contru
+	istore 8,contw
+	rtn
+
+uart_rx_4_bytes:
+	ifetch 4,contru
+	istore 4,contw
+	rtn
+
+
+uart_copy_rx_bytes:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx_bytes_loop:
+	ifetch 1,contru
+	istore 1,contw
+	loop uart_copy_rx_bytes_loop
+	rtn
+
+
+uart_copy_rx2tx:
+	deposit loopcnt
+	rtn blank
+uart_copy_rx2tx_loop:
+	ifetch 1,contru
+	istore 1,contwu
+	loop uart_copy_rx2tx_loop
+	rtn
+
+
+/* ===================== eeprom data ======================= */
+
+app_store_nvram_event:
+	jam BT_EVT_STORE_NVRAM,mem_fifo_temp
+	branch ui_ipc_send_event
+
+check_51cmd_store_reconn_info:
+check_51cmd_update_device_record:
+	bpatchx patch32_6,mem_patch32
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	call check_nvram
+	call init_device_list,zero
+	call nvram_find_addr_from_bd_list
+write_device_record:
+	fetch 1,mem_nv_data_number
+	icopy regc
+	fetcht 2,mem_nv_data_ptr
+	storet 2,mem_list_item_ptr
+write_device_loop_find:
+	copy regc,pdata
+	branch app_store_nvram_event,blank  //EEPROM
+	increase -1,regc
+	copy temp,rega
+	ifetch 1,rega
+	fetcht 1,mem_select_list_item
+	isub temp,null
+	call set_index_finded_device,zero
+	branch write_device_loop_find0,positive
+	ifetch 1,rega
+	increase 1,pdata
+	istore 1,rega
+write_device_loop_find0:
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	branch write_device_loop_find
+
+set_index_finded_device:
+	setarg 0
+	istore 1,rega
+	fetch 1,mem_temp_reconn_record
+	istore 1,contw	
+	bne REC_3_MODE,set_index_finded_device_ble_mode
+	arg mem_link_key,regb
+set_index_find_device_MASTER_ADDR:
+	ifetch 6,contr
+	istore 8,contw
+	setarg 0
+	istore 8,contw
+	copy regb,contr
+store_rec_data_common:
+	call memcpy16
+	force 1,null
+	rtn
+
+set_index_finded_device_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_IRK
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,set_index_finded_device_EDIV
+	arg mem_le_ltk,regb
+	branch set_index_find_device_MASTER_ADDR
+
+set_index_finded_device_IRK:
+	arg mem_le_irk,contr
+	call memcpy16
+store_ble_rec_data_common:
+	arg mem_le_ltk,contr
+	branch store_rec_data_common
+
+set_index_finded_device_EDIV:
+	arg mem_le_rand,contr
+	call memcpy16
+	branch store_ble_rec_data_common
+
+
+nvram_find_addr_from_bd_list:
+	call disable_user
+	fetch 1,mem_nv_data_number
+	rtn blank		// not nv data
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,find_addr_from_bd_list_SPP_mode
+find_addr_from_bd_list_ble_mode:
+	bpatchx patch32_7,mem_patch32
+	fetch 1,mem_le_conn_peer_addr_type
+	beq MASTER_PUBLIC_ADDR,find_addr_from_bd_list_static_addr
+	fetch 1,mem_le_plap+5
+	compare 0xc0,pdata,0xc0
+	branch find_addr_from_bd_list_static_addr,true
+	compare 0x40,pdata,0xc0
+	branch find_addr_from_bd_list_random_addr,true
+	compare 0x00,pdata,0xc0
+	branch find_addr_from_bd_list_random_non_resolvable_private_address,true
+find_addr_from_bd_list_static_addr:
+	jam REC_4_MODE_STATIC_ADDRESS,mem_temp_reconn_record
+	fetch 6,mem_le_plap
+	branch find_addr_from_bd_list_common
+	
+find_addr_from_bd_list_random_non_resolvable_private_address:	
+	jam REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+
+//input :pdata EDIV and rands
+find_addr_from_bd_list_random_addr:
+	jam REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,mem_temp_reconn_record
+	branch find_addr_from_bd_list_common
+	
+//input :pdata EDIV and rands
+find_addr_from_bd_list_SPP_mode:
+	bpatchx patch33_0,mem_patch33
+	jam REC_3_MODE,mem_temp_reconn_record
+	fetch 6,mem_plap
+find_addr_from_bd_list_common:
+	store 6,mem_temp_reconn_record+1
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease 1
+	store 2,mem_list_item_ptr
+	storet 1,mem_select_list_item
+	fetch 1,mem_nv_data_number
+	icopy regc
+nvram_find_addr_from_list:
+	fetch 2,mem_list_item_ptr
+	copy pdata,rega
+	call nvram_find_addr_from_list_compare
+	rtn user
+	fetcht 2,mem_list_item_ptr
+	increase NV_DATA_LEN,temp
+	storet 2,mem_list_item_ptr
+	increase -1,temp
+	ifetch 1,temp
+	store 1,mem_select_list_item
+	increase -1,regc
+	nbranch nvram_find_addr_from_list,zero
+	fetch 1,mem_nv_data_number
+	pincrease DECREASED_ONE
+	store 1,mem_select_list_item
+	rtn
+nvram_find_addr_from_list_compare:
+	fetch 1,mem_temp_reconn_record
+	bne REC_3_MODE,find_addr_from_list_compare_ble_mode
+find_master_addr_from_list_compare:
+	arg mem_temp_reconn_record,regb
+	arg 7,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+find_addr_from_list_compare_ble_mode:
+	beq REC_4_MODE_RANDOM_RESOLVABLE_PRIVATE_ADDRESS,find_irk_form_list_compare
+	beq REC_4_MODE_RANDOM_NON_RESOLVABLE_PRIVATE_ADDRESS,find_ediv_form_list_compare
+	branch find_master_addr_from_list_compare
+
+find_irk_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	arg mem_le_prand,contw
+	arg 16,loopcnt
+	call clear_mem
+	fetch 3,mem_le_plap+3
+	store 3,mem_le_prand
+	call genernate_master_MacAddress
+	fetch 2,mem_le_aes_128+13
+	byteswap pdata,pdata
+	lshift8 pdata,temp
+	ifetch 1,contr
+	iadd temp,pdata
+	fetcht 3,mem_le_plap
+	isub temp,null
+	branch enable_user,zero
+	rtn
+
+
+genernate_master_MacAddress:
+	arg mem_le_prand ,contr
+	call load_data128
+//	arg mem_le_irk,contr
+	ifetch 1,rega
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_aes_128,contw
+	branch store_aes_result
+
+find_ediv_form_list_compare:
+	ifetcht 1,rega
+	isub temp,null
+	nrtn zero
+	copy contr,rega
+	add contr,8,regc
+	arg mem_le_rand,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	copy regc,rega
+	arg mem_le_irk,regb
+	arg 8,loopcnt
+	call string_compare
+	branch enable_user,zero
+	rtn
+
+check_nvram:
+	fetch 2,mem_nv_data_ptr
+	ifetcht 1,pdata
+	pincrease NV_DATA_LEN
+	ifetch 1,pdata
+	isub temp,null
+	rtn
+
+init_device_list:
+	fetch 1,mem_nv_data_number
+	icopy loopcnt
+	fetcht 2,mem_nv_data_ptr
+	setarg 0
+init_device_list_loop:
+	istore 1,temp
+	increase NV_DATA_LEN,temp
+	pincrease 1
+	loop init_device_list_loop
+	rtn
+
+load_device_list:
+	bpatchx patch33_1,mem_patch33
+	call nvram_find_addr_from_bd_list
+	fetch 1,mem_state
+	setflag user,state_combkey,pdata	/* we have link key */
+	store 1,mem_state
+	nbranch clear_key_exists,user
+	add rega,10,contr
+//	copy rega,contr
+	arg mem_link_key,contw
+	call  memcpy16
+	branch check_link_key_load
+clear_key_exists:
+	jam 0,mem_link_key_exists
+	rtn
+
+load_device_list_mode_4:
+	fetch 9,mem_le_ediv
+	branch clear_ltk_exists,blank
+	call nvram_find_addr_from_bd_list
+	nbranch clear_ltk_exists,user
+	fetch 2,mem_list_item_ptr
+	add pdata,1,contr
+	arg mem_le_irk,contw
+	call  memcpy16
+	arg mem_le_ltk,contw
+	call  memcpy16
+	jam 1,mem_ltk_exists
+	rtn
+
+clear_ltk_exists:
+	jam 0,mem_ltk_exists
+	rtn
+
+
+eeprom_store_le_reconn_info:
+	fetch 6,mem_le_plap
+	store 6,mem_temp_lap
+	jam REC_4_MODE,mem_record_bt_mode
+	branch eeprom_store_reconn_info
+eeprom_store_bd_reconn_info:
+	fetch 6,mem_plap
+	store 6,mem_temp_lap
+	jam REC_3_MODE,mem_record_bt_mode
+eeprom_store_reconn_info:
+	fetch 1,mem_device_option
+	beq dvc_op_module,check_51cmd_update_device_record
+	bbit1 dvc_op_mouse,mouse_store_remote_bdaddr
+	rtn
+	
+
+check_link_key_load:
+	fetch 8,mem_link_key
+	fetcht 8,mem_link_key+8
+	ior temp,pdata
+	rtn blank
+	jam 1,mem_link_key_exists
+	rtn
+	
+
+/* =============== GPIO CONTROL ================= */
+
+
+	//temp [4:0]=GPIO number, 0-31, 
+gpio_set_wake_by_current_state:
+	bpatchx patch33_2,mem_patch33
+	set1 7,temp
+	call gpio_get_bit
+	nsetflag true,7,temp
+	//branch gpio_set_wake
+	//fall through
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_set_wake:
+	bpatchx patch33_3,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qsetflag true,pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	nqsetflag true,pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+	
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_clr_wake:
+	bpatchx patch33_4,mem_patch33
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,temp
+	and temp,0x1f,queue
+	fetch 4,mem_gpio_wakeup_low
+	qset0 pdata
+	store 4,mem_gpio_wakeup_low
+	fetch 4,mem_gpio_wakeup_high
+	qset0 pdata
+	store 4,mem_gpio_wakeup_high
+	rtn
+
+
+gpio_config_input_nowake:
+	call gpio_clr_wake
+	branch gpio_config_input_without_wake
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active
+gpio_config_input:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	ncall gpio_set_wake,wake
+
+gpio_config_input_without_wake:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	setflip gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+gpio_set_high_impedance:
+	arg core_gpio_pd0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_pu0,contw
+	call gpio_set_bit
+	set0 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+
+
+	//temp [4:0]=GPIO number, 0-31, [7]=0, low active. set gpio to inactive state
+gpio_config_output:	
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	setflip gpio_active_bit,temp
+	call gpio_out
+gpio_config_output0:
+	set1 gpio_active_bit,temp
+	arg core_gpio_oe0,contw
+	branch gpio_set_bit
+	
+gpio_common:
+	and temp,0x07,queue
+	rshift3 temp,pdata
+	and_into 3,pdata
+	iadd contw,contw
+	ifetch 1,contw
+	rtn
+
+gpio_check_active:
+	arg core_gpio_out0,contw
+	branch get_bit_common
+
+	
+	/* temp is gpio number, return true if gpio active */
+gpio_get_bit:
+	arg core_gpio_in,contw
+get_bit_common:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	branch gpio_get_bit_reverse,true
+	qisolate0 pdata
+	rtn
+gpio_get_bit_reverse:
+	qisolate1 pdata
+	rtn
+
+gpio_out_inactive:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate1 7,null
+	branch gpio_out_flag
+
+gpio_out_active:
+	sub temp,UI_BUTTON_GPIO_DISABLE,null
+	rtn zero
+	isolate0 7,null
+
+	/* temp is gpio number,  [7]=1,set out equa true flag if gpio active */
+gpio_out_flag:
+	setarg 0
+	nsetflag true,gpio_active_bit,pdata
+	ixor temp,temp
+	
+	/* temp is gpio number,0-31, [7]=out bit value */
+gpio_out:
+	arg core_gpio_out0,contw
+
+	//temp [4:0]=GPIO number, 0-31, [7]=bit value; contw is gpio reg base
+gpio_set_bit:
+	call gpio_common
+	isolate1 gpio_active_bit,temp
+	qsetflag true,pdata
+	istore 1,contw
+	rtn
+
+gpio_set_before_lpm_common:
+	arg -1,rega
+	hfetch 1,core_gpio_sel1
+	compare 0x02,pdata,0x03
+	call neglact4_from_23_pin,true	//spi
+
+	compare 0x01,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio25 26
+
+	compare 0x03,pdata,0x03
+	call neglact2_form_25_pin,true	//two spi gpio30 31
+	 	 
+	isolate1 2,pdata
+	call neglect2_from_6_pin,true	//uart
+	 
+	isolate1 3,pdata
+	call neglect4_from_9_pin,true	//spi
+
+	isolate1 4,pdata
+	call neglact2_form_30_pin,true	//IIC GPIO30 31
+
+	isolate1 6,pdata
+	nsetflag true,04,rega			//pwm0 gpio4
+
+	isolate1 7,pdata
+	nsetflag true,05,rega			//pwm1 gpio5
+
+	hfetch 1,core_gpio_sel2
+	isolate1 0,pdata
+	nsetflag true,27,rega			//pwm2 gpio27
+	isolate1 1,pdata
+	nsetflag true,28,rega			//pwm3 gpio28
+	isolate1 2,pdata
+	nsetflag true,03,rega			//pwm4 gpio03
+	isolate1 3,pdata
+	nsetflag true,08,rega			//pwm5 gpio08
+	isolate1 4,pdata
+	nsetflag true,20,rega			//pwm0 gpio20
+	isolate1 5,pdata
+	nsetflag true,21,rega			//pwm1 gpio21
+	isolate1 6,pdata
+	nsetflag true,22,rega			//pwm2 gpio22
+	isolate1 7,pdata
+	nsetflag true,23,rega			//pwm3 gpio23
+		
+	hfetch 1,core_gpio_sel
+	isolate1 0,pdata
+	nsetflag true,05,rega			//ADC GPIO05
+	isolate1 1,pdata
+	nsetflag true,06,rega			//ADC GPIO06
+	isolate1 2,pdata
+	nsetflag true,07,rega			//ADC GPIO07
+	isolate1 3,pdata
+	nsetflag true,18,rega			//ADC GPIO18
+	isolate1 4,pdata
+	nsetflag true,19,rega			//ADC GPIO19
+	isolate1 5,pdata
+	nsetflag true,20,rega			//ADC GPIO20
+	isolate1 6,pdata
+	nsetflag true,21,rega			//ADC GPIO21
+	isolate1 7,pdata
+	nsetflag true,22,rega			//ADC GPIO22
+	
+	hfetch 1,core_uart_ctrl
+	isolate1 4,pdata
+	call neglact2_form_2_pin,true
+	bpatchx patch33_5,mem_patch33
+
+	hfetch 4,core_gpio_pu0
+	hfetcht 4,core_gpio_pd0
+	ior temp,pdata
+	invert pdata,pdata
+	iand rega,pdata
+	//set0 4,pdata //revc
+	hstore 4,core_gpio_oe0
+	rtn
+	
+	
+neglect2_from_6_pin: //uart
+	 arg 6,queue
+	 branch neglect_2_pin
+neglect4_from_9_pin:
+	 arg 9,queue
+	 branch neglact_4_pin
+neglact4_from_23_pin:
+	 arg 23,queue
+	 branch neglact_4_pin
+neglact2_form_25_pin:
+	 arg 25,queue
+	 branch neglect_2_pin
+neglact2_form_30_pin:
+	 arg 30,queue
+	 branch neglect_2_pin
+neglact2_form_2_pin:
+	 arg 2,queue
+	 branch neglect_2_pin
+neglact_1_pin:
+	arg 1,loopcnt
+	branch neglect_pin_loop
+neglact_4_pin:
+	 arg 4,loopcnt
+	 branch neglect_pin_loop
+neglect_2_pin:
+	 arg 2,loopcnt
+neglect_pin_loop:
+	 qset0 rega
+	 increase 1,queue
+	 loop neglect_pin_loop
+	 rtn
+
+
+
+
+
+
+/* ===================== sniff GPIO CONTROL ======================= */
+gpio_cfg_uart_tx_output:
+	call gpio_uart2gpio
+	arg UART_WAKEUP_TX,temp
+	branch gpio_config_output
+
+gpio_pu_uart_tx:
+	call gpio_cfg_uart_tx_output
+	arg UART_WAKEUP_TX,temp
+	branch gpio_out_inactive
+
+
+
+gpio_rx_config_input_with_pu:
+	call gpio_uart2gpio
+	hfetch 1, core_gpio_pu0
+	set1 UART_WAKEUP_RX,pdata
+	hstore 1,core_gpio_pu0
+	arg UART_WAKEUP_RX,temp
+	branch gpio_config_input
+	
+gpio_uart2gpio:
+	hfetch 1,core_gpio_sel1
+	and_into 0xfb,pdata
+	hstore 1,core_gpio_sel1
+	rtn
+
+gpio_check_uart_state:
+	hfetch 1,core_gpio_sel1
+	isolate1 2,pdata
+	rtn
+
+load_chip_option:
+	call otp_enable_chgpump
+	setarg OTP_CHIP_FUNCTIONS
+	arg mem_chip_functions,rega
+	arg 0x02,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+load_adc_init:
+	call otp_enable_chgpump
+	setarg otp_adc_io_0_5V_addr
+	arg mem_0_5_adc_io_data,rega
+	arg 14,temp
+	call otpd_read_data
+	branch otp_disable_chgpump
+
+
+//mem_adc_config_flag 0:vinlpm 1:Hvin 2: GPIO
+adc_init_data:
+	bpatchx patch33_6,mem_patch33
+
+	call load_adc_init
+	
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_init_data_vinlpm
+	beq ADC_CONFIG_HVIN,adc_init_data_hvin
+	beq ADC_CONFIG_GPIO,adc_init_data_io
+	rtn	
+
+adc_init_data_vinlpm:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_vinlpm,zero
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data	
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+	branch set_vdd_reference_voltage_1v
+
+adc_check_data_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	nbranch adc_check_2v_vinlpm,blank
+	setarg 0x4dfa
+	store 2,mem_3v_adc_vinlpm_data
+adc_check_2v_vinlpm:	
+	fetch 2,mem_2v_adc_vinlpm_data
+	nbranch set_vdd_reference_voltage_1v,blank
+	setarg 0x4894
+	store 2,mem_2v_adc_vinlpm_data
+set_vdd_reference_voltage_1v:
+	setarg 100
+	store 2,mem_reference_voltage //set reference voltage = 1V
+	rtn		
+
+adc_init_data_hvin:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_hvin,zero
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data	
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+	branch set_vdd_reference_voltage_4v
+
+adc_check_data_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	nbranch adc_check_1v_hvin,blank
+	setarg 0x5932
+	store 2,mem_5v_adc_hvin_data
+adc_check_1v_hvin:	
+	fetch 2,mem_1v_adc_hvin_data
+	nbranch set_vdd_reference_voltage_4v,blank
+	setarg 0x4323
+	store 2,mem_1v_adc_hvin_data
+set_vdd_reference_voltage_4v:
+	setarg 400
+	store 2,mem_reference_voltage //set reference voltage = 4V
+	rtn 	
+
+adc_init_data_io:
+	fetcht 2,mem_otp_adc_flag
+	setarg OTP_ADC_FLAG
+	isub temp,null
+	branch adc_check_data_io,zero
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data	
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+	branch set_vdd_reference_voltage_0_5v
+
+adc_check_data_io:
+	fetch 2,mem_1v_adc_io_data
+	nbranch adc_check_0_5v_io,blank
+	setarg 0x6946
+	store 2,mem_1v_adc_io_data
+adc_check_0_5v_io:
+	fetch 2,mem_0_5_adc_io_data
+	nbranch set_vdd_reference_voltage_0_5v,blank
+	setarg 0x5377
+	store 2,mem_0_5_adc_io_data
+set_vdd_reference_voltage_0_5v:
+	setarg 50
+	store 2,mem_reference_voltage //set reference voltage = 0.5V
+	rtn	
+
+
+adc_set_mode:
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,adc_check_vinlpm
+	beq ADC_CONFIG_HVIN,adc_check_hvin
+	beq ADC_CONFIG_GPIO,adc_check_gpio
+	rtn
+adc_check_vinlpm:
+	jam 0xbf,rf_adc_mode	//read VINLPM voltage directly	
+	branch read_adc
+adc_check_hvin:
+	jam 0xaf,rf_adc_mode	//read HVIN voltage directly
+	branch read_adc
+adc_check_gpio:
+	jam 0x8f,rf_adc_mode
+	fetch 1,mem_adc_channel
+	hstore 1,rf_adc_ch
+	branch read_adc
+read_adc:
+	bpatchx patch33_7,mem_patch33
+	hfetch 1,core_uart_baud + 1
+	set1 7,pdata
+	hstore 1,core_uart_baud + 1 
+	hfetch 1,rf_adc_ch
+	or_into 0x30,pdata
+	hstore 1,rf_adc_ch
+	jam 0x7c,rfen_adc
+	jam 0xaa,rf_adc_gc
+	nop 5000
+	hfetcht 2,core_adc_sum
+	hfetch 1,core_uart_baud + 1
+	set0 7,pdata
+	hstore 1,core_uart_baud + 1
+	storet 2,mem_adc_current_value
+	rtn
+
+vdd_calculate_by_mode:
+	bpatchx patch34_0,mem_patch34
+	fetch 1,mem_adc_config_flag
+	beq ADC_CONFIG_VINLPM,vdd_calculate_vinlpm
+	beq ADC_CONFIG_HVIN,vdd_calculate_hvin
+	beq ADC_CONFIG_GPIO,vdd_calculate_io
+	rtn
+
+vdd_calculate_vinlpm:
+	fetch 2,mem_3v_adc_vinlpm_data
+	fetcht 2,mem_2v_adc_vinlpm_data
+	arg 200,regc
+	branch vdd_calculate
+
+vdd_calculate_hvin:
+	fetch 2,mem_5v_adc_hvin_data
+	fetcht 2,mem_1v_adc_hvin_data
+	arg 100,regc
+	branch vdd_calculate
+
+vdd_calculate_io:
+	fetch 2,mem_1v_adc_io_data
+	fetcht 2,mem_0_5_adc_io_data
+	arg 50,regc
+	branch vdd_calculate
+	
+vdd_calculate:
+	isub temp,rega
+	fetch 2,mem_adc_current_value
+	isub temp,pdata
+	nbranch vdd_calculate1,positive
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	iadd regb,pdata
+vdd_calculate2:
+	idiv rega
+	call wait_div_end
+	quotient pdata	
+	rtn
+
+vdd_calculate1:
+	copy temp,pdata
+	fetcht 2,mem_adc_current_value
+	isub temp,pdata
+	fetcht 2,mem_reference_voltage
+	imul32 temp,regb
+	copy regc,pdata
+	imul32 rega,pdata
+	isub regb,pdata
+	branch vdd_calculate2
+
+/*	typedef struct
+*	{
+*		uint16 full_vol
+*		uint16 empty_vol
+*		uint16 low_vol
+*		uint16 now_vol
+*	}bat_calculate;
+*/
+//out:	pdata->bat percent
+adc_bat_percent_lowpower_out:
+	ifetch 8,rega
+	store 8,mem_pdatatemp
+	fetch 2,mem_pdatatemp
+	fetcht 2,mem_pdatatemp+2
+	isub temp,rega
+	fetch 2,mem_pdatatemp+6
+	isub temp,regb
+	fetcht 2,mem_pdatatemp+4
+	isub temp,null
+	ncall adc_set_low_power_flag,positive
+	mul32 regb,100,pdata
+	idiv rega
+	call wait_div_end
+	quotient pdata
+	call adc_set_no_power_flag,blank
+	rtn
+adc_set_low_power_flag:
+	fetch 1,mem_adc_power_flag
+	set1 0,pdata
+	store 1,mem_adc_power_flag
+	rtn
+adc_set_no_power_flag:
+	fetcht 1,mem_adc_power_flag
+	set1 1,temp
+	storet 1,mem_adc_power_flag
+	rtn
+
+ifdef SPI_SIMULATE
+/******************************simulate spi slave start**********************************/
+
+/*
+// Define SPI struct, gpio config
+mem_spi_simulate_struct:
+02	#cs
+03	#sclk
+04	#mosi
+05	#miso
+08	#motion
+*/
+
+/*
+Brief: spi_simulate_init_slave
+Input: None
+Output: None
+Return: None
+Brief: cs_gpio,sclk_gpio,mosi_gpio : input
+	miso_gpio : output
+*/
+spi_simulate_init_slave:
+	call spi_simulate_variable_release_slave
+	branch spi_simulate_gpio_config_slave
+
+spi_simulate_variable_release_slave:
+	arg mem_spi_simulate_read_byte_slave,contw
+	arg 53,loopcnt
+	call buffer_release
+	arg mem_spi_simulate_write_byte_slave,contw
+	arg 54,loopcnt
+	branch buffer_release
+
+buffer_release:
+	setarg 0
+buffer_release_loop:
+	istore 1,contw
+	loop buffer_release_loop
+	rtn
+	
+spi_simulate_gpio_config_slave:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_sclk_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_mosi_gpio
+	call gpio_config_input
+	fetcht 1,mem_spi_simulate_miso_gpio
+	call gpio_config_output
+	fetcht 1,mem_spi_simulate_motion_gpio
+	call gpio_config_output
+	branch spi_simulate_motion_disable
+
+spi_simulate_motion_enable:
+	fetcht 1,mem_spi_simulate_motion_gpio
+	branch gpio_out_inactive
+spi_simulate_motion_disable:
+	fetcht 1,mem_spi_simulate_motion_gpio
+	branch gpio_out_active
+	
+/*
+Brief: spi_simulate_read_byte_slave
+Input: rega: read length
+Output: mem_spi_simulate_read_byte_slave: read buffer
+Return: None
+Brief: when the cs_gpio is low level,slave reads data from master at the rising edge of the sclk gpio
+*/
+spi_simulate_read_byte_slave:
+	copy rega,pdata
+	store 1,mem_spi_simulate_read_length_slave
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nrtn true
+spi_simulate_read_byte_slave1:	
+	jam 0,mem_spi_simulate_read_byte_slave_temp
+	arg 8,loopcnt
+spi_simulate_read_byte_slave_loop:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_end,true
+	
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	branch spi_simulate_read_byte_slave_loop,true	
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	lshift pdata,pdata
+	store 1,mem_spi_simulate_read_byte_slave_temp
+	fetcht 1, mem_spi_simulate_mosi_gpio
+	call gpio_get_bit
+	ncall spi_simulate_read_byte_or_one,true
+spi_simulate_read_byte_slave_loop1:	
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_end,true
+
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_loop1,true
+	loop spi_simulate_read_byte_slave_loop
+	
+	fetcht 1,mem_spi_simulate_read_length_slave_temp
+	setarg mem_spi_simulate_read_byte_slave
+	iadd temp,contw
+	copy contw,regb
+	increase 1,temp
+	storet 1,mem_spi_simulate_read_length_slave_temp
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	copy regb,contw
+	istore 1,contw
+
+	fetch 1,mem_spi_simulate_read_length_slave
+	increase -1,pdata
+	store 1,mem_spi_simulate_read_length_slave
+	nbranch spi_simulate_read_byte_slave1,blank
+	
+spi_simulate_read_byte_slave_loop2:	
+	fetcht 1, mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_read_byte_slave_loop2,true
+spi_simulate_read_byte_slave_end:	
+	jam 0,mem_spi_simulate_read_length_slave
+	jam 0,mem_spi_simulate_read_length_slave_temp
+	jam 0,mem_spi_simulate_read_byte_slave_temp
+	rtn
+
+spi_simulate_read_byte_or_one:
+	fetch 1,mem_spi_simulate_read_byte_slave_temp
+	or_into 1,pdata
+	store 1,mem_spi_simulate_read_byte_slave_temp
+	rtn
+
+
+/*
+Brief: spi_simulate_write_byte_slave
+Input: rega: write length;  write buffer:mem_spi_simulate_write_byte_slave;
+Output: None
+Return: None
+Brief: when the cs_gpio is low level,slave writes data to master at the falling edge of the sclk gpio
+*/
+spi_simulate_write_byte_slave:
+	copy rega,pdata
+	store 1,mem_spi_simulate_write_length_slave
+	jam 0,mem_spi_simulate_write_length_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nrtn true
+spi_simulate_write_byte_slave1:
+	fetcht 1,mem_spi_simulate_write_length_slave_temp
+	setarg mem_spi_simulate_write_byte_slave
+	iadd temp,contr
+	copy contr,regb
+	increase 1,temp
+	storet 1,mem_spi_simulate_write_length_slave_temp
+	copy regb,contr
+	ifetch 1,contr
+	store 1,mem_spi_simulate_write_byte_slave_temp
+	
+	arg 8,loopcnt
+spi_simulate_write_byte_slave_loop:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_end,true
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	branch spi_simulate_write_byte_slave_loop,true
+spi_simulate_write_byte_slave_loop1:
+	fetch 1,mem_spi_simulate_write_byte_slave_temp
+	store 1,mem_spi_simulate_write_byte_slave_temp_temp
+	and_into 0x80,pdata
+	beq 0x80,spi_simulate_set_miso_gpio_high
+	call spi_simulate_set_miso_gpio_low
+spi_simulate_write_byte_slave_loop2:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_end,true
+	fetcht 1, mem_spi_simulate_sclk_gpio
+	call gpio_get_bit
+	nbranch spi_simulate_write_byte_slave_loop2,true	
+	fetch 1,mem_spi_simulate_write_byte_slave_temp_temp
+	lshift pdata,pdata
+	store 1,mem_spi_simulate_write_byte_slave_temp
+	loop spi_simulate_write_byte_slave_loop
+
+	fetch 1,mem_spi_simulate_write_length_slave
+	increase -1,pdata
+	store 1,mem_spi_simulate_write_length_slave
+	nbranch spi_simulate_write_byte_slave1,blank
+	
+spi_simulate_write_byte_slave_loop3:
+	fetcht 1,mem_spi_simulate_cs_gpio
+	call gpio_get_bit
+	branch spi_simulate_write_byte_slave_loop3,true
+spi_simulate_write_byte_slave_end:	
+	jam 0,mem_spi_simulate_write_length_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp
+	jam 0,mem_spi_simulate_write_byte_slave_temp_temp
+	rtn
+	
+spi_simulate_set_miso_gpio_high:
+	fetcht 1,mem_spi_simulate_miso_gpio
+	call gpio_out_inactive
+	branch spi_simulate_write_byte_slave_loop2
+spi_simulate_set_miso_gpio_low:
+	fetcht 1,mem_spi_simulate_miso_gpio
+	branch gpio_out_active	
+
+/******************************simulate spi slave end**********************************/
+
+endif  //SPI_SIMULATE
+
+
+/****************************************key scan***************************************/
+keyscan_key_init:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_init_next:
+	rtn blank
+	copy pdata,loopcnt
+//	copy contr,rega
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_key_init_lp1:
+	ifetcht 1, rega
+	call gpio_config_input
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_key_init_lp1
+keyscan_key_init_end:
+	rtn
+	
+keyscan_scan_key:
+	fetch 2,mem_keyscan_ptr
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+//	arg mem_key_conf0_pin,rega
+	force 0,regb
+	jam 0,mem_key_value_temp
+keyscan_scan_key_lp1:
+	ifetcht 1, rega
+	call gpio_get_bit
+	bpatchx patch34_1,mem_patch34
+	fetch 2, mem_key_value_temp
+	copy regb,queue
+	qsetflag true,pdata
+	store 2, mem_key_value_temp
+	increase KEY_CONF_STRUCT_LEN,rega
+	increase 1,regb
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_scan_key_lp1_next:
+	ixor regb,null
+	nbranch keyscan_scan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	fetcht 2,mem_key_value
+	ixor temp,null
+	rtn zero
+	enable user
+	rtn
+
+keyscan_process_lpm_before:
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_process_lpm_before_next:
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_keyscan_ptr 
+	increase 3,pdata	//mem_key_conf0_pin
+	copy pdata,rega
+keyscan_process_lpm_before_lp1:
+	ifetcht 1, rega
+	call gpio_set_wake_by_current_state
+	increase KEY_CONF_STRUCT_LEN,rega
+	loop keyscan_process_lpm_before_lp1
+keyscan_process_lpm_before_end:
+	rtn
+
+keyscan_key_process:
+	arg key_scan_timer,queue
+	call timer_check
+	nrtn blank
+	setarg 0x20
+	arg key_scan_timer,queue
+	call timer_init
+	disable user
+	call keyscan_process_lpm_before
+	bpatchx patch34_2,mem_patch34
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_process_next:
+	rtn blank
+	call keyscan_scan_key
+	nbranch lpm_button_clean_wake_lock,user
+	call lpm_button_get_wake_lock
+	disable user
+	fetch 2, mem_key_value_temp
+	store 2,mem_key_value_temp4
+	jam 0,mem_key_value_temp6
+	force 0,queue
+keyscan_key_lp1:
+	fetch 2, mem_key_value
+	rshift pdata,temp
+	storet 2,mem_key_value
+	and pdata,0x01,pdata
+	fetcht 2, mem_key_value_temp4
+	and temp,0x01,rega
+	rshift temp,temp
+	storet 2,mem_key_value_temp4
+	ixor rega,null
+	ncall keyscan_send_key_data,zero
+	fetch 2,mem_key_num_ptr
+	ifetch 1,pdata
+keyscan_key_lp1_next:
+	fetcht 1, mem_key_value_temp6
+	increase 1,temp
+	storet 1, mem_key_value_temp6
+	copy temp,queue
+	ixor queue,null
+	nbranch keyscan_key_lp1,zero
+	fetch 2,mem_key_value_temp
+	store 2, mem_key_value
+	rtn
+keyscan_send_key_data:
+	bpatchx patch34_3,mem_patch34
+	fetch 2,mem_keyscan_ptr
+	increase 1,pdata
+	ifetch 2,pdata
+	branch callback_func
+
+
+/*************************************pwm*************************************/
+
+//rega:clk select(0:system clk; 1:system clk undivied; 2:lpo)
+/*rega:clk select
+			0x00:select system clock 12M;
+			0x40:select undivied system clock 24M/48M;
+			0x80:select lpo clock:33K
+*/
+pwm_init:
+	hfetch 1,core_clksel
+	ior rega,pdata
+	hstore 1,core_clksel
+	hfetch 2,core_clkoff
+	set0 CLOCK_OFF_PWM,pdata
+	hstore 2,core_clkoff
+	nop 100
+	rtn
+
+/*	typedef struct
+*	{
+*		uint8 gpio_num
+*		uint8 pwm_channel
+*		uint24 frequency
+*		uint8 duty_cycle   //0-100
+*	}PWM_Style;
+	addr: mem_pdatatemp
+*/
+pwm_out_set:
+	fetcht 3,mem_pdatatemp+2
+	setarg PWM_12MHZ
+	idiv temp
+	call wait_div_end
+	quotient temp
+	fetch 1,mem_pdatatemp+5
+	imul32 temp,pdata
+	div pdata,100
+	call wait_div_end
+	quotient rega
+	copy temp,pdata
+	isub rega,regb	
+	fetch 1,mem_pdatatemp+1
+	call pwm_duty_cycle_set
+	fetch 1,mem_pdatatemp
+	branch pwm_enable
+
+//rega:pcnt ;regb:ncnt ;pdata:pwm channel select
+pwm_duty_cycle_set:
+	beq 0,pwm_pwm0_duty_set
+	beq 1,pwm_pwm1_duty_set
+	beq 2,pwm_pwm2_duty_set
+	beq 3,pwm_pwm3_duty_set
+	beq 4,pwm_pwm4_duty_set
+	beq 5,pwm_pwm5_duty_set
+pwm_pwm0_duty_set:
+	arg core_pwm_pcnt0,contw
+	branch pwm_set_pncnt
+pwm_pwm1_duty_set:
+	arg core_pwm_pcnt1,contw
+	branch pwm_set_pncnt
+pwm_pwm2_duty_set:
+	arg core_pwm_pcnt2,contw
+	branch pwm_set_pncnt
+pwm_pwm3_duty_set:
+	arg core_pwm_pcnt3,contw
+	branch pwm_set_pncnt
+pwm_pwm4_duty_set:
+	arg core_pwm_pcnt4,contw
+	branch pwm_set_pncnt
+pwm_pwm5_duty_set:
+	arg core_pwm_pcnt5,contw
+	branch pwm_set_pncnt
+pwm_set_pncnt:
+	copy rega,pdata
+	istore 2,contw
+	copy regb,pdata
+	istore 2,contw
+	rtn
+
+
+//pdata:gpio select
+pwm_enable:
+	enable user
+	branch pwm_gpio_set
+pwm_disable:
+	disable user
+pwm_gpio_set:
+	beq 4,pwm_gpio4_set
+	beq 5,pwm_gpio5_set
+	beq 27,pwm_gpio27_set
+	beq 28,pwm_gpio28_set
+	beq 3,pwm_gpio3_set
+	beq 8,pwm_gpio8_set
+	beq 20,pwm_gpio20_set
+	beq 21,pwm_gpio21_set
+	beq 22,pwm_gpio22_set
+	beq 23,pwm_gpio23_set
+	rtn
+
+
+pwm_gpio4_set:	//pwm 0
+	arg 6,queue
+	branch pwm_one_set_select
+pwm_gpio5_set:	//pwm 1
+  	arg 7,queue
+	branch pwm_one_set_select
+pwm_gpio27_set:	//pwm 2
+  	arg 8,queue
+	branch pwm_one_set_select
+pwm_gpio28_set:	//pwm 3
+	arg 9,queue
+	branch pwm_one_set_select
+pwm_gpio3_set:	//pwm 4
+ 	arg 10,queue
+	branch pwm_one_set_select
+pwm_gpio8_set:	//pwm 5
+  	arg 11,queue
+	branch pwm_one_set_select
+pwm_gpio20_set:	//pwm 0
+  	arg 12,queue
+	branch pwm_tw0_set_select
+pwm_gpio21_set:	//pwm 1
+  	arg 13,queue
+	branch pwm_tw0_set_select
+pwm_gpio22_set:	//pwm 2
+   	arg 14,queue
+	branch pwm_tw0_set_select
+pwm_gpio23_set:	//pwm 3
+    	arg 15,queue
+	branch pwm_tw0_set_select
+
+pwm_set_select:
+	hfetch 2,core_gpio_sel1
+	qsetflag user,pdata
+	hstore 2,core_gpio_sel1
+	copy rega,queue
+	hfetch 1,core_gpio_key2
+   	qsetflag user,pdata
+   	hstore 1,core_gpio_key2
+	rtn
+
+pwm_one_set_select:
+	add queue,-4,rega
+	branch pwm_set_select
+
+pwm_tw0_set_select:
+	add queue,-10,rega
+	branch pwm_set_select
+
+
+	
Index: YJX_Only24g/main/program/rfcomm.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/rfcomm.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/rfcomm.prog	(working copy)
@@ -0,0 +1,960 @@
+
+ifdef COMPILE_RFCOMM
+rfcomm_init:
+	rtn wake
+	jam 0,mem_rfcomm_send_more_pkt
+	jam BITS9600,memRemoteRPNBitRate        
+	jam DATABITS8,memRemotePRNDataBits      
+	jam 0x11,memRemotePRNXon
+	jam 0x13,memRemotePRNXoff
+	setarg 0
+	store 3,memRemotePRNStopBit
+	store 1,mem_spp_state                  
+	jam 0,memui_reconnect_mode
+	//branch rfcomm_init_spp
+rfcomm_init_spp:
+	bpatchx patch34_4,mem_patch34
+	setarg 0
+	store 1,mem_spp_state
+	store 1,mem_remote_spp_channel
+	store 1,mem_pn_dlci
+	fetch 1,mem_credit_flag
+	beq CREDIT_ENABLE,rfcomm_init_spp_with_credit
+	jam 0x50,mem_credit_given
+	rtn
+
+rfcomm_init_spp_with_credit:
+	jam 0x00,mem_credit_given
+	rtn
+
+set_CR_bit:
+	or_into 0x02,temp
+	rtn
+
+
+/*below added by koufan*/
+
+/*rfcomm_send */
+
+
+
+	/*rfcomm_calculate_FCS_sabm*/
+	/*input: address in temp*/
+	/*output: FCS in pdata  */
+rfcomm_calculate_FCS_sabm:
+	copy temp,pdata
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force INI_TX_SABM,pdata
+	reverse pdata,pdata
+	store 1,memFCStemp2
+	force 0x01,pdata                        
+	reverse pdata,pdata
+	store 1,memFCStemp1
+	call caculate_fcs
+	copy temp,pdata                        
+	rtn
+rfcomm_calculate_FCS_ua:
+	reverse pdata,pdata //address
+	store 1,memFCStemp3
+	force   RSP_TX_UA, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp2
+	force   0x01, pdata
+	reverse pdata, pdata
+	store   1, memFCStemp1
+	branch caculate_fcs
+	/* FCS return from temp                */
+rfcomm_calculate_FCS_dlci0:
+	fetch 1,mem_rfcomm_initiator
+	branch rfcomm_calculate_FCS_dlci0_res,blank
+	setarg 0x70 //FCS of initiator
+	rtn
+rfcomm_calculate_FCS_dlci0_res:
+	setarg 0xaa//FCS of responder
+	rtn
+	
+rfcomm_save_FCS_uih:
+	reverse pdata, pdata //address 
+	store 1,memFCStemp3                     /* contw distroided                    */
+	force RSP_RX_UIH,pdata 
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw                      /* save FCS for later use              */
+	copy contw,temp
+	storet 2,mem_contw_temp
+	force RSP_RX_UIH_WDATA,pdata             /* P/F =1 + RSP_RX_UIH                 */
+	call caculate_UIHdata_fcs
+	fetcht 2,mem_contw_temp
+	copy temp,contw
+	istore 1,contw             /* save FCS for later use              */
+	rtn	
+/**********************************************************************/
+/* This subroutine caculates the FCS for UIH data                     */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3(bit reversed), control byte */
+/*        at pdata (not bit reversed)                                 */
+/* Output:                                                            */
+/*        pdata: the FCS                                              */
+/**********************************************************************/  
+caculate_UIHdata_fcs:
+	reverse pdata,pdata
+	store   1,memFCStemp2
+	fetch   2, memFCStemp2                     
+	lshift8 pdata,pdata
+	store 3,mem_mod2div_temp
+	arg     0x107,regA
+	arg 0xf,regB
+	call mod2div
+	xor_into     0xd7, pdata
+	invert  pdata,pdata
+	reverse pdata,pdata
+	rtn
+	
+/**********************************************************************/
+/* This subroutine caculates the FCS                                  */
+/* Input:                                                             */
+/*        the address byte at memFCStemp3, control byte at memFCStemp2*/  
+/*        lenght at memFCStemp1 (all above data are bit reversed)     */
+/* Output:                                                            */
+/*        temp: the FCS                                               */
+/**********************************************************************/     
+caculate_fcs:
+	fetch 3, memFCStemp1                    /* load 3 bytes start at memFCStemp1   */
+	store 3,mem_mod2div_temp
+	arg 0x107,regA
+	arg 0xf,regB  //24bit(memFCStemp1+..+memFCStemp3) - 9bit(regA) = 15bit
+	call mod2div
+	lshift8 pdata,pdata 
+	arg 0x7, regB  //16bit(lshift8 pdata,pdata ) - 9bit(regA) = 7bit
+	call mod2div
+	xor_into     0x2b, pdata		//0x3d
+	invert  pdata, pdata                        
+	reverse pdata, pdata                      /* FCS at pdata                        */
+	copy    pdata, temp
+	rtn
+
+mod2div:
+	arg 0,regC
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	icopy temp
+mod2div_loop:
+	//jam 1,0x1fff
+//mod2div_loop1:
+	//fetch 1,0x1fff
+	//nbranch mod2div_loop1,blank
+	copy temp,pdata
+	lshift regC,regC//quotient
+	bbit0 8, mod2div_not_enough_reduction//the high bit of 0x107
+	ixor regA,temp// temp----remainer
+	increase 1,regC// quotient
+mod2div_not_enough_reduction: //Minuend smaller than Subtrahend
+	lshift temp,temp
+	fetch 3,mem_mod2div_temp
+	increase -1,regB
+	compare 0xff,regB,0xff
+	branch mod2div_end,true
+	copy regB,loopcnt
+	call right_shift_n // right shift pdata (regB)bit
+	isolate1 0,pdata
+	setflag true,0,temp //move a new bit from Dividend(queue) into Minuend(pdata)
+	branch mod2div_loop
+mod2div_end:
+	//output:remainer in pdata
+	rshift  temp,pdata
+	rtn
+
+get_rfcomm_snd_adss:
+	fetcht 1,mem_pn_dlci
+dlci_to_address_cmd:
+	//input DLCI from temp
+	lshift2 temp,temp
+	set1 RFCOMM_ADDRESS_EXT_LEN,temp
+	fetch 1,mem_rfcomm_initiator
+	ncall set_CR_bit,blank
+	storet 1,mem_rfcomm_send_adss
+	rtn
+
+channel_to_dlci:
+	//input channel from temp
+	lshift temp,temp
+	fetch 1,mem_rfcomm_initiator
+	setflag blank,0,temp //direction in dlci
+	//output dlci to temp
+	rtn
+rfcomm_rx_process_DLCI0_sabm:
+	fetcht 1,mem_current_channel //address
+	jam 0xd7,mem_current_fcs //FCS
+	call rfcomm_send_ua
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	jam 0,mem_rfcomm_initiator
+	branch rfcomm_rx_process_end
+rfcomm_rx_process_DLCI0_ua:
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_UA,pdata
+	store 1,mem_rfcomm_state
+	branch rfcomm_rx_process_end
+
+	
+rfcomm_rx_process:
+	bpatchx patch34_5,mem_patch34
+	fetch 1,memui_reconnect_mode
+	beq NO_RECONNECTION,rfcomm_rx_process_remote_page
+	branch rfcomm_rx_process_reconn
+
+rfcomm_rx_process_remote_page:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_dlci0_rp
+	branch parse_uih_rp
+parse_dlci0_rp:
+	bpatchx patch34_6,mem_patch34
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_rp_uih
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn_send_event
+	rtn
+
+
+parse_DLCI0_rp_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_rp_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_rp_uih_pn_res
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_rp_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_rp_uih_ms_res
+	beq UIH_PARAM_CMD_REMOVE_PORT,parse_DLCI0_rp_uih_cmd_port	
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+
+	branch parse_DLCI0_rp_uih_pn_cmd_spp
+
+parse_DLCI0_rp_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	call rfcomm_send_param_neg_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_pn_res:
+	call parse_DLCI0_rp_uih_pn_res_common
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_pn_res_common:
+	call get_param_payload_ptr
+	branch  get_rfcomm_prarmer_negotiation
+
+get_rfcomm_param_modem_status:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	rshift3 pdata,pdata
+	store 1,mem_ms_channel
+	ifetch 1,contr
+	store 1,mem_ms_param
+	rtn
+
+
+get_rfcomm_head_struct:
+	ifetch 1,contr
+	store 1,mem_current_adss
+	rshift3 pdata,pdata
+	store 1,mem_current_channel
+	ifetch 1,contr
+	store 1,mem_current_frame_type
+get_rfcomm_current_length:
+	call get_rfcomm_length_common
+	storet 2,mem_current_length
+	copy contr,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	rtn
+
+get_rfcomm_uih_head_struct:
+	ifetch 1,contr
+	rshift pdata,pdata
+	store 1,mem_uih_cmd_type
+	call get_rfcomm_length_common
+	storet 2,mem_uih_length
+	copy contr,pdata
+	store 2,mem_param_payload_ptr
+	rtn
+
+
+get_param_payload_ptr:
+	fetch 2,mem_param_payload_ptr
+	copy pdata,contr
+	rtn
+
+get_rfcomm_length_common:
+	ifetch 1,contr
+	copy pdata,temp
+	rshift temp,temp
+	rtnbit1 0
+	ifetch 1,contr
+	lshift3 pdata,pdata
+	lshift4 pdata,pdata
+	iadd temp,temp
+	rtn
+
+get_rfcomm_prarmer_negotiation:
+	ifetch 1,contr
+	store 1,mem_pn_dlci
+	ifetch 1,contr
+	store 1,mem_pn_credit_flow_type_info
+	ifetch 1,contr
+	store 1,mem_pn_priority
+	ifetch 1,contr
+	store 1,mem_pn_acknowledg_timer
+	ifetch 2,contr
+	store 2,mem_pn_max_frame_size
+	ifetch 1,contr
+	store 1,mem_pn_max_retrans
+	ifetch 1,contr
+	store 1,mem_remote_credits
+	rtn
+
+
+parse_DLCI0_rp_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+
+	branch parse_DLCI0_rp_uih_ms_cmd_spp
+
+parse_DLCI0_rp_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	jam MORE_PKT_MSC_CMD_SPP,mem_rfcomm_send_more_pkt
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_rp_uih_ms_res:
+	jam BT_EVT_SPP_CONNECTED,mem_fifo_temp
+	call ui_ipc_send_event
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	sub pdata,1,null
+	branch parse_DLCI0_rp_uih_MS_RES_spp,zero
+	branch assert
+parse_DLCI0_rp_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_rp_uih_cmd_port:
+	call get_param_payload_ptr
+	ifetch 1,contr
+	store 1,mem_rpn_dlci
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	//setarg 5
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch34_7,mem_patch34
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1191
+	istore 2,contw
+	//fetch 1,mem_pn_dlci
+	//setarg 0x0b
+	fetch 1,mem_rpn_dlci
+	istore 1,contw //DLCI
+	setarg 0x000007
+	istore 5,contw
+//	setarg 0 //max frame size
+//	istore 2,contw 
+	setarg 0x01 //max retrans
+	istore 2,contw
+//	setarg 0x00
+//	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+
+
+parse_uih_rp:
+	branch parse_uih_rp_spp
+
+parse_uih_rp_spp:
+	bpatchx patch35_0,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_rp_spp_ua
+	beq RFCOMM_FRAME_TYPE_SABM,parse_uih_rp_spp_sabm
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_rp_spp_disconn
+	rtn
+parse_uih_rp_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_rp_spp_sabm:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	set1 RFCOMM_CHANNEL_STATE_SABM,pdata
+	store 1,mem_spp_state
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	fetch 1,mem_current_adss
+	rshift2 pdata,pdata
+	store 1,mem_pn_dlci
+	lshift2 pdata,pdata
+	set0 RFCOMM_ADDRESS_CR,pdata
+	set1 RFCOMM_ADDRESS_EXT_LEN,pdata 
+	arg mem_HIUfcs_spp,temp // mem_HIUfcs_HF_WCredits in regB++
+	storet 2,mem_contw_temp
+	call rfcomm_save_FCS_uih
+	branch rfcomm_rx_process_end
+	
+parse_uih_spp_uih_credits:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	increase 1,pdata
+	store 2,mem_rfcomm_uih_payload_ptr
+	ifetch 1,contr //remote credits
+	fetcht 1,mem_remote_credits
+	iadd temp,pdata
+	store 1,mem_remote_credits
+parse_uih_spp_uih:
+	call rfcomm_increase_credit_given
+parse_uih_spp_uih_cont:
+	call get_rfcomm_snd_adss
+	call rfcomm_send_uih_without_payload
+	call spp_process_rx_data
+	branch rfcomm_rx_process_end
+
+parse_uih_rp_spp_disconn_send_event:
+	jam BT_EVT_SPP_DISCONNECTED,mem_fifo_temp
+	call ui_ipc_send_event	
+parse_uih_rp_spp_disconn:
+	call rfcomm_init_spp
+	fetch 1,mem_current_adss
+	call rfcomm_calculate_FCS_ua
+	store 1,mem_current_fcs
+	call rfcomm_send_ua
+	branch rfcomm_rx_process_end
+	
+///////////////////////////////////////////
+///////////////////////////////////////////
+///////////////////////////////////////////
+rfcomm_rx_process_reconn:
+	fetch 2,mem_l2cap_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_head_struct
+	fetch 1,mem_current_channel
+	beq 0,parse_DLCI0_reconn
+	branch parse_uih_reconn
+		
+parse_DLCI0_reconn:
+	bpatchx patch35_1,mem_patch35
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_SABM,rfcomm_rx_process_DLCI0_sabm
+	beq RFCOMM_FRAME_TYPE_UA,rfcomm_rx_process_DLCI0_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_DLCI0_reconn_uih
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih:
+	fetch 2,mem_rfcomm_uih_payload_ptr
+	copy pdata,contr
+	call get_rfcomm_uih_head_struct
+	fetch 1,mem_uih_cmd_type
+	beq UIH_PARAM_NEG_CMD,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_PARAM_NEG_RES,parse_DLCI0_reconn_uih_pn_cmd
+	beq UIH_MODEM_STATUS_CMD,parse_DLCI0_reconn_uih_ms_cmd
+	beq UIH_MODEM_STATUS_RES,parse_DLCI0_reconn_uih_ms_res
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_pn_cmd:
+	call parse_DLCI0_rp_uih_pn_res_common
+	fetch 1,mem_pn_dlci
+	rshift pdata,pdata
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_pn_cmd_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_pn_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_DLCI0_reconn_uih_ms_cmd:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_cmd_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+parse_DLCI0_reconn_uih_ms_cmd_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_CMD,pdata
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_RES,pdata
+	store 1,mem_spp_state
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+	or_into 3,temp
+	call rfcomm_send_modem_status_res
+	branch rfcomm_rx_process_end
+	
+parse_DLCI0_reconn_uih_ms_res:
+	call get_rfcomm_param_modem_status
+	fetch 1,mem_ms_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_DLCI0_reconn_uih_ms_res_spp,zero
+	branch assert
+parse_DLCI0_reconn_uih_ms_res_spp:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_RCV_MS_RES,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn:
+	fetch 1,mem_current_channel
+	fetcht 1,mem_remote_spp_channel
+	isub temp,null
+	branch parse_uih_reconn_spp,zero
+	branch assert
+	branch rfcomm_rx_process_end
+
+parse_uih_reconn_spp:
+	fetch 1,mem_current_frame_type
+	beq RFCOMM_FRAME_TYPE_UA,parse_uih_reconn_spp_ua
+	beq RFCOMM_FRAME_TYPE_UIH,parse_uih_spp_uih
+	beq RFCOMM_FRAME_TYPE_UIH_CREDITS,parse_uih_spp_uih_credits
+	beq RFCOMM_FRAME_TYPE_DISCONN,parse_uih_reconn_spp_disconn
+parse_uih_reconn_spp_ua:
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_UA,pdata
+	store 1,mem_spp_state
+	branch rfcomm_rx_process_end
+parse_uih_reconn_spp_sabm:
+	branch parse_uih_reconn_spp_sabm//loop
+parse_uih_reconn_spp_disconn:
+	branch parse_uih_rp_spp_disconn
+rfcomm_rx_process_end:
+	rtn
+	
+rfcomm_send_more_pkt:
+	fetch 1,mem_rfcomm_send_more_pkt
+	rtn blank
+	beq MORE_PKT_MSC_CMD_SPP,rfcomm_send_more_pkt_msc_cmd_spp
+	branch assert
+	
+rfcomm_send_more_pkt_msc_cmd_spp:
+	jam 0,mem_rfcomm_send_more_pkt
+	call l2cap_malloc_rfcomm_channel
+	arg SPP_SLAVE_CHANNEL,temp
+	fetcht 1,mem_pn_dlci
+	lshift2 temp,temp
+rfcomm_send_more_pkt_msc_cmd_spp0:
+	or_into 0x03,temp
+	arg 0xaa,regA
+	call rfcomm_send_modem_status_cmd
+	call l2cap_get_rfcomm_tx_buff
+	copy contw,contr
+	ifetch 2, contr
+	branch assert,blank
+	rtn
+
+rfcomm_send_sabm:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_2,mem_patch35
+	setarg 0x013f
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_ua:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0004
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_current_adss
+	istore 1,contw //address
+	bpatchx patch35_3,mem_patch35
+	setarg 0x0173
+	istore 2,contw
+	fetch 1,mem_current_fcs
+	istore 1,contw
+	rtn
+rfcomm_send_param_neg_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_4,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1183
+	istore 2,contw
+	copy temp,pdata //DLCI in temp
+	istore 1,contw
+	setarg 0x0000f0
+	istore 3,contw
+	setarg RFCOMM_MAX_FRAME_SIZE
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	setarg 0x01		//change here later
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	jam 0x10,mem_credit_given
+	rtn
+rfcomm_send_param_neg_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x000e
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_5,mem_patch35
+	setarg 0x15ef
+	istore 2,contw
+	setarg 0x1181
+	istore 2,contw
+	fetch 1,mem_pn_dlci
+	istore 1,contw //DLCI
+	setarg 0x0000e0
+	istore 3,contw
+	fetch 2,mem_rfcomm_max_frame_size
+	istore 2,contw 
+	setarg 0x00 //max retrans
+	istore 1,contw
+	fetch 1,mem_rfcomm_credit_init_data
+	istore 1,contw // init credits
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+rfcomm_send_modem_status_cmd:
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_6,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e3
+	istore 2,contw
+	copy temp,pdata //DLCI adress
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_modem_status_res:
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x0008
+	istore 2,contw //l2cap len
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw//cid
+	copy temp,timeup
+	fetch 1,mem_rfcomm_initiator
+	lshift pdata,pdata
+	set1 0,pdata //ext len
+	istore 1,contw //DLCI0 address
+	bpatchx patch35_7,mem_patch35
+	setarg 0x09ef
+	istore 2,contw
+	setarg 0x05e1
+	istore 2,contw
+	copy timeup,pdata //DLCI address in temp
+	istore 1,contw
+	setarg 0x8d
+	istore 1,contw
+	call rfcomm_calculate_FCS_dlci0
+	istore 1,contw
+	rtn
+
+rfcomm_send_uih_without_payload:
+	bpatchx patch36_0,mem_patch36
+	fetch 1,mem_credit_given
+	rtn blank
+	hfetch 2,core_uart_rxitems
+	nrtn blank
+	copy rega,pdata
+	store 1,mem_pdatatemp+1
+	storet 1,mem_pdatatemp
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	call l2cap_malloc_rfcomm_channel
+	call l2cap_get_rfcomm_tx_buff
+	setarg 0x05
+	istore 2,contw
+	fetch 2,mem_RFCOMM_remote_CID
+	istore 2,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	setarg 0x01ff
+	istore 2,contw
+	fetch 1,mem_credit_given
+	istore 1,contw
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	istore 1,contw
+	jam 0,mem_credit_given
+	rtn
+	
+rfcomm_increase_credit_given:
+	bpatchx patch36_1,mem_patch36
+	fetch 1,mem_credit_flag
+	rtneq CREDIT_ENABLE
+	fetch 2,mem_current_length
+	rtn blank
+	fetch 1,mem_credit_given
+	increase 1,pdata
+	store 1,mem_credit_given
+	rtn
+
+spp_process_rx_data:
+	fetch 2,mem_cb_receive_spp_data
+	branch callback_func
+
+spp_tx_rfcomm_packet:
+	bpatchx patch36_2,mem_patch36
+	//credit
+	fetch 1,mem_remote_credits
+	rtn blank
+	increase -1,pdata
+	store 1,mem_remote_credits
+	fetch 2,mem_pn_max_frame_size
+	fetcht 2,mem_current_packet_length
+	isub temp,null
+	branch ssp_tx_rfcomm_from_uart,positive
+	store 2,mem_current_packet_length
+ssp_tx_rfcomm_from_uart:
+	fetch 1,mem_credit_given
+	branch ssp_tx_rfcomm_from_uart_without_credit,blank
+	jam 1,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP_WCredits
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_RX_UIH_WDATA
+	store 1,mem_rfcomm_send_frame_type
+	branch ssp_tx_rfcomm_from_uart_common
+ssp_tx_rfcomm_from_uart_without_credit:
+	jam 0,mem_rfcomm_send_offset
+	fetch 1,mem_HIUfcs_SPP
+	store 1,mem_rfcomm_send_fcs
+	setarg RSP_TX_UIH
+	store 1,mem_rfcomm_send_frame_type
+ssp_tx_rfcomm_from_uart_common:
+	bpatchx patch36_3,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,127,null
+	branch ssp_tx_rfcomm_from_uart_common0,positive
+	fetch 1,mem_rfcomm_send_offset
+	increase 1,pdata
+	store 1,mem_rfcomm_send_offset
+ssp_tx_rfcomm_from_uart_common0:
+	call get_rfcomm_snd_adss
+	fetch 2,mem_current_packet_length
+	increase 8,pdata	//fcs + rfcommhead + l2caphead == 8
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,rega
+	//rfcomm payload
+	call l2cap_malloc
+	store 2,mem_rfcomm_tx_buff_ptr
+	increase 4,pdata
+	store 2,mem_rfcomm_tx_payload_ptr
+	copy pdata,contw
+	fetch 1,mem_rfcomm_send_adss
+	istore 1,contw
+	fetch 1,mem_rfcomm_send_frame_type
+	istore 1,contw
+	call ssp_tx_write_length
+	call ssp_tx_write_given_credit
+	bpatchx patch36_4,mem_patch36
+	fetch 2,mem_nl_rx_data_src		//src
+	copy pdata,contru
+	fetch 2,mem_current_packet_length
+	copy pdata,loopcnt
+	call uart_copy_rx_bytes_fast
+	copy contw,temp
+	copy contru,pdata
+	store 2,mem_nl_rx_data_src
+	copy temp,contw	
+	fetch 1,mem_rfcomm_send_fcs
+	istore 1,contw
+	fetch 2,mem_rfcomm_tx_buff_ptr
+	copy pdata,contw
+	fetch 2,mem_current_packet_length
+	fetcht 1,mem_rfcomm_send_offset
+	iadd temp,pdata
+	increase 4,pdata
+	istore 2,contw
+	fetch 2,mem_rfcomm_remote_cid
+	istore 2,contw
+	jam 0,mem_credit_given	//whatever mem_credit_given is set to 0
+	fetch 2,mem_nl_rx_len_all
+	beq 0,module_hci_command_tx_spp_tx_complete
+	jam HCI_NOT_DISCARD_PACKET,mem_module_temp_nl_discard_packet
+	rtn
+
+ssp_tx_write_length:
+	bpatchx patch36_5,mem_patch36
+	fetch 2,mem_current_packet_length
+	sub pdata,0x7f,null
+	nbranch ssp_tx_write_long_packet,positive
+	lshift pdata,pdata
+	set1 0,pdata
+	istore 1,contw
+	rtn
+ssp_tx_write_long_packet:
+	fetch 2,mem_current_packet_length
+	rshift3 pdata,pdata
+	rshift4 pdata,temp
+	and_into 0x7f,pdata
+	lshift pdata,pdata
+	set0 0,pdata
+	istore 1,contw
+	istoret 1,contw
+	rtn
+ssp_tx_write_given_credit:
+	fetch 1,mem_credit_given
+	rtn blank
+	istore 1,contw
+	rtn
+
+	
+
+
+else
+
+rfcomm_init:
+	rtn
+rfcomm_init_spp:
+set_CR_bit:
+rfcomm_calculate_FCS_sabm:
+rfcomm_calculate_FCS_ua:
+rfcomm_calculate_FCS_dlci0:
+rfcomm_calculate_FCS_dlci0_res:
+rfcomm_save_FCS_uih:
+caculate_UIHdata_fcs:
+caculate_fcs:
+mod2div:
+mod2div_loop:
+mod2div_not_enough_reduction:
+mod2div_end:
+get_rfcomm_snd_adss:
+dlci_to_address_cmd:
+dlci_to_address_res:
+channel_to_dlci:
+rfcomm_rx_process_DLCI0_sabm:
+rfcomm_rx_process_DLCI0_ua:
+rfcomm_rx_process:
+rfcomm_rx_process_remote_page:
+parse_dlci0_rp:
+parse_DLCI0_rp_uih:
+parse_DLCI0_rp_uih_pn_cmd:
+parse_DLCI0_rp_uih_pn_cmd_spp:
+parse_DLCI0_rp_uih_pn_res:
+parse_DLCI0_rp_uih_pn_res_common:
+get_rfcomm_param_modem_status:
+get_rfcomm_head_struct:
+get_rfcomm_current_length:
+get_rfcomm_uih_head_struct:
+get_param_payload_ptr:
+get_rfcomm_param_length_common:
+get_rfcomm_length_common:
+get_rfcomm_prarmer_negotiation:
+parse_DLCI0_rp_uih_ms_cmd:
+parse_DLCI0_rp_uih_ms_cmd_spp:
+parse_DLCI0_rp_uih_ms_res:
+parse_DLCI0_rp_uih_ms_res_spp:
+parse_uih_rp:
+parse_uih_rp_spp:
+parse_uih_rp_spp_ua:
+parse_uih_rp_spp_sabm:
+parse_uih_spp_uih_credits:
+parse_uih_spp_uih:
+parse_uih_spp_uih_cont:
+parse_uih_rp_spp_disconn:
+rfcomm_rx_process_reconn:
+	branch assert 
+parse_DLCI0_reconn:
+parse_DLCI0_reconn_uih:
+parse_DLCI0_reconn_uih_pn_cmd:
+parse_DLCI0_reconn_uih_pn_cmd_spp:
+parse_DLCI0_reconn_uih_ms_cmd:
+parse_DLCI0_reconn_uih_ms_cmd_spp:
+parse_DLCI0_reconn_uih_ms_res:
+parse_DLCI0_reconn_uih_ms_res_noext:
+parse_DLCI0_reconn_uih_ms_res_spp:
+parse_uih_reconn:
+parse_uih_reconn_spp:
+parse_uih_reconn_spp_ua:
+parse_uih_reconn_spp_sabm:
+parse_uih_reconn_spp_disconn:
+rfcomm_rx_process_end:
+rfcomm_send_more_pkt:
+rfcomm_send_more_pkt_msc_cmd_spp:
+rfcomm_send_sabm:
+rfcomm_send_ua:
+rfcomm_send_param_neg_cmd:
+rfcomm_send_param_neg_res:
+rfcomm_send_modem_status_cmd:
+rfcomm_send_modem_status_res:
+rfcomm_send_uih_without_payload:
+rfcomm_increase_credit_given:
+spp_process_rx_data:
+spp_tx_rfcomm_packet:
+ssp_tx_rfcomm_from_uart:
+ssp_tx_rfcomm_from_uart_without_credit:
+ssp_tx_rfcomm_from_uart_common:
+ssp_tx_rfcomm_from_uart_common0:
+ssp_tx_write_length:
+ssp_tx_write_long_packet:
+ssp_tx_write_given_credit:
+	branch assert
+endif
Index: YJX_Only24g/main/program/scheduler.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/scheduler.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/scheduler.prog	(working copy)
@@ -0,0 +1,461 @@
+scheduler_process:
+	bpatchx patch36_6,mem_patch36
+	call check_51cmd
+	call app_process_bb_event
+	call process_conn_sm
+/* check the connection state sequence byte */
+	bpatchx patch36_7,mem_patch36
+ifdef SIMPLE_PAIRING
+	call sp_calc_sequence
+	call simple_pairing_sequence
+	call master_simple_paring_sequence
+endif
+//return if it is hci mode. 'cause the following is host part.
+//notify BB to tx a l2cap packet
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	//for conn to MTK 
+	call l2cap_call_proc_sigal_pending
+	call l2cap_malloc_is_fifo_full
+	nrtn blank
+	bpatchx patch37_0,mem_patch37
+//to generat a new l2cap packet
+	call process_upper_sm
+	call l2cap_send_config_req
+ifdef COMPILE_RFCOMM
+	call rfcomm_send_more_pkt//use this function to send msc_cmd after msc_rep sent
+endif
+scheduler_process0:
+	call scheduler_tx_disconnect_hid //may not used
+	bpatchx patch37_1,mem_patch37
+//	call l2cap_malloc_is_fifo_full
+//	nrtn blank
+	branch app_process_bt
+	
+scheduler_tx_disconnect_hid:
+	fetch 1,mem_CONTROL_tasks		
+	bbit1 L2CAP_DISCONNECT_INTERRUPT,L2CAP_disconnect_interrupt_req
+	bbit1 L2CAP_DISCONNECT_CONTROL,L2CAP_disconnect_control_req
+	rtn
+	
+scheduler_tx_l2cap_pkt:
+	bpatchx patch37_2,mem_patch37
+	call l2cap_malloc_is_fifo_empty
+	rtn blank //empty
+	fetch 1,mem_op
+	rtnbit1 op_txl2cap
+	call l2cap_malloc_fifo_out
+	store 2,mem_txptr
+	copy pdata,contr
+	ifetch 2,contr
+	increase 4,pdata
+	store 2,mem_tx_len
+	jam 6,mem_tx_lch//start pkt
+	bpatchx patch37_3,mem_patch37
+	fetch 2,mem_l2cap_tx_multi_offset
+	branch scheduler_tx_l2cap_start_pkt,blank
+	fetch 1,mem_op
+	rtnbit0 op_pkt_comp
+	set0 op_pkt_comp,pdata
+	store 1,mem_op
+	jam 5,mem_tx_lch//continue pkt
+	fetcht 2,mem_l2cap_tx_multi_offset
+	fetch 2,mem_txptr
+	iadd temp,pdata
+	store 2,mem_txptr
+	fetch 2,mem_tx_len
+	isub temp,pdata
+	store 2,mem_tx_len
+scheduler_tx_l2cap_start_pkt:
+	bpatchx patch37_4,mem_patch37
+	fetch 2,mem_tx_len
+	branch assert,blank
+	arg l2cap_max_pkt_len,temp //max len of dh3 pkt
+	isub temp,pdata
+	nbranch scheduler_Tx_l2cap_last_pkt,positive
+	bpatchx patch37_5,mem_patch37
+	storet 2,mem_tx_len //l2cap_max_pkt_len
+	fetch 2,mem_l2cap_tx_multi_offset
+	iadd temp,pdata
+	store 2,mem_l2cap_tx_multi_offset
+	branch scheduler_Tx_l2cap_pkt_end
+scheduler_Tx_l2cap_last_pkt:
+	setarg 0
+	store 2,mem_l2cap_tx_multi_offset
+scheduler_Tx_l2cap_pkt_end:
+	fetch 1,mem_op
+	set1 op_txl2cap,pdata
+	store 1,mem_op
+	rtn
+
+scheduler_start_upper_sm:
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,scheduler_start_upper_sm_hid
+	jam UPPERSM_RECONN_SDP_CONN,mem_upper_sm_reconn
+	rtn
+scheduler_start_upper_sm_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	rtn
+	
+process_upper_sm:
+	fetch 1,memui_reconnect_mode
+	nbranch process_upper_sm_reconn,blank
+process_upper_sm_remote_page:
+	fetch 1,mem_upper_sm_remote_page
+	//beq UPPERSM_RP_IDLE,process_upper_sm_rp_idle
+	rtn blank
+	//nothing to do when remote page to create a connection.
+	jam 0,mem_upper_sm_remote_page
+process_upper_sm_rp_wait:
+	rtn
+
+
+process_upper_sm_reconn:
+	bpatchx patch37_6,mem_patch37
+	fetch 1,mem_upper_sm_reconn
+	rtn blank
+	beq UPPERSM_RECONN_SDP_CONN,process_upper_sm_reconn_sdp_conn
+	beq UPPERSM_RECONN_SDP_CONN_WAIT,process_upper_sm_reconn_sdp_conn_wait
+	beq UPPERSM_RECONN_SDP_CFG,process_upper_sm_reconn_sdp_cfg
+	beq UPPERSM_RECONN_SDP_CFG_WAIT,process_upper_sm_reconn_sdp_cfg_wait
+	beq UPPERSM_RECONN_SS_SPP,process_upper_sm_reconn_ss_spp
+	beq UPPERSM_RECONN_SS_SPP_WAIT,process_upper_sm_reconn_ss_spp_wait
+	beq UPPERSM_RECONN_SDP_DISCONN,process_upper_sm_reconn_sdp_disconn
+	beq UPPERSM_RECONN_SDP_DISCONN_WAIT,process_upper_sm_reconn_sdp_disconn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CONN,process_upper_sm_reconn_hid_ctrl_conn
+	beq UPPERSM_RECONN_HID_CTRL_CONN_WAIT,process_upper_sm_reconn_hid_ctrl_conn_wait
+	beq UPPERSM_RECONN_HID_CTRL_CFG,process_upper_sm_reconn_hid_ctrl_cfg
+	beq UPPERSM_RECONN_HID_CTRL_CFG_WAIT,process_upper_sm_reconn_hid_ctrl_cfg_wait
+	beq UPPERSM_RECONN_HID_INT_CONN,process_upper_sm_reconn_hid_int_conn
+	beq UPPERSM_RECONN_HID_INT_CONN_WAIT,process_upper_sm_reconn_hid_int_conn_wait
+	beq UPPERSM_RECONN_HID_INT_CFG,process_upper_sm_reconn_hid_int_cfg
+	beq UPPERSM_RECONN_HID_INT_CFG_WAIT,process_upper_sm_reconn_hid_int_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_CONN,process_upper_sm_reconn_rfcomm_conn
+	beq UPPERSM_RECONN_RFCOMM_CONN_WAIT,process_upper_sm_reconn_rfcomm_conn_wait
+	beq UPPERSM_RECONN_RFCOMM_CFG,process_upper_sm_reconn_rfcomm_cfg
+	beq UPPERSM_RECONN_RFCOMM_CFG_WAIT,process_upper_sm_reconn_rfcomm_cfg_wait
+	beq UPPERSM_RECONN_RFCOMM_SABM,process_upper_sm_reconn_rfcomm_sabm
+	beq UPPERSM_RECONN_RFCOMM_SABM_WAIT,process_upper_sm_reconn_rfcomm_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_PN,process_upper_sm_reconn_spp_cmd_pn
+	beq UPPERSM_RECONN_SPP_CMD_PN_WAIT,process_upper_sm_reconn_spp_cmd_pn_wait
+	beq UPPERSM_RECONN_SPP_SABM,process_upper_sm_reconn_spp_sabm
+	beq UPPERSM_RECONN_SPP_SABM_WAIT,process_upper_sm_reconn_spp_sabm_wait
+	beq UPPERSM_RECONN_SPP_CMD_MS,process_upper_sm_reconn_spp_cmd_ms
+	beq UPPERSM_RECONN_SPP_CMD_MS_WAIT,process_upper_sm_reconn_spp_cmd_ms_wait
+process_upper_sm_reconn_wait:
+	rtn
+process_upper_sm_reconn_sdp_conn:
+	call upper_sm_send_sdp_conn //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_sdp_cfg:
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	rtnbit1 L2CAP_CHANNEL_STATE_SND_CFG_REQ
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	call upper_sm_send_sdp_cfg //return n-user if sending failed
+	jam UPPERSM_RECONN_SDP_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_sdp_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_sdp_state
+	rtn
+process_upper_sm_reconn_ss_spp:
+	call l2cap_malloc_is_fifo_empty
+	nrtn blank
+	call upper_sm_send_ss_spp
+	jam UPPERSM_RECONN_SS_SPP_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_sdp_disconn:
+	call upper_sm_send_sdp_disconn
+	jam UPPERSM_RECONN_SDP_DISCONN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_hid_ctrl_conn:
+	call upper_sm_send_hid_ctrl_conn
+	jam UPPERSM_RECONN_HID_CTRL_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_ctrl_cfg:    
+	call upper_sm_send_hid_ctrl_cfg
+	jam UPPERSM_RECONN_HID_CTRL_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_control_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_control_state
+	rtn
+process_upper_sm_reconn_hid_int_conn:
+	call upper_sm_send_hid_int_conn
+	jam UPPERSM_RECONN_HID_INT_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_hid_int_cfg:    
+	call upper_sm_send_hid_int_cfg
+	jam UPPERSM_RECONN_HID_INT_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_hid_interrupt_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_hid_interrupt_state
+	rtn
+process_upper_sm_reconn_rfcomm_conn:
+	call upper_sm_send_rfcomm_conn
+	jam UPPERSM_RECONN_RFCOMM_CONN_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_CONN_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_cfg: 
+	call upper_sm_send_rfcomm_cfg
+	jam UPPERSM_RECONN_RFCOMM_CFG_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_STATE_SND_CFG_REQ,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_rfcomm_sabm:
+	call upper_sm_send_rfcomm_sabm
+	jam UPPERSM_RECONN_RFCOMM_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_rfcomm_state
+	set1 L2CAP_CHANNEL_RFCOMM_ONLY_SABM,pdata
+	store 1,mem_rfcomm_state
+	rtn
+process_upper_sm_reconn_spp_cmd_pn: 
+	call upper_sm_send_spp_cmd_pn
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_PN_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_PN_WAIT,mem_upper_sm_reconn
+	rtn
+process_upper_sm_reconn_spp_sabm:   
+	call upper_sm_send_spp_sabm
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SABM
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_SABM_WAIT,mem_upper_sm_reconn
+	fetch 1,mem_remote_spp_channel //address in pdata
+	lshift3 pdata,pdata
+	or_into 3,pdata
+	arg mem_HIUfcs_SPP,temp // mem_HIUfcs_spp_WCredits in regB++
+	storet 2,mem_contw_temp
+	branch rfcomm_save_FCS_uih
+process_upper_sm_reconn_spp_cmd_ms: 
+	call upper_sm_send_spp_cmd_ms
+	fetch 1,mem_spp_state
+	set1 RFCOMM_CHANNEL_STATE_SND_MS_CMD
+	store 1,mem_spp_state
+	jam UPPERSM_RECONN_SPP_CMD_MS_WAIT,mem_upper_sm_reconn
+	rtn
+
+process_upper_sm_reconn_sdp_conn_wait:
+	fetch 1,mem_sdp_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_SDP_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_cfg_wait:
+	fetch 1,mem_sdp_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_SS_SPP ,mem_upper_sm_reconn
+process_upper_sm_reconn_ss_spp_wait:
+	fetch 1,mem_message_to_uppersm
+	rtnne RECIEVE_SS_REASULT_HF
+	jam 0,mem_message_to_uppersm
+	jam UPPERSM_RECONN_SDP_DISCONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_sdp_disconn_wait:
+	fetch 1,mem_sdp_state
+	nrtn blank
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_HID,process_upper_sm_reconn_setup_hid
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_hid_ctrl_conn_wait:
+	fetch 1,mem_hid_control_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_CTRL_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_ctrl_cfg_wait:
+	fetch 1,mem_hid_control_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_HID_INT_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_conn_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_HID_INT_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_hid_int_cfg_wait:  
+	fetch 1,mem_hid_interrupt_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_rfcomm
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_rfcomm_conn_wait: 
+	fetch 1,mem_rfcomm_state
+	rtnbit0 L2CAP_CHANNEL_STATE_CONN_RES
+	jam UPPERSM_RECONN_RFCOMM_CFG,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_cfg_wait:
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_SETUP_COMPLETE
+	jam UPPERSM_RECONN_RFCOMM_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_rfcomm_sabm_wait:  
+	fetch 1,mem_rfcomm_state
+	rtnne L2CAP_CHANNEL_RFCOMM_DLCI0_OPENED
+	fetch 1,mem_UI_profile_supported
+	bbit1 support_SPP,process_upper_sm_reconn_setup_spp
+	branch process_upper_sm_reconn_termination
+process_upper_sm_reconn_spp_cmd_pn_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_PN_RES
+	jam UPPERSM_RECONN_SPP_SABM,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_sabm_wait:
+	fetch 1,mem_spp_state
+	rtnbit0 RFCOMM_CHANNEL_STATE_UA
+	jam UPPERSM_RECONN_SPP_CMD_MS ,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_spp_cmd_ms_wait: 
+	fetch 1,mem_spp_state
+	rtnne RFCOMM_CHANNEL_SETUP_COMPLETE
+	branch process_upper_sm_reconn_termination
+
+process_upper_sm_reconn_setup_hid:
+	jam UPPERSM_RECONN_HID_CTRL_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+process_upper_sm_reconn_setup_rfcomm:
+	jam UPPERSM_RECONN_RFCOMM_CONN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+process_upper_sm_reconn_setup_spp:
+	jam UPPERSM_RECONN_SPP_CMD_PN,mem_upper_sm_reconn
+	branch process_upper_sm_reconn
+
+
+
+process_upper_sm_reconn_termination:
+	jam 0,mem_upper_sm_reconn
+	rtn
+upper_sm_send_sdp_conn:
+	bpatchx patch37_7,mem_patch37
+	call l2cap_malloc_signal_channel
+	setarg PSM_SDP
+	copy pdata,temp
+	setarg L2CAP_SDP_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_sdp_cfg:
+	bpatchx patch38_0,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+	
+upper_sm_send_sdp_disconn:
+	bpatchx patch38_1,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_SDP_remote_CID
+	copy pdata,temp
+	arg L2CAP_SDP_channel,timeup
+	call ML2CAP_send_signal_disconn_req
+	fetch 1,mem_sdp_state
+	set0 L2CAP_CHANNEL_STATE_RCV_CFG_RES ,pdata
+	store 1,mem_sdp_state
+	rtn
+//service search
+upper_sm_send_ss_spp:
+	bpatchx patch38_2,mem_patch38
+	call l2cap_malloc_sdp_channel
+	call sdp_send_spp_request
+	branch MSDP_send_req_done
+
+upper_sm_send_rfcomm_conn:
+	bpatchx patch38_3,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_RFCOMM
+	copy pdata,temp
+	setarg L2CAP_RFCOMM_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_rfcomm_cfg:
+	bpatchx patch38_4,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_rfcomm_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_ctrl_conn:
+	bpatchx patch38_5,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_control
+	copy pdata,temp
+	setarg L2CAP_HID_Control_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+
+upper_sm_send_hid_ctrl_cfg:
+	bpatchx patch38_6,mem_patch38
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_ctrl_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_hid_int_conn:
+	bpatchx patch38_7,mem_patch38
+	call l2cap_malloc_signal_channel
+	setarg PSM_HID_interrupt
+	copy pdata,temp
+	setarg L2CAP_HID_interrupt_channel
+	copy pdata,timeup
+	branch ML2CAP_send_signal_connect_req
+	
+upper_sm_send_hid_int_cfg:
+	bpatchx patch39_0,mem_patch39
+	call l2cap_malloc_signal_channel
+	fetch 2,mem_hid_int_remote_cid
+	copy pdata,temp
+	branch ML2CAP_send_signal_config_req
+
+upper_sm_send_rfcomm_sabm:
+	bpatchx patch39_1,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	//force 3,temp //address
+	jam 3,mem_current_adss
+	jam 0x1c,mem_current_fcs
+	call rfcomm_send_sabm
+	jam 1,mem_rfcomm_initiator
+	rtn
+
+upper_sm_send_spp_cmd_pn:
+	bpatchx patch39_2,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_remote_spp_channel
+	call channel_to_dlci
+	storet 1,mem_pn_dlci
+	branch rfcomm_send_param_neg_cmd
+
+upper_sm_send_spp_sabm:
+	bpatchx patch39_3,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	call rfcomm_calculate_FCS_sabm //sabm fcs use once only,not need to save
+	store 1,mem_current_fcs
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd
+	storet 1,mem_current_adss
+	branch rfcomm_send_sabm
+
+upper_sm_send_spp_cmd_ms:
+	bpatchx patch39_4,mem_patch39
+	call l2cap_malloc_rfcomm_channel
+	fetcht 1,mem_pn_dlci
+	call dlci_to_address_cmd //address in temp
+	branch rfcomm_send_modem_status_cmd
+
+
+
Index: YJX_Only24g/main/program/sdp.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/sdp.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/sdp.prog	(working copy)
@@ -0,0 +1,1206 @@
+/**********************************************************************/
+/* Subroutine: sdp_process                                         */
+/* Process Service Discovery Request                                  */
+/* Called from L2CAP, check PDUID, branch to different req processings*/
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload                                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process:
+	bpatchx patch39_5,mem_patch39
+	fetch 2,mem_l2cap_payload_ptr
+	iforce contr
+//	ifetchr regb,1,contr				/* PDUID */
+//	storer regb,1,mem_sdp_pduid
+	ifetch 1,contr
+	copy pdata,regb
+	store 1,mem_sdp_pduid
+	ifetch 2,contr
+	store 2,mem_sdp_transactionid			/* save transaction id */
+	ifetch 1,contr				/* higher byte of parameter length */
+	lshift8 pdata,timeup				
+	ifetch 1,contr				/* lower byte of parameter length */
+	iadd timeup,timeup				/* parameter length stored in "timeup" */
+	bpatchx patch39_6,mem_patch39
+	copy contr,temp
+	arg 4,loopcnt
+	arg mem_sdp_handle_list,contw
+	call memset0
+	copy temp,contr 
+	deposit regb						/* PDUID  */
+	beq SDP_ERROR_RES,sdp_process_error_res
+	beq SDP_SEARCH_REQ,sdp_process_ss_req
+	beq SDP_SEARCH_RES,sdp_process_ss_res
+	beq SDP_ATTRIBUTE_REQ,sdp_process_sa_req
+	beq SDP_ATTRIBUTE_RES,sdp_process_sa_res
+	beq SDP_SEARCHATTRIB_REQ,sdp_process_ssa_req
+	beq SDP_SEARCHATTRIB_RES,sdp_process_ssa_res
+	branch sdp_insufficient_resource
+
+/**********************************************************************/
+/* ss_req			                              */
+/* Processing Service Search Request                                  */
+/* Call: ask_serviceclassid, empty_response                     */
+/*                                                                    */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ss_req:
+	bpatchx patch39_7,mem_patch39
+	call ask_serviceclassid
+	compare 1,temp,0xff
+	branch ss_empty_rsp,true
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+
+	ifetch 2,contr				/* max aservice record count */
+	store 2,mem_sdp_record_maxcnt
+	increase -2,timeup
+
+	increase -1,timeup				/* continuation state 1 byte (0) */
+	nbranch sdp_invalid_pdu_size,zero		/* invalid pdu size */
+	arg mem_sdp_uuid_search_ptr,timeup
+	ifetch 2,timeup
+	rtn blank
+	call search_all_uuid
+	call l2cap_get_sdp_tx_payload			/* put the pointer to Tx buffer  */
+	force 3,pdata						/* PDUID 3, Service Search Response */
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			/* write transaction id */
+	istore 2,contw
+	lshift2 queue,pdata
+	add pdata,5,pdata
+	add pdata,5,regc
+	byteswap pdata,pdata
+	istore 2,contw							/* write parLength */
+	deposit queue
+	byteswap pdata,pdata
+	istore 2,contw							/* write TotSrvRecCount */
+	istore 2,contw							/* write CurSrvRecCount */
+	arg mem_sdp_handle_list,contr
+	copy queue,loopcnt
+	branch ss_req_blank,zero
+ss_req_loop:	
+	ifetch 4,contr
+	istore 4,contw
+	loop ss_req_loop
+ss_req_blank:	
+	force 0,pdata
+	istore 1,contw							/* continuation state */
+	deposit regc
+	store 2,mem_sdp_tx_pkt_length
+//	branch assert,blank
+	rtn
+
+/**********************************************************************/
+/* sa_req			                              */
+/* Processing Service Attribute Request                               */
+/* Call: ask_attributeid, empty_response (if 3 stored attr.     */
+/* not asked) or answer_attributelist                              */  
+/* Input:       mem_L2CAP_Rx_payload pointer in contr                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length	      */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_sa_req:
+	bpatchx patch3a_0,mem_patch3a
+	ifetch 4,contr				/* service record handle */
+	store 4,mem_sdp_record_handle	 
+	increase -4,timeup
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6		/* result: data size stored in rega */
+	branch sdp_invalid_request_syntax,zero
+	compare 5,rega,0xff  // length
+	//branch sa_req_all,true
+	branch sa_judge_wholerange,true
+sa_isnot_wholerange:
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+	branch sa_req_loop
+sa_judge_wholerange:
+	ifetch 1,contr
+	bne SDP_ATTRIBUTE_RANGE,sdp_invalid_request_syntax
+	ifetch 2,contr
+	nbranch sa_judge_wholerange_false1,blank
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false2
+	ifetch 1,contr
+	bne 0xff,sa_judge_wholerange_false3		//also exist potential bug because mem_sdp_attrib_list length is only 7f
+	branch sa_req_all
+sa_judge_wholerange_false3:
+	increase -5,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false2:
+	increase -4,contr
+	branch sa_isnot_wholerange
+sa_judge_wholerange_false1:
+	increase -3,contr
+	branch sa_isnot_wholerange
+sa_req_loop:	
+	ifetch 1,contr
+	beq SDP_ATTRIBUTE_ID, sa_req_one_id
+	beq SDP_ATTRIBUTE_RANGE, sa_req_range
+sa_req_range:
+	ifetch 2, contr
+	istore 2, contw
+	increase 1,queue
+	byteswap pdata,regb
+	ifetch 2, contr
+	byteswap pdata,pdata
+sa_req_range_id_increase:	
+	increase 1, regb
+	isub regb, null
+	nbranch sa_req_range_id_finish,positive
+	copy pdata, regc
+	byteswap regb,pdata
+	istore 2, contw
+	increase 1,queue
+	copy regc, pdata
+	branch sa_req_range_id_increase
+sa_req_range_id_finish:
+	increase -5,timeup
+	increase -5,rega
+	branch sa_req_check_next_id
+sa_req_one_id:
+	ifetch 2,contr
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+sa_req_check_next_id:	
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch sa_req_loop,zero //another attribute 
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw
+	arg mem_sdp_attrib_list,rega
+sa_req_handle_attributelist_next:
+	copy queue,pdata
+	branch sa_req_handle_attributelist_end,blank
+	ifetch 2,rega
+	branch sa_req_handle_attributelist_end,blank
+	iforce regb /* regb is the attribute ID */
+	fetch 4,mem_sdp_record_handle	
+	iforce temp
+	call search_handle_attrib
+	copy contr,pdata
+	branch sa_req_handle_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+	call memcpy
+sa_req_handle_attributelist_notfound:
+	increase 2,rega
+	increase -1, queue
+	branch sa_req_handle_attributelist_next
+
+sa_req_handle_attributelist_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	call ssa_req_range_lastfreg_common
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 11,sa_empty_rsp
+	branch  ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_continue_common:
+	ifetch 1, contr
+	beq 0, sdp_store_continue_0byte
+	beq 1,sdp_store_continue_1byte
+	beq 2, sdp_store_continue_2byte
+sdp_store_continue_0byte:	
+	increase -1,timeup				/* continuation state byte (0) */
+	branch sdp_store_continue_end
+sdp_store_continue_1byte:
+	ifetch 1, contr
+	increase -2,timeup				/* continuation state byte (1) */
+	branch sdp_store_continue_end
+sdp_store_continue_2byte:
+	ifetch 2, contr
+	byteswap pdata,pdata
+	increase -3,timeup				/* continuation state byte (2) */
+sdp_store_continue_end:
+	store 2, mem_sdp_continue_byte	
+	rtn
+	
+sa_req_all:	
+	increase -5,timeup
+	call sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	fetcht 4,mem_sdp_record_handle		
+	call search_handle
+	nbranch sdp_invalid_service_record_handle,zero
+	copy contr,rega
+	call l2cap_get_sdp_tx_payload
+	copy rega,contr
+	increase 3,contw//arg mem_SDP_Tx_payload+3,contw
+	copy contr,timeup //sdp start pointer
+	call sdp_get_data
+	copy pdata, rega //sdp total length
+//	fetchr regb,2,mem_sdp_continue_byte
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in regb
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	nbranch sa_req_all_fragment_sdp, positive
+	// the last fragment
+	disable user
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr //set the read pointer
+	increase 3,regb //include the total length field, 3 bytes
+	copy regb, loopcnt
+	copy loopcnt, pdata
+	increase 3, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	copy loopcnt, pdata
+	byteswap pdata,pdata
+	istore 2, contw
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fisrt_fragment:
+	add rega,6,loopcnt
+	branch sa_req_all_parlength_continue_byte, user
+	byteswap loopcnt,pdata
+	branch sa_req_all_parlength_continue_byte_end
+sa_req_all_parlength_continue_byte:
+	copy loopcnt, pdata
+	increase 2, pdata
+	byteswap pdata,pdata
+sa_req_all_parlength_continue_byte_end:
+	istore 2,contw				/* ParLength */
+	increase -3,loopcnt
+	byteswap loopcnt,pdata			
+	istore 2,contw				/* AttrListByteCount */
+	copy timeup,contr
+	branch sa_req_all_answer_attributelist_full_loop
+sa_req_all_fragment_sdp:
+	enable user
+//	fetchr rega,2,mem_sdp_attribute_maxbyte
+	fetch 2,mem_sdp_attribute_maxbyte
+	copy pdata,rega
+	copy rega,loopcnt
+	fetch 2, mem_sdp_continue_byte
+	branch sa_req_all_fisrt_fragment,blank
+	iadd timeup, contr
+	copy rega,pdata
+	increase 5,pdata
+	byteswap pdata,pdata	
+	istore 2, contw
+	copy rega,pdata
+	byteswap pdata,pdata
+	istore 2, contw
+sa_req_all_answer_attributelist_full_loop:
+	call memcpy
+	nbranch sa_req_all_last_frag_continue, user
+	force 2,pdata
+	istore 1,contw
+	copy contr, pdata
+	isub timeup, pdata
+	byteswap pdata,pdata
+	istore 2, contw   // continuation length
+	branch sa_req_all_frag_end
+sa_req_all_last_frag_continue:
+	force 0,pdata
+	istore 1,contw
+sa_req_all_frag_end:	
+	arg SDP_ATTRIBUTE_RES,rega
+	branch ssa_req_range_common	
+	
+/**********************************************************************/
+/* ssa_req                          		      */
+/* Processing Service Search Attribute Request                        */
+/* Call: ask_serviceclassid, ask_attributeid, empty_response */
+/*       or answer_attributelist                                   */  
+/* Input:       contr                                                 */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_req:
+	bpatchx patch3a_1,mem_patch3a
+	call ask_serviceclassid
+	compare 0xff,temp,0xff
+	branch sdp_invalid_request_syntax,true
+	call sdp_store_maxbyte
+	store 2,mem_sdp_attribute_maxbyte
+	increase -2,timeup
+	call dataelementtype6
+	arg mem_sdp_attrib_list,contw
+	force 0,queue
+ssa_req_loop:	
+	ifetch 1,contr 
+	beq SDP_ATTRIBUTE_RANGE,ssa_req_range
+	ifetch 2,contr 
+	istore 2,contw //save the attribute id in mem_sdp_attrib_list
+	increase 1,queue
+	increase -3,timeup
+	increase -3,rega
+	nbranch sdp_invalid_request_syntax,positive
+	nbranch ssa_req_loop,zero
+	increase -1,timeup
+	nbranch sdp_invalid_request_syntax,zero
+	call l2cap_get_sdp_tx_payload
+	increase 13,contw//arg mem_SDP_Tx_payload+13,contw
+	fetch 2,mem_sdp_uuid_search_ptr
+	iforce regc
+	arg mem_sdp_attrib_list,rega
+ssa_req_attributelist_next:	
+	ifetch 2,rega
+	branch ssa_req_attributelist_end,blank
+	iforce regb						/* regb is the attribute ID */
+	call search_attrib
+	branch ssa_req_attributelist_notfound,blank
+	increase -3,contr
+	ifetch 3,contr
+	istore 3,contw
+	call sdp_data_len
+	iforce loopcnt	
+  	call memcpy
+ssa_req_attributelist_notfound:
+	increase 2,rega
+	branch ssa_req_attributelist_next
+
+ssa_req_attributelist_end:
+	call ssa_req_range_lastfreg
+	fetch 2,mem_sdp_tx_pkt_length	
+	beq 14,ssa_empty_rsp
+	call ssa_req_range_attrbutes_length_no_continue
+	branch ssa_req_range_attrbutes_length_no_continue
+
+
+sdp_store_maxbyte:	
+	ifetch 2,contr				 
+	byteswap pdata,pdata
+	increase -3,pdata	
+	arg 200,temp
+	isub temp,null
+	nrtn positive
+	setarg 200
+	rtn
+	
+
+ssa_req_range:
+	increase 4,contr
+	increase -5,timeup
+	increase -5,rega
+	nbranch sdp_invalid_request_syntax,zero
+	call 	sdp_store_continue_common
+	nbranch sdp_invalid_pdu_size,zero
+	arg mem_sdp_uuid_search_ptr,timeup
+	call search_all_uuid  
+	deposit queue
+	branch ssa_empty_rsp,blank
+	store 1,mem_handle_humber
+//	storer regb,2,mem_sdp_all_length
+	copy regb,pdata
+	store 2,mem_sdp_all_length
+	arg 0,queue
+	arg 0,rega
+	call l2cap_get_sdp_tx_payload
+	increase 10,contw 
+ssa_req_range_find_handle:
+	call ssa_req_range_get_length	
+	nbranch assert,user
+	copy contr,timeup
+	copy pdata,regc
+	iadd rega,rega
+//	copy pdata,rega 
+//	fetch 2,mem_sdp_all_length
+	fetch 2,mem_sdp_continue_byte
+	copy pdata,regb
+	branch ssa_req_range_first_freg,blank
+ssa_req_range_later_freg_with_continue:
+	copy rega,pdata
+	isub regb,regb //total_length - continue_byte in rega
+	branch ssa_req_range_next_handle,zero
+	nbranch ssa_req_range_next_handle,positive
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub regb, null
+	branch ssa_req_range_maxbyte_with_continue,zero
+	nbranch ssa_req_range_maxbyte_with_continue, positive  
+	
+ // data length < =maxbyte 
+ssa_req_range_send_not_maxbyte:
+ 	copy regb,loopcnt
+	call ssa_req_range_maxbyte_with_continue_cpy
+ 	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	branch ssa_req_range_lastfreg,zero
+	branch ssa_req_range_freg_with_continue
+	
+ssa_req_range_maxbyte_with_continue:
+ 	copy pdata,loopcnt
+ 	call ssa_req_range_maxbyte_with_continue_cpy
+ 	branch ssa_req_range_freg_with_continue
+ 	
+ssa_req_range_maxbyte_with_continue_cpy:
+	increase -3,contw   
+	copy loopcnt,temp
+ 	copy regc,pdata
+	isub regb,pdata
+	iadd timeup,contr
+ 	branch memcpy
+
+ssa_req_range_next_handle:
+	fetch 1,mem_handle_humber
+	increase 1,queue
+	isub queue,null
+	rtn zero //
+	branch ssa_req_range_find_handle
+
+ssa_req_range_get_length:	
+	call disable_user
+	arg mem_sdp_handle_list,contr
+	lshift2 queue,pdata
+	iadd contr,contr
+	ifetcht 4, contr
+	call search_handle
+	nrtn zero
+	call sdp_data_len
+	branch enable_user
+
+ssa_req_range_first_freg:
+	fetch 2, mem_sdp_attribute_maxbyte
+	isub rega, null
+	nbranch ssa_req_range_firstfreg_maxbyte_with_continue,positive
+	copy rega,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	fetch 2,mem_sdp_all_length
+	isub rega,null
+	branch ssa_req_range_freg_no_continue,zero
+ssa_req_range_firstfreg_not_maxbyte_with_continue:
+	call ssa_req_range_freg_with_continue
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_freg_no_continue:
+	call ssa_req_range_lastfreg
+	branch ssa_req_range_attrbutes_length
+	
+ssa_req_range_lastfreg:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+ssa_req_range_lastfreg_common:
+	force 0,pdata
+	istore 1,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw  //attribute length
+	rtn
+
+ssa_req_range_firstfreg_maxbyte_with_continue:
+	copy pdata,loopcnt
+	copy loopcnt,temp
+	copy timeup,contr
+	call memcpy
+	call ssa_req_range_freg_with_continue
+ssa_req_range_attrbutes_length:	
+	setarg 0x36
+	istore 1,contw
+	fetch 2,mem_sdp_all_length
+	byteswap pdata,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_attrbutes_length_no_continue:	
+	setarg 0x36
+	istore 1,contw
+	increase -3,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_freg_with_continue:
+	arg SDP_SEARCHATTRIB_RES,rega  //PUD ID
+	setarg 2
+	istore 1,contw	
+	fetch 2,mem_sdp_continue_byte
+	iadd temp,temp
+	byteswap temp,pdata
+	istore 2,contw
+	call ssa_req_range_common
+	fetcht 2,mem_sdp_tx_pkt_length
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw
+	increase -5,temp
+	byteswap temp,pdata
+	istore 2, contw 
+	rtn	
+
+ssa_req_range_common:
+	fetch 2,mem_sdp_tx_payload_ptr
+	isub contw,pdata
+	sub pdata,0,pdata
+	store 2,mem_sdp_tx_pkt_length
+	call l2cap_get_sdp_tx_payload 
+	copy rega,pdata  //PUD ID
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid
+	istore 2,contw
+	rtn
+
+
+
+
+/**********************************************************************/
+/* ssa_res			                      */
+/* Processing Service Search Attribute Response                       */
+/* Call: dataelementtype6, attribute_reading                    */
+/* Input:       contr                                                 */
+/* Output:      mem_sdp_record_handle,mem_sdp_search_failed           */
+/*                                                                    */
+/**********************************************************************/     
+sdp_process_ssa_res:
+sdp_process_ss_res:
+sdp_process_sa_res:
+sdp_process_error_res:
+	rtn
+/*
+sdp_process_ss_res:
+	bpatchx patch3a_2,mem_patch3a
+	ifetch 2,contr
+	ifetch 2,contr
+	byteswap pdata,pdata
+	bne 1,assert
+	ifetch 4,contr
+	store 4,mem_sdp_record_handle
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_SEARCH_RES,pdata
+	istore 1,regc
+	rtn
+	
+sdp_process_sa_res:
+	bpatchx patch3a_3,mem_patch3a
+	fetchr regc,2,mem_sdp_l2capch_ptr
+	add regc,offset_lc_state,regc
+	ifetch 1,regc
+	set1 L2CAP_CHANNEL_STATE_RECV_ATTRIB_RES,pdata
+	istore 1,regc
+	copy temp,contr
+	ifetch 2,contr
+	call search_rfcomm_cn
+	store 1,mem_profile_channel	
+	rtn
+*/
+
+				    
+
+sdp_invalid_service_record_handle:		
+	setarg 0x0200
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_pdu_size:				
+	setarg 0x0400
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_insufficient_resource:			
+	setarg 0x0600
+	store 2,mem_sdp_error_code
+	branch sdp_error_response
+sdp_invalid_request_syntax:			
+	setarg 0x0300
+	store 2,mem_sdp_error_code
+sdp_error_response:	
+	call l2cap_get_sdp_tx_payload
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid			
+	istore 2,contw
+	setarg 0x0200					
+	istore 2,contw
+	fetch 2,mem_sdp_error_code			
+	istore 2,contw
+	jam  7,mem_sdp_tx_pkt_length
+	rtn
+
+
+//store uuid in mem_sdp_uuid_search_ptr,
+//return temp 0xff if wrong 
+ask_serviceclassid:  
+	arg 0,regb
+	force 0,temp					/* use "temp" to mark syntax error or to mark 128 bit uuid */
+	arg mem_sdp_uuid_search_ptr,contw
+	call dataelementtype6
+	branch asksrv_error,zero
+classidloop:
+	increase 1,regb
+	ifetch 1,contr
+	increase -1,rega
+	increase -1,timeup
+	compare 0x18,pdata,0xf8			/* 5 MSB: b00011: uuid */
+	nbranch asksrv_error,true
+	compare 0x04,pdata,0x07			/* 3 LSB: b100 128 bits uuid */
+	nbranch cmp032,true
+	force 1,temp					/* mark it as 128 bit uuid */
+skip2bytes:
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	bne 0x00, frstbwrong
+	ifetch 1,contr
+	increase -1,rega	
+	increase -1,timeup
+	beq 0x00, cmpuuid
+	branch scndbwrong
+frstbwrong:  
+	increase 1,contr
+	increase -1,rega	
+	increase -1,timeup
+scndbwrong:  
+	increase 2,contr				/* skip 2 bytes, first 2 bytes already wrong */
+	increase -2,rega	
+	increase -2,timeup
+	compare 0x00,temp,0xff                        /* 128 bits or 32 bits ? */
+	branch loopornot,true
+	increase 12,contr				/* skip 12 bytes, first 2 bytes already wrong */
+	increase -12,rega	
+	increase -12,timeup
+	branch loopornot
+cmp032:
+	compare 0x02,pdata,0x07			/* 3 LSB: b010 32 bits uuid */
+	nbranch cmp016,true
+	branch skip2bytes			
+cmp016:
+	compare 0x01,pdata,0x07			/* 3 LSB: b001 16 bit uuid */
+	nbranch asksrv_error,true
+cmpuuid:
+	increase -2,rega
+	increase -2,timeup
+	ifetch 2,contr				/* higher order byte */
+	sub regb,4,null
+	branch uuidsize,zero //max store uuids =3 
+	istore 2,contw
+uuidsize:
+	compare 0x00,temp,0xff			/* is this 128 bits uuid */
+	branch loopornot,true
+	copy contr,temp
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x10, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x00, wrong12b
+	ifetch 1,contr
+	bne 0x80, wrong12b
+	ifetch 1,contr
+	bne 0x5f, wrong12b
+	ifetch 1,contr
+	bne 0x9b, wrong12b
+	ifetch 1,contr
+	bne 0x34, wrong12b
+	ifetch 1,contr
+	beq 0xfb, chck12dn
+wrong12b:
+	copy temp,contr  
+wrong12b1:
+	increase 12,contr				/* skip 12 bytes */
+	force 0x00,queue
+	force 0x00,temp
+	branch chck12dn
+
+chck12dn:
+	increase -12,timeup
+	increase -12,rega
+loopornot:
+	force 0x00,temp
+	compare 0x00,rega,0xff
+	nbranch classidloop,true
+	force 0,pdata
+	istore 2,contw			/* end list with null */
+	rtn
+asksrv_error:
+	arg 0xff,temp
+	rtn
+
+/**********************************************************************/
+/* Subroutine: dataelementtype6                                    */
+/* Parse Data Element Sequence, obtain the data size                  */
+/* Input:  SDP Rx Buf Pointer in contr, parameter count in timeup     */
+/* Output: data length in rega, data pointer in contr             */
+/*         and  parameter count in timeup, return with zero flag set: */
+/*         syntax error                                               */
+/**********************************************************************/     
+dataelementtype6:
+	bpatchx patch3a_4,mem_patch3a
+	ifetch 1,contr
+	increase -1,timeup
+	compare 0x30,pdata,0xf8			/* 5 MSB: b00110: type 6 */
+	nbranch dsize_error,true
+	compare 0x07,pdata,0x07			/* 3 LSB: b111: 32 bits */
+	branch dsize32,true
+	compare 0x06,pdata,0x07			/* 3 LSB: b110: 16 bits */
+	branch dsize16,true
+	compare 0x05,pdata,0x07			/* 3 LSB: b101: 8 bits */
+	nbranch dsize_error,true
+//	ifetchr rega,1,contr				/* data length in reg A */
+	ifetch 1,contr
+	copy pdata,rega
+	increase -1,timeup
+	branch dsize
+dsize32:
+	increase 2,contr				 
+	increase -2,timeup
+dsize16:
+	ifetch 2,contr
+	byteswap pdata,rega
+	increase -2,timeup
+dsize:
+	force 0x01,pdata
+	rtn
+dsize_error:
+	force 0x00,pdata
+	rtn
+
+/**********************************************************************/
+/* Subroutine: sa_empty_rsp                                      */
+/* Send empty response                                                */
+/*                                                                    */
+/* Input:       mem_sdp_pduid, mem_sdp_transactionid                  */
+/* Output:      mem_SDP_Tx_payload, mem_SDP_Tx_pkt_length             */
+/*                                                                    */
+/**********************************************************************/     
+ss_empty_rsp:
+	setarg SDP_SEARCH_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+sa_empty_rsp:
+	setarg SDP_ATTRIBUTE_RES
+	store 1, mem_sdp_pduid
+	branch empty_response
+ssa_empty_rsp:
+	setarg SDP_SEARCHATTRIB_RES
+	store 1, mem_sdp_pduid
+empty_response:
+	call l2cap_get_sdp_tx_payload			/* empty attribute list */
+//	fetchr regb,1,mem_sdp_pduid				/* PDUID */
+//	istorer regb,1,contw
+	fetch 1,mem_sdp_pduid
+	copy pdata,regb
+	istore 1,contw 
+	fetch 2,mem_sdp_transactionid			/* copy back transaction id */
+	istore 2,contw
+	setarg 0x0500
+	istore 2, contw
+	compare SDP_ATTRIBUTE_RES,regb,0xff			 
+	branch fullsearch,true
+	compare SDP_SEARCHATTRIB_RES,regb,0xff			 
+	branch fullsearch,true
+	setarg 0x000000
+	istore 5,contw
+	branch outempty
+
+fullsearch:					/* pduid must be 5 or 7 */
+	setarg 0x350200
+	istore 5,contw
+outempty:
+	jam 10,mem_sdp_tx_pkt_length
+	rtn
+
+//return length in pdata(whole element ,include header and data ), contr not change
+sdp_data_len:
+	call store_contw
+	call store_contr
+	call sdp_get_data
+	call get_contw
+	call get_contr
+	copy temp,pdata
+	rtn
+
+//return data length in pdata, contr is data pionter,return length in temp(whole element ,include header and data )
+sdp_get_data:
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	bne 0,sdp_get_data_type_not0
+sdp_get_data_type0:	
+	force 1,pdata
+	force 1,temp
+	rtn
+	
+sdp_get_data_type_not0_sizeindex01234:
+	call left_shift_n
+	add pdata,1,temp  //add header length
+	rtn
+sdp_get_data_type_not0:
+	deposit loopcnt
+	sub pdata,4,null
+	branch sdp_get_data_type_not0_sizeindex01234,positive
+	beq 5,sdp_get_data_type_not0_sizeindex5
+	beq 6,sdp_get_data_type_not0_sizeindex6
+	beq 7,sdp_get_data_type_not0_sizeindex7
+	rtn
+	
+sdp_get_data_type_not0_sizeindex5:
+	ifetch 1,contr
+	add pdata,2,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex6:
+	ifetch 2,contr
+	byteswap pdata,pdata
+	add pdata,3,temp  //add header length
+	rtn
+sdp_get_data_type_not0_sizeindex7:
+	ifetch 2,contr	
+	byteswap pdata,pdata
+	ifetcht 2,contr	
+	byteswap temp,temp
+	lshift16 temp,temp
+	iadd temp,pdata
+	add pdata,5,temp  //add header length
+	rtn
+
+/* find with uuids
+input uuids pionter in timeup
+return handles in mem_sdp_handle_list; handles number in queue if found 
+return regb all length*/
+search_all_uuid:
+	bpatchx patch3a_5,mem_patch3a
+	force 0,queue
+	arg 0,regb
+	arg mem_sdp_handle_list,contw
+search_all_uuid_llop:
+	ifetch 2,timeup
+ 	rtn blank
+	call search_uuid
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER 
+	increase 2,timeup
+ 	branch search_all_uuid_llop
+	
+search_uuid:
+//	arg 0,regb
+	iforce regc
+//	force 0,queue
+	fetch 2, mem_ui_uuid_table
+	iforce contr
+search_uuid_next:
+	copy queue,pdata
+	rtneq SDP_MAX_HANDLE_NUMBER   
+	disable user
+	ifetch 1,contr
+	rtn blank
+	iforce loopcnt
+search_uuid_loop:	
+	ifetch 2,contr
+	isub regc,null
+	nbranch search_uuid_not_found,zero
+	enable user					// uuid match
+search_uuid_not_found:
+	loop search_uuid_loop
+	ifetcht 4,contr					// get handle 
+	copy contr,rega
+	nbranch search_uuid_nomatch,user
+	arg mem_sdp_handle_list,contr
+	arg SDP_MAX_HANDLE_NUMBER,loopcnt 
+search_uuid_check_same_handle:
+	ifetch 4,contr
+	branch search_uuid_store_handle,blank
+	isub temp,null
+	branch search_uuid_nomatch,zero
+	loop search_uuid_check_same_handle
+	rtn 
+search_uuid_store_handle:
+	istoret 4,contw
+	increase 1,queue
+	copy rega,contr
+	call sdp_data_len
+	iadd regb,regb
+	iadd contr,contr		 
+	branch search_uuid_next
+search_uuid_nomatch:	
+	copy rega,contr
+	call sdp_get_data
+	iadd contr,contr			// next paragraph 
+	branch search_uuid_next
+
+/* temp is handle,
+return zero  if found
+return data pointer in contr 
+*/
+search_handle:
+	bpatchx patch3a_6,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_loop:	
+	ifetch 1,contr
+	branch disable_zero,blank
+	lshift pdata,pdata
+	iadd contr,contr
+	ifetch 4,contr
+	isub temp,null
+	rtn zero
+	deposit contw
+	store 2,mem_contw
+	storet 8,mem_temp
+	call sdp_get_data
+	iadd contr,contr
+	copy contr,pdata
+	fetcht 2,mem_contw
+	copy temp,contw
+	fetcht 8,mem_temp
+	copy pdata,contr
+	branch search_handle_loop
+
+/**
+* input regb and regc.regb is the attribute ID and regc is UUID.
+* set contr if find attribute or 0 if not
+*/
+search_attrib:
+	bpatchx patch3a_7,mem_patch3a
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_attrib_next:
+	ifetch 1,contr
+	branch search_attrib_end, blank
+	iforce loopcnt
+search_attrib_loop:	
+	ifetch 2,contr
+	isub regc,null						/* regc is UUID, compare it */
+	branch search_attrib_found_uuid,zero
+	loop search_attrib_loop
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_attrib_next	
+search_attrib_found_uuid:
+	increase -1,loopcnt
+	lshift loopcnt,pdata
+	iadd contr,contr
+	increase 4,contr
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	//force 0x1,pdata,zero
+//	setflag zero, 0,pdata
+//	copy timeup, timeup
+	branch disable_blank,zero			/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_attrib_loop_attribs	
+search_attrib_end:
+	force 0,contr
+	force 0,pdata
+	rtn
+	
+
+//search the attribute according the record handle
+//record handle in temp, attribute in regb
+//set the contr to zero if not found
+search_handle_attrib:	
+	bpatchx patch3b_0,mem_patch3b
+	fetch 2,mem_ui_uuid_table
+	iforce contr
+search_handle_attrib_next:
+	ifetch 1,contr
+	branch search_handle_attrib_end, blank
+	lshift pdata,pdata
+	iadd contr, contr
+	ifetch 4,contr
+	isub temp,null						/* regc is UUID, compare it */
+	branch search_handl_attrib_found_handle,zero
+	call sdp_get_data
+	iadd contr,contr			/* next paragraph */
+	branch search_handle_attrib_next	
+search_handl_attrib_found_handle:
+	call sdp_get_data
+	iadd contr,timeup					/* attribute list end */
+search_handle_attrib_loop_attribs:	
+	increase 1,contr
+	ifetch 2,contr
+	isub regb,null
+	rtn zero							/* attribute found */
+	call sdp_data_len
+	iadd contr,contr
+	deposit timeup
+	isub contr,null
+	branch search_handle_attrib_end, zero /*attribute end, not found the attribute, return contr = 0*/
+	branch search_handle_attrib_loop_attribs
+search_handle_attrib_end:
+	force 0,contr
+	rtn	
+
+
+//enable user if find rfcomm channel number, pdata is channel number
+search_rfcomm_cn:
+	arg 0x0400,regb  // attribute protocol edscriptor list
+	call search_handl_attrib_found_handle
+	arg 0x0300,regb  // uuid rfcomm
+	call search_uuid_in_data
+	nrtn user
+	sub rega,3,null
+	branch disable_user,positive
+	ifetch 1,contr
+	bne 0x08,disable_user
+	ifetch 1,contr
+	rtn
+	
+ //input timeup is lenth
+ //input contr is data ptr
+ //return contr is end of uuid; enable user if found uuid
+search_uuid_in_data:
+	bpatchx patch3b_1,mem_patch3b
+	call sdp_get_data
+	copy pdata,rega
+search_uuid_in_data_loop:	
+	ifetch 1,contr
+	and pdata,0x7,loopcnt
+	rshift3 pdata,pdata
+	sub pdata,3,null
+	branch search_uuid_in_data_found_uuid,zero
+	copy loopcnt,pdata
+	beq 5,search_uuid_in_data_found_element_index5
+	beq 6,search_uuid_in_data_found_element_index6
+	beq 7,search_uuid_in_data_found_element_index7
+	increase -1,contr
+	call sdp_get_data
+	iadd contr,contr
+	copy rega,pdata
+	isub temp,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+	
+search_uuid_in_data_found_element_index5:
+	increase -2,rega
+	increase 1,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index6:
+	increase -3,rega
+	increase 2,contr
+	branch search_uuid_in_data_loop
+search_uuid_in_data_found_element_index7:
+	increase -5,rega
+	increase 4,contr
+	branch search_uuid_in_data_loop		
+	
+search_uuid_in_data_found_uuid:
+	increase -1,rega
+	copy loopcnt,pdata
+	beq 1,search_uuid_in_data_type_uuid_16
+	beq 2,search_uuid_in_data_type_uuid_32
+	beq 4,search_uuid_in_data_type_uuid_128
+	branch disable_user 
+search_uuid_in_data_type_uuid_128:
+	increase -12,rega
+search_uuid_in_data_type_uuid_32:
+	ifetch 2,contr
+	increase -2,rega
+search_uuid_in_data_type_uuid_16:
+	ifetch 2,contr
+	isub regb,null
+	branch enable_user,zero
+	increase -2,rega
+	branch disable_user,zero
+	branch search_uuid_in_data_loop
+
+/*
+//rega:l2cap len ,mem_search_uuid:uuid to search
+sdp_send_search_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_SEARCH_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+	//istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x19
+	istore 1,contw
+	fetch 2,mem_search_uuid
+	istore 2,contw
+	setarg 0x0008
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+
+//rega:l2cap len
+sdp_send_attribute_req:
+	call l2cap_malloc_sdp_req
+	setarg SDP_ATTRIBUTE_REQ
+	istore 1,contw
+	fetch 2,mem_sdp_transactionid_local
+	byteswap pdata,pdata
+	istore 2,contw
+	increase -5,rega
+	byteswap rega,rega
+//	istorer rega,2,contw
+	copy rega,pdata
+	istore 2,contw
+	fetch 4,mem_sdp_record_handle
+	istore 4,contw
+	setarg 0x2c01
+	istore 2,contw
+	setarg 0x0535
+	istore 2,contw
+	setarg 0x0a
+	istore 1,contw
+	setarg 0
+	istore 2,contw
+	setarg -1
+	istore 2,contw
+	setarg 0
+	istore 1,contw
+	rtn
+*/	
+	
+
+sdp_send_spp_request:
+	call l2cap_get_sdp_tx_payload
+	copy pdata,contw
+	setarg 6//Search Attr Req
+	istore 1,contw
+	setarg sdp_tid_spp					
+	istore 2,contw
+	setarg 0x0f00 //length15
+	istore 2,contw
+	setarg 0x1a0535
+	istore 3,contw
+	setarg 0x0111
+	lshift16 pdata,pdata //UUID
+	istore 4,contw
+	setarg 0x2600 //max return len
+	istore 2,contw
+	setarg 0x0335
+	istore 2,contw
+	setarg 0x0009
+	istore 2,contw
+	setarg 0x0004
+	istore 2,contw
+	jam 0x14,mem_sdp_tx_pkt_length
+	rtn
+
Index: YJX_Only24g/main/program/security.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/security.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/security.prog	(working copy)
@@ -0,0 +1,1642 @@
+
+ifdef SECURE_CONNECTION
+	
+function_g2:
+	bpatchx patch3b_2,mem_patch3b
+	jam 80,mem_AES_CMAC_data_length
+	arg memdat,contw
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat	
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	call function_AES_CMAC	
+
+	arg mem_AES_CMAC_temp,contw
+	call load_inverse_result
+	setarg 1000000
+	copy pdata,rega
+	fetch 4,mem_AES_CMAC_temp
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+//call ice_break
+	rtn
+
+function_f6_eb:
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_a
+	call store_addr_common_b
+	fetch 3,mem_le_pres+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	
+	arg mem_le_mrand,contr
+	call memcpy16
+	arg mem_le_srand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	branch function_AES_CMAC
+//	arg mem_AES_CMAC_temp,contw
+//	branch p_load_inverse_result
+
+get_r:
+	fetch 4,mem_le_tk
+	istore 4,contw
+	call memset0_4
+	branch memset0_8
+
+function_f6_ea:
+	bpatchx patch3b_3,mem_patch3b
+	jam 65,mem_AES_CMAC_data_length
+	arg memdat,contw
+	call store_addr_common_b
+	call store_addr_common_a
+	fetch 3,mem_le_preq+1
+	istore 3,contw
+//	arg mem_le_r,contr
+//	call memcpy16	
+	call get_r
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+	call inverse_memdat
+	arg mem_le_mackey ,contr
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+//	call p_store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_temp,contw
+	branch load_inverse_result
+
+function_f5:
+	jam 32,mem_AES_CMAC_data_length
+	arg mem_le_dhkey_256 ,contr
+	arg memdat,contw
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_slat,contr
+	call store_inverse_k	
+	call function_AES_CMAC
+	arg mem_AES_CMAC_k,contw
+	call store_aes_result
+	arg 1,temp
+	call function_f5_common
+	arg mem_le_ltk,contw
+	call load_inverse_result
+	arg 0,temp
+	call function_f5_common
+	arg mem_le_mackey,contw
+//	branch p_load_inverse_result
+	branch store_aes_result
+
+
+function_f5_common:
+	bpatchx patch3b_4,mem_patch3b
+	jam 53,mem_AES_CMAC_data_length
+	setarg 0x100
+	store 2,memdat
+	call store_addr_common_b
+	call store_addr_common_a
+	arg mem_le_srand,contr
+	call memcpy16
+	arg mem_le_mrand,contr
+	call memcpy16
+//	fetch 4,mem_le_keyid 0x62746c65
+	setarg 0x6c65
+	istore 2,contw
+	setarg 0x6274
+	istore 2,contw
+	istoret 1,contw   //counter
+	call inverse_memdat	
+	branch function_AES_CMAC
+
+store_addr_common_b:
+	fetch 6,mem_le_lap
+	istore 6,contw
+	fetch 1,mem_le_conn_own_addr_type
+	istore 1,contw
+	rtn
+
+store_addr_common_a:
+	fetch 6,mem_le_plap
+	istore 6,contw
+//	setarg 0x2dcfc1
+//	istore 3,contw
+//	setarg 0xa71370
+//	istore 3,contw
+	fetch 1,mem_le_conn_peer_addr_type
+	istore 1,contw
+	rtn
+
+function_f4_ca:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_mrand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+	
+
+function_f4_cb:
+	jam 65,mem_AES_CMAC_data_length
+	fetch 1,mem_passkey_1bit
+	store 1,memdat
+	arg mem_le_pubkey_remote_x_256,contr
+	call memcpy32
+	arg mem_le_pubkey_local_x_256,contr
+	call memcpy32
+	call inverse_memdat
+	arg mem_le_srand,contr
+	call store_inverse_k	
+	branch function_AES_CMAC
+
+function_AES_CMAC:
+	bpatchx patch3b_5,mem_patch3b
+	call function_AES_CMAC_Generate_Subkey
+//call ice_break
+//	jam 65,mem_AES_CMAC_data_length
+//call ice_break
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,temp
+function_ceil16:
+	increase 15,pdata
+	rshift4 pdata,pdata
+	copy pdata,regb
+	branch function_AES_CMAC_set_flag_0_balnk,blank
+	and temp,0x0f,pdata
+	nbranch function_AES_CMAC_set_flag_0,blank
+//	flag =1;
+	arg mem_AES_CMAC_k1,regc
+	arg memdat,pdata
+	increase -16,pdata
+//	iadd temp,pdata
+//	isub rega,rega
+	iadd temp,rega	
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop
+//call ice_break
+//	arg mem_f4_k1,contr
+//	call load_key
+	branch function_AES_CMAC_aes
+
+function_AES_CMAC_set_flag_0_balnk:
+	arg 1,regb
+	arg 0,rega
+//	arg mem_f4_test_data,pdata
+	branch function_AES_CMAC_set_flag_0_common
+//call ice_break
+
+function_AES_CMAC_set_flag_0:
+//	flag = 0;
+	and temp,0x0f,rega
+function_AES_CMAC_set_flag_0_common:
+	arg memdat,pdata
+	iadd temp,pdata
+	isub rega,contr
+//call ice_break
+	arg mem_AES_CMAC_temp,contw
+	call function_AES_CMAC_padding
+//call ice_break
+	arg mem_AES_CMAC_k2,regc
+	arg mem_AES_CMAC_temp,rega
+	arg mem_AES_CMAC_M_last,contw
+	arg 4,loopcnt	
+	call xor_loop	
+//call ice_break
+
+//	arg mem_f4_k2,contr
+//	call load_key
+
+//	branch p_function_f4_aes
+function_AES_CMAC_aes:
+//	arg mem_f4_k,contr
+//	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call load_data128
+	call aes_clear_data
+	call aes_init	
+//	arg mem_f4_k,contr
+//	call load_key
+	arg memdat,contr
+function_AES_CMAC_aes_loop:
+//generate_mic_loop:
+	increase -1,regb
+	deposit regb
+	branch function_AES_CMAC_aes_loop_end,blank
+	call load_data128
+	call do_aes_cbc
+	branch function_AES_CMAC_aes_loop
+//generate_mic_end:
+function_AES_CMAC_aes_loop_end:	
+	arg mem_AES_CMAC_temp,contw
+	call store_aes_result
+	arg mem_AES_CMAC_M_last,contr
+	call load_data128
+	call aes_init	
+	arg mem_AES_CMAC_temp,contr
+	call load_data128	
+	branch do_aes_cbc
+
+
+
+load_inverse_result:
+//	arg mem_AES_CMAC_temp,contw
+	copy contw,rega
+	call store_aes_result
+//	arg mem_AES_CMAC_temp,rega
+	arg 16,loopcnt
+	branch inverse_data
+	
+store_inverse_k:
+	arg mem_AES_CMAC_k,contw
+	call memcpy16
+inverse_k:	
+	arg 16,loopcnt
+	arg mem_AES_CMAC_k,rega	
+	branch inverse_data
+	
+inverse_memdat:
+	fetch 1,mem_AES_CMAC_data_length
+	copy pdata,loopcnt
+	arg memdat,rega
+	branch inverse_data
+
+bn_lshift_0_inverse:
+	ifetch 1,regA
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata	
+	isolate1 8,pdata
+	setflag true,0,regC	
+	istore 1,rega
+         increase -1,rega
+	loop bn_lshift_0_inverse
+	rtn	
+
+function_AES_CMAC_k1_inverse:
+	arg mem_AES_CMAC_k1,regA
+function_AES_CMAC_inverse_common:
+	increase 15,rega
+	force 16,loopcnt
+	force 0,regC
+	branch  bn_lshift_0_inverse	
+
+function_AES_CMAC_k2_inverse:
+	arg mem_AES_CMAC_k2,regA
+	branch function_AES_CMAC_inverse_common
+	
+
+function_AES_CMAC_Generate_Subkey:
+	arg mem_AES_CMAC_k,contr
+	call load_key
+//	arg mem_AES_CMAC_xor,contr
+//	call aes_load_xor
+	force regidx_xor,regext_index
+	call aes_clear
+	call aes_clear_data
+	call do_aes_ocb
+	
+//	force 0x38,aes_ctrl
+//	force 0x0,aes_ctrl
+//	call wait_aes
+	arg mem_AES_CMAC_k1,contw
+	call store_aes_result
+function_AES_CMAC_k1:
+	bpatchx patch3b_6,mem_patch3b
+	fetch 1,mem_AES_CMAC_k1
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k1_0,true	
+	call function_AES_CMAC_k1_inverse
+	
+//p_function_f4_k1_xor:
+	arg mem_AES_CMAC_k1,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k1,contw
+//	arg 3,loopcnt
+//	call xor_loop
+	call function_AES_CMAC_xor_rb
+	branch function_AES_CMAC_k2
+function_AES_CMAC_k1_0:	
+	call function_AES_CMAC_k1_inverse
+function_AES_CMAC_k2:
+//call ice_break
+	arg mem_AES_CMAC_k1,contr
+	arg mem_AES_CMAC_k2,contw
+	call memcpy16
+	fetch 1,mem_AES_CMAC_k2
+	isolate1 7,pdata
+	nbranch function_AES_CMAC_k2_inverse,true		
+	call function_AES_CMAC_k2_inverse
+//p_function_f4_k2_xor:
+	arg mem_AES_CMAC_k2,regc
+//	arg mem_AES_CMAC_rb,rega
+	arg mem_AES_CMAC_k2,contw
+//	arg 3,loopcnt
+//	branch xor_loop	
+
+
+//rb:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 87 
+function_AES_CMAC_xor_rb:
+	arg 3,loopcnt
+function_AES_CMAC_xor_rb_loop:	
+	arg 0,temp
+	call function_AES_CMAC_xor_loop_common	
+	increase 4,regc
+	loop  function_AES_CMAC_xor_rb_loop
+	arg 0x8700,temp
+	lshift16 temp,temp
+function_AES_CMAC_xor_loop_common:	
+	ifetch   4,regc
+	ixor  temp,pdata
+	istore   4,contw	
+	rtn
+		
+
+
+
+//input rega :length <16	contr,contw
+function_AES_CMAC_padding:
+	bpatchx patch3b_7,mem_patch3b
+	arg 16,loopcnt
+	arg 0,pdata
+function_AES_CMAC_padding_loop:
+	isub rega,null
+	branch function_AES_CMAC_padding_beq_length,zero
+	branch function_AES_CMAC_padding_big_length,positive
+	ifetcht 1,contr
+	istoret 1,contw
+function_AES_CMAC_padding_loop2:	
+	increase 1,pdata
+	loop function_AES_CMAC_padding_loop
+	rtn
+function_AES_CMAC_padding_beq_length:	
+	arg 0x80,temp
+function_AES_CMAC_padding_common:
+	istoret 1,contw
+	branch  function_AES_CMAC_padding_loop2
+
+function_AES_CMAC_padding_big_length:
+	arg 0,temp
+	branch function_AES_CMAC_padding_common
+
+endif
+	
+generate_kinit:
+	call function_e22
+	arg mem_input_store,contr
+	arg mem_kinit,contw		/* Kinit is ready */
+	branch memcpy16
+
+
+function_e21:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	arg mem_random_number,contr
+	arg mem_x,contw
+	force 15,loopcnt
+	call memcpy			
+	ifetch 1,contr
+	xor_into 6,pdata
+	istore 1,contw
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+	
+function_e22:		/* rega pointers to bdaddr */
+	fetcht 1,mem_pin_length
+	force 16,regb			/* total 16 bytes */
+	add temp,6,regc		/* regc is l' */
+	sub regc,16,null		
+	branch function_e22_pin_init,positive 
+	force 16,regc
+function_e22_pin_init:			/* generate x from pin and bdaddr */
+	arg mem_x,contw
+function_e22_genx_pin:
+	arg mem_pin,contr
+	copy temp,loopcnt
+	disable user
+function_e22_genx_loop:
+	ifetch 1,contr
+	istore 1,contw
+	increase -1,regb
+	branch function_e22_genx_end,zero
+	loop function_e22_genx_loop
+	branch function_e22_genx_pin,user
+	enable user
+	force 6,loopcnt
+	copy rega,contr
+	branch function_e22_genx_loop
+function_e22_genx_end:
+	arg mem_random_number,contr
+	arg mem_y,contw
+	call memcpy16
+	fetch 1,mem_y15
+	ixor regc,pdata
+	store 1,mem_y15	/* inpy[15] = rand_num[15]^l'; */
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+
+
+
+
+function_e1:	/* rega pointers to bdaddr */
+	disable user
+	call function_expand
+	branch function_hash
+
+function_e3:
+	arg mem_aco,rega
+	enable user
+	call function_expand
+	call function_hash
+	arg mem_input_store,contr
+	arg mem_kc,contw
+	branch memcpy16
+
+	/* costs 41769 clocks */
+function_hash:
+	setarg mem_random_number
+	store 2,memp_ar_input
+	setarg mem_link_key
+	store 2,memp_ar_key
+	set0 mark_ar2,mark
+	call function_ar
+	arg mem_input_store,rega
+	arg mem_random_number,regb
+	arg mem_x,contw
+	call xor16
+	arg mem_x,rega
+	arg mem_y,regb
+	copy regb,contw
+	enable user
+	call add16
+	call key_offset
+	setarg mem_y
+	store 2,memp_ar_input
+	setarg mem_x
+	store 2,memp_ar_key
+	set1 mark_ar2,mark
+	branch function_ar
+	
+
+	/* totally costs 20700 clocks */
+function_ar:
+	jam 0,mem_ar_hround
+	fetch 2,memp_ar_key
+	iforce contr
+	arg mem_key_store,contw
+	call memcpy16
+	fetch 2,memp_ar_input
+	iforce contr
+	arg mem_input_store,contw
+	call memcpy16
+	
+function_ar_loop:
+	call key_scheduling
+	disable user
+	bmark0 mark_ar2,function_ar_original
+	fetch 1,mem_ar_hround
+	bne 4,function_ar_original
+	fetch 2,memp_ar_input
+	iforce regb
+	call xor_mod32_ar2
+function_ar_original:
+	call xor_mod32
+	call el_boxes
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+
+	call key_scheduling
+	enable user
+	call xor_mod32
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	call permute
+	call pht
+	fetch 1,mem_ar_hround
+	increase 1,pdata
+	store 1,mem_ar_hround
+	bne 16,function_ar_loop
+	call key_scheduling
+	disable user
+	branch xor_mod32
+	
+/* input round number and temp key in mem_key_store, and output the next temp key in mem_key_store */
+/* round key is generated and store in mem_round_key */
+key_scheduling:
+	fetch 1,mem_ar_hround
+	arg mem_key_store,contr
+	branch key_sched_zero,blank
+	iforce regb      			/* regb is half round */
+	force 17,loopcnt
+	copy contr,contw
+key_rotateloop:
+	ifetch 1,contr
+	lshift3 pdata,temp
+	rshift2 pdata,pdata
+	rshift3 pdata,pdata
+	ior temp,pdata
+	istore 1,contw
+	loop key_rotateloop
+	setarg mem_key_store
+	iadd regb,contr
+	force 16,loopcnt    
+	arg mem_round_key,contw
+key_select_octet_loop:
+	ifetch 1,contr
+	istore 1,contw
+	compare mem_key_store_end,contr,0xff
+	nbranch key_select_octet_nwrap,true
+	increase -17,contr
+key_select_octet_nwrap:
+	loop key_select_octet_loop
+	force 0,rega         /* rega is index of octet within row */
+	add regb,-1,regc    /* this is the row index, half_round#1 is 0 */
+	lshift2 regc,regc
+	lshift2 regc,regc
+	call enable_authrom
+	setarg mem_b_box
+	iadd regc,regc       /* regc hold the starting address of the row */
+	arg mem_round_key,contw
+	force 16,loopcnt
+bias_round_key_loop:
+	ifetcht 1,regc
+	ifetch 1,contw
+	iadd temp,pdata
+	istore 1,contw
+	increase 1,regc
+	loop bias_round_key_loop
+	branch disable_authrom
+
+key_sched_zero:    /* round 0, key1 */
+	force 16,loopcnt
+	force 0,temp
+create_byte_16_loop:
+	ifetch 1,contr
+	ixor temp,temp
+	loop create_byte_16_loop
+	deposit temp
+	istore 1,contr    	/* store the byte #16 */
+	arg mem_key_store,contr
+	arg mem_round_key,contw
+	branch memcpy16
+
+xor_mod32:     /* xor on 0,3, add on 1,2. if user is set, invert. x in rega and y in regb, out in contw */
+	arg mem_round_key,regb
+xor_mod32_ar2:
+	force 16,loopcnt
+	arg mem_input_store,rega
+	copy rega,contw
+xor_mod32_loop:	
+	ifetcht 1,rega
+	ifetch 1,regb
+	ixor temp,alarm
+	and loopcnt,3,regc
+	nbranch xor_mod32_invert,user
+	xor_into 3,regc
+xor_mod32_invert:
+	sub regc,1,regc
+	branch xor_even,positive
+	iadd temp,alarm
+xor_even:
+	deposit alarm
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xor_mod32_loop
+	rtn
+
+el_boxes:
+	call enable_authrom
+	force 16,loopcnt
+	arg mem_input_store,rega
+el_box_loop:	
+	ifetch 1,rega
+	arg mem_e_box,contr
+	and loopcnt,3,regc
+	sub regc,1,null
+	branch e_boxes,positive
+	arg mem_l_box,contr
+e_boxes:
+	iadd contr,contr
+	ifetch 1,contr
+	istore 1,rega
+	increase 1,rega
+	loop el_box_loop
+	branch disable_authrom
+
+pht:				
+	force 8,loopcnt
+	arg mem_input_store,contr
+	copy contr,contw
+pht_loop:
+	ifetch 1,contr
+	iforce rega
+	ifetch 1,contr
+	iforce regb
+	lshift rega,pdata
+	iadd regb,pdata
+	istore 1,contw
+	deposit rega
+	iadd regb,pdata
+	istore 1,contw
+	loop pht_loop
+	rtn
+
+/* 8 11 12 15 2 1 6 5 10 9 14 13 0 7 4 3 */
+permute:			
+	setarg 0x8ae42c
+	iforce temp
+	force 7,loopcnt
+	call permute_exchange
+	setarg 0xd751b
+	iforce temp
+	force 5,loopcnt
+	call permute_exchange
+	fetch 1,mem_input_store+15
+	iforce rega
+	fetch 1,mem_input_store+3
+	store 1,mem_input_store+15
+	deposit rega
+	store 1,mem_input_store+3
+	rtn
+
+permute_exchange:
+	and temp,0xf,regb
+permute_loop:
+	and temp,0xf,pdata
+	arg mem_input_store,contw
+	iadd contw,contw
+	ifetch 1,contw
+	iforce regc
+	deposit rega
+	istore 1,contw
+	copy regc,rega
+	rshift4 temp,temp
+	loop permute_loop	
+	setarg mem_input_store
+	iadd regb,contw
+	deposit rega
+	istore 1,contw
+	rtn
+
+add16:
+	enable user
+	branch xor_add16
+
+xor16:
+	disable user
+xor_add16:	/* if user is set, do add, else do xor */
+	force 16,loopcnt	/* rega and regb pointers to src, contw is result */
+xoradd_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	branch xoradd_add,user
+	ixor temp,pdata
+	branch xoradd_store
+xoradd_add:	
+	iadd temp,pdata
+xoradd_store:	
+	istore 1,contw
+	increase 1,rega
+	increase 1,regb
+	loop xoradd_loop
+	rtn
+
+	
+function_expand:		/* rega pointers to bdaddr, or aco and user is set */
+	arg mem_y,contw
+	ifetch 6,rega
+	istore 6,contw
+	branch expand_12,user
+	ifetch 6,rega
+	branch expand_cont
+expand_12:
+	ifetch 6,contr
+expand_cont:
+	istore 6,contw
+	ifetch 4,rega
+	istore 4,contw
+	rtn
+
+key_offset:
+	arg mem_link_key,contr
+	arg mem_x,contw
+	arg 0,temp
+	setarg 0x8395a7
+	call concatenate_temp24
+	setarg 0xb3c1df
+	call concatenate_temp24
+	setarg 0xe5e9
+	call concatenate_temp16
+	copy temp,regab
+	disable user
+	call key_addxor
+	copy regab,temp
+	enable user
+	branch key_addxor
+
+key_addxor:
+	force 8,loopcnt
+key_addxor_loop:	
+	ifetch 1,contr
+	compare 1,loopcnt,1
+	branch key_high,user
+	branch key_xor,true
+key_add:	
+	iadd temp,pdata
+	branch key_store
+key_high:
+	branch key_add,true
+key_xor:
+	ixor temp,pdata
+key_store:
+	istore 1,contw
+	rshift8 temp,temp
+	loop key_addxor_loop
+	rtn
+
+copy_aco:
+	fetch 6,mem_input_store+4
+	store 6,mem_aco
+	ifetch 6,contr
+	istore 6,contw
+	rtn
+	
+concatenate_temp24:
+	lshift8 temp,temp
+concatenate_temp16:
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+ifdef TESTING
+test_security:
+	fetch 1,0xff
+	branch test_security,blank
+
+	/* inrand */
+	setarg 0x1BC683
+	store 3,0x0
+	setarg 0x122980
+	istore 3,contw
+	setarg 0xD0DB17
+	istore 3,contw
+	setarg 0x2B1D78
+	istore 3,contw
+	setarg 0x2743A6
+	istore 3,contw
+	setarg 0xD8
+	istore 1,contw
+
+	/* comb A */
+	setarg 0xA6D0C9
+	store 3,0x10
+	setarg 0xA9E86C
+	istore 3,contw
+	setarg 0x9E89D5
+	istore 3,contw
+	setarg 0xC61838
+	istore 3,contw
+	setarg 0x6F0318
+	istore 3,contw
+	setarg 0x9F
+	istore 1,contw
+
+	/* comb B */
+	setarg 0x7F6833
+	store 3,0x20
+	setarg 0xE62E1B
+	istore 3,contw
+	setarg 0x9F67FC
+	istore 3,contw
+	setarg 0x8D3712
+	istore 3,contw
+	setarg 0x0B846C
+	istore 3,contw
+	setarg 0x4A
+	istore 1,contw
+
+	/* auth rand A */
+	setarg 0xFBB686
+	store 3,0x30
+	setarg 0x19FE7F
+	istore 3,contw
+	setarg 0x16A439
+	istore 3,contw
+	setarg 0xF4F6A4
+	istore 3,contw
+	setarg 0x10D61D
+	istore 3,contw
+	setarg 0xDE
+	istore 1,contw
+
+	/* auth rand B */
+	setarg 0x735B0C
+	store 3,0x40
+	setarg 0xA7F06B
+	istore 3,contw
+	setarg 0x04625E
+	istore 3,contw
+	setarg 0x3463B0
+	istore 3,contw
+	setarg 0xB8F17A
+	istore 3,contw
+	setarg 0x7C
+	istore 1,contw
+
+	/* address A */
+	setarg 0xf91330
+	store 3,0xb0
+	setarg 0x664c7d
+	istore 3,contw
+
+	/* address B */
+	setarg 0xdc7100
+	store 3,0xb8
+	setarg 0x2ea003
+	istore 3,contw
+
+	/* sres A */
+	setarg 0x2EEE19
+	store 3,0x50
+	setarg 0x7E
+	istore 1,contw
+
+	/* sres B */
+	setarg 0x4231A4
+	store 3,0x58
+	setarg 0xD1
+	istore 1,contw
+
+	/* linkA */
+	setarg 0xa6a026
+	store 3,0x60
+	setarg 0x2569d2
+	istore 3,contw
+	setarg 0xab4a9d
+	istore 3,contw
+	setarg 0x5e87c0
+	istore 3,contw
+	setarg 0x792aa9
+	istore 3,contw
+	setarg 0x4b
+	istore 1,contw
+
+	/* linkB */
+	setarg 0xa1f07d
+	store 3,0x70
+	setarg 0xec97a6
+	istore 3,contw
+	setarg 0xae31eb
+	istore 3,contw
+	setarg 0x6fe3c4
+	istore 3,contw
+	setarg 0xa1ae1a
+	istore 3,contw
+	setarg 0x3a
+	istore 1,contw
+
+	/* linkkey */
+	setarg 0x07505b
+	store 3,0x80
+	setarg 0xc9fe74
+	istore 3,contw
+	setarg 0x057b76
+	istore 3,contw
+	setarg 0x316404
+	istore 3,contw
+	setarg 0xd884b3
+	istore 3,contw
+	setarg 0x71
+	istore 1,contw
+
+	/* K */
+	setarg 0x0c333f
+	store 3,0x90
+	setarg 0x41de70
+	istore 3,contw
+	setarg 0x9b05a2
+	istore 3,contw
+	setarg 0xb954a2
+	istore 3,contw
+	setarg 0xb37516
+	istore 3,contw
+	setarg 0x36
+	istore 1,contw
+
+	/* kinit */
+	setarg 0x5ff91a
+	store 3,0xa0
+	setarg 0x39b5a4
+	istore 3,contw
+	setarg 0x258f2d
+	istore 3,contw
+	setarg 0x5d4a85
+	istore 3,contw
+	setarg 0x656ad3
+	istore 3,contw
+	setarg 0xab
+	istore 1,contw
+
+	arg 0,contr
+	arg mem_random_number,contw
+	call memcpy16
+	setarg 0x3131
+	store 2,mem_pin
+	istore 2,contw
+	jam 4,mem_pin_length
+	arg 0xb8,rega
+	call function_e22
+	arg mem_input_store,contr
+	arg mem_kinit,contw
+	call memcpy16
+	arg 0x10,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg 0xb0,rega
+	call function_e21
+	arg 0x60,regb
+	call compare16
+error_lka:
+	nbranch error_lka,zero
+	arg mem_input_store,contr
+	arg mem_link_key,contw	
+	call memcpy16
+	arg 0x20,rega
+	arg mem_kinit,regb
+	arg mem_random_number,contw
+	call xor16
+	arg 0xb8,rega
+	call function_e21
+	arg 0x70,regb
+	call compare16
+error_lkb:
+	nbranch error_lkb,zero
+	arg mem_input_store,rega
+	arg mem_link_key,regb
+	arg mem_link_key,contw
+	call xor16
+	arg 0x30,contr
+	arg mem_random_number,contw
+	call memcpy16
+	arg 0xb8,rega
+	call function_e1
+	arg 0x50,regb
+	force 4,loopcnt
+	call compare_key
+error_sresa:
+	nbranch error_sresa,zero
+	arg 0x40,contr
+	arg mem_random_number,contw
+	call memcpy16
+	arg 0xb0,rega
+	call function_e1
+	arg 0x58,regb
+	force 4,loopcnt
+	call compare_key
+error_sresb:
+	nbranch error_sresb,zero
+	branch loop1
+	
+	arg 0,contr
+	arg mem_random_number,contw
+	call memcpy16
+	force 12,loopcnt
+	call memcpy
+	arg 0x1c,contr
+	arg mem_link_key,contw
+	call memcpy16
+	arg 0x10,rega
+	call function_e3
+	branch loop1
+
+compare16:
+	force 16,loopcnt
+compare_key:
+	arg mem_input_store,rega
+	branch compare_loop
+
+compare_loop:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop compare_loop
+	force 0,pdata
+	rtn
+
+endif
+
+
+loop1:	
+	branch loop1
+
+/* ==================== LE security ================= */
+
+generate_stk:
+	bpatchx patch3c_0,mem_patch3c
+	call function_s1
+	arg mem_le_ltk,contw
+	branch store_aes_result
+
+	/* contr = rand pointer */
+authenticate_rconfirm:
+	arg mem_le_srand,contw
+	branch authenticate_mconfirm,master
+	arg mem_le_mrand,contw
+authenticate_mconfirm:
+	copy contr,rega
+	call memcpy16
+	call function_c1
+	arg mem_le_rconfirm,contr
+	branch compare_res
+
+generate_confirm:
+	arg mem_le_mrand,rega
+	branch generate_mrand,master
+	arg mem_le_srand,rega
+generate_mrand:
+	copy rega,contw
+	call generate_random
+	branch function_c1
+
+generate_sk:
+	arg mem_le_skdm,contr
+	call load_data128
+	arg mem_le_ltk,contr
+	call load_regext
+	force 0x38,aes_ctrl
+	force 0x0,aes_ctrl
+	call wait_aes
+	arg mem_le_sk,contw
+	branch store_aes_result
+
+	/* temp=packet counter, rega = length or block counter*/
+first_block_counter:
+	force 0x49,pdata
+	branch first_block
+first_block_data:
+	force 1,pdata
+first_block:
+	force regidx_data,regext_index			/* B0 */
+	lshift8 temp,regext
+	ior regext,regext
+	increase 1,regext_index
+	rshift8 temp,regext
+	rshift16 regext,regext
+	fetch 2,mem_le_ivm
+	lshift16,pdata,pdata
+	ior regext,regext				/* octet3&octet4 of counter and low 16 bit of IV */
+	increase 1,regext_index
+	ifetch 4,contr					/* IV2-IV5 */
+	iforce regext
+	increase 1,regext_index
+	ifetch 2,contr					/* IV6-IV7 */
+	byteswap rega,regext
+	lshift16 regext,regext
+	ior regext,regext
+	increase 1,regext_index
+	rtn
+
+
+	/* temp=packet counter, regc pointers to data */	
+generate_mic:
+	add regc,1,contr
+	ifetch 1,contr
+	iforce rega
+	call first_block_counter
+	call do_aes_ocb
+
+	force regidx_data,regext_index			/* B1 */
+	ifetch 1,regc
+	and_into 0x3,pdata
+	lshift16 pdata,regext
+	set1 8,regext
+	call clear_hidata
+	call do_aes_cbc
+
+	copy rega,loopcnt
+	add regc,2,contr
+	call padding_data
+generate_mic_loop:
+	call aes_load_data
+	call do_aes_cbc
+	deposit loopcnt
+	branch generate_mic_end,blank
+	branch generate_mic_loop
+generate_mic_end:
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_mic
+	rtn
+
+aes_crypt_data:
+	increase 1,rega
+	call first_block_data
+	copy regc,contr
+	call aes_load_xor
+	call do_aes_ctr
+	call store_enc_data
+	increase 16,regc
+	increase -16,regb
+	branch aes_crypt_data,positive
+	rtn
+	
+le_encrypt:
+	bpatchx patch3c_1,mem_patch3c
+	arg mem_le_txheader,regc
+	fetcht 5,mem_le_pcnt_tx
+	call generate_mic
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	call first_block_data
+	call do_aes_ctr
+	arg mem_le_txpayload,regc
+	fetch 1,mem_le_txlen
+	add pdata,-1,regb
+	iadd regc,contw
+	force regidx_result,regext_index
+	deposit regext
+	istore 4,contw	
+	call aes_crypt_data
+	fetch 1,mem_le_txlen
+	increase 4,pdata
+	store 1,mem_le_txlen
+	fetcht 5,mem_le_pcnt_tx
+	increase 1,temp
+	storet 5,mem_le_pcnt_tx
+	rtn
+
+le_decrypt:
+	bpatchx patch3c_2,mem_patch3c
+	fetch 1,mem_le_rxbuf+1
+	sub pdata,20,null
+	branch le_dec_cont,positive
+le_dec_cont:
+	arg mem_le_rxbuf+2,regc
+	add pdata,-1,regb
+	increase -4,pdata				/* mic will be discarded */
+	store 1,mem_le_rxbuf+1
+	iadd regc,contr
+	ifetch 4,contr
+	force regidx_xor,regext_index
+	iforce regext
+	force 0,rega					/* rega is block counter */
+	fetcht 5,mem_le_pcnt_rx
+	call first_block_data
+	call do_aes_ctr
+	force regidx_result,regext_index
+	deposit regext
+	store 4,mem_le_peer_mic
+	call aes_crypt_data
+	arg mem_le_rxbuf,regc
+	call generate_mic
+	fetcht 4,mem_le_peer_mic
+	isub temp,pdata				/* MIC ok? */
+	nrtn blank
+	fetch 4,mem_le_last_mic			/* reduntdant packet? */
+	isub temp,pdata
+	rtn blank
+	storet 4,mem_le_last_mic
+	fetch 5,mem_le_pcnt_rx
+	increase 1,pdata
+	store 5,mem_le_pcnt_rx
+	force 0,pdata
+	rtn
+
+wait_aes:
+	nbranch wait_aes,aes_ready
+	rtn
+
+do_aes_ocb:
+	force 0x30,aes_ctrl
+	force 0x0,aes_ctrl
+	branch wait_aes
+
+do_aes_cbc:
+	force 0x32,aes_ctrl
+	force 0x2,aes_ctrl
+	branch wait_aes
+
+do_aes_ctr:
+	force 0x34,aes_ctrl
+	force 0x4,aes_ctrl
+	branch wait_aes
+
+	
+aes_init:
+	force 1,aes_ctrl
+	force 0,aes_ctrl
+	rtn
+function_s1:
+	force regidx_data,regext_index
+	fetch 4,mem_le_mrand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	fetch 4,mem_le_srand
+	iforce regext
+	increase 1,regext_index
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	call aes_clear
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+	/* rega pointers to random number */
+function_c1:
+	bpatchx patch3c_3,mem_patch3c
+	fetch 6,mem_le_lap
+	fetcht 6,mem_le_plap
+	branch function_c1_master,master
+	fetch 6,mem_le_plap
+	fetcht 6,mem_le_lap
+function_c1_master:
+	force regidx_xor,regext_index
+	copy temp,regext
+	increase 1,regext_index
+	rshift32 temp,regext
+	lshift16 pdata,pdata
+	ior regext,regext
+	increase 1,regext_index
+	rshift32 pdata,regext
+	increase 1,regext_index
+	force 0,regext					/* p2 = ia || ra */
+	force 0,pdata
+	fetch 1,mem_le_conn_peer_addr_type
+	fetcht 1,mem_le_adv_own_addr_type
+	nbranch function_c1_irat,master
+	//conn as master
+	fetch 1,mem_le_conn_own_addr_type
+	fetcht 1,mem_le_conn_peer_addr_type
+function_c1_irat:
+	store 1,mem_le_iat
+	storet 1,mem_le_rat
+	force regidx_data,regext_index
+	arg mem_le_iat,regb
+	force 4,loopcnt
+function_c1_loop1:
+	ifetch 4,rega		
+	ifetcht 4,regb
+	ixor temp,regext
+	increase 1,regext_index
+	increase 4,rega
+	increase 4,regb
+	loop function_c1_loop1		/* p1 ^ r */
+	call aes_clear				/* k = 0 */
+	increase -4,regext_index
+	fetch 4,mem_le_tk
+	copy pdata,regext
+	increase 4,regext_index
+	force 0x38,aes_ctrl
+	force 0xc,aes_ctrl
+	call wait_aes
+
+	call aes_clear_data
+	force 0x3a,aes_ctrl
+	force 0x8,aes_ctrl
+	branch wait_aes
+
+padding_data:
+	compare 0,loopcnt,3
+	rtn true
+	deposit contr
+	iadd loopcnt,contw
+	force 0,pdata
+padding_loop:
+	istore 1,contw
+	increase 1,loopcnt
+	compare 0,loopcnt,3
+	rtn true
+	branch padding_loop
+
+aes_load_data:
+	force regidx_data,regext_index
+load_data_loop:
+	deposit loopcnt
+	branch load_data_padding,blank
+	ifetch 4,contr
+	increase -4,loopcnt
+load_data_padding:
+	iforce regext
+	increase 1,regext_index
+	compare regidx_key,regext_index,0xf
+	rtn true
+	branch load_data_loop
+
+aes_load_xor:
+	force regidx_xor,regext_index
+	branch load_regext
+load_key:
+	force regidx_key,regext_index
+	branch load_regext
+load_data128:
+	force regidx_data,regext_index
+load_regext:
+	force 4,loopcnt
+load_regext_loop:
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop load_regext_loop
+	rtn
+
+load_sk:
+	arg mem_le_sk,contr
+	branch load_key
+
+clear_hidata:
+	force 4,loopcnt
+	branch clear_data_rest
+
+aes_clear_data:
+	force regidx_data,regext_index
+aes_clear:
+	force 4,loopcnt
+clear_loop:
+	force 0,regext
+clear_data_rest:
+	increase 1,regext_index
+	loop clear_loop
+	rtn
+
+store_aes_result:
+	force regidx_result,regext_index
+	force 4,loopcnt
+send_aes_result_loop:
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	loop send_aes_result_loop
+	rtn
+
+store_enc_data:
+	force regidx_result,regext_index
+	copy regc,contw
+	add regb,1,loopcnt
+	sub loopcnt,15,null
+	branch store_enc_loop,positive
+	force 16,loopcnt
+store_enc_loop:
+	deposit regext
+	sub loopcnt,3,null
+	branch store_enc_byte,positive
+	istore 4,contw
+	increase -4,loopcnt
+	rtn zero
+	increase 1,regext_index
+	branch store_enc_loop
+store_enc_byte:
+	istore 1,contw
+	rshift8 pdata,pdata
+	loop store_enc_byte
+	rtn
+	
+	/* contr pointers to value to be compared */
+compare_res:
+	force regidx_result,regext_index
+	force 4,loopcnt
+compare_res_loop:
+	ifetch 4,contr
+	isub regext,null
+	nrtn zero
+	increase 1,regext_index
+	loop compare_res_loop
+	force 0,null
+	rtn
+
+enable_authrom:
+	hfetch 1,core_clkoff
+	set0 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+disable_authrom:
+	hfetch 1,core_clkoff
+	set1 CLOCK_OFF_AUTH_ROM,pdata
+	hstore 1,core_clkoff
+	rtn
+
+init_memp:
+	arg mem_p,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3fbff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3cfff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffef
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x3ffff
+	setsect 2,0x3ffff
+	setsect 3,0x3ffff
+	istore 9,contw
+	setsect 0,0x3ffff
+	setsect 1,0x26c7f
+	setsect 2,0x146b
+	setsect 3,0x37bb3
+	istore 9,contw
+	setsect 0,0x1feb8
+	setsect 1,0x10c12
+	setsect 2,0x2b722
+	setsect 3,0x29fa6
+	istore 9,contw
+	setsect 0,0xe70f
+	setsect 1,0x16720
+	setsect 2,0x519e
+	setsect 3,0x19084
+	istore 9,contw
+	setsect 0,0x31012
+	setsect 1,0x360bf
+	setsect 2,0x3f0af
+	setsect 3,0x3d3
+	istore 9,contw
+	setsect 0,0x3a188
+	setsect 1,0x3ad0
+	setsect 2,0x3cbf2
+	setsect 3,0x243d9
+	istore 9,contw
+	setsect 0,0x2b030
+	setsect 1,0x36a03
+	setsect 2,0x11188
+	setsect 3,0x1e520
+	istore 9,contw
+	setsect 0,0x3a11e
+	setsect 1,0xfe5d
+	setsect 2,0xdd57
+	setsect 3,0x1ac93
+	istore 9,contw
+	setsect 0,0x11ed
+	setsect 1,0x218c4
+	setsect 2,0x8da7
+	setsect 3,0x257ff
+	istore 9,contw
+	setsect 0,0x3192b
+	setsect 1,0x34641
+	setsect 2,0x1be0c
+	setsect 3,0x366ad
+	istore 9,contw
+	setsect 0,0x1f83
+	setsect 1,0x15a23
+	setsect 2,0x3f9b0
+	setsect 3,0x3949
+	istore 9,contw
+	setsect 0,0x13a51
+	setsect 1,0x153fd
+	setsect 2,0x3372a
+	setsect 3,0xf1bb
+	istore 9,contw
+	setsect 0,0x3ae85
+	setsect 1,0x1eed9
+	setsect 2,0x9e66
+	setsect 3,0x1a8
+	istore 8,contw
+	rtn
+	
+ifdef SECURE_CONNECTION
+
+
+init_memp_256:
+ 	arg mem_p_256,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3f
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x1000
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x3ff00
+        setsect 1,0x3ffff
+        setsect 2,0x3ffcf
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x3ffff
+        setsect 1,0x3ffff
+        setsect 2,0x3ffff
+        setsect 3,0x3ff
+        istore 9,contw
+        setsect 0,0x0
+        setsect 1,0x0
+        setsect 2,0x0
+        setsect 3,0x0
+        istore 9,contw
+        setsect 0,0x10000
+        setsect 1,0x0
+        setsect 2,0x3f000
+        setsect 3,0x3ffff
+        istore 9,contw
+        setsect 0,0x296ff
+        setsect 1,0x22630
+        setsect 2,0x3945d
+        setsect 3,0x3d284
+        istore 9,contw
+        setsect 0,0x333a0
+        setsect 1,0x4b7a
+        setsect 2,0x37d8
+        setsect 3,0x3c9dc
+        istore 9,contw
+        setsect 0,0x3a440
+        setsect 1,0x1b958
+        setsect 2,0x38bce
+        setsect 3,0x1091f
+        istore 9,contw
+        setsect 0,0x2e12c
+        setsect 1,0x1f47c
+        setsect 2,0x356b1
+        setsect 3,0x2fd47
+        istore 9,contw
+        setsect 0,0x6837
+        setsect 1,0x2ed90
+        setsect 2,0x1ecec
+        setsect 3,0x1acc5
+        istore 9,contw
+        setsect 0,0x23357
+        setsect 1,0x18af3
+        setsect 2,0xf9e1
+        setsect 3,0x129f0
+        istore 9,contw
+        setsect 0,0x2e7eb
+        setsect 1,0x3e6e3
+        setsect 2,0x3e1a7
+        setsect 3,0x10b8b
+        istore 9,contw
+        setsect 0,0x24fe3
+        setsect 1,0x20ef
+        setsect 2,0x1b5a6
+        setsect 3,0xdc2f
+        istore 9,contw
+        setsect 0,0x13860
+        setsect 1,0x2bd69
+        setsect 2,0x391a
+        setsect 3,0x1b222
+        istore 9,contw
+        rtn
+endif
+
Index: YJX_Only24g/main/program/sim.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/sim.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/sim.prog	(working copy)
@@ -0,0 +1,518 @@
+simstart:
+	force 8,radio_ctrl
+	force 0,radio_ctrl
+	jam 0xe0,0x8907			// set if_phase=7 for simulation environment
+	jam 0xe0,0x890a
+	jam 0x25,0x8912
+	jam 0xff,rfen_ck
+	jam 5,core_clksel
+//	call init_24m
+//	branch sim_usb
+//	branch sim_iic
+//	branch sim_clk
+//	call sim_uart
+//	branch sim_lpm
+//	branch sim_c1
+//	branch loop
+//	call sim_spi
+//	call sim_eep
+//	branch test_tx
+//	branch sim_le
+//	branch sim_250k
+	branch sim_main
+
+
+
+
+sim_lpm:
+	hfetch 1,0xffd
+	beq 1,sim_assert
+	branch sim_lpm_do
+	setarg 0
+	set1 31,pdata
+	store 8,mem_gpio_wakeup_low
+	branch lpm_hibernate
+sim_lpm_sleep:
+	jam 1,mem_context
+	branch sim_lpm_wait,wake
+	jam 0x70,core_bist_ctrl
+	jam ccnt_start,core_misc_ctrl
+sim_lpm_wait:
+	call lpo_calibration
+	fetch 3,mem_clks_per_lpo
+	branch sim_lpm_wait,blank
+	call lpm_recover_clk,wake
+	jam 0x1b,mem_lpm_ldocnt
+	arg sim_assert,loopcnt
+	hfetch 1,core_gpio_wakeup_low+2
+	bbit0 2,sim_lpm_loop
+	until null,lpo_edge
+	jam 0x20,core_misc_ctrl
+	until null,lpo_edge
+sim_lpm_loop:
+	hfetch 1,core_misc_status
+	bbit1 6,sim_lpm_loop
+	hfetch 1,core_gpio_in+3
+	compare 0x20,pdata,0x20
+	setarg 0
+	setflag true,29,pdata
+	setflag true,30,pdata
+	store 4,mem_gpio_wakeup_low
+	setarg 0
+	nsetflag true,29,pdata
+	nsetflag true,30,pdata
+	store 4,mem_gpio_wakeup_high
+sim_lpm_do:
+	arg 30,temp
+	branch lpm_sleep
+
+sim_assert:
+	branch sim_assert
+
+
+sim_main:
+	call init_param
+	jam 0,core_clkoff
+	hfetch 1,0x17fd
+	beq 1,sim_slave
+
+	arg 3,temp
+	call set_freq_tx
+	nop 500
+	enable encode_fec0
+	disable is_rx
+	enable is_tx
+	set1 TXGFSK,radio_ctrl
+	call sim_access
+	preload access
+	inject mod,72
+	setarg 0x123456
+	inject mod,72
+	set1 PSK,radio_ctrl
+	setarg 0xabeee
+	inject mod,20
+	setarg 0x22aa33
+	inject mod,72
+	branch s_loop
+
+
+	jam dvc_op_hci,mem_device_option
+	fetch 6,mem_lap
+	store 6,mem_hci_plap
+	setarg 0xbdbdbd
+	store 3,mem_lap
+	istore 3,contw
+	jam hci_cmd_create_conn,mem_hci_cmd
+	force 0xf,pdata
+	add pdata,-2,clkn_bt
+	store 4,mem_page_clk
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn
+	jam 0,mem_scan_mode
+sim_loop:
+	call idle_dispatch
+	fetch 1,mem_context
+	bbit0 state_inconn,sim_skip
+	set1 mark_tx_l2cap,mark
+	fetch 1,mem_context + coffset_op		
+	set1 op_txl2cap,pdata
+	store 1,mem_context + coffset_op
+	jam 0,mem_context + coffset_lmp_to_send
+	jam 0,mem_lmo_opcode2
+	setarg 700
+	store 2,mem_tx_len
+	setarg mem_tmp_buffer
+	store 2,mem_txptr
+	jam 6,mem_tx_lch
+	jam 1,mem_hci_conn_handle
+sim_skip:
+	call connection_dispatch
+	branch sim_loop		
+
+sim_slave:
+
+	arg 3,temp
+	call set_freq_rx
+	call rf_rx_enable
+	call sim_access
+	enable is_rx
+	enable decode_fec0
+	correlate null,never
+	set1 PSK,radio_ctrl
+	correlate null,never
+	parse demod,bucket,72
+	branch s_loop
+
+
+	jam 2,mem_scan_mode
+	call page_scan_dispatch
+	branch sim_slave
+
+sim_access:
+	setarg 0x1234567
+	iforce lap
+	pulse recalc
+	nop 32
+	rtn
+
+sim_iic:
+	call iicd_init_12m
+	setarg 3
+	hstore 2,core_iicd_txlen
+	setarg 0x1f051e
+	store 3,mem_iicd_addr
+	setarg mem_iicd_addr
+	hstore 2,core_iicd_txaddr
+	setarg 1
+	hstore 2,core_iicd_rxlen
+	jam 3,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	nop 300
+	setarg 0xd321d2
+	store 3,mem_iicd_addr
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+s_loop:
+	branch s_loop
+
+sim_usb:
+	call usb_init
+sim_usb_loop:
+	call usb_isr
+	branch sim_usb_loop
+
+init_24m:
+	jam 0x4b,core_halfslot
+	jam 0x1d,core_halfslot + 1
+	jam 1,core_clksel
+	rtn
+
+
+p_transmit_sw:
+	reverse uap,regc				// hec init
+	enable encode_fec0
+	set0 mark_longpacket,mark
+	copy am_addr,temp
+	arg 3,loopcnt
+	call p_head
+	copy type,temp
+	arg 4,loopcnt
+	call p_head
+	fetch 1,mem_arq
+	lshift4 pdata,temp
+	arg 3,loopcnt
+	call p_head
+	copy regc,temp
+	arg 8,loopcnt
+	call p_head
+	reverse uap,regc
+	lshift8 regc,regc				// crc init
+	and type,0x1f,pdata
+	beq type_fhs, p_transmit_fhs
+
+
+
+p_transmit_fhs:
+	call fetch_self_bt_adr
+	pulse recalc
+	enable user
+	call p_fec2_init
+	fetch 1,mem_fhs_am_addr            /* this is the am_addr to assign to slave */
+	icopy am_addr
+	fetch 1,mem_fhs_misc
+	icopy fhs_misc    /* [7:6]SR [5:4]SP [3:1]PS [0]undef  */
+	fetch 3,mem_class   /* store away class */
+	icopy fhs_class
+	copy bt_adr,rega
+	nop 12                    /* 30 cycles after recalc for sync word generation */
+	copy bt_clk,timeup
+	fetch 4,mem_clkn_bt
+	icopy bt_clk
+	preload fhs0
+	iforce temp
+	arg 32,loopcnt
+	call p_fec2
+	preload fhs0
+	set1 58,pdata		/* eir */
+	rshift32 pdata,temp
+	arg 40,loopcnt
+	call p_fec2
+	preload fhs1
+	iforce temp
+	arg 32,loopcnt
+	call p_fec2
+	preload fhs1
+	rshift32 pdata,temp
+	arg 40,loopcnt
+	call p_fec2
+	copy timeup,bt_clk
+	copy rega,bt_adr
+	copy regc,temp
+	arg 16,loopcnt
+	disable user
+	call p_fec2
+	branch end_of_packet
+	
+// hec or crc is in regc
+p_hec:
+	deposit temp
+	ixor regc,pdata
+	rshift regc,regc
+	rtnbit0 0
+	xor_into 0xe5,regc
+	rtn
+
+// hec or crc is in regc
+p_crc:
+	deposit temp
+	ixor regc,pdata
+	rshift regc,regc
+	rtnbit0 0
+	setarg 0x8408
+	ixor regc,regc
+	rtn
+
+
+// white is in debug
+p_white:
+	isolate1 6,debug
+	lshift debug,debug
+	nrtn true
+	xor_into 0x11,debug
+	xor_into 1,temp
+	rtn
+
+// data in temp, length in loopcnt
+p_head:
+	call p_hec
+	call p_white
+	isolate0 0,temp
+	setarg 0
+	branch p_fec1_0,true
+	setarg 7
+p_fec1_0:
+	inject mod,3
+	rshift temp,temp
+	loop p_head
+	rtn
+
+p_fec0:
+	call p_white
+	deposit temp
+	inject mod,1
+	loop p_fec0
+	rtn
+
+p_fec2:
+	call p_crc,user
+	call p_white
+	deposit temp
+	ixor alarm,pdata
+	rshift alarm,alarm
+	bbit0 0,p_fec2_zero
+	xor_into 0x15,alarm
+p_fec2_zero:
+	deposit temp
+	inject mod,1
+	rshift temp,temp
+	increase -1,queue
+	nbranch p_fec2_nf,zero
+	deposit alarm
+	inject mod,5
+	call p_fec2_init
+p_fec2_nf:
+	loop p_fec2	
+	rtn
+
+p_fec2_init:
+	arg 10,queue
+	arg 0,alarm
+	rtn
+
+
+ifdef NULL
+sim_250k:
+	call init_250k
+	hfetch 1,1
+	bbit1 7,sim_250k_rx
+	call tx_radio_freq
+	call start_transmitter	/* get ready for that id packet */
+	nop 600
+	enable encode_fec0
+	set1 TXGFSK,radio_ctrl
+	force 0,pdata
+	inject mod,9
+	setarg 0xaa
+	inject mod,8
+	preload access
+	inject mod,32
+	setarg 0x1da861
+	inject mod,24
+	setarg 0x94445b
+	inject mod,24
+	setarg 0x1275f
+	inject mod,24
+	branch loop
+sim_250k_rx:
+	call rx_radio_freq
+	call start_receiver	/* wait for that id packet from master */
+	enable decode_fec0
+	correlate null,never
+	parse demod,bucket,72
+	branch loop
+
+	
+
+
+
+sim_uart:
+	setarg mem_le_test_uart_rxbuf
+	hstore 2,core_uart_tsaddr
+	hstore 2,core_uart_twptr
+	hstore 2,core_uart_trptrp
+	increase 0x80,pdata
+	hstore 2,core_uart_teaddr
+	hstore 2,core_uart_rsaddr
+	hstore 2,core_uart_rrptr
+	increase 0x80,pdata
+	hstore 2,core_uart_readdr
+	increase 1,pdata
+	jam 0x84,core_gpio_sel1
+	jam 0x80,core_gpio_pu2
+	jam 0xe5,core_uart_ctrl
+	setarg 0x30
+	hstore 2,core_uart_baud
+	hfetch 1,1
+	bbit1 7,sim_uart_wait
+	setarg 0x1357d9a
+	store 4,mem_le_test_uart_rxbuf
+	setarg 0x55aa69
+	istore 3,contw
+	setarg 0xfedcb3
+	istore 3,contw
+	deposit contw
+	hstore 2,core_uart_twptr
+sim_uart_wait:
+	nop 20000
+	rtn
+
+sim_spi:
+	call spid_init_flash
+	call spid_unlock_flash
+	call spid_init
+	setarg 0x35
+	call spid_read_reg
+	nop 200
+	force 4,temp
+	setarg 0x42
+	branch spid_read_regs
+
+sim_eep:
+	call iicd_init_12m
+	setarg 3
+	hstore 2,core_iicd_txlen
+	setarg 0x1f051e
+	store 3,mem_iicd_addr
+	setarg mem_iicd_addr
+	hstore 2,core_iicd_txaddr
+	setarg 1
+	hstore 2,core_iicd_rxlen
+	jam 3,core_iicd_ctrl
+	jam iicd_start,core_misc_ctrl
+	call wait_iicd_done
+	nop 200
+	setarg 0x18f7a3b
+	store 4,mem_iicd_addr
+	arg mem_iicd_addr,rega
+	arg 4,temp
+	setarg 0x1235
+	call iicd_write_eep
+	nop 300
+	arg mem_ucode_keybuf,rega
+	arg 1,temp
+	setarg 0x3512
+	store 2,mem_addr_mi
+	call iicd_read_eep
+	arg 1,temp
+	setarg 0x3512
+	store 2,mem_addr_mi
+	call iicd_read_eep
+	nop 200
+	setarg 0xa1
+	arg 3,temp
+	arg mem_ucode_keybuf,rega
+	branch iicd_read_data
+
+sim_otp:
+	setarg 0x123456
+	store 3,0x800
+	setarg 0x10
+	arg 0x800,rega
+	arg 0x10,loopcnt
+	branch otp_write
+
+sim_clk:
+	add lpo_time,12,alarm
+	snooze
+clock_loop:
+	nop 100
+	jam 1,core_config
+	setflag user,0,pdata
+	random pdata
+	and_into 0x1f,pdata
+	hstore 1,core_clksel
+	nop 70
+	jam 2,core_kick
+	nop 200
+	branch clock_loop
+	jam 2,core_clksel
+	setarg 1500
+	call sleep
+	jam 0x42,core_clksel
+	add lpo_time,200,alarm
+	snooze
+	branch 0x4000
+
+sim_c1:
+	setarg 0xb4b5b6
+	store 3,mem_le_lap
+	setarg 0xb1b2b3
+	istore 3,contw
+	setarg 0xa4a5a6
+	store 3,mem_le_plap
+	setarg 0xa1a2a3
+	istore 3,contw
+	setarg 0x101
+	store 4,mem_le_preq
+	setarg 0x70710
+	istore 3,contw
+	setarg 0x302
+	store 4,mem_le_pres
+	setarg 0x50008
+	istore 3,contw
+
+	arg regidx_key,regext_index
+	arg 4,loopcnt
+sim_clear_key_loop:
+	arg 0,regext
+	increase 1,regext_index
+	loop sim_clear_key_loop
+
+	setarg 0x702EE0
+	store 3,mem_le_rconfirm
+	setarg 0x274EC6
+	istore 3,contw
+	setarg 0x0E6388
+	istore 3,contw
+	setarg 0x56AD6F
+	istore 3,contw
+	setarg 0x83D521
+	istore 3,contw
+	setarg 0x57	
+	istore 1,contw
+	arg mem_le_rconfirm,rega
+	call aes_init
+	call function_c1
+	branch loop
+endif
Index: YJX_Only24g/main/program/simple_pairing.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/simple_pairing.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/simple_pairing.prog	(working copy)
@@ -0,0 +1,2362 @@
+
+publickey_init:
+	fetch 1,mem_ssp_enable
+	nbranch sp_initialize,blank
+	branch sp_initialize_256
+
+sp_calc_sequence_256_check:
+	bpatchx patch3c_4,mem_patch3c
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_local_key_invalid
+	rtnne SP_KEY_VALID
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_local_key_invalid
+	rtneq SP_KEY_VALID_256
+	fetch 2,mem_ui_state_map
+	bbit1 UI_STATE_BT_CONNECTED,stop_publickey_calc_256
+	fetch 1,mem_le_sc_calc
+	beq SP_CALC_STANDBY,sp_initialize_256
+	rtn
+stop_publickey_calc_256:
+	jam SP_CALC_STANDBY,mem_le_sc_calc	
+	rtn
+	
+ifdef SIMPLE_PAIRING
+
+sp_initialize:
+	bpatchx patch3c_5,mem_patch3c
+	fetch 1,mem_ssp_enable 
+	branch ssp_disable, blank
+	call ssp_enable
+	call sp_clear_flags
+	branch sp_pubkey_calc 
+	
+sp_clear_flags:
+	setarg 0
+	store 8,mem_sp_state_start
+	store 4,mem_sp_flag_start
+	store 7,mem_sp_iocap_remote
+	rtn
+
+sp_generate_local_key:
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	branch sp_generate_local_key0
+sp_master_generate_local_key:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_dhkey_calc
+	branch assert
+sp_generate_local_key0:
+	fetch 1,mem_sp_local_key_invalid
+	beq SP_KEY_VALID,sp_start_send_pubkey
+	branch sp_pubkey_calc
+    
+sp_start_send_pubkey:
+	call sp_dhkey_calc
+	fetch 1,mem_master_sp_state
+	nrtn blank
+	jam SP_STAT_KEY_SEND,mem_sp_state
+	rtn
+
+
+sp_calc_check_publickey_256:
+	call sp_calc_b256
+	arg mem_le_pubkey_remote_y_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256   
+	arg mem_le_pubkey_remote_x_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256   
+  	arg mem_t2_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_le_pubkey_remote_x_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256	 
+	arg 32,loopcnt
+  	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b256:
+	arg mem_gy_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256   
+	arg mem_gx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256    
+  	arg mem_t2_256,regA
+	arg mem_gx_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256	
+  	arg mem_a_256,regA
+	arg mem_gx_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod_256	
+	
+sp_calc_check_publickey:
+	call sp_calc_b
+	arg mem_sp_pubkey_remote_y,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod 
+	arg mem_sp_pubkey_remote_x,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+  	arg mem_a,regA
+	arg mem_sp_pubkey_remote_x,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod	 
+ 	arg 24,loopcnt
+ 	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	branch  string_compare
+	
+sp_calc_b:
+	arg mem_gy,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod   
+	arg mem_gx,regA
+	arg mem_t2_256,contw
+  	call bn_sqrmod
+  	arg mem_t2_256,regA
+	arg mem_gx,regB
+	arg mem_t2_256,contw
+	call bn_mulmod	
+	arg mem_a,regA
+	arg mem_gx,regB
+	arg mem_t3_256,contw
+	call bn_mulmod	 
+  	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod	 
+  	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	branch  bn_submod	
+
+   
+sp_calculate_commitment:
+	fetch 1,mem_sp_calc
+	bne SP_CALC_STANDBY,sp_calculate_commitment_wait_dhkey_calc
+	call sp_local_random_key_generator
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	branch sp_calculate_commitment0
+master_sp_calculate_commitment:
+	arg mem_sp_prarm_stack,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_pubkey_remote_x_end
+	istore 2,contw
+	setarg mem_sp_pubkey_local_x_end
+	istore 2,contw
+sp_calculate_commitment0:
+	call function_f1
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment0
+	jam SP_FLAG_COMMIT,mem_sp_flag
+	jam SP_STAT_COMMIT_SEND,mem_sp_state
+	rtn
+master_sp_calculate_commitment0:
+	jam SP_STAT_COMMITMENT_COMPARE,mem_master_sp_state
+	call sp_master_generate_local_key
+	branch master_set_mem_master_sp_flag 
+
+sp_local_random_key_generator:
+	arg mem_sp_random_local,contw
+	force 8,queue
+	branch random_generator
+  
+sp_calculate_commitment_wait_dhkey_calc:
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+    
+sp_confirm_check:
+    /* calculate Ea here */
+	bpatchx patch3c_6,mem_patch3c
+	arg      mem_addr_value,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_remote
+	istore   3,contw 
+
+	call     function_f3a
+
+	arg      mem_sp_calc_result_high,regA
+	arg      mem_sp_check_result,regB    
+	force    4,queue 
+	call     compare4
+	nbranch  sp_confirm_check_failed,true  
+
+	call sp_confirm_check_success
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch tid_set_reply
+    
+sp_confirm_check_success:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_success_master
+	jam SP_STAT_CONFIRM_CALC,mem_sp_state
+	jam SP_FLAG_COMMIT,mem_sp_flag  
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	rtn
+sp_confirm_check_success_master:
+	jam LMP_ACCEPTED,mem_lmo_opcode2
+	jam SP_STATE_END,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+	//accept opcode?
+	
+sp_confirm_check_failed:
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check_failed_master
+	jam SP_STAT_NULL,mem_sp_state
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	//accept opcode?
+	jam      AUTHENTICATION_FAILURE_ERROR,mem_lmo_reason2 
+	rtn
+sp_confirm_check_failed_master:
+	jam LMP_NOT_ACCEPTED,mem_lmo_opcode2
+	jam SP_STAT_NULL,mem_master_sp_state
+	rtn
+    
+sp_confirm_calc:
+	fetch 1,mem_sp_dh_ready
+	beq SP_FLAG_COMMIT, sp_confirm_calc_ready
+	jam 	SP_STAT_CONFIRM_CALC,mem_master_sp_state
+	branch master_set_mem_master_sp_flag
+sp_confirm_calc_ready:
+	arg      mem_addr_value,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    3,mem_sp_iocap_local
+	istore   3,contw 
+
+	call     function_f3b
+	fetch 1,mem_master_sp_state
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc_master
+	jam      SP_STAT_CONFIRM_SEND,mem_sp_state
+	jam      SP_FLAG_COMMIT,mem_sp_flag
+	rtn
+sp_confirm_calc_master:
+	jam      SP_STAT_CONFIRM_SEND,mem_master_sp_state
+	jam      SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn   
+
+sp_master_key_prarm_push:
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	branch sp_link_key_calc
+sp_link_key_prarm_push:
+	jam      SP_STAT_DONE,mem_sp_state    
+	arg mem_sp_prarm_stack,contw
+	fetch    6,mem_lap
+	istore   6,contw
+	fetch    6,mem_plap
+	istore   6,contw
+	setarg mem_sp_random_remote_end
+	istore 2,contw
+	setarg mem_sp_random_local_end
+	istore 2,contw
+sp_link_key_calc:
+    /*calculate Link key here */
+	arg      mem_addr_value,contw
+	fetch    6,mem_sp_prarm_stack
+	istore   6,contw
+	fetch    6,mem_sp_prarm_stack+6
+	istore   6,contw
+	
+	call     function_f2    
+
+	/*handle linkkey  */
+	jam 1,mem_link_key_exists
+	arg mem_link_key,contw
+	arg mem_sp_calc_result_high,contr
+	call memcpy16
+	branch  generate_linkkey_continue
+
+    
+sp_pubkey_calc:
+	bpatchx patch3c_7,mem_patch3c
+	fetch    1,mem_sp_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+	arg      mem_sp_private_key,contw 
+	force    11,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+/* we don't need fixed private key,generate random key instead */ 
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24 //mem_sp_private_key=>mem_k 24BYTES
+
+	arg      mem_ax,contw
+	arg      mem_gx,contr
+	call     memcpy48 //mem_gx=>mem_ax 48bytes
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az //0=>mem_az 24bytes
+
+	call     eckp_calc_init
+	jam SP_CALC_PUBKEY,mem_sp_calc
+	rtn    
+	
+sp_pubkey_generated:
+	arg      mem_sp_pubkey_local,contw
+	arg      mem_bx,contr
+	call     memcpy48   
+	jam      SP_KEY_VALID,mem_sp_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+sp_dhkey_calc:
+	bpatchx patch3d_0,mem_patch3d
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_sp_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k,contw
+	arg      mem_sp_private_key,contr	
+	call     memcpy24
+
+	arg      mem_ax,contw
+	arg      mem_sp_pubkey_remote,contr
+	call     memcpy48
+
+	arg      mem_az,contw
+	call     bn_zero
+	jam      1,mem_az
+
+	call     eckp_calc_init
+	jam      SP_CALC_DHKEY,mem_sp_calc
+	rtn 	
+	
+sp_dhkey_generated:
+	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_sp_dhkey,contw
+	arg mem_bx,contr
+	call memcpy24
+	jam SP_KEY_VALID,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_sp_calc
+	rtn
+
+random_generator:
+	increase -1,queue
+	nrtn     positive
+	random   pdata
+	istore   2,contw  
+	branch   random_generator
+compare4:
+	increase -1,queue
+	nbranch  compare4_success,positive
+	ifetch   4,regA
+	copy     pdata,temp
+	ifetch   4,regB
+	iflip    temp,pdata
+	nbranch  compare4_failed,zero
+	increase 4,regA
+	increase 4,regB
+	branch   compare4
+compare4_failed:
+	disable  true
+	rtn
+compare4_success:
+	enable   true
+	rtn
+
+/*************************************************/
+/** Message state machine routines ***************/
+/*************************************************/
+// simple pairing support 
+
+simple_pairing_sequence:
+	bpatchx patch3d_1,mem_patch3d
+         fetch 1,mem_sp_flag
+         rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam      SP_FLAG_STANDBY,mem_sp_flag
+	fetch    1,mem_sp_state
+	beq  SP_STAT_KEY_SEND,sp_send_LMP_ENCAPSULATED_HEADER
+	beq  SP_STAT_COMMIT_SEND,sp_send_LMP_SIMPLE_PAIRING_COMFIRM
+	beq  SP_STAT_RANDOM_SEND,sp_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq  SP_STAT_CONFIRM_SEND,sp_send_LMP_DHKEY_CHECK
+	beq  SP_STAT_KEY_GENERATE,sp_generate_local_key
+	beq  SP_STAT_COMMIT_CALC,sp_calculate_commitment
+	beq  SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq  SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq  SP_STAT_LINK_KEY_CALC,sp_link_key_prarm_push
+	//beq  SP_STAT_FEATURE_EXT_SEND,send_LMP_FEATURES_REQ_EXT
+	rtn  
+
+master_simple_paring_sequence:
+	bpatchx patch3d_2,mem_patch3d
+	fetch 1,mem_master_sp_flag
+	rtn blank
+	call lmo_fifo_check
+	nrtn blank
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	fetch 1,mem_master_sp_state
+	beq SP_MASTER_STAT_START_SKIP,sp_master_send_io_cap_get
+	beq SP_MASTER_STAT_START_DONE,sp_master_send_io_cap_send
+	beq SP_STAT_KEY_SEND,sp_master_send_LMP_ENCAPSULATED_HEADER
+	beq SP_STAT_COMMIT_CALC,master_sp_calculate_commitment
+	beq SP_STAT_COMMITMENT_COMPARE,sp_master_commitment_compare
+	beq SP_STAT_RANDOM_SEND,sp_master_send_LMP_SIMPLE_PAIRING_NUMBER
+	beq SP_STAT_CONFIRM_CALC,sp_confirm_calc
+	beq SP_STAT_CONFIRM_SEND,master_sp_send_lmp_dhkey_check
+	beq SP_STAT_CONFIRM_CHECK,sp_confirm_check
+	beq SP_STATE_END,master_sp_sm_end
+	rtn
+
+master_set_mem_master_sp_flag:
+	jam SP_FLAG_COMMIT,mem_master_sp_flag
+	rtn
+	
+master_clear_mem_master_sp_flag:
+	jam SP_FLAG_STANDBY,mem_master_sp_flag
+	rtn
+sp_calc_sequence:
+	bpatchx patch3d_3,mem_patch3d
+	fetch 1,mem_ssp_enable
+	rtn blank
+	fetch 1,mem_sp_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_sp_calc
+	rtnbit1 7
+	fetch    1,mem_ec_loopc
+	branch   sp_calc_sequence_done,blank
+	branch   eckp_calc
+
+sp_calc_sequence_done:    
+	call ecunmapz
+	fetch 1,mem_sp_calc
+	beq  SP_CALC_PUBKEY,sp_pubkey_generated
+	beq  SP_CALC_DHKEY,sp_dhkey_generated
+	rtn
+
+
+bn_testbit:
+	and pdata,7,queue
+	rshift3 pdata,pdata
+	iadd contr,contr
+	ifetch 1,contr
+	qisolate0 pdata
+	rtn
+
+
+ec_copy:
+	call memcpy24
+	call memcpy24
+	branch memcpy24
+	
+	
+bn_eq_zero:
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	nrtn blank
+	ifetch 8,contr
+	rtn
+	
+	
+	/* return zero if eq */
+
+bn_eq_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	isub temp,null
+	nrtn zero
+	increase 4,regA
+	increase 4,regB
+	loop bn_eq_0
+	rtn
+
+	/* return positive if A >= B */
+bn_bigeq:
+	force 6,loopcnt
+	increase 20,regA
+	increase 20,regB
+bn_bigeq_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	nrtn positive
+	nrtn blank
+	increase -4,regA
+	increase -4,regB
+	loop bn_bigeq_0
+	rtn
+
+bn_add:
+	force 6,loopcnt
+	force 0,regC
+bn_add_0:	
+	ifetch 4,regA
+	iforce temp
+	ifetch 4,regB
+	iadd temp,pdata
+	iadd regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_add_0
+	rtn
+
+bn_sub:
+	force 6,loopcnt
+	force 0,regC
+bn_sub_0:	
+	ifetch 4,regB
+	iforce temp
+	ifetch 4,regA
+	isub temp,pdata
+	isub regC,pdata
+	istore 4,contw
+	isolate1 32,pdata
+	setflag true,0,regC
+	increase 4,regA
+	increase 4,regB
+	loop bn_sub_0
+	rtn
+
+bn_rshift6:
+	force 6,loopcnt
+	increase 20,regA
+bn_rshift:
+	force 0,regC
+bn_rshift_0:	
+	ifetch 4,regA
+	isolate1 0,pdata
+	setflag true,1,regC
+	rshift pdata,pdata
+	isolate1 0,regC
+	setflag true,31,pdata
+	istore 4,regA
+	increase -4,regA
+	rshift regC,regC
+	loop bn_rshift_0
+	rtn
+
+bn_lshift:
+	force 6,loopcnt
+	force 0,regC
+bn_lshift_0:	
+	ifetch 4,regA
+	isolate1 31,pdata
+	setflag true,1,regC
+	lshift pdata,pdata
+	isolate1 0,regC
+	setflag true,0,pdata
+	istore 4,regA
+	increase 4,regA
+	rshift regC,regC
+	loop bn_lshift_0
+	rtn
+	
+bn_lshiftmod:
+	call bn_lshift
+bn_lshiftmod_ismod:	
+	isolate1 0,regC
+	branch bn_lshiftmod_0,true
+	arg mem_p,regB
+	copy regA,regC
+	increase -24,regA
+	call bn_bigeq
+	nrtn positive
+	copy regC,regA
+bn_lshiftmod_0:
+	increase -24,regA
+	arg mem_p,regB
+	copy regA,contw
+	branch bn_sub
+	
+
+bn_addmod:
+	call bn_add
+	copy contw,regA
+	branch bn_lshiftmod_ismod
+	
+bn_submod:
+	call bn_sub
+	isolate0 0,regC
+	rtn true
+	arg mem_p,regB
+	add contw,-24,regA
+	copy regA,contw
+	branch bn_add
+	
+
+bn_p192mod:
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2,regB
+	copy regB,contw
+	add regA,24,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	force 0,pdata
+	istore 8,contw
+	copy timeup,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	force 0,pdata
+	istore 8,contw
+	add alarm,32,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod
+	arg mem_tmp2,regB
+	copy regB,contw
+	add alarm,40,contr
+	ifetch 8,contr
+	istore 8,contw
+	istore 8,contw
+	istore 8,contw
+	copy timeup,regA
+	copy regA,contw
+	branch bn_addmod
+		
+
+bn_load:
+	force 6,loopcnt
+bn_load_0:	
+	ifetch 4,contr
+	iforce regext
+	increase 1,regext_index
+	loop bn_load_0
+	rtn
+
+
+	/* cost 1562 clks */	
+bn_mulmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp1,contw
+	call bn_zero
+	arg mem_tmp1,contw
+	copy regA,contr
+	force 0,regext_index
+	call bn_load
+	copy regB,contr
+	call bn_load
+	force 0,regB
+bn_mulmod_1:	
+	force 0,temp
+	force 6,regC
+bn_mulmod_0:
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+	copy regB,regext_index
+	deposit regext
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 12,regC,0xff
+	nbranch bn_mulmod_0,true
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -24,contw
+	increase 1,regB
+	compare 6,regB,0xff
+	nbranch bn_mulmod_1,true
+	arg mem_tmp1,regA
+	copy timeup,contw
+	branch bn_p192mod
+
+	
+bn_sqrmod:
+	copy regA,regB
+	branch bn_mulmod
+
+bn_rshifteven:
+	copy regA,alarm
+bn_rshifteven_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift6
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_0,true
+	arg mem_p,regA
+	copy regB,contw
+	call bn_add
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						/* [6] */
+	increase -24,regB
+bn_rshifteven_0:
+	add regB,24,regA
+	force 7,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_1
+
+	/* cost 141910 clks */
+bn_invmod:
+	copy contw,timeup					/* save result ptr */
+	arg mem_tmp0,contw				/* x */
+	call bn_zero
+	force 0,pdata
+	store 4,mem_tmp5
+	store 4,mem_t2
+	jam 1,mem_tmp0
+	arg mem_tmp1,contw				/* y */
+	call bn_zero
+	arg mem_p,contr
+	arg mem_tmp2,contw				/* a */
+	call memcpy24
+	copy regA,contr
+	arg mem_tmp3,contw				/* b */
+	call memcpy24
+bn_invmod_2:	
+	arg mem_tmp3,contr
+	call bn_eq_zero
+	branch bn_invmod_0,blank
+	arg mem_tmp3,regA
+	arg mem_tmp0,regB
+	call bn_rshifteven
+
+	arg mem_tmp2,regA
+	arg mem_tmp1,regB
+	call bn_rshifteven
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	call bn_bigeq
+	branch bn_invmod_1,positive
+	arg mem_tmp2,regA
+	arg mem_tmp3,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_1:
+	arg mem_tmp3,regA
+	arg mem_tmp2,regB
+	copy regA,contw
+	call bn_sub
+	arg mem_tmp1,regA
+	arg mem_tmp0,regB
+	copy regB,contw
+	call bn_add
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_2
+bn_invmod_0:
+	arg mem_tmp0,contw
+	call bn_zero
+	fetch 1,mem_tmp5
+	store 1,mem_tmp0
+	store 1,mem_tmp0a
+	arg mem_tmp0,regA
+	arg mem_tmp1,regB
+	copy regB,contw
+	call bn_addmod
+	arg mem_p,regA
+	arg mem_tmp1,regB
+	copy timeup,contw
+	branch bn_submod
+	
+
+
+	/* cost 64742 clks */
+ecdbl:
+	arg mem_cz,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_a,regA
+	arg mem_t3,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=a*z4	*/
+	arg mem_cx,regA
+	arg mem_t2,contw
+	call bn_sqrmod
+	arg mem_t2,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_t2,contw
+	call bn_addmod
+	arg mem_t2,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_addmod		/* t2=3*x2 + z*z4		D  */
+	arg mem_cx,contr
+	arg mem_t1,contw
+	call memcpy24
+	arg mem_cy,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA
+	call bn_lshiftmod
+	arg mem_t1,regA		
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=4x*y2	B	*/
+	arg mem_t3,regA
+	arg mem_t0,contw
+	call bn_sqrmod
+	arg mem_t0,regA
+	call bn_lshiftmod
+	arg mem_t0,regA
+	call bn_lshiftmod		
+	arg mem_t0,regA		
+	call bn_lshiftmod		/* t0=8*y4		C */
+	arg mem_cy,contr
+	arg mem_t3,contw
+	call memcpy24
+	arg mem_t3,regA
+	call bn_lshiftmod
+	arg mem_t3,regA
+	arg mem_cz,regB
+	arg mem_cz,contw
+	call bn_mulmod		
+	arg mem_t2,regA
+	arg mem_t3,contw
+	call bn_sqrmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_cx,contw
+	call bn_submod
+	arg mem_t1,regA
+	arg mem_cx,regB
+	arg mem_t3,contw
+	call bn_submod
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t3,contw
+	call bn_mulmod		
+	arg mem_t3,regA
+	arg mem_t0,regB
+	arg mem_cy,contw
+	branch bn_submod
+	
+
+	/* cost 104904	clks */
+ecadd:
+	arg mem_az,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_cx,regA
+	arg mem_t7,regB
+	arg mem_t0,contw
+	call bn_mulmod		/* n1=t0=xa*zb2  */
+	arg mem_az,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_cy,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* n2=t1=ya*zb3 */
+	arg mem_cz,regA
+	arg mem_t7,contw
+	call bn_sqrmod
+	arg mem_ax,regA
+	arg mem_t7,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* n3=t2=xb*za2 */
+	arg mem_cz,regA
+	arg mem_t7,regB
+	arg mem_t7,contw
+	call bn_mulmod	
+	arg mem_ay,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* n4=t3=yb*za3 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t7,contw
+	call bn_submod		/* n5=t7=n1-n3=t0-t2 */
+	arg mem_t0,regA
+	arg mem_t2,regB
+	arg mem_t0,contw
+	call bn_addmod		/* n7=t0=n1+n3=t0+t2 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t2,contw
+	call bn_submod		/* n6=t2=n2-n4=t1-t3 */
+	arg mem_t1,regA
+	arg mem_t3,regB
+	arg mem_t1,contw
+	call bn_addmod		/* n8=t1=n2+n4=t1+t3 */
+	arg mem_t1,regA
+	arg mem_t7,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5 */
+	arg mem_cz,regA
+	arg mem_az,regB
+	arg mem_t3,contw
+	call bn_mulmod	
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_cz,contw
+	call bn_mulmod		/* z=za*zb*n5 */
+	arg mem_t7,regA
+	arg mem_t7,contw
+	call bn_sqrmod		/* t7=n5^2 */
+	arg mem_t7,regA
+	arg mem_t0,regB
+	arg mem_t3,contw
+	call bn_mulmod		/* t3=n5^2*n7 */
+	arg mem_t7,regA
+	arg mem_t1,regB
+	arg mem_t1,contw
+	call bn_mulmod		/* t1=n8*n5^3 */
+	arg mem_t2,regA
+	arg mem_cx,contw
+	call bn_sqrmod		
+	arg mem_cx,regA
+	arg mem_t3,regB
+	arg mem_cx,contw
+	call bn_submod		/* x=n6^2-n5^2*n7 */
+	arg mem_cx,contr
+	arg mem_t7,contw
+	call memcpy24
+	arg mem_t7,regA
+	call bn_lshiftmod		/* t7=2*x */
+	arg mem_t3,regA
+	arg mem_t7,regB
+	arg mem_t3,contw
+	call bn_submod		/* t3=n9 */
+	arg mem_t3,regA
+	arg mem_t2,regB
+	arg mem_t2,contw
+	call bn_mulmod		/* t2=n9*n6 */
+	arg mem_t2,regA
+	arg mem_t1,regB
+	arg mem_cy,contw
+	call bn_submod	
+	arg mem_cy,regA
+	arg mem_p,regB
+	arg mem_cy,contw
+	force 0,regC
+	fetch 1,mem_cy
+	isolate1 0,pdata
+	call bn_add,true
+	copy regC,alarm
+	arg mem_cy,regA
+	call bn_rshift6
+	fetch 1,mem_cy5
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5
+	rtn
+
+	/* cost 22276983 clks */
+
+eckp_0:	
+	fetch 1,mem_ec_loopc
+	increase -1,pdata
+	nrtn positive
+	store 1,mem_ec_loopc
+	fetch 1,mem_ec_infinite
+	call ecdbl,blank
+	fetch 1,mem_ec_loopc
+	arg mem_k,contr
+	call bn_testbit
+	branch eckp_0,true
+	fetch 1,mem_ec_infinite
+	nbranch eckp_1,blank
+	call ecadd
+	branch eckp_0
+eckp_1:
+	jam 0,mem_ec_infinite
+	arg mem_ax,contr
+	arg mem_cx,contw
+	call ec_copy
+	branch eckp_0
+
+	/* cost 162522 clks */
+ecunmapz:
+	arg mem_cz,regA
+	arg mem_t3,contw
+	call bn_invmod			/* t3 = 1/z */
+	arg mem_t3,regA
+	arg mem_t1,contw		
+	call bn_sqrmod			/* t1 = 1/z2 */
+	arg mem_cx,regA
+	arg mem_t1,regB
+	arg mem_bx,contw
+	call bn_mulmod
+	arg mem_t3,regA
+	arg mem_t1,regB
+	arg mem_t2,contw			
+	call bn_mulmod			/* t2 = 1/z3 */
+	arg mem_cy,regA
+	arg mem_t2,regB
+	arg mem_by,contw
+	branch bn_mulmod		
+	
+	
+
+sha_endian_swap2:	
+	ifetch 4,contr
+	force 4,regA
+	increase 3,contw
+sha_endian_loop:	
+	istore 1,contw
+	rshift8 pdata,pdata
+	increase -2,contw
+	increase -1,regA
+	nbranch sha_endian_loop,zero
+	increase 5,contw
+	loop sha_endian_swap2
+	rtn	
+
+
+sha_getw:
+	lshift2 queue,pdata
+	iadd timeup,contr
+	ifetch 4,contr
+	rtn
+	
+sha_r:
+	force 16,alarm
+	arg memdat,timeup
+sha_r_loop:	
+	add alarm,-7,queue
+	call sha_getw
+	iforce temp						/* W[t - 7] */
+	add alarm,-16,queue
+	call sha_getw
+	iadd temp,temp					/* W[t-7] + W[t-16] */
+	add alarm,-2,queue
+	call sha_getw
+	shasx pdata,1,pdata
+	iadd temp,temp					/* S1(W[t -  2]) + W[t-7] + W[t-16] */
+	add alarm,-15,queue
+	call sha_getw
+	shasx pdata,0,pdata
+	iadd temp,temp					/* S0(W[t - 15]) + S1(W[t -  2]) + W[t-7] + W[t-16] */
+	lshift2 alarm,pdata
+	iadd timeup,contw
+	istoret 4,contw
+	increase 1,alarm
+	compare 64,alarm,0xff
+	nbranch sha_r_loop,true
+	rtn
+	
+
+sha_init:
+	arg memh0,contr
+	force 7,regext_index
+sha_init_0:	
+	ifetch 4,contr
+	iforce regext
+	increase -1,regext_index
+	branch sha_init_0,positive
+	rtn
+
+sha:
+	bpatchx patch3d_4,mem_patch3d
+	call sha_r		/* preprocessing data into R() */
+	arg memahbak,contw
+	force 0,regext_index
+sha_0:	
+	deposit regext
+	istore 4,contw
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_0,true
+	call enable_authrom
+	arg memk,timeup
+	arg memdat,alarm
+	force 64,loopcnt
+sha_loop:	
+	ifetcht 4,alarm
+	ifetch 4,timeup
+	increase 4,timeup
+	increase 4,alarm
+	iadd temp,pdata			/* x+K */
+	force 7,regext_index
+	iadd regext,temp			/* x+K+h */
+	force 4,regext_index
+	shasx regext,3,pdata
+	iadd temp,temp			/* temp = s3(e)+x+K+h */
+	force 5,regext_index
+	deposit regext
+	force 6,regext_index
+	ixor regext,pdata
+	force 4,regext_index
+	iand regext,pdata			/* (e & (f ^ g)) */
+	force 6,regext_index
+	ixor regext,pdata			/* F1(e, f, g) = g ^ (e & (f ^ g)) */
+	iadd temp,temp			/* temp1 = h + S3(e) + F1(e,f,g) + K + x */
+	force 7,regext_index
+	copy temp,regext			/* save to H */
+	force 3,regext_index
+	deposit regext
+	iadd temp,regext			/* save to D */
+	force 0,regext_index
+	deposit regext
+	force 1,regext_index
+	iand regext,temp			/* a & b */
+	ior regext,pdata			/* a | b */			
+	force 2,regext_index
+	iand regext,pdata			/* (c & (a | b)) */
+	ior temp,temp				/* F0:(a & b) | (c & (a | b)) */
+	force 0,regext_index
+	shasx regext,2,pdata
+	iadd temp,pdata			/* temp2 = S2(a) + F0(a,b,c) */
+	force 7,regext_index
+	iadd regext,regext			/* h = temp1 + temp2 */
+	regexrot					/* rotate move h,a-g => a-h */
+	loop sha_loop
+	arg memahbak,contr
+	force 0,regext_index
+sha_1:	
+	ifetch 4,contr
+	iadd regext,regext
+	increase 1,regext_index
+	compare 8,regext_index,0xff
+	nbranch sha_1,true
+	branch disable_authrom
+
+	
+sha_result:
+	arg   memresult,contw
+	force 7,regext_index
+sha_regext_save:
+	deposit regext
+	istore  4,contw 
+	increase -1,regext_index
+	branch   sha_regext_save,positive
+	rtn	
+
+pad_xor:
+//	arg memx_end,contr
+	arg      memdat,contw
+	increase -4,contr
+	sub      loopcnt,16,regA
+pad_xor_0:	    
+	ifetch   4,contr
+	ixor     temp,pdata
+	istore   4,contw	
+	increase -8,contr	
+	loop  pad_xor_0
+	copy     regA,loopcnt
+	deposit  temp
+pad_xor_1:	
+	istore 4,contw
+	loop pad_xor_1
+	rtn
+
+g_noninit_number_confirm:
+	call g_noninit0
+	call sha_result
+	branch g_common0
+
+g_noninit:
+	call g_noninit0
+	branch g_common0
+	
+g_noninit0:
+ 	arg      mem_sp_pubkey_remote_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_local_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	branch g_common
+	
+g_init:
+ 	arg      mem_sp_pubkey_local_x_end,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_pubkey_remote_x_end,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	call     sha_init
+	call     sha	
+ 	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call g_common
+	branch g_common0
+	
+g_common:	
+	call     memcpy_dword_swap4
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    5,loopcnt
+	call memset0
+	setarg 640
+	istore 4,contw
+	branch sha
+g_common0:
+	fetch 4,memresult
+//	store 4,mem_gkey
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	store 4,mem_gkey
+	quotient pdata
+	arg 1000,rega
+	idiv rega
+	call wait_div_end
+	remainder pdata
+	arg 1000,rega
+	imul32 rega,pdata
+	fetcht 4,mem_gkey
+	iadd temp,pdata
+	store 4,mem_gkey
+	rtn
+
+function_f1_no_key:
+	jam 0,mem_passkey_1bit
+	branch function_f1_common
+	
+function_f1:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f1_no_key
+function_f1_common:
+	bpatchx patch3d_5,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+2
+	copy pdata,contr
+	arg      memdat,contw
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	fetch 2,mem_sp_prarm_stack+4
+	copy pdata,contr
+	force    6,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	istore   3,contw
+	
+	fetch 1,mem_passkey_1bit
+	
+	istore   1,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0388
+	istore   4,contw
+	call     sha
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	fetch 2,mem_sp_prarm_stack
+	copy pdata,contr
+	force    4,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call		bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+	
+function_f2:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	fetch 2,mem_sp_prarm_stack+12
+	copy pdata,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	fetch 2,mem_sp_prarm_stack+14
+	copy pdata,contr
+	call     memcpy_dword_swap4
+
+	setarg   0x62746c
+	lshift8  pdata,pdata
+	or_into       0x6b,pdata       
+	istore   4,contw
+	arg      mem_addr_value_end,contr
+	force    3,loopcnt
+	call     memcpy_dword_swap
+	
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	force    0,pdata
+	istore   8,contw
+	setarg   0x0380
+	istore   4,contw
+	call     sha
+
+	call     sha_result
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha
+	branch     sha_result
+	
+
+function_f3a:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3a_no_pin
+function_f3a_common:
+	bpatchx patch3d_6,mem_patch3d
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      mem_sp_random_remote_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_local_end,contr
+	call     memcpy_dword_swap4
+	branch function_f3_common
+
+function_f3a_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3a_common
+
+function_f3b_no_pin:
+	setarg 0
+	store 4,mem_pin
+	branch function_f3b_common
+
+
+function_f3b:
+	fetch 1,mem_ssp_mode_flag
+	bne  SSP_MODE_PASSKEY_ENTRY_FLAG,function_f3b_no_pin
+function_f3b_common:
+	setarg   0x363636
+	lshift8  pdata,temp
+	or_into       0x36,temp
+	arg      mem_sp_dhkey_end,contr
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+
+	arg      mem_sp_random_local_end,contr
+	arg      memdat,contw
+	call     memcpy_dword_swap4
+	arg      mem_sp_random_remote_end,contr
+	call     memcpy_dword_swap4
+function_f3_common:    
+	setarg   0x0    
+	istore   8,contw
+	istore   4,contw
+	fetch 4,mem_pin
+	istore   4,contw
+	
+	copy     contw,temp
+	jam      0x80,mem_addr_padding
+	copy     temp,contw
+	arg      mem_addr_iocap_end,contr
+	call     memcpy_dword_swap4
+
+	call     sha
+    
+	arg      memdat,contw
+	force 7,loopcnt
+	call memset0
+	istore   4,contw
+	setarg   0x03F8
+	istore   4,contw
+	call     sha
+	call     sha_result
+	
+	arg      memresult,contr
+	arg      memahsave,contw 
+	call     memcpy32
+    
+	setarg   0x5c5c5c
+	lshift8  pdata,temp
+	or_into       0x5c,temp
+	arg      mem_sp_dhkey_end,contr 
+	force    6,loopcnt
+	call     pad_xor
+	call     sha_init
+	call     sha
+	arg      memahsave_end,contr
+	arg      memdat,contw
+	force    8,loopcnt
+	call     memcpy_dword_swap
+	setarg   0x800000
+	lshift8  pdata,pdata 
+	istore   4,contw
+	call bn_zero
+	setarg   0x0300
+	istore   4,contw
+	call     sha	
+	branch     sha_result
+		
+/*
+eckp:
+	jam 192,mem_ec_loopc
+	jam 1,mem_ec_infinite
+*/
+eckp_calc_init:
+	jam      192,mem_ec_loopc
+eckp_calc_init_1:    
+	fetch    1,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    1,mem_ec_loopc 	
+	arg      mem_k,contr
+	call     bn_testbit
+	branch eckp_calc_init_1,true
+	arg      mem_ax,contr
+	arg      mem_cx,contw
+	branch     ec_copy	
+	
+eckp_calc:
+	call     ecdbl  
+	fetch    1,mem_ec_loopc
+	increase -1,pdata
+	store    1,mem_ec_loopc
+	arg      mem_k,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd                
+	             
+memcpy_dword_swap4:
+	force 4,loopcnt
+memcpy_dword_swap:
+	increase -4,contr
+memcpy_dword_swap_loop:
+	ifetch   4,contr
+	istore   4,contw
+	increase -8,contr
+	loop   memcpy_dword_swap_loop 
+    	rtn
+
+else
+sp_initialize:
+	rtn
+
+endif
+	
+
+ifdef SECURE_CONNECTION
+
+sp_initialize_256:	
+	bpatchx patch3d_7,mem_patch3d
+	fetch 1,mem_le_secure_connect_enable
+	branch  le_secure_connection_disable,blank
+	call le_secure_connection_enable
+	call sp_clear_flags
+//	jam SP_KEY_INVALID_256,mem_le_sc_local_key_invalid
+	branch sp_pubkey_calc_256
+    	
+
+
+
+sp_pubkey_calc_256:
+	fetch    1,mem_le_sc_local_key_invalid
+	rtnne SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+	
+	arg      mem_le_private_key_256,contw 
+	force    15,queue
+	call     random_generator
+	random   pdata
+	rshift   pdata,pdata
+	istore   2,contw 
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32 //mem_sp_private_key=>mem_k 
+
+	arg      mem_ax_256,contw
+	arg      mem_gx_256,contr
+	call     memcpy64 //mem_gx=>mem_ax 
+	
+	arg      mem_az_256,contw
+	call      clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam SP_CALC_PUBKEY_256,mem_le_sc_calc
+	rtn    
+
+sp_pubkey_generated_256:
+	arg      mem_le_pubkey_local_x_256,contw
+	arg      mem_bx_256,contr
+	call     memcpy64   
+	jam      SP_KEY_VALID_256,mem_le_sc_local_key_invalid
+	jam      SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+	
+
+
+sp_dhkey_calc_256:
+	fetch    1,mem_sp_dhkey_invalid
+	rtnne  SP_KEY_INVALID
+	fetch    1,mem_le_sc_calc
+	rtnne  SP_CALC_STANDBY
+
+	arg      mem_k_256,contw
+	arg      mem_le_private_key_256,contr	
+	call     memcpy32
+
+	arg      mem_ax_256,contw
+	arg      mem_le_pubkey_remote_x_256,contr
+	call     memcpy64
+
+	arg      mem_az_256,contw
+	call     clear_mem_256
+	jam      1,mem_az_256 //0=>mem_az 
+
+	call     eckp_calc_init_256
+	jam     SP_CALC_DHKEY_256,mem_le_sc_calc
+	rtn 
+
+
+sp_dhkey_generated_256:
+//	jam SP_FLAG_COMMIT,mem_sp_dh_ready
+	arg mem_le_dhkey_256,contw
+	arg mem_bx_256,contr
+	call memcpy32
+	jam SP_KEY_VALID_256,mem_sp_dhkey_invalid
+	jam SP_CALC_STANDBY,mem_le_sc_calc
+	rtn
+
+
+
+sp_calc_sequence_256:
+	fetch 1,mem_le_secure_connect_enable
+	rtn blank
+	fetch 1,mem_le_sc_calc
+	rtn blank
+	increase 0x80,pdata
+	store    1,mem_le_sc_calc
+	rtnbit1 7
+	fetch    2,mem_ec_loopc
+	branch   sp_calc_sequence_done_256,blank
+	branch   eckp_calc_256
+
+sp_calc_sequence_done_256:    
+	bpatchx patch3e_0,mem_patch3e
+	call ecunmapz_256
+	fetch 1,mem_le_sc_calc
+	beq  SP_CALC_PUBKEY_256,sp_pubkey_generated_256
+	beq  SP_CALC_DHKEY_256,sp_dhkey_generated_256
+	rtn
+
+
+eckp_calc_256:
+	call     ecdbl_256  
+	fetch    2,mem_ec_loopc
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	rtn	true
+	branch     ecadd_256   
+
+eckp_calc_init_256:
+	bpatchx patch3e_1,mem_patch3e
+	setarg 256,pdata
+	store 2,mem_ec_loopc
+eckp_calc_init_256_1:    
+	fetch    2,mem_ec_loopc
+	rtn      blank
+	increase -1,pdata
+	store    2,mem_ec_loopc
+	arg      mem_k_256,contr
+	call     bn_testbit
+	branch eckp_calc_init_256_1,true
+	arg      mem_ax_256,contr
+	arg      mem_cx_256,contw
+	branch     memcpy96	
+
+
+ecunmapz_256:
+	arg mem_cz_256,regA
+	arg mem_t3_256,contw
+	call bn_invmod_256			/* t3 = 1/z */
+	arg mem_t3_256,regA
+	arg mem_t1_256,contw		
+	call bn_sqrmod_256			/* t1 = 1/z2 */
+	arg mem_cx_256,regA
+	arg mem_t1_256,regB
+	arg mem_bx_256,contw
+	call bn_mulmod_256
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw			
+	call bn_mulmod_256			/* t2 = 1/z3 */
+	arg mem_cy_256,regA
+	arg mem_t2_256,regB
+	arg mem_by_256,contw
+	branch bn_mulmod_256	
+	
+ecdbl_256:
+	arg mem_cz_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_a_256,regA
+	arg mem_t3_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=a*z4	*/
+	arg mem_cx_256,regA
+	arg mem_t2_256,contw
+	call bn_sqrmod_256
+//call ice_break
+	arg mem_t2_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256
+//call ice_break
+	arg mem_t2_256,regA
+	arg mem_t3_256,regB
+	arg mem_t2_256,contw
+	call bn_addmod_256		/* t2=3*x2 + z*z4		D  */
+//call ice_break
+	arg mem_cx_256,contr
+	arg mem_t1_256,contw
+	call memcpy32
+	arg mem_cy_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA
+	call bn_lshiftmod_256
+	arg mem_t1_256,regA		
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		//S = 4X1Y1^2/* t1=4x*y2	B	*/
+	arg mem_t3_256,regA
+	arg mem_t0_256,contw
+	call bn_sqrmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256
+	arg mem_t0_256,regA
+	call bn_lshiftmod_256		
+	arg mem_t0_256,regA		
+	call bn_lshiftmod_256	//T = 8Y1^4	/* t0=8*y4		C */
+	arg mem_cy_256,contr
+	arg mem_t3_256,contw
+	call memcpy32
+	arg mem_t3_256,regA
+	call bn_lshiftmod_256
+	arg mem_t3_256,regA
+	arg mem_cz_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		//z = 2Y1Z1
+
+
+	arg mem_t2_256,regA
+	arg mem_t3_256,contw
+	call bn_sqrmod_256   // M ^2
+//call ice_break
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256  // t2^2 - 4*cx *cy^2 
+	arg mem_t3_256,regA
+	arg mem_t1_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256   //X2
+	arg mem_t1_256,regA
+	arg mem_cx_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256   //S-X2
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	//M(S-X2)	
+	arg mem_t3_256,regA
+	arg mem_t0_256,regB
+	arg mem_cy_256,contw
+	branch bn_submod_256  //M(S-X2)-T Y2	
+
+ecadd_256:
+
+	arg mem_az_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_cx_256,regA
+	arg mem_t7_256,regB
+	arg mem_t0_256,contw
+	call bn_mulmod_256		/* n1=t0=xa*zb2 U1 = X1Z0^2*/
+
+
+	arg mem_az_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_cy_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* n2=t1=ya*zb3   S1 = Y1Z0^3*/
+
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256
+	arg mem_ax_256,regA
+	arg mem_t7_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* n3=t2=xb*za2  U0 = X0Z1^2*/
+
+	arg mem_cz_256,regA
+	arg mem_t7_256,regB
+	arg mem_t7_256,contw
+	call bn_mulmod_256	
+	arg mem_ay_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* n4=t3=yb*za3 S0 = Y0Z1^3*/
+
+
+//	arg mem_t0_256,regA
+//	arg mem_t2_256,regB
+	arg mem_t0_256,regb
+	arg mem_t2_256,rega
+	arg mem_t7_256,contw
+	call bn_submod_256		/* n5=t7=n1-n3=t0-t2   W=U1-U0*/
+	arg mem_t0_256,regA
+	arg mem_t2_256,regB
+	arg mem_t0_256,contw
+	call bn_addmod_256		/* n7=t0=n1+n3=t0+t2    T=U1+U0 */
+//	arg mem_t1_256,regA
+//	arg mem_t3_256,regB
+	arg mem_t1_256,regb
+	arg mem_t3_256,rega
+	arg mem_t2_256,contw
+	call bn_submod_256		/* n6=t2=n2-n4=t1-t3  S1-S0 */
+	arg mem_t1_256,regA
+	arg mem_t3_256,regB
+	arg mem_t1_256,contw
+	call bn_addmod_256		/* n8=t1=n2+n4=t1+t3 M=S1+S0*/
+	arg mem_t1_256,regA
+	arg mem_t7_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5     MW */
+	arg mem_cz_256,regA
+	arg mem_az_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256	      //Z0Z1
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_cz_256,contw
+	call bn_mulmod_256		/* z=za*zb*n5   Z0Z1W */
+
+	arg mem_t7_256,regA
+	arg mem_t7_256,contw
+	call bn_sqrmod_256		/* t7=n5^2 */
+	arg mem_t7_256,regA
+	arg mem_t0_256,regB
+	arg mem_t3_256,contw
+	call bn_mulmod_256		/* t3=n5^2*n7 */
+	arg mem_t7_256,regA
+	arg mem_t1_256,regB
+	arg mem_t1_256,contw
+	call bn_mulmod_256		/* t1=n8*n5^3 */
+	arg mem_t2_256,regA
+	arg mem_cx_256,contw
+	call bn_sqrmod_256		
+	arg mem_cx_256,regA
+	arg mem_t3_256,regB
+	arg mem_cx_256,contw
+	call bn_submod_256		/* x=n6^2-n5^2*n7 */
+	arg mem_cx_256,contr
+	arg mem_t7_256,contw
+	call memcpy32
+	arg mem_t7_256,regA
+	call bn_lshiftmod_256		/* t7=2*x */
+	arg mem_t3_256,regA
+	arg mem_t7_256,regB
+	arg mem_t3_256,contw
+	call bn_submod_256		/* t3=n9 */
+	arg mem_t3_256,regA
+	arg mem_t2_256,regB
+	arg mem_t2_256,contw
+	call bn_mulmod_256		/* t2=n9*n6 */
+	arg mem_t2_256,regA
+	arg mem_t1_256,regB
+	arg mem_cy_256,contw
+	call bn_submod_256	
+	arg mem_cy_256,regA
+	arg mem_p_256,regB
+	arg mem_cy_256,contw
+	force 0,regC
+	fetch 1,mem_cy_256
+	isolate1 0,pdata
+	call bn_add_256,true
+	copy regC,alarm
+	arg mem_cy_256,regA
+	call bn_rshift_256
+	fetch 1,mem_cy5_256
+	isolate1 0,alarm
+	setflag true,7,pdata
+	store 1,mem_cy5_256
+	rtn	
+
+bn_invmod_256:
+	copy contw,timeup					 
+	arg mem_tmp0_256,contw			 
+	call clear_mem_256
+	force 0,pdata
+//	store 4,mem_tmp52
+	store 4,mem_t2_256
+	jam 1,mem_tmp0_256      //y1
+	arg mem_tmp1_256,contw	//y2			 
+	call clear_mem_512      
+	arg mem_p_256,contr
+	arg mem_tmp2_256,contw		//j		 
+	call memcpy32
+	copy regA,contr
+	arg mem_tmp3_256,contw		//i		 
+	call memcpy32
+	
+//	arg mem_tmp22,regA
+//	arg mem_tmp32,regB
+//	call p_bn_bigeq_256
+//	branch assert,positive
+bn_invmod_256_2:	
+	arg mem_tmp3_256,contr
+	call bn_eq_zero_256
+	branch bn_invmod_256_0,blank
+//call ice_break    	
+//fetch 1,0x4ffe
+//increase 1,pdata
+//store 1,0x4ffe
+	arg mem_tmp3_256,regA
+	arg mem_tmp0_256,regB
+	call bn_rshifteven_256
+	arg mem_tmp2_256,regA
+	arg mem_tmp1_256,regB
+	call bn_rshifteven_256
+	
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	call bn_bigeq_256
+	branch bn_invmod_256_1,positive
+	arg mem_tmp2_256,regA
+	arg mem_tmp3_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp0_256,regA
+	arg mem_tmp1_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_1:
+	arg mem_tmp3_256,regA
+	arg mem_tmp2_256,regB
+	copy regA,contw
+	call bn_sub_256
+	arg mem_tmp1_256,regA
+	arg mem_tmp0_256,regB
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regA
+	iadd regC,regC
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB
+	branch bn_invmod_256_2
+bn_invmod_256_0:
+//call ice_break
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	call  bn_p256mod
+//call ice_break
+	arg mem_p_256,regA
+	copy timeup,regB
+	copy timeup,contw
+	branch bn_submod_256
+
+
+bn_mulmod_256:
+	copy contw,timeup					/* save result ptr */
+	
+	force 0,regext_index
+	
+	arg mem_tmp1_256,contw
+	call clear_mem_512
+	arg mem_regext,contw
+	call clear_mem_512
+//	jam 0,mem_regext_index
+
+//	arg mem_tmp12,contw
+	copy regA,contr
+//	force 0,regext_index
+	jam 0,mem_regext
+	setarg 0
+	call bn_load_mem
+	copy regB,contr
+	call bn_load_256
+//	force 0,regB
+//	jam 0,mem_regb
+	force 0,queue
+	arg mem_tmp1_256,contw	
+bn_mulmod_256_1:	
+//	copy regb,pdata
+//	store 1,
+	arg mem_regext,temp
+	copy queue,regb
+	lshift2 regb,pdata
+//	lshift4 pdata,pdata
+	iadd temp,regb	
+	force 0,temp
+	force 0,regC
+bn_mulmod_256_0:
+//	copy contw,pdata
+//	store 2,mem_contw
+//call ice_break
+//	copy pdata,contw
+	ifetch 4,contw					/* d[i+j] */
+	iforce regA
+//	copy regB,regext_index
+//	deposit regext
+	ifetch 4,regb
+	copy regC,regext_index
+	imul32 regext,pdata
+	iadd regA,pdata					/* uv = a[i]*b[j] + d[i+j] */
+	iadd temp,pdata					/* uv += u */
+	istore 4,contw					/* ->d[i+j] */
+	rshift32 pdata,temp				/* temp = u = uv >> 32 */
+	increase 1,regC
+	compare 8,regC,0xff
+	nbranch bn_mulmod_256_0,true
+//call ice_break
+	deposit temp
+	istore 4,contw					/* d[i + 12] = u */
+	increase -32,contw
+//	fetch 1,mem_regb
+//	copy pdata,regb
+	increase 1,queue
+	compare 8,queue,0xff
+	nbranch bn_mulmod_256_1,true
+	arg mem_tmp1_256,regA
+	copy timeup,contw
+	branch bn_p256mod
+
+bn_p256mod:
+	bpatchx patch3e_2,mem_patch3e
+	copy contw,timeup				/* save result ptr */
+	copy regA,alarm				/* temp save regA */
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add regA,44,contr
+	call memcpy8
+	call memcpy12
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S1
+	arg mem_tmp2_256,regB
+	copy alarm,rega   
+	copy timeup,contw
+	call bn_addmod_256 //T+2S1
+//call ice_break	
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	call memset0_4	
+	istore 8,contw
+	add alarm,48,contr
+	call memcpy16
+	call memset0_4	
+	copy regb,rega
+	call  bn_lshiftmod_256 //2S2
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy timeup,rega   
+	copy regA,contw	
+	call bn_addmod_256  //+2S2
+//call ice_break	
+//	arg 0,regB
+		
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,56,contr
+	call memcpy8
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S3
+//call ice_break	
+//	arg 0,regB
+
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,36,contr
+	call memcpy12
+	add alarm,52,contr	
+	call memcpy12
+	add alarm,52,contr
+	call memcpy4
+	add alarm,32,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_addmod_256 //+S4	
+//call ice_break	
+//	arg 1,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,44,contr
+	call memcpy12
+	call memset0_4	
+	istore 8,contw
+	add alarm,32,contr
+	call memcpy4
+	add alarm,40,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D1	
+//call ice_break	
+//	arg 2,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,48,contr
+	call memcpy8
+	call memcpy8
+	force 0,pdata
+	istore 8,contw
+	add alarm,36,contr
+	call memcpy4
+	add alarm,44,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D2	
+//call ice_break	
+//	arg 3,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,52,contr
+	call memcpy12
+	add alarm,32,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,48,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	call bn_submod_256 //-D3
+//call ice_break	
+//	arg 4,regB
+	arg mem_tmp2_256,regB
+	copy regB,contw
+	add alarm,56,contr
+	call memcpy8
+	call memset0_4	
+	add alarm,36,contr
+	call memcpy12
+	call memset0_4	
+	add alarm,52,contr
+	call memcpy4
+	copy timeup,regA
+	copy regA,contw
+	branch  bn_submod_256 //-D4	
+
+
+bn_load_mem:
+	force 32,loopcnt
+	arg mem_regext,contw
+	iadd contw,contw
+	branch memcpy
+
+bn_load_256:
+	force 8,loopcnt
+	branch bn_load_0
+
+bn_sqrmod_256:
+	copy regA,regB
+	branch bn_mulmod_256
+
+bn_add_256:
+	force 8,loopcnt
+ 	branch bn_add+1
+
+bn_addmod_256:
+	call bn_add_256
+	copy contw,regA
+	branch bn_lshiftmod_ismod_256
+
+bn_lshiftmod_256:
+	call bn_lshift_256
+bn_lshiftmod_ismod_256:	
+	isolate1 0,regC
+	branch bn_lshiftmod_p_256,true
+	arg mem_p_256,regB
+	copy regA,regC
+	increase -32,regA
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+	
+bn_lshiftmod_p_256:
+	call sub_p2_256
+//	nrtn true
+	copy regA,regC
+	increase -32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	copy regC,regA
+	branch sub_p2_256
+		
+	
+sub_p2_256:
+	increase -32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_sub_256
+	
+
+
+	
+bn_submod_256:
+	call bn_sub_256
+//	isolate1 0,regC
+	branch  bn_submod_256_np,true
+//	copy regA,regC
+//	increase -32,regA
+	add contw,-32,regA
+	arg mem_p_256,regB
+	call bn_bigeq_256
+	nrtn positive
+	arg mem_p_256,regB
+	add contw,-32,regA
+//	copy regC,regA
+	copy rega,contw
+	branch  bn_sub_256
+bn_submod_256_np:	
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	call bn_add_256
+//	isolate1 0,regC
+	rtn true
+	add contw,-32,regA
+	arg mem_p_256,regB
+	copy regA,contw
+	branch bn_add_256	
+
+
+ 
+bn_sub_256:
+	force 8,loopcnt
+	branch bn_sub+1
+
+bn_rshift_256:
+	force 8,loopcnt
+	increase 28,regA
+	branch bn_rshift
+
+bn_lshift_256:
+	force 8,loopcnt
+	force 0,regC
+	branch bn_lshift_0
+
+bn_bigeq_256:
+	force 8,loopcnt
+	increase 28,regA
+	increase 28,regB
+	branch bn_bigeq_0
+
+
+bn_eq_zero_256:
+	ifetch 8,contr
+	nrtn blank
+	branch bn_eq_zero
+
+
+
+	
+bn_rshifteven_256:
+	copy regA,alarm
+bn_rshifteven_256_1:
+	copy alarm,regA
+	ifetch 1,regA
+	isolate1 0,pdata
+	rtn true
+	call bn_rshift_256
+	ifetch 1,regB
+	isolate0 0,pdata
+	branch bn_rshifteven_256_0,true
+	arg mem_p_256,regA
+	copy regB,contw
+	call bn_add_256
+	ifetch 1,regB
+	iadd regC,pdata
+	istore 1,regB						 
+	increase -32,regB
+bn_rshifteven_256_0:
+	add regB,32,regA
+	force 9,loopcnt
+	call bn_rshift
+	branch bn_rshifteven_256_1		
+
+else
+sp_initialize_256:
+	rtn
+
+endif
+
+
Index: YJX_Only24g/main/program/ui.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/ui.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/ui.prog	(working copy)
@@ -0,0 +1,701 @@
+ui_init:
+	call lpm_disable_exen_output
+	rtn wake
+	call ui_button_init
+	call ui_timer_init
+	branch ui_led_init_global
+
+ui_dispatch:
+	call ui_led_dispatch
+	
+	branch ui_timer_check
+	
+ui_button_init:
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	iforce temp
+	call gpio_config_output
+	fetcht 1,mem_ui_button_gpio
+	call gpio_out_inactive
+	nop 100
+	fetcht 1,mem_ui_button_gpio
+	call gpio_config_input
+	branch ui_button_polling
+
+
+	
+ui_button_polling:
+	bpatchx patch3e_3,mem_patch3e
+	fetch 1,mem_ui_button_gpio
+	rtneq UI_BUTTON_GPIO_DISABLE
+	copy pdata,temp
+	call gpio_get_bit
+	nbranch ui_button_up,true
+	//fall through
+ui_button_down:
+	call ui_button_check_long_press
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_DOWN
+	jam UI_BUTTON_STATE_DOWN,mem_ui_button_last_state
+	//Down Edge
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_ui_button_timer //start long press timer
+	call lpm_button_get_wake_lock
+	jam BT_EVT_BUTTON_DOWN,mem_fifo_temp
+	branch ui_ipc_send_event
+ui_button_up:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BTN_DOWN
+	store 2,mem_ui_state_map
+	fetch 1,mem_ui_button_last_state
+	rtneq UI_BUTTON_STATE_UP
+	jam UI_BUTTON_STATE_UP,mem_ui_button_last_state
+	//Up Edge
+	jam 0,mem_ui_button_timer//stop long press timer
+	call lpm_button_clean_wake_lock
+	jam BT_EVT_BUTTON_UP,mem_fifo_temp
+	branch ui_ipc_send_event
+
+ui_button_check_long_press:
+	fetch 1,mem_ui_button_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_ui_button_timer
+	nrtn blank
+	//Long Press
+	jam BT_EVT_BUTTON_LONG_PRESSED,mem_fifo_temp
+	branch ui_ipc_send_event
+
+lpm_button_get_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_get_wake_lock
+	
+lpm_button_clean_wake_lock:
+	arg wake_lock_button,queue
+	branch lpm_put_wake_lock
+
+
+
+/***********************ui led function****************************/
+/******************
+led function
+
+ui_led_init_global
+ui_led_on_global
+
+ui_led_off_global
+//input:rega :struct number
+ui_led_blink_start_global
+
+//input:rega :struct number
+//contr: the point that want to set led style address
+ui_led_set_style_global
+
+******************/
+//input:rega :struct number
+//output:regb :current strutct starting pointer
+calc_curr_struct_prt:
+	fetch 2,mem_ui_led_struct_ptr
+	mul32 rega,LED_OFFSET_LENGTH,regb
+	iadd regb,regb
+	rtn
+
+
+ui_led_init_global:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	copy pdata,loopcnt
+	fetch 2,mem_ui_led_struct_ptr
+	copy pdata,regb
+ui_led_init_loop:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	call gpio_config_output
+	call ui_led_off_static
+	increase LED_OFFSET_LENGTH,regb
+	loop ui_led_init_loop
+	rtn
+
+	
+//input:rega :struct number
+ui_led_on_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_LIGHTING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_on_static
+
+	
+//input:rega :struct number
+ui_led_blink_stop_global:
+ui_led_off_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_DARKING
+	istore 1,regb
+	call ui_led_stop_timer
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+ui_led_blink_start_global:
+	call calc_curr_struct_prt
+	setarg UI_LED_STATE_BLINK_START
+	istore 1,regb
+	setarg LED_INFINITE_FLASH_NUM
+	istore 1,contw
+	branch ui_led_off_static
+
+
+//input:rega :struct number
+//REGC: the point that want to set led style address
+ui_led_set_style_global:
+	call calc_curr_struct_prt
+	arg LED_OFFSET_LENGTH,loopcnt
+	copy regc,contr
+	copy regb,contw
+	branch memcpy_fast
+
+
+
+ui_led_dispatch:
+	fetch 1,mem_ui_led_struct_num
+	rtn blank
+	arg 0,rega
+ui_led_blink_polling:
+	call ui_led_change_style_by_type
+	increase 1,rega
+	fetch 1,mem_ui_led_struct_num
+	isub rega,null
+	rtn zero
+	branch ui_led_blink_polling
+
+
+ui_led_off_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_inactive
+
+
+ui_led_on_static:
+	add regb,LED_OFFSET_LED_GPIO,regc
+	ifetcht 1,regc
+	branch gpio_out_active
+
+
+//input:rega :struct number
+ui_led_change_style_by_type:
+	add rega,ui_led_blink,queue
+	call timer_check
+	nrtn blank			//timer out
+	
+	call calc_curr_struct_prt
+
+	ifetch 1,regb			//led type
+
+	beq UI_LED_STATE_LIGHTING,ui_led_on_static
+	beq UI_LED_STATE_DARKING,ui_led_off_static
+	beq UI_LED_STATE_BLINK_STOP,ui_led_off_static
+	beq UI_LED_STATE_BLINK_DARKING,ui_led_blink_state_darking
+ui_led_blink_state_lighting:
+	call ui_led_on_static
+	add regb,LED_OFFSET_CB_LEDON,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	setarg UI_LED_STATE_BLINK_DARKING
+	istore 1,regb
+	add regb,LED_OFFSET_ON_TIME,regc
+	ifetch 2,regc
+	branch ui_led_blink_timer_start
+	
+
+ui_led_blink_state_darking:
+	call ui_led_off_static
+	add regb,LED_OFFSET_CB_LEDOFF,regc
+	call push_stack
+	ifetch 2,regc
+	call callback_func
+	call pop_stack
+	
+	add regb,LED_OFFSET_BLINK_COUNT,regc
+	ifetch 1,regc
+	beq LED_INFINITE_FLASH_NUM,ui_led_blink_infinite
+	increase -1,pdata
+	istore 1,regc
+	branch ui_led_blink_stop_global,blank		//End of flicker
+ui_led_blink_infinite:
+	setarg UI_LED_STATE_BLINK_LIGHTING
+	istore 1,regb
+	add regb,LED_OFFSET_OFF_TIME,regc
+	ifetch 2,regc
+ui_led_blink_timer_start:
+	add rega,ui_led_blink,queue
+	branch timer_init
+
+ui_led_stop_timer:
+	setarg 0
+	branch ui_led_blink_timer_start
+
+/***********************ui led function ending****************************/
+
+
+
+ui_timer_timeout:
+	setarg 0x1000
+	lshift16 pdata,pdata
+	iadd regb,regb
+	rtn
+	
+ui_timer_check:
+	bpatchx patch3e_4,mem_patch3e
+	arg 0,rega
+	fetcht 4,mem_ui_timer_last_btclk
+	copy clkn_bt,regb
+	copy regb,pdata
+	isub temp,null
+	ncall ui_timer_timeout,positive
+	//call ice_break
+ui_timer_check_loop:
+	copy regb,pdata
+	increase 160,temp    //320btclk = 100ms
+	increase 160,temp
+	isub temp,null
+	nbranch ui_timer_check_end,positive
+	increase 1,rega   //increase 1 every 100ms count
+	and rega,0x0f,pdata
+	nbranch ui_timer_check_loop,blank
+	arg 0,rega  //reset timer if it's longer than 1.5s between 2 checks
+	call ui_timer_check_send_evt
+ui_timer_init:
+	copy clkn_bt,pdata
+	store 4,mem_ui_timer_last_btclk
+	rtn
+ui_timer_check_end:
+	bpatchx patch3e_5,mem_patch3e
+	copy rega,pdata
+	rtn blank
+	increase -160,temp    //320btclk = 100ms
+	increase -160,temp
+	set0 28,temp
+	storet 4,mem_ui_timer_last_btclk
+ui_timer_check_send_evt:
+	branch app_evt_timer
+
+	
+
+//**********************************************************//
+//************UI Inter-Processor Communication*******//
+//**********************************************************//
+ui_ipc_get_lock:
+	jam 1,mem_ipc_lock_bt
+ui_ipc_get_lock_wait:
+	fetch 1,mem_ipc_lock_c51
+	nbranch ui_ipc_get_lock_wait,blank
+	rtn
+	
+ui_ipc_put_lock:
+	jam 0,mem_ipc_lock_bt
+	rtn
+	
+
+	
+ui_ipc_send_event:
+	bpatchx patch3e_6,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp
+	arg mem_ipc_fifo_bt2c51,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega
+	branch ui_ipc_put_lock
+
+ui_ipc_send_cmd:
+	bpatchx patch3e_7,mem_patch3e
+	call ui_ipc_get_lock
+	copy rega,pdata
+	store 4,mem_ipc_rega_temp	
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_in
+	fetch 4,mem_ipc_rega_temp
+	copy pdata,rega	
+	branch ui_ipc_put_lock
+
+ui_ipc_clean_all_fifo:
+	setarg 0
+	store UTIL_FIFO_LEN,mem_ipc_fifo_c512bt
+	store UTIL_FIFO_LEN,mem_ipc_fifo_bt2c51
+	rtn
+	
+check_51cmd:
+	bpatchx patch3f_0,mem_patch3f
+	fetch 1,mem_hci_cmd
+	nrtn blank
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_is_empty
+	rtn blank
+	jam IPC_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	call check_51cmd_once
+	fetch 1,mem_ipc_skip_continue_proc
+	branch check_51cmd,blank
+	rtn
+
+check_51cmd_once:
+	call ui_ipc_get_lock
+	arg mem_ipc_fifo_c512bt,rega
+	call fifo_out
+	copy pdata,temp
+	call ui_ipc_put_lock
+	bpatchx patch3f_1,mem_patch3f
+	copy temp,pdata
+	rtn blank
+ 	beq BT_CMD_START_DISCOVERY,check_51cmd_start_discovery
+  	beq BT_CMD_STOP_DISCOVERY,check_51cmd_stop_discovery
+  	beq BT_CMD_RECONNECT,check_51cmd_reconnect
+  	beq BT_CMD_ENTER_SNIFF_SUBRATING,check_51cmd_enter_sniff_subrating
+  	beq BT_CMD_EXIT_SNIFF_SUBRATING,check_51cmd_exit_sniff_subrating
+  	beq BT_CMD_SNIFF_TEST,check_51cmd_sniff_test
+	beq BT_CMD_START_INQUIRY,check_51cmd_inq
+	beq BT_CMD_STOP_INQUIRY,check_51cmd_stop_inq
+	beq BT_CMD_START_ADV,check_51cmd_adv
+	beq BT_CMD_STOP_ADV,check_51cmd_stop_adv
+	beq BT_CMD_START_DIRECT_ADV,check_51cmd_direct_adv
+	beq BT_CMD_STOP_DIRECT_ADV,check_51cmd_stop_direct_adv
+	beq BT_CMD_LED_OFF,check_51cmd_led_off
+	beq BT_CMD_LED_ON,check_51cmd_led_on
+	beq BT_CMD_LED_BLINK,check_51cmd_led_start_blink
+	beq BT_CMD_LE_START_CONN,check_51cmd_le_start_con
+	beq BT_CMD_LE_START_SCAN,check_51cmd_start_scan
+	beq BT_CMD_LE_STOP_SCAN,check_51cmd_stop_scan
+	beq BT_CMD_ENTER_HIBERNATE,check_51cmd_hibernate
+	beq BT_CMD_LE_SMP_SECURITY_REQUEST,check_51cmd_le_smp_sec_req
+	beq BT_CMD_BB_RECONN_CANCEL,check_51cmd_bb_reconn_cancel
+	//context related, process in context
+	store 1,mem_fifo_temp
+	bpatchx patch3f_2,mem_patch3f
+	call lmo_fifo_check
+	nbranch check_51cmd_restore,blank  //process this cmd next time while lmo fifo is full
+check_51cmd_once_continue:
+	fetch 1,mem_fifo_temp
+	bmark0 mark_context,check_51cmd_check_idle
+	beq BT_CMD_DISCONNECT,check_51cmd_disconnect
+  	beq BT_CMD_ENTER_SNIFF,cmd_in_sniff
+  	beq BT_CMD_EXIT_SNIFF,cmd_exit_sniff
+  	beq BT_CMD_SET_PIN_CODE,check_51cmd_pincode
+	beq BT_CMD_LE_DISCONNECT,check_51cmd_le_disconnect
+	beq BT_CMD_LE_UPDATE_CONN,check_51cmd_ble_update_connect_param
+	beq BT_CMD_ROLE_SWITCH,check_51cmd_role_switch
+	beq BT_CMD_STORE_RECONN_INFO_LE,eeprom_store_le_reconn_info
+	beq BT_CMD_STORE_RECONN_INFO_BT,eeprom_store_bd_reconn_info
+	beq BT_CMD_DHKEY_NOT_ACCEPT,check_51cmd_dhkey_not_accept
+	beq BT_CMD_STORE_RECONN_INFO,check_51cmd_store_reconn_info
+	rtn
+
+check_51cmd_check_idle:
+	store 1,mem_fifo_temp
+  	call context_check_idle
+	branch check_51cmd_restore,zero
+	call context_search_plap
+	nrtn zero
+check_51cmd_restore:
+	jam IPC_SKIP_CONTINUE_PROCESS,mem_ipc_skip_continue_proc
+	branch ui_ipc_send_cmd
+  
+ /******************** 51COMMAND*********************/
+
+//command opcode 0x01	
+check_51cmd_start_discovery:
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	jam 3,mem_scan_mode
+	rtn
+
+
+//command opcode 0x02	
+check_51cmd_stop_discovery:
+	jam 0,mem_hid_handshake_timer_count
+	jam 0,mem_scan_mode
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BT_DISCOVERY
+	store 2,mem_ui_state_map
+	rtn	
+
+
+//command opcode 0x03	
+check_51cmd_reconnect:	
+	jam hci_cmd_create_conn,mem_hci_cmd
+	rtn	
+
+
+//command opcode 0x04
+check_51cmd_disconnect:
+	jam LMP_DETACH,mem_lmo_opcode2
+	jam OTHER_END_TERMINATED,mem_disconn_reason_send
+	rtn
+
+	
+//command opcode 0x07
+check_51cmd_enter_sniff_subrating:
+	rtn
+
+
+//command opcode 0x08
+check_51cmd_exit_sniff_subrating:
+	rtn	
+
+
+//command opcode 0x09
+check_51cmd_sniff_test:
+	rtn	
+
+
+//command opcode 0x10
+check_51cmd_pincode:
+	jam pincode_state_pincode_ready,mem_pincode_state
+	branch cmd_pair
+
+
+//command opcode 0x11
+check_51cmd_inq:
+	rtn
+
+
+//command opcode 0x12
+check_51cmd_stop_inq:
+	rtn
+
+
+//command opcode 0x13
+check_51cmd_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x14
+check_51cmd_stop_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x15
+check_51cmd_direct_adv:
+	jam ON,mem_le_adv_enable
+	jam ADV_DIRECT_IND,mem_le_adv_type
+	fetch 2,mem_ui_state_map
+	set1 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	rtn
+
+
+//command opcode 0x16
+check_51cmd_stop_direct_adv:
+	fetch 2,mem_ui_state_map
+	set0 UI_STATE_BLE_ADV,pdata
+	store 2,mem_ui_state_map
+	jam OFF,mem_le_adv_enable
+	rtn
+
+
+//command opcode 0x17
+check_51cmd_le_disconnect:
+	setarg 20 // 100ms
+	store 2,mem_le_superto
+	store 2,mem_le_init_superto
+	branch le_send_terminate_ind_user_terminated
+
+
+//command opcode 0x18
+check_51cmd_ble_update_connect_param:
+	branch le_l2cap_tx_update_req
+
+
+//command opcode 19
+check_51cmd_led_off:
+	arg 0,rega
+	branch ui_led_off_global
+
+
+//command opcode 20
+check_51cmd_led_on:
+	arg 0,rega
+	branch ui_led_on_global
+
+
+//command opcode 21
+check_51cmd_led_start_blink:
+	arg 0,rega
+	branch ui_led_blink_start_global
+
+
+//command opcode 0x22
+check_51cmd_le_start_con:
+	jam ON,mem_le_scan_enable
+	jam hci_cmd_le_create_conn,mem_hci_cmd
+//	fetch 6,mem_app_peer_addr
+//	store 6,mem_le_conn_peer_addr
+	rtn
+
+
+//command opcode 0x23
+check_51cmd_start_scan:
+	jam ON,mem_le_scan_enable
+	rtn
+
+
+//command opcode 0x24
+check_51cmd_stop_scan:
+	jam OFF,mem_le_scan_enable
+	jam 0,mem_hci_cmd
+	rtn
+
+
+//command opcode 0x25
+check_51cmd_hibernate:
+	fetch 2,mem_cb_before_hibernate
+	call callback_func
+	fetch 1,mem_ui_button_gpio
+	beq UI_BUTTON_GPIO_DISABLE,check_51cmd_hibernate_btn_disabled
+	copy pdata,temp
+	call gpio_config_input
+check_51cmd_hibernate_btn_disabled:
+	call ui_ipc_clean_all_fifo
+	branch lpm_hibernate	
+
+
+//command opcode 0x27
+check_51cmd_le_smp_sec_req:
+	branch le_send_smp_security_request
+
+
+//command opcode 0x29
+check_51cmd_role_switch:
+  	jam LMP_SLOT_OFFSET,mem_lmo_opcode2
+	set1 mark_switch_initiated,mark
+	nrtn master
+	jam SWITCH_FLAG_INIT,mem_switch_flag
+	jam LMP_SWITCH_REQ ,mem_lmo_opcode2
+	fetch 1,mem_connection_options
+	set0 CONNECTION_SWITCH,pdata
+	store 1,mem_connection_options
+	rtn
+
+
+//command opcode 0x30
+check_51cmd_bb_reconn_cancel:
+	force page_length_timer,queue
+	branch timer_stop
+
+
+//command opcode 0x33
+check_51cmd_dhkey_not_accept:
+	call tid_set_reply
+	jam LMP_DHKey_Check,mem_lmi_opcode2
+	branch parse_lmp_dhkey_check_reject	
+
+
+ui_check_paring_button:
+	fetch 1,mem_ui_state_map
+	rtnbit0 UI_STATE_BTN_DOWN
+	rtnbit0 UI_STATE_BT_RECONNECT
+	branch check_51cmd_bb_reconn_cancel
+
+
+
+///////////queue function////////////
+queue_init:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contw
+	setarg 0
+	istore 3,contw
+	rtn
+	
+//input:rega:the address of the data to which you want to input queue
+//output:if user is disable,mean queue no have space
+queue_push:
+	call disable_user
+	call queue_full
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase 1,temp
+	istoret 1,regb	//number add 
+	
+	ifetcht 1,pdata	//temp:each length
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_WRITE_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contw
+	copy rega,contr
+calc_queue_next_ptr:
+	call memcpy
+	call queue_get_size
+	pincrease -1
+	ifetcht 1,regb
+	increase 1,temp
+	iand temp,temp
+	istoret 1,regb
+	branch enable_user
+
+
+//input:rega:the address of the data to which you want to output queue
+//output:if user is disable,mean queue no have data
+queue_pop:
+	call disable_user
+	call queue_empty
+	rtn blank
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,regb
+	ifetcht 1,regb
+	increase -1,temp
+	istoret 1,regb
+	ifetcht 1,pdata		//each size
+	copy temp,loopcnt
+	add pdata,QUEUE_OFFSET_READ_PTR,regb
+	ifetch 1,regb
+	imul32 temp,pdata	//offset
+	iadd contr,contr
+	increase 1,contr
+	copy rega,contw
+	branch calc_queue_next_ptr
+
+
+//output:if blank is 1,mean queue is empty
+queue_empty:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_CURR_NUM,contr
+	ifetch 1,contr
+	rtn
+
+//output:if blank is 1,mean queue is full
+queue_full:
+	call queue_get_size
+	ifetcht 1,contr
+	isub temp,pdata
+	rtn
+
+//output:pdata is queue size
+queue_get_size:
+	fetch 2,mem_queue_ptr
+	add pdata,QUEUE_OFFSET_LENGTH,contr
+	ifetch 1,contr
+	rtn
+
+///////////queue function end////////////
+
+
+
+
Index: YJX_Only24g/main/program/utility.prog
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/utility.prog	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/program/utility.prog	(working copy)
@@ -0,0 +1,614 @@
+
+right_shift_n: //rshiftN pdata,pdata
+	sub loopcnt,0,null
+	rtn zero
+right_shift_n_loop: 
+	rshift pdata,pdata
+	loop right_shift_n_loop
+	rtn
+
+/* lshift. 0:1 byte; 1:2byte; 2:4byte; 3:8byte; 4:16byte*/
+left_shift_n:
+	force 1,pdata
+	sub loopcnt,0,null
+	rtn zero
+left_shift_n_loop:
+	lshift pdata,pdata
+	loop left_shift_n_loop
+	rtn
+push_stack:
+	deposit contw
+	store 2, mem_contw
+	storet 8,mem_temp
+	deposit timeup
+	store 4,mem_timeup
+	call push_stack_rega_b_c
+	deposit contr
+	store 2, mem_contr
+	rtn
+
+push_stack_rega_b_c:
+	deposit rega
+	store 4, mem_rega
+	deposit regb
+	store 4, mem_regb
+	deposit regc
+	store 3, mem_regc
+	rtn
+
+pop_stack:
+	fetcht 8,mem_temp
+	fetch 4,mem_timeup
+	iforce timeup
+	call pop_stack_rega_b_c
+	fetch 2, mem_contw
+	iforce contw
+	fetch 2, mem_contr
+	iforce contr
+	rtn
+
+pop_stack_rega_b_c:
+	fetch 4, mem_rega
+	iforce rega
+	fetch 4, mem_regb
+	iforce regb
+	fetch 3,mem_regc
+	iforce regc
+	rtn
+
+get_contw:
+	fetch 2,mem_contw
+	copy pdata,contw
+	rtn
+get_contr:
+	fetch 2,mem_contr
+	copy pdata,contr
+	rtn
+store_contw:
+	copy contw,pdata
+	store 2,mem_contw
+	rtn
+store_contr:
+	copy contr,pdata
+	store 2,mem_contr
+	rtn	
+	
+
+//
+save_cont_pointers:
+	copy contw,pdata
+	store 2,mem_hold_contw
+	copy contr,pdata
+	store 2,mem_hold_contr
+	rtn
+load_cont_pointers:
+	fetch 2,mem_hold_contw
+	copy pdata,contw
+	fetch 2,mem_hold_contr
+	copy pdata,contr
+	rtn
+
+memcpy96:
+	call memcpy32
+memcpy64:
+	call memcpy32
+	branch memcpy32
+memcpy12:
+	call memcpy8
+memcpy4:
+	ifetch 4,contr
+	istore 4,contw
+	rtn	
+memcpy8:
+	ifetch 8,contr
+	istore 8,contw
+	rtn	
+
+memcpy48:
+	call memcpy16
+memcpy32:
+	call memcpy8
+memcpy24:
+	call memcpy8
+memcpy16:
+	call memcpy8
+	branch memcpy8
+
+
+
+delay_10ms:
+	arg 10,loopcnt
+delay_ms_wait:
+	nop 12000
+	loop delay_ms_wait
+	rtn
+
+bn_zero:
+	force 3,loopcnt
+memset0:
+	force 0,pdata
+memset8:
+	istore   8,contw
+	loop   memset8
+	rtn
+
+memset0_8:
+	force 0,pdata
+	istore 8,contw
+	rtn
+memset0_4:
+	force 0,pdata
+	istore 4,contw
+	rtn	
+	
+clear_mem_256:
+	force 4,loopcnt
+	branch memset0 
+clear_mem_512:
+	force 8,loopcnt
+	branch memset0 
+
+clear_mem:
+	deposit loopcnt
+	rtn blank
+	setarg 0
+clear_mem_loop:
+	istore 1,contw
+	loop clear_mem_loop
+	rtn
+	
+
+clear_temp_block:
+	arg 32,loopcnt
+	arg mem_temp_block0,contw
+	branch clear_mem
+	
+xor_loop:
+	ifetch   4,regc
+	ifetcht 4,rega
+	ixor     temp,pdata
+	istore   4,contw	
+	increase 4,rega
+	increase 4,regc
+	loop  xor_loop
+	rtn
+	
+// 11 22 -> 22 11; 11 22 33 -> 33 22 11 
+// rega:data addr ;loopnct:length
+inverse_data:
+	bpatchx patch3f_3,mem_patch3f
+	copy loopcnt,pdata
+	sub pdata,1,null
+	rtn positive
+	iadd rega,regb	
+	increase -1,regb
+	rshift loopcnt,loopcnt
+inverse_loop:
+	ifetcht 1,rega
+	ifetch 1,regb
+	istore 1,rega
+	istoret 1,regb
+	increase -1,regb
+	increase 1,rega
+	loop inverse_loop
+	rtn
+
+
+memcpy_fast:
+	deposit loopcnt
+	rtn blank
+memcpy_fast_loop:
+	increase -8,loopcnt
+	call memcpy8,positive
+	rtn zero
+	branch memcpy_fast_loop,positive
+	increase 8,loopcnt
+memcpy_fast_loop_four:
+	increase -4,loopcnt
+	call memcpy4,positive
+	rtn zero
+	branch memcpy_fast_loop_four,positive
+	increase 4,loopcnt
+	branch memcpy
+ 
+memcpy:
+	deposit loopcnt
+	rtn blank
+memcpy_loop:
+	ifetch 1,contr
+	istore 1,contw
+	loop memcpy_loop
+	rtn
+
+timer_stop:
+	setarg 0
+timer_init:
+	rshift clkn_bt,temp
+	storet 4,mem_last_clkn
+	arg mem_timers,contw
+	iforce temp
+	lshift queue,pdata
+	iadd contw,contw
+	istoret 2,contw
+	bpatchx patch3f_4,mem_patch3f
+	rtn
+
+timer_check_timeout:
+	arg 0x800,timeup
+	lshift16 timeup,timeup
+	iadd timeup,pdata
+	rtn
+
+
+timer_reinit:
+	arg 0,queue
+timer_check:
+	bpatchx patch3f_5,mem_patch3f
+	fetcht 4,mem_last_clkn
+	rshift clkn_bt,pdata
+	store 4,mem_last_clkn	
+	isub temp,null
+	ncall timer_check_timeout,positive	
+	isub temp,timeup
+	copy timeup,temp
+	arg mem_timers,contr
+	copy contr,contw
+	arg 16,loopcnt
+timer_loop:
+	ifetch 2,contr
+	isub temp,pdata
+	branch timer_counting,positive
+	force 0,pdata
+timer_counting:
+	istore 2,contw
+	loop timer_loop	
+	arg mem_timers,contr
+	lshift queue,pdata
+	iadd contr,contr
+	ifetch 2,contr
+	rtn
+
+
+
+	/* pdata 28+16 bit add temp 26+16 bit, result in temp */
+clk_add:
+	iadd temp,temp
+	copy temp, loopcnt
+	setarg 3750
+	isub loopcnt,pdata
+	rtn positive
+	sub pdata,0,pdata
+	rshift16 temp,temp
+	increase 1,temp
+	lshift16 temp,temp
+	ior temp,temp
+	rtn
+
+clk_diff_rt:
+	call clk_diff
+	branch clk2rt
+
+/* pdata -temp -> pdata, all are 28+16 bits, set user if negative */
+clk_diff:
+	disable user
+	isub temp,pdata
+	branch clk_diff_pos,positive
+	enable user
+	sub pdata,0,pdata
+clk_diff_pos:
+	rtnbit0 15
+	arg -61786,temp
+	iadd temp,pdata
+	set0 64,pdata
+	rtn
+
+clk2rt:
+	iforce contr
+	rshift16 pdata,pdata
+	arg 3750,temp
+	imul32 temp,pdata
+	iadd contr,pdata
+	rtn
+
+	/* pdata = clks in, temp = lpo out */
+clk2lpo:
+	lshift8 pdata,pdata
+	lshift4 pdata,pdata
+	fetcht 3,mem_clks_per_lpo
+	idiv temp
+	call wait_div_end
+	quotient temp
+	rtn
+
+	/* rt clk -> bt+rt clk */
+clk2bt:
+	arg 3750,temp
+	idiv temp
+	call wait_div_end
+	quotient pdata
+	lshift16 pdata,pdata
+	remainder temp
+	ior temp,temp
+	rtn
+
+
+
+//input:contru 
+//output:temp
+//used register: temp regc
+string2dec_from_uart:
+	arg 0,temp
+string2dec_from_uart_done:
+         copy temp,regc
+	ifetch 1,contru
+	call uchar2dialog	
+	copy regc,temp
+	call swap
+	arg 10,regb
+	imul32 regb,pdata
+	iadd temp,pdata
+	copy pdata,temp
+	loop string2dec_from_uart_done
+	rtn
+	
+
+
+uchar2dialog:
+	arg 0x3a,temp
+	isub temp,null
+	nbranch uchar2dialog_number,positive
+	arg 0x61,temp
+	isub temp,null
+	branch uchar2dialog_a2f,positive
+	arg 0x37,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_number:
+	arg 0x30,temp
+	isub temp,pdata
+	rtn
+uchar2dialog_a2f:
+	arg 0x57,temp
+	isub temp,pdata
+	rtn
+
+pn9:
+	copy temp,alarm
+	setarg 0x1ff
+	force 0,regb
+pn9_loop:	
+	rshift3 pdata,rega
+	rshift rega,rega
+	ixor rega,rega
+	isolate1 0,rega
+	setflag true,9,pdata
+	rshift temp,temp
+	isolate1 0,pdata
+	setflag true,7,temp
+	rshift pdata,pdata
+	increase 1,regb
+	compare 0,regb,0x7
+	nbranch pn9_loop,true
+	istoret 1,contw
+	loop pn9_loop
+	copy alarm,temp
+	rtn
+
+
+wait_div_end:	
+	rtn modone
+	branch wait_div_end
+
+
+
+//input:
+//	count:loopcnt str1:rega str2:regb
+//output:
+//	same:set falg true ,diff set falg false
+// using:
+//	reg:temp null flag:zero
+compare_loop:
+string_compare:
+	ifetch 1,rega
+	ifetcht 1,regb
+	isub temp,null
+	nrtn zero
+	increase 1,rega
+	increase 1,regb
+	loop string_compare
+	force 0,null
+	rtn
+
+	/* pdata = temp if pdata > temp */
+ceiling:
+	isub temp,null
+	nrtn positive
+	deposit temp
+	rtn
+	
+swap:
+	iadd temp,pdata
+	isub temp,temp
+	isub temp,pdata
+	rtn
+
+clean_mem:
+	arg 0x200,loopcnt
+	arg 0x4000,contw
+	branch memset0				// clear xram at boot
+
+	//cb function ptr in pdata
+callback_func:
+	rtn blank
+	copy pdata,pc	//rtn through cb functon.
+	//branch assert
+
+wait_uarttx:
+	hfetch 2,core_uart_txitems
+	nbranch wait_uarttx,blank
+	rtn
+
+ice_break:
+	jam 0x1,core_ice_ctrl
+	rtn
+
+ice_setbp:
+	hstore 2,core_ice_break0
+	hfetch 1,core_ice_ctrl
+	set1 4,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+ice_setbp2:
+	hstore 2,core_ice_break1
+	hfetch 1,core_ice_ctrl
+	set1 6,pdata
+	hstore 1,core_ice_ctrl
+	rtn
+	
+ice_set_write_bp:
+	hstore 2,core_ice_break0
+	jam 0x30,core_ice_ctrl
+	rtn
+	
+
+
+test_enable_white:
+	hfetch 1,core_config
+	set0 whiteoff_bit,pdata
+	hstore 1,core_config			/* whitening on */
+	rtn
+
+check_uart_tx_buff:
+	hfetch 2,core_uart_txitems
+	arg UART_AIR_CONTROL_THRESHOLD,temp
+pdata_sub_temp:
+	isub temp,null
+	rtn
+
+	//fuction fifo_in
+	//rega pointer to fifo memory , *(rega+len) is the end of fifo
+	//mem_fifo_temp data into fifo
+	//assert if fifo was full
+fifo_in:
+	bpatchx patch3f_6,mem_patch3f
+	ifetcht UTIL_FIFO_LEN,rega
+	and temp,0xff,pdata
+	nbranch fifo_in_push,blank
+	rshift8 temp,pdata
+	istore UTIL_FIFO_LEN,rega
+fifo_in_push:
+	increase UTIL_FIFO_LEN+UTIL_FIFO_OFFSET,rega
+	ifetch 1,rega
+	nbranch assert,blank //fifo full
+	fetch 1,mem_fifo_temp
+	istore 1,rega
+	rtn
+	
+	//fuction fifo_out
+	//rega pointer to fifo memory
+	//pdata  data from fifo, blank mains fifo empty
+fifo_out:
+	bpatchx patch3f_7,mem_patch3f
+	arg UTIL_FIFO_LEN,loopcnt
+	ifetch UTIL_FIFO_LEN,rega
+	rtn blank
+fifo_out_loop:
+	ifetch 1,rega
+	nbranch fifo_out_end,blank
+	increase 1,rega
+	loop fifo_out_loop
+	branch assert
+fifo_out_end:
+	arg 0,temp
+	istoret 1,rega
+	rtn
+
+	//fuction fifo_is_empty
+	//rega pointer to fifo memory
+	//blank--- fifo is empty
+fifo_is_empty:
+	ifetch UTIL_FIFO_LEN,rega
+	rtn
+
+	//fuction fifo_is_full
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT full
+fifo_is_full:
+	ifetch 1,rega
+	rtn
+	//rega pointer to fifo memory
+	//blank--- fifo is NOT near full
+fifo_is_near_full:
+	ifetch 2,rega
+	rtn
+
+	//rega pointer to fifo memory
+	//count output via pdata
+fifo_content_count:
+	arg 0,temp
+fifo_content_count_loop:
+	fetch 1,contr
+	loop fifo_content_count_loop,blank
+	increase 1,temp
+	loop fifo_content_count_loop
+	copy temp,pdata
+	rtn
+	
+not_greater_than:
+	isub temp,null
+	nrtn positive
+	copy temp,pdata
+	rtn
+
+
+disable_positive:
+	force -1,null
+	rtn
+enable_positive:
+disable_zero:
+	force 1,null
+	rtn
+enable_zero:
+	force 0,null
+	rtn
+
+enable_user:
+	enable user
+	rtn
+	
+disable_user:
+	disable user
+	rtn
+	
+enable_user2:
+	enable user2
+	rtn
+	
+disable_user2:
+	disable user2
+	rtn
+
+disable_blank:
+	setarg 1
+	rtn
+
+enable_blank:
+	setarg 0
+	rtn
+
+
+reverse_byte:
+	copy loopcnt,pdata
+	rtn blank
+	copy contr,pdata
+	iadd loopcnt,pdata
+	increase -1,pdata
+	copy pdata,contr	
+reverse_loop:
+	ifetch 1,contr
+	increase -2,contr
+	istore 1,contw
+	loop reverse_loop
+	rtn
+
+
Index: YJX_Only24g/main/sched/109x.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/109x.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/109x.dat	(working copy)
@@ -0,0 +1,39 @@
+
+mem_lpm_config:8f 1c ca	#4khz
+mem_lpm_xtalcnt:00 0a 0b ef 07
+mem_lpm_hibernate_switch:00
+mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
+#mem_fcomp_mul:02
+#mem_fcomp_div:18#xtal 16M   		#24#xtal 24M
+mem_iscan_window:12 00
+mem_iscan_interval:00 02
+mem_pscan_window:12 00
+mem_pscan_interval:00 02
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 40
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+mem_seqi:00
+
+#write to null
+mem_24g_head_ptr:00 84
+
+
+mem_tx_power:00#0dbm
+mem_rf_init_data_new:
+# tx power
+4b ba
+55 d0
+56 e0
+57 88
+58 6c
+59 10
+#xtal 16M
+68 e6
+ff
+mem_rf_init_ptr:mem_rf_init_data_new
+
+
+
Index: YJX_Only24g/main/sched/AntiLost.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/AntiLost.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/AntiLost.dat	(working copy)
@@ -0,0 +1,174 @@
+mem_antl_queue_width:0a 08
+mem_queue_ptr:mem_antl_queue_width
+mem_antl_lpm_interval:14 00
+mem_antl_adv_interval:10 00
+mem_antl_slow_adv_lpm_interval:a0 00
+mem_antl_slow_adv_adv_interval:3b 06
+
+
+#mem_le_notify_handle:0a 00
+mem_device_option:0f
+mem_le_adv_channel_map:07 
+#mem_ssp_enable:01
+
+mem_ui_button_gpio:08
+mem_ui_button_timeout:1e
+mem_ui_button_last_state:01
+
+mem_antl_fast_adv_timeout:64 00
+mem_antl_le_sleep_timeout:b0 04
+
+mem_power_param_ptr:mem_antl_power_param
+mem_antl_power_off_timeout:0f 0c
+mem_ui_led_struct_num:02
+mem_ui_led_struct_ptr:mem_antl_led_style
+mem_antl_led_gpio:1b
+mem_antl_buzzer_gpio:83
+
+
+mem_antl_fast_adv_led_style:01 ff 1b 32 00 f0 00
+mem_antl_slow_adv_led_style:01 ff 1b 32 00 4e 0c
+mem_antl_power_starting_led_style:01 03 1b 96 00 96 00
+mem_antl_power_starting_buzzer_style:01 03 83 96 00 96 00
+mem_antl_power_off_led_style:01 01 1b 80 0c 00 00
+mem_antl_power_off_buzzer_style:01 01 83 80 0c 00 00
+mem_antl_alert_led_stlye:01 ff 1b 32 00 0e 06
+mem_antl_alert_buzzer_stlye:01 ff 83 32 00 0e 06
+mem_antl_key_led_style:01 01             1b 32 00 32 00
+mem_antl_key_buzzer_style:01 01              83 32 00 32 00
+
+
+
+#mem_le_pres:02 03 00 01 10 02 01
+mem_le_pres_auth:01
+mem_le_pres:02 03 00 05 10 02 03
+mem_le_transmit_window:50
+mem_rx_window_sniff_inc:00 40
+mem_le_local_mtu:17
+
+
+mem_le_lap:0a 89 73 70 b4 c1
+mem_le_name_len:
+#with 5 spaces
+'TrackerPA     
+
+mem_le_adv_data_len:1e
+mem_le_adv_data:
+#appearance
+03 19 c1 03
+#flags
+02 01 05
+#tx power level
+02 0a 00
+#complete uuid
+03 03 f0 ff
+#complete local name
+#with 5 spaces
+'\09TrackerPA     
+mem_le_scan_data_len:10
+mem_le_scan_data:
+#with 5 spaces
+'\09TrackerPA     
+
+#mem_adv_lap_ptr:mem_le_adv_data+2
+
+
+mem_keyscan_ptr:mem_antl_key_num
+mem_lpm_mode:01
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+
+mem_interval_increment:04 00
+mem_antl_le_interval_min:
+18 00 #min interval
+20 00 #max interval
+10 00 #latency
+58 02 #timeout
+mem_antl_le_unnormal_interval_min:
+10 01 #min interval
+90 01 #max interval
+00 00 #latency
+58 02 #timeout
+
+mem_antl_led_num:01
+mem_antl_led_gpio_map:
+1b
+ff
+ff
+ff
+
+
+mem_antl_key_num:01
+mem_antl_key_conf0:
+#0
+08
+#1
+ff
+#2
+ff
+#3
+ff
+mem_antl_key0_press:
+06
+0a 00
+5a 6b #header
+00    #opcode(from 01 to fe) #6th byte
+00 00 #data length
+00    #sum
+#key0release for doubleclick
+mem_antl_key0_release:
+07 #0th byte
+0a 00
+5a 6b #header
+00    #opcode(from 01 to fe)for doubleclick #5th byte
+00 01 #data length 0x0001 (not 0x0100,byteswaped after loading)
+00   #8th byte
+00	 #sum
+mem_adc_config_flag:00
+mem_adc_timeout:b0 04
+mem_battery_calculate_set:
+2c 01
+fa 00
+00 00
+00 00
+
+#mem_empty_count:03
+mem_alarm_config:01
+mem_alarm_config_notfy_cnt:01
+
+#beep
+mem_buzzer_pwm_conf:
+03	#pwm gpio
+04	#pwm channel
+a0	#three  byte frequency
+0f
+00
+32 #duty cycle (by percent %)
+
+mem_ui_le_uuid_table:mem_AntiLost_le_att_list
+#attribute list: handle 2bytes  uuid 2bytes  length 1bytes  attribute Nbytes
+mem_AntiLost_le_att_list:
+#Primary service GAP ------
+01 00  02 00 28 02 00 18
+#Device name
+02 00 02 03 28 01 0a
+03 00 02 00 2a 04 31 32 33 34
+#Appearance
+04 00 02 03 28 01 02
+05 00 02 01 2a 02 c8 00 #3c2=hid mouse
+#Peripheral Preferred Connection Parameters
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 08 00 20 00 10 00 58 02 # interval 6ms, latency 100, timeout 600
+#Primary service yichip transmit ------
+08 00 02 00 28 02 f0 ff
+
+09 00 02 03 28 01 12
+0a 00 02 f1 ff 08 00 00 00 00 00 00 00 00
+0b 00 02 02 29 02 00 00
+
+0c 00 02 03 28 01 08
+0d 00 02 f2 ff 08 00 00 00 00 00 00 00 00
+#End of Attribute list
+00 00
+
+
Index: YJX_Only24g/main/sched/DM_module.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/DM_module.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/DM_module.dat	(working copy)
@@ -0,0 +1,435 @@
+
+mem_device_option:0a
+mem_ui_profile_supported:40
+mem_app_connection_options:13
+
+mem_features:
+ff
+ff
+8f
+f8      #fe--EDR  F8--BR
+9b      #AFHclose 83
+9d
+59
+83
+
+##############ADC CONFIG##############
+mem_module_read_vdd_count:01
+mem_module_read_vdd_flag:01
+#####################################
+
+##############NVRAM CONFIG##############
+mem_nv_data_ptr:mem_module_nv_data
+mem_nv_data_number:05
+#####################################
+
+##############SPP CONFIG##############
+mem_credit_flag:00
+mem_rfcomm_max_frame_size:7f 00
+mem_rfcomm_credit_init_data:07
+#####################################
+
+##############SSP CONFIG##############
+mem_sp_iocap_local:03 00 04
+mem_ssp_enable:01
+mem_pin_length:04  30 30 30 30 30
+#####################################
+
+##############UART CONFIG##############
+mem_baud:D0 00
+mem_module_uart_rx_buffer:00 1c
+mem_module_uart_rx_buffer_end:ff 1f
+mem_module_uart_tx_buffer:00 4c
+mem_module_uart_tx_buffer_end:ef 4f
+#####################################
+
+
+
+##############BLUETOOTH CONFIG##############
+###commom###
+mem_soft_version_num:00 01
+mem_module_state:03
+mem_module_bluetooth_stauts_by_command:07
+mem_class:24 04 04
+
+mem_module_flag:00
+#bit0 MODULE_FLAG_UART_FLOW_CONTROL
+#bit1 MODULE_FLAG_BLE_SEND_MTU23
+#bit2 MODULE_FLAG_BLE_DATA_ENCRYPT
+
+mem_ui_button_gpio:ff
+mem_lpm_mode:01
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult_timeout:02
+
+mem_module_wake_up_gpio:1b
+
+###3.0###
+mem_scan_mode:00
+mem_module_spp_lpm_mult:28
+mem_lap:77 1a 21 31 10 3a
+mem_local_name_length:
+'YichipFPGA
+
+###3.0 sinff param###
+mem_sniff_param_interval:20 00
+mem_sniff_param_attempt:01
+mem_sniff_param_timeout:00
+
+
+###ble###
+mem_le_pairing_handle:2a 00
+mem_le_configuration:08
+
+mem_le_secure_connect_enable:00
+mem_le_adv_channel_map:07
+mem_le_pairing_mode:01
+
+mem_module_data_write_handle:2d 00
+mem_module_data_write_handle2:2f 00
+
+
+mem_le_adv_enable:00
+mem_le_adv_interval:f0 00
+mem_module_le_lpm_mult:05
+mem_le_lap:2a 31 00 33 02 3a
+mem_le_name_len:
+'Yichip 1021s Mou
+
+mem_le_adv_data_len:03
+mem_le_adv_data:
+02 01 0e
+
+mem_le_scan_data_len:0e
+
+mem_le_scan_data:# 1 byte length + 1 byte type + N bytes data
+'\09Yichip 1021s Mou
+
+mem_le_pres:02 03 00 05 10 02 03
+
+mem_le_interval_min:
+08 00 #min interval
+10 00 #max interval
+00 00 #latency
+2c 01 #timeout
+
+
+mem_le_local_mtu:b5
+mem_le_remote_mtu:17
+
+
+#####################################
+
+
+mem_eir_enable:01
+mem_all_uuid_16bits: 
+05
+03#Type: Complete list of 16-bit UUIDs
+0012 0001 0100 0111 0300 
+
+mem_all_uuid_128bits:
+00
+
+
+mem_ui_uuid_table:mem_module_uuid_list
+
+mem_module_uuid_list:
+03
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+52
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+06
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03
+11
+01
+00
+03
+01
+00
+00
+01
+00
+03
+36
+00
+46
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+02
+0a
+00
+00
+00
+00
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+01
+00
+25
+0a
+53
+50
+50
+20
+73
+6c
+61
+76
+65
+00
+00
+00
+01
+00
+
+
+mem_ui_le_uuid_table:mem_module_le_att_list
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_module_le_att_list:
+#Primary service GAP ------
+01 00 02 00 28 02 00 18
+
+
+#Appearance
+02 00 02 03 28 01 02
+03 00 02 01 2a 02 c8 00 #3c2=hid mouse
+
+#Device name
+04 00 02 03 28 01 0a
+05 00 02 00 2a 14 41 73 74 20 4c 45 20 4d 6f 75 73 65 20 20 20 20 20 20 20 20
+
+
+#Peripheral Preferred Connection Parameters
+06 00 02 03 28 01 02
+07 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+
+#privcy flag
+08 00 02 03 28 01 02
+09 00 02 02 2a 01 01
+
+#reconnecting addr 
+0a 00 02 03 28 01 08
+0b 00 02 03 2a 06 00 00 00 00 00 00
+
+#Primary service GATT ------
+0c 00 02 00 28 02 01 18
+
+#Service changed
+0d 00 02 03 28 01 20
+0e 00 02 05 2a 00
+#Client Characteristic Configuration
+0f 00 02 02 29 02 00 00
+
+#Primary service TX power ------
+10 00 02 00 28 02 04 18
+#Characteristic Tx power level
+11 00 02 03 28 01 16
+12 00 02 07 2a 01 00
+13 00 02 02 29 02 00 00
+
+#Primary service Battery ------
+14 00 02 00 28 02 0f 18
+#Characteristic Battery level
+15 00 02 03 28 01 12
+16 00 02 19 2a 01 38
+
+#Primary service device infomation
+17 00 02 00 28 02 0a 18
+#Characteristic system id
+18 00 02 03 28 01 02
+19 00 02 23 2a 03 00 00 00
+
+#Characteristic manufactor name
+1a 00 02 03 28 01 02
+1b 00 02 29 2a 08 46 6c 61 67 74 72 69 70
+
+#Characteristic module number
+1c 00 02 03 28 01 02
+1d 00 02 24 2a 06 79 69 63 68 69 70
+
+#Characteristic serial number
+1e 00 02 03 28 01 02
+1f 00 02 25 2a 04 63 6f 6d 33
+
+#Characteristic firmware version
+20 00 02 03 28 01 02
+21 00 02 26 2a 03 31 2e 30
+
+#Characteristic software version
+22 00 02 03 28 01 02
+23 00 02 28 2a 03 31 2e 30
+
+#Characteristic hardware version
+24 00 02 03 28 01 02
+25 00 02 2a 2a 03 31 2e 30
+
+#Characteristic regulatory version
+26 00 02 03 28 01 02
+27 00 02 25 2a 04 63 6f 6d 33
+
+#Primary service yichip transmit ------
+28 00 02 00 28 10 55 e4 05 d2 af 9f a9 8f e5 4a 7d fe 43 53 53 49
+#Characteristic tx--notify read
+29 00 02 03 28 01 12
+2a 00 10 16 96 24 47 C6 23 61 BA D9 4B 4D 1E 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+2b 00 02 02 29 02 00 00
+
+#Characteristic rx--write
+2c 00 02 03 28 01 08
+2d 00 10 b3 9b 72 34 be ec d4 a8 f4 43 41 88 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#Characteristic rx-- write without Response
+2e 00 02 03 28 01 04
+2f 00 10 fe 69 ca 9a 56 19 f6 ab 02 4d aa 6d 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#Characteristic rx tx --read write notify
+30 00 02 03 28 01 1a
+31 0010 18 03 A6 28 5E D8 EC 91 1C 48 A3 AC 43 53 53 49 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+32 00 02 02 29 02 00 00
+
+#End of Attribute list
+00 00
+
+
Index: YJX_Only24g/main/sched/car.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/car.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/car.dat	(working copy)
@@ -0,0 +1,176 @@
+mem_device_option:0e
+mem_le_adv_channel_map:07 
+mem_le_adv_enable:00
+
+
+mem_spi_ncs_gpio:ff
+
+mem_le_pres_auth:01
+mem_le_local_mtu:17
+mem_le_adv_interval:60 01 
+
+
+
+mem_le_lap:56 78 01 98 07 2b
+mem_le_name_len:
+'YC-CAR-aa
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+17 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 02 01 05 03 02 ff f0
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+1e 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+
+
+mem_car_le_att_list:
+
+#Primary service: GATT
+01 00 02 00 28 02 01 18
+#Characteristic: Service changed
+02 00 02 03 28 01 20
+03 00 02 05 2a 01 00
+#Client Characteristic Configuration
+04 00 02 02 29 02 00 00
+
+#Primary Service: GAP
+05 00 02 00 28 02 00 18 
+#Characteristic: Device Name
+06 00 02 03 28 01 02
+07 00 02 00 2a 11 55 43 48 4f 4e 20 30 31 20 20 20 20 20 20 20 20 20
+#Characteristic: Appearance
+08 00 02 03 28 01 02 
+09 00 02 01 2a 02 c8 00 
+#Characteristic: Peripheral Preferred Connection Parameters
+0a 00 02 03 28 01 02
+0b 00 02 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary Service: Device Information
+0c 00 02 00 28 02 0a 18 
+#Characteristic: pnp id
+0d 00 02 03 28 01 02
+0e 00 02 50 2a 07 02 8a 24 66 82 01 00
+
+#Primary Service:Car
+0f 00 02 00 28 02 f0 ff
+#Characteristic: Notify/Read UUID
+10 00 02 03 28 01 12
+11 00 02 f1 ff 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+12 00 02 02 29 02 00 00
+#Characteristic: Write UUID
+13 00 02 03 28 01 08
+14 00 02 f2 ff 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+
+
+mem_ui_le_uuid_table:mem_car_le_att_list
+
+mem_lpm_mode:01
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+mem_car_hard_soft_switch:00
+
+mem_power_param_ptr:mem_car_soft_power
+mem_car_power_off_timeout:0c 0c
+
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:14
+mem_ui_button_last_state:01
+
+
+mem_ui_led_struct_ptr:mem_car_style1_led_type
+mem_ui_led_struct_num:02
+
+#style:01
+mem_car_style1_blink_count:ff
+mem_car_style1_struct_led_gpio:02
+mem_car_style1_on_time:96 02
+mem_car_style1_off_time:3a 07
+
+#style:02
+mem_car_style2_blink_count:ff
+mem_car_style2_struct_led_gpio:ff
+mem_car_style2_on_time:40 01
+mem_car_style2_off_time:40 01
+
+
+mem_car_led_num:0a
+mem_car_led_map:
+02
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+
+mem_car_queue_each_size:14 06
+
+mem_queue_ptr:mem_car_queue_each_size
+
+mem_car_config_pairing_led_conn_status:00
+mem_car_config_soft_switch_enable:00
+mem_car_config_pairing_led_gpio:ff
+mem_car_config_low_voltage_led_gpio:07
+mem_car_config_soft_switch_gpio:ff
+mem_car_config_low_voltage_percent:14
+mem_car_config_bat_notify_enable:01
+mem_car_config_device_select:03
+mem_car_config_ir_enable:01
+mem_car_config_motor_layout:03
+mem_car_config_ir_rx_gpio:06
+mem_car_config_led_num:08
+mem_car_config_blood_led_gpio:08 09 0a 0b 0c 0d 0e 0f
+
+
+mem_motor1_speed:0a
+mem_motor2_speed:0a
+mem_motor3_speed:0a
+mem_motor1_pwm_set:04 14 00 00 e8 03 00 00
+mem_motor2_pwm_set:05 15 00 01 e8 03 00 00
+mem_motor3_pwm_set:16 1b 00 02 e8 03 00 00
+
+mem_car_notify_vdd_count:14
+mem_notify_bat_packet:07 11 00 5a 6b 01 00 01 00 00
+
+mem_vdd_calculate_set:e0 01 90 01 9a 01 00 00	#full_vol;	empty_vol;	low_vol;	now_vol
+
+mem_ir_notify_data:08 11 00 5a 6b 06 00 02 00 00 00
+
+mem_adc_config_flag:01
+
+mem_car_info_request:0e 11 00 5a 6b 08 00 08 00 00 00 00 00 00 00 00 00
+
+mem_car_led_control_timer:05
+
+mem_car_24g_no_data_timeout_count:b8 0b
+
+#mem_car_led_control:01 01 01 01 01 01 01 01
+
+
+mem_tx_power:02
+mem_250k_freq_enable:00
+mem_24g_head_ptr:mem_24g_car_head_ptr
+mem_24g_car_head_ptr+394:4#offset_24g_pair_txpower
+mem_24g_car_head_ptr+146:20 15 10 05#offset_24g_paring_addr
+mem_24g_car_head_ptr+151:00 13 2c 42#offset_24g_ch_map1
+mem_24g_car_head_ptr+155:06 15 36 48#offset_24g_ch_map2
+mem_24g_car_head_ptr+159:0f 1a 3a 4c#offset_24g_ch_map3
+mem_24g_car_head_ptr+163:11 23 31 4d#offset_24g_ch_map4
+mem_24g_car_head_ptr+195:00#offset_24g_no_ack
+mem_24g_car_head_ptr+205:02#offset_24g_mode
+mem_24g_car_head_ptr+137:30 75#offset_24g_rx_window
+mem_24g_car_head_ptr+349:00#offset_24g_pair_mode auto pair
+mem_24g_car_head_ptr+314:38#offset_24g_hop_interval
+mem_24g_car_head_ptr+315:00#offset_24g_ackpayload_enable
+mem_24g_car_head_ptr+299:16 16 17 02#offset_24g_rx_addr
+
+
+
Index: YJX_Only24g/main/sched/fpga.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/fpga.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/fpga.dat	(working copy)
@@ -0,0 +1,36 @@
+
+
+
+4010:c0
+4011:0f
+4022:80
+4023:02
+
+mem_fcomp_mul:02
+mem_fcomp_div:24
+mem_iscan_window:12 00
+mem_iscan_interval:00 10
+mem_pscan_window:12 00
+mem_pscan_interval:00 08
+
+mem_inq_window:20 00
+mem_page_window:20 00
+mem_page_to:00 20
+mem_rx_window_init:80 04
+mem_rx_window_sniff:00 08
+
+
+mem_lpm_xtalcnt:00 0a 1b ef 07
+
+mem_lmp_version:08 0e 05 03 00
+
+mem_eeprom_base:30 ff
+mem_eeprom_block_size:80
+
+mem_context_number:01
+
+mem_rf_init_data:
+ff
+mem_rf_init_ptr:mem_rf_init_data
+
+
Index: YJX_Only24g/main/sched/gatt.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/gatt.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/gatt.dat	(working copy)
@@ -0,0 +1,86 @@
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip transmit ------
+12 00 00 28 02 f0 18
+#Characteristic tx--notify
+13 00 03 28 01 12
+14 00 f1 2a 14	# for Android device, ATT MTU is just 23 bytes, so payload is 20 bytes max
+'Test read initial va
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic rx--write
+16 00 03 28 01 0c
+17 00 f0 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+mem_le_adv_enable:01
+mem_le_adv_data_len:03
+
+mem_le_adv_data:02 01 05
+#flags NOTE: should be included here, or Android will not do connectgatt()
+
+
+mem_le_scan_data_len:17
+
+mem_le_scan_data:	# 1 byte length + 1 byte type + N bytes data
+
+#complete local name
+0e 09 
+#'Ast LE2Serial
+'YiChip BLE2IR
+
+#16bit uuid
+03 03 00 f0
+
+#Apperance
+03 19 40 02
+
+
+mem_le_adv_interval:00 08 
+mem_le_adv_direct_addr_type:01
+mem_le_adv_channel_map:07 
+
+mem_lap:77 11 00 33 00 00
+
Index: YJX_Only24g/main/sched/hci.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/hci.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/hci.dat	(working copy)
@@ -0,0 +1,8 @@
+#device parameters
+mem_lap:88 11 00 33 00 00
+mem_local_name_length:09
+mem_local_name:'Bluetooth
+mem_device_option:01
+mem_ssp_enable:01
+mem_lpm_mode:01
+mem_3v_adc_data:00 00
\ No newline at end of file
Index: YJX_Only24g/main/sched/hci_boot.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/hci_boot.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/hci_boot.dat	(working copy)
@@ -0,0 +1,11 @@
+
+mem_patch00:01
+mem_lpm_config:8f 10 ca
+mem_le_att_list+485:
+68 e4
+69 00
+6a 00
+6b 30
+ff
+mem_rf_init_ptr:mem_le_att_list+485
+
Index: YJX_Only24g/main/sched/le_prcp.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/le_prcp.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/le_prcp.dat	(working copy)
@@ -0,0 +1,80 @@
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip PRCP ------
+12 00 00 28 02 f1 18
+#Characteristic device tx
+13 00 03 28 01 12
+14 00 f3 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic device rx
+16 00 03 28 01 0e
+17 00 f2 2a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09
+'Yichip Temp
+ 03 19 40 02 02 01 05 02 0a 00 03 03 f1 18
+mem_le_scan_data_len:00
+#mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
+
+
+mem_le_adv_interval:20 00 
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:01 
+mem_le_adv_direct_addr_type:01
+mem_le_adv_direct_addr:00 00 00 00 00 00 
+mem_le_adv_channel_map:07 
+
+mem_le_notify_handle:14
+
+mem_lpm_mode:01
+#mem_lpm_ctrl:0f 0f 10 06
+mem_lpm_xtalcnt:0c 10 ca 1f
+mem_device_option:0d
+mem_fcomp_div:24
+mem_fcomp_mul:02
+mem_le_lap:45 67 78 89 90 56
+
Index: YJX_Only24g/main/sched/le_transmit_uuid.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/le_transmit_uuid.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/le_transmit_uuid.dat	(working copy)
@@ -0,0 +1,62 @@
+mem_device_option: 01
+
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+
+#Primary service Battery ------
+0f 00 00 28 02 0f 18
+#Characteristic Battery level
+10 00 03 28 01 12
+11 00 19 2a 01 38
+
+#Primary service yichip transmit ------
+12 00 00 28 02 f0 18
+#Characteristic tx--notify
+13 00 03 28 01 12
+14 00 f1 2a 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+#Client Characteristic Configuration
+15 00 02 29 02 00 00
+#Characteristic rx--write
+16 00 03 28 01 0c
+17 00 f0 2a 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09 52 74 72 69 76 72 5f 52 36 32 31 03 19 40 02 02 01 05 02 0a 00 03 03 00 f0
+mem_le_scan_data_len:00
+mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
Index: YJX_Only24g/main/sched/light.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/light.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/light.dat	(working copy)
@@ -0,0 +1,18 @@
+mem_patch3a:02
+mem_patch1f:20
+
+mem_light_pwm0:04
+mem_light_pwm1:05
+mem_light_pwm2:1b
+mem_light_pwm3:1c
+mem_light_pwm4:03
+mem_light_pwm5:08
+mem_ui_button_gpio:ff
+
+mem_light_cnum:14
+mem_light_pairing_timer:00 02
+mem_light_pairing_enable:01
+mem_le_scan_enable:01
+mem_le_scan_interval:50 00
+mem_le_scan_window:40 00
+
Index: YJX_Only24g/main/sched/mouse.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/mouse.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/mouse.dat	(working copy)
@@ -0,0 +1,942 @@
+mem_patch00:02
+#mem_patch03:00
+#mem_patch09:00
+#mem_patch0a:00
+#mem_patch0b:00
+mem_patch10:20
+mem_patch11:06
+mem_patch14:02
+mem_patch15:01
+mem_patch16:06
+mem_patch18:10
+mem_patch19:06
+mem_patch1c:48
+mem_patch1d:1c
+mem_patch27:02
+mem_patch28:08
+mem_patch29:04
+mem_patch2a:80
+mem_patch2c:88
+mem_patch2d:04
+mem_patch2e:80
+#mem_patch30:00
+mem_patch31:10
+#mem_patch39:00
+
+#debug
+#mem_patch31:11
+#mem_patch2f:40
+#mem_patch37:40
+#mem_patch3e:c0
+
+
+mem_device_option:42
+mem_lpm_mode:01
+mem_lpm_mult:20
+mem_lpm_mult_init:20
+mem_lpm_interval:00 00
+
+mem_mouse_function_enable:
+#bit0 MOUSE_ENABLE_USB
+#bit1 MOUSE_ENABLE_24G
+#bit2 MOUSE_ENABLE_SPI2
+#bit3 MOUSE_ENABLE_FLASH
+#bit4 MOUSE_ENABLE_EEPROM
+#bit5 MOUSE_ENABLE_STATUE_UP_THREE_LED
+#bit6 MOUSE_ENABLE_STATUE_UP
+#bit7 MOUSE_ENABLE_DPI_LED_BLINK
+92
+#bit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE
+#bit1 MOUSE_ENABLE_2K_EEPROM
+#bit2 MOUSE_ENABLE_ADC
+#bit3 MOUSE_ENABLE_INIT_DELAY
+#bit4 MOUSE_ENABLE_DISCOVERY_SENSOR_LED
+#bit5 MOUSE_ENABLE_AUTO_24G_PARING
+#bit6 MOUSE_ENABLE_WAKEUP_FROM_POWER
+#bit7 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
+e5
+
+mem_mouse_mode_config:
+#bit0 MOUSE_24G_ONLY
+#bit1 MOUSE_BLE_ONLY
+#bit2 MOUSE_BT_ONLY
+#bit3 MOUSE_BLE_24G_ENABLE
+#bit4 MOUSE_BT_BLE_24G_ENABLE
+08
+
+mem_app_connection_options:06
+mem_lap:26 10 19 20 18 10
+#mem_local_name_length:
+#'BT 3.0 Mouse
+#mem_sniff_param_interval:
+#0e 00 
+#01 00 ##mem_sniff_param_attempt:01 00
+#02##mem_sniff_param_timeout:00 00
+
+
+mem_unsniff2sniff_timer:0a
+mem_ssp_mode_flag:03
+mem_ssp_enable:01
+##mem_all_uuid_16bits:
+##06
+##03#Type: Complete list of 16-bit UUIDs
+##0011 0100 1002 1124  1200  0001
+mem_all_uuid_128bits:00
+mem_ptt:00
+
+
+mem_sp_iocap_local:03 00 04
+mem_ui_profile_supported:01
+mem_eir_enable:01
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+#appearance
+03 19 c2 03
+
+#flag 
+02 01 05
+
+#uuid
+03 03 12 18
+
+#name
+'\09BT 5.0 Mouse
+
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+#name
+'\09BT 5.0 Mouse
+
+
+#max 20bytes, att list data rom limits
+mem_le_name_len:
+'BT 5.0 Mouse
+
+
+mem_le_interval_min:
+07 00 #min interval
+07 00 #max interval
+20 00 #latency
+2c 01 #timeout
+
+
+mem_le_adv_interval:00 00
+mem_le_adv_type:00 
+mem_le_adv_own_addr_type:00
+mem_le_adv_channel_map:07 
+
+mem_le_lap:8e b1 3a 0e 8e ed
+
+mem_le_transmit_window:50
+
+mem_le_notify_handle:19 00
+mem_le_pairing_handle:22 00
+
+
+mem_discovery_timeout:08 07#3min
+mem_mouse_direct_timeout:50 00#8s
+mem_mouse_no_data_timeout:70 17 #10min
+
+
+mem_spi_ncs_gpio:ff
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:1e
+
+mem_device_number:02 #max device number
+mem_24g_device_number:02 #devie 2 :24g mode
+mem_adc_config_flag:01 #0 vinlpm 1 hvin 2 gpio
+mem_adc_channel:32 #gpio5
+mem_mouse_vdd_full_vol:a4 01#4.2v#96 00#1.5v
+18 01#mem_mouse_vdd_empty_vol#2.8v#:5a 00#0.9v
+40 01#mem_mouse_vdd_low_vol#3.7v#:64 00  #1v
+
+mem_config_sensor_type:00
+02 #mem_config_sensor_motion:01
+#1
+06 #mem_lbutton_gpio:16
+14 #mem_rbutton_gpio:14
+07 #mem_mbutton_gpio:15
+07 #mem_bk_button_gpio:ff
+14 #mem_fw_button_gpio:ff
+06 #mem_dpi_button_gpio:05
+#2
+#06 #mem_lbutton_gpio:16
+#14 #mem_rbutton_gpio:14
+#07 #mem_mbutton_gpio:15
+
+#06 #mem_bk_button_gpio:ff
+#07 #mem_fw_button_gpio:ff
+#14 #mem_dpi_button_gpio:05
+
+1c #mem_whee_a_data_gpio:0b
+1b #mem_whee_b_data_gpio:07
+ff #mem_whee_ta_data_gpio:ff
+ff #mem_whee_tb_data_gpio:ff
+ff #mem_config_bt_button_gpio:18
+ff #mem_config_select_device_button_gpio:ff
+ff #mem_config_paraing_led_gpio:ff
+ff #mem_config_low_voltage_alarm_gpio:01
+ff #mem_config_device1_led_gpio:01
+ff #mem_config_device2_led_gpio:04
+ff #mem_config_device3_led_gpio:ff
+ff #mem_sensor_data_gpio:0c
+ff #mem_dpi_led_gpio:01
+00 #mem_config_function_enable
+01 #mem_config_sensor_angle
+05 #mem_select_sensor_angle_gpio
+ff #mem_select_adc_gpio
+
+mem_eeprom_wp_gpio:14
+mem_sensor_reset_gpio:ff
+mem_sensor_squal_reg:07# 07:3205         	06:3610
+mem_usb_offline_check_gpio:ff
+#mem_wire_usb_interval:19 #128
+
+mem_config_function_enable:
+#bit0 ENABLE_BT_DISCOVERY_BY_GPIO_LED
+#bit1 ENABLE_MODE_LED
+#bit2 ENABLE_LOW_VOLTAGE_LED
+#bit3 ENABLE_DEVICE_LED
+#bit4 ENABLE_BT_BUTTON
+#bit5 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
+#bit6 ENABLE_SELECT_DEVICE_BY_SWITCH
+#bit7 ENABLE_SENSOR_MOTION_PIN
+00
+
+mem_mouse_dpi_seting:
+01##mem_320x_dpi_1
+02##mem_320x_dpi_2
+03##mem_320x_dpi_3
+04##mem_320x_dpi_4
+
+15##mem_3212_dpi_1#800
+1a##mem_3212_dpi_2#1000
+2a##mem_3212_dpi_3#1600
+3f##mem_3212_dpi_4#2400
+
+04##mem_3610_dpi_1
+05##mem_3610_dpi_2
+07##mem_3610_dpi_3
+08##mem_3610_dpi_4
+
+mem_mouse_3065xy_dpi_seting:
+00##mem_3065xy_dpi_1
+01##mem_3065xy_dpi_2
+02##mem_3065xy_dpi_3
+03##mem_3065xy_dpi_4
+
+mem_mouse_dpi_blink_count:00
+
+
+mem_ui_led_struct_ptr:mem_mouse_led_type
+mem_ui_led_struct_num:01
+
+
+mem_mouse_le_uuid_sup:
+25 00 02 03 28 01 12 
+26 00 02 4d 2a 07 00 00 00 00 00 00 00 
+27 00 02 02 29 02 00 00
+28 00 02 08 29 02 11 01
+29 00 02 03 28 01 0e 
+2a 00 02 4d 2a 07 00 00 00 00 00 00 00
+2b 00 02 08 29 02 11 02
+
+  
+#24g init
+mem_24g_mode:01#tx
+mem_24g_data_type:01        #mouse 1,kb 2
+mem_24g_max_retry:04#max tx retry
+mem_24g_no_ack:00#with ack
+mem_24g_rx_window:c0 12     #400us
+mem_24g_interval:19
+mem_24g_interval_min:19
+mem_24g_interval_max:1c
+mem_24g_ch_map1:00 13 2c 42
+mem_24g_ch_map2:06 15 36 48
+mem_24g_ch_map3:0f 1a 3a 4c
+mem_24g_ch_map4:11 23 31 4d
+mem_24g_pairing_sm:ff
+mem_24g_paring_addr:20 15 10 05
+#mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+mem_24g_enter_hibernate:80 ee 36 00 00 00 00 00 #300ms
+
+mem_device_flag:
+01
+ff
+ff ff ff ff ff ff
+#mem_device2_type:
+#34
+#11 22 33 44 55 66
+#mem_device3_type:
+#34
+#11 22 33 44 55 66
+
+
+mem_flash_base:00 70 00
+mem_eeprom_base:90 1f
+mem_eeprom_block_size:80
+mem_reconn_times_init:00
+mem_bt_discovey_button_statue:01#default: button up
+mem_empty_count:03
+
+
+mem_mouse_multi_led_gpio:ff
+mem_mouse_multi_led_on_timer_init:14
+mem_mouse_multi_led_blink_timer_init:05
+
+
+#yichip sdp
+#04 0011 0100 1002 1124
+#00 01 00 00
+#36 01 6d
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#24
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#11
+#35
+#03
+#19
+#00
+#11
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#06
+#35
+#09
+#09
+#65
+#6e
+#09
+#00
+#6a
+#09
+#01
+#00
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#11
+#24
+#09
+#01
+#00
+#09
+#00
+#0d
+#35
+#0f
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#13
+#35
+#03
+#19
+#00
+#11
+#09
+#01
+#00
+#25
+#16
+#59
+#69
+#43
+#68
+#69
+#70
+#20
+#42
+#6c
+#75
+#65
+#74
+#6f
+#6f
+#74
+#68
+#20
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#01
+#25
+#05
+#4d
+#6f
+#75
+#73
+#65
+#09
+#01
+#02
+#25
+#06
+#59
+#69
+#43
+#68
+#69
+#70
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#01
+#11
+#09
+#02
+#02
+#08
+#80
+#09
+#02
+#03
+#08
+#21
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#28
+#01
+#09
+#02
+#06
+#35
+#81
+#35
+#7f
+#08
+#22
+#25
+#7b
+#05
+#01
+#09
+#02
+#a1
+#01
+#85
+#02
+#09
+#01
+#a1
+#00
+#05
+#09
+#19
+#01
+#29
+#08
+#15
+#00
+#25
+#01
+#75
+#01
+#95
+#08
+#81
+#02
+#05
+#01
+#09
+#30
+#09
+#31
+#16
+#01
+#f8
+#26
+#ff
+#07
+#75
+#10
+#95
+#02
+#81
+#06
+#09
+#38
+#15
+#81
+#25
+#7f
+#75
+#08
+#95
+#01
+#81
+#06
+#05
+#0c
+#0a
+#38
+#02
+#75
+#08
+#95
+#01
+#81
+#06
+#c0
+#c0
+#05
+#0c
+#09
+#01
+#a1
+#01
+#85
+#03
+#75
+#10
+#95
+#02
+#15
+#01
+#26
+#8c
+#02
+#19
+#01
+#2a
+#8c
+#02
+#81
+#60
+#c0
+#06
+#00
+#ff
+#09
+#01
+#a1
+#01
+#85
+#10
+#75
+#08
+#95
+#06
+#15
+#00
+#26
+#ff
+#00
+#09
+#01
+#81
+#00
+#09
+#01
+#91
+#00
+#c0
+#09
+#02
+#07
+#35
+#08
+#35
+#06
+#09
+#04
+#09
+#09
+#01
+#00
+#09
+#02
+#08
+#28
+#00
+#09
+#02
+#09
+#28
+#01
+#09
+#02
+#0a
+#28
+#01
+#09
+#02
+#0b
+#09
+#01
+#00
+#09
+#02
+#0c
+#09
+#1f
+#40
+#09
+#02
+#0d
+#28
+#00
+#09
+#02
+#0e
+#28
+#01
+#09
+#02
+#0f
+#09
+#00
+#12
+#09
+#02
+#10
+#09
+#00
+#00
+#
+#04 1002 1200 0100 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#03
+#09
+#02
+#01
+#09
+#04
+#6d
+#09
+#02
+#02
+#09
+#b0
+#16
+#09
+#02
+#03
+#09
+#01
+#29
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#00
+#00
+#
+#01 0001
+#00 01 00 01
+#36 00 5a
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#01
+#09
+#00
+#01
+#35
+#03
+#19
+#12
+#00
+#09
+#00
+#04
+#35
+#0d
+#35
+#06
+#19
+#01
+#00
+#09
+#00
+#01
+#35
+#03
+#19
+#00
+#01
+#09
+#00
+#05
+#35
+#03
+#19
+#10
+#02
+#09
+#00
+#09
+#35
+#08
+#35
+#06
+#19
+#12
+#00
+#09
+#01
+#00
+#09
+#02
+#00
+#09
+#01
+#00
+#09
+#02
+#01
+#09
+#05
+#ac
+#09
+#02
+#02
+#09
+#02
+#39
+#09
+#02
+#03
+#09
+#00
+#44
+#09
+#02
+#04
+#28
+#01
+#09
+#02
+#05
+#09
+#00
+#02
+#
+#03 1101 0003 0100
+#00 01 00 02
+#36 00 2f
+#09
+#00
+#00
+#0a
+#00
+#01
+#00
+#02
+#09
+#00
+#01
+#35
+#03
+#19
+#11
+#01
+#09
+#00
+#04
+#35
+#0c
+#35
+#03
+#19
+#01
+#00
+#35
+#05
+#19
+#00
+#03
+#08
+#01
+#09
+#01
+#00
+#25
+#09
+#53
+#50
+#50
+#20
+#73
+
+
+
+#logi sdp
+#04 1000 0100 0001 1002
+#00 00 00 00
+#36 00 92 
+#09 00 00 0a 00 00 00 00 09 00 01 35 03 19 10 00 09 00 04 35 0d 35 06 
+#19 01 00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 
+#09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 01 00 09 01 00 
+#09 01 00 25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 
+#57 69 72 65 6c 65 73 73 20 4d 6f 75 73 65 20 53 44 50 20 53 65 72 76 65 
+#72 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 35 03 09 01 00
+
+#04 1124 0100 0011 1002
+#00 01 00 00
+#36 01 ee 
+#09 00 00 0a 00 01 00 00 09 00 01 35 03 19 11 24 09 00 04 35 
+#0d 35 06 19 01 00 09 00 11 35 03 19 00 11 09 00 05 35 03 19 10 02 
+#09 00 06 35 09 09 65 6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 11 24 
+#09 01 01 09 00 0d 35 0f 35 0d 35 06 19 01 00 09 00 13 35 03 19 00 11 09 01 
+#00 25 21 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 65 6c 
+#65 73 73 20 4d 6f 75 73 65 09 01 01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 
+#73 65 09 01 02 25 08 4c 6f 67 69 74 65 63 68 09 02 01 09 01 11 09 02 02 08 80 09 02 
+#03 08 21 09 02 04 28 01 09 02 05 28 01 09 02 06 35 fc 35 fa 08 22 25 f6 05 01 09 02 a1 01 
+#85 02 09 01 a1 00 05 09 19 01 29 08 15 00 25 01 75 01 95 08 81 02 05 01 09 30 09 31 16 01 
+#f8 26 ff 07 75 0c 95 02 81 06 09 38 15 81 25 7f 75 08 95 01 81 06 05 0c 0a 38 02 75 08 95 01 81 
+#06 c0 c0 05 0c 09 01 a1 01 85 03 05 06 09 20 15 00 26 64 00 75 08 95 01 81 02 c0 06 00 ff 09 01 
+#a1 01 85 10 75 08 95 06 15 00 26 ff 00 09 01 81 00 09 01 91 00 c0 06 00 ff 09 02 a1 01 85 11 75 
+#08 95 13 15 00 26 ff 00 09 02 81 00 09 02 91 00 c0 05 01 09 06 a1 01 85 04 75 01 95 08 05 07 
+#19 e0 29 e7 15 00 25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95 01 
+#75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07 19 00 29 ff 81 00 c0 05 0c 09 01 a1 01 85 05 
+#15 00 25 01 75 01 95 02 0a 25 02 0a 24 02 81 02 95 01 75 06 81 03 c0 09 02 07 35 08 35 
+#06 09 04 09 09 01 00 09 02 09 28 01 09 02 0a 28 01 09 02 0c 09 1f 40 09 02 0d 28 00 09 
+#02 0e 28 01 09 02 0f 09 00 12 09 02 10 09 00 00
+
+#04 1200 0100 0001 1002
+#00 01 00 01
+#36 00 ad 
+#09 00 00 0a 00 01 00 01 09 00 01 35 03 19 12 00 09 00 04 35 0d 35 06 19 01 
+#00 09 00 01 35 03 19 00 01 09 00 05 35 03 19 10 02 09 00 06 35 09 09 65 
+#6e 09 00 6a 09 01 00 09 00 09 35 08 35 06 19 12 00 09 01 00 09 01 00 
+#25 2c 4c 6f 67 69 74 65 63 68 20 42 6c 75 65 74 6f 6f 74 68 20 57 69 72 
+#65 6c 65 73 73 20 4d 6f 75 73 65 20 50 6e 50 20 53 65 72 76 65 72 09 01 
+#01 25 0f 42 6c 75 65 74 6f 6f 74 68 20 4d 6f 75 73 65 09 02 00 09 01 03 09 
+#02 01 09 04 6d 09 02 02 09 b0 16 09 02 03 09 12 03 09 02 04 28 01 09 02 05 09 00 02 00
+
+
Index: YJX_Only24g/main/sched/remote_car.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/remote_car.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/remote_car.dat	(working copy)
@@ -0,0 +1,106 @@
+mem_device_option:10
+
+
+mem_spi_ncs_gpio:ff
+mem_ui_button_gpio:ff
+mem_ui_button_timeout:14
+mem_ui_button_last_state:01
+
+mem_remote_car_queue_each_size:0f 06
+
+mem_queue_ptr:mem_remote_car_queue_each_size
+
+mem_lpm_mode:01
+mem_lpm_overhead:06
+mem_lpm_mult_timeout:02
+mem_remote_car_hard_soft_switch:00
+
+mem_ui_led_struct_ptr:mem_remote_style_led_type
+mem_ui_led_struct_num:01
+
+mem_remote_style_blink_count:ff
+mem_remote_style_struct_led_gpio:1b
+mem_remote_style_on_time:96 02
+mem_remote_style_off_time:3a 07
+
+mem_remote_car_led_num:01
+mem_remote_car_led_map:
+1b
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ 
+mem_power_param_ptr:mem_remote_car_soft_power
+mem_remote_car_power_off_timeout:0c 0c
+
+mem_keyscan_ptr:mem_remote_car_keyscan
+mem_remote_car_key_num:07
+mem_remote_car_key_conf0:
+#0
+03
+#1
+04
+#2
+05
+#3
+06
+#4
+02
+#5
+07
+#6
+17
+
+
+mem_remote_car_config_soft_switch_enable:00
+mem_remote_car_config_connect_led_gpio:ff
+mem_remote_car_config_soft_switch_gpio:19
+mem_remote_car_config_key_map:00				#00:TEN shape	01:L+R shape
+mem_remote_car_config_layout:00					#00:F_B_MOTOR	02:L_R_MOTOR
+mem_remote_car_config_check_way:00				#00:key  01:rocker
+mem_remote_car_config_timeout_shutdown_enable:00	#00:don't shutdown        	;01:timeout to shutdown
+
+mem_current_vdd_value_default_mid_x:55 4e
+mem_current_vdd_value_default_mid_y:55 4e
+mem_current_vdd_default_range:00 07
+
+mem_adc_config_flag:02
+
+mem_remote_car_24g_motor_packet:       0c        5a 6b 04 00 06 00 0a 00 0a 00 0a 00  
+mem_remote_car_24g_fire_packet:08 5a 6b 06 00 02 00 00 00
+
+mem_remote_car_no_data_timeout:b8 0b
+
+mem_lap:01 02 03 04 05 06
+
+mem_tx_power:01#0dbm
+mem_250k_freq_enable:00
+mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
+mem_24g_head_ptr:mem_24g_RC_head_ptr
+mem_24g_RC_head_ptr+394:4#offset_24g_pair_txpower
+mem_24g_RC_head_ptr+146:20 15 10 05#offset_24g_paring_addr
+mem_24g_RC_head_ptr+151:00 13 2c 42#offset_24g_ch_map1
+mem_24g_RC_head_ptr+155:06 15 36 48#offset_24g_ch_map2
+mem_24g_RC_head_ptr+159:0f 1a 3a 4c#offset_24g_ch_map3
+mem_24g_RC_head_ptr+163:11 23 31 4d#offset_24g_ch_map4
+mem_24g_RC_head_ptr+195:00#offset_24g_no_ack
+mem_24g_RC_head_ptr+205:01#offset_24g_mode
+mem_24g_RC_head_ptr+135:01#offset_24g_data_type 1ms 2kb
+mem_24g_RC_head_ptr+137:c0 12#offset_24g_rx_window
+mem_24g_RC_head_ptr+204:04#offset_24g_max_retry
+mem_24g_RC_head_ptr+171:19#offset_24g_interval
+mem_24g_RC_head_ptr+172:19#offset_24g_interval_min
+mem_24g_RC_head_ptr+173:1c#offset_24g_interval_max
+mem_24g_RC_head_ptr+150:ff#offset_24g_pairing_sm
+mem_24g_RC_head_ptr+182:00 48 60 00 00 00 00 00#offset_24g_enter_hibernate
+mem_24g_RC_head_ptr+257:10#offset_power_ctrl_txpwr_level0-5dbm
+mem_24g_RC_head_ptr+256:01#offset_power_ctrl_txpwr_level1 0dbm
+mem_24g_RC_head_ptr+255:02#offset_power_ctrl_txpwr_level2 3dbm
+
+
+
+
Index: YJX_Only24g/main/sched/rtrivr_uuid.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/rtrivr_uuid.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/rtrivr_uuid.dat	(working copy)
@@ -0,0 +1,75 @@
+#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+mem_le_att_list:
+
+#Primary service GAP ------
+01 00 00 28 02 00 18
+
+#Device name
+02 00 03 28 01 0a
+03 00 00 2a 0c 41 73 74 20 4c 45 20 4d 6f 75 73 65
+
+#Appearance
+04 00 03 28 01 02
+05 00 01 2a 02 c2 03 #3c2=hid mouse
+
+#Peripheral Preferred Connection Parameters
+06 00 03 28 01 02
+07 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+
+#Primary service GATT ------
+08 00 00 28 02 01 18
+
+#Service changed
+09 00 03 28 01 20
+0a 00 05 2a 00
+
+#Client Characteristic Configuration
+0b 00 02 29 02 00 00
+
+#Primary service TX power ------
+0c 00 00 28 02 04 18
+#Characteristic Tx power level
+0d 00 03 28 01 06
+0e 00 07 2a 01 00
+
+#Primary service Immediate alert ------
+0f 00 00 28 02 02 18
+#Characteristic Alert level
+10 00 03 28 01 04
+11 00 06 2a 01 00
+
+#Primary service UUID:f003 ------
+12 00 00 28 02 03 f0
+#Characteristic UUID:f803
+13 00 03 28 01 04
+14 00 03 f8 01 00
+
+
+#Primary service Link loss alert ------
+15 00 00 28 02 03 f0
+#Characteristic Alert level
+16 00 03 28 01 0a
+17 00 06 2a 01 00
+
+#Primary service UUID:f002 ------
+18 00 00 28 02 02 f0
+#Characteristic UUID:f802
+19 00 03 28 01 12
+1a 00 02 f8 01 28
+1b 00 02 29 02 00 00
+
+#Primary service Battery ------
+1c 00 00 28 02 0f 18
+#Characteristic Battery level
+1d 00 03 28 01 12
+1e 00 19 2a 01 38
+
+
+#End of Attribute list
+00 00
+
+mem_le_adv_data_len:1b
+mem_le_adv_data:0c 09 52 74 72 69 76 72 5f 52 36 32 31 03 19 40 02 02 01 05 02 0a 00 03 03 00 f0
+mem_le_scan_data_len:00
+mem_le_adv_param:00 08 00 08 00 01 00 00 00 00 00 00 00 07 00
+mem_le_adv_enable:01
Index: YJX_Only24g/main/sched/shutter.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/shutter.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/shutter.dat	(working copy)
@@ -0,0 +1,229 @@
+
+
+mem_shutter_bluetooth_type:
+01
+
+
+mem_le_lap:72 31 20 98 07 2a
+mem_le_name_len:
+'Shutter 1021s
+
+mem_lap:21 00 24 00 20 00
+mem_local_name_length:#0b
+#mem_local_name:
+'ZRP Shutter
+
+mem_classic_shutter_random_mac_offset_addr:
+30 00
+
+mem_shutter_config_eeprom_offset_addr:
+00 00
+
+mem_shutter_config_enable:
+00
+
+mem_shutter_config_otp_base_address:
+fb 05
+
+mem_shutter_config_size:20
+
+mem_shutter_config_user_otp_address:
+00 00
+#da 05
+
+mem_key0_press:
+01 00
+mem_key0_release:
+06 00
+
+mem_key1_press:
+01 00
+mem_key1_release:
+06 00
+
+mem_key2_press:
+07 00
+mem_key2_release:
+08 00
+
+mem_ui_button_gpio:ff
+mem_shutter_hard_soft_switch_case:00
+mem_shutter_soft_switch_button_gpio:
+08
+mem_power_param_ptr:
+mem_shutter_soft_switch_power_state
+mem_shutter_soft_switch_power_state:
+00 #mem_shutter_soft_switch_power_state
+14 #mem_shutter_soft_switch_poweron_time
+20 #mem_shutter_soft_switch_poweroff_time
+
+
+mem_lpm_mode:01
+mem_lpm_interval:00 01
+mem_lpm_overhead:08
+mem_lpm_mult:05
+mem_lpm_mult_timeout:02
+
+mem_shutter_config_select_gpio1:09 0a 0b
+
+mem_sniff_param_interval:30 00
+01
+00
+mem_unsniff2sniff_timer:0a
+
+mem_ble_shutter_reconn_blink_on_time:
+96 00
+96 00
+
+mem_ble_shutter_discovery_blink_on_time:
+96 02
+96 02
+
+
+mem_ble_shutter_interval_min_new:
+10 00
+20 00
+02 00
+2c 01
+
+mem_ui_led_struct_num:01
+mem_ui_led_struct_ptr:mem_shutter_led_struct_app_led
+
+mem_shutter_led_struct_app_led:
+00		#type:stop blink
+00		#blink count:no blink
+1b		#led gpio number:GPIO01
+a0 01	#led blink light time
+a0 01	#led blink dark time
+00 00	#call back function when light time
+00 00	#call back function when dark time
+
+#mem_shutter_power_off_led_style
+01		#type:start blink
+07		#blink count:no blink
+1b		#led gpio number:GPIO01
+a0 03	#led blink light time
+a0 03	#led blink dark time
+00 00	#call back function when light time
+00 00	#call back function when dark time
+
+
+mem_ble_shutter_reconn_dav_interval:10 00	#100ms
+mem_ble_shutter_discovery_adv_interval:40 01
+mem_le_adv_interval:40 01 
+mem_ble_shutter_reconn_timeout:50 00		#8s
+
+mem_device_option:09
+mem_le_adv_channel_map:07 
+mem_le_adv_enable:00
+
+mem_classic_shutter_discovery_timeout:
+00 FF	#mem_classic_shutter_discovery_timeout
+00 FF	#mem_classic_shutter_connect_timeout
+00 FF	#mem_ble_shutter_discovery_timeout
+00 FF	#mem_ble_shutter_connect_timeout
+	
+
+
+mem_queue_ptr: mem_queue_each_size
+
+mem_queue_each_size:
+01
+20
+
+
+mem_le_adv_data_len:1f
+mem_le_adv_data:
+02 01 05
+03 02 12 18
+03 19 c1 03
+mem_le_scan_data_len:1f
+mem_le_scan_data:
+0d 09 56 30 2d 53 68 75 74 74 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+
+
+mem_keyscan_ptr:mem_shutter_keyscan
+mem_shutter_key_num:02
+mem_shutter_key_conf0:
+#0
+18
+#1
+05
+#2
+0d
+
+##############NVRAM CONFIG##############
+
+mem_app_connection_options:17
+
+mem_nv_data_ptr:mem_shutter_nv_data
+mem_nv_data_number:05
+
+mem_class: 4025
+
+mem_sp_iocap_local:03 00 04
+mem_ssp_mode_flag:03
+mem_ssp_enable:01
+mem_ui_profile_supported:01
+
+
+mem_ptt:00
+mem_features:
+ff
+ff
+8f
+f8	#openACL3M fe
+9b	#AFHclose 83
+9d
+59
+83
+
+
+#####################################
+
+
+##########BT shutter ################
+
+
+
+
+
+
+
+
+################classic kb val list#######################
+
+################classic kb val list end#######################
+
+################ble kb val list#######################
+
+
+################ble kb val list end#######################
+
+
+##############BLE ATT LIST####################
+
+mem_ui_le_uuid_table:3a 91 #0x913A BLE_SHUTTER_GATT_LIST
+
+
+##############BLE ATT LIST END####################
+
+
+##############BT SDP LIST####################
+
+mem_eir_enable:01
+
+mem_all_uuid_16bits: 
+06
+03#Type: Complete list of 16-bit UUIDs
+1100  0001 0210 2411 0012 0100
+
+mem_all_uuid_128bits:
+00
+
+mem_ui_uuid_table:b8 92 #0x92B8 CLASSIC_SHUTTER_SDP_LIST
+
+##############BT SDP LIST END####################
+
+
Index: YJX_Only24g/main/sched/sim.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/sim.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/sim.dat	(working copy)
@@ -0,0 +1,16 @@
+mem_page_window:20 00
+mem_page_to:00 20
+mem_pscan_window:00 02
+mem_iscan_window:00 02
+mem_pscan_interval:00 08
+mem_lap:01 02 03
+mem_lpm_xtalcnt:03 0a 1b af 07
+#mem_lpm_hibernate_switch:08
+mem_fcomp_mul:02
+mem_fcomp_div:24
+
+
+mem_patch00:01
+
+4580:ff
+mem_rf_init_ptr:80 45		
Index: YJX_Only24g/main/sched/spp.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/spp.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/spp.dat	(working copy)
@@ -0,0 +1,206 @@
+#device option
+mem_device_option:04
+
+#spp uuid
+mem_uuid_list:
+04
+10
+02
+12
+00
+01
+00
+00
+01
+00
+01
+00
+01
+36
+00
+5a
+09
+00
+00
+0a
+00
+01
+00
+01
+09
+00
+01
+35
+03
+19
+12
+00
+09
+00
+04
+35
+0d
+35
+06
+19
+01
+00
+09
+00
+01
+35
+03
+19
+00
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+09
+35
+08
+35
+06
+19
+12
+00
+09
+01
+00
+09
+02
+00
+09
+01
+03
+09
+02
+01
+09
+05
+ac
+09
+02
+02
+09
+02
+39
+09
+02
+03
+09
+06
+44
+09
+02
+04
+28
+01
+09
+02
+05
+09
+00
+02
+03
+11
+01
+00
+03
+01
+00
+00
+01
+00
+03
+36
+00
+4e
+09
+00
+00
+0a
+00
+01
+00
+03
+09
+00
+01
+35
+03
+19
+11
+01
+09
+00
+02
+0a
+00
+00
+00
+00
+09
+00
+04
+35
+0c
+35
+03
+19
+01
+00
+35
+05
+19
+00
+03
+08
+01
+09
+00
+05
+35
+03
+19
+10
+02
+09
+00
+06
+35
+09
+09
+65
+6e
+09
+00
+6a
+09
+01
+00
+09
+01
+00
+25
+0a
+53
+50
+50
+20
+73
+6c
+61
+76
+65
+00
+00
+00
+01
Index: YJX_Only24g/main/sched/ssp.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/ssp.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/ssp.dat	(working copy)
@@ -0,0 +1,261 @@
+#memk, for reva-c only
+4b00:
+98    
+2f    
+8a    
+42    
+91    
+44    
+37    
+71    
+CF    
+FB   
+C0   
+B5    
+A5    
+DB   
+B5    
+E9    
+5B    
+C2    
+56   
+39    
+F1    
+11    
+F1    
+59    
+A4    
+82    
+3F    
+92    
+D5    
+5E    
+1C    
+AB    
+98    
+AA    
+07    
+D8    
+01   
+5B    
+83   
+12    
+BE    
+85   
+31    
+24    
+C3    
+7D    
+0C    
+55    
+74   
+5D    
+BE    
+72    
+FE    
+B1    
+DE    
+80    
+A7    
+06    
+DC    
+9B    
+74    
+F1    
+9B    
+C1    
+C1    
+69    
+9B    
+E4    
+86    
+47    
+BE    
+EF    
+C6    
+9D    
+C1    
+0F    
+CC    
+A1    
+0C    
+24    
+6F    
+2C    
+E9    
+2D    
+AA    
+84    
+74    
+4A    
+DC    
+A9    
+B0    
+5C    
+DA    
+88    
+F9    
+76    
+52    
+51    
+3E    
+98    
+6D    
+C6    
+31    
+A8    
+C8    
+27   
+03    
+B0    
+C7    
+7F    
+59    
+BF    
+F3    
+0B    
+E0    
+C6    
+47    
+91    
+A7    
+D5    
+51   
+63    
+CA    
+06    
+67    
+29    
+29    
+14    
+85    
+0A    
+B7    
+27    
+38    
+21    
+1B    
+2E    
+FC    
+6D   
+2C    
+4D    
+13    
+0D    
+38    
+53    
+54    
+73    
+0A    
+65    
+BB   
+0A   
+6A    
+76    
+2E   
+C9   
+C2   
+81    
+85   
+2C   
+72    
+92    
+A1    
+E8    
+BF    
+A2    
+4B    
+66    
+1A    
+A8    
+70    
+8B    
+4B    
+C2    
+A3    
+51    
+6C    
+C7    
+19    
+E8    
+92    
+D1    
+24    
+06   
+99   
+D6   
+85   
+35   
+0E    
+F4  
+70    
+A0    
+6A    
+10    
+16    
+C1    
+A4    
+19    
+08   
+6C    
+37    
+1E    
+4C    
+77    
+48    
+27    
+B5    
+BC    
+B0    
+34    
+B3    
+0C    
+1C    
+39    
+4A    
+AA    
+D8   
+4E    
+4F    
+CA   
+9C   
+5B    
+F3   
+6F    
+2E   
+68    
+EE    
+82   
+8F   
+74    
+6F   
+63    
+A5    
+78    
+14    
+78    
+C8    
+84   
+08    
+02   
+C7    
+8C   
+FA   
+FF    
+BE    
+90   
+EB    
+6C    
+50   
+A4   
+F7    
+A3    
+F9    
+BE    
+F2    
+78    
+71    
+C6    
+
+
+
Index: YJX_Only24g/main/sched/test.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/test.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/test.dat	(working copy)
@@ -0,0 +1,40 @@
+mem_patch06:0c
+mem_patch0e:80
+mem_patch10:20
+
+mem_iscan_window:20 00
+mem_iscan_interval:00 03
+mem_pscan_window:12 00
+mem_pscan_interval:00 08
+
+
+
+mem_lap:77 11 00 33 00 00
+mem_le_lap:88 11 00 33 00 00
+mem_device_option:07
+mem_local_name_length:
+'REVB
+
+mem_seqi:7f
+
+mem_lpm_mult:20
+mem_lpm_mult_timeout:03
+mem_lpm_overhead:05
+mem_scan_mode:03
+mem_le_adv_enable:00
+mem_le_scan_enable:00
+
+mem_class:cc 25 00
+mem_features:
+ff
+ff
+8f
+f8	#fe--EDR  F8--BR
+9b	#AFHclose 83
+9d
+59
+83
+
+
+
+
Index: YJX_Only24g/main/sched/usb.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/usb.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/sched/usb.dat	(working copy)
@@ -0,0 +1,51 @@
+mem_patch10:20 
+mem_patch11:40
+mem_patch18:10
+mem_patch1f:01
+
+
+#usb initial
+mem_devicedesc+9: 12 24#VID
+mem_devicedesc+11: 12 18#PID
+mem_string0:04 04 03 09 04
+mem_string1:
+'YICHIP
+
+#string length less than 32
+mem_string2:
+'Wireless Mouse
+mem_string3:
+'b120300001
+
+mem_usb_tx_interval:00
+#usb initial end
+
+
+#24g rx init
+mem_tx_power:02
+mem_24g_mode:02#rx
+mem_24g_pair_mode:00
+mem_24g_no_ack:00#no ack
+mem_24g_rx_window:30 75#rx
+mem_24g_hop_interval:2a
+mem_24g_ackpayload_enable:00#ack payload enable
+mem_24g_ch_map1:00 13 2c 42
+mem_24g_ch_map2:06 15 36 48
+mem_24g_ch_map3:0f 1a 3a 4c
+mem_24g_ch_map4:11 23 31 4d
+mem_24g_paring_addr:20 15 10 05
+mem_24g_rx_addr:36 20 04 07
+#24g rx init end
+
+mem_rf_init_data_new:
+# tx power
+4b ba
+55 d0
+56 e0
+57 88
+58 3c
+59 10
+ff
+mem_rf_init_ptr:mem_rf_init_data_new
+
+
Index: YJX_Only24g/main/util/memalloc.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/util/memalloc.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/util/memalloc.pl	(working copy)
@@ -0,0 +1,74 @@
+#!/usr/bin/perl
+$path="output/bt_format.meta";
+open file, $path;
+@f = <file>;
+close file;
+open file, ">$path";
+$path =~ s/\/.*//;
+open file1, ">output/memmap.format";
+$xaddr = 0x4000;
+$addr = 0;
+if($#ARGV == 1) {
+	$addr = hex($ARGV[0]);
+	$xaddr = hex($ARGV[1]);
+}
+for($i = 0;$i < @f;$i++) { $cmalloc[$i] = (); }
+for($i = 0;$i < @f;$i++) { 
+	$_ = $f[$i];
+	$start = 1 if(/^\s*memalloc\s*\(\s*$/);
+	$start = 2 if(/^\s*xmemalloc\s*\(\s*$/);
+	$start = 3 if(/^\s*omemalloc\s*\(\s*$/);
+	$start = 10 + $1 if(/^\s*cmemalloc\s+([0-9])\s*\(\s*$/);
+	if($start) {
+		if(/^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			if($start == 1) {
+				$str = sprintf "0x%04x %s%s\n", $addr, $2, $3;
+				$addr += $1;
+				$bstr .= $str;
+				$sstr .= $str;
+			} elsif($start == 2) {
+				$str = sprintf "0x%04x %s%s\n", $xaddr, $2, $3;
+				$xaddr += $1;
+				$xstr .= $str;
+			} else {
+				push @ostr, $_;
+			}
+		}
+		if(/^\s*\)\s*$/) {
+			if(@ostr > 0) {
+				if($start == 3) {
+					push @omalloc,[@ostr];
+				} elsif($start > 9) {
+					$j = $start - 10;
+					push @{$cmalloc[$j]},@ostr;
+				} 
+			}
+			$start = 0;
+			@ostr = ();
+		}
+	} else {
+		$sstr .= $_;
+	}
+}
+for($i = 0;$i <= $#cmalloc;$i++) {
+	push @omalloc,$cmalloc[$i];
+#	for($j = 0;$j <= $#{$cmalloc[$i]};$j++) {		print $cmalloc[$i][$j];	}
+}
+
+$xend = $xaddr;
+for($i = 0;$i <= $#omalloc;$i++) {
+	for($j = 0, $oaddr = $xaddr;$j <= $#{$omalloc[$i]};$j++) {
+		if($omalloc[$i][$j] =~ /^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			$str = sprintf "0x%04x %s%s\n", $oaddr, $2, $3;
+			$oaddr += $1;
+			$xstr .= $str;
+		}
+	}
+}
+$xend = $oaddr if($oaddr > $xend);
+print file $xstr, $sstr;
+print file1 $bstr, $xstr;
+close file;
+close file1;
+printf "\nLast allocated address is %04x\n", $addr;
+printf "\nLast allocated xmem address is %04x\n", $xend;
\ No newline at end of file
Index: YJX_Only24g/main/util/mergepatch.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/main/util/mergepatch.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/main/util/mergepatch.pl	(working copy)
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+$defs = "";
+$fmt = 0;
+
+
+sub parseif {
+	my($fname) = @_;
+	open file, $fname;
+	@f = <file>;
+	close file;
+	open file, ">$fname";
+	@valid = (1);
+	for($i = 0;$i < @f;$i++) { 
+		$_ = $f[$i];
+		$defs .= $1 . " " if(/^define\s+(\w+)\s*/);
+		if(/^ifdef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 1 : 0) & $valid[$#valid];
+		} elsif(/^ifndef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 0 : 1) & $valid[$#valid];
+		} elsif(/^else/) {
+			printf "%s\nelse without if at line %d\n", $f[$i - 3], $i if($#valid == 0);
+			$valid[$#valid] = (1 - $valid[$#valid]) & $valid[$#valid - 1];
+		} elsif(/^endif/) {
+			printf "%s\nendif without if at line %d\n", $_, $i if($#valid == 0);
+			pop @valid;
+		} elsif($valid[$#valid]) {
+			if(/^include\s+(.+)\s*/) {
+				open file2, "program/$1";
+				@f2 = <file2>;
+				close file2;
+				splice(@f, $i + 1, 0, @f2);
+			} else {
+				print file $_;
+			}
+		}
+	}
+	close file;
+}
+
+parseif("output/bt_program23.meta");
+$fmt = 1;
+parseif("output/bt_format.meta");
+
+
Index: YJX_Only24g/script/c.bat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/script/c.bat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/script/c.bat	(working copy)
@@ -0,0 +1,10 @@
+
+cd output
+copy ..\..\main\output\eeprom.dat + ..\..\FCC_1021S\output\eeprom.dat
+copy eeprom.dat ..\eeprom.dat
+
+cd ..
+perl crc16.pl eeprom.dat 2 >.\output\eeprom.dat
+del eeprom.dat
+:end
+
Index: YJX_Only24g/script/c.bat.bak
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/script/c.bat.bak	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/script/c.bat.bak	(working copy)
@@ -0,0 +1,10 @@
+
+cd output
+copy ..\..\main\output\eeprom.dat + ..\..\1021S_FCC\output\eeprom.dat
+copy eeprom.dat ..\eeprom.dat
+
+cd ..
+perl crc16.pl eeprom.dat 2 >.\output\eeprom.dat
+del eeprom.dat
+:end
+
Index: YJX_Only24g/script/crc16.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/script/crc16.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/script/crc16.pl	(working copy)
@@ -0,0 +1,27 @@
+$debug = 0;
+$crc = 0xffff;
+$i = 0;
+$offset = 0xffff;
+$source_file = $ARGV[0];
+$offset = $ARGV[1];
+
+open(EEP,"$source_file") or die $!;
+
+while (<EEP>) {    
+	$c = hex();
+
+  if($i >= $offset){
+  	if($debug){printf "%02x\t", $c;}
+  	$crc  = ($crc >> 8) | ($crc << 8);
+		$crc ^= $c & 0xff;
+		$crc ^= ($crc & 0xff) >> 4;
+		$crc ^= $crc << 12;
+		$crc ^= ($crc & 0xff) << 5;
+		$crc &= 0xffff;
+  }
+  $i ++;
+  if($debug){printf "%02x\t", $crc;}
+  printf "%02x\n", $c;
+}
+
+printf "%02x\n%02x\n", (($crc >> 8) & 0xff),($crc & 0xff);
Index: YJX_Only24g/script/d.bat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/script/d.bat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/script/d.bat	(working copy)
@@ -0,0 +1,8 @@
+call do.bat eep
+e pu
+e 8081 10
+e 8075 0000
+e 8079 0000
+e 807d ffff
+e ep
+e ku
\ No newline at end of file
Index: YJX_Only24g/script/eeprom2fulleeprom.pl
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/script/eeprom2fulleeprom.pl	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/script/eeprom2fulleeprom.pl	(working copy)
@@ -0,0 +1,18 @@
+
+
+
+$source_file = $ARGV[0];
+$eeprom_size = $ARGV[1];
+
+open(EEP,"$source_file") or die("cannot open files");
+for ($i = 1 ;$i<=$eeprom_size*128-2;$i++)
+{
+
+    while (<EEP>) { 
+        $c = hex();
+        printf "%02x\n", $c;
+        $i++;
+    }
+
+	printf "ff\n";
+}
Index: YJX_Only24g/script/output/eeprom.dat
===================================================================
--- /branch/mouse_project/YJX_Project/YJX_Only24g/script/output/eeprom.dat	(nonexistent)
+++ /branch/mouse_project/YJX_Project/YJX_Only24g/script/output/eeprom.dat	(working copy)
@@ -0,0 +1,10512 @@
+00
+02
+aa
+55
+2e
+18
+c2
+84
+00
+12
+c0
+42
+85
+14
+c0
+44
+84
+d0
+c0
+45
+05
+16
+c0
+00
+80
+1e
+c0
+50
+80
+27
+c0
+54
+00
+2c
+c0
+58
+80
+2f
+c0
+59
+00
+3b
+c0
+62
+00
+bc
+c0
+64
+81
+3e
+c0
+65
+01
+42
+c0
+71
+82
+99
+c0
+73
+02
+3e
+c0
+75
+02
+cf
+c0
+75
+82
+dd
+c0
+76
+03
+06
+20
+20
+2a
+8e
+c0
+46
+03
+0a
+20
+20
+2a
+8e
+1f
+e2
+22
+00
+68
+08
+cc
+62
+58
+00
+4c
+69
+98
+40
+8a
+00
+1a
+22
+7e
+00
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+60
+08
+cc
+62
+20
+60
+00
+00
+d8
+a0
+09
+ae
+df
+20
+00
+0c
+20
+40
+7e
+d4
+20
+40
+00
+b0
+20
+40
+6a
+03
+20
+40
+5c
+f6
+24
+55
+ac
+65
+20
+40
+7c
+cd
+20
+20
+20
+0c
+58
+00
+0a
+06
+60
+01
+c5
+10
+58
+00
+1d
+87
+60
+01
+45
+13
+20
+20
+2a
+a2
+68
+00
+c8
+0c
+24
+7a
+00
+00
+20
+20
+2b
+7f
+c6
+13
+00
+00
+68
+00
+cb
+14
+24
+3a
+7f
+ef
+68
+00
+cb
+0e
+24
+3a
+7f
+ef
+68
+00
+c7
+a2
+c0
+00
+7f
+ef
+68
+00
+c7
+ca
+c0
+00
+ff
+ef
+68
+01
+42
+48
+24
+3a
+7f
+ef
+20
+20
+7f
+f1
+c6
+93
+00
+00
+68
+00
+cc
+e7
+c0
+00
+80
+57
+20
+40
+03
+6f
+24
+34
+00
+72
+20
+40
+03
+54
+20
+40
+03
+9c
+68
+00
+cb
+b7
+c1
+ff
+80
+00
+20
+40
+03
+fb
+20
+40
+00
+51
+68
+00
+cc
+e7
+c1
+00
+80
+00
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+7a
+00
+00
+68
+00
+c0
+91
+20
+7a
+00
+00
+20
+40
+00
+97
+20
+40
+00
+94
+58
+00
+f6
+18
+20
+20
+2b
+93
+68
+00
+c6
+f5
+c3
+83
+80
+00
+58
+01
+77
+00
+60
+01
+cb
+d6
+70
+48
+10
+1e
+20
+60
+00
+00
+20
+40
+05
+19
+24
+74
+00
+00
+20
+40
+00
+69
+68
+00
+cc
+e8
+1f
+e0
+fe
+01
+60
+00
+cc
+e8
+1f
+e6
+7c
+19
+20
+42
+80
+60
+20
+20
+00
+3e
+70
+4c
+e7
+00
+70
+4c
+e8
+00
+70
+4b
+e2
+00
+68
+00
+cb
+cd
+60
+00
+cb
+cc
+20
+60
+00
+00
+68
+00
+cb
+ce
+60
+00
+cb
+cc
+20
+60
+00
+00
+68
+00
+cb
+e2
+1f
+e0
+fe
+01
+60
+00
+cb
+e2
+c0
+02
+00
+66
+c0
+02
+80
+62
+20
+60
+00
+00
+70
+4c
+e7
+01
+70
+4c
+e8
+00
+20
+60
+00
+00
+68
+00
+cb
+d3
+20
+5a
+00
+7e
+20
+40
+2a
+fa
+68
+01
+c1
+6f
+20
+7a
+00
+00
+68
+00
+c0
+91
+20
+7a
+00
+00
+20
+40
+00
+97
+68
+04
+4b
+d6
+20
+40
+7f
+49
+60
+0a
+41
+5b
+20
+20
+2b
+2a
+70
+4b
+d3
+01
+70
+4c
+dc
+00
+20
+40
+03
+1c
+60
+00
+cb
+43
+58
+00
+00
+00
+60
+03
+cb
+44
+68
+02
+4b
+de
+60
+02
+4b
+4b
+70
+4b
+a7
+0c
+68
+00
+cb
+a8
+79
+20
+7e
+03
+60
+00
+cb
+a8
+20
+40
+05
+55
+20
+40
+03
+73
+20
+20
+00
+41
+c6
+13
+00
+00
+20
+40
+00
+a3
+20
+40
+00
+97
+68
+00
+c0
+40
+c3
+00
+00
+94
+68
+00
+80
+a0
+24
+7a
+00
+00
+58
+00
+00
+00
+60
+04
+00
+a1
+20
+60
+00
+00
+20
+40
+00
+a0
+20
+40
+00
+94
+20
+40
+3e
+bf
+68
+12
+00
+70
+68
+1a
+00
+78
+98
+41
+84
+00
+18
+44
+04
+00
+60
+1a
+00
+7c
+20
+20
+02
+2e
+68
+00
+cb
+09
+20
+7a
+00
+00
+20
+20
+02
+9a
+d8
+c0
+18
+00
+d8
+a0
+48
+13
+20
+40
+00
+ae
+d8
+c0
+19
+00
+d8
+a0
+48
+2e
+20
+40
+00
+ae
+d8
+c0
+1a
+00
+d8
+a0
+48
+49
+20
+40
+00
+ae
+d8
+c0
+1b
+00
+d8
+a0
+48
+64
+df
+20
+00
+1b
+20
+20
+7f
+01
+d8
+c0
+48
+13
+d8
+a0
+18
+00
+20
+40
+00
+ae
+d8
+c0
+48
+2e
+d8
+a0
+19
+00
+20
+40
+00
+ae
+d8
+c0
+48
+49
+d8
+a0
+1a
+00
+20
+40
+00
+ae
+d8
+c0
+48
+64
+d8
+a0
+1b
+00
+20
+20
+00
+ae
+20
+40
+34
+16
+20
+35
+80
+c6
+70
+80
+78
+20
+20
+40
+05
+f1
+68
+00
+c1
+de
+60
+00
+cc
+5e
+20
+40
+03
+ea
+68
+00
+c6
+85
+60
+00
+c6
+da
+20
+40
+43
+ca
+20
+40
+00
+c8
+20
+20
+74
+b9
+24
+55
+81
+16
+20
+40
+00
+f5
+20
+75
+80
+00
+70
+47
+7a
+01
+20
+40
+01
+60
+20
+20
+01
+46
+20
+40
+02
+48
+c0
+03
+80
+d1
+20
+60
+00
+00
+58
+00
+1b
+ab
+60
+01
+47
+20
+d8
+40
+00
+02
+da
+20
+47
+20
+58
+00
+00
+00
+20
+40
+66
+3d
+70
+80
+10
+01
+20
+60
+00
+00
+20
+40
+01
+ab
+68
+00
+c2
+10
+c0
+1a
+00
+dd
+20
+60
+00
+00
+20
+40
+00
+ed
+70
+47
+a5
+01
+68
+01
+46
+a8
+60
+01
+46
+ae
+20
+40
+34
+18
+20
+40
+00
+e6
+58
+00
+00
+04
+e0
+c0
+80
+00
+20
+20
+7d
+f4
+da
+20
+43
+70
+ea
+20
+80
+00
+20
+7a
+00
+00
+98
+c0
+a2
+00
+e8
+c0
+80
+00
+c1
+00
+80
+00
+20
+20
+00
+e7
+70
+4b
+17
+01
+70
+4b
+14
+09
+20
+20
+02
+3a
+68
+02
+46
+d3
+c3
+0a
+3d
+66
+68
+00
+c7
+7a
+c0
+7f
+bd
+66
+20
+20
+3d
+80
+70
+42
+12
+76
+20
+20
+3d
+36
+20
+40
+00
+f5
+20
+40
+40
+c0
+68
+00
+c6
+e0
+c0
+02
+c0
+d5
+20
+40
+40
+d9
+c0
+18
+01
+05
+c0
+18
+81
+07
+20
+40
+40
+d1
+20
+00
+03
+e8
+20
+20
+00
+fb
+70
+4b
+09
+01
+20
+40
+64
+0f
+20
+40
+00
+f7
+20
+20
+64
+11
+20
+40
+01
+0c
+20
+20
+40
+e0
+20
+40
+01
+0c
+68
+00
+c6
+de
+c0
+38
+40
+e8
+70
+46
+e0
+01
+20
+60
+00
+00
+58
+00
+80
+06
+20
+40
+64
+13
+20
+00
+2e
+e0
+20
+20
+00
+f0
+58
+00
+00
+06
+20
+40
+64
+14
+1f
+e1
+fe
+08
+1f
+ed
+7e
+00
+1f
+e0
+fe
+06
+20
+20
+64
+13
+20
+40
+03
+16
+68
+10
+8a
+00
+79
+3f
+fe
+04
+60
+10
+8a
+00
+20
+40
+3e
+6e
+68
+08
+cb
+0d
+20
+40
+68
+0e
+20
+40
+3e
+1e
+58
+00
+00
+00
+60
+01
+41
+54
+20
+40
+01
+30
+58
+00
+18
+02
+60
+01
+40
+bd
+20
+40
+3e
+54
+20
+40
+58
+10
+20
+40
+58
+39
+20
+40
+58
+2c
+20
+40
+58
+18
+20
+40
+65
+9c
+68
+02
+46
+d3
+2f
+ef
+fe
+19
+24
+40
+e5
+c2
+20
+40
+44
+3f
+20
+40
+01
+3a
+20
+40
+01
+a7
+20
+20
+65
+df
+68
+02
+46
+d3
+c4
+0f
+80
+00
+68
+08
+c6
+f7
+20
+40
+67
+fb
+68
+08
+c6
+f7
+20
+40
+68
+1d
+70
+46
+f6
+02
+20
+60
+80
+00
+70
+46
+f6
+01
+20
+60
+00
+00
+20
+40
+33
+c4
+20
+22
+c3
+16
+20
+40
+02
+d5
+20
+20
+3d
+cb
+d8
+40
+00
+02
+da
+20
+0a
+aa
+da
+40
+00
+62
+20
+20
+65
+d1
+d8
+40
+00
+02
+da
+20
+0a
+9a
+da
+40
+00
+62
+20
+20
+33
+c8
+68
+02
+46
+d3
+c3
+0f
+01
+4d
+68
+00
+8a
+bd
+2f
+ec
+00
+03
+24
+20
+81
+4d
+20
+40
+00
+f7
+20
+40
+01
+10
+68
+00
+c7
+1f
+60
+00
+c7
+1e
+68
+00
+c6
+f5
+c3
+82
+80
+00
+c3
+83
+00
+00
+68
+02
+46
+d3
+c4
+08
+80
+00
+68
+00
+8a
+bd
+c2
+81
+84
+63
+20
+20
+04
+79
+df
+20
+00
+02
+d8
+c0
+4b
+cf
+20
+40
+7f
+e7
+58
+00
+ff
+ff
+e8
+c9
+00
+00
+98
+46
+7c
+00
+24
+42
+ff
+e9
+c2
+00
+01
+5b
+20
+60
+00
+00
+58
+00
+01
+6f
+60
+01
+4c
+d8
+58
+00
+00
+8d
+60
+01
+41
+ed
+58
+00
+01
+94
+60
+01
+41
+f5
+58
+00
+01
+7e
+60
+01
+41
+f3
+58
+00
+01
+c0
+60
+01
+41
+eb
+58
+00
+01
+cf
+60
+01
+41
+fd
+58
+00
+3d
+36
+60
+01
+42
+01
+20
+60
+00
+00
+20
+40
+44
+01
+68
+01
+46
+9f
+20
+7a
+00
+00
+20
+20
+00
+6f
+68
+00
+c6
+f5
+c3
+83
+80
+00
+70
+41
+72
+00
+70
+48
+0f
+1e
+20
+60
+00
+00
+70
+48
+0c
+01
+70
+48
+0d
+02
+20
+60
+00
+00
+20
+40
+58
+14
+70
+47
+a2
+01
+20
+20
+01
+0c
+20
+40
+7e
+34
+20
+40
+01
+81
+20
+20
+3e
+e0
+68
+08
+c6
+e7
+20
+40
+02
+71
+68
+08
+c6
+e7
+20
+40
+68
+1d
+20
+20
+81
+92
+20
+40
+02
+7a
+68
+00
+c6
+b6
+c1
+00
+00
+00
+70
+46
+b6
+00
+68
+00
+c7
+7a
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+60
+00
+c7
+7a
+1f
+e0
+fe
+02
+60
+01
+4b
+14
+20
+40
+02
+3a
+20
+20
+3d
+74
+20
+40
+02
+7a
+20
+20
+3d
+62
+1a
+62
+7e
+00
+c0
+1c
+81
+99
+c0
+1d
+01
+ae
+c0
+1e
+01
+be
+20
+20
+41
+7d
+20
+40
+01
+01
+70
+47
+8b
+01
+d8
+e0
+00
+03
+20
+40
+43
+d2
+58
+00
+00
+00
+60
+01
+47
+07
+70
+46
+a7
+00
+68
+00
+c6
+e0
+1f
+e6
+7c
+05
+20
+42
+c0
+39
+24
+42
+c0
+5d
+20
+40
+01
+ab
+20
+40
+01
+a7
+20
+20
+65
+d1
+da
+20
+4b
+cf
+da
+40
+00
+5b
+d8
+40
+00
+04
+20
+60
+00
+00
+68
+00
+cc
+5e
+60
+00
+c1
+de
+20
+60
+00
+00
+20
+40
+01
+cb
+70
+4c
+e7
+00
+20
+40
+01
+ab
+20
+40
+04
+ba
+68
+00
+c8
+7f
+c2
+80
+01
+bb
+70
+41
+bd
+00
+20
+40
+43
+16
+df
+20
+00
+03
+d8
+c0
+47
+22
+20
+40
+01
+59
+20
+34
+01
+bb
+20
+20
+00
+d9
+70
+47
+a3
+01
+70
+47
+a4
+28
+20
+60
+00
+00
+20
+40
+01
+01
+20
+20
+3f
+8d
+78
+34
+7c
+00
+68
+12
+01
+38
+79
+34
+7e
+1a
+60
+12
+00
+4c
+20
+40
+2c
+21
+20
+40
+01
+cb
+20
+40
+74
+bd
+20
+40
+44
+82
+20
+40
+3e
+9f
+20
+40
+3e
+bf
+20
+20
+02
+2e
+68
+00
+cb
+09
+20
+7a
+00
+00
+70
+4b
+09
+00
+20
+20
+01
+10
+20
+40
+01
+dd
+20
+40
+01
+e4
+20
+40
+01
+d8
+20
+40
+02
+08
+20
+40
+01
+ee
+20
+40
+42
+34
+20
+40
+42
+37
+20
+40
+42
+3a
+20
+20
+01
+eb
+da
+60
+48
+0d
+da
+40
+01
+db
+20
+20
+33
+6d
+70
+48
+0c
+00
+20
+60
+00
+00
+da
+60
+48
+10
+da
+40
+01
+e0
+20
+20
+33
+6d
+58
+36
+ee
+80
+60
+01
+cb
+d6
+70
+48
+0e
+01
+20
+60
+00
+00
+da
+60
+48
+0f
+da
+40
+01
+e7
+20
+20
+33
+6d
+68
+00
+c7
+cb
+60
+00
+c1
+72
+70
+48
+0e
+01
+20
+60
+00
+00
+da
+60
+46
+c6
+da
+40
+3d
+60
+20
+20
+33
+6d
+68
+00
+c6
+f5
+c2
+82
+43
+94
+68
+00
+c6
+85
+60
+00
+c6
+da
+68
+00
+c6
+db
+c1
+00
+80
+00
+70
+46
+db
+01
+d8
+e0
+00
+09
+20
+40
+43
+d2
+20
+20
+43
+ca
+70
+47
+a4
+28
+20
+40
+01
+fb
+20
+20
+43
+b0
+da
+60
+46
+da
+da
+40
+01
+fe
+20
+20
+33
+6d
+20
+40
+01
+cb
+68
+01
+46
+82
+2f
+ef
+fe
+0b
+20
+40
+c2
+d4
+68
+01
+46
+82
+2f
+ef
+fe
+07
+20
+40
+c3
+92
+d8
+e0
+00
+09
+20
+40
+43
+ce
+20
+20
+43
+b8
+68
+00
+c7
+a3
+20
+7a
+00
+00
+68
+00
+c7
+a4
+20
+3a
+02
+0f
+1f
+e0
+ff
+ff
+60
+00
+c7
+a4
+20
+60
+00
+00
+70
+47
+a3
+00
+20
+20
+34
+0a
+68
+00
+cb
+12
+1f
+e0
+ff
+ff
+60
+00
+cb
+12
+24
+7a
+00
+00
+68
+00
+cb
+13
+60
+00
+cb
+12
+68
+00
+cb
+15
+20
+3a
+02
+1d
+68
+00
+cb
+14
+20
+3a
+02
+24
+1f
+e0
+ff
+ff
+60
+00
+cb
+14
+68
+00
+cb
+0e
+c0
+00
+82
+28
+c0
+00
+02
+21
+20
+60
+00
+00
+70
+4b
+0e
+01
+68
+08
+cb
+0d
+20
+20
+68
+29
+70
+4b
+17
+00
+70
+4b
+12
+00
+70
+4b
+14
+00
+70
+4b
+15
+00
+68
+00
+cb
+14
+24
+3a
+02
+2c
+70
+4b
+0c
+00
+70
+4b
+0f
+00
+70
+4b
+10
+00
+70
+4b
+0e
+00
+68
+08
+cb
+0d
+20
+20
+68
+25
+70
+4b
+12
+01
+70
+4b
+13
+05
+70
+4b
+15
+00
+70
+4b
+14
+01
+70
+4b
+0c
+01
+70
+4b
+0f
+01
+20
+60
+00
+00
+68
+00
+cb
+17
+24
+7a
+00
+00
+20
+20
+02
+25
+70
+4b
+12
+01
+70
+4b
+13
+03
+70
+4b
+15
+01
+20
+20
+02
+34
+78
+54
+7c
+00
+58
+00
+00
+00
+60
+03
+46
+9b
+20
+40
+02
+7f
+20
+40
+40
+79
+20
+40
+40
+7e
+20
+40
+02
+46
+20
+20
+3f
+9f
+20
+40
+02
+48
+20
+20
+40
+9a
+da
+20
+00
+00
+20
+40
+02
+53
+20
+40
+02
+59
+20
+40
+02
+5f
+20
+40
+02
+4f
+1a
+22
+7e
+00
+20
+60
+00
+00
+68
+00
+c6
+e5
+c1
+7f
+80
+00
+20
+40
+02
+65
+20
+20
+02
+6b
+68
+08
+c6
+e2
+20
+40
+02
+7a
+68
+08
+c6
+e2
+20
+40
+68
+1d
+79
+20
+a2
+00
+20
+60
+00
+00
+68
+08
+c6
+e3
+20
+40
+02
+7a
+68
+08
+c6
+e3
+20
+40
+68
+1d
+79
+20
+a2
+01
+20
+60
+00
+00
+68
+08
+c6
+e4
+20
+40
+02
+7a
+68
+08
+c6
+e4
+20
+40
+68
+1d
+79
+20
+a2
+02
+20
+60
+00
+00
+68
+08
+c6
+e5
+20
+40
+02
+71
+68
+08
+c6
+e5
+20
+40
+68
+1d
+7d
+20
+a2
+03
+20
+20
+02
+7a
+68
+08
+c6
+e6
+20
+40
+02
+71
+68
+08
+c6
+e6
+20
+40
+68
+1d
+7d
+20
+a2
+04
+20
+20
+02
+7a
+79
+3f
+84
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+7c
+20
+40
+68
+30
+79
+3f
+84
+07
+d8
+a0
+80
+70
+20
+20
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+3f
+84
+07
+20
+20
+02
+75
+68
+00
+c2
+39
+c1
+80
+00
+00
+68
+00
+c6
+e0
+c0
+00
+02
+8a
+c0
+00
+82
+8a
+c0
+01
+02
+8a
+c0
+01
+82
+8a
+c0
+02
+02
+92
+c0
+02
+c0
+10
+c0
+03
+02
+8a
+20
+20
+02
+8a
+20
+40
+3f
+c0
+78
+54
+7c
+00
+68
+00
+c6
+f5
+c3
+03
+bf
+e7
+68
+08
+c6
+f3
+20
+40
+68
+1d
+24
+60
+80
+00
+20
+20
+3f
+e7
+20
+40
+3f
+c0
+68
+00
+c6
+f5
+c3
+03
+bf
+c8
+68
+08
+c6
+f3
+20
+40
+68
+1d
+24
+60
+80
+00
+20
+20
+3f
+c8
+20
+40
+42
+4a
+68
+00
+c6
+e0
+c0
+02
+bd
+aa
+c0
+02
+02
+c6
+c0
+03
+02
+af
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+a7
+68
+00
+c7
+7a
+c0
+00
+02
+a9
+c0
+00
+bd
+88
+c0
+01
+02
+ab
+c0
+01
+82
+ad
+20
+20
+02
+ab
+70
+47
+7a
+02
+20
+60
+00
+00
+70
+48
+80
+01
+20
+20
+3d
+8a
+70
+48
+80
+02
+20
+20
+3d
+8c
+70
+48
+80
+03
+20
+20
+3d
+8e
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+b8
+68
+00
+c7
+7a
+c0
+00
+02
+ba
+c0
+00
+82
+be
+c0
+01
+02
+c0
+c0
+01
+82
+c3
+20
+20
+02
+c0
+70
+47
+7a
+02
+20
+60
+00
+00
+70
+48
+80
+01
+68
+00
+c7
+7f
+1f
+e0
+ff
+ff
+20
+20
+3d
+be
+68
+00
+c7
+8d
+20
+20
+3d
+be
+70
+48
+80
+02
+68
+00
+c7
+8e
+20
+20
+3d
+be
+70
+48
+80
+03
+68
+00
+c7
+8f
+20
+20
+3d
+be
+68
+00
+c7
+7a
+1f
+e6
+7c
+01
+20
+42
+82
+a7
+68
+00
+c7
+7a
+c0
+00
+3d
+9d
+c0
+00
+bd
+9b
+c0
+01
+3d
+9f
+c0
+01
+bd
+a1
+20
+20
+3d
+9f
+70
+47
+a3
+00
+70
+47
+a4
+00
+c5
+13
+02
+d3
+20
+20
+42
+6d
+20
+40
+04
+ba
+20
+20
+42
+6d
+20
+40
+68
+a2
+68
+01
+42
+1d
+20
+3a
+02
+da
+60
+01
+47
+c8
+20
+20
+02
+f9
+58
+00
+11
+22
+60
+01
+47
+c8
+20
+20
+02
+d9
+20
+40
+01
+ab
+70
+47
+a2
+00
+68
+01
+46
+82
+c2
+85
+82
+eb
+68
+02
+46
+d3
+c3
+0c
+02
+eb
+20
+40
+02
+fd
+68
+09
+47
+c8
+18
+40
+84
+01
+60
+09
+47
+c8
+60
+09
+44
+a1
+20
+40
+02
+f9
+18
+0a
+7e
+00
+60
+00
+c4
+a0
+20
+40
+34
+18
+68
+01
+46
+87
+60
+01
+46
+ac
+70
+01
+6d
+06
+58
+00
+00
+00
+60
+01
+46
+b0
+60
+01
+46
+ae
+d8
+e0
+00
+07
+20
+40
+43
+ce
+20
+40
+43
+ca
+68
+00
+c0
+92
+2f
+ef
+fe
+01
+20
+40
+83
+01
+20
+20
+42
+c4
+d8
+40
+00
+02
+da
+20
+47
+c8
+da
+40
+00
+5f
+20
+20
+65
+d1
+d8
+40
+00
+02
+da
+20
+47
+c8
+da
+40
+00
+5f
+20
+20
+65
+df
+70
+47
+a5
+00
+20
+40
+00
+e6
+58
+00
+00
+05
+e0
+c0
+80
+00
+20
+20
+7d
+f4
+58
+00
+00
+00
+60
+01
+46
+ac
+20
+40
+01
+0c
+20
+20
+42
+cb
+68
+10
+80
+77
+1f
+e1
+7e
+fd
+60
+10
+80
+77
+68
+18
+80
+73
+18
+41
+84
+02
+60
+18
+80
+73
+20
+40
+63
+ee
+18
+41
+04
+fd
+20
+00
+00
+0d
+20
+40
+63
+f2
+60
+18
+80
+73
+20
+60
+00
+00
+20
+40
+68
+a8
+68
+02
+40
+a0
+60
+02
+4b
+de
+20
+60
+00
+00
+70
+4c
+dd
+01
+70
+4c
+df
+00
+68
+00
+cb
+a8
+1f
+e1
+7e
+07
+60
+00
+cb
+a8
+20
+60
+00
+00
+68
+00
+cb
+a8
+79
+20
+7e
+04
+60
+00
+cb
+a8
+60
+00
+cb
+63
+20
+60
+00
+00
+68
+00
+cb
+a8
+79
+3f
+fe
+04
+60
+00
+cb
+a8
+20
+60
+00
+00
+20
+40
+03
+f1
+68
+00
+cc
+de
+c0
+00
+83
+2e
+c0
+01
+03
+32
+20
+60
+00
+00
+70
+4c
+df
+02
+70
+4c
+db
+00
+70
+4c
+dd
+00
+20
+20
+03
+1c
+70
+4c
+dc
+00
+20
+20
+03
+2f
+68
+01
+4b
+ad
+1f
+e0
+fe
+01
+60
+01
+4b
+ad
+c2
+85
+03
+df
+68
+00
+cc
+dc
+c0
+00
+83
+3d
+70
+4c
+dc
+01
+68
+00
+cc
+dc
+c0
+80
+83
+1c
+68
+00
+cc
+da
+1f
+e0
+fe
+01
+60
+00
+cc
+da
+c0
+02
+03
+44
+20
+40
+05
+67
+70
+4b
+ec
+02
+20
+20
+03
+9c
+20
+40
+03
+f1
+70
+4c
+da
+00
+20
+20
+03
+1c
+70
+4c
+df
+02
+70
+4c
+dd
+01
+70
+4c
+dc
+00
+20
+20
+03
+1c
+68
+00
+cc
+de
+c0
+01
+83
+48
+68
+00
+cb
+a8
+2f
+ec
+00
+04
+20
+20
+83
+1a
+68
+00
+cc
+de
+c0
+00
+83
+47
+c0
+01
+03
+48
+20
+60
+00
+00
+68
+00
+cb
+b7
+c1
+ff
+80
+00
+20
+40
+03
+59
+24
+56
+03
+61
+20
+60
+00
+00
+78
+56
+7c
+00
+68
+00
+cc
+dd
+c1
+80
+80
+00
+68
+00
+cc
+df
+c1
+80
+00
+00
+70
+4c
+de
+01
+70
+4b
+ec
+04
+20
+20
+7f
+eb
+68
+00
+cc
+df
+20
+3a
+03
+69
+1f
+e0
+ff
+ff
+60
+00
+cc
+df
+70
+4c
+de
+02
+20
+40
+05
+67
+70
+4b
+ec
+04
+20
+60
+00
+00
+70
+4c
+de
+03
+68
+00
+cc
+dc
+24
+3a
+03
+3b
+20
+40
+05
+67
+70
+4b
+ec
+02
+20
+60
+00
+00
+68
+00
+cb
+b7
+c0
+ff
+84
+38
+20
+40
+03
+75
+20
+40
+05
+55
+70
+4b
+ac
+01
+20
+60
+00
+00
+68
+01
+4c
+d8
+20
+40
+7f
+9c
+20
+34
+03
+7b
+68
+03
+cb
+44
+20
+7a
+00
+00
+20
+20
+7f
+e7
+20
+40
+03
+94
+70
+4b
+d3
+00
+1a
+20
+fe
+01
+60
+00
+cb
+a7
+20
+40
+03
+1c
+60
+00
+cb
+43
+e8
+a8
+80
+00
+ea
+40
+80
+00
+98
+41
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+df
+20
+00
+02
+ea
+41
+00
+00
+e0
+a1
+00
+00
+1a
+40
+a4
+02
+c2
+00
+03
+87
+d8
+a0
+4b
+49
+df
+20
+00
+02
+ea
+40
+80
+00
+e8
+a8
+80
+00
+98
+40
+fe
+00
+e0
+a0
+80
+00
+1a
+40
+a4
+01
+c2
+00
+03
+8d
+20
+60
+00
+00
+68
+00
+c6
+f5
+c3
+83
+80
+00
+68
+00
+c8
+0e
+c1
+80
+80
+00
+58
+00
+00
+00
+60
+00
+c8
+0e
+60
+02
+46
+9b
+20
+20
+01
+0c
+70
+4b
+b0
+00
+d9
+60
+0d
+00
+34
+73
+02
+00
+20
+40
+03
+b8
+68
+00
+cb
+e3
+c1
+00
+80
+00
+24
+2c
+03
+c7
+24
+37
+83
+c7
+20
+40
+03
+b3
+20
+40
+03
+e3
+20
+40
+03
+ed
+68
+00
+cb
+a6
+1f
+e0
+fe
+01
+60
+00
+cb
+a6
+68
+00
+cb
+b7
+c0
+ff
+83
+b6
+20
+40
+03
+4b
+58
+00
+00
+00
+60
+01
+4b
+ad
+60
+00
+cb
+af
+60
+00
+cc
+db
+70
+4b
+ac
+00
+20
+60
+00
+00
+df
+20
+00
+04
+d8
+a0
+4b
+43
+20
+20
+7e
+c6
+20
+40
+03
+ea
+20
+20
+04
+53
+78
+57
+fc
+00
+20
+40
+05
+d0
+68
+00
+cb
+e3
+c0
+00
+83
+c5
+18
+00
+2a
+00
+68
+02
+4b
+cf
+98
+00
+12
+00
+68
+08
+80
+17
+20
+40
+29
+1f
+20
+40
+29
+24
+20
+40
+05
+8a
+20
+57
+85
+c8
+20
+60
+00
+00
+20
+40
+05
+c8
+20
+20
+03
+a7
+68
+00
+cb
+af
+1f
+e0
+fe
+01
+60
+00
+cb
+af
+68
+00
+cb
+b7
+c0
+ff
+83
+db
+68
+08
+cb
+b0
+18
+40
+84
+01
+60
+08
+cb
+b0
+68
+00
+cb
+ec
+98
+46
+7e
+00
+24
+3a
+03
+9d
+68
+00
+cc
+de
+c0
+01
+83
+34
+68
+00
+cc
+db
+1f
+e0
+fe
+01
+60
+00
+cc
+db
+c0
+01
+03
+29
+20
+40
+03
+20
+70
+4b
+ec
+01
+20
+20
+03
+9c
+68
+00
+cb
+af
+c1
+ff
+80
+00
+70
+4b
+af
+00
+20
+20
+03
+e1
+58
+00
+00
+00
+60
+01
+4b
+ad
+70
+0a
+99
+3a
+20
+20
+7d
+86
+20
+40
+04
+c3
+68
+00
+cb
+a5
+20
+7a
+00
+00
+98
+00
+72
+00
+d8
+c0
+4b
+23
+d8
+a0
+4b
+85
+20
+20
+7f
+01
+70
+4c
+e3
+01
+70
+4c
+e0
+00
+20
+60
+00
+00
+68
+00
+cc
+e0
+1f
+e0
+fe
+01
+60
+00
+cc
+e0
+20
+60
+00
+00
+68
+00
+cc
+e0
+1f
+e6
+7c
+02
+24
+41
+03
+f9
+68
+00
+cc
+e0
+c1
+00
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+cc
+e0
+20
+60
+00
+00
+70
+4c
+e0
+03
+20
+60
+00
+00
+68
+01
+46
+82
+c3
+85
+80
+00
+c3
+83
+80
+00
+c3
+83
+00
+00
+da
+20
+4c
+69
+20
+40
+05
+36
+60
+08
+cc
+e1
+28
+0f
+fe
+26
+20
+40
+84
+0d
+24
+40
+84
+11
+98
+46
+7c
+00
+24
+21
+04
+25
+68
+00
+cc
+e0
+1f
+e6
+7c
+02
+24
+21
+04
+15
+68
+00
+cc
+e0
+c0
+00
+04
+26
+20
+60
+00
+00
+58
+00
+00
+82
+20
+60
+00
+00
+58
+00
+00
+77
+20
+60
+00
+00
+58
+00
+00
+80
+20
+60
+00
+00
+58
+00
+00
+75
+20
+60
+00
+00
+68
+00
+cc
+e0
+c1
+90
+00
+00
+70
+4c
+e0
+00
+68
+08
+cc
+e1
+28
+0f
+fe
+26
+20
+40
+84
+0f
+24
+40
+84
+13
+98
+46
+7c
+00
+24
+61
+00
+00
+68
+00
+cc
+e3
+c0
+00
+04
+2d
+1f
+e0
+ff
+ff
+60
+00
+cc
+e3
+c0
+00
+04
+2d
+70
+41
+de
+00
+20
+60
+00
+00
+70
+4c
+e0
+00
+68
+00
+cc
+e3
+c0
+01
+04
+2b
+1f
+e0
+fe
+01
+60
+00
+cc
+e3
+c0
+00
+84
+23
+70
+41
+de
+02
+20
+60
+00
+00
+70
+41
+de
+04
+20
+60
+00
+00
+79
+20
+00
+26
+20
+40
+04
+33
+70
+4b
+b7
+01
+20
+60
+00
+00
+70
+41
+de
+20
+70
+4b
+a6
+00
+70
+4b
+b1
+4e
+68
+02
+4b
+b3
+20
+20
+05
+47
+68
+00
+cb
+ac
+c0
+00
+ff
+e7
+68
+00
+cb
+b7
+c0
+00
+84
+3f
+c0
+01
+04
+42
+c0
+01
+84
+45
+20
+20
+2a
+8c
+70
+4b
+b7
+11
+70
+11
+9e
+aa
+20
+20
+04
+47
+70
+4b
+b7
+12
+70
+11
+9e
+55
+20
+20
+04
+47
+70
+4b
+b7
+13
+70
+11
+9e
+22
+68
+00
+cb
+a8
+1f
+e1
+7e
+07
+60
+00
+91
+9f
+68
+02
+4b
+de
+60
+02
+11
+a0
+70
+11
+a4
+00
+da
+20
+11
+9e
+d8
+40
+00
+07
+20
+40
+04
+be
+20
+40
+05
+55
+20
+40
+03
+73
+20
+20
+7f
+e7
+68
+00
+cb
+b7
+c1
+7f
+80
+00
+c0
+08
+84
+59
+c0
+09
+04
+5b
+c0
+09
+84
+5d
+20
+60
+00
+00
+70
+4b
+b7
+02
+20
+20
+03
+ad
+70
+4b
+b7
+03
+20
+20
+03
+ad
+70
+4b
+b7
+ff
+70
+0a
+99
+39
+20
+40
+7d
+86
+68
+02
+4b
+87
+20
+40
+05
+47
+20
+20
+03
+ad
+79
+3f
+80
+26
+20
+40
+04
+b2
+68
+00
+cb
+b7
+c1
+ff
+80
+00
+20
+40
+04
+70
+79
+20
+00
+26
+58
+00
+00
+00
+60
+01
+4b
+d4
+70
+48
+0e
+00
+70
+0a
+99
+3c
+20
+40
+7d
+86
+20
+40
+03
+b3
+20
+20
+00
+6f
+70
+11
+9e
+ff
+68
+00
+cb
+a8
+60
+00
+91
+9f
+68
+02
+4b
+de
+60
+02
+11
+a0
+d8
+40
+00
+06
+da
+20
+11
+9e
+20
+40
+04
+be
+20
+20
+05
+55
+58
+00
+00
+00
+60
+01
+11
+be
+79
+3f
+80
+26
+20
+40
+04
+9c
+20
+40
+04
+70
+58
+00
+00
+00
+60
+01
+4b
+d4
+20
+40
+2a
+fa
+20
+00
+07
+d0
+68
+01
+4b
+d4
+d8
+40
+77
+88
+98
+46
+7c
+00
+20
+22
+83
+e1
+20
+40
+03
+b8
+24
+2c
+04
+90
+24
+37
+84
+90
+20
+40
+03
+e3
+20
+40
+01
+ab
+68
+02
+4b
+cf
+68
+0a
+4b
+b3
+98
+46
+7c
+00
+20
+22
+84
+2f
+20
+20
+04
+68
+68
+01
+4b
+d4
+1f
+e0
+fe
+01
+60
+01
+4b
+d4
+68
+00
+cc
+e5
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+60
+00
+cc
+e5
+c0
+00
+04
+b8
+c0
+00
+84
+b4
+c0
+01
+04
+b6
+c0
+01
+84
+b4
+20
+60
+00
+00
+20
+40
+01
+ab
+68
+02
+4b
+de
+60
+02
+4b
+cf
+68
+00
+91
+be
+60
+00
+cb
+b2
+20
+40
+04
+b2
+60
+08
+91
+be
+20
+60
+00
+00
+20
+40
+01
+ab
+20
+40
+01
+2e
+20
+40
+01
+57
+20
+34
+04
+a9
+20
+20
+04
+b2
+70
+41
+de
+20
+58
+00
+0f
+0f
+60
+01
+4b
+cf
+e0
+a1
+00
+00
+68
+00
+91
+bf
+60
+00
+cb
+b2
+20
+40
+04
+b2
+60
+08
+91
+bf
+20
+60
+00
+00
+20
+40
+05
+48
+20
+20
+05
+67
+20
+40
+04
+33
+20
+20
+04
+80
+20
+40
+04
+a9
+20
+20
+04
+80
+20
+40
+04
+9c
+20
+20
+04
+80
+79
+3f
+80
+26
+20
+40
+53
+ce
+d8
+e0
+00
+03
+20
+20
+43
+d2
+60
+08
+cb
+a7
+18
+42
+72
+00
+d8
+a0
+4b
+43
+1a
+22
+0c
+00
+20
+20
+7f
+01
+68
+00
+cb
+22
+1f
+e9
+7e
+00
+60
+00
+cb
+a5
+1f
+e0
+fe
+01
+d8
+c0
+4b
+22
+98
+c0
+8c
+00
+e8
+c1
+80
+00
+60
+01
+cb
+e4
+68
+00
+cb
+22
+1f
+e3
+7e
+00
+1f
+e1
+7e
+03
+60
+00
+cb
+ea
+20
+60
+00
+00
+60
+08
+80
+17
+18
+40
+a2
+00
+20
+40
+29
+81
+58
+00
+05
+00
+20
+40
+2a
+8f
+70
+89
+06
+01
+70
+89
+00
+3c
+70
+89
+01
+e0
+20
+00
+00
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
+20
+00
+00
+0a
+70
+89
+03
+b7
+20
+00
+00
+0a
+70
+89
+02
+7d
+68
+00
+c1
+de
+c0
+00
+04
+e6
+c0
+00
+84
+ee
+c0
+01
+04
+f6
+c0
+02
+04
+fe
+c0
+10
+05
+10
+20
+20
+04
+e6
+20
+40
+05
+06
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+6c
+70
+89
+59
+10
+20
+20
+29
+4b
+20
+40
+05
+0b
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+3c
+70
+89
+59
+10
+20
+20
+29
+4f
+20
+40
+05
+0b
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+3c
+70
+89
+59
+10
+20
+20
+29
+53
+20
+40
+05
+06
+70
+89
+4b
+ba
+70
+89
+55
+d0
+70
+89
+56
+c0
+70
+89
+57
+88
+70
+89
+58
+6c
+70
+89
+59
+10
+20
+20
+29
+5b
+70
+89
+4c
+5b
+70
+89
+4d
+96
+70
+89
+4e
+2c
+70
+89
+4f
+46
+20
+60
+00
+00
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
+20
+60
+00
+00
+70
+89
+4b
+ba
+70
+89
+56
+c2
+70
+89
+55
+d0
+20
+60
+00
+00
+18
+00
+2a
+08
+20
+20
+28
+fa
+20
+40
+29
+78
+70
+80
+42
+05
+20
+60
+00
+00
+20
+40
+7f
+e9
+68
+0a
+4b
+c8
+1c
+42
+7e
+00
+98
+46
+7c
+00
+24
+41
+2d
+18
+1f
+e2
+24
+00
+68
+02
+4b
+c8
+68
+08
+cb
+cc
+98
+40
+84
+00
+1a
+42
+7e
+00
+98
+46
+7c
+00
+24
+61
+00
+00
+79
+3f
+fe
+1c
+60
+02
+4b
+c8
+20
+20
+7f
+e7
+20
+40
+29
+bb
+20
+7a
+00
+00
+68
+08
+cc
+61
+da
+20
+0d
+9e
+20
+40
+05
+2f
+60
+08
+cc
+61
+20
+60
+00
+00
+1a
+22
+7e
+00
+98
+40
+8a
+00
+68
+00
+80
+18
+e0
+a0
+80
+00
+18
+40
+84
+01
+18
+41
+04
+07
+20
+60
+00
+00
+d8
+40
+00
+00
+df
+20
+00
+08
+1a
+22
+0c
+00
+e8
+c0
+80
+00
+98
+40
+84
+00
+c2
+00
+05
+39
+18
+49
+7e
+00
+1f
+e2
+04
+00
+c6
+93
+00
+00
+1f
+e6
+fc
+0a
+20
+40
+7f
+86
+18
+07
+fe
+00
+1f
+f2
+7e
+00
+18
+07
+04
+00
+98
+41
+84
+00
+20
+60
+00
+00
+20
+60
+00
+00
+60
+02
+4b
+cf
+da
+20
+00
+00
+df
+20
+00
+04
+d8
+c0
+4b
+cf
+e8
+c0
+80
+00
+9a
+20
+a2
+00
+c2
+00
+05
+4b
+1a
+22
+7e
+00
+60
+01
+4c
+58
+68
+00
+cc
+58
+68
+08
+cc
+59
+98
+40
+fe
+00
+60
+00
+cc
+5a
+20
+60
+00
+00
+68
+00
+cb
+a7
+1f
+e0
+fe
+02
+60
+00
+cb
+a9
+68
+00
+cb
+a8
+60
+00
+cb
+63
+68
+00
+cb
+a7
+1f
+e9
+fe
+00
+68
+08
+cb
+a6
+18
+41
+04
+03
+18
+43
+84
+00
+98
+41
+fe
+00
+68
+08
+cb
+e3
+98
+40
+fe
+00
+e0
+a0
+80
+00
+68
+00
+cb
+a7
+98
+00
+72
+00
+d8
+c0
+4b
+43
+20
+20
+7f
+01
+68
+08
+cb
+b2
+20
+40
+05
+6b
+60
+08
+cb
+b2
+20
+60
+00
+00
+20
+40
+05
+6f
+18
+40
+84
+01
+18
+41
+04
+03
+20
+60
+00
+00
+68
+00
+cb
+cf
+1f
+e1
+7e
+03
+1f
+ef
+a2
+04
+58
+00
+4b
+b8
+9a
+20
+fe
+00
+98
+40
+8c
+00
+e8
+c0
+80
+00
+60
+00
+cb
+b1
+20
+60
+00
+00
+78
+44
+fc
+00
+78
+43
+fc
+00
+58
+55
+55
+55
+98
+00
+1e
+00
+68
+00
+cb
+b1
+1f
+ed
+84
+00
+79
+20
+04
+01
+18
+43
+1c
+00
+20
+60
+00
+00
+20
+40
+53
+c4
+68
+02
+4b
+cf
+98
+00
+12
+00
+20
+40
+29
+18
+68
+08
+cb
+b1
+20
+40
+29
+1f
+58
+00
+05
+00
+20
+40
+2a
+8f
+20
+40
+29
+24
+20
+40
+05
+78
+78
+57
+fc
+00
+78
+26
+fc
+00
+78
+30
+fc
+00
+78
+50
+7c
+00
+78
+28
+7c
+00
+68
+01
+4b
+aa
+98
+00
+36
+00
+37
+c1
+84
+00
+24
+2c
+05
+cc
+78
+46
+fc
+00
+78
+25
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+60
+00
+cc
+5b
+68
+08
+cc
+5a
+98
+46
+7c
+00
+24
+22
+85
+c8
+09
+80
+00
+08
+19
+89
+7e
+00
+60
+00
+cb
+21
+68
+00
+cb
+ed
+1f
+e6
+7c
+02
+20
+22
+85
+a8
+68
+00
+cb
+21
+68
+08
+cb
+a8
+a8
+40
+0e
+00
+24
+20
+85
+c8
+09
+80
+00
+08
+19
+89
+7e
+00
+e0
+a0
+80
+00
+1f
+e9
+7e
+00
+1f
+e1
+72
+1f
+20
+22
+85
+b2
+09
+80
+00
+08
+19
+89
+7e
+00
+e0
+a0
+80
+00
+c2
+00
+05
+ae
+18
+a2
+22
+00
+09
+80
+00
+08
+19
+89
+7e
+00
+60
+00
+cc
+e2
+1a
+22
+0a
+00
+09
+80
+00
+18
+78
+28
+7c
+00
+db
+60
+06
+64
+1f
+ef
+7e
+00
+1f
+f1
+7e
+00
+e0
+a1
+80
+00
+78
+45
+fc
+00
+20
+23
+05
+c8
+78
+37
+fc
+00
+68
+00
+80
+17
+1f
+e0
+a2
+00
+20
+40
+29
+81
+78
+46
+fc
+00
+20
+40
+29
+18
+68
+00
+cc
+e2
+20
+40
+00
+14
+20
+60
+00
+00
+78
+4d
+fc
+00
+78
+45
+fc
+00
+20
+40
+26
+4d
+20
+60
+00
+00
+20
+20
+05
+c8
+20
+40
+29
+18
+68
+08
+cb
+b1
+20
+20
+29
+33
+20
+40
+53
+c4
+68
+02
+4b
+cf
+98
+00
+12
+00
+20
+40
+05
+78
+20
+40
+05
+cd
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+19
+31
+7e
+00
+1f
+ec
+fe
+00
+1f
+f1
+fe
+00
+08
+00
+86
+28
+78
+4e
+fc
+00
+78
+2d
+fc
+00
+78
+23
+fc
+00
+78
+24
+fc
+00
+68
+00
+cc
+5a
+08
+00
+86
+08
+68
+00
+cb
+a9
+98
+00
+72
+00
+d8
+c0
+4b
+63
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+05
+e6
+78
+24
+7c
+00
+08
+00
+86
+18
+78
+44
+7c
+00
+37
+d3
+82
+00
+20
+00
+00
+64
+78
+4e
+fc
+00
+78
+4d
+fc
+00
+20
+60
+00
+00
+70
+47
+a6
+07
+70
+47
+a7
+04
+58
+00
+47
+a6
+60
+01
+42
+18
+20
+20
+7e
+38
+da
+20
+46
+9a
+20
+40
+7e
+3d
+20
+54
+05
+fa
+20
+60
+00
+00
+68
+00
+c7
+c7
+1f
+e0
+fe
+01
+60
+00
+c7
+c7
+20
+60
+00
+00
+da
+20
+46
+9a
+20
+40
+7e
+54
+20
+34
+06
+02
+20
+60
+00
+00
+20
+40
+56
+52
+68
+00
+c7
+c7
+1f
+e6
+7c
+01
+24
+41
+56
+50
+68
+00
+c7
+c7
+20
+7a
+00
+00
+1f
+e0
+ff
+ff
+60
+00
+c7
+c7
+20
+20
+3f
+90
+00
+62
+aa
+55
+08
+00
+75
+41
+8f
+1c
+ca
+00
+0a
+0b
+ef
+07
+aa
+55
+01
+00
+57
+41
+00
+aa
+55
+08
+00
+a1
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+ad
+40
+12
+00
+00
+02
+12
+00
+00
+02
+aa
+55
+02
+00
+bb
+40
+20
+00
+aa
+55
+04
+00
+b7
+40
+20
+00
+00
+40
+aa
+55
+04
+00
+bf
+40
+80
+04
+00
+08
+aa
+55
+01
+00
+e4
+4c
+00
+aa
+55
+02
+00
+41
+42
+00
+84
+aa
+55
+01
+00
+de
+41
+00
+aa
+55
+0f
+00
+93
+47
+4b
+ba
+55
+d0
+56
+e0
+57
+88
+58
+6c
+59
+10
+68
+e6
+ff
+aa
+55
+02
+00
+c3
+40
+93
+47
+aa
+55
+01
+00
+00
+40
+02
+aa
+55
+02
+00
+10
+40
+20
+06
+aa
+55
+03
+00
+14
+40
+02
+01
+06
+aa
+55
+02
+00
+18
+40
+10
+06
+aa
+55
+02
+00
+1c
+40
+48
+1c
+aa
+55
+04
+00
+27
+40
+02
+08
+04
+80
+aa
+55
+03
+00
+2c
+40
+88
+04
+80
+aa
+55
+01
+00
+31
+40
+10
+aa
+55
+01
+00
+92
+40
+42
+aa
+55
+01
+00
+91
+40
+01
+aa
+55
+01
+00
+72
+41
+20
+aa
+55
+01
+00
+cb
+47
+20
+aa
+55
+02
+00
+54
+41
+00
+00
+aa
+55
+02
+00
+d5
+46
+92
+e5
+aa
+55
+01
+00
+7f
+48
+08
+aa
+55
+01
+00
+07
+42
+06
+aa
+55
+06
+00
+a0
+40
+26
+10
+19
+20
+18
+10
+aa
+55
+01
+00
+5a
+45
+0a
+aa
+55
+01
+00
+62
+46
+03
+aa
+55
+01
+00
+5a
+46
+01
+aa
+55
+01
+00
+8d
+45
+00
+aa
+55
+01
+00
+5a
+41
+00
+aa
+55
+03
+00
+5b
+46
+03
+00
+04
+aa
+55
+01
+00
+84
+46
+01
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+1a
+00
+6f
+43
+1f
+03
+19
+c2
+03
+02
+01
+05
+03
+03
+12
+18
+0d
+09
+42
+54
+20
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0f
+00
+8f
+43
+1f
+0d
+09
+42
+54
+20
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0d
+00
+af
+43
+0c
+42
+54
+20
+35
+2e
+30
+20
+4d
+6f
+75
+73
+65
+aa
+55
+08
+00
+96
+44
+07
+00
+07
+00
+20
+00
+2c
+01
+aa
+55
+04
+00
+82
+44
+00
+00
+00
+00
+aa
+55
+01
+00
+8d
+44
+07
+aa
+55
+06
+00
+a0
+44
+8e
+b1
+3a
+0e
+8e
+ed
+aa
+55
+01
+00
+e5
+44
+50
+aa
+55
+02
+00
+6f
+44
+19
+00
+aa
+55
+02
+00
+fa
+44
+22
+00
+aa
+55
+02
+00
+87
+46
+08
+07
+aa
+55
+04
+00
+a8
+46
+50
+00
+70
+17
+aa
+55
+01
+00
+14
+42
+ff
+aa
+55
+01
+00
+86
+46
+ff
+aa
+55
+01
+00
+85
+46
+1e
+aa
+55
+01
+00
+d2
+46
+02
+aa
+55
+01
+00
+03
+47
+02
+aa
+55
+02
+00
+2d
+42
+01
+32
+aa
+55
+06
+00
+09
+47
+a4
+01
+18
+01
+40
+01
+aa
+55
+19
+00
+e0
+46
+00
+02
+06
+14
+07
+07
+14
+06
+1c
+1b
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+00
+01
+05
+ff
+aa
+55
+01
+00
+3a
+42
+14
+aa
+55
+01
+00
+dc
+46
+ff
+aa
+55
+01
+00
+a5
+46
+07
+aa
+55
+01
+00
+6c
+0c
+ff
+aa
+55
+01
+00
+f5
+46
+00
+aa
+55
+0c
+00
+7f
+47
+01
+02
+03
+04
+15
+1a
+2a
+3f
+04
+05
+07
+08
+aa
+55
+04
+00
+8c
+47
+00
+01
+02
+03
+aa
+55
+01
+00
+80
+48
+00
+aa
+55
+02
+00
+1b
+42
+13
+47
+aa
+55
+01
+00
+1a
+42
+01
+aa
+55
+40
+00
+cc
+47
+25
+00
+02
+03
+28
+01
+12
+26
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+27
+00
+02
+02
+29
+02
+00
+00
+28
+00
+02
+08
+29
+02
+11
+01
+29
+00
+02
+03
+28
+01
+0e
+2a
+00
+02
+4d
+2a
+07
+00
+00
+00
+00
+00
+00
+00
+2b
+00
+02
+08
+29
+02
+11
+02
+aa
+55
+01
+00
+ed
+4b
+01
+aa
+55
+01
+00
+a8
+4b
+01
+aa
+55
+01
+00
+ec
+4b
+04
+aa
+55
+01
+00
+e3
+4b
+00
+aa
+55
+02
+00
+aa
+4b
+c0
+12
+aa
+55
+03
+00
+cc
+4b
+19
+19
+1c
+aa
+55
+10
+00
+b8
+4b
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
+01
+00
+b7
+4b
+ff
+aa
+55
+04
+00
+b3
+4b
+20
+15
+10
+05
+aa
+55
+08
+00
+d6
+4b
+80
+ee
+36
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+20
+47
+01
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+aa
+55
+03
+00
+00
+47
+00
+70
+00
+aa
+55
+02
+00
+03
+42
+90
+1f
+aa
+55
+01
+00
+11
+42
+80
+aa
+55
+01
+00
+1f
+47
+00
+aa
+55
+01
+00
+db
+46
+01
+aa
+55
+01
+00
+92
+47
+03
+aa
+55
+01
+00
+0d
+4b
+ff
+aa
+55
+01
+00
+11
+4b
+14
+aa
+55
+01
+00
+13
+4b
+05
+6d
+a4
+00
+02
+aa
+55
+66
+0a
+20
+40
+02
+8f
+20
+40
+00
+3f
+20
+40
+00
+4c
+20
+40
+00
+75
+20
+40
+00
+3b
+70
+80
+50
+21
+68
+08
+c6
+e2
+20
+40
+67
+fb
+68
+08
+c6
+e3
+20
+40
+67
+fb
+68
+08
+c6
+e4
+20
+40
+67
+fb
+20
+40
+65
+9c
+58
+00
+02
+00
+60
+01
+47
+20
+d8
+40
+00
+02
+da
+20
+47
+20
+58
+00
+00
+00
+20
+40
+66
+3d
+20
+40
+02
+74
+20
+20
+01
+2c
+da
+20
+00
+00
+20
+40
+00
+27
+20
+40
+00
+1b
+20
+40
+00
+21
+1a
+22
+7e
+00
+20
+60
+00
+00
+68
+08
+c6
+e3
+20
+40
+00
+36
+68
+08
+c6
+e3
+20
+40
+68
+1d
+79
+20
+a2
+01
+20
+60
+00
+00
+68
+08
+c6
+e4
+20
+40
+00
+36
+68
+08
+c6
+e4
+20
+40
+68
+1d
+79
+20
+a2
+02
+20
+60
+00
+00
+68
+08
+c6
+e2
+20
+40
+00
+36
+68
+08
+c6
+e2
+20
+40
+68
+1d
+79
+20
+a2
+00
+20
+60
+00
+00
+79
+3f
+84
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+7c
+20
+40
+68
+30
+79
+3f
+84
+07
+d8
+a0
+80
+70
+20
+20
+68
+30
+79
+20
+04
+07
+d8
+a0
+80
+78
+20
+40
+68
+30
+79
+3f
+84
+07
+20
+20
+00
+31
+70
+41
+75
+8f
+70
+41
+76
+10
+70
+41
+77
+ca
+20
+20
+29
+e9
+d8
+a0
+00
+00
+df
+20
+04
+00
+20
+40
+00
+48
+68
+10
+81
+08
+c4
+01
+00
+00
+d8
+a0
+40
+00
+df
+20
+02
+00
+20
+40
+00
+48
+20
+60
+00
+00
+18
+00
+7e
+00
+e0
+a4
+00
+00
+c2
+00
+00
+49
+20
+60
+00
+00
+58
+8f
+ff
+ff
+60
+01
+c0
+98
+58
+9d
+83
+fe
+79
+3f
+fe
+02
+e0
+a1
+80
+00
+58
+00
+83
+59
+e0
+a1
+00
+00
+58
+00
+11
+77
+60
+01
+c0
+a0
+58
+00
+00
+33
+60
+01
+c0
+a3
+58
+9e
+8b
+33
+60
+01
+c0
+a7
+58
+00
+00
+12
+60
+01
+40
+ad
+58
+00
+10
+00
+60
+01
+40
+af
+58
+00
+02
+00
+60
+01
+40
+b1
+58
+00
+08
+00
+60
+01
+40
+b3
+58
+00
+00
+20
+60
+01
+40
+bb
+58
+00
+00
+20
+60
+01
+40
+b7
+58
+00
+20
+00
+60
+01
+40
+b9
+58
+00
+0a
+04
+60
+01
+c5
+10
+58
+00
+12
+e9
+60
+01
+45
+13
+70
+45
+15
+06
+58
+53
+54
+42
+60
+01
+c5
+16
+58
+34
+49
+50
+60
+01
+c5
+19
+70
+40
+bd
+02
+70
+00
+90
+60
+70
+40
+d0
+05
+70
+40
+93
+03
+20
+60
+00
+00
+70
+80
+42
+06
+70
+89
+07
+00
+70
+89
+08
+00
+70
+89
+09
+00
+70
+89
+0a
+ff
+70
+89
+0b
+ff
+70
+89
+0f
+2e
+70
+89
+12
+47
+70
+89
+4b
+ba
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
+70
+89
+6f
+88
+70
+89
+73
+00
+70
+89
+5a
+4a
+70
+89
+5c
+80
+70
+4a
+f9
+20
+70
+4a
+f7
+01
+70
+89
+30
+a9
+70
+89
+2f
+ad
+70
+89
+2e
+b1
+70
+89
+2d
+b5
+70
+89
+2c
+b9
+70
+89
+2b
+bd
+70
+89
+2a
+c2
+70
+89
+29
+c6
+70
+89
+28
+ca
+70
+89
+27
+ce
+70
+89
+26
+d2
+70
+89
+25
+d6
+70
+89
+24
+da
+70
+89
+23
+de
+70
+89
+22
+e2
+70
+89
+21
+e6
+70
+89
+20
+ea
+70
+89
+1f
+ee
+70
+89
+1e
+f2
+70
+89
+1d
+f6
+70
+89
+1c
+fb
+70
+89
+1b
+fb
+70
+89
+1a
+fb
+70
+89
+47
+f5
+70
+89
+46
+e6
+70
+89
+45
+d7
+70
+89
+44
+d6
+70
+89
+43
+c7
+70
+89
+42
+c6
+70
+89
+41
+87
+70
+89
+40
+86
+70
+89
+3f
+85
+70
+89
+3e
+46
+70
+89
+3d
+07
+70
+89
+3c
+06
+70
+89
+3b
+c7
+70
+89
+3a
+c6
+70
+89
+39
+c5
+70
+89
+38
+c4
+70
+89
+37
+c3
+70
+89
+36
+c2
+70
+89
+35
+c1
+70
+89
+34
+c0
+70
+89
+33
+80
+70
+89
+32
+80
+70
+89
+31
+80
+70
+89
+4a
+7f
+70
+89
+49
+f8
+70
+89
+48
+00
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+3c
+70
+89
+59
+10
+58
+30
+00
+00
+60
+11
+89
+69
+70
+89
+68
+64
+70
+40
+be
+24
+20
+40
+00
+ea
+70
+89
+68
+e4
+79
+20
+2a
+03
+18
+00
+2a
+00
+20
+40
+00
+c9
+20
+40
+00
+db
+20
+60
+00
+00
+70
+89
+06
+02
+58
+26
+25
+a0
+20
+40
+01
+1f
+70
+89
+00
+7f
+20
+00
+00
+82
+70
+89
+01
+10
+70
+89
+52
+30
+20
+00
+00
+c8
+70
+89
+52
+f0
+18
+00
+72
+32
+68
+10
+89
+80
+c2
+82
+80
+d6
+c2
+00
+00
+d3
+60
+00
+c0
+ce
+70
+89
+01
+00
+70
+89
+00
+00
+70
+89
+06
+00
+20
+60
+00
+00
+68
+00
+c0
+ce
+79
+20
+7e
+05
+60
+10
+89
+52
+68
+18
+89
+50
+18
+41
+04
+07
+1f
+e9
+fe
+00
+98
+41
+fe
+00
+60
+10
+89
+50
+68
+10
+89
+51
+79
+3f
+fe
+00
+60
+10
+89
+51
+68
+10
+89
+52
+79
+3f
+fe
+05
+60
+10
+89
+52
+20
+60
+00
+00
+68
+10
+89
+6b
+79
+3f
+fe
+04
+79
+3f
+fe
+05
+60
+10
+89
+6b
+70
+89
+05
+00
+70
+89
+04
+70
+70
+89
+05
+ff
+68
+10
+89
+6b
+79
+20
+7e
+04
+79
+20
+7e
+05
+60
+10
+89
+6b
+20
+40
+00
+fc
+70
+80
+42
+05
+20
+60
+00
+00
+70
+80
+42
+08
+70
+89
+05
+00
+70
+89
+04
+70
+20
+60
+00
+00
+68
+19
+81
+38
+58
+10
+0f
+0f
+98
+46
+7c
+00
+20
+62
+80
+00
+60
+11
+80
+4c
+70
+80
+4f
+ca
+20
+40
+01
+05
+70
+80
+74
+00
+20
+60
+00
+00
+58
+00
+00
+01
+37
+d9
+82
+00
+60
+10
+80
+05
+37
+d9
+82
+00
+37
+d9
+82
+00
+20
+60
+00
+00
+20
+00
+00
+64
+70
+89
+55
+d8
+20
+00
+00
+28
+70
+89
+55
+d2
+20
+00
+00
+28
+70
+89
+55
+d1
+20
+00
+00
+28
+70
+89
+55
+d0
+70
+89
+56
+e0
+18
+00
+2a
+00
+78
+50
+fc
+00
+78
+50
+7c
+00
+78
+2f
+7c
+00
+70
+89
+06
+00
+70
+89
+03
+00
+70
+89
+04
+70
+70
+89
+02
+00
+70
+89
+01
+00
+70
+89
+00
+00
+20
+60
+00
+00
+1f
+e3
+7e
+00
+1f
+e0
+ff
+fd
+1f
+e0
+ff
+ff
+24
+22
+81
+21
+18
+00
+7e
+00
+20
+60
+00
+00
+70
+89
+04
+77
+70
+89
+03
+03
+20
+00
+00
+0a
+70
+89
+03
+83
+70
+89
+04
+7f
+70
+89
+03
+a7
+20
+60
+00
+00
+70
+4a
+f8
+01
+70
+4a
+fa
+01
+70
+4a
+f7
+4f
+68
+02
+4a
+f7
+60
+02
+4a
+fb
+68
+08
+ca
+fb
+18
+40
+85
+ff
+68
+00
+ca
+fe
+c0
+00
+01
+41
+20
+40
+01
+25
+20
+40
+02
+42
+78
+43
+fc
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+68
+08
+ca
+fc
+18
+42
+2a
+00
+68
+10
+89
+08
+28
+4f
+fe
+03
+79
+20
+fe
+05
+60
+10
+89
+08
+20
+20
+01
+a1
+20
+40
+01
+25
+20
+40
+02
+42
+20
+40
+02
+93
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+20
+40
+54
+7f
+68
+10
+89
+08
+28
+4f
+fe
+03
+79
+20
+fe
+05
+60
+10
+89
+08
+d8
+a0
+11
+9e
+58
+cc
+cc
+cc
+60
+01
+91
+9e
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+df
+20
+00
+18
+d8
+c0
+11
+9e
+20
+20
+01
+5a
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+01
+5a
+20
+40
+01
+78
+58
+00
+2e
+e0
+20
+40
+2a
+8f
+20
+40
+01
+ad
+68
+02
+4a
+fb
+68
+0a
+4a
+f7
+98
+46
+7c
+00
+24
+42
+81
+66
+20
+20
+01
+2f
+58
+12
+4f
+80
+20
+40
+2a
+8f
+58
+12
+4f
+80
+20
+40
+2a
+8f
+58
+12
+4f
+80
+20
+40
+2a
+8f
+20
+20
+00
+15
+20
+40
+01
+25
+20
+40
+02
+42
+20
+40
+02
+93
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+20
+40
+54
+7f
+68
+00
+ca
+fd
+60
+10
+89
+08
+20
+20
+01
+c2
+20
+20
+01
+0b
+68
+08
+ca
+fb
+18
+40
+85
+ff
+68
+00
+ca
+ff
+2f
+e0
+02
+01
+20
+40
+81
+92
+24
+40
+81
+85
+20
+40
+4c
+2e
+68
+03
+ca
+fb
+68
+0b
+ca
+f7
+98
+46
+7c
+00
+20
+22
+81
+7f
+20
+20
+01
+2c
+20
+40
+01
+78
+20
+40
+02
+96
+58
+00
+05
+00
+20
+40
+2a
+8f
+20
+20
+29
+24
+78
+4e
+fc
+00
+78
+4e
+7c
+00
+78
+46
+fc
+00
+78
+46
+7c
+00
+78
+44
+fc
+00
+78
+47
+7c
+00
+78
+43
+fc
+00
+20
+20
+01
+0b
+20
+40
+01
+78
+20
+40
+02
+96
+68
+08
+ca
+fc
+18
+41
+2a
+07
+20
+20
+29
+eb
+20
+40
+01
+25
+20
+40
+02
+42
+78
+43
+fc
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+68
+08
+ca
+fc
+18
+42
+2a
+00
+68
+00
+ca
+fd
+60
+10
+89
+08
+c0
+00
+01
+c0
+df
+20
+00
+1e
+d8
+c0
+4c
+07
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+01
+a3
+20
+40
+01
+ad
+68
+02
+4a
+fb
+68
+0a
+4a
+f7
+98
+46
+7c
+00
+20
+22
+81
+a1
+20
+40
+01
+66
+20
+20
+01
+2f
+20
+40
+00
+15
+c0
+02
+01
+ba
+c0
+00
+81
+b1
+20
+60
+00
+00
+68
+00
+ca
+f7
+c0
+27
+81
+b6
+c0
+17
+01
+b8
+70
+4a
+f7
+4f
+20
+60
+00
+00
+70
+4a
+f7
+2e
+20
+60
+00
+00
+70
+4a
+f7
+02
+20
+60
+00
+00
+68
+00
+ca
+fe
+c0
+00
+01
+be
+70
+4a
+fa
+00
+20
+60
+00
+00
+70
+4a
+fa
+01
+20
+60
+00
+00
+68
+00
+cb
+00
+c0
+00
+82
+08
+68
+00
+ca
+fc
+c0
+00
+81
+c7
+c0
+01
+81
+d4
+c0
+03
+81
+e1
+20
+60
+00
+00
+68
+00
+cb
+01
+c0
+0c
+81
+cb
+c0
+3c
+01
+ce
+c0
+78
+01
+d1
+df
+20
+00
+37
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+00
+cd
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+01
+63
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+68
+00
+cb
+01
+c0
+0c
+81
+d8
+c0
+3c
+01
+db
+c0
+78
+01
+de
+df
+20
+00
+69
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+01
+95
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+02
+c1
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+68
+00
+cb
+01
+c0
+0c
+81
+e5
+c0
+3c
+01
+e8
+c0
+78
+01
+eb
+df
+20
+00
+78
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+02
+4e
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+df
+20
+03
+e8
+d8
+c0
+4c
+07
+20
+20
+01
+5a
+68
+00
+cb
+01
+c0
+0c
+81
+f2
+c0
+3c
+01
+f5
+c0
+78
+01
+f8
+df
+20
+00
+69
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+01
+95
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+02
+c1
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+68
+00
+cb
+01
+c0
+0c
+81
+ff
+c0
+3c
+02
+02
+c0
+78
+02
+05
+df
+20
+00
+78
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+02
+4e
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+03
+e8
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+68
+00
+ca
+fc
+c0
+00
+82
+0d
+c0
+01
+81
+ee
+c0
+03
+81
+fb
+20
+60
+00
+00
+68
+00
+cb
+01
+c0
+0c
+82
+11
+c0
+3c
+02
+14
+c0
+78
+02
+17
+df
+20
+00
+37
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+00
+cd
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+df
+20
+01
+63
+d8
+c0
+4c
+07
+20
+20
+02
+1a
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+02
+1a
+20
+20
+02
+25
+20
+40
+4c
+2e
+68
+03
+ca
+fb
+68
+0b
+ca
+f7
+98
+46
+7c
+00
+20
+22
+81
+c2
+20
+40
+01
+78
+20
+20
+01
+2c
+20
+40
+01
+78
+20
+40
+7f
+16
+d8
+e0
+00
+0f
+58
+00
+00
+0c
+20
+40
+7f
+08
+d8
+e0
+00
+0f
+20
+40
+7f
+16
+20
+3a
+02
+33
+20
+40
+4c
+2e
+68
+03
+ca
+fb
+68
+0b
+ca
+f7
+98
+46
+7c
+00
+20
+22
+82
+2a
+20
+20
+01
+2c
+18
+0a
+7e
+00
+60
+00
+cc
+06
+68
+00
+cc
+06
+1f
+e6
+7c
+50
+20
+21
+02
+3b
+1f
+e0
+ff
+b0
+60
+00
+cc
+06
+20
+20
+02
+35
+68
+00
+cc
+06
+c0
+00
+02
+40
+c0
+00
+82
+40
+60
+00
+ca
+f7
+20
+20
+01
+2c
+70
+4a
+f7
+02
+20
+20
+01
+2c
+60
+08
+80
+17
+18
+40
+a2
+01
+20
+40
+02
+5c
+58
+00
+05
+00
+20
+40
+01
+1f
+70
+89
+06
+01
+70
+89
+00
+3c
+70
+89
+01
+e0
+70
+89
+6d
+12
+20
+00
+00
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
+20
+00
+00
+0a
+70
+89
+03
+b7
+20
+00
+00
+0a
+70
+89
+02
+7d
+70
+89
+56
+ff
+20
+00
+00
+04
+70
+89
+55
+d1
+20
+00
+00
+04
+70
+89
+55
+d2
+20
+00
+00
+04
+70
+89
+55
+d8
+20
+00
+00
+04
+70
+89
+55
+df
+20
+60
+00
+00
+58
+00
+09
+60
+9a
+20
+84
+00
+68
+00
+c0
+bd
+70
+89
+5f
+04
+98
+4f
+fe
+00
+68
+08
+c0
+be
+98
+46
+fc
+00
+20
+40
+02
+72
+18
+07
+a2
+00
+18
+07
+7e
+00
+1f
+f0
+7e
+00
+1f
+f2
+7e
+00
+98
+46
+fc
+00
+20
+40
+02
+72
+18
+07
+fe
+00
+1f
+ed
+7e
+00
+1f
+e3
+fe
+00
+9a
+21
+fe
+00
+60
+12
+09
+60
+70
+89
+5f
+44
+70
+89
+5f
+c4
+20
+60
+00
+00
+20
+7a
+80
+00
+20
+20
+02
+72
+df
+20
+00
+ff
+d8
+a0
+4c
+07
+58
+00
+01
+ff
+18
+00
+24
+00
+1f
+e9
+22
+00
+1a
+23
+22
+00
+9a
+22
+a2
+00
+2a
+2f
+fe
+00
+79
+20
+fe
+09
+18
+43
+04
+00
+2f
+ef
+fe
+00
+79
+20
+84
+07
+1f
+e3
+7e
+00
+1a
+40
+a4
+01
+2a
+40
+0e
+00
+24
+20
+82
+78
+e0
+a8
+80
+00
+c2
+00
+02
+78
+20
+60
+00
+00
+68
+12
+00
+78
+68
+1a
+00
+7c
+98
+41
+fe
+00
+1f
+e4
+7e
+00
+68
+1a
+00
+70
+98
+41
+fe
+00
+60
+12
+00
+70
+20
+60
+00
+00
+70
+82
+80
+05
+20
+60
+00
+00
+20
+20
+02
+91
+20
+20
+02
+92
+78
+3b
+7c
+00
+70
+89
+14
+07
+20
+60
+00
+00
+60
+08
+80
+17
+18
+40
+a2
+04
+20
+20
+02
+5c
+e0
+92
+aa
+55
+01
+00
+9a
+46
+02
+aa
+55
+06
+00
+a0
+44
+72
+32
+00
+98
+07
+2a
+aa
+55
+0d
+00
+af
+43
+0c
+53
+68
+75
+74
+74
+65
+72
+20
+54
+65
+73
+74
+aa
+55
+06
+00
+a0
+40
+21
+00
+24
+00
+20
+00
+aa
+55
+0c
+00
+15
+45
+0b
+5a
+52
+50
+20
+53
+68
+75
+74
+74
+65
+72
+aa
+55
+02
+00
+ae
+46
+30
+00
+aa
+55
+02
+00
+a4
+46
+00
+00
+aa
+55
+04
+00
+9b
+46
+00
+fb
+05
+20
+aa
+55
+02
+00
+a2
+46
+00
+00
+aa
+55
+02
+00
+f1
+46
+01
+00
+aa
+55
+02
+00
+19
+47
+06
+00
+aa
+55
+02
+00
+f6
+46
+02
+00
+aa
+55
+02
+00
+1e
+47
+06
+00
+aa
+55
+02
+00
+fb
+46
+07
+00
+aa
+55
+02
+00
+23
+47
+08
+00
+aa
+55
+01
+00
+86
+46
+ff
+aa
+55
+02
+00
+dd
+46
+00
+08
+aa
+55
+02
+00
+3f
+42
+df
+46
+aa
+55
+03
+00
+df
+46
+00
+14
+20
+aa
+55
+01
+00
+91
+40
+01
+aa
+55
+03
+00
+54
+41
+00
+01
+08
+aa
+55
+02
+00
+72
+41
+05
+02
+aa
+55
+03
+00
+9f
+46
+09
+0a
+0b
+aa
+55
+04
+00
+e3
+41
+30
+00
+01
+00
+aa
+55
+01
+00
+5a
+45
+0a
+aa
+55
+08
+00
+b9
+46
+96
+00
+96
+00
+96
+02
+96
+02
+aa
+55
+08
+00
+c9
+46
+10
+00
+20
+00
+02
+00
+2c
+01
+aa
+55
+03
+00
+1a
+42
+01
+c9
+48
+aa
+55
+16
+00
+c9
+48
+00
+00
+01
+a0
+01
+a0
+01
+00
+00
+00
+00
+01
+07
+01
+a0
+03
+a0
+03
+00
+00
+00
+00
+aa
+55
+04
+00
+b1
+46
+10
+00
+40
+01
+aa
+55
+02
+00
+82
+44
+40
+01
+aa
+55
+02
+00
+b5
+46
+50
+00
+aa
+55
+01
+00
+92
+40
+09
+aa
+55
+01
+00
+8d
+44
+07
+aa
+55
+01
+00
+6e
+43
+00
+aa
+55
+08
+00
+d1
+46
+00
+ff
+00
+ff
+00
+ff
+00
+ff
+aa
+55
+02
+00
+18
+42
+fa
+47
+aa
+55
+02
+00
+fa
+47
+01
+20
+aa
+55
+0c
+00
+6f
+43
+1f
+02
+01
+05
+03
+02
+12
+18
+03
+19
+c1
+03
+aa
+55
+20
+00
+8f
+43
+1f
+0d
+09
+56
+30
+2d
+53
+68
+75
+74
+74
+65
+72
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+02
+00
+3d
+42
+e6
+46
+aa
+55
+01
+00
+e6
+46
+01
+aa
+55
+03
+00
+e9
+46
+08
+0c
+0d
+aa
+55
+01
+00
+07
+42
+17
+aa
+55
+03
+00
+15
+42
+1f
+48
+05
+aa
+55
+02
+00
+aa
+40
+40
+25
+aa
+55
+03
+00
+5b
+46
+03
+00
+04
+aa
+55
+01
+00
+62
+46
+03
+aa
+55
+01
+00
+5a
+46
+01
+aa
+55
+01
+00
+84
+46
+01
+aa
+55
+01
+00
+5a
+41
+00
+aa
+55
+08
+00
+98
+40
+ff
+ff
+8f
+f8
+9b
+9d
+59
+83
+aa
+55
+03
+00
+e2
+46
+03
+07
+02
+aa
+55
+02
+00
+bc
+44
+3a
+91
+aa
+55
+01
+00
+d1
+40
+01
+aa
+55
+0e
+00
+77
+45
+06
+03
+11
+00
+00
+01
+02
+10
+24
+11
+00
+12
+01
+00
+aa
+55
+01
+00
+8d
+45
+00
+aa
+55
+02
+00
+75
+45
+b8
+92
+aa
+55
+01
+00
+00
+40
+01
+aa
+55
+03
+00
+75
+41
+8f
+10
+ca
+aa
+55
+04
+00
+79
+41
+0a
+0b
+ef
+07
+aa
+55
+01
+00
+57
+41
+00
+aa
+55
+08
+00
+a1
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+02
+00
+bd
+40
+02
+24
+aa
+55
+08
+00
+ad
+40
+24
+00
+00
+02
+24
+00
+00
+02
+aa
+55
+02
+00
+bb
+40
+20
+00
+aa
+55
+04
+00
+b7
+40
+20
+00
+00
+20
+aa
+55
+04
+00
+bf
+40
+80
+04
+00
+08
+aa
+55
+05
+00
+78
+41
+00
+0a
+1b
+ef
+07
+aa
+55
+05
+00
+10
+45
+08
+0e
+05
+04
+00
+aa
+55
+02
+00
+03
+42
+30
+1f
+aa
+55
+01
+00
+11
+42
+20
+aa
+55
+01
+00
+df
+41
+01
+aa
+55
+01
+00
+e1
+41
+ff
+aa
+55
+02
+00
+c3
+40
+e1
+41
+37
+f9
+00
+5c
+d6
